coreutils-8.21/0000775000000000000000000000000012107207542010426 500000000000000coreutils-8.21/.version0000664000000000000000000000000512107204443012024 000000000000008.21 coreutils-8.21/.vg-suppressions0000664000000000000000000000367512102337340013544 00000000000000# Suppress valgrind diagnostics we don't care about. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . { libc_dl_open Memcheck:Cond fun:_dl_relocate_object obj:/lib/libc-2.3.2.so fun:_dl_catch_error fun:_dl_open } { libc_dl_catch_error__map_object Memcheck:Addr1 obj:/lib/ld-2.3.2.so fun:_dl_map_object obj:/lib/libc-2.3.2.so fun:_dl_catch_error } { libc_dl_catch_error__map_versions Memcheck:Addr1 obj:/lib/ld-2.3.2.so fun:_dl_check_map_versions obj:/lib/libc-2.3.2.so fun:_dl_catch_error } { jm_libc_sigaction Memcheck:Param sigaction(act) fun:__libc_sigaction } { libc_expand_dynamic_string_token Memcheck:Cond fun:strlen fun:expand_dynamic_string_token obj:* obj:* obj:* obj:* obj:* } { libc__dl_new_object Memcheck:Cond fun:strlen fun:_dl_new_object obj:* obj:* obj:* obj:* } { libc_fillin_rpath Memcheck:Cond fun:strlen fun:fillin_rpath } { libc-getpwuid-leak Memcheck:Leak fun:malloc fun:nss_parse_service_list fun:__nss_database_lookup obj:* obj:* fun:getpwuid_r@@GLIBC_2.2.5 fun:getpwuid fun:getuser fun:format_user_width fun:gobble_file fun:main } { utimensat-NULL Memcheck:Param utimensat(filename) fun:futimens fun:gl_futimens fun:main } coreutils-8.21/COPYING0000664000000000000000000010451311624727241011413 00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . coreutils-8.21/bootstrap0000775000000000000000000007215512104210571012314 00000000000000#! /bin/sh # Print a version string. scriptversion=2013-01-20.16; # UTC # Bootstrap this package from checked-out sources. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Originally written by Paul Eggert. The canonical version of this # script is maintained as build-aux/bootstrap in gnulib, however, to # be useful to your project, you should place a copy of it under # version control in the top-level directory of your project. The # intent is that all customization can be done with a bootstrap.conf # file also maintained in your version control; gnulib comes with a # template build-aux/bootstrap.conf to get you started. # Please report bugs or propose patches to bug-gnulib@gnu.org. nl=' ' # Ensure file names are sorted consistently across platforms. LC_ALL=C export LC_ALL # Ensure that CDPATH is not set. Otherwise, the output from cd # would cause trouble in at least one use below. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH local_gl_dir=gl me=$0 usage() { cat <&2 } # warn_ WORD1... warn_ () { # If IFS does not start with ' ', set it and emit the warning in a subshell. case $IFS in ' '*) warnf_ '%s\n' "$*";; *) (IFS=' '; warn_ "$@");; esac } # die WORD1... die() { warn_ "$@"; exit 1; } # Configuration. # Name of the Makefile.am gnulib_mk=gnulib.mk # List of gnulib modules needed. gnulib_modules= # Any gnulib files needed that are not in modules. gnulib_files= : ${AUTOPOINT=autopoint} : ${AUTORECONF=autoreconf} # A function to be called right after gnulib-tool is run. # Override it via your own definition in bootstrap.conf. bootstrap_post_import_hook() { :; } # A function to be called after everything else in this script. # Override it via your own definition in bootstrap.conf. bootstrap_epilogue() { :; } # The command to download all .po files for a specified domain into # a specified directory. Fill in the first %s is the domain name, and # the second with the destination directory. Use rsync's -L and -r # options because the latest/%s directory and the .po files within are # all symlinks. po_download_command_format=\ "rsync --delete --exclude '*.s1' -Lrtvz \ 'translationproject.org::tp/latest/%s/' '%s'" # Fallback for downloading .po files (if rsync fails). po_download_command_format2=\ "wget --mirror -nd -q -np -A.po -P '%s' \ http://translationproject.org/latest/%s/" extract_package_name=' /^AC_INIT(/{ /.*,.*,.*, */{ s/// s/[][]//g s/)$// p q } s/AC_INIT(\[*// s/]*,.*// s/^GNU // y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ s/[^A-Za-z0-9_]/-/g p } ' package=$(sed -n "$extract_package_name" configure.ac) \ || die 'cannot find package name in configure.ac' gnulib_name=lib$package build_aux=build-aux source_base=lib m4_base=m4 doc_base=doc tests_base=tests gnulib_extra_files='' # Additional gnulib-tool options to use. Use "\newline" to break lines. gnulib_tool_option_extras= # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES= # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS='\\\ --flag=_:1:pass-c-format\\\ --flag=N_:1:pass-c-format\\\ --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ ' # Package bug report address and copyright holder for gettext files COPYRIGHT_HOLDER='Free Software Foundation, Inc.' MSGID_BUGS_ADDRESS=bug-$package@gnu.org # Files we don't want to import. excluded_files= # File that should exist in the top directory of a checked out hierarchy, # but not in a distribution tarball. checkout_only_file=README-hacking # Whether to use copies instead of symlinks. copy=false # Set this to '.cvsignore .gitignore' in bootstrap.conf if you want # those files to be generated in directories like lib/, m4/, and po/. # Or set it to 'auto' to make this script select which to use based # on which version control system (if any) is used in the source directory. vc_ignore=auto # Set this to true in bootstrap.conf to enable --bootstrap-sync by # default. bootstrap_sync=false # Use git to update gnulib sources use_git=true # find_tool ENVVAR NAMES... # ------------------------- # Search for a required program. Use the value of ENVVAR, if set, # otherwise find the first of the NAMES that can be run (i.e., # supports --version). If found, set ENVVAR to the program name, # die otherwise. # # FIXME: code duplication, see also gnu-web-doc-update. find_tool () { find_tool_envvar=$1 shift find_tool_names=$@ eval "find_tool_res=\$$find_tool_envvar" if test x"$find_tool_res" = x; then for i do if ($i --version /dev/null 2>&1; then find_tool_res=$i break fi done else find_tool_error_prefix="\$$find_tool_envvar: " fi test x"$find_tool_res" != x \ || die "one of these is required: $find_tool_names" ($find_tool_res --version /dev/null 2>&1 \ || die "${find_tool_error_prefix}cannot run $find_tool_res --version" eval "$find_tool_envvar=\$find_tool_res" eval "export $find_tool_envvar" } # Find sha1sum, named gsha1sum on MacPorts, and shasum on Mac OS X 10.6. find_tool SHA1SUM sha1sum gsha1sum shasum # Override the default configuration, if necessary. # Make sure that bootstrap.conf is sourced from the current directory # if we were invoked as "sh bootstrap". case "$0" in */*) test -r "$0.conf" && . "$0.conf" ;; *) test -r "$0.conf" && . ./"$0.conf" ;; esac # Extra files from gnulib, which override files from other sources. test -z "${gnulib_extra_files}" && \ gnulib_extra_files=" $build_aux/install-sh $build_aux/mdate-sh $build_aux/texinfo.tex $build_aux/depcomp $build_aux/config.guess $build_aux/config.sub doc/INSTALL " if test "$vc_ignore" = auto; then vc_ignore= test -d .git && vc_ignore=.gitignore test -d CVS && vc_ignore="$vc_ignore .cvsignore" fi # Translate configuration into internal form. # Parse options. for option do case $option in --help) usage exit;; --gnulib-srcdir=*) GNULIB_SRCDIR=${option#--gnulib-srcdir=};; --skip-po) SKIP_PO=t;; --force) checkout_only_file=;; --copy) copy=true;; --bootstrap-sync) bootstrap_sync=true;; --no-bootstrap-sync) bootstrap_sync=false;; --no-git) use_git=false;; *) die "$option: unknown option";; esac done $use_git || test -d "$GNULIB_SRCDIR" \ || die "Error: --no-git requires --gnulib-srcdir" if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then die "Bootstrapping from a non-checked-out distribution is risky." fi # Strip blank and comment lines to leave significant entries. gitignore_entries() { sed '/^#/d; /^$/d' "$@" } # If $STR is not already on a line by itself in $FILE, insert it at the start. # Entries are inserted at the start of the ignore list to ensure existing # entries starting with ! are not overridden. Such entries support # whitelisting exceptions after a more generic blacklist pattern. insert_if_absent() { file=$1 str=$2 test -f $file || touch $file test -r $file || die "Error: failed to read ignore file: $file" duplicate_entries=$(gitignore_entries $file | sort | uniq -d) if [ "$duplicate_entries" ] ; then die "Error: Duplicate entries in $file: " $duplicate_entries fi linesold=$(gitignore_entries $file | wc -l) linesnew=$(echo "$str" | gitignore_entries - $file | sort -u | wc -l) if [ $linesold != $linesnew ] ; then { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \ || die "insert_if_absent $file $str: failed" fi } # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with # insert_if_absent. insert_vc_ignore() { vc_ignore_file="$1" pattern="$2" case $vc_ignore_file in *.gitignore) # A .gitignore entry that does not start with '/' applies # recursively to subdirectories, so prepend '/' to every # .gitignore entry. pattern=$(echo "$pattern" | sed s,^,/,);; esac insert_if_absent "$vc_ignore_file" "$pattern" } # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. found_aux_dir=no grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ >/dev/null && found_aux_dir=yes grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ >/dev/null && found_aux_dir=yes test $found_aux_dir = yes \ || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it" # If $build_aux doesn't exist, create it now, otherwise some bits # below will malfunction. If creating it, also mark it as ignored. if test ! -d $build_aux; then mkdir $build_aux for dot_ig in x $vc_ignore; do test $dot_ig = x && continue insert_vc_ignore $dot_ig $build_aux done fi # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. sort_ver() { # sort -V is not generally available ver1="$1" ver2="$2" # split on '.' and compare each component i=1 while : ; do p1=$(echo "$ver1" | cut -d. -f$i) p2=$(echo "$ver2" | cut -d. -f$i) if [ ! "$p1" ]; then echo "$1 $2" break elif [ ! "$p2" ]; then echo "$2 $1" break elif [ ! "$p1" = "$p2" ]; then if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison echo "$2 $1" elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison echo "$1 $2" else # numeric, then lexicographic comparison lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) if [ "$lp" = "$p2" ]; then echo "$1 $2" else echo "$2 $1" fi fi break fi i=$(($i+1)) done } get_version() { app=$1 $app --version >/dev/null 2>&1 || return 1 $app --version 2>&1 | sed -n '# Move version to start of line. s/.*[v ]\([0-9]\)/\1/ # Skip lines that do not start with version. /^[0-9]/!d # Remove characters after the version. s/[^.a-z0-9-].*// # The first component must be digits only. s/^\([0-9]*\)[a-z-].*/\1/ #the following essentially does s/5.005/5.5/ s/\.0*\([1-9]\)/.\1/g p q' } check_versions() { ret=0 while read app req_ver; do # We only need libtoolize from the libtool package. if test "$app" = libtool; then app=libtoolize fi # Exempt git if --no-git is in effect. if test "$app" = git; then $use_git || continue fi # Honor $APP variables ($TAR, $AUTOCONF, etc.) appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_') test "$appvar" = TAR && appvar=AMTAR case $appvar in GZIP) ;; # Do not use $GZIP: it contains gzip options. *) eval "app=\${$appvar-$app}" ;; esac # Handle the still-experimental Automake-NG programs specially. # They remain named as the mainstream Automake programs ("automake", # and "aclocal") to avoid gratuitous incompatibilities with # pre-existing usages (by, say, autoreconf, or custom autogen.sh # scripts), but correctly identify themselves (as being part of # "GNU automake-ng") when asked their version. case $app in automake-ng|aclocal-ng) app=${app%-ng} ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || { warn_ "Error: '$app' not found or not from Automake-NG" ret=1 continue } ;; esac if [ "$req_ver" = "-" ]; then # Merely require app to exist; not all prereq apps are well-behaved # so we have to rely on $? rather than get_version. $app --version >/dev/null 2>&1 if [ 126 -le $? ]; then warn_ "Error: '$app' not found" ret=1 fi else # Require app to produce a new enough version string. inst_ver=$(get_version $app) if [ ! "$inst_ver" ]; then warn_ "Error: '$app' not found" ret=1 else latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) if [ ! "$latest_ver" = "$inst_ver" ]; then warnf_ '%s\n' \ "Error: '$app' version == $inst_ver is too old" \ " '$app' version >= $req_ver is required" ret=1 fi fi fi done return $ret } print_versions() { echo "Program Min_version" echo "----------------------" printf %s "$buildreq" echo "----------------------" # can't depend on column -t } use_libtool=0 # We'd like to use grep -E, to see if any of LT_INIT, # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, # but that's not portable enough (e.g., for Solaris). grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \ && use_libtool=1 grep '^[ ]*LT_INIT' configure.ac >/dev/null \ && use_libtool=1 if test $use_libtool = 1; then find_tool LIBTOOLIZE glibtoolize libtoolize fi # gnulib-tool requires at least automake and autoconf. # If either is not listed, add it (with minimum version) as a prerequisite. case $buildreq in *automake*) ;; *) buildreq="automake 1.9 $buildreq" ;; esac case $buildreq in *autoconf*) ;; *) buildreq="autoconf 2.59 $buildreq" ;; esac # When we can deduce that gnulib-tool will require patch, # and when patch is not already listed as a prerequisite, add it, too. if test -d "$local_gl_dir" \ && ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then case $buildreq in *patch*) ;; *) buildreq="patch - $buildreq" ;; esac fi if ! printf "$buildreq" | check_versions; then echo >&2 if test -f README-prereq; then die "See README-prereq for how to get the prerequisite programs" else die "Please install the prerequisite programs" fi fi echo "$0: Bootstrapping from checked-out $package sources..." # See if we can use gnulib's git-merge-changelog merge driver. if test -d .git && (git --version) >/dev/null 2>/dev/null ; then if git config merge.merge-changelog.driver >/dev/null ; then : elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then echo "$0: initializing git-merge-changelog driver" git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' else echo "$0: consider installing git-merge-changelog from gnulib" fi fi cleanup_gnulib() { status=$? rm -fr "$gnulib_path" exit $status } git_modules_config () { test -f .gitmodules && git config --file .gitmodules "$@" } gnulib_path=$(git_modules_config submodule.gnulib.path) test -z "$gnulib_path" && gnulib_path=gnulib # Get gnulib files. case ${GNULIB_SRCDIR--} in -) if git_modules_config submodule.gnulib.url >/dev/null; then echo "$0: getting gnulib files..." git submodule init || exit $? git submodule update || exit $? elif [ ! -d "$gnulib_path" ]; then echo "$0: getting gnulib files..." trap cleanup_gnulib 1 2 13 15 shallow= git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || cleanup_gnulib trap - 1 2 13 15 fi GNULIB_SRCDIR=$gnulib_path ;; *) # Use GNULIB_SRCDIR as a reference. if test -d "$GNULIB_SRCDIR"/.git && \ git_modules_config submodule.gnulib.url >/dev/null; then echo "$0: getting gnulib files..." if git submodule -h|grep -- --reference > /dev/null; then # Prefer the one-liner available in git 1.6.4 or newer. git submodule update --init --reference "$GNULIB_SRCDIR" \ "$gnulib_path" || exit $? else # This fallback allows at least git 1.5.5. if test -f "$gnulib_path"/gnulib-tool; then # Since file already exists, assume submodule init already complete. git submodule update || exit $? else # Older git can't clone into an empty directory. rmdir "$gnulib_path" 2>/dev/null git clone --reference "$GNULIB_SRCDIR" \ "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ && git submodule init && git submodule update \ || exit $? fi fi GNULIB_SRCDIR=$gnulib_path fi ;; esac if $bootstrap_sync; then cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { echo "$0: updating bootstrap and restarting..." exec sh -c \ 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ -- "$GNULIB_SRCDIR/build-aux/bootstrap" \ "$0" "$@" --no-bootstrap-sync } fi gnulib_tool=$GNULIB_SRCDIR/gnulib-tool <$gnulib_tool || exit $? # Get translations. download_po_files() { subdir=$1 domain=$2 echo "$me: getting translations into $subdir for $domain..." cmd=$(printf "$po_download_command_format" "$domain" "$subdir") eval "$cmd" && return # Fallback to HTTP. cmd=$(printf "$po_download_command_format2" "$subdir" "$domain") eval "$cmd" } # Mirror .po files to $po_dir/.reference and copy only the new # or modified ones into $po_dir. Also update $po_dir/LINGUAS. # Note po files that exist locally only are left in $po_dir but will # not be included in LINGUAS and hence will not be distributed. update_po_files() { # Directory containing primary .po files. # Overwrite them only when we're sure a .po file is new. po_dir=$1 domain=$2 # Mirror *.po files into this dir. # Usually contains *.s1 checksum files. ref_po_dir="$po_dir/.reference" test -d $ref_po_dir || mkdir $ref_po_dir || return download_po_files $ref_po_dir $domain \ && ls "$ref_po_dir"/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g') test "$langs" = '*' && langs=x for po in $langs; do case $po in x) continue;; esac new_po="$ref_po_dir/$po.po" cksum_file="$ref_po_dir/$po.s1" if ! test -f "$cksum_file" || ! test -f "$po_dir/$po.po" || ! $SHA1SUM -c --status "$cksum_file" \ < "$new_po" > /dev/null; then echo "$me: updated $po_dir/$po.po..." cp "$new_po" "$po_dir/$po.po" \ && $SHA1SUM < "$new_po" > "$cksum_file" fi done } case $SKIP_PO in '') if test -d po; then update_po_files po $package || exit fi if test -d runtime-po; then update_po_files runtime-po $package-runtime || exit fi;; esac symlink_to_dir() { src=$1/$2 dst=${3-$2} test -f "$src" && { # If the destination directory doesn't exist, create it. # This is required at least for "lib/uniwidth/cjk.h". dst_dir=$(dirname "$dst") if ! test -d "$dst_dir"; then mkdir -p "$dst_dir" # If we've just created a directory like lib/uniwidth, # tell version control system(s) it's ignorable. # FIXME: for now, this does only one level parent=$(dirname "$dst_dir") for dot_ig in x $vc_ignore; do test $dot_ig = x && continue ig=$parent/$dot_ig insert_vc_ignore $ig "${dst_dir##*/}" done fi if $copy; then { test ! -h "$dst" || { echo "$me: rm -f $dst" && rm -f "$dst" } } && test -f "$dst" && cmp -s "$src" "$dst" || { echo "$me: cp -fp $src $dst" && cp -fp "$src" "$dst" } else # Leave any existing symlink alone, if it already points to the source, # so that broken build tools that care about symlink times # aren't confused into doing unnecessary builds. Conversely, if the # existing symlink's time stamp is older than the source, make it afresh, # so that broken tools aren't confused into skipping needed builds. See # . test -h "$dst" && src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 && dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 && test "$src_i" = "$dst_i" && both_ls=$(ls -dt "$src" "$dst") && test "X$both_ls" = "X$dst$nl$src" || { dot_dots= case $src in /*) ;; *) case /$dst/ in *//* | */../* | */./* | /*/*/*/*/*/) die "invalid symlink calculation: $src -> $dst";; /*/*/*/*/) dot_dots=../../../;; /*/*/*/) dot_dots=../../;; /*/*/) dot_dots=../;; esac;; esac echo "$me: ln -fs $dot_dots$src $dst" && ln -fs "$dot_dots$src" "$dst" } fi } } version_controlled_file() { parent=$1 file=$2 if test -d .git; then git rm -n "$file" > /dev/null 2>&1 elif test -d .svn; then svn log -r HEAD "$file" > /dev/null 2>&1 elif test -d CVS; then grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null | grep '^/[^/]*/[0-9]' > /dev/null else warn_ "no version control for $file?" false fi } # NOTE: we have to be careful to run both autopoint and libtoolize # before gnulib-tool, since gnulib-tool is likely to provide newer # versions of files "installed" by these two programs. # Then, *after* gnulib-tool (see below), we have to be careful to # run autoreconf in such a way that it does not run either of these # two just-pre-run programs. # Import from gettext. with_gettext=yes grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ with_gettext=no if test $with_gettext = yes || test $use_libtool = 1; then tempbase=.bootstrap$$ trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15 > $tempbase.0 > $tempbase.1 && find . ! -type d -print | sort > $tempbase.0 || exit if test $with_gettext = yes; then # Released autopoint has the tendency to install macros that have been # obsoleted in current gnulib, so run this before gnulib-tool. echo "$0: $AUTOPOINT --force" $AUTOPOINT --force || exit fi # Autoreconf runs aclocal before libtoolize, which causes spurious # warnings if the initial aclocal is confused by the libtoolized # (or worse out-of-date) macro directory. # libtoolize 1.9b added the --install option; but we support back # to libtoolize 1.5.22, where the install action was default. if test $use_libtool = 1; then install= case $($LIBTOOLIZE --help) in *--install*) install=--install ;; esac echo "running: $LIBTOOLIZE $install --copy" $LIBTOOLIZE $install --copy fi find . ! -type d -print | sort >$tempbase.1 old_IFS=$IFS IFS=$nl for file in $(comm -13 $tempbase.0 $tempbase.1); do IFS=$old_IFS parent=${file%/*} version_controlled_file "$parent" "$file" || { for dot_ig in x $vc_ignore; do test $dot_ig = x && continue ig=$parent/$dot_ig insert_vc_ignore "$ig" "${file##*/}" done } done IFS=$old_IFS rm -f $tempbase.0 $tempbase.1 trap - 1 2 13 15 fi # Import from gnulib. gnulib_tool_options="\ --import\ --no-changelog\ --aux-dir $build_aux\ --doc-base $doc_base\ --lib $gnulib_name\ --m4-base $m4_base/\ --source-base $source_base/\ --tests-base $tests_base\ --local-dir $local_gl_dir\ $gnulib_tool_option_extras\ " if test $use_libtool = 1; then case "$gnulib_tool_options " in *' --libtool '*) ;; *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; esac fi echo "$0: $gnulib_tool $gnulib_tool_options --import ..." $gnulib_tool $gnulib_tool_options --import $gnulib_modules && for file in $gnulib_files; do symlink_to_dir "$GNULIB_SRCDIR" $file \ || die "failed to symlink $file" done bootstrap_post_import_hook \ || die "bootstrap_post_import_hook failed" # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some # gnulib-populated directories. Such .m4 files would cause aclocal to fail. # The following requires GNU find 4.2.3 or newer. Considering the usual # portability constraints of this script, that may seem a very demanding # requirement, but it should be ok. Ignore any failure, which is fine, # since this is only a convenience to help developers avoid the relatively # unusual case in which a symlinked-to .m4 file is git-removed from gnulib # between successive runs of this script. find "$m4_base" "$source_base" \ -depth \( -name '*.m4' -o -name '*.[ch]' \) \ -type l -xtype l -delete > /dev/null 2>&1 # Invoke autoreconf with --force --install to ensure upgrades of tools # such as ylwrap. AUTORECONFFLAGS="--verbose --install --force -I $m4_base $ACLOCAL_FLAGS" # Some systems (RHEL 5) are using ancient autotools, for which the # --no-recursive option had not been invented. Detect that lack and # omit the option when it's not supported. FIXME in 2017: remove this # hack when RHEL 5 autotools are updated, or when they become irrelevant. case $($AUTORECONF --help) in *--no-recursive*) AUTORECONFFLAGS="$AUTORECONFFLAGS --no-recursive";; esac # Tell autoreconf not to invoke autopoint or libtoolize; they were run above. echo "running: AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS" AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS \ || die "autoreconf failed" # Get some extra files from gnulib, overriding existing files. for file in $gnulib_extra_files; do case $file in */INSTALL) dst=INSTALL;; build-aux/*) dst=$build_aux/${file#build-aux/};; *) dst=$file;; esac symlink_to_dir "$GNULIB_SRCDIR" $file $dst \ || die "failed to symlink $file" done if test $with_gettext = yes; then # Create gettext configuration. echo "$0: Creating po/Makevars from po/Makevars.template ..." rm -f po/Makevars sed ' /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| /^XGETTEXT_OPTIONS *=/{ s/$/ \\/ a\ '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} } ' po/Makevars.template >po/Makevars \ || die 'cannot generate po/Makevars' # If the 'gettext' module is in use, grab the latest Makefile.in.in. # If only the 'gettext-h' module is in use, assume autopoint already # put the correct version of this file into place. case $gnulib_modules in *gettext-h*) ;; *gettext*) cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \ || die "cannot create po/Makefile.in.in" ;; esac if test -d runtime-po; then # Similarly for runtime-po/Makevars, but not quite the same. rm -f runtime-po/Makevars sed ' /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ /^subdir *=.*/s/=.*/= runtime-po/ /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ /^XGETTEXT_OPTIONS *=/{ s/$/ \\/ a\ '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} } ' po/Makevars.template >runtime-po/Makevars \ || die 'cannot generate runtime-po/Makevars' # Copy identical files from po to runtime-po. (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) fi fi bootstrap_epilogue echo "$0: done. Now you can run './configure'." # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/bootstrap.conf0000664000000000000000000001523612102337340013234 00000000000000# Bootstrap configuration. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # We don't need these modules. avoided_gnulib_modules=' --avoid=canonicalize-lgpl --avoid=dummy ' # gnulib modules used by this package. gnulib_modules=" $avoided_gnulib_modules acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backupfile base64 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-type fileblocks filemode filenamecat filevercmp fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftello ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc obstack parse-datetime pathmax perl physmem pipe posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at settime sig2str sigaction ssize_t statat stat-macros stat-size stat-time stdbool stdlib-safer stpcpy stpncpy strdup-posix strftime strncat strnumcmp strpbrk strsignal strtod strtoimax strtoumax symlink sys_ioctl sys_resource sys_stat sys_wait termios timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xfreopen xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno " # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES=LC_TIME # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --flag=asnprintf:3:c-format\\\ --flag=asprintf:2:c-format\\\ --flag=error:3:c-format\\\ --flag=error_at_line:5:c-format\\\ --flag=vasnprintf:3:c-format\\\ --flag=vasprintf:2:c-format\\\ --flag=verror:3:c-format\\\ --flag=verror_at_line:5:c-format\\\ --flag=wrapf:1:c-format\\\ --flag=xasprintf:1:c-format\\\ --flag=xfprintf:2:c-format\\\ --flag=xprintf:1:c-format\\\ --from-code=UTF-8\\\ ' # Append these, since we use the propername module. see_manual='"This is a proper name. See the gettext manual, section Names."' see_manual=\'"$see_manual"\' XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --keyword=proper_name:1,'"$see_manual"'\\\ --keyword=proper_name_utf8:1,'"$see_manual"'\\\ ' gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\ --makefile-name=gnulib.mk " # Build prerequisites buildreq="\ autoconf 2.64 automake 1.11.2 autopoint - bison - gettext 0.18.1 git 1.4.4 gperf - gzip - makeinfo 4.13 patch - perl 5.5 rsync - tar - xz - " bootstrap_post_import_hook () { # Automake requires that ChangeLog exist. touch ChangeLog || return 1 # List of coreutils programs. See heading comments in the invoked # script for more info. Keep this in sync with the rules in (m4f=m4/cu-progs.m4 mkf=src/cu-progs.mk tmp=cu-progs.tmp \ && rm -f $m4f $mkf $tmp-1 $tmp-2 \ && build-aux/gen-lists-of-programs.sh --autoconf >$tmp-1 \ && build-aux/gen-lists-of-programs.sh --automake >$tmp-2 \ && chmod a-w $tmp-1 $tmp-2 \ && mv -f $tmp-1 $m4f && mv -f $tmp-2 $mkf) # Massage lib/gnulib.mk before using it later in the bootstrapping process. build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk } bootstrap_epilogue() { # Since this is a "GNU" package, replace this line # if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \ # | grep -v 'libtool:' >/dev/null; then # with this: # if true; then # Why? That pipeline searches all files in $(top_srcdir), and if you # happen to have large files (or apparently large sparse files), the # first grep may well run out of memory. perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \ po/Makefile.in.in # Install our git hooks, as long as "cp" accepts the --backup option, # so that we can back up any existing files. case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac if test $backup = 1; then hooks=$(cd scripts/git-hooks && git ls-files) for f in $hooks; do # If it is identical, skip it. cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \ && continue cp --backup=numbered scripts/git-hooks/$f .git/hooks chmod a-w .git/hooks/$f done fi } coreutils-8.21/m4/0000775000000000000000000000000012107207522010744 500000000000000coreutils-8.21/m4/stdbool.m40000664000000000000000000000637112071024546012606 00000000000000# Check for stdbool.h that conforms to C99. dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. #serial 5 # Prepare for substituting if it is not supported. AC_DEFUN([AM_STDBOOL_H], [ AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi AC_SUBST([STDBOOL_H]) AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi AC_SUBST([HAVE__BOOL]) ]) # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) # This version of the macro is needed in autoconf <= 2.68. AC_DEFUN([AC_CHECK_HEADER_STDBOOL], [AC_CACHE_CHECK([for stdbool.h that conforms to C99], [ac_cv_header_stdbool_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; /* The following fails for HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; ]], [[ bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ]])], [ac_cv_header_stdbool_h=yes], [ac_cv_header_stdbool_h=no])]) AC_CHECK_TYPES([_Bool]) ]) coreutils-8.21/m4/hard-locale.m40000664000000000000000000000056212071024546013307 00000000000000# hard-locale.m4 serial 8 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl No prerequisites of lib/hard-locale.c. AC_DEFUN([gl_HARD_LOCALE], [ : ]) coreutils-8.21/m4/stat-size.m40000664000000000000000000000072612071024546013061 00000000000000#serial 1 # Copyright (C) 2011-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STAT_SIZE], [ # Don't call AC_STRUCT_ST_BLOCKS because it causes bugs. Details at # http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00051.html AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) coreutils-8.21/m4/mbchar.m40000664000000000000000000000065312071024546012371 00000000000000# mbchar.m4 serial 9 dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbchar.m4 dnl From Bruno Haible. AC_DEFUN([gl_MBCHAR], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) coreutils-8.21/m4/isnanf.m40000664000000000000000000001224212071024546012410 00000000000000# isnanf.m4 serial 14 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to get or define isnanf(). AC_DEFUN([gl_FUNC_ISNANF], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) ISNANF_LIBM= gl_HAVE_ISNANF_NO_LIBM if test $gl_cv_func_isnanf_no_libm = no; then gl_HAVE_ISNANF_IN_LIBM if test $gl_cv_func_isnanf_in_libm = yes; then ISNANF_LIBM=-lm fi fi dnl The variable gl_func_isnanf set here is used by isnan.m4. if test $gl_cv_func_isnanf_no_libm = yes \ || test $gl_cv_func_isnanf_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $ISNANF_LIBM" gl_ISNANF_WORKS LIBS="$save_LIBS" case "$gl_cv_func_isnanf_works" in *yes) gl_func_isnanf=yes ;; *) gl_func_isnanf=no; ISNANF_LIBM= ;; esac else gl_func_isnanf=no fi if test $gl_func_isnanf != yes; then HAVE_ISNANF=0 fi AC_SUBST([ISNANF_LIBM]) ]) dnl Check how to get or define isnanf() without linking with libm. AC_DEFUN([gl_FUNC_ISNANF_NO_LIBM], [ gl_HAVE_ISNANF_NO_LIBM if test $gl_cv_func_isnanf_no_libm = yes; then gl_ISNANF_WORKS fi if test $gl_cv_func_isnanf_no_libm = yes \ && { case "$gl_cv_func_isnanf_works" in *yes) true;; *) false;; esac }; then gl_func_isnanf_no_libm=yes AC_DEFINE([HAVE_ISNANF_IN_LIBC], [1], [Define if the isnan(float) function is available in libc.]) else gl_func_isnanf_no_libm=no fi ]) dnl Prerequisites of replacement isnanf definition. It does not need -lm. AC_DEFUN([gl_PREREQ_ISNANF], [ gl_FLOAT_EXPONENT_LOCATION ]) dnl Test whether isnanf() can be used without libm. AC_DEFUN([gl_HAVE_ISNANF_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(float) can be used without linking with libm], [gl_cv_func_isnanf_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif float x;]], [[return isnanf (x);]])], [gl_cv_func_isnanf_no_libm=yes], [gl_cv_func_isnanf_no_libm=no]) ]) ]) dnl Test whether isnanf() can be used with libm. AC_DEFUN([gl_HAVE_ISNANF_IN_LIBM], [ AC_CACHE_CHECK([whether isnan(float) can be used with libm], [gl_cv_func_isnanf_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif float x;]], [[return isnanf (x);]])], [gl_cv_func_isnanf_in_libm=yes], [gl_cv_func_isnanf_in_libm=no]) LIBS="$save_LIBS" ]) ]) dnl Test whether isnanf() rejects Infinity (this fails on Solaris 2.5.1), dnl recognizes a NaN (this fails on IRIX 6.5 with cc), and recognizes a NaN dnl with in-memory representation 0x7fbfffff (this fails on IRIX 6.5). AC_DEFUN([gl_ISNANF_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION]) AC_CACHE_CHECK([whether isnan(float) works], [gl_cv_func_isnanf_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ #ifdef __DECC static float NaN () { static float zero = 0.0f; return zero / zero; } #else # define NaN() (0.0f / 0.0f) #endif #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; float value; } memory_float; int main() { int result = 0; if (isnanf (1.0f / 0.0f)) result |= 1; if (!isnanf (NaN ())) result |= 2; #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* The isnanf function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit. */ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0) { memory_float m; m.value = NaN (); /* Set the bits below the exponent to 01111...111. */ m.word[0] &= -1U << FLT_EXPBIT0_BIT; m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1; if (!isnanf (m.value)) result |= 4; } #endif return result; }]])], [gl_cv_func_isnanf_works=yes], [gl_cv_func_isnanf_works=no], [case "$host_os" in irix* | solaris*) gl_cv_func_isnanf_works="guessing no";; *) gl_cv_func_isnanf_works="guessing yes";; esac ]) ]) ]) coreutils-8.21/m4/savewd.m40000664000000000000000000000055212071024546012424 00000000000000# Save and restore the working directory, possibly using a child process. dnl Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVEWD], [:]) coreutils-8.21/m4/sha512.m40000664000000000000000000000057312071024546012141 00000000000000# sha512.m4 serial 7 dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA512], [ dnl Prerequisites of lib/sha512.c. AC_REQUIRE([gl_BIGENDIAN]) ]) coreutils-8.21/m4/getaddrinfo.m40000664000000000000000000001345312071024546013425 00000000000000# getaddrinfo.m4 serial 30 dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETADDRINFO], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo]) GETADDRINFO_LIB= gai_saved_LIBS="$LIBS" dnl Where is getaddrinfo()? dnl - On Solaris, it is in libsocket. dnl - On Haiku, it is in libnetwork. dnl - On BeOS, it is in libnet. dnl - On native Windows, it is in ws2_32.dll. dnl - Otherwise it is in libc. AC_SEARCH_LIBS([getaddrinfo], [socket network net], [if test "$ac_cv_search_getaddrinfo" != "none required"; then GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" fi]) LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" HAVE_GETADDRINFO=1 AC_CACHE_CHECK([for getaddrinfo], [gl_cv_func_getaddrinfo], [ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #include ]], [[getaddrinfo("", "", NULL, NULL);]])], [gl_cv_func_getaddrinfo=yes], [gl_cv_func_getaddrinfo=no])]) if test $gl_cv_func_getaddrinfo = no; then AC_CACHE_CHECK([for getaddrinfo in ws2tcpip.h and -lws2_32], gl_cv_w32_getaddrinfo, [ gl_cv_w32_getaddrinfo=no am_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_WS2TCPIP_H #include #endif #include ]], [[getaddrinfo(NULL, NULL, NULL, NULL);]])], [gl_cv_w32_getaddrinfo=yes]) LIBS="$am_save_LIBS" ]) if test "$gl_cv_w32_getaddrinfo" = "yes"; then GETADDRINFO_LIB="-lws2_32" LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" else HAVE_GETADDRINFO=0 fi fi # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an # inline function declared in ws2tcpip.h, so we need to get that # header included somehow. AC_CHECK_DECLS([gai_strerror], [], [], [[ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif #include ]]) if test $ac_cv_have_decl_gai_strerror = yes; then AC_CHECK_DECLS([gai_strerrorA], [], [], [[ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif #include ]]) dnl check for correct signature AC_CACHE_CHECK([for gai_strerror with POSIX signature], [gl_cv_func_gai_strerror_posix_signature], [ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif #include extern #ifdef __cplusplus "C" #endif const char *gai_strerror(int);]])], [gl_cv_func_gai_strerror_posix_signature=yes], [gl_cv_func_gai_strerror_posix_signature=no])]) if test $gl_cv_func_gai_strerror_posix_signature = no; then REPLACE_GAI_STRERROR=1 fi fi LIBS="$gai_saved_LIBS" gl_PREREQ_GETADDRINFO AC_SUBST([GETADDRINFO_LIB]) ]) # Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c. AC_DEFUN([gl_PREREQ_GETADDRINFO], [ AC_REQUIRE([gl_NETDB_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SOCKET_FAMILIES]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl Including sys/socket.h is wrong for Windows, but Windows does not dnl have sa_len so the result is correct anyway. AC_CHECK_MEMBERS([struct sockaddr.sa_len], , , [ #include #include ]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) AC_CHECK_DECLS([getaddrinfo, freeaddrinfo, getnameinfo],,,[[ /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif ]]) if test $ac_cv_have_decl_getaddrinfo = no; then HAVE_DECL_GETADDRINFO=0 fi if test $ac_cv_have_decl_freeaddrinfo = no; then HAVE_DECL_FREEADDRINFO=0 fi if test $ac_cv_have_decl_gai_strerror = no; then HAVE_DECL_GAI_STRERROR=0 fi if test $ac_cv_have_decl_getnameinfo = no; then HAVE_DECL_GETNAMEINFO=0 fi AC_CHECK_TYPES([struct addrinfo],,,[ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif ]) if test $ac_cv_type_struct_addrinfo = no; then HAVE_STRUCT_ADDRINFO=0 fi dnl Append $HOSTENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. case " $GETADDRINFO_LIB " in *" $HOSTENT_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; esac dnl Append $SERVENT_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. case " $GETADDRINFO_LIB " in *" $SERVENT_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; esac dnl Append $INET_NTOP_LIB to GETADDRINFO_LIB, avoiding gratuitous duplicates. case " $GETADDRINFO_LIB " in *" $INET_NTOP_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; esac ]) coreutils-8.21/m4/open.m40000664000000000000000000000504612071024546012077 00000000000000# open.m4 serial 14 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_OPEN], [ AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw* | pw*) REPLACE_OPEN=1 ;; *) dnl open("foo/") should not create a file when the file name has a dnl trailing slash. FreeBSD only has the problem on symlinks. AC_CHECK_FUNCS_ONCE([lstat]) AC_CACHE_CHECK([whether open recognizes a trailing slash], [gl_cv_func_open_slash], [# Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then touch conftest.tmp ln -s conftest.tmp conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #if HAVE_UNISTD_H # include #endif int main () { int result = 0; #if HAVE_LSTAT if (open ("conftest.lnk/", O_RDONLY) != -1) result |= 1; #endif if (open ("conftest.sl/", O_CREAT, 0600) >= 0) result |= 2; return result; }]])], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no], [ changequote(,)dnl case "$host_os" in freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) gl_cv_func_open_slash="guessing no" ;; *) gl_cv_func_open_slash="guessing yes" ;; esac changequote([,])dnl ]) rm -f conftest.sl conftest.tmp conftest.lnk ]) case "$gl_cv_func_open_slash" in *no) AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], [Define to 1 if open() fails to recognize a trailing slash.]) REPLACE_OPEN=1 ;; esac ;; esac dnl Replace open() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ if test $REPLACE_OPEN = 0; then gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then REPLACE_OPEN=1 fi fi ]) dnl Replace open() for supporting the gnulib-defined O_NONBLOCK flag. m4_ifdef([gl_NONBLOCKING_IO], [ if test $REPLACE_OPEN = 0; then gl_NONBLOCKING_IO if test $gl_cv_have_open_O_NONBLOCK != yes; then REPLACE_OPEN=1 fi fi ]) ]) # Prerequisites of lib/open.c. AC_DEFUN([gl_PREREQ_OPEN], [ AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) : ]) coreutils-8.21/m4/rename.m40000664000000000000000000002036512071024546012406 00000000000000# serial 26 # Copyright (C) 2001, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Volker Borchert. dnl Determine whether rename works for source file names with a trailing slash. dnl The rename from SunOS 4.1.1_U1 doesn't. dnl dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange dnl to compile the wrapper function. dnl AC_DEFUN([gl_FUNC_RENAME], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([lstat]) dnl Solaris 10, AIX 7.1 mistakenly allow rename("file","name/"). dnl NetBSD 1.6 mistakenly forbids rename("dir","name/"). dnl FreeBSD 7.2 mistakenly allows rename("file","link-to-file/"). dnl The Solaris bug can be worked around without stripping dnl trailing slash, while the NetBSD bug requires stripping; dnl the two conditions can be distinguished by whether hard dnl links are also broken. AC_CACHE_CHECK([whether rename honors trailing slash on destination], [gl_cv_func_rename_slash_dst_works], [rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || AC_MSG_ERROR([cannot create temporary files]) # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.f conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ # include # include ]], [[int result = 0; if (rename ("conftest.f1", "conftest.f2/") == 0) result |= 1; if (rename ("conftest.d1", "conftest.d2/") != 0) result |= 2; #if HAVE_LSTAT if (rename ("conftest.f", "conftest.lnk/") == 0) result |= 4; #endif return result; ]])], [gl_cv_func_rename_slash_dst_works=yes], [gl_cv_func_rename_slash_dst_works=no], dnl When crosscompiling, assume rename is broken. [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_slash_dst_works="guessing no" ;; esac ]) rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk ]) case "$gl_cv_func_rename_slash_dst_works" in *yes) ;; *) REPLACE_RENAME=1 AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1], [Define if rename does not correctly handle slashes on the destination argument, such as on Solaris 10 or NetBSD 1.6.]) ;; esac dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name"). dnl Solaris 9 mistakenly allows rename("file/","name"). dnl FreeBSD 7.2 mistakenly allows rename("link-to-file/","name"). dnl These bugs require stripping trailing slash to avoid corrupting dnl symlinks with a trailing slash. AC_CACHE_CHECK([whether rename honors trailing slash on source], [gl_cv_func_rename_slash_src_works], [rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || AC_MSG_ERROR([cannot create temporary files]) # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.f conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ # include # include ]], [[int result = 0; if (rename ("conftest.f1/", "conftest.d3") == 0) result |= 1; if (rename ("conftest.d1/", "conftest.d2") != 0) result |= 2; #if HAVE_LSTAT if (rename ("conftest.lnk/", "conftest.f") == 0) result |= 4; #endif return result; ]])], [gl_cv_func_rename_slash_src_works=yes], [gl_cv_func_rename_slash_src_works=no], dnl When crosscompiling, assume rename is broken. [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_slash_src_works="guessing no" ;; esac ]) rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk ]) case "$gl_cv_func_rename_slash_src_works" in *yes) ;; *) REPLACE_RENAME=1 AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1], [Define if rename does not correctly handle slashes on the source argument, such as on Solaris 9 or cygwin 1.5.]) ;; esac dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count dnl on rename("h1","h2"). dnl This bug requires stat'ting targets prior to attempting rename. AC_CHECK_FUNCS_ONCE([link]) AC_CACHE_CHECK([whether rename manages hard links correctly], [gl_cv_func_rename_link_works], [if test $ac_cv_func_link = yes; then rm -rf conftest.f conftest.f1 if touch conftest.f && ln conftest.f conftest.f1 && set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ # include # include # include ]], [[int result = 0; if (rename ("conftest.f", "conftest.f1")) result |= 1; if (unlink ("conftest.f1")) result |= 2; if (rename ("conftest.f", "conftest.f")) result |= 4; if (rename ("conftest.f1", "conftest.f1") == 0) result |= 8; return result; ]])], [gl_cv_func_rename_link_works=yes], [gl_cv_func_rename_link_works=no], dnl When crosscompiling, assume rename is broken. [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_link_works="guessing no" ;; esac ]) else gl_cv_func_rename_link_works="guessing no" fi rm -rf conftest.f conftest.f1 else gl_cv_func_rename_link_works=yes fi ]) case "$gl_cv_func_rename_link_works" in *yes) ;; *) REPLACE_RENAME=1 AC_DEFINE([RENAME_HARD_LINK_BUG], [1], [Define if rename fails to leave hard links alone, as on NetBSD 1.6 or Cygwin 1.5.]) ;; esac dnl Cygwin 1.5.x mistakenly allows rename("dir","file"). dnl mingw mistakenly forbids rename("dir1","dir2"). dnl These bugs require stripping trailing slash to avoid corrupting dnl symlinks with a trailing slash. AC_CACHE_CHECK([whether rename manages existing destinations correctly], [gl_cv_func_rename_dest_works], [rm -rf conftest.f conftest.d1 conftest.d2 touch conftest.f && mkdir conftest.d1 conftest.d2 || AC_MSG_ERROR([cannot create temporary files]) AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ # include # include ]], [[int result = 0; if (rename ("conftest.d1", "conftest.d2") != 0) result |= 1; if (rename ("conftest.d2", "conftest.f") == 0) result |= 2; return result; ]])], [gl_cv_func_rename_dest_works=yes], [gl_cv_func_rename_dest_works=no], dnl When crosscompiling, assume rename is broken. [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_dest_works="guessing no" ;; esac ]) rm -rf conftest.f conftest.d1 conftest.d2 ]) case "$gl_cv_func_rename_dest_works" in *yes) ;; *) REPLACE_RENAME=1 AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1], [Define if rename does not work when the destination file exists, as on Cygwin 1.5 or Windows.]) ;; esac ]) coreutils-8.21/m4/clock_time.m40000664000000000000000000000252012071024546013241 00000000000000# clock_time.m4 serial 10 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Check for clock_gettime and clock_settime, and set LIB_CLOCK_GETTIME. # For a program named, say foo, you should add a line like the following # in the corresponding Makefile.am file: # foo_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) AC_DEFUN([gl_CLOCK_TIME], [ dnl Persuade glibc and Solaris to declare these functions. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. LIB_CLOCK_GETTIME= AC_SUBST([LIB_CLOCK_GETTIME]) gl_saved_libs=$LIBS AC_SEARCH_LIBS([clock_gettime], [rt posix4], [test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime]) AC_CHECK_FUNCS([clock_gettime clock_settime]) LIBS=$gl_saved_libs ]) coreutils-8.21/m4/sys_socket_h.m40000664000000000000000000001416312071024546013633 00000000000000# sys_socket_h.m4 serial 23 dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson. AC_DEFUN([gl_HEADER_SYS_SOCKET], [ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have dnl old-style declarations (with return type 'int' instead of 'ssize_t') dnl unless _POSIX_PII_SOCKET is defined. case "$host_os" in osf*) AC_DEFINE([_POSIX_PII_SOCKET], [1], [Define to 1 in order to get the POSIX compatible declarations of socket functions.]) ;; esac AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_socket_h_selfcontained], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], [gl_cv_header_sys_socket_h_selfcontained=yes], [gl_cv_header_sys_socket_h_selfcontained=no]) ]) if test $gl_cv_header_sys_socket_h_selfcontained = yes; then dnl If the shutdown function exists, should define dnl SHUT_RD, SHUT_WR, SHUT_RDWR. AC_CHECK_FUNCS([shutdown]) if test $ac_cv_func_shutdown = yes; then AC_CACHE_CHECK([whether defines the SHUT_* macros], [gl_cv_header_sys_socket_h_shut], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], [gl_cv_header_sys_socket_h_shut=yes], [gl_cv_header_sys_socket_h_shut=no]) ]) if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi fi # We need to check for ws2tcpip.h now. gl_PREREQ_SYS_H_SOCKET AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[ /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif ]) if test $ac_cv_type_struct_sockaddr_storage = no; then HAVE_STRUCT_SOCKADDR_STORAGE=0 fi if test $ac_cv_type_sa_family_t = no; then HAVE_SA_FAMILY_T=0 fi if test $ac_cv_type_struct_sockaddr_storage != no; then AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family], [], [HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0], [#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif ]) fi if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then SYS_SOCKET_H='sys/socket.h' fi gl_PREREQ_SYS_H_WINSOCK2 dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Some systems require prerequisite headers. */ #include #include ]], [socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4]) ]) AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], [ dnl Check prerequisites of the replacement. AC_REQUIRE([gl_CHECK_SOCKET_HEADERS]) gl_CHECK_NEXT_HEADERS([sys/socket.h]) if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi AC_SUBST([HAVE_SYS_SOCKET_H]) AC_SUBST([HAVE_WS2TCPIP_H]) ]) # Common prerequisites of the replacement and of the # replacement. # Sets and substitutes HAVE_WINSOCK2_H. AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], [ m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) AC_CHECK_HEADERS_ONCE([sys/socket.h]) if test $ac_cv_header_sys_socket_h != yes; then dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make dnl the check for those headers unconditional; yet cygwin reports dnl that the headers are present but cannot be compiled (since on dnl cygwin, all socket information should come from sys/socket.h). AC_CHECK_HEADERS([winsock2.h]) fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi AC_SUBST([HAVE_WINSOCK2_H]) ]) AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], [ GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T]) HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4]) ]) coreutils-8.21/m4/stdint.m40000664000000000000000000003701412071024546012443 00000000000000# stdint.m4 serial 43 dnl Copyright (C) 2001-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN_ONCE([gl_STDINT_H], [ AC_PREREQ([2.59])dnl dnl Check for long long int and unsigned long long int. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi AC_SUBST([HAVE_LONG_LONG_INT]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) dnl Check for , in the same way as gl_WCHAR_H does. AC_CHECK_HEADERS_ONCE([wchar.h]) if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi AC_SUBST([HAVE_WCHAR_H]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi AC_SUBST([HAVE_INTTYPES_H]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi AC_SUBST([HAVE_SYS_TYPES_H]) gl_CHECK_NEXT_HEADERS([stdint.h]) if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi AC_SUBST([HAVE_STDINT_H]) dnl Now see whether we need a substitute . if test $ac_cv_header_stdint_h = yes; then AC_CACHE_CHECK([whether stdint.h conforms to C99], [gl_cv_header_working_stdint_h], [gl_cv_header_working_stdint_h=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif ] gl_STDINT_INCLUDES [ #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; ]])], [dnl Determine whether the various *_MIN, *_MAX macros are usable dnl in preprocessor expression. We could do it by compiling a test dnl program for each of these macros. It is faster to run a program dnl that inspects the macro expansion. dnl This detects a bug on HP-UX 11.23/ia64. AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include ] gl_STDINT_INCLUDES [ #include #include #define MVAL(macro) MVAL1(macro) #define MVAL1(expression) #expression static const char *macro_values[] = { #ifdef INT8_MAX MVAL (INT8_MAX), #endif #ifdef INT16_MAX MVAL (INT16_MAX), #endif #ifdef INT32_MAX MVAL (INT32_MAX), #endif #ifdef INT64_MAX MVAL (INT64_MAX), #endif #ifdef UINT8_MAX MVAL (UINT8_MAX), #endif #ifdef UINT16_MAX MVAL (UINT16_MAX), #endif #ifdef UINT32_MAX MVAL (UINT32_MAX), #endif #ifdef UINT64_MAX MVAL (UINT64_MAX), #endif NULL }; ]], [[ const char **mv; for (mv = macro_values; *mv != NULL; mv++) { const char *value = *mv; /* Test whether it looks like a cast expression. */ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 || strncmp (value, "((int)"/*)*/, 6) == 0 || strncmp (value, "((signed short)"/*)*/, 15) == 0 || strncmp (value, "((signed char)"/*)*/, 14) == 0) return mv - macro_values + 1; } return 0; ]])], [gl_cv_header_working_stdint_h=yes], [], [dnl When cross-compiling, assume it works. gl_cv_header_working_stdint_h=yes ]) ]) ]) fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else dnl Check for , and for dnl (used in Linux libc4 >= 4.6.7 and libc5). AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi AC_SUBST([HAVE_SYS_INTTYPES_H]) if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi AC_SUBST([HAVE_SYS_BITYPES_H]) gl_STDINT_TYPE_PROPERTIES STDINT_H=stdint.h fi AC_SUBST([STDINT_H]) AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) dnl Determine the size of each of the given types in bits. AC_DEFUN([gl_STDINT_BITSIZEOF], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to the number of bits in type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], [$2 #include ], [result=unknown]) eval gl_cv_bitsizeof_${gltype}=\$result ]) eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, dnl do a syntax check even on unused #if conditions and give an error dnl on valid C code like this: dnl #if 0 dnl # if > 32 dnl # endif dnl #endif result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) eval BITSIZEOF_${GLTYPE}=\$result done m4_foreach_w([gltype], [$1], [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) dnl Determine the signedness of each of the given types. dnl Define HAVE_SIGNED_TYPE if type is signed. AC_DEFUN([gl_CHECK_TYPES_SIGNED], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to 1 if ']gltype[' is a signed integer type.])]) for gltype in $1 ; do AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], result=yes, result=no) eval gl_cv_type_${gltype}_signed=\$result ]) eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done m4_foreach_w([gltype], [$1], [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) dnl Determine the suffix to use for integer constants of the given types. dnl Define t_SUFFIX for each such type. AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], [Define to l, ll, u, ul, ull, etc., as suitable for constants of type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for $gltype integer literal suffix], [gl_cv_type_${gltype}_suffix], [eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ extern $gltype foo; extern $gltype1 foo;]])], [eval gl_cv_type_${gltype}_suffix=\$glsuf]) eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done]) GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) done m4_foreach_w([gltype], [$1], [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) ]) dnl gl_STDINT_INCLUDES AC_DEFUN([gl_STDINT_INCLUDES], [[ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif ]]) dnl gl_STDINT_TYPE_PROPERTIES dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t dnl of interest to stdint.in.h. AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], [ AC_REQUIRE([gl_MULTIARCH]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_STDINT_BITSIZEOF([ptrdiff_t size_t], [gl_STDINT_INCLUDES]) fi gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], [gl_STDINT_INCLUDES]) fi gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99 dnl requirement that wint_t is "unchanged by default argument promotions". dnl In this case gnulib's and override wint_t. dnl Set the variable BITSIZEOF_WINT_T accordingly. if test $BITSIZEOF_WINT_T -lt 32; then BITSIZEOF_WINT_T=32 fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) # Hey Emacs! # Local Variables: # indent-tabs-mode: nil # End: coreutils-8.21/m4/symlinkat.m40000664000000000000000000000111712071024546013144 00000000000000# serial 5 # See if we need to provide symlinkat replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_SYMLINKAT], [ AC_REQUIRE([gl_FUNC_OPENAT]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([symlinkat]) if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 fi ]) coreutils-8.21/m4/strerror_r.m40000664000000000000000000001506712071024546013345 00000000000000# strerror_r.m4 serial 15 dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR_R], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) dnl Persuade Solaris to declare strerror_r(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Some systems don't declare strerror_r() if _THREAD_SAFE and _REENTRANT dnl are not defined. AC_CHECK_DECLS_ONCE([strerror_r]) if test $ac_cv_have_decl_strerror_r = no; then HAVE_DECL_STRERROR_R=0 fi if test $ac_cv_func_strerror_r = yes; then if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then if test $gl_cv_func_strerror_r_posix_signature = yes; then case "$gl_cv_func_strerror_r_works" in dnl The system's strerror_r has bugs. Replace it. *no) REPLACE_STRERROR_R=1 ;; esac else dnl The system's strerror_r() has a wrong signature. Replace it. REPLACE_STRERROR_R=1 fi else dnl The system's strerror_r() cannot know about the new errno values we dnl add to , or any fix for strerror(0). Replace it. REPLACE_STRERROR_R=1 fi fi ]) # Prerequisites of lib/strerror_r.c. AC_DEFUN([gl_PREREQ_STRERROR_R], [ dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r. AC_CHECK_FUNCS_ONCE([__xpg_strerror_r]) AC_CHECK_FUNCS_ONCE([catgets]) AC_CHECK_FUNCS_ONCE([snprintf]) ]) # Detect if strerror_r works, but without affecting whether a replacement # strerror_r will be used. AC_DEFUN([gl_FUNC_STRERROR_R_WORKS], [ AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_FUNC_STRERROR_0]) AC_CHECK_FUNCS_ONCE([strerror_r]) if test $ac_cv_func_strerror_r = yes; then if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then dnl The POSIX prototype is: int strerror_r (int, char *, size_t); dnl glibc, Cygwin: char *strerror_r (int, char *, size_t); dnl AIX 5.1, OSF/1 5.1: int strerror_r (int, char *, int); AC_CACHE_CHECK([for strerror_r with POSIX signature], [gl_cv_func_strerror_r_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int strerror_r (int, char *, size_t); ]], [])], [gl_cv_func_strerror_r_posix_signature=yes], [gl_cv_func_strerror_r_posix_signature=no]) ]) if test $gl_cv_func_strerror_r_posix_signature = yes; then dnl AIX 6.1 strerror_r fails by returning -1, not an error number. dnl HP-UX 11.31 strerror_r always fails when the buffer length argument dnl is less than 80. dnl FreeBSD 8.s strerror_r claims failure on 0 dnl Mac OS X 10.5 strerror_r treats 0 like -1 dnl Solaris 10 strerror_r corrupts errno on failure AC_CACHE_CHECK([whether strerror_r works], [gl_cv_func_strerror_r_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[int result = 0; char buf[79]; if (strerror_r (EACCES, buf, 0) < 0) result |= 1; errno = 0; if (strerror_r (EACCES, buf, sizeof buf) != 0) result |= 2; strcpy (buf, "Unknown"); if (strerror_r (0, buf, sizeof buf) != 0) result |= 4; if (errno) result |= 8; if (strstr (buf, "nknown") || strstr (buf, "ndefined")) result |= 0x10; errno = 0; *buf = 0; if (strerror_r (-3, buf, sizeof buf) < 0) result |= 0x20; if (errno) result |= 0x40; if (!*buf) result |= 0x80; return result; ]])], [gl_cv_func_strerror_r_works=yes], [gl_cv_func_strerror_r_works=no], [ changequote(,)dnl case "$host_os" in # Guess no on AIX. aix*) gl_cv_func_strerror_r_works="guessing no";; # Guess no on HP-UX. hpux*) gl_cv_func_strerror_r_works="guessing no";; # Guess no on BSD variants. *bsd*) gl_cv_func_strerror_r_works="guessing no";; # Guess yes otherwise. *) gl_cv_func_strerror_r_works="guessing yes";; esac changequote([,])dnl ]) ]) else dnl The system's strerror() has a wrong signature. dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r. AC_CHECK_FUNCS_ONCE([__xpg_strerror_r]) dnl In glibc < 2.14, __xpg_strerror_r does not populate buf on failure. dnl In cygwin < 1.7.10, __xpg_strerror_r clobbers strerror's buffer. if test $ac_cv_func___xpg_strerror_r = yes; then AC_CACHE_CHECK([whether __xpg_strerror_r works], [gl_cv_func_strerror_r_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include extern #ifdef __cplusplus "C" #endif int __xpg_strerror_r(int, char *, size_t); ]], [[int result = 0; char buf[256] = "^"; char copy[256]; char *str = strerror (-1); strcpy (copy, str); if (__xpg_strerror_r (-2, buf, 1) == 0) result |= 1; if (*buf) result |= 2; __xpg_strerror_r (-2, buf, 256); if (strcmp (str, copy)) result |= 4; return result; ]])], [gl_cv_func_strerror_r_works=yes], [gl_cv_func_strerror_r_works=no], [dnl Guess no on all platforms that have __xpg_strerror_r, dnl at least until fixed glibc and cygwin are more common. gl_cv_func_strerror_r_works="guessing no" ]) ]) fi fi fi fi ]) coreutils-8.21/m4/sys_stat_h.m40000664000000000000000000000723612071024546013321 00000000000000# sys_stat_h.m4 serial 28 -*- Autoconf -*- dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Eric Blake. dnl Provide a GNU-like . AC_DEFUN([gl_HEADER_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl Check for broken stat macros. AC_REQUIRE([AC_HEADER_STAT]) gl_CHECK_NEXT_HEADERS([sys/stat.h]) dnl Ensure the type mode_t gets defined. AC_REQUIRE([AC_TYPE_MODE_T]) dnl Whether to override 'struct stat'. m4_ifdef([gl_LARGEFILE], [ AC_REQUIRE([gl_LARGEFILE]) ], [ WINDOWS_64_BIT_ST_SIZE=0 ]) AC_SUBST([WINDOWS_64_BIT_ST_SIZE]) if test $WINDOWS_64_BIT_ST_SIZE = 1; then AC_DEFINE([_GL_WINDOWS_64_BIT_ST_SIZE], [1], [Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct stat.st_size becomes 64-bit.]) fi dnl Define types that are supposed to be defined in or dnl . AC_CHECK_TYPE([nlink_t], [], [AC_DEFINE([nlink_t], [int], [Define to the type of st_nlink in struct stat, or a supertype.])], [#include #include ]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) ]) # gl_HEADER_SYS_STAT_H AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS]) HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD]) HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT]) HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT]) HAVE_MKFIFO=1; AC_SUBST([HAVE_MKFIFO]) HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT]) HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS]) REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT]) REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO]) REPLACE_MKNOD=0; AC_SUBST([REPLACE_MKNOD]) REPLACE_STAT=0; AC_SUBST([REPLACE_STAT]) REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT]) ]) coreutils-8.21/m4/unlink-busy.m40000664000000000000000000000212312071024546013407 00000000000000#serial 12 dnl From J. David Anglin. dnl HPUX and other systems can't unlink shared text that is being executed. # Copyright (C) 2000-2001, 2004, 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_UNLINK_BUSY_TEXT], [dnl AC_CACHE_CHECK([whether a running program can be unlinked], gl_cv_func_unlink_busy_text, [ AC_RUN_IFELSE( [AC_LANG_SOURCE( [AC_INCLUDES_DEFAULT[ int main (int argc, char **argv) { int result = 0; if (argc == 0) result |= 1; else if (unlink (argv[0]) != 0) result |= 2; return result; }]])], gl_cv_func_unlink_busy_text=yes, gl_cv_func_unlink_busy_text=no, gl_cv_func_unlink_busy_text=no ) ] ) if test $gl_cv_func_unlink_busy_text = no; then INSTALL=$ac_install_sh fi ]) coreutils-8.21/m4/isnanl.m40000664000000000000000000001736312071024546012427 00000000000000# isnanl.m4 serial 17 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ISNANL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) ISNANL_LIBM= gl_HAVE_ISNANL_NO_LIBM if test $gl_cv_func_isnanl_no_libm = no; then gl_HAVE_ISNANL_IN_LIBM if test $gl_cv_func_isnanl_in_libm = yes; then ISNANL_LIBM=-lm fi fi dnl The variable gl_func_isnanl set here is used by isnan.m4. if test $gl_cv_func_isnanl_no_libm = yes \ || test $gl_cv_func_isnanl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $ISNANL_LIBM" gl_FUNC_ISNANL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_isnanl_works" in *yes) gl_func_isnanl=yes ;; *) gl_func_isnanl=no; ISNANL_LIBM= ;; esac else gl_func_isnanl=no fi if test $gl_func_isnanl != yes; then HAVE_ISNANL=0 fi AC_SUBST([ISNANL_LIBM]) ]) AC_DEFUN([gl_FUNC_ISNANL_NO_LIBM], [ gl_HAVE_ISNANL_NO_LIBM gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm if test $gl_func_isnanl_no_libm = yes; then gl_FUNC_ISNANL_WORKS case "$gl_cv_func_isnanl_works" in *yes) ;; *) gl_func_isnanl_no_libm=no ;; esac fi if test $gl_func_isnanl_no_libm = yes; then AC_DEFINE([HAVE_ISNANL_IN_LIBC], [1], [Define if the isnan(long double) function is available in libc.]) fi ]) dnl Prerequisites of replacement isnanl definition. It does not need -lm. AC_DEFUN([gl_PREREQ_ISNANL], [ gl_LONG_DOUBLE_EXPONENT_LOCATION AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) ]) dnl Test whether isnanl() can be used without libm. AC_DEFUN([gl_HAVE_ISNANL_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(long double) can be used without linking with libm], [gl_cv_func_isnanl_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x;]], [[return isnanl (x);]])], [gl_cv_func_isnanl_no_libm=yes], [gl_cv_func_isnanl_no_libm=no]) ]) ]) dnl Test whether isnanl() can be used with libm. AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM], [ AC_CACHE_CHECK([whether isnan(long double) can be used with libm], [gl_cv_func_isnanl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x;]], [[return isnanl (x);]])], [gl_cv_func_isnanl_in_libm=yes], [gl_cv_func_isnanl_in_libm=no]) LIBS="$save_LIBS" ]) ]) dnl Test whether isnanl() recognizes all numbers which are neither finite nor dnl infinite. This test fails e.g. on NetBSD/i386 and on glibc/ia64. dnl Also, the GCC >= 4.0 built-in __builtin_isnanl does not pass the tests dnl - for pseudo-denormals on i686 and x86_64, dnl - for pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64. AC_DEFUN([gl_FUNC_ISNANL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether isnanl works], [gl_cv_func_isnanl_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; long double value; } memory_long_double; /* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the runtime type conversion. */ #ifdef __sgi static long double NaNl () { double zero = 0.0; return zero / zero; } #else # define NaNl() (0.0L / 0.0L) #endif int main () { int result = 0; if (!isnanl (NaNl ())) result |= 1; { memory_long_double m; unsigned int i; /* The isnanl function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit (since the exponent never extends to bit 31). */ m.value = NaNl (); m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); for (i = 0; i < NWORDS; i++) m.word[i] |= 1; if (!isnanl (m.value)) result |= 1; } #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (!isnanl (x.value)) result |= 2; } { /* Signalling NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) result |= 2; } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (!isnanl (x.value)) result |= 4; } { /* Pseudo-Infinity. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) result |= 8; } { /* Pseudo-Zero. */ static memory_long_double x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) result |= 16; } { /* Unnormalized number. */ static memory_long_double x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (!isnanl (x.value)) result |= 32; } { /* Pseudo-Denormal. */ static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) result |= 64; } #endif return result; }]])], [gl_cv_func_isnanl_works=yes], [gl_cv_func_isnanl_works=no], [case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; *) case "$host_os" in netbsd*) gl_cv_func_isnanl_works="guessing no";; *) gl_cv_func_isnanl_works="guessing yes";; esac ;; esac ]) ]) ]) coreutils-8.21/m4/memchr.m40000664000000000000000000000534012071024546012406 00000000000000# memchr.m4 serial 12 dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_FUNC_MEMCHR], [ dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [ dnl These days, we assume memchr is present. But if support for old dnl platforms is desired: AC_CHECK_FUNCS_ONCE([memchr]) if test $ac_cv_func_memchr = no; then HAVE_MEMCHR=0 fi ]) if test $HAVE_MEMCHR = 1; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # http://bugzilla.redhat.com/499689 # memchr should not dereference overestimated length after a match # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #if HAVE_SYS_MMAN_H # include # include # include # include # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif ]], [[ int result = 0; char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { if (memchr (fence, 0, 0)) result |= 1; strcpy (fence - 9, "12345678"); if (memchr (fence - 9, 0, 79) != fence - 1) result |= 2; if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; } return result; ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], [dnl Be pessimistic for now. gl_cv_func_memchr_works="guessing no"])]) if test "$gl_cv_func_memchr_works" != yes; then REPLACE_MEMCHR=1 fi fi ]) # Prerequisites of lib/memchr.c. AC_DEFUN([gl_PREREQ_MEMCHR], [ AC_CHECK_HEADERS([bp-sym.h]) ]) coreutils-8.21/m4/ls-mntd-fs.m40000664000000000000000000003011212071024546013112 00000000000000# serial 30 # How to list mounted file systems. # Copyright (C) 1998-2004, 2006, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl This is not pretty. I've just taken the autoconf code and wrapped dnl it in an AC_DEFUN and made some other fixes. dnl # Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf # through Autoconf 2.59. We can remove this once we assume Autoconf 2.60 # or later. AC_DEFUN([AC_FUNC_GETMNTENT], [# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, # -lseq on Dynix/PTX, -lgen on Unixware. AC_SEARCH_LIBS([getmntent], [sun seq gen]) AC_CHECK_FUNCS([getmntent]) ]) # gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS], [ AC_CHECK_FUNCS([listmntent getmntinfo]) AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h]) # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses # NGROUPS (as the array dimension for a struct member) without a definition. AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include ]) AC_CHECK_HEADERS([sys/mount.h], [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) AC_CHECK_HEADERS([mntent.h sys/fs_types.h]) getfsstat_includes="\ $ac_includes_default #if HAVE_SYS_PARAM_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_UCRED_H # include /* needed for definition of NGROUPS */ # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_FS_TYPES_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif " AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes]) # Determine how to get the list of mounted file systems. ac_list_mounted_fs= # If the getmntent function is available but not in the standard library, # make sure LIBS contains the appropriate -l option. AC_FUNC_GETMNTENT # This test must precede the ones for getmntent because Unicos-9 is # reported to have the getmntent function, but its support is incompatible # with other getmntent implementations. # NOTE: Normally, I wouldn't use a check for system type as I've done for # 'CRAY' below since that goes against the whole autoconf philosophy. But # I think there is too great a chance that some non-Cray system has a # function named listmntent to risk the false positive. if test -z "$ac_list_mounted_fs"; then # Cray UNICOS 9 AC_MSG_CHECKING([for listmntent of Cray/Unicos-9]) AC_CACHE_VAL([fu_cv_sys_mounted_cray_listmntent], [fu_cv_sys_mounted_cray_listmntent=no AC_EGREP_CPP([yes], [#ifdef _CRAY yes #endif ], [test $ac_cv_func_listmntent = yes \ && fu_cv_sys_mounted_cray_listmntent=yes] ) ] ) AC_MSG_RESULT([$fu_cv_sys_mounted_cray_listmntent]) if test $fu_cv_sys_mounted_cray_listmntent = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_LISTMNTENT], [1], [Define if there is a function named listmntent that can be used to list all mounted file systems. (UNICOS)]) fi fi if test -z "$ac_list_mounted_fs"; then # AIX. AC_MSG_CHECKING([for mntctl function and struct vmount]) AC_CACHE_VAL([fu_cv_sys_mounted_vmount], [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include ]])], [fu_cv_sys_mounted_vmount=yes], [fu_cv_sys_mounted_vmount=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_vmount]) if test $fu_cv_sys_mounted_vmount = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_VMOUNT], [1], [Define if there is a function named mntctl that can be used to read the list of mounted file systems, and there is a system header file that declares 'struct vmount'. (AIX)]) fi fi if test $ac_cv_func_getmntent = yes; then # This system has the getmntent function. # Determine whether it's the one-argument variant or the two-argument one. if test -z "$ac_list_mounted_fs"; then # 4.3BSD, SunOS, HP-UX, Dynix, Irix AC_MSG_CHECKING([for one-argument getmntent function]) AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ #include #include #if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif #endif ]], [[ struct mntent *mnt = 0; char *table = MOUNTED; if (sizeof mnt && sizeof table) return 0;]])], [fu_cv_sys_mounted_getmntent1=yes], [fu_cv_sys_mounted_getmntent1=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1]) if test $fu_cv_sys_mounted_getmntent1 = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETMNTENT1], [1], [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR4 AC_MSG_CHECKING([for two-argument getmntent function]) AC_CACHE_VAL([fu_cv_sys_mounted_getmntent2], [AC_EGREP_HEADER([getmntent], [sys/mnttab.h], fu_cv_sys_mounted_getmntent2=yes, fu_cv_sys_mounted_getmntent2=no)]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent2]) if test $fu_cv_sys_mounted_getmntent2 = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETMNTENT2], [1], [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes two arguments. (SVR4)]) AC_CHECK_FUNCS([hasmntopt]) fi fi fi if test -z "$ac_list_mounted_fs"; then # DEC Alpha running OSF/1, and Apple Darwin 1.3. # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h AC_MSG_CHECKING([for getfsstat function]) AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) #else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] #endif $getfsstat_includes]] , [[struct statfs *stats; int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); char *t = FS_TYPE (*stats); ]])], [fu_cv_sys_mounted_getfsstat=yes], [fu_cv_sys_mounted_getfsstat=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat]) if test $fu_cv_sys_mounted_getfsstat = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETFSSTAT], [1], [Define if there is a function named getfsstat for reading the list of mounted file systems. (DEC Alpha running OSF/1)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR3 AC_MSG_CHECKING([for FIXME existence of three headers]) AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp], [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #include #include #include ]])], [fu_cv_sys_mounted_fread_fstyp=yes], [fu_cv_sys_mounted_fread_fstyp=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp]) if test $fu_cv_sys_mounted_fread_fstyp = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_FREAD_FSTYP], [1], [Define if (like SVR2) there is no specific function for reading the list of mounted file systems, and your system has these header files: and . (SVR3)]) fi fi if test -z "$ac_list_mounted_fs"; then # 4.4BSD and DEC OSF/1. AC_MSG_CHECKING([for getmntinfo function]) AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo], [ test "$ac_cv_func_getmntinfo" = yes \ && fu_cv_sys_mounted_getmntinfo=yes \ || fu_cv_sys_mounted_getmntinfo=no ]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo]) if test $fu_cv_sys_mounted_getmntinfo = yes; then AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if HAVE_SYS_PARAM_H # include #endif #include #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_STATVFS_H # include #endif extern #ifdef __cplusplus "C" #endif int getmntinfo (struct statfs **, int); ]], [])], [fu_cv_sys_mounted_getmntinfo2=no], [fu_cv_sys_mounted_getmntinfo2=yes]) ]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2]) if test $fu_cv_sys_mounted_getmntinfo2 = no; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETMNTINFO], [1], [Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statfs'. (4.4BSD, Darwin)]) else ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETMNTINFO2], [1], [Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statvfs'. (NetBSD 3.0)]) fi fi fi if test -z "$ac_list_mounted_fs"; then # Ultrix AC_MSG_CHECKING([for getmnt function]) AC_CACHE_VAL([fu_cv_sys_mounted_getmnt], [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #include #include ]])], [fu_cv_sys_mounted_getmnt=yes], [fu_cv_sys_mounted_getmnt=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt]) if test $fu_cv_sys_mounted_getmnt = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_GETMNT], [1], [Define if there is a function named getmnt for reading the list of mounted file systems. (Ultrix)]) fi fi if test -z "$ac_list_mounted_fs"; then # BeOS AC_CHECK_FUNCS([next_dev fs_stat_dev]) AC_CHECK_HEADERS([fs_info.h]) AC_MSG_CHECKING([for BEOS mounted file system support functions]) if test $ac_cv_header_fs_info_h = yes \ && test $ac_cv_func_next_dev = yes \ && test $ac_cv_func_fs_stat_dev = yes; then fu_result=yes else fu_result=no fi AC_MSG_RESULT([$fu_result]) if test $fu_result = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_FS_STAT_DEV], [1], [Define if there are functions named next_dev and fs_stat_dev for reading the list of mounted file systems. (BeOS)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR2 AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) AC_CACHE_VAL([fu_cv_sys_mounted_fread], [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include ]])], [fu_cv_sys_mounted_fread=yes], [fu_cv_sys_mounted_fread=no])]) AC_MSG_RESULT([$fu_cv_sys_mounted_fread]) if test $fu_cv_sys_mounted_fread = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_FREAD], [1], [Define if there is no specific function for reading the list of mounted file systems. fread will be used to read /etc/mnttab. (SVR2) ]) fi fi if test -z "$ac_list_mounted_fs"; then # Interix / BSD alike statvfs # the code is really interix specific, so make sure, we're on it. case "$host" in *-interix*) AC_CHECK_FUNCS([statvfs]) if test $ac_cv_func_statvfs = yes; then ac_list_mounted_fs=found AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1], [Define if we are on interix, and ought to use statvfs plus some special knowledge on where mounted file systems can be found. (Interix)]) fi ;; esac fi if test -z "$ac_list_mounted_fs"; then AC_MSG_ERROR([could not determine how to read list of mounted file systems]) # FIXME -- no need to abort building the whole package # Can't build mountlist.c or anything that needs its functions fi AS_IF([test $ac_list_mounted_fs = found], [$1], [$2]) ]) coreutils-8.21/m4/getusershell.m40000664000000000000000000000167712071024546013652 00000000000000# getusershell.m4 serial 7 dnl Copyright (C) 2002-2003, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETUSERSHELL], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare {get,set,end}usershell(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl Check whether the getusershell function exists. AC_CHECK_FUNCS_ONCE([getusershell]) if test $ac_cv_func_getusershell = yes; then HAVE_GETUSERSHELL=1 dnl Check whether getusershell is declared. AC_CHECK_DECLS([getusershell]) if test $ac_cv_have_decl_getusershell = no; then HAVE_DECL_GETUSERSHELL=0 fi else HAVE_GETUSERSHELL=0 dnl Assume that on platforms which declare it, the function exists. HAVE_DECL_GETUSERSHELL=0 fi ]) coreutils-8.21/m4/gnu-make.m40000664000000000000000000000114212071024546012633 00000000000000# Determine whether recent-enough GNU Make is being used. # Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # Set GNU_MAKE if we are using a recent-enough version of GNU make. # Use --version AND trailing junk, because SGI Make doesn't fail on --version. AC_DEFUN([gl_GNU_MAKE], [ AM_CONDITIONAL([GNU_MAKE], [${MAKE-make} --version /cannot/make/this >/dev/null 2>&1]) ]) coreutils-8.21/m4/safe-write.m40000664000000000000000000000061112071024546013175 00000000000000# safe-write.m4 serial 4 dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of lib/safe-write.c. AC_DEFUN([gl_PREREQ_SAFE_WRITE], [ gl_PREREQ_SAFE_READ ]) coreutils-8.21/m4/d-type.m40000664000000000000000000000172512071024546012340 00000000000000# serial 11 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_type. dnl # Copyright (C) 1997, 1999-2004, 2006, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE], [AC_CACHE_CHECK([for d_type member in directory struct], gl_cv_struct_dirent_d_type, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[struct dirent dp; dp.d_type = 0;]])], [gl_cv_struct_dirent_d_type=yes], [gl_cv_struct_dirent_d_type=no]) ] ) if test $gl_cv_struct_dirent_d_type = yes; then AC_DEFINE([HAVE_STRUCT_DIRENT_D_TYPE], [1], [Define if there is a member named d_type in the struct describing directory headers.]) fi ] ) coreutils-8.21/m4/sha1.m40000664000000000000000000000057212071024546011771 00000000000000# sha1.m4 serial 11 dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA1], [ dnl Prerequisites of lib/sha1.c. AC_REQUIRE([gl_BIGENDIAN]) : ]) coreutils-8.21/m4/multiarch.m40000664000000000000000000000367412071024546013133 00000000000000# multiarch.m4 serial 7 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Determine whether the compiler is or may be producing universal binaries. # # On Mac OS X 10.5 and later systems, the user can create libraries and # executables that work on multiple system types--known as "fat" or # "universal" binaries--by specifying multiple '-arch' options to the # compiler but only a single '-arch' option to the preprocessor. Like # this: # # ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ # CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ # CPP="gcc -E" CXXCPP="g++ -E" # # Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly. AC_DEFUN_ONCE([gl_MULTIARCH], [ dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. gl_cv_c_multiarch=no AC_COMPILE_IFELSE( [AC_LANG_SOURCE( [[#ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; ]])], [ dnl Check for potential -arch flags. It is not universal unless dnl there are at least two -arch flags with different values. arch= prev= for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do if test -n "$prev"; then case $word in i?86 | x86_64 | ppc | ppc64) if test -z "$arch" || test "$arch" = "$word"; then arch="$word" else gl_cv_c_multiarch=yes fi ;; esac prev= else if test "x$word" = "x-arch"; then prev=arch fi fi done ]) if test $gl_cv_c_multiarch = yes; then APPLE_UNIVERSAL_BUILD=1 else APPLE_UNIVERSAL_BUILD=0 fi AC_SUBST([APPLE_UNIVERSAL_BUILD]) ]) coreutils-8.21/m4/fcntl-o.m40000664000000000000000000001107412071024546012476 00000000000000# fcntl-o.m4 serial 4 dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. # Test whether the flags O_NOATIME and O_NOFOLLOW actually work. # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise. # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise. AC_DEFUN([gl_FCNTL_O_FLAGS], [ dnl Persuade glibc to define O_NOATIME and O_NOFOLLOW. dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes dnl AC_GNU_SOURCE. m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], [AC_REQUIRE([AC_GNU_SOURCE])]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CHECK_FUNCS_ONCE([symlink]) AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include # include # defined sleep(n) _sleep ((n) * 1000) #endif #include #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; ]], [[ int result = !constants; #if HAVE_SYMLINK { static char const sym[] = "conftest.sym"; if (symlink ("/dev/null", sym) != 0) result |= 2; else { int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0); if (fd >= 0) { close (fd); result |= 4; } } if (unlink (sym) != 0 || symlink (".", sym) != 0) result |= 2; else { int fd = open (sym, O_RDONLY | O_NOFOLLOW); if (fd >= 0) { close (fd); result |= 4; } } unlink (sym); } #endif { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); if (fd < 0) result |= 8; else { struct stat st0; if (fstat (fd, &st0) != 0) result |= 16; else { char c; sleep (1); if (read (fd, &c, 1) != 1) result |= 24; else { if (close (fd) != 0) result |= 32; else { struct stat st1; if (stat (file, &st1) != 0) result |= 40; else if (st0.st_atime != st1.st_atime) result |= 64; } } } } } return result;]])], [gl_cv_header_working_fcntl_h=yes], [case $? in #( 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac], [gl_cv_header_working_fcntl_h=cross-compiling])]) case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], [Define to 1 if O_NOATIME works.]) case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], [Define to 1 if O_NOFOLLOW works.]) ]) coreutils-8.21/m4/closein.m40000664000000000000000000000053612071024546012571 00000000000000# closein.m4 serial 2 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/closein.c. AC_DEFUN([gl_CLOSEIN], [ : ]) coreutils-8.21/m4/fclose.m40000664000000000000000000000102312071024546012400 00000000000000# fclose.m4 serial 5 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FCLOSE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_FUNC_FFLUSH_STDIN if test $gl_cv_func_fflush_stdin = no; then REPLACE_FCLOSE=1 fi AC_REQUIRE([gl_FUNC_CLOSE]) if test $REPLACE_CLOSE = 1; then REPLACE_FCLOSE=1 fi ]) coreutils-8.21/m4/socklen.m40000664000000000000000000000623612071024546012576 00000000000000# socklen.m4 serial 10 dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Albert Chin, Windows fixes from Simon Josefsson. dnl Check for socklen_t: historically on BSD it is an int, and in dnl POSIX 1g it is a type of its own, but some platforms use different dnl types for the argument to getsockopt, getpeername, etc.: dnl HP-UX 10.20, IRIX 6.5, OSF/1 4.0, Interix 3.5, BeOS. dnl So we have to test to find something that will work. AC_DEFUN([gl_TYPE_SOCKLEN_T], [AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])dnl AC_CHECK_TYPE([socklen_t], , [AC_MSG_CHECKING([for socklen_t equivalent]) AC_CACHE_VAL([gl_cv_socklen_t_equiv], [# Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= for arg2 in "struct sockaddr" void; do for t in int size_t "unsigned int" "long int" "unsigned long int"; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include #include int getpeername (int, $arg2 *, $t *);]], [[$t len; getpeername (0, 0, &len);]])], [gl_cv_socklen_t_equiv="$t"]) test "$gl_cv_socklen_t_equiv" != "" && break done test "$gl_cv_socklen_t_equiv" != "" && break done ]) if test "$gl_cv_socklen_t_equiv" = ""; then AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) fi AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], [type to use in place of socklen_t if not defined])], [gl_SOCKET_HEADERS])]) dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find dnl it there too. But on Cygwin, wc2tcpip.h must not be included. Users dnl of this module should use the same include pattern as gl_SOCKET_HEADERS. dnl When you change this macro, keep also in sync: dnl - gl_CHECK_SOCKET_HEADERS, dnl - the Include section of modules/socklen. AC_DEFUN([gl_SOCKET_HEADERS], [ /* is not needed according to POSIX, but the in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include #if HAVE_SYS_SOCKET_H # include #elif HAVE_WS2TCPIP_H # include #endif ]) dnl Tests for the existence of the header for socket facilities. dnl Defines the C macros HAVE_SYS_SOCKET_H, HAVE_WS2TCPIP_H. dnl This macro must match gl_SOCKET_HEADERS. AC_DEFUN([gl_CHECK_SOCKET_HEADERS], [AC_CHECK_HEADERS_ONCE([sys/socket.h]) if test $ac_cv_header_sys_socket_h = no; then dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make dnl the check for those headers unconditional; yet cygwin reports dnl that the headers are present but cannot be compiled (since on dnl cygwin, all socket information should come from sys/socket.h). AC_CHECK_HEADERS([ws2tcpip.h]) fi ]) coreutils-8.21/m4/arpa_inet_h.m40000664000000000000000000000357112071024546013410 00000000000000# arpa_inet_h.m4 serial 13 dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Simon Josefsson and Bruno Haible AC_DEFUN([gl_HEADER_ARPA_INET], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([arpa/inet.h]) if test $ac_cv_header_arpa_inet_h = yes; then HAVE_ARPA_INET_H=1 else HAVE_ARPA_INET_H=0 fi AC_SUBST([HAVE_ARPA_INET_H]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([arpa/inet.h]) AC_REQUIRE([gl_FEATURES_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* On some systems, this header is not self-consistent. */ #if !(defined __GLIBC__ || defined __UCLIBC__) # include #endif #ifdef __TANDEM # include #endif #include ]], [inet_ntop inet_pton]) ]) AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], [ GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP]) GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) REPLACE_INET_NTOP=0; AC_SUBST([REPLACE_INET_NTOP]) REPLACE_INET_PTON=0; AC_SUBST([REPLACE_INET_PTON]) ]) coreutils-8.21/m4/lock.m40000664000000000000000000000236212071024546012064 00000000000000# lock.m4 serial 13 (gettext-0.18.2) dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_LOCK], [ AC_REQUIRE([gl_THREADLIB]) if test "$gl_threads_api" = posix; then # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. AC_CHECK_TYPE([pthread_rwlock_t], [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], [Define if the POSIX multithreading library has read/write locks.])], [], [#include ]) # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. AC_COMPILE_IFELSE([ AC_LANG_PROGRAM( [[#include ]], [[ #if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif ]])], [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) fi gl_PREREQ_LOCK ]) # Prerequisites of lib/glthread/lock.c. AC_DEFUN([gl_PREREQ_LOCK], [:]) coreutils-8.21/m4/st_dm_mode.m40000664000000000000000000000145512071024546013250 00000000000000# serial 6 # Copyright (C) 1998-1999, 2001, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member. AC_DEFUN([AC_STRUCT_ST_DM_MODE], [AC_CACHE_CHECK([for st_dm_mode in struct stat], [ac_cv_struct_st_dm_mode], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[struct stat s; s.st_dm_mode;]])], [ac_cv_struct_st_dm_mode=yes], [ac_cv_struct_st_dm_mode=no])]) if test $ac_cv_struct_st_dm_mode = yes; then AC_DEFINE([HAVE_ST_DM_MODE], [1], [Define if struct stat has an st_dm_mode member. ]) fi ] ) coreutils-8.21/m4/getgroups.m40000664000000000000000000000712212071024546013152 00000000000000# serial 18 dnl From Jim Meyering. dnl A wrapper around AC_FUNC_GETGROUPS. # Copyright (C) 1996-1997, 1999-2004, 2008-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. m4_version_prereq([2.70], [] ,[ # This is taken from the following Autoconf patch: # http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 AC_DEFUN([AC_FUNC_GETGROUPS], [ AC_REQUIRE([AC_TYPE_GETGROUPS])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles AC_CHECK_FUNC([getgroups]) # If we don't yet have getgroups, see if it's in -lbsd. # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd]) fi # Run the program to test the functionality of the system-supplied # getgroups function only if there is such a function. if test $ac_cv_func_getgroups = yes; then AC_CACHE_CHECK([for working getgroups], [ac_cv_func_getgroups_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[/* On Ultrix 4.3, getgroups (0, 0) always fails. */ return getgroups (0, 0) == -1;]]) ], [ac_cv_func_getgroups_works=yes], [ac_cv_func_getgroups_works=no], [case "$host_os" in # (( # Guess yes on glibc systems. *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; # If we don't know, assume the worst. *) ac_cv_func_getgroups_works="guessing no" ;; esac ]) ]) else ac_cv_func_getgroups_works=no fi case "$ac_cv_func_getgroups_works" in *yes) AC_DEFINE([HAVE_GETGROUPS], [1], [Define to 1 if your system has a working `getgroups' function.]) ;; esac LIBS=$ac_save_LIBS ])# AC_FUNC_GETGROUPS ]) AC_DEFUN([gl_FUNC_GETGROUPS], [ AC_REQUIRE([AC_TYPE_GETGROUPS]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_FUNC_GETGROUPS if test $ac_cv_func_getgroups != yes; then HAVE_GETGROUPS=0 else if test "$ac_cv_type_getgroups" != gid_t \ || { case "$ac_cv_func_getgroups_works" in *yes) false;; *) true;; esac }; then REPLACE_GETGROUPS=1 AC_DEFINE([GETGROUPS_ZERO_BUG], [1], [Define this to 1 if getgroups(0,NULL) does not return the number of groups.]) else dnl Detect FreeBSD bug; POSIX requires getgroups(-1,ptr) to fail. AC_CACHE_CHECK([whether getgroups handles negative values], [gl_cv_func_getgroups_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[int size = getgroups (0, 0); gid_t *list = malloc (size * sizeof *list); return getgroups (-1, list) != -1;]])], [gl_cv_func_getgroups_works=yes], [gl_cv_func_getgroups_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_getgroups_works="guessing no" ;; esac ])]) case "$gl_cv_func_getgroups_works" in *yes) ;; *) REPLACE_GETGROUPS=1 ;; esac fi fi test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" ]) coreutils-8.21/m4/rawmemchr.m40000664000000000000000000000117212071024546013117 00000000000000# rawmemchr.m4 serial 2 dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RAWMEMCHR], [ dnl Persuade glibc to declare rawmemchr(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([rawmemchr]) if test $ac_cv_func_rawmemchr = no; then HAVE_RAWMEMCHR=0 fi ]) # Prerequisites of lib/strchrnul.c. AC_DEFUN([gl_PREREQ_RAWMEMCHR], [:]) coreutils-8.21/m4/tls.m40000664000000000000000000000056212071024546011736 00000000000000# tls.m4 serial 2 (gettext-0.18) dnl Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_TLS], [ AC_REQUIRE([gl_THREADLIB]) ]) coreutils-8.21/m4/lib-link.m40000664000000000000000000010044312071024546012634 00000000000000# lib-link.m4 serial 26 (gettext-0.18.2) dnl Copyright (C) 2001-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[m4_translit([$1],[./+-], [____])]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[m4_translit([$1],[./+-], [____])]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_LINK_IFELSE( [AC_LANG_PROGRAM([[$3]], [[$4]])], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_libname_spec, dnl acl_library_names_spec, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) coreutils-8.21/m4/fseterr.m40000664000000000000000000000053012071024546012601 00000000000000# fseterr.m4 serial 1 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSETERR], [ AC_CHECK_FUNCS_ONCE([__fseterr]) ]) coreutils-8.21/m4/mmap-anon.m40000664000000000000000000000373312071024546013022 00000000000000# mmap-anon.m4 serial 10 dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Detect how mmap can be used to create anonymous (not file-backed) memory # mappings. # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS # and MAP_ANON exist and have the same value. # - On HP-UX, only MAP_ANONYMOUS exists. # - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists. # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be # used. AC_DEFUN([gl_FUNC_MMAP_ANON], [ dnl Persuade glibc to define MAP_ANONYMOUS. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. AC_CHECK_FUNC([mmap], [gl_have_mmap=yes], [gl_have_mmap=no]) # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then AC_MSG_CHECKING([for MAP_ANONYMOUS]) AC_EGREP_CPP([I cannot identify this map], [ #include #ifdef MAP_ANONYMOUS I cannot identify this map #endif ], [gl_have_mmap_anonymous=yes]) if test $gl_have_mmap_anonymous != yes; then AC_EGREP_CPP([I cannot identify this map], [ #include #ifdef MAP_ANON I cannot identify this map #endif ], [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON], [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.]) gl_have_mmap_anonymous=yes]) fi AC_MSG_RESULT([$gl_have_mmap_anonymous]) if test $gl_have_mmap_anonymous = yes; then AC_DEFINE([HAVE_MAP_ANONYMOUS], [1], [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including config.h and .]) fi fi ]) coreutils-8.21/m4/msvc-inval.m40000664000000000000000000000133412071024546013211 00000000000000# msvc-inval.m4 serial 1 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MSVC_INVAL], [ AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler]) if test $ac_cv_func__set_invalid_parameter_handler = yes; then HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1], [Define to 1 on MSVC platforms that have the "invalid parameter handler" concept.]) else HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER]) ]) coreutils-8.21/m4/autobuild.m40000664000000000000000000000201012071024546013112 00000000000000# autobuild.m4 serial 7 dnl Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # Usage: AB_INIT([MODE]). AC_DEFUN([AB_INIT], [ AC_REQUIRE([AC_CANONICAL_BUILD]) AC_REQUIRE([AC_CANONICAL_HOST]) if test -z "$AB_PACKAGE"; then AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} fi AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) if test -z "$AB_VERSION"; then AB_VERSION=${PACKAGE_VERSION:-$VERSION} fi AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) hostname=`hostname` if test "$hostname"; then AC_MSG_NOTICE([autobuild hostname... $hostname]) fi ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` if test "$?" != 0; then date=`date` fi if test "$date"; then AC_MSG_NOTICE([autobuild timestamp... $date]) fi ]) coreutils-8.21/m4/link.m40000664000000000000000000000336712071024546012077 00000000000000# link.m4 serial 8 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([link]) if test $ac_cv_func_link = no; then HAVE_LINK=0 else AC_CACHE_CHECK([whether link obeys POSIX], [gl_cv_func_link_works], [touch conftest.a # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.a conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int result = 0; if (!link ("conftest.a", "conftest.b/")) result |= 1; #if HAVE_LSTAT if (!link ("conftest.lnk/", "conftest.b")) result |= 2; if (rename ("conftest.a", "conftest.b")) result |= 4; if (!link ("conftest.b", "conftest.lnk")) result |= 8; #endif return result; ]])], [gl_cv_func_link_works=yes], [gl_cv_func_link_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_link_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_link_works="guessing no" ;; esac ]) rm -f conftest.a conftest.b conftest.lnk]) case "$gl_cv_func_link_works" in *yes) ;; *) REPLACE_LINK=1 ;; esac fi ]) coreutils-8.21/m4/utimes.m40000664000000000000000000000763712071024546012454 00000000000000# Detect some bugs in glibc's implementation of utimes. # serial 3 dnl Copyright (C) 2003-2005, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # See if we need to work around bugs in glibc's implementation of # utimes from 2003-07-12 to 2003-09-17. # First, there was a bug that would make utimes set mtime # and atime to zero (1970-01-01) unconditionally. # Then, there was code to round rather than truncate. # Then, there was an implementation (sparc64, Linux-2.4.28, glibc-2.3.3) # that didn't honor the NULL-means-set-to-current-time semantics. # Finally, there was also a version of utimes that failed on read-only # files, while utime worked fine (linux-2.2.20, glibc-2.2.5). # # From Jim Meyering, with suggestions from Paul Eggert. AC_DEFUN([gl_FUNC_UTIMES], [ AC_CACHE_CHECK([whether the utimes function works], [gl_cv_func_working_utimes], [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include #include #include #include #include #include #include static int inorder (time_t a, time_t b, time_t c) { return a <= b && b <= c; } int main () { int result = 0; char const *file = "conftest.utimes"; static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; /* Test whether utimes() essentially works. */ { struct stat sbuf; FILE *f = fopen (file, "w"); if (f == NULL) result |= 1; else if (fclose (f) != 0) result |= 1; else if (utimes (file, timeval) != 0) result |= 2; else if (lstat (file, &sbuf) != 0) result |= 1; else if (!(sbuf.st_atime == timeval[0].tv_sec && sbuf.st_mtime == timeval[1].tv_sec)) result |= 4; if (unlink (file) != 0) result |= 1; } /* Test whether utimes() with a NULL argument sets the file's timestamp to the current time. Use 'fstat' as well as 'time' to determine the "current" time, to accommodate NFS file systems if there is a time skew between the host and the NFS server. */ { int fd = open (file, O_WRONLY|O_CREAT, 0644); if (fd < 0) result |= 1; else { time_t t0, t2; struct stat st0, st1, st2; if (time (&t0) == (time_t) -1) result |= 1; else if (fstat (fd, &st0) != 0) result |= 1; else if (utimes (file, timeval) != 0) result |= 2; else if (utimes (file, NULL) != 0) result |= 8; else if (fstat (fd, &st1) != 0) result |= 1; else if (write (fd, "\n", 1) != 1) result |= 1; else if (fstat (fd, &st2) != 0) result |= 1; else if (time (&t2) == (time_t) -1) result |= 1; else { int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); if (! (st1.st_atime == st1.st_mtime)) result |= 16; if (! (m_ok_POSIX || m_ok_NFS)) result |= 32; } if (close (fd) != 0) result |= 1; } if (unlink (file) != 0) result |= 1; } /* Test whether utimes() with a NULL argument works on read-only files. */ { int fd = open (file, O_WRONLY|O_CREAT, 0444); if (fd < 0) result |= 1; else if (close (fd) != 0) result |= 1; else if (utimes (file, NULL) != 0) result |= 64; if (unlink (file) != 0) result |= 1; } return result; } ]])], [gl_cv_func_working_utimes=yes], [gl_cv_func_working_utimes=no], [gl_cv_func_working_utimes=no])]) if test $gl_cv_func_working_utimes = yes; then AC_DEFINE([HAVE_WORKING_UTIMES], [1], [Define if utimes works properly. ]) fi ]) coreutils-8.21/m4/realloc.m40000664000000000000000000000475312071024546012563 00000000000000# realloc.m4 serial 13 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. m4_version_prereq([2.70], [] ,[ # This is taken from the following Autoconf patch: # http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 AC_DEFUN([_AC_FUNC_REALLOC_IF], [ AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles AC_CHECK_HEADERS([stdlib.h]) AC_CACHE_CHECK([for GNU libc compatible realloc], [ac_cv_func_realloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif ]], [[return ! realloc (0, 0);]]) ], [ac_cv_func_realloc_0_nonnull=yes], [ac_cv_func_realloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. *-gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_realloc_0_nonnull=yes ;; # If we don't know, assume the worst. *) ac_cv_func_realloc_0_nonnull=no ;; esac ]) ]) AS_IF([test $ac_cv_func_realloc_0_nonnull = yes], [$1], [$2]) ])# AC_FUNC_REALLOC ]) # gl_FUNC_REALLOC_GNU # ------------------- # Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace # realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) dnl _AC_FUNC_REALLOC_IF is defined in Autoconf. _AC_FUNC_REALLOC_IF( [AC_DEFINE([HAVE_REALLOC_GNU], [1], [Define to 1 if your system has a GNU libc compatible 'realloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_REALLOC_GNU], [0]) REPLACE_REALLOC=1 ]) ])# gl_FUNC_REALLOC_GNU # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then AC_DEFINE([HAVE_REALLOC_POSIX], [1], [Define if the 'realloc' function is POSIX compliant.]) else REPLACE_REALLOC=1 fi ]) coreutils-8.21/m4/filemode.m40000664000000000000000000000061112071024546012713 00000000000000# filemode.m4 serial 8 dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILEMODE], [ AC_REQUIRE([AC_STRUCT_ST_DM_MODE]) AC_CHECK_DECLS_ONCE([strmode]) ]) coreutils-8.21/m4/sockpfaf.m40000664000000000000000000000522612071024546012732 00000000000000# sockpfaf.m4 serial 8 dnl Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...) dnl and some common address families (AF_INET, AF_INET6, ...). dnl This test assumes that a system supports an address family if and only if dnl it supports the corresponding protocol family. dnl From Bruno Haible. AC_DEFUN([gl_SOCKET_FAMILIES], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) AC_MSG_CHECKING([for IPv4 sockets]) AC_CACHE_VAL([gl_cv_socket_ipv4], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif]], [[int x = AF_INET; struct in_addr y; struct sockaddr_in z; if (&x && &y && &z) return 0;]])], gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) AC_MSG_RESULT([$gl_cv_socket_ipv4]) if test $gl_cv_socket_ipv4 = yes; then AC_DEFINE([HAVE_IPV4], [1], [Define to 1 if defines AF_INET.]) fi AC_MSG_CHECKING([for IPv6 sockets]) AC_CACHE_VAL([gl_cv_socket_ipv6], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif]], [[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; if (&x && &y && &z) return 0;]])], gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) AC_MSG_RESULT([$gl_cv_socket_ipv6]) if test $gl_cv_socket_ipv6 = yes; then AC_DEFINE([HAVE_IPV6], [1], [Define to 1 if defines AF_INET6.]) fi ]) AC_DEFUN([gl_SOCKET_FAMILY_UNIX], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_CHECK_HEADERS_ONCE([sys/un.h]) AC_MSG_CHECKING([for UNIX domain sockets]) AC_CACHE_VAL([gl_cv_socket_unix], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_SYS_UN_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif]], [[int x = AF_UNIX; struct sockaddr_un y; if (&x && &y) return 0;]])], gl_cv_socket_unix=yes, gl_cv_socket_unix=no)]) AC_MSG_RESULT([$gl_cv_socket_unix]) if test $gl_cv_socket_unix = yes; then AC_DEFINE([HAVE_UNIXSOCKET], [1], [Define to 1 if defines AF_UNIX.]) fi ]) coreutils-8.21/m4/parse-datetime.m40000664000000000000000000000406712071024546014044 00000000000000# parse-datetime.m4 serial 21 dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Define HAVE_COMPOUND_LITERALS if the C compiler supports compound literals dnl as in ISO C99. dnl Note that compound literals such as (struct s) { 3, 4 } can be used for dnl initialization of stack-allocated variables, but are not constant dnl expressions and therefore cannot be used as initializer for global or dnl static variables (even though gcc supports this in pre-C99 mode). AC_DEFUN([gl_C_COMPOUND_LITERALS], [ AC_CACHE_CHECK([for compound literals], [gl_cv_compound_literals], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[struct s { int i, j; };]], [[struct s t = (struct s) { 3, 4 }; if (t.i != 0) return 0;]])], gl_cv_compound_literals=yes, gl_cv_compound_literals=no)]) if test $gl_cv_compound_literals = yes; then AC_DEFINE([HAVE_COMPOUND_LITERALS], [1], [Define if you have compound literals.]) fi ]) AC_DEFUN([gl_PARSE_DATETIME], [ dnl Prerequisites of lib/parse-datetime.h. AC_REQUIRE([AM_STDBOOL_H]) AC_REQUIRE([gl_TIMESPEC]) dnl Prerequisites of lib/parse-datetime.y. AC_REQUIRE([gl_BISON]) AC_REQUIRE([gl_C_COMPOUND_LITERALS]) AC_STRUCT_TIMEZONE AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TM_GMTOFF]) AC_COMPILE_IFELSE( [AC_LANG_SOURCE([[ #include /* for time_t */ #include /* for CHAR_BIT, LONG_MIN, LONG_MAX */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1]; typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1]; ]])], [AC_DEFINE([TIME_T_FITS_IN_LONG_INT], [1], [Define to 1 if all 'time_t' values fit in a 'long int'.]) ]) ]) coreutils-8.21/m4/fstat.m40000664000000000000000000000164612071024546012261 00000000000000# fstat.m4 serial 4 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSTAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_FSTAT=1 fi AC_REQUIRE([gl_HEADER_SYS_STAT_H]) if test $WINDOWS_64_BIT_ST_SIZE = 1; then REPLACE_FSTAT=1 fi dnl Replace fstat() for supporting the gnulib-defined open() on directories. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then case "$gl_cv_func_open_directory_works" in *yes) ;; *) REPLACE_FSTAT=1 ;; esac fi ]) ]) # Prerequisites of lib/fstat.c. AC_DEFUN([gl_PREREQ_FSTAT], [:]) coreutils-8.21/m4/strndup.m40000664000000000000000000000321712071024546012633 00000000000000# strndup.m4 serial 21 dnl Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRNDUP], [ dnl Persuade glibc to declare strndup(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strndup]) AC_CHECK_FUNCS_ONCE([strndup]) if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi if test $ac_cv_func_strndup = yes; then HAVE_STRNDUP=1 # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include ]], [[ #if !HAVE_DECL_STRNDUP extern #ifdef __cplusplus "C" #endif char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0';]])], [gl_cv_func_strndup_works=yes], [gl_cv_func_strndup_works=no], [ changequote(,)dnl case $host_os in aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; *) gl_cv_func_strndup_works="guessing yes";; esac changequote([,])dnl ])]) case $gl_cv_func_strndup_works in *no) REPLACE_STRNDUP=1 ;; esac else HAVE_STRNDUP=0 fi ]) coreutils-8.21/m4/dirent-safer.m40000664000000000000000000000051412071024546013514 00000000000000#serial 2 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DIRENT_SAFER], [ AC_CHECK_FUNCS_ONCE([fdopendir]) ]) coreutils-8.21/m4/fchdir.m40000664000000000000000000000402412071024546012370 00000000000000# fchdir.m4 serial 21 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FCHDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([fchdir]) if test $ac_cv_have_decl_fchdir = no; then HAVE_DECL_FCHDIR=0 fi AC_REQUIRE([gl_TEST_FCHDIR]) if test $HAVE_FCHDIR = 0; then AC_LIBOBJ([fchdir]) gl_PREREQ_FCHDIR AC_DEFINE([REPLACE_FCHDIR], [1], [Define to 1 if gnulib's fchdir() replacement is used.]) dnl We must also replace anything that can manipulate a directory fd, dnl to keep our bookkeeping up-to-date. We don't have to replace dnl fstatat, since no platform has fstatat but lacks fchdir. AC_CACHE_CHECK([whether open can visit directories], [gl_cv_func_open_directory_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [return open(".", O_RDONLY) < 0;])], [gl_cv_func_open_directory_works=yes], [gl_cv_func_open_directory_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_open_directory_works="guessing no" ;; esac ])]) case "$gl_cv_func_open_directory_works" in *yes) ;; *) AC_DEFINE([REPLACE_OPEN_DIRECTORY], [1], [Define to 1 if open() should work around the inability to open a directory.]) ;; esac fi ]) # Determine whether to use the overrides in lib/fchdir.c. AC_DEFUN([gl_TEST_FCHDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fchdir]) if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi ]) # Prerequisites of lib/fchdir.c. AC_DEFUN([gl_PREREQ_FCHDIR], [:]) coreutils-8.21/m4/strtod.m40000664000000000000000000000755212071024546012461 00000000000000# strtod.m4 serial 22 dnl Copyright (C) 2002-2003, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOD], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) m4_ifdef([gl_FUNC_STRTOD_OBSOLETE], [ dnl Test whether strtod is declared. dnl Don't call AC_FUNC_STRTOD, because it does not have the right guess dnl when cross-compiling. dnl Don't call AC_CHECK_FUNCS([strtod]) because it would collide with the dnl ac_cv_func_strtod variable set by the AC_FUNC_STRTOD macro. AC_CHECK_DECLS_ONCE([strtod]) if test $ac_cv_have_decl_strtod != yes; then HAVE_STRTOD=0 fi ]) if test $HAVE_STRTOD = 1; then AC_CACHE_CHECK([whether strtod obeys C99], [gl_cv_func_strtod_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equal (double x, double y) { return x == y; } ]], [[ int result = 0; { /* In some old versions of Linux (2000 or before), strtod mis-parses strings with leading '+'. */ const char *string = " +69"; char *term; double value = strtod (string, &term); if (value != 69 || term != (string + 4)) result |= 1; } { /* Under Solaris 2.4, strtod returns the wrong value for the terminating character under some conditions. */ const char *string = "NaN"; char *term; strtod (string, &term); if (term != string && *(term - 1) == 0) result |= 2; } { /* Older glibc and Cygwin mis-parse "-0x". */ const char *string = "-0x"; char *term; double value = strtod (string, &term); double zero = 0.0; if (1.0 / value != -1.0 / zero || term != (string + 2)) result |= 4; } { /* Many platforms do not parse hex floats. */ const char *string = "0XaP+1"; char *term; double value = strtod (string, &term); if (value != 20.0 || term != (string + 6)) result |= 8; } { /* Many platforms do not parse infinities. HP-UX 11.31 parses inf, but mistakenly sets errno. */ const char *string = "inf"; char *term; double value; errno = 0; value = strtod (string, &term); if (value != HUGE_VAL || term != (string + 3) || errno) result |= 16; } { /* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */ const char *string = "nan()"; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 5)) result |= 32; } { /* darwin 10.6.1 misparses "nan(". */ const char *string = "nan("; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 3)) result |= 64; } return result; ]])], [gl_cv_func_strtod_works=yes], [gl_cv_func_strtod_works=no], [dnl The last known bugs in glibc strtod(), as of this writing, dnl were fixed in version 2.8 AC_EGREP_CPP([Lucky user], [ #include #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 8) || (__GLIBC__ > 2)) \ && !defined __UCLIBC__ Lucky user #endif #endif ], [gl_cv_func_strtod_works="guessing yes"], [gl_cv_func_strtod_works="guessing no"])])]) case "$gl_cv_func_strtod_works" in *yes) ;; *) REPLACE_STRTOD=1 ;; esac fi ]) # Prerequisites of lib/strtod.c. AC_DEFUN([gl_PREREQ_STRTOD], [ AC_REQUIRE([gl_CHECK_LDEXP_NO_LIBM]) if test $gl_cv_func_ldexp_no_libm = yes; then AC_DEFINE([HAVE_LDEXP_IN_LIBC], [1], [Define if the ldexp function is available in libc.]) fi ]) coreutils-8.21/m4/jm-macros.m40000664000000000000000000001537112102337340013022 00000000000000#serial 110 -*- autoconf -*- dnl Misc type-related macros for coreutils. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([coreutils_MACROS], [ AM_MISSING_PROG(HELP2MAN, help2man) AC_SUBST([MAN]) dnl This macro actually runs replacement code. See isc-posix.m4. AC_REQUIRE([AC_ISC_POSIX])dnl gl_CHECK_ALL_TYPES AC_REQUIRE([gl_CHECK_DECLS]) AC_REQUIRE([gl_PREREQ]) AC_REQUIRE([AC_FUNC_FSEEKO]) # By default, argmatch should fail calling usage (EXIT_FAILURE). AC_DEFINE([ARGMATCH_DIE], [usage (EXIT_FAILURE)], [Define to the function xargmatch calls on failures.]) AC_DEFINE([ARGMATCH_DIE_DECL], [void usage (int _e)], [Define to the declaration of the xargmatch failure function.]) # used by shred AC_CHECK_FUNCS_ONCE([directio]) # Used by install.c. coreutils_saved_libs=$LIBS LIBS="$LIBS $LIB_SELINUX" AC_CHECK_FUNCS([matchpathcon_init_prefix], [], [ case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in no:*) # SELinux disabled ;; *:no) # SELinux disabled ;; *) AC_MSG_WARN([SELinux enabled, but matchpathcon_init_prefix not found]) AC_MSG_WARN([The install utility may run slowly]) esac ]) LIBS=$coreutils_saved_libs # Used by sort.c. AC_CHECK_FUNCS_ONCE([nl_langinfo]) # Used by timeout.c AC_CHECK_FUNCS_ONCE([setrlimit prctl]) # Used by tail.c. AC_CHECK_FUNCS([inotify_init], [AC_DEFINE([HAVE_INOTIFY], [1], [Define to 1 if you have usable inotify support.])]) AC_CHECK_FUNCS_ONCE([ endgrent endpwent fchown fchmod ftruncate iswspace mkfifo mbrlen setgroups sethostname siginterrupt sync sysctl sysinfo tcgetpgrp ]) # These checks are for Interix, to avoid its getgr* functions, in favor # of these replacements. The replacement functions are much more efficient # because they do not query the domain controller for user information # when it is not needed. AC_CHECK_FUNCS_ONCE([ getgrgid_nomembers getgrnam_nomembers getgrent_nomembers ]) dnl This can't use AC_REQUIRE; I'm not quite sure why. cu_PREREQ_STAT_PROG # for dd.c and shred.c # # Use fdatasync only if declared. On MacOS X 10.7, fdatasync exists but # is not declared, and is ineffective. LIB_FDATASYNC= AC_SUBST([LIB_FDATASYNC]) AC_CHECK_DECLS_ONCE([fdatasync]) if test $ac_cv_have_decl_fdatasync = yes; then coreutils_saved_libs=$LIBS AC_SEARCH_LIBS([fdatasync], [rt posix4], [test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync]) AC_CHECK_FUNCS([fdatasync]) LIBS=$coreutils_saved_libs fi # Check whether libcap is usable -- for ls --color support LIB_CAP= AC_ARG_ENABLE([libcap], AC_HELP_STRING([--disable-libcap], [disable libcap support])) if test "X$enable_libcap" != "Xno"; then AC_CHECK_LIB([cap], [cap_get_file], [AC_CHECK_HEADER([sys/capability.h], [LIB_CAP=-lcap AC_DEFINE([HAVE_CAP], [1], [libcap usability])] )]) if test "X$LIB_CAP" = "X"; then if test "X$enable_libcap" = "Xyes"; then AC_MSG_ERROR([libcap library was not found or not usable]) else AC_MSG_WARN([libcap library was not found or not usable.]) AC_MSG_WARN([AC_PACKAGE_NAME will be built without capability support.]) fi fi else AC_MSG_WARN([libcap support disabled by user]) fi AC_SUBST([LIB_CAP]) # See if linking 'seq' requires -lm. # It does on nearly every system. The single exception (so far) is # BeOS which has all the math functions in the normal runtime library # and doesn't have a separate math library. AC_SUBST([SEQ_LIBM]) ac_seq_body=' static double x, y; x = floor (x); x = rint (x); x = modf (x, &y);' AC_TRY_LINK([#include ], [$ac_seq_body], , [ac_seq_save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include ], [$ac_seq_body], [SEQ_LIBM=-lm]) LIBS="$ac_seq_save_LIBS" ]) AC_REQUIRE([AM_LANGINFO_CODESET]) # Accept configure options: --with-tty-group[=GROUP], --without-tty-group # You can determine the group of a TTY via 'stat --format %G /dev/tty' # Omitting this option is equivalent to using --without-tty-group. AC_ARG_WITH([tty-group], AS_HELP_STRING([--with-tty-group[[[=NAME]]]], [group used by system for TTYs, "tty" when not specified] [ (default: do not rely on any group used for TTYs)]), [tty_group_name=$withval], [tty_group_name=no]) if test "x$tty_group_name" != xno; then if test "x$tty_group_name" = xyes; then tty_group_name=tty fi AC_MSG_NOTICE([TTY group used by system set to "$tty_group_name"]) AC_DEFINE_UNQUOTED([TTY_GROUP_NAME], ["$tty_group_name"], [group used by system for TTYs]) fi ]) AC_DEFUN([gl_CHECK_ALL_HEADERS], [ AC_CHECK_HEADERS_ONCE([ hurd.h paths.h priv.h stropts.h sys/param.h sys/systeminfo.h syslog.h ]) AC_CHECK_HEADERS([sys/sysctl.h], [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) ]) # This macro must be invoked before any tests that run the compiler. AC_DEFUN([gl_CHECK_ALL_TYPES], [ dnl Checks for typedefs, structures, and compiler characteristics. AC_REQUIRE([gl_BIGENDIAN]) AC_REQUIRE([AC_C_VOLATILE]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) AC_REQUIRE([gl_CHECK_ALL_HEADERS]) AC_CHECK_MEMBERS( [struct stat.st_author],,, [$ac_includes_default #include ]) AC_REQUIRE([AC_STRUCT_ST_BLOCKS]) AC_REQUIRE([AC_TYPE_GETGROUPS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([AC_TYPE_MODE_T]) AC_REQUIRE([AC_TYPE_OFF_T]) AC_REQUIRE([AC_TYPE_PID_T]) AC_REQUIRE([AC_TYPE_SIZE_T]) AC_REQUIRE([AC_TYPE_UID_T]) AC_CHECK_TYPE([ino_t], [unsigned long int]) dnl This relies on the fact that Autoconf's implementation of dnl AC_CHECK_TYPE checks includes unistd.h. AC_CHECK_TYPE([major_t], [unsigned int]) AC_CHECK_TYPE([minor_t], [unsigned int]) AC_REQUIRE([AC_HEADER_MAJOR]) ]) coreutils-8.21/m4/gettext.m40000664000000000000000000003561512071024546012627 00000000000000# gettext.m4 serial 66 (gettext-0.18.2) dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value '$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ]])], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ]])], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ]])], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) coreutils-8.21/m4/malloc.m40000664000000000000000000000627612071024546012413 00000000000000# malloc.m4 serial 14 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. m4_version_prereq([2.70], [] ,[ # This is taken from the following Autoconf patch: # http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 AC_DEFUN([_AC_FUNC_MALLOC_IF], [ AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles AC_CHECK_HEADERS([stdlib.h]) AC_CACHE_CHECK([for GNU libc compatible malloc], [ac_cv_func_malloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif ]], [[return ! malloc (0);]]) ], [ac_cv_func_malloc_0_nonnull=yes], [ac_cv_func_malloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. *-gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_malloc_0_nonnull=yes ;; # If we don't know, assume the worst. *) ac_cv_func_malloc_0_nonnull=no ;; esac ]) ]) AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2]) ])# _AC_FUNC_MALLOC_IF ]) # gl_FUNC_MALLOC_GNU # ------------------ # Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if # it is not. AC_DEFUN([gl_FUNC_MALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. _AC_FUNC_MALLOC_IF( [AC_DEFINE([HAVE_MALLOC_GNU], [1], [Define to 1 if your system has a GNU libc compatible 'malloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_MALLOC_GNU], [0]) REPLACE_MALLOC=1 ]) ]) # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then AC_DEFINE([HAVE_MALLOC_POSIX], [1], [Define if the 'malloc' function is POSIX compliant.]) else REPLACE_MALLOC=1 fi ]) # Test whether malloc, realloc, calloc are POSIX compliant, # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that dnl all Unix implementations of the function are POSIX compliant. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[]], [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ]])], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) ]) ]) coreutils-8.21/m4/netdb_h.m40000664000000000000000000000304112071024546012532 00000000000000# netdb_h.m4 serial 11 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_NETDB], [ AC_REQUIRE([gl_NETDB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([netdb.h]) if test $ac_cv_header_netdb_h = yes; then HAVE_NETDB_H=1 else HAVE_NETDB_H=0 fi AC_SUBST([HAVE_NETDB_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [getaddrinfo freeaddrinfo gai_strerror getnameinfo]) ]) AC_DEFUN([gl_NETDB_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_NETDB_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_NETDB_H_DEFAULTS], [ GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_STRUCT_ADDRINFO=1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR]) HAVE_DECL_GETADDRINFO=1; AC_SUBST([HAVE_DECL_GETADDRINFO]) HAVE_DECL_GETNAMEINFO=1; AC_SUBST([HAVE_DECL_GETNAMEINFO]) REPLACE_GAI_STRERROR=0; AC_SUBST([REPLACE_GAI_STRERROR]) ]) coreutils-8.21/m4/time_r.m40000664000000000000000000000353012071024546012411 00000000000000dnl Reentrant time functions: localtime_r, gmtime_r. dnl Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_TIME_R], [ dnl Persuade glibc and Solaris to declare localtime_r. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRANT is dnl not defined. AC_CHECK_DECLS([localtime_r], [], [], [[#include ]]) if test $ac_cv_have_decl_localtime_r = no; then HAVE_DECL_LOCALTIME_R=0 fi AC_CHECK_FUNCS_ONCE([localtime_r]) if test $ac_cv_func_localtime_r = yes; then HAVE_LOCALTIME_R=1 AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], [gl_cv_time_r_posix], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[/* We don't need to append 'restrict's to the argument types, even though the POSIX signature has the 'restrict's, since C99 says they can't affect type compatibility. */ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; if (ptr) return 0; /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ *localtime_r (0, 0);]]) ], [gl_cv_time_r_posix=yes], [gl_cv_time_r_posix=no]) ]) if test $gl_cv_time_r_posix = yes; then REPLACE_LOCALTIME_R=0 else REPLACE_LOCALTIME_R=1 fi else HAVE_LOCALTIME_R=0 fi ]) # Prerequisites of lib/time_r.c. AC_DEFUN([gl_PREREQ_TIME_R], [ : ]) coreutils-8.21/m4/locale-tr.m40000664000000000000000000001211112071024546013007 00000000000000# locale-tr.m4 serial 10 dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a turkish locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_TR_UTF8], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a turkish Unicode locale], [gt_cv_locale_tr_utf8], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=Turkish_Turkey.65001 else # None found. gt_cv_locale_tr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi ;; esac else gt_cv_locale_tr_utf8=none fi rm -fr conftest* ]) LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 AC_SUBST([LOCALE_TR_UTF8]) ]) coreutils-8.21/m4/posix_spawn.m40000664000000000000000000003732012071024546013510 00000000000000# posix_spawn.m4 serial 11 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Tests whether the entire posix_spawn facility is available. AC_DEFUN([gl_POSIX_SPAWN], [ AC_REQUIRE([gl_POSIX_SPAWN_BODY]) ]) AC_DEFUN([gl_POSIX_SPAWN_BODY], [ AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) AC_REQUIRE([gl_HAVE_POSIX_SPAWN]) dnl Assume that when the main function exists, all the others, dnl except posix_spawnattr_{get,set}sched*, are available as well. dnl AC_CHECK_FUNCS_ONCE([posix_spawnp]) dnl AC_CHECK_FUNCS_ONCE([posix_spawn_file_actions_init]) dnl AC_CHECK_FUNCS_ONCE([posix_spawn_file_actions_addclose]) dnl AC_CHECK_FUNCS_ONCE([posix_spawn_file_actions_adddup2]) dnl AC_CHECK_FUNCS_ONCE([posix_spawn_file_actions_addopen]) dnl AC_CHECK_FUNCS_ONCE([posix_spawn_file_actions_destroy]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_init]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getflags]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setflags]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getpgroup]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setpgroup]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getsigdefault]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setsigdefault]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getsigmask]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setsigmask]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_destroy]) if test $ac_cv_func_posix_spawn = yes; then gl_POSIX_SPAWN_WORKS case "$gl_cv_func_posix_spawn_works" in *yes) AC_DEFINE([HAVE_WORKING_POSIX_SPAWN], [1], [Define if you have the posix_spawn and posix_spawnp functions and they work.]) dnl Assume that these functions are available if POSIX_SPAWN_SETSCHEDULER dnl evaluates to nonzero. dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getschedpolicy]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setschedpolicy]) AC_CACHE_CHECK([whether posix_spawnattr_setschedpolicy is supported], [gl_cv_func_spawnattr_setschedpolicy], [AC_EGREP_CPP([POSIX scheduling supported], [ #include #if POSIX_SPAWN_SETSCHEDULER POSIX scheduling supported #endif ], [gl_cv_func_spawnattr_setschedpolicy=yes], [gl_cv_func_spawnattr_setschedpolicy=no]) ]) dnl Assume that these functions are available if POSIX_SPAWN_SETSCHEDPARAM dnl evaluates to nonzero. dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_getschedparam]) dnl AC_CHECK_FUNCS_ONCE([posix_spawnattr_setschedparam]) AC_CACHE_CHECK([whether posix_spawnattr_setschedparam is supported], [gl_cv_func_spawnattr_setschedparam], [AC_EGREP_CPP([POSIX scheduling supported], [ #include #if POSIX_SPAWN_SETSCHEDPARAM POSIX scheduling supported #endif ], [gl_cv_func_spawnattr_setschedparam=yes], [gl_cv_func_spawnattr_setschedparam=no]) ]) ;; *) REPLACE_POSIX_SPAWN=1 ;; esac fi ]) dnl Test whether posix_spawn actually works. dnl posix_spawn on AIX 5.3..6.1 has two bugs: dnl 1) When it fails to execute the program, the child process exits with dnl exit() rather than _exit(), which causes the stdio buffers to be dnl flushed. Reported by Rainer Tammer. dnl 2) The posix_spawn_file_actions_addopen function does not support file dnl names that contain a '*'. dnl posix_spawn on AIX 5.3..6.1 has also a third bug: It does not work dnl when POSIX threads are used. But we don't test against this bug here. AC_DEFUN([gl_POSIX_SPAWN_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether posix_spawn works], [gl_cv_func_posix_spawn_works], [if test $cross_compiling = no; then AC_LINK_IFELSE([AC_LANG_SOURCE([[ #include #include #include #include #include #include #include #include #include #include #include extern char **environ; #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif #ifndef WTERMSIG # define WTERMSIG(x) ((x) & 0x7f) #endif #ifndef WIFEXITED # define WIFEXITED(x) (WTERMSIG (x) == 0) #endif #ifndef WEXITSTATUS # define WEXITSTATUS(x) (((x) >> 8) & 0xff) #endif #define CHILD_PROGRAM_FILENAME "/non/exist/ent" static int fd_safer (int fd) { if (0 <= fd && fd <= 2) { int f = fd_safer (dup (fd)); int e = errno; close (fd); errno = e; fd = f; } return fd; } int main () { char *argv[2] = { CHILD_PROGRAM_FILENAME, NULL }; int ofd[2]; sigset_t blocked_signals; sigset_t fatal_signal_set; posix_spawn_file_actions_t actions; bool actions_allocated; posix_spawnattr_t attrs; bool attrs_allocated; int err; pid_t child; int status; int exitstatus; setvbuf (stdout, NULL, _IOFBF, 0); puts ("This should be seen only once."); if (pipe (ofd) < 0 || (ofd[1] = fd_safer (ofd[1])) < 0) { perror ("cannot create pipe"); exit (1); } sigprocmask (SIG_SETMASK, NULL, &blocked_signals); sigemptyset (&fatal_signal_set); sigaddset (&fatal_signal_set, SIGINT); sigaddset (&fatal_signal_set, SIGTERM); sigaddset (&fatal_signal_set, SIGHUP); sigaddset (&fatal_signal_set, SIGPIPE); sigprocmask (SIG_BLOCK, &fatal_signal_set, NULL); actions_allocated = false; attrs_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_adddup2 (&actions, ofd[0], STDIN_FILENO)) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[0])) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[1])) != 0 || (err = posix_spawnattr_init (&attrs)) != 0 || (attrs_allocated = true, (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnp (&child, CHILD_PROGRAM_FILENAME, &actions, &attrs, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); if (err == ENOENT) return 0; else { errno = err; perror ("subprocess failed"); exit (1); } } posix_spawn_file_actions_destroy (&actions); posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); close (ofd[0]); close (ofd[1]); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); exit (1); } exitstatus = WEXITSTATUS (status); if (exitstatus != 127) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); exit (1); } return 0; } ]])], [if test -s conftest$ac_exeext \ && ./conftest$ac_exeext > conftest.out \ && echo 'This should be seen only once.' > conftest.ok \ && cmp conftest.out conftest.ok > /dev/null; then gl_cv_func_posix_spawn_works=yes else gl_cv_func_posix_spawn_works=no fi], [gl_cv_func_posix_spawn_works=no]) if test $gl_cv_func_posix_spawn_works = yes; then AC_RUN_IFELSE([AC_LANG_SOURCE([[ /* Test whether posix_spawn_file_actions_addopen supports filename arguments that contain special characters such as '*'. */ #include #include #include #include #include #include #include #include #include #include extern char **environ; #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif #ifndef WTERMSIG # define WTERMSIG(x) ((x) & 0x7f) #endif #ifndef WIFEXITED # define WIFEXITED(x) (WTERMSIG (x) == 0) #endif #ifndef WEXITSTATUS # define WEXITSTATUS(x) (((x) >> 8) & 0xff) #endif #define CHILD_PROGRAM_FILENAME "conftest" #define DATA_FILENAME "conftest%=*#?" static int parent_main (void) { FILE *fp; char *argv[3] = { CHILD_PROGRAM_FILENAME, "-child", NULL }; posix_spawn_file_actions_t actions; bool actions_allocated; int err; pid_t child; int status; int exitstatus; /* Create a data file with specific contents. */ fp = fopen (DATA_FILENAME, "wb"); if (fp == NULL) { perror ("cannot create data file"); return 1; } fwrite ("Halle Potta", 1, 11, fp); if (fflush (fp) || fclose (fp)) { perror ("cannot prepare data file"); return 2; } /* Avoid reading from our stdin, as it could block. */ freopen ("/dev/null", "rb", stdin); /* Test whether posix_spawn_file_actions_addopen with this file name actually works, but spawning a child that reads from this file. */ actions_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_addopen (&actions, STDIN_FILENO, DATA_FILENAME, O_RDONLY, 0600)) != 0 || (err = posix_spawn (&child, CHILD_PROGRAM_FILENAME, &actions, NULL, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); errno = err; perror ("subprocess failed"); return 3; } posix_spawn_file_actions_destroy (&actions); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); return 4; } exitstatus = WEXITSTATUS (status); if (exitstatus != 0) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); return 5; } return 0; } static int child_main (void) { char buf[1024]; /* See if reading from STDIN_FILENO yields the expected contents. */ if (fread (buf, 1, sizeof (buf), stdin) == 11 && memcmp (buf, "Halle Potta", 11) == 0) return 0; else return 8; } static void cleanup_then_die (int sig) { /* Clean up data file. */ unlink (DATA_FILENAME); /* Re-raise the signal and die from it. */ signal (sig, SIG_DFL); raise (sig); } int main (int argc, char *argv[]) { int exitstatus; if (!(argc > 1 && strcmp (argv[1], "-child") == 0)) { /* This is the parent process. */ signal (SIGINT, cleanup_then_die); signal (SIGTERM, cleanup_then_die); #ifdef SIGHUP signal (SIGHUP, cleanup_then_die); #endif exitstatus = parent_main (); } else { /* This is the child process. */ exitstatus = child_main (); } unlink (DATA_FILENAME); return exitstatus; } ]])], [], [gl_cv_func_posix_spawn_works=no]) fi else case "$host_os" in aix*) gl_cv_func_posix_spawn_works="guessing no";; *) gl_cv_func_posix_spawn_works="guessing yes";; esac fi ]) ]) # Prerequisites of lib/spawni.c. AC_DEFUN([gl_PREREQ_POSIX_SPAWN_INTERNAL], [ AC_CHECK_HEADERS([paths.h]) AC_CHECK_FUNCS([confstr sched_setparam sched_setscheduler setegid seteuid vfork]) ]) AC_DEFUN([gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE], [ AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_POSIX_SPAWN if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=1 else dnl On Solaris 11 2011-11, posix_spawn_file_actions_addclose succeeds even dnl if the fd argument is out of range. AC_CACHE_CHECK([whether posix_spawn_file_actions_addclose works], [gl_cv_func_posix_spawn_file_actions_addclose_works], [AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_addclose (&actions, 10000000) == 0) return 2; return 0; }]])], [gl_cv_func_posix_spawn_file_actions_addclose_works=yes], [gl_cv_func_posix_spawn_file_actions_addclose_works=no], [# Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing yes";; esac ]) ]) case "$gl_cv_func_posix_spawn_file_actions_addclose_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=1 ;; esac fi ]) AC_DEFUN([gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2], [ AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_POSIX_SPAWN if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=1 else dnl On Solaris 11 2011-11, posix_spawn_file_actions_adddup2 succeeds even dnl if the fd argument is out of range. AC_CACHE_CHECK([whether posix_spawn_file_actions_adddup2 works], [gl_cv_func_posix_spawn_file_actions_adddup2_works], [AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_adddup2 (&actions, 10000000, 2) == 0) return 2; return 0; }]])], [gl_cv_func_posix_spawn_file_actions_adddup2_works=yes], [gl_cv_func_posix_spawn_file_actions_adddup2_works=no], [# Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_adddup2_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_adddup2_works="guessing yes";; esac ]) ]) case "$gl_cv_func_posix_spawn_file_actions_adddup2_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=1 ;; esac fi ]) AC_DEFUN([gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN], [ AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_POSIX_SPAWN if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=1 else dnl On Solaris 11 2011-11, posix_spawn_file_actions_addopen succeeds even dnl if the fd argument is out of range. AC_CACHE_CHECK([whether posix_spawn_file_actions_addopen works], [gl_cv_func_posix_spawn_file_actions_addopen_works], [AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_addopen (&actions, 10000000, "foo", 0, O_RDONLY) == 0) return 2; return 0; }]])], [gl_cv_func_posix_spawn_file_actions_addopen_works=yes], [gl_cv_func_posix_spawn_file_actions_addopen_works=no], [# Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_addopen_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_addopen_works="guessing yes";; esac ]) ]) case "$gl_cv_func_posix_spawn_file_actions_addopen_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=1 ;; esac fi ]) coreutils-8.21/m4/mbrlen.m40000664000000000000000000001602712071024546012416 00000000000000# mbrlen.m4 serial 8 dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBRLEN], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([gl_FUNC_MBRTOWC]) AC_CHECK_FUNCS_ONCE([mbrlen]) if test $ac_cv_func_mbrlen = no; then HAVE_MBRLEN=0 AC_CHECK_DECLS([mbrlen],,, [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_mbrlen = yes; then dnl On Minix 3.1.8, the system's declares mbrlen() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_MBRLEN=1 fi else dnl Most bugs affecting the system's mbrtowc function also affect the dnl mbrlen function. So override mbrlen whenever mbrtowc is overridden. dnl We could also run the individual tests below; the results would be dnl the same. if test $REPLACE_MBRTOWC = 1; then REPLACE_MBRLEN=1 fi fi ]) dnl Test whether mbrlen puts the state into non-initial state when parsing an dnl incomplete multibyte character. dnl Result is gl_cv_func_mbrlen_incomplete_state. AC_DEFUN([gl_MBRLEN_INCOMPLETE_STATE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrlen handles incomplete characters], [gl_cv_func_mbrlen_incomplete_state], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrlen_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrlen_incomplete_state="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_JA != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrlen (input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; }]])], [gl_cv_func_mbrlen_incomplete_state=yes], [gl_cv_func_mbrlen_incomplete_state=no], []) fi ]) ]) dnl Test whether mbrlen, when parsing the end of a multibyte character, dnl correctly returns the number of bytes that were needed to complete the dnl character (not the total number of bytes of the multibyte character). dnl Result is gl_cv_func_mbrlen_retval. AC_DEFUN([gl_MBRLEN_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrlen has a correct return value], [gl_cv_func_mbrlen_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on HP-UX and Solaris. hpux* | solaris*) gl_cv_func_mbrlen_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrlen_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { int result = 0; /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrlen (input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrlen (input + 2, 5, &state) != 1) result |= 1; } } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrlen (input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrlen (input + 2, 5, &state) != 2) result |= 2; } } return result; }]])], [gl_cv_func_mbrlen_retval=yes], [gl_cv_func_mbrlen_retval=no], []) fi ]) ]) dnl Test whether mbrlen, when parsing a NUL character, correctly returns 0. dnl Result is gl_cv_func_mbrlen_nul_retval. AC_DEFUN([gl_MBRLEN_NUL_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrlen returns 0 when parsing a NUL character], [gl_cv_func_mbrlen_nul_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris 9. solaris2.9) gl_cv_func_mbrlen_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrlen_nul_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { /* This crashes on Solaris 9 inside __mbrtowc_dense_gb18030. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrlen ("", 1, &state) != 0) return 1; } return 0; }]])], [gl_cv_func_mbrlen_nul_retval=yes], [gl_cv_func_mbrlen_nul_retval=no], []) fi ]) ]) # Prerequisites of lib/mbrlen.c. AC_DEFUN([gl_PREREQ_MBRLEN], [ : ]) coreutils-8.21/m4/pathmax.m40000664000000000000000000000220412071024546012571 00000000000000# pathmax.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PATHMAX], [ dnl Prerequisites of lib/pathmax.h. AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) # Expands to a piece of C program that defines PATH_MAX in the same way as # "pathmax.h" will do. AC_DEFUN([gl_PATHMAX_SNIPPET], [[ /* Arrange to define PATH_MAX, like "pathmax.h" does. */ #if HAVE_UNISTD_H # include #endif #include #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifdef __hpux # undef PATH_MAX # define PATH_MAX 1024 #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef PATH_MAX # define PATH_MAX 260 #endif ]]) # Prerequisites of gl_PATHMAX_SNIPPET. AC_DEFUN([gl_PATHMAX_SNIPPET_PREREQ], [ AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h]) ]) coreutils-8.21/m4/cycle-check.m40000664000000000000000000000046312071024546013306 00000000000000#serial 7 dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CYCLE_CHECK], [:]) coreutils-8.21/m4/strnlen.m40000664000000000000000000000156112071024546012621 00000000000000# strnlen.m4 serial 13 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRNLEN], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) dnl Persuade glibc to declare strnlen(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([strnlen]) if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 else m4_pushdef([AC_LIBOBJ], [:]) dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]). AC_FUNC_STRNLEN m4_popdef([AC_LIBOBJ]) if test $ac_cv_func_strnlen_working = no; then REPLACE_STRNLEN=1 fi fi ]) # Prerequisites of lib/strnlen.c. AC_DEFUN([gl_PREREQ_STRNLEN], [:]) coreutils-8.21/m4/freopen.m40000664000000000000000000000102012071024546012560 00000000000000# freopen.m4 serial 4 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREOPEN], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw* | pw*) REPLACE_FREOPEN=1 ;; esac ]) # Prerequisites of lib/freopen.c. AC_DEFUN([gl_PREREQ_FREOPEN], [:]) coreutils-8.21/m4/getloadavg.m40000664000000000000000000001227412071024546013254 00000000000000# Check for getloadavg. # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 6 # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. # New applications should use gl_GETLOADAVG instead. # gl_GETLOADAVG # ------------- AC_DEFUN([gl_GETLOADAVG], [AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) # Persuade glibc to declare getloadavg(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) gl_save_LIBS=$LIBS # getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, # NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. HAVE_GETLOADAVG=1 AC_CHECK_FUNC([getloadavg], [], [gl_func_getloadavg_done=no # Some systems with -lutil have (and need) -lkvm as well, some do not. # On Solaris, -lkvm requires nlist from -lelf, so check that first # to get the right answer into the cache. # For kstat on solaris, we need to test for libelf and libkvm to force the # definition of SVR4 below. if test $gl_func_getloadavg_done = no; then AC_CHECK_LIB([elf], [elf_begin], [LIBS="-lelf $LIBS"]) AC_CHECK_LIB([kvm], [kvm_open], [LIBS="-lkvm $LIBS"]) # Check for the 4.4BSD definition of getloadavg. AC_CHECK_LIB([util], [getloadavg], [LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes]) fi if test $gl_func_getloadavg_done = no; then # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS LIBS="-L/usr/local/lib $LIBS" AC_CHECK_LIB([getloadavg], [getloadavg], [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes], [LIBS=$gl_getloadavg_LIBS]) fi # Set up the replacement function if necessary. if test $gl_func_getloadavg_done = no; then HAVE_GETLOADAVG=0 # Solaris has libkstat which does not require root. AC_CHECK_LIB([kstat], [kstat_open]) test $ac_cv_lib_kstat_kstat_open = yes && gl_func_getloadavg_done=yes # AIX has libperfstat which does not require root if test $gl_func_getloadavg_done = no; then AC_CHECK_LIB([perfstat], [perfstat_cpu_total]) test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_func_getloadavg_done=yes fi if test $gl_func_getloadavg_done = no; then AC_CHECK_HEADER([sys/dg_sys_info.h], [gl_func_getloadavg_done=yes AC_DEFINE([DGUX], [1], [Define to 1 for DGUX with .]) AC_CHECK_LIB([dgc], [dg_sys_info])]) fi fi]) if test "x$gl_save_LIBS" = x; then GETLOADAVG_LIBS=$LIBS else GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` fi LIBS=$gl_save_LIBS AC_SUBST([GETLOADAVG_LIBS])dnl # Test whether the system declares getloadavg. Solaris has the function # but declares it in , not . AC_CHECK_HEADERS([sys/loadavg.h]) if test $ac_cv_header_sys_loadavg_h = yes; then HAVE_SYS_LOADAVG_H=1 else HAVE_SYS_LOADAVG_H=0 fi AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0], [[#if HAVE_SYS_LOADAVG_H # include #endif #include ]]) ])# gl_GETLOADAVG # gl_PREREQ_GETLOADAVG # -------------------- # Set up the AC_LIBOBJ replacement of 'getloadavg'. AC_DEFUN([gl_PREREQ_GETLOADAVG], [ # Figure out what our getloadavg.c needs. AC_CHECK_HEADERS_ONCE([sys/param.h]) # On HPUX9, an unprivileged user can get load averages this way. if test $gl_func_getloadavg_done = no; then AC_CHECK_FUNCS([pstat_getdynamic], [gl_func_getloadavg_done=yes]) fi # We cannot check for , because Solaris 2 does not use dwarf (it # uses stabs), but it is still SVR4. We cannot check for because # Irix 4.0.5F has the header but not the library. if test $gl_func_getloadavg_done = no && test "$ac_cv_lib_elf_elf_begin" = yes \ && test "$ac_cv_lib_kvm_kvm_open" = yes; then gl_func_getloadavg_done=yes AC_DEFINE([SVR4], [1], [Define to 1 on System V Release 4.]) fi if test $gl_func_getloadavg_done = no; then AC_CHECK_HEADER([inq_stats/cpustats.h], [gl_func_getloadavg_done=yes AC_DEFINE([UMAX], [1], [Define to 1 for Encore UMAX.]) AC_DEFINE([UMAX4_3], [1], [Define to 1 for Encore UMAX 4.3 that has instead of .])]) fi if test $gl_func_getloadavg_done = no; then AC_CHECK_HEADER([sys/cpustats.h], [gl_func_getloadavg_done=yes; AC_DEFINE([UMAX])]) fi if test $gl_func_getloadavg_done = no; then AC_CHECK_HEADERS([mach/mach.h]) fi AC_CHECK_HEADERS([nlist.h], [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], [], [], [@%:@include ]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct nlist x; #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME x.n_un.n_name = ""; #else x.n_name = ""; #endif]])], [AC_DEFINE([N_NAME_POINTER], [1], [Define to 1 if the nlist n_name member is a pointer])]) ])dnl ])# gl_PREREQ_GETLOADAVG coreutils-8.21/m4/sys_utsname_h.m40000664000000000000000000000343312071024546014015 00000000000000# sys_utsname_h.m4 serial 8 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Bruno Haible. AC_DEFUN([gl_SYS_UTSNAME_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_SYS_UTSNAME_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/utsname.h]) if test $ac_cv_header_sys_utsname_h != yes; then HAVE_SYS_UTSNAME_H=0 HAVE_STRUCT_UTSNAME=0 else HAVE_SYS_UTSNAME_H=1 AC_CHECK_TYPES([struct utsname], [], [HAVE_STRUCT_UTSNAME=0], [[ /* Minix 3.1.8 has a bug: must be included before . */ #include #include ]]) fi AC_SUBST([HAVE_SYS_UTSNAME_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Minix 3.1.8 has a bug: must be included before . */ #include #include ]], [uname]) ]) AC_DEFUN([gl_SYS_UTSNAME_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_UTSNAME_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_SYS_UTSNAME_H_DEFAULTS], [ GNULIB_UNAME=0; AC_SUBST([GNULIB_UNAME]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_UNAME=1; AC_SUBST([HAVE_UNAME]) HAVE_STRUCT_UTSNAME=1; AC_SUBST([HAVE_STRUCT_UTSNAME]) ]) coreutils-8.21/m4/acl.m40000664000000000000000000001330512071024546011672 00000000000000# acl.m4 - check for access control list (ACL) primitives # serial 15 # Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Jim Meyering. AC_DEFUN([gl_FUNC_ACL], [ AC_ARG_ENABLE([acl], AS_HELP_STRING([--disable-acl], [do not support ACLs]), , [enable_acl=auto]) LIB_ACL= use_acl=0 if test "x$enable_acl" != "xno"; then dnl On all platforms, the ACL related API is declared in . AC_CHECK_HEADERS([sys/acl.h]) if test $ac_cv_header_sys_acl_h = yes; then ac_save_LIBS=$LIBS dnl Test for POSIX-draft-like API (Linux, FreeBSD, Mac OS X, IRIX, Tru64). dnl -lacl is needed on Linux, -lpacl is needed on OSF/1. if test $use_acl = 0; then AC_SEARCH_LIBS([acl_get_file], [acl pacl], [if test "$ac_cv_search_acl_get_file" != "none required"; then LIB_ACL=$ac_cv_search_acl_get_file fi AC_CHECK_FUNCS( [acl_get_file acl_get_fd acl_set_file acl_set_fd \ acl_free acl_from_mode acl_from_text \ acl_delete_def_file acl_extended_file \ acl_delete_fd_np acl_delete_file_np \ acl_copy_ext_native acl_create_entry_np \ acl_to_short_text acl_free_text]) # If the acl_get_file bug is detected, don't enable the ACL support. gl_ACL_GET_FILE([use_acl=1], []) if test $use_acl = 1; then dnl On Linux, additional API is declared in . AC_CHECK_HEADERS([acl/libacl.h]) AC_REPLACE_FUNCS([acl_entries]) AC_CACHE_CHECK([for ACL_FIRST_ENTRY], [gl_cv_acl_ACL_FIRST_ENTRY], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include #include int type = ACL_FIRST_ENTRY;]])], [gl_cv_acl_ACL_FIRST_ENTRY=yes], [gl_cv_acl_ACL_FIRST_ENTRY=no])]) if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then AC_DEFINE([HAVE_ACL_FIRST_ENTRY], [1], [Define to 1 if the constant ACL_FIRST_ENTRY exists.]) fi dnl On Mac OS X, other types of ACLs are supported. AC_CACHE_CHECK([for ACL_TYPE_EXTENDED], [gl_cv_acl_ACL_TYPE_EXTENDED], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include #include int type = ACL_TYPE_EXTENDED;]])], [gl_cv_acl_ACL_TYPE_EXTENDED=yes], [gl_cv_acl_ACL_TYPE_EXTENDED=no])]) if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then AC_DEFINE([HAVE_ACL_TYPE_EXTENDED], [1], [Define to 1 if the ACL type ACL_TYPE_EXTENDED exists.]) fi else LIB_ACL= fi ]) fi dnl Test for Solaris API (Solaris, Cygwin). if test $use_acl = 0; then AC_CHECK_FUNCS([facl]) if test $ac_cv_func_facl = yes; then AC_SEARCH_LIBS([acl_trivial], [sec], [if test "$ac_cv_search_acl_trivial" != "none required"; then LIB_ACL=$ac_cv_search_acl_trivial fi ]) AC_CHECK_FUNCS([acl_trivial]) use_acl=1 fi fi dnl Test for HP-UX API. if test $use_acl = 0; then AC_CHECK_FUNCS([getacl]) if test $ac_cv_func_getacl = yes; then use_acl=1 fi dnl Test for HP-UX 11.11 API. AC_CHECK_HEADERS([aclv.h], [], [], [#include ]) fi dnl Test for AIX API (AIX 5.3 or newer). if test $use_acl = 0; then AC_CHECK_FUNCS([aclx_get]) if test $ac_cv_func_aclx_get = yes; then use_acl=1 fi fi dnl Test for older AIX API. if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then AC_CHECK_FUNCS([statacl]) if test $ac_cv_func_statacl = yes; then use_acl=1 fi fi dnl Test for NonStop Kernel API. if test $use_acl = 0; then AC_CHECK_FUNCS([aclsort]) if test $ac_cv_func_aclsort = yes; then use_acl=1 fi fi LIBS=$ac_save_LIBS fi if test "x$enable_acl$use_acl" = "xyes0"; then AC_MSG_ERROR([ACLs enabled but support not detected]) elif test "x$enable_acl$use_acl" = "xauto0"; then AC_MSG_WARN([libacl development library was not found or not usable.]) AC_MSG_WARN([AC_PACKAGE_NAME will be built without ACL support.]) fi fi AC_SUBST([LIB_ACL]) AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl], [Define to nonzero if you want access control list support.]) USE_ACL=$use_acl AC_SUBST([USE_ACL]) ]) # gl_ACL_GET_FILE(IF-WORKS, IF-NOT) # ------------------------------------- # If 'acl_get_file' works (does not have a particular bug), # run IF-WORKS, otherwise, IF-NOT. # This tests for a Darwin 8.7.0 bug, whereby acl_get_file returns NULL, # but sets errno = ENOENT for an existing file or directory. AC_DEFUN([gl_ACL_GET_FILE], [ AC_CACHE_CHECK([for working acl_get_file], [gl_cv_func_working_acl_get_file], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include ]], [[if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) return 1; return 0; ]])], [gl_cv_func_working_acl_get_file=yes], [gl_cv_func_working_acl_get_file=no], [gl_cv_func_working_acl_get_file=cross-compiling])]) AS_IF([test $gl_cv_func_working_acl_get_file = yes], [$1], [$2]) ]) coreutils-8.21/m4/posixver.m40000664000000000000000000000371412071024546013015 00000000000000# posixver.m4 serial 12 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_POSIXVER], [ AC_REQUIRE([gl_DEFAULT_POSIX2_VERSION]) ]) # Set the default level of POSIX conformance at configure-time. # Build with './configure DEFAULT_POSIX2_VERSION=199209 ...' to # support the older version, thus preserving portability with # scripts that use sort +1, tail +32, etc. # Note however, that this breaks tools that might run commands # like 'sort +some-file' that conform with the newer standard. AC_DEFUN([gl_DEFAULT_POSIX2_VERSION], [ AC_MSG_CHECKING([for desired default level of POSIX conformance]) gl_default_posix2_version=none-specified if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value AC_DEFINE_UNQUOTED([DEFAULT_POSIX2_VERSION], $gl_default_posix2_version, [Define the default level of POSIX conformance. The value is of the form YYYYMM, specifying the year and month the standard was adopted. If not defined here, it defaults to the value of _POSIX2_VERSION in . Define to 199209 to default to POSIX 1003.2-1992, which makes standard programs like 'head', 'tail', and 'sort' accept obsolete options like '+10' and '-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes these standard programs treat leading-'+' operands as file names and require modern usages like '-n 10' instead of '-10'. Whether defined here or not, the default can be overridden at run time via the _POSIX2_VERSION environment variable.]) fi AC_MSG_RESULT([$gl_default_posix2_version]) AC_ARG_VAR( [DEFAULT_POSIX2_VERSION], [POSIX version to default to; see 'config.hin'.]) ]) coreutils-8.21/m4/nls.m40000664000000000000000000000231512071024546011726 00000000000000# nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) coreutils-8.21/m4/errno_h.m40000664000000000000000000000623412071024546012572 00000000000000# errno_h.m4 serial 12 dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_HEADER_ERRNO_H], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [ AC_EGREP_CPP([booboo],[ #include #if !defined ETXTBSY booboo #endif #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ENETRESET booboo #endif #if !defined ECONNABORTED booboo #endif #if !defined ESTALE booboo #endif #if !defined EDQUOT booboo #endif #if !defined ECANCELED booboo #endif #if !defined EOWNERDEAD booboo #endif #if !defined ENOTRECOVERABLE booboo #endif #if !defined EILSEQ booboo #endif ], [gl_cv_header_errno_h_complete=no], [gl_cv_header_errno_h_complete=yes]) ]) if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else gl_NEXT_HEADERS([errno.h]) ERRNO_H='errno.h' fi AC_SUBST([ERRNO_H]) AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"]) gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) gl_REPLACE_ERRNO_VALUE([ENOLINK]) gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) ]) # Assuming $1 = EOVERFLOW. # The EOVERFLOW errno value ought to be defined in , according to # POSIX. But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. # Check for the value of EOVERFLOW. # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. AC_DEFUN([gl_REPLACE_ERRNO_VALUE], [ if test -n "$ERRNO_H"; then AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ AC_EGREP_CPP([yes],[ #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=yes], [gl_cv_header_errno_h_]$1[=no]) if test $gl_cv_header_errno_h_]$1[ = no; then AC_EGREP_CPP([yes],[ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef ]$1[ yes #endif ], [gl_cv_header_errno_h_]$1[=hidden]) if test $gl_cv_header_errno_h_]$1[ = hidden; then dnl The macro exists but is hidden. dnl Define it to the same value. AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include ]) fi fi ]) case $gl_cv_header_errno_h_]$1[ in yes | no) ]$1[_HIDDEN=0; ]$1[_VALUE= ;; *) ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1[" ;; esac AC_SUBST($1[_HIDDEN]) AC_SUBST($1[_VALUE]) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) coreutils-8.21/m4/usleep.m40000664000000000000000000000330412071024546012426 00000000000000# usleep.m4 serial 3 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This macro intentionally does not check for select or nanosleep; dnl both of those modules can require external libraries. AC_DEFUN([gl_FUNC_USLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl usleep was required in POSIX 2001, but dropped as obsolete in dnl POSIX 2008; therefore, it is not always exposed in headers. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([usleep]) AC_CHECK_TYPE([useconds_t], [], [AC_DEFINE([useconds_t], [unsigned int], [Define to an unsigned 32-bit type if lacks this type.])]) if test $ac_cv_func_usleep = no; then HAVE_USLEEP=0 else dnl POSIX allows implementations to reject arguments larger than dnl 999999, but GNU guarantees it will work. AC_CACHE_CHECK([whether usleep allows large arguments], [gl_cv_func_usleep_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[return !!usleep (1000000);]])], [gl_cv_func_usleep_works=yes], [gl_cv_func_usleep_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_usleep_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_usleep_works="guessing no" ;; esac ])]) case "$gl_cv_func_usleep_works" in *yes) ;; *) REPLACE_USLEEP=1 ;; esac fi ]) coreutils-8.21/m4/inttypes_h.m40000664000000000000000000000177412071024546013330 00000000000000# inttypes_h.m4 serial 10 dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[uintmax_t i = (uintmax_t) -1; return !i;]])], [gl_cv_header_inttypes_h=yes], [gl_cv_header_inttypes_h=no])]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) coreutils-8.21/m4/lib-ld.m40000664000000000000000000000714312071024546012301 00000000000000# lib-ld.m4 serial 6 dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid dnl collision with libtool.m4. dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 /dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 #include #if HAVE_SYS_SELECT_H #include #endif int main () { struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; }]])], [gl_cv_func_select_supports0=yes], [gl_cv_func_select_supports0=no], [ changequote(,)dnl case "$host_os" in # Guess no on Interix. interix*) gl_cv_func_select_supports0="guessing no";; # Guess yes otherwise. *) gl_cv_func_select_supports0="guessing yes";; esac changequote([,])dnl ]) ]) case "$gl_cv_func_select_supports0" in *yes) ;; *) REPLACE_SELECT=1 ;; esac dnl On FreeBSD 8.2, select() doesn't always reject bad fds. AC_CACHE_CHECK([whether select detects invalid fds], [gl_cv_func_select_detects_ebadf], [ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #if HAVE_SYS_SELECT_H # include #endif #include #include ]],[[ fd_set set; dup2(0, 16); FD_ZERO(&set); FD_SET(16, &set); close(16); struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; ]])], [gl_cv_func_select_detects_ebadf=yes], [gl_cv_func_select_detects_ebadf=no], [ case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac ]) ]) case $gl_cv_func_select_detects_ebadf in *yes) ;; *) REPLACE_SELECT=1 ;; esac fi dnl Determine the needed libraries. LIB_SELECT="$LIBSOCKET" if test $REPLACE_SELECT = 1; then case "$host_os" in mingw*) dnl On the MSVC platform, the function MsgWaitForMultipleObjects dnl (used in lib/select.c) requires linking with -luser32. On mingw, dnl it is implicit. AC_LINK_IFELSE( [AC_LANG_SOURCE([[ #define WIN32_LEAN_AND_MEAN #include int main () { MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); return 0; }]])], [], [LIB_SELECT="$LIB_SELECT -luser32"]) ;; esac fi AC_SUBST([LIB_SELECT]) ]) coreutils-8.21/m4/frexpl.m40000664000000000000000000001553512071024546012442 00000000000000# frexpl.m4 serial 20 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) dnl Persuade glibc to declare frexpl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Check whether it's declared. dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) FREXPL_LIBM= if test $HAVE_DECL_FREXPL = 1; then gl_CHECK_FREXPL_NO_LIBM if test $gl_cv_func_frexpl_no_libm = no; then AC_CACHE_CHECK([whether frexpl() can be used with libm], [gl_cv_func_frexpl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include long double x;]], [[int e; return frexpl (x, &e) > 0;]])], [gl_cv_func_frexpl_in_libm=yes], [gl_cv_func_frexpl_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_frexpl_in_libm = yes; then FREXPL_LIBM=-lm fi fi if test $gl_cv_func_frexpl_no_libm = yes \ || test $gl_cv_func_frexpl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $FREXPL_LIBM" gl_FUNC_FREXPL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl=yes ;; *) gl_func_frexpl=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl=no fi if test $gl_func_frexpl = yes; then AC_DEFINE([HAVE_FREXPL], [1], [Define if the frexpl() function is available.]) fi fi if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; then dnl Find libraries needed to link lib/frexpl.c. if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then AC_REQUIRE([gl_FUNC_FREXP]) FREXPL_LIBM="$FREXP_LIBM" else FREXPL_LIBM= fi fi AC_SUBST([FREXPL_LIBM]) ]) AC_DEFUN([gl_FUNC_FREXPL_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) dnl Check whether it's declared. dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) if test $HAVE_DECL_FREXPL = 1; then gl_CHECK_FREXPL_NO_LIBM if test $gl_cv_func_frexpl_no_libm = yes; then gl_FUNC_FREXPL_WORKS case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no dnl Set REPLACE_FREXPL here because the system may have frexpl in libm. REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then AC_DEFINE([HAVE_FREXPL_IN_LIBC], [1], [Define if the frexpl() function is available in libc.]) fi fi ]) dnl Test whether frexpl() can be used without linking with libm. dnl Set gl_cv_func_frexpl_no_libm to 'yes' or 'no' accordingly. AC_DEFUN([gl_CHECK_FREXPL_NO_LIBM], [ AC_CACHE_CHECK([whether frexpl() can be used without linking with libm], [gl_cv_func_frexpl_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include long double x;]], [[int e; return frexpl (x, &e) > 0;]])], [gl_cv_func_frexpl_no_libm=yes], [gl_cv_func_frexpl_no_libm=no]) ]) ]) dnl Test whether frexpl() works on finite numbers (this fails on dnl Mac OS X 10.4/PowerPC, on AIX 5.1, and on BeOS), on denormalized numbers dnl (this fails on Mac OS X 10.5/i386), and also on infinite numbers (this dnl fails e.g. on IRIX 6.5 and mingw). AC_DEFUN([gl_FUNC_FREXPL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether frexpl works], [gl_cv_func_frexpl_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Override the values of , like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if defined __i386__ && defined __FreeBSD__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP #endif #if defined __sgi && (LDBL_MANT_DIG >= 106) # if defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP # endif #endif extern #ifdef __cplusplus "C" #endif long double frexpl (long double, int *); int main() { int result = 0; volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) result |= 1; } /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) result |= 2; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) { result |= 4; break; } } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On Mac OS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) result |= 8; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) result |= 16; } return result; }]])], [gl_cv_func_frexpl_works=yes], [gl_cv_func_frexpl_works=no], [ changequote(,)dnl case "$host_os" in aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac changequote([,])dnl ]) ]) ]) coreutils-8.21/m4/getndelim2.m40000664000000000000000000000116712071024546013170 00000000000000# getndelim2.m4 serial 8 dnl Copyright (C) 2003, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETNDELIM2], [ gl_PREREQ_GETNDELIM2 AC_CHECK_FUNCS_ONCE([flockfile]) AC_CHECK_FUNCS_ONCE([funlockfile]) ]) # Prerequisites of lib/getndelim2.h and lib/getndelim2.c. AC_DEFUN([gl_PREREQ_GETNDELIM2], [ dnl Prerequisites of lib/getndelim2.h. AC_REQUIRE([gt_TYPE_SSIZE_T]) dnl No prerequisites of lib/getndelim2.c. ]) coreutils-8.21/m4/getpagesize.m40000664000000000000000000000172212071024546013442 00000000000000# getpagesize.m4 serial 9 dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETPAGESIZE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS([getpagesize]) if test $ac_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 AC_CHECK_HEADERS([OS.h]) if test $ac_cv_header_OS_h = yes; then HAVE_OS_H=1 fi AC_CHECK_HEADERS([sys/param.h]) if test $ac_cv_header_sys_param_h = yes; then HAVE_SYS_PARAM_H=1 fi fi case "$host_os" in mingw*) REPLACE_GETPAGESIZE=1 ;; esac dnl Also check whether it's declared. dnl mingw has getpagesize() in libgcc.a but doesn't declare it. AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0]) ]) coreutils-8.21/m4/btowc.m40000664000000000000000000000613312071024546012252 00000000000000# btowc.m4 serial 10 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_BTOWC], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) dnl Check whether is usable at all, first. Otherwise the test dnl program below may lead to an endless loop. See dnl . AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) AC_CHECK_FUNCS_ONCE([btowc]) if test $ac_cv_func_btowc = no; then HAVE_BTOWC=0 else AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Cygwin 1.7.2 btowc('\0') is WEOF, not 0. AC_CACHE_CHECK([whether btowc(0) is correct], [gl_cv_func_btowc_nul], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (btowc ('\0') != 0) return 1; return 0; }]])], [gl_cv_func_btowc_nul=yes], [gl_cv_func_btowc_nul=no], [ changequote(,)dnl case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac changequote([,])dnl ]) ]) dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF. AC_CACHE_CHECK([whether btowc(EOF) is correct], [gl_cv_func_btowc_eof], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on IRIX. irix*) gl_cv_func_btowc_eof="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_eof="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (btowc (EOF) != WEOF) return 1; } return 0; }]])], [gl_cv_func_btowc_eof=yes], [gl_cv_func_btowc_eof=no], [:]) fi ]) case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac case "$gl_cv_func_btowc_eof" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac fi ]) # Prerequisites of lib/btowc.c. AC_DEFUN([gl_PREREQ_BTOWC], [ : ]) coreutils-8.21/m4/openat.m40000664000000000000000000000166112071024546012423 00000000000000# serial 45 # See if we need to use our replacement for Solaris' openat et al functions. dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_OPENAT], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([openat]) AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in yes+*yes) ;; yes+*) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_OPENAT=1 ;; *) HAVE_OPENAT=0 ;; esac ]) # Prerequisites of lib/openat.c. AC_DEFUN([gl_PREREQ_OPENAT], [ AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) : ]) coreutils-8.21/m4/getugroups.m40000664000000000000000000000056112071024546013337 00000000000000# getugroups.m4 serial 9 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETUGROUPS], [ AC_CHECK_HEADERS_ONCE([grp.h]) ]) coreutils-8.21/m4/mkdir-p.m40000664000000000000000000000061412071024546012475 00000000000000# mkdir-p.m4 serial 15 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MKDIR_PARENTS], [ dnl Prerequisites of lib/dirchownmod.c. AC_CHECK_FUNCS_ONCE([fchmod]) ]) coreutils-8.21/m4/stdio_h.m40000664000000000000000000002243312071024546012566 00000000000000# stdio_h.m4 serial 43 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FSCANF=1 gl_MODULE_INDICATOR([fscanf]) GNULIB_SCANF=1 gl_MODULE_INDICATOR([scanf]) GNULIB_FGETC=1 GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 GNULIB_FREAD=1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is dnl also an optimization, to avoid performing a configure check whose result dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING dnl or GNULIB_NONBLOCKING redundant. m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_STDIO_READ_FUNCS=1 AC_LIBOBJ([stdio-read]) fi ]) dnl No need to create extra modules for these functions. Everyone who uses dnl likely needs them. GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is dnl also an optimization, to avoid performing a configure check whose result dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or dnl GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_STDIO_WRITE_FUNCS=1 AC_LIBOBJ([stdio-write]) fi ]) dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is dnl also an optimization, to avoid performing a configure check whose result dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING dnl or GNULIB_NONBLOCKING redundant. m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_STDIO_WRITE_FUNCS=1 AC_LIBOBJ([stdio-write]) fi ]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by both C89 and C11. gl_WARN_ON_USE_PREPARE([[#include ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO]) HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE]) HAVE_POPEN=1; AC_SUBST([HAVE_POPEN]) HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF]) REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF]) REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE]) REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM]) REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF]) REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR]) REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN]) REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE]) REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME]) REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT]) REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS]) REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS]) REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF]) REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) ]) coreutils-8.21/m4/servent.m40000664000000000000000000000336212071024546012623 00000000000000# servent.m4 serial 2 dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SERVENT], [ dnl Where are getservent(), setservent(), endservent(), getservbyname(), dnl getservbyport() defined? dnl Where are getprotoent(), setprotoent(), endprotoent(), getprotobyname(), dnl getprotobynumber() defined? dnl - On Solaris, they are in libsocket. Ignore libxnet. dnl - On Haiku, they are in libnetwork. dnl - On BeOS, they are in libnet. dnl - On native Windows, they are in ws2_32.dll. dnl - Otherwise they are in libc. AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H SERVENT_LIB= gl_saved_libs="$LIBS" AC_SEARCH_LIBS([getservbyname], [socket network net], [if test "$ac_cv_search_getservbyname" != "none required"; then SERVENT_LIB="$ac_cv_search_getservbyname" fi]) LIBS="$gl_saved_libs" if test -z "$SERVENT_LIB"; then AC_CHECK_FUNCS([getservbyname], , [ AC_CACHE_CHECK([for getservbyname in winsock2.h and -lws2_32], [gl_cv_w32_getservbyname], [gl_cv_w32_getservbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_WINSOCK2_H #include #endif #include ]], [[getservbyname(NULL,NULL);]])], [gl_cv_w32_getservbyname=yes]) LIBS="$gl_save_LIBS" ]) if test "$gl_cv_w32_getservbyname" = "yes"; then SERVENT_LIB="-lws2_32" fi ]) fi AC_SUBST([SERVENT_LIB]) ]) coreutils-8.21/m4/freading.m40000664000000000000000000000054112071024546012710 00000000000000# freading.m4 serial 1 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREADING], [ AC_CHECK_FUNCS_ONCE([__freading]) ]) coreutils-8.21/m4/extensions.m40000664000000000000000000001073712071024546013340 00000000000000# serial 12 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS # Autoconf. Perhaps we can remove this once we can assume Autoconf # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. # If autoconf reports a warning # warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS # or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS # the fix is # 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked # but always AC_REQUIREd, # 2) to ensure that for each occurrence of # AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) # or # AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # the corresponding gnulib module description has 'extensions' among # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS # invocation occurs in gl_EARLY, not in gl_INIT. # AC_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. # Remember that #undef in AH_VERBATIM gets replaced with #define by # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that # cause problems on some platforms (such as __EXTENSIONS__). AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], [Define to 1 if you need to in order for 'stat' and other things to work.]) AC_DEFINE([_POSIX_1_SOURCE], [2], [Define to 2 if the system does not provide POSIX.1 features except with this defined.]) AC_DEFINE([_MINIX], [1], [Define to 1 if on MINIX.]) fi dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already dnl provided. case "$host_os" in hpux*) AC_DEFINE([_XOPEN_SOURCE], [500], [Define to 500 only on HP-UX.]) ;; esac AH_VERBATIM([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable general extensions on Mac OS X. */ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif ]) AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], [ac_cv_safe_to_define___extensions__], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ # define __EXTENSIONS__ 1 ]AC_INCLUDES_DEFAULT])], [ac_cv_safe_to_define___extensions__=yes], [ac_cv_safe_to_define___extensions__=no])]) test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], [ dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. dnl gnulib does not need it. But if it gets required by third-party macros dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. AC_REQUIRE([AC_GNU_SOURCE]) AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) coreutils-8.21/m4/lseek.m40000664000000000000000000000436112071024546012240 00000000000000# lseek.m4 serial 10 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_CC]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], [case "$host_os" in mingw*) dnl Native Windows. dnl The result of lseek (fd, (off_t)0, SEEK_CUR) or dnl SetFilePointer(handle, 0, NULL, FILE_CURRENT) dnl for a pipe depends on the environment: In a Cygwin 1.5 dnl environment it succeeds (wrong); in a Cygwin 1.7 environment dnl it fails with a wrong errno value. gl_cv_func_lseek_pipe=no ;; *) if test $cross_compiling = no; then AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include /* for off_t */ #include /* for SEEK_CUR */ #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include #endif ]], [[ /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; ]])], [if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && test 1 = "`echo hi \ | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi ], [gl_cv_func_lseek_pipe=no]) else AC_COMPILE_IFELSE( [AC_LANG_SOURCE([[ #if defined __BEOS__ /* BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif]])], [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) fi ;; esac ]) if test $gl_cv_func_lseek_pipe = no; then REPLACE_LSEEK=1 AC_DEFINE([LSEEK_PIPE_BROKEN], [1], [Define to 1 if lseek does not detect pipes.]) fi AC_REQUIRE([gl_SYS_TYPES_H]) if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_LSEEK=1 fi ]) coreutils-8.21/m4/calloc.m40000664000000000000000000000510312071024546012365 00000000000000# calloc.m4 serial 15 # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. # Determine whether calloc (N, S) returns non-NULL when N*S is zero, # and returns NULL when N*S overflows. # If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc # and arrange to use a calloc wrapper function that does work in that case. # _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT]) # ------------------------------------- # If 'calloc (0, 0)' is properly handled, run IF-WORKS, otherwise, IF-NOT. AC_DEFUN([_AC_FUNC_CALLOC_IF], [ AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([for GNU libc compatible calloc], [ac_cv_func_calloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[int result = 0; if (!calloc (0, 0)) result |= 1; if (calloc ((size_t) -1 / 8 + 1, 8)) result |= 2; return result; ]])], [ac_cv_func_calloc_0_nonnull=yes], [ac_cv_func_calloc_0_nonnull=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. *) ac_cv_func_calloc_0_nonnull="guessing no" ;; esac ])]) case "$ac_cv_func_calloc_0_nonnull" in *yes) $1 ;; *) $2 ;; esac ])# AC_FUNC_CALLOC # gl_FUNC_CALLOC_GNU # ------------------ # Report whether 'calloc (0, 0)' is properly handled, and replace calloc if # needed. AC_DEFUN([gl_FUNC_CALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) _AC_FUNC_CALLOC_IF( [AC_DEFINE([HAVE_CALLOC_GNU], [1], [Define to 1 if your system has a GNU libc compatible 'calloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_CALLOC_GNU], [0]) REPLACE_CALLOC=1 ]) ])# gl_FUNC_CALLOC_GNU # gl_FUNC_CALLOC_POSIX # -------------------- # Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace calloc if it is not. AC_DEFUN([gl_FUNC_CALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then AC_DEFINE([HAVE_CALLOC_POSIX], [1], [Define if the 'calloc' function is POSIX compliant.]) else REPLACE_CALLOC=1 fi ]) coreutils-8.21/m4/fdatasync.m40000664000000000000000000000206512071024546013110 00000000000000# fdatasync.m4 serial 4 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDATASYNC], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Using AC_CHECK_FUNCS_ONCE would break our subsequent AC_SEARCH_LIBS AC_CHECK_DECLS_ONCE([fdatasync]) LIB_FDATASYNC= AC_SUBST([LIB_FDATASYNC]) if test $ac_cv_have_decl_fdatasync = no; then HAVE_DECL_FDATASYNC=0 dnl Mac OS X 10.7 has fdatasync but does not declare it. AC_CHECK_FUNCS([fdatasync]) if test $ac_cv_func_fdatasync = no; then HAVE_FDATASYNC=0 fi else dnl Solaris <= 2.6 has fdatasync() in libposix4. dnl Solaris 7..10 has it in librt. gl_saved_libs=$LIBS AC_SEARCH_LIBS([fdatasync], [rt posix4], [test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync]) LIBS=$gl_saved_libs fi ]) coreutils-8.21/m4/mktime.m40000664000000000000000000001546412071024546012431 00000000000000# serial 24 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_MKTIME], [ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained dnl in Autoconf and because it invokes AC_LIBOBJ. AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CHECK_FUNCS_ONCE([alarm]) AC_REQUIRE([gl_MULTIARCH]) if test $APPLE_UNIVERSAL_BUILD = 1; then # A universal build on Apple Mac OS X platforms. # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. # But we need a configuration result that is valid in both modes. gl_cv_func_working_mktime=no fi AC_CACHE_CHECK([for working mktime], [gl_cv_func_working_mktime], [AC_RUN_IFELSE( [AC_LANG_SOURCE( [[/* Test program from Paul Eggert and Tony Leneis. */ #include #include #include #ifdef HAVE_UNISTD_H # include #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static char *tz_strings[] = { (char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (time_t now) { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (time_t now) { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (int j) { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { int result = 0; time_t t, delta; int i, j; int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; int time_t_signed = ! ((time_t) 0 < (time_t) -1); /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); time_t_max = (! time_t_signed ? (time_t) -1 : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) * 2 + 1)); time_t_min = (! time_t_signed ? (time_t) 0 : time_t_signed_magnitude ? ~ (time_t) 0 : ~ time_t_max); delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv (tz_strings[i]); for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) if (! mktime_test (t)) result |= 1; if ((result & 2) == 0 && ! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) result |= 2; for (j = 1; (result & 4) == 0; j <<= 1) { if (! bigtime_test (j)) result |= 4; if (INT_MAX / 2 < j) break; } if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) result |= 8; } if (! irix_6_4_bug ()) result |= 16; if (! spring_forward_gap ()) result |= 32; if (! year_2050_test ()) result |= 64; return result; }]])], [gl_cv_func_working_mktime=yes], [gl_cv_func_working_mktime=no], [gl_cv_func_working_mktime=no]) ]) if test $gl_cv_func_working_mktime = no; then REPLACE_MKTIME=1 else REPLACE_MKTIME=0 fi ]) AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [ AC_REQUIRE([gl_FUNC_MKTIME]) if test $REPLACE_MKTIME = 0; then dnl BeOS has __mktime_internal in libc, but other platforms don't. AC_CHECK_FUNC([__mktime_internal], [AC_DEFINE([mktime_internal], [__mktime_internal], [Define to the real name of the mktime_internal function.]) ], [dnl mktime works but it doesn't export __mktime_internal, dnl so we need to substitute our own mktime implementation. REPLACE_MKTIME=1 ]) fi ]) # Prerequisites of lib/mktime.c. AC_DEFUN([gl_PREREQ_MKTIME], [:]) coreutils-8.21/m4/eealloc.m40000664000000000000000000000166712071024546012547 00000000000000# eealloc.m4 serial 3 dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EEALLOC], [ AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([gl_EEREALLOC]) ]) AC_DEFUN([gl_EEMALLOC], [ _AC_FUNC_MALLOC_IF( [gl_cv_func_malloc_0_nonnull=1], [gl_cv_func_malloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull], [If malloc(0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) AC_DEFUN([gl_EEREALLOC], [ _AC_FUNC_REALLOC_IF( [gl_cv_func_realloc_0_nonnull=1], [gl_cv_func_realloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull], [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) coreutils-8.21/m4/ioctl.m40000664000000000000000000000265612071024546012254 00000000000000# ioctl.m4 serial 4 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_IOCTL], [ AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) HAVE_IOCTL=1 if test "$ac_cv_header_winsock2_h" = yes; then dnl Even if the 'socket' module is not used here, another part of the dnl application may use it and pass file descriptors that refer to dnl sockets to the ioctl() function. So enable the support for sockets. HAVE_IOCTL=0 else AC_CHECK_FUNCS([ioctl]) dnl On glibc systems, the second parameter is 'unsigned long int request', dnl not 'int request'. We cannot simply cast the function pointer, but dnl instead need a wrapper. AC_CACHE_CHECK([for ioctl with POSIX signature], [gl_cv_func_ioctl_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[extern #ifdef __cplusplus "C" #endif int ioctl (int, int, ...); ]]) ], [gl_cv_func_ioctl_posix_signature=yes], [gl_cv_func_ioctl_posix_signature=no]) ]) if test $gl_cv_func_ioctl_posix_signature != yes; then REPLACE_IOCTL=1 fi fi ]) coreutils-8.21/m4/netinet_in_h.m40000664000000000000000000000207512071024546013600 00000000000000# netinet_in_h.m4 serial 5 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_NETINET_IN], [ AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_netinet_in_h_selfcontained], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], [gl_cv_header_netinet_in_h_selfcontained=yes], [gl_cv_header_netinet_in_h_selfcontained=no]) ]) if test $gl_cv_header_netinet_in_h_selfcontained = yes; then NETINET_IN_H='' else NETINET_IN_H='netinet/in.h' AC_CHECK_HEADERS([netinet/in.h]) gl_CHECK_NEXT_HEADERS([netinet/in.h]) if test $ac_cv_header_netinet_in_h = yes; then HAVE_NETINET_IN_H=1 else HAVE_NETINET_IN_H=0 fi AC_SUBST([HAVE_NETINET_IN_H]) fi AC_SUBST([NETINET_IN_H]) AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"]) ]) coreutils-8.21/m4/isapipe.m40000664000000000000000000000550212071024546012565 00000000000000# Test whether a file descriptor is a pipe. dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_ISAPIPE], [ # OpenVMS has isapipe already, so check for it. AC_CHECK_FUNCS([isapipe]) if test $ac_cv_func_isapipe = yes; then HAVE_ISAPIPE=1 else HAVE_ISAPIPE=0 fi ]) # Prerequisites of lib/isapipe.c. AC_DEFUN([gl_PREREQ_ISAPIPE], [ AC_CACHE_CHECK([whether pipes are FIFOs (and for their link count)], [gl_cv_pipes_are_fifos], [AC_RUN_IFELSE( [AC_LANG_SOURCE( [[#include #include #include #include #ifndef S_ISFIFO #define S_ISFIFO(m) 0 #endif #ifndef S_ISSOCK #define S_ISSOCK(m) 0 #endif int main (int argc, char **argv) { int fd[2]; struct stat st; if (pipe (fd) != 0) return 1; if (fstat (fd[0], &st) != 0) return 2; if (2 <= argc && argv[1][0] == '-') { char const *yesno = (S_ISFIFO (st.st_mode) ? "yes" : "no"); if (st.st_nlink <= 1) { long int i = st.st_nlink; if (i != st.st_nlink) return 3; printf ("%s (%ld)\n", yesno, i); } else { unsigned long int i = st.st_nlink; if (i != st.st_nlink) return 4; printf ("%s (%lu)\n", yesno, i); } } else { if (! S_ISFIFO (st.st_mode) && ! S_ISSOCK (st.st_mode)) return 5; } return 0; }]])], [gl_cv_pipes_are_fifos=`./conftest$ac_exeext -` test -z "$gl_cv_pipes_are_fifos" && gl_cv_pipes_are_fifos=no], [gl_cv_pipes_are_fifos=unknown], [gl_cv_pipes_are_fifos=cross-compiling])]) case $gl_cv_pipes_are_fifos in #( 'yes ('*')') AC_DEFINE([HAVE_FIFO_PIPES], [1], [Define to 1 if pipes are FIFOs, 0 if sockets. Leave undefined if not known.]);; #( 'no ('*')') AC_DEFINE([HAVE_FIFO_PIPES], [0]);; esac case $gl_cv_pipes_are_fifos in #( *'('*')') AC_DEFINE_UNQUOTED([PIPE_LINK_COUNT_MAX], [`expr "$gl_cv_pipes_are_fifos" : '.*\((.*)\)'`], [Define to the maximum link count that a true pipe can have.]);; esac ]) coreutils-8.21/m4/userspec.m40000664000000000000000000000057612071024546012772 00000000000000# serial 11 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/userspec.c. AC_DEFUN([gl_USERSPEC], [ AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) coreutils-8.21/m4/rpmatch.m40000664000000000000000000000204012071024546012563 00000000000000# rpmatch.m4 serial 10 dnl Copyright (C) 2002-2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RPMATCH], [ dnl Persuade glibc to declare rpmatch(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS([rpmatch]) if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 fi ]) # Prerequisites of lib/rpmatch.c. AC_DEFUN([gl_PREREQ_RPMATCH], [ AC_CACHE_CHECK([for nl_langinfo and YESEXPR], [gl_cv_langinfo_yesexpr], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[char* cs = nl_langinfo(YESEXPR); return !cs;]])], [gl_cv_langinfo_yesexpr=yes], [gl_cv_langinfo_yesexpr=no]) ]) if test $gl_cv_langinfo_yesexpr = yes; then AC_DEFINE([HAVE_LANGINFO_YESEXPR], [1], [Define if you have and nl_langinfo(YESEXPR).]) fi ]) coreutils-8.21/m4/isatty.m40000664000000000000000000000124212071024546012445 00000000000000# isatty.m4 serial 3 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ISATTY], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl On native Windows, the system's isatty(), defined as an alias of _isatty() dnl in the "oldnames" library, returns true for the NUL device. case $host_os in mingw*) REPLACE_ISATTY=1 ;; esac ]) # Prerequisites of lib/isatty.c. AC_DEFUN([gl_PREREQ_ISATTY], [:]) coreutils-8.21/m4/vasprintf-posix.m40000664000000000000000000001030212071024546014301 00000000000000# vasprintf-posix.m4 serial 13 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASPRINTF_POSIX], [ AC_REQUIRE([gl_PRINTF_SIZES_C99]) AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_INFINITE]) AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) AC_REQUIRE([gl_PRINTF_POSITIONS]) AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) AC_REQUIRE([gl_PRINTF_PRECISION]) AC_REQUIRE([gl_PRINTF_ENOMEM]) gl_cv_func_vasprintf_posix=no AC_CHECK_FUNCS([vasprintf]) case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_directive_ls" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) if test $ac_cv_func_vasprintf = yes; then # vasprintf exists and is # already POSIX compliant. gl_cv_func_vasprintf_posix=yes fi ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vasprintf_posix = no; then gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_DIRECTIVE_LS gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM gl_REPLACE_VASNPRINTF gl_REPLACE_VASPRINTF fi ]) coreutils-8.21/m4/strerror.m40000664000000000000000000000623612071024546013022 00000000000000# strerror.m4 serial 17 dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_0]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) ]) if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[if (!*strerror (-2)) return 1;]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_strerror="guessing no" ;; esac ]) ]) case "$gl_cv_func_working_strerror" in *yes) ;; *) dnl The system's strerror() fails to return a string for out-of-range dnl integers. Replace it. REPLACE_STRERROR=1 ;; esac m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's dnl buffer, we must replace strerror. case "$gl_cv_func_strerror_r_works" in *no) REPLACE_STRERROR=1 ;; esac ]) else dnl The system's strerror() cannot know about the new errno values we add dnl to , or any fix for strerror(0). Replace it. REPLACE_STRERROR=1 fi ]) dnl Detect if strerror(0) passes (that is, does not set errno, and does not dnl return a string that matches strerror(-1)). AC_DEFUN([gl_FUNC_STRERROR_0], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles REPLACE_STRERROR_0=0 AC_CACHE_CHECK([whether strerror(0) succeeds], [gl_cv_func_strerror_0_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[int result = 0; char *str; errno = 0; str = strerror (0); if (!*str) result |= 1; if (errno) result |= 2; if (strstr (str, "nknown") || strstr (str, "ndefined")) result |= 4; return result;]])], [gl_cv_func_strerror_0_works=yes], [gl_cv_func_strerror_0_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_strerror_0_works="guessing no" ;; esac ]) ]) case "$gl_cv_func_strerror_0_works" in *yes) ;; *) REPLACE_STRERROR_0=1 AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0) does not return a message implying success.]) ;; esac ]) coreutils-8.21/m4/boottime.m40000664000000000000000000000403412102337340012746 00000000000000# boottime.m4 serial 4 # Determine whether this system has infrastructure for obtaining the boot time. # Copyright (C) 1996-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) * ---------------------------------------------------------- AC_DEFUN([GNULIB_BOOT_TIME], [ AC_CHECK_FUNCS([sysctl]) AC_CHECK_HEADERS_ONCE([sys/param.h]) AC_CHECK_HEADERS([sys/sysctl.h], [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) AC_CHECK_HEADERS_ONCE([utmp.h utmpx.h OS.h]) AC_CACHE_CHECK( [whether we can get the system boot time], [gnulib_cv_have_boot_time], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H # if HAVE_SYS_PARAM_H # include /* needed for OpenBSD 3.0 */ # endif # include #endif #if HAVE_UTMPX_H # include #elif HAVE_UTMP_H # include #endif #if HAVE_OS_H # include #endif ], [[ #if (defined BOOT_TIME \ || (defined CTL_KERN && defined KERN_BOOTTIME) \ || HAVE_OS_H) /* your system *does* have the infrastructure to determine boot time */ #else please_tell_us_how_to_determine_boot_time_on_your_system #endif ]])], [gnulib_cv_have_boot_time=yes], [gnulib_cv_have_boot_time=no]) ]) AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2]) ]) coreutils-8.21/m4/stat-time.m40000664000000000000000000000605712071024546013050 00000000000000# Checks for stat-related time functions. # Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # st_atim.tv_nsec - Linux, Solaris, Cygwin # st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE # st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE # st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1) # st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway) # st_birthtim - Cygwin 1.7.0+ AC_DEFUN([gl_STAT_TIME], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec], [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[ #include #include #if HAVE_SYS_TIME_H # include #endif #include struct timespec ts; struct stat st; ]], [[ st.st_atim = ts; ]])], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])]) if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [1], [Define to 1 if the type of the st_atim member of a struct stat is struct timespec.]) fi], [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [], [AC_CHECK_MEMBERS([struct stat.st_atimensec], [], [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], [], [#include #include ])], [#include #include ])], [#include #include ])], [#include #include ]) ]) # Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.) # and NTFS (Cygwin). # There was a time when this field was named st_createtime (21 June # 2002 to 16 July 2002) But that window is very small and applied only # to development code, so systems still using that configuration are # not supported. See revisions 1.10 and 1.11 of FreeBSD's # src/sys/ufs/ufs/dinode.h. # AC_DEFUN([gl_STAT_BIRTHTIME], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [], [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [], [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [], [#include #include ])], [#include #include ])], [#include #include ]) ]) coreutils-8.21/m4/include-exclude-prog.m40000664000000000000000000000624112102337340015145 00000000000000#serial 2 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. # Usage: gl_ADD_PROG([prog_list_var_name], [prog_name]) AC_DEFUN([gl_ADD_PROG], [{ if test -z "$$1"; then $1=$2 else $1="$$1 $2" fi }]) # Usage: gl_REMOVE_PROG([prog_list_var_name], [prog_name]) AC_DEFUN([gl_REMOVE_PROG], [{ $1=`for gl_rem_i in $$1; do test "$gl_rem_i" = "$2" || echo "$gl_rem_i" done | tr '\012' ' ' | sed 's/ $//'; echo` }]) # Given the name of a variable containing a space-separated list of # install-by-default programs and the list of do-not-install-by-default # programs, modify the former variable to reflect "no-install" and # "do-install" requests. The names in the latter list should be comma- # separated. # # Usage: gl_INCLUDE_EXCLUDE_PROG([prog_list_var_name], [no_inst_prog_list]) AC_DEFUN([gl_INCLUDE_EXCLUDE_PROG], [{ gl_no_install_progs_default=`echo '$2'|sed 's/,/ /g'` AC_ARG_ENABLE([install-program], [AS_HELP_STRING([--enable-install-program=PROG_LIST], [install the programs in PROG_LIST (comma-separated, default: none)])], [gl_do_install_prog=$enableval], [gl_do_install_prog=] ) # If you want to refrain from installing programs A and B, # use --enable-no-install-program=A,B AC_ARG_ENABLE([no-install-program], [AS_HELP_STRING([--enable-no-install-program=PROG_LIST], [do NOT install the programs in PROG_LIST (comma-separated, default: $2)])], [gl_no_install_prog=$enableval], [gl_no_install_prog=] ) # Convert to space separated lists. gl_do_install_prog=`echo "$gl_do_install_prog"|tr -s , ' '` gl_no_install_prog=`echo "$gl_no_install_prog"|tr -s , ' '` # For each not-to-be-installed program name, ensure that it's a # valid name, remove it from the list of programs to build/install, # as well as from the list of man pages to install. for gl_i in $gl_no_install_prog; do # Fail upon a request to install and not-install the same program. case " $gl_do_install_prog " in *" $gl_i "*) AC_MSG_ERROR(['$gl_i' is both included and excluded]) ;; esac gl_msg= # Warn about a request not to install a program that is not being # built (which may be because the systems lacks a required interface). case " $$1 " in *" $gl_i "*) gl_REMOVE_PROG([$1], $gl_i) ;; *) gl_msg="'$gl_i' is already not being installed" ;; esac if test "$gl_msg" = ''; then # Warn about a request not to install a program that is # already on the default-no-install list. case " $gl_no_install_progs_default " in *" $gl_i "*) gl_msg="by default, '$gl_i' is not installed" ;; esac fi test "$gl_msg" != '' && AC_MSG_WARN([$gl_msg]) done for gl_i in $gl_do_install_prog; do case " $gl_no_install_progs_default " in *" $gl_i "*) gl_ADD_PROG([$1], $gl_i) ;; *) AC_MSG_WARN(['$gl_i' is not an optionally-installable program]) ;; esac done }]) coreutils-8.21/m4/exponentl.m40000664000000000000000000000612112071024546013145 00000000000000# exponentl.m4 serial 3 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LONG_DOUBLE_EXPONENT_LOCATION], [ AC_REQUIRE([gl_BIGENDIAN]) AC_CACHE_CHECK([where to find the exponent in a 'long double'], [gl_cv_cc_long_double_expbit0], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #include #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ]])], [gl_cv_cc_long_double_expbit0=`cat conftest.out`], [gl_cv_cc_long_double_expbit0="unknown"], [ dnl When cross-compiling, we don't know. It depends on the dnl ABI and compiler version. There are too many cases. gl_cv_cc_long_double_expbit0="unknown" ]) rm -f conftest.out ]) case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'long double'.]) AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'long double'.]) ;; esac ]) coreutils-8.21/m4/sigaction.m40000664000000000000000000000232512071024546013113 00000000000000# sigaction.m4 serial 7 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Determine if sigaction interface is present. AC_DEFUN([gl_SIGACTION], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([sigaction]) if test $ac_cv_func_sigaction = yes; then AC_CHECK_MEMBERS([struct sigaction.sa_sigaction], , , [[#include ]]) if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 fi else HAVE_SIGACTION=0 fi ]) # Prerequisites of the part of lib/signal.in.h and of lib/sigaction.c. AC_DEFUN([gl_PREREQ_SIGACTION], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_UID_T]) AC_REQUIRE([gl_PREREQ_SIG_HANDLER_H]) AC_CHECK_FUNCS_ONCE([sigaltstack siginterrupt]) AC_CHECK_TYPES([siginfo_t], [], [], [[ #include ]]) if test $ac_cv_type_siginfo_t = no; then HAVE_SIGINFO_T=0 fi ]) # Prerequisites of lib/sig-handler.h. AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], [:]) coreutils-8.21/m4/stpcpy.m40000664000000000000000000000131612071024546012454 00000000000000# stpcpy.m4 serial 8 dnl Copyright (C) 2002, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STPCPY], [ dnl Persuade glibc to declare stpcpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The stpcpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([stpcpy]) if test $ac_cv_func_stpcpy = no; then HAVE_STPCPY=0 fi ]) # Prerequisites of lib/stpcpy.c. AC_DEFUN([gl_PREREQ_STPCPY], [ : ]) coreutils-8.21/m4/stdlib_h.m40000664000000000000000000001267412071024546012733 00000000000000# stdlib_h.m4 serial 41 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_NEXT_HEADERS([stdlib.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include #if HAVE_SYS_LOADAVG_H # include #endif #if HAVE_RANDOM_H # include #endif ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random random_r realpath rpmatch setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT]) GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM]) HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) ]) coreutils-8.21/m4/wctob.m40000664000000000000000000000667612071024546012266 00000000000000# wctob.m4 serial 10 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCTOB], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([wctob]) if test $ac_cv_func_wctob = no; then HAVE_WCTOB=0 HAVE_DECL_WCTOB=0 else HAVE_WCTOB=1 dnl Solaris 9 has the wctob() function but it does not work. dnl Cygwin 1.7.2 has the wctob() function but it clobbers caller-owned dnl registers, see . AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether wctob works], [gl_cv_func_wctob_works], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac changequote([,])dnl case "$host_os" in cygwin*) AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include register long global __asm__ ("%ebx"); int main () { setlocale (LC_ALL, "en_US.UTF-8"); global = 0x12345678; if (wctob (0x00FC) != -1) return 1; if (global != 0x12345678) return 2; return 0; }]])], [:], [gl_cv_func_wctob_works=no], [:]) ;; esac if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { wchar_t wc; if (mbtowc (&wc, "\374", 1) == 1) if (wctob (wc) != (unsigned char) '\374') return 1; } return 0; }]])], [gl_cv_func_wctob_works=yes], [gl_cv_func_wctob_works=no], [:]) fi ]) case "$gl_cv_func_wctob_works" in *yes) ;; *) REPLACE_WCTOB=1 ;; esac if test $REPLACE_WCTOB = 0; then dnl IRIX 6.5 has the wctob() function but does not declare it. AC_CHECK_DECLS([wctob], [], [], [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 fi fi fi ]) # Prerequisites of lib/wctob.c. AC_DEFUN([gl_PREREQ_WCTOB], [ : ]) coreutils-8.21/m4/printf.m40000664000000000000000000016635012071024546012446 00000000000000# printf.m4 serial 50 dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test whether the *printf family of functions supports the 'j', 'z', 't', dnl 'L' size specifiers. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_sizes_c99. AC_DEFUN([gl_PRINTF_SIZES_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports size specifiers as in C99], [gl_cv_func_printf_sizes_c99], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #include #if HAVE_STDINT_H_WITH_UINTMAX # include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include #endif static char buf[100]; int main () { int result = 0; #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX buf[0] = '\0'; if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 || strcmp (buf, "12345671 33") != 0) result |= 1; #endif buf[0] = '\0'; if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 || strcmp (buf, "12345672 33") != 0) result |= 2; buf[0] = '\0'; if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 || strcmp (buf, "12345673 33") != 0) result |= 4; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 || strcmp (buf, "1.5 33") != 0) result |= 8; return result; }]])], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_printf_sizes_c99="guessing no";; openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_sizes_c99="guessing no";; netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_sizes_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports 'long double' dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_long_double. AC_DEFUN([gl_PRINTF_LONG_DOUBLE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports 'long double' arguments], [gl_cv_func_printf_long_double], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[10000]; int main () { int result = 0; buf[0] = '\0'; if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000 33") != 0) result |= 1; buf[0] = '\0'; if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000e+00 33") != 0) result |= 2; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.75 33") != 0) result |= 4; return result; }]])], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], [ changequote(,)dnl case "$host_os" in beos*) gl_cv_func_printf_long_double="guessing no";; mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; *) gl_cv_func_printf_long_double="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports infinite and NaN dnl 'double' arguments and negative zero arguments in the %f, %e, %g dnl directives. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_infinite. AC_DEFUN([gl_PRINTF_INFINITE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], [gl_cv_func_printf_infinite], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static int have_minus_zero () { static double plus_zero = 0.0; double minus_zero = - plus_zero; return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; } static char buf[10000]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%f", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%f", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%e", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 4; if (sprintf (buf, "%e", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 4; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%g", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 16; if (sprintf (buf, "%g", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 16; if (sprintf (buf, "%g", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; /* This test fails on HP-UX 10.20. */ if (have_minus_zero ()) if (sprintf (buf, "%g", - zero) < 0 || strcmp (buf, "-0") != 0) result |= 64; return result; }]])], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; darwin*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; hpux*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite="guessing no";; netbsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_infinite="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports infinite and NaN dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_infinite_long_double. AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_BIGENDIAN]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl The user can set or unset the variable gl_printf_safe to indicate dnl that he wishes a safe handling of non-IEEE-754 'long double' values. if test -n "$gl_printf_safe"; then AC_DEFINE([CHECK_PRINTF_SAFE], [1], [Define if you wish *printf() functions that have a safe handling of non-IEEE-754 'long double' values.]) fi case "$gl_cv_func_printf_long_double" in *yes) AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], [gl_cv_func_printf_infinite_long_double], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ ]GL_NOCRASH[ #include #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static long double zeroL = 0.0L; int main () { int result = 0; nocrash_init(); if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; } { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; } #endif return result; }]])], [gl_cv_func_printf_infinite_long_double=yes], [gl_cv_func_printf_infinite_long_double=no], [ changequote(,)dnl case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; *) case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite_long_double="guessing no";; esac ;; esac changequote([,])dnl ]) ]) ;; *) gl_cv_func_printf_infinite_long_double="irrelevant" ;; esac ]) dnl Test whether the *printf family of functions supports the 'a' and 'A' dnl conversion specifier for hexadecimal output of floating-point numbers. dnl (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_a. AC_DEFUN([gl_PRINTF_DIRECTIVE_A], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], [gl_cv_func_printf_directive_a], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[100]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "0x1.922p+1 33") != 0 && strcmp (buf, "0x3.244p+0 33") != 0 && strcmp (buf, "0x6.488p-1 33") != 0 && strcmp (buf, "0xc.91p-2 33") != 0)) result |= 1; if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "-0X1.922P+1 33") != 0 && strcmp (buf, "-0X3.244P+0 33") != 0 && strcmp (buf, "-0X6.488P-1 33") != 0 && strcmp (buf, "-0XC.91P-2 33") != 0)) result |= 2; /* This catches a FreeBSD 6.1 bug: it doesn't round. */ if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 || (strcmp (buf, "0x1.83p+0 33") != 0 && strcmp (buf, "0x3.05p-1 33") != 0 && strcmp (buf, "0x6.0ap-2 33") != 0 && strcmp (buf, "0xc.14p-3 33") != 0)) result |= 4; /* This catches a FreeBSD 6.1 bug. See */ if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 || buf[0] == '0') result |= 8; /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) result |= 16; /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a glibc 2.4 bug . */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) result |= 32; return result; }]])], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], [ case "$host_os" in # Guess yes on glibc >= 2.5 systems. *-gnu*) AC_EGREP_CPP([BZ2908], [ #include #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)) && !defined __UCLIBC__ BZ2908 #endif #endif ], [gl_cv_func_printf_directive_a="guessing yes"], [gl_cv_func_printf_directive_a="guessing no"]) ;; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac ]) ]) ]) dnl Test whether the *printf family of functions supports the %F format dnl directive. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_f. AC_DEFUN([gl_PRINTF_DIRECTIVE_F], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'F' directive], [gl_cv_func_printf_directive_f], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[100]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) result |= 1; if (sprintf (buf, "%F", 1.0 / zero) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) result |= 2; /* This catches a Cygwin 1.5.x bug. */ if (sprintf (buf, "%.F", 1234.0) < 0 || strcmp (buf, "1234") != 0) result |= 4; return result; }]])], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_f="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports the %n format dnl directive. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_n. AC_DEFUN([gl_PRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'n' directive], [gl_cv_func_printf_directive_n], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #ifdef _MSC_VER /* See page about "Parameter Validation" on msdn.microsoft.com. */ static void cdecl invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t dummy) { exit (1); } #endif static char fmtstring[10]; static char buf[100]; int main () { int count = -1; #ifdef _MSC_VER _set_invalid_parameter_handler (invalid_parameter_handler); #endif /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 || strcmp (buf, "123 ") != 0 || count != 4) return 1; return 0; }]])], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], [ changequote(,)dnl case "$host_os" in mingw*) gl_cv_func_printf_directive_n="guessing no";; *) gl_cv_func_printf_directive_n="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports the %ls format dnl directive and in particular, when a precision is specified, whether dnl the functions stop converting the wide string argument when the number dnl of bytes that have been produced by this conversion equals or exceeds dnl the precision. dnl Result is gl_cv_func_printf_directive_ls. AC_DEFUN([gl_PRINTF_DIRECTIVE_LS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'ls' directive], [gl_cv_func_printf_directive_ls], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #include int main () { int result = 0; char buf[100]; /* Test whether %ls works at all. This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on Cygwin 1.5. */ { static const wchar_t wstring[] = { 'a', 'b', 'c', 0 }; buf[0] = '\0'; if (sprintf (buf, "%ls", wstring) < 0 || strcmp (buf, "abc") != 0) result |= 1; } /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an assertion failure inside libc), but not on OpenBSD 4.0. */ { static const wchar_t wstring[] = { 'a', 0 }; buf[0] = '\0'; if (sprintf (buf, "%ls", wstring) < 0 || strcmp (buf, "a") != 0) result |= 2; } /* Test whether precisions in %ls are supported as specified in ISO C 99 section 7.19.6.1: "If a precision is specified, no more than that many bytes are written (including shift sequences, if any), and the array shall contain a null wide character if, to equal the multibyte character sequence length given by the precision, the function would need to access a wide character one past the end of the array." This test fails on Solaris 10. */ { static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 }; buf[0] = '\0'; if (sprintf (buf, "%.2ls", wstring) < 0 || strcmp (buf, "ab") != 0) result |= 8; } return result; }]])], [gl_cv_func_printf_directive_ls=yes], [gl_cv_func_printf_directive_ls=no], [ changequote(,)dnl case "$host_os" in openbsd*) gl_cv_func_printf_directive_ls="guessing no";; irix*) gl_cv_func_printf_directive_ls="guessing no";; solaris*) gl_cv_func_printf_directive_ls="guessing no";; cygwin*) gl_cv_func_printf_directive_ls="guessing no";; beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; *) gl_cv_func_printf_directive_ls="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports POSIX/XSI format dnl strings with positions. (POSIX:2001) dnl Result is gl_cv_func_printf_positions. AC_DEFUN([gl_PRINTF_POSITIONS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], [gl_cv_func_printf_positions], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); }]])], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], [ changequote(,)dnl case "$host_os" in netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports POSIX/XSI format dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) dnl Result is gl_cv_func_printf_flag_grouping. AC_DEFUN([gl_PRINTF_FLAG_GROUPING], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the grouping flag], [gl_cv_func_printf_flag_grouping], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[100]; int main () { if (sprintf (buf, "%'d %d", 1234567, 99) < 0 || buf[strlen (buf) - 1] != '9') return 1; return 0; }]])], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], [ changequote(,)dnl case "$host_os" in cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; *) gl_cv_func_printf_flag_grouping="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports the - flag correctly. dnl (ISO C99.) See dnl dnl Result is gl_cv_func_printf_flag_leftadjust. AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], [gl_cv_func_printf_flag_leftadjust], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[100]; int main () { /* Check that a '-' flag is not annihilated by a negative width. */ if (sprintf (buf, "a%-*sc", -3, "b") < 0 || strcmp (buf, "ab c") != 0) return 1; return 0; }]])], [gl_cv_func_printf_flag_leftadjust=yes], [gl_cv_func_printf_flag_leftadjust=no], [ changequote(,)dnl case "$host_os" in # Guess yes on HP-UX 11. hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess no on HP-UX 10 and older. hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; # Guess yes otherwise. *) gl_cv_func_printf_flag_leftadjust="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports padding of non-finite dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See dnl dnl Result is gl_cv_func_printf_flag_zero. AC_DEFUN([gl_PRINTF_FLAG_ZERO], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the zero flag correctly], [gl_cv_func_printf_flag_zero], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[100]; static double zero = 0.0; int main () { if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; return 0; }]])], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_flag_zero="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_flag_zero="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports large precisions. dnl On mingw, precisions larger than 512 are treated like 512, in integer, dnl floating-point or pointer output. On Solaris 10/x86, precisions larger dnl than 510 in floating-point output crash the program. On Solaris 10/SPARC, dnl precisions larger than 510 in floating-point output yield wrong results. dnl On AIX 7.1, precisions larger than 998 in floating-point output yield dnl wrong results. On BeOS, precisions larger than 1044 crash the program. dnl Result is gl_cv_func_printf_precision. AC_DEFUN([gl_PRINTF_PRECISION], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports large precisions], [gl_cv_func_printf_precision], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static char buf[5000]; int main () { int result = 0; #ifdef __BEOS__ /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ return 1; #endif if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) result |= 1; if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5) result |= 2; if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5 || buf[0] != '1') result |= 4; if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5 || buf[0] != '1') result |= 4; return result; }]])], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], [ changequote(,)dnl case "$host_os" in # Guess no only on Solaris, native Windows, and BeOS systems. solaris*) gl_cv_func_printf_precision="guessing no" ;; mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; beos*) gl_cv_func_printf_precision="guessing no" ;; *) gl_cv_func_printf_precision="guessing yes" ;; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions recovers gracefully in case dnl of an out-of-memory condition, or whether it crashes the entire program. dnl Result is gl_cv_func_printf_enomem. AC_DEFUN([gl_PRINTF_ENOMEM], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_MULTIARCH]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf survives out-of-memory conditions], [gl_cv_func_printf_enomem], [ gl_cv_func_printf_enomem="guessing no" if test "$cross_compiling" = no; then if test $APPLE_UNIVERSAL_BUILD = 0; then AC_LANG_CONFTEST([AC_LANG_SOURCE([ ]GL_NOCRASH[ changequote(,)dnl #include #include #include #include #include int main() { struct rlimit limit; int ret; nocrash_init (); /* Some printf implementations allocate temporary space with malloc. */ /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ #ifdef RLIMIT_DATA if (getrlimit (RLIMIT_DATA, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_DATA, &limit) < 0) return 77; #endif /* On Linux systems, malloc() is limited by RLIMIT_AS. */ #ifdef RLIMIT_AS if (getrlimit (RLIMIT_AS, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_AS, &limit) < 0) return 77; #endif /* Some printf implementations allocate temporary space on the stack. */ #ifdef RLIMIT_STACK if (getrlimit (RLIMIT_STACK, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_STACK, &limit) < 0) return 77; #endif ret = printf ("%.5000000f", 1.0); return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then (./conftest 2>&AS_MESSAGE_LOG_FD result=$? _AS_ECHO_LOG([\$? = $result]) if test $result != 0 && test $result != 77; then result=1; fi exit $result ) >/dev/null 2>/dev/null case $? in 0) gl_cv_func_printf_enomem="yes" ;; 77) gl_cv_func_printf_enomem="guessing no" ;; *) gl_cv_func_printf_enomem="no" ;; esac else gl_cv_func_printf_enomem="guessing no" fi rm -fr conftest* else dnl A universal build on Apple Mac OS X platforms. dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. dnl But we need a configuration result that is valid in both modes. gl_cv_func_printf_enomem="guessing no" fi fi if test "$gl_cv_func_printf_enomem" = "guessing no"; then changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Solaris. solaris*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on AIX. aix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on HP-UX/hppa. hpux*) case "$host_cpu" in hppa*) gl_cv_func_printf_enomem="guessing yes";; *) gl_cv_func_printf_enomem="guessing no";; esac ;; # Guess yes on IRIX. irix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on OSF/1. osf*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Haiku. haiku*) gl_cv_func_printf_enomem="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_enomem="guessing no";; esac changequote([,])dnl fi ]) ]) dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) dnl Result is ac_cv_func_snprintf. AC_DEFUN([gl_SNPRINTF_PRESENCE], [ AC_CHECK_FUNCS_ONCE([snprintf]) ]) dnl Test whether the string produced by the snprintf function is always NUL dnl terminated. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_snprintf_truncation_c99. AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf truncates the result as in C99], [gl_cv_func_snprintf_truncation_c99], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); my_snprintf (buf, 3, "%d %d", 4567, 89); if (memcmp (buf, "45\0DEF", 6) != 0) return 1; return 0; }]])], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_snprintf_truncation_c99="guessing no";; openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5] | solaris2.[0-5].*) gl_cv_func_snprintf_truncation_c99="guessing no";; solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on OSF/1 >= 5. osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_truncation_c99="guessing no";; netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_truncation_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the return value of the snprintf function is the number dnl of bytes (excluding the terminating NUL) that would have been produced dnl if the buffer had been large enough. (ISO C99, POSIX:2001) dnl For example, this test program fails on IRIX 6.5: dnl --------------------------------------------------------------------- dnl #include dnl int main() dnl { dnl static char buf[8]; dnl int retval = snprintf (buf, 3, "%d", 12345); dnl return retval >= 0 && retval < 3; dnl } dnl --------------------------------------------------------------------- dnl Result is gl_cv_func_snprintf_retval_c99. AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], [gl_cv_func_snprintf_retval_c99], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) return 2; if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) return 3; return 0; }]])], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_snprintf_retval_c99="guessing no";; openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_retval_c99="guessing no";; netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_retval_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the snprintf function supports the %n format directive dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_snprintf_directive_n. AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], [gl_cv_func_snprintf_directive_n], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif static char fmtstring[10]; static char buf[100]; int main () { int count = -1; /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); if (count != 6) return 1; return 0; }]])], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5] | solaris2.[0-5].*) gl_cv_func_snprintf_directive_n="guessing no";; solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; aix*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on OSF/1 >= 5. osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; osf*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_directive_n="guessing no";; netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_directive_n="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_directive_n="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the snprintf function, when passed a size = 1, writes any dnl output without bounds in this case, behaving like sprintf. This is the dnl case on Linux libc5. dnl Result is gl_cv_func_snprintf_size1. AC_DEFUN([gl_SNPRINTF_SIZE1], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_SNPRINTF_PRESENCE]) AC_CACHE_CHECK([whether snprintf respects a size of 1], [gl_cv_func_snprintf_size1], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; my_snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; }]])], [gl_cv_func_snprintf_size1=yes], [gl_cv_func_snprintf_size1=no], [gl_cv_func_snprintf_size1="guessing yes"]) ]) ]) dnl Test whether the vsnprintf function, when passed a zero size, produces no dnl output. (ISO C99, POSIX:2001) dnl For example, snprintf nevertheless writes a NUL byte in this case dnl on OSF/1 5.1: dnl --------------------------------------------------------------------- dnl #include dnl int main() dnl { dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; dnl snprintf (buf, 0, "%d", 12345); dnl return buf[0] != 'D'; dnl } dnl --------------------------------------------------------------------- dnl And vsnprintf writes any output without bounds in this case, behaving like dnl vsprintf, on HP-UX 11 and OSF/1 5.1: dnl --------------------------------------------------------------------- dnl #include dnl #include dnl static int my_snprintf (char *buf, int size, const char *format, ...) dnl { dnl va_list args; dnl int ret; dnl va_start (args, format); dnl ret = vsnprintf (buf, size, format, args); dnl va_end (args); dnl return ret; dnl } dnl int main() dnl { dnl static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; dnl my_snprintf (buf, 0, "%d", 12345); dnl return buf[0] != 'D'; dnl } dnl --------------------------------------------------------------------- dnl Result is gl_cv_func_vsnprintf_zerosize_c99. AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], [gl_cv_func_vsnprintf_zerosize_c99], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; my_snprintf (buf, 0, "%d", 12345); return buf[0] != 'D'; }]])], [gl_cv_func_vsnprintf_zerosize_c99=yes], [gl_cv_func_vsnprintf_zerosize_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5] | solaris2.[0-5].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on mingw. mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl The results of these tests on various platforms are: dnl dnl 1 = gl_PRINTF_SIZES_C99 dnl 2 = gl_PRINTF_LONG_DOUBLE dnl 3 = gl_PRINTF_INFINITE dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE dnl 5 = gl_PRINTF_DIRECTIVE_A dnl 6 = gl_PRINTF_DIRECTIVE_F dnl 7 = gl_PRINTF_DIRECTIVE_N dnl 8 = gl_PRINTF_DIRECTIVE_LS dnl 9 = gl_PRINTF_POSITIONS dnl 10 = gl_PRINTF_FLAG_GROUPING dnl 11 = gl_PRINTF_FLAG_LEFTADJUST dnl 12 = gl_PRINTF_FLAG_ZERO dnl 13 = gl_PRINTF_PRECISION dnl 14 = gl_PRINTF_ENOMEM dnl 15 = gl_SNPRINTF_PRESENCE dnl 16 = gl_SNPRINTF_TRUNCATION_C99 dnl 17 = gl_SNPRINTF_RETVAL_C99 dnl 18 = gl_SNPRINTF_DIRECTIVE_N dnl 19 = gl_SNPRINTF_SIZE1 dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99 dnl dnl 1 = checking whether printf supports size specifiers as in C99... dnl 2 = checking whether printf supports 'long double' arguments... dnl 3 = checking whether printf supports infinite 'double' arguments... dnl 4 = checking whether printf supports infinite 'long double' arguments... dnl 5 = checking whether printf supports the 'a' and 'A' directives... dnl 6 = checking whether printf supports the 'F' directive... dnl 7 = checking whether printf supports the 'n' directive... dnl 8 = checking whether printf supports the 'ls' directive... dnl 9 = checking whether printf supports POSIX/XSI format strings with positions... dnl 10 = checking whether printf supports the grouping flag... dnl 11 = checking whether printf supports the left-adjust flag correctly... dnl 12 = checking whether printf supports the zero flag correctly... dnl 13 = checking whether printf supports large precisions... dnl 14 = checking whether printf survives out-of-memory conditions... dnl 15 = checking for snprintf... dnl 16 = checking whether snprintf truncates the result as in C99... dnl 17 = checking whether snprintf returns a byte count as in C99... dnl 18 = checking whether snprintf fully supports the 'n' directive... dnl 19 = checking whether snprintf respects a size of 1... dnl 20 = checking whether vsnprintf respects a zero size as in C99... dnl dnl . = yes, # = no. dnl dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . . dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . . dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . . dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . . dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . . dnl Solaris 11 2011-11 . . # # # . . # . . . # . . . . . . . . dnl Solaris 10 . . # # # . . # . . . # # . . . . . . . dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . . dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # # dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . . dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . . dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . . dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . . dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . # dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? # dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . . dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . # dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # # dnl NetBSD 5.0 . . . # # . . . . . . # . # . . . . . . dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ? dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . . dnl Haiku . . . # # # . # . . . . . ? . . ? . . . dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . . dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . . dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . . dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . . dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . . coreutils-8.21/m4/nproc.m40000664000000000000000000000342712071024546012260 00000000000000# nproc.m4 serial 4 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_NPROC], [ gl_PREREQ_NPROC ]) # Prerequisites of lib/nproc.c. AC_DEFUN([gl_PREREQ_NPROC], [ dnl Persuade glibc to declare CPU_SETSIZE, CPU_ISSET etc. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS([sys/pstat.h sys/sysmp.h sys/param.h],,, [AC_INCLUDES_DEFAULT]) dnl requires on OpenBSD 4.0. AC_CHECK_HEADERS([sys/sysctl.h],,, [AC_INCLUDES_DEFAULT #if HAVE_SYS_PARAM_H # include #endif ]) AC_CHECK_FUNCS([sched_getaffinity sched_getaffinity_np \ pstat_getdynamic sysmp sysctl]) dnl Test whether sched_getaffinity has the expected declaration. dnl glibc 2.3.[0-2]: dnl int sched_getaffinity (pid_t, unsigned int, unsigned long int *); dnl glibc 2.3.3: dnl int sched_getaffinity (pid_t, cpu_set_t *); dnl glibc >= 2.3.4: dnl int sched_getaffinity (pid_t, size_t, cpu_set_t *); if test $ac_cv_func_sched_getaffinity = yes; then AC_CACHE_CHECK([for glibc compatible sched_getaffinity], [gl_cv_func_sched_getaffinity3], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[sched_getaffinity (0, 0, (cpu_set_t *) 0);]])], [gl_cv_func_sched_getaffinity3=yes], [gl_cv_func_sched_getaffinity3=no]) ]) if test $gl_cv_func_sched_getaffinity3 = yes; then AC_DEFINE([HAVE_SCHED_GETAFFINITY_LIKE_GLIBC], [1], [Define to 1 if sched_getaffinity has a glibc compatible declaration.]) fi fi ]) coreutils-8.21/m4/wctomb.m40000664000000000000000000000071412071024546012426 00000000000000# wctomb.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCTOMB], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) if false; then REPLACE_WCTOMB=1 fi ]) # Prerequisites of lib/wctomb.c. AC_DEFUN([gl_PREREQ_WCTOMB], [ : ]) coreutils-8.21/m4/memrchr.m40000664000000000000000000000125312071024546012567 00000000000000# memrchr.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMRCHR], [ dnl Persuade glibc to declare memrchr(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([memrchr]) if test $ac_cv_have_decl_memrchr = no; then HAVE_DECL_MEMRCHR=0 fi AC_CHECK_FUNCS([memrchr]) ]) # Prerequisites of lib/memrchr.c. AC_DEFUN([gl_PREREQ_MEMRCHR], [:]) coreutils-8.21/m4/locale-fr.m40000664000000000000000000002422512071024546013002 00000000000000# locale-fr.m4 serial 17 dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a french locale with traditional encoding. AC_DEFUN([gt_LOCALE_FR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* ]) LOCALE_FR=$gt_cv_locale_fr AC_SUBST([LOCALE_FR]) ]) dnl Determine the name of a french locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_FR_UTF8], [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* ]) LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 AC_SUBST([LOCALE_FR_UTF8]) ]) coreutils-8.21/m4/fnmatch.m40000664000000000000000000001360612071024546012557 00000000000000# Check for fnmatch - serial 9. # Copyright (C) 2000-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Autoconf defines AC_FUNC_FNMATCH, but that is obsolescent. # New applications should use the macros below instead. # Request a POSIX compliant fnmatch function. AC_DEFUN([gl_FUNC_FNMATCH_POSIX], [ m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX]) dnl Persuade glibc to declare FNM_CASEFOLD etc. dnl This is only needed if gl_fnmatch_required = GNU. It would be possible dnl to avoid this dependency for gl_FUNC_FNMATCH_POSIX by putting dnl gl_FUNC_FNMATCH_GNU into a separate .m4 file. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) FNMATCH_H= gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]' ` gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch], [$gl_fnmatch_cache_var], [dnl Some versions of Solaris, SCO, and the GNU C Library dnl have a broken or incompatible fnmatch. dnl So we run a test program. If we are cross-compiling, take no chance. dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this dnl test. if test $gl_fnmatch_required = GNU; then gl_fnmatch_gnu_start= gl_fnmatch_gnu_end= else gl_fnmatch_gnu_start='#if 0' gl_fnmatch_gnu_end='#endif' fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include static int y (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == 0; } static int n (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == FNM_NOMATCH; } ]], [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; static char const A_1[] = { 'A' - 1, 0 }; static char const A01[] = { 'A' + 1, 0 }; static char const a_1[] = { 'a' - 1, 0 }; static char const a01[] = { 'a' + 1, 0 }; static char const bs_1[] = { '\\\\' - 1, 0 }; static char const bs01[] = { '\\\\' + 1, 0 }; int result = 0; if (!n ("a*", "", 0)) return 1; if (!y ("a*", "abc", 0)) return 1; if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ return 1; if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) return 2; if (!y ("a\\\\bc", "abc", 0)) return 3; if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) return 3; if (!y ("*x", ".x", 0)) return 4; if (!n ("*x", ".x", FNM_PERIOD)) return 4; if (!y (Apat, "\\\\", 0)) return 5; if (!y (Apat, "A", 0)) return 5; if (!y (apat, "\\\\", 0)) return 5; if (!y (apat, "a", 0)) return 5; if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) return 5; if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) return 5; if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) return 5; if (!(y (apat, a01, 0) == ('a' < '\\\\'))) return 5; if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) return 5; if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) return 5; if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) return 5; if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) return 5; $gl_fnmatch_gnu_start if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) result |= 8; if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) result |= 16; if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) result |= 32; if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; $gl_fnmatch_gnu_end return result; ]])], [eval "$gl_fnmatch_cache_var=yes"], [eval "$gl_fnmatch_cache_var=no"], [eval "$gl_fnmatch_cache_var=\"guessing no\""]) ]) eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" if test "$gl_fnmatch_result" = yes; then dnl Not strictly necessary. Only to avoid spurious leftover files if people dnl don't do "make distclean". rm -f "$gl_source_base/fnmatch.h" else FNMATCH_H=fnmatch.h fi AC_SUBST([FNMATCH_H]) AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"]) ]) # Request a POSIX compliant fnmatch function with GNU extensions. AC_DEFUN([gl_FUNC_FNMATCH_GNU], [ m4_divert_text([INIT_PREPARE], [gl_fnmatch_required=GNU]) AC_REQUIRE([gl_FUNC_FNMATCH_POSIX]) ]) AC_DEFUN([gl_PREREQ_FNMATCH], [ dnl We must choose a different name for our function, since on ELF systems dnl a broken fnmatch() in libc.so would override our fnmatch() if it is dnl compiled into a shared library. AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch], [Define to a replacement function name for fnmatch().]) dnl Prerequisites of lib/fnmatch.c. AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_DECLS([isblank], [], [], [[#include ]]) AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) AC_CHECK_HEADERS_ONCE([wctype.h]) ]) coreutils-8.21/m4/fseeko.m40000664000000000000000000000435512071024546012414 00000000000000# fseeko.m4 serial 16 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEKO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) AC_REQUIRE([gl_SYS_TYPES_H]) AC_REQUIRE([AC_PROG_CC]) dnl Persuade glibc to declare fseeko(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], [ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [fseeko (stdin, 0, 0);])], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) AC_CHECK_DECLS_ONCE([fseeko]) if test $ac_cv_have_decl_fseeko = no; then HAVE_DECL_FSEEKO=0 fi if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FSEEKO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FSEEKO=1 fi m4_ifdef([gl_FUNC_FFLUSH_STDIN], [ gl_FUNC_FFLUSH_STDIN if test $gl_cv_func_fflush_stdin = no; then REPLACE_FSEEKO=1 fi ]) fi ]) dnl Code shared by fseeko and ftello. Determine if large files are supported, dnl but stdin does not start as a large file by default. AC_DEFUN([gl_STDIN_LARGE_OFFSET], [ AC_CACHE_CHECK([whether stdin defaults to large file offsets], [gl_cv_var_stdin_large_offset], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif]])], [gl_cv_var_stdin_large_offset=yes], [gl_cv_var_stdin_large_offset=no])]) ]) # Prerequisites of lib/fseeko.c. AC_DEFUN([gl_PREREQ_FSEEKO], [ dnl Native Windows has the function _fseeki64. mingw hides it, but mingw64 dnl makes it usable again. AC_CHECK_FUNCS([_fseeki64]) ]) coreutils-8.21/m4/frexp.m40000664000000000000000000001142012071024546012253 00000000000000# frexp.m4 serial 14 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREXP], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) FREXP_LIBM= if test $gl_cv_func_frexp_no_libm = no; then AC_CACHE_CHECK([whether frexp() can be used with libm], [gl_cv_func_frexp_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include double x;]], [[int e; return frexp (x, &e) > 0;]])], [gl_cv_func_frexp_in_libm=yes], [gl_cv_func_frexp_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_frexp_in_libm = yes; then FREXP_LIBM=-lm fi fi if test $gl_cv_func_frexp_no_libm = yes \ || test $gl_cv_func_frexp_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $FREXP_LIBM" gl_FUNC_FREXP_WORKS LIBS="$save_LIBS" case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp=yes ;; *) gl_func_frexp=no; REPLACE_FREXP=1; FREXP_LIBM= ;; esac else gl_func_frexp=no fi if test $gl_func_frexp = yes; then AC_DEFINE([HAVE_FREXP], [1], [Define if the frexp() function is available and works.]) fi AC_SUBST([FREXP_LIBM]) ]) AC_DEFUN([gl_FUNC_FREXP_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp_no_libm=yes ;; *) gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;; esac else gl_func_frexp_no_libm=no dnl Set REPLACE_FREXP here because the system may have frexp in libm. REPLACE_FREXP=1 fi if test $gl_func_frexp_no_libm = yes; then AC_DEFINE([HAVE_FREXP_IN_LIBC], [1], [Define if the frexp() function is available in libc.]) fi ]) dnl Test whether frexp() can be used without linking with libm. dnl Set gl_cv_func_frexp_no_libm to 'yes' or 'no' accordingly. AC_DEFUN([gl_CHECK_FREXP_NO_LIBM], [ AC_CACHE_CHECK([whether frexp() can be used without linking with libm], [gl_cv_func_frexp_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include double x;]], [[int e; return frexp (x, &e) > 0;]])], [gl_cv_func_frexp_no_libm=yes], [gl_cv_func_frexp_no_libm=no]) ]) ]) dnl Test whether frexp() works also on denormalized numbers (this fails e.g. on dnl NetBSD 3.0), on infinite numbers (this fails e.g. on IRIX 6.5 and mingw), dnl and on negative zero (this fails e.g. on NetBSD 4.99 and mingw). AC_DEFUN([gl_FUNC_FREXP_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([alarm]) AC_CACHE_CHECK([whether frexp works], [gl_cv_func_frexp_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #if HAVE_ALARM # include #endif /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zero (void) { return -DBL_MIN * DBL_MIN; } # define minus_zero compute_minus_zero () #else double minus_zero = -0.0; #endif int main() { int result = 0; int i; volatile double x; double zero = 0.0; #if HAVE_ALARM /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite number. Let the test fail in this case. */ alarm (5); #endif /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) result |= 1; } /* Test on infinite numbers. */ x = 1.0 / zero; { int exp; double y = frexp (x, &exp); if (y != x) result |= 2; } /* Test on negative zero. */ x = minus_zero; { int exp; double y = frexp (x, &exp); if (memcmp (&y, &x, sizeof x)) result |= 4; } return result; }]])], [gl_cv_func_frexp_works=yes], [gl_cv_func_frexp_works=no], [case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac ]) ]) ]) coreutils-8.21/m4/chdir-long.m40000664000000000000000000000207612071024546013164 00000000000000#serial 15 # Use Gnulib's robust chdir function. # It can handle arbitrarily long directory names, which means # that when it is given the name of an existing directory, it # never fails with ENAMETOOLONG. # Arrange to compile chdir-long.c only on systems that define PATH_MAX. dnl Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_CHDIR_LONG], [ AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether this system has an arbitrary file name length limit], gl_cv_have_arbitrary_file_name_length_limit, [AC_EGREP_CPP([have_arbitrary_file_name_length_limit], gl_PATHMAX_SNIPPET[ #ifdef PATH_MAX have_arbitrary_file_name_length_limit #endif], gl_cv_have_arbitrary_file_name_length_limit=yes, gl_cv_have_arbitrary_file_name_length_limit=no)]) ]) AC_DEFUN([gl_PREREQ_CHDIR_LONG], [:]) coreutils-8.21/m4/mkdir.m40000664000000000000000000000452712071024546012247 00000000000000# serial 11 # Copyright (C) 2001, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. # On others, mkdir ("foo/./", 0700) mistakenly succeeds. # On such systems, arrange to use a wrapper function. AC_DEFUN([gl_FUNC_MKDIR], [dnl AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether mkdir handles trailing slash], [gl_cv_func_mkdir_trailing_slash_works], [rm -rf conftest.dir AC_RUN_IFELSE([AC_LANG_PROGRAM([[ # include # include ]], [return mkdir ("conftest.dir/", 0700);])], [gl_cv_func_mkdir_trailing_slash_works=yes], [gl_cv_func_mkdir_trailing_slash_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; esac ]) rm -rf conftest.dir ] ) case "$gl_cv_func_mkdir_trailing_slash_works" in *yes) ;; *) REPLACE_MKDIR=1 ;; esac AC_CACHE_CHECK([whether mkdir handles trailing dot], [gl_cv_func_mkdir_trailing_dot_works], [rm -rf conftest.dir AC_RUN_IFELSE([AC_LANG_PROGRAM([[ # include # include ]], [return !mkdir ("conftest.dir/./", 0700);])], [gl_cv_func_mkdir_trailing_dot_works=yes], [gl_cv_func_mkdir_trailing_dot_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; esac ]) rm -rf conftest.dir ] ) case "$gl_cv_func_mkdir_trailing_dot_works" in *yes) ;; *) REPLACE_MKDIR=1 AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly creates a directory given with a trailing dot component.]) ;; esac ]) coreutils-8.21/m4/libunistring-base.m40000664000000000000000000001426012071024546014555 00000000000000# libunistring-base.m4 serial 5 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paolo Bonzini and Bruno Haible. dnl gl_LIBUNISTRING_MODULE([VERSION], [Module]) dnl Declares that the source files of Module should be compiled, unless we dnl are linking with libunistring and its version is >= the given VERSION. dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is dnl true if the source files of Module should be compiled. dnl This macro is to be used for public libunistring API, not for dnl undocumented API. dnl dnl You have to bump the VERSION argument to the next projected version dnl number each time you make a change that affects the behaviour of the dnl functions defined in Module (even if the sources of Module itself do not dnl change). AC_DEFUN([gl_LIBUNISTRING_MODULE], [ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from dnl gl_LIBUNISTRING_CORE if that macro has been run. AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]), [gl_LIBUNISTRING_VERSION_CMP([$1])]) ]) dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile]) dnl Declares that HeaderFile should be created, unless we are linking dnl with libunistring and its version is >= the given VERSION. dnl HeaderFile should be relative to the lib directory and end in '.h'. dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty). dnl dnl When we are linking with the already installed libunistring and its version dnl is < VERSION, we create HeaderFile here, because we may compile functions dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed dnl version. dnl When we are linking with the already installed libunistring and its version dnl is > VERSION, we don't create HeaderFile here: it could cause compilation dnl errors in other libunistring header files if some types are missing. dnl dnl You have to bump the VERSION argument to the next projected version dnl number each time you make a non-comment change to the HeaderFile. AC_DEFUN([gl_LIBUNISTRING_LIBHEADER], [ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from dnl gl_LIBUNISTRING_CORE if that macro has been run. if gl_LIBUNISTRING_VERSION_CMP([$1]); then LIBUNISTRING_[]AS_TR_CPP([$2])='$2' else LIBUNISTRING_[]AS_TR_CPP([$2])= fi AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2])) ]) dnl Miscellaneous preparations/initializations. AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE], [ dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point. m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])]) AC_REQUIRE([AC_PROG_AWK]) dnl Sed expressions to extract the parts of a version number. changequote(,) gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} i\ 0 q ' gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} i\ 0 q ' gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} i\ 0 q ' changequote([,]) if test "$HAVE_LIBUNISTRING" = yes; then LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` fi ]) dnl gl_LIBUNISTRING_VERSION_CMP([VERSION]) dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION dnl is less than the VERSION argument. AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP], [ { test "$HAVE_LIBUNISTRING" != yes \ || { dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least. AS_LITERAL_IF([$1], [dnl This is the optimized variant, that assumes the argument is a literal: m4_pushdef([requested_version_major], [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])]) m4_pushdef([requested_version_minor], [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) m4_pushdef([requested_version_subminor], [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \ || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \ && { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \ || { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor } } } m4_popdef([requested_version_subminor]) m4_popdef([requested_version_minor]) m4_popdef([requested_version_major]) ], [dnl This is the unoptimized variant: requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"` requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"` requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"` test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \ || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \ && { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \ || { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor } } } ]) } }]) dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the dnl same as ORIG, otherwise to 0. m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])]) coreutils-8.21/m4/mbsrtowcs.m40000664000000000000000000001124612071024546013160 00000000000000# mbsrtowcs.m4 serial 13 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSRTOWCS], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbsrtowcs]) if test $ac_cv_func_mbsrtowcs = no; then HAVE_MBSRTOWCS=0 AC_CHECK_DECLS([mbsrtowcs],,, [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_mbsrtowcs = yes; then dnl On Minix 3.1.8, the system's declares mbsrtowcs() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_MBSRTOWCS=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSRTOWCS=1 else gl_MBSRTOWCS_WORKS case "$gl_cv_func_mbsrtowcs_works" in *yes) ;; *) REPLACE_MBSRTOWCS=1 ;; esac fi fi ]) dnl Test whether mbsrtowcs works. dnl Result is gl_cv_func_mbsrtowcs_works. AC_DEFUN([gl_MBSRTOWCS_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbsrtowcs works], [gl_cv_func_mbsrtowcs_works], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on HP-UX, Solaris, mingw. hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { int result = 0; /* Test whether the function supports a NULL destination argument. This fails on native Windows. */ if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { const char input[] = "\337er"; const char *src = input; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbsrtowcs (NULL, &src, 1, &state) != 3 || src != input) result |= 1; } /* Test whether the function works when started with a conversion state in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { const char input[] = "B\303\274\303\237er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 2; } } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "<\306\374\313\334\270\354>"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 3, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 4; if (mbsrtowcs (NULL, &src, 10, &state) != 3) result |= 4; } } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { const char input[] = "B\250\271\201\060\211\070er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 8; } } return result; }]])], [gl_cv_func_mbsrtowcs_works=yes], [gl_cv_func_mbsrtowcs_works=no], [:]) fi ]) ]) # Prerequisites of lib/mbsrtowcs.c. AC_DEFUN([gl_PREREQ_MBSRTOWCS], [ : ]) coreutils-8.21/m4/safe-read.m40000664000000000000000000000063112071024546012760 00000000000000# safe-read.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of lib/safe-read.c. AC_DEFUN([gl_PREREQ_SAFE_READ], [ AC_REQUIRE([gt_TYPE_SSIZE_T]) ]) coreutils-8.21/m4/c-strtod.m40000664000000000000000000000306412071024546012673 00000000000000# c-strtod.m4 serial 15 # Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_C99_STRTOLD], [ AC_CACHE_CHECK([whether strtold conforms to C99], [gl_cv_func_c99_strtold], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[/* On HP-UX before 11.23, strtold returns a struct instead of long double. Reject implementations like that, by requiring compatibility with the C99 prototype. */ #include static long double (*p) (char const *, char **) = strtold; static long double test (char const *nptr, char **endptr) { long double r; r = strtold (nptr, endptr); return r; }]], [[return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1;]])], [gl_cv_func_c99_strtold=yes], [gl_cv_func_c99_strtold=no])]) if test $gl_cv_func_c99_strtold = yes; then AC_DEFINE([HAVE_C99_STRTOLD], [1], [Define to 1 if strtold conforms to C99.]) fi ]) dnl Prerequisites of lib/c-strtod.c. AC_DEFUN([gl_C_STRTOD], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS([strtod_l]) ]) dnl Prerequisites of lib/c-strtold.c. AC_DEFUN([gl_C_STRTOLD], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_C99_STRTOLD]) AC_CHECK_FUNCS([strtold_l]) ]) coreutils-8.21/m4/mempcpy.m40000664000000000000000000000134612071024546012607 00000000000000# mempcpy.m4 serial 11 dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMPCPY], [ dnl Persuade glibc to declare mempcpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([mempcpy]) if test $ac_cv_func_mempcpy = no; then HAVE_MEMPCPY=0 fi ]) # Prerequisites of lib/mempcpy.c. AC_DEFUN([gl_PREREQ_MEMPCPY], [ : ]) coreutils-8.21/m4/hostent.m40000664000000000000000000000316612071024546012623 00000000000000# hostent.m4 serial 2 dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HOSTENT], [ dnl Where are gethostent(), sethostent(), endhostent(), gethostbyname(), dnl gethostbyaddr() defined? dnl - On Solaris, they are in libnsl. Ignore libxnet. dnl - On Haiku, they are in libnetwork. dnl - On BeOS, they are in libnet. dnl - On native Windows, they are in ws2_32.dll. dnl - Otherwise they are in libc. AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H HOSTENT_LIB= gl_saved_libs="$LIBS" AC_SEARCH_LIBS([gethostbyname], [nsl network net], [if test "$ac_cv_search_gethostbyname" != "none required"; then HOSTENT_LIB="$ac_cv_search_gethostbyname" fi]) LIBS="$gl_saved_libs" if test -z "$HOSTENT_LIB"; then AC_CHECK_FUNCS([gethostbyname], , [ AC_CACHE_CHECK([for gethostbyname in winsock2.h and -lws2_32], [gl_cv_w32_gethostbyname], [gl_cv_w32_gethostbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_WINSOCK2_H #include #endif #include ]], [[gethostbyname(NULL);]])], [gl_cv_w32_gethostbyname=yes]) LIBS="$gl_save_LIBS" ]) if test "$gl_cv_w32_gethostbyname" = "yes"; then HOSTENT_LIB="-lws2_32" fi ]) fi AC_SUBST([HOSTENT_LIB]) ]) coreutils-8.21/m4/fcntl-safer.m40000664000000000000000000000070512071024546013337 00000000000000#serial 9 dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FCNTL_SAFER], [ dnl Prerequisites of lib/open-safer.c. AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T]) ]) AC_DEFUN([gl_OPENAT_SAFER], [ AC_REQUIRE([gl_FCNTL_SAFER]) ]) coreutils-8.21/m4/ftruncate.m40000664000000000000000000000233312071024546013125 00000000000000# serial 20 # See if we need to emulate a missing ftruncate function using chsize. # Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FTRUNCATE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([ftruncate]) if test $ac_cv_func_ftruncate = yes; then m4_ifdef([gl_LARGEFILE], [ AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw*) dnl Native Windows, and Large File Support is requested. dnl The MSVCRT _chsize() function only accepts a 32-bit file size, dnl and the mingw64 ftruncate64() function is unreliable (it may dnl delete the file, see dnl ). dnl Use gnulib's ftruncate() implementation instead. REPLACE_FTRUNCATE=1 ;; esac ], [ : ]) else HAVE_FTRUNCATE=0 fi ]) # Prerequisites of lib/ftruncate.c. AC_DEFUN([gl_PREREQ_FTRUNCATE], [ AC_CHECK_FUNCS([chsize]) ]) coreutils-8.21/m4/mbslen.m40000664000000000000000000000073012071024546012411 00000000000000# mbslen.m4 serial 2 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSLEN], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([mbslen]) if test $ac_cv_func_mbslen = yes; then HAVE_MBSLEN=1 else HAVE_MBSLEN=0 fi ]) coreutils-8.21/m4/unicodeio.m40000664000000000000000000000055612071024546013115 00000000000000# unicodeio.m4 serial 2 dnl Copyright (C) 2002-2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UNICODEIO], [ dnl No prerequisites of lib/unicodeio.c. : ]) coreutils-8.21/m4/utimensat.m40000664000000000000000000000466312071024546013153 00000000000000# serial 5 # See if we need to provide utimensat replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_UTIMENSAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([utimensat]) if test $ac_cv_func_utimensat = no; then HAVE_UTIMENSAT=0 else AC_CACHE_CHECK([whether utimensat works], [gl_cv_func_utimensat_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ #include #include #include ]], [[int result = 0; const char *f = "conftest.file"; if (close (creat (f, 0600))) return 1; /* Test whether the AT_SYMLINK_NOFOLLOW flag is supported. */ { if (utimensat (AT_FDCWD, f, NULL, AT_SYMLINK_NOFOLLOW)) result |= 2; } /* Test whether UTIME_NOW and UTIME_OMIT work. */ { struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; if (utimensat (AT_FDCWD, f, ts, 0)) result |= 4; } sleep (1); { struct timespec ts[2] = { { 1, UTIME_NOW }, { 1, UTIME_OMIT } }; struct stat st; if (utimensat (AT_FDCWD, f, ts, 0)) result |= 8; if (stat (f, &st)) result |= 16; else if (st.st_ctime < st.st_atime) result |= 32; } return result; ]])], dnl FIXME: simplify this in 2012, when file system bugs are no longer common [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef __linux__ /* The Linux kernel added utimensat in 2.6.22, but has bugs with UTIME_OMIT in several file systems as recently as 2.6.32. Always replace utimensat to support older kernels. */ choke me #endif ]])], [gl_cv_func_utimensat_works=yes], [gl_cv_func_utimensat_works="needs runtime check"])], [gl_cv_func_utimensat_works=no], [gl_cv_func_utimensat_works="guessing no"])]) if test "$gl_cv_func_utimensat_works" != yes; then REPLACE_UTIMENSAT=1 fi fi ]) coreutils-8.21/m4/canon-host.m40000664000000000000000000000051512071024546013203 00000000000000# canon-host.m4 serial 10 dnl Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PREREQ_CANON_HOST], [ : ]) coreutils-8.21/m4/langinfo_h.m40000664000000000000000000000672112071024546013243 00000000000000# langinfo_h.m4 serial 7 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LANGINFO_H], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) dnl Persuade glibc-2.0.6 to define CODESET. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([langinfo.h]) dnl Determine whether exists. It is missing on mingw and BeOS. HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_T_FMT_AMPM=0 HAVE_LANGINFO_ERA=0 HAVE_LANGINFO_YESEXPR=0 AC_CHECK_HEADERS_ONCE([langinfo.h]) if test $ac_cv_header_langinfo_h = yes; then HAVE_LANGINFO_H=1 dnl Determine what defines. CODESET and ERA etc. are missing dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3. AC_CACHE_CHECK([whether langinfo.h defines CODESET], [gl_cv_header_langinfo_codeset], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = CODESET; ]])], [gl_cv_header_langinfo_codeset=yes], [gl_cv_header_langinfo_codeset=no]) ]) if test $gl_cv_header_langinfo_codeset = yes; then HAVE_LANGINFO_CODESET=1 fi AC_CACHE_CHECK([whether langinfo.h defines T_FMT_AMPM], [gl_cv_header_langinfo_t_fmt_ampm], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = T_FMT_AMPM; ]])], [gl_cv_header_langinfo_t_fmt_ampm=yes], [gl_cv_header_langinfo_t_fmt_ampm=no]) ]) if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then HAVE_LANGINFO_T_FMT_AMPM=1 fi AC_CACHE_CHECK([whether langinfo.h defines ERA], [gl_cv_header_langinfo_era], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = ERA; ]])], [gl_cv_header_langinfo_era=yes], [gl_cv_header_langinfo_era=no]) ]) if test $gl_cv_header_langinfo_era = yes; then HAVE_LANGINFO_ERA=1 fi AC_CACHE_CHECK([whether langinfo.h defines YESEXPR], [gl_cv_header_langinfo_yesexpr], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include int a = YESEXPR; ]])], [gl_cv_header_langinfo_yesexpr=yes], [gl_cv_header_langinfo_yesexpr=no]) ]) if test $gl_cv_header_langinfo_yesexpr = yes; then HAVE_LANGINFO_YESEXPR=1 fi else HAVE_LANGINFO_H=0 fi AC_SUBST([HAVE_LANGINFO_H]) AC_SUBST([HAVE_LANGINFO_CODESET]) AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM]) AC_SUBST([HAVE_LANGINFO_ERA]) AC_SUBST([HAVE_LANGINFO_YESEXPR]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [nl_langinfo]) ]) AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_LANGINFO_H_DEFAULTS], [ GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) ]) coreutils-8.21/m4/gnulib-comp.m40000664000000000000000000031154112104756467013365 00000000000000# DO NOT EDIT! GENERATED AUTOMATICALLY! # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that # contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # # This file represents the compiled summary of the specification in # gnulib-cache.m4. It lists the computed macro invocations that need # to be invoked from configure.ac. # In projects that use version control, this file can be treated like # other built files. # This macro should be invoked from ./configure.ac, in the section # "Checks for programs", right after AC_PROG_CC, and certainly before # any checks for libraries, header files, types and library functions. AC_DEFUN([gl_EARLY], [ m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace m4_pattern_allow([^gl_ES$])dnl a valid locale name m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable AC_REQUIRE([gl_PROG_AR_RANLIB]) AC_REQUIRE([AM_PROG_CC_C_O]) # Code from module accept: # Code from module accept-tests: # Code from module acl: # Code from module acl-tests: # Code from module alignof: # Code from module alignof-tests: # Code from module alloca: # Code from module alloca-opt: # Code from module alloca-opt-tests: # Code from module allocator: # Code from module announce-gen: # Code from module areadlink: # Code from module areadlink-tests: # Code from module areadlink-with-size: # Code from module areadlink-with-size-tests: # Code from module areadlinkat: # Code from module areadlinkat-tests: # Code from module argmatch: # Code from module argmatch-tests: # Code from module argv-iter: # Code from module argv-iter-tests: # Code from module arpa_inet: # Code from module arpa_inet-tests: # Code from module assert: # Code from module at-internal: # Code from module autobuild: AB_INIT # Code from module backupfile: # Code from module base64: # Code from module base64-tests: # Code from module binary-io: # Code from module binary-io-tests: # Code from module bind: # Code from module bind-tests: # Code from module bitrotate: # Code from module bitrotate-tests: # Code from module btowc: # Code from module btowc-tests: # Code from module buffer-lcm: # Code from module c-ctype: # Code from module c-ctype-tests: # Code from module c-strcase: # Code from module c-strcase-tests: # Code from module c-strcaseeq: # Code from module c-strtod: # Code from module c-strtold: # Code from module calloc-gnu: # Code from module calloc-gnu-tests: # Code from module calloc-posix: # Code from module canon-host: # Code from module canonicalize: # Code from module canonicalize-tests: # Code from module careadlinkat: # Code from module chdir: # Code from module chdir-long: # Code from module chdir-tests: # Code from module chown: # Code from module chown-tests: # Code from module clock-time: # Code from module cloexec: # Code from module cloexec-tests: # Code from module close: # Code from module close-stream: # Code from module close-tests: # Code from module closedir: # Code from module closein: # Code from module closein-tests: # Code from module closeout: # Code from module config-h: # Code from module configmake: # Code from module connect: # Code from module connect-tests: # Code from module crypto/md5: # Code from module crypto/md5-tests: # Code from module crypto/sha1: # Code from module crypto/sha1-tests: # Code from module crypto/sha256: # Code from module crypto/sha512: # Code from module ctype: # Code from module ctype-tests: # Code from module cycle-check: # Code from module d-ino: # Code from module d-type: # Code from module dev-ino: # Code from module di-set: # Code from module di-set-tests: # Code from module diacrit: # Code from module dirent: # Code from module dirent-safer: # Code from module dirent-safer-tests: # Code from module dirent-tests: # Code from module dirfd: # Code from module dirname: # Code from module dirname-lgpl: # Code from module dirname-tests: # Code from module do-release-commit-and-tag: # Code from module dosname: # Code from module double-slash-root: # Code from module dtoastr: # Code from module dtotimespec: # Code from module dup: # Code from module dup-tests: # Code from module dup2: # Code from module dup2-tests: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module euidaccess: # Code from module exclude: # Code from module exclude-tests: # Code from module exitfail: # Code from module extensions: AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Code from module extern-inline: # Code from module faccessat: # Code from module faccessat-tests: # Code from module fadvise: # Code from module fadvise-tests: # Code from module fatal-signal: # Code from module fchdir: # Code from module fchdir-tests: # Code from module fchmodat: # Code from module fchmodat-tests: # Code from module fchownat: # Code from module fchownat-tests: # Code from module fclose: # Code from module fclose-tests: # Code from module fcntl: # Code from module fcntl-h: # Code from module fcntl-h-tests: # Code from module fcntl-safer: # Code from module fcntl-safer-tests: # Code from module fcntl-tests: # Code from module fd-hook: # Code from module fd-reopen: # Code from module fd-safer-flag: # Code from module fdatasync: # Code from module fdatasync-tests: # Code from module fdl: # Code from module fdopen: # Code from module fdopen-tests: # Code from module fdopendir: # Code from module fdopendir-tests: # Code from module fdutimensat: # Code from module fdutimensat-tests: # Code from module fflush: AC_REQUIRE([AC_FUNC_FSEEKO]) # Code from module fflush-tests: # Code from module fgetc-tests: # Code from module file-set: # Code from module file-type: # Code from module fileblocks: # Code from module filemode: # Code from module filename: # Code from module filenamecat: # Code from module filenamecat-lgpl: # Code from module filenamecat-tests: # Code from module filevercmp: # Code from module filevercmp-tests: # Code from module flexmember: # Code from module float: # Code from module float-tests: # Code from module fnmatch: # Code from module fnmatch-gnu: # Code from module fnmatch-tests: # Code from module fopen: # Code from module fopen-safer: # Code from module fopen-safer-tests: # Code from module fopen-tests: # Code from module fpending: # Code from module fpending-tests: # Code from module fpieee: AC_REQUIRE([gl_FP_IEEE]) # Code from module fprintftime: # Code from module fpucw: # Code from module fpurge: # Code from module fpurge-tests: # Code from module fputc-tests: # Code from module fread-tests: # Code from module freadahead: # Code from module freadahead-tests: # Code from module freading: # Code from module freading-tests: # Code from module freadptr: # Code from module freadptr-tests: # Code from module freadseek: # Code from module freadseek-tests: # Code from module freopen: # Code from module freopen-safer: # Code from module freopen-safer-tests: # Code from module freopen-tests: # Code from module frexp-nolibm: # Code from module frexp-nolibm-tests: # Code from module frexpl-nolibm: # Code from module frexpl-nolibm-tests: # Code from module fseek: # Code from module fseek-tests: # Code from module fseeko: AC_REQUIRE([AC_FUNC_FSEEKO]) # Code from module fseeko-tests: # Code from module fseterr: # Code from module fseterr-tests: # Code from module fstat: # Code from module fstat-tests: # Code from module fstatat: # Code from module fstatat-tests: # Code from module fsusage: # Code from module fsync: # Code from module fsync-tests: # Code from module ftell: # Code from module ftell-tests: # Code from module ftello: AC_REQUIRE([AC_FUNC_FSEEKO]) # Code from module ftello-tests: # Code from module ftoastr: # Code from module ftruncate: # Code from module ftruncate-tests: # Code from module fts: # Code from module full-read: # Code from module full-write: # Code from module futimens: # Code from module futimens-tests: # Code from module fwrite-tests: # Code from module gendocs: # Code from module getaddrinfo: # Code from module getaddrinfo-tests: # Code from module getcwd: # Code from module getcwd-lgpl: # Code from module getcwd-lgpl-tests: # Code from module getcwd-tests: # Code from module getdelim: # Code from module getdelim-tests: # Code from module getdtablesize: # Code from module getdtablesize-tests: # Code from module getgroups: # Code from module getgroups-tests: # Code from module gethostname: # Code from module gethostname-tests: # Code from module gethrxtime: # Code from module getline: # Code from module getline-tests: # Code from module getloadavg: # Code from module getloadavg-tests: # Code from module getlogin: # Code from module getlogin-tests: # Code from module getndelim2: # Code from module getndelim2-tests: # Code from module getopt-gnu: # Code from module getopt-posix: # Code from module getopt-posix-tests: # Code from module getpagesize: # Code from module getpass-gnu: # Code from module gettext: # Code from module gettext-h: # Code from module gettime: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module getugroups: # Code from module getusershell: # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-make: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module gperf: # Code from module group-member: # Code from module hard-locale: # Code from module hash: # Code from module hash-pjw: # Code from module hash-tests: # Code from module hash-triple: # Code from module havelib: # Code from module heap: # Code from module host-os: # Code from module hostent: # Code from module human: # Code from module i-ring: # Code from module i-ring-tests: # Code from module iconv: # Code from module iconv-h: # Code from module iconv-h-tests: # Code from module iconv-tests: # Code from module iconv_open: # Code from module idcache: # Code from module ignore-value: # Code from module ignore-value-tests: # Code from module include_next: # Code from module inet_ntop: # Code from module inet_ntop-tests: # Code from module inet_pton: # Code from module inet_pton-tests: # Code from module inline: # Code from module ino-map: # Code from module ino-map-tests: # Code from module intprops: # Code from module intprops-tests: # Code from module inttostr: # Code from module inttostr-tests: # Code from module inttypes: # Code from module inttypes-incomplete: # Code from module inttypes-tests: # Code from module ioctl: # Code from module ioctl-tests: # Code from module isapipe: # Code from module isatty: # Code from module isatty-tests: # Code from module isblank: # Code from module isblank-tests: # Code from module isnand-nolibm: # Code from module isnand-nolibm-tests: # Code from module isnanf-nolibm: # Code from module isnanf-nolibm-tests: # Code from module isnanl-nolibm: # Code from module isnanl-nolibm-tests: # Code from module iswblank: # Code from module iswblank-tests: # Code from module langinfo: # Code from module langinfo-tests: # Code from module largefile: AC_REQUIRE([AC_SYS_LARGEFILE]) # Code from module lchmod: # Code from module lchown: # Code from module lchown-tests: # Code from module ldtoastr: # Code from module lib-ignore: # Code from module linebuffer: # Code from module link: # Code from module link-follow: # Code from module link-tests: # Code from module linkat: # Code from module linkat-tests: # Code from module listen: # Code from module listen-tests: # Code from module localcharset: # Code from module locale: # Code from module locale-tests: # Code from module localeconv: # Code from module localeconv-tests: # Code from module localename: # Code from module localename-tests: # Code from module lock: # Code from module lock-tests: # Code from module long-options: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: # Code from module malloc-gnu: # Code from module malloc-gnu-tests: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: # Code from module manywarnings: # Code from module math: # Code from module math-tests: # Code from module mbchar: # Code from module mbiter: # Code from module mbrlen: # Code from module mbrtowc: # Code from module mbrtowc-tests: # Code from module mbsalign: # Code from module mbsalign-tests: # Code from module mbscasecmp: # Code from module mbscasecmp-tests: # Code from module mbsinit: # Code from module mbsinit-tests: # Code from module mbslen: # Code from module mbsrtowcs: # Code from module mbsrtowcs-tests: # Code from module mbsstr: # Code from module mbsstr-tests: # Code from module mbswidth: # Code from module mbtowc: # Code from module mbuiter: # Code from module memcasecmp: # Code from module memcasecmp-tests: # Code from module memchr: # Code from module memchr-tests: # Code from module memchr2: # Code from module memchr2-tests: # Code from module memcmp2: # Code from module memcoll: # Code from module memcoll-tests: # Code from module mempcpy: # Code from module memrchr: # Code from module memrchr-tests: # Code from module mgetgroups: # Code from module mkancesdirs: # Code from module mkdir: # Code from module mkdir-p: # Code from module mkdir-tests: # Code from module mkfifo: # Code from module mkfifo-tests: # Code from module mknod: # Code from module mknod-tests: # Code from module mkstemp: # Code from module mktime: # Code from module modechange: # Code from module mountlist: # Code from module mpsort: # Code from module msvc-inval: # Code from module msvc-nothrow: # Code from module multiarch: # Code from module nanosleep: # Code from module nanosleep-tests: # Code from module netdb: # Code from module netdb-tests: # Code from module netinet_in: # Code from module netinet_in-tests: # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: # Code from module non-recursive-gnulib-prefix-hack: # Code from module nproc: # Code from module obstack: # Code from module open: # Code from module open-tests: # Code from module openat: # Code from module openat-die: # Code from module openat-h: # Code from module openat-safer: # Code from module openat-safer-tests: # Code from module openat-tests: # Code from module opendir: # Code from module parse-datetime: # Code from module parse-datetime-tests: # Code from module pathmax: # Code from module pathmax-tests: # Code from module perl: # Code from module perror: # Code from module perror-tests: # Code from module physmem: # Code from module pipe: # Code from module pipe-posix: # Code from module pipe-posix-tests: # Code from module pipe2: # Code from module pipe2-safer: # Code from module pipe2-tests: # Code from module posix-shell: # Code from module posix_spawn-internal: # Code from module posix_spawn_file_actions_addclose: # Code from module posix_spawn_file_actions_addclose-tests: # Code from module posix_spawn_file_actions_adddup2: # Code from module posix_spawn_file_actions_adddup2-tests: # Code from module posix_spawn_file_actions_addopen: # Code from module posix_spawn_file_actions_addopen-tests: # Code from module posix_spawn_file_actions_destroy: # Code from module posix_spawn_file_actions_init: # Code from module posix_spawnattr_destroy: # Code from module posix_spawnattr_init: # Code from module posix_spawnattr_setflags: # Code from module posix_spawnattr_setsigmask: # Code from module posix_spawnp: # Code from module posix_spawnp-tests: # Code from module posixtm: # Code from module posixtm-tests: # Code from module posixver: # Code from module printf-frexp: # Code from module printf-frexp-tests: # Code from module printf-frexpl: # Code from module printf-frexpl-tests: # Code from module printf-safe: # Code from module priv-set: # Code from module priv-set-tests: # Code from module progname: # Code from module propername: # Code from module pthread: # Code from module putenv: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: # Code from module quotearg-simple-tests: # Code from module raise: # Code from module raise-tests: # Code from module randint: # Code from module randperm: # Code from module randread: # Code from module randread-tests: # Code from module rawmemchr: # Code from module rawmemchr-tests: # Code from module read: # Code from module read-file: # Code from module read-file-tests: # Code from module read-tests: # Code from module readdir: # Code from module readlink: # Code from module readlink-tests: # Code from module readlinkat: # Code from module readlinkat-tests: # Code from module readtokens: # Code from module readtokens-tests: # Code from module readtokens0: # Code from module readutmp: # Code from module realloc-gnu: # Code from module realloc-gnu-tests: # Code from module realloc-posix: # Code from module regex: # Code from module regex-tests: # Code from module remove: # Code from module remove-tests: # Code from module rename: # Code from module rename-tests: # Code from module rewinddir: # Code from module rmdir: # Code from module rmdir-tests: # Code from module root-dev-ino: # Code from module root-uid: # Code from module rpmatch: # Code from module safe-read: # Code from module safe-write: # Code from module same: # Code from module same-inode: # Code from module save-cwd: # Code from module savedir: # Code from module savewd: # Code from module sched: # Code from module sched-tests: # Code from module select: # Code from module select-tests: # Code from module selinux-at: # Code from module selinux-h: # Code from module servent: # Code from module setenv: # Code from module setenv-tests: # Code from module setlocale: # Code from module setlocale-tests: # Code from module setsockopt: # Code from module setsockopt-tests: # Code from module settime: # Code from module sig2str: # Code from module sigaction: # Code from module sigaction-tests: # Code from module signal-h: # Code from module signal-h-tests: # Code from module signbit: # Code from module signbit-tests: # Code from module sigprocmask: # Code from module sigprocmask-tests: # Code from module size_max: # Code from module sleep: # Code from module sleep-tests: # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: # Code from module snippet/c++defs: # Code from module snippet/unused-parameter: # Code from module snippet/warn-on-use: # Code from module snprintf: # Code from module snprintf-tests: # Code from module socket: # Code from module socketlib: # Code from module sockets: # Code from module sockets-tests: # Code from module socklen: # Code from module spawn: # Code from module spawn-pipe: # Code from module spawn-pipe-tests: # Code from module spawn-tests: # Code from module ssize_t: # Code from module stat: # Code from module stat-macros: # Code from module stat-size: # Code from module stat-tests: # Code from module stat-time: # Code from module stat-time-tests: # Code from module statat: # Code from module statat-tests: # Code from module stdalign: # Code from module stdalign-tests: # Code from module stdarg: dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, dnl gl_PROG_CC_C99 arranges for this. With older Autoconf gl_PROG_CC_C99 dnl shouldn't hurt, though installers are on their own to set c99 mode. gl_PROG_CC_C99 # Code from module stdbool: # Code from module stdbool-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: # Code from module stdint-tests: # Code from module stdio: # Code from module stdio-tests: # Code from module stdlib: # Code from module stdlib-safer: # Code from module stdlib-tests: # Code from module stpcpy: # Code from module stpncpy: # Code from module strchrnul: # Code from module strchrnul-tests: # Code from module strdup-posix: # Code from module streq: # Code from module strerror: # Code from module strerror-override: # Code from module strerror-tests: # Code from module strerror_r-posix: # Code from module strerror_r-posix-tests: # Code from module strftime: # Code from module strftime-tests: # Code from module striconv: # Code from module striconv-tests: # Code from module string: # Code from module string-tests: # Code from module strncat: # Code from module strncat-tests: # Code from module strndup: # Code from module strnlen: # Code from module strnlen-tests: # Code from module strnlen1: # Code from module strnumcmp: # Code from module strpbrk: # Code from module strsignal: # Code from module strsignal-tests: # Code from module strstr-simple: # Code from module strtod: # Code from module strtod-tests: # Code from module strtoimax: # Code from module strtoimax-tests: # Code from module strtoll: # Code from module strtoll-tests: # Code from module strtoull: # Code from module strtoull-tests: # Code from module strtoumax: # Code from module strtoumax-tests: # Code from module symlink: # Code from module symlink-tests: # Code from module symlinkat: # Code from module symlinkat-tests: # Code from module sys_ioctl: # Code from module sys_ioctl-tests: # Code from module sys_resource: # Code from module sys_resource-tests: # Code from module sys_select: # Code from module sys_select-tests: # Code from module sys_socket: # Code from module sys_socket-tests: # Code from module sys_stat: # Code from module sys_stat-tests: # Code from module sys_time: # Code from module sys_time-tests: # Code from module sys_types: # Code from module sys_types-tests: # Code from module sys_uio: # Code from module sys_uio-tests: # Code from module sys_utsname: # Code from module sys_utsname-tests: # Code from module sys_wait: # Code from module sys_wait-tests: # Code from module tempname: # Code from module termios: # Code from module termios-tests: # Code from module test-framework-sh: # Code from module test-framework-sh-tests: # Code from module thread: # Code from module thread-tests: # Code from module threadlib: gl_THREADLIB_EARLY # Code from module time: # Code from module time-tests: # Code from module time_r: # Code from module timer-time: # Code from module timespec: # Code from module tls: # Code from module tls-tests: # Code from module trim: # Code from module tzset: # Code from module u64: # Code from module u64-tests: # Code from module uname: # Code from module uname-tests: # Code from module unicodeio: # Code from module unistd: # Code from module unistd-safer: # Code from module unistd-safer-tests: # Code from module unistd-tests: # Code from module unistr/base: # Code from module unistr/u8-mbtoucr: # Code from module unistr/u8-mbtoucr-tests: # Code from module unistr/u8-uctomb: # Code from module unistr/u8-uctomb-tests: # Code from module unitypes: # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module uniwidth/width-tests: # Code from module unlink: # Code from module unlink-busy: # Code from module unlink-tests: # Code from module unlinkat: # Code from module unlinkat-tests: # Code from module unlinkdir: # Code from module unlocked-io: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module uptime: # Code from module useless-if-before-free: # Code from module userspec: # Code from module userspec-tests: # Code from module usleep: # Code from module usleep-tests: # Code from module utimecmp: # Code from module utimens: # Code from module utimens-tests: # Code from module utimensat: # Code from module utimensat-tests: # Code from module vasnprintf: # Code from module vasnprintf-tests: # Code from module vasprintf: # Code from module vasprintf-posix: # Code from module vasprintf-posix-tests: # Code from module vasprintf-tests: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: # Code from module verify-tests: # Code from module verror: # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: # Code from module vfprintf-posix: # Code from module vfprintf-posix-tests: # Code from module vprintf-posix: # Code from module vprintf-posix-tests: # Code from module wait-process: # Code from module waitpid: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: # Code from module wcrtomb: # Code from module wcrtomb-tests: # Code from module wcswidth: # Code from module wctob: # Code from module wctomb: # Code from module wctype-h: # Code from module wctype-h-tests: # Code from module wcwidth: # Code from module wcwidth-tests: # Code from module winsz-ioctl: # Code from module winsz-termios: # Code from module write: # Code from module write-any-file: # Code from module write-tests: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-die-tests: # Code from module xalloc-oversized: # Code from module xfreopen: # Code from module xfts: # Code from module xgetcwd: # Code from module xgetgroups: # Code from module xgethostname: # Code from module xmemcoll: # Code from module xnanosleep: # Code from module xprintf: # Code from module xprintf-posix: # Code from module xprintf-posix-tests: # Code from module xreadlink: # Code from module xsize: # Code from module xstriconv: # Code from module xstrndup: # Code from module xstrtod: # Code from module xstrtoimax: # Code from module xstrtoimax-tests: # Code from module xstrtol: # Code from module xstrtol-tests: # Code from module xstrtold: # Code from module xstrtoumax: # Code from module xstrtoumax-tests: # Code from module xvasprintf: # Code from module xvasprintf-tests: # Code from module yesno: # Code from module yesno-tests: # Code from module yield: ]) # This macro should be invoked from ./configure.ac, in the section # "Check for header files, types and library functions". AC_DEFUN([gl_INIT], [ AM_CONDITIONAL([GL_COND_LIBTOOL], [false]) gl_cond_libtool=false gl_libdeps= gl_ltlibdeps= gl_m4_base='m4' m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) m4_pushdef([gl_LIBSOURCES_LIST], []) m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='lib' gl_FUNC_ACL gl_FUNC_ALLOCA gl_MODULE_INDICATOR([areadlinkat]) gl_HEADER_ARPA_INET AC_PROG_MKDIR_P gl_ASSERT AC_LIBOBJ([openat-proc]) gl_BACKUPFILE gl_FUNC_BASE64 gl_FUNC_BTOWC if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then AC_LIBOBJ([btowc]) gl_PREREQ_BTOWC fi gl_WCHAR_MODULE_INDICATOR([btowc]) gl_C_STRTOD gl_C_STRTOLD gl_FUNC_CALLOC_GNU if test $REPLACE_CALLOC = 1; then AC_LIBOBJ([calloc]) fi gl_MODULE_INDICATOR([calloc-gnu]) gl_FUNC_CALLOC_POSIX if test $REPLACE_CALLOC = 1; then AC_LIBOBJ([calloc]) fi gl_STDLIB_MODULE_INDICATOR([calloc-posix]) gl_PREREQ_CANON_HOST gl_FUNC_CANONICALIZE_FILENAME_MODE gl_MODULE_INDICATOR([canonicalize]) gl_MODULE_INDICATOR_FOR_TESTS([canonicalize]) gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name]) AC_CHECK_FUNCS_ONCE([readlinkat]) gl_UNISTD_MODULE_INDICATOR([chdir]) gl_FUNC_CHDIR_LONG if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then AC_LIBOBJ([chdir-long]) gl_PREREQ_CHDIR_LONG fi gl_FUNC_CHOWN if test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1; then AC_LIBOBJ([chown]) fi if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then AC_LIBOBJ([fchown-stub]) fi gl_UNISTD_MODULE_INDICATOR([chown]) gl_CLOCK_TIME gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) gl_FUNC_CLOSE if test $REPLACE_CLOSE = 1; then AC_LIBOBJ([close]) fi gl_UNISTD_MODULE_INDICATOR([close]) gl_CLOSE_STREAM gl_MODULE_INDICATOR([close-stream]) gl_FUNC_CLOSEDIR if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then AC_LIBOBJ([closedir]) fi gl_DIRENT_MODULE_INDICATOR([closedir]) gl_CLOSEIN gl_CLOSEOUT gl_CONFIG_H gl_CONFIGMAKE_PREP gl_MD5 gl_SHA1 gl_SHA256 gl_SHA512 gl_CTYPE_H gl_CYCLE_CHECK gl_CHECK_TYPE_STRUCT_DIRENT_D_INO gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE gl_DIRENT_H gl_DIRENT_SAFER gl_MODULE_INDICATOR([dirent-safer]) gl_FUNC_DIRFD if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then AC_LIBOBJ([dirfd]) gl_PREREQ_DIRFD fi gl_DIRENT_MODULE_INDICATOR([dirfd]) gl_DIRNAME gl_MODULE_INDICATOR([dirname]) gl_DIRNAME_LGPL gl_DOUBLE_SLASH_ROOT AC_REQUIRE([gl_C99_STRTOLD]) gl_FUNC_DUP if test $REPLACE_DUP = 1; then AC_LIBOBJ([dup]) gl_PREREQ_DUP fi gl_UNISTD_MODULE_INDICATOR([dup]) gl_FUNC_DUP2 if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then AC_LIBOBJ([dup2]) gl_PREREQ_DUP2 fi gl_UNISTD_MODULE_INDICATOR([dup2]) gl_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) gl_HEADER_ERRNO_H gl_ERROR if test $ac_cv_lib_error_at_line = no; then AC_LIBOBJ([error]) gl_PREREQ_ERROR fi m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=error:3:c-format]) AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) gl_FUNC_EUIDACCESS if test $HAVE_EUIDACCESS = 0; then AC_LIBOBJ([euidaccess]) gl_PREREQ_EUIDACCESS fi gl_UNISTD_MODULE_INDICATOR([euidaccess]) AC_REQUIRE([gl_EXTERN_INLINE]) gl_FUNC_FACCESSAT if test $HAVE_FACCESSAT = 0; then AC_LIBOBJ([faccessat]) gl_PREREQ_FACCESSAT fi gl_MODULE_INDICATOR([faccessat]) gl_UNISTD_MODULE_INDICATOR([faccessat]) AC_CHECK_FUNCS_ONCE([posix_fadvise]) gl_FATAL_SIGNAL gl_FUNC_FCHDIR gl_UNISTD_MODULE_INDICATOR([fchdir]) gl_FUNC_FCHMODAT if test $HAVE_FCHMODAT = 0; then AC_LIBOBJ([fchmodat]) fi gl_MODULE_INDICATOR([fchmodat]) dnl for lib/openat.h gl_SYS_STAT_MODULE_INDICATOR([fchmodat]) gl_FUNC_FCHOWNAT if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then AC_LIBOBJ([fchownat]) fi gl_MODULE_INDICATOR([fchownat]) dnl for lib/openat.h gl_UNISTD_MODULE_INDICATOR([fchownat]) gl_FUNC_FCLOSE if test $REPLACE_FCLOSE = 1; then AC_LIBOBJ([fclose]) fi gl_STDIO_MODULE_INDICATOR([fclose]) gl_FUNC_FCNTL if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then AC_LIBOBJ([fcntl]) fi gl_FCNTL_MODULE_INDICATOR([fcntl]) gl_FCNTL_H gl_FCNTL_SAFER gl_MODULE_INDICATOR([fcntl-safer]) gl_MODULE_INDICATOR([fd-safer-flag]) gl_FUNC_FDATASYNC if test $HAVE_FDATASYNC = 0; then AC_LIBOBJ([fdatasync]) fi gl_UNISTD_MODULE_INDICATOR([fdatasync]) gl_FUNC_FDOPEN if test $REPLACE_FDOPEN = 1; then AC_LIBOBJ([fdopen]) gl_PREREQ_FDOPEN fi gl_STDIO_MODULE_INDICATOR([fdopen]) gl_FUNC_FDOPENDIR if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then AC_LIBOBJ([fdopendir]) fi gl_DIRENT_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdopendir]) gl_MODULE_INDICATOR([fdutimensat]) gl_FUNC_FFLUSH if test $REPLACE_FFLUSH = 1; then AC_LIBOBJ([fflush]) gl_PREREQ_FFLUSH fi gl_MODULE_INDICATOR([fflush]) gl_STDIO_MODULE_INDICATOR([fflush]) gl_FILEBLOCKS if test $ac_cv_member_struct_stat_st_blocks = no; then AC_LIBOBJ([fileblocks]) gl_PREREQ_FILEBLOCKS fi gl_FILEMODE gl_FILE_NAME_CONCAT gl_MODULE_INDICATOR([filenamecat]) gl_FILE_NAME_CONCAT_LGPL AC_C_FLEXIBLE_ARRAY_MEMBER gl_FLOAT_H if test $REPLACE_FLOAT_LDBL = 1; then AC_LIBOBJ([float]) fi if test $REPLACE_ITOLD = 1; then AC_LIBOBJ([itold]) fi gl_FUNC_FNMATCH_POSIX if test -n "$FNMATCH_H"; then AC_LIBOBJ([fnmatch]) gl_PREREQ_FNMATCH fi gl_FUNC_FNMATCH_GNU if test -n "$FNMATCH_H"; then AC_LIBOBJ([fnmatch]) gl_PREREQ_FNMATCH fi gl_FUNC_FOPEN if test $REPLACE_FOPEN = 1; then AC_LIBOBJ([fopen]) gl_PREREQ_FOPEN fi gl_STDIO_MODULE_INDICATOR([fopen]) gl_MODULE_INDICATOR([fopen-safer]) gl_FUNC_FPENDING if test $ac_cv_func___fpending = no; then AC_LIBOBJ([fpending]) gl_PREREQ_FPENDING fi gl_FUNC_FPURGE if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then AC_LIBOBJ([fpurge]) fi gl_STDIO_MODULE_INDICATOR([fpurge]) gl_FUNC_FREADAHEAD if test $ac_cv_func___freadahead = no; then AC_LIBOBJ([freadahead]) fi gl_FUNC_FREADING gl_FUNC_FREADPTR if test $ac_cv_func___freadptr = no; then AC_LIBOBJ([freadptr]) fi gl_FUNC_FREADSEEK gl_FUNC_FREOPEN if test $REPLACE_FREOPEN = 1; then AC_LIBOBJ([freopen]) gl_PREREQ_FREOPEN fi gl_STDIO_MODULE_INDICATOR([freopen]) gl_MODULE_INDICATOR([freopen-safer]) gl_FUNC_FREXP_NO_LIBM if test $gl_func_frexp_no_libm != yes; then AC_LIBOBJ([frexp]) fi gl_MATH_MODULE_INDICATOR([frexp]) gl_FUNC_FREXPL_NO_LIBM if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; then AC_LIBOBJ([frexpl]) fi gl_MATH_MODULE_INDICATOR([frexpl]) gl_FUNC_FSEEK if test $REPLACE_FSEEK = 1; then AC_LIBOBJ([fseek]) fi gl_STDIO_MODULE_INDICATOR([fseek]) gl_FUNC_FSEEKO if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then AC_LIBOBJ([fseeko]) gl_PREREQ_FSEEKO fi gl_STDIO_MODULE_INDICATOR([fseeko]) gl_FUNC_FSETERR if test $ac_cv_func___fseterr = no; then AC_LIBOBJ([fseterr]) fi gl_FUNC_FSTAT if test $REPLACE_FSTAT = 1; then AC_LIBOBJ([fstat]) gl_PREREQ_FSTAT fi gl_SYS_STAT_MODULE_INDICATOR([fstat]) gl_FUNC_FSTATAT if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then AC_LIBOBJ([fstatat]) fi gl_SYS_STAT_MODULE_INDICATOR([fstatat]) gl_FSUSAGE if test $gl_cv_fs_space = yes; then AC_LIBOBJ([fsusage]) gl_PREREQ_FSUSAGE_EXTRA fi gl_FUNC_FSYNC if test $HAVE_FSYNC = 0; then AC_LIBOBJ([fsync]) gl_PREREQ_FSYNC fi gl_UNISTD_MODULE_INDICATOR([fsync]) gl_FUNC_FTELL if test $REPLACE_FTELL = 1; then AC_LIBOBJ([ftell]) fi gl_STDIO_MODULE_INDICATOR([ftell]) gl_FUNC_FTELLO if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then AC_LIBOBJ([ftello]) gl_PREREQ_FTELLO fi gl_STDIO_MODULE_INDICATOR([ftello]) AC_CHECK_FUNCS_ONCE([strtof]) AC_REQUIRE([gl_C99_STRTOLD]) gl_FUNC_FTRUNCATE if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then AC_LIBOBJ([ftruncate]) gl_PREREQ_FTRUNCATE fi gl_UNISTD_MODULE_INDICATOR([ftruncate]) gl_FUNC_FTS dnl Use this version of fts unconditionally, since the GNU libc and dnl NetBSD versions have bugs and/or unnecessary limitations. AC_LIBOBJ([fts]) gl_FUNC_FUTIMENS if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then AC_LIBOBJ([futimens]) fi gl_SYS_STAT_MODULE_INDICATOR([futimens]) gl_GETADDRINFO if test $HAVE_GETADDRINFO = 0; then AC_LIBOBJ([getaddrinfo]) fi if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then AC_LIBOBJ([gai_strerror]) fi gl_NETDB_MODULE_INDICATOR([getaddrinfo]) gl_FUNC_GETCWD if test $REPLACE_GETCWD = 1; then AC_LIBOBJ([getcwd]) gl_PREREQ_GETCWD fi gl_MODULE_INDICATOR([getcwd]) gl_UNISTD_MODULE_INDICATOR([getcwd]) gl_FUNC_GETCWD_LGPL if test $REPLACE_GETCWD = 1; then AC_LIBOBJ([getcwd-lgpl]) fi gl_UNISTD_MODULE_INDICATOR([getcwd]) gl_FUNC_GETDELIM if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then AC_LIBOBJ([getdelim]) gl_PREREQ_GETDELIM fi gl_STDIO_MODULE_INDICATOR([getdelim]) gl_FUNC_GETDTABLESIZE if test $HAVE_GETDTABLESIZE = 0; then AC_LIBOBJ([getdtablesize]) gl_PREREQ_GETDTABLESIZE fi gl_UNISTD_MODULE_INDICATOR([getdtablesize]) gl_FUNC_GETGROUPS if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then AC_LIBOBJ([getgroups]) fi gl_UNISTD_MODULE_INDICATOR([getgroups]) gl_FUNC_GETHOSTNAME if test $HAVE_GETHOSTNAME = 0; then AC_LIBOBJ([gethostname]) gl_PREREQ_GETHOSTNAME fi gl_UNISTD_MODULE_INDICATOR([gethostname]) gl_GETHRXTIME gl_FUNC_GETLINE if test $REPLACE_GETLINE = 1; then AC_LIBOBJ([getline]) gl_PREREQ_GETLINE fi gl_STDIO_MODULE_INDICATOR([getline]) gl_GETLOADAVG if test $HAVE_GETLOADAVG = 0; then AC_LIBOBJ([getloadavg]) gl_PREREQ_GETLOADAVG fi gl_STDLIB_MODULE_INDICATOR([getloadavg]) gl_FUNC_GETLOGIN if test $HAVE_GETLOGIN = 0; then AC_LIBOBJ([getlogin]) fi gl_UNISTD_MODULE_INDICATOR([getlogin]) gl_GETNDELIM2 gl_FUNC_GETOPT_GNU if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT dnl Arrange for unistd.h to include getopt.h. GNULIB_GL_UNISTD_H_GETOPT=1 fi AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu]) gl_FUNC_GETOPT_POSIX if test $REPLACE_GETOPT = 1; then AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_PREREQ_GETOPT dnl Arrange for unistd.h to include getopt.h. GNULIB_GL_UNISTD_H_GETOPT=1 fi AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) gl_FUNC_GETPAGESIZE if test $REPLACE_GETPAGESIZE = 1; then AC_LIBOBJ([getpagesize]) fi gl_UNISTD_MODULE_INDICATOR([getpagesize]) gl_FUNC_GETPASS_GNU if test $REPLACE_GETPASS = 1; then AC_LIBOBJ([getpass]) gl_PREREQ_GETPASS fi AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) gl_GETTIME gl_FUNC_GETTIMEOFDAY if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then AC_LIBOBJ([gettimeofday]) gl_PREREQ_GETTIMEOFDAY fi gl_SYS_TIME_MODULE_INDICATOR([gettimeofday]) gl_GETUGROUPS gl_FUNC_GETUSERSHELL if test $HAVE_GETUSERSHELL = 0; then AC_LIBOBJ([getusershell]) fi gl_UNISTD_MODULE_INDICATOR([getusershell]) gl_GNU_MAKE # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile m4_if(m4_version_compare([2.61a.100], m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) gl_FUNC_GROUP_MEMBER if test $HAVE_GROUP_MEMBER = 0; then AC_LIBOBJ([group-member]) gl_PREREQ_GROUP_MEMBER fi gl_UNISTD_MODULE_INDICATOR([group-member]) gl_HARD_LOCALE gl_HOST_OS gl_HOSTENT gl_HUMAN gl_I_RING AM_ICONV m4_ifdef([gl_ICONV_MODULE_INDICATOR], [gl_ICONV_MODULE_INDICATOR([iconv])]) gl_ICONV_H gl_FUNC_ICONV_OPEN if test $REPLACE_ICONV_OPEN = 1; then AC_LIBOBJ([iconv_open]) fi if test $REPLACE_ICONV = 1; then AC_LIBOBJ([iconv]) AC_LIBOBJ([iconv_close]) fi gl_IDCACHE gl_FUNC_INET_NTOP if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then AC_LIBOBJ([inet_ntop]) gl_PREREQ_INET_NTOP fi gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) gl_INLINE gl_INTTOSTR gl_INTTYPES_H gl_INTTYPES_INCOMPLETE gl_ISAPIPE if test $HAVE_ISAPIPE = 0; then AC_LIBOBJ([isapipe]) gl_PREREQ_ISAPIPE fi gl_FUNC_ISATTY if test $REPLACE_ISATTY = 1; then AC_LIBOBJ([isatty]) gl_PREREQ_ISATTY fi gl_UNISTD_MODULE_INDICATOR([isatty]) gl_FUNC_ISBLANK if test $HAVE_ISBLANK = 0; then AC_LIBOBJ([isblank]) fi gl_CTYPE_MODULE_INDICATOR([isblank]) gl_FUNC_ISNAND_NO_LIBM if test $gl_func_isnand_no_libm != yes; then AC_LIBOBJ([isnand]) gl_PREREQ_ISNAND fi gl_FUNC_ISNANF_NO_LIBM if test $gl_func_isnanf_no_libm != yes; then AC_LIBOBJ([isnanf]) gl_PREREQ_ISNANF fi gl_FUNC_ISNANL_NO_LIBM if test $gl_func_isnanl_no_libm != yes; then AC_LIBOBJ([isnanl]) gl_PREREQ_ISNANL fi gl_FUNC_ISWBLANK if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : else if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then AC_LIBOBJ([iswblank]) fi fi gl_WCTYPE_MODULE_INDICATOR([iswblank]) gl_LANGINFO_H AC_REQUIRE([gl_LARGEFILE]) gl_FUNC_LCHMOD gl_SYS_STAT_MODULE_INDICATOR([lchmod]) gl_FUNC_LCHOWN if test $HAVE_LCHOWN = 0 || test $REPLACE_LCHOWN = 1; then AC_LIBOBJ([lchown]) fi gl_UNISTD_MODULE_INDICATOR([lchown]) AC_REQUIRE([gl_C99_STRTOLD]) gl_IGNORE_UNUSED_LIBRARIES gl_FUNC_LINK if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then AC_LIBOBJ([link]) fi gl_UNISTD_MODULE_INDICATOR([link]) gl_FUNC_LINK_FOLLOWS_SYMLINK gl_FUNC_LINKAT if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then AC_LIBOBJ([linkat]) fi if test $HAVE_LINKAT = 0; then AC_LIBOBJ([at-func2]) fi gl_UNISTD_MODULE_INDICATOR([linkat]) gl_LOCALCHARSET LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) gl_LOCALE_H gl_FUNC_LOCALECONV if test $REPLACE_LOCALECONV = 1; then AC_LIBOBJ([localeconv]) gl_PREREQ_LOCALECONV fi gl_LOCALE_MODULE_INDICATOR([localeconv]) gl_LOCK gl_FUNC_LSEEK if test $REPLACE_LSEEK = 1; then AC_LIBOBJ([lseek]) fi gl_UNISTD_MODULE_INDICATOR([lseek]) gl_FUNC_LSTAT if test $REPLACE_LSTAT = 1; then AC_LIBOBJ([lstat]) gl_PREREQ_LSTAT fi gl_SYS_STAT_MODULE_INDICATOR([lstat]) AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) gl_FUNC_MALLOC_GNU if test $REPLACE_MALLOC = 1; then AC_LIBOBJ([malloc]) fi gl_MODULE_INDICATOR([malloc-gnu]) gl_FUNC_MALLOC_POSIX if test $REPLACE_MALLOC = 1; then AC_LIBOBJ([malloc]) fi gl_STDLIB_MODULE_INDICATOR([malloc-posix]) gl_MALLOCA gl_MATH_H gl_MBCHAR gl_MBITER gl_FUNC_MBRLEN if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then AC_LIBOBJ([mbrlen]) gl_PREREQ_MBRLEN fi gl_WCHAR_MODULE_INDICATOR([mbrlen]) gl_FUNC_MBRTOWC if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then AC_LIBOBJ([mbrtowc]) gl_PREREQ_MBRTOWC fi gl_WCHAR_MODULE_INDICATOR([mbrtowc]) gl_STRING_MODULE_INDICATOR([mbscasecmp]) gl_FUNC_MBSINIT if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then AC_LIBOBJ([mbsinit]) gl_PREREQ_MBSINIT fi gl_WCHAR_MODULE_INDICATOR([mbsinit]) gl_FUNC_MBSLEN gl_STRING_MODULE_INDICATOR([mbslen]) gl_FUNC_MBSRTOWCS if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then AC_LIBOBJ([mbsrtowcs]) AC_LIBOBJ([mbsrtowcs-state]) gl_PREREQ_MBSRTOWCS fi gl_WCHAR_MODULE_INDICATOR([mbsrtowcs]) gl_STRING_MODULE_INDICATOR([mbsstr]) gl_MBSWIDTH gl_FUNC_MBTOWC if test $REPLACE_MBTOWC = 1; then AC_LIBOBJ([mbtowc]) gl_PREREQ_MBTOWC fi gl_STDLIB_MODULE_INDICATOR([mbtowc]) gl_MBITER gl_MEMCASECMP gl_FUNC_MEMCHR if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then AC_LIBOBJ([memchr]) gl_PREREQ_MEMCHR fi gl_STRING_MODULE_INDICATOR([memchr]) gl_MEMCOLL gl_FUNC_MEMPCPY if test $HAVE_MEMPCPY = 0; then AC_LIBOBJ([mempcpy]) gl_PREREQ_MEMPCPY fi gl_STRING_MODULE_INDICATOR([mempcpy]) gl_FUNC_MEMRCHR if test $ac_cv_func_memrchr = no; then AC_LIBOBJ([memrchr]) gl_PREREQ_MEMRCHR fi gl_STRING_MODULE_INDICATOR([memrchr]) gl_MGETGROUPS gl_MKANCESDIRS gl_FUNC_MKDIR if test $REPLACE_MKDIR = 1; then AC_LIBOBJ([mkdir]) fi gl_MKDIR_PARENTS gl_FUNC_MKFIFO if test $HAVE_MKFIFO = 0 || test $REPLACE_MKFIFO = 1; then AC_LIBOBJ([mkfifo]) fi gl_UNISTD_MODULE_INDICATOR([mkfifo]) gl_FUNC_MKNOD if test $HAVE_MKNOD = 0 || test $REPLACE_MKNOD = 1; then AC_LIBOBJ([mknod]) fi gl_UNISTD_MODULE_INDICATOR([mknod]) gl_FUNC_MKSTEMP if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then AC_LIBOBJ([mkstemp]) gl_PREREQ_MKSTEMP fi gl_STDLIB_MODULE_INDICATOR([mkstemp]) gl_FUNC_MKTIME if test $REPLACE_MKTIME = 1; then AC_LIBOBJ([mktime]) gl_PREREQ_MKTIME fi gl_TIME_MODULE_INDICATOR([mktime]) gl_MODECHANGE gl_MOUNTLIST if test $gl_cv_list_mounted_fs = yes; then AC_LIBOBJ([mountlist]) gl_PREREQ_MOUNTLIST_EXTRA fi gl_MPSORT gl_MSVC_INVAL if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then AC_LIBOBJ([msvc-inval]) fi gl_MSVC_NOTHROW if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then AC_LIBOBJ([msvc-nothrow]) fi gl_MULTIARCH gl_FUNC_NANOSLEEP if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then AC_LIBOBJ([nanosleep]) gl_PREREQ_NANOSLEEP fi gl_TIME_MODULE_INDICATOR([nanosleep]) gl_HEADER_NETDB gl_HEADER_NETINET_IN AC_PROG_MKDIR_P gl_FUNC_NL_LANGINFO if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then AC_LIBOBJ([nl_langinfo]) fi gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) dnl Run our hack near the end, just before config.status creation. dnl It must happen late, i.e., after gl_LIBOBJS has been finalized. AC_CONFIG_COMMANDS_PRE([ gl_NON_RECURSIVE_GNULIB_PREFIX_HACK([lib]) ]) gl_NPROC AC_FUNC_OBSTACK dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). gl_FUNC_OPEN if test $REPLACE_OPEN = 1; then AC_LIBOBJ([open]) gl_PREREQ_OPEN fi gl_FCNTL_MODULE_INDICATOR([open]) gl_FUNC_OPENAT if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then AC_LIBOBJ([openat]) gl_PREREQ_OPENAT fi gl_MODULE_INDICATOR([openat]) dnl for lib/getcwd.c gl_FCNTL_MODULE_INDICATOR([openat]) gl_OPENAT_SAFER gl_MODULE_INDICATOR([openat-safer]) gl_FUNC_OPENDIR if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then AC_LIBOBJ([opendir]) fi gl_DIRENT_MODULE_INDICATOR([opendir]) gl_PARSE_DATETIME gl_PATHMAX gl_PERL gl_PHYSMEM gl_FUNC_PIPE2 gl_UNISTD_MODULE_INDICATOR([pipe2]) gl_MODULE_INDICATOR([pipe2-safer]) gl_POSIX_SHELL gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = 1; then AC_LIBOBJ([spawn_faction_addclose]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawn_file_actions_addclose]) gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = 1; then AC_LIBOBJ([spawn_faction_adddup2]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawn_file_actions_adddup2]) gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = 1; then AC_LIBOBJ([spawn_faction_addopen]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawn_file_actions_addopen]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawn_faction_destroy]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawn_file_actions_destroy]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawn_faction_init]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawn_file_actions_init]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawnattr_destroy]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawnattr_destroy]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawnattr_init]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawnattr_init]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawnattr_setflags]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawnattr_setflags]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawnattr_setsigmask]) fi gl_SPAWN_MODULE_INDICATOR([posix_spawnattr_setsigmask]) gl_POSIX_SPAWN if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then AC_LIBOBJ([spawnp]) AC_LIBOBJ([spawni]) gl_PREREQ_POSIX_SPAWN_INTERNAL fi gl_SPAWN_MODULE_INDICATOR([posix_spawnp]) gl_POSIXTM gl_POSIXVER gl_FUNC_PRINTF_FREXP gl_FUNC_PRINTF_FREXPL m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes]) gl_PRIV_SET AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"']) AM_][XGETTEXT_OPTION([--keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'])]) gl_PTHREAD_CHECK gl_FUNC_PUTENV if test $REPLACE_PUTENV = 1; then AC_LIBOBJ([putenv]) fi gl_STDLIB_MODULE_INDICATOR([putenv]) gl_QUOTE gl_QUOTEARG gl_FUNC_RAISE if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then AC_LIBOBJ([raise]) gl_PREREQ_RAISE fi gl_SIGNAL_MODULE_INDICATOR([raise]) gl_FUNC_RAWMEMCHR if test $HAVE_RAWMEMCHR = 0; then AC_LIBOBJ([rawmemchr]) gl_PREREQ_RAWMEMCHR fi gl_STRING_MODULE_INDICATOR([rawmemchr]) gl_FUNC_READ if test $REPLACE_READ = 1; then AC_LIBOBJ([read]) gl_PREREQ_READ fi gl_UNISTD_MODULE_INDICATOR([read]) gl_PREREQ_READ_FILE gl_FUNC_READDIR if test $HAVE_READDIR = 0; then AC_LIBOBJ([readdir]) fi gl_DIRENT_MODULE_INDICATOR([readdir]) gl_FUNC_READLINK if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then AC_LIBOBJ([readlink]) gl_PREREQ_READLINK fi gl_UNISTD_MODULE_INDICATOR([readlink]) gl_FUNC_READLINKAT if test $HAVE_READLINKAT = 0; then AC_LIBOBJ([readlinkat]) fi gl_UNISTD_MODULE_INDICATOR([readlinkat]) gl_READTOKENS gl_READUTMP if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then AC_LIBOBJ([readutmp]) fi gl_FUNC_REALLOC_GNU if test $REPLACE_REALLOC = 1; then AC_LIBOBJ([realloc]) fi gl_MODULE_INDICATOR([realloc-gnu]) gl_FUNC_REALLOC_POSIX if test $REPLACE_REALLOC = 1; then AC_LIBOBJ([realloc]) fi gl_STDLIB_MODULE_INDICATOR([realloc-posix]) gl_REGEX if test $ac_use_included_regex = yes; then AC_LIBOBJ([regex]) gl_PREREQ_REGEX fi gl_FUNC_REMOVE if test $REPLACE_REMOVE = 1; then AC_LIBOBJ([remove]) fi gl_STDIO_MODULE_INDICATOR([remove]) gl_FUNC_RENAME if test $REPLACE_RENAME = 1; then AC_LIBOBJ([rename]) fi gl_STDIO_MODULE_INDICATOR([rename]) gl_FUNC_REWINDDIR if test $HAVE_REWINDDIR = 0; then AC_LIBOBJ([rewinddir]) fi gl_DIRENT_MODULE_INDICATOR([rewinddir]) gl_FUNC_RMDIR if test $REPLACE_RMDIR = 1; then AC_LIBOBJ([rmdir]) fi gl_UNISTD_MODULE_INDICATOR([rmdir]) gl_FUNC_RPMATCH if test $HAVE_RPMATCH = 0; then AC_LIBOBJ([rpmatch]) gl_PREREQ_RPMATCH fi gl_STDLIB_MODULE_INDICATOR([rpmatch]) gl_PREREQ_SAFE_READ gl_PREREQ_SAFE_WRITE gl_SAME gl_SAVE_CWD gl_SAVEDIR gl_SAVEWD gl_SCHED_H gl_FUNC_SELECT if test $REPLACE_SELECT = 1; then AC_LIBOBJ([select]) fi gl_SYS_SELECT_MODULE_INDICATOR([select]) AC_CHECK_HEADERS([selinux/flask.h]) AC_LIBOBJ([selinux-at]) gl_HEADERS_SELINUX_SELINUX_H gl_HEADERS_SELINUX_CONTEXT_H if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then AC_LIBOBJ([getfilecon]) fi gl_SERVENT gl_FUNC_SETENV if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then AC_LIBOBJ([setenv]) fi gl_STDLIB_MODULE_INDICATOR([setenv]) gl_SETTIME gl_FUNC_SIG2STR if test $ac_cv_func_sig2str = no; then AC_LIBOBJ([sig2str]) gl_PREREQ_SIG2STR fi gl_SIGACTION if test $HAVE_SIGACTION = 0; then AC_LIBOBJ([sigaction]) gl_PREREQ_SIGACTION fi gl_SIGNAL_MODULE_INDICATOR([sigaction]) gl_SIGNAL_H gl_SIGNBIT if test $REPLACE_SIGNBIT = 1; then AC_LIBOBJ([signbitf]) AC_LIBOBJ([signbitd]) AC_LIBOBJ([signbitl]) fi gl_MATH_MODULE_INDICATOR([signbit]) gl_SIGNALBLOCKING if test $HAVE_POSIX_SIGNALBLOCKING = 0; then AC_LIBOBJ([sigprocmask]) gl_PREREQ_SIGPROCMASK fi gl_SIGNAL_MODULE_INDICATOR([sigprocmask]) gl_SIZE_MAX gl_FUNC_SNPRINTF gl_STDIO_MODULE_INDICATOR([snprintf]) gl_MODULE_INDICATOR([snprintf]) gl_SOCKETLIB gl_SOCKETS gl_TYPE_SOCKLEN_T gl_SPAWN_H gl_SPAWN_PIPE gt_TYPE_SSIZE_T gl_FUNC_STAT if test $REPLACE_STAT = 1; then AC_LIBOBJ([stat]) gl_PREREQ_STAT fi gl_SYS_STAT_MODULE_INDICATOR([stat]) gl_STAT_SIZE gl_STAT_TIME gl_STAT_BIRTHTIME gl_MODULE_INDICATOR([statat]) dnl for lib/openat.h gl_STDALIGN_H gl_STDARG_H AM_STDBOOL_H gl_STDDEF_H gl_STDINT_H gl_STDIO_H gl_STDLIB_H gl_FUNC_STPCPY if test $HAVE_STPCPY = 0; then AC_LIBOBJ([stpcpy]) gl_PREREQ_STPCPY fi gl_STRING_MODULE_INDICATOR([stpcpy]) gl_FUNC_STPNCPY if test $HAVE_STPNCPY = 0 || test $REPLACE_STPNCPY = 1; then AC_LIBOBJ([stpncpy]) gl_PREREQ_STPNCPY fi gl_STRING_MODULE_INDICATOR([stpncpy]) gl_FUNC_STRCHRNUL if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then AC_LIBOBJ([strchrnul]) gl_PREREQ_STRCHRNUL fi gl_STRING_MODULE_INDICATOR([strchrnul]) gl_FUNC_STRDUP_POSIX if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then AC_LIBOBJ([strdup]) gl_PREREQ_STRDUP fi gl_STRING_MODULE_INDICATOR([strdup]) gl_FUNC_STRERROR if test $REPLACE_STRERROR = 1; then AC_LIBOBJ([strerror]) fi gl_MODULE_INDICATOR([strerror]) gl_STRING_MODULE_INDICATOR([strerror]) AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_0]) if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then AC_LIBOBJ([strerror-override]) gl_PREREQ_SYS_H_WINSOCK2 fi gl_FUNC_GNU_STRFTIME if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" fi gl_HEADER_STRING_H gl_FUNC_STRNCAT if test $REPLACE_STRNCAT = 1; then AC_LIBOBJ([strncat]) gl_PREREQ_STRNCAT fi gl_STRING_MODULE_INDICATOR([strncat]) gl_FUNC_STRNDUP if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then AC_LIBOBJ([strndup]) fi gl_STRING_MODULE_INDICATOR([strndup]) gl_FUNC_STRNLEN if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then AC_LIBOBJ([strnlen]) gl_PREREQ_STRNLEN fi gl_STRING_MODULE_INDICATOR([strnlen]) gl_FUNC_STRPBRK if test $HAVE_STRPBRK = 0; then AC_LIBOBJ([strpbrk]) gl_PREREQ_STRPBRK fi gl_STRING_MODULE_INDICATOR([strpbrk]) gl_FUNC_STRSIGNAL if test $HAVE_STRSIGNAL = 0 || test $REPLACE_STRSIGNAL = 1; then AC_LIBOBJ([strsignal]) gl_PREREQ_STRSIGNAL fi gl_STRING_MODULE_INDICATOR([strsignal]) gl_FUNC_STRSTR_SIMPLE if test $REPLACE_STRSTR = 1; then AC_LIBOBJ([strstr]) fi gl_STRING_MODULE_INDICATOR([strstr]) gl_FUNC_STRTOD if test $HAVE_STRTOD = 0 || test $REPLACE_STRTOD = 1; then AC_LIBOBJ([strtod]) gl_PREREQ_STRTOD fi gl_STDLIB_MODULE_INDICATOR([strtod]) gl_FUNC_STRTOIMAX if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then AC_LIBOBJ([strtoimax]) gl_PREREQ_STRTOIMAX fi gl_INTTYPES_MODULE_INDICATOR([strtoimax]) gl_FUNC_STRTOLL if test $HAVE_STRTOLL = 0; then AC_LIBOBJ([strtoll]) gl_PREREQ_STRTOLL fi gl_STDLIB_MODULE_INDICATOR([strtoll]) gl_FUNC_STRTOULL if test $HAVE_STRTOULL = 0; then AC_LIBOBJ([strtoull]) gl_PREREQ_STRTOULL fi gl_STDLIB_MODULE_INDICATOR([strtoull]) gl_FUNC_STRTOUMAX if test $ac_cv_func_strtoumax = no; then AC_LIBOBJ([strtoumax]) gl_PREREQ_STRTOUMAX fi gl_INTTYPES_MODULE_INDICATOR([strtoumax]) gl_FUNC_SYMLINK if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then AC_LIBOBJ([symlink]) fi gl_UNISTD_MODULE_INDICATOR([symlink]) gl_SYS_IOCTL_H AC_PROG_MKDIR_P gl_HEADER_SYS_RESOURCE AC_PROG_MKDIR_P gl_HEADER_SYS_SELECT AC_PROG_MKDIR_P gl_HEADER_SYS_SOCKET AC_PROG_MKDIR_P gl_HEADER_SYS_STAT_H AC_PROG_MKDIR_P gl_HEADER_SYS_TIME_H AC_PROG_MKDIR_P gl_SYS_TYPES_H AC_PROG_MKDIR_P gl_HEADER_SYS_UIO AC_PROG_MKDIR_P gl_SYS_UTSNAME_H AC_PROG_MKDIR_P gl_SYS_WAIT_H AC_PROG_MKDIR_P gl_FUNC_GEN_TEMPNAME gl_TERMIOS_H gl_THREADLIB gl_HEADER_TIME_H gl_TIME_R if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then AC_LIBOBJ([time_r]) gl_PREREQ_TIME_R fi gl_TIME_MODULE_INDICATOR([time_r]) gl_TIMER_TIME gl_TIMESPEC gl_TLS gl_FUNC_TZSET gl_FUNC_UNAME if test $HAVE_UNAME = 0; then AC_LIBOBJ([uname]) gl_PREREQ_UNAME fi gl_SYS_UTSNAME_MODULE_INDICATOR([uname]) gl_UNICODEIO gl_UNISTD_H gl_UNISTD_SAFER gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h]) gl_MODULE_INDICATOR([unistr/u8-mbtoucr]) gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr]) gl_MODULE_INDICATOR([unistr/u8-uctomb]) gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb]) gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h]) gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h]) gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width]) gl_FUNC_UNLINK if test $REPLACE_UNLINK = 1; then AC_LIBOBJ([unlink]) fi gl_UNISTD_MODULE_INDICATOR([unlink]) gl_FUNC_UNLINK_BUSY_TEXT gl_FUNC_UNLINKAT if test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1; then AC_LIBOBJ([unlinkat]) fi gl_UNISTD_MODULE_INDICATOR([unlinkat]) gl_FUNC_GLIBC_UNLOCKED_IO gl_FUNC_UNSETENV if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then AC_LIBOBJ([unsetenv]) gl_PREREQ_UNSETENV fi gl_STDLIB_MODULE_INDICATOR([unsetenv]) gl_SYS_PROC_UPTIME gl_USERSPEC gl_UTIMECMP gl_UTIMENS gl_FUNC_UTIMENSAT if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then AC_LIBOBJ([utimensat]) fi gl_SYS_STAT_MODULE_INDICATOR([utimensat]) gl_FUNC_VASNPRINTF gl_FUNC_VASPRINTF gl_STDIO_MODULE_INDICATOR([vasprintf]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) gl_FUNC_VASPRINTF_POSIX m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=verror:3:c-format]) AM_][XGETTEXT_OPTION([--flag=verror_at_line:5:c-format])]) gl_VERSION_ETC gl_FUNC_VFPRINTF_POSIX gl_STDIO_MODULE_INDICATOR([vfprintf-posix]) gl_FUNC_VPRINTF_POSIX gl_STDIO_MODULE_INDICATOR([vprintf-posix]) gl_WAIT_PROCESS gl_FUNC_WAITPID if test $HAVE_WAITPID = 0; then AC_LIBOBJ([waitpid]) fi gl_SYS_WAIT_MODULE_INDICATOR([waitpid]) gl_WCHAR_H gl_FUNC_WCRTOMB if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then AC_LIBOBJ([wcrtomb]) gl_PREREQ_WCRTOMB fi gl_WCHAR_MODULE_INDICATOR([wcrtomb]) gl_FUNC_WCSWIDTH if test $HAVE_WCSWIDTH = 0 || test $REPLACE_WCSWIDTH = 1; then AC_LIBOBJ([wcswidth]) fi gl_WCHAR_MODULE_INDICATOR([wcswidth]) gl_WCTYPE_H gl_FUNC_WCWIDTH if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then AC_LIBOBJ([wcwidth]) fi gl_WCHAR_MODULE_INDICATOR([wcwidth]) gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H gl_WINSIZE_IN_PTEM gl_FUNC_WRITE if test $REPLACE_WRITE = 1; then AC_LIBOBJ([write]) gl_PREREQ_WRITE fi gl_UNISTD_MODULE_INDICATOR([write]) gl_WRITE_ANY_FILE gl_XALLOC gl_XGETCWD gl_MODULE_INDICATOR([xgetgroups]) gl_XNANOSLEEP m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=xprintf:1:c-format]) AM_][XGETTEXT_OPTION([--flag=xvprintf:1:c-format]) AM_][XGETTEXT_OPTION([--flag=xfprintf:2:c-format]) AM_][XGETTEXT_OPTION([--flag=xvfprintf:2:c-format])]) gl_XSIZE gl_XSTRNDUP gl_XSTRTOD gl_XSTRTOL gl_XSTRTOLD gl_XVASPRINTF m4_ifdef([AM_XGETTEXT_OPTION], [AM_][XGETTEXT_OPTION([--flag=xasprintf:1:c-format])]) gl_YESNO # End of code from modules m4_ifval(gl_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || for gl_file in ]gl_LIBSOURCES_LIST[ ; do if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) ]) gltests_libdeps= gltests_ltlibdeps= m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gnulib-tests' changequote(,)dnl gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS changequote([, ])dnl AC_SUBST([gltests_WITNESS]) gl_module_indicator_condition=$gltests_WITNESS m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([accept]) fi gl_SYS_SOCKET_MODULE_INDICATOR([accept]) AC_CHECK_DECLS_ONCE([alarm]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([bind]) fi gl_SYS_SOCKET_MODULE_INDICATOR([bind]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_FR gt_LOCALE_TR_UTF8 AC_CHECK_FUNCS_ONCE([getegid]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([connect]) fi gl_SYS_SOCKET_MODULE_INDICATOR([connect]) AC_CHECK_FUNCS_ONCE([getegid]) gl_FUNC_UNGETC_WORKS gl_FUNC_UNGETC_WORKS gl_FUNC_UNGETC_WORKS gl_FUNC_UNGETC_WORKS dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. AM_GNU_GETTEXT_VERSION([0.18.1]) AC_C_BIGENDIAN gl_FUNC_INET_PTON if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then AC_LIBOBJ([inet_pton]) gl_PREREQ_INET_PTON fi gl_ARPA_INET_MODULE_INDICATOR([inet_pton]) AC_C_BIGENDIAN gl_FUNC_IOCTL if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then AC_LIBOBJ([ioctl]) fi gl_SYS_IOCTL_MODULE_INDICATOR([ioctl]) gl_DOUBLE_EXPONENT_LOCATION gl_FLOAT_EXPONENT_LOCATION gl_LONG_DOUBLE_EXPONENT_LOCATION AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_CHECK_FUNCS_ONCE([getegid]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([listen]) fi gl_SYS_SOCKET_MODULE_INDICATOR([listen]) AC_CHECK_FUNCS_ONCE([newlocale]) gl_LOCALENAME AC_CHECK_FUNCS_ONCE([newlocale]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN gt_LOCALE_TR_UTF8 gt_LOCALE_FR_UTF8 gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN gt_LOCALE_FR_UTF8 gt_LOCALE_ZH_CN gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) AC_CHECK_DECLS_ONCE([alarm]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gl_FUNC_PERROR if test $REPLACE_PERROR = 1; then AC_LIBOBJ([perror]) fi gl_STRING_MODULE_INDICATOR([perror]) gl_FUNC_PIPE if test $HAVE_PIPE = 0; then AC_LIBOBJ([pipe]) fi gl_UNISTD_MODULE_INDICATOR([pipe]) AC_EGREP_CPP([notposix], [[ #if defined _MSC_VER || defined __MINGW32__ notposix #endif ]], [posix_spawn_ported=no], [posix_spawn_ported=yes]) AM_CONDITIONAL([POSIX_SPAWN_PORTED], [test $posix_spawn_ported = yes]) dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) AC_CHECK_HEADERS_ONCE([sys/wait.h]) gl_FUNC_SETLOCALE if test $REPLACE_SETLOCALE = 1; then AC_LIBOBJ([setlocale]) gl_PREREQ_SETLOCALE fi gl_LOCALE_MODULE_INDICATOR([setlocale]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([setsockopt]) fi gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt]) AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION]) AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) AC_REQUIRE([gl_LONG_DOUBLE_EXPONENT_LOCATION]) gl_FUNC_SLEEP if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then AC_LIBOBJ([sleep]) fi gl_UNISTD_MODULE_INDICATOR([sleep]) AC_CHECK_DECLS_ONCE([alarm]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([socket]) fi # When this module is used, sockets may actually occur as file descriptors, # hence it is worth warning if the modules 'close' and 'ioctl' are not used. m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])]) AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2]) if test "$ac_cv_header_winsock2_h" = yes; then UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 fi gl_SYS_SOCKET_MODULE_INDICATOR([socket]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) gl_FUNC_STRERROR_R if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then AC_LIBOBJ([strerror_r]) gl_PREREQ_STRERROR_R fi gl_STRING_MODULE_INDICATOR([strerror_r]) gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) gl_FUNC_SYMLINKAT if test $HAVE_SYMLINKAT = 0; then AC_LIBOBJ([symlinkat]) fi gl_UNISTD_MODULE_INDICATOR([symlinkat]) AC_CHECK_FUNCS_ONCE([shutdown]) gl_THREAD gl_UNLINKDIR abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) gl_FUNC_USLEEP if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then AC_LIBOBJ([usleep]) fi gl_UNISTD_MODULE_INDICATOR([usleep]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) gt_LOCALE_FR gt_LOCALE_FR_UTF8 gt_LOCALE_JA gt_LOCALE_ZH_CN gl_FUNC_WCTOB if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then AC_LIBOBJ([wctob]) gl_PREREQ_WCTOB fi gl_WCHAR_MODULE_INDICATOR([wctob]) gl_FUNC_WCTOMB if test $REPLACE_WCTOMB = 1; then AC_LIBOBJ([wctomb]) gl_PREREQ_WCTOMB fi gl_STDLIB_MODULE_INDICATOR([wctomb]) gl_YIELD m4_popdef([gl_MODULE_INDICATOR_CONDITION]) m4_ifval(gltests_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || for gl_file in ]gltests_LIBSOURCES_LIST[ ; do if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) ]) LIBCOREUTILS_LIBDEPS="$gl_libdeps" AC_SUBST([LIBCOREUTILS_LIBDEPS]) LIBCOREUTILS_LTLIBDEPS="$gl_ltlibdeps" AC_SUBST([LIBCOREUTILS_LTLIBDEPS]) LIBTESTS_LIBDEPS="$gltests_libdeps" AC_SUBST([LIBTESTS_LIBDEPS]) ]) # Like AC_LIBOBJ, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_LIBOBJ], [ AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gl_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gl_LIBSOURCES_DIR], [lib]) m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # Like AC_LIBOBJ, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_LIBOBJ], [ AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gltests_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gltests_LIBSOURCES_DIR], [gnulib-tests]) m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ build-aux/announce-gen build-aux/config.rpath build-aux/do-release-commit-and-tag build-aux/gendocs.sh build-aux/git-version-gen build-aux/gitlog-to-changelog build-aux/gnu-web-doc-update build-aux/gnupload build-aux/prefix-gnulib-mk build-aux/snippet/_Noreturn.h build-aux/snippet/arg-nonnull.h build-aux/snippet/c++defs.h build-aux/snippet/unused-parameter.h build-aux/snippet/warn-on-use.h build-aux/update-copyright build-aux/useless-if-before-free build-aux/vc-list-files doc/fdl.texi doc/gendocs_template doc/parse-datetime.texi lib/acl-internal.h lib/acl.h lib/acl_entries.c lib/alignof.h lib/alloca.c lib/alloca.in.h lib/allocator.c lib/allocator.h lib/anytostr.c lib/areadlink-with-size.c lib/areadlink.c lib/areadlink.h lib/areadlinkat.c lib/argmatch.c lib/argmatch.h lib/argv-iter.c lib/argv-iter.h lib/arpa_inet.in.h lib/asnprintf.c lib/asprintf.c lib/at-func.c lib/at-func2.c lib/backupfile.c lib/backupfile.h lib/base64.c lib/base64.h lib/basename-lgpl.c lib/basename.c lib/binary-io.c lib/binary-io.h lib/bitrotate.c lib/bitrotate.h lib/btowc.c lib/buffer-lcm.c lib/buffer-lcm.h lib/c-ctype.c lib/c-ctype.h lib/c-strcase.h lib/c-strcasecmp.c lib/c-strcaseeq.h lib/c-strncasecmp.c lib/c-strtod.c lib/c-strtod.h lib/c-strtold.c lib/calloc.c lib/canon-host.c lib/canon-host.h lib/canonicalize.c lib/canonicalize.h lib/careadlinkat.c lib/careadlinkat.h lib/chdir-long.c lib/chdir-long.h lib/chmodat.c lib/chown.c lib/chownat.c lib/cloexec.c lib/cloexec.h lib/close-stream.c lib/close-stream.h lib/close.c lib/closedir.c lib/closein.c lib/closein.h lib/closeout.c lib/closeout.h lib/config.charset lib/copy-acl.c lib/creat-safer.c lib/ctype.in.h lib/cycle-check.c lib/cycle-check.h lib/dev-ino.h lib/di-set.c lib/di-set.h lib/diacrit.c lib/diacrit.h lib/dirchownmod.c lib/dirchownmod.h lib/dirent--.h lib/dirent-private.h lib/dirent-safer.h lib/dirent.in.h lib/dirfd.c lib/dirname-lgpl.c lib/dirname.c lib/dirname.h lib/dosname.h lib/dtoastr.c lib/dtotimespec.c lib/dup-safer-flag.c lib/dup-safer.c lib/dup.c lib/dup2.c lib/errno.in.h lib/error.c lib/error.h lib/euidaccess.c lib/exclude.c lib/exclude.h lib/exitfail.c lib/exitfail.h lib/faccessat.c lib/fadvise.c lib/fadvise.h lib/fatal-signal.c lib/fatal-signal.h lib/fchdir.c lib/fchmodat.c lib/fchown-stub.c lib/fchownat.c lib/fclose.c lib/fcntl--.h lib/fcntl-safer.h lib/fcntl.c lib/fcntl.in.h lib/fd-hook.c lib/fd-hook.h lib/fd-reopen.c lib/fd-reopen.h lib/fd-safer-flag.c lib/fd-safer.c lib/fdatasync.c lib/fdopen.c lib/fdopendir.c lib/fdutimensat.c lib/fflush.c lib/file-has-acl.c lib/file-set.c lib/file-set.h lib/file-type.c lib/file-type.h lib/fileblocks.c lib/filemode.c lib/filemode.h lib/filename.h lib/filenamecat-lgpl.c lib/filenamecat.c lib/filenamecat.h lib/filevercmp.c lib/filevercmp.h lib/float+.h lib/float.c lib/float.in.h lib/fnmatch.c lib/fnmatch.in.h lib/fnmatch_loop.c lib/fopen-safer.c lib/fopen.c lib/fpending.c lib/fpending.h lib/fprintftime.c lib/fprintftime.h lib/fpucw.h lib/fpurge.c lib/freadahead.c lib/freadahead.h lib/freading.c lib/freading.h lib/freadptr.c lib/freadptr.h lib/freadseek.c lib/freadseek.h lib/freopen-safer.c lib/freopen.c lib/frexp.c lib/frexpl.c lib/fseek.c lib/fseeko.c lib/fseterr.c lib/fseterr.h lib/fstat.c lib/fstatat.c lib/fsusage.c lib/fsusage.h lib/fsync.c lib/ftell.c lib/ftello.c lib/ftoastr.c lib/ftoastr.h lib/ftruncate.c lib/fts-cycle.c lib/fts.c lib/fts_.h lib/full-read.c lib/full-read.h lib/full-write.c lib/full-write.h lib/futimens.c lib/gai_strerror.c lib/getaddrinfo.c lib/getcwd-lgpl.c lib/getcwd.c lib/getdelim.c lib/getdtablesize.c lib/getfilecon.c lib/getgroups.c lib/gethostname.c lib/gethrxtime.c lib/gethrxtime.h lib/getline.c lib/getloadavg.c lib/getlogin.c lib/getndelim2.c lib/getndelim2.h lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h lib/getpagesize.c lib/getpass.c lib/getpass.h lib/gettext.h lib/gettime.c lib/gettimeofday.c lib/getugroups.c lib/getugroups.h lib/getusershell.c lib/glthread/lock.c lib/glthread/lock.h lib/glthread/threadlib.c lib/glthread/tls.c lib/glthread/tls.h lib/group-member.c lib/hard-locale.c lib/hard-locale.h lib/hash-pjw.c lib/hash-pjw.h lib/hash-triple.c lib/hash-triple.h lib/hash.c lib/hash.h lib/heap.c lib/heap.h lib/human.c lib/human.h lib/i-ring.c lib/i-ring.h lib/iconv.c lib/iconv.in.h lib/iconv_close.c lib/iconv_open-aix.gperf lib/iconv_open-hpux.gperf lib/iconv_open-irix.gperf lib/iconv_open-osf.gperf lib/iconv_open-solaris.gperf lib/iconv_open.c lib/idcache.c lib/idcache.h lib/ignore-value.h lib/imaxtostr.c lib/inet_ntop.c lib/ino-map.c lib/ino-map.h lib/intprops.h lib/inttostr.c lib/inttostr.h lib/inttypes.in.h lib/isapipe.c lib/isapipe.h lib/isatty.c lib/isblank.c lib/isnan.c lib/isnand-nolibm.h lib/isnand.c lib/isnanf-nolibm.h lib/isnanf.c lib/isnanl-nolibm.h lib/isnanl.c lib/iswblank.c lib/itold.c lib/langinfo.in.h lib/lchown.c lib/ldtoastr.c lib/linebuffer.c lib/linebuffer.h lib/link.c lib/linkat.c lib/localcharset.c lib/localcharset.h lib/locale.in.h lib/localeconv.c lib/long-options.c lib/long-options.h lib/lseek.c lib/lstat.c lib/malloc.c lib/malloca.c lib/malloca.h lib/malloca.valgrind lib/math.c lib/math.in.h lib/mbchar.c lib/mbchar.h lib/mbiter.c lib/mbiter.h lib/mbrlen.c lib/mbrtowc.c lib/mbsalign.c lib/mbsalign.h lib/mbscasecmp.c lib/mbsinit.c lib/mbslen.c lib/mbsrtowcs-impl.h lib/mbsrtowcs-state.c lib/mbsrtowcs.c lib/mbsstr.c lib/mbswidth.c lib/mbswidth.h lib/mbtowc-impl.h lib/mbtowc.c lib/mbuiter.c lib/mbuiter.h lib/md5.c lib/md5.h lib/memcasecmp.c lib/memcasecmp.h lib/memchr.c lib/memchr.valgrind lib/memchr2.c lib/memchr2.h lib/memchr2.valgrind lib/memcmp2.c lib/memcmp2.h lib/memcoll.c lib/memcoll.h lib/mempcpy.c lib/memrchr.c lib/mgetgroups.c lib/mgetgroups.h lib/mkancesdirs.c lib/mkancesdirs.h lib/mkdir-p.c lib/mkdir-p.h lib/mkdir.c lib/mkfifo.c lib/mknod.c lib/mkstemp-safer.c lib/mkstemp.c lib/mktime-internal.h lib/mktime.c lib/modechange.c lib/modechange.h lib/mountlist.c lib/mountlist.h lib/mpsort.c lib/mpsort.h lib/msvc-inval.c lib/msvc-inval.h lib/msvc-nothrow.c lib/msvc-nothrow.h lib/nanosleep.c lib/netdb.in.h lib/netinet_in.in.h lib/nl_langinfo.c lib/nproc.c lib/nproc.h lib/obstack.c lib/obstack.h lib/offtostr.c lib/open-safer.c lib/open.c lib/openat-die.c lib/openat-priv.h lib/openat-proc.c lib/openat-safer.c lib/openat.c lib/openat.h lib/opendir-safer.c lib/opendir.c lib/parse-datetime.h lib/parse-datetime.y lib/pathmax.h lib/physmem.c lib/physmem.h lib/pipe-safer.c lib/pipe.h lib/pipe2-safer.c lib/pipe2.c lib/posixtm.c lib/posixtm.h lib/posixver.c lib/posixver.h lib/printf-args.c lib/printf-args.h lib/printf-frexp.c lib/printf-frexp.h lib/printf-frexpl.c lib/printf-frexpl.h lib/printf-parse.c lib/printf-parse.h lib/priv-set.c lib/priv-set.h lib/progname.c lib/progname.h lib/propername.c lib/propername.h lib/pthread.c lib/pthread.in.h lib/putenv.c lib/quote.h lib/quotearg.c lib/quotearg.h lib/raise.c lib/rand-isaac.c lib/rand-isaac.h lib/randint.c lib/randint.h lib/randperm.c lib/randperm.h lib/randread.c lib/randread.h lib/rawmemchr.c lib/rawmemchr.valgrind lib/read-file.c lib/read-file.h lib/read.c lib/readdir.c lib/readlink.c lib/readlinkat.c lib/readtokens.c lib/readtokens.h lib/readtokens0.c lib/readtokens0.h lib/readutmp.c lib/readutmp.h lib/realloc.c lib/ref-add.sin lib/ref-del.sin lib/regcomp.c lib/regex.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c lib/remove.c lib/rename.c lib/rewinddir.c lib/rmdir.c lib/root-dev-ino.c lib/root-dev-ino.h lib/root-uid.h lib/rpmatch.c lib/safe-read.c lib/safe-read.h lib/safe-write.c lib/safe-write.h lib/same-inode.h lib/same.c lib/same.h lib/save-cwd.c lib/save-cwd.h lib/savedir.c lib/savedir.h lib/savewd.c lib/savewd.h lib/sched.in.h lib/se-context.c lib/se-context.in.h lib/se-selinux.c lib/se-selinux.in.h lib/select.c lib/selinux-at.c lib/selinux-at.h lib/set-mode-acl.c lib/setenv.c lib/settime.c lib/sha1.c lib/sha1.h lib/sha256.c lib/sha256.h lib/sha512.c lib/sha512.h lib/sig-handler.c lib/sig-handler.h lib/sig2str.c lib/sig2str.h lib/sigaction.c lib/siglist.h lib/signal.in.h lib/signbitd.c lib/signbitf.c lib/signbitl.c lib/sigprocmask.c lib/size_max.h lib/snprintf.c lib/sockets.c lib/sockets.h lib/spawn-pipe.c lib/spawn-pipe.h lib/spawn.in.h lib/spawn_faction_addclose.c lib/spawn_faction_adddup2.c lib/spawn_faction_addopen.c lib/spawn_faction_destroy.c lib/spawn_faction_init.c lib/spawn_int.h lib/spawnattr_destroy.c lib/spawnattr_init.c lib/spawnattr_setflags.c lib/spawnattr_setsigmask.c lib/spawni.c lib/spawnp.c lib/stat-macros.h lib/stat-size.h lib/stat-time.c lib/stat-time.h lib/stat.c lib/statat.c lib/stdalign.in.h lib/stdarg.in.h lib/stdbool.in.h lib/stddef.in.h lib/stdint.in.h lib/stdio--.h lib/stdio-impl.h lib/stdio-safer.h lib/stdio.in.h lib/stdlib--.h lib/stdlib-safer.h lib/stdlib.in.h lib/stpcpy.c lib/stpncpy.c lib/str-kmp.h lib/str-two-way.h lib/strchrnul.c lib/strchrnul.valgrind lib/strdup.c lib/streq.h lib/strerror-override.c lib/strerror-override.h lib/strerror.c lib/strftime.c lib/strftime.h lib/striconv.c lib/striconv.h lib/string.in.h lib/strintcmp.c lib/stripslash.c lib/strncat.c lib/strndup.c lib/strnlen.c lib/strnlen1.c lib/strnlen1.h lib/strnumcmp-in.h lib/strnumcmp.c lib/strnumcmp.h lib/strpbrk.c lib/strsignal.c lib/strstr.c lib/strtod.c lib/strtoimax.c lib/strtol.c lib/strtoll.c lib/strtoul.c lib/strtoull.c lib/strtoumax.c lib/symlink.c lib/sys_ioctl.in.h lib/sys_resource.in.h lib/sys_select.in.h lib/sys_socket.c lib/sys_socket.in.h lib/sys_stat.in.h lib/sys_time.in.h lib/sys_types.in.h lib/sys_uio.in.h lib/sys_utsname.in.h lib/sys_wait.in.h lib/tempname.c lib/tempname.h lib/termios.in.h lib/time.in.h lib/time_r.c lib/timespec.c lib/timespec.h lib/trim.c lib/trim.h lib/u64.c lib/u64.h lib/uinttostr.c lib/umaxtostr.c lib/uname.c lib/unicodeio.c lib/unicodeio.h lib/unistd--.h lib/unistd-safer.h lib/unistd.c lib/unistd.in.h lib/unistr.in.h lib/unistr/u8-mbtoucr.c lib/unistr/u8-uctomb-aux.c lib/unistr/u8-uctomb.c lib/unitypes.in.h lib/uniwidth.in.h lib/uniwidth/cjk.h lib/uniwidth/width.c lib/unlink.c lib/unlinkat.c lib/unlocked-io.h lib/unsetenv.c lib/userspec.c lib/userspec.h lib/utimecmp.c lib/utimecmp.h lib/utimens.c lib/utimens.h lib/utimensat.c lib/vasnprintf.c lib/vasnprintf.h lib/vasprintf.c lib/verify.h lib/verror.c lib/verror.h lib/version-etc-fsf.c lib/version-etc.c lib/version-etc.h lib/vfprintf.c lib/vprintf.c lib/w32sock.h lib/w32spawn.h lib/wait-process.c lib/wait-process.h lib/waitpid.c lib/wchar.in.h lib/wcrtomb.c lib/wcswidth-impl.h lib/wcswidth.c lib/wctype-h.c lib/wctype.in.h lib/wcwidth.c lib/write-any-file.c lib/write-any-file.h lib/write.c lib/xalloc-die.c lib/xalloc-oversized.h lib/xalloc.h lib/xasprintf.c lib/xfreopen.c lib/xfreopen.h lib/xfts.c lib/xfts.h lib/xgetcwd.c lib/xgetcwd.h lib/xgetgroups.c lib/xgethostname.c lib/xgethostname.h lib/xmalloc.c lib/xmemcoll.c lib/xmemcoll.h lib/xnanosleep.c lib/xnanosleep.h lib/xprintf.c lib/xprintf.h lib/xreadlink.c lib/xreadlink.h lib/xsize.c lib/xsize.h lib/xstriconv.c lib/xstriconv.h lib/xstrndup.c lib/xstrndup.h lib/xstrtod.c lib/xstrtod.h lib/xstrtoimax.c lib/xstrtol-error.c lib/xstrtol.c lib/xstrtol.h lib/xstrtold.c lib/xstrtoul.c lib/xstrtoumax.c lib/xtime.c lib/xtime.h lib/xvasprintf.c lib/xvasprintf.h lib/yesno.c lib/yesno.h m4/00gnulib.m4 m4/acl.m4 m4/alloca.m4 m4/arpa_inet_h.m4 m4/assert.m4 m4/autobuild.m4 m4/backupfile.m4 m4/base64.m4 m4/bison.m4 m4/btowc.m4 m4/c-strtod.m4 m4/calloc.m4 m4/canon-host.m4 m4/canonicalize.m4 m4/chdir-long.m4 m4/chown.m4 m4/clock_time.m4 m4/close-stream.m4 m4/close.m4 m4/closedir.m4 m4/closein.m4 m4/closeout.m4 m4/codeset.m4 m4/config-h.m4 m4/configmake.m4 m4/ctype.m4 m4/cycle-check.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirent-safer.m4 m4/dirent_h.m4 m4/dirfd.m4 m4/dirname.m4 m4/double-slash-root.m4 m4/dup.m4 m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/errno_h.m4 m4/error.m4 m4/euidaccess.m4 m4/exponentd.m4 m4/exponentf.m4 m4/exponentl.m4 m4/extensions.m4 m4/extern-inline.m4 m4/faccessat.m4 m4/fatal-signal.m4 m4/fchdir.m4 m4/fchmodat.m4 m4/fchownat.m4 m4/fclose.m4 m4/fcntl-o.m4 m4/fcntl-safer.m4 m4/fcntl.m4 m4/fcntl_h.m4 m4/fdatasync.m4 m4/fdopen.m4 m4/fdopendir.m4 m4/fflush.m4 m4/fileblocks.m4 m4/filemode.m4 m4/filenamecat.m4 m4/flexmember.m4 m4/float_h.m4 m4/fnmatch.m4 m4/fopen.m4 m4/fpending.m4 m4/fpieee.m4 m4/fpurge.m4 m4/freadahead.m4 m4/freading.m4 m4/freadptr.m4 m4/freadseek.m4 m4/freopen.m4 m4/frexp.m4 m4/frexpl.m4 m4/fseek.m4 m4/fseeko.m4 m4/fseterr.m4 m4/fstat.m4 m4/fstatat.m4 m4/fstypename.m4 m4/fsusage.m4 m4/fsync.m4 m4/ftell.m4 m4/ftello.m4 m4/ftruncate.m4 m4/fts.m4 m4/futimens.m4 m4/getaddrinfo.m4 m4/getcwd-abort-bug.m4 m4/getcwd-path-max.m4 m4/getcwd.m4 m4/getdelim.m4 m4/getdtablesize.m4 m4/getgroups.m4 m4/gethostname.m4 m4/gethrxtime.m4 m4/getline.m4 m4/getloadavg.m4 m4/getlogin.m4 m4/getndelim2.m4 m4/getopt.m4 m4/getpagesize.m4 m4/getpass.m4 m4/gettext.m4 m4/gettime.m4 m4/gettimeofday.m4 m4/getugroups.m4 m4/getusershell.m4 m4/glibc2.m4 m4/glibc21.m4 m4/gnu-make.m4 m4/gnulib-common.m4 m4/group-member.m4 m4/hard-locale.m4 m4/host-os.m4 m4/hostent.m4 m4/human.m4 m4/i-ring.m4 m4/iconv.m4 m4/iconv_h.m4 m4/iconv_open.m4 m4/idcache.m4 m4/include_next.m4 m4/inet_ntop.m4 m4/inet_pton.m4 m4/inline.m4 m4/intdiv0.m4 m4/intl.m4 m4/intldir.m4 m4/intlmacosx.m4 m4/intmax.m4 m4/intmax_t.m4 m4/inttostr.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/ioctl.m4 m4/isapipe.m4 m4/isatty.m4 m4/isblank.m4 m4/isnand.m4 m4/isnanf.m4 m4/isnanl.m4 m4/iswblank.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/langinfo_h.m4 m4/largefile.m4 m4/lchmod.m4 m4/lchown.m4 m4/lcmessage.m4 m4/ldexp.m4 m4/ldexpl.m4 m4/lib-ignore.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/libunistring-base.m4 m4/link-follow.m4 m4/link.m4 m4/linkat.m4 m4/localcharset.m4 m4/locale-fr.m4 m4/locale-ja.m4 m4/locale-tr.m4 m4/locale-zh.m4 m4/locale_h.m4 m4/localeconv.m4 m4/localename.m4 m4/lock.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lseek.m4 m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 m4/manywarnings.m4 m4/math_h.m4 m4/mbchar.m4 m4/mbiter.m4 m4/mbrlen.m4 m4/mbrtowc.m4 m4/mbsinit.m4 m4/mbslen.m4 m4/mbsrtowcs.m4 m4/mbstate_t.m4 m4/mbswidth.m4 m4/mbtowc.m4 m4/md5.m4 m4/memcasecmp.m4 m4/memchr.m4 m4/memcoll.m4 m4/mempcpy.m4 m4/memrchr.m4 m4/mgetgroups.m4 m4/mkancesdirs.m4 m4/mkdir-p.m4 m4/mkdir.m4 m4/mkfifo.m4 m4/mknod.m4 m4/mkstemp.m4 m4/mktime.m4 m4/mmap-anon.m4 m4/mode_t.m4 m4/modechange.m4 m4/mountlist.m4 m4/mpsort.m4 m4/msvc-inval.m4 m4/msvc-nothrow.m4 m4/multiarch.m4 m4/nanosleep.m4 m4/netdb_h.m4 m4/netinet_in_h.m4 m4/nl_langinfo.m4 m4/nls.m4 m4/nocrash.m4 m4/non-recursive-gnulib-prefix-hack.m4 m4/nproc.m4 m4/off_t.m4 m4/open.m4 m4/openat.m4 m4/opendir.m4 m4/parse-datetime.m4 m4/pathmax.m4 m4/perl.m4 m4/perror.m4 m4/physmem.m4 m4/pipe.m4 m4/pipe2.m4 m4/po.m4 m4/posix-shell.m4 m4/posix_spawn.m4 m4/posixtm.m4 m4/posixver.m4 m4/printf-frexp.m4 m4/printf-frexpl.m4 m4/printf-posix.m4 m4/printf.m4 m4/priv-set.m4 m4/progtest.m4 m4/pthread.m4 m4/putenv.m4 m4/quote.m4 m4/quotearg.m4 m4/raise.m4 m4/rawmemchr.m4 m4/read-file.m4 m4/read.m4 m4/readdir.m4 m4/readlink.m4 m4/readlinkat.m4 m4/readtokens.m4 m4/readutmp.m4 m4/realloc.m4 m4/regex.m4 m4/remove.m4 m4/rename.m4 m4/rewinddir.m4 m4/rmdir.m4 m4/rpmatch.m4 m4/safe-read.m4 m4/safe-write.m4 m4/same.m4 m4/save-cwd.m4 m4/savedir.m4 m4/savewd.m4 m4/sched_h.m4 m4/select.m4 m4/selinux-context-h.m4 m4/selinux-selinux-h.m4 m4/servent.m4 m4/setenv.m4 m4/setlocale.m4 m4/settime.m4 m4/sha1.m4 m4/sha256.m4 m4/sha512.m4 m4/sig2str.m4 m4/sig_atomic_t.m4 m4/sigaction.m4 m4/signal_h.m4 m4/signalblocking.m4 m4/signbit.m4 m4/size_max.m4 m4/sleep.m4 m4/snprintf.m4 m4/socketlib.m4 m4/sockets.m4 m4/socklen.m4 m4/sockpfaf.m4 m4/spawn-pipe.m4 m4/spawn_h.m4 m4/ssize_t.m4 m4/st_dm_mode.m4 m4/stat-size.m4 m4/stat-time.m4 m4/stat.m4 m4/stdalign.m4 m4/stdarg.m4 m4/stdbool.m4 m4/stddef_h.m4 m4/stdint.m4 m4/stdint_h.m4 m4/stdio_h.m4 m4/stdlib_h.m4 m4/stpcpy.m4 m4/stpncpy.m4 m4/strchrnul.m4 m4/strdup.m4 m4/strerror.m4 m4/strerror_r.m4 m4/strftime.m4 m4/string_h.m4 m4/strncat.m4 m4/strndup.m4 m4/strnlen.m4 m4/strpbrk.m4 m4/strsignal.m4 m4/strstr.m4 m4/strtod.m4 m4/strtoimax.m4 m4/strtoll.m4 m4/strtoull.m4 m4/strtoumax.m4 m4/symlink.m4 m4/symlinkat.m4 m4/sys_ioctl_h.m4 m4/sys_resource_h.m4 m4/sys_select_h.m4 m4/sys_socket_h.m4 m4/sys_stat_h.m4 m4/sys_time_h.m4 m4/sys_types_h.m4 m4/sys_uio_h.m4 m4/sys_utsname_h.m4 m4/sys_wait_h.m4 m4/tempname.m4 m4/termios_h.m4 m4/thread.m4 m4/threadlib.m4 m4/time_h.m4 m4/time_r.m4 m4/timer_time.m4 m4/timespec.m4 m4/tls.m4 m4/tm_gmtoff.m4 m4/tzset.m4 m4/uintmax_t.m4 m4/uname.m4 m4/ungetc.m4 m4/unicodeio.m4 m4/unistd-safer.m4 m4/unistd_h.m4 m4/unlink-busy.m4 m4/unlink.m4 m4/unlinkat.m4 m4/unlinkdir.m4 m4/unlocked-io.m4 m4/uptime.m4 m4/userspec.m4 m4/usleep.m4 m4/utimbuf.m4 m4/utimecmp.m4 m4/utimens.m4 m4/utimensat.m4 m4/utimes.m4 m4/vasnprintf.m4 m4/vasprintf-posix.m4 m4/vasprintf.m4 m4/version-etc.m4 m4/vfprintf-posix.m4 m4/visibility.m4 m4/vprintf-posix.m4 m4/wait-process.m4 m4/waitpid.m4 m4/warn-on-use.m4 m4/warnings.m4 m4/wchar_h.m4 m4/wchar_t.m4 m4/wcrtomb.m4 m4/wcswidth.m4 m4/wctob.m4 m4/wctomb.m4 m4/wctype_h.m4 m4/wcwidth.m4 m4/wint_t.m4 m4/write-any-file.m4 m4/write.m4 m4/xalloc.m4 m4/xgetcwd.m4 m4/xnanosleep.m4 m4/xsize.m4 m4/xstrndup.m4 m4/xstrtod.m4 m4/xstrtol.m4 m4/xvasprintf.m4 m4/yesno.m4 m4/yield.m4 tests/infinity.h tests/init.sh tests/macros.h tests/minus-zero.h tests/nan.h tests/nap.h tests/randomd.c tests/randoml.c tests/signature.h tests/test-accept.c tests/test-alignof.c tests/test-alloca-opt.c tests/test-areadlink-with-size.c tests/test-areadlink.c tests/test-areadlink.h tests/test-areadlinkat.c tests/test-argmatch.c tests/test-argv-iter.c tests/test-arpa_inet.c tests/test-base64.c tests/test-binary-io.c tests/test-binary-io.sh tests/test-bind.c tests/test-bitrotate.c tests/test-btowc.c tests/test-btowc1.sh tests/test-btowc2.sh tests/test-c-ctype.c tests/test-c-strcase.sh tests/test-c-strcasecmp.c tests/test-c-strncasecmp.c tests/test-calloc-gnu.c tests/test-canonicalize.c tests/test-chdir.c tests/test-chown.c tests/test-chown.h tests/test-cloexec.c tests/test-close.c tests/test-closein.c tests/test-closein.sh tests/test-connect.c tests/test-copy-acl-1.sh tests/test-copy-acl-2.sh tests/test-copy-acl.c tests/test-copy-acl.sh tests/test-ctype.c tests/test-di-set.c tests/test-dirent-safer.c tests/test-dirent.c tests/test-dirname.c tests/test-dup-safer.c tests/test-dup.c tests/test-dup2.c tests/test-environ.c tests/test-errno.c tests/test-exclude.c tests/test-exclude1.sh tests/test-exclude2.sh tests/test-exclude3.sh tests/test-exclude4.sh tests/test-exclude5.sh tests/test-exclude6.sh tests/test-exclude7.sh tests/test-exclude8.sh tests/test-faccessat.c tests/test-fadvise.c tests/test-fchdir.c tests/test-fchmodat.c tests/test-fchownat.c tests/test-fclose.c tests/test-fcntl-h.c tests/test-fcntl-safer.c tests/test-fcntl.c tests/test-fdatasync.c tests/test-fdopen.c tests/test-fdopendir.c tests/test-fdutimensat.c tests/test-fflush.c tests/test-fflush2.c tests/test-fflush2.sh tests/test-fgetc.c tests/test-file-has-acl-1.sh tests/test-file-has-acl-2.sh tests/test-file-has-acl.c tests/test-file-has-acl.sh tests/test-filenamecat.c tests/test-filevercmp.c tests/test-float.c tests/test-fnmatch.c tests/test-fopen-safer.c tests/test-fopen.c tests/test-fopen.h tests/test-fpending.c tests/test-fpending.sh tests/test-fprintf-posix.h tests/test-fpurge.c tests/test-fputc.c tests/test-fread.c tests/test-freadahead.c tests/test-freadahead.sh tests/test-freading.c tests/test-freadptr.c tests/test-freadptr.sh tests/test-freadptr2.c tests/test-freadptr2.sh tests/test-freadseek.c tests/test-freadseek.sh tests/test-freopen-safer.c tests/test-freopen.c tests/test-frexp.c tests/test-frexp.h tests/test-frexpl.c tests/test-fseek.c tests/test-fseek.sh tests/test-fseek2.sh tests/test-fseeko.c tests/test-fseeko.sh tests/test-fseeko2.sh tests/test-fseeko3.c tests/test-fseeko3.sh tests/test-fseeko4.c tests/test-fseeko4.sh tests/test-fseterr.c tests/test-fstat.c tests/test-fstatat.c tests/test-fsync.c tests/test-ftell.c tests/test-ftell.sh tests/test-ftell2.sh tests/test-ftell3.c tests/test-ftello.c tests/test-ftello.sh tests/test-ftello2.sh tests/test-ftello3.c tests/test-ftello4.c tests/test-ftello4.sh tests/test-ftruncate.c tests/test-ftruncate.sh tests/test-futimens.c tests/test-futimens.h tests/test-fwrite.c tests/test-getaddrinfo.c tests/test-getcwd-lgpl.c tests/test-getcwd.c tests/test-getcwd.sh tests/test-getdelim.c tests/test-getdtablesize.c tests/test-getgroups.c tests/test-gethostname.c tests/test-getline.c tests/test-getloadavg.c tests/test-getlogin.c tests/test-getndelim2.c tests/test-getopt.c tests/test-getopt.h tests/test-getopt_long.h tests/test-gettimeofday.c tests/test-hash.c tests/test-i-ring.c tests/test-iconv-h.c tests/test-iconv.c tests/test-ignore-value.c tests/test-inet_ntop.c tests/test-inet_pton.c tests/test-init.sh tests/test-ino-map.c tests/test-intprops.c tests/test-inttostr.c tests/test-inttypes.c tests/test-ioctl.c tests/test-isatty.c tests/test-isblank.c tests/test-isnand-nolibm.c tests/test-isnand.h tests/test-isnanf-nolibm.c tests/test-isnanf.h tests/test-isnanl-nolibm.c tests/test-isnanl.h tests/test-iswblank.c tests/test-langinfo.c tests/test-lchown.c tests/test-lchown.h tests/test-link.c tests/test-link.h tests/test-linkat.c tests/test-listen.c tests/test-locale.c tests/test-localeconv.c tests/test-localename.c tests/test-lock.c tests/test-lseek.c tests/test-lseek.sh tests/test-lstat.c tests/test-lstat.h tests/test-lutimens.h tests/test-malloc-gnu.c tests/test-malloca.c tests/test-math.c tests/test-mbrtowc-w32-1.sh tests/test-mbrtowc-w32-2.sh tests/test-mbrtowc-w32-3.sh tests/test-mbrtowc-w32-4.sh tests/test-mbrtowc-w32-5.sh tests/test-mbrtowc-w32.c tests/test-mbrtowc.c tests/test-mbrtowc1.sh tests/test-mbrtowc2.sh tests/test-mbrtowc3.sh tests/test-mbrtowc4.sh tests/test-mbsalign.c tests/test-mbscasecmp.c tests/test-mbscasecmp.sh tests/test-mbsinit.c tests/test-mbsinit.sh tests/test-mbsrtowcs.c tests/test-mbsrtowcs1.sh tests/test-mbsrtowcs2.sh tests/test-mbsrtowcs3.sh tests/test-mbsrtowcs4.sh tests/test-mbsstr1.c tests/test-mbsstr2.c tests/test-mbsstr2.sh tests/test-mbsstr3.c tests/test-mbsstr3.sh tests/test-md5.c tests/test-memcasecmp.c tests/test-memchr.c tests/test-memchr2.c tests/test-memcoll.c tests/test-memrchr.c tests/test-mkdir.c tests/test-mkdir.h tests/test-mkfifo.c tests/test-mkfifo.h tests/test-mknod.c tests/test-nanosleep.c tests/test-netdb.c tests/test-netinet_in.c tests/test-nl_langinfo.c tests/test-nl_langinfo.sh tests/test-open.c tests/test-open.h tests/test-openat-safer.c tests/test-openat.c tests/test-parse-datetime.c tests/test-pathmax.c tests/test-perror.c tests/test-perror.sh tests/test-perror2.c tests/test-pipe.c tests/test-pipe2.c tests/test-posix_spawn1.c tests/test-posix_spawn1.in.sh tests/test-posix_spawn2.c tests/test-posix_spawn2.in.sh tests/test-posix_spawn_file_actions_addclose.c tests/test-posix_spawn_file_actions_adddup2.c tests/test-posix_spawn_file_actions_addopen.c tests/test-posixtm.c tests/test-printf-frexp.c tests/test-printf-frexpl.c tests/test-printf-posix.h tests/test-printf-posix.output tests/test-priv-set.c tests/test-quotearg-simple.c tests/test-quotearg.h tests/test-raise.c tests/test-rand-isaac.c tests/test-rawmemchr.c tests/test-read-file.c tests/test-read.c tests/test-readlink.c tests/test-readlink.h tests/test-readlinkat.c tests/test-readtokens.c tests/test-readtokens.sh tests/test-realloc-gnu.c tests/test-regex.c tests/test-remove.c tests/test-rename.c tests/test-rename.h tests/test-rmdir.c tests/test-rmdir.h tests/test-sameacls.c tests/test-sched.c tests/test-select-fd.c tests/test-select-in.sh tests/test-select-out.sh tests/test-select-stdin.c tests/test-select.c tests/test-select.h tests/test-set-mode-acl-1.sh tests/test-set-mode-acl-2.sh tests/test-set-mode-acl.c tests/test-set-mode-acl.sh tests/test-setenv.c tests/test-setlocale1.c tests/test-setlocale1.sh tests/test-setlocale2.c tests/test-setlocale2.sh tests/test-setsockopt.c tests/test-sha1.c tests/test-sigaction.c tests/test-signal-h.c tests/test-signbit.c tests/test-sigprocmask.c tests/test-sleep.c tests/test-snprintf.c tests/test-sockets.c tests/test-spawn-pipe-child.c tests/test-spawn-pipe-main.c tests/test-spawn-pipe.sh tests/test-spawn.c tests/test-stat-time.c tests/test-stat.c tests/test-stat.h tests/test-statat.c tests/test-stdalign.c tests/test-stdbool.c tests/test-stddef.c tests/test-stdint.c tests/test-stdio.c tests/test-stdlib.c tests/test-strchrnul.c tests/test-strerror.c tests/test-strerror_r.c tests/test-strftime.c tests/test-striconv.c tests/test-string.c tests/test-strncat.c tests/test-strnlen.c tests/test-strsignal.c tests/test-strtod.c tests/test-strtoimax.c tests/test-strtoll.c tests/test-strtoull.c tests/test-strtoumax.c tests/test-symlink.c tests/test-symlink.h tests/test-symlinkat.c tests/test-sys_ioctl.c tests/test-sys_resource.c tests/test-sys_select.c tests/test-sys_socket.c tests/test-sys_stat.c tests/test-sys_time.c tests/test-sys_types.c tests/test-sys_uio.c tests/test-sys_utsname.c tests/test-sys_wait.c tests/test-sys_wait.h tests/test-termios.c tests/test-thread_create.c tests/test-thread_self.c tests/test-time.c tests/test-tls.c tests/test-u64.c tests/test-uname.c tests/test-unistd.c tests/test-unlink.c tests/test-unlink.h tests/test-unlinkat.c tests/test-unsetenv.c tests/test-update-copyright.sh tests/test-userspec.c tests/test-usleep.c tests/test-utimens-common.h tests/test-utimens.c tests/test-utimens.h tests/test-utimensat.c tests/test-vasnprintf.c tests/test-vasprintf-posix.c tests/test-vasprintf.c tests/test-vc-list-files-cvs.sh tests/test-vc-list-files-git.sh tests/test-verify.c tests/test-verify.sh tests/test-version-etc.c tests/test-version-etc.sh tests/test-vfprintf-posix.c tests/test-vfprintf-posix.sh tests/test-vprintf-posix.c tests/test-vprintf-posix.sh tests/test-wchar.c tests/test-wcrtomb-w32-1.sh tests/test-wcrtomb-w32-2.sh tests/test-wcrtomb-w32-3.sh tests/test-wcrtomb-w32-4.sh tests/test-wcrtomb-w32-5.sh tests/test-wcrtomb-w32.c tests/test-wcrtomb.c tests/test-wcrtomb.sh tests/test-wctype-h.c tests/test-wcwidth.c tests/test-write.c tests/test-xalloc-die.c tests/test-xalloc-die.sh tests/test-xfprintf-posix.c tests/test-xprintf-posix.c tests/test-xprintf-posix.sh tests/test-xstrtoimax.c tests/test-xstrtoimax.sh tests/test-xstrtol.c tests/test-xstrtol.sh tests/test-xstrtoul.c tests/test-xstrtoumax.c tests/test-xstrtoumax.sh tests/test-xvasprintf.c tests/test-yesno.c tests/test-yesno.sh tests/unistr/test-strncat.h tests/unistr/test-u8-mbtoucr.c tests/unistr/test-u8-uctomb.c tests/uniwidth/test-uc_width.c tests/uniwidth/test-uc_width2.c tests/uniwidth/test-uc_width2.sh tests/zerosize-ptr.h tests=lib/accept.c tests=lib/at-func.c tests=lib/bind.c tests=lib/connect.c tests=lib/glthread/thread.c tests=lib/glthread/thread.h tests=lib/glthread/yield.h tests=lib/inet_pton.c tests=lib/ioctl.c tests=lib/listen.c tests=lib/localename.c tests=lib/localename.h tests=lib/perror.c tests=lib/pipe.c tests=lib/setlocale.c tests=lib/setsockopt.c tests=lib/sleep.c tests=lib/socket.c tests=lib/strerror_r.c tests=lib/symlinkat.c tests=lib/unlinkdir.c tests=lib/unlinkdir.h tests=lib/usleep.c tests=lib/w32sock.h tests=lib/wctob.c tests=lib/wctomb-impl.h tests=lib/wctomb.c top/GNUmakefile top/maint.mk ]) coreutils-8.21/m4/nanosleep.m40000664000000000000000000001112712071024546013117 00000000000000# serial 36 dnl From Jim Meyering. dnl Check for the nanosleep function. dnl If not found, use the supplied replacement. dnl # Copyright (C) 1999-2001, 2003-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_NANOSLEEP], [ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade glibc and Solaris to declare nanosleep. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_REQUIRE([gl_FUNC_SELECT]) nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. LIB_NANOSLEEP= AC_SUBST([LIB_NANOSLEEP]) AC_SEARCH_LIBS([nanosleep], [rt posix4], [test "$ac_cv_search_nanosleep" = "none required" || LIB_NANOSLEEP=$ac_cv_search_nanosleep]) if test "x$ac_cv_search_nanosleep" != xno; then dnl The system has a nanosleep function. AC_REQUIRE([gl_MULTIARCH]) if test $APPLE_UNIVERSAL_BUILD = 1; then # A universal build on Apple Mac OS X platforms. # The test result would be 'no (mishandles large arguments)' in 64-bit # mode but 'yes' in 32-bit mode. But we need a configuration result that # is valid in both modes. gl_cv_func_nanosleep='no (mishandles large arguments)' fi AC_CACHE_CHECK([for working nanosleep], [gl_cv_func_nanosleep], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #if HAVE_SYS_TIME_H #include #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; static struct sigaction act; /* Test for major problems first. */ if (! nanosleep) return 2; act.sa_handler = check_for_SIGALRM; sigemptyset (&act.sa_mask); sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; alarm (1); if (nanosleep (&ts_sleep, NULL) != 0) return 3; /* Test for a minor problem: the handling of large arguments. */ ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); ts_sleep.tv_nsec = 999999999; alarm (1); if (nanosleep (&ts_sleep, &ts_remaining) != -1) return 4; if (errno != EINTR) return 5; if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) return 6; return 0; }]])], [gl_cv_func_nanosleep=yes], [case $? in dnl ( 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; dnl ( *) gl_cv_func_nanosleep=no;; esac], [case "$host_os" in dnl (( linux*) # Guess it halfway works when the kernel is Linux. gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;; *) # If we don't know, assume the worst. gl_cv_func_nanosleep='guessing no' ;; esac ]) ]) case "$gl_cv_func_nanosleep" in *yes) REPLACE_NANOSLEEP=0 ;; *) REPLACE_NANOSLEEP=1 case "$gl_cv_func_nanosleep" in *"mishandles large arguments"*) AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1], [Define to 1 if nanosleep mishandles large arguments.]) ;; *) # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP. for ac_lib in $LIBSOCKET; do case " $LIB_NANOSLEEP " in *" $ac_lib "*) ;; *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; esac done ;; esac ;; esac else HAVE_NANOSLEEP=0 fi LIBS=$nanosleep_save_libs ]) # Prerequisites of lib/nanosleep.c. AC_DEFUN([gl_PREREQ_NANOSLEEP], [ AC_CHECK_HEADERS_ONCE([sys/select.h]) gl_PREREQ_SIG_HANDLER_H ]) coreutils-8.21/m4/signal_h.m40000664000000000000000000000604212071024546012717 00000000000000# signal_h.m4 serial 18 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SIGNAL_H], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) gl_NEXT_HEADERS([signal.h]) # AIX declares sig_atomic_t to already include volatile, and C89 compilers # then choke on 'volatile sig_atomic_t'. C99 requires that it compile. AC_CHECK_TYPE([volatile sig_atomic_t], [], [HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[ #include ]]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) AC_REQUIRE([AC_TYPE_UID_T]) dnl Persuade glibc to define sighandler_t. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_TYPE([sighandler_t], [], [HAVE_SIGHANDLER_T=0], [[ #include ]]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask]) ]) AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], [ AC_CHECK_TYPES([sigset_t], [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no], [[ #include /* Mingw defines sigset_t not in , but in . */ #include ]]) if test $gl_cv_type_sigset_t != yes; then HAVE_SIGSET_T=0 fi ]) AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SIGNAL_H_DEFAULTS], [ GNULIB_PTHREAD_SIGMASK=0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) GNULIB_RAISE=0; AC_SUBST([GNULIB_RAISE]) GNULIB_SIGNAL_H_SIGPIPE=0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) GNULIB_SIGPROCMASK=0; AC_SUBST([GNULIB_SIGPROCMASK]) GNULIB_SIGACTION=0; AC_SUBST([GNULIB_SIGACTION]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) HAVE_PTHREAD_SIGMASK=1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) HAVE_RAISE=1; AC_SUBST([HAVE_RAISE]) HAVE_SIGSET_T=1; AC_SUBST([HAVE_SIGSET_T]) HAVE_SIGINFO_T=1; AC_SUBST([HAVE_SIGINFO_T]) HAVE_SIGACTION=1; AC_SUBST([HAVE_SIGACTION]) HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; AC_SUBST([HAVE_STRUCT_SIGACTION_SA_SIGACTION]) HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T]) HAVE_SIGHANDLER_T=1; AC_SUBST([HAVE_SIGHANDLER_T]) REPLACE_PTHREAD_SIGMASK=0; AC_SUBST([REPLACE_PTHREAD_SIGMASK]) REPLACE_RAISE=0; AC_SUBST([REPLACE_RAISE]) ]) coreutils-8.21/m4/freadptr.m40000664000000000000000000000053312071024546012741 00000000000000# freadptr.m4 serial 1 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREADPTR], [ AC_CHECK_FUNCS_ONCE([__freadptr]) ]) coreutils-8.21/m4/inttypes.m40000664000000000000000000001223112071024546013007 00000000000000# inttypes.m4 serial 26 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_INTTYPES_H], [ AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) gl_INTTYPES_PRI_SCN ]) AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE], [ AC_REQUIRE([gl_STDINT_H]) AC_CHECK_HEADERS_ONCE([inttypes.h]) dnl Override always, so that the portability warnings work. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([inttypes.h]) AC_REQUIRE([gl_MULTIARCH]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [imaxabs imaxdiv strtoimax strtoumax]) ]) # Ensure that the PRI* and SCN* macros are defined appropriately. AC_DEFUN([gl_INTTYPES_PRI_SCN], [ AC_REQUIRE([gt_INTTYPES_PRI]) PRIPTR_PREFIX= if test -n "$STDINT_H"; then dnl Using the gnulib . It always defines intptr_t to 'long'. PRIPTR_PREFIX='"l"' else dnl Using the system's . for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include extern intptr_t foo; extern $gltype1 foo;]])], [PRIPTR_PREFIX='"'$glpfx'"']) test -n "$PRIPTR_PREFIX" && break done fi AC_SUBST([PRIPTR_PREFIX]) gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT32_MAX_LT_INTMAX_MAX], [defined INT32_MAX && defined INTMAX_MAX], [INT32_MAX < INTMAX_MAX], [sizeof (int) < sizeof (long long int)]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT64_MAX_EQ_LONG_MAX], [defined INT64_MAX], [INT64_MAX == LONG_MAX], [sizeof (long long int) == sizeof (long int)]) else INT64_MAX_EQ_LONG_MAX=-1 fi gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT32_MAX_LT_UINTMAX_MAX], [defined UINT32_MAX && defined UINTMAX_MAX], [UINT32_MAX < UINTMAX_MAX], [sizeof (unsigned int) < sizeof (unsigned long long int)]) if test $APPLE_UNIVERSAL_BUILD = 0; then gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT64_MAX_EQ_ULONG_MAX], [defined UINT64_MAX], [UINT64_MAX == ULONG_MAX], [sizeof (unsigned long long int) == sizeof (unsigned long int)]) else UINT64_MAX_EQ_ULONG_MAX=-1 fi ]) # Define the symbol $1 to be 1 if the condition is true, 0 otherwise. # If $2 is true, the condition is $3; otherwise if long long int is supported # approximate the condition with $4; otherwise, assume the condition is false. # The condition should work on all C99 platforms; the approximations should be # good enough to work on all practical pre-C99 platforms. # $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants. AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], [ AC_CACHE_CHECK([whether $3], [gl_cv_test_$1], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[/* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if $2 #define CONDITION ($3) #elif HAVE_LONG_LONG_INT #define CONDITION ($4) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1];]])], [gl_cv_test_$1=yes], [gl_cv_test_$1=no])]) if test $gl_cv_test_$1 = yes; then $1=1; else $1=0; fi AC_SUBST([$1]) ]) AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_INTTYPES_H_DEFAULTS], [ GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN]) PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX]) UINT32_MAX_LT_UINTMAX_MAX=1; AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX]) UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX]) ]) coreutils-8.21/m4/gettime.m40000664000000000000000000000072012071024546012566 00000000000000# gettime.m4 serial 8 dnl Copyright (C) 2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETTIME], [ dnl Prerequisites of lib/gettime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) AC_CHECK_FUNCS_ONCE([gettimeofday nanotime]) ]) coreutils-8.21/m4/largefile.m40000664000000000000000000001233212100637437013066 00000000000000# Enable large files on systems where this is not the default. # Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # The following implementation works around a problem in autoconf <= 2.69; # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, # or configures them incorrectly in some cases. m4_version_prereq([2.70], [] ,[ # _AC_SYS_LARGEFILE_TEST_INCLUDES # ------------------------------- m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], [@%:@include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ @%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]];[]dnl ]) # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, # CACHE-VAR, # DESCRIPTION, # PROLOGUE, [FUNCTION-BODY]) # -------------------------------------------------------- m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], [AC_CACHE_CHECK([for $1 value needed for large files], [$3], [while :; do m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( [AC_LANG_PROGRAM([$5], [$6])], [$3=no; break]) m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( [AC_LANG_PROGRAM([@%:@define $1 $2 $5], [$6])], [$3=$2; break]) $3=unknown break done]) case $$3 in #( no | unknown) ;; *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; esac rm -rf conftest*[]dnl ])# _AC_SYS_LARGEFILE_MACRO_VALUE # AC_SYS_LARGEFILE # ---------------- # By default, many hosts won't let programs access large files; # one must use special compiler options to get large-file access to work. # For more details about this brain damage please see: # http://www.unix-systems.org/version2/whatsnew/lfs20mar.html AC_DEFUN([AC_SYS_LARGEFILE], [AC_ARG_ENABLE(largefile, [ --disable-largefile omit support for large files]) if test "$enable_largefile" != no; then AC_CACHE_CHECK([for special C compiler options needed for large files], ac_cv_sys_largefile_CC, [ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) AC_COMPILE_IFELSE([], [break]) CC="$CC -n32" AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) break done CC=$ac_save_CC rm -f conftest.$ac_ext fi]) if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, ac_cv_sys_file_offset_bits, [Number of bits in a file offset, on hosts where this is settable.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) if test $ac_cv_sys_file_offset_bits = unknown; then _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, ac_cv_sys_large_files, [Define for large files, on AIX-style hosts.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) fi AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], [Enable large inode numbers on Mac OS X 10.5.]) fi ])# AC_SYS_LARGEFILE ])# m4_version_prereq 2.70 # Enable large files on systems where this is implemented by Gnulib, not by the # system headers. # Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib # overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively. AC_DEFUN([gl_LARGEFILE], [ AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw*) dnl Native Windows. dnl mingw64 defines off_t to a 64-bit type already, if dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; ]], [[]])], [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no]) ]) if test $gl_cv_type_off_t_64 = no; then WINDOWS_64_BIT_OFF_T=1 else WINDOWS_64_BIT_OFF_T=0 fi dnl But all native Windows platforms (including mingw64) have a 32-bit dnl st_size member in 'struct stat'. WINDOWS_64_BIT_ST_SIZE=1 ;; *) dnl Nothing to do on gnulib's side. dnl A 64-bit off_t is dnl - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX, dnl OSF/1, Cygwin, dnl - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on dnl glibc, HP-UX, Solaris, dnl - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX, dnl - impossible to achieve on Minix 3.1.8. WINDOWS_64_BIT_OFF_T=0 WINDOWS_64_BIT_ST_SIZE=0 ;; esac ]) coreutils-8.21/m4/memcoll.m40000664000000000000000000000051312071024546012560 00000000000000# memcoll.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MEMCOLL], [:]) coreutils-8.21/m4/fflush.m40000664000000000000000000000503512071024546012423 00000000000000# fflush.m4 serial 14 # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Eric Blake dnl Find out how to obey POSIX semantics of fflush(stdin) discarding dnl unread input on seekable streams, rather than C99 undefined semantics. AC_DEFUN([gl_FUNC_FFLUSH], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_FUNC_FFLUSH_STDIN if test $gl_cv_func_fflush_stdin = no; then REPLACE_FFLUSH=1 fi ]) dnl Determine whether fflush works on input streams. dnl Sets gl_cv_func_fflush_stdin. AC_DEFUN([gl_FUNC_FFLUSH_STDIN], [ AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether fflush works on input streams], [gl_cv_func_fflush_stdin], [echo hello world > conftest.txt AC_RUN_IFELSE([AC_LANG_PROGRAM( [[ #include #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include #endif ]], [[FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. This fails on BSD systems and on mingw. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* Verify behaviour of fflush after ungetc. See */ /* Verify behaviour of fflush after a backup ungetc. This fails on mingw. */ c = fgetc (f); ungetc (c, f); fflush (f); if (fgetc (f) != c) return 6; /* Verify behaviour of fflush after a non-backup ungetc. This fails on glibc 2.8 and on BSD systems. */ c = fgetc (f); ungetc ('@', f); fflush (f); if (fgetc (f) != c) return 7; return 0; ]])], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no], [dnl Pessimistically assume fflush is broken. gl_cv_func_fflush_stdin=no]) rm conftest.txt ]) ]) # Prerequisites of lib/fflush.c. AC_DEFUN([gl_PREREQ_FFLUSH], [:]) coreutils-8.21/m4/mbsinit.m40000664000000000000000000000276312071024546012606 00000000000000# mbsinit.m4 serial 8 dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSINIT], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbsinit]) if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 AC_CHECK_DECLS([mbsinit],,, [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_mbsinit = yes; then dnl On Minix 3.1.8, the system's declares mbsinit() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_MBSINIT=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 else dnl On mingw, mbsinit() always returns 1, which is inappropriate for dnl states produced by mbrtowc() for an incomplete multibyte character dnl in multibyte locales. case "$host_os" in mingw*) REPLACE_MBSINIT=1 ;; esac fi fi ]) # Prerequisites of lib/mbsinit.c. AC_DEFUN([gl_PREREQ_MBSINIT], [ : ]) coreutils-8.21/m4/getopt.m40000664000000000000000000003013412071024546012434 00000000000000# getopt.m4 serial 44 dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Request a POSIX compliant getopt function. AC_DEFUN([gl_FUNC_GETOPT_POSIX], [ m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) dnl Other modules can request the gnulib implementation of the getopt dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS. dnl argp.m4 does this. m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [ REPLACE_GETOPT=1 ], [ REPLACE_GETOPT=0 if test -n "$gl_replace_getopt"; then REPLACE_GETOPT=1 fi ]) if test $REPLACE_GETOPT = 1; then dnl Arrange for getopt.h to be created. gl_GETOPT_SUBSTITUTE_HEADER fi ]) # Request a POSIX compliant getopt function with GNU extensions (such as # options with optional arguments) and the functions getopt_long, # getopt_long_only. AC_DEFUN([gl_FUNC_GETOPT_GNU], [ m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU]) AC_REQUIRE([gl_FUNC_GETOPT_POSIX]) ]) # Determine whether to replace the entire getopt facility. AC_DEFUN([gl_GETOPT_CHECK_HEADERS], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([AC_PROG_AWK]) dnl for awk that supports ENVIRON dnl Persuade Solaris to declare optarg, optind, opterr, optopt. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) gl_CHECK_NEXT_HEADERS([getopt.h]) if test $ac_cv_header_getopt_h = yes; then HAVE_GETOPT_H=1 else HAVE_GETOPT_H=0 fi AC_SUBST([HAVE_GETOPT_H]) gl_replace_getopt= dnl Test whether is available. if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes]) fi dnl Test whether the function getopt_long is available. if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes]) fi dnl POSIX 2008 does not specify leading '+' behavior, but see dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on dnl the next version of POSIX. For now, we only guarantee leading '+' dnl behavior with getopt-gnu. if test -z "$gl_replace_getopt"; then AC_CACHE_CHECK([whether getopt is POSIX compatible], [gl_cv_func_getopt_posix], [ dnl Merging these three different test programs into a single one dnl would require a reset mechanism. On BSD systems, it can be done dnl through 'optreset'; on some others (glibc), it can be done by dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1, dnl Solaris 9, musl libc), there is no such mechanism. if test $cross_compiling = no; then dnl Sanity check. Succeeds everywhere (except on MSVC, dnl which lacks and getopt() entirely). AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include int main () { static char program[] = "program"; static char a[] = "-a"; static char foo[] = "foo"; static char bar[] = "bar"; char *argv[] = { program, a, foo, bar, NULL }; int c; c = getopt (4, argv, "ab"); if (!(c == 'a')) return 1; c = getopt (4, argv, "ab"); if (!(c == -1)) return 2; if (!(optind == 2)) return 3; return 0; } ]])], [gl_cv_func_getopt_posix=maybe], [gl_cv_func_getopt_posix=no]) if test $gl_cv_func_getopt_posix = maybe; then dnl Sanity check with '+'. Succeeds everywhere (except on MSVC, dnl which lacks and getopt() entirely). AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include int main () { static char program[] = "program"; static char donald[] = "donald"; static char p[] = "-p"; static char billy[] = "billy"; static char duck[] = "duck"; static char a[] = "-a"; static char bar[] = "bar"; char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; int c; c = getopt (7, argv, "+abp:q:"); if (!(c == -1)) return 4; if (!(strcmp (argv[0], "program") == 0)) return 5; if (!(strcmp (argv[1], "donald") == 0)) return 6; if (!(strcmp (argv[2], "-p") == 0)) return 7; if (!(strcmp (argv[3], "billy") == 0)) return 8; if (!(strcmp (argv[4], "duck") == 0)) return 9; if (!(strcmp (argv[5], "-a") == 0)) return 10; if (!(strcmp (argv[6], "bar") == 0)) return 11; if (!(optind == 1)) return 12; return 0; } ]])], [gl_cv_func_getopt_posix=maybe], [gl_cv_func_getopt_posix=no]) fi if test $gl_cv_func_getopt_posix = maybe; then dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug. AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include int main () { static char program[] = "program"; static char ab[] = "-ab"; char *argv[3] = { program, ab, NULL }; if (getopt (2, argv, "ab:") != 'a') return 13; if (getopt (2, argv, "ab:") != '?') return 14; if (optopt != 'b') return 15; if (optind != 2) return 16; return 0; } ]])], [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no]) fi else case "$host_os" in darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; *) gl_cv_func_getopt_posix="guessing yes";; esac fi ]) case "$gl_cv_func_getopt_posix" in *no) gl_replace_getopt=yes ;; esac fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu], [# Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the # optstring is necessary for programs like m4 that have POSIX-mandated # semantics for supporting options interspersed with files. # Also, since getopt_long is a GNU extension, we require optind=0. # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; # so take care to revert to the correct (non-)export state. dnl GNU Coding Standards currently allow awk but not env; besides, env dnl is ambiguous with environment values that contain newlines. gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" #include #include ]GL_NOCRASH[ ]], [[ int result = 0; nocrash_init(); /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ { static char conftest[] = "conftest"; static char plus[] = "-+"; char *argv[3] = { conftest, plus, NULL }; opterr = 0; if (getopt (2, argv, "+a") != '?') result |= 1; } /* This code succeeds on glibc 2.8, mingw, and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ { static char program[] = "program"; static char p[] = "-p"; static char foo[] = "foo"; static char bar[] = "bar"; char *argv[] = { program, p, foo, bar, NULL }; optind = 1; if (getopt (4, argv, "p::") != 'p') result |= 2; else if (optarg != NULL) result |= 4; else if (getopt (4, argv, "p::") != -1) result |= 6; else if (optind != 2) result |= 8; } /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ { static char program[] = "program"; static char foo[] = "foo"; static char p[] = "-p"; char *argv[] = { program, foo, p, NULL }; optind = 0; if (getopt (3, argv, "-p") != 1) result |= 16; else if (getopt (3, argv, "-p") != 'p') result |= 16; } /* This code fails on glibc 2.11. */ { static char program[] = "program"; static char b[] = "-b"; static char a[] = "-a"; char *argv[] = { program, b, a, NULL }; optind = opterr = 0; if (getopt (3, argv, "+:a:b") != 'b') result |= 32; else if (getopt (3, argv, "+:a:b") != ':') result |= 32; } /* This code dumps core on glibc 2.14. */ { static char program[] = "program"; static char w[] = "-W"; static char dummy[] = "dummy"; char *argv[] = { program, w, dummy, NULL }; optind = opterr = 1; if (getopt (3, argv, "W;") != 'W') result |= 64; } return result; ]])], [gl_cv_func_getopt_gnu=yes], [gl_cv_func_getopt_gnu=no], [dnl Cross compiling. Assume the worst, even on glibc platforms. gl_cv_func_getopt_gnu="guessing no" ]) case $gl_had_POSIXLY_CORRECT in exported) ;; yes) AS_UNSET([POSIXLY_CORRECT]); POSIXLY_CORRECT=1 ;; *) AS_UNSET([POSIXLY_CORRECT]) ;; esac ]) if test "$gl_cv_func_getopt_gnu" != yes; then gl_replace_getopt=yes else AC_CACHE_CHECK([for working GNU getopt_long function], [gl_cv_func_getopt_long_gnu], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include ]], [[static const struct option long_options[] = { { "xtremely-",no_argument, NULL, 1003 }, { "xtra", no_argument, NULL, 1001 }, { "xtreme", no_argument, NULL, 1002 }, { "xtremely", no_argument, NULL, 1003 }, { NULL, 0, NULL, 0 } }; /* This code fails on OpenBSD 5.0. */ { static char program[] = "program"; static char xtremel[] = "--xtremel"; char *argv[] = { program, xtremel, NULL }; int option_index; optind = 1; opterr = 0; if (getopt_long (2, argv, "", long_options, &option_index) != 1003) return 1; } return 0; ]])], [gl_cv_func_getopt_long_gnu=yes], [gl_cv_func_getopt_long_gnu=no], [dnl Cross compiling. Guess no on OpenBSD, yes otherwise. case "$host_os" in openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; *) gl_cv_func_getopt_long_gnu="guessing yes";; esac ]) ]) case "$gl_cv_func_getopt_long_gnu" in *yes) ;; *) gl_replace_getopt=yes ;; esac fi fi ]) AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [ GETOPT_H=getopt.h AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], [Define to rpl_ if the getopt replacement functions and variables should be used.]) AC_SUBST([GETOPT_H]) ]) # Prerequisites of lib/getopt*. AC_DEFUN([gl_PREREQ_GETOPT], [ AC_CHECK_DECLS_ONCE([getenv]) ]) coreutils-8.21/m4/i-ring.m40000664000000000000000000000045612071024546012323 00000000000000# serial 2 dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_I_RING], [ : ]) coreutils-8.21/m4/remove.m40000664000000000000000000000272512071024546012434 00000000000000# remove.m4 serial 5 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_REMOVE], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_RMDIR]) AC_REQUIRE([gl_FUNC_UNLINK]) if { case "$gl_cv_func_rmdir_works:$gl_cv_func_unlink_honors_slashes" in *yes:*yes) false;; *) true;; esac }; then dnl If either underlying syscall is broken, then remove likely has dnl the same bug; blindly use our replacement. REPLACE_REMOVE=1 else dnl C89 requires remove(), but only POSIX requires it to handle dnl directories. On mingw, directories fails with EPERM. AC_CACHE_CHECK([whether remove handles directories], [gl_cv_func_remove_dir_works], [mkdir conftest.dir AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return remove ("conftest.dir");]])], [gl_cv_func_remove_dir_works=yes], [gl_cv_func_remove_dir_works=no], [case $host_os in mingw*) gl_cv_func_remove_dir_works="guessing no";; *) gl_cv_func_remove_dir_works="guessing yes";; esac]) rm -rf conftest.dir]) case $gl_cv_func_remove_dir_works in *no*) REPLACE_REMOVE=1;; esac fi ]) coreutils-8.21/m4/isblank.m40000664000000000000000000000103212071024546012550 00000000000000# isblank.m4 serial 3 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ISBLANK], [ dnl Persuade glibc to declare isblank(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([isblank]) if test $ac_cv_func_isblank = no; then HAVE_ISBLANK=0 fi ]) coreutils-8.21/m4/mkancesdirs.m40000664000000000000000000000051612071024546013436 00000000000000# Make a file's ancestor directories. dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MKANCESDIRS], [ : ]) coreutils-8.21/m4/stat.m40000664000000000000000000000521412071024546012106 00000000000000# serial 11 # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STAT], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([lstat]) dnl mingw is the only known platform where stat(".") and stat("./") differ AC_CACHE_CHECK([whether stat handles trailing slashes on directories], [gl_cv_func_stat_dir_slash], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])], [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no], [case $host_os in mingw*) gl_cv_func_stat_dir_slash="guessing no";; *) gl_cv_func_stat_dir_slash="guessing yes";; esac])]) dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/"). dnl (For mingw, this is due to a broken stat() override in libmingwex.a.) dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/"). AC_CACHE_CHECK([whether stat handles trailing slashes on files], [gl_cv_func_stat_file_slash], [touch conftest.tmp # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int result = 0; struct stat st; if (!stat ("conftest.tmp/", &st)) result |= 1; #if HAVE_LSTAT if (!stat ("conftest.lnk/", &st)) result |= 2; #endif return result; ]])], [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_stat_file_slash="guessing no" ;; esac ]) rm -f conftest.tmp conftest.lnk]) case $gl_cv_func_stat_dir_slash in *no) REPLACE_STAT=1 AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs help when passed a directory name with a trailing slash]);; esac case $gl_cv_func_stat_file_slash in *no) REPLACE_STAT=1 AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs help when passed a file name with a trailing slash]);; esac ]) # Prerequisites of lib/stat.c. AC_DEFUN([gl_PREREQ_STAT], [:]) coreutils-8.21/m4/fstatat.m40000664000000000000000000000367112071024546012606 00000000000000# fstatat.m4 serial 3 dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. # If we have the fstatat function, and it has the bug (in AIX 7.1) # that it does not fill in st_size correctly, use the replacement function. AC_DEFUN([gl_FUNC_FSTATAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([fstatat]) if test $ac_cv_func_fstatat = no; then HAVE_FSTATAT=0 else dnl Test for an AIX 7.1 bug; see dnl . AC_CACHE_CHECK([whether fstatat (..., 0) works], [gl_cv_func_fstatat_zero_flag], [AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include int main (void) { struct stat a; return fstatat (AT_FDCWD, ".", &a, 0) != 0; } ]])], [gl_cv_func_fstatat_zero_flag=yes], [gl_cv_func_fstatat_zero_flag=no], [case "$host_os" in aix*) gl_cv_func_fstatat_zero_flag="guessing no";; *) gl_cv_func_fstatat_zero_flag="guessing yes";; esac ]) ]) case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in *yes+*yes) ;; *) REPLACE_FSTATAT=1 case $gl_cv_func_fstatat_zero_flag in *yes) AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1], [Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX 7.1.]) ;; esac ;; esac fi ]) coreutils-8.21/m4/selinux-context-h.m40000664000000000000000000000141212071024546014525 00000000000000# serial 3 -*- Autoconf -*- # Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering # Provide , if necessary. AC_DEFUN([gl_HEADERS_SELINUX_CONTEXT_H], [ AC_REQUIRE([gl_LIBSELINUX]) if test "$with_selinux" != no; then AC_CHECK_HEADERS([selinux/context.h], [SELINUX_CONTEXT_H=], [SELINUX_CONTEXT_H=selinux/context.h]) else SELINUX_CONTEXT_H=selinux/context.h fi AC_SUBST([SELINUX_CONTEXT_H]) AM_CONDITIONAL([GL_GENERATE_SELINUX_CONTEXT_H], [test -n "$SELINUX_CONTEXT_H"]) ]) coreutils-8.21/m4/fseek.m40000664000000000000000000000100512071024546012222 00000000000000# fseek.m4 serial 4 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEK], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_FSEEKO]) dnl When fseeko needs fixes, fseek needs them too. if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then REPLACE_FSEEK=1 fi ]) coreutils-8.21/m4/localeconv.m40000664000000000000000000000114712071024546013261 00000000000000# localeconv.m4 serial 1 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LOCALECONV], [ AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) AC_REQUIRE([gl_LOCALE_H]) if test $REPLACE_STRUCT_LCONV = 1; then REPLACE_LOCALECONV=1 fi ]) # Prerequisites of lib/localeconv.c. AC_DEFUN([gl_PREREQ_LOCALECONV], [ AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [], [[#include ]]) ]) coreutils-8.21/m4/mkfifo.m40000664000000000000000000000355512071024546012414 00000000000000# serial 4 # See if we need to provide mkfifo replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_MKFIFO], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([mkfifo]) if test $ac_cv_func_mkfifo = no; then HAVE_MKFIFO=0 else dnl Check for Solaris 9 and FreeBSD bug with trailing slash. AC_CHECK_FUNCS_ONCE([lstat]) AC_CACHE_CHECK([whether mkfifo rejects trailing slashes], [gl_cv_func_mkfifo_works], [# Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int result = 0; if (!mkfifo ("conftest.tmp/", 0600)) result |= 1; #if HAVE_LSTAT if (!mkfifo ("conftest.lnk/", 0600)) result |= 2; #endif return result; ]])], [gl_cv_func_mkfifo_works=yes], [gl_cv_func_mkfifo_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkfifo_works="guessing no" ;; esac ]) rm -f conftest.tmp conftest.lnk]) case "$gl_cv_func_mkfifo_works" in *yes) ;; *) AC_DEFINE([MKFIFO_TRAILING_SLASH_BUG], [1], [Define to 1 if mkfifo does not reject trailing slash]) REPLACE_MKFIFO=1 ;; esac fi ]) coreutils-8.21/m4/memcasecmp.m40000664000000000000000000000046612071024546013251 00000000000000#serial 6 dnl Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MEMCASECMP], [ : ]) coreutils-8.21/m4/close-stream.m40000664000000000000000000000054112071024546013527 00000000000000#serial 4 dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/close-stream.c. AC_DEFUN([gl_CLOSE_STREAM], [ : ]) coreutils-8.21/m4/locale-zh.m40000664000000000000000000001222612071024546013012 00000000000000# locale-zh.m4 serial 12 dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a chinese locale with GB18030 encoding. AC_DEFUN([gt_LOCALE_ZH_CN], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* ]) LOCALE_ZH_CN=$gt_cv_locale_zh_CN AC_SUBST([LOCALE_ZH_CN]) ]) coreutils-8.21/m4/version-etc.m40000664000000000000000000000222612071024546013371 00000000000000# version-etc.m4 serial 1 # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl $1 - configure flag and define name dnl $2 - human readable description m4_define([gl_VERSION_ETC_FLAG], [dnl AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [$2])], [dnl case $withval in yes|no) ;; *) AC_DEFINE_UNQUOTED(AS_TR_CPP([PACKAGE_$1]), ["$withval"], [$2]) ;; esac ]) ]) AC_DEFUN([gl_VERSION_ETC], [dnl gl_VERSION_ETC_FLAG([packager], [String identifying the packager of this software]) gl_VERSION_ETC_FLAG([packager-version], [Packager-specific version information]) gl_VERSION_ETC_FLAG([packager-bug-reports], [Packager info for bug reports (URL/e-mail/...)]) if test "X$with_packager" = "X" && \ test "X$with_packager_version$with_packager_bug_reports" != "X" then AC_MSG_ERROR([The --with-packager-{bug-reports,version} options require --with-packager]) fi ]) coreutils-8.21/m4/wcwidth.m40000664000000000000000000000565212071024546012612 00000000000000# wcwidth.m4 serial 23 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCWIDTH], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade glibc to declare wcwidth(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([wcwidth]) AC_CHECK_DECLS([wcwidth], [], [], [[ /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = yes; then HAVE_WCWIDTH=1 dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. dnl On OpenBSD 5.0, wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1. dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1. dnl This leads to bugs in 'ls' (coreutils). AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales], [gl_cv_func_wcwidth_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #if !HAVE_DECL_WCWIDTH extern # ifdef __cplusplus "C" # endif int wcwidth (int); #endif int main () { int result = 0; if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) { if (wcwidth (0x0301) > 0) result |= 1; if (wcwidth (0x05B0) > 0) result |= 2; if (wcwidth (0x200B) > 0) result |= 4; } return result; }]])], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc and AIX 7 systems. *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; *) gl_cv_func_wcwidth_works="guessing no";; esac changequote([,])dnl ]) ]) case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac else HAVE_WCWIDTH=0 fi dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not dnl have the wcwidth function, then it does not declare it. ]) coreutils-8.21/m4/printf-frexp.m40000664000000000000000000000226612071024546013563 00000000000000# printf-frexp.m4 serial 5 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to define printf_frexp() without linking with libm. AC_DEFUN([gl_FUNC_PRINTF_FREXP], [ AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in *yes) AC_DEFINE([HAVE_FREXP_IN_LIBC], [1], [Define if the frexp function is available in libc.]) ;; esac fi AC_CACHE_CHECK([whether ldexp can be used without linking with libm], [gl_cv_func_ldexp_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include double x; int y;]], [[return ldexp (x, y) < 1;]])], [gl_cv_func_ldexp_no_libm=yes], [gl_cv_func_ldexp_no_libm=no]) ]) if test $gl_cv_func_ldexp_no_libm = yes; then AC_DEFINE([HAVE_LDEXP_IN_LIBC], [1], [Define if the ldexp function is available in libc.]) fi ]) coreutils-8.21/m4/mode_t.m40000664000000000000000000000234212071024546012401 00000000000000# mode_t.m4 serial 2 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # For using mode_t, it's sufficient to use AC_TYPE_MODE_T and # include . # Define PROMOTED_MODE_T to the type that is the result of "default argument # promotion" (ISO C 6.5.2.2.(6)) of the type mode_t. AC_DEFUN([gl_PROMOTED_TYPE_MODE_T], [ AC_REQUIRE([AC_TYPE_MODE_T]) AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [ dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int', dnl and to itself otherwise. This assumption is not guaranteed by the ISO C dnl standard, but we don't know of any real-world counterexamples. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])], [gl_cv_promoted_mode_t='int'], [gl_cv_promoted_mode_t='mode_t']) ]) AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t], [Define to the type that is the result of default argument promotions of type mode_t.]) ]) coreutils-8.21/m4/futimens.m40000664000000000000000000000365312071024546012772 00000000000000# serial 6 # See if we need to provide futimens replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_FUTIMENS], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([futimens]) if test $ac_cv_func_futimens = no; then HAVE_FUTIMENS=0 else AC_CACHE_CHECK([whether futimens works], [gl_cv_func_futimens_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include #include ]], [[struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; int fd = creat ("conftest.file", 0600); struct stat st; if (fd < 0) return 1; errno = 0; if (futimens (AT_FDCWD, NULL) == 0) return 2; if (errno != EBADF) return 3; if (futimens (fd, ts)) return 4; sleep (1); ts[0].tv_nsec = UTIME_NOW; ts[1].tv_nsec = UTIME_OMIT; if (futimens (fd, ts)) return 5; if (fstat (fd, &st)) return 6; if (st.st_ctime < st.st_atime) return 7; ]])], dnl FIXME: simplify this in 2012, when file system bugs are no longer common [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef __linux__ /* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT in several file systems as recently as 2.6.32. Always replace futimens to support older kernels. */ choke me #endif ]])], [gl_cv_func_futimens_works=yes], [gl_cv_func_futimens_works="needs runtime check"])], [gl_cv_func_futimens_works=no], [gl_cv_func_futimens_works="guessing no"]) rm -f conftest.file]) if test "$gl_cv_func_futimens_works" != yes; then REPLACE_FUTIMENS=1 fi fi ]) coreutils-8.21/m4/lib-ignore.m40000664000000000000000000001122012071024546013154 00000000000000# If possible, ignore libraries that are not depended on. dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. # gl_IGNORE_UNUSED_LIBRARIES # -------------------------- # Determines the option to be passed to the C/C++/Fortran compiler, so that it # omits unused libraries. # Example (on Solaris): # $ cc foo.c -lnsl; ldd ./a.out # libnsl.so.1 => /lib/libnsl.so.1 # libc.so.1 => /lib/libc.so.1 # libmp.so.2 => /lib/libmp.so.2 # libmd.so.1 => /lib/libmd.so.1 # libscf.so.1 => /lib/libscf.so.1 # libdoor.so.1 => /lib/libdoor.so.1 # libuutil.so.1 => /lib/libuutil.so.1 # libgen.so.1 => /lib/libgen.so.1 # libm.so.2 => /lib/libm.so.2 # $ cc foo.c -lnsl -Wl,-z,ignore; ldd ./a.out # libc.so.1 => /lib/libc.so.1 # libm.so.2 => /lib/libm.so.2 # # Note that the option works only for the C compiler, not for the C++ # compiler: # - Sun C likes '-Wl,-z,ignore'. # '-Qoption ld -z,ignore' is not accepted. # '-z ignore' is accepted but has no effect. # - Sun C++ and Sun Fortran like '-Qoption ld -z,ignore'. # '-Wl,-z,ignore' is not accepted. # '-z ignore' is accepted but has no effect. # # Sets and substitutes a variable that depends on the current language: # - IGNORE_UNUSED_LIBRARIES_CFLAGS for C # - IGNORE_UNUSED_LIBRARIES_CXXFLAGS for C++ # - IGNORE_UNUSED_LIBRARIES_FFLAGS for Fortran # # Note that the option works only for direct invocation of the compiler, not # through libtool: When libtool is used to create a shared library, it will # honor and translate '-Wl,-z,ignore' to '-Qoption ld -z -Qoption ld ignore' # if needed, but it will drop a '-Qoption ld -z,ignore' on the command line. # AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES], [ AC_CACHE_CHECK([for []_AC_LANG[] compiler flag to ignore unused libraries], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # . LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS do LDFLAGS="$gl_flags $LDFLAGS" AC_LINK_IFELSE([AC_LANG_PROGRAM()], [gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries=$gl_flags]) LDFLAGS=$gl_saved_ldflags test "$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs ]) IGNORE_UNUSED_LIBRARIES_[]_AC_LANG_PREFIX[]FLAGS= if test "$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" != none; then IGNORE_UNUSED_LIBRARIES_[]_AC_LANG_PREFIX[]FLAGS="$gl_cv_prog_[]_AC_LANG_ABBREV[]_ignore_unused_libraries" fi AC_SUBST([IGNORE_UNUSED_LIBRARIES_]_AC_LANG_PREFIX[FLAGS]) ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS # ----------------------------------- # Expands to the language dependent options to be tried. AC_DEFUN([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS], [_AC_LANG_DISPATCH([$0], _AC_LANG, $@)]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C) # -------------------------------------- m4_define([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C)], [ '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++) # ---------------------------------------- m4_define([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++)], [ '-Wl,--as-needed' \ '-Qoption ld -z,ignore' \ '-Wl,-z,ignore' \ '-z ignore' ]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77) # ----------------------------------------------- m4_copy([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(C++)], [_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77)]) # _gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran) # -------------------------------------------- m4_copy([_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran 77)], [_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS(Fortran)]) coreutils-8.21/m4/non-recursive-gnulib-prefix-hack.m40000664000000000000000000000275212071024546017413 00000000000000dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl gl_NON_RECURSIVE_GNULIB_PREFIX_HACK LIB_DIR dnl Adjust configure-set $gl_LIBOBJS and each AC_SUBST'd *_H variable dnl with a value ending in ".h" to reflect that these files are located dnl in the directory specified by LIB_DIR. AC_DEFUN([gl_NON_RECURSIVE_GNULIB_PREFIX_HACK], [ # Tell AC_LIBSOURCES where to find source files like alloca.c. AC_CONFIG_LIBOBJ_DIR([lib]) # This hack originated in bison. It is required when using non-recursive # automake rules to build from gnulib-provided lib/ sources. Hence, LIB_DIR # is usually simply "lib". Those rules use the list of names like "fchdir.o" # and "strstr.o" in gl_LIBOBJS. With non-recursive make, we must prefix each # such file name with the "lib/" prefix. See also build-aux/prefix-gnulib-mk. gl_LIBOBJS=`echo "$gl_LIBOBJS" | sed -e 's, , $1/,g'` # Listing the names of the variables to prefix is error-prone. # Rather, adjust each AC_SUBST'd variable whose name ends in '_H' # and whose value ends in '.h'. for ac_var in $ac_subst_vars do eval "ac_val=\$$ac_var" case $ac_var:$ac_val in (*_H:*.h) eval "$ac_var=$1/\$$ac_var";; esac done # If $ALLOCA is not empty, prefix its value with "lib/". test -n "$ALLOCA" && ALLOCA="lib/$ALLOCA" ]) coreutils-8.21/m4/xattr.m40000664000000000000000000000311512102337340012265 00000000000000# xattr.m4 - check for Extended Attributes (Linux) # serial 3 # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Originally written by Andreas Gruenbacher. # http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff AC_DEFUN([gl_FUNC_XATTR], [ AC_ARG_ENABLE([xattr], AC_HELP_STRING([--disable-xattr], [do not support extended attributes]), [use_xattr=$enableval], [use_xattr=yes]) LIB_XATTR= AC_SUBST([LIB_XATTR]) if test "$use_xattr" = "yes"; then AC_CHECK_HEADERS([attr/error_context.h attr/libattr.h]) use_xattr=no if test $ac_cv_header_attr_libattr_h = yes \ && test $ac_cv_header_attr_error_context_h = yes; then xattr_saved_LIBS=$LIBS AC_SEARCH_LIBS([attr_copy_file], [attr], [test "$ac_cv_search_attr_copy_file" = "none required" || LIB_XATTR=$ac_cv_search_attr_copy_file]) AC_CHECK_FUNCS([attr_copy_file]) LIBS=$xattr_saved_LIBS if test $ac_cv_func_attr_copy_file = yes; then use_xattr=yes fi fi if test $use_xattr = no; then AC_MSG_WARN([libattr development library was not found or not usable.]) AC_MSG_WARN([AC_PACKAGE_NAME will be built without xattr support.]) fi fi AC_DEFINE_UNQUOTED([USE_XATTR], [`test $use_xattr != yes; echo $?`], [Define if you want extended attribute support.]) ]) coreutils-8.21/m4/perror.m40000664000000000000000000000440212071024546012442 00000000000000# perror.m4 serial 6 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_PERROR], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_HEADER_ERRNO_H]) AC_REQUIRE([gl_FUNC_STRERROR_R]) AC_REQUIRE([gl_FUNC_STRERROR_0]) dnl We intentionally do not check for the broader REPLACE_STRERROR_R, dnl since on glibc systems, strerror_r is replaced only for signature dnl issues, and perror is just fine. Rather, we only want to dnl replace perror if strerror_r was replaced for a content fix. if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then dnl The system's perror() cannot know about the new errno values we add dnl to , or any fix for strerror(0). Replace it. REPLACE_PERROR=1 fi case ${gl_cv_func_strerror_r_works-unset} in unset|*yes) AC_CACHE_CHECK([whether perror matches strerror], [gl_cv_func_perror_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include ]], [[char *str = strerror (-1); if (!getenv("CONFTEST_OUTPUT")) return 0; if (!str) str = ""; puts (str); errno = -1; perror (""); return 0; ]])], [if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \ && cmp conftest.txt1 conftest.txt2 >/dev/null; then gl_cv_func_perror_works=yes else gl_cv_func_perror_works=no fi rm -rf conftest.txt1 conftest.txt2], [gl_cv_func_perror_works=no], [dnl Guess no when cross-compiling. gl_cv_func_perror_works="guessing no" ]) ]) if test "$gl_cv_func_perror_works" != yes; then REPLACE_PERROR=1 fi ;; *) dnl The system's perror() probably inherits the bugs in the dnl system's strerror_r(). Replace it. REPLACE_PERROR=1 ;; esac ]) coreutils-8.21/m4/freadseek.m40000664000000000000000000000054012071024546013061 00000000000000# freadseek.m4 serial 2 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREADSEEK], [ AC_CHECK_FUNCS_ONCE([__freadptrinc]) ]) coreutils-8.21/m4/dirfd.m40000664000000000000000000000465512071024546012233 00000000000000# serial 22 -*- Autoconf -*- dnl Find out how to get the file descriptor associated with an open DIR*. # Copyright (C) 2001-2006, 2008-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering AC_DEFUN([gl_FUNC_DIRFD], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) dnl Persuade glibc to declare dirfd(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS([dirfd]) AC_CHECK_DECLS([dirfd], , , [[#include #include ]]) if test $ac_cv_have_decl_dirfd = no; then HAVE_DECL_DIRFD=0 fi AC_CACHE_CHECK([whether dirfd is a macro], gl_cv_func_dirfd_macro, [AC_EGREP_CPP([dirent_header_defines_dirfd], [ #include #include #ifdef dirfd dirent_header_defines_dirfd #endif], gl_cv_func_dirfd_macro=yes, gl_cv_func_dirfd_macro=no)]) # Use the replacement only if we have no function or macro with that name. if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then if test $ac_cv_have_decl_dirfd = yes; then # If the system declares dirfd already, let's declare rpl_dirfd instead. REPLACE_DIRFD=1 fi fi ]) dnl Prerequisites of lib/dirfd.c. AC_DEFUN([gl_PREREQ_DIRFD], [ AC_CACHE_CHECK([how to get the file descriptor associated with an open DIR*], [gl_cv_sys_dir_fd_member_name], [ dirfd_save_CFLAGS=$CFLAGS for ac_expr in d_fd dd_fd; do CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])], [dir_fd_found=yes] ) CFLAGS=$dirfd_save_CFLAGS test "$dir_fd_found" = yes && break done test "$dir_fd_found" = yes || ac_expr=no_such_member gl_cv_sys_dir_fd_member_name=$ac_expr ] ) if test $gl_cv_sys_dir_fd_member_name != no_such_member; then AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME], [$gl_cv_sys_dir_fd_member_name], [the name of the file descriptor member of DIR]) fi AH_VERBATIM([DIR_TO_FD], [#ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif ]) ]) coreutils-8.21/m4/getlogin.m40000664000000000000000000000070112071024546012737 00000000000000# getlogin.m4 serial 3 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETLOGIN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([getlogin]) if test $ac_cv_func_getlogin = no; then HAVE_GETLOGIN=0 fi ]) coreutils-8.21/m4/vprintf-posix.m40000664000000000000000000000133512071024546013763 00000000000000# vprintf-posix.m4 serial 3 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VPRINTF_POSIX], [ AC_REQUIRE([gl_FUNC_VFPRINTF_POSIX]) if test $gl_cv_func_vfprintf_posix = no; then gl_REPLACE_VPRINTF fi ]) AC_DEFUN([gl_REPLACE_VPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([vprintf]) REPLACE_VPRINTF=1 AC_DEFINE([REPLACE_VPRINTF_POSIX], [1], [Define if vprintf is overridden by a POSIX compliant gnulib implementation.]) gl_PREREQ_VPRINTF ]) AC_DEFUN([gl_PREREQ_VPRINTF], [:]) coreutils-8.21/m4/setlocale.m40000664000000000000000000000154312071024546013107 00000000000000# setlocale.m4 serial 4 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SETLOCALE], [ AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in dnl On native Windows systems, setlocale(category,NULL) does not look at dnl the environment variables LC_ALL, category, and LANG. mingw*) REPLACE_SETLOCALE=1 ;; dnl On Cygwin 1.5.x, setlocale always succeeds but setlocale(LC_CTYPE,NULL) dnl is then still "C". cygwin*) case `uname -r` in 1.5.*) REPLACE_SETLOCALE=1 ;; esac ;; esac ]) # Prerequisites of lib/setlocale.c. AC_DEFUN([gl_PREREQ_SETLOCALE], [ : ]) coreutils-8.21/m4/sys_select_h.m40000664000000000000000000000671612071024546013627 00000000000000# sys_select_h.m4 serial 20 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_SYS_SELECT], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_select_h_selfcontained], [ dnl Test against two bugs: dnl 1. On many platforms, assumes prior inclusion of dnl . dnl 2. On OSF/1 4.0, provides only a forward declaration dnl of 'struct timeval', and no definition of this type. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct timeval b;]])], [gl_cv_header_sys_select_h_selfcontained=yes], [gl_cv_header_sys_select_h_selfcontained=no]) dnl Test against another bug: dnl 3. On Solaris 10, provides an FD_ZERO implementation dnl that relies on memset(), but without including . if test $gl_cv_header_sys_select_h_selfcontained = yes; then AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[int memset; int bzero;]]) ], [AC_LINK_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[ #undef memset #define memset nonexistent_memset extern #ifdef __cplusplus "C" #endif void *memset (void *, int, unsigned long); #undef bzero #define bzero nonexistent_bzero extern #ifdef __cplusplus "C" #endif void bzero (void *, unsigned long); fd_set fds; FD_ZERO (&fds); ]]) ], [], [gl_cv_header_sys_select_h_selfcontained=no]) ]) fi ]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/select.h]) if test $ac_cv_header_sys_select_h = yes; then HAVE_SYS_SELECT_H=1 else HAVE_SYS_SELECT_H=0 fi AC_SUBST([HAVE_SYS_SELECT_H]) gl_PREREQ_SYS_H_WINSOCK2 dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Some systems require prerequisite headers. */ #include #if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H # include #endif #include ]], [pselect select]) ]) AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], [ GNULIB_PSELECT=0; AC_SUBST([GNULIB_PSELECT]) GNULIB_SELECT=0; AC_SUBST([GNULIB_SELECT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_PSELECT=1; AC_SUBST([HAVE_PSELECT]) REPLACE_PSELECT=0; AC_SUBST([REPLACE_PSELECT]) REPLACE_SELECT=0; AC_SUBST([REPLACE_SELECT]) ]) coreutils-8.21/m4/pipe2.m40000664000000000000000000000102312071024546012144 00000000000000# pipe2.m4 serial 2 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_PIPE2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare pipe2(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([pipe2]) if test $ac_cv_func_pipe2 != yes; then HAVE_PIPE2=0 fi ]) coreutils-8.21/m4/alloca.m40000664000000000000000000001037212071024546012367 00000000000000# alloca.m4 serial 14 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ALLOCA], [ AC_REQUIRE([AC_FUNC_ALLOCA]) if test $ac_cv_func_alloca_works = no; then gl_PREREQ_ALLOCA fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ AC_EGREP_CPP([Need own alloca], [ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) ]) if test $gl_cv_rpl_alloca = yes; then dnl OK, alloca can be implemented through a compiler built-in. AC_DEFINE([HAVE_ALLOCA], [1], [Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution.]) ALLOCA_H=alloca.h else dnl alloca exists as a library function, i.e. it is slow and probably dnl a memory leak. Don't define HAVE_ALLOCA in this case. ALLOCA_H= fi else ALLOCA_H=alloca.h fi AC_SUBST([ALLOCA_H]) AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) ]) # Prerequisites of lib/alloca.c. # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) # This works around a bug in autoconf <= 2.68. # See . m4_version_prereq([2.69], [] ,[ # This is taken from the following Autoconf patch: # http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497 # _AC_LIBOBJ_ALLOCA # ----------------- # Set up the LIBOBJ replacement of 'alloca'. Well, not exactly # AC_LIBOBJ since we actually set the output variable 'ALLOCA'. # Nevertheless, for Automake, AC_LIBSOURCES it. m4_define([_AC_LIBOBJ_ALLOCA], [# The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. AC_LIBSOURCES(alloca.c) AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.]) AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray, [AC_EGREP_CPP(webecray, [#if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif ], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do AC_CHECK_FUNC($ac_func, [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, [Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP systems. This function is required for 'alloca.c' support on those systems.]) break]) done fi AC_CACHE_CHECK([stack direction for C alloca], [ac_cv_c_stack_direction], [AC_RUN_IFELSE([AC_LANG_SOURCE( [AC_INCLUDES_DEFAULT int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; }])], [ac_cv_c_stack_direction=1], [ac_cv_c_stack_direction=-1], [ac_cv_c_stack_direction=0])]) AH_VERBATIM([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ @%:@undef STACK_DIRECTION])dnl AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) ])# _AC_LIBOBJ_ALLOCA ]) coreutils-8.21/m4/putenv.m40000664000000000000000000000303512071024546012453 00000000000000# putenv.m4 serial 19 dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl Check whether putenv ("FOO") removes FOO from the environment. dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that. AC_DEFUN([gl_FUNC_PUTENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([for putenv compatible with GNU and SVID], [gl_cv_func_svid_putenv], [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[ /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 2; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 3; return 0; ]])], gl_cv_func_svid_putenv=yes, gl_cv_func_svid_putenv=no, dnl When crosscompiling, assume putenv is broken. [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_svid_putenv="guessing no" ;; esac ]) ]) case "$gl_cv_func_svid_putenv" in *yes) ;; *) REPLACE_PUTENV=1 ;; esac ]) coreutils-8.21/m4/readlink.m40000664000000000000000000000467012071024546012731 00000000000000# readlink.m4 serial 12 dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([readlink]) if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 else AC_CACHE_CHECK([whether readlink signature is correct], [gl_cv_decl_readlink_works], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include /* Cause compilation failure if original declaration has wrong type. */ ssize_t readlink (const char *, char *, size_t);]])], [gl_cv_decl_readlink_works=yes], [gl_cv_decl_readlink_works=no])]) dnl Solaris 9 ignores trailing slash. dnl FreeBSD 7.2 dereferences only one level of links with trailing slash. AC_CACHE_CHECK([whether readlink handles trailing slash correctly], [gl_cv_func_readlink_works], [# We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])], [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_readlink_works="guessing no" ;; esac ]) rm -f conftest.link conftest.lnk2]) case "$gl_cv_func_readlink_works" in *yes) if test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 fi ;; *) AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink fails to recognize a trailing slash.]) REPLACE_READLINK=1 ;; esac fi ]) # Like gl_FUNC_READLINK, except prepare for separate compilation # (no REPLACE_READLINK, no AC_LIBOBJ). AC_DEFUN([gl_FUNC_READLINK_SEPARATE], [ AC_CHECK_FUNCS_ONCE([readlink]) gl_PREREQ_READLINK ]) # Prerequisites of lib/readlink.c. AC_DEFUN([gl_PREREQ_READLINK], [ : ]) coreutils-8.21/m4/utimbuf.m40000664000000000000000000000237712071024546012615 00000000000000# serial 9 # Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Define HAVE_STRUCT_UTIMBUF if 'struct utimbuf' is declared -- dnl usually in . dnl Some systems have utime.h but don't declare the struct anywhere. AC_DEFUN([gl_CHECK_TYPE_STRUCT_UTIMBUF], [ AC_CHECK_HEADERS_ONCE([sys/time.h utime.h]) AC_CACHE_CHECK([for struct utimbuf], [gl_cv_sys_struct_utimbuf], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include #ifdef HAVE_UTIME_H #include #endif ]], [[static struct utimbuf x; x.actime = x.modtime;]])], [gl_cv_sys_struct_utimbuf=yes], [gl_cv_sys_struct_utimbuf=no])]) if test $gl_cv_sys_struct_utimbuf = yes; then AC_DEFINE([HAVE_STRUCT_UTIMBUF], [1], [Define if struct utimbuf is declared -- usually in . Some systems have utime.h but don't declare the struct anywhere. ]) fi ]) coreutils-8.21/m4/strftime.m40000664000000000000000000000134512071024546012771 00000000000000# serial 33 # Copyright (C) 1996-1997, 1999-2007, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering and Paul Eggert. AC_DEFUN([gl_FUNC_GNU_STRFTIME], [ gl_FUNC_STRFTIME ]) # These are the prerequisite macros for GNU's strftime.c replacement. AC_DEFUN([gl_FUNC_STRFTIME], [ # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. AC_REQUIRE([AC_STRUCT_TIMEZONE]) AC_REQUIRE([gl_TM_GMTOFF]) AC_CHECK_FUNCS_ONCE([tzset]) AC_DEFINE([my_strftime], [nstrftime], [Define to the name of the strftime replacement function.]) ]) coreutils-8.21/m4/timer_time.m40000664000000000000000000000254012071024546013270 00000000000000# timer_time.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Check for timer_settime, and set LIB_TIMER_TIME. AC_DEFUN([gl_TIMER_TIME], [ dnl Based on clock_time.m4. See details there. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_THREADLIB]) LIB_TIMER_TIME= AC_SUBST([LIB_TIMER_TIME]) gl_saved_libs=$LIBS AC_SEARCH_LIBS([timer_settime], [rt posix4], [test "$ac_cv_search_timer_settime" = "none required" || LIB_TIMER_TIME=$ac_cv_search_timer_settime]) dnl GLIBC uses threads to emulate posix timers when kernel support dnl is not available (like Linux < 2.6 or when used with kFreeBSD) dnl Now the pthread lib is linked automatically in the normal case, dnl but when linking statically, it needs to be explicitly specified. AC_EGREP_CPP([Thread], [ #include #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ && !defined __UCLIBC__ Thread emulation available #endif #endif ], [LIB_TIMER_TIME="$LIB_TIMER_TIME $LIBMULTITHREAD"]) AC_CHECK_FUNCS([timer_settime]) LIBS=$gl_saved_libs ]) coreutils-8.21/m4/codeset.m40000664000000000000000000000150012071024546012553 00000000000000# codeset.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[char* cs = nl_langinfo(CODESET); return !cs;]])], [am_cv_langinfo_codeset=yes], [am_cv_langinfo_codeset=no]) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE([HAVE_LANGINFO_CODESET], [1], [Define if you have and nl_langinfo(CODESET).]) fi ]) coreutils-8.21/m4/strncat.m40000664000000000000000000000547012071024546012615 00000000000000# strncat.m4 serial 2 dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_FUNC_STRNCAT], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Check for prerequisites for memory fence checks. gl_FUNC_MMAP_ANON AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) dnl Detect bug in Solaris 8..10 on SPARC: dnl strncat should not dereference more than n bytes, but always dereferences dnl n+1 bytes if the first n bytes don't contain a NUL byte. dnl Assume that strncat works on platforms that lack mprotect. AC_CACHE_CHECK([whether strncat works], [gl_cv_func_strncat_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #if HAVE_SYS_MMAN_H # include # include # include # include # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif ]], [[ char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { char dest[8]; dest[0] = '*'; dest[1] = 'a'; dest[2] = '\0'; dest[3] = 'w'; dest[4] = 'x'; dest[5] = 'y'; dest[6] = 'z'; *(fence - 3) = '7'; *(fence - 2) = '2'; *(fence - 1) = '9'; if (strncat (dest + 1, fence - 3, 3) != dest + 1) return 1; if (dest[0] != '*') return 2; if (dest[1] != 'a' || dest[2] != '7' || dest[3] != '2' || dest[4] != '9' || dest[5] != '\0') return 3; if (dest[6] != 'z') return 4; } return 0; ]])], [gl_cv_func_strncat_works=yes], [gl_cv_func_strncat_works=no], [ case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_strncat_works="guessing no";; # Guess yes otherwise. *) gl_cv_func_strncat_works="guessing yes";; esac ]) ]) case "$gl_cv_func_strncat_works" in *yes) ;; *) REPLACE_STRNCAT=1 ;; esac ]) # Prerequisites of lib/strncat.c. AC_DEFUN([gl_PREREQ_STRNCAT], [ : ]) coreutils-8.21/m4/uname.m40000664000000000000000000000077112071024546012243 00000000000000# uname.m4 serial 11 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_UNAME], [ AC_REQUIRE([gl_SYS_UTSNAME_H_DEFAULTS]) AC_CHECK_FUNCS([uname]) if test $ac_cv_func_uname = no; then HAVE_UNAME=0 fi ]) # Prerequisites of lib/uname.c. AC_DEFUN([gl_PREREQ_UNAME], [ : ]) coreutils-8.21/m4/close.m40000664000000000000000000000214612071024546012241 00000000000000# close.m4 serial 8 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CLOSE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_CLOSE=1 fi m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [ gl_PREREQ_SYS_H_WINSOCK2 if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then dnl Even if the 'socket' module is not used here, another part of the dnl application may use it and pass file descriptors that refer to dnl sockets to the close() function. So enable the support for sockets. REPLACE_CLOSE=1 fi ]) dnl Replace close() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ if test $REPLACE_CLOSE = 0; then gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then REPLACE_CLOSE=1 fi fi ]) ]) coreutils-8.21/m4/canonicalize.m40000664000000000000000000000717112071024546013576 00000000000000# canonicalize.m4 serial 26 dnl Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Provides canonicalize_file_name and canonicalize_filename_mode, but does # not provide or fix realpath. AC_DEFUN([gl_FUNC_CANONICALIZE_FILENAME_MODE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 else case "$gl_cv_func_realpath_works" in *yes) ;; *) REPLACE_CANONICALIZE_FILE_NAME=1 ;; esac fi ]) # Provides canonicalize_file_name and realpath. AC_DEFUN([gl_CANONICALIZE_LGPL], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([gl_CANONICALIZE_LGPL_SEPARATE]) if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 if test $ac_cv_func_realpath = no; then HAVE_REALPATH=0 else case "$gl_cv_func_realpath_works" in *yes) ;; *) REPLACE_REALPATH=1 ;; esac fi else case "$gl_cv_func_realpath_works" in *yes) ;; *) REPLACE_CANONICALIZE_FILE_NAME=1 REPLACE_REALPATH=1 ;; esac fi ]) # Like gl_CANONICALIZE_LGPL, except prepare for separate compilation # (no REPLACE_CANONICALIZE_FILE_NAME, no REPLACE_REALPATH, no AC_LIBOBJ). AC_DEFUN([gl_CANONICALIZE_LGPL_SEPARATE], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name getcwd readlink]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) AC_REQUIRE([gl_FUNC_REALPATH_WORKS]) AC_CHECK_HEADERS_ONCE([sys/param.h]) ]) # Check whether realpath works. Assume that if a platform has both # realpath and canonicalize_file_name, but the former is broken, then # so is the latter. AC_DEFUN([gl_FUNC_REALPATH_WORKS], [ AC_CHECK_FUNCS_ONCE([realpath]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [ touch conftest.a mkdir conftest.d AC_RUN_IFELSE([ AC_LANG_PROGRAM([[ ]GL_NOCRASH[ #include #include ]], [[ int result = 0; { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; } { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; } { char *name = realpath ("conftest.a/", NULL); if (name != NULL) result |= 4; } { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (strcmp (name1, name2) != 0) result |= 8; } return result; ]]) ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_realpath_works="guessing no" ;; esac ]) rm -rf conftest.a conftest.d ]) case "$gl_cv_func_realpath_works" in *yes) AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles trailing slash correctly.]) ;; esac ]) coreutils-8.21/m4/termios_h.m40000664000000000000000000000271412071024546013126 00000000000000# termios_h.m4 serial 4 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_TERMIOS_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_TERMIOS_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([termios.h]) if test $ac_cv_header_termios_h != yes; then HAVE_TERMIOS_H=0 fi dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], [tcgetsid]) ]) AC_DEFUN([gl_TERMIOS_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_TERMIOS_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_TERMIOS_H_DEFAULTS], [ GNULIB_TCGETSID=0; AC_SUBST([GNULIB_TCGETSID]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_TCGETSID=1; AC_SUBST([HAVE_DECL_TCGETSID]) HAVE_TERMIOS_H=1; AC_SUBST([HAVE_TERMIOS_H]) ]) coreutils-8.21/m4/prereq.m40000664000000000000000000000237712102337340012432 00000000000000#serial 78 dnl We use gl_ for non Autoconf macros. m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl # These are the prerequisite macros for files in the lib/ # directory of the coreutils package. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([gl_PREREQ], [ # gnulib settings. AC_REQUIRE([gl_FUNC_NONREENTRANT_EUIDACCESS]) # We don't use c-stack.c. # AC_REQUIRE([gl_C_STACK]) # Invoke macros of modules that may migrate into gnulib. # There's no need to list gnulib modules here, since gnulib-tool # handles that; see ../bootstrap.conf. AC_REQUIRE([gl_FUNC_XATTR]) ]) coreutils-8.21/m4/backupfile.m40000664000000000000000000000074412071024546013243 00000000000000# backupfile.m4 serial 14 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/backupfile.c. AC_DEFUN([gl_BACKUPFILE], [ AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO]) AC_REQUIRE([AC_SYS_LONG_FILE_NAMES]) AC_CHECK_FUNCS_ONCE([pathconf]) ]) coreutils-8.21/m4/xsize.m40000664000000000000000000000062612071024546012277 00000000000000# xsize.m4 serial 5 dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_CHECK_HEADERS([stdint.h]) ]) coreutils-8.21/m4/ldexpl.m40000664000000000000000000000742512071024546012431 00000000000000# ldexpl.m4 serial 16 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LDEXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([gl_FUNC_ISNANL]) dnl for ISNANL_LIBM dnl Persuade glibc to declare ldexpl(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl Check whether it's declared. dnl Mac OS X 10.3 has ldexpl() in libc but doesn't declare it in . AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include ]]) LDEXPL_LIBM= if test $HAVE_DECL_LDEXPL = 1; then gl_CHECK_LDEXPL_NO_LIBM if test $gl_cv_func_ldexpl_no_libm = no; then AC_CACHE_CHECK([whether ldexpl() can be used with libm], [gl_cv_func_ldexpl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include long double x;]], [[return ldexpl (x, -1) > 0;]])], [gl_cv_func_ldexpl_in_libm=yes], [gl_cv_func_ldexpl_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_ldexpl_in_libm = yes; then LDEXPL_LIBM=-lm fi fi if test $gl_cv_func_ldexpl_no_libm = yes \ || test $gl_cv_func_ldexpl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $LDEXPL_LIBM" gl_FUNC_LDEXPL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_ldexpl_works" in *yes) gl_func_ldexpl=yes ;; *) gl_func_ldexpl=no; REPLACE_LDEXPL=1 ;; esac else gl_func_ldexpl=no fi if test $gl_func_ldexpl = yes; then AC_DEFINE([HAVE_LDEXPL], [1], [Define if the ldexpl() function is available.]) fi fi if test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; then dnl Find libraries needed to link lib/ldexpl.c. if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then AC_REQUIRE([gl_FUNC_LDEXP]) LDEXPL_LIBM="$LDEXP_LIBM" else LDEXPL_LIBM="$ISNANL_LIBM" fi fi AC_SUBST([LDEXPL_LIBM]) ]) dnl Test whether ldexpl() can be used without linking with libm. dnl Set gl_cv_func_ldexpl_no_libm to 'yes' or 'no' accordingly. AC_DEFUN([gl_CHECK_LDEXPL_NO_LIBM], [ AC_CACHE_CHECK([whether ldexpl() can be used without linking with libm], [gl_cv_func_ldexpl_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include long double x;]], [[return ldexpl (x, -1) > 0;]])], [gl_cv_func_ldexpl_no_libm=yes], [gl_cv_func_ldexpl_no_libm=no]) ]) ]) dnl Test whether ldexpl() works on finite numbers (this fails on AIX 5.1 dnl and Mac OS X 10.4/PowerPC). AC_DEFUN([gl_FUNC_LDEXPL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether ldexpl works], [gl_cv_func_ldexpl_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include extern #ifdef __cplusplus "C" #endif long double ldexpl (long double, int); int main() { int result = 0; { volatile long double x = 1.0; volatile long double y = ldexpl (x, -1); if (y != 0.5L) result |= 1; } { volatile long double x = 1.73205L; volatile long double y = ldexpl (x, 0); if (y != x) result |= 2; } return result; }]])], [gl_cv_func_ldexpl_works=yes], [gl_cv_func_ldexpl_works=no], [ changequote(,)dnl case "$host_os" in aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no";; *) gl_cv_func_ldexpl_works="guessing yes";; esac changequote([,])dnl ]) ]) ]) coreutils-8.21/m4/gmp.m40000664000000000000000000000250112102337340011704 00000000000000# Tests for GNU GMP (or any compatible replacement). dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by James Youngman. dnl Check for libgmp. We avoid use of AC_CHECK_LIBS because we don't want to dnl add this to $LIBS for all targets. AC_DEFUN([cu_GMP], [ LIB_GMP= AC_SUBST([LIB_GMP]) AC_ARG_WITH([gmp], AS_HELP_STRING([--without-gmp], [do not use the GNU MP library for arbitrary precision calculation (default: use it if available)]), [cu_use_gmp=$withval], [cu_use_gmp=auto]) if test $cu_use_gmp != no; then cu_saved_libs=$LIBS AC_SEARCH_LIBS([__gmpz_init], [gmp], [test "$ac_cv_search___gmpz_init" = "none required" || { LIB_GMP=$ac_cv_search___gmpz_init AC_DEFINE([HAVE_GMP], [1], [Define if you have GNU libgmp (or replacement)]) # This only available in GMP >= 5 AC_CHECK_DECLS([mpz_inits], [], [], [[#include ]]) }], [AC_MSG_WARN([libgmp development library was not found or not usable.]) AC_MSG_WARN([AC_PACKAGE_NAME will be built without GMP support.])]) LIBS=$cu_saved_libs fi ]) coreutils-8.21/m4/wchar_h.m40000664000000000000000000002224012071024546012544 00000000000000dnl A placeholder for ISO C99 , for platforms that have issues. dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. # wchar_h.m4 serial 39 AC_DEFUN([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) dnl Prepare for creating substitute . dnl Check for (missing in Linux uClibc when built without wide dnl character support). dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([wchar.h]) if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi AC_SUBST([HAVE_WCHAR_H]) AC_REQUIRE([gl_FEATURES_H]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include # include # include #endif #include ]], [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ]) ]) dnl Check whether is usable at all. AC_DEFUN([gl_WCHAR_H_INLINE_OK], [ dnl Test whether suffers due to the transition from '__inline' to dnl 'gnu_inline'. See dnl and . In summary, dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and dnl the option -std=c99 or -std=gnu99, leads to a broken . AC_CACHE_CHECK([whether uses 'inline' correctly], [gl_cv_header_wchar_h_correct_inline], [gl_cv_header_wchar_h_correct_inline=yes AC_LANG_CONFTEST([ AC_LANG_SOURCE([[#define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include extern int zero (void); int main () { return zero(); } ]])]) if AC_TRY_EVAL([ac_compile]); then mv conftest.$ac_objext conftest1.$ac_objext AC_LANG_CONFTEST([ AC_LANG_SOURCE([[#define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int zero (void) { return 0; } ]])]) if AC_TRY_EVAL([ac_compile]); then mv conftest.$ac_objext conftest2.$ac_objext if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then : else gl_cv_header_wchar_h_correct_inline=no fi fi fi rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext ]) if test $gl_cv_header_wchar_h_correct_inline = no; then AC_MSG_ERROR([ cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of , or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted.]) fi ]) AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR]) GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP]) GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY]) GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE]) GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET]) GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN]) GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN]) GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY]) GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY]) GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY]) GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY]) GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT]) GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT]) GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP]) GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP]) GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP]) GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP]) GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL]) GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM]) GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP]) GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR]) GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR]) GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN]) GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN]) GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK]) GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR]) GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK]) GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC]) HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN]) HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS]) HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS]) HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB]) HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS]) HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS]) HAVE_WMEMCHR=1; AC_SUBST([HAVE_WMEMCHR]) HAVE_WMEMCMP=1; AC_SUBST([HAVE_WMEMCMP]) HAVE_WMEMCPY=1; AC_SUBST([HAVE_WMEMCPY]) HAVE_WMEMMOVE=1; AC_SUBST([HAVE_WMEMMOVE]) HAVE_WMEMSET=1; AC_SUBST([HAVE_WMEMSET]) HAVE_WCSLEN=1; AC_SUBST([HAVE_WCSLEN]) HAVE_WCSNLEN=1; AC_SUBST([HAVE_WCSNLEN]) HAVE_WCSCPY=1; AC_SUBST([HAVE_WCSCPY]) HAVE_WCPCPY=1; AC_SUBST([HAVE_WCPCPY]) HAVE_WCSNCPY=1; AC_SUBST([HAVE_WCSNCPY]) HAVE_WCPNCPY=1; AC_SUBST([HAVE_WCPNCPY]) HAVE_WCSCAT=1; AC_SUBST([HAVE_WCSCAT]) HAVE_WCSNCAT=1; AC_SUBST([HAVE_WCSNCAT]) HAVE_WCSCMP=1; AC_SUBST([HAVE_WCSCMP]) HAVE_WCSNCMP=1; AC_SUBST([HAVE_WCSNCMP]) HAVE_WCSCASECMP=1; AC_SUBST([HAVE_WCSCASECMP]) HAVE_WCSNCASECMP=1; AC_SUBST([HAVE_WCSNCASECMP]) HAVE_WCSCOLL=1; AC_SUBST([HAVE_WCSCOLL]) HAVE_WCSXFRM=1; AC_SUBST([HAVE_WCSXFRM]) HAVE_WCSDUP=1; AC_SUBST([HAVE_WCSDUP]) HAVE_WCSCHR=1; AC_SUBST([HAVE_WCSCHR]) HAVE_WCSRCHR=1; AC_SUBST([HAVE_WCSRCHR]) HAVE_WCSCSPN=1; AC_SUBST([HAVE_WCSCSPN]) HAVE_WCSSPN=1; AC_SUBST([HAVE_WCSSPN]) HAVE_WCSPBRK=1; AC_SUBST([HAVE_WCSPBRK]) HAVE_WCSSTR=1; AC_SUBST([HAVE_WCSSTR]) HAVE_WCSTOK=1; AC_SUBST([HAVE_WCSTOK]) HAVE_WCSWIDTH=1; AC_SUBST([HAVE_WCSWIDTH]) HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB]) HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T]) REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC]) REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB]) REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT]) REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC]) REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN]) REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS]) REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS]) REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB]) REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS]) REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS]) REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH]) ]) coreutils-8.21/m4/fcntl_h.m40000664000000000000000000000327112071024546012551 00000000000000# serial 15 # Configure fcntl.h. dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_FCNTL_H], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) gl_NEXT_HEADERS([fcntl.h]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Ensure the type mode_t gets defined. AC_REQUIRE([AC_TYPE_MODE_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, if it is not common dnl enough to be declared everywhere. gl_WARN_ON_USE_PREPARE([[#include ]], [fcntl openat]) ]) AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING]) GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT]) ]) coreutils-8.21/m4/inline.m40000664000000000000000000000315412071024546012412 00000000000000# inline.m4 serial 4 dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test for the 'inline' keyword or equivalent. dnl Define 'inline' to a supported equivalent, or to nothing if not supported, dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an dnl equivalent is effectively supported, i.e. if the compiler is likely to dnl drop unused 'static inline' functions. AC_DEFUN([gl_INLINE], [ AC_REQUIRE([AC_C_INLINE]) AC_CACHE_CHECK([whether the compiler generally respects inline], [gl_cv_c_inline_effective], [if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is dnl specified. dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result dnl depends on optimization flags, which can be in CFLAGS. dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[#ifdef __NO_INLINE__ #error "inline is not effective" #endif]])], [gl_cv_c_inline_effective=yes], [gl_cv_c_inline_effective=no]) fi ]) if test $gl_cv_c_inline_effective = yes; then AC_DEFINE([HAVE_INLINE], [1], [Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such.]) fi ]) coreutils-8.21/m4/localename.m40000664000000000000000000000064212071024546013233 00000000000000# localename.m4 serial 2 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LOCALENAME], [ AC_REQUIRE([gt_LC_MESSAGES]) AC_REQUIRE([gt_INTL_MACOSX]) AC_CHECK_FUNCS([setlocale uselocale]) ]) coreutils-8.21/m4/priv-set.m40000664000000000000000000000057512071024546012711 00000000000000# serial 8 # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by David Bartley. AC_DEFUN([gl_PRIV_SET], [ AC_CHECK_FUNCS([getppriv]) AC_CHECK_HEADERS_ONCE([priv.h]) ]) coreutils-8.21/m4/uptime.m40000664000000000000000000000150312071024546012433 00000000000000# serial 8 # Copyright (C) 1996, 1999-2001, 2004, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_PREREQ([2.13]) AC_DEFUN([gl_SYS_PROC_UPTIME], [ dnl Require AC_PROG_CC to see if we're cross compiling. AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for /proc/uptime], [gl_cv_have_proc_uptime], [gl_cv_have_proc_uptime=no test -f /proc/uptime \ && test "$cross_compiling" = no \ && cat < /proc/uptime >/dev/null 2>/dev/null \ && gl_cv_have_proc_uptime=yes]) if test $gl_cv_have_proc_uptime = yes; then AC_DEFINE([HAVE_PROC_UPTIME], [1], [ Define if your system has the /proc/uptime special file.]) fi ]) coreutils-8.21/m4/bison.m40000664000000000000000000000200012071024546012233 00000000000000# serial 7 # Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_BISON], [ # parse-datetime.y works with bison only. : ${YACC='bison -y'} dnl dnl Declaring YACC & YFLAGS precious will not be necessary after GNULIB dnl requires an Autoconf greater than 2.59c, but it will probably still be dnl useful to override the description of YACC in the --help output, re dnl parse-datetime.y assuming 'bison -y'. AC_ARG_VAR([YACC], [The "Yet Another C Compiler" implementation to use. Defaults to 'bison -y'. Values other than 'bison -y' will most likely break on most systems.])dnl AC_ARG_VAR([YFLAGS], [YFLAGS contains the list arguments that will be passed by default to Bison. This script will default YFLAGS to the empty string to avoid a default value of '-d' given by some make applications.])dnl ]) coreutils-8.21/m4/inttostr.m40000664000000000000000000000145412071024546013023 00000000000000#serial 8 dnl Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_INTTOSTR], [ gl_PREREQ_INTTOSTR gl_PREREQ_IMAXTOSTR gl_PREREQ_OFFTOSTR gl_PREREQ_UMAXTOSTR gl_PREREQ_UINTTOSTR ]) # Prerequisites of lib/inttostr.h. AC_DEFUN([gl_PREREQ_INTTOSTR], [ AC_REQUIRE([AC_TYPE_OFF_T]) : ]) # Prerequisites of lib/imaxtostr.c. AC_DEFUN([gl_PREREQ_IMAXTOSTR], [:]) # Prerequisites of lib/offtostr.c. AC_DEFUN([gl_PREREQ_OFFTOSTR], [:]) # Prerequisites of lib/umaxtostr.c. AC_DEFUN([gl_PREREQ_UMAXTOSTR], [:]) # Prerequisites of lib/uinttostr.c. AC_DEFUN([gl_PREREQ_UINTTOSTR], [:]) coreutils-8.21/m4/double-slash-root.m40000664000000000000000000000312512071024546014475 00000000000000# double-slash-root.m4 serial 4 -*- Autoconf -*- dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DOUBLE_SLASH_ROOT], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root], [ if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi]) if test "$gl_cv_double_slash_root" = yes; then AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], [1], [Define to 1 if // is a file system root distinct from /.]) fi ]) coreutils-8.21/m4/string_h.m40000664000000000000000000001271412071024546012753 00000000000000# Configure a GNU-like replacement for . # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 21 # Written by Paul Eggert. AC_DEFUN([gl_HEADER_STRING_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_STRING_H_BODY]) ]) AC_DEFUN([gl_HEADER_STRING_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_NEXT_HEADERS([string.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp]) ]) AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R]) GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL]) HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR]) HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R]) HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP]) REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT]) REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP]) REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) coreutils-8.21/m4/opendir.m40000664000000000000000000000133612071024546012574 00000000000000# opendir.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_OPENDIR], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_CHECK_FUNCS([opendir]) if test $ac_cv_func_opendir = no; then HAVE_OPENDIR=0 fi dnl Replace opendir() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then if test $HAVE_OPENDIR = 1; then REPLACE_OPENDIR=1 fi fi ]) ]) coreutils-8.21/m4/lstat.m40000664000000000000000000000511212071024546012257 00000000000000# serial 26 # Copyright (C) 1997-2001, 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_LSTAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl If lstat does not exist, the replacement does dnl "#define lstat stat", and lstat.c is a no-op. AC_CHECK_FUNCS_ONCE([lstat]) if test $ac_cv_func_lstat = yes; then AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *no) REPLACE_LSTAT=1 ;; esac else HAVE_LSTAT=0 fi ]) # Prerequisites of lib/lstat.c. AC_DEFUN([gl_PREREQ_LSTAT], [:]) AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], [ dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ. AC_CACHE_CHECK([whether lstat correctly handles trailing slash], [gl_cv_func_lstat_dereferences_slashed_symlink], [rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[struct stat sbuf; /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ]])], [gl_cv_func_lstat_dereferences_slashed_symlink=yes], [gl_cv_func_lstat_dereferences_slashed_symlink=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; esac ]) else # If the 'ln -s' command failed, then we probably don't even # have an lstat function. gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" fi rm -f conftest.sym conftest.file ]) case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *yes) AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1], [Define to 1 if 'lstat' dereferences a symlink specified with a trailing slash.]) ;; esac ]) coreutils-8.21/m4/localcharset.m40000664000000000000000000000112512071024546013574 00000000000000# localcharset.m4 serial 7 dnl Copyright (C) 2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LOCALCHARSET], [ dnl Prerequisites of lib/localcharset.c. AC_REQUIRE([AM_LANGINFO_CODESET]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) AC_CHECK_DECLS_ONCE([getc_unlocked]) dnl Prerequisites of the lib/Makefile.am snippet. AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_GLIBC21]) ]) coreutils-8.21/m4/fsusage.m40000664000000000000000000002630512071024546012574 00000000000000# serial 30 # Obtaining file system usage information. # Copyright (C) 1997-1998, 2000-2001, 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FSUSAGE], [ AC_CHECK_HEADERS_ONCE([sys/param.h]) AC_CHECK_HEADERS_ONCE([sys/vfs.h sys/fs_types.h]) AC_CHECK_HEADERS([sys/mount.h], [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) gl_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) ]) # Try to determine how a program can obtain file system usage information. # If successful, define the appropriate symbol (see fsusage.c) and # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND. # # gl_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_FILE_SYSTEM_USAGE], [ dnl Enable large-file support. This has the effect of changing the size dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on dnl Mac OS X >= 10.5 (32-bit mode). AC_REQUIRE([AC_SYS_LARGEFILE]) AC_MSG_NOTICE([checking how to get file system space usage]) ac_fsusage_space=no # Perform only the link test since it seems there are no variants of the # statvfs function. This check is more than just AC_CHECK_FUNCS([statvfs]) # because that got a false positive on SCO OSR5. Adding the declaration # of a 'struct statvfs' causes this test to fail (as it should) on such # systems. That system is reported to work fine with STAT_STATFS4 which # is what it gets when this test fails. if test $ac_fsusage_space = no; then # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS. AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #ifdef __osf__ "Do not use Tru64's statvfs implementation" #endif #include struct statvfs fsd; #if defined __APPLE__ && defined __MACH__ #include /* On Mac OS X >= 10.5, f_blocks in 'struct statvfs' is a 32-bit quantity; that commonly limits file systems to 4 TiB. Whereas f_blocks in 'struct statfs' is a 64-bit type, thanks to the large-file support that was enabled above. In this case, don't use statvfs(); use statfs() instead. */ int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; #endif ]], [[statvfs (0, &fsd);]])], [fu_cv_sys_stat_statvfs=yes], [fu_cv_sys_stat_statvfs=no])]) if test $fu_cv_sys_stat_statvfs = yes; then ac_fsusage_space=yes # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs. # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems # statvfs with large-file support is already equivalent to statvfs64. AC_CACHE_CHECK([whether to use statvfs64], [fu_cv_sys_stat_statvfs64], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #include struct statvfs64 fsd; int check_f_blocks_larger_in_statvfs64 [sizeof (((struct statvfs64 *) 0)->f_blocks) > sizeof (((struct statvfs *) 0)->f_blocks) ? 1 : -1]; ]], [[statvfs64 (0, &fsd);]])], [fu_cv_sys_stat_statvfs64=yes], [fu_cv_sys_stat_statvfs64=no]) ]) if test $fu_cv_sys_stat_statvfs64 = yes; then AC_DEFINE([STAT_STATVFS64], [1], [ Define if statvfs64 should be preferred over statvfs.]) else AC_DEFINE([STAT_STATVFS], [1], [ Define if there is a function named statvfs. (SVR4)]) fi fi fi # Check for this unconditionally so we have a # good fallback on glibc/Linux > 2.6 < 2.6.36 AC_MSG_CHECKING([for two-argument statfs with statfs.f_frsize member]) AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_VFS_H #include #endif int main () { struct statfs fsd; fsd.f_frsize = 0; return statfs (".", &fsd) != 0; }]])], [fu_cv_sys_stat_statfs2_frsize=yes], [fu_cv_sys_stat_statfs2_frsize=no], [fu_cv_sys_stat_statfs2_frsize=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_frsize]) if test $fu_cv_sys_stat_statfs2_frsize = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS2_FRSIZE], [1], [ Define if statfs takes 2 args and struct statfs has a field named f_frsize. (glibc/Linux > 2.6)]) fi if test $ac_fsusage_space = no; then # DEC Alpha running OSF/1 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd, sizeof (struct statfs)) != 0; }]])], [fu_cv_sys_stat_statfs3_osf1=yes], [fu_cv_sys_stat_statfs3_osf1=no], [fu_cv_sys_stat_statfs3_osf1=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1]) if test $fu_cv_sys_stat_statfs3_osf1 = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS3_OSF1], [1], [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) fi fi if test $ac_fsusage_space = no; then # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4. # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.) # (On IRIX you need to include , not only and # .) # (On Solaris, statfs has 4 arguments.) AC_MSG_CHECKING([for two-argument statfs with statfs.f_bsize dnl member (AIX, 4.3BSD)]) AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_VFS_H #include #endif int main () { struct statfs fsd; fsd.f_bsize = 0; return statfs (".", &fsd) != 0; }]])], [fu_cv_sys_stat_statfs2_bsize=yes], [fu_cv_sys_stat_statfs2_bsize=no], [fu_cv_sys_stat_statfs2_bsize=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize]) if test $fu_cv_sys_stat_statfs2_bsize = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS2_BSIZE], [1], [ Define if statfs takes 2 args and struct statfs has a field named f_bsize. (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) fi fi if test $ac_fsusage_space = no; then # SVR3 # (Solaris already handled above.) AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) AC_CACHE_VAL([fu_cv_sys_stat_statfs4], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include int main () { struct statfs fsd; return statfs (".", &fsd, sizeof fsd, 0) != 0; }]])], [fu_cv_sys_stat_statfs4=yes], [fu_cv_sys_stat_statfs4=no], [fu_cv_sys_stat_statfs4=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_statfs4]) if test $fu_cv_sys_stat_statfs4 = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS4], [1], [ Define if statfs takes 4 args. (SVR3, Dynix, old Irix, old AIX, Dolphin)]) fi fi if test $ac_fsusage_space = no; then # 4.4BSD and older NetBSD # (OSF/1 already handled above.) # (On AIX, you need to include , not only .) # (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in # .) AC_MSG_CHECKING([for two-argument statfs with statfs.f_fsize dnl member (4.4BSD and NetBSD)]) AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd) != 0; }]])], [fu_cv_sys_stat_statfs2_fsize=yes], [fu_cv_sys_stat_statfs2_fsize=no], [fu_cv_sys_stat_statfs2_fsize=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize]) if test $fu_cv_sys_stat_statfs2_fsize = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS2_FSIZE], [1], [ Define if statfs takes 2 args and struct statfs has a field named f_fsize. (4.4BSD, NetBSD)]) fi fi if test $ac_fsusage_space = no; then # Ultrix AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) AC_CACHE_VAL([fu_cv_sys_stat_fs_data], [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_FS_TYPES_H #include #endif int main () { struct fs_data fsd; /* Ultrix's statfs returns 1 for success, 0 for not mounted, -1 for failure. */ return statfs (".", &fsd) != 1; }]])], [fu_cv_sys_stat_fs_data=yes], [fu_cv_sys_stat_fs_data=no], [fu_cv_sys_stat_fs_data=no])]) AC_MSG_RESULT([$fu_cv_sys_stat_fs_data]) if test $fu_cv_sys_stat_fs_data = yes; then ac_fsusage_space=yes AC_DEFINE([STAT_STATFS2_FS_DATA], [1], [ Define if statfs takes 2 args and the second argument has type struct fs_data. (Ultrix)]) fi fi if test $ac_fsusage_space = no; then # SVR2 # (AIX, HP-UX, OSF/1 already handled above.) AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include ]])], [AC_DEFINE([STAT_READ_FILSYS], [1], [Define if there is no specific function for reading file systems usage information and you have the header file. (SVR2)]) ac_fsusage_space=yes]) fi AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) ]) # Check for SunOS statfs brokenness wrt partitions 2GB and larger. # If exists and struct statfs has a member named f_spare, # enable the work-around code in fsusage.c. AC_DEFUN([gl_STATFS_TRUNCATES], [ AC_MSG_CHECKING([for statfs that truncates block counts]) AC_CACHE_VAL([fu_cv_sys_truncating_statfs], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if !defined(sun) && !defined(__sun) choke -- this is a workaround for a Sun-specific problem #endif #include #include ]], [[struct statfs t; long c = *(t.f_spare); if (c) return 0;]])], [fu_cv_sys_truncating_statfs=yes], [fu_cv_sys_truncating_statfs=no])]) if test $fu_cv_sys_truncating_statfs = yes; then AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1], [Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.)]) fi AC_MSG_RESULT([$fu_cv_sys_truncating_statfs]) ]) # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], [ AC_CHECK_HEADERS([dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h]) gl_STATFS_TRUNCATES ]) coreutils-8.21/m4/vasnprintf.m40000664000000000000000000002113312071024546013323 00000000000000# vasnprintf.m4 serial 36 dnl Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASNPRINTF], [ AC_CHECK_FUNCS_ONCE([vasnprintf]) if test $ac_cv_func_vasnprintf = no; then gl_REPLACE_VASNPRINTF fi ]) AC_DEFUN([gl_REPLACE_VASNPRINTF], [ AC_CHECK_FUNCS_ONCE([vasnprintf]) AC_LIBOBJ([vasnprintf]) AC_LIBOBJ([printf-args]) AC_LIBOBJ([printf-parse]) AC_LIBOBJ([asnprintf]) if test $ac_cv_func_vasnprintf = yes; then AC_DEFINE([REPLACE_VASNPRINTF], [1], [Define if vasnprintf exists but is overridden by gnulib.]) fi gl_PREREQ_PRINTF_ARGS gl_PREREQ_PRINTF_PARSE gl_PREREQ_VASNPRINTF gl_PREREQ_ASNPRINTF ]) # Prerequisites of lib/printf-args.h, lib/printf-args.c. AC_DEFUN([gl_PREREQ_PRINTF_ARGS], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) ]) # Prerequisites of lib/printf-parse.h, lib/printf-parse.c. AC_DEFUN([gl_PREREQ_PRINTF_PARSE], [ AC_REQUIRE([gl_FEATURES_H]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_REQUIRE([AC_TYPE_SIZE_T]) AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) ]) # Prerequisites of lib/vasnprintf.c. AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). AC_CHECK_DECLS([_snprintf], , , [[#include ]]) dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE. AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) dnl We can avoid a lot of code by assuming that snprintf's return value dnl conforms to ISO C99. So check that. AC_REQUIRE([gl_SNPRINTF_RETVAL_C99]) case "$gl_cv_func_snprintf_retval_c99" in *yes) AC_DEFINE([HAVE_SNPRINTF_RETVAL_C99], [1], [Define if the return value of the snprintf function is the number of of bytes (excluding the terminating NUL) that would have been produced if the buffer had been large enough.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting 'long double' # arguments. AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) case "$gl_cv_func_printf_long_double" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double' # arguments. AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], [ AC_REQUIRE([gl_PRINTF_INFINITE]) case "$gl_cv_func_printf_infinite" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for infinite 'double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double' # arguments. AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if dnl NEED_PRINTF_LONG_DOUBLE is already set. AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE]) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for infinite 'long double' arguments.]) ;; esac ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive. AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], [ AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) case "$gl_cv_func_printf_directive_a" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1], [Define if the vasnprintf implementation needs special code for the 'a' and 'A' directives.]) AC_CHECK_FUNCS([nl_langinfo]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], [ AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) case "$gl_cv_func_printf_directive_f" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], [1], [Define if the vasnprintf implementation needs special code for the 'F' directive.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 'ls' directive. AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS], [ AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) case "$gl_cv_func_printf_directive_ls" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_DIRECTIVE_LS], [1], [Define if the vasnprintf implementation needs special code for the 'ls' directive.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], [ AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], [1], [Define if the vasnprintf implementation needs special code for the ' flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], [ AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], [1], [Define if the vasnprintf implementation needs special code for the '-' flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], [ AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_ZERO], [1], [Define if the vasnprintf implementation needs special code for the 0 flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting large precisions. AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], [ AC_REQUIRE([gl_PRINTF_PRECISION]) case "$gl_cv_func_printf_precision" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], [1], [Define if the vasnprintf implementation needs special code for supporting large precisions without arbitrary bounds.]) AC_DEFINE([NEED_PRINTF_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for 'double' arguments.]) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory # conditions. AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], [ AC_REQUIRE([gl_PRINTF_ENOMEM]) case "$gl_cv_func_printf_enomem" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_ENOMEM], [1], [Define if the vasnprintf implementation needs special code for surviving out-of-memory conditions.]) AC_DEFINE([NEED_PRINTF_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for 'double' arguments.]) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1], [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], [ AC_REQUIRE([gl_PREREQ_VASNPRINTF]) gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_DIRECTIVE_LS gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM ]) # Prerequisites of lib/asnprintf.c. AC_DEFUN([gl_PREREQ_ASNPRINTF], [ ]) coreutils-8.21/m4/readtokens.m40000664000000000000000000000057312071024546013275 00000000000000# readtokens.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/readtokens.c. AC_DEFUN([gl_READTOKENS], [ : ]) coreutils-8.21/m4/readlinkat.m40000664000000000000000000000106512104754777013266 00000000000000# serial 3 # See if we need to provide readlinkat replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_READLINKAT], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([readlinkat]) if test $ac_cv_func_readlinkat = no; then HAVE_READLINKAT=0 fi ]) coreutils-8.21/m4/longlong.m40000664000000000000000000001120312071024546012745 00000000000000# longlong.m4 serial 17 dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.61, and can be faster # than what's in Autoconf 2.62 through 2.68. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [ac_cv_type_long_long_int=yes if test "x${ac_cv_prog_cc_c99-no}" = xno; then ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_long_long_int = yes; then dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. dnl If cross compiling, assume the bug is not important, since dnl nobody cross compiles for this platform as far as we know. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[@%:@include @%:@ifndef LLONG_MAX @%:@ define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) @%:@ define LLONG_MAX (HALF - 1 + HALF) @%:@endif]], [[long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0;]])], [], [ac_cv_type_long_long_int=no], [:]) fi fi]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], [1], [Define to 1 if the system has the type 'long long int'.]) fi ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.61, and can be faster # than what's in Autoconf 2.62 through 2.68. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [ac_cv_type_unsigned_long_long_int=yes if test "x${ac_cv_prog_cc_c99-no}" = xno; then AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [], [ac_cv_type_unsigned_long_long_int=no]) fi]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], [Define to 1 if the system has the type 'unsigned long long int'.]) fi ]) # Expands to a C program that can be used to test for simultaneous support # of 'long long' and 'unsigned long long'. We don't want to say that # 'long long' is available if 'unsigned long long' is not, or vice versa, # because too many programs rely on the symmetry between signed and unsigned # integer types (excluding 'bool'). AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], [ AC_LANG_PROGRAM( [[/* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[/* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull));]]) ]) coreutils-8.21/m4/xstrndup.m40000664000000000000000000000063112071024546013020 00000000000000# xstrndup.m4 serial 2 dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSTRNDUP], [ gl_PREREQ_XSTRNDUP ]) # Prerequisites of lib/xstrndup.c. AC_DEFUN([gl_PREREQ_XSTRNDUP], [ : ]) coreutils-8.21/m4/savedir.m40000664000000000000000000000051712071024546012571 00000000000000# savedir.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVEDIR], [ : ]) coreutils-8.21/m4/wait-process.m40000664000000000000000000000065312071024546013555 00000000000000# wait-process.m4 serial 6 dnl Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_WAIT_PROCESS], [ dnl Prerequisites of lib/wait-process.c. AC_REQUIRE([gt_TYPE_SIG_ATOMIC_T]) AC_CHECK_FUNCS([waitid]) ]) coreutils-8.21/m4/mbiter.m40000664000000000000000000000064212071024546012415 00000000000000# mbiter.m4 serial 7 dnl Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbiter.h dnl From Bruno Haible. AC_DEFUN([gl_MBITER], [ AC_REQUIRE([AC_TYPE_MBSTATE_T]) : ]) coreutils-8.21/m4/ldexp.m40000664000000000000000000000363612071024546012255 00000000000000# ldexp.m4 serial 1 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LDEXP], [ AC_REQUIRE([gl_CHECK_LDEXP_NO_LIBM]) LDEXP_LIBM= if test $gl_cv_func_ldexp_no_libm = no; then AC_CACHE_CHECK([whether ldexp() can be used with libm], [gl_cv_func_ldexp_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM([[#ifndef __NO_MATH_INLINES # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include double (*funcptr) (double, int) = ldexp; double x;]], [[return ldexp (x, -1) > 0;]])], [gl_cv_func_ldexp_in_libm=yes], [gl_cv_func_ldexp_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_ldexp_in_libm = yes; then LDEXP_LIBM=-lm fi fi AC_SUBST([LDEXP_LIBM]) ]) dnl Test whether ldexp() can be used without linking with libm. dnl Set gl_cv_func_ldexp_no_libm to 'yes' or 'no' accordingly. AC_DEFUN([gl_CHECK_LDEXP_NO_LIBM], [ AC_CACHE_CHECK([whether ldexp() can be used without linking with libm], [gl_cv_func_ldexp_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM([[#ifndef __NO_MATH_INLINES # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include double (*funcptr) (double, int) = ldexp; double x;]], [[return ldexp (x, -1) > 0;]])], [gl_cv_func_ldexp_no_libm=yes], [gl_cv_func_ldexp_no_libm=no]) ]) ]) coreutils-8.21/m4/stpncpy.m40000664000000000000000000000532212071024546012633 00000000000000# stpncpy.m4 serial 16 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STPNCPY], [ dnl Persuade glibc to declare stpncpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The stpncpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) dnl Both glibc and AIX (4.3.3, 5.1) have an stpncpy() function dnl declared in . Its side effects are the same as those dnl of strncpy(): dnl stpncpy (dest, src, n) dnl overwrites dest[0..n-1], min(strlen(src),n) bytes coming from src, dnl and the remaining bytes being NULs. However, the return value is dnl in glibc: dest + min(strlen(src),n) dnl in AIX: dest + max(0,n-1) dnl Only the glibc return value is useful in practice. AC_CHECK_DECLS_ONCE([stpncpy]) AC_CHECK_FUNCS_ONCE([stpncpy]) if test $ac_cv_func_stpncpy = yes; then AC_CACHE_CHECK([for working stpncpy], [gl_cv_func_stpncpy], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* for strcpy */ /* The stpncpy prototype is missing in on AIX 4. */ #if !HAVE_DECL_STPNCPY extern # ifdef __cplusplus "C" # endif char *stpncpy (char *dest, const char *src, size_t n); #endif int main () { int result = 0; const char *src = "Hello"; char dest[10]; /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 2) != dest + 2) result |= 1; } /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 5) != dest + 5) result |= 2; } /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 7) != dest + 5) result |= 4; } return result; } ]])], [gl_cv_func_stpncpy=yes], [gl_cv_func_stpncpy=no], [AC_EGREP_CPP([Thanks for using GNU], [ #include #ifdef __GNU_LIBRARY__ Thanks for using GNU #endif ], [gl_cv_func_stpncpy="guessing yes"], [gl_cv_func_stpncpy="guessing no"]) ]) ]) case "$gl_cv_func_stpncpy" in *yes) AC_DEFINE([HAVE_STPNCPY], [1], [Define if you have the stpncpy() function and it works.]) ;; *) REPLACE_STPNCPY=1 ;; esac else HAVE_STPNCPY=0 fi ]) # Prerequisites of lib/stpncpy.c. AC_DEFUN([gl_PREREQ_STPNCPY], [ : ]) coreutils-8.21/m4/stddef_h.m40000664000000000000000000000275512071024546012722 00000000000000dnl A placeholder for POSIX 2008 , for platforms that have issues. # stddef_h.m4 serial 4 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDDEF_H], [ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) STDDEF_H= if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], [gl_cv_decl_null_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include int test[2 * (sizeof NULL == sizeof (void *)) -1]; ]])], [gl_cv_decl_null_works=yes], [gl_cv_decl_null_works=no])]) if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 STDDEF_H=stddef.h fi AC_SUBST([STDDEF_H]) AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) if test -n "$STDDEF_H"; then gl_NEXT_HEADERS([stddef.h]) fi ]) AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_NULL=0; AC_SUBST([REPLACE_NULL]) HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T]) ]) coreutils-8.21/m4/closeout.m40000664000000000000000000000056512071024546012774 00000000000000# closeout.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/closeout.c. AC_DEFUN([gl_CLOSEOUT], [ : ]) coreutils-8.21/m4/dup2.m40000664000000000000000000000546412071024546012014 00000000000000#serial 19 dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_DUP2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [ AC_CHECK_FUNCS_ONCE([dup2]) if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 fi ], [ AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.]) ]) if test $HAVE_DUP2 = 1; then AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works], [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include #include ]], [int result = 0; #ifdef FD_CLOEXEC if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) result |= 1; #endif if (dup2 (1, 1) == 0) result |= 2; #ifdef FD_CLOEXEC if (fcntl (1, F_GETFD) != FD_CLOEXEC) result |= 4; #endif close (0); if (dup2 (0, 0) != -1) result |= 8; /* Many gnulib modules require POSIX conformance of EBADF. */ if (dup2 (2, 1000000) == -1 && errno != EBADF) result |= 16; /* Flush out a cygwin core dump. */ if (dup2 (2, -1) != -1 || errno != EBADF) result |= 32; return result; ]) ], [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no], [case "$host_os" in mingw*) # on this platform, dup2 always returns 0 for success gl_cv_func_dup2_works="guessing no" ;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works="guessing no" ;; linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a # closed fd may yield -EBADF instead of -1 / errno=EBADF. gl_cv_func_dup2_works="guessing no" ;; freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. gl_cv_func_dup2_works="guessing no" ;; *) gl_cv_func_dup2_works="guessing yes" ;; esac]) ]) case "$gl_cv_func_dup2_works" in *yes) ;; *) REPLACE_DUP2=1 ;; esac fi dnl Replace dup2() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then if test $HAVE_DUP2 = 1; then REPLACE_DUP2=1 fi fi ]) ]) # Prerequisites of lib/dup2.c. AC_DEFUN([gl_PREREQ_DUP2], []) coreutils-8.21/m4/faccessat.m40000664000000000000000000000132012071024546013061 00000000000000# serial 6 # See if we need to provide faccessat replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_FACCESSAT], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare faccessat(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([faccessat]) if test $ac_cv_func_faccessat = no; then HAVE_FACCESSAT=0 fi ]) # Prerequisites of lib/faccessat.m4. AC_DEFUN([gl_PREREQ_FACCESSAT], [ AC_CHECK_FUNCS([access]) ]) coreutils-8.21/m4/sig2str.m40000664000000000000000000000064112071024546012527 00000000000000# serial 7 dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SIG2STR], [ AC_CHECK_FUNCS([sig2str]) ]) # Prerequisites of lib/sig2str.c. AC_DEFUN([gl_PREREQ_SIG2STR], [ : ]) coreutils-8.21/m4/sys_wait_h.m40000664000000000000000000000224512071024546013305 00000000000000# sys_wait_h.m4 serial 6 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SYS_WAIT_H], [ AC_REQUIRE([gl_SYS_WAIT_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/wait.h]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [waitpid]) ]) AC_DEFUN([gl_SYS_WAIT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_WAIT_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_WAIT_H_DEFAULTS], [ GNULIB_WAITPID=0; AC_SUBST([GNULIB_WAITPID]) dnl Assume proper GNU behavior unless another module says otherwise. ]) coreutils-8.21/m4/strdup.m40000664000000000000000000000165712071024546012463 00000000000000# strdup.m4 serial 13 dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([strdup]) AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi ]) AC_DEFUN([gl_FUNC_STRDUP_POSIX], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) AC_CHECK_FUNCS_ONCE([strdup]) if test $ac_cv_func_strdup = yes; then if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 fi fi AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi ]) # Prerequisites of lib/strdup.c. AC_DEFUN([gl_PREREQ_STRDUP], [:]) coreutils-8.21/m4/mpsort.m40000664000000000000000000000053412071024546012457 00000000000000# Sort a vector of pointers to data. # Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MPSORT], [ AC_REQUIRE([AC_C_RESTRICT]) ]) coreutils-8.21/m4/fpieee.m40000664000000000000000000000435612071024546012376 00000000000000# fpieee.m4 serial 2 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl IEEE 754 standardized three items: dnl - The formats of single-float and double-float - nowadays commonly dnl available as 'float' and 'double' in C and C++. dnl No autoconf test needed. dnl - The overflow and division by zero behaviour: The result are values dnl '±Inf' and 'NaN', rather than exceptions as it was before. dnl This file provides an autoconf macro for ensuring this behaviour of dnl floating-point operations. dnl - A set of conditions (overflow, underflow, inexact, etc.) which can dnl be configured to trigger an exception. dnl This cannot be done in a portable way: it depends on the compiler, dnl libc, kernel, and CPU. No autoconf macro is provided for this. dnl Ensure non-trapping behaviour of floating-point overflow and dnl floating-point division by zero. dnl (For integer overflow, see gcc's -ftrapv option; for integer division by dnl zero, see the autoconf macro in intdiv0.m4.) AC_DEFUN([gl_FP_IEEE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) # IEEE behaviour is the default on all CPUs except Alpha and SH # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4 # and the GCC 4.1.2 manual). case "$host_cpu" in alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at # if test -n "$GCC"; then # GCC has the option -mieee. # For full IEEE compliance (rarely needed), use option -mieee-with-inexact. CPPFLAGS="$CPPFLAGS -mieee" else # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact. # For full IEEE compliance (rarely needed), use option -ieee_with_inexact. CPPFLAGS="$CPPFLAGS -ieee" fi ;; sh*) if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" fi ;; esac ]) coreutils-8.21/m4/save-cwd.m40000664000000000000000000000057012071024546012644 00000000000000# serial 10 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites for lib/save-cwd.c. AC_DEFUN([gl_SAVE_CWD], [ AC_CHECK_FUNCS_ONCE([fchdir]) ]) coreutils-8.21/m4/isnand.m40000664000000000000000000000525112071024546012410 00000000000000# isnand.m4 serial 11 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to get or define isnand(). AC_DEFUN([gl_FUNC_ISNAND], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) ISNAND_LIBM= gl_HAVE_ISNAND_NO_LIBM if test $gl_cv_func_isnand_no_libm = no; then gl_HAVE_ISNAND_IN_LIBM if test $gl_cv_func_isnand_in_libm = yes; then ISNAND_LIBM=-lm fi fi dnl The variable gl_func_isnand set here is used by isnan.m4. if test $gl_cv_func_isnand_no_libm = yes \ || test $gl_cv_func_isnand_in_libm = yes; then gl_func_isnand=yes else gl_func_isnand=no HAVE_ISNAND=0 fi AC_SUBST([ISNAND_LIBM]) ]) dnl Check how to get or define isnand() without linking with libm. AC_DEFUN([gl_FUNC_ISNAND_NO_LIBM], [ gl_HAVE_ISNAND_NO_LIBM gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm if test $gl_cv_func_isnand_no_libm = yes; then AC_DEFINE([HAVE_ISNAND_IN_LIBC], [1], [Define if the isnan(double) function is available in libc.]) fi ]) dnl Prerequisites of replacement isnand definition. It does not need -lm. AC_DEFUN([gl_PREREQ_ISNAND], [ AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) ]) dnl Test whether isnand() can be used with libm. AC_DEFUN([gl_HAVE_ISNAND_IN_LIBM], [ AC_CACHE_CHECK([whether isnan(double) can be used with libm], [gl_cv_func_isnand_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) #elif defined isnan # undef isnand # define isnand(x) isnan ((double)(x)) #endif double x;]], [[return isnand (x);]])], [gl_cv_func_isnand_in_libm=yes], [gl_cv_func_isnand_in_libm=no]) LIBS="$save_LIBS" ]) ]) AC_DEFUN([gl_HAVE_ISNAND_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(double) can be used without linking with libm], [gl_cv_func_isnand_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #if __GNUC__ >= 4 # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) #else # undef isnand # define isnand(x) isnan ((double)(x)) #endif double x;]], [[return isnand (x);]])], [gl_cv_func_isnand_no_libm=yes], [gl_cv_func_isnand_no_libm=no]) ]) ]) coreutils-8.21/m4/inet_ntop.m40000664000000000000000000000415212071024546013132 00000000000000# inet_ntop.m4 serial 19 dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_INET_NTOP], [ AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) dnl Persuade Solaris to declare inet_ntop. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_C_RESTRICT]) dnl Most platforms that provide inet_ntop define it in libc. dnl Solaris 8..10 provide inet_ntop in libnsl instead. dnl Solaris 2.6..7 provide inet_ntop in libresolv instead. dnl Native Windows provides it in -lws2_32 instead, with a declaration in dnl , and it uses stdcall calling convention, not cdecl dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). HAVE_INET_NTOP=1 INET_NTOP_LIB= gl_PREREQ_SYS_H_WINSOCK2 if test $HAVE_WINSOCK2_H = 1; then AC_CHECK_DECLS([inet_ntop],,, [[#include ]]) if test $ac_cv_have_decl_inet_ntop = yes; then dnl It needs to be overridden, because the stdcall calling convention dnl is not compliant with POSIX. REPLACE_INET_NTOP=1 INET_NTOP_LIB="-lws2_32" else HAVE_DECL_INET_NTOP=0 HAVE_INET_NTOP=0 fi else gl_save_LIBS=$LIBS AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [], [AC_CHECK_FUNCS([inet_ntop]) if test $ac_cv_func_inet_ntop = no; then HAVE_INET_NTOP=0 fi ]) LIBS=$gl_save_LIBS if test "$ac_cv_search_inet_ntop" != "no" \ && test "$ac_cv_search_inet_ntop" != "none required"; then INET_NTOP_LIB="$ac_cv_search_inet_ntop" fi AC_CHECK_HEADERS_ONCE([netdb.h]) AC_CHECK_DECLS([inet_ntop],,, [[#include #if HAVE_NETDB_H # include #endif ]]) if test $ac_cv_have_decl_inet_ntop = no; then HAVE_DECL_INET_NTOP=0 fi fi AC_SUBST([INET_NTOP_LIB]) ]) # Prerequisites of lib/inet_ntop.c. AC_DEFUN([gl_PREREQ_INET_NTOP], [ AC_REQUIRE([gl_SOCKET_FAMILIES]) ]) coreutils-8.21/m4/posix-shell.m40000664000000000000000000000336012071024546013402 00000000000000# Find a POSIX-conforming shell. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # If a POSIX-conforming shell can be found, set POSIX_SHELL and # PREFERABLY_POSIX_SHELL to it. If not, set POSIX_SHELL to the # empty string and PREFERABLY_POSIX_SHELL to '/bin/sh'. AC_DEFUN([gl_POSIX_SHELL], [ AC_CACHE_CHECK([for a shell that conforms to POSIX], [gl_cv_posix_shell], [gl_test_posix_shell_script=' func_return () { (exit [$]1) } func_success () { func_return 0 } func_failure () { func_return 1 } func_ret_success () { return 0 } func_ret_failure () { return 1 } subshell_umask_sanity () { (umask 22; (umask 0); test $(umask) -eq 22) } test "[$](echo foo)" = foo && func_success && ! func_failure && func_ret_success && ! func_ret_failure && (set x && func_ret_success y && test x = "[$]1") && subshell_umask_sanity ' for gl_cv_posix_shell in \ "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do case $gl_cv_posix_shell in /*) "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \ && break;; esac done]) if test "$gl_cv_posix_shell" != no; then POSIX_SHELL=$gl_cv_posix_shell PREFERABLY_POSIX_SHELL=$POSIX_SHELL else POSIX_SHELL= PREFERABLY_POSIX_SHELL=/bin/sh fi AC_SUBST([POSIX_SHELL]) AC_SUBST([PREFERABLY_POSIX_SHELL]) ]) coreutils-8.21/m4/xnanosleep.m40000664000000000000000000000052312071024546013305 00000000000000#serial 5 dnl Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_XNANOSLEEP], [ : ]) coreutils-8.21/m4/lib-prefix.m40000664000000000000000000002042212071024546013172 00000000000000# lib-prefix.m4 serial 7 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) coreutils-8.21/m4/utimens.m40000664000000000000000000000342712071024546012623 00000000000000dnl Copyright (C) 2003-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl serial 7 AC_DEFUN([gl_UTIMENS], [ dnl Prerequisites of lib/utimens.c. AC_REQUIRE([gl_FUNC_UTIMES]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([futimes futimesat futimens utimensat lutimes]) if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then dnl FreeBSD 8.0-rc2 mishandles futimesat(fd,NULL,time). It is not dnl standardized, but Solaris implemented it first and uses it as dnl its only means to set fd time. AC_CACHE_CHECK([whether futimesat handles NULL file], [gl_cv_func_futimesat_works], [touch conftest.file AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include ]], [[ int fd = open ("conftest.file", O_RDWR); if (fd < 0) return 1; if (futimesat (fd, NULL, NULL)) return 2; ]])], [gl_cv_func_futimesat_works=yes], [gl_cv_func_futimesat_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_futimesat_works="guessing no" ;; esac ]) rm -f conftest.file]) case "$gl_cv_func_futimesat_works" in *yes) ;; *) AC_DEFINE([FUTIMESAT_NULL_BUG], [1], [Define to 1 if futimesat mishandles a NULL file name.]) ;; esac fi ]) coreutils-8.21/m4/math_h.m40000664000000000000000000004211112071024546012370 00000000000000# math_h.m4 serial 114 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MATH_H], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([math.h]) AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[/* Solaris 10 has a broken definition of NAN. Other platforms fail to provide NAN, or provide it only in C99 mode; this test only needs to fail when NAN is provided but wrong. */ float f = 1.0f; #ifdef NAN f = NAN; #endif return f == 0;]])], [gl_cv_header_math_nan_works=yes], [gl_cv_header_math_nan_works=no])]) if test $gl_cv_header_math_nan_works = no; then REPLACE_NAN=1 fi AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[/* Solaris 10 has a broken definition of HUGE_VAL. */ double d = HUGE_VAL; return d == 0;]])], [gl_cv_header_math_huge_val_works=yes], [gl_cv_header_math_huge_val_works=no])]) if test $gl_cv_header_math_huge_val_works = no; then REPLACE_HUGE_VAL=1 fi dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [acosf acosl asinf asinl atanf atanl cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf expf expl exp2 exp2f exp2l expm1 expm1f expm1l fabsf fabsl floorf floorl fma fmaf fmal fmod fmodf fmodl frexpf frexpl hypotf hypotl ilogb ilogbf ilogbl ldexpf ldexpl log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l logb logbf logbl modf modff modfl powf remainder remainderf remainderl rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl tanf tanl tanhf trunc truncf truncl]) ]) AC_DEFUN([gl_MATH_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_MATH_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_MATH_H_DEFAULTS], [ GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF]) GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL]) GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF]) GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL]) GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF]) GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL]) GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F]) GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT]) GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF]) GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL]) GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL]) GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN]) GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF]) GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL]) GNULIB_COSF=0; AC_SUBST([GNULIB_COSF]) GNULIB_COSL=0; AC_SUBST([GNULIB_COSL]) GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF]) GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF]) GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL]) GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2]) GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F]) GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L]) GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1]) GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F]) GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L]) GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF]) GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL]) GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR]) GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) GNULIB_FMA=0; AC_SUBST([GNULIB_FMA]) GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF]) GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL]) GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD]) GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF]) GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL]) GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF]) GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT]) GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF]) GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL]) GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB]) GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF]) GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL]) GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF]) GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) GNULIB_LOG=0; AC_SUBST([GNULIB_LOG]) GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF]) GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL]) GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10]) GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F]) GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L]) GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P]) GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF]) GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL]) GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2]) GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F]) GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L]) GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB]) GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF]) GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL]) GNULIB_MODF=0; AC_SUBST([GNULIB_MODF]) GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF]) GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL]) GNULIB_POWF=0; AC_SUBST([GNULIB_POWF]) GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER]) GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF]) GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL]) GNULIB_RINT=0; AC_SUBST([GNULIB_RINT]) GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF]) GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL]) GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) GNULIB_SINF=0; AC_SUBST([GNULIB_SINF]) GNULIB_SINL=0; AC_SUBST([GNULIB_SINL]) GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF]) GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF]) GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL]) GNULIB_TANF=0; AC_SUBST([GNULIB_TANF]) GNULIB_TANL=0; AC_SUBST([GNULIB_TANL]) GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF]) GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF]) HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL]) HAVE_ASINF=1; AC_SUBST([HAVE_ASINF]) HAVE_ASINL=1; AC_SUBST([HAVE_ASINL]) HAVE_ATANF=1; AC_SUBST([HAVE_ATANF]) HAVE_ATANL=1; AC_SUBST([HAVE_ATANL]) HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F]) HAVE_CBRT=1; AC_SUBST([HAVE_CBRT]) HAVE_CBRTF=1; AC_SUBST([HAVE_CBRTF]) HAVE_CBRTL=1; AC_SUBST([HAVE_CBRTL]) HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN]) HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL]) HAVE_COSF=1; AC_SUBST([HAVE_COSF]) HAVE_COSL=1; AC_SUBST([HAVE_COSL]) HAVE_COSHF=1; AC_SUBST([HAVE_COSHF]) HAVE_EXPF=1; AC_SUBST([HAVE_EXPF]) HAVE_EXPL=1; AC_SUBST([HAVE_EXPL]) HAVE_EXPM1=1; AC_SUBST([HAVE_EXPM1]) HAVE_EXPM1F=1; AC_SUBST([HAVE_EXPM1F]) HAVE_FABSF=1; AC_SUBST([HAVE_FABSF]) HAVE_FABSL=1; AC_SUBST([HAVE_FABSL]) HAVE_FMA=1; AC_SUBST([HAVE_FMA]) HAVE_FMAF=1; AC_SUBST([HAVE_FMAF]) HAVE_FMAL=1; AC_SUBST([HAVE_FMAL]) HAVE_FMODF=1; AC_SUBST([HAVE_FMODF]) HAVE_FMODL=1; AC_SUBST([HAVE_FMODL]) HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF]) HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF]) HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL]) HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB]) HAVE_ILOGBF=1; AC_SUBST([HAVE_ILOGBF]) HAVE_ILOGBL=1; AC_SUBST([HAVE_ILOGBL]) HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF]) HAVE_LOGF=1; AC_SUBST([HAVE_LOGF]) HAVE_LOGL=1; AC_SUBST([HAVE_LOGL]) HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F]) HAVE_LOG10L=1; AC_SUBST([HAVE_LOG10L]) HAVE_LOG1P=1; AC_SUBST([HAVE_LOG1P]) HAVE_LOG1PF=1; AC_SUBST([HAVE_LOG1PF]) HAVE_LOG1PL=1; AC_SUBST([HAVE_LOG1PL]) HAVE_LOGBF=1; AC_SUBST([HAVE_LOGBF]) HAVE_LOGBL=1; AC_SUBST([HAVE_LOGBL]) HAVE_MODFF=1; AC_SUBST([HAVE_MODFF]) HAVE_MODFL=1; AC_SUBST([HAVE_MODFL]) HAVE_POWF=1; AC_SUBST([HAVE_POWF]) HAVE_REMAINDER=1; AC_SUBST([HAVE_REMAINDER]) HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF]) HAVE_RINT=1; AC_SUBST([HAVE_RINT]) HAVE_RINTL=1; AC_SUBST([HAVE_RINTL]) HAVE_SINF=1; AC_SUBST([HAVE_SINF]) HAVE_SINL=1; AC_SUBST([HAVE_SINL]) HAVE_SINHF=1; AC_SUBST([HAVE_SINHF]) HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF]) HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL]) HAVE_TANF=1; AC_SUBST([HAVE_TANF]) HAVE_TANL=1; AC_SUBST([HAVE_TANL]) HAVE_TANHF=1; AC_SUBST([HAVE_TANHF]) HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) HAVE_DECL_CBRTF=1; AC_SUBST([HAVE_DECL_CBRTF]) HAVE_DECL_CBRTL=1; AC_SUBST([HAVE_DECL_CBRTL]) HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF]) HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL]) HAVE_DECL_COPYSIGNF=1; AC_SUBST([HAVE_DECL_COPYSIGNF]) HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) HAVE_DECL_EXP2=1; AC_SUBST([HAVE_DECL_EXP2]) HAVE_DECL_EXP2F=1; AC_SUBST([HAVE_DECL_EXP2F]) HAVE_DECL_EXP2L=1; AC_SUBST([HAVE_DECL_EXP2L]) HAVE_DECL_EXPM1L=1; AC_SUBST([HAVE_DECL_EXPM1L]) HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF]) HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL]) HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) HAVE_DECL_LOG10L=1; AC_SUBST([HAVE_DECL_LOG10L]) HAVE_DECL_LOG2=1; AC_SUBST([HAVE_DECL_LOG2]) HAVE_DECL_LOG2F=1; AC_SUBST([HAVE_DECL_LOG2F]) HAVE_DECL_LOG2L=1; AC_SUBST([HAVE_DECL_LOG2L]) HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB]) HAVE_DECL_REMAINDER=1; AC_SUBST([HAVE_DECL_REMAINDER]) HAVE_DECL_REMAINDERL=1; AC_SUBST([HAVE_DECL_REMAINDERL]) HAVE_DECL_RINTF=1; AC_SUBST([HAVE_DECL_RINTF]) HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND]) HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF]) HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL]) HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL]) HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL]) HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL]) REPLACE_CBRTF=0; AC_SUBST([REPLACE_CBRTF]) REPLACE_CBRTL=0; AC_SUBST([REPLACE_CBRTL]) REPLACE_CEIL=0; AC_SUBST([REPLACE_CEIL]) REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) REPLACE_EXPM1=0; AC_SUBST([REPLACE_EXPM1]) REPLACE_EXPM1F=0; AC_SUBST([REPLACE_EXPM1F]) REPLACE_EXP2=0; AC_SUBST([REPLACE_EXP2]) REPLACE_EXP2L=0; AC_SUBST([REPLACE_EXP2L]) REPLACE_FABSL=0; AC_SUBST([REPLACE_FABSL]) REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR]) REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) REPLACE_FMA=0; AC_SUBST([REPLACE_FMA]) REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF]) REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL]) REPLACE_FMOD=0; AC_SUBST([REPLACE_FMOD]) REPLACE_FMODF=0; AC_SUBST([REPLACE_FMODF]) REPLACE_FMODL=0; AC_SUBST([REPLACE_FMODL]) REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF]) REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT]) REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF]) REPLACE_HYPOTL=0; AC_SUBST([REPLACE_HYPOTL]) REPLACE_ILOGB=0; AC_SUBST([REPLACE_ILOGB]) REPLACE_ILOGBF=0; AC_SUBST([REPLACE_ILOGBF]) REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) REPLACE_LOG=0; AC_SUBST([REPLACE_LOG]) REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF]) REPLACE_LOGL=0; AC_SUBST([REPLACE_LOGL]) REPLACE_LOG10=0; AC_SUBST([REPLACE_LOG10]) REPLACE_LOG10F=0; AC_SUBST([REPLACE_LOG10F]) REPLACE_LOG10L=0; AC_SUBST([REPLACE_LOG10L]) REPLACE_LOG1P=0; AC_SUBST([REPLACE_LOG1P]) REPLACE_LOG1PF=0; AC_SUBST([REPLACE_LOG1PF]) REPLACE_LOG1PL=0; AC_SUBST([REPLACE_LOG1PL]) REPLACE_LOG2=0; AC_SUBST([REPLACE_LOG2]) REPLACE_LOG2F=0; AC_SUBST([REPLACE_LOG2F]) REPLACE_LOG2L=0; AC_SUBST([REPLACE_LOG2L]) REPLACE_LOGB=0; AC_SUBST([REPLACE_LOGB]) REPLACE_LOGBF=0; AC_SUBST([REPLACE_LOGBF]) REPLACE_LOGBL=0; AC_SUBST([REPLACE_LOGBL]) REPLACE_MODF=0; AC_SUBST([REPLACE_MODF]) REPLACE_MODFF=0; AC_SUBST([REPLACE_MODFF]) REPLACE_MODFL=0; AC_SUBST([REPLACE_MODFL]) REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) REPLACE_REMAINDER=0; AC_SUBST([REPLACE_REMAINDER]) REPLACE_REMAINDERF=0; AC_SUBST([REPLACE_REMAINDERF]) REPLACE_REMAINDERL=0; AC_SUBST([REPLACE_REMAINDERL]) REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL]) REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC]) REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF]) REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) ]) # gl_LONG_DOUBLE_VS_DOUBLE # determines whether 'long double' and 'double' have the same representation. # Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines # HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly. # The currently known platforms where this is the case are: # Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9. AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE], [ AC_CACHE_CHECK([whether long double and double are the same], [gl_cv_long_double_equals_double], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[typedef int check[sizeof (long double) == sizeof (double) && LDBL_MANT_DIG == DBL_MANT_DIG && LDBL_MAX_EXP == DBL_MAX_EXP && LDBL_MIN_EXP == DBL_MIN_EXP ? 1 : -1]; ]])], [gl_cv_long_double_equals_double=yes], [gl_cv_long_double_equals_double=no]) ]) if test $gl_cv_long_double_equals_double = yes; then AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1], [Define to 1 if 'long double' and 'double' have the same representation.]) HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1 else HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0 fi AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]) ]) coreutils-8.21/m4/raise.m40000664000000000000000000000171012071024546012233 00000000000000# raise.m4 serial 3 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RAISE], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_MSVC_INVAL]) AC_CHECK_FUNCS([raise]) if test $ac_cv_func_raise = no; then HAVE_RAISE=0 else if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_RAISE=1 fi m4_ifdef([gl_SIGNALBLOCKING], [ gl_SIGNALBLOCKING if test $HAVE_POSIX_SIGNALBLOCKING = 0; then m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_RAISE=1 fi ], [:]) fi ]) fi ]) # Prerequisites of lib/raise.c. AC_DEFUN([gl_PREREQ_RAISE], [:]) coreutils-8.21/m4/write-any-file.m40000664000000000000000000000061212071024546013764 00000000000000# Determine whether we can write any file. # Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_WRITE_ANY_FILE], [ AC_CHECK_HEADERS_ONCE([priv.h]) ]) coreutils-8.21/m4/euidaccess.m40000664000000000000000000000346512071024546013251 00000000000000# euidaccess.m4 serial 15 dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_NONREENTRANT_EUIDACCESS], [ AC_REQUIRE([gl_FUNC_EUIDACCESS]) AC_CHECK_DECLS([setregid]) AC_DEFINE([PREFER_NONREENTRANT_EUIDACCESS], [1], [Define this if you prefer euidaccess to return the correct result even if this would make it nonreentrant. Define this only if your entire application is safe even if the uid or gid might temporarily change. If your application uses signal handlers or threads it is probably not safe.]) ]) AC_DEFUN([gl_FUNC_EUIDACCESS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare euidaccess(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS([euidaccess]) if test $ac_cv_func_euidaccess = no; then HAVE_EUIDACCESS=0 fi ]) # Prerequisites of lib/euidaccess.c. AC_DEFUN([gl_PREREQ_EUIDACCESS], [ dnl Prefer POSIX faccessat over non-standard euidaccess. AC_CHECK_FUNCS_ONCE([faccessat]) dnl Try various other non-standard fallbacks. AC_CHECK_HEADERS([libgen.h]) AC_FUNC_GETGROUPS # Solaris 9 and 10 need -lgen to get the eaccess function. # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. LIB_EACCESS= AC_SUBST([LIB_EACCESS]) gl_saved_libs=$LIBS AC_SEARCH_LIBS([eaccess], [gen], [test "$ac_cv_search_eaccess" = "none required" || LIB_EACCESS=$ac_cv_search_eaccess]) AC_CHECK_FUNCS([eaccess]) LIBS=$gl_saved_libs ]) coreutils-8.21/m4/wcrtomb.m40000664000000000000000000000661012071024546012611 00000000000000# wcrtomb.m4 serial 11 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCRTOMB], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([wcrtomb]) if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 AC_CHECK_DECLS([wcrtomb],,, [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_wcrtomb = yes; then dnl On Minix 3.1.8, the system's declares wcrtomb() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_WCRTOMB=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 else dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes dnl returns 0 instead of 1. AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether wcrtomb return value is correct], [gl_cv_func_wcrtomb_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { int result = 0; if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 1; } if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 2; } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 4; } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 8; } return result; }]])], [gl_cv_func_wcrtomb_retval=yes], [gl_cv_func_wcrtomb_retval=no], [:]) fi ]) case "$gl_cv_func_wcrtomb_retval" in *yes) ;; *) REPLACE_WCRTOMB=1 ;; esac fi fi ]) # Prerequisites of lib/wcrtomb.c. AC_DEFUN([gl_PREREQ_WCRTOMB], [ : ]) coreutils-8.21/m4/intmax_t.m40000664000000000000000000000416612071024546012763 00000000000000# intmax_t.m4 serial 8 dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. AC_PREREQ([2.53]) # Define intmax_t to 'long' or 'long long' # if it is not already defined in or . AC_DEFUN([gl_AC_TYPE_INTMAX_T], [ dnl For simplicity, we assume that a header file defines 'intmax_t' if and dnl only if it defines 'uintmax_t'. AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], [Define to long or long long if and don't define.]) else AC_DEFINE([HAVE_INTMAX_T], [1], [Define if you have the 'intmax_t' type in or .]) fi ]) dnl An alternative would be to explicitly test for 'intmax_t'. AC_DEFUN([gt_AC_TYPE_INTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif ]], [[intmax_t x = -1; return !x;]])], [gt_cv_c_intmax_t=yes], [gt_cv_c_intmax_t=no])]) if test $gt_cv_c_intmax_t = yes; then AC_DEFINE([HAVE_INTMAX_T], [1], [Define if you have the 'intmax_t' type in or .]) else AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], [Define to long or long long if and don't define.]) fi ]) coreutils-8.21/m4/ChangeLog-20070000664000000000000000000052220112102337340013023 000000000000002008-03-02 Jim Meyering * prereq.m4: Don't require gl_SHA256 or gl_SHA512. 2007-08-30 Eric Blake * jm-macros.m4 (coreutils_MACROS): Remove GNU_PACKAGE. 2007-04-25 Jim Meyering * autobuild.m4: Remove file. Now, provided by gnulib. 2007-01-19 Jim Meyering * .cvsignore, .gitignore: Add more bootstrap-inserted file names. 2006-12-12 Jim Meyering * jm-macros.m4: Remove AC_FUNC_SETVBUF_REVERSED, now that it's a no-op. 2006-10-14 Paul Eggert * sha512.m4 (gl_SHA512): Add u64.h to AC_LIBSOURCES. 2006-10-12 Jim Meyering * jm-macros.m4 (coreutils_MACROS): Rename from gl_MACROS, now that most of the gnulib macros have migrated into gnulib. Don't call gl_INIT here (now it's called from configure.ac, directly). 2006-10-07 Jim Meyering * jm-macros.m4 (gl_MACROS): Remove use of AC_CONFIG_LIBOBJ_DIR(lib). It is no longer needed, and was causing dependencies to appear in lib/lib/.deps, which provoked a "make distcheck" failure. 2006-09-29 Jim Meyering * readdir.m4: Remove file once again. * jm-macros.m4: Remove reference to gl_FUNC_READDIR. 2006-09-28 Jim Meyering * jm-macros.m4: Require the new macro. * readdir.m4 (gl_FUNC_READDIR): Rename from GL_FUNC_READDIR. Increment serial number. * readdir.m4: Revivify this file. We need it to work around a bug on Darwin 0.7.x. 2006-09-01 Paul Eggert * .cvsignore: Add fcntl_h.m4, getloadavg.m4, inttypes-h.m4, inttypes-prio.m4, inttypes.m,4 isapipe.m4. * jm-macros.m4 (gl_MACROS): Call cu_PREREQ_STAT_PROG rather than AC_REQUIREing, so that sys/mount.h isn't tested for after the test result. I'm not sure why this fix is needed, but it works. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Revamp to reflect better what stat.c actually needs. 2006-08-29 Paul Eggert * stat-prog.m4 (cu_PREREQ_STAT_PROG): Check for __val versus val components of fsid. Omit some checks that stat.c doesn't care about. 2006-08-26 Paul Eggert * .cvsignore: Add config-h.m4. 2006-08-22 Paul Eggert * .cvsignore: Remove Makefile, dev-ino.m4, glibc2.m4, intdiv0.m4, inttypes-h.m4, inttypes-pri.m4, jm-glibc-io.m4, lcmessage.m4, lock.m4, printf-posix.m4, same-inode.m4, size_max.m4, uintmax_t.m4, ulonglong.m4, visibility.m4, xsize.m4. Many of these are put in automatically by ../bootstrap, but that's a bootstrap bug that I plan to fix shortly. 2006-08-22 Bruno Haible BeOS portability. * boottime.m4 (GNULIB_BOOT_TIME): Test also for utmp.h, utmpx.h, OS.h. Don't require to have utmp.h or utmpx.h. Enable boottime support if is found. 2006-08-22 Jim Meyering * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-21 Paul Eggert * argmatch.m4: Remove from CVS, since ../bootstrap generates it automatically. 2006-08-20 Paul Eggert Add a bootstrap procedure, so that the CVS version contains fewer files and we bootstrap the rest from gnulib, gettext, etc. * check-decl.m4 (gl_CHECK_DECLS): Don't include stdio.h, string.h, stdlib.h, unistd.h, sys/time.h, time.h. Use AC_CHECK_DECLS_ONCE for free, getenv, geteuid, getlogin, getuid, lseek, malloc, memchr, realloc. Don't check for getutent, memrchr, nanosleep, stpcpy, strndup, strnlen, strstr, strtoul, strtoull. (_gl_DECL_HEADERS): Remove; all uses removed. * jm-macros.m4 (gl_MACROS): Move AC_PREREQ into configure.ac for the benefit of gnulib-tool. Call gl_INIT. Do not call or require the following, since gnulib now does this: gl_HOST_OS, gl_ASSERT, gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE, gl_CHECK_TYPE_STRUCT_DIRENT_D_INO, gl_FUNC_DIRFD, AC_FUNC_ACL, gl_FUNC_LCHMOD, gl_FUNC_LCHOWN, gl_FUNC_RMDIR_NOTEMPTY, gl_FUNC_CHOWN, AC_FUNC_LSTAT, AC_FUNC_STRERROR_R, gl_FUNC_GROUP_MEMBER, gl_AC_FUNC_LINK_FOLLOWS_SYMLINK, gl_FUNC_FPENDING, gt_INTTYPES_PRI, gl_ULLONG_MAX, gl_FUNC_GETGROUPS, AC_FUNC_ALLOCA, AC_FUNC_GETLOADAVG, gl_SYS_PROC_UPTIME, gl_FUNC_FTRUNCATE, AC_REPLACE_FUNCS(raise), AC_CHECK_FUNCS_ONCE(gettimeofday), AC_FUNC_GETTIMEOFDAY_CLOBBER, AC_FUNC_CLOSEDIR_VOID, AC_FUNC_STRTOD, gl_GLIBC21, AM_ICONV, gl_FUNC_UNLINK_BUSY_TEXT, gl_FSUSAGE, gl_MOUNTLIST, gl_AC_DOS, AC_FUNC_CANONICALIZE_FILE_NAME, gl_FUNC_FREE, gl_FUNC_CHDIR_LONG, gl_FUNC_XFTS, gl_ROOT_DEV_INO, gl_VERSION_ETC, gl_DIACRIT, gl_TYPE_SOCKLEN_T, gl_FPRINTFTIME, gl_CHDIR_SAFER. Don't check for fchmod, hasmntopt, isascii, lchown, listmntent, mempcpy, realpath, wcrtomb, tzset. (gl_CHECK_ALL_HEADERS): Don't check for sys/statvfs.h, sys/vfs.h, sys/mount.h. (gl_CHECK_ALL_TYPES): Require AC_TYPE_UNSIGNED_LONG_LONG_INT. Don't check for struct stat.st_blksize. Don't require AC_STRUCT_ST_DM_MODE, gt_TYPE_SSIZE_T, gl_AC_TYPE_UINT32_T, gl_AC_TYPE_UINTMAX_T, gl_AC_TYPE_UINTPTR_T, gl_AC_TYPE_UNSIGNED_LONG_LONG. * prereq.m4 (gl_PREREQ): Require gl_FUNC_XFTS, gl_ROOT_DEV_INO. Don't require AM_STDBOOL_H, gl_ALLOCSA, gl_BACKUPFILE, gl_BASENAME, gl_C_STRTOD, gl_C_STRTOLD, gl_CANON_HOST, gl_CLOEXEC, gl_CLOSE_STREAM, gl_CLOSEOUT, gl_DIRNAME, gl_ERROR, gl_EXCLUDE, gl_EXITFAIL, gl_FCNTL_SAFER, gl_FILEBLOCKS, gl_FILEMODE, gl_FILE_NAME_CONCAT, gl_FILE_TYPE, gl_FSUSAGE, gl_FOPEN_SAFER, gl_FUNC_ALLOCA, gl_FUNC_ATEXIT, gl_FUNC_DUP2, gl_FUNC_FNMATCH_GNU, gl_FUNC_GETHOSTNAME, gl_FUNC_GETLINE, AC_FUNC_GETLOADAVG, gl_FUNC_GETPASS_GNU, gl_FUNC_GETUSERSHELL, gl_FUNC_LSTAT, gl_FUNC_MEMCHR, gl_FUNC_MEMCPY, gl_FUNC_MEMMOVE, gl_FUNC_MEMPCPY, gl_FUNC_MEMRCHR, gl_FUNC_MEMSET, gl_FUNC_MKDIR_TRAILING_SLASH, gl_FUNC_MKTIME, gl_FUNC_MKSTEMP, gl_FUNC_READLINK, gl_FUNC_RMDIR, gl_FUNC_RPMATCH, gt_FUNC_SETENV, gl_FUNC_SIG2STR, gl_FUNC_SNPRINTF, gl_FUNC_STPCPY, gl_FUNC_STRCSPN, gl_FUNC_STRDUP, gl_FUNC_STRNDUP, gl_FUNC_STRNLEN, gl_FUNC_STRPBRK, gl_FUNC_STRSTR, gl_FUNC_STRTOD, gl_FUNC_STRTOIMAX, gl_FUNC_STRTOLL, gl_FUNC_STRTOL, gl_FUNC_STRTOULL, gl_FUNC_STRTOUL, gl_FUNC_STRTOUMAX, gl_FUNC_STRVERSCMP, gl_FUNC_TZSET_CLOBBER, gl_FUNC_VASNPRINTF, gl_FUNC_VASPRINTF, gl_FUNC_WCWIDTH, gl_GETADDRINFO, gl_GETDATE, gl_GETHRXTIME, gl_GETNDELIM2, gl_GETOPT, gl_GETPAGESIZE, gl_GETTIME, gl_GETUGROUPS, gl_HARD_LOCALE, gl_HASH, gl_HASH_PJW, gl_HEADER_ARPA_INET, gl_HEADER_NETINET_IN, gl_HEADER_SYS_SOCKET, gl_HUMAN, gl_IDCACHE, gl_INET_NTOP, gl_INTTOSTR, gl_LINEBUFFER, gl_LOCALCHARSET, gl_LONG_OPTIONS, gl_MBCHAR, gl_MBITER, gl_MBSWIDTH, gl_MD5, gl_MEMCOLL, gl_MKANCESDIRS, gl_MKDIR_PARENTS, gl_MODECHANGE, gl_MOUNTLIST, gl_OBSTACK, gl_PATHMAX, gl_PHYSMEM, gl_POSIXTM, gl_POSIXVER, gl_QUOTEARG, gl_QUOTE, gl_READTOKENS, gl_READUTMP, gl_REGEX, gl_SAFE_READ, gl_SAFE_WRITE, gl_SAME, gl_SAVEDIR, gl_SAVE_CWD, gl_SETTIME, gl_SHA1, gl_STAT_MACROS, gl_STAT_TIME, gl_STDARG_H, gl_STDINT_H, gl_STDLIB_SAFER, gl_STRCASE, gl_STRIPSLASH, gl_TIMESPEC, gl_TIME_R, gl_TYPE_SOCKLEN_T, gl_UNICODEIO, gl_UNISTD_SAFER, gl_UNLINKDIR, gl_USERSPEC, gl_UTIMECMP, gl_UTIMENS, gl_XALLOC, gl_XGETCWD, gl_XNANOSLEEP, gl_XREADLINK, gl_XSTRTOD, gl_XSTRTOL, gl_XSTRTOLD, gl_YESNO, AC_FUNC_CALLOC, gl_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_GNU_STRFTIME, AC_FUNC_MALLOC, gl_FUNC_MEMCMP, gl_FUNC_NANOSLEEP, gl_FUNC_PUTENV, AC_FUNC_REALLOC, gl_FUNC_UTIME, gl_XSTRTOIMAX, gl_XSTRTOUMAX, vb_FUNC_RENAME, gl_FUNC_FTS, gl_MEMCASECMP, gl_STRIPSLASH, gl_LINEBUFFER, gl_ARGMATCH, gl_CYCLE_CHECK, gl_EUIDACCESS_STAT, since gnulib handles this. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Don't check for sys/sysmacros.h. Don't check for statvfs. Use AC_CHECK_HEADERS_ONCE for netinet/in.h, nfs/nfs_clnt.h, nfs/vfs.h. Don't require gl_AC_TYPE_LONG_LONG, gt_HEADER_INTTYPES_H. * absolute-header.m4, acl.m4, alloca.m4, allocsa.m4, arpa_inet_h.m4: * assert.m4, atexit.m4, backupfile.m4, basename.m4, bison.m4: * c-strtod.m4, c.m4, calloc.m4, canon-host.m4, canonicalize.m4: * chdir-long.m4, chdir-safer.m4, chown.m4, clock_time.m4: * cloexec.m4, close-stream.m4, closeout.m4, codeset.m4: * cycle-check.m4, d-ino.m4, d-type.m4, dev-ino.m4, diacrit.m4: * dirfd.m4, dirname.m4, dos.m4, double-slash-root.m4, dup2.m4: * eealloc.m4, eoverflow.m4, error.m4, euidaccess.m4, exclude.m4: * exitfail.m4, extensions.m4, fcntl-safer.m4, file-type.m4: * fileblocks.m4, filemode.m4, filenamecat.m4, fnmatch.m4: * fpending.m4, fprintftime.m4, free.m4, fstypename.m4, fsusage.m4: * ftruncate.m4, fts.m4, getaddrinfo.m4, getcwd-abort-bug.m4: * getcwd-path-max.m4, getcwd.m4, getdate.m4, getdelim.m4: * getgroups.m4, gethostname.m4, gethrxtime.m4, getline.m4: * getndelim2.m4, getopt.m4, getpagesize.m4, getpass.m4, gettext.m4: * gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4: * glibc21.m4, group-member.m4, hard-locale.m4, hash-pjw.m4, hash.m4: * host-os.m4, human.m4, iconv.m4, idcache.m4, inet_ntop.m4: * intmax_t.m4, inttostr.m4, inttypes-h.m4, inttypes-pri.m4: * inttypes.m4, inttypes_h.m4, isc-posix.m4, jm-winsz1.m4: * jm-winsz2.m4, lchmod.m4, lchown.m4, lib-ignore.m4, lib-ld.m4: * lib-link.m4, lib-prefix.m4, linebuffer.m4, link-follow.m4: * localcharset.m4, long-options.m4, longdouble.m4, longlong.m4: * ls-mntd-fs.m4, lstat.m4, mbchar.m4, mbiter.m4, mbrtowc.m4: * mbstate_t.m4, mbswidth.m4, md5.m4, memcasecmp.m4, memchr.m4: * memcmp.m4, memcoll.m4, memcpy.m4, memmove.m4, mempcpy.m4: * memrchr.m4, memset.m4, mkancesdirs.m4, mkdir-p.m4, mkdir-slash.m4: * mkstemp.m4, mktime.m4, modechange.m4, mountlist.m4, nanosleep.m4: * netinet_in_h.m4, nls.m4, obstack.m4, openat.m4, pathmax.m4: * perl.m4, physmem.m4, po.m4, posixtm.m4, posixver.m4, progtest.m4: * putenv.m4, quote.m4, quotearg.m4, readlink.m4, readtokens.m4: * readutmp.m4, regex.m4, rename.m4, rmdir-errno.m4, rmdir.m4: * rpmatch.m4, safe-read.m4, safe-write.m4, same-inode.m4, same.m4: * save-cwd.m4, savedir.m4, setenv.m4, settime.m4, sha1.m4: * sig2str.m4, signed.m4, snprintf.m4, socklen.m4, sockpfaf.m4: * ssize_t.m4, st_dm_mode.m4, stat-macros.m4, stat-time.m4: * stdarg.m4, stdbool.m4, stdint.m4, stdint_h.m4, stdio-safer.m4: * stdlib-safer.m4, stpcpy.m4, strcase.m4, strcspn.m4, strdup.m4: * strftime.m4, stripslash.m4, strndup.m4, strnlen.m4, strpbrk.m4: * strstr.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4: * strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4: * sys_socket_h.m4, time_r.m4, timespec.m4, tm_gmtoff.m4, tzset.m4: * uint32_t.m4, uintmax_t.m4, uintptr_t.m4, ullong_max.m4: * ulonglong.m4, unicodeio.m4, unistd-safer.m4, unlink-busy.m4: * unlinkdir.m4, unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4: * utime.m4, utimecmp.m4, utimens.m4, utimes-null.m4, utimes.m4: * vasnprintf.m4, vasprintf.m4, version-etc.m4, wchar_t.m4: * wcwidth.m4, wint_t.m4, xalloc.m4, xgetcwd.m4, xnanosleep.m4: * xreadlink.m4, xstrtod.m4, xstrtoimax.m4, xstrtol.m4: * xstrtoumax.m4, yesno.m4: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-18 Bruno Haible * ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for sys/statvfs.h. When getmntinfo was found, check its declaration and set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Test also for f_fstypename in struct statvfs. 2006-08-18 Jim Meyering * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via gettime.c. Gabor Z. Papp reported that gethrxtime-using programs failed to link due to unresolved clock_gettime on a linux-2.4.x system. 2006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * check-decl.m4: Likewise. 2006-08-15 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. 2006-08-10 Jim Meyering Update from gnulib. * cycle-check.m4 (gl_CYCLE_CHECK): Don't mention same-inode.h. Require gl_STRUCT_DEV_INO and gl_SAME_INODE. * dev-ino.m4, same-inode.m4: New files. 2006-08-10 Paul Eggert Accommodate new getaddrinfo implementation in gnulib. * arpa_inet_h.m4, inet_ntop.m4, netinet_in_h.m4, snprintf.m4: New files, from gnulib. * prereq.m4 (gl_PREREQ): Require gl_FUNC_SNPRINTF, gl_GETADDRINFO, gl_HEADER_ARPA_INET, gl_HEADER_NETINET_IN, gl_HEADER_SYS_SOCKET, gl_INET_NTOP, gl_TYPE_SOCKEN_T. 2006-08-09 Paul Eggert * inttypes-h.m4, stdarg.m4: New files, from gnulib. * prereq.m4 (gl_PREREQ): Require gl_STDARG_H. Require gl_FOPEN_SAFER rather than gl_STDIO_SAFER (due to renaming). * getline.m4, gettext.m4, inttypes-pri.m4, lib-link.m4, localcharset.m4: * mbchar.m4, nls.m4, po.m4, stdint.m4, stdio-safer.m4, unistd-safer.m4: * wcwidth.m4: Update from gnulib. 2006-08-08 Paul Eggert * memxfrm.m4, randint.m4, randperm.m4, randread.m4: New files. * prereq.m4 (gl_PREREQ): Require gl_MEMXFRM, gl_RANDINT, gl_RANDPERM, gl_RANDREAD. * restrict.m4: Remove, now that we assume Autoconf 2.58 or later. All uses of gl_C_RESTRICT changed to AC_C_RESTRICT. 2006-07-22 Paul Eggert * close-stream.m4: New file. * prereq.m4 (gl_PREREQ): Require gl_CLOSE_STREAM. 2006-07-16 Paul Eggert * mkancesdirs.m4: New file. * afs.m4: Remove; no longer needed. * jm-macros.m4 (gl_MACROS): Remove gl_AFS. * mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c, dirchownmod.h. Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; no longer needed. Require gl_FUNC_LCHOWN, since dirchownmod.c needs it. * prereq.m4 (gl_PREREQ): Require gl_MKANCESDIRS. 2006-07-11 Eric Blake * absolute-header.m4: Fix comments to match recent change. 2006-07-10 Derek R. Price and Paul Eggert * backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4: * savedir.m4: Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN macros into the GNU _D_EXACT_NAMLEN. 2006-07-10 Paul Eggert * stdint.m4 (gl_STDINT_H): Like yesterday's change to absolute-header.m4. Also, set ABSOLUTE_STDINT_H to a string "no/such/file/stdint.h" when there is no such file, so that the resulting C code can be parsed by dodgy compilers. Problems reported by Bob Proulx. 2006-07-09 Paul Eggert * absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <> around the absolute name, to work around a problem with the HP-UX 11.23 native C compiler, reported by Bob Proulx. Update from gnulib, as follows: 2006-07-06 Derek R. Price and Paul Eggert * backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead of invoking obsolescent AC_HEADER_DIRENT macro. * d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. * d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise. * dirfd.m4 (gl_FUNC_DIRFD): Likewise. * fts.m4 (gl_FUNC_FTS_CORE): Likewise. * getcwd.m4 (gl_PREREQ_GETCWD): Likewise. * savedir.m4 (gl_SAVEDIR): Likewise. 2006-07-06 Ralf Wildenhues * fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may expand to nothing, so add a shell command to avoid syntax error. * getpass.m4 (gl_PREREQ_GETPASS): Likewise. 2006-07-06 Paul Eggert * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl; no longer needed. Check for isblank decl. * mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl. * regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead of existence. 2006-07-05 Paul Eggert * xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE rather than AC_CHECK_DECLS for strtoimax and strtoumax. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer needed. All uses removed. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer needed. * getdate.m4 (gl_GETDATE): Likewise. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * memcasecmp.m4 (gl_MEMCASECMP): Likewise. * strtod.m4 (gl_FUNC_STRTOD): Likewise. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. * exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer needed. 2006-07-05 Derek R. Price * calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; no longer needed. * exclude.m4 (gl_EXCLUDE): Likewise. * getdate.m4 (gl_GETDATE): Likewise. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * memcasecmp.m4 (gl_MEMCASECMP): Likewise. * strtod.m4 (gl_FUNC_STRTOD): Likewise. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. 2006-07-05 Eric Blake * sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET to avoid 'header present but could not be compiled' on cygwin. 2006-07-03 Bruno Haible * strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether the function exists, before testing against AIX. Reported by Martin Lambers . 2006-07-04 Paul Eggert * absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes to the absolute name, not just one, to bypass Sun C 5.8's "warning: #include of /usr/include/... may be non-portable". 2006-07-03 Paul Eggert * absolute-header.m4: Renamed from full-header-path.m4. This is to keep the terminology clean; POSIX talks about "absolute pathnames", not "full pathnames", but the GNU Coding Standards say to use "path" for something else; so use "absolute" to keep both sides happy. (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. Set gl_absolute_header, not gl_full_header_path. Set gl_cv_absolute_
, not gl_full_path_
. Define ABSOLUTE_
, not FULL_PATH_
. All uses changed. 2006-07-08 Jim Meyering * link-follow.m4: Remove one of two adjacent "whether"s in a comment. * getopt.m4: Remove one of two adjacent "your"s in a comment. * autobuild.m4: Remove one of two adjacent "can"s in a comment. * regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a comment. 2006-07-03 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_FUNC_WCWIDTH, to accommodate changes mentioned below. * setenv.m4 (gt_FUNC_SETENV): Undo private change that added an AC_LIBSOURCES line here, since Bruno didn't buy it back. Instead, update ../lib/Makefile.am to mention the files explicitly. Sync from gnulib. 2006-06-28 Simon Josefsson * getaddrinfo.m4: Look for getnameinfo prototypes too. 2006-06-28 Eric Blake * mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... * wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. 2006-06-22 Simon Josefsson * sockpfaf.m4: Include winsock2.h too, to make it work under MinGW. 2006-06-21 Simon Josefsson * getaddrinfo.m4: Don't define WINVER. Look for gethostbyname in -lws2_32 too. Fixes getaddrinfo on Windows 2000, with the price of using the (limited) gnulib implementation on Windows XP. 2006-06-17 Bruno Haible * setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test whether errno is declared. Assume declares errno. 2006-06-16 Eric Blake * rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares errno. 2006-06-15 Eric Blake * ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. 2006-04-20 Bruno Haible * getpass.m4 (gl_PREREQ_GETPASS): Don't call AC_CHECK_DECLS_ONCE with more than one argument, so that the code will be portable to Autoconf 2.60. * unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise. 2006-03-15 Eric Blake * dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. 2006-07-03 Jim Meyering * ftruncate.m4 (gl_FUNC_FTRUNCATE): Adjust diagnostic to recommend ./configure SKIP_FTRUNCATE_CHECK=yes, rather than env ... ./configure. Suggestion from Ralf Wildenhues. 2006-07-02 Paul Eggert * stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for test cases, so that config.log is a bit easier to follow. 2006-07-02 Jim Meyering * full-header-path.m4: New file, from gnulib. Required by stdint.m4. 2006-07-02 Paul Eggert * longlong.m4: Sync from gnulib. * stdint.m4: Likewise. * ulonglong.m4: Likewise. 2006-06-30 Paul Eggert * c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES. Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't want to require the building of c-strtod.o. * lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer needs -lm directly. * prereq.m4 (gl_PREREQ): Require gl_C_STRTOD and gl_XSTRTOLD. * xstrtod.m4 (gl_XSTRTOLD): New macro. 2006-06-29 Derek R. Price * strftime.m4: Don't call AC_FUNC_STRFTIME. 2006-06-28 Paul Eggert * jm-macros.m4 (jl_MACROS): Require 2.60, not 2.59d. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Don't require AC_C_CONST, since it's obsolete. 2006-06-28 Derek R. Price * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since it's obsolete. * strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise. * savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement. 2006-06-19 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's --as-needed option if available. Problem reported by Albert Chin in . However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11 cc merely issues a bunch of annoying warnings for --as-needed (this problem was reported by Bob Proulx). Also, try linking with -lm to detect a bug in binutils 2.16 (this problem was reported by Ralf Wildenhues). 2006-06-18 Jim Meyering Test for a bug that causes glibc's getcwd to suffer a failed assertion. * getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and macro. * getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null, also check for glibc-2.4's abort-inducing bug. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo. Low-probability clean-up should be to use rmdir to get rid of the just-created directory, not unlink. * ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make configure fail, and request a bug report to inform us about it. Add a comment that, barring reports to the contrary, in 2007 we'll assume ftruncate is universally available. 2006-06-10 Jim Meyering Apply this change from gnulib: 2006-05-30 Ralf Wildenhues Bruno Haible * strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a check for the declaration of strnlen and a run test that exposes the AIX 5.1 strnlen bug. In the failure case, #define strndup to rpl_strndup. 2006-05-28 Ralf Wildenhues * c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a compile test, for Tru64 4.0D. 2006-05-24 Jim Meyering * jm-macros.m4: Require autoconf-2.59d, for its fixed version of AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 2006-05-19 Paul Eggert * nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use gl_ rather than jm_. Link, don't run, so that cross-compiles are allowed. Check that resulting type is arithmetic. Move AC_REQUIRE and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're not really conditional on the cache. (gl_PREREQ_NANOSLEEP): Check for sys/select.h. 2006-05-14 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky test for C99 conformance; (bool) 0.5 is an integer constant expression, but (bool) -0.5 is not. Problem reported by Fedor Sergeev in . 2006-02-17 Eric Blake Sync from gnulib. * getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. 2006-04-24 Paul Eggert * unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype to define main with arguments, for C++. Reported by Eric Blake. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. * fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type for 'main', for C99 and C++. 2006-04-24 Paul Eggert * fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit. Don't assume that exit status -1 is valid. * nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * putenv.m4 (gl_FUNC_PUTENV): Likewise. * rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. * readdir.m4 (GL_FUNC_READDIR): Include . * rename.m4 (vb_FUNC_RENAME): Likewise. * unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE, not AC_TRY_RUN. Use return, not exit. Don't assume that functions can be used without declaring them, or that you can exit with status -1. * utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. 2006-04-17 Paul Eggert * filemode.m4 (gl_FILEMODE): Check for strmode declaration. 2006-04-12 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for setgroups and sync, since they are not in Interix. 2006-04-11 Paul Eggert * time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and time_r.h. 2006-04-09 Paul Eggert * regex.m4 (gl_REGEX): Check for new glibc interface to translation table. 2006-03-11 Eric Blake * double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT. * dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT. * dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h. (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define. 2006-03-25 Paul Eggert * regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP, REG_SYNTAX_EMACS, and REG_IGNORE_CASE. Settle for the traditional glibc names. Even if glibc is changed to conform to POSIX, the traditional names will be available anyway, since regex depends on the extensions module. Also, fix a longstanding typo in the implementation of Spencer ERE test #75 from grep 2.3. Problems reported by Emanuele Giaquinta. Also, change sense of cached variable, so that the message makes sense. 2006-03-17 Jim Meyering * regex.m4 (gl_REGEX): Fix typo in last change: s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. 2006-03-16 Paul Eggert * regex.m4 (gl_REGEX): Don't check for off_t, since the code no longer needs it. Instead, check that regoff_t is as least as wide as ptrdiff_t. Don't define _REGEX_WIDE_OFFSETS unless using the included regex, so that our regex.h stays compatible with the installed regex. This is helpful for installers who configure --without-included-regex. Problem reported by Emanuele Giaquinta. 2006-03-12 Jim Meyering * chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list. * cycle-check.m4 (gl_CYCLE_CHECK): Likewise. * same.m4 (gl_SAME): Likewise. * root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise. 2006-03-12 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_TIME_R. * time_r.m4: New file, from gnulib. 2006-03-01 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled pedantically. * nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * timespec.m4 (gl_TIMESPEC): Likewise. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test", not "==". Reported by Ralf Wildenhues. 2006-02-22 Ralf Wildenhues * mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and gl_CHDIR_SAFER. 2006-02-16 Eric Blake Sync from gnulib. * sys_socket_h.m4: New file. Solves 'present but cannot compile' warnings on cygwin, which cannot use ws2tcpip.h. * socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET. Don't use ws2tcpip.h if sys/socket.h works. * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET. (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present. 2006-02-14 Simon Josefsson Sync from gnulib. * getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and -lws2_32. Protect sys/socket.h and netdb.h #include's. Include ws2tcpip.h with WINVER=0x0501. All for mingw32. * socklen.m4: Look in ws2tcpip.h too, for mingw32. 2006-02-05 Paul Eggert * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define __EXTENSIONS__ if this causes compilation to fail. Problem reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED. 2006-01-26 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Sync from gnulib. Use 'defined __GNUC__' rather than __GNUC__. 2006-01-25 Paul Eggert * stdbool.m4: Merge from gnulib; we still don't quite match exactly, but we're getting closer. (AC_HEADER_STDBOOL): Add some comments. 2006-01-24 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). Reported by Mark D. Baushke. 2006-01-23 Paul Eggert * getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. 2006-01-20 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore rather than -Xlinker -z -Xlinker ignore, as it's more portable. Suggested by Bruno Haible. 2006-01-17 Jim Meyering * fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. 2006-01-16 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as it's not portable and it doesn't work with cross-compiles. Problem reported by Bruno Haible. Fix missing-$ typo in 'test "gl_cv_ignore_unused_libraries" ...' that prevented -zignore from being used with Sun's C compiler. 2006-01-13 Jim Meyering * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke AC_CHECK_FUNCS(getmntent) unconditionally so that tests of $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not double-quote uses of that variable, to accommodate the rare case in which getmntent is available in none of the libraries checked. This happens at least on FreeBSD 5.0. 2006-01-11 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_STDINT_H. * stdint.m4: New file, from gnulib. 2006-01-11 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. Check for the lchmod function. 2006-01-10 Paul Eggert * argmatch.m4 (gl_ARGMATCH): Don't require gl_FUNC_MEMCMP, for the sake of packages that don't want to worry about ancient systems. * getaddrinfo.m4, localcharset.m4, md5.m4, memcoll.m4: Sync from gnulib. 2006-01-10 Jim Meyering * fpending.m4: Also include , for Dragonfly. Patch by Joerg Sonnenberger. 2006-01-06 Paul Eggert * lib-ignore.m4: New file. 2006-01-01 Paul Eggert * chmod-safer.m4: Remove. * lchmod.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_FUNC_LCHMOD. Don't require gl_CHDIR_SAFER. 2005-12-21 Jim Meyering * chdir-safer.m4: New file. * jm-macros.m4: Require gl_CHDIR_SAFER. 2005-12-05 Andreas Gruenbacher * acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. 2005-12-14 Jim Meyering * fprintftime.m4: New file. * jm-macros.m4: Require gl_FPRINTFTIME. 2005-12-13 Paul Eggert * stdbool.m4 (AM_STDBOOL_H): Substitute HAVE__BOOL again, reverting 2005-11-25 change. (AC_HEADER_STDBOOL): Check for buggy compiler that has _Bool but mishandles _Bool |= _Bool. 2005-12-07 Paul Eggert * stat-time.m4 (gl_STAT_TIME): Add check for TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 porting problem reported by Georg Schwarz in . 2005-12-02 Paul Eggert * socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T. Use implementation from Albert Chin, with some comments/corrections by Stepan Kasal and myself. * jm-macros.m4 (gl_MACROS): Adjust to renaming. 2005-12-01 Paul Eggert * regex.m4 (gl_REGEX): Check whether off_t can be used in a switch statement, to work around an HP-UX 10.20 compiler bug reported by Peter O'Gorman. 2005-12-01 Bruno Haible Import from gnulib. * mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't compile mbchar.c if they are not both present. * mbiter.m4 (gl_MBITER): Likewise. * strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE. * strcase.m4 (gl_PREREQ_STRCASECMP): Likewise. 2005-11-30 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. Require openat-priv.h. 2005-11-25 Paul Eggert * stdbool.m4 (AM_STDBOOL_H): Don't bother substituting HAVE__BOOL; no longer needed. (gl_STDBOOL_H): New macro, from gnulib. (AC_HEADER_STDBOOL): Sync with gnulib. 2005-11-20 Jim Meyering * c.m4: Remove spurious space-before-TAB. * euidaccess-stat.m4 (gl_EUIDACCESS_STAT): New file/macro. * prereq.m4: Require gl_EUIDACCESS_STAT. 2005-11-18 Paul Eggert * c.m4: New file, to work around bugs in AIX cc. Problem reported by James Lemley. This file can go away after Autoconf 2.60 comes out. 2005-11-10 Paul Eggert * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME or gettimeofday; no longer needed. 2005-10-30 Paul Eggert * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local variables to suggest the intended function of the PATH_MAX check. 2005-10-30 Kean Johnston Trivial changes to support SCO systems. * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well as PATH_MAX. * fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems, where __ptr is null when no I/O is pending. 2005-08-27 David Madore * sha256.m4, sha512.m4: New files. * prereq.m4: Add gl_SHA256 and gl_SHA512. 2005-10-07 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Add an "#ifdef __xlc__" test, since yesterday's attempt didn't work. 2005-10-06 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Check that bool promotes to int, not unsigned int, to catch the AIX 5.3 compiler bug. 2005-10-02 Alfred M. Szmidt * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path... against `yes', rather than just testing for nonempty. 2005-10-01 Simon Josefsson * getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD and Darwin. 2005-10-01 Simon Josefsson * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use AC_GNU_SOURCE, GNU declares only getaddrinfo as an (POSIX) extension. Check for sys/types.h, sys/socket.h, and netdb.h too, needed by getaddrinfo.h. Check if getaddrinfo, freeaddrinfo and gai_strerror are declared by the POSIX headers. Check if struct addrinfo is declared. 2005-10-01 Jim Meyering * getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these libraries [inet nsl socket xnet]. Nelson Beebe reported that with native cc on Solaris 7, getaddrinfo.c requires -lsocket. 2005-09-29 Paul Eggert * openat.m4 (gl_FUNC_OPENAT): Check for fdopendir. 2005-09-28 Paul Eggert * ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that ULLONG_MAX doesn't work with 2.7.2.1. 2005-09-26 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes from glibc-2.2.5 that fails for read-only files. 2005-09-24 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for fchmod and fchown. * mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h, and don't compile mbchar.c unless both headers exist. See . 2005-09-24 Jim Meyering * getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname in the inet and nsl libraries. Required on Solaris 5.7. 2005-09-23 Paul Eggert * regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp, and similarly for the other external symbols. Problem reported by James Gallager. * fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux bug reported by Jim Meyering. * jm-macros.m4 (gl_MACROS): Don't require gl_CHECK_TYPE_STRUCT_UTIMBUF. (gl_CHECK_ALL_HEADERS): Don't check for utime.h. * utimens.m4 (gl_UTIMENS): Check for futimesat (Solaris 10). * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change; not needed, since socklen is a prerequisite module. 2005-09-23 Jim Meyering * jm-macros.m4 (gl_MACROS): AC_REQUIRE([gl_SOCKLEN_T]) here, now that it's no longer required by getaddrinfo.m4. Correct build failure (socklen_t not defined) on at least mips-sgi-irix6.5 and alphaev67-dec-osf5.1. * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. * socklen.m4: New file, from gnulib. 2005-09-22 Paul Eggert * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. 2005-09-21 Paul Eggert * check-decl.m4 (_gl_DECL_HEADERS): Don't bother checking for standard C headers, or for headers we no longer use. * jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_XANSTRFTIME; no longer needed. (gl_CHECK_ALL_HEADERS): Don't check for memory.h, mntent.h, mnttab.h, netdb.h, stdlib.h, stdint.h, string.h, sys/filsys.h, sys/fs/s5param.h, sys/fs_types.h, sys/fstyp.h, sys/mntent.h, sys/socket.h, sys/stafs.h, sys/timeb.h, unistd.h. No longer needed. * prereq.m4 (gl_PREREQ): Require gl_FUNC_GETLINE rather than AM_FUNC_GETLINE. Require gl_FUNC_GETPASS_GNU rather than gl_FUNC_GETPASS. Require gl_MBCHAR and gl_MBITER. * xanstrftime.m4: Remove; no longer used. * getaddrinfo.m4, getdelim.m4, mbchar.m4, mbiter.m4, sockpfaf.m4: New files, from gnulib. * backupfile.m4, bison.m4, calloc.m4: * canonicalize.m4, chown.m4, cloexec.m4, dup2.m4: * fileblocks.m4, free.m4, ftruncate.m4, fts.m4: * getcwd.m4, getopt.m4, getpagesize.m4, getpass.m4: * getugroups.m4, group-member.m4, idcache.m4: * lib-link.m4, lib-prefix.m4, link-follow.m4: * mkdir-p.m4, mkstemp.m4, mktime.m4, mountlist.m4: * nanosleep.m4, onceonly_2_57.m4, pathmax.m4: * physmem.m4, posixver.m4, putenv.m4, safe-read.m4: * same.m4, save-cwd.m4, stdio-safer.m4, strndup.m4: * strnlen.m4, unistd-safer.m4, unlinkdir.m4: * userspec.m4, xreadlink.m4, xstrtod.m4: Sync from gnulib. * canon-host.m4, getline.m4, mbrtowc.m4, strcase.m4, strstr.m4: Nontrivial sync from gnulib. 2005-09-16 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_TYPES): Do not require AC_STRUCT_ST_MTIM_NSEC; it's obsolete. * prereq.m4 (gl_PREREQ): Require gl_STAT_TIME. Import from gnulib. * st_mtim.m4: Remove. Superseded by... * stat-time.m4: New file. * timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE. Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed. 2005-09-13 Jim Meyering * autobuild.m4: New file, from autobuild. 2005-09-09 Paul Eggert * regex.m4: Import from gnulib, to fix some 64-bit bugs. 2005-09-01 Jim Meyering * lchown.m4: Require gl_FUNC_CHOWN, for the definition of CHOWN_MODIFIES_SYMLINK, which is used by lchown.c. Require gl_STAT_MACROS, too. 2005-08-27 Jim Meyering * fcntl-safer.m4, stdio-safer.m4, unistd-safer.m4: Sync from gnulib. 2005-08-01 Jim Meyering * xanstrftime.m4 (gl_FUNC_XANSTRFTIME): New file/macro. * jm-macros.m4: Require gl_FUNC_XANSTRFTIME. 2005-07-25 Paul Eggert * regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_ELSE instead of the obsolescent AC_TRY_RUN. Include the default includes files, for 'exit'. 2005-07-21 Paul Eggert * getdate.m4 (gl_C_COMPOUND_LITERALS): New macro. (gl_GETDATE): Use it. 2005-07-13 Paul Eggert * lib-check.m4 (cu_LIB_CHECK): Remove no-longer-necessary check for fesetround. 2005-07-08 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_HEADERS): Check for stropts.h. 2005-07-07 Paul Eggert * backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on pathconf. * same.m4 (gl_SAME): Likewise. Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase. Switch to Isamu Hasegawa's implementation of regex, which is now in gnulib. * regex.m4: Import from gnulib. 2005-07-04 Paul Eggert * prereq.m4 (gl_PREREQ): Don't require gl_TYPEOF; no longer needed. * typeof.m4: Remove; no longer needed. 2005-07-03 Paul Eggert Remove the dependency of the strftime module on the tzset module. * strftime.m4 (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER. * prereq.m4 (gl_PREREQ): Add gl_FUNC_TZSET_CLOBBER. 2005-07-03 Jim Meyering * lstat.m4 (gl_FUNC_LSTAT): New file, from gnulib. Use AC_LIBSOURCES to require lstat.c and lstat.h. Remove obsolete comment. 2005-07-03 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Don't require AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat module's job. * jm-macros.m4 (gl_MACROS): Likewise. * prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT. 2005-07-03 Jim Meyering * fcntl-safer.m4 (gl_FCNTL_SAFER): Add fcntl--.h to the list. * stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h to the list. * stdlib-safer.m4 (gl_STDLIB_SAFER): Add stdlib--.h to the list. * unistd-safer.m4 (gl_UNISTD_SAFER): Add unistd--.h to the list. 2005-07-02 Paul Eggert Cleanup to isolate "safer" functions to a small part of the code. * fcntl-safer.m4, fd-reopen.m4, stdlib-safer.m4: New files. * prereq.m4 (gl_PREREQ): Require gl_FCNTL_SAFER, gl_FD_REOPEN, gl_STDLIB_SAFER. 2005-07-02 Jim Meyering * check-decl.m4, chown.m4, free.m4, getcwd.m4, link-follow.m4: * mktime.m4: Assume HAVE_UNISTD_H, i.e., that works. 2005-07-01 Jim Meyering * chown.m4, cloexec.m4, dup2.m4, fsusage.m4, getcwd.m4, jm-macros.m4: * mkstemp.m4, mountlist.m4, save-cwd.m4, unistd-safer.m4: Don't check for fcntl.h anymore. Now we assume it exists and is usable. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Assume HAVE_FCNTL_H (i.e., include unconditionally, and don't check for fcntl.h). 2005-06-30 Jim Meyering * stdopen.m4 (gl_STDOPEN): New file/macro. * jm-macros.m4: Require it. 2005-06-26 Jim Meyering * diacrit.m4 (gl_DIACRIT): New file/macro. * jm-macros.m4: Require it. 2005-06-25 Jim Meyering * version-etc.m4 (gl_VERSION_ETC): New file/macro. * jm-macros.m4: Require it. * root-dev-ino.m4 (gl_ROOT_DEV_INO): New file/macro. * jm-macros.m4: Require it. 2005-06-23 Jim Meyering * xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ. * xstrtod.m4: Likewise. 2005-06-19 Jim Meyering * xgetcwd.m4 (gl_XGETCWD): Add `AC_LIBOBJ([xgetcwd])'. Register xgetcwd.c and xgetcwd.h via AC_LIBSOURCES. * xfts.m4 (gl_FUNC_XFTS): New file/macro. * jm-macros.m4: Require it. 2005-06-13 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add openat-die.c. 2005-06-02 Paul Eggert * extensions.m4: Sync from gnulib; this defines _POSIX_PTHREAD_SEMANTICS for the benefit of Solaris. 2005-06-01 Paul Eggert * mkdir-p.m4: Renamed from makepath.m4. (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH. All uses changed. Rename files from makepath.c to mkdir-p.c, and from makepath.h to mkdir-p.h. * filenamecat.m4: Renamed from path-concat.m4. (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT. All uses changed. Rename files from path-concat.c to filenamecat.c, and from path-concat.h to filenamecat.h. * getcwd-path-max.m4: Don't use "path" or "filename" to mean "file name" in local variables or comments. * rename.m4: Likewise. 2005-05-30 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_HEADERS): Check for priv.h. 2005-05-27 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h, and don't require gt_INTTYPES_PRI. * prereq.m4 (gl_PREREQ): Require gl_STRINTCMP, gl_STRNUMCMP. * strnumcmp.m4: New file. 2005-05-20 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS. (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros. 2005-05-20 Eric Blake (tiny change) * chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs of -1. 2005-05-18 Paul Eggert * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]): Don't check for stddef.h. * fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we don't use its results. Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h, since we include them unconditionally. Don't require AM_STDBOOL_H, since stdbool is a prerequisite. Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t since we assume C89 or better. Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT, as we don't use their results. Don't check for fchdir, memmove, memset, strrchr, as we use them unconditionally. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it. * jm-macros.m4 (gl_MACROS): Require AC_FUNC_LSTAT. Don't check for memcpy, strchr, strerror, strrchr, float.h. Use AC_REQUIRE on AM_LANGINFO_CODESET and gl_GLIBC21 rather than invoking them directly. (gl_CHECK_ALL_HEADERS): Don't check for errno.h, float.h, limits.h, stddef.h, since we assume C89 now. * lib-check.m4: Add copyright notice. (cu_LIB_CHECK): Renamed from gl_LIB_CHECK. Don't check for sqrt; factor no longer needs it. Revamp tests for floor, modf, rint, to define SEQ_LIBM. Redo tests for fesetround to act like the other wons. Use "cu_saved_libs" for local var name, not "ac_su_saved_lib". * prereq.m4: Add copyright notice. (gl_PREREQ): Add gl_LOCALCHARSET. * localcharset.m4: New file, from gnulib. 2005-05-16 Jim Meyering * fts.m4 (gl_FUNC_FTS): Don't require AC_FUNC_MALLOC or AC_FUNC_REALLOC. They are not needed. 2005-05-14 Jim Meyering * unlinkdir.m4: Register unlinkdir.c and unlinkdir.h via AC_LIBSOURCES. Add `AC_LIBOBJ([unlinkdir])'. 2005-05-14 Paul Eggert * prereqs.m4 (gl_PREREQ): Require gl_UNLINKDIR. * unlinkdir.m4: New file. 2005-05-13 Jim Meyering * prereq.m4: Don't require gl_FUNC_STAT or gl_FUNC_LSTAT. * stat.m4: Remove unnecessary file. * lstat.m4: Remove unnecessary file. * readdir.m4 (GL_FUNC_READDIR): Remove, now that remove.c no longer needs it. * jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_READDIR. 2005-05-10 Derek Price * getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible. 2005-05-05 Paul Eggert * getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid needless checks. 2005-05-01 Paul Eggert * getpass.m4, gettext.m4: Sync from gnulib. 2005-04-28 Paul Eggert * euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require AC_HEADER_STAT. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Likewise. * lchown.m4 (gl_FUNC_CHOWN): Likewise. (gl_PREREQ_CHOWN): Remove. * lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling it. Don't require AC_HEADER_STAT. (gl_PREREQ_LSTAT): Remove. * mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once. Don't require AC_HEADER_STAT. * prereq.m4 (gl_PREREQ): Require gl_STAT_MACROS. * rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT. (gl_PREREQ_RMDIR): Remove. 2005-04-27 Paul Eggert * stat-macros.m4: New file, from gnulib, except that gl_STAT_MACROS also requires AC_HEADER_STAT. * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't mention stat-macros.h or AC_HEADER_STAT, since we'll make the stat-macros module a prerequisite. * file-type.m4 (gl_FILE_TYPE): Likewise. * filemode.m4 (gl_FILEMODE): Likewise. * makepath.m4 (gl_MAKEPATH): Likewise. * modechange.m4 (gl_MODECHANGE): Likewise. 2005-04-18 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for variable names. * jm-macros.m4 (gl_MACROS): Use gl_ or coreutils_ rather than fetish_ for prefixes. * rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from fetish_FUNC_RMDIR_NOTEMPTY. All uses changed. Use gl_ for variable prefixes. 2005-04-11 Paul Eggert Add bulletproofing for cases where stdin, stdout, or stderr are closed. * fcntl-safer.m4: Remove. * stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. * unistd-safer.m4 (gl_UNISTD_SAFER): Likewise. Invoke gl_PREREQ_FD_SAFER. (gl_PREREQ_FD_SAFER): New macro. * prereq.m4 (gl_PREREQ): Don't require gl_FCNTL_SAFER. 2005-04-08 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for siginterrupt. * nanosleep.m4 (gl_PREREQ_NANOSLEEP): Likewise. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Do not require AC_TYPE_SIGNAL. 2005-03-30 Paul Eggert * readutmp.m4 (gl_READUTMP): Require AC_C_INLINE. Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible. Remove duplicate call to AC_LIBOBJ(readutmp). (gl_PREREQ_READUTMP): Remove. All uses inlined. 2005-03-28 Eric Blake (tiny change) * getcwd-path-max.m4: Return success on systems such as Cygwin where no absolute path name can be longer than PATH_MAX. 2005-03-21 Paul Eggert * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Add stat-macros.h to AC_LIBSOURCES. * file-type.m4 (gl_FILE_TYPE): Likewise. * filemode.m4 (gl_FILEMODE): Likewise. * makepath.m4 (gl_MAKEPATH): Likewise. * xstrtol.m4 (gl_XSTRTOL): Add xstrtoul.c to AC_LIBSOURCES. Add xstrtoul to AC_LIBOBJ. * onceonly.m4: Remove. * onceonly_2_57.m4: Add. This change shrinks "configure" by over 300 kB. Another change imported from gnulib. * memcasecmp.m4 (gl_MEMCASECMP): Renamed from gl_FUNC_MEMCASECMP. All uses changed. Require AC_HEADER_STDC instead of invoking it. Remove check for stddef.h, size_t, const, since we now assume C89 or better. 2005-03-20 Paul Eggert * gettext.m4, inttypes.m4, isc-posix.m4, lib-link.m4, nls.m4, onceonly.m4, po.m4: Sync from gnulib. 2005-03-17 Jim Meyering * typeof.m4 (gl_TYPEOF): New file/macro. * prereq.m4 (gl_PREREQ): Require gl_TYPEOF. 2005-03-10 Jim Meyering * save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. * human.m4 (gl_HUMAN): Add intprops.h. * inttostr.m4 (gl_INTTOSTR): Likewise * sig2str.m4 (gl_FUNC_SIG2STR): Likewise. * userspec.m4 (gl_USERSPEC): Likewise. * utimecmp.m4 (gl_UTIMECMP): Likewise. * xnanosleep.m4 (gl_XNANOSLEEP): Likewise. * xstrtol.m4 (gl_XSTRTOL): Use AC_LIBSOURCES and AC_LIBOBJ to list the required files. 2005-03-09 Jim Meyering * argmatch.m4, cycle-check.m4: New files. * prereq.m4: Require their macros. 2005-03-01 Paul Eggert * xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting to detect nanosleep bug. 2005-02-25 Paul Eggert * gettext.m4, inttypes-pri.m4, lib-link.m4, lib-prefix.m4, nls.m4, po.m4, progtest.m4: Sync from gnulib. 2005-02-23 Jim Meyering * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's change. Thanks to Bruno Haible for catching it. 2005-02-22 Jim Meyering * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: s/ifndef/ifdef/. 2005-02-21 Paul Eggert * xnanosleep.m4: New file. * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Require gl_CLOCK_TIME, gl_USE_SYSTEM_EXTENSIONS. Check whether CLOCK_MONOTONIC is defined, and set LIB_GETHRXTIME accordingly. This is needed for newer GNU/Linux systems that have clock_gettime, so that they link in the appropriate library for it when needed. * prereq.m4 (gl_PREREQ): Require gl_XNANOSLEEP. 2005-02-20 Paul Eggert * gethrxtime.m4: New file. * gettime.m4 (gl_GETTIME): Check for nanotime. * jm-macros.m4 (gl_MACROS): Don't check for gethrtime. * prereq.m4 (gl_PREREQ): Require gl_GETHRXTIME. 2005-02-20 Jim Meyering * stripslash.m4: New file. * linebuffer.m4: New file. * prereq.m4 (gl_PREREQ): Require gl_STRIPSLASH and gl_LINEBUFFER. 2005-02-11 Jim Meyering * inttostr.m4 (gl_INTTOSTR): Use AC_LIBSOURCES to list the required source files. 2005-02-09 Jim Meyering * getcwd.m4 (gl_FUNC_GETCWD_NULL): Use AC_LIBSOURCES to list the required source files. 2005-02-08 Jim Meyering * memcasecmp.m4 (gl_FUNC_MEMCASECMP): New file and macro. * prereq.m4: Require gl_FUNC_MEMCASECMP. 2005-02-07 Jim Meyering * fts.m4 (gl_FUNC_FTS): New file and macro. * prereq.m4: Require gl_FUNC_FTS. 2005-02-06 Jim Meyering * memrchr.m4 (gl_FUNC_MEMRCHR): Check for declaration of memrchr. * chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Depend on gl_FUNC_MEMRCHR. 2005-02-03 Paul Eggert * memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. 2005-01-29 Jim Meyering Use AC_LIBSOURCES to list corresponding source (.c, .h, .y) files so that automake automatically knows to distribute those files. Use AC_LIBOBJ to ensure that automake automatically knows the names of always-compiled source files. Automake already knows the names of conditionally compiled ones, e.g., due to preexisting uses of AC_LIBOBJ and AC_REPLACE_FUNCS. [This is a start. Many still remain to be fixed...] * acl.m4, backupfile.m4, c-strtod.m4, canon-host.m4: * canonicalize.m4, cloexec.m4, closeout.m4, dirfd.m4, dirname.m4: * exclude.m4, exitfail.m4, file-type.m4, filemode.m4, fpending.m4: * fsusage.m4, getdate.m4, getline.m4, getpagesize.m4, getpass.m4: * gettime.m4, getugroups.m4, group-member.m4, hard-locale.m4: * hash.m4, human.m4, idcache.m4, long-options.m4, makepath.m4: * md5.m4, memcoll.m4, modechange.m4, mountlist.m4, nanosleep.m4: * path-concat.m4, pathmax.m4, physmem.m4, posixtm.m4, posixver.m4: * quote.m4, quotearg.m4, readtokens.m4, readutmp.m4, safe-read.m4: * safe-write.m4, same.m4, savedir.m4, setenv.m4, settime.m4: * sha1.m4, sig2str.m4, strdup.m4, strftime.m4, strndup.m4: * strverscmp.m4, timespec.m4, unlocked-io.m4, userspec.m4: * utimecmp.m4, utimens.m4, xalloc.m4, yesno.m4: 2005-01-27 Jim Meyering * hash-pjw.m4 (gl_HASH_PJW): New file/macro. * basename.m4 (gl_BASENAME): New file/macro. * prereq.m4: Require gl_HASH_PJW and gl_BASENAME. 2005-01-23 Paul Eggert Sync from gnulib. * acl.m4, afs.m4, alloca.m4, assert.m4, atexit.m4, backupfile.m4, bison.m4, c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4, clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4, dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4, exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4, file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4, free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getcwd-path-max.m4, getcwd.m4, getdate.m4, getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4, getopt.m4, getpagesize.m4, getpass.m4, gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4, group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4, idcache.m4, inttostr.m4, jm-winsz1.m4, jm-winsz2.m4, link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4, makepath.m4, md5.m4, memchr.m4, memcmp.m4, memcoll.m4, memcpy.m4, memmove.m4, memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4, modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4, path-concat.m4, pathmax.m4, perl.m4, physmem.m4, posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4, readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4, restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4, savedir.m4, settime.m4, sha1.m4, sig2str.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdio-safer.m4, strdup.m4, strftime.m4, strndup.m4, strnlen.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4, strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, timespec.m4, tm_gmtoff.m4, tzset.m4, uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4, unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4, utimecmp.m4, utimens.m4, utimes-null.m4, xalloc.m4, xgetcwd.m4, xreadlink.m4, xstrtod.m4, xstrtoimax.m4, xstrtol.m4, xstrtoumax.m4, yesno.m4: Use an all-permissive copyright notice, recommended by RMS. 2005-01-21 Bruno Haible Sync from gnulib. * allocsa.m4, chdir-long.m4, chown.m4, codeset.m4, eealloc.m4, eoverflow.m4, glibc21.m4, iconv.m4, intmax_t.m4, inttypes_h.m4, lchown.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, longdouble.m4, longlong.m4, mbrtowc.m4, mbstate_t.m4, mbswidth.m4, mempcpy.m4, openat.m4, readlink.m4, safe-read.m4, safe-write.m4, setenv.m4, signed.m4, ssize_t.m4, stdbool.m4, stdint_h.m4, stpcpy.m4, strcase.m4, strcspn.m4, strpbrk.m4, strstr.m4, uintmax_t.m4, ullong_max.m4, ulonglong.m4, unicodeio.m4, utimes.m4, vasnprintf.m4, vasprintf.m4, wchar_t.m4, wint_t.m4: Use an all-permissive copyright notice, recommended by RMS. 2005-01-20 Paul Eggert * save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume it. 2005-01-14 Jim Meyering * utimes.m4: Work around tests/touch/empty-file failure on a system (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes' NULL-means-set-to-current-time semantics. Remove temporary file immediately, rather than waiting for configure's at-exit trap code to do it. 2005-01-04 Jim Meyering * chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown is sane and DOES follow symlinks. Besides, testing 20 different systems found no broken chown implementations. Prompted by a change in rsync's copy of this macro. 2005-01-03 Paul Eggert * ullong_max.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX. 2005-01-03 Jim Meyering * mkstemp.m4 (gl_FUNC_MKSTEMP): Don't `cd' into the temporary subdirectory. That would make the subsequent AC_TRY_RUN macro fail, for lack of the ./confdefs.h file. Instead, use the temporary directory name as a prefix on the template string. Include for the declaration of close. Remove `.tmp' suffix; mkstemp requires that XXXXXX be a suffix. 2004-12-23 Paul Eggert * getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. 2004-12-21 Jim Meyering * mkstemp.m4 (gl_FUNC_MKSTEMP): Remove temporary directory right away, rather than waiting for configure's at-exit trap code to do it. Suggestion from Stepan Kasal. 2004-12-20 Jim Meyering * mkstemp.m4: Do the `cd' in a subshell. * mkstemp.m4: Rather than using "conftestXXXXXX" as the mkstemp template, use a temporary directory and an 8.3-friendly template to avoid trouble on systems like DJGPP. Reported by Juan M. Guerrero via Stepan Kasal. 2004-12-19 Paul Eggert * c-strtod.m4 (gl_C99_STRTOLD): New macro. (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold). 2004-12-10 Jim Meyering * chdir-long.m4 (gl_FUNC_CHDIR_LONG: Arrange to compile chdir-long.c only on systems that define PATH_MAX. 2004-12-07 Paul Eggert * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: spurious "-l"s. Problem reported by Stepan Kasal. 2004-12-06 Paul Eggert * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug in Autoconf 2.59. Problem reported by Mark D. Baushke. 2004-12-06 Jim Meyering * save-cwd.m4 (gl_SAVE_CWD): Use AC_LIBSOURCES. Use AC_LIBOBJ(save-cwd). * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use AC_LIBSOURCES. Use AC_LIBOBJ(chdir-long). * mempcpy.m4 (gl_FUNC_MEMPCPY): Use AC_LIBSOURCES. * lchown.m4 (gl_FUNC_LCHOWN): Likewise. * openat.m4 (gl_FUNC_OPENAT): Likewise. (gl_PREREQ_GETCWD): Use AC_REQUIRE. 2004-12-02 Paul Eggert * openat.m4: Add copyright notice. (gl_FUNC_OPENAT): Require gl_USE_SYSTEM_EXTENSIONS, since Solaris requires __EXTENSIONS__ to be defined when compiling pedantically, if you want AT_FDCWD. 2004-12-01 Paul Eggert * hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale exist. * human.m4 (gl_HUMAN): Assume locale.h and localeconv exist. * jm-macros.m4 (gl_MACROS): Assume localeconv exists. 2004-11-30 Paul Eggert * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working. * readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. 2004-11-30 Jim Meyering * chdir-long.m4: Rename from chdir.m4. * jm-macros.m4 (gl_MACROS): Reflect renaming. 2004-11-28 Jim Meyering * chdir.m4: New file. * openat.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR. 2004-11-25 Paul Eggert * mempcpy.m4: New file, taken from gnulib. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from GL_FUNC_GETCWD_PATH_MAX for consistency. All uses changed. Use the _ONCE methods, for efficiency. Check for fcntl.h. In test program, include and if available. Remove old K&R cruft from test program. Check for common errors in GNU/Linux, OpenBSD, and Solaris. Just set gl_cv_func_getcwd_path_max; don't do AC_LIBOBJ, as that's getcwd.m4's job. * getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from AC_FUNC_GETCWD_NULL. All used changed. Change cache variable name accordingly. (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros. Revamp to accommodate new getcwd.c. * jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. * prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY. * xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since that's all we need now. 2004-11-23 Paul Eggert * utimens.m4 (gl_UTIMENS): Check for futimes function. 2004-11-23 Sergey Poznyakoff * getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in order not to spoil the result of an eventual previous invocation of gl_GETOPT_SUBSTITUTE. 2004-11-17 Paul Eggert * calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc implementations that mishandle size_t overflow. 2004-11-16 Paul Eggert * canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. 2004-11-13 Jim Meyering * jm-macros.m4: Do require gl_FUNC_FPENDING. * fpending.m4: Restore file. 2004-11-11 Paul Eggert * getopt.m4: Sync from gnulib. 2004-11-06 Jim Meyering * jm-macros.m4: Don't require gl_FUNC_FPENDING. * fpending.m4: Remove file. 2004-11-03 Paul Eggert * setenv.m4: New file, from gnulib. * prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. * uint32_t.m4: Sync from gnulib. 2004-11-02 Paul Eggert * getpass.m4: Sync from gnulib. 2004-10-29 Paul Eggert * getpagesize.m4: Sync from gnulib. 2004-10-17 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for mbrlen, for pathchk. (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk. Sync from gnulib. * getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD implementation of getopt_long. 2004-10-04 Paul Eggert Sync from gnulib. * xalloc.m4 (gl_PREREQ_XSTRDUP): Remove. All uses removed. * unlocked-io.m4: Add copyright notice. (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO. 2004-10-03 Paul Eggert Sync from gnulib. * mbswidth.m4: Add copyright notice. * vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW. * eoverflow.m4: New file. 2004-08-19 Paul Eggert * getopt.m4: Sync from gnulib. 2004-08-11 Paul Eggert * obstack.m4 (gl_PREREQ_OBSTACK): Require gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T. * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. 2004-08-09 Paul Eggert * sha1.m4: Renamed from sha.m4. (gl_SHA1): Renamed from gl_SHA. All uses changed. 2004-08-08 Simon Josefsson * getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Check getpass declaration. 2004-08-07 Paul Eggert * canonicalize.m4, getcwd-path-max.m4, strdup.m4: Merge from gnulib. 2004-08-05 Paul Eggert Merge from gnulib. * alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always, for backward compatibility with older code. We need our own alloca.h if _AIX is defined. Define HAVE_ALLOCA if we discover it under some other name, and our alloca.h will define it. * backupfile.m4, calloc.m4, strtoimax.m4, strtoumax.m4: Bump serial number only. * dirfd.m4, intmax_t.m4, inttypes_h.m4, mbrtowc.m4, stdint_h.m4, uintmax_t.m4: Finish renaming jm_ to gl_. * dos.m4 (gl_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. * host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. * prereq.m4 (gl_PREREQ): Add gl_GETTIME, AC_FUNC_CALLOC. * gettime.m4: New file. * settime.m4: Require gl_TIMESPEC; check for settimeofday, stime. * unlocked-io.m4: Remove -*- autoconf -*-. * xalloc.m4: No longer require AC_FUNC_CALLOC, AC_FUNC_MALLOC, AC_FUNC_REALLOC. 2004-08-04 Paul Eggert OpenBSD porting fixes. * boottime.m4: Add copyright notice. (GNULIB_BOOT_TIME): Include sys/param.h before testing for sys/sysctl.h. * fsusage.m4: Add copyright notice. (gl_FSUSAGE): Include sys/param.h before checking for sys/mount.h. * jm-macros.m4: Include copyright notice. (gl_MACROS): Use the _ONCE variants when appropriate. Include sys/param.h before testing for sys/sysctl.h and sys/mount.h. * ls-mntd-fs.m4: Include copyright notice. (gl_LIST_MOUNTED_FILE_SYSTEMS): Include sys/param.h before testing for sys/mount.h. * stat-prog.m4: Include copyright notice. (cu_PREREQ_STAT_PROG): Use the _ONCE variants when appropriate. Include sys/param.h before testing for sys/mount.h. 2004-08-01 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_TYPES): Require gl_AC_TYPE_UINTPTR_T instead of using AC_CHECK_TYPE on uintptr_t. Require gl_AC_TYPE_UINT32_T. * md5.m4 (gl_MD5): Require gl_AC_TYPE_UINT32_T. * uint32_t.m4, uintptr_t.m4: New files. 2004-07-28 Paul Eggert * md5.m4 (gl_MD5): Do not require AC_C_INLINE, since it doesn't use inline any more. Require AC_C_BIGENDIAN, though. * sha.m4 (gl_SHA): Require AC_C_BIGENDIAN. 2004-07-27 Paul Eggert * euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't bother checking for unistd.h, as autoconf does this for us. Check for libgen.h. Also look for eaccess within -lgen, which is where it is in Solaris. Set LIB_EACCESS accordingly. * backupfile.m4 (gl_BACKUPFILE): AC_REQUIRE gl_CHECK_TYPE_STRUCT_DIRENT_D_INO instead of invoking it directly. Do not require AC_FUNC_CLOSEDIR_VOID. 2004-07-25 Paul Eggert * jm-macros.m4 (gl_MACROS): Remove test for setreuid and setregid, as test.c no longer uses them directly. * euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS): New macro. (gl_FUNC_EUIDACCESS): Use AC_CHECK_DECLS_ONCE, not AC_CHECK_DECLS. (gl_PREREQ_EUIDACCESS): Check for eaccess and setregid decls. Require AC_HEADER_STAT. * prereq.m4 (gl_PREREQ): Invoke gl_FUNC_NONREENTRANT_EUIDACCESS, not gl_FUNC_EUIDACCESS. 2004-07-23 Paul Eggert * prereq.m4 (gl_PREREQ): Add gl_FCNTL_SAFER. * fcntl-safer.m4: New file. 2004-07-12 Paul Eggert * c-strtod.m4 (gl_C_STRTOD): Add gl_USE_SYSTEM_EXTENSIONS. 2004-07-11 Paul Eggert * c-strtod.m4: New file. * prereq.m4 (gl_PREREQ): Add gl_C_STRTOLD. 2004-04-03 Dmitry V. Levin * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Do not add canonicalize.c here. 2004-07-02 Paul Eggert * path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the prerequisite modules now handle the DOS stuff. Don't check for unistd.h. 2004-06-30 Paul Eggert * dos.m4 (gl_AC_DOS): Define FILE_SYSTEM_PREFIX_LEN, not FILESYSTEM_PREFIX_LEN. Generate FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX, not FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX. Generate FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR, not FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. * ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Renamed from gl_LIST_MOUNTED_FILESYSTEMS. All uses changed. 2004-06-25 Jim Meyering * afs.m4 (gl_AFS): Use AC_ARG_WITH instead of ancient, hard-coded AC_MSG_CHECKING/AC_MSG_RESULT etc. From Tim Waugh. 2004-06-15 Paul Eggert * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Fix typo: getcwd was being replaced when it shouldn't have been, and vice versa. 2004-06-09 Jim Meyering * calloc.m4 (AC_FUNC_CALLOC): Remove use of AN_FUNCTION. 2004-06-07 Jim Meyering * jm-macros.m4 (gl_MACROS): Check for the directio function. 2004-06-01 Jim Meyering * stdbool.m4: Update from gnulib. 2004-05-29 Jim Meyering * xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_FUNC_CALLOC. * calloc.m4 (AC_FUNC_CALLOC, _AC_FUNC_CALLOC_IF): New file/macros. 2004-05-21 Jim Meyering * free.m4: Update from gnulib (fix reversed test). 2004-05-03 Jim Meyering Temporary work-around for the problem reported here: http://sources.redhat.com/ml/bug-automake/2004/msg00339.html * gettext.m4 (AM_GNU_GETTEXT): Don't require AM_INTL_SUBDIR. (AM_INTL_SUBDIR): Comment out definition. 2004-05-01 Jim Meyering * jm-mktime.m4: Remove file. This is now part of mktime.m4. * glibc.m4, c-stack.m4, xsize.m4, size_max.m4: Remove unused files. * printf-posix.m4, lcmessage.m4: Likewise. * gettextext.m4, intdiv0.m4, intmax.m4: Likewise. * jm-macros.m4 (gl_MACROS): Move fchown-checking code to chown.m4. * chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h. See if we need an fchown replacement. (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro. (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK, and use the replacement function if we detect either defect. 2004-04-22 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for tcgetpgrp. 2004-04-23 Jim Meyering * jm-macros.m4: Don't check for values.h; it's no longer used. 2004-04-20 Jim Meyering Change UTILS_ to gl_ in AC_DEFINE'd names. Change utils_- and jm_-prefixed variables, too. * mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from UTILS_FUNC_MKDIR_TRAILING_SLASH. * mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP. * host-os.m4 (gl_HOST_OS): Renamed from UTILS_HOST_OS. * dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. Don't emit trailing blanks. Also rename jm_-prefixed variables to have gl_ prefix. * jm-macros.m4: Reflect the renamings. * prereq.m4: Likewise. 2004-04-19 Jim Meyering * readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, now that readutmp.c may call `free (0)'. 2004-04-14 Jim Meyering * Makefile.am: Remove file. With automake-1.8.3, it's no longer needed. * Makefile.am.in: Likewise. * Makefile.in: Likewise. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Don't use AC_CHECK_HEADERS to check for inttypes.h. Instead, require gt_HEADER_INTTYPES_H. * jm-macros.m4: Require cu_PREREQ_STAT_PROG. * prereq.m4: Move prerequisite function for src/stat.c to ... * stat-prog.m4 (cu_PREREQ_STAT_PROG): New file. Contents from prereq.m4. 2004-04-13 Jim Meyering Change `jm_' in AC_DEFINE'd names to `gl_'. Update all uses. * afs.m4, allocsa.m4, assert.m4, backupfile.m4, bison.m4: * check-decl.m4, chown.m4, d-ino.m4, d-type.m4, dirname.m4: * dos.m4, error.m4, fpending.m4, fstypename.m4, fsusage.m4: * ftruncate.m4, getdate.m4, getgroups.m4, gettext.m4, glibc21.m4: * group-member.m4, human.m4, intmax.m4, intmax_t.m4, inttostr.m4: * inttypes_h.m4, jm-macros.m4, jm-mktime.m4, jm-winsz1.m4: * jm-winsz2.m4, lchown.m4, lib-check.m4, link-follow.m4, longlong.m4: * ls-mntd-fs.m4, lstat.m4, makepath.m4, mbrtowc.m4, mbswidth.m4: * memchr.m4, memcmp.m4, mkstemp.m4, mountlist.m4, nanosleep.m4: * path-concat.m4, perl.m4, prereq.m4, putenv.m4, quotearg.m4: * regex.m4, stat.m4, stdint_h.m4, strftime.m4, strtoimax.m4: * strtoll.m4, strtoull.m4, strtoumax.m4, timespec.m4, uintmax_t.m4: * ulonglong.m4, unlink-busy.m4, unlocked-io.m4, uptime.m4, utimbuf.m4: * utime.m4, utimens.m4, utimes-null.m4, vasnprintf.m4, xstrtoimax.m4: * xstrtol.m4, xstrtoumax.m4: Change jm_ to gl_ in AC_DEFINE'd names. 2004-03-27 Paul Eggert * utimecmp.m4: New file. * prereq.m4 (jm_PREREQ): Require gl_UTIMECMP. 2004-04-07 Paul Eggert * jm-macros.m4 (jm_MACROS): Check for fdatasync within -lrt and -lposix4, so that it can be used in Solaris 2.5.1 and later. 2004-03-30 Paul Eggert * c-stack.m4, getline.m4, getndelim2.m4, mbswidth.m4, po.m4, strdup.m4, xsize.m4: Sync from gnulib. * allocsa.m4, cloexec.m4, eealloc.m4, inttostr.m4, mbstate_t.m4: New files, from gnulib. * prereq.m4 (jm_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR. 2004-03-31 Jim Meyering * prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC. Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC. * xalloc.m4: Likewise. * realloc.m4: Remove file, since now it does no more than AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via the `configure.ac' section of module/realloc. * malloc.m4: Likewise, but for AC_FUNC_MALLOC. 2004-02-29 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. * getdate.m4 (gl_GETDATE): Remove time-related stuff. Require AM_STDBOOL_H and gl_TIMESPEC instead. Require gl_CLOCK_TIME. 2004-03-07 Paul Eggert * Makefile.am.in (Makefile.am): Don't use $<, as it doesn't work with Solaris make. 2004-01-29 Jim Meyering Avoid a configure-time warning about sys/ucred.h on OSF V4.0. * ls-mntd-fs.m4: Test for sys/ucred.h separately, since on some systems one must include before it. Reported by Christian Krackowizer. 2004-01-16 Jim Meyering * onceonly.m4: Sync with version from gettext-0.13.1. 2003-10-08 Paul Eggert Merge from gnulib. * getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. 2003-08-26 Bruno Haible Merge from gnulib. * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' followed by '#define fnmatch fnmatch_posix' gives an error. 2004-01-14 Paul Eggert * posixv.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. 2004-01-13 Jim Meyering * gettext.m4, lib-ld.m4, lib-prefix.m4, nls.m4, po.m4: Update from gettext-0.13.1. * intmax.m4, isc-posix.m4, printf-posix.m4, size_max.m4, xsize.m4: New files. From gettext-0.13.1. 2004-01-11 Paul Eggert * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): Move the documentation from 'configure' into 'config.hin', so that 'configure --help' isn't burdened by it and we don't have to worry about its formatting there. Reword the documentation so that it's more succinct and can be run together into a single paragraph. 2004-01-12 Jim Meyering * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. 2003-12-20 Jim Meyering * jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX. * open-max.m4 (UTILS_SYS_OPEN_MAX): Remove file. No longer used. * lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the value, $ac_cv_search_crypt, if it's "none required". 2003-12-19 Jim Meyering * clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME if no library is required. 2003-12-18 Jim Meyering * search-libs.m4 (AC_SEARCH_LIBS): Remove file/macro, now that this replacement is no longer needed. Besides, this macro has no effect with autoconf-2.58, since `undefine' in package-supplied .m4 files is no longer honored. Reported by Andreas Schwab. Remove now-unnecessary (and unused) files. They also used `undefine'. * isc-posix.m4 (AC_ISC_POSIX): Remove file. * getloadavg.m4 (gl_FUNC_GETLOADAVG): Remove file. * prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG, not gl_FUNC_GETLOADAVG. 2003-11-08 Jim Meyering * inttypes.m4: Sync from gnulib (this file was previously empty, to work around some sort of problem). 2003-11-08 Alexandre Duret-Lutz * nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the value, $ac_cv_search_nanosleep, if it's "none required". 2003-11-05 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t. 2003-11-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE. * free.m4: New file, from gnulib. * exitfail.m4, host-os.m4, strndup.m4: Update from gnulib. * jm-macros.m4 (jm_MACROS): Require autoconf-2.58. (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58. 2003-10-13 Paul Eggert * xalloc.m4: Import latest version from gnulib. 2003-10-06 Jim Meyering * ftw.m4: Remove now-unused file. 2003-10-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW. 2003-09-17 Paul Eggert Update from gnulib. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first, to avoid spurious warnings like "AC_RUN_IFELSE was called before gl_USE_SYSTEM_EXTENSIONS" from autoreconf. 2003-09-12 Paul Eggert More patches to assume C89 or better. * mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C headers. * strdup.m4 (gl_PREREQ_STRDUP): Likewise. * userspec.m4 (gl_USERSPEC): Likewise. * xalloc.m4 (gl_PREREQ_XMALLOC): Likewise. * xstrtod.m4 (gl_XSTRTOD): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. * strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h, memcpy, memset. (jm_FUNC_GNU_STRFTIME): Don't require standard C headers. * strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h. * strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, strtol. * strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h. * userspec.m4 (gl_USERSPEC): Do not check for string.h. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, strtoul. 2003-09-12 Paul Eggert * error.m4 (gl_ERROR): Don't check for vprintf. Require AC_FUNC_STRERROR_R rather than invoking it. 2003-09-12 Paul Eggert * check-decl.m4 (jm_CHECK_DECLS): Include , unconditionally. * closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Include , unconditionally. * lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. * readdir.m4 (GL_FUNC_READDIR): Don't check for string.h. * readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C headers or for string.h. * strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlb.h or strtoul. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX and AC_MINIX, too, so that their extensions are available. * prereq.m4 (jm_PREREQ_ADDEXT): Remove. All uses removed. This macro has been superseded by gl_BACKUPFILE. 2003-09-12 Jim Meyering * prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH, gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS. * readtokens.m4: New file, from gnulib * md5.m4: Likewise. * makepath.m4: Likewise. * long-options.m4: Likewise. * idcache.m4: Likewise. * getugroups.m4: Likewise. 2003-09-11 Paul Eggert More patches to assume C89 or better. * strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check. * strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h, string.h, memchr, STDC_HEADERS. 2003-09-10 Bruno Haible * strcspn.m4 (gl_PREREQ_STRCSPN): Remove check. * strpbrk.m4 (gl_PREREQ_STRPBRK): Remove check. * strstr.m4 (gl_PREREQ_STRSTR): Remove check. * unicodeio.m4 (gl_UNICODEIO): Remove check. * xreadlink.m4 (gl_XREADLINK): Remove check. * yesno.m4 (gl_YESNO): Remove check. 2003-09-09 Paul Eggert * getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. * getopt.m4 (gl_GETOPT): Don't check for string.h. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for stdlib.h. * group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard C headers. * hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h, string.h. * hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free. * human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. * sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy. * memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. * memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h. * memcoll.m4 (gl_MEMCOLL): Likewise. * memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h. * mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h, string.h, free. * mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers. * modechange.m4 (gl_MODECHANGE): Don't check for standard C headers. * mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard C headers, or for string.h. * obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h. (gl_PREREQ_OBSTACK): Don't check for stdlib.h. * path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C headers, memory.h, stdlib.h, string.h, strings.h. * posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h. * posixver.m4 (gl_POSIXVER): Don't check for getenv. * putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, strchr. * regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h. * rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, free. * rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C headers. * save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers. * savedir.m4 (gl_SAVEDIR): Don't check for standard C headers. * xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h. 2003-09-09 Derek Robert Price * getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the C89 spec. 2003-09-08 Paul Eggert Assume C89 or better; remove K&R cruft. * alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. * backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h, string.h, getenv, malloc. * dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard headers. * canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h. * error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and do not check for strerror. * exclude.m4: Do not check for stdlib.h, string.h, strings.h. * exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h. * fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. * getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h. 2003-08-27 Jim Meyering * mkstemp.m4: Require that the system mkstemp be able to create 70 temporary files, not just 30. Tru64 V4.0F's mkstemp function would fail after 32. Reported by Danny Levinson. Details here: http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html 2003-08-19 Jim Meyering * lib-ld.m4: Revert yesterday's change, per Bruno's request here: http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html 2003-08-18 Paul Eggert * same.m4 (gl_SAME): Do not check for stdlib.h or string.h or free. Check for pathconf. 2003-08-18 Jim Meyering * getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). * lib-ld.m4: Likewise. * po.m4: Likewise. 2003-08-18 Paul Eggert and Jim Meyering It turns out that we need AM_NLS and AM_PO_SUBDIRS after all; otherwise po/POTFILES and po/Makefile aren't built by 'configure'. I'm not sure why I didn't catch this earlier; most likely some leftover build files. Sorry about that. * gettextext.m4 (AM_NLS, AM_PO_SUBDIRS): Remove definitions. * nls.m4, po.m4: New files, taken from gnulib / gettext. 2003-08-16 Paul Eggert Sync with gnulib. * gettextext.m4: New file. * atexit.m4, backupfile.m4, canon-host.m4, clock_time.m4, closeout.m4, dirname.m4, dup2.m4, euidaccess.m4, exclude.m4, exitfail.m4, file-type.m4, fileblocks.m4, filemode.m4, getdate.m4, gethostname.m4, getloadavg.m4, getopt.m4, getpagesize.m4, getpass.m4, getusershell.m4, hard-locale.m4, hash.m4, malloc.m4, memchr.m4, memcpy.m4, memmove.m4, memrchr.m4, memset.m4, modechange.m4, mountlist.m4, obstack.m4, path-concat.m4, pathmax.m4, physmem.m4, posixtm.m4, posixver.m4, quote.m4, quotearg.m4, readlink.m4, readutmp.m4, realloc.m4, rmdir.m4, rpmatch.m4, safe-read.m4, safe-write.m4, same.m4, save-cwd.m4, savedir.m4, settime.m4, sha.m4, sig2str.m4, stdio-safer.m4, stpcpy.m4, strcase.m4, strcspn.m4, strdup.m4, strndup.m4, strnlen.m4, strpbrk.m4, strstr.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4, strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, ulonglong.m4, unicodeio.m4, unistd-safer.m4, userspec.m4, xalloc.m4, xgetcwd.m4, xreadlink.m4, xstrtod.m4, xstrtol.m4, yesno.m4: New files, from gnulib. * acl.m4, check-decl.m4, chown.m4, c-stack.m4, d-ino.m4, d-type.m4, fileblocks.m4, fsusage.m4, ftruncate.m4, getcwd.m4, getgroups.m4, getline.m4, getndelim2.m4, gettext.m4, gettimeofday.m4, group-member.m4, host-os.m4, iconv.m4, intmax_t.m4, inttypes-pri.m4, jm-macros.m4, lchown.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, longdouble.m4, longlong.m4, ls-mntd-fs.m4, lstat.m4, mbrtowc.m4, mbswidth.m4, memcmp.m4, mkdir-slash.m4, mkstemp.m4, nanosleep.m4, onceonly.m4, prereq.m4, progtest.m4, putenv.m4, readdir.m4, rename.m4, stat.m4, tzset.m4, utimbuf.m4, utime.m4, vasnprintf.m4, xstrtoimax.m4, xstrtoumax.m4: Sync with gnulib. 2003-08-15 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): Use `conftest.utimes' as the test file name, not `x'. The former will be removed automatically. 2003-08-13 Jim Meyering * README: Remove file. * Makefile.am.in: Simplify. (Makefile.am): Remove README. 2003-08-10 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): New file. * utimens.m4: Require gl_FUNC_UTIMES. Don't check for utime or utimes. * utimes.m4: Removed. * utimes-null.m4: Renamed from utimes.m4. 2003-08-06 Paul Eggert * prereq.m4 (jm_PREREQ): Require gl_UTIMENS. * utimens.m4: New file. 2003-08-08 Paul Eggert * vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Solaris 2.5.1 needs -lw to get the wcslen function. 2003-08-08 Paul Eggert Use new gnulib 'extensions' module. * extensions.m4, unlocked-io.m4: New files, from gnulib. * gnu-source.m4, jm-glibc-io.m4: Remove. * timespec.m4: Merge from gnulib. 2003-08-08 Paul Eggert * jm-macros.m4 (jm_MACROS): Replace jm_INCLUDED_REGEX([lib/regex.c]) with gl_REGEX. Replace jm_FUNC_MKTIME with gl_FUNC_MKTIME. Remove redundant AC_FUNC_FNMATCH_GNU, jm_FUNC_MKTIME. Remove AC_FUNC_VPRINTF. Add gl_ERROR. 2003-08-05 Paul Eggert * jm-macros.m4 (jm_MACROS): Use gl_GETNDELIM2 rather than checking for getdelim. (jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather than rolling our own. Merge getline from gnulib. * getline.m4: Merge from gnulib. * getndelim2.m4, ssize_t.m4: New files, from gnulib. 2003-08-04 Paul Eggert * regex.m4: Merge with gnulib. (gl_REGEX): New macro. (jm_INCLUDED_REGEX): Don't assume Latin-1 encoding of source code. * restrict.m4: Merge with gnulib. (gl_C_RESTRICT): Renamed from ACX_C_RESTRICT. All uses changed. Rename cache vars to gl_cv_*. Incorporate latest Autoconf CVS tricks. 2003-08-05 Paul Eggert * gnu-source.m4: New file, taken from gnulib, with support added for __EXTENSIONS__ a la Solaris. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Call gl_TIMESPEC rather than jm_CHECK_TYPE_STRUCT_TIMESPEC. * st_mtim.m4: Sync with gnulib (white space change only). * timespec.m4: Sync with gnulib, except also require AC_GNU_SOURCE. 2003-08-05 Paul Eggert * prereq.m4 (jm_PREREQ_PHYSMEM, jm_PREREQ_STAT): Ignore headers that are present but cannot be compiled. This avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 C 5.4. 2003-08-04 Paul Eggert Merge fnmatch module from gnulib. * fnmatch.m4: New file, from gnulib. * jm-macros.m4 (jm_MACROS): Require gl_FUNC_FNMATCH_GNU instead of AC_FUNC_ERROR_AT_LINE. 2003-08-04 Paul Eggert * error.m4: Sync from gnulib. 2003-07-23 Jim Meyering * lstat.m4, mkstemp.m4, regex.m4, stat.m4: Normalize naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4, Solaris5.9 -> Solaris 9. From Paul Eggert. 2003-07-18 Paul Eggert * jm-macros.m4 (jm_MACROS): Invoke gl_MEMCOLL. * memcoll.m4: New file, from gnulib. Based on a patch from Andreas Schwab. 2003-07-14 Jim Meyering * Makefile.am.in: Correct comment on first line. 2003-07-12 Jim Meyering * jm-macros.m4 (OPTIONAL_BIN_ZCRIPTS): Remove unused variable. 2003-07-10 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gl_FUNC_VASPRINTF and gl_FUNC_VASNPRINTF. * longdouble.m4, signed.m4, vasnprintf.m4, vasprintf.m4, wchar_t.m4: * wint_t.m4: New files, in support of new asprintf use. From gnulib. * stdint_h.m4: New file. * inttypes_h.m4: New file. * uintmax_t.m4: New file. * intmax_t.m4: New file. * inttypes.m4: Remove file. Use intmax_t.m4 and uintmax_t.m4 from gnulib, instead. 2003-06-09 Jim Meyering * tzset.m4 (gl_FUNC_TZSET_CLOBBER): Also define gmtime. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Likewise. Suggestion from Paul Eggert. 2003-06-08 Jim Meyering * tzset.m4 (gl_FUNC_TZSET_CLOBBER): New file/macro. Used by strftime.m4. * strftime.m4 (_jm_STRFTIME_PREREQS): Require gl_FUNC_TZSET_CLOBBER. 2003-06-07 Jim Meyering * strftime.m4: Update from gnulib. * tm_gmtoff.m4: New file, used by strftime.m4. * mktime.m4: New file. From gnulib. 2003-06-06 Jim Meyering * jm-macros.m4: Require gl_FUNC_ALLOCA. * alloca.m4: New file, from gnulib. * stdbool.m4: Update from gnulib. 2003-06-04 Paul Eggert Merge human.c etc. from gnulib. * human.m4: New file, from gnulib. * prereq.m4 (jm_PREREQ): Use gl_HUMAN, not jm_PREREQ_HUMAN. (jm_prereq_HUMAN): Remove. 2003-06-02 Jim Meyering * jm-macros.m4 (jm_MACROS): Require AM_STDBOOL_H. 2003-05-26 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Merge in change from gnulib, fixing an M4 quoting bug. * lib-ld.m4 (AC_LIB_PROG_LD_GNU): Use TAB-SP, not SP-TAB when setting IFS. * progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. 2003-05-06 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Check for the declaration of getcwd *before* checking for the getcwd kernel bug. Otherwise, configure-time `checking ...' messages would be intermixed. 2003-05-02 Jim Meyering * readdir.m4 (GL_FUNC_READDIR): Revive dead file. Change name to have GL_ (not jm_) prefix. Adjust cache variables similarly. Create 500 rather than just 300 files, to exercise bug on Darwin6.5, too. * jm-macros.m4 (jm_MACROS): Require GL_FUNC_READDIR. 2003-04-25 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): If PATH_MAX is not defined, don't run the test, and don't use the wrapper. Otherwise, on the Hurd, it would take a long time to create and remove a hierarchy about 4000 levels deep. Based on a patch from Robert Millan. 2003-04-22 Jim Meyering Aesthetics. * gettext.m4: Change an occurrence of [ \t] to [\t ]. 2003-04-07 Jim Meyering * prereq.m4 (jm_PREREQ_STAT): Add prerequisites and #includes for Ultrix 4.4. 2003-04-02 Jim Meyering * perl.m4 (jm_PERL): Use $am_missing_run, not undefined $missing_dir. 2003-03-19 Jim Meyering * ftw.m4 (AC_FUNC_FTW): Require AC_HEADER_STAT. 2003-03-17 Richard Dawe * jm-macros.m4 (jm_MACROS): Include $(EXEEXT) in DF_PROG's program name, since automake only adds $(EXEEXT) to programs in its *_PROGRAMS. Arrange to compile the corresponding stub function if fchdir is missing. 2003-03-18 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since otherwise, AIX 5.1 systems would end up using the latter. MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting whether a file system is remote doesn't work 2) the MOUNTED_VMOUNT code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 code reports merely /MOUNT_POINT. Reported by Mike Jetzer. 2003-03-17 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one that is guaranteed to be `no'. Use `no_such_member' to indicate that condition, rather than `-1' which is slightly misleading. Change the name of the cache variable to have the gl_ prefix. Prompted by a patch from Richard Dawe for DJGPP. 2003-03-14 Jim Meyering * prereq.m4 (jm_PREREQ): Also forbid the gl_[A-Z] prefix. Don't require jm_PREREQ_C_STACK. 2003-03-13 Paul Eggert [from gnulib] * onceonly.m4 (m4_quote): New macro. (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly. 2003-03-13 Jim Meyering * jm-macros.m4 (jm_MACROS): Arrange to compile the corresponding stub function if any of the following is missing: fchown, lstat, readlink. From Richard Dawe. 2003-03-07 Jim Meyering * jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define using the latest version from cvs. This avoids problems with #line directives using a vendor (Sun) compiler. * jm-macros.m4: Don't require AC_SYS_MMAP_STACK. * mmap-stack.m4 (AC_SYS_MMAP_STACK): Remove file. 2003-03-06 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Check for declaration of getcwd. 2003-03-04 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): New macro. * jm-macros.m4: Require GL_FUNC_GETCWD_PATH_MAX. `df /some/mount-point' no longer hangs when an unrelated hard-mount is unavailable * fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point in /proc/mounts until it finds one with matching device number. This is unnecessary when the FILE argument *is* a mount point. No stat call is necessary in that case. So, disable the statvfs-testing code on systems with GNU libc. Reported by Andrei Gaponenko via Tim Waugh as RedHat bug# 84846. 2003-02-27 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): Also check for `table' function. Reported by Kaveh Ghazi. * prereq.m4 (gl_SYS__SYSTEM_CONFIGURATION): New function. (jm_PREREQ_PHYSMEM): Check for new headers and functions. Use gl_SYS__SYSTEM_CONFIGURATION. With suggestions from Kaveh Ghazi. 2003-02-19 Jim Meyering * c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size to 1MB, so as not to render systems with no stack size limit (e.g., linux-2.2.x) unusable. Suggestion and code from Bruno Haible. 2003-02-17 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): Undo last change, since Kaveh Ghazi found a better way to get the required information. Add check for sys/sysmp.h. 2003-02-15 Jim Meyering * mmap-stack.m4: New file. * jm-macros.m4: Require AC_SYS_MMAP_STACK. Add Irix6 support to physmem.c. * prereq.m4 (jm_PREREQ_PHYSMEM): Also check for sys/sysget.h and sys/sysinfo.h. Also check for sysget. Reported by Kaveh Ghazi. 2003-02-12 Jim Meyering * restrict.m4 (ACX_C_RESTRICT): Remove #ifndef -- so now this macro also checks for support when using a C++ compiler. Also, remove the test for SGI's __restrict. Suggested by Steven G. Johnson. * regex.m4 (jm_PREREQ_REGEX): Require ACX_C_RESTRICT. * restrict.m4 (ACX_C_RESTRICT): Minor syntactic changes: Split long lines, use AC_COMPILE_IFELSE, indent, use `case' instead of nested `if's, remove unnecessary quotes. * restrict.m4 (ACX_C_RESTRICT): New macro. Copied directly from the URL in the comments. By Steven G. Johnson. 2003-02-09 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Add euidaccess. 2003-02-03 Jim Meyering * c-stack.m4: Include . On some systems, it is required for the definition of _SC_PAGESIZE. 2003-02-02 Jim Meyering * onceonly.m4: New file. From gnulib. * regex.m4 (jm_PREREQ_REGEX): New function, from gnulib. (jm_INCLUDED_REGEX): Use it. * prereq.m4 (jm_PREREQ_REGEX): Remove. 2003-01-31 Jim Meyering * open-max.m4 (UTILS_SYS_OPEN_MAX): New file/macro. * jm-macros.m4 (jm_MACROS): Require UTILS_SYS_OPEN_MAX. 2003-01-29 Jim Meyering * regex.m4: Detect broken re_search in e.g. glibc-2.2.93. 2003-01-23 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this from working on systems without dirfd (at least Irix and OSF1/Tru64). Merge in change by Bruno Haible from gnulib. * dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP requirements. 2003-01-16 Jim Meyering * regex.m4: The `regex' struct is both input and output. Initialize it before each use. Patch by Tim Waugh. 2003-01-15 Jim Meyering * jm-macros.m4: Require AC_FUNC_FTW. 2003-01-12 Jim Meyering * ftw.m4: New file. 2003-01-11 Jim Meyering * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): New file and macro. * jm-macros.m4: Require AC_FUNC_CANONICALIZE_FILE_NAME. (jm_MACROS): No longer check for resolvepath or canonicalize_file_name. 2002-12-15 Jim Meyering * jm-glibc-io.m4n: Remove now-unused file. * Makefile.am.in (Makefile.am): Remove jm-glibc-io.m4 and jm-glibc-io.m4n. 2002-12-11 Jim Meyering * jm-glibc-io.m4: Maintain this file manually rather than generating it. Generating it caused too much trouble. From gnulib. 2002-11-19 Jim Meyering * jm-macros.m4: Require Autoconf-2.56. 2002-09-30 Akim Demaille * prereq.m4: Use AC_REQUIRE everywhere it is possible. (jm_PREREQ_CANON_HOST): Remove duplicates. 2002-11-10 Jim Meyering * jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(raise). 2002-10-30 Paul Eggert * getgroups.m4 (jm_FUNC_GETGROUPS): Fix typo: cv_func_getgroups_works -> ac_cv_func_getgroups_works. 2002-10-07 Paul Eggert * prereq.m4 (jm_PREREQ_HUMAN): Check for locale.h, localeconv, AC_HEADER_STDBOOL. No need to check for limits.h since it's in freestanding C89. No need to check for stdlib.h or string.h since autoconf does this now. 2002-10-12 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Remove fenv.h. 2002-09-29 Jim Meyering * gettext.m4 (AM_INTL_SUBDIR): Don't require gt_HEADER_INTTYPES_H. It's not necessary with autoconf-2.54. 2002-09-28 Jim Meyering * getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB. * jm-macros.m4 (jm_MACROS): Don't set GETGROUPS_LIB here; now it's done via getgroups.m4's wrapper function. * strerror_r.m4: Remove file -- now it's part of autoconf-2.54. Reported by Akim Demaille. 2002-09-25 Jim Meyering * gettext.m4: Upgrade to gettext-0.11.5. 2002-09-07 Bruno Haible * host-os.m4 (UTILS_HOST_OS): Add a case for freebsd*-gnu*. 2002-09-17 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gt_INTTYPES_PRI. * inttypes-pri.m4 (gt_INTTYPES_PRI): New file, mostly from gettext. 2002-09-16 Jim Meyering * prereq.m4: Forbid symbols matching ^jm_[A-Z]. (jm_PREREQ_QUOTEARG): Add jm_FUNC_MEMCMP. From Akim Demaille. * error.m4 (jm_PREREQ_ERROR): Check for libintl.h. Reported by Akim Demaille. 2002-09-13 Jim Meyering * jm-macros.m4 (jm_MACROS): Require autoconf-2.54. 2002-09-09 Jim Meyering * getloadavg.m4: Remove file -- now it's part of autoconf-2.53c. * jm-macros.m4: Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new AC_FUNC_GETLOADAVG where to find getloadavg.c. 2002-09-03 Jim Meyering * gnu-source.m4: Remove file -- now it's part of autoconf-2.53c. * mbstate_t.m4: Likewise. * fnmatch.m4: Likewise. 2002-08-05 Jim Meyering * jm-winsz1.m4: Also change use of $am_cv_sys_posix_termios to $ac_cv_sys_posix_termios. Reported by Andreas Schwab. 2002-08-03 Jim Meyering * jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not AM_SYS_POSIX_TERMIOS. Reported by mkc@mathdogs.com. 2002-08-01 Jim Meyering * prereq.m4 (jm_PREREQ_TEMPNAME): lib/tempname.c may use uintmax_t, so require jm_AC_TYPE_UINTMAX_T. Patch by Joe Orton. 2002-07-28 Jim Meyering * jm-macros.m4: Don't require jm_FUNC_READDIR. * readdir.m4 (jm_FUNC_READDIR): Remove file/macro. No longer needed. 2002-07-27 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Don't check just `struct utmpx.ut_exit' and `struct utmp.ut_exit'. Instead, check all combinations of utmp/utmpx and ut_termination/e_termination and ut_exit/e_exit. 2002-07-23 Jim Meyering * c-bs-a.m4 (AC_C_BACKSLASH_A): Remove file, now that autoconf provides this macro. 2002-07-20 Jim Meyering * intdiv0.m4: New file. From gettex-0.11.3. * jm-macros.m4: Require autoconf-2.53b. Use new macros AC_FUNC_MALLOC and AC_FUNC_REALLOC, in place of jm_-prefixed ones. Thanks, Akim! * malloc.m4: Remove file, now that autoconf provides this macro. * realloc.m4: Likewise. 2002-07-18 gettextize * gettext.m4: Upgrade to gettext-0.11.3. * iconv.m4: Upgrade to gettext-0.11.3. * isc-posix.m4: Upgrade to gettext-0.11.3. * lcmessage.m4: Upgrade to gettext-0.11.3. * lib-link.m4: Upgrade to gettext-0.11.3. 2002-07-17 Jim Meyering * boottime.m4: New file. Extracted from sh-utils' configure.ac and extended to work also with *BSD systems. 2002-07-15 Jim Meyering FreeBSD support for uname and uptime. * jm-macros.m4 (jm_MACROS): Check for the sysctl function. (jm_CHECK_ALL_HEADERS): Check for sys/sysctl.h. Suggestion from Bruno Haible. 2002-06-11 Paul Eggert * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. 2002-06-22 Jim Meyering * c-stack.m4: New file, from diffutils-2.8.2. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE, now that configure.ac uses AC_GNU_SOURCE. (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. * prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH. Update to latest tools. Suggestions from Paul Eggert. * stdbool.m4: New file, from diffutils-2.8.2. * gnu-source.m4: Update from diffutils-2.8.2. * fnmatch.m4: Likewise. * prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h) to AC_HEADER_STDBOOL 2002-06-21 Jim Meyering * c-bs-a.m4: Add comment, from diffutils-2.8.2. * mbrtowc.m4: Likewise. * mbstate_t.m4: Update from diffutils-2.8.2. * mbswidth.m4: Reflect name change: s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. * prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. * lib-link.m4: Update from gettext-0.11.2. * gettext.m4: Likewise. * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h. From Alfred M. Szmidt. 2002-05-19 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. 2002-06-07 Jim Meyering * prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h. They're needed at least for NetBSD 1.5.2. ($statxfs_includes): Include those same headers. ($statxfs_includes): Include sys/vfs.h if available. ($statxfs_includes): Likewise for sys/statvfs.h. Check for the following members in both structs statfs and statvfs: f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen. 2002-06-01 Jim Meyering * d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro: s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/. 2002-05-28 Jim Meyering * readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. Reported by Volker Borchert. 2002-05-27 Jim Meyering * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace localtime. * readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to use the replacement function; it wouldn't resolve at link time. Reported by Volker Borchert. 2002-04-30 Jim Meyering * prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. 2002-04-29 Paul Eggert * prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. Do not check for alloca.h (no longer used) or stdbool.h (was never used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. 2002-04-28 Paul Eggert * prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. 2002-04-29 Jim Meyering * jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN. * prereq.m4: Add jm_PREREQ_STRNLEN. Use AC_FUNC_STRNLEN here instead. * jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]). With autoconf-2.53a, it's part of AC_PROG_CC. 2002-04-28 Paul Eggert * jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). * prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. 2002-04-24 Jim Meyering * prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro. (jm_PREREQ): Use it. * getloadavg.m4: Check for these headers: locale.h unistd.h mach/mach.h fcntl.h. Check for this function: setlocale. 2002-04-16 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: ut_pid, ut_id, ut_exit. 2002-04-12 Jim Meyering * ls-mntd-fs.m4 (checking for getmntinfo function...): Remove now-bogus check for f_type in sys/mount.h. Instead, just test for the existence of the getmntinfo function. Needed for Darwin 5.3. * dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro. This is necessary at least on Darwin 5.3. * jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of strnlen.o in the library, and that makes some versions of ranlib object. 2002-04-09 Jim Meyering * malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message to be more precise. Rather than saying we're checking whether the function `works', say what we're testing. * realloc.m4 (jm_FUNC_REALLOC): Likewise. Reported by Bruno Haible. 2002-02-27 Paul Eggert * jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. Check for clock_settime. 2002-02-25 Paul Eggert * acl.m4: New file. * jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. 2002-02-16 gettextize * codeset.m4: Upgrade to gettext-0.11. * gettext.m4: Upgrade to gettext-0.11. * glibc21.m4: Upgrade to gettext-0.11. * iconv.m4: Upgrade to gettext-0.11. * isc-posix.m4: Upgrade to gettext-0.11. * lcmessage.m4: Upgrade to gettext-0.11. * lib-ld.m4: New file, from gettext-0.11. * lib-link.m4: New file, from gettext-0.11. * lib-prefix.m4: New file, from gettext-0.11. * progtest.m4: Upgrade to gettext-0.11. 2002-02-15 Paul Eggert * prereq.m4 (jm_PREREQ_POSIXVER): New macro. (jm_PREREQ): Use it. 2002-01-26 Jim Meyering * jm-macros.m4 (jm_MACROS): Require autoconf-2.52g. * strnlen.m4: Remove file, now that it's part of autoconf. 2002-01-22 Paul Eggert * jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. 2002-01-19 Jim Meyering * jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN. Remove useless quotes: DF_PROG="df". * strnlen.m4: New file. 2001-12-14 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for iswspace. Suggestion from Bruno Haible. 2001-11-20 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that SunOS 4.1.4 and Solaris 2.5.1 lose, too. 2001-11-19 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary directory. Use "conftestXXXXXX" as the template. Suggestion from Paul Eggert. * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor immediately, so the test doesn't mistakenly hit the max-open-files limit. 2001-11-18 Jim Meyering * prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. 2001-11-17 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro. Prompted by a report from Bob Proulx. * jm-macros.m4 (jm_MACROS): Don't test for mkstemp here. Instead, require UTILS_FUNC_MKSTEMP. 2001-11-11 Jim Meyering * jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM. Now, that's done as part of AC_FUNC_STRTOD. 2001-10-22 Paul Eggert * jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define WINSIZE_IN_PTEM if defines struct winsize. 2001-11-10 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): New function. (jm_PREREQ): Use it. 2001-11-09 Jim Meyering * jm-macros.m4: Require autoconf-2.52f. (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD): Use these AC_-prefixed names, not the AM_-prefixed ones. * afs.m4 (jm_AFS): Quote the body. Patch by Akim Demaille. 2001-11-04 Jim Meyering * fpending.m4: Remove unused cruft that saved, set, and restored $DEFS. 2001-11-03 Jim Meyering * jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg of AC_DEFUN. * dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to know the name of the variable in the macro definition. 2001-11-01 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): New macro. * jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. 2001-10-20 Paul Eggert * error.m4 (jm_PREREQ_ERROR): Do not invoke AC_CHECK_FUNCS with strerror_r, as AC_FUNC_STRERROR_R does that. Check for strerror declaration. * strerror_r.m4: Add copyright notice, as nontrivial m4 files are supposed to have them these days. (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached. Merge changes from latest Autoconf CVS. Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since POSIX decided to standardize on the int flavor of strerror_r. 2001-09-30 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if `struct fsstat' has the `f_fstypename' member. Use that to define FS_TYPE, which is now used to make the getfsstat link test tighter. 2001-09-29 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) [one-argument getmntent function]): Include stdio.h before mntent.h. SunOS 4.1.x needs it for the declaration of `FILE'. Patch by Volker Borchert. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) Check for these headers: sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h, and make the link-test for getfsstat guard #include directives with appropriate #if HAVE_*_H tests so that we can detect getfsstat on Apple Darwin1.3.7 systems. Reported by Nelson Beebe. Fix harmless typo in cache variable name: s/getsstat/getfsstat/. 2001-09-28 Paul Eggert Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which #defines strtoimax. Also treat the other strto* functions like strtoimax. * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for strtoul and strtoumax, as those declarations are made even in the signed case. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, for strtol and strtoimax. 2001-09-24 Jim Meyering * gettext.m4: Use the version from gettext-0.10.40, not CVS. 2001-09-23 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test instead of the mere test for existence of mntent.h. The latter would get a false-positive on AIX 3.4 systems. In the outer getmntent if-block, don't die if neither of the getmntent tests succeeds. Instead, just fall through and continue with the remaining tests. 2001-09-22 Jim Meyering * gettext.m4: New file. From gettext. * lcmessage.m4: Sync with gettext -- this changes only comments. * progtest.m4: Likewise * isc-posix.m4: Decrement serial number to sync with gettext. * glibc21.m4: Likewise. * libintl.m4: Remove. No longer used. 2001-09-20 Jim Meyering * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of strtoimax. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of strtoumax. 2001-09-17 Jim Meyering * chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4, * jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4, * nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4, * st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4, * utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, whenever the right hand side need not be expanded by the shell. 2001-09-16 Paul Eggert * fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C library. It's not correct, as some older glibcs are buggy. fnmatch wasn't fixed until glibc 2.2. Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no special shell magic here. 2001-09-16 Jim Meyering * mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. * jm-macros.m4: Require it. 2001-09-15 Jim Meyering * jm-macros.m4: Check for help2man. 2001-09-11 Jim Meyering * host-os.m4 (UTILS_HOST_OS): New file/macro. The body, by Paul Eggert, was moved here from configure.in. * jm-macros.m4: Require UTILS_HOST_OS. 2001-09-04 Paul Eggert * prereq.m4 (jm_PREREQ_XREADLINK): New macro. (jm_PREREQ): Use it. 2001-09-03 Paul Eggert * prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and sys/param.h, as pathmax.h includes them. 2001-09-03 Paul Eggert * prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. (jm_PREREQ_XGETCWD): New macro. * getcwd.m4: New file. 2001-09-01 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. Used by df. 2001-08-30 Paul Eggert Simplify code, partly by assuming autoconf 2.52 semantics. * Makefile.am (EXTRA_DIST): Remove uintmax_t.m4. * inttypes.m4 (AC_PREREQ): Bump to 2.52. (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52. All uses removed. (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): Move AC_REQUIRE to next-to-top level, to avoid confusion. Use 2.52's AC_CHECK_TYPE instead of merely looking for the header. * prereq.m4 (jm_PREREQ_HUMAN): Don't require jm_AC_HEADER_INTTYPES_H. * jm-macros.m4 (jm_MACROS): Likewise. * uintmax_t.m4: Remove, as it duplicates inttypes.m4. * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Quote first arg of AC_DEFUN. Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG since they are needed to parse the include file even if we need only xstrtoimax. Simplify logic behind the args to AC_REPLACE. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, but with opposite signedness. 2001-08-30 Paul Eggert * prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. (jm_PREREQ_EXCLUDE): New macro. 2001-08-26 Jim Meyering * jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX. * xstrtoimax.m4: New file. * xstrtoumax.m4: Add comments explaining why we AC_REPLACE_FUNCS(strtol). 2001-06-20 Paul Eggert * inttypes.m4: Add AC_PREREQ(2.13). (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. (jm_AC_TYPE_INTMAX_T): New macro. (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4. * longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro. * longlong.m4: Renamed from ulonglong.m4. * inttypes.m4: Renamed from inttypes_h.m4. * uintmax_t.m4: Removed. 2001-08-12 Jim Meyering * afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4, d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4, group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4, jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4, link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4, mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4, prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4, rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4, utime.m4, utimes.m4, xstrtoumax.m4: Quote the first argument in each use of AC_DEFUN. 2001-08-05 Jim Meyering * jm-macros.m4: Require autoconf-2.52. 2001-08-03 Paul Eggert The following changes are from gettext 0.10.39 as maintained by Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ. * codeset.m4: Upgrade to serial AM1. (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET; all uses changed. Quote first arg of AC_DEFUN. (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset. * iconv.m4: Upgrade to serial AM2. (AM_ICONV): Renamed from jm_ICONV; all uses changed. Add --with-libconv-prefix. Quote first arg of AC_DEFUN. Add description for ICONV_CONST. (am_cv_func_iconv): Renamed from jm_cv_func_iconv. (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv. (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv. * jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. * c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. * getline.m4 (AM_FUNC_GETLINE): Likewise. * glibc21.m4 (jm_GLIBC21): Likewise. * inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise. * isc-posix.m4 (AC_ISC_POSIX): Likewise. * lcmessage.m4 (AM_LC_MESSAGES): Likewise. * progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. * uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise. * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. * getline.m4 (AM_FUNC_GETLINE): Don't bother checking for string.h any more. * progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no", not the default value. 2001-06-25 Bruno Haible * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES. Also check for mbsinit. Needed for SCO 3.2v5.0.2. Also include ; this is where AIX 3.2.5 declares wcwidth. Also check for iswcntrl, used for wcwidth fallback. Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability to Autoconf 2.13. 2001-08-03 Jim Meyering * mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include', as it was in the original. Reported by Paul Eggert. 2001-07-16 Jim Meyering * gettimeofday.m4: New file. Prompted by a report from Bernhard Baehr. 2001-07-15 Jim Meyering * Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h stuff. Now it's in ../Makefile.cfg. 2001-07-04 Jim Meyering * Makefile.am.in (glibc-io.struct): New target. Rework the code that generates jm-glibc-io.m4 so that it doesn't trigger any make distcheck failure. 2001-07-02 Jim Meyering The following changes were prompted by suggestions from Bruno Haible. * jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4 is now generated. * Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted definition of EXTRA_DIST. (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to ensure that the generated file is created/updated whenever the list of $(unlocked_functions) is changed. (jm-glibc-io.m4): New rule. (unlocked-io.h): New rule -- currently unused. 2001-06-24 Jim Meyering * regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an unmatched right bracket, rather than kludging it with an extra, falsely-matching quote in a comment. Patch by Akim Demaille. 2001-05-27 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx. Check for ut_type in struct utmp. 2001-05-22 Jim Meyering * strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime), now that we use the package-supplied version unconditionally. (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason. 2001-05-21 Jim Meyering * regex.m4: Change a couple backticks to single quotes to avoid shell syntax errors. 2001-05-19 Alexandre Duret-Lutz * dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. 2001-05-11 Paul Eggert * strftime.m4 (jm_FUNC_GNU_STRFTIME): Don't bother to check library strftime, since we'll be using our own my_strftime function anyway. Define my_strftime instead of strftime. 2001-05-15 Jim Meyering * regex.m4: Use proper quoting so brackets appear in the test program. Reported by, and with help from, Bruno Haible. 2001-05-13 Jim Meyering * jm-macros.m4 (major_t, minor_t): Define to unsigned int if undefined. 2000-11-26 Paul Eggert * jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. 2001-04-21 Jim Meyering * rmdir-errno.m4: Write to a new file, so that a restrictive umask doesn't interfere. 2001-04-21 Alexandre Duret-Lutz * ftruncate.m4: Check for chsize. Link with ftruncate.o unconditionally if ftruncate is missing. This was required when cross-compiling to i586-mingw32msvc. 2001-03-24 Jim Meyering * jm-macros.m4: Require autoconf-2.49d. 2001-03-20 Bruno Haible * iconv.m4 (jm_ICONV): Recommend GNU libiconv. 2001-03-17 Jim Meyering * memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP, now that the version in autoconf is equivalent. (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP. * error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. Suggestion from Akim Demaille. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME. (jm_PREREQ_TEMPNAME): New function. 2001-02-25 Paul Eggert * jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system lacks mkstemp. Compile our own tempname.c if we compile our own mkstemp.c, as mkstemp relies on tempname. 2001-03-01 Jim Meyering * dos.m4 (jm_AC_DOS): Remove extra backslashes, now that AH_VERBATIM really does output its argument verbatim. 2001-02-18 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. 2001-02-17 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on UnixWare 7.1.1. * mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., rather than AC_CACHE_VAL. 2001-02-17 Paul Eggert * mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). * prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. 2001-02-07 Jim Meyering * regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. 2001-02-05 Jim Meyering * jm-macros.m4: Require autoconf-2.14d (not yet released), because it includes the patch required for `large file' support with at least HP-UX's 10.20 /bin/cc. 2001-02-03 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of AS_IF, now that it works once again (mysteriously). * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. 2001-01-30 Jim Meyering Don't use filenames that are 8.3-equivalent to "conftest" on DOS. * chown.m4: Rename conftestchown to conftest.chown. * rename.m4: s/conftestdir/conftest.d1/ and s/conftestdir2/conftest.d2/. * utimes.m4: s/conftestdata/conftest.data/ Inspired by Pavel Roskin's change in autoconf. 2001-01-27 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was a use of AS_IF. * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. 2001-01-26 Jim Meyering * prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that quotearg.c includes it. 2001-01-15 Bruno Haible * iconv.m4 (jm_ICONV): Also check whether the iconv declaration has const. 2001-01-20 Jim Meyering Be sure that headers are checked before used in code compiled for the type checks. * jm-macros.m4 (jm_MACROS): Remove all header checks. In place of that, invoke jm_CHECK_ALL_TYPES. (jm_CHECK_ALL_HEADERS): New functions with the above checks. (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS. Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES; The check for ssize_t was mistakenly run before the test for unistd.h. The configure-time check for stdbool.h was missing. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH. (jm_PREREQ_HASH): New function. 2001-01-17 Jim Meyering * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, for autoconf-2.49c. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. 2001-01-14 Jim Meyering * rename.m4: Use temporary directories named conftestdir{,2}, not foo and bar. Create conftestdir/ in the script, not in the C code. Remove directories in the script, not in the C code. Remove conftestdir{,2} before trying to create the directory. Make the entire configure script fail if the mkdir fails. 2001-01-02 Volker Borchert * rename.m4: New file. * jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. 2001-01-01 Alexandre Duret-Lutz * libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN, so `make install' also works in VPATH builds. 2001-01-01 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available), even on systems with utmpx.h. It's necessary for the declaration of utmp's ut_user member. Reported by Andreas Jaeger. * check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if available. They are required for the declarations of getgrgid and getpwuid resp. (_jm_DECL_HEADERS): Check for grp.h and pwd.h. Reported by Andreas Jaeger. 2000-12-25 Alexandre Duret-Lutz * libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR, prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it can be used in subdirectories. 2000-12-26 Jim Meyering * dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work better with autoheader. 2000-12-17 Jim Meyering * dos.m4 (jm_AC_DOS): New file and macro. * jm-macros.m4 (jm_MACROS): Require jm_AC_DOS. 2000-12-06 Paul Eggert * off_t-format.m4: Remove this file. * jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. 2000-12-06 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the replacement strtoull, we may well need the replacement strtoul, too. Check for declarations of strtoul and strtoull. Check for strtol. Mainly as a cue to cause automake to include strtol.c -- that file is included by each of strtoul.c and strtoull.c. Check for limits.h -- strtol.c needs it. 2000-12-02 Jim Meyering * off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro. * jm-macros.m4 (jm_MACROS): require it. 2000-11-30 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for stdint.h. 2000-11-30 Jim Meyering * getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. 2000-11-03 Bruno Haible * jm-macros.m4 (jm_MACROS): Add test for wcrtomb. 2000-11-04 Jim Meyering * regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. 2000-10-29 Jim Meyering * fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf renaming. * ls-mntd-fs.m4: Likewise 2000-10-28 Jim Meyering * prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. (jm_PREREQ_MEMCHR): New function. 2000-10-21 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr. * prereq.m4 (jm_PREREQ_DIRNAME): New macro. * jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr. 2000-09-18 Jim Meyering * getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of LIBS. Otherwise, everyone ends up linking with -lelf for some configurations. Reported by Mike Stone. 2000-08-26 Jim Meyering * jm-macros.m4: Use jm_FUNC_FPENDING. * fpending.m4: New file. 2000-08-20 Jim Meyering * check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than `#if !HAVE_UTMPX_H'. The latter would lose on systems with neither utmp.h nor utmpx.h. Reported by Eli Zaretskii. 2000-08-11 J. David Anglin Improve fileutils installation on systems where running programs (like install) can't be unlinked. * unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro. * jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT. 2000-08-06 Paul Eggert * mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int, not char, for compatibility with glibc 2.1.3 strftime.c. 2000-07-23 Paul Eggert * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. 2000-07-23 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, too: getgrgid, getpwuid, getuid. 2000-07-16 Bruno Haible * mbswidth.m4: New file. * prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. 2000-07-14 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require jm_AC_TYPE_UINTMAX_T. 2000-07-10 Paul Eggert From a suggestion by Bruno Haible. * mbstate_t.m4 (AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed. Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT and mbstate_t, to a single-part test that simply defines mbstate_t. * prereq.m4 (jm_PREREQ_QUOTEARG): s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. 2000-07-10 Jim Meyering * strerror_r.m4: Mirror the correction made in autoconf. * gnu-source.m4: Output to confdefs.h directly. Suggestion from Akim Demaille. 2000-07-09 Jim Meyering * jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required to link seq. If so, set SEQ_LIBM to -lm. From Bruno Haible. * gnu-source.m4 (AC__GNU_SOURCE): New file/macro. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it. 2000-07-05 Bruno Haible * strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer to strerror_r. Include for use of isalpha. 2000-07-05 Paul Eggert and Bruno Haible * mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t only if the test for an object-type mbstate_t fails. This prevents us from mistakenly reporting that mbstate_t is a system object type after we "#define mbstate_t int" to work around its lack. 2000-07-04 Jim Meyering * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead of the deprecated AC_CHECKING. 2000-07-03 Jim Meyering * check-decl.m4 (AC_CHECK_DECLS): Add strnlen. 2000-07-03 Paul Eggert * mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. 2000-07-02 Jim Meyering * mbstate_t.m4: Also define mbstate_t, if necessary. * chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with AC_LIBOBJ(function_name). * chown.m4: Likewise. * fnmatch.m4: Likewise. * ftruncate.m4: Likewise. * getgroups.m4: Likewise. * getline.m4: Likewise. * group-member.m4: Likewise. * jm-macros.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * nanosleep.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. 2000-07-01 Jim Meyering * ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated problem. 2000-06-17 Bruno Haible * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV. 2000-07-01 Jim Meyering * uptime.m4: Put double quotes around use of $cross_compiling. 2000-06-28 Jim Meyering * mbstate_t.m4: Use stdlib.h, not stdio.h. The latter is not included by quotearg.c, for which we perform this test. From Bruno Haible. 2000-06-17 Bruno Haible * check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. * prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either or exists, put readutmp.o into LIBOBJS. 2000-06-25 Jim Meyering * mbstate_t.m4: Include stdio.h before wchar.h to work around Linux header bug when _XOPEN_SOURCE is defined to 500. 2000-06-24 Jim Meyering * strerror_r.m4: Revive this file -- to try out an experimental version of AC_FUNC_STRERROR_R that may work even on BeOS, a system for which strerror does return char*, but which lacks a conveniently accessible declaration of the function. If the compile-test says strerror_r doesn't work, then resort to a `run'-test that works on BeOS and segfaults on DEC Unix. 2000-06-19 Paul Eggert * mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT. * prereq.m4 (jm_PREREQ_QUOTEARG): Use it. Add check for iswprint. 2000-06-23 Jim Meyering * afs.m4: Add missing AC_MSG_RESULT. Reported by Bruno Haible. * fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/. Suggestion from Bruno Haible. 2000-06-21 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. 2000-06-18 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir. * link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the `checking whether...' message to be consistent with that of the lstat test. 2000-06-16 Bruno Haible * glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. 2000-06-12 Jim Meyering * getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an optional argument. * jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply the optional argument, `lib'. 2000-06-08 Jim Meyering * largefile.m4: Remove file (now that it's part of autoconf). 2000-06-04 Paul Eggert Rewrite largefile configuration so that we don't need to run getconf and don't need AC_CANONICAL_HOST. [I'm leaving the use of AC_CANONICAL_HOST in configure.in -- jmm] * largefile.m4 (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND): Remove. (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro. (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY. All uses changed. Instead of inspecting the output of getconf, try to compile the test program without and with the macro definition. (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check for getconf. Instead, check for the needed flags by compiling test programs. 2000-06-03 Jim Meyering * prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. * jm-glibc-io.m4: Add a kludge to make autoheader emit the required #undefs. E.g., #undef HAVE_DECL_FERROR_UNLOCKED. Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. 2000-05-26 Bruno Haible * glibc21.m4: New file. * jm-macros.m4 (jm_MACROS): Call jm_GLIBC21. 2000-05-28 Jim Meyering * jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * stat.m4: Likewise. * lstat.m4: Likewise. * lstat-slash.m4: Remove file (absorbed into autoconf). * jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R. * strerror_r.m4: Remove file (absorbed into autoconf). 2000-05-26 Jim Meyering * uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'. 2000-05-24 Jim Meyering * prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that autoconf requires that. * lib-check.m4: Likewise. * jm-macros.m4: Likewise. * strftime.m4: Likewise. * check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. 2000-05-22 Jim Meyering * stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * lstat.m4: Likewise. 2000-05-20 Jim Meyering * prereq.m4 (jm_PREREQ_HUMAN): New macro. (jm_PREREQ): Use it. 2000-05-09 Jim Meyering * gettext.m4: Rename this... * libintl.m4: ...to this. 2000-05-06 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit. (AC_REPLACE_FUNCS): Add strnlen. * rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. * jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY. * nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around AC_SEARCH_LIBS call for nanosleep. (LIB_NANOSLEEP): Set and AC_SUBST. 2000-05-03 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to be 500, instead of _GNU_SOURCE to be 1, to work around glibc 2.1.3 bug. This avoids a clash when files like regex.c define _GNU_SOURCE. 2000-05-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Save and restore LIBS around AC_SEARCH_LIBS call for clock_gettime. (LIB_CLOCK_GETTIME): Set and AC_SUBST. * search-libs.m4: Update from autoconf. su doesn't work on Solaris 2.6. * lib-check.m4: When checking for struct spwd.sp_pwdp, also include . Reported by Dragos Harabor. 2000-05-03 Jim Meyering * check-decl.m4 (AC_CHECK_DECLS): Add strndup. 2000-05-02 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if this is needed to make ftello visible (e.g. glibc 2.1.3). Use compile-time test, rather than inspecting host and OS, to decide whether to define _LARGEFILE_SOURCE. 2000-05-01 Jim Meyering * fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support. Based on a patch from Bruno Haible. 2000-04-18 Jim Meyering * prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro. (jm_PREREQ): Use it. 2000-04-17 Jim Meyering Get it right :-) * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the actual #define via AH_VERBATIM. Don't need separate AC_DEFINE. Suggestion from Akim Demaille. 2000-04-14 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg form of AC_DEFINE. Otherwise, the #ifndef in AH_VERBATIM gets clobbered. 2000-04-13 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new AH_VERBATIM to insert required #ifndef into config.h.in. Suggestion from Akim Demaille. 2000-04-12 Jim Meyering * getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not `AC_CHECK_HEADER' to check for locale.h. Thanks to a report from Christian Krackowizer. More code moved from ../configure.in into (jm_CHECK_ALL_TYPES). * jm-macros.m4 (_GNU_SOURCE): Define. (AC_SYS_LARGEFILE): Require. (AM_C_PROTOTYPES): Require. 2000-04-05 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on IRIX if the installer said otherwise. 2000-04-05 Jim Meyering Portability tweaks required for ultrix4.3. * check-decl.m4 [!HAVE_UTMPX_H] (headers): Include . (jm_CHECK_DECLS): Add getutent to the list of functions. (_jm_DECL_HEADERS): Add utmpx.h. From John David Anglin. * strftime.m4: Back out the 2000-04-02 change. Instead of that change, simply undefine putenv in the test program. 2000-04-03 Jim Meyering * gettext.m4: Fix typo in comment. * codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from textutils/configure.in). Suggestion from Paul Eggert. (AC_CHECK_FUNCS): Add nl_langinfo. (also from textutils/configure.in) 2000-04-02 Paul Eggert * strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment variable in the shell rather than using putenv, which isn't portable. This avoids the configure-time inter-test dependency on the potentially-renamed putenv function. 2000-03-30 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Include before checking struct stat.st_blksize, so that HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly. 2000-03-29 Paul Eggert * strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime, since strftime.c uses HAVE_STRFTIME to decide whether to use the underlying strftime. 2000-03-10 Jim Meyering * lib-check.m4: Look for getspnam in -lgen, too. From Marco Franzen. 2000-02-02 Bruno Haible * codeset.m4: New file. * iconv.m4: New file. * jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV. 2000-03-04 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, for lib/localcharset.c. 2000-03-03 Jim Meyering * regex.m4: Make sure re_compile_pattern accepts patterns like `{1'. 2000-03-02 Jim Meyering * timespec.m4: Require AC_HEADER_TIME before the cache check so the messages come out on separate lines. * jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS, rather than jm_CHECK_DECLARATIONS. * decl.m4: Remove now-unused file. * check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and geteuid. 2000-02-27 Jim Meyering * check-decl.m4: Add getenv to the list. 2000-02-23 Jim Meyering * check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it in place of my hack. 2000-02-10 Jim Meyering * nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from gnu_nanosleep to rpl_nanosleep. 2000-02-09 Jim Meyering * lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in struct spwd, rather than in struct passwd. Reported by Gaël Quéri. 2000-02-08 Akim Demaille * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with `[' and `]' and remove uses of `changequote'. (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. (AC_SYS_LARGEFILE): Likewise. * gettext.m4 (AM_GNU_GETTEXT): Likewise. * strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use of changequote. * regex.m4 (jm_INCLUDED_REGEX): Likewise. * readdir.m4 (jm_FUNC_READDIR): Likewise * memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main. * getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise. 2000-02-05 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros. Remove explicit use of AC_HEADER_TIME. It is required by jm_CHECK_TYPE_STRUCT_TIMESPEC. Using AC_HEADER_TIME and `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but in autoconf whereby the expansion of the latter ended up preceding the expansion of its prerequisite, AC_HEADER_TIME. Reported by Volker Borchert. 2000-02-03 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname. 2000-02-02 Jim Meyering * prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/. Reported by Eli Zaretskii. 2000-01-31 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of functions. Add the time.h and sys/time.h headers along with the AC_REQUIRE'ment of AC_HEADER_TIME. 2000-01-30 Jim Meyering * lib-check.m4: Clean up some kludgy old shadow password tests. * prereq.m4 (utmp_includes): Define. Check for ut_user and ut_name members in both struct utmpx and struct utmp. 2000-01-29 Jim Meyering * lib-check.m4: New file containing library-related checks from fileutils and sh-utils (textutils had none). 2000-01-28 Jim Meyering * perl.m4: Change format of warning message to look more like that from the missing script. Suggestion from François Pinard. 2000-01-25 Jim Meyering * timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as well as time.h in the compile check. * nanosleep.m4: Require AC_HEADER_TIME rather than simply using it. Fix typo in cross-compiling case: s/yes/no/. 2000-01-23 Jim Meyering * jm-macros.m4: Move df-related tests here from fileutils/configure.in * ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/ (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters. * fsusage.m4: New file. Extracted from fileutils/configure.in. s/space/ac_fsusage_space/. (jm_FILE_SYSTEM_USAGE): Take two parameters. * ftruncate.m4: New file (derived from part of fileutils/configure.in). * jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it. (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT. * jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN): AC_SUBST these here, rather than just in sh-util/configure.in, so that the now-shared-by-fileutils-and-textutils lib/Makefile.am are all the same. (AM_FUNC_OBSTACK): Add (from fileutils/configure.in). (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils. (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in). (AC_SUBST(POW_LIBM)): Likewise. (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in. 2000-01-22 Jim Meyering * jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST. * prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h. * jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils' configure.in (AC_CHECK_HEADERS): Likewise for sh-utils. (AC_CHECK_HEADERS): Likewise for textutils. Merge the three lists of headers. * prereq.m4 (jm_PREREQ_ADDEXT): New macro. Parts moved here from fileutils' configure.in. * decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)' code. Moved tests into their own function (_jm_DECL_HEADERS) in check-decl.m4. * check-decl.m4: Use #if rather than #ifdef. Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL. (jm_CHECK_DECLARATIONS): Add strtoul strtoull. (_jm_DECL_HEADERS): Define new function. (jm_CHECK_DECLARATIONS): Require it. 2000-01-19 Jim Meyering * nanosleep.m4 (jm_FUNC_NANOSLEEP): Include , too. Use AC_HEADER_TIME. Volker Borchert reported that OpenBSD-2.3/sparc defines `struct timespec' in * c-bs-a.m4: Remove uses of changequote altogether. Thanks to Akim for explaining. 2000-01-16 Jim Meyering * jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV, AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME, jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA, AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME. 2000-01-16 Jim Meyering * c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )' because the latter didn't work. 2000-01-15 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell. (AC_REPLACE_FUNCS): Add memcpy and memset. Add these, too: stime strcspn stpcpy strstr strtol strtoul. Add strpbrk. Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp. 2000-01-12 Jim Meyering * prereq.m4 (jm_PREREQ_CANON_HOST): New macro. (jm_PREREQ): Use it. (jm_PREREQ_READUTMP): New macro. (jm_PREREQ): Use it. 2000-01-11 Paul Eggert Quote multibyte characters correctly. * c-bs-a.m4: New file. * prereq.m4 (jm_PREREQ_QUOTEARG): New macro. (jm_PREREQ): Use it. 2000-01-11 Paul Eggert * uintmax_t.m4: Port to autoconf 2.13. 2000-01-08 Jim Meyering * strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro. * jm-macros.m4 (jm_FUNC_STRERROR_R): Require it. 2000-01-04 Jim Meyering * d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from jm_STRUCT_DIRENT_D_TYPE. * d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from jm_STRUCT_DIRENT_D_INO. * utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from jm_STRUCT_UTIMBUF. * jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/ renamings. * utime.m4: Likewise. * timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro. * jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it. 2000-01-03 Paul Eggert * nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt (for Solaris 7) and in -lposix4 (for Solaris 2.5.1). 2000-01-02 Jim Meyering * search-libs.m4: Escape `$' in $3 of dnl comment. I no longer remember if this is necessary. 1999-12-26 Jim Meyering * jm-macros.m4: Use it here. * nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro. 1999-12-23 Jim Meyering * jm-macros.m4: Check for clock_gettime (moved from fileutils/configure.in) Check for gettimeofday. 1999-12-20 Jim Meyering * strftime.m4: Remove kludge, now that I'm using the fixed autoconf-2.14a-1999-12-20. 1999-12-19 Jim Meyering * lstat-slash.m4: New file. * jm-macros.m4: Use the new macro: jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 1999-12-07 Jim Meyering * perl.m4: Require that File::Compare be available, too. Too many systems seem to lack it. * strftime.m4: Add checks for most of the cpp macros tested in GNU's strftime.c. Prompted by a patch from Paul Eggert. 1999-11-18 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem with the QNX 4.25 shell, which doesn't propagate exit status of failed commands inside shell assignments. 1999-11-17 Jim Meyering * gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES. 1999-11-07 Jim Meyering * getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE. 1999-11-06 Jim Meyering * link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro. * jm-macros.m4 (jm_MACROS): Use it here. 1999-11-05 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from configure.in of textutils, fileutils, and sh-utils into this one (shared between those packages) file. Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated AC_STRUCT_ST_BLKSIZE. 1999-11-03 Jim Meyering * ssize_t.m4: Remove file. No longer needed since the new version of AC_CHECK_TYPE checks includes unistd.h. * jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'. Suggestion from Akim Demaille. 1999-10-30 Jim Meyering * uintmax_t.m4: Require 2.14a. Remove backslash before backtick in m4-quoted string. * ls-mntd-fs.m4: Likewise. * jm-macros.m4: Likewise. Also, use AC_TYPE_SSIZE_T instead * jm-winsz1.m4: Likewise. * const.m4: Remove file, since the fix made it into the experimental version of autoconf. * mktime.m4: Likewise. * check-type.m4: Remove file, now that the latest version of AC_CHECK_TYPE takes a third arg to specify additional #includes. * ssize_t.m4: New file, requires experimental version of autoconf. * jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked AC_CHECK_TYPE. 1999-10-04 Jim Meyering * jm-macros.m4: Don't require autoconf-2.14.1. 1999-09-22 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC 2.95.1 bug with HP-UX 10.20. 1999-09-17 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup. Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3 due to missing strdup (against sh-utils-2.0). 1999-08-29 Jim Meyering * jm-macros.m4: Require jm_BISON. * bison.m4: New file. 1999-08-17 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20. 1999-08-05 Jim Meyering * getline.m4: Rename test file from conftestdata to conftest.data to avoid conflicts with `conftest' on 8+3 filesystems. Suggestion from Eli Zaretskii. 1999-08-04 Jim Meyering * jm-macros.m4: Move a 4-line block of code from the configure.in of fileutils and sh-utils (textutils's getline test was inadequate). (AM_FUNC_GETLINE): Run this test. (AC_CHECK_FUNCS): Check for getdelim. Reported by Bob Proulx. 1999-08-02 Jim Meyering * jm-macros.m4: Add a comment. 1999-08-01 Jim Meyering * mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from m4. 1999-08-01 Paul Eggert * lfs.m4: Remove this file. * largefile.m4: New file. It contains the old contents of lfs.m4, except that all names with prefix AC_LFS have been changed to use the prefix AC_SYS_LARGEFILE instead, to be compatible with future autoconf versions. Also, some minor m4 quoting problems have been fixed. 1999-07-16 Paul Eggert * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure that we can shift, multiply and divide unsigned long long values; Ultrix cc can't do it. 1999-07-14 Paul Eggert * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether defines strtoumax as a macro (and not as a function). 1999-07-05 Paul Eggert * gettext.m4 (AM_WITH_NLS): Remove unnecessary lines. Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl. (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting, and simplify the shell code. 1999-07-03 Paul Eggert * mktime.m4: New file, which is a preview of what should appear in the next public autoconf release. 1999-07-20 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove. 1999-07-15 Jim Meyering * jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize. 1999-05-22 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr. 1999-05-20 Jim Meyering * search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine. Add a colon after each `then' in case $4 is empty. 1999-05-16 Jim Meyering * search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS. 1999-05-10 Jim Meyering * jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME. * jm-macros.m4: Require 2.14.1, since we use newly-renamed AC_FUNC_MKTIME. 1999-05-10 Andreas Schwab * jm-mktime.m4, putenv.m4: Fix typos in config.h comments. 1999-05-04 Paul Eggert * lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS, not CPPFLAGS, so that linking works correctly in IRIX. 1999-04-30 Paul Eggert * jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2. 1999-04-20 Jim Meyering * xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG. AC_REPLACE xstroull if necessary. From Paul Eggert. (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq. 1999-04-20 Paul Eggert * uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require jm_AC_TYPE_UNSIGNED_LONG_LONG. * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro. * lfs.m4: Port to AIX and HP-UX. Support cross-compilation. 1999-04-18 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro. * jm-macros.m4: Use it. 1999-04-06 Jim Meyering * strftime.m4: Remove test for %f. 1999-03-29 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the superset of the AC_TYPE_* checks in the textutils, fileutils, and sh-utils, plus AC_TYPE_PID_T. Paul Eggert suggested adding AC_TYPE_PID_T. 1999-03-28 Jim Meyering * jm-macros.m4: Define GNU_PACKAGE here. Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is replaced e.g., in the *.sh files of the sh-utils. 1999-03-20 Jim Meyering * jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/. * regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX. Don't depend on AM_GLIBC. Suggestions from Alain Magloire. 1999-03-19 Jim Meyering * jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro. 1999-03-12 Jim Meyering * jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED. 1999-03-07 Jim Meyering * jm-glibc-io.m4: Use only those *_unlocked macros that are declared. 1999-02-17 Jim Meyering * gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of brackets in macro definition. From Eli Zaretskii and Alain Magloire. 1999-02-07 Jim Meyering * group-member.m4: New file -- extracted from sh-utils' configure.in. 1999-02-05 Eli Zaretskii * gettext.m4: Support DOS-style d:/foo/bar absolute file names. 1999-02-06 Jim Meyering * chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. Suggestion from Alain Magloire. * chown.m4: Use `.$ac_objext', not `.o'. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * getline.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. Suggestion from Alain Magloire. * jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires an argument. * regex.m4: Add a run-time Test for proper operation of re_compile_pattern. 1999-01-31 Jim Meyering * getloadavg.m4: Check for locale.h and the function, setlocale. 1999-01-30 Jim Meyering * check-type.m4: Use 3-arg form of AC_DEFINE. * jm-mktime.m4: Make this a wrapper around the official AM_FUNC_MKTIME rather than my private copy, now that the official one is up to date. * mktime.m4: Remove file. * getloadavg.m4: Use 3-arg form of AC_DEFINE. * uptime.m4: Likewise. * uintmax_t.m4: Likewise. 1999-01-28 Jim Meyering * jm-macros.m4: Use jm_AFS. * afs.m4: New file (from fileutils' configure.in). * assert.m4: Use the 3-argument forms of AC_DEFINE* macros. * chown.m4: Likewise. * d-ino.m4: Likewise. * d-type.m4: Likewise. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * gettext.m4: Likewise. * jm-mktime.m4: Likewise. * jm-winsz2.m4: Likewise. * lcmessage.m4: Likewise. * ls-mntd-fs.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * st_mtim.m4: Likewise. * strftime.m4: Likewise. 1999-01-16 Jim Meyering * jm-macros.m4 (ARGMATCH_DIE): Define. (ARGMATCH_DIE_DECL): Define. 1999-01-12 Jim Meyering * Makefile.am.in: Rewrite to avoid using fmt. Reported by Lars Hecking. 1999-01-10 Jim Meyering * fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my gross kludge. * inttypes_h.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * readdir.m4: Likewise. * realloc.m4: Likewise. * st_dm_mode.m4: Likewise. * stat.m4: Likewise. * utimbuf.m4: Likewise. * utimes.m4: Likewise. * check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the AC_CHECK_FUNCS hack. Now, it's still a hack, but at least the comments in config.h.in are meaningful. * jm-macros.m4: Require autoconf-2.13 here. * regex.m4: By default, don't use the included regex.c on systems with glibc 2. Suggestion from Uli Drepper. 1999-01-02 Jim Meyering * jm-macros.m4: Replace strcasecmp and strncasecmp. 1998-12-18 Jim Meyering * Makefile.am.in (Makefile.am): Simplify rule. Based on a suggestion from Lars Hecking. 1998-11-16 Jim Meyering * lfs.m4: Double-quote the `uname...` expression. 1998-11-16 Paul Eggert * lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11. 1998-11-14 Jim Meyering * lstat.m4: Correct comment. POSIX does not permit it to succeed. * stat.m4: Likewise. 1998-11-03 Jim Meyering * stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG. * lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG. 1998-10-18 Jim Meyering * check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro. 1998-10-17 Jim Meyering * decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to include, though we still hard-code the `require'-like AC_CHECK_HEADERS calls for those previously hard-coded headers. Instead, take a new parameter. (jm_CHECK_DECLARATIONS): Reflect interface change. * check-decl.m4 (jm_CHECK_DECLS): Likewise. (jm_CHECK_DECL_LOCALTIME_R): New macro. * mktime.m4: Test for spring-forward gap before long-running test. 1998-10-14 Jim Meyering * mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver". From Paul Eggert. 1998-10-11 Jim Meyering * mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro. This adds a test for a recently added compatibility fix for mktime.c. * jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME. 1998-09-27 Jim Meyering * jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH. * fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro. Extracted from ../configure.in, including a change from Gordon Matzigkeit to allow cross-compiling for the Hurd. * glibc.m4: New file/macro to test for the GNU C Library versions 1 and 2. From Gordon Matzigkeit. Indent. 1998-09-21 Jim Meyering * chown.m4: Declare locals: before, after. From Andries Brouwer. 1998-08-18 Paul Eggert Port nanosecond-resolution times to UnixWare 2.1.2 and pedantic Solaris 2.6. * st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from AC_STRUCT_ST_MTIM. * st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Generate name of ns member, instead of just 1 or undef. Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode. 1998-08-15 Jim Meyering * ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file. * check-type.m4: New file. Replacement for AC_CHECK_TYPE. * jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int) instead of jm_TYPE_SSIZE_T. 1998-08-12 Jim Meyering * st_dm_mode.m4: New file. From Johan Danielsson. 1998-08-02 Jim Meyering * st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM in acconfig.h manually. 1998-07-31 Paul Eggert * st_mtim.m4: New file. 1998-07-28 Jim Meyering * utimes.m4: Undef stat. 1998-07-25 Jim Meyering * utime.m4 (jm_FUNC_UTIME): New file and macro. * utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro. 1998-07-09 Manfred Hollstein * chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the uid and gid actually remain unchanged. 1998-07-07 Jim Meyering * jm-glibc-io.m4: Remove fclose_unlocked. 1998-07-04 Jim Meyering * regex.m4: Use syscmd, ifelse, and sysval. Mainly as an exercise to prove that this macro can be used in packages without regex.c. 1998-07-02 Andreas Schwab * gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if is to be used. 1998-07-03 Jim Meyering * gettext.m4: Add -lintl if it's found to be necessary. * gettext.m4: New file -- from gettext-0.10.35. * lcmessage.m4: Likewise. * progtest.m4: Likewise. * regex.m4 (jm_WITH_REGEX): New file and macro. * jm-macros.m4: Require the new macro. 1998-06-29 Jim Meyering * fstypename.m4: Include sys/param.h. NetBSD 1.3.1 requires this for the definition of NGROUPS (used in a system header included by sys/mount.h). 1998-06-28 Jim Meyering * ls-mntd-fs.m4: New file. * fstypename.m4: New file. * jm-macros.m4: Require the new macro. * jm-glibc-io.m4: New file. 1998-05-19 Jim Meyering * jm-macros.m4: Add jm_FUNC_LCHOWN. * lchown.m4: New file. * Makefile.am.in: New file. * Makefile.am (Makefile.am): Depend on Makefile.am.in. 1998-05-14 Jim Meyering * Makefile.am (EXTRA_DIST): Add them. * jm-macros.m4: New file. * utimbuf.m4: New file. 1998-05-12 Jim Meyering * Makefile.am (EXTRA_DIST): Add isc-posix.m4. 1998-05-11 Jim Meyering * isc-posix.m4: New file. 1998-05-10 Jim Meyering * jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date. 1998-05-09 Jim Meyering * Makefile.am (EXTRA_DIST): Add ssize_t.m4. (EXTRA_DIST): Remove mktime.m4, now that the new version is included with automake. * ssize_t.m4: New file. * mktime.m4: Remove file -- the new automake has this now. 1998-04-26 Jim Meyering * assert.m4: New file. * Makefile.am (EXTRA_DIST): Add assert.m4. 1998-04-05 Jim Meyering * prereq.m4 (jm_PREREQ_REGEX): New macro. (jm_PREREQ): Use it here. 1998-03-23 Jim Meyering * inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H in acconfig.h. 1998-03-15 Jim Meyering * prereq.m4: New file. * error.m4: New file. * Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4. 1998-02-07 Jim Meyering * getline.m4: Don't set am_cv_func_working_getline before the cache-check for the same variable -- that defeated the purpose of the test; the test program was never run. This was a problem only on systems with losing getline functions -- HP-UX 10.20 is one. Reported by Bjorn Helgaas. 1998-02-06 Jim Meyering * Makefile.am (EXTRA_DIST): Add perl.m4. 1998-01-10 Jim Meyering * Makefile.am (EXTRA_DIST): Add const.m4. * const.m4: New file. Use an initializer in this declaration typedef int charset[2]; const charset x; Reported by Bob Glickstein. 1997-12-21 Jim Meyering * chown.m4: Fix reversed types on -1 args to chown. From Kaveh Ghazi. 1997-12-14 Jim Meyering * check-decl.m4: s/DECLARATION_/DECL_/g. Add lseek and memchr. * decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g. T.E.Dickey said that some older preprocessors have a 20-character limit on names. 1997-11-30 Jim Meyering * inttypes_h.m4: New file. * uintmax_t.m4: New file. * Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4. ----- Copyright (C) 1997-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/m4/group-member.m40000664000000000000000000000141212071024546013530 00000000000000# serial 14 # Copyright (C) 1999-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl Written by Jim Meyering AC_DEFUN([gl_FUNC_GROUP_MEMBER], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare group_member(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl Do this replacement check manually because I want the hyphen dnl (not the underscore) in the filename. AC_CHECK_FUNC([group_member], , [ HAVE_GROUP_MEMBER=0 ]) ]) # Prerequisites of lib/group-member.c. AC_DEFUN([gl_PREREQ_GROUP_MEMBER], [ AC_REQUIRE([AC_FUNC_GETGROUPS]) ]) coreutils-8.21/m4/exponentf.m40000664000000000000000000000545612071024546013151 00000000000000# exponentf.m4 serial 2 dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FLOAT_EXPONENT_LOCATION], [ AC_CACHE_CHECK([where to find the exponent in a 'float'], [gl_cv_cc_float_expbit0], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ]])], [gl_cv_cc_float_expbit0=`cat conftest.out`], [gl_cv_cc_float_expbit0="unknown"], [gl_cv_cc_float_expbit0="word 0 bit 23"]) rm -f conftest.out ]) case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([FLT_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'float'.]) AC_DEFINE_UNQUOTED([FLT_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'float'.]) ;; esac ]) coreutils-8.21/m4/setenv.m40000664000000000000000000001101212071024546012430 00000000000000# setenv.m4 serial 26 dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SETENV], [ AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else AC_CACHE_CHECK([whether setenv validates arguments], [gl_cv_func_setenv_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include ]], [[ int result = 0; { if (setenv ("", "", 0) != -1) result |= 1; else if (errno != EINVAL) result |= 2; } { if (setenv ("a", "=", 1) != 0) result |= 4; else if (strcmp (getenv ("a"), "=") != 0) result |= 8; } return result; ]])], [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_setenv_works="guessing no" ;; esac ])]) case "$gl_cv_func_setenv_works" in *yes) ;; *) REPLACE_SETENV=1 ;; esac fi ]) # Like gl_FUNC_SETENV, except prepare for separate compilation # (no REPLACE_SETENV, no AC_LIBOBJ). AC_DEFUN([gl_FUNC_SETENV_SEPARATE], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([setenv]) if test $ac_cv_have_decl_setenv = no; then HAVE_DECL_SETENV=0 fi AC_CHECK_FUNCS_ONCE([setenv]) gl_PREREQ_SETENV ]) AC_DEFUN([gl_FUNC_UNSETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([unsetenv]) if test $ac_cv_have_decl_unsetenv = no; then HAVE_DECL_UNSETENV=0 fi AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 else HAVE_UNSETENV=1 dnl Some BSDs return void, failing to do error checking. AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #undef _BSD #define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 */ #include extern #ifdef __cplusplus "C" #endif int unsetenv (const char *name); ]], [[]])], [gt_cv_func_unsetenv_ret='int'], [gt_cv_func_unsetenv_ret='void'])]) if test $gt_cv_func_unsetenv_ret = 'void'; then AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void instead of int.]) REPLACE_UNSETENV=1 fi dnl Solaris 10 unsetenv does not remove all copies of a name. dnl Haiku alpha 2 unsetenv gets confused by assignment to environ. dnl OpenBSD 4.7 unsetenv("") does not fail. AC_CACHE_CHECK([whether unsetenv obeys POSIX], [gl_cv_func_unsetenv_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include extern char **environ; ]], [[ char entry1[] = "a=1"; char entry2[] = "b=2"; char *env[] = { entry1, entry2, NULL }; if (putenv ((char *) "a=1")) return 1; if (putenv (entry2)) return 2; entry2[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 3; if (!unsetenv ("") || errno != EINVAL) return 4; entry2[0] = 'b'; environ = env; if (!getenv ("a")) return 5; entry2[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 6; ]])], [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_unsetenv_works="guessing no" ;; esac ])]) case "$gl_cv_func_unsetenv_works" in *yes) ;; *) REPLACE_UNSETENV=1 ;; esac fi ]) # Prerequisites of lib/setenv.c. AC_DEFUN([gl_PREREQ_SETENV], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CHECK_HEADERS([search.h]) AC_CHECK_FUNCS([tsearch]) ]) # Prerequisites of lib/unsetenv.c. AC_DEFUN([gl_PREREQ_UNSETENV], [ AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE([unistd.h]) ]) coreutils-8.21/m4/ftello.m40000664000000000000000000000732712071024546012427 00000000000000# ftello.m4 serial 11 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FTELLO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) AC_REQUIRE([gl_SYS_TYPES_H]) dnl Persuade glibc to declare ftello(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([ftello]) if test $ac_cv_have_decl_ftello = no; then HAVE_DECL_FTELLO=0 fi AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[ftello (stdin);]])], [gl_cv_func_ftello=yes], [gl_cv_func_ftello=no]) ]) if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FTELLO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FTELLO=1 fi if test $REPLACE_FTELLO = 0; then dnl Detect bug on Solaris. dnl ftell and ftello produce incorrect results after putc that followed a dnl getc call that reached EOF on Solaris. This is because the _IOREAD dnl flag does not get cleared in this case, even though _IOWRT gets set, dnl and ftell and ftello look whether the _IOREAD flag is set. AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether ftello works], [gl_cv_func_ftello_works], [ dnl Initial guess, used when cross-compiling or when /dev/tty cannot dnl be opened. changequote(,)dnl case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_ftello_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_ftello_works="guessing yes" ;; esac changequote([,])dnl AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #define TESTFILE "conftest.tmp" int main (void) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) return 70; if (fwrite ("foogarsh", 1, 8, fp) < 8) return 71; if (fclose (fp)) return 72; /* The file's contents is now "foogarsh". */ /* Try writing after reading to EOF. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) return 73; if (fseek (fp, -1, SEEK_END)) return 74; if (!(getc (fp) == 'h')) return 1; if (!(getc (fp) == EOF)) return 2; if (!(ftell (fp) == 8)) return 3; if (!(ftell (fp) == 8)) return 4; if (!(putc ('!', fp) == '!')) return 5; if (!(ftell (fp) == 9)) return 6; if (!(fclose (fp) == 0)) return 7; fp = fopen (TESTFILE, "r"); if (fp == NULL) return 75; { char buf[10]; if (!(fread (buf, 1, 10, fp) == 9)) return 10; if (!(memcmp (buf, "foogarsh!", 9) == 0)) return 11; } if (!(fclose (fp) == 0)) return 12; /* The file's contents is now "foogarsh!". */ return 0; }]])], [gl_cv_func_ftello_works=yes], [gl_cv_func_ftello_works=no], [:]) ]) case "$gl_cv_func_ftello_works" in *yes) ;; *) REPLACE_FTELLO=1 AC_DEFINE([FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE], [1], [Define to 1 if the system's ftello function has the Solaris bug.]) ;; esac fi fi ]) # Prerequisites of lib/ftello.c. AC_DEFUN([gl_PREREQ_FTELLO], [ dnl Native Windows has the function _ftelli64. mingw hides it, but mingw64 dnl makes it usable again. AC_CHECK_FUNCS([_ftelli64]) ]) coreutils-8.21/m4/fatal-signal.m40000664000000000000000000000065612071024546013502 00000000000000# fatal-signal.m4 serial 9 dnl Copyright (C) 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FATAL_SIGNAL], [ AC_REQUIRE([gt_TYPE_SIG_ATOMIC_T]) AC_CHECK_HEADERS_ONCE([unistd.h]) gl_PREREQ_SIG_HANDLER_H ]) coreutils-8.21/m4/glibc21.m40000664000000000000000000000161312071024546012355 00000000000000# glibc21.m4 serial 5 dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Test for the GNU C Library, version 2.1 or newer, or uClibc. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc], [ac_cv_gnu_library_2_1], [AC_EGREP_CPP([Lucky], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif #ifdef __UCLIBC__ Lucky user #endif ], [ac_cv_gnu_library_2_1=yes], [ac_cv_gnu_library_2_1=no]) ] ) AC_SUBST([GLIBC21]) GLIBC21="$ac_cv_gnu_library_2_1" ] ) coreutils-8.21/m4/mountlist.m40000664000000000000000000000124512071024546013171 00000000000000# serial 11 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MOUNTLIST], [ gl_LIST_MOUNTED_FILE_SYSTEMS([gl_cv_list_mounted_fs=yes], [gl_cv_list_mounted_fs=no]) ]) # Prerequisites of lib/mountlist.c not done by gl_LIST_MOUNTED_FILE_SYSTEMS. AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], [ dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. AC_CHECK_HEADERS([sys/mntent.h]) gl_FSTYPENAME ]) coreutils-8.21/m4/po.m40000664000000000000000000004476612071024546011570 00000000000000# po.m4 serial 17c dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, dnl Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include int main () { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; const char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; }]])], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [ changequote(,)dnl case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac changequote([,])dnl ]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to dnl avoid warnings like dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". dnl This is tricky because of the way 'aclocal' is implemented: dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. dnl Otherwise aclocal's initial scan pass would miss the macro definition. dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. dnl Otherwise aclocal would emit many "Use of uninitialized value $1" dnl warnings. m4_define([gl_iconv_AC_DEFUN], m4_version_prereq([2.64], [[AC_DEFUN_ONCE( [$1], [$2])]], [m4_ifdef([gl_00GNULIB], [[AC_DEFUN_ONCE( [$1], [$2])]], [[AC_DEFUN( [$1], [$2])]])])) gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ]], [[]])], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) dnl Also substitute ICONV_CONST in the gnulib generated . m4_ifdef([gl_ICONV_H_DEFAULTS], [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test -n "$am_cv_proto_iconv_arg1"; then ICONV_CONST="const" fi ]) fi ]) coreutils-8.21/m4/pipe.m40000664000000000000000000000066012071024546012070 00000000000000# pipe.m4 serial 2 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_PIPE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([pipe]) if test $ac_cv_func_pipe != yes; then HAVE_PIPE=0 fi ]) coreutils-8.21/m4/readutmp.m40000664000000000000000000000500312071024546012750 00000000000000# readutmp.m4 serial 20 dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_READUTMP], [ dnl Persuade utmpx.h to declare utmpxname AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([utmp.h utmpx.h]) if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then dnl Prerequisites of lib/readutmp.h and lib/readutmp.c. AC_CHECK_FUNCS_ONCE([utmpname utmpxname]) AC_CHECK_DECLS([getutent],,,[[ /* is a prerequisite of on FreeBSD 8.0, OpenBSD 4.6. */ #include #ifdef HAVE_UTMP_H # include #endif ]]) utmp_includes="\ AC_INCLUDES_DEFAULT #ifdef HAVE_UTMPX_H # include #endif #ifdef HAVE_UTMP_H # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include #endif " AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes]) fi ]) coreutils-8.21/m4/sched_h.m40000664000000000000000000000207512071024546012532 00000000000000# sched_h.m4 serial 6 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Bruno Haible. AC_DEFUN([gl_SCHED_H], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ #include struct sched_param a; int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER }; pid_t t1; ]])], [SCHED_H=''], [SCHED_H='sched.h' gl_CHECK_NEXT_HEADERS([sched.h]) if test $ac_cv_header_sched_h = yes; then HAVE_SCHED_H=1 else HAVE_SCHED_H=0 fi AC_SUBST([HAVE_SCHED_H]) AC_CHECK_TYPE([struct sched_param], [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0], [#include ]) AC_SUBST([HAVE_STRUCT_SCHED_PARAM]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) ]) AC_SUBST([SCHED_H]) AM_CONDITIONAL([GL_GENERATE_SCHED_H], [test -n "$SCHED_H"]) ]) coreutils-8.21/m4/unistd_h.m40000664000000000000000000002143412071024546012752 00000000000000# unistd_h.m4 serial 66 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Simon Josefsson, Bruno Haible. AC_DEFUN([gl_UNISTD_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([unistd.h]) if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi AC_SUBST([HAVE_UNISTD_H]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Determine WINDOWS_64_BIT_OFF_T. AC_REQUIRE([gl_TYPE_OFF_T]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ #if HAVE_UNISTD_H # include #endif /* Some systems declare various items in the wrong headers. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include # include # include # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include # endif #endif ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r unlink unlinkat usleep]) ]) AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) GNULIB_READ=0; AC_SUBST([GNULIB_READ]) GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) HAVE_LINK=1; AC_SUBST([HAVE_LINK]) HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) REPLACE_READ=0; AC_SUBST([REPLACE_READ]) REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) ]) coreutils-8.21/m4/readdir.m40000664000000000000000000000067012071024546012546 00000000000000# readdir.m4 serial 1 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READDIR], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_CHECK_FUNCS([readdir]) if test $ac_cv_func_readdir = no; then HAVE_READDIR=0 fi ]) coreutils-8.21/m4/dup.m40000664000000000000000000000135312071024546011723 00000000000000# dup.m4 serial 3 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_DUP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_DUP=1 fi dnl Replace dup() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then REPLACE_DUP=1 fi ]) ]) # Prerequisites of lib/dup.c. AC_DEFUN([gl_PREREQ_DUP], [:]) coreutils-8.21/m4/nocrash.m40000664000000000000000000001055512071024546012574 00000000000000# nocrash.m4 serial 4 dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. AC_PREREQ([2.13]) dnl Expands to some code for use in .c programs that will cause the configure dnl test to exit instead of crashing. This is useful to avoid triggering dnl action from a background debugger and to avoid core dumps. dnl Usage: ... dnl ]GL_NOCRASH[ dnl ... dnl int main() { nocrash_init(); ... } AC_DEFUN([GL_NOCRASH],[[ #include #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on Mac OS X. */ #include #include #include #include #include #include /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include #include static LONG WINAPI exception_filter (EXCEPTION_POINTERS *ExceptionInfo) { switch (ExceptionInfo->ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_GUARD_PAGE: case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_NONCONTINUABLE_EXCEPTION: exit (1); } return EXCEPTION_CONTINUE_SEARCH; } static void nocrash_init (void) { SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); } #else /* Avoid a crash on POSIX systems. */ #include /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif ]]) coreutils-8.21/m4/ungetc.m40000664000000000000000000000324512071024546012422 00000000000000# ungetc.m4 serial 3 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether ungetc works on arbitrary bytes], [gl_cv_func_ungetc_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [FILE *f; if (!(f = fopen ("conftest.tmp", "w+"))) return 1; if (fputs ("abc", f) < 0) return 2; rewind (f); if (fgetc (f) != 'a') return 3; if (fgetc (f) != 'b') return 4; if (ungetc ('d', f) != 'd') return 5; if (ftell (f) != 1) return 6; if (fgetc (f) != 'd') return 7; if (ftell (f) != 2) return 8; if (fseek (f, 0, SEEK_CUR) != 0) return 9; if (ftell (f) != 2) return 10; if (fgetc (f) != 'c') return 11; fclose (f); remove ("conftest.tmp");])], [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_ungetc_works="guessing no" ;; esac ]) ]) case "$gl_cv_func_ungetc_works" in *yes) ;; *) AC_DEFINE([FUNC_UNGETC_BROKEN], [1], [Define to 1 if ungetc is broken when used on arbitrary bytes.]) ;; esac ]) coreutils-8.21/m4/getcwd-path-max.m40000664000000000000000000001274212071024546014131 00000000000000# serial 19 # Check for several getcwd bugs with long file names. # If so, arrange to compile the wrapper function. # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20. # I've heard that this is due to a Linux kernel bug, and that it has # been fixed between 2.4.21-pre3 and 2.4.21-pre4. # Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], [ AC_CHECK_DECLS_ONCE([getcwd]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CACHE_CHECK([whether getcwd handles long file names properly], gl_cv_func_getcwd_path_max, [# Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir3" dnl Please keep this in sync with tests/test-getcwd.c. AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #if HAVE_UNISTD_H # include #else # include #endif #include #include #include #include #include ]gl_PATHMAX_SNIPPET[ #ifndef AT_FDCWD # define AT_FDCWD 0 #endif #ifdef ENAMETOOLONG # define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) #else # define is_ENAMETOOLONG(x) 0 #endif /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* The length of this name must be 8. */ #define DIR_NAME "confdir3" #define DIR_NAME_LEN 8 #define DIR_NAME_SIZE (DIR_NAME_LEN + 1) /* The length of "../". */ #define DOTDOTSLASH_LEN 3 /* Leftover bytes in the buffer, to work around library or OS bugs. */ #define BUF_SLOP 20 int main () { #ifndef PATH_MAX /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- at least not on a local file system. And if we were to start worrying about remote file systems, we'd have to enable the wrapper function all of the time, just to be safe. That's not worth the cost. */ exit (0); #elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - DIR_NAME_SIZE - BUF_SLOP) \ <= PATH_MAX) /* FIXME: Assuming there's a system for which this is true, this should be done in a compile test. */ exit (0); #else char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + DIR_NAME_SIZE + BUF_SLOP]; char *cwd = getcwd (buf, PATH_MAX); size_t initial_cwd_len; size_t cwd_len; int fail = 0; size_t n_chdirs = 0; if (cwd == NULL) exit (10); cwd_len = initial_cwd_len = strlen (cwd); while (1) { size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); char *c = NULL; cwd_len += DIR_NAME_SIZE; /* If mkdir or chdir fails, it could be that this system cannot create any file with an absolute name longer than PATH_MAX, such as cygwin. If so, leave fail as 0, because the current working directory can't be too long for getcwd if it can't even be created. For other errors, be pessimistic and consider that as a failure, too. */ if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) fail = 20; break; } if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { fail = 11; break; } if (c) { fail = 31; break; } if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 21; break; } } if (dotdot_max <= cwd_len - initial_cwd_len) { if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) break; c = getcwd (buf, cwd_len + 1); if (!c) { if (! (errno == ERANGE || errno == ENOENT || is_ENAMETOOLONG (errno))) { fail = 22; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { fail = 12; break; } } } if (c && strlen (c) != cwd_len) { fail = 23; break; } ++n_chdirs; } /* Leaving behind such a deep directory is not polite. So clean up here, right away, even though the driving shell script would also clean up. */ { size_t i; /* Try rmdir first, in case the chdir failed. */ rmdir (DIR_NAME); for (i = 0; i <= n_chdirs; i++) { if (chdir ("..") < 0) break; if (rmdir (DIR_NAME) != 0) break; } } exit (fail); #endif } ]])], [gl_cv_func_getcwd_path_max=yes], [case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac], [case "$host_os" in aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac]) ]) ]) coreutils-8.21/m4/size_max.m40000664000000000000000000000577012071024546012761 00000000000000# size_max.m4 serial 10 dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS([stdint.h]) dnl First test whether the system already has SIZE_MAX. AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ gl_cv_size_max= AC_EGREP_CPP([Found it], [ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif ], [gl_cv_size_max=yes]) if test -z "$gl_cv_size_max"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. Try hard to find a definition that can dnl be used in a preprocessor #if, i.e. doesn't contain a cast. AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], [#include #include ], [size_t_bits_minus_1=]) AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], [#include ], [fits_in_uint=]) if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include extern size_t foo; extern unsigned long foo; ]], [[]])], [fits_in_uint=0]) fi dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl works only with 'long' integers in the host environment, while we dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else dnl Shouldn't happen, but who knows... gl_cv_size_max='((size_t)~(size_t)0)' fi fi ]) if test "$gl_cv_size_max" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after dnl . Remember that the #undef in AH_VERBATIM gets replaced with dnl #define by AC_DEFINE_UNQUOTED. AH_VERBATIM([SIZE_MAX], [/* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #ifndef SIZE_MAX # undef SIZE_MAX #endif]) ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) coreutils-8.21/m4/msvc-nothrow.m40000664000000000000000000000053012071024546013575 00000000000000# msvc-nothrow.m4 serial 1 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MSVC_NOTHROW], [ AC_REQUIRE([gl_MSVC_INVAL]) ]) coreutils-8.21/m4/wctype_h.m40000664000000000000000000001543512071024546012763 00000000000000# wctype_h.m4 serial 18 dnl A placeholder for ISO C99 , for platforms that lack it. dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_WCTYPE_H], [ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([iswcntrl]) if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi AC_SUBST([HAVE_ISWCNTRL]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) gl_CHECK_NEXT_HEADERS([wctype.h]) if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then dnl Linux libc5 has an iswprint function that returns 0 for all arguments. dnl The other functions are likely broken in the same way. AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #include int main () { return iswprint ('x') == 0; } ]])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif]], [])], [gl_cv_func_iswcntrl_works="guessing yes"], [gl_cv_func_iswcntrl_works="guessing no"]) ]) ]) fi HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi AC_SUBST([HAVE_WCTYPE_H]) case "$gl_cv_func_iswcntrl_works" in *yes) REPLACE_ISWCNTRL=0 ;; *) REPLACE_ISWCNTRL=1 ;; esac AC_SUBST([REPLACE_ISWCNTRL]) if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then dnl Redefine all of iswcntrl, ..., iswxdigit in . : fi if test $REPLACE_ISWCNTRL = 1; then REPLACE_TOWLOWER=1 else AC_CHECK_FUNCS([towlower]) if test $ac_cv_func_towlower = yes; then REPLACE_TOWLOWER=0 else AC_CHECK_DECLS([towlower],,, [[/* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #if HAVE_WCTYPE_H # include #endif ]]) if test $ac_cv_have_decl_towlower = yes; then dnl On Minix 3.1.8, the system's declares towlower() and dnl towupper() although it does not have the functions. Avoid a dnl collision with gnulib's replacement. REPLACE_TOWLOWER=1 else REPLACE_TOWLOWER=0 fi fi fi AC_SUBST([REPLACE_TOWLOWER]) if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then dnl Redefine towlower, towupper in . : fi dnl We assume that the wctype() and iswctype() functions exist if and only dnl if the type wctype_t is defined in or in if that dnl exists. dnl HP-UX 11.00 declares all these in and lacks . AC_CACHE_CHECK([for wctype_t], [gl_cv_type_wctype_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[/* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #if HAVE_WCTYPE_H # include #endif wctype_t a; ]], [[]])], [gl_cv_type_wctype_t=yes], [gl_cv_type_wctype_t=no]) ]) if test $gl_cv_type_wctype_t = no; then HAVE_WCTYPE_T=0 fi dnl We assume that the wctrans() and towctrans() functions exist if and only dnl if the type wctrans_t is defined in . AC_CACHE_CHECK([for wctrans_t], [gl_cv_type_wctrans_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[/* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #include wctrans_t a; ]], [[]])], [gl_cv_type_wctrans_t=yes], [gl_cv_type_wctrans_t=no]) ]) if test $gl_cv_type_wctrans_t = no; then HAVE_WCTRANS_T=0 fi dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include # include # include # include #endif #include ]], [wctype iswctype wctrans towctrans ]) ]) AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_WCTYPE_H_DEFAULTS], [ GNULIB_ISWBLANK=0; AC_SUBST([GNULIB_ISWBLANK]) GNULIB_WCTYPE=0; AC_SUBST([GNULIB_WCTYPE]) GNULIB_ISWCTYPE=0; AC_SUBST([GNULIB_ISWCTYPE]) GNULIB_WCTRANS=0; AC_SUBST([GNULIB_WCTRANS]) GNULIB_TOWCTRANS=0; AC_SUBST([GNULIB_TOWCTRANS]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ISWBLANK=1; AC_SUBST([HAVE_ISWBLANK]) HAVE_WCTYPE_T=1; AC_SUBST([HAVE_WCTYPE_T]) HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) ]) coreutils-8.21/m4/ssize_t.m40000664000000000000000000000146312071024546012615 00000000000000# ssize_t.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether ssize_t is defined. AC_DEFUN([gt_TYPE_SSIZE_T], [ AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x;]])], [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) if test $gt_cv_ssize_t = no; then AC_DEFINE([ssize_t], [int], [Define as a signed type of the same size as size_t.]) fi ]) coreutils-8.21/m4/check-decl.m40000664000000000000000000000156012102337340013107 00000000000000#serial 26 # Check declarations for this package. dnl Copyright (C) 1997-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This is just a wrapper function to encapsulate this kludge. dnl Putting it in a separate file like this helps share it between dnl different packages. AC_DEFUN([gl_CHECK_DECLS], [ AC_REQUIRE([AC_HEADER_TIME]) AC_CHECK_HEADERS_ONCE([grp.h pwd.h]) headers=' #include #include #if HAVE_GRP_H # include #endif #if HAVE_PWD_H # include #endif ' AC_CHECK_DECLS([ getgrgid, getpwuid, ttyname], , , $headers) AC_CHECK_DECLS_ONCE([geteuid]) AC_CHECK_DECLS_ONCE([getlogin]) AC_CHECK_DECLS_ONCE([getuid]) ]) coreutils-8.21/m4/regex.m40000664000000000000000000002531612104754777012267 00000000000000# serial 63 # Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl Initially derived from code in GNU grep. dnl Mostly written by Jim Meyering. AC_PREREQ([2.50]) AC_DEFUN([gl_REGEX], [ AC_ARG_WITH([included-regex], [AS_HELP_STRING([--without-included-regex], [don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems).])]) case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. AC_CHECK_FUNCS_ONCE([alarm]) AC_CACHE_CHECK([for working re_compile_pattern], [gl_cv_func_re_compile_pattern_working], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include #if HAVE_ALARM # include # include #endif ]], [[int result = 0; static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_ALARM /* Some builds of glibc go into an infinite loop on this test. */ signal (SIGALRM, SIG_DFL); alarm (2); #endif if (setlocale (LC_ALL, "en_US.UTF-8")) { { /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) result |= 1; } { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in . */ static char const pat[] = "[^x]x"; static char const data[] = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80" "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax"; re_set_syntax (0); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, 0) != 21) result |= 1; } if (! setlocale (LC_ALL, "C")) return 1; } /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) result |= 2; /* This should fail, but succeeds for glibc-2.5. */ else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) result |= 2; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) result |= 4; /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) result |= 8; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) result |= 8; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) result |= 8; /* This should match, but does not for glibc-2.2.1. */ else if (re_match (®ex, "an", 2, 0, ®s) != 2) result |= 8; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 8; /* glibc-2.2.93 does not work with a negative RANGE argument. */ else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) result |= 8; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 16; else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) result |= 16; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) result |= 32; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) result |= 64; #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and 32-bit int), but we should wait until glibc implements this feature. Otherwise, support for equivalence classes and multibyte collation symbols would always be broken except when compiling --without-included-regex. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) result |= 64; #endif return result; ]])], [gl_cv_func_re_compile_pattern_working=yes], [gl_cv_func_re_compile_pattern_working=no], dnl When crosscompiling, assume it is not working. [gl_cv_func_re_compile_pattern_working=no])]) case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex]) ;; esac if test $ac_use_included_regex = yes; then AC_DEFINE([_REGEX_INCLUDE_LIMITS_H], [1], [Define if you want to include , so that it consistently overrides 's RE_DUP_MAX.]) AC_DEFINE([_REGEX_LARGE_OFFSETS], [1], [Define if you want regoff_t to be at least as wide POSIX requires.]) AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], [Define to rpl_re_syntax_options if the replacement should be used.]) AC_DEFINE([re_set_syntax], [rpl_re_set_syntax], [Define to rpl_re_set_syntax if the replacement should be used.]) AC_DEFINE([re_compile_pattern], [rpl_re_compile_pattern], [Define to rpl_re_compile_pattern if the replacement should be used.]) AC_DEFINE([re_compile_fastmap], [rpl_re_compile_fastmap], [Define to rpl_re_compile_fastmap if the replacement should be used.]) AC_DEFINE([re_search], [rpl_re_search], [Define to rpl_re_search if the replacement should be used.]) AC_DEFINE([re_search_2], [rpl_re_search_2], [Define to rpl_re_search_2 if the replacement should be used.]) AC_DEFINE([re_match], [rpl_re_match], [Define to rpl_re_match if the replacement should be used.]) AC_DEFINE([re_match_2], [rpl_re_match_2], [Define to rpl_re_match_2 if the replacement should be used.]) AC_DEFINE([re_set_registers], [rpl_re_set_registers], [Define to rpl_re_set_registers if the replacement should be used.]) AC_DEFINE([re_comp], [rpl_re_comp], [Define to rpl_re_comp if the replacement should be used.]) AC_DEFINE([re_exec], [rpl_re_exec], [Define to rpl_re_exec if the replacement should be used.]) AC_DEFINE([regcomp], [rpl_regcomp], [Define to rpl_regcomp if the replacement should be used.]) AC_DEFINE([regexec], [rpl_regexec], [Define to rpl_regexec if the replacement should be used.]) AC_DEFINE([regerror], [rpl_regerror], [Define to rpl_regerror if the replacement should be used.]) AC_DEFINE([regfree], [rpl_regfree], [Define to rpl_regfree if the replacement should be used.]) fi ]) # Prerequisites of lib/regex.c and lib/regex_internal.c. AC_DEFUN([gl_PREREQ_REGEX], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([gl_EEMALLOC]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) AC_CHECK_DECLS([isblank], [], [], [[#include ]]) ]) coreutils-8.21/m4/gethrxtime.m40000664000000000000000000000440612071024546013315 00000000000000# gethrxtime.m4 serial 12 dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_GETHRXTIME], [ AC_REQUIRE([gl_ARITHMETIC_HRTIME_T]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_XTIME]) AC_CHECK_DECLS([gethrtime], [], [], [[#include ]]) LIB_GETHRXTIME= if test $ac_cv_have_decl_gethrtime = no \ || test $gl_cv_arithmetic_hrtime_t = no; then dnl Find libraries needed to link lib/gethrxtime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([microuptime nanouptime]) if test $ac_cv_func_nanouptime != yes \ && { test $ac_cv_have_decl_gethrtime = no \ || test $gl_cv_arithmetic_hrtime_t = no; }; then AC_CACHE_CHECK([whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined], [gl_cv_have_clock_gettime_macro], [AC_EGREP_CPP([have_clock_gettime_macro], [ # include # if defined CLOCK_MONOTONIC || defined CLOCK_REALTIME have_clock_gettime_macro # endif ], [gl_cv_have_clock_gettime_macro=yes], [gl_cv_have_clock_gettime_macro=no])]) if test $gl_cv_have_clock_gettime_macro = yes; then LIB_GETHRXTIME=$LIB_CLOCK_GETTIME fi fi fi AC_SUBST([LIB_GETHRXTIME]) ]) # Test whether hrtime_t is an arithmetic type. # It is not arithmetic in older Solaris c89 (which insists on # not having a long long int type). AC_DEFUN([gl_ARITHMETIC_HRTIME_T], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for arithmetic hrtime_t], [gl_cv_arithmetic_hrtime_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[hrtime_t x = 0; return x/x;]])], [gl_cv_arithmetic_hrtime_t=yes], [gl_cv_arithmetic_hrtime_t=no])]) if test $gl_cv_arithmetic_hrtime_t = yes; then AC_DEFINE([HAVE_ARITHMETIC_HRTIME_T], [1], [Define if you have an arithmetic hrtime_t type.]) fi ]) # Prerequisites of lib/xtime.h. AC_DEFUN([gl_XTIME], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) : ]) coreutils-8.21/m4/unistd-safer.m40000664000000000000000000000053012071024546013533 00000000000000#serial 9 dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UNISTD_SAFER], [ AC_CHECK_FUNCS_ONCE([pipe]) ]) coreutils-8.21/m4/sha256.m40000664000000000000000000000056612071024546012150 00000000000000# sha256.m4 serial 6 dnl Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA256], [ dnl Prerequisites of lib/sha256.c. AC_REQUIRE([gl_BIGENDIAN]) ]) coreutils-8.21/m4/fdopendir.m40000664000000000000000000000330012071024546013077 00000000000000# serial 10 # See if we need to provide fdopendir. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_FDOPENDIR], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl FreeBSD 7.3 has the function, but failed to declare it. AC_CHECK_DECLS([fdopendir], [], [HAVE_DECL_FDOPENDIR=0], [[ #include ]]) AC_CHECK_FUNCS_ONCE([fdopendir]) if test $ac_cv_func_fdopendir = no; then HAVE_FDOPENDIR=0 else AC_CACHE_CHECK([whether fdopendir works], [gl_cv_func_fdopendir_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include #if !HAVE_DECL_FDOPENDIR extern # ifdef __cplusplus "C" # endif DIR *fdopendir (int); #endif ]], [int result = 0; int fd = open ("conftest.c", O_RDONLY); if (fd < 0) result |= 1; if (fdopendir (fd)) result |= 2; if (close (fd)) result |= 4; return result;])], [gl_cv_func_fdopendir_works=yes], [gl_cv_func_fdopendir_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_fdopendir_works="guessing no" ;; esac ])]) case "$gl_cv_func_fdopendir_works" in *yes) ;; *) REPLACE_FDOPENDIR=1 ;; esac fi ]) coreutils-8.21/m4/signalblocking.m40000664000000000000000000000164112071024546014121 00000000000000# signalblocking.m4 serial 14 dnl Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Determine available signal blocking primitives. Three different APIs exist: # 1) POSIX: sigemptyset, sigaddset, sigprocmask # 2) SYSV: sighold, sigrelse # 3) BSD: sigblock, sigsetmask # For simplicity, here we check only for the POSIX signal blocking. AC_DEFUN([gl_SIGNALBLOCKING], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) if test $gl_cv_type_sigset_t = yes; then AC_CHECK_FUNC([sigprocmask], [gl_cv_func_sigprocmask=1]) fi if test -z "$gl_cv_func_sigprocmask"; then HAVE_POSIX_SIGNALBLOCKING=0 fi ]) # Prerequisites of lib/sigprocmask.c. AC_DEFUN([gl_PREREQ_SIGPROCMASK], [:]) coreutils-8.21/m4/include_next.m40000664000000000000000000002542412071024546013621 00000000000000# include_next.m4 serial 23 dnl Copyright (C) 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Derek Price. dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER. dnl dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to dnl 'include' otherwise. dnl dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler dnl supports it in the special case that it is the first include directive in dnl the given file, or to 'include' otherwise. dnl dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, dnl so as to avoid GCC warnings when the gcc option -pedantic is used. dnl '#pragma GCC system_header' has the same effect as if the file was found dnl through the include search path specified with '-isystem' options (as dnl opposed to the search path specified with '-I' options). Namely, gcc dnl does not warn about some things, and on some systems (Solaris and Interix) dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead dnl of plain '__STDC__'. dnl dnl PRAGMA_COLUMNS can be used in files that override system header files, so dnl as to avoid compilation errors on HP NonStop systems when the gnulib file dnl is included by a system header file that does a "#pragma COLUMNS 80" (which dnl has the effect of truncating the lines of that file and all files that it dnl includes to 80 columns) and the gnulib file has lines longer than 80 dnl columns. AC_DEFUN([gl_INCLUDE_NEXT], [ AC_LANG_PREPROC_REQUIRE() AC_CACHE_CHECK([whether the preprocessor supports include_next], [gl_cv_have_include_next], [rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on dnl AIX 6.1 support include_next when used as first preprocessor directive dnl in a file, but not when preceded by another include directive. Check dnl for this bug by including . dnl Additionally, with this same compiler, include_next is a no-op when dnl used in a header file that was included by specifying its absolute dnl file name. Despite these two bugs, include_next is used in the dnl compiler's . By virtue of the second bug, we need to use dnl include_next as well in this case. cat < conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" dnl We intentionally avoid using AC_LANG_SOURCE here. AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include ]], [gl_cv_have_include_next=yes], [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include ]], [gl_cv_have_include_next=buggy], [gl_cv_have_include_next=no]) ]) CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 ]) PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi AC_SUBST([INCLUDE_NEXT]) AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) AC_SUBST([PRAGMA_SYSTEM_HEADER]) AC_CACHE_CHECK([whether system header files limit the line length], [gl_cv_pragma_columns], [dnl HP NonStop systems, which define __TANDEM, have this misfeature. AC_EGREP_CPP([choke me], [ #ifdef __TANDEM choke me #endif ], [gl_cv_pragma_columns=yes], [gl_cv_pragma_columns=no]) ]) if test $gl_cv_pragma_columns = yes; then PRAGMA_COLUMNS="#pragma COLUMNS 10000" else PRAGMA_COLUMNS= fi AC_SUBST([PRAGMA_COLUMNS]) ]) # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) # ------------------------------------------ # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be # ''; otherwise define it to be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # Also, if #include_next works as first preprocessing directive in a file, # define NEXT_AS_FIRST_DIRECTIVE_FOO_H to be ''; otherwise define it to # be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # That way, a header file with the following line: # #@INCLUDE_NEXT@ @NEXT_FOO_H@ # or # #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@ # behaves (after sed substitution) as if it contained # #include_next # even if the compiler does not support include_next. # The three "///" are to pacify Sun C 5.8, which otherwise would say # "warning: #include of /usr/include/... may be non-portable". # Use '""', not '<>', so that the /// cannot be confused with a C99 comment. # Note: This macro assumes that the header file is not empty after # preprocessing, i.e. it does not only define preprocessor macros but also # provides some type/enum definitions or function/variable declarations. # # This macro also checks whether each header exists, by invoking # AC_CHECK_HEADERS_ONCE or AC_CHECK_HEADERS on each argument. AC_DEFUN([gl_CHECK_NEXT_HEADERS], [ gl_NEXT_HEADERS_INTERNAL([$1], [check]) ]) # gl_NEXT_HEADERS(HEADER1 HEADER2 ...) # ------------------------------------ # Like gl_CHECK_NEXT_HEADERS, except do not check whether the headers exist. # This is suitable for headers like that are standardized by C89 # and therefore can be assumed to exist. AC_DEFUN([gl_NEXT_HEADERS], [ gl_NEXT_HEADERS_INTERNAL([$1], [assume]) ]) # The guts of gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], [ AC_REQUIRE([gl_INCLUDE_NEXT]) AC_REQUIRE([AC_CANONICAL_HOST]) m4_if([$2], [check], [AC_CHECK_HEADERS_ONCE([$1]) ]) dnl FIXME: gl_next_header and gl_header_exists must be used unquoted dnl until we can assume autoconf 2.64 or newer. m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_defn([gl_HEADER_NAME])) if test $gl_cv_have_include_next = yes; then AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_defn([gl_HEADER_NAME])[>], m4_defn([gl_next_header]), [m4_if([$2], [check], [AS_VAR_PUSHDEF([gl_header_exists], [ac_cv_header_]m4_defn([gl_HEADER_NAME])) if test AS_VAR_GET(gl_header_exists) = yes; then AS_VAR_POPDEF([gl_header_exists]) ]) AC_LANG_CONFTEST( [AC_LANG_SOURCE( [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] )]) dnl AIX "xlc -E" and "cc -E" omit #line directives for header dnl files that contain only a #include of other header files and dnl no non-comment tokens of their own. This leads to a failure dnl to detect the absolute name of , , dnl and others. The workaround is to force preservation dnl of comments through option -C. This ensures all necessary dnl #line directives are present. GCC supports option -C as well. case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac changequote(,) case "$host_os" in mingw*) dnl For the sake of native Windows compilers (excluding gcc), dnl treat backslash as a directory separator, like /. dnl Actually, these compilers use a double-backslash as dnl directory separator, inside the dnl # line "filename" dnl directives. gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac dnl A sed expression that turns a string into a basic regular dnl expression, for use within "/.../". gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' changequote([,]) gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ changequote(,)dnl s|^/[^/]|//&| changequote([,])dnl p q }' dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET(gl_next_header, ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n "$gl_absolute_header_sed"`'"']) m4_if([$2], [check], [else AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) fi ]) ]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), [AS_VAR_GET(gl_next_header)]) if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'gl_HEADER_NAME'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=AS_VAR_GET(gl_next_header) fi AC_SUBST( AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), [$gl_next_as_first_directive]) AS_VAR_POPDEF([gl_next_header])]) ]) # Autoconf 2.68 added warnings for our use of AC_COMPILE_IFELSE; # this fallback is safe for all earlier autoconf versions. m4_define_default([AC_LANG_DEFINES_PROVIDED]) coreutils-8.21/m4/progtest.m40000664000000000000000000000604012071024546013000 00000000000000# progtest.m4 serial 7 (gettext-0.18.2) dnl Copyright (C) 1996-2003, 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) coreutils-8.21/m4/gethostname.m40000664000000000000000000000660612071024546013457 00000000000000# gethostname.m4 serial 13 dnl Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Ensure # - the gethostname() function, # - the HOST_NAME_MAX macro in . AC_DEFUN([gl_FUNC_GETHOSTNAME], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_PREREQ_SYS_H_WINSOCK2 dnl Where is gethostname() defined? dnl - On native Windows, it is in ws2_32.dll. dnl - Otherwise it is in libc. GETHOSTNAME_LIB= AC_CHECK_FUNCS([gethostname], , [ AC_CACHE_CHECK([for gethostname in winsock2.h and -lws2_32], [gl_cv_w32_gethostname], [gl_cv_w32_gethostname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_WINSOCK2_H #include #endif #include ]], [[gethostname(NULL, 0);]])], [gl_cv_w32_gethostname=yes]) LIBS="$gl_save_LIBS" ]) if test "$gl_cv_w32_gethostname" = "yes"; then GETHOSTNAME_LIB="-lws2_32" fi ]) AC_SUBST([GETHOSTNAME_LIB]) if test "$ac_cv_func_gethostname" = no; then HAVE_GETHOSTNAME=0 fi gl_PREREQ_HOST_NAME_MAX ]) # Provide HOST_NAME_MAX when lacks it. AC_DEFUN([gl_PREREQ_HOST_NAME_MAX], [ dnl - On most Unix systems, use MAXHOSTNAMELEN from instead. dnl - On Solaris, Cygwin, BeOS, use MAXHOSTNAMELEN from instead. dnl - On mingw, use 256, because dnl says: dnl "if a buffer of 256 bytes is passed in the name parameter and dnl the namelen parameter is set to 256, the buffer size will always dnl be adequate." dnl With this, there is no need to use sysconf (_SC_HOST_NAME_MAX), which dnl is not a compile-time constant. dnl We cannot override using the usual technique, because dnl gl_CHECK_NEXT_HEADERS does not work for . Therefore retrieve dnl the value of HOST_NAME_MAX at configure time. AC_CHECK_HEADERS_ONCE([sys/param.h]) AC_CHECK_HEADERS_ONCE([sys/socket.h]) AC_CHECK_HEADERS_ONCE([netdb.h]) AC_CACHE_CHECK([for HOST_NAME_MAX], [gl_cv_decl_HOST_NAME_MAX], [ gl_cv_decl_HOST_NAME_MAX= AC_EGREP_CPP([lucky], [ #include #ifdef HOST_NAME_MAX lucky #endif ], [gl_cv_decl_HOST_NAME_MAX=yes]) if test -z "$gl_cv_decl_HOST_NAME_MAX"; then dnl It's not defined in . Substitute it. if test "$gl_cv_w32_gethostname" = yes; then dnl mingw. gl_cv_decl_HOST_NAME_MAX=256 else _AC_COMPUTE_INT([MAXHOSTNAMELEN], [gl_cv_decl_HOST_NAME_MAX], [ #include #if HAVE_SYS_PARAM_H # include #endif #if HAVE_SYS_SOCKET_H # include #endif #if HAVE_NETDB_H # include #endif ], [dnl The system does not define MAXHOSTNAMELEN in any of the common dnl headers. Use a safe fallback. gl_cv_decl_HOST_NAME_MAX=256 ]) fi fi ]) if test "$gl_cv_decl_HOST_NAME_MAX" != yes; then AC_DEFINE_UNQUOTED([HOST_NAME_MAX], [$gl_cv_decl_HOST_NAME_MAX], [Define HOST_NAME_MAX when does not define it.]) fi ]) # Prerequisites of lib/gethostname.c. AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ if test "$gl_cv_w32_gethostname" != "yes"; then AC_CHECK_FUNCS([uname]) fi ]) coreutils-8.21/m4/mbtowc.m40000664000000000000000000000071412071024546012426 00000000000000# mbtowc.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBTOWC], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) if false; then REPLACE_MBTOWC=1 fi ]) # Prerequisites of lib/mbtowc.c. AC_DEFUN([gl_PREREQ_MBTOWC], [ : ]) coreutils-8.21/m4/host-os.m40000664000000000000000000000567012071024546012535 00000000000000# serial 9 # Copyright (C) 2001, 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. dnl From Paul Eggert. # Define HOST_OPERATING_SYSTEM to a name for the host operating system. AC_DEFUN([gl_HOST_OS], [ AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([host operating system], gl_cv_host_operating_system, [[case $host_os in # These operating system names do not use the default heuristic below. # They are in reverse order, so that more-specific prefixes come first. winnt*) os='Windows NT';; vos*) os='VOS';; sysv*) os='Unix System V';; superux*) os='SUPER-UX';; sunos*) os='SunOS';; stop*) os='STOP';; sco*) os='SCO Unix';; riscos*) os='RISC OS';; riscix*) os='RISCiX';; qnx*) os='QNX';; pw32*) os='PW32';; ptx*) os='ptx';; plan9*) os='Plan 9';; osf*) os='Tru64';; os2*) os='OS/2';; openbsd*) os='OpenBSD';; nsk*) os='NonStop Kernel';; nonstopux*) os='NonStop-UX';; netbsd*-gnu*) os='GNU/NetBSD';; # NetBSD kernel+libc, GNU userland netbsd*) os='NetBSD';; mirbsd*) os='MirBSD';; knetbsd*-gnu) os='GNU/kNetBSD';; # NetBSD kernel, GNU libc+userland kfreebsd*-gnu) os='GNU/kFreeBSD';; # FreeBSD kernel, GNU libc+userland msdosdjgpp*) os='DJGPP';; mpeix*) os='MPE/iX';; mint*) os='MiNT';; mingw*) os='MinGW';; lynxos*) os='LynxOS';; linux*) os='GNU/Linux';; hpux*) os='HP-UX';; hiux*) os='HI-UX';; gnu*) os='GNU';; freebsd*) os='FreeBSD';; dgux*) os='DG/UX';; bsdi*) os='BSD/OS';; bsd*) os='BSD';; beos*) os='BeOS';; aux*) os='A/UX';; atheos*) os='AtheOS';; amigaos*) os='Amiga OS';; aix*) os='AIX';; # The default heuristic takes the initial alphabetic string # from $host_os, but capitalizes its first letter. [A-Za-z]*) os=` expr "X$host_os" : 'X\([A-Za-z]\)' | LC_ALL=C tr '[a-z]' '[A-Z]' `` expr "X$host_os" : 'X.\([A-Za-z]*\)' ` ;; # If $host_os does not start with an alphabetic string, use it unchanged. *) os=$host_os;; esac gl_cv_host_operating_system=$os]]) AC_DEFINE_UNQUOTED([HOST_OPERATING_SYSTEM], "$gl_cv_host_operating_system", [The host operating system.]) ]) coreutils-8.21/m4/strtoimax.m40000664000000000000000000000424212071024546013165 00000000000000# strtoimax.m4 serial 13 dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOIMAX], [ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) dnl On OSF/1 5.1 with cc, this function is declared but not defined. AC_CHECK_FUNCS_ONCE([strtoimax]) AC_CHECK_DECLS_ONCE([strtoimax]) if test "$ac_cv_have_decl_strtoimax" != yes; then HAVE_DECL_STRTOIMAX=0 fi if test $ac_cv_func_strtoimax = yes; then HAVE_STRTOIMAX=1 dnl On AIX 5.1, strtoimax() fails for values outside the 'int' range. AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether strtoimax works], [gl_cv_func_strtoimax], [AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include int main () { if (sizeof (intmax_t) > sizeof (int)) { const char *s = "4294967295"; char *p; intmax_t res; errno = 0; res = strtoimax (s, &p, 10); if (p != s + strlen (s)) return 1; if (errno != 0) return 2; if (res != (intmax_t) 65535 * (intmax_t) 65537) return 3; } else { const char *s = "2147483647"; char *p; intmax_t res; errno = 0; res = strtoimax (s, &p, 10); if (p != s + strlen (s)) return 1; if (errno != 0) return 2; if (res != 2147483647) return 3; } return 0; } ]])], [gl_cv_func_strtoimax=yes], [gl_cv_func_strtoimax=no], [case "$host_os" in # Guess no on AIX 5. aix5*) gl_cv_func_strtoimax="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_strtoimax="guessing yes" ;; esac ]) ]) case "$gl_cv_func_strtoimax" in *no) REPLACE_STRTOIMAX=1 ;; esac else HAVE_STRTOIMAX=0 fi ]) # Prerequisites of lib/strtoimax.c. AC_DEFUN([gl_PREREQ_STRTOIMAX], [ AC_CHECK_DECLS([strtoll]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) coreutils-8.21/m4/off_t.m40000664000000000000000000000100612071024546012223 00000000000000# off_t.m4 serial 1 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check whether to override the 'off_t' type. dnl Set WINDOWS_64_BIT_OFF_T. AC_DEFUN([gl_TYPE_OFF_T], [ m4_ifdef([gl_LARGEFILE], [ AC_REQUIRE([gl_LARGEFILE]) ], [ WINDOWS_64_BIT_OFF_T=0 ]) AC_SUBST([WINDOWS_64_BIT_OFF_T]) ]) coreutils-8.21/m4/d-ino.m40000664000000000000000000000337312071024546012145 00000000000000# serial 13 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_ino. dnl # Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], [AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([for d_ino member in directory struct], gl_cv_struct_dirent_d_ino, [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include ]], [[DIR *dp = opendir ("."); struct dirent *e; struct stat st; if (! dp) return 1; e = readdir (dp); if (! e) return 2; if (stat (e->d_name, &st) != 0) return 3; if (e->d_ino != st.st_ino) return 4; return 0; ]])], [gl_cv_struct_dirent_d_ino=yes], [gl_cv_struct_dirent_d_ino=no], [case "$host_os" in # Guess yes on glibc systems with Linux kernel. linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_struct_dirent_d_ino="guessing no" ;; esac ])]) case "$gl_cv_struct_dirent_d_ino" in *yes) AC_DEFINE([D_INO_IN_DIRENT], [1], [Define if struct dirent has a member d_ino that actually works.]) ;; esac ] ) coreutils-8.21/m4/threadlib.m40000664000000000000000000003414312071024546013074 00000000000000# threadlib.m4 serial 10 (gettext-0.18.2) dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl gl_THREADLIB dnl ------------ dnl Tests for a multithreading library to be used. dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the dnl default is 'no', otherwise it is system dependent. In both cases, the user dnl can change the choice through the options --enable-threads=choice or dnl --disable-threads. dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, dnl USE_PTH_THREADS, USE_WINDOWS_THREADS dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with dnl libtool). dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for dnl programs that really need multithread functionality. The difference dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. AC_DEFUN([gl_THREADLIB_EARLY], [ AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) ]) dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once. AC_DEFUN([gl_THREADLIB_EARLY_BODY], [ dnl Ordering constraints: This macro modifies CPPFLAGS in a way that dnl influences the result of the autoconf tests that test for *_unlocked dnl declarations, on AIX 5 at least. Therefore it must come early. AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl AC_BEFORE([$0], [gl_ARGP])dnl AC_REQUIRE([AC_CANONICAL_HOST]) dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes dnl AC_GNU_SOURCE. m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], [AC_REQUIRE([AC_GNU_SOURCE])]) dnl Check for multithreading. m4_ifdef([gl_THREADLIB_DEFAULT_NO], [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) AC_ARG_ENABLE([threads], AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ AC_HELP_STRING([--disable-threads], [build without multithread safety])]), [gl_use_threads=$enableval], [if test -n "$gl_use_threads_default"; then gl_use_threads="$gl_use_threads_default" else changequote(,)dnl case "$host_os" in dnl Disable multithreading by default on OSF/1, because it interferes dnl with fork()/exec(): When msgexec is linked with -lpthread, its dnl child process gets an endless segmentation fault inside execvp(). dnl Disable multithreading by default on Cygwin 1.5.x, because it has dnl bugs that lead to endless loops or crashes. See dnl . osf*) gl_use_threads=no ;; cygwin*) case `uname -r` in 1.[0-5].*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ;; *) gl_use_threads=yes ;; esac changequote([,])dnl fi ]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using : case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks . cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_LINK_IFELSE test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in . case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi ]) dnl The guts of gl_THREADLIB. Needs to be expanded only once. AC_DEFUN([gl_THREADLIB_BODY], [ AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then dnl Check whether the compiler and linker support weak declarations. AC_CACHE_CHECK([whether imported symbols can be declared weak], [gl_cv_have_weak], [gl_cv_have_weak=no dnl First, test whether the compiler accepts it syntactically. AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[extern void xyzzy (); #pragma weak xyzzy]], [[xyzzy();]])], [gl_cv_have_weak=maybe]) if test $gl_cv_have_weak = maybe; then dnl Second, test whether it actually works. On Cygwin 1.7.2, with dnl gcc 4.3, symbols declared weak always evaluate to the address 0. AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #pragma weak fputs int main () { return (fputs == NULL); }]])], [gl_cv_have_weak=yes], [gl_cv_have_weak=no], [dnl When cross-compiling, assume that only ELF platforms support dnl weak symbols. AC_EGREP_CPP([Extensible Linking Format], [#ifdef __ELF__ Extensible Linking Format #endif ], [gl_cv_have_weak="guessing yes"], [gl_cv_have_weak="guessing no"]) ]) fi ]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks . It's added above, in gl_THREADLIB_EARLY_BODY. AC_CHECK_HEADER([pthread.h], [gl_have_pthread_h=yes], [gl_have_pthread_h=no]) if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0);]])], [gl_have_pthread=yes]) # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. AC_CHECK_LIB([pthread], [pthread_kill], [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], [Define if the pthread_in_use() detection is hard.]) esac ]) else # Some library is needed. Try libpthread and libc_r. AC_CHECK_LIB([pthread], [pthread_kill], [gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) if test -z "$gl_have_pthread"; then # For FreeBSD 4. AC_CHECK_LIB([c_r], [pthread_kill], [gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix AC_DEFINE([USE_POSIX_THREADS], [1], [Define if the POSIX multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], [Define if references to the POSIX multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[thr_self();]])], [gl_have_solaristhread=yes]) LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_SOLARIS_THREADS], [1], [Define if the old Solaris multithreading library can be used.]) if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], [Define if references to the old Solaris multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" AC_LIB_LINKFLAGS([pth]) gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS $LIBPTH" AC_LINK_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[pth_self();]])], [gl_have_pth=yes]) LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_PTH_THREADS], [1], [Define if the GNU Pth multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then AC_DEFINE([USE_PTH_THREADS_WEAK], [1], [Define if references to the GNU Pth multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then case "$gl_use_threads" in yes | windows | win32) # The 'win32' is for backward compatibility. if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=windows AC_DEFINE([USE_WINDOWS_THREADS], [1], [Define if the native Windows multithreading API can be used.]) fi ;; esac fi fi AC_MSG_CHECKING([for multithread API to use]) AC_MSG_RESULT([$gl_threads_api]) AC_SUBST([LIBTHREAD]) AC_SUBST([LTLIBTHREAD]) AC_SUBST([LIBMULTITHREAD]) AC_SUBST([LTLIBMULTITHREAD]) ]) AC_DEFUN([gl_THREADLIB], [ AC_REQUIRE([gl_THREADLIB_EARLY]) AC_REQUIRE([gl_THREADLIB_BODY]) ]) dnl gl_DISABLE_THREADS dnl ------------------ dnl Sets the gl_THREADLIB default so that threads are not used by default. dnl The user can still override it at installation time, by using the dnl configure option '--enable-threads'. AC_DEFUN([gl_DISABLE_THREADS], [ m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no]) ]) dnl Survey of platforms: dnl dnl Platform Available Compiler Supports test-lock dnl flavours option weak result dnl --------------- --------- --------- -------- --------- dnl Linux 2.4/glibc posix -lpthread Y OK dnl dnl GNU Hurd/glibc posix dnl dnl FreeBSD 5.3 posix -lc_r Y dnl posix -lkse ? Y dnl posix -lpthread ? Y dnl posix -lthr Y dnl dnl FreeBSD 5.2 posix -lc_r Y dnl posix -lkse Y dnl posix -lthr Y dnl dnl FreeBSD 4.0,4.10 posix -lc_r Y OK dnl dnl NetBSD 1.6 -- dnl dnl OpenBSD 3.4 posix -lpthread Y OK dnl dnl Mac OS X 10.[123] posix -lpthread Y OK dnl dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK dnl dnl HP-UX 11 posix -lpthread N (cc) OK dnl Y (gcc) dnl dnl IRIX 6.5 posix -lpthread Y 0.5 dnl dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK dnl dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK dnl -lpthread (gcc) Y dnl dnl Cygwin posix -lpthread Y OK dnl dnl Any of the above pth -lpth 0.0 dnl dnl Mingw windows N OK dnl dnl BeOS 5 -- dnl dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is dnl turned off: dnl OK if all three tests terminate OK, dnl 0.5 if the first test terminates OK but the second one loops endlessly, dnl 0.0 if the first test already loops endlessly. coreutils-8.21/m4/selinux-selinux-h.m40000664000000000000000000000473112071024546014537 00000000000000# serial 5 -*- Autoconf -*- # Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering # Provide , if necessary. # If it is already present, provide wrapper functions to guard against # misbehavior from getfilecon, lgetfilecon, and fgetfilecon. AC_DEFUN([gl_HEADERS_SELINUX_SELINUX_H], [ AC_REQUIRE([gl_LIBSELINUX]) if test "$with_selinux" != no; then AC_CHECK_HEADERS([selinux/selinux.h]) if test "$ac_cv_header_selinux_selinux_h" = yes; then # We do have , so do compile getfilecon.c # and arrange to use its wrappers. gl_CHECK_NEXT_HEADERS([selinux/selinux.h]) AC_DEFINE([getfilecon], [rpl_getfilecon], [Always use our getfilecon wrapper.]) AC_DEFINE([lgetfilecon], [rpl_lgetfilecon], [Always use our lgetfilecon wrapper.]) AC_DEFINE([fgetfilecon], [rpl_fgetfilecon], [Always use our fgetfilecon wrapper.]) fi case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in no:*) # already warned ;; *:no) AC_MSG_WARN([libselinux was found but selinux/selinux.h is missing.]) AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.]) esac else # Do as if does not exist, even if # AC_CHECK_HEADERS_ONCE has already determined that it exists. AC_DEFINE([HAVE_SELINUX_SELINUX_H], [0]) fi ]) AC_DEFUN([gl_LIBSELINUX], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_CANONICAL_BUILD]) AC_ARG_WITH([selinux], AS_HELP_STRING([--without-selinux], [do not use SELinux, even on systems with SELinux]), [], [with_selinux=maybe]) LIB_SELINUX= if test "$with_selinux" != no; then gl_save_LIBS=$LIBS AC_SEARCH_LIBS([setfilecon], [selinux], [test "$ac_cv_search_setfilecon" = "none required" || LIB_SELINUX=$ac_cv_search_setfilecon]) LIBS=$gl_save_LIBS fi AC_SUBST([LIB_SELINUX]) # Warn if SELinux is found but libselinux is absent; if test "$ac_cv_search_setfilecon" = no && test "$host" = "$build" && test -d /selinux; then AC_MSG_WARN([This system supports SELinux but libselinux is missing.]) AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.]) fi ]) coreutils-8.21/m4/extern-inline.m40000664000000000000000000000454112071024546013716 00000000000000dnl 'extern inline' a la ISO C99. dnl Copyright 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EXTERN_INLINE], [ AH_VERBATIM([extern_inline], [/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. _GL_INLINE_HEADER_BEGIN contains useful stuff to put in an include file, before uses of _GL_INLINE. It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, when FOO is an inline function in the header; see . _GL_INLINE_HEADER_END contains useful stuff to put in the same include file, after uses of _GL_INLINE. Suppress the use of extern inline on Apple's platforms, as Libc-825.25 (2012-09-19) is incompatible with it; see . Perhaps Apple will fix this some day. */ #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ : 199901L <= __STDC_VERSION__) \ && !defined __APPLE__) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline #elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ # if __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) # else # define _GL_INLINE extern inline # endif # define _GL_EXTERN_INLINE extern #else # define _GL_INLINE static _GL_UNUSED # define _GL_EXTERN_INLINE static _GL_UNUSED #endif #if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # define _GL_INLINE_HEADER_CONST_PRAGMA # else # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ _GL_INLINE_HEADER_CONST_PRAGMA # define _GL_INLINE_HEADER_END \ _Pragma ("GCC diagnostic pop") #else # define _GL_INLINE_HEADER_BEGIN # define _GL_INLINE_HEADER_END #endif]) ]) coreutils-8.21/m4/stdarg.m40000664000000000000000000000540412071024546012420 00000000000000# stdarg.m4 serial 6 dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Provide a working va_copy in combination with . AC_DEFUN([gl_STDARG_H], [ STDARG_H='' NEXT_STDARG_H='' AC_MSG_CHECKING([for va_copy]) AC_CACHE_VAL([gl_cv_func_va_copy], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[ #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ]])], [gl_cv_func_va_copy=yes], [gl_cv_func_va_copy=no])]) AC_MSG_RESULT([$gl_cv_func_va_copy]) if test $gl_cv_func_va_copy = no; then dnl Provide a substitute. dnl Usually a simple definition in is enough. Not so on AIX 5 dnl with some versions of the /usr/vac/bin/cc compiler. It has an dnl which does '#undef va_copy', leading to a missing va_copy symbol. For dnl this platform, we use an substitute. But we cannot use this dnl approach on other platforms, because often defines only dnl preprocessor macros and gl_ABSOLUTE_HEADER, gl_CHECK_NEXT_HEADERS do dnl not work in this situation. AC_EGREP_CPP([vaccine], [#if defined _AIX && !defined __GNUC__ AIX vaccine #endif ], [gl_aixcc=yes], [gl_aixcc=no]) if test $gl_aixcc = yes; then dnl Provide a substitute file. STDARG_H=stdarg.h gl_NEXT_HEADERS([stdarg.h]) dnl Fallback for the case when contains only macro definitions. if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else dnl Provide a substitute in , either __va_copy or as a simple dnl assignment. gl_CACHE_VAL_SILENT([gl_cv_func___va_copy], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[ #ifndef __va_copy error, bail out #endif ]])], [gl_cv_func___va_copy=yes], [gl_cv_func___va_copy=no])]) if test $gl_cv_func___va_copy = yes; then AC_DEFINE([va_copy], [__va_copy], [Define as a macro for copying va_list variables.]) else AH_VERBATIM([gl_VA_COPY], [/* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b))]) AC_DEFINE([va_copy], [gl_va_copy], [Define as a macro for copying va_list variables.]) fi fi fi AC_SUBST([STDARG_H]) AM_CONDITIONAL([GL_GENERATE_STDARG_H], [test -n "$STDARG_H"]) AC_SUBST([NEXT_STDARG_H]) ]) coreutils-8.21/m4/strchrnul.m40000664000000000000000000000276612071024546013170 00000000000000# strchrnul.m4 serial 9 dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRCHRNUL], [ dnl Persuade glibc to declare strchrnul(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([strchrnul]) if test $ac_cv_func_strchrnul = no; then HAVE_STRCHRNUL=0 else AC_CACHE_CHECK([whether strchrnul works], [gl_cv_func_strchrnul_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include /* for strchrnul */ ]], [[const char *buf = "a"; return strchrnul (buf, 'b') != buf + 1; ]])], [gl_cv_func_strchrnul_works=yes], [gl_cv_func_strchrnul_works=no], [dnl Cygwin 1.7.9 introduced strchrnul, but it was broken until 1.7.10 AC_EGREP_CPP([Lucky user], [ #if defined __CYGWIN__ #include #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9) Lucky user #endif #else Lucky user #endif ], [gl_cv_func_strchrnul_works="guessing yes"], [gl_cv_func_strchrnul_works="guessing no"]) ]) ]) case "$gl_cv_func_strchrnul_works" in *yes) ;; *) REPLACE_STRCHRNUL=1 ;; esac fi ]) # Prerequisites of lib/strchrnul.c. AC_DEFUN([gl_PREREQ_STRCHRNUL], [:]) coreutils-8.21/m4/settime.m40000664000000000000000000000071512071024546012606 00000000000000# settime.m4 serial 7 dnl Copyright (C) 2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SETTIME], [ dnl Prerequisites of lib/settime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) AC_CHECK_FUNCS_ONCE([settimeofday stime]) ]) coreutils-8.21/m4/xgetcwd.m40000664000000000000000000000046312071024546012601 00000000000000#serial 8 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XGETCWD], [ : ]) coreutils-8.21/m4/read.m40000664000000000000000000000153512071024546012050 00000000000000# read.m4 serial 4 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READ], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_READ=1 fi dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_UNISTD_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_READ=1 fi ]) ]) # Prerequisites of lib/read.c. AC_DEFUN([gl_PREREQ_READ], [:]) coreutils-8.21/m4/mbrtowc.m40000664000000000000000000004153712071024546012620 00000000000000# mbrtowc.m4 serial 25 dnl Copyright (C) 2001-2002, 2004-2005, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBRTOWC], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN AC_CHECK_FUNCS_ONCE([mbrtowc]) if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 AC_CHECK_DECLS([mbrtowc],,, [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]]) if test $ac_cv_have_decl_mbrtowc = yes; then dnl On Minix 3.1.8, the system's declares mbrtowc() although dnl it does not have the function. Avoid a collision with gnulib's dnl replacement. REPLACE_MBRTOWC=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 else gl_MBRTOWC_NULL_ARG1 gl_MBRTOWC_NULL_ARG2 gl_MBRTOWC_RETVAL gl_MBRTOWC_NUL_RETVAL case "$gl_cv_func_mbrtowc_null_arg1" in *yes) ;; *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1], [Define if the mbrtowc function has the NULL pwc argument bug.]) REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_null_arg2" in *yes) ;; *) AC_DEFINE([MBRTOWC_NULL_ARG2_BUG], [1], [Define if the mbrtowc function has the NULL string argument bug.]) REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_retval" in *yes) ;; *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1], [Define if the mbrtowc function returns a wrong return value.]) REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_nul_retval" in *yes) ;; *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1], [Define if the mbrtowc function does not return 0 for a NUL character.]) REPLACE_MBRTOWC=1 ;; esac fi fi ]) dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that dnl redefines the semantics of the given mbstate_t type. dnl Result is REPLACE_MBSTATE_T. dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to dnl avoid inconsistencies. AC_DEFUN([gl_MBSTATE_T_BROKEN], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_FUNCS_ONCE([mbsinit]) AC_CHECK_FUNCS_ONCE([mbrtowc]) if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then gl_MBRTOWC_INCOMPLETE_STATE gl_MBRTOWC_SANITYCHECK REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi ]) dnl Test whether mbrtowc puts the state into non-initial state when parsing an dnl incomplete multibyte character. dnl Result is gl_cv_func_mbrtowc_incomplete_state. AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc handles incomplete characters], [gl_cv_func_mbrtowc_incomplete_state], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_JA != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; }]])], [gl_cv_func_mbrtowc_incomplete_state=yes], [gl_cv_func_mbrtowc_incomplete_state=no], [:]) fi ]) ]) dnl Test whether mbrtowc works not worse than mbtowc. dnl Result is gl_cv_func_mbrtowc_sanitycheck. AC_DEFUN([gl_MBRTOWC_SANITYCHECK], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc works as well as mbtowc], [gl_cv_func_mbrtowc_sanitycheck], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; }]])], [gl_cv_func_mbrtowc_sanitycheck=yes], [gl_cv_func_mbrtowc_sanitycheck=no], [:]) fi ]) ]) dnl Test whether mbrtowc supports a NULL pwc argument correctly. dnl Result is gl_cv_func_mbrtowc_null_arg1. AC_DEFUN([gl_MBRTOWC_NULL_ARG1], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc handles a NULL pwc argument], [gl_cv_func_mbrtowc_null_arg1], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { int result = 0; if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "\303\237er"; mbstate_t state; wchar_t wc; size_t ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 5, &state); if (ret != 2) result |= 1; if (!mbsinit (&state)) result |= 2; memset (&state, '\0', sizeof (mbstate_t)); ret = mbrtowc (NULL, input, 5, &state); if (ret != 2) /* Solaris 7 fails here: ret is -1. */ result |= 4; if (!mbsinit (&state)) result |= 8; } return result; }]])], [gl_cv_func_mbrtowc_null_arg1=yes], [gl_cv_func_mbrtowc_null_arg1=no], [:]) fi ]) ]) dnl Test whether mbrtowc supports a NULL string argument correctly. dnl Result is gl_cv_func_mbrtowc_null_arg2. AC_DEFUN([gl_MBRTOWC_NULL_ARG2], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument], [gl_cv_func_mbrtowc_null_arg2], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { mbstate_t state; wchar_t wc; int ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; mbrtowc (&wc, NULL, 5, &state); /* Check that wc was not modified. */ if (wc != (wchar_t) 0xBADFACE) return 1; } return 0; }]])], [gl_cv_func_mbrtowc_null_arg2=yes], [gl_cv_func_mbrtowc_null_arg2=no], [:]) fi ]) ]) dnl Test whether mbrtowc, when parsing the end of a multibyte character, dnl correctly returns the number of bytes that were needed to complete the dnl character (not the total number of bytes of the multibyte character). dnl Result is gl_cv_func_mbrtowc_retval. AC_DEFUN([gl_MBRTOWC_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_FR_UTF8]) AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether mbrtowc has a correct return value], [gl_cv_func_mbrtowc_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on HP-UX, Solaris, native Windows. hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ || { case "$host_os" in mingw*) true;; *) false;; esac; }; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { int result = 0; int found_some_locale = 0; /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 1) result |= 1; } found_some_locale = 1; } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 2) result |= 2; } found_some_locale = 1; } /* This fails on native Windows. */ if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) { char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 4; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) { char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 8; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_China.936") != NULL) { char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 16; } found_some_locale = 1; } return (found_some_locale ? result : 77); }]])], [gl_cv_func_mbrtowc_retval=yes], [if test $? != 77; then gl_cv_func_mbrtowc_retval=no fi ], [:]) fi ]) ]) dnl Test whether mbrtowc, when parsing a NUL character, correctly returns 0. dnl Result is gl_cv_func_mbrtowc_nul_retval. AC_DEFUN([gl_MBRTOWC_NUL_RETVAL], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc returns 0 when parsing a NUL character], [gl_cv_func_mbrtowc_nul_retval], [ dnl Initial guess, used when cross-compiling or when no suitable locale dnl is present. changequote(,)dnl case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_ZH_CN != none; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { /* This fails on Solaris 8 and 9. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, "", 1, &state) != 0) return 1; } return 0; }]])], [gl_cv_func_mbrtowc_nul_retval=yes], [gl_cv_func_mbrtowc_nul_retval=no], [:]) fi ]) ]) # Prerequisites of lib/mbrtowc.c. AC_DEFUN([gl_PREREQ_MBRTOWC], [ : ]) dnl From Paul Eggert dnl This is an override of an autoconf macro. AC_DEFUN([AC_FUNC_MBRTOWC], [ dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], gl_cv_func_mbrtowc, [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[/* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]], [[wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])], gl_cv_func_mbrtowc=yes, gl_cv_func_mbrtowc=no)]) if test $gl_cv_func_mbrtowc = yes; then AC_DEFINE([HAVE_MBRTOWC], [1], [Define to 1 if mbrtowc and mbstate_t are properly declared.]) fi ]) coreutils-8.21/m4/spawn_h.m40000664000000000000000000001260512071024546012574 00000000000000# spawn_h.m4 serial 16 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Bruno Haible. AC_DEFUN([gl_SPAWN_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([spawn.h]) if test $ac_cv_header_spawn_h = yes; then HAVE_SPAWN_H=1 AC_CHECK_TYPES([posix_spawnattr_t], [], [HAVE_POSIX_SPAWNATTR_T=0], [[ #include ]]) AC_CHECK_TYPES([posix_spawn_file_actions_t], [], [HAVE_POSIX_SPAWN_FILE_ACTIONS_T=0], [[ #include ]]) else HAVE_SPAWN_H=0 HAVE_POSIX_SPAWNATTR_T=0 HAVE_POSIX_SPAWN_FILE_ACTIONS_T=0 fi AC_SUBST([HAVE_SPAWN_H]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Ensure the type mode_t gets defined. AC_REQUIRE([AC_TYPE_MODE_T]) AC_REQUIRE([gl_HAVE_POSIX_SPAWN]) AC_REQUIRE([AC_C_RESTRICT]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [posix_spawn posix_spawnp posix_spawnattr_init posix_spawnattr_destroy posix_spawnattr_getsigdefault posix_spawnattr_setsigdefault posix_spawnattr_getsigmask posix_spawnattr_setsigmask posix_spawnattr_getflags posix_spawnattr_setflags posix_spawnattr_getpgroup posix_spawnattr_setpgroup posix_spawnattr_getschedpolicy posix_spawnattr_setschedpolicy posix_spawnattr_getschedparam posix_spawnattr_setschedparam posix_spawn_file_actions_init posix_spawn_file_actions_destroy posix_spawn_file_actions_addopen posix_spawn_file_actions_addclose posix_spawn_file_actions_adddup2]) ]) dnl Checks whether the system has the functions posix_spawn. dnl Sets ac_cv_func_posix_spawn and HAVE_POSIX_SPAWN. AC_DEFUN([gl_HAVE_POSIX_SPAWN], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([posix_spawn]) if test $ac_cv_func_posix_spawn != yes; then HAVE_POSIX_SPAWN=0 fi ]) AC_DEFUN([gl_SPAWN_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SPAWN_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SPAWN_H_DEFAULTS], [ GNULIB_POSIX_SPAWN=0; AC_SUBST([GNULIB_POSIX_SPAWN]) GNULIB_POSIX_SPAWNP=0; AC_SUBST([GNULIB_POSIX_SPAWNP]) GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT=0; AC_SUBST([GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT]) GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=0; AC_SUBST([GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE]) GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=0; AC_SUBST([GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2]) GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=0; AC_SUBST([GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN]) GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY=0; AC_SUBST([GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY]) GNULIB_POSIX_SPAWNATTR_INIT=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_INIT]) GNULIB_POSIX_SPAWNATTR_GETFLAGS=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETFLAGS]) GNULIB_POSIX_SPAWNATTR_SETFLAGS=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETFLAGS]) GNULIB_POSIX_SPAWNATTR_GETPGROUP=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETPGROUP]) GNULIB_POSIX_SPAWNATTR_SETPGROUP=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETPGROUP]) GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM]) GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM]) GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY]) GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY]) GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT]) GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT]) GNULIB_POSIX_SPAWNATTR_GETSIGMASK=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_GETSIGMASK]) GNULIB_POSIX_SPAWNATTR_SETSIGMASK=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_SETSIGMASK]) GNULIB_POSIX_SPAWNATTR_DESTROY=0; AC_SUBST([GNULIB_POSIX_SPAWNATTR_DESTROY]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SPAWN=1; AC_SUBST([HAVE_POSIX_SPAWN]) HAVE_POSIX_SPAWNATTR_T=1; AC_SUBST([HAVE_POSIX_SPAWNATTR_T]) HAVE_POSIX_SPAWN_FILE_ACTIONS_T=1; AC_SUBST([HAVE_POSIX_SPAWN_FILE_ACTIONS_T]) REPLACE_POSIX_SPAWN=0; AC_SUBST([REPLACE_POSIX_SPAWN]) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=0; AC_SUBST([REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE]) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=0; AC_SUBST([REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2]) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=0; AC_SUBST([REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN]) ]) coreutils-8.21/m4/base64.m40000664000000000000000000000066412071024546012223 00000000000000# base64.m4 serial 4 dnl Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_BASE64], [ gl_PREREQ_BASE64 ]) # Prerequisites of lib/base64.c. AC_DEFUN([gl_PREREQ_BASE64], [ AC_REQUIRE([AC_C_RESTRICT]) ]) coreutils-8.21/m4/inttypes-pri.m40000664000000000000000000000234512071024546013604 00000000000000# inttypes-pri.m4 serial 7 (gettext-0.18.2) dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.53]) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], [gt_cv_inttypes_pri_broken], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifdef PRId32 char *p = PRId32; #endif ]], [[]])], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi AC_SUBST([PRI_MACROS_BROKEN]) ]) coreutils-8.21/m4/iswblank.m40000664000000000000000000000234112071024546012743 00000000000000# iswblank.m4 serial 4 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ISWBLANK], [ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) AC_REQUIRE([gl_WCTYPE_H]) dnl Persuade glibc to declare iswblank(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([iswblank]) AC_CHECK_DECLS([iswblank], , , [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #include ]]) if test $ac_cv_func_iswblank = no; then HAVE_ISWBLANK=0 if test $ac_cv_have_decl_iswblank = yes; then REPLACE_ISWBLANK=1 fi fi if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then dnl Redefine all of iswcntrl, ..., towupper in . : else if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then dnl Redefine only iswblank. : fi fi ]) coreutils-8.21/m4/closedir.m40000664000000000000000000000134612071024546012741 00000000000000# closedir.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_CLOSEDIR], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_CHECK_FUNCS([closedir]) if test $ac_cv_func_closedir = no; then HAVE_CLOSEDIR=0 fi dnl Replace closedir() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then if test $HAVE_CLOSEDIR = 1; then REPLACE_CLOSEDIR=1 fi fi ]) ]) coreutils-8.21/m4/ftell.m40000664000000000000000000000100512071024546012233 00000000000000# ftell.m4 serial 3 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FTELL], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_FTELLO]) dnl When ftello needs fixes, ftell needs them too. if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then REPLACE_FTELL=1 fi ]) coreutils-8.21/m4/unlinkat.m40000664000000000000000000000175412071024546012765 00000000000000# unlinkat.m4 serial 2 dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_UNLINKAT], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([unlinkat]) AC_REQUIRE([gl_FUNC_UNLINK]) AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) if test $ac_cv_func_unlinkat = no; then HAVE_UNLINKAT=0 else case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *no) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_UNLINKAT=1 ;; *) # GNU/Hurd has unlinkat, but it has the same bug as unlink. if test $REPLACE_UNLINK = 1; then REPLACE_UNLINKAT=1 fi ;; esac fi ]) coreutils-8.21/m4/fstypename.m40000664000000000000000000000113712071024546013306 00000000000000#serial 6 dnl From Jim Meyering. dnl dnl See if struct statfs has the f_fstypename member. dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. dnl # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FSTYPENAME], [ AC_CHECK_MEMBERS([struct statfs.f_fstypename],,, [ #include #include #include ]) ]) coreutils-8.21/m4/getcwd-abort-bug.m40000664000000000000000000001014312104754777014302 00000000000000# serial 7 # Determine whether getcwd aborts when the length of the working directory # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. # Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering # gl_FUNC_GETCWD_ABORT_BUG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [ AC_CHECK_DECLS_ONCE([getcwd]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) AC_CHECK_FUNCS([getpagesize]) AC_CACHE_CHECK([whether getcwd aborts when 4k < cwd_length < 16k], gl_cv_func_getcwd_abort_bug, [# Remove any remnants of a previous test. rm -rf confdir-14B--- # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" dnl Please keep this in sync with tests/test-getcwd.c. AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include #endif #include #include ]gl_PATHMAX_SNIPPET[ /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* FIXME: skip the run-test altogether on systems without getpagesize. */ #if ! HAVE_GETPAGESIZE # define getpagesize() 0 #endif /* This size is chosen to be larger than PATH_MAX (4k), yet smaller than the 16kB pagesize on ia64 linux. Those conditions make the code below trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ #define TARGET_LEN (5 * 1024) int main () { char *cwd; size_t initial_cwd_len; int fail = 0; /* The bug is triggered when PATH_MAX < getpagesize (), so skip this relatively expensive and invasive test if that's not true. */ #ifdef PATH_MAX int bug_possible = PATH_MAX < getpagesize (); #else int bug_possible = 0; #endif if (! bug_possible) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) return 2; initial_cwd_len = strlen (cwd); free (cwd); if (1) { static char const dir_name[] = "confdir-14B---"; size_t desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) / sizeof dir_name); size_t d; for (d = 0; d < desired_depth; d++) { if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) { if (! (errno == ERANGE || errno == ENAMETOOLONG || errno == ENOENT)) fail = 3; /* Unable to construct deep hierarchy. */ break; } } /* If libc has the bug in question, this invocation of getcwd results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) fail = 4; /* getcwd didn't assert, but it failed for a long name where the answer could have been learned. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); while (0 < d--) { if (chdir ("..") < 0) { fail = 5; break; } rmdir (dir_name); } } return fail; } ]])], [gl_cv_func_getcwd_abort_bug=no], [dnl An abort will provoke an exit code of something like 134 (128 + 6). dnl An exit code of 4 can also occur (in OpenBSD 4.9, NetBSD 5.1 for dnl example): getcwd (NULL, 0) fails rather than returning a string dnl longer than PATH_MAX. This may be POSIX compliant (in some dnl interpretations of POSIX). But gnulib's getcwd module wants to dnl provide a non-NULL value in this case. ret=$? if test $ret -ge 128 || test $ret = 4; then gl_cv_func_getcwd_abort_bug=yes else gl_cv_func_getcwd_abort_bug=no fi], [gl_cv_func_getcwd_abort_bug=yes]) ]) AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2]) ]) coreutils-8.21/m4/cu-progs.m40000444000000000000000000001122412107175523012666 00000000000000dnl Automatically generated by gen-lists-of-programs.sh. DO NOT EDIT BY HAND! gl_ADD_PROG([optional_bin_progs], [@<:@]) gl_ADD_PROG([optional_bin_progs], [base64]) gl_ADD_PROG([optional_bin_progs], [basename]) gl_ADD_PROG([optional_bin_progs], [cat]) gl_ADD_PROG([optional_bin_progs], [chcon]) gl_ADD_PROG([optional_bin_progs], [chgrp]) gl_ADD_PROG([optional_bin_progs], [chmod]) gl_ADD_PROG([optional_bin_progs], [chown]) gl_ADD_PROG([optional_bin_progs], [cksum]) gl_ADD_PROG([optional_bin_progs], [comm]) gl_ADD_PROG([optional_bin_progs], [cp]) gl_ADD_PROG([optional_bin_progs], [csplit]) gl_ADD_PROG([optional_bin_progs], [cut]) gl_ADD_PROG([optional_bin_progs], [date]) gl_ADD_PROG([optional_bin_progs], [dd]) gl_ADD_PROG([optional_bin_progs], [dir]) gl_ADD_PROG([optional_bin_progs], [dircolors]) gl_ADD_PROG([optional_bin_progs], [dirname]) gl_ADD_PROG([optional_bin_progs], [du]) gl_ADD_PROG([optional_bin_progs], [echo]) gl_ADD_PROG([optional_bin_progs], [env]) gl_ADD_PROG([optional_bin_progs], [expand]) gl_ADD_PROG([optional_bin_progs], [expr]) gl_ADD_PROG([optional_bin_progs], [factor]) gl_ADD_PROG([optional_bin_progs], [false]) gl_ADD_PROG([optional_bin_progs], [fmt]) gl_ADD_PROG([optional_bin_progs], [fold]) gl_ADD_PROG([optional_bin_progs], [ginstall]) gl_ADD_PROG([optional_bin_progs], [groups]) gl_ADD_PROG([optional_bin_progs], [head]) gl_ADD_PROG([optional_bin_progs], [id]) gl_ADD_PROG([optional_bin_progs], [join]) gl_ADD_PROG([optional_bin_progs], [kill]) gl_ADD_PROG([optional_bin_progs], [link]) gl_ADD_PROG([optional_bin_progs], [ln]) gl_ADD_PROG([optional_bin_progs], [logname]) gl_ADD_PROG([optional_bin_progs], [ls]) gl_ADD_PROG([optional_bin_progs], [md5sum]) gl_ADD_PROG([optional_bin_progs], [mkdir]) gl_ADD_PROG([optional_bin_progs], [mkfifo]) gl_ADD_PROG([optional_bin_progs], [mknod]) gl_ADD_PROG([optional_bin_progs], [mktemp]) gl_ADD_PROG([optional_bin_progs], [mv]) gl_ADD_PROG([optional_bin_progs], [nl]) gl_ADD_PROG([optional_bin_progs], [nproc]) gl_ADD_PROG([optional_bin_progs], [nohup]) gl_ADD_PROG([optional_bin_progs], [numfmt]) gl_ADD_PROG([optional_bin_progs], [od]) gl_ADD_PROG([optional_bin_progs], [paste]) gl_ADD_PROG([optional_bin_progs], [pathchk]) gl_ADD_PROG([optional_bin_progs], [pr]) gl_ADD_PROG([optional_bin_progs], [printenv]) gl_ADD_PROG([optional_bin_progs], [printf]) gl_ADD_PROG([optional_bin_progs], [ptx]) gl_ADD_PROG([optional_bin_progs], [pwd]) gl_ADD_PROG([optional_bin_progs], [readlink]) gl_ADD_PROG([optional_bin_progs], [realpath]) gl_ADD_PROG([optional_bin_progs], [rm]) gl_ADD_PROG([optional_bin_progs], [rmdir]) gl_ADD_PROG([optional_bin_progs], [runcon]) gl_ADD_PROG([optional_bin_progs], [seq]) gl_ADD_PROG([optional_bin_progs], [sha1sum]) gl_ADD_PROG([optional_bin_progs], [sha224sum]) gl_ADD_PROG([optional_bin_progs], [sha256sum]) gl_ADD_PROG([optional_bin_progs], [sha384sum]) gl_ADD_PROG([optional_bin_progs], [sha512sum]) gl_ADD_PROG([optional_bin_progs], [shred]) gl_ADD_PROG([optional_bin_progs], [shuf]) gl_ADD_PROG([optional_bin_progs], [sleep]) gl_ADD_PROG([optional_bin_progs], [sort]) gl_ADD_PROG([optional_bin_progs], [split]) gl_ADD_PROG([optional_bin_progs], [stat]) gl_ADD_PROG([optional_bin_progs], [sum]) gl_ADD_PROG([optional_bin_progs], [sync]) gl_ADD_PROG([optional_bin_progs], [tac]) gl_ADD_PROG([optional_bin_progs], [tail]) gl_ADD_PROG([optional_bin_progs], [tee]) gl_ADD_PROG([optional_bin_progs], [test]) gl_ADD_PROG([optional_bin_progs], [timeout]) gl_ADD_PROG([optional_bin_progs], [touch]) gl_ADD_PROG([optional_bin_progs], [tr]) gl_ADD_PROG([optional_bin_progs], [true]) gl_ADD_PROG([optional_bin_progs], [truncate]) gl_ADD_PROG([optional_bin_progs], [tsort]) gl_ADD_PROG([optional_bin_progs], [tty]) gl_ADD_PROG([optional_bin_progs], [uname]) gl_ADD_PROG([optional_bin_progs], [unexpand]) gl_ADD_PROG([optional_bin_progs], [uniq]) gl_ADD_PROG([optional_bin_progs], [unlink]) gl_ADD_PROG([optional_bin_progs], [vdir]) gl_ADD_PROG([optional_bin_progs], [wc]) gl_ADD_PROG([optional_bin_progs], [whoami]) gl_ADD_PROG([optional_bin_progs], [yes]) no_install_progs_default='arch hostname' # Given the name of a variable containing a space-separated # list of install-by-default programs and the actual list of # do-not-install-by-default programs, modify the former variable # to reflect any "do-install" and "don't-install" requests. # That is, add any program specified via --enable-install-program, # and remove any program specified via --enable-no-install-program. # Note how the second argument below is a literal, with "," # separators. That is required due to the way the macro works, # and since the corresponding ./configure option argument is # comma-separated on input. gl_INCLUDE_EXCLUDE_PROG([optional_bin_progs], [arch,hostname]) coreutils-8.21/m4/symlink.m40000664000000000000000000000347112071024546012624 00000000000000# serial 6 # See if we need to provide symlink replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_SYMLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([symlink]) dnl The best we can do on mingw is provide a dummy that always fails, so dnl that compilation can proceed with fewer ifdefs. On FreeBSD 7.2, AIX 7.1, dnl and Solaris 9, we want to fix a bug with trailing slash handling. if test $ac_cv_func_symlink = no; then HAVE_SYMLINK=0 else AC_CACHE_CHECK([whether symlink handles trailing slash correctly], [gl_cv_func_symlink_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int result = 0; if (!symlink ("a", "conftest.link/")) result |= 1; if (symlink ("conftest.f", "conftest.lnk2")) result |= 2; else if (!symlink ("a", "conftest.lnk2/")) result |= 4; return result; ]])], [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_symlink_works="guessing no" ;; esac ]) rm -f conftest.f conftest.link conftest.lnk2]) case "$gl_cv_func_symlink_works" in *yes) ;; *) REPLACE_SYMLINK=1 ;; esac fi ]) coreutils-8.21/m4/human.m40000664000000000000000000000052412071024546012242 00000000000000#serial 11 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/human.c. AC_DEFUN([gl_HUMAN], [ : ]) coreutils-8.21/m4/fpurge.m40000664000000000000000000000320712071024546012423 00000000000000# fpurge.m4 serial 7 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FPURGE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fpurge]) AC_CHECK_FUNCS_ONCE([__fpurge]) AC_CHECK_DECLS([fpurge], , , [[#include ]]) if test "x$ac_cv_func_fpurge" = xyes; then HAVE_FPURGE=1 # Detect BSD bug. Only cygwin 1.7 is known to be immune. AC_CACHE_CHECK([whether fpurge works], [gl_cv_func_fpurge_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [FILE *f = fopen ("conftest.txt", "w+"); if (!f) return 1; if (fputc ('a', f) != 'a') return 2; rewind (f); if (fgetc (f) != 'a') return 3; if (fgetc (f) != EOF) return 4; if (fpurge (f) != 0) return 5; if (putc ('b', f) != 'b') return 6; if (fclose (f) != 0) return 7; if ((f = fopen ("conftest.txt", "r")) == NULL) return 8; if (fgetc (f) != 'a') return 9; if (fgetc (f) != 'b') return 10; if (fgetc (f) != EOF) return 11; if (fclose (f) != 0) return 12; if (remove ("conftest.txt") != 0) return 13; return 0;])], [gl_cv_func_fpurge_works=yes], [gl_cv_func_fpurge_works=no], [gl_cv_func_fpurge_works='guessing no'])]) if test "x$gl_cv_func_fpurge_works" != xyes; then REPLACE_FPURGE=1 fi else HAVE_FPURGE=0 fi if test "x$ac_cv_have_decl_fpurge" = xno; then HAVE_DECL_FPURGE=0 fi ]) coreutils-8.21/m4/inet_pton.m40000664000000000000000000000414512071024546013134 00000000000000# inet_pton.m4 serial 17 dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_INET_PTON], [ AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) dnl Persuade Solaris to declare inet_pton. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_C_RESTRICT]) dnl Most platforms that provide inet_pton define it in libc. dnl Solaris 8..10 provide inet_pton in libnsl instead. dnl Solaris 2.6..7 provide inet_pton in libresolv instead. dnl Native Windows provides it in -lws2_32 instead, with a declaration in dnl , and it uses stdcall calling convention, not cdecl dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it). HAVE_INET_PTON=1 INET_PTON_LIB= gl_PREREQ_SYS_H_WINSOCK2 if test $HAVE_WINSOCK2_H = 1; then AC_CHECK_DECLS([inet_pton],,, [[#include ]]) if test $ac_cv_have_decl_inet_pton = yes; then dnl It needs to be overridden, because the stdcall calling convention dnl is not compliant with POSIX. REPLACE_INET_PTON=1 INET_PTON_LIB="-lws2_32" else HAVE_DECL_INET_PTON=0 HAVE_INET_PTON=0 fi else gl_save_LIBS=$LIBS AC_SEARCH_LIBS([inet_pton], [nsl resolv], [], [AC_CHECK_FUNCS([inet_pton]) if test $ac_cv_func_inet_pton = no; then HAVE_INET_PTON=0 fi ]) LIBS=$gl_save_LIBS if test "$ac_cv_search_inet_pton" != "no" \ && test "$ac_cv_search_inet_pton" != "none required"; then INET_PTON_LIB="$ac_cv_search_inet_pton" fi AC_CHECK_HEADERS_ONCE([netdb.h]) AC_CHECK_DECLS([inet_pton],,, [[#include #if HAVE_NETDB_H # include #endif ]]) if test $ac_cv_have_decl_inet_pton = no; then HAVE_DECL_INET_PTON=0 fi fi AC_SUBST([INET_PTON_LIB]) ]) # Prerequisites of lib/inet_pton.c. AC_DEFUN([gl_PREREQ_INET_PTON], [ AC_REQUIRE([gl_SOCKET_FAMILIES]) ]) coreutils-8.21/m4/getpass.m40000664000000000000000000000356012071024546012603 00000000000000# getpass.m4 serial 14 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Provide a getpass() function if the system doesn't have it. AC_DEFUN([gl_FUNC_GETPASS], [ dnl Persuade Solaris and to declare getpass(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS([getpass]) AC_CHECK_DECLS_ONCE([getpass]) if test $ac_cv_func_getpass = yes; then HAVE_GETPASS=1 else HAVE_GETPASS=0 fi ]) # Provide the GNU getpass() implementation. It supports passwords of # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ dnl Persuade Solaris and to declare getpass(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([getpass]) dnl TODO: Detect when GNU getpass() is already found in glibc. REPLACE_GETPASS=1 if test $REPLACE_GETPASS = 1; then dnl We must choose a different name for our function, since on ELF systems dnl an unusable getpass() in libc.so would override our getpass() if it is dnl compiled into a shared library. AC_DEFINE([getpass], [gnu_getpass], [Define to a replacement function name for getpass().]) fi ]) # Prerequisites of lib/getpass.c. AC_DEFUN([gl_PREREQ_GETPASS], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h termios.h]) AC_CHECK_FUNCS_ONCE([__fsetlocking tcgetattr tcsetattr]) AC_CHECK_DECLS([__fsetlocking],,, [[#include #if HAVE_STDIO_EXT_H #include #endif]]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([flockfile]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([funlockfile]) AC_CHECK_DECLS_ONCE([putc_unlocked]) : ]) coreutils-8.21/m4/md5.m40000664000000000000000000000056712071024546011626 00000000000000# md5.m4 serial 13 dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MD5], [ dnl Prerequisites of lib/md5.c. AC_REQUIRE([gl_BIGENDIAN]) : ]) coreutils-8.21/m4/jm-winsz2.m40000664000000000000000000000171712071024546012777 00000000000000# serial 7 # Copyright (C) 1996, 1999, 2001, 2004, 2009-2013 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL], [AC_REQUIRE([gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H]) AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h], gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h, [gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then AC_EGREP_CPP([yes], [#include # include # ifdef TIOCGWINSZ yes # endif ], gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes) fi ]) if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then AC_DEFINE([GWINSZ_IN_SYS_IOCTL], [1], [Define if your system defines TIOCGWINSZ in sys/ioctl.h.]) fi ]) coreutils-8.21/m4/jm-winsz1.m40000664000000000000000000000337412071024546012777 00000000000000# serial 11 # Copyright (C) 1996, 1999, 2001-2002, 2004, 2006, 2009-2013 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering and Paul Eggert. AC_DEFUN([gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H], [AC_REQUIRE([AC_SYS_POSIX_TERMIOS]) AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h], gl_cv_sys_tiocgwinsz_needs_termios_h, [gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then AC_EGREP_CPP([yes], [#include # include # ifdef TIOCGWINSZ yes # endif ], gl_cv_sys_tiocgwinsz_needs_termios_h=yes) fi ]) ]) AC_DEFUN([gl_WINSIZE_IN_PTEM], [AC_REQUIRE([AC_SYS_POSIX_TERMIOS]) AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h], gl_cv_sys_struct_winsize_needs_sys_ptem_h, [gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct winsize x; if (sizeof x > 0) return 0;]])], [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct winsize x; if (sizeof x > 0) return 0;]])], [], [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi]) if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then AC_DEFINE([WINSIZE_IN_PTEM], [1], [Define if sys/ptem.h is required for struct winsize.]) fi]) coreutils-8.21/m4/fopen.m40000664000000000000000000000325212071024546012242 00000000000000# fopen.m4 serial 9 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FOPEN], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in mingw* | pw*) dnl Replace fopen, for handling of "/dev/null". REPLACE_FOPEN=1 dnl fopen on mingw also has the trailing slash bug. gl_cv_func_fopen_slash="guessing no" ;; *) dnl fopen("foo/", "w") should not create a file when the file name has a dnl trailing slash. AC_CACHE_CHECK([whether fopen recognizes a trailing slash], [gl_cv_func_fopen_slash], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include int main () { return fopen ("conftest.sl/", "w") != NULL; }]])], [gl_cv_func_fopen_slash=yes], [gl_cv_func_fopen_slash=no], [ changequote(,)dnl case "$host_os" in aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) gl_cv_func_fopen_slash="guessing no" ;; *) gl_cv_func_fopen_slash="guessing yes" ;; esac changequote([,])dnl ]) rm -f conftest.sl ]) ;; esac case "$gl_cv_func_fopen_slash" in *no) AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1], [Define to 1 if fopen() fails to recognize a trailing slash.]) REPLACE_FOPEN=1 ;; esac ]) # Prerequisites of lib/fopen.c. AC_DEFUN([gl_PREREQ_FOPEN], [:]) coreutils-8.21/m4/mbstate_t.m40000664000000000000000000000256712071024546013125 00000000000000# mbstate_t.m4 serial 13 dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # From Paul Eggert. # BeOS 5 has but does not define mbstate_t, # so you can't declare an object of that type. # Check for this incompatibility with Standard C. # AC_TYPE_MBSTATE_T # ----------------- AC_DEFUN([AC_TYPE_MBSTATE_T], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11 AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]], [[mbstate_t x; return sizeof x;]])], [ac_cv_type_mbstate_t=yes], [ac_cv_type_mbstate_t=no])]) if test $ac_cv_type_mbstate_t = yes; then AC_DEFINE([HAVE_MBSTATE_T], [1], [Define to 1 if declares mbstate_t.]) else AC_DEFINE([mbstate_t], [int], [Define to a type if does not define.]) fi ]) coreutils-8.21/m4/quotearg.m40000664000000000000000000000047412071024546012765 00000000000000# quotearg.m4 serial 9 dnl Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTEARG], [ : ]) coreutils-8.21/m4/lchown.m40000664000000000000000000000173012071024546012424 00000000000000# serial 17 # Determine whether we need the lchown wrapper. dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl Provide lchown on systems that lack it, and work around bugs dnl on systems that have it. AC_DEFUN([gl_FUNC_LCHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_CHOWN]) AC_CHECK_FUNCS_ONCE([lchmod]) AC_CHECK_FUNCS([lchown]) if test $ac_cv_func_lchown = no; then HAVE_LCHOWN=0 else dnl Trailing slash and ctime bugs in chown also occur in lchown. case "$gl_cv_func_chown_slash_works" in *yes) ;; *) REPLACE_LCHOWN=1 ;; esac case "$gl_cv_func_chown_ctime_works" in *yes) ;; *) REPLACE_LCHOWN=1 ;; esac fi ]) coreutils-8.21/m4/sys_resource_h.m40000664000000000000000000000300612071024546014164 00000000000000# sys_resource_h.m4 serial 2 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_SYS_RESOURCE], [ AC_REQUIRE([gl_SYS_RESOURCE_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/resource.h]) if test $ac_cv_header_sys_resource_h = yes; then HAVE_SYS_RESOURCE_H=1 else HAVE_SYS_RESOURCE_H=0 fi AC_SUBST([HAVE_SYS_RESOURCE_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ #if HAVE_SYS_RESOURCE_H /* At least FreeBSD 5.0 needs extra headers before will compile. */ # include # include # include #endif ]], [getrusage]) ]) AC_DEFUN([gl_SYS_RESOURCE_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_RESOURCE_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_RESOURCE_H_DEFAULTS], [ GNULIB_GETRUSAGE=0; AC_SUBST([GNULIB_GETRUSAGE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_GETRUSAGE=1; AC_SUBST([HAVE_GETRUSAGE]) ]) coreutils-8.21/m4/nl_langinfo.m40000664000000000000000000000352412071024546013423 00000000000000# nl_langinfo.m4 serial 5 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_NL_LANGINFO], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) AC_REQUIRE([gl_LANGINFO_H]) AC_CHECK_FUNCS_ONCE([nl_langinfo]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles if test $ac_cv_func_nl_langinfo = yes; then # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. AC_CACHE_CHECK([whether YESEXPR works], [gl_cv_func_nl_langinfo_yesexpr_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[return !*nl_langinfo(YESEXPR); ]])], [gl_cv_func_nl_langinfo_yesexpr_works=yes], [gl_cv_func_nl_langinfo_yesexpr_works=no], [ case "$host_os" in # Guess no on irix systems. irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";; # Guess yes elsewhere. *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; esac ]) ]) case $gl_cv_func_nl_langinfo_yesexpr_works in *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;; *) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;; esac AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS], [$FUNC_NL_LANGINFO_YESEXPR_WORKS], [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.]) if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then : else REPLACE_NL_LANGINFO=1 AC_DEFINE([REPLACE_NL_LANGINFO], [1], [Define if nl_langinfo exists but is overridden by gnulib.]) fi else HAVE_NL_LANGINFO=0 fi ]) coreutils-8.21/m4/sig_atomic_t.m40000664000000000000000000000110312071024546013565 00000000000000# sig_atomic_t.m4 serial 3 dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gt_TYPE_SIG_ATOMIC_T], [ AC_CHECK_TYPES([sig_atomic_t], , [AC_DEFINE([sig_atomic_t], [int], [Define as an integer type suitable for memory locations that can be accessed atomically even in the presence of asynchronous signals.])], [#include ]) ]) coreutils-8.21/m4/xstrtod.m40000664000000000000000000000065112071024546012642 00000000000000#serial 8 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of lib/xstrtod.c. AC_DEFUN([gl_XSTRTOD], [ : ]) # Prerequisites of lib/xstrtold.c. AC_DEFUN([gl_XSTRTOLD], [ : ]) coreutils-8.21/m4/printf-frexpl.m40000664000000000000000000000332312071024546013732 00000000000000# printf-frexpl.m4 serial 10 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to define printf_frexpl() without linking with libm. AC_DEFUN([gl_FUNC_PRINTF_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) dnl Subset of gl_FUNC_FREXPL_NO_LIBM. gl_CHECK_FREXPL_NO_LIBM if test $gl_cv_func_frexpl_no_libm = yes; then gl_FUNC_FREXPL_WORKS case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no dnl Set REPLACE_FREXPL here because the system may have frexpl in libm. REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then AC_DEFINE([HAVE_FREXPL_IN_LIBC], [1], [Define if the frexpl function is available in libc.]) dnl Also check whether it's declared. dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include ]]) fi gl_CHECK_LDEXPL_NO_LIBM if test $gl_cv_func_ldexpl_no_libm = yes; then gl_FUNC_LDEXPL_WORKS case "$gl_cv_func_ldexpl_works" in *yes) AC_DEFINE([HAVE_LDEXPL_IN_LIBC], [1], [Define if the ldexpl function is available in libc.]) dnl Also check whether it's declared. dnl Mac OS X 10.3 has ldexpl() in libc but doesn't declare it in . AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include ]]) ;; esac fi ]) coreutils-8.21/m4/lcmessage.m40000664000000000000000000000253312071024546013077 00000000000000# lcmessage.m4 serial 7 (gettext-0.18.2) dnl Copyright (C) 1995-2002, 2004-2005, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([gt_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return LC_MESSAGES]])], [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE([HAVE_LC_MESSAGES], [1], [Define if your file defines LC_MESSAGES.]) fi ]) coreutils-8.21/m4/sleep.m40000664000000000000000000000403312071024546012241 00000000000000# sleep.m4 serial 7 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl We expect to see the declaration of sleep() in a header file. dnl Older versions of mingw have a sleep() function that is an alias to dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep(): dnl it takes the number of milliseconds as argument and returns void. dnl mingw does not declare this function. AC_CHECK_DECLS([sleep], , , [[#include ]]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 else dnl Cygwin 1.5.x has a bug where sleep can't exceed 49.7 days. AC_CACHE_CHECK([for working sleep], [gl_cv_func_sleep_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (2); } ]], [[ /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack sleep. */ unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); if (remaining > pentecost) return 3; if (remaining <= pentecost - 10) return 4; return 0; ]])], [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_sleep_works="guessing no" ;; esac ])]) case "$gl_cv_func_sleep_works" in *yes) ;; *) REPLACE_SLEEP=1 ;; esac fi ]) coreutils-8.21/m4/sys_time_h.m40000664000000000000000000000734112071024546013301 00000000000000# Configure a replacement for . # serial 8 # Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Martin Lambers. AC_DEFUN([gl_HEADER_SYS_TIME_H], [ dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 dnl statements that occur in other macros. AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) gl_CHECK_NEXT_HEADERS([sys/time.h]) if test $ac_cv_header_sys_time_h != yes; then HAVE_SYS_TIME_H=0 fi dnl On native Windows with MSVC, 'struct timeval' is defined in dnl only. So include that header in the list. gl_PREREQ_SYS_H_WINSOCK2 AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include #if HAVE_WINSOCK2_H # include #endif ]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])], [gl_cv_sys_struct_timeval=yes], [gl_cv_sys_struct_timeval=no]) ]) if test $gl_cv_sys_struct_timeval != yes; then HAVE_STRUCT_TIMEVAL=0 else dnl On native Windows with a 64-bit 'time_t', 'struct timeval' is defined dnl (in and for mingw64, in only dnl for MSVC) with a tv_sec field of type 'long' (32-bit!), which is dnl smaller than the 'time_t' type mandated by POSIX. dnl On OpenBSD 5.1 amd64, tv_sec is 64 bits and time_t 32 bits, but dnl that is good enough. AC_CACHE_CHECK([for wide-enough struct timeval.tv_sec member], [gl_cv_sys_struct_timeval_tv_sec], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include #if HAVE_WINSOCK2_H # include #endif ]], [[static struct timeval x; typedef int verify_tv_sec_type[ sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 ]; ]])], [gl_cv_sys_struct_timeval_tv_sec=yes], [gl_cv_sys_struct_timeval_tv_sec=no]) ]) if test $gl_cv_sys_struct_timeval_tv_sec != yes; then REPLACE_STRUCT_TIMEVAL=1 fi fi dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[ #if HAVE_SYS_TIME_H # include #endif #include ]], [gettimeofday]) ]) AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], [ GNULIB_GETTIMEOFDAY=0; AC_SUBST([GNULIB_GETTIMEOFDAY]) dnl Assume POSIX behavior unless another module says otherwise. HAVE_GETTIMEOFDAY=1; AC_SUBST([HAVE_GETTIMEOFDAY]) HAVE_STRUCT_TIMEVAL=1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) HAVE_SYS_TIME_H=1; AC_SUBST([HAVE_SYS_TIME_H]) REPLACE_GETTIMEOFDAY=0; AC_SUBST([REPLACE_GETTIMEOFDAY]) REPLACE_STRUCT_TIMEVAL=0; AC_SUBST([REPLACE_STRUCT_TIMEVAL]) ]) coreutils-8.21/m4/getline.m40000664000000000000000000000563712071024546012573 00000000000000# getline.m4 serial 26 dnl Copyright (C) 1998-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) dnl See if there's a working, system-supplied version of the getline function. dnl We can't just do AC_REPLACE_FUNCS([getline]) because some systems dnl have a function by that name in -linet that doesn't have anything dnl to do with the function we need. AC_DEFUN([gl_FUNC_GETLINE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getline(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([getline]) gl_getline_needs_run_time_check=no AC_CHECK_FUNC([getline], [dnl Found it in some library. Verify that it works. gl_getline_needs_run_time_check=yes], [am_cv_func_working_getline=no]) if test $gl_getline_needs_run_time_check = yes; then AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline], [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data AC_RUN_IFELSE([AC_LANG_SOURCE([[ # include # include # include int main () { FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; { /* Test result for a NULL buffer and a zero size. Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len = getline (&line, &siz, in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) return 2; } { /* Test result for a NULL buffer and a non-zero size. This crashes on FreeBSD 8.0. */ char *line = NULL; size_t siz = (size_t)(~0) / 4; if (getline (&line, &siz, in) == -1) return 3; } return 0; } ]])], [am_cv_func_working_getline=yes] dnl The library version works. , [am_cv_func_working_getline=no] dnl The library version does NOT work. , dnl We're cross compiling. Assume it works on glibc2 systems. [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif ], [am_cv_func_working_getline="guessing yes"], [am_cv_func_working_getline="guessing no"])] )]) fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi case "$am_cv_func_working_getline" in *no) dnl Set REPLACE_GETLINE always: Even if we have not found the broken dnl getline function among $LIBS, it may exist in libinet and the dnl executable may be linked with -linet. REPLACE_GETLINE=1 ;; esac ]) # Prerequisites of lib/getline.c. AC_DEFUN([gl_PREREQ_GETLINE], [ : ]) coreutils-8.21/m4/mkstemp.m40000664000000000000000000000535612071024546012622 00000000000000#serial 23 # Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a # silly limit that it can create no more than 26 files from a given template. # Other systems lack mkstemp altogether. # On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create # only 32 files per process. # On some hosts, mkstemp creates files with mode 0666, which is a security # problem and a violation of POSIX 2008. # On systems like the above, arrange to use the replacement function. AC_DEFUN([gl_FUNC_MKSTEMP], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([mkstemp]) if test $ac_cv_func_mkstemp = yes; then AC_CACHE_CHECK([for working mkstemp], [gl_cv_func_working_mkstemp], [ mkdir conftest.mkstemp AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[int result = 0; int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; umask (0); for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0) result |= 1; else { struct stat st; if (lseek (fd, large, SEEK_SET) != large) result |= 2; if (fstat (fd, &st) < 0) result |= 4; else if (st.st_mode & 0077) result |= 8; if (close (fd)) result |= 16; } } return result;]])], [gl_cv_func_working_mkstemp=yes], [gl_cv_func_working_mkstemp=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_mkstemp="guessing no" ;; esac ]) rm -rf conftest.mkstemp ]) case "$gl_cv_func_working_mkstemp" in *yes) ;; *) REPLACE_MKSTEMP=1 ;; esac else HAVE_MKSTEMP=0 fi ]) # Prerequisites of lib/mkstemp.c. AC_DEFUN([gl_PREREQ_MKSTEMP], [ ]) coreutils-8.21/m4/gettimeofday.m40000664000000000000000000001172512071024546013620 00000000000000# serial 20 # Copyright (C) 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_GETTIMEOFDAY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([gettimeofday]) gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 else gl_FUNC_GETTIMEOFDAY_CLOBBER AC_CACHE_CHECK([for gettimeofday with POSIX signature], [gl_cv_func_gettimeofday_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include struct timeval c; int gettimeofday (struct timeval *restrict, void *restrict); ]], [[/* glibc uses struct timezone * rather than the POSIX void * if _GNU_SOURCE is defined. However, since the only portable use of gettimeofday uses NULL as the second parameter, and since the glibc definition is actually more typesafe, it is not worth wrapping this to get a compliant signature. */ int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ]])], [gl_cv_func_gettimeofday_posix_signature=yes], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int gettimeofday (struct timeval *restrict, struct timezone *restrict); ]])], [gl_cv_func_gettimeofday_posix_signature=almost], [gl_cv_func_gettimeofday_posix_signature=no])])]) if test $gl_cv_func_gettimeofday_posix_signature = almost; then gl_gettimeofday_timezone='struct timezone' elif test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 fi dnl If we override 'struct timeval', we also have to override gettimeofday. if test $REPLACE_STRUCT_TIMEVAL = 1; then REPLACE_GETTIMEOFDAY=1 fi m4_ifdef([gl_FUNC_TZSET_CLOBBER], [ gl_FUNC_TZSET_CLOBBER case "$gl_cv_func_tzset_clobber" in *yes) REPLACE_GETTIMEOFDAY=1 gl_GETTIMEOFDAY_REPLACE_LOCALTIME AC_DEFINE([tzset], [rpl_tzset], [Define to rpl_tzset if the wrapper function should be used.]) AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1], [Define if tzset clobbers localtime's static buffer.]) ;; esac ]) fi AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone], [Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday.]) ]) dnl See if gettimeofday clobbers the static buffer that localtime uses dnl for its return value. The gettimeofday function from Mac OS X 10.0.4 dnl (i.e., Darwin 1.3.7) has this problem. dnl dnl If it does, then arrange to use gettimeofday and localtime only via dnl the wrapper functions that work around the problem. AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], [gl_cv_func_gettimeofday_clobber], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include ]], [[ time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ]])], [gl_cv_func_gettimeofday_clobber=no], [gl_cv_func_gettimeofday_clobber=yes], [# When cross-compiling: case "$host_os" in # Guess all is fine on glibc systems. *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # If we don't know, assume the worst. *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; esac ])]) case "$gl_cv_func_gettimeofday_clobber" in *yes) REPLACE_GETTIMEOFDAY=1 gl_GETTIMEOFDAY_REPLACE_LOCALTIME AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1], [Define if gettimeofday clobbers the localtime buffer.]) ;; esac ]) AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ AC_DEFINE([gmtime], [rpl_gmtime], [Define to rpl_gmtime if the replacement function should be used.]) AC_DEFINE([localtime], [rpl_localtime], [Define to rpl_localtime if the replacement function should be used.]) ]) # Prerequisites of lib/gettimeofday.c. AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [ AC_CHECK_HEADERS([sys/timeb.h]) AC_CHECK_FUNCS([_ftime]) ]) coreutils-8.21/m4/rmdir.m40000664000000000000000000000301612071024546012246 00000000000000# rmdir.m4 serial 13 dnl Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RMDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Detect cygwin 1.5.x bug. AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works], [mkdir conftest.dir touch conftest.file AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include #endif ]], [[int result = 0; if (!rmdir ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; if (!rmdir ("conftest.dir/./")) result |= 4; return result; ]])], [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rmdir_works="guessing no" ;; esac ]) rm -rf conftest.dir conftest.file]) case "$gl_cv_func_rmdir_works" in *yes) ;; *) REPLACE_RMDIR=1 ;; esac ]) coreutils-8.21/m4/sockets.m40000664000000000000000000000070712071024546012610 00000000000000# sockets.m4 serial 7 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SOCKETS], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_SOCKETLIB]) gl_PREREQ_SOCKETS ]) # Prerequisites of lib/sockets.c. AC_DEFUN([gl_PREREQ_SOCKETS], [ : ]) coreutils-8.21/m4/link-follow.m40000664000000000000000000001027112071024546013367 00000000000000# serial 19 dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. # Copyright (C) 1999-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl This macro can be used to emulate POSIX linkat. If dnl LINK_FOLLOWS_SYMLINKS is 0, link matches linkat(,0), and dnl linkat(,AT_SYMLINK_FOLLOW) requires a readlink. If it is 1, dnl link matches linkat(,AT_SYMLINK_FOLLOW), and there is no way dnl to do linkat(,0) on symlinks (on all other file types, dnl link() is sufficient). If it is -1, use a Solaris specific dnl runtime test. If it is -2, use a generic runtime test. AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK], [dnl AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([readlink]) dnl Mingw lacks link, although gnulib provides a good replacement. dnl However, it also lacks symlink, so there's nothing to test in dnl the first place, and no reason to need to distinguish between dnl linkat variants. So, we set LINK_FOLLOWS_SYMLINKS to 0. gl_link_follows_symlinks=0 # assume GNU behavior if test $ac_cv_func_readlink = yes; then dnl Solaris has an __xpg4 variable in libc, and it determines the dnl behaviour of link(): It dereferences a symlink if and only if dnl __xpg4 != 0. AC_CACHE_CHECK([for __xpg4], [gl_cv_have___xpg4], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[extern int __xpg4;]], [[return __xpg4;]])], [gl_cv_have___xpg4=yes], [gl_cv_have___xpg4=no]) ]) if test $gl_cv_have___xpg4 = yes; then gl_link_follows_symlinks=-1 else AC_CACHE_CHECK([whether link(2) dereferences a symlink], [gl_cv_func_link_follows_symlink], [ # Create a regular file. echo > conftest.file AC_RUN_IFELSE( [AC_LANG_SOURCE([[ # include # include # include # include # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) int main () { const char *file = "conftest.file"; const char *sym = "conftest.sym"; const char *hard = "conftest.hard"; struct stat sb_file, sb_hard; /* Create a symlink to the regular file. */ if (symlink (file, sym)) return 2; /* Create a hard link to that symlink. */ if (link (sym, hard)) return 3; if (lstat (hard, &sb_hard)) return 4; if (lstat (file, &sb_file)) return 5; /* If the dev/inode of hard and file are the same, then the link call followed the symlink. */ return SAME_INODE (sb_hard, sb_file) ? 1 : 0; } ]])], [gl_cv_func_link_follows_symlink=no], dnl GNU behavior [gl_cv_func_link_follows_symlink=yes], dnl Followed link/compile failed [dnl We're cross compiling. dnl The past results are "yes" on Mac OS X, FreeBSD, NetBSD, dnl OpenBSD, Minix, AIX, HP-UX, OSF/1, and "no" on Linux, Cygwin. case "$host_os" in # On glibc/Linux we know the result. linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;; # Otherwise, we don't know. *) gl_cv_func_link_follows_symlink=unknown ;; esac ]) rm -f conftest.file conftest.sym conftest.hard ]) case "$gl_cv_func_link_follows_symlink" in *yes) gl_link_follows_symlinks=1 ;; *no) ;; # already defaulted to 0 *) gl_link_follows_symlinks=-2 ;; esac fi fi AC_DEFINE_UNQUOTED([LINK_FOLLOWS_SYMLINKS], [$gl_link_follows_symlinks], [Define to 1 if 'link(2)' dereferences symbolic links, 0 if it creates hard links to symlinks, -1 if it depends on the variable __xpg4, and -2 if unknown.]) ]) coreutils-8.21/m4/sys_uio_h.m40000664000000000000000000000165412071024546013140 00000000000000# sys_uio_h.m4 serial 1 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_SYS_UIO], [ AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/uio.h]) if test $ac_cv_header_sys_uio_h = yes; then HAVE_SYS_UIO_H=1 else HAVE_SYS_UIO_H=0 fi AC_SUBST([HAVE_SYS_UIO_H]) ]) AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_UIO_H_DEFAULTS], [ ]) coreutils-8.21/m4/fchownat.m40000664000000000000000000000706512071024546012752 00000000000000# fchownat.m4 serial 1 dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. # If we have the fchownat function, and it has the bug (in glibc-2.4) # that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then # use the replacement function. # Also if the fchownat function, like chown, has the trailing slash bug, # use the replacement function. # Also use the replacement function if fchownat is simply not available. AC_DEFUN([gl_FUNC_FCHOWNAT], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_FUNC_CHOWN]) AC_CHECK_FUNC([fchownat], [gl_FUNC_FCHOWNAT_DEREF_BUG( [REPLACE_FCHOWNAT=1 AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], [Define to 1 if your platform has fchownat, but it cannot perform lchown tasks.]) ]) gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG( [REPLACE_FCHOWNAT=1 AC_DEFINE([FCHOWNAT_EMPTY_FILENAME_BUG], [1], [Define to 1 if your platform has fchownat, but it does not reject an empty file name.]) ]) if test $REPLACE_CHOWN = 1; then REPLACE_FCHOWNAT=1 fi], [HAVE_FCHOWNAT=0]) ]) # gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], [ dnl Persuade glibc's to declare fchownat(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], gl_cv_func_fchownat_nofollow_works, [ gl_dangle=conftest.dangle # Remove any remnants of a previous test. rm -f $gl_dangle # Arrange for deletion of the temporary file this test creates. ac_clean_files="$ac_clean_files $gl_dangle" ln -s conftest.no-such $gl_dangle AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #include #include #include int main () { return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), AT_SYMLINK_NOFOLLOW) != 0 && errno == ENOENT); } ]])], [gl_cv_func_fchownat_nofollow_works=yes], [gl_cv_func_fchownat_nofollow_works=no], [gl_cv_func_fchownat_nofollow_works=no], ) ]) AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) ]) # gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], [ dnl Persuade glibc's to declare fchownat(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([whether fchownat works with an empty file name], [gl_cv_func_fchownat_empty_filename_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[int fd; int ret; if (mkdir ("conftestdir", 0700) < 0) return 2; fd = open ("conftestdir", O_RDONLY); if (fd < 0) return 3; ret = fchownat (fd, "", -1, -1, 0); close (fd); rmdir ("conftestdir"); return ret == 0; ]])], [gl_cv_func_fchownat_empty_filename_works=yes], [gl_cv_func_fchownat_empty_filename_works=no], [gl_cv_func_fchownat_empty_filename_works="guessing no"]) ]) AS_IF([test "$gl_cv_func_fchownat_empty_filename_works" != yes], [$1], [$2]) ]) coreutils-8.21/m4/posixtm.m40000664000000000000000000000056712071024546012644 00000000000000# posixtm.m4 serial 8 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_POSIXTM], [ dnl No prerequisites of lib/posixtm.c. : ]) coreutils-8.21/m4/yield.m40000664000000000000000000000135712071024546012245 00000000000000# yield.m4 serial 2 dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_YIELD], [ AC_REQUIRE([gl_THREADLIB]) dnl On some systems, sched_yield is in librt, rather than in libpthread. YIELD_LIB= if test $gl_threads_api = posix; then dnl Solaris has sched_yield in librt, not in libpthread or libc. AC_CHECK_LIB([rt], [sched_yield], [YIELD_LIB=-lrt], [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt. AC_CHECK_LIB([posix4], [sched_yield], [YIELD_LIB=-lposix4])]) fi AC_SUBST([YIELD_LIB]) ]) coreutils-8.21/m4/fdopen.m40000664000000000000000000000246112071024546012407 00000000000000# fdopen.m4 serial 3 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDOPEN], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_FDOPEN=1 else dnl Test whether fdopen() sets errno when it fails due to a bad fd argument. AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include int main (void) { FILE *fp; errno = 0; fp = fdopen (-1, "r"); if (fp == NULL && errno == 0) return 1; return 0; }]])], [gl_cv_func_fdopen_works=yes], [gl_cv_func_fdopen_works=no], [case "$host_os" in mingw*) gl_cv_func_fdopen_works="guessing no" ;; *) gl_cv_func_fdopen_works="guessing yes" ;; esac ]) ]) case "$gl_cv_func_fdopen_works" in *no) REPLACE_FDOPEN=1 ;; esac fi ]) dnl Prerequisites of lib/fdopen.c. AC_DEFUN([gl_PREREQ_FDOPEN], []) coreutils-8.21/m4/stat-prog.m40000664000000000000000000000623112102337340013045 00000000000000# stat-prog.m4 serial 7 # Record the prerequisites of src/stat.c from the coreutils package. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([cu_PREREQ_STAT_PROG], [ AC_REQUIRE([gl_FSUSAGE]) AC_REQUIRE([gl_FSTYPENAME]) AC_CHECK_HEADERS_ONCE([OS.h netinet/in.h sys/param.h sys/vfs.h]) dnl Check for vfs.h first, since this avoids a warning with nfs_client.h dnl on Solaris 8. test $ac_cv_header_sys_param_h = yes && test $ac_cv_header_sys_mount_h = yes && AC_CHECK_HEADERS([nfs/vfs.h], [AC_CHECK_HEADERS([nfs/nfs_client.h])]) statvfs_includes="\ AC_INCLUDES_DEFAULT #include " statfs_includes="\ AC_INCLUDES_DEFAULT #if HAVE_SYS_VFS_H # include #elif HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H # include # include # if HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H # include # include # include # endif #elif HAVE_OS_H # include #endif " dnl Keep this long conditional in sync with the USE_STATVFS conditional dnl in ../src/stat.c. if case "$fu_cv_sys_stat_statvfs$fu_cv_sys_stat_statvfs64" in *yes*) ;; *) false;; esac && { AC_CHECK_MEMBERS([struct statvfs.f_basetype],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_basetype = yes || { AC_CHECK_MEMBERS([struct statvfs.f_fstypename],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_fstypename = yes || { test $ac_cv_member_struct_statfs_f_fstypename != yes && { AC_CHECK_MEMBERS([struct statvfs.f_type],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_type = yes; }; }; }; } then AC_CHECK_MEMBERS([struct statvfs.f_namemax],,, [$statvfs_includes]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [$statvfs_includes], [static statvfs s; return (s.s_fsid ^ 0) == 0;])], [AC_DEFINE([STRUCT_STATVFS_F_FSID_IS_INTEGER], [1], [Define to 1 if the f_fsid member of struct statvfs is an integer.])]) else AC_CHECK_MEMBERS([struct statfs.f_namelen, struct statfs.f_type, struct statfs.f_frsize],,, [$statfs_includes]) if test $ac_cv_header_OS_h != yes; then AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [$statfs_includes], [static statfs s; return (s.s_fsid ^ 0) == 0;])], [AC_DEFINE([STRUCT_STATFS_F_FSID_IS_INTEGER], [1], [Define to 1 if the f_fsid member of struct statfs is an integer.])]) fi fi ]) coreutils-8.21/m4/rewinddir.m40000664000000000000000000000070212071024546013117 00000000000000# rewinddir.m4 serial 1 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_REWINDDIR], [ AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) AC_CHECK_FUNCS([rewinddir]) if test $ac_cv_func_rewinddir = no; then HAVE_REWINDDIR=0 fi ]) coreutils-8.21/m4/fileblocks.m40000664000000000000000000000147612071024546013256 00000000000000# fileblocks.m4 serial 6 dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILEBLOCKS], [ m4_pushdef([AC_LIBOBJ], [:]) dnl Note: AC_STRUCT_ST_BLOCKS does AC_LIBOBJ([fileblocks]). AC_STRUCT_ST_BLOCKS m4_popdef([AC_LIBOBJ]) dnl The stat-size module depends on this one and also assumes that dnl HAVE_STRUCT_STAT_ST_BLOCKS is correctly defined. So if you dnl remove the call above, please make sure that this does not dnl introduce a bug into lib/stat-size.h. ]) # Prerequisites of lib/fileblocks.c. AC_DEFUN([gl_PREREQ_FILEBLOCKS], [ AC_CHECK_HEADERS_ONCE([sys/param.h]) : ]) coreutils-8.21/m4/locale-ja.m40000664000000000000000000001260312071024546012762 00000000000000# locale-ja.m4 serial 12 dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a japanese locale with EUC-JP encoding. AC_DEFUN([gt_LOCALE_JA], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* ]) LOCALE_JA=$gt_cv_locale_ja AC_SUBST([LOCALE_JA]) ]) coreutils-8.21/m4/fsync.m40000664000000000000000000000076412071024546012262 00000000000000# fsync.m4 serial 2 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSYNC], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fsync]) if test $ac_cv_func_fsync = no; then HAVE_FSYNC=0 fi ]) # Prerequisites of lib/fsync.c. AC_DEFUN([gl_PREREQ_FSYNC], [:]) coreutils-8.21/m4/chown.m40000664000000000000000000001461312071024546012254 00000000000000# serial 27 # Determine whether we need the chown wrapper. dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2013 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # chown should accept arguments of -1 for uid and gid, and it should # dereference symlinks. If it doesn't, arrange to use the replacement # function. # From Jim Meyering. m4_version_prereq([2.70], [] ,[ # This is taken from the following Autoconf patch: # http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9 AC_DEFUN([AC_FUNC_CHOWN], [ AC_REQUIRE([AC_TYPE_UID_T])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles AC_CHECK_HEADERS([unistd.h]) AC_CACHE_CHECK([for working chown], [ac_cv_func_chown_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT [#include ]], [[ char *f = "conftest.chown"; struct stat before, after; if (creat (f, 0600) < 0) return 1; if (stat (f, &before) < 0) return 1; if (chown (f, (uid_t) -1, (gid_t) -1) == -1) return 1; if (stat (f, &after) < 0) return 1; return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); ]]) ], [ac_cv_func_chown_works=yes], [ac_cv_func_chown_works=no], [case "$host_os" in # (( # Guess yes on glibc systems. *-gnu*) ac_cv_func_chown_works=yes ;; # If we don't know, assume the worst. *) ac_cv_func_chown_works=no ;; esac ]) rm -f conftest.chown ]) if test $ac_cv_func_chown_works = yes; then AC_DEFINE([HAVE_CHOWN], [1], [Define to 1 if your system has a working `chown' function.]) fi ])# AC_FUNC_CHOWN ]) AC_DEFUN_ONCE([gl_FUNC_CHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_UID_T]) AC_REQUIRE([AC_FUNC_CHOWN]) AC_REQUIRE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([chown fchown]) dnl mingw lacks chown altogether. if test $ac_cv_func_chown = no; then HAVE_CHOWN=0 else dnl Some old systems treated chown like lchown. if test $gl_cv_func_chown_follows_symlink = no; then REPLACE_CHOWN=1 fi dnl Some old systems tried to use uid/gid -1 literally. if test $ac_cv_func_chown_works = no; then AC_DEFINE([CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE], [1], [Define if chown is not POSIX compliant regarding IDs of -1.]) REPLACE_CHOWN=1 fi dnl Solaris 9 ignores trailing slash. dnl FreeBSD 7.2 mishandles trailing slash on symlinks. dnl Likewise for AIX 7.1. AC_CACHE_CHECK([whether chown honors trailing slash], [gl_cv_func_chown_slash_works], [touch conftest.file && rm -f conftest.link AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include ]], [[ if (symlink ("conftest.file", "conftest.link")) return 1; if (chown ("conftest.link/", getuid (), getgid ()) == 0) return 2; ]])], [gl_cv_func_chown_slash_works=yes], [gl_cv_func_chown_slash_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_chown_slash_works="guessing no" ;; esac ]) rm -f conftest.link conftest.file]) case "$gl_cv_func_chown_slash_works" in *yes) ;; *) AC_DEFINE([CHOWN_TRAILING_SLASH_BUG], [1], [Define to 1 if chown mishandles trailing slash.]) REPLACE_CHOWN=1 ;; esac dnl OpenBSD fails to update ctime if ownership does not change. AC_CACHE_CHECK([whether chown always updates ctime], [gl_cv_func_chown_ctime_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include #include #include #include ]], [[ struct stat st1, st2; if (close (creat ("conftest.file", 0600))) return 1; if (stat ("conftest.file", &st1)) return 2; sleep (1); if (chown ("conftest.file", st1.st_uid, st1.st_gid)) return 3; if (stat ("conftest.file", &st2)) return 4; if (st2.st_ctime <= st1.st_ctime) return 5; ]])], [gl_cv_func_chown_ctime_works=yes], [gl_cv_func_chown_ctime_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_chown_ctime_works="guessing no" ;; esac ]) rm -f conftest.file]) case "$gl_cv_func_chown_ctime_works" in *yes) ;; *) AC_DEFINE([CHOWN_CHANGE_TIME_BUG], [1], [Define to 1 if chown fails to change ctime when at least one argument was not -1.]) REPLACE_CHOWN=1 ;; esac fi ]) # Determine whether chown follows symlinks (it should). AC_DEFUN_ONCE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK], [ AC_CACHE_CHECK( [whether chown dereferences symlinks], [gl_cv_func_chown_follows_symlink], [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include int main () { int result = 0; char const *dangling_symlink = "conftest.dangle"; unlink (dangling_symlink); if (symlink ("conftest.no-such", dangling_symlink)) abort (); /* Exit successfully on a conforming system, i.e., where chown must fail with ENOENT. */ if (chown (dangling_symlink, getuid (), getgid ()) == 0) result |= 1; if (errno != ENOENT) result |= 2; return result; } ]])], [gl_cv_func_chown_follows_symlink=yes], [gl_cv_func_chown_follows_symlink=no], [gl_cv_func_chown_follows_symlink=yes] ) ] ) if test $gl_cv_func_chown_follows_symlink = no; then AC_DEFINE([CHOWN_MODIFIES_SYMLINK], [1], [Define if chown modifies symlinks.]) fi ]) coreutils-8.21/m4/getdelim.m40000664000000000000000000000471412071024546012731 00000000000000# getdelim.m4 serial 10 dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) AC_DEFUN([gl_FUNC_GETDELIM], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getdelim(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([getdelim]) AC_CHECK_FUNCS_ONCE([getdelim]) if test $ac_cv_func_getdelim = yes; then HAVE_GETDELIM=1 dnl Found it in some library. Verify that it works. AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim], [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data AC_RUN_IFELSE([AC_LANG_SOURCE([[ # include # include # include int main () { FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; { /* Test result for a NULL buffer and a zero size. Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len = getdelim (&line, &siz, '\n', in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) return 2; } { /* Test result for a NULL buffer and a non-zero size. This crashes on FreeBSD 8.0. */ char *line = NULL; size_t siz = (size_t)(~0) / 4; if (getdelim (&line, &siz, '\n', in) == -1) return 3; } return 0; } ]])], [gl_cv_func_working_getdelim=yes] dnl The library version works. , [gl_cv_func_working_getdelim=no] dnl The library version does NOT work. , dnl We're cross compiling. Assume it works on glibc2 systems. [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif ], [gl_cv_func_working_getdelim="guessing yes"], [gl_cv_func_working_getdelim="guessing no"])] )]) case "$gl_cv_func_working_getdelim" in *no) REPLACE_GETDELIM=1 ;; esac else HAVE_GETDELIM=0 fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi ]) # Prerequisites of lib/getdelim.c. AC_DEFUN([gl_PREREQ_GETDELIM], [ AC_CHECK_FUNCS([flockfile funlockfile]) AC_CHECK_DECLS([getc_unlocked]) ]) coreutils-8.21/m4/vasprintf.m40000664000000000000000000000210012071024546013136 00000000000000# vasprintf.m4 serial 6 dnl Copyright (C) 2002-2003, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASPRINTF], [ AC_CHECK_FUNCS([vasprintf]) if test $ac_cv_func_vasprintf = no; then gl_REPLACE_VASPRINTF fi ]) AC_DEFUN([gl_REPLACE_VASPRINTF], [ AC_LIBOBJ([vasprintf]) AC_LIBOBJ([asprintf]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi gl_PREREQ_VASPRINTF_H gl_PREREQ_VASPRINTF gl_PREREQ_ASPRINTF ]) # Prerequisites of the vasprintf portion of lib/stdio.h. AC_DEFUN([gl_PREREQ_VASPRINTF_H], [ dnl Persuade glibc to declare asprintf() and vasprintf(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) # Prerequisites of lib/vasprintf.c. AC_DEFUN([gl_PREREQ_VASPRINTF], [ ]) # Prerequisites of lib/asprintf.c. AC_DEFUN([gl_PREREQ_ASPRINTF], [ ]) coreutils-8.21/m4/idcache.m40000664000000000000000000000051612071024546012513 00000000000000# idcache.m4 serial 7 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_IDCACHE], [ : ]) coreutils-8.21/m4/iconv_open.m40000664000000000000000000000367112071024546013277 00000000000000# iconv_open.m4 serial 14 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ICONV_OPEN], [ AC_REQUIRE([AM_ICONV]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test "$am_cv_func_iconv" = yes; then dnl Provide the override, for the sake of the C++ aliases. gl_REPLACE_ICONV_H dnl Test whether iconv_open accepts standardized encoding names. dnl We know that GNU libiconv and GNU libc do. AC_EGREP_CPP([gnu_iconv], [ #include #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__) gnu_iconv #endif ], [gl_func_iconv_gnu=yes], [gl_func_iconv_gnu=no]) if test $gl_func_iconv_gnu = no; then iconv_flavor= case "$host_os" in aix*) iconv_flavor=ICONV_FLAVOR_AIX ;; irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;; hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;; osf*) iconv_flavor=ICONV_FLAVOR_OSF ;; solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;; esac if test -n "$iconv_flavor"; then AC_DEFINE_UNQUOTED([ICONV_FLAVOR], [$iconv_flavor], [Define to a symbolic name denoting the flavor of iconv_open() implementation.]) gl_REPLACE_ICONV_OPEN fi fi m4_ifdef([gl_FUNC_ICONV_OPEN_UTF_SUPPORT], [ gl_FUNC_ICONV_OPEN_UTF_SUPPORT if test $gl_cv_func_iconv_supports_utf = no; then REPLACE_ICONV_UTF=1 AC_DEFINE([REPLACE_ICONV_UTF], [1], [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.]) REPLACE_ICONV=1 gl_REPLACE_ICONV_OPEN fi ]) fi ]) AC_DEFUN([gl_REPLACE_ICONV_OPEN], [ gl_REPLACE_ICONV_H REPLACE_ICONV_OPEN=1 ]) coreutils-8.21/m4/perl.m40000664000000000000000000000256712071024546012105 00000000000000# serial 9 dnl From Jim Meyering. dnl Find a new-enough version of Perl. # Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PERL], [ dnl FIXME: don't hard-code 5.005 AC_MSG_CHECKING([for perl5.005 or newer]) if test "${PERL+set}" = set; then # 'PERL' is set in the user's environment. candidate_perl_names="$PERL" perl_specified=yes else candidate_perl_names='perl perl5' perl_specified=no fi found=no AC_SUBST([PERL]) PERL="$am_missing_run perl" for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare' ) > /dev/null 2>&1; then PERL=$perl found=yes break fi done AC_MSG_RESULT([$found]) test $found = no && AC_MSG_WARN([ WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. ] ) ]) coreutils-8.21/m4/manywarnings.m40000664000000000000000000001417312071024546013654 00000000000000# manywarnings.m4 serial 5 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) # -------------------------------------------------- # Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. # Elements separated by whitespace. In set logic terms, the function # does OUTVAR = LISTVAR \ REMOVEVAR. AC_DEFUN([gl_MANYWARN_COMPLEMENT], [ gl_warn_set= set x $2; shift for gl_warn_item do case " $3 " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done $1=$gl_warn_set ]) # gl_MANYWARN_ALL_GCC(VARIABLE) # ----------------------------- # Add all documented GCC warning parameters to variable VARIABLE. # Note that you need to test them using gl_WARN_ADD if you want to # make sure your gcc understands it. AC_DEFUN([gl_MANYWARN_ALL_GCC], [ dnl First, check for some issues that only occur when combining multiple dnl gcc warning categories. AC_REQUIRE([AC_PROG_CC]) if test -n "$GCC"; then dnl Check if -W -Werror -Wno-missing-field-initializers is supported dnl with the current $CC $CFLAGS $CPPFLAGS. AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported]) AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [gl_cv_cc_nomfi_supported=yes], [gl_cv_cc_nomfi_supported=no]) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_nomfi_supported]) if test "$gl_cv_cc_nomfi_supported" = yes; then dnl Now check whether -Wno-missing-field-initializers is needed dnl for the { 0, } construct. AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed]) AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[void f (void) { typedef struct { int a; int b; } s_t; s_t s1 = { 0, }; } ]], [[]])], [gl_cv_cc_nomfi_needed=no], [gl_cv_cc_nomfi_needed=yes]) CFLAGS="$gl_save_CFLAGS" ]) AC_MSG_RESULT([$gl_cv_cc_nomfi_needed]) fi dnl Next, check if -Werror -Wuninitialized is useful with the dnl user's choice of $CFLAGS; some versions of gcc warn that it dnl has no effect if -O is not also used AC_MSG_CHECKING([whether -Wuninitialized is supported]) AC_CACHE_VAL([gl_cv_cc_uninitialized_supported], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror -Wuninitialized" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [gl_cv_cc_uninitialized_supported=yes], [gl_cv_cc_uninitialized_supported=no]) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported]) fi # List all gcc warning categories. gl_manywarn_set= for gl_manywarn_item in \ -W \ -Wabi \ -Waddress \ -Wall \ -Warray-bounds \ -Wattributes \ -Wbad-function-cast \ -Wbuiltin-macro-redefined \ -Wcast-align \ -Wchar-subscripts \ -Wclobbered \ -Wcomment \ -Wcomments \ -Wcoverage-mismatch \ -Wcpp \ -Wdeprecated \ -Wdeprecated-declarations \ -Wdisabled-optimization \ -Wdiv-by-zero \ -Wdouble-promotion \ -Wempty-body \ -Wendif-labels \ -Wenum-compare \ -Wextra \ -Wformat-contains-nul \ -Wformat-extra-args \ -Wformat-nonliteral \ -Wformat-security \ -Wformat-y2k \ -Wformat-zero-length \ -Wformat=2 \ -Wfree-nonheap-object \ -Wignored-qualifiers \ -Wimplicit \ -Wimplicit-function-declaration \ -Wimplicit-int \ -Winit-self \ -Winline \ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ -Wjump-misses-init \ -Wlogical-op \ -Wmain \ -Wmaybe-uninitialized \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ -Wmissing-format-attribute \ -Wmissing-include-dirs \ -Wmissing-noreturn \ -Wmissing-parameter-type \ -Wmissing-prototypes \ -Wmudflap \ -Wmultichar \ -Wnarrowing \ -Wnested-externs \ -Wnonnull \ -Wnormalized=nfc \ -Wold-style-declaration \ -Wold-style-definition \ -Woverflow \ -Woverlength-strings \ -Woverride-init \ -Wpacked \ -Wpacked-bitfield-compat \ -Wparentheses \ -Wpointer-arith \ -Wpointer-sign \ -Wpointer-to-int-cast \ -Wpragmas \ -Wreturn-type \ -Wsequence-point \ -Wshadow \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wstrict-prototypes \ -Wsuggest-attribute=const \ -Wsuggest-attribute=format \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ -Wswitch \ -Wswitch-default \ -Wsync-nand \ -Wsystem-headers \ -Wtrampolines \ -Wtrigraphs \ -Wtype-limits \ -Wuninitialized \ -Wunknown-pragmas \ -Wunreachable-code \ -Wunsafe-loop-optimizations \ -Wunused \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ -Wunused-function \ -Wunused-label \ -Wunused-local-typedefs \ -Wunused-macros \ -Wunused-parameter \ -Wunused-result \ -Wunused-value \ -Wunused-variable \ -Wvarargs \ -Wvariadic-macros \ -Wvector-operation-performance \ -Wvla \ -Wvolatile-register-var \ -Wwrite-strings \ \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" fi if test "$gl_cv_cc_uninitialized_supported" = no; then gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" fi $1=$gl_manywarn_set ]) coreutils-8.21/m4/quote.m40000664000000000000000000000057312071024546012273 00000000000000# quote.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTE], [ dnl Prerequisites of lib/quote.c. dnl (none) : ]) coreutils-8.21/m4/fpending.m40000664000000000000000000001030712071024546012724 00000000000000# serial 19 # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Using code from emacs, based on suggestions from Paul Eggert dnl and Ulrich Drepper. dnl Find out how to determine the number of pending output bytes on a stream. dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems, dnl we have to grub around in the FILE struct. AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h]) AC_CHECK_FUNCS_ONCE([__fpending]) fp_headers=' # include # if HAVE_STDIO_EXT_H # include # endif ' AC_CHECK_DECLS([__fpending], , , $fp_headers) ]) AC_DEFUN([gl_PREREQ_FPENDING], [ AC_CACHE_CHECK( [how to determine the number of pending output bytes on a stream], ac_cv_sys_pending_output_n_bytes, [ for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# Minix' \ 'fp->_ptr - fp->_buf' \ \ '# Plan9' \ 'fp->wp - fp->buf' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[FILE *fp = stdin; (void) ($ac_expr);]])], [fp_done=yes] ) test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr ] ) AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES], $ac_cv_sys_pending_output_n_bytes, [the number of pending output bytes on stream 'fp']) ]) coreutils-8.21/m4/pthread.m40000664000000000000000000000554112071024546012565 00000000000000# pthread.m4 serial 7 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PTHREAD_CHECK], [ AC_REQUIRE([gl_PTHREAD_DEFAULTS]) gl_CHECK_NEXT_HEADERS([pthread.h]) if test $ac_cv_header_pthread_h = yes; then HAVE_PTHREAD_H=1 else HAVE_PTHREAD_H=0 fi AC_CHECK_TYPES([pthread_t, pthread_spinlock_t], [], [], [AC_INCLUDES_DEFAULT[ #if HAVE_PTHREAD_H #include #endif]]) if test $ac_cv_type_pthread_t != yes; then HAVE_PTHREAD_T=0 fi if test $ac_cv_type_pthread_spinlock_t != yes; then HAVE_PTHREAD_SPINLOCK_T=0 fi if test $ac_cv_header_pthread_h != yes || test $ac_cv_type_pthread_t != yes || test $ac_cv_type_pthread_spinlock_t != yes; then PTHREAD_H='pthread.h' AC_LIBOBJ([pthread]) else PTHREAD_H= fi AC_SUBST([PTHREAD_H]) AM_CONDITIONAL([GL_GENERATE_PTHREAD_H], [test -n "$PTHREAD_H"]) LIB_PTHREAD= if test $ac_cv_header_pthread_h = yes; then dnl We cannot use AC_SEARCH_LIBS here, because on OSF/1 5.1 pthread_join dnl is defined as a macro which expands to __phread_join, and libpthread dnl contains a definition for __phread_join but none for pthread_join. dnl Also, FreeBSD 9 puts pthread_create in libpthread and pthread_join dnl in libc, whereas on IRIX 6.5 the reverse is true; so check for both. AC_CACHE_CHECK([for library containing pthread_create and pthread_join], [gl_cv_lib_pthread], [gl_saved_libs=$LIBS gl_cv_lib_pthread= for gl_lib_prefix in '' '-lpthread'; do LIBS="$gl_lib_prefix $gl_saved_libs" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include void *noop (void *p) { return p; }]], [[pthread_t pt; void *arg = 0; pthread_create (&pt, 0, noop, arg); pthread_join (pthread_self (), &arg);]])], [if test -z "$gl_lib_prefix"; then gl_cv_lib_pthread="none required" else gl_cv_lib_pthread=$gl_lib_prefix fi]) test -n "$gl_cv_lib_pthread" && break done LIBS="$gl_saved_libs" ]) if test "$gl_cv_lib_pthread" != "none required"; then LIB_PTHREAD="$gl_cv_lib_pthread" fi fi AC_SUBST([LIB_PTHREAD]) AC_REQUIRE([AC_C_RESTRICT]) ]) AC_DEFUN([gl_PTHREAD_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. HAVE_PTHREAD_H=1; AC_SUBST([HAVE_PTHREAD_H]) HAVE_PTHREAD_T=1; AC_SUBST([HAVE_PTHREAD_T]) HAVE_PTHREAD_SPINLOCK_T=1; AC_SUBST([HAVE_PTHREAD_SPINLOCK_T]) ]) coreutils-8.21/m4/getcwd.m40000664000000000000000000001122212071024546012404 00000000000000# getcwd.m4 - check for working getcwd that is compatible with glibc # Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # serial 12 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_HEADERS_ONCE([unistd.h]) AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result], [gl_cv_func_getcwd_null], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ # if HAVE_UNISTD_H # include # else /* on Windows with MSVC */ # include # endif # ifndef getcwd char *getcwd (); # endif ]], [[ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw cwd does not start with '/', but getcwd does allocate. However, mingw fails to honor non-zero size. */ #else if (chdir ("/") != 0) return 1; else { char *f = getcwd (NULL, 0); if (! f) return 2; if (f[0] != '/') return 3; if (f[1] != '\0') return 4; return 0; } #endif ]])], [gl_cv_func_getcwd_null=yes], [gl_cv_func_getcwd_null=no], [[case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_getcwd_null="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_getcwd_null="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_getcwd_null="guessing no";; esac ]])]) ]) AC_DEFUN([gl_FUNC_GETCWD_SIGNATURE], [ AC_CACHE_CHECK([for getcwd with POSIX signature], [gl_cv_func_getcwd_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[extern #ifdef __cplusplus "C" #endif char *getcwd (char *, size_t); ]]) ], [gl_cv_func_getcwd_posix_signature=yes], [gl_cv_func_getcwd_posix_signature=no]) ]) ]) dnl Guarantee that getcwd will malloc with a NULL first argument. Assumes dnl that either the system getcwd is robust, or that calling code is okay dnl with spurious failures when run from a directory with an absolute name dnl larger than 4k bytes. dnl dnl Assumes that getcwd exists; if you are worried about obsolete dnl platforms that lacked getcwd(), then you need to use the GPL module. AC_DEFUN([gl_FUNC_GETCWD_LGPL], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_GETCWD_NULL]) AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE]) case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in *yes,yes) ;; *) dnl Minimal replacement lib/getcwd-lgpl.c. REPLACE_GETCWD=1 ;; esac ]) dnl Check for all known getcwd bugs; useful for a program likely to be dnl executed from an arbitrary location. AC_DEFUN([gl_FUNC_GETCWD], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_GETCWD_NULL]) AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_abort_bug=no case "$host_os" in mingw*) gl_cv_func_getcwd_path_max=yes ;; *) gl_FUNC_GETCWD_PATH_MAX case "$gl_cv_func_getcwd_null" in *yes) gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]) ;; esac ;; esac dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD dnl if appropriate. case "$gl_cv_func_getcwd_path_max" in "no, it has the AIX bug") ;; *) AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1], [Define to 1 if getcwd minimally works, that is, its result can be trusted when it succeeds.]) ;; esac case "$gl_cv_func_getcwd_path_max" in "no, but it is partly working") AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1], [Define to 1 if getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]) ;; esac if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ || test $gl_cv_func_getcwd_posix_signature != yes \ || test "$gl_cv_func_getcwd_path_max" != yes \ || test $gl_abort_bug = yes; then REPLACE_GETCWD=1 fi ]) # Prerequisites of lib/getcwd.c, when full replacement is in effect. AC_DEFUN([gl_PREREQ_GETCWD], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO]) : ]) coreutils-8.21/m4/tempname.m40000664000000000000000000000103212071024546012733 00000000000000#serial 5 # Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # glibc provides __gen_tempname as a wrapper for mk[ds]temp. Expose # it as a public API, and provide it on systems that are lacking. AC_DEFUN([gl_FUNC_GEN_TEMPNAME], [ gl_PREREQ_TEMPNAME ]) # Prerequisites of lib/tempname.c. AC_DEFUN([gl_PREREQ_TEMPNAME], [ : ]) coreutils-8.21/m4/waitpid.m40000664000000000000000000000064012071024546012572 00000000000000# waitpid.m4 serial 2 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WAITPID], [ AC_REQUIRE([AC_CANONICAL_HOST]) HAVE_WAITPID=1 case $host_os in mingw*) HAVE_WAITPID=0 ;; esac ]) coreutils-8.21/m4/spawn-pipe.m40000664000000000000000000000060412071024546013214 00000000000000# spawn-pipe.m4 serial 2 dnl Copyright (C) 2004, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SPAWN_PIPE], [ dnl Prerequisites of lib/spawn-pipe.c. AC_REQUIRE([AC_TYPE_MODE_T]) ]) coreutils-8.21/m4/same.m40000664000000000000000000000064512071024546012063 00000000000000#serial 9 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Prerequisites of lib/same.c. AC_DEFUN([gl_SAME], [ AC_REQUIRE([AC_SYS_LONG_FILE_NAMES]) AC_CHECK_FUNCS_ONCE([pathconf]) ]) coreutils-8.21/m4/environ.m40000664000000000000000000000261612071024546012616 00000000000000# environ.m4 serial 6 dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN_ONCE([gl_ENVIRON], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([unistd.h]) gt_CHECK_VAR_DECL( [#if HAVE_UNISTD_H #include #endif /* mingw, BeOS, Haiku declare environ in , not in . */ #include ], [environ]) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi ]) # Check if a variable is properly declared. # gt_CHECK_VAR_DECL(includes,variable) AC_DEFUN([gt_CHECK_VAR_DECL], [ define([gt_cv_var], [gt_cv_var_]$2[_declaration]) AC_MSG_CHECKING([if $2 is properly declared]) AC_CACHE_VAL([gt_cv_var], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[$1 extern struct { int foo; } $2;]], [[$2.foo = 1;]])], [gt_cv_var=no], [gt_cv_var=yes])]) AC_MSG_RESULT([$gt_cv_var]) if test $gt_cv_var = yes; then AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1, [Define if you have the declaration of $2.]) fi undefine([gt_cv_var]) ]) coreutils-8.21/m4/unlocked-io.m40000664000000000000000000000302712071024546013344 00000000000000# unlocked-io.m4 serial 15 # Copyright (C) 1998-2006, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl See if the glibc *_unlocked I/O macros or functions are available. dnl Use only those *_unlocked macros or functions that are declared dnl (because some of them were declared in Solaris 2.5.1 but were removed dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run dnl on Solaris 2.6). AC_DEFUN([gl_FUNC_GLIBC_UNLOCKED_IO], [ AC_DEFINE([USE_UNLOCKED_IO], [1], [Define to 1 if you want getc etc. to use unlocked I/O if available. Unlocked I/O can improve performance in unithreaded apps, but it is not safe for multithreaded apps.]) dnl Persuade glibc and Solaris to declare dnl fgets_unlocked(), fputs_unlocked() etc. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([clearerr_unlocked]) AC_CHECK_DECLS_ONCE([feof_unlocked]) AC_CHECK_DECLS_ONCE([ferror_unlocked]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([fgets_unlocked]) AC_CHECK_DECLS_ONCE([fputc_unlocked]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([fread_unlocked]) AC_CHECK_DECLS_ONCE([fwrite_unlocked]) AC_CHECK_DECLS_ONCE([getc_unlocked]) AC_CHECK_DECLS_ONCE([getchar_unlocked]) AC_CHECK_DECLS_ONCE([putc_unlocked]) AC_CHECK_DECLS_ONCE([putchar_unlocked]) ]) coreutils-8.21/m4/malloca.m40000664000000000000000000000110112071024546012532 00000000000000# malloca.m4 serial 1 dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MALLOCA], [ dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables dnl @ALLOCA@ and @LTALLOCA@. dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies. AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) coreutils-8.21/m4/tzset.m40000664000000000000000000000351012071024546012301 00000000000000# serial 7 # Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # See if we have a working tzset function. # If so, arrange to compile the wrapper function. # For at least Solaris 2.5.1 and 2.6, this is necessary # because tzset can clobber the contents of the buffer # used by localtime. # Written by Paul Eggert and Jim Meyering. # A placeholder to ensure that this m4 file gets included by aclocal. AC_DEFUN([gl_FUNC_TZSET], []) # Set gl_cv_func_tzset_clobber. AC_DEFUN([gl_FUNC_TZSET_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether tzset clobbers localtime buffer], gl_cv_func_tzset_clobber, [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include int main () { time_t t1 = 853958121; struct tm *p, s; putenv ("TZ=GMT0"); p = localtime (&t1); s = *p; putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"); tzset (); return (p->tm_year != s.tm_year || p->tm_mon != s.tm_mon || p->tm_mday != s.tm_mday || p->tm_hour != s.tm_hour || p->tm_min != s.tm_min || p->tm_sec != s.tm_sec); } ]])], [gl_cv_func_tzset_clobber=no], [gl_cv_func_tzset_clobber=yes], [case "$host_os" in # Guess all is fine on glibc systems. *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;; # If we don't know, assume the worst. *) gl_cv_func_tzset_clobber="guessing yes" ;; esac ])]) AC_DEFINE([HAVE_RUN_TZSET_TEST], [1], [Define to 1 if you have run the test for working tzset.]) ]) coreutils-8.21/m4/iconv_h.m40000664000000000000000000000254112071024546012560 00000000000000# iconv_h.m4 serial 8 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ICONV_H], [ AC_REQUIRE([gl_ICONV_H_DEFAULTS]) dnl Execute this unconditionally, because ICONV_H may be set by other dnl modules, after this code is executed. gl_CHECK_NEXT_HEADERS([iconv.h]) ]) dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_ICONV_H], [ AC_REQUIRE([gl_ICONV_H_DEFAULTS]) ICONV_H='iconv.h' AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"]) ]) AC_DEFUN([gl_ICONV_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_ICONV_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_ICONV_H_DEFAULTS], [ GNULIB_ICONV=0; AC_SUBST([GNULIB_ICONV]) dnl Assume proper GNU behavior unless another module says otherwise. ICONV_CONST=; AC_SUBST([ICONV_CONST]) REPLACE_ICONV=0; AC_SUBST([REPLACE_ICONV]) REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN]) REPLACE_ICONV_UTF=0; AC_SUBST([REPLACE_ICONV_UTF]) ICONV_H=''; AC_SUBST([ICONV_H]) AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"]) ]) coreutils-8.21/m4/unlinkdir.m40000664000000000000000000000216412071024546013133 00000000000000# serial 7 # Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_UNLINKDIR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([priv.h]) # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # Cygwin, and mingw never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to . # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host_os in gnu[[0-9]]* | \ linux-* | linux | \ freebsd2.2* | freebsd[[3-9]]* | freebsd[[1-9]][[0-9]]* | \ cygwin | \ mingw*) AC_DEFINE([UNLINK_CANNOT_UNLINK_DIR], [1], [Define to 1 if unlink (dir) cannot possibly succeed.]);; esac ]) coreutils-8.21/m4/fts.m40000664000000000000000000000111012071024546011716 00000000000000#serial 20 dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FTS], [ gl_FUNC_FTS_CORE ]) AC_DEFUN([gl_FUNC_FTS_CORE], [ dnl Prerequisites of lib/fts.c. gl_FUNC_OPENAT AC_CHECK_FUNCS_ONCE([fstatfs]) AC_CHECK_HEADERS_ONCE([sys/param.h sys/vfs.h])dnl AC_CHECK_MEMBERS([struct statfs.f_type],,, [$ac_includes_default #include ]) ]) coreutils-8.21/m4/freadahead.m40000664000000000000000000000054112071024546013175 00000000000000# freadahead.m4 serial 1 dnl Copyright (C) 2012-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREADAHEAD], [ AC_CHECK_FUNCS_ONCE([__freadahead]) ]) coreutils-8.21/m4/getdtablesize.m40000664000000000000000000000105612071024546013761 00000000000000# getdtablesize.m4 serial 4 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETDTABLESIZE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([getdtablesize]) if test $ac_cv_func_getdtablesize != yes; then HAVE_GETDTABLESIZE=0 fi ]) # Prerequisites of lib/getdtablesize.c. AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:]) coreutils-8.21/m4/physmem.m40000664000000000000000000000321212071024546012611 00000000000000# physmem.m4 serial 11 dnl Copyright (C) 2002-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Check for the external symbol, _system_configuration, # a struct with member 'physmem'. AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION], [AC_CACHE_CHECK([for external symbol _system_configuration], gl_cv_var__system_configuration, [AC_LINK_IFELSE([AC_LANG_PROGRAM( [[#include ]], [[double x = _system_configuration.physmem; if (x > 0.0) return 0;]])], [gl_cv_var__system_configuration=yes], [gl_cv_var__system_configuration=no])]) if test $gl_cv_var__system_configuration = yes; then AC_DEFINE([HAVE__SYSTEM_CONFIGURATION], [1], [Define to 1 if you have the external variable, _system_configuration with a member named physmem.]) fi ] ) AC_DEFUN([gl_PHYSMEM], [ # Prerequisites of lib/physmem.c. AC_CHECK_HEADERS([sys/pstat.h sys/sysmp.h sys/sysinfo.h \ machine/hal_sysinfo.h sys/table.h sys/param.h sys/systemcfg.h],,, [AC_INCLUDES_DEFAULT]) dnl requires on OpenBSD 4.0. AC_CHECK_HEADERS([sys/sysctl.h],,, [AC_INCLUDES_DEFAULT #if HAVE_SYS_PARAM_H # include #endif ]) AC_CHECK_FUNCS([pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table]) AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION]) ]) coreutils-8.21/m4/tm_gmtoff.m40000664000000000000000000000103512071024546013112 00000000000000# tm_gmtoff.m4 serial 3 dnl Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_TM_GMTOFF], [ AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Define if struct tm has the tm_gmtoff member.])], , [#include ]) ]) coreutils-8.21/m4/assert.m40000664000000000000000000000166012071024546012435 00000000000000#serial 7 # Copyright (C) 1998-1999, 2001, 2004, 2008-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl based on code from Eleftherios Gkioulekas dnl Autoconf 2.60 provides AC_HEADER_ASSERT for the same purpose, but dnl it has broken semantics for --enable-assert until 2.64. AC_DEFUN([gl_ASSERT], [ AC_MSG_CHECKING([whether to enable assertions]) AC_ARG_ENABLE([assert], [AS_HELP_STRING([--disable-assert], [turn off assertions])], [AS_IF([test "x$enableval" = xno], [AC_DEFINE([NDEBUG], [1], [Define to 1 if assertions should be disabled.])], [test "x$enableval" != xyes], [AC_MSG_WARN([invalid argument supplied to --enable-assert]) enable_assert=yes])], [enable_assert=yes]) AC_MSG_RESULT([$enable_assert]) ]) coreutils-8.21/m4/read-file.m40000664000000000000000000000055212071024546012763 00000000000000# read-file.m4 serial 3 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of lib/read-file.c. AC_DEFUN([gl_PREREQ_READ_FILE], [:]) coreutils-8.21/m4/strtoll.m40000664000000000000000000000134612071024546012640 00000000000000# strtoll.m4 serial 7 dnl Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOLL], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) dnl We don't need (and can't compile) the replacement strtoll dnl unless the type 'long long int' exists. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test "$ac_cv_type_long_long_int" = yes; then AC_CHECK_FUNCS([strtoll]) if test $ac_cv_func_strtoll = no; then HAVE_STRTOLL=0 fi fi ]) # Prerequisites of lib/strtoll.c. AC_DEFUN([gl_PREREQ_STRTOLL], [ : ]) coreutils-8.21/m4/xalloc.m40000664000000000000000000000047212071024546012416 00000000000000# xalloc.m4 serial 18 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XALLOC], [:]) coreutils-8.21/m4/signbit.m40000664000000000000000000002724612071024546012603 00000000000000# signbit.m4 serial 13 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SIGNBIT], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([for signbit macro], [gl_cv_func_signbit], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include /* If signbit is defined as a function, don't use it, since calling it for 'float' or 'long double' arguments would involve conversions. If signbit is not declared at all but exists as a library function, don't use it, since the prototype may not match. If signbit is not declared at all but exists as a compiler built-in, don't use it, since it's preferable to use __builtin_signbit* (no warnings, no conversions). */ #ifndef signbit # error "signbit should be a macro" #endif #include ]gl_SIGNBIT_TEST_PROGRAM ])], [gl_cv_func_signbit=yes], [gl_cv_func_signbit=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_signbit="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_signbit="guessing no" ;; esac ]) ]) dnl GCC 4.0 and newer provides three built-ins for signbit. dnl They can be used without warnings, also in C++, regardless of . dnl But they may expand to calls to functions, which may or may not be in dnl libc. AC_CACHE_CHECK([for signbit compiler built-ins], [gl_cv_func_signbit_gcc], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #if __GNUC__ >= 4 # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) #else # error "signbit should be three compiler built-ins" #endif #include ]gl_SIGNBIT_TEST_PROGRAM ])], [gl_cv_func_signbit_gcc=yes], [gl_cv_func_signbit_gcc=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_signbit_gcc="guessing no" ;; esac ]) ]) dnl Use the compiler built-ins whenever possible, because they are more dnl efficient than the system library functions (if they exist). case "$gl_cv_func_signbit_gcc" in *yes) REPLACE_SIGNBIT_USING_GCC=1 ;; *) case "$gl_cv_func_signbit" in *yes) ;; *) dnl REPLACE_SIGNBIT=1 makes sure the signbit[fdl] functions get built. REPLACE_SIGNBIT=1 gl_FLOAT_SIGN_LOCATION gl_DOUBLE_SIGN_LOCATION gl_LONG_DOUBLE_SIGN_LOCATION if test "$gl_cv_cc_float_signbit" = unknown; then dnl Test whether copysignf() is declared. AC_CHECK_DECLS([copysignf], , , [[#include ]]) if test "$ac_cv_have_decl_copysignf" = yes; then dnl Test whether copysignf() can be used without libm. AC_CACHE_CHECK([whether copysignf can be used without linking with libm], [gl_cv_func_copysignf_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include float x, y;]], [[return copysignf (x, y) < 0;]])], [gl_cv_func_copysignf_no_libm=yes], [gl_cv_func_copysignf_no_libm=no]) ]) if test $gl_cv_func_copysignf_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGNF_IN_LIBC], [1], [Define if the copysignf function is declared in and available in libc.]) fi fi fi if test "$gl_cv_cc_double_signbit" = unknown; then dnl Test whether copysign() is declared. AC_CHECK_DECLS([copysign], , , [[#include ]]) if test "$ac_cv_have_decl_copysign" = yes; then dnl Test whether copysign() can be used without libm. AC_CACHE_CHECK([whether copysign can be used without linking with libm], [gl_cv_func_copysign_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include double x, y;]], [[return copysign (x, y) < 0;]])], [gl_cv_func_copysign_no_libm=yes], [gl_cv_func_copysign_no_libm=no]) ]) if test $gl_cv_func_copysign_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGN_IN_LIBC], [1], [Define if the copysign function is declared in and available in libc.]) fi fi fi if test "$gl_cv_cc_long_double_signbit" = unknown; then dnl Test whether copysignl() is declared. AC_CHECK_DECLS([copysignl], , , [[#include ]]) if test "$ac_cv_have_decl_copysignl" = yes; then dnl Test whether copysignl() can be used without libm. AC_CACHE_CHECK([whether copysignl can be used without linking with libm], [gl_cv_func_copysignl_no_libm], [ AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include long double x, y;]], [[return copysignl (x, y) < 0;]])], [gl_cv_func_copysignl_no_libm=yes], [gl_cv_func_copysignl_no_libm=no]) ]) if test $gl_cv_func_copysignl_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGNL_IN_LIBC], [1], [Define if the copysignl function is declared in and available in libc.]) fi fi fi ;; esac ;; esac ]) AC_DEFUN([gl_SIGNBIT_TEST_PROGRAM], [[ /* Global variables. Needed because GCC 4 constant-folds __builtin_signbitl (literal) but cannot constant-fold __builtin_signbitl (variable). */ float vf; double vd; long double vl; int main () { /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. So we use -p0f and -p0d instead. */ float p0f = 0.0f; float m0f = -p0f; double p0d = 0.0; double m0d = -p0d; /* On HP-UX 10.20, negating 0.0L does not yield -0.0L. So we use another constant expression instead. But that expression does not work on other platforms, such as when cross-compiling to PowerPC on Mac OS X 10.5. */ long double p0l = 0.0L; #if defined __hpux || defined __sgi long double m0l = -LDBL_MIN * LDBL_MIN; #else long double m0l = -p0l; #endif int result = 0; if (signbit (vf)) /* link check */ vf++; { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 1; } if (signbit (vd)) /* link check */ vd++; { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 2; } if (signbit (vl)) /* link check */ vl++; { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (signbit (255.0L)) result |= 4; if (!signbit (-255.0L)) result |= 4; if (signbit (p0l)) result |= 8; if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l))) result |= 16; if (signbit (plus_inf)) result |= 32; if (!signbit (minus_inf)) result |= 64; } return result; } ]]) AC_DEFUN([gl_FLOAT_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([float], [gl_cv_cc_float_signbit], [f], [FLT]) ]) AC_DEFUN([gl_DOUBLE_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([double], [gl_cv_cc_double_signbit], [], [DBL]) ]) AC_DEFUN([gl_LONG_DOUBLE_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([long double], [gl_cv_cc_long_double_signbit], [L], [LDBL]) ]) AC_DEFUN([gl_FLOATTYPE_SIGN_LOCATION], [ AC_CACHE_CHECK([where to find the sign bit in a '$1'], [$2], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #define NWORDS \ ((sizeof ($1) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { $1 value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0$3 }; static memory_float minus = { -1.0$3 }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 2; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 3; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 4; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); if (fclose (fp) != 0) return 5; return 0; } ]])], [$2=`cat conftest.out`], [$2="unknown"], [ dnl When cross-compiling, we don't know. It depends on the dnl ABI and compiler version. There are too many cases. $2="unknown" ]) rm -f conftest.out ]) case "$]$2[" in word*bit*) word=`echo "$]$2[" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$]$2[" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([$4][_SIGNBIT_WORD], [$word], [Define as the word index where to find the sign of '$1'.]) AC_DEFINE_UNQUOTED([$4][_SIGNBIT_BIT], [$bit], [Define as the bit index in the word where to find the sign of '$1'.]) ;; esac ]) # Expands to code that defines a function signbitf(float). # It extracts the sign bit of a non-NaN value. AC_DEFUN([gl_FLOAT_SIGNBIT_CODE], [ gl_FLOATTYPE_SIGNBIT_CODE([float], [f], [f]) ]) # Expands to code that defines a function signbitd(double). # It extracts the sign bit of a non-NaN value. AC_DEFUN([gl_DOUBLE_SIGNBIT_CODE], [ gl_FLOATTYPE_SIGNBIT_CODE([double], [d], []) ]) # Expands to code that defines a function signbitl(long double). # It extracts the sign bit of a non-NaN value. AC_DEFUN([gl_LONG_DOUBLE_SIGNBIT_CODE], [ gl_FLOATTYPE_SIGNBIT_CODE([long double], [l], [L]) ]) AC_DEFUN([gl_FLOATTYPE_SIGNBIT_CODE], [[ static int signbit$2 ($1 value) { typedef union { $1 f; unsigned char b[sizeof ($1)]; } float_union; static float_union plus_one = { 1.0$3 }; /* unused bits are zero here */ static float_union minus_one = { -1.0$3 }; /* unused bits are zero here */ /* Compute the sign bit mask as the XOR of plus_one and minus_one. */ float_union u; unsigned int i; u.f = value; for (i = 0; i < sizeof ($1); i++) if (u.b[i] & (plus_one.b[i] ^ minus_one.b[i])) return 1; return 0; } ]]) coreutils-8.21/m4/wchar_t.m40000664000000000000000000000146212071024546012563 00000000000000# wchar_t.m4 serial 4 (gettext-0.18.2) dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include wchar_t foo = (wchar_t)'\0';]], [[]])], [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) fi ]) coreutils-8.21/m4/error.m40000664000000000000000000000151012071024546012257 00000000000000#serial 14 # Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ERROR], [ dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer dnl maintained in Autoconf and because it invokes AC_LIBOBJ. AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[error_at_line (0, 0, "", 0, "an error occurred");]])], [ac_cv_lib_error_at_line=yes], [ac_cv_lib_error_at_line=no])]) ]) # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ AC_REQUIRE([AC_FUNC_STRERROR_R]) : ]) coreutils-8.21/m4/flexmember.m40000664000000000000000000000310212071024546013253 00000000000000# serial 3 # Check for flexible array member support. # Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER], [ AC_CACHE_CHECK([for flexible array member], ac_cv_c_flexmember, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include struct s { int n; double d[]; };]], [[int m = getchar (); struct s *p = malloc (offsetof (struct s, d) + m * sizeof (double)); p->d[0] = 0.0; return p->d != (double *) NULL;]])], [ac_cv_c_flexmember=yes], [ac_cv_c_flexmember=no])]) if test $ac_cv_c_flexmember = yes; then AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [], [Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like 'struct s { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack can be used with pre-C99 compilers. When computing the size of such an object, don't use 'sizeof (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' instead. Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with MSVC and with C++ compilers.]) else AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [1]) fi ]) coreutils-8.21/m4/exponentd.m40000664000000000000000000000755212071024546013146 00000000000000# exponentd.m4 serial 3 dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], [ AC_CACHE_CHECK([where to find the exponent in a 'double'], [gl_cv_cc_double_expbit0], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ]])], [gl_cv_cc_double_expbit0=`cat conftest.out`], [gl_cv_cc_double_expbit0="unknown"], [ dnl On ARM, there are two 'double' floating-point formats, used by dnl different sets of instructions: The older FPA instructions assume dnl that they are stored in big-endian word order, while the words dnl (like integer types) are stored in little-endian byte order. dnl The newer VFP instructions assume little-endian order dnl consistently. AC_EGREP_CPP([mixed_endianness], [ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif ], [gl_cv_cc_double_expbit0="unknown"], [ pushdef([AC_MSG_CHECKING],[:])dnl pushdef([AC_MSG_RESULT],[:])dnl pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl AC_C_BIGENDIAN( [gl_cv_cc_double_expbit0="word 0 bit 20"], [gl_cv_cc_double_expbit0="word 1 bit 20"], [gl_cv_cc_double_expbit0="unknown"]) popdef([AC_MSG_RESULT_UNQUOTED])dnl popdef([AC_MSG_RESULT])dnl popdef([AC_MSG_CHECKING])dnl ]) ]) rm -f conftest.out ]) case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'double'.]) AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.]) ;; esac ]) coreutils-8.21/m4/unlink.m40000664000000000000000000001107612071024546012436 00000000000000# unlink.m4 serial 11 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_UNLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE([unistd.h]) dnl Detect FreeBSD 7.2, AIX 7.1, Solaris 9 bug. AC_CACHE_CHECK([whether unlink honors trailing slashes], [gl_cv_func_unlink_honors_slashes], [touch conftest.file # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include #endif #include ]], [[int result = 0; if (!unlink ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; #if HAVE_LSTAT if (!unlink ("conftest.lnk/")) result |= 4; else if (errno != ENOTDIR) result |= 8; #endif return result; ]])], [gl_cv_func_unlink_honors_slashes=yes], [gl_cv_func_unlink_honors_slashes=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_unlink_honors_slashes="guessing no" ;; esac ]) rm -f conftest.file conftest.lnk]) case "$gl_cv_func_unlink_honors_slashes" in *no) REPLACE_UNLINK=1 ;; esac dnl Detect Mac OS X 10.5.6 bug: On read-write HFS mounts, unlink("..") or dnl unlink("../..") succeeds without doing anything. AC_CACHE_CHECK([whether unlink of a parent directory fails as it should], [gl_cv_func_unlink_parent_fails], [case "$host_os" in darwin*) dnl Try to unlink a subdirectory of /tmp, because /tmp is usually on a dnl HFS mount on Mac OS X. Use a subdirectory, owned by the current dnl user, because otherwise unlink() may fail due to permissions dnl reasons, and because when running as root we don't want to risk dnl destroying the entire /tmp. if { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=/tmp/gt$$-$RANDOM (umask 077 && mkdir "$tmp") }; then mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #if HAVE_UNISTD_H # include #else /* on Windows with MSVC */ # include # include #endif int main () { int result = 0; if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) result |= 1; else if (unlink ("..") == 0) result |= 2; return result; } ]])], [gl_cv_func_unlink_parent_fails=yes], [gl_cv_func_unlink_parent_fails=no], [# If we don't know, assume the worst. gl_cv_func_unlink_parent_fails="guessing no" ]) unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else gl_cv_func_unlink_parent_fails="guessing no" fi ;; *) gl_cv_func_unlink_parent_fails="guessing yes" ;; esac ]) case "$gl_cv_func_unlink_parent_fails" in *no) REPLACE_UNLINK=1 AC_DEFINE([UNLINK_PARENT_BUG], [1], [Define to 1 if unlink() on a parent directory may succeed]) ;; esac ]) coreutils-8.21/m4/time_h.m40000664000000000000000000001020612071024546012375 00000000000000# Configure a more-standard replacement for . # Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # serial 7 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Jim Meyering. AC_DEFUN([gl_HEADER_TIME_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) ]) dnl Check whether 'struct timespec' is declared dnl in time.h, sys/time.h, or pthread.h. AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], [ AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_time_h=yes], [gl_cv_sys_struct_timespec_in_time_h=no])]) TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_sys_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_sys_time_h=yes], [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 else AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_pthread_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_pthread_h=yes], [gl_cv_sys_struct_timespec_in_pthread_h=no])]) if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 fi fi fi AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) ]) AC_DEFUN([gl_TIME_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], [ GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) dnl If another module says to replace or to not replace, do that. dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; dnl this lets maintainers check for portability. REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) ]) coreutils-8.21/m4/sys_ioctl_h.m40000664000000000000000000000460612071024546013456 00000000000000# sys_ioctl_h.m4 serial 10 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Bruno Haible. AC_DEFUN([gl_SYS_IOCTL_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/ioctl.h]) if test $ac_cv_header_sys_ioctl_h = yes; then HAVE_SYS_IOCTL_H=1 dnl Test whether declares ioctl(), or whether some other dnl header file, such as or , is needed for that. AC_CACHE_CHECK([whether declares ioctl], [gl_cv_decl_ioctl_in_sys_ioctl_h], [dnl We cannot use AC_CHECK_DECL because it produces its own messages. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT([#include ])], [(void) ioctl;])], [gl_cv_decl_ioctl_in_sys_ioctl_h=yes], [gl_cv_decl_ioctl_in_sys_ioctl_h=no]) ]) else HAVE_SYS_IOCTL_H=0 fi AC_SUBST([HAVE_SYS_IOCTL_H]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/ioctl.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include /* Some platforms declare ioctl in the wrong header. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include #endif ]], [ioctl]) ]) AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS], [ GNULIB_IOCTL=0; AC_SUBST([GNULIB_IOCTL]) dnl Assume proper GNU behavior unless another module says otherwise. SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H]) SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) REPLACE_IOCTL=0; AC_SUBST([REPLACE_IOCTL]) ]) coreutils-8.21/m4/vfprintf-posix.m40000664000000000000000000001044612071024546014134 00000000000000# vfprintf-posix.m4 serial 14 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VFPRINTF_POSIX], [ AC_REQUIRE([gl_PRINTF_SIZES_C99]) AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_INFINITE]) AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) AC_REQUIRE([gl_PRINTF_POSITIONS]) AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) AC_REQUIRE([gl_PRINTF_PRECISION]) AC_REQUIRE([gl_PRINTF_ENOMEM]) gl_cv_func_vfprintf_posix=no case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_directive_ls" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) # vfprintf exists and is # already POSIX compliant. gl_cv_func_vfprintf_posix=yes ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vfprintf_posix = no; then gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_DIRECTIVE_LS gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM gl_REPLACE_VASNPRINTF gl_REPLACE_VFPRINTF fi ]) AC_DEFUN([gl_REPLACE_VFPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([vfprintf]) REPLACE_VFPRINTF=1 AC_DEFINE([REPLACE_VFPRINTF_POSIX], [1], [Define if vfprintf is overridden by a POSIX compliant gnulib implementation.]) gl_PREREQ_VFPRINTF ]) AC_DEFUN([gl_PREREQ_VFPRINTF], [:]) coreutils-8.21/m4/utimecmp.m40000664000000000000000000000057212071024546012760 00000000000000#serial 4 dnl Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UTIMECMP], [ dnl Prerequisites of lib/utimecmp.c. AC_REQUIRE([gl_FUNC_UTIMES]) : ]) coreutils-8.21/m4/gnulib-common.m40000664000000000000000000003332112071024546013701 00000000000000# gnulib-common.m4 serial 33 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_COMMON # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ dnl Use AC_REQUIRE here, so that the code is expanded once only. AC_REQUIRE([gl_00GNULIB]) AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([_Noreturn], [/* The _Noreturn keyword of C11. */ #if ! (defined _Noreturn \ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn # endif #endif ]) AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for Mac OS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) AH_VERBATIM([unused_parameter], [/* Define as a marker that can be attached to declarations that might not be used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_UNUSED __attribute__ ((__unused__)) #else # define _GL_UNUSED #endif /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED /* The __pure__ attribute was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* The __const__ attribute was added in gcc 2.95. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) #else # define _GL_ATTRIBUTE_CONST /* empty */ #endif ]) dnl Preparation for running test programs: dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not dnl to /dev/tty, so they can be redirected to log files. Such diagnostics dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ ]) # gl_MODULE_INDICATOR_CONDITION # expands to a C preprocessor expression that evaluates to 1 or 0, depending # whether a gnulib module that has been requested shall be considered present # or not. m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) # gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) # sets the shell variable that indicates the presence of the given module to # a C preprocessor expression that will evaluate to 1. AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ gl_MODULE_INDICATOR_SET_VARIABLE_AUX( [GNULIB_[]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], [gl_MODULE_INDICATOR_CONDITION]) ]) # gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) # modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. # The shell variable's value is a C preprocessor expression that evaluates # to 0 or 1. AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], [ m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], [ dnl Simplify the expression VALUE || 1 to 1. $1=1 ], [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], [gl_MODULE_INDICATOR_CONDITION])]) ]) # gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) # modifies the shell variable to include the given condition. The shell # variable's value is a C preprocessor expression that evaluates to 0 or 1. AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], [ dnl Simplify the expression 1 || CONDITION to 1. if test "$[]$1" != 1; then dnl Simplify the expression 0 || CONDITION to CONDITION. if test "$[]$1" = 0; then $1=$2 else $1="($[]$1 || $2)" fi fi ]) # gl_MODULE_INDICATOR([modulename]) # defines a C macro indicating the presence of the given module # in a location where it can be used. # | Value | Value | # | in lib/ | in tests/ | # --------------------------------------------+---------+-----------+ # Module present among main modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module present among tests-related modules: | 0 | 1 | # --------------------------------------------+---------+-----------+ # Module not present at all: | 0 | 0 | # --------------------------------------------+---------+-----------+ AC_DEFUN([gl_MODULE_INDICATOR], [ AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [gl_MODULE_INDICATOR_CONDITION], [Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module $1 shall be considered present.]) ]) # gl_MODULE_INDICATOR_FOR_TESTS([modulename]) # defines a C macro indicating the presence of the given module # in lib or tests. This is useful to determine whether the module # should be tested. # | Value | Value | # | in lib/ | in tests/ | # --------------------------------------------+---------+-----------+ # Module present among main modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module present among tests-related modules: | 1 | 1 | # --------------------------------------------+---------+-----------+ # Module not present at all: | 0 | 0 | # --------------------------------------------+---------+-----------+ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [ AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], [abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], [Define to 1 when the gnulib module $1 should be tested.]) ]) # gl_ASSERT_NO_GNULIB_POSIXCHECK # asserts that there will never be a need to #define GNULIB_POSIXCHECK. # and thereby enables an optimization of configure and config.h. # Used by Emacs. AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], [ dnl Override gl_WARN_ON_USE_PREPARE. dnl But hide this definition from 'aclocal'. AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) ]) # gl_ASSERT_NO_GNULIB_TESTS # asserts that there will be no gnulib tests in the scope of the configure.ac # and thereby enables an optimization of config.h. # Used by Emacs. AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], [ dnl Override gl_MODULE_INDICATOR_FOR_TESTS. AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) ]) # Test whether exists. # Set HAVE_FEATURES_H. AC_DEFUN([gl_FEATURES_H], [ AC_CHECK_HEADERS_ONCE([features.h]) if test $ac_cv_header_features_h = yes; then HAVE_FEATURES_H=1 else HAVE_FEATURES_H=0 fi AC_SUBST([HAVE_FEATURES_H]) ]) # m4_foreach_w # is a backport of autoconf-2.59c's m4_foreach_w. # Remove this macro when we can assume autoconf >= 2.60. m4_ifndef([m4_foreach_w], [m4_define([m4_foreach_w], [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) # ---------------------------------------------------- # Backport of autoconf-2.63b's macro. # Remove this macro when we can assume autoconf >= 2.64. m4_ifndef([AS_VAR_IF], [m4_define([AS_VAR_IF], [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) # gl_PROG_CC_C99 # Modifies the value of the shell variable CC in an attempt to make $CC # understand ISO C99 source code. # This is like AC_PROG_CC_C99, except that # - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, # - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC # , # but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 # . # Remaining problems: # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options # to CC twice # . # - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard. AC_DEFUN([gl_PROG_CC_C99], [ dnl Change that version number to the minimum Autoconf version that supports dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. m4_version_prereq([9.0], [AC_REQUIRE([AC_PROG_CC_C99])], [AC_REQUIRE([AC_PROG_CC_STDC])]) ]) # gl_PROG_AR_RANLIB # Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. # The user can set the variables AR, ARFLAGS, RANLIB if he wants to override # the values. AC_DEFUN([gl_PROG_AR_RANLIB], [ dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler dnl as "cc", and GCC as "gcc". They have different object file formats and dnl library formats. In particular, the GNU binutils programs ar, ranlib dnl produce libraries that work only with gcc, not with cc. AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], [ AC_EGREP_CPP([Amsterdam], [ #ifdef __ACK__ Amsterdam #endif ], [gl_cv_c_amsterdam_compiler=yes], [gl_cv_c_amsterdam_compiler=no]) ]) if test -z "$AR"; then if test $gl_cv_c_amsterdam_compiler = yes; then AR='cc -c.a' if test -z "$ARFLAGS"; then ARFLAGS='-o' fi else dnl Use the Automake-documented default values for AR and ARFLAGS, dnl but prefer ${host}-ar over ar (useful for cross-compiling). AC_CHECK_TOOL([AR], [ar], [ar]) if test -z "$ARFLAGS"; then ARFLAGS='cru' fi fi else if test -z "$ARFLAGS"; then ARFLAGS='cru' fi fi AC_SUBST([AR]) AC_SUBST([ARFLAGS]) if test -z "$RANLIB"; then if test $gl_cv_c_amsterdam_compiler = yes; then RANLIB=':' else dnl Use the ranlib program if it is available. AC_PROG_RANLIB fi fi AC_SUBST([RANLIB]) ]) # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix # for interoperability with automake-1.9.6 from autoconf-2.62. # Remove this macro when we can assume autoconf >= 2.62 or # autoconf >= 2.60 && automake >= 1.10. # AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. m4_ifndef([AC_AUTOCONF_VERSION],[ m4_ifdef([AC_PROG_MKDIR_P], [ dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. m4_define([AC_PROG_MKDIR_P], m4_defn([AC_PROG_MKDIR_P])[ AC_SUBST([MKDIR_P])])], [ dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. AC_DEFUN_ONCE([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) ]) # AC_C_RESTRICT # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. # AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. m4_ifndef([AC_AUTOCONF_VERSION],[ AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; }]], [[int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t)]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done ]) AH_VERBATIM([restrict], [/* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif]) case $ac_cv_c_restrict in restrict) ;; no) AC_DEFINE([restrict], []) ;; *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ]) ]) # gl_BIGENDIAN # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. # Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some # macros invoke AC_C_BIGENDIAN with arguments. AC_DEFUN([gl_BIGENDIAN], [ AC_C_BIGENDIAN ]) # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) # is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not # output a spurious "(cached)" mark in the midst of other configure output. # This macro should be used instead of AC_CACHE_VAL when it is not surrounded # by an AC_MSG_CHECKING/AC_MSG_RESULT pair. AC_DEFUN([gl_CACHE_VAL_SILENT], [ saved_as_echo_n="$as_echo_n" as_echo_n=':' AC_CACHE_VAL([$1], [$2]) as_echo_n="$saved_as_echo_n" ]) coreutils-8.21/m4/warnings.m40000664000000000000000000000416612071024546012770 00000000000000# warnings.m4 serial 7 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # gl_AS_VAR_APPEND(VAR, VALUE) # ---------------------------- # Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. m4_ifdef([AS_VAR_APPEND], [m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], [m4_define([gl_AS_VAR_APPEND], [AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) # gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED], # [PROGRAM = AC_LANG_PROGRAM()]) # ----------------------------------------------------------------- # Check if the compiler supports OPTION when compiling PROGRAM. # # FIXME: gl_Warn must be used unquoted until we can assume Autoconf # 2.64 or newer. AC_DEFUN([gl_COMPILER_OPTION_IF], [AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [ gl_save_compiler_FLAGS="$gl_Flags" gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $1"]) AC_COMPILE_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])], [AS_VAR_SET(gl_Warn, [yes])], [AS_VAR_SET(gl_Warn, [no])]) gl_Flags="$gl_save_compiler_FLAGS" ]) AS_VAR_IF(gl_Warn, [yes], [$2], [$3]) AS_VAR_POPDEF([gl_Flags])dnl AS_VAR_POPDEF([gl_Warn])dnl ]) # gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS], # [PROGRAM = AC_LANG_PROGRAM()]) # --------------------------------------------- # Adds parameter to WARN_CFLAGS if the compiler supports it when # compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). # # If VARIABLE is a variable name, AC_SUBST it. AC_DEFUN([gl_WARN_ADD], [gl_COMPILER_OPTION_IF([$1], [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])], [], [$3]) m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])])], [AC_SUBST([WARN_CFLAGS])])dnl ]) # Local Variables: # mode: autoconf # End: coreutils-8.21/m4/ctype.m40000664000000000000000000000177512071024546012267 00000000000000# ctype_h.m4 serial 6 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CTYPE_H], [ AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_NEXT_HEADERS([ctype.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [isblank]) ]) AC_DEFUN([gl_CTYPE_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) AC_DEFUN([gl_CTYPE_H_DEFAULTS], [ GNULIB_ISBLANK=0; AC_SUBST([GNULIB_ISBLANK]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ISBLANK=1; AC_SUBST([HAVE_ISBLANK]) ]) coreutils-8.21/m4/float_h.m40000664000000000000000000000466312071024546012556 00000000000000# float_h.m4 serial 9 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FLOAT_H], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) FLOAT_H= REPLACE_FLOAT_LDBL=0 case "$host_os" in aix* | beos* | openbsd* | mirbsd* | irix*) FLOAT_H=float.h ;; freebsd*) case "$host_cpu" in changequote(,)dnl i[34567]86 ) changequote([,])dnl FLOAT_H=float.h ;; x86_64 ) # On x86_64 systems, the C compiler may still be generating # 32-bit code. AC_EGREP_CPP([yes], [#if defined __LP64__ || defined __x86_64__ || defined __amd64__ yes #endif], [], [FLOAT_H=float.h]) ;; esac ;; linux*) case "$host_cpu" in powerpc*) FLOAT_H=float.h ;; esac ;; esac case "$host_os" in aix* | freebsd* | linux*) if test -n "$FLOAT_H"; then REPLACE_FLOAT_LDBL=1 fi ;; esac dnl Test against glibc-2.7 Linux/SPARC64 bug. REPLACE_ITOLD=0 AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works], [gl_cv_func_itold_works], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ int i = -1; volatile long double ld; int main () { ld += i * 1.0L; if (ld > 0) return 1; return 0; }]])], [gl_cv_func_itold_works=yes], [gl_cv_func_itold_works=no], [case "$host" in sparc*-*-linux*) AC_EGREP_CPP([yes], [#if defined __LP64__ || defined __arch64__ yes #endif], [gl_cv_func_itold_works="guessing no"], [gl_cv_func_itold_works="guessing yes"]) ;; *) gl_cv_func_itold_works="guessing yes" ;; esac ]) ]) case "$gl_cv_func_itold_works" in *no) REPLACE_ITOLD=1 dnl We add the workaround to but also to , dnl to increase the chances that the fix function gets pulled in. FLOAT_H=float.h ;; esac if test -n "$FLOAT_H"; then gl_NEXT_HEADERS([float.h]) fi AC_SUBST([FLOAT_H]) AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"]) AC_SUBST([REPLACE_ITOLD]) ]) coreutils-8.21/m4/strpbrk.m40000664000000000000000000000102512071024546012616 00000000000000# strpbrk.m4 serial 6 dnl Copyright (C) 2002-2003, 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRPBRK], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([strpbrk]) if test $ac_cv_func_strpbrk = no; then HAVE_STRPBRK=0 fi ]) # Prerequisites of lib/strpbrk.c. AC_DEFUN([gl_PREREQ_STRPBRK], [:]) coreutils-8.21/m4/linkat.m40000664000000000000000000000677112071024546012426 00000000000000# serial 6 # See if we need to provide linkat replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_LINKAT], [ AC_REQUIRE([gl_FUNC_OPENAT]) AC_REQUIRE([gl_FUNC_LINK_FOLLOWS_SYMLINK]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([linkat symlink]) AC_CHECK_HEADERS_ONCE([sys/param.h]) if test $ac_cv_func_linkat = no; then HAVE_LINKAT=0 else AC_CACHE_CHECK([whether linkat(,AT_SYMLINK_FOLLOW) works], [gl_cv_func_linkat_follow], [rm -rf conftest.f1 conftest.f2 touch conftest.f1 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include #ifdef __linux__ /* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW until 2.6.18. Always replace linkat to support older kernels. */ choke me #endif ]], [return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", AT_SYMLINK_FOLLOW);])], [gl_cv_func_linkat_follow=yes], [gl_cv_func_linkat_follow="need runtime check"]) rm -rf conftest.f1 conftest.f2]) AC_CACHE_CHECK([whether linkat handles trailing slash correctly], [gl_cv_func_linkat_slash], [rm -rf conftest.a conftest.b conftest.c conftest.d AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include ]], [[int result; int fd; /* Create a regular file. */ fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600); if (fd < 0) return 1; if (write (fd, "hello", 5) < 5) return 2; if (close (fd) < 0) return 3; /* Test whether hard links are supported on the current device. */ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b", AT_SYMLINK_FOLLOW) < 0) return 0; result = 0; /* Test whether a trailing "/" is treated like "/.". */ if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c", AT_SYMLINK_FOLLOW) == 0) result |= 4; if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", AT_SYMLINK_FOLLOW) == 0) result |= 8; return result; ]])], [gl_cv_func_linkat_slash=yes], [gl_cv_func_linkat_slash=no], [# Guess yes on glibc systems, no otherwise. case "$host_os" in *-gnu*) gl_cv_func_linkat_slash="guessing yes";; *) gl_cv_func_linkat_slash="guessing no";; esac ]) rm -rf conftest.a conftest.b conftest.c conftest.d]) case "$gl_cv_func_linkat_slash" in *yes) gl_linkat_slash_bug=0 ;; *) gl_linkat_slash_bug=1 ;; esac if test "$gl_cv_func_linkat_follow" != yes \ || test $gl_linkat_slash_bug = 1; then REPLACE_LINKAT=1 AC_DEFINE_UNQUOTED([LINKAT_TRAILING_SLASH_BUG], [$gl_linkat_slash_bug], [Define to 1 if linkat fails to recognize a trailing slash.]) fi fi ]) coreutils-8.21/m4/timespec.m40000664000000000000000000000051512071024546012743 00000000000000#serial 15 # Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering AC_DEFUN([gl_TIMESPEC], [:]) coreutils-8.21/m4/stdint_h.m40000664000000000000000000000174312071024546012752 00000000000000# stdint_h.m4 serial 9 dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[uintmax_t i = (uintmax_t) -1; return !i;]])], [gl_cv_header_stdint_h=yes], [gl_cv_header_stdint_h=no])]) if test $gl_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) coreutils-8.21/m4/xstrtol.m40000664000000000000000000000046412071024546012654 00000000000000#serial 11 dnl Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSTRTOL], [ : ]) coreutils-8.21/m4/wint_t.m40000664000000000000000000000203512071024546012435 00000000000000# wint_t.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0';]], [[]])], [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) fi ]) coreutils-8.21/m4/strstr.m40000664000000000000000000000774612071024546012510 00000000000000# strstr.m4 serial 16 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check that strstr works. AC_DEFUN([gl_FUNC_STRSTR_SIMPLE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_MEMCHR]) if test "$gl_cv_func_memchr_works" != yes; then REPLACE_STRSTR=1 else dnl Detect http://sourceware.org/bugzilla/show_bug.cgi?id=12092. AC_CACHE_CHECK([whether strstr works], [gl_cv_func_strstr_works_always], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include /* for strstr */ #define P "_EF_BF_BD" #define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P #define NEEDLE P P P P P ]], [[return !!strstr (HAYSTACK, NEEDLE); ]])], [gl_cv_func_strstr_works_always=yes], [gl_cv_func_strstr_works_always=no], [dnl glibc 2.12 and cygwin 1.7.7 have a known bug. uClibc is not dnl affected, since it uses different source code for strstr than dnl glibc. dnl Assume that it works on all other platforms, even if it is not dnl linear. AC_EGREP_CPP([Lucky user], [ #ifdef __GNU_LIBRARY__ #include #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ || defined __UCLIBC__ Lucky user #endif #elif defined __CYGWIN__ #include #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) Lucky user #endif #else Lucky user #endif ], [gl_cv_func_strstr_works_always="guessing yes"], [gl_cv_func_strstr_works_always="guessing no"]) ]) ]) case "$gl_cv_func_strstr_works_always" in *yes) ;; *) REPLACE_STRSTR=1 ;; esac fi ]) # gl_FUNC_STRSTR_SIMPLE dnl Additionally, check that strstr is efficient. AC_DEFUN([gl_FUNC_STRSTR], [ AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE]) if test $REPLACE_STRSTR = 0; then AC_CACHE_CHECK([whether strstr works in linear time], [gl_cv_func_strstr_linear], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include /* for signal */ #include /* for strstr */ #include /* for malloc */ #include /* for alarm */ static void quit (int sig) { exit (sig + 128); } ]], [[ int result = 0; size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 2); char *needle = (char *) malloc (m + 2); /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also have quadratic strstr. */ signal (SIGALRM, quit); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) { memset (haystack, 'A', 2 * m); haystack[2 * m] = 'B'; haystack[2 * m + 1] = 0; memset (needle, 'A', m); needle[m] = 'B'; needle[m + 1] = 0; if (!strstr (haystack, needle)) result |= 1; } return result; ]])], [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], [dnl Only glibc > 2.12 on processors without SSE 4.2 instructions and dnl cygwin > 1.7.7 are known to have a bug-free strstr that works in dnl linear time. AC_EGREP_CPP([Lucky user], [ #include #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ && !(defined __i386__ || defined __x86_64__) \ && !defined __UCLIBC__ Lucky user #endif #endif #ifdef __CYGWIN__ #include #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) Lucky user #endif #endif ], [gl_cv_func_strstr_linear="guessing yes"], [gl_cv_func_strstr_linear="guessing no"]) ]) ]) case "$gl_cv_func_strstr_linear" in *yes) ;; *) REPLACE_STRSTR=1 ;; esac fi ]) # gl_FUNC_STRSTR coreutils-8.21/m4/thread.m40000664000000000000000000000076112071024546012404 00000000000000# thread.m4 serial 3 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_THREAD], [ AC_REQUIRE([gl_THREADLIB]) if test $gl_threads_api = posix; then gl_save_LIBS="$LIBS" LIBS="$LIBS $LIBMULTITHREAD" AC_CHECK_FUNCS([pthread_atfork]) LIBS="$gl_save_LIBS" fi ]) coreutils-8.21/m4/config-h.m40000664000000000000000000000105712071024546012626 00000000000000# Say that -DHAVE_CONFIG_H is not needed. dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. # This package's source files all include config.h unconditionally, # so there's no need to pass -DHAVE_CONFIG_H to the compiler. AC_DEFUN([gl_CONFIG_H], [AC_CONFIG_COMMANDS_PRE([test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS=])]) coreutils-8.21/m4/intlmacosx.m40000664000000000000000000000475312071024546013323 00000000000000# intlmacosx.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on Mac OS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in Mac OS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFPreferencesCopyAppValue(NULL, NULL)]])], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in Mac OS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFLocaleCopyCurrent();]])], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) coreutils-8.21/m4/strsignal.m40000664000000000000000000000371212071024546013142 00000000000000# strsignal.m4 serial 8 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRSIGNAL], [ dnl Persuade glibc to declare strsignal(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([strsignal]) if test $ac_cv_have_decl_strsignal = no; then HAVE_DECL_STRSIGNAL=0 fi AC_CHECK_FUNCS([strsignal]) if test $ac_cv_func_strsignal = yes; then HAVE_STRSIGNAL=1 dnl Check if strsignal behaves reasonably for out-of-range signal numbers. dnl On Solaris it returns NULL; on AIX 5.1 it returns (char *) -1. AC_CACHE_CHECK([whether strsignal always returns a string], [gl_cv_func_working_strsignal], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include /* NetBSD 5.0 declares it in wrong header. */ ]], [[int result = 0; char *s = strsignal (-1); if (s == (char *) 0) result |= 1; if (s == (char *) -1) result |= 2; return result; ]])], [gl_cv_func_working_strsignal=yes], [gl_cv_func_working_strsignal=no], [case "$host_os" in solaris* | aix*) gl_cv_func_working_strsignal=no;; *) gl_cv_func_working_strsignal="guessing yes";; esac])]) if test "$gl_cv_func_working_strsignal" = no; then REPLACE_STRSIGNAL=1 fi else HAVE_STRSIGNAL=0 fi ]) # Prerequisites of lib/strsignal.c. AC_DEFUN([gl_PREREQ_STRSIGNAL], [ AC_CHECK_HEADERS_ONCE([unistd.h]) AC_REQUIRE([AC_DECL_SYS_SIGLIST]) AC_CHECK_DECLS([_sys_siglist], [], [], [[#include ]]) ]) coreutils-8.21/m4/modechange.m40000664000000000000000000000052412071024546013224 00000000000000# modechange.m4 serial 7 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MODECHANGE], [ : ]) coreutils-8.21/m4/mknod.m40000664000000000000000000000447612071024546012254 00000000000000# serial 5 # See if we need to provide mknod replacement. dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Eric Blake. AC_DEFUN([gl_FUNC_MKNOD], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_FUNC_MKFIFO]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([mknod]) if test $ac_cv_func_mknod = no; then HAVE_MKNOD=0 else dnl Detect BSD bug, where mknod requires root privileges to create fifo. AC_CACHE_CHECK([whether mknod can create fifo without root privileges], [gl_cv_func_mknod_works], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include /* Copied from root-uid.h. FIXME: Just use root-uid.h. */ #ifdef __TANDEM # define ROOT_UID 65535 #else # define ROOT_UID 0 #endif ]], [[/* Indeterminate for super-user, assume no. Why are you running configure as root, anyway? */ if (geteuid () == ROOT_UID) return 99; if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2;]])], [gl_cv_func_mknod_works=yes], [if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then AC_MSG_FAILURE([you should not run configure as root ]dnl [(set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)]) fi gl_cv_func_mknod_works=no], [case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mknod_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mknod_works="guessing no" ;; esac ]) rm -f conftest.fifo]) case "$gl_cv_func_mknod_works" in *yes) ;; *) REPLACE_MKNOD=1 AC_DEFINE([MKNOD_FIFO_BUG], [1], [Define to 1 if mknod cannot create a fifo without super-user privileges]) ;; esac dnl Systems that mishandle trailing slash on mkfifo also goof on mknod. if test $REPLACE_MKFIFO = 1; then REPLACE_MKNOD=1 fi fi ]) coreutils-8.21/m4/dirent_h.m40000664000000000000000000000476612071024546012742 00000000000000# dirent_h.m4 serial 16 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Bruno Haible. AC_DEFUN([gl_DIRENT_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([dirent.h]) if test $ac_cv_header_dirent_h = yes; then HAVE_DIRENT_H=1 else HAVE_DIRENT_H=0 fi AC_SUBST([HAVE_DIRENT_H]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir]) ]) AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_DIRENT_H_DEFAULTS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR GNULIB_OPENDIR=0; AC_SUBST([GNULIB_OPENDIR]) GNULIB_READDIR=0; AC_SUBST([GNULIB_READDIR]) GNULIB_REWINDDIR=0; AC_SUBST([GNULIB_REWINDDIR]) GNULIB_CLOSEDIR=0; AC_SUBST([GNULIB_CLOSEDIR]) GNULIB_DIRFD=0; AC_SUBST([GNULIB_DIRFD]) GNULIB_FDOPENDIR=0; AC_SUBST([GNULIB_FDOPENDIR]) GNULIB_SCANDIR=0; AC_SUBST([GNULIB_SCANDIR]) GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_OPENDIR=1; AC_SUBST([HAVE_OPENDIR]) HAVE_READDIR=1; AC_SUBST([HAVE_READDIR]) HAVE_REWINDDIR=1; AC_SUBST([HAVE_REWINDDIR]) HAVE_CLOSEDIR=1; AC_SUBST([HAVE_CLOSEDIR]) HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD]) HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR]) HAVE_FDOPENDIR=1; AC_SUBST([HAVE_FDOPENDIR]) HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR]) HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT]) REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR]) REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR]) REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD]) REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR]) ]) coreutils-8.21/m4/yesno.m40000664000000000000000000000056112071024546012270 00000000000000# yesno.m4 serial 6 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_YESNO], [ dnl No prerequisites of lib/yesno.c. : ]) coreutils-8.21/m4/locale_h.m40000664000000000000000000001040112071024546012673 00000000000000# locale_h.m4 serial 19 dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LOCALE_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) dnl Persuade glibc to define locale_t and the int_p_*, int_n_* dnl members of 'struct lconv'. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) dnl If is replaced, then must also be replaced. AC_REQUIRE([gl_STDDEF_H]) dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv' dnl only if _LCONV_C99 is defined. AC_REQUIRE([AC_CANONICAL_HOST]) case "$host_os" in solaris*) AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.]) ;; esac AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001], [gl_cv_header_locale_h_posix2001], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include int x = LC_MESSAGES; int y = sizeof (((struct lconv *) 0)->decimal_point);]], [[]])], [gl_cv_header_locale_h_posix2001=yes], [gl_cv_header_locale_h_posix2001=no])]) dnl Check for . AC_CHECK_HEADERS_ONCE([xlocale.h]) if test $ac_cv_header_xlocale_h = yes; then HAVE_XLOCALE_H=1 dnl Check whether use of locale_t requires inclusion of , dnl e.g. on Mac OS X 10.5. If does not define locale_t by dnl itself, we assume that will do so. AC_CACHE_CHECK([whether locale.h defines locale_t], [gl_cv_header_locale_has_locale_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include locale_t x;]], [[]])], [gl_cv_header_locale_has_locale_t=yes], [gl_cv_header_locale_has_locale_t=no]) ]) if test $gl_cv_header_locale_has_locale_t = yes; then gl_cv_header_locale_h_needs_xlocale_h=no else gl_cv_header_locale_h_needs_xlocale_h=yes fi else HAVE_XLOCALE_H=0 gl_cv_header_locale_h_needs_xlocale_h=no fi AC_SUBST([HAVE_XLOCALE_H]) dnl Check whether 'struct lconv' is complete. dnl Bionic libc's 'struct lconv' is just a dummy. dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x, dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members. AC_CACHE_CHECK([whether struct lconv is properly defined], [gl_cv_sys_struct_lconv_ok], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include struct lconv l; int x = sizeof (l.decimal_point); int y = sizeof (l.int_p_cs_precedes);]], [[]])], [gl_cv_sys_struct_lconv_ok=yes], [gl_cv_sys_struct_lconv_ok=no]) ]) if test $gl_cv_sys_struct_lconv_ok = no; then REPLACE_STRUCT_LCONV=1 fi dnl is always overridden, because of GNULIB_POSIXCHECK. gl_NEXT_HEADERS([locale.h]) dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use. gl_WARN_ON_USE_PREPARE([[#include /* Some systems provide declarations in a non-standard header. */ #if HAVE_XLOCALE_H # include #endif ]], [setlocale duplocale]) ]) AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) AC_DEFUN([gl_LOCALE_H_DEFAULTS], [ GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV]) REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE]) REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE]) REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV]) ]) coreutils-8.21/m4/00gnulib.m40000664000000000000000000000252212071024546012552 00000000000000# 00gnulib.m4 serial 2 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This file must be named something that sorts before all other dnl gnulib-provided .m4 files. It is needed until such time as we can dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. # AC_DEFUN_ONCE([NAME], VALUE) # ---------------------------- # Define NAME to expand to VALUE on the first use (whether by direct # expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. # Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This # definition is slower than the version in Autoconf 2.64, because it # can only use interfaces that existed since 2.59; but it achieves the # same effect. Quoting is necessary to avoid confusing Automake. m4_version_prereq([2.63.263], [], [m4_define([AC][_DEFUN_ONCE], [AC][_DEFUN([$1], [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl [AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) # gl_00GNULIB # ----------- # Witness macro that this file has been included. Needed to force # Automake to include this file prior to all other gnulib .m4 files. AC_DEFUN([gl_00GNULIB]) coreutils-8.21/m4/mgetgroups.m40000664000000000000000000000051512071024546013326 00000000000000#serial 5 dnl Copyright (C) 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MGETGROUPS], [ AC_CHECK_FUNCS_ONCE([getgrouplist]) ]) coreutils-8.21/m4/fchmodat.m40000664000000000000000000000102112071024546012710 00000000000000# fchmodat.m4 serial 1 dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_FCHMODAT], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([fchmodat lchmod]) if test $ac_cv_func_fchmodat != yes; then HAVE_FCHMODAT=0 fi ]) coreutils-8.21/m4/strtoumax.m40000664000000000000000000000135112071024546013177 00000000000000# strtoumax.m4 serial 11 dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOUMAX], [ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) dnl On OSF/1 5.1 with cc, this function is declared but not defined. AC_CHECK_FUNCS_ONCE([strtoumax]) AC_CHECK_DECLS_ONCE([strtoumax]) if test "$ac_cv_have_decl_strtoumax" != yes; then HAVE_DECL_STRTOUMAX=0 fi ]) # Prerequisites of lib/strtoumax.c. AC_DEFUN([gl_PREREQ_STRTOUMAX], [ AC_CHECK_DECLS([strtoull]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) ]) coreutils-8.21/m4/mbswidth.m40000664000000000000000000000263512071024546012760 00000000000000# mbswidth.m4 serial 18 dnl Copyright (C) 2000-2002, 2004, 2006-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbswidth.c dnl From Bruno Haible. AC_DEFUN([gl_MBSWIDTH], [ AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([isascii mbsinit]) dnl UnixWare 7.1.1 has a declaration of a function mbswidth() dnl that clashes with ours. AC_CACHE_CHECK([whether mbswidth is declared in ], [ac_cv_have_decl_mbswidth], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]], [[ char *p = (char *) mbswidth; return !p; ]])], [ac_cv_have_decl_mbswidth=yes], [ac_cv_have_decl_mbswidth=no])]) if test $ac_cv_have_decl_mbswidth = yes; then ac_val=1 else ac_val=0 fi AC_DEFINE_UNQUOTED([HAVE_DECL_MBSWIDTH_IN_WCHAR_H], [$ac_val], [Define to 1 if you have a declaration of mbswidth() in , and to 0 otherwise.]) AC_TYPE_MBSTATE_T ]) coreutils-8.21/m4/write.m40000664000000000000000000000175512071024546012273 00000000000000# write.m4 serial 5 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WRITE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_MSVC_INVAL]) if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_WRITE=1 fi dnl This ifdef is just an optimization, to avoid performing a configure dnl check whose result is not used. It does not make the test of dnl GNULIB_UNISTD_H_SIGPIPE or GNULIB_SIGPIPE redundant. m4_ifdef([gl_SIGNAL_SIGPIPE], [ gl_SIGNAL_SIGPIPE if test $gl_cv_header_signal_h_SIGPIPE != yes; then REPLACE_WRITE=1 fi ]) m4_ifdef([gl_NONBLOCKING_IO], [ gl_NONBLOCKING_IO if test $gl_cv_have_nonblocking != yes; then REPLACE_WRITE=1 fi ]) ]) # Prerequisites of lib/write.c. AC_DEFUN([gl_PREREQ_WRITE], [:]) coreutils-8.21/m4/socketlib.m40000664000000000000000000000524412071024546013115 00000000000000# socketlib.m4 serial 1 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl gl_SOCKETLIB dnl Determines the library to use for socket functions. dnl Sets and AC_SUBSTs LIBSOCKET. AC_DEFUN([gl_SOCKETLIB], [ gl_PREREQ_SYS_H_WINSOCK2 dnl for HAVE_WINSOCK2_H LIBSOCKET= if test $HAVE_WINSOCK2_H = 1; then dnl Native Windows API (not Cygwin). AC_CACHE_CHECK([if we need to call WSAStartup in winsock2.h and -lws2_32], [gl_cv_func_wsastartup], [ gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_WINSOCK2_H # include #endif]], [[ WORD wVersionRequested = MAKEWORD(1, 1); WSADATA wsaData; int err = WSAStartup(wVersionRequested, &wsaData); WSACleanup ();]])], gl_cv_func_wsastartup=yes, gl_cv_func_wsastartup=no) LIBS="$gl_save_LIBS" ]) if test "$gl_cv_func_wsastartup" = "yes"; then AC_DEFINE([WINDOWS_SOCKETS], [1], [Define if WSAStartup is needed.]) LIBSOCKET='-lws2_32' fi else dnl Unix API. dnl Solaris has most socket functions in libsocket. dnl Haiku has most socket functions in libnetwork. dnl BeOS has most socket functions in libnet. AC_CACHE_CHECK([for library containing setsockopt], [gl_cv_lib_socket], [ gl_cv_lib_socket= AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern #ifdef __cplusplus "C" #endif char setsockopt();]], [[setsockopt();]])], [], [gl_save_LIBS="$LIBS" LIBS="$gl_save_LIBS -lsocket" AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern #ifdef __cplusplus "C" #endif char setsockopt();]], [[setsockopt();]])], [gl_cv_lib_socket="-lsocket"]) if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnetwork" AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern #ifdef __cplusplus "C" #endif char setsockopt();]], [[setsockopt();]])], [gl_cv_lib_socket="-lnetwork"]) if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnet" AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern #ifdef __cplusplus "C" #endif char setsockopt();]], [[setsockopt();]])], [gl_cv_lib_socket="-lnet"]) fi fi LIBS="$gl_save_LIBS" ]) if test -z "$gl_cv_lib_socket"; then gl_cv_lib_socket="none needed" fi ]) if test "$gl_cv_lib_socket" != "none needed"; then LIBSOCKET="$gl_cv_lib_socket" fi fi AC_SUBST([LIBSOCKET]) ]) coreutils-8.21/m4/configmake.m40000664000000000000000000000354012071024546013236 00000000000000# configmake.m4 serial 1 dnl Copyright (C) 2010-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_CONFIGMAKE_PREP # ------------------ # Guarantee all of the standard directory variables, even when used with # autoconf 2.59 (datarootdir wasn't supported until 2.59c) or automake # 1.9.6 (pkglibexecdir wasn't supported until 1.10b.). AC_DEFUN([gl_CONFIGMAKE_PREP], [ dnl Technically, datadir should default to datarootdir. But if dnl autoconf is too old to provide datarootdir, then reversing the dnl definition is a reasonable compromise. Only AC_SUBST a variable dnl if it was not already defined earlier by autoconf. if test "x$datarootdir" = x; then AC_SUBST([datarootdir], ['${datadir}']) fi dnl Copy the approach used in autoconf 2.60. if test "x$docdir" = x; then AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], ['${datarootdir}/doc/${PACKAGE_TARNAME}'], ['${datarootdir}/doc/${PACKAGE}'])]) fi dnl The remaining variables missing from autoconf 2.59 are easier. if test "x$htmldir" = x; then AC_SUBST([htmldir], ['${docdir}']) fi if test "x$dvidir" = x; then AC_SUBST([dvidir], ['${docdir}']) fi if test "x$pdfdir" = x; then AC_SUBST([pdfdir], ['${docdir}']) fi if test "x$psdir" = x; then AC_SUBST([psdir], ['${docdir}']) fi if test "x$lispdir" = x; then AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp']) fi if test "x$localedir" = x; then AC_SUBST([localedir], ['${datarootdir}/locale']) fi dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe. AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}']) ]) coreutils-8.21/m4/dirname.m40000664000000000000000000000105412071024546012550 00000000000000#serial 10 -*- autoconf -*- dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DIRNAME], [ AC_REQUIRE([gl_DIRNAME_LGPL]) ]) AC_DEFUN([gl_DIRNAME_LGPL], [ dnl Prerequisites of lib/dirname.h. AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c, dnl lib/stripslash.c. ]) coreutils-8.21/m4/stdalign.m40000664000000000000000000000364312071024546012744 00000000000000# Check for stdalign.h that conforms to C11. dnl Copyright 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prepare for substituting if it is not supported. AC_DEFUN([gl_STDALIGN_H], [ AC_CACHE_CHECK([for working stdalign.h], [gl_cv_header_working_stdalign_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include #include /* Test that alignof yields a result consistent with offsetof. This catches GCC bug 52023 . */ #ifdef __cplusplus template struct alignof_helper { char a; t b; }; # define ao(type) offsetof (alignof_helper, b) #else # define ao(type) offsetof (struct { char a; type b; }, b) #endif char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; /* Test _Alignas only on platforms where gnulib can help. */ #if \ (__GNUC__ || __IBMC__ || __IBMCPP__ \ || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) int alignas (8) alignas_int = 1; char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1]; #endif ]])], [gl_cv_header_working_stdalign_h=yes], [gl_cv_header_working_stdalign_h=no])]) if test $gl_cv_header_working_stdalign_h = yes; then STDALIGN_H='' else STDALIGN_H='stdalign.h' fi AC_SUBST([STDALIGN_H]) AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) ]) coreutils-8.21/m4/filenamecat.m40000664000000000000000000000075512071024546013410 00000000000000# filenamecat.m4 serial 11 dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILE_NAME_CONCAT], [ AC_REQUIRE([gl_FILE_NAME_CONCAT_LGPL]) ]) AC_DEFUN([gl_FILE_NAME_CONCAT_LGPL], [ dnl Prerequisites of lib/filenamecat-lgpl.c. AC_CHECK_FUNCS_ONCE([mempcpy]) ]) coreutils-8.21/m4/strtoull.m40000664000000000000000000000141112071024546013016 00000000000000# strtoull.m4 serial 7 dnl Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOULL], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) dnl We don't need (and can't compile) the replacement strtoull dnl unless the type 'unsigned long long int' exists. AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test "$ac_cv_type_unsigned_long_long_int" = yes; then AC_CHECK_FUNCS([strtoull]) if test $ac_cv_func_strtoull = no; then HAVE_STRTOULL=0 fi fi ]) # Prerequisites of lib/strtoull.c. AC_DEFUN([gl_PREREQ_STRTOULL], [ : ]) coreutils-8.21/m4/snprintf.m40000664000000000000000000000305512071024546012777 00000000000000# snprintf.m4 serial 6 dnl Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Libintl 0.17 will replace snprintf only if it does not support %1$s, dnl but defers to any gnulib snprintf replacements. Therefore, gnulib dnl must guarantee that the decision for replacing snprintf is a superset dnl of the reasons checked by libintl. AC_DEFUN([gl_FUNC_SNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_cv_func_snprintf_usable=no AC_CHECK_FUNCS([snprintf]) if test $ac_cv_func_snprintf = yes; then gl_SNPRINTF_SIZE1 case "$gl_cv_func_snprintf_size1" in *yes) gl_SNPRINTF_RETVAL_C99 case "$gl_cv_func_snprintf_retval_c99" in *yes) gl_PRINTF_POSITIONS case "$gl_cv_func_printf_positions" in *yes) gl_cv_func_snprintf_usable=yes ;; esac ;; esac ;; esac fi if test $gl_cv_func_snprintf_usable = no; then gl_REPLACE_SNPRINTF fi AC_CHECK_DECLS_ONCE([snprintf]) if test $ac_cv_have_decl_snprintf = no; then HAVE_DECL_SNPRINTF=0 fi ]) AC_DEFUN([gl_REPLACE_SNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([snprintf]) if test $ac_cv_func_snprintf = yes; then REPLACE_SNPRINTF=1 fi gl_PREREQ_SNPRINTF ]) # Prerequisites of lib/snprintf.c. AC_DEFUN([gl_PREREQ_SNPRINTF], [:]) coreutils-8.21/m4/lchmod.m40000664000000000000000000000115712071024546012403 00000000000000#serial 3 dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. dnl Provide a replacement for lchmod on hosts that lack it. AC_DEFUN([gl_FUNC_LCHMOD], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl Persuade glibc to declare lchmod(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([lchmod]) if test $ac_cv_func_lchmod = no; then HAVE_LCHMOD=0 fi ]) coreutils-8.21/m4/sys_types_h.m40000664000000000000000000000121212071024546013476 00000000000000# sys_types_h.m4 serial 4 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SYS_TYPES_H], [ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) gl_NEXT_HEADERS([sys/types.h]) dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) dnl Ensure the type mode_t gets defined. AC_REQUIRE([AC_TYPE_MODE_T]) dnl Whether to override the 'off_t' type. AC_REQUIRE([gl_TYPE_OFF_T]) ]) AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], [ ]) coreutils-8.21/m4/fcntl.m40000664000000000000000000000600512071024546012240 00000000000000# fcntl.m4 serial 5 dnl Copyright (C) 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # For now, this module ensures that fcntl() # - supports F_DUPFD correctly # - supports or emulates F_DUPFD_CLOEXEC # - supports F_GETFD # Still to be ported to mingw: # - F_SETFD # - F_GETFL, F_SETFL # - F_GETOWN, F_SETOWN # - F_GETLK, F_SETLK, F_SETLKW AC_DEFUN([gl_FUNC_FCNTL], [ dnl Persuade glibc to expose F_DUPFD_CLOEXEC. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([fcntl]) if test $ac_cv_func_fcntl = no; then gl_REPLACE_FCNTL else dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target dnl haiku alpha 2 F_DUPFD has wrong errno AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly], [gl_cv_func_fcntl_f_dupfd_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[int result = 0; if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; if (errno != EINVAL) result |= 2; return result; ]])], [gl_cv_func_fcntl_f_dupfd_works=yes], [gl_cv_func_fcntl_f_dupfd_works=no], [# Guess that it works on glibc systems case $host_os in #(( *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; esac])]) case $gl_cv_func_fcntl_f_dupfd_works in *yes) ;; *) gl_REPLACE_FCNTL AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD behavior does not match POSIX]) ;; esac dnl Many systems lack F_DUPFD_CLOEXEC AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC], [gl_cv_func_fcntl_f_dupfd_cloexec], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #ifndef F_DUPFD_CLOEXEC choke me #endif ]])], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef __linux__ /* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace it to support the semantics on older kernels that failed with EINVAL. */ choke me #endif ]])], [gl_cv_func_fcntl_f_dupfd_cloexec=yes], [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])], [gl_cv_func_fcntl_f_dupfd_cloexec=no])]) if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then gl_REPLACE_FCNTL dnl No witness macro needed for this bug. fi fi dnl Replace fcntl() for supporting the gnulib-defined fchdir() function, dnl to keep fchdir's bookkeeping up-to-date. m4_ifdef([gl_FUNC_FCHDIR], [ gl_TEST_FCHDIR if test $HAVE_FCHDIR = 0; then gl_REPLACE_FCNTL fi ]) ]) AC_DEFUN([gl_REPLACE_FCNTL], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fcntl]) if test $ac_cv_func_fcntl = no; then HAVE_FCNTL=0 else REPLACE_FCNTL=1 fi ]) coreutils-8.21/m4/wcswidth.m40000664000000000000000000000121312071024546012762 00000000000000# wcswidth.m4 serial 2 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCSWIDTH], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_WCWIDTH]) AC_CHECK_FUNCS_ONCE([wcswidth]) if test $ac_cv_func_wcswidth = no; then HAVE_WCSWIDTH=0 else if test $REPLACE_WCWIDTH = 1; then dnl If wcwidth needed to be replaced, wcswidth needs to be replaced dnl as well. REPLACE_WCSWIDTH=1 fi fi ]) coreutils-8.21/configure.ac0000664000000000000000000004207112102337340012633 00000000000000# -*- autoconf -*- # Process this file with autoconf to produce a configure script. # Copyright (C) 1991-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . dnl Written by Jim Meyering. AC_PREREQ([2.64]) # Make inter-release version strings look like, e.g., v6.9-219-g58ddd, which # indicates that it is built from the 219th delta (in _some_ repository) # following the v6.9 tag, and that 58ddd is a prefix of the commit SHA1. AC_INIT([GNU coreutils], m4_esyscmd([build-aux/git-version-gen .tarball-version]), [bug-coreutils@gnu.org]) AC_CONFIG_SRCDIR([src/ls.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([lib/config.h:lib/config.hin]) AM_INIT_AUTOMAKE([1.11.2 no-dist-gzip dist-xz color-tests parallel-tests subdir-objects]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. dnl POSIXCHECK is worthwhile for maintainers, but adds several seconds dnl (more than 10% execution time) to ./configure, with no benefit for dnl most users. Using it to look for bugs requires: dnl GNULIB_POSIXCHECK=1 autoreconf -f dnl ./configure dnl make dnl make -C src clean dnl make CFLAGS=-DGNULIB_POSIXCHECK=1 dnl FIXME: Once we figure out how to avoid false positives, we should dnl have 'make my-distcheck' in dist-check.mk exercise this. m4_syscmd([test "${GNULIB_POSIXCHECK+set}" = set]) m4_if(m4_sysval, [0], [], [dnl gl_ASSERT_NO_GNULIB_POSIXCHECK]) AC_PROG_CC_STDC AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_RANLIB AC_PROG_LN_S gl_EARLY gl_INIT coreutils_MACROS # The test suite needs to know if we have a working perl. # FIXME: this is suboptimal. Ideally, we would be able to call gl_PERL # with an ACTION-IF-NOT-FOUND argument ... cu_have_perl=yes case $PERL in *"/missing "*) cu_have_perl=no;; esac AM_CONDITIONAL([HAVE_PERL], [test $cu_have_perl = yes]) # gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) # ------------------------------------------------ # If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. # Otherwise, run RUN-IF-NOT-FOUND. AC_DEFUN([gl_GCC_VERSION_IFELSE], [AC_PREPROC_IFELSE( [AC_LANG_PROGRAM( [[ #if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__) /* ok */ #else # error "your version of gcc is older than $1.$2" #endif ]]), ], [$3], [$4]) ] ) AC_ARG_ENABLE([gcc-warnings], [AS_HELP_STRING([--enable-gcc-warnings], [turn on many GCC warnings (for developers; best with GNU make)])], [case $enableval in yes|no) ;; *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; esac gl_gcc_warnings=$enableval], [ # GCC provides fine-grained control over diagnostics which # is used in gnulib for example to suppress warnings from # certain sections of code. So if this is available and # we're running from a git repo, then auto enable the warnings. gl_gcc_warnings=no gl_GCC_VERSION_IFELSE([4], [6], [test -d "$srcdir"/.git && gl_gcc_warnings=yes])] ) if test "$gl_gcc_warnings" = yes; then gl_WARN_ADD([-Werror], [WERROR_CFLAGS]) AC_SUBST([WERROR_CFLAGS]) nw= # This, $nw, is the list of warnings we disable. nw="$nw -Wdeclaration-after-statement" # too useful to forbid nw="$nw -Waggregate-return" # anachronistic nw="$nw -Wlong-long" # C90 is anachronistic (lib/gethrxtime.h) nw="$nw -Wc++-compat" # We don't care about C++ compilers nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib nw="$nw -Wtraditional" # Warns on #elif which we use often nw="$nw -Wcast-qual" # Too many warnings for now nw="$nw -Wconversion" # Too many warnings for now nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wsign-conversion" # Too many warnings for now nw="$nw -Wtraditional-conversion" # Too many warnings for now nw="$nw -Wunreachable-code" # Too many warnings for now nw="$nw -Wpadded" # Our structs are not padded nw="$nw -Wredundant-decls" # openat.h declares e.g., mkdirat nw="$nw -Wlogical-op" # any use of fwrite provokes this nw="$nw -Wformat-nonliteral" # who.c and pinky.c strftime uses nw="$nw -Wvla" # warnings in gettext.h nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__ nw="$nw -Wswitch-enum" # Too many warnings for now nw="$nw -Wswitch-default" # Too many warnings for now nw="$nw -Wstack-protector" # not worth working around # things I might fix soon: nw="$nw -Wfloat-equal" # sort.c, seq.c nw="$nw -Wmissing-format-attribute" # copy.c nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c nw="$nw -Winline" # system.h's readdir_ignoring_dot_and_dotdot nw="$nw -Wsuggest-attribute=format" # warns about copy.c and factor.c # Using -Wstrict-overflow is a pain, but the alternative is worse. # For an example, see the code that provoked this report: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33498 # Code like that still infloops with gcc-4.6.0 and -O2. Scary indeed. gl_MANYWARN_ALL_GCC([ws]) gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw]) for w in $ws; do gl_WARN_ADD([$w]) done gl_WARN_ADD([-Wno-sign-compare]) # Too many warnings for now gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now gl_WARN_ADD([-Wsuggest-attribute=const]) gl_WARN_ADD([-Wsuggest-attribute=noreturn]) gl_WARN_ADD([-Wno-format-nonliteral]) # Enable this warning only with gcc-4.7 and newer. With 4.6.2 20111027, # it suggests test.c's advance function may be pure, even though it # increments a global variable. Oops. # Normally we'd write code to test for the precise failure, but that # requires a relatively large input to make gcc exhibit the failure. gl_GCC_VERSION_IFELSE([4], [7], [gl_WARN_ADD([-Wsuggest-attribute=pure])]) # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c gl_WARN_ADD([-Wno-logical-op]) gl_WARN_ADD([-fdiagnostics-show-option]) gl_WARN_ADD([-funit-at-a-time]) AC_SUBST([WARN_CFLAGS]) AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.]) AH_VERBATIM([FORTIFY_SOURCE], [/* Enable compile-time and run-time bounds-checking, and some warnings, without upsetting glibc 2.15+. */ #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ # define _FORTIFY_SOURCE 2 #endif ]) AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks]) # We use a slightly smaller set of warning options for lib/. # Remove the following and save the result in GNULIB_WARN_CFLAGS. nw= nw="$nw -Wstrict-overflow" nw="$nw -Wuninitialized" nw="$nw -Wunused-macros" nw="$nw -Wmissing-prototypes" nw="$nw -Wold-style-definition" # FIXME: it may be easy to remove this, since it affects only one file: # the snprintf call at ftoastr.c:132. nw="$nw -Wdouble-promotion" gl_MANYWARN_COMPLEMENT([GNULIB_WARN_CFLAGS], [$WARN_CFLAGS], [$nw]) AC_SUBST([GNULIB_WARN_CFLAGS]) # For gnulib-tests, the set is slightly smaller still. nw= nw="$nw -Wstrict-prototypes" # It's not worth being this picky about test programs. nw="$nw -Wsuggest-attribute=const" nw="$nw -Wsuggest-attribute=pure" gl_MANYWARN_COMPLEMENT([GNULIB_TEST_WARN_CFLAGS], [$GNULIB_WARN_CFLAGS], [$nw]) AC_SUBST([GNULIB_TEST_WARN_CFLAGS]) fi AC_FUNC_FORK optional_bin_progs= AC_CHECK_FUNCS([chroot], gl_ADD_PROG([optional_bin_progs], [chroot])) AC_CHECK_FUNCS([gethostid], gl_ADD_PROG([optional_bin_progs], [hostid])) gl_WINSIZE_IN_PTEM AC_MSG_CHECKING([whether localtime caches TZ]) AC_CACHE_VAL([utils_cv_localtime_cache], [if test x$ac_cv_func_tzset = xyes; then AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #if STDC_HEADERS # include #endif extern char **environ; void unset_TZ (void) { char **from, **to; for (to = from = environ; (*to = *from); from++) if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) to++; } int main() { time_t now = time ((time_t *) 0); int hour_GMT0, hour_unset; if (putenv ("TZ=GMT0") != 0) return 1; hour_GMT0 = localtime (&now)->tm_hour; unset_TZ (); hour_unset = localtime (&now)->tm_hour; if (putenv ("TZ=PST8") != 0) return 1; if (localtime (&now)->tm_hour == hour_GMT0) return 1; unset_TZ (); if (localtime (&now)->tm_hour != hour_unset) return 1; return 0; }]])], [utils_cv_localtime_cache=no], [utils_cv_localtime_cache=yes], [# If we have tzset, assume the worst when cross-compiling. utils_cv_localtime_cache=yes]) else # If we lack tzset, report that localtime does not cache TZ, # since we can't invalidate the cache if we don't have tzset. utils_cv_localtime_cache=no fi])dnl AC_MSG_RESULT([$utils_cv_localtime_cache]) if test $utils_cv_localtime_cache = yes; then AC_DEFINE([LOCALTIME_CACHE], [1], [FIXME]) fi # SCO-ODT-3.0 is reported to need -los to link programs using initgroups AC_CHECK_FUNCS([initgroups]) if test $ac_cv_func_initgroups = no; then AC_CHECK_LIB([os], [initgroups]) fi AC_CHECK_FUNCS([syslog]) if test $ac_cv_func_syslog = no; then # syslog is not in the default libraries. See if it's in some other. for lib in bsd socket inet; do AC_CHECK_LIB([$lib], [syslog], [AC_DEFINE([HAVE_SYSLOG], [1], [FIXME]) LIBS="$LIBS -l$lib"; break]) done fi AC_CACHE_CHECK([for 3-argument setpriority function], [utils_cv_func_setpriority], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[setpriority (0, 0, 0);]])], [utils_cv_func_setpriority=yes], [utils_cv_func_setpriority=no])]) if test $utils_cv_func_setpriority = no; then AC_CHECK_FUNCS([nice]) fi case $utils_cv_func_setpriority,$ac_cv_func_nice in *yes*) gl_ADD_PROG([optional_bin_progs], [nice]) esac AC_DEFUN([coreutils_DUMMY_1], [ AC_REQUIRE([gl_READUTMP]) if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then gl_ADD_PROG([optional_bin_progs], [who]) gl_ADD_PROG([optional_bin_progs], [users]) gl_ADD_PROG([optional_bin_progs], [pinky]) fi ]) coreutils_DUMMY_1 AC_MSG_CHECKING([ut_host in struct utmp]) AC_CACHE_VAL([su_cv_func_ut_host_in_utmp], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include ]], [[struct utmp ut; return !sizeof ut.ut_host;]])], [su_cv_func_ut_host_in_utmp=yes], [su_cv_func_ut_host_in_utmp=no])]) AC_MSG_RESULT([$su_cv_func_ut_host_in_utmp]) if test $su_cv_func_ut_host_in_utmp = yes; then have_ut_host=1 AC_DEFINE([HAVE_UT_HOST], [1], [FIXME]) fi if test -z "$have_ut_host"; then AC_MSG_CHECKING([ut_host in struct utmpx]) AC_CACHE_VAL([su_cv_func_ut_host_in_utmpx], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include ]], [[struct utmpx ut; return !sizeof ut.ut_host;]])], [su_cv_func_ut_host_in_utmpx=yes], [su_cv_func_ut_host_in_utmpx=no])]) AC_MSG_RESULT([$su_cv_func_ut_host_in_utmpx]) if test $su_cv_func_ut_host_in_utmpx = yes; then AC_DEFINE([HAVE_UTMPX_H], [1], [FIXME]) AC_DEFINE([HAVE_UT_HOST], [1], [FIXME]) fi fi GNULIB_BOOT_TIME([gl_ADD_PROG([optional_bin_progs], [uptime])]) AC_SYS_POSIX_TERMIOS() gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL if test $ac_cv_sys_posix_termios = yes; then gl_ADD_PROG([optional_bin_progs], [stty]) AC_MSG_CHECKING([whether termios.h needs _XOPEN_SOURCE]) AC_CACHE_VAL([su_cv_sys_termios_needs_xopen_source], [AC_EGREP_CPP([yes], [#include #ifdef IUCLC yes #endif], su_cv_sys_termios_needs_xopen_source=no, AC_EGREP_CPP([yes], [#define _XOPEN_SOURCE #include #ifdef IUCLC yes #endif], su_cv_sys_termios_needs_xopen_source=yes, su_cv_sys_termios_needs_xopen_source=no))]) AC_MSG_RESULT([$su_cv_sys_termios_needs_xopen_source]) test $su_cv_sys_termios_needs_xopen_source = yes && AC_DEFINE([TERMIOS_NEEDS_XOPEN_SOURCE], [1], [FIXME]) AC_MSG_CHECKING([c_line in struct termios]) AC_CACHE_VAL([su_cv_sys_c_line_in_termios], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if TERMIOS_NEEDS_XOPEN_SOURCE #define _XOPEN_SOURCE #endif #include #include ]], [[struct termios t; return !sizeof t.c_line;]])], [su_cv_sys_c_line_in_termios=yes], [su_cv_sys_c_line_in_termios=no])]) AC_MSG_RESULT([$su_cv_sys_c_line_in_termios]) test $su_cv_sys_c_line_in_termios = yes \ && AC_DEFINE([HAVE_C_LINE], [1], [FIXME]) fi # FIXME: note that this macro appears above, too. # I'm leaving it here for now. This whole thing needs to be modernized... gl_WINSIZE_IN_PTEM gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \ test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then AC_MSG_CHECKING([TIOCGWINSZ in sys/pty.h]) AC_CACHE_VAL([su_cv_sys_tiocgwinsz_in_sys_pty_h], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #ifdef WINSIZE_IN_PTEM # include # include #endif #include #include #include ]], [[int x = TIOCGWINSZ;]])], [su_cv_sys_tiocgwinsz_in_sys_pty_h=yes], [su_cv_sys_tiocgwinsz_in_sys_pty_h=no])]) AC_MSG_RESULT([$su_cv_sys_tiocgwinsz_in_sys_pty_h]) test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \ && AC_DEFINE([GWINSZ_IN_SYS_PTY], [1], [Define if your system defines TIOCGWINSZ in sys/pty.h.]) fi # For src/kill.c. AC_CHECK_DECLS([strsignal, sys_siglist, _sys_siglist, __sys_siglist], , , [AC_INCLUDES_DEFAULT #include ]) cu_GMP # Build df only if there's a point to it. if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then gl_ADD_PROG([optional_bin_progs], [df]) fi # Limit stdbuf to ELF systems with GCC AC_MSG_CHECKING([whether this is an ELF system]) AC_EGREP_CPP([yes], [#if __ELF__ yes #endif], [elf_sys=yes], [elf_sys=no]) AC_MSG_RESULT([$elf_sys]) if test "$elf_sys" = "yes" && \ test "$GCC" = "yes"; then gl_ADD_PROG([optional_bin_progs], [stdbuf]) fi ############################################################################ dnl Autogenerated by the 'gen-lists-of-programs.sh' auxiliary script. dnl Issue proper calls to the macros gl_INCLUDE_EXCLUDE_PROG and dnl gl_ADD_PROG (updating $optional_bin_progs), and generate the list dnl of coreutils programs to be built only upon explicit user request, dnl saving that list in the $no_install_progs_default shell variable. m4_include([m4/cu-progs.m4]) # Now that we know which programs will actually be built, determine # which optional helper progs should be compiled. case " $optional_bin_progs " in *' stdbuf '*) pkglibexec_PROGRAMS='src/libstdbuf.so';; *) pkglibexec_PROGRAMS='';; esac man1_MANS=` for p in $optional_bin_progs; do # Change "ginstall.1" to "install.1". test $p = ginstall && p=install # Ignore the "[" program, since writing a portable make rule to # generate its manpage is not practical. dnl Use the autoconf-provided quadrigraph to represent "[", dnl otherwise we will incur in dreadful quoting issues. test x$p = x'@<:@' && continue echo "man/$p.1" done` # Not installed by "make install", but must be built when creating # a distribution tarball. EXTRA_MANS=`for p in $no_install_progs_default; do echo man/$p.1; done` # The programs built and installed by "make && make install". # Since this is AC_SUBST'd, Automake won't be able to perform rewrite # with $(EXEEXT) appending on it, so we have to do it ourselves -- in # this case, only for $(bin_PROGRAMS). bin_PROGRAMS=` for p in $optional_bin_progs; do echo src/"$p"'$(EXEEXT)'; done` # Normalize whitespace. man1_MANS=`echo $man1_MANS` EXTRA_MANS=`echo $EXTRA_MANS` bin_PROGRAMS=`echo $bin_PROGRAMS` pkglibexec_PROGS=`echo $pkglibexec_PROGRAMS` AC_SUBST([bin_PROGRAMS]) AM_SUBST_NOTMAKE([bin_PROGRAMS]) AC_SUBST([pkglibexec_PROGRAMS]) AM_SUBST_NOTMAKE([pkglibexec_PROGRAMS]) AC_SUBST([man1_MANS]) AM_SUBST_NOTMAKE([man1_MANS]) AC_SUBST([EXTRA_MANS]) AM_SUBST_NOTMAKE([EXTRA_MANS]) AC_SUBST([built_programs], [$optional_bin_progs]) AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes]) ############################################################################ # As long as "grep 'PRI[diouxX]' po/*.pot" reports matches in # translatable strings, we must use need-formatstring-macros here. AM_GNU_GETTEXT([external], [need-formatstring-macros]) AM_GNU_GETTEXT_VERSION([0.18.1]) # For a test of uniq: it uses the $LOCALE_FR envvar. gt_LOCALE_FR AC_CONFIG_FILES( Makefile po/Makefile.in gnulib-tests/Makefile ) AC_OUTPUT coreutils-8.21/.mailmap0000664000000000000000000000265712104776321012004 00000000000000# Map git author names and email addresses to canonical/preferred form. Paul Eggert Paul Eggert # Evan's two changes listed my email address. Evan Hunt Evan Hunt Pádraig Brady # Prefer spelled-out middle name and its address. Arne Henrik Juul Arne H. Juul # Had email as name. Dan Jacobson jidanni@jidanni.org coreutils-8.21/TODO0000664000000000000000000001571312102337340011040 00000000000000If you're interested in helping, here are some tasks that we've considered over the years. Beware: some are quite old and no longer valid. To avoid wasting your time by duplicating work or by working on a task that is no longer pertinent, please search the mailing list and post your intent before embarking on a big project. ================================================== Modify chmod so that it does not change an inode's st_ctime when the selected operation would have no other effect. First suggested by Hans Ecke in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/2920 Discussed more recently on . document the following in coreutils.texi: [ pinky Suggestion from Paul Eggert: More generally, there's not that much use for imaxtostr nowadays, since the inttypes module and newer versions of gettext allow things like _("truncating %s at %" PRIdMAX " bytes") to work portably. I suspect that (if someone cares to take the time) we can remove all instances of imaxtostr and umaxtostr in coreutils and gnulib. cp --recursive: use fts and *at functions to perform directory traversals in source and destination hierarchy rather than forming full file names. The latter (current) approach fails unnecessarily when the names become very long, and requires space and time that is quadratic in the depth of the hierarchy. [Bo Borgerson is working on this] printf: Now that gnulib supports *printf("%a"), import one of the *printf-posix modules so that printf(1) will support %a even on platforms where the native *printf(3) is deficient. Suggestion from Eric Blake. consider adding some implementation of the "col" utility Suggested by Karl Berry. doc/coreutils.texi: Address this comment: FIXME: mv's behavior in this case is system-dependent Better still: fix the code so it's *not* system-dependent. ls: add --format=FORMAT option that controls how each line is printed. copy.c: Address the FIXME-maybe comment in copy_internal. And once that's done, add an exclusion so that 'cp --link' no longer incurs the overhead of saving src. dev/ino and dest. filename in the hash table. Write an autoconf test to work around build failure in HPUX's 64-bit mode. See notes in README -- and remove them once there's a work-around. Integrate use of sendfile, suggested here: http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html I don't plan to do that, since a few tests demonstrate no significant benefit. printf: consider adapting builtins/printf.def from bash tail: don't use xlseek; it *exits*. Instead, maybe use a macro and return nonzero. tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR lib/strftime.c: Since %N is the only format that we need but that glibc's strftime doesn't support, consider using a wrapper that would expand /%(-_)?\d*N/ to the desired string and then pass the resulting string to glibc's strftime. unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html] printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified. printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n" sort: Investigate better sorting algorithms; see Knuth vol. 3. We tried list merge sort, but it was about 50% slower than the recursive algorithm currently used by sortlines, and it used more comparisons. We're not sure why this was, as the theory suggests it should do fewer comparisons, so perhaps this should be revisited. List merge sort was implemented in the style of Knuth algorithm 5.2.4L, with the optimization suggested by exercise 5.2.4-22. The test case was 140,213,394 bytes, 426,4424 lines, text taken from the GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no temporary files and plenty of RAM. Since comparisons seem to be the bottleneck, perhaps the best algorithm to try next should be merge insertion. See Knuth section 5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American Mathematical Monthly 66 (1959), 387-389. shred: Update shred as described here to conform to DoD 5220 rules: http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00075.html Remove suspicious uses of alloca (ones that may allocate more than about 4k) Adapt these contribution guidelines for coreutils: http://sources.redhat.com/automake/contribute.html Improve test coverage. See HACKING for instructions on generating an html test coverage report. Find a program that has poor coverage and improve. Changes expected to go in, someday. ====================================== dd patch from Olivier Delhomme test/mv/*: clean up $other_partition_tmpdir in all cases ls: when both -l and --dereference-command-line-symlink-to-dir are specified, consider whether to let the latter select whether to dereference command line symlinks to directories. Since -l has an implicit --NO-dereference-command-line-symlink-to-dir meaning. Pointed out by Karl Berry. Pending copyright papers: ------------------------ getpwnam from Bruce Korb pb (progress bar) from Miika Pekkarinen ------------------------------ Remove long-deprecated options. Search case-insensitive for 'deprecated' and 'remove in '. Automate this. Add a distcheck-time test to ensure that every distributed file is either read-only(indicating generated) or is version-controlled and up to date. remove '%s' notation (now that they're all gone, add a maint.mk sc_ rule to ensure no new ones are added): grep -E "\`%.{,4}s'" src/*.c remove all uses of the 'register' keyword: Done. add a maint.mk rule for this, too. remove or adjust chown's --changes option, since it can't always do what it currently says it does. Support arbitrary-precision arithmetic in those tools for which it makes sense. Factor and expr already support this via libgmp. The "test" program is covered via its string-based comparison of integers. To be converted: seq. Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be multibyte aware. The problem is that I want to avoid duplicating significant blocks of logic, yet I also want to incur only minimal (preferably 'no') cost when operating in single-byte mode. pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer ----- Copyright (C) 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . coreutils-8.21/INSTALL0000664000000000000000000003660512100637437011414 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. coreutils-8.21/THANKS0000444000000000000000000012610512107204475011264 00000000000000These people have contributed to the GNU coreutils (formerly, the fileutils, textutils, and/or sh-utils packages). Some have reported problems, others have contributed improvements to the documentation, actual code, and even complete programs. Those contributions are described in the version control logs and ChangeLog files. If your name has been left out, if you'd rather not be listed, or if you'd prefer a different address be used, please send a note to the bug-report mailing list (as seen at end of e.g., cp --help). Aaron Burgemeister dajoker@gmail.com Aaron Davies aaron.davies@gmail.com Aaron Hawley ashawley@uvm.edu Achim Blumensath blume@corona.oche.de A Costa agcosta@gis.net Adam Jimerson vendion@charter.net Adam Klein aklein@debian.org Adam Sampson ats@offog.org Adrian Bunk bunk@stusta.de AIDA Shinra shinra@j10n.org Akim Demaille demaille@inf.enst.fr Alain Magloire alain@qnx.com Alan Curry pacman-cu@kosh.dhis.org Alan Iwi iwi@atm.ox.ac.uk Alan Jenkins alan-jenkins@tuffmail.co.uk Albert Chin-A-Young china@thewrittenword.com Albert Hopkins ahopkins@dynacare.com Alberto Accomazzi alberto@cfa0.harvard.edu aldomel aldomel@ix.netcom.com Alen Muzinic zveki@fly.cc.fer.hr Alexander Nguyen vinh@seas.ucla.edu Alexander V. Lukyanov lav@netis.ru Alexandre Duret-Lutz duret_g@epita.fr Alexey Solovyov alekso@math.uu.se Alexey Vyskubov alexey@pippuri.mawhrin.net Alfred M. Szmidt ams@kemisten.nu Allen Hewes allen@decisiv.net Ambrose Feinstein ambrose@google.com Amr Ali amr.ali.cc@gmail.com Anders Kaseorg andersk@mit.edu Andi Kleen freitag@alancoxonachip.com Andreas Dilger adilger@sun.com Andreas Frische andreasfrische@gmail.com Andreas Gruenbacher ag@bestbits.at Andreas Jaeger jaeger@gnu.org Andreas Luik luik@isa.de Andreas Schwab schwab@linux-m68k.org Andreas Stolcke stolcke@ICSI.Berkeley.EDU Andrei Gaponenko andr@triumf.ca Andre Novaes Cunha Andre.Cunha@br.global-one.net Andres Soolo andres@soolo.matti.ee Andrew Burgess aab@cichlid.com Andrew Church achurch@achurch.org Andrew Dalke dalke@bioreason.com Andrew D Warshall warshall@99main.com Andrew Fabbro andrew@fabbro.org Andrew Pham andpha@us.ibm.com Andrew Tridgell tridge@samba.org Andrey Borzenkov arvidjaar@mail.ru Andries Brouwer Andries.Brouwer@cwi.nl Andy Longton alongton@metamark.com Ãngel González keisial@gmail.com Anoop Sharma sendtoanoop@gmail.com Anthony Thyssen anthony@griffith.edu.au Antonio Rendas ajrendas@yahoo.com Ariel Faigon ariel@cthulhu.engr.sgi.com Arjan Opmeer arjan.opmeer@gmail.com Arkadiusz MiÅ›kiewicz arekm@maven.pl Arne Henrik Juul arnej@imf.unit.no Arnold Robbins arnold@skeeve.com Arthur Pool pool@commerce.uq.edu.au Arun Sharma arun.sharma@intel.com Arvind Autar Autar022@planet.nl Assaf Gordon assafgordon@gmail.com Augey Mikus mikus@dqc.org Aurelien Jarno aurel32@debian.org Austin Donnelly Austin.Donnelly@cl.cam.ac.uk Axel Dörfler axeld@pinc-software.de Axel Kittenberger Anshil@gmx.net Barry Kelly http://barrkel.blogspot.com/ Bauke Jan Douma bjdouma@xs4all.nl Ben Elliston bje@air.net.au Bengt Martensson bengt@mathematik.uni-Bremen.de Ben Harris bjh21@netbsd.org Benjamin Cutler cutlerbc@simla.colostate.edu Benno Schulenberg bensberg@justemail.net Benoît Knecht benoit.knecht@fsfe.org Ben Walton bwalton@artsci.utoronto.ca Bernard Giroud bernard.giroud@creditlyonnais.ch Bernd Eckenfels ecki@debian.org Bernd Leibing bernd.leibing@rz.uni-ulm.de Bernd Melchers melchers@cis.fu-berlin.de Bernhard Baehr bernhard.baehr@gmx.de Bernhard Gabler bernhard@uni-koblenz.de Bernhard Marx berny@bernhard-marx.de Bernhard Rosenkraenzer bero@redhat.de Bernhard Voelker mail@bernhard-voelker.de Bert Deknuydt Bert.Deknuydt@esat.kuleuven.ac.be Bert Wesarg bert.wesarg@googlemail.com Bill Brelsford wb@k2di.net Bill Peters peters@gaffel.as.arizona.edu Bjorn Helgaas helgaas@rsn.hp.com Bob McCracken kerouac@ravenet.com Bo Borgerson gigabo@gmail.com Bob Proulx bob@proulx.com Branden Robinson branden@necrotic.deadbeast.net Brendan O'Dea bod@compusol.com.au Brian Kimball bfk@footbag.org Brian M. Carlson sandals@crustytoothpaste.ath.cx Brian Silverman bsilverman@conceptxdesign.com Brian Youmans 3diff@gnu.org Britton Leo Kerin fsblk@aurora.uaf.edu Bruce Korb bkorb@gnu.org Bruce Robertson brucer@theodolite.dyndns.org Bruno Haible bruno@clisp.org Brynnen Owen owen@illinois.edu Carl Johnson carlj@cjlinux.home.org Carl Lowenstein cdl@mpl.UCSD.EDU Carlos Canau Carlos.Canau@relay.puug.pt Carl Roth roth@urs.us C de-Avillez hggdh2@gmail.com Charles Karney karney@pppl.gov Charles Randall crandall@matchlogic.com Chas. Owens chas.owens@gmail.com Chen Guo chen.guo.0625@gmail.com Chip Salzenberg chip@valinux.com Chris Clayton chris2553@googlemail.com Chris Faylor cgf@cygnus.com Chris J. Bednar cjb@AdvancedDataSolutions.com Chris Jones cjns1989@gmail.com Chris Lesniewski ctl@mit.edu Chris Sylvain csylvain@umm.edu Christi Alice Scarborough christi@chiark.greenend.org.uk Christian Harkort christian.harkort@web.de Christian Jullien eligis@orange.fr Christian Krackowizer ckrackowiz@std.schuler-ag.com Christian Rose menthos@menthos.com Christian von Roques roques@pond.sub.org Christophe LYON christophe.lyon@st.com Chris Yeo cyeo@biking.org Chuck Hedrick hedrick@klinzhai.rutgers.edu Chusslove Illich caslav.ilic@gmx.net Clark Morgan cmorgan@aracnet.com Clement Wang clem.wang@overture.com Cliff Miller cbm@whatexit.org Cojocaru Alexandru xojoc@gmx.com Colin Plumb colin@nyx.net Colin Watson cjwatson@ubuntu.com Collin Rogowski collin@rogowski.de Cray-Cyber Project http://www.cray-cyber.org Cristian Cadar cristic@stanford.edu Cyril Bouthors cyril@bouthors.org Dale Scheetz dwarf@polaris.net Dameon G. Rogers dgr03@uark.edu Dan Hagerty hag@gnu.ai.it.edu Dan Hipschman dsh@linux.ucla.edu Daniel Bergstrom noa@melody.se Daniel Dunbar daniel@zuster.org Daniel P. Berrangé berrange@redhat.com Daniel Schepler dschepler@gmail.com Daniel Stavrovski d@stavrovski.net Daniel Tschinder daniel.tschinder@project-a.com Dániel Varga danielv@axelero.hu Dan Jacobson jidanni@jidanni.org Danny Levinson danny.levinson@overture.com Dan Pascu dan@services.iiruc.ro Darrel Francis d.francis@cheerful.com Darren Salt ds@youmustbejoking.demon.co.uk Dave Beckett dajobe@dajobe.org David Alan Gilbert gilbertd@treblig.org David A. Wheeler dwheeler@dwheeler.com David Bartley dtbartle@csclub.uwaterloo.ca David Diggles david.diggles@dnrm.qld.gov.au David Dyck dcd@tc.fluke.COM Davide Canova kc.canova@gmail.com David Eisner cradle@umd.edu David Flynn dav@chess.plus.com David Gast dgast@csulb.edu David Godfrey dave@delta.demon.co.uk David Luyer david_luyer@pacific.net.au David Madore david.madore@ens.fr David Malone dwmalone@cnri.dit.ie David Matei matei@cs.toronto.edu Dawson Engler engler@stanford.edu Dean Gaudet dean-savannah@arctic.org Deepak Goel deego@gnufans.org Denis Excoffier denis.excoffier@airbus.com Denis McKeon dmckeon@swcp.com Dennis Clarke dclarke@blastwave.org Dennis Henriksen opus@flamingo.osrl.dk Dennis Smit ds@nerds-incorporated.org Derek Clegg dclegg@next.com Dick Streefland dick_streefland@tasking.com Dirk-Jan Faber djfaber@snow.nl Dirk Lattermann dlatt@t-online.de Dmitry Rutsky rutsky@school.ioffe.rssi.ru Dmitry V. Levin ldv@altlinux.org Donni Erpel donald@appc11.gsi.de Don Parsons dparsons@synapse.kent.edu Doug Coleman coleman@iarc1.ece.utexas.edu Doug McLaren dougmc@comco.com Dragos Harabor dharabor@us.oracle.com Duncan Roe duncanr@optimation.com.au Ed Avis ed@membled.com Ed Santiago ed@edsantiago.com Edward Schwartz edmcman@cmu.edu Edward Welbourne eddy@opera.com Edzer Pebesma Edzer.Pebesma@rivm.nl Egmont Koblinger egmont@uhulinux.hu Eirik Fuller eirik@hackrat.com Eivind eivindt@multinet.no Elbert Pol elbert.pol@gmail.com Elias Pipping pipping@gentoo.org Eli Zaretskii eliz@is.elta.co.il Emile LeBlanc leblanc@math.toronto.edu Emmanuel Lacour elacour@home-dn.net Eric Backus ericb@lsid.hp.com Eric Blake eblake@redhat.com Eric G. Miller egm2@jps.net Eric Pemente pemente@northpark.edu Eric S. Raymond esr@snark.thyrsus.com Erik Auerswald auerswal@unix-ag.uni-kl.de Erik Bennett bennett@cvo.oneworld.com Erik Corry erik@kroete2.freinet.de Evan Hunt ethanol@armory.com Felix Lee flee@teleport.com Felix Rauch Valenti frauch@cse.unsw.edu.au Ferdinand fw@scenic.mine.nu Filipus Klutiero chealer@gmail.com Fletcher Mattox fletcher@cs.utexas.edu Florent Bayle florent@sarcelle.net Florian Schlichting fschlich@cis.fu-berlin.de Florin Iucha fiucha@hsys.mic.ro Francesco Montorsi fr_m@hotmail.com François Pinard pinard@iro.umontreal.ca Frank Adler fadler@allesklar.de Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU Frédéric L. W. Meunier 0@pervalidus.net Frederik Eaton frederik@caltech.edu Fred Fish fnf@ninemoons.com Gabor Z. Papp gzp@gzp.org.hu Gaël Quéri gqueri@mail.dotcom.fr Galen Hazelwood galenh@micron.net Gary Anderson ganderson@clark.net Gary Johnson garyjohn@spk.agilent.com Gary V. Vaughan gary@gnu.org Gaute Hvoslef Kvalnes gaute@verdsveven.com Geoff Collyer geoff at collyer.net Geoff Kuenning geoff@cs.hmc.edu Geoff Odhner geoff@franklin.com Geoff Whale geoffw@cse.unsw.EDU.AU Gerald Pfeifer gerald@pfeifer.com Gerhard Poul gpoul@gnu.org Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp Gilles Espinasse g.esp@free.fr Giuseppe Scrivano gscrivano@gnu.org Glen Lenker glen.lenker@gmail.com Göran Uddeborg goeran@uddeborg.se GOTO Masanori gotom@debian.or.jp G.P. Halkes buscom@ghalkes.nl Greg Louis glouis@dynamicro.on.ca Greg McGary gkm@gnu.org Greg Metcalfe metcalfegreg@qwest.net Gregory Leblanc gleblanc@cu-portland.edu Greg Schafer gschafer@zip.com.au Greg Troxel gdt@bbn.com Greg Wooledge gawooledge@sherwin.com Guenter Knauf lists@gknw.net Guido Leenders guido.leenders@invantive.com Guntram Blohm Extern.Guntram.Blohm@AUDI.DE Guochun Shi gshi@ncsa.uiuc.edu Hans Ginzel hans@matfyz.cz Hans Lermen lermen@fgan.de Hans Verkuil hans@wyst.hobby.nl Harald Dunkel harald.dunkel@t-online.de Harald Hoyer harald@redhat.com Harry Liu rliu@lek.ugcs.caltech.edu Harti Brandt brandt@fokus.fraunhofer.de Harvey Eneman Harvey.Eneman@oracle.com Heikki Orsila heikki.orsila@iki.fi Heiko Marr h.marr@webmasters.de Helen Faulkner helen_ml_faulkner@yahoo.co.uk Herbert Xu herbert@gondor.apana.org.au H. J. Lu hjl@valinux.com Holger Berger hberger@ess.nec.de Hon-Yin Kok hkok@yoda.unl.edu Hugh Daniel hugh@xanadu.com Iain Calder ic56@rogers.com Ian Bruce ian.bruce@myrealbox.com Ian Jackson ijackson@chiark.greenend.org.uk Ian Kent ikent@redhat.com Ian Lance Taylor ian@cygnus.com Ian Turner vectro@pipeline.com Iida Yosiaki iida@gnu.org Ilya N. Golubev gin@mo.msk.ru Ingo Saitz ingo@debian.org Ingo Weinhold ingo_weinhold@gmx.de Ivan Labath labath3@st.fmph.uniba.sk Ivan Sichmann Freitas ivansichfreitas@gmail.com Ivo Timmermans ivo@debian.org Jacky Fong jacky.fong@utoronto.ca Jakob Truelsen jakob@scalgo.com James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk James Hunt jamesodhunt@hotmail.com James james@albion.glarp.com James Lemley James.Lemley@acxiom.com James Ralston ralston@pobox.com James R. Van Zandt jrv@debian.org James Sneeringer jvs@ocslink.com James Tanis jtt@soscorp.com James Youngman jay@gnu.org Jamie Lokier jamie@imbolc.ucc.ie Jamie McClelland jm@mayfirst.org Jan Blunck jblunck@suse.de Jan Engelhardt jengelh@medozas.de Jan Fedak J.Fedak@sh.cvut.cz Jan Moringen jan.moringen@uni-bielefeld.de Jan Nieuwenhuizen janneke@gnu.org Janos Farkas chexum@shadow.banki.hu Jan-Pawel Wrozstinski jpwroz@gmail.com Jari Aalto jari.aalto@cante.net Jarkko Hietaniemi jhi@epsilon.hut.fi Jarod Wilson jwilson@redhat.com Jean Charles Delepine delepine@u-picardie.fr Jean-Pierre Tosoni jpt.7196@gmail.com Jeff Liu jeff.liu@oracle.com jeff.liu jeff.liu@oracle.com Jeff Moore jbm@mordor.com Jeff Sheinberg jeff@bsrd.net Jens Elkner elkner@imsgroup.de Jens Schmidt jms@jsds.hamburg.com Jeph Cowan jeph@ucar.edu Jérémy Compostella jeremy.compostella@gmail.com Jérémy Magrin jeremy.magrin@epitech.eu Jeremy Maitin-Shepard jbms@cmu.edu Jerome Abela abela@hsc.fr Jérôme Zago bug-coreutils-ml@agt-the-walker.net Jerry Snitselaar dev@snitselaar.org Jesse Kornblum kornblum@usna.edu Jesse Thilo jgt2@eecs.lehigh.edu Jie Liu jeff.liu@oracle.com Jie Xu xuj@iag.net Jim Blandy jimb@cyclic.com Jim Dennis jimd@starshine.org Jim Meyering jim@meyering.net Joachim Schmitz jojo@schmitz-digital.de Joakim Rosqvist dvljrt@cs.umu.se Jochen Hein jochen@jochen.org Joel E. Denny jdenny@clemson.edu Joe Orton joe@manyfish.co.uk Joerg Sonnenberger joerg@britannica.bec.de Joey Degges jdegges@gmail.com Joey Hess joeyh@debian.org Johan Boule bohan@bohan.dyndns.org Johan Danielsson joda@pdc.kth.se John Bley jbb6@acpub.duke.edu John David Anglin dave.anglin@nrc.ca John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th John Gotts jgotts@umich.edu John Kendall kendall@capps.com John Kodis kodis@acm.org John Murphy jam@philabs.research.philips.com John Roll john@panic.harvard.edu John Salmon johns@mullet.anu.edu.au John Stanley johnstops@verizon.net John Summerfield summer@OS2.ami.com.au Jon Peatfield J.S.Peatfield@damtp.cam.ac.uk Jon Ringuette jonr@scharp.org Joost van Baal joostvb@xs4all.nl Jordi Pujol jordipujolp@gmail.com Jorge Stolfi stolfi@ic.unicamp.br Joseph S. Myers jsm28@cam.ac.uk Josh Triplett josh@freedesktop.org Joshua Hudson joshudson@gmail.com Josselin Mouette joss@debian.org J. Scott Edwards qrw.software@gmail.com Juan F. Codagnone juam@arnet.com.ar Juan M. Guerrero st001906@hrz1.hrz.tu-darmstadt.de Julian Bradfield jcb@inf.ed.ac.uk Jungshik Shin jshin@pantheon.yale.edu Juraj Marko jmarko@redhat.com Jürgen Fluk louis@dachau.marco.de Jurriaan thunder7@xs4all.nl Justin Pryzby justinpryzby@users.sourceforge.net jvogel jvogel@linkny.com Kai Henningsen kai@debian.org Kai-Uwe Rommel rommel@informatik.tu-muenchen.de Kalle Olavi Niemitalo kon@iki.fi Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu Kamil Dudka kdudka@redhat.com Karel Zak kzak@redhat.com Karl Berry karl@gnu.org Karl Eichwalder keichwa@gmx.net Karl Heuer kwzh@gnu.org Karl-Michael Schneider schneide@phil.uni-passau.de Karsten Thygesen karthy@kom.auc.dk Kaveh R. Ghazi ghazi@caip.rutgers.edu Keith M. Briggs keith.briggs@bt.com Keith Owens kaos@audio.apana.org.au Keith Thompson kst@cts.com Ken Pizzini kenp@halcyon.com Kevin Lyda kevin@ie.suberic.net Kevin Mudrick kmudrick@healthmarketscience.com Kim Hansen kim@i9.dk Kirk Kelsey kirk.kelsey@0x4b.net Kjetil Torgrim Homme kjetilho@ifi.uio.no Konrad Wróblewski coni@o2.pl Kristin E Thomas kristint@us.ibm.com Kristoffer Rose kris@diku.dk Krzysztof Goj krzysztof.goj@gmail.com ??? kytek@cybercomm.net Ladislav Hagara ladislav.hagara@unob.cz Larry McVoy lm@sgi.com Lars Hecking lhecking@nmrc.ucc.ie Lasse Collin lasse.collin@tukaani.org Leah Q eequor@earthlink.net Lehti Rami rammer@cs.tut.fi Leonard N. Zubkoff lnz@dandelion.com Leonardo Milano lmilano@udel.edu Lluís Batlle viriketo@gmail.com Lorne Baker lbaker@nitro.avint.net Ludovic Courtès ludo@gnu.org Luke Hassell lukehassell@yahoo.com Luke Kendall lukekendall@optushome.com.au Maciej Kwapulinski pikpok@univ.gda.pl Manas Garg manas@cygsoft.com Manfred Hollstein manfred@s-direktnet.de Marc Boucher marc@mbsi.ca Marcel Böhme http://www.comp.nus.edu.sg/~mboehme Marc Haber mh+debian-bugs@zugschlus.de Marc Kleine-Budde mkl@pengutronix.de Marc Lehman schmorp@schmorp.de Marc Mengel mengel@fnal.gov Marco Franzen Marco.Franzen@Thyron.com Marc Olzheim marcolz@stack.nl Marcus Brinkmann http://www.marcus-brinkmann.de Marcus Daniels marcus@ee.pdx.edu Marek Polacek mpolacek@redhat.com Mark A. Thomas thommark@access.digex.net Mark Conty Mark_Conty@cargill.com Mark D. Roth roth@uiuc.edu Mark Funkenhauser mfunkenhauser@rogers.com Mark Harris mark@monitor.designacc.com Mark Hewitt mhewitt@armature.com Mark Hounschell markh@compro.net Mark Hubbart discord@mac.com Mark Kettenis kettenis@phys.uva.nl Mark Melahn mmelahn@gmail.com Mark Nudelman marknu@flash.net Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de Markus Duft mduft@gentoo.org Mark W. Eichin eichin@cygnus.com Martial Bornet mbornet.pro@gmail.com Martin Buck martin.buck@ascom.ch Martin Gallant martyg@goodbit.net Martin Hippe martin.hippe@schlund.de Martin Jacobs martin.jacobs@arcor.de Martin martin@dresden.nacamar.de Martin Michlmayr tbm@cyrius.com Martin Mitchell martin@debian.org Martin P.J. Zinser zinser@decus.de Marty Leisner leisner@sdsp.mc.xerox.com Masami Takikawa takikawm@CS.ORST.EDU MatÄ›j Cepl mcepl@redhat.com Matej Vela mvela@public.srce.hr Mate Wierdl mw@moni.msci.memphis.edu Mathias Brodala info@noctus.net Mathieu Bridon bochecha@fedoraproject.org Matias A. Fonzo selk@dragora.org Matt Harden matth@mindspring.com Matthew Arnison maffew@cat.org.au Matthew Braun matthew@ans.net Matthew Clarke Matthew_Clarke@mindlink.bc.ca Matthew M. Boedicker matthewm@boedicker.org Matthew S. Levine mslevine@theory.lcs.mit.edu Matthew Smith matts@bluesguitar.org Matthew Swift swift@alum.mit.edu Matthew Woehlke mw_triad@users.sourceforge.net Matthias Urlichs smurf@noris.de Matti Aarnio matti.aarnio@zmailer.org Mattias Wadenstein maswan@acc.umu.se Matt Kraai kraai@ftbfs.org Matt McCutchen matt@mattmccutchen.net Matt Perry matt@primefactor.com Matt Pham mattvpham@gmail.com Matt Schalit mschalit@pacbell.net Matt Swift swift@alum.mit.edu Max Chang maxchang@ucla.edu Meelis Roos mroos@tartu.cyber.ee Micah Cowan micah@cowan.name Michael Bacarella mbac@netgraft.com Michael Deutschmann michael@talamasca.ocis.net Michael Elizabeth Chastain mec.gnu@mindspring.com Michael Gaughen mgaughen@polyserve.com Michael Hasselberg mikelh@zonta.ping.de Michael Hohn hohn@math.utah.edu Michael J. Croghan mcroghan@usatoday.com Michael J. Daniel michael.j.daniel@comcast.net Michael McFarland sidlon@yahoo.com Michael McLagan mmclagan@invlogic.com Michael Meskes michael@fam-meskes.de Michael michael@aplatform.com Michael ??? michael@roka.net Michael Mol mikemol@gmail.com Michael Piefel piefel@informatik.hu-berlin.de Michael Price mprice@atl.lmco.com Michael Speer knomenet@gmail.com Michael Steffens michael.steffens@s.netic.de Michael Stone mstone@debian.org Michael Stummvoll michael@stummi.org Michael Stutz stutz@dsl.org Michael van Elst mlelstv@dev.de.cw.net Michael Veksler mveksler@techunix.technion.ac.il Michail Litvak mci@owl.openwall.com Michal Politowski mpol@charybda.icm.edu.pl Michal Svec msvec@suse.cz Michel Robitaille robitail@IRO.UMontreal.CA Michiel Bacchiani bacchian@raven.bu.edu Mikael Magnusson mikachu@gmail.com Mike Castle dalgoda@ix.netcom.com Mike Coleman mkc@mathdogs.com Mike Frysinger vapier@gentoo.org Mike Jetzer mjetzer@mke.catalystwms.com Mikko Tuumanen m@sorvankyla.yok.utu.fi Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz Miles Bader miles@gnu.ai.mit.edu Minh Tran-Le tranle@intellicorp.com Moritz Orbach ml-coreutils@apfelboymchen.homeunix.net Morten Welinder terra@diku.dk M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp Nadav Har'El nyh@math.technion.ac.il Nao Nishijima nao.nishijima.xt@hitachi.com Neal H Walfield neal@cs.uml.edu Neil F. Brown neilb@suse.de Nelson H. F. Beebe beebe@math.utah.edu Nguyá»…n Thái Ngá»c Duy pclouds@gmail.com Nick Alcock nick.alcock@oracle.com Nick Estes debian@nickstoys.com Nick Graham nick.d.graham@gmail.com Nick Lawes nlawes@silverplatter.com Nickolai Zeldovich nickolai@cs.stanford.edu Nicolas François nicolas.francois@centraliens.net Niels Möller nisse@lysator.liu.se Niklas Edmundsson nikke@acc.umu.se Nikola Milutinovic Nikola.Milutinovic@ev.co.yu Nikolas Kallis nik@nikolaskallis.com Nikolaus Rath Nikolaus@rath.org Nima Nikzad nnikzad@ucla.edu Nix nix@esperi.org.uk Noah Friedman friedman@splode.com Noel Cragg noel@red-bean.com Norbert Kiesel nkiesel@tbdnetworks.com Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu Olav Morkrid olav@funcom.com Ole Laursen olau@hardworking.dk Oliver Kiddle okiddle@yahoo.co.uk Olivier Fourdan ofourdan@redhat.com Ondrej Oprala ooprala@redhat.com OndÅ™ej Vašík ovasik@redhat.com Ørn E. Hansen oehansen@daimi.aau.dk Oskar Liljeblad osk@hem.passagen.se Otavio Salvador otavio@ossystems.com.br Pádraig Brady p@draigbrady.com Paolo Bonzini bonzini@gnu.org Patrick Mauritz oxygene@studentenbude.ath.cx Patrick Schoenfeld schoenfeld@debian.org Patrick W. Plusnick II pwplusnick2@gmail.com Paul D. Smith psmith@gnu.org Paul Eggert eggert@cs.ucla.edu Paul Ghaleb paul.ghaleb@st.com Paul Jarc prj@po.cwru.edu Paul Marinescu paul.marinescu@imperial.ac.uk Paul Nevai nevai@ops.mps.ohio-state.edu Paul Sauer paul@alexa.com Paul Slootman paul@debian.org Paul Townsend aab@purdue.edu Paul Worrall paul@basilisk.uklinux.net Pawel Prokop pablo@wizard.ae.krakow.pl Peng Yu pengyu.ut@gmail.com Per Cederqvist ceder@lysator.liu.se Per Kristian Hove perhov@math.ntnu.no Per Starbäck starback@stp.lingfil.uu.se Peter Breitenlohner peb@mppmu.mpg.de Peter Dyballa peter_dyballa@web.de Peter Eriksson peter@ifm.liu.se Peter Evans peter@ixp.jp Peter Fales psfales@alcatel-lucent.com Peter Horst peter@ointment.org Peter Moulder reiter@netspace.net.au Peter O'Gorman bug-coreutils@mlists.thewrittenword.com Peter Samuelson psamuels@sampo.creighton.edu Peter Seebach seebs@taniemarie.solon.com Petr Pisar petr.pisar@atlas.cz Petr Salinger Petr.Salinger@seznam.cz Petr Uzel petr.uzel@suse.cz Petter Reinholdtsen pere@hungry.com Phelippe Neveu pneveu@pcigeomatics.com Philippe De Muyter phdm@macqel.be Philippe Schnoebelen Philippe.Schnoebelen@imag.fr Philipp Gortan gortan@gmail.com Philipp Thomas pth@suse.de Philip Rowlands phr@doc.ic.ac.uk Phillip Jones mouse@datastacks.com Phil Richards phil.richards@vf.vodafone.co.uk Piergiorgio Sartor sartor@sony.de Pieter Bowman bowman@math.utah.edu Piotr Gackiewicz gacek@intertele.pl Piotr Kwapulinski kwap@univ.gda.pl Pozsár Balázs pozsy@uhulinux.hu Prashant TR tr@eth.net Priit Jõerüüt jemm4jemm@yahoo.com Primoz PETERLIN primozz.peterlin@gmail.com Raimonds Miltins raimonds@pro-9.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE Ralf Wildenhues Ralf.Wildenhues@gmx.de Ralf W. Stephan stephan@tmt.de Ralph Loader loader@maths.ox.ac.uk Rasmus Borup Hansen rbh@intomics.com Raul Miller moth@magenta.com Raúl Núñez de Arenas Coronado raul@pleyades.net Reuben Thomas rrt@sc3d.org ribalba geerd.dietger.hoffmann@gmail.com Richard A Downing richard.downing@bcs.org.uk Richard Braakman dark@xs4all.nl Richard Dawe rich@phekda.freeserve.co.uk Richard J. Rauenzahn rrauenza@hairball.cup.hp.com Richard Neill rn214@hermes.cam.ac.uk Richard Sharman rsharman@magmacom.com Rick Sladkey jrs@world.std.com Rick Stanley rstanley@rsiny.com Rik Faith faith@cs.unc.edu Risto Kankkunen kankkune@lingsoft.fi Rob Day robertkday@gmail.com Robert H. de Vries robert@and.nl Robert Lindgren robert@orcafat.com Robert Millan zeratul2@wanadoo.es Robert Schwebel r.schwebel@pengutronix.de Robin H. Johnson robbat2@gentoo.org Rob Wortman wyrm@haell.com Rodrigo Campos rodrigo@sdfg.com.ar Rogier Wolff R.E.Wolff@BitWizard.nl Roland Huebner ro-huebner@gmx.de Roland Turner raz.tah.bet@raz.cx Roman Rybalko devel@romanr.info Ronald F. Guilmette rfg@netcom.com Ross Alexander r.alexander@auckland.ac.nz Ross Paterson rap@doc.ic.ac.uk Ross Ridge rridge@calum.csclub.uwaterloo.ca Rudolf Kastl rkastl@redhat.com Ruediger Meier sweet_f_a@gmx.de Sahil Amoli sahilamoli@gmail.com Sami Farin sfarin@ratol.fi Sami Kerola kerolasa@iki.fi Samuel Tardieu sam@rfc1149.net Samuel Thibault samuel.thibault@ens-lyon.org Samuli Karkkainen Samuli.Karkkainen@hut.fi Sander van Malssen svm@kozmix.ow.nl Santiago Vila Doncel sanvila@unex.es Savochkin Andrey Vladimirovich saw@msu.ru Scott Harrison scott.gnu.2009@scottrix.co.uk Scott Lurndal slurn@griffin.engr.sgi.com Sébastien Maret smaret@umich.edu Sergei Steshenko sergstesh@yahoo.com Sergey Vlasov vsu@altlinux.org Shing-Shong Shei shei@cs.indiana.edu Simon Josefsson simon@josefsson.org Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de Solar Designer solar@owl.openwall.com Stanislav Ievlev inger@altlinux.ru Stavros Passas stabat@ics.forth.gr Stefano Lattarini stefano.lattarini@gmail.com Stefan Vargyas stvar@yahoo.com Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr Stéphane Raimbault stephane.raimbault@gmail.com Stephan Krempel krempel@par-tec.com Stephen Depooter sbdep@myrealbox.com Stephen Eglen eglen@pcg.wustl.edu Stephen Gildea gildea@stop.mail-abuse.org Stephen Smoogen smooge@mindspring.com Steve McConnel steve@acadcomp.sil.org Steve McIntyre steve@einval.com Steven Drake sbd@users.sourceforge.net Steven G. Johnson stevenj@alum.mit.edu Steven Mocking ufo@quicknet.nl Steven Parkes smparkes@smparkes.net Steven P Watson steven@magelico.net Steven Schubiger schubiger@gmail.com Steven Schveighoffer schveiguy@yahoo.com Steve Ward planet36@gmail.com Stuart Citrin ctrn3e8@gmail.com Stuart Kemp skemp@peter.bmc.com Stuart Shelton stuart@shelton.me Sven Breuner sven.breuner@itwm.fraunhofer.de Sven Joachim svenjoac@gmx.de Szakacsits Szabolcs szaka@sienet.hu Tadayoshi Funaba tadf@kt.rim.or.jp TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp Theodore Ts'o tytso@rsts-11.mit.edu Theodoros V. Kalamatianos thkala@softlab.ece.ntua.gr The Wanderer inverseparadox@comcast.net Thiago Farina tfransosi@gmail.com Thien-Thi Nguyen ttn@gnuvola.org Thomas Bushnell thomas@gnu.ai.mit.edu Thomas Goerlich thomas@schnappmatik.de Thomas Hood jdthood@yahoo.co.uk Thomas Luzat thomas@luzat.com Thomas M.Ott thmo-13@gmx.de Thomas Quinot thomas@Cuivre.FR.EU.ORG Thomas Schwinge tschwinge@gnu.org Thomas Wolff mined@towo.net Tim J. Robbins tjr@FreeBSD.org Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu Tim Ryan Tim_Ryan@bnz.co.nz Tim Smithers mouse@dmouse.com.au Tim Underwood timunderwood@gmail.com Tim Waugh twaugh@redhat Tobias Quathamer toddy@debian.org Tobias Stoeckmann tobias@bugol.de Toby Peterson toby@opendarwin.org Todd A. Jacobs tjacobs@codegnome.org Tomas Pospisek tpo@sourcepole.ch Tomas Smetana t.smetana@gmail.com Tom Fitzhenry tom@tom-fitzhenry.me.uk Tom Haynes thomas@netapp.com Tommi Kyntola tkyntola@cc.hut.fi Tom Quinn trq@dionysos.thphys.ox.ac.uk Ton Hospel thospel@mail.dma.be Ton Nijkes ton@murphy.nl Tony Kocurko akocurko@mun.ca Tony Leneis tony@plaza.ds.adp.com Tony Robinson ajr@eng.cam.ac.uk Toomas Soome Toomas.Soome@Elion.ee Toralf Förster toralf.foerster@gmx.de Torbjörn Granlund tg@gmplib.org Torbjorn Lindgren tl@funcom.no Torsten Landschoff torsten@pclab.ifg.uni-kiel.de Travis Gummels tgummels@redhat.com Tristan Miller psychonaut@nothingisreal.com Tzvi Rotshtein tzvi.ro@gmail.com Ulrich Drepper drepper@gnu.org Ulrich Hermisson ulrich_hermisson@hotmail.com Urs Thuermann urs@isnogud.escape.de Uwe H. Steinfeld usteinfeld@gmx.net Vesselin Atanasov vesselin@bgnet.bg Ville Skyttä ville.skytta@iki.fi Vincent Lefevre vincent@vinc17.org Vineet Chadha chadha@acis.ufl.edu Vin Shelton acs@alumni.princeton.edu Vitali Lovich vlovich@gmail.com Vitaly A. Ostanin vyt@altlinux.org Vito Caputo vcaputo@pengaru.com Vlada Macek tuttle@bbs.fsik.cvut.cz Volker Borchert bt@teknon.de Volker Paul vpaul@dohle.com Wartan Hachaturow wart@tepkom.ru Wayne Stewart wstewa@atl.com Wenjun Zheng zwj@yahoo.com Werner Almesberger Werner.Almesberger@epfl.ch Wichert Akkerman wichert@cistron.nl Will Edgington wedgingt@acm.org William Bader william@nscs.fast.net William Dowling will@franklin.com William Lewis wiml@omnigroup.com wiregauze wiregauze@yahoo.com Wis Macomson wis.macomson@intel.com Wojciech Purczynski cliph@isec.pl Wolfram Kleff kleff@cs.uni-bonn.de Won-kyu Park wkpark@chem.skku.ac.kr Xu Zhongxing xu_zhong_xing@163.com Yang Ren ryang@redhat.com Yanko Kaneti yaneti@declera.com Yann Dirson dirson@debian.org Yutaka Amanai yasai-itame1942@jade.plala.or.jp Zartaj Majeed zmajeed@sbcglobal.net Zvi Har'El rl@math.technion.ac.il Марк Коренберг socketpair@gmail.com ;; Local Variables: ;; coding: utf-8 ;; End: coreutils-8.21/dist-check.mk0000664000000000000000000001040112050450171012704 00000000000000# Most of this is probably too coreutils-centric to be useful to other packages. bin=bin-$$$$ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit 1\n' '$(SHELL)' tmpdir = $(abs_top_builddir)/tests/torture t=$(tmpdir)/$(PACKAGE)/test pfx=$(t)/i built_programs := $(sort $(patsubst src/%$(EXEEXT),%,$(bin_PROGRAMS))) # More than once, tainted build and source directory names would # have caused at least one "make check" test to apply "chmod 700" # to all directories under $HOME. Make sure it doesn't happen again. tp = $(tmpdir)/taint t_prefix = $(tp)/a t_taint = '$(t_prefix) b' fake_home = $(tp)/home # When extracting from a distribution tarball, extract using the fastest # method possible. With dist-xz, that means using the *.xz file. ifneq ('', $(filter *.xz, $(DIST_ARCHIVES))) tar_decompress_opt_ = J suffix_ = xz else ifneq ('', $(filter *.gz, $(DIST_ARCHIVES))) tar_decompress_opt_ = z suffix_ = gz else tar_decompress_opt_ = j suffix_ = bz2 endif endif amtar_extract_ = $(AMTAR) -$(tar_decompress_opt_)xf preferred_tarball_ = $(distdir).tar.$(suffix_) # Ensure that tests run from tainted build and src dir names work, # and don't affect anything in $HOME. Create witness files in $HOME, # record their attributes, and build/test. Then ensure that the # witnesses were not affected. # Skip this test when using libtool, since libtool-generated scripts # cannot deal with a space-tainted srcdir. ALL_RECURSIVE_TARGETS += taint-distcheck taint-distcheck: $(DIST_ARCHIVES) grep '^[ ]*LT_INIT' configure.ac >/dev/null && exit 0 || : test -d $(t_taint) && chmod -R 700 $(t_taint) || : -rm -rf $(t_taint) $(fake_home) mkdir -p $(t_prefix) $(t_taint) $(fake_home) $(amtar_extract_) $(preferred_tarball_) -C $(t_taint) mkfifo $(fake_home)/fifo touch $(fake_home)/f mkdir -p $(fake_home)/d/e ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-before HOME=$(fake_home); export HOME; \ cd $(t_taint)/$(distdir) \ && ./configure \ && $(MAKE) \ && $(MAKE) check \ && ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-after \ && diff $(tp)/.ls-before $(tp)/.ls-after \ && test -d $(t_prefix) rm -rf $(tp) # Verify that a twisted use of --program-transform-name=PROGRAM works. define install-transform-check echo running install-transform-check \ && rm -rf $(pfx) \ && $(MAKE) program_transform_name='s/.*/zyx/' \ prefix=$(pfx) install \ && test "$$(echo $(pfx)/bin/*)" = "$(pfx)/bin/zyx" \ && test "$$(find $(pfx)/share/man -type f|sed 's,.*/,,;s,\..*,,')" = "zyx" endef # Install, then verify that all binaries and man pages are in place. # Note that neither the binary, ginstall, nor the [.1 man page is installed. define my-instcheck echo running my-instcheck; \ $(MAKE) prefix=$(pfx) install \ && test ! -f $(pfx)/bin/ginstall \ && { fail=0; \ for i in $(built_programs); do \ test "$$i" = ginstall && i=install; \ for j in "$(pfx)/bin/$$i" \ "$(pfx)/share/man/man1/$$i.1"; do \ case $$j in *'[.1') continue;; esac; \ test -f "$$j" && : \ || { echo "$$j not installed"; fail=1; }; \ done; \ done; \ test $$fail = 1 && exit 1 || :; \ } endef # Use this to make sure we don't run these programs when building # from a virgin compressed tarball file, below. null_AM_MAKEFLAGS ?= \ ACLOCAL=false \ AUTOCONF=false \ AUTOMAKE=false \ AUTOHEADER=false \ GPERF=false \ MAKEINFO=false ALL_RECURSIVE_TARGETS += my-distcheck my-distcheck: $(DIST_ARCHIVES) $(local-check) $(MAKE) syntax-check $(MAKE) check -rm -rf $(t) mkdir -p $(t) $(amtar_extract_) $(preferred_tarball_) -C $(t) (set -e; cd $(t)/$(distdir); \ ./configure --quiet --enable-gcc-warnings --disable-nls; \ $(MAKE) AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)'; \ $(MAKE) dvi; \ $(install-transform-check); \ $(my-instcheck); \ $(MAKE) distclean \ ) (cd $(t) && mv $(distdir) $(distdir).old \ && $(amtar_extract_) - ) < $(preferred_tarball_) diff -ur $(t)/$(distdir).old $(t)/$(distdir) -rm -rf $(t) rmdir $(tmpdir)/$(PACKAGE) $(tmpdir) @echo "========================"; \ echo "ready for distribution:"; \ for i in $(DIST_ARCHIVES); do echo " $$i"; done; \ echo "========================" coreutils-8.21/gnulib-tests/0000775000000000000000000000000012107207541013045 500000000000000coreutils-8.21/gnulib-tests/test-sleep.c0000664000000000000000000000263212071024546015223 00000000000000/* Test of sleep() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (sleep, unsigned int, (unsigned int)); #include #include "macros.h" #if HAVE_DECL_ALARM static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (1); } #endif int main (void) { ASSERT (sleep (1) <= 1); ASSERT (sleep (0) == 0); #if HAVE_DECL_ALARM { const unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); ASSERT (pentecost - 10 < remaining && remaining <= pentecost); } #endif return 0; } coreutils-8.21/gnulib-tests/test-float.c0000664000000000000000000002162412071024546015222 00000000000000/* Test of substitute. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include #include "fpucw.h" #include "macros.h" /* Check that FLT_RADIX is a constant expression. */ int a[] = { FLT_RADIX }; #if FLT_RADIX == 2 /* Return 2^n. */ static float pow2f (int n) { int k = n; volatile float x = 1; volatile float y = 2; /* Invariant: 2^n == x * y^k. */ if (k < 0) { y = 0.5f; k = - k; } while (k > 0) { if (k != 2 * (k / 2)) { x = x * y; k = k - 1; } if (k == 0) break; y = y * y; k = k / 2; } /* Now k == 0, hence x == 2^n. */ return x; } /* Return 2^n. */ static double pow2d (int n) { int k = n; volatile double x = 1; volatile double y = 2; /* Invariant: 2^n == x * y^k. */ if (k < 0) { y = 0.5; k = - k; } while (k > 0) { if (k != 2 * (k / 2)) { x = x * y; k = k - 1; } if (k == 0) break; y = y * y; k = k / 2; } /* Now k == 0, hence x == 2^n. */ return x; } /* Return 2^n. */ static long double pow2l (int n) { int k = n; volatile long double x = 1; volatile long double y = 2; /* Invariant: 2^n == x * y^k. */ if (k < 0) { y = 0.5L; k = - k; } while (k > 0) { if (k != 2 * (k / 2)) { x = x * y; k = k - 1; } if (k == 0) break; y = y * y; k = k / 2; } /* Now k == 0, hence x == 2^n. */ return x; } /* ----------------------- Check macros for 'float' ----------------------- */ /* Check that the FLT_* macros expand to constant expressions. */ int fb[] = { FLT_MANT_DIG, FLT_MIN_EXP, FLT_MAX_EXP, FLT_DIG, FLT_MIN_10_EXP, FLT_MAX_10_EXP }; float fc[] = { FLT_EPSILON, FLT_MIN, FLT_MAX }; static void test_float (void) { /* Check that the value of FLT_MIN_EXP is well parenthesized. */ ASSERT ((FLT_MIN_EXP % 101111) == (FLT_MIN_EXP) % 101111); /* Check that the value of DBL_MIN_10_EXP is well parenthesized. */ ASSERT ((FLT_MIN_10_EXP % 101111) == (FLT_MIN_10_EXP) % 101111); /* Check that 'float' is as specified in IEEE 754. */ ASSERT (FLT_MANT_DIG == 24); ASSERT (FLT_MIN_EXP == -125); ASSERT (FLT_MAX_EXP == 128); /* Check the value of FLT_MIN_10_EXP. */ ASSERT (FLT_MIN_10_EXP == - (int) (- (FLT_MIN_EXP - 1) * 0.30103)); /* Check the value of FLT_DIG. */ ASSERT (FLT_DIG == (int) ((FLT_MANT_DIG - 1) * 0.30103)); /* Check the value of FLT_MIN_10_EXP. */ ASSERT (FLT_MIN_10_EXP == - (int) (- (FLT_MIN_EXP - 1) * 0.30103)); /* Check the value of FLT_MAX_10_EXP. */ ASSERT (FLT_MAX_10_EXP == (int) (FLT_MAX_EXP * 0.30103)); /* Check the value of FLT_MAX. */ { volatile float m = FLT_MAX; int n; ASSERT (m + m > m); for (n = 0; n <= 2 * FLT_MANT_DIG; n++) { volatile float pow2_n = pow2f (n); /* 2^n */ volatile float x = m + (m / pow2_n); if (x > m) ASSERT (x + x == x); else ASSERT (!(x + x == x)); } } /* Check the value of FLT_MIN. */ { volatile float m = FLT_MIN; volatile float x = pow2f (FLT_MIN_EXP - 1); ASSERT (m == x); } /* Check the value of FLT_EPSILON. */ { volatile float e = FLT_EPSILON; volatile float me; int n; me = 1.0f + e; ASSERT (me > 1.0f); ASSERT (me - 1.0f == e); for (n = 0; n <= 2 * FLT_MANT_DIG; n++) { volatile float half_n = pow2f (- n); /* 2^-n */ volatile float x = me - half_n; if (x < me) ASSERT (x <= 1.0f); } } } /* ----------------------- Check macros for 'double' ----------------------- */ /* Check that the DBL_* macros expand to constant expressions. */ int db[] = { DBL_MANT_DIG, DBL_MIN_EXP, DBL_MAX_EXP, DBL_DIG, DBL_MIN_10_EXP, DBL_MAX_10_EXP }; double dc[] = { DBL_EPSILON, DBL_MIN, DBL_MAX }; static void test_double (void) { /* Check that the value of DBL_MIN_EXP is well parenthesized. */ ASSERT ((DBL_MIN_EXP % 101111) == (DBL_MIN_EXP) % 101111); /* Check that the value of DBL_MIN_10_EXP is well parenthesized. */ ASSERT ((DBL_MIN_10_EXP % 101111) == (DBL_MIN_10_EXP) % 101111); /* Check that 'double' is as specified in IEEE 754. */ ASSERT (DBL_MANT_DIG == 53); ASSERT (DBL_MIN_EXP == -1021); ASSERT (DBL_MAX_EXP == 1024); /* Check the value of DBL_MIN_10_EXP. */ ASSERT (DBL_MIN_10_EXP == - (int) (- (DBL_MIN_EXP - 1) * 0.30103)); /* Check the value of DBL_DIG. */ ASSERT (DBL_DIG == (int) ((DBL_MANT_DIG - 1) * 0.30103)); /* Check the value of DBL_MIN_10_EXP. */ ASSERT (DBL_MIN_10_EXP == - (int) (- (DBL_MIN_EXP - 1) * 0.30103)); /* Check the value of DBL_MAX_10_EXP. */ ASSERT (DBL_MAX_10_EXP == (int) (DBL_MAX_EXP * 0.30103)); /* Check the value of DBL_MAX. */ { volatile double m = DBL_MAX; int n; ASSERT (m + m > m); for (n = 0; n <= 2 * DBL_MANT_DIG; n++) { volatile double pow2_n = pow2d (n); /* 2^n */ volatile double x = m + (m / pow2_n); if (x > m) ASSERT (x + x == x); else ASSERT (!(x + x == x)); } } /* Check the value of DBL_MIN. */ { volatile double m = DBL_MIN; volatile double x = pow2d (DBL_MIN_EXP - 1); ASSERT (m == x); } /* Check the value of DBL_EPSILON. */ { volatile double e = DBL_EPSILON; volatile double me; int n; me = 1.0 + e; ASSERT (me > 1.0); ASSERT (me - 1.0 == e); for (n = 0; n <= 2 * DBL_MANT_DIG; n++) { volatile double half_n = pow2d (- n); /* 2^-n */ volatile double x = me - half_n; if (x < me) ASSERT (x <= 1.0); } } } /* -------------------- Check macros for 'long double' -------------------- */ /* Check that the LDBL_* macros expand to constant expressions. */ int lb[] = { LDBL_MANT_DIG, LDBL_MIN_EXP, LDBL_MAX_EXP, LDBL_DIG, LDBL_MIN_10_EXP, LDBL_MAX_10_EXP }; long double lc1 = LDBL_EPSILON; long double lc2 = LDBL_MIN; #if 0 /* LDBL_MAX is not a constant expression on some platforms. */ long double lc3 = LDBL_MAX; #endif static void test_long_double (void) { /* Check that the value of LDBL_MIN_EXP is well parenthesized. */ ASSERT ((LDBL_MIN_EXP % 101111) == (LDBL_MIN_EXP) % 101111); /* Check that the value of LDBL_MIN_10_EXP is well parenthesized. */ ASSERT ((LDBL_MIN_10_EXP % 101111) == (LDBL_MIN_10_EXP) % 101111); /* Check that 'long double' is at least as wide as 'double'. */ ASSERT (LDBL_MANT_DIG >= DBL_MANT_DIG); ASSERT (LDBL_MIN_EXP - LDBL_MANT_DIG <= DBL_MIN_EXP - DBL_MANT_DIG); ASSERT (LDBL_MAX_EXP >= DBL_MAX_EXP); /* Check the value of LDBL_DIG. */ ASSERT (LDBL_DIG == (int)((LDBL_MANT_DIG - 1) * 0.30103)); /* Check the value of LDBL_MIN_10_EXP. */ ASSERT (LDBL_MIN_10_EXP == - (int) (- (LDBL_MIN_EXP - 1) * 0.30103)); /* Check the value of LDBL_MAX_10_EXP. */ ASSERT (LDBL_MAX_10_EXP == (int) (LDBL_MAX_EXP * 0.30103)); /* Check the value of LDBL_MAX. */ { volatile long double m = LDBL_MAX; int n; ASSERT (m + m > m); for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) { volatile long double pow2_n = pow2l (n); /* 2^n */ volatile long double x = m + (m / pow2_n); if (x > m) ASSERT (x + x == x); else ASSERT (!(x + x == x)); } } /* Check the value of LDBL_MIN. */ { volatile long double m = LDBL_MIN; volatile long double x = pow2l (LDBL_MIN_EXP - 1); ASSERT (m == x); } /* Check the value of LDBL_EPSILON. */ { volatile long double e = LDBL_EPSILON; volatile long double me; int n; me = 1.0L + e; ASSERT (me > 1.0L); ASSERT (me - 1.0L == e); for (n = 0; n <= 2 * LDBL_MANT_DIG; n++) { volatile long double half_n = pow2l (- n); /* 2^-n */ volatile long double x = me - half_n; if (x < me) ASSERT (x <= 1.0L); } } } int main () { test_float (); test_double (); { DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); test_long_double (); END_LONG_DOUBLE_ROUNDING (); } return 0; } #else int main () { fprintf (stderr, "Skipping test: FLT_RADIX is not 2.\n"); return 77; } #endif coreutils-8.21/gnulib-tests/test-vprintf-posix.sh0000775000000000000000000000057111624730157017143 00000000000000#!/bin/sh tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-vprintf-posix.tmp t-vprintf-posix.out" ./test-vprintf-posix${EXEEXT} > t-vprintf-posix.tmp || exit 1 LC_ALL=C tr -d '\r' < t-vprintf-posix.tmp > t-vprintf-posix.out || exit 1 : ${DIFF=diff} ${DIFF} "${srcdir}/test-printf-posix.output" t-vprintf-posix.out result=$? rm -fr $tmpfiles exit $result coreutils-8.21/gnulib-tests/wctob.c0000664000000000000000000000226412071024546014255 00000000000000/* Convert wide character to unibyte character. Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include int wctob (wint_t wc) { char buf[64]; if (!(MB_CUR_MAX <= sizeof (buf))) abort (); /* Handle the case where WEOF is a value that does not fit in a wchar_t. */ if (wc == (wchar_t)wc) if (wctomb (buf, (wchar_t)wc) == 1) return (unsigned char) buf[0]; return EOF; } coreutils-8.21/gnulib-tests/test-ftello.c0000664000000000000000000000627512071024546015407 00000000000000/* Test of ftello() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include "signature.h" SIGNATURE_CHECK (ftello, off_t, (FILE *)); #include "binary-io.h" #include "macros.h" #ifndef FUNC_UNGETC_BROKEN # define FUNC_UNGETC_BROKEN 0 #endif int main (int argc, char **argv _GL_UNUSED) { int ch; /* Assume stdin is seekable iff argc > 1. */ if (argc == 1) { ASSERT (ftell (stdin) == -1); ASSERT (ftello (stdin) == -1); return 0; } /* mingw ftell is unreliable on text mode input. */ SET_BINARY (0); /* Simple tests. For each test, make sure ftell and ftello agree. */ ASSERT (ftell (stdin) == 0); ASSERT (ftello (stdin) == 0); ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 1); ASSERT (ftello (stdin) == 1); /* Test ftell after ungetc of read input. */ ch = ungetc ('#', stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 0); ASSERT (ftello (stdin) == 0); ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 1); ASSERT (ftello (stdin) == 1); /* Test ftell after fseek. */ ASSERT (fseek (stdin, 2, SEEK_SET) == 0); ASSERT (ftell (stdin) == 2); ASSERT (ftello (stdin) == 2); /* Test ftell after random ungetc. */ ch = fgetc (stdin); ASSERT (ch == '/'); ch = ungetc ('@', stdin); ASSERT (ch == '@'); ASSERT (ftell (stdin) == 2); ASSERT (ftello (stdin) == 2); ch = fgetc (stdin); ASSERT (ch == '@'); ASSERT (ftell (stdin) == 3); ASSERT (ftello (stdin) == 3); if (2 < argc) { if (FUNC_UNGETC_BROKEN) { fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", stderr); return 77; } /* Test ftell after ungetc without read. */ ASSERT (fseek (stdin, 0, SEEK_CUR) == 0); ASSERT (ftell (stdin) == 3); ASSERT (ftello (stdin) == 3); ch = ungetc ('~', stdin); ASSERT (ch == '~'); ASSERT (ftell (stdin) == 2); ASSERT (ftello (stdin) == 2); } #if !defined __MINT__ /* FreeMiNT has problems seeking past end of file */ /* Test ftell beyond end of file. */ ASSERT (fseek (stdin, 0, SEEK_END) == 0); ch = ftello (stdin); ASSERT (fseek (stdin, 10, SEEK_END) == 0); ASSERT (ftell (stdin) == ch + 10); ASSERT (ftello (stdin) == ch + 10); #endif return 0; } coreutils-8.21/gnulib-tests/wctomb.c0000664000000000000000000000162312071024546014430 00000000000000/* Convert wide character to multibyte character. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "wctomb-impl.h" coreutils-8.21/gnulib-tests/test-argv-iter.c0000664000000000000000000000576412071024546016024 00000000000000/* Test argv iterator Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "argv-iter.h" #include #include #include "macros.h" #define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) #define STREQ(a, b) (strcmp (a, b) == 0) static FILE * write_nul_delimited_argv (char **argv) { FILE *fp = tmpfile (); ASSERT (fp); while (*argv) { size_t len = strlen (*argv) + 1; ASSERT (fwrite (*argv, len, 1, fp) == 1); argv++; } ASSERT (fflush (fp) == 0); rewind (fp); return fp; } int main (void) { /* set_program_name (argv[0]); placate overzealous "syntax-check" test. */ static char one[] = "1"; static char two[] = "2"; static char three[] = "3"; static char *av[][4] = { {NULL}, {one, NULL}, {one, two, NULL}, {one, two, three, NULL} }; int use_stream; for (use_stream = 0; use_stream < 2; use_stream++) { size_t i; for (i = 0; i < ARRAY_CARDINALITY (av); i++) { FILE *fp; struct argv_iterator *ai; size_t n_found = 0; if (use_stream) { /* Generate an identical list to be read via FP. */ ASSERT ((fp = write_nul_delimited_argv (av[i])) != NULL); ai = argv_iter_init_stream (fp); } else { fp = NULL; ai = argv_iter_init_argv (av[i]); } ASSERT (ai); while (1) { enum argv_iter_err ai_err; char *s = argv_iter (ai, &ai_err); ASSERT ((i == n_found) == (ai_err == AI_ERR_EOF)); ASSERT ((s == NULL) ^ (ai_err == AI_ERR_OK)); ASSERT (ai_err == AI_ERR_OK || ai_err == AI_ERR_EOF); if (ai_err == AI_ERR_OK) ++n_found; if (ai_err == AI_ERR_EOF) break; /* In stream mode, the strings are equal, but in argv mode the actual pointers are equal. */ ASSERT (use_stream ? STREQ (s, av[i][n_found - 1]) : s == av[i][n_found - 1]); } ASSERT (argv_iter_n_args (ai) == i); argv_iter_free (ai); if (fp) ASSERT (fclose (fp) == 0); } } return 0; } coreutils-8.21/gnulib-tests/test-intprops.c0000664000000000000000000002704012071024546015771 00000000000000/* Test intprops.h. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ /* Tell gcc not to warn about the many (X < 0) expressions that the overflow macros expand to. */ #if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wtype-limits" #endif #include #include "intprops.h" #include "verify.h" #include #include #include "macros.h" /* VERIFY (X) uses a static assertion for compilers that are known to work, and falls back on a dynamic assertion for other compilers. These tests should be checkable via 'verify' rather than 'ASSERT', but using 'verify' would run into a bug with HP-UX 11.23 cc; see . */ #if __GNUC__ || __SUNPRO_C # define VERIFY(x) do { verify (x); } while (0) #else # define VERIFY(x) ASSERT (x) #endif int main (void) { /* Use VERIFY for tests that must be integer constant expressions, ASSERT otherwise. */ /* TYPE_IS_INTEGER. */ ASSERT (TYPE_IS_INTEGER (bool)); ASSERT (TYPE_IS_INTEGER (char)); ASSERT (TYPE_IS_INTEGER (signed char)); ASSERT (TYPE_IS_INTEGER (unsigned char)); ASSERT (TYPE_IS_INTEGER (short int)); ASSERT (TYPE_IS_INTEGER (unsigned short int)); ASSERT (TYPE_IS_INTEGER (int)); ASSERT (TYPE_IS_INTEGER (unsigned int)); ASSERT (TYPE_IS_INTEGER (long int)); ASSERT (TYPE_IS_INTEGER (unsigned long int)); ASSERT (TYPE_IS_INTEGER (intmax_t)); ASSERT (TYPE_IS_INTEGER (uintmax_t)); ASSERT (! TYPE_IS_INTEGER (float)); ASSERT (! TYPE_IS_INTEGER (double)); ASSERT (! TYPE_IS_INTEGER (long double)); /* TYPE_SIGNED. */ /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */ VERIFY (TYPE_SIGNED (signed char)); VERIFY (! TYPE_SIGNED (unsigned char)); VERIFY (TYPE_SIGNED (short int)); VERIFY (! TYPE_SIGNED (unsigned short int)); VERIFY (TYPE_SIGNED (int)); VERIFY (! TYPE_SIGNED (unsigned int)); VERIFY (TYPE_SIGNED (long int)); VERIFY (! TYPE_SIGNED (unsigned long int)); VERIFY (TYPE_SIGNED (intmax_t)); VERIFY (! TYPE_SIGNED (uintmax_t)); ASSERT (TYPE_SIGNED (float)); ASSERT (TYPE_SIGNED (double)); ASSERT (TYPE_SIGNED (long double)); /* Integer representation. */ VERIFY (INT_MIN + INT_MAX < 0 ? (TYPE_TWOS_COMPLEMENT (int) && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int)) : (! TYPE_TWOS_COMPLEMENT (int) && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int)))); /* TYPE_MINIMUM, TYPE_MAXIMUM. */ VERIFY (TYPE_MINIMUM (char) == CHAR_MIN); VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX); VERIFY (TYPE_MINIMUM (unsigned char) == 0); VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX); VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN); VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX); VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN); VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX); VERIFY (TYPE_MINIMUM (unsigned short int) == 0); VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX); VERIFY (TYPE_MINIMUM (int) == INT_MIN); VERIFY (TYPE_MAXIMUM (int) == INT_MAX); VERIFY (TYPE_MINIMUM (unsigned int) == 0); VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX); VERIFY (TYPE_MINIMUM (long int) == LONG_MIN); VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX); VERIFY (TYPE_MINIMUM (unsigned long int) == 0); VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX); VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); VERIFY (TYPE_MINIMUM (uintmax_t) == 0); VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); /* INT_BITS_STRLEN_BOUND. */ VERIFY (INT_BITS_STRLEN_BOUND (1) == 1); VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789); /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND. */ #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX. */ VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1); VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648")); #endif #ifdef INT64_MAX VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1); VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808")); #endif /* All the INT__RANGE_OVERFLOW tests are equally valid as INT__OVERFLOW tests, so define a single macro to do both. */ #define CHECK_BINOP(op, a, b, min, max, overflow) \ (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow) \ && INT_##op##_OVERFLOW (a, b) == (overflow)) #define CHECK_UNOP(op, a, min, max, overflow) \ (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow) \ && INT_##op##_OVERFLOW (a) == (overflow)) /* INT__RANGE_OVERFLOW, INT__OVERFLOW. */ VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX)); VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1)); VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true)); VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false)); VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false)); VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true)); VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX, TYPE_TWOS_COMPLEMENT (int))); VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false)); VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false)); VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false)); VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true)); VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true)); VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true)); VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX, INT_NEGATE_OVERFLOW (INT_MIN))); VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX, LONG_MIN, LONG_MIN, false)); VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX, INT_NEGATE_OVERFLOW (INT_MIN))); VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN, -1u, 0u, UINT_MAX, false)); VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX, INT_NEGATE_OVERFLOW (INT_MIN))); VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false)); VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN, -1u, 0u, UINT_MAX, false)); VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true)); VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true)); VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false)); /* INT__OVERFLOW with mixed types. */ #define CHECK_SUM(a, b, overflow) \ VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow)); \ VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow)) CHECK_SUM (-1, LONG_MIN, true); CHECK_SUM (-1, UINT_MAX, false); CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN); CHECK_SUM (0u, -1, true); CHECK_SUM (0u, 0, false); CHECK_SUM (0u, 1, false); CHECK_SUM (1, LONG_MAX, true); CHECK_SUM (1, UINT_MAX, true); CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX); CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX); CHECK_SUM (1u, INT_MIN, true); VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u)); VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1)); VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1)); VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1)); VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u)); VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u)); #define CHECK_PRODUCT(a, b, overflow) \ VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow)); \ VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow)) CHECK_PRODUCT (-1, 1u, true); CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN)); CHECK_PRODUCT (-1, UINT_MAX, true); CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true); CHECK_PRODUCT (-12345, LONG_MAX / -12345, false); CHECK_PRODUCT (0, -1, false); CHECK_PRODUCT (0, 0, false); CHECK_PRODUCT (0, 0u, false); CHECK_PRODUCT (0, 1, false); CHECK_PRODUCT (0, INT_MAX, false); CHECK_PRODUCT (0, INT_MIN, false); CHECK_PRODUCT (0, UINT_MAX, false); CHECK_PRODUCT (0u, -1, false); CHECK_PRODUCT (0u, 0, false); CHECK_PRODUCT (0u, 0u, false); CHECK_PRODUCT (0u, 1, false); CHECK_PRODUCT (0u, INT_MAX, false); CHECK_PRODUCT (0u, INT_MIN, false); CHECK_PRODUCT (0u, UINT_MAX, false); CHECK_PRODUCT (1, INT_MAX, false); CHECK_PRODUCT (1, INT_MIN, false); CHECK_PRODUCT (1, UINT_MAX, false); CHECK_PRODUCT (1u, INT_MIN, true); CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX); CHECK_PRODUCT (INT_MAX, UINT_MAX, true); CHECK_PRODUCT (INT_MAX, ULONG_MAX, true); CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true); CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false); CHECK_PRODUCT (INT_MIN, UINT_MAX, true); CHECK_PRODUCT (INT_MIN, ULONG_MAX, true); VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L) == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN)); VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX)); VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX)); VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX)); VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u)); VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u)); VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u)); VERIFY (INT_DIVIDE_OVERFLOW (11u, -10)); VERIFY (INT_DIVIDE_OVERFLOW (10u, -10)); VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10)); VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L) == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN)); VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX)); VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX)); VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX) == (INTMAX_MAX < UINT_MAX && - (unsigned int) INTMAX_MIN % UINT_MAX != 0)); VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX) == (INT_MIN % ULONG_MAX != 1)); VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1)); VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39)); VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39)); VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39)); VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX)); return 0; } coreutils-8.21/gnulib-tests/test-fputc.c0000664000000000000000000000457512100637437015246 00000000000000/* Test of fputc() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fputc, int, (int, FILE *)); #include #include #include #include "msvc-inval.h" #include "macros.h" int main (int argc, char **argv) { const char *filename = "test-fputc.txt"; /* We don't have an fputc() function that installs an invalid parameter handler so far. So install that handler here, explicitly. */ #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING gl_msvc_inval_ensure_handler (); #endif /* Test that fputc() on an unbuffered stream sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "w"); ASSERT (fp != NULL); setvbuf (fp, NULL, _IONBF, 0); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fputc ('x', fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } /* Test that fputc() on an unbuffered stream sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w"); if (fp != NULL) { setvbuf (fp, NULL, _IONBF, 0); errno = 0; ASSERT (fputc ('x', fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "w"); if (fp != NULL) { setvbuf (fp, NULL, _IONBF, 0); errno = 0; ASSERT (fputc ('x', fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-ftell.sh0000775000000000000000000000017011624730152015407 00000000000000#!/bin/sh ./test-ftell${EXEEXT} 1 < "$srcdir/test-ftell.sh" || exit 1 echo hi | ./test-ftell${EXEEXT} || exit 1 exit 0 coreutils-8.21/gnulib-tests/strerror_r.c0000664000000000000000000002257512071024546015351 00000000000000/* strerror_r.c --- POSIX compatible system error routine Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include /* Enable declaration of sys_nerr and sys_errlist in on NetBSD. */ #define _NETBSD_SOURCE 1 /* Specification. */ #include #include #include #include #include "strerror-override.h" #if (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) && HAVE___XPG_STRERROR_R /* glibc >= 2.3.4, cygwin >= 1.7.9 */ # define USE_XPG_STRERROR_R 1 extern int __xpg_strerror_r (int errnum, char *buf, size_t buflen); #elif HAVE_DECL_STRERROR_R && !(__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) /* The system's strerror_r function is OK, except that its third argument is 'int', not 'size_t', or its return type is wrong. */ # include # define USE_SYSTEM_STRERROR_R 1 #else /* (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__ ? !HAVE___XPG_STRERROR_R : !HAVE_DECL_STRERROR_R) */ /* Use the system's strerror(). Exclude glibc and cygwin because the system strerror_r has the wrong return type, and cygwin 1.7.9 strerror_r clobbers strerror. */ # undef strerror # define USE_SYSTEM_STRERROR 1 # if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __sgi || (defined __sun && !defined _LP64) || defined __CYGWIN__ /* No locking needed. */ /* Get catgets internationalization functions. */ # if HAVE_CATGETS # include # endif /* Get sys_nerr, sys_errlist on HP-UX (otherwise only declared in C++ mode). Get sys_nerr, sys_errlist on IRIX (otherwise only declared with _SGIAPI). */ # if defined __hpux || defined __sgi extern int sys_nerr; extern char *sys_errlist[]; # endif /* Get sys_nerr on Solaris. */ # if defined __sun && !defined _LP64 extern int sys_nerr; # endif # else # include "glthread/lock.h" /* This lock protects the buffer returned by strerror(). We assume that no other uses of strerror() exist in the program. */ gl_lock_define_initialized(static, strerror_lock) # endif #endif /* On MSVC, there is no snprintf() function, just a _snprintf(). It is of lower quality, but sufficient for the simple use here. We only have to make sure to NUL terminate the result (_snprintf does not NUL terminate, like strncpy). */ #if !HAVE_SNPRINTF static int local_snprintf (char *buf, size_t buflen, const char *format, ...) { va_list args; int result; va_start (args, format); result = _vsnprintf (buf, buflen, format, args); va_end (args); if (buflen > 0 && (result < 0 || result >= buflen)) buf[buflen - 1] = '\0'; return result; } # define snprintf local_snprintf #endif /* Copy as much of MSG into BUF as possible, without corrupting errno. Return 0 if MSG fit in BUFLEN, otherwise return ERANGE. */ static int safe_copy (char *buf, size_t buflen, const char *msg) { size_t len = strlen (msg); int ret; if (len < buflen) { /* Although POSIX allows memcpy() to corrupt errno, we don't know of any implementation where this is a real problem. */ memcpy (buf, msg, len + 1); ret = 0; } else { memcpy (buf, msg, buflen - 1); buf[buflen - 1] = '\0'; ret = ERANGE; } return ret; } int strerror_r (int errnum, char *buf, size_t buflen) #undef strerror_r { /* Filter this out now, so that rest of this replacement knows that there is room for a non-empty message and trailing NUL. */ if (buflen <= 1) { if (buflen) *buf = '\0'; return ERANGE; } *buf = '\0'; /* Check for gnulib overrides. */ { char const *msg = strerror_override (errnum); if (msg) return safe_copy (buf, buflen, msg); } { int ret; int saved_errno = errno; #if USE_XPG_STRERROR_R { ret = __xpg_strerror_r (errnum, buf, buflen); if (ret < 0) ret = errno; if (!*buf) { /* glibc 2.13 would not touch buf on err, so we have to fall back to GNU strerror_r which always returns a thread-safe untruncated string to (partially) copy into our buf. */ safe_copy (buf, buflen, strerror_r (errnum, buf, buflen)); } } #elif USE_SYSTEM_STRERROR_R if (buflen > INT_MAX) buflen = INT_MAX; # ifdef __hpux /* On HP-UX 11.31, strerror_r always fails when buflen < 80; it also fails to change buf on EINVAL. */ { char stackbuf[80]; if (buflen < sizeof stackbuf) { ret = strerror_r (errnum, stackbuf, sizeof stackbuf); if (ret == 0) ret = safe_copy (buf, buflen, stackbuf); } else ret = strerror_r (errnum, buf, buflen); } # else ret = strerror_r (errnum, buf, buflen); /* Some old implementations may return (-1, EINVAL) instead of EINVAL. */ if (ret < 0) ret = errno; # endif # ifdef _AIX /* AIX returns 0 rather than ERANGE when truncating strings; try again until we are sure we got the entire string. */ if (!ret && strlen (buf) == buflen - 1) { char stackbuf[STACKBUF_LEN]; size_t len; strerror_r (errnum, stackbuf, sizeof stackbuf); len = strlen (stackbuf); /* STACKBUF_LEN should have been large enough. */ if (len + 1 == sizeof stackbuf) abort (); if (buflen <= len) ret = ERANGE; } # else /* Solaris 10 does not populate buf on ERANGE. OpenBSD 4.7 truncates early on ERANGE rather than return a partial integer. We prefer the maximal string. We set buf[0] earlier, and we know of no implementation that modifies buf to be an unterminated string, so this strlen should be portable in practice (rather than pulling in a safer strnlen). */ if (ret == ERANGE && strlen (buf) < buflen - 1) { char stackbuf[STACKBUF_LEN]; /* STACKBUF_LEN should have been large enough. */ if (strerror_r (errnum, stackbuf, sizeof stackbuf) == ERANGE) abort (); safe_copy (buf, buflen, stackbuf); } # endif #else /* USE_SYSTEM_STRERROR */ /* Try to do what strerror (errnum) does, but without clobbering the buffer used by strerror(). */ # if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __CYGWIN__ /* NetBSD, HP-UX, native Windows, Cygwin */ /* NetBSD: sys_nerr, sys_errlist are declared through _NETBSD_SOURCE and above. HP-UX: sys_nerr, sys_errlist are declared explicitly above. native Windows: sys_nerr, sys_errlist are declared in . Cygwin: sys_nerr, sys_errlist are declared in . */ if (errnum >= 0 && errnum < sys_nerr) { # if HAVE_CATGETS && (defined __NetBSD__ || defined __hpux) # if defined __NetBSD__ nl_catd catd = catopen ("libc", NL_CAT_LOCALE); const char *errmsg = (catd != (nl_catd)-1 ? catgets (catd, 1, errnum, sys_errlist[errnum]) : sys_errlist[errnum]); # endif # if defined __hpux nl_catd catd = catopen ("perror", NL_CAT_LOCALE); const char *errmsg = (catd != (nl_catd)-1 ? catgets (catd, 1, 1 + errnum, sys_errlist[errnum]) : sys_errlist[errnum]); # endif # else const char *errmsg = sys_errlist[errnum]; # endif if (errmsg == NULL || *errmsg == '\0') ret = EINVAL; else ret = safe_copy (buf, buflen, errmsg); # if HAVE_CATGETS && (defined __NetBSD__ || defined __hpux) if (catd != (nl_catd)-1) catclose (catd); # endif } else ret = EINVAL; # elif defined __sgi || (defined __sun && !defined _LP64) /* IRIX, Solaris <= 9 32-bit */ /* For a valid error number, the system's strerror() function returns a pointer to a not copied string, not to a buffer. */ if (errnum >= 0 && errnum < sys_nerr) { char *errmsg = strerror (errnum); if (errmsg == NULL || *errmsg == '\0') ret = EINVAL; else ret = safe_copy (buf, buflen, errmsg); } else ret = EINVAL; # else gl_lock_lock (strerror_lock); { char *errmsg = strerror (errnum); /* For invalid error numbers, strerror() on - IRIX 6.5 returns NULL, - HP-UX 11 returns an empty string. */ if (errmsg == NULL || *errmsg == '\0') ret = EINVAL; else ret = safe_copy (buf, buflen, errmsg); } gl_lock_unlock (strerror_lock); # endif #endif if (ret == EINVAL && !*buf) snprintf (buf, buflen, "Unknown error %d", errnum); errno = saved_errno; return ret; } } coreutils-8.21/gnulib-tests/test-lchown.c0000664000000000000000000000247312071024546015410 00000000000000/* Tests of lchown. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (lchown, int, (char const *, uid_t, gid_t)); #include #include #include #include #include #include #include "mgetgroups.h" #include "stat-time.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-lchown.t" #include "test-lchown.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_lchown (lchown, true); } coreutils-8.21/gnulib-tests/test-lutimens.h0000664000000000000000000001514412071024546015762 00000000000000/* Test of file timestamp modification functions. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "test-utimens-common.h" /* This file is designed to test both lutimens(a,b) and utimensat(AT_FDCWD,a,b,AT_SYMLINK_NOFOLLOW). FUNC is the function to test. Assumes that BASE and ASSERT are already defined. If PRINT, warn before skipping tests with status 77. */ static int test_lutimens (int (*func) (char const *, struct timespec const *), bool print) { int result; int saved_errno; struct stat st1; struct stat st2; bool atime_supported = true; /* Non-symlinks should be handled just like utimens. */ errno = 0; ASSERT (func ("no_such", NULL) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", NULL) == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); errno = 0; ASSERT (func ("", NULL) == -1); ASSERT (errno == ENOENT); ASSERT (close (creat (BASE "file", 0600)) == 0); ASSERT (stat (BASE "file", &st1) == 0); ASSERT (st1.st_atime != Y2K); ASSERT (st1.st_mtime != Y2K); { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; errno = 0; ASSERT (func (BASE "file/", ts) == -1); ASSERT (errno == ENOTDIR); ASSERT (stat (BASE "file", &st2) == 0); ASSERT (st1.st_atime == st2.st_atime); ASSERT (st1.st_mtime == st2.st_mtime); } { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; nap (); ASSERT (func (BASE "file", ts) == 0); } ASSERT (stat (BASE "file", &st2) == 0); ASSERT (st2.st_atime == Y2K); ASSERT (st2.st_mtime == Y2K); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); /* Play with symlink timestamps. */ if (symlink (BASE "file", BASE "link")) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; result = func (BASE "link", NULL); saved_errno = errno; /* Make sure we did not reference through link by accident. */ ASSERT (stat (BASE "file", &st1) == 0); ASSERT (st1.st_atime == Y2K); ASSERT (st1.st_mtime == Y2K); ASSERT (lstat (BASE "link", &st1) == 0); ASSERT (st1.st_atime != Y2K); ASSERT (st1.st_mtime != Y2K); ASSERT (unlink (BASE "file") == 0); if (result == -1 && saved_errno == ENOSYS) { ASSERT (unlink (BASE "link") == 0); if (print) fputs ("skipping test: " "setting symlink time not supported on this file system\n", stderr); return 77; } ASSERT (!result); ASSERT (lstat (BASE "link", &st1) == 0); /* On cygwin, lstat() changes atime of symlinks, so that lutimens can only effectively modify mtime. */ nap (); ASSERT (lstat (BASE "link", &st2) == 0); if (st1.st_atime != st2.st_atime || get_stat_atime_ns (&st1) != get_stat_atime_ns (&st2)) atime_supported = false; ASSERT (st1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&st1) == get_stat_ctime_ns (&st2)); /* Invalid arguments. */ { struct timespec ts[2] = { { Y2K, UTIME_BOGUS_POS }, { Y2K, 0 } }; errno = 0; ASSERT (func (BASE "link", ts) == -1); ASSERT (errno == EINVAL); } { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, UTIME_BOGUS_NEG } }; errno = 0; ASSERT (func (BASE "link", ts) == -1); ASSERT (errno == EINVAL); } ASSERT (lstat (BASE "link", &st2) == 0); if (atime_supported) { ASSERT (st1.st_atime == st2.st_atime); ASSERT (get_stat_atime_ns (&st1) == get_stat_atime_ns (&st2)); } ASSERT (utimecmp (BASE "link", &st1, &st2, 0) == 0); /* Set both times. */ { struct timespec ts[2] = { { Y2K, BILLION / 2 - 1 }, { Y2K, BILLION - 1 } }; nap (); ASSERT (func (BASE "link", ts) == 0); ASSERT (lstat (BASE "link", &st2) == 0); if (atime_supported) { ASSERT (st2.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st2)); ASSERT (get_stat_atime_ns (&st2) < BILLION / 2); } ASSERT (st2.st_mtime == Y2K); ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ { struct stat st3; struct timespec ts[2] = { { BILLION, UTIME_OMIT }, { 0, UTIME_NOW } }; nap (); ASSERT (func (BASE "link", ts) == 0); ASSERT (lstat (BASE "link", &st3) == 0); if (atime_supported) { ASSERT (st3.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st3)); ASSERT (get_stat_atime_ns (&st3) < BILLION / 2); } ASSERT (utimecmp (BASE "link", &st1, &st3, 0) <= 0); if (check_ctime) ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; ASSERT (func (BASE "link", ts) == 0); ASSERT (lstat (BASE "link", &st2) == 0); if (atime_supported) { ASSERT (st2.st_atime == BILLION); ASSERT (get_stat_atime_ns (&st2) == 0); } ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) ASSERT (ctime_compare (&st3, &st2) < 0); } /* Symlink to directory. */ ASSERT (unlink (BASE "link") == 0); ASSERT (symlink (BASE "dir", BASE "link") == 0); ASSERT (mkdir (BASE "dir", 0700) == 0); { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; ASSERT (func (BASE "link/", ts) == 0); } /* On cygwin 1.5, stat() changes atime of directories, so only check mtime. */ ASSERT (stat (BASE "dir", &st1) == 0); ASSERT (st1.st_mtime == Y2K); ASSERT (lstat (BASE "link", &st1) == 0); ASSERT (st1.st_atime != Y2K); ASSERT (st1.st_mtime != Y2K); ASSERT (func (BASE "link", NULL) == 0); ASSERT (stat (BASE "dir", &st1) == 0); ASSERT (st1.st_mtime == Y2K); ASSERT (lstat (BASE "link", &st1) == 0); ASSERT (st1.st_atime != Y2K); ASSERT (st1.st_mtime != Y2K); /* Cleanup. */ ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-freadptr2.c0000664000000000000000000000310012071024546015773 00000000000000/* Test of freadptr() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "freadptr.h" #include #include #include #include "macros.h" static int freadptrbufsize (FILE *fp) { size_t size = 0; freadptr (fp, &size); return size; } int main (int argc, char **argv) { int nbytes = atoi (argv[1]); if (nbytes > 0) { void *buf = malloc (nbytes); ASSERT (fread (buf, 1, nbytes, stdin) == nbytes); } if (nbytes == 0) ASSERT (freadptrbufsize (stdin) == 0); else { if (lseek (0, 0, SEEK_CUR) == nbytes) /* An unbuffered stdio, such as BeOS or on uClibc compiled without __STDIO_BUFFERS. */ ASSERT (freadptrbufsize (stdin) == 0); else /* Normal buffered stdio. */ ASSERT (freadptrbufsize (stdin) != 0); } return 0; } coreutils-8.21/gnulib-tests/test-memcoll.c0000664000000000000000000000334512071024546015545 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Simon Josefsson and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "memcoll.h" #include #include "macros.h" int main (void) { /* Test equal / not equal distinction. */ ASSERT (memcoll0 ("", 1, "", 1) == 0); ASSERT (memcoll0 ("fo", 3, "fo", 3) == 0); ASSERT (memcoll0 ("foo", 4, "foo", 4) == 0); ASSERT (memcoll0 ("foo\0", 5, "foob", 5) != 0); ASSERT (memcoll0 ("f", 2, "b", 2) != 0); ASSERT (memcoll0 ("foo", 4, "bar", 4) != 0); /* Test less / equal / greater distinction. */ ASSERT (memcoll0 ("foo\0", 5, "moo\0", 5) < 0); ASSERT (memcoll0 ("moo\0", 5, "foo\0", 5) > 0); ASSERT (memcoll0 ("oom", 4, "oop", 4) < 0); ASSERT (memcoll0 ("oop", 4, "oom", 4) > 0); ASSERT (memcoll0 ("foo\0", 5, "foob", 5) < 0); ASSERT (memcoll0 ("foob", 5, "foo\0", 5) > 0); /* Test embedded NULs. */ ASSERT (memcoll0 ("1\0", 3, "2\0", 3) < 0); ASSERT (memcoll0 ("2\0", 3, "1\0", 3) > 0); ASSERT (memcoll0 ("x\0""1", 4, "x\0""2", 4) < 0); ASSERT (memcoll0 ("x\0""2", 4, "x\0""1", 4) > 0); return 0; } coreutils-8.21/gnulib-tests/test-canonicalize.c0000664000000000000000000002674412071024546016564 00000000000000/* Test of execution of file name canonicalization. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "canonicalize.h" #include #include #include #include #include #include #include #include "same-inode.h" #include "ignore-value.h" #include "macros.h" #define BASE "t-can.tmp" static void * null_ptr (void) { return NULL; } int main (void) { /* Setup some hierarchy to be used by this test. Start by removing any leftovers from a previous partial run. */ { int fd; ignore_value (system ("rm -rf " BASE " ise")); ASSERT (mkdir (BASE, 0700) == 0); fd = creat (BASE "/tra", 0600); ASSERT (0 <= fd); ASSERT (close (fd) == 0); } /* Check for ., .., intermediate // handling, and for error cases. */ { char *result1 = canonicalize_file_name (BASE "//./..//" BASE "/tra"); char *result2 = canonicalize_filename_mode (BASE "//./..//" BASE "/tra", CAN_EXISTING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (strcmp (result1, result2) == 0); ASSERT (strstr (result1, "/" BASE "/tra") == result1 + strlen (result1) - strlen ("/" BASE "/tra")); free (result1); free (result2); errno = 0; result1 = canonicalize_file_name (""); ASSERT (result1 == NULL); ASSERT (errno == ENOENT); errno = 0; result2 = canonicalize_filename_mode ("", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOENT); errno = 0; result1 = canonicalize_file_name (null_ptr ()); ASSERT (result1 == NULL); ASSERT (errno == EINVAL); errno = 0; result2 = canonicalize_filename_mode (NULL, CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == EINVAL); result2 = canonicalize_filename_mode (".", CAN_MISSING | CAN_ALL_BUT_LAST); ASSERT (result2 == NULL); ASSERT (errno == EINVAL); } /* Check that a non-directory with trailing slash yields NULL. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name (BASE "/tra/"); ASSERT (result1 == NULL); ASSERT (errno == ENOTDIR); errno = 0; result2 = canonicalize_filename_mode (BASE "/tra/", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOTDIR); } /* Check that a missing directory yields NULL. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name (BASE "/zzz/.."); ASSERT (result1 == NULL); ASSERT (errno == ENOENT); errno = 0; result2 = canonicalize_filename_mode (BASE "/zzz/..", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOENT); } /* From here on out, tests involve symlinks. */ if (symlink (BASE "/ket", "ise") != 0) { ASSERT (remove (BASE "/tra") == 0); ASSERT (rmdir (BASE) == 0); fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (symlink ("bef", BASE "/plo") == 0); ASSERT (symlink ("tra", BASE "/huk") == 0); ASSERT (symlink ("lum", BASE "/bef") == 0); ASSERT (symlink ("wum", BASE "/ouk") == 0); ASSERT (symlink ("../ise", BASE "/ket") == 0); ASSERT (mkdir (BASE "/lum", 0700) == 0); ASSERT (symlink ("s", BASE "/p") == 0); ASSERT (symlink ("d", BASE "/s") == 0); ASSERT (mkdir (BASE "/d", 0700) == 0); ASSERT (close (creat (BASE "/d/2", 0600)) == 0); ASSERT (symlink ("../s/2", BASE "/d/1") == 0); ASSERT (symlink ("//.//../..", BASE "/droot") == 0); /* Check that symbolic links are not resolved, with CAN_NOLINKS. */ { char *result1 = canonicalize_filename_mode (BASE "/huk", CAN_NOLINKS); ASSERT (result1 != NULL); ASSERT (strcmp (result1 + strlen (result1) - strlen ("/" BASE "/huk"), "/" BASE "/huk") == 0); free (result1); } /* Check that the symbolic link to a file can be resolved. */ { char *result1 = canonicalize_file_name (BASE "/huk"); char *result2 = canonicalize_file_name (BASE "/tra"); char *result3 = canonicalize_filename_mode (BASE "/huk", CAN_EXISTING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (result3 != NULL); ASSERT (strcmp (result1, result2) == 0); ASSERT (strcmp (result2, result3) == 0); ASSERT (strcmp (result1 + strlen (result1) - strlen ("/" BASE "/tra"), "/" BASE "/tra") == 0); free (result1); free (result2); free (result3); } /* Check that the symbolic link to a directory can be resolved. */ { char *result1 = canonicalize_file_name (BASE "/plo"); char *result2 = canonicalize_file_name (BASE "/bef"); char *result3 = canonicalize_file_name (BASE "/lum"); char *result4 = canonicalize_filename_mode (BASE "/plo", CAN_EXISTING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (result3 != NULL); ASSERT (result4 != NULL); ASSERT (strcmp (result1, result2) == 0); ASSERT (strcmp (result2, result3) == 0); ASSERT (strcmp (result3, result4) == 0); ASSERT (strcmp (result1 + strlen (result1) - strlen ("/" BASE "/lum"), "/" BASE "/lum") == 0); free (result1); free (result2); free (result3); free (result4); } /* Check that a symbolic link to a nonexistent file yields NULL. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name (BASE "/ouk"); ASSERT (result1 == NULL); ASSERT (errno == ENOENT); errno = 0; result2 = canonicalize_filename_mode (BASE "/ouk", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOENT); } /* Check that a non-directory symlink with trailing slash yields NULL. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name (BASE "/huk/"); ASSERT (result1 == NULL); ASSERT (errno == ENOTDIR); errno = 0; result2 = canonicalize_filename_mode (BASE "/huk/", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOTDIR); } /* Check that a missing directory via symlink yields NULL. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name (BASE "/ouk/.."); ASSERT (result1 == NULL); ASSERT (errno == ENOENT); errno = 0; result2 = canonicalize_filename_mode (BASE "/ouk/..", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ENOENT); } /* Check that a loop of symbolic links is detected. */ { char *result1; char *result2; errno = 0; result1 = canonicalize_file_name ("ise"); ASSERT (result1 == NULL); ASSERT (errno == ELOOP); errno = 0; result2 = canonicalize_filename_mode ("ise", CAN_EXISTING); ASSERT (result2 == NULL); ASSERT (errno == ELOOP); } /* Check that alternate modes can resolve missing basenames. */ { char *result1 = canonicalize_filename_mode (BASE "/zzz", CAN_ALL_BUT_LAST); char *result2 = canonicalize_filename_mode (BASE "/zzz", CAN_MISSING); char *result3 = canonicalize_filename_mode (BASE "/zzz/", CAN_ALL_BUT_LAST); char *result4 = canonicalize_filename_mode (BASE "/zzz/", CAN_MISSING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (result3 != NULL); ASSERT (result4 != NULL); ASSERT (strcmp (result1, result2) == 0); ASSERT (strcmp (result2, result3) == 0); ASSERT (strcmp (result3, result4) == 0); ASSERT (strcmp (result1 + strlen (result1) - strlen ("/" BASE "/zzz"), "/" BASE "/zzz") == 0); free (result1); free (result2); free (result3); free (result4); } /* Check that alternate modes can resolve broken symlink basenames. */ { char *result1 = canonicalize_filename_mode (BASE "/ouk", CAN_ALL_BUT_LAST); char *result2 = canonicalize_filename_mode (BASE "/ouk", CAN_MISSING); char *result3 = canonicalize_filename_mode (BASE "/ouk/", CAN_ALL_BUT_LAST); char *result4 = canonicalize_filename_mode (BASE "/ouk/", CAN_MISSING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (result3 != NULL); ASSERT (result4 != NULL); ASSERT (strcmp (result1, result2) == 0); ASSERT (strcmp (result2, result3) == 0); ASSERT (strcmp (result3, result4) == 0); ASSERT (strcmp (result1 + strlen (result1) - strlen ("/" BASE "/wum"), "/" BASE "/wum") == 0); free (result1); free (result2); free (result3); free (result4); } /* Check that alternate modes can handle missing dirnames. */ { char *result1 = canonicalize_filename_mode ("t-can.zzz/zzz", CAN_ALL_BUT_LAST); char *result2 = canonicalize_filename_mode ("t-can.zzz/zzz", CAN_MISSING); ASSERT (result1 == NULL); ASSERT (result2 != NULL); ASSERT (strcmp (result2 + strlen (result2) - 14, "/t-can.zzz/zzz") == 0); free (result2); } /* Ensure that the following is resolved properly. Before 2007-09-27, it would mistakenly report a loop. */ { char *result1 = canonicalize_filename_mode (BASE, CAN_EXISTING); char *result2 = canonicalize_filename_mode (BASE "/p/1", CAN_EXISTING); ASSERT (result1 != NULL); ASSERT (result2 != NULL); ASSERT (strcmp (result2 + strlen (result1), "/d/2") == 0); free (result1); free (result2); } /* Check that leading // is honored correctly. */ { struct stat st1; struct stat st2; char *result1 = canonicalize_file_name ("//."); char *result2 = canonicalize_filename_mode ("//.", CAN_EXISTING); char *result3 = canonicalize_file_name (BASE "/droot"); char *result4 = canonicalize_filename_mode (BASE "/droot", CAN_EXISTING); ASSERT (result1); ASSERT (result2); ASSERT (result3); ASSERT (result4); ASSERT (stat ("/", &st1) == 0); ASSERT (stat ("//", &st2) == 0); if (SAME_INODE (st1, st2)) { ASSERT (strcmp (result1, "/") == 0); ASSERT (strcmp (result2, "/") == 0); ASSERT (strcmp (result3, "/") == 0); ASSERT (strcmp (result4, "/") == 0); } else { ASSERT (strcmp (result1, "//") == 0); ASSERT (strcmp (result2, "//") == 0); ASSERT (strcmp (result3, "//") == 0); ASSERT (strcmp (result4, "//") == 0); } free (result1); free (result2); free (result3); free (result4); } /* Cleanup. */ ASSERT (remove (BASE "/droot") == 0); ASSERT (remove (BASE "/d/1") == 0); ASSERT (remove (BASE "/d/2") == 0); ASSERT (remove (BASE "/d") == 0); ASSERT (remove (BASE "/s") == 0); ASSERT (remove (BASE "/p") == 0); ASSERT (remove (BASE "/plo") == 0); ASSERT (remove (BASE "/huk") == 0); ASSERT (remove (BASE "/bef") == 0); ASSERT (remove (BASE "/ouk") == 0); ASSERT (remove (BASE "/ket") == 0); ASSERT (remove (BASE "/lum") == 0); ASSERT (remove (BASE "/tra") == 0); ASSERT (remove (BASE) == 0); ASSERT (remove ("ise") == 0); return 0; } coreutils-8.21/gnulib-tests/test-argmatch.c0000664000000000000000000000621212071024546015677 00000000000000/* Test of exact or abbreviated match search. Copyright (C) 1990, 1998-1999, 2001-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007, based on test code by David MacKenzie . */ #include #include "argmatch.h" #include #include "progname.h" #include "macros.h" /* Some packages define ARGMATCH_DIE and ARGMATCH_DIE_DECL in , and thus must link with a definition of that function. Provide it here. */ #ifdef ARGMATCH_DIE_DECL _Noreturn ARGMATCH_DIE_DECL; ARGMATCH_DIE_DECL { exit (1); } #endif enum backup_type { no_backups, simple_backups, numbered_existing_backups, numbered_backups }; static const char *const backup_args[] = { "no", "none", "off", "simple", "never", "single", "existing", "nil", "numbered-existing", "numbered", "t", "newstyle", NULL }; static const enum backup_type backup_vals[] = { no_backups, no_backups, no_backups, simple_backups, simple_backups, simple_backups, numbered_existing_backups, numbered_existing_backups, numbered_existing_backups, numbered_backups, numbered_backups, numbered_backups }; int main (int argc, char *argv[]) { set_program_name (argv[0]); /* Not found. */ ASSERT (ARGMATCH ("klingon", backup_args, backup_vals) == -1); /* Exact match. */ ASSERT (ARGMATCH ("none", backup_args, backup_vals) == 1); ASSERT (ARGMATCH ("nil", backup_args, backup_vals) == 7); /* Too long. */ ASSERT (ARGMATCH ("nilpotent", backup_args, backup_vals) == -1); /* Abbreviated. */ ASSERT (ARGMATCH ("simpl", backup_args, backup_vals) == 3); ASSERT (ARGMATCH ("simp", backup_args, backup_vals) == 3); ASSERT (ARGMATCH ("sim", backup_args, backup_vals) == 3); /* Exact match and abbreviated. */ ASSERT (ARGMATCH ("numbered", backup_args, backup_vals) == 9); ASSERT (ARGMATCH ("numbere", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("number", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("numbe", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("numb", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("num", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("nu", backup_args, backup_vals) == -2); ASSERT (ARGMATCH ("n", backup_args, backup_vals) == -2); /* Ambiguous abbreviated. */ ASSERT (ARGMATCH ("ne", backup_args, backup_vals) == -2); /* Ambiguous abbreviated, but same value. */ ASSERT (ARGMATCH ("si", backup_args, backup_vals) == 3); ASSERT (ARGMATCH ("s", backup_args, backup_vals) == 3); return 0; } coreutils-8.21/gnulib-tests/test-chown.c0000664000000000000000000000246512071024546015235 00000000000000/* Tests of chown. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (chown, int, (char const *, uid_t, gid_t)); #include #include #include #include #include #include #include "mgetgroups.h" #include "stat-time.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-chown.t" #include "test-chown.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_chown (chown, true); } coreutils-8.21/gnulib-tests/test-init.sh0000775000000000000000000000450212071024546015247 00000000000000#!/bin/sh # Unit tests for init.sh # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . fail=0 test_compare() { touch empty || fail=1 echo xyz > in || fail=1 compare /dev/null /dev/null >out 2>err || fail=1 test -s out && fail_ "out not empty: $(cat out)" # "err" should be empty, too, but has "set -x" output when VERBOSE=yes case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac compare /dev/null empty >out 2>err || fail=1 test -s out && fail_ "out not empty: $(cat out)" case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac compare in in >out 2>err || fail=1 test -s out && fail_ "out not empty: $(cat out)" case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac compare /dev/null in >out 2>err && fail=1 cat <<\EOF > exp diff -u /dev/null in --- /dev/null 1970-01-01 +++ in 1970-01-01 +xyz EOF compare exp out || fail=1 case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac compare empty in >out 2>err && fail=1 # Compare against expected output only if compare is using diff -u. if grep @ out >/dev/null; then # Remove the TAB-date suffix on each --- and +++ line, # for both the expected and the actual output files. # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: # -@@ -0,0 +1 @@ # +@@ -1,0 +1,1 @@ sed 's/ .*//;/^@@/d' out > k && mv k out cat <<\EOF > exp --- empty +++ in +xyz EOF compare exp out || fail=1 fi case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac } test_compare Exit $fail coreutils-8.21/gnulib-tests/test-getgroups.c0000664000000000000000000000444612071024546016137 00000000000000/* Tests of getgroups. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (getgroups, int, (int, gid_t[])); #include #include #include #include #include "macros.h" int main (int argc, char **argv _GL_UNUSED) { int result; gid_t *groups; errno = 0; result = getgroups (0, NULL); if (result == -1 && errno == ENOSYS) { fputs ("skipping test: no support for groups\n", stderr); return 77; } ASSERT (0 <= result); ASSERT (result + 1 < SIZE_MAX / sizeof *groups); groups = malloc ((result + 1) * sizeof *groups); ASSERT (groups); groups[result] = -1; /* Check for EINVAL handling. Not all processes have supplemental groups, and getgroups does not have to return the effective gid, so a result of 0 is reasonable. Also, we can't test for EINVAL if result is 1, because of how getgroups treats 0. */ if (1 < result) { errno = 0; ASSERT (getgroups (result - 1, groups) == -1); ASSERT (errno == EINVAL); } ASSERT (getgroups (result, groups) == result); ASSERT (getgroups (result + 1, groups) == result); ASSERT (groups[result] == -1); errno = 0; ASSERT (getgroups (-1, NULL) == -1); ASSERT (errno == EINVAL); /* The automated unit test, with no arguments, ends here. However, for debugging purposes, you can pass a command-line argument to list the returned groups. */ if (1 < argc) { int i; for (i = 0; i < result; i++) printf ("%d\n", (int) groups[i]); } return 0; } coreutils-8.21/gnulib-tests/test-mbsrtowcs.c0000664000000000000000000002305412071024546016137 00000000000000/* Test of conversion of string to wide string. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (mbsrtowcs, size_t, (wchar_t *, char const **, size_t, mbstate_t *)); #include #include #include #include "macros.h" int main (int argc, char *argv[]) { mbstate_t state; wchar_t wc; size_t ret; /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Test NUL byte input. */ { const char *src; memset (&state, '\0', sizeof (mbstate_t)); src = ""; ret = mbsrtowcs (NULL, &src, 0, &state); ASSERT (ret == 0); ASSERT (mbsinit (&state)); src = ""; ret = mbsrtowcs (NULL, &src, 1, &state); ASSERT (ret == 0); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; src = ""; ret = mbsrtowcs (&wc, &src, 0, &state); ASSERT (ret == 0); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; src = ""; ret = mbsrtowcs (&wc, &src, 1, &state); ASSERT (ret == 0); ASSERT (wc == 0); ASSERT (mbsinit (&state)); } if (argc > 1) { int unlimited; for (unlimited = 0; unlimited < 2; unlimited++) { #define BUFSIZE 10 wchar_t buf[BUFSIZE]; const char *src; mbstate_t temp_state; { size_t i; for (i = 0; i < BUFSIZE; i++) buf[i] = (wchar_t) 0xBADFACE; } switch (argv[1][0]) { case '1': /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ { char input[] = "B\374\337er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\374'); ASSERT (mbsinit (&state)); input[1] = '\0'; src = input + 2; temp_state = state; ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 1, &temp_state); ASSERT (ret == 3); ASSERT (src == input + 2); ASSERT (mbsinit (&state)); src = input + 2; ret = mbsrtowcs (buf, &src, unlimited ? BUFSIZE : 1, &state); ASSERT (ret == (unlimited ? 3 : 1)); ASSERT (src == (unlimited ? NULL : input + 3)); ASSERT (wctob (buf[0]) == (unsigned char) '\337'); if (unlimited) { ASSERT (buf[1] == 'e'); ASSERT (buf[2] == 'r'); ASSERT (buf[3] == 0); ASSERT (buf[4] == (wchar_t) 0xBADFACE); } else ASSERT (buf[1] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } break; case '2': /* Locale encoding is UTF-8. */ { char input[] = "B\303\274\303\237er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; src = input + 2; temp_state = state; ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 4); ASSERT (src == input + 2); ASSERT (!mbsinit (&state)); src = input + 2; ret = mbsrtowcs (buf, &src, unlimited ? BUFSIZE : 2, &state); ASSERT (ret == (unlimited ? 4 : 2)); ASSERT (src == (unlimited ? NULL : input + 5)); ASSERT (wctob (buf[0]) == EOF); ASSERT (wctob (buf[1]) == EOF); if (unlimited) { ASSERT (buf[2] == 'e'); ASSERT (buf[3] == 'r'); ASSERT (buf[4] == 0); ASSERT (buf[5] == (wchar_t) 0xBADFACE); } else ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } break; case '3': /* Locale encoding is EUC-JP. */ { char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == '<'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 2, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[1] = '\0'; input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[3] = '\0'; src = input + 4; temp_state = state; ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 3); ASSERT (src == input + 4); ASSERT (!mbsinit (&state)); src = input + 4; ret = mbsrtowcs (buf, &src, unlimited ? BUFSIZE : 2, &state); ASSERT (ret == (unlimited ? 3 : 2)); ASSERT (src == (unlimited ? NULL : input + 7)); ASSERT (wctob (buf[0]) == EOF); ASSERT (wctob (buf[1]) == EOF); if (unlimited) { ASSERT (buf[2] == '>'); ASSERT (buf[3] == 0); ASSERT (buf[4] == (wchar_t) 0xBADFACE); } else ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } break; case '4': /* Locale encoding is GB18030. */ { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; src = input + 2; temp_state = state; ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 4); ASSERT (src == input + 2); ASSERT (!mbsinit (&state)); src = input + 2; ret = mbsrtowcs (buf, &src, unlimited ? BUFSIZE : 2, &state); ASSERT (ret == (unlimited ? 4 : 2)); ASSERT (src == (unlimited ? NULL : input + 7)); ASSERT (wctob (buf[0]) == EOF); ASSERT (wctob (buf[1]) == EOF); if (unlimited) { ASSERT (buf[2] == 'e'); ASSERT (buf[3] == 'r'); ASSERT (buf[4] == 0); ASSERT (buf[5] == (wchar_t) 0xBADFACE); } else ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } break; default: return 1; } } return 0; } return 1; } coreutils-8.21/gnulib-tests/test-write.c0000664000000000000000000000400512100637437015243 00000000000000/* Test the write() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (write, ssize_t, (int, const void *, size_t)); #include #include #include #include "macros.h" int main (void) { const char *filename = "test-write.tmp"; int fd; /* Create a file with a simple contents. */ fd = open (filename, O_CREAT | O_WRONLY, 0600); ASSERT (fd >= 0); ASSERT (write (fd, "Hello World", 11) == 11); ASSERT (close (fd) == 0); /* Write into the middle of the file. */ fd = open (filename, O_WRONLY); ASSERT (fd >= 0); ASSERT (lseek (fd, 6, SEEK_SET) == 6); ASSERT (write (fd, "fascination", 11) == 11); /* Verify the contents of the file. */ { char buf[64]; int rfd = open (filename, O_RDONLY); ASSERT (rfd >= 0); ASSERT (read (rfd, buf, sizeof (buf)) == 17); ASSERT (close (rfd) == 0); ASSERT (memcmp (buf, "Hello fascination", 17) == 0); } ASSERT (close (fd) == 0); /* Test behaviour for invalid file descriptors. */ { char byte = 'x'; errno = 0; ASSERT (write (-1, &byte, 1) == -1); ASSERT (errno == EBADF); } { char byte = 'x'; close (99); errno = 0; ASSERT (write (99, &byte, 1) == -1); ASSERT (errno == EBADF); } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/randoml.c0000664000000000000000000013347612071024546014605 00000000000000/* Some random 'long double' numbers used by gnulib tests. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "macros.h" /* Some numbers in the interval [0,1). */ const long double randoml[1000] = { /* Some not so random numbers at the beginning. */ 0.0L, /* Then some numbers generated by GNU clisp. */ 0.709874756135422554674614242046304686448L, 0.486497838502717923110029188864352615388L, 0.474019570990182753146861083750226106848L, 0.998821069612940336401792152067298257397L, 0.68230324395444341476284133813649237509L, 0.0812383212795450007980350531141537177532L, 0.43131112016001535977175708439191217567L, 0.1596337172541222285215378906083607753005L, 0.0447361192177328171952931546845870270203L, 0.669148550486018286115665314826153614017L, 0.398752708644620313955955676251505325896L, 0.600019492390024166744893736290881101244L, 0.78337397012688890834008412364808365851L, 0.747414410152603863408503379239564644402L, 0.550615721371501982864462175362996180322L, 0.0073983673767251687422683917248311760491L, 0.693846360902780799478892082407382699085L, 0.751592057901191172906159475240427353057L, 0.74000578784995401707243054106755282117L, 0.847264623235961908747497547605068838836L, 0.917431426585209425652777605148791919017L, 0.267532476015101748449269162884835638528L, 0.486834088208986505203048715784492259319L, 0.4580154564181484580770749178538567666L, 0.391521076582874764982597286237947922907L, 0.69173131929214083677828129436922728366L, 0.995268639187054867212755710743514657877L, 0.553189251912843822062196619876802699895L, 0.632300552505301947698796653386744186037L, 0.445572801006840927064646197943103543344L, 0.993634311396905276414701816228609517838L, 0.611582274481091436495638926486363711255L, 0.017611091105275929341544154464243038417L, 0.598936378040443270534796418637146416803L, 0.939730325871014729497001074244817030738L, 0.385712528561693907444911228190200940125L, 0.48796444333495738271693214259711532603L, 0.508634972895891442259656591497940133962L, 0.88453398179301716552318999435310293852L, 0.509099535482633468613040057130206639612L, 0.333677997666677081186230843198919594355L, 0.82715349353996770180499230535973424237L, 0.0372593663309767971914036990047894757662L, 0.932828780275931267421133064996449298348L, 0.486099261359133830842098860485004683725L, 0.987156392631551825781809767746170502002L, 0.824739790678073493124786291053674093535L, 0.671869573118280976952523743592826377585L, 0.48088844444394888967684860088619551899L, 0.017233021606613044454327510797750273989L, 0.988102711714879869326666071903065279145L, 0.091615081537455465573860363408517029583L, 0.0113278995312253231106729997476313183323L, 0.294349528513080028346115860151112891433L, 0.0097058790914280197566968241982258935964L, 0.715113281550035710673074854712220192465L, 0.739627170474553083453358265804562580162L, 0.588476045636558489860462119645353521893L, 0.91330346819098343970944232526748274664L, 0.281457572112513183673653575304242456425L, 0.784192391468991402261628322552430383283L, 0.504857923842698553133786835061714061812L, 0.230410937725986177704701374433825197397L, 0.535805811877939822805608704986961969659L, 0.0508287955596506952822240797812703550548L, 0.179399756999629053194209501169297540332L, 0.675837373242984020977236431747771655704L, 0.981496523455084073391380532008173135055L, 0.325845075647804753424852268729037997407L, 0.832630951427200447589084239299500129776L, 0.825354056334755646582091209610369762364L, 0.574731012869980895104127749738122205757L, 0.799028354294603017571131513193291020045L, 0.537721586879667191016369071169775496218L, 0.83846801885738807298552515294277869191L, 0.0922901597877978587435698953162723703674L, 0.434458505758559675954739433438496373717L, 0.308017320632506922735963882703835222897L, 0.0192693232310748837390370764187488626234L, 0.65275462537999797862908920689650691667L, 0.357130585286320841741290333260811815153L, 0.359562085720204868627653630044659240449L, 0.758320826841831017712067337815543048118L, 0.62169722559489484088614873429559348682L, 0.17335411409874538731529771306978631118L, 0.154077331752487118534287271363344964006L, 0.148559174998934930922746358844164455867L, 0.881316225913391098839630896554038163768L, 0.89289796752480477623907740261818685845L, 0.57786655574695620371527391411424563834L, 0.318175774295281868509200498351278930862L, 0.194978302204782205514236430086515458283L, 0.87084962252516402992532937666368998137L, 0.362113882465068209502300826516448793743L, 0.273446496762640462316848141032810658473L, 0.1471399192242189033406154289397228481905L, 0.937157507052090331728212622934524925056L, 0.600045430164287985733450402316667890373L, 0.794478865621258499047814379367829521507L, 0.889115878933706260333129391997704491913L, 0.631825206206982866021784416451887594472L, 0.966422225095067311240936396545408962515L, 0.676845470105427028205320649846678927664L, 0.671163783319728784750606328490914935783L, 0.213726274743505026386536996423761328083L, 0.99483340496284948345969144891145513965L, 0.362072360280863974302182899205431874295L, 0.89135316959373017710710890812308229361L, 0.861008403776277958081202417380537907424L, 0.518258469677886348298849030872657409393L, 0.74995117457421590827489329835282465567L, 0.141688060236646135992059548400562463963L, 0.231055693687838328234866575264314255906L, 0.128367320195147852998795956530756587271L, 0.735643745226188370911313880883935933086L, 0.481951681233521227023903083881246017963L, 0.29797778097740396719094352844253033076L, 0.259026843185033526978277511857498182853L, 0.76454793636766387350530239448634042225L, 0.921742101320371872828332060575170679558L, 0.135594574885855893452962438848740230435L, 0.249482789438500604376469100084029356821L, 0.447893460512394580798054060401740249162L, 0.841167533365717681130523968098862274883L, 0.063885342343669943206116658917625959392L, 0.49268569222220133343083683720155184169L, 0.0320364278163828327673837310979596079469L, 0.83067006037141488187036282222404336846L, 0.32687090604018629599351990634445890267L, 0.524229581985562678867475657633756672726L, 0.26442137331545990230136529620604338964L, 0.1804465247704923307363156457827584866855L, 0.219897692414720290686302976466475627349L, 0.657372240957848561373923532613997515665L, 0.94917951707325275578037456019158874452L, 0.999935336870950506894538846120127792282L, 0.334292387732229479489367107895450895382L, 0.519605753222230586160238890634421180626L, 0.2353320030331258205431171147281090084686L, 0.697837952881171466097464830413620278996L, 0.337355949172173312279209733133367570558L, 0.59624609578396787690174902306338541087L, 0.430566868363073838098964774826687118822L, 0.303143768470597821848720008902412356097L, 0.45566572082779255052299434804712613961L, 0.63651052470632278377988990008643926753L, 0.88355849548999550762491205909993278845L, 0.857627182143034336666679544569747793963L, 0.579654405386150422035981447661995358225L, 0.527551502180559045145630115424486189773L, 0.227798290812497436015108334865799792168L, 0.860285575656798735433746383563482660567L, 0.657434642899561800145850990323893418457L, 0.991915916857419346367596676050775541352L, 0.0299053482258395117883768309912517801074L, 0.494186962160200346319995839440170254278L, 0.795837941248740362154274095100822390282L, 0.213898349709271555518444444268604992712L, 0.635385838537788174234352352696939407706L, 0.1161960540496013767418067989853615145483L, 0.236636716576793997613161803474856412323L, 0.250257128320679509772248555959408855321L, 0.754809883956726591031066199439807350575L, 0.240047496212680591313028855365466345707L, 0.125918185384015376472834932789271923263L, 0.830761928512260978768305988740912711273L, 0.0833746595456954680423678981938324373477L, 0.993235018876045312632920249583820095078L, 0.74457886551486005017424251252790500917L, 0.904041666312003998553971236017433817041L, 0.99682247674917724207607173416904094376L, 0.778185258630194559195184600522592063632L, 0.617908428541966249479693433082678846704L, 0.034201434638706652764862810175677292771L, 0.1166825963578175046863759835887066398776L, 0.618184997077951045734597662867931774914L, 0.67223166229200793562043589747700629457L, 0.50367723015643325152991864733820551338L, 0.287805524504497224349445840278160308547L, 0.418530565562949537953621246456529701546L, 0.356577284504836083965140033686046682705L, 0.727797226876543100474285620953868682292L, 0.261158535215243995918166290296126543963L, 0.1233681715943113445590872776925938156L, 0.397342365090131218507373938120760734013L, 0.33651833905580176460704582099080050591L, 0.124851176251609572087737060478799388707L, 0.49869389018540295598691678028277690211L, 0.603921102513219725593707198424421456834L, 0.0288068305492076274901316515486696644854L, 0.27635950491121559708402485015430409745L, 0.0219820746750707161670181537628175322048L, 0.893266704905772978187424688068554761406L, 0.055131714446612192984065196401480701447L, 0.478917803887421452005543212818108274705L, 0.1089109338581245135310441557812062287244L, 0.451355129465699006367714322379179082201L, 0.933539696310061306235683130737189659555L, 0.295046527696521751967458467625754033345L, 0.657654030109877699469191835246373699585L, 0.699519422709288537538980841108763784234L, 0.754780411476609088293217972311402262028L, 0.940185229424181440596885768821586612845L, 0.641206442188302531301220212171259413504L, 0.483623421775598486212538785028426545698L, 0.1819507033406890598006456890391145571876L, 0.3493992184159313422014002142021878866L, 0.2282143482135155999703670773974654680736L, 0.65404355620292102948676570623901452325L, 0.000126697620991797753719907018394969483701L, 0.000128697615694221449450257101713351917085L, 0.66277677565136622936757573048183355679L, 0.954427508631091518542647272554320259L, 0.821452416615550557725422642536361482673L, 0.783949133156224682132225528942727293192L, 0.883688268329322182794294084718215227776L, 0.887198477924019626901140168907684736036L, 0.301153686936585019868640358522761168745L, 0.97031160152938862140377079439908121466L, 0.613591225576913510391808189718881180802L, 0.973773801885628446394837963774216539007L, 0.969946092528631153860793542995840284225L, 0.0552318705490405481104532089875456066346L, 0.398506652226642658353465649824893657953L, 0.577466681084525459648007205600389579233L, 0.538305717497527581210294472297571817608L, 0.0378969572225333661087665511893845011475L, 0.82821208446292402852221418490682507414L, 0.207039760611344134455359310666092356869L, 0.278071434395492049592363658721835175976L, 0.418157919791356829061560807874478279737L, 0.917935426878916775097393966246600470752L, 0.968879316988430839484738642933327229065L, 0.836847484003257581736597938908686488306L, 0.95787762740618523171012745852536482523L, 0.381833463284092269744674988738521423563L, 0.585758801118634412354899474049588357203L, 0.590675098878457580254555486356030743515L, 0.999102261786447498899644398829003134788L, 0.278723779765613710807952395929736248799L, 0.150160483677965826860533794972733497469L, 0.39044191915595120943090707935299688844L, 0.882025297705744570797306391637391855587L, 0.26053886056730883704893455389142056588L, 0.530123960707389279621444598593626923328L, 0.307497951588709795568291546230129131789L, 0.755712717002473210112772528495042985208L, 0.403971099596680128749039001982260210321L, 0.0955902605698226580325595772471302440213L, 0.733946822526846681865131682504158670327L, 0.824558199580936798107294631591949429405L, 0.355777480091076251706346214380424670616L, 0.183210308747040172107746729630689571628L, 0.943081072447366944673610412439697363267L, 0.823437046917209496498923793615721213912L, 0.272212671889142468847791216625072718846L, 0.467586497114075237282436742306271250655L, 0.965430243779957305809196327799423550657L, 0.264527585376739963287684763043832918263L, 0.78305929918791974277407705060017330726L, 0.1569161089271269079867408493909342109635L, 0.385890512318945048667111881493883277209L, 0.748768801714747310036929893375463390286L, 0.9607241213632062657075501565333113635L, 0.681005349771442926258254424282975745535L, 0.417404611754855157969846623218352380733L, 0.384922954690351156114438668003273806442L, 0.0248688875333777009659560293287195312336L, 0.289622732329138351547499030028075517487L, 0.356660798938142089830284922931103513564L, 0.1092119220339924538904809107210351902013L, 0.263044604533896828574983495057823392153L, 0.72916056882229781356884933113775509031L, 0.277279616044198734111166028359400949283L, 0.448496025651349045553194567962243478962L, 0.397797975606664545700620422788810306397L, 0.915573317477921170464219734057440942223L, 0.565957191780698852582910000301549192135L, 0.0199640867363067059474765492007910956547L, 0.380718754942963039702539139065633248878L, 0.271561535356661429325107452975658450244L, 0.65703383768996023094650337496290243735L, 0.810303462640169412310932301780031244584L, 0.34389677270659068303923976829417662132L, 0.1459701849396526086771469906702178205394L, 0.0709566883230581731990192048699199874356L, 0.0273188133279639766234319338307950998466L, 0.189257375093862859152281617127963424911L, 0.483370049027267515091110020077746913052L, 0.6121051307445822901845022667347352688L, 0.0669683489197768142011855877890933175548L, 0.0462440353376468071116256899031962430102L, 0.66179099750239749196171922709429044667L, 0.331447780875915347204488922360787127231L, 0.88878630766137716878808504113561041651L, 0.57831688009568937419273238575083437733L, 0.1665758643537997337473156606765968668944L, 0.609499751553850514507525575752744468325L, 0.842660412678850878529299409778020570114L, 0.868735885617006579468607975714721515953L, 0.518323673739076029376626898444587264186L, 0.465048961779768578307935679739067346325L, 0.739933063031511059934522150792493137138L, 0.366097491036976922528977805725731033037L, 0.622890978255856721366594654155975719428L, 0.945120241233001881267096151974150875442L, 0.711795000549305806399598132955701848342L, 0.120093380051693652573317820347038096902L, 0.461420048084338423641881546847056927696L, 0.201645977777376722385295339631509175754L, 0.1479402104137110360277226090924965371445L, 0.287960179369955828242600303166176042591L, 0.788362667534075941033937374958276358103L, 0.610312055398887641020833805884097007991L, 0.758450801974187424825814780682156814865L, 0.64208882693968320907867911523798381855L, 0.255468285690834138126389042932304445888L, 0.0370478385689831649949675007793815537737L, 0.551880617631056560992613768623601574096L, 0.559262357532227558112085482526038868046L, 0.129705275018847798920129782613409588523L, 0.1076289463968801831500602693982998566697L, 0.272506325706516323678193293634687081578L, 0.721990855538151706841764025895777805643L, 0.523084042169573467351077180119310086396L, 0.0858615712848179826840482241961243288956L, 0.589714739430299853251893655400362103563L, 0.512412326166823937685402214713910254025L, 0.802350747297003067442509635888112412853L, 0.715817091619681167941132068164905209087L, 0.0824951218034037355816988555328185436778L, 0.829228234554153070848595829448989414728L, 0.59652037694553054648270061009002150308L, 0.133585725647906582691822880117773950377L, 0.812005216254498654412124509257882599085L, 0.808142463854396488512203093936737654517L, 0.570217922503074432494487309472855783614L, 0.704017977813333280013384719294741845102L, 0.0251797587779118690185681150429720019843L, 0.676272439608475367571481578590700290242L, 0.880796414989798318500723261307937258554L, 0.387922631107753361553377889431536170676L, 0.282350224157064849683455744598629321323L, 0.721001172978128539392551761867898599807L, 0.98720056526474911920598612334425157851L, 0.9951900286811655251775209231187451065L, 0.051844546479017627818996668613208776283L, 0.103738972117399718145836730690615155693L, 0.228544758674525285763674099492074936604L, 0.429309402103194762341587536897342160049L, 0.564535575507982971760351294178163523416L, 0.999063571593237112671743187500362701266L, 0.340374156369508513494787137157934959152L, 0.778748988242111504661479799747122556733L, 0.471307010869691772647781526213794708743L, 0.289707428078962269353959639691462373973L, 0.826577651264033230456965284610788939828L, 0.860667694131974131835140122175480202008L, 0.596405567348984902495263677852931818947L, 0.79786093770390728560184577433203234578L, 0.85492142888696693237980696048371212203L, 0.57242705004809831263405538576519171441L, 0.829648119655355629047392239460860046016L, 0.783260316181642610272420809845230036294L, 0.0941718863377651336163202407301145871807L, 0.156372209579300482444127671309443664823L, 0.95045258077372510217507306087908380692L, 0.1885289021059534081345247308001373861575L, 0.660776653890123229320677431688026234587L, 0.2333507388961794003755022400755269739225L, 0.926661255852332295794894190183342387092L, 0.862240624886232672002503279536846219655L, 0.093072473040365648693897225471155002338L, 0.210437952956145192084247103889970459783L, 0.98112543168220233380555460117617724093L, 0.740174391774267645790688716222038485627L, 0.0209886798500615011013258311339617682421L, 0.41833754096087514377582590206105535614L, 0.469019942905167330505858885046130048223L, 0.715228143253914303084091910768414947468L, 0.949215045400946624794326433082702896278L, 0.0839262379919984011512905346130401074556L, 0.358856470231875479544116669678510859691L, 0.676461324144301815445903930221360844898L, 0.321802718137104975636543941512529575137L, 0.993411285955596090334951526803325817472L, 0.860164319140927797258503749506400508873L, 0.94773452678939638468420772776729628408L, 0.786167026315331965750413583155691260173L, 0.45156944204188755542678210840170293585L, 0.490807428869058127589400400723875752095L, 0.1064150484458768919266881304357565451445L, 0.324460881496927069927267886879512784128L, 0.892536276084459403262968666925514247957L, 0.626906362142556286375622503025155623158L, 0.912617117728752553677432546319200457076L, 0.670287539555608481364011494943625670644L, 0.247614513279178220157281399165275150246L, 0.328334024179281412037962820247065990969L, 0.829445540957824174480776183273738605512L, 0.1787214688659462728637669907628671276175L, 0.925570168885833135397413435137754040344L, 0.98275386432184844551191217367555375122L, 0.364711512670624901280733420446798813805L, 0.0676060703890593392691073615176801081634L, 0.01088522590112897075539168583333589679446L, 0.0611693052224598303672047526429160913973L, 0.214589347780615411637055343786045569195L, 0.698097005257153990899739747284349971478L, 0.0354356066334430559162358810601367856981L, 0.0279531560831790454930326667914520406377L, 0.939682879995515407044885888120427639943L, 0.312419879113847025637130107480365284706L, 0.429063186024752762548549652686423948472L, 0.198325752893057589388425455067795077316L, 0.653970278037364931023007417819508007502L, 0.396811027519564931158159336303275106925L, 0.50451059823222344440248588902992099958L, 0.0862505815838354201964323759027263746603L, 0.957096030216378795442646824371057760147L, 0.587610162738417619467784731999441435863L, 0.582187586992416238476426545279573456436L, 0.535716130421670802716666237861890374707L, 0.090478847153957807764386571203708454605L, 0.788473620511487574655894325144660477707L, 0.610237648835883657058234607228408957708L, 0.678372723016422015853594971922211368707L, 0.0477042323920128297852928999674240977938L, 0.916676966783686851658830754268116450562L, 0.385373716764729378193009393283577714611L, 0.51049308234047313597601380814795899816L, 0.1196704708003806819299545192341910042065L, 0.446475706132336496196697021305914636716L, 0.22995164195921866005337396330755244987L, 0.632225374693904589951305492826903497058L, 0.1049567841702419598059377515889392050297L, 0.66749284825574584532432314559877621928L, 0.730750212627697291852996268443402535667L, 0.44210748459007730373853303409845654876L, 0.165882407048533464405922485111215401752L, 0.326102079042974476137893383568312181916L, 0.894926469777796621626659556932174565354L, 0.829811268916354531033773068150153342864L, 0.0607253283595596933368529290946492114805L, 0.0677752868787034912813695724240479638585L, 0.82861506635734784945473366382511846348L, 0.160085543323090657960949278634908144601L, 0.232569451519550129004668131405568301759L, 0.848363194546104528297512566450812116666L, 0.793640414525406609723674517332020118566L, 0.0908665486135344605492576594616215607582L, 0.98524892289773367881284955458176900047L, 0.232277847265217861619371474795084074907L, 0.2478103820537262599906715455471023544214L, 0.518524645780409202282547691600231775584L, 0.726858378884955244314303315523158335615L, 0.245545705017836867827662773158398435754L, 0.2242602776132220616213985660229694803996L, 0.69321599409749039262414070240230983052L, 0.0112978587458533729787299027903363211672L, 0.201700091442640051051557572594860881596L, 0.1553158804742445432796353137546288871905L, 0.297307958467221836656545818754009116053L, 0.858321137590160233755873079497950982112L, 0.66848174756798322137180974713907803341L, 0.996344263106353369755981871581860505522L, 0.0298469963581545313060582891253178820216L, 0.5825562269883888340326171333296281312L, 0.493316240919863194534203651249074989694L, 0.25506115557073666386519530923416434445L, 0.990037777634583670683401168871182857585L, 0.111966792328779238876716387539738843995L, 0.555536981182848652400091282463345207445L, 0.281763605895317871765768390877174374161L, 0.902702281907817546029803311979267829958L, 0.526223239446627547666226037912343453756L, 0.663322588876953268851644820272004691035L, 0.925956679854174995001911256195736125327L, 0.978687628923344717267490649565202182013L, 0.295452218109470204949110043833472171496L, 0.763317372768444290934585368155544717374L, 0.41484295515622153189510360412010755096L, 0.95319138766107113957717501566306191772L, 0.449833295238493367386837134824022661087L, 0.380903660964162496124546078818966824203L, 0.0591435603332779390763767398658188273838L, 0.594973116752510574186847848340951992488L, 0.66051154347057943107777082783767373976L, 0.9590947364014878778361002605613544034L, 0.141719503437180601174660143271258240733L, 0.72942088503531365739564056985302156428L, 0.96229479992042091317494337141213026865L, 0.51401712994901482942061876482808737646L, 0.09446204537625467018781365109090483186L, 0.568441523568450417056301286402539600564L, 0.598604342726174263070596195546293250945L, 0.774951017988365558347613104226790833317L, 0.81892086730816467017537310019875247387L, 0.890143355483709851496792149649550808793L, 0.2191477338352410954693547610221317715285L, 0.726897475480314385643181203422499653L, 0.756138778886812022822443490226271392144L, 0.36128016023552084266898937740898271179L, 0.410782581318000192446155911986931996913L, 0.223641334296034708685419059866928946095L, 0.0611617201563377229556630546893173872466L, 0.0454251140845604672274274573289906520655L, 0.292039969549662442463090760177927466818L, 0.0892783972345646734854765244000589132126L, 0.98769280749877429524697464655962686569L, 0.889843464657722517503667653048728011052L, 0.651776307404858375062718114948328477704L, 0.87617575855504123004785690824244025026L, 0.338359170956885135997817905734588127076L, 0.734032684330295341291816774804886223887L, 0.862422342223053851459695185679195132964L, 0.197333977370262353727756586852240555633L, 0.586060335783457129849055206578505427124L, 0.132898852938756538479400358451026471607L, 0.548298096092246267871555639877296879195L, 0.301119859270324657077136364646995297056L, 0.02186689635349189676964089313754648484195L, 0.037538023766844046167768352700498359816L, 0.739462465806194132819844936199304370748L, 0.306338591475158278790432712666553704959L, 0.0349382326130091592369352494672121905505L, 0.12659131714329909411210854142389581492L, 0.991566243159047696662802015340988687108L, 0.265613985138476447081523915107505113653L, 0.379928020809782559672193104868857287448L, 0.3311424971073397473661763760151895103L, 0.702177302636984264408758773725210449873L, 0.975045571615360787500646118846671455125L, 0.0373462862349996603561237755410350012631L, 0.846126776062337124521510357150131165153L, 0.604046707233534456382774833817964498043L, 0.1981113045697699450375369418161865703455L, 0.0223467484405979164693956414316536174577L, 0.67121960182601511325776586363807504696L, 0.165784481427263519151726479123968726022L, 0.721784618575898210943875783221281669927L, 0.247408211201465904622132596487935205602L, 0.474174174442367430962454680799704832459L, 0.38041380356189313505762491005159753494L, 0.412834591083812886132307610186713638625L, 0.294378742681402760124595985235966036022L, 0.319576442623415298744966071520183847465L, 0.17227236515412864866186439447886640924L, 0.19227796294349462194111033545303573433L, 0.701351402612222654905938605774127547107L, 0.55598633289035034815584162421930015865L, 0.402729648554369906881359212431684355721L, 0.595951760748834493622338584190905994085L, 0.119840257870361007206544525046135477756L, 0.90443395581066590152525534589406902782L, 0.205188871300477881549673944463237196075L, 0.339175278174772519132232276502457660768L, 0.447725444308107151040888910769680233742L, 0.541239546708188153505885726785683096117L, 0.12984235126732767588700711245028426254L, 0.0534701599183773436559514525508752846737L, 0.793436019832695131646422778046763975325L, 0.718125883729211211336344362949260539072L, 0.328649037343445105052694618356980072933L, 0.113307342739499399477248133420602576291L, 0.87683936228301044929749768481864525904L, 0.212591937265603187751611886807532831791L, 0.761002958456888912899646497131654914807L, 0.220849601519164170820922984026707209176L, 0.222305857213559738578093188054272365062L, 0.651516500020930005107266726995614198887L, 0.1505613416188572288472651067305496894266L, 0.166658450989632252583252879193540688162L, 0.249417632511505538283736333645627460544L, 0.50096054904291170172998992288713266662L, 0.173701146801321486346972068110605414347L, 0.93433415280052265881674202089278791561L, 0.1167900820460300938880016624066890278452L, 0.265137084235229705213901240937609442947L, 0.110072770364904306470596762714108445086L, 0.0670575770615268870829070207384379655213L, 0.92447493539224566948960065689964970346L, 0.187517201307673207566548753071237315229L, 0.935719666366703749433556454391358561756L, 0.964002672100646458888742916175546552353L, 0.6304136194377902875122727617639812134L, 0.497041144725381002743104205240568050483L, 0.589232636183711897405482721407549359295L, 0.524588285641300028631908965527617181296L, 0.786409662511483672510756944887012261427L, 0.9924030873238807048291154748671174581L, 0.891407534733792276848059682970952672076L, 0.308538095910260975496982224956384014562L, 0.949088891149549225900320967233005245566L, 0.507378396004105004571665876613293881214L, 0.348875146873077771786031143309488031474L, 0.129717394366372388305812826098578876617L, 0.371316171885006633822161450072014737125L, 0.550162123072752251266003313454007126843L, 0.822171979807031777641565545578299345138L, 0.75171547658293988559512988487590040284L, 0.329537443635543385256682239450819107475L, 0.159687481361602477899361671181005148163L, 0.788720723813465707294018605642035752394L, 0.1031423865826241581828274573741444954832L, 0.1925157943560383416361499973635531049876L, 0.771893047929845637497166550933789470487L, 0.681189132819106369246924892765206195007L, 0.180608768713011918428603967211913698036L, 0.0869303304414286810402604783458783443746L, 0.63890744831302111307395023326393791462L, 0.531696069328179766265158866360885671855L, 0.557357572478102464274432325432400878297L, 0.765306589402879669413870462450921612475L, 0.0941202729911292570046371838018359372082L, 0.902333472113108821746674873990738636997L, 0.165516366160118370026922089795742876131L, 0.0317472434880413278821576585103363607157L, 0.706107972335163251316361316043030620453L, 0.832472986392763388669796997227437520663L, 0.769939001736494466971306881365718899207L, 0.83093185023987157595917781461722256739L, 0.1143834825195292986705373579359335590854L, 0.283326017120251162360393258571085609729L, 0.301605389836836671045912951769199753359L, 0.855854391727628505548518803309296566532L, 0.089938332734139699450960989316391404434L, 0.310225946153425747793112265736973169299L, 0.96854812596413627994714291059983626441L, 0.279767360423571836833858253122290577619L, 0.113545981876279916290815278422648489865L, 0.943101270554056170747004305255027939268L, 0.812274724978801470221644756549524210083L, 0.9678011347395447510273023981530290554L, 0.514795136336602722878788704708053145966L, 0.50560840616487841567055789750974674943L, 0.127654209842819812026603428361923670116L, 0.273727399985085036497076514726791191553L, 0.964821797874257789566527793136425594082L, 0.853392912197074096341317268954834390727L, 0.914236806849585335611299422695886165192L, 0.277335361137281076359079507288838688219L, 0.865708792613433194377422367016717680172L, 0.761947879929658945814013586634774725302L, 0.276975494384441865188273120642155257808L, 0.0678895000408079241574268817560335475378L, 0.929521528875748672899760603996998763144L, 0.44453824299955605846877126958322272066L, 0.444318159420536625223816052640621069982L, 0.42913762214779045597457741573009821738L, 0.98994873802399078252493194985812582986L, 0.93065975343157446755652147574743540714L, 0.821639107980128580428385838275355600123L, 0.031337950421787684669360817154012683829L, 0.839516942888416107002513723437531514126L, 0.785501376812531727571251496474527490183L, 0.247978681554054401906203846371863203863L, 0.985774009303654108868853196421131421187L, 0.635347409930173147315815281304257764708L, 0.40087985483327734740658289294086718422L, 0.374059729085540852289174052767716446502L, 0.367226053686019780853702834825808619761L, 0.166424328898161772576167906091392715805L, 0.838115185925303343477055122060982270143L, 0.829549684532006011608856001441012324216L, 0.059867788238866724897690318151639504149L, 0.0253429734563284738087263277549928280781L, 0.953315773263436653713242828719775352192L, 0.597536998796130884349662459732857817956L, 0.0320571321493587106457025626624408278814L, 0.477506594803204144826488443400695434979L, 0.285541992141868221897101891229394096707L, 0.764190678950226854486968785768647879005L, 0.895489776830293129781335242249167913705L, 0.570740793029533496018083006013191540077L, 0.938316924714444954315906773563465846538L, 0.56157168133328941481074926451373503549L, 0.354184283860505415751320741296599995231L, 0.778294119283540721552919906619543293274L, 0.434953011661757598127924745629053141294L, 0.37156491156117895854194599593687697796L, 0.898767478977082606651667259049374990828L, 0.21819365919403129548458400006737057993L, 0.278163373548978939704874687746089548269L, 0.1089005781457343817756962209721573336768L, 0.85152888717082537570752846642305937149L, 0.2419243481761527583754399630924438738944L, 0.69442654829377168239365980152821108287L, 0.1512336533453368944625038813397779875445L, 0.617712962492924013140729661730350287525L, 0.935400762900002313827620435729493050175L, 0.79357339902161958573967958515254111256L, 0.734250188990467683521536859220675412636L, 0.748517858206364295837674601491185485078L, 0.82520014781239194590337105462135253912L, 0.1240649365160101108753438662971422995014L, 0.479769236133748631678854875312914195598L, 0.171269492636258554036912204801376697988L, 0.833025419245729049117746814929956940986L, 0.354429813451205200141830318428840891828L, 0.474809123369344367691189422128776480146L, 0.692239655770541262287308180705629028608L, 0.271366901464125731413801963807240905363L, 0.561330233800121182669429172066686942393L, 0.0695868383638479426233449148171168522655L, 0.627576910684655924911125045007979454546L, 0.423331542652214907262628326674848471962L, 0.354725031694671387579309719042578580595L, 0.312419264533145363169359084710774849388L, 0.167819037053563697473931127337972350099L, 0.99960836112225007722014049168024866743L, 0.820598666739967434549389339457492152643L, 0.689495024741546551592649728378054973272L, 0.831455766750164249604246627812180304754L, 0.515538871956858025876039391193370146897L, 0.011724889011994886395520178564059346913L, 0.587485679650311054946861235938601293477L, 0.113010564497810081892271654273794311467L, 0.381261245177928587613552004600730320213L, 0.466933821322235841488251157296771536952L, 0.646965031311287534221872388017990968767L, 0.1811101995014685369939482409137380098995L, 0.247896943912780884738461558340983142645L, 0.989351208835640462928338658234638846217L, 0.924605283008839688813842975338096967047L, 0.232010860908797395869871518793187418799L, 0.90274859050487649728273938229764570199L, 0.664078588165617572819884867627266650356L, 0.532118803501055886836301096658125012493L, 0.854049566634563277356849166147057535436L, 0.756477818237029394317820041473365538516L, 0.84578312219074068824832318394711642503L, 0.169914247711153055959592721695068126213L, 0.50848961455796310913779527189620088788L, 0.715231849280217810525151667911662744854L, 0.59666585539439202929452535210623694053L, 0.72343578283497935670188130618697814035L, 0.982228826906846431195861293729527133844L, 0.98068755339273420823366752414155272462L, 0.805277135157133623039231303778838094716L, 0.840154168539481858495551656699708834713L, 0.41783933695481411993780663692806809771L, 0.070981740672048589027432942629842679319L, 0.96664795205679820656636930925268162457L, 0.155178444292580006807274171645675417735L, 0.276407670358590477524508525465318694191L, 0.1054964292635286397825421772930229411286L, 0.354205947516472098240472076653525679013L, 0.583456972150065135260312420865576513532L, 0.338643867118430587299252775116788065723L, 0.146467849593879827355466951871059968293L, 0.0639448405747942007938896940026153617467L, 0.846536583732599902600485371566229612512L, 0.599728399399342923058515558777947417833L, 0.140387922890235239162309673093379598453L, 0.1613160217694973394489944660056369626715L, 0.151848582163159668039725770584081620756L, 0.663365628518336712743995463098831995163L, 0.752166976367665534193146852225632451022L, 0.911311062532571765386023433215793121138L, 0.692490353635171096989434518397248623866L, 0.990512559245857089458980255962574316578L, 0.135026433195284768293027372762691869458L, 0.82220389984592453325084678614092535756L, 0.385471328555065081327630832374267955206L, 0.108251633446048989722318564345306848022L, 0.429090236713339412878596384043906547999L, 0.983421429305507423332481562450757515935L, 0.0163920521681887489391607174895946079877L, 0.634276319224952361916496263299135133978L, 0.53164375434562160610011793242431018808L, 0.92801127390978303506935520414803575609L, 0.708525110316144414918831897015500504675L, 0.722458240987313977092360928226487539067L, 0.432028911017122242491499522489684865593L, 0.0001754664935299182587224394863719217640876L, 0.384266658709383389800969077999970411222L, 0.284964603427904715461598563563830112021L, 0.1541443027599544245798778784933517572175L, 0.958338802063400795313378181913830622686L, 0.636927309395779701122460610729048286624L, 0.0963946603295477475541191401069719222887L, 0.0995190436935072136624400787867889652226L, 0.294220607618706451139091631947946466958L, 0.180831121994104393794487526888221966969L, 0.635403971764105414766318934434540385347L, 0.333929089029202997624323059191296321991L, 0.498378678845335358166419186432789231466L, 0.79769145046274241777533636404451138797L, 0.269285209299779365433012558225847643041L, 0.110524792990169183853219228066613162975L, 0.252694136970632381193559370648931722998L, 0.447232396115786457656991370803052298542L, 0.136974250599080636030665381278567779455L, 0.67243844394695156696032636816317618716L, 0.280265952023932940327982570523639258968L, 0.960024614746466668963206103951264089396L, 0.83595031847062668345135859090890188348L, 0.127840531352213174558502027846545305518L, 0.333183884044346150282363573006579940787L, 0.480504229384957927069515726093850498988L, 0.768498913093287331615443023486434378468L, 0.940413493411219283289136687423264928073L, 0.548648592555019577089750862504091661273L, 0.57814360039222917342516307696519676185L, 0.752806287004316513987155718410926624384L, 0.328211694133870995310455637563825433641L, 0.153907665030571878436793446358668488233L, 0.694742699178286984320321272531890059073L, 0.25435421168640709608520313542078743933L, 0.61387638208113240104328972389071498415L, 0.250476311300881635346483832554226742174L, 0.345809836897231980069633800588202859833L, 0.343083789419841923142937785323119943136L, 0.319174378869537109008405333721782689566L, 0.158111477528301687597604325494967120237L, 0.244000500810322900960285910812181460829L, 0.23179705702278726416861948783067588642L, 0.54682924846605062799436489677774333716L, 0.549008127982055819651521103931442895238L, 0.262583044663608129412956518168777449925L, 0.00126513153702681878410946802239924274583L, 0.942613696151881635585127791325641506562L, 0.352686443706689559388572818776843215083L, 0.90689998425792029984240460273113807702L, 0.867511650419363872431681377574762734184L, 0.280671949468087158951852027769013272607L, 0.162038690615698843560500386213858514888L, 0.71179364933082197276587611716632482938L, 0.0967402545497599384082792036477527703823L, 0.465040868275334873151726613879001199556L, 0.621004503662486553272117361134036130264L, 0.732964940483576253705474121238830973672L, 0.423374863473223783721502627532544136435L, 0.490338535425760290944218064913112069833L, 0.0243433415988311460557576165617657963508L, 0.0502339423891456566961808478207103394328L, 0.57668149339841029115236469576085057193L, 0.654589079253818313716855283653923913987L, 0.1099728579252794893221972017964445810946L, 0.95067113980240197864048876003001477344L, 0.271440369581834169312179003284604198334L, 0.067152474145377434478612939162576726923L, 0.77434193893477314687843638736266814713L, 0.2095679937785625400917773512669417520444L, 0.7681370807102749183539277908648691358L, 0.24472807400083103884984122018932641814L, 0.191307162486577428460074174309309551616L, 0.637215617752531571162184184570005111405L, 0.858141525396878877938747690015117846998L, 0.338400625200720062249435065450813258281L, 0.564981422008979753676981861330327611986L, 0.809460314261206431741632790718777271837L, 0.879343403409393604462128113991125533726L, 0.284697509116613252542034824007026845569L, 0.497023470648395180497606069099534119801L, 0.650004713241995983979792197286941523L, 0.1177129995341492896184329340448111002318L, 0.923625966014428778639333261268345799732L, 0.698837131343914189577155394009532120604L, 0.28242326745092132457477019796509942259L, 0.70025600885251684699238650783454037429L, 0.876659050276528114198964471020380705343L, 0.52914892693002332233566353042454639365L, 0.319860854431864688430502078275989809115L, 0.83483115610648557287441551698147898778L, 0.727639064249568383685922880431792837046L, 0.58743287662861037184349933549802687836L, 0.510383231616356949495559076196319035197L, 0.00229935944348919214521608305418404052343L, 0.799567224020488433652933994297769381902L, 0.343651210821093611687224166251624444254L, 0.405948097827175151257603419529941300798L, 0.456473183882957921169800992232941517586L, 0.570248304776860782392105323292264026118L, 0.534779754769153667870756893044557559557L, 0.472965511839676757434979299779809656808L, 0.137335340499076127280155831169214403285L, 0.51975901660926295231312276736119435645L, 0.8085867293332018994761547260739912451L, 0.812416413241484848007226874256949892893L, 0.852994977709961112714176162016389410712L, 0.95270886248643660114015239563660004248L, 0.845133719240648570417568652136630304138L, 0.4074980021816323645978397907609428101L, 0.335850514497730546494305840184055599972L, 0.0882622233237065445998153436898044995127L, 0.936467561027640943446178111237050277205L, 0.56676472173638044722431698799123577376L, 0.528427769051008704179988533062745663408L, 0.460890427579778855697205646060084318038L, 0.754971897131798313468797543428083655928L, 0.980733597969419782109470537306886067907L, 0.204362127415649555111877580124343815074L, 0.424822548090499017266619697426652494042L, 0.790847149074521364262028407892114384257L, 0.559922683392730473870877613727301497865L, 0.779993507158626042106006393237738208875L, 0.30516368089713691312418593599115685319L, 0.68918765842229398168455844072311006826L, 0.972291357858071465096079542885284602882L, 0.92204286423973856982373873105566928589L, 0.488649453783638471576482476648021023315L, 0.467124744623849284659862825278549932824L, 0.548051233865943557014854568009331816852L, 0.306838990296265483205551142903402056051L, 0.497005516835688988273805238236922199451L, 0.341504433884138135798086132528045458722L, 0.969816416247460790089503289400709886528L, 0.63656435610220447227337751650167349487L, 0.83588076122262875881859751942918794857L, 0.647568600604975972308348018018445212894L, 0.916061870307308870029862807808332479077L, 0.767988745496844638880672392122527991445L, 0.1623230195628039449666927123215281227666L, 0.0791082835859634251558587844284289799848L, 0.575858643610197202634665099752882990844L, 0.559159434263749620344702466000799724913L, 0.063765998380760211208741798736948488376L, 0.230557913975359017084357477142151415967L, 0.702854691657277602758421942319022953845L, 0.789516660466782621905392733079230211954L, 0.491496186820051632244513986127898500904L, 0.171499215418269578563458417238340672634L, 0.626470061831746666081979158043673024967L, 0.258903137813870706268979320963343541457L, 0.64156850108405218894694811301875120511L, 0.534043520260340661507140771088018906496L, 0.388275182018399247097875416106759899469L, 0.920936363560998030495046998224168162945L, 0.826139404694006088220407338888245165242L, 0.343561253523163451528918423980552161597L, 0.921521003270491194867019217479780072647L, 0.656212467754097185125864111703195343744L, 0.628186262290474398328350301885606581942L, 0.573227336542237665153422986363073650388L, 0.94178975003001342039795597242477049832L, 0.0408103561362355768975182155847755354614L, 0.382581672073273072487550945526454964287L, 0.152851256046525520308098129538613498254L, 0.966735024597183045592313880114075824298L, 0.215564894798334550271993595018433286244L, 0.776491530531523589201618375156272004616L, 0.912460554179311241821569665648929177608L, 0.632880016212040018958086886452474382272L, 0.711577891112709305169603082360885583086L, 0.1120655756066491784920471129299439607153L, 0.691106483958832651050573402690448368687L, 0.227442567846797646970770128970529357636L, 0.837435613090485891584882062239924101455L, 0.524389161590691896070067767400758142565L, 0.591360583466508186135247682666313136762L, 0.103155847462960450706124014839446958843L, 0.98360160577671960281465138408293984545L, 0.197665014114674630647437622579741018817L, 0.1099709194312379594014239398842185159354L, 0.394053373921474751303577685990936074485L, 0.94945354787200894450508557094182436657L, 0.372593716084661547440393809983835348274L, 0.62514674616343692328572382301636412566L, 0.2001871481416310130073795585638383984926L, 0.148432902421401306477690922498335475507L, 0.687921673269487018193347305425182239764L, 0.470940334348984370262797433659013738143L, 0.1592476430730276812200821020958787823795L, 0.296776110696565927524970058176467314578L, 0.1491253105142218631726813695413369166796L, 0.579194717868638955003571989739802264354L, 0.0730543936466744761440131951539370917776L, 0.941296077873340797733875467209629660594L, 0.76720024949523806992504865943580486187L, 0.419526107681583337049761526455092560735L, 0.00688594806937144144337797612615981618743L, 0.931682704636487927763651991274577493318L, 0.660524215847727125058815911433184924133L, 0.71780972384903067744609138100002205676L, 0.02961791918271995070621856302848439458175L, 0.692791206212428997136050006631240567502L, 0.162762426697948445642880183096693062538L, 0.183637795551464341949019870428026949035L, 0.51263789620316407488619761125039609046L, 0.90238698122728366178818828411640824056L, 0.229784208410123517024401367798925386038L, 0.227218480059027721044118324890061381517L, 0.6555059570778176955459672492237825867L, 0.929815767583615624563413584598741896834L, 0.188559597559312695774663933876436875041L, 0.396184448063913762028147791554346199354L, 0.656329540957568516760105602115555736073L, 0.1410678455413176345310401990667063246115L, 0.621004667838855651847651367745487628637L, 0.01277988784767030635209958407461792778387L, 0.69482142276844418673788732511112265014L, 0.925705031133221932065307191539105635005L, 0.925744341385232535963050430363763081603L, 0.24189467813699258571134382505828701386L, 0.646009544609703485845605410919901799L, 0.051119212999532673562206731603906295406L, 0.85076142804383409765024452942896578158L }; coreutils-8.21/gnulib-tests/test-readlinkat.c0000664000000000000000000000700212100637437016227 00000000000000/* Tests of readlinkat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (readlinkat, ssize_t, (int, char const *, char *, size_t)); #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #ifndef HAVE_SYMLINK # define HAVE_SYMLINK 0 #endif #define BASE "test-readlinkat.t" #include "test-readlink.h" static int dfd = AT_FDCWD; static ssize_t do_readlink (char const *name, char *buf, size_t len) { return readlinkat (dfd, name, buf, len); } int main (void) { char buf[80]; int result; /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (readlinkat (-1, "foo", buf, sizeof buf) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (readlinkat (99, "foo", buf, sizeof buf) == -1); ASSERT (errno == EBADF); } /* Perform same checks as counterpart functions. */ result = test_readlink (do_readlink, false); dfd = openat (AT_FDCWD, ".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_readlink (do_readlink, false) == result); /* Now perform some cross-directory checks. Skip everything else on mingw. */ if (HAVE_SYMLINK) { const char *contents = "don't matter!"; ssize_t exp = strlen (contents); /* Create link while cwd is '.', then read it in '..'. */ ASSERT (symlinkat (contents, AT_FDCWD, BASE "link") == 0); errno = 0; ASSERT (symlinkat (contents, dfd, BASE "link") == -1); ASSERT (errno == EEXIST); ASSERT (chdir ("..") == 0); errno = 0; ASSERT (readlinkat (AT_FDCWD, BASE "link", buf, sizeof buf) == -1); ASSERT (errno == ENOENT); ASSERT (readlinkat (dfd, BASE "link", buf, sizeof buf) == exp); ASSERT (strncmp (contents, buf, exp) == 0); ASSERT (unlinkat (dfd, BASE "link", 0) == 0); /* Create link while cwd is '..', then read it in '.'. */ ASSERT (symlinkat (contents, dfd, BASE "link") == 0); ASSERT (fchdir (dfd) == 0); errno = 0; ASSERT (symlinkat (contents, AT_FDCWD, BASE "link") == -1); ASSERT (errno == EEXIST); buf[0] = '\0'; ASSERT (readlinkat (AT_FDCWD, BASE "link", buf, sizeof buf) == exp); ASSERT (strncmp (contents, buf, exp) == 0); buf[0] = '\0'; ASSERT (readlinkat (dfd, BASE "link", buf, sizeof buf) == exp); ASSERT (strncmp (contents, buf, exp) == 0); ASSERT (unlink (BASE "link") == 0); } ASSERT (close (dfd) == 0); if (result == 77) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result; } coreutils-8.21/gnulib-tests/test-freopen.c0000664000000000000000000000411512100637437015551 00000000000000/* Test of opening a file stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (freopen, FILE *, (char const *, char const *, FILE *)); #include #include #include "macros.h" int main () { const char *filename = "test-freopen.txt"; ASSERT (freopen ("/dev/null", "r", stdin) != NULL); #if 0 /* freopen (NULL, ...) is unsupported on most platforms. */ /* Test that freopen() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "w+"); ASSERT (fp != NULL); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (freopen (NULL, "r", fp) == NULL); perror("freopen"); ASSERT (errno == EBADF); fclose (fp); } /* Test that freopen() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w+"); if (fp != NULL) { errno = 0; ASSERT (freopen (NULL, "r", fp) == NULL); ASSERT (errno == EBADF); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "w+"); if (fp != NULL) { errno = 0; ASSERT (freopen (NULL, "r", fp) == NULL); ASSERT (errno == EBADF); fclose (fp); } } #endif /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-sys_resource.c0000664000000000000000000000301712071024546016636 00000000000000/* Test of substitute. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include /* Check that necessary types are defined. */ #ifdef TODO /* Not implemented in gnulib yet */ rlim_t t1; struct rlimit t2; #endif struct rusage t3; #ifdef TODO struct timeval t4; id_t t5; time_t t10; suseconds_t t11; fd_set t12; #endif /* Check that the necessary constants are defined. */ #ifdef TODO /* Not implemented in gnulib yet */ int prios[] = { PRIO_PROCESS, PRIO_PGRP, PRIO_USER }; int rlims[] = { RLIM_INFINITY, RLIM_SAVED_MAX, RLIM_SAVED_CUR }; #endif int rusages[] = { RUSAGE_SELF, RUSAGE_CHILDREN }; #ifdef TODO int rlimits[] = { RLIMIT_CORE, RLIMIT_CPU, RLIMIT_DATA, RLIMIT_FSIZE, RLIMIT_NOFILE, RLIMIT_STACK, RLIMIT_AS }; #endif int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-strnlen.c0000664000000000000000000000336112071024546015600 00000000000000/* * Copyright (C) 2010-2013 Free Software Foundation, Inc. * Written by Eric Blake * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (strnlen, size_t, (char const *, size_t)); #include #include "zerosize-ptr.h" #include "macros.h" int main (void) { size_t i; char *page_boundary = (char *) zerosize_ptr (); if (!page_boundary) { page_boundary = malloc (0x1000); ASSERT (page_boundary); page_boundary += 0x1000; } /* Basic behavior tests. */ ASSERT (strnlen ("a", 0) == 0); ASSERT (strnlen ("a", 1) == 1); ASSERT (strnlen ("a", 2) == 1); ASSERT (strnlen ("", 0x100000) == 0); /* Memory fence and alignment testing. */ for (i = 0; i < 512; i++) { char *start = page_boundary - i; size_t j = i; memset (start, 'x', i); do { if (i != j) { start[j] = 0; ASSERT (strnlen (start, i + j) == j); } ASSERT (strnlen (start, i) == j); ASSERT (strnlen (start, j) == j); } while (j--); } return 0; } coreutils-8.21/gnulib-tests/test-lock.c0000664000000000000000000003630012071024546015042 00000000000000/* Test of locking in multithreaded situations. Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ #include #if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WINDOWS_THREADS #if USE_POSIX_THREADS # define TEST_POSIX_THREADS 1 #endif #if USE_SOLARIS_THREADS # define TEST_SOLARIS_THREADS 1 #endif #if USE_PTH_THREADS # define TEST_PTH_THREADS 1 #endif #if USE_WINDOWS_THREADS # define TEST_WINDOWS_THREADS 1 #endif /* Whether to enable locking. Uncomment this to get a test program without locking, to verify that it crashes. */ #define ENABLE_LOCKING 1 /* Which tests to perform. Uncomment some of these, to verify that all tests crash if no locking is enabled. */ #define DO_TEST_LOCK 1 #define DO_TEST_RWLOCK 1 #define DO_TEST_RECURSIVE_LOCK 1 #define DO_TEST_ONCE 1 /* Whether to help the scheduler through explicit yield(). Uncomment this to see if the operating system has a fair scheduler. */ #define EXPLICIT_YIELD 1 /* Whether to print debugging messages. */ #define ENABLE_DEBUGGING 0 /* Number of simultaneous threads. */ #define THREAD_COUNT 10 /* Number of operations performed in each thread. This is quite high, because with a smaller count, say 5000, we often get an "OK" result even without ENABLE_LOCKING (on Linux/x86). */ #define REPEAT_COUNT 50000 #include #include #include #if !ENABLE_LOCKING # undef USE_POSIX_THREADS # undef USE_SOLARIS_THREADS # undef USE_PTH_THREADS # undef USE_WINDOWS_THREADS #endif #include "glthread/lock.h" #if !ENABLE_LOCKING # if TEST_POSIX_THREADS # define USE_POSIX_THREADS 1 # endif # if TEST_SOLARIS_THREADS # define USE_SOLARIS_THREADS 1 # endif # if TEST_PTH_THREADS # define USE_PTH_THREADS 1 # endif # if TEST_WINDOWS_THREADS # define USE_WINDOWS_THREADS 1 # endif #endif #include "glthread/thread.h" #include "glthread/yield.h" #if ENABLE_DEBUGGING # define dbgprintf printf #else # define dbgprintf if (0) printf #endif #if EXPLICIT_YIELD # define yield() gl_thread_yield () #else # define yield() #endif #define ACCOUNT_COUNT 4 static int account[ACCOUNT_COUNT]; static int random_account (void) { return ((unsigned int) rand () >> 3) % ACCOUNT_COUNT; } static void check_accounts (void) { int i, sum; sum = 0; for (i = 0; i < ACCOUNT_COUNT; i++) sum += account[i]; if (sum != ACCOUNT_COUNT * 1000) abort (); } /* ------------------- Test normal (non-recursive) locks ------------------- */ /* Test normal locks by having several bank accounts and several threads which shuffle around money between the accounts and another thread checking that all the money is still there. */ gl_lock_define_initialized(static, my_lock) static void * lock_mutator_thread (void *arg) { int repeat; for (repeat = REPEAT_COUNT; repeat > 0; repeat--) { int i1, i2, value; dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ()); gl_lock_lock (my_lock); dbgprintf ("Mutator %p after lock\n", gl_thread_self_pointer ()); i1 = random_account (); i2 = random_account (); value = ((unsigned int) rand () >> 3) % 10; account[i1] += value; account[i2] -= value; dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ()); gl_lock_unlock (my_lock); dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ()); dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ()); gl_lock_lock (my_lock); check_accounts (); gl_lock_unlock (my_lock); dbgprintf ("Mutator %p after check unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ()); return NULL; } static volatile int lock_checker_done; static void * lock_checker_thread (void *arg) { while (!lock_checker_done) { dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); gl_lock_lock (my_lock); check_accounts (); gl_lock_unlock (my_lock); dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ()); return NULL; } static void test_lock (void) { int i; gl_thread_t checkerthread; gl_thread_t threads[THREAD_COUNT]; /* Initialization. */ for (i = 0; i < ACCOUNT_COUNT; i++) account[i] = 1000; lock_checker_done = 0; /* Spawn the threads. */ checkerthread = gl_thread_create (lock_checker_thread, NULL); for (i = 0; i < THREAD_COUNT; i++) threads[i] = gl_thread_create (lock_mutator_thread, NULL); /* Wait for the threads to terminate. */ for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (threads[i], NULL); lock_checker_done = 1; gl_thread_join (checkerthread, NULL); check_accounts (); } /* ----------------- Test read-write (non-recursive) locks ----------------- */ /* Test read-write locks by having several bank accounts and several threads which shuffle around money between the accounts and several other threads that check that all the money is still there. */ gl_rwlock_define_initialized(static, my_rwlock) static void * rwlock_mutator_thread (void *arg) { int repeat; for (repeat = REPEAT_COUNT; repeat > 0; repeat--) { int i1, i2, value; dbgprintf ("Mutator %p before wrlock\n", gl_thread_self_pointer ()); gl_rwlock_wrlock (my_rwlock); dbgprintf ("Mutator %p after wrlock\n", gl_thread_self_pointer ()); i1 = random_account (); i2 = random_account (); value = ((unsigned int) rand () >> 3) % 10; account[i1] += value; account[i2] -= value; dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ()); gl_rwlock_unlock (my_rwlock); dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ()); return NULL; } static volatile int rwlock_checker_done; static void * rwlock_checker_thread (void *arg) { while (!rwlock_checker_done) { dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); gl_rwlock_rdlock (my_rwlock); check_accounts (); gl_rwlock_unlock (my_rwlock); dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ()); return NULL; } static void test_rwlock (void) { int i; gl_thread_t checkerthreads[THREAD_COUNT]; gl_thread_t threads[THREAD_COUNT]; /* Initialization. */ for (i = 0; i < ACCOUNT_COUNT; i++) account[i] = 1000; rwlock_checker_done = 0; /* Spawn the threads. */ for (i = 0; i < THREAD_COUNT; i++) checkerthreads[i] = gl_thread_create (rwlock_checker_thread, NULL); for (i = 0; i < THREAD_COUNT; i++) threads[i] = gl_thread_create (rwlock_mutator_thread, NULL); /* Wait for the threads to terminate. */ for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (threads[i], NULL); rwlock_checker_done = 1; for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (checkerthreads[i], NULL); check_accounts (); } /* -------------------------- Test recursive locks -------------------------- */ /* Test recursive locks by having several bank accounts and several threads which shuffle around money between the accounts (recursively) and another thread checking that all the money is still there. */ gl_recursive_lock_define_initialized(static, my_reclock) static void recshuffle (void) { int i1, i2, value; dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ()); gl_recursive_lock_lock (my_reclock); dbgprintf ("Mutator %p after lock\n", gl_thread_self_pointer ()); i1 = random_account (); i2 = random_account (); value = ((unsigned int) rand () >> 3) % 10; account[i1] += value; account[i2] -= value; /* Recursive with probability 0.5. */ if (((unsigned int) rand () >> 3) % 2) recshuffle (); dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ()); gl_recursive_lock_unlock (my_reclock); dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ()); } static void * reclock_mutator_thread (void *arg) { int repeat; for (repeat = REPEAT_COUNT; repeat > 0; repeat--) { recshuffle (); dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ()); gl_recursive_lock_lock (my_reclock); check_accounts (); gl_recursive_lock_unlock (my_reclock); dbgprintf ("Mutator %p after check unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ()); return NULL; } static volatile int reclock_checker_done; static void * reclock_checker_thread (void *arg) { while (!reclock_checker_done) { dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); gl_recursive_lock_lock (my_reclock); check_accounts (); gl_recursive_lock_unlock (my_reclock); dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ()); yield (); } dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ()); return NULL; } static void test_recursive_lock (void) { int i; gl_thread_t checkerthread; gl_thread_t threads[THREAD_COUNT]; /* Initialization. */ for (i = 0; i < ACCOUNT_COUNT; i++) account[i] = 1000; reclock_checker_done = 0; /* Spawn the threads. */ checkerthread = gl_thread_create (reclock_checker_thread, NULL); for (i = 0; i < THREAD_COUNT; i++) threads[i] = gl_thread_create (reclock_mutator_thread, NULL); /* Wait for the threads to terminate. */ for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (threads[i], NULL); reclock_checker_done = 1; gl_thread_join (checkerthread, NULL); check_accounts (); } /* ------------------------ Test once-only execution ------------------------ */ /* Test once-only execution by having several threads attempt to grab a once-only task simultaneously (triggered by releasing a read-write lock). */ gl_once_define(static, fresh_once) static int ready[THREAD_COUNT]; static gl_lock_t ready_lock[THREAD_COUNT]; #if ENABLE_LOCKING static gl_rwlock_t fire_signal[REPEAT_COUNT]; #else static volatile int fire_signal_state; #endif static gl_once_t once_control; static int performed; gl_lock_define_initialized(static, performed_lock) static void once_execute (void) { gl_lock_lock (performed_lock); performed++; gl_lock_unlock (performed_lock); } static void * once_contender_thread (void *arg) { int id = (int) (long) arg; int repeat; for (repeat = 0; repeat <= REPEAT_COUNT; repeat++) { /* Tell the main thread that we're ready. */ gl_lock_lock (ready_lock[id]); ready[id] = 1; gl_lock_unlock (ready_lock[id]); if (repeat == REPEAT_COUNT) break; dbgprintf ("Contender %p waiting for signal for round %d\n", gl_thread_self_pointer (), repeat); #if ENABLE_LOCKING /* Wait for the signal to go. */ gl_rwlock_rdlock (fire_signal[repeat]); /* And don't hinder the others (if the scheduler is unfair). */ gl_rwlock_unlock (fire_signal[repeat]); #else /* Wait for the signal to go. */ while (fire_signal_state <= repeat) yield (); #endif dbgprintf ("Contender %p got the signal for round %d\n", gl_thread_self_pointer (), repeat); /* Contend for execution. */ gl_once (once_control, once_execute); } return NULL; } static void test_once (void) { int i, repeat; gl_thread_t threads[THREAD_COUNT]; /* Initialize all variables. */ for (i = 0; i < THREAD_COUNT; i++) { ready[i] = 0; gl_lock_init (ready_lock[i]); } #if ENABLE_LOCKING for (i = 0; i < REPEAT_COUNT; i++) gl_rwlock_init (fire_signal[i]); #else fire_signal_state = 0; #endif /* Block all fire_signals. */ for (i = REPEAT_COUNT-1; i >= 0; i--) gl_rwlock_wrlock (fire_signal[i]); /* Spawn the threads. */ for (i = 0; i < THREAD_COUNT; i++) threads[i] = gl_thread_create (once_contender_thread, (void *) (long) i); for (repeat = 0; repeat <= REPEAT_COUNT; repeat++) { /* Wait until every thread is ready. */ dbgprintf ("Main thread before synchronizing for round %d\n", repeat); for (;;) { int ready_count = 0; for (i = 0; i < THREAD_COUNT; i++) { gl_lock_lock (ready_lock[i]); ready_count += ready[i]; gl_lock_unlock (ready_lock[i]); } if (ready_count == THREAD_COUNT) break; yield (); } dbgprintf ("Main thread after synchronizing for round %d\n", repeat); if (repeat > 0) { /* Check that exactly one thread executed the once_execute() function. */ if (performed != 1) abort (); } if (repeat == REPEAT_COUNT) break; /* Preparation for the next round: Initialize once_control. */ memcpy (&once_control, &fresh_once, sizeof (gl_once_t)); /* Preparation for the next round: Reset the performed counter. */ performed = 0; /* Preparation for the next round: Reset the ready flags. */ for (i = 0; i < THREAD_COUNT; i++) { gl_lock_lock (ready_lock[i]); ready[i] = 0; gl_lock_unlock (ready_lock[i]); } /* Signal all threads simultaneously. */ dbgprintf ("Main thread giving signal for round %d\n", repeat); #if ENABLE_LOCKING gl_rwlock_unlock (fire_signal[repeat]); #else fire_signal_state = repeat + 1; #endif } /* Wait for the threads to terminate. */ for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (threads[i], NULL); } /* -------------------------------------------------------------------------- */ int main () { #if TEST_PTH_THREADS if (!pth_init ()) abort (); #endif #if DO_TEST_LOCK printf ("Starting test_lock ..."); fflush (stdout); test_lock (); printf (" OK\n"); fflush (stdout); #endif #if DO_TEST_RWLOCK printf ("Starting test_rwlock ..."); fflush (stdout); test_rwlock (); printf (" OK\n"); fflush (stdout); #endif #if DO_TEST_RECURSIVE_LOCK printf ("Starting test_recursive_lock ..."); fflush (stdout); test_recursive_lock (); printf (" OK\n"); fflush (stdout); #endif #if DO_TEST_ONCE printf ("Starting test_once ..."); fflush (stdout); test_once (); printf (" OK\n"); fflush (stdout); #endif return 0; } #else /* No multithreading available. */ #include int main () { fputs ("Skipping test: multithreading not enabled\n", stderr); return 77; } #endif coreutils-8.21/gnulib-tests/nap.h0000664000000000000000000000623212071024546013721 00000000000000/* Assist in file system timestamp tests. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #ifndef GLTEST_NAP_H # define GLTEST_NAP_H static int lt_mtime (struct stat const *a, struct stat const *b) { time_t as = a->st_mtime; time_t bs = b->st_mtime; int ans = get_stat_mtime_ns (a); int bns = get_stat_mtime_ns (b); return as < bs || (as == bs && ans < bns); } static void get_mtime (int fd, struct stat *st, int do_write) { if (do_write) ASSERT (write (fd, "\n", 1) == 1); ASSERT (fstat (fd, st) == 0); } /* Given a file whose descriptor is FD, see whether delaying by DELAY microseconds causes a change in a file's time stamp. If the time stamps differ, repeat the test one more time, in case we crossed a quantization boundary on a file system with lower resolution. *ST is the file's status, recently gotten. Update *ST to reflect the latest status gotten. */ static int nap_works (int fd, int delay, struct stat *st) { struct stat old_st; old_st = *st; usleep (delay); get_mtime (fd, st, 1); if (! lt_mtime (&old_st, st)) return 0; old_st = *st; usleep (delay); get_mtime (fd, st, 1); return lt_mtime (&old_st, st); } static int guess_delay (void) { /* Try a 1-microsecond sleep first, for speed. If that doesn't work, try a 1 ms sleep; that should work with ext. If it doesn't work, try a 20 ms sleep. xfs has a quantization of about 10 milliseconds, even though it has a granularity of 1 nanosecond, and NTFS has a default quantization of 15.25 milliseconds, even though it has a granularity of 100 nanoseconds, so 20 ms is a good quantization to try. If that doesn't work, try 1 second. The worst case is 2 seconds, needed for FAT. */ static int const delaytab[] = {1, 1000, 20000, 1000000 }; int fd = creat (BASE "tmp", 0600); int i; int delay = 2000000; struct stat st; ASSERT (0 <= fd); get_mtime (fd, &st, 0); for (i = 0; i < sizeof delaytab / sizeof delaytab[0]; i++) if (nap_works (fd, delaytab[i], &st)) { delay = delaytab[i]; break; } ASSERT (close (fd) == 0); ASSERT (unlink (BASE "tmp") == 0); return delay; } /* Sleep long enough to notice a timestamp difference on the file system in the current directory. Assumes that BASE is defined, and requires that the test module depends on usleep. */ static void nap (void) { static int delay; if (!delay) delay = guess_delay (); usleep (delay); } #endif /* GLTEST_NAP_H */ coreutils-8.21/gnulib-tests/test-fflush.c0000664000000000000000000001216712100637437015410 00000000000000/* Test of POSIX compatible fflush() function. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake, 2007. */ #include /* None of the files accessed by this test are large, so disable the ftell link warning if we are not using the gnulib ftell module. */ #define _GL_NO_LARGE_FILES #include #include "signature.h" SIGNATURE_CHECK (fflush, int, (FILE *)); #include #include #include "macros.h" int main (void) { FILE *f; char buffer[10]; int fd; /* Create test file. */ f = fopen ("test-fflush.txt", "w"); if (!f || fwrite ("1234567890ABCDEFG", 1, 17, f) != 17 || fclose (f) != 0) { fputs ("Failed to create sample file.\n", stderr); unlink ("test-fflush.txt"); return 1; } /* Test fflush. */ f = fopen ("test-fflush.txt", "r"); ASSERT (f != NULL); fd = fileno (f); if (!f || 0 > fd || fread (buffer, 1, 5, f) != 5) { fputs ("Failed initial read of sample file.\n", stderr); if (f) fclose (f); unlink ("test-fflush.txt"); return 1; } /* For deterministic results, ensure f read a bigger buffer. This is not the case on BeOS, nor on uClibc. */ #if !(defined __BEOS__ || defined __UCLIBC__) if (lseek (fd, 0, SEEK_CUR) == 5) { fputs ("Sample file was not buffered after fread.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } #endif /* POSIX requires fflush-fseek to set file offset of fd. */ if (fflush (f) != 0 || fseeko (f, 0, SEEK_CUR) != 0) { fputs ("Failed to flush-fseek sample file.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } /* Check that offset is correct. */ if (lseek (fd, 0, SEEK_CUR) != 5) { fprintf (stderr, "File offset is wrong after fseek: %ld.\n", (long) lseek (fd, 0, SEEK_CUR)); fclose (f); unlink ("test-fflush.txt"); return 1; } if (ftell (f) != 5) { fprintf (stderr, "ftell result is wrong after fseek: %ld.\n", (long) ftell (f)); fclose (f); unlink ("test-fflush.txt"); return 1; } /* Check that file reading resumes at correct location. */ if (fgetc (f) != '6') { fputs ("Failed to read next byte after fseek.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 6) { fputs ("Sample file was not buffered after fgetc.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } /* POSIX requires fflush-fseeko to set file offset of fd. */ if (fflush (f) != 0 || fseeko (f, 0, SEEK_CUR) != 0) { fputs ("Failed to flush-fseeko sample file.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } /* Check that offset is correct. */ if (lseek (fd, 0, SEEK_CUR) != 6) { fprintf (stderr, "File offset is wrong after fseeko: %ld.\n", (long) lseek (fd, 0, SEEK_CUR)); fclose (f); unlink ("test-fflush.txt"); return 1; } if (ftell (f) != 6) { fprintf (stderr, "ftell result is wrong after fseeko: %ld.\n", (long) ftell (f)); fclose (f); unlink ("test-fflush.txt"); return 1; } /* Check that file reading resumes at correct location. */ if (fgetc (f) != '7') { fputs ("Failed to read next byte after fseeko.\n", stderr); fclose (f); unlink ("test-fflush.txt"); return 1; } fclose (f); /* Test that fflush() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen ("test-fflush.txt", "w"); ASSERT (fp != NULL); fputc ('x', fp); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fflush (fp) == EOF); ASSERT (errno == EBADF); fclose (fp); } /* Test that fflush() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w"); if (fp != NULL) { fputc ('x', fp); errno = 0; ASSERT (fflush (fp) == EOF); ASSERT (errno == EBADF); } } { FILE *fp; close (99); fp = fdopen (99, "w"); if (fp != NULL) { fputc ('x', fp); errno = 0; ASSERT (fflush (fp) == EOF); ASSERT (errno == EBADF); } } /* Clean up. */ unlink ("test-fflush.txt"); return 0; } coreutils-8.21/gnulib-tests/test-stat.h0000664000000000000000000000602412071024546015072 00000000000000/* Tests of stat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test both stat(n,buf) and fstatat(AT_FDCWD,n,buf,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_stat_func (int (*func) (char const *, struct stat *), bool print) { struct stat st1; struct stat st2; char *cwd = getcwd (NULL, 0); ASSERT (cwd); ASSERT (func (".", &st1) == 0); ASSERT (func ("./", &st2) == 0); ASSERT (SAME_INODE (st1, st2)); ASSERT (func (cwd, &st2) == 0); ASSERT (SAME_INODE (st1, st2)); ASSERT (func ("/", &st1) == 0); ASSERT (func ("///", &st2) == 0); ASSERT (SAME_INODE (st1, st2)); errno = 0; ASSERT (func ("", &st1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("nosuch", &st1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("nosuch/", &st1) == -1); ASSERT (errno == ENOENT); ASSERT (close (creat (BASE "file", 0600)) == 0); ASSERT (func (BASE "file", &st1) == 0); errno = 0; ASSERT (func (BASE "file/", &st1) == -1); ASSERT (errno == ENOTDIR); /* Now for some symlink tests, where supported. We set up: link1 -> directory link2 -> file link3 -> dangling link4 -> loop then test behavior with trailing slash. */ if (symlink (".", BASE "link1") != 0) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (symlink (BASE "file", BASE "link2") == 0); ASSERT (symlink (BASE "nosuch", BASE "link3") == 0); ASSERT (symlink (BASE "link4", BASE "link4") == 0); ASSERT (func (BASE "link1/", &st1) == 0); ASSERT (S_ISDIR (st1.st_mode)); errno = 0; ASSERT (func (BASE "link2/", &st1) == -1); ASSERT (errno == ENOTDIR); errno = 0; ASSERT (func (BASE "link3/", &st1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "link4/", &st1) == -1); ASSERT (errno == ELOOP); /* Cleanup. */ ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link1") == 0); ASSERT (unlink (BASE "link2") == 0); ASSERT (unlink (BASE "link3") == 0); ASSERT (unlink (BASE "link4") == 0); return 0; } coreutils-8.21/gnulib-tests/test-strtod.c0000664000000000000000000007053012071024546015434 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (strtod, double, (char const *, char **)); #include #include #include #include #include "isnand-nolibm.h" #include "minus-zero.h" #include "macros.h" /* Avoid requiring -lm just for fabs. */ #define FABS(d) ((d) < 0.0 ? -(d) : (d)) int main (void) { int status = 0; /* Subject sequence empty or invalid. */ { const char input[] = ""; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " "; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " ."; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " .e0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); /* IRIX 6.5, OSF/1 5.1 */ ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +.e-0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); /* IRIX 6.5, OSF/1 5.1 */ ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " in"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " na"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } /* Simple floating point values. */ { const char input[] = "1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1."; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = ".5"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); /* FIXME - gnulib's version is rather inaccurate. It would be nice to guarantee an exact result, but for now, we settle for a 1-ulp error. */ ASSERT (FABS (result - 0.5) < DBL_EPSILON); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = " 1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == -1.0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "1e0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "1e+0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 4); ASSERT (errno == 0); } { const char input[] = "1e-0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 4); ASSERT (errno == 0); } { const char input[] = "1e1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 10.0); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "5e-1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); /* FIXME - gnulib's version is rather inaccurate. It would be nice to guarantee an exact result, but for now, we settle for a 1-ulp error. */ ASSERT (FABS (result - 0.5) < DBL_EPSILON); ASSERT (ptr == input + 4); ASSERT (errno == 0); } /* Zero. */ { const char input[] = "0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = ".0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "0e0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "0e+9999999"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "0e-9999999"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "-0"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* IRIX 6.5, OSF/1 4.0 */ ASSERT (ptr == input + 2); ASSERT (errno == 0); } /* Suffixes. */ { const char input[] = "1f"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1.f"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "1e"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1e+"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1e-"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1E 2"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* HP-UX 11.11, IRIX 6.5, OSF/1 4.0 */ ASSERT (ptr == input + 1); /* HP-UX 11.11, IRIX 6.5 */ ASSERT (errno == 0); } { const char input[] = "0x"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "00x1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-0x"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* Mac OS X 10.3, FreeBSD 6.2, IRIX 6.5, OSF/1 4.0 */ ASSERT (ptr == input + 2); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0xg"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0xp"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0XP"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0x."; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0xp+"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0xp+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "0x.p+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */ ASSERT (errno == 0); } { const char input[] = "1p+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "1P+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } /* Overflow/underflow. */ { const char input[] = "1E1000000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == HUGE_VAL); ASSERT (ptr == input + 9); /* OSF/1 5.1 */ ASSERT (errno == ERANGE); } { const char input[] = "-1E1000000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == -HUGE_VAL); ASSERT (ptr == input + 10); ASSERT (errno == ERANGE); } { const char input[] = "1E-100000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (0.0 <= result && result <= DBL_MIN); ASSERT (!signbit (result)); ASSERT (ptr == input + 9); ASSERT (errno == ERANGE); } { const char input[] = "-1E-100000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (-DBL_MIN <= result && result <= 0.0); #if 0 /* FIXME - this is glibc bug 5995; POSIX allows returning positive 0 on negative underflow, even though quality of implementation demands preserving the sign. Disable this test until fixed glibc is more prevalent. */ ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* glibc-2.3.6, mingw */ #endif ASSERT (ptr == input + 10); ASSERT (errno == ERANGE); } { const char input[] = "1E 1000000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* HP-UX 11.11, IRIX 6.5, OSF/1 4.0 */ ASSERT (ptr == input + 1); /* HP-UX 11.11, IRIX 6.5 */ ASSERT (errno == 0); } { const char input[] = "0x1P 1000000"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } /* Infinity. */ { const char input[] = "iNf"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 3); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw */ ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { const char input[] = "-InF"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == -HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 4); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Solaris 9, mingw */ ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { const char input[] = "infinite"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 3); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); /* OSF/1 4.0 */ } { const char input[] = "infinitY"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 8); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw */ ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { const char input[] = "infinitY."; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 8); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); /* OSF/1 4.0 */ } /* NaN. Some processors set the sign bit of the default NaN, so all we check is that using a sign changes the result. */ { const char input[] = "-nan"; char *ptr1; char *ptr2; double result1; double result2; errno = 0; result1 = strtod (input, &ptr1); result2 = strtod (input + 1, &ptr2); #if 1 /* All known CPUs support NaNs. */ ASSERT (isnand (result1)); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (isnand (result2)); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ ASSERT (!!signbit (result1) != !!signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif ASSERT (ptr1 == input + 4); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ ASSERT (ptr2 == input + 4); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ ASSERT (errno == 0); /* HP-UX 11.11 */ #else ASSERT (result1 == 0.0); ASSERT (result2 == 0.0); ASSERT (!signbit (result1)); ASSERT (!signbit (result2)); ASSERT (ptr1 == input); ASSERT (ptr2 == input + 1); ASSERT (errno == 0 || errno == EINVAL); #endif } { const char input[] = "+nan("; char *ptr1; char *ptr2; double result1; double result2; errno = 0; result1 = strtod (input, &ptr1); result2 = strtod (input + 1, &ptr2); #if 1 /* All known CPUs support NaNs. */ ASSERT (isnand (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (isnand (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (!!signbit (result1) == !!signbit (result2)); ASSERT (ptr1 == input + 4); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ ASSERT (ptr2 == input + 4); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); ASSERT (result2 == 0.0); ASSERT (!signbit (result1)); ASSERT (!signbit (result2)); ASSERT (ptr1 == input); ASSERT (ptr2 == input + 1); ASSERT (errno == 0 || errno == EINVAL); #endif } { const char input[] = "-nan()"; char *ptr1; char *ptr2; double result1; double result2; errno = 0; result1 = strtod (input, &ptr1); result2 = strtod (input + 1, &ptr2); #if 1 /* All known CPUs support NaNs. */ ASSERT (isnand (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (isnand (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ ASSERT (!!signbit (result1) != !!signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif ASSERT (ptr1 == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr2 == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); ASSERT (result2 == 0.0); ASSERT (!signbit (result1)); ASSERT (!signbit (result2)); ASSERT (ptr1 == input); ASSERT (ptr2 == input + 1); ASSERT (errno == 0 || errno == EINVAL); #endif } { const char input[] = " nan()."; char *ptr; double result; errno = 0; result = strtod (input, &ptr); #if 1 /* All known CPUs support NaNs. */ ASSERT (isnand (result)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result == 0.0); ASSERT (!signbit (result)); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); #endif } { /* The behavior of nan(0) is implementation-defined, but all implementations we know of which handle optional n-char-sequences handle nan(0) the same as nan(). */ const char input[] = "-nan(0)."; char *ptr1; char *ptr2; double result1; double result2; errno = 0; result1 = strtod (input, &ptr1); result2 = strtod (input + 1, &ptr2); #if 1 /* All known CPUs support NaNs. */ ASSERT (isnand (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (isnand (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ ASSERT (!!signbit (result1) != !!signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif ASSERT (ptr1 == input + 7); /* glibc-2.3.6, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr2 == input + 7); /* glibc-2.3.6, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); ASSERT (result2 == 0.0); ASSERT (!signbit (result1)); ASSERT (!signbit (result2)); ASSERT (ptr1 == input); ASSERT (ptr2 == input + 1); ASSERT (errno == 0 || errno == EINVAL); #endif } /* Hex. */ { const char input[] = "0xa"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 10.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0XA"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 10.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1p"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1p+"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1P+"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1p+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 2.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 6); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0X1P+1"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 2.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 6); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1p+1a"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 2.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 6); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { const char input[] = "0x1p 2"; char *ptr; double result; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } /* Large buffers. */ { size_t m = 1000000; char *input = malloc (m + 1); if (input) { char *ptr; double result; memset (input, '\t', m - 1); input[m - 1] = '1'; input[m] = '\0'; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + m); ASSERT (errno == 0); } free (input); } { size_t m = 1000000; char *input = malloc (m + 1); if (input) { char *ptr; double result; memset (input, '0', m - 1); input[m - 1] = '1'; input[m] = '\0'; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); ASSERT (ptr == input + m); ASSERT (errno == 0); } free (input); } #if 0 /* Newlib has an artificial limit of 20000 for the exponent. TODO - gnulib should fix this. */ { size_t m = 1000000; char *input = malloc (m + 1); if (input) { char *ptr; double result; input[0] = '.'; memset (input + 1, '0', m - 10); input[m - 9] = '1'; input[m - 8] = 'e'; input[m - 7] = '+'; input[m - 6] = '9'; input[m - 5] = '9'; input[m - 4] = '9'; input[m - 3] = '9'; input[m - 2] = '9'; input[m - 1] = '1'; input[m] = '\0'; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + m); /* OSF/1 5.1 */ ASSERT (errno == 0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ } free (input); } { size_t m = 1000000; char *input = malloc (m + 1); if (input) { char *ptr; double result; input[0] = '1'; memset (input + 1, '0', m - 9); input[m - 8] = 'e'; input[m - 7] = '-'; input[m - 6] = '9'; input[m - 5] = '9'; input[m - 4] = '9'; input[m - 3] = '9'; input[m - 2] = '9'; input[m - 1] = '1'; input[m] = '\0'; errno = 0; result = strtod (input, &ptr); ASSERT (result == 1.0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + m); ASSERT (errno == 0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ } free (input); } #endif { size_t m = 1000000; char *input = malloc (m + 1); if (input) { char *ptr; double result; input[0] = '-'; input[1] = '0'; input[2] = 'e'; input[3] = '1'; memset (input + 4, '0', m - 3); input[m] = '\0'; errno = 0; result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* IRIX 6.5, OSF/1 4.0 */ ASSERT (ptr == input + m); ASSERT (errno == 0); } free (input); } /* Rounding. */ /* TODO - is it worth some tests of rounding for typical IEEE corner cases, such as .5 ULP rounding up to the smallest denormal and not causing underflow, or DBL_MIN - .5 ULP not causing an infinite loop? */ return status; } coreutils-8.21/gnulib-tests/test-isnand.h0000664000000000000000000000402412071024546015371 00000000000000/* Test of isnand() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "minus-zero.h" #include "infinity.h" #include "nan.h" #include "macros.h" int main () { /* Finite values. */ ASSERT (!isnand (3.141)); ASSERT (!isnand (3.141e30)); ASSERT (!isnand (3.141e-30)); ASSERT (!isnand (-2.718)); ASSERT (!isnand (-2.718e30)); ASSERT (!isnand (-2.718e-30)); ASSERT (!isnand (0.0)); ASSERT (!isnand (minus_zerod)); /* Infinite values. */ ASSERT (!isnand (Infinityd ())); ASSERT (!isnand (- Infinityd ())); /* Quiet NaN. */ ASSERT (isnand (NaNd ())); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT /* Signalling NaN. */ { #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; memory_double m; m.value = NaNd (); # if DBL_EXPBIT0_BIT > 0 m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1); # else m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] |= (unsigned int) 1 << DBL_EXPBIT0_BIT; ASSERT (isnand (m.value)); } #endif return 0; } coreutils-8.21/gnulib-tests/test-connect.c0000664000000000000000000000314212100637437015543 00000000000000/* Test connecting a client socket. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (connect, int, (int, const struct sockaddr *, socklen_t)); #include #include #include #include #include "sockets.h" #include "macros.h" int main (void) { (void) gl_sockets_startup (SOCKETS_1_1); /* Test behaviour for invalid file descriptors. */ { struct sockaddr_in addr; addr.sin_family = AF_INET; inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr); addr.sin_port = htons (80); { errno = 0; ASSERT (connect (-1, (const struct sockaddr *) &addr, sizeof (addr)) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (connect (99, (const struct sockaddr *) &addr, sizeof (addr)) == -1); ASSERT (errno == EBADF); } } return 0; } coreutils-8.21/gnulib-tests/localename.h0000664000000000000000000001056112071561002015234 00000000000000/* Determine name of the currently selected locale. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_LOCALENAME_H #define _GL_LOCALENAME_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's name. It considers both the POSIX notion of locale name (see functions gl_locale_name_thread and gl_locale_name_posix) and the system notion of locale name (see function gl_locale_name_default). CATEGORY is a locale category abbreviation, as defined in , but not LC_ALL. E.g. LC_MESSAGES. CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES". Return the locale category's name, canonicalized into XPG syntax language[_territory][.codeset][@modifier] The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ extern const char * gl_locale_name (int category, const char *categoryname); /* Determine the current per-thread locale's name, as specified by uselocale() calls. CATEGORY is a locale category abbreviation, as defined in , but not LC_ALL. E.g. LC_MESSAGES. CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES". Return the locale category's name, canonicalized into XPG syntax language[_territory][.codeset][@modifier] or NULL if no locale has been specified for the current thread. The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ extern const char * gl_locale_name_thread (int category, const char *categoryname); /* Determine the thread-independent current locale's name, as specified by setlocale() calls or by environment variables. CATEGORY is a locale category abbreviation, as defined in , but not LC_ALL. E.g. LC_MESSAGES. CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES". Return the locale category's name, canonicalized into XPG syntax language[_territory][.codeset][@modifier] or NULL if no locale has been specified to setlocale() or by environment variables. The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ extern const char * gl_locale_name_posix (int category, const char *categoryname); /* Determine the default locale's name, as specified by environment variables. Return the locale category's name, or NULL if no locale has been specified by environment variables. The result must not be freed; it is statically allocated. */ extern const char * gl_locale_name_environ (int category, const char *categoryname); /* Determine the default locale's name. This is the current locale's name, if not specified by uselocale() calls, by setlocale() calls, or by environment variables. This locale name is usually determined by systems settings that the user can manipulate through a GUI. Quoting POSIX:2001: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty string. This default locale can be the C locale or any other implementation-defined locale. Some implementations may provide facilities for local installation administrators to set the default locale, customizing it for each location. IEEE Std 1003.1-2001 does not require such a facility." The result must not be freed; it is statically allocated. */ extern const char * gl_locale_name_default (void); #ifdef __cplusplus } #endif #endif /* _GL_LOCALENAME_H */ coreutils-8.21/gnulib-tests/test-usleep.c0000664000000000000000000000211112071024546015400 00000000000000/* Test of usleep() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (usleep, int, (useconds_t)); #include #include "macros.h" int main (void) { time_t start = time (NULL); ASSERT (usleep (1000000) == 0); ASSERT (start < time (NULL)); ASSERT (usleep (0) == 0); return 0; } coreutils-8.21/gnulib-tests/test-inet_ntop.c0000664000000000000000000000307712071024546016116 00000000000000/* Test of inet_ntop function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (inet_ntop, char const *, (int, void const *, char *, socklen_t)); #include #include #include #include "macros.h" int main (void) { #if defined AF_INET /* HAVE_IPV4 */ { struct in_addr internal; char printable[16]; const char *result; /* This machine was for a long time known as ma2s2.mathematik.uni-karlsruhe.de. */ # ifdef WORDS_BIGENDIAN internal.s_addr = 0x810D7302; # else internal.s_addr = 0x02730D81; # endif result = inet_ntop (AF_INET, &internal, printable, sizeof (printable)); ASSERT (result != NULL); ASSERT (strcmp (result, "129.13.115.2") == 0); } #endif return 0; } coreutils-8.21/gnulib-tests/test-version-etc.c0000664000000000000000000000210712071024546016346 00000000000000/* Test suite for version-etc. Copyright (C) 2009-2013 Free Software Foundation, Inc. This file is part of the GNUlib Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "version-etc.h" #include "progname.h" #define AUTHORS "Sergey Poznyakoff", "Eric Blake" int main (int argc _GL_UNUSED, char **argv) { set_program_name (argv[0]); version_etc (stdout, "test-version-etc", "dummy", "0", AUTHORS, (const char *) NULL); return 0; } coreutils-8.21/gnulib-tests/test-open.c0000664000000000000000000000214712071024546015055 00000000000000/* Test of opening a file descriptor. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (open, int, (char const *, int, ...)); #include #include #include #include #include "macros.h" #define BASE "test-open.t" #include "test-open.h" int main (void) { return test_open (open, true); } coreutils-8.21/gnulib-tests/test-fcntl.c0000664000000000000000000002351512071024546015224 00000000000000/* Test of fcntl(2). Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include /* Specification. */ #include #include "signature.h" SIGNATURE_CHECK (fcntl, int, (int, int, ...)); /* Helpers. */ #include #include #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #include "binary-io.h" #include "macros.h" #if !O_BINARY # define setmode(f,m) zero () static int zero (void) { return 0; } #endif /* Return true if FD is open. */ static bool is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } /* Return true if FD is open and inheritable across exec/spawn. */ static bool is_inheritable (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) return false; return (flags & HANDLE_FLAG_INHERIT) != 0; #else # ifndef F_GETFD # error Please port fcntl to your platform # endif int i = fcntl (fd, F_GETFD); return 0 <= i && (i & FD_CLOEXEC) == 0; #endif } /* Return non-zero if FD is open in the given MODE, which is either O_TEXT or O_BINARY. */ static bool is_mode (int fd, int mode) { int value = setmode (fd, O_BINARY); setmode (fd, value); return mode == value; } /* Since native fcntl can have more supported operations than our replacement is aware of, and since various operations assign different types to the vararg argument, a wrapper around fcntl must be able to pass a vararg of unknown type on through to the original fcntl. Make sure that this works properly: func1 behaves like the original fcntl interpreting the vararg as an int or a pointer to a struct, and func2 behaves like rpl_fcntl that doesn't know what type to forward. */ struct dummy_struct { long filler; int value; }; static int func1 (int a, ...) { va_list arg; int i; va_start (arg, a); if (a < 4) i = va_arg (arg, int); else { struct dummy_struct *s = va_arg (arg, struct dummy_struct *); i = s->value; } va_end (arg); return i; } static int func2 (int a, ...) { va_list arg; void *p; va_start (arg, a); p = va_arg (arg, void *); va_end (arg); return func1 (a, p); } /* Ensure that all supported fcntl actions are distinct, and usable in preprocessor expressions. */ static void check_flags (void) { switch (0) { case F_DUPFD: #if F_DUPFD #endif case F_DUPFD_CLOEXEC: #if F_DUPFD_CLOEXEC #endif case F_GETFD: #if F_GETFD #endif #ifdef F_SETFD case F_SETFD: # if F_SETFD # endif #endif #ifdef F_GETFL case F_GETFL: # if F_GETFL # endif #endif #ifdef F_SETFL case F_SETFL: # if F_SETFL # endif #endif #ifdef F_GETOWN case F_GETOWN: # if F_GETOWN # endif #endif #ifdef F_SETOWN case F_SETOWN: # if F_SETOWN # endif #endif #ifdef F_GETLK case F_GETLK: # if F_GETLK # endif #endif #ifdef F_SETLK case F_SETLK: # if F_SETLK # endif #endif #ifdef F_SETLKW case F_SETLKW: # if F_SETLKW # endif #endif ; } } int main (void) { const char *file = "test-fcntl.tmp"; int fd; /* Sanity check that rpl_fcntl is likely to work. */ ASSERT (func2 (1, 2) == 2); ASSERT (func2 (2, -2) == -2); ASSERT (func2 (3, 0x80000000) == 0x80000000); { struct dummy_struct s = { 0L, 4 }; ASSERT (func2 (4, &s) == 4); } check_flags (); /* Assume std descriptors were provided by invoker, and ignore fds that might have been inherited. */ fd = creat (file, 0600); ASSERT (STDERR_FILENO < fd); close (fd + 1); close (fd + 2); /* For F_DUPFD*, the source must be valid. */ errno = 0; ASSERT (fcntl (-1, F_DUPFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_DUPFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_DUPFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (-1, F_DUPFD_CLOEXEC, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_DUPFD_CLOEXEC, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_DUPFD_CLOEXEC, 0) == -1); ASSERT (errno == EBADF); /* For F_DUPFD*, the destination must be valid. */ ASSERT (getdtablesize () < 10000000); errno = 0; ASSERT (fcntl (fd, F_DUPFD, -1) == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (fcntl (fd, F_DUPFD, 10000000) == -1); ASSERT (errno == EINVAL); ASSERT (getdtablesize () < 10000000); errno = 0; ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, -1) == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, 10000000) == -1); ASSERT (errno == EINVAL); /* For F_DUPFD*, check for correct inheritance, as well as preservation of text vs. binary. */ setmode (fd, O_BINARY); ASSERT (is_open (fd)); ASSERT (!is_open (fd + 1)); ASSERT (!is_open (fd + 2)); ASSERT (is_inheritable (fd)); ASSERT (is_mode (fd, O_BINARY)); ASSERT (fcntl (fd, F_DUPFD, fd) == fd + 1); ASSERT (is_open (fd)); ASSERT (is_open (fd + 1)); ASSERT (!is_open (fd + 2)); ASSERT (is_inheritable (fd + 1)); ASSERT (is_mode (fd, O_BINARY)); ASSERT (is_mode (fd + 1, O_BINARY)); ASSERT (close (fd + 1) == 0); ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, fd + 2) == fd + 2); ASSERT (is_open (fd)); ASSERT (!is_open (fd + 1)); ASSERT (is_open (fd + 2)); ASSERT (is_inheritable (fd)); ASSERT (!is_inheritable (fd + 2)); ASSERT (is_mode (fd, O_BINARY)); ASSERT (is_mode (fd + 2, O_BINARY)); ASSERT (close (fd) == 0); setmode (fd + 2, O_TEXT); ASSERT (fcntl (fd + 2, F_DUPFD, fd + 1) == fd + 1); ASSERT (!is_open (fd)); ASSERT (is_open (fd + 1)); ASSERT (is_open (fd + 2)); ASSERT (is_inheritable (fd + 1)); ASSERT (!is_inheritable (fd + 2)); ASSERT (is_mode (fd + 1, O_TEXT)); ASSERT (is_mode (fd + 2, O_TEXT)); ASSERT (close (fd + 1) == 0); ASSERT (fcntl (fd + 2, F_DUPFD_CLOEXEC, 0) == fd); ASSERT (is_open (fd)); ASSERT (!is_open (fd + 1)); ASSERT (is_open (fd + 2)); ASSERT (!is_inheritable (fd)); ASSERT (!is_inheritable (fd + 2)); ASSERT (is_mode (fd, O_TEXT)); ASSERT (is_mode (fd + 2, O_TEXT)); ASSERT (close (fd + 2) == 0); /* Test F_GETFD on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_GETFD) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_GETFD) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_GETFD) == -1); ASSERT (errno == EBADF); /* Test F_GETFD, the FD_CLOEXEC bit. */ { int result = fcntl (fd, F_GETFD); ASSERT (0 <= result); ASSERT ((result & FD_CLOEXEC) == FD_CLOEXEC); ASSERT (dup (fd) == fd + 1); result = fcntl (fd + 1, F_GETFD); ASSERT (0 <= result); ASSERT ((result & FD_CLOEXEC) == 0); ASSERT (close (fd + 1) == 0); } #ifdef F_SETFD /* Test F_SETFD on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_SETFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_SETFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_SETFD, 0) == -1); ASSERT (errno == EBADF); #endif #ifdef F_GETFL /* Test F_GETFL on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_GETFL) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_GETFL) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_GETFL) == -1); ASSERT (errno == EBADF); #endif #ifdef F_SETFL /* Test F_SETFL on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_SETFL, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_SETFL, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_SETFL, 0) == -1); ASSERT (errno == EBADF); #endif #ifdef F_GETOWN /* Test F_GETOWN on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_GETOWN) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_GETOWN) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_GETOWN) == -1); ASSERT (errno == EBADF); #endif #ifdef F_SETOWN /* Test F_SETFL on invalid file descriptors. */ errno = 0; ASSERT (fcntl (-1, F_SETOWN, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (fd + 1, F_SETOWN, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (10000000, F_SETOWN, 0) == -1); ASSERT (errno == EBADF); #endif /* Cleanup. */ ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/test-readtokens.sh0000775000000000000000000000104011777552746016461 00000000000000#!/bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 test-readtokens || fail=1 # Simplest case. echo a:b:c: > exp || fail=1 printf a:b:c | test-readtokens : > out 2>&1 || fail=1 compare exp out || fail=1 # Use NUL as the delimiter. echo a:b:c: > exp || fail=1 printf 'a\0b\0c' | test-readtokens '\0' > out 2>&1 || fail=1 compare exp out || fail=1 # Two delimiter bytes, and adjacent delimiters in the input. echo a:b:c: > exp || fail=1 printf a:-:b-:c:: | test-readtokens :- > out 2>&1 || fail=1 compare exp out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-dirname.c0000664000000000000000000002063512071024546015535 00000000000000/* Test the gnulib dirname module. Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include #include #include struct test { const char *name; /* Name under test. */ const char *dir; /* dir_name (name). */ const char *last; /* last_component (name). */ const char *base; /* base_name (name). */ const char *stripped; /* name after strip_trailing_slashes (name). */ bool modified; /* result of strip_trailing_slashes (name). */ bool absolute; /* IS_ABSOLUTE_FILE_NAME (name). */ }; static struct test tests[] = { {"d/f", "d", "f", "f", "d/f", false, false}, {"/d/f", "/d", "f", "f", "/d/f", false, true}, {"d/f/", "d", "f/", "f/", "d/f", true, false}, {"d/f//", "d", "f//", "f/", "d/f", true, false}, {"f", ".", "f", "f", "f", false, false}, {"/", "/", "", "/", "/", false, true}, #if DOUBLE_SLASH_IS_DISTINCT_ROOT {"//", "//", "", "//", "//", false, true}, {"//d", "//", "d", "d", "//d", false, true}, #else {"//", "/", "", "/", "/", true, true}, {"//d", "/", "d", "d", "//d", false, true}, #endif {"///", "/", "", "/", "/", true, true}, {"///a///", "/", "a///", "a/", "///a", true, true}, /* POSIX requires dirname("") and basename("") to both return ".", but dir_name and base_name are defined differently. */ {"", ".", "", "", "", false, false}, {".", ".", ".", ".", ".", false, false}, {"..", ".", "..", "..", "..", false, false}, #if ISSLASH ('\\') {"a\\", ".", "a\\", "a\\", "a", true, false}, {"a\\b", "a", "b", "b", "a\\b", false, false}, {"\\", "\\", "", "\\", "\\", false, true}, {"\\/\\", "\\", "", "\\", "\\", true, true}, {"\\\\/", "\\", "", "\\", "\\", true, true}, {"\\//", "\\", "", "\\", "\\", true, true}, {"//\\", "/", "", "/", "/", true, true}, #else {"a\\", ".", "a\\", "a\\", "a\\", false, false}, {"a\\b", ".", "a\\b", "a\\b", "a\\b", false, false}, {"\\", ".", "\\", "\\", "\\", false, false}, {"\\/\\", "\\", "\\", "\\", "\\/\\",false, false}, {"\\\\/", ".", "\\\\/","\\\\/","\\\\", true, false}, {"\\//", ".", "\\//", "\\/", "\\", true, false}, # if DOUBLE_SLASH_IS_DISTINCT_ROOT {"//\\", "//", "\\", "\\", "//\\", false, true}, # else {"//\\", "/", "\\", "\\", "//\\", false, true}, # endif #endif #if ISSLASH ('\\') # if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE {"c:", "c:", "", "c:", "c:", false, false}, {"c:/", "c:/", "", "c:/", "c:/", false, true}, {"c://", "c:/", "", "c:/", "c:/", true, true}, {"c:/d", "c:/", "d", "d", "c:/d", false, true}, {"c://d", "c:/", "d", "d", "c://d",false, true}, {"c:/d/", "c:/", "d/", "d/", "c:/d", true, true}, {"c:/d/f", "c:/d", "f", "f", "c:/d/f",false, true}, {"c:d", "c:.", "d", "d", "c:d", false, false}, {"c:d/", "c:.", "d/", "d/", "c:d", true, false}, {"c:d/f", "c:d", "f", "f", "c:d/f",false, false}, {"a:b:c", "a:.", "b:c", "./b:c","a:b:c",false, false}, {"a/b:c", "a", "b:c", "./b:c","a/b:c",false, false}, {"a/b:c/", "a", "b:c/", "./b:c/","a/b:c",true, false}, # else /* ! FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE */ {"c:", "c:", "", "c:", "c:", false, true}, {"c:/", "c:", "", "c:", "c:", true, true}, {"c://", "c:", "", "c:", "c:", true, true}, {"c:/d", "c:", "d", "d", "c:/d", false, true}, {"c://d", "c:", "d", "d", "c://d",false, true}, {"c:/d/", "c:", "d/", "d/", "c:/d", true, true}, {"c:/d/f", "c:/d", "f", "f", "c:/d/f",false, true}, {"c:d", "c:", "d", "d", "c:d", false, true}, {"c:d/", "c:", "d/", "d/", "c:d", true, true}, {"c:d/f", "c:d", "f", "f", "c:d/f",false, true}, {"a:b:c", "a:", "b:c", "./b:c","a:b:c",false, true}, {"a/b:c", "a", "b:c", "./b:c","a/b:c",false, false}, {"a/b:c/", "a", "b:c/", "./b:c/","a/b:c",true, false}, # endif #else /* ! ISSLASH ('\\') */ {"c:", ".", "c:", "c:", "c:", false, false}, {"c:/", ".", "c:/", "c:/", "c:", true, false}, {"c://", ".", "c://", "c:/", "c:", true, false}, {"c:/d", "c:", "d", "d", "c:/d", false, false}, {"c://d", "c:", "d", "d", "c://d",false, false}, {"c:/d/", "c:", "d/", "d/", "c:/d", true, false}, {"c:/d/f", "c:/d", "f", "f", "c:/d/f",false, false}, {"c:d", ".", "c:d", "c:d", "c:d", false, false}, {"c:d/", ".", "c:d/", "c:d/", "c:d", true, false}, {"c:d/f", "c:d", "f", "f", "c:d/f",false, false}, {"a:b:c", ".", "a:b:c","a:b:c","a:b:c",false, false}, {"a/b:c", "a", "b:c", "b:c", "a/b:c",false, false}, {"a/b:c/", "a", "b:c/", "b:c/", "a/b:c",true, false}, #endif {"1:", ".", "1:", "1:", "1:", false, false}, {"1:/", ".", "1:/", "1:/", "1:", true, false}, {"/:", "/", ":", ":", "/:", false, true}, {"/:/", "/", ":/", ":/", "/:", true, true}, /* End sentinel. */ {NULL, NULL, NULL, NULL, NULL, false, false} }; int main (void) { struct test *t; bool ok = true; for (t = tests; t->name; t++) { char *dir = dir_name (t->name); int dirlen = dir_len (t->name); char *last = last_component (t->name); char *base = base_name (t->name); int baselen = base_len (base); char *stripped = strdup (t->name); bool modified = strip_trailing_slashes (stripped); bool absolute = IS_ABSOLUTE_FILE_NAME (t->name); if (! (strcmp (dir, t->dir) == 0 && (dirlen == strlen (dir) || (dirlen + 1 == strlen (dir) && dir[dirlen] == '.')))) { ok = false; printf ("dir_name '%s': got '%s' len %d," " expected '%s' len %ld\n", t->name, dir, dirlen, t->dir, (unsigned long) strlen (t->dir)); } if (strcmp (last, t->last)) { ok = false; printf ("last_component '%s': got '%s', expected '%s'\n", t->name, last, t->last); } if (! (strcmp (base, t->base) == 0 && (baselen == strlen (base) || (baselen + 1 == strlen (base) && ISSLASH (base[baselen]))))) { ok = false; printf ("base_name '%s': got '%s' len %d," " expected '%s' len %ld\n", t->name, base, baselen, t->base, (unsigned long) strlen (t->base)); } if (strcmp (stripped, t->stripped) || modified != t->modified) { ok = false; printf ("strip_trailing_slashes '%s': got %s %s, expected %s %s\n", t->name, stripped, modified ? "changed" : "unchanged", t->stripped, t->modified ? "changed" : "unchanged"); } if (t->absolute != absolute) { ok = false; printf ("'%s': got %s, expected %s\n", t->name, absolute ? "absolute" : "relative", t->absolute ? "absolute" : "relative"); } free (dir); free (base); free (stripped); } return ok ? 0 : 1; } coreutils-8.21/gnulib-tests/test-ignore-value.c0000664000000000000000000000365112071024546016512 00000000000000/* Test the "ignore-value" module. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake. */ #include #include "ignore-value.h" #include #ifndef _GL_ATTRIBUTE_RETURN_CHECK # if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) # define _GL_ATTRIBUTE_RETURN_CHECK # else # define _GL_ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__)) # endif #endif struct s { int i; }; static char doChar (void) _GL_ATTRIBUTE_RETURN_CHECK; static int doInt (void) _GL_ATTRIBUTE_RETURN_CHECK; static off_t doOff (void) _GL_ATTRIBUTE_RETURN_CHECK; static void *doPtr (void) _GL_ATTRIBUTE_RETURN_CHECK; static struct s doStruct (void) _GL_ATTRIBUTE_RETURN_CHECK; static char doChar (void) { return 0; } static int doInt (void) { return 0; } static off_t doOff (void) { return 0; } static void * doPtr (void) { return NULL; } static struct s doStruct (void) { static struct s s1; return s1; } int main (void) { /* If this test can compile with -Werror and the same warnings as the rest of the project, then we are properly silencing warnings about ignored return values. */ ignore_value (doChar ()); ignore_value (doInt ()); ignore_value (doOff ()); ignore_value (doPtr ()); ignore_value (doStruct ()); return 0; } coreutils-8.21/gnulib-tests/test-exclude3.sh0000775000000000000000000000242712071024546016024 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test include cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-freopen-safer.c0000664000000000000000000000542012071024546016645 00000000000000/* Test of reopening a stream. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include /* Specification. */ #include "stdio--.h" /* Helpers. */ #include /* This test intentionally closes stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; int main (void) { FILE *fp; /* We close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; { FILE *tmp; ASSERT (tmp = fopen ("/dev/null", "r")); ASSERT (STDERR_FILENO < fileno (tmp)); ASSERT (fp = fopen ("/dev/null", "w")); ASSERT (fileno (tmp) < fileno (fp)); ASSERT (fclose (tmp) == 0); } /* Gap in fds. */ ASSERT (freopen ("/dev/null", "r+", fp) == fp); ASSERT (STDERR_FILENO < fileno (fp)); ASSERT (freopen ("/dev/null", "r", stdin) == stdin); ASSERT (STDIN_FILENO == fileno (stdin)); ASSERT (freopen ("/dev/null", "w", stdout) == stdout); ASSERT (STDOUT_FILENO == fileno (stdout)); ASSERT (freopen ("/dev/null", "w", stderr) == stderr); ASSERT (STDERR_FILENO == fileno (stderr)); /* fd 0 closed. */ ASSERT (close (STDIN_FILENO) == 0); ASSERT (freopen ("/dev/null", "w", stdout) == stdout); ASSERT (STDOUT_FILENO == fileno (stdout)); ASSERT (freopen ("/dev/null", "w", stderr) == stderr); ASSERT (STDERR_FILENO == fileno (stderr)); ASSERT (freopen ("/dev/null", "a", fp) == fp); ASSERT (STDERR_FILENO < fileno (fp)); /* fd 1 closed. */ ASSERT (close (STDOUT_FILENO) == 0); ASSERT (freopen ("/dev/null", "w", stderr) == stderr); ASSERT (STDERR_FILENO == fileno (stderr)); ASSERT (freopen ("/dev/null", "a+", fp) == fp); ASSERT (STDERR_FILENO < fileno (fp)); /* fd 2 closed. */ ASSERT (close (STDERR_FILENO) == 0); ASSERT (freopen ("/dev/null", "w+", fp) == fp); ASSERT (STDERR_FILENO < fileno (fp)); return 0; } coreutils-8.21/gnulib-tests/test-utimens.h0000664000000000000000000001335612071024546015611 00000000000000/* Test of file timestamp modification functions. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "test-utimens-common.h" /* This file is designed to test both utimens(a,b) and utimensat(AT_FDCWD,a,b,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined. If PRINT, warn before skipping tests with status 77. */ static int test_utimens (int (*func) (char const *, struct timespec const *), bool print) { struct stat st1; struct stat st2; ASSERT (close (creat (BASE "file", 0600)) == 0); /* If utimens truncates to less resolution than the file system supports, then time can appear to go backwards between now and a follow-up utimens with UTIME_NOW or a NULL timespec. Use UTIMECMP_TRUNCATE_SOURCE to compensate, with st1 as the source. */ ASSERT (stat (BASE "file", &st1) == 0); nap (); ASSERT (func (BASE "file", NULL) == 0); ASSERT (stat (BASE "file", &st2) == 0); ASSERT (0 <= utimecmp (BASE "file", &st2, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); { /* On some NFS systems, the 'now' timestamp of creat or a NULL timespec is determined by the server, but the 'now' timestamp determined by gettime() (as is done when using UTIME_NOW) is determined by the client; since the two machines are not necessarily on the same clock, this is another case where time can appear to go backwards. The rest of this test cares about client time, so manually use gettime() to set both times. */ struct timespec ts[2]; gettime (&ts[0]); ts[1] = ts[0]; ASSERT (func (BASE "file", ts) == 0); ASSERT (stat (BASE "file", &st1) == 0); nap (); } /* Invalid arguments. */ errno = 0; ASSERT (func ("no_such", NULL) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", NULL) == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); errno = 0; ASSERT (func ("", NULL) == -1); ASSERT (errno == ENOENT); { struct timespec ts[2] = { { Y2K, UTIME_BOGUS_POS }, { Y2K, 0 } }; errno = 0; ASSERT (func (BASE "file", ts) == -1); ASSERT (errno == EINVAL); } { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, UTIME_BOGUS_NEG } }; errno = 0; ASSERT (func (BASE "file", ts) == -1); ASSERT (errno == EINVAL); } { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; errno = 0; ASSERT (func (BASE "file/", ts) == -1); ASSERT (errno == ENOTDIR || errno == EINVAL); } ASSERT (stat (BASE "file", &st2) == 0); ASSERT (st1.st_atime == st2.st_atime); ASSERT (get_stat_atime_ns (&st1) == get_stat_atime_ns (&st2)); ASSERT (utimecmp (BASE "file", &st1, &st2, 0) == 0); /* Set both times. */ { struct timespec ts[2] = { { Y2K, BILLION / 2 - 1 }, { Y2K, BILLION - 1 } }; ASSERT (func (BASE "file", ts) == 0); ASSERT (stat (BASE "file", &st2) == 0); ASSERT (st2.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st2)); ASSERT (get_stat_atime_ns (&st2) < BILLION / 2); ASSERT (st2.st_mtime == Y2K); ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ { struct stat st3; struct timespec ts[2] = { { BILLION, UTIME_OMIT }, { 0, UTIME_NOW } }; nap (); ASSERT (func (BASE "file", ts) == 0); ASSERT (stat (BASE "file", &st3) == 0); ASSERT (st3.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st3)); ASSERT (get_stat_atime_ns (&st3) < BILLION / 2); /* See comment above about this utimecmp call. */ ASSERT (0 <= utimecmp (BASE "file", &st3, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; ASSERT (func (BASE "file", ts) == 0); ASSERT (stat (BASE "file", &st2) == 0); ASSERT (st2.st_atime == BILLION); ASSERT (get_stat_atime_ns (&st2) == 0); ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) ASSERT (ctime_compare (&st3, &st2) < 0); } /* Make sure this dereferences symlinks. */ if (symlink (BASE "file", BASE "link")) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (lstat (BASE "link", &st1) == 0); ASSERT (st1.st_mtime != Y2K); errno = 0; ASSERT (func (BASE "link/", NULL) == -1); ASSERT (errno == ENOTDIR); { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; ASSERT (func (BASE "link", ts) == 0); ASSERT (lstat (BASE "link", &st2) == 0); /* Can't compare atimes, since lstat() changes symlink atime on cygwin. */ ASSERT (st1.st_mtime == st2.st_mtime); ASSERT (stat (BASE "link", &st2) == 0); ASSERT (st2.st_mtime == Y2K); ASSERT (get_stat_mtime_ns (&st2) == 0); } /* Cleanup. */ ASSERT (unlink (BASE "link") == 0); ASSERT (unlink (BASE "file") == 0); return 0; } coreutils-8.21/gnulib-tests/test-getcwd-lgpl.c0000664000000000000000000000510512071024546016322 00000000000000/* Test of getcwd() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (getcwd, char *, (char *, size_t)); #include #include #include #include #include "macros.h" int main (int argc, char **argv) { char *pwd1; char *pwd2; /* If the user provides an argument, attempt to chdir there first. */ if (1 < argc) { if (chdir (argv[1]) == 0) printf ("changed to directory %s\n", argv[1]); } pwd1 = getcwd (NULL, 0); ASSERT (pwd1 && *pwd1); if (1 < argc) printf ("cwd=%s\n", pwd1); /* Make sure the result is usable. */ ASSERT (chdir (pwd1) == 0); ASSERT (chdir (".//./.") == 0); /* Make sure that result is normalized. */ pwd2 = getcwd (NULL, 0); ASSERT (pwd2); ASSERT (strcmp (pwd1, pwd2) == 0); free (pwd2); { size_t len = strlen (pwd1); ssize_t i = len - 10; if (i < 1) i = 1; pwd2 = getcwd (NULL, len + 1); ASSERT (pwd2); free (pwd2); pwd2 = malloc (len + 2); for ( ; i <= len; i++) { char *tmp; errno = 0; ASSERT (getcwd (pwd2, i) == NULL); ASSERT (errno == ERANGE); /* Allow either glibc or BSD behavior, since POSIX allows both. */ errno = 0; tmp = getcwd (NULL, i); if (tmp) { ASSERT (strcmp (pwd1, tmp) == 0); free (tmp); } else { ASSERT (errno == ERANGE); } } ASSERT (getcwd (pwd2, len + 1) == pwd2); pwd2[len] = '/'; pwd2[len + 1] = '\0'; } ASSERT (strstr (pwd2, "/./") == NULL); ASSERT (strstr (pwd2, "/../") == NULL); ASSERT (strstr (pwd2 + 1 + (pwd2[1] == '/'), "//") == NULL); /* Validate a POSIX requirement on size. */ errno = 0; ASSERT (getcwd(pwd2, 0) == NULL); ASSERT (errno == EINVAL); free (pwd1); free (pwd2); return 0; } coreutils-8.21/gnulib-tests/test-di-set.c0000664000000000000000000000333212071024546015276 00000000000000/* Test the di-set module. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "di-set.h" #include "macros.h" int main (void) { struct di_set *dis = di_set_alloc (); ASSERT (dis); ASSERT (di_set_lookup (dis, 2, 5) == 0); /* initial lookup fails */ ASSERT (di_set_insert (dis, 2, 5) == 1); /* first insertion succeeds */ ASSERT (di_set_insert (dis, 2, 5) == 0); /* duplicate fails */ ASSERT (di_set_insert (dis, 3, 5) == 1); /* diff dev, duplicate inode is ok */ ASSERT (di_set_insert (dis, 2, 8) == 1); /* same dev, different inode is ok */ ASSERT (di_set_lookup (dis, 2, 5) == 1); /* now, the lookup succeeds */ /* very large (or negative) inode number */ ASSERT (di_set_insert (dis, 5, (ino_t) -1) == 1); ASSERT (di_set_insert (dis, 5, (ino_t) -1) == 0); /* dup */ { unsigned int i; for (i = 0; i < 3000; i++) ASSERT (di_set_insert (dis, 9, i) == 1); for (i = 0; i < 3000; i++) ASSERT (di_set_insert (dis, 9, i) == 0); /* duplicate fails */ } di_set_free (dis); return 0; } coreutils-8.21/gnulib-tests/test-mbsinit.sh0000775000000000000000000000056611624730153015760 00000000000000#!/bin/sh # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" else echo "Skipping test: no french Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR_UTF8 \ ./test-mbsinit${EXEEXT} coreutils-8.21/gnulib-tests/test-errno.c0000664000000000000000000000555412071024546015246 00000000000000/* Test of substitute. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include /* Verify that the POSIX mandated errno values exist and can be used as initializers outside of a function. The variable names happen to match the Linux/x86 error numbers. */ int e1 = EPERM; int e2 = ENOENT; int e3 = ESRCH; int e4 = EINTR; int e5 = EIO; int e6 = ENXIO; int e7 = E2BIG; int e8 = ENOEXEC; int e9 = EBADF; int e10 = ECHILD; int e11 = EAGAIN; int e11a = EWOULDBLOCK; int e12 = ENOMEM; int e13 = EACCES; int e14 = EFAULT; int e16 = EBUSY; int e17 = EEXIST; int e18 = EXDEV; int e19 = ENODEV; int e20 = ENOTDIR; int e21 = EISDIR; int e22 = EINVAL; int e23 = ENFILE; int e24 = EMFILE; int e25 = ENOTTY; int e26 = ETXTBSY; int e27 = EFBIG; int e28 = ENOSPC; int e29 = ESPIPE; int e30 = EROFS; int e31 = EMLINK; int e32 = EPIPE; int e33 = EDOM; int e34 = ERANGE; int e35 = EDEADLK; int e36 = ENAMETOOLONG; int e37 = ENOLCK; int e38 = ENOSYS; int e39 = ENOTEMPTY; int e40 = ELOOP; int e42 = ENOMSG; int e43 = EIDRM; int e67 = ENOLINK; int e71 = EPROTO; int e72 = EMULTIHOP; int e74 = EBADMSG; int e75 = EOVERFLOW; int e84 = EILSEQ; int e88 = ENOTSOCK; int e89 = EDESTADDRREQ; int e90 = EMSGSIZE; int e91 = EPROTOTYPE; int e92 = ENOPROTOOPT; int e93 = EPROTONOSUPPORT; int e95 = EOPNOTSUPP; int e95a = ENOTSUP; int e97 = EAFNOSUPPORT; int e98 = EADDRINUSE; int e99 = EADDRNOTAVAIL; int e100 = ENETDOWN; int e101 = ENETUNREACH; int e102 = ENETRESET; int e103 = ECONNABORTED; int e104 = ECONNRESET; int e105 = ENOBUFS; int e106 = EISCONN; int e107 = ENOTCONN; int e110 = ETIMEDOUT; int e111 = ECONNREFUSED; int e113 = EHOSTUNREACH; int e114 = EALREADY; int e115 = EINPROGRESS; int e116 = ESTALE; int e122 = EDQUOT; int e125 = ECANCELED; int e130 = EOWNERDEAD; int e131 = ENOTRECOVERABLE; /* Don't verify that these errno values are all different, except for possibly EWOULDBLOCK == EAGAIN. Even Linux/x86 does not pass this check: it has ENOTSUP == EOPNOTSUPP. */ int main () { /* Verify that errno can be assigned. */ errno = EOVERFLOW; /* snprintf() callers want to distinguish EINVAL and EOVERFLOW. */ if (errno == EINVAL) return 1; return 0; } coreutils-8.21/gnulib-tests/test-getdtablesize.c0000664000000000000000000000177212071024546016745 00000000000000/* Test of getdtablesize() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (getdtablesize, int, (void)); #include "macros.h" int main (int argc, char *argv[]) { ASSERT (getdtablesize () >= 3); return 0; } coreutils-8.21/gnulib-tests/test-fchmodat.c0000664000000000000000000000240312100637437015676 00000000000000/* Test changing the protections of a file relative to an open directory. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fchmodat, int, (int, const char *, mode_t, int)); #include #include #include "macros.h" int main (void) { /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (fchmodat (-1, "foo", 0600, 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fchmodat (99, "foo", 0600, 0) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-freadseek.c0000664000000000000000000000575712071024546016057 00000000000000/* Test of freadseek() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "freadseek.h" #include #include #include #include #include "macros.h" int main (int argc, char **argv) { static const char stdin_contents[] = "#!/bin/sh\n\n./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 < \"$srcdir/test-freadseek.sh\" || exit 1\ncat \"$srcdir/test-freadseek.sh\" | ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 || exit 1\nexit 0\n"; int nbytes1 = atoi (argv[1]); int nbytes2 = atoi (argv[2]); int nbytes3 = atoi (argv[3]); int nbytes4 = atoi (argv[4]); int nbytes5 = atoi (argv[5]); int nbytes6 = atoi (argv[6]); int nbytes7 = atoi (argv[7]); void *buf1 = malloc (nbytes1); void *buf3 = malloc (nbytes3); void *buf5 = malloc (nbytes5); void *buf7 = malloc (nbytes7); /* A private variable to keep track of the position. */ size_t position = 0; ASSERT (fread (buf1, 1, nbytes1, stdin) == nbytes1); ASSERT (memcmp (buf1, stdin_contents + position, nbytes1) == 0); position += nbytes1; /* Test normal behaviour. */ ASSERT (freadseek (stdin, nbytes2) == 0); position += nbytes2; ASSERT (fread (buf3, 1, nbytes3, stdin) == nbytes3); ASSERT (memcmp (buf3, stdin_contents + position, nbytes3) == 0); position += nbytes3; /* Test behaviour after normal ungetc. */ ungetc (fgetc (stdin), stdin); ASSERT (freadseek (stdin, nbytes4) == 0); position += nbytes4; ASSERT (fread (buf5, 1, nbytes5, stdin) == nbytes5); ASSERT (memcmp (buf5, stdin_contents + position, nbytes5) == 0); position += nbytes5; /* Test behaviour after arbitrary ungetc. */ fgetc (stdin); ungetc ('@', stdin); ASSERT (freadseek (stdin, nbytes6) == 0); position += nbytes6; ASSERT (fread (buf7, 1, nbytes7, stdin) == nbytes7); ASSERT (memcmp (buf7, stdin_contents + position, nbytes7) == 0); position += nbytes7; /* Test move to end of file. */ ASSERT (freadseek (stdin, strlen (stdin_contents) - position) == 0); ASSERT (fgetc (stdin) == EOF); ASSERT (!ferror (stdin)); #if !defined __MINT__ /* FreeMiNT has problems seeking past end of file */ /* Test move beyond end of file. */ ASSERT (freadseek (stdin, 1000000) == 0); ASSERT (fgetc (stdin) == EOF); ASSERT (!ferror (stdin)); #endif return 0; } coreutils-8.21/gnulib-tests/test-btowc2.sh0000775000000000000000000000056611624730150015510 00000000000000#!/bin/sh # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" else echo "Skipping test: no french Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR_UTF8 \ ./test-btowc${EXEEXT} 2 coreutils-8.21/gnulib-tests/test-fseek2.sh0000775000000000000000000000010511624730151015455 00000000000000#!/bin/sh exec ./test-fseek${EXEEXT} 1 2 < "$srcdir/test-fseek2.sh" coreutils-8.21/gnulib-tests/test-perror.sh0000775000000000000000000000150111624730154015613 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . # Test NULL prefix. Result should not contain a number. test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp grep '[0-9]' t-perror.tmp > /dev/null \ && fail_ "result should not contain a number" # Test empty prefix. Result should be the same. test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp diff t-perror.tmp t-perror1.tmp \ || fail_ "empty prefix should behave like NULL argument" # Test non-empty prefix. test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp diff t-perror2.tmp t-perror3.tmp || fail_ "prefix applied incorrectly" # Test exit status. test-perror >out 2>/dev/null || fail_ "unexpected exit status" test -s out && fail_ "unexpected output" Exit 0 coreutils-8.21/gnulib-tests/test-mbsstr3.c0000664000000000000000000000471312071024546015512 00000000000000/* Test of searching in a string. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include "macros.h" int main () { /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Tests with a character < 0x30. */ { const char input[] = "\312\276\300\375 \312\276\300\375 \312\276\300\375"; /* "示例 示例 示例" */ const char *result = mbsstr (input, " "); ASSERT (result == input + 4); } { const char input[] = "\312\276\300\375"; /* "示例" */ const char *result = mbsstr (input, " "); ASSERT (result == NULL); } /* Tests with a character >= 0x30. */ { const char input[] = "\272\305123\324\313\320\320\241\243"; /* "å·123è¿è¡Œã€‚" */ const char *result = mbsstr (input, "2"); ASSERT (result == input + 3); } /* The following tests show how mbsstr() is different from strstr(). */ { const char input[] = "\313\320\320\320"; /* "诵行" */ const char *result = mbsstr (input, "\320\320"); /* "行" */ ASSERT (result == input + 2); } { const char input[] = "\203\062\332\066123\324\313\320\320\241\243"; /* "씋123è¿è¡Œã€‚" */ const char *result = mbsstr (input, "2"); ASSERT (result == input + 5); } { const char input[] = "\312\276\300\375 \312\276\300\375 \312\276\300\375"; /* "示例 示例 示例" */ const char *result = mbsstr (input, "\276\300"); /* "纠" */ ASSERT (result == NULL); } { const char input[] = "\312\276\300\375 \312\276\300\375 \312\276\300\375"; /* "示例 示例 示例" */ const char *result = mbsstr (input, "\375 "); /* invalid multibyte sequence */ ASSERT (result == NULL); } return 0; } coreutils-8.21/gnulib-tests/test-wcrtomb-w32-4.sh0000775000000000000000000000012111624730157016531 00000000000000#!/bin/sh # Test a CP950 locale. ./test-wcrtomb-w32${EXEEXT} Chinese_Taiwan 950 coreutils-8.21/gnulib-tests/test-stdint.c0000664000000000000000000002617612071024546015431 00000000000000/* Test of substitute. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2006. */ #include /* Whether to enable pedantic checks. */ #define DO_PEDANTIC 0 #include #include "verify.h" #include "intprops.h" #if __GNUC__ >= 2 && DO_PEDANTIC # define verify_same_types(expr1,expr2) \ extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \ extern void _verify_func(__LINE__) (__typeof__ (expr2) *); # define _verify_func(line) _verify_func2(line) # define _verify_func2(line) verify_func_ ## line #else # define verify_same_types(expr1,expr2) extern void verify_func (int) #endif /* 7.18.1.1. Exact-width integer types */ /* 7.18.2.1. Limits of exact-width integer types */ int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX }; verify (TYPE_MINIMUM (int8_t) == INT8_MIN); verify (TYPE_MAXIMUM (int8_t) == INT8_MAX); verify_same_types (INT8_MIN, (int8_t) 0 + 0); verify_same_types (INT8_MAX, (int8_t) 0 + 0); int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX }; verify (TYPE_MINIMUM (int16_t) == INT16_MIN); verify (TYPE_MAXIMUM (int16_t) == INT16_MAX); verify_same_types (INT16_MIN, (int16_t) 0 + 0); verify_same_types (INT16_MAX, (int16_t) 0 + 0); int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX }; verify (TYPE_MINIMUM (int32_t) == INT32_MIN); verify (TYPE_MAXIMUM (int32_t) == INT32_MAX); verify_same_types (INT32_MIN, (int32_t) 0 + 0); verify_same_types (INT32_MAX, (int32_t) 0 + 0); #ifdef INT64_MAX int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX }; verify (TYPE_MINIMUM (int64_t) == INT64_MIN); verify (TYPE_MAXIMUM (int64_t) == INT64_MAX); verify_same_types (INT64_MIN, (int64_t) 0 + 0); verify_same_types (INT64_MAX, (int64_t) 0 + 0); #endif uint8_t b1[2] = { UINT8_C (17), UINT8_MAX }; verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX); verify_same_types (UINT8_MAX, (uint8_t) 0 + 0); uint16_t b2[2] = { UINT16_C (17), UINT16_MAX }; verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX); verify_same_types (UINT16_MAX, (uint16_t) 0 + 0); uint32_t b3[2] = { UINT32_C (17), UINT32_MAX }; verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX); verify_same_types (UINT32_MAX, (uint32_t) 0 + 0); #ifdef UINT64_MAX uint64_t b4[2] = { UINT64_C (17), UINT64_MAX }; verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX); verify_same_types (UINT64_MAX, (uint64_t) 0 + 0); #endif #if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX /* ok */ #else err or; #endif #if UINT8_MAX && UINT16_MAX && UINT32_MAX /* ok */ #else err or; #endif /* 7.18.1.2. Minimum-width integer types */ /* 7.18.2.2. Limits of minimum-width integer types */ int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX }; verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN); verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX); verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0); verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0); int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX }; verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN); verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX); verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0); verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0); int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX }; verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN); verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX); verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0); verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0); #ifdef INT_LEAST64_MAX int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX }; verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN); verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX); verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0); verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0); #endif uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX }; verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX); verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0); uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX }; verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX); verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0); uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX }; verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX); verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0); #ifdef UINT_LEAST64_MAX uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX }; verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX); verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0); #endif #if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX /* ok */ #else err or; #endif #if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX /* ok */ #else err or; #endif /* 7.18.1.3. Fastest minimum-width integer types */ /* 7.18.2.3. Limits of fastest minimum-width integer types */ int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX }; verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN); verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX); verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0); verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0); int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX }; verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN); verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX); verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0); verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0); int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX }; verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN); verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX); verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0); verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0); #ifdef INT_FAST64_MAX int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX }; verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN); verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX); verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0); verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0); #endif uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX }; verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX); verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0); uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX }; verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX); verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0); uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX }; verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX); verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0); #ifdef UINT_FAST64_MAX uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX }; verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX); verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0); #endif #if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX /* ok */ #else err or; #endif #if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX /* ok */ #else err or; #endif /* 7.18.1.4. Integer types capable of holding object pointers */ /* 7.18.2.4. Limits of integer types capable of holding object pointers */ intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX }; verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN); verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX); verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0); verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0); uintptr_t h[2] = { 17, UINTPTR_MAX }; verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX); verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0); #if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX /* ok */ #else err or; #endif /* 7.18.1.5. Greatest-width integer types */ /* 7.18.2.5. Limits of greatest-width integer types */ intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX }; verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN); verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX); verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0); verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0); uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX }; verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX); verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0); /* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in the preprocessor. */ #if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__)) #if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX /* ok */ #else err or; #endif #endif /* 7.18.3. Limits of other integer types */ #include verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN); verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX); verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0); verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0); #if PTRDIFF_MIN && PTRDIFF_MAX /* ok */ #else err or; #endif #include verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN); verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX); verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0); verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0); #if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX /* ok */ #else err or; #endif verify (TYPE_MAXIMUM (size_t) == SIZE_MAX); verify_same_types (SIZE_MAX, (size_t) 0 + 0); #if SIZE_MAX /* ok */ #else err or; #endif #if HAVE_WCHAR_T verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN); verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX); verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0); verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0); # if WCHAR_MIN != 17 && WCHAR_MAX /* ok */ # else err or; # endif #endif #if HAVE_WINT_T # include verify (TYPE_MINIMUM (wint_t) == WINT_MIN); verify (TYPE_MAXIMUM (wint_t) == WINT_MAX); verify_same_types (WINT_MIN, (wint_t) 0 + 0); verify_same_types (WINT_MAX, (wint_t) 0 + 0); # if WINT_MIN != 17 && WINT_MAX /* ok */ # else err or; # endif #endif /* 7.18.4. Macros for integer constants */ verify (INT8_C (17) == 17); verify_same_types (INT8_C (17), (int_least8_t)0 + 0); verify (UINT8_C (17) == 17); verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0); verify (INT16_C (17) == 17); verify_same_types (INT16_C (17), (int_least16_t)0 + 0); verify (UINT16_C (17) == 17); verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0); verify (INT32_C (17) == 17); verify_same_types (INT32_C (17), (int_least32_t)0 + 0); verify (UINT32_C (17) == 17); verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0); #ifdef INT64_C verify (INT64_C (17) == 17); verify_same_types (INT64_C (17), (int_least64_t)0 + 0); #endif #ifdef UINT64_C verify (UINT64_C (17) == 17); verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0); #endif verify (INTMAX_C (17) == 17); verify_same_types (INTMAX_C (17), (intmax_t)0 + 0); verify (UINTMAX_C (17) == 17); verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0); int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-getlogin.c0000664000000000000000000000452512071024546015726 00000000000000/* Test of getting user name. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include #include #include "signature.h" SIGNATURE_CHECK (getlogin, char *, (void)); #include #include #include #include #include "macros.h" int main (void) { char *buf; /* Test value. */ buf = getlogin (); if (buf == NULL) { if (errno == ENOENT) { /* This can happen on GNU/Linux. */ fprintf (stderr, "Skipping test: no entry in utmp file.\n"); return 77; } /* getlogin() fails when stdin is not connected to a tty. */ ASSERT (errno == ENOTTY || errno == EINVAL /* seen on Linux/SPARC */ || errno == ENXIO ); #if !defined __hpux /* On HP-UX 11.11 it fails anyway. */ ASSERT (! isatty (0)); #endif fprintf (stderr, "Skipping test: stdin is not a tty.\n"); return 77; } /* Compare against the value from the environment. */ #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) /* Unix platform */ { const char *name = getenv ("LOGNAME"); if (name == NULL || name[0] == '\0') name = getenv ("USER"); if (name != NULL && name[0] != '\0') ASSERT (strcmp (buf, name) == 0); } #endif #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* Native Windows platform. Note: This test would fail on Cygwin in an ssh session, because sshd sets USERNAME=SYSTEM. */ { const char *name = getenv ("USERNAME"); if (name != NULL && name[0] != '\0') ASSERT (strcmp (buf, name) == 0); } #endif return 0; } coreutils-8.21/gnulib-tests/test-freadptr.sh0000775000000000000000000000023211624730151016106 00000000000000#!/bin/sh ./test-freadptr${EXEEXT} 5 < "$srcdir/test-freadptr.sh" || exit 1 cat "$srcdir/test-freadptr.sh" | ./test-freadptr${EXEEXT} 5 || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-faccessat.c0000664000000000000000000000234612100637437016053 00000000000000/* Test checking user's permissions for a file. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (faccessat, int, (int, const char *, int, int)); #include #include #include "macros.h" int main (void) { /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (faccessat (-1, "foo", F_OK, 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (faccessat (99, "foo", F_OK, 0) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/gnulib.mk0000664000000000000000000020357712104756504014621 00000000000000## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that # contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects SUBDIRS = . TESTS = XFAIL_TESTS = TESTS_ENVIRONMENT = noinst_PROGRAMS = check_PROGRAMS = noinst_HEADERS = noinst_LIBRARIES = check_LIBRARIES = libtests.a EXTRA_DIST = BUILT_SOURCES = SUFFIXES = MOSTLYCLEANFILES = core *.stackdump MOSTLYCLEANDIRS = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = AM_CPPFLAGS = \ -D@gltests_WITNESS@=1 \ -I. -I$(srcdir) \ -I.. -I$(srcdir)/.. \ -I../lib -I$(srcdir)/../lib LDADD = libtests.a ../lib/libcoreutils.a libtests.a $(LIBTESTS_LIBDEPS) libtests_a_SOURCES = libtests_a_LIBADD = $(gltests_LIBOBJS) libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) EXTRA_libtests_a_SOURCES = AM_LIBTOOLFLAGS = --preserve-dup-deps TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' ## begin gnulib module accept EXTRA_DIST += accept.c w32sock.h EXTRA_libtests_a_SOURCES += accept.c ## end gnulib module accept ## begin gnulib module accept-tests TESTS += test-accept check_PROGRAMS += test-accept test_accept_LDADD = $(LDADD) @LIBSOCKET@ EXTRA_DIST += test-accept.c signature.h macros.h ## end gnulib module accept-tests ## begin gnulib module acl-tests TESTS += \ test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh \ test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh \ test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh TESTS_ENVIRONMENT += USE_ACL=$(USE_ACL) check_PROGRAMS += test-file-has-acl test-set-mode-acl test-copy-acl test-sameacls test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL) test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ test_copy_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ test_sameacls_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ EXTRA_DIST += test-file-has-acl.sh test-file-has-acl-1.sh test-file-has-acl-2.sh test-set-mode-acl.sh test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh test-copy-acl-2.sh test-file-has-acl.c test-set-mode-acl.c test-copy-acl.c test-sameacls.c macros.h ## end gnulib module acl-tests ## begin gnulib module alignof-tests TESTS += test-alignof check_PROGRAMS += test-alignof EXTRA_DIST += test-alignof.c ## end gnulib module alignof-tests ## begin gnulib module alloca-opt-tests TESTS += test-alloca-opt check_PROGRAMS += test-alloca-opt EXTRA_DIST += test-alloca-opt.c ## end gnulib module alloca-opt-tests ## begin gnulib module areadlink-tests TESTS += test-areadlink check_PROGRAMS += test-areadlink EXTRA_DIST += test-areadlink.h test-areadlink.c macros.h ## end gnulib module areadlink-tests ## begin gnulib module areadlink-with-size-tests TESTS += test-areadlink-with-size check_PROGRAMS += test-areadlink-with-size EXTRA_DIST += test-areadlink.h test-areadlink-with-size.c macros.h ## end gnulib module areadlink-with-size-tests ## begin gnulib module areadlinkat-tests TESTS += test-areadlinkat check_PROGRAMS += test-areadlinkat test_areadlinkat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-areadlink.h test-areadlinkat.c macros.h ## end gnulib module areadlinkat-tests ## begin gnulib module argmatch-tests TESTS += test-argmatch check_PROGRAMS += test-argmatch test_argmatch_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-argmatch.c macros.h ## end gnulib module argmatch-tests ## begin gnulib module argv-iter-tests TESTS += test-argv-iter check_PROGRAMS += test-argv-iter EXTRA_DIST += test-argv-iter.c macros.h ## end gnulib module argv-iter-tests ## begin gnulib module arpa_inet-tests TESTS += test-arpa_inet check_PROGRAMS += test-arpa_inet EXTRA_DIST += test-arpa_inet.c ## end gnulib module arpa_inet-tests ## begin gnulib module base64-tests TESTS += test-base64 check_PROGRAMS += test-base64 EXTRA_DIST += test-base64.c macros.h ## end gnulib module base64-tests ## begin gnulib module binary-io-tests TESTS += test-binary-io.sh check_PROGRAMS += test-binary-io EXTRA_DIST += test-binary-io.sh test-binary-io.c macros.h ## end gnulib module binary-io-tests ## begin gnulib module bind EXTRA_DIST += bind.c w32sock.h EXTRA_libtests_a_SOURCES += bind.c ## end gnulib module bind ## begin gnulib module bind-tests TESTS += test-bind check_PROGRAMS += test-bind test_bind_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) EXTRA_DIST += test-bind.c signature.h macros.h ## end gnulib module bind-tests ## begin gnulib module bitrotate-tests TESTS += test-bitrotate check_PROGRAMS += test-bitrotate EXTRA_DIST += test-bitrotate.c macros.h ## end gnulib module bitrotate-tests ## begin gnulib module btowc-tests TESTS += test-btowc1.sh test-btowc2.sh TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' check_PROGRAMS += test-btowc EXTRA_DIST += test-btowc1.sh test-btowc2.sh test-btowc.c signature.h macros.h ## end gnulib module btowc-tests ## begin gnulib module c-ctype-tests TESTS += test-c-ctype check_PROGRAMS += test-c-ctype EXTRA_DIST += test-c-ctype.c macros.h ## end gnulib module c-ctype-tests ## begin gnulib module c-strcase-tests TESTS += test-c-strcase.sh TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c macros.h ## end gnulib module c-strcase-tests ## begin gnulib module calloc-gnu-tests TESTS += test-calloc-gnu check_PROGRAMS += test-calloc-gnu EXTRA_DIST += test-calloc-gnu.c ## end gnulib module calloc-gnu-tests ## begin gnulib module canonicalize-tests TESTS += test-canonicalize check_PROGRAMS += test-canonicalize test_canonicalize_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-canonicalize.c macros.h ## end gnulib module canonicalize-tests ## begin gnulib module chdir-tests TESTS += test-chdir check_PROGRAMS += test-chdir EXTRA_DIST += test-chdir.c signature.h macros.h ## end gnulib module chdir-tests ## begin gnulib module chown-tests TESTS += test-chown check_PROGRAMS += test-chown EXTRA_DIST += nap.h test-chown.h test-chown.c signature.h macros.h ## end gnulib module chown-tests ## begin gnulib module cloexec-tests TESTS += test-cloexec check_PROGRAMS += test-cloexec EXTRA_DIST += test-cloexec.c macros.h ## end gnulib module cloexec-tests ## begin gnulib module close-tests TESTS += test-close check_PROGRAMS += test-close EXTRA_DIST += test-close.c signature.h macros.h ## end gnulib module close-tests ## begin gnulib module closein-tests TESTS += test-closein.sh check_PROGRAMS += test-closein test_closein_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-closein.sh test-closein.c ## end gnulib module closein-tests ## begin gnulib module connect EXTRA_DIST += connect.c w32sock.h EXTRA_libtests_a_SOURCES += connect.c ## end gnulib module connect ## begin gnulib module connect-tests TESTS += test-connect check_PROGRAMS += test-connect test_connect_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) EXTRA_DIST += test-connect.c signature.h macros.h ## end gnulib module connect-tests ## begin gnulib module crypto/md5-tests TESTS += test-md5 check_PROGRAMS += test-md5 EXTRA_DIST += test-md5.c ## end gnulib module crypto/md5-tests ## begin gnulib module crypto/sha1-tests TESTS += test-sha1 check_PROGRAMS += test-sha1 EXTRA_DIST += test-sha1.c ## end gnulib module crypto/sha1-tests ## begin gnulib module ctype-tests TESTS += test-ctype check_PROGRAMS += test-ctype EXTRA_DIST += test-ctype.c ## end gnulib module ctype-tests ## begin gnulib module di-set-tests TESTS += test-di-set check_PROGRAMS += test-di-set EXTRA_DIST += test-di-set.c macros.h ## end gnulib module di-set-tests ## begin gnulib module dirent-safer-tests TESTS += test-dirent-safer check_PROGRAMS += test-dirent-safer # Link with libintl when needed. dirent-safer uses fdopendir if it is present, # and fdopendir indirectly depends on openat-die -> gettext-h. test_dirent_safer_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += test-dirent-safer.c macros.h ## end gnulib module dirent-safer-tests ## begin gnulib module dirent-tests TESTS += test-dirent check_PROGRAMS += test-dirent EXTRA_DIST += test-dirent.c ## end gnulib module dirent-tests ## begin gnulib module dirname-tests TESTS += test-dirname check_PROGRAMS += test-dirname test_dirname_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-dirname.c ## end gnulib module dirname-tests ## begin gnulib module dup-tests TESTS += test-dup check_PROGRAMS += test-dup EXTRA_DIST += test-dup.c signature.h macros.h ## end gnulib module dup-tests ## begin gnulib module dup2-tests TESTS += test-dup2 check_PROGRAMS += test-dup2 EXTRA_DIST += test-dup2.c signature.h macros.h ## end gnulib module dup2-tests ## begin gnulib module environ-tests TESTS += test-environ check_PROGRAMS += test-environ EXTRA_DIST += test-environ.c ## end gnulib module environ-tests ## begin gnulib module errno-tests TESTS += test-errno check_PROGRAMS += test-errno EXTRA_DIST += test-errno.c ## end gnulib module errno-tests ## begin gnulib module exclude-tests TESTS += \ test-exclude1.sh\ test-exclude2.sh\ test-exclude3.sh\ test-exclude4.sh\ test-exclude5.sh\ test-exclude6.sh\ test-exclude7.sh\ test-exclude8.sh check_PROGRAMS += test-exclude test_exclude_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-exclude.c test-exclude1.sh test-exclude2.sh test-exclude3.sh test-exclude4.sh test-exclude5.sh test-exclude6.sh test-exclude7.sh test-exclude8.sh ## end gnulib module exclude-tests ## begin gnulib module faccessat-tests TESTS += test-faccessat check_PROGRAMS += test-faccessat test_faccessat_LDADD = $(LDADD) $(LIB_EACCESS) @LIBINTL@ EXTRA_DIST += test-faccessat.c signature.h macros.h ## end gnulib module faccessat-tests ## begin gnulib module fadvise-tests TESTS += test-fadvise check_PROGRAMS += test-fadvise EXTRA_DIST += test-fadvise.c ## end gnulib module fadvise-tests ## begin gnulib module fchdir-tests TESTS += test-fchdir check_PROGRAMS += test-fchdir test_fchdir_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += test-fchdir.c signature.h macros.h ## end gnulib module fchdir-tests ## begin gnulib module fchmodat-tests TESTS += test-fchmodat check_PROGRAMS += test-fchmodat test_fchmodat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-fchmodat.c signature.h macros.h ## end gnulib module fchmodat-tests ## begin gnulib module fchownat-tests TESTS += test-fchownat check_PROGRAMS += test-fchownat test_fchownat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += nap.h test-chown.h test-lchown.h test-fchownat.c signature.h macros.h ## end gnulib module fchownat-tests ## begin gnulib module fclose-tests TESTS += test-fclose check_PROGRAMS += test-fclose EXTRA_DIST += test-fclose.c ## end gnulib module fclose-tests ## begin gnulib module fcntl-h-tests TESTS += test-fcntl-h check_PROGRAMS += test-fcntl-h EXTRA_DIST += test-fcntl-h.c ## end gnulib module fcntl-h-tests ## begin gnulib module fcntl-safer-tests TESTS += test-fcntl-safer check_PROGRAMS += test-fcntl-safer EXTRA_DIST += test-open.h test-fcntl-safer.c macros.h ## end gnulib module fcntl-safer-tests ## begin gnulib module fcntl-tests TESTS += test-fcntl check_PROGRAMS += test-fcntl EXTRA_DIST += test-fcntl.c signature.h macros.h ## end gnulib module fcntl-tests ## begin gnulib module fdatasync-tests TESTS += test-fdatasync check_PROGRAMS += test-fdatasync test_fdatasync_LDADD = $(LDADD) $(LIB_FDATASYNC) EXTRA_DIST += test-fdatasync.c signature.h macros.h ## end gnulib module fdatasync-tests ## begin gnulib module fdopen-tests TESTS += test-fdopen check_PROGRAMS += test-fdopen EXTRA_DIST += test-fdopen.c signature.h macros.h ## end gnulib module fdopen-tests ## begin gnulib module fdopendir-tests TESTS += test-fdopendir check_PROGRAMS += test-fdopendir test_fdopendir_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-fdopendir.c signature.h macros.h ## end gnulib module fdopendir-tests ## begin gnulib module fdutimensat-tests TESTS += test-fdutimensat check_PROGRAMS += test-fdutimensat test_fdutimensat_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-lutimens.h test-utimens.h test-utimens-common.h test-fdutimensat.c macros.h ## end gnulib module fdutimensat-tests ## begin gnulib module fflush-tests TESTS += test-fflush test-fflush2.sh check_PROGRAMS += test-fflush test-fflush2 MOSTLYCLEANFILES += test-fflush.txt EXTRA_DIST += test-fflush.c test-fflush2.sh test-fflush2.c signature.h macros.h ## end gnulib module fflush-tests ## begin gnulib module fgetc-tests TESTS += test-fgetc check_PROGRAMS += test-fgetc EXTRA_DIST += test-fgetc.c signature.h macros.h ## end gnulib module fgetc-tests ## begin gnulib module filenamecat-tests TESTS += test-filenamecat check_PROGRAMS += test-filenamecat test_filenamecat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-filenamecat.c ## end gnulib module filenamecat-tests ## begin gnulib module filevercmp-tests TESTS += test-filevercmp check_PROGRAMS += test-filevercmp EXTRA_DIST += test-filevercmp.c macros.h ## end gnulib module filevercmp-tests ## begin gnulib module float-tests TESTS += test-float check_PROGRAMS += test-float EXTRA_DIST += test-float.c macros.h ## end gnulib module float-tests ## begin gnulib module fnmatch-tests TESTS += test-fnmatch check_PROGRAMS += test-fnmatch EXTRA_DIST += test-fnmatch.c signature.h macros.h ## end gnulib module fnmatch-tests ## begin gnulib module fopen-safer-tests TESTS += test-fopen-safer check_PROGRAMS += test-fopen-safer EXTRA_DIST += test-fopen.h test-fopen-safer.c macros.h ## end gnulib module fopen-safer-tests ## begin gnulib module fopen-tests TESTS += test-fopen check_PROGRAMS += test-fopen EXTRA_DIST += test-fopen.h test-fopen.c signature.h macros.h ## end gnulib module fopen-tests ## begin gnulib module fpending-tests TESTS += test-fpending.sh check_PROGRAMS += test-fpending MOSTLYCLEANFILES += test-fpending.t EXTRA_DIST += test-fpending.c test-fpending.sh macros.h ## end gnulib module fpending-tests ## begin gnulib module fpurge-tests TESTS += test-fpurge check_PROGRAMS += test-fpurge MOSTLYCLEANFILES += t-fpurge.tmp EXTRA_DIST += test-fpurge.c macros.h ## end gnulib module fpurge-tests ## begin gnulib module fputc-tests TESTS += test-fputc check_PROGRAMS += test-fputc EXTRA_DIST += test-fputc.c signature.h macros.h ## end gnulib module fputc-tests ## begin gnulib module fread-tests TESTS += test-fread check_PROGRAMS += test-fread EXTRA_DIST += test-fread.c signature.h macros.h ## end gnulib module fread-tests ## begin gnulib module freadahead-tests TESTS += test-freadahead.sh check_PROGRAMS += test-freadahead EXTRA_DIST += test-freadahead.c test-freadahead.sh macros.h ## end gnulib module freadahead-tests ## begin gnulib module freading-tests TESTS += test-freading check_PROGRAMS += test-freading MOSTLYCLEANFILES += t-freading.tmp EXTRA_DIST += test-freading.c macros.h ## end gnulib module freading-tests ## begin gnulib module freadptr-tests TESTS += test-freadptr.sh test-freadptr2.sh check_PROGRAMS += test-freadptr test-freadptr2 EXTRA_DIST += test-freadptr.c test-freadptr.sh test-freadptr2.c test-freadptr2.sh macros.h ## end gnulib module freadptr-tests ## begin gnulib module freadseek-tests TESTS += test-freadseek.sh check_PROGRAMS += test-freadseek EXTRA_DIST += test-freadseek.c test-freadseek.sh macros.h ## end gnulib module freadseek-tests ## begin gnulib module freopen-safer-tests TESTS += test-freopen-safer check_PROGRAMS += test-freopen-safer EXTRA_DIST += test-freopen-safer.c macros.h ## end gnulib module freopen-safer-tests ## begin gnulib module freopen-tests TESTS += test-freopen check_PROGRAMS += test-freopen EXTRA_DIST += test-freopen.c signature.h macros.h ## end gnulib module freopen-tests ## begin gnulib module frexp-nolibm-tests TESTS += test-frexp-nolibm check_PROGRAMS += test-frexp-nolibm test_frexp_nolibm_SOURCES = test-frexp.c randomd.c EXTRA_DIST += test-frexp.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randomd.c ## end gnulib module frexp-nolibm-tests ## begin gnulib module frexpl-nolibm-tests TESTS += test-frexpl-nolibm check_PROGRAMS += test-frexpl-nolibm test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c EXTRA_DIST += test-frexpl.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randoml.c ## end gnulib module frexpl-nolibm-tests ## begin gnulib module fseek-tests TESTS += test-fseek.sh test-fseek2.sh check_PROGRAMS += test-fseek EXTRA_DIST += test-fseek.c test-fseek.sh test-fseek2.sh signature.h macros.h ## end gnulib module fseek-tests ## begin gnulib module fseeko-tests TESTS += test-fseeko.sh test-fseeko2.sh test-fseeko3.sh test-fseeko4.sh check_PROGRAMS += test-fseeko test-fseeko3 test-fseeko4 EXTRA_DIST += test-fseeko.c test-fseeko.sh test-fseeko2.sh test-fseeko3.c test-fseeko3.sh test-fseeko4.c test-fseeko4.sh signature.h macros.h ## end gnulib module fseeko-tests ## begin gnulib module fseterr-tests TESTS += test-fseterr check_PROGRAMS += test-fseterr EXTRA_DIST += test-fseterr.c ## end gnulib module fseterr-tests ## begin gnulib module fstat-tests TESTS += test-fstat check_PROGRAMS += test-fstat EXTRA_DIST += test-fstat.c signature.h macros.h ## end gnulib module fstat-tests ## begin gnulib module fstatat-tests TESTS += test-fstatat check_PROGRAMS += test-fstatat test_fstatat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-fstatat.c test-lstat.h test-stat.h signature.h macros.h ## end gnulib module fstatat-tests ## begin gnulib module fsync-tests TESTS += test-fsync check_PROGRAMS += test-fsync EXTRA_DIST += test-fsync.c signature.h macros.h ## end gnulib module fsync-tests ## begin gnulib module ftell-tests TESTS += test-ftell.sh test-ftell2.sh test-ftell3 check_PROGRAMS += test-ftell test-ftell3 MOSTLYCLEANFILES += t-ftell3.tmp EXTRA_DIST += test-ftell.c test-ftell.sh test-ftell2.sh test-ftell3.c signature.h macros.h ## end gnulib module ftell-tests ## begin gnulib module ftello-tests TESTS += test-ftello.sh test-ftello2.sh test-ftello3 test-ftello4.sh check_PROGRAMS += test-ftello test-ftello3 test-ftello4 MOSTLYCLEANFILES += t-ftello3.tmp EXTRA_DIST += test-ftello.c test-ftello.sh test-ftello2.sh test-ftello3.c test-ftello4.c test-ftello4.sh signature.h macros.h ## end gnulib module ftello-tests ## begin gnulib module ftruncate-tests TESTS += test-ftruncate.sh check_PROGRAMS += test-ftruncate EXTRA_DIST += test-ftruncate.c test-ftruncate.sh signature.h macros.h ## end gnulib module ftruncate-tests ## begin gnulib module futimens-tests TESTS += test-futimens check_PROGRAMS += test-futimens test_futimens_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-utimens-common.h test-futimens.c signature.h macros.h ## end gnulib module futimens-tests ## begin gnulib module fwrite-tests TESTS += test-fwrite check_PROGRAMS += test-fwrite EXTRA_DIST += test-fwrite.c signature.h macros.h ## end gnulib module fwrite-tests ## begin gnulib module getaddrinfo-tests TESTS += test-getaddrinfo check_PROGRAMS += test-getaddrinfo test_getaddrinfo_LDADD = $(LDADD) @GETADDRINFO_LIB@ @LIBINTL@ EXTRA_DIST += signature.h test-getaddrinfo.c ## end gnulib module getaddrinfo-tests ## begin gnulib module getcwd-lgpl-tests TESTS += test-getcwd-lgpl check_PROGRAMS += test-getcwd-lgpl test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += test-getcwd-lgpl.c signature.h macros.h ## end gnulib module getcwd-lgpl-tests ## begin gnulib module getcwd-tests TESTS += test-getcwd.sh check_PROGRAMS += test-getcwd test_getcwd_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-getcwd.c test-getcwd.sh ## end gnulib module getcwd-tests ## begin gnulib module getdelim-tests TESTS += test-getdelim check_PROGRAMS += test-getdelim MOSTLYCLEANFILES += test-getdelim.txt EXTRA_DIST += test-getdelim.c signature.h macros.h ## end gnulib module getdelim-tests ## begin gnulib module getdtablesize-tests TESTS += test-getdtablesize check_PROGRAMS += test-getdtablesize EXTRA_DIST += test-getdtablesize.c signature.h macros.h ## end gnulib module getdtablesize-tests ## begin gnulib module getgroups-tests TESTS += test-getgroups check_PROGRAMS += test-getgroups EXTRA_DIST += test-getgroups.c signature.h macros.h ## end gnulib module getgroups-tests ## begin gnulib module gethostname-tests TESTS += test-gethostname check_PROGRAMS += test-gethostname test_gethostname_LDADD = $(LDADD) @GETHOSTNAME_LIB@ EXTRA_DIST += signature.h test-gethostname.c ## end gnulib module gethostname-tests ## begin gnulib module getline-tests TESTS += test-getline check_PROGRAMS += test-getline MOSTLYCLEANFILES += test-getline.txt EXTRA_DIST += test-getline.c signature.h macros.h ## end gnulib module getline-tests ## begin gnulib module getloadavg-tests TESTS += test-getloadavg check_PROGRAMS += test-getloadavg test_getloadavg_LDADD = $(LDADD) @GETLOADAVG_LIBS@ EXTRA_DIST += test-getloadavg.c signature.h ## end gnulib module getloadavg-tests ## begin gnulib module getlogin-tests TESTS += test-getlogin check_PROGRAMS += test-getlogin EXTRA_DIST += test-getlogin.c signature.h macros.h ## end gnulib module getlogin-tests ## begin gnulib module getndelim2-tests TESTS += test-getndelim2 check_PROGRAMS += test-getndelim2 MOSTLYCLEANFILES += test-getndelim2.txt EXTRA_DIST += test-getndelim2.c macros.h ## end gnulib module getndelim2-tests ## begin gnulib module getopt-posix-tests TESTS += test-getopt check_PROGRAMS += test-getopt test_getopt_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += macros.h signature.h test-getopt.c test-getopt.h test-getopt_long.h ## end gnulib module getopt-posix-tests ## begin gnulib module gettext # This is for those projects which use "gettextize --intl" to put a source-code # copy of libintl into their package. In such projects, every Makefile.am needs # -I$(top_builddir)/intl, so that can be found in this directory. # For the Makefile.ams in other directories it is the maintainer's # responsibility; for the one from gnulib we do it here. # This option has no effect when the user disables NLS (because then the intl # directory contains no libintl.h file) or when the project does not use # "gettextize --intl". AM_CPPFLAGS += -I$(top_builddir)/intl EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module gettext ## begin gnulib module gettimeofday-tests TESTS += test-gettimeofday check_PROGRAMS += test-gettimeofday EXTRA_DIST += signature.h test-gettimeofday.c ## end gnulib module gettimeofday-tests ## begin gnulib module hash-tests TESTS += test-hash check_PROGRAMS += test-hash EXTRA_DIST += test-hash.c macros.h ## end gnulib module hash-tests ## begin gnulib module i-ring-tests TESTS += test-i-ring check_PROGRAMS += test-i-ring EXTRA_DIST += test-i-ring.c macros.h ## end gnulib module i-ring-tests ## begin gnulib module iconv-h-tests TESTS += test-iconv-h check_PROGRAMS += test-iconv-h EXTRA_DIST += test-iconv-h.c ## end gnulib module iconv-h-tests ## begin gnulib module iconv-tests TESTS += test-iconv check_PROGRAMS += test-iconv test_iconv_LDADD = $(LDADD) @LIBICONV@ EXTRA_DIST += test-iconv.c signature.h macros.h ## end gnulib module iconv-tests ## begin gnulib module ignore-value-tests TESTS += test-ignore-value check_PROGRAMS += test-ignore-value EXTRA_DIST += test-ignore-value.c ## end gnulib module ignore-value-tests ## begin gnulib module inet_ntop-tests TESTS += test-inet_ntop check_PROGRAMS += test-inet_ntop test_inet_ntop_LDADD = $(LDADD) @INET_NTOP_LIB@ EXTRA_DIST += test-inet_ntop.c signature.h macros.h ## end gnulib module inet_ntop-tests ## begin gnulib module inet_pton EXTRA_DIST += inet_pton.c EXTRA_libtests_a_SOURCES += inet_pton.c ## end gnulib module inet_pton ## begin gnulib module inet_pton-tests TESTS += test-inet_pton check_PROGRAMS += test-inet_pton test_inet_pton_LDADD = $(LDADD) @INET_PTON_LIB@ EXTRA_DIST += test-inet_pton.c signature.h macros.h ## end gnulib module inet_pton-tests ## begin gnulib module ino-map-tests TESTS += test-ino-map check_PROGRAMS += test-ino-map EXTRA_DIST += test-ino-map.c macros.h ## end gnulib module ino-map-tests ## begin gnulib module intprops-tests TESTS += test-intprops check_PROGRAMS += test-intprops EXTRA_DIST += test-intprops.c macros.h ## end gnulib module intprops-tests ## begin gnulib module inttostr-tests TESTS += test-inttostr check_PROGRAMS += test-inttostr EXTRA_DIST += macros.h test-inttostr.c ## end gnulib module inttostr-tests ## begin gnulib module inttypes-tests TESTS += test-inttypes check_PROGRAMS += test-inttypes EXTRA_DIST += test-inttypes.c ## end gnulib module inttypes-tests ## begin gnulib module ioctl EXTRA_DIST += ioctl.c w32sock.h EXTRA_libtests_a_SOURCES += ioctl.c ## end gnulib module ioctl ## begin gnulib module ioctl-tests TESTS += test-ioctl check_PROGRAMS += test-ioctl EXTRA_DIST += test-ioctl.c signature.h macros.h ## end gnulib module ioctl-tests ## begin gnulib module isatty-tests TESTS += test-isatty check_PROGRAMS += test-isatty EXTRA_DIST += test-isatty.c signature.h macros.h ## end gnulib module isatty-tests ## begin gnulib module isblank-tests TESTS += test-isblank check_PROGRAMS += test-isblank EXTRA_DIST += test-isblank.c signature.h macros.h ## end gnulib module isblank-tests ## begin gnulib module isnand-nolibm-tests TESTS += test-isnand-nolibm check_PROGRAMS += test-isnand-nolibm EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h nan.h macros.h ## end gnulib module isnand-nolibm-tests ## begin gnulib module isnanf-nolibm-tests TESTS += test-isnanf-nolibm check_PROGRAMS += test-isnanf-nolibm EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h macros.h ## end gnulib module isnanf-nolibm-tests ## begin gnulib module isnanl-nolibm-tests TESTS += test-isnanl-nolibm check_PROGRAMS += test-isnanl-nolibm EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h nan.h macros.h ## end gnulib module isnanl-nolibm-tests ## begin gnulib module iswblank-tests TESTS += test-iswblank check_PROGRAMS += test-iswblank EXTRA_DIST += test-iswblank.c macros.h ## end gnulib module iswblank-tests ## begin gnulib module langinfo-tests TESTS += test-langinfo check_PROGRAMS += test-langinfo EXTRA_DIST += test-langinfo.c ## end gnulib module langinfo-tests ## begin gnulib module lchown-tests TESTS += test-lchown check_PROGRAMS += test-lchown EXTRA_DIST += nap.h test-lchown.h test-lchown.c signature.h macros.h ## end gnulib module lchown-tests ## begin gnulib module link-tests TESTS += test-link check_PROGRAMS += test-link test_link_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-link.h test-link.c signature.h macros.h ## end gnulib module link-tests ## begin gnulib module linkat-tests TESTS += test-linkat check_PROGRAMS += test-linkat test_linkat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-link.h test-linkat.c signature.h macros.h ## end gnulib module linkat-tests ## begin gnulib module listen EXTRA_DIST += listen.c w32sock.h EXTRA_libtests_a_SOURCES += listen.c ## end gnulib module listen ## begin gnulib module listen-tests TESTS += test-listen check_PROGRAMS += test-listen test_listen_LDADD = $(LDADD) @LIBSOCKET@ EXTRA_DIST += test-listen.c signature.h macros.h ## end gnulib module listen-tests ## begin gnulib module locale-tests TESTS += test-locale check_PROGRAMS += test-locale EXTRA_DIST += test-locale.c ## end gnulib module locale-tests ## begin gnulib module localeconv-tests TESTS += test-localeconv check_PROGRAMS += test-localeconv EXTRA_DIST += test-localeconv.c signature.h macros.h ## end gnulib module localeconv-tests ## begin gnulib module localename libtests_a_SOURCES += localename.c EXTRA_DIST += localename.h ## end gnulib module localename ## begin gnulib module localename-tests TESTS += test-localename check_PROGRAMS += test-localename test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD) EXTRA_DIST += test-localename.c macros.h ## end gnulib module localename-tests ## begin gnulib module lock-tests TESTS += test-lock check_PROGRAMS += test-lock test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@ EXTRA_DIST += test-lock.c ## end gnulib module lock-tests ## begin gnulib module lseek-tests TESTS += test-lseek.sh check_PROGRAMS += test-lseek EXTRA_DIST += test-lseek.c test-lseek.sh signature.h macros.h ## end gnulib module lseek-tests ## begin gnulib module lstat-tests TESTS += test-lstat check_PROGRAMS += test-lstat EXTRA_DIST += test-lstat.h test-lstat.c signature.h macros.h ## end gnulib module lstat-tests ## begin gnulib module malloc-gnu-tests TESTS += test-malloc-gnu check_PROGRAMS += test-malloc-gnu EXTRA_DIST += test-malloc-gnu.c ## end gnulib module malloc-gnu-tests ## begin gnulib module malloca-tests TESTS += test-malloca check_PROGRAMS += test-malloca EXTRA_DIST += test-malloca.c ## end gnulib module malloca-tests ## begin gnulib module math-tests TESTS += test-math check_PROGRAMS += test-math EXTRA_DIST += test-math.c macros.h ## end gnulib module math-tests ## begin gnulib module mbrtowc-tests TESTS += \ test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \ test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \ test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh TESTS_ENVIRONMENT += \ LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' check_PROGRAMS += test-mbrtowc test-mbrtowc-w32 EXTRA_DIST += test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc.c test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbrtowc-w32.c signature.h macros.h ## end gnulib module mbrtowc-tests ## begin gnulib module mbsalign-tests TESTS += test-mbsalign check_PROGRAMS += test-mbsalign EXTRA_DIST += test-mbsalign.c macros.h ## end gnulib module mbsalign-tests ## begin gnulib module mbscasecmp-tests TESTS += test-mbscasecmp.sh TESTS_ENVIRONMENT += LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' check_PROGRAMS += test-mbscasecmp EXTRA_DIST += test-mbscasecmp.sh test-mbscasecmp.c macros.h ## end gnulib module mbscasecmp-tests ## begin gnulib module mbsinit-tests TESTS += test-mbsinit.sh TESTS_ENVIRONMENT += LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' check_PROGRAMS += test-mbsinit EXTRA_DIST += test-mbsinit.sh test-mbsinit.c signature.h macros.h ## end gnulib module mbsinit-tests ## begin gnulib module mbsrtowcs-tests TESTS += test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh test-mbsrtowcs4.sh TESTS_ENVIRONMENT += \ LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' check_PROGRAMS += test-mbsrtowcs EXTRA_DIST += test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh test-mbsrtowcs4.sh test-mbsrtowcs.c signature.h macros.h ## end gnulib module mbsrtowcs-tests ## begin gnulib module mbsstr-tests TESTS += test-mbsstr1 test-mbsstr2.sh test-mbsstr3.sh TESTS_ENVIRONMENT += LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' check_PROGRAMS += test-mbsstr1 test-mbsstr2 test-mbsstr3 EXTRA_DIST += test-mbsstr1.c test-mbsstr2.sh test-mbsstr2.c test-mbsstr3.sh test-mbsstr3.c macros.h ## end gnulib module mbsstr-tests ## begin gnulib module memcasecmp-tests TESTS += test-memcasecmp check_PROGRAMS += test-memcasecmp EXTRA_DIST += test-memcasecmp.c zerosize-ptr.h macros.h ## end gnulib module memcasecmp-tests ## begin gnulib module memchr-tests TESTS += test-memchr check_PROGRAMS += test-memchr EXTRA_DIST += test-memchr.c zerosize-ptr.h signature.h macros.h ## end gnulib module memchr-tests ## begin gnulib module memchr2-tests TESTS += test-memchr2 check_PROGRAMS += test-memchr2 EXTRA_DIST += test-memchr2.c zerosize-ptr.h macros.h ## end gnulib module memchr2-tests ## begin gnulib module memcoll-tests TESTS += test-memcoll check_PROGRAMS += test-memcoll EXTRA_DIST += test-memcoll.c macros.h ## end gnulib module memcoll-tests ## begin gnulib module memrchr-tests TESTS += test-memrchr check_PROGRAMS += test-memrchr EXTRA_DIST += test-memrchr.c zerosize-ptr.h signature.h macros.h ## end gnulib module memrchr-tests ## begin gnulib module mkdir-tests TESTS += test-mkdir check_PROGRAMS += test-mkdir EXTRA_DIST += test-mkdir.h test-mkdir.c signature.h macros.h ## end gnulib module mkdir-tests ## begin gnulib module mkfifo-tests TESTS += test-mkfifo check_PROGRAMS += test-mkfifo EXTRA_DIST += test-mkfifo.h test-mkfifo.c signature.h macros.h ## end gnulib module mkfifo-tests ## begin gnulib module mknod-tests TESTS += test-mknod check_PROGRAMS += test-mknod EXTRA_DIST += test-mkfifo.h test-mknod.c signature.h macros.h ## end gnulib module mknod-tests ## begin gnulib module nanosleep-tests TESTS += test-nanosleep check_PROGRAMS += test-nanosleep test_nanosleep_LDADD = $(LDADD) $(LIB_NANOSLEEP) EXTRA_DIST += test-nanosleep.c signature.h macros.h ## end gnulib module nanosleep-tests ## begin gnulib module netdb-tests TESTS += test-netdb check_PROGRAMS += test-netdb EXTRA_DIST += test-netdb.c ## end gnulib module netdb-tests ## begin gnulib module netinet_in-tests TESTS += test-netinet_in check_PROGRAMS += test-netinet_in EXTRA_DIST += test-netinet_in.c ## end gnulib module netinet_in-tests ## begin gnulib module nl_langinfo-tests TESTS += test-nl_langinfo.sh TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' check_PROGRAMS += test-nl_langinfo EXTRA_DIST += test-nl_langinfo.sh test-nl_langinfo.c signature.h macros.h ## end gnulib module nl_langinfo-tests ## begin gnulib module open-tests TESTS += test-open check_PROGRAMS += test-open EXTRA_DIST += test-open.h test-open.c signature.h macros.h ## end gnulib module open-tests ## begin gnulib module openat-safer-tests TESTS += test-openat-safer check_PROGRAMS += test-openat-safer test_openat_safer_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-openat-safer.c macros.h ## end gnulib module openat-safer-tests ## begin gnulib module openat-tests TESTS += test-openat check_PROGRAMS += test-openat test_openat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-openat.c test-open.h signature.h macros.h ## end gnulib module openat-tests ## begin gnulib module parse-datetime-tests TESTS += test-parse-datetime check_PROGRAMS += test-parse-datetime test_parse_datetime_LDADD = $(LDADD) @LIBINTL@ $(LIB_CLOCK_GETTIME) EXTRA_DIST += test-parse-datetime.c macros.h ## end gnulib module parse-datetime-tests ## begin gnulib module pathmax-tests TESTS += test-pathmax check_PROGRAMS += test-pathmax EXTRA_DIST += test-pathmax.c ## end gnulib module pathmax-tests ## begin gnulib module perror EXTRA_DIST += perror.c EXTRA_libtests_a_SOURCES += perror.c ## end gnulib module perror ## begin gnulib module perror-tests TESTS += test-perror.sh test-perror2 check_PROGRAMS += test-perror test-perror2 EXTRA_DIST += macros.h signature.h test-perror.c test-perror2.c test-perror.sh ## end gnulib module perror-tests ## begin gnulib module pipe-posix EXTRA_DIST += pipe.c EXTRA_libtests_a_SOURCES += pipe.c ## end gnulib module pipe-posix ## begin gnulib module pipe-posix-tests TESTS += test-pipe check_PROGRAMS += test-pipe EXTRA_DIST += test-pipe.c signature.h macros.h ## end gnulib module pipe-posix-tests ## begin gnulib module pipe2-tests TESTS += test-pipe2 check_PROGRAMS += test-pipe2 test_pipe2_LDADD = $(LDADD) $(LIBSOCKET) EXTRA_DIST += test-pipe2.c signature.h macros.h ## end gnulib module pipe2-tests ## begin gnulib module posix_spawn_file_actions_addclose-tests TESTS += test-posix_spawn_file_actions_addclose check_PROGRAMS += test-posix_spawn_file_actions_addclose EXTRA_DIST += test-posix_spawn_file_actions_addclose.c signature.h macros.h ## end gnulib module posix_spawn_file_actions_addclose-tests ## begin gnulib module posix_spawn_file_actions_adddup2-tests TESTS += test-posix_spawn_file_actions_adddup2 check_PROGRAMS += test-posix_spawn_file_actions_adddup2 EXTRA_DIST += test-posix_spawn_file_actions_adddup2.c signature.h macros.h ## end gnulib module posix_spawn_file_actions_adddup2-tests ## begin gnulib module posix_spawn_file_actions_addopen-tests TESTS += test-posix_spawn_file_actions_addopen check_PROGRAMS += test-posix_spawn_file_actions_addopen EXTRA_DIST += test-posix_spawn_file_actions_addopen.c signature.h macros.h ## end gnulib module posix_spawn_file_actions_addopen-tests ## begin gnulib module posix_spawnp-tests if POSIX_SPAWN_PORTED TESTS += test-posix_spawn1 test-posix_spawn2 check_PROGRAMS += test-posix_spawn1 test-posix_spawn2 BUILT_SOURCES += test-posix_spawn1.sh test-posix_spawn1.sh: test-posix_spawn1.in.sh $(AM_V_GEN)rm -f $@-t $@ && \ cp $(srcdir)/test-posix_spawn1.in.sh $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += test-posix_spawn1.sh test-posix_spawn1.sh-t BUILT_SOURCES += test-posix_spawn2.sh test-posix_spawn2.sh: test-posix_spawn2.in.sh $(AM_V_GEN)rm -f $@-t $@ && \ cp $(srcdir)/test-posix_spawn2.in.sh $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += test-posix_spawn2.sh test-posix_spawn2.sh-t endif EXTRA_DIST += test-posix_spawn1.c test-posix_spawn1.in.sh test-posix_spawn2.c test-posix_spawn2.in.sh signature.h ## end gnulib module posix_spawnp-tests ## begin gnulib module posixtm-tests TESTS += test-posixtm check_PROGRAMS += test-posixtm EXTRA_DIST += test-posixtm.c macros.h ## end gnulib module posixtm-tests ## begin gnulib module printf-frexp-tests TESTS += test-printf-frexp check_PROGRAMS += test-printf-frexp EXTRA_DIST += test-printf-frexp.c macros.h ## end gnulib module printf-frexp-tests ## begin gnulib module printf-frexpl-tests TESTS += test-printf-frexpl check_PROGRAMS += test-printf-frexpl EXTRA_DIST += test-printf-frexpl.c macros.h ## end gnulib module printf-frexpl-tests ## begin gnulib module priv-set-tests TESTS += test-priv-set check_PROGRAMS += test-priv-set EXTRA_DIST += test-priv-set.c macros.h ## end gnulib module priv-set-tests ## begin gnulib module quotearg-simple-tests TESTS += test-quotearg-simple check_PROGRAMS += test-quotearg-simple test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-quotearg-simple.c test-quotearg.h macros.h ## end gnulib module quotearg-simple-tests ## begin gnulib module raise-tests TESTS += test-raise check_PROGRAMS += test-raise EXTRA_DIST += test-raise.c signature.h macros.h ## end gnulib module raise-tests ## begin gnulib module randread-tests TESTS += test-rand-isaac check_PROGRAMS += test-rand-isaac EXTRA_DIST += test-rand-isaac.c macros.h ## end gnulib module randread-tests ## begin gnulib module rawmemchr-tests TESTS += test-rawmemchr check_PROGRAMS += test-rawmemchr EXTRA_DIST += test-rawmemchr.c zerosize-ptr.h signature.h macros.h ## end gnulib module rawmemchr-tests ## begin gnulib module read-file-tests TESTS += test-read-file check_PROGRAMS += test-read-file EXTRA_DIST += test-read-file.c ## end gnulib module read-file-tests ## begin gnulib module read-tests TESTS += test-read check_PROGRAMS += test-read EXTRA_DIST += test-read.c signature.h macros.h ## end gnulib module read-tests ## begin gnulib module readlink-tests TESTS += test-readlink check_PROGRAMS += test-readlink EXTRA_DIST += test-readlink.h test-readlink.c signature.h macros.h ## end gnulib module readlink-tests ## begin gnulib module readlinkat-tests TESTS += test-readlinkat check_PROGRAMS += test-readlinkat test_readlinkat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-readlink.h test-readlinkat.c signature.h macros.h ## end gnulib module readlinkat-tests ## begin gnulib module readtokens-tests TESTS += test-readtokens.sh check_PROGRAMS += test-readtokens test_readtokens_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += macros.h test-readtokens.c test-readtokens.sh ## end gnulib module readtokens-tests ## begin gnulib module realloc-gnu-tests TESTS += test-realloc-gnu check_PROGRAMS += test-realloc-gnu EXTRA_DIST += test-realloc-gnu.c ## end gnulib module realloc-gnu-tests ## begin gnulib module regex-tests TESTS += test-regex check_PROGRAMS += test-regex test_regex_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-regex.c macros.h ## end gnulib module regex-tests ## begin gnulib module remove-tests TESTS += test-remove check_PROGRAMS += test-remove EXTRA_DIST += test-remove.c signature.h macros.h ## end gnulib module remove-tests ## begin gnulib module rename-tests TESTS += test-rename check_PROGRAMS += test-rename test_rename_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-rename.h test-rename.c signature.h macros.h ## end gnulib module rename-tests ## begin gnulib module rmdir-tests TESTS += test-rmdir check_PROGRAMS += test-rmdir EXTRA_DIST += test-rmdir.h test-rmdir.c signature.h macros.h ## end gnulib module rmdir-tests ## begin gnulib module sched-tests TESTS += test-sched check_PROGRAMS += test-sched EXTRA_DIST += test-sched.c ## end gnulib module sched-tests ## begin gnulib module select-tests TESTS += test-select test-select-in.sh test-select-out.sh # test-select-stdin has to be run by hand. check_PROGRAMS += test-select test-select-fd test-select-stdin test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB) test_select_fd_LDADD = $(LDADD) @LIB_SELECT@ test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@ EXTRA_DIST += macros.h signature.h test-select.c test-select.h test-select-fd.c test-select-in.sh test-select-out.sh test-select-stdin.c ## end gnulib module select-tests ## begin gnulib module setenv-tests TESTS += test-setenv check_PROGRAMS += test-setenv EXTRA_DIST += test-setenv.c signature.h macros.h ## end gnulib module setenv-tests ## begin gnulib module setlocale EXTRA_DIST += setlocale.c EXTRA_libtests_a_SOURCES += setlocale.c ## end gnulib module setlocale ## begin gnulib module setlocale-tests TESTS += test-setlocale1.sh test-setlocale2.sh TESTS_ENVIRONMENT += \ LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' check_PROGRAMS += test-setlocale1 test-setlocale2 EXTRA_DIST += test-setlocale1.sh test-setlocale1.c test-setlocale2.sh test-setlocale2.c signature.h macros.h ## end gnulib module setlocale-tests ## begin gnulib module setsockopt EXTRA_DIST += setsockopt.c w32sock.h EXTRA_libtests_a_SOURCES += setsockopt.c ## end gnulib module setsockopt ## begin gnulib module setsockopt-tests TESTS += test-setsockopt check_PROGRAMS += test-setsockopt test_setsockopt_LDADD = $(LDADD) @LIBSOCKET@ EXTRA_DIST += test-setsockopt.c signature.h macros.h ## end gnulib module setsockopt-tests ## begin gnulib module sigaction-tests TESTS += test-sigaction check_PROGRAMS += test-sigaction EXTRA_DIST += test-sigaction.c signature.h macros.h ## end gnulib module sigaction-tests ## begin gnulib module signal-h-tests TESTS += test-signal-h check_PROGRAMS += test-signal-h EXTRA_DIST += test-signal-h.c ## end gnulib module signal-h-tests ## begin gnulib module signbit-tests TESTS += test-signbit check_PROGRAMS += test-signbit EXTRA_DIST += test-signbit.c minus-zero.h infinity.h macros.h ## end gnulib module signbit-tests ## begin gnulib module sigprocmask-tests TESTS += test-sigprocmask check_PROGRAMS += test-sigprocmask EXTRA_DIST += test-sigprocmask.c signature.h macros.h ## end gnulib module sigprocmask-tests ## begin gnulib module sleep EXTRA_DIST += sleep.c EXTRA_libtests_a_SOURCES += sleep.c ## end gnulib module sleep ## begin gnulib module sleep-tests TESTS += test-sleep check_PROGRAMS += test-sleep EXTRA_DIST += test-sleep.c signature.h macros.h ## end gnulib module sleep-tests ## begin gnulib module snippet/_Noreturn # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all Makefile.am that # need it. This is ensured by the applicability 'all' defined above. _NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h ## end gnulib module snippet/_Noreturn ## begin gnulib module snippet/arg-nonnull # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += arg-nonnull.h # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut # off. arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t ARG_NONNULL_H=arg-nonnull.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h ## end gnulib module snippet/arg-nonnull ## begin gnulib module snippet/c++defs # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += c++defs.h # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/snippet/c++defs.h, except that it has the copyright header cut off. c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/snippet/c++defs.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += c++defs.h c++defs.h-t CXXDEFS_H=c++defs.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h ## end gnulib module snippet/c++defs ## begin gnulib module snippet/unused-parameter # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += unused-parameter.h # The unused-parameter.h that gets inserted into generated .h files is the same # as build-aux/snippet/unused-parameter.h, except that it has the copyright # header cut off. unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t UNUSED_PARAMETER_H=unused-parameter.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h ## end gnulib module snippet/unused-parameter ## begin gnulib module snippet/warn-on-use BUILT_SOURCES += warn-on-use.h # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/snippet/warn-on-use.h, except that it has the copyright header cut # off. warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t WARN_ON_USE_H=warn-on-use.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h ## end gnulib module snippet/warn-on-use ## begin gnulib module snprintf-tests TESTS += test-snprintf check_PROGRAMS += test-snprintf EXTRA_DIST += test-snprintf.c signature.h macros.h ## end gnulib module snprintf-tests ## begin gnulib module socket EXTRA_DIST += socket.c w32sock.h EXTRA_libtests_a_SOURCES += socket.c ## end gnulib module socket ## begin gnulib module sockets-tests TESTS += test-sockets check_PROGRAMS += test-sockets test_sockets_LDADD = $(LDADD) @LIBSOCKET@ EXTRA_DIST += test-sockets.c ## end gnulib module sockets-tests ## begin gnulib module spawn-pipe-tests TESTS += test-spawn-pipe.sh check_PROGRAMS += test-spawn-pipe-main test-spawn-pipe-child test_spawn_pipe_main_LDADD = $(LDADD) @LIBINTL@ # The test-spawn-pipe-child program must be a real executable, not a libtool # wrapper script, and should link against as few libraries as possible. # Therefore don't link it against any libraries other than -lc. test_spawn_pipe_child_LDADD = EXTRA_DIST += test-spawn-pipe.sh test-spawn-pipe-main.c test-spawn-pipe-child.c macros.h ## end gnulib module spawn-pipe-tests ## begin gnulib module spawn-tests TESTS += test-spawn check_PROGRAMS += test-spawn EXTRA_DIST += test-spawn.c ## end gnulib module spawn-tests ## begin gnulib module stat-tests TESTS += test-stat check_PROGRAMS += test-stat test_stat_LDADD = $(LDADD) $(LIBINTL) EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h ## end gnulib module stat-tests ## begin gnulib module stat-time-tests TESTS += test-stat-time check_PROGRAMS += test-stat-time EXTRA_DIST += test-stat-time.c macros.h ## end gnulib module stat-time-tests ## begin gnulib module statat-tests TESTS += test-statat check_PROGRAMS += test-statat test_statat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-statat.c ## end gnulib module statat-tests ## begin gnulib module stdalign-tests TESTS += test-stdalign check_PROGRAMS += test-stdalign EXTRA_DIST += test-stdalign.c macros.h ## end gnulib module stdalign-tests ## begin gnulib module stdbool-tests TESTS += test-stdbool check_PROGRAMS += test-stdbool EXTRA_DIST += test-stdbool.c ## end gnulib module stdbool-tests ## begin gnulib module stddef-tests TESTS += test-stddef check_PROGRAMS += test-stddef EXTRA_DIST += test-stddef.c ## end gnulib module stddef-tests ## begin gnulib module stdint-tests TESTS += test-stdint check_PROGRAMS += test-stdint EXTRA_DIST += test-stdint.c ## end gnulib module stdint-tests ## begin gnulib module stdio-tests TESTS += test-stdio check_PROGRAMS += test-stdio EXTRA_DIST += test-stdio.c ## end gnulib module stdio-tests ## begin gnulib module stdlib-tests TESTS += test-stdlib check_PROGRAMS += test-stdlib EXTRA_DIST += test-stdlib.c test-sys_wait.h ## end gnulib module stdlib-tests ## begin gnulib module strchrnul-tests TESTS += test-strchrnul check_PROGRAMS += test-strchrnul EXTRA_DIST += test-strchrnul.c signature.h macros.h ## end gnulib module strchrnul-tests ## begin gnulib module strerror-tests TESTS += test-strerror check_PROGRAMS += test-strerror EXTRA_DIST += test-strerror.c signature.h macros.h ## end gnulib module strerror-tests ## begin gnulib module strerror_r-posix EXTRA_DIST += strerror_r.c EXTRA_libtests_a_SOURCES += strerror_r.c ## end gnulib module strerror_r-posix ## begin gnulib module strerror_r-posix-tests TESTS += test-strerror_r check_PROGRAMS += test-strerror_r EXTRA_DIST += test-strerror_r.c signature.h macros.h ## end gnulib module strerror_r-posix-tests ## begin gnulib module strftime-tests TESTS += test-strftime check_PROGRAMS += test-strftime EXTRA_DIST += test-strftime.c macros.h ## end gnulib module strftime-tests ## begin gnulib module striconv-tests TESTS += test-striconv check_PROGRAMS += test-striconv test_striconv_LDADD = $(LDADD) @LIBICONV@ EXTRA_DIST += test-striconv.c macros.h ## end gnulib module striconv-tests ## begin gnulib module string-tests TESTS += test-string check_PROGRAMS += test-string EXTRA_DIST += test-string.c ## end gnulib module string-tests ## begin gnulib module strncat-tests TESTS += test-strncat check_PROGRAMS += test-strncat EXTRA_DIST += test-strncat.c unistr/test-strncat.h zerosize-ptr.h signature.h macros.h ## end gnulib module strncat-tests ## begin gnulib module strnlen-tests TESTS += test-strnlen check_PROGRAMS += test-strnlen EXTRA_DIST += test-strnlen.c zerosize-ptr.h signature.h macros.h ## end gnulib module strnlen-tests ## begin gnulib module strsignal-tests TESTS += test-strsignal check_PROGRAMS += test-strsignal test_strsignal_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD) EXTRA_DIST += test-strsignal.c signature.h macros.h ## end gnulib module strsignal-tests ## begin gnulib module strtod-tests TESTS += test-strtod check_PROGRAMS += test-strtod EXTRA_DIST += test-strtod.c signature.h minus-zero.h macros.h ## end gnulib module strtod-tests ## begin gnulib module strtoimax-tests TESTS += test-strtoimax check_PROGRAMS += test-strtoimax EXTRA_DIST += test-strtoimax.c signature.h macros.h ## end gnulib module strtoimax-tests ## begin gnulib module strtoll-tests TESTS += test-strtoll check_PROGRAMS += test-strtoll EXTRA_DIST += test-strtoll.c signature.h macros.h ## end gnulib module strtoll-tests ## begin gnulib module strtoull-tests TESTS += test-strtoull check_PROGRAMS += test-strtoull EXTRA_DIST += test-strtoull.c signature.h macros.h ## end gnulib module strtoull-tests ## begin gnulib module strtoumax-tests TESTS += test-strtoumax check_PROGRAMS += test-strtoumax EXTRA_DIST += test-strtoumax.c signature.h macros.h ## end gnulib module strtoumax-tests ## begin gnulib module symlink-tests TESTS += test-symlink check_PROGRAMS += test-symlink EXTRA_DIST += test-symlink.h test-symlink.c signature.h macros.h ## end gnulib module symlink-tests ## begin gnulib module symlinkat EXTRA_DIST += at-func.c symlinkat.c EXTRA_libtests_a_SOURCES += at-func.c symlinkat.c ## end gnulib module symlinkat ## begin gnulib module symlinkat-tests TESTS += test-symlinkat check_PROGRAMS += test-symlinkat test_symlinkat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-symlink.h test-symlinkat.c signature.h macros.h ## end gnulib module symlinkat-tests ## begin gnulib module sys_ioctl-tests TESTS += test-sys_ioctl check_PROGRAMS += test-sys_ioctl EXTRA_DIST += test-sys_ioctl.c ## end gnulib module sys_ioctl-tests ## begin gnulib module sys_resource-tests TESTS += test-sys_resource check_PROGRAMS += test-sys_resource EXTRA_DIST += test-sys_resource.c ## end gnulib module sys_resource-tests ## begin gnulib module sys_select-tests TESTS += test-sys_select check_PROGRAMS += test-sys_select EXTRA_DIST += test-sys_select.c signature.h ## end gnulib module sys_select-tests ## begin gnulib module sys_socket-tests TESTS += test-sys_socket check_PROGRAMS += test-sys_socket EXTRA_DIST += test-sys_socket.c ## end gnulib module sys_socket-tests ## begin gnulib module sys_stat-tests TESTS += test-sys_stat check_PROGRAMS += test-sys_stat EXTRA_DIST += test-sys_stat.c ## end gnulib module sys_stat-tests ## begin gnulib module sys_time-tests TESTS += test-sys_time check_PROGRAMS += test-sys_time EXTRA_DIST += test-sys_time.c ## end gnulib module sys_time-tests ## begin gnulib module sys_types-tests TESTS += test-sys_types check_PROGRAMS += test-sys_types EXTRA_DIST += test-sys_types.c ## end gnulib module sys_types-tests ## begin gnulib module sys_uio-tests TESTS += test-sys_uio check_PROGRAMS += test-sys_uio EXTRA_DIST += test-sys_uio.c ## end gnulib module sys_uio-tests ## begin gnulib module sys_utsname-tests TESTS += test-sys_utsname check_PROGRAMS += test-sys_utsname EXTRA_DIST += test-sys_utsname.c ## end gnulib module sys_utsname-tests ## begin gnulib module sys_wait-tests TESTS += test-sys_wait check_PROGRAMS += test-sys_wait EXTRA_DIST += test-sys_wait.c test-sys_wait.h ## end gnulib module sys_wait-tests ## begin gnulib module termios-tests TESTS += test-termios check_PROGRAMS += test-termios EXTRA_DIST += test-termios.c ## end gnulib module termios-tests ## begin gnulib module test-framework-sh-tests TESTS += test-init.sh EXTRA_DIST += init.sh EXTRA_DIST += test-init.sh ## end gnulib module test-framework-sh-tests ## begin gnulib module thread libtests_a_SOURCES += glthread/thread.h glthread/thread.c ## end gnulib module thread ## begin gnulib module thread-tests TESTS += test-thread_self test-thread_create check_PROGRAMS += test-thread_self test-thread_create test_thread_self_LDADD = $(LDADD) @LIBTHREAD@ test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@ EXTRA_DIST += test-thread_self.c test-thread_create.c macros.h ## end gnulib module thread-tests ## begin gnulib module time-tests TESTS += test-time check_PROGRAMS += test-time EXTRA_DIST += test-time.c ## end gnulib module time-tests ## begin gnulib module tls-tests TESTS += test-tls check_PROGRAMS += test-tls test_tls_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@ EXTRA_DIST += test-tls.c ## end gnulib module tls-tests ## begin gnulib module u64-tests TESTS += test-u64 check_PROGRAMS += test-u64 EXTRA_DIST += test-u64.c ## end gnulib module u64-tests ## begin gnulib module uname-tests TESTS += test-uname check_PROGRAMS += test-uname test_uname_LDADD = $(LDADD) @GETHOSTNAME_LIB@ EXTRA_DIST += test-uname.c signature.h macros.h ## end gnulib module uname-tests ## begin gnulib module unistd-safer-tests TESTS += test-dup-safer check_PROGRAMS += test-dup-safer EXTRA_DIST += test-dup-safer.c macros.h ## end gnulib module unistd-safer-tests ## begin gnulib module unistd-tests TESTS += test-unistd check_PROGRAMS += test-unistd EXTRA_DIST += test-unistd.c ## end gnulib module unistd-tests ## begin gnulib module unistr/u8-mbtoucr-tests TESTS += test-u8-mbtoucr check_PROGRAMS += test-u8-mbtoucr test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING) EXTRA_DIST += unistr/test-u8-mbtoucr.c macros.h ## end gnulib module unistr/u8-mbtoucr-tests ## begin gnulib module unistr/u8-uctomb-tests TESTS += test-u8-uctomb check_PROGRAMS += test-u8-uctomb test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING) EXTRA_DIST += unistr/test-u8-uctomb.c macros.h ## end gnulib module unistr/u8-uctomb-tests ## begin gnulib module uniwidth/width-tests TESTS += test-uc_width uniwidth/test-uc_width2.sh check_PROGRAMS += test-uc_width test-uc_width2 test_uc_width_SOURCES = uniwidth/test-uc_width.c test_uc_width_LDADD = $(LDADD) $(LIBUNISTRING) test_uc_width2_SOURCES = uniwidth/test-uc_width2.c test_uc_width2_LDADD = $(LDADD) $(LIBUNISTRING) EXTRA_DIST += uniwidth/test-uc_width.c uniwidth/test-uc_width2.c uniwidth/test-uc_width2.sh macros.h ## end gnulib module uniwidth/width-tests ## begin gnulib module unlink-tests TESTS += test-unlink check_PROGRAMS += test-unlink EXTRA_DIST += test-unlink.h test-unlink.c signature.h macros.h ## end gnulib module unlink-tests ## begin gnulib module unlinkat-tests TESTS += test-unlinkat check_PROGRAMS += test-unlinkat test_unlinkat_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-unlinkat.c test-rmdir.h test-unlink.h signature.h macros.h ## end gnulib module unlinkat-tests ## begin gnulib module unlinkdir libtests_a_SOURCES += unlinkdir.c EXTRA_DIST += unlinkdir.h ## end gnulib module unlinkdir ## begin gnulib module unsetenv-tests TESTS += test-unsetenv check_PROGRAMS += test-unsetenv EXTRA_DIST += test-unsetenv.c signature.h macros.h ## end gnulib module unsetenv-tests ## begin gnulib module update-copyright-tests TESTS += test-update-copyright.sh TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' EXTRA_DIST += test-update-copyright.sh ## end gnulib module update-copyright-tests ## begin gnulib module userspec-tests TESTS += test-userspec check_PROGRAMS += test-userspec test_userspec_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-userspec.c ## end gnulib module userspec-tests ## begin gnulib module usleep EXTRA_DIST += usleep.c EXTRA_libtests_a_SOURCES += usleep.c ## end gnulib module usleep ## begin gnulib module usleep-tests TESTS += test-usleep check_PROGRAMS += test-usleep EXTRA_DIST += test-usleep.c signature.h macros.h ## end gnulib module usleep-tests ## begin gnulib module utimens-tests TESTS += test-utimens check_PROGRAMS += test-utimens test_utimens_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ EXTRA_DIST += nap.h test-futimens.h test-lutimens.h test-utimens.h test-utimens-common.h test-utimens.c macros.h ## end gnulib module utimens-tests ## begin gnulib module utimensat-tests TESTS += test-utimensat check_PROGRAMS += test-utimensat test_utimensat_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ EXTRA_DIST += nap.h test-lutimens.h test-utimens.h test-utimens-common.h test-utimensat.c signature.h macros.h ## end gnulib module utimensat-tests ## begin gnulib module vasnprintf-tests TESTS += test-vasnprintf check_PROGRAMS += test-vasnprintf EXTRA_DIST += test-vasnprintf.c macros.h ## end gnulib module vasnprintf-tests ## begin gnulib module vasprintf-posix-tests TESTS += test-vasprintf-posix check_PROGRAMS += test-vasprintf-posix EXTRA_DIST += test-vasprintf-posix.c minus-zero.h infinity.h nan.h macros.h ## end gnulib module vasprintf-posix-tests ## begin gnulib module vasprintf-tests TESTS += test-vasprintf check_PROGRAMS += test-vasprintf EXTRA_DIST += test-vasprintf.c signature.h macros.h ## end gnulib module vasprintf-tests ## begin gnulib module vc-list-files-tests TESTS += test-vc-list-files-git.sh TESTS += test-vc-list-files-cvs.sh TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh ## end gnulib module vc-list-files-tests ## begin gnulib module verify-tests TESTS_ENVIRONMENT += MAKE='$(MAKE)' TESTS += test-verify test-verify.sh check_PROGRAMS += test-verify EXTRA_DIST += test-verify.c test-verify.sh ## end gnulib module verify-tests ## begin gnulib module version-etc-tests TESTS += test-version-etc.sh check_PROGRAMS += test-version-etc test_version_etc_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-version-etc.c test-version-etc.sh ## end gnulib module version-etc-tests ## begin gnulib module vfprintf-posix-tests TESTS += test-vfprintf-posix.sh check_PROGRAMS += test-vfprintf-posix EXTRA_DIST += test-vfprintf-posix.sh test-vfprintf-posix.c test-fprintf-posix.h test-printf-posix.output infinity.h signature.h macros.h ## end gnulib module vfprintf-posix-tests ## begin gnulib module vprintf-posix-tests TESTS += test-vprintf-posix.sh check_PROGRAMS += test-vprintf-posix EXTRA_DIST += test-vprintf-posix.sh test-vprintf-posix.c test-printf-posix.h test-printf-posix.output infinity.h signature.h macros.h ## end gnulib module vprintf-posix-tests ## begin gnulib module wchar-tests TESTS += test-wchar check_PROGRAMS += test-wchar EXTRA_DIST += test-wchar.c ## end gnulib module wchar-tests ## begin gnulib module wcrtomb-tests TESTS += \ test-wcrtomb.sh \ test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \ test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh TESTS_ENVIRONMENT += \ LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' check_PROGRAMS += test-wcrtomb test-wcrtomb-w32 EXTRA_DIST += test-wcrtomb.sh test-wcrtomb.c test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh test-wcrtomb-w32.c signature.h macros.h ## end gnulib module wcrtomb-tests ## begin gnulib module wctob EXTRA_DIST += wctob.c EXTRA_libtests_a_SOURCES += wctob.c ## end gnulib module wctob ## begin gnulib module wctomb EXTRA_DIST += wctomb-impl.h wctomb.c EXTRA_libtests_a_SOURCES += wctomb.c ## end gnulib module wctomb ## begin gnulib module wctype-h-tests TESTS += test-wctype-h check_PROGRAMS += test-wctype-h EXTRA_DIST += test-wctype-h.c macros.h ## end gnulib module wctype-h-tests ## begin gnulib module wcwidth-tests TESTS += test-wcwidth check_PROGRAMS += test-wcwidth EXTRA_DIST += test-wcwidth.c signature.h macros.h ## end gnulib module wcwidth-tests ## begin gnulib module write-tests TESTS += test-write check_PROGRAMS += test-write EXTRA_DIST += test-write.c signature.h macros.h ## end gnulib module write-tests ## begin gnulib module xalloc-die-tests TESTS += test-xalloc-die.sh check_PROGRAMS += test-xalloc-die test_xalloc_die_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xalloc-die.c test-xalloc-die.sh ## end gnulib module xalloc-die-tests ## begin gnulib module xprintf-posix-tests TESTS += test-xprintf-posix.sh check_PROGRAMS += test-xfprintf-posix test-xprintf-posix test_xfprintf_posix_LDADD = $(LDADD) @LIBINTL@ test_xprintf_posix_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xprintf-posix.sh test-xfprintf-posix.c test-xprintf-posix.c test-fprintf-posix.h test-printf-posix.h test-printf-posix.output infinity.h macros.h ## end gnulib module xprintf-posix-tests ## begin gnulib module xstrtoimax-tests TESTS += test-xstrtoimax.sh check_PROGRAMS += test-xstrtoimax test_xstrtoimax_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xstrtoimax.c test-xstrtoimax.sh ## end gnulib module xstrtoimax-tests ## begin gnulib module xstrtol-tests TESTS += test-xstrtol.sh check_PROGRAMS += test-xstrtol test-xstrtoul test_xstrtol_LDADD = $(LDADD) @LIBINTL@ test_xstrtoul_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xstrtol.c test-xstrtoul.c test-xstrtol.sh ## end gnulib module xstrtol-tests ## begin gnulib module xstrtoumax-tests TESTS += test-xstrtoumax.sh check_PROGRAMS += test-xstrtoumax test_xstrtoumax_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xstrtoumax.c test-xstrtoumax.sh ## end gnulib module xstrtoumax-tests ## begin gnulib module xvasprintf-tests TESTS += test-xvasprintf check_PROGRAMS += test-xvasprintf test_xvasprintf_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-xvasprintf.c macros.h ## end gnulib module xvasprintf-tests ## begin gnulib module yesno-tests TESTS += test-yesno.sh check_PROGRAMS += test-yesno test_yesno_LDADD = $(LDADD) @LIBINTL@ EXTRA_DIST += test-yesno.c test-yesno.sh ## end gnulib module yesno-tests ## begin gnulib module yield libtests_a_SOURCES += glthread/yield.h ## end gnulib module yield # Clean up after Solaris cc. clean-local: rm -rf SunWS_cache mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : coreutils-8.21/gnulib-tests/test-signal-h.c0000664000000000000000000000475212071024546015622 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include /* Check for required types. */ struct { size_t a; uid_t b; volatile sig_atomic_t c; sigset_t d; pid_t e; #if 0 /* Not guaranteed by gnulib. */ pthread_t f; struct timespec g; #endif } s; /* Check that NSIG is defined. */ int nsig = NSIG; int main (void) { switch (0) { /* The following are guaranteed by C. */ case 0: case SIGABRT: case SIGFPE: case SIGILL: case SIGINT: case SIGSEGV: case SIGTERM: /* The following is guaranteed by gnulib. */ #if GNULIB_SIGPIPE || defined SIGPIPE case SIGPIPE: #endif /* Ensure no conflict with other standardized names. */ #ifdef SIGALRM case SIGALRM: #endif /* On Haiku, SIGBUS is mistakenly equal to SIGSEGV. */ #if defined SIGBUS && SIGBUS != SIGSEGV case SIGBUS: #endif #ifdef SIGCHLD case SIGCHLD: #endif #ifdef SIGCONT case SIGCONT: #endif #ifdef SIGHUP case SIGHUP: #endif #ifdef SIGKILL case SIGKILL: #endif #ifdef SIGQUIT case SIGQUIT: #endif #ifdef SIGSTOP case SIGSTOP: #endif #ifdef SIGTSTP case SIGTSTP: #endif #ifdef SIGTTIN case SIGTTIN: #endif #ifdef SIGTTOU case SIGTTOU: #endif #ifdef SIGUSR1 case SIGUSR1: #endif #ifdef SIGUSR2 case SIGUSR2: #endif #ifdef SIGSYS case SIGSYS: #endif #ifdef SIGTRAP case SIGTRAP: #endif #ifdef SIGURG case SIGURG: #endif #ifdef SIGVTALRM case SIGVTALRM: #endif #ifdef SIGXCPU case SIGXCPU: #endif #ifdef SIGXFSZ case SIGXFSZ: #endif /* SIGRTMIN and SIGRTMAX need not be compile-time constants. */ #if 0 # ifdef SIGRTMIN case SIGRTMIN: # endif # ifdef SIGRTMAX case SIGRTMAX: # endif #endif ; } return s.a + s.b + s.c + s.e; } coreutils-8.21/gnulib-tests/test-fseeko3.sh0000775000000000000000000000022011624730151015633 00000000000000#!/bin/sh ./test-fseeko3${EXEEXT} 0 "$srcdir/test-fseeko3.sh" || exit 1 ./test-fseeko3${EXEEXT} 1 "$srcdir/test-fseeko3.sh" || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-wchar.c0000664000000000000000000000213512071024546015215 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that the types wchar_t and wint_t are defined. */ wchar_t a = 'c'; wint_t b = 'x'; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-vasprintf-posix.c0000664000000000000000000035656112071024546017304 00000000000000/* Test of POSIX compatible vasprintf() and asprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include #include #include #include #include #include "macros.h" #include "minus-zero.h" #include "infinity.h" #include "nan.h" /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */ static int have_minus_zero () { static double plus_zero = 0.0; double minus_zero = minus_zerod; return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; } /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ #ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } #else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } #endif static int strmatch (const char *pattern, const char *string) { if (strlen (pattern) != strlen (string)) return 0; for (; *pattern != '\0'; pattern++, string++) if (*pattern != '*' && *string != *pattern) return 0; return 1; } /* Test whether string[start_index..end_index-1] is a valid textual representation of NaN. */ static int strisnan (const char *string, size_t start_index, size_t end_index, int uppercase) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, uppercase ? "NAN" : "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static void test_function (int (*my_asprintf) (char **, const char *, ...)) { int repeat; /* Test return value convention. */ for (repeat = 0; repeat <= 8; repeat++) { char *result; int retval = asprintf (&result, "%d", 12345); ASSERT (retval == 5); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); free (result); } /* Test support of size specifiers as in C99. */ { char *result; int retval = my_asprintf (&result, "%ju %d", (uintmax_t) 12345671, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12345671 33") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%zu %d", (size_t) 12345672, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12345672 33") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12345673 33") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%Lg %d", (long double) 1.5, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.5 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal output of floating-point numbers. */ { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%a %d", 3.1416015625, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.922p+1 33") == 0 || strcmp (result, "0x3.244p+0 33") == 0 || strcmp (result, "0x6.488p-1 33") == 0 || strcmp (result, "0xc.91p-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%A %d", -3.1416015625, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0X1.922P+1 33") == 0 || strcmp (result, "-0X3.244P+0 33") == 0 || strcmp (result, "-0X6.488P-1 33") == 0 || strcmp (result, "-0XC.91P-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%a %d", 0.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x0p+0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%a %d", minus_zerod, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0x0p+0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%a %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%a %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding near the decimal point. */ char *result; int retval = my_asprintf (&result, "%.0a %d", 1.5, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x2p+0 33") == 0 || strcmp (result, "0x3p-1 33") == 0 || strcmp (result, "0x6p-2 33") == 0 || strcmp (result, "0xcp-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 0. */ char *result; int retval = my_asprintf (&result, "%.0a %d", 1.51, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x2p+0 33") == 0 || strcmp (result, "0x3p-1 33") == 0 || strcmp (result, "0x6p-2 33") == 0 || strcmp (result, "0xcp-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 1. */ char *result; int retval = my_asprintf (&result, "%.1a %d", 1.51, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.8p+0 33") == 0 || strcmp (result, "0x3.0p-1 33") == 0 || strcmp (result, "0x6.1p-2 33") == 0 || strcmp (result, "0xc.1p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 2. */ char *result; int retval = my_asprintf (&result, "%.2a %d", 1.51, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.83p+0 33") == 0 || strcmp (result, "0x3.05p-1 33") == 0 || strcmp (result, "0x6.0ap-2 33") == 0 || strcmp (result, "0xc.14p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 3. */ char *result; int retval = my_asprintf (&result, "%.3a %d", 1.51, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.829p+0 33") == 0 || strcmp (result, "0x3.052p-1 33") == 0 || strcmp (result, "0x6.0a4p-2 33") == 0 || strcmp (result, "0xc.148p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding can turn a ...FFF into a ...000. */ char *result; int retval = my_asprintf (&result, "%.3a %d", 1.49999, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.800p+0 33") == 0 || strcmp (result, "0x3.000p-1 33") == 0 || strcmp (result, "0x6.000p-2 33") == 0 || strcmp (result, "0xc.000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding can turn a ...FFF into a ...000. This shows a Mac OS X 10.3.9 (Darwin 7.9) bug. */ char *result; int retval = my_asprintf (&result, "%.1a %d", 1.999, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.0p+1 33") == 0 || strcmp (result, "0x2.0p+0 33") == 0 || strcmp (result, "0x4.0p-1 33") == 0 || strcmp (result, "0x8.0p-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Width. */ char *result; int retval = my_asprintf (&result, "%10a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 || strcmp (result, " 0x3.8p-1 33") == 0 || strcmp (result, " 0x7p-2 33") == 0 || strcmp (result, " 0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small precision. */ char *result; int retval = my_asprintf (&result, "%.10a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.c000000000p+0 33") == 0 || strcmp (result, "0x3.8000000000p-1 33") == 0 || strcmp (result, "0x7.0000000000p-2 33") == 0 || strcmp (result, "0xe.0000000000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Large precision. */ char *result; int retval = my_asprintf (&result, "%.50a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.c0000000000000000000000000000000000000000000000000p+0 33") == 0 || strcmp (result, "0x3.80000000000000000000000000000000000000000000000000p-1 33") == 0 || strcmp (result, "0x7.00000000000000000000000000000000000000000000000000p-2 33") == 0 || strcmp (result, "0xe.00000000000000000000000000000000000000000000000000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.cp+0 33") == 0 || strcmp (result, "0x3.8p-1 33") == 0 || strcmp (result, "0x7p-2 33") == 0 || strcmp (result, "0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+0x1.cp+0 33") == 0 || strcmp (result, "+0x3.8p-1 33") == 0 || strcmp (result, "+0x7p-2 33") == 0 || strcmp (result, "+0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 || strcmp (result, " 0x3.8p-1 33") == 0 || strcmp (result, " 0x7p-2 33") == 0 || strcmp (result, " 0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.cp+0 33") == 0 || strcmp (result, "0x3.8p-1 33") == 0 || strcmp (result, "0x7.p-2 33") == 0 || strcmp (result, "0xe.p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#a %d", 1.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.p+0 33") == 0 || strcmp (result, "0x2.p-1 33") == 0 || strcmp (result, "0x4.p-2 33") == 0 || strcmp (result, "0x8.p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%010a %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x001.cp+0 33") == 0 || strcmp (result, "0x003.8p-1 33") == 0 || strcmp (result, "0x00007p-2 33") == 0 || strcmp (result, "0x0000ep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%010a %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050a %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%La %d", 3.1416015625L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.922p+1 33") == 0 || strcmp (result, "0x3.244p+0 33") == 0 || strcmp (result, "0x6.488p-1 33") == 0 || strcmp (result, "0xc.91p-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%LA %d", -3.1416015625L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0X1.922P+1 33") == 0 || strcmp (result, "-0X3.244P+0 33") == 0 || strcmp (result, "-0X6.488P-1 33") == 0 || strcmp (result, "-0XC.91P-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%La %d", 0.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x0p+0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%La %d", minus_zerol, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0x0p+0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%La %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%La %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%La %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #endif { /* Rounding near the decimal point. */ char *result; int retval = my_asprintf (&result, "%.0La %d", 1.5L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x2p+0 33") == 0 || strcmp (result, "0x3p-1 33") == 0 || strcmp (result, "0x6p-2 33") == 0 || strcmp (result, "0xcp-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 0. */ char *result; int retval = my_asprintf (&result, "%.0La %d", 1.51L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x2p+0 33") == 0 || strcmp (result, "0x3p-1 33") == 0 || strcmp (result, "0x6p-2 33") == 0 || strcmp (result, "0xcp-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 1. */ char *result; int retval = my_asprintf (&result, "%.1La %d", 1.51L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.8p+0 33") == 0 || strcmp (result, "0x3.0p-1 33") == 0 || strcmp (result, "0x6.1p-2 33") == 0 || strcmp (result, "0xc.1p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 2. */ char *result; int retval = my_asprintf (&result, "%.2La %d", 1.51L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.83p+0 33") == 0 || strcmp (result, "0x3.05p-1 33") == 0 || strcmp (result, "0x6.0ap-2 33") == 0 || strcmp (result, "0xc.14p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding with precision 3. */ char *result; int retval = my_asprintf (&result, "%.3La %d", 1.51L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.829p+0 33") == 0 || strcmp (result, "0x3.052p-1 33") == 0 || strcmp (result, "0x6.0a4p-2 33") == 0 || strcmp (result, "0xc.148p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding can turn a ...FFF into a ...000. */ char *result; int retval = my_asprintf (&result, "%.3La %d", 1.49999L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.800p+0 33") == 0 || strcmp (result, "0x3.000p-1 33") == 0 || strcmp (result, "0x6.000p-2 33") == 0 || strcmp (result, "0xc.000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Rounding can turn a ...FFF into a ...000. This shows a Mac OS X 10.3.9 (Darwin 7.9) bug and a glibc 2.4 bug . */ char *result; int retval = my_asprintf (&result, "%.1La %d", 1.999L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.0p+1 33") == 0 || strcmp (result, "0x2.0p+0 33") == 0 || strcmp (result, "0x4.0p-1 33") == 0 || strcmp (result, "0x8.0p-2 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Width. */ char *result; int retval = my_asprintf (&result, "%10La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 || strcmp (result, " 0x3.8p-1 33") == 0 || strcmp (result, " 0x7p-2 33") == 0 || strcmp (result, " 0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small precision. */ char *result; int retval = my_asprintf (&result, "%.10La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.c000000000p+0 33") == 0 || strcmp (result, "0x3.8000000000p-1 33") == 0 || strcmp (result, "0x7.0000000000p-2 33") == 0 || strcmp (result, "0xe.0000000000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Large precision. */ char *result; int retval = my_asprintf (&result, "%.50La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.c0000000000000000000000000000000000000000000000000p+0 33") == 0 || strcmp (result, "0x3.80000000000000000000000000000000000000000000000000p-1 33") == 0 || strcmp (result, "0x7.00000000000000000000000000000000000000000000000000p-2 33") == 0 || strcmp (result, "0xe.00000000000000000000000000000000000000000000000000p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.cp+0 33") == 0 || strcmp (result, "0x3.8p-1 33") == 0 || strcmp (result, "0x7p-2 33") == 0 || strcmp (result, "0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+0x1.cp+0 33") == 0 || strcmp (result, "+0x3.8p-1 33") == 0 || strcmp (result, "+0x7p-2 33") == 0 || strcmp (result, "+0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 0x1.cp+0 33") == 0 || strcmp (result, " 0x3.8p-1 33") == 0 || strcmp (result, " 0x7p-2 33") == 0 || strcmp (result, " 0xep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.cp+0 33") == 0 || strcmp (result, "0x3.8p-1 33") == 0 || strcmp (result, "0x7.p-2 33") == 0 || strcmp (result, "0xe.p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#La %d", 1.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x1.p+0 33") == 0 || strcmp (result, "0x2.p-1 33") == 0 || strcmp (result, "0x4.p-2 33") == 0 || strcmp (result, "0x8.p-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%010La %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0x001.cp+0 33") == 0 || strcmp (result, "0x003.8p-1 33") == 0 || strcmp (result, "0x00007p-2 33") == 0 || strcmp (result, "0x0000ep-3 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%010La %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); /* "0000000inf 33" is not a valid result; see */ ASSERT (strcmp (result, " inf 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050La %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %f format directive. */ { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%f %d", 12.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%f %d", 1234567.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234567.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { double value; const char *string; } data[] = { { 1.234321234321234e-37, "0.000000" }, { 1.234321234321234e-36, "0.000000" }, { 1.234321234321234e-35, "0.000000" }, { 1.234321234321234e-34, "0.000000" }, { 1.234321234321234e-33, "0.000000" }, { 1.234321234321234e-32, "0.000000" }, { 1.234321234321234e-31, "0.000000" }, { 1.234321234321234e-30, "0.000000" }, { 1.234321234321234e-29, "0.000000" }, { 1.234321234321234e-28, "0.000000" }, { 1.234321234321234e-27, "0.000000" }, { 1.234321234321234e-26, "0.000000" }, { 1.234321234321234e-25, "0.000000" }, { 1.234321234321234e-24, "0.000000" }, { 1.234321234321234e-23, "0.000000" }, { 1.234321234321234e-22, "0.000000" }, { 1.234321234321234e-21, "0.000000" }, { 1.234321234321234e-20, "0.000000" }, { 1.234321234321234e-19, "0.000000" }, { 1.234321234321234e-18, "0.000000" }, { 1.234321234321234e-17, "0.000000" }, { 1.234321234321234e-16, "0.000000" }, { 1.234321234321234e-15, "0.000000" }, { 1.234321234321234e-14, "0.000000" }, { 1.234321234321234e-13, "0.000000" }, { 1.234321234321234e-12, "0.000000" }, { 1.234321234321234e-11, "0.000000" }, { 1.234321234321234e-10, "0.000000" }, { 1.234321234321234e-9, "0.000000" }, { 1.234321234321234e-8, "0.000000" }, { 1.234321234321234e-7, "0.000000" }, { 1.234321234321234e-6, "0.000001" }, { 1.234321234321234e-5, "0.000012" }, { 1.234321234321234e-4, "0.000123" }, { 1.234321234321234e-3, "0.001234" }, { 1.234321234321234e-2, "0.012343" }, { 1.234321234321234e-1, "0.123432" }, { 1.234321234321234, "1.234321" }, { 1.234321234321234e1, "12.343212" }, { 1.234321234321234e2, "123.432123" }, { 1.234321234321234e3, "1234.321234" }, { 1.234321234321234e4, "12343.212343" }, { 1.234321234321234e5, "123432.123432" }, { 1.234321234321234e6, "1234321.234321" }, { 1.234321234321234e7, "12343212.343212" }, { 1.234321234321234e8, "123432123.432123" }, { 1.234321234321234e9, "1234321234.321234" }, { 1.234321234321234e10, "12343212343.2123**" }, { 1.234321234321234e11, "123432123432.123***" }, { 1.234321234321234e12, "1234321234321.23****" }, { 1.234321234321234e13, "12343212343212.3*****" }, { 1.234321234321234e14, "123432123432123.******" }, { 1.234321234321234e15, "1234321234321234.000000" }, { 1.234321234321234e16, "123432123432123**.000000" }, { 1.234321234321234e17, "123432123432123***.000000" }, { 1.234321234321234e18, "123432123432123****.000000" }, { 1.234321234321234e19, "123432123432123*****.000000" }, { 1.234321234321234e20, "123432123432123******.000000" }, { 1.234321234321234e21, "123432123432123*******.000000" }, { 1.234321234321234e22, "123432123432123********.000000" }, { 1.234321234321234e23, "123432123432123*********.000000" }, { 1.234321234321234e24, "123432123432123**********.000000" }, { 1.234321234321234e25, "123432123432123***********.000000" }, { 1.234321234321234e26, "123432123432123************.000000" }, { 1.234321234321234e27, "123432123432123*************.000000" }, { 1.234321234321234e28, "123432123432123**************.000000" }, { 1.234321234321234e29, "123432123432123***************.000000" }, { 1.234321234321234e30, "123432123432123****************.000000" }, { 1.234321234321234e31, "123432123432123*****************.000000" }, { 1.234321234321234e32, "123432123432123******************.000000" }, { 1.234321234321234e33, "123432123432123*******************.000000" }, { 1.234321234321234e34, "123432123432123********************.000000" }, { 1.234321234321234e35, "123432123432123*********************.000000" }, { 1.234321234321234e36, "123432123432123**********************.000000" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%f", data[k].value); ASSERT (result != NULL); ASSERT (strmatch (data[k].string, result)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%f %d", -0.03125, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.031250 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%f %d", 0.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%f %d", minus_zerod, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%f %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%f %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Width. */ char *result; int retval = my_asprintf (&result, "%10f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.f %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2. 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%015f %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "00001234.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015f %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050f %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.f %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.2f %d", 999.951, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.2f %d", 999.996, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000.00 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%Lf %d", 12.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%Lf %d", 1234567.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234567.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { long double value; const char *string; } data[] = { { 1.234321234321234e-37L, "0.000000" }, { 1.234321234321234e-36L, "0.000000" }, { 1.234321234321234e-35L, "0.000000" }, { 1.234321234321234e-34L, "0.000000" }, { 1.234321234321234e-33L, "0.000000" }, { 1.234321234321234e-32L, "0.000000" }, { 1.234321234321234e-31L, "0.000000" }, { 1.234321234321234e-30L, "0.000000" }, { 1.234321234321234e-29L, "0.000000" }, { 1.234321234321234e-28L, "0.000000" }, { 1.234321234321234e-27L, "0.000000" }, { 1.234321234321234e-26L, "0.000000" }, { 1.234321234321234e-25L, "0.000000" }, { 1.234321234321234e-24L, "0.000000" }, { 1.234321234321234e-23L, "0.000000" }, { 1.234321234321234e-22L, "0.000000" }, { 1.234321234321234e-21L, "0.000000" }, { 1.234321234321234e-20L, "0.000000" }, { 1.234321234321234e-19L, "0.000000" }, { 1.234321234321234e-18L, "0.000000" }, { 1.234321234321234e-17L, "0.000000" }, { 1.234321234321234e-16L, "0.000000" }, { 1.234321234321234e-15L, "0.000000" }, { 1.234321234321234e-14L, "0.000000" }, { 1.234321234321234e-13L, "0.000000" }, { 1.234321234321234e-12L, "0.000000" }, { 1.234321234321234e-11L, "0.000000" }, { 1.234321234321234e-10L, "0.000000" }, { 1.234321234321234e-9L, "0.000000" }, { 1.234321234321234e-8L, "0.000000" }, { 1.234321234321234e-7L, "0.000000" }, { 1.234321234321234e-6L, "0.000001" }, { 1.234321234321234e-5L, "0.000012" }, { 1.234321234321234e-4L, "0.000123" }, { 1.234321234321234e-3L, "0.001234" }, { 1.234321234321234e-2L, "0.012343" }, { 1.234321234321234e-1L, "0.123432" }, { 1.234321234321234L, "1.234321" }, { 1.234321234321234e1L, "12.343212" }, { 1.234321234321234e2L, "123.432123" }, { 1.234321234321234e3L, "1234.321234" }, { 1.234321234321234e4L, "12343.212343" }, { 1.234321234321234e5L, "123432.123432" }, { 1.234321234321234e6L, "1234321.234321" }, { 1.234321234321234e7L, "12343212.343212" }, { 1.234321234321234e8L, "123432123.432123" }, { 1.234321234321234e9L, "1234321234.321234" }, { 1.234321234321234e10L, "12343212343.2123**" }, { 1.234321234321234e11L, "123432123432.123***" }, { 1.234321234321234e12L, "1234321234321.23****" }, { 1.234321234321234e13L, "12343212343212.3*****" }, { 1.234321234321234e14L, "123432123432123.******" }, { 1.234321234321234e15L, "1234321234321234.000000" }, { 1.234321234321234e16L, "123432123432123**.000000" }, { 1.234321234321234e17L, "123432123432123***.000000" }, { 1.234321234321234e18L, "123432123432123****.000000" }, { 1.234321234321234e19L, "123432123432123*****.000000" }, { 1.234321234321234e20L, "123432123432123******.000000" }, { 1.234321234321234e21L, "123432123432123*******.000000" }, { 1.234321234321234e22L, "123432123432123********.000000" }, { 1.234321234321234e23L, "123432123432123*********.000000" }, { 1.234321234321234e24L, "123432123432123**********.000000" }, { 1.234321234321234e25L, "123432123432123***********.000000" }, { 1.234321234321234e26L, "123432123432123************.000000" }, { 1.234321234321234e27L, "123432123432123*************.000000" }, { 1.234321234321234e28L, "123432123432123**************.000000" }, { 1.234321234321234e29L, "123432123432123***************.000000" }, { 1.234321234321234e30L, "123432123432123****************.000000" }, { 1.234321234321234e31L, "123432123432123*****************.000000" }, { 1.234321234321234e32L, "123432123432123******************.000000" }, { 1.234321234321234e33L, "123432123432123*******************.000000" }, { 1.234321234321234e34L, "123432123432123********************.000000" }, { 1.234321234321234e35L, "123432123432123*********************.000000" }, { 1.234321234321234e36L, "123432123432123**********************.000000" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%Lf", data[k].value); ASSERT (result != NULL); ASSERT (strmatch (data[k].string, result)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%Lf %d", -0.03125L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.031250 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%Lf %d", 0.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%Lf %d", minus_zerol, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%Lf %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%Lf %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lf %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #endif { /* Width. */ char *result; int retval = my_asprintf (&result, "%10Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.Lf %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2. 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%015Lf %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "00001234.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015Lf %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050Lf %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.Lf %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.2Lf %d", 999.951L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.2Lf %d", 999.996L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000.00 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %F format directive. */ { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%F %d", 12.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%F %d", 1234567.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234567.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%F %d", -0.03125, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.031250 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%F %d", 0.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%F %d", minus_zerod, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%F %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%F %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 1) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO. */ char *result; int retval = my_asprintf (&result, "%015F %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "00001234.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015F %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.F %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.2F %d", 999.951, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.2F %d", 999.996, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000.00 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%LF %d", 12.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.750000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%LF %d", 1234567.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234567.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%LF %d", -0.03125L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.031250 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%LF %d", 0.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%LF %d", minus_zerol, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%LF %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "INF 33") == 0 || strcmp (result, "INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-INF 33") == 0 || strcmp (result, "-INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%LF %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 1) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO. */ char *result; int retval = my_asprintf (&result, "%015LF %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "00001234.000000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015LF %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -INF 33") == 0 || strcmp (result, " -INFINITY 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.LF %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.2LF %d", 999.951L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.2LF %d", 999.996L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000.00 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %e format directive. */ { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%e %d", 12.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.275000e+01 33") == 0 || strcmp (result, "1.275000e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%e %d", 1234567.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.234567e+06 33") == 0 || strcmp (result, "1.234567e+006 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { double value; const char *string; } data[] = { { 1.234321234321234e-37, "1.234321e-37" }, { 1.234321234321234e-36, "1.234321e-36" }, { 1.234321234321234e-35, "1.234321e-35" }, { 1.234321234321234e-34, "1.234321e-34" }, { 1.234321234321234e-33, "1.234321e-33" }, { 1.234321234321234e-32, "1.234321e-32" }, { 1.234321234321234e-31, "1.234321e-31" }, { 1.234321234321234e-30, "1.234321e-30" }, { 1.234321234321234e-29, "1.234321e-29" }, { 1.234321234321234e-28, "1.234321e-28" }, { 1.234321234321234e-27, "1.234321e-27" }, { 1.234321234321234e-26, "1.234321e-26" }, { 1.234321234321234e-25, "1.234321e-25" }, { 1.234321234321234e-24, "1.234321e-24" }, { 1.234321234321234e-23, "1.234321e-23" }, { 1.234321234321234e-22, "1.234321e-22" }, { 1.234321234321234e-21, "1.234321e-21" }, { 1.234321234321234e-20, "1.234321e-20" }, { 1.234321234321234e-19, "1.234321e-19" }, { 1.234321234321234e-18, "1.234321e-18" }, { 1.234321234321234e-17, "1.234321e-17" }, { 1.234321234321234e-16, "1.234321e-16" }, { 1.234321234321234e-15, "1.234321e-15" }, { 1.234321234321234e-14, "1.234321e-14" }, { 1.234321234321234e-13, "1.234321e-13" }, { 1.234321234321234e-12, "1.234321e-12" }, { 1.234321234321234e-11, "1.234321e-11" }, { 1.234321234321234e-10, "1.234321e-10" }, { 1.234321234321234e-9, "1.234321e-09" }, { 1.234321234321234e-8, "1.234321e-08" }, { 1.234321234321234e-7, "1.234321e-07" }, { 1.234321234321234e-6, "1.234321e-06" }, { 1.234321234321234e-5, "1.234321e-05" }, { 1.234321234321234e-4, "1.234321e-04" }, { 1.234321234321234e-3, "1.234321e-03" }, { 1.234321234321234e-2, "1.234321e-02" }, { 1.234321234321234e-1, "1.234321e-01" }, { 1.234321234321234, "1.234321e+00" }, { 1.234321234321234e1, "1.234321e+01" }, { 1.234321234321234e2, "1.234321e+02" }, { 1.234321234321234e3, "1.234321e+03" }, { 1.234321234321234e4, "1.234321e+04" }, { 1.234321234321234e5, "1.234321e+05" }, { 1.234321234321234e6, "1.234321e+06" }, { 1.234321234321234e7, "1.234321e+07" }, { 1.234321234321234e8, "1.234321e+08" }, { 1.234321234321234e9, "1.234321e+09" }, { 1.234321234321234e10, "1.234321e+10" }, { 1.234321234321234e11, "1.234321e+11" }, { 1.234321234321234e12, "1.234321e+12" }, { 1.234321234321234e13, "1.234321e+13" }, { 1.234321234321234e14, "1.234321e+14" }, { 1.234321234321234e15, "1.234321e+15" }, { 1.234321234321234e16, "1.234321e+16" }, { 1.234321234321234e17, "1.234321e+17" }, { 1.234321234321234e18, "1.234321e+18" }, { 1.234321234321234e19, "1.234321e+19" }, { 1.234321234321234e20, "1.234321e+20" }, { 1.234321234321234e21, "1.234321e+21" }, { 1.234321234321234e22, "1.234321e+22" }, { 1.234321234321234e23, "1.234321e+23" }, { 1.234321234321234e24, "1.234321e+24" }, { 1.234321234321234e25, "1.234321e+25" }, { 1.234321234321234e26, "1.234321e+26" }, { 1.234321234321234e27, "1.234321e+27" }, { 1.234321234321234e28, "1.234321e+28" }, { 1.234321234321234e29, "1.234321e+29" }, { 1.234321234321234e30, "1.234321e+30" }, { 1.234321234321234e31, "1.234321e+31" }, { 1.234321234321234e32, "1.234321e+32" }, { 1.234321234321234e33, "1.234321e+33" }, { 1.234321234321234e34, "1.234321e+34" }, { 1.234321234321234e35, "1.234321e+35" }, { 1.234321234321234e36, "1.234321e+36" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%e", data[k].value); const char *expected = data[k].string; ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0 /* Some implementations produce exponents with 3 digits. */ || (strlen (result) == strlen (expected) + 1 && memcmp (result, expected, strlen (expected) - 2) == 0 && result[strlen (expected) - 2] == '0' && strcmp (result + strlen (expected) - 1, expected + strlen (expected) - 2) == 0)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%e %d", -0.03125, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-3.125000e-02 33") == 0 || strcmp (result, "-3.125000e-002 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%e %d", 0.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000e+00 33") == 0 || strcmp (result, "0.000000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%e %d", minus_zerod, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000e+00 33") == 0 || strcmp (result, "-0.000000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%e %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%e %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Width. */ char *result; int retval = my_asprintf (&result, "%15e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000e+00 33") == 0 || strcmp (result, " 1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-15e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000e+00 33") == 0 || strcmp (result, "1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.750000e+00 33") == 0 || strcmp (result, "+1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000e+00 33") == 0 || strcmp (result, " 1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000e+00 33") == 0 || strcmp (result, "1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.e %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2.e+00 33") == 0 || strcmp (result, "2.e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.e %d", 9.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.e+01 33") == 0 || strcmp (result, "1.e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%015e %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0001.234000e+03 33") == 0 || strcmp (result, "001.234000e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015e %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050e %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.e %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1e+03 33") == 0 || strcmp (result, "1e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.4e %d", 999.951, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "9.9995e+02 33") == 0 || strcmp (result, "9.9995e+002 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.4e %d", 999.996, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.0000e+03 33") == 0 || strcmp (result, "1.0000e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%Le %d", 12.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.275000e+01 33") == 0 || strcmp (result, "1.275000e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%Le %d", 1234567.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.234567e+06 33") == 0 || strcmp (result, "1.234567e+006 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { long double value; const char *string; } data[] = { { 1.234321234321234e-37L, "1.234321e-37" }, { 1.234321234321234e-36L, "1.234321e-36" }, { 1.234321234321234e-35L, "1.234321e-35" }, { 1.234321234321234e-34L, "1.234321e-34" }, { 1.234321234321234e-33L, "1.234321e-33" }, { 1.234321234321234e-32L, "1.234321e-32" }, { 1.234321234321234e-31L, "1.234321e-31" }, { 1.234321234321234e-30L, "1.234321e-30" }, { 1.234321234321234e-29L, "1.234321e-29" }, { 1.234321234321234e-28L, "1.234321e-28" }, { 1.234321234321234e-27L, "1.234321e-27" }, { 1.234321234321234e-26L, "1.234321e-26" }, { 1.234321234321234e-25L, "1.234321e-25" }, { 1.234321234321234e-24L, "1.234321e-24" }, { 1.234321234321234e-23L, "1.234321e-23" }, { 1.234321234321234e-22L, "1.234321e-22" }, { 1.234321234321234e-21L, "1.234321e-21" }, { 1.234321234321234e-20L, "1.234321e-20" }, { 1.234321234321234e-19L, "1.234321e-19" }, { 1.234321234321234e-18L, "1.234321e-18" }, { 1.234321234321234e-17L, "1.234321e-17" }, { 1.234321234321234e-16L, "1.234321e-16" }, { 1.234321234321234e-15L, "1.234321e-15" }, { 1.234321234321234e-14L, "1.234321e-14" }, { 1.234321234321234e-13L, "1.234321e-13" }, { 1.234321234321234e-12L, "1.234321e-12" }, { 1.234321234321234e-11L, "1.234321e-11" }, { 1.234321234321234e-10L, "1.234321e-10" }, { 1.234321234321234e-9L, "1.234321e-09" }, { 1.234321234321234e-8L, "1.234321e-08" }, { 1.234321234321234e-7L, "1.234321e-07" }, { 1.234321234321234e-6L, "1.234321e-06" }, { 1.234321234321234e-5L, "1.234321e-05" }, { 1.234321234321234e-4L, "1.234321e-04" }, { 1.234321234321234e-3L, "1.234321e-03" }, { 1.234321234321234e-2L, "1.234321e-02" }, { 1.234321234321234e-1L, "1.234321e-01" }, { 1.234321234321234L, "1.234321e+00" }, { 1.234321234321234e1L, "1.234321e+01" }, { 1.234321234321234e2L, "1.234321e+02" }, { 1.234321234321234e3L, "1.234321e+03" }, { 1.234321234321234e4L, "1.234321e+04" }, { 1.234321234321234e5L, "1.234321e+05" }, { 1.234321234321234e6L, "1.234321e+06" }, { 1.234321234321234e7L, "1.234321e+07" }, { 1.234321234321234e8L, "1.234321e+08" }, { 1.234321234321234e9L, "1.234321e+09" }, { 1.234321234321234e10L, "1.234321e+10" }, { 1.234321234321234e11L, "1.234321e+11" }, { 1.234321234321234e12L, "1.234321e+12" }, { 1.234321234321234e13L, "1.234321e+13" }, { 1.234321234321234e14L, "1.234321e+14" }, { 1.234321234321234e15L, "1.234321e+15" }, { 1.234321234321234e16L, "1.234321e+16" }, { 1.234321234321234e17L, "1.234321e+17" }, { 1.234321234321234e18L, "1.234321e+18" }, { 1.234321234321234e19L, "1.234321e+19" }, { 1.234321234321234e20L, "1.234321e+20" }, { 1.234321234321234e21L, "1.234321e+21" }, { 1.234321234321234e22L, "1.234321e+22" }, { 1.234321234321234e23L, "1.234321e+23" }, { 1.234321234321234e24L, "1.234321e+24" }, { 1.234321234321234e25L, "1.234321e+25" }, { 1.234321234321234e26L, "1.234321e+26" }, { 1.234321234321234e27L, "1.234321e+27" }, { 1.234321234321234e28L, "1.234321e+28" }, { 1.234321234321234e29L, "1.234321e+29" }, { 1.234321234321234e30L, "1.234321e+30" }, { 1.234321234321234e31L, "1.234321e+31" }, { 1.234321234321234e32L, "1.234321e+32" }, { 1.234321234321234e33L, "1.234321e+33" }, { 1.234321234321234e34L, "1.234321e+34" }, { 1.234321234321234e35L, "1.234321e+35" }, { 1.234321234321234e36L, "1.234321e+36" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%Le", data[k].value); const char *expected = data[k].string; ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0 /* Some implementations produce exponents with 3 digits. */ || (strlen (result) == strlen (expected) + 1 && memcmp (result, expected, strlen (expected) - 2) == 0 && result[strlen (expected) - 2] == '0' && strcmp (result + strlen (expected) - 1, expected + strlen (expected) - 2) == 0)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%Le %d", -0.03125L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-3.125000e-02 33") == 0 || strcmp (result, "-3.125000e-002 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%Le %d", 0.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0.000000e+00 33") == 0 || strcmp (result, "0.000000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%Le %d", minus_zerol, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0.000000e+00 33") == 0 || strcmp (result, "-0.000000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%Le %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%Le %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Le %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #endif { /* Width. */ char *result; int retval = my_asprintf (&result, "%15Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000e+00 33") == 0 || strcmp (result, " 1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-15Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000e+00 33") == 0 || strcmp (result, "1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.750000e+00 33") == 0 || strcmp (result, "+1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.750000e+00 33") == 0 || strcmp (result, " 1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.750000e+00 33") == 0 || strcmp (result, "1.750000e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.Le %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2.e+00 33") == 0 || strcmp (result, "2.e+000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.Le %d", 9.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.e+01 33") == 0 || strcmp (result, "1.e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%015Le %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0001.234000e+03 33") == 0 || strcmp (result, "001.234000e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015Le %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050Le %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.Le %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1e+03 33") == 0 || strcmp (result, "1e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.4Le %d", 999.951L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "9.9995e+02 33") == 0 || strcmp (result, "9.9995e+002 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.4Le %d", 999.996L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.0000e+03 33") == 0 || strcmp (result, "1.0000e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %g format directive. */ { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%g %d", 12.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%g %d", 1234567.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.23457e+06 33") == 0 || strcmp (result, "1.23457e+006 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { double value; const char *string; } data[] = { { 1.234321234321234e-37, "1.23432e-37" }, { 1.234321234321234e-36, "1.23432e-36" }, { 1.234321234321234e-35, "1.23432e-35" }, { 1.234321234321234e-34, "1.23432e-34" }, { 1.234321234321234e-33, "1.23432e-33" }, { 1.234321234321234e-32, "1.23432e-32" }, { 1.234321234321234e-31, "1.23432e-31" }, { 1.234321234321234e-30, "1.23432e-30" }, { 1.234321234321234e-29, "1.23432e-29" }, { 1.234321234321234e-28, "1.23432e-28" }, { 1.234321234321234e-27, "1.23432e-27" }, { 1.234321234321234e-26, "1.23432e-26" }, { 1.234321234321234e-25, "1.23432e-25" }, { 1.234321234321234e-24, "1.23432e-24" }, { 1.234321234321234e-23, "1.23432e-23" }, { 1.234321234321234e-22, "1.23432e-22" }, { 1.234321234321234e-21, "1.23432e-21" }, { 1.234321234321234e-20, "1.23432e-20" }, { 1.234321234321234e-19, "1.23432e-19" }, { 1.234321234321234e-18, "1.23432e-18" }, { 1.234321234321234e-17, "1.23432e-17" }, { 1.234321234321234e-16, "1.23432e-16" }, { 1.234321234321234e-15, "1.23432e-15" }, { 1.234321234321234e-14, "1.23432e-14" }, { 1.234321234321234e-13, "1.23432e-13" }, { 1.234321234321234e-12, "1.23432e-12" }, { 1.234321234321234e-11, "1.23432e-11" }, { 1.234321234321234e-10, "1.23432e-10" }, { 1.234321234321234e-9, "1.23432e-09" }, { 1.234321234321234e-8, "1.23432e-08" }, { 1.234321234321234e-7, "1.23432e-07" }, { 1.234321234321234e-6, "1.23432e-06" }, { 1.234321234321234e-5, "1.23432e-05" }, { 1.234321234321234e-4, "0.000123432" }, { 1.234321234321234e-3, "0.00123432" }, { 1.234321234321234e-2, "0.0123432" }, { 1.234321234321234e-1, "0.123432" }, { 1.234321234321234, "1.23432" }, { 1.234321234321234e1, "12.3432" }, { 1.234321234321234e2, "123.432" }, { 1.234321234321234e3, "1234.32" }, { 1.234321234321234e4, "12343.2" }, { 1.234321234321234e5, "123432" }, { 1.234321234321234e6, "1.23432e+06" }, { 1.234321234321234e7, "1.23432e+07" }, { 1.234321234321234e8, "1.23432e+08" }, { 1.234321234321234e9, "1.23432e+09" }, { 1.234321234321234e10, "1.23432e+10" }, { 1.234321234321234e11, "1.23432e+11" }, { 1.234321234321234e12, "1.23432e+12" }, { 1.234321234321234e13, "1.23432e+13" }, { 1.234321234321234e14, "1.23432e+14" }, { 1.234321234321234e15, "1.23432e+15" }, { 1.234321234321234e16, "1.23432e+16" }, { 1.234321234321234e17, "1.23432e+17" }, { 1.234321234321234e18, "1.23432e+18" }, { 1.234321234321234e19, "1.23432e+19" }, { 1.234321234321234e20, "1.23432e+20" }, { 1.234321234321234e21, "1.23432e+21" }, { 1.234321234321234e22, "1.23432e+22" }, { 1.234321234321234e23, "1.23432e+23" }, { 1.234321234321234e24, "1.23432e+24" }, { 1.234321234321234e25, "1.23432e+25" }, { 1.234321234321234e26, "1.23432e+26" }, { 1.234321234321234e27, "1.23432e+27" }, { 1.234321234321234e28, "1.23432e+28" }, { 1.234321234321234e29, "1.23432e+29" }, { 1.234321234321234e30, "1.23432e+30" }, { 1.234321234321234e31, "1.23432e+31" }, { 1.234321234321234e32, "1.23432e+32" }, { 1.234321234321234e33, "1.23432e+33" }, { 1.234321234321234e34, "1.23432e+34" }, { 1.234321234321234e35, "1.23432e+35" }, { 1.234321234321234e36, "1.23432e+36" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%g", data[k].value); const char *expected = data[k].string; ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0 /* Some implementations produce exponents with 3 digits. */ || (expected[strlen (expected) - 4] == 'e' && strlen (result) == strlen (expected) + 1 && memcmp (result, expected, strlen (expected) - 2) == 0 && result[strlen (expected) - 2] == '0' && strcmp (result + strlen (expected) - 1, expected + strlen (expected) - 2) == 0)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%g %d", -0.03125, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.03125 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%g %d", 0.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%g %d", minus_zerod, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%g %d", Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%g %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Width. */ char *result; int retval = my_asprintf (&result, "%10g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.75000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.g %d", 1.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2. 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.g %d", 9.75, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.e+01 33") == 0 || strcmp (result, "1.e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%010g %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0000001234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015g %d", - Infinityd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050g %d", NaNd (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.g %d", 1234.0, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1e+03 33") == 0 || strcmp (result, "1e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.5g %d", 999.951, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.5g %d", 999.996, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A positive number. */ char *result; int retval = my_asprintf (&result, "%Lg %d", 12.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "12.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* A larger positive number. */ char *result; int retval = my_asprintf (&result, "%Lg %d", 1234567.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.23457e+06 33") == 0 || strcmp (result, "1.23457e+006 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Small and large positive numbers. */ static struct { long double value; const char *string; } data[] = { { 1.234321234321234e-37L, "1.23432e-37" }, { 1.234321234321234e-36L, "1.23432e-36" }, { 1.234321234321234e-35L, "1.23432e-35" }, { 1.234321234321234e-34L, "1.23432e-34" }, { 1.234321234321234e-33L, "1.23432e-33" }, { 1.234321234321234e-32L, "1.23432e-32" }, { 1.234321234321234e-31L, "1.23432e-31" }, { 1.234321234321234e-30L, "1.23432e-30" }, { 1.234321234321234e-29L, "1.23432e-29" }, { 1.234321234321234e-28L, "1.23432e-28" }, { 1.234321234321234e-27L, "1.23432e-27" }, { 1.234321234321234e-26L, "1.23432e-26" }, { 1.234321234321234e-25L, "1.23432e-25" }, { 1.234321234321234e-24L, "1.23432e-24" }, { 1.234321234321234e-23L, "1.23432e-23" }, { 1.234321234321234e-22L, "1.23432e-22" }, { 1.234321234321234e-21L, "1.23432e-21" }, { 1.234321234321234e-20L, "1.23432e-20" }, { 1.234321234321234e-19L, "1.23432e-19" }, { 1.234321234321234e-18L, "1.23432e-18" }, { 1.234321234321234e-17L, "1.23432e-17" }, { 1.234321234321234e-16L, "1.23432e-16" }, { 1.234321234321234e-15L, "1.23432e-15" }, { 1.234321234321234e-14L, "1.23432e-14" }, { 1.234321234321234e-13L, "1.23432e-13" }, { 1.234321234321234e-12L, "1.23432e-12" }, { 1.234321234321234e-11L, "1.23432e-11" }, { 1.234321234321234e-10L, "1.23432e-10" }, { 1.234321234321234e-9L, "1.23432e-09" }, { 1.234321234321234e-8L, "1.23432e-08" }, { 1.234321234321234e-7L, "1.23432e-07" }, { 1.234321234321234e-6L, "1.23432e-06" }, { 1.234321234321234e-5L, "1.23432e-05" }, { 1.234321234321234e-4L, "0.000123432" }, { 1.234321234321234e-3L, "0.00123432" }, { 1.234321234321234e-2L, "0.0123432" }, { 1.234321234321234e-1L, "0.123432" }, { 1.234321234321234L, "1.23432" }, { 1.234321234321234e1L, "12.3432" }, { 1.234321234321234e2L, "123.432" }, { 1.234321234321234e3L, "1234.32" }, { 1.234321234321234e4L, "12343.2" }, { 1.234321234321234e5L, "123432" }, { 1.234321234321234e6L, "1.23432e+06" }, { 1.234321234321234e7L, "1.23432e+07" }, { 1.234321234321234e8L, "1.23432e+08" }, { 1.234321234321234e9L, "1.23432e+09" }, { 1.234321234321234e10L, "1.23432e+10" }, { 1.234321234321234e11L, "1.23432e+11" }, { 1.234321234321234e12L, "1.23432e+12" }, { 1.234321234321234e13L, "1.23432e+13" }, { 1.234321234321234e14L, "1.23432e+14" }, { 1.234321234321234e15L, "1.23432e+15" }, { 1.234321234321234e16L, "1.23432e+16" }, { 1.234321234321234e17L, "1.23432e+17" }, { 1.234321234321234e18L, "1.23432e+18" }, { 1.234321234321234e19L, "1.23432e+19" }, { 1.234321234321234e20L, "1.23432e+20" }, { 1.234321234321234e21L, "1.23432e+21" }, { 1.234321234321234e22L, "1.23432e+22" }, { 1.234321234321234e23L, "1.23432e+23" }, { 1.234321234321234e24L, "1.23432e+24" }, { 1.234321234321234e25L, "1.23432e+25" }, { 1.234321234321234e26L, "1.23432e+26" }, { 1.234321234321234e27L, "1.23432e+27" }, { 1.234321234321234e28L, "1.23432e+28" }, { 1.234321234321234e29L, "1.23432e+29" }, { 1.234321234321234e30L, "1.23432e+30" }, { 1.234321234321234e31L, "1.23432e+31" }, { 1.234321234321234e32L, "1.23432e+32" }, { 1.234321234321234e33L, "1.23432e+33" }, { 1.234321234321234e34L, "1.23432e+34" }, { 1.234321234321234e35L, "1.23432e+35" }, { 1.234321234321234e36L, "1.23432e+36" } }; size_t k; for (k = 0; k < SIZEOF (data); k++) { char *result; int retval = my_asprintf (&result, "%Lg", data[k].value); const char *expected = data[k].string; ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0 /* Some implementations produce exponents with 3 digits. */ || (expected[strlen (expected) - 4] == 'e' && strlen (result) == strlen (expected) + 1 && memcmp (result, expected, strlen (expected) - 2) == 0 && result[strlen (expected) - 2] == '0' && strcmp (result + strlen (expected) - 1, expected + strlen (expected) - 2) == 0)); ASSERT (retval == strlen (result)); free (result); } } { /* A negative number. */ char *result; int retval = my_asprintf (&result, "%Lg %d", -0.03125L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-0.03125 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive zero. */ char *result; int retval = my_asprintf (&result, "%Lg %d", 0.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative zero. */ char *result; int retval = my_asprintf (&result, "%Lg %d", minus_zerol, 33, 44, 55); ASSERT (result != NULL); if (have_minus_zero ()) ASSERT (strcmp (result, "-0 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Positive infinity. */ char *result; int retval = my_asprintf (&result, "%Lg %d", Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "inf 33") == 0 || strcmp (result, "infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Negative infinity. */ char *result; int retval = my_asprintf (&result, "%Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "-inf 33") == 0 || strcmp (result, "-infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* NaN. */ char *result; int retval = my_asprintf (&result, "%Lg %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; char *result; int retval = my_asprintf (&result, "%Lg %d", x.value, 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) >= 3 + 3 && strisnan (result, 0, strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } #endif { /* Width. */ char *result; int retval = my_asprintf (&result, "%10Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_LEFT. */ char *result; int retval = my_asprintf (&result, "%-10Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SHOWSIGN. */ char *result; int retval = my_asprintf (&result, "%+Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "+1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_SPACE. */ char *result; int retval = my_asprintf (&result, "% Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " 1.75 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.75000 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.Lg %d", 1.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "2. 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ALT. */ char *result; int retval = my_asprintf (&result, "%#.Lg %d", 9.75L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1.e+01 33") == 0 || strcmp (result, "1.e+001 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with finite number. */ char *result; int retval = my_asprintf (&result, "%010Lg %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "0000001234 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with infinite number. */ char *result; int retval = my_asprintf (&result, "%015Lg %d", - Infinityl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, " -inf 33") == 0 || strcmp (result, " -infinity 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* FLAG_ZERO with NaN. */ char *result; int retval = my_asprintf (&result, "%050Lg %d", NaNl (), 33, 44, 55); ASSERT (result != NULL); ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision. */ char *result; int retval = my_asprintf (&result, "%.Lg %d", 1234.0L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1e+03 33") == 0 || strcmp (result, "1e+003 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with no rounding. */ char *result; int retval = my_asprintf (&result, "%.5Lg %d", 999.951L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "999.95 33") == 0); ASSERT (retval == strlen (result)); free (result); } { /* Precision with rounding. */ char *result; int retval = my_asprintf (&result, "%.5Lg %d", 999.996L, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "1000 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %n format directive. */ { int count = -1; char *result; int retval = my_asprintf (&result, "%d %n", 123, &count, 33, 44, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "123 ") == 0); ASSERT (retval == strlen (result)); ASSERT (count == 4); free (result); } /* Test the support of the POSIX/XSI format strings with positions. */ { char *result; int retval = my_asprintf (&result, "%2$d %1$d", 33, 55); ASSERT (result != NULL); ASSERT (strcmp (result, "55 33") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the grouping flag. */ { char *result; int retval = my_asprintf (&result, "%'d %d", 1234567, 99); ASSERT (result != NULL); ASSERT (result[strlen (result) - 1] == '9'); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the left-adjust flag. */ { char *result; int retval = my_asprintf (&result, "a%*sc", -3, "b"); ASSERT (result != NULL); ASSERT (strcmp (result, "ab c") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "a%-*sc", 3, "b"); ASSERT (result != NULL); ASSERT (strcmp (result, "ab c") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "a%-*sc", -3, "b"); ASSERT (result != NULL); ASSERT (strcmp (result, "ab c") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of large precision. */ { char *result; int retval = my_asprintf (&result, "%.4000d %d", 1234567, 99); size_t i; ASSERT (result != NULL); for (i = 0; i < 4000 - 7; i++) ASSERT (result[i] == '0'); ASSERT (strcmp (result + 4000 - 7, "1234567 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.*d %d", 4000, 1234567, 99); size_t i; ASSERT (result != NULL); for (i = 0; i < 4000 - 7; i++) ASSERT (result[i] == '0'); ASSERT (strcmp (result + 4000 - 7, "1234567 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.4000d %d", -1234567, 99); size_t i; ASSERT (result != NULL); ASSERT (result[0] == '-'); for (i = 0; i < 4000 - 7; i++) ASSERT (result[1 + i] == '0'); ASSERT (strcmp (result + 1 + 4000 - 7, "1234567 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.4000u %d", 1234567, 99); size_t i; ASSERT (result != NULL); for (i = 0; i < 4000 - 7; i++) ASSERT (result[i] == '0'); ASSERT (strcmp (result + 4000 - 7, "1234567 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.4000o %d", 1234567, 99); size_t i; ASSERT (result != NULL); for (i = 0; i < 4000 - 7; i++) ASSERT (result[i] == '0'); ASSERT (strcmp (result + 4000 - 7, "4553207 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.4000x %d", 1234567, 99); size_t i; ASSERT (result != NULL); for (i = 0; i < 4000 - 6; i++) ASSERT (result[i] == '0'); ASSERT (strcmp (result + 4000 - 6, "12d687 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%#.4000x %d", 1234567, 99); size_t i; ASSERT (result != NULL); ASSERT (result[0] == '0'); ASSERT (result[1] == 'x'); for (i = 0; i < 4000 - 6; i++) ASSERT (result[2 + i] == '0'); ASSERT (strcmp (result + 2 + 4000 - 6, "12d687 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.4000f %d", 1.0, 99); size_t i; ASSERT (result != NULL); ASSERT (result[0] == '1'); ASSERT (result[1] == '.'); for (i = 0; i < 4000; i++) ASSERT (result[2 + i] == '0'); ASSERT (strcmp (result + 2 + 4000, " 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char *result; int retval = my_asprintf (&result, "%.511f %d", 1.0, 99); size_t i; ASSERT (result != NULL); ASSERT (result[0] == '1'); ASSERT (result[1] == '.'); for (i = 0; i < 511; i++) ASSERT (result[2 + i] == '0'); ASSERT (strcmp (result + 2 + 511, " 99") == 0); ASSERT (retval == strlen (result)); free (result); } { char input[5000]; char *result; int retval; size_t i; for (i = 0; i < sizeof (input) - 1; i++) input[i] = 'a' + ((1000000 / (i + 1)) % 26); input[i] = '\0'; retval = my_asprintf (&result, "%.4000s %d", input, 99); ASSERT (result != NULL); ASSERT (memcmp (result, input, 4000) == 0); ASSERT (strcmp (result + 4000, " 99") == 0); ASSERT (retval == strlen (result)); free (result); } /* Test the support of the %s format directive. */ /* To verify that these tests succeed, it is necessary to run them under a tool that checks against invalid memory accesses, such as ElectricFence or "valgrind --tool=memcheck". */ { size_t i; for (i = 1; i <= 8; i++) { char *block; char *result; int retval; block = (char *) malloc (i); memcpy (block, "abcdefgh", i); retval = my_asprintf (&result, "%.*s", (int) i, block); ASSERT (result != NULL); ASSERT (memcmp (result, block, i) == 0); ASSERT (result[i] == '\0'); ASSERT (retval == strlen (result)); free (result); free (block); } } #if HAVE_WCHAR_T { size_t i; for (i = 1; i <= 8; i++) { wchar_t *block; size_t j; char *result; int retval; block = (wchar_t *) malloc (i * sizeof (wchar_t)); for (j = 0; j < i; j++) block[j] = "abcdefgh"[j]; retval = my_asprintf (&result, "%.*ls", (int) i, block); ASSERT (result != NULL); ASSERT (memcmp (result, "abcdefgh", i) == 0); ASSERT (result[i] == '\0'); ASSERT (retval == strlen (result)); free (result); free (block); } } #endif } static int my_asprintf (char **result, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vasprintf (result, format, args); va_end (args); return ret; } static void test_vasprintf () { test_function (my_asprintf); } static void test_asprintf () { test_function (asprintf); } int main (int argc, char *argv[]) { test_vasprintf (); test_asprintf (); return 0; } coreutils-8.21/gnulib-tests/test-locale.c0000664000000000000000000000437312071024546015356 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" int a[] = { LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME }; #if HAVE_NEWLOCALE /* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined. */ locale_t b = LC_GLOBAL_LOCALE; #endif /* Check that the 'struct lconv' type is defined. */ struct lconv l; int ls; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); int main () { /* Check that 'struct lconv' has the ISO C and POSIX specified members. */ ls += sizeof (*l.decimal_point); ls += sizeof (*l.thousands_sep); ls += sizeof (*l.grouping); ls += sizeof (*l.mon_decimal_point); ls += sizeof (*l.mon_thousands_sep); ls += sizeof (*l.mon_grouping); ls += sizeof (*l.positive_sign); ls += sizeof (*l.negative_sign); ls += sizeof (*l.currency_symbol); ls += sizeof (l.frac_digits); ls += sizeof (l.p_cs_precedes); ls += sizeof (l.p_sign_posn); ls += sizeof (l.p_sep_by_space); ls += sizeof (l.n_cs_precedes); ls += sizeof (l.n_sign_posn); ls += sizeof (l.n_sep_by_space); ls += sizeof (*l.int_curr_symbol); ls += sizeof (l.int_frac_digits); ls += sizeof (l.int_p_cs_precedes); ls += sizeof (l.int_p_sign_posn); ls += sizeof (l.int_p_sep_by_space); ls += sizeof (l.int_n_cs_precedes); ls += sizeof (l.int_n_sign_posn); ls += sizeof (l.int_n_sep_by_space); return 0; } coreutils-8.21/gnulib-tests/test-isatty.c0000664000000000000000000000443212100637437015432 00000000000000/* Test isatty() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (isatty, int, (int)); #include #include #include "macros.h" /* The name of the "always silent" device. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ # define DEV_NULL "NUL" #else /* Unix API. */ # define DEV_NULL "/dev/null" #endif int main (void) { const char *file = "test-isatty.txt"; /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (isatty (-1) == 0); ASSERT (errno == EBADF || errno == 0 /* seen on IRIX 6.5, Solaris 10 */ ); } { close (99); errno = 0; ASSERT (isatty (99) == 0); ASSERT (errno == EBADF || errno == 0 /* seen on IRIX 6.5, Solaris 10 */ ); } /* Test behaviour for regular files. */ { int fd; fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); ASSERT (write (fd, "hello", 5) == 5); ASSERT (close (fd) == 0); fd = open (file, O_RDONLY); ASSERT (0 <= fd); ASSERT (! isatty (fd)); ASSERT (close (fd) == 0); } /* Test behaviour for pipes. */ { int fd[2]; ASSERT (pipe (fd) == 0); ASSERT (! isatty (fd[0])); ASSERT (! isatty (fd[1])); ASSERT (close (fd[0]) == 0); ASSERT (close (fd[1]) == 0); } /* Test behaviour for /dev/null. */ { int fd; fd = open (DEV_NULL, O_RDONLY); ASSERT (0 <= fd); ASSERT (! isatty (fd)); ASSERT (close (fd) == 0); } ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/test-xstrtoumax.c0000664000000000000000000000015311624727635016361 00000000000000#define __xstrtol xstrtoumax #define __strtol_t uintmax_t #define __spec PRIuMAX #include "test-xstrtol.c" coreutils-8.21/gnulib-tests/test-i-ring.c0000664000000000000000000000304412071024546015276 00000000000000/* Test the simple ring buffer. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "i-ring.h" #include "macros.h" int main (void) { int o; I_ring ir; i_ring_init (&ir, -1); o = i_ring_push (&ir, 1); ASSERT (o == -1); o = i_ring_push (&ir, 2); ASSERT (o == -1); o = i_ring_push (&ir, 3); ASSERT (o == -1); o = i_ring_push (&ir, 4); ASSERT (o == -1); o = i_ring_push (&ir, 5); ASSERT (o == 1); o = i_ring_push (&ir, 6); ASSERT (o == 2); o = i_ring_push (&ir, 7); ASSERT (o == 3); o = i_ring_pop (&ir); ASSERT (o == 7); o = i_ring_pop (&ir); ASSERT (o == 6); o = i_ring_pop (&ir); ASSERT (o == 5); o = i_ring_pop (&ir); ASSERT (o == 4); ASSERT (i_ring_empty (&ir)); o = i_ring_push (&ir, 8); ASSERT (o == -1); o = i_ring_pop (&ir); ASSERT (o == 8); ASSERT (i_ring_empty (&ir)); return 0; } coreutils-8.21/gnulib-tests/test-copy-acl.c0000664000000000000000000000334212071024546015621 00000000000000/* Test of copying of files. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "acl.h" #include #include #include #include #include #include #include "progname.h" #include "macros.h" int main (int argc, char *argv[]) { const char *file1; const char *file2; int fd1; struct stat statbuf; int mode; int fd2; set_program_name (argv[0]); ASSERT (argc == 3); file1 = argv[1]; file2 = argv[2]; fd1 = open (file1, O_RDONLY); if (fd1 < 0 || fstat (fd1, &statbuf) < 0) { fprintf (stderr, "could not open file \"%s\"\n", file1); exit (EXIT_FAILURE); } mode = statbuf.st_mode & 07777; fd2 = open (file2, O_WRONLY, 0600); if (fd2 < 0) { fprintf (stderr, "could not open file \"%s\"\n", file2); exit (EXIT_FAILURE); } #if USE_ACL if (copy_acl (file1, fd1, file2, fd2, mode)) exit (EXIT_FAILURE); #else chmod (file2, mode); #endif close (fd2); close (fd1); return 0; } coreutils-8.21/gnulib-tests/test-mbrtowc1.sh0000775000000000000000000000054511624730153016046 00000000000000#!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional french locale is installed" else echo "Skipping test: no traditional french locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR \ ./test-mbrtowc${EXEEXT} 1 coreutils-8.21/gnulib-tests/test-fgetc.c0000664000000000000000000000470412100637437015207 00000000000000/* Test of fgetc() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fgetc, int, (FILE *)); #include #include #include #include "msvc-inval.h" #include "macros.h" int main (int argc, char **argv) { const char *filename = "test-fgetc.txt"; /* We don't have an fgetc() function that installs an invalid parameter handler so far. So install that handler here, explicitly. */ #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING gl_msvc_inval_ensure_handler (); #endif /* Prepare a file. */ { const char text[] = "hello world"; int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600); ASSERT (fd >= 0); ASSERT (write (fd, text, sizeof (text)) == sizeof (text)); ASSERT (close (fd) == 0); } /* Test that fgetc() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "r"); ASSERT (fp != NULL); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fgetc (fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } /* Test that fgetc() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "r"); if (fp != NULL) { errno = 0; ASSERT (fgetc (fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "r"); if (fp != NULL) { errno = 0; ASSERT (fgetc (fp) == EOF); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-symlinkat.c0000664000000000000000000000434212100637437016130 00000000000000/* Tests of symlinkat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (symlinkat, int, (char const *, int, char const *)); #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #ifndef HAVE_SYMLINK # define HAVE_SYMLINK 0 #endif #define BASE "test-symlinkat.t" #include "test-symlink.h" static int dfd = AT_FDCWD; static int do_symlink (char const *contents, char const *name) { return symlinkat (contents, dfd, name); } int main (void) { int result; /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (symlinkat ("foo", -1, "bar") == -1); ASSERT (errno == EBADF || errno == ENOSYS /* seen on mingw */ ); } { close (99); errno = 0; ASSERT (symlinkat ("foo", 99, "bar") == -1); ASSERT (errno == EBADF || errno == ENOSYS /* seen on mingw */ ); } /* Perform same checks as counterpart functions. */ result = test_symlink (do_symlink, false); dfd = openat (AT_FDCWD, ".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_symlink (do_symlink, false) == result); ASSERT (close (dfd) == 0); if (result == 77) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result; } coreutils-8.21/gnulib-tests/setlocale.c0000664000000000000000000007001412071024546015110 00000000000000/* Set the current locale. Copyright (C) 2009, 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include /* Override setlocale() so that when the default locale is requested (locale = ""), the environment variables LC_ALL, LC_*, and LANG are considered. Also include all the functionality from libintl's setlocale() override. */ /* Please keep this file in sync with gettext/gettext-runtime/intl/setlocale.c ! */ /* Specification. */ #include #include #include #include "localename.h" #if 1 # undef setlocale /* Return string representation of locale category CATEGORY. */ static const char * category_to_name (int category) { const char *retval; switch (category) { case LC_COLLATE: retval = "LC_COLLATE"; break; case LC_CTYPE: retval = "LC_CTYPE"; break; case LC_MONETARY: retval = "LC_MONETARY"; break; case LC_NUMERIC: retval = "LC_NUMERIC"; break; case LC_TIME: retval = "LC_TIME"; break; case LC_MESSAGES: retval = "LC_MESSAGES"; break; default: /* If you have a better idea for a default value let me know. */ retval = "LC_XXX"; } return retval; } # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* The native Windows setlocale() function expects locale names of the form "German" or "German_Germany" or "DEU", but not "de" or "de_DE". We need to convert the names from the form with ISO 639 language code and ISO 3166 country code to the form with English names or with three-letter identifier. The three-letter identifiers known by a Windows XP SP2 or SP3 are: AFK Afrikaans_South Africa.1252 ARA Arabic_Saudi Arabia.1256 ARB Arabic_Lebanon.1256 ARE Arabic_Egypt.1256 ARG Arabic_Algeria.1256 ARH Arabic_Bahrain.1256 ARI Arabic_Iraq.1256 ARJ Arabic_Jordan.1256 ARK Arabic_Kuwait.1256 ARL Arabic_Libya.1256 ARM Arabic_Morocco.1256 ARO Arabic_Oman.1256 ARQ Arabic_Qatar.1256 ARS Arabic_Syria.1256 ART Arabic_Tunisia.1256 ARU Arabic_U.A.E..1256 ARY Arabic_Yemen.1256 AZE Azeri (Latin)_Azerbaijan.1254 BEL Belarusian_Belarus.1251 BGR Bulgarian_Bulgaria.1251 BSB Bosnian_Bosnia and Herzegovina.1250 BSC Bosnian (Cyrillic)_Bosnia and Herzegovina.1250 (wrong encoding!) CAT Catalan_Spain.1252 CHH Chinese_Hong Kong S.A.R..950 CHI Chinese_Singapore.936 CHS Chinese_People's Republic of China.936 CHT Chinese_Taiwan.950 CSY Czech_Czech Republic.1250 CYM Welsh_United Kingdom.1252 DAN Danish_Denmark.1252 DEA German_Austria.1252 DEC German_Liechtenstein.1252 DEL German_Luxembourg.1252 DES German_Switzerland.1252 DEU German_Germany.1252 ELL Greek_Greece.1253 ENA English_Australia.1252 ENB English_Caribbean.1252 ENC English_Canada.1252 ENG English_United Kingdom.1252 ENI English_Ireland.1252 ENJ English_Jamaica.1252 ENL English_Belize.1252 ENP English_Republic of the Philippines.1252 ENS English_South Africa.1252 ENT English_Trinidad and Tobago.1252 ENU English_United States.1252 ENW English_Zimbabwe.1252 ENZ English_New Zealand.1252 ESA Spanish_Panama.1252 ESB Spanish_Bolivia.1252 ESC Spanish_Costa Rica.1252 ESD Spanish_Dominican Republic.1252 ESE Spanish_El Salvador.1252 ESF Spanish_Ecuador.1252 ESG Spanish_Guatemala.1252 ESH Spanish_Honduras.1252 ESI Spanish_Nicaragua.1252 ESL Spanish_Chile.1252 ESM Spanish_Mexico.1252 ESN Spanish_Spain.1252 ESO Spanish_Colombia.1252 ESP Spanish_Spain.1252 ESR Spanish_Peru.1252 ESS Spanish_Argentina.1252 ESU Spanish_Puerto Rico.1252 ESV Spanish_Venezuela.1252 ESY Spanish_Uruguay.1252 ESZ Spanish_Paraguay.1252 ETI Estonian_Estonia.1257 EUQ Basque_Spain.1252 FAR Farsi_Iran.1256 FIN Finnish_Finland.1252 FOS Faroese_Faroe Islands.1252 FPO Filipino_Philippines.1252 FRA French_France.1252 FRB French_Belgium.1252 FRC French_Canada.1252 FRL French_Luxembourg.1252 FRM French_Principality of Monaco.1252 FRS French_Switzerland.1252 FYN Frisian_Netherlands.1252 GLC Galician_Spain.1252 HEB Hebrew_Israel.1255 HRB Croatian_Bosnia and Herzegovina.1250 HRV Croatian_Croatia.1250 HUN Hungarian_Hungary.1250 IND Indonesian_Indonesia.1252 IRE Irish_Ireland.1252 ISL Icelandic_Iceland.1252 ITA Italian_Italy.1252 ITS Italian_Switzerland.1252 IUK Inuktitut (Latin)_Canada.1252 JPN Japanese_Japan.932 KKZ Kazakh_Kazakhstan.1251 KOR Korean_Korea.949 KYR Kyrgyz_Kyrgyzstan.1251 LBX Luxembourgish_Luxembourg.1252 LTH Lithuanian_Lithuania.1257 LVI Latvian_Latvia.1257 MKI FYRO Macedonian_Former Yugoslav Republic of Macedonia.1251 MON Mongolian_Mongolia.1251 MPD Mapudungun_Chile.1252 MSB Malay_Brunei Darussalam.1252 MSL Malay_Malaysia.1252 MWK Mohawk_Canada.1252 NLB Dutch_Belgium.1252 NLD Dutch_Netherlands.1252 NON Norwegian-Nynorsk_Norway.1252 NOR Norwegian (BokmÃ¥l)_Norway.1252 NSO Northern Sotho_South Africa.1252 PLK Polish_Poland.1250 PTB Portuguese_Brazil.1252 PTG Portuguese_Portugal.1252 QUB Quechua_Bolivia.1252 QUE Quechua_Ecuador.1252 QUP Quechua_Peru.1252 RMC Romansh_Switzerland.1252 ROM Romanian_Romania.1250 RUS Russian_Russia.1251 SKY Slovak_Slovakia.1250 SLV Slovenian_Slovenia.1250 SMA Sami (Southern)_Norway.1252 SMB Sami (Southern)_Sweden.1252 SME Sami (Northern)_Norway.1252 SMF Sami (Northern)_Sweden.1252 SMG Sami (Northern)_Finland.1252 SMJ Sami (Lule)_Norway.1252 SMK Sami (Lule)_Sweden.1252 SMN Sami (Inari)_Finland.1252 SMS Sami (Skolt)_Finland.1252 SQI Albanian_Albania.1250 SRB Serbian (Cyrillic)_Serbia and Montenegro.1251 SRL Serbian (Latin)_Serbia and Montenegro.1250 SRN Serbian (Cyrillic)_Bosnia and Herzegovina.1251 SRS Serbian (Latin)_Bosnia and Herzegovina.1250 SVE Swedish_Sweden.1252 SVF Swedish_Finland.1252 SWK Swahili_Kenya.1252 THA Thai_Thailand.874 TRK Turkish_Turkey.1254 TSN Tswana_South Africa.1252 TTT Tatar_Russia.1251 UKR Ukrainian_Ukraine.1251 URD Urdu_Islamic Republic of Pakistan.1256 USA English_United States.1252 UZB Uzbek (Latin)_Uzbekistan.1254 VIT Vietnamese_Viet Nam.1258 XHO Xhosa_South Africa.1252 ZHH Chinese_Hong Kong S.A.R..950 ZHI Chinese_Singapore.936 ZHM Chinese_Macau S.A.R..950 ZUL Zulu_South Africa.1252 */ /* Table from ISO 639 language code, optionally with country or script suffix, to English name. Keep in sync with the gl_locale_name_from_win32_LANGID function in localename.c! */ struct table_entry { const char *code; const char *english; }; static const struct table_entry language_table[] = { { "af", "Afrikaans" }, { "am", "Amharic" }, { "ar", "Arabic" }, { "arn", "Mapudungun" }, { "as", "Assamese" }, { "az@cyrillic", "Azeri (Cyrillic)" }, { "az@latin", "Azeri (Latin)" }, { "ba", "Bashkir" }, { "be", "Belarusian" }, { "ber", "Tamazight" }, { "ber@arabic", "Tamazight (Arabic)" }, { "ber@latin", "Tamazight (Latin)" }, { "bg", "Bulgarian" }, { "bin", "Edo" }, { "bn", "Bengali" }, { "bn_BD", "Bengali (Bangladesh)" }, { "bn_IN", "Bengali (India)" }, { "bnt", "Sutu" }, { "bo", "Tibetan" }, { "br", "Breton" }, { "bs", "BSB" }, /* "Bosnian (Latin)" */ { "bs@cyrillic", "BSC" }, /* Bosnian (Cyrillic) */ { "ca", "Catalan" }, { "chr", "Cherokee" }, { "co", "Corsican" }, { "cpe", "Hawaiian" }, { "cs", "Czech" }, { "cy", "Welsh" }, { "da", "Danish" }, { "de", "German" }, { "dsb", "Lower Sorbian" }, { "dv", "Divehi" }, { "el", "Greek" }, { "en", "English" }, { "es", "Spanish" }, { "et", "Estonian" }, { "eu", "Basque" }, { "fa", "Farsi" }, { "ff", "Fulfulde" }, { "fi", "Finnish" }, { "fo", "Faroese" }, /* "Faeroese" does not work */ { "fr", "French" }, { "fy", "Frisian" }, { "ga", "IRE" }, /* Gaelic (Ireland) */ { "gd", "Gaelic (Scotland)" }, { "gd", "Scottish Gaelic" }, { "gl", "Galician" }, { "gn", "Guarani" }, { "gsw", "Alsatian" }, { "gu", "Gujarati" }, { "ha", "Hausa" }, { "he", "Hebrew" }, { "hi", "Hindi" }, { "hr", "Croatian" }, { "hsb", "Upper Sorbian" }, { "hu", "Hungarian" }, { "hy", "Armenian" }, { "id", "Indonesian" }, { "ig", "Igbo" }, { "ii", "Yi" }, { "is", "Icelandic" }, { "it", "Italian" }, { "iu", "IUK" }, /* Inuktitut */ { "ja", "Japanese" }, { "ka", "Georgian" }, { "kk", "Kazakh" }, { "kl", "Greenlandic" }, { "km", "Cambodian" }, { "km", "Khmer" }, { "kn", "Kannada" }, { "ko", "Korean" }, { "kok", "Konkani" }, { "kr", "Kanuri" }, { "ks", "Kashmiri" }, { "ks_IN", "Kashmiri_India" }, { "ks_PK", "Kashmiri (Arabic)_Pakistan" }, { "ky", "Kyrgyz" }, { "la", "Latin" }, { "lb", "Luxembourgish" }, { "lo", "Lao" }, { "lt", "Lithuanian" }, { "lv", "Latvian" }, { "mi", "Maori" }, { "mk", "FYRO Macedonian" }, { "mk", "Macedonian" }, { "ml", "Malayalam" }, { "mn", "Mongolian" }, { "mni", "Manipuri" }, { "moh", "Mohawk" }, { "mr", "Marathi" }, { "ms", "Malay" }, { "mt", "Maltese" }, { "my", "Burmese" }, { "nb", "NOR" }, /* Norwegian BokmÃ¥l */ { "ne", "Nepali" }, { "nic", "Ibibio" }, { "nl", "Dutch" }, { "nn", "NON" }, /* Norwegian Nynorsk */ { "no", "Norwegian" }, { "nso", "Northern Sotho" }, { "nso", "Sepedi" }, { "oc", "Occitan" }, { "om", "Oromo" }, { "or", "Oriya" }, { "pa", "Punjabi" }, { "pap", "Papiamentu" }, { "pl", "Polish" }, { "prs", "Dari" }, { "ps", "Pashto" }, { "pt", "Portuguese" }, { "qu", "Quechua" }, { "qut", "K'iche'" }, { "rm", "Romansh" }, { "ro", "Romanian" }, { "ru", "Russian" }, { "rw", "Kinyarwanda" }, { "sa", "Sanskrit" }, { "sah", "Yakut" }, { "sd", "Sindhi" }, { "se", "Sami (Northern)" }, { "se", "Northern Sami" }, { "si", "Sinhalese" }, { "sk", "Slovak" }, { "sl", "Slovenian" }, { "sma", "Sami (Southern)" }, { "sma", "Southern Sami" }, { "smj", "Sami (Lule)" }, { "smj", "Lule Sami" }, { "smn", "Sami (Inari)" }, { "smn", "Inari Sami" }, { "sms", "Sami (Skolt)" }, { "sms", "Skolt Sami" }, { "so", "Somali" }, { "sq", "Albanian" }, { "sr", "Serbian (Latin)" }, { "sr@cyrillic", "SRB" }, /* Serbian (Cyrillic) */ { "sw", "Swahili" }, { "syr", "Syriac" }, { "ta", "Tamil" }, { "te", "Telugu" }, { "tg", "Tajik" }, { "th", "Thai" }, { "ti", "Tigrinya" }, { "tk", "Turkmen" }, { "tl", "Filipino" }, { "tn", "Tswana" }, { "tr", "Turkish" }, { "ts", "Tsonga" }, { "tt", "Tatar" }, { "ug", "Uighur" }, { "uk", "Ukrainian" }, { "ur", "Urdu" }, { "uz", "Uzbek" }, { "uz", "Uzbek (Latin)" }, { "uz@cyrillic", "Uzbek (Cyrillic)" }, { "ve", "Venda" }, { "vi", "Vietnamese" }, { "wen", "Sorbian" }, { "wo", "Wolof" }, { "xh", "Xhosa" }, { "yi", "Yiddish" }, { "yo", "Yoruba" }, { "zh", "Chinese" }, { "zu", "Zulu" } }; /* Table from ISO 3166 country code to English name. Keep in sync with the gl_locale_name_from_win32_LANGID function in localename.c! */ static const struct table_entry country_table[] = { { "AE", "U.A.E." }, { "AF", "Afghanistan" }, { "AL", "Albania" }, { "AM", "Armenia" }, { "AN", "Netherlands Antilles" }, { "AR", "Argentina" }, { "AT", "Austria" }, { "AU", "Australia" }, { "AZ", "Azerbaijan" }, { "BA", "Bosnia and Herzegovina" }, { "BD", "Bangladesh" }, { "BE", "Belgium" }, { "BG", "Bulgaria" }, { "BH", "Bahrain" }, { "BN", "Brunei Darussalam" }, { "BO", "Bolivia" }, { "BR", "Brazil" }, { "BT", "Bhutan" }, { "BY", "Belarus" }, { "BZ", "Belize" }, { "CA", "Canada" }, { "CG", "Congo" }, { "CH", "Switzerland" }, { "CI", "Cote d'Ivoire" }, { "CL", "Chile" }, { "CM", "Cameroon" }, { "CN", "People's Republic of China" }, { "CO", "Colombia" }, { "CR", "Costa Rica" }, { "CS", "Serbia and Montenegro" }, { "CZ", "Czech Republic" }, { "DE", "Germany" }, { "DK", "Denmark" }, { "DO", "Dominican Republic" }, { "DZ", "Algeria" }, { "EC", "Ecuador" }, { "EE", "Estonia" }, { "EG", "Egypt" }, { "ER", "Eritrea" }, { "ES", "Spain" }, { "ET", "Ethiopia" }, { "FI", "Finland" }, { "FO", "Faroe Islands" }, { "FR", "France" }, { "GB", "United Kingdom" }, { "GD", "Caribbean" }, { "GE", "Georgia" }, { "GL", "Greenland" }, { "GR", "Greece" }, { "GT", "Guatemala" }, { "HK", "Hong Kong" }, { "HK", "Hong Kong S.A.R." }, { "HN", "Honduras" }, { "HR", "Croatia" }, { "HT", "Haiti" }, { "HU", "Hungary" }, { "ID", "Indonesia" }, { "IE", "Ireland" }, { "IL", "Israel" }, { "IN", "India" }, { "IQ", "Iraq" }, { "IR", "Iran" }, { "IS", "Iceland" }, { "IT", "Italy" }, { "JM", "Jamaica" }, { "JO", "Jordan" }, { "JP", "Japan" }, { "KE", "Kenya" }, { "KG", "Kyrgyzstan" }, { "KH", "Cambodia" }, { "KR", "South Korea" }, { "KW", "Kuwait" }, { "KZ", "Kazakhstan" }, { "LA", "Laos" }, { "LB", "Lebanon" }, { "LI", "Liechtenstein" }, { "LK", "Sri Lanka" }, { "LT", "Lithuania" }, { "LU", "Luxembourg" }, { "LV", "Latvia" }, { "LY", "Libya" }, { "MA", "Morocco" }, { "MC", "Principality of Monaco" }, { "MD", "Moldava" }, { "MD", "Moldova" }, { "ME", "Montenegro" }, { "MK", "Former Yugoslav Republic of Macedonia" }, { "ML", "Mali" }, { "MM", "Myanmar" }, { "MN", "Mongolia" }, { "MO", "Macau S.A.R." }, { "MT", "Malta" }, { "MV", "Maldives" }, { "MX", "Mexico" }, { "MY", "Malaysia" }, { "NG", "Nigeria" }, { "NI", "Nicaragua" }, { "NL", "Netherlands" }, { "NO", "Norway" }, { "NP", "Nepal" }, { "NZ", "New Zealand" }, { "OM", "Oman" }, { "PA", "Panama" }, { "PE", "Peru" }, { "PH", "Philippines" }, { "PK", "Islamic Republic of Pakistan" }, { "PL", "Poland" }, { "PR", "Puerto Rico" }, { "PT", "Portugal" }, { "PY", "Paraguay" }, { "QA", "Qatar" }, { "RE", "Reunion" }, { "RO", "Romania" }, { "RS", "Serbia" }, { "RU", "Russia" }, { "RW", "Rwanda" }, { "SA", "Saudi Arabia" }, { "SE", "Sweden" }, { "SG", "Singapore" }, { "SI", "Slovenia" }, { "SK", "Slovak" }, { "SN", "Senegal" }, { "SO", "Somalia" }, { "SR", "Suriname" }, { "SV", "El Salvador" }, { "SY", "Syria" }, { "TH", "Thailand" }, { "TJ", "Tajikistan" }, { "TM", "Turkmenistan" }, { "TN", "Tunisia" }, { "TR", "Turkey" }, { "TT", "Trinidad and Tobago" }, { "TW", "Taiwan" }, { "TZ", "Tanzania" }, { "UA", "Ukraine" }, { "US", "United States" }, { "UY", "Uruguay" }, { "VA", "Vatican" }, { "VE", "Venezuela" }, { "VN", "Viet Nam" }, { "YE", "Yemen" }, { "ZA", "South Africa" }, { "ZW", "Zimbabwe" } }; /* Given a string STRING, find the set of indices i such that TABLE[i].code is the given STRING. It is a range [lo,hi-1]. */ typedef struct { size_t lo; size_t hi; } range_t; static void search (const struct table_entry *table, size_t table_size, const char *string, range_t *result) { /* The table is sorted. Perform a binary search. */ size_t hi = table_size; size_t lo = 0; while (lo < hi) { /* Invariant: for i < lo, strcmp (table[i].code, string) < 0, for i >= hi, strcmp (table[i].code, string) > 0. */ size_t mid = (hi + lo) >> 1; /* >= lo, < hi */ int cmp = strcmp (table[mid].code, string); if (cmp < 0) lo = mid + 1; else if (cmp > 0) hi = mid; else { /* Found an i with strcmp (language_table[i].code, string) == 0. Find the entire interval of such i. */ { size_t i; for (i = mid; i > lo; ) { i--; if (strcmp (table[i].code, string) < 0) { lo = i + 1; break; } } } { size_t i; for (i = mid; i < hi; i++) { if (strcmp (table[i].code, string) > 0) { hi = i; break; } } } /* The set of i with strcmp (language_table[i].code, string) == 0 is the interval [lo, hi-1]. */ break; } } result->lo = lo; result->hi = hi; } /* Like setlocale, but accept also locale names in the form ll or ll_CC, where ll is an ISO 639 language code and CC is an ISO 3166 country code. */ static char * setlocale_unixlike (int category, const char *locale) { char *result; char llCC_buf[64]; char ll_buf[64]; char CC_buf[64]; /* First, try setlocale with the original argument unchanged. */ result = setlocale (category, locale); if (result != NULL) return result; /* Otherwise, assume the argument is in the form language[_territory][.codeset][@modifier] and try to map it using the tables. */ if (strlen (locale) < sizeof (llCC_buf)) { /* Second try: Remove the codeset part. */ { const char *p = locale; char *q = llCC_buf; /* Copy the part before the dot. */ for (; *p != '\0' && *p != '.'; p++, q++) *q = *p; if (*p == '.') /* Skip the part up to the '@', if any. */ for (; *p != '\0' && *p != '@'; p++) ; /* Copy the part starting with '@', if any. */ for (; *p != '\0'; p++, q++) *q = *p; *q = '\0'; } /* llCC_buf now contains language[_territory][@modifier] */ if (strcmp (llCC_buf, locale) != 0) { result = setlocale (category, llCC_buf); if (result != NULL) return result; } /* Look it up in language_table. */ { range_t range; size_t i; search (language_table, sizeof (language_table) / sizeof (language_table[0]), llCC_buf, &range); for (i = range.lo; i < range.hi; i++) { /* Try the replacement in language_table[i]. */ result = setlocale (category, language_table[i].english); if (result != NULL) return result; } } /* Split language[_territory][@modifier] into ll_buf = language[@modifier] and CC_buf = territory */ { const char *underscore = strchr (llCC_buf, '_'); if (underscore != NULL) { const char *territory_start = underscore + 1; const char *territory_end = strchr (territory_start, '@'); if (territory_end == NULL) territory_end = territory_start + strlen (territory_start); memcpy (ll_buf, llCC_buf, underscore - llCC_buf); strcpy (ll_buf + (underscore - llCC_buf), territory_end); memcpy (CC_buf, territory_start, territory_end - territory_start); CC_buf[territory_end - territory_start] = '\0'; { /* Look up ll_buf in language_table and CC_buf in country_table. */ range_t language_range; search (language_table, sizeof (language_table) / sizeof (language_table[0]), ll_buf, &language_range); if (language_range.lo < language_range.hi) { range_t country_range; search (country_table, sizeof (country_table) / sizeof (country_table[0]), CC_buf, &country_range); if (country_range.lo < country_range.hi) { size_t i; size_t j; for (i = language_range.lo; i < language_range.hi; i++) for (j = country_range.lo; j < country_range.hi; j++) { /* Concatenate the replacements. */ const char *part1 = language_table[i].english; size_t part1_len = strlen (part1); const char *part2 = country_table[j].english; size_t part2_len = strlen (part2) + 1; char buf[64+64]; if (!(part1_len + 1 + part2_len <= sizeof (buf))) abort (); memcpy (buf, part1, part1_len); buf[part1_len] = '_'; memcpy (buf + part1_len + 1, part2, part2_len); /* Try the concatenated replacements. */ result = setlocale (category, buf); if (result != NULL) return result; } } /* Try omitting the country entirely. This may set a locale corresponding to the wrong country, but is better than failing entirely. */ { size_t i; for (i = language_range.lo; i < language_range.hi; i++) { /* Try only the language replacement. */ result = setlocale (category, language_table[i].english); if (result != NULL) return result; } } } } } } } /* Failed. */ return NULL; } # else # define setlocale_unixlike setlocale # endif # if LC_MESSAGES == 1729 /* The system does not store an LC_MESSAGES locale category. Do it here. */ static char lc_messages_name[64] = "C"; /* Like setlocale, but support also LC_MESSAGES. */ static char * setlocale_single (int category, const char *locale) { if (category == LC_MESSAGES) { if (locale != NULL) { lc_messages_name[sizeof (lc_messages_name) - 1] = '\0'; strncpy (lc_messages_name, locale, sizeof (lc_messages_name) - 1); } return lc_messages_name; } else return setlocale_unixlike (category, locale); } # else # define setlocale_single setlocale_unixlike # endif char * rpl_setlocale (int category, const char *locale) { if (locale != NULL && locale[0] == '\0') { /* A request to the set the current locale to the default locale. */ if (category == LC_ALL) { /* Set LC_CTYPE first. Then the other categories. */ static int const categories[] = { LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES }; char *saved_locale; const char *base_name; unsigned int i; /* Back up the old locale, in case one of the steps fails. */ saved_locale = setlocale (LC_ALL, NULL); if (saved_locale == NULL) return NULL; saved_locale = strdup (saved_locale); if (saved_locale == NULL) return NULL; /* Set LC_CTYPE category. Set all other categories (except possibly LC_MESSAGES) to the same value in the same call; this is likely to save calls. */ base_name = gl_locale_name_environ (LC_CTYPE, category_to_name (LC_CTYPE)); if (base_name == NULL) base_name = gl_locale_name_default (); if (setlocale_unixlike (LC_ALL, base_name) == NULL) goto fail; # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, setlocale(LC_ALL,...) may succeed but set the LC_CTYPE category to an invalid value ("C") when it does not support the specified encoding. Report a failure instead. */ if (strchr (base_name, '.') != NULL && strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) goto fail; # endif for (i = 0; i < sizeof (categories) / sizeof (categories[0]); i++) { int cat = categories[i]; const char *name; name = gl_locale_name_environ (cat, category_to_name (cat)); if (name == NULL) name = gl_locale_name_default (); /* If name is the same as base_name, it has already been set through the setlocale call before the loop. */ if (strcmp (name, base_name) != 0 # if LC_MESSAGES == 1729 || cat == LC_MESSAGES # endif ) if (setlocale_single (cat, name) == NULL) goto fail; } /* All steps were successful. */ free (saved_locale); return setlocale (LC_ALL, NULL); fail: if (saved_locale[0] != '\0') /* don't risk an endless recursion */ setlocale (LC_ALL, saved_locale); free (saved_locale); return NULL; } else { const char *name = gl_locale_name_environ (category, category_to_name (category)); if (name == NULL) name = gl_locale_name_default (); return setlocale_single (category, name); } } else { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ if (category == LC_ALL && locale != NULL && strchr (locale, '.') != NULL) { char *saved_locale; /* Back up the old locale. */ saved_locale = setlocale (LC_ALL, NULL); if (saved_locale == NULL) return NULL; saved_locale = strdup (saved_locale); if (saved_locale == NULL) return NULL; if (setlocale_unixlike (LC_ALL, locale) == NULL) { free (saved_locale); return NULL; } /* On native Windows, setlocale(LC_ALL,...) may succeed but set the LC_CTYPE category to an invalid value ("C") when it does not support the specified encoding. Report a failure instead. */ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) { if (saved_locale[0] != '\0') /* don't risk an endless recursion */ setlocale (LC_ALL, saved_locale); free (saved_locale); return NULL; } /* It was really successful. */ free (saved_locale); return setlocale (LC_ALL, NULL); } else # endif return setlocale_single (category, locale); } } #endif coreutils-8.21/gnulib-tests/w32sock.h0000664000000000000000000000634112071024546014437 00000000000000/* w32sock.h --- internal auxiliary functions for Windows socket functions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include /* Get O_RDWR and O_BINARY. */ #include /* Get _open_osfhandle(). */ #include /* Get _get_osfhandle(). */ #include "msvc-nothrow.h" #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) #define SOCKET_TO_FD(fh) (_open_osfhandle ((intptr_t) (fh), O_RDWR | O_BINARY)) static inline void set_winsock_errno (void) { int err = WSAGetLastError (); /* Map some WSAE* errors to the runtime library's error codes. */ switch (err) { case WSA_INVALID_HANDLE: errno = EBADF; break; case WSA_NOT_ENOUGH_MEMORY: errno = ENOMEM; break; case WSA_INVALID_PARAMETER: errno = EINVAL; break; case WSAENAMETOOLONG: errno = ENAMETOOLONG; break; case WSAENOTEMPTY: errno = ENOTEMPTY; break; case WSAEWOULDBLOCK: errno = EWOULDBLOCK; break; case WSAEINPROGRESS: errno = EINPROGRESS; break; case WSAEALREADY: errno = EALREADY; break; case WSAENOTSOCK: errno = ENOTSOCK; break; case WSAEDESTADDRREQ: errno = EDESTADDRREQ; break; case WSAEMSGSIZE: errno = EMSGSIZE; break; case WSAEPROTOTYPE: errno = EPROTOTYPE; break; case WSAENOPROTOOPT: errno = ENOPROTOOPT; break; case WSAEPROTONOSUPPORT: errno = EPROTONOSUPPORT; break; case WSAEOPNOTSUPP: errno = EOPNOTSUPP; break; case WSAEAFNOSUPPORT: errno = EAFNOSUPPORT; break; case WSAEADDRINUSE: errno = EADDRINUSE; break; case WSAEADDRNOTAVAIL: errno = EADDRNOTAVAIL; break; case WSAENETDOWN: errno = ENETDOWN; break; case WSAENETUNREACH: errno = ENETUNREACH; break; case WSAENETRESET: errno = ENETRESET; break; case WSAECONNABORTED: errno = ECONNABORTED; break; case WSAECONNRESET: errno = ECONNRESET; break; case WSAENOBUFS: errno = ENOBUFS; break; case WSAEISCONN: errno = EISCONN; break; case WSAENOTCONN: errno = ENOTCONN; break; case WSAETIMEDOUT: errno = ETIMEDOUT; break; case WSAECONNREFUSED: errno = ECONNREFUSED; break; case WSAELOOP: errno = ELOOP; break; case WSAEHOSTUNREACH: errno = EHOSTUNREACH; break; default: errno = (err > 10000 && err < 10025) ? err - 10000 : err; break; } } coreutils-8.21/gnulib-tests/test-math.c0000664000000000000000000000435012071024546015043 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #ifndef NAN # error NAN should be defined choke me #endif #ifndef HUGE_VALF # error HUGE_VALF should be defined choke me #endif #ifndef HUGE_VAL # error HUGE_VAL should be defined choke me #endif #ifndef HUGE_VALL # error HUGE_VALL should be defined choke me #endif #ifndef FP_ILOGB0 # error FP_ILOGB0 should be defined choke me #endif #ifndef FP_ILOGBNAN # error FP_ILOGBNAN should be defined choke me #endif #include #include "macros.h" #if 0 /* Check that NAN expands into a constant expression. */ static float n = NAN; #endif /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equalf (float x, float y) { return x == y; } static int numeric_equald (double x, double y) { return x == y; } static int numeric_equall (long double x, long double y) { return x == y; } int main (void) { double d = NAN; double zero = 0.0; ASSERT (!numeric_equald (d, d)); d = HUGE_VAL; ASSERT (numeric_equald (d, 1.0 / zero)); ASSERT (numeric_equalf (HUGE_VALF, HUGE_VALF + HUGE_VALF)); ASSERT (numeric_equald (HUGE_VAL, HUGE_VAL + HUGE_VAL)); ASSERT (numeric_equall (HUGE_VALL, HUGE_VALL + HUGE_VALL)); /* Check the value of FP_ILOGB0. */ ASSERT (FP_ILOGB0 == INT_MIN || FP_ILOGB0 == - INT_MAX); /* Check the value of FP_ILOGBNAN. */ ASSERT (FP_ILOGBNAN == INT_MIN || FP_ILOGBNAN == INT_MAX); return 0; } coreutils-8.21/gnulib-tests/test-mbrtowc-w32-3.sh0000775000000000000000000000012111624730153016524 00000000000000#!/bin/sh # Test a CP932 locale. ./test-mbrtowc-w32${EXEEXT} Japanese_Japan 932 coreutils-8.21/gnulib-tests/test-select-in.sh0000775000000000000000000000166111624730155016175 00000000000000#!/bin/sh # Test select() on file descriptors opened for reading. # This test is known to fail on Solaris 2.6 and older, due to its handling # of /dev/null. tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-select-in.tmp" # Regular files. rm -f t-select-in.tmp ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < ./test-select-fd${EXEEXT} test `cat t-select-in.tmp` = "1" || exit 1 # Pipes. rm -f t-select-in.tmp { sleep 1; echo abc; } | \ { ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; cat > /dev/null; } test `cat t-select-in.tmp` = "0" || exit 1 rm -f t-select-in.tmp echo abc | { sleep 1; ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; } test `cat t-select-in.tmp` = "1" || exit 1 # Special files. # This part of the test is known to fail on Solaris 2.6 and older. rm -f t-select-in.tmp ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null test `cat t-select-in.tmp` = "1" || exit 1 rm -fr $tmpfiles exit 0 coreutils-8.21/gnulib-tests/test-inttostr.c0000664000000000000000000000735412071024546016007 00000000000000/* Test inttostr functions, and incidentally, INT_BUFSIZE_BOUND Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "inttostr.h" #include "intprops.h" #include #include #include #include #include "macros.h" #define STREQ(a, b) (strcmp (a, b) == 0) #define FMT(T) (TYPE_SIGNED (T) ? "%jd" : "%ju") #define CAST_VAL(T,V) (TYPE_SIGNED (T) ? (intmax_t) (V) : (uintmax_t) (V)) #define V_min(T) (CAST_VAL (T, TYPE_MINIMUM (T))) #define V_max(T) (CAST_VAL (T, TYPE_MAXIMUM (T))) #define IS_TIGHT(T) (_GL_SIGNED_TYPE_OR_EXPR (T) == TYPE_SIGNED (T)) #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Verify that an inttostr function works as advertised. Convert maximum and minimum (per-type, T) values using both snprintf -- with a cast to intmax_t or uintmax_t -- and FN, and compare the resulting strings. Use malloc for the inttostr buffer, so that if we ever exceed the usually-tight INT_BUFSIZE_BOUND, tools like valgrind will detect the failure. */ #define CK(T, Fn) \ do \ { \ char ref[100]; \ char *buf = malloc (INT_BUFSIZE_BOUND (T)); \ char const *p; \ ASSERT (buf); \ *buf = '\0'; \ ASSERT (snprintf (ref, sizeof ref, FMT (T), V_min (T)) < sizeof ref); \ ASSERT (STREQ ((p = Fn (TYPE_MINIMUM (T), buf)), ref)); \ /* Ensure that INT_BUFSIZE_BOUND is tight for signed types. */ \ ASSERT (! TYPE_SIGNED (T) || (p == buf && *p == '-')); \ ASSERT (snprintf (ref, sizeof ref, FMT (T), V_max (T)) < sizeof ref); \ ASSERT (STREQ ((p = Fn (TYPE_MAXIMUM (T), buf)), ref)); \ /* For unsigned types, the bound is not always tight. */ \ ASSERT (! IS_TIGHT (T) || TYPE_SIGNED (T) \ || (p == buf && ISDIGIT (*p))); \ free (buf); \ } \ while (0) int main (void) { size_t b_size = 2; char *b = malloc (b_size); ASSERT (b); /* Ideally we would rely on the snprintf-posix module, in which case this guard would not be required, but due to limitations in gnulib's implementation (see modules/snprintf-posix), we cannot. */ if (snprintf (b, b_size, "%ju", (uintmax_t) 3) == 1 && b[0] == '3' && b[1] == '\0') { CK (int, inttostr); CK (unsigned int, uinttostr); CK (off_t, offtostr); CK (uintmax_t, umaxtostr); CK (intmax_t, imaxtostr); return 0; } /* snprintf doesn't accept %ju; skip this test. */ return 77; } coreutils-8.21/gnulib-tests/test-binary-io.sh0000775000000000000000000000056311777552746016224 00000000000000#!/bin/sh tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp t-bin-out2.tmp" ./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1 cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1 ./test-binary-io${EXEEXT} 2 > t-bin-out2.tmp || exit 1 cmp t-bin-out0.tmp t-bin-out2.tmp > /dev/null || exit 1 rm -fr $tmpfiles exit 0 coreutils-8.21/gnulib-tests/test-ioctl.c0000664000000000000000000000241412100637437015225 00000000000000/* Test of ioctl() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include "signature.h" SIGNATURE_CHECK (ioctl, int, (int, int, ...)); #include #include #include "macros.h" int main (void) { #ifdef FIONREAD /* Test behaviour for invalid file descriptors. */ { int value; errno = 0; ASSERT (ioctl (-1, FIONREAD, &value) == -1); ASSERT (errno == EBADF); } { int value; close (99); errno = 0; ASSERT (ioctl (99, FIONREAD, &value) == -1); ASSERT (errno == EBADF); } #endif return 0; } coreutils-8.21/gnulib-tests/test-wcrtomb-w32.c0000664000000000000000000002171512071024546016204 00000000000000/* Test of conversion of wide character to multibyte character. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include "macros.h" #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ static int test_one_locale (const char *name, int codepage) { char buf[64]; size_t ret; # if 1 /* Portable code to set the locale. */ { char name_with_codepage[1024]; sprintf (name_with_codepage, "%s.%d", name, codepage); /* Set the locale. */ if (setlocale (LC_ALL, name_with_codepage) == NULL) return 77; } # else /* Hacky way to set a locale.codepage combination that setlocale() refuses to set. */ { /* Codepage of the current locale, set with setlocale(). Not necessarily the same as GetACP(). */ extern __declspec(dllimport) unsigned int __lc_codepage; /* Set the locale. */ if (setlocale (LC_ALL, name) == NULL) return 77; /* Clobber the codepage and MB_CUR_MAX, both set by setlocale(). */ __lc_codepage = codepage; switch (codepage) { case 1252: case 1256: MB_CUR_MAX = 1; break; case 932: case 950: case 936: MB_CUR_MAX = 2; break; case 54936: case 65001: MB_CUR_MAX = 4; break; } /* Test whether the codepage is really available. */ { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, " ", 1, &state) == (size_t)(-1)) return 77; } } # endif /* Test NUL character. */ { buf[0] = 'x'; ret = wcrtomb (buf, 0, NULL); ASSERT (ret == 1); ASSERT (buf[0] == '\0'); } /* Test single bytes. */ { int c; for (c = 0; c < 0x100; c++) switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* c is in the ISO C "basic character set". */ ret = wcrtomb (buf, btowc (c), NULL); ASSERT (ret == 1); ASSERT (buf[0] == (char) c); break; } } /* Test special calling convention, passing a NULL pointer. */ { ret = wcrtomb (NULL, '\0', NULL); ASSERT (ret == 1); ret = wcrtomb (NULL, btowc ('x'), NULL); ASSERT (ret == 1); } switch (codepage) { case 1252: /* Locale encoding is CP1252, an extension of ISO-8859-1. */ { /* Convert "B\374\337er": "Büßer" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00FC, NULL); ASSERT (ret == 1); ASSERT (memcmp (buf, "\374", 1) == 0); ASSERT (buf[1] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00DF, NULL); ASSERT (ret == 1); ASSERT (memcmp (buf, "\337", 1) == 0); ASSERT (buf[1] == 'x'); } return 0; case 1256: /* Locale encoding is CP1256, not the same as ISO-8859-6. */ { /* Convert "x\302\341\346y": "xآلوy" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x0622, NULL); ASSERT (ret == 1); ASSERT (memcmp (buf, "\302", 1) == 0); ASSERT (buf[1] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x0644, NULL); ASSERT (ret == 1); ASSERT (memcmp (buf, "\341", 1) == 0); ASSERT (buf[1] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x0648, NULL); ASSERT (ret == 1); ASSERT (memcmp (buf, "\346", 1) == 0); ASSERT (buf[1] == 'x'); } return 0; case 932: /* Locale encoding is CP932, similar to Shift_JIS. */ { /* Convert "<\223\372\226\173\214\352>": "<日本語>" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x65E5, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\223\372", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x672C, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\226\173", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x8A9E, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\214\352", 2) == 0); ASSERT (buf[2] == 'x'); } return 0; case 950: /* Locale encoding is CP950, similar to Big5. */ { /* Convert "<\244\351\245\273\273\171>": "<日本語>" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x65E5, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\244\351", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x672C, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\245\273", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x8A9E, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\273\171", 2) == 0); ASSERT (buf[2] == 'x'); } return 0; case 936: /* Locale encoding is CP936 = GBK, an extension of GB2312. */ { /* Convert "<\310\325\261\276\325\132>": "<日本語>" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x65E5, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\310\325", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x672C, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\261\276", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x8A9E, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\325\132", 2) == 0); ASSERT (buf[2] == 'x'); } return 0; case 54936: /* Locale encoding is CP54936 = GB18030. */ { /* Convert "B\250\271\201\060\211\070er": "Büßer" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00FC, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\250\271", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00DF, NULL); ASSERT (ret == 4); ASSERT (memcmp (buf, "\201\060\211\070", 4) == 0); ASSERT (buf[4] == 'x'); } return 0; case 65001: /* Locale encoding is CP65001 = UTF-8. */ { /* Convert "B\303\274\303\237er": "Büßer" */ memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00FC, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\303\274", 2) == 0); ASSERT (buf[2] == 'x'); memset (buf, 'x', 8); ret = wcrtomb (buf, 0x00DF, NULL); ASSERT (ret == 2); ASSERT (memcmp (buf, "\303\237", 2) == 0); ASSERT (buf[2] == 'x'); } return 0; default: return 1; } } int main (int argc, char *argv[]) { int codepage = atoi (argv[argc - 1]); int result; int i; result = 77; for (i = 1; i < argc - 1; i++) { int ret = test_one_locale (argv[i], codepage); if (ret != 77) result = ret; } if (result == 77) { fprintf (stderr, "Skipping test: found no locale with codepage %d\n", codepage); } return result; } #else int main (int argc, char *argv[]) { fputs ("Skipping test: not a native Windows system\n", stderr); return 77; } #endif coreutils-8.21/gnulib-tests/test-bitrotate.c0000664000000000000000000003641412071024546016115 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson , 2008. */ #include #include "bitrotate.h" #include "macros.h" int main (void) { ASSERT (rotl8 (42, 0) == 42); ASSERT (rotl8 (42, 1) == 84); ASSERT (rotl8 (42, 2) == 168); ASSERT (rotl8 (42, 3) == 81); ASSERT (rotl8 (42, 4) == 162); ASSERT (rotl8 (42, 5) == 69); ASSERT (rotl8 (42, 6) == 138); ASSERT (rotl8 (42, 7) == 21); ASSERT (rotl8 (42, 8) == 42); ASSERT (rotr8 (42, 0) == 42); ASSERT (rotr8 (42, 1) == 21); ASSERT (rotr8 (42, 2) == 138); ASSERT (rotr8 (42, 3) == 69); ASSERT (rotr8 (42, 4) == 162); ASSERT (rotr8 (42, 5) == 81); ASSERT (rotr8 (42, 6) == 168); ASSERT (rotr8 (42, 7) == 84); ASSERT (rotr8 (42, 8) == 42); ASSERT (rotl16 (43981, 0) == 43981); ASSERT (rotl16 (43981, 1) == 22427); ASSERT (rotl16 (43981, 2) == 44854); ASSERT (rotl16 (43981, 3) == 24173); ASSERT (rotl16 (43981, 4) == 48346); ASSERT (rotl16 (43981, 5) == 31157); ASSERT (rotl16 (43981, 6) == 62314); ASSERT (rotl16 (43981, 7) == 59093); ASSERT (rotl16 (43981, 8) == 52651); ASSERT (rotl16 (43981, 9) == 39767); ASSERT (rotl16 (43981, 10) == 13999); ASSERT (rotl16 (43981, 11) == 27998); ASSERT (rotl16 (43981, 12) == 55996); ASSERT (rotl16 (43981, 13) == 46457); ASSERT (rotl16 (43981, 14) == 27379); ASSERT (rotl16 (43981, 15) == 54758); ASSERT (rotl16 (43981, 16) == 43981); ASSERT (rotr16 (43981, 0) == 43981); ASSERT (rotr16 (43981, 1) == 54758); ASSERT (rotr16 (43981, 2) == 27379); ASSERT (rotr16 (43981, 3) == 46457); ASSERT (rotr16 (43981, 4) == 55996); ASSERT (rotr16 (43981, 5) == 27998); ASSERT (rotr16 (43981, 6) == 13999); ASSERT (rotr16 (43981, 7) == 39767); ASSERT (rotr16 (43981, 8) == 52651); ASSERT (rotr16 (43981, 9) == 59093); ASSERT (rotr16 (43981, 10) == 62314); ASSERT (rotr16 (43981, 11) == 31157); ASSERT (rotr16 (43981, 12) == 48346); ASSERT (rotr16 (43981, 13) == 24173); ASSERT (rotr16 (43981, 14) == 44854); ASSERT (rotr16 (43981, 15) == 22427); ASSERT (rotr16 (43981, 16) == 43981); ASSERT (rotl32 (2309737967U, 1) == 324508639U); ASSERT (rotl32 (2309737967U, 2) == 649017278U); ASSERT (rotl32 (2309737967U, 3) == 1298034556U); ASSERT (rotl32 (2309737967U, 4) == 2596069112U); ASSERT (rotl32 (2309737967U, 5) == 897170929U); ASSERT (rotl32 (2309737967U, 6) == 1794341858U); ASSERT (rotl32 (2309737967U, 7) == 3588683716U); ASSERT (rotl32 (2309737967U, 8) == 2882400137U); ASSERT (rotl32 (2309737967U, 9) == 1469832979U); ASSERT (rotl32 (2309737967U, 10) == 2939665958U); ASSERT (rotl32 (2309737967U, 11) == 1584364621U); ASSERT (rotl32 (2309737967U, 12) == 3168729242U); ASSERT (rotl32 (2309737967U, 13) == 2042491189U); ASSERT (rotl32 (2309737967U, 14) == 4084982378U); ASSERT (rotl32 (2309737967U, 15) == 3874997461U); ASSERT (rotl32 (2309737967U, 16) == 3455027627U); ASSERT (rotl32 (2309737967U, 17) == 2615087959U); ASSERT (rotl32 (2309737967U, 18) == 935208623U); ASSERT (rotl32 (2309737967U, 19) == 1870417246U); ASSERT (rotl32 (2309737967U, 20) == 3740834492U); ASSERT (rotl32 (2309737967U, 21) == 3186701689U); ASSERT (rotl32 (2309737967U, 22) == 2078436083U); ASSERT (rotl32 (2309737967U, 23) == 4156872166U); ASSERT (rotl32 (2309737967U, 24) == 4018777037U); ASSERT (rotl32 (2309737967U, 25) == 3742586779U); ASSERT (rotl32 (2309737967U, 26) == 3190206263U); ASSERT (rotl32 (2309737967U, 27) == 2085445231U); ASSERT (rotl32 (2309737967U, 28) == 4170890462U); ASSERT (rotl32 (2309737967U, 29) == 4046813629U); ASSERT (rotl32 (2309737967U, 30) == 3798659963U); ASSERT (rotl32 (2309737967U, 31) == 3302352631U); ASSERT (rotr32 (2309737967U, 1) == 3302352631lU); ASSERT (rotr32 (2309737967U, 2) == 3798659963lU); ASSERT (rotr32 (2309737967U, 3) == 4046813629lU); ASSERT (rotr32 (2309737967U, 4) == 4170890462lU); ASSERT (rotr32 (2309737967U, 5) == 2085445231lU); ASSERT (rotr32 (2309737967U, 6) == 3190206263lU); ASSERT (rotr32 (2309737967U, 7) == 3742586779lU); ASSERT (rotr32 (2309737967U, 8) == 4018777037lU); ASSERT (rotr32 (2309737967U, 9) == 4156872166lU); ASSERT (rotr32 (2309737967U, 10) == 2078436083lU); ASSERT (rotr32 (2309737967U, 11) == 3186701689lU); ASSERT (rotr32 (2309737967U, 12) == 3740834492lU); ASSERT (rotr32 (2309737967U, 13) == 1870417246lU); ASSERT (rotr32 (2309737967U, 14) == 935208623lU); ASSERT (rotr32 (2309737967U, 15) == 2615087959lU); ASSERT (rotr32 (2309737967U, 16) == 3455027627lU); ASSERT (rotr32 (2309737967U, 17) == 3874997461lU); ASSERT (rotr32 (2309737967U, 18) == 4084982378lU); ASSERT (rotr32 (2309737967U, 19) == 2042491189lU); ASSERT (rotr32 (2309737967U, 20) == 3168729242lU); ASSERT (rotr32 (2309737967U, 21) == 1584364621lU); ASSERT (rotr32 (2309737967U, 22) == 2939665958lU); ASSERT (rotr32 (2309737967U, 23) == 1469832979lU); ASSERT (rotr32 (2309737967U, 24) == 2882400137lU); ASSERT (rotr32 (2309737967U, 25) == 3588683716lU); ASSERT (rotr32 (2309737967U, 26) == 1794341858lU); ASSERT (rotr32 (2309737967U, 27) == 897170929lU); ASSERT (rotr32 (2309737967U, 28) == 2596069112lU); ASSERT (rotr32 (2309737967U, 29) == 1298034556lU); ASSERT (rotr32 (2309737967U, 30) == 649017278lU); ASSERT (rotr32 (2309737967U, 31) == 324508639lU); #ifdef UINT64_MAX ASSERT (rotl64 (16045690984503098046ULL, 1) == 13644637895296644477ULL); ASSERT (rotl64 (16045690984503098046ULL, 2) == 8842531716883737339ULL); ASSERT (rotl64 (16045690984503098046ULL, 3) == 17685063433767474678ULL); ASSERT (rotl64 (16045690984503098046ULL, 4) == 16923382793825397741ULL); ASSERT (rotl64 (16045690984503098046ULL, 5) == 15400021513941243867ULL); ASSERT (rotl64 (16045690984503098046ULL, 6) == 12353298954172936119ULL); ASSERT (rotl64 (16045690984503098046ULL, 7) == 6259853834636320623ULL); ASSERT (rotl64 (16045690984503098046ULL, 8) == 12519707669272641246ULL); ASSERT (rotl64 (16045690984503098046ULL, 9) == 6592671264835730877ULL); ASSERT (rotl64 (16045690984503098046ULL, 10) == 13185342529671461754ULL); ASSERT (rotl64 (16045690984503098046ULL, 11) == 7923940985633371893ULL); ASSERT (rotl64 (16045690984503098046ULL, 12) == 15847881971266743786ULL); ASSERT (rotl64 (16045690984503098046ULL, 13) == 13249019868823935957ULL); ASSERT (rotl64 (16045690984503098046ULL, 14) == 8051295663938320299ULL); ASSERT (rotl64 (16045690984503098046ULL, 15) == 16102591327876640598ULL); ASSERT (rotl64 (16045690984503098046ULL, 16) == 13758438582043729581ULL); ASSERT (rotl64 (16045690984503098046ULL, 17) == 9070133090377907547ULL); ASSERT (rotl64 (16045690984503098046ULL, 18) == 18140266180755815094ULL); ASSERT (rotl64 (16045690984503098046ULL, 19) == 17833788287802078573ULL); ASSERT (rotl64 (16045690984503098046ULL, 20) == 17220832501894605531ULL); ASSERT (rotl64 (16045690984503098046ULL, 21) == 15994920930079659447ULL); ASSERT (rotl64 (16045690984503098046ULL, 22) == 13543097786449767279ULL); ASSERT (rotl64 (16045690984503098046ULL, 23) == 8639451499189982943ULL); ASSERT (rotl64 (16045690984503098046ULL, 24) == 17278902998379965886ULL); ASSERT (rotl64 (16045690984503098046ULL, 25) == 16111061923050380157ULL); ASSERT (rotl64 (16045690984503098046ULL, 26) == 13775379772391208699ULL); ASSERT (rotl64 (16045690984503098046ULL, 27) == 9104015471072865783ULL); ASSERT (rotl64 (16045690984503098046ULL, 28) == 18208030942145731566ULL); ASSERT (rotl64 (16045690984503098046ULL, 29) == 17969317810581911517ULL); ASSERT (rotl64 (16045690984503098046ULL, 30) == 17491891547454271419ULL); ASSERT (rotl64 (16045690984503098046ULL, 31) == 16537039021198991223ULL); ASSERT (rotl64 (16045690984503098046ULL, 32) == 14627333968688430831ULL); ASSERT (rotl64 (16045690984503098046ULL, 33) == 10807923863667310047ULL); ASSERT (rotl64 (16045690984503098046ULL, 34) == 3169103653625068479ULL); ASSERT (rotl64 (16045690984503098046ULL, 35) == 6338207307250136958ULL); ASSERT (rotl64 (16045690984503098046ULL, 36) == 12676414614500273916ULL); ASSERT (rotl64 (16045690984503098046ULL, 37) == 6906085155290996217ULL); ASSERT (rotl64 (16045690984503098046ULL, 38) == 13812170310581992434ULL); ASSERT (rotl64 (16045690984503098046ULL, 39) == 9177596547454433253ULL); ASSERT (rotl64 (16045690984503098046ULL, 40) == 18355193094908866506ULL); ASSERT (rotl64 (16045690984503098046ULL, 41) == 18263642116108181397ULL); ASSERT (rotl64 (16045690984503098046ULL, 42) == 18080540158506811179ULL); ASSERT (rotl64 (16045690984503098046ULL, 43) == 17714336243304070743ULL); ASSERT (rotl64 (16045690984503098046ULL, 44) == 16981928412898589871ULL); ASSERT (rotl64 (16045690984503098046ULL, 45) == 15517112752087628127ULL); ASSERT (rotl64 (16045690984503098046ULL, 46) == 12587481430465704639ULL); ASSERT (rotl64 (16045690984503098046ULL, 47) == 6728218787221857663ULL); ASSERT (rotl64 (16045690984503098046ULL, 48) == 13456437574443715326ULL); ASSERT (rotl64 (16045690984503098046ULL, 49) == 8466131075177879037ULL); ASSERT (rotl64 (16045690984503098046ULL, 50) == 16932262150355758074ULL); ASSERT (rotl64 (16045690984503098046ULL, 51) == 15417780227001964533ULL); ASSERT (rotl64 (16045690984503098046ULL, 52) == 12388816380294377451ULL); ASSERT (rotl64 (16045690984503098046ULL, 53) == 6330888686879203287ULL); ASSERT (rotl64 (16045690984503098046ULL, 54) == 12661777373758406574ULL); ASSERT (rotl64 (16045690984503098046ULL, 55) == 6876810673807261533ULL); ASSERT (rotl64 (16045690984503098046ULL, 56) == 13753621347614523066ULL); ASSERT (rotl64 (16045690984503098046ULL, 57) == 9060498621519494517ULL); ASSERT (rotl64 (16045690984503098046ULL, 58) == 18120997243038989034ULL); ASSERT (rotl64 (16045690984503098046ULL, 59) == 17795250412368426453ULL); ASSERT (rotl64 (16045690984503098046ULL, 60) == 17143756751027301291ULL); ASSERT (rotl64 (16045690984503098046ULL, 61) == 15840769428345050967ULL); ASSERT (rotl64 (16045690984503098046ULL, 62) == 13234794782980550319ULL); ASSERT (rotl64 (16045690984503098046ULL, 63) == 8022845492251549023ULL); ASSERT (rotr64 (16045690984503098046ULL, 1) == 8022845492251549023ULL); ASSERT (rotr64 (16045690984503098046ULL, 2) == 13234794782980550319ULL); ASSERT (rotr64 (16045690984503098046ULL, 3) == 15840769428345050967ULL); ASSERT (rotr64 (16045690984503098046ULL, 4) == 17143756751027301291ULL); ASSERT (rotr64 (16045690984503098046ULL, 5) == 17795250412368426453ULL); ASSERT (rotr64 (16045690984503098046ULL, 6) == 18120997243038989034ULL); ASSERT (rotr64 (16045690984503098046ULL, 7) == 9060498621519494517ULL); ASSERT (rotr64 (16045690984503098046ULL, 8) == 13753621347614523066ULL); ASSERT (rotr64 (16045690984503098046ULL, 9) == 6876810673807261533ULL); ASSERT (rotr64 (16045690984503098046ULL, 10) == 12661777373758406574ULL); ASSERT (rotr64 (16045690984503098046ULL, 11) == 6330888686879203287ULL); ASSERT (rotr64 (16045690984503098046ULL, 12) == 12388816380294377451ULL); ASSERT (rotr64 (16045690984503098046ULL, 13) == 15417780227001964533ULL); ASSERT (rotr64 (16045690984503098046ULL, 14) == 16932262150355758074ULL); ASSERT (rotr64 (16045690984503098046ULL, 15) == 8466131075177879037ULL); ASSERT (rotr64 (16045690984503098046ULL, 16) == 13456437574443715326ULL); ASSERT (rotr64 (16045690984503098046ULL, 17) == 6728218787221857663ULL); ASSERT (rotr64 (16045690984503098046ULL, 18) == 12587481430465704639ULL); ASSERT (rotr64 (16045690984503098046ULL, 19) == 15517112752087628127ULL); ASSERT (rotr64 (16045690984503098046ULL, 20) == 16981928412898589871ULL); ASSERT (rotr64 (16045690984503098046ULL, 21) == 17714336243304070743ULL); ASSERT (rotr64 (16045690984503098046ULL, 22) == 18080540158506811179ULL); ASSERT (rotr64 (16045690984503098046ULL, 23) == 18263642116108181397ULL); ASSERT (rotr64 (16045690984503098046ULL, 24) == 18355193094908866506ULL); ASSERT (rotr64 (16045690984503098046ULL, 25) == 9177596547454433253ULL); ASSERT (rotr64 (16045690984503098046ULL, 26) == 13812170310581992434ULL); ASSERT (rotr64 (16045690984503098046ULL, 27) == 6906085155290996217ULL); ASSERT (rotr64 (16045690984503098046ULL, 28) == 12676414614500273916ULL); ASSERT (rotr64 (16045690984503098046ULL, 29) == 6338207307250136958ULL); ASSERT (rotr64 (16045690984503098046ULL, 30) == 3169103653625068479ULL); ASSERT (rotr64 (16045690984503098046ULL, 31) == 10807923863667310047ULL); ASSERT (rotr64 (16045690984503098046ULL, 32) == 14627333968688430831ULL); ASSERT (rotr64 (16045690984503098046ULL, 33) == 16537039021198991223ULL); ASSERT (rotr64 (16045690984503098046ULL, 34) == 17491891547454271419ULL); ASSERT (rotr64 (16045690984503098046ULL, 35) == 17969317810581911517ULL); ASSERT (rotr64 (16045690984503098046ULL, 36) == 18208030942145731566ULL); ASSERT (rotr64 (16045690984503098046ULL, 37) == 9104015471072865783ULL); ASSERT (rotr64 (16045690984503098046ULL, 38) == 13775379772391208699ULL); ASSERT (rotr64 (16045690984503098046ULL, 39) == 16111061923050380157ULL); ASSERT (rotr64 (16045690984503098046ULL, 40) == 17278902998379965886ULL); ASSERT (rotr64 (16045690984503098046ULL, 41) == 8639451499189982943ULL); ASSERT (rotr64 (16045690984503098046ULL, 42) == 13543097786449767279ULL); ASSERT (rotr64 (16045690984503098046ULL, 43) == 15994920930079659447ULL); ASSERT (rotr64 (16045690984503098046ULL, 44) == 17220832501894605531ULL); ASSERT (rotr64 (16045690984503098046ULL, 45) == 17833788287802078573ULL); ASSERT (rotr64 (16045690984503098046ULL, 46) == 18140266180755815094ULL); ASSERT (rotr64 (16045690984503098046ULL, 47) == 9070133090377907547ULL); ASSERT (rotr64 (16045690984503098046ULL, 48) == 13758438582043729581ULL); ASSERT (rotr64 (16045690984503098046ULL, 49) == 16102591327876640598ULL); ASSERT (rotr64 (16045690984503098046ULL, 50) == 8051295663938320299ULL); ASSERT (rotr64 (16045690984503098046ULL, 51) == 13249019868823935957ULL); ASSERT (rotr64 (16045690984503098046ULL, 52) == 15847881971266743786ULL); ASSERT (rotr64 (16045690984503098046ULL, 53) == 7923940985633371893ULL); ASSERT (rotr64 (16045690984503098046ULL, 54) == 13185342529671461754ULL); ASSERT (rotr64 (16045690984503098046ULL, 55) == 6592671264835730877ULL); ASSERT (rotr64 (16045690984503098046ULL, 56) == 12519707669272641246ULL); ASSERT (rotr64 (16045690984503098046ULL, 57) == 6259853834636320623ULL); ASSERT (rotr64 (16045690984503098046ULL, 58) == 12353298954172936119ULL); ASSERT (rotr64 (16045690984503098046ULL, 59) == 15400021513941243867ULL); ASSERT (rotr64 (16045690984503098046ULL, 60) == 16923382793825397741ULL); ASSERT (rotr64 (16045690984503098046ULL, 61) == 17685063433767474678ULL); ASSERT (rotr64 (16045690984503098046ULL, 62) == 8842531716883737339ULL); ASSERT (rotr64 (16045690984503098046ULL, 63) == 13644637895296644477ULL); #endif /* UINT64_MAX */ return 0; } coreutils-8.21/gnulib-tests/test-chdir.c0000664000000000000000000000167412071024546015211 00000000000000/* Test changing to a directory. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include "signature.h" SIGNATURE_CHECK (chdir, int, (const char *)); #include "macros.h" int main (void) { ASSERT (chdir ("/") == 0); return 0; } coreutils-8.21/gnulib-tests/test-exclude.c0000664000000000000000000000626112071024546015546 00000000000000/* Test suite for exclude. Copyright (C) 2009-2013 Free Software Foundation, Inc. This file is part of the GNUlib Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include "exclude.h" #include "progname.h" #include "error.h" #include "argmatch.h" #ifndef FNM_CASEFOLD # define FNM_CASEFOLD 0 #endif #ifndef FNM_LEADING_DIR # define FNM_LEADING_DIR 0 #endif char const * const exclude_keywords[] = { "noescape", "pathname", "period", "leading_dir", "casefold", "anchored", "include", "wildcards", NULL }; int exclude_flags[] = { FNM_NOESCAPE, FNM_PATHNAME, FNM_PERIOD, FNM_LEADING_DIR, FNM_CASEFOLD, EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS }; ARGMATCH_VERIFY (exclude_keywords, exclude_flags); /* Some packages define ARGMATCH_DIE and ARGMATCH_DIE_DECL in , and thus must link with a definition of that function. Provide it here. */ #ifdef ARGMATCH_DIE_DECL _Noreturn ARGMATCH_DIE_DECL; ARGMATCH_DIE_DECL { exit (1); } #endif int main (int argc, char **argv) { int exclude_options = 0; struct exclude *exclude = new_exclude (); set_program_name (argv[0]); if (argc == 1) error (1, 0, "usage: %s file -- words...", argv[0]); while (--argc) { char *opt = *++argv; if (opt[0] == '-') { int neg = 0; int flag; char *s = opt + 1; if (opt[1] == '-' && opt[2] == 0) { argc--; break; } if (strlen (s) > 3 && memcmp (s, "no-", 3) == 0) { neg = 1; s += 3; } flag = XARGMATCH (opt, s, exclude_keywords, exclude_flags); if (neg) exclude_options &= ~flag; else exclude_options |= flag; /* Skip this test if invoked with -leading-dir on a system that lacks support for FNM_LEADING_DIR. */ if (strcmp (s, "leading_dir") == 0 && FNM_LEADING_DIR == 0) exit (77); /* Likewise for -casefold and FNM_CASEFOLD. */ if (strcmp (s, "casefold") == 0 && FNM_CASEFOLD == 0) exit (77); } else if (add_exclude_file (add_exclude, exclude, opt, exclude_options, '\n') != 0) error (1, errno, "error loading %s", opt); } for (; argc; --argc) { char *word = *++argv; printf ("%s: %d\n", word, excluded_file_name (exclude, word)); } return 0; } coreutils-8.21/gnulib-tests/test-strtoimax.c0000664000000000000000000001025112071024546016141 00000000000000/* * Copyright (C) 2011-2013 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" #ifndef strtoimax SIGNATURE_CHECK (strtoimax, intmax_t, (const char *, char **, int)); #endif #include #include "macros.h" int main (void) { /* Subject sequence empty or invalid. */ { const char input[] = ""; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " "; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " -"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } /* Simple integer values. */ { const char input[] = "0"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "+0"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-0"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "23"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = " 23"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "+23"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "-23"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == -23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } /* Large integer values. */ { const char input[] = "2147483647"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == 2147483647); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "-2147483648"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == -2147483647 - 1); ASSERT (ptr == input + 11); ASSERT (errno == 0); } if (sizeof (intmax_t) > sizeof (int)) { const char input[] = "4294967295"; char *ptr; intmax_t result; errno = 0; result = strtoimax (input, &ptr, 10); ASSERT (result == (intmax_t) 65535 * (intmax_t) 65537); ASSERT (ptr == input + 10); ASSERT (errno == 0); } return 0; } coreutils-8.21/gnulib-tests/test-exclude5.sh0000775000000000000000000000241512071024546016023 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test FNM_LEADING_DIR cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-mbrtowc-w32.c0000664000000000000000000005411512071024546016204 00000000000000/* Test of conversion of multibyte character to wide character. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include "macros.h" #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ static int test_one_locale (const char *name, int codepage) { mbstate_t state; wchar_t wc; size_t ret; # if 1 /* Portable code to set the locale. */ { char name_with_codepage[1024]; sprintf (name_with_codepage, "%s.%d", name, codepage); /* Set the locale. */ if (setlocale (LC_ALL, name_with_codepage) == NULL) return 77; } # else /* Hacky way to set a locale.codepage combination that setlocale() refuses to set. */ { /* Codepage of the current locale, set with setlocale(). Not necessarily the same as GetACP(). */ extern __declspec(dllimport) unsigned int __lc_codepage; /* Set the locale. */ if (setlocale (LC_ALL, name) == NULL) return 77; /* Clobber the codepage and MB_CUR_MAX, both set by setlocale(). */ __lc_codepage = codepage; switch (codepage) { case 1252: case 1256: MB_CUR_MAX = 1; break; case 932: case 950: case 936: MB_CUR_MAX = 2; break; case 54936: case 65001: MB_CUR_MAX = 4; break; } /* Test whether the codepage is really available. */ memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, " ", 1, &state) == (size_t)(-1)) return 77; } # endif /* Test zero-length input. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "x", 0, &state); /* gnulib's implementation returns (size_t)(-2). The AIX 5.1 implementation returns (size_t)(-1). glibc's implementation returns 0. */ ASSERT (ret == (size_t)(-2) || ret == (size_t)(-1) || ret == 0); ASSERT (mbsinit (&state)); } /* Test NUL byte input. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "", 1, &state); ASSERT (ret == 0); ASSERT (wc == 0); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, "", 1, &state); ASSERT (ret == 0); ASSERT (mbsinit (&state)); } /* Test single-byte input. */ { int c; char buf[1]; memset (&state, '\0', sizeof (mbstate_t)); for (c = 0; c < 0x100; c++) switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* c is in the ISO C "basic character set". */ buf[0] = c; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, buf, 1, &state); ASSERT (ret == 1); ASSERT (wc == c); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, buf, 1, &state); ASSERT (ret == 1); ASSERT (mbsinit (&state)); break; } } /* Test special calling convention, passing a NULL pointer. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, NULL, 5, &state); ASSERT (ret == 0); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } switch (codepage) { case 1252: /* Locale encoding is CP1252, an extension of ISO-8859-1. */ { char input[] = "B\374\337er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\374'); ASSERT (wc == 0x00FC); ASSERT (mbsinit (&state)); input[1] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\337'); ASSERT (wc == 0x00DF); ASSERT (mbsinit (&state)); input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); } return 0; case 1256: /* Locale encoding is CP1256, not the same as ISO-8859-6. */ { char input[] = "x\302\341\346y"; /* "xآلوy" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'x'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\302'); ASSERT (wc == 0x0622); ASSERT (mbsinit (&state)); input[1] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\341'); ASSERT (wc == 0x0644); ASSERT (mbsinit (&state)); input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 2, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\346'); ASSERT (wc == 0x0648); ASSERT (mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'y'); ASSERT (mbsinit (&state)); } return 0; case 932: /* Locale encoding is CP932, similar to Shift_JIS. */ { char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == '<'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 2, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x65E5); ASSERT (mbsinit (&state)); input[1] = '\0'; input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 4, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x672C); ASSERT (mbsinit (&state)); input[4] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x8A9E); ASSERT (mbsinit (&state)); input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 1, &state); ASSERT (ret == 1); ASSERT (wc == '>'); ASSERT (mbsinit (&state)); /* Test some invalid input. */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); } return 0; case 950: /* Locale encoding is CP950, similar to Big5. */ { char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == '<'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 2, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x65E5); ASSERT (mbsinit (&state)); input[1] = '\0'; input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 4, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x672C); ASSERT (mbsinit (&state)); input[4] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x8A9E); ASSERT (mbsinit (&state)); input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 1, &state); ASSERT (ret == 1); ASSERT (wc == '>'); ASSERT (mbsinit (&state)); /* Test some invalid input. */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); } return 0; case 936: /* Locale encoding is CP936 = GBK, an extension of GB2312. */ { char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == '<'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 2, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x65E5); ASSERT (mbsinit (&state)); input[1] = '\0'; input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 4, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x672C); ASSERT (mbsinit (&state)); input[4] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x8A9E); ASSERT (mbsinit (&state)); input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 1, &state); ASSERT (ret == 1); ASSERT (wc == '>'); ASSERT (mbsinit (&state)); /* Test some invalid input. */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); } return 0; case 54936: /* Locale encoding is CP54936 = GB18030. */ { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 7, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x00FC); ASSERT (mbsinit (&state)); input[2] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 3, 6, &state); ASSERT (ret == 4); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 6, &state); ASSERT (ret == 4); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x00DF); ASSERT (mbsinit (&state)); input[3] = '\0'; input[4] = '\0'; input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[5] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 8, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); /* Test some invalid input. */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\201\045", 2, &state); /* 0x81 0x25 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\201\060\377", 3, &state); /* 0x81 0x30 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\201\060\377\064", 4, &state); /* 0x81 0x30 0xFF 0x34 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\201\060\211\072", 4, &state); /* 0x81 0x30 0x89 0x3A */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); } return 0; case 65001: /* Locale encoding is CP65001 = UTF-8. */ { char input[] = "B\303\274\303\237er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 5, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x00FC); ASSERT (mbsinit (&state)); input[2] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 3, 4, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 4, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (wc == 0x00DF); ASSERT (mbsinit (&state)); input[3] = '\0'; input[4] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[5] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 6, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); /* Test some invalid input. */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\303\300", 2, &state); /* 0xC3 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\343\300", 2, &state); /* 0xE3 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\343\300\200", 3, &state); /* 0xE3 0xC0 0x80 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\343\200\300", 3, &state); /* 0xE3 0x80 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\363\300", 2, &state); /* 0xF3 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\363\300\200\200", 4, &state); /* 0xF3 0xC0 0x80 0x80 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\363\200\300", 3, &state); /* 0xF3 0x80 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\363\200\300\200", 4, &state); /* 0xF3 0x80 0xC0 0x80 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\363\200\200\300", 4, &state); /* 0xF3 0x80 0x80 0xC0 */ ASSERT (ret == (size_t)-1); ASSERT (errno == EILSEQ); } return 0; default: return 1; } } int main (int argc, char *argv[]) { int codepage = atoi (argv[argc - 1]); int result; int i; result = 77; for (i = 1; i < argc - 1; i++) { int ret = test_one_locale (argv[i], codepage); if (ret != 77) result = ret; } if (result == 77) { fprintf (stderr, "Skipping test: found no locale with codepage %d\n", codepage); } return result; } #else int main (int argc, char *argv[]) { fputs ("Skipping test: not a native Windows system\n", stderr); return 77; } #endif coreutils-8.21/gnulib-tests/test-getcwd.c0000664000000000000000000001522712104754777015411 00000000000000/* Test of getcwd() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include "pathmax.h" #include "macros.h" #if ! HAVE_GETPAGESIZE # define getpagesize() 0 #endif /* This size is chosen to be larger than PATH_MAX (4k), yet smaller than the 16kB pagesize on ia64 linux. Those conditions make the code below trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ #define TARGET_LEN (5 * 1024) #if defined HAVE_OPENAT || (defined GNULIB_OPENAT && defined HAVE_FDOPENDIR) # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 #endif /* Keep this test in sync with m4/getcwd-abort-bug.m4. */ static int test_abort_bug (void) { char *cwd; size_t initial_cwd_len; int fail = 0; /* The bug is triggered when PATH_MAX < getpagesize (), so skip this relatively expensive and invasive test if that's not true. */ #ifdef PATH_MAX int bug_possible = PATH_MAX < getpagesize (); #else int bug_possible = 0; #endif if (! bug_possible) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) return 2; initial_cwd_len = strlen (cwd); free (cwd); if (HAVE_OPENAT_SUPPORT) { static char const dir_name[] = "confdir-14B---"; size_t desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) / sizeof dir_name); size_t d; for (d = 0; d < desired_depth; d++) { if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) { if (! (errno == ERANGE || errno == ENAMETOOLONG || errno == ENOENT)) fail = 3; /* Unable to construct deep hierarchy. */ break; } } /* If libc has the bug in question, this invocation of getcwd results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) fail = 4; /* getcwd didn't assert, but it failed for a long name where the answer could have been learned. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); while (0 < d--) { if (chdir ("..") < 0) { fail = 5; break; } rmdir (dir_name); } } return fail; } /* The length of this name must be 8. */ #define DIR_NAME "confdir3" #define DIR_NAME_LEN 8 #define DIR_NAME_SIZE (DIR_NAME_LEN + 1) /* The length of "../". */ #define DOTDOTSLASH_LEN 3 /* Leftover bytes in the buffer, to work around library or OS bugs. */ #define BUF_SLOP 20 /* Keep this test in sync with m4/getcwd-path-max.m4. */ static int test_long_name (void) { #ifndef PATH_MAX /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- at least not on a local file system. And if we were to start worrying about remote file systems, we'd have to enable the wrapper function all of the time, just to be safe. That's not worth the cost. */ return 0; #elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - DIR_NAME_SIZE - BUF_SLOP) \ <= PATH_MAX) /* FIXME: Assuming there's a system for which this is true, this should be done in a compile test. */ return 0; #else char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + DIR_NAME_SIZE + BUF_SLOP]; char *cwd = getcwd (buf, PATH_MAX); size_t initial_cwd_len; size_t cwd_len; int fail = 0; size_t n_chdirs = 0; if (cwd == NULL) return 1; cwd_len = initial_cwd_len = strlen (cwd); while (1) { size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); char *c = NULL; cwd_len += DIR_NAME_SIZE; /* If mkdir or chdir fails, it could be that this system cannot create any file with an absolute name longer than PATH_MAX, such as cygwin. If so, leave fail as 0, because the current working directory can't be too long for getcwd if it can't even be created. For other errors, be pessimistic and consider that as a failure, too. */ if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || errno == ENAMETOOLONG || errno == ENOENT)) fail = 2; break; } if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { fail = 3; break; } if (c) { fail = 4; break; } if (! (errno == ERANGE || errno == ENAMETOOLONG)) { fail = 5; break; } } if (dotdot_max <= cwd_len - initial_cwd_len) { if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) break; c = getcwd (buf, cwd_len + 1); if (!c) { if (! (errno == ERANGE || errno == ENOENT || errno == ENAMETOOLONG)) { fail = 6; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { fail = 7; break; } } } if (c && strlen (c) != cwd_len) { fail = 8; break; } ++n_chdirs; } /* Leaving behind such a deep directory is not polite. So clean up here, right away, even though the driving shell script would also clean up. */ { size_t i; /* Try rmdir first, in case the chdir failed. */ rmdir (DIR_NAME); for (i = 0; i <= n_chdirs; i++) { if (chdir ("..") < 0) break; if (rmdir (DIR_NAME) != 0) break; } } return fail; #endif } int main (int argc, char **argv) { return test_abort_bug () * 10 + test_long_name (); } coreutils-8.21/gnulib-tests/test-parse-datetime.c0000664000000000000000000003217012071024546017017 00000000000000/* Test of parse_datetime() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Simon Josefsson , 2008. */ #include #include "parse-datetime.h" #include #include #include #include "progname.h" #include "macros.h" #ifdef DEBUG #define LOG(str, now, res) \ printf ("string '%s' diff %d %d\n", \ str, res.tv_sec - now.tv_sec, res.tv_nsec - now.tv_nsec); #else #define LOG(str, now, res) (void) 0 #endif static const char *const day_table[] = { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", NULL }; #if ! HAVE_TM_GMTOFF /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) #define TM_YEAR_BASE 1900 /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. The body of this function is taken directly from the GNU C Library; see src/strftime.c. */ static long int tm_diff (struct tm const *a, struct tm const *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); long int ayear = a->tm_year; long int years = ayear - b->tm_year; long int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ static long gmt_offset (time_t s) { long gmtoff; #if !HAVE_TM_GMTOFF struct tm tm_local = *localtime (&s); struct tm tm_gmt = *gmtime (&s); gmtoff = tm_diff (&tm_local, &tm_gmt); #else gmtoff = localtime (&s)->tm_gmtoff; #endif return gmtoff; } int main (int argc _GL_UNUSED, char **argv) { struct timespec result; struct timespec result2; struct timespec expected; struct timespec now; const char *p; int i; long gmtoff; time_t ref_time = 1304250918; set_program_name (argv[0]); /* Set the time zone to US Eastern time with the 2012 rules. This should disable any leap second support. Otherwise, there will be a problem with glibc on sites that default to leap seconds; see . */ setenv ("TZ", "EST5EDT,M3.2.0,M11.1.0", 1); gmtoff = gmt_offset (ref_time); /* ISO 8601 extended date and time of day representation, 'T' separator, local time zone */ p = "2011-05-01T11:55:18"; expected.tv_sec = ref_time - gmtoff; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601 extended date and time of day representation, ' ' separator, local time zone */ p = "2011-05-01 11:55:18"; expected.tv_sec = ref_time - gmtoff; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601, extended date and time of day representation, 'T' separator, UTC */ p = "2011-05-01T11:55:18Z"; expected.tv_sec = ref_time; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601, extended date and time of day representation, ' ' separator, UTC */ p = "2011-05-01 11:55:18Z"; expected.tv_sec = ref_time; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601 extended date and time of day representation, 'T' separator, w/UTC offset */ p = "2011-05-01T11:55:18-07:00"; expected.tv_sec = 1304276118; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601 extended date and time of day representation, ' ' separator, w/UTC offset */ p = "2011-05-01 11:55:18-07:00"; expected.tv_sec = 1304276118; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601 extended date and time of day representation, 'T' separator, w/hour only UTC offset */ p = "2011-05-01T11:55:18-07"; expected.tv_sec = 1304276118; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); /* ISO 8601 extended date and time of day representation, ' ' separator, w/hour only UTC offset */ p = "2011-05-01 11:55:18-07"; expected.tv_sec = 1304276118; expected.tv_nsec = 0; ASSERT (parse_datetime (&result, p, 0)); LOG (p, expected, result); ASSERT (expected.tv_sec == result.tv_sec && expected.tv_nsec == result.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "now"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (now.tv_sec == result.tv_sec && now.tv_nsec == result.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "tomorrow"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (now.tv_sec + 24 * 60 * 60 == result.tv_sec && now.tv_nsec == result.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "yesterday"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (now.tv_sec - 24 * 60 * 60 == result.tv_sec && now.tv_nsec == result.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "4 hours"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (now.tv_sec + 4 * 60 * 60 == result.tv_sec && now.tv_nsec == result.tv_nsec); /* test if timezone is not being ignored for day offset */ now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+400 +24 hours"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+400 +1 day"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); /* test if several time zones formats are handled same way */ now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+14:00"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+14"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); p = "UTC+1400"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC-14:00"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC-14"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); p = "UTC-1400"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+0:15"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+0015"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC-1:30"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC-130"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); /* TZ out of range should cause parse_datetime failure */ now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+25:00"; ASSERT (!parse_datetime (&result, p, &now)); /* Check for several invalid countable dayshifts */ now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+4:00 +40 yesterday"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 next yesterday"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 tomorrow ago"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 tomorrow hence"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 40 now ago"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 last tomorrow"; ASSERT (!parse_datetime (&result, p, &now)); p = "UTC+4:00 -4 today"; ASSERT (!parse_datetime (&result, p, &now)); /* And check correct usage of dayshifts */ now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+400 tomorrow"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+400 +1 day"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); p = "UTC+400 1 day hence"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+400 yesterday"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+400 1 day ago"; ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); now.tv_sec = 4711; now.tv_nsec = 1267; p = "UTC+400 now"; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); p = "UTC+400 +0 minutes"; /* silly, but simple "UTC+400" is different*/ ASSERT (parse_datetime (&result2, p, &now)); LOG (p, now, result2); ASSERT (result.tv_sec == result2.tv_sec && result.tv_nsec == result2.tv_nsec); /* Check that some "next Monday", "last Wednesday", etc. are correct. */ setenv ("TZ", "UTC0", 1); for (i = 0; day_table[i]; i++) { unsigned int thur2 = 7 * 24 * 3600; /* 2nd thursday */ char tmp[32]; sprintf (tmp, "NEXT %s", day_table[i]); now.tv_sec = thur2 + 4711; now.tv_nsec = 1267; ASSERT (parse_datetime (&result, tmp, &now)); LOG (tmp, now, result); ASSERT (result.tv_nsec == 0); ASSERT (result.tv_sec == thur2 + (i == 4 ? 7 : (i + 3) % 7) * 24 * 3600); sprintf (tmp, "LAST %s", day_table[i]); now.tv_sec = thur2 + 4711; now.tv_nsec = 1267; ASSERT (parse_datetime (&result, tmp, &now)); LOG (tmp, now, result); ASSERT (result.tv_nsec == 0); ASSERT (result.tv_sec == thur2 + ((i + 3) % 7 - 7) * 24 * 3600); } p = "THURSDAY UTC+00"; /* The epoch was on Thursday. */ now.tv_sec = 0; now.tv_nsec = 0; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (result.tv_sec == now.tv_sec && result.tv_nsec == now.tv_nsec); p = "FRIDAY UTC+00"; now.tv_sec = 0; now.tv_nsec = 0; ASSERT (parse_datetime (&result, p, &now)); LOG (p, now, result); ASSERT (result.tv_sec == 24 * 3600 && result.tv_nsec == now.tv_nsec); /* Exercise a sign-extension bug. Before July 2012, an input starting with a high-bit-set byte would be treated like "0". */ ASSERT ( ! parse_datetime (&result, "\xb0", &now)); return 0; } coreutils-8.21/gnulib-tests/test-mknod.c0000664000000000000000000000304112071024546015216 00000000000000/* Tests of mknod. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (mknod, int, (char const *, mode_t, dev_t)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-mknod.t" #include "test-mkfifo.h" /* Wrapper around mknod, to create fifos. */ static int do_mknod (char const *name, mode_t mode) { return mknod (name, mode | S_IFIFO, 0); } int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* We can only portably test creation of fifos. Anything else requires root privileges and knowledge of device numbers. */ return test_mkfifo (do_mknod, true); } coreutils-8.21/gnulib-tests/test-futimens.c0000664000000000000000000000255612071024546015752 00000000000000/* Tests of futimens. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (futimens, int, (int, struct timespec const[2])); #include #include #include #include #include #include #include #include "stat-time.h" #include "timespec.h" #include "utimecmp.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-futimens.t" #include "test-futimens.h" int main (void) { /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); return test_futimens (futimens, true); } coreutils-8.21/gnulib-tests/test-ino-map.c0000664000000000000000000000274312071024546015456 00000000000000/* Test the ino-map module. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "ino-map.h" #include "macros.h" int main () { enum { INO_MAP_INIT = 123 }; struct ino_map *ino_map = ino_map_alloc (INO_MAP_INIT); ASSERT (ino_map != NULL); ASSERT (ino_map_insert (ino_map, 42) == INO_MAP_INIT); ASSERT (ino_map_insert (ino_map, 42) == INO_MAP_INIT); ASSERT (ino_map_insert (ino_map, 398) == INO_MAP_INIT + 1); ASSERT (ino_map_insert (ino_map, 398) == INO_MAP_INIT + 1); ASSERT (ino_map_insert (ino_map, 0) == INO_MAP_INIT + 2); ASSERT (ino_map_insert (ino_map, 0) == INO_MAP_INIT + 2); { int i; for (i = 0; i < 100; i++) { ASSERT (ino_map_insert (ino_map, 10000 + i) == INO_MAP_INIT + 3 + i); } } ino_map_free (ino_map); return 0; } coreutils-8.21/gnulib-tests/test-fopen.c0000664000000000000000000000177712071024546015233 00000000000000/* Test of opening a file stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (fopen, FILE *, (char const *, char const *)); #define BASE "test-fopen.t" #include "test-fopen.h" int main (void) { return test_fopen (); } coreutils-8.21/gnulib-tests/test-getdelim.c0000664000000000000000000000465412071024546015713 00000000000000/* Test of getdelim() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (getdelim, ssize_t, (char **, size_t *, int, FILE *)); #include #include #include "macros.h" int main (void) { FILE *f; char *line; size_t len; ssize_t result; /* Create test file. */ f = fopen ("test-getdelim.txt", "wb"); if (!f || fwrite ("anAnbcnd\0f", 1, 10, f) != 10 || fclose (f) != 0) { fputs ("Failed to create sample file.\n", stderr); remove ("test-getdelim.txt"); return 1; } f = fopen ("test-getdelim.txt", "rb"); if (!f) { fputs ("Failed to reopen sample file.\n", stderr); remove ("test-getdelim.txt"); return 1; } /* Test initial allocation, which must include trailing NUL. */ line = NULL; len = 0; result = getdelim (&line, &len, 'n', f); ASSERT (result == 2); ASSERT (strcmp (line, "an") == 0); ASSERT (2 < len); free (line); /* Test initial allocation again, with line = NULL and len != 0. */ line = NULL; len = (size_t)(~0) / 4; result = getdelim (&line, &len, 'n', f); ASSERT (result == 2); ASSERT (strcmp (line, "An") == 0); ASSERT (2 < len); free (line); /* Test growth of buffer. */ line = malloc (1); len = 1; result = getdelim (&line, &len, 'n', f); ASSERT (result == 3); ASSERT (strcmp (line, "bcn") == 0); ASSERT (3 < len); /* Test embedded NULs and EOF behavior. */ result = getdelim (&line, &len, 'n', f); ASSERT (result == 3); ASSERT (memcmp (line, "d\0f", 4) == 0); ASSERT (3 < len); result = getdelim (&line, &len, 'n', f); ASSERT (result == -1); free (line); fclose (f); remove ("test-getdelim.txt"); return 0; } coreutils-8.21/gnulib-tests/test-read.c0000664000000000000000000000346012100637437015030 00000000000000/* Test the read() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (read, ssize_t, (int, void *, size_t)); #include #include #include #include "macros.h" int main (void) { const char *filename = "test-read.tmp"; int fd; /* Create a file with a simple contents. */ fd = open (filename, O_CREAT | O_WRONLY, 0600); ASSERT (fd >= 0); ASSERT (write (fd, "Hello World", 11) == 11); ASSERT (close (fd) == 0); /* Read from the middle of the file. */ fd = open (filename, O_RDONLY); ASSERT (fd >= 0); ASSERT (lseek (fd, 6, SEEK_SET) == 6); { char buf[10]; ssize_t ret = read (fd, buf, 10); ASSERT (ret == 5); ASSERT (memcmp (buf, "World", 5) == 0); } ASSERT (close (fd) == 0); /* Test behaviour for invalid file descriptors. */ { char byte; errno = 0; ASSERT (read (-1, &byte, 1) == -1); ASSERT (errno == EBADF); } { char byte; close (99); errno = 0; ASSERT (read (99, &byte, 1) == -1); ASSERT (errno == EBADF); } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-mbsalign.c0000664000000000000000000001127612102337340015705 00000000000000/* Test that mbsalign works as advertised. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #include #include "mbsalign.h" #include "macros.h" #include #include int main (void) { char dest[4 * 16 + 1]; size_t width, n; /* Test unibyte truncation. */ width = 4; n = mbsalign ("t\tés", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 4); /* Test center alignment. */ width = 4; n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER, 0); ASSERT (*dest == ' ' && *(dest + n - 1) == ' '); ASSERT (n == 4); /* Test center alignment, with no trailing padding. */ width = 4; n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER, MBA_NO_RIGHT_PAD); ASSERT (n == 3); ASSERT (*dest == ' ' && *(dest + n - 1) == 's'); /* Test left alignment, with no trailing padding. (truncate only). */ width = 4; n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_LEFT, MBA_NO_RIGHT_PAD); ASSERT (n == 2); ASSERT (*dest == 'e' && *(dest + n - 1) == 's'); /* Test center alignment, with no padding. (truncate only). */ width = 4; n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER, MBA_NO_LEFT_PAD | MBA_NO_RIGHT_PAD); ASSERT (n == 2); ASSERT (*dest == 'e' && *(dest + n - 1) == 's'); /* Test center alignment, with no left padding. (may be useful for RTL?) */ width = 4; n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER, MBA_NO_LEFT_PAD); ASSERT (n == 3); ASSERT (*dest == 'e' && *(dest + n - 1) == ' '); if (setlocale (LC_ALL, "en_US.UTF8")) { /* Check invalid input is flagged. */ width = 4; n = mbsalign ("t\xe1\xe2s", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == (size_t) -1); /* Check invalid input is treated as unibyte */ width = 4; n = mbsalign ("t\xe1\xe2s", dest, sizeof dest, &width, MBS_ALIGN_LEFT, MBA_UNIBYTE_FALLBACK); ASSERT (n == 4); /* Test multibyte center alignment. */ width = 4; n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_CENTER, 0); ASSERT (n == 5); ASSERT (*dest == ' ' && *(dest + n - 1) == ' '); /* Test multibyte left alignment. */ width = 4; n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 5); ASSERT (*(dest + n - 1) == ' ' && *(dest + n - 2) == ' '); /* Test multibyte right alignment. */ width = 4; n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_RIGHT, 0); ASSERT (n == 5); ASSERT (*(dest) == ' ' && *(dest + 1) == ' '); /* multibyte multicell truncation. */ width = 4; /* cells */ n = mbsalign ("æ—¥æœˆç«æ°´", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 6); /* 2 characters */ /* multibyte unicell truncation. */ width = 3; /* cells */ n = mbsalign ("¹²³â´", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 6); /* 3 characters */ /* Check independence from dest buffer. */ width = 4; /* cells */ n = mbsalign ("¹²³â´", dest, 0, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 9); /* 4 characters */ /* Check that width is updated with cells required before padding. */ width = 4; /* cells */ n = mbsalign ("¹²³", dest, 0, &width, MBS_ALIGN_LEFT, 0); ASSERT (width == 3); /* Test case where output is larger than input (as tab converted to multi byte replacement char). */ width = 4; n = mbsalign ("t\tés" /* 6 including NUL */ , dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0); ASSERT (n == 7); /* Test forced unibyte truncation. */ width = 4; n = mbsalign ("t\tés", dest, sizeof dest, &width, MBS_ALIGN_LEFT, MBA_UNIBYTE_ONLY); ASSERT (n == 4); } return 0; } coreutils-8.21/gnulib-tests/test-select.h0000664000000000000000000002612312100637437015402 00000000000000/* Test of select() substitute. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini, 2008. */ #include #include #include #include #include #include #include #include #include #include #include "macros.h" #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WINDOWS_NATIVE #endif #ifdef HAVE_SYS_WAIT_H # include #endif #ifndef SO_REUSEPORT # define SO_REUSEPORT SO_REUSEADDR #endif #define TEST_PORT 12345 typedef int (*select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *); /* Minimal testing infrastructure. */ static int failures; static void failed (const char *reason) { if (++failures > 1) printf (" "); printf ("failed (%s)\n", reason); } static int test (void (*fn) (select_fn), select_fn my_select, const char *msg) { failures = 0; printf ("%s... ", msg); fflush (stdout); fn (my_select); if (!failures) printf ("passed\n"); return failures; } /* Funny socket code. */ static int open_server_socket (void) { int s, x; struct sockaddr_in ia; s = socket (AF_INET, SOCK_STREAM, 0); x = 1; setsockopt (s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof (x)); memset (&ia, 0, sizeof (ia)); ia.sin_family = AF_INET; inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); ia.sin_port = htons (TEST_PORT); if (bind (s, (struct sockaddr *) &ia, sizeof (ia)) < 0) { perror ("bind"); exit (77); } if (listen (s, 1) < 0) { perror ("listen"); exit (77); } return s; } static int connect_to_socket (bool blocking) { int s; struct sockaddr_in ia; s = socket (AF_INET, SOCK_STREAM, 0); memset (&ia, 0, sizeof (ia)); ia.sin_family = AF_INET; inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr); ia.sin_port = htons (TEST_PORT); if (!blocking) { #ifdef WINDOWS_NATIVE unsigned long iMode = 1; ioctl (s, FIONBIO, (char *) &iMode); #elif defined F_GETFL int oldflags = fcntl (s, F_GETFL, NULL); if (!(oldflags & O_NONBLOCK)) fcntl (s, F_SETFL, oldflags | O_NONBLOCK); #endif } if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0 && (blocking || errno != EINPROGRESS)) { perror ("connect"); exit (77); } return s; } /* A slightly more convenient interface to select(2). Waits until a specific event occurs on a file descriptor FD. EV is a bit mask of events to look for: SEL_IN - input can be polled without blocking, SEL_OUT - output can be provided without blocking, SEL_EXC - an exception occurred, A maximum wait time is specified by TIMEOUT. *TIMEOUT = { 0, 0 } means to return immediately, TIMEOUT = NULL means to wait indefinitely. */ enum { SEL_IN = 1, SEL_OUT = 2, SEL_EXC = 4 }; static int do_select (int fd, int ev, struct timeval *timeout, select_fn my_select) { fd_set rfds, wfds, xfds; int r, rev; FD_ZERO (&rfds); FD_ZERO (&wfds); FD_ZERO (&xfds); if (ev & SEL_IN) FD_SET (fd, &rfds); if (ev & SEL_OUT) FD_SET (fd, &wfds); if (ev & SEL_EXC) FD_SET (fd, &xfds); r = my_select (fd + 1, &rfds, &wfds, &xfds, timeout); if (r < 0) return r; rev = 0; if (FD_ISSET (fd, &rfds)) rev |= SEL_IN; if (FD_ISSET (fd, &wfds)) rev |= SEL_OUT; if (FD_ISSET (fd, &xfds)) rev |= SEL_EXC; if (rev && r == 0) failed ("select returned 0"); if (rev & ~ev) failed ("select returned unrequested events"); return rev; } static int do_select_nowait (int fd, int ev, select_fn my_select) { struct timeval tv0; tv0.tv_sec = 0; tv0.tv_usec = 0; return do_select (fd, ev, &tv0, my_select); } static int do_select_wait (int fd, int ev, select_fn my_select) { return do_select (fd, ev, NULL, my_select); } /* Test select(2) for TTYs. */ #ifdef INTERACTIVE static void test_tty (select_fn my_select) { if (do_select_nowait (0, SEL_IN, my_select) != 0) failed ("can read"); if (do_select_nowait (0, SEL_OUT, my_select) == 0) failed ("cannot write"); if (do_select_wait (0, SEL_IN, my_select) == 0) failed ("return with infinite timeout"); getchar (); if (do_select_nowait (0, SEL_IN, my_select) != 0) failed ("can read after getc"); } #endif static int do_select_bad_nfd_nowait (int nfd, select_fn my_select) { struct timeval tv0; tv0.tv_sec = 0; tv0.tv_usec = 0; errno = 0; return my_select (nfd, NULL, NULL, NULL, &tv0); } static void test_bad_nfd (select_fn my_select) { if (do_select_bad_nfd_nowait (-1, my_select) != -1 || errno != EINVAL) failed ("invalid errno after negative nfds"); /* Can't test FD_SETSIZE + 1 for EINVAL, since some systems allow dynamically larger set size by redefining FD_SETSIZE anywhere up to the actual maximum fd. */ /* if (do_select_bad_nfd_nowait (FD_SETSIZE + 1, my_select) != -1 */ /* || errno != EINVAL) */ /* failed ("invalid errno after bogus nfds"); */ } /* Test select(2) on invalid file descriptors. */ static int do_select_bad_fd (int fd, int ev, struct timeval *timeout, select_fn my_select) { fd_set rfds, wfds, xfds; FD_ZERO (&rfds); FD_ZERO (&wfds); FD_ZERO (&xfds); if (ev & SEL_IN) FD_SET (fd, &rfds); if (ev & SEL_OUT) FD_SET (fd, &wfds); if (ev & SEL_EXC) FD_SET (fd, &xfds); errno = 0; return my_select (fd + 1, &rfds, &wfds, &xfds, timeout); /* In this case, when fd is invalid, on some platforms, the bit for fd is left alone in the fd_set, whereas on other platforms it is cleared. So, don't check the bit for fd here. */ } static int do_select_bad_fd_nowait (int fd, int ev, select_fn my_select) { struct timeval tv0; tv0.tv_sec = 0; tv0.tv_usec = 0; return do_select_bad_fd (fd, ev, &tv0, my_select); } static void test_bad_fd (select_fn my_select) { /* This tests fails on OSF/1 and native Windows, even with fd = 16. */ #if !(defined __osf__ || defined WINDOWS_NATIVE) int fd; /* On Linux, Mac OS X, *BSD, values of fd like 99 or 399 are discarded by the kernel early and therefore do *not* lead to EBADF, as required by POSIX. */ # if defined __linux__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__ fd = 16; # else fd = 99; # endif close (fd); if (do_select_bad_fd_nowait (fd, SEL_IN, my_select) == 0 || errno != EBADF) failed ("invalid fd among rfds"); if (do_select_bad_fd_nowait (fd, SEL_OUT, my_select) == 0 || errno != EBADF) failed ("invalid fd among wfds"); if (do_select_bad_fd_nowait (fd, SEL_EXC, my_select) == 0 || errno != EBADF) failed ("invalid fd among xfds"); #endif } /* Test select(2) for unconnected nonblocking sockets. */ static void test_connect_first (select_fn my_select) { int s = open_server_socket (); struct sockaddr_in ia; socklen_t addrlen; int c1, c2; if (do_select_nowait (s, SEL_IN | SEL_EXC, my_select) != 0) failed ("can read, socket not connected"); c1 = connect_to_socket (false); if (do_select_wait (s, SEL_IN | SEL_EXC, my_select) != SEL_IN) failed ("expecting readability on passive socket"); if (do_select_nowait (s, SEL_IN | SEL_EXC, my_select) != SEL_IN) failed ("expecting readability on passive socket"); addrlen = sizeof (ia); c2 = accept (s, (struct sockaddr *) &ia, &addrlen); ASSERT (close (s) == 0); ASSERT (close (c1) == 0); ASSERT (close (c2) == 0); } /* Test select(2) for unconnected blocking sockets. */ static void test_accept_first (select_fn my_select) { #ifndef WINDOWS_NATIVE int s = open_server_socket (); struct sockaddr_in ia; socklen_t addrlen; char buf[3]; int c, pid; pid = fork (); if (pid < 0) return; if (pid == 0) { addrlen = sizeof (ia); c = accept (s, (struct sockaddr *) &ia, &addrlen); ASSERT (close (s) == 0); ASSERT (write (c, "foo", 3) == 3); ASSERT (read (c, buf, 3) == 3); shutdown (c, SHUT_RD); ASSERT (close (c) == 0); exit (0); } else { ASSERT (close (s) == 0); c = connect_to_socket (true); if (do_select_nowait (c, SEL_OUT, my_select) != SEL_OUT) failed ("cannot write after blocking connect"); ASSERT (write (c, "foo", 3) == 3); wait (&pid); if (do_select_wait (c, SEL_IN, my_select) != SEL_IN) failed ("cannot read data left in the socket by closed process"); ASSERT (read (c, buf, 3) == 3); ASSERT (write (c, "foo", 3) == 3); (void) close (c); /* may fail with errno = ECONNRESET */ } #endif } /* Common code for pipes and connected sockets. */ static void test_pair (int rd, int wd, select_fn my_select) { char buf[3]; if (do_select_wait (wd, SEL_IN | SEL_OUT | SEL_EXC, my_select) != SEL_OUT) failed ("expecting writability before writing"); if (do_select_nowait (wd, SEL_IN | SEL_OUT | SEL_EXC, my_select) != SEL_OUT) failed ("expecting writability before writing"); ASSERT (write (wd, "foo", 3) == 3); if (do_select_wait (rd, SEL_IN, my_select) != SEL_IN) failed ("expecting readability after writing"); if (do_select_nowait (rd, SEL_IN, my_select) != SEL_IN) failed ("expecting readability after writing"); ASSERT (read (rd, buf, 3) == 3); } /* Test select(2) on connected sockets. */ static void test_socket_pair (select_fn my_select) { struct sockaddr_in ia; socklen_t addrlen = sizeof (ia); int s = open_server_socket (); int c1 = connect_to_socket (false); int c2 = accept (s, (struct sockaddr *) &ia, &addrlen); ASSERT (close (s) == 0); test_pair (c1, c2, my_select); ASSERT (close (c1) == 0); ASSERT (write (c2, "foo", 3) == 3); (void) close (c2); /* may fail with errno = ECONNRESET */ } /* Test select(2) on pipes. */ static void test_pipe (select_fn my_select) { int fd[2]; ASSERT (pipe (fd) == 0); test_pair (fd[0], fd[1], my_select); ASSERT (close (fd[0]) == 0); ASSERT (close (fd[1]) == 0); } /* Do them all. */ static int test_function (select_fn my_select) { int result = 0; #ifdef INTERACTIVE printf ("Please press Enter\n"); test (test_tty, "TTY", my_select); #endif result += test (test_bad_nfd, my_select, "Invalid nfd test"); result += test (test_bad_fd, my_select, "Invalid fd test"); result += test (test_connect_first, my_select, "Unconnected socket test"); result += test (test_socket_pair, my_select, "Connected sockets test"); result += test (test_accept_first, my_select, "General socket test with fork"); result += test (test_pipe, my_select, "Pipe test"); return result; } coreutils-8.21/gnulib-tests/test-fpending.sh0000775000000000000000000000022511624730151016073 00000000000000#!/bin/sh tmpfile= trap 'rm -fr $tmpfile' 1 2 3 15 tmpfile=test-fpending.t ./test-fpending${EXEEXT} > $tmpfile || exit 1 rm -fr $tmpfile exit 0 coreutils-8.21/gnulib-tests/test-getaddrinfo.c0000664000000000000000000001126712071024546016405 00000000000000/* Test the getaddrinfo module. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson. */ #include #include #include "signature.h" SIGNATURE_CHECK (freeaddrinfo, void, (struct addrinfo *)); SIGNATURE_CHECK (gai_strerror, char const *, (int)); SIGNATURE_CHECK (getaddrinfo, int, (char const *, char const *, struct addrinfo const *, struct addrinfo **)); #include #include #include #include #include /* Whether to print debugging messages. */ #define ENABLE_DEBUGGING 0 #if ENABLE_DEBUGGING # define dbgprintf printf #else # define dbgprintf if (0) printf #endif /* BeOS does not have AF_UNSPEC. */ #ifndef AF_UNSPEC # define AF_UNSPEC 0 #endif #ifndef EAI_SERVICE # define EAI_SERVICE 0 #endif static int simple (char const *host, char const *service) { char buf[BUFSIZ]; static int skip = 0; struct addrinfo hints; struct addrinfo *ai0, *ai; int res; int err; /* Once we skipped the test, do not try anything else */ if (skip) return 0; dbgprintf ("Finding %s service %s...\n", host, service); /* This initializes "hints" but does not use it. Is there a reason for this? If so, please fix this comment. */ memset (&hints, 0, sizeof (hints)); hints.ai_flags = AI_CANONNAME; hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; res = getaddrinfo (host, service, 0, &ai0); err = errno; dbgprintf ("res %d: %s\n", res, gai_strerror (res)); if (res != 0) { /* EAI_AGAIN is returned if no network is available. Don't fail the test merely because someone is down the country on their in-law's farm. */ if (res == EAI_AGAIN) { skip++; fprintf (stderr, "skipping getaddrinfo test: no network?\n"); return 77; } /* IRIX reports EAI_NONAME for "https". Don't fail the test merely because of this. */ if (res == EAI_NONAME) return 0; /* Solaris reports EAI_SERVICE for "http" and "https". Don't fail the test merely because of this. */ if (res == EAI_SERVICE) return 0; #ifdef EAI_NODATA /* AIX reports EAI_NODATA for "https". Don't fail the test merely because of this. */ if (res == EAI_NODATA) return 0; #endif /* Provide details if errno was set. */ if (res == EAI_SYSTEM) fprintf (stderr, "system error: %s\n", strerror (err)); return 1; } for (ai = ai0; ai; ai = ai->ai_next) { dbgprintf ("\tflags %x\n", ai->ai_flags); dbgprintf ("\tfamily %x\n", ai->ai_family); dbgprintf ("\tsocktype %x\n", ai->ai_socktype); dbgprintf ("\tprotocol %x\n", ai->ai_protocol); dbgprintf ("\taddrlen %ld: ", (unsigned long) ai->ai_addrlen); dbgprintf ("\tFound %s\n", inet_ntop (ai->ai_family, &((struct sockaddr_in *) ai->ai_addr)->sin_addr, buf, sizeof (buf) - 1)); if (ai->ai_canonname) dbgprintf ("\tFound %s...\n", ai->ai_canonname); { char ipbuf[BUFSIZ]; char portbuf[BUFSIZ]; res = getnameinfo (ai->ai_addr, ai->ai_addrlen, ipbuf, sizeof (ipbuf) - 1, portbuf, sizeof (portbuf) - 1, NI_NUMERICHOST|NI_NUMERICSERV); dbgprintf ("\t\tgetnameinfo %d: %s\n", res, gai_strerror (res)); if (res == 0) { dbgprintf ("\t\tip %s\n", ipbuf); dbgprintf ("\t\tport %s\n", portbuf); } } } freeaddrinfo (ai0); return 0; } #define HOST1 "www.gnu.org" #define SERV1 "http" #define HOST2 "www.ibm.com" #define SERV2 "https" #define HOST3 "microsoft.com" #define SERV3 "http" #define HOST4 "google.org" #define SERV4 "ldap" int main (void) { return simple (HOST1, SERV1) + simple (HOST2, SERV2) + simple (HOST3, SERV3) + simple (HOST4, SERV4); } coreutils-8.21/gnulib-tests/test-wcrtomb-w32-3.sh0000775000000000000000000000012111624730157016530 00000000000000#!/bin/sh # Test a CP932 locale. ./test-wcrtomb-w32${EXEEXT} Japanese_Japan 932 coreutils-8.21/gnulib-tests/test-xprintf-posix.c0000664000000000000000000000216412071024546016745 00000000000000/* Test of error-checking xprintf() function with POSIX compatible formatting. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "xprintf.h" #include #include #include #include "progname.h" #include "macros.h" #include "test-printf-posix.h" int main (int argc _GL_UNUSED, char *argv[]) { set_program_name (argv[0]); test_function (xprintf); return 0; } coreutils-8.21/gnulib-tests/init.sh0000664000000000000000000004525512071024546014301 00000000000000# source this file; set up for tests # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Using this file in a test # ========================= # # The typical skeleton of a test looks like this: # # #!/bin/sh # . "${srcdir=.}/init.sh"; path_prepend_ . # Execute some commands. # Note that these commands are executed in a subdirectory, therefore you # need to prepend "../" to relative filenames in the build directory. # Note that the "path_prepend_ ." is useful only if the body of your # test invokes programs residing in the initial directory. # For example, if the programs you want to test are in src/, and this test # script is named tests/test-1, then you would use "path_prepend_ ../src", # or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" # to all tests via automake's TESTS_ENVIRONMENT. # Set the exit code 0 for success, 77 for skipped, or 1 or other for failure. # Use the skip_ and fail_ functions to print a diagnostic and then exit # with the corresponding exit code. # Exit $? # Executing a test that uses this file # ==================================== # # Running a single test: # $ make check TESTS=test-foo.sh # # Running a single test, with verbose output: # $ make check TESTS=test-foo.sh VERBOSE=yes # # Running a single test, with single-stepping: # 1. Go into a sub-shell: # $ bash # 2. Set relevant environment variables from TESTS_ENVIRONMENT in the # Makefile: # $ export srcdir=../../tests # this is an example # 3. Execute the commands from the test, copy&pasting them one by one: # $ . "$srcdir/init.sh"; path_prepend_ . # ... # 4. Finally # $ exit ME_=`expr "./$0" : '.*/\(.*\)$'` # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the handler. # So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. # Turn off errexit here so that we don't trip the bug with OSF1/Tru64 # sh inside this function. Exit () { set +e; (exit $1); exit $1; } # Print warnings (e.g., about skipped and failed tests) to this file number. # Override by defining to say, 9, in init.cfg, and putting say, # export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2 # in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file. # This is useful when using automake's parallel tests mode, to print # the reason for skip/failure to console, rather than to the .log files. : ${stderr_fileno_=2} # Note that correct expansion of "$*" depends on IFS starting with ' '. # Always write the full diagnostic to stderr. # When stderr_fileno_ is not 2, also emit the first line of the # diagnostic to that file descriptor. warn_ () { # If IFS does not start with ' ', set it and emit the warning in a subshell. case $IFS in ' '*) printf '%s\n' "$*" >&2 test $stderr_fileno_ = 2 \ || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;; *) (IFS=' '; warn_ "$@");; esac } fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; } skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } # Sanitize this shell to POSIX mode, if possible. DUALCASE=1; export DUALCASE if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # We require $(...) support unconditionally. # We require a few additional shell features only when $EXEEXT is nonempty, # in order to support automatic $EXEEXT emulation: # - hyphen-containing alias names # - we prefer to use ${var#...} substitution, rather than having # to work around lack of support for that feature. # The following code attempts to find a shell with support for these features. # If the current shell passes the test, we're done. Otherwise, test other # shells until we find one that passes. If one is found, re-exec it. # If no acceptable shell is found, skip the current test. # # The "...set -x; P=1 true 2>err..." test is to disqualify any shell that # emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do. # # Use "9" to indicate success (rather than 0), in case some shell acts # like Solaris 10's /bin/sh but exits successfully instead of with status 2. # Eval this code in a subshell to determine a shell's suitability. # 10 - passes all tests; ok to use # 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score # ? - not ok gl_shell_test_script_=' test $(echo y) = y || exit 1 score_=10 if test "$VERBOSE" = yes; then test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 fi test -z "$EXEEXT" && exit $score_ shopt -s expand_aliases alias a-b="echo zoo" v=abx test ${v%x} = ab \ && test ${v#a} = bx \ && test $(a-b) = zoo \ && exit $score_ ' if test "x$1" = "x--no-reexec"; then shift else # Assume a working shell. Export to subshells (setup_ needs this). gl_set_x_corrupts_stderr_=false export gl_set_x_corrupts_stderr_ # Record the first marginally acceptable shell. marginal_= # Search for a shell that meets our requirements. for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \ /bin/sh bash dash zsh pdksh fail do test "$re_shell_" = no_shell && continue # If we've made it all the way to the sentinel, "fail" without # finding even a marginal shell, skip this test. if test "$re_shell_" = fail; then test -z "$marginal_" && skip_ failed to find an adequate shell re_shell_=$marginal_ break fi # When testing the current shell, simply "eval" the test code. # Otherwise, run it via $re_shell_ -c ... if test "$re_shell_" = __current__; then # 'eval'ing this code makes Solaris 10's /bin/sh exit with # $? set to 2. It does not evaluate any of the code after the # "unexpected" first '('. Thus, we must run it in a subshell. ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1 else "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null fi st_=$? # $re_shell_ works just fine. Use it. if test $st_ = 10; then gl_set_x_corrupts_stderr_=false break fi # If this is our first marginally acceptable shell, remember it. if test "$st_:$marginal_" = 9: ; then marginal_="$re_shell_" gl_set_x_corrupts_stderr_=true fi done if test "$re_shell_" != __current__; then # Found a usable shell. Preserve -v and -x. case $- in *v*x* | *x*v*) opts_=-vx ;; *v*) opts_=-v ;; *x*) opts_=-x ;; *) opts_= ;; esac exec "$re_shell_" $opts_ "$0" --no-reexec "$@" echo "$ME_: exec failed" 1>&2 exit 127 fi fi # If this is bash, turn off all aliases. test -n "$BASH_VERSION" && unalias -a # Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to # PROG_NAME.exe), we want to support hyphen-containing names like test-acos. # That is part of the shell-selection test above. Why use aliases rather # than functions? Because support for hyphen-containing aliases is more # widespread than that for hyphen-containing function names. test -n "$EXEEXT" && shopt -s expand_aliases # Enable glibc's malloc-perturbing option. # This is useful for exposing code that depends on the fact that # malloc-related functions often return memory that is mostly zeroed. # If you have the time and cycles, use valgrind to do an even better job. : ${MALLOC_PERTURB_=87} export MALLOC_PERTURB_ # This is a stub function that is run upon trap (upon regular exit and # interrupt). Override it with a per-test function, e.g., to unmount # a partition, or to undo any other global state changes. cleanup_ () { :; } # Emit a header similar to that from diff -u; Print the simulated "diff" # command so that the order of arguments is clear. Don't bother with @@ lines. emit_diff_u_header_ () { printf '%s\n' "diff -u $*" \ "--- $1 1970-01-01" \ "+++ $2 1970-01-01" } # Arrange not to let diff or cmp operate on /dev/null, # since on some systems (at least OSF/1 5.1), that doesn't work. # When there are not two arguments, or no argument is /dev/null, return 2. # When one argument is /dev/null and the other is not empty, # cat the nonempty file to stderr and return 1. # Otherwise, return 0. compare_dev_null_ () { test $# = 2 || return 2 if test "x$1" = x/dev/null; then test -s "$2" || return 0 emit_diff_u_header_ "$@"; sed 's/^/+/' "$2" return 1 fi if test "x$2" = x/dev/null; then test -s "$1" || return 0 emit_diff_u_header_ "$@"; sed 's/^/-/' "$1" return 1 fi return 2 } if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \ && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then # diff accepts the -u option and does not (like AIX 7 'diff') produce an # extra space on column 1 of every content line. if test -z "$diff_out_"; then compare_ () { diff -u "$@"; } else compare_ () { if diff -u "$@" > diff.out; then # No differences were found, but Solaris 'diff' produces output # "No differences encountered". Hide this output. rm -f diff.out true else cat diff.out rm -f diff.out false fi } fi elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then if test -z "$diff_out_"; then compare_ () { diff -c "$@"; } else compare_ () { if diff -c "$@" > diff.out; then # No differences were found, but AIX and HP-UX 'diff' produce output # "No differences encountered" or "There are no differences between the # files.". Hide this output. rm -f diff.out true else cat diff.out rm -f diff.out false fi } fi elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then compare_ () { cmp -s "$@"; } else compare_ () { cmp "$@"; } fi # Usage: compare EXPECTED ACTUAL # # Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more. # Otherwise, propagate $? to caller: any diffs have already been printed. compare () { # This looks like it can be factored to use a simple "case $?" # after unchecked compare_dev_null_ invocation, but that would # fail in a "set -e" environment. if compare_dev_null_ "$@"; then return 0 else case $? in 1) return 1;; *) compare_ "$@";; esac fi } # An arbitrary prefix to help distinguish test directories. testdir_prefix_ () { printf gt; } # Run the user-overridable cleanup_ function, remove the temporary # directory and exit with the incoming value of $?. remove_tmp_ () { __st=$? cleanup_ # cd out of the directory we're about to remove cd "$initial_cwd_" || cd / || cd /tmp chmod -R u+rwx "$test_dir_" # If removal fails and exit status was to be 0, then change it to 1. rm -rf "$test_dir_" || { test $__st = 0 && __st=1; } exit $__st } # Given a directory name, DIR, if every entry in it that matches *.exe # contains only the specified bytes (see the case stmt below), then print # a space-separated list of those names and return 0. Otherwise, don't # print anything and return 1. Naming constraints apply also to DIR. find_exe_basenames_ () { feb_dir_=$1 feb_fail_=0 feb_result_= feb_sp_= for feb_file_ in $feb_dir_/*.exe; do # If there was no *.exe file, or there existed a file named "*.exe" that # was deleted between the above glob expansion and the existence test # below, just skip it. test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \ && continue # Exempt [.exe, since we can't create a function by that name, yet # we can't invoke [ by PATH search anyways due to shell builtins. test "x$feb_file_" = "x$feb_dir_/[.exe" && continue case $feb_file_ in *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;; *) # Remove leading file name components as well as the .exe suffix. feb_file_=${feb_file_##*/} feb_file_=${feb_file_%.exe} feb_result_="$feb_result_$feb_sp_$feb_file_";; esac feb_sp_=' ' done test $feb_fail_ = 0 && printf %s "$feb_result_" return $feb_fail_ } # Consider the files in directory, $1. # For each file name of the form PROG.exe, create an alias named # PROG that simply invokes PROG.exe, then return 0. If any selected # file name or the directory name, $1, contains an unexpected character, # define no alias and return 1. create_exe_shims_ () { case $EXEEXT in '') return 0 ;; .exe) ;; *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;; esac base_names_=`find_exe_basenames_ $1` \ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; } if test -n "$base_names_"; then for base_ in $base_names_; do alias "$base_"="$base_$EXEEXT" done fi return 0 } # Use this function to prepend to PATH an absolute name for each # specified, possibly-$initial_cwd_-relative, directory. path_prepend_ () { while test $# != 0; do path_dir_=$1 case $path_dir_ in '') fail_ "invalid path dir: '$1'";; /*) abs_path_dir_=$path_dir_;; *) abs_path_dir_=$initial_cwd_/$path_dir_;; esac case $abs_path_dir_ in *:*) fail_ "invalid path dir: '$abs_path_dir_'";; esac PATH="$abs_path_dir_:$PATH" # Create an alias, FOO, for each FOO.exe in this directory. create_exe_shims_ "$abs_path_dir_" \ || fail_ "something failed (above): $abs_path_dir_" shift done export PATH } setup_ () { if test "$VERBOSE" = yes; then # Test whether set -x may cause the selected shell to corrupt an # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5. # If enabling verbose output this way would cause trouble, simply # issue a warning and refrain. if $gl_set_x_corrupts_stderr_; then warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr" else set -x fi fi initial_cwd_=$PWD fail=0 pfx_=`testdir_prefix_` test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \ || fail_ "failed to create temporary directory in $initial_cwd_" cd "$test_dir_" || fail_ "failed to cd to temporary directory" # As autoconf-generated configure scripts do, ensure that IFS # is defined initially, so that saving and restoring $IFS works. gl_init_sh_nl_=' ' IFS=" "" $gl_init_sh_nl_" # This trap statement, along with a trap on 0 below, ensure that the # temporary directory, $test_dir_, is removed upon exit as well as # upon receipt of any of the listed signals. for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done } # Create a temporary directory, much like mktemp -d does. # Written by Jim Meyering. # # Usage: mktempd_ /tmp phoey.XXXXXXXXXX # # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: # - try to get random bytes from /dev/urandom # - failing that, generate output from a combination of quickly-varying # sources and gzip. Ignore non-varying gzip header, and extract # "random" bits from there. # - given those bits, map to file-name bytes using tr, and try to create # the desired directory. # - make only $MAX_TRIES_ attempts # Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. rand_bytes_ () { n_=$1 # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first? # But if they have openssl, they probably have mktemp, too. chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 dev_rand_=/dev/urandom if test -r "$dev_rand_"; then # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ return fi n_plus_50_=`expr $n_ + 50` cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ while :; do len_=`echo "$data_"|wc -c` test $n_plus_50_ -le $len_ && break; data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` done echo "$data_" \ | dd bs=1 skip=50 count=$n_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ } mktempd_ () { case $# in 2);; *) fail_ "Usage: mktempd_ DIR TEMPLATE";; esac destdir_=$1 template_=$2 MAX_TRIES_=4 # Disallow any trailing slash on specified destdir: # it would subvert the post-mktemp "case"-based destdir test. case $destdir_ in /) ;; */) fail_ "invalid destination dir: remove trailing slash(es)";; esac case $template_ in *XXXX) ;; *) fail_ \ "invalid template: $template_ (must have a suffix of at least 4 X's)";; esac # First, try to use mktemp. d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \ || fail=1 # The resulting name must be in the specified directory. case $d in "$destdir_"*);; *) fail=1;; esac # It must have created the directory. test -d "$d" || fail=1 # It must have 0700 permissions. Handle sticky "S" bits. perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1 case $perms in drwx------*) ;; *) fail=1;; esac test $fail = 0 && { echo "$d" return } # If we reach this point, we'll have to create a directory manually. # Get a copy of the template without its suffix of X's. base_template_=`echo "$template_"|sed 's/XX*$//'` # Calculate how many X's we've just removed. template_length_=`echo "$template_" | wc -c` nx_=`echo "$base_template_" | wc -c` nx_=`expr $template_length_ - $nx_` err_= i_=1 while :; do X_=`rand_bytes_ $nx_` candidate_dir_="$destdir_/$base_template_$X_" err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \ && { echo "$candidate_dir_"; return; } test $MAX_TRIES_ -le $i_ && break; i_=`expr $i_ + 1` done fail_ "$err_" } # If you want to override the testdir_prefix_ function, # or to add more utility functions, use this file. test -f "$srcdir/init.cfg" \ && . "$srcdir/init.cfg" setup_ "$@" # This trap is here, rather than in the setup_ function, because some # shells run the exit trap at shell function exit, rather than script exit. trap remove_tmp_ 0 coreutils-8.21/gnulib-tests/test-select-out.sh0000775000000000000000000000157011624730155016375 00000000000000#!/bin/sh # Test select() on file descriptors opened for writing. tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp" # Regular files. rm -f t-select-out.tmp ./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out test `cat t-select-out.tmp` = "1" || exit 1 # Pipes. if false; then # This test fails on some platforms. rm -f t-select-out.tmp ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null test `cat t-select-out.tmp` = "0" || exit 1 fi rm -f t-select-out.tmp ( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null test `cat t-select-out.tmp` = "1" || exit 1 # Special files. rm -f t-select-out.tmp ./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null test `cat t-select-out.tmp` = "1" || exit 1 rm -fr $tmpfiles exit 0 coreutils-8.21/gnulib-tests/test-memcasecmp.c0000664000000000000000000000436212071024546016227 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Simon Josefsson and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "memcasecmp.h" #include #include "zerosize-ptr.h" #include "macros.h" int main (void) { /* Test equal / not equal distinction. */ ASSERT (memcasecmp (zerosize_ptr (), zerosize_ptr (), 0) == 0); ASSERT (memcasecmp ("foo", "foobar", 2) == 0); ASSERT (memcasecmp ("foo", "foobar", 3) == 0); ASSERT (memcasecmp ("foo", "foobar", 4) != 0); ASSERT (memcasecmp ("foo", "bar", 1) != 0); ASSERT (memcasecmp ("foo", "bar", 3) != 0); /* Test less / equal / greater distinction. */ ASSERT (memcasecmp ("foo", "moo", 4) < 0); ASSERT (memcasecmp ("moo", "foo", 4) > 0); ASSERT (memcasecmp ("oomph", "oops", 3) < 0); ASSERT (memcasecmp ("oops", "oomph", 3) > 0); ASSERT (memcasecmp ("foo", "foobar", 4) < 0); ASSERT (memcasecmp ("foobar", "foo", 4) > 0); /* Test embedded NULs. */ ASSERT (memcasecmp ("1\0", "2\0", 2) < 0); ASSERT (memcasecmp ("2\0", "1\0", 2) > 0); ASSERT (memcasecmp ("x\0""1", "x\0""2", 3) < 0); ASSERT (memcasecmp ("x\0""2", "x\0""1", 3) > 0); /* The Next x86 OpenStep bug shows up only when comparing 16 bytes or more and with at least one buffer not starting on a 4-byte boundary. William Lewis provided this test program. */ { char foo[21]; char bar[21]; int i; for (i = 0; i < 4; i++) { char *a = foo + i; char *b = bar + i; strcpy (a, "--------01111111"); strcpy (b, "--------10000000"); ASSERT (memcasecmp (a, b, 16) < 0); } } return 0; } coreutils-8.21/gnulib-tests/test-freadahead.c0000664000000000000000000000403112071024546016152 00000000000000/* Test of freadahead() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "freadahead.h" #include #include #include "macros.h" int main (int argc, char **argv) { int nbytes = atoi (argv[1]); if (nbytes > 0) { void *buf = malloc (nbytes); ASSERT (fread (buf, 1, nbytes, stdin) == nbytes); } if (nbytes == 0) ASSERT (freadahead (stdin) == 0); else { if (lseek (0, 0, SEEK_CUR) == nbytes) /* An unbuffered stdio, such as BeOS or on uClibc compiled without __STDIO_BUFFERS. */ ASSERT (freadahead (stdin) == 0); else { /* Normal buffered stdio. */ size_t buffered; int c, c2; ASSERT (freadahead (stdin) != 0); buffered = freadahead (stdin); c = fgetc (stdin); ASSERT (freadahead (stdin) == buffered - 1); ungetc (c, stdin); ASSERT (freadahead (stdin) == buffered); c2 = fgetc (stdin); ASSERT (c2 == c); ASSERT (freadahead (stdin) == buffered - 1); c = '@'; ungetc (c, stdin); ASSERT (freadahead (stdin) == buffered); c2 = fgetc (stdin); ASSERT (c2 == c); ASSERT (freadahead (stdin) == buffered - 1); } } return 0; } coreutils-8.21/gnulib-tests/test-pipe2.c0000664000000000000000000000725512071024546015140 00000000000000/* Test of pipe2. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (pipe2, int, (int[2], int)); #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #include "binary-io.h" #include "macros.h" #if GNULIB_NONBLOCKING # include "nonblocking.h" #endif /* Return true if FD is open. */ static bool is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } /* Return true if FD is not inherited to child processes. */ static bool is_cloexec (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; ASSERT (GetHandleInformation (h, &flags)); return (flags & HANDLE_FLAG_INHERIT) == 0; #else int flags; ASSERT ((flags = fcntl (fd, F_GETFD)) >= 0); return (flags & FD_CLOEXEC) != 0; #endif } #if ! GNULIB_NONBLOCKING static int get_nonblocking_flag (int fd) { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ return 0; # else # ifndef F_GETFL # error Please port fcntl to your platform # endif int flags; ASSERT ((flags = fcntl (fd, F_GETFL)) >= 0); return (flags & O_NONBLOCK) != 0; # endif } #endif int main () { int use_nonblocking; int use_cloexec; for (use_nonblocking = 0; use_nonblocking <= !!O_NONBLOCK; use_nonblocking++) for (use_cloexec = 0; use_cloexec <= !!O_CLOEXEC; use_cloexec++) { int o_flags; int fd[2]; o_flags = 0; if (use_nonblocking) o_flags |= O_NONBLOCK; if (use_cloexec) o_flags |= O_CLOEXEC; fd[0] = -1; fd[1] = -1; ASSERT (pipe2 (fd, o_flags) >= 0); ASSERT (fd[0] >= 0); ASSERT (fd[1] >= 0); ASSERT (fd[0] != fd[1]); ASSERT (is_open (fd[0])); ASSERT (is_open (fd[1])); if (use_cloexec) { ASSERT (is_cloexec (fd[0])); ASSERT (is_cloexec (fd[1])); } else { ASSERT (!is_cloexec (fd[0])); ASSERT (!is_cloexec (fd[1])); } if (use_nonblocking) { ASSERT (get_nonblocking_flag (fd[0]) == 1); ASSERT (get_nonblocking_flag (fd[1]) == 1); } else { ASSERT (get_nonblocking_flag (fd[0]) == 0); ASSERT (get_nonblocking_flag (fd[1]) == 0); } ASSERT (close (fd[0]) == 0); ASSERT (close (fd[1]) == 0); } return 0; } coreutils-8.21/gnulib-tests/test-nanosleep.c0000664000000000000000000000426212071024546016100 00000000000000/* Test of nanosleep() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (nanosleep, int, (struct timespec const *, struct timespec *)); #include #include #include #include "macros.h" #if HAVE_DECL_ALARM static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (1); } #endif int main (void) { struct timespec ts; ts.tv_sec = 1000; ts.tv_nsec = -1; errno = 0; ASSERT (nanosleep (&ts, NULL) == -1); ASSERT (errno == EINVAL); ts.tv_nsec = 1000000000; errno = 0; ASSERT (nanosleep (&ts, NULL) == -1); ASSERT (errno == EINVAL); ts.tv_sec = 0; ts.tv_nsec = 1; ASSERT (nanosleep (&ts, &ts) == 0); /* Remaining time is only defined on EINTR failure; but on success, it is typically either 0 or unchanged from input. At any rate, it shouldn't be randomly changed to unrelated values. */ ASSERT (ts.tv_sec == 0); ASSERT (ts.tv_nsec == 0 || ts.tv_nsec == 1); ts.tv_nsec = 0; ASSERT (nanosleep (&ts, NULL) == 0); #if HAVE_DECL_ALARM { const time_t pentecost = 50 * 24 * 60 * 60; /* 50 days. */ signal (SIGALRM, handle_alarm); alarm (1); ts.tv_sec = pentecost; ts.tv_nsec = 999999999; errno = 0; ASSERT (nanosleep (&ts, &ts) == -1); ASSERT (errno == EINTR); ASSERT (pentecost - 10 < ts.tv_sec && ts.tv_sec <= pentecost); ASSERT (0 <= ts.tv_nsec && ts.tv_nsec <= 999999999); } #endif return 0; } coreutils-8.21/gnulib-tests/test-c-strcasecmp.c0000664000000000000000000000414412071024546016477 00000000000000/* Test of case-insensitive string comparison function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "c-strcase.h" #include #include #include "macros.h" int main (int argc, char *argv[]) { if (argc > 1) { /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; } ASSERT (c_strcasecmp ("paragraph", "Paragraph") == 0); ASSERT (c_strcasecmp ("paragrapH", "parAgRaph") == 0); ASSERT (c_strcasecmp ("paragraph", "paraLyzed") < 0); ASSERT (c_strcasecmp ("paraLyzed", "paragraph") > 0); ASSERT (c_strcasecmp ("para", "paragraph") < 0); ASSERT (c_strcasecmp ("paragraph", "para") > 0); /* The following tests shows how c_strcasecmp() is different from strcasecmp(). */ ASSERT (c_strcasecmp ("\311mile", "\351mile") < 0); ASSERT (c_strcasecmp ("\351mile", "\311mile") > 0); /* The following tests shows how c_strcasecmp() is different from mbscasecmp(). */ ASSERT (c_strcasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R") > 0); /* özgür */ ASSERT (c_strcasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r") < 0); /* özgür */ /* This test shows how strings of different size cannot compare equal. */ ASSERT (c_strcasecmp ("turkish", "TURK\304\260SH") < 0); ASSERT (c_strcasecmp ("TURK\304\260SH", "turkish") > 0); return 0; } coreutils-8.21/gnulib-tests/test-mbsrtowcs1.sh0000775000000000000000000000054711624730153016416 00000000000000#!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional french locale is installed" else echo "Skipping test: no traditional french locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR \ ./test-mbsrtowcs${EXEEXT} 1 coreutils-8.21/gnulib-tests/test-unlink.c0000664000000000000000000000245612071024546015417 00000000000000/* Tests of unlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (unlink, int, (char const *)); #include #include #include #include #include #include #include #include "unlinkdir.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-unlink.t" #include "test-unlink.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_unlink_func (unlink, true); } coreutils-8.21/gnulib-tests/test-openat.c0000664000000000000000000000523012100637437015400 00000000000000/* Test that openat works. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (openat, int, (int, char const *, int, ...)); #include #include #include #include #include #include "progname.h" #include "macros.h" #define BASE "test-openat.t" #include "test-open.h" static int dfd = AT_FDCWD; /* Wrapper around openat to test open behavior. */ static int do_open (char const *name, int flags, ...) { if (flags & O_CREAT) { mode_t mode = 0; va_list arg; va_start (arg, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (arg, PROMOTED_MODE_T); va_end (arg); return openat (dfd, name, flags, mode); } return openat (dfd, name, flags); } int main (int argc _GL_UNUSED, char *argv[]) { int result; set_program_name (argv[0]); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (openat (-1, "foo", O_RDONLY) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (openat (99, "foo", O_RDONLY) == -1); ASSERT (errno == EBADF); } /* Basic checks. */ result = test_open (do_open, false); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_open (do_open, false) == result); ASSERT (close (dfd) == 0); /* Check that even when *-safer modules are in use, plain openat can land in fd 0. Do this test last, since it is destructive to stdin. */ ASSERT (close (STDIN_FILENO) == 0); ASSERT (openat (AT_FDCWD, ".", O_RDONLY) == STDIN_FILENO); { dfd = open (".", O_RDONLY); ASSERT (STDIN_FILENO < dfd); ASSERT (chdir ("..") == 0); ASSERT (close (STDIN_FILENO) == 0); ASSERT (openat (dfd, ".", O_RDONLY) == STDIN_FILENO); ASSERT (close (dfd) == 0); } return result; } coreutils-8.21/gnulib-tests/test-inet_pton.c0000664000000000000000000000332712071024546016114 00000000000000/* Test of inet_pton function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (inet_pton, int, (int, const char *, void *)); #include #include #include "macros.h" int main (void) { #if defined AF_INET /* HAVE_IPV4 */ { /* This machine was for a long time known as ma2s2.mathematik.uni-karlsruhe.de. */ const char printable[] = "129.13.115.2"; struct in_addr internal; int ret; ret = inet_pton (AF_INET, printable, &internal); ASSERT (ret == 1); /* Verify that internal is filled in network byte order. */ ASSERT (((unsigned char *) &internal)[0] == 0x81); ASSERT (((unsigned char *) &internal)[1] == 0x0D); ASSERT (((unsigned char *) &internal)[2] == 0x73); ASSERT (((unsigned char *) &internal)[3] == 0x02); # ifdef WORDS_BIGENDIAN ASSERT (internal.s_addr == 0x810D7302); # else ASSERT (internal.s_addr == 0x02730D81); # endif } #endif return 0; } coreutils-8.21/gnulib-tests/test-bind.c0000664000000000000000000000310412100637437015024 00000000000000/* Test binding a server socket to a port. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (bind, int, (int, const struct sockaddr *, socklen_t)); #include #include #include #include #include "sockets.h" #include "macros.h" int main (void) { (void) gl_sockets_startup (SOCKETS_1_1); /* Test behaviour for invalid file descriptors. */ { struct sockaddr_in addr; addr.sin_family = AF_INET; inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr); addr.sin_port = htons (80); { errno = 0; ASSERT (bind (-1, (const struct sockaddr *) &addr, sizeof (addr)) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (bind (99, (const struct sockaddr *) &addr, sizeof (addr)) == -1); ASSERT (errno == EBADF); } } return 0; } coreutils-8.21/gnulib-tests/test-realloc-gnu.c0000664000000000000000000000162212071024546016321 00000000000000/* Test of realloc function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include int main () { /* Check that realloc (NULL, 0) is not a NULL pointer. */ if (realloc (NULL, 0) == NULL) return 1; return 0; } coreutils-8.21/gnulib-tests/test-mkdir.h0000664000000000000000000000621112071024546015223 00000000000000/* Test of mkdir() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file is designed to test both mkdir(a,b) and mkdirat(AT_FDCWD,a,b). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping tests with status 77 when symlinks are unsupported. */ static int test_mkdir (int (*func) (char const *, mode_t), bool print) { /* Test basic error handling. */ ASSERT (close (creat (BASE "file", 0600)) == 0); errno = 0; ASSERT (func (BASE "file", 0700) == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func (BASE "file/", 0700) == -1); ASSERT (errno == ENOTDIR || errno == EEXIST); errno = 0; ASSERT (func (BASE "file/dir", 0700) == -1); ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EOPNOTSUPP); ASSERT (unlink (BASE "file") == 0); errno = 0; ASSERT (func ("", 0700) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/sub", 0700) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/.", 0700) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/.//", 0700) == -1); ASSERT (errno == ENOENT); /* Test trailing slash handling. */ ASSERT (func (BASE "dir", 0700) == 0); errno = 0; ASSERT (func (BASE "dir", 0700) == -1); ASSERT (errno == EEXIST); ASSERT (rmdir (BASE "dir") == 0); ASSERT (func (BASE "dir/", 0700) == 0); errno = 0; ASSERT (func (BASE "dir/", 0700) == -1); ASSERT (errno == EEXIST); ASSERT (rmdir (BASE "dir") == 0); /* Test symlink behavior. POSIX requires the creation of directories through a dangling symlink with trailing slash, but GNU does not yet implement that, so we support either behavior for now. */ if (symlink (BASE "dir", BASE "link")) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; ASSERT (func (BASE "link", 0700) == -1); ASSERT (errno == EEXIST); { int result; errno = 0; result = func (BASE "link/", 0700); if (!result) ASSERT (rmdir (BASE "dir") == 0); else { ASSERT (result == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (rmdir (BASE "dir") == -1); ASSERT (errno == ENOENT); } } errno = 0; ASSERT (func (BASE "link/.", 0700) == -1); ASSERT (errno == ENOENT); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-ftell2.sh0000775000000000000000000000010511624730152015467 00000000000000#!/bin/sh exec ./test-ftell${EXEEXT} 1 2 < "$srcdir/test-ftell2.sh" coreutils-8.21/gnulib-tests/test-exclude6.sh0000775000000000000000000000234312071024546016024 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test anchored cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-areadlinkat.c0000664000000000000000000000457112071024546016376 00000000000000/* Tests of areadlinkat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "areadlink.h" #include #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-areadlinkat.t" #include "test-areadlink.h" static int dfd = AT_FDCWD; /* Wrapper for testing areadlinkat. */ static char * do_areadlinkat (char const *name, size_t ignored _GL_UNUSED) { return areadlinkat (dfd, name); } int main (void) { int result; /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Basic tests. */ result = test_areadlink (do_areadlinkat, false); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_areadlink (do_areadlinkat, false) == result); /* Relative tests. */ if (result == 77) fputs ("skipping test: symlinks not supported on this file system\n", stderr); else { char *buf; ASSERT (symlink ("nowhere", BASE "link") == 0); ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (chdir (BASE "dir") == 0); buf = areadlinkat (dfd, BASE "link"); ASSERT (buf); ASSERT (strcmp (buf, "nowhere") == 0); free (buf); errno = 0; ASSERT (areadlinkat (-1, BASE "link") == NULL); ASSERT (errno == EBADF); errno = 0; ASSERT (areadlinkat (AT_FDCWD, BASE "link") == NULL); ASSERT (errno == ENOENT); ASSERT (chdir ("..") == 0); ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "link") == 0); } ASSERT (close (dfd) == 0); return result; } coreutils-8.21/gnulib-tests/localename.c0000664000000000000000000024126512071561002015236 00000000000000/* Determine name of the currently selected locale. Copyright (C) 1995-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Ulrich Drepper , 1995. */ /* Native Windows code written by Tor Lillqvist . */ /* Mac OS X code written by Bruno Haible . */ #include /* Specification. */ #ifdef IN_LIBINTL # include "gettextP.h" #else # include "localename.h" #endif #include #include #include #include #include #if HAVE_USELOCALE /* Mac OS X 10.5 defines the locale_t type in . */ # if defined __APPLE__ && defined __MACH__ # include # endif # include # if !defined IN_LIBINTL # include "glthread/lock.h" # endif #endif #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE # include # if HAVE_CFLOCALECOPYCURRENT # include # elif HAVE_CFPREFERENCESCOPYAPPVALUE # include # endif #endif #if defined _WIN32 || defined __WIN32__ # define WINDOWS_NATIVE #endif #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */ # define WIN32_LEAN_AND_MEAN # include /* List of language codes, sorted by value: 0x01 LANG_ARABIC 0x02 LANG_BULGARIAN 0x03 LANG_CATALAN 0x04 LANG_CHINESE 0x05 LANG_CZECH 0x06 LANG_DANISH 0x07 LANG_GERMAN 0x08 LANG_GREEK 0x09 LANG_ENGLISH 0x0a LANG_SPANISH 0x0b LANG_FINNISH 0x0c LANG_FRENCH 0x0d LANG_HEBREW 0x0e LANG_HUNGARIAN 0x0f LANG_ICELANDIC 0x10 LANG_ITALIAN 0x11 LANG_JAPANESE 0x12 LANG_KOREAN 0x13 LANG_DUTCH 0x14 LANG_NORWEGIAN 0x15 LANG_POLISH 0x16 LANG_PORTUGUESE 0x17 LANG_ROMANSH 0x18 LANG_ROMANIAN 0x19 LANG_RUSSIAN 0x1a LANG_CROATIAN == LANG_SERBIAN 0x1b LANG_SLOVAK 0x1c LANG_ALBANIAN 0x1d LANG_SWEDISH 0x1e LANG_THAI 0x1f LANG_TURKISH 0x20 LANG_URDU 0x21 LANG_INDONESIAN 0x22 LANG_UKRAINIAN 0x23 LANG_BELARUSIAN 0x24 LANG_SLOVENIAN 0x25 LANG_ESTONIAN 0x26 LANG_LATVIAN 0x27 LANG_LITHUANIAN 0x28 LANG_TAJIK 0x29 LANG_FARSI 0x2a LANG_VIETNAMESE 0x2b LANG_ARMENIAN 0x2c LANG_AZERI 0x2d LANG_BASQUE 0x2e LANG_SORBIAN 0x2f LANG_MACEDONIAN 0x30 LANG_SUTU 0x31 LANG_TSONGA 0x32 LANG_TSWANA 0x33 LANG_VENDA 0x34 LANG_XHOSA 0x35 LANG_ZULU 0x36 LANG_AFRIKAANS 0x37 LANG_GEORGIAN 0x38 LANG_FAEROESE 0x39 LANG_HINDI 0x3a LANG_MALTESE 0x3b LANG_SAMI 0x3c LANG_GAELIC 0x3d LANG_YIDDISH 0x3e LANG_MALAY 0x3f LANG_KAZAK 0x40 LANG_KYRGYZ 0x41 LANG_SWAHILI 0x42 LANG_TURKMEN 0x43 LANG_UZBEK 0x44 LANG_TATAR 0x45 LANG_BENGALI 0x46 LANG_PUNJABI 0x47 LANG_GUJARATI 0x48 LANG_ORIYA 0x49 LANG_TAMIL 0x4a LANG_TELUGU 0x4b LANG_KANNADA 0x4c LANG_MALAYALAM 0x4d LANG_ASSAMESE 0x4e LANG_MARATHI 0x4f LANG_SANSKRIT 0x50 LANG_MONGOLIAN 0x51 LANG_TIBETAN 0x52 LANG_WELSH 0x53 LANG_CAMBODIAN 0x54 LANG_LAO 0x55 LANG_BURMESE 0x56 LANG_GALICIAN 0x57 LANG_KONKANI 0x58 LANG_MANIPURI 0x59 LANG_SINDHI 0x5a LANG_SYRIAC 0x5b LANG_SINHALESE 0x5c LANG_CHEROKEE 0x5d LANG_INUKTITUT 0x5e LANG_AMHARIC 0x5f LANG_TAMAZIGHT 0x60 LANG_KASHMIRI 0x61 LANG_NEPALI 0x62 LANG_FRISIAN 0x63 LANG_PASHTO 0x64 LANG_TAGALOG 0x65 LANG_DIVEHI 0x66 LANG_EDO 0x67 LANG_FULFULDE 0x68 LANG_HAUSA 0x69 LANG_IBIBIO 0x6a LANG_YORUBA 0x6d LANG_BASHKIR 0x6e LANG_LUXEMBOURGISH 0x6f LANG_GREENLANDIC 0x70 LANG_IGBO 0x71 LANG_KANURI 0x72 LANG_OROMO 0x73 LANG_TIGRINYA 0x74 LANG_GUARANI 0x75 LANG_HAWAIIAN 0x76 LANG_LATIN 0x77 LANG_SOMALI 0x78 LANG_YI 0x79 LANG_PAPIAMENTU 0x7a LANG_MAPUDUNGUN 0x7c LANG_MOHAWK 0x7e LANG_BRETON 0x82 LANG_OCCITAN 0x83 LANG_CORSICAN 0x84 LANG_ALSATIAN 0x85 LANG_YAKUT 0x86 LANG_KICHE 0x87 LANG_KINYARWANDA 0x88 LANG_WOLOF 0x8c LANG_DARI 0x91 LANG_SCOTTISH_GAELIC */ /* Mingw headers don't have latest language and sublanguage codes. */ # ifndef LANG_AFRIKAANS # define LANG_AFRIKAANS 0x36 # endif # ifndef LANG_ALBANIAN # define LANG_ALBANIAN 0x1c # endif # ifndef LANG_ALSATIAN # define LANG_ALSATIAN 0x84 # endif # ifndef LANG_AMHARIC # define LANG_AMHARIC 0x5e # endif # ifndef LANG_ARABIC # define LANG_ARABIC 0x01 # endif # ifndef LANG_ARMENIAN # define LANG_ARMENIAN 0x2b # endif # ifndef LANG_ASSAMESE # define LANG_ASSAMESE 0x4d # endif # ifndef LANG_AZERI # define LANG_AZERI 0x2c # endif # ifndef LANG_BASHKIR # define LANG_BASHKIR 0x6d # endif # ifndef LANG_BASQUE # define LANG_BASQUE 0x2d # endif # ifndef LANG_BELARUSIAN # define LANG_BELARUSIAN 0x23 # endif # ifndef LANG_BENGALI # define LANG_BENGALI 0x45 # endif # ifndef LANG_BRETON # define LANG_BRETON 0x7e # endif # ifndef LANG_BURMESE # define LANG_BURMESE 0x55 # endif # ifndef LANG_CAMBODIAN # define LANG_CAMBODIAN 0x53 # endif # ifndef LANG_CATALAN # define LANG_CATALAN 0x03 # endif # ifndef LANG_CHEROKEE # define LANG_CHEROKEE 0x5c # endif # ifndef LANG_CORSICAN # define LANG_CORSICAN 0x83 # endif # ifndef LANG_DARI # define LANG_DARI 0x8c # endif # ifndef LANG_DIVEHI # define LANG_DIVEHI 0x65 # endif # ifndef LANG_EDO # define LANG_EDO 0x66 # endif # ifndef LANG_ESTONIAN # define LANG_ESTONIAN 0x25 # endif # ifndef LANG_FAEROESE # define LANG_FAEROESE 0x38 # endif # ifndef LANG_FARSI # define LANG_FARSI 0x29 # endif # ifndef LANG_FRISIAN # define LANG_FRISIAN 0x62 # endif # ifndef LANG_FULFULDE # define LANG_FULFULDE 0x67 # endif # ifndef LANG_GAELIC # define LANG_GAELIC 0x3c # endif # ifndef LANG_GALICIAN # define LANG_GALICIAN 0x56 # endif # ifndef LANG_GEORGIAN # define LANG_GEORGIAN 0x37 # endif # ifndef LANG_GREENLANDIC # define LANG_GREENLANDIC 0x6f # endif # ifndef LANG_GUARANI # define LANG_GUARANI 0x74 # endif # ifndef LANG_GUJARATI # define LANG_GUJARATI 0x47 # endif # ifndef LANG_HAUSA # define LANG_HAUSA 0x68 # endif # ifndef LANG_HAWAIIAN # define LANG_HAWAIIAN 0x75 # endif # ifndef LANG_HEBREW # define LANG_HEBREW 0x0d # endif # ifndef LANG_HINDI # define LANG_HINDI 0x39 # endif # ifndef LANG_IBIBIO # define LANG_IBIBIO 0x69 # endif # ifndef LANG_IGBO # define LANG_IGBO 0x70 # endif # ifndef LANG_INDONESIAN # define LANG_INDONESIAN 0x21 # endif # ifndef LANG_INUKTITUT # define LANG_INUKTITUT 0x5d # endif # ifndef LANG_KANNADA # define LANG_KANNADA 0x4b # endif # ifndef LANG_KANURI # define LANG_KANURI 0x71 # endif # ifndef LANG_KASHMIRI # define LANG_KASHMIRI 0x60 # endif # ifndef LANG_KAZAK # define LANG_KAZAK 0x3f # endif # ifndef LANG_KICHE # define LANG_KICHE 0x86 # endif # ifndef LANG_KINYARWANDA # define LANG_KINYARWANDA 0x87 # endif # ifndef LANG_KONKANI # define LANG_KONKANI 0x57 # endif # ifndef LANG_KYRGYZ # define LANG_KYRGYZ 0x40 # endif # ifndef LANG_LAO # define LANG_LAO 0x54 # endif # ifndef LANG_LATIN # define LANG_LATIN 0x76 # endif # ifndef LANG_LATVIAN # define LANG_LATVIAN 0x26 # endif # ifndef LANG_LITHUANIAN # define LANG_LITHUANIAN 0x27 # endif # ifndef LANG_LUXEMBOURGISH # define LANG_LUXEMBOURGISH 0x6e # endif # ifndef LANG_MACEDONIAN # define LANG_MACEDONIAN 0x2f # endif # ifndef LANG_MALAY # define LANG_MALAY 0x3e # endif # ifndef LANG_MALAYALAM # define LANG_MALAYALAM 0x4c # endif # ifndef LANG_MALTESE # define LANG_MALTESE 0x3a # endif # ifndef LANG_MANIPURI # define LANG_MANIPURI 0x58 # endif # ifndef LANG_MAORI # define LANG_MAORI 0x81 # endif # ifndef LANG_MAPUDUNGUN # define LANG_MAPUDUNGUN 0x7a # endif # ifndef LANG_MARATHI # define LANG_MARATHI 0x4e # endif # ifndef LANG_MOHAWK # define LANG_MOHAWK 0x7c # endif # ifndef LANG_MONGOLIAN # define LANG_MONGOLIAN 0x50 # endif # ifndef LANG_NEPALI # define LANG_NEPALI 0x61 # endif # ifndef LANG_OCCITAN # define LANG_OCCITAN 0x82 # endif # ifndef LANG_ORIYA # define LANG_ORIYA 0x48 # endif # ifndef LANG_OROMO # define LANG_OROMO 0x72 # endif # ifndef LANG_PAPIAMENTU # define LANG_PAPIAMENTU 0x79 # endif # ifndef LANG_PASHTO # define LANG_PASHTO 0x63 # endif # ifndef LANG_PUNJABI # define LANG_PUNJABI 0x46 # endif # ifndef LANG_QUECHUA # define LANG_QUECHUA 0x6b # endif # ifndef LANG_ROMANSH # define LANG_ROMANSH 0x17 # endif # ifndef LANG_SAMI # define LANG_SAMI 0x3b # endif # ifndef LANG_SANSKRIT # define LANG_SANSKRIT 0x4f # endif # ifndef LANG_SCOTTISH_GAELIC # define LANG_SCOTTISH_GAELIC 0x91 # endif # ifndef LANG_SERBIAN # define LANG_SERBIAN 0x1a # endif # ifndef LANG_SINDHI # define LANG_SINDHI 0x59 # endif # ifndef LANG_SINHALESE # define LANG_SINHALESE 0x5b # endif # ifndef LANG_SLOVAK # define LANG_SLOVAK 0x1b # endif # ifndef LANG_SOMALI # define LANG_SOMALI 0x77 # endif # ifndef LANG_SORBIAN # define LANG_SORBIAN 0x2e # endif # ifndef LANG_SOTHO # define LANG_SOTHO 0x6c # endif # ifndef LANG_SUTU # define LANG_SUTU 0x30 # endif # ifndef LANG_SWAHILI # define LANG_SWAHILI 0x41 # endif # ifndef LANG_SYRIAC # define LANG_SYRIAC 0x5a # endif # ifndef LANG_TAGALOG # define LANG_TAGALOG 0x64 # endif # ifndef LANG_TAJIK # define LANG_TAJIK 0x28 # endif # ifndef LANG_TAMAZIGHT # define LANG_TAMAZIGHT 0x5f # endif # ifndef LANG_TAMIL # define LANG_TAMIL 0x49 # endif # ifndef LANG_TATAR # define LANG_TATAR 0x44 # endif # ifndef LANG_TELUGU # define LANG_TELUGU 0x4a # endif # ifndef LANG_THAI # define LANG_THAI 0x1e # endif # ifndef LANG_TIBETAN # define LANG_TIBETAN 0x51 # endif # ifndef LANG_TIGRINYA # define LANG_TIGRINYA 0x73 # endif # ifndef LANG_TSONGA # define LANG_TSONGA 0x31 # endif # ifndef LANG_TSWANA # define LANG_TSWANA 0x32 # endif # ifndef LANG_TURKMEN # define LANG_TURKMEN 0x42 # endif # ifndef LANG_UIGHUR # define LANG_UIGHUR 0x80 # endif # ifndef LANG_UKRAINIAN # define LANG_UKRAINIAN 0x22 # endif # ifndef LANG_URDU # define LANG_URDU 0x20 # endif # ifndef LANG_UZBEK # define LANG_UZBEK 0x43 # endif # ifndef LANG_VENDA # define LANG_VENDA 0x33 # endif # ifndef LANG_VIETNAMESE # define LANG_VIETNAMESE 0x2a # endif # ifndef LANG_WELSH # define LANG_WELSH 0x52 # endif # ifndef LANG_WOLOF # define LANG_WOLOF 0x88 # endif # ifndef LANG_XHOSA # define LANG_XHOSA 0x34 # endif # ifndef LANG_YAKUT # define LANG_YAKUT 0x85 # endif # ifndef LANG_YI # define LANG_YI 0x78 # endif # ifndef LANG_YIDDISH # define LANG_YIDDISH 0x3d # endif # ifndef LANG_YORUBA # define LANG_YORUBA 0x6a # endif # ifndef LANG_ZULU # define LANG_ZULU 0x35 # endif # ifndef SUBLANG_AFRIKAANS_SOUTH_AFRICA # define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 # endif # ifndef SUBLANG_ALBANIAN_ALBANIA # define SUBLANG_ALBANIAN_ALBANIA 0x01 # endif # ifndef SUBLANG_ALSATIAN_FRANCE # define SUBLANG_ALSATIAN_FRANCE 0x01 # endif # ifndef SUBLANG_AMHARIC_ETHIOPIA # define SUBLANG_AMHARIC_ETHIOPIA 0x01 # endif # ifndef SUBLANG_ARABIC_SAUDI_ARABIA # define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 # endif # ifndef SUBLANG_ARABIC_IRAQ # define SUBLANG_ARABIC_IRAQ 0x02 # endif # ifndef SUBLANG_ARABIC_EGYPT # define SUBLANG_ARABIC_EGYPT 0x03 # endif # ifndef SUBLANG_ARABIC_LIBYA # define SUBLANG_ARABIC_LIBYA 0x04 # endif # ifndef SUBLANG_ARABIC_ALGERIA # define SUBLANG_ARABIC_ALGERIA 0x05 # endif # ifndef SUBLANG_ARABIC_MOROCCO # define SUBLANG_ARABIC_MOROCCO 0x06 # endif # ifndef SUBLANG_ARABIC_TUNISIA # define SUBLANG_ARABIC_TUNISIA 0x07 # endif # ifndef SUBLANG_ARABIC_OMAN # define SUBLANG_ARABIC_OMAN 0x08 # endif # ifndef SUBLANG_ARABIC_YEMEN # define SUBLANG_ARABIC_YEMEN 0x09 # endif # ifndef SUBLANG_ARABIC_SYRIA # define SUBLANG_ARABIC_SYRIA 0x0a # endif # ifndef SUBLANG_ARABIC_JORDAN # define SUBLANG_ARABIC_JORDAN 0x0b # endif # ifndef SUBLANG_ARABIC_LEBANON # define SUBLANG_ARABIC_LEBANON 0x0c # endif # ifndef SUBLANG_ARABIC_KUWAIT # define SUBLANG_ARABIC_KUWAIT 0x0d # endif # ifndef SUBLANG_ARABIC_UAE # define SUBLANG_ARABIC_UAE 0x0e # endif # ifndef SUBLANG_ARABIC_BAHRAIN # define SUBLANG_ARABIC_BAHRAIN 0x0f # endif # ifndef SUBLANG_ARABIC_QATAR # define SUBLANG_ARABIC_QATAR 0x10 # endif # ifndef SUBLANG_ARMENIAN_ARMENIA # define SUBLANG_ARMENIAN_ARMENIA 0x01 # endif # ifndef SUBLANG_ASSAMESE_INDIA # define SUBLANG_ASSAMESE_INDIA 0x01 # endif # ifndef SUBLANG_AZERI_LATIN # define SUBLANG_AZERI_LATIN 0x01 # endif # ifndef SUBLANG_AZERI_CYRILLIC # define SUBLANG_AZERI_CYRILLIC 0x02 # endif # ifndef SUBLANG_BASHKIR_RUSSIA # define SUBLANG_BASHKIR_RUSSIA 0x01 # endif # ifndef SUBLANG_BASQUE_BASQUE # define SUBLANG_BASQUE_BASQUE 0x01 # endif # ifndef SUBLANG_BELARUSIAN_BELARUS # define SUBLANG_BELARUSIAN_BELARUS 0x01 # endif # ifndef SUBLANG_BENGALI_INDIA # define SUBLANG_BENGALI_INDIA 0x01 # endif # ifndef SUBLANG_BENGALI_BANGLADESH # define SUBLANG_BENGALI_BANGLADESH 0x02 # endif # ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN # define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 # endif # ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC # define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 # endif # ifndef SUBLANG_BRETON_FRANCE # define SUBLANG_BRETON_FRANCE 0x01 # endif # ifndef SUBLANG_BULGARIAN_BULGARIA # define SUBLANG_BULGARIAN_BULGARIA 0x01 # endif # ifndef SUBLANG_CAMBODIAN_CAMBODIA # define SUBLANG_CAMBODIAN_CAMBODIA 0x01 # endif # ifndef SUBLANG_CATALAN_SPAIN # define SUBLANG_CATALAN_SPAIN 0x01 # endif # ifndef SUBLANG_CORSICAN_FRANCE # define SUBLANG_CORSICAN_FRANCE 0x01 # endif # ifndef SUBLANG_CROATIAN_CROATIA # define SUBLANG_CROATIAN_CROATIA 0x01 # endif # ifndef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN # define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 # endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 # endif # ifndef SUBLANG_CZECH_CZECH_REPUBLIC # define SUBLANG_CZECH_CZECH_REPUBLIC 0x01 # endif # ifndef SUBLANG_DANISH_DENMARK # define SUBLANG_DANISH_DENMARK 0x01 # endif # ifndef SUBLANG_DARI_AFGHANISTAN # define SUBLANG_DARI_AFGHANISTAN 0x01 # endif # ifndef SUBLANG_DIVEHI_MALDIVES # define SUBLANG_DIVEHI_MALDIVES 0x01 # endif # ifndef SUBLANG_DUTCH_SURINAM # define SUBLANG_DUTCH_SURINAM 0x03 # endif # ifndef SUBLANG_ENGLISH_SOUTH_AFRICA # define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 # endif # ifndef SUBLANG_ENGLISH_JAMAICA # define SUBLANG_ENGLISH_JAMAICA 0x08 # endif # ifndef SUBLANG_ENGLISH_CARIBBEAN # define SUBLANG_ENGLISH_CARIBBEAN 0x09 # endif # ifndef SUBLANG_ENGLISH_BELIZE # define SUBLANG_ENGLISH_BELIZE 0x0a # endif # ifndef SUBLANG_ENGLISH_TRINIDAD # define SUBLANG_ENGLISH_TRINIDAD 0x0b # endif # ifndef SUBLANG_ENGLISH_ZIMBABWE # define SUBLANG_ENGLISH_ZIMBABWE 0x0c # endif # ifndef SUBLANG_ENGLISH_PHILIPPINES # define SUBLANG_ENGLISH_PHILIPPINES 0x0d # endif # ifndef SUBLANG_ENGLISH_INDONESIA # define SUBLANG_ENGLISH_INDONESIA 0x0e # endif # ifndef SUBLANG_ENGLISH_HONGKONG # define SUBLANG_ENGLISH_HONGKONG 0x0f # endif # ifndef SUBLANG_ENGLISH_INDIA # define SUBLANG_ENGLISH_INDIA 0x10 # endif # ifndef SUBLANG_ENGLISH_MALAYSIA # define SUBLANG_ENGLISH_MALAYSIA 0x11 # endif # ifndef SUBLANG_ENGLISH_SINGAPORE # define SUBLANG_ENGLISH_SINGAPORE 0x12 # endif # ifndef SUBLANG_ESTONIAN_ESTONIA # define SUBLANG_ESTONIAN_ESTONIA 0x01 # endif # ifndef SUBLANG_FAEROESE_FAROE_ISLANDS # define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 # endif # ifndef SUBLANG_FARSI_IRAN # define SUBLANG_FARSI_IRAN 0x01 # endif # ifndef SUBLANG_FINNISH_FINLAND # define SUBLANG_FINNISH_FINLAND 0x01 # endif # ifndef SUBLANG_FRENCH_LUXEMBOURG # define SUBLANG_FRENCH_LUXEMBOURG 0x05 # endif # ifndef SUBLANG_FRENCH_MONACO # define SUBLANG_FRENCH_MONACO 0x06 # endif # ifndef SUBLANG_FRENCH_WESTINDIES # define SUBLANG_FRENCH_WESTINDIES 0x07 # endif # ifndef SUBLANG_FRENCH_REUNION # define SUBLANG_FRENCH_REUNION 0x08 # endif # ifndef SUBLANG_FRENCH_CONGO # define SUBLANG_FRENCH_CONGO 0x09 # endif # ifndef SUBLANG_FRENCH_SENEGAL # define SUBLANG_FRENCH_SENEGAL 0x0a # endif # ifndef SUBLANG_FRENCH_CAMEROON # define SUBLANG_FRENCH_CAMEROON 0x0b # endif # ifndef SUBLANG_FRENCH_COTEDIVOIRE # define SUBLANG_FRENCH_COTEDIVOIRE 0x0c # endif # ifndef SUBLANG_FRENCH_MALI # define SUBLANG_FRENCH_MALI 0x0d # endif # ifndef SUBLANG_FRENCH_MOROCCO # define SUBLANG_FRENCH_MOROCCO 0x0e # endif # ifndef SUBLANG_FRENCH_HAITI # define SUBLANG_FRENCH_HAITI 0x0f # endif # ifndef SUBLANG_FRISIAN_NETHERLANDS # define SUBLANG_FRISIAN_NETHERLANDS 0x01 # endif # ifndef SUBLANG_GALICIAN_SPAIN # define SUBLANG_GALICIAN_SPAIN 0x01 # endif # ifndef SUBLANG_GEORGIAN_GEORGIA # define SUBLANG_GEORGIAN_GEORGIA 0x01 # endif # ifndef SUBLANG_GERMAN_LUXEMBOURG # define SUBLANG_GERMAN_LUXEMBOURG 0x04 # endif # ifndef SUBLANG_GERMAN_LIECHTENSTEIN # define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 # endif # ifndef SUBLANG_GREEK_GREECE # define SUBLANG_GREEK_GREECE 0x01 # endif # ifndef SUBLANG_GREENLANDIC_GREENLAND # define SUBLANG_GREENLANDIC_GREENLAND 0x01 # endif # ifndef SUBLANG_GUJARATI_INDIA # define SUBLANG_GUJARATI_INDIA 0x01 # endif # ifndef SUBLANG_HAUSA_NIGERIA_LATIN # define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 # endif # ifndef SUBLANG_HEBREW_ISRAEL # define SUBLANG_HEBREW_ISRAEL 0x01 # endif # ifndef SUBLANG_HINDI_INDIA # define SUBLANG_HINDI_INDIA 0x01 # endif # ifndef SUBLANG_HUNGARIAN_HUNGARY # define SUBLANG_HUNGARIAN_HUNGARY 0x01 # endif # ifndef SUBLANG_ICELANDIC_ICELAND # define SUBLANG_ICELANDIC_ICELAND 0x01 # endif # ifndef SUBLANG_IGBO_NIGERIA # define SUBLANG_IGBO_NIGERIA 0x01 # endif # ifndef SUBLANG_INDONESIAN_INDONESIA # define SUBLANG_INDONESIAN_INDONESIA 0x01 # endif # ifndef SUBLANG_INUKTITUT_CANADA # define SUBLANG_INUKTITUT_CANADA 0x01 # endif # undef SUBLANG_INUKTITUT_CANADA_LATIN # define SUBLANG_INUKTITUT_CANADA_LATIN 0x02 # undef SUBLANG_IRISH_IRELAND # define SUBLANG_IRISH_IRELAND 0x02 # ifndef SUBLANG_JAPANESE_JAPAN # define SUBLANG_JAPANESE_JAPAN 0x01 # endif # ifndef SUBLANG_KANNADA_INDIA # define SUBLANG_KANNADA_INDIA 0x01 # endif # ifndef SUBLANG_KASHMIRI_INDIA # define SUBLANG_KASHMIRI_INDIA 0x02 # endif # ifndef SUBLANG_KAZAK_KAZAKHSTAN # define SUBLANG_KAZAK_KAZAKHSTAN 0x01 # endif # ifndef SUBLANG_KICHE_GUATEMALA # define SUBLANG_KICHE_GUATEMALA 0x01 # endif # ifndef SUBLANG_KINYARWANDA_RWANDA # define SUBLANG_KINYARWANDA_RWANDA 0x01 # endif # ifndef SUBLANG_KONKANI_INDIA # define SUBLANG_KONKANI_INDIA 0x01 # endif # ifndef SUBLANG_KYRGYZ_KYRGYZSTAN # define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 # endif # ifndef SUBLANG_LAO_LAOS # define SUBLANG_LAO_LAOS 0x01 # endif # ifndef SUBLANG_LATVIAN_LATVIA # define SUBLANG_LATVIAN_LATVIA 0x01 # endif # ifndef SUBLANG_LITHUANIAN_LITHUANIA # define SUBLANG_LITHUANIAN_LITHUANIA 0x01 # endif # undef SUBLANG_LOWER_SORBIAN_GERMANY # define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 # ifndef SUBLANG_LUXEMBOURGISH_LUXEMBOURG # define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 # endif # ifndef SUBLANG_MACEDONIAN_MACEDONIA # define SUBLANG_MACEDONIAN_MACEDONIA 0x01 # endif # ifndef SUBLANG_MALAY_MALAYSIA # define SUBLANG_MALAY_MALAYSIA 0x01 # endif # ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM # define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 # endif # ifndef SUBLANG_MALAYALAM_INDIA # define SUBLANG_MALAYALAM_INDIA 0x01 # endif # ifndef SUBLANG_MALTESE_MALTA # define SUBLANG_MALTESE_MALTA 0x01 # endif # ifndef SUBLANG_MAORI_NEW_ZEALAND # define SUBLANG_MAORI_NEW_ZEALAND 0x01 # endif # ifndef SUBLANG_MAPUDUNGUN_CHILE # define SUBLANG_MAPUDUNGUN_CHILE 0x01 # endif # ifndef SUBLANG_MARATHI_INDIA # define SUBLANG_MARATHI_INDIA 0x01 # endif # ifndef SUBLANG_MOHAWK_CANADA # define SUBLANG_MOHAWK_CANADA 0x01 # endif # ifndef SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA # define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 # endif # ifndef SUBLANG_MONGOLIAN_PRC # define SUBLANG_MONGOLIAN_PRC 0x02 # endif # ifndef SUBLANG_NEPALI_NEPAL # define SUBLANG_NEPALI_NEPAL 0x01 # endif # ifndef SUBLANG_NEPALI_INDIA # define SUBLANG_NEPALI_INDIA 0x02 # endif # ifndef SUBLANG_OCCITAN_FRANCE # define SUBLANG_OCCITAN_FRANCE 0x01 # endif # ifndef SUBLANG_ORIYA_INDIA # define SUBLANG_ORIYA_INDIA 0x01 # endif # ifndef SUBLANG_PASHTO_AFGHANISTAN # define SUBLANG_PASHTO_AFGHANISTAN 0x01 # endif # ifndef SUBLANG_POLISH_POLAND # define SUBLANG_POLISH_POLAND 0x01 # endif # ifndef SUBLANG_PUNJABI_INDIA # define SUBLANG_PUNJABI_INDIA 0x01 # endif # ifndef SUBLANG_PUNJABI_PAKISTAN # define SUBLANG_PUNJABI_PAKISTAN 0x02 # endif # ifndef SUBLANG_QUECHUA_BOLIVIA # define SUBLANG_QUECHUA_BOLIVIA 0x01 # endif # ifndef SUBLANG_QUECHUA_ECUADOR # define SUBLANG_QUECHUA_ECUADOR 0x02 # endif # ifndef SUBLANG_QUECHUA_PERU # define SUBLANG_QUECHUA_PERU 0x03 # endif # ifndef SUBLANG_ROMANIAN_ROMANIA # define SUBLANG_ROMANIAN_ROMANIA 0x01 # endif # ifndef SUBLANG_ROMANIAN_MOLDOVA # define SUBLANG_ROMANIAN_MOLDOVA 0x02 # endif # ifndef SUBLANG_ROMANSH_SWITZERLAND # define SUBLANG_ROMANSH_SWITZERLAND 0x01 # endif # ifndef SUBLANG_RUSSIAN_RUSSIA # define SUBLANG_RUSSIAN_RUSSIA 0x01 # endif # ifndef SUBLANG_RUSSIAN_MOLDAVIA # define SUBLANG_RUSSIAN_MOLDAVIA 0x02 # endif # ifndef SUBLANG_SAMI_NORTHERN_NORWAY # define SUBLANG_SAMI_NORTHERN_NORWAY 0x01 # endif # ifndef SUBLANG_SAMI_NORTHERN_SWEDEN # define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 # endif # ifndef SUBLANG_SAMI_NORTHERN_FINLAND # define SUBLANG_SAMI_NORTHERN_FINLAND 0x03 # endif # ifndef SUBLANG_SAMI_LULE_NORWAY # define SUBLANG_SAMI_LULE_NORWAY 0x04 # endif # ifndef SUBLANG_SAMI_LULE_SWEDEN # define SUBLANG_SAMI_LULE_SWEDEN 0x05 # endif # ifndef SUBLANG_SAMI_SOUTHERN_NORWAY # define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 # endif # ifndef SUBLANG_SAMI_SOUTHERN_SWEDEN # define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 # endif # undef SUBLANG_SAMI_SKOLT_FINLAND # define SUBLANG_SAMI_SKOLT_FINLAND 0x08 # undef SUBLANG_SAMI_INARI_FINLAND # define SUBLANG_SAMI_INARI_FINLAND 0x09 # ifndef SUBLANG_SANSKRIT_INDIA # define SUBLANG_SANSKRIT_INDIA 0x01 # endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 # endif # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif # ifndef SUBLANG_SINDHI_INDIA # define SUBLANG_SINDHI_INDIA 0x01 # endif # undef SUBLANG_SINDHI_PAKISTAN # define SUBLANG_SINDHI_PAKISTAN 0x02 # ifndef SUBLANG_SINDHI_AFGHANISTAN # define SUBLANG_SINDHI_AFGHANISTAN 0x02 # endif # ifndef SUBLANG_SINHALESE_SRI_LANKA # define SUBLANG_SINHALESE_SRI_LANKA 0x01 # endif # ifndef SUBLANG_SLOVAK_SLOVAKIA # define SUBLANG_SLOVAK_SLOVAKIA 0x01 # endif # ifndef SUBLANG_SLOVENIAN_SLOVENIA # define SUBLANG_SLOVENIAN_SLOVENIA 0x01 # endif # ifndef SUBLANG_SOTHO_SOUTH_AFRICA # define SUBLANG_SOTHO_SOUTH_AFRICA 0x01 # endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif # ifndef SUBLANG_SPANISH_COSTA_RICA # define SUBLANG_SPANISH_COSTA_RICA 0x05 # endif # ifndef SUBLANG_SPANISH_PANAMA # define SUBLANG_SPANISH_PANAMA 0x06 # endif # ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC # define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 # endif # ifndef SUBLANG_SPANISH_VENEZUELA # define SUBLANG_SPANISH_VENEZUELA 0x08 # endif # ifndef SUBLANG_SPANISH_COLOMBIA # define SUBLANG_SPANISH_COLOMBIA 0x09 # endif # ifndef SUBLANG_SPANISH_PERU # define SUBLANG_SPANISH_PERU 0x0a # endif # ifndef SUBLANG_SPANISH_ARGENTINA # define SUBLANG_SPANISH_ARGENTINA 0x0b # endif # ifndef SUBLANG_SPANISH_ECUADOR # define SUBLANG_SPANISH_ECUADOR 0x0c # endif # ifndef SUBLANG_SPANISH_CHILE # define SUBLANG_SPANISH_CHILE 0x0d # endif # ifndef SUBLANG_SPANISH_URUGUAY # define SUBLANG_SPANISH_URUGUAY 0x0e # endif # ifndef SUBLANG_SPANISH_PARAGUAY # define SUBLANG_SPANISH_PARAGUAY 0x0f # endif # ifndef SUBLANG_SPANISH_BOLIVIA # define SUBLANG_SPANISH_BOLIVIA 0x10 # endif # ifndef SUBLANG_SPANISH_EL_SALVADOR # define SUBLANG_SPANISH_EL_SALVADOR 0x11 # endif # ifndef SUBLANG_SPANISH_HONDURAS # define SUBLANG_SPANISH_HONDURAS 0x12 # endif # ifndef SUBLANG_SPANISH_NICARAGUA # define SUBLANG_SPANISH_NICARAGUA 0x13 # endif # ifndef SUBLANG_SPANISH_PUERTO_RICO # define SUBLANG_SPANISH_PUERTO_RICO 0x14 # endif # ifndef SUBLANG_SPANISH_US # define SUBLANG_SPANISH_US 0x15 # endif # ifndef SUBLANG_SWAHILI_KENYA # define SUBLANG_SWAHILI_KENYA 0x01 # endif # ifndef SUBLANG_SWEDISH_SWEDEN # define SUBLANG_SWEDISH_SWEDEN 0x01 # endif # ifndef SUBLANG_SWEDISH_FINLAND # define SUBLANG_SWEDISH_FINLAND 0x02 # endif # ifndef SUBLANG_SYRIAC_SYRIA # define SUBLANG_SYRIAC_SYRIA 0x01 # endif # ifndef SUBLANG_TAGALOG_PHILIPPINES # define SUBLANG_TAGALOG_PHILIPPINES 0x01 # endif # ifndef SUBLANG_TAJIK_TAJIKISTAN # define SUBLANG_TAJIK_TAJIKISTAN 0x01 # endif # ifndef SUBLANG_TAMAZIGHT_ARABIC # define SUBLANG_TAMAZIGHT_ARABIC 0x01 # endif # ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN # define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 # endif # ifndef SUBLANG_TAMIL_INDIA # define SUBLANG_TAMIL_INDIA 0x01 # endif # ifndef SUBLANG_TATAR_RUSSIA # define SUBLANG_TATAR_RUSSIA 0x01 # endif # ifndef SUBLANG_TELUGU_INDIA # define SUBLANG_TELUGU_INDIA 0x01 # endif # ifndef SUBLANG_THAI_THAILAND # define SUBLANG_THAI_THAILAND 0x01 # endif # ifndef SUBLANG_TIBETAN_PRC # define SUBLANG_TIBETAN_PRC 0x01 # endif # undef SUBLANG_TIBETAN_BHUTAN # define SUBLANG_TIBETAN_BHUTAN 0x02 # ifndef SUBLANG_TIGRINYA_ETHIOPIA # define SUBLANG_TIGRINYA_ETHIOPIA 0x01 # endif # ifndef SUBLANG_TIGRINYA_ERITREA # define SUBLANG_TIGRINYA_ERITREA 0x02 # endif # ifndef SUBLANG_TSWANA_SOUTH_AFRICA # define SUBLANG_TSWANA_SOUTH_AFRICA 0x01 # endif # ifndef SUBLANG_TURKISH_TURKEY # define SUBLANG_TURKISH_TURKEY 0x01 # endif # ifndef SUBLANG_TURKMEN_TURKMENISTAN # define SUBLANG_TURKMEN_TURKMENISTAN 0x01 # endif # ifndef SUBLANG_UIGHUR_PRC # define SUBLANG_UIGHUR_PRC 0x01 # endif # ifndef SUBLANG_UKRAINIAN_UKRAINE # define SUBLANG_UKRAINIAN_UKRAINE 0x01 # endif # ifndef SUBLANG_UPPER_SORBIAN_GERMANY # define SUBLANG_UPPER_SORBIAN_GERMANY 0x01 # endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 # endif # ifndef SUBLANG_URDU_INDIA # define SUBLANG_URDU_INDIA 0x02 # endif # ifndef SUBLANG_UZBEK_LATIN # define SUBLANG_UZBEK_LATIN 0x01 # endif # ifndef SUBLANG_UZBEK_CYRILLIC # define SUBLANG_UZBEK_CYRILLIC 0x02 # endif # ifndef SUBLANG_VIETNAMESE_VIETNAM # define SUBLANG_VIETNAMESE_VIETNAM 0x01 # endif # ifndef SUBLANG_WELSH_UNITED_KINGDOM # define SUBLANG_WELSH_UNITED_KINGDOM 0x01 # endif # ifndef SUBLANG_WOLOF_SENEGAL # define SUBLANG_WOLOF_SENEGAL 0x01 # endif # ifndef SUBLANG_XHOSA_SOUTH_AFRICA # define SUBLANG_XHOSA_SOUTH_AFRICA 0x01 # endif # ifndef SUBLANG_YAKUT_RUSSIA # define SUBLANG_YAKUT_RUSSIA 0x01 # endif # ifndef SUBLANG_YI_PRC # define SUBLANG_YI_PRC 0x01 # endif # ifndef SUBLANG_YORUBA_NIGERIA # define SUBLANG_YORUBA_NIGERIA 0x01 # endif # ifndef SUBLANG_ZULU_SOUTH_AFRICA # define SUBLANG_ZULU_SOUTH_AFRICA 0x01 # endif /* GetLocaleInfoA operations. */ # ifndef LOCALE_SNAME # define LOCALE_SNAME 0x5c # endif #endif #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* Mac OS X 10.2 or newer */ /* Canonicalize a Mac OS X locale name to a Unix locale name. NAME is a sufficiently large buffer. On input, it contains the Mac OS X locale name. On output, it contains the Unix locale name. */ # if !defined IN_LIBINTL static # endif void gl_locale_name_canonicalize (char *name) { /* This conversion is based on a posting by Deborah GoldSmith on 2005-03-08, http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and ISO 3166) names. Prior to Mac OS X 10.3, there is no API for doing this. Therefore we do it ourselves, using a table based on the results of the Mac OS X 10.3.8 function CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ typedef struct { const char legacy[21+1]; const char unixy[5+1]; } legacy_entry; static const legacy_entry legacy_table[] = { { "Afrikaans", "af" }, { "Albanian", "sq" }, { "Amharic", "am" }, { "Arabic", "ar" }, { "Armenian", "hy" }, { "Assamese", "as" }, { "Aymara", "ay" }, { "Azerbaijani", "az" }, { "Basque", "eu" }, { "Belarusian", "be" }, { "Belorussian", "be" }, { "Bengali", "bn" }, { "Brazilian Portugese", "pt_BR" }, { "Brazilian Portuguese", "pt_BR" }, { "Breton", "br" }, { "Bulgarian", "bg" }, { "Burmese", "my" }, { "Byelorussian", "be" }, { "Catalan", "ca" }, { "Chewa", "ny" }, { "Chichewa", "ny" }, { "Chinese", "zh" }, { "Chinese, Simplified", "zh_CN" }, { "Chinese, Traditional", "zh_TW" }, { "Chinese, Tradtional", "zh_TW" }, { "Croatian", "hr" }, { "Czech", "cs" }, { "Danish", "da" }, { "Dutch", "nl" }, { "Dzongkha", "dz" }, { "English", "en" }, { "Esperanto", "eo" }, { "Estonian", "et" }, { "Faroese", "fo" }, { "Farsi", "fa" }, { "Finnish", "fi" }, { "Flemish", "nl_BE" }, { "French", "fr" }, { "Galician", "gl" }, { "Gallegan", "gl" }, { "Georgian", "ka" }, { "German", "de" }, { "Greek", "el" }, { "Greenlandic", "kl" }, { "Guarani", "gn" }, { "Gujarati", "gu" }, { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ { "Hebrew", "he" }, { "Hindi", "hi" }, { "Hungarian", "hu" }, { "Icelandic", "is" }, { "Indonesian", "id" }, { "Inuktitut", "iu" }, { "Irish", "ga" }, { "Italian", "it" }, { "Japanese", "ja" }, { "Javanese", "jv" }, { "Kalaallisut", "kl" }, { "Kannada", "kn" }, { "Kashmiri", "ks" }, { "Kazakh", "kk" }, { "Khmer", "km" }, { "Kinyarwanda", "rw" }, { "Kirghiz", "ky" }, { "Korean", "ko" }, { "Kurdish", "ku" }, { "Latin", "la" }, { "Latvian", "lv" }, { "Lithuanian", "lt" }, { "Macedonian", "mk" }, { "Malagasy", "mg" }, { "Malay", "ms" }, { "Malayalam", "ml" }, { "Maltese", "mt" }, { "Manx", "gv" }, { "Marathi", "mr" }, { "Moldavian", "mo" }, { "Mongolian", "mn" }, { "Nepali", "ne" }, { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ { "Nyanja", "ny" }, { "Nynorsk", "nn" }, { "Oriya", "or" }, { "Oromo", "om" }, { "Panjabi", "pa" }, { "Pashto", "ps" }, { "Persian", "fa" }, { "Polish", "pl" }, { "Portuguese", "pt" }, { "Portuguese, Brazilian", "pt_BR" }, { "Punjabi", "pa" }, { "Pushto", "ps" }, { "Quechua", "qu" }, { "Romanian", "ro" }, { "Ruanda", "rw" }, { "Rundi", "rn" }, { "Russian", "ru" }, { "Sami", "se_NO" }, /* Not just "se". */ { "Sanskrit", "sa" }, { "Scottish", "gd" }, { "Serbian", "sr" }, { "Simplified Chinese", "zh_CN" }, { "Sindhi", "sd" }, { "Sinhalese", "si" }, { "Slovak", "sk" }, { "Slovenian", "sl" }, { "Somali", "so" }, { "Spanish", "es" }, { "Sundanese", "su" }, { "Swahili", "sw" }, { "Swedish", "sv" }, { "Tagalog", "tl" }, { "Tajik", "tg" }, { "Tajiki", "tg" }, { "Tamil", "ta" }, { "Tatar", "tt" }, { "Telugu", "te" }, { "Thai", "th" }, { "Tibetan", "bo" }, { "Tigrinya", "ti" }, { "Tongan", "to" }, { "Traditional Chinese", "zh_TW" }, { "Turkish", "tr" }, { "Turkmen", "tk" }, { "Uighur", "ug" }, { "Ukrainian", "uk" }, { "Urdu", "ur" }, { "Uzbek", "uz" }, { "Vietnamese", "vi" }, { "Welsh", "cy" }, { "Yiddish", "yi" } }; /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) to Unix (ISO 639 and ISO 3166) names. */ typedef struct { const char langtag[7+1]; const char unixy[12+1]; } langtag_entry; static const langtag_entry langtag_table[] = { /* Mac OS X has "az-Arab", "az-Cyrl", "az-Latn". The default script for az on Unix is Latin. */ { "az-Latn", "az" }, /* Mac OS X has "ga-dots". Does not yet exist on Unix. */ { "ga-dots", "ga" }, /* Mac OS X has "kk-Cyrl". Does not yet exist on Unix. */ /* Mac OS X has "mn-Cyrl", "mn-Mong". The default script for mn on Unix is Cyrillic. */ { "mn-Cyrl", "mn" }, /* Mac OS X has "ms-Arab", "ms-Latn". The default script for ms on Unix is Latin. */ { "ms-Latn", "ms" }, /* Mac OS X has "tg-Cyrl". The default script for tg on Unix is Cyrillic. */ { "tg-Cyrl", "tg" }, /* Mac OS X has "tk-Cyrl". Does not yet exist on Unix. */ /* Mac OS X has "tt-Cyrl". The default script for tt on Unix is Cyrillic. */ { "tt-Cyrl", "tt" }, /* Mac OS X has "zh-Hans", "zh-Hant". Country codes are used to distinguish these on Unix. */ { "zh-Hans", "zh_CN" }, { "zh-Hant", "zh_TW" } }; /* Convert script names (ISO 15924) to Unix conventions. See http://www.unicode.org/iso15924/iso15924-codes.html */ typedef struct { const char script[4+1]; const char unixy[9+1]; } script_entry; static const script_entry script_table[] = { { "Arab", "arabic" }, { "Cyrl", "cyrillic" }, { "Mong", "mongolian" } }; /* Step 1: Convert using legacy_table. */ if (name[0] >= 'A' && name[0] <= 'Z') { unsigned int i1, i2; i1 = 0; i2 = sizeof (legacy_table) / sizeof (legacy_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in legacy_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const legacy_entry *p = &legacy_table[i]; if (strcmp (name, p->legacy) < 0) i2 = i; else i1 = i; } if (strcmp (name, legacy_table[i1].legacy) == 0) { strcpy (name, legacy_table[i1].unixy); return; } } /* Step 2: Convert using langtag_table and script_table. */ if (strlen (name) == 7 && name[2] == '-') { unsigned int i1, i2; i1 = 0; i2 = sizeof (langtag_table) / sizeof (langtag_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in langtag_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const langtag_entry *p = &langtag_table[i]; if (strcmp (name, p->langtag) < 0) i2 = i; else i1 = i; } if (strcmp (name, langtag_table[i1].langtag) == 0) { strcpy (name, langtag_table[i1].unixy); return; } i1 = 0; i2 = sizeof (script_table) / sizeof (script_entry); while (i2 - i1 > 1) { /* At this point we know that if (name + 3) occurs in script_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const script_entry *p = &script_table[i]; if (strcmp (name + 3, p->script) < 0) i2 = i; else i1 = i; } if (strcmp (name + 3, script_table[i1].script) == 0) { name[2] = '@'; strcpy (name + 3, script_table[i1].unixy); return; } } /* Step 3: Convert new-style dash to Unix underscore. */ { char *p; for (p = name; *p != '\0'; p++) if (*p == '-') *p = '_'; } } #endif #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */ /* Canonicalize a Windows native locale name to a Unix locale name. NAME is a sufficiently large buffer. On input, it contains the Windows locale name. On output, it contains the Unix locale name. */ # if !defined IN_LIBINTL static # endif void gl_locale_name_canonicalize (char *name) { /* FIXME: This is probably incomplete: it does not handle "zh-Hans" and "zh-Hant". */ char *p; for (p = name; *p != '\0'; p++) if (*p == '-') { *p = '_'; p++; for (; *p != '\0'; p++) { if (*p >= 'a' && *p <= 'z') *p += 'A' - 'a'; if (*p == '-') { *p = '\0'; return; } } return; } } # if !defined IN_LIBINTL static # endif const char * gl_locale_name_from_win32_LANGID (LANGID langid) { /* Activate the new code only when the GETTEXT_MUI environment variable is set, for the time being, since the new code is not well tested. */ if (getenv ("GETTEXT_MUI") != NULL) { static char namebuf[256]; /* Query the system's notion of locale name. On Windows95/98/ME, GetLocaleInfoA returns some incorrect results. But we don't need to support systems that are so old. */ if (GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_SNAME, namebuf, sizeof (namebuf) - 1)) { /* Convert it to a Unix locale name. */ gl_locale_name_canonicalize (namebuf); return namebuf; } } /* Internet Explorer has an LCID to RFC3066 name mapping stored in HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that since IE's i18n subsystem is known to be inconsistent with the native Windows base (e.g. they have different character conversion facilities that produce different results). */ /* Use our own table. */ { int primary, sub; /* Split into language and territory part. */ primary = PRIMARYLANGID (langid); sub = SUBLANGID (langid); /* Dispatch on language. See also http://www.unicode.org/unicode/onlinedat/languages.html . For details about languages, see http://www.ethnologue.com/ . */ switch (primary) { case LANG_AFRIKAANS: switch (sub) { case SUBLANG_AFRIKAANS_SOUTH_AFRICA: return "af_ZA"; } return "af"; case LANG_ALBANIAN: switch (sub) { case SUBLANG_ALBANIAN_ALBANIA: return "sq_AL"; } return "sq"; case LANG_ALSATIAN: switch (sub) { case SUBLANG_ALSATIAN_FRANCE: return "gsw_FR"; } return "gsw"; case LANG_AMHARIC: switch (sub) { case SUBLANG_AMHARIC_ETHIOPIA: return "am_ET"; } return "am"; case LANG_ARABIC: switch (sub) { case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; case SUBLANG_ARABIC_EGYPT: return "ar_EG"; case SUBLANG_ARABIC_LIBYA: return "ar_LY"; case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; case SUBLANG_ARABIC_OMAN: return "ar_OM"; case SUBLANG_ARABIC_YEMEN: return "ar_YE"; case SUBLANG_ARABIC_SYRIA: return "ar_SY"; case SUBLANG_ARABIC_JORDAN: return "ar_JO"; case SUBLANG_ARABIC_LEBANON: return "ar_LB"; case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; case SUBLANG_ARABIC_UAE: return "ar_AE"; case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; case SUBLANG_ARABIC_QATAR: return "ar_QA"; } return "ar"; case LANG_ARMENIAN: switch (sub) { case SUBLANG_ARMENIAN_ARMENIA: return "hy_AM"; } return "hy"; case LANG_ASSAMESE: switch (sub) { case SUBLANG_ASSAMESE_INDIA: return "as_IN"; } return "as"; case LANG_AZERI: switch (sub) { /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ case 0x1e: return "az@latin"; case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; case 0x1d: return "az@cyrillic"; case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; } return "az"; case LANG_BASHKIR: switch (sub) { case SUBLANG_BASHKIR_RUSSIA: return "ba_RU"; } return "ba"; case LANG_BASQUE: switch (sub) { case SUBLANG_BASQUE_BASQUE: return "eu_ES"; } return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ case LANG_BELARUSIAN: switch (sub) { case SUBLANG_BELARUSIAN_BELARUS: return "be_BY"; } return "be"; case LANG_BENGALI: switch (sub) { case SUBLANG_BENGALI_INDIA: return "bn_IN"; case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; } return "bn"; case LANG_BRETON: switch (sub) { case SUBLANG_BRETON_FRANCE: return "br_FR"; } return "br"; case LANG_BULGARIAN: switch (sub) { case SUBLANG_BULGARIAN_BULGARIA: return "bg_BG"; } return "bg"; case LANG_BURMESE: switch (sub) { case SUBLANG_DEFAULT: return "my_MM"; } return "my"; case LANG_CAMBODIAN: switch (sub) { case SUBLANG_CAMBODIAN_CAMBODIA: return "km_KH"; } return "km"; case LANG_CATALAN: switch (sub) { case SUBLANG_CATALAN_SPAIN: return "ca_ES"; } return "ca"; case LANG_CHEROKEE: switch (sub) { case SUBLANG_DEFAULT: return "chr_US"; } return "chr"; case LANG_CHINESE: switch (sub) { case SUBLANG_CHINESE_TRADITIONAL: case 0x1f: return "zh_TW"; case SUBLANG_CHINESE_SIMPLIFIED: case 0x00: return "zh_CN"; case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; /* traditional */ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; /* simplified */ case SUBLANG_CHINESE_MACAU: return "zh_MO"; /* traditional */ } return "zh"; case LANG_CORSICAN: switch (sub) { case SUBLANG_CORSICAN_FRANCE: return "co_FR"; } return "co"; case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. * (Says tml, who knows nothing about Serbian * or Croatian.) * (I can feel those flames coming already.) */ switch (sub) { /* Croatian */ case 0x00: return "hr"; case SUBLANG_CROATIAN_CROATIA: return "hr_HR"; case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: return "hr_BA"; /* Serbian */ case 0x1f: return "sr"; case 0x1c: return "sr"; /* latin */ case SUBLANG_SERBIAN_LATIN: return "sr_CS"; /* latin */ case 0x09: return "sr_RS"; /* latin */ case 0x0b: return "sr_ME"; /* latin */ case 0x06: return "sr_BA"; /* latin */ case 0x1b: return "sr@cyrillic"; case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; case 0x0a: return "sr_RS@cyrillic"; case 0x0c: return "sr_ME@cyrillic"; case 0x07: return "sr_BA@cyrillic"; /* Bosnian */ case 0x1e: return "bs"; case 0x1a: return "bs"; /* latin */ case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: return "bs_BA"; /* latin */ case 0x19: return "bs@cyrillic"; case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: return "bs_BA@cyrillic"; } return "hr"; case LANG_CZECH: switch (sub) { case SUBLANG_CZECH_CZECH_REPUBLIC: return "cs_CZ"; } return "cs"; case LANG_DANISH: switch (sub) { case SUBLANG_DANISH_DENMARK: return "da_DK"; } return "da"; case LANG_DARI: /* FIXME: Adjust this when such locales appear on Unix. */ switch (sub) { case SUBLANG_DARI_AFGHANISTAN: return "prs_AF"; } return "prs"; case LANG_DIVEHI: switch (sub) { case SUBLANG_DIVEHI_MALDIVES: return "dv_MV"; } return "dv"; case LANG_DUTCH: switch (sub) { case SUBLANG_DUTCH: return "nl_NL"; case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; case SUBLANG_DUTCH_SURINAM: return "nl_SR"; } return "nl"; case LANG_EDO: switch (sub) { case SUBLANG_DEFAULT: return "bin_NG"; } return "bin"; case LANG_ENGLISH: switch (sub) { /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought * English was the language spoken in England. * Oh well. */ case SUBLANG_ENGLISH_US: return "en_US"; case SUBLANG_ENGLISH_UK: return "en_GB"; case SUBLANG_ENGLISH_AUS: return "en_AU"; case SUBLANG_ENGLISH_CAN: return "en_CA"; case SUBLANG_ENGLISH_NZ: return "en_NZ"; case SUBLANG_ENGLISH_EIRE: return "en_IE"; case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; case SUBLANG_ENGLISH_INDIA: return "en_IN"; case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; } return "en"; case LANG_ESTONIAN: switch (sub) { case SUBLANG_ESTONIAN_ESTONIA: return "et_EE"; } return "et"; case LANG_FAEROESE: switch (sub) { case SUBLANG_FAEROESE_FAROE_ISLANDS: return "fo_FO"; } return "fo"; case LANG_FARSI: switch (sub) { case SUBLANG_FARSI_IRAN: return "fa_IR"; } return "fa"; case LANG_FINNISH: switch (sub) { case SUBLANG_FINNISH_FINLAND: return "fi_FI"; } return "fi"; case LANG_FRENCH: switch (sub) { case SUBLANG_FRENCH: return "fr_FR"; case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; case SUBLANG_FRENCH_SWISS: return "fr_CH"; case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; case SUBLANG_FRENCH_MONACO: return "fr_MC"; case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ case SUBLANG_FRENCH_REUNION: return "fr_RE"; case SUBLANG_FRENCH_CONGO: return "fr_CG"; case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; case SUBLANG_FRENCH_MALI: return "fr_ML"; case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; case SUBLANG_FRENCH_HAITI: return "fr_HT"; } return "fr"; case LANG_FRISIAN: switch (sub) { case SUBLANG_FRISIAN_NETHERLANDS: return "fy_NL"; } return "fy"; case LANG_FULFULDE: /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ switch (sub) { case SUBLANG_DEFAULT: return "ff_NG"; } return "ff"; case LANG_GAELIC: switch (sub) { case 0x01: /* SCOTTISH */ /* old, superseded by LANG_SCOTTISH_GAELIC */ return "gd_GB"; case SUBLANG_IRISH_IRELAND: return "ga_IE"; } return "ga"; case LANG_GALICIAN: switch (sub) { case SUBLANG_GALICIAN_SPAIN: return "gl_ES"; } return "gl"; case LANG_GEORGIAN: switch (sub) { case SUBLANG_GEORGIAN_GEORGIA: return "ka_GE"; } return "ka"; case LANG_GERMAN: switch (sub) { case SUBLANG_GERMAN: return "de_DE"; case SUBLANG_GERMAN_SWISS: return "de_CH"; case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; } return "de"; case LANG_GREEK: switch (sub) { case SUBLANG_GREEK_GREECE: return "el_GR"; } return "el"; case LANG_GREENLANDIC: switch (sub) { case SUBLANG_GREENLANDIC_GREENLAND: return "kl_GL"; } return "kl"; case LANG_GUARANI: switch (sub) { case SUBLANG_DEFAULT: return "gn_PY"; } return "gn"; case LANG_GUJARATI: switch (sub) { case SUBLANG_GUJARATI_INDIA: return "gu_IN"; } return "gu"; case LANG_HAUSA: switch (sub) { case 0x1f: return "ha"; case SUBLANG_HAUSA_NIGERIA_LATIN: return "ha_NG"; } return "ha"; case LANG_HAWAIIAN: /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) or Hawaii Creole English ("cpe_US", 600000 speakers)? */ switch (sub) { case SUBLANG_DEFAULT: return "cpe_US"; } return "cpe"; case LANG_HEBREW: switch (sub) { case SUBLANG_HEBREW_ISRAEL: return "he_IL"; } return "he"; case LANG_HINDI: switch (sub) { case SUBLANG_HINDI_INDIA: return "hi_IN"; } return "hi"; case LANG_HUNGARIAN: switch (sub) { case SUBLANG_HUNGARIAN_HUNGARY: return "hu_HU"; } return "hu"; case LANG_IBIBIO: switch (sub) { case SUBLANG_DEFAULT: return "nic_NG"; } return "nic"; case LANG_ICELANDIC: switch (sub) { case SUBLANG_ICELANDIC_ICELAND: return "is_IS"; } return "is"; case LANG_IGBO: switch (sub) { case SUBLANG_IGBO_NIGERIA: return "ig_NG"; } return "ig"; case LANG_INDONESIAN: switch (sub) { case SUBLANG_INDONESIAN_INDONESIA: return "id_ID"; } return "id"; case LANG_INUKTITUT: switch (sub) { case 0x1e: return "iu"; /* syllabic */ case SUBLANG_INUKTITUT_CANADA: return "iu_CA"; /* syllabic */ case 0x1f: return "iu@latin"; case SUBLANG_INUKTITUT_CANADA_LATIN: return "iu_CA@latin"; } return "iu"; case LANG_ITALIAN: switch (sub) { case SUBLANG_ITALIAN: return "it_IT"; case SUBLANG_ITALIAN_SWISS: return "it_CH"; } return "it"; case LANG_JAPANESE: switch (sub) { case SUBLANG_JAPANESE_JAPAN: return "ja_JP"; } return "ja"; case LANG_KANNADA: switch (sub) { case SUBLANG_KANNADA_INDIA: return "kn_IN"; } return "kn"; case LANG_KANURI: switch (sub) { case SUBLANG_DEFAULT: return "kr_NG"; } return "kr"; case LANG_KASHMIRI: switch (sub) { case SUBLANG_DEFAULT: return "ks_PK"; case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; } return "ks"; case LANG_KAZAK: switch (sub) { case SUBLANG_KAZAK_KAZAKHSTAN: return "kk_KZ"; } return "kk"; case LANG_KICHE: /* FIXME: Adjust this when such locales appear on Unix. */ switch (sub) { case SUBLANG_KICHE_GUATEMALA: return "qut_GT"; } return "qut"; case LANG_KINYARWANDA: switch (sub) { case SUBLANG_KINYARWANDA_RWANDA: return "rw_RW"; } return "rw"; case LANG_KONKANI: /* FIXME: Adjust this when such locales appear on Unix. */ switch (sub) { case SUBLANG_KONKANI_INDIA: return "kok_IN"; } return "kok"; case LANG_KOREAN: switch (sub) { case SUBLANG_DEFAULT: return "ko_KR"; } return "ko"; case LANG_KYRGYZ: switch (sub) { case SUBLANG_KYRGYZ_KYRGYZSTAN: return "ky_KG"; } return "ky"; case LANG_LAO: switch (sub) { case SUBLANG_LAO_LAOS: return "lo_LA"; } return "lo"; case LANG_LATIN: switch (sub) { case SUBLANG_DEFAULT: return "la_VA"; } return "la"; case LANG_LATVIAN: switch (sub) { case SUBLANG_LATVIAN_LATVIA: return "lv_LV"; } return "lv"; case LANG_LITHUANIAN: switch (sub) { case SUBLANG_LITHUANIAN_LITHUANIA: return "lt_LT"; } return "lt"; case LANG_LUXEMBOURGISH: switch (sub) { case SUBLANG_LUXEMBOURGISH_LUXEMBOURG: return "lb_LU"; } return "lb"; case LANG_MACEDONIAN: switch (sub) { case SUBLANG_MACEDONIAN_MACEDONIA: return "mk_MK"; } return "mk"; case LANG_MALAY: switch (sub) { case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; } return "ms"; case LANG_MALAYALAM: switch (sub) { case SUBLANG_MALAYALAM_INDIA: return "ml_IN"; } return "ml"; case LANG_MALTESE: switch (sub) { case SUBLANG_MALTESE_MALTA: return "mt_MT"; } return "mt"; case LANG_MANIPURI: /* FIXME: Adjust this when such locales appear on Unix. */ switch (sub) { case SUBLANG_DEFAULT: return "mni_IN"; } return "mni"; case LANG_MAORI: switch (sub) { case SUBLANG_MAORI_NEW_ZEALAND: return "mi_NZ"; } return "mi"; case LANG_MAPUDUNGUN: switch (sub) { case SUBLANG_MAPUDUNGUN_CHILE: return "arn_CL"; } return "arn"; case LANG_MARATHI: switch (sub) { case SUBLANG_MARATHI_INDIA: return "mr_IN"; } return "mr"; case LANG_MOHAWK: switch (sub) { case SUBLANG_MOHAWK_CANADA: return "moh_CA"; } return "moh"; case LANG_MONGOLIAN: switch (sub) { case SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: case 0x1e: return "mn_MN"; case SUBLANG_MONGOLIAN_PRC: case 0x1f: return "mn_CN"; } return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ case LANG_NEPALI: switch (sub) { case SUBLANG_NEPALI_NEPAL: return "ne_NP"; case SUBLANG_NEPALI_INDIA: return "ne_IN"; } return "ne"; case LANG_NORWEGIAN: switch (sub) { case 0x1f: return "nb"; case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; case 0x1e: return "nn"; case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; } return "no"; case LANG_OCCITAN: switch (sub) { case SUBLANG_OCCITAN_FRANCE: return "oc_FR"; } return "oc"; case LANG_ORIYA: switch (sub) { case SUBLANG_ORIYA_INDIA: return "or_IN"; } return "or"; case LANG_OROMO: switch (sub) { case SUBLANG_DEFAULT: return "om_ET"; } return "om"; case LANG_PAPIAMENTU: switch (sub) { case SUBLANG_DEFAULT: return "pap_AN"; } return "pap"; case LANG_PASHTO: switch (sub) { case SUBLANG_PASHTO_AFGHANISTAN: return "ps_AF"; } return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ case LANG_POLISH: switch (sub) { case SUBLANG_POLISH_POLAND: return "pl_PL"; } return "pl"; case LANG_PORTUGUESE: switch (sub) { /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; case SUBLANG_PORTUGUESE: return "pt_PT"; } return "pt"; case LANG_PUNJABI: switch (sub) { case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ } return "pa"; case LANG_QUECHUA: /* Note: Microsoft uses the non-ISO language code "quz". */ switch (sub) { case SUBLANG_QUECHUA_BOLIVIA: return "qu_BO"; case SUBLANG_QUECHUA_ECUADOR: return "qu_EC"; case SUBLANG_QUECHUA_PERU: return "qu_PE"; } return "qu"; case LANG_ROMANIAN: switch (sub) { case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; } return "ro"; case LANG_ROMANSH: switch (sub) { case SUBLANG_ROMANSH_SWITZERLAND: return "rm_CH"; } return "rm"; case LANG_RUSSIAN: switch (sub) { case SUBLANG_RUSSIAN_RUSSIA: return "ru_RU"; case SUBLANG_RUSSIAN_MOLDAVIA: return "ru_MD"; } return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ case LANG_SAMI: switch (sub) { /* Northern Sami */ case 0x00: return "se"; case SUBLANG_SAMI_NORTHERN_NORWAY: return "se_NO"; case SUBLANG_SAMI_NORTHERN_SWEDEN: return "se_SE"; case SUBLANG_SAMI_NORTHERN_FINLAND: return "se_FI"; /* Lule Sami */ case 0x1f: return "smj"; case SUBLANG_SAMI_LULE_NORWAY: return "smj_NO"; case SUBLANG_SAMI_LULE_SWEDEN: return "smj_SE"; /* Southern Sami */ case 0x1e: return "sma"; case SUBLANG_SAMI_SOUTHERN_NORWAY: return "sma_NO"; case SUBLANG_SAMI_SOUTHERN_SWEDEN: return "sma_SE"; /* Skolt Sami */ case 0x1d: return "sms"; case SUBLANG_SAMI_SKOLT_FINLAND: return "sms_FI"; /* Inari Sami */ case 0x1c: return "smn"; case SUBLANG_SAMI_INARI_FINLAND: return "smn_FI"; } return "se"; /* or "smi"? */ case LANG_SANSKRIT: switch (sub) { case SUBLANG_SANSKRIT_INDIA: return "sa_IN"; } return "sa"; case LANG_SCOTTISH_GAELIC: switch (sub) { case SUBLANG_DEFAULT: return "gd_GB"; } return "gd"; case LANG_SINDHI: switch (sub) { case SUBLANG_SINDHI_INDIA: return "sd_IN"; case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; /*case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";*/ } return "sd"; case LANG_SINHALESE: switch (sub) { case SUBLANG_SINHALESE_SRI_LANKA: return "si_LK"; } return "si"; case LANG_SLOVAK: switch (sub) { case SUBLANG_SLOVAK_SLOVAKIA: return "sk_SK"; } return "sk"; case LANG_SLOVENIAN: switch (sub) { case SUBLANG_SLOVENIAN_SLOVENIA: return "sl_SI"; } return "sl"; case LANG_SOMALI: switch (sub) { case SUBLANG_DEFAULT: return "so_SO"; } return "so"; case LANG_SORBIAN: /* FIXME: Adjust this when such locales appear on Unix. */ switch (sub) { /* Upper Sorbian */ case 0x00: return "hsb"; case SUBLANG_UPPER_SORBIAN_GERMANY: return "hsb_DE"; /* Lower Sorbian */ case 0x1f: return "dsb"; case SUBLANG_LOWER_SORBIAN_GERMANY: return "dsb_DE"; } return "wen"; case LANG_SOTHO: /* calls it "Sepedi"; according to it's the same as Northern Sotho. */ switch (sub) { case SUBLANG_SOTHO_SOUTH_AFRICA: return "nso_ZA"; } return "nso"; case LANG_SPANISH: switch (sub) { case SUBLANG_SPANISH: return "es_ES"; case SUBLANG_SPANISH_MEXICAN: return "es_MX"; case SUBLANG_SPANISH_MODERN: return "es_ES@modern"; /* not seen on Unix */ case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; case SUBLANG_SPANISH_PANAMA: return "es_PA"; case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; case SUBLANG_SPANISH_PERU: return "es_PE"; case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; case SUBLANG_SPANISH_ECUADOR: return "es_EC"; case SUBLANG_SPANISH_CHILE: return "es_CL"; case SUBLANG_SPANISH_URUGUAY: return "es_UY"; case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; case SUBLANG_SPANISH_HONDURAS: return "es_HN"; case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; case SUBLANG_SPANISH_US: return "es_US"; } return "es"; case LANG_SUTU: switch (sub) { case SUBLANG_DEFAULT: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ } return "bnt"; case LANG_SWAHILI: switch (sub) { case SUBLANG_SWAHILI_KENYA: return "sw_KE"; } return "sw"; case LANG_SWEDISH: switch (sub) { case SUBLANG_SWEDISH_SWEDEN: return "sv_SE"; case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; } return "sv"; case LANG_SYRIAC: switch (sub) { case SUBLANG_SYRIAC_SYRIA: return "syr_SY"; /* An extinct language. */ } return "syr"; case LANG_TAGALOG: switch (sub) { case SUBLANG_TAGALOG_PHILIPPINES: return "tl_PH"; /* or "fil_PH"? */ } return "tl"; /* or "fil"? */ case LANG_TAJIK: switch (sub) { case 0x1f: return "tg"; case SUBLANG_TAJIK_TAJIKISTAN: return "tg_TJ"; } return "tg"; case LANG_TAMAZIGHT: /* Note: Microsoft uses the non-ISO language code "tmz". */ switch (sub) { /* FIXME: Adjust this when Tamazight locales appear on Unix. */ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; case 0x1f: return "ber@latin"; case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin"; } return "ber"; case LANG_TAMIL: switch (sub) { case SUBLANG_TAMIL_INDIA: return "ta_IN"; } return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ case LANG_TATAR: switch (sub) { case SUBLANG_TATAR_RUSSIA: return "tt_RU"; } return "tt"; case LANG_TELUGU: switch (sub) { case SUBLANG_TELUGU_INDIA: return "te_IN"; } return "te"; case LANG_THAI: switch (sub) { case SUBLANG_THAI_THAILAND: return "th_TH"; } return "th"; case LANG_TIBETAN: switch (sub) { case SUBLANG_TIBETAN_PRC: /* Most Tibetans would not like "bo_CN". But Tibet does not yet have a country code of its own. */ return "bo"; case SUBLANG_TIBETAN_BHUTAN: return "bo_BT"; } return "bo"; case LANG_TIGRINYA: switch (sub) { case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; } return "ti"; case LANG_TSONGA: switch (sub) { case SUBLANG_DEFAULT: return "ts_ZA"; } return "ts"; case LANG_TSWANA: /* Spoken in South Africa, Botswana. */ switch (sub) { case SUBLANG_TSWANA_SOUTH_AFRICA: return "tn_ZA"; } return "tn"; case LANG_TURKISH: switch (sub) { case SUBLANG_TURKISH_TURKEY: return "tr_TR"; } return "tr"; case LANG_TURKMEN: switch (sub) { case SUBLANG_TURKMEN_TURKMENISTAN: return "tk_TM"; } return "tk"; case LANG_UIGHUR: switch (sub) { case SUBLANG_UIGHUR_PRC: return "ug_CN"; } return "ug"; case LANG_UKRAINIAN: switch (sub) { case SUBLANG_UKRAINIAN_UKRAINE: return "uk_UA"; } return "uk"; case LANG_URDU: switch (sub) { case SUBLANG_URDU_PAKISTAN: return "ur_PK"; case SUBLANG_URDU_INDIA: return "ur_IN"; } return "ur"; case LANG_UZBEK: switch (sub) { case 0x1f: return "uz"; case SUBLANG_UZBEK_LATIN: return "uz_UZ"; case 0x1e: return "uz@cyrillic"; case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; } return "uz"; case LANG_VENDA: switch (sub) { case SUBLANG_DEFAULT: return "ve_ZA"; } return "ve"; case LANG_VIETNAMESE: switch (sub) { case SUBLANG_VIETNAMESE_VIETNAM: return "vi_VN"; } return "vi"; case LANG_WELSH: switch (sub) { case SUBLANG_WELSH_UNITED_KINGDOM: return "cy_GB"; } return "cy"; case LANG_WOLOF: switch (sub) { case SUBLANG_WOLOF_SENEGAL: return "wo_SN"; } return "wo"; case LANG_XHOSA: switch (sub) { case SUBLANG_XHOSA_SOUTH_AFRICA: return "xh_ZA"; } return "xh"; case LANG_YAKUT: switch (sub) { case SUBLANG_YAKUT_RUSSIA: return "sah_RU"; } return "sah"; case LANG_YI: switch (sub) { case SUBLANG_YI_PRC: return "ii_CN"; } return "ii"; case LANG_YIDDISH: switch (sub) { case SUBLANG_DEFAULT: return "yi_IL"; } return "yi"; case LANG_YORUBA: switch (sub) { case SUBLANG_YORUBA_NIGERIA: return "yo_NG"; } return "yo"; case LANG_ZULU: switch (sub) { case SUBLANG_ZULU_SOUTH_AFRICA: return "zu_ZA"; } return "zu"; default: return "C"; } } } # if !defined IN_LIBINTL static # endif const char * gl_locale_name_from_win32_LCID (LCID lcid) { LANGID langid; /* Strip off the sorting rules, keep only the language part. */ langid = LANGIDFROMLCID (lcid); return gl_locale_name_from_win32_LANGID (langid); } #endif #if HAVE_USELOCALE /* glibc or Mac OS X */ /* Simple hash set of strings. We don't want to drag in lots of hash table code here. */ # define SIZE_BITS (sizeof (size_t) * CHAR_BIT) /* A hash function for NUL-terminated char* strings using the method described by Bruno Haible. See http://www.haible.de/bruno/hashfunc.html. */ static size_t string_hash (const void *x) { const char *s = (const char *) x; size_t h = 0; for (; *s; s++) h = *s + ((h << 9) | (h >> (SIZE_BITS - 9))); return h; } /* A hash table of fixed size. Multiple threads can access it read-only simultaneously, but only one thread can insert into it at the same time. */ /* A node in a hash bucket collision list. */ struct hash_node { struct hash_node * volatile next; char contents[100]; /* has variable size */ }; # define HASH_TABLE_SIZE 257 static struct hash_node * volatile struniq_hash_table[HASH_TABLE_SIZE] /* = { NULL, ..., NULL } */; /* This lock protects the struniq_hash_table against multiple simultaneous insertions. */ gl_lock_define_initialized(static, struniq_lock) /* Store a copy of the given string in a string pool with indefinite extent. Return a pointer to this copy. */ static const char * struniq (const char *string) { size_t hashcode = string_hash (string); size_t slot = hashcode % HASH_TABLE_SIZE; size_t size; struct hash_node *new_node; struct hash_node *p; for (p = struniq_hash_table[slot]; p != NULL; p = p->next) if (strcmp (p->contents, string) == 0) return p->contents; size = strlen (string) + 1; new_node = (struct hash_node *) malloc (offsetof (struct hash_node, contents[0]) + size); if (new_node == NULL) /* Out of memory. Return a statically allocated string. */ return "C"; memcpy (new_node->contents, string, size); /* Lock while inserting new_node. */ gl_lock_lock (struniq_lock); /* Check whether another thread already added the string while we were waiting on the lock. */ for (p = struniq_hash_table[slot]; p != NULL; p = p->next) if (strcmp (p->contents, string) == 0) { free (new_node); new_node = p; goto done; } /* Really insert new_node into the hash table. Fill new_node entirely first, because other threads may be iterating over the linked list. */ new_node->next = struniq_hash_table[slot]; struniq_hash_table[slot] = new_node; done: /* Unlock after new_node is inserted. */ gl_lock_unlock (struniq_lock); return new_node->contents; } #endif #if defined IN_LIBINTL || HAVE_USELOCALE /* Like gl_locale_name_thread, except that the result is not in storage of indefinite extent. */ # if !defined IN_LIBINTL static # endif const char * gl_locale_name_thread_unsafe (int category, const char *categoryname) { # if HAVE_USELOCALE { locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) { # if __GLIBC__ >= 2 && !defined __UCLIBC__ /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in glibc < 2.12. See . */ const char *name = nl_langinfo (_NL_ITEM ((category), _NL_ITEM_INDEX (-1))); if (name[0] == '\0') /* Fallback code for glibc < 2.4, which did not implement nl_langinfo (_NL_LOCALE_NAME (category)). */ name = thread_locale->__names[category]; return name; # elif defined __FreeBSD__ || (defined __APPLE__ && defined __MACH__) /* FreeBSD, Mac OS X */ int mask; switch (category) { case LC_CTYPE: mask = LC_CTYPE_MASK; break; case LC_NUMERIC: mask = LC_NUMERIC_MASK; break; case LC_TIME: mask = LC_TIME_MASK; break; case LC_COLLATE: mask = LC_COLLATE_MASK; break; case LC_MONETARY: mask = LC_MONETARY_MASK; break; case LC_MESSAGES: mask = LC_MESSAGES_MASK; break; default: /* We shouldn't get here. */ return ""; } return querylocale (mask, thread_locale); # endif } } # endif return NULL; } #endif const char * gl_locale_name_thread (int category, const char *categoryname) { #if HAVE_USELOCALE const char *name = gl_locale_name_thread_unsafe (category, categoryname); if (name != NULL) return struniq (name); #endif return NULL; } /* XPG3 defines the result of 'setlocale (category, NULL)' as: "Directs 'setlocale()' to query 'category' and return the current setting of 'local'." However it does not specify the exact format. Neither do SUSV2 and ISO C 99. So we can use this feature only on selected systems (e.g. those using GNU C Library). */ #if defined _LIBC || ((defined __GLIBC__ && __GLIBC__ >= 2) && !defined __UCLIBC__) # define HAVE_LOCALE_NULL #endif const char * gl_locale_name_posix (int category, const char *categoryname) { /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL return setlocale (category, NULL); #else /* On other systems we ignore what setlocale reports and instead look at the environment variables directly. This is necessary 1. on systems which have a facility for customizing the default locale (Mac OS X, native Windows, Cygwin) and where the system's setlocale() function ignores this default locale (Mac OS X, Cygwin), in two cases: a. when the user missed to use the setlocale() override from libintl (for example by not including ), b. when setlocale supports only the "C" locale, such as on Cygwin 1.5.x. In this case even the override from libintl cannot help. 2. on all systems where setlocale supports only the "C" locale. */ /* Strictly speaking, it is a POSIX violation to look at the environment variables regardless whether setlocale has been called or not. POSIX says: "For C-language programs, the POSIX locale shall be the default locale when the setlocale() function is not called." But we assume that all programs that use internationalized APIs call setlocale (LC_ALL, ""). */ return gl_locale_name_environ (category, categoryname); #endif } const char * gl_locale_name_environ (int category, const char *categoryname) { const char *retval; /* Setting of LC_ALL overrides all other. */ retval = getenv ("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; /* Next comes the name of the desired category. */ retval = getenv (categoryname); if (retval != NULL && retval[0] != '\0') return retval; /* Last possibility is the LANG environment variable. */ retval = getenv ("LANG"); if (retval != NULL && retval[0] != '\0') { #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* Mac OS X 10.2 or newer. Ignore invalid LANG value set by the Terminal application. */ if (strcmp (retval, "UTF-8") != 0) #endif #if defined __CYGWIN__ /* Cygwin. Ignore dummy LANG value set by ~/.profile. */ if (strcmp (retval, "C.UTF-8") != 0) #endif return retval; } return NULL; } const char * gl_locale_name_default (void) { /* POSIX:2001 says: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty string. This default locale can be the POSIX locale or any other implementation-defined locale. Some implementations may provide facilities for local installation administrators to set the default locale, customizing it for each location. POSIX:2001 does not require such a facility. The systems with such a facility are Mac OS X and Windows: They provide a GUI that allows the user to choose a locale. - On Mac OS X, by default, none of LC_* or LANG are set. Starting with Mac OS X 10.4 or 10.5, LANG is set for processes launched by the 'Terminal' application (but sometimes to an incorrect value "UTF-8"). When no environment variable is set, setlocale (LC_ALL, "") uses the "C" locale. - On native Windows, by default, none of LC_* or LANG are set. When no environment variable is set, setlocale (LC_ALL, "") uses the locale chosen by the user. - On Cygwin 1.5.x, by default, none of LC_* or LANG are set. When no environment variable is set, setlocale (LC_ALL, "") uses the "C" locale. - On Cygwin 1.7, by default, LANG is set to "C.UTF-8" when the default ~/.profile is executed. When no environment variable is set, setlocale (LC_ALL, "") uses the "C.UTF-8" locale, which operates in the same way as the "C" locale. */ #if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined WINDOWS_NATIVE || defined __CYGWIN__) /* The system does not have a way of setting the locale, other than the POSIX specified environment variables. We use C as default locale. */ return "C"; #else /* Return an XPG style locale name language[_territory][@modifier]. Don't even bother determining the codeset; it's not useful in this context, because message catalogs are not specific to a single codeset. */ # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* Mac OS X 10.2 or newer */ { /* Cache the locale name, since CoreFoundation calls are expensive. */ static const char *cached_localename; if (cached_localename == NULL) { char namebuf[256]; # if HAVE_CFLOCALECOPYCURRENT /* Mac OS X 10.3 or newer */ CFLocaleRef locale = CFLocaleCopyCurrent (); CFStringRef name = CFLocaleGetIdentifier (locale); if (CFStringGetCString (name, namebuf, sizeof (namebuf), kCFStringEncodingASCII)) { gl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } CFRelease (locale); # elif HAVE_CFPREFERENCESCOPYAPPVALUE /* Mac OS X 10.2 or newer */ CFTypeRef value = CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), kCFPreferencesCurrentApplication); if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)value, namebuf, sizeof (namebuf), kCFStringEncodingASCII)) { gl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } # endif if (cached_localename == NULL) cached_localename = "C"; } return cached_localename; } # endif # if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */ { LCID lcid; /* Use native Windows API locale ID. */ lcid = GetThreadLocale (); return gl_locale_name_from_win32_LCID (lcid); } # endif #endif } /* Determine the current locale's name, and canonicalize it into XPG syntax language[_territory][.codeset][@modifier] The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ const char * gl_locale_name (int category, const char *categoryname) { const char *retval; retval = gl_locale_name_thread (category, categoryname); if (retval != NULL) return retval; retval = gl_locale_name_posix (category, categoryname); if (retval != NULL) return retval; return gl_locale_name_default (); } coreutils-8.21/gnulib-tests/test-fclose.c0000664000000000000000000000544512100637437015375 00000000000000/* Test of fclose module. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake. */ #include #include #include "signature.h" SIGNATURE_CHECK (fclose, int, (FILE *)); #include #include #include #include #include #include "macros.h" #define BASE "test-fclose.t" int main (int argc, char **argv) { const char buf[] = "hello world"; int fd; int fd2; FILE *f; /* Prepare a seekable file. */ fd = open (BASE, O_RDWR | O_CREAT | O_TRUNC, 0600); ASSERT (0 <= fd); ASSERT (write (fd, buf, sizeof buf) == sizeof buf); ASSERT (lseek (fd, 1, SEEK_SET) == 1); /* Create an output stream visiting the file; when it is closed, all other file descriptors visiting the file must see the new file position. */ fd2 = dup (fd); ASSERT (0 <= fd2); f = fdopen (fd2, "w"); ASSERT (f); ASSERT (fputc (buf[1], f) == buf[1]); ASSERT (fclose (f) == 0); errno = 0; ASSERT (lseek (fd2, 0, SEEK_CUR) == -1); ASSERT (errno == EBADF); ASSERT (lseek (fd, 0, SEEK_CUR) == 2); /* Likewise for an input stream. */ fd2 = dup (fd); ASSERT (0 <= fd2); f = fdopen (fd2, "r"); ASSERT (f); ASSERT (fgetc (f) == buf[2]); ASSERT (fclose (f) == 0); errno = 0; ASSERT (lseek (fd2, 0, SEEK_CUR) == -1); ASSERT (errno == EBADF); ASSERT (lseek (fd, 0, SEEK_CUR) == 3); /* Test that fclose() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fdopen (fd, "w+"); ASSERT (fp != NULL); ASSERT (close (fd) == 0); errno = 0; ASSERT (fclose (fp) == EOF); ASSERT (errno == EBADF); } /* Test that fclose() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "r"); if (fp != NULL) { errno = 0; ASSERT (fclose (fp) == EOF); ASSERT (errno == EBADF); } } { FILE *fp; close (99); fp = fdopen (99, "r"); if (fp != NULL) { errno = 0; ASSERT (fclose (fp) == EOF); ASSERT (errno == EBADF); } } /* Clean up. */ ASSERT (remove (BASE) == 0); return 0; } coreutils-8.21/gnulib-tests/test-freadahead.sh0000775000000000000000000000023611624730151016347 00000000000000#!/bin/sh ./test-freadahead${EXEEXT} 0 < "$srcdir/test-freadahead.sh" || exit 1 ./test-freadahead${EXEEXT} 5 < "$srcdir/test-freadahead.sh" || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-copy-acl-1.sh0000775000000000000000000000032711636617712016163 00000000000000#!/bin/sh # Test copy-acl on the file system of /var/tmp, which usually is a local # file system. if test -d /var/tmp; then TMPDIR=/var/tmp else TMPDIR=/tmp fi export TMPDIR exec "${srcdir}/test-copy-acl.sh" coreutils-8.21/gnulib-tests/test-readlink.h0000664000000000000000000001013012071024546015701 00000000000000/* Tests of readlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test both readlink(a,b,c) and readlinkat(AT_FDCWD,a,b,c). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print) { char buf[80]; /* Sanity checks of failures. Mingw lacks symlink, but readlink can still distinguish between various errors. */ memset (buf, 0xff, sizeof buf); errno = 0; ASSERT (func ("no_such", buf, sizeof buf) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", buf, sizeof buf) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("", buf, sizeof buf) == -1); ASSERT (errno == ENOENT || errno == EINVAL); errno = 0; ASSERT (func (".", buf, sizeof buf) == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (func ("./", buf, sizeof buf) == -1); ASSERT (errno == EINVAL); ASSERT (close (creat (BASE "file", 0600)) == 0); errno = 0; ASSERT (func (BASE "file", buf, sizeof buf) == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (func (BASE "file/", buf, sizeof buf) == -1); ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */ /* Now test actual symlinks. */ if (symlink (BASE "dir", BASE "link")) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (mkdir (BASE "dir", 0700) == 0); errno = 0; ASSERT (func (BASE "link/", buf, sizeof buf) == -1); ASSERT (errno == EINVAL); ASSERT (symlink (BASE "link", BASE "link2") == 0); errno = 0; ASSERT (func (BASE "link2/", buf, sizeof buf) == -1); ASSERT (errno == EINVAL); ASSERT (unlink (BASE "link2") == 0); ASSERT (symlink (BASE "file", BASE "link2") == 0); errno = 0; ASSERT (func (BASE "link2/", buf, sizeof buf) == -1); ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */ ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link2") == 0); { /* Up till now, no readlink has been successful, so buf should be unchanged. */ int i; for (i = 0; i < sizeof buf; i++) ASSERT (buf[i] == (char) 0xff); } { size_t len = strlen (BASE "dir"); /* When passing too small of a buffer, expect the truncated length, or an ERANGE failure. However, a size of 0 is not portable enough to test. */ ssize_t result; errno = 0; result = readlink (BASE "link", buf, 1); if (result == -1) { ASSERT (errno == ERANGE); ASSERT (buf[0] == (char) 0xff); } else { ASSERT (result == 1); ASSERT (buf[0] == BASE[0]); } ASSERT (buf[1] == (char) 0xff); ASSERT (func (BASE "link", buf, len) == len); ASSERT (strncmp (buf, BASE "dir", len) == 0); ASSERT (buf[len] == (char) 0xff); ASSERT (func (BASE "link", buf, sizeof buf) == len); ASSERT (strncmp (buf, BASE "dir", len) == 0); /* POSIX says rest of buf is unspecified; but in practice, it is either left alone, or NUL-terminated. */ ASSERT (buf[len] == '\0' || buf[len] == (char) 0xff); } ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-ftell.c0000664000000000000000000000541112071024546015217 00000000000000/* Test of ftell() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include "signature.h" SIGNATURE_CHECK (ftell, long, (FILE *)); #include "binary-io.h" #include "macros.h" #ifndef FUNC_UNGETC_BROKEN # define FUNC_UNGETC_BROKEN 0 #endif int main (int argc, char **argv) { int ch; /* Assume stdin is seekable iff argc > 1. */ if (argc == 1) { ASSERT (ftell (stdin) == -1); return 0; } /* mingw ftell is unreliable on text mode input. */ SET_BINARY (0); /* Simple tests. */ ASSERT (ftell (stdin) == 0); ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 1); /* Test ftell after ungetc of read input. */ ch = ungetc ('#', stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 0); ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ftell (stdin) == 1); /* Test ftell after fseek. */ ASSERT (fseek (stdin, 2, SEEK_SET) == 0); ASSERT (ftell (stdin) == 2); /* Test ftell after random ungetc. */ ch = fgetc (stdin); ASSERT (ch == '/'); ch = ungetc ('@', stdin); ASSERT (ch == '@'); ASSERT (ftell (stdin) == 2); ch = fgetc (stdin); ASSERT (ch == '@'); ASSERT (ftell (stdin) == 3); if (2 < argc) { if (FUNC_UNGETC_BROKEN) { fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", stderr); return 77; } /* Test ftell after ungetc without read. */ ASSERT (fseek (stdin, 0, SEEK_CUR) == 0); ASSERT (ftell (stdin) == 3); ch = ungetc ('~', stdin); ASSERT (ch == '~'); ASSERT (ftell (stdin) == 2); } #if !defined __MINT__ /* FreeMiNT has problems seeking past end of file */ /* Test ftell beyond end of file. */ ASSERT (fseek (stdin, 0, SEEK_END) == 0); ch = ftell (stdin); ASSERT (fseek (stdin, 10, SEEK_END) == 0); ASSERT (ftell (stdin) == ch + 10); #endif return 0; } coreutils-8.21/gnulib-tests/test-malloc-gnu.c0000664000000000000000000000160312071024546016146 00000000000000/* Test of malloc function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include int main () { /* Check that malloc (0) is not a NULL pointer. */ if (malloc (0) == NULL) return 1; return 0; } coreutils-8.21/gnulib-tests/sleep.c0000664000000000000000000000440712071024546014250 00000000000000/* Pausing execution of the current thread. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include "verify.h" #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include unsigned int sleep (unsigned int seconds) { unsigned int remaining; /* Sleep for 1 second many times, because 1. Sleep is not interruptible by Ctrl-C, 2. we want to avoid arithmetic overflow while multiplying with 1000. */ for (remaining = seconds; remaining > 0; remaining--) Sleep (1000); return remaining; } #elif HAVE_SLEEP # undef sleep /* Guarantee unlimited sleep and a reasonable return value. Cygwin 1.5.x rejects attempts to sleep more than 49.7 days (2**32 milliseconds), but uses uninitialized memory which results in a garbage answer. Similarly, Linux 2.6.9 with glibc 2.3.4 has a too small return value when asked to sleep more than 24.85 days. */ unsigned int rpl_sleep (unsigned int seconds) { /* This requires int larger than 16 bits. */ verify (UINT_MAX / 24 / 24 / 60 / 60); const unsigned int limit = 24 * 24 * 60 * 60; while (limit < seconds) { unsigned int result; seconds -= limit; result = sleep (limit); if (result) return seconds + result; } return sleep (seconds); } #else /* !HAVE_SLEEP */ #error "Please port gnulib sleep.c to your platform, possibly using usleep() or select(), then report this to bug-gnulib." #endif coreutils-8.21/gnulib-tests/setsockopt.c0000664000000000000000000000334612071024546015337 00000000000000/* setsockopt.c --- wrappers for Windows setsockopt function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get struct timeval. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #undef setsockopt int rpl_setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen) { SOCKET sock = FD_TO_SOCKET (fd); int r; if (sock == INVALID_SOCKET) { errno = EBADF; return -1; } else { if (level == SOL_SOCKET && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) { const struct timeval *tv = optval; int milliseconds = tv->tv_sec * 1000 + tv->tv_usec / 1000; optval = &milliseconds; r = setsockopt (sock, level, optname, optval, sizeof (int)); } else { r = setsockopt (sock, level, optname, optval, optlen); } if (r < 0) set_winsock_errno (); return r; } } coreutils-8.21/gnulib-tests/wctomb-impl.h0000664000000000000000000000211212071024546015366 00000000000000/* Convert wide character to multibyte character. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ int wctomb (char *s, wchar_t wc) { if (s == NULL) return 0; else { mbstate_t state; size_t result; memset (&state, 0, sizeof (mbstate_t)); result = wcrtomb (s, wc, &state); if (result == (size_t)-1) return -1; return result; } } coreutils-8.21/gnulib-tests/test-tls.c0000664000000000000000000001274212071024546014720 00000000000000/* Test of thread-local storage in multithreaded situations. Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ #include #if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WINDOWS_THREADS #if USE_POSIX_THREADS # define TEST_POSIX_THREADS 1 #endif #if USE_SOLARIS_THREADS # define TEST_SOLARIS_THREADS 1 #endif #if USE_PTH_THREADS # define TEST_PTH_THREADS 1 #endif #if USE_WINDOWS_THREADS # define TEST_WINDOWS_THREADS 1 #endif /* Whether to help the scheduler through explicit yield(). Uncomment this to see if the operating system has a fair scheduler. */ #define EXPLICIT_YIELD 1 /* Whether to print debugging messages. */ #define ENABLE_DEBUGGING 0 /* Number of simultaneous threads. */ #define THREAD_COUNT 16 /* Number of operations performed in each thread. */ #define REPEAT_COUNT 50000 #include #include #include #include "glthread/tls.h" #include "glthread/thread.h" #include "glthread/yield.h" #if ENABLE_DEBUGGING # define dbgprintf printf #else # define dbgprintf if (0) printf #endif #if EXPLICIT_YIELD # define yield() gl_thread_yield () #else # define yield() #endif static void perhaps_yield (void) { /* Call yield () only with a certain probability, otherwise with GNU Pth the sequence of thread activations is too predictable. */ if ((((unsigned int) rand () >> 3) % 4) == 0) yield (); } /* ----------------------- Test thread-local storage ----------------------- */ #define KEYS_COUNT 4 static gl_tls_key_t mykeys[KEYS_COUNT]; static void * worker_thread (void *arg) { unsigned int id = (unsigned int) (unsigned long) arg; int i, j, repeat; unsigned int values[KEYS_COUNT]; dbgprintf ("Worker %p started\n", gl_thread_self_pointer ()); /* Initialize the per-thread storage. */ for (i = 0; i < KEYS_COUNT; i++) { values[i] = (((unsigned int) rand () >> 3) % 1000000) * THREAD_COUNT + id; /* Hopefully no arithmetic overflow. */ if ((values[i] % THREAD_COUNT) != id) abort (); } perhaps_yield (); /* Verify that the initial value is NULL. */ dbgprintf ("Worker %p before initial verify\n", gl_thread_self_pointer ()); for (i = 0; i < KEYS_COUNT; i++) if (gl_tls_get (mykeys[i]) != NULL) abort (); dbgprintf ("Worker %p after initial verify\n", gl_thread_self_pointer ()); perhaps_yield (); /* Initialize the per-thread storage. */ dbgprintf ("Worker %p before first tls_set\n", gl_thread_self_pointer ()); for (i = 0; i < KEYS_COUNT; i++) { unsigned int *ptr = (unsigned int *) malloc (sizeof (unsigned int)); *ptr = values[i]; gl_tls_set (mykeys[i], ptr); } dbgprintf ("Worker %p after first tls_set\n", gl_thread_self_pointer ()); perhaps_yield (); /* Shuffle around the pointers. */ for (repeat = REPEAT_COUNT; repeat > 0; repeat--) { dbgprintf ("Worker %p doing value swapping\n", gl_thread_self_pointer ()); i = ((unsigned int) rand () >> 3) % KEYS_COUNT; j = ((unsigned int) rand () >> 3) % KEYS_COUNT; if (i != j) { void *vi = gl_tls_get (mykeys[i]); void *vj = gl_tls_get (mykeys[j]); gl_tls_set (mykeys[i], vj); gl_tls_set (mykeys[j], vi); } perhaps_yield (); } /* Verify that all the values are from this thread. */ dbgprintf ("Worker %p before final verify\n", gl_thread_self_pointer ()); for (i = 0; i < KEYS_COUNT; i++) if ((*(unsigned int *) gl_tls_get (mykeys[i]) % THREAD_COUNT) != id) abort (); dbgprintf ("Worker %p after final verify\n", gl_thread_self_pointer ()); perhaps_yield (); dbgprintf ("Worker %p dying.\n", gl_thread_self_pointer ()); return NULL; } static void test_tls (void) { int pass, i; for (pass = 0; pass < 2; pass++) { gl_thread_t threads[THREAD_COUNT]; if (pass == 0) for (i = 0; i < KEYS_COUNT; i++) gl_tls_key_init (mykeys[i], free); else for (i = KEYS_COUNT - 1; i >= 0; i--) gl_tls_key_init (mykeys[i], free); /* Spawn the threads. */ for (i = 0; i < THREAD_COUNT; i++) threads[i] = gl_thread_create (worker_thread, NULL); /* Wait for the threads to terminate. */ for (i = 0; i < THREAD_COUNT; i++) gl_thread_join (threads[i], NULL); for (i = 0; i < KEYS_COUNT; i++) gl_tls_key_destroy (mykeys[i]); } } /* -------------------------------------------------------------------------- */ int main () { #if TEST_PTH_THREADS if (!pth_init ()) abort (); #endif printf ("Starting test_tls ..."); fflush (stdout); test_tls (); printf (" OK\n"); fflush (stdout); return 0; } #else /* No multithreading available. */ #include int main () { fputs ("Skipping test: multithreading not enabled\n", stderr); return 77; } #endif coreutils-8.21/gnulib-tests/test-freadseek.sh0000775000000000000000000000027411624730151016236 00000000000000#!/bin/sh ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 < "$srcdir/test-freadseek.sh" || exit 1 cat "$srcdir/test-freadseek.sh" | ./test-freadseek${EXEEXT} 5 19 6 7 18 9 19 || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-mbsstr3.sh0000775000000000000000000000056611624730154015711 00000000000000#!/bin/sh # Test whether a specific GB18030 locale is installed. : ${LOCALE_ZH_CN=zh_CN.GB18030} if test $LOCALE_ZH_CN = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no chinese GB18030 locale is installed" else echo "Skipping test: no chinese GB18030 locale is supported" fi exit 77 fi LC_ALL=$LOCALE_ZH_CN \ ./test-mbsstr3${EXEEXT} coreutils-8.21/gnulib-tests/test-printf-frexp.c0000664000000000000000000000705512071024546016543 00000000000000/* Test of splitting a double into fraction and mantissa. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "printf-frexp.h" #include #include "macros.h" static double my_ldexp (double x, int d) { for (; d > 0; d--) x *= 2.0; for (; d < 0; d++) x *= 0.5; return x; } int main () { int i; /* The use of 'volatile' guarantees that excess precision bits are dropped when dealing with denormalized numbers. It is necessary on x86 systems where double-floats are not IEEE compliant by default, to avoid that the results become platform and compiler option dependent. 'volatile' is a portable alternative to gcc's -ffloat-store option. */ volatile double x; for (i = 1, x = 1.0; i <= DBL_MAX_EXP; i++, x *= 2.0) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.0); } for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.0); } for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == DBL_MIN_EXP - 1); ASSERT (mantissa == my_ldexp (1.0, i - DBL_MIN_EXP)); } for (i = 1, x = 1.01; i <= DBL_MAX_EXP; i++, x *= 2.0) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.01); } for (i = 1, x = 1.01; i >= DBL_MIN_EXP; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.01); } for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == DBL_MIN_EXP - 1); ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP)); ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP)); ASSERT (mantissa == my_ldexp (x, - exp)); } for (i = 1, x = 1.73205; i <= DBL_MAX_EXP; i++, x *= 2.0) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.73205); } for (i = 1, x = 1.73205; i >= DBL_MIN_EXP; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.73205); } for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5) { int exp = -9999; double mantissa = printf_frexp (x, &exp); ASSERT (exp == DBL_MIN_EXP - 1); ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP)); ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP)); ASSERT (mantissa == my_ldexp (x, - exp)); } return 0; } coreutils-8.21/gnulib-tests/test-setlocale1.sh0000775000000000000000000000150611624730155016344 00000000000000#!/bin/sh : ${LOCALE_FR=fr_FR} : ${LOCALE_FR_UTF8=fr_FR.UTF-8} : ${LOCALE_JA=ja_JP} : ${LOCALE_ZH_CN=zh_CN.GB18030} if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none \ && test $LOCALE_JA = none && test $LOCALE_ZH_CN = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no locale for testing is installed" else echo "Skipping test: no locale for testing is supported" fi exit 77 fi if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR ./test-setlocale1${EXEEXT} || exit 1 fi if test $LOCALE_FR_UTF8 != none; then LC_ALL=$LOCALE_FR_UTF8 ./test-setlocale1${EXEEXT} || exit 1 fi if test $LOCALE_JA != none; then LC_ALL=$LOCALE_JA ./test-setlocale1${EXEEXT} || exit 1 fi if test $LOCALE_ZH_CN != none; then LC_ALL=$LOCALE_ZH_CN ./test-setlocale1${EXEEXT} || exit 1 fi exit 0 coreutils-8.21/gnulib-tests/test-setlocale1.c0000664000000000000000000000330112071024546016141 00000000000000/* Test of setting the current locale. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (setlocale, char *, (int, const char *)); #include #include #include "macros.h" int main (int argc, char *argv[]) { char *name1; char *name2; /* Try to set the locale by implicitly looking at the LC_ALL environment variable. configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; name1 = strdup (setlocale (LC_ALL, NULL)); /* Reset the locale. */ if (setlocale (LC_ALL, "C") == NULL) return 1; /* Try to set the locale by explicitly looking at the LC_ALL environment variable. configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL) return 1; name2 = strdup (setlocale (LC_ALL, NULL)); /* Test that the two results are the same. */ ASSERT (strcmp (name1, name2) == 0); return 0; } coreutils-8.21/gnulib-tests/test-quotearg-simple.c0000664000000000000000000003132412071024546017231 00000000000000/* Test of quotearg family of functions. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2008. */ #include #include "quotearg.h" #include #include #include #include #include #include "localcharset.h" #include "progname.h" #include "macros.h" #include "test-quotearg.h" static struct result_groups results_g[] = { /* literal_quoting_style */ { { "", "\0""1\0", 3, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ }, { "", "1", 1, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ }, { "", "1", 1, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ } }, /* shell_quoting_style */ { { "''", "\0""1\0", 3, "simple", "' \t\n'\\''\"\033?""?/\\'", "a:b", "'a\\b'", LQ RQ, LQ RQ }, { "''", "1", 1, "simple", "' \t\n'\\''\"\033?""?/\\'", "a:b", "'a\\b'", LQ RQ, LQ RQ }, { "''", "1", 1, "simple", "' \t\n'\\''\"\033?""?/\\'", "'a:b'", "'a\\b'", LQ RQ, LQ RQ } }, /* shell_always_quoting_style */ { { "''", "'\0""1\0'", 5, "'simple'", "' \t\n'\\''\"\033?""?/\\'", "'a:b'", "'a\\b'", "'" LQ RQ "'", "'" LQ RQ "'" }, { "''", "'1'", 3, "'simple'", "' \t\n'\\''\"\033?""?/\\'", "'a:b'", "'a\\b'", "'" LQ RQ "'", "'" LQ RQ "'" }, { "''", "'1'", 3, "'simple'", "' \t\n'\\''\"\033?""?/\\'", "'a:b'", "'a\\b'", "'" LQ RQ "'", "'" LQ RQ "'" } }, /* c_quoting_style */ { { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a\\:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" } }, /* c_maybe_quoting_style */ { { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "a:b", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ }, { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "a:b", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ }, { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ } }, /* escape_quoting_style */ { { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ }, { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ }, { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a\\:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ } }, /* locale_quoting_style */ { { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" }, { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" }, { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a\\:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" } }, /* clocale_quoting_style */ { { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a\\:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" } } }; static struct result_groups flag_results[] = { /* literal_quoting_style and QA_ELIDE_NULL_BYTES */ { { "", "1", 1, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ }, { "", "1", 1, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ }, { "", "1", 1, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, LQ RQ } }, /* c_quoting_style and QA_ELIDE_OUTER_QUOTES */ { { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "a:b", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ }, { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "a:b", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ }, { "", "\"\\0001\\0\"", 9, "simple", "\" \\t\\n'\\\"\\033?""?/\\\\\"", "\"a:b\"", "a\\b", "\"" LQ_ENC RQ_ENC "\"", LQ RQ } }, /* c_quoting_style and QA_SPLIT_TRIGRAPHS */ { { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?\"\"?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?\"\"?/\\\\\"", "\"a:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" }, { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"", "\" \\t\\n'\\\"\\033?\"\"?/\\\\\"", "\"a\\:b\"", "\"a\\\\b\"", "\"" LQ_ENC RQ_ENC "\"", "\"" LQ RQ "\"" } } }; static char const *custom_quotes[][2] = { { "", "" }, { "'", "'" }, { "(", ")" }, { ":", " " }, { " ", ":" }, { "# ", "\n" }, { "\"'", "'\"" } }; static struct result_groups custom_results[] = { /* left_quote = right_quote = "" */ { { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ }, { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ }, { "", "\\0001\\0", 7, "simple", " \\t\\n'\"\\033?""?/\\\\", "a\\:b", "a\\\\b", LQ_ENC RQ_ENC, LQ RQ } }, /* left_quote = right_quote = "'" */ { { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" }, { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" }, { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'", "'a\\:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" } }, /* left_quote = "(" and right_quote = ")" */ { { "()", "(\\0001\\0)", 9, "(simple)", "( \\t\\n'\"\\033?""?/\\\\)", "(a:b)", "(a\\\\b)", "(" LQ_ENC RQ_ENC ")", "(" LQ RQ ")" }, { "()", "(\\0001\\0)", 9, "(simple)", "( \\t\\n'\"\\033?""?/\\\\)", "(a:b)", "(a\\\\b)", "(" LQ_ENC RQ_ENC ")", "(" LQ RQ ")" }, { "()", "(\\0001\\0)", 9, "(simple)", "( \\t\\n'\"\\033?""?/\\\\)", "(a\\:b)", "(a\\\\b)", "(" LQ_ENC RQ_ENC ")", "(" LQ RQ ")" } }, /* left_quote = ":" and right_quote = " " */ { { ": ", ":\\0001\\0 ", 9, ":simple ", ":\\ \\t\\n'\"\\033?""?/\\\\ ", ":a:b ", ":a\\\\b ", ":" LQ_ENC RQ_ENC " ", ":" LQ RQ " " }, { ": ", ":\\0001\\0 ", 9, ":simple ", ":\\ \\t\\n'\"\\033?""?/\\\\ ", ":a:b ", ":a\\\\b ", ":" LQ_ENC RQ_ENC " ", ":" LQ RQ " " }, { ": ", ":\\0001\\0 ", 9, ":simple ", ":\\ \\t\\n'\"\\033?""?/\\\\ ", ":a\\:b ", ":a\\\\b ", ":" LQ_ENC RQ_ENC " ", ":" LQ RQ " " } }, /* left_quote = " " and right_quote = ":" */ { { " :", " \\0001\\0:", 9, " simple:", " \\t\\n'\"\\033?""?/\\\\:", " a\\:b:", " a\\\\b:", " " LQ_ENC RQ_ENC ":", " " LQ RQ ":" }, { " :", " \\0001\\0:", 9, " simple:", " \\t\\n'\"\\033?""?/\\\\:", " a\\:b:", " a\\\\b:", " " LQ_ENC RQ_ENC ":", " " LQ RQ ":" }, { " :", " \\0001\\0:", 9, " simple:", " \\t\\n'\"\\033?""?/\\\\:", " a\\:b:", " a\\\\b:", " " LQ_ENC RQ_ENC ":", " " LQ RQ ":" } }, /* left_quote = "# " and right_quote = "\n" */ { { "# \n", "# \\0001\\0\n", 10, "# simple\n", "# \\t\\n'\"\\033?""?/\\\\\n", "# a:b\n", "# a\\\\b\n", "# " LQ_ENC RQ_ENC "\n", "# " LQ RQ "\n" }, { "# \n", "# \\0001\\0\n", 10, "# simple\n", "# \\t\\n'\"\\033?""?/\\\\\n", "# a:b\n", "# a\\\\b\n", "# " LQ_ENC RQ_ENC "\n", "# " LQ RQ "\n" }, { "# \n", "# \\0001\\0\n", 10, "# simple\n", "# \\t\\n'\"\\033?""?/\\\\\n", "# a\\:b\n", "# a\\\\b\n", "# " LQ_ENC RQ_ENC "\n", "# " LQ RQ "\n" } }, /* left_quote = "\"'" and right_quote = "'\"" */ { { "\"''\"", "\"'\\0001\\0'\"", 11, "\"'simple'\"", "\"' \\t\\n\\'\"\\033?""?/\\\\'\"", "\"'a:b'\"", "\"'a\\\\b'\"", "\"'" LQ_ENC RQ_ENC "'\"", "\"'" LQ RQ "'\"" }, { "\"''\"", "\"'\\0001\\0'\"", 11, "\"'simple'\"", "\"' \\t\\n\\'\"\\033?""?/\\\\'\"", "\"'a:b'\"", "\"'a\\\\b'\"", "\"'" LQ_ENC RQ_ENC "'\"", "\"'" LQ RQ "'\"" }, { "\"''\"", "\"'\\0001\\0'\"", 11, "\"'simple'\"", "\"' \\t\\n\\'\"\\033?""?/\\\\'\"", "\"'a\\:b'\"", "\"'a\\\\b'\"", "\"'" LQ_ENC RQ_ENC "'\"", "\"'" LQ RQ "'\"" } } }; int main (int argc _GL_UNUSED, char *argv[]) { int i; bool ascii_only = MB_CUR_MAX == 1 && !isprint ((unsigned char) LQ[0]); set_program_name (argv[0]); /* This part of the program is hard-wired to the C locale since it does not call setlocale. However, according to POSIX, the use of 8-bit bytes in a character context in the C locale gives unspecified results (that is, the C locale charset is allowed to be unibyte with 8-bit bytes rejected [ASCII], unibyte with 8-bit bytes being characters [often ISO-8859-1], or multibyte [often UTF-8]). We assume that the latter two cases will be indistinguishable in this test - that is, the LQ and RQ sequences will pass through unchanged in either type of charset. So when testing for quoting of str7, use the ascii_only flag to decide what to expect for the 8-bit data being quoted. */ ASSERT (!isprint ('\033')); for (i = literal_quoting_style; i <= clocale_quoting_style; i++) { set_quoting_style (NULL, (enum quoting_style) i); if (!(i == locale_quoting_style || i == clocale_quoting_style) || (strcmp (locale_charset (), "ASCII") == 0 || strcmp (locale_charset (), "ANSI_X3.4-1968") == 0)) { compare_strings (use_quotearg_buffer, &results_g[i].group1, ascii_only); compare_strings (use_quotearg, &results_g[i].group2, ascii_only); if (i == c_quoting_style) compare_strings (use_quote_double_quotes, &results_g[i].group2, ascii_only); compare_strings (use_quotearg_colon, &results_g[i].group3, ascii_only); } } set_quoting_style (NULL, literal_quoting_style); ASSERT (set_quoting_flags (NULL, QA_ELIDE_NULL_BYTES) == 0); compare_strings (use_quotearg_buffer, &flag_results[0].group1, ascii_only); compare_strings (use_quotearg, &flag_results[0].group2, ascii_only); compare_strings (use_quotearg_colon, &flag_results[0].group3, ascii_only); set_quoting_style (NULL, c_quoting_style); ASSERT (set_quoting_flags (NULL, QA_ELIDE_OUTER_QUOTES) == QA_ELIDE_NULL_BYTES); compare_strings (use_quotearg_buffer, &flag_results[1].group1, ascii_only); compare_strings (use_quotearg, &flag_results[1].group2, ascii_only); compare_strings (use_quote_double_quotes, &flag_results[1].group2, ascii_only); compare_strings (use_quotearg_colon, &flag_results[1].group3, ascii_only); ASSERT (set_quoting_flags (NULL, QA_SPLIT_TRIGRAPHS) == QA_ELIDE_OUTER_QUOTES); compare_strings (use_quotearg_buffer, &flag_results[2].group1, ascii_only); compare_strings (use_quotearg, &flag_results[2].group2, ascii_only); compare_strings (use_quote_double_quotes, &flag_results[2].group2, ascii_only); compare_strings (use_quotearg_colon, &flag_results[2].group3, ascii_only); ASSERT (set_quoting_flags (NULL, 0) == QA_SPLIT_TRIGRAPHS); for (i = 0; i < sizeof custom_quotes / sizeof *custom_quotes; ++i) { set_custom_quoting (NULL, custom_quotes[i][0], custom_quotes[i][1]); compare_strings (use_quotearg_buffer, &custom_results[i].group1, ascii_only); compare_strings (use_quotearg, &custom_results[i].group2, ascii_only); compare_strings (use_quotearg_colon, &custom_results[i].group3, ascii_only); } quotearg_free (); return 0; } coreutils-8.21/gnulib-tests/test-memchr2.c0000664000000000000000000000564412071024546015456 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "memchr2.h" #include #include #include "zerosize-ptr.h" #include "macros.h" /* Calculating void * + int is not portable, so this wrapper converts to char * to make the tests easier to write. */ #define MEMCHR2 (char *) memchr2 int main (void) { size_t n = 0x100000; char *input = malloc (n); ASSERT (input); input[0] = 'a'; input[1] = 'b'; memset (input + 2, 'c', 1024); memset (input + 1026, 'd', n - 1028); input[n - 2] = 'e'; input[n - 1] = 'a'; /* Basic behavior tests. */ ASSERT (MEMCHR2 (input, 'a', 'b', n) == input); ASSERT (MEMCHR2 (input, 'b', 'a', n) == input); ASSERT (MEMCHR2 (input, 'a', 'b', 0) == NULL); ASSERT (MEMCHR2 (zerosize_ptr (), 'a', 'b', 0) == NULL); ASSERT (MEMCHR2 (input, 'b', 'd', n) == input + 1); ASSERT (MEMCHR2 (input + 2, 'b', 'd', n - 2) == input + 1026); ASSERT (MEMCHR2 (input, 'd', 'e', n) == input + 1026); ASSERT (MEMCHR2 (input, 'e', 'd', n) == input + 1026); ASSERT (MEMCHR2 (input + 1, 'a', 'e', n - 1) == input + n - 2); ASSERT (MEMCHR2 (input + 1, 'e', 'a', n - 1) == input + n - 2); ASSERT (MEMCHR2 (input, 'f', 'g', n) == NULL); ASSERT (MEMCHR2 (input, 'f', '\0', n) == NULL); ASSERT (MEMCHR2 (input, 'a', 'a', n) == input); ASSERT (MEMCHR2 (input + 1, 'a', 'a', n - 1) == input + n - 1); ASSERT (MEMCHR2 (input, 'f', 'f', n) == NULL); /* Check that a very long haystack is handled quickly if one of the two bytes is found near the beginning. */ { size_t repeat = 10000; for (; repeat > 0; repeat--) { ASSERT (MEMCHR2 (input, 'c', 'e', n) == input + 2); ASSERT (MEMCHR2 (input, 'e', 'c', n) == input + 2); ASSERT (MEMCHR2 (input, 'c', '\0', n) == input + 2); ASSERT (MEMCHR2 (input, '\0', 'c', n) == input + 2); } } /* Alignment tests. */ { int i, j; for (i = 0; i < 32; i++) { for (j = 0; j < 256; j++) input[i + j] = j; for (j = 0; j < 256; j++) { ASSERT (MEMCHR2 (input + i, j, 0xff, 256) == input + i + j); ASSERT (MEMCHR2 (input + i, 0xff, j, 256) == input + i + j); } } } free (input); return 0; } coreutils-8.21/gnulib-tests/test-stdalign.c0000664000000000000000000000674412071024546015730 00000000000000/* Test of . Copyright 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, inspired by Bruno Haible's test-alignof.c. */ #include #include #include #include #include "verify.h" #include "macros.h" typedef long double longdouble; typedef struct { char a[1]; } struct1; typedef struct { char a[2]; } struct2; typedef struct { char a[3]; } struct3; typedef struct { char a[4]; } struct4; verify (__alignof_is_defined == 1); #ifndef alignof # error "alignof is not a macro" #endif #if __alignas_is_defined verify (__alignas_is_defined == 1); # ifndef alignas # error "alignas is not a macro" # endif /* mingw can go up only to 8. 8 is all that GNU Emacs needs, so let's limit the test to 8 for now. */ # define TEST_ALIGNMENT 8 #else # define _Alignas(alignment) # define alignas(alignment) # define TEST_ALIGNMENT 1 #endif #define CHECK_STATIC(type) \ typedef struct { char slot1; type slot2; } type##_helper; \ verify (alignof (type) == offsetof (type##_helper, slot2)); \ verify (_Alignof (type) == alignof (type)); \ const int type##_alignment = alignof (type); \ type alignas (TEST_ALIGNMENT) static_##type##_alignas; \ type _Alignas (TEST_ALIGNMENT) static_##type##_Alignas #define CHECK_ALIGNED(var) ASSERT ((uintptr_t) &(var) % TEST_ALIGNMENT == 0) CHECK_STATIC (char); CHECK_STATIC (short); CHECK_STATIC (int); CHECK_STATIC (long); #ifdef INT64_MAX CHECK_STATIC (int64_t); #endif CHECK_STATIC (float); CHECK_STATIC (double); /* CHECK_STATIC (longdouble); */ CHECK_STATIC (struct1); CHECK_STATIC (struct2); CHECK_STATIC (struct3); CHECK_STATIC (struct4); int main () { #if defined __SUNPRO_C /* Avoid a test failure due to Sun Studio Developer Bug Report #2125432. */ fputs ("Skipping test: known Sun C compiler bug\n", stderr); return 77; #else CHECK_ALIGNED (static_char_alignas); CHECK_ALIGNED (static_char_Alignas); CHECK_ALIGNED (static_short_alignas); CHECK_ALIGNED (static_short_Alignas); CHECK_ALIGNED (static_int_alignas); CHECK_ALIGNED (static_int_Alignas); CHECK_ALIGNED (static_long_alignas); CHECK_ALIGNED (static_long_Alignas); # ifdef INT64_MAX CHECK_ALIGNED (static_int64_t_alignas); CHECK_ALIGNED (static_int64_t_Alignas); # endif CHECK_ALIGNED (static_float_alignas); CHECK_ALIGNED (static_float_Alignas); CHECK_ALIGNED (static_double_alignas); CHECK_ALIGNED (static_double_Alignas); /* CHECK_ALIGNED (static_longdouble_alignas); */ /* CHECK_ALIGNED (static_longdouble_Alignas); */ CHECK_ALIGNED (static_struct1_alignas); CHECK_ALIGNED (static_struct1_Alignas); CHECK_ALIGNED (static_struct2_alignas); CHECK_ALIGNED (static_struct2_Alignas); CHECK_ALIGNED (static_struct3_alignas); CHECK_ALIGNED (static_struct3_Alignas); CHECK_ALIGNED (static_struct4_alignas); CHECK_ALIGNED (static_struct4_Alignas); return 0; #endif } coreutils-8.21/gnulib-tests/test-btowc.c0000664000000000000000000000331012071024546015223 00000000000000/* Test of conversion of unibyte character to wide character. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (btowc, wint_t, (int)); #include #include #include "macros.h" int main (int argc, char *argv[]) { int c; /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; ASSERT (btowc (EOF) == WEOF); if (argc > 1) switch (argv[1][0]) { case '1': /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ for (c = 0; c < 0x80; c++) ASSERT (btowc (c) == c); for (c = 0xA0; c < 0x100; c++) ASSERT (btowc (c) != WEOF); return 0; case '2': /* Locale encoding is UTF-8. */ for (c = 0; c < 0x80; c++) ASSERT (btowc (c) == c); for (c = 0x80; c < 0x100; c++) ASSERT (btowc (c) == WEOF); return 0; } return 1; } coreutils-8.21/gnulib-tests/test-ftello2.sh0000775000000000000000000000010711624730152015650 00000000000000#!/bin/sh exec ./test-ftello${EXEEXT} 1 2 < "$srcdir/test-ftello2.sh" coreutils-8.21/gnulib-tests/test-isnanf-nolibm.c0000664000000000000000000000145412071024546016650 00000000000000/* Test of isnanf() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "isnanf-nolibm.h" #include "test-isnanf.h" coreutils-8.21/gnulib-tests/macros.h0000664000000000000000000000651412071024546014432 00000000000000/* Common macros used by gnulib tests. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file contains macros that are used by many gnulib tests. Put here only frequently used macros, say, used by 10 tests or more. */ #include #include /* Define ASSERT_STREAM before including this file if ASSERT must target a stream other than stderr. */ #ifndef ASSERT_STREAM # define ASSERT_STREAM stderr #endif /* ASSERT (condition); verifies that the specified condition is fulfilled. If not, a message is printed to ASSERT_STREAM if defined (defaulting to stderr if undefined) and the program is terminated with an error code. This macro has the following properties: - The programmer specifies the expected condition, not the failure condition. This simplifies thinking. - The condition is tested always, regardless of compilation flags. (Unlike the macro from .) - On Unix platforms, the tester can debug the test program with a debugger (provided core dumps are enabled: "ulimit -c unlimited"). - For the sake of platforms where no debugger is available (such as some mingw systems), an error message is printed on the error stream that includes the source location of the ASSERT invocation. */ #define ASSERT(expr) \ do \ { \ if (!(expr)) \ { \ fprintf (ASSERT_STREAM, "%s:%d: assertion failed\n", \ __FILE__, __LINE__); \ fflush (ASSERT_STREAM); \ abort (); \ } \ } \ while (0) /* SIZEOF (array) returns the number of elements of an array. It works for arrays that are declared outside functions and for local variables of array type. It does *not* work for function parameters of array type, because they are actually parameters of pointer type. */ #define SIZEOF(array) (sizeof (array) / sizeof (array[0])) /* STREQ (str1, str2) Return true if two strings compare equal. */ #define STREQ(a, b) (strcmp (a, b) == 0) /* Some numbers in the interval [0,1). */ extern const float randomf[1000]; extern const double randomd[1000]; extern const long double randoml[1000]; coreutils-8.21/gnulib-tests/test-ftell3.c0000664000000000000000000000402312071024546015300 00000000000000/* Test of ftell() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include #include "macros.h" #define TESTFILE "t-ftell3.tmp" int main (void) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) goto skip; if (fwrite ("foogarsh", 1, 8, fp) < 8) goto skip; if (fclose (fp)) goto skip; /* The file's contents is now "foogarsh". */ /* Try writing after reading to EOF. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) goto skip; if (fseek (fp, -1, SEEK_END)) goto skip; ASSERT (getc (fp) == 'h'); ASSERT (getc (fp) == EOF); ASSERT (ftell (fp) == 8); ASSERT (ftell (fp) == 8); ASSERT (putc ('!', fp) == '!'); ASSERT (ftell (fp) == 9); ASSERT (fclose (fp) == 0); fp = fopen (TESTFILE, "r"); if (fp == NULL) goto skip; { char buf[10]; ASSERT (fread (buf, 1, 10, fp) == 9); ASSERT (memcmp (buf, "foogarsh!", 9) == 0); } ASSERT (fclose (fp) == 0); /* The file's contents is now "foogarsh!". */ remove (TESTFILE); return 0; skip: fprintf (stderr, "Skipping test: prerequisite file operations failed.\n"); remove (TESTFILE); return 77; } coreutils-8.21/gnulib-tests/test-fflush2.c0000664000000000000000000000637612071024546015475 00000000000000/* Test of POSIX compatible fflush() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "binary-io.h" #include "macros.h" int main (int argc, char **argv) { int c; /* Avoid the well-known bugs of fflush() on streams in O_TEXT mode on native Windows platforms. */ SET_BINARY (0); if (argc > 1) switch (argv[1][0]) { case '1': /* Check fflush after a backup ungetc() call. This is case 1a in terms of , according to the Austin Group's resolution on 2009-01-08. */ c = fgetc (stdin); ASSERT (c == '#'); c = fgetc (stdin); ASSERT (c == '!'); /* Here the file-position indicator must be 2. */ c = ungetc ('!', stdin); ASSERT (c == '!'); fflush (stdin); /* Here the file-position indicator must be 1. */ c = fgetc (stdin); ASSERT (c == '!'); c = fgetc (stdin); ASSERT (c == '/'); return 0; case '2': /* Check fflush after a non-backup ungetc() call. This is case 2a in terms of , according to the Austin Group's resolution on 2009-01-08. */ /* Check that fflush after a non-backup ungetc() call discards the ungetc buffer. This is mandated by POSIX : "The value of the file-position indicator for the stream after reading or discarding all pushed-back bytes shall be the same as it was before the bytes were pushed back." "[After fflush(),] the file offset of the underlying open file description shall be set to the file position of the stream, and any characters pushed back onto the stream by ungetc() or ungetwc() that have not subsequently been read from the stream shall be discarded." */ c = fgetc (stdin); ASSERT (c == '#'); c = fgetc (stdin); ASSERT (c == '!'); /* Here the file-position indicator must be 2. */ c = ungetc ('@', stdin); ASSERT (c == '@'); fflush (stdin); /* Here the file-position indicator must be 1. */ c = fgetc (stdin); ASSERT (c == '!'); c = fgetc (stdin); ASSERT (c == '/'); return 0; } return 1; } coreutils-8.21/gnulib-tests/test-lseek.sh0000775000000000000000000000060711624730153015412 00000000000000#!/bin/sh tmpfiles= trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles=t-lseek.tmp # seekable files ./test-lseek${EXEEXT} 0 < "$srcdir/test-lseek.sh" > t-lseek.tmp || exit 1 # pipes echo hi | { ./test-lseek${EXEEXT} 1; echo $? > t-lseek.tmp; cat > /dev/null; } | cat test "`cat t-lseek.tmp`" = "0" || exit 1 # closed descriptors ./test-lseek${EXEEXT} 2 <&- >&- || exit 1 rm -rf $tmpfiles exit 0 coreutils-8.21/gnulib-tests/test-sys_types.c0000664000000000000000000000172112071024546016153 00000000000000/* Test of substitute. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include /* Check that the types are all defined. */ pid_t t1; size_t t2; ssize_t t3; off_t t4; mode_t t5; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-printf-posix.output0000664000000000000000000000076111624730154017676 0000000000000012345671 33 12345672 33 12345673 33 0x0p+0 33 inf 33 -inf 33 inf 33 12.750000 33 1234567.000000 33 -0.031250 33 0.000000 33 00001234.000000 33 1234 33 999.95 33 1000.00 33 12.750000 33 1234567.000000 33 -0.031250 33 0.000000 33 00001234.000000 33 1234 33 999.95 33 1000.00 33 12.750000 33 1234567.000000 33 -0.031250 33 0.000000 33 00001234.000000 33 1234 33 999.95 33 1000.00 33 12.750000 33 1234567.000000 33 -0.031250 33 0.000000 33 00001234.000000 33 1234 33 999.95 33 1000.00 33 55 33 coreutils-8.21/gnulib-tests/test-fchdir.c0000664000000000000000000000561112100637437015354 00000000000000/* Test changing to a directory named by a file descriptor. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (fchdir, int, (int)); #include #include #include #include #include "cloexec.h" #include "macros.h" int main (void) { char *cwd; int fd; int i; cwd = getcwd (NULL, 0); ASSERT (cwd); fd = open (".", O_RDONLY); ASSERT (0 <= fd); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (fchdir (-1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fchdir (99) == -1); ASSERT (errno == EBADF); } /* Check for other failure cases. */ { int bad_fd = open ("/dev/null", O_RDONLY); ASSERT (0 <= bad_fd); errno = 0; ASSERT (fchdir (bad_fd) == -1); ASSERT (errno == ENOTDIR); ASSERT (close (bad_fd) == 0); } /* Repeat test twice, once in '.' and once in '..'. */ for (i = 0; i < 2; i++) { ASSERT (chdir (".." + 1 - i) == 0); ASSERT (fchdir (fd) == 0); { size_t len = strlen (cwd) + 1; char *new_dir = malloc (len); ASSERT (new_dir); ASSERT (getcwd (new_dir, len) == new_dir); ASSERT (strcmp (cwd, new_dir) == 0); free (new_dir); } /* For second iteration, use a cloned fd, to ensure that dup remembers whether an fd was associated with a directory. */ if (!i) { int new_fd = dup (fd); ASSERT (0 <= new_fd); ASSERT (close (fd) == 0); ASSERT (dup2 (new_fd, fd) == fd); ASSERT (close (new_fd) == 0); ASSERT (dup_cloexec (fd) == new_fd); ASSERT (dup2 (new_fd, fd) == fd); ASSERT (close (new_fd) == 0); ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, new_fd) == new_fd); ASSERT (close (fd) == 0); ASSERT (fcntl (new_fd, F_DUPFD, fd) == fd); ASSERT (close (new_fd) == 0); #if GNULIB_TEST_DUP3 ASSERT (dup3 (fd, new_fd, 0) == new_fd); ASSERT (dup3 (new_fd, fd, 0) == fd); ASSERT (close (new_fd) == 0); #endif } } free (cwd); return 0; } coreutils-8.21/gnulib-tests/test-yesno.sh0000775000000000000000000000270411777552746015467 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . # For now, only test with C locale LC_ALL=C export LC_ALL # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. if echo solaris | tr -d '\r' | grep solais > /dev/null; then cr='\015' else cr='\r' fi # Test with seekable stdin; the follow-on process must see remaining data. tr @ '\177' < in.tmp nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn - entire line consumed y@n - backspace does not change result y does not match either yesexpr or noexpr n EOF cat < xout.tmp N Y Y N n EOF fail=0 (test-yesno; test-yesno 3; cat) < in.tmp > out1.tmp || fail=1 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 cmp xout.tmp out.tmp || fail=1 (test-yesno 3; test-yesno; cat) < in.tmp > out1.tmp || fail=1 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 cmp xout.tmp out.tmp || fail=1 # Test for behavior on pipe cat < xout.tmp Y N EOF echo yes | test-yesno 2 > out1.tmp || fail=1 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 cmp xout.tmp out.tmp || fail=1 # Test for behavior on EOF cat < xout.tmp N EOF test-yesno out1.tmp || fail=1 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 cmp xout.tmp out.tmp || fail=1 # Test for behavior when stdin is closed test-yesno 0 <&- > out1.tmp 2> err.tmp && fail=1 LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 cmp xout.tmp out.tmp || fail=1 test -s err.tmp || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-stat-time.c0000664000000000000000000001661412071024546016027 00000000000000/* Test of . Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by James Youngman , 2007. */ #include #include "stat-time.h" #include #include #include #include #include "macros.h" enum { NFILES = 4 }; static int force_unlink (const char *filename) { /* This chmod is necessary on mingw, where unlink() of a read-only file fails with EPERM. */ chmod (filename, 0600); return unlink (filename); } static void cleanup (int sig) { /* Remove temporary files. */ force_unlink ("t-stt-stamp1"); force_unlink ("t-stt-testfile"); force_unlink ("t-stt-stamp2"); force_unlink ("t-stt-renamed"); force_unlink ("t-stt-stamp3"); if (sig != 0) _exit (1); } static int open_file (const char *filename, int flags) { int fd = open (filename, flags | O_WRONLY, 0500); if (fd >= 0) { close (fd); return 1; } else { return 0; } } static void create_file (const char *filename) { ASSERT (open_file (filename, O_CREAT | O_EXCL)); } static void do_stat (const char *filename, struct stat *p) { ASSERT (stat (filename, p) == 0); } /* Sleep long enough to notice a timestamp difference on the file system in the current directory. */ static void nap (void) { static long delay; if (!delay) { /* Initialize only once, by sleeping for 20 milliseconds (needed since xfs has a quantization of about 10 milliseconds, even though it has a granularity of 1 nanosecond, and since NTFS has a default quantization of 15.25 milliseconds, even though it has a granularity of 100 nanoseconds). If the seconds differ, repeat the test one more time (in case we crossed a quantization boundary on a file system with 1 second resolution). If we can't observe a difference in only the nanoseconds, then fall back to 1 second if the time is odd, and 2 seconds (needed for FAT) if time is even. */ struct stat st1; struct stat st2; ASSERT (stat ("t-stt-stamp1", &st1) == 0); ASSERT (force_unlink ("t-stt-stamp1") == 0); delay = 20000; usleep (delay); create_file ("t-stt-stamp1"); ASSERT (stat ("t-stt-stamp1", &st2) == 0); if (st1.st_mtime != st2.st_mtime) { /* Seconds differ, give it one more shot. */ st1 = st2; ASSERT (force_unlink ("t-stt-stamp1") == 0); usleep (delay); create_file ("t-stt-stamp1"); ASSERT (stat ("t-stt-stamp1", &st2) == 0); } if (! (st1.st_mtime == st2.st_mtime && get_stat_mtime_ns (&st1) < get_stat_mtime_ns (&st2))) delay = (st1.st_mtime & 1) ? 1000000 : 2000000; } usleep (delay); } static void prepare_test (struct stat *statinfo, struct timespec *modtimes) { int i; create_file ("t-stt-stamp1"); nap (); create_file ("t-stt-testfile"); nap (); create_file ("t-stt-stamp2"); nap (); ASSERT (chmod ("t-stt-testfile", 0400) == 0); nap (); create_file ("t-stt-stamp3"); do_stat ("t-stt-stamp1", &statinfo[0]); do_stat ("t-stt-testfile", &statinfo[1]); do_stat ("t-stt-stamp2", &statinfo[2]); do_stat ("t-stt-stamp3", &statinfo[3]); /* Now use our access functions. */ for (i = 0; i < NFILES; ++i) { modtimes[i] = get_stat_mtime (&statinfo[i]); } } static void test_mtime (const struct stat *statinfo, struct timespec *modtimes) { int i; /* Use the struct stat fields directly. */ /* mtime(stamp1) < mtime(stamp2) */ ASSERT (statinfo[0].st_mtime < statinfo[2].st_mtime || (statinfo[0].st_mtime == statinfo[2].st_mtime && (get_stat_mtime_ns (&statinfo[0]) < get_stat_mtime_ns (&statinfo[2])))); /* mtime(stamp2) < mtime(stamp3) */ ASSERT (statinfo[2].st_mtime < statinfo[3].st_mtime || (statinfo[2].st_mtime == statinfo[3].st_mtime && (get_stat_mtime_ns (&statinfo[2]) < get_stat_mtime_ns (&statinfo[3])))); /* Now check the result of the access functions. */ /* mtime(stamp1) < mtime(stamp2) */ ASSERT (modtimes[0].tv_sec < modtimes[2].tv_sec || (modtimes[0].tv_sec == modtimes[2].tv_sec && modtimes[0].tv_nsec < modtimes[2].tv_nsec)); /* mtime(stamp2) < mtime(stamp3) */ ASSERT (modtimes[2].tv_sec < modtimes[3].tv_sec || (modtimes[2].tv_sec == modtimes[3].tv_sec && modtimes[2].tv_nsec < modtimes[3].tv_nsec)); /* verify equivalence */ for (i = 0; i < NFILES; ++i) { struct timespec ts; ts = get_stat_mtime (&statinfo[i]); ASSERT (ts.tv_sec == statinfo[i].st_mtime); } } #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* Skip the ctime tests on native Windows platforms, because their st_ctime is either the same as st_mtime (plus or minus an offset) or set to the file _creation_ time, and is not influenced by rename or chmod. */ # define test_ctime(ignored) ((void) 0) #else static void test_ctime (const struct stat *statinfo) { /* On some buggy NFS clients, mtime and ctime are disproportionately skewed from one another. Skip this test in that case. */ if (statinfo[0].st_mtime != statinfo[0].st_ctime) return; /* mtime(stamp2) < ctime(renamed) */ ASSERT (statinfo[2].st_mtime < statinfo[1].st_ctime || (statinfo[2].st_mtime == statinfo[1].st_ctime && (get_stat_mtime_ns (&statinfo[2]) < get_stat_ctime_ns (&statinfo[1])))); } #endif static void test_birthtime (const struct stat *statinfo, const struct timespec *modtimes, struct timespec *birthtimes) { int i; /* Collect the birth times. */ for (i = 0; i < NFILES; ++i) { birthtimes[i] = get_stat_birthtime (&statinfo[i]); if (birthtimes[i].tv_nsec < 0) return; } /* mtime(stamp1) < birthtime(renamed) */ ASSERT (modtimes[0].tv_sec < birthtimes[1].tv_sec || (modtimes[0].tv_sec == birthtimes[1].tv_sec && modtimes[0].tv_nsec < birthtimes[1].tv_nsec)); /* birthtime(renamed) < mtime(stamp2) */ ASSERT (birthtimes[1].tv_sec < modtimes[2].tv_sec || (birthtimes[1].tv_sec == modtimes[2].tv_sec && birthtimes[1].tv_nsec < modtimes[2].tv_nsec)); } int main (void) { struct stat statinfo[NFILES]; struct timespec modtimes[NFILES]; struct timespec birthtimes[NFILES]; #ifdef SIGHUP signal (SIGHUP, cleanup); #endif #ifdef SIGINT signal (SIGINT, cleanup); #endif #ifdef SIGQUIT signal (SIGQUIT, cleanup); #endif #ifdef SIGTERM signal (SIGTERM, cleanup); #endif cleanup (0); prepare_test (statinfo, modtimes); test_mtime (statinfo, modtimes); test_ctime (statinfo); test_birthtime (statinfo, modtimes, birthtimes); cleanup (0); return 0; } coreutils-8.21/gnulib-tests/test-iconv.c0000664000000000000000000001157512071024546015237 00000000000000/* Test of character set conversion. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #if HAVE_ICONV # include # ifndef ICONV_CONST # define ICONV_CONST /* empty */ # endif #include "signature.h" SIGNATURE_CHECK (iconv, size_t, (iconv_t, ICONV_CONST char **, size_t *, char **, size_t *)); SIGNATURE_CHECK (iconv_close, int, (iconv_t x)); SIGNATURE_CHECK (iconv_open, iconv_t, (char const *, char const *)); #endif #include #include #include "macros.h" int main () { #if HAVE_ICONV /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, and UTF-8. */ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8"); ASSERT (cd_88591_to_utf8 != (iconv_t)(-1)); ASSERT (cd_utf8_to_88591 != (iconv_t)(-1)); /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + strlen (expected)); ASSERT (memcmp (buf, expected, strlen (expected)) == 0); } /* Test conversion from ISO-8859-1 to UTF-8 with E2BIG. */ { static const char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; const char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == (size_t)(-1) && errno == E2BIG); ASSERT (inbytesleft == 1); ASSERT (outbytesleft == 1); ASSERT ((unsigned char) buf[1] == 0xAD); ASSERT ((unsigned char) buf[0] == 0xDE); } /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ { static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + strlen (expected)); ASSERT (memcmp (buf, expected, strlen (expected)) == 0); } /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == (size_t)(-1)) { ASSERT (errno == EILSEQ); ASSERT (inbytesleft == strlen (input) && outptr == buf); } else { ASSERT (res == 1); ASSERT (inbytesleft == 0); } } /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ { static const char input[] = "\342"; char buf[10]; const char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == (size_t)(-1) && errno == EINVAL); ASSERT (inbytesleft == 1 && outptr == buf); } iconv_close (cd_88591_to_utf8); iconv_close (cd_utf8_to_88591); #endif return 0; } coreutils-8.21/gnulib-tests/test-posix_spawn_file_actions_adddup2.c0000664000000000000000000000303612071024546022606 00000000000000/* Test posix_spawn_file_actions_adddup2() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *, int, int)); #include #include "macros.h" int main (void) { posix_spawn_file_actions_t actions; ASSERT (posix_spawn_file_actions_init (&actions) == 0); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (posix_spawn_file_actions_adddup2 (&actions, -1, 2) == EBADF); } { errno = 0; ASSERT (posix_spawn_file_actions_adddup2 (&actions, 10000000, 2) == EBADF); } { errno = 0; ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, -1) == EBADF); } { errno = 0; ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, 10000000) == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-set-mode-acl.c0000664000000000000000000000215712071024546016367 00000000000000/* Test of setting an ACL equivalent to a mode. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "acl.h" #include #include "progname.h" #include "macros.h" int main (int argc, char *argv[]) { const char *file; int mode; set_program_name (argv[0]); ASSERT (argc == 3); file = argv[1]; mode = strtol (argv[2], NULL, 8); set_acl (file, -1, mode); return 0; } coreutils-8.21/gnulib-tests/test-update-copyright.sh0000775000000000000000000004124112100637437017577 00000000000000#!/bin/sh # Test suite for update-copyright. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . diffout=`diff -u /dev/null /dev/null 2>&1` if test x"$diffout" = x"" && test $? -eq 0; then compare() { diff -u "$@"; } else compare() { cmp "$@"; } fi # Ensure the update-copyright program gets found. PATH=$abs_aux_dir:$PATH export PATH TMP_BASE=update-copyright.test trap 'rm -f $TMP_BASE*' 0 1 2 3 15 ## --------------------------------- ## ## Skip if user does not have perl. ## ## --------------------------------- ## TMP=$TMP_BASE s=$TMP-script cat <<\EOF > $s eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}' & eval 'exec perl -wS -0777 -pi "$0" $argv:q' if 0; s/a/b/ EOF chmod a+x $s echo a > $TMP-in ./$s $TMP-in 2>/dev/null && test b = "`cat $TMP-in 2>/dev/null`" || { printf '%s\n' "$0: skipping this test;" \ 'your system has insufficient support for Perl' 1>&2 exit 77 } # Skip this test if Perl is too old. FIXME: 5.8.0 is just a guess. # We have a report that 5.6.1 is inadequate and that 5.8.0 works. perl -e 'require 5.8.0' || { echo '$0: skipping this test; Perl version is too old' 1>&2 exit 77 } # Do not let a different envvar setting perturb results. UPDATE_COPYRIGHT_MAX_LINE_LENGTH=72 export UPDATE_COPYRIGHT_MAX_LINE_LENGTH ## ----------------------------- ## ## Examples from documentation. ## ## ----------------------------- ## TMP=$TMP_BASE-ex cat > $TMP.1 < $TMP.2 < $TMP.3 < $TMP.4 < $TMP.5 < $TMP.6 < $TMP.7 < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP <<\EOF Rem Copyright (C) 87, 88, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ Rem 98, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ Rem 2009 Free Software Foundation, Inc.@ EOF UPDATE_COPYRIGHT_YEAR=2010 \ update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 tr @ '\015' > $TMP-exp <<\EOF Rem Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ Rem 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ Rem 2009, 2010 Free Software Foundation, Inc.@ EOF compare $TMP-exp $TMP || exit 1 rm $TMP* ## --------------- ## ## Omitted "(C)". ## ## --------------- ## TMP=$TMP_BASE-omitted-circle-c cat > $TMP < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP < $TMP.star < $TMP.space < $TMP.single-line < $TMP.single-line-wrapped < $TMP.extra-text-star < $TMP.extra-text-space < $TMP.two-digit-final-is-substr-of-first < $TMP-stdout 2> $TMP-stderr compare /dev/null $TMP-stdout || exit 1 compare /dev/null $TMP-stderr || exit 1 compare - $TMP.star <. */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (linkat, int, (int, char const *, int, char const *, int)); #include #include #include #include #include #include #include #include "areadlink.h" #include "filenamecat.h" #include "same-inode.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-linkat.t" #include "test-link.h" static int dfd1 = AT_FDCWD; static int dfd2 = AT_FDCWD; static int flag = AT_SYMLINK_FOLLOW; /* Wrapper to test linkat like link. */ static int do_link (char const *name1, char const *name2) { return linkat (dfd1, name1, dfd2, name2, flag); } /* Can we expect that link() and linkat(), when called on a symlink, increment the link count of that symlink? */ #if LINK_FOLLOWS_SYMLINKS == 0 # define EXPECT_LINK_HARDLINKS_SYMLINKS 1 #elif LINK_FOLLOWS_SYMLINKS == -1 extern int __xpg4; # define EXPECT_LINK_HARDLINKS_SYMLINKS (__xpg4 == 0) #else # define EXPECT_LINK_HARDLINKS_SYMLINKS 0 #endif /* Wrapper to see if two symlinks act the same. */ static void check_same_link (char const *name1, char const *name2) { struct stat st1; struct stat st2; char *contents1; char *contents2; ASSERT (lstat (name1, &st1) == 0); ASSERT (lstat (name2, &st2) == 0); contents1 = areadlink_with_size (name1, st1.st_size); contents2 = areadlink_with_size (name2, st2.st_size); ASSERT (contents1); ASSERT (contents2); ASSERT (strcmp (contents1, contents2) == 0); if (EXPECT_LINK_HARDLINKS_SYMLINKS) ASSERT (SAME_INODE (st1, st2)); free (contents1); free (contents2); } int main (void) { int i; int dfd; char *cwd; int result; /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (linkat (-1, "foo", AT_FDCWD, "bar", 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (linkat (99, "foo", AT_FDCWD, "bar", 0) == -1); ASSERT (errno == EBADF); } ASSERT (close (creat (BASE "oo", 0600)) == 0); { errno = 0; ASSERT (linkat (AT_FDCWD, BASE "oo", -1, "bar", 0) == -1); ASSERT (errno == EBADF); } { errno = 0; ASSERT (linkat (AT_FDCWD, BASE "oo", 99, "bar", 0) == -1); ASSERT (errno == EBADF); } ASSERT (unlink (BASE "oo") == 0); /* Test basic link functionality, without mentioning symlinks. */ result = test_link (do_link, true); dfd1 = open (".", O_RDONLY); ASSERT (0 <= dfd1); ASSERT (test_link (do_link, false) == result); dfd2 = dfd1; ASSERT (test_link (do_link, false) == result); dfd1 = AT_FDCWD; ASSERT (test_link (do_link, false) == result); flag = 0; ASSERT (test_link (do_link, false) == result); dfd1 = dfd2; ASSERT (test_link (do_link, false) == result); dfd2 = AT_FDCWD; ASSERT (test_link (do_link, false) == result); ASSERT (close (dfd1) == 0); dfd1 = AT_FDCWD; ASSERT (test_link (do_link, false) == result); /* Create locations to manipulate. */ ASSERT (mkdir (BASE "sub1", 0700) == 0); ASSERT (mkdir (BASE "sub2", 0700) == 0); ASSERT (close (creat (BASE "00", 0600)) == 0); cwd = getcwd (NULL, 0); ASSERT (cwd); dfd = open (BASE "sub1", O_RDONLY); ASSERT (0 <= dfd); ASSERT (chdir (BASE "sub2") == 0); /* There are 16 possible scenarios, based on whether an fd is AT_FDCWD or real, whether a file is absolute or relative, coupled with whether flag is set for 32 iterations. To ensure that we test all of the code paths (rather than triggering early normalization optimizations), we use a loop to repeatedly rename a file in the parent directory, use an fd open on subdirectory 1, all while executing in subdirectory 2; all relative names are thus given with a leading "../". Finally, the last scenario (two relative paths given, neither one AT_FDCWD) has two paths, based on whether the two fds are equivalent, so we do the other variant after the loop. */ for (i = 0; i < 32; i++) { int fd1 = (i & 8) ? dfd : AT_FDCWD; char *file1 = mfile_name_concat ((i & 4) ? ".." : cwd, BASE "xx", NULL); int fd2 = (i & 2) ? dfd : AT_FDCWD; char *file2 = mfile_name_concat ((i & 1) ? ".." : cwd, BASE "xx", NULL); ASSERT (file1); ASSERT (file2); flag = (i & 0x10 ? AT_SYMLINK_FOLLOW : 0); ASSERT (sprintf (strchr (file1, '\0') - 2, "%02d", i) == 2); ASSERT (sprintf (strchr (file2, '\0') - 2, "%02d", i + 1) == 2); ASSERT (linkat (fd1, file1, fd2, file2, flag) == 0); ASSERT (unlinkat (fd1, file1, 0) == 0); free (file1); free (file2); } dfd2 = open ("..", O_RDONLY); ASSERT (0 <= dfd2); ASSERT (linkat (dfd, "../" BASE "32", dfd2, BASE "33", 0) == 0); ASSERT (linkat (dfd, "../" BASE "33", dfd2, BASE "34", AT_SYMLINK_FOLLOW) == 0); ASSERT (close (dfd2) == 0); /* Now we change back to the parent directory, and set dfd to ".", in order to test behavior on symlinks. */ ASSERT (chdir ("..") == 0); ASSERT (close (dfd) == 0); if (symlink (BASE "sub1", BASE "link1")) { ASSERT (unlink (BASE "32") == 0); ASSERT (unlink (BASE "33") == 0); ASSERT (unlink (BASE "34") == 0); ASSERT (rmdir (BASE "sub1") == 0); ASSERT (rmdir (BASE "sub2") == 0); free (cwd); if (!result) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result; } dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (symlink (BASE "34", BASE "link2") == 0); ASSERT (symlink (BASE "link3", BASE "link3") == 0); ASSERT (symlink (BASE "nowhere", BASE "link4") == 0); /* Link cannot overwrite existing files. */ errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "sub1", 0) == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (linkat (dfd, BASE "link1/", dfd, BASE "sub1", 0) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "sub1/", 0) == -1); ASSERT (errno == EEXIST || errno == ENOTDIR); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "sub1", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES); errno = 0; ASSERT (linkat (dfd, BASE "link1/", dfd, BASE "sub1", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES || errno == EINVAL); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "sub1/", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES || errno == EINVAL); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link2", 0) == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link2", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link3", 0) == -1); ASSERT (errno == EEXIST || errno == ELOOP); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link3", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES || errno == ELOOP); errno = 0; ASSERT (linkat (dfd, BASE "link2", dfd, BASE "link3", 0) == -1); ASSERT (errno == EEXIST || errno == ELOOP); errno = 0; ASSERT (linkat (dfd, BASE "link2", dfd, BASE "link3", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == ELOOP); /* AT_SYMLINK_FOLLOW only follows first argument, not second. */ errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link4", 0) == -1); ASSERT (errno == EEXIST); ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link4", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES); errno = 0; ASSERT (linkat (dfd, BASE "34", dfd, BASE "link4", 0) == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (linkat (dfd, BASE "34", dfd, BASE "link4", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EEXIST); /* Trailing slash handling. */ errno = 0; ASSERT (linkat (dfd, BASE "link2/", dfd, BASE "link5", 0) == -1); ASSERT (errno == ENOTDIR); errno = 0; ASSERT (linkat (dfd, BASE "link2/", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ENOTDIR || errno == EINVAL); errno = 0; ASSERT (linkat (dfd, BASE "link3/", dfd, BASE "link5", 0) == -1); ASSERT (errno == ELOOP); errno = 0; ASSERT (linkat (dfd, BASE "link3/", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ELOOP || errno == EINVAL); errno = 0; ASSERT (linkat (dfd, BASE "link4/", dfd, BASE "link5", 0) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (linkat (dfd, BASE "link4/", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ENOENT || errno == EINVAL); /* Check for hard links to symlinks. */ ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link5", 0) == 0); check_same_link (BASE "link1", BASE "link5"); ASSERT (unlink (BASE "link5") == 0); errno = 0; ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == EPERM || errno == EACCES); ASSERT (linkat (dfd, BASE "link2", dfd, BASE "link5", 0) == 0); check_same_link (BASE "link2", BASE "link5"); ASSERT (unlink (BASE "link5") == 0); ASSERT (linkat (dfd, BASE "link2", dfd, BASE "file", AT_SYMLINK_FOLLOW) == 0); errno = 0; ASSERT (areadlink (BASE "file") == NULL); ASSERT (errno == EINVAL); ASSERT (unlink (BASE "file") == 0); ASSERT (linkat (dfd, BASE "link3", dfd, BASE "link5", 0) == 0); check_same_link (BASE "link3", BASE "link5"); ASSERT (unlink (BASE "link5") == 0); errno = 0; ASSERT (linkat (dfd, BASE "link3", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ELOOP); ASSERT (linkat (dfd, BASE "link4", dfd, BASE "link5", 0) == 0); check_same_link (BASE "link4", BASE "link5"); ASSERT (unlink (BASE "link5") == 0); errno = 0; ASSERT (linkat (dfd, BASE "link4", dfd, BASE "link5", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ENOENT); /* Check that symlink to symlink to file is followed all the way. */ ASSERT (symlink (BASE "link2", BASE "link5") == 0); ASSERT (linkat (dfd, BASE "link5", dfd, BASE "link6", 0) == 0); check_same_link (BASE "link5", BASE "link6"); ASSERT (unlink (BASE "link6") == 0); ASSERT (linkat (dfd, BASE "link5", dfd, BASE "file", AT_SYMLINK_FOLLOW) == 0); errno = 0; ASSERT (areadlink (BASE "file") == NULL); ASSERT (errno == EINVAL); ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link5") == 0); ASSERT (symlink (BASE "link3", BASE "link5") == 0); errno = 0; ASSERT (linkat (dfd, BASE "link5", dfd, BASE "file", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ELOOP); ASSERT (unlink (BASE "link5") == 0); ASSERT (symlink (BASE "link4", BASE "link5") == 0); errno = 0; ASSERT (linkat (dfd, BASE "link5", dfd, BASE "file", AT_SYMLINK_FOLLOW) == -1); ASSERT (errno == ENOENT); /* Now for some real fun with directory crossing. */ ASSERT (symlink (cwd, BASE "sub1/link") == 0); ASSERT (symlink (".././/" BASE "sub1/link/" BASE "link2", BASE "sub2/link") == 0); ASSERT (close (dfd) == 0); dfd = open (BASE "sub1", O_RDONLY); ASSERT (0 <= dfd); dfd2 = open (BASE "sub2", O_RDONLY); ASSERT (0 < dfd2); ASSERT (linkat (dfd, "../" BASE "sub2/link", dfd2, "./..//" BASE "sub1/file", AT_SYMLINK_FOLLOW) == 0); errno = 0; ASSERT (areadlink (BASE "sub1/file") == NULL); ASSERT (errno == EINVAL); /* Cleanup. */ ASSERT (close (dfd) == 0); ASSERT (close (dfd2) == 0); ASSERT (unlink (BASE "sub1/file") == 0); ASSERT (unlink (BASE "sub1/link") == 0); ASSERT (unlink (BASE "sub2/link") == 0); ASSERT (unlink (BASE "32") == 0); ASSERT (unlink (BASE "33") == 0); ASSERT (unlink (BASE "34") == 0); ASSERT (rmdir (BASE "sub1") == 0); ASSERT (rmdir (BASE "sub2") == 0); ASSERT (unlink (BASE "link1") == 0); ASSERT (unlink (BASE "link2") == 0); ASSERT (unlink (BASE "link3") == 0); ASSERT (unlink (BASE "link4") == 0); ASSERT (unlink (BASE "link5") == 0); free (cwd); return result; } coreutils-8.21/gnulib-tests/ioctl.c0000664000000000000000000000425712071024546014255 00000000000000/* ioctl.c --- wrappers for Windows ioctl function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #include #include #if HAVE_IOCTL /* Provide a wrapper with the POSIX prototype. */ # undef ioctl int rpl_ioctl (int fd, int request, ... /* {void *,char *} arg */) { void *buf; va_list args; va_start (args, request); buf = va_arg (args, void *); va_end (args); /* Cast 'request' so that when the system's ioctl function takes a 64-bit request argument, the value gets zero-extended, not sign-extended. */ return ioctl (fd, (unsigned int) request, buf); } #else /* mingw */ # include /* Get HANDLE. */ # define WIN32_LEAN_AND_MEAN # include # include "fd-hook.h" /* Get _get_osfhandle. */ # include "msvc-nothrow.h" static int primary_ioctl (int fd, int request, void *arg) { /* We don't support FIONBIO on pipes here. If you want to make pipe fds non-blocking, use the gnulib 'nonblocking' module, until gnulib implements fcntl F_GETFL / F_SETFL with O_NONBLOCK. */ if ((HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE) errno = ENOSYS; else errno = EBADF; return -1; } int ioctl (int fd, int request, ... /* {void *,char *} arg */) { void *arg; va_list args; va_start (args, request); arg = va_arg (args, void *); va_end (args); # if WINDOWS_SOCKETS return execute_all_ioctl_hooks (primary_ioctl, fd, request, arg); # else return primary_ioctl (fd, request, arg); # endif } #endif coreutils-8.21/gnulib-tests/test-mbsrtowcs3.sh0000775000000000000000000000056211624730153016415 00000000000000#!/bin/sh # Test whether a specific EUC-JP locale is installed. : ${LOCALE_JA=ja_JP} if test $LOCALE_JA = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional japanese locale is installed" else echo "Skipping test: no traditional japanese locale is supported" fi exit 77 fi LC_ALL=$LOCALE_JA \ ./test-mbsrtowcs${EXEEXT} 3 coreutils-8.21/gnulib-tests/test-raise.c0000664000000000000000000000264012071024546015215 00000000000000/* Test raising a signal. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (raise, int, (int)); #include #include "macros.h" /* It is safe to use _Noreturn here: exit() never returns, and GCC knows that exit() is a non-returning function, even on platforms where its declaration in does not have the 'noreturn' attribute. */ static _Noreturn void handler (int sig) { exit (0); } int main (void) { /* Test behaviour for invalid argument. */ ASSERT (raise (-1) != 0); /* Test behaviour for SIGINT. */ ASSERT (signal (SIGINT, handler) != SIG_ERR); raise (SIGINT); /* We should not get here, because the handler takes away the control. */ exit (1); } coreutils-8.21/gnulib-tests/test-gethostname.c0000664000000000000000000000320112071024546016422 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Simon Josefsson. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include /* Get gethostname() declaration. */ #include #include "signature.h" SIGNATURE_CHECK (gethostname, int, (char *, size_t)); /* Get HOST_NAME_MAX definition. */ #include #include #include #include #define NOHOSTNAME "magic-gnulib-test-string" int main (int argc, char *argv[] _GL_UNUSED) { char buf[HOST_NAME_MAX]; int rc; if (strlen (NOHOSTNAME) >= HOST_NAME_MAX) { printf ("HOST_NAME_MAX impossibly small?! %d\n", HOST_NAME_MAX); return 2; } strcpy (buf, NOHOSTNAME); rc = gethostname (buf, sizeof (buf)); if (rc != 0) { printf ("gethostname failed, rc %d errno %d\n", rc, errno); return 1; } if (strcmp (buf, NOHOSTNAME) == 0) { printf ("gethostname left buffer untouched.\n"); return 1; } if (argc > 1) printf ("hostname: %s\n", buf); return 0; } coreutils-8.21/gnulib-tests/test-closein.c0000664000000000000000000000266412071024546015554 00000000000000/* Test of closein module. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake. */ #include #include "closein.h" #include #include #include #include "binary-io.h" #include "ignore-value.h" char *program_name; /* With no arguments, do nothing. With arguments, attempt to consume first 6 bytes of stdin. In either case, let exit() take care of closing std streams and changing exit status if ferror(stdin). */ int main (int argc, char **argv) { char buf[7]; atexit (close_stdin); program_name = argv[0]; /* close_stdin currently relies on ftell, but mingw ftell is unreliable on text mode input. */ SET_BINARY (0); if (argc > 2) close (0); if (argc > 1) ignore_value (fread (buf, 1, 6, stdin)); return 0; } coreutils-8.21/gnulib-tests/test-fopen-safer.c0000664000000000000000000000166012071024546016320 00000000000000/* Test of opening a file stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "stdio--.h" #define BASE "test-fopen-safer.t" #include "test-fopen.h" int main (void) { return test_fopen (); } coreutils-8.21/gnulib-tests/test-printf-posix.h0000664000000000000000000001067312071024546016566 00000000000000/* Test of POSIX compatible vsprintf() and sprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include "infinity.h" static void test_function (int (*my_printf) (const char *, ...)) { /* Here we don't test output that may be platform dependent. The bulk of the tests is done as part of the 'vasnprintf-posix' module. */ /* Test support of size specifiers as in C99. */ my_printf ("%ju %d\n", (uintmax_t) 12345671, 33, 44, 55); my_printf ("%zu %d\n", (size_t) 12345672, 33, 44, 55); my_printf ("%tu %d\n", (ptrdiff_t) 12345673, 33, 44, 55); /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal output of floating-point numbers. */ /* Positive zero. */ my_printf ("%a %d\n", 0.0, 33, 44, 55); /* Positive infinity. */ my_printf ("%a %d\n", Infinityd (), 33, 44, 55); /* Negative infinity. */ my_printf ("%a %d\n", - Infinityd (), 33, 44, 55); /* FLAG_ZERO with infinite number. */ /* "0000000inf 33" is not a valid result; see */ my_printf ("%010a %d\n", Infinityd (), 33, 44, 55); /* Test the support of the %f format directive. */ /* A positive number. */ my_printf ("%f %d\n", 12.75, 33, 44, 55); /* A larger positive number. */ my_printf ("%f %d\n", 1234567.0, 33, 44, 55); /* A negative number. */ my_printf ("%f %d\n", -0.03125, 33, 44, 55); /* Positive zero. */ my_printf ("%f %d\n", 0.0, 33, 44, 55); /* FLAG_ZERO. */ my_printf ("%015f %d\n", 1234.0, 33, 44, 55); /* Precision. */ my_printf ("%.f %d\n", 1234.0, 33, 44, 55); /* Precision with no rounding. */ my_printf ("%.2f %d\n", 999.95, 33, 44, 55); /* Precision with rounding. */ my_printf ("%.2f %d\n", 999.996, 33, 44, 55); /* A positive number. */ my_printf ("%Lf %d\n", 12.75L, 33, 44, 55); /* A larger positive number. */ my_printf ("%Lf %d\n", 1234567.0L, 33, 44, 55); /* A negative number. */ my_printf ("%Lf %d\n", -0.03125L, 33, 44, 55); /* Positive zero. */ my_printf ("%Lf %d\n", 0.0L, 33, 44, 55); /* FLAG_ZERO. */ my_printf ("%015Lf %d\n", 1234.0L, 33, 44, 55); /* Precision. */ my_printf ("%.Lf %d\n", 1234.0L, 33, 44, 55); /* Precision with no rounding. */ my_printf ("%.2Lf %d\n", 999.95L, 33, 44, 55); /* Precision with rounding. */ my_printf ("%.2Lf %d\n", 999.996L, 33, 44, 55); /* Test the support of the %F format directive. */ /* A positive number. */ my_printf ("%F %d\n", 12.75, 33, 44, 55); /* A larger positive number. */ my_printf ("%F %d\n", 1234567.0, 33, 44, 55); /* A negative number. */ my_printf ("%F %d\n", -0.03125, 33, 44, 55); /* Positive zero. */ my_printf ("%F %d\n", 0.0, 33, 44, 55); /* FLAG_ZERO. */ my_printf ("%015F %d\n", 1234.0, 33, 44, 55); /* Precision. */ my_printf ("%.F %d\n", 1234.0, 33, 44, 55); /* Precision with no rounding. */ my_printf ("%.2F %d\n", 999.95, 33, 44, 55); /* Precision with rounding. */ my_printf ("%.2F %d\n", 999.996, 33, 44, 55); /* A positive number. */ my_printf ("%LF %d\n", 12.75L, 33, 44, 55); /* A larger positive number. */ my_printf ("%LF %d\n", 1234567.0L, 33, 44, 55); /* A negative number. */ my_printf ("%LF %d\n", -0.03125L, 33, 44, 55); /* Positive zero. */ my_printf ("%LF %d\n", 0.0L, 33, 44, 55); /* FLAG_ZERO. */ my_printf ("%015LF %d\n", 1234.0L, 33, 44, 55); /* Precision. */ my_printf ("%.LF %d\n", 1234.0L, 33, 44, 55); /* Precision with no rounding. */ my_printf ("%.2LF %d\n", 999.95L, 33, 44, 55); /* Precision with rounding. */ my_printf ("%.2LF %d\n", 999.996L, 33, 44, 55); /* Test the support of the POSIX/XSI format strings with positions. */ my_printf ("%2$d %1$d\n", 33, 55); } coreutils-8.21/gnulib-tests/test-localename.c0000664000000000000000000005316512071024546016222 00000000000000/* Test of gl_locale_name function and its variants. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "localename.h" #include #include #include #include "macros.h" #if HAVE_NEWLOCALE static struct { int cat; int mask; const char *string; } const categories[] = { { LC_CTYPE, LC_CTYPE_MASK, "LC_CTYPE" }, { LC_NUMERIC, LC_NUMERIC_MASK, "LC_NUMERIC" }, { LC_TIME, LC_TIME_MASK, "LC_TIME" }, { LC_COLLATE, LC_COLLATE_MASK, "LC_COLLATE" }, { LC_MONETARY, LC_MONETARY_MASK, "LC_MONETARY" }, { LC_MESSAGES, LC_MESSAGES_MASK, "LC_MESSAGES" } # ifdef LC_PAPER , { LC_PAPER, LC_PAPER_MASK, "LC_PAPER" } # endif # ifdef LC_NAME , { LC_NAME, LC_NAME_MASK, "LC_NAME" } # endif # ifdef LC_ADDRESS , { LC_ADDRESS, LC_ADDRESS_MASK, "LC_ADDRESS" } # endif # ifdef LC_TELEPHONE , { LC_TELEPHONE, LC_TELEPHONE_MASK, "LC_TELEPHONE" } # endif # ifdef LC_MEASUREMENT , { LC_MEASUREMENT, LC_MEASUREMENT_MASK, "LC_MEASUREMENT" } # endif # ifdef LC_IDENTIFICATION , { LC_IDENTIFICATION, LC_IDENTIFICATION_MASK, "LC_IDENTIFICATION" } # endif }; #endif /* Test the gl_locale_name() function. */ static void test_locale_name (void) { const char *name; /* Check that gl_locale_name returns non-NULL. */ ASSERT (gl_locale_name (LC_MESSAGES, "LC_MESSAGES") != NULL); /* Get into a defined state, */ setlocale (LC_ALL, "en_US.UTF-8"); #if HAVE_NEWLOCALE uselocale (LC_GLOBAL_LOCALE); #endif /* Check that when all environment variables are unset, gl_locale_name returns the default locale. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LC_NUMERIC"); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), gl_locale_name_default ()) == 0); ASSERT (strcmp (gl_locale_name (LC_NUMERIC, "LC_NUMERIC"), gl_locale_name_default ()) == 0); /* Check that an empty environment variable is treated like an unset environment variable. */ setenv ("LC_ALL", "", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "", 1); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "", 1); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "", 1); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), gl_locale_name_default ()) == 0); /* Check that LC_ALL overrides the others, and LANG is overridden by the others. */ setenv ("LC_ALL", "C", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "C", 1); setenv ("LC_MESSAGES", "C", 1); unsetenv ("LANG"); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "C", 1); setlocale (LC_ALL, ""); ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0); /* Check mixed situations. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); setenv ("LANG", "de_DE.UTF-8", 1); if (setlocale (LC_ALL, "") != NULL) { name = gl_locale_name (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, "de_DE.UTF-8") == 0); name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); unsetenv ("LANG"); if (setlocale (LC_ALL, "") != NULL) { name = gl_locale_name (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, gl_locale_name_default ()) == 0); name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } #if HAVE_NEWLOCALE /* Check that gl_locale_name considers the thread locale. */ { locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { uselocale (locale); name = gl_locale_name (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } } /* Check that gl_locale_name distinguishes different categories of the thread locale, and that the name is the right one for each. */ { unsigned int i; for (i = 0; i < SIZEOF (categories); i++) { int category_mask = categories[i].mask; locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { locale = newlocale (category_mask, "de_DE.UTF-8", locale); if (locale != NULL) { unsigned int j; uselocale (locale); for (j = 0; j < SIZEOF (categories); j++) { const char *name_j = gl_locale_name (categories[j].cat, categories[j].string); if (j == i) ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0); else ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0); } } } } } #endif } /* Test the gl_locale_name_thread() function. */ static void test_locale_name_thread (void) { /* Get into a defined state, */ setlocale (LC_ALL, "en_US.UTF-8"); #if HAVE_NEWLOCALE /* Check that gl_locale_name_thread returns NULL when no thread locale is set. */ uselocale (LC_GLOBAL_LOCALE); ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL); ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL); /* Check that gl_locale_name_thread considers the thread locale. */ { locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { const char *name; uselocale (locale); name = gl_locale_name_thread (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); name = gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } } /* Check that gl_locale_name_thread distinguishes different categories of the thread locale, and that the name is the right one for each. */ { unsigned int i; for (i = 0; i < SIZEOF (categories); i++) { int category_mask = categories[i].mask; locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { locale = newlocale (category_mask, "de_DE.UTF-8", locale); if (locale != NULL) { unsigned int j; uselocale (locale); for (j = 0; j < SIZEOF (categories); j++) { const char *name_j = gl_locale_name_thread (categories[j].cat, categories[j].string); if (j == i) ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0); else ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0); } } } } } /* Check that gl_locale_name_thread returns a string that is allocated with indefinite extent. */ { /* Try many locale names in turn, in order to defeat possible caches. */ static const char * const choices[] = { "C", "POSIX", "af_ZA", "af_ZA.UTF-8", "am_ET", "am_ET.UTF-8", "be_BY", "be_BY.UTF-8", "bg_BG", "bg_BG.UTF-8", "ca_ES", "ca_ES.UTF-8", "cs_CZ", "cs_CZ.UTF-8", "da_DK", "da_DK.UTF-8", "de_AT", "de_AT.UTF-8", "de_CH", "de_CH.UTF-8", "de_DE", "de_DE.UTF-8", "el_GR", "el_GR.UTF-8", "en_AU", "en_AU.UTF-8", "en_CA", "en_CA.UTF-8", "en_GB", "en_GB.UTF-8", "en_IE", "en_IE.UTF-8", "en_NZ", "en_NZ.UTF-8", "en_US", "en_US.UTF-8", "es_ES", "es_ES.UTF-8", "et_EE", "et_EE.UTF-8", "eu_ES", "eu_ES.UTF-8", "fi_FI", "fi_FI.UTF-8", "fr_BE", "fr_BE.UTF-8", "fr_CA", "fr_CA.UTF-8", "fr_CH", "fr_CH.UTF-8", "fr_FR", "fr_FR.UTF-8", "he_IL", "he_IL.UTF-8", "hr_HR", "hr_HR.UTF-8", "hu_HU", "hu_HU.UTF-8", "hy_AM", "is_IS", "is_IS.UTF-8", "it_CH", "it_CH.UTF-8", "it_IT", "it_IT.UTF-8", "ja_JP.UTF-8", "kk_KZ", "kk_KZ.UTF-8", "ko_KR.UTF-8", "lt_LT", "lt_LT.UTF-8", "nl_BE", "nl_BE.UTF-8", "nl_NL", "nl_NL.UTF-8", "no_NO", "no_NO.UTF-8", "pl_PL", "pl_PL.UTF-8", "pt_BR", "pt_BR.UTF-8", "pt_PT", "pt_PT.UTF-8", "ro_RO", "ro_RO.UTF-8", "ru_RU", "ru_RU.UTF-8", "sk_SK", "sk_SK.UTF-8", "sl_SI", "sl_SI.UTF-8", "sv_SE", "sv_SE.UTF-8", "tr_TR", "tr_TR.UTF-8", "uk_UA", "uk_UA.UTF-8", "zh_CN", "zh_CN.UTF-8", "zh_HK", "zh_HK.UTF-8", "zh_TW", "zh_TW.UTF-8" }; /* Remember which locales are available. */ unsigned char /* bool */ available[SIZEOF (choices)]; /* Array of remembered results of gl_locale_name_thread. */ const char *unsaved_names[SIZEOF (choices)][SIZEOF (categories)]; /* Array of remembered results of gl_locale_name_thread, stored in safe memory. */ char *saved_names[SIZEOF (choices)][SIZEOF (categories)]; unsigned int j; for (j = 0; j < SIZEOF (choices); j++) { locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL); available[j] = (locale != NULL); if (locale != NULL) { unsigned int i; uselocale (locale); for (i = 0; i < SIZEOF (categories); i++) { unsaved_names[j][i] = gl_locale_name_thread (categories[i].cat, categories[i].string); saved_names[j][i] = strdup (unsaved_names[j][i]); } uselocale (LC_GLOBAL_LOCALE); freelocale (locale); } } /* Verify the unsaved_names are still valid. */ for (j = 0; j < SIZEOF (choices); j++) if (available[j]) { unsigned int i; for (i = 0; i < SIZEOF (categories); i++) ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); } /* Allocate many locales, without freeing them. This is an attempt at overwriting as much of the previously allocated memory as possible. */ for (j = SIZEOF (choices); j > 0; ) { j--; if (available[j]) { locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL); unsigned int i; ASSERT (locale != NULL); uselocale (locale); for (i = 0; i < SIZEOF (categories); i++) { const char *name = gl_locale_name_thread (categories[i].cat, categories[i].string); ASSERT (strcmp (unsaved_names[j][i], name) == 0); } uselocale (LC_GLOBAL_LOCALE); } } /* Verify the unsaved_names are still valid. */ for (j = 0; j < SIZEOF (choices); j++) if (available[j]) { unsigned int i; for (i = 0; i < SIZEOF (categories); i++) ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); } } #else /* Check that gl_locale_name_thread always returns NULL. */ ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL); ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL); #endif } /* Test the gl_locale_name_posix() function. */ static void test_locale_name_posix (void) { const char *name; /* Get into a defined state, */ setlocale (LC_ALL, "en_US.UTF-8"); #if HAVE_NEWLOCALE uselocale (LC_GLOBAL_LOCALE); #endif /* Check that when all environment variables are unset, gl_locale_name_posix returns either NULL or the default locale. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LC_NUMERIC"); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); name = gl_locale_name_posix (LC_NUMERIC, "LC_NUMERIC"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); /* Check that an empty environment variable is treated like an unset environment variable. */ setenv ("LC_ALL", "", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "", 1); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "", 1); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "", 1); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); /* Check that LC_ALL overrides the others, and LANG is overridden by the others. */ setenv ("LC_ALL", "C", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "C", 1); setenv ("LC_MESSAGES", "C", 1); unsetenv ("LANG"); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "C", 1); setlocale (LC_ALL, ""); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); /* Check mixed situations. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); setenv ("LANG", "de_DE.UTF-8", 1); if (setlocale (LC_ALL, "") != NULL) { name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, "de_DE.UTF-8") == 0); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); unsetenv ("LANG"); if (setlocale (LC_ALL, "") != NULL) { name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE"); ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); } #if HAVE_NEWLOCALE /* Check that gl_locale_name_posix ignores the thread locale. */ { locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "C", 1); setlocale (LC_ALL, ""); uselocale (locale); name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); } } #endif } /* Test the gl_locale_name_environ() function. */ static void test_locale_name_environ (void) { const char *name; /* Get into a defined state, */ setlocale (LC_ALL, "en_US.UTF-8"); #if HAVE_NEWLOCALE uselocale (LC_GLOBAL_LOCALE); #endif /* Check that when all environment variables are unset, gl_locale_name_environ returns NULL. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LC_NUMERIC"); unsetenv ("LANG"); ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL); ASSERT (gl_locale_name_environ (LC_NUMERIC, "LC_NUMERIC") == NULL); /* Check that an empty environment variable is treated like an unset environment variable. */ setenv ("LC_ALL", "", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "", 1); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "", 1); unsetenv ("LANG"); ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "", 1); ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL); /* Check that LC_ALL overrides the others, and LANG is overridden by the others. */ setenv ("LC_ALL", "C", 1); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); unsetenv ("LANG"); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); unsetenv ("LC_ALL"); setenv ("LC_CTYPE", "C", 1); setenv ("LC_MESSAGES", "C", 1); unsetenv ("LANG"); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "C", 1); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); /* Check mixed situations. */ unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); setenv ("LANG", "de_DE.UTF-8", 1); name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE"); ASSERT (strcmp (name, "de_DE.UTF-8") == 0); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1); unsetenv ("LANG"); name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE"); ASSERT (name == NULL); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "fr_FR.UTF-8") == 0); #if HAVE_NEWLOCALE /* Check that gl_locale_name_environ ignores the thread locale. */ { locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { unsetenv ("LC_ALL"); unsetenv ("LC_CTYPE"); unsetenv ("LC_MESSAGES"); setenv ("LANG", "C", 1); setlocale (LC_ALL, ""); uselocale (locale); name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES"); ASSERT (strcmp (name, "C") == 0); } } #endif } /* Test the gl_locale_name_default() function. */ static void test_locale_name_default (void) { const char *name = gl_locale_name_default (); ASSERT (name != NULL); /* Only Mac OS X and Windows have a facility for the user to set the default locale. */ #if !((defined __APPLE__ && defined __MACH__) || (defined _WIN32 || defined __WIN32__ || defined __CYGWIN__)) ASSERT (strcmp (name, "C") == 0); #endif #if HAVE_NEWLOCALE /* Check that gl_locale_name_default ignores the thread locale. */ { locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL); if (locale != NULL) { uselocale (locale); ASSERT (strcmp (gl_locale_name_default (), name) == 0); } } #endif } int main () { test_locale_name (); test_locale_name_thread (); test_locale_name_posix (); test_locale_name_environ (); test_locale_name_default (); return 0; } coreutils-8.21/gnulib-tests/test-strerror_r.c0000664000000000000000000001172712071024546016323 00000000000000/* Test of strerror_r() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (strerror_r, int, (int, char *, size_t)); #include #include "macros.h" int main (void) { char buf[100]; int ret; /* Test results with valid errnum and enough room. */ errno = 0; buf[0] = '\0'; ASSERT (strerror_r (EACCES, buf, sizeof buf) == 0); ASSERT (buf[0] != '\0'); ASSERT (errno == 0); ASSERT (strlen (buf) < sizeof buf); errno = 0; buf[0] = '\0'; ASSERT (strerror_r (ETIMEDOUT, buf, sizeof buf) == 0); ASSERT (buf[0] != '\0'); ASSERT (errno == 0); ASSERT (strlen (buf) < sizeof buf); errno = 0; buf[0] = '\0'; ASSERT (strerror_r (EOVERFLOW, buf, sizeof buf) == 0); ASSERT (buf[0] != '\0'); ASSERT (errno == 0); ASSERT (strlen (buf) < sizeof buf); /* POSIX requires strerror (0) to succeed. Reject use of "Unknown error", but allow "Success", "No error", or even Solaris' "Error 0" which are distinct patterns from true out-of-range strings. http://austingroupbugs.net/view.php?id=382 */ errno = 0; buf[0] = '\0'; ret = strerror_r (0, buf, sizeof buf); ASSERT (ret == 0); ASSERT (buf[0]); ASSERT (errno == 0); ASSERT (strstr (buf, "nknown") == NULL); ASSERT (strstr (buf, "ndefined") == NULL); /* Test results with out-of-range errnum and enough room. POSIX allows an empty string on success, and allows an unchanged buf on error, but these are not useful, so we guarantee contents. */ errno = 0; buf[0] = '^'; ret = strerror_r (-3, buf, sizeof buf); ASSERT (ret == 0 || ret == EINVAL); ASSERT (buf[0] != '^'); ASSERT (*buf); ASSERT (errno == 0); ASSERT (strlen (buf) < sizeof buf); /* Test results with a too small buffer. POSIX requires an error; only ERANGE for 0 and valid errors, and a choice of ERANGE or EINVAL for out-of-range values. On error, POSIX permits buf to be empty, unchanged, or unterminated, but these are not useful, so we guarantee NUL-terminated truncated contents for all but size 0. http://austingroupbugs.net/view.php?id=398. Also ensure that no out-of-bounds writes occur. */ { int errs[] = { EACCES, 0, -3, }; int j; buf[sizeof buf - 1] = '\0'; for (j = 0; j < SIZEOF (errs); j++) { int err = errs[j]; char buf2[sizeof buf] = ""; size_t len; size_t i; strerror_r (err, buf2, sizeof buf2); len = strlen (buf2); ASSERT (len < sizeof buf); for (i = 0; i <= len; i++) { memset (buf, '^', sizeof buf - 1); errno = 0; ret = strerror_r (err, buf, i); ASSERT (errno == 0); if (err < 0) ASSERT (ret == ERANGE || ret == EINVAL); else ASSERT (ret == ERANGE); if (i) { ASSERT (strncmp (buf, buf2, i - 1) == 0); ASSERT (buf[i - 1] == '\0'); } ASSERT (strspn (buf + i, "^") == sizeof buf - 1 - i); } strcpy (buf, "BADFACE"); errno = 0; ret = strerror_r (err, buf, len + 1); ASSERT (ret != ERANGE); ASSERT (errno == 0); ASSERT (strcmp (buf, buf2) == 0); } } #if GNULIB_STRERROR /* Test that strerror_r does not clobber strerror buffer. On some platforms, this test can only succeed if gnulib also replaces strerror. */ { const char *msg1; const char *msg2; const char *msg3; const char *msg4; char *str1; char *str2; char *str3; char *str4; msg1 = strerror (ENOENT); ASSERT (msg1); str1 = strdup (msg1); ASSERT (str1); msg2 = strerror (ERANGE); ASSERT (msg2); str2 = strdup (msg2); ASSERT (str2); msg3 = strerror (-4); ASSERT (msg3); str3 = strdup (msg3); ASSERT (str3); msg4 = strerror (1729576); ASSERT (msg4); str4 = strdup (msg4); ASSERT (str4); strerror_r (EACCES, buf, sizeof buf); strerror_r (-5, buf, sizeof buf); ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); ASSERT (msg2 == msg4 || STREQ (msg2, str2)); ASSERT (msg3 == msg4 || STREQ (msg3, str3)); ASSERT (STREQ (msg4, str4)); free (str1); free (str2); free (str3); free (str4); } #endif return 0; } coreutils-8.21/gnulib-tests/test-readlink.c0000664000000000000000000000246212071024546015705 00000000000000/* Tests of readlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (readlink, ssize_t, (char const *, char *, size_t)); #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-readlink.t" #include "test-readlink.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_readlink (readlink, true); } coreutils-8.21/gnulib-tests/test-filevercmp.c0000664000000000000000000000536012071024546016250 00000000000000/* Test of filevercmp() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include "filevercmp.h" #include #include "macros.h" /* set of well sorted examples */ static const char *const examples[] = { "", ".", "..", ".0", ".9", ".A", ".Z", ".a~", ".a", ".b~", ".b", ".z", ".zz~", ".zz", ".zz.~1~", ".zz.0", "0", "9", "A", "Z", "a~", "a", "a.b~", "a.b", "a.bc~", "a.bc", "b~", "b", "gcc-c++-10.fc9.tar.gz", "gcc-c++-10.fc9.tar.gz.~1~", "gcc-c++-10.fc9.tar.gz.~2~", "gcc-c++-10.8.12-0.7rc2.fc9.tar.bz2", "gcc-c++-10.8.12-0.7rc2.fc9.tar.bz2.~1~", "glibc-2-0.1.beta1.fc10.rpm", "glibc-common-5-0.2.beta2.fc9.ebuild", "glibc-common-5-0.2b.deb", "glibc-common-11b.ebuild", "glibc-common-11-0.6rc2.ebuild", "libstdc++-0.5.8.11-0.7rc2.fc10.tar.gz", "libstdc++-4a.fc8.tar.gz", "libstdc++-4.10.4.20040204svn.rpm", "libstdc++-devel-3.fc8.ebuild", "libstdc++-devel-3a.fc9.tar.gz", "libstdc++-devel-8.fc8.deb", "libstdc++-devel-8.6.2-0.4b.fc8", "nss_ldap-1-0.2b.fc9.tar.bz2", "nss_ldap-1-0.6rc2.fc8.tar.gz", "nss_ldap-1.0-0.1a.tar.gz", "nss_ldap-10beta1.fc8.tar.gz", "nss_ldap-10.11.8.6.20040204cvs.fc10.ebuild", "z", "zz~", "zz", "zz.~1~", "zz.0", "#.b#", NULL }; int main (void) { const char *const *i; /* Following tests taken from test-strverscmp.c */ ASSERT (filevercmp ("", "") == 0); ASSERT (filevercmp ("a", "a") == 0); ASSERT (filevercmp ("a", "b") < 0); ASSERT (filevercmp ("b", "a") > 0); ASSERT (filevercmp ("a0", "a") > 0); ASSERT (filevercmp ("00", "01") < 0); ASSERT (filevercmp ("01", "010") < 0); ASSERT (filevercmp ("9", "10") < 0); ASSERT (filevercmp ("0a", "0") > 0); /* compare each version string with each other - O(n^2) */ for (i = examples; *i; i++) { const char *const *j; for (j = examples; *j; j++) { int result = filevercmp (*i, *j); if (result < 0) ASSERT (i < j); else if (0 < result) ASSERT (j < i); else ASSERT (i == j); } } return 0; } coreutils-8.21/gnulib-tests/test-wctype-h.c0000664000000000000000000000376512071024546015663 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "macros.h" /* Check that the type wint_t is defined. */ wint_t a = 'x'; /* Check that WEOF is defined. */ wint_t e = WEOF; /* Check that the type wctype_t is defined. */ wctype_t p; /* Check that the type wctrans_t is defined. */ wctrans_t q; int main (void) { /* Check that the isw* functions exist as functions or as macros. */ (void) iswalnum (0); (void) iswalpha (0); (void) iswcntrl (0); (void) iswdigit (0); (void) iswgraph (0); (void) iswlower (0); (void) iswprint (0); (void) iswpunct (0); (void) iswspace (0); (void) iswupper (0); (void) iswxdigit (0); /* Check that the isw* functions map WEOF to 0. */ ASSERT (!iswalnum (e)); ASSERT (!iswalpha (e)); ASSERT (!iswcntrl (e)); ASSERT (!iswdigit (e)); ASSERT (!iswgraph (e)); ASSERT (!iswlower (e)); ASSERT (!iswprint (e)); ASSERT (!iswpunct (e)); ASSERT (!iswspace (e)); ASSERT (!iswupper (e)); ASSERT (!iswxdigit (e)); /* Check that the tow* functions exist as functions or as macros. */ (void) towlower (0); (void) towupper (0); /* Check that the tow* functions map WEOF to WEOF. */ ASSERT (towlower (e) == e); ASSERT (towupper (e) == e); return 0; } coreutils-8.21/gnulib-tests/test-base64.c0000664000000000000000000001357512071024546015207 00000000000000/* Self tests for base64. Copyright (C) 2004, 2008-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "base64.h" #include #include #include #include #include #include "macros.h" int main (void) { const char *in = "abcdefghijklmnop"; const char *b64in = "YWJjZGVmZw=="; char out[255]; size_t len; bool ok; char *p; memset (out, 0x42, sizeof (out)); base64_encode (in, 0, out, 0); ASSERT (out[0] == '\x42'); memset (out, 0x42, sizeof (out)); base64_encode (in, 1, out, 1); ASSERT (memcmp (out, "YQ==", 1) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 1, out, 2); ASSERT (memcmp (out, "YQ==", 2) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 1, out, 3); ASSERT (memcmp (out, "YQ==", 3) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 1, out, 4); ASSERT (memcmp (out, "YQ==", 4) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 1, out, 8); ASSERT (memcmp (out, "YQ==", 4) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 2, out, 4); ASSERT (memcmp (out, "YWI=", 4) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 3, out, 4); ASSERT (memcmp (out, "YWJj", 4) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 4, out, 5); ASSERT (memcmp (out, "YWJjZA==", 5) == 0); memset (out, 0x42, sizeof (out)); base64_encode (in, 4, out, 100); ASSERT (memcmp (out, "YWJjZA==", 6) == 0); /* Decode. */ memset (out, 0x42, sizeof (out)); len = 0; ok = base64_decode (b64in, 4, out, &len); ASSERT (ok); ASSERT (len == 0); memset (out, 0x42, sizeof (out)); len = 1; ok = base64_decode (b64in, 4, out, &len); ASSERT (ok); ASSERT (len == 1); ASSERT (memcmp (out, "abcdefg", 1) == 0); memset (out, 0x42, sizeof (out)); len = 2; ok = base64_decode (b64in, 4, out, &len); ASSERT (ok); ASSERT (len == 2); ASSERT (memcmp (out, "abcdefg", 2) == 0); memset (out, 0x42, sizeof (out)); len = 3; ok = base64_decode (b64in, 4, out, &len); ASSERT (ok); ASSERT (len == 3); ASSERT (memcmp (out, "abcdefg", 3) == 0); memset (out, 0x42, sizeof (out)); len = 4; ok = base64_decode (b64in, 4, out, &len); ASSERT (ok); ASSERT (len == 3); ASSERT (memcmp (out, "abcdefg", 3) == 0); memset (out, 0x42, sizeof (out)); len = 100; ok = base64_decode (b64in, strlen (b64in), out, &len); ASSERT (ok); ASSERT (len == 7); ASSERT (memcmp (out, "abcdefg", 7) == 0); /* Allocating encode */ len = base64_encode_alloc (in, strlen (in), &p); ASSERT (len == 24); ASSERT (strcmp (p, "YWJjZGVmZ2hpamtsbW5vcA==") == 0); free (p); len = base64_encode_alloc (in, SIZE_MAX - 5, &p); ASSERT (len == 0); /* Decode context function */ { struct base64_decode_context ctx; base64_decode_ctx_init (&ctx); len = sizeof (out); ok = base64_decode_ctx (&ctx, b64in, strlen (b64in), out, &len); ASSERT (ok); ASSERT (len == 7); ASSERT (memcmp (out, "abcdefg", len) == 0); } /* Allocating decode context function */ ok = base64_decode_alloc_ctx (NULL, b64in, strlen (b64in), &p, &len); ASSERT (ok); ASSERT (len == 7); ASSERT (memcmp (out, "abcdefg", len) == 0); free (p); { struct base64_decode_context ctx; const char *newlineb64 = "YWJjZG\nVmZ2hp\namtsbW5vcA=="; base64_decode_ctx_init (&ctx); ok = base64_decode_alloc_ctx (&ctx, newlineb64, strlen (newlineb64), &p, &len); ASSERT (ok); ASSERT (len == strlen (in)); ASSERT (memcmp (p, in, len) == 0); free (p); } { struct base64_decode_context ctx; base64_decode_ctx_init (&ctx); ok = base64_decode_alloc_ctx (&ctx, "YW\nJjZGVmZ2hp", 13, &p, &len); ASSERT (ok); ASSERT (len == 9); ASSERT (memcmp (p, "abcdefghi", len) == 0); free (p); base64_decode_ctx_init (&ctx); ok = base64_decode_alloc_ctx (&ctx, "YW\n", 3, &p, &len); ASSERT (ok); ASSERT (len == 0); free (p); ok = base64_decode_alloc_ctx (&ctx, "JjZGVmZ2", 8, &p, &len); ASSERT (ok); ASSERT (len == 6); ASSERT (memcmp (p, "abcdef", len) == 0); free (p); ok = base64_decode_alloc_ctx (&ctx, "hp", 2, &p, &len); ASSERT (ok); ASSERT (len == 3); ASSERT (memcmp (p, "ghi", len) == 0); free (p); ok = base64_decode_alloc_ctx (&ctx, "", 0, &p, &len); ASSERT (ok); free (p); } { struct base64_decode_context ctx; const char *newlineb64 = "\n\n\n\n\n"; base64_decode_ctx_init (&ctx); ok = base64_decode_alloc_ctx (&ctx, newlineb64, strlen (newlineb64), &p, &len); ASSERT (ok); ASSERT (len == 0); free (p); } ok = base64_decode_alloc_ctx (NULL, " ! ", 3, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "abc\ndef", 7, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aa", 2, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aa=", 3, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aax", 3, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aa=X", 4, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aa=X", 4, &p, &len); ASSERT (!ok); ok = base64_decode_alloc_ctx (NULL, "aax=X", 5, &p, &len); ASSERT (!ok); return 0; } coreutils-8.21/gnulib-tests/test-freading.c0000664000000000000000000001112312071024546015665 00000000000000/* Test of freading() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include "freading.h" #include #include "macros.h" #define TESTFILE "t-freading.tmp" int main (void) { FILE *fp; /* Create a file with some contents. Write-only file is never reading. */ fp = fopen (TESTFILE, "w"); ASSERT (fp); ASSERT (!freading (fp)); ASSERT (fwrite ("foobarsh", 1, 8, fp) == 8); ASSERT (!freading (fp)); ASSERT (fclose (fp) == 0); /* Open it in read-only mode. Read-only file is always reading. */ fp = fopen (TESTFILE, "r"); ASSERT (fp); ASSERT (freading (fp)); ASSERT (fgetc (fp) == 'f'); ASSERT (freading (fp)); ASSERT (fseek (fp, 2, SEEK_CUR) == 0); ASSERT (freading (fp)); ASSERT (fgetc (fp) == 'b'); ASSERT (freading (fp)); fflush (fp); ASSERT (freading (fp)); ASSERT (fgetc (fp) == 'a'); ASSERT (freading (fp)); ASSERT (fseek (fp, 0, SEEK_END) == 0); ASSERT (freading (fp)); ASSERT (fclose (fp) == 0); /* Open it in read-write mode. POSIX requires a reposition (fseek, fsetpos, rewind) or EOF when transitioning from read to write; freading is only deterministic after input or output, but this test case should be portable even on open, after reposition, and at EOF. */ /* First a scenario with only fgetc, fseek, fputc. */ fp = fopen (TESTFILE, "r+"); ASSERT (fp); ASSERT (!freading (fp)); ASSERT (fgetc (fp) == 'f'); ASSERT (freading (fp)); ASSERT (fseek (fp, 2, SEEK_CUR) == 0); /* freading (fp) is undefined here, but fwriting (fp) is false. */ ASSERT (fgetc (fp) == 'b'); ASSERT (freading (fp)); /* This fseek call is necessary when switching from reading to writing. See the description of fopen(), ISO C 99 7.19.5.3.(6). */ ASSERT (fseek (fp, 0, SEEK_CUR) == 0); /* freading (fp) is undefined here, but fwriting (fp) is false. */ ASSERT (fputc ('x', fp) == 'x'); ASSERT (!freading (fp)); ASSERT (fseek (fp, 0, SEEK_END) == 0); /* freading (fp) is undefined here, because on some implementations (e.g. glibc) fseek causes a buffer to be read. fwriting (fp) is undefined as well. */ ASSERT (fclose (fp) == 0); /* Open it in read-write mode. POSIX requires a reposition (fseek, fsetpos, rewind) or EOF when transitioning from read to write; freading is only deterministic after input or output, but this test case should be portable even on open, after reposition, and at EOF. */ /* Here a scenario that includes fflush. */ fp = fopen (TESTFILE, "r+"); ASSERT (fp); ASSERT (!freading (fp)); ASSERT (fgetc (fp) == 'f'); ASSERT (freading (fp)); ASSERT (fseek (fp, 2, SEEK_CUR) == 0); /* freading (fp) is undefined here, but fwriting (fp) is false. */ ASSERT (fgetc (fp) == 'b'); ASSERT (freading (fp)); fflush (fp); /* freading (fp) is undefined here, but fwriting (fp) is false. */ ASSERT (fgetc (fp) == 'x'); ASSERT (freading (fp)); /* This fseek call is necessary when switching from reading to writing. See the description of fopen(), ISO C 99 7.19.5.3.(6). */ ASSERT (fseek (fp, 0, SEEK_CUR) == 0); /* freading (fp) is undefined here, but fwriting (fp) is false. */ ASSERT (fputc ('z', fp) == 'z'); ASSERT (!freading (fp)); ASSERT (fseek (fp, 0, SEEK_END) == 0); /* freading (fp) is undefined here, because on some implementations (e.g. glibc) fseek causes a buffer to be read. fwriting (fp) is undefined as well. */ ASSERT (fclose (fp) == 0); /* Open it in append mode. Write-only file is never reading. */ fp = fopen (TESTFILE, "a"); ASSERT (fp); ASSERT (!freading (fp)); ASSERT (fwrite ("bla", 1, 3, fp) == 3); ASSERT (!freading (fp)); ASSERT (fclose (fp) == 0); ASSERT (remove (TESTFILE) == 0); return 0; } coreutils-8.21/gnulib-tests/test-fpurge.c0000664000000000000000000000753312071024546015410 00000000000000/* Test of fpurge() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include #include "macros.h" #define TESTFILE "t-fpurge.tmp" int main (void) { int check_filepos; for (check_filepos = 0; check_filepos <= 1; check_filepos++) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) goto skip; if (fwrite ("foobarsh", 1, 8, fp) < 8) goto skip; if (fclose (fp)) goto skip; /* The file's contents is now "foobarsh". */ /* Open it in read-write mode. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) goto skip; if (fseek (fp, 3, SEEK_CUR)) goto skip; if (fwrite ("g", 1, 1, fp) < 1) goto skip; if (fflush (fp)) goto skip; if (fwrite ("bz", 1, 2, fp) < 2) goto skip; /* Discard pending write. */ ASSERT (fpurge (fp) == 0); /* Verify that when discarding pending output, the file position is set back to where it was before the write calls. */ if (check_filepos) ASSERT (ftell (fp) == 4); ASSERT (fclose (fp) == 0); /* Open it in read-only mode. */ fp = fopen (TESTFILE, "r"); if (fp == NULL) goto skip; /* Verify that the pending writes before the fpurge were really discarded. */ { char buf[8]; if (fread (buf, 1, 7, fp) < 7) goto skip; ASSERT (memcmp (buf, "foogars", 7) == 0); } /* Discard the buffered 'h'. */ if (check_filepos) ASSERT (ftell (fp) == 7); ASSERT (fpurge (fp) == 0); /* Verify that when discarding pending input, the file position is advanced to match the end of the previously read input. */ if (check_filepos) ASSERT (ftell (fp) == 8); ASSERT (getc (fp) == EOF); ASSERT (fclose (fp) == 0); /* The file's contents is now "foogarsh". */ /* Ensure that purging a read does not corrupt subsequent writes. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) goto skip; if (fseek (fp, -1, SEEK_END)) goto skip; ASSERT (getc (fp) == 'h'); ASSERT (getc (fp) == EOF); if (check_filepos) ASSERT (ftell (fp) == 8); ASSERT (fpurge (fp) == 0); if (check_filepos) ASSERT (ftell (fp) == 8); ASSERT (putc ('!', fp) == '!'); if (check_filepos) ASSERT (ftell (fp) == 9); ASSERT (fclose (fp) == 0); fp = fopen (TESTFILE, "r"); if (fp == NULL) goto skip; { char buf[10]; ASSERT (fread (buf, 1, 10, fp) == 9); ASSERT (memcmp (buf, "foogarsh!", 9) == 0); } ASSERT (fclose (fp) == 0); /* The file's contents is now "foogarsh!". */ } remove (TESTFILE); return 0; skip: fprintf (stderr, "Skipping test: prerequisite file operations failed.\n"); remove (TESTFILE); return 77; } coreutils-8.21/gnulib-tests/test-ftruncate.sh0000775000000000000000000000010611641440730016272 00000000000000#!/bin/sh exec ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh" coreutils-8.21/gnulib-tests/test-xprintf-posix.sh0000775000000000000000000000134111624730157017141 00000000000000#!/bin/sh tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-xprintf-posix.tmp t-xprintf-posix.out" ./test-xprintf-posix${EXEEXT} > t-xprintf-posix.tmp || exit 1 LC_ALL=C tr -d '\r' < t-xprintf-posix.tmp > t-xprintf-posix.out || exit 1 : ${DIFF=diff} ${DIFF} "${srcdir}/test-printf-posix.output" t-xprintf-posix.out test $? = 0 || { rm -fr $tmpfiles; exit 1; } tmpfiles="$tmpfiles t-xfprintf-posix.tmp t-xfprintf-posix.out" ./test-xfprintf-posix${EXEEXT} > t-xfprintf-posix.tmp || exit 1 LC_ALL=C tr -d '\r' < t-xfprintf-posix.tmp > t-xfprintf-posix.out || exit 1 : ${DIFF=diff} ${DIFF} "${srcdir}/test-printf-posix.output" t-xfprintf-posix.out test $? = 0 || { rm -fr $tmpfiles; exit 1; } rm -fr $tmpfiles exit 0 coreutils-8.21/gnulib-tests/test-posix_spawn_file_actions_addopen.c0000664000000000000000000000304712071024546022677 00000000000000/* Test posix_spawn_file_actions_addopen() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *, int, const char *, int, mode_t)); #include #include #include "macros.h" int main (void) { posix_spawn_file_actions_t actions; ASSERT (posix_spawn_file_actions_init (&actions) == 0); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (posix_spawn_file_actions_addopen (&actions, -1, "foo", 0, O_RDONLY) == EBADF); } { errno = 0; ASSERT (posix_spawn_file_actions_addopen (&actions, 10000000, "foo", 0, O_RDONLY) == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-xstrtol.c0000664000000000000000000000306512071024546015633 00000000000000/* Test of xstrtol module. Copyright (C) 1995-1996, 1998-2001, 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "xstrtol.h" #include "error.h" #ifndef __xstrtol # define __xstrtol xstrtol # define __strtol_t long int # define __spec "ld" #endif char *program_name; /* Don't show the program name in error messages. */ static void print_no_progname (void) { } int main (int argc, char **argv) { strtol_error s_err; int i; program_name = argv[0]; error_print_progname = print_no_progname; for (i = 1; i < argc; i++) { char *p; __strtol_t val; s_err = __xstrtol (argv[i], &p, 0, &val, "bckMw0"); if (s_err == LONGINT_OK) { printf ("%s->%" __spec " (%s)\n", argv[i], val, p); } else { xstrtol_fatal (s_err, -2, 'X', NULL, argv[i]); } } exit (0); } coreutils-8.21/gnulib-tests/test-mbrtowc-w32-1.sh0000775000000000000000000000012211624730153016523 00000000000000#!/bin/sh # Test a CP1252 locale. ./test-mbrtowc-w32${EXEEXT} French_France 1252 coreutils-8.21/gnulib-tests/test-xvasprintf.c0000664000000000000000000000575212071024546016325 00000000000000/* Test of xvasprintf() and xasprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "xvasprintf.h" #include #include #include #include "progname.h" #include "macros.h" static char * my_xasprintf (const char *format, ...) { va_list args; char *ret; va_start (args, format); ret = xvasprintf (format, args); va_end (args); return ret; } static void test_xvasprintf (void) { int repeat; char *result; for (repeat = 0; repeat <= 8; repeat++) { result = my_xasprintf ("%d", 12345); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); free (result); } { /* Silence gcc warning about zero-length format string. */ const char *empty = ""; result = my_xasprintf (empty); ASSERT (result != NULL); ASSERT (strcmp (result, "") == 0); free (result); } result = my_xasprintf ("%s", "foo"); ASSERT (result != NULL); ASSERT (strcmp (result, "foo") == 0); free (result); result = my_xasprintf ("%s%s", "foo", "bar"); ASSERT (result != NULL); ASSERT (strcmp (result, "foobar") == 0); free (result); result = my_xasprintf ("%s%sbaz", "foo", "bar"); ASSERT (result != NULL); ASSERT (strcmp (result, "foobarbaz") == 0); free (result); } static void test_xasprintf (void) { int repeat; char *result; for (repeat = 0; repeat <= 8; repeat++) { result = xasprintf ("%d", 12345); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); free (result); } { /* Silence gcc warning about zero-length format string. */ const char *empty = ""; result = xasprintf (empty); ASSERT (result != NULL); ASSERT (strcmp (result, "") == 0); free (result); } result = xasprintf ("%s", "foo"); ASSERT (result != NULL); ASSERT (strcmp (result, "foo") == 0); free (result); result = xasprintf ("%s%s", "foo", "bar"); ASSERT (result != NULL); ASSERT (strcmp (result, "foobar") == 0); free (result); result = my_xasprintf ("%s%sbaz", "foo", "bar"); ASSERT (result != NULL); ASSERT (strcmp (result, "foobarbaz") == 0); free (result); } int main (int argc _GL_UNUSED, char *argv[]) { set_program_name (argv[0]); test_xvasprintf (); test_xasprintf (); return 0; } coreutils-8.21/gnulib-tests/test-stdlib.c0000664000000000000000000000262412071024546015375 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that EXIT_SUCCESS is 0, per POSIX. */ static int exitcode = EXIT_SUCCESS; #if EXIT_SUCCESS "oops" #endif /* Check for GNU value (not guaranteed by POSIX, but is guaranteed by gnulib). */ #if EXIT_FAILURE != 1 "oops" #endif /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); #if GNULIB_TEST_SYSTEM_POSIX # include "test-sys_wait.h" #else # define test_sys_wait_macros() 0 #endif int main (void) { if (test_sys_wait_macros ()) return 1; return exitcode; } coreutils-8.21/gnulib-tests/test-userspec.c0000664000000000000000000001301212071024546015736 00000000000000/* Test userspec.c Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "userspec.h" #include #include #include #include #include #include #include #include #include "xalloc.h" #define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) struct test { const char *in; uid_t uid; gid_t gid; const char *user_name; const char *group_name; const char *result; }; static struct test T[] = { { "", -1, -1, "", "", NULL}, { ":", -1, -1, "", "", NULL}, { "0:0", 0, 0, "", "", NULL}, { ":1", -1, 1, "", "", NULL}, { "1", 1, -1, "", "", NULL}, { ":+0", -1, 0, "", "", NULL}, { "22:42", 22, 42, "", "", NULL}, /* (uint32_t)-1 should be invalid everywhere */ { "4294967295:4294967295", 0, 0, NULL, NULL, "invalid user"}, /* likewise, but with only the group being invalid */ { "0:4294967295", 0, 0, NULL, NULL, "invalid group"}, { ":4294967295", 0, 0, NULL, NULL, "invalid group"}, /* and only the user being invalid */ { "4294967295:0", 0, 0, NULL, NULL, "invalid user"}, /* and using 2^32 */ { "4294967296:4294967296", 0, 0, NULL, NULL, "invalid user"}, { "0:4294967296", 0, 0, NULL, NULL, "invalid group"}, { ":4294967296", 0, 0, NULL, NULL, "invalid group"}, { "4294967296:0", 0, 0, NULL, NULL, "invalid user"}, /* numeric user and no group is invalid */ { "4294967295:", 0, 0, NULL, NULL, "invalid spec"}, { "4294967296:", 0, 0, NULL, NULL, "invalid spec"}, { "1:", 0, 0, NULL, NULL, "invalid spec"}, { "+0:", 0, 0, NULL, NULL, "invalid spec"}, /* "username:" must expand to UID:GID where GID is username's login group */ /* Add an entry like the following to the table, if possible. { "U_NAME:", UID,GID, U_NAME, G_NAME, NULL}, */ { NULL, 0, 0, NULL, NULL, ""}, /* place-holder */ { NULL, 0, 0, NULL, NULL, ""} }; #define STREQ(a, b) (strcmp (a, b) == 0) static char const * maybe_null (char const *s) { return s ? s : "NULL"; } static bool same_diag (char const *s, char const *t) { if (s == NULL && t == NULL) return true; if (s == NULL || t == NULL) return false; return STREQ (s, t); } int main (void) { unsigned int i; int fail = 0; /* Find a UID that has both a user name and login group name, but skip UID 0. */ { uid_t uid; for (uid = 1200; 0 < uid; uid--) { struct group *gr; struct passwd *pw = getpwuid (uid); unsigned int j; size_t len; if (!pw || !pw->pw_name || !(gr = getgrgid (pw->pw_gid)) || !gr->gr_name) continue; j = ARRAY_CARDINALITY (T) - 2; assert (T[j].in == NULL); assert (T[j+1].in == NULL); len = strlen (pw->pw_name); /* Store "username:" in T[j].in. */ { char *t = xmalloc (len + 1 + 1); memcpy (t, pw->pw_name, len); t[len] = ':'; t[len+1] = '\0'; T[j].in = t; } T[j].uid = uid; T[j].gid = gr->gr_gid; T[j].user_name = xstrdup (pw->pw_name); T[j].group_name = xstrdup (gr->gr_name); T[j].result = NULL; break; } } for (i = 0; T[i].in; i++) { uid_t uid = (uid_t) -1; gid_t gid = (gid_t) -1; char *user_name; char *group_name; char const *diag = parse_user_spec (T[i].in, &uid, &gid, &user_name, &group_name); free (user_name); free (group_name); if (!same_diag (diag, T[i].result)) { printf ("%s return value mismatch: got %s, expected %s\n", T[i].in, maybe_null (diag), maybe_null (T[i].result)); fail = 1; continue; } if (diag) continue; if (uid != T[i].uid || gid != T[i].gid) { printf ("%s mismatch (-: expected uid,gid; +:actual)\n" "-%3lu,%3lu\n+%3lu,%3lu\n", T[i].in, (unsigned long int) T[i].uid, (unsigned long int) T[i].gid, (unsigned long int) uid, (unsigned long int) gid); fail = 1; } if (!diag && !T[i].result) continue; { printf ("%s diagnostic mismatch (-: expected uid,gid; +:actual)\n" "-%s\n+%s\n", T[i].in, T[i].result, diag); fail = 1; } } return fail; } /* Local Variables: indent-tabs-mode: nil End: */ coreutils-8.21/gnulib-tests/test-wcrtomb-w32-2.sh0000775000000000000000000000013211624730157016531 00000000000000#!/bin/sh # Test a CP1256 locale. ./test-wcrtomb-w32${EXEEXT} "Arabic_Saudi Arabia" 1256 coreutils-8.21/gnulib-tests/test-localeconv.c0000664000000000000000000000433712071024546016244 00000000000000/* Test of localeconv() function. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2012. */ #include #include #include "signature.h" SIGNATURE_CHECK (localeconv, struct lconv *, (void)); #include #include #include "macros.h" int main () { /* Test localeconv() result in the "C" locale. */ { struct lconv *l = localeconv (); ASSERT (STREQ (l->decimal_point, ".")); ASSERT (STREQ (l->thousands_sep, "")); #if !(defined __FreeBSD__ || defined __sun) ASSERT (STREQ (l->grouping, "")); #endif ASSERT (STREQ (l->mon_decimal_point, "")); ASSERT (STREQ (l->mon_thousands_sep, "")); #if !(defined __FreeBSD__ || defined __sun) ASSERT (STREQ (l->mon_grouping, "")); #endif ASSERT (STREQ (l->positive_sign, "")); ASSERT (STREQ (l->negative_sign, "")); ASSERT (STREQ (l->currency_symbol, "")); ASSERT (l->frac_digits == CHAR_MAX); ASSERT (l->p_cs_precedes == CHAR_MAX); ASSERT (l->p_sign_posn == CHAR_MAX); ASSERT (l->p_sep_by_space == CHAR_MAX); ASSERT (l->n_cs_precedes == CHAR_MAX); ASSERT (l->n_sign_posn == CHAR_MAX); ASSERT (l->n_sep_by_space == CHAR_MAX); ASSERT (STREQ (l->int_curr_symbol, "")); ASSERT (l->int_frac_digits == CHAR_MAX); ASSERT (l->int_p_cs_precedes == CHAR_MAX); ASSERT (l->int_p_sign_posn == CHAR_MAX); ASSERT (l->int_p_sep_by_space == CHAR_MAX); ASSERT (l->int_n_cs_precedes == CHAR_MAX); ASSERT (l->int_n_sign_posn == CHAR_MAX); ASSERT (l->int_n_sep_by_space == CHAR_MAX); } return 0; } coreutils-8.21/gnulib-tests/test-priv-set.c0000664000000000000000000000634212071024546015666 00000000000000/* Test the priv-set module. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David Bartley , 2007. */ #include #include "priv-set.h" #if HAVE_GETPPRIV && HAVE_PRIV_H # include #endif #include #include #include #include "macros.h" int main (void) { #if HAVE_GETPPRIV && HAVE_PRIV_H priv_set_t *set; ASSERT (set = priv_allocset ()); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 1); /* Do a series of removes and restores making sure that the results are consistent with our ismember function and solaris' priv_ismember. */ ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 1); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 1); ASSERT (priv_set_restore (PRIV_PROC_EXEC) == -1); ASSERT (errno == EINVAL); ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 1); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 1); ASSERT (priv_set_remove (PRIV_PROC_EXEC) == 0); ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 0); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 0); ASSERT (priv_set_remove (PRIV_PROC_EXEC) == -1); ASSERT (errno == EINVAL); ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 0); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 0); ASSERT (priv_set_restore (PRIV_PROC_EXEC) == 0); ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 1); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 1); ASSERT (priv_set_restore (PRIV_PROC_EXEC) == -1); ASSERT (errno == EINVAL); ASSERT (priv_set_ismember (PRIV_PROC_EXEC) == 1); ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); ASSERT (priv_ismember (set, PRIV_PROC_EXEC) == 1); /* Test the priv_set_linkdir wrappers. */ ASSERT (getppriv (PRIV_EFFECTIVE, set) == 0); if (priv_ismember (set, PRIV_SYS_LINKDIR)) { ASSERT (priv_set_restore_linkdir () == -1); ASSERT (errno == EINVAL); ASSERT (priv_set_remove_linkdir () == 0); ASSERT (priv_set_remove_linkdir () == -1); ASSERT (errno == EINVAL); ASSERT (priv_set_restore_linkdir () == 0); } #else ASSERT (priv_set_restore_linkdir () == -1); ASSERT (priv_set_remove_linkdir () == -1); #endif return 0; } coreutils-8.21/gnulib-tests/test-areadlink.c0000664000000000000000000000260312071024546016043 00000000000000/* Tests of areadlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "areadlink.h" #include #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-areadlink.t" #include "test-areadlink.h" /* Wrapper for testing areadlink. */ static char * do_areadlink (char const *name, size_t ignored _GL_UNUSED) { return areadlink (name); } int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_areadlink (do_areadlink, true); } coreutils-8.21/gnulib-tests/test-mbrtowc-w32-2.sh0000775000000000000000000000013211624730153016525 00000000000000#!/bin/sh # Test a CP1256 locale. ./test-mbrtowc-w32${EXEEXT} "Arabic_Saudi Arabia" 1256 coreutils-8.21/gnulib-tests/test-getcwd.sh0000775000000000000000000000011211667731200015554 00000000000000#!/bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . test-getcwd Exit $? coreutils-8.21/gnulib-tests/test-wcrtomb-w32-5.sh0000775000000000000000000000012011624730157016531 00000000000000#!/bin/sh # Test a CP936 locale. ./test-wcrtomb-w32${EXEEXT} Chinese_China 936 coreutils-8.21/gnulib-tests/connect.c0000664000000000000000000000301512071024546014563 00000000000000/* connect.c --- wrappers for Windows connect function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #undef connect int rpl_connect (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); if (sock == INVALID_SOCKET) { errno = EBADF; return -1; } else { int r = connect (sock, sockaddr, len); if (r < 0) { /* EINPROGRESS is not returned by WinSock 2.0; for backwards compatibility, connect(2) uses EWOULDBLOCK. */ if (WSAGetLastError () == WSAEWOULDBLOCK) WSASetLastError (WSAEINPROGRESS); set_winsock_errno (); } return r; } } coreutils-8.21/gnulib-tests/test-mbsstr2.c0000664000000000000000000001024412071024546015505 00000000000000/* Test of searching in a string. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include #include "macros.h" int main () { /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; { const char input[] = "f\303\266\303\266"; const char *result = mbsstr (input, ""); ASSERT (result == input); } { const char input[] = "f\303\266\303\266"; const char *result = mbsstr (input, "\303\266"); ASSERT (result == input + 1); } { const char input[] = "f\303\266\303\266"; const char *result = mbsstr (input, "\266\303"); ASSERT (result == NULL); } { const char input[] = "\303\204BC \303\204BCD\303\204B \303\204BCD\303\204BCD\303\204BDE"; /* "ÄBC ÄBCDÄB ÄBCDÄBCDÄBDE" */ const char *result = mbsstr (input, "\303\204BCD\303\204BD"); /* "ÄBCDÄBD" */ ASSERT (result == input + 19); } { const char input[] = "\303\204BC \303\204BCD\303\204B \303\204BCD\303\204BCD\303\204BDE"; /* "ÄBC ÄBCDÄB ÄBCDÄBCDÄBDE" */ const char *result = mbsstr (input, "\303\204BCD\303\204BE"); /* "ÄBCDÄBE" */ ASSERT (result == NULL); } /* Check that a very long haystack is handled quickly if the needle is short and occurs near the beginning. */ { size_t repeat = 10000; size_t m = 1000000; const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; char *haystack = (char *) malloc (m + 1); if (haystack != NULL) { memset (haystack, 'A', m); haystack[0] = '\303'; haystack[1] = '\204'; haystack[m] = '\0'; for (; repeat > 0; repeat--) { ASSERT (mbsstr (haystack, needle) == haystack + 2); } free (haystack); } } /* Check that a very long needle is discarded quickly if the haystack is short. */ { size_t repeat = 10000; size_t m = 1000000; const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207"; char *needle = (char *) malloc (m + 1); if (needle != NULL) { memset (needle, 'A', m); needle[m] = '\0'; for (; repeat > 0; repeat--) { ASSERT (mbsstr (haystack, needle) == NULL); } free (needle); } } /* Check that the asymptotic worst-case complexity is not quadratic. */ { size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 3); char *needle = (char *) malloc (m + 3); if (haystack != NULL && needle != NULL) { const char *result; memset (haystack, 'A', 2 * m); haystack[2 * m] = '\303'; haystack[2 * m + 1] = '\207'; haystack[2 * m + 2] = '\0'; memset (needle, 'A', m); needle[m] = '\303'; needle[m + 1] = '\207'; needle[m + 2] = '\0'; result = mbsstr (haystack, needle); ASSERT (result == haystack + m); } free (needle); free (haystack); } return 0; } coreutils-8.21/gnulib-tests/test-setlocale2.c0000664000000000000000000000334712071024546016154 00000000000000/* Test of setting the current locale. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include int main () { /* Try to set the locale by implicitly looking at the LC_ALL environment variable. */ if (setlocale (LC_ALL, "") != NULL) /* It was successful. Check whether LC_CTYPE is non-trivial. */ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) { fprintf (stderr, "setlocale did not fail for implicit %s\n", getenv ("LC_ALL")); return 1; } /* Reset the locale. */ if (setlocale (LC_ALL, "C") == NULL) return 1; /* Try to set the locale by explicitly looking at the LC_ALL environment variable. */ if (setlocale (LC_ALL, getenv ("LC_ALL")) != NULL) /* It was successful. Check whether LC_CTYPE is non-trivial. */ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) { fprintf (stderr, "setlocale did not fail for explicit %s\n", getenv ("LC_ALL")); return 1; } return 0; } coreutils-8.21/gnulib-tests/accept.c0000664000000000000000000000254012071024545014372 00000000000000/* accept.c --- wrappers for Windows accept function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #undef accept int rpl_accept (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET sock = FD_TO_SOCKET (fd); if (sock == INVALID_SOCKET) { errno = EBADF; return -1; } else { SOCKET fh = accept (sock, addr, addrlen); if (fh == INVALID_SOCKET) { set_winsock_errno (); return -1; } else return SOCKET_TO_FD (fh); } } coreutils-8.21/gnulib-tests/test-memrchr.c0000664000000000000000000000462512071024546015554 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (memrchr, void *, (void const *, int, size_t)); #include #include "zerosize-ptr.h" #include "macros.h" /* Calculating void * + int is not portable, so this wrapper converts to char * to make the tests easier to write. */ #define MEMRCHR (char *) memrchr int main (void) { size_t n = 0x100000; char *input = malloc (n); ASSERT (input); input[n - 1] = 'a'; input[n - 2] = 'b'; memset (input + n - 1026, 'c', 1024); memset (input + 2, 'd', n - 1028); input[1] = 'e'; input[0] = 'a'; /* Basic behavior tests. */ ASSERT (MEMRCHR (input, 'a', n) == input + n - 1); ASSERT (MEMRCHR (input, 'a', 0) == NULL); ASSERT (MEMRCHR (zerosize_ptr (), 'a', 0) == NULL); ASSERT (MEMRCHR (input, 'b', n) == input + n - 2); ASSERT (MEMRCHR (input, 'c', n) == input + n - 3); ASSERT (MEMRCHR (input, 'd', n) == input + n - 1027); ASSERT (MEMRCHR (input, 'a', n - 1) == input); ASSERT (MEMRCHR (input, 'e', n - 1) == input + 1); ASSERT (MEMRCHR (input, 'f', n) == NULL); ASSERT (MEMRCHR (input, '\0', n) == NULL); /* Check that a very long haystack is handled quickly if the byte is found near the end. */ { size_t repeat = 10000; for (; repeat > 0; repeat--) { ASSERT (MEMRCHR (input, 'c', n) == input + n - 3); } } /* Alignment tests. */ { int i, j; for (i = 0; i < 32; i++) { for (j = 0; j < 256; j++) input[i + j] = j; for (j = 0; j < 256; j++) { ASSERT (MEMRCHR (input + i, j, 256) == input + i + j); } } } free (input); return 0; } coreutils-8.21/gnulib-tests/test-thread_self.c0000664000000000000000000000215012071024546016366 00000000000000/* Test of gl_thread_self () macro. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include "glthread/thread.h" gl_thread_t main_thread; int main () { /* Check that gl_thread_self () can be used with just $(LIBTHREAD), not $(LIBMULTITHREAD), i.e. in libraries that are multithread-safe but don't create threads themselves. */ main_thread = gl_thread_self (); return 0; } coreutils-8.21/gnulib-tests/test-openat-safer.c0000664000000000000000000000744512071024546016506 00000000000000/* Test that openat_safer leave standard fds alone. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "fcntl--.h" #include #include #include #include /* This test intentionally closes stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; #define witness "test-openat-safer.txt" int main (void) { int i; int j; int dfd; int fd; char buf[2]; /* We close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; /* Create handle for future use. */ dfd = openat (AT_FDCWD, ".", O_RDONLY); ASSERT (STDERR_FILENO < dfd); /* Create file for later checks. */ remove (witness); fd = openat (dfd, witness, O_WRONLY | O_CREAT | O_EXCL, 0600); ASSERT (STDERR_FILENO < fd); ASSERT (write (fd, "hi", 2) == 2); ASSERT (close (fd) == 0); /* Four iterations, with progressively more standard descriptors closed. */ for (i = -1; i <= STDERR_FILENO; i++) { ASSERT (fchdir (dfd) == 0); if (0 <= i) ASSERT (close (i) == 0); /* Execute once in ".", once in "..". */ for (j = 0; j <= 1; j++) { if (j) ASSERT (chdir ("..") == 0); /* Check for error detection. */ errno = 0; ASSERT (openat (AT_FDCWD, "", O_RDONLY) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (openat (dfd, "", O_RDONLY) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (openat (-1, ".", O_RDONLY) == -1); ASSERT (errno == EBADF); /* Check for trailing slash and /dev/null handling. */ errno = 0; ASSERT (openat (dfd, "nonexist.ent/", O_CREAT | O_RDONLY, S_IRUSR | S_IWUSR) == -1); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT || errno == EINVAL); errno = 0; ASSERT (openat (dfd, witness "/", O_RDONLY) == -1); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL); /* Using a bad directory is okay for absolute paths. */ fd = openat (-1, "/dev/null", O_WRONLY); ASSERT (STDERR_FILENO < fd); /* Using a non-directory is wrong for relative paths. */ errno = 0; ASSERT (openat (fd, ".", O_RDONLY) == -1); ASSERT (errno == EBADF || errno == ENOTDIR); ASSERT (close (fd) == 0); /* Check for our witness file. */ fd = openat (dfd, witness, O_RDONLY | O_NOFOLLOW); ASSERT (STDERR_FILENO < fd); ASSERT (read (fd, buf, 2) == 2); ASSERT (buf[0] == 'h' && buf[1] == 'i'); ASSERT (close (fd) == 0); } } ASSERT (fchdir (dfd) == 0); ASSERT (unlink (witness) == 0); ASSERT (close (dfd) == 0); return 0; } coreutils-8.21/gnulib-tests/test-mbrtowc4.sh0000775000000000000000000000060211624730153016043 00000000000000#!/bin/sh # Test whether a specific GB18030 locale is installed. : ${LOCALE_ZH_CN=zh_CN.GB18030} if test $LOCALE_ZH_CN = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no transitional chinese locale is installed" else echo "Skipping test: no transitional chinese locale is supported" fi exit 77 fi LC_ALL=$LOCALE_ZH_CN \ ./test-mbrtowc${EXEEXT} 4 coreutils-8.21/gnulib-tests/test-exclude7.sh0000775000000000000000000000244412071024546016027 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test exclude precedence cat > in < expected < out || exit $? test-exclude -include in -no-include in -- bar >> out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/perror.c0000664000000000000000000000276312071024546014454 00000000000000/* Print a message describing error code. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #include #include "strerror-override.h" /* Use the system functions, not the gnulib overrides in this file. */ #undef fprintf void perror (const char *string) { char stackbuf[STACKBUF_LEN]; int ret; /* Our implementation guarantees that this will be a non-empty string, even if it returns EINVAL; and stackbuf should be sized large enough to avoid ERANGE. */ ret = strerror_r (errno, stackbuf, sizeof stackbuf); if (ret == ERANGE) abort (); if (string != NULL && *string != '\0') fprintf (stderr, "%s: %s\n", string, stackbuf); else fprintf (stderr, "%s\n", stackbuf); } coreutils-8.21/gnulib-tests/test-perror2.c0000664000000000000000000000675312071024546015516 00000000000000/* Test of perror() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include #include #include /* This test intentionally parses stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; #define BASE "test-perror2" int main (void) { /* We change fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; ASSERT (freopen (BASE ".tmp", "w+", stderr) == stderr); /* Test that perror does not clobber strerror buffer. */ { const char *msg1; const char *msg2; const char *msg3; const char *msg4; char *str1; char *str2; char *str3; char *str4; msg1 = strerror (ENOENT); ASSERT (msg1); str1 = strdup (msg1); ASSERT (str1); msg2 = strerror (ERANGE); ASSERT (msg2); str2 = strdup (msg2); ASSERT (str2); msg3 = strerror (-4); ASSERT (msg3); str3 = strdup (msg3); ASSERT (str3); msg4 = strerror (1729576); ASSERT (msg4); str4 = strdup (msg4); ASSERT (str4); errno = EACCES; perror (""); errno = -5; perror (""); ASSERT (!ferror (stderr)); ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); ASSERT (msg2 == msg4 || STREQ (msg2, str2)); ASSERT (msg3 == msg4 || STREQ (msg3, str3)); ASSERT (STREQ (msg4, str4)); free (str1); free (str2); free (str3); free (str4); } /* Test that perror uses the same message as strerror. */ { int errs[] = { EACCES, 0, -3, }; int i; for (i = 0; i < SIZEOF (errs); i++) { char buf[256]; char *err = strerror (errs[i]); ASSERT (err); ASSERT (strlen (err) < sizeof buf); rewind (stderr); ASSERT (ftruncate (fileno (stderr), 0) == 0); errno = errs[i]; perror (NULL); ASSERT (!ferror (stderr)); rewind (stderr); ASSERT (fgets (buf, sizeof buf, stderr) == buf); ASSERT (strstr (buf, err)); } } /* Test that perror reports write failure. */ { ASSERT (freopen (BASE ".tmp", "r", stderr) == stderr); ASSERT (setvbuf (stderr, NULL, _IONBF, BUFSIZ) == 0); errno = -1; ASSERT (!ferror (stderr)); perror (NULL); #if 0 /* Commented out until cygwin behaves: http://sourceware.org/ml/newlib/2011/msg00228.html */ ASSERT (errno > 0); /* Commented out until glibc behaves: http://sourceware.org/bugzilla/show_bug.cgi?id=12792 */ ASSERT (ferror (stderr)); #endif } ASSERT (fclose (stderr) == 0); ASSERT (remove (BASE ".tmp") == 0); return 0; } coreutils-8.21/gnulib-tests/test-mbrtowc3.sh0000775000000000000000000000056011624730153016045 00000000000000#!/bin/sh # Test whether a specific EUC-JP locale is installed. : ${LOCALE_JA=ja_JP} if test $LOCALE_JA = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional japanese locale is installed" else echo "Skipping test: no traditional japanese locale is supported" fi exit 77 fi LC_ALL=$LOCALE_JA \ ./test-mbrtowc${EXEEXT} 3 coreutils-8.21/gnulib-tests/test-pathmax.c0000664000000000000000000000170312071024546015553 00000000000000/* Test of "pathmax.h". Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include "pathmax.h" /* Check that PATH_MAX is a constant if it is defined. */ #ifdef PATH_MAX int a = PATH_MAX; #endif int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-select.c0000664000000000000000000000202512071024546015366 00000000000000/* Test of select() substitute. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini, 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (select, int, (int, fd_set *, fd_set *, fd_set *, struct timeval *)); #include "test-select.h" int main (void) { return test_function (select); } coreutils-8.21/gnulib-tests/test-frexpl.c0000664000000000000000000000430612071024546015413 00000000000000/* Test of splitting a 'long double' into fraction and mantissa. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (frexpl, long double, (long double, int *)); #include #include "fpucw.h" #include "isnanl-nolibm.h" #include "minus-zero.h" #include "infinity.h" #include "nan.h" #include "macros.h" /* Avoid some warnings from "gcc -Wshadow". This file doesn't use the exp() function. */ #undef exp #define exp exponent #undef INFINITY #undef NAN #define DOUBLE long double #define VOLATILE #define ISNAN isnanl #define INFINITY Infinityl () #define NAN NaNl () #define L_(literal) literal##L #define MINUS_ZERO minus_zerol #define MAX_EXP LDBL_MAX_EXP #define MIN_EXP LDBL_MIN_EXP /* On MIPS IRIX machines, LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' is -964. Similarly, on PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' is -968. For exponents below that, the precision may be truncated to the precision used for 'double'. */ #ifdef __sgi # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57) #elif defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__ # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53) #else # define MIN_NORMAL_EXP LDBL_MIN_EXP #endif #define FREXP frexpl #define RANDOM randoml #include "test-frexp.h" int main () { DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); test_function (); return 0; } coreutils-8.21/gnulib-tests/test-environ.c0000664000000000000000000000272712071024546015600 00000000000000/* Test of environ variable. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include int main () { /* The environment variables that are set even in the weirdest situations are HOME and PATH. POSIX says that HOME is initialized by the system, and that PATH may be unset. But in practice it's more frequent to see HOME unset and PATH set. So we test the presence of PATH. */ char **remaining_variables = environ; char *string; for (; (string = *remaining_variables) != NULL; remaining_variables++) { if (strncmp (string, "PATH=", 5) == 0) /* Found the PATH environment variable. */ return 0; } /* Failed to find the PATH environment variable. */ return 1; } coreutils-8.21/gnulib-tests/test-vc-list-files-git.sh0000775000000000000000000000263612071024546017554 00000000000000#!/bin/sh # Unit tests for vc-list-files # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" . tmpdir=vc-git-$$ GIT_DIR= GIT_WORK_TREE=; unset GIT_DIR GIT_WORK_TREE fail=1 mkdir $tmpdir && cd $tmpdir && # without git, skip the test # The double use of 'exit' is needed for the reference to $? inside the trap. { ( git init -q ) > /dev/null 2>&1 \ || skip_ "git not found in PATH"; } && mkdir d && touch d/a b c && git config user.email "you@example.com" && git config user.name "Your Name" && git add . > /dev/null && git commit -q -a -m log && printf '%s\n' b c d/a > expected && vc-list-files > actual && compare expected actual && fail=0 Exit $fail coreutils-8.21/gnulib-tests/test-binary-io.c0000664000000000000000000000324612071024546016006 00000000000000/* Test of binary mode I/O. Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ #include #include "binary-io.h" #include #include #include #include #include #include #include "macros.h" int main (int argc, char *argv[]) { /* Test the O_BINARY macro. */ { int fd = open ("t-bin-out0.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600); if (write (fd, "Hello\n", 6) < 0) exit (1); close (fd); } { struct stat statbuf; if (stat ("t-bin-out0.tmp", &statbuf) < 0) exit (1); ASSERT (statbuf.st_size == 6); } switch (argv[1][0]) { case '1': /* Test the set_binary_mode() function. */ set_binary_mode (1, O_BINARY); fputs ("Hello\n", stdout); break; case '2': /* Test the SET_BINARY macro. */ SET_BINARY (1); fputs ("Hello\n", stdout); break; default: break; } return 0; } coreutils-8.21/gnulib-tests/test-getndelim2.c0000664000000000000000000001035412071024546016145 00000000000000/* Test of getndelim2() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2008. */ #include #include "getndelim2.h" #include #include #include #include "macros.h" int main (void) { FILE *f; char *line = NULL; size_t len = 0; ssize_t result; /* Create test file. */ f = fopen ("test-getndelim2.txt", "wb+"); if (!f || fwrite ("a\nbc\nd\0f", 1, 8, f) != 8) { fputs ("Failed to create sample file.\n", stderr); remove ("test-getndelim2.txt"); return 1; } rewind (f); /* Unlimited lines. */ /* Test initial allocation, which must include trailing NUL. */ result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', '\n', f); ASSERT (result == 2); ASSERT (strcmp (line, "a\n") == 0); ASSERT (2 < len); /* Test growth of buffer, must not leak. */ free (line); line = malloc (1); len = 0; result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, EOF, '\n', f); ASSERT (result == 3); ASSERT (strcmp (line, "bc\n") == 0); ASSERT (3 < len); /* Test embedded NULs and EOF behavior. */ result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', EOF, f); ASSERT (result == 3); ASSERT (memcmp (line, "d\0f", 4) == 0); ASSERT (3 < len); result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', EOF, f); ASSERT (result == -1); /* Using offset and nmax. */ /* Limit growth to four bytes, including NUL, but parse to next 'd'. */ free (line); rewind (f); line = malloc (8); memset (line, 'e', 8); len = 8; result = getndelim2 (&line, &len, 6, 10, 'd', 'd', f); ASSERT (result == 3); ASSERT (10 == len); ASSERT (strcmp (line, "eeeeeea\nb") == 0); /* No change if offset larger than limit. */ result = getndelim2 (&line, &len, len, 1, EOF, EOF, f); ASSERT (result == -1); ASSERT (10 == len); ASSERT (strcmp (line, "eeeeeea\nb") == 0); /* Consume to end of file, including embedded NUL. */ result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, EOF, EOF, f); ASSERT (result == 2); ASSERT (10 == len); ASSERT (memcmp (line, "\0f\0eeea\nb", 10) == 0); result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', '\r', f); ASSERT (result == -1); /* Larger file size. */ rewind (f); { int i; for (i = 0; i < 16; i++) fprintf (f, "%500x%c", i, i % 2 ? '\n' : '\r'); } rewind (f); { char buffer[502]; result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', '\r', f); ASSERT (result == 501); ASSERT (501 < len); memset (buffer, ' ', 499); buffer[499] = '0'; buffer[500] = '\r'; buffer[501] = '\0'; ASSERT (strcmp (buffer, line) == 0); result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, '\n', '\r', f); ASSERT (result == 501); ASSERT (501 < len); buffer[499] = '1'; buffer[500] = '\n'; ASSERT (strcmp (buffer, line) == 0); result = getndelim2 (&line, &len, 0, GETNLINE_NO_LIMIT, 'g', 'f', f); ASSERT (result == 501 * 14 - 1); ASSERT (501 * 14 <= len); buffer[499] = 'f'; buffer[500] = '\0'; ASSERT (strcmp (buffer, line + 501 * 13) == 0); result = getndelim2 (&line, &len, 501 * 14 - 1, GETNLINE_NO_LIMIT, EOF, EOF, f); ASSERT (result == 1); buffer[500] = '\n'; ASSERT (strcmp (buffer, line + 501 * 13) == 0); result = getndelim2 (&line, &len, 501 * 14 - 1, GETNLINE_NO_LIMIT, EOF, EOF, f); buffer[500] = '\0'; ASSERT (strcmp (buffer, line + 501 * 13) == 0); ASSERT (result == -1); } fclose (f); remove ("test-getndelim2.txt"); return 0; } coreutils-8.21/gnulib-tests/zerosize-ptr.h0000664000000000000000000000471612071024546015625 00000000000000/* Return a pointer to a zero-size object in memory. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* ISO C 99 does not allow memcmp(), memchr() etc. to be invoked with a NULL argument. Therefore this file produces a non-NULL pointer which cannot be dereferenced, if possible. */ #include /* Test whether mmap() and mprotect() are available. We don't use HAVE_MMAP, because AC_FUNC_MMAP would not define it on HP-UX. HAVE_MPROTECT is not enough, because mingw does not have mmap() but has an mprotect() function in libgcc.a. */ #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # include # include # include # include /* Define MAP_FILE when it isn't otherwise. */ # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif /* Return a pointer to a zero-size object in memory (that is, actually, a pointer to a page boundary where the previous page is readable and writable and the next page is neither readable not writable), if possible. Return NULL otherwise. */ static void * zerosize_ptr (void) { /* Use mmap and mprotect when they exist. Don't test HAVE_MMAP, because it is not defined on HP-UX 11 (since it does not support MAP_FIXED). */ #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) return two_pages + pagesize; } #endif return NULL; } coreutils-8.21/gnulib-tests/test-alloca-opt.c0000664000000000000000000000276212071024546016152 00000000000000/* Test of optional automatic memory allocation. Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #if HAVE_ALLOCA static void do_allocation (int n) { void *ptr = alloca (n); (void) ptr; } void (*func) (int) = do_allocation; #endif int main () { #if HAVE_ALLOCA int i; /* Repeat a lot of times, to make sure there's no memory leak. */ for (i = 0; i < 100000; i++) { /* Try various values. n = 0 gave a crash on Alpha with gcc-2.5.8. Some versions of Mac OS X have a stack size limit of 512 KB. */ func (34); func (134); func (399); func (510823); func (129321); func (0); func (4070); func (4095); func (1); func (16582); } #endif return 0; } coreutils-8.21/gnulib-tests/test-md5.c0000664000000000000000000000366512071024546014607 00000000000000/* * Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. * Written by Simon Josefsson * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* Written by Simon Josefsson. */ #include #include #include #include "md5.h" int main (void) { /* Test vectors from RFC 1321. */ const char *in1 = "abc"; const char *out1 = "\x90\x01\x50\x98\x3C\xD2\x4F\xB0\xD6\x96\x3F\x7D\x28\xE1\x7F\x72"; const char *in2 = "message digest"; const char *out2 = "\xF9\x6B\x69\x7D\x7C\xB7\x93\x8D\x52\x5A\x2F\x31\xAA\xF1\x61\xD0"; char buf[MD5_DIGEST_SIZE]; if (memcmp (md5_buffer (in1, strlen (in1), buf), out1, MD5_DIGEST_SIZE) != 0) { size_t i; printf ("expected:\n"); for (i = 0; i < MD5_DIGEST_SIZE; i++) printf ("%02x ", out1[i] & 0xFF); printf ("\ncomputed:\n"); for (i = 0; i < MD5_DIGEST_SIZE; i++) printf ("%02x ", buf[i] & 0xFF); printf ("\n"); return 1; } if (memcmp (md5_buffer (in2, strlen (in2), buf), out2, MD5_DIGEST_SIZE) != 0) { size_t i; printf ("expected:\n"); for (i = 0; i < MD5_DIGEST_SIZE; i++) printf ("%02x ", out2[i] & 0xFF); printf ("\ncomputed:\n"); for (i = 0; i < MD5_DIGEST_SIZE; i++) printf ("%02x ", buf[i] & 0xFF); printf ("\n"); return 1; } return 0; } coreutils-8.21/gnulib-tests/test-freadptr.c0000664000000000000000000000535212071024546015724 00000000000000/* Test of freadptr() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "freadptr.h" #include #include #include #include "macros.h" int main (int argc, char **argv) { int nbytes = atoi (argv[1]); void *buf = malloc (nbytes); ASSERT (fread (buf, 1, nbytes, stdin) == nbytes); if (lseek (0, 0, SEEK_CUR) == nbytes) { /* An unbuffered stdio, such as BeOS or on uClibc compiled without __STDIO_BUFFERS. Or stdin is a pipe. */ size_t size; ASSERT (freadptr (stdin, &size) == NULL); } else { /* Normal buffered stdio. */ const char stdin_contents[] = "#!/bin/sh\n\n./test-freadptr${EXEEXT} 5 < \"$srcdir/test-freadptr.sh\" || exit 1\ncat \"$srcdir/test-freadptr.sh\" | ./test-freadptr${EXEEXT} 5 || exit 1\nexit 0\n"; const char *expected = stdin_contents + nbytes; size_t available1; size_t available2; size_t available3; /* Test normal behaviour. */ { const char *ptr = freadptr (stdin, &available1); ASSERT (ptr != NULL); ASSERT (available1 != 0); ASSERT (available1 <= strlen (expected)); ASSERT (memcmp (ptr, expected, available1) == 0); } /* Test behaviour after normal ungetc. */ ungetc (fgetc (stdin), stdin); { const char *ptr = freadptr (stdin, &available2); if (ptr != NULL) { ASSERT (available2 == available1); ASSERT (memcmp (ptr, expected, available2) == 0); } } /* Test behaviour after arbitrary ungetc. */ fgetc (stdin); ungetc ('@', stdin); { const char *ptr = freadptr (stdin, &available3); if (ptr != NULL) { ASSERT (available3 == 1 || available3 == available1); ASSERT (ptr[0] == '@'); if (available3 > 1) { ASSERT (memcmp (ptr + 1, expected + 1, available3 - 1) == 0); } } } } return 0; } coreutils-8.21/gnulib-tests/test-exclude1.sh0000775000000000000000000000242612071024546016021 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test literal matches cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-fdatasync.c0000664000000000000000000000422212100637437016066 00000000000000/* Test of fdatasync() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fdatasync, int, (int)); #include #include #include "macros.h" int main (void) { int fd; const char *file = "test-fdatasync.txt"; /* Assuming stdin and stdout are ttys, fdatasync is allowed to fail, but may succeed as an extension. */ for (fd = 0; fd < 2; fd++) if (fdatasync (fd) != 0) { ASSERT (errno == EINVAL /* POSIX */ || errno == ENOTSUP /* seen on Mac OS X 10.5 */ || errno == EBADF /* seen on AIX 7.1 */ || errno == EIO /* seen on mingw */ ); } /* fdatasync must fail on invalid fd. */ { errno = 0; ASSERT (fdatasync (-1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fdatasync (99) == -1); ASSERT (errno == EBADF); } fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); ASSERT (write (fd, "hello", 5) == 5); ASSERT (fdatasync (fd) == 0); ASSERT (close (fd) == 0); #if 0 /* POSIX is self-contradictory on whether fdatasync must fail on read-only file descriptors. Glibc allows it, as does our implementation if fsync allows it. */ fd = open (file, O_RDONLY); ASSERT (0 <= fd); errno = 0; ASSERT (fdatasync (fd) == -1); ASSERT (errno == EBADF); ASSERT (close (fd) == 0); #endif ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/test-fseek.c0000664000000000000000000000435412071024546015213 00000000000000/* Test of fseek() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if the user requested GNULIB_POSIXCHECK. */ #define _GL_NO_LARGE_FILES #include #include "signature.h" SIGNATURE_CHECK (fseek, int, (FILE *, long, int)); #include "macros.h" #ifndef FUNC_UNGETC_BROKEN # define FUNC_UNGETC_BROKEN 0 #endif int main (int argc, char **argv) { /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh' iff argc > 1. */ int expected = argc > 1 ? 0 : -1; ASSERT (fseek (stdin, 0, SEEK_CUR) == expected); if (argc > 1) { /* Test that fseek discards previously read ungetc data. */ int ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ungetc (ch, stdin) == ch); ASSERT (fseek (stdin, 2, SEEK_SET) == 0); ch = fgetc (stdin); ASSERT (ch == '/'); if (2 < argc) { if (FUNC_UNGETC_BROKEN) { fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", stderr); return 77; } /* Test that fseek discards random ungetc data. */ ASSERT (ungetc (ch ^ 0xff, stdin) == (ch ^ 0xff)); } ASSERT (fseek (stdin, 0, SEEK_END) == 0); ASSERT (fgetc (stdin) == EOF); /* Test that fseek resets end-of-file marker. */ ASSERT (feof (stdin)); ASSERT (fseek (stdin, 0, SEEK_END) == 0); ASSERT (!feof (stdin)); } return 0; } coreutils-8.21/gnulib-tests/test-nl_langinfo.c0000664000000000000000000001110012071024546016367 00000000000000/* Test of nl_langinfo replacement. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (nl_langinfo, char *, (nl_item)); #include #include #include #include "c-strcase.h" #include "macros.h" /* For GCC >= 4.3, silence the warnings "comparison of unsigned expression >= 0 is always true" in this file. */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) # pragma GCC diagnostic ignored "-Wtype-limits" #endif int main (int argc, char *argv[]) { int pass = atoi (argv[1]); /* pass locale 0 C 1 traditional French locale 2 French UTF-8 locale */ setlocale (LC_ALL, ""); /* nl_langinfo items of the LC_CTYPE category */ ASSERT (strlen (nl_langinfo (CODESET)) > 0); if (pass == 2) { const char *codeset = nl_langinfo (CODESET); ASSERT (c_strcasecmp (codeset, "UTF-8") == 0 || c_strcasecmp (codeset, "UTF8") == 0); } /* nl_langinfo items of the LC_NUMERIC category */ ASSERT (strlen (nl_langinfo (RADIXCHAR)) > 0); ASSERT (strlen (nl_langinfo (THOUSEP)) >= 0); /* nl_langinfo items of the LC_TIME category */ ASSERT (strlen (nl_langinfo (D_T_FMT)) > 0); ASSERT (strlen (nl_langinfo (D_FMT)) > 0); ASSERT (strlen (nl_langinfo (T_FMT)) > 0); ASSERT (strlen (nl_langinfo (T_FMT_AMPM)) >= (pass == 0 ? 1 : 0)); ASSERT (strlen (nl_langinfo (AM_STR)) >= (pass == 0 ? 1 : 0)); ASSERT (strlen (nl_langinfo (PM_STR)) >= (pass == 0 ? 1 : 0)); ASSERT (strlen (nl_langinfo (DAY_1)) > 0); ASSERT (strlen (nl_langinfo (DAY_2)) > 0); ASSERT (strlen (nl_langinfo (DAY_3)) > 0); ASSERT (strlen (nl_langinfo (DAY_4)) > 0); ASSERT (strlen (nl_langinfo (DAY_5)) > 0); ASSERT (strlen (nl_langinfo (DAY_6)) > 0); ASSERT (strlen (nl_langinfo (DAY_7)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_1)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_2)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_3)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_4)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_5)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_6)) > 0); ASSERT (strlen (nl_langinfo (ABDAY_7)) > 0); ASSERT (strlen (nl_langinfo (MON_1)) > 0); ASSERT (strlen (nl_langinfo (MON_2)) > 0); ASSERT (strlen (nl_langinfo (MON_3)) > 0); ASSERT (strlen (nl_langinfo (MON_4)) > 0); ASSERT (strlen (nl_langinfo (MON_5)) > 0); ASSERT (strlen (nl_langinfo (MON_6)) > 0); ASSERT (strlen (nl_langinfo (MON_7)) > 0); ASSERT (strlen (nl_langinfo (MON_8)) > 0); ASSERT (strlen (nl_langinfo (MON_9)) > 0); ASSERT (strlen (nl_langinfo (MON_10)) > 0); ASSERT (strlen (nl_langinfo (MON_11)) > 0); ASSERT (strlen (nl_langinfo (MON_12)) > 0); ASSERT (strlen (nl_langinfo (ABMON_1)) > 0); ASSERT (strlen (nl_langinfo (ABMON_2)) > 0); ASSERT (strlen (nl_langinfo (ABMON_3)) > 0); ASSERT (strlen (nl_langinfo (ABMON_4)) > 0); ASSERT (strlen (nl_langinfo (ABMON_5)) > 0); ASSERT (strlen (nl_langinfo (ABMON_6)) > 0); ASSERT (strlen (nl_langinfo (ABMON_7)) > 0); ASSERT (strlen (nl_langinfo (ABMON_8)) > 0); ASSERT (strlen (nl_langinfo (ABMON_9)) > 0); ASSERT (strlen (nl_langinfo (ABMON_10)) > 0); ASSERT (strlen (nl_langinfo (ABMON_11)) > 0); ASSERT (strlen (nl_langinfo (ABMON_12)) > 0); ASSERT (strlen (nl_langinfo (ERA)) >= 0); ASSERT (strlen (nl_langinfo (ERA_D_FMT)) >= 0); ASSERT (strlen (nl_langinfo (ERA_D_T_FMT)) >= 0); ASSERT (strlen (nl_langinfo (ERA_T_FMT)) >= 0); ASSERT (nl_langinfo (ALT_DIGITS) != NULL); /* nl_langinfo items of the LC_MONETARY category */ { const char *currency = nl_langinfo (CRNCYSTR); ASSERT (strlen (currency) >= 0); #if !defined __NetBSD__ if (pass > 0) ASSERT (strlen (currency) >= 1); #endif } /* nl_langinfo items of the LC_MESSAGES category */ ASSERT (strlen (nl_langinfo (YESEXPR)) > 0); ASSERT (strlen (nl_langinfo (NOEXPR)) > 0); return 0; } coreutils-8.21/gnulib-tests/test-striconv.c0000664000000000000000000001421412071024546015761 00000000000000/* Test of character set conversion. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "striconv.h" #if HAVE_ICONV # include #endif #include #include #include #include "macros.h" int main () { #if HAVE_ICONV /* Assume that iconv() supports at least the encodings ASCII, ISO-8859-1, and UTF-8. */ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); iconv_t cd_utf8_to_88591 = iconv_open ("ISO-8859-1", "UTF-8"); ASSERT (cd_88591_to_utf8 != (iconv_t)(-1)); ASSERT (cd_utf8_to_88591 != (iconv_t)(-1)); /* ------------------------- Test mem_cd_iconv() ------------------------- */ /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (input, strlen (input), cd_88591_to_utf8, &result, &length); ASSERT (retval == 0); ASSERT (length == strlen (expected)); ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ { static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591, &result, &length); ASSERT (retval == 0); ASSERT (length == strlen (expected)); ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ { static const char input[] = "\342\202\254"; /* EURO SIGN */ char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591, &result, &length); ASSERT (retval == -1 && errno == EILSEQ); ASSERT (result == NULL); } /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ { static const char input[] = "\342"; char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591, &result, &length); ASSERT (retval == 0); ASSERT (length == 0); free (result); } /* ------------------------- Test str_cd_iconv() ------------------------- */ /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; char *result = str_cd_iconv (input, cd_88591_to_utf8); ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ { static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char *result = str_cd_iconv (input, cd_utf8_to_88591); ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ { static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ char *result = str_cd_iconv (input, cd_utf8_to_88591); ASSERT (result == NULL && errno == EILSEQ); } /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ { static const char input[] = "\342"; char *result = str_cd_iconv (input, cd_utf8_to_88591); ASSERT (result != NULL); ASSERT (strcmp (result, "") == 0); free (result); } iconv_close (cd_88591_to_utf8); iconv_close (cd_utf8_to_88591); /* -------------------------- Test str_iconv() -------------------------- */ /* Test conversion from ISO-8859-1 to UTF-8 with no errors. */ { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; static const char expected[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; char *result = str_iconv (input, "ISO-8859-1", "UTF-8"); ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with no errors. */ { static const char input[] = "\303\204rger mit b\303\266sen B\303\274bchen ohne Augenma\303\237"; static const char expected[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char *result = str_iconv (input, "UTF-8", "ISO-8859-1"); ASSERT (result != NULL); ASSERT (strcmp (result, expected) == 0); free (result); } /* Test conversion from UTF-8 to ISO-8859-1 with EILSEQ. */ { static const char input[] = "Costs: 27 \342\202\254"; /* EURO SIGN */ char *result = str_iconv (input, "UTF-8", "ISO-8859-1"); ASSERT (result == NULL && errno == EILSEQ); } /* Test conversion from UTF-8 to ISO-8859-1 with EINVAL. */ { static const char input[] = "\342"; char *result = str_iconv (input, "UTF-8", "ISO-8859-1"); ASSERT (result != NULL); ASSERT (strcmp (result, "") == 0); free (result); } #endif return 0; } coreutils-8.21/gnulib-tests/test-string.c0000664000000000000000000000200712071024546015415 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-close.c0000664000000000000000000000220112100637437015212 00000000000000/* Test closing a file or socket. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (close, int, (int)); #include #include "macros.h" int main (void) { /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (close (-1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (close (99) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/uniwidth/0000775000000000000000000000000012107207541014700 500000000000000coreutils-8.21/gnulib-tests/uniwidth/test-uc_width.c0000664000000000000000000000342412071024546017554 00000000000000/* Test of uc_width() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "uniwidth.h" #include "macros.h" int main () { ucs4_t uc; /* Test width of ASCII characters. */ for (uc = 0x0020; uc < 0x007F; uc++) ASSERT (uc_width (uc, "ISO-8859-2") == 1); /* Test width of some non-spacing characters. */ ASSERT (uc_width (0x0301, "UTF-8") == 0); ASSERT (uc_width (0x05B0, "UTF-8") == 0); /* Test width of some format control characters. */ ASSERT (uc_width (0x200E, "UTF-8") == 0); ASSERT (uc_width (0x2060, "UTF-8") == 0); ASSERT (uc_width (0xE0001, "UTF-8") == 0); ASSERT (uc_width (0xE0044, "UTF-8") == 0); /* Test width of some zero width characters. */ ASSERT (uc_width (0x200B, "UTF-8") == 0); ASSERT (uc_width (0xFEFF, "UTF-8") == 0); /* Test width of some CJK characters. */ ASSERT (uc_width (0x3000, "UTF-8") == 2); ASSERT (uc_width (0xB250, "UTF-8") == 2); ASSERT (uc_width (0xFF1A, "UTF-8") == 2); ASSERT (uc_width (0x20369, "UTF-8") == 2); ASSERT (uc_width (0x2F876, "UTF-8") == 2); return 0; } coreutils-8.21/gnulib-tests/uniwidth/test-uc_width2.c0000664000000000000000000000421712071024546017637 00000000000000/* Test of uc_width() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "uniwidth.h" #include #include "macros.h" /* One of 0, '0', '1', 'A', '2'. */ static char current_width; /* The interval for which the current_width holds. */ static ucs4_t current_start; static ucs4_t current_end; static void finish_interval (void) { if (current_width != 0) { if (current_start == current_end) printf ("%04X\t\t%c\n", (unsigned) current_start, current_width); else printf ("%04X..%04X\t%c\n", (unsigned) current_start, (unsigned) current_end, current_width); current_width = 0; } } static void add_to_interval (ucs4_t uc, char width) { if (current_width == width && uc == current_end + 1) current_end = uc; else { finish_interval (); current_width = width; current_start = current_end = uc; } } int main () { ucs4_t uc; for (uc = 0; uc < 0x110000; uc++) { int w1 = uc_width (uc, "UTF-8"); int w2 = uc_width (uc, "GBK"); char width = (w1 == 0 && w2 == 0 ? '0' : w1 == 1 && w2 == 1 ? '1' : w1 == 1 && w2 == 2 ? 'A' : w1 == 2 && w2 == 2 ? '2' : 0); if (width == 0) { /* uc must be a control character. */ ASSERT (w1 < 0 && w2 < 0); } else add_to_interval (uc, width); } finish_interval (); return 0; } coreutils-8.21/gnulib-tests/uniwidth/test-uc_width2.sh0000775000000000000000000001306611624730160020033 00000000000000#!/bin/sh tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles uc_width.out" ./test-uc_width2${EXEEXT} | LC_ALL=C tr -d '\r' > uc_width.out tmpfiles="$tmpfiles uc_width.ok" cat > uc_width.ok <<\EOF 0000 0 0020..007E 1 00A0 1 00A1..00AC A 00AD 0 00AE..02FF A 0300..036F 0 0370..0482 A 0483..0489 0 048A..0590 A 0591..05BD 0 05BE A 05BF 0 05C0 A 05C1..05C2 0 05C3 A 05C4..05C5 0 05C6 A 05C7 0 05C8..05FF A 0600..0603 0 0604..060F A 0610..061A 0 061B..064A A 064B..065F 0 0660..066F A 0670 0 0671..06D5 A 06D6..06DD 0 06DE A 06DF..06E4 0 06E5..06E6 A 06E7..06E8 0 06E9 A 06EA..06ED 0 06EE..070E A 070F 0 0710 A 0711 0 0712..072F A 0730..074A 0 074B..07A5 A 07A6..07B0 0 07B1..07EA A 07EB..07F3 0 07F4..0815 A 0816..0819 0 081A A 081B..0823 0 0824 A 0825..0827 0 0828 A 0829..082D 0 082E..0858 A 0859..085B 0 085C..08FF A 0900..0902 0 0903..0939 A 093A 0 093B A 093C 0 093D..0940 A 0941..0948 0 0949..094C A 094D 0 094E..0950 A 0951..0957 0 0958..0961 A 0962..0963 0 0964..0980 A 0981 0 0982..09BB A 09BC 0 09BD..09C0 A 09C1..09C4 0 09C5..09CC A 09CD 0 09CE..09E1 A 09E2..09E3 0 09E4..0A00 A 0A01..0A02 0 0A03..0A3B A 0A3C 0 0A3D..0A40 A 0A41..0A42 0 0A43..0A46 A 0A47..0A48 0 0A49..0A4A A 0A4B..0A4D 0 0A4E..0A50 A 0A51 0 0A52..0A6F A 0A70..0A71 0 0A72..0A74 A 0A75 0 0A76..0A80 A 0A81..0A82 0 0A83..0ABB A 0ABC 0 0ABD..0AC0 A 0AC1..0AC5 0 0AC6 A 0AC7..0AC8 0 0AC9..0ACC A 0ACD 0 0ACE..0AE1 A 0AE2..0AE3 0 0AE4..0B00 A 0B01 0 0B02..0B3B A 0B3C 0 0B3D..0B3E A 0B3F 0 0B40 A 0B41..0B44 0 0B45..0B4C A 0B4D 0 0B4E..0B55 A 0B56 0 0B57..0B61 A 0B62..0B63 0 0B64..0B81 A 0B82 0 0B83..0BBF A 0BC0 0 0BC1..0BCC A 0BCD 0 0BCE..0C3D A 0C3E..0C40 0 0C41..0C45 A 0C46..0C48 0 0C49 A 0C4A..0C4D 0 0C4E..0C54 A 0C55..0C56 0 0C57..0C61 A 0C62..0C63 0 0C64..0CBB A 0CBC 0 0CBD..0CCB A 0CCC..0CCD 0 0CCE..0CE1 A 0CE2..0CE3 0 0CE4..0D40 A 0D41..0D44 0 0D45..0D4C A 0D4D 0 0D4E..0D61 A 0D62..0D63 0 0D64..0DC9 A 0DCA 0 0DCB..0DD1 A 0DD2..0DD4 0 0DD5 A 0DD6 0 0DD7..0E30 A 0E31 0 0E32..0E33 A 0E34..0E3A 0 0E3B..0E46 A 0E47..0E4E 0 0E4F..0EB0 A 0EB1 0 0EB2..0EB3 A 0EB4..0EB9 0 0EBA A 0EBB..0EBC 0 0EBD..0EC7 A 0EC8..0ECD 0 0ECE..0F17 A 0F18..0F19 0 0F1A..0F34 A 0F35 0 0F36 A 0F37 0 0F38 A 0F39 0 0F3A..0F70 A 0F71..0F7E 0 0F7F A 0F80..0F84 0 0F85 A 0F86..0F87 0 0F88..0F8C A 0F8D..0F97 0 0F98 A 0F99..0FBC 0 0FBD..0FC5 A 0FC6 0 0FC7..102C A 102D..1030 0 1031 A 1032..1037 0 1038 A 1039..103A 0 103B..103C A 103D..103E 0 103F..1057 A 1058..1059 0 105A..105D A 105E..1060 0 1061..1070 A 1071..1074 0 1075..1081 A 1082 0 1083..1084 A 1085..1086 0 1087..108C A 108D 0 108E..109C A 109D 0 109E..10FF A 1100..115F 2 1160..135C A 135D..135F 0 1360..1711 A 1712..1714 0 1715..1731 A 1732..1734 0 1735..1751 A 1752..1753 0 1754..1771 A 1772..1773 0 1774..17B3 A 17B4..17B5 0 17B6 A 17B7..17BD 0 17BE..17C5 A 17C6 0 17C7..17C8 A 17C9..17D3 0 17D4..17DC A 17DD 0 17DE..180A A 180B..180D 0 180E..18A8 A 18A9 0 18AA..191F A 1920..1922 0 1923..1926 A 1927..1928 0 1929..1931 A 1932 0 1933..1938 A 1939..193B 0 193C..1A16 A 1A17..1A18 0 1A19..1A55 A 1A56 0 1A57 A 1A58..1A5E 0 1A5F A 1A60 0 1A61 A 1A62 0 1A63..1A64 A 1A65..1A6C 0 1A6D..1A72 A 1A73..1A7C 0 1A7D..1A7E A 1A7F 0 1A80..1AFF A 1B00..1B03 0 1B04..1B33 A 1B34 0 1B35 A 1B36..1B3A 0 1B3B A 1B3C 0 1B3D..1B41 A 1B42 0 1B43..1B6A A 1B6B..1B73 0 1B74..1B7F A 1B80..1B81 0 1B82..1BA1 A 1BA2..1BA5 0 1BA6..1BA7 A 1BA8..1BA9 0 1BAA..1BE5 A 1BE6 0 1BE7 A 1BE8..1BE9 0 1BEA..1BEC A 1BED 0 1BEE A 1BEF..1BF1 0 1BF2..1C2B A 1C2C..1C33 0 1C34..1C35 A 1C36..1C37 0 1C38..1CCF A 1CD0..1CD2 0 1CD3 A 1CD4..1CE0 0 1CE1 A 1CE2..1CE8 0 1CE9..1CEC A 1CED 0 1CEE..1DBF A 1DC0..1DE6 0 1DE7..1DFB A 1DFC..1DFF 0 1E00..200A A 200B..200F 0 2010..2029 A 202A..202E 0 202F..205F A 2060..2064 0 2065..2069 A 206A..206F 0 2070..20A8 A 20A9 1 20AA..20CF A 20D0..20F0 0 20F1..2328 A 2329..232A 2 232B..2CEE A 2CEF..2CF1 0 2CF2..2D7E A 2D7F 0 2D80..2DDF A 2DE0..2DFF 0 2E00..2E7F A 2E80..3029 2 302A..302F 0 3030..303E 2 303F A 3040..3098 2 3099..309A 0 309B..4DBF 2 4DC0..4DFF A 4E00..A4CF 2 A4D0..A66E A A66F..A672 0 A673..A67B A A67C..A67D 0 A67E..A6EF A A6F0..A6F1 0 A6F2..A801 A A802 0 A803..A805 A A806 0 A807..A80A A A80B 0 A80C..A824 A A825..A826 0 A827..A8C3 A A8C4 0 A8C5..A8DF A A8E0..A8F1 0 A8F2..A925 A A926..A92D 0 A92E..A946 A A947..A951 0 A952..A97F A A980..A982 0 A983..A9B2 A A9B3 0 A9B4..A9B5 A A9B6..A9B9 0 A9BA..A9BB A A9BC 0 A9BD..AA28 A AA29..AA2E 0 AA2F..AA30 A AA31..AA32 0 AA33..AA34 A AA35..AA36 0 AA37..AA42 A AA43 0 AA44..AA4B A AA4C 0 AA4D..AAAF A AAB0 0 AAB1 A AAB2..AAB4 0 AAB5..AAB6 A AAB7..AAB8 0 AAB9..AABD A AABE..AABF 0 AAC0 A AAC1 0 AAC2..ABE4 A ABE5 0 ABE6..ABE7 A ABE8 0 ABE9..ABEC A ABED 0 ABEE..ABFF A AC00..D7A3 2 D7A4..F8FF A F900..FAFF 2 FB00..FB1D A FB1E 0 FB1F..FDFF A FE00..FE0F 0 FE10..FE1F 2 FE20..FE26 0 FE27..FE2F A FE30..FE6F 2 FE70..FEFE A FEFF 0 FF00..FF60 2 FF61..FFDF 1 FFE0..FFE6 2 FFE7..FFF8 1 FFF9..FFFB 0 FFFC..101FC 1 101FD 0 101FE..10A00 1 10A01..10A03 0 10A04 1 10A05..10A06 0 10A07..10A0B 1 10A0C..10A0F 0 10A10..10A37 1 10A38..10A3A 0 10A3B..10A3E 1 10A3F 0 10A40..11000 1 11001 0 11002..11037 1 11038..11046 0 11047..1107F 1 11080..11081 0 11082..110B2 1 110B3..110B6 0 110B7..110B8 1 110B9..110BA 0 110BB..110BC 1 110BD 0 110BE..1D166 1 1D167..1D169 0 1D16A..1D172 1 1D173..1D182 0 1D183..1D184 1 1D185..1D18B 0 1D18C..1D1A9 1 1D1AA..1D1AD 0 1D1AE..1D241 1 1D242..1D244 0 1D245..1FFFF 1 20000..3FFFF 2 40000..E0000 1 E0001 0 E0002..E001F 1 E0020..E007F 0 E0080..E00FF 1 E0100..E01EF 0 E01F0..10FFFF 1 EOF : ${DIFF=diff} ${DIFF} uc_width.ok uc_width.out result=$? rm -fr $tmpfiles exit $result coreutils-8.21/gnulib-tests/test-getloadavg.c0000664000000000000000000000442512071024546016232 00000000000000/* Test of getting load average. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (getloadavg, int, (double [], int)); #include #include #include static void check_avg (int minutes, double avg, int printit) { if (printit) printf ("%d-minute: %f ", minutes, avg); else { /* Plausibility checks. */ if (avg < 0.01) printf ("suspiciously low %d-minute average: %f\n", minutes, avg); if (avg > 1000000) printf ("suspiciously high %d-minute average: %f\n", minutes, avg); } if (avg < 0 || avg != avg) exit (minutes); } /* This program can also be used as a manual test, by invoking it with an argument; it then prints the load average. If the argument is nonzero, the manual test repeats forever, sleeping for the stated interval between each iteration. */ int main (int argc, char **argv) { int naptime = 0; if (argc > 1) naptime = atoi (argv[1]); while (1) { double avg[3]; int loads = getloadavg (avg, 3); if (loads == -1) { if (! (errno == ENOSYS || errno == ENOTSUP || errno == ENOENT)) return 1; perror ("Skipping test; load average not supported"); return 77; } if (loads > 0) check_avg (1, avg[0], argc > 1); if (loads > 1) check_avg (5, avg[1], argc > 1); if (loads > 2) check_avg (15, avg[1], argc > 1); if (loads > 0 && argc > 1) putchar ('\n'); if (naptime == 0) break; sleep (naptime); } return 0; } coreutils-8.21/gnulib-tests/test-rawmemchr.c0000664000000000000000000000475412071024546016107 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (rawmemchr, void *, (void const *, int)); #include #include "zerosize-ptr.h" #include "macros.h" /* Calculating void * + int is not portable, so this wrapper converts to char * to make the tests easier to write. */ #define RAWMEMCHR (char *) rawmemchr int main (void) { size_t n = 0x100000; char *input = malloc (n + 1); ASSERT (input); input[0] = 'a'; input[1] = 'b'; memset (input + 2, 'c', 1024); memset (input + 1026, 'd', n - 1028); input[n - 2] = 'e'; input[n - 1] = 'a'; input[n] = '\0'; /* Basic behavior tests. */ ASSERT (RAWMEMCHR (input, 'a') == input); ASSERT (RAWMEMCHR (input, 'b') == input + 1); ASSERT (RAWMEMCHR (input, 'c') == input + 2); ASSERT (RAWMEMCHR (input, 'd') == input + 1026); ASSERT (RAWMEMCHR (input + 1, 'a') == input + n - 1); ASSERT (RAWMEMCHR (input + 1, 'e') == input + n - 2); ASSERT (RAWMEMCHR (input + 1, 0x789abc00 | 'e') == input + n - 2); ASSERT (RAWMEMCHR (input, '\0') == input + n); /* Alignment tests. */ { int i, j; for (i = 0; i < 32; i++) { for (j = 0; j < 256; j++) input[i + j] = j; for (j = 0; j < 256; j++) { ASSERT (RAWMEMCHR (input + i, j) == input + i + j); } } } /* Ensure that no unaligned oversized reads occur. */ { char *page_boundary = (char *) zerosize_ptr (); size_t i; if (!page_boundary) page_boundary = input + 4096; memset (page_boundary - 512, '1', 511); page_boundary[-1] = '2'; for (i = 1; i <= 512; i++) ASSERT (RAWMEMCHR (page_boundary - i, (i * 0x01010100) | '2') == page_boundary - 1); } free (input); return 0; } coreutils-8.21/gnulib-tests/usleep.c0000664000000000000000000000350212071024546014430 00000000000000/* Pausing execution of the current thread. Copyright (C) 2009-2013 Free Software Foundation, Inc. Written by Eric Blake , 2009. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file is _intentionally_ light-weight. Rather than using select or nanosleep, both of which drag in external libraries on some platforms, this merely rounds up to the nearest second if usleep() does not exist. If sub-second resolution is important, then use a more powerful interface to begin with. */ #include /* Specification. */ #include #include #ifndef HAVE_USLEEP # define HAVE_USLEEP 0 #endif /* Sleep for MICRO microseconds, which can be greater than 1 second. Return -1 and set errno to EINVAL on range error (about 4295 seconds), or 0 on success. Interaction with SIGALARM is unspecified. */ int usleep (useconds_t micro) { unsigned int seconds = micro / 1000000; if (sizeof seconds < sizeof micro && micro / 1000000 != seconds) { errno = EINVAL; return -1; } if (!HAVE_USLEEP && micro % 1000000) seconds++; while ((seconds = sleep (seconds)) != 0); #undef usleep #if !HAVE_USLEEP # define usleep(x) 0 #endif return usleep (micro % 1000000); } coreutils-8.21/gnulib-tests/test-listen.c0000664000000000000000000000234112100637437015410 00000000000000/* Test listen() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (listen, int, (int, int)); #include #include #include "sockets.h" #include "macros.h" int main (void) { (void) gl_sockets_startup (SOCKETS_1_1); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (listen (-1, 1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (listen (99 ,1) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-dup.c0000664000000000000000000000220012100637437014674 00000000000000/* Test duplicating a file descriptor. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (dup, int, (int)); #include #include "macros.h" int main (void) { /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (dup (-1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (dup (99) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-fprintf-posix.h0000664000000000000000000001125712071024546016733 00000000000000/* Test of POSIX compatible vsprintf() and sprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include "infinity.h" static void test_function (int (*my_fprintf) (FILE *, const char *, ...)) { /* Here we don't test output that may be platform dependent. The bulk of the tests is done as part of the 'vasnprintf-posix' module. */ /* Test support of size specifiers as in C99. */ my_fprintf (stdout, "%ju %d\n", (uintmax_t) 12345671, 33, 44, 55); my_fprintf (stdout, "%zu %d\n", (size_t) 12345672, 33, 44, 55); my_fprintf (stdout, "%tu %d\n", (ptrdiff_t) 12345673, 33, 44, 55); /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal output of floating-point numbers. */ /* Positive zero. */ my_fprintf (stdout, "%a %d\n", 0.0, 33, 44, 55); /* Positive infinity. */ my_fprintf (stdout, "%a %d\n", Infinityd (), 33, 44, 55); /* Negative infinity. */ my_fprintf (stdout, "%a %d\n", - Infinityd (), 33, 44, 55); /* FLAG_ZERO with infinite number. */ my_fprintf (stdout, "%010a %d\n", Infinityd (), 33, 44, 55); /* Test the support of the %f format directive. */ /* A positive number. */ my_fprintf (stdout, "%f %d\n", 12.75, 33, 44, 55); /* A larger positive number. */ my_fprintf (stdout, "%f %d\n", 1234567.0, 33, 44, 55); /* A negative number. */ my_fprintf (stdout, "%f %d\n", -0.03125, 33, 44, 55); /* Positive zero. */ my_fprintf (stdout, "%f %d\n", 0.0, 33, 44, 55); /* FLAG_ZERO. */ my_fprintf (stdout, "%015f %d\n", 1234.0, 33, 44, 55); /* Precision. */ my_fprintf (stdout, "%.f %d\n", 1234.0, 33, 44, 55); /* Precision with no rounding. */ my_fprintf (stdout, "%.2f %d\n", 999.95, 33, 44, 55); /* Precision with rounding. */ my_fprintf (stdout, "%.2f %d\n", 999.996, 33, 44, 55); /* A positive number. */ my_fprintf (stdout, "%Lf %d\n", 12.75L, 33, 44, 55); /* A larger positive number. */ my_fprintf (stdout, "%Lf %d\n", 1234567.0L, 33, 44, 55); /* A negative number. */ my_fprintf (stdout, "%Lf %d\n", -0.03125L, 33, 44, 55); /* Positive zero. */ my_fprintf (stdout, "%Lf %d\n", 0.0L, 33, 44, 55); /* FLAG_ZERO. */ my_fprintf (stdout, "%015Lf %d\n", 1234.0L, 33, 44, 55); /* Precision. */ my_fprintf (stdout, "%.Lf %d\n", 1234.0L, 33, 44, 55); /* Precision with no rounding. */ my_fprintf (stdout, "%.2Lf %d\n", 999.95L, 33, 44, 55); /* Precision with rounding. */ my_fprintf (stdout, "%.2Lf %d\n", 999.996L, 33, 44, 55); /* Test the support of the %F format directive. */ /* A positive number. */ my_fprintf (stdout, "%F %d\n", 12.75, 33, 44, 55); /* A larger positive number. */ my_fprintf (stdout, "%F %d\n", 1234567.0, 33, 44, 55); /* A negative number. */ my_fprintf (stdout, "%F %d\n", -0.03125, 33, 44, 55); /* Positive zero. */ my_fprintf (stdout, "%F %d\n", 0.0, 33, 44, 55); /* FLAG_ZERO. */ my_fprintf (stdout, "%015F %d\n", 1234.0, 33, 44, 55); /* Precision. */ my_fprintf (stdout, "%.F %d\n", 1234.0, 33, 44, 55); /* Precision with no rounding. */ my_fprintf (stdout, "%.2F %d\n", 999.95, 33, 44, 55); /* Precision with rounding. */ my_fprintf (stdout, "%.2F %d\n", 999.996, 33, 44, 55); /* A positive number. */ my_fprintf (stdout, "%LF %d\n", 12.75L, 33, 44, 55); /* A larger positive number. */ my_fprintf (stdout, "%LF %d\n", 1234567.0L, 33, 44, 55); /* A negative number. */ my_fprintf (stdout, "%LF %d\n", -0.03125L, 33, 44, 55); /* Positive zero. */ my_fprintf (stdout, "%LF %d\n", 0.0L, 33, 44, 55); /* FLAG_ZERO. */ my_fprintf (stdout, "%015LF %d\n", 1234.0L, 33, 44, 55); /* Precision. */ my_fprintf (stdout, "%.LF %d\n", 1234.0L, 33, 44, 55); /* Precision with no rounding. */ my_fprintf (stdout, "%.2LF %d\n", 999.95L, 33, 44, 55); /* Precision with rounding. */ my_fprintf (stdout, "%.2LF %d\n", 999.996L, 33, 44, 55); /* Test the support of the POSIX/XSI format strings with positions. */ my_fprintf (stdout, "%2$d %1$d\n", 33, 55); } coreutils-8.21/gnulib-tests/test-iconv-h.c0000664000000000000000000000147712071024546015464 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #if HAVE_ICONV # include #endif int main () { return 0; } coreutils-8.21/gnulib-tests/test-getline.c0000664000000000000000000000462712071024546015550 00000000000000/* Test of getline() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (getline, ssize_t, (char **, size_t *, FILE *)); #include #include #include "macros.h" int main (void) { FILE *f; char *line; size_t len; ssize_t result; /* Create test file. */ f = fopen ("test-getline.txt", "wb"); if (!f || fwrite ("a\nA\nbc\nd\0f", 1, 10, f) != 10 || fclose (f) != 0) { fputs ("Failed to create sample file.\n", stderr); remove ("test-getline.txt"); return 1; } f = fopen ("test-getline.txt", "rb"); if (!f) { fputs ("Failed to reopen sample file.\n", stderr); remove ("test-getline.txt"); return 1; } /* Test initial allocation, which must include trailing NUL. */ line = NULL; len = 0; result = getline (&line, &len, f); ASSERT (result == 2); ASSERT (strcmp (line, "a\n") == 0); ASSERT (2 < len); free (line); /* Test initial allocation again, with line = NULL and len != 0. */ line = NULL; len = (size_t)(~0) / 4; result = getline (&line, &len, f); ASSERT (result == 2); ASSERT (strcmp (line, "A\n") == 0); ASSERT (2 < len); free (line); /* Test growth of buffer, must not leak. */ line = malloc (1); len = 0; result = getline (&line, &len, f); ASSERT (result == 3); ASSERT (strcmp (line, "bc\n") == 0); ASSERT (3 < len); /* Test embedded NULs and EOF behavior. */ result = getline (&line, &len, f); ASSERT (result == 3); ASSERT (memcmp (line, "d\0f", 4) == 0); ASSERT (3 < len); result = getline (&line, &len, f); ASSERT (result == -1); free (line); fclose (f); remove ("test-getline.txt"); return 0; } coreutils-8.21/gnulib-tests/test-exclude4.sh0000775000000000000000000000234012071024546016017 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test wildcard matching cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-fwrite.c0000664000000000000000000000505012100637437015412 00000000000000/* Test of fwrite() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *)); #include #include #include #include "msvc-inval.h" #include "macros.h" int main (int argc, char **argv) { const char *filename = "test-fwrite.txt"; /* We don't have an fwrite() function that installs an invalid parameter handler so far. So install that handler here, explicitly. */ #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING gl_msvc_inval_ensure_handler (); #endif /* Test that fwrite() on an unbuffered stream sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "w"); char buf[5] = "world"; ASSERT (fp != NULL); setvbuf (fp, NULL, _IONBF, 0); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } /* Test that fwrite() on an unbuffered stream sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w"); if (fp != NULL) { char buf[5] = "world"; setvbuf (fp, NULL, _IONBF, 0); errno = 0; ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "w"); if (fp != NULL) { char buf[5] = "world"; setvbuf (fp, NULL, _IONBF, 0); errno = 0; ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-lstat.c0000664000000000000000000000340512071024546015241 00000000000000/* Test of lstat() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */ #include #include /* Caution: lstat may be a function-like macro. Although this signature check must pass, it may be the signature of the real (and broken) lstat rather than rpl_lstat. Most code should not use the address of lstat. */ #include "signature.h" SIGNATURE_CHECK (lstat, int, (char const *, struct stat *)); #include #include #include #include #include #include #include "same-inode.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-lstat.t" #include "test-lstat.h" /* Wrapper around lstat, which works even if lstat is a function-like macro, where test_lstat_func(lstat) would do the wrong thing. */ static int do_lstat (char const *name, struct stat *st) { return lstat (name, st); } int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_lstat_func (do_lstat, true); } coreutils-8.21/gnulib-tests/test-fcntl-h.c0000664000000000000000000000547712071024546015460 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include /* Check that the various O_* macros are defined. */ int o = (O_DIRECT | O_DIRECTORY | O_DSYNC | O_IGNORE_CTTY | O_NDELAY | O_NOATIME | O_NONBLOCK | O_NOCTTY | O_NOFOLLOW | O_NOLINK | O_NOLINKS | O_NOTRANS | O_RSYNC | O_SYNC | O_TTY_INIT | O_BINARY | O_TEXT); /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that the FD_* macros are defined. */ int i = FD_CLOEXEC; /* Check that the types are all defined. */ pid_t t1; off_t t2; mode_t t3; int main (void) { /* Ensure no overlap in SEEK_*. */ switch (0) { case SEEK_CUR: case SEEK_END: case SEEK_SET: ; } /* Ensure no dangerous overlap in non-zero gnulib-defined replacements. */ switch (O_RDONLY) { /* Access modes */ case O_RDONLY: case O_WRONLY: case O_RDWR: #if O_EXEC && O_EXEC != O_RDONLY case O_EXEC: #endif #if O_SEARCH && O_EXEC != O_SEARCH && O_SEARCH != O_RDONLY case O_SEARCH: #endif i = ! (~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)); break; /* Everyone should have these */ case O_CREAT: case O_EXCL: case O_TRUNC: case O_APPEND: break; /* These might be 0 or O_RDONLY, only test non-zero versions. */ #if O_CLOEXEC case O_CLOEXEC: #endif #if O_DIRECT case O_DIRECT: #endif #if O_DIRECTORY case O_DIRECTORY: #endif #if O_DSYNC case O_DSYNC: #endif #if O_IGNORE_CTTY case O_IGNORE_CTTY: #endif #if O_NOATIME case O_NOATIME: #endif #if O_NONBLOCK case O_NONBLOCK: #endif #if O_NOCTTY case O_NOCTTY: #endif #if O_NOFOLLOW case O_NOFOLLOW: #endif #if O_NOLINK case O_NOLINK: #endif #if O_NOLINKS case O_NOLINKS: #endif #if O_NOTRANS case O_NOTRANS: #endif #if O_RSYNC && O_RSYNC != O_DSYNC case O_RSYNC: #endif #if O_SYNC && O_SYNC != O_RSYNC case O_SYNC: #endif #if O_TTY_INIT case O_TTY_INIT: #endif #if O_BINARY case O_BINARY: #endif #if O_TEXT case O_TEXT: #endif ; } return !i; } coreutils-8.21/gnulib-tests/test-setlocale2.sh0000775000000000000000000000134511777552746016367 00000000000000#!/bin/sh # Test locale names with likely unsupported encoding in Unix syntax. for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do env LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1 done # Test locale names with likely unsupported encoding in native Windows syntax. for name in "Arabic_Saudi Arabia.1252" "Arabic_Saudi Arabia.65001" \ French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \ Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do # Here we use 'env' to set the LC_ALL environment variable, because on # Solaris 11 2011-11, the /bin/sh refuses to do it for Turkish_Turkey.65001. env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1 done exit 0 coreutils-8.21/gnulib-tests/test-spawn-pipe.sh0000775000000000000000000000030711624727635016402 00000000000000#!/bin/sh st=0 for i in 0 1 2 3 4 5 6 7 ; do ./test-spawn-pipe-main${EXEEXT} ./test-spawn-pipe-child${EXEEXT} $i \ || { echo test-spawn-pipe.sh: iteration $i failed >&2; st=1; } done exit $st coreutils-8.21/gnulib-tests/test-inttypes.c0000664000000000000000000000606012071024546015771 00000000000000/* Test of substitute. Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include /* Tests for macros supposed to be defined in inttypes.h. */ const char *k = /* implicit string concatenation */ #ifdef INT8_MAX PRId8 PRIi8 #endif #ifdef UINT8_MAX PRIo8 PRIu8 PRIx8 PRIX8 #endif #ifdef INT16_MAX PRId16 PRIi16 #endif #ifdef UINT16_MAX PRIo16 PRIu16 PRIx16 PRIX16 #endif #ifdef INT32_MAX PRId32 PRIi32 #endif #ifdef UINT32_MAX PRIo32 PRIu32 PRIx32 PRIX32 #endif #ifdef INT64_MAX PRId64 PRIi64 #endif #ifdef UINT64_MAX PRIo64 PRIu64 PRIx64 PRIX64 #endif PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 PRIdLEAST64 PRIiLEAST64 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 PRIdFAST64 PRIiFAST64 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX #ifdef INTPTR_MAX PRIdPTR PRIiPTR #endif #ifdef UINTPTR_MAX PRIoPTR PRIuPTR PRIxPTR PRIXPTR #endif ; const char *l = /* implicit string concatenation */ #ifdef INT8_MAX SCNd8 SCNi8 #endif #ifdef UINT8_MAX SCNo8 SCNu8 SCNx8 #endif #ifdef INT16_MAX SCNd16 SCNi16 #endif #ifdef UINT16_MAX SCNo16 SCNu16 SCNx16 #endif #ifdef INT32_MAX SCNd32 SCNi32 #endif #ifdef UINT32_MAX SCNo32 SCNu32 SCNx32 #endif #ifdef INT64_MAX SCNd64 SCNi64 #endif #ifdef UINT64_MAX SCNo64 SCNu64 SCNx64 #endif SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 SCNdLEAST64 SCNiLEAST64 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 SCNdFAST64 SCNiFAST64 SCNoFAST64 SCNuFAST64 SCNxFAST64 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX #ifdef INTPTR_MAX SCNdPTR SCNiPTR #endif #ifdef UINTPTR_MAX SCNoPTR SCNuPTR SCNxPTR #endif ; int main (void) { return 0; } coreutils-8.21/gnulib-tests/Makefile.in0000664000000000000000000121772412107175573015061 00000000000000# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this file. If not, see . # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that # contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/gnulib.mk TESTS = test-accept$(EXEEXT) test-file-has-acl.sh \ test-file-has-acl-1.sh test-file-has-acl-2.sh \ test-set-mode-acl.sh test-set-mode-acl-1.sh \ test-set-mode-acl-2.sh test-copy-acl.sh test-copy-acl-1.sh \ test-copy-acl-2.sh test-alignof$(EXEEXT) \ test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \ test-areadlink-with-size$(EXEEXT) test-areadlinkat$(EXEEXT) \ test-argmatch$(EXEEXT) test-argv-iter$(EXEEXT) \ test-arpa_inet$(EXEEXT) test-base64$(EXEEXT) test-binary-io.sh \ test-bind$(EXEEXT) test-bitrotate$(EXEEXT) test-btowc1.sh \ test-btowc2.sh test-c-ctype$(EXEEXT) test-c-strcase.sh \ test-calloc-gnu$(EXEEXT) test-canonicalize$(EXEEXT) \ test-chdir$(EXEEXT) test-chown$(EXEEXT) test-cloexec$(EXEEXT) \ test-close$(EXEEXT) test-closein.sh test-connect$(EXEEXT) \ test-md5$(EXEEXT) test-sha1$(EXEEXT) test-ctype$(EXEEXT) \ test-di-set$(EXEEXT) test-dirent-safer$(EXEEXT) \ test-dirent$(EXEEXT) test-dirname$(EXEEXT) test-dup$(EXEEXT) \ test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \ test-exclude1.sh test-exclude2.sh test-exclude3.sh \ test-exclude4.sh test-exclude5.sh test-exclude6.sh \ test-exclude7.sh test-exclude8.sh test-faccessat$(EXEEXT) \ test-fadvise$(EXEEXT) test-fchdir$(EXEEXT) \ test-fchmodat$(EXEEXT) test-fchownat$(EXEEXT) \ test-fclose$(EXEEXT) test-fcntl-h$(EXEEXT) \ test-fcntl-safer$(EXEEXT) test-fcntl$(EXEEXT) \ test-fdatasync$(EXEEXT) test-fdopen$(EXEEXT) \ test-fdopendir$(EXEEXT) test-fdutimensat$(EXEEXT) \ test-fflush$(EXEEXT) test-fflush2.sh test-fgetc$(EXEEXT) \ test-filenamecat$(EXEEXT) test-filevercmp$(EXEEXT) \ test-float$(EXEEXT) test-fnmatch$(EXEEXT) \ test-fopen-safer$(EXEEXT) test-fopen$(EXEEXT) test-fpending.sh \ test-fpurge$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \ test-freadahead.sh test-freading$(EXEEXT) test-freadptr.sh \ test-freadptr2.sh test-freadseek.sh \ test-freopen-safer$(EXEEXT) test-freopen$(EXEEXT) \ test-frexp-nolibm$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \ test-fseek.sh test-fseek2.sh test-fseeko.sh test-fseeko2.sh \ test-fseeko3.sh test-fseeko4.sh test-fseterr$(EXEEXT) \ test-fstat$(EXEEXT) test-fstatat$(EXEEXT) test-fsync$(EXEEXT) \ test-ftell.sh test-ftell2.sh test-ftell3$(EXEEXT) \ test-ftello.sh test-ftello2.sh test-ftello3$(EXEEXT) \ test-ftello4.sh test-ftruncate.sh test-futimens$(EXEEXT) \ test-fwrite$(EXEEXT) test-getaddrinfo$(EXEEXT) \ test-getcwd-lgpl$(EXEEXT) test-getcwd.sh \ test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \ test-getgroups$(EXEEXT) test-gethostname$(EXEEXT) \ test-getline$(EXEEXT) test-getloadavg$(EXEEXT) \ test-getlogin$(EXEEXT) test-getndelim2$(EXEEXT) \ test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \ test-hash$(EXEEXT) test-i-ring$(EXEEXT) test-iconv-h$(EXEEXT) \ test-iconv$(EXEEXT) test-ignore-value$(EXEEXT) \ test-inet_ntop$(EXEEXT) test-inet_pton$(EXEEXT) \ test-ino-map$(EXEEXT) test-intprops$(EXEEXT) \ test-inttostr$(EXEEXT) test-inttypes$(EXEEXT) \ test-ioctl$(EXEEXT) test-isatty$(EXEEXT) test-isblank$(EXEEXT) \ test-isnand-nolibm$(EXEEXT) test-isnanf-nolibm$(EXEEXT) \ test-isnanl-nolibm$(EXEEXT) test-iswblank$(EXEEXT) \ test-langinfo$(EXEEXT) test-lchown$(EXEEXT) test-link$(EXEEXT) \ test-linkat$(EXEEXT) test-listen$(EXEEXT) test-locale$(EXEEXT) \ test-localeconv$(EXEEXT) test-localename$(EXEEXT) \ test-lock$(EXEEXT) test-lseek.sh test-lstat$(EXEEXT) \ test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \ test-math$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \ test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc-w32-1.sh \ test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \ test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh \ test-mbsalign$(EXEEXT) test-mbscasecmp.sh test-mbsinit.sh \ test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh \ test-mbsrtowcs4.sh test-mbsstr1$(EXEEXT) test-mbsstr2.sh \ test-mbsstr3.sh test-memcasecmp$(EXEEXT) test-memchr$(EXEEXT) \ test-memchr2$(EXEEXT) test-memcoll$(EXEEXT) \ test-memrchr$(EXEEXT) test-mkdir$(EXEEXT) test-mkfifo$(EXEEXT) \ test-mknod$(EXEEXT) test-nanosleep$(EXEEXT) \ test-netdb$(EXEEXT) test-netinet_in$(EXEEXT) \ test-nl_langinfo.sh test-open$(EXEEXT) \ test-openat-safer$(EXEEXT) test-openat$(EXEEXT) \ test-parse-datetime$(EXEEXT) test-pathmax$(EXEEXT) \ test-perror.sh test-perror2$(EXEEXT) test-pipe$(EXEEXT) \ test-pipe2$(EXEEXT) \ test-posix_spawn_file_actions_addclose$(EXEEXT) \ test-posix_spawn_file_actions_adddup2$(EXEEXT) \ test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_1) \ test-posixtm$(EXEEXT) test-printf-frexp$(EXEEXT) \ test-printf-frexpl$(EXEEXT) test-priv-set$(EXEEXT) \ test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ test-rand-isaac$(EXEEXT) test-rawmemchr$(EXEEXT) \ test-read-file$(EXEEXT) test-read$(EXEEXT) \ test-readlink$(EXEEXT) test-readlinkat$(EXEEXT) \ test-readtokens.sh test-realloc-gnu$(EXEEXT) \ test-regex$(EXEEXT) test-remove$(EXEEXT) test-rename$(EXEEXT) \ test-rmdir$(EXEEXT) test-sched$(EXEEXT) test-select$(EXEEXT) \ test-select-in.sh test-select-out.sh test-setenv$(EXEEXT) \ test-setlocale1.sh test-setlocale2.sh test-setsockopt$(EXEEXT) \ test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \ test-signbit$(EXEEXT) test-sigprocmask$(EXEEXT) \ test-sleep$(EXEEXT) test-snprintf$(EXEEXT) \ test-sockets$(EXEEXT) test-spawn-pipe.sh test-spawn$(EXEEXT) \ test-stat$(EXEEXT) test-stat-time$(EXEEXT) \ test-statat$(EXEEXT) test-stdalign$(EXEEXT) \ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \ test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \ test-strerror_r$(EXEEXT) test-strftime$(EXEEXT) \ test-striconv$(EXEEXT) test-string$(EXEEXT) \ test-strncat$(EXEEXT) test-strnlen$(EXEEXT) \ test-strsignal$(EXEEXT) test-strtod$(EXEEXT) \ test-strtoimax$(EXEEXT) test-strtoll$(EXEEXT) \ test-strtoull$(EXEEXT) test-strtoumax$(EXEEXT) \ test-symlink$(EXEEXT) test-symlinkat$(EXEEXT) \ test-sys_ioctl$(EXEEXT) test-sys_resource$(EXEEXT) \ test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \ test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \ test-sys_types$(EXEEXT) test-sys_uio$(EXEEXT) \ test-sys_utsname$(EXEEXT) test-sys_wait$(EXEEXT) \ test-termios$(EXEEXT) test-init.sh test-thread_self$(EXEEXT) \ test-thread_create$(EXEEXT) test-time$(EXEEXT) \ test-tls$(EXEEXT) test-u64$(EXEEXT) test-uname$(EXEEXT) \ test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \ test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \ test-uc_width$(EXEEXT) uniwidth/test-uc_width2.sh \ test-unlink$(EXEEXT) test-unlinkat$(EXEEXT) \ test-unsetenv$(EXEEXT) test-update-copyright.sh \ test-userspec$(EXEEXT) test-usleep$(EXEEXT) \ test-utimens$(EXEEXT) test-utimensat$(EXEEXT) \ test-vasnprintf$(EXEEXT) test-vasprintf-posix$(EXEEXT) \ test-vasprintf$(EXEEXT) test-vc-list-files-git.sh \ test-vc-list-files-cvs.sh test-verify$(EXEEXT) test-verify.sh \ test-version-etc.sh test-vfprintf-posix.sh \ test-vprintf-posix.sh test-wchar$(EXEEXT) test-wcrtomb.sh \ test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \ test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \ test-wcrtomb-w32-5.sh test-wctype-h$(EXEEXT) \ test-wcwidth$(EXEEXT) test-write$(EXEEXT) test-xalloc-die.sh \ test-xprintf-posix.sh test-xstrtoimax.sh test-xstrtol.sh \ test-xstrtoumax.sh test-xvasprintf$(EXEEXT) test-yesno.sh XFAIL_TESTS = noinst_PROGRAMS = check_PROGRAMS = test-accept$(EXEEXT) test-file-has-acl$(EXEEXT) \ test-set-mode-acl$(EXEEXT) test-copy-acl$(EXEEXT) \ test-sameacls$(EXEEXT) test-alignof$(EXEEXT) \ test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \ test-areadlink-with-size$(EXEEXT) test-areadlinkat$(EXEEXT) \ test-argmatch$(EXEEXT) test-argv-iter$(EXEEXT) \ test-arpa_inet$(EXEEXT) test-base64$(EXEEXT) \ test-binary-io$(EXEEXT) test-bind$(EXEEXT) \ test-bitrotate$(EXEEXT) test-btowc$(EXEEXT) \ test-c-ctype$(EXEEXT) test-c-strcasecmp$(EXEEXT) \ test-c-strncasecmp$(EXEEXT) test-calloc-gnu$(EXEEXT) \ test-canonicalize$(EXEEXT) test-chdir$(EXEEXT) \ test-chown$(EXEEXT) test-cloexec$(EXEEXT) test-close$(EXEEXT) \ test-closein$(EXEEXT) test-connect$(EXEEXT) test-md5$(EXEEXT) \ test-sha1$(EXEEXT) test-ctype$(EXEEXT) test-di-set$(EXEEXT) \ test-dirent-safer$(EXEEXT) test-dirent$(EXEEXT) \ test-dirname$(EXEEXT) test-dup$(EXEEXT) test-dup2$(EXEEXT) \ test-environ$(EXEEXT) test-errno$(EXEEXT) \ test-exclude$(EXEEXT) test-faccessat$(EXEEXT) \ test-fadvise$(EXEEXT) test-fchdir$(EXEEXT) \ test-fchmodat$(EXEEXT) test-fchownat$(EXEEXT) \ test-fclose$(EXEEXT) test-fcntl-h$(EXEEXT) \ test-fcntl-safer$(EXEEXT) test-fcntl$(EXEEXT) \ test-fdatasync$(EXEEXT) test-fdopen$(EXEEXT) \ test-fdopendir$(EXEEXT) test-fdutimensat$(EXEEXT) \ test-fflush$(EXEEXT) test-fflush2$(EXEEXT) test-fgetc$(EXEEXT) \ test-filenamecat$(EXEEXT) test-filevercmp$(EXEEXT) \ test-float$(EXEEXT) test-fnmatch$(EXEEXT) \ test-fopen-safer$(EXEEXT) test-fopen$(EXEEXT) \ test-fpending$(EXEEXT) test-fpurge$(EXEEXT) \ test-fputc$(EXEEXT) test-fread$(EXEEXT) \ test-freadahead$(EXEEXT) test-freading$(EXEEXT) \ test-freadptr$(EXEEXT) test-freadptr2$(EXEEXT) \ test-freadseek$(EXEEXT) test-freopen-safer$(EXEEXT) \ test-freopen$(EXEEXT) test-frexp-nolibm$(EXEEXT) \ test-frexpl-nolibm$(EXEEXT) test-fseek$(EXEEXT) \ test-fseeko$(EXEEXT) test-fseeko3$(EXEEXT) \ test-fseeko4$(EXEEXT) test-fseterr$(EXEEXT) \ test-fstat$(EXEEXT) test-fstatat$(EXEEXT) test-fsync$(EXEEXT) \ test-ftell$(EXEEXT) test-ftell3$(EXEEXT) test-ftello$(EXEEXT) \ test-ftello3$(EXEEXT) test-ftello4$(EXEEXT) \ test-ftruncate$(EXEEXT) test-futimens$(EXEEXT) \ test-fwrite$(EXEEXT) test-getaddrinfo$(EXEEXT) \ test-getcwd-lgpl$(EXEEXT) test-getcwd$(EXEEXT) \ test-getdelim$(EXEEXT) test-getdtablesize$(EXEEXT) \ test-getgroups$(EXEEXT) test-gethostname$(EXEEXT) \ test-getline$(EXEEXT) test-getloadavg$(EXEEXT) \ test-getlogin$(EXEEXT) test-getndelim2$(EXEEXT) \ test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \ test-hash$(EXEEXT) test-i-ring$(EXEEXT) test-iconv-h$(EXEEXT) \ test-iconv$(EXEEXT) test-ignore-value$(EXEEXT) \ test-inet_ntop$(EXEEXT) test-inet_pton$(EXEEXT) \ test-ino-map$(EXEEXT) test-intprops$(EXEEXT) \ test-inttostr$(EXEEXT) test-inttypes$(EXEEXT) \ test-ioctl$(EXEEXT) test-isatty$(EXEEXT) test-isblank$(EXEEXT) \ test-isnand-nolibm$(EXEEXT) test-isnanf-nolibm$(EXEEXT) \ test-isnanl-nolibm$(EXEEXT) test-iswblank$(EXEEXT) \ test-langinfo$(EXEEXT) test-lchown$(EXEEXT) test-link$(EXEEXT) \ test-linkat$(EXEEXT) test-listen$(EXEEXT) test-locale$(EXEEXT) \ test-localeconv$(EXEEXT) test-localename$(EXEEXT) \ test-lock$(EXEEXT) test-lseek$(EXEEXT) test-lstat$(EXEEXT) \ test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \ test-math$(EXEEXT) test-mbrtowc$(EXEEXT) \ test-mbrtowc-w32$(EXEEXT) test-mbsalign$(EXEEXT) \ test-mbscasecmp$(EXEEXT) test-mbsinit$(EXEEXT) \ test-mbsrtowcs$(EXEEXT) test-mbsstr1$(EXEEXT) \ test-mbsstr2$(EXEEXT) test-mbsstr3$(EXEEXT) \ test-memcasecmp$(EXEEXT) test-memchr$(EXEEXT) \ test-memchr2$(EXEEXT) test-memcoll$(EXEEXT) \ test-memrchr$(EXEEXT) test-mkdir$(EXEEXT) test-mkfifo$(EXEEXT) \ test-mknod$(EXEEXT) test-nanosleep$(EXEEXT) \ test-netdb$(EXEEXT) test-netinet_in$(EXEEXT) \ test-nl_langinfo$(EXEEXT) test-open$(EXEEXT) \ test-openat-safer$(EXEEXT) test-openat$(EXEEXT) \ test-parse-datetime$(EXEEXT) test-pathmax$(EXEEXT) \ test-perror$(EXEEXT) test-perror2$(EXEEXT) test-pipe$(EXEEXT) \ test-pipe2$(EXEEXT) \ test-posix_spawn_file_actions_addclose$(EXEEXT) \ test-posix_spawn_file_actions_adddup2$(EXEEXT) \ test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_1) \ test-posixtm$(EXEEXT) test-printf-frexp$(EXEEXT) \ test-printf-frexpl$(EXEEXT) test-priv-set$(EXEEXT) \ test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \ test-rand-isaac$(EXEEXT) test-rawmemchr$(EXEEXT) \ test-read-file$(EXEEXT) test-read$(EXEEXT) \ test-readlink$(EXEEXT) test-readlinkat$(EXEEXT) \ test-readtokens$(EXEEXT) test-realloc-gnu$(EXEEXT) \ test-regex$(EXEEXT) test-remove$(EXEEXT) test-rename$(EXEEXT) \ test-rmdir$(EXEEXT) test-sched$(EXEEXT) test-select$(EXEEXT) \ test-select-fd$(EXEEXT) test-select-stdin$(EXEEXT) \ test-setenv$(EXEEXT) test-setlocale1$(EXEEXT) \ test-setlocale2$(EXEEXT) test-setsockopt$(EXEEXT) \ test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \ test-signbit$(EXEEXT) test-sigprocmask$(EXEEXT) \ test-sleep$(EXEEXT) test-snprintf$(EXEEXT) \ test-sockets$(EXEEXT) test-spawn-pipe-main$(EXEEXT) \ test-spawn-pipe-child$(EXEEXT) test-spawn$(EXEEXT) \ test-stat$(EXEEXT) test-stat-time$(EXEEXT) \ test-statat$(EXEEXT) test-stdalign$(EXEEXT) \ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \ test-stdint$(EXEEXT) test-stdio$(EXEEXT) test-stdlib$(EXEEXT) \ test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \ test-strerror_r$(EXEEXT) test-strftime$(EXEEXT) \ test-striconv$(EXEEXT) test-string$(EXEEXT) \ test-strncat$(EXEEXT) test-strnlen$(EXEEXT) \ test-strsignal$(EXEEXT) test-strtod$(EXEEXT) \ test-strtoimax$(EXEEXT) test-strtoll$(EXEEXT) \ test-strtoull$(EXEEXT) test-strtoumax$(EXEEXT) \ test-symlink$(EXEEXT) test-symlinkat$(EXEEXT) \ test-sys_ioctl$(EXEEXT) test-sys_resource$(EXEEXT) \ test-sys_select$(EXEEXT) test-sys_socket$(EXEEXT) \ test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \ test-sys_types$(EXEEXT) test-sys_uio$(EXEEXT) \ test-sys_utsname$(EXEEXT) test-sys_wait$(EXEEXT) \ test-termios$(EXEEXT) test-thread_self$(EXEEXT) \ test-thread_create$(EXEEXT) test-time$(EXEEXT) \ test-tls$(EXEEXT) test-u64$(EXEEXT) test-uname$(EXEEXT) \ test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \ test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \ test-uc_width$(EXEEXT) test-uc_width2$(EXEEXT) \ test-unlink$(EXEEXT) test-unlinkat$(EXEEXT) \ test-unsetenv$(EXEEXT) test-userspec$(EXEEXT) \ test-usleep$(EXEEXT) test-utimens$(EXEEXT) \ test-utimensat$(EXEEXT) test-vasnprintf$(EXEEXT) \ test-vasprintf-posix$(EXEEXT) test-vasprintf$(EXEEXT) \ test-verify$(EXEEXT) test-version-etc$(EXEEXT) \ test-vfprintf-posix$(EXEEXT) test-vprintf-posix$(EXEEXT) \ test-wchar$(EXEEXT) test-wcrtomb$(EXEEXT) \ test-wcrtomb-w32$(EXEEXT) test-wctype-h$(EXEEXT) \ test-wcwidth$(EXEEXT) test-write$(EXEEXT) \ test-xalloc-die$(EXEEXT) test-xfprintf-posix$(EXEEXT) \ test-xprintf-posix$(EXEEXT) test-xstrtoimax$(EXEEXT) \ test-xstrtol$(EXEEXT) test-xstrtoul$(EXEEXT) \ test-xstrtoumax$(EXEEXT) test-xvasprintf$(EXEEXT) \ test-yesno$(EXEEXT) @POSIX_SPAWN_PORTED_TRUE@am__append_1 = test-posix_spawn1 test-posix_spawn2 @POSIX_SPAWN_PORTED_TRUE@am__append_2 = test-posix_spawn1 test-posix_spawn2 @POSIX_SPAWN_PORTED_TRUE@am__append_3 = test-posix_spawn1.sh \ @POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh @POSIX_SPAWN_PORTED_TRUE@am__append_4 = test-posix_spawn1.sh \ @POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn1.sh-t \ @POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh \ @POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh-t subdir = gnulib-tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/base64.m4 $(top_srcdir)/m4/bison.m4 \ $(top_srcdir)/m4/boottime.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canon-host.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closein.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \ $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/cycle-check.m4 \ $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/d-type.m4 \ $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/exponentf.m4 \ $(top_srcdir)/m4/exponentl.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 \ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fatal-signal.m4 \ $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fchmodat.m4 \ $(top_srcdir)/m4/fchownat.m4 $(top_srcdir)/m4/fclose.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdatasync.m4 $(top_srcdir)/m4/fdopen.m4 \ $(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \ $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ $(top_srcdir)/m4/fopen.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fpurge.m4 \ $(top_srcdir)/m4/freadahead.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/freadptr.m4 $(top_srcdir)/m4/freadseek.m4 \ $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/frexp.m4 \ $(top_srcdir)/m4/frexpl.m4 $(top_srcdir)/m4/fseek.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fseterr.m4 \ $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ $(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftell.m4 \ $(top_srcdir)/m4/ftello.m4 $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getaddrinfo.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getlogin.m4 \ $(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \ $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/getugroups.m4 \ $(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/gmp.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/group-member.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/hostent.m4 $(top_srcdir)/m4/human.m4 \ $(top_srcdir)/m4/i-ring.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_ntop.m4 \ $(top_srcdir)/m4/inet_pton.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isapipe.m4 \ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/isblank.m4 \ $(top_srcdir)/m4/isnand.m4 $(top_srcdir)/m4/isnanf.m4 \ $(top_srcdir)/m4/isnanl.m4 $(top_srcdir)/m4/iswblank.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/langinfo_h.m4 \ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/ldexp.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-ignore.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localename.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ls-mntd-fs.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrlen.m4 $(top_srcdir)/m4/mbrtowc.m4 \ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/mbtowc.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcoll.m4 \ $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ $(top_srcdir)/m4/mgetgroups.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mknod.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netdb_h.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 \ $(top_srcdir)/m4/non-recursive-gnulib-prefix-hack.m4 \ $(top_srcdir)/m4/nproc.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/physmem.m4 \ $(top_srcdir)/m4/pipe.m4 $(top_srcdir)/m4/pipe2.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posix_spawn.m4 $(top_srcdir)/m4/posixtm.m4 \ $(top_srcdir)/m4/posixver.m4 $(top_srcdir)/m4/prereq.m4 \ $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/pthread.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/read-file.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/remove.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rewinddir.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ $(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/savewd.m4 \ $(top_srcdir)/m4/sched_h.m4 $(top_srcdir)/m4/select.m4 \ $(top_srcdir)/m4/selinux-context-h.m4 \ $(top_srcdir)/m4/selinux-selinux-h.m4 \ $(top_srcdir)/m4/servent.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/settime.m4 \ $(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sha256.m4 \ $(top_srcdir)/m4/sha512.m4 $(top_srcdir)/m4/sig2str.m4 \ $(top_srcdir)/m4/sig_atomic_t.m4 $(top_srcdir)/m4/sigaction.m4 \ $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ $(top_srcdir)/m4/sockets.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/sockpfaf.m4 $(top_srcdir)/m4/spawn-pipe.m4 \ $(top_srcdir)/m4/spawn_h.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-prog.m4 \ $(top_srcdir)/m4/stat-size.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \ $(top_srcdir)/m4/stpncpy.m4 $(top_srcdir)/m4/strchrnul.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strncat.m4 \ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strsignal.m4 \ $(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtoll.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \ $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_resource_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \ $(top_srcdir)/m4/sys_utsname_h.m4 \ $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/termios_h.m4 $(top_srcdir)/m4/thread.m4 \ $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timer_time.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tls.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/uname.m4 $(top_srcdir)/m4/ungetc.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/utimbuf.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 \ $(top_srcdir)/m4/wait-process.m4 $(top_srcdir)/m4/waitpid.m4 \ $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ $(top_srcdir)/m4/wcswidth.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/write.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xattr.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/m4/yesno.m4 \ $(top_srcdir)/m4/yield.m4 $(top_srcdir)/m4/cu-progs.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ libtests_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = am__dirstamp = $(am__leading_dot)dirstamp am_libtests_a_OBJECTS = localename.$(OBJEXT) glthread/thread.$(OBJEXT) \ unlinkdir.$(OBJEXT) libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ "$(DESTDIR)$(man1dir)" @POSIX_SPAWN_PORTED_TRUE@am__EXEEXT_1 = test-posix_spawn1$(EXEEXT) \ @POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(pkglibexec_PROGRAMS) test_accept_SOURCES = test-accept.c test_accept_OBJECTS = test-accept.$(OBJEXT) am__DEPENDENCIES_2 = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_accept_DEPENDENCIES = $(am__DEPENDENCIES_2) test_alignof_SOURCES = test-alignof.c test_alignof_OBJECTS = test-alignof.$(OBJEXT) test_alignof_LDADD = $(LDADD) test_alignof_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_alloca_opt_SOURCES = test-alloca-opt.c test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT) test_alloca_opt_LDADD = $(LDADD) test_alloca_opt_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_areadlink_SOURCES = test-areadlink.c test_areadlink_OBJECTS = test-areadlink.$(OBJEXT) test_areadlink_LDADD = $(LDADD) test_areadlink_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_areadlink_with_size_SOURCES = test-areadlink-with-size.c test_areadlink_with_size_OBJECTS = test-areadlink-with-size.$(OBJEXT) test_areadlink_with_size_LDADD = $(LDADD) test_areadlink_with_size_DEPENDENCIES = libtests.a \ ../lib/libcoreutils.a libtests.a $(am__DEPENDENCIES_1) test_areadlinkat_SOURCES = test-areadlinkat.c test_areadlinkat_OBJECTS = test-areadlinkat.$(OBJEXT) test_areadlinkat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_argmatch_SOURCES = test-argmatch.c test_argmatch_OBJECTS = test-argmatch.$(OBJEXT) test_argmatch_DEPENDENCIES = $(am__DEPENDENCIES_2) test_argv_iter_SOURCES = test-argv-iter.c test_argv_iter_OBJECTS = test-argv-iter.$(OBJEXT) test_argv_iter_LDADD = $(LDADD) test_argv_iter_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_arpa_inet_SOURCES = test-arpa_inet.c test_arpa_inet_OBJECTS = test-arpa_inet.$(OBJEXT) test_arpa_inet_LDADD = $(LDADD) test_arpa_inet_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_base64_SOURCES = test-base64.c test_base64_OBJECTS = test-base64.$(OBJEXT) test_base64_LDADD = $(LDADD) test_base64_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_binary_io_SOURCES = test-binary-io.c test_binary_io_OBJECTS = test-binary-io.$(OBJEXT) test_binary_io_LDADD = $(LDADD) test_binary_io_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_bind_SOURCES = test-bind.c test_bind_OBJECTS = test-bind.$(OBJEXT) test_bind_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_bitrotate_SOURCES = test-bitrotate.c test_bitrotate_OBJECTS = test-bitrotate.$(OBJEXT) test_bitrotate_LDADD = $(LDADD) test_bitrotate_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_btowc_SOURCES = test-btowc.c test_btowc_OBJECTS = test-btowc.$(OBJEXT) test_btowc_LDADD = $(LDADD) test_btowc_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_c_ctype_SOURCES = test-c-ctype.c test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT) test_c_ctype_LDADD = $(LDADD) test_c_ctype_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_c_strcasecmp_SOURCES = test-c-strcasecmp.c test_c_strcasecmp_OBJECTS = test-c-strcasecmp.$(OBJEXT) test_c_strcasecmp_LDADD = $(LDADD) test_c_strcasecmp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_c_strncasecmp_SOURCES = test-c-strncasecmp.c test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT) test_c_strncasecmp_LDADD = $(LDADD) test_c_strncasecmp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_calloc_gnu_SOURCES = test-calloc-gnu.c test_calloc_gnu_OBJECTS = test-calloc-gnu.$(OBJEXT) test_calloc_gnu_LDADD = $(LDADD) test_calloc_gnu_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_canonicalize_SOURCES = test-canonicalize.c test_canonicalize_OBJECTS = test-canonicalize.$(OBJEXT) test_canonicalize_DEPENDENCIES = $(am__DEPENDENCIES_2) test_chdir_SOURCES = test-chdir.c test_chdir_OBJECTS = test-chdir.$(OBJEXT) test_chdir_LDADD = $(LDADD) test_chdir_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_chown_SOURCES = test-chown.c test_chown_OBJECTS = test-chown.$(OBJEXT) test_chown_LDADD = $(LDADD) test_chown_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_cloexec_SOURCES = test-cloexec.c test_cloexec_OBJECTS = test-cloexec.$(OBJEXT) test_cloexec_LDADD = $(LDADD) test_cloexec_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_close_SOURCES = test-close.c test_close_OBJECTS = test-close.$(OBJEXT) test_close_LDADD = $(LDADD) test_close_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_closein_SOURCES = test-closein.c test_closein_OBJECTS = test-closein.$(OBJEXT) test_closein_DEPENDENCIES = $(am__DEPENDENCIES_2) test_connect_SOURCES = test-connect.c test_connect_OBJECTS = test-connect.$(OBJEXT) test_connect_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_copy_acl_SOURCES = test-copy-acl.c test_copy_acl_OBJECTS = test-copy-acl.$(OBJEXT) test_copy_acl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_ctype_SOURCES = test-ctype.c test_ctype_OBJECTS = test-ctype.$(OBJEXT) test_ctype_LDADD = $(LDADD) test_ctype_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_di_set_SOURCES = test-di-set.c test_di_set_OBJECTS = test-di-set.$(OBJEXT) test_di_set_LDADD = $(LDADD) test_di_set_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_dirent_SOURCES = test-dirent.c test_dirent_OBJECTS = test-dirent.$(OBJEXT) test_dirent_LDADD = $(LDADD) test_dirent_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_dirent_safer_SOURCES = test-dirent-safer.c test_dirent_safer_OBJECTS = test-dirent-safer.$(OBJEXT) test_dirent_safer_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_dirname_SOURCES = test-dirname.c test_dirname_OBJECTS = test-dirname.$(OBJEXT) test_dirname_DEPENDENCIES = $(am__DEPENDENCIES_2) test_dup_SOURCES = test-dup.c test_dup_OBJECTS = test-dup.$(OBJEXT) test_dup_LDADD = $(LDADD) test_dup_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_dup_safer_SOURCES = test-dup-safer.c test_dup_safer_OBJECTS = test-dup-safer.$(OBJEXT) test_dup_safer_LDADD = $(LDADD) test_dup_safer_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_dup2_SOURCES = test-dup2.c test_dup2_OBJECTS = test-dup2.$(OBJEXT) test_dup2_LDADD = $(LDADD) test_dup2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_environ_SOURCES = test-environ.c test_environ_OBJECTS = test-environ.$(OBJEXT) test_environ_LDADD = $(LDADD) test_environ_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_errno_SOURCES = test-errno.c test_errno_OBJECTS = test-errno.$(OBJEXT) test_errno_LDADD = $(LDADD) test_errno_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_exclude_SOURCES = test-exclude.c test_exclude_OBJECTS = test-exclude.$(OBJEXT) test_exclude_DEPENDENCIES = $(am__DEPENDENCIES_2) test_faccessat_SOURCES = test-faccessat.c test_faccessat_OBJECTS = test-faccessat.$(OBJEXT) test_faccessat_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_fadvise_SOURCES = test-fadvise.c test_fadvise_OBJECTS = test-fadvise.$(OBJEXT) test_fadvise_LDADD = $(LDADD) test_fadvise_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fchdir_SOURCES = test-fchdir.c test_fchdir_OBJECTS = test-fchdir.$(OBJEXT) test_fchdir_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_fchmodat_SOURCES = test-fchmodat.c test_fchmodat_OBJECTS = test-fchmodat.$(OBJEXT) test_fchmodat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_fchownat_SOURCES = test-fchownat.c test_fchownat_OBJECTS = test-fchownat.$(OBJEXT) test_fchownat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_fclose_SOURCES = test-fclose.c test_fclose_OBJECTS = test-fclose.$(OBJEXT) test_fclose_LDADD = $(LDADD) test_fclose_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fcntl_SOURCES = test-fcntl.c test_fcntl_OBJECTS = test-fcntl.$(OBJEXT) test_fcntl_LDADD = $(LDADD) test_fcntl_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fcntl_h_SOURCES = test-fcntl-h.c test_fcntl_h_OBJECTS = test-fcntl-h.$(OBJEXT) test_fcntl_h_LDADD = $(LDADD) test_fcntl_h_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fcntl_safer_SOURCES = test-fcntl-safer.c test_fcntl_safer_OBJECTS = test-fcntl-safer.$(OBJEXT) test_fcntl_safer_LDADD = $(LDADD) test_fcntl_safer_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fdatasync_SOURCES = test-fdatasync.c test_fdatasync_OBJECTS = test-fdatasync.$(OBJEXT) test_fdatasync_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_fdopen_SOURCES = test-fdopen.c test_fdopen_OBJECTS = test-fdopen.$(OBJEXT) test_fdopen_LDADD = $(LDADD) test_fdopen_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fdopendir_SOURCES = test-fdopendir.c test_fdopendir_OBJECTS = test-fdopendir.$(OBJEXT) test_fdopendir_DEPENDENCIES = $(am__DEPENDENCIES_2) test_fdutimensat_SOURCES = test-fdutimensat.c test_fdutimensat_OBJECTS = test-fdutimensat.$(OBJEXT) test_fdutimensat_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_fflush_SOURCES = test-fflush.c test_fflush_OBJECTS = test-fflush.$(OBJEXT) test_fflush_LDADD = $(LDADD) test_fflush_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fflush2_SOURCES = test-fflush2.c test_fflush2_OBJECTS = test-fflush2.$(OBJEXT) test_fflush2_LDADD = $(LDADD) test_fflush2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fgetc_SOURCES = test-fgetc.c test_fgetc_OBJECTS = test-fgetc.$(OBJEXT) test_fgetc_LDADD = $(LDADD) test_fgetc_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_file_has_acl_SOURCES = test-file-has-acl.c test_file_has_acl_OBJECTS = test-file-has-acl.$(OBJEXT) test_file_has_acl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_filenamecat_SOURCES = test-filenamecat.c test_filenamecat_OBJECTS = test-filenamecat.$(OBJEXT) test_filenamecat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_filevercmp_SOURCES = test-filevercmp.c test_filevercmp_OBJECTS = test-filevercmp.$(OBJEXT) test_filevercmp_LDADD = $(LDADD) test_filevercmp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_float_SOURCES = test-float.c test_float_OBJECTS = test-float.$(OBJEXT) test_float_LDADD = $(LDADD) test_float_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fnmatch_SOURCES = test-fnmatch.c test_fnmatch_OBJECTS = test-fnmatch.$(OBJEXT) test_fnmatch_LDADD = $(LDADD) test_fnmatch_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fopen_SOURCES = test-fopen.c test_fopen_OBJECTS = test-fopen.$(OBJEXT) test_fopen_LDADD = $(LDADD) test_fopen_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fopen_safer_SOURCES = test-fopen-safer.c test_fopen_safer_OBJECTS = test-fopen-safer.$(OBJEXT) test_fopen_safer_LDADD = $(LDADD) test_fopen_safer_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fpending_SOURCES = test-fpending.c test_fpending_OBJECTS = test-fpending.$(OBJEXT) test_fpending_LDADD = $(LDADD) test_fpending_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fpurge_SOURCES = test-fpurge.c test_fpurge_OBJECTS = test-fpurge.$(OBJEXT) test_fpurge_LDADD = $(LDADD) test_fpurge_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fputc_SOURCES = test-fputc.c test_fputc_OBJECTS = test-fputc.$(OBJEXT) test_fputc_LDADD = $(LDADD) test_fputc_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fread_SOURCES = test-fread.c test_fread_OBJECTS = test-fread.$(OBJEXT) test_fread_LDADD = $(LDADD) test_fread_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_freadahead_SOURCES = test-freadahead.c test_freadahead_OBJECTS = test-freadahead.$(OBJEXT) test_freadahead_LDADD = $(LDADD) test_freadahead_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freading_SOURCES = test-freading.c test_freading_OBJECTS = test-freading.$(OBJEXT) test_freading_LDADD = $(LDADD) test_freading_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freadptr_SOURCES = test-freadptr.c test_freadptr_OBJECTS = test-freadptr.$(OBJEXT) test_freadptr_LDADD = $(LDADD) test_freadptr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freadptr2_SOURCES = test-freadptr2.c test_freadptr2_OBJECTS = test-freadptr2.$(OBJEXT) test_freadptr2_LDADD = $(LDADD) test_freadptr2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freadseek_SOURCES = test-freadseek.c test_freadseek_OBJECTS = test-freadseek.$(OBJEXT) test_freadseek_LDADD = $(LDADD) test_freadseek_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freopen_SOURCES = test-freopen.c test_freopen_OBJECTS = test-freopen.$(OBJEXT) test_freopen_LDADD = $(LDADD) test_freopen_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_freopen_safer_SOURCES = test-freopen-safer.c test_freopen_safer_OBJECTS = test-freopen-safer.$(OBJEXT) test_freopen_safer_LDADD = $(LDADD) test_freopen_safer_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) am_test_frexp_nolibm_OBJECTS = test-frexp.$(OBJEXT) randomd.$(OBJEXT) test_frexp_nolibm_OBJECTS = $(am_test_frexp_nolibm_OBJECTS) test_frexp_nolibm_LDADD = $(LDADD) test_frexp_nolibm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) am_test_frexpl_nolibm_OBJECTS = test-frexpl.$(OBJEXT) \ randoml.$(OBJEXT) test_frexpl_nolibm_OBJECTS = $(am_test_frexpl_nolibm_OBJECTS) test_frexpl_nolibm_LDADD = $(LDADD) test_frexpl_nolibm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fseek_SOURCES = test-fseek.c test_fseek_OBJECTS = test-fseek.$(OBJEXT) test_fseek_LDADD = $(LDADD) test_fseek_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fseeko_SOURCES = test-fseeko.c test_fseeko_OBJECTS = test-fseeko.$(OBJEXT) test_fseeko_LDADD = $(LDADD) test_fseeko_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fseeko3_SOURCES = test-fseeko3.c test_fseeko3_OBJECTS = test-fseeko3.$(OBJEXT) test_fseeko3_LDADD = $(LDADD) test_fseeko3_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fseeko4_SOURCES = test-fseeko4.c test_fseeko4_OBJECTS = test-fseeko4.$(OBJEXT) test_fseeko4_LDADD = $(LDADD) test_fseeko4_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fseterr_SOURCES = test-fseterr.c test_fseterr_OBJECTS = test-fseterr.$(OBJEXT) test_fseterr_LDADD = $(LDADD) test_fseterr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_fstat_SOURCES = test-fstat.c test_fstat_OBJECTS = test-fstat.$(OBJEXT) test_fstat_LDADD = $(LDADD) test_fstat_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_fstatat_SOURCES = test-fstatat.c test_fstatat_OBJECTS = test-fstatat.$(OBJEXT) test_fstatat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_fsync_SOURCES = test-fsync.c test_fsync_OBJECTS = test-fsync.$(OBJEXT) test_fsync_LDADD = $(LDADD) test_fsync_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_ftell_SOURCES = test-ftell.c test_ftell_OBJECTS = test-ftell.$(OBJEXT) test_ftell_LDADD = $(LDADD) test_ftell_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_ftell3_SOURCES = test-ftell3.c test_ftell3_OBJECTS = test-ftell3.$(OBJEXT) test_ftell3_LDADD = $(LDADD) test_ftell3_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_ftello_SOURCES = test-ftello.c test_ftello_OBJECTS = test-ftello.$(OBJEXT) test_ftello_LDADD = $(LDADD) test_ftello_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_ftello3_SOURCES = test-ftello3.c test_ftello3_OBJECTS = test-ftello3.$(OBJEXT) test_ftello3_LDADD = $(LDADD) test_ftello3_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_ftello4_SOURCES = test-ftello4.c test_ftello4_OBJECTS = test-ftello4.$(OBJEXT) test_ftello4_LDADD = $(LDADD) test_ftello4_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_ftruncate_SOURCES = test-ftruncate.c test_ftruncate_OBJECTS = test-ftruncate.$(OBJEXT) test_ftruncate_LDADD = $(LDADD) test_ftruncate_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_futimens_SOURCES = test-futimens.c test_futimens_OBJECTS = test-futimens.$(OBJEXT) test_futimens_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_fwrite_SOURCES = test-fwrite.c test_fwrite_OBJECTS = test-fwrite.$(OBJEXT) test_fwrite_LDADD = $(LDADD) test_fwrite_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_getaddrinfo_SOURCES = test-getaddrinfo.c test_getaddrinfo_OBJECTS = test-getaddrinfo.$(OBJEXT) test_getaddrinfo_DEPENDENCIES = $(am__DEPENDENCIES_2) test_getcwd_SOURCES = test-getcwd.c test_getcwd_OBJECTS = test-getcwd.$(OBJEXT) test_getcwd_DEPENDENCIES = $(am__DEPENDENCIES_2) test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT) test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_getdelim_SOURCES = test-getdelim.c test_getdelim_OBJECTS = test-getdelim.$(OBJEXT) test_getdelim_LDADD = $(LDADD) test_getdelim_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_getdtablesize_SOURCES = test-getdtablesize.c test_getdtablesize_OBJECTS = test-getdtablesize.$(OBJEXT) test_getdtablesize_LDADD = $(LDADD) test_getdtablesize_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_getgroups_SOURCES = test-getgroups.c test_getgroups_OBJECTS = test-getgroups.$(OBJEXT) test_getgroups_LDADD = $(LDADD) test_getgroups_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_gethostname_SOURCES = test-gethostname.c test_gethostname_OBJECTS = test-gethostname.$(OBJEXT) test_gethostname_DEPENDENCIES = $(am__DEPENDENCIES_2) test_getline_SOURCES = test-getline.c test_getline_OBJECTS = test-getline.$(OBJEXT) test_getline_LDADD = $(LDADD) test_getline_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_getloadavg_SOURCES = test-getloadavg.c test_getloadavg_OBJECTS = test-getloadavg.$(OBJEXT) test_getloadavg_DEPENDENCIES = $(am__DEPENDENCIES_2) test_getlogin_SOURCES = test-getlogin.c test_getlogin_OBJECTS = test-getlogin.$(OBJEXT) test_getlogin_LDADD = $(LDADD) test_getlogin_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_getndelim2_SOURCES = test-getndelim2.c test_getndelim2_OBJECTS = test-getndelim2.$(OBJEXT) test_getndelim2_LDADD = $(LDADD) test_getndelim2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_getopt_SOURCES = test-getopt.c test_getopt_OBJECTS = test-getopt.$(OBJEXT) test_getopt_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_gettimeofday_SOURCES = test-gettimeofday.c test_gettimeofday_OBJECTS = test-gettimeofday.$(OBJEXT) test_gettimeofday_LDADD = $(LDADD) test_gettimeofday_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_hash_SOURCES = test-hash.c test_hash_OBJECTS = test-hash.$(OBJEXT) test_hash_LDADD = $(LDADD) test_hash_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_i_ring_SOURCES = test-i-ring.c test_i_ring_OBJECTS = test-i-ring.$(OBJEXT) test_i_ring_LDADD = $(LDADD) test_i_ring_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_iconv_SOURCES = test-iconv.c test_iconv_OBJECTS = test-iconv.$(OBJEXT) test_iconv_DEPENDENCIES = $(am__DEPENDENCIES_2) test_iconv_h_SOURCES = test-iconv-h.c test_iconv_h_OBJECTS = test-iconv-h.$(OBJEXT) test_iconv_h_LDADD = $(LDADD) test_iconv_h_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_ignore_value_SOURCES = test-ignore-value.c test_ignore_value_OBJECTS = test-ignore-value.$(OBJEXT) test_ignore_value_LDADD = $(LDADD) test_ignore_value_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_inet_ntop_SOURCES = test-inet_ntop.c test_inet_ntop_OBJECTS = test-inet_ntop.$(OBJEXT) test_inet_ntop_DEPENDENCIES = $(am__DEPENDENCIES_2) test_inet_pton_SOURCES = test-inet_pton.c test_inet_pton_OBJECTS = test-inet_pton.$(OBJEXT) test_inet_pton_DEPENDENCIES = $(am__DEPENDENCIES_2) test_ino_map_SOURCES = test-ino-map.c test_ino_map_OBJECTS = test-ino-map.$(OBJEXT) test_ino_map_LDADD = $(LDADD) test_ino_map_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_intprops_SOURCES = test-intprops.c test_intprops_OBJECTS = test-intprops.$(OBJEXT) test_intprops_LDADD = $(LDADD) test_intprops_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_inttostr_SOURCES = test-inttostr.c test_inttostr_OBJECTS = test-inttostr.$(OBJEXT) test_inttostr_LDADD = $(LDADD) test_inttostr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_inttypes_SOURCES = test-inttypes.c test_inttypes_OBJECTS = test-inttypes.$(OBJEXT) test_inttypes_LDADD = $(LDADD) test_inttypes_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_ioctl_SOURCES = test-ioctl.c test_ioctl_OBJECTS = test-ioctl.$(OBJEXT) test_ioctl_LDADD = $(LDADD) test_ioctl_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_isatty_SOURCES = test-isatty.c test_isatty_OBJECTS = test-isatty.$(OBJEXT) test_isatty_LDADD = $(LDADD) test_isatty_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_isblank_SOURCES = test-isblank.c test_isblank_OBJECTS = test-isblank.$(OBJEXT) test_isblank_LDADD = $(LDADD) test_isblank_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_isnand_nolibm_SOURCES = test-isnand-nolibm.c test_isnand_nolibm_OBJECTS = test-isnand-nolibm.$(OBJEXT) test_isnand_nolibm_LDADD = $(LDADD) test_isnand_nolibm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_isnanf_nolibm_SOURCES = test-isnanf-nolibm.c test_isnanf_nolibm_OBJECTS = test-isnanf-nolibm.$(OBJEXT) test_isnanf_nolibm_LDADD = $(LDADD) test_isnanf_nolibm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_isnanl_nolibm_SOURCES = test-isnanl-nolibm.c test_isnanl_nolibm_OBJECTS = test-isnanl-nolibm.$(OBJEXT) test_isnanl_nolibm_LDADD = $(LDADD) test_isnanl_nolibm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_iswblank_SOURCES = test-iswblank.c test_iswblank_OBJECTS = test-iswblank.$(OBJEXT) test_iswblank_LDADD = $(LDADD) test_iswblank_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_langinfo_SOURCES = test-langinfo.c test_langinfo_OBJECTS = test-langinfo.$(OBJEXT) test_langinfo_LDADD = $(LDADD) test_langinfo_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_lchown_SOURCES = test-lchown.c test_lchown_OBJECTS = test-lchown.$(OBJEXT) test_lchown_LDADD = $(LDADD) test_lchown_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_link_SOURCES = test-link.c test_link_OBJECTS = test-link.$(OBJEXT) test_link_DEPENDENCIES = $(am__DEPENDENCIES_2) test_linkat_SOURCES = test-linkat.c test_linkat_OBJECTS = test-linkat.$(OBJEXT) test_linkat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_listen_SOURCES = test-listen.c test_listen_OBJECTS = test-listen.$(OBJEXT) test_listen_DEPENDENCIES = $(am__DEPENDENCIES_2) test_locale_SOURCES = test-locale.c test_locale_OBJECTS = test-locale.$(OBJEXT) test_locale_LDADD = $(LDADD) test_locale_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_localeconv_SOURCES = test-localeconv.c test_localeconv_OBJECTS = test-localeconv.$(OBJEXT) test_localeconv_LDADD = $(LDADD) test_localeconv_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_localename_SOURCES = test-localename.c test_localename_OBJECTS = test-localename.$(OBJEXT) test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_lock_SOURCES = test-lock.c test_lock_OBJECTS = test_lock-test-lock.$(OBJEXT) test_lock_DEPENDENCIES = $(am__DEPENDENCIES_2) test_lock_LINK = $(CCLD) $(test_lock_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ test_lseek_SOURCES = test-lseek.c test_lseek_OBJECTS = test-lseek.$(OBJEXT) test_lseek_LDADD = $(LDADD) test_lseek_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_lstat_SOURCES = test-lstat.c test_lstat_OBJECTS = test-lstat.$(OBJEXT) test_lstat_LDADD = $(LDADD) test_lstat_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_malloc_gnu_SOURCES = test-malloc-gnu.c test_malloc_gnu_OBJECTS = test-malloc-gnu.$(OBJEXT) test_malloc_gnu_LDADD = $(LDADD) test_malloc_gnu_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_malloca_SOURCES = test-malloca.c test_malloca_OBJECTS = test-malloca.$(OBJEXT) test_malloca_LDADD = $(LDADD) test_malloca_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_math_SOURCES = test-math.c test_math_OBJECTS = test-math.$(OBJEXT) test_math_LDADD = $(LDADD) test_math_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_mbrtowc_SOURCES = test-mbrtowc.c test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT) test_mbrtowc_LDADD = $(LDADD) test_mbrtowc_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbrtowc_w32_SOURCES = test-mbrtowc-w32.c test_mbrtowc_w32_OBJECTS = test-mbrtowc-w32.$(OBJEXT) test_mbrtowc_w32_LDADD = $(LDADD) test_mbrtowc_w32_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsalign_SOURCES = test-mbsalign.c test_mbsalign_OBJECTS = test-mbsalign.$(OBJEXT) test_mbsalign_LDADD = $(LDADD) test_mbsalign_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbscasecmp_SOURCES = test-mbscasecmp.c test_mbscasecmp_OBJECTS = test-mbscasecmp.$(OBJEXT) test_mbscasecmp_LDADD = $(LDADD) test_mbscasecmp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsinit_SOURCES = test-mbsinit.c test_mbsinit_OBJECTS = test-mbsinit.$(OBJEXT) test_mbsinit_LDADD = $(LDADD) test_mbsinit_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsrtowcs_SOURCES = test-mbsrtowcs.c test_mbsrtowcs_OBJECTS = test-mbsrtowcs.$(OBJEXT) test_mbsrtowcs_LDADD = $(LDADD) test_mbsrtowcs_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsstr1_SOURCES = test-mbsstr1.c test_mbsstr1_OBJECTS = test-mbsstr1.$(OBJEXT) test_mbsstr1_LDADD = $(LDADD) test_mbsstr1_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsstr2_SOURCES = test-mbsstr2.c test_mbsstr2_OBJECTS = test-mbsstr2.$(OBJEXT) test_mbsstr2_LDADD = $(LDADD) test_mbsstr2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mbsstr3_SOURCES = test-mbsstr3.c test_mbsstr3_OBJECTS = test-mbsstr3.$(OBJEXT) test_mbsstr3_LDADD = $(LDADD) test_mbsstr3_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_md5_SOURCES = test-md5.c test_md5_OBJECTS = test-md5.$(OBJEXT) test_md5_LDADD = $(LDADD) test_md5_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_memcasecmp_SOURCES = test-memcasecmp.c test_memcasecmp_OBJECTS = test-memcasecmp.$(OBJEXT) test_memcasecmp_LDADD = $(LDADD) test_memcasecmp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_memchr_SOURCES = test-memchr.c test_memchr_OBJECTS = test-memchr.$(OBJEXT) test_memchr_LDADD = $(LDADD) test_memchr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_memchr2_SOURCES = test-memchr2.c test_memchr2_OBJECTS = test-memchr2.$(OBJEXT) test_memchr2_LDADD = $(LDADD) test_memchr2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_memcoll_SOURCES = test-memcoll.c test_memcoll_OBJECTS = test-memcoll.$(OBJEXT) test_memcoll_LDADD = $(LDADD) test_memcoll_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_memrchr_SOURCES = test-memrchr.c test_memrchr_OBJECTS = test-memrchr.$(OBJEXT) test_memrchr_LDADD = $(LDADD) test_memrchr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_mkdir_SOURCES = test-mkdir.c test_mkdir_OBJECTS = test-mkdir.$(OBJEXT) test_mkdir_LDADD = $(LDADD) test_mkdir_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_mkfifo_SOURCES = test-mkfifo.c test_mkfifo_OBJECTS = test-mkfifo.$(OBJEXT) test_mkfifo_LDADD = $(LDADD) test_mkfifo_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_mknod_SOURCES = test-mknod.c test_mknod_OBJECTS = test-mknod.$(OBJEXT) test_mknod_LDADD = $(LDADD) test_mknod_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_nanosleep_SOURCES = test-nanosleep.c test_nanosleep_OBJECTS = test-nanosleep.$(OBJEXT) test_nanosleep_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_netdb_SOURCES = test-netdb.c test_netdb_OBJECTS = test-netdb.$(OBJEXT) test_netdb_LDADD = $(LDADD) test_netdb_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_netinet_in_SOURCES = test-netinet_in.c test_netinet_in_OBJECTS = test-netinet_in.$(OBJEXT) test_netinet_in_LDADD = $(LDADD) test_netinet_in_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_nl_langinfo_SOURCES = test-nl_langinfo.c test_nl_langinfo_OBJECTS = test-nl_langinfo.$(OBJEXT) test_nl_langinfo_LDADD = $(LDADD) test_nl_langinfo_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_open_SOURCES = test-open.c test_open_OBJECTS = test-open.$(OBJEXT) test_open_LDADD = $(LDADD) test_open_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_openat_SOURCES = test-openat.c test_openat_OBJECTS = test-openat.$(OBJEXT) test_openat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_openat_safer_SOURCES = test-openat-safer.c test_openat_safer_OBJECTS = test-openat-safer.$(OBJEXT) test_openat_safer_DEPENDENCIES = $(am__DEPENDENCIES_2) test_parse_datetime_SOURCES = test-parse-datetime.c test_parse_datetime_OBJECTS = test-parse-datetime.$(OBJEXT) test_parse_datetime_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_pathmax_SOURCES = test-pathmax.c test_pathmax_OBJECTS = test-pathmax.$(OBJEXT) test_pathmax_LDADD = $(LDADD) test_pathmax_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_perror_SOURCES = test-perror.c test_perror_OBJECTS = test-perror.$(OBJEXT) test_perror_LDADD = $(LDADD) test_perror_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_perror2_SOURCES = test-perror2.c test_perror2_OBJECTS = test-perror2.$(OBJEXT) test_perror2_LDADD = $(LDADD) test_perror2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_pipe_SOURCES = test-pipe.c test_pipe_OBJECTS = test-pipe.$(OBJEXT) test_pipe_LDADD = $(LDADD) test_pipe_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_pipe2_SOURCES = test-pipe2.c test_pipe2_OBJECTS = test-pipe2.$(OBJEXT) test_pipe2_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_posix_spawn1_SOURCES = test-posix_spawn1.c test_posix_spawn1_OBJECTS = test-posix_spawn1.$(OBJEXT) test_posix_spawn1_LDADD = $(LDADD) test_posix_spawn1_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_posix_spawn2_SOURCES = test-posix_spawn2.c test_posix_spawn2_OBJECTS = test-posix_spawn2.$(OBJEXT) test_posix_spawn2_LDADD = $(LDADD) test_posix_spawn2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_posix_spawn_file_actions_addclose_SOURCES = \ test-posix_spawn_file_actions_addclose.c test_posix_spawn_file_actions_addclose_OBJECTS = \ test-posix_spawn_file_actions_addclose.$(OBJEXT) test_posix_spawn_file_actions_addclose_LDADD = $(LDADD) test_posix_spawn_file_actions_addclose_DEPENDENCIES = libtests.a \ ../lib/libcoreutils.a libtests.a $(am__DEPENDENCIES_1) test_posix_spawn_file_actions_adddup2_SOURCES = \ test-posix_spawn_file_actions_adddup2.c test_posix_spawn_file_actions_adddup2_OBJECTS = \ test-posix_spawn_file_actions_adddup2.$(OBJEXT) test_posix_spawn_file_actions_adddup2_LDADD = $(LDADD) test_posix_spawn_file_actions_adddup2_DEPENDENCIES = libtests.a \ ../lib/libcoreutils.a libtests.a $(am__DEPENDENCIES_1) test_posix_spawn_file_actions_addopen_SOURCES = \ test-posix_spawn_file_actions_addopen.c test_posix_spawn_file_actions_addopen_OBJECTS = \ test-posix_spawn_file_actions_addopen.$(OBJEXT) test_posix_spawn_file_actions_addopen_LDADD = $(LDADD) test_posix_spawn_file_actions_addopen_DEPENDENCIES = libtests.a \ ../lib/libcoreutils.a libtests.a $(am__DEPENDENCIES_1) test_posixtm_SOURCES = test-posixtm.c test_posixtm_OBJECTS = test-posixtm.$(OBJEXT) test_posixtm_LDADD = $(LDADD) test_posixtm_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_printf_frexp_SOURCES = test-printf-frexp.c test_printf_frexp_OBJECTS = test-printf-frexp.$(OBJEXT) test_printf_frexp_LDADD = $(LDADD) test_printf_frexp_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_printf_frexpl_SOURCES = test-printf-frexpl.c test_printf_frexpl_OBJECTS = test-printf-frexpl.$(OBJEXT) test_printf_frexpl_LDADD = $(LDADD) test_printf_frexpl_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_priv_set_SOURCES = test-priv-set.c test_priv_set_OBJECTS = test-priv-set.$(OBJEXT) test_priv_set_LDADD = $(LDADD) test_priv_set_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_quotearg_simple_SOURCES = test-quotearg-simple.c test_quotearg_simple_OBJECTS = test-quotearg-simple.$(OBJEXT) test_quotearg_simple_DEPENDENCIES = $(am__DEPENDENCIES_2) test_raise_SOURCES = test-raise.c test_raise_OBJECTS = test-raise.$(OBJEXT) test_raise_LDADD = $(LDADD) test_raise_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_rand_isaac_SOURCES = test-rand-isaac.c test_rand_isaac_OBJECTS = test-rand-isaac.$(OBJEXT) test_rand_isaac_LDADD = $(LDADD) test_rand_isaac_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_rawmemchr_SOURCES = test-rawmemchr.c test_rawmemchr_OBJECTS = test-rawmemchr.$(OBJEXT) test_rawmemchr_LDADD = $(LDADD) test_rawmemchr_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_read_SOURCES = test-read.c test_read_OBJECTS = test-read.$(OBJEXT) test_read_LDADD = $(LDADD) test_read_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_read_file_SOURCES = test-read-file.c test_read_file_OBJECTS = test-read-file.$(OBJEXT) test_read_file_LDADD = $(LDADD) test_read_file_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_readlink_SOURCES = test-readlink.c test_readlink_OBJECTS = test-readlink.$(OBJEXT) test_readlink_LDADD = $(LDADD) test_readlink_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_readlinkat_SOURCES = test-readlinkat.c test_readlinkat_OBJECTS = test-readlinkat.$(OBJEXT) test_readlinkat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_readtokens_SOURCES = test-readtokens.c test_readtokens_OBJECTS = test-readtokens.$(OBJEXT) test_readtokens_DEPENDENCIES = $(am__DEPENDENCIES_2) test_realloc_gnu_SOURCES = test-realloc-gnu.c test_realloc_gnu_OBJECTS = test-realloc-gnu.$(OBJEXT) test_realloc_gnu_LDADD = $(LDADD) test_realloc_gnu_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_regex_SOURCES = test-regex.c test_regex_OBJECTS = test-regex.$(OBJEXT) test_regex_DEPENDENCIES = $(am__DEPENDENCIES_2) test_remove_SOURCES = test-remove.c test_remove_OBJECTS = test-remove.$(OBJEXT) test_remove_LDADD = $(LDADD) test_remove_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_rename_SOURCES = test-rename.c test_rename_OBJECTS = test-rename.$(OBJEXT) test_rename_DEPENDENCIES = $(am__DEPENDENCIES_2) test_rmdir_SOURCES = test-rmdir.c test_rmdir_OBJECTS = test-rmdir.$(OBJEXT) test_rmdir_LDADD = $(LDADD) test_rmdir_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_sameacls_SOURCES = test-sameacls.c test_sameacls_OBJECTS = test-sameacls.$(OBJEXT) test_sameacls_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_sched_SOURCES = test-sched.c test_sched_OBJECTS = test-sched.$(OBJEXT) test_sched_LDADD = $(LDADD) test_sched_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_select_SOURCES = test-select.c test_select_OBJECTS = test-select.$(OBJEXT) test_select_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_select_fd_SOURCES = test-select-fd.c test_select_fd_OBJECTS = test-select-fd.$(OBJEXT) test_select_fd_DEPENDENCIES = $(am__DEPENDENCIES_2) test_select_stdin_SOURCES = test-select-stdin.c test_select_stdin_OBJECTS = test-select-stdin.$(OBJEXT) test_select_stdin_DEPENDENCIES = $(am__DEPENDENCIES_2) test_set_mode_acl_SOURCES = test-set-mode-acl.c test_set_mode_acl_OBJECTS = test-set-mode-acl.$(OBJEXT) test_set_mode_acl_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_setenv_SOURCES = test-setenv.c test_setenv_OBJECTS = test-setenv.$(OBJEXT) test_setenv_LDADD = $(LDADD) test_setenv_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_setlocale1_SOURCES = test-setlocale1.c test_setlocale1_OBJECTS = test-setlocale1.$(OBJEXT) test_setlocale1_LDADD = $(LDADD) test_setlocale1_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_setlocale2_SOURCES = test-setlocale2.c test_setlocale2_OBJECTS = test-setlocale2.$(OBJEXT) test_setlocale2_LDADD = $(LDADD) test_setlocale2_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_setsockopt_SOURCES = test-setsockopt.c test_setsockopt_OBJECTS = test-setsockopt.$(OBJEXT) test_setsockopt_DEPENDENCIES = $(am__DEPENDENCIES_2) test_sha1_SOURCES = test-sha1.c test_sha1_OBJECTS = test-sha1.$(OBJEXT) test_sha1_LDADD = $(LDADD) test_sha1_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_sigaction_SOURCES = test-sigaction.c test_sigaction_OBJECTS = test-sigaction.$(OBJEXT) test_sigaction_LDADD = $(LDADD) test_sigaction_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_signal_h_SOURCES = test-signal-h.c test_signal_h_OBJECTS = test-signal-h.$(OBJEXT) test_signal_h_LDADD = $(LDADD) test_signal_h_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_signbit_SOURCES = test-signbit.c test_signbit_OBJECTS = test-signbit.$(OBJEXT) test_signbit_LDADD = $(LDADD) test_signbit_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sigprocmask_SOURCES = test-sigprocmask.c test_sigprocmask_OBJECTS = test-sigprocmask.$(OBJEXT) test_sigprocmask_LDADD = $(LDADD) test_sigprocmask_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sleep_SOURCES = test-sleep.c test_sleep_OBJECTS = test-sleep.$(OBJEXT) test_sleep_LDADD = $(LDADD) test_sleep_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_snprintf_SOURCES = test-snprintf.c test_snprintf_OBJECTS = test-snprintf.$(OBJEXT) test_snprintf_LDADD = $(LDADD) test_snprintf_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sockets_SOURCES = test-sockets.c test_sockets_OBJECTS = test-sockets.$(OBJEXT) test_sockets_DEPENDENCIES = $(am__DEPENDENCIES_2) test_spawn_SOURCES = test-spawn.c test_spawn_OBJECTS = test-spawn.$(OBJEXT) test_spawn_LDADD = $(LDADD) test_spawn_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_spawn_pipe_child_SOURCES = test-spawn-pipe-child.c test_spawn_pipe_child_OBJECTS = test-spawn-pipe-child.$(OBJEXT) test_spawn_pipe_child_DEPENDENCIES = test_spawn_pipe_main_SOURCES = test-spawn-pipe-main.c test_spawn_pipe_main_OBJECTS = test-spawn-pipe-main.$(OBJEXT) test_spawn_pipe_main_DEPENDENCIES = $(am__DEPENDENCIES_2) test_stat_SOURCES = test-stat.c test_stat_OBJECTS = test-stat.$(OBJEXT) test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) test_stat_time_SOURCES = test-stat-time.c test_stat_time_OBJECTS = test-stat-time.$(OBJEXT) test_stat_time_LDADD = $(LDADD) test_stat_time_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_statat_SOURCES = test-statat.c test_statat_OBJECTS = test-statat.$(OBJEXT) test_statat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_stdalign_SOURCES = test-stdalign.c test_stdalign_OBJECTS = test-stdalign.$(OBJEXT) test_stdalign_LDADD = $(LDADD) test_stdalign_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_stdbool_SOURCES = test-stdbool.c test_stdbool_OBJECTS = test-stdbool.$(OBJEXT) test_stdbool_LDADD = $(LDADD) test_stdbool_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_stddef_SOURCES = test-stddef.c test_stddef_OBJECTS = test-stddef.$(OBJEXT) test_stddef_LDADD = $(LDADD) test_stddef_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_stdint_SOURCES = test-stdint.c test_stdint_OBJECTS = test-stdint.$(OBJEXT) test_stdint_LDADD = $(LDADD) test_stdint_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_stdio_SOURCES = test-stdio.c test_stdio_OBJECTS = test-stdio.$(OBJEXT) test_stdio_LDADD = $(LDADD) test_stdio_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_stdlib_SOURCES = test-stdlib.c test_stdlib_OBJECTS = test-stdlib.$(OBJEXT) test_stdlib_LDADD = $(LDADD) test_stdlib_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_strchrnul_SOURCES = test-strchrnul.c test_strchrnul_OBJECTS = test-strchrnul.$(OBJEXT) test_strchrnul_LDADD = $(LDADD) test_strchrnul_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strerror_SOURCES = test-strerror.c test_strerror_OBJECTS = test-strerror.$(OBJEXT) test_strerror_LDADD = $(LDADD) test_strerror_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strerror_r_SOURCES = test-strerror_r.c test_strerror_r_OBJECTS = test-strerror_r.$(OBJEXT) test_strerror_r_LDADD = $(LDADD) test_strerror_r_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strftime_SOURCES = test-strftime.c test_strftime_OBJECTS = test-strftime.$(OBJEXT) test_strftime_LDADD = $(LDADD) test_strftime_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_striconv_SOURCES = test-striconv.c test_striconv_OBJECTS = test-striconv.$(OBJEXT) test_striconv_DEPENDENCIES = $(am__DEPENDENCIES_2) test_string_SOURCES = test-string.c test_string_OBJECTS = test-string.$(OBJEXT) test_string_LDADD = $(LDADD) test_string_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_strncat_SOURCES = test-strncat.c test_strncat_OBJECTS = test-strncat.$(OBJEXT) test_strncat_LDADD = $(LDADD) test_strncat_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strnlen_SOURCES = test-strnlen.c test_strnlen_OBJECTS = test-strnlen.$(OBJEXT) test_strnlen_LDADD = $(LDADD) test_strnlen_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strsignal_SOURCES = test-strsignal.c test_strsignal_OBJECTS = test-strsignal.$(OBJEXT) test_strsignal_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_strtod_SOURCES = test-strtod.c test_strtod_OBJECTS = test-strtod.$(OBJEXT) test_strtod_LDADD = $(LDADD) test_strtod_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_strtoimax_SOURCES = test-strtoimax.c test_strtoimax_OBJECTS = test-strtoimax.$(OBJEXT) test_strtoimax_LDADD = $(LDADD) test_strtoimax_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strtoll_SOURCES = test-strtoll.c test_strtoll_OBJECTS = test-strtoll.$(OBJEXT) test_strtoll_LDADD = $(LDADD) test_strtoll_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strtoull_SOURCES = test-strtoull.c test_strtoull_OBJECTS = test-strtoull.$(OBJEXT) test_strtoull_LDADD = $(LDADD) test_strtoull_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_strtoumax_SOURCES = test-strtoumax.c test_strtoumax_OBJECTS = test-strtoumax.$(OBJEXT) test_strtoumax_LDADD = $(LDADD) test_strtoumax_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_symlink_SOURCES = test-symlink.c test_symlink_OBJECTS = test-symlink.$(OBJEXT) test_symlink_LDADD = $(LDADD) test_symlink_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_symlinkat_SOURCES = test-symlinkat.c test_symlinkat_OBJECTS = test-symlinkat.$(OBJEXT) test_symlinkat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_sys_ioctl_SOURCES = test-sys_ioctl.c test_sys_ioctl_OBJECTS = test-sys_ioctl.$(OBJEXT) test_sys_ioctl_LDADD = $(LDADD) test_sys_ioctl_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_resource_SOURCES = test-sys_resource.c test_sys_resource_OBJECTS = test-sys_resource.$(OBJEXT) test_sys_resource_LDADD = $(LDADD) test_sys_resource_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_select_SOURCES = test-sys_select.c test_sys_select_OBJECTS = test-sys_select.$(OBJEXT) test_sys_select_LDADD = $(LDADD) test_sys_select_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_socket_SOURCES = test-sys_socket.c test_sys_socket_OBJECTS = test-sys_socket.$(OBJEXT) test_sys_socket_LDADD = $(LDADD) test_sys_socket_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_stat_SOURCES = test-sys_stat.c test_sys_stat_OBJECTS = test-sys_stat.$(OBJEXT) test_sys_stat_LDADD = $(LDADD) test_sys_stat_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_time_SOURCES = test-sys_time.c test_sys_time_OBJECTS = test-sys_time.$(OBJEXT) test_sys_time_LDADD = $(LDADD) test_sys_time_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_types_SOURCES = test-sys_types.c test_sys_types_OBJECTS = test-sys_types.$(OBJEXT) test_sys_types_LDADD = $(LDADD) test_sys_types_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_uio_SOURCES = test-sys_uio.c test_sys_uio_OBJECTS = test-sys_uio.$(OBJEXT) test_sys_uio_LDADD = $(LDADD) test_sys_uio_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_utsname_SOURCES = test-sys_utsname.c test_sys_utsname_OBJECTS = test-sys_utsname.$(OBJEXT) test_sys_utsname_LDADD = $(LDADD) test_sys_utsname_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_sys_wait_SOURCES = test-sys_wait.c test_sys_wait_OBJECTS = test-sys_wait.$(OBJEXT) test_sys_wait_LDADD = $(LDADD) test_sys_wait_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_termios_SOURCES = test-termios.c test_termios_OBJECTS = test-termios.$(OBJEXT) test_termios_LDADD = $(LDADD) test_termios_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_thread_create_SOURCES = test-thread_create.c test_thread_create_OBJECTS = test-thread_create.$(OBJEXT) test_thread_create_DEPENDENCIES = $(am__DEPENDENCIES_2) test_thread_self_SOURCES = test-thread_self.c test_thread_self_OBJECTS = test-thread_self.$(OBJEXT) test_thread_self_DEPENDENCIES = $(am__DEPENDENCIES_2) test_time_SOURCES = test-time.c test_time_OBJECTS = test-time.$(OBJEXT) test_time_LDADD = $(LDADD) test_time_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_tls_SOURCES = test-tls.c test_tls_OBJECTS = test_tls-test-tls.$(OBJEXT) test_tls_DEPENDENCIES = $(am__DEPENDENCIES_2) test_tls_LINK = $(CCLD) $(test_tls_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ test_u64_SOURCES = test-u64.c test_u64_OBJECTS = test-u64.$(OBJEXT) test_u64_LDADD = $(LDADD) test_u64_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) am_test_u8_mbtoucr_OBJECTS = unistr/test-u8-mbtoucr.$(OBJEXT) test_u8_mbtoucr_OBJECTS = $(am_test_u8_mbtoucr_OBJECTS) test_u8_mbtoucr_DEPENDENCIES = $(am__DEPENDENCIES_2) am_test_u8_uctomb_OBJECTS = unistr/test-u8-uctomb.$(OBJEXT) test_u8_uctomb_OBJECTS = $(am_test_u8_uctomb_OBJECTS) test_u8_uctomb_DEPENDENCIES = $(am__DEPENDENCIES_2) am_test_uc_width_OBJECTS = uniwidth/test-uc_width.$(OBJEXT) test_uc_width_OBJECTS = $(am_test_uc_width_OBJECTS) test_uc_width_DEPENDENCIES = $(am__DEPENDENCIES_2) am_test_uc_width2_OBJECTS = uniwidth/test-uc_width2.$(OBJEXT) test_uc_width2_OBJECTS = $(am_test_uc_width2_OBJECTS) test_uc_width2_DEPENDENCIES = $(am__DEPENDENCIES_2) test_uname_SOURCES = test-uname.c test_uname_OBJECTS = test-uname.$(OBJEXT) test_uname_DEPENDENCIES = $(am__DEPENDENCIES_2) test_unistd_SOURCES = test-unistd.c test_unistd_OBJECTS = test-unistd.$(OBJEXT) test_unistd_LDADD = $(LDADD) test_unistd_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_unlink_SOURCES = test-unlink.c test_unlink_OBJECTS = test-unlink.$(OBJEXT) test_unlink_LDADD = $(LDADD) test_unlink_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_unlinkat_SOURCES = test-unlinkat.c test_unlinkat_OBJECTS = test-unlinkat.$(OBJEXT) test_unlinkat_DEPENDENCIES = $(am__DEPENDENCIES_2) test_unsetenv_SOURCES = test-unsetenv.c test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT) test_unsetenv_LDADD = $(LDADD) test_unsetenv_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_userspec_SOURCES = test-userspec.c test_userspec_OBJECTS = test-userspec.$(OBJEXT) test_userspec_DEPENDENCIES = $(am__DEPENDENCIES_2) test_usleep_SOURCES = test-usleep.c test_usleep_OBJECTS = test-usleep.$(OBJEXT) test_usleep_LDADD = $(LDADD) test_usleep_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_utimens_SOURCES = test-utimens.c test_utimens_OBJECTS = test-utimens.$(OBJEXT) test_utimens_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_utimensat_SOURCES = test-utimensat.c test_utimensat_OBJECTS = test-utimensat.$(OBJEXT) test_utimensat_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) test_vasnprintf_SOURCES = test-vasnprintf.c test_vasnprintf_OBJECTS = test-vasnprintf.$(OBJEXT) test_vasnprintf_LDADD = $(LDADD) test_vasnprintf_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_vasprintf_SOURCES = test-vasprintf.c test_vasprintf_OBJECTS = test-vasprintf.$(OBJEXT) test_vasprintf_LDADD = $(LDADD) test_vasprintf_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_vasprintf_posix_SOURCES = test-vasprintf-posix.c test_vasprintf_posix_OBJECTS = test-vasprintf-posix.$(OBJEXT) test_vasprintf_posix_LDADD = $(LDADD) test_vasprintf_posix_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_verify_SOURCES = test-verify.c test_verify_OBJECTS = test-verify.$(OBJEXT) test_verify_LDADD = $(LDADD) test_verify_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_version_etc_SOURCES = test-version-etc.c test_version_etc_OBJECTS = test-version-etc.$(OBJEXT) test_version_etc_DEPENDENCIES = $(am__DEPENDENCIES_2) test_vfprintf_posix_SOURCES = test-vfprintf-posix.c test_vfprintf_posix_OBJECTS = test-vfprintf-posix.$(OBJEXT) test_vfprintf_posix_LDADD = $(LDADD) test_vfprintf_posix_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_vprintf_posix_SOURCES = test-vprintf-posix.c test_vprintf_posix_OBJECTS = test-vprintf-posix.$(OBJEXT) test_vprintf_posix_LDADD = $(LDADD) test_vprintf_posix_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_wchar_SOURCES = test-wchar.c test_wchar_OBJECTS = test-wchar.$(OBJEXT) test_wchar_LDADD = $(LDADD) test_wchar_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_wcrtomb_SOURCES = test-wcrtomb.c test_wcrtomb_OBJECTS = test-wcrtomb.$(OBJEXT) test_wcrtomb_LDADD = $(LDADD) test_wcrtomb_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_wcrtomb_w32_SOURCES = test-wcrtomb-w32.c test_wcrtomb_w32_OBJECTS = test-wcrtomb-w32.$(OBJEXT) test_wcrtomb_w32_LDADD = $(LDADD) test_wcrtomb_w32_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_wctype_h_SOURCES = test-wctype-h.c test_wctype_h_OBJECTS = test-wctype-h.$(OBJEXT) test_wctype_h_LDADD = $(LDADD) test_wctype_h_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_wcwidth_SOURCES = test-wcwidth.c test_wcwidth_OBJECTS = test-wcwidth.$(OBJEXT) test_wcwidth_LDADD = $(LDADD) test_wcwidth_DEPENDENCIES = libtests.a ../lib/libcoreutils.a \ libtests.a $(am__DEPENDENCIES_1) test_write_SOURCES = test-write.c test_write_OBJECTS = test-write.$(OBJEXT) test_write_LDADD = $(LDADD) test_write_DEPENDENCIES = libtests.a ../lib/libcoreutils.a libtests.a \ $(am__DEPENDENCIES_1) test_xalloc_die_SOURCES = test-xalloc-die.c test_xalloc_die_OBJECTS = test-xalloc-die.$(OBJEXT) test_xalloc_die_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xfprintf_posix_SOURCES = test-xfprintf-posix.c test_xfprintf_posix_OBJECTS = test-xfprintf-posix.$(OBJEXT) test_xfprintf_posix_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xprintf_posix_SOURCES = test-xprintf-posix.c test_xprintf_posix_OBJECTS = test-xprintf-posix.$(OBJEXT) test_xprintf_posix_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xstrtoimax_SOURCES = test-xstrtoimax.c test_xstrtoimax_OBJECTS = test-xstrtoimax.$(OBJEXT) test_xstrtoimax_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xstrtol_SOURCES = test-xstrtol.c test_xstrtol_OBJECTS = test-xstrtol.$(OBJEXT) test_xstrtol_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xstrtoul_SOURCES = test-xstrtoul.c test_xstrtoul_OBJECTS = test-xstrtoul.$(OBJEXT) test_xstrtoul_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xstrtoumax_SOURCES = test-xstrtoumax.c test_xstrtoumax_OBJECTS = test-xstrtoumax.$(OBJEXT) test_xstrtoumax_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xvasprintf_SOURCES = test-xvasprintf.c test_xvasprintf_OBJECTS = test_xvasprintf-test-xvasprintf.$(OBJEXT) test_xvasprintf_DEPENDENCIES = $(am__DEPENDENCIES_2) test_xvasprintf_LINK = $(CCLD) $(test_xvasprintf_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ test_yesno_SOURCES = test-yesno.c test_yesno_OBJECTS = test-yesno.$(OBJEXT) test_yesno_DEPENDENCIES = $(am__DEPENDENCIES_2) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ test-accept.c test-alignof.c test-alloca-opt.c \ test-areadlink.c test-areadlink-with-size.c test-areadlinkat.c \ test-argmatch.c test-argv-iter.c test-arpa_inet.c \ test-base64.c test-binary-io.c test-bind.c test-bitrotate.c \ test-btowc.c test-c-ctype.c test-c-strcasecmp.c \ test-c-strncasecmp.c test-calloc-gnu.c test-canonicalize.c \ test-chdir.c test-chown.c test-cloexec.c test-close.c \ test-closein.c test-connect.c test-copy-acl.c test-ctype.c \ test-di-set.c test-dirent.c test-dirent-safer.c test-dirname.c \ test-dup.c test-dup-safer.c test-dup2.c test-environ.c \ test-errno.c test-exclude.c test-faccessat.c test-fadvise.c \ test-fchdir.c test-fchmodat.c test-fchownat.c test-fclose.c \ test-fcntl.c test-fcntl-h.c test-fcntl-safer.c \ test-fdatasync.c test-fdopen.c test-fdopendir.c \ test-fdutimensat.c test-fflush.c test-fflush2.c test-fgetc.c \ test-file-has-acl.c test-filenamecat.c test-filevercmp.c \ test-float.c test-fnmatch.c test-fopen.c test-fopen-safer.c \ test-fpending.c test-fpurge.c test-fputc.c test-fread.c \ test-freadahead.c test-freading.c test-freadptr.c \ test-freadptr2.c test-freadseek.c test-freopen.c \ test-freopen-safer.c $(test_frexp_nolibm_SOURCES) \ $(test_frexpl_nolibm_SOURCES) test-fseek.c test-fseeko.c \ test-fseeko3.c test-fseeko4.c test-fseterr.c test-fstat.c \ test-fstatat.c test-fsync.c test-ftell.c test-ftell3.c \ test-ftello.c test-ftello3.c test-ftello4.c test-ftruncate.c \ test-futimens.c test-fwrite.c test-getaddrinfo.c test-getcwd.c \ test-getcwd-lgpl.c test-getdelim.c test-getdtablesize.c \ test-getgroups.c test-gethostname.c test-getline.c \ test-getloadavg.c test-getlogin.c test-getndelim2.c \ test-getopt.c test-gettimeofday.c test-hash.c test-i-ring.c \ test-iconv.c test-iconv-h.c test-ignore-value.c \ test-inet_ntop.c test-inet_pton.c test-ino-map.c \ test-intprops.c test-inttostr.c test-inttypes.c test-ioctl.c \ test-isatty.c test-isblank.c test-isnand-nolibm.c \ test-isnanf-nolibm.c test-isnanl-nolibm.c test-iswblank.c \ test-langinfo.c test-lchown.c test-link.c test-linkat.c \ test-listen.c test-locale.c test-localeconv.c \ test-localename.c test-lock.c test-lseek.c test-lstat.c \ test-malloc-gnu.c test-malloca.c test-math.c test-mbrtowc.c \ test-mbrtowc-w32.c test-mbsalign.c test-mbscasecmp.c \ test-mbsinit.c test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c \ test-mbsstr3.c test-md5.c test-memcasecmp.c test-memchr.c \ test-memchr2.c test-memcoll.c test-memrchr.c test-mkdir.c \ test-mkfifo.c test-mknod.c test-nanosleep.c test-netdb.c \ test-netinet_in.c test-nl_langinfo.c test-open.c test-openat.c \ test-openat-safer.c test-parse-datetime.c test-pathmax.c \ test-perror.c test-perror2.c test-pipe.c test-pipe2.c \ test-posix_spawn1.c test-posix_spawn2.c \ test-posix_spawn_file_actions_addclose.c \ test-posix_spawn_file_actions_adddup2.c \ test-posix_spawn_file_actions_addopen.c test-posixtm.c \ test-printf-frexp.c test-printf-frexpl.c test-priv-set.c \ test-quotearg-simple.c test-raise.c test-rand-isaac.c \ test-rawmemchr.c test-read.c test-read-file.c test-readlink.c \ test-readlinkat.c test-readtokens.c test-realloc-gnu.c \ test-regex.c test-remove.c test-rename.c test-rmdir.c \ test-sameacls.c test-sched.c test-select.c test-select-fd.c \ test-select-stdin.c test-set-mode-acl.c test-setenv.c \ test-setlocale1.c test-setlocale2.c test-setsockopt.c \ test-sha1.c test-sigaction.c test-signal-h.c test-signbit.c \ test-sigprocmask.c test-sleep.c test-snprintf.c test-sockets.c \ test-spawn.c test-spawn-pipe-child.c test-spawn-pipe-main.c \ test-stat.c test-stat-time.c test-statat.c test-stdalign.c \ test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \ test-stdlib.c test-strchrnul.c test-strerror.c \ test-strerror_r.c test-strftime.c test-striconv.c \ test-string.c test-strncat.c test-strnlen.c test-strsignal.c \ test-strtod.c test-strtoimax.c test-strtoll.c test-strtoull.c \ test-strtoumax.c test-symlink.c test-symlinkat.c \ test-sys_ioctl.c test-sys_resource.c test-sys_select.c \ test-sys_socket.c test-sys_stat.c test-sys_time.c \ test-sys_types.c test-sys_uio.c test-sys_utsname.c \ test-sys_wait.c test-termios.c test-thread_create.c \ test-thread_self.c test-time.c test-tls.c test-u64.c \ $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \ $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \ test-uname.c test-unistd.c test-unlink.c test-unlinkat.c \ test-unsetenv.c test-userspec.c test-usleep.c test-utimens.c \ test-utimensat.c test-vasnprintf.c test-vasprintf.c \ test-vasprintf-posix.c test-verify.c test-version-etc.c \ test-vfprintf-posix.c test-vprintf-posix.c test-wchar.c \ test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \ test-wcwidth.c test-write.c test-xalloc-die.c \ test-xfprintf-posix.c test-xprintf-posix.c test-xstrtoimax.c \ test-xstrtol.c test-xstrtoul.c test-xstrtoumax.c \ test-xvasprintf.c test-yesno.c DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \ test-accept.c test-alignof.c test-alloca-opt.c \ test-areadlink.c test-areadlink-with-size.c test-areadlinkat.c \ test-argmatch.c test-argv-iter.c test-arpa_inet.c \ test-base64.c test-binary-io.c test-bind.c test-bitrotate.c \ test-btowc.c test-c-ctype.c test-c-strcasecmp.c \ test-c-strncasecmp.c test-calloc-gnu.c test-canonicalize.c \ test-chdir.c test-chown.c test-cloexec.c test-close.c \ test-closein.c test-connect.c test-copy-acl.c test-ctype.c \ test-di-set.c test-dirent.c test-dirent-safer.c test-dirname.c \ test-dup.c test-dup-safer.c test-dup2.c test-environ.c \ test-errno.c test-exclude.c test-faccessat.c test-fadvise.c \ test-fchdir.c test-fchmodat.c test-fchownat.c test-fclose.c \ test-fcntl.c test-fcntl-h.c test-fcntl-safer.c \ test-fdatasync.c test-fdopen.c test-fdopendir.c \ test-fdutimensat.c test-fflush.c test-fflush2.c test-fgetc.c \ test-file-has-acl.c test-filenamecat.c test-filevercmp.c \ test-float.c test-fnmatch.c test-fopen.c test-fopen-safer.c \ test-fpending.c test-fpurge.c test-fputc.c test-fread.c \ test-freadahead.c test-freading.c test-freadptr.c \ test-freadptr2.c test-freadseek.c test-freopen.c \ test-freopen-safer.c $(test_frexp_nolibm_SOURCES) \ $(test_frexpl_nolibm_SOURCES) test-fseek.c test-fseeko.c \ test-fseeko3.c test-fseeko4.c test-fseterr.c test-fstat.c \ test-fstatat.c test-fsync.c test-ftell.c test-ftell3.c \ test-ftello.c test-ftello3.c test-ftello4.c test-ftruncate.c \ test-futimens.c test-fwrite.c test-getaddrinfo.c test-getcwd.c \ test-getcwd-lgpl.c test-getdelim.c test-getdtablesize.c \ test-getgroups.c test-gethostname.c test-getline.c \ test-getloadavg.c test-getlogin.c test-getndelim2.c \ test-getopt.c test-gettimeofday.c test-hash.c test-i-ring.c \ test-iconv.c test-iconv-h.c test-ignore-value.c \ test-inet_ntop.c test-inet_pton.c test-ino-map.c \ test-intprops.c test-inttostr.c test-inttypes.c test-ioctl.c \ test-isatty.c test-isblank.c test-isnand-nolibm.c \ test-isnanf-nolibm.c test-isnanl-nolibm.c test-iswblank.c \ test-langinfo.c test-lchown.c test-link.c test-linkat.c \ test-listen.c test-locale.c test-localeconv.c \ test-localename.c test-lock.c test-lseek.c test-lstat.c \ test-malloc-gnu.c test-malloca.c test-math.c test-mbrtowc.c \ test-mbrtowc-w32.c test-mbsalign.c test-mbscasecmp.c \ test-mbsinit.c test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c \ test-mbsstr3.c test-md5.c test-memcasecmp.c test-memchr.c \ test-memchr2.c test-memcoll.c test-memrchr.c test-mkdir.c \ test-mkfifo.c test-mknod.c test-nanosleep.c test-netdb.c \ test-netinet_in.c test-nl_langinfo.c test-open.c test-openat.c \ test-openat-safer.c test-parse-datetime.c test-pathmax.c \ test-perror.c test-perror2.c test-pipe.c test-pipe2.c \ test-posix_spawn1.c test-posix_spawn2.c \ test-posix_spawn_file_actions_addclose.c \ test-posix_spawn_file_actions_adddup2.c \ test-posix_spawn_file_actions_addopen.c test-posixtm.c \ test-printf-frexp.c test-printf-frexpl.c test-priv-set.c \ test-quotearg-simple.c test-raise.c test-rand-isaac.c \ test-rawmemchr.c test-read.c test-read-file.c test-readlink.c \ test-readlinkat.c test-readtokens.c test-realloc-gnu.c \ test-regex.c test-remove.c test-rename.c test-rmdir.c \ test-sameacls.c test-sched.c test-select.c test-select-fd.c \ test-select-stdin.c test-set-mode-acl.c test-setenv.c \ test-setlocale1.c test-setlocale2.c test-setsockopt.c \ test-sha1.c test-sigaction.c test-signal-h.c test-signbit.c \ test-sigprocmask.c test-sleep.c test-snprintf.c test-sockets.c \ test-spawn.c test-spawn-pipe-child.c test-spawn-pipe-main.c \ test-stat.c test-stat-time.c test-statat.c test-stdalign.c \ test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \ test-stdlib.c test-strchrnul.c test-strerror.c \ test-strerror_r.c test-strftime.c test-striconv.c \ test-string.c test-strncat.c test-strnlen.c test-strsignal.c \ test-strtod.c test-strtoimax.c test-strtoll.c test-strtoull.c \ test-strtoumax.c test-symlink.c test-symlinkat.c \ test-sys_ioctl.c test-sys_resource.c test-sys_select.c \ test-sys_socket.c test-sys_stat.c test-sys_time.c \ test-sys_types.c test-sys_uio.c test-sys_utsname.c \ test-sys_wait.c test-termios.c test-thread_create.c \ test-thread_self.c test-time.c test-tls.c test-u64.c \ $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \ $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \ test-uname.c test-unistd.c test-unlink.c test-unlinkat.c \ test-unsetenv.c test-userspec.c test-usleep.c test-utimens.c \ test-utimensat.c test-vasnprintf.c test-vasprintf.c \ test-vasprintf-posix.c test-verify.c test-version-etc.c \ test-vfprintf-posix.c test-vprintf-posix.c test-wchar.c \ test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \ test-wcwidth.c test-write.c test-xalloc-die.c \ test-xfprintf-posix.c test-xprintf-posix.c test-xstrtoimax.c \ test-xstrtol.c test-xstrtoul.c test-xstrtoumax.c \ test-xvasprintf.c test-yesno.c RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man1_MANS) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ check recheck check-html recheck-html distdir ETAGS = etags CTAGS = ctags # If stdout is a non-dumb tty, use colors. If test -t is not supported, # then this fails; a conservative approach. Of course do not redirect # stdout here, just stderr. am__tty_colors = \ red=; grn=; lgn=; blu=; std=; \ test "X$(AM_COLOR_TESTS)" != Xno \ && test "X$$TERM" != Xdumb \ && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ && { \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ std=''; \ } # Restructured Text title and section. am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' am__rst_section = sed 'p;s/./=/g;p;g' # Put stdin (possibly several lines separated by ". ") in a box. # Prefix each line by 'col' and terminate each with 'std', for coloring. # Multi line coloring is problematic with "less -R", so we really need # to color each line individually. am__text_box = $(AWK) '{ \ n = split($$0, lines, "\\. "); max = 0; \ for (i = 1; i <= n; ++i) \ if (max < length(lines[i])) \ max = length(lines[i]); \ for (i = 0; i < max; ++i) \ line = line "="; \ print col line std; \ for (i = 1; i <= n; ++i) \ if (lines[i]) \ print col lines[i] std; \ print col line std; \ }' # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log, and passes # TESTS_ENVIRONMENT. Save and restore TERM around use of # TESTS_ENVIRONMENT, in case that unsets it. am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ srcdir=$(srcdir); export srcdir; \ rm -f $@-t; \ am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \ trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \ trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \ am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \ test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \ $(TESTS_ENVIRONMENT) # To be appended to the command running the test. Handle the stdout # and stderr redirection, and catch the exit status. am__check_post = \ >$@-t 2>&1; \ estatus=$$?; \ if test -n '$(DISABLE_HARD_ERRORS)' \ && test $$estatus -eq 99; then \ estatus=1; \ fi; \ TERM=$$__SAVED_TERM; export TERM; \ $(am__tty_colors); \ xfailed=PASS; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ xfailed=XFAIL;; \ esac; \ case $$estatus.$$xfailed in \ 0.XFAIL) col=$$red; res=XPASS;; \ 0.*) col=$$grn; res=PASS ;; \ 77.*) col=$$blu; res=SKIP ;; \ 99.*) col=$$red; res=FAIL ;; \ *.XFAIL) col=$$lgn; res=XFAIL;; \ *.*) col=$$red; res=FAIL ;; \ esac; \ echo "$${col}$$res$${std}: $$f"; \ echo "$$res: $$f (exit: $$estatus)" | \ $(am__rst_section) >$@; \ cat $@-t >>$@; \ rm -f $@-t RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t) DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" pkglibexecdir = @pkglibexecdir@ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ GETHOSTNAME_LIB = @GETHOSTNAME_LIB@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ GNULIB_ACOSF = @GNULIB_ACOSF@ GNULIB_ACOSL = @GNULIB_ACOSL@ GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ GNULIB_ASINF = @GNULIB_ASINF@ GNULIB_ASINL = @GNULIB_ASINL@ GNULIB_ATAN2F = @GNULIB_ATAN2F@ GNULIB_ATANF = @GNULIB_ATANF@ GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CBRT = @GNULIB_CBRT@ GNULIB_CBRTF = @GNULIB_CBRTF@ GNULIB_CBRTL = @GNULIB_CBRTL@ GNULIB_CEIL = @GNULIB_CEIL@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ GNULIB_COSF = @GNULIB_COSF@ GNULIB_COSHF = @GNULIB_COSHF@ GNULIB_COSL = @GNULIB_COSL@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_EXP2 = @GNULIB_EXP2@ GNULIB_EXP2F = @GNULIB_EXP2F@ GNULIB_EXP2L = @GNULIB_EXP2L@ GNULIB_EXPF = @GNULIB_EXPF@ GNULIB_EXPL = @GNULIB_EXPL@ GNULIB_EXPM1 = @GNULIB_EXPM1@ GNULIB_EXPM1F = @GNULIB_EXPM1F@ GNULIB_EXPM1L = @GNULIB_EXPM1L@ GNULIB_FABSF = @GNULIB_FABSF@ GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FLOOR = @GNULIB_FLOOR@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FMA = @GNULIB_FMA@ GNULIB_FMAF = @GNULIB_FMAF@ GNULIB_FMAL = @GNULIB_FMAL@ GNULIB_FMOD = @GNULIB_FMOD@ GNULIB_FMODF = @GNULIB_FMODF@ GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPF = @GNULIB_FREXPF@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETC = @GNULIB_GETC@ GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETRUSAGE = @GNULIB_GETRUSAGE@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_HYPOT = @GNULIB_HYPOT@ GNULIB_HYPOTF = @GNULIB_HYPOTF@ GNULIB_HYPOTL = @GNULIB_HYPOTL@ GNULIB_ICONV = @GNULIB_ICONV@ GNULIB_ILOGB = @GNULIB_ILOGB@ GNULIB_ILOGBF = @GNULIB_ILOGBF@ GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISBLANK = @GNULIB_ISBLANK@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_ISINF = @GNULIB_ISINF@ GNULIB_ISNAN = @GNULIB_ISNAN@ GNULIB_ISNAND = @GNULIB_ISNAND@ GNULIB_ISNANF = @GNULIB_ISNANF@ GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPF = @GNULIB_LDEXPF@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LOG = @GNULIB_LOG@ GNULIB_LOG10 = @GNULIB_LOG10@ GNULIB_LOG10F = @GNULIB_LOG10F@ GNULIB_LOG10L = @GNULIB_LOG10L@ GNULIB_LOG1P = @GNULIB_LOG1P@ GNULIB_LOG1PF = @GNULIB_LOG1PF@ GNULIB_LOG1PL = @GNULIB_LOG1PL@ GNULIB_LOG2 = @GNULIB_LOG2@ GNULIB_LOG2F = @GNULIB_LOG2F@ GNULIB_LOG2L = @GNULIB_LOG2L@ GNULIB_LOGB = @GNULIB_LOGB@ GNULIB_LOGBF = @GNULIB_LOGBF@ GNULIB_LOGBL = @GNULIB_LOGBL@ GNULIB_LOGF = @GNULIB_LOGF@ GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_MODF = @GNULIB_MODF@ GNULIB_MODFF = @GNULIB_MODFF@ GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_POSIX_SPAWN = @GNULIB_POSIX_SPAWN@ GNULIB_POSIX_SPAWNATTR_DESTROY = @GNULIB_POSIX_SPAWNATTR_DESTROY@ GNULIB_POSIX_SPAWNATTR_GETFLAGS = @GNULIB_POSIX_SPAWNATTR_GETFLAGS@ GNULIB_POSIX_SPAWNATTR_GETPGROUP = @GNULIB_POSIX_SPAWNATTR_GETPGROUP@ GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@ GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY@ GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@ GNULIB_POSIX_SPAWNATTR_GETSIGMASK = @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@ GNULIB_POSIX_SPAWNATTR_INIT = @GNULIB_POSIX_SPAWNATTR_INIT@ GNULIB_POSIX_SPAWNATTR_SETFLAGS = @GNULIB_POSIX_SPAWNATTR_SETFLAGS@ GNULIB_POSIX_SPAWNATTR_SETPGROUP = @GNULIB_POSIX_SPAWNATTR_SETPGROUP@ GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@ GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@ GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@ GNULIB_POSIX_SPAWNATTR_SETSIGMASK = @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@ GNULIB_POSIX_SPAWNP = @GNULIB_POSIX_SPAWNP@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@ GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PSELECT = @GNULIB_PSELECT@ GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_REMAINDER = @GNULIB_REMAINDER@ GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RINT = @GNULIB_RINT@ GNULIB_RINTF = @GNULIB_RINTF@ GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SELECT = @GNULIB_SELECT@ GNULIB_SEND = @GNULIB_SEND@ GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SINF = @GNULIB_SINF@ GNULIB_SINHF = @GNULIB_SINHF@ GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_SQRTF = @GNULIB_SQRTF@ GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TANF = @GNULIB_TANF@ GNULIB_TANHF = @GNULIB_TANHF@ GNULIB_TANL = @GNULIB_TANL@ GNULIB_TCGETSID = @GNULIB_TCGETSID@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNAME = @GNULIB_UNAME@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WAITPID = @GNULIB_WAITPID@ GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@ GNULIB_WCSCAT = @GNULIB_WCSCAT@ GNULIB_WCSCHR = @GNULIB_WCSCHR@ GNULIB_WCSCMP = @GNULIB_WCSCMP@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@ GNULIB_WCSCPY = @GNULIB_WCSCPY@ GNULIB_WCSCSPN = @GNULIB_WCSCSPN@ GNULIB_WCSDUP = @GNULIB_WCSDUP@ GNULIB_WCSLEN = @GNULIB_WCSLEN@ GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@ GNULIB_WCSNCAT = @GNULIB_WCSNCAT@ GNULIB_WCSNCMP = @GNULIB_WCSNCMP@ GNULIB_WCSNCPY = @GNULIB_WCSNCPY@ GNULIB_WCSNLEN = @GNULIB_WCSNLEN@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSPBRK = @GNULIB_WCSPBRK@ GNULIB_WCSRCHR = @GNULIB_WCSRCHR@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCSSPN = @GNULIB_WCSSPN@ GNULIB_WCSSTR = @GNULIB_WCSSTR@ GNULIB_WCSTOK = @GNULIB_WCSTOK@ GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@ GNULIB_WCSXFRM = @GNULIB_WCSXFRM@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCTOMB = @GNULIB_WCTOMB@ GNULIB_WCTRANS = @GNULIB_WCTRANS@ GNULIB_WCTYPE = @GNULIB_WCTYPE@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ HAVE_ACOSF = @HAVE_ACOSF@ HAVE_ACOSL = @HAVE_ACOSL@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_ASINF = @HAVE_ASINF@ HAVE_ASINL = @HAVE_ASINL@ HAVE_ATAN2F = @HAVE_ATAN2F@ HAVE_ATANF = @HAVE_ATANF@ HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CBRT = @HAVE_CBRT@ HAVE_CBRTF = @HAVE_CBRTF@ HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_COPYSIGN = @HAVE_COPYSIGN@ HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ HAVE_COSF = @HAVE_COSF@ HAVE_COSHF = @HAVE_COSHF@ HAVE_COSL = @HAVE_COSL@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TCGETSID = @HAVE_DECL_TCGETSID@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_EXPF = @HAVE_EXPF@ HAVE_EXPL = @HAVE_EXPL@ HAVE_EXPM1 = @HAVE_EXPM1@ HAVE_EXPM1F = @HAVE_EXPM1F@ HAVE_FABSF = @HAVE_FABSF@ HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FMA = @HAVE_FMA@ HAVE_FMAF = @HAVE_FMAF@ HAVE_FMAL = @HAVE_FMAL@ HAVE_FMODF = @HAVE_FMODF@ HAVE_FMODL = @HAVE_FMODL@ HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETRUSAGE = @HAVE_GETRUSAGE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_HYPOTF = @HAVE_HYPOTF@ HAVE_HYPOTL = @HAVE_HYPOTL@ HAVE_ILOGB = @HAVE_ILOGB@ HAVE_ILOGBF = @HAVE_ILOGBF@ HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISNAND = @HAVE_ISNAND@ HAVE_ISNANF = @HAVE_ISNANF@ HAVE_ISNANL = @HAVE_ISNANL@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LDEXPF = @HAVE_LDEXPF@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOG10F = @HAVE_LOG10F@ HAVE_LOG10L = @HAVE_LOG10L@ HAVE_LOG1P = @HAVE_LOG1P@ HAVE_LOG1PF = @HAVE_LOG1PF@ HAVE_LOG1PL = @HAVE_LOG1PL@ HAVE_LOGBF = @HAVE_LOGBF@ HAVE_LOGBL = @HAVE_LOGBL@ HAVE_LOGF = @HAVE_LOGF@ HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_MODFF = @HAVE_MODFF@ HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@ HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@ HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@ HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_H = @HAVE_PTHREAD_H@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@ HAVE_PTHREAD_T = @HAVE_PTHREAD_T@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RAISE = @HAVE_RAISE@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_REMAINDER = @HAVE_REMAINDER@ HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RINT = @HAVE_RINT@ HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SCHED_H = @HAVE_SCHED_H@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SINF = @HAVE_SINF@ HAVE_SINHF = @HAVE_SINHF@ HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_SPAWN_H = @HAVE_SPAWN_H@ HAVE_SQRTF = @HAVE_SQRTF@ HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@ HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRUCT_UTSNAME = @HAVE_STRUCT_UTSNAME@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_RESOURCE_H = @HAVE_SYS_RESOURCE_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_SYS_UTSNAME_H = @HAVE_SYS_UTSNAME_H@ HAVE_TANF = @HAVE_TANF@ HAVE_TANHF = @HAVE_TANHF@ HAVE_TANL = @HAVE_TANL@ HAVE_TERMIOS_H = @HAVE_TERMIOS_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNAME = @HAVE_UNAME@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ HAVE_WCPNCPY = @HAVE_WCPNCPY@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSCASECMP = @HAVE_WCSCASECMP@ HAVE_WCSCAT = @HAVE_WCSCAT@ HAVE_WCSCHR = @HAVE_WCSCHR@ HAVE_WCSCMP = @HAVE_WCSCMP@ HAVE_WCSCOLL = @HAVE_WCSCOLL@ HAVE_WCSCPY = @HAVE_WCSCPY@ HAVE_WCSCSPN = @HAVE_WCSCSPN@ HAVE_WCSDUP = @HAVE_WCSDUP@ HAVE_WCSLEN = @HAVE_WCSLEN@ HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@ HAVE_WCSNCAT = @HAVE_WCSNCAT@ HAVE_WCSNCMP = @HAVE_WCSNCMP@ HAVE_WCSNCPY = @HAVE_WCSNCPY@ HAVE_WCSNLEN = @HAVE_WCSNLEN@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSPBRK = @HAVE_WCSPBRK@ HAVE_WCSRCHR = @HAVE_WCSRCHR@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCSSPN = @HAVE_WCSSPN@ HAVE_WCSSTR = @HAVE_WCSSTR@ HAVE_WCSTOK = @HAVE_WCSTOK@ HAVE_WCSWIDTH = @HAVE_WCSWIDTH@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HOSTENT_LIB = @HOSTENT_LIB@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INET_NTOP_LIB = @INET_NTOP_LIB@ INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CAP = @LIB_CAP@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_GMP = @LIB_GMP@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LIB_PTHREAD = @LIB_PTHREAD@ LIB_SELECT = @LIB_SELECT@ LIB_SELINUX = @LIB_SELINUX@ LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIB_XATTR = @LIB_XATTR@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@ NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@ NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@ NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H = @NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_CTYPE_H = @NEXT_CTYPE_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LOCALE_H = @NEXT_LOCALE_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_PTHREAD_H = @NEXT_PTHREAD_H@ NEXT_SCHED_H = @NEXT_SCHED_H@ NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_SPAWN_H = @NEXT_SPAWN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_RESOURCE_H = @NEXT_SYS_RESOURCE_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@ NEXT_SYS_UTSNAME_H = @NEXT_SYS_UTSNAME_H@ NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@ NEXT_TERMIOS_H = @NEXT_TERMIOS_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTHREAD_H = @PTHREAD_H@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CBRTF = @REPLACE_CBRTF@ REPLACE_CBRTL = @REPLACE_CBRTL@ REPLACE_CEIL = @REPLACE_CEIL@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXP2 = @REPLACE_EXP2@ REPLACE_EXP2L = @REPLACE_EXP2L@ REPLACE_EXPM1 = @REPLACE_EXPM1@ REPLACE_EXPM1F = @REPLACE_EXPM1F@ REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOOR = @REPLACE_FLOOR@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FMA = @REPLACE_FMA@ REPLACE_FMAF = @REPLACE_FMAF@ REPLACE_FMAL = @REPLACE_FMAL@ REPLACE_FMOD = @REPLACE_FMOD@ REPLACE_FMODF = @REPLACE_FMODF@ REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPF = @REPLACE_FREXPF@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_HYPOT = @REPLACE_HYPOT@ REPLACE_HYPOTF = @REPLACE_HYPOTF@ REPLACE_HYPOTL = @REPLACE_HYPOTL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ILOGB = @REPLACE_ILOGB@ REPLACE_ILOGBF = @REPLACE_ILOGBF@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISINF = @REPLACE_ISINF@ REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LOG = @REPLACE_LOG@ REPLACE_LOG10 = @REPLACE_LOG10@ REPLACE_LOG10F = @REPLACE_LOG10F@ REPLACE_LOG10L = @REPLACE_LOG10L@ REPLACE_LOG1P = @REPLACE_LOG1P@ REPLACE_LOG1PF = @REPLACE_LOG1PF@ REPLACE_LOG1PL = @REPLACE_LOG1PL@ REPLACE_LOG2 = @REPLACE_LOG2@ REPLACE_LOG2F = @REPLACE_LOG2F@ REPLACE_LOG2L = @REPLACE_LOG2L@ REPLACE_LOGB = @REPLACE_LOGB@ REPLACE_LOGBF = @REPLACE_LOGBF@ REPLACE_LOGBL = @REPLACE_LOGBL@ REPLACE_LOGF = @REPLACE_LOGF@ REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_MODF = @REPLACE_MODF@ REPLACE_MODFF = @REPLACE_MODFF@ REPLACE_MODFL = @REPLACE_MODFL@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_SPAWN = @REPLACE_POSIX_SPAWN@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PSELECT = @REPLACE_PSELECT@ REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMAINDER = @REPLACE_REMAINDER@ REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNC = @REPLACE_TRUNC@ REPLACE_TRUNCF = @REPLACE_TRUNCF@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SCHED_H = @SCHED_H@ SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SEQ_LIBM = @SEQ_LIBM@ SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ YIELD_LIB = @YIELD_LIB@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ built_programs = @built_programs@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects SUBDIRS = . TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ USE_ACL=$(USE_ACL) LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \ LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' \ LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_FR='@LOCALE_FR@' \ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' LOCALE_JA='@LOCALE_JA@' \ LOCALE_ZH_CN='@LOCALE_ZH_CN@' abs_aux_dir='$(abs_aux_dir)' \ abs_aux_dir='$(abs_aux_dir)' MAKE='$(MAKE)' \ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' noinst_HEADERS = noinst_LIBRARIES = check_LIBRARIES = libtests.a EXTRA_DIST = accept.c w32sock.h test-accept.c signature.h macros.h \ test-file-has-acl.sh test-file-has-acl-1.sh \ test-file-has-acl-2.sh test-set-mode-acl.sh \ test-set-mode-acl-1.sh test-set-mode-acl-2.sh test-copy-acl.sh \ test-copy-acl-1.sh test-copy-acl-2.sh test-file-has-acl.c \ test-set-mode-acl.c test-copy-acl.c test-sameacls.c macros.h \ test-alignof.c test-alloca-opt.c test-areadlink.h \ test-areadlink.c macros.h test-areadlink.h \ test-areadlink-with-size.c macros.h test-areadlink.h \ test-areadlinkat.c macros.h test-argmatch.c macros.h \ test-argv-iter.c macros.h test-arpa_inet.c test-base64.c \ macros.h test-binary-io.sh test-binary-io.c macros.h bind.c \ w32sock.h test-bind.c signature.h macros.h test-bitrotate.c \ macros.h test-btowc1.sh test-btowc2.sh test-btowc.c \ signature.h macros.h test-c-ctype.c macros.h test-c-strcase.sh \ test-c-strcasecmp.c test-c-strncasecmp.c macros.h \ test-calloc-gnu.c test-canonicalize.c macros.h test-chdir.c \ signature.h macros.h nap.h test-chown.h test-chown.c \ signature.h macros.h test-cloexec.c macros.h test-close.c \ signature.h macros.h test-closein.sh test-closein.c connect.c \ w32sock.h test-connect.c signature.h macros.h test-md5.c \ test-sha1.c test-ctype.c test-di-set.c macros.h \ test-dirent-safer.c macros.h test-dirent.c test-dirname.c \ test-dup.c signature.h macros.h test-dup2.c signature.h \ macros.h test-environ.c test-errno.c test-exclude.c \ test-exclude1.sh test-exclude2.sh test-exclude3.sh \ test-exclude4.sh test-exclude5.sh test-exclude6.sh \ test-exclude7.sh test-exclude8.sh test-faccessat.c signature.h \ macros.h test-fadvise.c test-fchdir.c signature.h macros.h \ test-fchmodat.c signature.h macros.h nap.h test-chown.h \ test-lchown.h test-fchownat.c signature.h macros.h \ test-fclose.c test-fcntl-h.c test-open.h test-fcntl-safer.c \ macros.h test-fcntl.c signature.h macros.h test-fdatasync.c \ signature.h macros.h test-fdopen.c signature.h macros.h \ test-fdopendir.c signature.h macros.h nap.h test-futimens.h \ test-lutimens.h test-utimens.h test-utimens-common.h \ test-fdutimensat.c macros.h test-fflush.c test-fflush2.sh \ test-fflush2.c signature.h macros.h test-fgetc.c signature.h \ macros.h test-filenamecat.c test-filevercmp.c macros.h \ test-float.c macros.h test-fnmatch.c signature.h macros.h \ test-fopen.h test-fopen-safer.c macros.h test-fopen.h \ test-fopen.c signature.h macros.h test-fpending.c \ test-fpending.sh macros.h test-fpurge.c macros.h test-fputc.c \ signature.h macros.h test-fread.c signature.h macros.h \ test-freadahead.c test-freadahead.sh macros.h test-freading.c \ macros.h test-freadptr.c test-freadptr.sh test-freadptr2.c \ test-freadptr2.sh macros.h test-freadseek.c test-freadseek.sh \ macros.h test-freopen-safer.c macros.h test-freopen.c \ signature.h macros.h test-frexp.c test-frexp.h minus-zero.h \ infinity.h nan.h signature.h macros.h randomd.c test-frexpl.c \ test-frexp.h minus-zero.h infinity.h nan.h signature.h \ macros.h randoml.c test-fseek.c test-fseek.sh test-fseek2.sh \ signature.h macros.h test-fseeko.c test-fseeko.sh \ test-fseeko2.sh test-fseeko3.c test-fseeko3.sh test-fseeko4.c \ test-fseeko4.sh signature.h macros.h test-fseterr.c \ test-fstat.c signature.h macros.h test-fstatat.c test-lstat.h \ test-stat.h signature.h macros.h test-fsync.c signature.h \ macros.h test-ftell.c test-ftell.sh test-ftell2.sh \ test-ftell3.c signature.h macros.h test-ftello.c \ test-ftello.sh test-ftello2.sh test-ftello3.c test-ftello4.c \ test-ftello4.sh signature.h macros.h test-ftruncate.c \ test-ftruncate.sh signature.h macros.h nap.h test-futimens.h \ test-utimens-common.h test-futimens.c signature.h macros.h \ test-fwrite.c signature.h macros.h signature.h \ test-getaddrinfo.c test-getcwd-lgpl.c signature.h macros.h \ test-getcwd.c test-getcwd.sh test-getdelim.c signature.h \ macros.h test-getdtablesize.c signature.h macros.h \ test-getgroups.c signature.h macros.h signature.h \ test-gethostname.c test-getline.c signature.h macros.h \ test-getloadavg.c signature.h test-getlogin.c signature.h \ macros.h test-getndelim2.c macros.h macros.h signature.h \ test-getopt.c test-getopt.h test-getopt_long.h \ $(top_srcdir)/build-aux/config.rpath signature.h \ test-gettimeofday.c test-hash.c macros.h test-i-ring.c \ macros.h test-iconv-h.c test-iconv.c signature.h macros.h \ test-ignore-value.c test-inet_ntop.c signature.h macros.h \ inet_pton.c test-inet_pton.c signature.h macros.h \ test-ino-map.c macros.h test-intprops.c macros.h macros.h \ test-inttostr.c test-inttypes.c ioctl.c w32sock.h test-ioctl.c \ signature.h macros.h test-isatty.c signature.h macros.h \ test-isblank.c signature.h macros.h test-isnand-nolibm.c \ test-isnand.h minus-zero.h infinity.h nan.h macros.h \ test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h \ nan.h macros.h test-isnanl-nolibm.c test-isnanl.h minus-zero.h \ infinity.h nan.h macros.h test-iswblank.c macros.h \ test-langinfo.c nap.h test-lchown.h test-lchown.c signature.h \ macros.h test-link.h test-link.c signature.h macros.h \ test-link.h test-linkat.c signature.h macros.h listen.c \ w32sock.h test-listen.c signature.h macros.h test-locale.c \ test-localeconv.c signature.h macros.h localename.h \ test-localename.c macros.h test-lock.c test-lseek.c \ test-lseek.sh signature.h macros.h test-lstat.h test-lstat.c \ signature.h macros.h test-malloc-gnu.c test-malloca.c \ test-math.c macros.h test-mbrtowc1.sh test-mbrtowc2.sh \ test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc.c \ test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \ test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \ test-mbrtowc-w32-5.sh test-mbrtowc-w32.c signature.h macros.h \ test-mbsalign.c macros.h test-mbscasecmp.sh test-mbscasecmp.c \ macros.h test-mbsinit.sh test-mbsinit.c signature.h macros.h \ test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh \ test-mbsrtowcs4.sh test-mbsrtowcs.c signature.h macros.h \ test-mbsstr1.c test-mbsstr2.sh test-mbsstr2.c test-mbsstr3.sh \ test-mbsstr3.c macros.h test-memcasecmp.c zerosize-ptr.h \ macros.h test-memchr.c zerosize-ptr.h signature.h macros.h \ test-memchr2.c zerosize-ptr.h macros.h test-memcoll.c macros.h \ test-memrchr.c zerosize-ptr.h signature.h macros.h \ test-mkdir.h test-mkdir.c signature.h macros.h test-mkfifo.h \ test-mkfifo.c signature.h macros.h test-mkfifo.h test-mknod.c \ signature.h macros.h test-nanosleep.c signature.h macros.h \ test-netdb.c test-netinet_in.c test-nl_langinfo.sh \ test-nl_langinfo.c signature.h macros.h test-open.h \ test-open.c signature.h macros.h test-openat-safer.c macros.h \ test-openat.c test-open.h signature.h macros.h \ test-parse-datetime.c macros.h test-pathmax.c perror.c \ macros.h signature.h test-perror.c test-perror2.c \ test-perror.sh pipe.c test-pipe.c signature.h macros.h \ test-pipe2.c signature.h macros.h \ test-posix_spawn_file_actions_addclose.c signature.h macros.h \ test-posix_spawn_file_actions_adddup2.c signature.h macros.h \ test-posix_spawn_file_actions_addopen.c signature.h macros.h \ test-posix_spawn1.c test-posix_spawn1.in.sh \ test-posix_spawn2.c test-posix_spawn2.in.sh signature.h \ test-posixtm.c macros.h test-printf-frexp.c macros.h \ test-printf-frexpl.c macros.h test-priv-set.c macros.h \ test-quotearg-simple.c test-quotearg.h macros.h test-raise.c \ signature.h macros.h test-rand-isaac.c macros.h \ test-rawmemchr.c zerosize-ptr.h signature.h macros.h \ test-read-file.c test-read.c signature.h macros.h \ test-readlink.h test-readlink.c signature.h macros.h \ test-readlink.h test-readlinkat.c signature.h macros.h \ macros.h test-readtokens.c test-readtokens.sh \ test-realloc-gnu.c test-regex.c macros.h test-remove.c \ signature.h macros.h test-rename.h test-rename.c signature.h \ macros.h test-rmdir.h test-rmdir.c signature.h macros.h \ test-sched.c macros.h signature.h test-select.c test-select.h \ test-select-fd.c test-select-in.sh test-select-out.sh \ test-select-stdin.c test-setenv.c signature.h macros.h \ setlocale.c test-setlocale1.sh test-setlocale1.c \ test-setlocale2.sh test-setlocale2.c signature.h macros.h \ setsockopt.c w32sock.h test-setsockopt.c signature.h macros.h \ test-sigaction.c signature.h macros.h test-signal-h.c \ test-signbit.c minus-zero.h infinity.h macros.h \ test-sigprocmask.c signature.h macros.h sleep.c test-sleep.c \ signature.h macros.h \ $(top_srcdir)/build-aux/snippet/_Noreturn.h \ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ $(top_srcdir)/build-aux/snippet/c++defs.h \ $(top_srcdir)/build-aux/snippet/unused-parameter.h \ $(top_srcdir)/build-aux/snippet/warn-on-use.h test-snprintf.c \ signature.h macros.h socket.c w32sock.h test-sockets.c \ test-spawn-pipe.sh test-spawn-pipe-main.c \ test-spawn-pipe-child.c macros.h test-spawn.c test-stat.h \ test-stat.c signature.h macros.h test-stat-time.c macros.h \ test-statat.c test-stdalign.c macros.h test-stdbool.c \ test-stddef.c test-stdint.c test-stdio.c test-stdlib.c \ test-sys_wait.h test-strchrnul.c signature.h macros.h \ test-strerror.c signature.h macros.h strerror_r.c \ test-strerror_r.c signature.h macros.h test-strftime.c \ macros.h test-striconv.c macros.h test-string.c test-strncat.c \ unistr/test-strncat.h zerosize-ptr.h signature.h macros.h \ test-strnlen.c zerosize-ptr.h signature.h macros.h \ test-strsignal.c signature.h macros.h test-strtod.c \ signature.h minus-zero.h macros.h test-strtoimax.c signature.h \ macros.h test-strtoll.c signature.h macros.h test-strtoull.c \ signature.h macros.h test-strtoumax.c signature.h macros.h \ test-symlink.h test-symlink.c signature.h macros.h at-func.c \ symlinkat.c test-symlink.h test-symlinkat.c signature.h \ macros.h test-sys_ioctl.c test-sys_resource.c \ test-sys_select.c signature.h test-sys_socket.c \ test-sys_stat.c test-sys_time.c test-sys_types.c \ test-sys_uio.c test-sys_utsname.c test-sys_wait.c \ test-sys_wait.h test-termios.c init.sh test-init.sh \ test-thread_self.c test-thread_create.c macros.h test-time.c \ test-tls.c test-u64.c test-uname.c signature.h macros.h \ test-dup-safer.c macros.h test-unistd.c \ unistr/test-u8-mbtoucr.c macros.h unistr/test-u8-uctomb.c \ macros.h uniwidth/test-uc_width.c uniwidth/test-uc_width2.c \ uniwidth/test-uc_width2.sh macros.h test-unlink.h \ test-unlink.c signature.h macros.h test-unlinkat.c \ test-rmdir.h test-unlink.h signature.h macros.h unlinkdir.h \ test-unsetenv.c signature.h macros.h test-update-copyright.sh \ test-userspec.c usleep.c test-usleep.c signature.h macros.h \ nap.h test-futimens.h test-lutimens.h test-utimens.h \ test-utimens-common.h test-utimens.c macros.h nap.h \ test-lutimens.h test-utimens.h test-utimens-common.h \ test-utimensat.c signature.h macros.h test-vasnprintf.c \ macros.h test-vasprintf-posix.c minus-zero.h infinity.h nan.h \ macros.h test-vasprintf.c signature.h macros.h \ test-vc-list-files-git.sh test-vc-list-files-cvs.sh \ test-verify.c test-verify.sh test-version-etc.c \ test-version-etc.sh test-vfprintf-posix.sh \ test-vfprintf-posix.c test-fprintf-posix.h \ test-printf-posix.output infinity.h signature.h macros.h \ test-vprintf-posix.sh test-vprintf-posix.c test-printf-posix.h \ test-printf-posix.output infinity.h signature.h macros.h \ test-wchar.c test-wcrtomb.sh test-wcrtomb.c \ test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \ test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \ test-wcrtomb-w32-5.sh test-wcrtomb-w32.c signature.h macros.h \ wctob.c wctomb-impl.h wctomb.c test-wctype-h.c macros.h \ test-wcwidth.c signature.h macros.h test-write.c signature.h \ macros.h test-xalloc-die.c test-xalloc-die.sh \ test-xprintf-posix.sh test-xfprintf-posix.c \ test-xprintf-posix.c test-fprintf-posix.h test-printf-posix.h \ test-printf-posix.output infinity.h macros.h test-xstrtoimax.c \ test-xstrtoimax.sh test-xstrtol.c test-xstrtoul.c \ test-xstrtol.sh test-xstrtoumax.c test-xstrtoumax.sh \ test-xvasprintf.c macros.h test-yesno.c test-yesno.sh # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES = $(am__append_3) arg-nonnull.h c++defs.h \ unused-parameter.h warn-on-use.h SUFFIXES = MOSTLYCLEANFILES = core *.stackdump test-fflush.txt test-fpending.t \ t-fpurge.tmp t-freading.tmp t-ftell3.tmp t-ftello3.tmp \ test-getdelim.txt test-getline.txt test-getndelim2.txt \ $(am__append_4) arg-nonnull.h arg-nonnull.h-t c++defs.h \ c++defs.h-t unused-parameter.h unused-parameter.h-t \ warn-on-use.h warn-on-use.h-t MOSTLYCLEANDIRS = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = # This is for those projects which use "gettextize --intl" to put a source-code # copy of libintl into their package. In such projects, every Makefile.am needs # -I$(top_builddir)/intl, so that can be found in this directory. # For the Makefile.ams in other directories it is the maintainer's # responsibility; for the one from gnulib we do it here. # This option has no effect when the user disables NLS (because then the intl # directory contains no libintl.h file) or when the project does not use # "gettextize --intl". AM_CPPFLAGS = -D@gltests_WITNESS@=1 -I. -I$(srcdir) -I.. \ -I$(srcdir)/.. -I../lib -I$(srcdir)/../lib \ -I$(top_builddir)/intl LDADD = libtests.a ../lib/libcoreutils.a libtests.a $(LIBTESTS_LIBDEPS) libtests_a_SOURCES = localename.c glthread/thread.h glthread/thread.c \ unlinkdir.c glthread/yield.h libtests_a_LIBADD = $(gltests_LIBOBJS) libtests_a_DEPENDENCIES = $(gltests_LIBOBJS) EXTRA_libtests_a_SOURCES = accept.c bind.c connect.c inet_pton.c \ ioctl.c listen.c perror.c pipe.c setlocale.c setsockopt.c \ sleep.c socket.c strerror_r.c at-func.c symlinkat.c usleep.c \ wctob.c wctomb.c AM_LIBTOOLFLAGS = --preserve-dup-deps test_accept_LDADD = $(LDADD) @LIBSOCKET@ test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL) test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ test_copy_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ test_sameacls_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@ test_areadlinkat_LDADD = $(LDADD) @LIBINTL@ test_argmatch_LDADD = $(LDADD) @LIBINTL@ test_bind_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) test_canonicalize_LDADD = $(LDADD) @LIBINTL@ test_closein_LDADD = $(LDADD) @LIBINTL@ test_connect_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB) # Link with libintl when needed. dirent-safer uses fdopendir if it is present, # and fdopendir indirectly depends on openat-die -> gettext-h. test_dirent_safer_LDADD = $(LDADD) $(LIBINTL) test_dirname_LDADD = $(LDADD) @LIBINTL@ test_exclude_LDADD = $(LDADD) @LIBINTL@ test_faccessat_LDADD = $(LDADD) $(LIB_EACCESS) @LIBINTL@ test_fchdir_LDADD = $(LDADD) $(LIBINTL) test_fchmodat_LDADD = $(LDADD) @LIBINTL@ test_fchownat_LDADD = $(LDADD) @LIBINTL@ test_fdatasync_LDADD = $(LDADD) $(LIB_FDATASYNC) test_fdopendir_LDADD = $(LDADD) @LIBINTL@ test_fdutimensat_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ test_filenamecat_LDADD = $(LDADD) @LIBINTL@ test_frexp_nolibm_SOURCES = test-frexp.c randomd.c test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c test_fstatat_LDADD = $(LDADD) @LIBINTL@ test_futimens_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ test_getaddrinfo_LDADD = $(LDADD) @GETADDRINFO_LIB@ @LIBINTL@ test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL) test_getcwd_LDADD = $(LDADD) @LIBINTL@ test_gethostname_LDADD = $(LDADD) @GETHOSTNAME_LIB@ test_getloadavg_LDADD = $(LDADD) @GETLOADAVG_LIBS@ test_getopt_LDADD = $(LDADD) $(LIBINTL) test_iconv_LDADD = $(LDADD) @LIBICONV@ test_inet_ntop_LDADD = $(LDADD) @INET_NTOP_LIB@ test_inet_pton_LDADD = $(LDADD) @INET_PTON_LIB@ test_link_LDADD = $(LDADD) @LIBINTL@ test_linkat_LDADD = $(LDADD) @LIBINTL@ test_listen_LDADD = $(LDADD) @LIBSOCKET@ test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD) test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@ test_nanosleep_LDADD = $(LDADD) $(LIB_NANOSLEEP) test_openat_safer_LDADD = $(LDADD) @LIBINTL@ test_openat_LDADD = $(LDADD) @LIBINTL@ test_parse_datetime_LDADD = $(LDADD) @LIBINTL@ $(LIB_CLOCK_GETTIME) test_pipe2_LDADD = $(LDADD) $(LIBSOCKET) test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@ test_readlinkat_LDADD = $(LDADD) @LIBINTL@ test_readtokens_LDADD = $(LDADD) @LIBINTL@ test_regex_LDADD = $(LDADD) @LIBINTL@ test_rename_LDADD = $(LDADD) @LIBINTL@ test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB) test_select_fd_LDADD = $(LDADD) @LIB_SELECT@ test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@ test_setsockopt_LDADD = $(LDADD) @LIBSOCKET@ # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all Makefile.am that # need it. This is ensured by the applicability 'all' defined above. _NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h ARG_NONNULL_H = arg-nonnull.h CXXDEFS_H = c++defs.h UNUSED_PARAMETER_H = unused-parameter.h WARN_ON_USE_H = warn-on-use.h test_sockets_LDADD = $(LDADD) @LIBSOCKET@ test_spawn_pipe_main_LDADD = $(LDADD) @LIBINTL@ # The test-spawn-pipe-child program must be a real executable, not a libtool # wrapper script, and should link against as few libraries as possible. # Therefore don't link it against any libraries other than -lc. test_spawn_pipe_child_LDADD = test_stat_LDADD = $(LDADD) $(LIBINTL) test_statat_LDADD = $(LDADD) @LIBINTL@ test_striconv_LDADD = $(LDADD) @LIBICONV@ test_strsignal_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD) test_symlinkat_LDADD = $(LDADD) @LIBINTL@ test_thread_self_LDADD = $(LDADD) @LIBTHREAD@ test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@ test_tls_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@ test_uname_LDADD = $(LDADD) @GETHOSTNAME_LIB@ test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING) test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING) test_uc_width_SOURCES = uniwidth/test-uc_width.c test_uc_width_LDADD = $(LDADD) $(LIBUNISTRING) test_uc_width2_SOURCES = uniwidth/test-uc_width2.c test_uc_width2_LDADD = $(LDADD) $(LIBUNISTRING) test_unlinkat_LDADD = $(LDADD) @LIBINTL@ test_userspec_LDADD = $(LDADD) @LIBINTL@ test_utimens_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ test_utimensat_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) @LIBINTL@ test_version_etc_LDADD = $(LDADD) @LIBINTL@ test_xalloc_die_LDADD = $(LDADD) @LIBINTL@ test_xfprintf_posix_LDADD = $(LDADD) @LIBINTL@ test_xprintf_posix_LDADD = $(LDADD) @LIBINTL@ test_xstrtoimax_LDADD = $(LDADD) @LIBINTL@ test_xstrtol_LDADD = $(LDADD) @LIBINTL@ test_xstrtoul_LDADD = $(LDADD) @LIBINTL@ test_xstrtoumax_LDADD = $(LDADD) @LIBINTL@ test_xvasprintf_LDADD = $(LDADD) @LIBINTL@ test_yesno_LDADD = $(LDADD) @LIBINTL@ AM_CFLAGS = $(GNULIB_TEST_WARN_CFLAGS) $(WERROR_CFLAGS) # A few tests are inherently warning-evoking. # In the typical case where we use -Werror, exempt the few offenders. # test-xvasprintf.c: In function 'test_xasprintf': # test-xvasprintf.c:100: error: format not a string literal and no \ # format arguments [-Wformat-security] test_xvasprintf_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-format-security'` # test-lock.c: In function 'lock_mutator_thread': # test-lock.c:148: error: cast from function call of type 'pthread_t' to \ # non-matching type 'void *' [-Wbad-function-cast] test_lock_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-bad-function-cast'` test_tls_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-bad-function-cast'` all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .html .log .o .obj .test .test$(EXEEXT) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gnulib-tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign gnulib-tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(srcdir)/gnulib.mk: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-checkLIBRARIES: -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES) clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) glthread/$(am__dirstamp): @$(MKDIR_P) glthread @: > glthread/$(am__dirstamp) glthread/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) glthread/$(DEPDIR) @: > glthread/$(DEPDIR)/$(am__dirstamp) glthread/thread.$(OBJEXT): glthread/$(am__dirstamp) \ glthread/$(DEPDIR)/$(am__dirstamp) libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) $(AM_V_at)-rm -f libtests.a $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD) $(AM_V_at)$(RANLIB) libtests.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS) @$(NORMAL_INSTALL) @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-pkglibexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkglibexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkglibexecdir)" && rm -f $$files clean-pkglibexecPROGRAMS: -test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS) test-accept$(EXEEXT): $(test_accept_OBJECTS) $(test_accept_DEPENDENCIES) $(EXTRA_test_accept_DEPENDENCIES) @rm -f test-accept$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_accept_OBJECTS) $(test_accept_LDADD) $(LIBS) test-alignof$(EXEEXT): $(test_alignof_OBJECTS) $(test_alignof_DEPENDENCIES) $(EXTRA_test_alignof_DEPENDENCIES) @rm -f test-alignof$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_alignof_OBJECTS) $(test_alignof_LDADD) $(LIBS) test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES) @rm -f test-alloca-opt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS) test-areadlink$(EXEEXT): $(test_areadlink_OBJECTS) $(test_areadlink_DEPENDENCIES) $(EXTRA_test_areadlink_DEPENDENCIES) @rm -f test-areadlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_areadlink_OBJECTS) $(test_areadlink_LDADD) $(LIBS) test-areadlink-with-size$(EXEEXT): $(test_areadlink_with_size_OBJECTS) $(test_areadlink_with_size_DEPENDENCIES) $(EXTRA_test_areadlink_with_size_DEPENDENCIES) @rm -f test-areadlink-with-size$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_areadlink_with_size_OBJECTS) $(test_areadlink_with_size_LDADD) $(LIBS) test-areadlinkat$(EXEEXT): $(test_areadlinkat_OBJECTS) $(test_areadlinkat_DEPENDENCIES) $(EXTRA_test_areadlinkat_DEPENDENCIES) @rm -f test-areadlinkat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_areadlinkat_OBJECTS) $(test_areadlinkat_LDADD) $(LIBS) test-argmatch$(EXEEXT): $(test_argmatch_OBJECTS) $(test_argmatch_DEPENDENCIES) $(EXTRA_test_argmatch_DEPENDENCIES) @rm -f test-argmatch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_argmatch_OBJECTS) $(test_argmatch_LDADD) $(LIBS) test-argv-iter$(EXEEXT): $(test_argv_iter_OBJECTS) $(test_argv_iter_DEPENDENCIES) $(EXTRA_test_argv_iter_DEPENDENCIES) @rm -f test-argv-iter$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_argv_iter_OBJECTS) $(test_argv_iter_LDADD) $(LIBS) test-arpa_inet$(EXEEXT): $(test_arpa_inet_OBJECTS) $(test_arpa_inet_DEPENDENCIES) $(EXTRA_test_arpa_inet_DEPENDENCIES) @rm -f test-arpa_inet$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_arpa_inet_OBJECTS) $(test_arpa_inet_LDADD) $(LIBS) test-base64$(EXEEXT): $(test_base64_OBJECTS) $(test_base64_DEPENDENCIES) $(EXTRA_test_base64_DEPENDENCIES) @rm -f test-base64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_base64_OBJECTS) $(test_base64_LDADD) $(LIBS) test-binary-io$(EXEEXT): $(test_binary_io_OBJECTS) $(test_binary_io_DEPENDENCIES) $(EXTRA_test_binary_io_DEPENDENCIES) @rm -f test-binary-io$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_binary_io_OBJECTS) $(test_binary_io_LDADD) $(LIBS) test-bind$(EXEEXT): $(test_bind_OBJECTS) $(test_bind_DEPENDENCIES) $(EXTRA_test_bind_DEPENDENCIES) @rm -f test-bind$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_bind_OBJECTS) $(test_bind_LDADD) $(LIBS) test-bitrotate$(EXEEXT): $(test_bitrotate_OBJECTS) $(test_bitrotate_DEPENDENCIES) $(EXTRA_test_bitrotate_DEPENDENCIES) @rm -f test-bitrotate$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_bitrotate_OBJECTS) $(test_bitrotate_LDADD) $(LIBS) test-btowc$(EXEEXT): $(test_btowc_OBJECTS) $(test_btowc_DEPENDENCIES) $(EXTRA_test_btowc_DEPENDENCIES) @rm -f test-btowc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_btowc_OBJECTS) $(test_btowc_LDADD) $(LIBS) test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) $(EXTRA_test_c_ctype_DEPENDENCIES) @rm -f test-c-ctype$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS) test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES) $(EXTRA_test_c_strcasecmp_DEPENDENCIES) @rm -f test-c-strcasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS) test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES) $(EXTRA_test_c_strncasecmp_DEPENDENCIES) @rm -f test-c-strncasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS) test-calloc-gnu$(EXEEXT): $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_DEPENDENCIES) $(EXTRA_test_calloc_gnu_DEPENDENCIES) @rm -f test-calloc-gnu$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_calloc_gnu_OBJECTS) $(test_calloc_gnu_LDADD) $(LIBS) test-canonicalize$(EXEEXT): $(test_canonicalize_OBJECTS) $(test_canonicalize_DEPENDENCIES) $(EXTRA_test_canonicalize_DEPENDENCIES) @rm -f test-canonicalize$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_canonicalize_OBJECTS) $(test_canonicalize_LDADD) $(LIBS) test-chdir$(EXEEXT): $(test_chdir_OBJECTS) $(test_chdir_DEPENDENCIES) $(EXTRA_test_chdir_DEPENDENCIES) @rm -f test-chdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_chdir_OBJECTS) $(test_chdir_LDADD) $(LIBS) test-chown$(EXEEXT): $(test_chown_OBJECTS) $(test_chown_DEPENDENCIES) $(EXTRA_test_chown_DEPENDENCIES) @rm -f test-chown$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_chown_OBJECTS) $(test_chown_LDADD) $(LIBS) test-cloexec$(EXEEXT): $(test_cloexec_OBJECTS) $(test_cloexec_DEPENDENCIES) $(EXTRA_test_cloexec_DEPENDENCIES) @rm -f test-cloexec$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_cloexec_OBJECTS) $(test_cloexec_LDADD) $(LIBS) test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES) $(EXTRA_test_close_DEPENDENCIES) @rm -f test-close$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS) test-closein$(EXEEXT): $(test_closein_OBJECTS) $(test_closein_DEPENDENCIES) $(EXTRA_test_closein_DEPENDENCIES) @rm -f test-closein$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_closein_OBJECTS) $(test_closein_LDADD) $(LIBS) test-connect$(EXEEXT): $(test_connect_OBJECTS) $(test_connect_DEPENDENCIES) $(EXTRA_test_connect_DEPENDENCIES) @rm -f test-connect$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_connect_OBJECTS) $(test_connect_LDADD) $(LIBS) test-copy-acl$(EXEEXT): $(test_copy_acl_OBJECTS) $(test_copy_acl_DEPENDENCIES) $(EXTRA_test_copy_acl_DEPENDENCIES) @rm -f test-copy-acl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_copy_acl_OBJECTS) $(test_copy_acl_LDADD) $(LIBS) test-ctype$(EXEEXT): $(test_ctype_OBJECTS) $(test_ctype_DEPENDENCIES) $(EXTRA_test_ctype_DEPENDENCIES) @rm -f test-ctype$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ctype_OBJECTS) $(test_ctype_LDADD) $(LIBS) test-di-set$(EXEEXT): $(test_di_set_OBJECTS) $(test_di_set_DEPENDENCIES) $(EXTRA_test_di_set_DEPENDENCIES) @rm -f test-di-set$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_di_set_OBJECTS) $(test_di_set_LDADD) $(LIBS) test-dirent$(EXEEXT): $(test_dirent_OBJECTS) $(test_dirent_DEPENDENCIES) $(EXTRA_test_dirent_DEPENDENCIES) @rm -f test-dirent$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dirent_OBJECTS) $(test_dirent_LDADD) $(LIBS) test-dirent-safer$(EXEEXT): $(test_dirent_safer_OBJECTS) $(test_dirent_safer_DEPENDENCIES) $(EXTRA_test_dirent_safer_DEPENDENCIES) @rm -f test-dirent-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dirent_safer_OBJECTS) $(test_dirent_safer_LDADD) $(LIBS) test-dirname$(EXEEXT): $(test_dirname_OBJECTS) $(test_dirname_DEPENDENCIES) $(EXTRA_test_dirname_DEPENDENCIES) @rm -f test-dirname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dirname_OBJECTS) $(test_dirname_LDADD) $(LIBS) test-dup$(EXEEXT): $(test_dup_OBJECTS) $(test_dup_DEPENDENCIES) $(EXTRA_test_dup_DEPENDENCIES) @rm -f test-dup$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dup_OBJECTS) $(test_dup_LDADD) $(LIBS) test-dup-safer$(EXEEXT): $(test_dup_safer_OBJECTS) $(test_dup_safer_DEPENDENCIES) $(EXTRA_test_dup_safer_DEPENDENCIES) @rm -f test-dup-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dup_safer_OBJECTS) $(test_dup_safer_LDADD) $(LIBS) test-dup2$(EXEEXT): $(test_dup2_OBJECTS) $(test_dup2_DEPENDENCIES) $(EXTRA_test_dup2_DEPENDENCIES) @rm -f test-dup2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_dup2_OBJECTS) $(test_dup2_LDADD) $(LIBS) test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) $(EXTRA_test_environ_DEPENDENCIES) @rm -f test-environ$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS) test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) $(EXTRA_test_errno_DEPENDENCIES) @rm -f test-errno$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS) test-exclude$(EXEEXT): $(test_exclude_OBJECTS) $(test_exclude_DEPENDENCIES) $(EXTRA_test_exclude_DEPENDENCIES) @rm -f test-exclude$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_exclude_OBJECTS) $(test_exclude_LDADD) $(LIBS) test-faccessat$(EXEEXT): $(test_faccessat_OBJECTS) $(test_faccessat_DEPENDENCIES) $(EXTRA_test_faccessat_DEPENDENCIES) @rm -f test-faccessat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_faccessat_OBJECTS) $(test_faccessat_LDADD) $(LIBS) test-fadvise$(EXEEXT): $(test_fadvise_OBJECTS) $(test_fadvise_DEPENDENCIES) $(EXTRA_test_fadvise_DEPENDENCIES) @rm -f test-fadvise$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fadvise_OBJECTS) $(test_fadvise_LDADD) $(LIBS) test-fchdir$(EXEEXT): $(test_fchdir_OBJECTS) $(test_fchdir_DEPENDENCIES) $(EXTRA_test_fchdir_DEPENDENCIES) @rm -f test-fchdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fchdir_OBJECTS) $(test_fchdir_LDADD) $(LIBS) test-fchmodat$(EXEEXT): $(test_fchmodat_OBJECTS) $(test_fchmodat_DEPENDENCIES) $(EXTRA_test_fchmodat_DEPENDENCIES) @rm -f test-fchmodat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fchmodat_OBJECTS) $(test_fchmodat_LDADD) $(LIBS) test-fchownat$(EXEEXT): $(test_fchownat_OBJECTS) $(test_fchownat_DEPENDENCIES) $(EXTRA_test_fchownat_DEPENDENCIES) @rm -f test-fchownat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fchownat_OBJECTS) $(test_fchownat_LDADD) $(LIBS) test-fclose$(EXEEXT): $(test_fclose_OBJECTS) $(test_fclose_DEPENDENCIES) $(EXTRA_test_fclose_DEPENDENCIES) @rm -f test-fclose$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fclose_OBJECTS) $(test_fclose_LDADD) $(LIBS) test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_test_fcntl_DEPENDENCIES) @rm -f test-fcntl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fcntl_OBJECTS) $(test_fcntl_LDADD) $(LIBS) test-fcntl-h$(EXEEXT): $(test_fcntl_h_OBJECTS) $(test_fcntl_h_DEPENDENCIES) $(EXTRA_test_fcntl_h_DEPENDENCIES) @rm -f test-fcntl-h$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fcntl_h_OBJECTS) $(test_fcntl_h_LDADD) $(LIBS) test-fcntl-safer$(EXEEXT): $(test_fcntl_safer_OBJECTS) $(test_fcntl_safer_DEPENDENCIES) $(EXTRA_test_fcntl_safer_DEPENDENCIES) @rm -f test-fcntl-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fcntl_safer_OBJECTS) $(test_fcntl_safer_LDADD) $(LIBS) test-fdatasync$(EXEEXT): $(test_fdatasync_OBJECTS) $(test_fdatasync_DEPENDENCIES) $(EXTRA_test_fdatasync_DEPENDENCIES) @rm -f test-fdatasync$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fdatasync_OBJECTS) $(test_fdatasync_LDADD) $(LIBS) test-fdopen$(EXEEXT): $(test_fdopen_OBJECTS) $(test_fdopen_DEPENDENCIES) $(EXTRA_test_fdopen_DEPENDENCIES) @rm -f test-fdopen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fdopen_OBJECTS) $(test_fdopen_LDADD) $(LIBS) test-fdopendir$(EXEEXT): $(test_fdopendir_OBJECTS) $(test_fdopendir_DEPENDENCIES) $(EXTRA_test_fdopendir_DEPENDENCIES) @rm -f test-fdopendir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fdopendir_OBJECTS) $(test_fdopendir_LDADD) $(LIBS) test-fdutimensat$(EXEEXT): $(test_fdutimensat_OBJECTS) $(test_fdutimensat_DEPENDENCIES) $(EXTRA_test_fdutimensat_DEPENDENCIES) @rm -f test-fdutimensat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fdutimensat_OBJECTS) $(test_fdutimensat_LDADD) $(LIBS) test-fflush$(EXEEXT): $(test_fflush_OBJECTS) $(test_fflush_DEPENDENCIES) $(EXTRA_test_fflush_DEPENDENCIES) @rm -f test-fflush$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fflush_OBJECTS) $(test_fflush_LDADD) $(LIBS) test-fflush2$(EXEEXT): $(test_fflush2_OBJECTS) $(test_fflush2_DEPENDENCIES) $(EXTRA_test_fflush2_DEPENDENCIES) @rm -f test-fflush2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fflush2_OBJECTS) $(test_fflush2_LDADD) $(LIBS) test-fgetc$(EXEEXT): $(test_fgetc_OBJECTS) $(test_fgetc_DEPENDENCIES) $(EXTRA_test_fgetc_DEPENDENCIES) @rm -f test-fgetc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fgetc_OBJECTS) $(test_fgetc_LDADD) $(LIBS) test-file-has-acl$(EXEEXT): $(test_file_has_acl_OBJECTS) $(test_file_has_acl_DEPENDENCIES) $(EXTRA_test_file_has_acl_DEPENDENCIES) @rm -f test-file-has-acl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_file_has_acl_OBJECTS) $(test_file_has_acl_LDADD) $(LIBS) test-filenamecat$(EXEEXT): $(test_filenamecat_OBJECTS) $(test_filenamecat_DEPENDENCIES) $(EXTRA_test_filenamecat_DEPENDENCIES) @rm -f test-filenamecat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_filenamecat_OBJECTS) $(test_filenamecat_LDADD) $(LIBS) test-filevercmp$(EXEEXT): $(test_filevercmp_OBJECTS) $(test_filevercmp_DEPENDENCIES) $(EXTRA_test_filevercmp_DEPENDENCIES) @rm -f test-filevercmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_filevercmp_OBJECTS) $(test_filevercmp_LDADD) $(LIBS) test-float$(EXEEXT): $(test_float_OBJECTS) $(test_float_DEPENDENCIES) $(EXTRA_test_float_DEPENDENCIES) @rm -f test-float$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_float_OBJECTS) $(test_float_LDADD) $(LIBS) test-fnmatch$(EXEEXT): $(test_fnmatch_OBJECTS) $(test_fnmatch_DEPENDENCIES) $(EXTRA_test_fnmatch_DEPENDENCIES) @rm -f test-fnmatch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fnmatch_OBJECTS) $(test_fnmatch_LDADD) $(LIBS) test-fopen$(EXEEXT): $(test_fopen_OBJECTS) $(test_fopen_DEPENDENCIES) $(EXTRA_test_fopen_DEPENDENCIES) @rm -f test-fopen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fopen_OBJECTS) $(test_fopen_LDADD) $(LIBS) test-fopen-safer$(EXEEXT): $(test_fopen_safer_OBJECTS) $(test_fopen_safer_DEPENDENCIES) $(EXTRA_test_fopen_safer_DEPENDENCIES) @rm -f test-fopen-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fopen_safer_OBJECTS) $(test_fopen_safer_LDADD) $(LIBS) test-fpending$(EXEEXT): $(test_fpending_OBJECTS) $(test_fpending_DEPENDENCIES) $(EXTRA_test_fpending_DEPENDENCIES) @rm -f test-fpending$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fpending_OBJECTS) $(test_fpending_LDADD) $(LIBS) test-fpurge$(EXEEXT): $(test_fpurge_OBJECTS) $(test_fpurge_DEPENDENCIES) $(EXTRA_test_fpurge_DEPENDENCIES) @rm -f test-fpurge$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fpurge_OBJECTS) $(test_fpurge_LDADD) $(LIBS) test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES) $(EXTRA_test_fputc_DEPENDENCIES) @rm -f test-fputc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS) test-fread$(EXEEXT): $(test_fread_OBJECTS) $(test_fread_DEPENDENCIES) $(EXTRA_test_fread_DEPENDENCIES) @rm -f test-fread$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fread_OBJECTS) $(test_fread_LDADD) $(LIBS) test-freadahead$(EXEEXT): $(test_freadahead_OBJECTS) $(test_freadahead_DEPENDENCIES) $(EXTRA_test_freadahead_DEPENDENCIES) @rm -f test-freadahead$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freadahead_OBJECTS) $(test_freadahead_LDADD) $(LIBS) test-freading$(EXEEXT): $(test_freading_OBJECTS) $(test_freading_DEPENDENCIES) $(EXTRA_test_freading_DEPENDENCIES) @rm -f test-freading$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freading_OBJECTS) $(test_freading_LDADD) $(LIBS) test-freadptr$(EXEEXT): $(test_freadptr_OBJECTS) $(test_freadptr_DEPENDENCIES) $(EXTRA_test_freadptr_DEPENDENCIES) @rm -f test-freadptr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freadptr_OBJECTS) $(test_freadptr_LDADD) $(LIBS) test-freadptr2$(EXEEXT): $(test_freadptr2_OBJECTS) $(test_freadptr2_DEPENDENCIES) $(EXTRA_test_freadptr2_DEPENDENCIES) @rm -f test-freadptr2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freadptr2_OBJECTS) $(test_freadptr2_LDADD) $(LIBS) test-freadseek$(EXEEXT): $(test_freadseek_OBJECTS) $(test_freadseek_DEPENDENCIES) $(EXTRA_test_freadseek_DEPENDENCIES) @rm -f test-freadseek$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freadseek_OBJECTS) $(test_freadseek_LDADD) $(LIBS) test-freopen$(EXEEXT): $(test_freopen_OBJECTS) $(test_freopen_DEPENDENCIES) $(EXTRA_test_freopen_DEPENDENCIES) @rm -f test-freopen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freopen_OBJECTS) $(test_freopen_LDADD) $(LIBS) test-freopen-safer$(EXEEXT): $(test_freopen_safer_OBJECTS) $(test_freopen_safer_DEPENDENCIES) $(EXTRA_test_freopen_safer_DEPENDENCIES) @rm -f test-freopen-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_freopen_safer_OBJECTS) $(test_freopen_safer_LDADD) $(LIBS) test-frexp-nolibm$(EXEEXT): $(test_frexp_nolibm_OBJECTS) $(test_frexp_nolibm_DEPENDENCIES) $(EXTRA_test_frexp_nolibm_DEPENDENCIES) @rm -f test-frexp-nolibm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_frexp_nolibm_OBJECTS) $(test_frexp_nolibm_LDADD) $(LIBS) test-frexpl-nolibm$(EXEEXT): $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_DEPENDENCIES) $(EXTRA_test_frexpl_nolibm_DEPENDENCIES) @rm -f test-frexpl-nolibm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_LDADD) $(LIBS) test-fseek$(EXEEXT): $(test_fseek_OBJECTS) $(test_fseek_DEPENDENCIES) $(EXTRA_test_fseek_DEPENDENCIES) @rm -f test-fseek$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseek_OBJECTS) $(test_fseek_LDADD) $(LIBS) test-fseeko$(EXEEXT): $(test_fseeko_OBJECTS) $(test_fseeko_DEPENDENCIES) $(EXTRA_test_fseeko_DEPENDENCIES) @rm -f test-fseeko$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseeko_OBJECTS) $(test_fseeko_LDADD) $(LIBS) test-fseeko3$(EXEEXT): $(test_fseeko3_OBJECTS) $(test_fseeko3_DEPENDENCIES) $(EXTRA_test_fseeko3_DEPENDENCIES) @rm -f test-fseeko3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseeko3_OBJECTS) $(test_fseeko3_LDADD) $(LIBS) test-fseeko4$(EXEEXT): $(test_fseeko4_OBJECTS) $(test_fseeko4_DEPENDENCIES) $(EXTRA_test_fseeko4_DEPENDENCIES) @rm -f test-fseeko4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseeko4_OBJECTS) $(test_fseeko4_LDADD) $(LIBS) test-fseterr$(EXEEXT): $(test_fseterr_OBJECTS) $(test_fseterr_DEPENDENCIES) $(EXTRA_test_fseterr_DEPENDENCIES) @rm -f test-fseterr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fseterr_OBJECTS) $(test_fseterr_LDADD) $(LIBS) test-fstat$(EXEEXT): $(test_fstat_OBJECTS) $(test_fstat_DEPENDENCIES) $(EXTRA_test_fstat_DEPENDENCIES) @rm -f test-fstat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fstat_OBJECTS) $(test_fstat_LDADD) $(LIBS) test-fstatat$(EXEEXT): $(test_fstatat_OBJECTS) $(test_fstatat_DEPENDENCIES) $(EXTRA_test_fstatat_DEPENDENCIES) @rm -f test-fstatat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fstatat_OBJECTS) $(test_fstatat_LDADD) $(LIBS) test-fsync$(EXEEXT): $(test_fsync_OBJECTS) $(test_fsync_DEPENDENCIES) $(EXTRA_test_fsync_DEPENDENCIES) @rm -f test-fsync$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fsync_OBJECTS) $(test_fsync_LDADD) $(LIBS) test-ftell$(EXEEXT): $(test_ftell_OBJECTS) $(test_ftell_DEPENDENCIES) $(EXTRA_test_ftell_DEPENDENCIES) @rm -f test-ftell$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftell_OBJECTS) $(test_ftell_LDADD) $(LIBS) test-ftell3$(EXEEXT): $(test_ftell3_OBJECTS) $(test_ftell3_DEPENDENCIES) $(EXTRA_test_ftell3_DEPENDENCIES) @rm -f test-ftell3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftell3_OBJECTS) $(test_ftell3_LDADD) $(LIBS) test-ftello$(EXEEXT): $(test_ftello_OBJECTS) $(test_ftello_DEPENDENCIES) $(EXTRA_test_ftello_DEPENDENCIES) @rm -f test-ftello$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftello_OBJECTS) $(test_ftello_LDADD) $(LIBS) test-ftello3$(EXEEXT): $(test_ftello3_OBJECTS) $(test_ftello3_DEPENDENCIES) $(EXTRA_test_ftello3_DEPENDENCIES) @rm -f test-ftello3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftello3_OBJECTS) $(test_ftello3_LDADD) $(LIBS) test-ftello4$(EXEEXT): $(test_ftello4_OBJECTS) $(test_ftello4_DEPENDENCIES) $(EXTRA_test_ftello4_DEPENDENCIES) @rm -f test-ftello4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftello4_OBJECTS) $(test_ftello4_LDADD) $(LIBS) test-ftruncate$(EXEEXT): $(test_ftruncate_OBJECTS) $(test_ftruncate_DEPENDENCIES) $(EXTRA_test_ftruncate_DEPENDENCIES) @rm -f test-ftruncate$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ftruncate_OBJECTS) $(test_ftruncate_LDADD) $(LIBS) test-futimens$(EXEEXT): $(test_futimens_OBJECTS) $(test_futimens_DEPENDENCIES) $(EXTRA_test_futimens_DEPENDENCIES) @rm -f test-futimens$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_futimens_OBJECTS) $(test_futimens_LDADD) $(LIBS) test-fwrite$(EXEEXT): $(test_fwrite_OBJECTS) $(test_fwrite_DEPENDENCIES) $(EXTRA_test_fwrite_DEPENDENCIES) @rm -f test-fwrite$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_fwrite_OBJECTS) $(test_fwrite_LDADD) $(LIBS) test-getaddrinfo$(EXEEXT): $(test_getaddrinfo_OBJECTS) $(test_getaddrinfo_DEPENDENCIES) $(EXTRA_test_getaddrinfo_DEPENDENCIES) @rm -f test-getaddrinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getaddrinfo_OBJECTS) $(test_getaddrinfo_LDADD) $(LIBS) test-getcwd$(EXEEXT): $(test_getcwd_OBJECTS) $(test_getcwd_DEPENDENCIES) $(EXTRA_test_getcwd_DEPENDENCIES) @rm -f test-getcwd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getcwd_OBJECTS) $(test_getcwd_LDADD) $(LIBS) test-getcwd-lgpl$(EXEEXT): $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_DEPENDENCIES) $(EXTRA_test_getcwd_lgpl_DEPENDENCIES) @rm -f test-getcwd-lgpl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_LDADD) $(LIBS) test-getdelim$(EXEEXT): $(test_getdelim_OBJECTS) $(test_getdelim_DEPENDENCIES) $(EXTRA_test_getdelim_DEPENDENCIES) @rm -f test-getdelim$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getdelim_OBJECTS) $(test_getdelim_LDADD) $(LIBS) test-getdtablesize$(EXEEXT): $(test_getdtablesize_OBJECTS) $(test_getdtablesize_DEPENDENCIES) $(EXTRA_test_getdtablesize_DEPENDENCIES) @rm -f test-getdtablesize$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getdtablesize_OBJECTS) $(test_getdtablesize_LDADD) $(LIBS) test-getgroups$(EXEEXT): $(test_getgroups_OBJECTS) $(test_getgroups_DEPENDENCIES) $(EXTRA_test_getgroups_DEPENDENCIES) @rm -f test-getgroups$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getgroups_OBJECTS) $(test_getgroups_LDADD) $(LIBS) test-gethostname$(EXEEXT): $(test_gethostname_OBJECTS) $(test_gethostname_DEPENDENCIES) $(EXTRA_test_gethostname_DEPENDENCIES) @rm -f test-gethostname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_gethostname_OBJECTS) $(test_gethostname_LDADD) $(LIBS) test-getline$(EXEEXT): $(test_getline_OBJECTS) $(test_getline_DEPENDENCIES) $(EXTRA_test_getline_DEPENDENCIES) @rm -f test-getline$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getline_OBJECTS) $(test_getline_LDADD) $(LIBS) test-getloadavg$(EXEEXT): $(test_getloadavg_OBJECTS) $(test_getloadavg_DEPENDENCIES) $(EXTRA_test_getloadavg_DEPENDENCIES) @rm -f test-getloadavg$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getloadavg_OBJECTS) $(test_getloadavg_LDADD) $(LIBS) test-getlogin$(EXEEXT): $(test_getlogin_OBJECTS) $(test_getlogin_DEPENDENCIES) $(EXTRA_test_getlogin_DEPENDENCIES) @rm -f test-getlogin$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getlogin_OBJECTS) $(test_getlogin_LDADD) $(LIBS) test-getndelim2$(EXEEXT): $(test_getndelim2_OBJECTS) $(test_getndelim2_DEPENDENCIES) $(EXTRA_test_getndelim2_DEPENDENCIES) @rm -f test-getndelim2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getndelim2_OBJECTS) $(test_getndelim2_LDADD) $(LIBS) test-getopt$(EXEEXT): $(test_getopt_OBJECTS) $(test_getopt_DEPENDENCIES) $(EXTRA_test_getopt_DEPENDENCIES) @rm -f test-getopt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_getopt_OBJECTS) $(test_getopt_LDADD) $(LIBS) test-gettimeofday$(EXEEXT): $(test_gettimeofday_OBJECTS) $(test_gettimeofday_DEPENDENCIES) $(EXTRA_test_gettimeofday_DEPENDENCIES) @rm -f test-gettimeofday$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_gettimeofday_OBJECTS) $(test_gettimeofday_LDADD) $(LIBS) test-hash$(EXEEXT): $(test_hash_OBJECTS) $(test_hash_DEPENDENCIES) $(EXTRA_test_hash_DEPENDENCIES) @rm -f test-hash$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_hash_OBJECTS) $(test_hash_LDADD) $(LIBS) test-i-ring$(EXEEXT): $(test_i_ring_OBJECTS) $(test_i_ring_DEPENDENCIES) $(EXTRA_test_i_ring_DEPENDENCIES) @rm -f test-i-ring$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_i_ring_OBJECTS) $(test_i_ring_LDADD) $(LIBS) test-iconv$(EXEEXT): $(test_iconv_OBJECTS) $(test_iconv_DEPENDENCIES) $(EXTRA_test_iconv_DEPENDENCIES) @rm -f test-iconv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_iconv_OBJECTS) $(test_iconv_LDADD) $(LIBS) test-iconv-h$(EXEEXT): $(test_iconv_h_OBJECTS) $(test_iconv_h_DEPENDENCIES) $(EXTRA_test_iconv_h_DEPENDENCIES) @rm -f test-iconv-h$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_iconv_h_OBJECTS) $(test_iconv_h_LDADD) $(LIBS) test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES) $(EXTRA_test_ignore_value_DEPENDENCIES) @rm -f test-ignore-value$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ignore_value_OBJECTS) $(test_ignore_value_LDADD) $(LIBS) test-inet_ntop$(EXEEXT): $(test_inet_ntop_OBJECTS) $(test_inet_ntop_DEPENDENCIES) $(EXTRA_test_inet_ntop_DEPENDENCIES) @rm -f test-inet_ntop$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_inet_ntop_OBJECTS) $(test_inet_ntop_LDADD) $(LIBS) test-inet_pton$(EXEEXT): $(test_inet_pton_OBJECTS) $(test_inet_pton_DEPENDENCIES) $(EXTRA_test_inet_pton_DEPENDENCIES) @rm -f test-inet_pton$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_inet_pton_OBJECTS) $(test_inet_pton_LDADD) $(LIBS) test-ino-map$(EXEEXT): $(test_ino_map_OBJECTS) $(test_ino_map_DEPENDENCIES) $(EXTRA_test_ino_map_DEPENDENCIES) @rm -f test-ino-map$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ino_map_OBJECTS) $(test_ino_map_LDADD) $(LIBS) test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES) $(EXTRA_test_intprops_DEPENDENCIES) @rm -f test-intprops$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS) test-inttostr$(EXEEXT): $(test_inttostr_OBJECTS) $(test_inttostr_DEPENDENCIES) $(EXTRA_test_inttostr_DEPENDENCIES) @rm -f test-inttostr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_inttostr_OBJECTS) $(test_inttostr_LDADD) $(LIBS) test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES) $(EXTRA_test_inttypes_DEPENDENCIES) @rm -f test-inttypes$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS) test-ioctl$(EXEEXT): $(test_ioctl_OBJECTS) $(test_ioctl_DEPENDENCIES) $(EXTRA_test_ioctl_DEPENDENCIES) @rm -f test-ioctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_ioctl_OBJECTS) $(test_ioctl_LDADD) $(LIBS) test-isatty$(EXEEXT): $(test_isatty_OBJECTS) $(test_isatty_DEPENDENCIES) $(EXTRA_test_isatty_DEPENDENCIES) @rm -f test-isatty$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_isatty_OBJECTS) $(test_isatty_LDADD) $(LIBS) test-isblank$(EXEEXT): $(test_isblank_OBJECTS) $(test_isblank_DEPENDENCIES) $(EXTRA_test_isblank_DEPENDENCIES) @rm -f test-isblank$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_isblank_OBJECTS) $(test_isblank_LDADD) $(LIBS) test-isnand-nolibm$(EXEEXT): $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_DEPENDENCIES) $(EXTRA_test_isnand_nolibm_DEPENDENCIES) @rm -f test-isnand-nolibm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_LDADD) $(LIBS) test-isnanf-nolibm$(EXEEXT): $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_DEPENDENCIES) $(EXTRA_test_isnanf_nolibm_DEPENDENCIES) @rm -f test-isnanf-nolibm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_LDADD) $(LIBS) test-isnanl-nolibm$(EXEEXT): $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_DEPENDENCIES) $(EXTRA_test_isnanl_nolibm_DEPENDENCIES) @rm -f test-isnanl-nolibm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_LDADD) $(LIBS) test-iswblank$(EXEEXT): $(test_iswblank_OBJECTS) $(test_iswblank_DEPENDENCIES) $(EXTRA_test_iswblank_DEPENDENCIES) @rm -f test-iswblank$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_iswblank_OBJECTS) $(test_iswblank_LDADD) $(LIBS) test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES) $(EXTRA_test_langinfo_DEPENDENCIES) @rm -f test-langinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_langinfo_OBJECTS) $(test_langinfo_LDADD) $(LIBS) test-lchown$(EXEEXT): $(test_lchown_OBJECTS) $(test_lchown_DEPENDENCIES) $(EXTRA_test_lchown_DEPENDENCIES) @rm -f test-lchown$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_lchown_OBJECTS) $(test_lchown_LDADD) $(LIBS) test-link$(EXEEXT): $(test_link_OBJECTS) $(test_link_DEPENDENCIES) $(EXTRA_test_link_DEPENDENCIES) @rm -f test-link$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_link_OBJECTS) $(test_link_LDADD) $(LIBS) test-linkat$(EXEEXT): $(test_linkat_OBJECTS) $(test_linkat_DEPENDENCIES) $(EXTRA_test_linkat_DEPENDENCIES) @rm -f test-linkat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_linkat_OBJECTS) $(test_linkat_LDADD) $(LIBS) test-listen$(EXEEXT): $(test_listen_OBJECTS) $(test_listen_DEPENDENCIES) $(EXTRA_test_listen_DEPENDENCIES) @rm -f test-listen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_listen_OBJECTS) $(test_listen_LDADD) $(LIBS) test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) $(EXTRA_test_locale_DEPENDENCIES) @rm -f test-locale$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS) test-localeconv$(EXEEXT): $(test_localeconv_OBJECTS) $(test_localeconv_DEPENDENCIES) $(EXTRA_test_localeconv_DEPENDENCIES) @rm -f test-localeconv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_localeconv_OBJECTS) $(test_localeconv_LDADD) $(LIBS) test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES) $(EXTRA_test_localename_DEPENDENCIES) @rm -f test-localename$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_localename_OBJECTS) $(test_localename_LDADD) $(LIBS) test-lock$(EXEEXT): $(test_lock_OBJECTS) $(test_lock_DEPENDENCIES) $(EXTRA_test_lock_DEPENDENCIES) @rm -f test-lock$(EXEEXT) $(AM_V_CCLD)$(test_lock_LINK) $(test_lock_OBJECTS) $(test_lock_LDADD) $(LIBS) test-lseek$(EXEEXT): $(test_lseek_OBJECTS) $(test_lseek_DEPENDENCIES) $(EXTRA_test_lseek_DEPENDENCIES) @rm -f test-lseek$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_lseek_OBJECTS) $(test_lseek_LDADD) $(LIBS) test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES) $(EXTRA_test_lstat_DEPENDENCIES) @rm -f test-lstat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS) test-malloc-gnu$(EXEEXT): $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_DEPENDENCIES) $(EXTRA_test_malloc_gnu_DEPENDENCIES) @rm -f test-malloc-gnu$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_LDADD) $(LIBS) test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EXTRA_test_malloca_DEPENDENCIES) @rm -f test-malloca$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS) test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES) $(EXTRA_test_math_DEPENDENCIES) @rm -f test-math$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_math_OBJECTS) $(test_math_LDADD) $(LIBS) test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES) $(EXTRA_test_mbrtowc_DEPENDENCIES) @rm -f test-mbrtowc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbrtowc_OBJECTS) $(test_mbrtowc_LDADD) $(LIBS) test-mbrtowc-w32$(EXEEXT): $(test_mbrtowc_w32_OBJECTS) $(test_mbrtowc_w32_DEPENDENCIES) $(EXTRA_test_mbrtowc_w32_DEPENDENCIES) @rm -f test-mbrtowc-w32$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbrtowc_w32_OBJECTS) $(test_mbrtowc_w32_LDADD) $(LIBS) test-mbsalign$(EXEEXT): $(test_mbsalign_OBJECTS) $(test_mbsalign_DEPENDENCIES) $(EXTRA_test_mbsalign_DEPENDENCIES) @rm -f test-mbsalign$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsalign_OBJECTS) $(test_mbsalign_LDADD) $(LIBS) test-mbscasecmp$(EXEEXT): $(test_mbscasecmp_OBJECTS) $(test_mbscasecmp_DEPENDENCIES) $(EXTRA_test_mbscasecmp_DEPENDENCIES) @rm -f test-mbscasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbscasecmp_OBJECTS) $(test_mbscasecmp_LDADD) $(LIBS) test-mbsinit$(EXEEXT): $(test_mbsinit_OBJECTS) $(test_mbsinit_DEPENDENCIES) $(EXTRA_test_mbsinit_DEPENDENCIES) @rm -f test-mbsinit$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsinit_OBJECTS) $(test_mbsinit_LDADD) $(LIBS) test-mbsrtowcs$(EXEEXT): $(test_mbsrtowcs_OBJECTS) $(test_mbsrtowcs_DEPENDENCIES) $(EXTRA_test_mbsrtowcs_DEPENDENCIES) @rm -f test-mbsrtowcs$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsrtowcs_OBJECTS) $(test_mbsrtowcs_LDADD) $(LIBS) test-mbsstr1$(EXEEXT): $(test_mbsstr1_OBJECTS) $(test_mbsstr1_DEPENDENCIES) $(EXTRA_test_mbsstr1_DEPENDENCIES) @rm -f test-mbsstr1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsstr1_OBJECTS) $(test_mbsstr1_LDADD) $(LIBS) test-mbsstr2$(EXEEXT): $(test_mbsstr2_OBJECTS) $(test_mbsstr2_DEPENDENCIES) $(EXTRA_test_mbsstr2_DEPENDENCIES) @rm -f test-mbsstr2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsstr2_OBJECTS) $(test_mbsstr2_LDADD) $(LIBS) test-mbsstr3$(EXEEXT): $(test_mbsstr3_OBJECTS) $(test_mbsstr3_DEPENDENCIES) $(EXTRA_test_mbsstr3_DEPENDENCIES) @rm -f test-mbsstr3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mbsstr3_OBJECTS) $(test_mbsstr3_LDADD) $(LIBS) test-md5$(EXEEXT): $(test_md5_OBJECTS) $(test_md5_DEPENDENCIES) $(EXTRA_test_md5_DEPENDENCIES) @rm -f test-md5$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_md5_OBJECTS) $(test_md5_LDADD) $(LIBS) test-memcasecmp$(EXEEXT): $(test_memcasecmp_OBJECTS) $(test_memcasecmp_DEPENDENCIES) $(EXTRA_test_memcasecmp_DEPENDENCIES) @rm -f test-memcasecmp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memcasecmp_OBJECTS) $(test_memcasecmp_LDADD) $(LIBS) test-memchr$(EXEEXT): $(test_memchr_OBJECTS) $(test_memchr_DEPENDENCIES) $(EXTRA_test_memchr_DEPENDENCIES) @rm -f test-memchr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memchr_OBJECTS) $(test_memchr_LDADD) $(LIBS) test-memchr2$(EXEEXT): $(test_memchr2_OBJECTS) $(test_memchr2_DEPENDENCIES) $(EXTRA_test_memchr2_DEPENDENCIES) @rm -f test-memchr2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memchr2_OBJECTS) $(test_memchr2_LDADD) $(LIBS) test-memcoll$(EXEEXT): $(test_memcoll_OBJECTS) $(test_memcoll_DEPENDENCIES) $(EXTRA_test_memcoll_DEPENDENCIES) @rm -f test-memcoll$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memcoll_OBJECTS) $(test_memcoll_LDADD) $(LIBS) test-memrchr$(EXEEXT): $(test_memrchr_OBJECTS) $(test_memrchr_DEPENDENCIES) $(EXTRA_test_memrchr_DEPENDENCIES) @rm -f test-memrchr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_memrchr_OBJECTS) $(test_memrchr_LDADD) $(LIBS) test-mkdir$(EXEEXT): $(test_mkdir_OBJECTS) $(test_mkdir_DEPENDENCIES) $(EXTRA_test_mkdir_DEPENDENCIES) @rm -f test-mkdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mkdir_OBJECTS) $(test_mkdir_LDADD) $(LIBS) test-mkfifo$(EXEEXT): $(test_mkfifo_OBJECTS) $(test_mkfifo_DEPENDENCIES) $(EXTRA_test_mkfifo_DEPENDENCIES) @rm -f test-mkfifo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mkfifo_OBJECTS) $(test_mkfifo_LDADD) $(LIBS) test-mknod$(EXEEXT): $(test_mknod_OBJECTS) $(test_mknod_DEPENDENCIES) $(EXTRA_test_mknod_DEPENDENCIES) @rm -f test-mknod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_mknod_OBJECTS) $(test_mknod_LDADD) $(LIBS) test-nanosleep$(EXEEXT): $(test_nanosleep_OBJECTS) $(test_nanosleep_DEPENDENCIES) $(EXTRA_test_nanosleep_DEPENDENCIES) @rm -f test-nanosleep$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_nanosleep_OBJECTS) $(test_nanosleep_LDADD) $(LIBS) test-netdb$(EXEEXT): $(test_netdb_OBJECTS) $(test_netdb_DEPENDENCIES) $(EXTRA_test_netdb_DEPENDENCIES) @rm -f test-netdb$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_netdb_OBJECTS) $(test_netdb_LDADD) $(LIBS) test-netinet_in$(EXEEXT): $(test_netinet_in_OBJECTS) $(test_netinet_in_DEPENDENCIES) $(EXTRA_test_netinet_in_DEPENDENCIES) @rm -f test-netinet_in$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_netinet_in_OBJECTS) $(test_netinet_in_LDADD) $(LIBS) test-nl_langinfo$(EXEEXT): $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_DEPENDENCIES) $(EXTRA_test_nl_langinfo_DEPENDENCIES) @rm -f test-nl_langinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_LDADD) $(LIBS) test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES) $(EXTRA_test_open_DEPENDENCIES) @rm -f test-open$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS) test-openat$(EXEEXT): $(test_openat_OBJECTS) $(test_openat_DEPENDENCIES) $(EXTRA_test_openat_DEPENDENCIES) @rm -f test-openat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_openat_OBJECTS) $(test_openat_LDADD) $(LIBS) test-openat-safer$(EXEEXT): $(test_openat_safer_OBJECTS) $(test_openat_safer_DEPENDENCIES) $(EXTRA_test_openat_safer_DEPENDENCIES) @rm -f test-openat-safer$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_openat_safer_OBJECTS) $(test_openat_safer_LDADD) $(LIBS) test-parse-datetime$(EXEEXT): $(test_parse_datetime_OBJECTS) $(test_parse_datetime_DEPENDENCIES) $(EXTRA_test_parse_datetime_DEPENDENCIES) @rm -f test-parse-datetime$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_parse_datetime_OBJECTS) $(test_parse_datetime_LDADD) $(LIBS) test-pathmax$(EXEEXT): $(test_pathmax_OBJECTS) $(test_pathmax_DEPENDENCIES) $(EXTRA_test_pathmax_DEPENDENCIES) @rm -f test-pathmax$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_pathmax_OBJECTS) $(test_pathmax_LDADD) $(LIBS) test-perror$(EXEEXT): $(test_perror_OBJECTS) $(test_perror_DEPENDENCIES) $(EXTRA_test_perror_DEPENDENCIES) @rm -f test-perror$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_perror_OBJECTS) $(test_perror_LDADD) $(LIBS) test-perror2$(EXEEXT): $(test_perror2_OBJECTS) $(test_perror2_DEPENDENCIES) $(EXTRA_test_perror2_DEPENDENCIES) @rm -f test-perror2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_perror2_OBJECTS) $(test_perror2_LDADD) $(LIBS) test-pipe$(EXEEXT): $(test_pipe_OBJECTS) $(test_pipe_DEPENDENCIES) $(EXTRA_test_pipe_DEPENDENCIES) @rm -f test-pipe$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_pipe_OBJECTS) $(test_pipe_LDADD) $(LIBS) test-pipe2$(EXEEXT): $(test_pipe2_OBJECTS) $(test_pipe2_DEPENDENCIES) $(EXTRA_test_pipe2_DEPENDENCIES) @rm -f test-pipe2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_pipe2_OBJECTS) $(test_pipe2_LDADD) $(LIBS) test-posix_spawn1$(EXEEXT): $(test_posix_spawn1_OBJECTS) $(test_posix_spawn1_DEPENDENCIES) $(EXTRA_test_posix_spawn1_DEPENDENCIES) @rm -f test-posix_spawn1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posix_spawn1_OBJECTS) $(test_posix_spawn1_LDADD) $(LIBS) test-posix_spawn2$(EXEEXT): $(test_posix_spawn2_OBJECTS) $(test_posix_spawn2_DEPENDENCIES) $(EXTRA_test_posix_spawn2_DEPENDENCIES) @rm -f test-posix_spawn2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posix_spawn2_OBJECTS) $(test_posix_spawn2_LDADD) $(LIBS) test-posix_spawn_file_actions_addclose$(EXEEXT): $(test_posix_spawn_file_actions_addclose_OBJECTS) $(test_posix_spawn_file_actions_addclose_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_addclose_DEPENDENCIES) @rm -f test-posix_spawn_file_actions_addclose$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_addclose_OBJECTS) $(test_posix_spawn_file_actions_addclose_LDADD) $(LIBS) test-posix_spawn_file_actions_adddup2$(EXEEXT): $(test_posix_spawn_file_actions_adddup2_OBJECTS) $(test_posix_spawn_file_actions_adddup2_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_adddup2_DEPENDENCIES) @rm -f test-posix_spawn_file_actions_adddup2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_adddup2_OBJECTS) $(test_posix_spawn_file_actions_adddup2_LDADD) $(LIBS) test-posix_spawn_file_actions_addopen$(EXEEXT): $(test_posix_spawn_file_actions_addopen_OBJECTS) $(test_posix_spawn_file_actions_addopen_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_addopen_DEPENDENCIES) @rm -f test-posix_spawn_file_actions_addopen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_addopen_OBJECTS) $(test_posix_spawn_file_actions_addopen_LDADD) $(LIBS) test-posixtm$(EXEEXT): $(test_posixtm_OBJECTS) $(test_posixtm_DEPENDENCIES) $(EXTRA_test_posixtm_DEPENDENCIES) @rm -f test-posixtm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_posixtm_OBJECTS) $(test_posixtm_LDADD) $(LIBS) test-printf-frexp$(EXEEXT): $(test_printf_frexp_OBJECTS) $(test_printf_frexp_DEPENDENCIES) $(EXTRA_test_printf_frexp_DEPENDENCIES) @rm -f test-printf-frexp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_printf_frexp_OBJECTS) $(test_printf_frexp_LDADD) $(LIBS) test-printf-frexpl$(EXEEXT): $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_DEPENDENCIES) $(EXTRA_test_printf_frexpl_DEPENDENCIES) @rm -f test-printf-frexpl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_LDADD) $(LIBS) test-priv-set$(EXEEXT): $(test_priv_set_OBJECTS) $(test_priv_set_DEPENDENCIES) $(EXTRA_test_priv_set_DEPENDENCIES) @rm -f test-priv-set$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_priv_set_OBJECTS) $(test_priv_set_LDADD) $(LIBS) test-quotearg-simple$(EXEEXT): $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_DEPENDENCIES) $(EXTRA_test_quotearg_simple_DEPENDENCIES) @rm -f test-quotearg-simple$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_LDADD) $(LIBS) test-raise$(EXEEXT): $(test_raise_OBJECTS) $(test_raise_DEPENDENCIES) $(EXTRA_test_raise_DEPENDENCIES) @rm -f test-raise$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_raise_OBJECTS) $(test_raise_LDADD) $(LIBS) test-rand-isaac$(EXEEXT): $(test_rand_isaac_OBJECTS) $(test_rand_isaac_DEPENDENCIES) $(EXTRA_test_rand_isaac_DEPENDENCIES) @rm -f test-rand-isaac$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_rand_isaac_OBJECTS) $(test_rand_isaac_LDADD) $(LIBS) test-rawmemchr$(EXEEXT): $(test_rawmemchr_OBJECTS) $(test_rawmemchr_DEPENDENCIES) $(EXTRA_test_rawmemchr_DEPENDENCIES) @rm -f test-rawmemchr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_rawmemchr_OBJECTS) $(test_rawmemchr_LDADD) $(LIBS) test-read$(EXEEXT): $(test_read_OBJECTS) $(test_read_DEPENDENCIES) $(EXTRA_test_read_DEPENDENCIES) @rm -f test-read$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_read_OBJECTS) $(test_read_LDADD) $(LIBS) test-read-file$(EXEEXT): $(test_read_file_OBJECTS) $(test_read_file_DEPENDENCIES) $(EXTRA_test_read_file_DEPENDENCIES) @rm -f test-read-file$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_read_file_OBJECTS) $(test_read_file_LDADD) $(LIBS) test-readlink$(EXEEXT): $(test_readlink_OBJECTS) $(test_readlink_DEPENDENCIES) $(EXTRA_test_readlink_DEPENDENCIES) @rm -f test-readlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_readlink_OBJECTS) $(test_readlink_LDADD) $(LIBS) test-readlinkat$(EXEEXT): $(test_readlinkat_OBJECTS) $(test_readlinkat_DEPENDENCIES) $(EXTRA_test_readlinkat_DEPENDENCIES) @rm -f test-readlinkat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_readlinkat_OBJECTS) $(test_readlinkat_LDADD) $(LIBS) test-readtokens$(EXEEXT): $(test_readtokens_OBJECTS) $(test_readtokens_DEPENDENCIES) $(EXTRA_test_readtokens_DEPENDENCIES) @rm -f test-readtokens$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_readtokens_OBJECTS) $(test_readtokens_LDADD) $(LIBS) test-realloc-gnu$(EXEEXT): $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_DEPENDENCIES) $(EXTRA_test_realloc_gnu_DEPENDENCIES) @rm -f test-realloc-gnu$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_realloc_gnu_OBJECTS) $(test_realloc_gnu_LDADD) $(LIBS) test-regex$(EXEEXT): $(test_regex_OBJECTS) $(test_regex_DEPENDENCIES) $(EXTRA_test_regex_DEPENDENCIES) @rm -f test-regex$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS) test-remove$(EXEEXT): $(test_remove_OBJECTS) $(test_remove_DEPENDENCIES) $(EXTRA_test_remove_DEPENDENCIES) @rm -f test-remove$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_remove_OBJECTS) $(test_remove_LDADD) $(LIBS) test-rename$(EXEEXT): $(test_rename_OBJECTS) $(test_rename_DEPENDENCIES) $(EXTRA_test_rename_DEPENDENCIES) @rm -f test-rename$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_rename_OBJECTS) $(test_rename_LDADD) $(LIBS) test-rmdir$(EXEEXT): $(test_rmdir_OBJECTS) $(test_rmdir_DEPENDENCIES) $(EXTRA_test_rmdir_DEPENDENCIES) @rm -f test-rmdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_rmdir_OBJECTS) $(test_rmdir_LDADD) $(LIBS) test-sameacls$(EXEEXT): $(test_sameacls_OBJECTS) $(test_sameacls_DEPENDENCIES) $(EXTRA_test_sameacls_DEPENDENCIES) @rm -f test-sameacls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sameacls_OBJECTS) $(test_sameacls_LDADD) $(LIBS) test-sched$(EXEEXT): $(test_sched_OBJECTS) $(test_sched_DEPENDENCIES) $(EXTRA_test_sched_DEPENDENCIES) @rm -f test-sched$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sched_OBJECTS) $(test_sched_LDADD) $(LIBS) test-select$(EXEEXT): $(test_select_OBJECTS) $(test_select_DEPENDENCIES) $(EXTRA_test_select_DEPENDENCIES) @rm -f test-select$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_select_OBJECTS) $(test_select_LDADD) $(LIBS) test-select-fd$(EXEEXT): $(test_select_fd_OBJECTS) $(test_select_fd_DEPENDENCIES) $(EXTRA_test_select_fd_DEPENDENCIES) @rm -f test-select-fd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_select_fd_OBJECTS) $(test_select_fd_LDADD) $(LIBS) test-select-stdin$(EXEEXT): $(test_select_stdin_OBJECTS) $(test_select_stdin_DEPENDENCIES) $(EXTRA_test_select_stdin_DEPENDENCIES) @rm -f test-select-stdin$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_select_stdin_OBJECTS) $(test_select_stdin_LDADD) $(LIBS) test-set-mode-acl$(EXEEXT): $(test_set_mode_acl_OBJECTS) $(test_set_mode_acl_DEPENDENCIES) $(EXTRA_test_set_mode_acl_DEPENDENCIES) @rm -f test-set-mode-acl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_set_mode_acl_OBJECTS) $(test_set_mode_acl_LDADD) $(LIBS) test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES) $(EXTRA_test_setenv_DEPENDENCIES) @rm -f test-setenv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS) test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENCIES) $(EXTRA_test_setlocale1_DEPENDENCIES) @rm -f test-setlocale1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_setlocale1_OBJECTS) $(test_setlocale1_LDADD) $(LIBS) test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES) $(EXTRA_test_setlocale2_DEPENDENCIES) @rm -f test-setlocale2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_setlocale2_OBJECTS) $(test_setlocale2_LDADD) $(LIBS) test-setsockopt$(EXEEXT): $(test_setsockopt_OBJECTS) $(test_setsockopt_DEPENDENCIES) $(EXTRA_test_setsockopt_DEPENDENCIES) @rm -f test-setsockopt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_setsockopt_OBJECTS) $(test_setsockopt_LDADD) $(LIBS) test-sha1$(EXEEXT): $(test_sha1_OBJECTS) $(test_sha1_DEPENDENCIES) $(EXTRA_test_sha1_DEPENDENCIES) @rm -f test-sha1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sha1_OBJECTS) $(test_sha1_LDADD) $(LIBS) test-sigaction$(EXEEXT): $(test_sigaction_OBJECTS) $(test_sigaction_DEPENDENCIES) $(EXTRA_test_sigaction_DEPENDENCIES) @rm -f test-sigaction$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sigaction_OBJECTS) $(test_sigaction_LDADD) $(LIBS) test-signal-h$(EXEEXT): $(test_signal_h_OBJECTS) $(test_signal_h_DEPENDENCIES) $(EXTRA_test_signal_h_DEPENDENCIES) @rm -f test-signal-h$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_signal_h_OBJECTS) $(test_signal_h_LDADD) $(LIBS) test-signbit$(EXEEXT): $(test_signbit_OBJECTS) $(test_signbit_DEPENDENCIES) $(EXTRA_test_signbit_DEPENDENCIES) @rm -f test-signbit$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_signbit_OBJECTS) $(test_signbit_LDADD) $(LIBS) test-sigprocmask$(EXEEXT): $(test_sigprocmask_OBJECTS) $(test_sigprocmask_DEPENDENCIES) $(EXTRA_test_sigprocmask_DEPENDENCIES) @rm -f test-sigprocmask$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sigprocmask_OBJECTS) $(test_sigprocmask_LDADD) $(LIBS) test-sleep$(EXEEXT): $(test_sleep_OBJECTS) $(test_sleep_DEPENDENCIES) $(EXTRA_test_sleep_DEPENDENCIES) @rm -f test-sleep$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sleep_OBJECTS) $(test_sleep_LDADD) $(LIBS) test-snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES) $(EXTRA_test_snprintf_DEPENDENCIES) @rm -f test-snprintf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_snprintf_OBJECTS) $(test_snprintf_LDADD) $(LIBS) test-sockets$(EXEEXT): $(test_sockets_OBJECTS) $(test_sockets_DEPENDENCIES) $(EXTRA_test_sockets_DEPENDENCIES) @rm -f test-sockets$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sockets_OBJECTS) $(test_sockets_LDADD) $(LIBS) test-spawn$(EXEEXT): $(test_spawn_OBJECTS) $(test_spawn_DEPENDENCIES) $(EXTRA_test_spawn_DEPENDENCIES) @rm -f test-spawn$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_spawn_OBJECTS) $(test_spawn_LDADD) $(LIBS) test-spawn-pipe-child$(EXEEXT): $(test_spawn_pipe_child_OBJECTS) $(test_spawn_pipe_child_DEPENDENCIES) $(EXTRA_test_spawn_pipe_child_DEPENDENCIES) @rm -f test-spawn-pipe-child$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_spawn_pipe_child_OBJECTS) $(test_spawn_pipe_child_LDADD) $(LIBS) test-spawn-pipe-main$(EXEEXT): $(test_spawn_pipe_main_OBJECTS) $(test_spawn_pipe_main_DEPENDENCIES) $(EXTRA_test_spawn_pipe_main_DEPENDENCIES) @rm -f test-spawn-pipe-main$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_spawn_pipe_main_OBJECTS) $(test_spawn_pipe_main_LDADD) $(LIBS) test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES) $(EXTRA_test_stat_DEPENDENCIES) @rm -f test-stat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS) test-stat-time$(EXEEXT): $(test_stat_time_OBJECTS) $(test_stat_time_DEPENDENCIES) $(EXTRA_test_stat_time_DEPENDENCIES) @rm -f test-stat-time$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stat_time_OBJECTS) $(test_stat_time_LDADD) $(LIBS) test-statat$(EXEEXT): $(test_statat_OBJECTS) $(test_statat_DEPENDENCIES) $(EXTRA_test_statat_DEPENDENCIES) @rm -f test-statat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_statat_OBJECTS) $(test_statat_LDADD) $(LIBS) test-stdalign$(EXEEXT): $(test_stdalign_OBJECTS) $(test_stdalign_DEPENDENCIES) $(EXTRA_test_stdalign_DEPENDENCIES) @rm -f test-stdalign$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdalign_OBJECTS) $(test_stdalign_LDADD) $(LIBS) test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES) @rm -f test-stdbool$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS) test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES) $(EXTRA_test_stddef_DEPENDENCIES) @rm -f test-stddef$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS) test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) $(EXTRA_test_stdint_DEPENDENCIES) @rm -f test-stdint$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS) test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES) $(EXTRA_test_stdio_DEPENDENCIES) @rm -f test-stdio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS) test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) $(EXTRA_test_stdlib_DEPENDENCIES) @rm -f test-stdlib$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS) test-strchrnul$(EXEEXT): $(test_strchrnul_OBJECTS) $(test_strchrnul_DEPENDENCIES) $(EXTRA_test_strchrnul_DEPENDENCIES) @rm -f test-strchrnul$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strchrnul_OBJECTS) $(test_strchrnul_LDADD) $(LIBS) test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES) $(EXTRA_test_strerror_DEPENDENCIES) @rm -f test-strerror$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS) test-strerror_r$(EXEEXT): $(test_strerror_r_OBJECTS) $(test_strerror_r_DEPENDENCIES) $(EXTRA_test_strerror_r_DEPENDENCIES) @rm -f test-strerror_r$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strerror_r_OBJECTS) $(test_strerror_r_LDADD) $(LIBS) test-strftime$(EXEEXT): $(test_strftime_OBJECTS) $(test_strftime_DEPENDENCIES) $(EXTRA_test_strftime_DEPENDENCIES) @rm -f test-strftime$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strftime_OBJECTS) $(test_strftime_LDADD) $(LIBS) test-striconv$(EXEEXT): $(test_striconv_OBJECTS) $(test_striconv_DEPENDENCIES) $(EXTRA_test_striconv_DEPENDENCIES) @rm -f test-striconv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_striconv_OBJECTS) $(test_striconv_LDADD) $(LIBS) test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES) $(EXTRA_test_string_DEPENDENCIES) @rm -f test-string$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS) test-strncat$(EXEEXT): $(test_strncat_OBJECTS) $(test_strncat_DEPENDENCIES) $(EXTRA_test_strncat_DEPENDENCIES) @rm -f test-strncat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strncat_OBJECTS) $(test_strncat_LDADD) $(LIBS) test-strnlen$(EXEEXT): $(test_strnlen_OBJECTS) $(test_strnlen_DEPENDENCIES) $(EXTRA_test_strnlen_DEPENDENCIES) @rm -f test-strnlen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strnlen_OBJECTS) $(test_strnlen_LDADD) $(LIBS) test-strsignal$(EXEEXT): $(test_strsignal_OBJECTS) $(test_strsignal_DEPENDENCIES) $(EXTRA_test_strsignal_DEPENDENCIES) @rm -f test-strsignal$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strsignal_OBJECTS) $(test_strsignal_LDADD) $(LIBS) test-strtod$(EXEEXT): $(test_strtod_OBJECTS) $(test_strtod_DEPENDENCIES) $(EXTRA_test_strtod_DEPENDENCIES) @rm -f test-strtod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strtod_OBJECTS) $(test_strtod_LDADD) $(LIBS) test-strtoimax$(EXEEXT): $(test_strtoimax_OBJECTS) $(test_strtoimax_DEPENDENCIES) $(EXTRA_test_strtoimax_DEPENDENCIES) @rm -f test-strtoimax$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strtoimax_OBJECTS) $(test_strtoimax_LDADD) $(LIBS) test-strtoll$(EXEEXT): $(test_strtoll_OBJECTS) $(test_strtoll_DEPENDENCIES) $(EXTRA_test_strtoll_DEPENDENCIES) @rm -f test-strtoll$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strtoll_OBJECTS) $(test_strtoll_LDADD) $(LIBS) test-strtoull$(EXEEXT): $(test_strtoull_OBJECTS) $(test_strtoull_DEPENDENCIES) $(EXTRA_test_strtoull_DEPENDENCIES) @rm -f test-strtoull$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strtoull_OBJECTS) $(test_strtoull_LDADD) $(LIBS) test-strtoumax$(EXEEXT): $(test_strtoumax_OBJECTS) $(test_strtoumax_DEPENDENCIES) $(EXTRA_test_strtoumax_DEPENDENCIES) @rm -f test-strtoumax$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_strtoumax_OBJECTS) $(test_strtoumax_LDADD) $(LIBS) test-symlink$(EXEEXT): $(test_symlink_OBJECTS) $(test_symlink_DEPENDENCIES) $(EXTRA_test_symlink_DEPENDENCIES) @rm -f test-symlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_symlink_OBJECTS) $(test_symlink_LDADD) $(LIBS) test-symlinkat$(EXEEXT): $(test_symlinkat_OBJECTS) $(test_symlinkat_DEPENDENCIES) $(EXTRA_test_symlinkat_DEPENDENCIES) @rm -f test-symlinkat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_symlinkat_OBJECTS) $(test_symlinkat_LDADD) $(LIBS) test-sys_ioctl$(EXEEXT): $(test_sys_ioctl_OBJECTS) $(test_sys_ioctl_DEPENDENCIES) $(EXTRA_test_sys_ioctl_DEPENDENCIES) @rm -f test-sys_ioctl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_ioctl_OBJECTS) $(test_sys_ioctl_LDADD) $(LIBS) test-sys_resource$(EXEEXT): $(test_sys_resource_OBJECTS) $(test_sys_resource_DEPENDENCIES) $(EXTRA_test_sys_resource_DEPENDENCIES) @rm -f test-sys_resource$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_resource_OBJECTS) $(test_sys_resource_LDADD) $(LIBS) test-sys_select$(EXEEXT): $(test_sys_select_OBJECTS) $(test_sys_select_DEPENDENCIES) $(EXTRA_test_sys_select_DEPENDENCIES) @rm -f test-sys_select$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_select_OBJECTS) $(test_sys_select_LDADD) $(LIBS) test-sys_socket$(EXEEXT): $(test_sys_socket_OBJECTS) $(test_sys_socket_DEPENDENCIES) $(EXTRA_test_sys_socket_DEPENDENCIES) @rm -f test-sys_socket$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_socket_OBJECTS) $(test_sys_socket_LDADD) $(LIBS) test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES) $(EXTRA_test_sys_stat_DEPENDENCIES) @rm -f test-sys_stat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_stat_OBJECTS) $(test_sys_stat_LDADD) $(LIBS) test-sys_time$(EXEEXT): $(test_sys_time_OBJECTS) $(test_sys_time_DEPENDENCIES) $(EXTRA_test_sys_time_DEPENDENCIES) @rm -f test-sys_time$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_time_OBJECTS) $(test_sys_time_LDADD) $(LIBS) test-sys_types$(EXEEXT): $(test_sys_types_OBJECTS) $(test_sys_types_DEPENDENCIES) $(EXTRA_test_sys_types_DEPENDENCIES) @rm -f test-sys_types$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_types_OBJECTS) $(test_sys_types_LDADD) $(LIBS) test-sys_uio$(EXEEXT): $(test_sys_uio_OBJECTS) $(test_sys_uio_DEPENDENCIES) $(EXTRA_test_sys_uio_DEPENDENCIES) @rm -f test-sys_uio$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_uio_OBJECTS) $(test_sys_uio_LDADD) $(LIBS) test-sys_utsname$(EXEEXT): $(test_sys_utsname_OBJECTS) $(test_sys_utsname_DEPENDENCIES) $(EXTRA_test_sys_utsname_DEPENDENCIES) @rm -f test-sys_utsname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_utsname_OBJECTS) $(test_sys_utsname_LDADD) $(LIBS) test-sys_wait$(EXEEXT): $(test_sys_wait_OBJECTS) $(test_sys_wait_DEPENDENCIES) $(EXTRA_test_sys_wait_DEPENDENCIES) @rm -f test-sys_wait$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_sys_wait_OBJECTS) $(test_sys_wait_LDADD) $(LIBS) test-termios$(EXEEXT): $(test_termios_OBJECTS) $(test_termios_DEPENDENCIES) $(EXTRA_test_termios_DEPENDENCIES) @rm -f test-termios$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_termios_OBJECTS) $(test_termios_LDADD) $(LIBS) test-thread_create$(EXEEXT): $(test_thread_create_OBJECTS) $(test_thread_create_DEPENDENCIES) $(EXTRA_test_thread_create_DEPENDENCIES) @rm -f test-thread_create$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_thread_create_OBJECTS) $(test_thread_create_LDADD) $(LIBS) test-thread_self$(EXEEXT): $(test_thread_self_OBJECTS) $(test_thread_self_DEPENDENCIES) $(EXTRA_test_thread_self_DEPENDENCIES) @rm -f test-thread_self$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_thread_self_OBJECTS) $(test_thread_self_LDADD) $(LIBS) test-time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES) $(EXTRA_test_time_DEPENDENCIES) @rm -f test-time$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_time_OBJECTS) $(test_time_LDADD) $(LIBS) test-tls$(EXEEXT): $(test_tls_OBJECTS) $(test_tls_DEPENDENCIES) $(EXTRA_test_tls_DEPENDENCIES) @rm -f test-tls$(EXEEXT) $(AM_V_CCLD)$(test_tls_LINK) $(test_tls_OBJECTS) $(test_tls_LDADD) $(LIBS) test-u64$(EXEEXT): $(test_u64_OBJECTS) $(test_u64_DEPENDENCIES) $(EXTRA_test_u64_DEPENDENCIES) @rm -f test-u64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_u64_OBJECTS) $(test_u64_LDADD) $(LIBS) unistr/$(am__dirstamp): @$(MKDIR_P) unistr @: > unistr/$(am__dirstamp) unistr/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) unistr/$(DEPDIR) @: > unistr/$(DEPDIR)/$(am__dirstamp) unistr/test-u8-mbtoucr.$(OBJEXT): unistr/$(am__dirstamp) \ unistr/$(DEPDIR)/$(am__dirstamp) test-u8-mbtoucr$(EXEEXT): $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_DEPENDENCIES) $(EXTRA_test_u8_mbtoucr_DEPENDENCIES) @rm -f test-u8-mbtoucr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_LDADD) $(LIBS) unistr/test-u8-uctomb.$(OBJEXT): unistr/$(am__dirstamp) \ unistr/$(DEPDIR)/$(am__dirstamp) test-u8-uctomb$(EXEEXT): $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_DEPENDENCIES) $(EXTRA_test_u8_uctomb_DEPENDENCIES) @rm -f test-u8-uctomb$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_LDADD) $(LIBS) uniwidth/$(am__dirstamp): @$(MKDIR_P) uniwidth @: > uniwidth/$(am__dirstamp) uniwidth/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) uniwidth/$(DEPDIR) @: > uniwidth/$(DEPDIR)/$(am__dirstamp) uniwidth/test-uc_width.$(OBJEXT): uniwidth/$(am__dirstamp) \ uniwidth/$(DEPDIR)/$(am__dirstamp) test-uc_width$(EXEEXT): $(test_uc_width_OBJECTS) $(test_uc_width_DEPENDENCIES) $(EXTRA_test_uc_width_DEPENDENCIES) @rm -f test-uc_width$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_uc_width_OBJECTS) $(test_uc_width_LDADD) $(LIBS) uniwidth/test-uc_width2.$(OBJEXT): uniwidth/$(am__dirstamp) \ uniwidth/$(DEPDIR)/$(am__dirstamp) test-uc_width2$(EXEEXT): $(test_uc_width2_OBJECTS) $(test_uc_width2_DEPENDENCIES) $(EXTRA_test_uc_width2_DEPENDENCIES) @rm -f test-uc_width2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_uc_width2_OBJECTS) $(test_uc_width2_LDADD) $(LIBS) test-uname$(EXEEXT): $(test_uname_OBJECTS) $(test_uname_DEPENDENCIES) $(EXTRA_test_uname_DEPENDENCIES) @rm -f test-uname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_uname_OBJECTS) $(test_uname_LDADD) $(LIBS) test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) $(EXTRA_test_unistd_DEPENDENCIES) @rm -f test-unistd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS) test-unlink$(EXEEXT): $(test_unlink_OBJECTS) $(test_unlink_DEPENDENCIES) $(EXTRA_test_unlink_DEPENDENCIES) @rm -f test-unlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_unlink_OBJECTS) $(test_unlink_LDADD) $(LIBS) test-unlinkat$(EXEEXT): $(test_unlinkat_OBJECTS) $(test_unlinkat_DEPENDENCIES) $(EXTRA_test_unlinkat_DEPENDENCIES) @rm -f test-unlinkat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_unlinkat_OBJECTS) $(test_unlinkat_LDADD) $(LIBS) test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES) $(EXTRA_test_unsetenv_DEPENDENCIES) @rm -f test-unsetenv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS) test-userspec$(EXEEXT): $(test_userspec_OBJECTS) $(test_userspec_DEPENDENCIES) $(EXTRA_test_userspec_DEPENDENCIES) @rm -f test-userspec$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_userspec_OBJECTS) $(test_userspec_LDADD) $(LIBS) test-usleep$(EXEEXT): $(test_usleep_OBJECTS) $(test_usleep_DEPENDENCIES) $(EXTRA_test_usleep_DEPENDENCIES) @rm -f test-usleep$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_usleep_OBJECTS) $(test_usleep_LDADD) $(LIBS) test-utimens$(EXEEXT): $(test_utimens_OBJECTS) $(test_utimens_DEPENDENCIES) $(EXTRA_test_utimens_DEPENDENCIES) @rm -f test-utimens$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_utimens_OBJECTS) $(test_utimens_LDADD) $(LIBS) test-utimensat$(EXEEXT): $(test_utimensat_OBJECTS) $(test_utimensat_DEPENDENCIES) $(EXTRA_test_utimensat_DEPENDENCIES) @rm -f test-utimensat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_utimensat_OBJECTS) $(test_utimensat_LDADD) $(LIBS) test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES) $(EXTRA_test_vasnprintf_DEPENDENCIES) @rm -f test-vasnprintf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_vasnprintf_OBJECTS) $(test_vasnprintf_LDADD) $(LIBS) test-vasprintf$(EXEEXT): $(test_vasprintf_OBJECTS) $(test_vasprintf_DEPENDENCIES) $(EXTRA_test_vasprintf_DEPENDENCIES) @rm -f test-vasprintf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_vasprintf_OBJECTS) $(test_vasprintf_LDADD) $(LIBS) test-vasprintf-posix$(EXEEXT): $(test_vasprintf_posix_OBJECTS) $(test_vasprintf_posix_DEPENDENCIES) $(EXTRA_test_vasprintf_posix_DEPENDENCIES) @rm -f test-vasprintf-posix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_vasprintf_posix_OBJECTS) $(test_vasprintf_posix_LDADD) $(LIBS) test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES) $(EXTRA_test_verify_DEPENDENCIES) @rm -f test-verify$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS) test-version-etc$(EXEEXT): $(test_version_etc_OBJECTS) $(test_version_etc_DEPENDENCIES) $(EXTRA_test_version_etc_DEPENDENCIES) @rm -f test-version-etc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_version_etc_OBJECTS) $(test_version_etc_LDADD) $(LIBS) test-vfprintf-posix$(EXEEXT): $(test_vfprintf_posix_OBJECTS) $(test_vfprintf_posix_DEPENDENCIES) $(EXTRA_test_vfprintf_posix_DEPENDENCIES) @rm -f test-vfprintf-posix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_vfprintf_posix_OBJECTS) $(test_vfprintf_posix_LDADD) $(LIBS) test-vprintf-posix$(EXEEXT): $(test_vprintf_posix_OBJECTS) $(test_vprintf_posix_DEPENDENCIES) $(EXTRA_test_vprintf_posix_DEPENDENCIES) @rm -f test-vprintf-posix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_vprintf_posix_OBJECTS) $(test_vprintf_posix_LDADD) $(LIBS) test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES) $(EXTRA_test_wchar_DEPENDENCIES) @rm -f test-wchar$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS) test-wcrtomb$(EXEEXT): $(test_wcrtomb_OBJECTS) $(test_wcrtomb_DEPENDENCIES) $(EXTRA_test_wcrtomb_DEPENDENCIES) @rm -f test-wcrtomb$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_wcrtomb_OBJECTS) $(test_wcrtomb_LDADD) $(LIBS) test-wcrtomb-w32$(EXEEXT): $(test_wcrtomb_w32_OBJECTS) $(test_wcrtomb_w32_DEPENDENCIES) $(EXTRA_test_wcrtomb_w32_DEPENDENCIES) @rm -f test-wcrtomb-w32$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_wcrtomb_w32_OBJECTS) $(test_wcrtomb_w32_LDADD) $(LIBS) test-wctype-h$(EXEEXT): $(test_wctype_h_OBJECTS) $(test_wctype_h_DEPENDENCIES) $(EXTRA_test_wctype_h_DEPENDENCIES) @rm -f test-wctype-h$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_wctype_h_OBJECTS) $(test_wctype_h_LDADD) $(LIBS) test-wcwidth$(EXEEXT): $(test_wcwidth_OBJECTS) $(test_wcwidth_DEPENDENCIES) $(EXTRA_test_wcwidth_DEPENDENCIES) @rm -f test-wcwidth$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_wcwidth_OBJECTS) $(test_wcwidth_LDADD) $(LIBS) test-write$(EXEEXT): $(test_write_OBJECTS) $(test_write_DEPENDENCIES) $(EXTRA_test_write_DEPENDENCIES) @rm -f test-write$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_write_OBJECTS) $(test_write_LDADD) $(LIBS) test-xalloc-die$(EXEEXT): $(test_xalloc_die_OBJECTS) $(test_xalloc_die_DEPENDENCIES) $(EXTRA_test_xalloc_die_DEPENDENCIES) @rm -f test-xalloc-die$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xalloc_die_OBJECTS) $(test_xalloc_die_LDADD) $(LIBS) test-xfprintf-posix$(EXEEXT): $(test_xfprintf_posix_OBJECTS) $(test_xfprintf_posix_DEPENDENCIES) $(EXTRA_test_xfprintf_posix_DEPENDENCIES) @rm -f test-xfprintf-posix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xfprintf_posix_OBJECTS) $(test_xfprintf_posix_LDADD) $(LIBS) test-xprintf-posix$(EXEEXT): $(test_xprintf_posix_OBJECTS) $(test_xprintf_posix_DEPENDENCIES) $(EXTRA_test_xprintf_posix_DEPENDENCIES) @rm -f test-xprintf-posix$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xprintf_posix_OBJECTS) $(test_xprintf_posix_LDADD) $(LIBS) test-xstrtoimax$(EXEEXT): $(test_xstrtoimax_OBJECTS) $(test_xstrtoimax_DEPENDENCIES) $(EXTRA_test_xstrtoimax_DEPENDENCIES) @rm -f test-xstrtoimax$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xstrtoimax_OBJECTS) $(test_xstrtoimax_LDADD) $(LIBS) test-xstrtol$(EXEEXT): $(test_xstrtol_OBJECTS) $(test_xstrtol_DEPENDENCIES) $(EXTRA_test_xstrtol_DEPENDENCIES) @rm -f test-xstrtol$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xstrtol_OBJECTS) $(test_xstrtol_LDADD) $(LIBS) test-xstrtoul$(EXEEXT): $(test_xstrtoul_OBJECTS) $(test_xstrtoul_DEPENDENCIES) $(EXTRA_test_xstrtoul_DEPENDENCIES) @rm -f test-xstrtoul$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xstrtoul_OBJECTS) $(test_xstrtoul_LDADD) $(LIBS) test-xstrtoumax$(EXEEXT): $(test_xstrtoumax_OBJECTS) $(test_xstrtoumax_DEPENDENCIES) $(EXTRA_test_xstrtoumax_DEPENDENCIES) @rm -f test-xstrtoumax$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_xstrtoumax_OBJECTS) $(test_xstrtoumax_LDADD) $(LIBS) test-xvasprintf$(EXEEXT): $(test_xvasprintf_OBJECTS) $(test_xvasprintf_DEPENDENCIES) $(EXTRA_test_xvasprintf_DEPENDENCIES) @rm -f test-xvasprintf$(EXEEXT) $(AM_V_CCLD)$(test_xvasprintf_LINK) $(test_xvasprintf_OBJECTS) $(test_xvasprintf_LDADD) $(LIBS) test-yesno$(EXEEXT): $(test_yesno_OBJECTS) $(test_yesno_DEPENDENCIES) $(EXTRA_test_yesno_DEPENDENCIES) @rm -f test-yesno$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_yesno_OBJECTS) $(test_yesno_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f glthread/thread.$(OBJEXT) -rm -f unistr/test-u8-mbtoucr.$(OBJEXT) -rm -f unistr/test-u8-uctomb.$(OBJEXT) -rm -f uniwidth/test-uc_width.$(OBJEXT) -rm -f uniwidth/test-uc_width2.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randomd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randoml.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setlocale.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setsockopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socket.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-accept.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alignof.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-areadlink-with-size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-areadlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-areadlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-argmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-argv-iter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-arpa_inet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-base64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-binary-io.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bind.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bitrotate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-btowc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-calloc-gnu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-canonicalize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-chdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-chown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-cloexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-closein.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-connect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-copy-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ctype.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-di-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-exclude.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-faccessat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fadvise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fchmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fchownat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fclose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdatasync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdutimensat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fflush.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fflush2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-file-has-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-filenamecat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-filevercmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-float.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fnmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpending.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpurge.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freadahead.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freading.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freadptr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freadptr2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freadseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freopen-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseterr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fsync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftell.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftell3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftruncate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-futimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fwrite.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getaddrinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdelim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdtablesize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-gethostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getloadavg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getlogin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getndelim2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-gettimeofday.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-hash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-i-ring.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iconv-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inet_ntop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inet_pton.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ino-map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isblank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnand-nolibm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanf-nolibm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl-nolibm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswblank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-langinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lchown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-link.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-linkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-listen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localeconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloc-gnu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-math.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc-w32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbrtowc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsalign.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbscasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsinit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsrtowcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsstr1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsstr2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mbsstr3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memcoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memrchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mkfifo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-mknod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nanosleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-netinet_in.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nl_langinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-openat-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-openat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-parse-datetime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-perror2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pipe2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addclose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_adddup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posixtm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-priv-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-quotearg-simple.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rand-isaac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rawmemchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-read-file.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readtokens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-realloc-gnu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-remove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rmdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sameacls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sched.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-fd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select-stdin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-set-mode-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setsockopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigaction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signbit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigprocmask.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-snprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sockets.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe-child.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-statat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdalign.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strchrnul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strftime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strncat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strnlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strsignal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoull.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_ioctl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_resource.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_socket.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_uio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_utsname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_wait.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-termios.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_create.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_self.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-u64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-uname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-userspec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-usleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-utimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-utimensat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasprintf-posix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version-etc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vfprintf-posix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vprintf-posix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcrtomb-w32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcrtomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcwidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xalloc-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xfprintf-posix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xprintf-posix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-yesno.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lock-test-lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_tls-test-tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xvasprintf-test-xvasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctob.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/thread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-mbtoucr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-uctomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-uc_width.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/test-uc_width2.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` test_lock-test-lock.o: test-lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lock_CFLAGS) $(CFLAGS) -MT test_lock-test-lock.o -MD -MP -MF $(DEPDIR)/test_lock-test-lock.Tpo -c -o test_lock-test-lock.o `test -f 'test-lock.c' || echo '$(srcdir)/'`test-lock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_lock-test-lock.Tpo $(DEPDIR)/test_lock-test-lock.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-lock.c' object='test_lock-test-lock.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lock_CFLAGS) $(CFLAGS) -c -o test_lock-test-lock.o `test -f 'test-lock.c' || echo '$(srcdir)/'`test-lock.c test_lock-test-lock.obj: test-lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lock_CFLAGS) $(CFLAGS) -MT test_lock-test-lock.obj -MD -MP -MF $(DEPDIR)/test_lock-test-lock.Tpo -c -o test_lock-test-lock.obj `if test -f 'test-lock.c'; then $(CYGPATH_W) 'test-lock.c'; else $(CYGPATH_W) '$(srcdir)/test-lock.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_lock-test-lock.Tpo $(DEPDIR)/test_lock-test-lock.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-lock.c' object='test_lock-test-lock.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lock_CFLAGS) $(CFLAGS) -c -o test_lock-test-lock.obj `if test -f 'test-lock.c'; then $(CYGPATH_W) 'test-lock.c'; else $(CYGPATH_W) '$(srcdir)/test-lock.c'; fi` test_tls-test-tls.o: test-tls.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tls_CFLAGS) $(CFLAGS) -MT test_tls-test-tls.o -MD -MP -MF $(DEPDIR)/test_tls-test-tls.Tpo -c -o test_tls-test-tls.o `test -f 'test-tls.c' || echo '$(srcdir)/'`test-tls.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_tls-test-tls.Tpo $(DEPDIR)/test_tls-test-tls.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-tls.c' object='test_tls-test-tls.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tls_CFLAGS) $(CFLAGS) -c -o test_tls-test-tls.o `test -f 'test-tls.c' || echo '$(srcdir)/'`test-tls.c test_tls-test-tls.obj: test-tls.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tls_CFLAGS) $(CFLAGS) -MT test_tls-test-tls.obj -MD -MP -MF $(DEPDIR)/test_tls-test-tls.Tpo -c -o test_tls-test-tls.obj `if test -f 'test-tls.c'; then $(CYGPATH_W) 'test-tls.c'; else $(CYGPATH_W) '$(srcdir)/test-tls.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_tls-test-tls.Tpo $(DEPDIR)/test_tls-test-tls.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-tls.c' object='test_tls-test-tls.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tls_CFLAGS) $(CFLAGS) -c -o test_tls-test-tls.obj `if test -f 'test-tls.c'; then $(CYGPATH_W) 'test-tls.c'; else $(CYGPATH_W) '$(srcdir)/test-tls.c'; fi` test_xvasprintf-test-xvasprintf.o: test-xvasprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xvasprintf_CFLAGS) $(CFLAGS) -MT test_xvasprintf-test-xvasprintf.o -MD -MP -MF $(DEPDIR)/test_xvasprintf-test-xvasprintf.Tpo -c -o test_xvasprintf-test-xvasprintf.o `test -f 'test-xvasprintf.c' || echo '$(srcdir)/'`test-xvasprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_xvasprintf-test-xvasprintf.Tpo $(DEPDIR)/test_xvasprintf-test-xvasprintf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-xvasprintf.c' object='test_xvasprintf-test-xvasprintf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xvasprintf_CFLAGS) $(CFLAGS) -c -o test_xvasprintf-test-xvasprintf.o `test -f 'test-xvasprintf.c' || echo '$(srcdir)/'`test-xvasprintf.c test_xvasprintf-test-xvasprintf.obj: test-xvasprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xvasprintf_CFLAGS) $(CFLAGS) -MT test_xvasprintf-test-xvasprintf.obj -MD -MP -MF $(DEPDIR)/test_xvasprintf-test-xvasprintf.Tpo -c -o test_xvasprintf-test-xvasprintf.obj `if test -f 'test-xvasprintf.c'; then $(CYGPATH_W) 'test-xvasprintf.c'; else $(CYGPATH_W) '$(srcdir)/test-xvasprintf.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_xvasprintf-test-xvasprintf.Tpo $(DEPDIR)/test_xvasprintf-test-xvasprintf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-xvasprintf.c' object='test_xvasprintf-test-xvasprintf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xvasprintf_CFLAGS) $(CFLAGS) -c -o test_xvasprintf-test-xvasprintf.obj `if test -f 'test-xvasprintf.c'; then $(CYGPATH_W) 'test-xvasprintf.c'; else $(CYGPATH_W) '$(srcdir)/test-xvasprintf.c'; fi` install-man1: $(man1_MANS) @$(NORMAL_INSTALL) @list1='$(man1_MANS)'; \ list2=''; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__sh_e_setup); \ list='$(TEST_LOGS)'; \ results=`for f in $$list; do \ test -r $$f && read line < $$f && echo "$$line" \ || echo FAIL; \ done`; \ all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \ fail=`echo "$$results" | grep -c '^FAIL'`; \ pass=`echo "$$results" | grep -c '^PASS'`; \ skip=`echo "$$results" | grep -c '^SKIP'`; \ xfail=`echo "$$results" | grep -c '^XFAIL'`; \ xpass=`echo "$$results" | grep -c '^XPASS'`; \ failures=`expr $$fail + $$xpass`; \ all=`expr $$all - $$skip`; \ if test "$$all" -eq 1; then tests=test; All=; \ else tests=tests; All="All "; fi; \ case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ fail=0:xpass=0:xfail=0) \ msg="$$All$$all $$tests passed. "; \ exit=true;; \ fail=0:xpass=0:xfail=*) \ msg="$$All$$all $$tests behaved as expected"; \ if test "$$xfail" -eq 1; then xfailures=failure; \ else xfailures=failures; fi; \ msg="$$msg ($$xfail expected $$xfailures). "; \ exit=true;; \ fail=*:xpass=0:xfail=*) \ msg="$$fail of $$all $$tests failed. "; \ exit=false;; \ fail=*:xpass=*:xfail=*) \ msg="$$failures of $$all $$tests did not behave as expected"; \ if test "$$xpass" -eq 1; then xpasses=pass; \ else xpasses=passes; fi; \ msg="$$msg ($$xpass unexpected $$xpasses). "; \ exit=false;; \ *) \ echo >&2 "incorrect case"; exit 4;; \ esac; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ msg="$$msg($$skip test was not run). "; \ else \ msg="$$msg($$skip tests were not run). "; \ fi; \ fi; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ echo "$$msg"; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for f in $$list; do \ test -r $$f && read line < $$f || line=; \ case $$line in \ PASS:*|XFAIL:*);; \ *) echo; cat $$f;; \ esac; \ done; \ } >$(TEST_SUITE_LOG).tmp; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if test "$$failures" -ne 0; then \ msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \ fi; \ fi; \ test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ $(am__tty_colors); \ if $$exit; then \ col="$$grn"; \ else \ col="$$red"; \ fi; \ echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \ $$exit || exit 1 check-TESTS recheck: @if test $@ != recheck; then \ list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list; \ fi @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='' list2='$(TEST_LOGS)'; for f in $$list2; do \ test .log = $$f && continue; \ if test $@ = recheck; then \ test -f $$f || continue; \ if test -r $$f && read line < $$f; then \ case $$line in FAIL*|XPASS*) : ;; *) continue;; esac; \ fi; \ fi; \ if test -z "$$list"; then list=$$f; else list="$$list $$f"; fi; \ done; \ if test $@ = recheck && test -n "$$list"; then \ $(am__make_dryrun) || rm -f $$list || exit 1; \ fi; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" recheck: $(check_LIBRARIES) $(check_PROGRAMS) am--mostlyclean-test-html: list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list rm -f $(TEST_SUITE_HTML) .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ for r2h in $$list; do \ if ($$r2h --version) >/dev/null 2>&1; then \ R2H=$$r2h; \ fi; \ done; \ if test -z "$$R2H"; then \ echo >&2 "cannot find rst2html, cannot create $@"; \ exit 2; \ fi; \ $$R2H $< >$@.tmp @mv $@.tmp $@ # Be sure to run check first, and then to convert the result. # Beware of concurrent executions. Run "check" not "check-TESTS", as # check-SCRIPTS and other dependencies are rebuilt by the former only. # And expect check to fail. check-html recheck-html: @target=`echo $@ | sed 's/-html$$//'`; \ rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \ exit $$rv test-accept.log: test-accept$(EXEEXT) @p='test-accept$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-file-has-acl.sh.log: test-file-has-acl.sh @p='test-file-has-acl.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-file-has-acl-1.sh.log: test-file-has-acl-1.sh @p='test-file-has-acl-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-file-has-acl-2.sh.log: test-file-has-acl-2.sh @p='test-file-has-acl-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-set-mode-acl.sh.log: test-set-mode-acl.sh @p='test-set-mode-acl.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-set-mode-acl-1.sh.log: test-set-mode-acl-1.sh @p='test-set-mode-acl-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-set-mode-acl-2.sh.log: test-set-mode-acl-2.sh @p='test-set-mode-acl-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-copy-acl.sh.log: test-copy-acl.sh @p='test-copy-acl.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-copy-acl-1.sh.log: test-copy-acl-1.sh @p='test-copy-acl-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-copy-acl-2.sh.log: test-copy-acl-2.sh @p='test-copy-acl-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-alignof.log: test-alignof$(EXEEXT) @p='test-alignof$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-alloca-opt.log: test-alloca-opt$(EXEEXT) @p='test-alloca-opt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-areadlink.log: test-areadlink$(EXEEXT) @p='test-areadlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-areadlink-with-size.log: test-areadlink-with-size$(EXEEXT) @p='test-areadlink-with-size$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-areadlinkat.log: test-areadlinkat$(EXEEXT) @p='test-areadlinkat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-argmatch.log: test-argmatch$(EXEEXT) @p='test-argmatch$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-argv-iter.log: test-argv-iter$(EXEEXT) @p='test-argv-iter$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-arpa_inet.log: test-arpa_inet$(EXEEXT) @p='test-arpa_inet$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-base64.log: test-base64$(EXEEXT) @p='test-base64$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-binary-io.sh.log: test-binary-io.sh @p='test-binary-io.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-bind.log: test-bind$(EXEEXT) @p='test-bind$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-bitrotate.log: test-bitrotate$(EXEEXT) @p='test-bitrotate$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-btowc1.sh.log: test-btowc1.sh @p='test-btowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-btowc2.sh.log: test-btowc2.sh @p='test-btowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-c-ctype.log: test-c-ctype$(EXEEXT) @p='test-c-ctype$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-c-strcase.sh.log: test-c-strcase.sh @p='test-c-strcase.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-calloc-gnu.log: test-calloc-gnu$(EXEEXT) @p='test-calloc-gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-canonicalize.log: test-canonicalize$(EXEEXT) @p='test-canonicalize$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-chdir.log: test-chdir$(EXEEXT) @p='test-chdir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-chown.log: test-chown$(EXEEXT) @p='test-chown$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-cloexec.log: test-cloexec$(EXEEXT) @p='test-cloexec$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-close.log: test-close$(EXEEXT) @p='test-close$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-closein.sh.log: test-closein.sh @p='test-closein.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-connect.log: test-connect$(EXEEXT) @p='test-connect$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-md5.log: test-md5$(EXEEXT) @p='test-md5$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sha1.log: test-sha1$(EXEEXT) @p='test-sha1$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ctype.log: test-ctype$(EXEEXT) @p='test-ctype$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-di-set.log: test-di-set$(EXEEXT) @p='test-di-set$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dirent-safer.log: test-dirent-safer$(EXEEXT) @p='test-dirent-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dirent.log: test-dirent$(EXEEXT) @p='test-dirent$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dirname.log: test-dirname$(EXEEXT) @p='test-dirname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dup.log: test-dup$(EXEEXT) @p='test-dup$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dup2.log: test-dup2$(EXEEXT) @p='test-dup2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-environ.log: test-environ$(EXEEXT) @p='test-environ$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-errno.log: test-errno$(EXEEXT) @p='test-errno$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude1.sh.log: test-exclude1.sh @p='test-exclude1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude2.sh.log: test-exclude2.sh @p='test-exclude2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude3.sh.log: test-exclude3.sh @p='test-exclude3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude4.sh.log: test-exclude4.sh @p='test-exclude4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude5.sh.log: test-exclude5.sh @p='test-exclude5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude6.sh.log: test-exclude6.sh @p='test-exclude6.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude7.sh.log: test-exclude7.sh @p='test-exclude7.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-exclude8.sh.log: test-exclude8.sh @p='test-exclude8.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-faccessat.log: test-faccessat$(EXEEXT) @p='test-faccessat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fadvise.log: test-fadvise$(EXEEXT) @p='test-fadvise$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fchdir.log: test-fchdir$(EXEEXT) @p='test-fchdir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fchmodat.log: test-fchmodat$(EXEEXT) @p='test-fchmodat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fchownat.log: test-fchownat$(EXEEXT) @p='test-fchownat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fclose.log: test-fclose$(EXEEXT) @p='test-fclose$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fcntl-h.log: test-fcntl-h$(EXEEXT) @p='test-fcntl-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fcntl-safer.log: test-fcntl-safer$(EXEEXT) @p='test-fcntl-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fcntl.log: test-fcntl$(EXEEXT) @p='test-fcntl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fdatasync.log: test-fdatasync$(EXEEXT) @p='test-fdatasync$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fdopen.log: test-fdopen$(EXEEXT) @p='test-fdopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fdopendir.log: test-fdopendir$(EXEEXT) @p='test-fdopendir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fdutimensat.log: test-fdutimensat$(EXEEXT) @p='test-fdutimensat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fflush.log: test-fflush$(EXEEXT) @p='test-fflush$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fflush2.sh.log: test-fflush2.sh @p='test-fflush2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fgetc.log: test-fgetc$(EXEEXT) @p='test-fgetc$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-filenamecat.log: test-filenamecat$(EXEEXT) @p='test-filenamecat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-filevercmp.log: test-filevercmp$(EXEEXT) @p='test-filevercmp$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-float.log: test-float$(EXEEXT) @p='test-float$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fnmatch.log: test-fnmatch$(EXEEXT) @p='test-fnmatch$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fopen-safer.log: test-fopen-safer$(EXEEXT) @p='test-fopen-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fopen.log: test-fopen$(EXEEXT) @p='test-fopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fpending.sh.log: test-fpending.sh @p='test-fpending.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fpurge.log: test-fpurge$(EXEEXT) @p='test-fpurge$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fputc.log: test-fputc$(EXEEXT) @p='test-fputc$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fread.log: test-fread$(EXEEXT) @p='test-fread$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freadahead.sh.log: test-freadahead.sh @p='test-freadahead.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freading.log: test-freading$(EXEEXT) @p='test-freading$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freadptr.sh.log: test-freadptr.sh @p='test-freadptr.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freadptr2.sh.log: test-freadptr2.sh @p='test-freadptr2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freadseek.sh.log: test-freadseek.sh @p='test-freadseek.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freopen-safer.log: test-freopen-safer$(EXEEXT) @p='test-freopen-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-freopen.log: test-freopen$(EXEEXT) @p='test-freopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-frexp-nolibm.log: test-frexp-nolibm$(EXEEXT) @p='test-frexp-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-frexpl-nolibm.log: test-frexpl-nolibm$(EXEEXT) @p='test-frexpl-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseek.sh.log: test-fseek.sh @p='test-fseek.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseek2.sh.log: test-fseek2.sh @p='test-fseek2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseeko.sh.log: test-fseeko.sh @p='test-fseeko.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseeko2.sh.log: test-fseeko2.sh @p='test-fseeko2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseeko3.sh.log: test-fseeko3.sh @p='test-fseeko3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseeko4.sh.log: test-fseeko4.sh @p='test-fseeko4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fseterr.log: test-fseterr$(EXEEXT) @p='test-fseterr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fstat.log: test-fstat$(EXEEXT) @p='test-fstat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fstatat.log: test-fstatat$(EXEEXT) @p='test-fstatat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fsync.log: test-fsync$(EXEEXT) @p='test-fsync$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftell.sh.log: test-ftell.sh @p='test-ftell.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftell2.sh.log: test-ftell2.sh @p='test-ftell2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftell3.log: test-ftell3$(EXEEXT) @p='test-ftell3$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftello.sh.log: test-ftello.sh @p='test-ftello.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftello2.sh.log: test-ftello2.sh @p='test-ftello2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftello3.log: test-ftello3$(EXEEXT) @p='test-ftello3$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftello4.sh.log: test-ftello4.sh @p='test-ftello4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ftruncate.sh.log: test-ftruncate.sh @p='test-ftruncate.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-futimens.log: test-futimens$(EXEEXT) @p='test-futimens$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-fwrite.log: test-fwrite$(EXEEXT) @p='test-fwrite$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getaddrinfo.log: test-getaddrinfo$(EXEEXT) @p='test-getaddrinfo$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getcwd-lgpl.log: test-getcwd-lgpl$(EXEEXT) @p='test-getcwd-lgpl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getcwd.sh.log: test-getcwd.sh @p='test-getcwd.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getdelim.log: test-getdelim$(EXEEXT) @p='test-getdelim$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getdtablesize.log: test-getdtablesize$(EXEEXT) @p='test-getdtablesize$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getgroups.log: test-getgroups$(EXEEXT) @p='test-getgroups$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-gethostname.log: test-gethostname$(EXEEXT) @p='test-gethostname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getline.log: test-getline$(EXEEXT) @p='test-getline$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getloadavg.log: test-getloadavg$(EXEEXT) @p='test-getloadavg$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getlogin.log: test-getlogin$(EXEEXT) @p='test-getlogin$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getndelim2.log: test-getndelim2$(EXEEXT) @p='test-getndelim2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-getopt.log: test-getopt$(EXEEXT) @p='test-getopt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-gettimeofday.log: test-gettimeofday$(EXEEXT) @p='test-gettimeofday$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-hash.log: test-hash$(EXEEXT) @p='test-hash$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-i-ring.log: test-i-ring$(EXEEXT) @p='test-i-ring$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-iconv-h.log: test-iconv-h$(EXEEXT) @p='test-iconv-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-iconv.log: test-iconv$(EXEEXT) @p='test-iconv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ignore-value.log: test-ignore-value$(EXEEXT) @p='test-ignore-value$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-inet_ntop.log: test-inet_ntop$(EXEEXT) @p='test-inet_ntop$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-inet_pton.log: test-inet_pton$(EXEEXT) @p='test-inet_pton$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ino-map.log: test-ino-map$(EXEEXT) @p='test-ino-map$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-intprops.log: test-intprops$(EXEEXT) @p='test-intprops$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-inttostr.log: test-inttostr$(EXEEXT) @p='test-inttostr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-inttypes.log: test-inttypes$(EXEEXT) @p='test-inttypes$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-ioctl.log: test-ioctl$(EXEEXT) @p='test-ioctl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-isatty.log: test-isatty$(EXEEXT) @p='test-isatty$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-isblank.log: test-isblank$(EXEEXT) @p='test-isblank$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-isnand-nolibm.log: test-isnand-nolibm$(EXEEXT) @p='test-isnand-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-isnanf-nolibm.log: test-isnanf-nolibm$(EXEEXT) @p='test-isnanf-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-isnanl-nolibm.log: test-isnanl-nolibm$(EXEEXT) @p='test-isnanl-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-iswblank.log: test-iswblank$(EXEEXT) @p='test-iswblank$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-langinfo.log: test-langinfo$(EXEEXT) @p='test-langinfo$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-lchown.log: test-lchown$(EXEEXT) @p='test-lchown$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-link.log: test-link$(EXEEXT) @p='test-link$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-linkat.log: test-linkat$(EXEEXT) @p='test-linkat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-listen.log: test-listen$(EXEEXT) @p='test-listen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-locale.log: test-locale$(EXEEXT) @p='test-locale$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-localeconv.log: test-localeconv$(EXEEXT) @p='test-localeconv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-localename.log: test-localename$(EXEEXT) @p='test-localename$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-lock.log: test-lock$(EXEEXT) @p='test-lock$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-lseek.sh.log: test-lseek.sh @p='test-lseek.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-lstat.log: test-lstat$(EXEEXT) @p='test-lstat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-malloc-gnu.log: test-malloc-gnu$(EXEEXT) @p='test-malloc-gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-malloca.log: test-malloca$(EXEEXT) @p='test-malloca$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-math.log: test-math$(EXEEXT) @p='test-math$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc1.sh.log: test-mbrtowc1.sh @p='test-mbrtowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc2.sh.log: test-mbrtowc2.sh @p='test-mbrtowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc3.sh.log: test-mbrtowc3.sh @p='test-mbrtowc3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc4.sh.log: test-mbrtowc4.sh @p='test-mbrtowc4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc-w32-1.sh.log: test-mbrtowc-w32-1.sh @p='test-mbrtowc-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc-w32-2.sh.log: test-mbrtowc-w32-2.sh @p='test-mbrtowc-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc-w32-3.sh.log: test-mbrtowc-w32-3.sh @p='test-mbrtowc-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc-w32-4.sh.log: test-mbrtowc-w32-4.sh @p='test-mbrtowc-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbrtowc-w32-5.sh.log: test-mbrtowc-w32-5.sh @p='test-mbrtowc-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsalign.log: test-mbsalign$(EXEEXT) @p='test-mbsalign$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbscasecmp.sh.log: test-mbscasecmp.sh @p='test-mbscasecmp.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsinit.sh.log: test-mbsinit.sh @p='test-mbsinit.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsrtowcs1.sh.log: test-mbsrtowcs1.sh @p='test-mbsrtowcs1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsrtowcs2.sh.log: test-mbsrtowcs2.sh @p='test-mbsrtowcs2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsrtowcs3.sh.log: test-mbsrtowcs3.sh @p='test-mbsrtowcs3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsrtowcs4.sh.log: test-mbsrtowcs4.sh @p='test-mbsrtowcs4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsstr1.log: test-mbsstr1$(EXEEXT) @p='test-mbsstr1$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsstr2.sh.log: test-mbsstr2.sh @p='test-mbsstr2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mbsstr3.sh.log: test-mbsstr3.sh @p='test-mbsstr3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-memcasecmp.log: test-memcasecmp$(EXEEXT) @p='test-memcasecmp$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-memchr.log: test-memchr$(EXEEXT) @p='test-memchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-memchr2.log: test-memchr2$(EXEEXT) @p='test-memchr2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-memcoll.log: test-memcoll$(EXEEXT) @p='test-memcoll$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-memrchr.log: test-memrchr$(EXEEXT) @p='test-memrchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mkdir.log: test-mkdir$(EXEEXT) @p='test-mkdir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mkfifo.log: test-mkfifo$(EXEEXT) @p='test-mkfifo$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-mknod.log: test-mknod$(EXEEXT) @p='test-mknod$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-nanosleep.log: test-nanosleep$(EXEEXT) @p='test-nanosleep$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-netdb.log: test-netdb$(EXEEXT) @p='test-netdb$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-netinet_in.log: test-netinet_in$(EXEEXT) @p='test-netinet_in$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-nl_langinfo.sh.log: test-nl_langinfo.sh @p='test-nl_langinfo.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-open.log: test-open$(EXEEXT) @p='test-open$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-openat-safer.log: test-openat-safer$(EXEEXT) @p='test-openat-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-openat.log: test-openat$(EXEEXT) @p='test-openat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-parse-datetime.log: test-parse-datetime$(EXEEXT) @p='test-parse-datetime$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-pathmax.log: test-pathmax$(EXEEXT) @p='test-pathmax$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-perror.sh.log: test-perror.sh @p='test-perror.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-perror2.log: test-perror2$(EXEEXT) @p='test-perror2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-pipe.log: test-pipe$(EXEEXT) @p='test-pipe$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-pipe2.log: test-pipe2$(EXEEXT) @p='test-pipe2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posix_spawn_file_actions_addclose.log: test-posix_spawn_file_actions_addclose$(EXEEXT) @p='test-posix_spawn_file_actions_addclose$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posix_spawn_file_actions_adddup2.log: test-posix_spawn_file_actions_adddup2$(EXEEXT) @p='test-posix_spawn_file_actions_adddup2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posix_spawn_file_actions_addopen.log: test-posix_spawn_file_actions_addopen$(EXEEXT) @p='test-posix_spawn_file_actions_addopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posix_spawn1.log: test-posix_spawn1$(EXEEXT) @p='test-posix_spawn1$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posix_spawn2.log: test-posix_spawn2$(EXEEXT) @p='test-posix_spawn2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-posixtm.log: test-posixtm$(EXEEXT) @p='test-posixtm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-printf-frexp.log: test-printf-frexp$(EXEEXT) @p='test-printf-frexp$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-printf-frexpl.log: test-printf-frexpl$(EXEEXT) @p='test-printf-frexpl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-priv-set.log: test-priv-set$(EXEEXT) @p='test-priv-set$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-quotearg-simple.log: test-quotearg-simple$(EXEEXT) @p='test-quotearg-simple$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-raise.log: test-raise$(EXEEXT) @p='test-raise$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-rand-isaac.log: test-rand-isaac$(EXEEXT) @p='test-rand-isaac$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-rawmemchr.log: test-rawmemchr$(EXEEXT) @p='test-rawmemchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-read-file.log: test-read-file$(EXEEXT) @p='test-read-file$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-read.log: test-read$(EXEEXT) @p='test-read$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-readlink.log: test-readlink$(EXEEXT) @p='test-readlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-readlinkat.log: test-readlinkat$(EXEEXT) @p='test-readlinkat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-readtokens.sh.log: test-readtokens.sh @p='test-readtokens.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-realloc-gnu.log: test-realloc-gnu$(EXEEXT) @p='test-realloc-gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-regex.log: test-regex$(EXEEXT) @p='test-regex$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-remove.log: test-remove$(EXEEXT) @p='test-remove$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-rename.log: test-rename$(EXEEXT) @p='test-rename$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-rmdir.log: test-rmdir$(EXEEXT) @p='test-rmdir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sched.log: test-sched$(EXEEXT) @p='test-sched$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-select.log: test-select$(EXEEXT) @p='test-select$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-select-in.sh.log: test-select-in.sh @p='test-select-in.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-select-out.sh.log: test-select-out.sh @p='test-select-out.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-setenv.log: test-setenv$(EXEEXT) @p='test-setenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-setlocale1.sh.log: test-setlocale1.sh @p='test-setlocale1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-setlocale2.sh.log: test-setlocale2.sh @p='test-setlocale2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-setsockopt.log: test-setsockopt$(EXEEXT) @p='test-setsockopt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sigaction.log: test-sigaction$(EXEEXT) @p='test-sigaction$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-signal-h.log: test-signal-h$(EXEEXT) @p='test-signal-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-signbit.log: test-signbit$(EXEEXT) @p='test-signbit$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sigprocmask.log: test-sigprocmask$(EXEEXT) @p='test-sigprocmask$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sleep.log: test-sleep$(EXEEXT) @p='test-sleep$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-snprintf.log: test-snprintf$(EXEEXT) @p='test-snprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sockets.log: test-sockets$(EXEEXT) @p='test-sockets$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-spawn-pipe.sh.log: test-spawn-pipe.sh @p='test-spawn-pipe.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-spawn.log: test-spawn$(EXEEXT) @p='test-spawn$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stat.log: test-stat$(EXEEXT) @p='test-stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stat-time.log: test-stat-time$(EXEEXT) @p='test-stat-time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-statat.log: test-statat$(EXEEXT) @p='test-statat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stdalign.log: test-stdalign$(EXEEXT) @p='test-stdalign$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stdbool.log: test-stdbool$(EXEEXT) @p='test-stdbool$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stddef.log: test-stddef$(EXEEXT) @p='test-stddef$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stdint.log: test-stdint$(EXEEXT) @p='test-stdint$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stdio.log: test-stdio$(EXEEXT) @p='test-stdio$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-stdlib.log: test-stdlib$(EXEEXT) @p='test-stdlib$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strchrnul.log: test-strchrnul$(EXEEXT) @p='test-strchrnul$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strerror.log: test-strerror$(EXEEXT) @p='test-strerror$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strerror_r.log: test-strerror_r$(EXEEXT) @p='test-strerror_r$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strftime.log: test-strftime$(EXEEXT) @p='test-strftime$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-striconv.log: test-striconv$(EXEEXT) @p='test-striconv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-string.log: test-string$(EXEEXT) @p='test-string$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strncat.log: test-strncat$(EXEEXT) @p='test-strncat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strnlen.log: test-strnlen$(EXEEXT) @p='test-strnlen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strsignal.log: test-strsignal$(EXEEXT) @p='test-strsignal$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strtod.log: test-strtod$(EXEEXT) @p='test-strtod$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strtoimax.log: test-strtoimax$(EXEEXT) @p='test-strtoimax$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strtoll.log: test-strtoll$(EXEEXT) @p='test-strtoll$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strtoull.log: test-strtoull$(EXEEXT) @p='test-strtoull$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-strtoumax.log: test-strtoumax$(EXEEXT) @p='test-strtoumax$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-symlink.log: test-symlink$(EXEEXT) @p='test-symlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-symlinkat.log: test-symlinkat$(EXEEXT) @p='test-symlinkat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_ioctl.log: test-sys_ioctl$(EXEEXT) @p='test-sys_ioctl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_resource.log: test-sys_resource$(EXEEXT) @p='test-sys_resource$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_select.log: test-sys_select$(EXEEXT) @p='test-sys_select$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_socket.log: test-sys_socket$(EXEEXT) @p='test-sys_socket$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_stat.log: test-sys_stat$(EXEEXT) @p='test-sys_stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_time.log: test-sys_time$(EXEEXT) @p='test-sys_time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_types.log: test-sys_types$(EXEEXT) @p='test-sys_types$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_uio.log: test-sys_uio$(EXEEXT) @p='test-sys_uio$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_utsname.log: test-sys_utsname$(EXEEXT) @p='test-sys_utsname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-sys_wait.log: test-sys_wait$(EXEEXT) @p='test-sys_wait$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-termios.log: test-termios$(EXEEXT) @p='test-termios$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-init.sh.log: test-init.sh @p='test-init.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-thread_self.log: test-thread_self$(EXEEXT) @p='test-thread_self$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-thread_create.log: test-thread_create$(EXEEXT) @p='test-thread_create$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-time.log: test-time$(EXEEXT) @p='test-time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-tls.log: test-tls$(EXEEXT) @p='test-tls$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-u64.log: test-u64$(EXEEXT) @p='test-u64$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-uname.log: test-uname$(EXEEXT) @p='test-uname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-dup-safer.log: test-dup-safer$(EXEEXT) @p='test-dup-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-unistd.log: test-unistd$(EXEEXT) @p='test-unistd$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-u8-mbtoucr.log: test-u8-mbtoucr$(EXEEXT) @p='test-u8-mbtoucr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-u8-uctomb.log: test-u8-uctomb$(EXEEXT) @p='test-u8-uctomb$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-uc_width.log: test-uc_width$(EXEEXT) @p='test-uc_width$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) uniwidth/test-uc_width2.sh.log: uniwidth/test-uc_width2.sh @p='uniwidth/test-uc_width2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-unlink.log: test-unlink$(EXEEXT) @p='test-unlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-unlinkat.log: test-unlinkat$(EXEEXT) @p='test-unlinkat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-unsetenv.log: test-unsetenv$(EXEEXT) @p='test-unsetenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-update-copyright.sh.log: test-update-copyright.sh @p='test-update-copyright.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-userspec.log: test-userspec$(EXEEXT) @p='test-userspec$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-usleep.log: test-usleep$(EXEEXT) @p='test-usleep$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-utimens.log: test-utimens$(EXEEXT) @p='test-utimens$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-utimensat.log: test-utimensat$(EXEEXT) @p='test-utimensat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vasnprintf.log: test-vasnprintf$(EXEEXT) @p='test-vasnprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vasprintf-posix.log: test-vasprintf-posix$(EXEEXT) @p='test-vasprintf-posix$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vasprintf.log: test-vasprintf$(EXEEXT) @p='test-vasprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vc-list-files-git.sh.log: test-vc-list-files-git.sh @p='test-vc-list-files-git.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vc-list-files-cvs.sh.log: test-vc-list-files-cvs.sh @p='test-vc-list-files-cvs.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-verify.log: test-verify$(EXEEXT) @p='test-verify$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-verify.sh.log: test-verify.sh @p='test-verify.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-version-etc.sh.log: test-version-etc.sh @p='test-version-etc.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vfprintf-posix.sh.log: test-vfprintf-posix.sh @p='test-vfprintf-posix.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-vprintf-posix.sh.log: test-vprintf-posix.sh @p='test-vprintf-posix.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wchar.log: test-wchar$(EXEEXT) @p='test-wchar$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb.sh.log: test-wcrtomb.sh @p='test-wcrtomb.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb-w32-1.sh.log: test-wcrtomb-w32-1.sh @p='test-wcrtomb-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb-w32-2.sh.log: test-wcrtomb-w32-2.sh @p='test-wcrtomb-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb-w32-3.sh.log: test-wcrtomb-w32-3.sh @p='test-wcrtomb-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb-w32-4.sh.log: test-wcrtomb-w32-4.sh @p='test-wcrtomb-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcrtomb-w32-5.sh.log: test-wcrtomb-w32-5.sh @p='test-wcrtomb-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wctype-h.log: test-wctype-h$(EXEEXT) @p='test-wctype-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-wcwidth.log: test-wcwidth$(EXEEXT) @p='test-wcwidth$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-write.log: test-write$(EXEEXT) @p='test-write$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xalloc-die.sh.log: test-xalloc-die.sh @p='test-xalloc-die.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xprintf-posix.sh.log: test-xprintf-posix.sh @p='test-xprintf-posix.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xstrtoimax.sh.log: test-xstrtoimax.sh @p='test-xstrtoimax.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xstrtol.sh.log: test-xstrtol.sh @p='test-xstrtol.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xstrtoumax.sh.log: test-xstrtoumax.sh @p='test-xstrtoumax.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-xvasprintf.log: test-xvasprintf$(EXEEXT) @p='test-xvasprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) test-yesno.sh.log: test-yesno.sh @p='test-yesno.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) .test.log: @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically \`make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f glthread/$(DEPDIR)/$(am__dirstamp) -rm -f glthread/$(am__dirstamp) -rm -f unistr/$(DEPDIR)/$(am__dirstamp) -rm -f unistr/$(am__dirstamp) -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp) -rm -f uniwidth/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-binPROGRAMS clean-checkLIBRARIES clean-checkPROGRAMS \ clean-generic clean-local clean-noinstLIBRARIES \ clean-noinstPROGRAMS clean-pkglibexecPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-man install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-pkglibexecPROGRAMS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man1 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: am--mostlyclean-test-html mostlyclean-compile \ mostlyclean-generic mostlyclean-local pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-man \ uninstall-pkglibexecPROGRAMS uninstall-man: uninstall-man1 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ check-am check-html ctags-recursive install install-am \ install-strip recheck-html tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--mostlyclean-test-html check check-TESTS \ check-am check-html clean clean-binPROGRAMS \ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \ clean-local clean-noinstLIBRARIES clean-noinstPROGRAMS \ clean-pkglibexecPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am \ install-pkglibexecPROGRAMS install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-local pdf pdf-am ps ps-am recheck recheck-html \ tags tags-recursive uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-man uninstall-man1 \ uninstall-pkglibexecPROGRAMS @POSIX_SPAWN_PORTED_TRUE@test-posix_spawn1.sh: test-posix_spawn1.in.sh @POSIX_SPAWN_PORTED_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @POSIX_SPAWN_PORTED_TRUE@ cp $(srcdir)/test-posix_spawn1.in.sh $@-t && \ @POSIX_SPAWN_PORTED_TRUE@ mv $@-t $@ @POSIX_SPAWN_PORTED_TRUE@test-posix_spawn2.sh: test-posix_spawn2.in.sh @POSIX_SPAWN_PORTED_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @POSIX_SPAWN_PORTED_TRUE@ cp $(srcdir)/test-posix_spawn2.in.sh $@-t && \ @POSIX_SPAWN_PORTED_TRUE@ mv $@-t $@ # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut # off. arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ > $@-t && \ mv $@-t $@ # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/snippet/c++defs.h, except that it has the copyright header cut off. c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/snippet/c++defs.h \ > $@-t && \ mv $@-t $@ # The unused-parameter.h that gets inserted into generated .h files is the same # as build-aux/snippet/unused-parameter.h, except that it has the copyright # header cut off. unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ > $@-t && \ mv $@-t $@ # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/snippet/warn-on-use.h, except that it has the copyright header cut # off. warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ > $@-t && \ mv $@-t $@ # Clean up after Solaris cc. clean-local: rm -rf SunWS_cache mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: coreutils-8.21/gnulib-tests/test-perror.c0000664000000000000000000000205612071024546015424 00000000000000/* Test of perror() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (perror, void, (char const *)); #include int main (int argc, char **argv) { const char *prefix = (argc > 1 ? argv[1] : NULL); errno = EACCES; perror (prefix); errno = ETIMEDOUT; perror (prefix); errno = EOVERFLOW; perror (prefix); return 0; } coreutils-8.21/gnulib-tests/test-getopt.h0000664000000000000000000012566112071024546015432 00000000000000/* Test of command line argument processing. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include /* The glibc/gnulib implementation of getopt supports setting optind = 0, but not all other implementations do. This matters for getopt. But for getopt_long, we require GNU compatibility. */ #if defined __GETOPT_PREFIX || (__GLIBC__ >= 2 && !defined __UCLIBC__) # define OPTIND_MIN 0 #elif HAVE_DECL_OPTRESET # define OPTIND_MIN (optreset = 1) #else # define OPTIND_MIN 1 #endif static void getopt_loop (int argc, const char **argv, const char *options, int *a_seen, int *b_seen, const char **p_value, const char **q_value, int *non_options_count, const char **non_options, int *unrecognized, bool *message_issued) { int c; int pos = ftell (stderr); while ((c = getopt (argc, (char **) argv, options)) != -1) { switch (c) { case 'a': (*a_seen)++; break; case 'b': (*b_seen)++; break; case 'p': *p_value = optarg; break; case 'q': *q_value = optarg; break; case '\1': /* Must only happen with option '-' at the beginning. */ ASSERT (options[0] == '-'); non_options[(*non_options_count)++] = optarg; break; case ':': /* Must only happen with option ':' at the beginning. */ ASSERT (options[0] == ':' || ((options[0] == '-' || options[0] == '+') && options[1] == ':')); /* fall through */ case '?': *unrecognized = optopt; break; default: *unrecognized = c; break; } } *message_issued = pos < ftell (stderr); } static void test_getopt (void) { int start; bool posixly = !!getenv ("POSIXLY_CORRECT"); /* See comment in getopt.c: glibc gets a LSB-compliant getopt. Standalone applications get a POSIX-compliant getopt. */ #if defined __GETOPT_PREFIX || !(__GLIBC__ >= 2 || defined __MINGW32__) /* Using getopt from gnulib or from a non-glibc system. */ posixly = true; #endif /* Test processing of boolean options. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "ab", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-b"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "ab", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ba"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "ab", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "ab", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 2); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); ASSERT (!output); } /* Test processing of options with arguments. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "p:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "p:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "-q"; argv[argc++] = "baz"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); ASSERT (!output); } #if GNULIB_TEST_GETOPT_GNU /* Test processing of options with optional arguments. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "p::q::", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "p::q::", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp::q::", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); ASSERT (!output); } #endif /* GNULIB_TEST_GETOPT_GNU */ /* Check that invalid options are recognized; and that both opterr and leading ':' can silence output. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-x"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 42; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'x'); ASSERT (optind == 5); ASSERT (output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-x"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 0; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'x'); ASSERT (optind == 5); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-x"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, ":abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'x'); ASSERT (optind == 5); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-:"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 42; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == ':'); ASSERT (optind == 5); ASSERT (output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-:"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 0; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == ':'); ASSERT (optind == 5); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-:"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, ":abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == ':'); ASSERT (optind == 5); ASSERT (!output); } /* Check for missing argument behavior. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ap"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'p'); ASSERT (optind == 2); ASSERT (output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ap"; argv[argc] = NULL; optind = start; opterr = 0; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'p'); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-ap"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, ":abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'p'); ASSERT (optind == 2); ASSERT (!output); } /* Check that by default, non-options arguments are moved to the end. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); if (posixly) { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } else { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); ASSERT (!output); } } /* Check that '--' ends the argument processing. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[20]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); if (posixly) { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "--") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } else { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "--") == 0); ASSERT (strcmp (argv[5], "donald") == 0); ASSERT (strcmp (argv[6], "duck") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); ASSERT (!output); } } #if GNULIB_TEST_GETOPT_GNU /* Check that the '-' flag causes non-options to be returned in order. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "-abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 3); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (strcmp (non_options[2], "bar") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 7); ASSERT (!output); } /* Check that '--' ends the argument processing. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[20]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "-abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "--") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (!output); if (non_options_count == 2) { /* glibc behaviour. */ ASSERT (non_options_count == 2); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 7); } else { /* Another valid behaviour. */ ASSERT (non_options_count == 7); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (strcmp (non_options[2], "-b") == 0); ASSERT (strcmp (non_options[3], "foo") == 0); ASSERT (strcmp (non_options[4], "-q") == 0); ASSERT (strcmp (non_options[5], "johnny") == 0); ASSERT (strcmp (non_options[6], "bar") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 12); } } /* Check that the '-' flag has to come first. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:-", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); if (posixly) { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } else { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); ASSERT (!output); } } /* Check that the '+' flag causes the first non-option to terminate the loop. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "+abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-+"; argv[argc] = NULL; optind = start; getopt_loop (argc, argv, "+abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == '+'); ASSERT (optind == 2); ASSERT (output); } /* Check that '--' ends the argument processing. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[20]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "+abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "--") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } #endif /* GNULIB_TEST_GETOPT_GNU */ /* Check that the '+' flag has to come first. */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "abp:q:+", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); if (posixly) { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } else { ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); ASSERT (!output); } } #if GNULIB_TEST_GETOPT_GNU /* If GNU extensions are supported, require compliance with POSIX interpretation on leading '+' behavior. http://austingroupbugs.net/view.php?id=191 */ for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; opterr = 1; getopt_loop (argc, argv, "+:abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc] = NULL; optind = start; getopt_loop (argc, argv, "+:abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'p'); ASSERT (optind == 2); ASSERT (!output); } for (start = OPTIND_MIN; start <= 1; start++) { int a_seen = 0; int b_seen = 0; const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; bool output; int argc = 0; const char *argv[10]; argv[argc++] = "program"; argv[argc++] = "-b"; argv[argc++] = "-p"; argv[argc] = NULL; optind = start; getopt_loop (argc, argv, "+:abp:q:", &a_seen, &b_seen, &p_value, &q_value, &non_options_count, non_options, &unrecognized, &output); ASSERT (a_seen == 0); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'p'); ASSERT (optind == 3); ASSERT (!output); } /* Check that 'W' does not dump core: http://sourceware.org/bugzilla/show_bug.cgi?id=12922 Technically, POSIX says the presence of ';' in the opt-string gives unspecified behavior, so we only test this when GNU compliance is desired. */ for (start = OPTIND_MIN; start <= 1; start++) { int argc = 0; const char *argv[10]; int pos = ftell (stderr); argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "dummy"; argv[argc] = NULL; optind = start; opterr = 1; ASSERT (getopt (argc, (char **) argv, "W;") == 'W'); ASSERT (ftell (stderr) == pos); ASSERT (optind == 2); } #endif /* GNULIB_TEST_GETOPT_GNU */ } coreutils-8.21/gnulib-tests/minus-zero.h0000664000000000000000000000452512071024546015256 00000000000000/* Macros for floating-point negative zero. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Keep in sync with m4/minus-zero.m4! */ #include /* minus_zerof represents the value -0.0f. */ /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0f. ICC 10.0 has a bug when optimizing the expression -zero. The expression -FLT_MIN * FLT_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static float compute_minus_zerof (void) { return -FLT_MIN * FLT_MIN; } # define minus_zerof compute_minus_zerof () #else float minus_zerof = -0.0f; #endif /* minus_zerod represents the value -0.0. */ /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zerod (void) { return -DBL_MIN * DBL_MIN; } # define minus_zerod compute_minus_zerod () #else double minus_zerod = -0.0; #endif /* minus_zerol represents the value -0.0L. */ /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0L. IRIX cc can't put -0.0L into .data, but can compute at runtime. ICC 10.0 has a bug when optimizing the expression -zero. The expression -LDBL_MIN * LDBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static long double compute_minus_zerol (void) { return -LDBL_MIN * LDBL_MIN; } # define minus_zerol compute_minus_zerol () #else long double minus_zerol = -0.0L; #endif coreutils-8.21/gnulib-tests/test-rmdir.c0000664000000000000000000000237512071024546015234 00000000000000/* Tests of rmdir. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (rmdir, int, (char const *)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-rmdir.t" #include "test-rmdir.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_rmdir_func (rmdir, true); } coreutils-8.21/gnulib-tests/test-file-has-acl-1.sh0000775000000000000000000000033711636617713016703 00000000000000#!/bin/sh # Test file-has-acl on the file system of /var/tmp, which usually is a local # file system. if test -d /var/tmp; then TMPDIR=/var/tmp else TMPDIR=/tmp fi export TMPDIR exec "${srcdir}/test-file-has-acl.sh" coreutils-8.21/gnulib-tests/socket.c0000664000000000000000000000256412071024546014432 00000000000000/* socket.c --- wrappers for Windows socket function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #include "sockets.h" int rpl_socket (int domain, int type, int protocol) { SOCKET fh; gl_sockets_startup (SOCKETS_1_1); /* We have to use WSASocket() to create non-overlapped IO sockets. Overlapped IO sockets cannot be used with read/write. */ fh = WSASocket (domain, type, protocol, NULL, 0, 0); if (fh == INVALID_SOCKET) { set_winsock_errno (); return -1; } else return SOCKET_TO_FD (fh); } coreutils-8.21/gnulib-tests/test-ftello4.c0000664000000000000000000000340112100637437015461 00000000000000/* Test of ftello() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "macros.h" int main (int argc, char **argv) { const char *filename = argv[1]; /* Test that ftello() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "r"); ASSERT (fp != NULL); setvbuf (fp, NULL, _IONBF, 0); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (ftello (fp) == (off_t)-1); ASSERT (errno == EBADF); fclose (fp); } /* Test that ftello() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w"); if (fp != NULL) { errno = 0; ASSERT (ftello (fp) == (off_t)-1); ASSERT (errno == EBADF); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "w"); if (fp != NULL) { errno = 0; ASSERT (ftello (fp) == (off_t)-1); ASSERT (errno == EBADF); fclose (fp); } } return 0; } coreutils-8.21/gnulib-tests/test-spawn-pipe-child.c0000664000000000000000000000626012071024546017260 00000000000000/* Child program invoked by test-spawn-pipe-main. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include #include #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include #endif /* Depending on arguments, this test intentionally closes stderr or starts life with stderr closed. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; /* In this file, we use only system functions, no overrides from gnulib. */ #undef atoi #undef close #undef fcntl #undef fdopen #undef fflush #undef fprintf #undef read #undef write /* Return non-zero if FD is open. */ static int is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } int main (int argc, char *argv[]) { char buffer[2] = { 's', 't' }; int fd; /* fd 2 might be closed, but fd BACKUP_STDERR_FILENO is the original stderr. */ myerr = fdopen (BACKUP_STDERR_FILENO, "w"); if (!myerr) return 2; ASSERT (argc == 2); /* Read one byte from fd 0, and write its value plus one to fd 1. fd 2 should be closed iff the argument is 1. Check that no other file descriptors leaked. */ ASSERT (read (STDIN_FILENO, buffer, 2) == 1); buffer[0]++; ASSERT (write (STDOUT_FILENO, buffer, 1) == 1); switch (atoi (argv[1])) { case 0: /* Expect fd 2 is open. */ ASSERT (is_open (STDERR_FILENO)); break; case 1: /* Expect fd 2 is closed. But on HP-UX 11, fd 2 gets automatically re-opened to /dev/null if it was closed. Future POSIX will allow this, see . */ #if !defined __hpux ASSERT (! is_open (STDERR_FILENO)); #endif break; default: ASSERT (0); } for (fd = 3; fd < 7; fd++) { errno = 0; ASSERT (close (fd) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-rmdir.h0000664000000000000000000000642512071024546015241 00000000000000/* Tests of rmdir. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test both rmdir(n) and unlinkat(AT_FDCWD,n,AT_REMOVEDIR). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, then warn before returning status 77 when symlinks are unsupported. */ static int test_rmdir_func (int (*func) (char const *name), bool print) { /* Setup. */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (close (creat (BASE "dir/file", 0600)) == 0); /* Basic error conditions. */ errno = 0; ASSERT (func ("") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "nosuch") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "nosuch/") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (".") == -1); ASSERT (errno == EINVAL || errno == EBUSY); /* Resulting errno after ".." or "/" is too varied to test; it is reasonable to see any of EINVAL, EBUSY, EEXIST, ENOTEMPTY, EACCES, EPERM. */ ASSERT (func ("..") == -1); ASSERT (func ("/") == -1); ASSERT (func ("///") == -1); errno = 0; ASSERT (func (BASE "dir/file/") == -1); ASSERT (errno == ENOTDIR); /* Non-empty directory. */ errno = 0; ASSERT (func (BASE "dir") == -1); ASSERT (errno == EEXIST || errno == ENOTEMPTY); /* Non-directory. */ errno = 0; ASSERT (func (BASE "dir/file") == -1); ASSERT (errno == ENOTDIR); /* Empty directory. */ ASSERT (unlink (BASE "dir/file") == 0); errno = 0; ASSERT (func (BASE "dir/.//") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST || errno == ENOTEMPTY); ASSERT (func (BASE "dir") == 0); /* Test symlink behavior. Specifying trailing slash should remove referent directory (POSIX), or cause ENOTDIR failure (Linux), but not touch symlink. We prefer the Linux behavior for its intuitiveness (especially compared to rmdir("symlink-to-file/")), but not enough to penalize POSIX systems with an rpl_rmdir. */ if (symlink (BASE "dir", BASE "link") != 0) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (mkdir (BASE "dir", 0700) == 0); errno = 0; if (func (BASE "link/") == 0) { struct stat st; errno = 0; ASSERT (stat (BASE "link", &st) == -1); ASSERT (errno == ENOENT); } else { ASSERT (errno == ENOTDIR); ASSERT (func (BASE "dir") == 0); } ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-utimens.c0000664000000000000000000000435012071024546015576 00000000000000/* Tests of utimens. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "utimens.h" #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-utimens.t" #include "test-futimens.h" #include "test-lutimens.h" #include "test-utimens.h" /* Wrap fdutimens to behave like futimens. */ static int do_futimens (int fd, struct timespec const times[2]) { return fdutimens (fd, NULL, times); } /* Test the use of file descriptors alongside a name. */ static int do_fdutimens (char const *name, struct timespec const times[2]) { int result; int fd = open (name, O_WRONLY); if (fd < 0) fd = open (name, O_RDONLY); errno = 0; result = fdutimens (fd, name, times); if (0 <= fd) { int saved_errno = errno; close (fd); errno = saved_errno; } return result; } int main (void) { int result1; /* Skip because of no symlink support. */ int result2; /* Skip because of no futimens support. */ int result3; /* Skip because of no lutimens support. */ /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); result1 = test_utimens (utimens, true); ASSERT (test_utimens (do_fdutimens, false) == result1); /* Print only one skip message. */ result2 = test_futimens (do_futimens, result1 == 0); result3 = test_lutimens (lutimens, (result1 + result2) == 0); /* We expect 0/0, 0/77, or 77/77, but not 77/0. */ ASSERT (result1 <= result3); return result1 | result2 | result3; } coreutils-8.21/gnulib-tests/unistr/0000775000000000000000000000000012107207541014371 500000000000000coreutils-8.21/gnulib-tests/unistr/test-u8-mbtoucr.c0000664000000000000000000001057612071024546017452 00000000000000/* Test of u8_mbtoucr() function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include #include "unistr.h" #include "macros.h" int main () { ucs4_t uc; int ret; /* Test NUL unit input. */ { static const uint8_t input[] = ""; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == 1); ASSERT (uc == 0); } /* Test ISO 646 unit input. */ { ucs4_t c; uint8_t buf[1]; for (c = 0; c < 0x80; c++) { buf[0] = c; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, buf, 1); ASSERT (ret == 1); ASSERT (uc == c); } } /* Test 2-byte character input. */ { static const uint8_t input[] = { 0xC3, 0x97 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == 2); ASSERT (uc == 0x00D7); } /* Test 3-byte character input. */ { static const uint8_t input[] = { 0xE2, 0x82, 0xAC }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 3); ASSERT (ret == 3); ASSERT (uc == 0x20AC); } /* Test 4-byte character input. */ { static const uint8_t input[] = { 0xF4, 0x8F, 0xBF, 0xBD }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 4); ASSERT (ret == 4); ASSERT (uc == 0x10FFFD); } /* Test incomplete/invalid 1-byte input. */ { static const uint8_t input[] = { 0xC1 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xC3 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xE2 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF4 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xFE }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 1); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } /* Test incomplete/invalid 2-byte input. */ { static const uint8_t input[] = { 0xE0, 0x9F }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xE2, 0x82 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xE2, 0xD0 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF0, 0x8F }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF3, 0x8F }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF3, 0xD0 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 2); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } /* Test incomplete/invalid 3-byte input. */ { static const uint8_t input[] = { 0xF3, 0x8F, 0xBF }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 3); ASSERT (ret == -2); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF3, 0xD0, 0xBF }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 3); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } { static const uint8_t input[] = { 0xF3, 0x8F, 0xD0 }; uc = 0xBADFACE; ret = u8_mbtoucr (&uc, input, 3); ASSERT (ret == -1); ASSERT (uc == 0xFFFD); } return 0; } coreutils-8.21/gnulib-tests/unistr/test-u8-uctomb.c0000664000000000000000000000740212071024546017262 00000000000000/* Test of u8_uctomb() function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include #include "unistr.h" #include "macros.h" #define MAGIC 0xBA int main () { /* Test ISO 646 character, in particular the NUL character. */ { ucs4_t uc; for (uc = 0; uc < 0x80; uc++) { uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC }; int ret; ret = u8_uctomb (buf, uc, 0); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 1); ASSERT (ret == 1); ASSERT (buf[0] == uc); ASSERT (buf[1] == MAGIC); } } /* Test 2-byte character. */ { ucs4_t uc = 0x00D7; uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC }; int ret; ret = u8_uctomb (buf, uc, 0); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 1); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 2); ASSERT (ret == 2); ASSERT (buf[0] == 0xC3); ASSERT (buf[1] == 0x97); ASSERT (buf[2] == MAGIC); } /* Test 3-byte character. */ { ucs4_t uc = 0x20AC; uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC }; int ret; ret = u8_uctomb (buf, uc, 0); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 1); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 2); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ASSERT (buf[1] == MAGIC); ret = u8_uctomb (buf, uc, 3); ASSERT (ret == 3); ASSERT (buf[0] == 0xE2); ASSERT (buf[1] == 0x82); ASSERT (buf[2] == 0xAC); ASSERT (buf[3] == MAGIC); } /* Test 4-byte character. */ { ucs4_t uc = 0x10FFFD; uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC }; int ret; ret = u8_uctomb (buf, uc, 0); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 1); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ret = u8_uctomb (buf, uc, 2); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ASSERT (buf[1] == MAGIC); ret = u8_uctomb (buf, uc, 3); ASSERT (ret == -2); ASSERT (buf[0] == MAGIC); ASSERT (buf[1] == MAGIC); ASSERT (buf[2] == MAGIC); ret = u8_uctomb (buf, uc, 4); ASSERT (ret == 4); ASSERT (buf[0] == 0xF4); ASSERT (buf[1] == 0x8F); ASSERT (buf[2] == 0xBF); ASSERT (buf[3] == 0xBD); ASSERT (buf[4] == MAGIC); } /* Test invalid characters. */ { ucs4_t invalid[] = { 0x110000, 0xD800, 0xDBFF, 0xDC00, 0xDFFF }; uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC }; size_t i; for (i = 0; i < SIZEOF (invalid); i++) { ucs4_t uc = invalid[i]; int n; for (n = 0; n <= 4; n++) { int ret = u8_uctomb (buf, uc, n); ASSERT (ret == -1); ASSERT (buf[0] == MAGIC); ASSERT (buf[1] == MAGIC); ASSERT (buf[2] == MAGIC); ASSERT (buf[3] == MAGIC); ASSERT (buf[4] == MAGIC); } } } return 0; } coreutils-8.21/gnulib-tests/unistr/test-strncat.h0000664000000000000000000000504112071024546017117 00000000000000/* Test of uN_strncat() functions. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ static void check_single (const UNIT *input, size_t length, size_t n) { static const UNIT base[] = { 'C', 'h', 'a', 'n', 'g', 'i', 'n', 'g', 0 }; size_t m; for (m = 0; m < SIZEOF (base); m++) { UNIT *dest; UNIT *result; size_t i; dest = (UNIT *) malloc ((1 + m + n + 2) * sizeof (UNIT)); ASSERT (dest != NULL); dest[0] = MAGIC; for (i = 0; i < m; i++) dest[1 + i] = base[i]; dest[1 + m] = 0; for (i = 1; i < n + 2; i++) dest[1 + m + i] = MAGIC; result = U_STRNCAT (dest + 1, input, n); ASSERT (result == dest + 1); ASSERT (dest[0] == MAGIC); for (i = 0; i < m; i++) ASSERT (dest[1 + i] == base[i]); for (i = 0; i < (n <= length ? n : length); i++) ASSERT (dest[1 + m + i] == input[i]); ASSERT (dest[1 + m + i] == 0); ASSERT (dest[1 + m + i + 1] == MAGIC); free (dest); } } static void check (const UNIT *input, size_t input_length) { size_t length; size_t n; ASSERT (input_length > 0); ASSERT (input[input_length - 1] == 0); length = input_length - 1; /* = U_STRLEN (input) */ for (n = 0; n <= 2 * length + 2; n++) check_single (input, length, n); /* Check that U_STRNCAT (D, S, N) does not look at more than MIN (U_STRLEN (S) + 1, N) units. */ { char *page_boundary = (char *) zerosize_ptr (); if (page_boundary != NULL) { for (n = 0; n <= 2 * length + 2; n++) { size_t n_to_copy = (n <= length ? n : length + 1); UNIT *copy; size_t i; copy = (UNIT *) page_boundary - n_to_copy; for (i = 0; i < n_to_copy; i++) copy[i] = input[i]; check_single (copy, length, n); } } } } coreutils-8.21/gnulib-tests/test-btowc1.sh0000775000000000000000000000054311624730150015502 00000000000000#!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no traditional french locale is installed" else echo "Skipping test: no traditional french locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR \ ./test-btowc${EXEEXT} 1 coreutils-8.21/gnulib-tests/test-stddef.c0000664000000000000000000000316412071024546015365 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "verify.h" /* Check that appropriate types are defined. */ wchar_t a = 'c'; ptrdiff_t b = 1; size_t c = 2; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); /* Check that offsetof produces integer constants with correct type. */ struct d { char e; char f; }; /* Solaris 10 has a bug where offsetof is under-parenthesized, and cannot be used as an arbitrary expression. However, since it is unlikely to bite real code, we ignore that short-coming. */ /* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */ verify (sizeof (offsetof (struct d, e)) == sizeof (size_t)); verify (offsetof (struct d, e) < -1); /* Must be unsigned. */ verify (offsetof (struct d, f) == 1); int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-freadptr2.sh0000775000000000000000000000023211624730151016170 00000000000000#!/bin/sh ./test-freadptr2${EXEEXT} 0 < "$srcdir/test-freadptr2.sh" || exit 1 ./test-freadptr2${EXEEXT} 5 < "$srcdir/test-freadptr2.sh" || exit 1 exit 0 coreutils-8.21/gnulib-tests/signature.h0000664000000000000000000000367612071024546015155 00000000000000/* Macro for checking that a function declaration is compliant. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SIGNATURE_CHECK /* Check that the function FN takes the specified arguments ARGS with a return type of RET. This header is designed to be included after and the one system header that is supposed to contain the function being checked, but prior to any other system headers that are necessary for the unit test. Therefore, this file does not include any system headers, nor reference anything outside of the macro arguments. For an example, if foo.h should provide: extern int foo (char, float); then the unit test named test-foo.c would start out with: #include #include #include "signature.h" SIGNATURE_CHECK (foo, int, (char, float)); #include ... */ # define SIGNATURE_CHECK(fn, ret, args) \ SIGNATURE_CHECK1 (fn, ret, args, __LINE__) /* Necessary to allow multiple SIGNATURE_CHECK lines in a unit test. Note that the checks must not occupy the same line. */ # define SIGNATURE_CHECK1(fn, ret, args, id) \ SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */ # define SIGNATURE_CHECK2(fn, ret, args, id) \ static ret (* _GL_UNUSED signature_check ## id) args = fn #endif /* SIGNATURE_CHECK */ coreutils-8.21/gnulib-tests/test-fdutimensat.c0000664000000000000000000001055112071024546016435 00000000000000/* Tests of fdutimensat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "utimens.h" #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-fdutimensat.t" #include "test-futimens.h" #include "test-lutimens.h" #include "test-utimens.h" static int dfd = AT_FDCWD; /* Wrap fdutimensat to behave like futimens. */ static int do_futimens (int fd, struct timespec const times[2]) { return fdutimensat (fd, dfd, NULL, times, 0); } /* Test the use of file descriptors alongside a name. */ static int do_fdutimens (char const *name, struct timespec const times[2]) { int result; int nofollow_result; int nofollow_errno; int fd = openat (dfd, name, O_WRONLY); if (fd < 0) fd = openat (dfd, name, O_RDONLY); errno = 0; nofollow_result = fdutimensat (fd, dfd, name, times, AT_SYMLINK_NOFOLLOW); nofollow_errno = errno; result = fdutimensat (fd, dfd, name, times, 0); ASSERT (result == nofollow_result || (nofollow_result == -1 && nofollow_errno == ENOSYS)); if (0 <= fd) { int saved_errno = errno; close (fd); errno = saved_errno; } return result; } /* Wrap lutimensat to behave like lutimens. */ static int do_lutimens (const char *name, struct timespec const times[2]) { return lutimensat (dfd, name, times); } /* Wrap fdutimensat to behave like lutimens. */ static int do_lutimens1 (const char *name, struct timespec const times[2]) { return fdutimensat (-1, dfd, name, times, AT_SYMLINK_NOFOLLOW); } /* Wrap fdutimensat to behave like utimens. */ static int do_utimens (const char *name, struct timespec const times[2]) { return fdutimensat (-1, dfd, name, times, 0); } int main (void) { int result1; /* Skip because of no symlink support. */ int result2; /* Skip because of no futimens support. */ int result3; /* Skip because of no lutimens support. */ int fd; /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); /* Basic tests. */ result1 = test_utimens (do_utimens, true); ASSERT (test_utimens (do_fdutimens, false) == result1); result2 = test_futimens (do_futimens, result1 == 0); result3 = test_lutimens (do_lutimens, (result1 + result2) == 0); /* We expect 0/0, 0/77, or 77/77, but not 77/0. */ ASSERT (result1 <= result3); ASSERT (test_lutimens (do_lutimens1, (result1 + result2) == 0) == result3); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_utimens (do_utimens, false) == result1); ASSERT (test_utimens (do_fdutimens, false) == result1); ASSERT (test_futimens (do_futimens, false) == result2); ASSERT (test_lutimens (do_lutimens, false) == result3); ASSERT (test_lutimens (do_lutimens1, false) == result3); /* Directory relative tests. */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (chdir (BASE "dir") == 0); fd = creat ("file", 0600); ASSERT (0 <= fd); errno = 0; ASSERT (fdutimensat (AT_FDCWD, fd, ".", NULL, 0) == -1); ASSERT (errno == ENOTDIR); { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; struct stat st; ASSERT (fdutimensat (fd, dfd, BASE "dir/file", ts, 0) == 0); ASSERT (stat ("file", &st) == 0); ASSERT (st.st_atime == Y2K); ASSERT (get_stat_atime_ns (&st) == 0); ASSERT (st.st_mtime == Y2K); ASSERT (get_stat_mtime_ns (&st) == 0); } ASSERT (close (fd) == 0); ASSERT (close (dfd) == 0); errno = 0; ASSERT (fdutimensat (-1, dfd, ".", NULL, 0) == -1); ASSERT (errno == EBADF); /* Cleanup. */ ASSERT (chdir ("..") == 0); ASSERT (unlink (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); return result1 | result2 | result3; } coreutils-8.21/gnulib-tests/test-sys_uio.c0000664000000000000000000000173512071024546015610 00000000000000/* Test of substitute. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2011. */ #include #include /* Check that necessary types are defined. */ size_t a; ssize_t b; struct iovec c; int main (void) { return a + b + !!c.iov_base + c.iov_len; } coreutils-8.21/gnulib-tests/test-sys_stat.c0000664000000000000000000001626512071024546015773 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check the existence of some macros. */ int a[] = { S_IFMT, #ifdef S_IFBLK /* missing on MSVC */ S_IFBLK, #endif S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG, #ifdef S_IFLNK /* missing on native Windows and DJGPP */ S_IFLNK, #endif #ifdef S_IFSOCK /* missing on native Windows and DJGPP */ S_IFSOCK, #endif S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR, S_IRWXG, S_IRGRP, S_IWGRP, S_IXGRP, S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH, S_ISUID, S_ISGID, S_ISVTX, S_ISBLK (S_IFREG), S_ISCHR (S_IFREG), S_ISDIR (S_IFREG), S_ISFIFO (S_IFREG), S_ISREG (S_IFREG), S_ISLNK (S_IFREG), S_ISSOCK (S_IFREG), S_ISDOOR (S_IFREG), S_ISMPB (S_IFREG), S_ISMPX (S_IFREG), S_ISNAM (S_IFREG), S_ISNWK (S_IFREG), S_ISPORT (S_IFREG), S_ISCTG (S_IFREG), S_ISOFD (S_IFREG), S_ISOFL (S_IFREG), S_ISWHT (S_IFREG) }; /* Sanity checks. */ verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR)); verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP)); verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH)); #ifdef S_IFBLK verify (S_ISBLK (S_IFBLK)); #endif verify (!S_ISBLK (S_IFCHR)); verify (!S_ISBLK (S_IFDIR)); verify (!S_ISBLK (S_IFIFO)); verify (!S_ISBLK (S_IFREG)); #ifdef S_IFLNK verify (!S_ISBLK (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISBLK (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISCHR (S_IFBLK)); #endif verify (S_ISCHR (S_IFCHR)); verify (!S_ISCHR (S_IFDIR)); verify (!S_ISCHR (S_IFIFO)); verify (!S_ISCHR (S_IFREG)); #ifdef S_IFLNK verify (!S_ISCHR (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISCHR (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISDIR (S_IFBLK)); #endif verify (!S_ISDIR (S_IFCHR)); verify (S_ISDIR (S_IFDIR)); verify (!S_ISDIR (S_IFIFO)); verify (!S_ISDIR (S_IFREG)); #ifdef S_IFLNK verify (!S_ISDIR (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISDIR (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISFIFO (S_IFBLK)); #endif verify (!S_ISFIFO (S_IFCHR)); verify (!S_ISFIFO (S_IFDIR)); verify (S_ISFIFO (S_IFIFO)); verify (!S_ISFIFO (S_IFREG)); #ifdef S_IFLNK verify (!S_ISFIFO (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISFIFO (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISREG (S_IFBLK)); #endif verify (!S_ISREG (S_IFCHR)); verify (!S_ISREG (S_IFDIR)); verify (!S_ISREG (S_IFIFO)); verify (S_ISREG (S_IFREG)); #ifdef S_IFLNK verify (!S_ISREG (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISREG (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISLNK (S_IFBLK)); #endif verify (!S_ISLNK (S_IFCHR)); verify (!S_ISLNK (S_IFDIR)); verify (!S_ISLNK (S_IFIFO)); verify (!S_ISLNK (S_IFREG)); #ifdef S_IFLNK verify (S_ISLNK (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISLNK (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISSOCK (S_IFBLK)); #endif verify (!S_ISSOCK (S_IFCHR)); verify (!S_ISSOCK (S_IFDIR)); verify (!S_ISSOCK (S_IFIFO)); verify (!S_ISSOCK (S_IFREG)); #ifdef S_IFLNK verify (!S_ISSOCK (S_IFLNK)); #endif #ifdef S_IFSOCK verify (S_ISSOCK (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISDOOR (S_IFBLK)); #endif verify (!S_ISDOOR (S_IFCHR)); verify (!S_ISDOOR (S_IFDIR)); verify (!S_ISDOOR (S_IFIFO)); verify (!S_ISDOOR (S_IFREG)); #ifdef S_IFLNK verify (!S_ISDOOR (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISDOOR (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISMPB (S_IFBLK)); #endif verify (!S_ISMPB (S_IFCHR)); verify (!S_ISMPB (S_IFDIR)); verify (!S_ISMPB (S_IFIFO)); verify (!S_ISMPB (S_IFREG)); #ifdef S_IFLNK verify (!S_ISMPB (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISMPB (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISMPX (S_IFBLK)); #endif verify (!S_ISMPX (S_IFCHR)); verify (!S_ISMPX (S_IFDIR)); verify (!S_ISMPX (S_IFIFO)); verify (!S_ISMPX (S_IFREG)); #ifdef S_IFLNK verify (!S_ISMPX (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISMPX (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISNAM (S_IFBLK)); #endif verify (!S_ISNAM (S_IFCHR)); verify (!S_ISNAM (S_IFDIR)); verify (!S_ISNAM (S_IFIFO)); verify (!S_ISNAM (S_IFREG)); #ifdef S_IFLNK verify (!S_ISNAM (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISNAM (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISNWK (S_IFBLK)); #endif verify (!S_ISNWK (S_IFCHR)); verify (!S_ISNWK (S_IFDIR)); verify (!S_ISNWK (S_IFIFO)); verify (!S_ISNWK (S_IFREG)); #ifdef S_IFLNK verify (!S_ISNWK (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISNWK (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISPORT (S_IFBLK)); #endif verify (!S_ISPORT (S_IFCHR)); verify (!S_ISPORT (S_IFDIR)); verify (!S_ISPORT (S_IFIFO)); verify (!S_ISPORT (S_IFREG)); #ifdef S_IFLNK verify (!S_ISPORT (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISPORT (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISCTG (S_IFBLK)); #endif verify (!S_ISCTG (S_IFCHR)); verify (!S_ISCTG (S_IFDIR)); verify (!S_ISCTG (S_IFIFO)); verify (!S_ISCTG (S_IFREG)); #ifdef S_IFLNK verify (!S_ISCTG (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISCTG (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISOFD (S_IFBLK)); #endif verify (!S_ISOFD (S_IFCHR)); verify (!S_ISOFD (S_IFDIR)); verify (!S_ISOFD (S_IFIFO)); verify (!S_ISOFD (S_IFREG)); #ifdef S_IFLNK verify (!S_ISOFD (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISOFD (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISOFL (S_IFBLK)); #endif verify (!S_ISOFL (S_IFCHR)); verify (!S_ISOFL (S_IFDIR)); verify (!S_ISOFL (S_IFIFO)); verify (!S_ISOFL (S_IFREG)); #ifdef S_IFLNK verify (!S_ISOFL (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISOFL (S_IFSOCK)); #endif #ifdef S_IFBLK verify (!S_ISWHT (S_IFBLK)); #endif verify (!S_ISWHT (S_IFCHR)); verify (!S_ISWHT (S_IFDIR)); verify (!S_ISWHT (S_IFIFO)); verify (!S_ISWHT (S_IFREG)); #ifdef S_IFLNK verify (!S_ISWHT (S_IFLNK)); #endif #ifdef S_IFSOCK verify (!S_ISWHT (S_IFSOCK)); #endif /* POSIX 2008 requires traditional encoding of permission constants. */ verify (S_IRWXU == 00700); verify (S_IRUSR == 00400); verify (S_IWUSR == 00200); verify (S_IXUSR == 00100); verify (S_IRWXG == 00070); verify (S_IRGRP == 00040); verify (S_IWGRP == 00020); verify (S_IXGRP == 00010); verify (S_IRWXO == 00007); verify (S_IROTH == 00004); verify (S_IWOTH == 00002); verify (S_IXOTH == 00001); verify (S_ISUID == 04000); verify (S_ISGID == 02000); verify (S_ISVTX == 01000); #if ((0 <= UTIME_NOW && UTIME_NOW < 1000000000) \ || (0 <= UTIME_OMIT && UTIME_OMIT < 1000000000) \ || UTIME_NOW == UTIME_OMIT) invalid UTIME macros #endif /* Check the existence of some types. */ nlink_t t1; off_t t2; mode_t t3; struct timespec st; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-posix_spawn1.in.sh0000664000000000000000000000003511624727635017352 00000000000000#!/bin/sh echo "Halle Potta" coreutils-8.21/gnulib-tests/test-sys_socket.c0000664000000000000000000000327112071024546016301 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #if HAVE_SHUTDOWN /* Check some integer constant expressions. */ int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; #endif /* Check that the 'socklen_t' type is defined. */ socklen_t t1; /* Check that the 'size_t' and 'ssize_t' types are defined. */ size_t t2; ssize_t t3; /* Check that 'struct iovec' is defined. */ struct iovec io; /* Check that a minimal set of 'struct msghdr' is defined. */ struct msghdr msg; int main (void) { struct sockaddr_storage x; sa_family_t i; /* Check some errno values. */ switch (0) { case ENOTSOCK: case EADDRINUSE: case ENETRESET: case ECONNABORTED: case ECONNRESET: case ENOTCONN: case ESHUTDOWN: break; } x.ss_family = 42; i = 42; msg.msg_iov = &io; return (x.ss_family - i + msg.msg_namelen + msg.msg_iov->iov_len + msg.msg_iovlen); } coreutils-8.21/gnulib-tests/test-vprintf-posix.c0000664000000000000000000000244512071024546016745 00000000000000/* Test of POSIX compatible vfprintf() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (vprintf, int, (char const *, va_list)); #include #include #include #include #include "macros.h" #include "test-printf-posix.h" static int my_printf (const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vprintf (format, args); va_end (args); return ret; } int main (int argc, char *argv[]) { test_function (my_printf); return 0; } coreutils-8.21/gnulib-tests/test-rename.c0000664000000000000000000000241412071024546015360 00000000000000/* Test of rename() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (rename, int, (char const *, char const *)); #include #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-rename.t" #include "test-rename.h" int main (void) { /* Remove any garbage left from previous partial runs. */ ignore_value (system ("rm -rf " BASE "*")); return test_rename (rename, true); } coreutils-8.21/gnulib-tests/test-strftime.c0000664000000000000000000000361012071024546015745 00000000000000/* Test that posixtime works as required. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "strftime.h" #include #include #include #include "macros.h" #define STREQ(a, b) (strcmp (a, b) == 0) struct posixtm_test { time_t in; int in_ns; char const *fmt; char const *exp; }; static struct posixtm_test const T[] = { { 1300000000, 0, "%F", "2011-03-13" }, { 0, 10, "%T.%N", "00:00:00.000000010" }, { 0, 0, NULL, NULL } }; int main (void) { int fail = 0; unsigned int i; for (i = 0; T[i].fmt; i++) { char buf[1000]; time_t t = T[i].in; struct tm *tm = gmtime (&t); size_t n; int utc = 1; ASSERT (tm); n = nstrftime (buf, sizeof buf, T[i].fmt, tm, utc, T[i].in_ns); if (n == 0) { fail = 1; printf ("nstrftime failed with format %s\n", T[i].fmt); } if (! STREQ (buf, T[i].exp)) { fail = 1; printf ("%s: result mismatch: got %s, expected %s\n", T[i].fmt, buf, T[i].exp); } } return fail; } /* Local Variables: indent-tabs-mode: nil End: */ coreutils-8.21/gnulib-tests/test-symlink.c0000664000000000000000000000242212071024546015576 00000000000000/* Tests of symlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (symlink, int, (char const *, char const *)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-symlink.t" #include "test-symlink.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_symlink (symlink, true); } coreutils-8.21/gnulib-tests/test-sys_wait.h0000664000000000000000000000361512071024546015764 00000000000000/* Test of macros shared between and . Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2010. */ static int test_sys_wait_macros (void) { /* Check subset of macros that must be visible here. Note that some of these macros are only portable when operating on an lvalue. */ int i; for (i = 0; i < 0x8000; i = (i ? i << 1 : 1)) { /* POSIX requires that for all valid process statuses, that exactly one of these three macros is true. But not all possible 16-bit values map to valid process status. Traditionally, 8 of the bits are for WIFEXITED, 7 of the bits to tell between WIFSIGNALED and WIFSTOPPED, and either 0x80 or 0x8000 to flag that core was also dumped. Since we don't know which byte is WIFEXITED, we skip the both possible bits that can signal core dump. */ if (i == 0x80) continue; if (!!WIFSIGNALED (i) + !!WIFEXITED (i) + !!WIFSTOPPED (i) != 1) return 1; } i = WEXITSTATUS (i) + WSTOPSIG (i) + WTERMSIG (i); switch (i) { #if 0 /* Gnulib doesn't guarantee these, yet. */ case WNOHANG: case WUNTRACED: #endif break; } return 0; } coreutils-8.21/gnulib-tests/test-dup-safer.c0000664000000000000000000001152312071024546016000 00000000000000/* Test that dup_safer leaves standard fds alone. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "unistd--.h" #include #include #include #include #include "binary-io.h" #include "cloexec.h" #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #if !O_BINARY # define setmode(f,m) zero () static int zero (void) { return 0; } #endif /* This test intentionally closes stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; /* Return true if FD is open. */ static bool is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } /* Return true if FD is open and inheritable across exec/spawn. */ static bool is_inheritable (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) return 0; return (flags & HANDLE_FLAG_INHERIT) != 0; #else # ifndef F_GETFD # error Please port fcntl to your platform # endif int i = fcntl (fd, F_GETFD); return 0 <= i && (i & FD_CLOEXEC) == 0; #endif } /* Return true if FD is open in the given MODE, which is either O_TEXT or O_BINARY. */ static bool is_mode (int fd, int mode) { int value = setmode (fd, O_BINARY); setmode (fd, value); return mode == value; } #define witness "test-dup-safer.txt" int main (void) { int i; int fd; /* We close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; /* Create file for later checks. */ fd = creat (witness, 0600); ASSERT (STDERR_FILENO < fd); /* Four iterations, with progressively more standard descriptors closed. */ for (i = -1; i <= STDERR_FILENO; i++) { if (0 <= i) ASSERT (close (i) == 0); /* Detect errors. */ errno = 0; ASSERT (dup (-1) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup (10000000) == -1); ASSERT (errno == EBADF); close (fd + 1); errno = 0; ASSERT (dup (fd + 1) == -1); ASSERT (errno == EBADF); /* Preserve text vs. binary. */ setmode (fd, O_BINARY); ASSERT (dup (fd) == fd + 1); ASSERT (is_open (fd + 1)); ASSERT (is_inheritable (fd + 1)); ASSERT (is_mode (fd + 1, O_BINARY)); ASSERT (close (fd + 1) == 0); setmode (fd, O_TEXT); ASSERT (dup (fd) == fd + 1); ASSERT (is_open (fd + 1)); ASSERT (is_inheritable (fd + 1)); ASSERT (is_mode (fd + 1, O_TEXT)); /* Create cloexec copy. */ ASSERT (close (fd + 1) == 0); ASSERT (fd_safer_flag (dup_cloexec (fd), O_CLOEXEC) == fd + 1); ASSERT (set_cloexec_flag (fd + 1, true) == 0); ASSERT (is_open (fd + 1)); ASSERT (!is_inheritable (fd + 1)); ASSERT (close (fd) == 0); /* dup always creates inheritable copies. Also, check that earliest slot past std fds is used. */ ASSERT (dup (fd + 1) == fd); ASSERT (is_open (fd)); ASSERT (is_inheritable (fd)); ASSERT (close (fd + 1) == 0); } /* Cleanup. */ ASSERT (close (fd) == 0); ASSERT (unlink (witness) == 0); return 0; } coreutils-8.21/gnulib-tests/test-mbrtowc.c0000664000000000000000000002510312071024546015566 00000000000000/* Test of conversion of multibyte character to wide character. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (mbrtowc, size_t, (wchar_t *, char const *, size_t, mbstate_t *)); #include #include #include #include "macros.h" int main (int argc, char *argv[]) { mbstate_t state; wchar_t wc; size_t ret; /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Test zero-length input. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "x", 0, &state); /* gnulib's implementation returns (size_t)(-2). The AIX 5.1 implementation returns (size_t)(-1). glibc's implementation returns 0. */ ASSERT (ret == (size_t)(-2) || ret == (size_t)(-1) || ret == 0); ASSERT (mbsinit (&state)); } /* Test NUL byte input. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "", 1, &state); ASSERT (ret == 0); ASSERT (wc == 0); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, "", 1, &state); ASSERT (ret == 0); ASSERT (mbsinit (&state)); } /* Test single-byte input. */ { int c; char buf[1]; memset (&state, '\0', sizeof (mbstate_t)); for (c = 0; c < 0x100; c++) switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* c is in the ISO C "basic character set". */ buf[0] = c; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, buf, 1, &state); ASSERT (ret == 1); ASSERT (wc == c); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, buf, 1, &state); ASSERT (ret == 1); ASSERT (mbsinit (&state)); break; } } /* Test special calling convention, passing a NULL pointer. */ { memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, NULL, 5, &state); ASSERT (ret == 0); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } if (argc > 1) switch (argv[1][0]) { case '1': /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ { char input[] = "B\374\337er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\374'); ASSERT (mbsinit (&state)); input[1] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 3, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == (unsigned char) '\337'); ASSERT (mbsinit (&state)); input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); } return 0; case '2': /* Locale encoding is UTF-8. */ { char input[] = "B\303\274\303\237er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 5, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[2] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 3, 4, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 4, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[3] = '\0'; input[4] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[5] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 6, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); } return 0; case '3': /* Locale encoding is EUC-JP. */ { char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == '<'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 2, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[1] = '\0'; input[2] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[3] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 4, 4, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[4] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 5, 3, &state); ASSERT (ret == 2); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 1, &state); ASSERT (ret == 1); ASSERT (wc == '>'); ASSERT (mbsinit (&state)); } return 0; case '4': /* Locale encoding is GB18030. */ { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'B'); ASSERT (mbsinit (&state)); input[0] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 1, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (wc == (wchar_t) 0xBADFACE); ASSERT (!mbsinit (&state)); input[1] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 2, 7, &state); ASSERT (ret == 1); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[2] = '\0'; /* Test support of NULL first argument. */ ret = mbrtowc (NULL, input + 3, 6, &state); ASSERT (ret == 4); ASSERT (mbsinit (&state)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 3, 6, &state); ASSERT (ret == 4); ASSERT (wctob (wc) == EOF); ASSERT (mbsinit (&state)); input[3] = '\0'; input[4] = '\0'; input[5] = '\0'; input[6] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 7, 2, &state); ASSERT (ret == 1); ASSERT (wc == 'e'); ASSERT (mbsinit (&state)); input[5] = '\0'; wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input + 8, 1, &state); ASSERT (ret == 1); ASSERT (wc == 'r'); ASSERT (mbsinit (&state)); } return 0; } return 1; } coreutils-8.21/gnulib-tests/test-spawn-pipe-main.c0000664000000000000000000000701112071024546017114 00000000000000/* Test of create_pipe_bidi/wait_subprocess. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include "spawn-pipe.h" #include "wait-process.h" #include "progname.h" #include #include #include #include #include /* Depending on arguments, this test intentionally closes stderr or starts life with stderr closed. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; /* Create a bi-directional pipe to a test child, and validate that the child program returns the expected output. PROG is the program to run in the child process. STDERR_CLOSED is true if we have already closed fd 2. */ static void test_pipe (const char *prog, bool stderr_closed) { int fd[2]; char *argv[3]; pid_t pid; char buffer[2] = { 'a', 't' }; /* Set up child. */ argv[0] = (char *) prog; argv[1] = (char *) (stderr_closed ? "1" : "0"); argv[2] = NULL; pid = create_pipe_bidi (prog, prog, argv, false, true, true, fd); ASSERT (0 <= pid); ASSERT (STDERR_FILENO < fd[0]); ASSERT (STDERR_FILENO < fd[1]); /* Push child's input. */ ASSERT (write (fd[1], buffer, 1) == 1); ASSERT (close (fd[1]) == 0); /* Get child's output. */ ASSERT (read (fd[0], buffer, 2) == 1); /* Wait for child. */ ASSERT (wait_subprocess (pid, prog, true, false, true, true, NULL) == 0); ASSERT (close (fd[0]) == 0); /* Check the result. */ ASSERT (buffer[0] == 'b'); ASSERT (buffer[1] == 't'); } int main (int argc, char *argv[]) { int test; int fd; set_program_name (argv[0]); if (argc != 3) { fprintf (stderr, "%s: need 2 arguments\n", argv[0]); return 2; } /* We might close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; /* Selectively close various standard fds, to verify the child process is not impacted by this. */ test = atoi (argv[2]); switch (test) { case 0: break; case 1: close (0); break; case 2: close (1); break; case 3: close (0); close (1); break; case 4: close (2); break; case 5: close (0); close (2); break; case 6: close (1); close (2); break; case 7: close (0); close (1); close (2); break; default: ASSERT (false); } /* Plug any file descriptor leaks inherited from outside world before starting, so that child has a clean slate (at least for the fds that we might be manipulating). */ for (fd = 3; fd < 7; fd++) close (fd); test_pipe (argv[1], test >= 4); return 0; } coreutils-8.21/gnulib-tests/test-lchown.h0000664000000000000000000002364212071024546015416 00000000000000/* Tests of lchown. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include "nap.h" #if !HAVE_GETEGID # define getegid() ((gid_t) -1) #endif #ifndef HAVE_LCHMOD # define HAVE_LCHMOD 0 #endif #ifndef CHOWN_CHANGE_TIME_BUG # define CHOWN_CHANGE_TIME_BUG 0 #endif /* This file is designed to test lchown(n,o,g) and chownat(AT_FDCWD,n,o,g,AT_SYMLINK_NOFOLLOW). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_lchown (int (*func) (char const *, uid_t, gid_t), bool print) { struct stat st1; struct stat st2; gid_t *gids = NULL; int gids_count; int result; /* Solaris 8 is interesting - if the current process belongs to multiple groups, the current directory is owned by a group that the current process belongs to but different than getegid(), and the current directory does not have the S_ISGID bit, then regular files created in the directory belong to the directory's group, but symlinks belong to the current effective group id. If S_ISGID is set, then both files and symlinks belong to the directory's group. However, it is possible to run the testsuite from within a directory owned by a group we don't belong to, in which case all things that we create belong to the current effective gid. So, work around the issues by creating a subdirectory (we are guaranteed that the subdirectory will be owned by one of our current groups), change ownership of that directory to the current effective gid (which will thus succeed), then create all other files within that directory (eliminating questions on whether inheritance or current id triumphs, since the two methods resolve to the same gid). */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (stat (BASE "dir", &st1) == 0); /* Filter out mingw, which has no concept of groups. */ result = func (BASE "dir", st1.st_uid, getegid ()); if (result == -1 && errno == ENOSYS) { ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: no support for ownership\n", stderr); return 77; } ASSERT (result == 0); ASSERT (close (creat (BASE "dir/file", 0600)) == 0); ASSERT (stat (BASE "dir/file", &st1) == 0); ASSERT (st1.st_uid != (uid_t) -1); ASSERT (st1.st_gid != (gid_t) -1); ASSERT (st1.st_gid == getegid ()); /* Sanity check of error cases. */ errno = 0; ASSERT (func ("", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/file/", -1, -1) == -1); ASSERT (errno == ENOTDIR); /* Check that -1 does not alter ownership. */ ASSERT (func (BASE "dir/file", -1, st1.st_gid) == 0); ASSERT (func (BASE "dir/file", st1.st_uid, -1) == 0); ASSERT (func (BASE "dir/file", (uid_t) -1, (gid_t) -1) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); /* Even if the values aren't changing, ctime is required to change if at least one argument is not -1. */ nap (); ASSERT (func (BASE "dir/file", st1.st_uid, st1.st_gid) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime < st2.st_ctime || (st1.st_ctime == st2.st_ctime && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); /* Test symlink behavior. */ if (symlink ("link", BASE "dir/link2")) { ASSERT (unlink (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } result = func (BASE "dir/link2", -1, -1); if (result == -1 && errno == ENOSYS) { ASSERT (unlink (BASE "dir/file") == 0); ASSERT (unlink (BASE "dir/link2") == 0); ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: symlink ownership not supported\n", stderr); return 77; } ASSERT (result == 0); errno = 0; ASSERT (func (BASE "dir/link2/", st1.st_uid, st1.st_gid) == -1); ASSERT (errno == ENOENT); ASSERT (symlink ("file", BASE "dir/link") == 0); ASSERT (mkdir (BASE "dir/sub", 0700) == 0); ASSERT (symlink ("sub", BASE "dir/link3") == 0); /* For non-privileged users, lchown can only portably succeed at changing group ownership of a file we own. If we belong to at least two groups, then verifying the correct change is simple. But if we belong to only one group, then we fall back on the other observable effect of lchown: the ctime must be updated. */ gids_count = mgetgroups (NULL, st1.st_gid, &gids); if (1 < gids_count) { ASSERT (gids[1] != st1.st_gid); ASSERT (gids[1] != (gid_t) -1); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); errno = 0; ASSERT (func (BASE "dir/link2/", -1, gids[1]) == -1); ASSERT (errno == ENOTDIR); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (func (BASE "dir/link2", -1, gids[1]) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (gids[1] == st2.st_gid); /* Trailing slash follows through to directory. */ ASSERT (lstat (BASE "dir/link3", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/sub", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (func (BASE "dir/link3/", -1, gids[1]) == 0); ASSERT (lstat (BASE "dir/link3", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/sub", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (gids[1] == st2.st_gid); } else if (!CHOWN_CHANGE_TIME_BUG || HAVE_LCHMOD) { /* If we don't have lchmod, and lchown fails to change ctime, then we can't test this part of lchown. */ struct stat l1; struct stat l2; ASSERT (stat (BASE "dir/file", &st1) == 0); ASSERT (lstat (BASE "dir/link", &l1) == 0); ASSERT (lstat (BASE "dir/link2", &l2) == 0); nap (); errno = 0; ASSERT (func (BASE "dir/link2/", -1, st1.st_gid) == -1); ASSERT (errno == ENOTDIR); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&st1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (l1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (l2.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l2) == get_stat_ctime_ns (&st2)); ASSERT (func (BASE "dir/link2", -1, st1.st_gid) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&st1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (l1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (l2.st_ctime < st2.st_ctime || (l2.st_ctime == st2.st_ctime && get_stat_ctime_ns (&l2) < get_stat_ctime_ns (&st2))); /* Trailing slash follows through to directory. */ ASSERT (lstat (BASE "dir/sub", &st1) == 0); ASSERT (lstat (BASE "dir/link3", &l1) == 0); nap (); ASSERT (func (BASE "dir/link3/", -1, st1.st_gid) == 0); ASSERT (lstat (BASE "dir/link3", &st2) == 0); ASSERT (l1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/sub", &st2) == 0); ASSERT (st1.st_ctime < st2.st_ctime || (st1.st_ctime == st2.st_ctime && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); } /* Cleanup. */ free (gids); ASSERT (unlink (BASE "dir/file") == 0); ASSERT (unlink (BASE "dir/link") == 0); ASSERT (unlink (BASE "dir/link2") == 0); ASSERT (unlink (BASE "dir/link3") == 0); ASSERT (rmdir (BASE "dir/sub") == 0); ASSERT (rmdir (BASE "dir") == 0); return 0; } coreutils-8.21/gnulib-tests/test-rename.h0000664000000000000000000006231312071024546015371 00000000000000/* Test of rename() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file is designed to test both rename(a,b) and renameat(AT_FDCWD,a,AT_FDCWD,b). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ /* Tests whether a file, given by a file name without slashes, exists in the current directory, by scanning the directory entries. */ static bool dentry_exists (const char *filename) { bool exists = false; DIR *dir = opendir ("."); ASSERT (dir != NULL); for (;;) { struct dirent *d = readdir (dir); if (d == NULL) break; if (strcmp (d->d_name, filename) == 0) { exists = true; break; } } ASSERT (closedir (dir) == 0); return exists; } /* Asserts that a specific file, given by a file name without slashes, does not exist in the current directory. */ static void assert_nonexistent (const char *filename) { struct stat st; /* The usual way to test the presence of a file is via stat() or lstat(). */ errno = 0; if (stat (filename, &st) == -1) ASSERT (errno == ENOENT); else { /* But after renaming a directory over an empty directory on an NFS- mounted file system, on Linux 2.6.18, for a period of 30 seconds the old directory name is "present" according to stat() but "nonexistent" according to dentry_exists(). */ ASSERT (!dentry_exists (filename)); /* Remove the old directory name, so that subsequent mkdir calls succeed. */ (void) rmdir (filename); } } static int test_rename (int (*func) (char const *, char const *), bool print) { /* Setup. */ struct stat st; int fd = creat (BASE "file", 0600); ASSERT (0 <= fd); ASSERT (write (fd, "hi", 2) == 2); ASSERT (close (fd) == 0); ASSERT (mkdir (BASE "dir", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ */ /* Obvious errors. */ { /* Missing source. */ { errno = 0; ASSERT (func (BASE "missing", BASE "missing") == -1); ASSERT (errno == ENOENT); } { errno = 0; ASSERT (func (BASE "missing/", BASE "missing") == -1); ASSERT (errno == ENOENT); } { errno = 0; ASSERT (func (BASE "missing", BASE "missing/") == -1); ASSERT (errno == ENOENT); } } { /* Empty operand. */ { errno = 0; ASSERT (func ("", BASE "missing") == -1); ASSERT (errno == ENOENT); } { errno = 0; ASSERT (func (BASE "file", "") == -1); ASSERT (errno == ENOENT); } { errno = 0; ASSERT (func (BASE "", "") == -1); ASSERT (errno == ENOENT); } } /* Files. */ { /* Trailing slash. */ { errno = 0; ASSERT (func (BASE "file", BASE "file2/") == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "file/", BASE "file2") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (stat (BASE "file2", &st) == -1); ASSERT (errno == ENOENT); } } { /* Simple rename. */ ASSERT (func (BASE "file", BASE "file2") == 0); errno = 0; ASSERT (stat (BASE "file", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (stat (BASE "file2", &st) == 0); ASSERT (st.st_size == 2); } /* Files present here: {BASE}file2 {BASE}dir/ */ { /* Overwrite. */ ASSERT (close (creat (BASE "file", 0600)) == 0); errno = 0; ASSERT (func (BASE "file2", BASE "file/") == -1); ASSERT (errno == ENOTDIR); ASSERT (func (BASE "file2", BASE "file") == 0); memset (&st, 0, sizeof st); ASSERT (stat (BASE "file", &st) == 0); ASSERT (st.st_size == 2); errno = 0; ASSERT (stat (BASE "file2", &st) == -1); ASSERT (errno == ENOENT); } /* Files present here: {BASE}file {BASE}dir/ */ /* Directories. */ { /* Simple rename. */ { ASSERT (func (BASE "dir", BASE "dir2/") == 0); errno = 0; ASSERT (stat (BASE "dir", &st) == -1); ASSERT (errno == ENOENT); ASSERT (stat (BASE "dir2", &st) == 0); } /* Files present here: {BASE}file {BASE}dir2/ */ { ASSERT (func (BASE "dir2/", BASE "dir") == 0); ASSERT (stat (BASE "dir", &st) == 0); errno = 0; ASSERT (stat (BASE "dir2", &st) == -1); ASSERT (errno == ENOENT); } /* Files present here: {BASE}file {BASE}dir/ */ { ASSERT (func (BASE "dir", BASE "dir2") == 0); errno = 0; ASSERT (stat (BASE "dir", &st) == -1); ASSERT (errno == ENOENT); ASSERT (stat (BASE "dir2", &st) == 0); } /* Files present here: {BASE}file {BASE}dir2/ */ { /* Empty onto empty. */ ASSERT (mkdir (BASE "dir", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ ASSERT (func (BASE "dir2", BASE "dir") == 0); /* Files present here: {BASE}file {BASE}dir/ */ ASSERT (mkdir (BASE "dir2", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ ASSERT (func (BASE "dir2", BASE "dir/") == 0); /* Files present here: {BASE}file {BASE}dir/ */ ASSERT (mkdir (BASE "dir2", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ ASSERT (func (BASE "dir2/", BASE "dir") == 0); /* Files present here: {BASE}file {BASE}dir/ */ ASSERT (mkdir (BASE "dir2", 0700) == 0); } /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ { /* Empty onto full. */ ASSERT (close (creat (BASE "dir/file", 0600)) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir/file {BASE}dir2/ */ { errno = 0; ASSERT (func (BASE "dir2", BASE "dir") == -1); ASSERT (errno == EEXIST || errno == ENOTEMPTY); } { errno = 0; ASSERT (func (BASE "dir2/", BASE "dir") == -1); ASSERT (errno == EEXIST || errno == ENOTEMPTY); } { errno = 0; ASSERT (func (BASE "dir2", BASE "dir/") == -1); ASSERT (errno == EEXIST || errno == ENOTEMPTY); } } { /* Full onto empty. */ ASSERT (func (BASE "dir", BASE "dir2") == 0); assert_nonexistent (BASE "dir"); ASSERT (stat (BASE "dir2/file", &st) == 0); /* Files present here: {BASE}file {BASE}dir2/ {BASE}dir2/file */ ASSERT (mkdir (BASE "dir", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ {BASE}dir2/file */ { ASSERT (func (BASE "dir2/", BASE "dir") == 0); ASSERT (stat (BASE "dir/file", &st) == 0); errno = 0; ASSERT (stat (BASE "dir2", &st) == -1); ASSERT (errno == ENOENT); } /* Files present here: {BASE}file {BASE}dir/ {BASE}dir/file */ ASSERT (mkdir (BASE "dir2", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir/file {BASE}dir2/ */ { ASSERT (func (BASE "dir", BASE "dir2/") == 0); assert_nonexistent (BASE "dir"); ASSERT (stat (BASE "dir2/file", &st) == 0); } /* Files present here: {BASE}file {BASE}dir2/ {BASE}dir2/file */ ASSERT (unlink (BASE "dir2/file") == 0); } /* Files present here: {BASE}file {BASE}dir2/ */ { /* Reject trailing dot. */ { errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.") == -1); ASSERT (errno == EINVAL || errno == ENOENT); } ASSERT (mkdir (BASE "dir", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ { errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR || errno == ENOTEMPTY || errno == EEXIST); } { errno = 0; ASSERT (func (BASE "dir2/.", BASE "dir") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST); } ASSERT (rmdir (BASE "dir") == 0); /* Files present here: {BASE}file {BASE}dir2/ */ { errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.//") == -1); ASSERT (errno == EINVAL || errno == ENOENT); } ASSERT (mkdir (BASE "dir", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir2/ */ { errno = 0; ASSERT (func (BASE "dir2", BASE "dir/.//") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR || errno == ENOTEMPTY || errno == EEXIST); } { errno = 0; ASSERT (func (BASE "dir2/.//", BASE "dir") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST); } ASSERT (rmdir (BASE "dir2") == 0); /* Files present here: {BASE}file {BASE}dir/ */ } { /* Move into subdir. */ { errno = 0; ASSERT (func (BASE "dir", BASE "dir/sub") == -1); ASSERT (errno == EINVAL || errno == EACCES); } { errno = 0; ASSERT (stat (BASE "dir/sub", &st) == -1); ASSERT (errno == ENOENT); } ASSERT (mkdir (BASE "dir/sub", 0700) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir/sub/ */ { errno = 0; ASSERT (func (BASE "dir", BASE "dir/sub") == -1); ASSERT (errno == EINVAL); ASSERT (stat (BASE "dir/sub", &st) == 0); } ASSERT (rmdir (BASE "dir/sub") == 0); } } /* Files present here: {BASE}file {BASE}dir/ */ /* Mixing file and directory. */ { { /* File onto dir. */ { errno = 0; ASSERT (func (BASE "file", BASE "dir") == -1); ASSERT (errno == EISDIR || errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "file", BASE "dir/") == -1); ASSERT (errno == EISDIR || errno == ENOTDIR); } } { /* Dir onto file. */ { errno = 0; ASSERT (func (BASE "dir", BASE "file") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "dir/", BASE "file") == -1); ASSERT (errno == ENOTDIR); } } } /* Hard links. */ { /* File onto self. */ ASSERT (func (BASE "file", BASE "file") == 0); memset (&st, 0, sizeof st); ASSERT (stat (BASE "file", &st) == 0); ASSERT (st.st_size == 2); } /* Files present here: {BASE}file {BASE}dir/ */ { /* Empty dir onto self. */ ASSERT (func (BASE "dir", BASE "dir") == 0); ASSERT (stat (BASE "dir", &st) == 0); } /* Files present here: {BASE}file {BASE}dir/ */ ASSERT (close (creat (BASE "dir/file", 0600)) == 0); /* Files present here: {BASE}file {BASE}dir/ {BASE}dir/file */ { /* Full dir onto self. */ ASSERT (func (BASE "dir", BASE "dir") == 0); } ASSERT (unlink (BASE "dir/file") == 0); /* Files present here: {BASE}file {BASE}dir/ */ { /* Not all file systems support link. Mingw doesn't have reliable st_nlink on hard links, but our implementation does fail with EPERM on poor file systems, and we can detect the inferior stat() via st_ino. Cygwin 1.5.x copies rather than links files on those file systems, but there, st_nlink and st_ino are reliable. */ int ret = link (BASE "file", BASE "file2"); if (!ret) { memset (&st, 0, sizeof st); ASSERT (stat (BASE "file2", &st) == 0); if (st.st_ino && st.st_nlink != 2) { ASSERT (unlink (BASE "file2") == 0); errno = EPERM; ret = -1; } } if (ret == -1) { /* If the device does not support hard links, errno is EPERM on Linux, EOPNOTSUPP on FreeBSD. */ switch (errno) { case EPERM: case EOPNOTSUPP: if (print) fputs ("skipping test: " "hard links not supported on this file system\n", stderr); ASSERT (unlink (BASE "file") == 0); ASSERT (rmdir (BASE "dir") == 0); return 77; default: perror ("link"); return 1; } } ASSERT (ret == 0); } /* Files present here: {BASE}file {BASE}file2 (hard link to file) {BASE}dir/ */ { /* File onto hard link. */ ASSERT (func (BASE "file", BASE "file2") == 0); memset (&st, 0, sizeof st); ASSERT (stat (BASE "file", &st) == 0); ASSERT (st.st_size == 2); memset (&st, 0, sizeof st); ASSERT (stat (BASE "file2", &st) == 0); ASSERT (st.st_size == 2); } /* Files present here: {BASE}file {BASE}file2 {BASE}dir/ */ ASSERT (unlink (BASE "file2") == 0); /* Files present here: {BASE}file {BASE}dir/ */ /* Symlinks. */ if (symlink (BASE "file", BASE "link1")) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); ASSERT (unlink (BASE "file") == 0); ASSERT (rmdir (BASE "dir") == 0); return 77; } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ { /* Simple rename. */ ASSERT (func (BASE "link1", BASE "link2") == 0); ASSERT (stat (BASE "file", &st) == 0); errno = 0; ASSERT (lstat (BASE "link1", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } /* Files present here: {BASE}file {BASE}link2 -> {BASE}file {BASE}dir/ */ { /* Overwrite. */ ASSERT (symlink (BASE "nowhere", BASE "link1") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}nowhere {BASE}link2 -> {BASE}file {BASE}dir/ */ { ASSERT (func (BASE "link2", BASE "link1") == 0); memset (&st, 0, sizeof st); ASSERT (stat (BASE "link1", &st) == 0); ASSERT (st.st_size == 2); errno = 0; ASSERT (lstat (BASE "link2", &st) == -1); ASSERT (errno == ENOENT); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ { /* Symlink loop. */ ASSERT (symlink (BASE "link2", BASE "link2") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}link2 {BASE}dir/ */ { ASSERT (func (BASE "link2", BASE "link2") == 0); } { errno = 0; ASSERT (func (BASE "link2/", BASE "link2") == -1); ASSERT (errno == ELOOP || errno == ENOTDIR); } ASSERT (func (BASE "link2", BASE "link3") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link3 -> {BASE}link2 {BASE}dir/ */ ASSERT (unlink (BASE "link3") == 0); } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ { /* Dangling link. */ ASSERT (symlink (BASE "nowhere", BASE "link2") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}nowhere {BASE}dir/ */ { ASSERT (func (BASE "link2", BASE "link3") == 0); errno = 0; ASSERT (lstat (BASE "link2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link3", &st) == 0); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link3 -> {BASE}nowhere {BASE}dir/ */ { /* Trailing slash on dangling. */ { errno = 0; ASSERT (func (BASE "link3/", BASE "link2") == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "link3", BASE "link2/") == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); } { errno = 0; ASSERT (lstat (BASE "link2", &st) == -1); ASSERT (errno == ENOENT); } memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link3", &st) == 0); } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link3 -> {BASE}nowhere {BASE}dir/ */ { /* Trailing slash on link to file. */ { errno = 0; ASSERT (func (BASE "link1/", BASE "link2") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "link1", BASE "link3/") == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link3 -> {BASE}nowhere {BASE}dir/ */ /* Mixing symlink and file. */ { /* File onto link. */ ASSERT (close (creat (BASE "file2", 0600)) == 0); /* Files present here: {BASE}file {BASE}file2 {BASE}link1 -> {BASE}file {BASE}link3 -> {BASE}nowhere {BASE}dir/ */ { ASSERT (func (BASE "file2", BASE "link3") == 0); errno = 0; ASSERT (stat (BASE "file2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link3", &st) == 0); ASSERT (S_ISREG (st.st_mode)); } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link3 {BASE}dir/ */ ASSERT (unlink (BASE "link3") == 0); } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ { /* Link onto file. */ ASSERT (symlink (BASE "nowhere", BASE "link2") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}nowhere {BASE}dir/ */ ASSERT (close (creat (BASE "file2", 0600)) == 0); /* Files present here: {BASE}file {BASE}file2 {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}nowhere {BASE}dir/ */ { ASSERT (func (BASE "link2", BASE "file2") == 0); errno = 0; ASSERT (lstat (BASE "link2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "file2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } /* Files present here: {BASE}file {BASE}file2 -> {BASE}nowhere {BASE}link1 -> {BASE}file {BASE}dir/ */ ASSERT (unlink (BASE "file2") == 0); } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ { /* Trailing slash. */ { errno = 0; ASSERT (func (BASE "file/", BASE "link1") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "file", BASE "link1/") == -1); ASSERT (errno == ENOTDIR || errno == ENOENT); } { errno = 0; ASSERT (func (BASE "link1/", BASE "file") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "link1", BASE "file/") == -1); ASSERT (errno == ENOTDIR || errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "file", &st) == 0); ASSERT (S_ISREG (st.st_mode)); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link1", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ /* Mixing symlink and directory. */ { /* Directory onto link. */ { errno = 0; ASSERT (func (BASE "dir", BASE "link1") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "dir/", BASE "link1") == -1); ASSERT (errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "dir", BASE "link1/") == -1); ASSERT (errno == ENOTDIR); } } { /* Link onto directory. */ { errno = 0; ASSERT (func (BASE "link1", BASE "dir") == -1); ASSERT (errno == EISDIR || errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "link1", BASE "dir/") == -1); ASSERT (errno == EISDIR || errno == ENOTDIR); } { errno = 0; ASSERT (func (BASE "link1/", BASE "dir") == -1); ASSERT (errno == ENOTDIR); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link1", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "dir", &st) == 0); ASSERT (S_ISDIR (st.st_mode)); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}dir/ */ /* POSIX requires rename("link-to-dir/","other") to rename "dir" and leave "link-to-dir" dangling, but GNU rejects this. POSIX requires rename("dir","dangling/") to create the directory so that "dangling/" now resolves, but GNU rejects this. While we prefer GNU behavior, we don't enforce it. However, we do test that the system either follows POSIX in both cases, or follows GNU. */ { int result; ASSERT (symlink (BASE "dir2", BASE "link2") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}dir2 {BASE}dir/ */ errno = 0; result = func (BASE "dir", BASE "link2/"); if (result == 0) { /* POSIX. */ errno = 0; ASSERT (lstat (BASE "dir", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "dir2", &st) == 0); ASSERT (S_ISDIR (st.st_mode)); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}dir2 {BASE}dir2/ */ { ASSERT (func (BASE "link2/", BASE "dir") == 0); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "dir", &st) == 0); ASSERT (S_ISDIR (st.st_mode)); errno = 0; ASSERT (lstat (BASE "dir2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } } else { /* GNU. */ ASSERT (result == -1); ASSERT (errno == ENOTDIR); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "dir", &st) == 0); ASSERT (S_ISDIR (st.st_mode)); errno = 0; ASSERT (lstat (BASE "dir2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); ASSERT (unlink (BASE "link2") == 0); ASSERT (symlink (BASE "dir", BASE "link2") == 0); /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}dir {BASE}dir/ */ errno = 0; /* OpenBSD notices that link2/ and dir are the same. */ result = func (BASE "link2/", BASE "dir"); if (result) /* GNU/Linux rejects attempts to use link2/. */ { ASSERT (result == -1); ASSERT (errno == ENOTDIR || errno == EISDIR); } memset (&st, 0, sizeof st); ASSERT (lstat (BASE "dir", &st) == 0); ASSERT (S_ISDIR (st.st_mode)); errno = 0; ASSERT (lstat (BASE "dir2", &st) == -1); ASSERT (errno == ENOENT); memset (&st, 0, sizeof st); ASSERT (lstat (BASE "link2", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } } /* Files present here: {BASE}file {BASE}link1 -> {BASE}file {BASE}link2 -> {BASE}dir or {BASE}dir2 {BASE}dir/ */ /* Clean up. */ ASSERT (unlink (BASE "file") == 0); ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "link1") == 0); ASSERT (unlink (BASE "link2") == 0); return 0; } coreutils-8.21/gnulib-tests/test-frexp.c0000664000000000000000000000365612071024546015246 00000000000000/* Test of splitting a double into fraction and mantissa. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (frexp, double, (double, int *)); #include #include "isnand-nolibm.h" #include "minus-zero.h" #include "infinity.h" #include "nan.h" #include "macros.h" /* Avoid some warnings from "gcc -Wshadow". This file doesn't use the exp() function. */ #undef exp #define exp exponent #undef INFINITY #undef NAN #define DOUBLE double /* The use of 'volatile' guarantees that excess precision bits are dropped when dealing with denormalized numbers. It is necessary on x86 systems where double-floats are not IEEE compliant by default, to avoid that the results become platform and compiler option dependent. 'volatile' is a portable alternative to gcc's -ffloat-store option. */ #define VOLATILE volatile #define ISNAN isnand #define INFINITY Infinityd () #define NAN NaNd () #define L_(literal) literal #define MINUS_ZERO minus_zerod #define MAX_EXP DBL_MAX_EXP #define MIN_EXP DBL_MIN_EXP #define MIN_NORMAL_EXP DBL_MIN_EXP #define FREXP frexp #define RANDOM randomd #include "test-frexp.h" int main () { test_function (); return 0; } coreutils-8.21/gnulib-tests/test-xalloc-die.sh0000775000000000000000000000210612071024546016323 00000000000000#!/bin/sh # Test suite for xalloc_die. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . test-xalloc-die${EXEEXT} > out 2> err case $? in 1) ;; *) Exit 1;; esac tr -d '\015' < err \ | sed 's,.*test-xalloc-die[.ex]*:,test-xalloc-die:,' > err2 || Exit 1 compare - err2 <<\EOF || Exit 1 test-xalloc-die: memory exhausted EOF test -s out && Exit 1 Exit $fail coreutils-8.21/gnulib-tests/test-mkfifo.c0000664000000000000000000000240612071024546015365 00000000000000/* Tests of mkfifo. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (mkfifo, int, (char const *, mode_t)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-mkfifo.t" #include "test-mkfifo.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_mkfifo (mkfifo, true); } coreutils-8.21/gnulib-tests/test-vfprintf-posix.sh0000775000000000000000000000060011624730157017302 00000000000000#!/bin/sh tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles t-vfprintf-posix.tmp t-vfprintf-posix.out" ./test-vfprintf-posix${EXEEXT} > t-vfprintf-posix.tmp || exit 1 LC_ALL=C tr -d '\r' < t-vfprintf-posix.tmp > t-vfprintf-posix.out || exit 1 : ${DIFF=diff} ${DIFF} "${srcdir}/test-printf-posix.output" t-vfprintf-posix.out result=$? rm -fr $tmpfiles exit $result coreutils-8.21/gnulib-tests/test-xfprintf-posix.c0000664000000000000000000000221312071024546017106 00000000000000/* Test of error-checking xfprintf() function with POSIX compatible formatting. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "xprintf.h" #include #include #include #include #include "progname.h" #include "macros.h" #include "test-fprintf-posix.h" int main (int argc _GL_UNUSED, char *argv[]) { set_program_name (argv[0]); test_function (xfprintf); return 0; } coreutils-8.21/gnulib-tests/test-pipe.c0000664000000000000000000000530312071024546015046 00000000000000/* Test of pipe. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (pipe, int, (int[2])); #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #include "binary-io.h" #include "macros.h" /* Return true if FD is open. */ static bool is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } /* Return true if FD is not inherited to child processes. */ static bool is_cloexec (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; ASSERT (GetHandleInformation (h, &flags)); return (flags & HANDLE_FLAG_INHERIT) == 0; #else int flags; ASSERT ((flags = fcntl (fd, F_GETFD)) >= 0); return (flags & FD_CLOEXEC) != 0; #endif } /* Return true if FD is in non-blocking mode. */ static bool is_nonblocking (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* We don't use the non-blocking mode for sockets here. */ return 0; #else int flags; ASSERT ((flags = fcntl (fd, F_GETFL)) >= 0); return (flags & O_NONBLOCK) != 0; #endif } int main () { int fd[2]; fd[0] = -1; fd[1] = -1; ASSERT (pipe (fd) >= 0); ASSERT (fd[0] >= 0); ASSERT (fd[1] >= 0); ASSERT (fd[0] != fd[1]); ASSERT (is_open (fd[0])); ASSERT (is_open (fd[1])); ASSERT (!is_cloexec (fd[0])); ASSERT (!is_cloexec (fd[1])); ASSERT (!is_nonblocking (fd[0])); ASSERT (!is_nonblocking (fd[1])); return 0; } coreutils-8.21/gnulib-tests/test-isblank.c0000664000000000000000000000304712071024546015537 00000000000000/* Test of isblank() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (isblank, int, (int)); #include #include #include "macros.h" int main (int argc, char *argv[]) { unsigned int c; /* Verify the property in the "C" locale. POSIX specifies in that - in all locales, the blank characters include the and characters, - in the "POSIX" locale (which is usually the same as the "C" locale), the blank characters include only the ASCII and characters. */ for (c = 0; c <= UCHAR_MAX; c++) ASSERT (!isblank (c) == !(c == ' ' || c == '\t')); ASSERT (!isblank (EOF)); return 0; } coreutils-8.21/gnulib-tests/test-select-stdin.c0000664000000000000000000000433212071024546016510 00000000000000/* Test of select() substitute, reading from stdin. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include #include #include #include #include "macros.h" int main (void) { printf ("Applying select() from standard input. Press Ctrl-C to abort.\n"); for (;;) { struct timeval before; struct timeval after; unsigned long spent_usec; fd_set readfds; struct timeval timeout; int ret; gettimeofday (&before, NULL); FD_ZERO (&readfds); FD_SET (0, &readfds); timeout.tv_sec = 0; timeout.tv_usec = 500000; ret = select (1, &readfds, NULL, NULL, &timeout); gettimeofday (&after, NULL); spent_usec = (after.tv_sec - before.tv_sec) * 1000000 + after.tv_usec - before.tv_usec; if (ret < 0) { perror ("select failed"); exit (1); } if ((ret == 0) != ! FD_ISSET (0, &readfds)) { fprintf (stderr, "incorrect return value\n"); exit (1); } if (ret == 0) { if (spent_usec < 250000) { fprintf (stderr, "returned too early\n"); exit (1); } /* Timeout */ printf ("."); ASSERT (fflush (stdout) == 0); } else { char c; printf ("Input available! Trying to read 1 byte...\n"); ASSERT (read (0, &c, 1) == 1); } } } coreutils-8.21/gnulib-tests/test-uname.c0000664000000000000000000000375012071024546015222 00000000000000/* Test of system information. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (uname, int, (struct utsname *)); #include #include #include "macros.h" /* This program can be called with no arguments, then it performs a unit test. Or it can be called with 1 argument, then it prints the uname contents to standard output. */ int main (int argc, char *argv[]) { struct utsname buf; memset (&buf, '?', sizeof (buf)); ASSERT (uname (&buf) >= 0); /* Verify that every field's value is NUL terminated. */ ASSERT (strlen (buf.sysname) < sizeof (buf.sysname)); ASSERT (strlen (buf.nodename) < sizeof (buf.nodename)); ASSERT (strlen (buf.release) < sizeof (buf.release)); ASSERT (strlen (buf.version) < sizeof (buf.version)); ASSERT (strlen (buf.machine) < sizeof (buf.machine)); if (argc > 1) { /* Show the result. */ printf ("uname -n = nodename = %s\n", buf.nodename); printf ("uname -s = sysname = %s\n", buf.sysname); printf ("uname -r = release = %s\n", buf.release); printf ("uname -v = version = %s\n", buf.version); printf ("uname -m = machine or cpu = %s\n", buf.machine); } return 0; } coreutils-8.21/gnulib-tests/test-fseeko3.c0000664000000000000000000000240412071024546015447 00000000000000/* Test of fseeko() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2011. */ #include #include #include #include "macros.h" int main (int argc, char **argv) { int do_initial_ftell = atoi (argv[1]); const char *filename = argv[2]; FILE *fp = fopen (filename, "r"); ASSERT (fp != NULL); if (do_initial_ftell) { off_t pos = ftell (fp); ASSERT (pos == 0); } ASSERT (fseeko (fp, 0, SEEK_END) == 0); { off_t pos = ftell (fp); ASSERT (pos > 0); } ASSERT (fclose (fp) == 0); return 0; } coreutils-8.21/gnulib-tests/test-version-etc.sh0000775000000000000000000000261212071024546016542 00000000000000#! /bin/sh # Test suite for version-etc. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . TMP=ve-expected.tmp LC_ALL=C export LC_ALL ERR=0 cat > $TMP <. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Sergey Poznyakoff and Eric Blake. EOT ./test-version-etc${EXEEXT} --version | sed '1s/test-version-etc (.*) .*/test-version-etc (PROJECT) VERSION/ /^Packaged by/d 2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' | tr -d '\015' | diff -c $TMP - || ERR=1 rm $TMP exit $ERR coreutils-8.21/gnulib-tests/test-posix_spawn2.in.sh0000664000000000000000000000006111624727635017352 00000000000000#!/bin/sh read line test "$line" = "Halle Potta" coreutils-8.21/gnulib-tests/test-open.h0000664000000000000000000000566112071024546015066 00000000000000/* Test of opening a file descriptor. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ /* This file is designed to test both open(n,buf[,mode]) and openat(AT_FDCWD,n,buf[,mode]). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_open (int (*func) (char const *, int, ...), bool print) { int fd; /* Remove anything from prior partial run. */ unlink (BASE "file"); /* Cannot create directory. */ errno = 0; ASSERT (func ("nonexist.ent/", O_CREAT | O_RDONLY, 0600) == -1); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT || errno == EINVAL); /* Create a regular file. */ fd = func (BASE "file", O_CREAT | O_RDONLY, 0600); ASSERT (0 <= fd); ASSERT (close (fd) == 0); /* Trailing slash handling. */ errno = 0; ASSERT (func (BASE "file/", O_RDONLY) == -1); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL); /* Directories cannot be opened for writing. */ errno = 0; ASSERT (func (".", O_WRONLY) == -1); ASSERT (errno == EISDIR || errno == EACCES); /* /dev/null must exist, and be writable. */ fd = func ("/dev/null", O_RDONLY); ASSERT (0 <= fd); { char c; ASSERT (read (fd, &c, 1) == 0); } ASSERT (close (fd) == 0); fd = func ("/dev/null", O_WRONLY); ASSERT (0 <= fd); ASSERT (write (fd, "c", 1) == 1); ASSERT (close (fd) == 0); /* Although O_NONBLOCK on regular files can be ignored, it must not cause a failure. */ fd = func (BASE "file", O_NONBLOCK | O_RDONLY); ASSERT (0 <= fd); ASSERT (close (fd) == 0); /* Symlink handling, where supported. */ if (symlink (BASE "file", BASE "link") != 0) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; ASSERT (func (BASE "link/", O_RDONLY) == -1); ASSERT (errno == ENOTDIR); fd = func (BASE "link", O_RDONLY); ASSERT (0 <= fd); ASSERT (close (fd) == 0); /* Cleanup. */ ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-printf-frexpl.c0000664000000000000000000001010512071024546016705 00000000000000/* Test of splitting a 'long double' into fraction and mantissa. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "printf-frexpl.h" #include #include "fpucw.h" #include "macros.h" /* On MIPS IRIX machines, LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' is -964. Similarly, on PowerPC machines, LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double' is -968. For exponents below that, the precision may be truncated to the precision used for 'double'. */ #ifdef __sgi # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57) # define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP #elif defined __ppc || defined __ppc__ || defined __powerpc || defined __powerpc__ # define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53) # define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP #else # define MIN_NORMAL_EXP LDBL_MIN_EXP # define MIN_SUBNORMAL_EXP (LDBL_MIN_EXP - 100) #endif static long double my_ldexp (long double x, int d) { for (; d > 0; d--) x *= 2.0L; for (; d < 0; d++) x *= 0.5L; return x; } int main () { int i; long double x; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.0L); } for (i = 1, x = 1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.0L); } for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == LDBL_MIN_EXP - 1); ASSERT (mantissa == my_ldexp (1.0L, i - LDBL_MIN_EXP)); } for (i = 1, x = 1.01L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.01L); } for (i = 1, x = 1.01L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.01L); } for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == LDBL_MIN_EXP - 1); ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP)); ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP)); ASSERT (mantissa == my_ldexp (x, - exp)); } for (i = 1, x = 1.73205L; i <= LDBL_MAX_EXP; i++, x *= 2.0L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.73205L); } for (i = 1, x = 1.73205L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == i - 1); ASSERT (mantissa == 1.73205L); } for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L) { int exp = -9999; long double mantissa = printf_frexpl (x, &exp); ASSERT (exp == LDBL_MIN_EXP - 1); ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP)); ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP)); ASSERT (mantissa == my_ldexp (x, - exp)); } return 0; } coreutils-8.21/gnulib-tests/test-c-ctype.c0000664000000000000000000002605312071024546015462 00000000000000/* Test of character handling in C locale. Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ #include #include "c-ctype.h" #include #include "macros.h" static void test_all (void) { int c; for (c = -0x80; c < 0x100; c++) { ASSERT (c_isascii (c) == (c >= 0 && c < 0x80)); switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': ASSERT (c_isalnum (c) == 1); break; default: ASSERT (c_isalnum (c) == 0); break; } switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': ASSERT (c_isalpha (c) == 1); break; default: ASSERT (c_isalpha (c) == 0); break; } switch (c) { case '\t': case ' ': ASSERT (c_isblank (c) == 1); break; default: ASSERT (c_isblank (c) == 0); break; } ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f)); switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': ASSERT (c_isdigit (c) == 1); break; default: ASSERT (c_isdigit (c) == 0); break; } switch (c) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': ASSERT (c_islower (c) == 1); break; default: ASSERT (c_islower (c) == 0); break; } ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' ')); ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f)); ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c))); switch (c) { case ' ': case '\t': case '\n': case '\v': case '\f': case '\r': ASSERT (c_isspace (c) == 1); break; default: ASSERT (c_isspace (c) == 0); break; } switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': ASSERT (c_isupper (c) == 1); break; default: ASSERT (c_isupper (c) == 0); break; } switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': ASSERT (c_isxdigit (c) == 1); break; default: ASSERT (c_isxdigit (c) == 0); break; } switch (c) { case 'A': ASSERT (c_tolower (c) == 'a'); ASSERT (c_toupper (c) == c); break; case 'B': ASSERT (c_tolower (c) == 'b'); ASSERT (c_toupper (c) == c); break; case 'C': ASSERT (c_tolower (c) == 'c'); ASSERT (c_toupper (c) == c); break; case 'D': ASSERT (c_tolower (c) == 'd'); ASSERT (c_toupper (c) == c); break; case 'E': ASSERT (c_tolower (c) == 'e'); ASSERT (c_toupper (c) == c); break; case 'F': ASSERT (c_tolower (c) == 'f'); ASSERT (c_toupper (c) == c); break; case 'G': ASSERT (c_tolower (c) == 'g'); ASSERT (c_toupper (c) == c); break; case 'H': ASSERT (c_tolower (c) == 'h'); ASSERT (c_toupper (c) == c); break; case 'I': ASSERT (c_tolower (c) == 'i'); ASSERT (c_toupper (c) == c); break; case 'J': ASSERT (c_tolower (c) == 'j'); ASSERT (c_toupper (c) == c); break; case 'K': ASSERT (c_tolower (c) == 'k'); ASSERT (c_toupper (c) == c); break; case 'L': ASSERT (c_tolower (c) == 'l'); ASSERT (c_toupper (c) == c); break; case 'M': ASSERT (c_tolower (c) == 'm'); ASSERT (c_toupper (c) == c); break; case 'N': ASSERT (c_tolower (c) == 'n'); ASSERT (c_toupper (c) == c); break; case 'O': ASSERT (c_tolower (c) == 'o'); ASSERT (c_toupper (c) == c); break; case 'P': ASSERT (c_tolower (c) == 'p'); ASSERT (c_toupper (c) == c); break; case 'Q': ASSERT (c_tolower (c) == 'q'); ASSERT (c_toupper (c) == c); break; case 'R': ASSERT (c_tolower (c) == 'r'); ASSERT (c_toupper (c) == c); break; case 'S': ASSERT (c_tolower (c) == 's'); ASSERT (c_toupper (c) == c); break; case 'T': ASSERT (c_tolower (c) == 't'); ASSERT (c_toupper (c) == c); break; case 'U': ASSERT (c_tolower (c) == 'u'); ASSERT (c_toupper (c) == c); break; case 'V': ASSERT (c_tolower (c) == 'v'); ASSERT (c_toupper (c) == c); break; case 'W': ASSERT (c_tolower (c) == 'w'); ASSERT (c_toupper (c) == c); break; case 'X': ASSERT (c_tolower (c) == 'x'); ASSERT (c_toupper (c) == c); break; case 'Y': ASSERT (c_tolower (c) == 'y'); ASSERT (c_toupper (c) == c); break; case 'Z': ASSERT (c_tolower (c) == 'z'); ASSERT (c_toupper (c) == c); break; case 'a': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'A'); break; case 'b': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'B'); break; case 'c': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'C'); break; case 'd': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'D'); break; case 'e': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'E'); break; case 'f': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'F'); break; case 'g': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'G'); break; case 'h': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'H'); break; case 'i': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'I'); break; case 'j': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'J'); break; case 'k': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'K'); break; case 'l': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'L'); break; case 'm': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'M'); break; case 'n': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'N'); break; case 'o': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'O'); break; case 'p': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'P'); break; case 'q': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'Q'); break; case 'r': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'R'); break; case 's': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'S'); break; case 't': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'T'); break; case 'u': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'U'); break; case 'v': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'V'); break; case 'w': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'W'); break; case 'x': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'X'); break; case 'y': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'Y'); break; case 'z': ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == 'Z'); break; default: ASSERT (c_tolower (c) == c); ASSERT (c_toupper (c) == c); break; } } } int main () { test_all (); setlocale (LC_ALL, "de_DE"); test_all (); setlocale (LC_ALL, "ja_JP.EUC-JP"); test_all (); return 0; } coreutils-8.21/gnulib-tests/test-posix_spawn_file_actions_addclose.c0000664000000000000000000000251712071024546023044 00000000000000/* Test posix_spawn_file_actions_addclose() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *, int)); #include #include "macros.h" int main (void) { posix_spawn_file_actions_t actions; ASSERT (posix_spawn_file_actions_init (&actions) == 0); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (posix_spawn_file_actions_addclose (&actions, -1) == EBADF); } { errno = 0; ASSERT (posix_spawn_file_actions_addclose (&actions, 10000000) == EBADF); } return 0; } coreutils-8.21/gnulib-tests/pipe.c0000664000000000000000000000252312071561002014063 00000000000000/* Create a pipe. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include /* Specification. */ #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ /* Get _pipe(). */ # include /* Get _O_BINARY. */ # include int pipe (int fd[2]) { /* Mingw changes fd to {-1,-1} on failure, but this violates http://austingroupbugs.net/view.php?id=467 */ int tmp[2]; int result = _pipe (tmp, 4096, _O_BINARY); if (!result) { fd[0] = tmp[0]; fd[1] = tmp[1]; } return result; } #else # error "This platform lacks a pipe function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." #endif coreutils-8.21/gnulib-tests/test-vfprintf-posix.c0000664000000000000000000000250012071024546017103 00000000000000/* Test of POSIX compatible vfprintf() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (vfprintf, int, (FILE *, char const *, va_list)); #include #include #include #include #include "macros.h" #include "test-fprintf-posix.h" static int my_fprintf (FILE *fp, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vfprintf (fp, format, args); va_end (args); return ret; } int main (int argc, char *argv[]) { test_function (my_fprintf); return 0; } coreutils-8.21/gnulib-tests/test-strncat.c0000664000000000000000000000446312071024546015575 00000000000000/* Test of strncat() function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include #include #include "signature.h" SIGNATURE_CHECK (strncat, char *, (char *, const char *, size_t)); #include #include "zerosize-ptr.h" #include "macros.h" #define UNIT char #define U_STRNCAT strncat #define MAGIC ((char) 0xBA) #include "unistr/test-strncat.h" int main () { /* Simple string. */ { /* "Grüß Gott. ЗдравÑтвуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" in UTF-8 encoding. */ static const char input[] = { 'G', 'r', (char) 0xC3, (char) 0xBC, (char) 0xC3, (char) 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', (char) 0xD0, (char) 0x97, (char) 0xD0, (char) 0xB4, (char) 0xD1, (char) 0x80, (char) 0xD0, (char) 0xB0, (char) 0xD0, (char) 0xB2, (char) 0xD1, (char) 0x81, (char) 0xD1, (char) 0x82, (char) 0xD0, (char) 0xB2, (char) 0xD1, (char) 0x83, (char) 0xD0, (char) 0xB9, (char) 0xD1, (char) 0x82, (char) 0xD0, (char) 0xB5, '!', ' ', 'x', '=', '(', '-', 'b', (char) 0xC2, (char) 0xB1, 's', 'q', 'r', 't', '(', 'b', (char) 0xC2, (char) 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', ' ', ' ', (char) 0xE6, (char) 0x97, (char) 0xA5, (char) 0xE6, (char) 0x9C, (char) 0xAC, (char) 0xE8, (char) 0xAA, (char) 0x9E, ',', (char) 0xE4, (char) 0xB8, (char) 0xAD, (char) 0xE6, (char) 0x96, (char) 0x87, ',', (char) 0xED, (char) 0x95, (char) 0x9C, (char) 0xEA, (char) 0xB8, (char) 0x80, '\0' }; check (input, SIZEOF (input)); } return 0; } coreutils-8.21/gnulib-tests/test-stdbool.c0000664000000000000000000000666012071024546015566 00000000000000/* Test of substitute. Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ /* We want this test to succeed even when using gcc's -Werror; but to do that requires a pragma that didn't exist before 4.3.0. */ #ifndef __GNUC__ # define ADDRESS_CHECK_OKAY #elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) /* No way to silence -Waddress. */ #else # pragma GCC diagnostic ignored "-Waddress" # define ADDRESS_CHECK_OKAY #endif #include #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif /* Several tests cannot be guaranteed with gnulib's , at least, not for all compilers and compiler options. */ #if HAVE_STDBOOL_H || 3 <= __GNUC__ struct s { _Bool s: 1; _Bool t; } s; #endif char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; #if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ char d[(bool) 0.5 == true ? 1 : -1]; # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */ /* C99 may plausibly be interpreted as not requiring support for a cast from a variable's address to bool in a static initializer. So treat it like a GCC extension. */ # ifdef __GNUC__ bool e = &s; # endif # endif char f[(_Bool) 0.0 == false ? 1 : -1]; #endif char g[true]; char h[sizeof (_Bool)]; #if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ char i[sizeof s.t]; #endif enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { int error = 0; #if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */ # ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */ /* A cast from a variable's address to bool is valid in expressions. */ { bool e1 = &s; if (!e1) error = 1; } # endif #endif /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This is a runtime test, since a corresponding compile-time test would rely on initializer extensions. */ { char digs[] = "0123456789"; if (&(digs + 5)[-2 + (bool) 1] != &digs[4]) error = 1; } return error; } coreutils-8.21/gnulib-tests/test-fsync.c0000664000000000000000000000414112100637437015234 00000000000000/* Test of fsync() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fsync, int, (int)); #include #include #include "macros.h" int main (void) { int fd; const char *file = "test-fsync.txt"; /* Assuming stdin and stdout are ttys, fsync is allowed to fail, but may succeed as an extension. */ for (fd = 0; fd < 2; fd++) if (fsync (fd) != 0) { ASSERT (errno == EINVAL /* POSIX */ || errno == ENOTSUP /* seen on Mac OS X 10.5 */ || errno == EBADF /* seen on AIX 7.1 */ || errno == EIO /* seen on mingw */ ); } /* fsync must fail on invalid fd. */ { errno = 0; ASSERT (fsync (-1) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fsync (99) == -1); ASSERT (errno == EBADF); } fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); ASSERT (write (fd, "hello", 5) == 5); ASSERT (fsync (fd) == 0); ASSERT (close (fd) == 0); /* For a read-only regular file input file descriptor, fsync should succeed (since at least atime changes can be synchronized). */ fd = open (file, O_RDONLY); ASSERT (0 <= fd); { char buf[1]; ASSERT (read (fd, buf, sizeof buf) == sizeof buf); } ASSERT (fsync (fd) == 0); ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/symlinkat.c0000664000000000000000000000450412071024546015151 00000000000000/* Create a symlink relative to an open directory. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Eric Blake */ #include #include #if !HAVE_SYMLINK /* Mingw lacks symlink, and it is more efficient to provide a trivial wrapper than to go through at-func.c to call rpl_symlink. */ # include int symlinkat (char const *path1 _GL_UNUSED, int fd _GL_UNUSED, char const *path2 _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_SYMLINK */ /* Our openat helper functions expect the directory parameter first, not second. These shims make life easier. */ /* Like symlink, but with arguments reversed. */ static int symlink_reversed (char const *file, char const *contents) { return symlink (contents, file); } /* Like symlinkat, but with arguments reversed. */ static int symlinkat_reversed (int fd, char const *file, char const *contents); # define AT_FUNC_NAME symlinkat_reversed # define AT_FUNC_F1 symlink_reversed # define AT_FUNC_POST_FILE_PARAM_DECLS , char const *contents # define AT_FUNC_POST_FILE_ARGS , contents # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS /* Create a symlink FILE, in the directory open on descriptor FD, holding CONTENTS. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then symlink/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ int symlinkat (char const *contents, int fd, char const *file) { return symlinkat_reversed (fd, file, contents); } #endif /* HAVE_SYMLINK */ coreutils-8.21/gnulib-tests/test-xstrtol.sh0000775000000000000000000000326711777552746016056 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . too_big=99999999999999999999999999999999999999999999999999999999999999999999 result=0 # test xstrtol test-xstrtol 1 >> out 2>&1 || result=1 test-xstrtol -1 >> out 2>&1 || result=1 test-xstrtol 1k >> out 2>&1 || result=1 test-xstrtol ${too_big}h >> out 2>&1 && result=1 test-xstrtol $too_big >> out 2>&1 && result=1 test-xstrtol x >> out 2>&1 && result=1 test-xstrtol 9x >> out 2>&1 && result=1 test-xstrtol 010 >> out 2>&1 || result=1 # suffix without integer is valid test-xstrtol MiB >> out 2>&1 || result=1 # test xstrtoul test-xstrtoul 1 >> out 2>&1 || result=1 test-xstrtoul -1 >> out 2>&1 && result=1 test-xstrtoul 1k >> out 2>&1 || result=1 test-xstrtoul ${too_big}h >> out 2>&1 && result=1 test-xstrtoul $too_big >> out 2>&1 && result=1 test-xstrtoul x >> out 2>&1 && result=1 test-xstrtoul 9x >> out 2>&1 && result=1 test-xstrtoul 010 >> out 2>&1 || result=1 test-xstrtoul MiB >> out 2>&1 || result=1 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. if echo solaris | tr -d '\r' | grep solais > /dev/null; then cr='\015' else cr='\r' fi # normalize output LC_ALL=C tr -d "$cr" < out > k mv k out # compare expected output cat > expected <1 () -1->-1 () 1k->1024 () invalid suffix in X argument '${too_big}h' X argument '$too_big' too large invalid X argument 'x' invalid suffix in X argument '9x' 010->8 () MiB->1048576 () 1->1 () invalid X argument '-1' 1k->1024 () invalid suffix in X argument '${too_big}h' X argument '$too_big' too large invalid X argument 'x' invalid suffix in X argument '9x' 010->8 () MiB->1048576 () EOF compare expected out || result=1 Exit $result coreutils-8.21/gnulib-tests/test-netdb.c0000664000000000000000000000200412071024546015200 00000000000000/* Test of substitute. Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson , 2008. */ #include #include /* Check that the 'struct hostent' type is defined. */ struct hostent t1; /* Check that the 'socklen_t' type is defined. */ socklen_t t2; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-netinet_in.c0000664000000000000000000000156512071024546016253 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-strtoumax.c0000664000000000000000000001017312071024546016160 00000000000000/* * Copyright (C) 2011-2013 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" #ifndef strtoumax SIGNATURE_CHECK (strtoumax, uintmax_t, (const char *, char **, int)); #endif #include #include "macros.h" int main (void) { /* Subject sequence empty or invalid. */ { const char input[] = ""; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " "; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " -"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } /* Simple integer values. */ { const char input[] = "0"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "+0"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-0"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "23"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = " 23"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "+23"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "-23"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == - (uintmax_t) 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } /* Large integer values. */ { const char input[] = "2147483647"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 2147483647); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "-2147483648"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == - (uintmax_t) 2147483648U); ASSERT (ptr == input + 11); ASSERT (errno == 0); } { const char input[] = "4294967295"; char *ptr; uintmax_t result; errno = 0; result = strtoumax (input, &ptr, 10); ASSERT (result == 4294967295U); ASSERT (ptr == input + 10); ASSERT (errno == 0); } return 0; } coreutils-8.21/gnulib-tests/test-fopen.h0000664000000000000000000000411312071024546015223 00000000000000/* Test of opening a file stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ /* Include and a form of first. */ #include #include #include "macros.h" /* Test fopen. Assumes BASE is defined. */ static int test_fopen (void) { FILE *f; /* Remove anything from prior partial run. */ unlink (BASE "file"); /* Read requires existing file. */ errno = 0; ASSERT (fopen (BASE "file", "r") == NULL); ASSERT (errno == ENOENT); /* Write can create a file. */ f = fopen (BASE "file", "w"); ASSERT (f); ASSERT (fclose (f) == 0); /* Trailing slash is invalid on non-directory. */ errno = 0; ASSERT (fopen (BASE "file/", "r") == NULL); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL); /* Cannot create a directory. */ errno = 0; ASSERT (fopen ("nonexist.ent/", "w") == NULL); ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT || errno == EINVAL); /* Directories cannot be opened for writing. */ errno = 0; ASSERT (fopen (".", "w") == NULL); ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES); /* /dev/null must exist, and be writable. */ f = fopen ("/dev/null", "r"); ASSERT (f); ASSERT (fclose (f) == 0); f = fopen ("/dev/null", "w"); ASSERT (f); ASSERT (fclose (f) == 0); /* Cleanup. */ ASSERT (unlink (BASE "file") == 0); return 0; } coreutils-8.21/gnulib-tests/test-strchrnul.c0000664000000000000000000000444612071024546016144 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (strchrnul, char *, (char const *, int)); #include #include "macros.h" int main (void) { size_t n = 0x100000; char *input = malloc (n + 1); ASSERT (input); input[0] = 'a'; input[1] = 'b'; memset (input + 2, 'c', 1024); memset (input + 1026, 'd', n - 1028); input[n - 2] = 'e'; input[n - 1] = 'a'; input[n] = '\0'; /* Basic behavior tests. */ ASSERT (strchrnul (input, 'a') == input); ASSERT (strchrnul (input, 'b') == input + 1); ASSERT (strchrnul (input, 'c') == input + 2); ASSERT (strchrnul (input, 'd') == input + 1026); ASSERT (strchrnul (input + 1, 'a') == input + n - 1); ASSERT (strchrnul (input + 1, 'e') == input + n - 2); ASSERT (strchrnul (input, 'f') == input + n); ASSERT (strchrnul (input, '\0') == input + n); /* Check that a very long haystack is handled quickly if the byte is found near the beginning. */ { size_t repeat = 10000; for (; repeat > 0; repeat--) { ASSERT (strchrnul (input, 'c') == input + 2); } } /* Alignment tests. */ { int i, j; for (i = 0; i < 32; i++) { for (j = 0; j < 256; j++) input[i + j] = (j + 1) & 0xff; for (j = 1; j < 256; j++) { ASSERT (strchrnul (input + i, j) == input + i + j - 1); input[i + j - 1] = (j == 1 ? 2 : 1); ASSERT (strchrnul (input + i, j) == input + i + 255); input[i + j - 1] = j; } } } free (input); return 0; } coreutils-8.21/gnulib-tests/unlinkdir.c0000664000000000000000000000313412071024546015133 00000000000000/* unlinkdir.c - determine whether we can unlink directories Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, Jim Meyering, and David Bartley. */ #include #include "unlinkdir.h" #include "priv-set.h" #include "root-uid.h" #include #if ! UNLINK_CANNOT_UNLINK_DIR /* Return true if we cannot unlink directories, false if we might be able to unlink directories. */ bool cannot_unlink_dir (void) { static bool initialized; static bool cannot; if (! initialized) { # if defined PRIV_SYS_LINKDIR /* We might be able to unlink directories if we cannot determine our privileges, or if we have the PRIV_SYS_LINKDIR privilege. */ cannot = (priv_set_ismember (PRIV_SYS_LINKDIR) == 0); # else /* In traditional Unix, only root can unlink directories. */ cannot = (geteuid () != ROOT_UID); # endif initialized = true; } return cannot; } #endif coreutils-8.21/gnulib-tests/test-set-mode-acl-1.sh0000775000000000000000000000033711636617717016734 00000000000000#!/bin/sh # Test set-mode-acl on the file system of /var/tmp, which usually is a local # file system. if test -d /var/tmp; then TMPDIR=/var/tmp else TMPDIR=/tmp fi export TMPDIR exec "${srcdir}/test-set-mode-acl.sh" coreutils-8.21/gnulib-tests/test-ftruncate.c0000664000000000000000000000301612100637437016105 00000000000000/* Test truncating a file. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (ftruncate, int, (int, off_t)); #include #include #include "macros.h" int main (int argc, char *argv[]) { const char *filename = argv[1]; /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (ftruncate (-1, 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (ftruncate (99, 0) == -1); ASSERT (errno == EBADF); } /* Test behaviour for read-only file descriptors. */ { int fd = open (filename, O_RDONLY); ASSERT (fd >= 0); errno = 0; ASSERT (ftruncate (fd, 0) == -1); ASSERT (errno == EBADF || errno == EINVAL || errno == EACCES /* seen on mingw */ ); close (fd); } return 0; } coreutils-8.21/gnulib-tests/test-fstat.c0000664000000000000000000000237412100637437015241 00000000000000/* Tests of fstat() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fstat, int, (int, struct stat *)); #include #include #include "macros.h" int main (int argc, char *argv[]) { /* Test behaviour for invalid file descriptors. */ { struct stat statbuf; errno = 0; ASSERT (fstat (-1, &statbuf) == -1); ASSERT (errno == EBADF); } { struct stat statbuf; close (99); errno = 0; ASSERT (fstat (99, &statbuf) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/listen.c0000664000000000000000000000234212071024546014432 00000000000000/* listen.c --- wrappers for Windows listen function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #undef listen int rpl_listen (int fd, int backlog) { SOCKET sock = FD_TO_SOCKET (fd); if (sock == INVALID_SOCKET) { errno = EBADF; return -1; } else { int r = listen (sock, backlog); if (r < 0) set_winsock_errno (); return r; } } coreutils-8.21/gnulib-tests/test-unlink.h0000664000000000000000000000575512071024546015431 00000000000000/* Tests of unlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test both unlink(n) and unlinkat(AT_FDCWD,n,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, then warn before returning status 77 when symlinks are unsupported. */ static int test_unlink_func (int (*func) (char const *name), bool print) { /* Setup. */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (close (creat (BASE "dir/file", 0600)) == 0); /* Basic error conditions. */ errno = 0; ASSERT (func ("") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "nosuch") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "nosuch/") == -1); ASSERT (errno == ENOENT); /* Resulting errno after directories is rather varied across implementations (EPERM, EINVAL, EACCES, EBUSY, EISDIR, ENOTSUP); however, we must be careful to not attempt unlink on a directory unless we know it must fail. */ if (cannot_unlink_dir ()) { ASSERT (func (".") == -1); ASSERT (func ("..") == -1); ASSERT (func ("/") == -1); ASSERT (func (BASE "dir") == -1); ASSERT (mkdir (BASE "dir1", 0700) == 0); ASSERT (func (BASE "dir1") == -1); ASSERT (rmdir (BASE "dir1") == 0); } errno = 0; ASSERT (func (BASE "dir/file/") == -1); ASSERT (errno == ENOTDIR); /* Test symlink behavior. Specifying trailing slash will attempt unlink of a directory, so only attempt it if we know it must fail. */ if (symlink (BASE "dir", BASE "link") != 0) { ASSERT (func (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } if (cannot_unlink_dir ()) ASSERT (func (BASE "link/") == -1); ASSERT (func (BASE "link") == 0); ASSERT (symlink (BASE "dir/file", BASE "link") == 0); errno = 0; ASSERT (func (BASE "link/") == -1); ASSERT (errno == ENOTDIR); /* Order here proves unlink of a symlink does not follow through to the file. */ ASSERT (func (BASE "link") == 0); ASSERT (func (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); return 0; } coreutils-8.21/gnulib-tests/test-posix_spawn1.c0000664000000000000000000001257112071024546016551 00000000000000/* Test of posix_spawn() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (posix_spawnp, int, (pid_t *, char const *, posix_spawn_file_actions_t const *, posix_spawnattr_t const *, char *const[], char *const[])); SIGNATURE_CHECK (posix_spawnattr_init, int, (posix_spawnattr_t *)); SIGNATURE_CHECK (posix_spawnattr_destroy, int, (posix_spawnattr_t *)); SIGNATURE_CHECK (posix_spawnattr_setsigmask, int, (posix_spawnattr_t *, sigset_t const *)); SIGNATURE_CHECK (posix_spawnattr_setflags, int, (posix_spawnattr_t *, short)); SIGNATURE_CHECK (posix_spawn_file_actions_init, int, (posix_spawn_file_actions_t *)); SIGNATURE_CHECK (posix_spawn_file_actions_destroy, int, (posix_spawn_file_actions_t *)); SIGNATURE_CHECK (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *, int)); SIGNATURE_CHECK (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *, int, char const *, int, mode_t)); SIGNATURE_CHECK (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *, int, int)); #include #include #include #include #include #include #include #include #include #include extern char **environ; #define CHILD_PROGRAM_FILENAME "test-posix_spawn1.sh" static int fd_safer (int fd) { if (0 <= fd && fd <= 2) { int f = fd_safer (dup (fd)); int e = errno; close (fd); errno = e; fd = f; } return fd; } int main () { char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL }; int ifd[2]; sigset_t blocked_signals; sigset_t fatal_signal_set; posix_spawn_file_actions_t actions; bool actions_allocated; posix_spawnattr_t attrs; bool attrs_allocated; int err; pid_t child; int fd; FILE *fp; char line[80]; int status; int exitstatus; if (pipe (ifd) < 0 || (ifd[0] = fd_safer (ifd[0])) < 0) { perror ("cannot create pipe"); exit (1); } sigprocmask (SIG_SETMASK, NULL, &blocked_signals); sigemptyset (&fatal_signal_set); sigaddset (&fatal_signal_set, SIGINT); sigaddset (&fatal_signal_set, SIGTERM); sigaddset (&fatal_signal_set, SIGHUP); sigaddset (&fatal_signal_set, SIGPIPE); sigprocmask (SIG_BLOCK, &fatal_signal_set, NULL); actions_allocated = false; attrs_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_adddup2 (&actions, ifd[1], STDOUT_FILENO)) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ifd[1])) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ifd[0])) != 0 || (err = posix_spawn_file_actions_addopen (&actions, STDIN_FILENO, "/dev/null", O_RDONLY, 0)) != 0 || (err = posix_spawnattr_init (&attrs)) != 0 || (attrs_allocated = true, (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnp (&child, "/bin/sh", &actions, &attrs, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); errno = err; perror ("subprocess failed"); exit (1); } posix_spawn_file_actions_destroy (&actions); posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); close (ifd[1]); fd = ifd[0]; fp = fdopen (fd, "r"); if (fp == NULL) { fprintf (stderr, "fdopen() failed\n"); exit (1); } if (fread (line, 1, 80, fp) < 12) { fprintf (stderr, "could not read expected output\n"); exit (1); } if (memcmp (line, "Halle Potta", 11) != 0) { fprintf (stderr, "read output is not the expected output"); exit (1); } fclose (fp); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); exit (1); } exitstatus = WEXITSTATUS (status); if (exitstatus != 0) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); exit (1); } return 0; } coreutils-8.21/gnulib-tests/test-stat.c0000664000000000000000000000310712071024546015064 00000000000000/* Tests of stat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include /* Caution: stat may be a function-like macro. Although this signature check must pass, it may be the signature of the real (and broken) stat rather than rpl_stat. Most code should not use the address of stat. */ #include "signature.h" SIGNATURE_CHECK (stat, int, (char const *, struct stat *)); #include #include #include #include #include #include "same-inode.h" #include "macros.h" #define BASE "test-stat.t" #include "test-stat.h" /* Wrapper around stat, which works even if stat is a function-like macro, where test_stat_func(stat) would do the wrong thing. */ static int do_stat (char const *name, struct stat *st) { return stat (name, st); } int main (void) { return test_stat_func (do_stat, true); } coreutils-8.21/gnulib-tests/test-rand-isaac.c0000664000000000000000000010014112102337340016101 00000000000000/* Test the ISAAC or ISAAC64 pseudorandom number generator. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "rand-isaac.h" #include #include #include #include "macros.h" /* This expected output was generated by running the programs in , as last modified on 2010-01-22. The 32-bit numbers were output by rand.c, and the 64-bit by isaac64.c, both on x86, as those programs are not portable to 64-bit platforms. */ static isaac_word const expected[2][ISAAC_WORDS] = { #if ISAAC_BITS == 32 { UINT32_C (0xf650e4c8), UINT32_C (0xe448e96d), UINT32_C (0x98db2fb4), UINT32_C (0xf5fad54f), UINT32_C (0x433f1afb), UINT32_C (0xedec154a), UINT32_C (0xd8370487), UINT32_C (0x46ca4f9a), UINT32_C (0x5de3743e), UINT32_C (0x88381097), UINT32_C (0xf1d444eb), UINT32_C (0x823cedb6), UINT32_C (0x6a83e1e0), UINT32_C (0x4a5f6355), UINT32_C (0xc7442433), UINT32_C (0x25890e2e), UINT32_C (0x7452e319), UINT32_C (0x57161df6), UINT32_C (0x38a824f3), UINT32_C (0x002ed713), UINT32_C (0x29f55449), UINT32_C (0x51c08d83), UINT32_C (0xd78cb99e), UINT32_C (0xa0cc74f3), UINT32_C (0x8f651659), UINT32_C (0xcbc8b7c2), UINT32_C (0xf5f71c69), UINT32_C (0x12ad6419), UINT32_C (0xe5792e1b), UINT32_C (0x860536b8), UINT32_C (0x09b3ce98), UINT32_C (0xd45d6d81), UINT32_C (0xf3b26129), UINT32_C (0x17e38f85), UINT32_C (0x29cf72ce), UINT32_C (0x349947b0), UINT32_C (0xc998f9ff), UINT32_C (0xb5e13dae), UINT32_C (0x32ae2a2b), UINT32_C (0xf7cf814c), UINT32_C (0x8ebfa303), UINT32_C (0xcf22e064), UINT32_C (0x0b923200), UINT32_C (0xeca4d58a), UINT32_C (0xef53cec4), UINT32_C (0xd0f7b37d), UINT32_C (0x9c411a2a), UINT32_C (0xffdf8a80), UINT32_C (0xb40e27bc), UINT32_C (0xb4d2f976), UINT32_C (0x44b89b08), UINT32_C (0xf37c71d5), UINT32_C (0x1a70e7e9), UINT32_C (0x0bdb9c30), UINT32_C (0x60dc5207), UINT32_C (0xb3c3f24b), UINT32_C (0xd7386806), UINT32_C (0x229749b5), UINT32_C (0x4e232cd0), UINT32_C (0x91dabc65), UINT32_C (0xa70e1101), UINT32_C (0x8b87437e), UINT32_C (0x5781414f), UINT32_C (0xcdbc62e2), UINT32_C (0x8107c9ff), UINT32_C (0x69d2e4ae), UINT32_C (0x3b18e752), UINT32_C (0xb143b688), UINT32_C (0x6f4e0772), UINT32_C (0x95138769), UINT32_C (0x943c3c74), UINT32_C (0xafc17a97), UINT32_C (0x0fd43963), UINT32_C (0x6a529b0b), UINT32_C (0xd8c58a6a), UINT32_C (0xa8bcc22d), UINT32_C (0x2db35dfe), UINT32_C (0xa7a2f402), UINT32_C (0x6cb167db), UINT32_C (0x538e1f4e), UINT32_C (0x7275e277), UINT32_C (0x1d3b8e97), UINT32_C (0xecc5dc91), UINT32_C (0x15e3a5b9), UINT32_C (0x03696614), UINT32_C (0x30ab93ec), UINT32_C (0xac9fe69d), UINT32_C (0x7bc76811), UINT32_C (0x60eda8da), UINT32_C (0x28833522), UINT32_C (0xd5295ebc), UINT32_C (0x5adb60e7), UINT32_C (0xf7e1cdd0), UINT32_C (0x97166d14), UINT32_C (0xb67ec13a), UINT32_C (0x210f3925), UINT32_C (0x64af0fef), UINT32_C (0x0d028684), UINT32_C (0x3aea3dec), UINT32_C (0xb058bafb), UINT32_C (0xb8b0ccfc), UINT32_C (0xf2b5cc05), UINT32_C (0xe3a662d9), UINT32_C (0x814bc24c), UINT32_C (0x2364a1aa), UINT32_C (0x37c0ed05), UINT32_C (0x2b36505c), UINT32_C (0x451e7ec8), UINT32_C (0x5d2a542f), UINT32_C (0xe43d0fbb), UINT32_C (0x91c8d925), UINT32_C (0x60d4d5f8), UINT32_C (0x12a0594b), UINT32_C (0x9e8a51da), UINT32_C (0xcd49ebdb), UINT32_C (0x1b0dcdc1), UINT32_C (0xcd57c7f7), UINT32_C (0xe6344451), UINT32_C (0x7ded386f), UINT32_C (0x2f36fa86), UINT32_C (0xa6d12101), UINT32_C (0x33bc405d), UINT32_C (0xb388d96c), UINT32_C (0xdb6dbe96), UINT32_C (0xfe29661c), UINT32_C (0x13edc0cb), UINT32_C (0xcb0eee4a), UINT32_C (0x70cc94ae), UINT32_C (0xde11ed34), UINT32_C (0x0606cf9f), UINT32_C (0x3a6ce389), UINT32_C (0x23d74f4e), UINT32_C (0xa37f63ff), UINT32_C (0x917bdec2), UINT32_C (0xd73f72d4), UINT32_C (0x0e7e0e67), UINT32_C (0x3d77d9a2), UINT32_C (0x13add922), UINT32_C (0x8891b3db), UINT32_C (0x01a9bd70), UINT32_C (0x56a001e3), UINT32_C (0xd51f093d), UINT32_C (0xcc033ce3), UINT32_C (0x5ad0d3b0), UINT32_C (0x34105a8c), UINT32_C (0x6a123f57), UINT32_C (0xbd2e5024), UINT32_C (0x7364944b), UINT32_C (0xe89b1a3b), UINT32_C (0x21835c4d), UINT32_C (0x9f39e2d9), UINT32_C (0xd405ded8), UINT32_C (0x294d37e5), UINT32_C (0xbccaaeed), UINT32_C (0x35a124b5), UINT32_C (0x6708a2bc), UINT32_C (0xb00960ba), UINT32_C (0x2a98121a), UINT32_C (0x4d8fae82), UINT32_C (0x0bb3263f), UINT32_C (0x12595a19), UINT32_C (0x6a107589), UINT32_C (0x0809e494), UINT32_C (0x21c171ec), UINT32_C (0x884d6825), UINT32_C (0x14c8009b), UINT32_C (0xb0b84e7b), UINT32_C (0x03fb88f4), UINT32_C (0x28e7cb78), UINT32_C (0x9388b13b), UINT32_C (0xdd2dc1d5), UINT32_C (0x848f520a), UINT32_C (0x07c28cd1), UINT32_C (0x68a39358), UINT32_C (0x72c9137d), UINT32_C (0x127dd430), UINT32_C (0xc613f157), UINT32_C (0x8c2f0d55), UINT32_C (0xf7d3f39f), UINT32_C (0x309bfb78), UINT32_C (0x8406b137), UINT32_C (0x46c0a6f5), UINT32_C (0x3718d597), UINT32_C (0x08607f04), UINT32_C (0x76904b6d), UINT32_C (0x04db4e13), UINT32_C (0xcd7411a7), UINT32_C (0xb510ce0e), UINT32_C (0xbfc7f7cc), UINT32_C (0xb83f957a), UINT32_C (0xfdfef62d), UINT32_C (0xc35e4580), UINT32_C (0x3ff1e524), UINT32_C (0x4112d96c), UINT32_C (0x02c9b944), UINT32_C (0xd5990dfb), UINT32_C (0xe7e26581), UINT32_C (0x0d9c7e7e), UINT32_C (0x826dfa89), UINT32_C (0x66f1e0ab), UINT32_C (0x30bcc764), UINT32_C (0xeadebeac), UINT32_C (0xed35e5ee), UINT32_C (0x0c571a7d), UINT32_C (0xe4f3a26a), UINT32_C (0xf7f58f7b), UINT32_C (0xadf6bc23), UINT32_C (0x5d023e65), UINT32_C (0x1ed3ff4e), UINT32_C (0xec46b0b6), UINT32_C (0xd2a93b51), UINT32_C (0xe75b41c9), UINT32_C (0x7e315aeb), UINT32_C (0x61119a5a), UINT32_C (0x53245b79), UINT32_C (0x33f6d7b1), UINT32_C (0xcae8deba), UINT32_C (0x50fc8194), UINT32_C (0xafa92a6d), UINT32_C (0xc87c8006), UINT32_C (0x4188bfcd), UINT32_C (0x8bace62e), UINT32_C (0x78ffa568), UINT32_C (0x5597ec0f), UINT32_C (0xb4415f7d), UINT32_C (0x08294766), UINT32_C (0xad567643), UINT32_C (0x09c36f90), UINT32_C (0x3dde9f39), UINT32_C (0x4a0a283c), UINT32_C (0x18080c8e), UINT32_C (0x080c79ec), UINT32_C (0x79ae4c10), UINT32_C (0xcb9e1563), UINT32_C (0x7cdd662f), UINT32_C (0x62d31911), UINT32_C (0xa4ca0cf1), UINT32_C (0x5cf824cd), UINT32_C (0x3b708f99), UINT32_C (0x1e16614c), UINT32_C (0xb6b9d766), UINT32_C (0x5de87abb), UINT32_C (0x7229ea81), UINT32_C (0xd5b2d750), UINT32_C (0x56e6cd21), UINT32_C (0xfe1e42d5), UINT32_C (0x96da2655), UINT32_C (0xc2b9aa36), UINT32_C (0xb8f6fd4a), UINT32_C (0x6a158d10), UINT32_C (0x01913fd3), UINT32_C (0xaf7d1fb8), UINT32_C (0x0b5e435f), UINT32_C (0x90c10757), UINT32_C (0x6554abda), UINT32_C (0x7a68710f) }, { UINT32_C (0x82ac484f), UINT32_C (0xd7e1c7be), UINT32_C (0x95c85eaa), UINT32_C (0x94a302f4), UINT32_C (0x4d3cfbda), UINT32_C (0x786b2908), UINT32_C (0x1010b275), UINT32_C (0x82d53d12), UINT32_C (0x21e2a51c), UINT32_C (0x3d1e9150), UINT32_C (0xb059261d), UINT32_C (0xd0638e1a), UINT32_C (0x31860f05), UINT32_C (0x81f2864d), UINT32_C (0xff4cfc35), UINT32_C (0x0451516d), UINT32_C (0xbd086f26), UINT32_C (0xbc5654c1), UINT32_C (0x65dfa427), UINT32_C (0xa82427f5), UINT32_C (0x582e3014), UINT32_C (0xb8d2486d), UINT32_C (0xc79a1749), UINT32_C (0x9a1d7745), UINT32_C (0x8766bb54), UINT32_C (0x1e04a7f7), UINT32_C (0x3d3dff8a), UINT32_C (0xd5ec6bf4), UINT32_C (0xdbef7d9f), UINT32_C (0x36ec0ea3), UINT32_C (0x1feb2e4f), UINT32_C (0x15cfcc5c), UINT32_C (0xd8c423fb), UINT32_C (0xd0ef3cc9), UINT32_C (0xeb244925), UINT32_C (0xba5590c8), UINT32_C (0xa5f48ac4), UINT32_C (0x33c5321c), UINT32_C (0x613b67b2), UINT32_C (0x479c3a22), UINT32_C (0xe21339cc), UINT32_C (0x10d210aa), UINT32_C (0x931dd7e2), UINT32_C (0xef05ee06), UINT32_C (0xb82f2703), UINT32_C (0xa385cb2c), UINT32_C (0x5d67133c), UINT32_C (0x877eb7b4), UINT32_C (0x1e3437f7), UINT32_C (0x5afb43ae), UINT32_C (0x53c078f3), UINT32_C (0x94d90481), UINT32_C (0x1d964589), UINT32_C (0x08063a85), UINT32_C (0xe1322228), UINT32_C (0x1956b1e5), UINT32_C (0x31860f13), UINT32_C (0x2e7b022f), UINT32_C (0x21182ca3), UINT32_C (0x96f703ac), UINT32_C (0x46819e2e), UINT32_C (0x0d28fe52), UINT32_C (0x3724d4dc), UINT32_C (0xa0eabe6b), UINT32_C (0xc66699fd), UINT32_C (0xc6112fdd), UINT32_C (0x19c1e69c), UINT32_C (0x04d3658a), UINT32_C (0x4b55dd99), UINT32_C (0x31907d62), UINT32_C (0xf854b522), UINT32_C (0x4d678f26), UINT32_C (0x22ae0582), UINT32_C (0xeafed133), UINT32_C (0xe4a51d21), UINT32_C (0x84bd6dd6), UINT32_C (0xc1a51375), UINT32_C (0x3f28ee63), UINT32_C (0xfb737b1a), UINT32_C (0x70a1660e), UINT32_C (0x8a8dfaa3), UINT32_C (0x1be79937), UINT32_C (0xf7476978), UINT32_C (0x513c1764), UINT32_C (0x531ac6bf), UINT32_C (0x12c06908), UINT32_C (0x001cdb95), UINT32_C (0x1a4b6a53), UINT32_C (0xd067fce5), UINT32_C (0x12b2cfb6), UINT32_C (0x9ddb477f), UINT32_C (0x740e0066), UINT32_C (0x39ddf25a), UINT32_C (0xcc8bfa2d), UINT32_C (0xf1b20eaf), UINT32_C (0x64f2632c), UINT32_C (0x9783cdee), UINT32_C (0x63bfd4d8), UINT32_C (0x0084cfe5), UINT32_C (0x75f4e9e2), UINT32_C (0x19b48fd0), UINT32_C (0x6c48ddd8), UINT32_C (0x7a36af93), UINT32_C (0x71865c4c), UINT32_C (0x9ce0199d), UINT32_C (0x867027d7), UINT32_C (0x2cb7b77f), UINT32_C (0x84ef01da), UINT32_C (0x72f5972f), UINT32_C (0x040f7074), UINT32_C (0xdf9afa29), UINT32_C (0xc921f94e), UINT32_C (0x75c08a36), UINT32_C (0x18c1ef9a), UINT32_C (0xd649a428), UINT32_C (0xc5b71937), UINT32_C (0x8a30738a), UINT32_C (0xd97cd348), UINT32_C (0x858129a6), UINT32_C (0x239e3b0a), UINT32_C (0xbbb8abc4), UINT32_C (0x80fac4c2), UINT32_C (0xecfcf20b), UINT32_C (0xd9d711f9), UINT32_C (0xe2a4ef71), UINT32_C (0xb5fe87c0), UINT32_C (0xbe8b06b2), UINT32_C (0xaafef5a7), UINT32_C (0x9c15db3b), UINT32_C (0x0aeb8165), UINT32_C (0x4389a84a), UINT32_C (0x253b1d7a), UINT32_C (0x19047c79), UINT32_C (0x7cdc78a2), UINT32_C (0xd20adf03), UINT32_C (0x56f55a71), UINT32_C (0x3e730fa8), UINT32_C (0xfd8650d8), UINT32_C (0x959e234e), UINT32_C (0xb7546681), UINT32_C (0xdad1b22a), UINT32_C (0x142a6e85), UINT32_C (0x8ef4bce6), UINT32_C (0x68235b9d), UINT32_C (0x85a13f85), UINT32_C (0x74096ae7), UINT32_C (0xa949bea2), UINT32_C (0x29322d0d), UINT32_C (0xd5683858), UINT32_C (0x82846526), UINT32_C (0x403dae08), UINT32_C (0x6dd1943a), UINT32_C (0xe1279bff), UINT32_C (0x9e7e4f04), UINT32_C (0x1c3a4524), UINT32_C (0x484525e4), UINT32_C (0x81d4cc5f), UINT32_C (0xe24124c0), UINT32_C (0x037464c0), UINT32_C (0xbf1bd691), UINT32_C (0x26ceb003), UINT32_C (0x275ead3a), UINT32_C (0xc5bde908), UINT32_C (0x26414ff3), UINT32_C (0xa30519ad), UINT32_C (0xd7b43abe), UINT32_C (0x2ce5d3d5), UINT32_C (0x88412761), UINT32_C (0x97ca2070), UINT32_C (0xe5fbb9c7), UINT32_C (0x276df0b4), UINT32_C (0x308f751f), UINT32_C (0x37a97df6), UINT32_C (0xc9cd808c), UINT32_C (0xfe4cb380), UINT32_C (0x3d469303), UINT32_C (0xaee19096), UINT32_C (0xc0d5d42a), UINT32_C (0x4e823ad3), UINT32_C (0xf5f9cc3b), UINT32_C (0x4286619c), UINT32_C (0x9ca45e1c), UINT32_C (0x66c97340), UINT32_C (0x891aec49), UINT32_C (0x45bae606), UINT32_C (0xc798f047), UINT32_C (0x52649d6c), UINT32_C (0xce86fdfc), UINT32_C (0x80c6e402), UINT32_C (0xd6ec2f2b), UINT32_C (0x27c82282), UINT32_C (0x1fe26ce0), UINT32_C (0x92f57ea7), UINT32_C (0xde462f4d), UINT32_C (0x07497cae), UINT32_C (0x5a48755c), UINT32_C (0x721502dd), UINT32_C (0x6cbe7935), UINT32_C (0x836d8003), UINT32_C (0x9ead7f70), UINT32_C (0x9ab3a42f), UINT32_C (0x4c8652d6), UINT32_C (0x32e39273), UINT32_C (0xe8fa3860), UINT32_C (0x1da4f25a), UINT32_C (0x0cd6ef81), UINT32_C (0x02503f7d), UINT32_C (0x8854a0a1), UINT32_C (0x9a30c4e8), UINT32_C (0x88157153), UINT32_C (0x05efe294), UINT32_C (0x57c4c925), UINT32_C (0x2887d96f), UINT32_C (0xc1a71e3c), UINT32_C (0xe9f84163), UINT32_C (0x2d0985de), UINT32_C (0xd21e796c), UINT32_C (0x6fb5ce56), UINT32_C (0x02614abf), UINT32_C (0xc3c7be2c), UINT32_C (0xb54fed6f), UINT32_C (0xa617a083), UINT32_C (0xc3142d8f), UINT32_C (0x6079e4ce), UINT32_C (0xceffc147), UINT32_C (0x1d0cb81b), UINT32_C (0xdc153e5f), UINT32_C (0xe36ef5bb), UINT32_C (0xd531161a), UINT32_C (0x165b1015), UINT32_C (0x7aa114ed), UINT32_C (0x3f7579b3), UINT32_C (0xf7f395f1), UINT32_C (0xbc6172c7), UINT32_C (0xa86f875e), UINT32_C (0x0e6c51b3), UINT32_C (0xcdfec2af), UINT32_C (0x73c0e762), UINT32_C (0x824c2009), UINT32_C (0xc5a87748), UINT32_C (0x94d40125), UINT32_C (0x8aba3ffb), UINT32_C (0xd32be060), UINT32_C (0x8c17eff0), UINT32_C (0x21e2547e), UINT32_C (0x07cffad9), UINT32_C (0x05340e15), UINT32_C (0xf3310c92), UINT32_C (0x9d8d1908), UINT32_C (0x86ba527f), UINT32_C (0xf943f672), UINT32_C (0xef73fbf0), UINT32_C (0x46d95ca5), UINT32_C (0xc54cd95b), UINT32_C (0x9d855e89), UINT32_C (0x4bb5af29) } #else { UINT64_C (0x12a8f216af9418c2), UINT64_C (0xd4490ad526f14431), UINT64_C (0xb49c3b3995091a36), UINT64_C (0x5b45e522e4b1b4ef), UINT64_C (0xa1e9300cd8520548), UINT64_C (0x49787fef17af9924), UINT64_C (0x03219a39ee587a30), UINT64_C (0xebe9ea2adf4321c7), UINT64_C (0x804456af10f5fb53), UINT64_C (0xd74bbe77e6116ac7), UINT64_C (0x7c0828dd624ec390), UINT64_C (0x14a195640116f336), UINT64_C (0x2eab8ca63ce802d7), UINT64_C (0xc6e57a78fbd986e0), UINT64_C (0x58efc10b06a2068d), UINT64_C (0xabeeddb2dde06ff1), UINT64_C (0x0b090a7560a968e3), UINT64_C (0x2cf9c8ca052f6e9f), UINT64_C (0x116d0016cb948f09), UINT64_C (0xa59e0bd101731a28), UINT64_C (0x63767572ae3d6174), UINT64_C (0xab4f6451cc1d45ec), UINT64_C (0xc2a1e7b5b459aeb5), UINT64_C (0x2472f6207c2d0484), UINT64_C (0xe699ed85b0dfb40d), UINT64_C (0xd4347f66ec8941c3), UINT64_C (0xf4d14597e660f855), UINT64_C (0x8b889d624d44885d), UINT64_C (0x258e5a80c7204c4b), UINT64_C (0xaf0c317d32adaa8a), UINT64_C (0x9c4cd6257c5a3603), UINT64_C (0xeb3593803173e0ce), UINT64_C (0x36f60e2ba4fa6800), UINT64_C (0x38b6525c21a42b0e), UINT64_C (0xf4f5d05c10cab243), UINT64_C (0xcf3f4688801eb9aa), UINT64_C (0x1ddc0325259b27de), UINT64_C (0xb9571fa04dc089c8), UINT64_C (0xd7504dfa8816edbb), UINT64_C (0x1fe2cca76517db90), UINT64_C (0x261e4e4c0a333a9d), UINT64_C (0x219b97e26ffc81bd), UINT64_C (0x66b4835d9eafea22), UINT64_C (0x4cc317fb9cddd023), UINT64_C (0x50b704cab602c329), UINT64_C (0xedb454e7badc0805), UINT64_C (0x9e17e49642a3e4c1), UINT64_C (0x66c1a2a1a60cd889), UINT64_C (0x7983eed3740847d5), UINT64_C (0x298af231c85bafab), UINT64_C (0x2680b122baa28d97), UINT64_C (0x734de8181f6ec39a), UINT64_C (0x53898e4c3910da55), UINT64_C (0x1761f93a44d5aefe), UINT64_C (0xe4dbf0634473f5d2), UINT64_C (0x4ed0fe7e9dc91335), UINT64_C (0xd18d8549d140caea), UINT64_C (0x1cfc8bed0d681639), UINT64_C (0xca1e3785a9e724e5), UINT64_C (0xb67c1fa481680af8), UINT64_C (0xdfea21ea9e7557e3), UINT64_C (0xd6b6d0ecc617c699), UINT64_C (0xfa7e393983325753), UINT64_C (0xa09e8c8c35ab96de), UINT64_C (0x8fe88b57305e2ab6), UINT64_C (0x89039d79d6fc5c5c), UINT64_C (0x9bfb227ebdf4c5ce), UINT64_C (0x7f7cc39420a3a545), UINT64_C (0x3f6c6af859d80055), UINT64_C (0xc8763c5b08d1908c), UINT64_C (0x469356c504ec9f9d), UINT64_C (0x26e6db8ffdf5adfe), UINT64_C (0x3a938fee32d29981), UINT64_C (0x2c5e9deb57ef4743), UINT64_C (0x1e99b96e70a9be8b), UINT64_C (0x764dbeae7fa4f3a6), UINT64_C (0xaac40a2703d9bea0), UINT64_C (0x1a8c1e992b941148), UINT64_C (0x73aa8a564fb7ac9e), UINT64_C (0x604d51b25fbf70e2), UINT64_C (0xdd69a0d8ab3b546d), UINT64_C (0x65ca5b96b7552210), UINT64_C (0x2fd7e4b9e72cd38c), UINT64_C (0x51d2b1ab2ddfb636), UINT64_C (0x9d1d84fcce371425), UINT64_C (0xa44cfe79ae538bbe), UINT64_C (0xde68a2355b93cae6), UINT64_C (0x9fc10d0f989993e0), UINT64_C (0x94ebc8abcfb56dae), UINT64_C (0xd7a023a73260b45c), UINT64_C (0x72c8834a5957b511), UINT64_C (0x8f8419a348f296bf), UINT64_C (0x1e152328f3318dea), UINT64_C (0x4838d65f6ef6748f), UINT64_C (0xd6bf7baee43cac40), UINT64_C (0x13328503df48229f), UINT64_C (0x7440fb816508c4fe), UINT64_C (0x9d266d6a1cc0542c), UINT64_C (0x4dda48153c94938a), UINT64_C (0x74c04bf1790c0efe), UINT64_C (0xe1925c71285279f5), UINT64_C (0x8a8e849eb32781a5), UINT64_C (0x073973751f12dd5e), UINT64_C (0xa319ce15b0b4db31), UINT64_C (0x6dd856d94d259236), UINT64_C (0x67378d8eccef96cb), UINT64_C (0x9fc477de4ed681da), UINT64_C (0xf3b8b6675a6507ff), UINT64_C (0xc3a9dc228caac9e9), UINT64_C (0xc37b45b3f8d6f2ba), UINT64_C (0xb559eb1d04e5e932), UINT64_C (0x1b0cab936e65c744), UINT64_C (0xaf08da9177dda93d), UINT64_C (0xac12fb171817eee7), UINT64_C (0x1fff7ac80904bf45), UINT64_C (0xa9119b60369ffebd), UINT64_C (0xbfced1b0048eac50), UINT64_C (0xb67b7896167b4c84), UINT64_C (0x9b3cdb65f82ca382), UINT64_C (0xdbc27ab5447822bf), UINT64_C (0x10dcd78e3851a492), UINT64_C (0xb438c2b67f98e5e9), UINT64_C (0x43954b3252dc25e5), UINT64_C (0xab9090168dd05f34), UINT64_C (0xce68341f79893389), UINT64_C (0x36833336d068f707), UINT64_C (0xdcdd7d20903d0c25), UINT64_C (0xda3a361b1c5157b1), UINT64_C (0x7f9d1a2e1ebe1327), UINT64_C (0x5d0a12f27ad310d1), UINT64_C (0x3bc36e078f7515d7), UINT64_C (0x4da8979a0041e8a9), UINT64_C (0x950113646d1d6e03), UINT64_C (0x7b4a38e32537df62), UINT64_C (0x8a1b083821f40cb4), UINT64_C (0x3d5774a11d31ab39), UINT64_C (0x7a76956c3eafb413), UINT64_C (0x7f5126dbba5e0ca7), UINT64_C (0x12153635b2c0cf57), UINT64_C (0x7b3f0195fc6f290f), UINT64_C (0x5544f7d774b14aef), UINT64_C (0x56c074a581ea17fe), UINT64_C (0xe7f28ecd2d49eecd), UINT64_C (0xe479ee5b9930578c), UINT64_C (0x9ff38fed72e9052f), UINT64_C (0x9f65789a6509a440), UINT64_C (0x0981dcd296a8736d), UINT64_C (0x5873888850659ae7), UINT64_C (0xc678b6d860284a1c), UINT64_C (0x63e22c147b9c3403), UINT64_C (0x92fae24291f2b3f1), UINT64_C (0x829626e3892d95d7), UINT64_C (0xcffe1939438e9b24), UINT64_C (0x79999cdff70902cb), UINT64_C (0x8547eddfb81ccb94), UINT64_C (0x7b77497b32503b12), UINT64_C (0x97fcaacbf030bc24), UINT64_C (0x6ced1983376fa72b), UINT64_C (0x7e75d99d94a70f4d), UINT64_C (0xd2733c4335c6a72f), UINT64_C (0xdbc0d2b6ab90a559), UINT64_C (0x94628d38d0c20584), UINT64_C (0x64972d68dee33360), UINT64_C (0xb9c11d5b1e43a07e), UINT64_C (0x2de0966daf2f8b1c), UINT64_C (0x2e18bc1ad9704a68), UINT64_C (0xd4dba84729af48ad), UINT64_C (0xb7a0b174cff6f36e), UINT64_C (0xe94c39a54a98307f), UINT64_C (0xaa70b5b4f89695a2), UINT64_C (0x3bdbb92c43b17f26), UINT64_C (0xcccb7005c6b9c28d), UINT64_C (0x18a6a990c8b35ebd), UINT64_C (0xfc7c95d827357afa), UINT64_C (0x1fca8a92fd719f85), UINT64_C (0x1dd01aafcd53486a), UINT64_C (0x49353fea39ba63b1), UINT64_C (0xf85b2b4fbcde44b7), UINT64_C (0xbe7444e39328a0ac), UINT64_C (0x3e2b8bcbf016d66d), UINT64_C (0x964e915cd5e2b207), UINT64_C (0x1725cabfcb045b00), UINT64_C (0x7fbf21ec8a1f45ec), UINT64_C (0x11317ba87905e790), UINT64_C (0x2fe4b17170e59750), UINT64_C (0xe8d9ecbe2cf3d73f), UINT64_C (0xb57d2e985e1419c7), UINT64_C (0x0572b974f03ce0bb), UINT64_C (0xa8d7e4dab780a08d), UINT64_C (0x4715ed43e8a45c0a), UINT64_C (0xc330de426430f69d), UINT64_C (0x23b70edb1955c4bf), UINT64_C (0x098954d51fff6580), UINT64_C (0x8107fccf064fcf56), UINT64_C (0x852f54934da55cc9), UINT64_C (0x09c7e552bc76492f), UINT64_C (0xe9f6760e32cd8021), UINT64_C (0xa3bc941d0a5061cb), UINT64_C (0xba89142e007503b8), UINT64_C (0xdc842b7e2819e230), UINT64_C (0xbbe83f4ecc2bdecb), UINT64_C (0xcd454f8f19c5126a), UINT64_C (0xc62c58f97dd949bf), UINT64_C (0x693501d628297551), UINT64_C (0xb9ab4ce57f2d34f3), UINT64_C (0x9255abb50d532280), UINT64_C (0xebfafa33d7254b59), UINT64_C (0xe9f6082b05542e4e), UINT64_C (0x35dd37d5871448af), UINT64_C (0xb03031a8b4516e84), UINT64_C (0xb3f256d8aca0b0b9), UINT64_C (0x0fd22063edc29fca), UINT64_C (0xd9a11fbb3d9808e4), UINT64_C (0x3a9bf55ba91f81ca), UINT64_C (0xc8c93882f9475f5f), UINT64_C (0x947ae053ee56e63c), UINT64_C (0xc7d9f16864a76e94), UINT64_C (0x7bd94e1d8e17debc), UINT64_C (0xd873db391292ed4f), UINT64_C (0x30f5611484119414), UINT64_C (0x565c31f7de89ea27), UINT64_C (0xd0e4366228b03343), UINT64_C (0x325928ee6e6f8794), UINT64_C (0x6f423357e7c6a9f9), UINT64_C (0x99170a5dc3115544), UINT64_C (0x59b97885e2f2ea28), UINT64_C (0xbc4097b116c524d2), UINT64_C (0x7a13f18bbedc4ff5), UINT64_C (0x071582401c38434d), UINT64_C (0xb422061193d6f6a7), UINT64_C (0xb4b81b3fa97511e2), UINT64_C (0x65d34954daf3cebd), UINT64_C (0xb344c470397bba52), UINT64_C (0xbac7a9a18531294b), UINT64_C (0xecb53939887e8175), UINT64_C (0x565601c0364e3228), UINT64_C (0xef1955914b609f93), UINT64_C (0x16f50edf91e513af), UINT64_C (0x56963b0dca418fc0), UINT64_C (0xd60f6dcedc314222), UINT64_C (0x364f6ffa464ee52e), UINT64_C (0x6c3b8e3e336139d3), UINT64_C (0xf943aee7febf21b8), UINT64_C (0x088e049589c432e0), UINT64_C (0xd49503536abca345), UINT64_C (0x3a6c27934e31188a), UINT64_C (0x957baf61700cff4e), UINT64_C (0x37624ae5a48fa6e9), UINT64_C (0x501f65edb3034d07), UINT64_C (0x907f30421d78c5de), UINT64_C (0x1a804aadb9cfa741), UINT64_C (0x0ce2a38c344a6eed), UINT64_C (0xd363eff5f0977996), UINT64_C (0x2cd16e2abd791e33), UINT64_C (0x58627e1a149bba21), UINT64_C (0x7f9b6af1ebf78baf) }, { UINT64_C (0xd20d8c88c8ffe65f), UINT64_C (0x917f1dd5f8886c61), UINT64_C (0x56986e2ef3ed091b), UINT64_C (0x5fa7867caf35e149), UINT64_C (0x81a1549fd6573da5), UINT64_C (0x96fbf83a12884624), UINT64_C (0xe728e8c83c334074), UINT64_C (0xf1bcc3d275afe51a), UINT64_C (0x71f1ce2490d20b07), UINT64_C (0xe6c42178c4bbb92e), UINT64_C (0x0a9c32d5eae45305), UINT64_C (0x0c335248857fa9e7), UINT64_C (0x142de49fff7a7c3d), UINT64_C (0x64a53dc924fe7ac9), UINT64_C (0x9f6a419d382595f4), UINT64_C (0x150f361dab9dec26), UINT64_C (0xc61bb3a141e50e8c), UINT64_C (0x2785338347f2ba08), UINT64_C (0x7ca9723fbb2e8988), UINT64_C (0xce2f8642ca0712dc), UINT64_C (0x59300222b4561e00), UINT64_C (0xc2b5a03f71471a6f), UINT64_C (0xd5f9e858292504d5), UINT64_C (0x65fa4f227a2b6d79), UINT64_C (0x93cbe0b699c2585d), UINT64_C (0x1d95b0a5fcf90bc6), UINT64_C (0x17efee45b0dee640), UINT64_C (0x9e4c1269baa4bf37), UINT64_C (0xd79476a84ee20d06), UINT64_C (0x0a56a5f0bfe39272), UINT64_C (0x7eba726d8c94094b), UINT64_C (0x5e5637885f29bc2b), UINT64_C (0xd586bd01c5c217f6), UINT64_C (0x233003b5a6cfe6ad), UINT64_C (0x24c0e332b70019b0), UINT64_C (0x9da058c67844f20c), UINT64_C (0xe4d9429322cd065a), UINT64_C (0x1fab64ea29a2ddf7), UINT64_C (0x8af38731c02ba980), UINT64_C (0x7dc7785b8efdfc80), UINT64_C (0x486289ddcc3d6780), UINT64_C (0x222bbfae61725606), UINT64_C (0x2bc60a63a6f3b3f2), UINT64_C (0x177e00f9fc32f791), UINT64_C (0x522e23f3925e319e), UINT64_C (0x9c2ed44081ce5fbd), UINT64_C (0x964781ce734b3c84), UINT64_C (0xf05d129681949a4c), UINT64_C (0x046e3ecaaf453ce9), UINT64_C (0x962aceefa82e1c84), UINT64_C (0xf5b4b0b0d2deeeb4), UINT64_C (0x1af3dbe25d8f45da), UINT64_C (0xf9f4892ed96bd438), UINT64_C (0xc4c118bfe78feaae), UINT64_C (0x07a69afdcc42261a), UINT64_C (0xf8549e1a3aa5e00d), UINT64_C (0x2102ae466ebb1148), UINT64_C (0xe87fbb46217a360e), UINT64_C (0x310cb380db6f7503), UINT64_C (0xb5fdfc5d3132c498), UINT64_C (0xdaf8e9829fe96b5f), UINT64_C (0xcac09afbddd2cdb4), UINT64_C (0xb862225b055b6960), UINT64_C (0x55b6344cf97aafae), UINT64_C (0xff577222c14f0a3a), UINT64_C (0x4e4b705b92903ba4), UINT64_C (0x730499af921549ff), UINT64_C (0x13ae978d09fe5557), UINT64_C (0xd9e92aa246bf719e), UINT64_C (0x7a4c10ec2158c4a6), UINT64_C (0x49cad48cebf4a71e), UINT64_C (0xcf05daf5ac8d77b0), UINT64_C (0xabbdcdd7ed5c0860), UINT64_C (0x9853eab63b5e0b35), UINT64_C (0x352787baa0d7c22f), UINT64_C (0xc7f6aa2de59aea61), UINT64_C (0x03727073c2e134b1), UINT64_C (0x5a0f544dd2b1fb18), UINT64_C (0x74f85198b05a2e7d), UINT64_C (0x963ef2c96b33be31), UINT64_C (0x4659d2b743848a2c), UINT64_C (0x19ebb029435dcb0f), UINT64_C (0x4e9d2827355fc492), UINT64_C (0xccec0a73b49c9921), UINT64_C (0x46c9feb55d120902), UINT64_C (0x8d2636b81555a786), UINT64_C (0x30c05b1ba332f41c), UINT64_C (0xf6f7fd1431714200), UINT64_C (0x1a4ff12616eefc89), UINT64_C (0x990a98fd5071d263), UINT64_C (0x84547ddc3e203c94), UINT64_C (0x07a3aec79624c7da), UINT64_C (0x8a328a1cedfe552c), UINT64_C (0xd1e649de1e7f268b), UINT64_C (0x2d8d5432157064c8), UINT64_C (0x4ae7d6a36eb5dbcb), UINT64_C (0x57e3306d881edb4f), UINT64_C (0x0a804d18b7097475), UINT64_C (0xe74733427b72f0c1), UINT64_C (0x24b33c9d7ed25117), UINT64_C (0xe805a1e290cf2456), UINT64_C (0x3b544ebe544c19f9), UINT64_C (0x3e666e6f69ae2c15), UINT64_C (0xfb152fe3ff26da89), UINT64_C (0xb49b52e587a1ee60), UINT64_C (0xac042e70f8b383f2), UINT64_C (0x89c350c893ae7dc1), UINT64_C (0xb592bf39b0364963), UINT64_C (0x190e714fada5156e), UINT64_C (0xec8177f83f900978), UINT64_C (0x91b534f885818a06), UINT64_C (0x81536d601170fc20), UINT64_C (0xd4c718bc4ae8ae5f), UINT64_C (0x9eedeca8e272b933), UINT64_C (0x10e8b35af3eeab37), UINT64_C (0x0e09b88e1914f7af), UINT64_C (0x3fa9ddfb67e2f199), UINT64_C (0xb10bb459132d0a26), UINT64_C (0x2c046f22062dc67d), UINT64_C (0x5e90277e7cb39e2d), UINT64_C (0xd6b04d3b7651dd7e), UINT64_C (0xe34a1d250e7a8d6b), UINT64_C (0x53c065c6c8e63528), UINT64_C (0x1bdea12e35f6a8c9), UINT64_C (0x21874b8b4d2dbc4f), UINT64_C (0x3a88a0fbbcb05c63), UINT64_C (0x43ed7f5a0fae657d), UINT64_C (0x230e343dfba08d33), UINT64_C (0xb5b4071dbfc73a66), UINT64_C (0x8f9887e6078735a1), UINT64_C (0x08de8a1c7797da9b), UINT64_C (0xfcb6be43a9f2fe9b), UINT64_C (0x049a7f41061a9e60), UINT64_C (0x9f91508bffcfc14a), UINT64_C (0xe3273522064480ca), UINT64_C (0xcd04f3ff001a4778), UINT64_C (0x6bfa9aae5ec05779), UINT64_C (0x371f77e76bb8417e), UINT64_C (0x3550c2321fd6109c), UINT64_C (0xfb4a3d794a9a80d2), UINT64_C (0xf43c732873f24c13), UINT64_C (0xaa9119ff184cccf4), UINT64_C (0xb69e38a8965c6b65), UINT64_C (0x1f2b1d1f15f6dc9c), UINT64_C (0x67fef95d92607890), UINT64_C (0x31865ced6120f37d), UINT64_C (0x3a6853c7e70757a7), UINT64_C (0x32ab0edb696703d3), UINT64_C (0xee97f453f06791ed), UINT64_C (0x6dc93d9526a50e68), UINT64_C (0x78edefd694af1eed), UINT64_C (0x9c1169fa2777b874), UINT64_C (0x50065e535a213cf6), UINT64_C (0xde0c89a556b9ae70), UINT64_C (0xd1e0ccd25bb9c169), UINT64_C (0x6b17b224bad6bf27), UINT64_C (0x6b02e63195ad0cf8), UINT64_C (0x455a4b4cfe30e3f5), UINT64_C (0x9338e69c052b8e7b), UINT64_C (0x5092ef950a16da0b), UINT64_C (0x7c45d833aff07862), UINT64_C (0xa5b1cfdba0ab4067), UINT64_C (0x6ad047c430a12104), UINT64_C (0x6c47bec883a7de39), UINT64_C (0x944f6de09134dfb6), UINT64_C (0x9aeba33ac6ecc6b0), UINT64_C (0x52e762596bf68235), UINT64_C (0x22af003ab672e811), UINT64_C (0xb5635c95ff7296e2), UINT64_C (0xed2df21216235097), UINT64_C (0x4a29c6465a314cd1), UINT64_C (0xd83cc2687a19255f), UINT64_C (0x506c11b9d90e8b1d), UINT64_C (0x57277707199b8175), UINT64_C (0xcaf21ecd4377b28c), UINT64_C (0xc0c0f5a60ef4cdcf), UINT64_C (0x93b633abfa3469f8), UINT64_C (0xe846963877671a17), UINT64_C (0x59ac2c7873f910a3), UINT64_C (0x660d3257380841ee), UINT64_C (0xd813f2fab7f5c5ca), UINT64_C (0x4112cf68649a260e), UINT64_C (0x443f64ec5a371195), UINT64_C (0xb0774d261cc609db), UINT64_C (0x720bf5f26f4d2eaa), UINT64_C (0x1c2559e30f0946be), UINT64_C (0xe328e230e3e2b3fb), UINT64_C (0x087e79e5a57d1d13), UINT64_C (0x08dd9bdfd96b9f63), UINT64_C (0x64d0e29eea8838b3), UINT64_C (0xddf957bc36d8b9ca), UINT64_C (0x6ffe73e81b637fb3), UINT64_C (0x1a4e4822eb4d7a59), UINT64_C (0x5d94337fbfaf7f5b), UINT64_C (0xd30c088ba61ea5ef), UINT64_C (0x9d765e419fb69f6d), UINT64_C (0x9e21f4f903b33fd9), UINT64_C (0xb4d8f77bc3e56167), UINT64_C (0x733ea705fae4fa77), UINT64_C (0xa4ec0132764ca04b), UINT64_C (0x7976033a39f7d952), UINT64_C (0x106f72fe81e2c590), UINT64_C (0x8c90fd9b083f4558), UINT64_C (0xfd080d236da814ba), UINT64_C (0x7b64978555326f9f), UINT64_C (0x60e8ed72c0dff5d1), UINT64_C (0xb063e962e045f54d), UINT64_C (0x959f587d507a8359), UINT64_C (0x758f450c88572e0b), UINT64_C (0x1b6baca2ae4e125b), UINT64_C (0x61cf4f94c97df93d), UINT64_C (0x2738259634305c14), UINT64_C (0xd39bb9c3a48db6cf), UINT64_C (0x8215e577001332c8), UINT64_C (0xa1082c0466df6c0a), UINT64_C (0xef02cdd06ffdb432), UINT64_C (0xfc87614baf287e07), UINT64_C (0x240ab57a8b888b20), UINT64_C (0xbf8d5108e27e0d48), UINT64_C (0x61bdd1307c66e300), UINT64_C (0xb925a6cd0421aff3), UINT64_C (0x3e003e616a6591e9), UINT64_C (0x94c3251f06f90cf3), UINT64_C (0xbf84470805e69b5f), UINT64_C (0x98f076a4f7a2322e), UINT64_C (0x70cb6af7c2d5bcf0), UINT64_C (0xb64be8d8b25396c1), UINT64_C (0xa9aa4d20db084e9b), UINT64_C (0x2e6d02c36017f67f), UINT64_C (0xefed53d75fd64e6b), UINT64_C (0xd9f1f30ccd97fb09), UINT64_C (0xa2ebee47e2fbfce1), UINT64_C (0xb8d91274b9e9d4fb), UINT64_C (0x1db956e450275779), UINT64_C (0x4fc8e9560f91b123), UINT64_C (0x63573ff03e224774), UINT64_C (0x0647dfedcd894a29), UINT64_C (0x7884d9bc6cb569d8), UINT64_C (0x7fba195410e5ca30), UINT64_C (0x106c09b972d2e822), UINT64_C (0x241260ed4ad1e87d), UINT64_C (0x64c8e531bff53b55), UINT64_C (0xca672b91e9e4fa16), UINT64_C (0x3871700761b3f743), UINT64_C (0xf95cffa23af5f6f4), UINT64_C (0x8d14dedb30be846e), UINT64_C (0x3b097adaf088f94e), UINT64_C (0x21e0bd5026c619bf), UINT64_C (0x1bda0492e7e4586e), UINT64_C (0xd23c8e176d113600), UINT64_C (0x252f59cf0d9f04bb), UINT64_C (0xb3598080ce64a656), UINT64_C (0x993e1de72d36d310), UINT64_C (0xa2853b80f17f58ee), UINT64_C (0x1877b51e57a764d5), UINT64_C (0x001f837cc7350524) } #endif }; int main (int argc, char **argv) { unsigned int i; isaac_word r[ISAAC_WORDS]; int iterations; /* Seed with zeros, and discard the first buffer of output, as that's what the standard programs do. */ static struct isaac_state s; isaac_seed (&s); isaac_refill (&s, r); for (i = 0; i < sizeof expected / sizeof expected[0]; i++) { isaac_refill (&s, r); ASSERT (memcmp (r, expected[i], sizeof r) == 0); } /* If invoked with a positive argument, run a benchmark; if with a negative, run a do-nothing benchmark. */ for (iterations = argc <= 1 ? 0 : strtol (argv[1], NULL, 10); iterations != 0; iterations += (iterations < 0 ? 1 : -1)) if (0 <= iterations) isaac_refill (&s, r); return 0; } coreutils-8.21/gnulib-tests/test-cloexec.c0000664000000000000000000000770312071024546015541 00000000000000/* Test duplicating non-inheritable file descriptors. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "cloexec.h" #include #include #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #include "binary-io.h" #include "macros.h" /* Return non-zero if FD is open and inheritable across exec/spawn. */ static int is_inheritable (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) return 0; return (flags & HANDLE_FLAG_INHERIT) != 0; #else # ifndef F_GETFD # error Please port fcntl to your platform # endif int i = fcntl (fd, F_GETFD); return 0 <= i && (i & FD_CLOEXEC) == 0; #endif } #if !O_BINARY # define setmode(f,m) zero () static int zero (void) { return 0; } #endif /* Return non-zero if FD is open in the given MODE, which is either O_TEXT or O_BINARY. */ static int is_mode (int fd, int mode) { int value = setmode (fd, O_BINARY); setmode (fd, value); return mode == value; } int main (void) { const char *file = "test-cloexec.tmp"; int fd = creat (file, 0600); int fd2; /* Assume std descriptors were provided by invoker. */ ASSERT (STDERR_FILENO < fd); ASSERT (is_inheritable (fd)); /* Normal use of set_cloexec_flag. */ ASSERT (set_cloexec_flag (fd, true) == 0); #if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) ASSERT (!is_inheritable (fd)); #endif ASSERT (set_cloexec_flag (fd, false) == 0); ASSERT (is_inheritable (fd)); /* Normal use of dup_cloexec. */ fd2 = dup_cloexec (fd); ASSERT (fd < fd2); ASSERT (!is_inheritable (fd2)); ASSERT (close (fd) == 0); ASSERT (dup_cloexec (fd2) == fd); ASSERT (!is_inheritable (fd)); ASSERT (close (fd2) == 0); /* On systems that distinguish between text and binary mode, dup_cloexec reuses the mode of the source. */ setmode (fd, O_BINARY); ASSERT (is_mode (fd, O_BINARY)); fd2 = dup_cloexec (fd); ASSERT (fd < fd2); ASSERT (is_mode (fd2, O_BINARY)); ASSERT (close (fd2) == 0); setmode (fd, O_TEXT); ASSERT (is_mode (fd, O_TEXT)); fd2 = dup_cloexec (fd); ASSERT (fd < fd2); ASSERT (is_mode (fd2, O_TEXT)); ASSERT (close (fd2) == 0); /* Test error handling. */ errno = 0; ASSERT (set_cloexec_flag (-1, false) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (set_cloexec_flag (10000000, false) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (set_cloexec_flag (fd2, false) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup_cloexec (-1) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup_cloexec (10000000) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup_cloexec (fd2) == -1); ASSERT (errno == EBADF); /* Clean up. */ ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/test-readtokens.c0000664000000000000000000000450312071024546016251 00000000000000/* Test the readtokens module. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include "readtokens.h" #include "closeout.h" #include "macros.h" static void basic (void) { char const *filename = "in.827"; int fd = open (filename, O_CREAT | O_WRONLY, 0600); ASSERT (fd >= 0); ASSERT (write (fd, "a|b;c+d", 7) == 7); ASSERT (close (fd) == 0); { token_buffer tb; FILE *fp = fopen (filename, "r"); ASSERT (fp); init_tokenbuffer (&tb); ASSERT (readtoken (fp, "|;", 2, &tb) == 1 && tb.buffer[0] == 'a'); ASSERT (readtoken (fp, "|;", 2, &tb) == 1 && tb.buffer[0] == 'b'); ASSERT (readtoken (fp, "+", 1, &tb) == 1 && tb.buffer[0] == 'c'); ASSERT (readtoken (fp, "-", 1, &tb) == 1 && tb.buffer[0] == 'd'); ASSERT (readtoken (fp, "%", 0, &tb) == (size_t) -1); ASSERT ( ! ferror (fp)); ASSERT (fclose (fp) == 0); } } int main (int argc, char **argv) { token_buffer tb; char const *delim; size_t delim_len; atexit (close_stdout); if (argc == 1) { basic (); return 0; } init_tokenbuffer (&tb); if (argc != 2) return 99; delim = argv[1]; delim_len = strlen (delim); if (STREQ (delim, "\\0")) { delim = ""; delim_len = 1; } while (1) { size_t token_length = readtoken (stdin, delim, delim_len, &tb); if (token_length == (size_t) -1) break; fwrite (tb.buffer, 1, token_length, stdout); putchar (':'); } putchar ('\n'); free (tb.buffer); ASSERT ( ! ferror (stdin)); return 0; } coreutils-8.21/gnulib-tests/test-xstrtoimax.sh0000775000000000000000000000211611777552746016551 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . too_big=99999999999999999999999999999999999999999999999999999999999999999999 result=0 # test xstrtoimax test-xstrtoimax 1 >> out 2>&1 || result=1 test-xstrtoimax -1 >> out 2>&1 || result=1 test-xstrtoimax 1k >> out 2>&1 || result=1 test-xstrtoimax ${too_big}h >> out 2>&1 && result=1 test-xstrtoimax $too_big >> out 2>&1 && result=1 test-xstrtoimax x >> out 2>&1 && result=1 test-xstrtoimax 9x >> out 2>&1 && result=1 test-xstrtoimax 010 >> out 2>&1 || result=1 test-xstrtoimax MiB >> out 2>&1 || result=1 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. if echo solaris | tr -d '\r' | grep solais > /dev/null; then cr='\015' else cr='\r' fi # normalize output LC_ALL=C tr -d "$cr" < out > k mv k out # compare expected output cat > exp <1 () -1->-1 () 1k->1024 () invalid suffix in X argument '${too_big}h' X argument '$too_big' too large invalid X argument 'x' invalid suffix in X argument '9x' 010->8 () MiB->1048576 () EOF compare exp out || result=1 Exit $result coreutils-8.21/gnulib-tests/test-link.h0000664000000000000000000001355412071024546015062 00000000000000/* Test of link() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file is designed to test both link(a,b) and linkat(AT_FDCWD,a,AT_FDCWD,b,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping tests with status 77. This test does not try to create hard links to symlinks, but does test other aspects of symlink. */ static int test_link (int (*func) (char const *, char const *), bool print) { int fd; int ret; /* Create first file. */ fd = open (BASE "a", O_CREAT | O_EXCL | O_WRONLY, 0600); ASSERT (0 <= fd); ASSERT (write (fd, "hello", 5) == 5); ASSERT (close (fd) == 0); /* Not all file systems support link. Mingw doesn't have reliable st_nlink on hard links, but our implementation does fail with EPERM on poor file systems, and we can detect the inferior stat() via st_ino. Cygwin 1.5.x copies rather than links files on those file systems, but there, st_nlink and st_ino are reliable. */ ret = func (BASE "a", BASE "b"); if (!ret) { struct stat st; ASSERT (stat (BASE "b", &st) == 0); if (st.st_ino && st.st_nlink != 2) { ASSERT (unlink (BASE "b") == 0); errno = EPERM; ret = -1; } } if (ret == -1) { /* If the device does not support hard links, errno is EPERM on Linux, EOPNOTSUPP on FreeBSD. */ switch (errno) { case EPERM: case EOPNOTSUPP: if (print) fputs ("skipping test: " "hard links not supported on this file system\n", stderr); ASSERT (unlink (BASE "a") == 0); return 77; default: perror ("link"); return 1; } } ASSERT (ret == 0); /* Now, for some behavior tests. Modify the contents of 'b', and ensure that 'a' can see it, both while 'b' exists and after. */ fd = open (BASE "b", O_APPEND | O_WRONLY); ASSERT (0 <= fd); ASSERT (write (fd, "world", 5) == 5); ASSERT (close (fd) == 0); { char buf[11] = { 0 }; fd = open (BASE "a", O_RDONLY); ASSERT (0 <= fd); ASSERT (read (fd, buf, 10) == 10); ASSERT (strcmp (buf, "helloworld") == 0); ASSERT (close (fd) == 0); ASSERT (unlink (BASE "b") == 0); fd = open (BASE "a", O_RDONLY); ASSERT (0 <= fd); ASSERT (read (fd, buf, 10) == 10); ASSERT (strcmp (buf, "helloworld") == 0); ASSERT (close (fd) == 0); } /* Test for various error conditions. */ ASSERT (mkdir (BASE "d", 0700) == 0); errno = 0; ASSERT (func (BASE "a", ".") == -1); ASSERT (errno == EEXIST || errno == EINVAL); errno = 0; ASSERT (func (BASE "a", BASE "a") == -1); ASSERT (errno == EEXIST); ASSERT (func (BASE "a", BASE "b") == 0); errno = 0; ASSERT (func (BASE "a", BASE "b") == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func (BASE "a", BASE "d") == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func (BASE "c", BASE "e") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "a", BASE "c/.") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "a/", BASE "c") == -1); ASSERT (errno == ENOTDIR || errno == EINVAL); errno = 0; ASSERT (func (BASE "a", BASE "c/") == -1); ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EINVAL); /* Most platforms reject hard links to directories, and even on those that do permit it, most users can't create them. We assume that if this test is run as root and we managed to create a hard link, then unlink better be able to clean it up. */ { int result; errno = 0; result = func (BASE "d", BASE "c"); if (result == 0) { /* Probably root on Solaris. */ ASSERT (unlink (BASE "c") == 0); } else { /* Most everyone else. */ ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR); errno = 0; ASSERT (func (BASE "d/.", BASE "c") == -1); ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR || errno == EINVAL); errno = 0; ASSERT (func (BASE "d/.//", BASE "c") == -1); ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR || errno == EINVAL); } } ASSERT (unlink (BASE "a") == 0); errno = 0; ASSERT (unlink (BASE "c") == -1); ASSERT (errno == ENOENT); ASSERT (rmdir (BASE "d") == 0); /* Test invalid use of symlink. */ if (symlink (BASE "a", BASE "link") != 0) { ASSERT (unlink (BASE "b") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; ASSERT (func (BASE "b", BASE "link/") == -1); ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EEXIST || errno == EINVAL); errno = 0; ASSERT (func (BASE "b", BASE "link") == -1); ASSERT (errno == EEXIST); ASSERT (rename (BASE "b", BASE "a") == 0); errno = 0; ASSERT (func (BASE "link/", BASE "b") == -1); ASSERT (errno == ENOTDIR || errno == EEXIST || errno == EINVAL); /* Clean up. */ ASSERT (unlink (BASE "a") == 0); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-alignof.c0000664000000000000000000000306012071024546015526 00000000000000/* Test of . Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include #include #include "verify.h" typedef long double longdouble; typedef struct { char a[1]; } struct1; typedef struct { char a[2]; } struct2; typedef struct { char a[3]; } struct3; typedef struct { char a[4]; } struct4; #define CHECK(type) \ typedef struct { char slot1; type slot2; } type##_helper; \ verify (alignof_slot (type) == offsetof (type##_helper, slot2)); \ const int type##_slot_alignment = alignof_slot (type); \ const int type##_type_alignment = alignof_type (type); CHECK (char) CHECK (short) CHECK (int) CHECK (long) CHECK (float) CHECK (double) CHECK (longdouble) #ifdef INT64_MAX CHECK (int64_t) #endif CHECK (struct1) CHECK (struct2) CHECK (struct3) CHECK (struct4) int main () { return 0; } coreutils-8.21/gnulib-tests/test-file-has-acl-2.sh0000775000000000000000000000030011636617713016672 00000000000000#!/bin/sh # Test file-has-acl on the file system of the build directory, which may be # a local file system or NFS mounted. TMPDIR=`pwd` export TMPDIR exec "${srcdir}/test-file-has-acl.sh" coreutils-8.21/gnulib-tests/test-unistd.c0000664000000000000000000000304712071024546015422 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that the various *_FILENO macros are defined. */ #if ! (defined STDIN_FILENO \ && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3)) missing or broken *_FILENO macros #endif /* Check that the types are all defined. */ size_t t1; ssize_t t2; #ifdef TODO /* Not implemented in gnulib yet */ uid_t t3; gid_t t4; #endif off_t t5; pid_t t6; #ifdef TODO useconds_t t7; intptr_t t8; #endif int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-ftello.sh0000775000000000000000000000017311624730152015571 00000000000000#!/bin/sh ./test-ftello${EXEEXT} 1 < "$srcdir/test-ftello.sh" || exit 1 echo hi | ./test-ftello${EXEEXT} || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-ftello4.sh0000775000000000000000000000011711641440730015652 00000000000000#!/bin/sh ./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-vasnprintf.c0000664000000000000000000000433512071024546016307 00000000000000/* Test of vasnprintf() and asnprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "vasnprintf.h" #include #include #include #include "macros.h" static void test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { char buf[8]; int size; for (size = 0; size <= 8; size++) { size_t length = size; char *result = my_asnprintf (NULL, &length, "%d", 12345); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); ASSERT (length == 5); free (result); } for (size = 0; size <= 8; size++) { size_t length; char *result; memcpy (buf, "DEADBEEF", 8); length = size; result = my_asnprintf (buf, &length, "%d", 12345); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); ASSERT (length == 5); if (size < 6) ASSERT (result != buf); ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); if (result != buf) free (result); } } static char * my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) { va_list args; char *ret; va_start (args, format); ret = vasnprintf (resultbuf, lengthp, format, args); va_end (args); return ret; } static void test_vasnprintf () { test_function (my_asnprintf); } static void test_asnprintf () { test_function (asnprintf); } int main (int argc, char *argv[]) { test_vasnprintf (); test_asnprintf (); return 0; } coreutils-8.21/gnulib-tests/test-lstat.h0000664000000000000000000000727012071024546015252 00000000000000/* Test of lstat() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */ /* This file is designed to test both lstat(n,buf) and fstatat(AT_FDCWD,n,buf,AT_SYMLINK_NOFOLLOW). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_lstat_func (int (*func) (char const *, struct stat *), bool print) { struct stat st1; struct stat st2; /* Test for common directories. */ ASSERT (func (".", &st1) == 0); ASSERT (func ("./", &st2) == 0); ASSERT (SAME_INODE (st1, st2)); ASSERT (S_ISDIR (st1.st_mode)); ASSERT (S_ISDIR (st2.st_mode)); ASSERT (func ("/", &st1) == 0); ASSERT (func ("///", &st2) == 0); ASSERT (SAME_INODE (st1, st2)); ASSERT (S_ISDIR (st1.st_mode)); ASSERT (S_ISDIR (st2.st_mode)); ASSERT (func ("..", &st1) == 0); ASSERT (S_ISDIR (st1.st_mode)); /* Test for error conditions. */ errno = 0; ASSERT (func ("", &st1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("nosuch", &st1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("nosuch/", &st1) == -1); ASSERT (errno == ENOENT); ASSERT (close (creat (BASE "file", 0600)) == 0); ASSERT (func (BASE "file", &st1) == 0); ASSERT (S_ISREG (st1.st_mode)); errno = 0; ASSERT (func (BASE "file/", &st1) == -1); ASSERT (errno == ENOTDIR); /* Now for some symlink tests, where supported. We set up: link1 -> directory link2 -> file link3 -> dangling link4 -> loop then test behavior both with and without trailing slash. */ if (symlink (".", BASE "link1") != 0) { ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (symlink (BASE "file", BASE "link2") == 0); ASSERT (symlink (BASE "nosuch", BASE "link3") == 0); ASSERT (symlink (BASE "link4", BASE "link4") == 0); ASSERT (func (BASE "link1", &st1) == 0); ASSERT (S_ISLNK (st1.st_mode)); ASSERT (func (BASE "link1/", &st1) == 0); ASSERT (stat (BASE "link1", &st2) == 0); ASSERT (S_ISDIR (st1.st_mode)); ASSERT (S_ISDIR (st2.st_mode)); ASSERT (SAME_INODE (st1, st2)); ASSERT (func (BASE "link2", &st1) == 0); ASSERT (S_ISLNK (st1.st_mode)); errno = 0; ASSERT (func (BASE "link2/", &st1) == -1); ASSERT (errno == ENOTDIR); ASSERT (func (BASE "link3", &st1) == 0); ASSERT (S_ISLNK (st1.st_mode)); errno = 0; ASSERT (func (BASE "link3/", &st1) == -1); ASSERT (errno == ENOENT); ASSERT (func (BASE "link4", &st1) == 0); ASSERT (S_ISLNK (st1.st_mode)); errno = 0; ASSERT (func (BASE "link4/", &st1) == -1); ASSERT (errno == ELOOP); /* Cleanup. */ ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link1") == 0); ASSERT (unlink (BASE "link2") == 0); ASSERT (unlink (BASE "link3") == 0); ASSERT (unlink (BASE "link4") == 0); return 0; } coreutils-8.21/gnulib-tests/test-c-strcase.sh0000775000000000000000000000114311624730150016164 00000000000000#!/bin/sh # Test in the C locale. ./test-c-strcasecmp${EXEEXT} || exit 1 ./test-c-strncasecmp${EXEEXT} || exit 1 # Test in an ISO-8859-1 or ISO-8859-15 locale. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR ./test-c-strcasecmp${EXEEXT} locale || exit 1 LC_ALL=$LOCALE_FR ./test-c-strncasecmp${EXEEXT} locale || exit 1 fi # Test in a Turkish UTF-8 locale. : ${LOCALE_TR_UTF8=tr_TR.UTF-8} if test $LOCALE_TR_UTF8 != none; then LC_ALL=$LOCALE_TR_UTF8 ./test-c-strcasecmp${EXEEXT} locale || exit 1 LC_ALL=$LOCALE_TR_UTF8 ./test-c-strncasecmp${EXEEXT} locale || exit 1 fi exit 0 coreutils-8.21/gnulib-tests/test-lseek.c0000664000000000000000000000632212100637437015220 00000000000000/* Test of lseek() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake, 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (lseek, off_t, (int, off_t, int)); #include #include "macros.h" /* ARGC must be 2; *ARGV[1] is '0' if stdin and stdout are files, '1' if they are pipes, and '2' if they are closed. Check for proper semantics of lseek. */ int main (int argc, char **argv) { if (argc != 2) return 2; switch (*argv[1]) { case '0': /* regular files */ ASSERT (lseek (0, (off_t)2, SEEK_SET) == 2); ASSERT (lseek (0, (off_t)-4, SEEK_CUR) == -1); ASSERT (errno == EINVAL); errno = 0; #if ! defined __BEOS__ /* POSIX says that the last lseek call, when failing, does not change the current offset. But BeOS sets it to 0. */ ASSERT (lseek (0, (off_t)0, SEEK_CUR) == 2); #endif #if 0 /* leads to SIGSYS on IRIX 6.5 */ ASSERT (lseek (0, (off_t)0, (SEEK_SET | SEEK_CUR | SEEK_END) + 1) == -1); ASSERT (errno == EINVAL); #endif ASSERT (lseek (1, (off_t)2, SEEK_SET) == 2); errno = 0; ASSERT (lseek (1, (off_t)-4, SEEK_CUR) == -1); ASSERT (errno == EINVAL); errno = 0; #if ! defined __BEOS__ /* POSIX says that the last lseek call, when failing, does not change the current offset. But BeOS sets it to 0. */ ASSERT (lseek (1, (off_t)0, SEEK_CUR) == 2); #endif #if 0 /* leads to SIGSYS on IRIX 6.5 */ ASSERT (lseek (1, (off_t)0, (SEEK_SET | SEEK_CUR | SEEK_END) + 1) == -1); ASSERT (errno == EINVAL); #endif break; case '1': /* pipes */ errno = 0; ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == ESPIPE); errno = 0; ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == ESPIPE); break; case '2': /* closed */ /* Explicitly close file descriptors 0 and 1. The <&- and >&- in the invoking shell are not enough on HP-UX. */ close (0); close (1); errno = 0; ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); /* Test behaviour for invalid file descriptors. */ errno = 0; ASSERT (lseek (-1, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); close (99); errno = 0; ASSERT (lseek (99, (off_t)0, SEEK_CUR) == -1); ASSERT (errno == EBADF); break; default: return 1; } return 0; } coreutils-8.21/gnulib-tests/test-fadvise.c0000664000000000000000000000324212102337340015524 00000000000000/* Test that fadvise works as advertised. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #include #include #include "fadvise.h" /* We ignore any errors as these hints are only advisory. * There is the chance one can pass invalid ADVICE, which will * not be indicated, but given the simplicity of the interface * this is unlikely. Also not returning errors allows the * unconditional passing of descriptors to non standard files, * which will just be ignored if unsupported. */ int main (void) { /* Valid. */ fadvise (stdin, FADVISE_SEQUENTIAL); fdadvise (fileno (stdin), 0, 0, FADVISE_RANDOM); /* Ignored. */ fadvise (NULL, FADVISE_RANDOM); /* Invalid. */ fdadvise (42, 0, 0, FADVISE_RANDOM); /* Unfortunately C enums are not types. One could hack type safety by wrapping in a struct, but it's probably not worth the complexity in this case. */ fadvise (stdin, FADVISE_SEQUENTIAL + FADVISE_RANDOM); fadvise (stdin, 4242); return 0; } coreutils-8.21/gnulib-tests/test-mbsstr1.c0000664000000000000000000000651412071024546015511 00000000000000/* Test of searching in a string. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include "macros.h" int main () { /* This test is executed in the C locale. */ { const char input[] = "foo"; const char *result = mbsstr (input, ""); ASSERT (result == input); } { const char input[] = "foo"; const char *result = mbsstr (input, "o"); ASSERT (result == input + 1); } { const char input[] = "ABC ABCDAB ABCDABCDABDE"; const char *result = mbsstr (input, "ABCDABD"); ASSERT (result == input + 15); } { const char input[] = "ABC ABCDAB ABCDABCDABDE"; const char *result = mbsstr (input, "ABCDABE"); ASSERT (result == NULL); } /* Check that a very long haystack is handled quickly if the needle is short and occurs near the beginning. */ { size_t repeat = 10000; size_t m = 1000000; const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; char *haystack = (char *) malloc (m + 1); if (haystack != NULL) { memset (haystack, 'A', m); haystack[0] = 'B'; haystack[m] = '\0'; for (; repeat > 0; repeat--) { ASSERT (mbsstr (haystack, needle) == haystack + 1); } free (haystack); } } /* Check that a very long needle is discarded quickly if the haystack is short. */ { size_t repeat = 10000; size_t m = 1000000; const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1); if (needle != NULL) { memset (needle, 'A', m); needle[m] = '\0'; for (; repeat > 0; repeat--) { ASSERT (mbsstr (haystack, needle) == NULL); } free (needle); } } /* Check that the asymptotic worst-case complexity is not quadratic. */ { size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 2); char *needle = (char *) malloc (m + 2); if (haystack != NULL && needle != NULL) { const char *result; memset (haystack, 'A', 2 * m); haystack[2 * m] = 'B'; haystack[2 * m + 1] = '\0'; memset (needle, 'A', m); needle[m] = 'B'; needle[m + 1] = '\0'; result = mbsstr (haystack, needle); ASSERT (result == haystack + m); } free (needle); free (haystack); } return 0; } coreutils-8.21/gnulib-tests/test-iswblank.c0000664000000000000000000000204212071024546015720 00000000000000/* Test of iswblank() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "macros.h" /* Check that WEOF is defined. */ wint_t e = WEOF; int main (void) { /* Check that the function exist as a function or as a macro. */ (void) iswblank (0); /* Check that the isw* functions map WEOF to 0. */ ASSERT (!iswblank (e)); return 0; } coreutils-8.21/gnulib-tests/test-memchr.c0000664000000000000000000000731212071024546015366 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Eric Blake and Bruno Haible * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (memchr, void *, (void const *, int, size_t)); #include #include "zerosize-ptr.h" #include "macros.h" /* Calculating void * + int is not portable, so this wrapper converts to char * to make the tests easier to write. */ #define MEMCHR (char *) memchr int main (void) { size_t n = 0x100000; char *input = malloc (n); ASSERT (input); input[0] = 'a'; input[1] = 'b'; memset (input + 2, 'c', 1024); memset (input + 1026, 'd', n - 1028); input[n - 2] = 'e'; input[n - 1] = 'a'; /* Basic behavior tests. */ ASSERT (MEMCHR (input, 'a', n) == input); ASSERT (MEMCHR (input, 'a', 0) == NULL); ASSERT (MEMCHR (zerosize_ptr (), 'a', 0) == NULL); ASSERT (MEMCHR (input, 'b', n) == input + 1); ASSERT (MEMCHR (input, 'c', n) == input + 2); ASSERT (MEMCHR (input, 'd', n) == input + 1026); ASSERT (MEMCHR (input + 1, 'a', n - 1) == input + n - 1); ASSERT (MEMCHR (input + 1, 'e', n - 1) == input + n - 2); ASSERT (MEMCHR (input + 1, 0x789abc00 | 'e', n - 1) == input + n - 2); ASSERT (MEMCHR (input, 'f', n) == NULL); ASSERT (MEMCHR (input, '\0', n) == NULL); /* Check that a very long haystack is handled quickly if the byte is found near the beginning. */ { size_t repeat = 10000; for (; repeat > 0; repeat--) { ASSERT (MEMCHR (input, 'c', n) == input + 2); } } /* Alignment tests. */ { int i, j; for (i = 0; i < 32; i++) { for (j = 0; j < 256; j++) input[i + j] = j; for (j = 0; j < 256; j++) { ASSERT (MEMCHR (input + i, j, 256) == input + i + j); } } } /* Check that memchr() does not read past the first occurrence of the byte being searched. See the Austin Group's clarification . Test both '\0' and something else, since some implementations special-case searching for NUL. */ { char *page_boundary = (char *) zerosize_ptr (); /* Too small, and we miss cache line boundary tests; too large, and the test takes cubically longer to complete. */ int limit = 257; if (page_boundary != NULL) { for (n = 1; n <= limit; n++) { char *mem = page_boundary - n; memset (mem, 'X', n); ASSERT (MEMCHR (mem, 'U', n) == NULL); ASSERT (MEMCHR (mem, 0, n) == NULL); { size_t i; size_t k; for (i = 0; i < n; i++) { mem[i] = 'U'; for (k = i + 1; k < n + limit; k++) ASSERT (MEMCHR (mem, 'U', k) == mem + i); mem[i] = 0; for (k = i + 1; k < n + limit; k++) ASSERT (MEMCHR (mem, 0, k) == mem + i); mem[i] = 'X'; } } } } } free (input); return 0; } coreutils-8.21/gnulib-tests/test-langinfo.c0000664000000000000000000000357112071024546015713 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include /* Check that all the nl_item values are defined. */ int items[] = { /* nl_langinfo items of the LC_CTYPE category */ CODESET, /* nl_langinfo items of the LC_NUMERIC category */ RADIXCHAR, THOUSEP, /* nl_langinfo items of the LC_TIME category */ D_T_FMT, D_FMT, T_FMT, T_FMT_AMPM, AM_STR, PM_STR, DAY_1, DAY_2, DAY_3, DAY_4, DAY_5, DAY_6, DAY_7, ABDAY_1, ABDAY_2, ABDAY_3, ABDAY_4, ABDAY_5, ABDAY_6, ABDAY_7, MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, MON_7, MON_8, MON_9, MON_10, MON_11, MON_12, ABMON_1, ABMON_2, ABMON_3, ABMON_4, ABMON_5, ABMON_6, ABMON_7, ABMON_8, ABMON_9, ABMON_10, ABMON_11, ABMON_12, ERA, ERA_D_FMT, ERA_D_T_FMT, ERA_T_FMT, ALT_DIGITS, /* nl_langinfo items of the LC_MONETARY category */ CRNCYSTR, /* nl_langinfo items of the LC_MESSAGES category */ YESEXPR, NOEXPR }; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-arpa_inet.c0000664000000000000000000000156312071024546016057 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-xalloc-die.c0000664000000000000000000000171712071024546016137 00000000000000/* Test of xalloc_die() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson , 2009. */ #include #include "xalloc.h" #include "progname.h" int main (int argc _GL_UNUSED, char **argv) { set_program_name (argv[0]); xalloc_die (); return 0; } coreutils-8.21/gnulib-tests/test-sameacls.c0000664000000000000000000005252512071024546015711 00000000000000/* Test whether two files have the same ACLs. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include #include #include #include #if HAVE_ACL_GET_FILE || HAVE_FACL || HAVE_GETACL || HAVE_ACLX_GET || HAVE_STATACL || HAVE_ACLSORT # include # include #endif #if HAVE_ACLV_H # include # include #endif #include "progname.h" #include "read-file.h" #include "xalloc.h" #include "macros.h" int main (int argc, char *argv[]) { const char *file1; const char *file2; set_program_name (argv[0]); ASSERT (argc == 3); file1 = argv[1]; file2 = argv[2]; /* Compare the contents of the two files. */ { size_t size1; char *contents1; size_t size2; char *contents2; contents1 = read_file (file1, &size1); if (contents1 == NULL) { fprintf (stderr, "error reading file %s: errno = %d\n", file1, errno); fflush (stderr); abort (); } contents2 = read_file (file2, &size2); if (contents2 == NULL) { fprintf (stderr, "error reading file %s: errno = %d\n", file2, errno); fflush (stderr); abort (); } if (size2 != size1) { fprintf (stderr, "files %s and %s have different sizes\n", file1, file2); fflush (stderr); abort (); } if (memcmp (contents1, contents2, size1) != 0) { fprintf (stderr, "files %s and %s have different contents\n", file1, file2); fflush (stderr); abort (); } } /* Compare the access permissions of the two files, including ACLs. */ { struct stat statbuf1; struct stat statbuf2; if (stat (file1, &statbuf1) < 0) { fprintf (stderr, "error accessing file %s: errno = %d\n", file1, errno); fflush (stderr); abort (); } if (stat (file2, &statbuf2) < 0) { fprintf (stderr, "error accessing file %s: errno = %d\n", file2, errno); fflush (stderr); abort (); } if (statbuf1.st_mode != statbuf2.st_mode) { fprintf (stderr, "files %s and %s have different access modes: %03o and %03o\n", file1, file2, (unsigned int) statbuf1.st_mode, (unsigned int) statbuf2.st_mode); return 1; } } { #if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ static const int types[] = { ACL_TYPE_ACCESS # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ , ACL_TYPE_EXTENDED # endif }; int t; for (t = 0; t < sizeof (types) / sizeof (types[0]); t++) { int type = types[t]; acl_t acl1; char *text1; int errno1; acl_t acl2; char *text2; int errno2; acl1 = acl_get_file (file1, type); if (acl1 == (acl_t)NULL) { text1 = NULL; errno1 = errno; } else { text1 = acl_to_text (acl1, NULL); if (text1 == NULL) errno1 = errno; else errno1 = 0; } acl2 = acl_get_file (file2, type); if (acl2 == (acl_t)NULL) { text2 = NULL; errno2 = errno; } else { text2 = acl_to_text (acl2, NULL); if (text2 == NULL) errno2 = errno; else errno2 = 0; } if (acl1 != (acl_t)NULL) { if (acl2 != (acl_t)NULL) { if (text1 != NULL) { if (text2 != NULL) { if (strcmp (text1, text2) != 0) { fprintf (stderr, "files %s and %s have different ACLs:\n%s\n%s\n", file1, file2, text1, text2); return 1; } } else { fprintf (stderr, "file %s has a valid ACL, but file %s has an invalid ACL\n", file1, file2); return 1; } } else { if (text2 != NULL) { fprintf (stderr, "file %s has an invalid ACL, but file %s has a valid ACL\n", file1, file2); return 1; } else { if (errno1 != errno2) { fprintf (stderr, "files %s and %s have differently invalid ACLs, errno = %d vs. %d\n", file1, file2, errno1, errno2); return 1; } } } } else { fprintf (stderr, "file %s has an ACL, but file %s has no ACL\n", file1, file2); return 1; } } else { if (acl2 != (acl_t)NULL) { fprintf (stderr, "file %s has no ACL, but file %s has an ACL\n", file1, file2); return 1; } } } #elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ int count1; int count2; count1 = acl (file1, GETACLCNT, 0, NULL); if (count1 < 0 && errno == ENOSYS) /* Can happen on Solaris 10 with ZFS */ count1 = 0; count2 = acl (file2, GETACLCNT, 0, NULL); if (count2 < 0 && errno == ENOSYS) /* Can happen on Solaris 10 with ZFS */ count2 = 0; if (count1 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } if (count1 != count2) { fprintf (stderr, "files %s and %s have different number of ACLs: %d and %d\n", file1, file2, count1, count2); return 1; } else { aclent_t *entries1 = XNMALLOC (count1, aclent_t); aclent_t *entries2 = XNMALLOC (count2, aclent_t); int i; if (count1 > 0 && acl (file1, GETACL, count1, entries1) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 > 0 && acl (file2, GETACL, count2, entries2) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file2); fflush (stderr); abort (); } for (i = 0; i < count1; i++) { if (entries1[i].a_type != entries2[i].a_type) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different types %d and %d\n", file1, file2, i, entries1[i].a_type, entries2[i].a_type); return 1; } if (entries1[i].a_id != entries2[i].a_id) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different ids %d and %d\n", file1, file2, i, (int)entries1[i].a_id, (int)entries2[i].a_id); return 1; } if (entries1[i].a_perm != entries2[i].a_perm) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different permissions %03o and %03o\n", file1, file2, i, (unsigned int) entries1[i].a_perm, (unsigned int) entries2[i].a_perm); return 1; } } } # ifdef ACE_GETACL count1 = acl (file1, ACE_GETACLCNT, 0, NULL); if (count1 < 0 && errno == EINVAL) count1 = 0; count2 = acl (file2, ACE_GETACLCNT, 0, NULL); if (count2 < 0 && errno == EINVAL) count2 = 0; if (count1 < 0) { fprintf (stderr, "error accessing the ACE-ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 < 0) { fprintf (stderr, "error accessing the ACE-ACLs of file %s\n", file2); fflush (stderr); abort (); } { ace_t *entries1 = XNMALLOC (count1, ace_t); ace_t *entries2 = XNMALLOC (count2, ace_t); int ret; int i; ret = acl (file1, ACE_GETACL, count1, entries1); if (ret < 0 && errno == EINVAL) count1 = 0; else if (ret < count1) { fprintf (stderr, "error retrieving the ACE-ACLs of file %s\n", file1); fflush (stderr); abort (); } ret = acl (file2, ACE_GETACL, count2, entries2); if (ret < 0 && errno == EINVAL) count2 = 0; else if (ret < count2) { fprintf (stderr, "error retrieving the ACE-ACLs of file %s\n", file2); fflush (stderr); abort (); } if (count1 != count2) { fprintf (stderr, "files %s and %s have different number of ACE-ACLs: %d and %d\n", file1, file2, count1, count2); return 1; } for (i = 0; i < count1; i++) { if (entries1[i].a_type != entries2[i].a_type) { fprintf (stderr, "files %s and %s: different ACE-ACL entry #%d: different types %d and %d\n", file1, file2, i, entries1[i].a_type, entries2[i].a_type); return 1; } if (entries1[i].a_who != entries2[i].a_who) { fprintf (stderr, "files %s and %s: different ACE-ACL entry #%d: different ids %d and %d\n", file1, file2, i, (int)entries1[i].a_who, (int)entries2[i].a_who); return 1; } if (entries1[i].a_access_mask != entries2[i].a_access_mask) { fprintf (stderr, "files %s and %s: different ACE-ACL entry #%d: different access masks %03o and %03o\n", file1, file2, i, (unsigned int) entries1[i].a_access_mask, (unsigned int) entries2[i].a_access_mask); return 1; } if (entries1[i].a_flags != entries2[i].a_flags) { fprintf (stderr, "files %s and %s: different ACE-ACL entry #%d: different flags 0x%x and 0x%x\n", file1, file2, i, (unsigned int) entries1[i].a_flags, (unsigned int) entries2[i].a_flags); return 1; } } } # endif #elif HAVE_GETACL /* HP-UX */ int count1; int count2; count1 = getacl (file1, 0, NULL); if (count1 < 0 && (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)) count1 = 0; count2 = getacl (file2, 0, NULL); if (count2 < 0 && (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)) count2 = 0; if (count1 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } if (count1 != count2) { fprintf (stderr, "files %s and %s have different number of ACLs: %d and %d\n", file1, file2, count1, count2); return 1; } else if (count1 > 0) { struct acl_entry *entries1 = XNMALLOC (count1, struct acl_entry); struct acl_entry *entries2 = XNMALLOC (count2, struct acl_entry); int i; if (getacl (file1, count1, entries1) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (getacl (file2, count2, entries2) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file2); fflush (stderr); abort (); } for (i = 0; i < count1; i++) { if (entries1[i].uid != entries2[i].uid) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different uids %d and %d\n", file1, file2, i, (int)entries1[i].uid, (int)entries2[i].uid); return 1; } if (entries1[i].gid != entries2[i].gid) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different gids %d and %d\n", file1, file2, i, (int)entries1[i].gid, (int)entries2[i].gid); return 1; } if (entries1[i].mode != entries2[i].mode) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different permissions %03o and %03o\n", file1, file2, i, (unsigned int) entries1[i].mode, (unsigned int) entries2[i].mode); return 1; } } } # if HAVE_ACLV_H /* HP-UX >= 11.11 */ { struct acl dummy_entries[NACLVENTRIES]; count1 = acl ((char *) file1, ACL_CNT, NACLVENTRIES, dummy_entries); if (count1 < 0 && (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)) count1 = 0; count2 = acl ((char *) file2, ACL_CNT, NACLVENTRIES, dummy_entries); if (count2 < 0 && (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)) count2 = 0; } if (count1 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } if (count1 != count2) { fprintf (stderr, "files %s and %s have different number of ACLs: %d and %d\n", file1, file2, count1, count2); return 1; } else if (count1 > 0) { struct acl *entries1 = XNMALLOC (count1, struct acl); struct acl *entries2 = XNMALLOC (count2, struct acl); int i; if (acl ((char *) file1, ACL_GET, count1, entries1) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (acl ((char *) file2, ACL_GET, count2, entries2) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file2); fflush (stderr); abort (); } for (i = 0; i < count1; i++) { if (entries1[i].a_type != entries2[i].a_type) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different types %d and %d\n", file1, file2, i, entries1[i].a_type, entries2[i].a_type); return 1; } if (entries1[i].a_id != entries2[i].a_id) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different ids %d and %d\n", file1, file2, i, (int)entries1[i].a_id, (int)entries2[i].a_id); return 1; } if (entries1[i].a_perm != entries2[i].a_perm) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different permissions %03o and %03o\n", file1, file2, i, (unsigned int) entries1[i].a_perm, (unsigned int) entries2[i].a_perm); return 1; } } } # endif #elif HAVE_ACLX_GET /* AIX */ acl_type_t type1; char acl1[1000]; size_t aclsize1 = sizeof (acl1); mode_t mode1; char text1[1000]; size_t textsize1 = sizeof (text1); acl_type_t type2; char acl2[1000]; size_t aclsize2 = sizeof (acl2); mode_t mode2; char text2[1000]; size_t textsize2 = sizeof (text2); /* The docs say that type1 being 0 is equivalent to ACL_ANY, but it is not true, in AIX 5.3. */ type1.u64 = ACL_ANY; if (aclx_get (file1, 0, &type1, acl1, &aclsize1, &mode1) < 0) { if (errno == ENOSYS) text1[0] = '\0'; else { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } } else if (aclx_printStr (text1, &textsize1, acl1, aclsize1, type1, file1, 0) < 0) { fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file1); fflush (stderr); abort (); } /* The docs say that type2 being 0 is equivalent to ACL_ANY, but it is not true, in AIX 5.3. */ type2.u64 = ACL_ANY; if (aclx_get (file2, 0, &type2, acl2, &aclsize2, &mode2) < 0) { if (errno == ENOSYS) text2[0] = '\0'; else { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } } else if (aclx_printStr (text2, &textsize2, acl2, aclsize2, type2, file2, 0) < 0) { fprintf (stderr, "cannot convert the ACLs of file %s to text\n", file2); fflush (stderr); abort (); } if (strcmp (text1, text2) != 0) { fprintf (stderr, "files %s and %s have different ACLs:\n%s\n%s\n", file1, file2, text1, text2); return 1; } #elif HAVE_STATACL /* older AIX */ union { struct acl a; char room[4096]; } acl1; union { struct acl a; char room[4096]; } acl2; unsigned int i; if (statacl (file1, STX_NORMAL, &acl1.a, sizeof (acl1)) < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (statacl (file2, STX_NORMAL, &acl2.a, sizeof (acl2)) < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } if (acl1.a.acl_len != acl2.a.acl_len) { fprintf (stderr, "files %s and %s have different ACL lengths: %u and %u\n", file1, file2, acl1.a.acl_len, acl2.a.acl_len); return 1; } if (acl1.a.acl_mode != acl2.a.acl_mode) { fprintf (stderr, "files %s and %s have different ACL modes: %03o and %03o\n", file1, file2, acl1.a.acl_mode, acl2.a.acl_mode); return 1; } if (acl1.a.u_access != acl2.a.u_access || acl1.a.g_access != acl2.a.g_access || acl1.a.o_access != acl2.a.o_access) { fprintf (stderr, "files %s and %s have different ACL access masks: %03o %03o %03o and %03o %03o %03o\n", file1, file2, acl1.a.u_access, acl1.a.g_access, acl1.a.o_access, acl2.a.u_access, acl2.a.g_access, acl2.a.o_access); return 1; } if (memcmp (acl1.a.acl_ext, acl2.a.acl_ext, acl1.a.acl_len) != 0) { fprintf (stderr, "files %s and %s have different ACL entries\n", file1, file2); return 1; } #elif HAVE_ACLSORT /* NonStop Kernel */ int count1; int count2; count1 = acl ((char *) file1, ACL_CNT, NACLENTRIES, NULL); count2 = acl ((char *) file2, ACL_CNT, NACLENTRIES, NULL); if (count1 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (count2 < 0) { fprintf (stderr, "error accessing the ACLs of file %s\n", file2); fflush (stderr); abort (); } if (count1 != count2) { fprintf (stderr, "files %s and %s have different number of ACLs: %d and %d\n", file1, file2, count1, count2); return 1; } else if (count1 > 0) { struct acl *entries1 = XNMALLOC (count1, struct acl); struct acl *entries2 = XNMALLOC (count2, struct acl); int i; if (acl ((char *) file1, ACL_GET, count1, entries1) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file1); fflush (stderr); abort (); } if (acl ((char *) file2, ACL_GET, count2, entries2) < count1) { fprintf (stderr, "error retrieving the ACLs of file %s\n", file2); fflush (stderr); abort (); } for (i = 0; i < count1; i++) { if (entries1[i].a_type != entries2[i].a_type) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different types %d and %d\n", file1, file2, i, entries1[i].a_type, entries2[i].a_type); return 1; } if (entries1[i].a_id != entries2[i].a_id) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different ids %d and %d\n", file1, file2, i, (int)entries1[i].a_id, (int)entries2[i].a_id); return 1; } if (entries1[i].a_perm != entries2[i].a_perm) { fprintf (stderr, "files %s and %s: different ACL entry #%d: different permissions %03o and %03o\n", file1, file2, i, (unsigned int) entries1[i].a_perm, (unsigned int) entries2[i].a_perm); return 1; } } } #endif } return 0; } coreutils-8.21/gnulib-tests/test-fpending.c0000664000000000000000000000205612071024546015705 00000000000000/* Ensure that __fpending works. Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #include #include "fpending.h" #include #include #include "macros.h" int main (void) { ASSERT (__fpending (stdout) == 0); fputs ("foo", stdout); ASSERT (__fpending (stdout) == 3); fflush (stdout); ASSERT (__fpending (stdout) == 0); exit (0); } coreutils-8.21/gnulib-tests/test-strtoll.c0000664000000000000000000001020512071024546015611 00000000000000/* * Copyright (C) 2011-2013 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" #ifndef strtoll SIGNATURE_CHECK (strtoll, long long, (const char *, char **, int)); #endif #include #include "macros.h" int main (void) { /* Subject sequence empty or invalid. */ { const char input[] = ""; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " "; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " -"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } /* Simple integer values. */ { const char input[] = "0"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "+0"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-0"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "23"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = " 23"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "+23"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "-23"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == -23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } /* Large integer values. */ { const char input[] = "2147483647"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 2147483647); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "-2147483648"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == -2147483647 - 1); ASSERT (ptr == input + 11); ASSERT (errno == 0); } if (sizeof (long long) > sizeof (int)) { const char input[] = "4294967295"; char *ptr; long long result; errno = 0; result = strtoll (input, &ptr, 10); ASSERT (result == 65535LL * 65537LL); ASSERT (ptr == input + 10); ASSERT (errno == 0); } return 0; } coreutils-8.21/gnulib-tests/test-fseeko4.sh0000775000000000000000000000011711641440730015641 00000000000000#!/bin/sh ./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-sigprocmask.c0000664000000000000000000000510612071024546016434 00000000000000/* Test of sigprocmask. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include #include "signature.h" SIGNATURE_CHECK (sigprocmask, int, (int, const sigset_t *, sigset_t *)); #include #include #include #include #include "macros.h" #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) static volatile int sigint_occurred; static void sigint_handler (int sig) { sigint_occurred++; } int main (int argc, char *argv[]) { sigset_t set; pid_t pid = getpid (); char command[80]; if (sizeof (int) < sizeof pid && 0x7fffffff < pid) { fputs ("Skipping test: pid too large\n", stderr); return 77; } signal (SIGINT, sigint_handler); sigemptyset (&set); sigaddset (&set, SIGINT); /* Check error handling. */ ASSERT (sigprocmask (1729, &set, NULL) == -1); ASSERT (errno == EINVAL); /* Block SIGINT. */ ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0); /* Request a SIGINT signal from outside. */ sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid); ASSERT (system (command) == 0); /* Wait. */ sleep (2); /* The signal should not have arrived yet, because it is blocked. */ ASSERT (sigint_occurred == 0); /* Unblock SIGINT. */ ASSERT (sigprocmask (SIG_UNBLOCK, &set, NULL) == 0); /* The signal should have arrived now, because POSIX says "If there are any pending unblocked signals after the call to sigprocmask(), at least one of those signals shall be delivered before the call to sigprocmask() returns." */ ASSERT (sigint_occurred == 1); return 0; } #else /* On native Windows, getpid() values and the arguments that are passed to the (Cygwin?) 'kill' program are not necessarily related. */ int main () { fputs ("Skipping test: native Windows platform\n", stderr); return 77; } #endif coreutils-8.21/gnulib-tests/test-sched.c0000664000000000000000000000230212071024546015173 00000000000000/* Test of substitute. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include /* Check that 'struct sched_param' is defined. */ static struct sched_param a; /* Check that the SCHED_* macros are defined and compile-time constants. */ int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER }; /* Check that the types are all defined. */ pid_t t1; static int f1; int main () { /* Check fields of 'struct sched_param'. */ f1 = a.sched_priority; return 0; } coreutils-8.21/gnulib-tests/test-utimensat.c0000664000000000000000000000665712100637437016141 00000000000000/* Tests of utimensat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (utimensat, int, (int, char const *, struct timespec const[2], int)); #include #include #include #include #include #include #include #include "stat-time.h" #include "timespec.h" #include "utimecmp.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-utimensat.t" #include "test-lutimens.h" #include "test-utimens.h" static int dfd = AT_FDCWD; /* Wrap utimensat to behave like utimens. */ static int do_utimensat (char const *name, struct timespec const times[2]) { return utimensat (dfd, name, times, 0); } /* Wrap utimensat to behave like lutimens. */ static int do_lutimensat (char const *name, struct timespec const times[2]) { return utimensat (dfd, name, times, AT_SYMLINK_NOFOLLOW); } int main (void) { int result1; /* Skip because of no symlink support. */ int result2; /* Skip because of no lutimens support. */ int fd; /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (utimensat (-1, "foo", NULL, 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (utimensat (99, "foo", NULL, 0) == -1); ASSERT (errno == EBADF); } /* Basic tests. */ result1 = test_utimens (do_utimensat, true); result2 = test_lutimens (do_lutimensat, result1 == 0); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_utimens (do_utimensat, false) == result1); ASSERT (test_lutimens (do_lutimensat, false) == result2); /* We expect 0/0, 0/77, or 77/77, but not 77/0. */ ASSERT (result1 <= result2); /* Directory-relative tests. */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (chdir (BASE "dir") == 0); fd = creat ("file", 0600); ASSERT (0 <= fd); errno = 0; ASSERT (utimensat (fd, ".", NULL, 0) == -1); ASSERT (errno == ENOTDIR); { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, 0 } }; struct stat st; ASSERT (utimensat (dfd, BASE "dir/file", ts, AT_SYMLINK_NOFOLLOW) == 0); ASSERT (stat ("file", &st) == 0); ASSERT (st.st_atime == Y2K); ASSERT (get_stat_atime_ns (&st) == 0); ASSERT (st.st_mtime == Y2K); ASSERT (get_stat_mtime_ns (&st) == 0); } ASSERT (close (fd) == 0); ASSERT (close (dfd) == 0); errno = 0; ASSERT (utimensat (dfd, ".", NULL, 0) == -1); ASSERT (errno == EBADF); /* Cleanup. */ ASSERT (chdir ("..") == 0); ASSERT (unlink (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); return result1 | result2; } coreutils-8.21/gnulib-tests/test-posix_spawn2.c0000664000000000000000000000767112071024546016557 00000000000000/* Test of posix_spawn() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include #include #include #include #include #include #include #include #include #include extern char **environ; #define CHILD_PROGRAM_FILENAME "test-posix_spawn2.sh" static int fd_safer (int fd) { if (0 <= fd && fd <= 2) { int f = fd_safer (dup (fd)); int e = errno; close (fd); errno = e; fd = f; } return fd; } int main () { char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL }; int ofd[2]; sigset_t blocked_signals; sigset_t fatal_signal_set; posix_spawn_file_actions_t actions; bool actions_allocated; posix_spawnattr_t attrs; bool attrs_allocated; int err; pid_t child; int fd; FILE *fp; int written; int status; int exitstatus; if (pipe (ofd) < 0 || (ofd[1] = fd_safer (ofd[1])) < 0) { perror ("cannot create pipe"); exit (1); } sigprocmask (SIG_SETMASK, NULL, &blocked_signals); sigemptyset (&fatal_signal_set); sigaddset (&fatal_signal_set, SIGINT); sigaddset (&fatal_signal_set, SIGTERM); sigaddset (&fatal_signal_set, SIGHUP); sigaddset (&fatal_signal_set, SIGPIPE); sigprocmask (SIG_BLOCK, &fatal_signal_set, NULL); actions_allocated = false; attrs_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_adddup2 (&actions, ofd[0], STDIN_FILENO)) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[0])) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[1])) != 0 || (err = posix_spawnattr_init (&attrs)) != 0 || (attrs_allocated = true, (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnp (&child, "/bin/sh", &actions, &attrs, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); errno = err; perror ("subprocess failed"); exit (1); } posix_spawn_file_actions_destroy (&actions); posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); close (ofd[0]); fd = ofd[1]; fp = fdopen (fd, "w"); if (fp == NULL) { fprintf (stderr, "fdopen() failed\n"); exit (1); } written = fwrite ("Halle Potta\n", 1, 12, fp); if (written < 12) { fprintf (stderr, "could not write input\n"); exit (1); } fclose (fp); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); exit (1); } exitstatus = WEXITSTATUS (status); if (exitstatus != 0) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); exit (1); } return 0; } coreutils-8.21/gnulib-tests/test-sys_select.c0000664000000000000000000000333712071024546016273 00000000000000/* Test of substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" /* The following may be macros without underlying functions, so only check signature if they are not macros. */ #ifndef FD_CLR SIGNATURE_CHECK (FD_CLR, void, (int, fd_set *)); #endif #ifndef FD_ISSET SIGNATURE_CHECK (FD_ISSET, void, (int, fd_set *)); #endif #ifndef FD_SET SIGNATURE_CHECK (FD_SET, int, (int, fd_set *)); #endif #ifndef FD_ZERO SIGNATURE_CHECK (FD_ZERO, void, (fd_set *)); #endif /* Check that the 'struct timeval' type is defined. */ struct timeval a; /* Check that &a.tv_sec is a 'time_t *', ignoring signedness issues. */ typedef int verify_tv_sec_type[sizeof (a.tv_sec) == sizeof (time_t) ? 1 : -1]; /* Check that sigset_t is defined. */ sigset_t t2; int main (void) { /* Check that FD_ZERO can be used. This should not yield a warning such as "warning: implicit declaration of function 'memset'". */ fd_set fds; FD_ZERO (&fds); return 0; } coreutils-8.21/gnulib-tests/test-mbscasecmp.c0000664000000000000000000000346112071024546016231 00000000000000/* Test of case-insensitive string comparison function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include "macros.h" int main () { /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; ASSERT (mbscasecmp ("paragraph", "Paragraph") == 0); ASSERT (mbscasecmp ("paragrapH", "parAgRaph") == 0); ASSERT (mbscasecmp ("paragraph", "paraLyzed") < 0); ASSERT (mbscasecmp ("paraLyzed", "paragraph") > 0); ASSERT (mbscasecmp ("para", "paragraph") < 0); ASSERT (mbscasecmp ("paragraph", "para") > 0); /* The following tests shows how mbscasecmp() is different from strcasecmp(). */ ASSERT (mbscasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R") == 0); /* özgür */ ASSERT (mbscasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r") == 0); /* özgür */ /* This test shows how strings of different size can compare equal. */ ASSERT (mbscasecmp ("turkish", "TURK\304\260SH") == 0); ASSERT (mbscasecmp ("TURK\304\260SH", "turkish") == 0); return 0; } coreutils-8.21/gnulib-tests/test-sigaction.c0000664000000000000000000000677412071024546016106 00000000000000/* Test of sigaction() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (sigaction, int, (int, struct sigaction const *, struct sigaction *)); #include #include "macros.h" #ifndef SA_NOCLDSTOP # define SA_NOCLDSTOP 0 #endif #ifndef SA_ONSTACK # define SA_ONSTACK 0 #endif #ifndef SA_RESETHAND # define SA_RESETHAND 0 #endif #ifndef SA_RESTART # define SA_RESTART 0 #endif #ifndef SA_SIGINFO # define SA_SIGINFO 0 #endif #ifndef SA_NOCLDWAIT # define SA_NOCLDWAIT 0 #endif /* Define a mask of flags required by POSIX. Some implementations provide other flags as extensions, such as SA_RESTORER, that we must ignore in this test. */ #define MASK_SA_FLAGS (SA_NOCLDSTOP | SA_ONSTACK | SA_RESETHAND | SA_RESTART \ | SA_SIGINFO | SA_NOCLDWAIT | SA_NODEFER) /* This test is unsafe in the presence of an asynchronous SIGABRT, because we install a signal-handler that is intentionally not async-safe. Hopefully, this does not lead to too many reports of false failures, since people don't generally use 'kill -s SIGABRT' to end a runaway program. */ static void handler (int sig) { static int entry_count; struct sigaction sa; ASSERT (sig == SIGABRT); ASSERT (sigaction (SIGABRT, NULL, &sa) == 0); ASSERT ((sa.sa_flags & SA_SIGINFO) == 0); switch (entry_count++) { case 0: ASSERT ((sa.sa_flags & SA_RESETHAND) == 0); ASSERT (sa.sa_handler == handler); break; case 1: /* This assertion fails on glibc-2.3.6 systems with LinuxThreads, when this program is linked with -lpthread, due to the sigaction() override in libpthread.so. */ #if !(defined __GLIBC__ || defined __UCLIBC__) ASSERT (sa.sa_handler == SIG_DFL); #endif break; default: ASSERT (0); } } int main (void) { struct sigaction sa; struct sigaction old_sa; sa.sa_handler = handler; sa.sa_flags = 0; ASSERT (sigemptyset (&sa.sa_mask) == 0); ASSERT (sigaction (SIGABRT, &sa, NULL) == 0); ASSERT (raise (SIGABRT) == 0); sa.sa_flags = SA_RESETHAND | SA_NODEFER; ASSERT (sigaction (SIGABRT, &sa, &old_sa) == 0); ASSERT ((old_sa.sa_flags & MASK_SA_FLAGS) == 0); ASSERT (old_sa.sa_handler == handler); ASSERT (raise (SIGABRT) == 0); sa.sa_handler = SIG_DFL; ASSERT (sigaction (SIGABRT, &sa, &old_sa) == 0); ASSERT ((old_sa.sa_flags & SA_SIGINFO) == 0); #if !(defined __GLIBC__ || defined __UCLIBC__) /* see above */ ASSERT (old_sa.sa_handler == SIG_DFL); #endif sa.sa_handler = SIG_IGN; ASSERT (sigaction (SIGABRT, &sa, NULL) == 0); ASSERT (raise (SIGABRT) == 0); ASSERT (sigaction (SIGABRT, NULL, &old_sa) == 0); ASSERT (old_sa.sa_handler == SIG_IGN); ASSERT (raise (SIGABRT) == 0); return 0; } coreutils-8.21/gnulib-tests/test-fseterr.c0000664000000000000000000000235612071024546015570 00000000000000/* Test setting the error indicator of a stream. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "fseterr.h" #include #include int main () { /* All streams are initially created with the error indicator cleared. */ if (ferror (stdout)) abort (); /* Verify that fseterr() works. */ fseterr (stdout); if (!ferror (stdout)) abort (); /* Verify fseterr's effect can be undone by clearerr(). */ clearerr (stdout); if (ferror (stdout)) abort (); return 0; } coreutils-8.21/gnulib-tests/test-copy-acl-2.sh0000775000000000000000000000027011636617712016161 00000000000000#!/bin/sh # Test copy-acl on the file system of the build directory, which may be # a local file system or NFS mounted. TMPDIR=`pwd` export TMPDIR exec "${srcdir}/test-copy-acl.sh" coreutils-8.21/gnulib-tests/test-fseek.sh0000775000000000000000000000017011624730151015375 00000000000000#!/bin/sh ./test-fseek${EXEEXT} 1 < "$srcdir/test-fseek.sh" || exit 1 echo hi | ./test-fseek${EXEEXT} || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-set-mode-acl.sh0000775000000000000000000001547211777552746016612 00000000000000#!/bin/sh # Show all commands when run with environment variable VERBOSE=yes. test -z "$VERBOSE" || set -x test "$USE_ACL" = 0 && { echo "Skipping test: insufficient ACL support" exit 77 } # func_tmpdir # creates a temporary directory. # Sets variable # - tmp pathname of freshly created temporary directory func_tmpdir () { # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. : ${TMPDIR=/tmp} { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d "$TMPDIR/glXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=$TMPDIR/gl$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$0: cannot create a temporary directory in $TMPDIR" >&2 exit 1 } } func_tmpdir builddir=`pwd` cd "$builddir" || { echo "$0: cannot determine build directory (unreadable parent dir?)" >&2 exit 1 } # Switch to a temporary directory, to increase the likelihood that ACLs are # supported on the current file system. (/tmp is usually locally mounted, # whereas the build dir is sometimes NFS-mounted.) ( cd "$tmp" # Prepare tmpfile0. rm -f tmpfile[0-9] echo "Simple contents" > tmpfile0 chmod 600 tmpfile0 # Classification of the platform according to the programs available for # manipulating ACLs. # Possible values are: # linux, cygwin, freebsd, solaris, hpux, hpuxjfs, osf1, aix, macosx, irix, none. # TODO: Support also native Windows platforms (mingw). acl_flavor=none if (getfacl tmpfile0 >/dev/null) 2>/dev/null; then # Platforms with the getfacl and setfacl programs. # Linux, FreeBSD, Solaris, Cygwin. if (setfacl --help >/dev/null) 2>/dev/null; then # Linux, Cygwin. if (LC_ALL=C setfacl --help | grep ' --set-file' >/dev/null) 2>/dev/null; then # Linux. acl_flavor=linux else acl_flavor=cygwin fi else # FreeBSD, Solaris. if (LC_ALL=C setfacl 2>&1 | grep '\-x entries' >/dev/null) 2>/dev/null; then # FreeBSD. acl_flavor=freebsd else # Solaris. acl_flavor=solaris fi fi else if (lsacl / >/dev/null) 2>/dev/null; then # Platforms with the lsacl and chacl programs. # HP-UX, sometimes also IRIX. if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # HP-UX 11.11 or newer. acl_flavor=hpuxjfs else # HP-UX 11.00. acl_flavor=hpux fi else if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # Tru64, NonStop Kernel. if (getacl -m tmpfile0 >/dev/null) 2>/dev/null; then # Tru64. acl_flavor=osf1 else # NonStop Kernel. acl_flavor=nsk fi else if (aclget tmpfile0 >/dev/null) 2>/dev/null; then # AIX. acl_flavor=aix else if (fsaclctl -v >/dev/null) 2>/dev/null; then # Mac OS X. acl_flavor=macosx else if test -f /sbin/chacl; then # IRIX. acl_flavor=irix fi fi fi fi fi fi if test $acl_flavor != none; then # A POSIX compliant 'id' program. if test -f /usr/xpg4/bin/id; then ID=/usr/xpg4/bin/id else ID=id fi # Use a user and group id different from the current one, to avoid # redundant/ambiguous ACLs. myuid=`$ID -u` mygid=`$ID -g` auid=1 if test "$auid" = "$myuid"; then auid=2; fi agid=1 if test "$agid" = "$mygid"; then agid=2; fi fi for mode in 700 400 200 100 644 650 605 011 4700 2070; do rm -f tmpfile0 tmpfile1 tmpfile2 # Prepare a file with no ACL. echo "Anything" > tmpfile0 # If a mode is not supported (e.g. 2070 on FreeBSD), we skip testing it. if chmod $mode tmpfile0 2>/dev/null; then modestring0=`ls -l tmpfile0 | dd ibs=1 count=10 2>/dev/null` # Prepare a file with no ACL. echo "Some contents" > tmpfile1 chmod 600 tmpfile1 # Try to set the ACL to only the given mode. "$builddir"/test-set-mode-acl${EXEEXT} tmpfile1 $mode # Verify that tmpfile1 has no ACL and has the desired mode. modestring=`ls -l tmpfile1 | dd ibs=1 count=10 2>/dev/null` if test "x$modestring" != "x$modestring0"; then echo "mode = $mode: tmpfile1 has wrong mode: $modestring" 1>&2 exit 1 fi if test `"$builddir"/test-file-has-acl${EXEEXT} tmpfile1` != no; then echo "mode = $mode: tmpfile1 got an ACL" 1>&2 exit 1 fi if test $acl_flavor != none; then # Prepare a file with an ACL. echo "Special contents" > tmpfile2 chmod 600 tmpfile2 # Set an ACL for a user (or group). case $acl_flavor in linux | freebsd | solaris) setfacl -m user:$auid:1 tmpfile0 ;; cygwin) setfacl -m group:0:1 tmpfile0 ;; hpux) orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}($auid.%,--x)" tmpfile0 ;; hpuxjfs) orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}($auid.%,--x)" tmpfile0 \ || setacl -m user:$auid:1 tmpfile0 ;; osf1) setacl -u user:$auid:1 tmpfile0 ;; nsk) setacl -m user:$auid:1 tmpfile0 ;; aix) { aclget tmpfile0 | sed -e 's/disabled$/enabled/'; echo " permit --x u:$auid"; } | aclput tmpfile0 ;; macosx) /bin/chmod +a "user:daemon allow execute" tmpfile0 ;; irix) /sbin/chacl user::rw-,group::---,other::---,user:$auid:--x tmpfile0 ;; esac # Try to set the ACL to only the given mode. "$builddir"/test-set-mode-acl${EXEEXT} tmpfile2 $mode # Verify that tmpfile2 has no ACL and has the desired mode. modestring=`ls -l tmpfile2 | dd ibs=1 count=10 2>/dev/null` if test "x$modestring" != "x$modestring0"; then echo "mode = $mode: tmpfile2 has wrong mode: $modestring" 1>&2 exit 1 fi if test `"$builddir"/test-file-has-acl${EXEEXT} tmpfile2` != no; then echo "mode = $mode: tmpfile2 still has an ACL" 1>&2 exit 1 fi fi fi done rm -f tmpfile[0-9] ) || exit 1 rm -rf "$tmp" exit 0 coreutils-8.21/gnulib-tests/test-mbrtowc-w32-5.sh0000775000000000000000000000012011624730153016525 00000000000000#!/bin/sh # Test a CP936 locale. ./test-mbrtowc-w32${EXEEXT} Chinese_China 936 coreutils-8.21/gnulib-tests/test-statat.c0000664000000000000000000000176612100637437015424 00000000000000/* Tests of statat and lstatat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "openat.h" #include "signature.h" SIGNATURE_CHECK (statat, int, (int, char const *, struct stat *)); SIGNATURE_CHECK (lstatat, int, (int, char const *, struct stat *)); #define BASE "test-statat.t" #define TEST_STATAT #include "test-fstatat.c" coreutils-8.21/gnulib-tests/test-setenv.c0000664000000000000000000000310612071024546015414 00000000000000/* Tests of setenv. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (setenv, int, (char const *, char const *, int)); #include #include #include #include "macros.h" int main (void) { /* Test overwriting. */ ASSERT (setenv ("a", "==", -1) == 0); ASSERT (setenv ("a", "2", 0) == 0); ASSERT (strcmp (getenv ("a"), "==") == 0); /* Required to fail with EINVAL. */ errno = 0; ASSERT (setenv ("", "", 1) == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (setenv ("a=b", "", 0) == -1); ASSERT (errno == EINVAL); #if 0 /* glibc and gnulib's implementation guarantee this, but POSIX no longer requires it: http://austingroupbugs.net/view.php?id=185 */ errno = 0; ASSERT (setenv (NULL, "", 0) == -1); ASSERT (errno == EINVAL); #endif return 0; } coreutils-8.21/gnulib-tests/test-file-has-acl.sh0000775000000000000000000002343611777552746016564 00000000000000#!/bin/sh # Show all commands when run with environment variable VERBOSE=yes. test -z "$VERBOSE" || set -x test "$USE_ACL" = 0 && { echo "Skipping test: insufficient ACL support" exit 77 } # func_tmpdir # creates a temporary directory. # Sets variable # - tmp pathname of freshly created temporary directory func_tmpdir () { # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. : ${TMPDIR=/tmp} { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d "$TMPDIR/glXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=$TMPDIR/gl$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$0: cannot create a temporary directory in $TMPDIR" >&2 exit 1 } } func_tmpdir builddir=`pwd` cd "$builddir" || { echo "$0: cannot determine build directory (unreadable parent dir?)" >&2 exit 1 } # Switch to a temporary directory, to increase the likelihood that ACLs are # supported on the current file system. (/tmp is usually locally mounted, # whereas the build dir is sometimes NFS-mounted.) ( cd "$tmp" # Prepare tmpfile0. rm -f tmpfile[0-9] tmp.err echo "Simple contents" > tmpfile0 chmod 600 tmpfile0 # Classification of the platform according to the programs available for # manipulating ACLs. # Possible values are: # linux, cygwin, freebsd, solaris, hpux, hpuxjfs, osf1, aix, macosx, irix, none. # TODO: Support also native Windows platforms (mingw). acl_flavor=none if (getfacl tmpfile0 >/dev/null) 2>/dev/null; then # Platforms with the getfacl and setfacl programs. # Linux, FreeBSD, Solaris, Cygwin. if (setfacl --help >/dev/null) 2>/dev/null; then # Linux, Cygwin. if (LC_ALL=C setfacl --help | grep ' --set-file' >/dev/null) 2>/dev/null; then # Linux. acl_flavor=linux else acl_flavor=cygwin fi else # FreeBSD, Solaris. if (LC_ALL=C setfacl 2>&1 | grep '\-x entries' >/dev/null) 2>/dev/null; then # FreeBSD. acl_flavor=freebsd else # Solaris. acl_flavor=solaris fi fi else if (lsacl / >/dev/null) 2>/dev/null; then # Platforms with the lsacl and chacl programs. # HP-UX, sometimes also IRIX. if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # HP-UX 11.11 or newer. acl_flavor=hpuxjfs else # HP-UX 11.00. acl_flavor=hpux fi else if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # Tru64, NonStop Kernel. if (getacl -m tmpfile0 >/dev/null) 2>/dev/null; then # Tru64. acl_flavor=osf1 else # NonStop Kernel. acl_flavor=nsk fi else if (aclget tmpfile0 >/dev/null) 2>/dev/null; then # AIX. acl_flavor=aix else if (fsaclctl -v >/dev/null) 2>/dev/null; then # Mac OS X. acl_flavor=macosx else if test -f /sbin/chacl; then # IRIX. acl_flavor=irix fi fi fi fi fi fi # func_test_file_has_acl file expected # tests the result of the file_has_acl function on file, and checks that it # matches the expected value. func_test_file_has_acl () { res=`"$builddir"/test-file-has-acl${EXEEXT} "$1"` test "$res" = "$2" || { echo "file_has_acl(\"$1\") returned $res, expected $2" 1>&2 exit 1 } } # func_test_has_acl file expected # tests the result of the file_has_acl function on file, and checks that it # matches the expected value, also taking into account the system's 'ls' # program. case $acl_flavor in freebsd | solaris | hpux | macosx) case $acl_flavor in freebsd | solaris | hpux) acl_ls_option="-ld" ;; macosx) acl_ls_option="-lde" ;; esac func_test_has_acl () { func_test_file_has_acl "$1" "$2" case `/bin/ls $acl_ls_option "$1" | sed 1q` in ??????????+*) test "$2" = yes || { echo "/bin/ls $acl_ls_option $1 shows an ACL, but expected $2" 1>&2 exit 1 } ;; ??????????" "*) test "$2" = no || { echo "/bin/ls $acl_ls_option $1 shows no ACL, but expected $2" 1>&2 exit 1 } ;; esac } ;; irix) func_test_has_acl () { func_test_file_has_acl "$1" "$2" case `/bin/ls -ldD "$1" | sed 1q` in *" []") test "$2" = no || { echo "/bin/ls -ldD $1 shows no ACL, but expected $2" 1>&2 exit 1 } ;; *) test "$2" = yes || { echo "/bin/ls -ldD $1 shows an ACL, but expected $2" 1>&2 exit 1 } ;; esac } ;; *) func_test_has_acl () { func_test_file_has_acl "$1" "$2" } ;; esac func_test_has_acl tmpfile0 no mkdir tmpdir0 func_test_has_acl tmpdir0 no if test $acl_flavor != none; then # A POSIX compliant 'id' program. if test -f /usr/xpg4/bin/id; then ID=/usr/xpg4/bin/id else ID=id fi # Use a user and group id different from the current one, to avoid # redundant/ambiguous ACLs. myuid=`$ID -u` mygid=`$ID -g` auid=1 if test "$auid" = "$myuid"; then auid=2; fi agid=1 if test "$agid" = "$mygid"; then agid=2; fi case $acl_flavor in linux | freebsd | solaris) # Set an ACL for a user. if setfacl -m user:$auid:1 tmpfile0; then func_test_has_acl tmpfile0 yes # Remove the ACL for the user. case $acl_flavor in linux) setfacl -x user:$auid tmpfile0 ;; freebsd) setfacl -x user:$auid:1 tmpfile0 ;; *) setfacl -d user:$auid:1 tmpfile0 ;; esac # On Linux and FreeBSD, the ACL for the mask is implicitly added. # On Solaris, it is always there. case $acl_flavor in linux | freebsd) func_test_has_acl tmpfile0 yes ;; *) func_test_has_acl tmpfile0 no ;; esac # Remove the ACL for the mask, if it was implicitly added. case $acl_flavor in linux | freebsd) setfacl -x mask: tmpfile0 ;; *) setfacl -d mask: tmpfile0 ;; esac func_test_has_acl tmpfile0 no fi ;; cygwin) # Set an ACL for a group. if setfacl -m group:0:1 tmpfile0; then func_test_has_acl tmpfile0 yes # Remove the ACL for the group. setfacl -d group:0 tmpfile0 func_test_has_acl tmpfile0 no fi ;; hpux | hpuxjfs) # Set an ACL for a user. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` if chacl -r "${orig}($auid.%,--x)" tmpfile0; then func_test_has_acl tmpfile0 yes # Remove the ACL for the user. chacl -d "($auid.%,--x)" tmpfile0 func_test_has_acl tmpfile0 no else if test $acl_flavor = hpuxjfs; then # Set an ACL for a user. setacl -m user:$auid:1 tmpfile0 func_test_has_acl tmpfile0 yes # Remove the ACL for the user. setacl -d user:$auid tmpfile0 func_test_has_acl tmpfile0 no fi fi ;; osf1) # Set an ACL for a user. setacl -u user:$auid:1 tmpfile0 2> tmp.err cat tmp.err 1>&2 if grep 'Error:' tmp.err > /dev/null \ || grep 'Operation not supported' tmp.err > /dev/null; then : else func_test_has_acl tmpfile0 yes # Remove the ACL for the user. setacl -x user:$auid:1 tmpfile0 func_test_has_acl tmpfile0 no fi ;; nsk) # Set an ACL for a user. setacl -m user:$auid:1 tmpfile0 func_test_has_acl tmpfile0 yes # Remove the ACL for the user. setacl -d user:$auid tmpfile0 func_test_has_acl tmpfile0 no ;; aix) # Set an ACL for a user. { aclget tmpfile0 | sed -e 's/disabled$/enabled/'; echo " permit --x u:$auid"; } | aclput tmpfile0 if aclget tmpfile0 | grep enabled > /dev/null; then func_test_has_acl tmpfile0 yes # Remove the ACL for the user. aclget tmpfile0 | grep -v ' u:[^ ]*$' | aclput tmpfile0 func_test_has_acl tmpfile0 no fi ;; macosx) # Set an ACL for a user. /bin/chmod +a "user:daemon allow execute" tmpfile0 func_test_has_acl tmpfile0 yes # Remove the ACL for the user. /bin/chmod -a "user:daemon allow execute" tmpfile0 func_test_has_acl tmpfile0 no ;; irix) # Set an ACL for a user. /sbin/chacl user::rw-,group::---,other::---,user:$auid:--x tmpfile0 2> tmp.err cat tmp.err 1>&2 if test -s tmp.err; then :; else func_test_has_acl tmpfile0 yes # Remove the ACL for the user. /sbin/chacl user::rw-,group::---,other::--- tmpfile0 func_test_has_acl tmpfile0 no fi ;; esac fi rm -f tmpfile[0-9] tmp.err rm -rf tmpdir0 ) || exit 1 rm -rf "$tmp" exit 0 coreutils-8.21/gnulib-tests/test-symlink.h0000664000000000000000000000607012071024546015606 00000000000000/* Tests of symlink. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test both symlink(a,b) and symlinkat(a,AT_FDCWD,b). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_symlink (int (*func) (char const *, char const *), bool print) { if (func ("nowhere", BASE "link1")) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } /* Some systems allow the creation of 0-length symlinks as a synonym for "."; but most reject it. */ { int status; errno = 0; status = func ("", BASE "link2"); if (status == -1) ASSERT (errno == ENOENT || errno == EINVAL); else { ASSERT (status == 0); ASSERT (unlink (BASE "link2") == 0); } } /* Sanity checks of failures. */ errno = 0; ASSERT (func ("nowhere", "") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("nowhere", ".") == -1); ASSERT (errno == EEXIST || errno == EINVAL); errno = 0; ASSERT (func ("somewhere", BASE "link1") == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func ("nowhere", BASE "link2/") == -1); ASSERT (errno == ENOTDIR || errno == ENOENT); ASSERT (mkdir (BASE "dir", 0700) == 0); errno = 0; ASSERT (func ("nowhere", BASE "dir") == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func ("nowhere", BASE "dir/") == -1); ASSERT (errno == EEXIST || errno == EINVAL); ASSERT (close (creat (BASE "file", 0600)) == 0); errno = 0; ASSERT (func ("nowhere", BASE "file") == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func ("nowhere", BASE "file/") == -1); ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT); /* Trailing slash must always be rejected. */ ASSERT (unlink (BASE "link1") == 0); ASSERT (func (BASE "link2", BASE "link1") == 0); errno = 0; ASSERT (func (BASE "nowhere", BASE "link1/") == -1); ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT); errno = 0; ASSERT (unlink (BASE "link2") == -1); ASSERT (errno == ENOENT); /* Cleanup. */ ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "file") == 0); ASSERT (unlink (BASE "link1") == 0); return 0; } coreutils-8.21/gnulib-tests/test-strerror.c0000664000000000000000000000370712071024546016001 00000000000000/* Test of strerror() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (strerror, char *, (int)); #include #include "macros.h" int main (void) { char *str; errno = 0; str = strerror (EACCES); ASSERT (str); ASSERT (*str); ASSERT (errno == 0); errno = 0; str = strerror (ETIMEDOUT); ASSERT (str); ASSERT (*str); ASSERT (errno == 0); errno = 0; str = strerror (EOVERFLOW); ASSERT (str); ASSERT (*str); ASSERT (errno == 0); /* POSIX requires strerror (0) to succeed. Reject use of "Unknown error", but allow "Success", "No error", or even Solaris' "Error 0" which are distinct patterns from true out-of-range strings. http://austingroupbugs.net/view.php?id=382 */ errno = 0; str = strerror (0); ASSERT (str); ASSERT (*str); ASSERT (errno == 0); ASSERT (strstr (str, "nknown") == NULL); ASSERT (strstr (str, "ndefined") == NULL); /* POSIX requires strerror to produce a non-NULL result for all inputs; as an extension, we also guarantee a non-empty result. Reporting EINVAL is optional. */ errno = 0; str = strerror (-3); ASSERT (str); ASSERT (*str); ASSERT (errno == 0 || errno == EINVAL); return 0; } coreutils-8.21/gnulib-tests/test-areadlink-with-size.c0000664000000000000000000000241712071024546017767 00000000000000/* Tests of areadlink_with_size. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "areadlink.h" #include #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-areadlink-with-size.t" #include "test-areadlink.h" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); return test_areadlink (areadlink_with_size, true); } coreutils-8.21/gnulib-tests/test-link.c0000664000000000000000000000240012071024546015041 00000000000000/* Test of link() function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (link, int, (char const *, char const *)); #include #include #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-link.t" #include "test-link.h" int main (void) { /* Remove any garbage left from previous partial runs. */ ignore_value (system ("rm -rf " BASE "*")); return test_link (link, true); } coreutils-8.21/gnulib-tests/test-mkfifo.h0000664000000000000000000000475012071024546015376 00000000000000/* Tests of mkfifo and friends. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test mkfifo(n,m), mknod(n,m|S_IFIFO,0), mkfifoat(AT_FDCWD,n,m), and mknodat(AT_FDCWD,n,m|S_IFIFO,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_mkfifo (int (*func) (char const *, mode_t), bool print) { int result = func (BASE "fifo", 0600); struct stat st; if (result == -1 && errno == ENOSYS) { if (print) fputs ("skipping test: no support for named fifos\n", stderr); return 77; } ASSERT (result == 0); ASSERT (stat (BASE "fifo", &st) == 0); ASSERT (S_ISFIFO (st.st_mode)); /* Sanity checks of failures. */ errno = 0; ASSERT (func ("", S_IRUSR | S_IWUSR) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (".", 0600) == -1); ASSERT (errno == EEXIST || errno == EINVAL); errno = 0; ASSERT (func (BASE "fifo", 0600) == -1); ASSERT (errno == EEXIST); ASSERT (unlink (BASE "fifo") == 0); errno = 0; ASSERT (func (BASE "fifo/", 0600) == -1); ASSERT (errno == ENOENT || errno == ENOTDIR); /* Test trailing slash behavior. */ if (symlink (BASE "fifo", BASE "link")) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; ASSERT (func (BASE "link", 0600) == -1); ASSERT (errno == EEXIST); errno = 0; ASSERT (func (BASE "link/", 0600) == -1); ASSERT (errno == EEXIST || errno == ENOENT || errno == ENOTDIR); errno = 0; ASSERT (unlink (BASE "fifo") == -1); ASSERT (errno == ENOENT); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-time.c0000664000000000000000000000236012071024546015047 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that the types are all defined. */ struct timespec t1; #if 0 /* POSIX:2008 does not require pid_t in unconditionally, and indeed it's missing on Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw. */ pid_t t2; #endif /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-posixtm.c0000664000000000000000000001571112071024546015620 00000000000000/* Test that posixtime works as required. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "posixtm.h" #include #include #include #include #include #include "intprops.h" #include "macros.h" struct posixtm_test { char const *in; unsigned int syntax_bits; bool valid; int_least64_t t_expected; }; /* Test mainly with syntax_bits == 13 (aka: (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS)) */ static struct posixtm_test const T[] = { /* no year specified; cross-check via another posixtime call */ { "12131415.16", 13, 1, 0}, /* ??? Dec 13 14:15:16 ???? */ { "12131415", 13, 1, 0}, /* ??? Dec 13 14:15:00 ???? */ /* These two tests fail on 64-bit Solaris up through at least Solaris 10, which is off by one day for time stamps before 0001-01-01 00:00:00 UTC. */ { "000001010000.00", 13, 1, - INT64_C (62167219200)},/* Sat Jan 1 00:00:00 0 */ { "000012312359.59", 13, 1, - INT64_C (62135596801)},/* Fri Dec 31 23:59:59 0 */ { "000101010000.00", 13, 1, - INT64_C (62135596800)},/* Sat Jan 1 00:00:00 1 */ { "190112132045.51", 13, 1, - INT64_C (2147483649)},/* Fri Dec 13 20:45:51 1901 */ { "190112132045.52", 13, 1, - INT64_C (2147483648)},/* Fri Dec 13 20:45:52 1901 */ { "190112132045.53", 13, 1, -2147483647}, /* Fri Dec 13 20:45:53 1901 */ { "190112132046.52", 13, 1, -2147483588}, /* Fri Dec 13 20:46:52 1901 */ { "190112132145.52", 13, 1, -2147480048}, /* Fri Dec 13 21:45:52 1901 */ { "190112142045.52", 13, 1, -2147397248}, /* Sat Dec 14 20:45:52 1901 */ { "190201132045.52", 13, 1, -2144805248}, /* Mon Jan 13 20:45:52 1902 */ { "196912312359.59", 13, 1, -1}, /* Wed Dec 31 23:59:59 1969 */ { "197001010000.00", 13, 1, 0}, /* Thu Jan 1 00:00:00 1970 */ { "197001010000.01", 13, 1, 1}, /* Thu Jan 1 00:00:01 1970 */ { "197001010001.00", 13, 1, 60}, /* Thu Jan 1 00:01:00 1970 */ { "197001010000.60", 13, 1, 60}, /* Thu Jan 1 00:01:00 1970 */ { "197001010100.00", 13, 1, 3600}, /* Thu Jan 1 01:00:00 1970 */ { "197001020000.00", 13, 1, 86400}, /* Fri Jan 2 00:00:00 1970 */ { "197002010000.00", 13, 1, 2678400}, /* Sun Feb 1 00:00:00 1970 */ { "197101010000.00", 13, 1, 31536000}, /* Fri Jan 1 00:00:00 1971 */ { "197001000000.00", 13, 0, 0}, /* -- */ { "197000010000.00", 13, 0, 0}, /* -- */ { "197001010060.00", 13, 0, 0}, /* -- */ { "197001012400.00", 13, 0, 0}, /* -- */ { "197001320000.00", 13, 0, 0}, /* -- */ { "197013010000.00", 13, 0, 0}, /* -- */ { "203801190314.06", 13, 1, 2147483646}, /* Tue Jan 19 03:14:06 2038 */ { "203801190314.07", 13, 1, 2147483647}, /* Tue Jan 19 03:14:07 2038 */ { "203801190314.08", 13, 1, INT64_C ( 2147483648)},/* Tue Jan 19 03:14:08 2038 */ { "999912312359.59", 13, 1, INT64_C (253402300799)},/* Fri Dec 31 23:59:59 9999 */ { "1112131415", 13, 1, 1323785700}, /* Tue Dec 13 14:15:00 2011 */ { "1112131415.16", 13, 1, 1323785716}, /* Tue Dec 13 14:15:16 2011 */ { "201112131415.16", 13, 1, 1323785716}, /* Tue Dec 13 14:15:16 2011 */ { "191112131415.16", 13, 1, -1831974284}, /* Wed Dec 13 14:15:16 1911 */ { "203712131415.16", 13, 1, 2144326516}, /* Sun Dec 13 14:15:16 2037 */ { "3712131415.16", 13, 1, 2144326516}, /* Sun Dec 13 14:15:16 2037 */ { "6812131415.16", 13, 1, INT64_C ( 3122633716)},/* Thu Dec 13 14:15:16 2068 */ { "6912131415.16", 13, 1, -1590284}, /* Sat Dec 13 14:15:16 1969 */ { "7012131415.16", 13, 1, 29945716}, /* Sun Dec 13 14:15:16 1970 */ { "1213141599", 2, 1, 945094500}, /* Mon Dec 13 14:15:00 1999 */ { "1213141500", 2, 1, 976716900}, /* Wed Dec 13 14:15:00 2000 */ { NULL, 0, 0, 0} }; int main (void) { unsigned int i; int fail = 0; char curr_year_str[30]; struct tm *tm; time_t t_now; int err; size_t n_bytes; /* The above test data requires Universal Time, e.g., TZ="UTC0". */ err = setenv ("TZ", "UTC0", 1); ASSERT (err == 0); t_now = time (NULL); ASSERT (t_now != (time_t) -1); tm = localtime (&t_now); ASSERT (tm); n_bytes = strftime (curr_year_str, sizeof curr_year_str, "%Y", tm); ASSERT (0 < n_bytes); for (i = 0; T[i].in; i++) { time_t t_out; time_t t_exp; bool ok; /* Some tests assume that time_t is signed. If it is unsigned and the result is negative, skip the test. */ if (T[i].t_expected < 0 && ! TYPE_SIGNED (time_t)) { printf ("skipping %s: result is negative, " "but your time_t is unsigned\n", T[i].in); continue; } if (! (TYPE_MINIMUM (time_t) <= T[i].t_expected && T[i].t_expected <= TYPE_MAXIMUM (time_t))) { printf ("skipping %s: result is out of range of your time_t\n", T[i].in); continue; } t_exp = T[i].t_expected; /* If an input string does not specify the year number, determine the expected output by calling posixtime with an otherwise equivalent string that starts with the current year. */ if (8 <= strlen (T[i].in) && (T[i].in[8] == '.' || T[i].in[8] == '\0')) { char tmp_buf[20]; stpcpy (stpcpy (tmp_buf, curr_year_str), T[i].in); ASSERT (posixtime (&t_exp, tmp_buf, T[i].syntax_bits)); } ok = posixtime (&t_out, T[i].in, T[i].syntax_bits); if (ok != !!T[i].valid) { printf ("%s return value mismatch: got %d, expected %d\n", T[i].in, !!ok, T[i].valid); fail = 1; continue; } if (!ok) continue; if (t_out != t_exp) { printf ("%s mismatch (-: actual; +:expected)\n-%12ld\n+%12ld\n", T[i].in, t_out, t_exp); fail = 1; } } return fail; } /* Local Variables: indent-tabs-mode: nil End: */ coreutils-8.21/gnulib-tests/test-u64.c0000664000000000000000000000222112071024546014523 00000000000000/* Test of Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson , 2009. */ #include #include int main (void) { u64 i = u64init (42, 4711); u64 j, k, l; j = u64hilo (42, 4711); if (u64lt (i, j) || u64lt (j, i)) return 1; i = u64hilo (0, 42); j = u64hilo (0, 43); if (!u64lt (i, j)) return 1; k = u64plus (i, j); l = u64hilo (0, 42 + 43); if (u64lt (k, l) || u64lt (l, k)) return 1; return 0; } coreutils-8.21/gnulib-tests/test-ctype.c0000664000000000000000000000154012071024546015234 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-fnmatch.c0000664000000000000000000000347512071024546015541 00000000000000/* Test of fnmatch string matching function. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (fnmatch, int, (char const *, char const *, int)); #include "macros.h" int main () { int res; ASSERT (res = fnmatch ("", "", 0) == 0); ASSERT (res = fnmatch ("*", "", 0) == 0); ASSERT (res = fnmatch ("*", "foo", 0) == 0); ASSERT (res = fnmatch ("*", "bar", 0) == 0); ASSERT (res = fnmatch ("*", "*", 0) == 0); ASSERT (res = fnmatch ("**", "f", 0) == 0); ASSERT (res = fnmatch ("**", "foo.txt", 0) == 0); ASSERT (res = fnmatch ("*.*", "foo.txt", 0) == 0); ASSERT (res = fnmatch ("foo*.txt", "foobar.txt", 0) == 0); ASSERT (res = fnmatch ("foo.txt", "foo.txt", 0) == 0); ASSERT (res = fnmatch ("foo\\.txt", "foo.txt", 0) == 0); ASSERT (res = fnmatch ("foo\\.txt", "foo.txt", FNM_NOESCAPE) == FNM_NOMATCH); /* Verify that an unmatched [ is treated as a literal, as POSIX requires. This test ensures that glibc Bugzilla bug #12378 stays fixed. */ ASSERT (res = fnmatch ("[/b", "[/b", 0) == 0); return 0; } coreutils-8.21/gnulib-tests/test-remove.c0000664000000000000000000000707312071024546015414 00000000000000/* Tests of remove. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (remove, int, (char const *)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-remove.t" int main (void) { /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Setup. */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (close (creat (BASE "dir/file", 0600)) == 0); /* Basic error conditions. */ errno = 0; ASSERT (remove ("") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (remove ("nosuch") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (remove ("nosuch/") == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (remove (".") == -1); ASSERT (errno == EINVAL || errno == EBUSY); /* Resulting errno after ".." or "/" is too varied to test; it is reasonable to see any of EINVAL, EEXIST, ENOTEMPTY, EACCES. */ ASSERT (remove ("..") == -1); ASSERT (remove ("/") == -1); ASSERT (remove ("///") == -1); errno = 0; ASSERT (remove (BASE "dir/file/") == -1); ASSERT (errno == ENOTDIR); /* Non-empty directory. */ errno = 0; ASSERT (remove (BASE "dir") == -1); ASSERT (errno == EEXIST || errno == ENOTEMPTY); /* Non-directory. */ ASSERT (remove (BASE "dir/file") == 0); /* Empty directory. */ errno = 0; ASSERT (remove (BASE "dir/.//") == -1); ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST); ASSERT (remove (BASE "dir") == 0); /* Test symlink behavior. Specifying trailing slash should remove referent directory, or cause ENOTDIR failure, but not touch symlink. */ if (symlink (BASE "dir", BASE "link") != 0) { fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (mkdir (BASE "dir", 0700) == 0); errno = 0; if (remove (BASE "link/") == 0) { struct stat st; errno = 0; ASSERT (stat (BASE "link", &st) == -1); ASSERT (errno == ENOENT); } else ASSERT (remove (BASE "dir") == 0); { struct stat st; ASSERT (lstat (BASE "link", &st) == 0); ASSERT (S_ISLNK (st.st_mode)); } ASSERT (remove (BASE "link") == 0); /* Trailing slash on symlink to non-directory is an error. */ ASSERT (symlink (BASE "loop", BASE "loop") == 0); errno = 0; ASSERT (remove (BASE "loop/") == -1); ASSERT (errno == ELOOP || errno == ENOTDIR); ASSERT (remove (BASE "loop") == 0); ASSERT (close (creat (BASE "file", 0600)) == 0); ASSERT (symlink (BASE "file", BASE "link") == 0); errno = 0; ASSERT (remove (BASE "link/") == -1); ASSERT (errno == ENOTDIR); ASSERT (remove (BASE "link") == 0); ASSERT (remove (BASE "file") == 0); return 0; } coreutils-8.21/gnulib-tests/test-isnanl-nolibm.c0000664000000000000000000000155312071024546016656 00000000000000/* Test of isnanl() substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "isnanl-nolibm.h" #include "test-isnanl.h" coreutils-8.21/gnulib-tests/at-func.c0000664000000000000000000001046612071024545014476 00000000000000/* Define at-style functions like fstatat, unlinkat, fchownat, etc. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD # include # ifndef ENOTSUP # define ENOTSUP EINVAL # endif #else # include "openat.h" # include "openat-priv.h" # include "save-cwd.h" #endif #ifdef AT_FUNC_USE_F1_COND # define CALL_FUNC(F) \ (flag == AT_FUNC_USE_F1_COND \ ? AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS) \ : AT_FUNC_F2 (F AT_FUNC_POST_FILE_ARGS)) # define VALIDATE_FLAG(F) \ if (flag & ~AT_FUNC_USE_F1_COND) \ { \ errno = EINVAL; \ return FUNC_FAIL; \ } #else # define CALL_FUNC(F) (AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS)) # define VALIDATE_FLAG(F) /* empty */ #endif #ifdef AT_FUNC_RESULT # define FUNC_RESULT AT_FUNC_RESULT #else # define FUNC_RESULT int #endif #ifdef AT_FUNC_FAIL # define FUNC_FAIL AT_FUNC_FAIL #else # define FUNC_FAIL -1 #endif /* Call AT_FUNC_F1 to operate on FILE, which is in the directory open on descriptor FD. If AT_FUNC_USE_F1_COND is defined to a value, AT_FUNC_POST_FILE_PARAM_DECLS must include a parameter named flag; call AT_FUNC_F2 if FLAG is 0 or fail if FLAG contains more bits than AT_FUNC_USE_F1_COND. Return int and fail with -1 unless AT_FUNC_RESULT or AT_FUNC_FAIL are defined. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then AT_FUNC_F?/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ FUNC_RESULT AT_FUNC_NAME (int fd, char const *file AT_FUNC_POST_FILE_PARAM_DECLS) { VALIDATE_FLAG (flag); if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) return CALL_FUNC (file); #ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD errno = ENOTSUP; return FUNC_FAIL; #else { /* Be careful to choose names unlikely to conflict with AT_FUNC_POST_FILE_PARAM_DECLS. */ struct saved_cwd saved_cwd; int saved_errno; FUNC_RESULT err; { char proc_buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (proc_buf, fd, file); if (proc_file) { FUNC_RESULT proc_result = CALL_FUNC (proc_file); int proc_errno = errno; if (proc_file != proc_buf) free (proc_file); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (FUNC_FAIL != proc_result) return proc_result; if (! EXPECTED_ERRNO (proc_errno)) { errno = proc_errno; return proc_result; } } } if (save_cwd (&saved_cwd) != 0) openat_save_fail (errno); if (0 <= fd && fd == saved_cwd.desc) { /* If saving the working directory collides with the user's requested fd, then the user's fd must have been closed to begin with. */ free_cwd (&saved_cwd); errno = EBADF; return FUNC_FAIL; } if (fchdir (fd) != 0) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return FUNC_FAIL; } err = CALL_FUNC (file); saved_errno = (err == FUNC_FAIL ? errno : 0); if (restore_cwd (&saved_cwd) != 0) openat_restore_fail (errno); free_cwd (&saved_cwd); if (saved_errno) errno = saved_errno; return err; } #endif } #undef CALL_FUNC #undef FUNC_RESULT #undef FUNC_FAIL coreutils-8.21/gnulib-tests/test-exclude2.sh0000775000000000000000000000246112071024546016021 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 cat > in < expected < out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-select-fd.c0000664000000000000000000000442512071024546015763 00000000000000/* Test of select() substitute, reading or writing from a given file descriptor. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include #include int main (int argc, char *argv[]) { if (argc == 4) { char mode = argv[1][0]; if (mode == 'r' || mode == 'w') { int fd = atoi (argv[2]); if (fd >= 0) { const char *result_file_name = argv[3]; FILE *result_file = fopen (result_file_name, "wb"); if (result_file != NULL) { fd_set fds; struct timeval timeout; int ret; FD_ZERO (&fds); FD_SET (fd, &fds); timeout.tv_sec = 0; timeout.tv_usec = 10000; ret = (mode == 'r' ? select (fd + 1, &fds, NULL, NULL, &timeout) : select (fd + 1, NULL, &fds, NULL, &timeout)); if (ret < 0) { perror ("select failed"); exit (1); } if ((ret == 0) != ! FD_ISSET (fd, &fds)) { fprintf (stderr, "incorrect return value\n"); exit (1); } fprintf (result_file, "%d\n", ret); exit (0); } } } } fprintf (stderr, "Usage: test-select-fd mode fd result-file-name\n"); exit (1); } coreutils-8.21/gnulib-tests/test-dup2.c0000664000000000000000000001323212100637437014765 00000000000000/* Test duplicating file descriptors. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (dup2, int, (int, int)); #include #include #include "binary-io.h" #if GNULIB_TEST_CLOEXEC # include "cloexec.h" #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #endif #include "macros.h" /* Return non-zero if FD is open. */ static int is_open (int fd) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; #else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); #endif } #if GNULIB_TEST_CLOEXEC /* Return non-zero if FD is open and inheritable across exec/spawn. */ static int is_inheritable (int fd) { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD flags; if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) return 0; return (flags & HANDLE_FLAG_INHERIT) != 0; # else # ifndef F_GETFD # error Please port fcntl to your platform # endif int i = fcntl (fd, F_GETFD); return 0 <= i && (i & FD_CLOEXEC) == 0; # endif } #endif /* GNULIB_TEST_CLOEXEC */ #if !O_BINARY # define setmode(f,m) zero () static int zero (void) { return 0; } #endif /* Return non-zero if FD is open in the given MODE, which is either O_TEXT or O_BINARY. */ static int is_mode (int fd, int mode) { int value = setmode (fd, O_BINARY); setmode (fd, value); return mode == value; } int main (void) { const char *file = "test-dup2.tmp"; char buffer[1]; int fd = open (file, O_CREAT | O_TRUNC | O_RDWR, 0600); /* Assume std descriptors were provided by invoker. */ ASSERT (STDERR_FILENO < fd); ASSERT (is_open (fd)); /* Ignore any other fd's leaked into this process. */ close (fd + 1); close (fd + 2); ASSERT (!is_open (fd + 1)); ASSERT (!is_open (fd + 2)); /* Assigning to self must be a no-op. */ ASSERT (dup2 (fd, fd) == fd); ASSERT (is_open (fd)); /* The source must be valid. */ errno = 0; ASSERT (dup2 (-1, fd) == -1); ASSERT (errno == EBADF); close (99); errno = 0; ASSERT (dup2 (99, fd) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup2 (AT_FDCWD, fd) == -1); ASSERT (errno == EBADF); ASSERT (is_open (fd)); /* If the source is not open, then the destination is unaffected. */ errno = 0; ASSERT (dup2 (fd + 1, fd + 1) == -1); ASSERT (errno == EBADF); ASSERT (!is_open (fd + 1)); errno = 0; ASSERT (dup2 (fd + 1, fd) == -1); ASSERT (errno == EBADF); ASSERT (is_open (fd)); /* The destination must be valid. */ errno = 0; ASSERT (dup2 (fd, -2) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup2 (fd, 10000000) == -1); ASSERT (errno == EBADF); /* Using dup2 can skip fds. */ ASSERT (dup2 (fd, fd + 2) == fd + 2); ASSERT (is_open (fd)); ASSERT (!is_open (fd + 1)); ASSERT (is_open (fd + 2)); /* Verify that dup2 closes the previous occupant of a fd. */ ASSERT (open ("/dev/null", O_WRONLY, 0600) == fd + 1); ASSERT (dup2 (fd + 1, fd) == fd); ASSERT (close (fd + 1) == 0); ASSERT (write (fd, "1", 1) == 1); ASSERT (dup2 (fd + 2, fd) == fd); ASSERT (lseek (fd, 0, SEEK_END) == 0); ASSERT (write (fd + 2, "2", 1) == 1); ASSERT (lseek (fd, 0, SEEK_SET) == 0); ASSERT (read (fd, buffer, 1) == 1); ASSERT (*buffer == '2'); #if GNULIB_TEST_CLOEXEC /* Any new fd created by dup2 must not be cloexec. */ ASSERT (close (fd + 2) == 0); ASSERT (dup_cloexec (fd) == fd + 1); ASSERT (!is_inheritable (fd + 1)); ASSERT (dup2 (fd + 1, fd + 1) == fd + 1); ASSERT (!is_inheritable (fd + 1)); ASSERT (dup2 (fd + 1, fd + 2) == fd + 2); ASSERT (!is_inheritable (fd + 1)); ASSERT (is_inheritable (fd + 2)); errno = 0; ASSERT (dup2 (fd + 1, -1) == -1); ASSERT (errno == EBADF); ASSERT (!is_inheritable (fd + 1)); #endif /* On systems that distinguish between text and binary mode, dup2 reuses the mode of the source. */ setmode (fd, O_BINARY); ASSERT (is_mode (fd, O_BINARY)); ASSERT (dup2 (fd, fd + 1) == fd + 1); ASSERT (is_mode (fd + 1, O_BINARY)); setmode (fd, O_TEXT); ASSERT (is_mode (fd, O_TEXT)); ASSERT (dup2 (fd, fd + 1) == fd + 1); ASSERT (is_mode (fd + 1, O_TEXT)); /* Clean up. */ ASSERT (close (fd + 2) == 0); ASSERT (close (fd + 1) == 0); ASSERT (close (fd) == 0); ASSERT (unlink (file) == 0); return 0; } coreutils-8.21/gnulib-tests/test-file-has-acl.c0000664000000000000000000000333512071024546016341 00000000000000/* Test for presence of ACL. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include "acl.h" #include #include #include #include #include #include #include "macros.h" int main (int argc, char *argv[]) { const char *file; struct stat statbuf; ASSERT (argc == 2); file = argv[1]; if (stat (file, &statbuf) < 0) { fprintf (stderr, "could not access file \"%s\"\n", file); exit (EXIT_FAILURE); } /* Check against possible infinite loop in file_has_acl. */ #if HAVE_DECL_ALARM /* Declare failure if test takes too long, by using default abort caused by SIGALRM. */ signal (SIGALRM, SIG_DFL); alarm (5); #endif #if USE_ACL { int ret = file_has_acl (file, &statbuf); if (ret < 0) { fprintf (stderr, "could not access the ACL of file \"%s\"\n", file); exit (EXIT_FAILURE); } printf ("%s\n", ret ? "yes" : "no"); } #else printf ("no\n"); #endif return 0; } coreutils-8.21/gnulib-tests/test-sockets.c0000664000000000000000000000216312071024546015565 00000000000000/* * Copyright (C) 2008-2013 Free Software Foundation, Inc. * Written by Simon Josefsson. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "sockets.h" int main (void) { int err; err = gl_sockets_startup (SOCKETS_1_1); if (err != 0) { printf ("wsastartup failed %d\n", err); return 1; } err = gl_sockets_cleanup (); if (err != 0) { printf ("wsacleanup failed %d\n", err); return 1; } (void) gl_fd_to_handle (0); return 0; } coreutils-8.21/gnulib-tests/test-isnanf.h0000664000000000000000000000410012071024546015366 00000000000000/* Test of isnanf() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "minus-zero.h" #include "infinity.h" #include "nan.h" #include "macros.h" int main () { /* Finite values. */ ASSERT (!isnanf (3.141f)); ASSERT (!isnanf (3.141e30f)); ASSERT (!isnanf (3.141e-30f)); ASSERT (!isnanf (-2.718f)); ASSERT (!isnanf (-2.718e30f)); ASSERT (!isnanf (-2.718e-30f)); ASSERT (!isnanf (0.0f)); ASSERT (!isnanf (minus_zerof)); /* Infinite values. */ ASSERT (!isnanf (Infinityf ())); ASSERT (!isnanf (- Infinityf ())); /* Quiet NaN. */ ASSERT (isnanf (NaNf ())); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* Signalling NaN. */ { #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; memory_float m; m.value = NaNf (); # if FLT_EXPBIT0_BIT > 0 m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1); # else m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif if (FLT_EXPBIT0_WORD < NWORDS / 2) m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT; else m.word[0] |= (unsigned int) 1; ASSERT (isnanf (m.value)); } #endif return 0; } coreutils-8.21/gnulib-tests/test-wcrtomb.c0000664000000000000000000001101612071024546015564 00000000000000/* Test of conversion of wide character to multibyte character. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (wcrtomb, size_t, (char *, wchar_t, mbstate_t *)); #include #include #include #include "macros.h" /* Check the multibyte character s[0..n-1]. */ static void check_character (const char *s, size_t n) { wchar_t wc; char buf[64]; int iret; size_t ret; wc = (wchar_t) 0xBADFACE; iret = mbtowc (&wc, s, n); ASSERT (iret == n); ret = wcrtomb (buf, wc, NULL); ASSERT (ret == n); ASSERT (memcmp (buf, s, n) == 0); /* Test special calling convention, passing a NULL pointer. */ ret = wcrtomb (NULL, wc, NULL); ASSERT (ret == 1); } int main (int argc, char *argv[]) { char buf[64]; size_t ret; /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Test NUL character. */ { buf[0] = 'x'; ret = wcrtomb (buf, 0, NULL); ASSERT (ret == 1); ASSERT (buf[0] == '\0'); } /* Test single bytes. */ { int c; for (c = 0; c < 0x100; c++) switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* c is in the ISO C "basic character set". */ ret = wcrtomb (buf, btowc (c), NULL); ASSERT (ret == 1); ASSERT (buf[0] == (char) c); break; } } /* Test special calling convention, passing a NULL pointer. */ { ret = wcrtomb (NULL, '\0', NULL); ASSERT (ret == 1); ret = wcrtomb (NULL, btowc ('x'), NULL); ASSERT (ret == 1); } if (argc > 1) switch (argv[1][0]) { case '1': /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ { const char input[] = "B\374\337er"; /* "Büßer" */ check_character (input + 1, 1); check_character (input + 2, 1); } return 0; case '2': /* Locale encoding is UTF-8. */ { const char input[] = "B\303\274\303\237er"; /* "Büßer" */ check_character (input + 1, 2); check_character (input + 3, 2); } return 0; case '3': /* Locale encoding is EUC-JP. */ { const char input[] = "<\306\374\313\334\270\354>"; /* "<日本語>" */ check_character (input + 1, 2); check_character (input + 3, 2); check_character (input + 5, 2); } return 0; case '4': /* Locale encoding is GB18030. */ { const char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ check_character (input + 1, 2); check_character (input + 3, 4); } return 0; } return 1; } coreutils-8.21/gnulib-tests/test-wcrtomb.sh0000775000000000000000000000136111624730157015766 00000000000000#!/bin/sh # Test in an ISO-8859-1 or ISO-8859-15 locale. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR \ ./test-wcrtomb${EXEEXT} 1 \ || exit 1 fi # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 != none; then LC_ALL=$LOCALE_FR_UTF8 \ ./test-wcrtomb${EXEEXT} 2 \ || exit 1 fi # Test whether a specific EUC-JP locale is installed. : ${LOCALE_JA=ja_JP} if test $LOCALE_JA != none; then LC_ALL=$LOCALE_JA \ ./test-wcrtomb${EXEEXT} 3 \ || exit 1 fi # Test whether a specific GB18030 locale is installed. : ${LOCALE_ZH_CN=zh_CN.GB18030} if test $LOCALE_ZH_CN != none; then LC_ALL=$LOCALE_ZH_CN \ ./test-wcrtomb${EXEEXT} 4 \ || exit 1 fi exit 0 coreutils-8.21/gnulib-tests/test-sys_wait.c0000664000000000000000000000224512071024546015755 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include /* Check for existence of required types. */ static pid_t a; #include "test-sys_wait.h" int main (void) { if (test_sys_wait_macros ()) return 1; switch (0) { #if 0 /* Gnulib doesn't guarantee these, yet. */ case WCONTINUED: case WEXITED: case WNOWAIT: case WSTOPPED: #endif break; } return a ? 1 : 0; } coreutils-8.21/gnulib-tests/test-exclude8.sh0000775000000000000000000000240212071024546016022 00000000000000#! /bin/sh # Test suite for exclude. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "${srcdir=.}/init.sh"; path_prepend_ . fail=0 # Test escaped metacharacters. cat > in <<'EOT' f\*e b[a\*]r EOT cat > expected <<'EOT' f*e: 1 file: 0 bar: 1 EOT test-exclude -wildcards in -- 'f*e' 'file' 'bar' > out || exit $? # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac # normalize output LC_ALL=C tr -d "$cr" < out > k && mv k out compare expected out || fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-mbrtowc2.sh0000775000000000000000000000057011624730153016045 00000000000000#!/bin/sh # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" else echo "Skipping test: no french Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR_UTF8 \ ./test-mbrtowc${EXEEXT} 2 coreutils-8.21/gnulib-tests/nan.h0000664000000000000000000000346612071024546013725 00000000000000/* Macros for not-a-number. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* NaNf () returns a 'float' not-a-number. */ /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke on the expression 0.0 / 0.0. */ #if defined __DECC || defined _MSC_VER static float NaNf () { static float zero = 0.0f; return zero / zero; } #else # define NaNf() (0.0f / 0.0f) #endif /* NaNd () returns a 'double' not-a-number. */ /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke on the expression 0.0 / 0.0. */ #if defined __DECC || defined _MSC_VER static double NaNd () { static double zero = 0.0; return zero / zero; } #else # define NaNd() (0.0 / 0.0) #endif /* NaNl () returns a 'long double' not-a-number. */ /* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the runtime type conversion. The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L. */ #ifdef __sgi static long double NaNl () { double zero = 0.0; return zero / zero; } #elif defined _MSC_VER static long double NaNl () { static long double zero = 0.0L; return zero / zero; } #else # define NaNl() (0.0L / 0.0L) #endif coreutils-8.21/gnulib-tests/test-mbsrtowcs4.sh0000775000000000000000000000060411624730154016414 00000000000000#!/bin/sh # Test whether a specific GB18030 locale is installed. : ${LOCALE_ZH_CN=zh_CN.GB18030} if test $LOCALE_ZH_CN = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no transitional chinese locale is installed" else echo "Skipping test: no transitional chinese locale is supported" fi exit 77 fi LC_ALL=$LOCALE_ZH_CN \ ./test-mbsrtowcs${EXEEXT} 4 coreutils-8.21/gnulib-tests/test-mbsrtowcs2.sh0000775000000000000000000000057211624730153016415 00000000000000#!/bin/sh # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" else echo "Skipping test: no french Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR_UTF8 \ ./test-mbsrtowcs${EXEEXT} 2 coreutils-8.21/gnulib-tests/infinity.h0000664000000000000000000000303712071024546014774 00000000000000/* Macros for infinity. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Infinityf () returns a 'float' +Infinity. */ /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */ #if defined _MSC_VER static float Infinityf () { static float zero = 0.0f; return 1.0f / zero; } #else # define Infinityf() (1.0f / 0.0f) #endif /* Infinityd () returns a 'double' +Infinity. */ /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */ #if defined _MSC_VER static double Infinityd () { static double zero = 0.0; return 1.0 / zero; } #else # define Infinityd() (1.0 / 0.0) #endif /* Infinityl () returns a 'long double' +Infinity. */ /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */ #if defined _MSC_VER static double Infinityl () { static long double zero = 0.0L; return 1.0L / zero; } #else # define Infinityl() (1.0L / 0.0L) #endif coreutils-8.21/gnulib-tests/test-yesno.c0000664000000000000000000000412412071024546015246 00000000000000/* Test of yesno module. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "yesno.h" #include #include #include #include "closein.h" #include "binary-io.h" char *program_name; /* Test yesno. Without arguments, read one line. If first argument is zero, close stdin before attempting to read one line. Otherwise, read the number of lines specified by first argument. */ int main (int argc, char **argv) { int i = 1; program_name = argv[0]; /* yesno recommends that all clients use close_stdin in main. */ atexit (close_stdin); /* But on mingw, close_stdin leaves stdin's file descriptor at the expected position (i.e. where this program left off reading) only if its mode has been set to O_BINARY. If it has been set to O_TEXT, and the file descriptor is seekable, and stdin is buffered, the MSVCRT runtime ends up setting the file descriptor's position to the expected position _minus_ the number of LFs not preceded by CR that were read between the expected position and the last filled buffer end position. (I.e. the repositioning from the end-of-buffer to the expected position does not work if the input file contains end-of-line markers in Unix convention.) */ SET_BINARY (0); if (1 < argc) i = atoi (argv[1]); if (!i) { i = 1; close (0); } while (i--) puts (yesno () ? "Y" : "N"); return 0; } coreutils-8.21/gnulib-tests/test-accept.c0000664000000000000000000000277212100637437015361 00000000000000/* Test accepting a connection to a server socket. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (accept, int, (int, struct sockaddr *, socklen_t *)); #include #include #include #include "sockets.h" #include "macros.h" int main (void) { (void) gl_sockets_startup (SOCKETS_1_1); /* Test behaviour for invalid file descriptors. */ { struct sockaddr_in addr; socklen_t addrlen = sizeof (addr); errno = 0; ASSERT (accept (-1, (struct sockaddr *) &addr, &addrlen) == -1); ASSERT (errno == EBADF); } { struct sockaddr_in addr; socklen_t addrlen = sizeof (addr); close (99); errno = 0; ASSERT (accept (99, (struct sockaddr *) &addr, &addrlen) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-mkdir.c0000664000000000000000000000237412071024546015224 00000000000000/* Tests of mkdir. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (mkdir, int, (char const *, mode_t)); #include #include #include #include #include #include #include "ignore-value.h" #include "macros.h" #define BASE "test-mkdir.t" #include "test-mkdir.h" int main (void) { /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); return test_mkdir (mkdir, true); } coreutils-8.21/gnulib-tests/test-calloc-gnu.c0000664000000000000000000000206612071024546016140 00000000000000/* Test of calloc function. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include int main () { /* Check that calloc (0, 0) is not a NULL pointer. */ if (calloc (0, 0) == NULL) return 1; /* Check that calloc fails when requested to allocate a block of memory larger than SIZE_MAX bytes. */ if (calloc ((size_t) -1 / 8 + 1, 8) != NULL) return 1; return 0; } coreutils-8.21/gnulib-tests/test-fseeko4.c0000664000000000000000000000357212100637437015461 00000000000000/* Test of fseeko() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "macros.h" int main (int argc, char **argv) { const char *filename = argv[1]; /* Test that fseeko() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "r"); ASSERT (fp != NULL); setvbuf (fp, NULL, _IONBF, 0); ASSERT (ftell (fp) == 0); ASSERT (fseeko (fp, 0, SEEK_END) == 0); ASSERT (ftell (fp) > 0); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fseeko (fp, 0, SEEK_SET) == -1); ASSERT (errno == EBADF); fclose (fp); } /* Test that fseeko() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "w"); if (fp != NULL) { errno = 0; ASSERT (fseeko (fp, 0, SEEK_END) == -1); ASSERT (errno == EBADF); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "w"); if (fp != NULL) { errno = 0; ASSERT (fseeko (fp, 0, SEEK_END) == -1); ASSERT (errno == EBADF); fclose (fp); } } return 0; } coreutils-8.21/gnulib-tests/test-quotearg.h0000664000000000000000000000753312071024546015754 00000000000000/* Test of quotearg family of functions. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Eric Blake , 2008. */ struct result_strings { char const *str1; /* Translation of "". */ char const *str2; /* Translation of "\0""1\0". */ size_t len2; /* Length of str2. */ char const *str3; /* Translation of "simple". */ char const *str4; /* Translation of " \t\n'\"\033?""?/\\". */ char const *str5; /* Translation of "a:b". */ char const *str6; /* Translation of "a\\b". */ char const *str7a; /* Translation of LQ RQ, in ASCII charset. */ char const *str7b; /* Translation of LQ RQ, in Latin1 or UTF-8 charset. */ }; struct result_groups { struct result_strings group1; /* Via quotearg_buffer. */ struct result_strings group2; /* Via quotearg{,_mem}. */ struct result_strings group3; /* Via quotearg_colon{,_mem}. */ }; /* These quotes are borrowed from a pt_PT.utf8 translation. */ # define LQ "\302\253" # define RQ "\302\273" # define LQ_ENC "\\302\\253" # define RQ_ENC "\\302\\273" # define RQ_ESC "\\\302\273" static struct result_strings inputs = { "", "\0001\0", 3, "simple", " \t\n'\"\033?""?/\\", "a:b", "a\\b", LQ RQ, NULL }; static void compare (char const *a, size_t la, char const *b, size_t lb) { ASSERT (la == lb); ASSERT (memcmp (a, b, la) == 0); ASSERT (b[lb] == '\0'); } static void compare_strings (char *(func) (char const *, size_t *), struct result_strings *results, bool ascii_only) { size_t len; char *p; len = 0; p = func (inputs.str1, &len); compare (results->str1, strlen (results->str1), p, len); len = inputs.len2; p = func (inputs.str2, &len); compare (results->str2, results->len2, p, len); len = SIZE_MAX; p = func (inputs.str3, &len); compare (results->str3, strlen (results->str3), p, len); len = strlen (inputs.str4); p = func (inputs.str4, &len); compare (results->str4, strlen (results->str4), p, len); len = SIZE_MAX; p = func (inputs.str5, &len); compare (results->str5, strlen (results->str5), p, len); len = strlen (inputs.str6); p = func (inputs.str6, &len); compare (results->str6, strlen (results->str6), p, len); len = strlen (inputs.str7a); p = func (inputs.str7a, &len); if (ascii_only) compare (results->str7a, strlen (results->str7a), p, len); else compare (results->str7b, strlen (results->str7b), p, len); } static char * use_quotearg_buffer (const char *str, size_t *len) { static char buf[100]; size_t size; memset (buf, 0xa5, 100); size = quotearg_buffer (buf, 100, str, *len, NULL); *len = size; ASSERT ((unsigned char) buf[size + 1] == 0xa5); return buf; } static char * use_quotearg (const char *str, size_t *len) { char *p = *len == SIZE_MAX ? quotearg (str) : quotearg_mem (str, *len); *len = strlen (p); return p; } static char * use_quote_double_quotes (const char *str, size_t *len) { char *p = *len == SIZE_MAX ? quotearg_char (str, '"') : quotearg_char_mem (str, *len, '"'); *len = strlen (p); return p; } static char * use_quotearg_colon (const char *str, size_t *len) { char *p = (*len == SIZE_MAX ? quotearg_colon (str) : quotearg_colon_mem (str, *len)); *len = strlen (p); return p; } coreutils-8.21/gnulib-tests/test-closein.sh0000775000000000000000000000153011777552746015762 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . echo Hello world > in.tmp echo world > xout.tmp fail=0 # Test with seekable stdin; follow-on process must see remaining data (test-closein; cat) < in.tmp > out1.tmp || fail=1 cmp out1.tmp in.tmp || fail=1 (test-closein consume; cat) < in.tmp > out2.tmp || fail=1 cmp out2.tmp xout.tmp || fail=1 # Test for lack of error on pipe. Ignore any EPIPE failures from cat. cat in.tmp 2>/dev/null | test-closein || fail=1 cat in.tmp 2>/dev/null | test-closein consume || fail=1 # Test for lack of error when nothing is read test-closein /dev/null && fail=1 Exit $fail coreutils-8.21/gnulib-tests/test-xstrtoumax.sh0000775000000000000000000000213411777552746016565 00000000000000#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . too_big=99999999999999999999999999999999999999999999999999999999999999999999 result=0 # test xstrtoumax test-xstrtoumax 1 >> out 2>&1 || result=1 test-xstrtoumax -1 >> out 2>&1 && result=1 test-xstrtoumax 1k >> out 2>&1 || result=1 test-xstrtoumax ${too_big}h >> out 2>&1 && result=1 test-xstrtoumax $too_big >> out 2>&1 && result=1 test-xstrtoumax x >> out 2>&1 && result=1 test-xstrtoumax 9x >> out 2>&1 && result=1 test-xstrtoumax 010 >> out 2>&1 || result=1 test-xstrtoumax MiB >> out 2>&1 || result=1 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. if echo solaris | tr -d '\r' | grep solais > /dev/null; then cr='\015' else cr='\r' fi # normalize output LC_ALL=C tr -d "$cr" < out > k mv k out # compare expected output cat > exp <1 () invalid X argument '-1' 1k->1024 () invalid suffix in X argument '${too_big}h' X argument '$too_big' too large invalid X argument 'x' invalid suffix in X argument '9x' 010->8 () MiB->1048576 () EOF compare exp out || result=1 Exit $result coreutils-8.21/gnulib-tests/test-utimens-common.h0000664000000000000000000000504012071024546017066 00000000000000/* Test of file timestamp modification functions. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* This file defines some prerequisites useful to utime-related tests. */ #ifndef GL_TEST_UTIMENS_COMMON # define GL_TEST_UTIMENS_COMMON # include # include # include # include /* Gnulib modules. */ # include "stat-time.h" # include "timespec.h" # include "utimecmp.h" /* Gnulib test header. */ # include "nap.h" enum { BILLION = 1000 * 1000 * 1000, Y2K = 946684800, /* Jan 1, 2000, in seconds since epoch. */ /* Bogus positive and negative tv_nsec values closest to valid range, but without colliding with UTIME_NOW or UTIME_OMIT. */ UTIME_BOGUS_POS = BILLION + ((UTIME_NOW == BILLION || UTIME_OMIT == BILLION) ? (1 + (UTIME_NOW == BILLION + 1) + (UTIME_OMIT == BILLION + 1)) : 0), UTIME_BOGUS_NEG = -1 - ((UTIME_NOW == -1 || UTIME_OMIT == -1) ? (1 + (UTIME_NOW == -2) + (UTIME_OMIT == -2)) : 0) }; # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* Skip ctime tests on native Windows, since it is either a copy of mtime or birth time (depending on the file system), rather than a properly tracked change time. */ # define check_ctime 0 # else # define check_ctime 1 # endif /* Compare two st_ctime values. Return -1, 0 or 1, respectively when A's st_ctime is smaller than, equal to or greater than B's. */ static int ctime_compare (struct stat const *a, struct stat const *b) { if (a->st_ctime < b->st_ctime) return -1; else if (b->st_ctime < a->st_ctime) return 1; else if (get_stat_ctime_ns (a) < get_stat_ctime_ns (b)) return -1; else if (get_stat_ctime_ns (b) < get_stat_ctime_ns (a)) return 1; else return 0; } #endif /* GL_TEST_UTIMENS_COMMON */ coreutils-8.21/gnulib-tests/test-sha1.c0000664000000000000000000000263312071024546014750 00000000000000/* * Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc. * Written by Simon Josefsson * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "sha1.h" int main (void) { const char *in1 = "abcdefgh"; const char *out1 = "\x42\x5a\xf1\x2a\x07\x43\x50\x2b" "\x32\x2e\x93\xa0\x15\xbc\xf8\x68\xe3\x24\xd5\x6a"; char buf[SHA1_DIGEST_SIZE]; if (memcmp (sha1_buffer (in1, strlen (in1), buf), out1, SHA1_DIGEST_SIZE) != 0) { size_t i; printf ("expected:\n"); for (i = 0; i < SHA1_DIGEST_SIZE; i++) printf ("%02x ", out1[i] & 0xFF); printf ("\ncomputed:\n"); for (i = 0; i < SHA1_DIGEST_SIZE; i++) printf ("%02x ", buf[i] & 0xFF); printf ("\n"); return 1; } return 0; } coreutils-8.21/gnulib-tests/test-snprintf.c0000664000000000000000000000372212071024546015757 00000000000000/* Test of snprintf() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (snprintf, int, (char *, size_t, char const *, ...)); #include #include "macros.h" int main (int argc, char *argv[]) { char buf[8]; int size; int retval; retval = snprintf (NULL, 0, "%d", 12345); ASSERT (retval == 5); for (size = 0; size <= 8; size++) { memcpy (buf, "DEADBEEF", 8); retval = snprintf (buf, size, "%d", 12345); ASSERT (retval == 5); if (size < 6) { if (size > 0) { ASSERT (memcmp (buf, "12345", size - 1) == 0); ASSERT (buf[size - 1] == '\0' || buf[size - 1] == '0' + size); } #if !CHECK_SNPRINTF_POSIX if (size > 0) #endif ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); } else { ASSERT (memcmp (buf, "12345\0EF", 8) == 0); } } /* Test the support of the POSIX/XSI format strings with positions. */ { char result[100]; retval = snprintf (result, sizeof (result), "%2$d %1$d", 33, 55); ASSERT (strcmp (result, "55 33") == 0); ASSERT (retval == strlen (result)); } return 0; } coreutils-8.21/gnulib-tests/test-vc-list-files-cvs.sh0000775000000000000000000000324012071024546017554 00000000000000#!/bin/sh # Unit tests for vc-list-files # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This file is part of the GNUlib Library. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . */ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" . tmpdir=vc-cvs repo=`pwd`/$tmpdir/repo fail=0 for i in with-cvsu without; do # On the first iteration, test using cvsu, if it's in your path. # On the second iteration, ensure that cvsu fails, so we'll # exercise the awk-using code. if test $i = without; then printf '%s\n' '#!/bin/sh' 'exit 1' > cvsu chmod a+x cvsu PATH=`pwd`:$PATH export PATH fi ok=0 mkdir $tmpdir && cd $tmpdir && # without cvs, skip the test { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \ || skip_ "cvs not found in PATH"; } && mkdir w && cd w && mkdir d && touch d/a b c && cvs -Q -d "$repo" import -m imp m M M0 && cvs -Q -d "$repo" co m && cd m && printf '%s\n' b c d/a > expected && vc-list-files | sort > actual && compare expected actual && ok=1 test $ok = 0 && fail=1 done Exit $fail coreutils-8.21/gnulib-tests/test-copy-acl.sh0000775000000000000000000004235011777552746016042 00000000000000#!/bin/sh # Show all commands when run with environment variable VERBOSE=yes. test -z "$VERBOSE" || set -x test "$USE_ACL" = 0 && { echo "Skipping test: insufficient ACL support" exit 77 } # func_tmpdir # creates a temporary directory. # Sets variable # - tmp pathname of freshly created temporary directory func_tmpdir () { # Use the environment variable TMPDIR, falling back to /tmp. This allows # users to specify a different temporary directory, for example, if their # /tmp is filled up or too small. : ${TMPDIR=/tmp} { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d "$TMPDIR/glXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=$TMPDIR/gl$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$0: cannot create a temporary directory in $TMPDIR" >&2 exit 1 } } func_tmpdir builddir=`pwd` cd "$builddir" || { echo "$0: cannot determine build directory (unreadable parent dir?)" >&2 exit 1 } # Switch to a temporary directory, to increase the likelihood that ACLs are # supported on the current file system. (/tmp is usually locally mounted, # whereas the build dir is sometimes NFS-mounted.) ( cd "$tmp" # Prepare tmpfile0. rm -f tmpfile[0-9] tmpaclout[0-2] echo "Simple contents" > tmpfile0 chmod 600 tmpfile0 # Classification of the platform according to the programs available for # manipulating ACLs. # Possible values are: # linux, cygwin, freebsd, solaris, hpux, hpuxjfs, osf1, aix, macosx, irix, none. # TODO: Support also native Windows platforms (mingw). acl_flavor=none if (getfacl tmpfile0 >/dev/null) 2>/dev/null; then # Platforms with the getfacl and setfacl programs. # Linux, FreeBSD, Solaris, Cygwin. if (setfacl --help >/dev/null) 2>/dev/null; then # Linux, Cygwin. if (LC_ALL=C setfacl --help | grep ' --set-file' >/dev/null) 2>/dev/null; then # Linux. acl_flavor=linux else acl_flavor=cygwin fi else # FreeBSD, Solaris. if (LC_ALL=C setfacl 2>&1 | grep '\-x entries' >/dev/null) 2>/dev/null; then # FreeBSD. acl_flavor=freebsd else # Solaris. acl_flavor=solaris fi fi else if (lsacl / >/dev/null) 2>/dev/null; then # Platforms with the lsacl and chacl programs. # HP-UX, sometimes also IRIX. if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # HP-UX 11.11 or newer. acl_flavor=hpuxjfs else # HP-UX 11.00. acl_flavor=hpux fi else if (getacl tmpfile0 >/dev/null) 2>/dev/null; then # Tru64, NonStop Kernel. if (getacl -m tmpfile0 >/dev/null) 2>/dev/null; then # Tru64. acl_flavor=osf1 else # NonStop Kernel. acl_flavor=nsk fi else if (aclget tmpfile0 >/dev/null) 2>/dev/null; then # AIX. acl_flavor=aix else if (fsaclctl -v >/dev/null) 2>/dev/null; then # Mac OS X. acl_flavor=macosx else if test -f /sbin/chacl; then # IRIX. acl_flavor=irix fi fi fi fi fi fi # Define a function to test for the same ACLs, from the point of view of # the programs. # func_test_same_acls file1 file2 case $acl_flavor in linux | cygwin | freebsd | solaris) func_test_same_acls () { getfacl "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 getfacl "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; hpux) func_test_same_acls () { lsacl "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 lsacl "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; hpuxjfs) func_test_same_acls () { { lsacl "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 lsacl "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } && { getacl "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 getacl "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } } ;; osf1 | nsk) func_test_same_acls () { getacl "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 getacl "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; aix) func_test_same_acls () { aclget "$1" > tmpaclout1 aclget "$2" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; macosx) func_test_same_acls () { /bin/ls -le "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 /bin/ls -le "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; irix) func_test_same_acls () { /bin/ls -lD "$1" | sed -e "s/$1/FILENAME/g" > tmpaclout1 /bin/ls -lD "$2" | sed -e "s/$2/FILENAME/g" > tmpaclout2 cmp tmpaclout1 tmpaclout2 > /dev/null } ;; none) func_test_same_acls () { : } ;; esac # func_test_copy file1 file2 # copies file1 to file2 and verifies the permissions and ACLs are the same # on both. func_test_copy () { echo "Simple contents" > "$2" chmod 600 "$2" "$builddir"/test-copy-acl${EXEEXT} "$1" "$2" || exit 1 "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1 func_test_same_acls "$1" "$2" || exit 1 } func_test_copy tmpfile0 tmpfile1 if test $acl_flavor != none; then # A POSIX compliant 'id' program. if test -f /usr/xpg4/bin/id; then ID=/usr/xpg4/bin/id else ID=id fi # Use a user and group id different from the current one, to avoid # redundant/ambiguous ACLs. myuid=`$ID -u` mygid=`$ID -g` auid=1 if test "$auid" = "$myuid"; then auid=2; fi agid=1 if test "$agid" = "$mygid"; then agid=2; fi case $acl_flavor in linux | freebsd | solaris) # Set an ACL for a user. setfacl -m user:$auid:1 tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. setfacl -m group:$agid:4 tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. case $acl_flavor in freebsd) setfacl -m other::4 tmpfile0 ;; solaris) chmod o+r tmpfile0 ;; *) setfacl -m other:4 tmpfile0 ;; esac func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. case $acl_flavor in linux) setfacl -x user:$auid tmpfile0 ;; freebsd) setfacl -x user:$auid:1 tmpfile0 ;; *) setfacl -d user:$auid:1 tmpfile0 ;; esac func_test_copy tmpfile0 tmpfile5 # Remove the ACL for other. case $acl_flavor in linux | solaris) ;; # impossible freebsd) setfacl -x other::4 tmpfile0 ;; *) setfacl -d other:4 tmpfile0 ;; esac func_test_copy tmpfile0 tmpfile6 # Remove the ACL for the group. case $acl_flavor in linux) setfacl -x group:$agid tmpfile0 ;; freebsd) setfacl -x group:$agid:4 tmpfile0 ;; *) setfacl -d group:$agid:4 tmpfile0 ;; esac func_test_copy tmpfile0 tmpfile7 # Delete all optional ACLs. case $acl_flavor in linux | freebsd) setfacl -m user:$auid:1 tmpfile0 setfacl -b tmpfile0 ;; *) setfacl -s user::6,group::0,other:0 tmpfile0 ;; esac func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 case $acl_flavor in linux) getfacl tmpfile9 | setfacl --set-file=- tmpfile0 ;; freebsd) ;; *) getfacl tmpfile9 | setfacl -f - tmpfile0 ;; esac rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; cygwin) # Set an ACL for a group. setfacl -m group:0:1 tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for other. setfacl -m other:4 tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the group. setfacl -d group:0 tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for other. setfacl -d other:4 tmpfile0 func_test_copy tmpfile0 tmpfile6 # Delete all optional ACLs. setfacl -s user::6,group::0,other:0 tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 getfacl tmpfile9 | setfacl -f - tmpfile0 rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; hpux) # Set an ACL for a user. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}($auid.%,--x)" tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}(%.$agid,r--)" tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}(%.%,r--)" tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. chacl -d "($auid.%,--x)" tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. chacl -d "(%.$agid,r--)" tmpfile0 func_test_copy tmpfile0 tmpfile6 # Delete all optional ACLs. chacl -z tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 orig=`lsacl tmpfile9 | sed -e 's/ tmpfile9$//'` rm -f tmpfile9 chacl -r "${orig}" tmpfile0 func_test_copy tmpfile0 tmpfile9 ;; hpuxjfs) # Set an ACL for a user. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}($auid.%,--x)" tmpfile0 \ || setacl -m user:$auid:1 tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}(%.$agid,r--)" tmpfile0 \ || setacl -m group:$agid:4 tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'` chacl -r "${orig}(%.%,r--)" tmpfile0 \ || setacl -m other:4 tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. chacl -d "($auid.%,--x)" tmpfile0 \ || setacl -d user:$auid tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. chacl -d "(%.$agid,r--)" tmpfile0 \ || setacl -d group:$agid tmpfile0 func_test_copy tmpfile0 tmpfile6 # Delete all optional ACLs. chacl -z tmpfile0 \ || { setacl -m user:$auid:1 tmpfile0 setacl -s user::6,group::0,class:7,other:0 tmpfile0 } func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 orig=`lsacl tmpfile9 | sed -e 's/ tmpfile9$//'` getacl tmpfile9 > tmpaclout0 rm -f tmpfile9 chacl -r "${orig}" tmpfile0 \ || setacl -f tmpaclout0 tmpfile0 func_test_copy tmpfile0 tmpfile9 ;; osf1) # Set an ACL for a user. setacl -u user:$auid:1 tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. setacl -u group:$agid:4 tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. setacl -u other::4 tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. setacl -x user:$auid:1 tmpfile0 func_test_copy tmpfile0 tmpfile5 if false; then # would give an error "can't set ACL: Invalid argument" # Remove the ACL for other. setacl -x other::4 tmpfile0 func_test_copy tmpfile0 tmpfile6 fi # Remove the ACL for the group. setacl -x group:$agid:4 tmpfile0 func_test_copy tmpfile0 tmpfile7 # Delete all optional ACLs. setacl -u user:$auid:1 tmpfile0 setacl -b tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 getacl tmpfile9 > tmpaclout0 setacl -b -U tmpaclout0 tmpfile0 rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; nsk) # Set an ACL for a user. setacl -m user:$auid:1 tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. setacl -m group:$agid:4 tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. setacl -m other:4 tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. setacl -d user:$auid tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. setacl -d group:$agid tmpfile0 func_test_copy tmpfile0 tmpfile6 # Delete all optional ACLs. setacl -m user:$auid:1 tmpfile0 setacl -s user::6,group::0,class:7,other:0 tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 getacl tmpfile9 > tmpaclout0 setacl -f tmpaclout0 tmpfile0 rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; aix) # Set an ACL for a user. { aclget tmpfile0 | sed -e 's/disabled$/enabled/'; echo " permit --x u:$auid"; } | aclput tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. { aclget tmpfile0 | sed -e 's/disabled$/enabled/'; echo " permit r-- g:$agid"; } | aclput tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. chmod o+r tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. aclget tmpfile0 | grep -v ' u:[^ ]*$' | aclput tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. aclget tmpfile0 | grep -v ' g:[^ ]*$' | aclput tmpfile0 func_test_copy tmpfile0 tmpfile7 # Delete all optional ACLs. aclget tmpfile0 | sed -e 's/enabled$/disabled/' | sed -e '/disabled$/q' | aclput tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 aclget tmpfile9 | aclput tmpfile0 rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; macosx) # Set an ACL for a user. /bin/chmod +a "user:daemon allow execute" tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. /bin/chmod +a "group:daemon allow read" tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. chmod o+r tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. /bin/chmod -a "user:daemon allow execute" tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. /bin/chmod -a "group:daemon allow read" tmpfile0 func_test_copy tmpfile0 tmpfile7 # Delete all optional ACLs. /bin/chmod -N tmpfile0 func_test_copy tmpfile0 tmpfile8 # Copy ACLs from a file that has no ACLs. echo > tmpfile9 chmod a+x tmpfile9 { /bin/ls -le tmpfile9 | sed -n -e 's/^ [0-9][0-9]*: //p'; echo; } | /bin/chmod -E tmpfile0 rm -f tmpfile9 func_test_copy tmpfile0 tmpfile9 ;; irix) # Set an ACL for a user. /sbin/chacl user::rw-,group::---,other::---,user:$auid:--x tmpfile0 func_test_copy tmpfile0 tmpfile2 # Set an ACL for a group. /sbin/chacl user::rw-,group::---,other::---,user:$auid:--x,group:$agid:r-- tmpfile0 func_test_copy tmpfile0 tmpfile3 # Set an ACL for other. /sbin/chacl user::rw-,group::---,user:$auid:--x,group:$agid:r--,other::r-- tmpfile0 func_test_copy tmpfile0 tmpfile4 # Remove the ACL for the user. /sbin/chacl user::rw-,group::---,group:$agid:r--,other::r-- tmpfile0 func_test_copy tmpfile0 tmpfile5 # Remove the ACL for the group. /sbin/chacl user::rw-,group::---,other::r-- tmpfile0 func_test_copy tmpfile0 tmpfile7 ;; esac fi rm -f tmpfile[0-9] tmpaclout[0-2] ) || exit 1 rm -rf "$tmp" exit 0 coreutils-8.21/gnulib-tests/test-unlinkat.c0000664000000000000000000000473712100637437015752 00000000000000/* Tests of unlinkat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (unlinkat, int, (int, char const *, int)); #include #include #include #include #include #include #include "progname.h" #include "unlinkdir.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-unlinkat.t" #include "test-rmdir.h" #include "test-unlink.h" static int dfd = AT_FDCWD; /* Wrapper around unlinkat to test rmdir behavior. */ static int rmdirat (char const *name) { return unlinkat (dfd, name, AT_REMOVEDIR); } /* Wrapper around unlinkat to test unlink behavior. */ static int unlinker (char const *name) { return unlinkat (dfd, name, 0); } int main (int argc _GL_UNUSED, char *argv[]) { /* FIXME: Add tests of fd other than ".". */ int result1; int result2; set_program_name (argv[0]); /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (unlinkat (-1, "foo", 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (unlinkat (99, "foo", 0) == -1); ASSERT (errno == EBADF); } result1 = test_rmdir_func (rmdirat, false); result2 = test_unlink_func (unlinker, false); ASSERT (result1 == result2); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); result2 = test_rmdir_func (rmdirat, false); ASSERT (result1 == result2); result2 = test_unlink_func (unlinker, false); ASSERT (result1 == result2); ASSERT (close (dfd) == 0); if (result1 == 77) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result1; } coreutils-8.21/gnulib-tests/test-sys_ioctl.c0000664000000000000000000000155012071024546016121 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-regex.c0000664000000000000000000001376712104754777015255 00000000000000/* Test regular expressions Copyright 1996-2001, 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "regex.h" #include #include #include #if HAVE_ALARM # include # include #endif int main (void) { int result = 0; static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_ALARM /* Some builds of glibc go into an infinite loop on this test. */ int alarm_value = 2; signal (SIGALRM, SIG_DFL); alarm (alarm_value); #endif if (setlocale (LC_ALL, "en_US.UTF-8")) { { /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) result |= 1; } { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in . */ static char const pat[] = "[^x]x"; static char const data[] = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80" "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax"; re_set_syntax (0); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, 0) != 21) result |= 1; } if (! setlocale (LC_ALL, "C")) return 1; } /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) result |= 2; /* This should fail, but succeeds for glibc-2.5. */ else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) result |= 2; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) result |= 4; /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) result |= 8; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) result |= 8; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) result |= 8; /* This should match, but does not for glibc-2.2.1. */ else if (re_match (®ex, "an", 2, 0, ®s) != 2) result |= 8; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 8; /* glibc-2.2.93 does not work with a negative RANGE argument. */ else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) result |= 8; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 16; else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) result |= 16; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) result |= 32; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) result |= 64; #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and 32-bit int), but we should wait until glibc implements this feature. Otherwise, support for equivalence classes and multibyte collation symbols would always be broken except when compiling --without-included-regex. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) result |= 64; #endif return result; } coreutils-8.21/gnulib-tests/test-fcntl-safer.c0000664000000000000000000000204112071024546016311 00000000000000/* Test of opening a file descriptor. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "fcntl--.h" #include #include #include #include #include "macros.h" #define BASE "test-fcntl-safer.t" #include "test-open.h" int main (void) { return test_open (open, true); } coreutils-8.21/gnulib-tests/test-fdopen.c0000664000000000000000000000245712100637437015375 00000000000000/* Test opening a stream with a file descriptor. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fdopen, FILE *, (int, const char *)); #include #include #include "macros.h" int main (void) { /* Test behaviour for invalid file descriptors. */ { FILE *fp; errno = 0; fp = fdopen (-1, "r"); if (fp == NULL) ASSERT (errno == EBADF); else fclose (fp); } { FILE *fp; close (99); errno = 0; fp = fdopen (99, "r"); if (fp == NULL) ASSERT (errno == EBADF); else fclose (fp); } return 0; } coreutils-8.21/gnulib-tests/test-strtoull.c0000664000000000000000000001033512071024546016002 00000000000000/* * Copyright (C) 2011-2013 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" #ifndef strtoull SIGNATURE_CHECK (strtoull, unsigned long long, (const char *, char **, int)); #endif #include #include "macros.h" int main (void) { /* Subject sequence empty or invalid. */ { const char input[] = ""; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " "; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " +"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } { const char input[] = " -"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input); ASSERT (errno == 0 || errno == EINVAL); } /* Simple integer values. */ { const char input[] = "0"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 1); ASSERT (errno == 0); } { const char input[] = "+0"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "-0"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 0); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = "23"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 2); ASSERT (errno == 0); } { const char input[] = " 23"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "+23"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 23); ASSERT (ptr == input + 3); ASSERT (errno == 0); } { const char input[] = "-23"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == - 23ULL); ASSERT (ptr == input + 3); ASSERT (errno == 0); } /* Large integer values. */ { const char input[] = "2147483647"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 2147483647); ASSERT (ptr == input + 10); ASSERT (errno == 0); } { const char input[] = "-2147483648"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == - 2147483648ULL); ASSERT (ptr == input + 11); ASSERT (errno == 0); } { const char input[] = "4294967295"; char *ptr; unsigned long long result; errno = 0; result = strtoull (input, &ptr, 10); ASSERT (result == 4294967295U); ASSERT (ptr == input + 10); ASSERT (errno == 0); } return 0; } coreutils-8.21/gnulib-tests/test-ftello3.c0000664000000000000000000000403012071024546015455 00000000000000/* Test of ftello() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include #include "macros.h" #define TESTFILE "t-ftello3.tmp" int main (void) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) goto skip; if (fwrite ("foogarsh", 1, 8, fp) < 8) goto skip; if (fclose (fp)) goto skip; /* The file's contents is now "foogarsh". */ /* Try writing after reading to EOF. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) goto skip; if (fseek (fp, -1, SEEK_END)) goto skip; ASSERT (getc (fp) == 'h'); ASSERT (getc (fp) == EOF); ASSERT (ftello (fp) == 8); ASSERT (ftello (fp) == 8); ASSERT (putc ('!', fp) == '!'); ASSERT (ftello (fp) == 9); ASSERT (fclose (fp) == 0); fp = fopen (TESTFILE, "r"); if (fp == NULL) goto skip; { char buf[10]; ASSERT (fread (buf, 1, 10, fp) == 9); ASSERT (memcmp (buf, "foogarsh!", 9) == 0); } ASSERT (fclose (fp) == 0); /* The file's contents is now "foogarsh!". */ remove (TESTFILE); return 0; skip: fprintf (stderr, "Skipping test: prerequisite file operations failed.\n"); remove (TESTFILE); return 77; } coreutils-8.21/gnulib-tests/test-chown.h0000664000000000000000000001767412071024546015252 00000000000000/* Tests of chown. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include "nap.h" #if !HAVE_GETEGID # define getegid() ((gid_t) -1) #endif /* This file is designed to test chown(n,o,g) and chownat(AT_FDCWD,n,o,g,0). FUNC is the function to test. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_chown (int (*func) (char const *, uid_t, gid_t), bool print) { struct stat st1; struct stat st2; gid_t *gids = NULL; int gids_count; int result; /* Solaris 8 is interesting - if the current process belongs to multiple groups, the current directory is owned by a group that the current process belongs to but different than getegid(), and the current directory does not have the S_ISGID bit, then regular files created in the directory belong to the directory's group, but symlinks belong to the current effective group id. If S_ISGID is set, then both files and symlinks belong to the directory's group. However, it is possible to run the testsuite from within a directory owned by a group we don't belong to, in which case all things that we create belong to the current effective gid. So, work around the issues by creating a subdirectory (we are guaranteed that the subdirectory will be owned by one of our current groups), change ownership of that directory to the current effective gid (which will thus succeed), then create all other files within that directory (eliminating questions on whether inheritance or current id triumphs, since the two methods resolve to the same gid). */ ASSERT (mkdir (BASE "dir", 0700) == 0); ASSERT (stat (BASE "dir", &st1) == 0); /* Filter out mingw, which has no concept of groups. */ result = func (BASE "dir", st1.st_uid, getegid ()); if (result == -1 && errno == ENOSYS) { ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: no support for ownership\n", stderr); return 77; } ASSERT (result == 0); ASSERT (close (creat (BASE "dir/file", 0600)) == 0); ASSERT (stat (BASE "dir/file", &st1) == 0); ASSERT (st1.st_uid != (uid_t) -1); ASSERT (st1.st_gid != (gid_t) -1); ASSERT (st1.st_gid == getegid ()); /* Sanity check of error cases. */ errno = 0; ASSERT (func ("", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/file/", -1, -1) == -1); ASSERT (errno == ENOTDIR); /* Check that -1 does not alter ownership. */ ASSERT (func (BASE "dir/file", -1, st1.st_gid) == 0); ASSERT (func (BASE "dir/file", st1.st_uid, -1) == 0); ASSERT (func (BASE "dir/file", (uid_t) -1, (gid_t) -1) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); /* Even if the values aren't changing, ctime is required to change if at least one argument is not -1. */ nap (); ASSERT (func (BASE "dir/file", st1.st_uid, st1.st_gid) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime < st2.st_ctime || (st1.st_ctime == st2.st_ctime && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); /* Test symlink behavior. */ if (symlink ("link", BASE "dir/link2")) { ASSERT (unlink (BASE "dir/file") == 0); ASSERT (rmdir (BASE "dir") == 0); if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } errno = 0; ASSERT (func (BASE "dir/link2", -1, -1) == -1); ASSERT (errno == ENOENT); errno = 0; ASSERT (func (BASE "dir/link2/", st1.st_uid, st1.st_gid) == -1); ASSERT (errno == ENOENT); ASSERT (symlink ("file", BASE "dir/link") == 0); /* For non-privileged users, chown can only portably succeed at changing group ownership of a file we own. If we belong to at least two groups, then verifying the correct change is simple. But if we belong to only one group, then we fall back on the other observable effect of chown: the ctime must be updated. */ gids_count = mgetgroups (NULL, st1.st_gid, &gids); if (1 < gids_count) { ASSERT (gids[1] != st1.st_gid); ASSERT (gids[1] != (gid_t) -1); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); errno = 0; ASSERT (func (BASE "dir/link2/", -1, gids[1]) == -1); ASSERT (errno == ENOTDIR); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (func (BASE "dir/link2", -1, gids[1]) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (gids[1] == st2.st_gid); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (st1.st_uid == st2.st_uid); ASSERT (st1.st_gid == st2.st_gid); } else { struct stat l1; struct stat l2; ASSERT (stat (BASE "dir/file", &st1) == 0); ASSERT (lstat (BASE "dir/link", &l1) == 0); ASSERT (lstat (BASE "dir/link2", &l2) == 0); nap (); errno = 0; ASSERT (func (BASE "dir/link2/", -1, st1.st_gid) == -1); ASSERT (errno == ENOTDIR); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&st1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (l1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (l2.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l2) == get_stat_ctime_ns (&st2)); ASSERT (func (BASE "dir/link2", -1, st1.st_gid) == 0); ASSERT (stat (BASE "dir/file", &st2) == 0); ASSERT (st1.st_ctime < st2.st_ctime || (st1.st_ctime == st2.st_ctime && get_stat_ctime_ns (&st1) < get_stat_ctime_ns (&st2))); ASSERT (lstat (BASE "dir/link", &st2) == 0); ASSERT (l1.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l1) == get_stat_ctime_ns (&st2)); ASSERT (lstat (BASE "dir/link2", &st2) == 0); ASSERT (l2.st_ctime == st2.st_ctime); ASSERT (get_stat_ctime_ns (&l2) == get_stat_ctime_ns (&st2)); } /* Cleanup. */ free (gids); ASSERT (unlink (BASE "dir/file") == 0); ASSERT (unlink (BASE "dir/link") == 0); ASSERT (unlink (BASE "dir/link2") == 0); ASSERT (rmdir (BASE "dir") == 0); return 0; } coreutils-8.21/gnulib-tests/test-stdio.c0000664000000000000000000000232212071024546015231 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "verify.h" /* Check that the various SEEK_* macros are defined. */ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that NULL can be passed through varargs as a pointer type, per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); /* Check that the types are all defined. */ fpos_t t1; off_t t2; size_t t3; ssize_t t4; va_list t5; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-read-file.c0000664000000000000000000000556012071024546015746 00000000000000/* * Copyright (C) 2006-2007, 2010-2013 Free Software Foundation, Inc. * Written by Simon Josefsson * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "read-file.h" #include #include #include #define FILE1 "/etc/resolv.conf" #define FILE2 "/dev/null" int main (void) { struct stat statbuf; int err = 0; /* We can perform the test only if the file exists and is readable. Test whether it exists, then assume it is world-readable. */ if (stat (FILE1, &statbuf) >= 0) { size_t len; char *out = read_file (FILE1, &len); if (!out) { perror ("Could not read file"); err = 1; } else { if (out[len] != '\0') { perror ("BAD: out[len] not zero"); err = 1; } if (S_ISREG (statbuf.st_mode)) { /* FILE1 is a regular file or a symlink to a regular file. */ if (len != statbuf.st_size) { fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE1); err = 1; } } else { /* Assume FILE1 is not empty. */ if (len == 0) { fprintf (stderr, "Read nothing from %s\n", FILE1); err = 1; } } free (out); } } /* We can perform the test only if the file exists and is readable. Test whether it exists, then assume it is world-readable. */ if (stat (FILE2, &statbuf) >= 0) { size_t len; char *out = read_file (FILE2, &len); if (!out) { perror ("Could not read file"); err = 1; } else { if (out[len] != '\0') { perror ("BAD: out[len] not zero"); err = 1; } /* /dev/null should always be empty. Ignore statbuf.st_size, since it is not a regular file. */ if (len != 0) { fprintf (stderr, "Read %ld from %s...\n", (unsigned long) len, FILE2); err = 1; } free (out); } } return err; } coreutils-8.21/gnulib-tests/test-nl_langinfo.sh0000775000000000000000000000066511624730154016602 00000000000000#!/bin/sh LC_ALL=C ./test-nl_langinfo${EXEEXT} 0 || exit 1 # Test whether a specific traditional locale is installed. : ${LOCALE_FR=fr_FR} if test $LOCALE_FR != none; then LC_ALL=$LOCALE_FR ./test-nl_langinfo${EXEEXT} 1 || exit 1 fi # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 != none; then LC_ALL=$LOCALE_FR_UTF8 ./test-nl_langinfo${EXEEXT} 2 || exit 1 fi exit 0 coreutils-8.21/gnulib-tests/test-sys_utsname.c0000664000000000000000000000211012071024546016454 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include #include #include int main () { struct utsname buf; strcpy (buf.sysname, "Linux"); strcpy (buf.nodename, "hobbybox"); strcpy (buf.release, "3.141.592"); strcpy (buf.version, "GENERIC"); strcpy (buf.machine, "i586"); return 0; } coreutils-8.21/gnulib-tests/test-frexp.h0000664000000000000000000001120212071024546015235 00000000000000/* Test of splitting a double into fraction and mantissa. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ static DOUBLE my_ldexp (DOUBLE x, int d) { for (; d > 0; d--) x *= L_(2.0); for (; d < 0; d++) x *= L_(0.5); return x; } static void test_function (void) { int i; VOLATILE DOUBLE x; { /* NaN. */ int exp = -9999; DOUBLE mantissa; x = NAN; mantissa = FREXP (x, &exp); ASSERT (ISNAN (mantissa)); } { /* Positive infinity. */ int exp = -9999; DOUBLE mantissa; x = INFINITY; mantissa = FREXP (x, &exp); ASSERT (mantissa == x); } { /* Negative infinity. */ int exp = -9999; DOUBLE mantissa; x = - INFINITY; mantissa = FREXP (x, &exp); ASSERT (mantissa == x); } { /* Positive zero. */ int exp = -9999; DOUBLE mantissa; x = L_(0.0); mantissa = FREXP (x, &exp); ASSERT (exp == 0); ASSERT (mantissa == x); ASSERT (!signbit (mantissa)); } { /* Negative zero. */ int exp = -9999; DOUBLE mantissa; x = MINUS_ZERO; mantissa = FREXP (x, &exp); ASSERT (exp == 0); ASSERT (mantissa == x); ASSERT (signbit (mantissa)); } for (i = 1, x = L_(1.0); i <= MAX_EXP; i++, x *= L_(2.0)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.5)); } for (i = 1, x = L_(1.0); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.5)); } for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.5)); } for (i = 1, x = - L_(1.0); i <= MAX_EXP; i++, x *= L_(2.0)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == - L_(0.5)); } for (i = 1, x = - L_(1.0); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == - L_(0.5)); } for (; i >= MIN_EXP - 100 && x < L_(0.0); i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == - L_(0.5)); } for (i = 1, x = L_(1.01); i <= MAX_EXP; i++, x *= L_(2.0)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.505)); } for (i = 1, x = L_(1.01); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.505)); } for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa >= L_(0.5)); ASSERT (mantissa < L_(1.0)); ASSERT (mantissa == my_ldexp (x, - exp)); } for (i = 1, x = L_(1.73205); i <= MAX_EXP; i++, x *= L_(2.0)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.866025)); } for (i = 1, x = L_(1.73205); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i); ASSERT (mantissa == L_(0.866025)); } for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5)) { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (exp == i || exp == i + 1); ASSERT (mantissa >= L_(0.5)); ASSERT (mantissa < L_(1.0)); ASSERT (mantissa == my_ldexp (x, - exp)); } /* Randomized tests. */ for (i = 0; i < SIZEOF (RANDOM); i++) { x = L_(20.0) * RANDOM[i] - L_(10.0); /* -10.0 <= x <= 10.0 */ { int exp = -9999; DOUBLE mantissa = FREXP (x, &exp); ASSERT (x == my_ldexp (mantissa, exp)); } } } coreutils-8.21/gnulib-tests/test-dirent-safer.c0000664000000000000000000000546312071024546016503 00000000000000/* Test that directory streams leave standard fds alone. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include "dirent--.h" #include #include #include #include #include "unistd-safer.h" /* This test intentionally closes stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; int main (void) { int i; DIR *dp; /* The dirent-safer module works without the use of fdopendir (which would also pull in fchdir and openat); but if those modules were also used, we ensure that they are safe. In particular, the gnulib version of fdopendir is unable to guarantee that dirfd(fdopendir(fd))==fd, but we can at least guarantee that if they are not equal, the fd returned by dirfd is safe. */ #if HAVE_FDOPENDIR || GNULIB_TEST_FDOPENDIR int dfd; #endif /* We close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; #if HAVE_FDOPENDIR || GNULIB_TEST_FDOPENDIR dfd = open (".", O_RDONLY); ASSERT (STDERR_FILENO < dfd); #endif /* Four iterations, with progressively more standard descriptors closed. */ for (i = -1; i <= STDERR_FILENO; i++) { if (0 <= i) ASSERT (close (i) == 0); dp = opendir ("."); ASSERT (dp); ASSERT (dirfd (dp) == -1 || STDERR_FILENO < dirfd (dp)); ASSERT (closedir (dp) == 0); #if HAVE_FDOPENDIR || GNULIB_TEST_FDOPENDIR { int fd = dup_safer (dfd); ASSERT (STDERR_FILENO < fd); dp = fdopendir (fd); ASSERT (dp); ASSERT (dirfd (dp) == -1 || STDERR_FILENO < dirfd (dp)); ASSERT (closedir (dp) == 0); errno = 0; ASSERT (close (fd) == -1); ASSERT (errno == EBADF); } #endif } #if HAVE_FDOPENDIR || GNULIB_TEST_FDOPENDIR ASSERT (close (dfd) == 0); #endif return 0; } coreutils-8.21/gnulib-tests/test-fstatat.c0000664000000000000000000000530712100637437015565 00000000000000/* Tests of fstatat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (fstatat, int, (int, char const *, struct stat *, int)); #include #include #include #include #include #include #include "openat.h" #include "progname.h" #include "same-inode.h" #include "ignore-value.h" #include "macros.h" #ifndef BASE # define BASE "test-fstatat.t" #endif #include "test-lstat.h" #include "test-stat.h" static int dfd = AT_FDCWD; /* Wrapper around fstatat to test stat behavior. */ static int do_stat (char const *name, struct stat *st) { #ifdef TEST_STATAT return statat (dfd, name, st); #else return fstatat (dfd, name, st, 0); #endif } /* Wrapper around fstatat to test lstat behavior. */ static int do_lstat (char const *name, struct stat *st) { #ifdef TEST_STATAT return lstatat (dfd, name, st); #else return fstatat (dfd, name, st, AT_SYMLINK_NOFOLLOW); #endif } int main (int argc _GL_UNUSED, char *argv[]) { int result; set_program_name (argv[0]); /* Remove any leftovers from a previous partial run. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { struct stat statbuf; errno = 0; ASSERT (fstatat (-1, "foo", &statbuf, 0) == -1); ASSERT (errno == EBADF); } { struct stat statbuf; close (99); errno = 0; ASSERT (fstatat (99, "foo", &statbuf, 0) == -1); ASSERT (errno == EBADF); } result = test_stat_func (do_stat, false); ASSERT (test_lstat_func (do_lstat, false) == result); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_stat_func (do_stat, false) == result); ASSERT (test_lstat_func (do_lstat, false) == result); ASSERT (close (dfd) == 0); /* FIXME - add additional tests of dfd not at current directory. */ if (result == 77) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result; } coreutils-8.21/gnulib-tests/test-mbsstr2.sh0000775000000000000000000000056611624730154015710 00000000000000#!/bin/sh # Test whether a specific UTF-8 locale is installed. : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no french Unicode locale is installed" else echo "Skipping test: no french Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_FR_UTF8 \ ./test-mbsstr2${EXEEXT} coreutils-8.21/gnulib-tests/test-malloca.c0000664000000000000000000000306012071024546015517 00000000000000/* Test of safe automatic memory allocation. Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2005. */ #include #include "malloca.h" #include static void do_allocation (int n) { void *ptr = malloca (n); freea (ptr); safe_alloca (n); } void (*func) (int) = do_allocation; int main () { int i; /* This slows down malloc a lot. */ unsetenv ("MALLOC_PERTURB_"); /* Repeat a lot of times, to make sure there's no memory leak. */ for (i = 0; i < 50000; i++) { /* Try various values. n = 0 gave a crash on Alpha with gcc-2.5.8. Some versions of Mac OS X have a stack size limit of 512 KB. */ func (34); func (134); func (399); func (510823); func (129321); func (0); func (4070); func (4095); func (1); func (16582); } return 0; } coreutils-8.21/gnulib-tests/test-filenamecat.c0000664000000000000000000000361312071024546016363 00000000000000/* Test of concatenation of two arbitrary file names. Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "filenamecat.h" #include #include #include #include #include "progname.h" int main (int argc _GL_UNUSED, char *argv[]) { static char const *const tests[][3] = { {"a", "b", "a/b"}, {"a/", "b", "a/b"}, {"a/", "/b", "a/b"}, {"a", "/b", "a/b"}, {"/", "b", "/b"}, {"/", "/b", "/b"}, {"/", "/", "/"}, {"a", "/", "a/"}, /* this might deserve a diagnostic */ {"/a", "/", "/a/"}, /* this might deserve a diagnostic */ {"a", "//b", "a/b"}, {"", "a", "a"}, /* this might deserve a diagnostic */ }; unsigned int i; bool fail = false; set_program_name (argv[0]); for (i = 0; i < sizeof tests / sizeof tests[0]; i++) { char *base_in_result; char const *const *t = tests[i]; char *res = file_name_concat (t[0], t[1], &base_in_result); if (strcmp (res, t[2]) != 0) { fprintf (stderr, "test #%u: got %s, expected %s\n", i, res, t[2]); fail = true; } } exit (fail ? EXIT_FAILURE : EXIT_SUCCESS); } coreutils-8.21/gnulib-tests/Makefile.am0000664000000000000000000000150111760630450015021 00000000000000include gnulib.mk AM_CFLAGS = $(GNULIB_TEST_WARN_CFLAGS) $(WERROR_CFLAGS) # A few tests are inherently warning-evoking. # In the typical case where we use -Werror, exempt the few offenders. # test-xvasprintf.c: In function 'test_xasprintf': # test-xvasprintf.c:100: error: format not a string literal and no \ # format arguments [-Wformat-security] test_xvasprintf_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-format-security'` # test-lock.c: In function 'lock_mutator_thread': # test-lock.c:148: error: cast from function call of type 'pthread_t' to \ # non-matching type 'void *' [-Wbad-function-cast] test_lock_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-bad-function-cast'` test_tls_CFLAGS = $(AM_CFLAGS) \ `test -n '$(WERROR_CFLAGS)' && echo ' -Wno-bad-function-cast'` coreutils-8.21/gnulib-tests/test-verify.c0000664000000000000000000000350312071024546015415 00000000000000/* Test the "verify" module. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible. */ #include #include "verify.h" #ifndef EXP_FAIL # define EXP_FAIL 0 #endif int x; enum { a, b, c }; #if EXP_FAIL == 1 verify (x >= 0); /* should give ERROR: non-constant expression */ #endif verify (c == 2); /* should be ok */ #if EXP_FAIL == 2 verify (1 + 1 == 3); /* should give ERROR */ #endif verify (1 == 1); verify (1 == 1); /* should be ok */ enum { item = verify_true (1 == 1) * 0 + 17 /* should be ok */ }; static int function (int n) { #if EXP_FAIL == 3 verify (n >= 0); /* should give ERROR: non-constant expression */ #endif verify (c == 2); /* should be ok */ #if EXP_FAIL == 4 verify (1 + 1 == 3); /* should give ERROR */ #endif verify (1 == 1); verify (1 == 1); /* should be ok */ if (n) return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */ #if EXP_FAIL == 5 return verify_expr (1 == 2, 5); /* should give ERROR */ #endif return 0; } int main (void) { return !(function (0) == 0 && function (1) == 8); } coreutils-8.21/gnulib-tests/test-unsetenv.c0000664000000000000000000000337512071024546015767 00000000000000/* Tests of unsetenv. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (unsetenv, int, (char const *)); #include #include #include #include "macros.h" int main (void) { char entry[] = "b=2"; /* Test removal when multiple entries present. */ ASSERT (putenv ((char *) "a=1") == 0); ASSERT (putenv (entry) == 0); entry[0] = 'a'; /* Unspecified what getenv("a") would be at this point. */ ASSERT (unsetenv ("a") == 0); /* Both entries will be removed. */ ASSERT (getenv ("a") == NULL); ASSERT (unsetenv ("a") == 0); /* Required to fail with EINVAL. */ errno = 0; ASSERT (unsetenv ("") == -1); ASSERT (errno == EINVAL); errno = 0; ASSERT (unsetenv ("a=b") == -1); ASSERT (errno == EINVAL); #if 0 /* glibc and gnulib's implementation guarantee this, but POSIX no longer requires it: http://austingroupbugs.net/view.php?id=185 */ errno = 0; ASSERT (unsetenv (NULL) == -1); ASSERT (errno == EINVAL); #endif return 0; } coreutils-8.21/gnulib-tests/test-gettimeofday.c0000664000000000000000000000245012071024546016572 00000000000000/* * Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. * Written by Jim Meyering. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (gettimeofday, int, (struct timeval *, GETTIMEOFDAY_TIMEZONE *)); #include #include #include int main (void) { time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0) { fprintf (stderr, "gettimeofday still clobbers the localtime buffer!\n"); return 1; } return 0; } coreutils-8.21/gnulib-tests/bind.c0000664000000000000000000000240112071024545014043 00000000000000/* bind.c --- wrappers for Windows bind function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini */ #include #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" #undef bind int rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); if (sock == INVALID_SOCKET) { errno = EBADF; return -1; } else { int r = bind (sock, sockaddr, len); if (r < 0) set_winsock_errno (); return r; } } coreutils-8.21/gnulib-tests/test-fseeko.sh0000775000000000000000000000017311624730151015557 00000000000000#!/bin/sh ./test-fseeko${EXEEXT} 1 < "$srcdir/test-fseeko.sh" || exit 1 echo hi | ./test-fseeko${EXEEXT} || exit 1 exit 0 coreutils-8.21/gnulib-tests/test-getopt_long.h0000664000000000000000000017552412071024546016454 00000000000000/* Test of command line argument processing. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ static int a_seen; static int b_seen; static int q_seen; static const struct option long_options_required[] = { { "alpha", no_argument, NULL, 'a' }, { "beta", no_argument, &b_seen, 1 }, { "prune", required_argument, NULL, 'p' }, { "quetsche", required_argument, &q_seen, 1 }, { "xtremely-",no_argument, NULL, 1003 }, { "xtra", no_argument, NULL, 1001 }, { "xtreme", no_argument, NULL, 1002 }, { "xtremely", no_argument, NULL, 1003 }, { NULL, 0, NULL, 0 } }; static const struct option long_options_optional[] = { { "alpha", no_argument, NULL, 'a' }, { "beta", no_argument, &b_seen, 1 }, { "prune", optional_argument, NULL, 'p' }, { "quetsche", optional_argument, &q_seen, 1 }, { NULL, 0, NULL, 0 } }; static void getopt_long_loop (int argc, const char **argv, const char *options, const struct option *long_options, const char **p_value, const char **q_value, int *non_options_count, const char **non_options, int *unrecognized) { int option_index = -1; int c; opterr = 0; q_seen = 0; while ((c = getopt_long (argc, (char **) argv, options, long_options, &option_index)) != -1) { switch (c) { case 0: /* An option with a non-NULL flag pointer was processed. */ if (q_seen) *q_value = optarg; break; case 'a': a_seen++; break; case 'b': b_seen = 1; break; case 'p': *p_value = optarg; break; case 'q': *q_value = optarg; break; case '\1': /* Must only happen with option '-' at the beginning. */ ASSERT (options[0] == '-'); non_options[(*non_options_count)++] = optarg; break; case ':': /* Must only happen with option ':' at the beginning. */ ASSERT (options[0] == ':' || ((options[0] == '-' || options[0] == '+') && options[1] == ':')); /* fall through */ case '?': *unrecognized = optopt; break; default: *unrecognized = c; break; } } } /* Reduce casting, so we can use string literals elsewhere. getopt_long takes an array of char*, but luckily does not modify those elements, so we can pass const char*. */ static int do_getopt_long (int argc, const char **argv, const char *shortopts, const struct option *longopts, int *longind) { return getopt_long (argc, (char **) argv, shortopts, longopts, longind); } static void test_getopt_long (void) { int start; /* Test disambiguation of options. */ { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--x"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xt"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtr"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtra"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == 1001); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtre"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtrem"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtreme"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == 1002); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtremel"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == 1003); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--xtremely"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == 1003); } /* Check that -W handles unknown options. */ { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 'W'); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-Wunknown"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); /* glibc and BSD behave differently here, but for now, we allow both behaviors since W support is not frequently used. */ if (c == '?') { ASSERT (optopt == 0); ASSERT (optarg == NULL); } else { ASSERT (c == 'W'); ASSERT (strcmp (optarg, "unknown") == 0); } } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "unknown"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index); /* glibc and BSD behave differently here, but for now, we allow both behaviors since W support is not frequently used. */ if (c == '?') { ASSERT (optopt == 0); ASSERT (optarg == NULL); } else { ASSERT (c == 'W'); ASSERT (strcmp (optarg, "unknown") == 0); } } /* Test that 'W' does not dump core: http://sourceware.org/bugzilla/show_bug.cgi?id=12922 */ { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "dummy"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long (argc, argv, "W;", NULL, &option_index); ASSERT (c == 'W'); ASSERT (optind == 2); } /* Test processing of boolean short options. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-b"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-ba"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "-a"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 2); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } /* Test processing of boolean long options. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--alpha"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--beta"; argv[argc++] = "--alpha"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--alpha"; argv[argc++] = "--beta"; argv[argc++] = "--alpha"; argv[argc++] = "--beta"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 2); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } /* Test processing of boolean long options via -W. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Walpha"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abW;", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "beta"; argv[argc++] = "-W"; argv[argc++] = "alpha"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "aW;b", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Walpha"; argv[argc++] = "-Wbeta"; argv[argc++] = "-Walpha"; argv[argc++] = "-Wbeta"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "W;ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 2); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } /* Test processing of short options with arguments. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "-q"; argv[argc++] = "baz"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } /* Test processing of long options with arguments. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "--q"; argv[argc++] = "baz"; argv[argc++] = "--p=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } /* Test processing of long options with arguments via -W. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Wp=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:q:W;", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p:W;q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-ab"; argv[argc++] = "-Wq"; argv[argc++] = "baz"; argv[argc++] = "-W"; argv[argc++] = "p=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "W;abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 6); } /* Test processing of short options with optional arguments. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-pfoo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } /* Test processing of long options with optional arguments. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p="; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && *p_value == '\0'); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "--p"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } /* Test processing of long options with optional arguments via -W. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Wp=foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::W;", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Wp"; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::q::W;", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-Wp="; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "W;p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && *p_value == '\0'); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "p="; argv[argc++] = "foo"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "W;p::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && *p_value == '\0'); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 3); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-W"; argv[argc++] = "p"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "W;abp::q::", long_options_optional, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); /* ASSERT (p_value == NULL); */ ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } /* Check that invalid options are recognized. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-x"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'x'); ASSERT (optind == 5); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "-:"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == ':'); ASSERT (optind == 5); } /* Check that unexpected arguments are recognized. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "--a="; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 'a'); ASSERT (optind == 4); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "foo"; argv[argc++] = "--b="; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); /* When flag is non-zero, glibc sets optopt anyway, but BSD leaves optopt unchanged. */ ASSERT (unrecognized == 1 || unrecognized == 0); ASSERT (optind == 4); } /* Check that by default, non-options arguments are moved to the end. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } /* Check that '--' ends the argument processing. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[20]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "--") == 0); ASSERT (strcmp (argv[5], "donald") == 0); ASSERT (strcmp (argv[6], "duck") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 5); } /* Check that the '-' flag causes non-options to be returned in order. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "-abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 3); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (strcmp (non_options[2], "bar") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 7); } /* Check that '--' ends the argument processing. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[20]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "-abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "--") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); if (non_options_count == 2) { /* glibc behaviour. */ ASSERT (non_options_count == 2); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 7); } else { /* Another valid behaviour. */ ASSERT (non_options_count == 7); ASSERT (strcmp (non_options[0], "donald") == 0); ASSERT (strcmp (non_options[1], "duck") == 0); ASSERT (strcmp (non_options[2], "-b") == 0); ASSERT (strcmp (non_options[3], "foo") == 0); ASSERT (strcmp (non_options[4], "-q") == 0); ASSERT (strcmp (non_options[5], "johnny") == 0); ASSERT (strcmp (non_options[6], "bar") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 12); } } /* Check that the '-' flag has to come first. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:-", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } /* Check that the '+' flag causes the first non-option to terminate the loop. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "+abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); } for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-+"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "+abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == '+'); ASSERT (optind == 2); } /* Check that '--' ends the argument processing. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[20]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "--"; argv[argc++] = "-b"; argv[argc++] = "foo"; argv[argc++] = "-q"; argv[argc++] = "johnny"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "+abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "--") == 0); ASSERT (strcmp (argv[7], "-b") == 0); ASSERT (strcmp (argv[8], "foo") == 0); ASSERT (strcmp (argv[9], "-q") == 0); ASSERT (strcmp (argv[10], "johnny") == 0); ASSERT (strcmp (argv[11], "bar") == 0); ASSERT (argv[12] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); } /* Check that the '+' flag has to come first. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:+", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "-p") == 0); ASSERT (strcmp (argv[2], "billy") == 0); ASSERT (strcmp (argv[3], "-a") == 0); ASSERT (strcmp (argv[4], "donald") == 0); ASSERT (strcmp (argv[5], "duck") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 1); ASSERT (b_seen == 0); ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } } /* Test behavior of getopt_long when POSIXLY_CORRECT is set in the environment. Options with optional arguments should not change behavior just because of an environment variable. http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html */ static void test_getopt_long_posix (void) { int start; /* Check that POSIXLY_CORRECT stops parsing the same as leading '+'. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "donald"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc++] = "duck"; argv[argc++] = "-a"; argv[argc++] = "bar"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "abp:q:", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (strcmp (argv[0], "program") == 0); ASSERT (strcmp (argv[1], "donald") == 0); ASSERT (strcmp (argv[2], "-p") == 0); ASSERT (strcmp (argv[3], "billy") == 0); ASSERT (strcmp (argv[4], "duck") == 0); ASSERT (strcmp (argv[5], "-a") == 0); ASSERT (strcmp (argv[6], "bar") == 0); ASSERT (argv[7] == NULL); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 1); } /* Check that POSIXLY_CORRECT doesn't change optional arguments. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-p"; argv[argc++] = "billy"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "p::", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 0); ASSERT (b_seen == 0); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 0); ASSERT (unrecognized == 0); ASSERT (optind == 2); } /* Check that leading - still sees options after non-options. */ for (start = 0; start <= 1; start++) { const char *p_value = NULL; const char *q_value = NULL; int non_options_count = 0; const char *non_options[10]; int unrecognized = 0; int argc = 0; const char *argv[10]; a_seen = 0; b_seen = 0; argv[argc++] = "program"; argv[argc++] = "-a"; argv[argc++] = "billy"; argv[argc++] = "-b"; argv[argc] = NULL; optind = start; getopt_long_loop (argc, argv, "-ab", long_options_required, &p_value, &q_value, &non_options_count, non_options, &unrecognized); ASSERT (a_seen == 1); ASSERT (b_seen == 1); ASSERT (p_value == NULL); ASSERT (q_value == NULL); ASSERT (non_options_count == 1); ASSERT (strcmp (non_options[0], "billy") == 0); ASSERT (unrecognized == 0); ASSERT (optind == 4); } } /* Reduce casting, so we can use string literals elsewhere. getopt_long_only takes an array of char*, but luckily does not modify those elements, so we can pass const char*. */ static int do_getopt_long_only (int argc, const char **argv, const char *shortopts, const struct option *longopts, int *longind) { return getopt_long_only (argc, (char **) argv, shortopts, longopts, longind); } static void test_getopt_long_only (void) { /* Test disambiguation of options. */ { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-x"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-x"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx", long_options_required, &option_index); ASSERT (c == 'x'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--x"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-b"; argv[argc] = NULL; optind = 1; opterr = 0; b_seen = 0; c = do_getopt_long_only (argc, argv, "abx", long_options_required, &option_index); ASSERT (c == 'b'); ASSERT (b_seen == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "--b"; argv[argc] = NULL; optind = 1; opterr = 0; b_seen = 0; c = do_getopt_long_only (argc, argv, "abx", long_options_required, &option_index); ASSERT (c == 0); ASSERT (b_seen == 1); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xt"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xt"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx", long_options_required, &option_index); ASSERT (c == '?'); ASSERT (optopt == 0); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xtra"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "ab", long_options_required, &option_index); ASSERT (c == 1001); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xtreme"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx:", long_options_required, &option_index); ASSERT (c == 1002); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xtremel"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "ab", long_options_required, &option_index); /* glibc getopt_long_only is intentionally different from getopt_long when handling a prefix that is common to two spellings, when both spellings have the same option directives. BSD getopt_long_only treats both cases the same. */ ASSERT (c == 1003 || c == '?'); ASSERT (optind == 2); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xtremel"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx::", long_options_required, &option_index); /* glibc getopt_long_only is intentionally different from getopt_long when handling a prefix that is common to two spellings, when both spellings have the same option directives. BSD getopt_long_only treats both cases the same. */ ASSERT (c == 1003 || c == '?'); ASSERT (optind == 2); ASSERT (optarg == NULL); } { int argc = 0; const char *argv[10]; int option_index; int c; argv[argc++] = "program"; argv[argc++] = "-xtras"; argv[argc] = NULL; optind = 1; opterr = 0; c = do_getopt_long_only (argc, argv, "abx::", long_options_required, &option_index); ASSERT (c == 'x'); ASSERT (strcmp (optarg, "tras") == 0); } } coreutils-8.21/gnulib-tests/test-strsignal.c0000664000000000000000000000422312071024546016117 00000000000000/* Test of strsignal() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Colin Watson , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (strsignal, char *, (int)); #include #include "macros.h" #if HAVE_DECL_SYS_SIGLIST # define ASSERT_DESCRIPTION(got, expect) #else /* In this case, we can guarantee some signal descriptions. */ # define ASSERT_DESCRIPTION(got, expect) ASSERT (!strcmp (got, expect)) #endif int main (void) { /* Work around bug in cygwin 1.5.25 by declaring str as const char *, even though strsignal is supposed to return char *. At any rate, this doesn't hurt, since POSIX 200x states that "The string pointed to shall not be modified by the application." */ const char *str; /* We try a couple of signals, since not all signals are supported everywhere. Notwithstanding the #ifdef for neatness, SIGINT should in fact be available on all platforms. */ #ifdef SIGHUP str = strsignal (SIGHUP); ASSERT (str); ASSERT (*str); ASSERT_DESCRIPTION (str, "Hangup"); #endif #ifdef SIGINT str = strsignal (SIGINT); ASSERT (str); ASSERT (*str); ASSERT_DESCRIPTION (str, "Interrupt"); #endif /* Test that for out-of-range signal numbers the result is usable. */ str = strsignal (-1); ASSERT (str); ASSERT (str != (char *) -1); ASSERT (strlen (str)); str = strsignal (9249234); ASSERT (str); ASSERT (str != (char *) -1); ASSERT (strlen (str)); return 0; } coreutils-8.21/gnulib-tests/test-futimens.h0000664000000000000000000001212612100637437015753 00000000000000/* Test of file timestamp modification functions. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "test-utimens-common.h" /* This file is designed to test both fdutimens(a,NULL,b) and futimens(a,b). FUNC is the function to test. Assumes that BASE and ASSERT are already defined. If PRINT, warn before skipping tests with status 77. */ static int test_futimens (int (*func) (int, struct timespec const *), bool print) { int fd = creat (BASE "file", 0600); int result; struct stat st1; struct stat st2; ASSERT (0 <= fd); /* Sanity check. */ ASSERT (fstat (fd, &st1) == 0); nap (); errno = 0; result = func (fd, NULL); if (result == -1 && errno == ENOSYS) { ASSERT (close (fd) == 0); ASSERT (unlink (BASE "file") == 0); if (print) fputs ("skipping test: " "setting fd time not supported on this file system\n", stderr); return 77; } ASSERT (!result); ASSERT (fstat (fd, &st2) == 0); /* If utimens truncates to less resolution than the file system supports, then time can appear to go backwards between now and a follow-up utimens with UTIME_NOW or a NULL timespec. Use UTIMECMP_TRUNCATE_SOURCE to compensate, with st1 as the source. */ ASSERT (0 <= utimecmp (BASE "file", &st2, &st1, UTIMECMP_TRUNCATE_SOURCE)); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); { /* On some NFS systems, the 'now' timestamp of creat or a NULL timespec is determined by the server, but the 'now' timestamp determined by gettime() (as is done when using UTIME_NOW) is determined by the client; since the two machines are not necessarily on the same clock, this is another case where time can appear to go backwards. The rest of this test cares about client time, so manually use gettime() to set both times. */ struct timespec ts[2]; gettime (&ts[0]); ts[1] = ts[0]; ASSERT (func (fd, ts) == 0); ASSERT (fstat (fd, &st1) == 0); nap (); } /* Invalid arguments. */ { errno = 0; ASSERT (func (AT_FDCWD, NULL) == -1); ASSERT (errno == EBADF); } { errno = 0; ASSERT (func (-1, NULL) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (func (99, NULL) == -1); ASSERT (errno == EBADF); } { int fd0 = dup (0); ASSERT (0 <= fd0); ASSERT (close (fd0) == 0); errno = 0; ASSERT (func (fd0, NULL) == -1); ASSERT (errno == EBADF); } { struct timespec ts[2] = { { Y2K, UTIME_BOGUS_POS }, { Y2K, 0 } }; errno = 0; ASSERT (func (fd, ts) == -1); ASSERT (errno == EINVAL); } { struct timespec ts[2] = { { Y2K, 0 }, { Y2K, UTIME_BOGUS_NEG } }; errno = 0; ASSERT (func (fd, ts) == -1); ASSERT (errno == EINVAL); } ASSERT (fstat (fd, &st2) == 0); ASSERT (st1.st_atime == st2.st_atime); ASSERT (get_stat_atime_ns (&st1) == get_stat_atime_ns (&st2)); ASSERT (utimecmp (BASE "file", &st1, &st2, 0) == 0); /* Set both times. */ { struct timespec ts[2] = { { Y2K, BILLION / 2 - 1 }, { Y2K, BILLION - 1 } }; ASSERT (func (fd, ts) == 0); ASSERT (fstat (fd, &st2) == 0); ASSERT (st2.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st2)); ASSERT (get_stat_atime_ns (&st2) < BILLION / 2); ASSERT (st2.st_mtime == Y2K); ASSERT (0 <= get_stat_mtime_ns (&st2)); ASSERT (get_stat_mtime_ns (&st2) < BILLION); if (check_ctime) ASSERT (ctime_compare (&st1, &st2) < 0); } /* Play with UTIME_OMIT, UTIME_NOW. */ { struct stat st3; struct timespec ts[2] = { { BILLION, UTIME_OMIT }, { 0, UTIME_NOW } }; nap (); ASSERT (func (fd, ts) == 0); ASSERT (fstat (fd, &st3) == 0); ASSERT (st3.st_atime == Y2K); ASSERT (0 <= get_stat_atime_ns (&st3)); ASSERT (get_stat_atime_ns (&st3) <= BILLION / 2); ASSERT (utimecmp (BASE "file", &st1, &st3, 0) <= 0); if (check_ctime) ASSERT (ctime_compare (&st2, &st3) < 0); nap (); ts[0].tv_nsec = 0; ts[1].tv_nsec = UTIME_OMIT; ASSERT (func (fd, ts) == 0); ASSERT (fstat (fd, &st2) == 0); ASSERT (st2.st_atime == BILLION); ASSERT (get_stat_atime_ns (&st2) == 0); ASSERT (st3.st_mtime == st2.st_mtime); ASSERT (get_stat_mtime_ns (&st3) == get_stat_mtime_ns (&st2)); if (check_ctime) ASSERT (ctime_compare (&st3, &st2) < 0); } /* Cleanup. */ ASSERT (close (fd) == 0); ASSERT (unlink (BASE "file") == 0); return 0; } coreutils-8.21/gnulib-tests/randomd.c0000664000000000000000000010652112071024546014564 00000000000000/* Some random 'double' numbers used by gnulib tests. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "macros.h" /* Some numbers in the interval [0,1). */ const double randomd[1000] = { /* Some not so random numbers at the beginning. */ 0.0, /* Then some numbers generated by GNU clisp. */ 0.89255299921822260894833866359, 0.56160033401164667976788987953, 0.51743003502243816003616725706, 0.78419011286685927826225711525, 0.64400370685467819470063888148, 0.38151255107934048933308886009, 0.279822118770531878839000163945, 0.51983544681375980919751125922, 0.314601557551148376372971500376, 0.44551938964685651088492647794, 0.44235192503793823441729544512, 0.0040120762636767874958681841509, 0.57608572759464216512285032474, 0.69151953350396585566714564265, 0.65634190642598148152780718322, 0.68520459394253807590733184567, 0.60728078832107635628786818115, 0.376679934380311318950949959986, 0.48893422455419005003224231708, 0.59664228319132670346209747371, 0.70162191594290728927555900075, 0.70981089000005327192380201706, 0.480574069305863387682360414433, 0.369264627455974856929910550376, 0.42224495444170593700839286742, 0.96974027194201320964041066537, 0.69950081092902694549973698004, 0.366921803754944985368022837045, 0.19460757354611588216534077527, 0.046437559879825520495822908204, 0.57694149138457596563075731094, 0.49632733844850578203860859535, 0.80735347459453553970910033766, 0.210271595033975357161360058967, 0.176539870249396534142059724214, 0.75320267419158828905982021879, 0.09535042912249636739069790414, 0.41433965906065337672703334968, 0.62189345390648146852641556292, 0.322595610794052908153116342595, 0.173860860827838938281708881865, 0.55258425878412963601205794028, 0.066559056629606284504735241978, 0.0193835990781649263368095562556, 0.127101629778251450428653553143, 0.9603475517586241593077319367, 0.68429794014738591042302507235, 0.0139808909843634026741151214975, 0.0036035679428138856395527711611, 0.072656401341518399752950821809, 0.229562863635014486626281702425, 0.88337277579960676546469424767, 0.88850212167800818244030104263, 0.208063225990716089095767541316, 0.268304917462565269805874454916, 0.3195427196271617997151392088, 0.59101407246003811289573881403, 0.972093867752368095080492689, 0.409246208960242309650511849637, 0.84250639316418167849010246997, 0.063842712141624332977179722113, 0.96470327141354888687046060373, 0.43109879978424216966175314888, 0.14551248610248934836482236208, 0.84819094513299136408788493212, 0.41166757935215520377191731704, 0.96020915727830366672170130175, 0.55313106883839046701902022583, 0.9796595451013758579218900134, 0.74222694300533435700276764516, 0.117294243075539310976051880564, 0.32216824750097146958151447387, 0.59090211400137031908131441, 0.116841680533127258304897076543, 0.83595865401141052310417569507, 0.249488155772987988074361149176, 0.67896015287499211280971531326, 0.72256498621401843299673078876, 0.327315362968271601258667297595, 0.37438214921868498405279953481, 0.76929694812658272272027330778, 0.44282297788821568912463681727, 0.59517407740270913902014268964, 0.346217547960702024419571713567, 0.68339868731911838904373225224, 0.057507087039986776837238366719, 0.1189343986186977384509521024, 0.65646666532916174831489781194, 0.80925124288745606089697795707, 0.61302937875769552609444313984, 0.64367434863387777107222872563, 0.059228300879437554416166010005, 0.76899237494115809397158171526, 0.335797991302131791511629123206, 0.72923178692628392090326699514, 0.79300056654108221012876564405, 0.58866760551158502690719665335, 0.65249222174748700395779659047, 0.79573528799715877963614353006, 0.101363067664632247385474166088, 0.392494669960902131436398643207, 0.37323453200630776302168616197, 0.29857554596542776498065634631, 0.9796202149626312305197715787, 0.58770219934833805722677794788, 0.126574575737099431915356308504, 0.51086682994362911961448609847, 0.26221303911946316754295166201, 0.87331402410090670707406246035, 0.08604799064198292716037672196, 0.77880380648915901962140523059, 0.34131646312914811415381942246, 0.422787222735822749759714960156, 0.16550478231620269333824890372, 0.84087065799129220871741135711, 0.96561976597443996963329538915, 0.059890627133354026356081805998, 0.09359839900604706997291172522, 0.61463026659668017286248279853, 0.220582135665522265733252389516, 0.30146695094150797543070759948, 0.406591688270652513808216198946, 0.206959751707199812083987569348, 0.71382992952779021033600406503, 0.98971690700151825984363090029, 0.86339958328134745391858859595, 0.70037828363249257457230217791, 0.97380974339470107231135690474, 0.9184635965630883290893011311, 0.418605216026507942885819265225, 0.61793227858714759711625818653, 0.67394880797682685081908511723, 0.98871101941805039780826467279, 0.65973593853137069988371349845, 0.93348525072186907424189028727, 0.59164378220465485142298641014, 0.95303768733773138214124075961, 0.88667310242538944858141870801, 0.83785319781204861623008709825, 0.54026788227426708201242457367, 0.74842599257855801522259951132, 0.286624102305531463268442510375, 0.41180484980938874161376712508, 0.22754664620316922947541651384, 0.62360609793949755240041318939, 0.3311618194042077047850111557, 0.315407885695867020730009836503, 0.215221706711430951961780213436, 0.168600630933631406101821024413, 0.62661489373200405241464923618, 0.95357070304277219756741072036, 0.5186418766697788447635039428, 0.70772930521061953327927296944, 0.410376884797056150221504703145, 0.39705302343406249619577860633, 0.79215885822696034431481699125, 0.157831717946112504384603002152, 0.26892306298536012837855426922, 0.15697088614321016223211167568, 0.41395315712905823355235182393, 0.043977876945327860015049914653, 0.91453495544799358550673657283, 0.46230093259088633973148827911, 0.79479146768024434444120965094, 0.1466704986407674407377422815, 0.093614591443204076599999803382, 0.66061870961706149406527099303, 0.087462146328394574476138187113, 0.79683664444310818297700615557, 0.39732728185755441060070738751, 0.141934473990413594291362391075, 0.63111751995951919258061547632, 0.78521985432793823024330967029, 0.53307346282606806792796696141, 0.61679109370763781010143645189, 0.40696293619387120891515025426, 0.68670343879278712242412028794, 0.0115112936831136012901340526452, 0.70866056737692430987650236649, 0.75378980574358943122474800795, 0.17133202766710894969283150847, 0.36771201738922655520549864974, 0.64614182581953931840374311331, 0.354495602088990708111406368474, 0.96418771817934443444348833491, 0.51633426669933834634574104246, 0.064671329812306055349433587193, 0.084335079914541732137341401384, 0.98578018340150609333535890283, 0.32988119060114570391488875477, 0.70568290443337103364762141207, 0.7501960060851696034137148851, 0.141312840936106004164373056114, 0.60721022154106372815080238296, 0.49179275887283771965744826261, 0.85530668893284708999269819019, 0.09730053915339358769067661488, 0.48817911888023094845428570434, 0.37116312252354470380676793579, 0.61870369881699387959990992873, 0.381874188039839457469043174076, 0.68193837613090719561872304949, 0.4773618313988618747215621251, 0.152383599292709764750406667286, 0.54317522808228983459963725598, 0.363848788591302782268887022354, 0.0105589810271147011378412305973, 0.55582445068669939957392951111, 0.99910376130213936748996659383, 0.90286867348280161480903197439, 0.48268382934936288156485037692, 0.0976084557356802030533675394, 0.29004949962481398455881920169, 0.99169758897256717005011514856, 0.20722895154834288274430061308, 0.50294863638464584121275744208, 0.71094033855350495714847377558, 0.94078709219520224551350834268, 0.48088262771516317628650315489, 0.80538698628980761175811796611, 0.83495029615293903361580945571, 0.67996381940825251937974905761, 0.57936805772275234468590364926, 0.41778137764942046281708286844, 0.161602687591454506771276482303, 0.093910625156097743113739432334, 0.45716763620641108625606409874, 0.96455075374827233820027584808, 0.5179966880512917274934448216, 0.046797382046060065926143985952, 0.83673567319931334127111064225, 0.44224504444533247245974476514, 0.73281179385894336737033582786, 0.5642490153724193432309549673, 0.83700200507325250303481208805, 0.152714941779871552944298597052, 0.38606607994977770238226473985, 0.0155140917516105439042442246577, 0.51621537013393688713546096688, 0.311969390991657895966526156064, 0.83890647777450698803932943984, 0.54370750820133482930695388638, 0.98636765788772465929756760473, 0.77334255661128878905675504339, 0.57070354296508751519811368688, 0.8365252076669013372866223481, 0.344601601940890721182485798794, 0.92658930620470543221158939208, 0.72724523363899270076210273102, 0.413672082025645586061788451734, 0.5132836422023222169840403333, 0.82135610583961360173883281975, 0.423835065039748889417547786563, 0.87083598844595488941471761572, 0.59009392451459866513886634656, 0.206124826643305920436961792363, 0.288685540685143988030522421633, 0.7944357933456167153993184889, 0.090945230657758780394996530608, 0.52981750421369669363095418817, 0.091368944984485824360107751981, 0.81824925769562351657564377069, 0.083315412912658535228751011063, 0.59602276778799576464600065047, 0.52258035262146456789454411102, 0.394692074165738897132014378974, 0.92031214264405188928824363967, 0.32812665356161216265971156268, 0.79754299890007289545033977389, 0.3029021512227565310021437326, 0.81425785760698537744367921928, 0.85199399843570233736733560413, 0.096629890212080240754541391968, 0.60643798959967098211181910285, 0.75368518979236587723780129098, 0.451368813651510369666120626045, 0.86189868235067352904955566961, 0.239506411296874624231401913963, 0.143392266376287906568670938457, 0.035585084401323981008798496622, 0.89407531932950775763701297226, 0.56699767164913732414312190205, 0.6107715946195223295493238966, 0.980870588312723808697191463, 0.37603666613089681502774907483, 0.19565477083291620146833762404, 0.70326913680165706368122461762, 0.98247770640436619202690080984, 0.54911931698472764719220618506, 0.96749331150477343995263612791, 0.9349501605275792139661332597, 0.067704019779021886031495084945, 0.52883185005352261786874768842, 0.03879817199556086106868125058, 0.011268895714104342862021635882, 0.86781395233112768504418642287, 0.73610697666830606371057497872, 0.22595829849389174304359852447, 0.95990840938724981323147621815, 0.5938079875208820675776232526, 0.78655922365792476391655372464, 0.51099073264725007373467108776, 0.66474884887866769539664215292, 0.88640025828226102852258218854, 0.39889893489572927635368967129, 0.76340426725003756852384366924, 0.485534753598641026618647825146, 0.55957578573824837450384728978, 0.50840543283094885180866842941, 0.0102415845792896532313226969615, 0.74666891036262398733922051708, 0.49044748088989431070743849791, 0.184017043174756439606592004597, 0.0225210121470402648790231578307, 0.096909683465740960387467976065, 0.0521874432095560437920256545446, 0.108114343037383115951564617563, 0.77430486784405922952977031491, 0.73286432949907824441702845144, 0.083559249182272369453587951223, 0.074541345541671560054508020717, 0.55130541064331728019681677403, 0.101450912226971008587146654246, 0.74564503962660370005995595861, 0.55903832180264925580029280922, 0.86098138284846671753408133719, 0.76146956314354797691373262733, 0.5569854467166466965564479865, 0.61138555623626762560168304163, 0.93778268377974305185411499629, 0.106728342608615813606903105742, 0.51139895550624845300079248199, 0.8826404150665399364200384063, 0.79849755952621824621632991954, 0.60058338183244813128378689372, 0.57271235605091257806409062354, 0.134476676178095582804914204515, 0.62710051406343298533266304307, 0.21517566131268423511744492316, 0.87763268502269127056352092234, 0.259516013975152388767641295316, 0.54026961752737864438921779715, 0.0321012344232942464157113655476, 0.047765687217921465801489989111, 0.17851281529041807770891682623, 0.67864372391481596436180177405, 0.27188630999531652193578141334, 0.76570352378902765382129471855, 0.55727605717645959087760838806, 0.40035295538031700787360193533, 0.65772683660586524086245866733, 0.87515739410383285146563935658, 0.51637173718066431535845791928, 0.32843440805452173782945632394, 0.46789250836790673252530282969, 0.153916136058705475580104911632, 0.38115724589238346986896925035, 0.96911901452270741576104655076, 0.327510878721849788805057952285, 0.52921188196053063832762822112, 0.357891066893689952162669812174, 0.8109495999496825638917226258, 0.87378695338223548954000159812, 0.071735687760291841872657613394, 0.22099818521305441851106524174, 0.61319403424123059973018445501, 0.49185069904977836269777464774, 0.8465618819298531473261910176, 0.88263955123256235889766657732, 0.264605739218701311737446373095, 0.157257748694727606809000832224, 0.61172692557424578980817509135, 0.89224381101792427145783648267, 0.049436313890546252030141534714, 0.78472068655126867546237630366, 0.94890896727672958163705440614, 0.61244719025309458330037069759, 0.69652639673616920270100103049, 0.82306805868313923466426022855, 0.4619352653236511042512479492, 0.248913888569715263431474781448, 0.64972077945521993267494748532, 0.058989138867897862567374093665, 0.97969837050674699927934092348, 0.112860503606029382332397067852, 0.9148268966080465389473749031, 0.80522292073416096202056634334, 0.80810563925192214527344776336, 0.082994810842601316055993203972, 0.58154183958194788097113770541, 0.91401321304178026032151961143, 0.064162440925738934087179609749, 0.15233762499249088696399602351, 0.05051666992337641462246832006, 0.138526581114846840617440323377, 0.3330645447918149831766264793, 0.217487368997014213919568641696, 0.61893770768550649722673903221, 0.48128956859001312165262121487, 0.67074178502738313699688470847, 0.74389636308055141796746779725, 0.78623735396470085242463142878, 0.74044466560335570728816983391, 0.44977042205766449238521848558, 0.04936658918716696558210777333, 0.46898154881467544198433735515, 0.86577421926732888331279455256, 0.351697801257336354285066689416, 0.44607679846684358775746123434, 0.68542184287580537292736482205, 0.044146424753083577398366558491, 0.84496717026871403905274974765, 0.20398318496314438897842101827, 0.75107700174605698650069666924, 0.178571061661964354577482608798, 0.67178502534981979941629966218, 0.90847842600882488644789391115, 0.073076683947302775918335357377, 0.33981323802799502107773228774, 0.88205531070102240708858032672, 0.52395959911163033140017417074, 0.339537812421755656306362620887, 0.54102447887624739438002987695, 0.99615637434542139613844677579, 0.91178029521112995461052949527, 0.75825739605806537625994927603, 0.20376049709427102495755901889, 0.414724980644126108685694310425, 0.33340705339227162790042902392, 0.63442350111338002489027718102, 0.79083735924049231993808201264, 0.7022290803727963570326957922, 0.073051026670174816217706335151, 0.50842348505687696224462184336, 0.32363091931107924009593033016, 0.097074638787613630803324174721, 0.79231345620836950165162896374, 0.46134517653790366185204412042, 0.87767180094474465071641454817, 0.30504377737897498569142680272, 0.96430402804903305707372788262, 0.58722709934909516402891605024, 0.36287829330987989626587492725, 0.341369045118572012709880807167, 0.18622546427505557603629823709, 0.71794779555885705340742601105, 0.098775720656078510422828040021, 0.94170390436210924588938028149, 0.6256516749208606216856038288, 0.84990648194056707180867958453, 0.24897158268824763099382644974, 0.67126976686560821454618204853, 0.18287142221906188751198231263, 0.58301735289988287890086250316, 0.39451451502323596545833498888, 0.64778726863510310777659172018, 0.344060647976610102257104623935, 0.8543225374577925606075052273, 0.41721025737118350088955048104, 0.346301150923723212219486824146, 0.430145349151890094004681136873, 0.083653676599147505357408467754, 0.89927285917733406113015320169, 0.87717630249665962395834008139, 0.114609060439245285884826496387, 0.19079403943711412757743782207, 0.095752662525740063245815699042, 0.79249438764728213221559489213, 0.36889557473162465630046043798, 0.076691690566591062968137595944, 0.82502767429905549906741868154, 0.7665582347663079379259164121, 0.40329445688627141530172819257, 0.76025417855373928649612014969, 0.67742016809536470259225177395, 0.56458198627250149175789836481, 0.78923506303765674533158921804, 0.242546191857944356752822856477, 0.5429792204847717222270173404, 0.7269010821579782458839227112, 0.68884017933657182784660476876, 0.037868346502260087811459749823, 0.5900507745679403546108564628, 0.2867946536016681954708929644, 0.47061390957475445523849010039, 0.51289737877965767076806069599, 0.422963220866519099525024712084, 0.056516063514784913538055836342, 0.77559606292381102490968685122, 0.44812023547000818124896526252, 0.8496368064876247362896528731, 0.272242276648834925536741986616, 0.21366791927514210787832263868, 0.458126557153035507756298880855, 0.59095285049337797286946531198, 0.41387171106200290943847880691, 0.040527832792286543640976926214, 0.84749051864346812142321430329, 0.6591922374100337646083630177, 0.30504037894556796180304594549, 0.69588062596190762407598122745, 0.54615362946297678668402889519, 0.27179536774730804380125320985, 0.16312965572910266758089041195, 0.60443803311418335000528681396, 0.76221957063947757300487766314, 0.0012561481228798307955579245318, 0.38477311712200424042679172286, 0.86336953839931184684851388121, 0.85132017314817690655384788334, 0.79741410166633177181313320738, 0.81142674213295830272567127246, 0.90095974521916505411272740187, 0.461262866736651478343958282766, 0.163149749038393754125992055513, 0.079563568933303239293664877234, 0.0076308467066608702534098522771, 0.74020408989686798939059759005, 0.68004244363120265645245845544, 0.99423282025586676895879517721, 0.256512790150101579655974619204, 0.15841489307390214447222985222, 0.53156533193583516285295078457, 0.51195175518666885397864463638, 0.2688502522458221215136352473, 0.290743998007688539265414246556, 0.375642431327791011131765421904, 0.73366824563603699669790620984, 0.89031055476039433366324605036, 0.63269458446317741594059410575, 0.79677646360837164675956632, 0.91096051787867659208019728176, 0.056411022047894420770349313174, 0.7117937367428418076554349793, 0.494496454398059649677550547185, 0.9944698091905991687808626336, 0.195654008095567563746040882677, 0.33245249703376584453346565181, 0.91671965905832444523554539619, 0.104159073216349402499760928077, 0.78250381705179599027513221262, 0.82221952254403323129879405024, 0.25404653774104883427079980313, 0.89334850648967094099280368977, 0.2721479244387740074938025269, 0.58627710421889854554604323774, 0.80740872172002770008164688167, 0.295213737773499230779293451686, 0.366266263469556210902410635735, 0.72189449997560167388059780325, 0.91339160960295327548014703572, 0.27978723834100283634925494393, 0.44312275285067091147157546317, 0.88264479919648468925459438057, 0.74860386620420068665117140949, 0.97534502025842784289380076051, 0.183653687608870314454061893335, 0.14143760686328530307343938507, 0.7794390875763962068165432699, 0.79988123088296718350409621263, 0.91344402454829897860268279997, 0.3003753710559256572305330721, 0.92236868180619898327118824659, 0.85128995509445007265453349716, 0.51226586850988855988005111668, 0.59328586801467434659081264762, 0.131543061349700789237108200816, 0.97962864281984756641024957818, 0.80003961712390827564285728721, 0.07332191035039234849987853587, 0.33710892945255754021249327366, 0.237798240512212115424045579506, 0.050628096786899757905464602857, 0.36368141580193860149061967396, 0.074547282281222729072803274018, 0.32013351651022219595136046535, 0.50087363542319392259892635316, 0.95534128322832584718763016378, 0.63089810554419660091974256912, 0.45937043591639452731937380837, 0.77794827072126710252068287081, 0.5833967217973934570703322242, 0.89948711130168823436943591707, 0.88448792344727137087709578749, 0.75774410588649351850782212564, 0.51545850808454807305763364038, 0.89535564141616759448334976604, 0.433876155086630438489414332084, 0.263145194001722566517185175524, 0.094513715303174637696079970882, 0.0067905149976316075236601623182, 0.3746548325271489972742277758, 0.81418012245523025207375976459, 0.7382555515800124086679648947, 0.71505454385778976492869269043, 0.7698698840252614242858413632, 0.53096667868591647121855295207, 0.5913146508318579789498085478, 0.82865413011200335887487636747, 0.246477924915753655378269255135, 0.7718625116939460952174295485, 0.33088224685104582360581424038, 0.077396220323469426942810035952, 0.399851739373243384531661374094, 0.74828949567652386217126904324, 0.55533476993642340021791702209, 0.475356366587838670689554086714, 0.99199926249299355831492581518, 0.60739053074816626181185925167, 0.94570422855790142383862352906, 0.67410117583869264525962136333, 0.99340016295179621471645098914, 0.30521664837678549625426072163, 0.82786899862234431119578444516, 0.0246054418785779831964997687095, 0.33057040500642957115284791089, 0.325865542252271051046671982904, 0.116469964535698881624567000313, 0.38792519202192930208550481713, 0.147033252049062199325747990948, 0.333360890210745561370686771174, 0.267717098935309378552279527125, 0.473606191830554736751491306975, 0.69379726024488030302072707274, 0.39866105325920152799379542147, 0.075996151521605600512218326895, 0.43692155239290098173990417979, 0.63183509185797834489905365016, 0.327726835190132824885685947736, 0.82769389015654780671213364517, 0.38036542617183448008870457384, 0.06416363778906221378580326597, 0.95989693996326393340364540321, 0.77473792948077472252492320019, 0.73353080354752465520384745159, 0.79531316211939777703706647305, 0.31887745411495362933791547194, 0.5504233366621661345254817397, 0.133841546560512334978343647306, 0.93323316393590598213508657757, 0.219534116905903225236593922786, 0.352227557302752346568799070044, 0.50699048681296139093781410327, 0.56063256677949754339755086295, 0.97859418495668224120337606178, 0.43217748779939454097021337034, 0.6118800794139137562939270606, 0.8826339041571606455078384688, 0.190654349423411314990846249777, 0.0272323818569649486990095499454, 0.13501820915175992368033644254, 0.34430252524220055863712676536, 0.135013324503164182485257894453, 0.83301344777287732687815180326, 0.71146270180847724757833953093, 0.059584725284656364940760846576, 0.124388342467555907606115942139, 0.86760011350010388002288781466, 0.43443235444248399222879725088, 0.62257025564267773540408523682, 0.42224480338939459869117553607, 0.122203729563367693705179104655, 0.86763329805228175173701751082, 0.61852711996472568821866689006, 0.9981036801779161471700405786, 0.177126618334123901292041594724, 0.37033568941002233661950847289, 0.81720705981865203019383851894, 0.194752883553301253160228353622, 0.5399475493930702257701115294, 0.21555050095259535717046390477, 0.031480898918419061738395489394, 0.0108626235742996694506893658131, 0.29439861659506237876675916168, 0.25969803792963051605662393213, 0.64305111681301349941082616522, 0.398301763391130971280749586885, 0.82959279528518208376169366062, 0.494452121232255582677051524076, 0.032046850110252624668328949032, 0.304808216164121089322038632124, 0.43743086801077933536332835933, 0.067635143022119684849606244687, 0.062601171413915686472972559687, 0.80704249768256597155262089974, 0.049090587901867220876053770281, 0.14290280489067737067786839775, 0.85153414385190808252068833198, 0.052035578866778404379096518691, 0.84803461110488710482683367176, 0.323391780352303842858779454674, 0.52713499343541339922976296515, 0.91034109375479019837692785976, 0.106146556890642346491650008212, 0.291532189474064930184344798145, 0.330494959183718721493342551525, 0.6236537208920888603043773443, 0.89122121355780761549659392994, 0.51799810738861013193016943087, 0.249256177739037963581221438965, 0.76322106809612787470242640888, 0.97852511972383831461233976406, 0.52255677693690499607690355455, 0.4450034860583097087122794844, 0.79114162250324775713725095404, 0.94756217345536380876998110362, 0.58677918818329126036021764787, 0.84845252924877884299669190981, 0.30081720041370757827674016113, 0.27920525653128846538023076229, 0.33471466998109052439193176801, 0.77432114969973711331784009482, 0.79975078898170550460312445454, 0.90029380309155505829673878957, 0.22735855793472972935624370264, 0.83917898101167717908999667914, 0.96001063929762371813642857618, 0.80557845129235602137075744771, 0.227828260252387705994553631692, 0.45514459312672738783331856798, 0.6996049090759249573037751274, 0.76407211467383802388153449844, 0.35750763601712374361686514082, 0.090157662209549066428683554241, 0.95043897530001474792481472865, 0.97262166470012788338731033975, 0.203045895422423613196589718133, 0.217437635156560627036179586425, 0.5222956932204809424910993278, 0.52865060708104384493756729767, 0.97715373213739469800445297208, 0.5740174414400501666597490431, 0.172348314420047937640907870932, 0.57197038071649167881433868039, 0.26289948915209002196358225729, 0.177903112174726341611524884074, 0.74917239660013094610681443816, 0.59837085384984040836442442706, 0.065070324689375259831989322427, 0.44807493892928848916566949155, 0.59027783360778386064107723777, 0.122058971772529617939528531479, 0.18965096763129552013799044806, 0.179455202785822708296801760066, 0.032170979041981235014758366854, 0.297222966386620738492021519056, 0.91323423393143490893801153646, 0.75998869946268189685327906564, 0.83934073246383862944110864099, 0.17898779712956184324621175982, 0.480986398855505957279379560397, 0.60860751560721289727164165043, 0.298927282590269088379100218673, 0.77935020447343759584143119835, 0.480545242963934573648858250607, 0.85619790637736236353631524289, 0.96488893882602300700764346564, 0.36351865634843046736230405883, 0.82895257550724293657223335349, 0.79749691055514662573933190753, 0.20106705267868388883102752272, 0.33623918491977977623116871123, 0.93256466340279772952587363977, 0.88648669501682764515636262464, 0.47662235152771500250187825963, 0.52659238455883068245922982067, 0.94111676559395948458425469814, 0.323317713690175795284098362026, 0.34796405933091263994264450729, 0.52445433363119391822452105405, 0.525140277317638922334264421, 0.64469482443585357444532895759, 0.33472685924872903603447879104, 0.42400458791646499703641118014, 0.8222662798441265944554029489, 0.75524567154228028735673060411, 0.90790601849806560799894333131, 0.75164241313793249434488428193, 0.38724602290468111557712203885, 0.36352513950081020449187506395, 0.078398790907179055722325452963, 0.5003676822199407758422514133, 0.86055044548361328714384972985, 0.66748567445598821900669819042, 0.95450644393912187127659765969, 0.9536501355878008523425355652, 0.56207573012593503802043957099, 0.99057795680550440527031916411, 0.056136908924222021770088579728, 0.89322960593560085272815946927, 0.19380351076299398770342941398, 0.036881975481577328074706357897, 0.38834900979665334617449710449, 0.77196507761008668275581490587, 0.87539115393397618421355963533, 0.9131721846286054396553858461, 0.62245648254908013430163665866, 0.56021174819199355559539089633, 0.86987294559046384230921358438, 0.474584307464076041054198211805, 0.37224942408757353492416873571, 0.198307276357215222087716993615, 0.81633548414328354008913860616, 0.071192681637945014051745371309, 0.227203421058334439883665388655, 0.50527083273847576806586104904, 0.25911353175247232791676189983, 0.103567996992606824957067451526, 0.98316826751311017109085781757, 0.99206610065531611133123425907, 0.63838444880264351660305680771, 0.90013304139719692321619239255, 0.541419881593941428911392944, 0.434681681520065487913409442927, 0.0277935905905462584654818408167, 0.28736085880215502013374946299, 0.204706679291990486471085620508, 0.29639415300325412139805373353, 0.316818074164048785111401123944, 0.58068268044073033182148412246, 0.137736206950094621238996907006, 0.80907996549523150166492783923, 0.73799561611209772635015717353, 0.84013433924397440368969968592, 0.46126521311414726401422152854, 0.78013716447507497359555980298, 0.83405708922951231042933175851, 0.6366367969739079258896472192, 0.77353748358406402598000037557, 0.17489624725635947111471117775, 0.80267952648428412026314875447, 0.80437106861315296029137160672, 0.62834462177566783487584779777, 0.31539602345858033626133832055, 0.50541890853061839219557074283, 0.0195874476781850222509795360627, 0.011676447193909007242643314705, 0.85675479754070644130150816794, 0.09391269154749661204040398199, 0.369625667102334643216258483376, 0.84311577046357953313746551837, 0.66438426715728382263582851036, 0.70530906415261448155650458603, 0.446783684004800041373395690117, 0.75627790284213576819810990131, 0.57190285913753158265774292274, 0.97785681370875218892539297465, 0.0244503386494348881614690746194, 0.48528430854909558202793141933, 0.89436155397807056672243211894, 0.40757489194485346255194449191, 0.91772837786834838909335779229, 0.28020326531649972709359017096, 0.28847822326776188982020803144, 0.93193769743225684077624356649, 0.58336147304815741644785105161, 0.4004241800179331174134885947, 0.265790823692672203607418801725, 0.4137092141145146388568879939, 0.0255090449126572366852573357318, 0.47601725598948555645487446626, 0.69141516452580797436419291497, 0.187709862166242786826507443003, 0.31177816288567708916778389045, 0.79635247302484103596788484137, 0.14648403361265752358955335086, 0.0088027047060531475573345163528, 0.90053967411241805345616039474, 0.373822238382428585287035417224, 0.94303097002109978273901800507, 0.037263906643698883423150604649, 0.98416823398276433881119247311, 0.257766562836474661728601317803, 0.09336855716941364387765222813, 0.057604551843195630210060755775, 0.37732024813036636644231432449, 0.437099108019093398068604946814, 0.0298274889889844501626534131975, 0.54161045457572229928359302347, 0.354192069739745951755754451894, 0.9952629304832433588789284291, 0.61362350596285189174752077338, 0.23176197923774029736185020682, 0.259000332877923815426717028414, 0.77171708810079063604185854121, 0.87278431247491539306511051532, 0.386310463821549823085972724515, 0.19043920209178263945663905422, 0.77200547833114724875436606573, 0.2683024354984293205497398925, 0.144270112550972640008446091075, 0.36996280314557984925474224612, 0.163548224543250866742712583905, 0.54541238293503241055380526708, 0.54270760938500008382580072956, 0.7374073253240524865446763851, 0.93470960326436177572863031654, 0.71417607213823278615975270201, 0.65837463356664939532769528292, 0.433323451649582925271830911365, 0.79664580661766246494864588315, 0.392079017934601610514677836005, 0.212454387416532999103471570235, 0.198678082418012501322802116335, 0.61525672800559338657275986197, 0.99339589895181138684928419014, 0.53563057949945927383392076793, 0.68817192513245948798192690082, 0.59671938169380086666866042956, 0.5686075254645125832635026196, 0.25860953535454698758704936914, 0.60779864941995215785819783969, 0.46515241662568547274625942204, 0.8756966078479474164213834749, 0.89153160343113076353740745469, 0.57055911159151577684982200009, 0.39366246576557783924065683256, 0.53789676931469921495851209609, 0.95842028586447684249630374944, 0.25218284880717367924827402845, 0.23718965807272971860203662735, 0.334222632819004380754702693406, 0.6370849366068287810411454729, 0.722665796162802454203702773, 0.50216248905279887048328225791, 0.34529823309520970630714708672, 0.45098892404492692601908443802, 0.64640019115293913591196874603, 0.137077316379736192931987264458, 0.29368115076039970149731521521, 0.20091822953913855557804069085, 0.066267083813833718511605782276, 0.88094596104423280074202839474, 0.071730322265966936504743175424, 0.69735904142296779896396736035, 0.91352594564083795862432502567, 0.13244220377041278512040316988, 0.6283911312781029516331064494, 0.34896540167805105781090114462, 0.6795367801751911186206756471, 0.74898526486791573083377925403, 0.71700182398199203349731046015, 0.121142833366516620257163901501, 0.32678002036857151533698078636, 0.327511655875027224450064555456, 0.0079152053645354575349489795814, 0.84748954479623021059675156738, 0.75041561033954009809301550159, 0.41101693712463238996746228193, 0.90155864029338267639417046915, 0.35464670537047753945618208157, 0.68848712573944472430623590326, 0.08893193373618063124738179594, 0.58932830480784385636485098641, 0.0501618828375381577588978271165, 0.9451968329901169788400753848, 0.074994725566097580721185016702, 0.191860088196691871607965261685, 0.67853841063536805868885844477, 0.179445375284033906887325905976, 0.84157620913886056000430779083, 0.7377942162322144186341324232, 0.231126715579023126062082806996, 0.127662509645324778320005407937, 0.63062414859560283674777403205, 0.55283326072907470543330204975, 0.81243486031688046850257374808, 0.299095175225750536694802628506, 0.34284433830834748530634854762, 0.92098838107935607957057329632, 0.6334432153537539286206936299, 0.49203336326915182548719200464, 0.70089872986754081776092540042, 0.410346112246289262244008861334, 0.689375704219352519232614571, 0.53543492718830214408075484368, 0.78985504761729292283075540625, 0.66802245726332267870092702429, 0.75600588548341120124374250114, 0.83217485519464083512235296359, 0.77758150309412736979136465746, 0.067382141804836913185384124002, 0.7289836962356747770023887674, 0.453434776313686590560640460504, 0.3160796148757468204057886796, 0.0098933475787107681104048511314, 0.3620064234142809735084479026, 0.85993179373877360456391909506, 0.90684883450763884954227285187, 0.75959171037325548903969803948, 0.91219881792279148536349496306, 0.97175430264940118917041244436, 0.292364544897748356834218017667, 0.126096590956329503351026499397, 0.058210669685805595156500555938, 0.207143479048534791976348255132, 0.202837039257860939456824357966, 0.459137240079351948795601640776, 0.65480905235794807223708347609 }; coreutils-8.21/gnulib-tests/test-fseeko.c0000664000000000000000000000457412071024546015376 00000000000000/* Test of fseeko() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include /* None of the files accessed by this test are large, so disable the fseek link warning if we are not using the gnulib fseek module. */ #define _GL_NO_LARGE_FILES #include #include "signature.h" SIGNATURE_CHECK (fseeko, int, (FILE *, off_t, int)); #include "macros.h" #ifndef FUNC_UNGETC_BROKEN # define FUNC_UNGETC_BROKEN 0 #endif int main (int argc, char **argv _GL_UNUSED) { /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh' iff argc > 1. */ int expected = argc > 1 ? 0 : -1; /* Exit with success only if fseek/fseeko agree. */ int r1 = fseeko (stdin, 0, SEEK_CUR); int r2 = fseek (stdin, 0, SEEK_CUR); ASSERT (r1 == r2 && r1 == expected); if (argc > 1) { /* Test that fseek discards previously read ungetc data. */ int ch = fgetc (stdin); ASSERT (ch == '#'); ASSERT (ungetc (ch, stdin) == ch); ASSERT (fseeko (stdin, 2, SEEK_SET) == 0); ch = fgetc (stdin); ASSERT (ch == '/'); if (2 < argc) { if (FUNC_UNGETC_BROKEN) { fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n", stderr); return 77; } /* Test that fseek discards random ungetc data. */ ASSERT (ungetc (ch ^ 0xff, stdin) == (ch ^ 0xff)); } ASSERT (fseeko (stdin, 0, SEEK_END) == 0); ASSERT (fgetc (stdin) == EOF); /* Test that fseek resets end-of-file marker. */ ASSERT (feof (stdin)); ASSERT (fseeko (stdin, 0, SEEK_END) == 0); ASSERT (!feof (stdin)); } return 0; } coreutils-8.21/gnulib-tests/test-verify.sh0000775000000000000000000000130511624730157015613 00000000000000#!/bin/sh . "${srcdir=.}/init.sh" # We are not interested in triggering bugs in the compilers and tools # (such as gcc 4.3.1 on openSUSE 11.0). unset MALLOC_PERTURB_ # Rather than figure out how to invoke the compiler with the right # include path ourselves, we let make do it: (cd "$initial_cwd_" && rm -f test-verify.o \ && $MAKE test-verify.o >/dev/null 2>&1) \ || skip_ "cannot compile error-free" # Now, prove that we encounter all expected compilation failures: : >out : >err for i in 1 2 3 4 5; do (cd "$initial_cwd_" rm -f test-verify.o $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \ && { warn_ "compiler didn't detect verification failure $i"; fail=1; } done Exit $fail coreutils-8.21/gnulib-tests/test-fchownat.c0000664000000000000000000000523712100637437015732 00000000000000/* Tests of fchownat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (fchownat, int, (int, char const *, uid_t, gid_t, int)); #include #include #include #include #include #include #include "mgetgroups.h" #include "openat.h" #include "progname.h" #include "stat-time.h" #include "ignore-value.h" #include "macros.h" #define BASE "test-fchownat.t" #include "test-chown.h" #include "test-lchown.h" static int dfd = AT_FDCWD; /* Wrapper around fchownat to test chown behavior. */ static int do_chown (char const *name, uid_t user, gid_t group) { return chownat (dfd, name, user, group); } /* Wrapper around fchownat to test lchown behavior. */ static int do_lchown (char const *name, uid_t user, gid_t group) { return lchownat (dfd, name, user, group); } int main (int argc _GL_UNUSED, char *argv[]) { int result1; /* Skip because of no chown/symlink support. */ int result2; /* Skip because of no lchown support. */ set_program_name (argv[0]); /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); /* Test behaviour for invalid file descriptors. */ { errno = 0; ASSERT (fchownat (-1, "foo", getuid (), getgid (), 0) == -1); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fchownat (99, "foo", getuid (), getgid (), 0) == -1); ASSERT (errno == EBADF); } /* Basic tests. */ result1 = test_chown (do_chown, true); result2 = test_lchown (do_lchown, result1 == 0); dfd = open (".", O_RDONLY); ASSERT (0 <= dfd); ASSERT (test_chown (do_chown, false) == result1); ASSERT (test_lchown (do_lchown, false) == result2); /* We expect 0/0, 0/77, or 77/77, but not 77/0. */ ASSERT (result1 <= result2); ASSERT (close (dfd) == 0); /* FIXME - add additional tests of dfd not at current directory. */ return result1 | result2; } coreutils-8.21/gnulib-tests/test-mbrtowc-w32-4.sh0000775000000000000000000000012111624730153016525 00000000000000#!/bin/sh # Test a CP950 locale. ./test-mbrtowc-w32${EXEEXT} Chinese_Taiwan 950 coreutils-8.21/gnulib-tests/test-mbscasecmp.sh0000775000000000000000000000057511624730153016430 00000000000000#!/bin/sh # Test whether a specific Turkish locale is installed. : ${LOCALE_TR_UTF8=tr_TR.UTF-8} if test $LOCALE_TR_UTF8 = none; then if test -f /usr/bin/localedef; then echo "Skipping test: no turkish Unicode locale is installed" else echo "Skipping test: no turkish Unicode locale is supported" fi exit 77 fi LC_ALL=$LOCALE_TR_UTF8 \ ./test-mbscasecmp${EXEEXT} coreutils-8.21/gnulib-tests/test-thread_create.c0000664000000000000000000000412312071024546016702 00000000000000/* Test of gl_thread_create () macro. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2011. */ #include #include "glthread/thread.h" #include #include #include "macros.h" static gl_thread_t main_thread_before; static gl_thread_t main_thread_after; static gl_thread_t worker_thread; static int dummy; static volatile int work_done; static void * worker_thread_func (void *arg) { work_done = 1; return &dummy; } int main () { main_thread_before = gl_thread_self (); if (glthread_create (&worker_thread, worker_thread_func, NULL) == 0) { void *ret; /* Check that gl_thread_self () has the same value before than after the first call to gl_thread_create (). */ main_thread_after = gl_thread_self (); ASSERT (memcmp (&main_thread_before, &main_thread_after, sizeof (gl_thread_t)) == 0); gl_thread_join (worker_thread, &ret); /* Check the return value of the thread. */ ASSERT (ret == &dummy); /* Check that worker_thread_func () has finished executing. */ ASSERT (work_done); return 0; } else { #if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WINDOWS_THREADS fputs ("glthread_create failed\n", stderr); return 1; #else fputs ("Skipping test: multithreading not enabled\n", stderr); return 77; #endif } } coreutils-8.21/gnulib-tests/test-hash.c0000664000000000000000000001510112071024546015031 00000000000000/* * Copyright (C) 2009-2013 Free Software Foundation, Inc. * Written by Jim Meyering * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "hash.h" #include "hash-pjw.h" #include "inttostr.h" #include #include #include #include #include #include "macros.h" #define STREQ(a, b) (strcmp (a, b) == 0) #define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) static bool hash_compare_strings (void const *x, void const *y) { ASSERT (x != y); return STREQ (x, y) ? true : false; } static void hash_freer (void *x) { free (x); } static void insert_new (Hash_table *ht, const void *ent) { void *e = hash_insert (ht, ent); ASSERT (e == ent); } static bool walk (void *ent, void *data) { char *str = ent; unsigned int *map = data; switch (*str) { case 'a': *map |= 1; return true; case 'b': *map |= 2; return true; case 'c': *map |= 4; return true; } *map |= 8; return false; } static int get_seed (char const *str, unsigned int *seed) { size_t len = strlen (str); if (len == 0 || strspn (str, "0123456789") != len || 10 < len) return 1; *seed = atoi (str); return 0; } int main (int argc, char **argv) { unsigned int i; unsigned int k; unsigned int table_size[] = {1, 2, 3, 4, 5, 23, 53}; Hash_table *ht; Hash_tuning tuning; hash_reset_tuning (&tuning); tuning.shrink_threshold = 0.3; tuning.shrink_factor = 0.707; tuning.growth_threshold = 1.5; tuning.growth_factor = 2.0; tuning.is_n_buckets = true; if (1 < argc) { unsigned int seed; if (get_seed (argv[1], &seed) != 0) { fprintf (stderr, "invalid seed: %s\n", argv[1]); exit (EXIT_FAILURE); } srand (seed); } for (i = 0; i < ARRAY_CARDINALITY (table_size); i++) { size_t sz = table_size[i]; ht = hash_initialize (sz, NULL, hash_pjw, hash_compare_strings, NULL); ASSERT (ht); insert_new (ht, "a"); { char *str1 = strdup ("a"); char *str2; ASSERT (str1); str2 = hash_insert (ht, str1); ASSERT (str1 != str2); ASSERT (STREQ (str1, str2)); free (str1); } insert_new (ht, "b"); insert_new (ht, "c"); i = 0; ASSERT (hash_do_for_each (ht, walk, &i) == 3); ASSERT (i == 7); { void *buf[5] = { NULL }; ASSERT (hash_get_entries (ht, NULL, 0) == 0); ASSERT (hash_get_entries (ht, buf, 5) == 3); ASSERT (STREQ (buf[0], "a") || STREQ (buf[0], "b") || STREQ (buf[0], "c")); } ASSERT (hash_delete (ht, "a")); ASSERT (hash_delete (ht, "a") == NULL); ASSERT (hash_delete (ht, "b")); ASSERT (hash_delete (ht, "c")); ASSERT (hash_rehash (ht, 47)); ASSERT (hash_rehash (ht, 467)); /* Free an empty table. */ hash_clear (ht); hash_free (ht); ht = hash_initialize (sz, NULL, hash_pjw, hash_compare_strings, NULL); ASSERT (ht); insert_new (ht, "z"); insert_new (ht, "y"); insert_new (ht, "x"); insert_new (ht, "w"); insert_new (ht, "v"); insert_new (ht, "u"); hash_clear (ht); ASSERT (hash_get_n_entries (ht) == 0); hash_free (ht); /* Test pointer hashing. */ ht = hash_initialize (sz, NULL, NULL, NULL, NULL); ASSERT (ht); { char *str = strdup ("a"); ASSERT (str); insert_new (ht, "a"); insert_new (ht, str); ASSERT (hash_lookup (ht, str) == str); free (str); } hash_free (ht); } hash_reset_tuning (&tuning); tuning.shrink_threshold = 0.3; tuning.shrink_factor = 0.707; tuning.growth_threshold = 1.5; tuning.growth_factor = 2.0; tuning.is_n_buckets = true; /* Invalid tuning. */ ht = hash_initialize (4651, &tuning, hash_pjw, hash_compare_strings, hash_freer); ASSERT (!ht); /* Alternate tuning. */ tuning.growth_threshold = 0.89; /* Run with default tuning, then with custom tuning settings. */ for (k = 0; k < 2; k++) { Hash_tuning const *tune = (k == 0 ? NULL : &tuning); /* Now, each entry is malloc'd. */ ht = hash_initialize (4651, tune, hash_pjw, hash_compare_strings, hash_freer); ASSERT (ht); for (i = 0; i < 10000; i++) { unsigned int op = rand () % 10; switch (op) { case 0: case 1: case 2: case 3: case 4: case 5: { char buf[50]; char const *p = uinttostr (i, buf); char *p_dup = strdup (p); ASSERT (p_dup); insert_new (ht, p_dup); } break; case 6: { size_t n = hash_get_n_entries (ht); ASSERT (hash_rehash (ht, n + rand () % 20)); } break; case 7: { size_t n = hash_get_n_entries (ht); size_t delta = rand () % 20; if (delta < n) ASSERT (hash_rehash (ht, n - delta)); } break; case 8: case 9: { /* Delete a random entry. */ size_t n = hash_get_n_entries (ht); if (n) { size_t kk = rand () % n; void const *p; void *v; for (p = hash_get_first (ht); kk; --kk, p = hash_get_next (ht, p)) { /* empty */ } ASSERT (p); v = hash_delete (ht, p); ASSERT (v); free (v); } break; } } ASSERT (hash_table_ok (ht)); } hash_free (ht); } return 0; } coreutils-8.21/gnulib-tests/test-wcwidth.c0000664000000000000000000000501112071024546015556 00000000000000/* Test of wcwidth() function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (wcwidth, int, (wchar_t)); #include #include #include "localcharset.h" #include "macros.h" int main () { wchar_t wc; /* Test width of ASCII characters. */ for (wc = 0x20; wc < 0x7F; wc++) ASSERT (wcwidth (wc) == 1); /* Switch to an UTF-8 locale. */ if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL /* Check whether it's really an UTF-8 locale. On OpenBSD 4.0, the setlocale call succeeds only for the LC_CTYPE category and therefore returns "C/fr_FR.UTF-8/C/C/C/C", but the LC_CTYPE category is effectively set to an ASCII LC_CTYPE category; in particular, locale_charset() returns "ASCII". */ && strcmp (locale_charset (), "UTF-8") == 0) { /* Test width of ASCII characters. */ for (wc = 0x20; wc < 0x7F; wc++) ASSERT (wcwidth (wc) == 1); /* Test width of some non-spacing characters. */ ASSERT (wcwidth (0x0301) == 0); ASSERT (wcwidth (0x05B0) == 0); /* Test width of some format control characters. */ ASSERT (wcwidth (0x200E) <= 0); ASSERT (wcwidth (0x2060) <= 0); #if 0 /* wchar_t may be only 16 bits. */ ASSERT (wcwidth (0xE0001) <= 0); ASSERT (wcwidth (0xE0044) <= 0); #endif /* Test width of some zero width characters. */ ASSERT (wcwidth (0x200B) == 0); ASSERT (wcwidth (0xFEFF) <= 0); /* Test width of some CJK characters. */ ASSERT (wcwidth (0x3000) == 2); ASSERT (wcwidth (0xB250) == 2); ASSERT (wcwidth (0xFF1A) == 2); #if 0 /* wchar_t may be only 16 bits. */ ASSERT (wcwidth (0x20369) == 2); ASSERT (wcwidth (0x2F876) == 2); #endif } return 0; } coreutils-8.21/gnulib-tests/test-spawn.c0000664000000000000000000000312012071024546015234 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include /* Check for existence of required types. */ struct check { posix_spawnattr_t a; posix_spawn_file_actions_t b; mode_t c; pid_t d; sigset_t e; } s; /* struct sched_param is allowed to be an incomplete type without , but must have a forward declaration to avoid a compilation error in the following usage. */ extern void f (struct sched_param *g); #include extern void f (struct sched_param *g); int main (void) { switch (0) { case POSIX_SPAWN_RESETIDS: case POSIX_SPAWN_SETPGROUP: case POSIX_SPAWN_SETSIGDEF: case POSIX_SPAWN_SETSIGMASK: case (POSIX_SPAWN_SETSCHEDPARAM != 0 ? POSIX_SPAWN_SETSCHEDPARAM : -1): case (POSIX_SPAWN_SETSCHEDULER != 0 ? POSIX_SPAWN_SETSCHEDULER : -2): ; } return s.c + s.d; } coreutils-8.21/gnulib-tests/test-getopt.c0000664000000000000000000000547212071024546015422 00000000000000/* Test of command line argument processing. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2009. */ #include /* None of the files accessed by this test are large, so disable the ftell link warning if we are not using the gnulib ftell module. */ #define _GL_NO_LARGE_FILES #if GNULIB_TEST_GETOPT_GNU # include # ifndef __getopt_argv_const # define __getopt_argv_const const # endif # include "signature.h" SIGNATURE_CHECK (getopt_long, int, (int, char *__getopt_argv_const *, char const *, struct option const *, int *)); SIGNATURE_CHECK (getopt_long_only, int, (int, char *__getopt_argv_const *, char const *, struct option const *, int *)); #endif #include #include "signature.h" SIGNATURE_CHECK (getopt, int, (int, char * const[], char const *)); #include #include #include /* This test intentionally remaps stderr. So, we arrange to have fd 10 (outside the range of interesting fd's during the test) set up to duplicate the original stderr. */ #define BACKUP_STDERR_FILENO 10 #define ASSERT_STREAM myerr #include "macros.h" static FILE *myerr; #include "test-getopt.h" #if GNULIB_TEST_GETOPT_GNU # include "test-getopt_long.h" #endif int main (void) { /* This test validates that stderr is used correctly, so move the original into fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL) return 2; ASSERT (freopen ("test-getopt.tmp", "w", stderr) == stderr); /* These default values are required by POSIX. */ ASSERT (optind == 1); ASSERT (opterr != 0); setenv ("POSIXLY_CORRECT", "1", 1); test_getopt (); #if GNULIB_TEST_GETOPT_GNU test_getopt_long_posix (); #endif unsetenv ("POSIXLY_CORRECT"); test_getopt (); #if GNULIB_TEST_GETOPT_GNU test_getopt_long (); test_getopt_long_only (); #endif ASSERT (fclose (stderr) == 0); ASSERT (remove ("test-getopt.tmp") == 0); return 0; } coreutils-8.21/gnulib-tests/test-wcrtomb-w32-1.sh0000775000000000000000000000012211624730157016527 00000000000000#!/bin/sh # Test a CP1252 locale. ./test-wcrtomb-w32${EXEEXT} French_France 1252 coreutils-8.21/gnulib-tests/unlinkdir.h0000664000000000000000000000171312071024546015141 00000000000000/* unlinkdir.h - determine (and maybe change) whether we can unlink directories Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ #include #if UNLINK_CANNOT_UNLINK_DIR # define cannot_unlink_dir() true #else bool cannot_unlink_dir (void); #endif coreutils-8.21/gnulib-tests/test-fflush2.sh0000775000000000000000000000052611624730151015656 00000000000000#!/bin/sh # Execute the test only with seekable input stream. # The behaviour of fflush() on a non-seekable input stream is undefined. ./test-fflush2${EXEEXT} 1 < "$srcdir/test-fflush2.sh" || exit $? ./test-fflush2${EXEEXT} 2 < "$srcdir/test-fflush2.sh" || exit $? #cat "$srcdir/test-fflush2.sh" | ./test-fflush2${EXEEXT} || exit $? exit 0 coreutils-8.21/gnulib-tests/test-fread.c0000664000000000000000000000510012100637437015167 00000000000000/* Test of fread() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *)); #include #include #include #include "msvc-inval.h" #include "macros.h" int main (int argc, char **argv) { const char *filename = "test-fread.txt"; /* We don't have an fread() function that installs an invalid parameter handler so far. So install that handler here, explicitly. */ #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING gl_msvc_inval_ensure_handler (); #endif /* Prepare a file. */ { const char text[] = "hello world"; int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600); ASSERT (fd >= 0); ASSERT (write (fd, text, sizeof (text)) == sizeof (text)); ASSERT (close (fd) == 0); } /* Test that fread() sets errno if someone else closes the stream fd behind the back of stdio. */ { FILE *fp = fopen (filename, "r"); char buf[5]; ASSERT (fp != NULL); ASSERT (close (fileno (fp)) == 0); errno = 0; ASSERT (fread (buf, 1, sizeof (buf), fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } /* Test that fread() sets errno if the stream was constructed with an invalid file descriptor. */ { FILE *fp = fdopen (-1, "r"); if (fp != NULL) { char buf[1]; errno = 0; ASSERT (fread (buf, 1, 1, fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } { FILE *fp; close (99); fp = fdopen (99, "r"); if (fp != NULL) { char buf[1]; errno = 0; ASSERT (fread (buf, 1, 1, fp) == 0); ASSERT (errno == EBADF); ASSERT (ferror (fp)); fclose (fp); } } /* Clean up. */ unlink (filename); return 0; } coreutils-8.21/gnulib-tests/test-termios.c0000664000000000000000000000164112071024546015574 00000000000000/* Test of substitute. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2010. */ #include #include /* Check that the types are all defined. */ pid_t t1; int main (void) { return 0; } coreutils-8.21/gnulib-tests/test-c-strncasecmp.c0000664000000000000000000000573212071024546016661 00000000000000/* Test of case-insensitive string comparison function. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include "c-strcase.h" #include #include #include "macros.h" int main (int argc, char *argv[]) { if (argc > 1) { /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; } ASSERT (c_strncasecmp ("paragraph", "Paragraph", 1000000) == 0); ASSERT (c_strncasecmp ("paragraph", "Paragraph", 9) == 0); ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 1000000) == 0); ASSERT (c_strncasecmp ("paragrapH", "parAgRaph", 9) == 0); ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 10) < 0); ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 9) < 0); ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 5) < 0); ASSERT (c_strncasecmp ("paragraph", "paraLyzed", 4) == 0); ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 10) > 0); ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 9) > 0); ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 5) > 0); ASSERT (c_strncasecmp ("paraLyzed", "paragraph", 4) == 0); ASSERT (c_strncasecmp ("para", "paragraph", 10) < 0); ASSERT (c_strncasecmp ("para", "paragraph", 9) < 0); ASSERT (c_strncasecmp ("para", "paragraph", 5) < 0); ASSERT (c_strncasecmp ("para", "paragraph", 4) == 0); ASSERT (c_strncasecmp ("paragraph", "para", 10) > 0); ASSERT (c_strncasecmp ("paragraph", "para", 9) > 0); ASSERT (c_strncasecmp ("paragraph", "para", 5) > 0); ASSERT (c_strncasecmp ("paragraph", "para", 4) == 0); /* The following tests shows how c_strncasecmp() is different from strncasecmp(). */ ASSERT (c_strncasecmp ("\311mily", "\351mile", 4) < 0); ASSERT (c_strncasecmp ("\351mile", "\311mily", 4) > 0); /* The following tests shows how c_strncasecmp() is different from mbsncasecmp(). */ ASSERT (c_strncasecmp ("\303\266zg\303\274r", "\303\226ZG\303\234R", 99) > 0); /* özgür */ ASSERT (c_strncasecmp ("\303\226ZG\303\234R", "\303\266zg\303\274r", 99) < 0); /* özgür */ /* This test shows how strings of different size cannot compare equal. */ ASSERT (c_strncasecmp ("turkish", "TURK\304\260SH", 7) < 0); ASSERT (c_strncasecmp ("TURK\304\260SH", "turkish", 7) > 0); return 0; } coreutils-8.21/gnulib-tests/test-setsockopt.c0000664000000000000000000000265512100637437016320 00000000000000/* Test setsockopt() function. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "signature.h" SIGNATURE_CHECK (setsockopt, int, (int, int, int, const void *, socklen_t)); #include #include #include "sockets.h" #include "macros.h" int main (void) { (void) gl_sockets_startup (SOCKETS_1_1); /* Test behaviour for invalid file descriptors. */ { int value = 1; errno = 0; ASSERT (setsockopt (-1, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value)) == -1); ASSERT (errno == EBADF); } { int value = 1; close (99); errno = 0; ASSERT (setsockopt (99, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value)) == -1); ASSERT (errno == EBADF); } return 0; } coreutils-8.21/gnulib-tests/test-dirent.c0000664000000000000000000000174312071024546015402 00000000000000/* Test of substitute. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include /* Check for existence of required types. */ static DIR *dir _GL_UNUSED; static struct dirent d; static ino_t i; int main (void) { return d.d_name[0] + i; } coreutils-8.21/gnulib-tests/test-isnanl.h0000664000000000000000000001050412071024546015401 00000000000000/* Test of isnanl() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "minus-zero.h" #include "infinity.h" #include "nan.h" #include "macros.h" int main () { #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; long double value; } memory_long_double; /* Finite values. */ ASSERT (!isnanl (3.141L)); ASSERT (!isnanl (3.141e30L)); ASSERT (!isnanl (3.141e-30L)); ASSERT (!isnanl (-2.718L)); ASSERT (!isnanl (-2.718e30L)); ASSERT (!isnanl (-2.718e-30L)); ASSERT (!isnanl (0.0L)); ASSERT (!isnanl (minus_zerol)); /* Infinite values. */ ASSERT (!isnanl (Infinityl ())); ASSERT (!isnanl (- Infinityl ())); /* Quiet NaN. */ ASSERT (isnanl (NaNl ())); #if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT /* A bit pattern that is different from a Quiet NaN. With a bit of luck, it's a Signalling NaN. */ { memory_long_double m; m.value = NaNl (); # if LDBL_EXPBIT0_BIT > 0 m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); # else m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; ASSERT (isnanl (m.value)); } #endif #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; ASSERT (isnanl (x.value)); } { /* Signalling NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; ASSERT (isnanl (x.value)); } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; ASSERT (isnanl (x.value)); } { /* Pseudo-Infinity. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; ASSERT (isnanl (x.value)); } { /* Pseudo-Zero. */ static memory_long_double x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; ASSERT (isnanl (x.value)); } { /* Unnormalized number. */ static memory_long_double x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; ASSERT (isnanl (x.value)); } { /* Pseudo-Denormal. */ static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; ASSERT (isnanl (x.value)); } #endif return 0; } coreutils-8.21/gnulib-tests/test-fdopendir.c0000664000000000000000000000417412100637437016072 00000000000000/* Test opening a directory stream from a file descriptor. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ #include #include #include "signature.h" SIGNATURE_CHECK (fdopendir, DIR *, (int)); #include #include #include #include "progname.h" #include "macros.h" int main (int argc _GL_UNUSED, char *argv[]) { DIR *d; int fd; set_program_name (argv[0]); /* A non-directory cannot be turned into a directory stream. */ fd = open ("test-fdopendir.tmp", O_RDONLY | O_CREAT, 0600); ASSERT (0 <= fd); errno = 0; ASSERT (fdopendir (fd) == NULL); ASSERT (errno == ENOTDIR); ASSERT (close (fd) == 0); ASSERT (unlink ("test-fdopendir.tmp") == 0); /* A bad fd cannot be turned into a stream. */ { errno = 0; ASSERT (fdopendir (-1) == NULL); ASSERT (errno == EBADF); } { close (99); errno = 0; ASSERT (fdopendir (99) == NULL); ASSERT (errno == EBADF); } /* This should work. */ fd = open (".", O_RDONLY); ASSERT (0 <= fd); d = fdopendir (fd); /* We know that fd is now out of our reach, but it is not specified whether it is closed now or at the closedir. We also can't guarantee whether dirfd returns fd, some other descriptor, or -1. */ ASSERT (d); ASSERT (closedir (d) == 0); /* Now we can guarantee that fd must be closed. */ errno = 0; ASSERT (dup2 (fd, fd) == -1); ASSERT (errno == EBADF); return 0; } coreutils-8.21/gnulib-tests/test-xstrtoul.c0000664000000000000000000000015611624727635016032 00000000000000#define __xstrtol xstrtoul #define __strtol_t unsigned long int #define __spec "lu" #include "test-xstrtol.c" coreutils-8.21/gnulib-tests/test-fseeko2.sh0000775000000000000000000000010711624730151015636 00000000000000#!/bin/sh exec ./test-fseeko${EXEEXT} 1 2 < "$srcdir/test-fseeko2.sh" coreutils-8.21/gnulib-tests/test-vasprintf.c0000664000000000000000000000471512071024546016133 00000000000000/* Test of vasprintf() and asprintf() functions. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include "signature.h" SIGNATURE_CHECK (asprintf, int, (char **, char const *, ...)); SIGNATURE_CHECK (vasprintf, int, (char **, char const *, va_list)); #include #include #include #include "macros.h" static int my_asprintf (char **result, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vasprintf (result, format, args); va_end (args); return ret; } static void test_vasprintf () { int repeat; for (repeat = 0; repeat <= 8; repeat++) { char *result; int retval = my_asprintf (&result, "%d", 12345); ASSERT (retval == 5); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); free (result); } for (repeat = 0; repeat <= 8; repeat++) { char *result; int retval = my_asprintf (&result, "%08lx", 12345UL); ASSERT (retval == 8); ASSERT (result != NULL); ASSERT (strcmp (result, "00003039") == 0); free (result); } } static void test_asprintf () { int repeat; for (repeat = 0; repeat <= 8; repeat++) { char *result; int retval = asprintf (&result, "%d", 12345); ASSERT (retval == 5); ASSERT (result != NULL); ASSERT (strcmp (result, "12345") == 0); free (result); } for (repeat = 0; repeat <= 8; repeat++) { char *result; int retval = asprintf (&result, "%08lx", 12345UL); ASSERT (retval == 8); ASSERT (result != NULL); ASSERT (strcmp (result, "00003039") == 0); free (result); } } int main (int argc, char *argv[]) { test_vasprintf (); test_asprintf (); return 0; } coreutils-8.21/gnulib-tests/test-set-mode-acl-2.sh0000775000000000000000000000030011636617717016723 00000000000000#!/bin/sh # Test set-mode-acl on the file system of the build directory, which may be # a local file system or NFS mounted. TMPDIR=`pwd` export TMPDIR exec "${srcdir}/test-set-mode-acl.sh" coreutils-8.21/gnulib-tests/test-areadlink.h0000664000000000000000000000541312071024546016052 00000000000000/* Tests of areadlink and friends. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake , 2009. */ /* This file is designed to test areadlink(a), areadlink_with_size(a,b), and areadlinkat(AT_FDCWD,a). FUNC is the function to test; a length is always supplied, but may be ignored. Assumes that BASE and ASSERT are already defined, and that appropriate headers are already included. If PRINT, warn before skipping symlink tests with status 77. */ static int test_areadlink (char * (*func) (char const *, size_t), bool print) { /* Sanity checks of failures. Mingw lacks symlink, but areadlink can still distinguish between various errors. */ errno = 0; ASSERT (func ("no_such", 1) == NULL); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("no_such/", 1) == NULL); ASSERT (errno == ENOENT); errno = 0; ASSERT (func ("", 1) == NULL); ASSERT (errno == ENOENT || errno == EINVAL); errno = 0; ASSERT (func (".", 1) == NULL); ASSERT (errno == EINVAL); errno = 0; ASSERT (func ("./", 1) == NULL); ASSERT (errno == EINVAL); ASSERT (close (creat (BASE "file", 0600)) == 0); errno = 0; ASSERT (func (BASE "file", 1) == NULL); ASSERT (errno == EINVAL); errno = 0; ASSERT (func (BASE "file/", 1) == NULL); ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */ ASSERT (unlink (BASE "file") == 0); /* Now test actual symlinks. */ if (symlink (BASE "dir", BASE "link")) { if (print) fputs ("skipping test: symlinks not supported on this file system\n", stderr); return 77; } ASSERT (mkdir (BASE "dir", 0700) == 0); errno = 0; ASSERT (func (BASE "link/", 1) == NULL); ASSERT (errno == EINVAL); { /* Too small a guess is okay. */ char *buf = func (BASE "link", 1); ASSERT (buf); ASSERT (strcmp (buf, BASE "dir") == 0); free (buf); /* Too large a guess is okay. */ buf = func (BASE "link", 10000000); ASSERT (buf); ASSERT (strcmp (buf, BASE "dir") == 0); free (buf); } ASSERT (rmdir (BASE "dir") == 0); ASSERT (unlink (BASE "link") == 0); return 0; } coreutils-8.21/gnulib-tests/test-mbsinit.c0000664000000000000000000000267612071024546015570 00000000000000/* Test of test for initial conversion state. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include #include #include "signature.h" SIGNATURE_CHECK (mbsinit, int, (const mbstate_t *)); #include #include "macros.h" int main (int argc, char *argv[]) { static mbstate_t state; ASSERT (mbsinit (NULL)); ASSERT (mbsinit (&state)); if (argc > 1) { static const char input[1] = "\303"; wchar_t wc; size_t ret; /* configure should already have checked that the locale is supported. */ if (setlocale (LC_ALL, "") == NULL) return 1; ret = mbrtowc (&wc, input, 1, &state); ASSERT (ret == (size_t)(-2)); ASSERT (!mbsinit (&state)); } return 0; } coreutils-8.21/gnulib-tests/glthread/0000775000000000000000000000000012107207540014636 500000000000000coreutils-8.21/gnulib-tests/glthread/thread.h0000664000000000000000000003110312071561002016170 00000000000000/* Creating and controlling threads. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ /* This file contains primitives for creating and controlling threads. Thread data type: gl_thread_t. Creating a thread: thread = gl_thread_create (func, arg); Or with control of error handling: err = glthread_create (&thread, func, arg); extern int glthread_create (gl_thread_t *result, void *(*func) (void *), void *arg); Querying and changing the signal mask of a thread (not supported on all platforms): gl_thread_sigmask (how, newmask, oldmask); Or with control of error handling: err = glthread_sigmask (how, newmask, oldmask); extern int glthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask); Waiting for termination of another thread: gl_thread_join (thread, &return_value); Or with control of error handling: err = glthread_join (thread, &return_value); extern int glthread_join (gl_thread_t thread, void **return_value_ptr); Getting a reference to the current thread: current = gl_thread_self (); extern gl_thread_t gl_thread_self (void); Getting a reference to the current thread as a pointer, for debugging: ptr = gl_thread_self_pointer (); extern void * gl_thread_self_pointer (void); Terminating the current thread: gl_thread_exit (return_value); extern _Noreturn void gl_thread_exit (void *return_value); Requesting custom code to be executed at fork() time(not supported on all platforms): gl_thread_atfork (prepare_func, parent_func, child_func); Or with control of error handling: err = glthread_atfork (prepare_func, parent_func, child_func); extern int glthread_atfork (void (*prepare_func) (void), void (*parent_func) (void), void (*child_func) (void)); Note that even on platforms where this is supported, use of fork() and threads together is problematic, see */ #ifndef _GLTHREAD_THREAD_H #define _GLTHREAD_THREAD_H #include #include _GL_INLINE_HEADER_BEGIN #ifndef _GLTHREAD_THREAD_INLINE # define _GLTHREAD_THREAD_INLINE _GL_INLINE #endif /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include # ifdef __cplusplus extern "C" { # endif # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ /* Weak references avoid dragging in external libraries if the other parts of the program don't use them. Here we use them, because we don't want every program that uses libintl to depend on libpthread. This assumes that libpthread would not be loaded after libintl; i.e. if libintl is loaded first, by an executable that does not depend on libpthread, and then a module is dynamically loaded that depends on libpthread, libintl will not be multithread-safe. */ /* The way to test at runtime whether libpthread is present is to test whether a function pointer's value, such as &pthread_mutex_init, is non-NULL. However, some versions of GCC have a bug through which, in PIC mode, &foo != NULL always evaluates to true if there is a direct call to foo(...) in the same function. To avoid this, we test the address of a function in libpthread that we don't use. */ # pragma weak pthread_create # pragma weak pthread_sigmask # pragma weak pthread_join # ifndef pthread_self # pragma weak pthread_self # endif # pragma weak pthread_exit # if HAVE_PTHREAD_ATFORK # pragma weak pthread_atfork # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* -------------------------- gl_thread_t datatype -------------------------- */ /* This choice of gl_thread_t assumes that pthread_equal (a, b) is equivalent to ((a) == (b)). This is the case on all platforms in use in 2008. */ typedef pthread_t gl_thread_t; # define glthread_create(THREADP, FUNC, ARG) \ (pthread_in_use () ? pthread_create (THREADP, NULL, FUNC, ARG) : ENOSYS) # define glthread_sigmask(HOW, SET, OSET) \ (pthread_in_use () ? pthread_sigmask (HOW, SET, OSET) : 0) # define glthread_join(THREAD, RETVALP) \ (pthread_in_use () ? pthread_join (THREAD, RETVALP) : 0) # ifdef PTW32_VERSION /* In pthreads-win32, pthread_t is a struct with a pointer field 'p' and other fields. */ # define gl_thread_self() \ (pthread_in_use () ? pthread_self () : gl_null_thread) # define gl_thread_self_pointer() \ (pthread_in_use () ? pthread_self ().p : NULL) extern const gl_thread_t gl_null_thread; # else # define gl_thread_self() \ (pthread_in_use () ? pthread_self () : (pthread_t) NULL) # define gl_thread_self_pointer() \ (pthread_in_use () ? (void *) pthread_self () : NULL) # endif # define gl_thread_exit(RETVAL) \ (pthread_in_use () ? pthread_exit (RETVAL) : 0) # if HAVE_PTHREAD_ATFORK # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) \ (pthread_in_use () ? pthread_atfork (PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) : 0) # else # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 # endif # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include # ifdef __cplusplus extern "C" { # endif # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_spawn # pragma weak pth_sigmask # pragma weak pth_join # pragma weak pth_self # pragma weak pth_exit # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* -------------------------- gl_thread_t datatype -------------------------- */ typedef pth_t gl_thread_t; # define glthread_create(THREADP, FUNC, ARG) \ (pth_in_use () ? ((*(THREADP) = pth_spawn (NULL, FUNC, ARG)) ? 0 : errno) : 0) # define glthread_sigmask(HOW, SET, OSET) \ (pth_in_use () && !pth_sigmask (HOW, SET, OSET) ? errno : 0) # define glthread_join(THREAD, RETVALP) \ (pth_in_use () && !pth_join (THREAD, RETVALP) ? errno : 0) # define gl_thread_self() \ (pth_in_use () ? (void *) pth_self () : NULL) # define gl_thread_self_pointer() \ gl_thread_self () # define gl_thread_exit(RETVAL) \ (pth_in_use () ? pth_exit (RETVAL) : 0) # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak thr_create # pragma weak thr_join # pragma weak thr_self # pragma weak thr_exit # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* -------------------------- gl_thread_t datatype -------------------------- */ typedef thread_t gl_thread_t; # define glthread_create(THREADP, FUNC, ARG) \ (thread_in_use () ? thr_create (NULL, 0, FUNC, ARG, 0, THREADP) : 0) # define glthread_sigmask(HOW, SET, OSET) \ (thread_in_use () ? sigprocmask (HOW, SET, OSET) : 0) # define glthread_join(THREAD, RETVALP) \ (thread_in_use () ? thr_join (THREAD, NULL, RETVALP) : 0) # define gl_thread_self() \ (thread_in_use () ? (void *) thr_self () : NULL) # define gl_thread_self_pointer() \ gl_thread_self () # define gl_thread_exit(RETVAL) \ (thread_in_use () ? thr_exit (RETVAL) : 0) # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus extern "C" { # endif /* -------------------------- gl_thread_t datatype -------------------------- */ /* The gl_thread_t is a pointer to a structure in memory. Why not the thread handle? If it were the thread handle, it would be hard to implement gl_thread_self() (since GetCurrentThread () returns a pseudo- handle, DuplicateHandle (GetCurrentThread ()) returns a handle that must be closed afterwards, and there is no function for quickly retrieving a thread handle from its id). Why not the thread id? I tried it. It did not work: Sometimes ids appeared that did not belong to running threads, and glthread_join failed with ESRCH. */ typedef struct gl_thread_struct *gl_thread_t; # define glthread_create(THREADP, FUNC, ARG) \ glthread_create_func (THREADP, FUNC, ARG) # define glthread_sigmask(HOW, SET, OSET) \ /* unsupported */ 0 # define glthread_join(THREAD, RETVALP) \ glthread_join_func (THREAD, RETVALP) # define gl_thread_self() \ gl_thread_self_func () # define gl_thread_self_pointer() \ gl_thread_self () # define gl_thread_exit(RETVAL) \ gl_thread_exit_func (RETVAL) # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 extern int glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg); extern int glthread_join_func (gl_thread_t thread, void **retvalp); extern gl_thread_t gl_thread_self_func (void); extern int gl_thread_exit_func (void *retval); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) /* Provide dummy implementation if threads are not supported. */ typedef int gl_thread_t; # define glthread_create(THREADP, FUNC, ARG) ENOSYS # define glthread_sigmask(HOW, SET, OSET) 0 # define glthread_join(THREAD, RETVALP) 0 # define gl_thread_self() 0 # define gl_thread_self_pointer() \ ((void *) gl_thread_self ()) # define gl_thread_exit(RETVAL) 0 # define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0 #endif /* ========================================================================= */ /* Macros with built-in error handling. */ #ifdef __cplusplus extern "C" { #endif _GLTHREAD_THREAD_INLINE gl_thread_t gl_thread_create (void *(*func) (void *arg), void *arg) { gl_thread_t thread; int ret; ret = glthread_create (&thread, func, arg); if (ret != 0) abort (); return thread; } #define gl_thread_sigmask(HOW, SET, OSET) \ do \ { \ if (glthread_sigmask (HOW, SET, OSET)) \ abort (); \ } \ while (0) #define gl_thread_join(THREAD, RETVAL) \ do \ { \ if (glthread_join (THREAD, RETVAL)) \ abort (); \ } \ while (0) #define gl_thread_atfork(PREPARE, PARENT, CHILD) \ do \ { \ if (glthread_atfork (PREPARE, PARENT, CHILD)) \ abort (); \ } \ while (0) #ifdef __cplusplus } #endif _GL_INLINE_HEADER_END #endif /* _GLTHREAD_THREAD_H */ coreutils-8.21/gnulib-tests/glthread/thread.c0000664000000000000000000001424312071561002016171 00000000000000/* Creating and controlling threads. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ #include /* Specification. */ # define _GLTHREAD_THREAD_INLINE _GL_EXTERN_INLINE #include "glthread/thread.h" #include #include "glthread/lock.h" /* ========================================================================= */ #if USE_POSIX_THREADS #include #ifdef PTW32_VERSION const gl_thread_t gl_null_thread /* = { .p = NULL } */; #endif #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS #include /* -------------------------- gl_thread_t datatype -------------------------- */ /* The Thread-Local Storage (TLS) key that allows to access each thread's 'struct gl_thread_struct *' pointer. */ static DWORD self_key = (DWORD)-1; /* Initializes self_key. This function must only be called once. */ static void do_init_self_key (void) { self_key = TlsAlloc (); /* If this fails, we're hosed. */ if (self_key == (DWORD)-1) abort (); } /* Initializes self_key. */ static void init_self_key (void) { gl_once_define(static, once) gl_once (once, do_init_self_key); } /* This structure contains information about a thread. It is stored in TLS under key self_key. */ struct gl_thread_struct { /* Fields for managing the handle. */ HANDLE volatile handle; CRITICAL_SECTION handle_lock; /* Fields for managing the exit value. */ void * volatile result; /* Fields for managing the thread start. */ void * (*func) (void *); void *arg; }; /* Return a real HANDLE object for the current thread. */ static HANDLE get_current_thread_handle (void) { HANDLE this_handle; /* GetCurrentThread() returns a pseudo-handle, i.e. only a symbolic identifier, not a real handle. */ if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (), GetCurrentProcess (), &this_handle, 0, FALSE, DUPLICATE_SAME_ACCESS)) abort (); return this_handle; } gl_thread_t gl_thread_self_func (void) { gl_thread_t thread; if (self_key == (DWORD)-1) init_self_key (); thread = TlsGetValue (self_key); if (thread == NULL) { /* This happens only in threads that have not been created through glthread_create(), such as the main thread. */ for (;;) { thread = (struct gl_thread_struct *) malloc (sizeof (struct gl_thread_struct)); if (thread != NULL) break; /* Memory allocation failed. There is not much we can do. Have to busy-loop, waiting for the availability of memory. */ Sleep (1); } thread->handle = get_current_thread_handle (); InitializeCriticalSection (&thread->handle_lock); thread->result = NULL; /* just to be deterministic */ TlsSetValue (self_key, thread); } return thread; } /* The main function of a freshly creating thread. It's a wrapper around the FUNC and ARG arguments passed to glthread_create_func. */ static unsigned int WINAPI wrapper_func (void *varg) { struct gl_thread_struct *thread = (struct gl_thread_struct *)varg; EnterCriticalSection (&thread->handle_lock); /* Create a new handle for the thread only if the parent thread did not yet fill in the handle. */ if (thread->handle == NULL) thread->handle = get_current_thread_handle (); LeaveCriticalSection (&thread->handle_lock); if (self_key == (DWORD)-1) init_self_key (); TlsSetValue (self_key, thread); /* Run the thread. Store the exit value if the thread was not terminated otherwise. */ thread->result = thread->func (thread->arg); return 0; } int glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg) { struct gl_thread_struct *thread = (struct gl_thread_struct *) malloc (sizeof (struct gl_thread_struct)); if (thread == NULL) return ENOMEM; thread->handle = NULL; InitializeCriticalSection (&thread->handle_lock); thread->result = NULL; /* just to be deterministic */ thread->func = func; thread->arg = arg; { unsigned int thread_id; HANDLE thread_handle; thread_handle = (HANDLE) _beginthreadex (NULL, 100000, wrapper_func, thread, 0, &thread_id); /* calls CreateThread with the same arguments */ if (thread_handle == NULL) { DeleteCriticalSection (&thread->handle_lock); free (thread); return EAGAIN; } EnterCriticalSection (&thread->handle_lock); if (thread->handle == NULL) thread->handle = thread_handle; else /* thread->handle was already set by the thread itself. */ CloseHandle (thread_handle); LeaveCriticalSection (&thread->handle_lock); *threadp = thread; return 0; } } int glthread_join_func (gl_thread_t thread, void **retvalp) { if (thread == NULL) return EINVAL; if (thread == gl_thread_self ()) return EDEADLK; if (WaitForSingleObject (thread->handle, INFINITE) == WAIT_FAILED) return EINVAL; if (retvalp != NULL) *retvalp = thread->result; DeleteCriticalSection (&thread->handle_lock); CloseHandle (thread->handle); free (thread); return 0; } int gl_thread_exit_func (void *retval) { gl_thread_t thread = gl_thread_self (); thread->result = retval; _endthreadex (0); /* calls ExitThread (0) */ abort (); } #endif /* ========================================================================= */ coreutils-8.21/gnulib-tests/glthread/yield.h0000664000000000000000000000474712071561002016045 00000000000000/* Yielding the processor to other threads and processes. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ /* This file contains a primitive for yielding the processor to other threads. extern void gl_thread_yield (void); */ #ifndef _GLTHREAD_YIELD_H #define _GLTHREAD_YIELD_H #include /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include # ifdef __cplusplus extern "C" { # endif # define gl_thread_yield() \ sched_yield () # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include # ifdef __cplusplus extern "C" { # endif # define gl_thread_yield() \ pth_yield (NULL) # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include # ifdef __cplusplus extern "C" { # endif # define gl_thread_yield() \ thr_yield () # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include # ifdef __cplusplus extern "C" { # endif # define gl_thread_yield() \ Sleep (0) # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) /* Provide dummy implementation if threads are not supported. */ # define gl_thread_yield() 0 #endif /* ========================================================================= */ #endif /* _GLTHREAD_YIELD_H */ coreutils-8.21/gnulib-tests/inet_pton.c0000664000000000000000000001537212071024546015142 00000000000000/* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* * Copyright (c) 1996,1999 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. */ #include /* Specification. */ #include #if HAVE_DECL_INET_PTON # undef inet_pton int rpl_inet_pton (int af, const char *restrict src, void *restrict dst) { return inet_pton (af, src, dst); } #else # include # include # include # define NS_INADDRSZ 4 # define NS_IN6ADDRSZ 16 # define NS_INT16SZ 2 /* * WARNING: Don't even consider trying to compile this on a system where * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. */ static int inet_pton4 (const char *src, unsigned char *dst); # if HAVE_IPV6 static int inet_pton6 (const char *src, unsigned char *dst); # endif /* int * inet_pton(af, src, dst) * convert from presentation format (which usually means ASCII printable) * to network format (which is usually some kind of binary format). * return: * 1 if the address was valid for the specified address family * 0 if the address wasn't valid ('dst' is untouched in this case) * -1 if some other error occurred ('dst' is untouched in this case, too) * author: * Paul Vixie, 1996. */ int inet_pton (int af, const char *restrict src, void *restrict dst) { switch (af) { case AF_INET: return (inet_pton4 (src, dst)); # if HAVE_IPV6 case AF_INET6: return (inet_pton6 (src, dst)); # endif default: errno = EAFNOSUPPORT; return (-1); } /* NOTREACHED */ } /* int * inet_pton4(src, dst) * like inet_aton() but without all the hexadecimal, octal (with the * exception of 0) and shorthand. * return: * 1 if 'src' is a valid dotted quad, else 0. * notice: * does not touch 'dst' unless it's returning 1. * author: * Paul Vixie, 1996. */ static int inet_pton4 (const char *restrict src, unsigned char *restrict dst) { int saw_digit, octets, ch; unsigned char tmp[NS_INADDRSZ], *tp; saw_digit = 0; octets = 0; *(tp = tmp) = 0; while ((ch = *src++) != '\0') { if (ch >= '0' && ch <= '9') { unsigned new = *tp * 10 + (ch - '0'); if (saw_digit && *tp == 0) return (0); if (new > 255) return (0); *tp = new; if (!saw_digit) { if (++octets > 4) return (0); saw_digit = 1; } } else if (ch == '.' && saw_digit) { if (octets == 4) return (0); *++tp = 0; saw_digit = 0; } else return (0); } if (octets < 4) return (0); memcpy (dst, tmp, NS_INADDRSZ); return (1); } # if HAVE_IPV6 /* int * inet_pton6(src, dst) * convert presentation level address to network order binary form. * return: * 1 if 'src' is a valid [RFC1884 2.2] address, else 0. * notice: * (1) does not touch 'dst' unless it's returning 1. * (2) :: in a full address is silently ignored. * credit: * inspired by Mark Andrews. * author: * Paul Vixie, 1996. */ static int inet_pton6 (const char *restrict src, unsigned char *restrict dst) { static const char xdigits[] = "0123456789abcdef"; unsigned char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp; const char *curtok; int ch, saw_xdigit; unsigned val; tp = memset (tmp, '\0', NS_IN6ADDRSZ); endp = tp + NS_IN6ADDRSZ; colonp = NULL; /* Leading :: requires some special handling. */ if (*src == ':') if (*++src != ':') return (0); curtok = src; saw_xdigit = 0; val = 0; while ((ch = c_tolower (*src++)) != '\0') { const char *pch; pch = strchr (xdigits, ch); if (pch != NULL) { val <<= 4; val |= (pch - xdigits); if (val > 0xffff) return (0); saw_xdigit = 1; continue; } if (ch == ':') { curtok = src; if (!saw_xdigit) { if (colonp) return (0); colonp = tp; continue; } else if (*src == '\0') { return (0); } if (tp + NS_INT16SZ > endp) return (0); *tp++ = (u_char) (val >> 8) & 0xff; *tp++ = (u_char) val & 0xff; saw_xdigit = 0; val = 0; continue; } if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) && inet_pton4 (curtok, tp) > 0) { tp += NS_INADDRSZ; saw_xdigit = 0; break; /* '\0' was seen by inet_pton4(). */ } return (0); } if (saw_xdigit) { if (tp + NS_INT16SZ > endp) return (0); *tp++ = (u_char) (val >> 8) & 0xff; *tp++ = (u_char) val & 0xff; } if (colonp != NULL) { /* * Since some memmove()'s erroneously fail to handle * overlapping regions, we'll do the shift by hand. */ const int n = tp - colonp; int i; if (tp == endp) return (0); for (i = 1; i <= n; i++) { endp[-i] = colonp[n - i]; colonp[n - i] = 0; } tp = endp; } if (tp != endp) return (0); memcpy (dst, tmp, NS_IN6ADDRSZ); return (1); } # endif #endif coreutils-8.21/gnulib-tests/test-signbit.c0000664000000000000000000001204712071024546015553 00000000000000/* Test of signbit() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include /* signbit must be a macro. */ #ifndef signbit # error missing declaration #endif #include #include #include "minus-zero.h" #include "infinity.h" #include "macros.h" float zerof = 0.0f; double zerod = 0.0; long double zerol = 0.0L; static void test_signbitf () { /* Finite values. */ ASSERT (!signbit (3.141f)); ASSERT (!signbit (3.141e30f)); ASSERT (!signbit (3.141e-30f)); ASSERT (signbit (-2.718f)); ASSERT (signbit (-2.718e30f)); ASSERT (signbit (-2.718e-30f)); /* Zeros. */ ASSERT (!signbit (0.0f)); if (1.0f / minus_zerof < 0) ASSERT (signbit (minus_zerof)); else ASSERT (!signbit (minus_zerof)); /* Infinite values. */ ASSERT (!signbit (Infinityf ())); ASSERT (signbit (- Infinityf ())); /* Quiet NaN. */ (void) signbit (zerof / zerof); #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* Signalling NaN. */ { #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; memory_float m; m.value = zerof / zerof; # if FLT_EXPBIT0_BIT > 0 m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1); # else m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif if (FLT_EXPBIT0_WORD < NWORDS / 2) m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT; else m.word[0] |= (unsigned int) 1; (void) signbit (m.value); #undef NWORDS } #endif } static void test_signbitd () { /* Finite values. */ ASSERT (!signbit (3.141)); ASSERT (!signbit (3.141e30)); ASSERT (!signbit (3.141e-30)); ASSERT (signbit (-2.718)); ASSERT (signbit (-2.718e30)); ASSERT (signbit (-2.718e-30)); /* Zeros. */ ASSERT (!signbit (0.0)); if (1.0 / minus_zerod < 0) ASSERT (signbit (minus_zerod)); else ASSERT (!signbit (minus_zerod)); /* Infinite values. */ ASSERT (!signbit (Infinityd ())); ASSERT (signbit (- Infinityd ())); /* Quiet NaN. */ (void) signbit (zerod / zerod); #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT /* Signalling NaN. */ { #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; memory_double m; m.value = zerod / zerod; # if DBL_EXPBIT0_BIT > 0 m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1); # else m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] |= (unsigned int) 1 << DBL_EXPBIT0_BIT; (void) signbit (m.value); #undef NWORDS } #endif } static void test_signbitl () { /* Finite values. */ ASSERT (!signbit (3.141L)); ASSERT (!signbit (3.141e30L)); ASSERT (!signbit (3.141e-30L)); ASSERT (signbit (-2.718L)); ASSERT (signbit (-2.718e30L)); ASSERT (signbit (-2.718e-30L)); /* Zeros. */ ASSERT (!signbit (0.0L)); if (1.0L / minus_zerol < 0) ASSERT (signbit (minus_zerol)); else ASSERT (!signbit (minus_zerol)); /* Infinite values. */ ASSERT (!signbit (Infinityl ())); ASSERT (signbit (- Infinityl ())); /* Quiet NaN. */ (void) signbit (zerol / zerol); #if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT /* Signalling NaN. */ { #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; memory_long_double m; m.value = zerol / zerol; # if LDBL_EXPBIT0_BIT > 0 m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); # else m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); # endif m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; (void) signbit (m.value); #undef NWORDS } #endif } int main () { test_signbitf (); test_signbitd (); test_signbitl (); return 0; } coreutils-8.21/gnulib-tests/test-isnand-nolibm.c0000664000000000000000000000145412071024546016646 00000000000000/* Test of isnand() substitute. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "isnand-nolibm.h" #include "test-isnand.h" coreutils-8.21/gnulib-tests/test-sys_time.c0000664000000000000000000000212512071024546015744 00000000000000/* Test of substitute. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include /* Check that the 'struct timeval' type is defined. */ struct timeval a; /* Check that &a.tv_sec is a 'time_t *', ignoring signedness issues. */ typedef int verify_tv_sec_type[sizeof (a.tv_sec) == sizeof (time_t) ? 1 : -1]; int main (void) { return 0; } coreutils-8.21/doc/0000775000000000000000000000000012107207542011173 500000000000000coreutils-8.21/doc/version.texi0000664000000000000000000000014312107204475013473 00000000000000@set UPDATED 11 February 2013 @set UPDATED-MONTH February 2013 @set EDITION 8.21 @set VERSION 8.21 coreutils-8.21/doc/coreutils.texi0000664000000000000000000213076112106135730014027 00000000000000\input texinfo @c %**start of header @setfilename coreutils.info @settitle GNU Coreutils @c %**end of header @include version.texi @include constants.texi @c Define new indices. @defcodeindex op @defcodeindex fl @c Put everything in one index (arbitrarily chosen to be the concept index). @syncodeindex fl cp @syncodeindex fn cp @syncodeindex ky cp @syncodeindex op cp @syncodeindex pg cp @syncodeindex vr cp @dircategory Basics @direntry * Coreutils: (coreutils). Core GNU (file, text, shell) utilities. * Common options: (coreutils)Common options. * File permissions: (coreutils)File permissions. Access modes. * Date input formats: (coreutils)Date input formats. @end direntry @c FIXME: the following need documentation @c * [: (coreutils)[ invocation. File/string tests. @c * pinky: (coreutils)pinky invocation. FIXME. @dircategory Individual utilities @direntry * arch: (coreutils)arch invocation. Print machine hardware name. * base64: (coreutils)base64 invocation. Base64 encode/decode data. * basename: (coreutils)basename invocation. Strip directory and suffix. * cat: (coreutils)cat invocation. Concatenate and write files. * chcon: (coreutils)chcon invocation. Change SELinux CTX of files. * chgrp: (coreutils)chgrp invocation. Change file groups. * chmod: (coreutils)chmod invocation. Change access permissions. * chown: (coreutils)chown invocation. Change file owners and groups. * chroot: (coreutils)chroot invocation. Specify the root directory. * cksum: (coreutils)cksum invocation. Print POSIX CRC checksum. * comm: (coreutils)comm invocation. Compare sorted files by line. * cp: (coreutils)cp invocation. Copy files. * csplit: (coreutils)csplit invocation. Split by context. * cut: (coreutils)cut invocation. Print selected parts of lines. * date: (coreutils)date invocation. Print/set system date and time. * dd: (coreutils)dd invocation. Copy and convert a file. * df: (coreutils)df invocation. Report file system disk usage. * dir: (coreutils)dir invocation. List directories briefly. * dircolors: (coreutils)dircolors invocation. Color setup for ls. * dirname: (coreutils)dirname invocation. Strip last file name component. * du: (coreutils)du invocation. Report on disk usage. * echo: (coreutils)echo invocation. Print a line of text. * env: (coreutils)env invocation. Modify the environment. * expand: (coreutils)expand invocation. Convert tabs to spaces. * expr: (coreutils)expr invocation. Evaluate expressions. * factor: (coreutils)factor invocation. Print prime factors * false: (coreutils)false invocation. Do nothing, unsuccessfully. * fmt: (coreutils)fmt invocation. Reformat paragraph text. * fold: (coreutils)fold invocation. Wrap long input lines. * groups: (coreutils)groups invocation. Print group names a user is in. * head: (coreutils)head invocation. Output the first part of files. * hostid: (coreutils)hostid invocation. Print numeric host identifier. * hostname: (coreutils)hostname invocation. Print or set system name. * id: (coreutils)id invocation. Print user identity. * install: (coreutils)install invocation. Copy and change attributes. * join: (coreutils)join invocation. Join lines on a common field. * kill: (coreutils)kill invocation. Send a signal to processes. * link: (coreutils)link invocation. Make hard links between files. * ln: (coreutils)ln invocation. Make links between files. * logname: (coreutils)logname invocation. Print current login name. * ls: (coreutils)ls invocation. List directory contents. * md5sum: (coreutils)md5sum invocation. Print or check MD5 digests. * mkdir: (coreutils)mkdir invocation. Create directories. * mkfifo: (coreutils)mkfifo invocation. Create FIFOs (named pipes). * mknod: (coreutils)mknod invocation. Create special files. * mktemp: (coreutils)mktemp invocation. Create temporary files. * mv: (coreutils)mv invocation. Rename files. * nice: (coreutils)nice invocation. Modify niceness. * nl: (coreutils)nl invocation. Number lines and write files. * nohup: (coreutils)nohup invocation. Immunize to hangups. * nproc: (coreutils)nproc invocation. Print the number of processors. * numfmt: (coreutils)numfmt invocation. Reformat numbers. * od: (coreutils)od invocation. Dump files in octal, etc. * paste: (coreutils)paste invocation. Merge lines of files. * pathchk: (coreutils)pathchk invocation. Check file name portability. * pr: (coreutils)pr invocation. Paginate or columnate files. * printenv: (coreutils)printenv invocation. Print environment variables. * printf: (coreutils)printf invocation. Format and print data. * ptx: (coreutils)ptx invocation. Produce permuted indexes. * pwd: (coreutils)pwd invocation. Print working directory. * readlink: (coreutils)readlink invocation. Print referent of a symlink. * realpath: (coreutils)readpath invocation. Print resolved file names. * rm: (coreutils)rm invocation. Remove files. * rmdir: (coreutils)rmdir invocation. Remove empty directories. * runcon: (coreutils)runcon invocation. Run in specified SELinux CTX. * seq: (coreutils)seq invocation. Print numeric sequences * sha1sum: (coreutils)sha1sum invocation. Print or check SHA-1 digests. * sha2: (coreutils)sha2 utilities. Print or check SHA-2 digests. * shred: (coreutils)shred invocation. Remove files more securely. * shuf: (coreutils)shuf invocation. Shuffling text files. * sleep: (coreutils)sleep invocation. Delay for a specified time. * sort: (coreutils)sort invocation. Sort text files. * split: (coreutils)split invocation. Split into pieces. * stat: (coreutils)stat invocation. Report file(system) status. * stdbuf: (coreutils)stdbuf invocation. Modify stdio buffering. * stty: (coreutils)stty invocation. Print/change terminal settings. * sum: (coreutils)sum invocation. Print traditional checksum. * sync: (coreutils)sync invocation. Synchronize memory and disk. * tac: (coreutils)tac invocation. Reverse files. * tail: (coreutils)tail invocation. Output the last part of files. * tee: (coreutils)tee invocation. Redirect to multiple files. * test: (coreutils)test invocation. File/string tests. * timeout: (coreutils)timeout invocation. Run with time limit. * touch: (coreutils)touch invocation. Change file timestamps. * tr: (coreutils)tr invocation. Translate characters. * true: (coreutils)true invocation. Do nothing, successfully. * truncate: (coreutils)truncate invocation. Shrink/extend size of a file. * tsort: (coreutils)tsort invocation. Topological sort. * tty: (coreutils)tty invocation. Print terminal name. * uname: (coreutils)uname invocation. Print system information. * unexpand: (coreutils)unexpand invocation. Convert spaces to tabs. * uniq: (coreutils)uniq invocation. Uniquify files. * unlink: (coreutils)unlink invocation. Removal via unlink(2). * uptime: (coreutils)uptime invocation. Print uptime and load. * users: (coreutils)users invocation. Print current user names. * vdir: (coreutils)vdir invocation. List directories verbosely. * wc: (coreutils)wc invocation. Line, word, and byte counts. * who: (coreutils)who invocation. Print who is logged in. * whoami: (coreutils)whoami invocation. Print effective user ID. * yes: (coreutils)yes invocation. Print a string indefinitely. @end direntry @copying This manual documents version @value{VERSION} of the GNU core utilities, including the standard programs for text and file manipulation. Copyright @copyright{} 1994-2013 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end quotation @end copying @titlepage @title GNU @code{Coreutils} @subtitle Core GNU utilities @subtitle for version @value{VERSION}, @value{UPDATED} @author David MacKenzie et al. @page @vskip 0pt plus 1filll @insertcopying @end titlepage @shortcontents @contents @ifnottex @node Top @top GNU Coreutils @insertcopying @end ifnottex @cindex core utilities @cindex text utilities @cindex shell utilities @cindex file utilities @menu * Introduction:: Caveats, overview, and authors * Common options:: Common options * Output of entire files:: cat tac nl od base64 * Formatting file contents:: fmt pr fold * Output of parts of files:: head tail split csplit * Summarizing files:: wc sum cksum md5sum sha1sum sha2 * Operating on sorted files:: sort shuf uniq comm ptx tsort * Operating on fields:: cut paste join * Operating on characters:: tr expand unexpand * Directory listing:: ls dir vdir dircolors * Basic operations:: cp dd install mv rm shred * Special file types:: mkdir rmdir unlink mkfifo mknod ln link readlink * Changing file attributes:: chgrp chmod chown touch * Disk usage:: df du stat sync truncate * Printing text:: echo printf yes * Conditions:: false true test expr * Redirection:: tee * File name manipulation:: dirname basename pathchk mktemp realpath * Working context:: pwd stty printenv tty * User information:: id logname whoami groups users who * System context:: date arch nproc uname hostname hostid uptime * SELinux context:: chcon runcon * Modified command invocation:: chroot env nice nohup stdbuf timeout * Process control:: kill * Delaying:: sleep * Numeric operations:: factor seq * File permissions:: Access modes * Date input formats:: Specifying date strings * Opening the software toolbox:: The software tools philosophy * GNU Free Documentation License:: Copying and sharing this manual * Concept index:: General index @detailmenu --- The Detailed Node Listing --- Common Options * Exit status:: Indicating program success or failure * Backup options:: Backup options * Block size:: Block size * Floating point:: Floating point number representation * Signal specifications:: Specifying signals * Disambiguating names and IDs:: chgrp and chown owner and group syntax * Random sources:: Sources of random data * Target directory:: Target directory * Trailing slashes:: Trailing slashes * Traversing symlinks:: Traversing symlinks to directories * Treating / specially:: Treating / specially * Standards conformance:: Standards conformance Output of entire files * cat invocation:: Concatenate and write files * tac invocation:: Concatenate and write files in reverse * nl invocation:: Number lines and write files * od invocation:: Write files in octal or other formats * base64 invocation:: Transform data into printable data Formatting file contents * fmt invocation:: Reformat paragraph text * numfmt invocation:: Reformat numbers * pr invocation:: Paginate or columnate files for printing * fold invocation:: Wrap input lines to fit in specified width @command{numfmt}: General Options, Units Output of parts of files * head invocation:: Output the first part of files * tail invocation:: Output the last part of files * split invocation:: Split a file into fixed-size pieces * csplit invocation:: Split a file into context-determined pieces Summarizing files * wc invocation:: Print newline, word, and byte counts * sum invocation:: Print checksum and block counts * cksum invocation:: Print CRC checksum and byte counts * md5sum invocation:: Print or check MD5 digests * sha1sum invocation:: Print or check SHA-1 digests * sha2 utilities:: Print or check SHA-2 digests Operating on sorted files * sort invocation:: Sort text files * shuf invocation:: Shuffle text files * uniq invocation:: Uniquify files * comm invocation:: Compare two sorted files line by line * ptx invocation:: Produce a permuted index of file contents * tsort invocation:: Topological sort @command{ptx}: Produce permuted indexes * General options in ptx:: Options which affect general program behavior * Charset selection in ptx:: Underlying character set considerations * Input processing in ptx:: Input fields, contexts, and keyword selection * Output formatting in ptx:: Types of output format, and sizing the fields * Compatibility in ptx:: The GNU extensions to @command{ptx} Operating on fields * cut invocation:: Print selected parts of lines * paste invocation:: Merge lines of files * join invocation:: Join lines on a common field Operating on characters * tr invocation:: Translate, squeeze, and/or delete characters * expand invocation:: Convert tabs to spaces * unexpand invocation:: Convert spaces to tabs @command{tr}: Translate, squeeze, and/or delete characters * Character sets:: Specifying sets of characters * Translating:: Changing one set of characters to another * Squeezing:: Squeezing repeats and deleting Directory listing * ls invocation:: List directory contents * dir invocation:: Briefly list directory contents * vdir invocation:: Verbosely list directory contents * dircolors invocation:: Color setup for @command{ls} @command{ls}: List directory contents * Which files are listed:: Which files are listed * What information is listed:: What information is listed * Sorting the output:: Sorting the output * Details about version sort:: More details about version sort * General output formatting:: General output formatting * Formatting the file names:: Formatting the file names Basic operations * cp invocation:: Copy files and directories * dd invocation:: Convert and copy a file * install invocation:: Copy files and set attributes * mv invocation:: Move (rename) files * rm invocation:: Remove files or directories * shred invocation:: Remove files more securely Special file types * link invocation:: Make a hard link via the link syscall * ln invocation:: Make links between files * mkdir invocation:: Make directories * mkfifo invocation:: Make FIFOs (named pipes) * mknod invocation:: Make block or character special files * readlink invocation:: Print value of a symlink or canonical file name * rmdir invocation:: Remove empty directories * unlink invocation:: Remove files via unlink syscall Changing file attributes * chown invocation:: Change file owner and group * chgrp invocation:: Change group ownership * chmod invocation:: Change access permissions * touch invocation:: Change file timestamps Disk usage * df invocation:: Report file system disk space usage * du invocation:: Estimate file space usage * stat invocation:: Report file or file system status * sync invocation:: Synchronize data on disk with memory * truncate invocation:: Shrink or extend the size of a file Printing text * echo invocation:: Print a line of text * printf invocation:: Format and print data * yes invocation:: Print a string until interrupted Conditions * false invocation:: Do nothing, unsuccessfully * true invocation:: Do nothing, successfully * test invocation:: Check file types and compare values * expr invocation:: Evaluate expressions @command{test}: Check file types and compare values * File type tests:: File type tests * Access permission tests:: Access permission tests * File characteristic tests:: File characteristic tests * String tests:: String tests * Numeric tests:: Numeric tests @command{expr}: Evaluate expression * String expressions:: + : match substr index length * Numeric expressions:: + - * / % * Relations for expr:: | & < <= = == != >= > * Examples of expr:: Examples of using @command{expr} Redirection * tee invocation:: Redirect output to multiple files or processes File name manipulation * basename invocation:: Strip directory and suffix from a file name * dirname invocation:: Strip last file name component * pathchk invocation:: Check file name validity and portability * mktemp invocation:: Create temporary file or directory * realpath invocation:: Print resolved file names Working context * pwd invocation:: Print working directory * stty invocation:: Print or change terminal characteristics * printenv invocation:: Print all or some environment variables * tty invocation:: Print file name of terminal on standard input @command{stty}: Print or change terminal characteristics * Control:: Control settings * Input:: Input settings * Output:: Output settings * Local:: Local settings * Combination:: Combination settings * Characters:: Special characters * Special:: Special settings User information * id invocation:: Print user identity * logname invocation:: Print current login name * whoami invocation:: Print effective user ID * groups invocation:: Print group names a user is in * users invocation:: Print login names of users currently logged in * who invocation:: Print who is currently logged in System context * arch invocation:: Print machine hardware name * date invocation:: Print or set system date and time * nproc invocation:: Print the number of processors * uname invocation:: Print system information * hostname invocation:: Print or set system name * hostid invocation:: Print numeric host identifier * uptime invocation:: Print system uptime and load @command{date}: Print or set system date and time * Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] * Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] * Literal conversion specifiers:: %[%nt] * Padding and other flags:: Pad with zeros, spaces, etc. * Setting the time:: Changing the system clock * Options for date:: Instead of the current time * Date input formats:: Specifying date strings * Examples of date:: Examples SELinux context * chcon invocation:: Change SELinux context of file * runcon invocation:: Run a command in specified SELinux context Modified command invocation * chroot invocation:: Run a command with a different root directory * env invocation:: Run a command in a modified environment * nice invocation:: Run a command with modified niceness * nohup invocation:: Run a command immune to hangups * stdbuf invocation:: Run a command with modified I/O buffering * timeout invocation:: Run a command with a time limit Process control * kill invocation:: Sending a signal to processes. Delaying * sleep invocation:: Delay for a specified time Numeric operations * factor invocation:: Print prime factors * seq invocation:: Print numeric sequences File permissions * Mode Structure:: Structure of file mode bits * Symbolic Modes:: Mnemonic representation of file mode bits * Numeric Modes:: File mode bits as octal numbers * Directory Setuid and Setgid:: Set-user-ID and set-group-ID on directories Date input formats * General date syntax:: Common rules * Calendar date items:: 19 Dec 1994 * Time of day items:: 9:20pm * Time zone items:: EST, PDT, UTC, @dots{} * Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500 * Day of week items:: Monday and others * Relative items in date strings:: next tuesday, 2 years ago * Pure numbers in date strings:: 19931219, 1440 * Seconds since the Epoch:: @@1078100502 * Specifying time zone rules:: TZ="America/New_York", TZ="UTC0" * Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al. Opening the software toolbox * Toolbox introduction:: Toolbox introduction * I/O redirection:: I/O redirection * The who command:: The @command{who} command * The cut command:: The @command{cut} command * The sort command:: The @command{sort} command * The uniq command:: The @command{uniq} command * Putting the tools together:: Putting the tools together Copying This Manual * GNU Free Documentation License:: Copying and sharing this manual @end detailmenu @end menu @node Introduction @chapter Introduction This manual is a work in progress: many sections make no attempt to explain basic concepts in a way suitable for novices. Thus, if you are interested, please get involved in improving this manual. The entire GNU community will benefit. @cindex POSIX The GNU utilities documented here are mostly compatible with the POSIX standard. @cindex bugs, reporting Please report bugs to @email{bug-coreutils@@gnu.org}. Remember to include the version number, machine architecture, input files, and any other information needed to reproduce the bug: your input, what you expected, what you got, and why it is wrong. Diffs are welcome, but please include a description of the problem as well, since this is sometimes difficult to infer. @xref{Bugs, , , gcc, Using and Porting GNU CC}. @cindex Berry, K. @cindex Paterson, R. @cindex Stallman, R. @cindex Pinard, F. @cindex MacKenzie, D. @cindex Meyering, J. @cindex Youmans, B. This manual was originally derived from the Unix man pages in the distributions, which were written by David MacKenzie and updated by Jim Meyering. What you are reading now is the authoritative documentation for these utilities; the man pages are no longer being maintained. The original @command{fmt} man page was written by Ross Paterson. Fran@,{c}ois Pinard did the initial conversion to Texinfo format. Karl Berry did the indexing, some reorganization, and editing of the results. Brian Youmans of the Free Software Foundation office staff combined the manuals for textutils, fileutils, and sh-utils to produce the present omnibus manual. Richard Stallman contributed his usual invaluable insights to the overall process. @node Common options @chapter Common options @macro optBackup @item -b @itemx @w{@kbd{--backup}[=@var{method}]} @opindex -b @opindex --backup @vindex VERSION_CONTROL @cindex backups, making @xref{Backup options}. Make a backup of each file that would otherwise be overwritten or removed. @end macro @macro optBackupSuffix @item -S @var{suffix} @itemx --suffix=@var{suffix} @opindex -S @opindex --suffix Append @var{suffix} to each backup file made with @option{-b}. @xref{Backup options}. @end macro @macro optTargetDirectory @item -t @var{directory} @itemx @w{@kbd{--target-directory}=@var{directory}} @opindex -t @opindex --target-directory @cindex target directory @cindex destination directory Specify the destination @var{directory}. @xref{Target directory}. @end macro @macro optNoTargetDirectory @item -T @itemx --no-target-directory @opindex -T @opindex --no-target-directory @cindex target directory @cindex destination directory Do not treat the last operand specially when it is a directory or a symbolic link to a directory. @xref{Target directory}. @end macro @macro optNull{cmd} @item -0 @opindex -0 @itemx --null @opindex --null @cindex output NUL-byte-terminated lines Output a zero byte (ASCII NUL) at the end of each line, rather than a newline. This option enables other programs to parse the output of @command{\cmd\} even when that output would contain data with embedded newlines. @end macro @macro optSi @item --si @opindex --si @cindex SI output Append an SI-style abbreviation to each size, such as @samp{M} for megabytes. Powers of 1000 are used, not 1024; @samp{M} stands for 1,000,000 bytes. This option is equivalent to @option{--block-size=si}. Use the @option{-h} or @option{--human-readable} option if you prefer powers of 1024. @end macro @macro optHumanReadable @item -h @itemx --human-readable @opindex -h @opindex --human-readable @cindex human-readable output Append a size letter to each size, such as @samp{M} for mebibytes. Powers of 1024 are used, not 1000; @samp{M} stands for 1,048,576 bytes. This option is equivalent to @option{--block-size=human-readable}. Use the @option{--si} option if you prefer powers of 1000. @end macro @macro optStripTrailingSlashes @item @w{@kbd{--strip-trailing-slashes}} @opindex --strip-trailing-slashes @cindex stripping trailing slashes Remove any trailing slashes from each @var{source} argument. @xref{Trailing slashes}. @end macro @macro mayConflictWithShellBuiltIn{cmd} @cindex conflicts with shell built-ins @cindex built-in shell commands, conflicts with Due to shell aliases and built-in @command{\cmd\} functions, using an unadorned @command{\cmd\} interactively or in a script may get you different functionality than that described here. Invoke it via @command{env} (i.e., @code{env \cmd\ @dots{}}) to avoid interference from the shell. @end macro @macro multiplierSuffixes{varName} @var{\varName\} may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: @example @samp{b} => 512 ("blocks") @samp{KB} => 1000 (KiloBytes) @samp{K} => 1024 (KibiBytes) @samp{MB} => 1000*1000 (MegaBytes) @samp{M} => 1024*1024 (MebiBytes) @samp{GB} => 1000*1000*1000 (GigaBytes) @samp{G} => 1024*1024*1024 (GibiBytes) @end example and so on for @samp{T}, @samp{P}, @samp{E}, @samp{Z}, and @samp{Y}. @end macro @c FIXME: same as above, but no ``blocks'' line. @macro multiplierSuffixesNoBlocks{varName} @var{\varName\} may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: @example @samp{KB} => 1000 (KiloBytes) @samp{K} => 1024 (KibiBytes) @samp{MB} => 1000*1000 (MegaBytes) @samp{M} => 1024*1024 (MebiBytes) @samp{GB} => 1000*1000*1000 (GigaBytes) @samp{G} => 1024*1024*1024 (GibiBytes) @end example and so on for @samp{T}, @samp{P}, @samp{E}, @samp{Z}, and @samp{Y}. @end macro @cindex common options Certain options are available in all of these programs. Rather than writing identical descriptions for each of the programs, they are described here. (In fact, every GNU program accepts (or should accept) these options.) @vindex POSIXLY_CORRECT Normally options and operands can appear in any order, and programs act as if all the options appear before any operands. For example, @samp{sort -r passwd -t :} acts like @samp{sort -r -t : passwd}, since @samp{:} is an option-argument of @option{-t}. However, if the @env{POSIXLY_CORRECT} environment variable is set, options must appear before operands, unless otherwise specified for a particular command. A few programs can usefully have trailing operands with leading @samp{-}. With such a program, options must precede operands even if @env{POSIXLY_CORRECT} is not set, and this fact is noted in the program description. For example, the @command{env} command's options must appear before its operands, since in some cases the operands specify a command that itself contains options. Most programs that accept long options recognize unambiguous abbreviations of those options. For example, @samp{rmdir --ignore-fail-on-non-empty} can be invoked as @samp{rmdir --ignore-fail} or even @samp{rmdir --i}. Ambiguous options, such as @samp{ls --h}, are identified as such. Some of these programs recognize the @option{--help} and @option{--version} options only when one of them is the sole command line argument. For these programs, abbreviations of the long options are not always recognized. @table @samp @item --help @opindex --help @cindex help, online Print a usage message listing all available options, then exit successfully. @item --version @opindex --version @cindex version number, finding Print the version number, then exit successfully. @item -- @opindex -- @cindex option delimiter Delimit the option list. Later arguments, if any, are treated as operands even if they begin with @samp{-}. For example, @samp{sort -- -r} reads from the file named @file{-r}. @end table @cindex standard input @cindex standard output A single @samp{-} operand is not really an option, though it looks like one. It stands for standard input, or for standard output if that is clear from the context. For example, @samp{sort -} reads from standard input, and is equivalent to plain @samp{sort}, and @samp{tee -} writes an extra copy of its input to standard output. Unless otherwise specified, @samp{-} can appear as any operand that requires a file name. @menu * Exit status:: Indicating program success or failure. * Backup options:: -b -S, in some programs. * Block size:: BLOCK_SIZE and --block-size, in some programs. * Floating point:: Floating point number representation. * Signal specifications:: Specifying signals using the --signal option. * Disambiguating names and IDs:: chgrp and chown owner and group syntax * Random sources:: --random-source, in some programs. * Target directory:: Specifying a target directory, in some programs. * Trailing slashes:: --strip-trailing-slashes, in some programs. * Traversing symlinks:: -H, -L, or -P, in some programs. * Treating / specially:: --preserve-root and --no-preserve-root. * Special built-in utilities:: @command{break}, @command{:}, @dots{} * Standards conformance:: Conformance to the POSIX standard. @end menu @node Exit status @section Exit status @macro exitstatus An exit status of zero indicates success, and a nonzero value indicates failure. @end macro Nearly every command invocation yields an integral @dfn{exit status} that can be used to change how other commands work. For the vast majority of commands, an exit status of zero indicates success. Failure is indicated by a nonzero value---typically @samp{1}, though it may differ on unusual platforms as POSIX requires only that it be nonzero. However, some of the programs documented here do produce other exit status values and a few associate different meanings with the values @samp{0} and @samp{1}. Here are some of the exceptions: @command{chroot}, @command{env}, @command{expr}, @command{nice}, @command{nohup}, @command{numfmt}, @command{printenv}, @command{sort}, @command{stdbuf}, @command{test}, @command{timeout}, @command{tty}. @node Backup options @section Backup options @cindex backup options Some GNU programs (at least @command{cp}, @command{install}, @command{ln}, and @command{mv}) optionally make backups of files before writing new versions. These options control the details of these backups. The options are also briefly mentioned in the descriptions of the particular programs. @table @samp @item -b @itemx @w{@kbd{--backup}[=@var{method}]} @opindex -b @opindex --backup @vindex VERSION_CONTROL @cindex backups, making Make a backup of each file that would otherwise be overwritten or removed. Without this option, the original versions are destroyed. Use @var{method} to determine the type of backups to make. When this option is used but @var{method} is not specified, then the value of the @env{VERSION_CONTROL} environment variable is used. And if @env{VERSION_CONTROL} is not set, the default backup type is @samp{existing}. Note that the short form of this option, @option{-b} does not accept any argument. Using @option{-b} is equivalent to using @option{--backup=existing}. @vindex version-control @r{Emacs variable} This option corresponds to the Emacs variable @samp{version-control}; the values for @var{method} are the same as those used in Emacs. This option also accepts more descriptive names. The valid @var{method}s are (unique abbreviations are accepted): @table @samp @item none @itemx off @opindex none @r{backup method} Never make backups. @item numbered @itemx t @opindex numbered @r{backup method} Always make numbered backups. @item existing @itemx nil @opindex existing @r{backup method} Make numbered backups of files that already have them, simple backups of the others. @item simple @itemx never @opindex simple @r{backup method} Always make simple backups. Please note @samp{never} is not to be confused with @samp{none}. @end table @item -S @var{suffix} @itemx --suffix=@var{suffix} @opindex -S @opindex --suffix @cindex backup suffix @vindex SIMPLE_BACKUP_SUFFIX Append @var{suffix} to each backup file made with @option{-b}. If this option is not specified, the value of the @env{SIMPLE_BACKUP_SUFFIX} environment variable is used. And if @env{SIMPLE_BACKUP_SUFFIX} is not set, the default is @samp{~}, just as in Emacs. @end table @node Block size @section Block size @cindex block size Some GNU programs (at least @command{df}, @command{du}, and @command{ls}) display sizes in ``blocks''. You can adjust the block size and method of display to make sizes easier to read. The block size used for display is independent of any file system block size. Fractional block counts are rounded up to the nearest integer. @opindex --block-size=@var{size} @vindex BLOCKSIZE @vindex BLOCK_SIZE @vindex DF_BLOCK_SIZE @vindex DU_BLOCK_SIZE @vindex LS_BLOCK_SIZE @vindex POSIXLY_CORRECT@r{, and block size} The default block size is chosen by examining the following environment variables in turn; the first one that is set determines the block size. @table @code @item DF_BLOCK_SIZE This specifies the default block size for the @command{df} command. Similarly, @env{DU_BLOCK_SIZE} specifies the default for @command{du} and @env{LS_BLOCK_SIZE} for @command{ls}. @item BLOCK_SIZE This specifies the default block size for all three commands, if the above command-specific environment variables are not set. @item BLOCKSIZE This specifies the default block size for all values that are normally printed as blocks, if neither @env{BLOCK_SIZE} nor the above command-specific environment variables are set. Unlike the other environment variables, @env{BLOCKSIZE} does not affect values that are normally printed as byte counts, e.g., the file sizes contained in @code{ls -l} output. @item POSIXLY_CORRECT If neither @env{@var{command}_BLOCK_SIZE}, nor @env{BLOCK_SIZE}, nor @env{BLOCKSIZE} is set, but this variable is set, the block size defaults to 512. @end table If none of the above environment variables are set, the block size currently defaults to 1024 bytes in most contexts, but this number may change in the future. For @command{ls} file sizes, the block size defaults to 1 byte. @cindex human-readable output @cindex SI output A block size specification can be a positive integer specifying the number of bytes per block, or it can be @code{human-readable} or @code{si} to select a human-readable format. Integers may be followed by suffixes that are upward compatible with the @uref{http://www.bipm.org/en/si/si_brochure/chapter3/prefixes.html, SI prefixes} for decimal multiples and with the @uref{http://physics.nist.gov/cuu/Units/binary.html, ISO/IEC 80000-13 (formerly IEC 60027-2) prefixes} for binary multiples. With human-readable formats, output sizes are followed by a size letter such as @samp{M} for megabytes. @code{BLOCK_SIZE=human-readable} uses powers of 1024; @samp{M} stands for 1,048,576 bytes. @code{BLOCK_SIZE=si} is similar, but uses powers of 1000 and appends @samp{B}; @samp{MB} stands for 1,000,000 bytes. @vindex LC_NUMERIC A block size specification preceded by @samp{'} causes output sizes to be displayed with thousands separators. The @env{LC_NUMERIC} locale specifies the thousands separator and grouping. For example, in an American English locale, @samp{--block-size="'1kB"} would cause a size of 1234000 bytes to be displayed as @samp{1,234}. In the default C locale, there is no thousands separator so a leading @samp{'} has no effect. An integer block size can be followed by a suffix to specify a multiple of that size. A bare size letter, or one followed by @samp{iB}, specifies a multiple using powers of 1024. A size letter followed by @samp{B} specifies powers of 1000 instead. For example, @samp{1M} and @samp{1MiB} are equivalent to @samp{1048576}, whereas @samp{1MB} is equivalent to @samp{1000000}. A plain suffix without a preceding integer acts as if @samp{1} were prepended, except that it causes a size indication to be appended to the output. For example, @samp{--block-size="kB"} displays 3000 as @samp{3kB}. The following suffixes are defined. Large sizes like @code{1Y} may be rejected by your computer due to limitations of its arithmetic. @table @samp @item kB @cindex kilobyte, definition of kilobyte: @math{10^3 = 1000}. @item k @itemx K @itemx KiB @cindex kibibyte, definition of kibibyte: @math{2^{10} = 1024}. @samp{K} is special: the SI prefix is @samp{k} and the ISO/IEC 80000-13 prefix is @samp{Ki}, but tradition and POSIX use @samp{k} to mean @samp{KiB}. @item MB @cindex megabyte, definition of megabyte: @math{10^6 = 1,000,000}. @item M @itemx MiB @cindex mebibyte, definition of mebibyte: @math{2^{20} = 1,048,576}. @item GB @cindex gigabyte, definition of gigabyte: @math{10^9 = 1,000,000,000}. @item G @itemx GiB @cindex gibibyte, definition of gibibyte: @math{2^{30} = 1,073,741,824}. @item TB @cindex terabyte, definition of terabyte: @math{10^{12} = 1,000,000,000,000}. @item T @itemx TiB @cindex tebibyte, definition of tebibyte: @math{2^{40} = 1,099,511,627,776}. @item PB @cindex petabyte, definition of petabyte: @math{10^{15} = 1,000,000,000,000,000}. @item P @itemx PiB @cindex pebibyte, definition of pebibyte: @math{2^{50} = 1,125,899,906,842,624}. @item EB @cindex exabyte, definition of exabyte: @math{10^{18} = 1,000,000,000,000,000,000}. @item E @itemx EiB @cindex exbibyte, definition of exbibyte: @math{2^{60} = 1,152,921,504,606,846,976}. @item ZB @cindex zettabyte, definition of zettabyte: @math{10^{21} = 1,000,000,000,000,000,000,000} @item Z @itemx ZiB @math{2^{70} = 1,180,591,620,717,411,303,424}. @item YB @cindex yottabyte, definition of yottabyte: @math{10^{24} = 1,000,000,000,000,000,000,000,000}. @item Y @itemx YiB @math{2^{80} = 1,208,925,819,614,629,174,706,176}. @end table @opindex -k @opindex -h @opindex --block-size @opindex --human-readable @opindex --si Block size defaults can be overridden by an explicit @option{--block-size=@var{size}} option. The @option{-k} option is equivalent to @option{--block-size=1K}, which is the default unless the @env{POSIXLY_CORRECT} environment variable is set. The @option{-h} or @option{--human-readable} option is equivalent to @option{--block-size=human-readable}. The @option{--si} option is equivalent to @option{--block-size=si}. @node Floating point @section Floating point numbers @cindex floating point @cindex IEEE floating point Commands that accept or produce floating point numbers employ the floating point representation of the underlying system, and suffer from rounding error, overflow, and similar floating-point issues. Almost all modern systems use IEEE-754 floating point, and it is typically portable to assume IEEE-754 behavior these days. IEEE-754 has positive and negative infinity, distinguishes positive from negative zero, and uses special values called NaNs to represent invalid computations such as dividing zero by itself. For more information, please see David Goldberg's paper @uref{http://@/www.validlab.com/@/goldberg/@/paper.pdf, What Every Computer Scientist Should Know About Floating-Point Arithmetic}. @vindex LC_NUMERIC Commands that accept floating point numbers as options, operands or input use the standard C functions @code{strtod} and @code{strtold} to convert from text to floating point numbers. These floating point numbers therefore can use scientific notation like @code{1.0e-34} and @code{-10e100}. Modern C implementations also accept hexadecimal floating point numbers such as @code{-0x.ep-3}, which stands for @minus{}14/16 times @math{2^-3}, which equals @minus{}0.109375. The @env{LC_NUMERIC} locale determines the decimal-point character. @xref{Parsing of Floats,,, libc, The GNU C Library Reference Manual}. @node Signal specifications @section Signal specifications @cindex signals, specifying A @var{signal} may be a signal name like @samp{HUP}, or a signal number like @samp{1}, or an exit status of a process terminated by the signal. A signal name can be given in canonical form or prefixed by @samp{SIG}@. The case of the letters is ignored. The following signal names and numbers are supported on all POSIX compliant systems: @table @samp @item HUP 1. Hangup. @item INT 2. Terminal interrupt. @item QUIT 3. Terminal quit. @item ABRT 6. Process abort. @item KILL 9. Kill (cannot be caught or ignored). @item ALRM 14. Alarm Clock. @item TERM 15. Termination. @end table @noindent Other supported signal names have system-dependent corresponding numbers. All systems conforming to POSIX 1003.1-2001 also support the following signals: @table @samp @item BUS Access to an undefined portion of a memory object. @item CHLD Child process terminated, stopped, or continued. @item CONT Continue executing, if stopped. @item FPE Erroneous arithmetic operation. @item ILL Illegal Instruction. @item PIPE Write on a pipe with no one to read it. @item SEGV Invalid memory reference. @item STOP Stop executing (cannot be caught or ignored). @item TSTP Terminal stop. @item TTIN Background process attempting read. @item TTOU Background process attempting write. @item URG High bandwidth data is available at a socket. @item USR1 User-defined signal 1. @item USR2 User-defined signal 2. @end table @noindent POSIX 1003.1-2001 systems that support the XSI extension also support the following signals: @table @samp @item POLL Pollable event. @item PROF Profiling timer expired. @item SYS Bad system call. @item TRAP Trace/breakpoint trap. @item VTALRM Virtual timer expired. @item XCPU CPU time limit exceeded. @item XFSZ File size limit exceeded. @end table @noindent POSIX 1003.1-2001 systems that support the XRT extension also support at least eight real-time signals called @samp{RTMIN}, @samp{RTMIN+1}, @dots{}, @samp{RTMAX-1}, @samp{RTMAX}. @node Disambiguating names and IDs @section chown and chgrp: Disambiguating user names and IDs @cindex user names, disambiguating @cindex user IDs, disambiguating @cindex group names, disambiguating @cindex group IDs, disambiguating @cindex disambiguating group names and IDs Since the @var{owner} and @var{group} arguments to @command{chown} and @command{chgrp} may be specified as names or numeric IDs, there is an apparent ambiguity. What if a user or group @emph{name} is a string of digits? @footnote{Using a number as a user name is common in some environments.} Should the command interpret it as a user name or as an ID@? POSIX requires that @command{chown} and @command{chgrp} first attempt to resolve the specified string as a name, and only once that fails, then try to interpret it as an ID@. This is troublesome when you want to specify a numeric ID, say 42, and it must work even in a pathological situation where @samp{42} is a user name that maps to some other user ID, say 1000. Simply invoking @code{chown 42 F}, will set @file{F}s owner ID to 1000---not what you intended. GNU @command{chown} and @command{chgrp} provide a way to work around this, that at the same time may result in a significant performance improvement by eliminating a database look-up. Simply precede each numeric user ID and/or group ID with a @samp{+}, in order to force its interpretation as an integer: @example chown +42 F chgrp +$numeric_group_id another-file chown +0:+0 / @end example GNU @command{chown} and @command{chgrp} skip the name look-up process for each @samp{+}-prefixed string, because a string containing @samp{+} is never a valid user or group name. This syntax is accepted on most common Unix systems, but not on Solaris 10. @node Random sources @section Sources of random data @cindex random sources The @command{shuf}, @command{shred}, and @command{sort} commands sometimes need random data to do their work. For example, @samp{sort -R} must choose a hash function at random, and it needs random data to make this selection. By default these commands use an internal pseudorandom generator initialized by a small amount of entropy, but can be directed to use an external source with the @option{--random-source=@var{file}} option. An error is reported if @var{file} does not contain enough bytes. For example, the device file @file{/dev/urandom} could be used as the source of random data. Typically, this device gathers environmental noise from device drivers and other sources into an entropy pool, and uses the pool to generate random bits. If the pool is short of data, the device reuses the internal pool to produce more bits, using a cryptographically secure pseudorandom number generator. But be aware that this device is not designed for bulk random data generation and is relatively slow. @file{/dev/urandom} suffices for most practical uses, but applications requiring high-value or long-term protection of private data may require an alternate data source like @file{/dev/random} or @file{/dev/arandom}. The set of available sources depends on your operating system. To reproduce the results of an earlier invocation of a command, you can save some random data into a file and then use that file as the random source in earlier and later invocations of the command. @node Target directory @section Target directory @cindex target directory The @command{cp}, @command{install}, @command{ln}, and @command{mv} commands normally treat the last operand specially when it is a directory or a symbolic link to a directory. For example, @samp{cp source dest} is equivalent to @samp{cp source dest/source} if @file{dest} is a directory. Sometimes this behavior is not exactly what is wanted, so these commands support the following options to allow more fine-grained control: @table @samp @item -T @itemx --no-target-directory @opindex --no-target-directory @cindex target directory @cindex destination directory Do not treat the last operand specially when it is a directory or a symbolic link to a directory. This can help avoid race conditions in programs that operate in a shared area. For example, when the command @samp{mv /tmp/source /tmp/dest} succeeds, there is no guarantee that @file{/tmp/source} was renamed to @file{/tmp/dest}: it could have been renamed to @file{/tmp/dest/source} instead, if some other process created @file{/tmp/dest} as a directory. However, if @file{mv -T /tmp/source /tmp/dest} succeeds, there is no question that @file{/tmp/source} was renamed to @file{/tmp/dest}. In the opposite situation, where you want the last operand to be treated as a directory and want a diagnostic otherwise, you can use the @option{--target-directory} (@option{-t}) option. @item -t @var{directory} @itemx @w{@kbd{--target-directory}=@var{directory}} @opindex --target-directory @cindex target directory @cindex destination directory Use @var{directory} as the directory component of each destination file name. The interface for most programs is that after processing options and a finite (possibly zero) number of fixed-position arguments, the remaining argument list is either expected to be empty, or is a list of items (usually files) that will all be handled identically. The @command{xargs} program is designed to work well with this convention. The commands in the @command{mv}-family are unusual in that they take a variable number of arguments with a special case at the @emph{end} (namely, the target directory). This makes it nontrivial to perform some operations, e.g., ``move all files from here to ../d/'', because @code{mv * ../d/} might exhaust the argument space, and @code{ls | xargs ...} doesn't have a clean way to specify an extra final argument for each invocation of the subject command. (It can be done by going through a shell command, but that requires more human labor and brain power than it should.) The @w{@kbd{--target-directory}} (@option{-t}) option allows the @command{cp}, @command{install}, @command{ln}, and @command{mv} programs to be used conveniently with @command{xargs}. For example, you can move the files from the current directory to a sibling directory, @code{d} like this: @smallexample ls | xargs mv -t ../d -- @end smallexample However, this doesn't move files whose names begin with @samp{.}. If you use the GNU @command{find} program, you can move those files too, with this command: @example find . -mindepth 1 -maxdepth 1 \ | xargs mv -t ../d @end example But both of the above approaches fail if there are no files in the current directory, or if any file has a name containing a blank or some other special characters. The following example removes those limitations and requires both GNU @command{find} and GNU @command{xargs}: @example find . -mindepth 1 -maxdepth 1 -print0 \ | xargs --null --no-run-if-empty \ mv -t ../d @end example @end table @noindent The @option{--target-directory} (@option{-t}) and @option{--no-target-directory} (@option{-T}) options cannot be combined. @node Trailing slashes @section Trailing slashes @cindex trailing slashes Some GNU programs (at least @command{cp} and @command{mv}) allow you to remove any trailing slashes from each @var{source} argument before operating on it. The @w{@kbd{--strip-trailing-slashes}} option enables this behavior. This is useful when a @var{source} argument may have a trailing slash and @c FIXME: mv's behavior in this case is system-dependent specify a symbolic link to a directory. This scenario is in fact rather common because some shells can automatically append a trailing slash when performing file name completion on such symbolic links. Without this option, @command{mv}, for example, (via the system's rename function) must interpret a trailing slash as a request to dereference the symbolic link and so must rename the indirectly referenced @emph{directory} and not the symbolic link. Although it may seem surprising that such behavior be the default, it is required by POSIX and is consistent with other parts of that standard. @node Traversing symlinks @section Traversing symlinks @cindex symbolic link to directory, controlling traversal of The following options modify how @command{chown} and @command{chgrp} @c FIXME: note that 'du' has these options, too, but they have slightly @c different meaning. traverse a hierarchy when the @option{--recursive} (@option{-R}) option is also specified. If more than one of the following options is specified, only the final one takes effect. These options specify whether processing a symbolic link to a directory entails operating on just the symbolic link or on all files in the hierarchy rooted at that directory. These options are independent of @option{--dereference} and @option{--no-dereference} (@option{-h}), which control whether to modify a symlink or its referent. @table @samp @macro choptH @item -H @opindex -H @cindex symbolic link to directory, traverse if on the command line If @option{--recursive} (@option{-R}) is specified and a command line argument is a symbolic link to a directory, traverse it. @end macro @choptH @macro choptL @item -L @opindex -L @cindex symbolic link to directory, traverse each that is encountered In a recursive traversal, traverse every symbolic link to a directory that is encountered. @end macro @choptL @macro choptP @item -P @opindex -P @cindex symbolic link to directory, never traverse Do not traverse any symbolic links. This is the default if none of @option{-H}, @option{-L}, or @option{-P} is specified. @end macro @choptP @end table @node Treating / specially @section Treating @file{/} specially Certain commands can operate destructively on entire hierarchies. For example, if a user with appropriate privileges mistakenly runs @samp{rm -rf / tmp/junk}, that may remove all files on the entire system. Since there are so few legitimate uses for such a command, GNU @command{rm} normally declines to operate on any directory that resolves to @file{/}. If you really want to try to remove all the files on your system, you can use the @option{--no-preserve-root} option, but the default behavior, specified by the @option{--preserve-root} option, is safer for most purposes. The commands @command{chgrp}, @command{chmod} and @command{chown} can also operate destructively on entire hierarchies, so they too support these options. Although, unlike @command{rm}, they don't actually unlink files, these commands are arguably more dangerous when operating recursively on @file{/}, since they often work much more quickly, and hence damage more files before an alert user can interrupt them. Tradition and POSIX require these commands to operate recursively on @file{/}, so they default to @option{--no-preserve-root}, but using the @option{--preserve-root} option makes them safer for most purposes. For convenience you can specify @option{--preserve-root} in an alias or in a shell function. Note that the @option{--preserve-root} option also ensures that @command{chgrp} and @command{chown} do not modify @file{/} even when dereferencing a symlink pointing to @file{/}. @node Special built-in utilities @section Special built-in utilities Some programs like @command{nice} can invoke other programs; for example, the command @samp{nice cat file} invokes the program @command{cat} by executing the command @samp{cat file}. However, @dfn{special built-in utilities} like @command{exit} cannot be invoked this way. For example, the command @samp{nice exit} does not have a well-defined behavior: it may generate an error message instead of exiting. Here is a list of the special built-in utilities that are standardized by POSIX 1003.1-2004. @quotation @t{.@: : break continue eval exec exit export readonly return set shift times trap unset} @end quotation For example, because @samp{.}, @samp{:}, and @samp{exec} are special, the commands @samp{nice . foo.sh}, @samp{nice :}, and @samp{nice exec pwd} do not work as you might expect. Many shells extend this list. For example, Bash has several extra special built-in utilities like @command{history}, and @command{suspend}, and with Bash the command @samp{nice suspend} generates an error message instead of suspending. @node Standards conformance @section Standards conformance @vindex POSIXLY_CORRECT In a few cases, the GNU utilities' default behavior is incompatible with the POSIX standard. To suppress these incompatibilities, define the @env{POSIXLY_CORRECT} environment variable. Unless you are checking for POSIX conformance, you probably do not need to define @env{POSIXLY_CORRECT}. Newer versions of POSIX are occasionally incompatible with older versions. For example, older versions of POSIX required the command @samp{sort +1} to sort based on the second and succeeding fields in each input line, but starting with POSIX 1003.1-2001 the same command is required to sort the file named @file{+1}, and you must instead use the command @samp{sort -k 2} to get the field-based sort. @vindex _POSIX2_VERSION The GNU utilities normally conform to the version of POSIX that is standard for your system. To cause them to conform to a different version of POSIX, define the @env{_POSIX2_VERSION} environment variable to a value of the form @var{yyyymm} specifying the year and month the standard was adopted. Three values are currently supported for @env{_POSIX2_VERSION}: @samp{199209} stands for POSIX 1003.2-1992, @samp{200112} stands for POSIX 1003.1-2001, and @samp{200809} stands for POSIX 1003.1-2008. For example, if you have a newer system but are running software that assumes an older version of POSIX and uses @samp{sort +1} or @samp{tail +10}, you can work around any compatibility problems by setting @samp{_POSIX2_VERSION=199209} in your environment. @node Output of entire files @chapter Output of entire files @cindex output of entire files @cindex entire files, output of These commands read and write entire files, possibly transforming them in some way. @menu * cat invocation:: Concatenate and write files. * tac invocation:: Concatenate and write files in reverse. * nl invocation:: Number lines and write files. * od invocation:: Write files in octal or other formats. * base64 invocation:: Transform data into printable data. @end menu @node cat invocation @section @command{cat}: Concatenate and write files @pindex cat @cindex concatenate and write files @cindex copying files @command{cat} copies each @var{file} (@samp{-} means standard input), or standard input if none are given, to standard output. Synopsis: @example cat [@var{option}] [@var{file}]@dots{} @end example The program accepts the following options. Also see @ref{Common options}. @table @samp @item -A @itemx --show-all @opindex -A @opindex --show-all Equivalent to @option{-vET}. @item -b @itemx --number-nonblank @opindex -b @opindex --number-nonblank Number all nonempty output lines, starting with 1. @item -e @opindex -e Equivalent to @option{-vE}. @item -E @itemx --show-ends @opindex -E @opindex --show-ends Display a @samp{$} after the end of each line. @item -n @itemx --number @opindex -n @opindex --number Number all output lines, starting with 1. This option is ignored if @option{-b} is in effect. @item -s @itemx --squeeze-blank @opindex -s @opindex --squeeze-blank @cindex squeezing empty lines Suppress repeated adjacent empty lines; output just one empty line instead of several. @item -t @opindex -t Equivalent to @option{-vT}. @item -T @itemx --show-tabs @opindex -T @opindex --show-tabs Display TAB characters as @samp{^I}. @item -u @opindex -u Ignored; for POSIX compatibility. @item -v @itemx --show-nonprinting @opindex -v @opindex --show-nonprinting Display control characters except for LFD and TAB using @samp{^} notation and precede characters that have the high bit set with @samp{M-}. @end table On systems like MS-DOS that distinguish between text and binary files, @command{cat} normally reads and writes in binary mode. However, @command{cat} reads in text mode if one of the options @option{-bensAE} is used or if @command{cat} is reading from standard input and standard input is a terminal. Similarly, @command{cat} writes in text mode if one of the options @option{-bensAE} is used or if standard output is a terminal. @exitstatus Examples: @smallexample # Output f's contents, then standard input, then g's contents. cat f - g # Copy standard input to standard output. cat @end smallexample @node tac invocation @section @command{tac}: Concatenate and write files in reverse @pindex tac @cindex reversing files @command{tac} copies each @var{file} (@samp{-} means standard input), or standard input if none are given, to standard output, reversing the records (lines by default) in each separately. Synopsis: @example tac [@var{option}]@dots{} [@var{file}]@dots{} @end example @dfn{Records} are separated by instances of a string (newline by default). By default, this separator string is attached to the end of the record that it follows in the file. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -b @itemx --before @opindex -b @opindex --before The separator is attached to the beginning of the record that it precedes in the file. @item -r @itemx --regex @opindex -r @opindex --regex Treat the separator string as a regular expression. @item -s @var{separator} @itemx --separator=@var{separator} @opindex -s @opindex --separator Use @var{separator} as the record separator, instead of newline. @end table On systems like MS-DOS that distinguish between text and binary files, @command{tac} reads and writes in binary mode. @exitstatus Example: @example # Reverse a file character by character. tac -r -s 'x\|[^x]' @end example @node nl invocation @section @command{nl}: Number lines and write files @pindex nl @cindex numbering lines @cindex line numbering @command{nl} writes each @var{file} (@samp{-} means standard input), or standard input if none are given, to standard output, with line numbers added to some or all of the lines. Synopsis: @example nl [@var{option}]@dots{} [@var{file}]@dots{} @end example @cindex logical pages, numbering on @command{nl} decomposes its input into (logical) pages; by default, the line number is reset to 1 at the top of each logical page. @command{nl} treats all of the input files as a single document; it does not reset line numbers or logical pages between files. @cindex headers, numbering @cindex body, numbering @cindex footers, numbering A logical page consists of three sections: header, body, and footer. Any of the sections can be empty. Each can be numbered in a different style from the others. The beginnings of the sections of logical pages are indicated in the input file by a line containing exactly one of these delimiter strings: @table @samp @item \:\:\: start of header; @item \:\: start of body; @item \: start of footer. @end table The two characters from which these strings are made can be changed from @samp{\} and @samp{:} via options (see below), but the pattern and length of each string cannot be changed. A section delimiter is replaced by an empty line on output. Any text that comes before the first section delimiter string in the input file is considered to be part of a body section, so @command{nl} treats a file that contains no section delimiters as a single body section. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -b @var{style} @itemx --body-numbering=@var{style} @opindex -b @opindex --body-numbering Select the numbering style for lines in the body section of each logical page. When a line is not numbered, the current line number is not incremented, but the line number separator character is still prepended to the line. The styles are: @table @samp @item a number all lines, @item t number only nonempty lines (default for body), @item n do not number lines (default for header and footer), @item p@var{bre} number only lines that contain a match for the basic regular expression @var{bre}. @xref{Regular Expressions, , Regular Expressions, grep, The GNU Grep Manual}. @end table @item -d @var{cd} @itemx --section-delimiter=@var{cd} @opindex -d @opindex --section-delimiter @cindex section delimiters of pages Set the section delimiter characters to @var{cd}; default is @samp{\:}. If only @var{c} is given, the second remains @samp{:}. (Remember to protect @samp{\} or other metacharacters from shell expansion with quotes or extra backslashes.) @item -f @var{style} @itemx --footer-numbering=@var{style} @opindex -f @opindex --footer-numbering Analogous to @option{--body-numbering}. @item -h @var{style} @itemx --header-numbering=@var{style} @opindex -h @opindex --header-numbering Analogous to @option{--body-numbering}. @item -i @var{number} @itemx --line-increment=@var{number} @opindex -i @opindex --line-increment Increment line numbers by @var{number} (default 1). @item -l @var{number} @itemx --join-blank-lines=@var{number} @opindex -l @opindex --join-blank-lines @cindex empty lines, numbering @cindex blank lines, numbering Consider @var{number} (default 1) consecutive empty lines to be one logical line for numbering, and only number the last one. Where fewer than @var{number} consecutive empty lines occur, do not number them. An empty line is one that contains no characters, not even spaces or tabs. @item -n @var{format} @itemx --number-format=@var{format} @opindex -n @opindex --number-format Select the line numbering format (default is @code{rn}): @table @samp @item ln @opindex ln @r{format for @command{nl}} left justified, no leading zeros; @item rn @opindex rn @r{format for @command{nl}} right justified, no leading zeros; @item rz @opindex rz @r{format for @command{nl}} right justified, leading zeros. @end table @item -p @itemx --no-renumber @opindex -p @opindex --no-renumber Do not reset the line number at the start of a logical page. @item -s @var{string} @itemx --number-separator=@var{string} @opindex -s @opindex --number-separator Separate the line number from the text line in the output with @var{string} (default is the TAB character). @item -v @var{number} @itemx --starting-line-number=@var{number} @opindex -v @opindex --starting-line-number Set the initial line number on each logical page to @var{number} (default 1). @item -w @var{number} @itemx --number-width=@var{number} @opindex -w @opindex --number-width Use @var{number} characters for line numbers (default 6). @end table @exitstatus @node od invocation @section @command{od}: Write files in octal or other formats @pindex od @cindex octal dump of files @cindex hex dump of files @cindex ASCII dump of files @cindex file contents, dumping unambiguously @command{od} writes an unambiguous representation of each @var{file} (@samp{-} means standard input), or standard input if none are given. Synopses: @smallexample od [@var{option}]@dots{} [@var{file}]@dots{} od [-abcdfilosx]@dots{} [@var{file}] [[+]@var{offset}[.][b]] od [@var{option}]@dots{} --traditional [@var{file}]@c [[+]@var{offset}[.][b] [[+]@var{label}[.][b]]] @end smallexample Each line of output consists of the offset in the input, followed by groups of data from the file. By default, @command{od} prints the offset in octal, and each group of file data is a C @code{short int}'s worth of input printed as a single octal number. If @var{offset} is given, it specifies how many input bytes to skip before formatting and writing. By default, it is interpreted as an octal number, but the optional trailing decimal point causes it to be interpreted as decimal. If no decimal is specified and the offset begins with @samp{0x} or @samp{0X} it is interpreted as a hexadecimal number. If there is a trailing @samp{b}, the number of bytes skipped will be @var{offset} multiplied by 512. If a command is of both the first and second forms, the second form is assumed if the last operand begins with @samp{+} or (if there are two operands) a digit. For example, in @samp{od foo 10} and @samp{od +10} the @samp{10} is an offset, whereas in @samp{od 10} the @samp{10} is a file name. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -A @var{radix} @itemx --address-radix=@var{radix} @opindex -A @opindex --address-radix @cindex radix for file offsets @cindex file offset radix Select the base in which file offsets are printed. @var{radix} can be one of the following: @table @samp @item d decimal; @item o octal; @item x hexadecimal; @item n none (do not print offsets). @end table The default is octal. @item -j @var{bytes} @itemx --skip-bytes=@var{bytes} @opindex -j @opindex --skip-bytes Skip @var{bytes} input bytes before formatting and writing. If @var{bytes} begins with @samp{0x} or @samp{0X}, it is interpreted in hexadecimal; otherwise, if it begins with @samp{0}, in octal; otherwise, in decimal. @multiplierSuffixes{bytes} @item -N @var{bytes} @itemx --read-bytes=@var{bytes} @opindex -N @opindex --read-bytes Output at most @var{bytes} bytes of the input. Prefixes and suffixes on @code{bytes} are interpreted as for the @option{-j} option. @item -S @var{bytes} @itemx --strings[=@var{bytes}] @opindex -S @opindex --strings @cindex string constants, outputting Instead of the normal output, output only @dfn{string constants}: at least @var{bytes} consecutive ASCII graphic characters, followed by a zero byte (ASCII NUL). Prefixes and suffixes on @var{bytes} are interpreted as for the @option{-j} option. If @var{bytes} is omitted with @option{--strings}, the default is 3. @item -t @var{type} @itemx --format=@var{type} @opindex -t @opindex --format Select the format in which to output the file data. @var{type} is a string of one or more of the below type indicator characters. If you include more than one type indicator character in a single @var{type} string, or use this option more than once, @command{od} writes one copy of each output line using each of the data types that you specified, in the order that you specified. Adding a trailing ``z'' to any type specification appends a display of the ASCII character representation of the printable characters to the output line generated by the type specification. @table @samp @item a named character, ignoring high-order bit @item c ASCII character or backslash escape, @item d signed decimal @item f floating point (@pxref{Floating point}) @item o octal @item u unsigned decimal @item x hexadecimal @end table The type @code{a} outputs things like @samp{sp} for space, @samp{nl} for newline, and @samp{nul} for a zero byte. Only the least significant seven bits of each byte is used; the high-order bit is ignored. Type @code{c} outputs @samp{ }, @samp{\n}, and @code{\0}, respectively. @cindex type size Except for types @samp{a} and @samp{c}, you can specify the number of bytes to use in interpreting each number in the given data type by following the type indicator character with a decimal integer. Alternately, you can specify the size of one of the C compiler's built-in data types by following the type indicator character with one of the following characters. For integers (@samp{d}, @samp{o}, @samp{u}, @samp{x}): @table @samp @item C char @item S short @item I int @item L long @end table For floating point (@code{f}): @table @asis @item F float @item D double @item L long double @end table @item -v @itemx --output-duplicates @opindex -v @opindex --output-duplicates Output consecutive lines that are identical. By default, when two or more consecutive output lines would be identical, @command{od} outputs only the first line, and puts just an asterisk on the following line to indicate the elision. @item -w[@var{n}] @itemx --width[=@var{n}] @opindex -w @opindex --width Dump @code{n} input bytes per output line. This must be a multiple of the least common multiple of the sizes associated with the specified output types. If this option is not given at all, the default is 16. If @var{n} is omitted, the default is 32. @end table The next several options are shorthands for format specifications. GNU @command{od} accepts any combination of shorthands and format specification options. These options accumulate. @table @samp @item -a @opindex -a Output as named characters. Equivalent to @samp{-t a}. @item -b @opindex -b Output as octal bytes. Equivalent to @samp{-t o1}. @item -c @opindex -c Output as ASCII characters or backslash escapes. Equivalent to @samp{-t c}. @item -d @opindex -d Output as unsigned decimal two-byte units. Equivalent to @samp{-t u2}. @item -f @opindex -f Output as floats. Equivalent to @samp{-t fF}. @item -i @opindex -i Output as decimal ints. Equivalent to @samp{-t dI}. @item -l @opindex -l Output as decimal long ints. Equivalent to @samp{-t dL}. @item -o @opindex -o Output as octal two-byte units. Equivalent to @option{-t o2}. @item -s @opindex -s Output as decimal two-byte units. Equivalent to @option{-t d2}. @item -x @opindex -x Output as hexadecimal two-byte units. Equivalent to @samp{-t x2}. @item --traditional @opindex --traditional Recognize the non-option label argument that traditional @command{od} accepted. The following syntax: @smallexample od --traditional [@var{file}] [[+]@var{offset}[.][b] [[+]@var{label}[.][b]]] @end smallexample @noindent can be used to specify at most one file and optional arguments specifying an offset and a pseudo-start address, @var{label}. The @var{label} argument is interpreted just like @var{offset}, but it specifies an initial pseudo-address. The pseudo-addresses are displayed in parentheses following any normal address. @end table @exitstatus @node base64 invocation @section @command{base64}: Transform data into printable data @pindex base64 @cindex base64 encoding @command{base64} transforms data read from a file, or standard input, into (or from) base64 encoded form. The base64 encoded form uses printable ASCII characters to represent binary data. Synopses: @smallexample base64 [@var{option}]@dots{} [@var{file}] base64 --decode [@var{option}]@dots{} [@var{file}] @end smallexample The base64 encoding expands data to roughly 133% of the original. The format conforms to @uref{ftp://ftp.rfc-editor.org/in-notes/rfc4648.txt, RFC 4648}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -w @var{cols} @itemx --wrap=@var{cols} @opindex -w @opindex --wrap @cindex wrap data @cindex column to wrap data after During encoding, wrap lines after @var{cols} characters. This must be a positive number. The default is to wrap after 76 characters. Use the value 0 to disable line wrapping altogether. @item -d @itemx --decode @opindex -d @opindex --decode @cindex Decode base64 data @cindex Base64 decoding Change the mode of operation, from the default of encoding data, to decoding data. Input is expected to be base64 encoded data, and the output will be the original data. @item -i @itemx --ignore-garbage @opindex -i @opindex --ignore-garbage @cindex Ignore garbage in base64 stream When decoding, newlines are always accepted. During decoding, ignore unrecognized bytes, to permit distorted data to be decoded. @end table @exitstatus @node Formatting file contents @chapter Formatting file contents @cindex formatting file contents These commands reformat the contents of files. @menu * fmt invocation:: Reformat paragraph text. * numfmt invocation:: Reformat numbers. * pr invocation:: Paginate or columnate files for printing. * fold invocation:: Wrap input lines to fit in specified width. @end menu @node fmt invocation @section @command{fmt}: Reformat paragraph text @pindex fmt @cindex reformatting paragraph text @cindex paragraphs, reformatting @cindex text, reformatting @command{fmt} fills and joins lines to produce output lines of (at most) a given number of characters (75 by default). Synopsis: @example fmt [@var{option}]@dots{} [@var{file}]@dots{} @end example @command{fmt} reads from the specified @var{file} arguments (or standard input if none are given), and writes to standard output. By default, blank lines, spaces between words, and indentation are preserved in the output; successive input lines with different indentation are not joined; tabs are expanded on input and introduced on output. @cindex line-breaking @cindex sentences and line-breaking @cindex Knuth, Donald E. @cindex Plass, Michael F. @command{fmt} prefers breaking lines at the end of a sentence, and tries to avoid line breaks after the first word of a sentence or before the last word of a sentence. A @dfn{sentence break} is defined as either the end of a paragraph or a word ending in any of @samp{.?!}, followed by two spaces or end of line, ignoring any intervening parentheses or quotes. Like @TeX{}, @command{fmt} reads entire ``paragraphs'' before choosing line breaks; the algorithm is a variant of that given by Donald E. Knuth and Michael F. Plass in ``Breaking Paragraphs Into Lines'', @cite{Software---Practice & Experience} @b{11}, 11 (November 1981), 1119--1184. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --crown-margin @opindex -c @opindex --crown-margin @cindex crown margin @dfn{Crown margin} mode: preserve the indentation of the first two lines within a paragraph, and align the left margin of each subsequent line with that of the second line. @item -t @itemx --tagged-paragraph @opindex -t @opindex --tagged-paragraph @cindex tagged paragraphs @dfn{Tagged paragraph} mode: like crown margin mode, except that if indentation of the first line of a paragraph is the same as the indentation of the second, the first line is treated as a one-line paragraph. @item -s @itemx --split-only @opindex -s @opindex --split-only Split lines only. Do not join short lines to form longer ones. This prevents sample lines of code, and other such ``formatted'' text from being unduly combined. @item -u @itemx --uniform-spacing @opindex -u @opindex --uniform-spacing Uniform spacing. Reduce spacing between words to one space, and spacing between sentences to two spaces. @item -@var{width} @itemx -w @var{width} @itemx --width=@var{width} @opindex -@var{width} @opindex -w @opindex --width Fill output lines up to @var{width} characters (default 75 or @var{goal} plus 10, if @var{goal} is provided). @item -g @var{goal} @itemx --goal=@var{goal} @opindex -g @opindex --goal @command{fmt} initially tries to make lines @var{goal} characters wide. By default, this is 7% shorter than @var{width}. @item -p @var{prefix} @itemx --prefix=@var{prefix} Only lines beginning with @var{prefix} (possibly preceded by whitespace) are subject to formatting. The prefix and any preceding whitespace are stripped for the formatting and then re-attached to each formatted output line. One use is to format certain kinds of program comments, while leaving the code unchanged. @end table @exitstatus @node numfmt invocation @section @command{numfmt}: Reformat numbers @pindex numfmt @command{numfmt} reads numbers in various representations and reformats them as requested. The most common usage is converting numbers to/from @emph{human} representation (e.g. @samp{4G} @expansion{} @samp{4,000,000,000}). @example numfmt [@var{option}]@dots{} [@var{number}] @end example @command{numfmt} converts each @var{number} on the command-line according to the specified options (see below). If no @var{number}s are given, it reads numbers from standard input. @command{numfmt} can optionally extract numbers from specific columns, maintaining proper line padding and alignment. @exitstatus See @option{--invalid} for additional information regarding exit status. @subsection General options The program accepts the following options. Also see @ref{Common options}. @table @samp @item --debug @opindex --debug Print (to standard error) warning messages about possible erroneous usage. @item -d @var{d} @itemx --delimiter=@var{d} @opindex -d @opindex --delimiter Use the character @var{d} as input field separator (default: whitespace). @emph{Note}: Using non-default delimiter turns off automatic padding. @item --field=@var{n} @opindex --field Convert the number in input field @var{n} (default: 1). @item --format=@var{format} @opindex --format Use printf-style floating FORMAT string. The @var{format} string must contain one @samp{%f} directive, optionally with @samp{'}, @samp{-}, or width modifiers. The @samp{'} modifier will enable @option{--grouping}, the @samp{-} modifier will enable left-aligned @option{--padding} and the width modifier will enable right-aligned @option{--padding}. @item --from=@var{unit} @opindex --from Auto-scales input numbers according to @var{unit}. See UNITS below. The default is no scaling, meaning suffixes (e.g. @samp{M}, @samp{G}) will trigger an error. @item --from-unit=@var{n} @opindex --from-unit Specify the input unit size (instead of the default 1). Use this option when the input numbers represent other units (e.g. if the input number @samp{10} represents 10 units of 512 bytes, use @samp{--from=unit=512}). @item --grouping @opindex --grouping Group digits in output numbers according to the current locale's grouping rules (e.g @emph{Thousands Separator} character, commonly @samp{.} (dot) or @samp{,} comma). This option has no effect in @samp{POSIX/C} locale. @item --header[=@var{n}] @opindex --header @opindex --header=N Print the first @var{n} (default: 1) lines without any conversion. @item --invalid=@var{mode} @opindex --invalid The default action on input errors is to exit immediately with status code 2. @option{--invalid=@samp{abort}} explicitly specifies this default mode. With a @var{mode} of @samp{fail}, print a warning for @emph{each} conversion error, and exit with status 2. With a @var{mode} of @samp{warn}, exit with status 0, even in the presence of conversion errors, and with a @var{mode} of @samp{ignore} do not even print diagnostics. @item --padding=@var{n} @opindex --padding Pad the output numbers to @var{n} characters, by adding spaces. If @var{n} is a positive number, numbers will be right-aligned. If @var{n} is a negative number, numbers will be left-aligned. By default, numbers are automatically aligned based on the input line's width (only with the default delimiter). @item --round=@var{method} @opindex --round @opindex --round=up @opindex --round=down @opindex --round=from-zero @opindex --round=towards-zero @opindex --round=nearest When converting number representations, round the number according to @var{method}, which can be @samp{up}, @samp{down}, @samp{from-zero} (the default), @samp{towards-zero}, @samp{nearest}. @item --suffix=@var{suffix} @opindex --suffix Add @samp{SUFFIX} to the output numbers, and accept optional @samp{SUFFIX} in input numbers. @item --to=@var{unit} @opindex --to Auto-scales output numbers according to @var{unit}. See @emph{Units} below. The default is no scaling, meaning all the digits of the number are printed. @item --to-unit=@var{n} @opindex --to-unit Specify the output unit size (instead of the default 1). Use this option when the output numbers represent other units (e.g. to represent @samp{4,000,000} bytes in blocks of 1KB, use @samp{--to=si --to=units=1000}). @end table @subsection Possible @var{unit}s: The following are the possible @var{unit} options with @option{--from=UNITS} and @option{--to=UNITS}: @table @var @item none No scaling is performed. For input numbers, no suffixes are accepted, and any trailing characters following the number will trigger an error. For output numbers, all digits of the numbers will be printed. @item si Auto-scale numbers according to the @emph{International System of Units (SI)} standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1000 will be rounded, and printed with one of the following suffixes: @example @samp{K} => @math{1000^1 = 10^3} (Kilo) @samp{M} => @math{1000^2 = 10^6} (Mega) @samp{G} => @math{1000^3 = 10^9} (Giga) @samp{T} => @math{1000^4 = 10^{12}} (Tera) @samp{P} => @math{1000^5 = 10^{15}} (Peta) @samp{E} => @math{1000^6 = 10^{18}} (Exa) @samp{Z} => @math{1000^7 = 10^{21}} (Zetta) @samp{Y} => @math{1000^8 = 10^{24}} (Yotta) @end example @item iec Auto-scale numbers according to the @emph{International Electronical Commission (IEC)} standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1024 will be rounded, and printed with one of the following suffixes: @example @samp{K} => @math{1024^1 = 2^{10}} (Kibi) @samp{M} => @math{1024^2 = 2^{20}} (Mebi) @samp{G} => @math{1024^3 = 2^{30}} (Gibi) @samp{T} => @math{1024^4 = 2^{40}} (Tebi) @samp{P} => @math{1024^5 = 2^{50}} (Pebi) @samp{E} => @math{1024^6 = 2^{60}} (Exbi) @samp{Z} => @math{1024^7 = 2^{70}} (Zebi) @samp{Y} => @math{1024^8 = 2^{80}} (Yobi) @end example The @option{iec} option uses a single letter suffix (e.g. @samp{G}), which is not fully standard, as the @emph{iec} standard recommends a two-letter symbol (e.g @samp{Gi}) - but in practice, this method common. Compare with the @option{iec-i} option. @item iec-i Auto-scale numbers according to the @emph{International Electronical Commission (IEC)} standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1024 will be rounded, and printed with one of the following suffixes: @example @samp{Ki} => @math{1024^1 = 2^{10}} (Kibi) @samp{Mi} => @math{1024^2 = 2^{20}} (Mebi) @samp{Gi} => @math{1024^3 = 2^{30}} (Gibi) @samp{Ti} => @math{1024^4 = 2^{40}} (Tebi) @samp{Pi} => @math{1024^5 = 2^{50}} (Pebi) @samp{Ei} => @math{1024^6 = 2^{60}} (Exbi) @samp{Zi} => @math{1024^7 = 2^{70}} (Zebi) @samp{Yi} => @math{1024^8 = 2^{80}} (Yobi) @end example The @option{iec-i} option uses a two-letter suffix symbol (e.g. @samp{Gi}), as the @emph{iec} standard recommends, but this is not always common in practice. Compare with the @option{iec} option. @item auto @samp{auto} can only be used with @option{--from}. With this method, numbers with @samp{K},@samp{M},@samp{G},@samp{T},@samp{P},@samp{E},@samp{Z},@samp{Y} suffixes are interpreted as @emph{SI} values, and numbers with @samp{Ki}, @samp{Mi},@samp{Gi},@samp{Ti},@samp{Pi},@samp{Ei},@samp{Zi},@samp{Yi} suffixes are interpreted as @emph{IEC} values. @end table @subsection Examples of using @command{numfmt} Converting a single number from/to @emph{human} representation: @example $ nunfmt --to=si 500000 500K $ numfmt --to=iec 500000 489K $ numfmt --to=iec-i 500000 489Ki $ numfmt --from=si 1M 1000000 $ numfmt --from=iec 1M 1048576 # with '--from=auto', M=Mega, Mi=Mebi $ numfmt --from=auto 1M 1000000 $ numfmt --from=auto 1Mi 1048576 @end example Converting from @samp{SI} to @samp{IEC} scales (e.g. when a harddisk capacity is advertised as @samp{1TB}, while checking the drive's capacity gives lower values): @example $ numfmt --from=si --to=iec 1T 932G @end example Converting a single field from an input file / piped input (these contrived examples are for demonstration purposes only, as both @command{ls} and @command{df} support the @option{--human-readable} option to output sizes in human-readable format): @example # Third field (file size) will be shown in SI representation $ ls -log | numfmt --field 3 --header --to=si | head -n4 -rw-r--r-- 1 94K Aug 23 2011 ABOUT-NLS -rw-r--r-- 1 3.7K Jan 7 16:15 AUTHORS -rw-r--r-- 1 36K Jun 1 2011 COPYING -rw-r--r-- 1 0 Jan 7 15:15 ChangeLog # Second field (size) will be shown in IEC representation $ df --block-size=1 | numfmt --field 2 --header --to=iec | head -n4 File system 1B-blocks Used Available Use% Mounted on rootfs 132G 104741408 26554036 80% / tmpfs 794M 7580 804960 1% /run/shm /dev/sdb1 694G 651424756 46074696 94% /home @end example Output can be tweaked using @option{--padding} or @option{--format}: @example # Pad to 10 characters, right-aligned $ du -s * | numfmt --to=si --padding=10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned $ du -s * | numfmt --to=si --padding=-10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned, using 'format' $ du -s * | numfmt --to=si --format="%10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned, using 'format' $ du -s * | numfmt --to=si --padding="%-10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac @end example With locales that support grouping digits, using @option{--grouping} or @option{--format} enables grouping. In @samp{POSIX} locale, grouping is silently ignored: @example $ LC_ALL=C numfmt --from=iec --grouping 2G 2147483648 $ LC_ALL=en_US.utf8 numfmt --from=iec --grouping 2G 2,147,483,648 $ LC_ALL=ta_IN numfmt --from=iec --grouping 2G 2,14,74,83,648 $ LC_ALL=C ./src/numfmt --from=iec --format="==%'15f==" 2G == 2147483648== $ LC_ALL=en_US.utf8 ./src/numfmt --from=iec --format="==%'15f==" 2G == 2,147,483,648== $ LC_ALL=en_US.utf8 ./src/numfmt --from=iec --format="==%'-15f==" 2G ==2,147,483,648 == $ LC_ALL=ta_IN ./src/numfmt --from=iec --format="==%'15f==" 2G == 2,14,74,83,648== @end example @node pr invocation @section @command{pr}: Paginate or columnate files for printing @pindex pr @cindex printing, preparing files for @cindex multicolumn output, generating @cindex merging files in parallel @command{pr} writes each @var{file} (@samp{-} means standard input), or standard input if none are given, to standard output, paginating and optionally outputting in multicolumn format; optionally merges all @var{file}s, printing all in parallel, one per column. Synopsis: @example pr [@var{option}]@dots{} [@var{file}]@dots{} @end example @vindex LC_MESSAGES By default, a 5-line header is printed at each page: two blank lines; a line with the date, the file name, and the page count; and two more blank lines. A footer of five blank lines is also printed. The default @var{page_length} is 66 lines. The default number of text lines is therefore 56. The text line of the header takes the form @samp{@var{date} @var{string} @var{page}}, with spaces inserted around @var{string} so that the line takes up the full @var{page_width}. Here, @var{date} is the date (see the @option{-D} or @option{--date-format} option for details), @var{string} is the centered header string, and @var{page} identifies the page number. The @env{LC_MESSAGES} locale category affects the spelling of @var{page}; in the default C locale, it is @samp{Page @var{number}} where @var{number} is the decimal page number. Form feeds in the input cause page breaks in the output. Multiple form feeds produce empty pages. Columns are of equal width, separated by an optional string (default is @samp{space}). For multicolumn output, lines will always be truncated to @var{page_width} (default 72), unless you use the @option{-J} option. For single column output no line truncation occurs by default. Use @option{-W} option to truncate lines in that case. The program accepts the following options. Also see @ref{Common options}. @table @samp @item +@var{first_page}[:@var{last_page}] @itemx --pages=@var{first_page}[:@var{last_page}] @c The two following @opindex lines evoke warnings because they contain ':' @c The 'info' spec does not permit that. If we use those lines, we end @c up with truncated index entries that don't work. @c @opindex +@var{first_page}[:@var{last_page}] @c @opindex --pages=@var{first_page}[:@var{last_page}] @opindex +@var{page_range} @opindex --pages=@var{page_range} Begin printing with page @var{first_page} and stop with @var{last_page}. Missing @samp{:@var{last_page}} implies end of file. While estimating the number of skipped pages each form feed in the input file results in a new page. Page counting with and without @samp{+@var{first_page}} is identical. By default, counting starts with the first page of input file (not first page printed). Line numbering may be altered by @option{-N} option. @item -@var{column} @itemx --columns=@var{column} @opindex -@var{column} @opindex --columns @cindex down columns With each single @var{file}, produce @var{column} columns of output (default is 1) and print columns down, unless @option{-a} is used. The column width is automatically decreased as @var{column} increases; unless you use the @option{-W/-w} option to increase @var{page_width} as well. This option might well cause some lines to be truncated. The number of lines in the columns on each page are balanced. The options @option{-e} and @option{-i} are on for multiple text-column output. Together with @option{-J} option column alignment and line truncation is turned off. Lines of full length are joined in a free field format and @option{-S} option may set field separators. @option{-@var{column}} may not be used with @option{-m} option. @item -a @itemx --across @opindex -a @opindex --across @cindex across columns With each single @var{file}, print columns across rather than down. The @option{-@var{column}} option must be given with @var{column} greater than one. If a line is too long to fit in a column, it is truncated. @item -c @itemx --show-control-chars @opindex -c @opindex --show-control-chars Print control characters using hat notation (e.g., @samp{^G}); print other nonprinting characters in octal backslash notation. By default, nonprinting characters are not changed. @item -d @itemx --double-space @opindex -d @opindex --double-space @cindex double spacing Double space the output. @item -D @var{format} @itemx --date-format=@var{format} @cindex time formats @cindex formatting times Format header dates using @var{format}, using the same conventions as for the command @samp{date +@var{format}}. @xref{date invocation}. Except for directives, which start with @samp{%}, characters in @var{format} are printed unchanged. You can use this option to specify an arbitrary string in place of the header date, e.g., @option{--date-format="Monday morning"}. @vindex POSIXLY_CORRECT @vindex LC_TIME The default date format is @samp{%Y-%m-%d %H:%M} (for example, @samp{2001-12-04 23:59}); but if the @env{POSIXLY_CORRECT} environment variable is set and the @env{LC_TIME} locale category specifies the POSIX locale, the default is @samp{%b %e %H:%M %Y} (for example, @samp{Dec@ @ 4 23:59 2001}. @vindex TZ Time stamps are listed according to the time zone rules specified by the @env{TZ} environment variable, or by the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. @item -e[@var{in-tabchar}[@var{in-tabwidth}]] @itemx --expand-tabs[=@var{in-tabchar}[@var{in-tabwidth}]] @opindex -e @opindex --expand-tabs @cindex input tabs Expand @var{tab}s to spaces on input. Optional argument @var{in-tabchar} is the input tab character (default is the TAB character). Second optional argument @var{in-tabwidth} is the input tab character's width (default is 8). @item -f @itemx -F @itemx --form-feed @opindex -F @opindex -f @opindex --form-feed Use a form feed instead of newlines to separate output pages. This does not alter the default page length of 66 lines. @item -h @var{header} @itemx --header=@var{header} @opindex -h @opindex --header Replace the file name in the header with the centered string @var{header}. When using the shell, @var{header} should be quoted and should be separated from @option{-h} by a space. @item -i[@var{out-tabchar}[@var{out-tabwidth}]] @itemx --output-tabs[=@var{out-tabchar}[@var{out-tabwidth}]] @opindex -i @opindex --output-tabs @cindex output tabs Replace spaces with @var{tab}s on output. Optional argument @var{out-tabchar} is the output tab character (default is the TAB character). Second optional argument @var{out-tabwidth} is the output tab character's width (default is 8). @item -J @itemx --join-lines @opindex -J @opindex --join-lines Merge lines of full length. Used together with the column options @option{-@var{column}}, @option{-a -@var{column}} or @option{-m}. Turns off @option{-W/-w} line truncation; no column alignment used; may be used with @option{--sep-string[=@var{string}]}. @option{-J} has been introduced (together with @option{-W} and @option{--sep-string}) to disentangle the old (POSIX-compliant) options @option{-w} and @option{-s} along with the three column options. @item -l @var{page_length} @itemx --length=@var{page_length} @opindex -l @opindex --length Set the page length to @var{page_length} (default 66) lines, including the lines of the header [and the footer]. If @var{page_length} is less than or equal to 10, the header and footer are omitted, as if the @option{-t} option had been given. @item -m @itemx --merge @opindex -m @opindex --merge Merge and print all @var{file}s in parallel, one in each column. If a line is too long to fit in a column, it is truncated, unless the @option{-J} option is used. @option{--sep-string[=@var{string}]} may be used. Empty pages in some @var{file}s (form feeds set) produce empty columns, still marked by @var{string}. The result is a continuous line numbering and column marking throughout the whole merged file. Completely empty merged pages show no separators or line numbers. The default header becomes @samp{@var{date} @var{page}} with spaces inserted in the middle; this may be used with the @option{-h} or @option{--header} option to fill up the middle blank part. @item -n[@var{number-separator}[@var{digits}]] @itemx --number-lines[=@var{number-separator}[@var{digits}]] @opindex -n @opindex --number-lines Provide @var{digits} digit line numbering (default for @var{digits} is 5). With multicolumn output the number occupies the first @var{digits} column positions of each text column or only each line of @option{-m} output. With single column output the number precedes each line just as @option{-m} does. Default counting of the line numbers starts with the first line of the input file (not the first line printed, compare the @option{--page} option and @option{-N} option). Optional argument @var{number-separator} is the character appended to the line number to separate it from the text followed. The default separator is the TAB character. In a strict sense a TAB is always printed with single column output only. The TAB width varies with the TAB position, e.g., with the left @var{margin} specified by @option{-o} option. With multicolumn output priority is given to @samp{equal width of output columns} (a POSIX specification). The TAB width is fixed to the value of the first column and does not change with different values of left @var{margin}. That means a fixed number of spaces is always printed in the place of the @var{number-separator} TAB@. The tabification depends upon the output position. @item -N @var{line_number} @itemx --first-line-number=@var{line_number} @opindex -N @opindex --first-line-number Start line counting with the number @var{line_number} at first line of first page printed (in most cases not the first line of the input file). @item -o @var{margin} @itemx --indent=@var{margin} @opindex -o @opindex --indent @cindex indenting lines @cindex left margin Indent each line with a margin @var{margin} spaces wide (default is zero). The total page width is the size of the margin plus the @var{page_width} set with the @option{-W/-w} option. A limited overflow may occur with numbered single column output (compare @option{-n} option). @item -r @itemx --no-file-warnings @opindex -r @opindex --no-file-warnings Do not print a warning message when an argument @var{file} cannot be opened. (The exit status will still be nonzero, however.) @item -s[@var{char}] @itemx --separator[=@var{char}] @opindex -s @opindex --separator Separate columns by a single character @var{char}. The default for @var{char} is the TAB character without @option{-w} and @samp{no character} with @option{-w}. Without @option{-s} the default separator @samp{space} is set. @option{-s[char]} turns off line truncation of all three column options (@option{-COLUMN}|@option{-a -COLUMN}|@option{-m}) unless @option{-w} is set. This is a POSIX-compliant formulation. @item -S[@var{string}] @itemx --sep-string[=@var{string}] @opindex -S @opindex --sep-string Use @var{string} to separate output columns. The @option{-S} option doesn't affect the @option{-W/-w} option, unlike the @option{-s} option which does. It does not affect line truncation or column alignment. Without @option{-S}, and with @option{-J}, @command{pr} uses the default output separator, TAB@. Without @option{-S} or @option{-J}, @command{pr} uses a @samp{space} (same as @option{-S"@w{ }"}). If no @samp{@var{string}} argument is specified, @samp{""} is assumed. @item -t @itemx --omit-header @opindex -t @opindex --omit-header Do not print the usual header [and footer] on each page, and do not fill out the bottom of pages (with blank lines or a form feed). No page structure is produced, but form feeds set in the input files are retained. The predefined pagination is not changed. @option{-t} or @option{-T} may be useful together with other options; e.g.: @option{-t -e4}, expand TAB characters in the input file to 4 spaces but don't make any other changes. Use of @option{-t} overrides @option{-h}. @item -T @itemx --omit-pagination @opindex -T @opindex --omit-pagination Do not print header [and footer]. In addition eliminate all form feeds set in the input files. @item -v @itemx --show-nonprinting @opindex -v @opindex --show-nonprinting Print nonprinting characters in octal backslash notation. @item -w @var{page_width} @itemx --width=@var{page_width} @opindex -w @opindex --width Set page width to @var{page_width} characters for multiple text-column output only (default for @var{page_width} is 72). @option{-s[CHAR]} turns off the default page width and any line truncation and column alignment. Lines of full length are merged, regardless of the column options set. No @var{page_width} setting is possible with single column output. A POSIX-compliant formulation. @item -W @var{page_width} @itemx --page_width=@var{page_width} @opindex -W @opindex --page_width Set the page width to @var{page_width} characters. That's valid with and without a column option. Text lines are truncated, unless @option{-J} is used. Together with one of the three column options (@option{-@var{column}}, @option{-a -@var{column}} or @option{-m}) column alignment is always used. The separator options @option{-S} or @option{-s} don't affect the @option{-W} option. Default is 72 characters. Without @option{-W @var{page_width}} and without any of the column options NO line truncation is used (defined to keep downward compatibility and to meet most frequent tasks). That's equivalent to @option{-W 72 -J}@. The header line is never truncated. @end table @exitstatus @node fold invocation @section @command{fold}: Wrap input lines to fit in specified width @pindex fold @cindex wrapping long input lines @cindex folding long input lines @command{fold} writes each @var{file} (@option{-} means standard input), or standard input if none are given, to standard output, breaking long lines. Synopsis: @example fold [@var{option}]@dots{} [@var{file}]@dots{} @end example By default, @command{fold} breaks lines wider than 80 columns. The output is split into as many lines as necessary. @cindex screen columns @command{fold} counts screen columns by default; thus, a tab may count more than one column, backspace decreases the column count, and carriage return sets the column to zero. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -b @itemx --bytes @opindex -b @opindex --bytes Count bytes rather than columns, so that tabs, backspaces, and carriage returns are each counted as taking up one column, just like other characters. @item -s @itemx --spaces @opindex -s @opindex --spaces Break at word boundaries: the line is broken after the last blank before the maximum line length. If the line contains no such blanks, the line is broken at the maximum line length as usual. @item -w @var{width} @itemx --width=@var{width} @opindex -w @opindex --width Use a maximum line length of @var{width} columns instead of 80. For compatibility @command{fold} supports an obsolete option syntax @option{-@var{width}}. New scripts should use @option{-w @var{width}} instead. @end table @exitstatus @node Output of parts of files @chapter Output of parts of files @cindex output of parts of files @cindex parts of files, output of These commands output pieces of the input. @menu * head invocation:: Output the first part of files. * tail invocation:: Output the last part of files. * split invocation:: Split a file into pieces. * csplit invocation:: Split a file into context-determined pieces. @end menu @node head invocation @section @command{head}: Output the first part of files @pindex head @cindex initial part of files, outputting @cindex first part of files, outputting @command{head} prints the first part (10 lines by default) of each @var{file}; it reads from standard input if no files are given or when given a @var{file} of @option{-}. Synopsis: @example head [@var{option}]@dots{} [@var{file}]@dots{} @end example If more than one @var{file} is specified, @command{head} prints a one-line header consisting of: @example ==> @var{file name} <== @end example @noindent before the output for each @var{file}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @var{k} @itemx --bytes=@var{k} @opindex -c @opindex --bytes Print the first @var{k} bytes, instead of initial lines. However, if @var{k} starts with a @samp{-}, print all but the last @var{k} bytes of each file. @multiplierSuffixes{k} @item -n @var{k} @itemx --lines=@var{k} @opindex -n @opindex --lines Output the first @var{k} lines. However, if @var{k} starts with a @samp{-}, print all but the last @var{k} lines of each file. Size multiplier suffixes are the same as with the @option{-c} option. @item -q @itemx --quiet @itemx --silent @opindex -q @opindex --quiet @opindex --silent Never print file name headers. @item -v @itemx --verbose @opindex -v @opindex --verbose Always print file name headers. @end table For compatibility @command{head} also supports an obsolete option syntax @option{-@var{count}@var{options}}, which is recognized only if it is specified first. @var{count} is a decimal number optionally followed by a size letter (@samp{b}, @samp{k}, @samp{m}) as in @option{-c}, or @samp{l} to mean count by lines, or other option letters (@samp{cqv}). Scripts intended for standard hosts should use @option{-c @var{count}} or @option{-n @var{count}} instead. If your script must also run on hosts that support only the obsolete syntax, it is usually simpler to avoid @command{head}, e.g., by using @samp{sed 5q} instead of @samp{head -5}. @exitstatus @node tail invocation @section @command{tail}: Output the last part of files @pindex tail @cindex last part of files, outputting @command{tail} prints the last part (10 lines by default) of each @var{file}; it reads from standard input if no files are given or when given a @var{file} of @samp{-}. Synopsis: @example tail [@var{option}]@dots{} [@var{file}]@dots{} @end example If more than one @var{file} is specified, @command{tail} prints a one-line header consisting of: @example ==> @var{file name} <== @end example @noindent before the output for each @var{file}. @cindex BSD @command{tail} GNU @command{tail} can output any amount of data (some other versions of @command{tail} cannot). It also has no @option{-r} option (print in reverse), since reversing a file is really a different job from printing the end of a file; BSD @command{tail} (which is the one with @option{-r}) can only reverse files that are at most as large as its buffer, which is typically 32 KiB@. A more reliable and versatile way to reverse files is the GNU @command{tac} command. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @var{k} @itemx --bytes=@var{k} @opindex -c @opindex --bytes Output the last @var{k} bytes, instead of final lines. However, if @var{k} starts with a @samp{+}, start printing with the @var{k}th byte from the start of each file, instead of from the end. @multiplierSuffixes{k} @item -f @itemx --follow[=@var{how}] @opindex -f @opindex --follow @cindex growing files @vindex name @r{follow option} @vindex descriptor @r{follow option} Loop forever trying to read more characters at the end of the file, presumably because the file is growing. If more than one file is given, @command{tail} prints a header whenever it gets output from a different file, to indicate which file that output is from. There are two ways to specify how you'd like to track files with this option, but that difference is noticeable only when a followed file is removed or renamed. If you'd like to continue to track the end of a growing file even after it has been unlinked, use @option{--follow=descriptor}. This is the default behavior, but it is not useful if you're tracking a log file that may be rotated (removed or renamed, then reopened). In that case, use @option{--follow=name} to track the named file, perhaps by reopening it periodically to see if it has been removed and recreated by some other program. Note that the inotify-based implementation handles this case without the need for any periodic reopening. No matter which method you use, if the tracked file is determined to have shrunk, @command{tail} prints a message saying the file has been truncated and resumes tracking the end of the file from the newly-determined endpoint. When a file is removed, @command{tail}'s behavior depends on whether it is following the name or the descriptor. When following by name, tail can detect that a file has been removed and gives a message to that effect, and if @option{--retry} has been specified it will continue checking periodically to see if the file reappears. When following a descriptor, tail does not detect that the file has been unlinked or renamed and issues no message; even though the file may no longer be accessible via its original name, it may still be growing. The option values @samp{descriptor} and @samp{name} may be specified only with the long form of the option, not with @option{-f}. The @option{-f} option is ignored if no @var{file} operand is specified and standard input is a FIFO or a pipe. Likewise, the @option{-f} option has no effect for any operand specified as @samp{-}, when standard input is a FIFO or a pipe. With kernel inotify support, output is triggered by file changes and is generally very prompt. Otherwise, @command{tail} sleeps for one second between checks--- use @option{--sleep-interval=@var{n}} to change that default---which can make the output appear slightly less responsive or bursty. When using tail without inotify support, you can make it more responsive by using a sub-second sleep interval, e.g., via an alias like this: @example alias tail='tail -s.1' @end example @item -F @opindex -F This option is the same as @option{--follow=name --retry}. That is, tail will attempt to reopen a file when it is removed. Should this fail, tail will keep trying until it becomes accessible again. @item --retry @opindex --retry This option is useful mainly when following by name (i.e., with @option{--follow=name}). Without this option, when tail encounters a file that doesn't exist or is otherwise inaccessible, it reports that fact and never checks it again. @item --sleep-interval=@var{number} @opindex --sleep-interval Change the number of seconds to wait between iterations (the default is 1.0). During one iteration, every specified file is checked to see if it has changed size. Historical implementations of @command{tail} have required that @var{number} be an integer. However, GNU @command{tail} accepts an arbitrary floating point number. @xref{Floating point}. When @command{tail} uses inotify, this polling-related option is usually ignored. However, if you also specify @option{--pid=@var{p}}, @command{tail} checks whether process @var{p} is alive at least every @var{number} seconds. @item --pid=@var{pid} @opindex --pid When following by name or by descriptor, you may specify the process ID, @var{pid}, of the sole writer of all @var{file} arguments. Then, shortly after that process terminates, tail will also terminate. This will work properly only if the writer and the tailing process are running on the same machine. For example, to save the output of a build in a file and to watch the file grow, if you invoke @command{make} and @command{tail} like this then the tail process will stop when your build completes. Without this option, you would have had to kill the @code{tail -f} process yourself. @example $ make >& makerr & tail --pid=$! -f makerr @end example If you specify a @var{pid} that is not in use or that does not correspond to the process that is writing to the tailed files, then @command{tail} may terminate long before any @var{file}s stop growing or it may not terminate until long after the real writer has terminated. Note that @option{--pid} cannot be supported on some systems; @command{tail} will print a warning if this is the case. @item --max-unchanged-stats=@var{n} @opindex --max-unchanged-stats When tailing a file by name, if there have been @var{n} (default n=@value{DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS}) consecutive iterations for which the file has not changed, then @code{open}/@code{fstat} the file to determine if that file name is still associated with the same device/inode-number pair as before. When following a log file that is rotated, this is approximately the number of seconds between when tail prints the last pre-rotation lines and when it prints the lines that have accumulated in the new log file. This option is meaningful only when polling (i.e., without inotify) and when following by name. @item -n @var{k} @itemx --lines=@var{k} @opindex -n @opindex --lines Output the last @var{k} lines. However, if @var{k} starts with a @samp{+}, start printing with the @var{k}th line from the start of each file, instead of from the end. Size multiplier suffixes are the same as with the @option{-c} option. @item -q @itemx --quiet @itemx --silent @opindex -q @opindex --quiet @opindex --silent Never print file name headers. @item -v @itemx --verbose @opindex -v @opindex --verbose Always print file name headers. @end table For compatibility @command{tail} also supports an obsolete usage @samp{tail -[@var{count}][bcl][f] [@var{file}]}, which is recognized only if it does not conflict with the usage described above. This obsolete form uses exactly one option and at most one file. In the option, @var{count} is an optional decimal number optionally followed by a size letter (@samp{b}, @samp{c}, @samp{l}) to mean count by 512-byte blocks, bytes, or lines, optionally followed by @samp{f} which has the same meaning as @option{-f}. @vindex _POSIX2_VERSION On older systems, the leading @samp{-} can be replaced by @samp{+} in the obsolete option syntax with the same meaning as in counts, and obsolete usage overrides normal usage when the two conflict. This obsolete behavior can be enabled or disabled with the @env{_POSIX2_VERSION} environment variable (@pxref{Standards conformance}). Scripts intended for use on standard hosts should avoid obsolete syntax and should use @option{-c @var{count}[b]}, @option{-n @var{count}}, and/or @option{-f} instead. If your script must also run on hosts that support only the obsolete syntax, you can often rewrite it to avoid problematic usages, e.g., by using @samp{sed -n '$p'} rather than @samp{tail -1}. If that's not possible, the script can use a test like @samp{if tail -c +1 /dev/null 2>&1; then @dots{}} to decide which syntax to use. Even if your script assumes the standard behavior, you should still beware usages whose behaviors differ depending on the POSIX version. For example, avoid @samp{tail - main.c}, since it might be interpreted as either @samp{tail main.c} or as @samp{tail -- - main.c}; avoid @samp{tail -c 4}, since it might mean either @samp{tail -c4} or @samp{tail -c 10 4}; and avoid @samp{tail +4}, since it might mean either @samp{tail ./+4} or @samp{tail -n +4}. @exitstatus @node split invocation @section @command{split}: Split a file into pieces. @pindex split @cindex splitting a file into pieces @cindex pieces, splitting a file into @command{split} creates output files containing consecutive or interleaved sections of @var{input} (standard input if none is given or @var{input} is @samp{-}). Synopsis: @example split [@var{option}] [@var{input} [@var{prefix}]] @end example By default, @command{split} puts 1000 lines of @var{input} (or whatever is left over for the last section), into each output file. @cindex output file name prefix The output files' names consist of @var{prefix} (@samp{x} by default) followed by a group of characters (@samp{aa}, @samp{ab}, @dots{} by default), such that concatenating the output files in traditional sorted order by file name produces the original input file (except @option{-nr/@var{n}}). By default split will initially create files with two generated suffix characters, and will increase this width by two when the next most significant position reaches the last character. (@samp{yz}, @samp{zaaa}, @samp{zaab}, @dots{}). In this way an arbitrary number of output files are supported, which sort as described above, even in the presence of an @option{--additional-suffix} option. If the @option{-a} option is specified and the output file names are exhausted, @command{split} reports an error without deleting the output files that it did create. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -l @var{lines} @itemx --lines=@var{lines} @opindex -l @opindex --lines Put @var{lines} lines of @var{input} into each output file. For compatibility @command{split} also supports an obsolete option syntax @option{-@var{lines}}. New scripts should use @option{-l @var{lines}} instead. @item -b @var{size} @itemx --bytes=@var{size} @opindex -b @opindex --bytes Put @var{size} bytes of @var{input} into each output file. @multiplierSuffixes{size} @item -C @var{size} @itemx --line-bytes=@var{size} @opindex -C @opindex --line-bytes Put into each output file as many complete lines of @var{input} as possible without exceeding @var{size} bytes. Individual lines longer than @var{size} bytes are broken into multiple files. @var{size} has the same format as for the @option{--bytes} option. @item --filter=@var{command} @opindex --filter With this option, rather than simply writing to each output file, write through a pipe to the specified shell @var{command} for each output file. @var{command} should use the $FILE environment variable, which is set to a different output file name for each invocation of the command. For example, imagine that you have a 1TiB compressed file that, if uncompressed, would be too large to reside on disk, yet you must split it into individually-compressed pieces of a more manageable size. To do that, you might run this command: @example xz -dc BIG.xz | split -b200G --filter='xz > $FILE.xz' - big- @end example Assuming a 10:1 compression ratio, that would create about fifty 20GiB files with names @file{big-aa.xz}, @file{big-ab.xz}, @file{big-ac.xz}, etc. @item -n @var{chunks} @itemx --number=@var{chunks} @opindex -n @opindex --number Split @var{input} to @var{chunks} output files where @var{chunks} may be: @example @var{n} generate @var{n} files based on current size of @var{input} @var{k}/@var{n} only output @var{k}th of @var{n} to stdout l/@var{n} generate @var{n} files without splitting lines l/@var{k}/@var{n} likewise but only output @var{k}th of @var{n} to stdout r/@var{n} like @samp{l} but use round robin distribution r/@var{k}/@var{n} likewise but only output @var{k}th of @var{n} to stdout @end example Any excess bytes remaining after dividing the @var{input} into @var{n} chunks, are assigned to the last chunk. Any excess bytes appearing after the initial calculation are discarded (except when using @samp{r} mode). All @var{n} files are created even if there are fewer than @var{n} lines, or the @var{input} is truncated. For @samp{l} mode, chunks are approximately @var{input} size / @var{n}. The @var{input} is partitioned into @var{n} equal sized portions, with the last assigned any excess. If a line @emph{starts} within a partition it is written completely to the corresponding file. Since lines are not split even if they overlap a partition, the files written can be larger or smaller than the partition size, and even empty if a line is so long as to completely overlap the partition. For @samp{r} mode, the size of @var{input} is irrelevant, and so can be a pipe for example. @item -a @var{length} @itemx --suffix-length=@var{length} @opindex -a @opindex --suffix-length Use suffixes of length @var{length}. If a @var{length} of 0 is specified, this is the same as if (any previous) @option{-a} was not specified, and thus enables the default behavior, which starts the suffix length at 2, and unless @option{-n} or @option{--numeric-suffixes=@var{from}} is specified, will auto increase the length by 2 as required. @item -d @itemx --numeric-suffixes[=@var{from}] @opindex -d @opindex --numeric-suffixes Use digits in suffixes rather than lower-case letters. The numerical suffix counts from @var{from} if specified, 0 otherwise. Note specifying a @var{from} value also disables the default auto suffix length expansion described above, and so you may also want to specify @option{-a} to allow suffixes beyond @samp{99}. @item --additional-suffix=@var{suffix} @opindex --additional-suffix Append an additional @var{suffix} to output file names. @var{suffix} must not contain slash. @item -e @itemx --elide-empty-files @opindex -e @opindex --elide-empty-files Suppress the generation of zero-length output files. This can happen with the @option{--number} option if a file is (truncated to be) shorter than the number requested, or if a line is so long as to completely span a chunk. The output file sequence numbers, always run consecutively even when this option is specified. @item -u @itemx --unbuffered @opindex -u @opindex --unbuffered Immediately copy input to output in @option{--number r/@dots{}} mode, which is a much slower mode of operation. @item --verbose @opindex --verbose Write a diagnostic just before each output file is opened. @end table @exitstatus Here are a few examples to illustrate how the @option{--number} (@option{-n}) option works: Notice how, by default, one line may be split onto two or more: @example $ seq -w 6 10 > k; split -n3 k; head xa? ==> xaa <== 06 07 ==> xab <== 08 0 ==> xac <== 9 10 @end example Use the "l/" modifier to suppress that: @example $ seq -w 6 10 > k; split -nl/3 k; head xa? ==> xaa <== 06 07 ==> xab <== 08 09 ==> xac <== 10 @end example Use the "r/" modifier to distribute lines in a round-robin fashion: @example $ seq -w 6 10 > k; split -nr/3 k; head xa? ==> xaa <== 06 09 ==> xab <== 07 10 ==> xac <== 08 @end example You can also extract just the Kth chunk. This extracts and prints just the 7th "chunk" of 33: @example $ seq 100 > k; split -nl/7/33 k 20 21 22 @end example @node csplit invocation @section @command{csplit}: Split a file into context-determined pieces @pindex csplit @cindex context splitting @cindex splitting a file into pieces by context @command{csplit} creates zero or more output files containing sections of @var{input} (standard input if @var{input} is @samp{-}). Synopsis: @example csplit [@var{option}]@dots{} @var{input} @var{pattern}@dots{} @end example The contents of the output files are determined by the @var{pattern} arguments, as detailed below. An error occurs if a @var{pattern} argument refers to a nonexistent line of the input file (e.g., if no remaining line matches a given regular expression). After every @var{pattern} has been matched, any remaining input is copied into one last output file. By default, @command{csplit} prints the number of bytes written to each output file after it has been created. The types of pattern arguments are: @table @samp @item @var{n} Create an output file containing the input up to but not including line @var{n} (a positive integer). If followed by a repeat count, also create an output file containing the next @var{n} lines of the input file once for each repeat. @item /@var{regexp}/[@var{offset}] Create an output file containing the current line up to (but not including) the next line of the input file that contains a match for @var{regexp}. The optional @var{offset} is an integer. If it is given, the input up to (but not including) the matching line plus or minus @var{offset} is put into the output file, and the line after that begins the next section of input. @item %@var{regexp}%[@var{offset}] Like the previous type, except that it does not create an output file, so that section of the input file is effectively ignored. @item @{@var{repeat-count}@} Repeat the previous pattern @var{repeat-count} additional times. The @var{repeat-count} can either be a positive integer or an asterisk, meaning repeat as many times as necessary until the input is exhausted. @end table The output files' names consist of a prefix (@samp{xx} by default) followed by a suffix. By default, the suffix is an ascending sequence of two-digit decimal numbers from @samp{00} to @samp{99}. In any case, concatenating the output files in sorted order by file name produces the original input file. By default, if @command{csplit} encounters an error or receives a hangup, interrupt, quit, or terminate signal, it removes any output files that it has created so far before it exits. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -f @var{prefix} @itemx --prefix=@var{prefix} @opindex -f @opindex --prefix @cindex output file name prefix Use @var{prefix} as the output file name prefix. @item -b @var{suffix} @itemx --suffix=@var{suffix} @opindex -b @opindex --suffix @cindex output file name suffix Use @var{suffix} as the output file name suffix. When this option is specified, the suffix string must include exactly one @code{printf(3)}-style conversion specification, possibly including format specification flags, a field width, a precision specifications, or all of these kinds of modifiers. The format letter must convert a binary unsigned integer argument to readable form. The format letters @samp{d} and @samp{i} are aliases for @samp{u}, and the @samp{u}, @samp{o}, @samp{x}, and @samp{X} conversions are allowed. The entire @var{suffix} is given (with the current output file number) to @code{sprintf(3)} to form the file name suffixes for each of the individual output files in turn. If this option is used, the @option{--digits} option is ignored. @item -n @var{digits} @itemx --digits=@var{digits} @opindex -n @opindex --digits Use output file names containing numbers that are @var{digits} digits long instead of the default 2. @item -k @itemx --keep-files @opindex -k @opindex --keep-files Do not remove output files when errors are encountered. @item -z @itemx --elide-empty-files @opindex -z @opindex --elide-empty-files Suppress the generation of zero-length output files. (In cases where the section delimiters of the input file are supposed to mark the first lines of each of the sections, the first output file will generally be a zero-length file unless you use this option.) The output file sequence numbers always run consecutively starting from 0, even when this option is specified. @item -s @itemx -q @itemx --silent @itemx --quiet @opindex -s @opindex -q @opindex --silent @opindex --quiet Do not print counts of output file sizes. @end table @exitstatus Here is an example of its usage. First, create an empty directory for the exercise, and cd into it: @example $ mkdir d && cd d @end example Now, split the sequence of 1..14 on lines that end with 0 or 5: @example $ seq 14 | csplit - '/[05]$/' '@{*@}' 8 10 15 @end example Each number printed above is the size of an output file that csplit has just created. List the names of those output files: @example $ ls xx00 xx01 xx02 @end example Use @command{head} to show their contents: @example $ head xx* ==> xx00 <== 1 2 3 4 ==> xx01 <== 5 6 7 8 9 ==> xx02 <== 10 11 12 13 14 @end example @node Summarizing files @chapter Summarizing files @cindex summarizing files These commands generate just a few numbers representing entire contents of files. @menu * wc invocation:: Print newline, word, and byte counts. * sum invocation:: Print checksum and block counts. * cksum invocation:: Print CRC checksum and byte counts. * md5sum invocation:: Print or check MD5 digests. * sha1sum invocation:: Print or check SHA-1 digests. * sha2 utilities:: Print or check SHA-2 digests. @end menu @node wc invocation @section @command{wc}: Print newline, word, and byte counts @pindex wc @cindex byte count @cindex character count @cindex word count @cindex line count @command{wc} counts the number of bytes, characters, whitespace-separated words, and newlines in each given @var{file}, or standard input if none are given or for a @var{file} of @samp{-}. Synopsis: @example wc [@var{option}]@dots{} [@var{file}]@dots{} @end example @cindex total counts @command{wc} prints one line of counts for each file, and if the file was given as an argument, it prints the file name following the counts. If more than one @var{file} is given, @command{wc} prints a final line containing the cumulative counts, with the file name @file{total}. The counts are printed in this order: newlines, words, characters, bytes, maximum line length. Each count is printed right-justified in a field with at least one space between fields so that the numbers and file names normally line up nicely in columns. The width of the count fields varies depending on the inputs, so you should not depend on a particular field width. However, as a GNU extension, if only one count is printed, it is guaranteed to be printed without leading spaces. By default, @command{wc} prints three counts: the newline, words, and byte counts. Options can specify that only certain counts be printed. Options do not undo others previously given, so @example wc --bytes --words @end example @noindent prints both the byte counts and the word counts. With the @option{--max-line-length} option, @command{wc} prints the length of the longest line per file, and if there is more than one file it prints the maximum (not the sum) of those lengths. The line lengths here are measured in screen columns, according to the current locale and assuming tab positions in every 8th column. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --bytes @opindex -c @opindex --bytes Print only the byte counts. @item -m @itemx --chars @opindex -m @opindex --chars Print only the character counts. @item -w @itemx --words @opindex -w @opindex --words Print only the word counts. @item -l @itemx --lines @opindex -l @opindex --lines Print only the newline counts. @item -L @itemx --max-line-length @opindex -L @opindex --max-line-length Print only the maximum line lengths. @macro filesZeroFromOption{cmd,withTotalOption,subListOutput} @item --files0-from=@var{file} @opindex --files0-from=@var{file} @c This is commented out to avoid a texi2dvi failure. @c texi2dvi (GNU Texinfo 4.11) 1.104 @c @cindex including files from @command{\cmd\} Disallow processing files named on the command line, and instead process those named in file @var{file}; each name being terminated by a zero byte (ASCII NUL). This is useful \withTotalOption\ when the list of file names is so long that it may exceed a command line length limitation. In such cases, running @command{\cmd\} via @command{xargs} is undesirable because it splits the list into pieces and makes @command{\cmd\} print \subListOutput\ for each sublist rather than for the entire list. One way to produce a list of ASCII NUL terminated file names is with GNU @command{find}, using its @option{-print0} predicate. If @var{file} is @samp{-} then the ASCII NUL terminated file names are read from standard input. @end macro @filesZeroFromOption{wc,,a total} For example, to find the length of the longest line in any @file{.c} or @file{.h} file in the current hierarchy, do this: @example find . -name '*.[ch]' -print0 | wc -L --files0-from=- | tail -n1 @end example @end table @exitstatus @node sum invocation @section @command{sum}: Print checksum and block counts @pindex sum @cindex 16-bit checksum @cindex checksum, 16-bit @command{sum} computes a 16-bit checksum for each given @var{file}, or standard input if none are given or for a @var{file} of @samp{-}. Synopsis: @example sum [@var{option}]@dots{} [@var{file}]@dots{} @end example @command{sum} prints the checksum for each @var{file} followed by the number of blocks in the file (rounded up). If more than one @var{file} is given, file names are also printed (by default). (With the @option{--sysv} option, corresponding file names are printed when there is at least one file argument.) By default, GNU @command{sum} computes checksums using an algorithm compatible with BSD @command{sum} and prints file sizes in units of 1024-byte blocks. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -r @opindex -r @cindex BSD @command{sum} Use the default (BSD compatible) algorithm. This option is included for compatibility with the System V @command{sum}. Unless @option{-s} was also given, it has no effect. @item -s @itemx --sysv @opindex -s @opindex --sysv @cindex System V @command{sum} Compute checksums using an algorithm compatible with System V @command{sum}'s default, and print file sizes in units of 512-byte blocks. @end table @command{sum} is provided for compatibility; the @command{cksum} program (see next section) is preferable in new applications. @exitstatus @node cksum invocation @section @command{cksum}: Print CRC checksum and byte counts @pindex cksum @cindex cyclic redundancy check @cindex CRC checksum @command{cksum} computes a cyclic redundancy check (CRC) checksum for each given @var{file}, or standard input if none are given or for a @var{file} of @samp{-}. Synopsis: @example cksum [@var{option}]@dots{} [@var{file}]@dots{} @end example @command{cksum} prints the CRC checksum for each file along with the number of bytes in the file, and the file name unless no arguments were given. @command{cksum} is typically used to ensure that files transferred by unreliable means (e.g., netnews) have not been corrupted, by comparing the @command{cksum} output for the received files with the @command{cksum} output for the original files (typically given in the distribution). The CRC algorithm is specified by the POSIX standard. It is not compatible with the BSD or System V @command{sum} algorithms (see the previous section); it is more robust. The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node md5sum invocation @section @command{md5sum}: Print or check MD5 digests @pindex md5sum @cindex MD5 @cindex 128-bit checksum @cindex checksum, 128-bit @cindex fingerprint, 128-bit @cindex message-digest, 128-bit @command{md5sum} computes a 128-bit checksum (or @dfn{fingerprint} or @dfn{message-digest}) for each specified @var{file}. Note: The MD5 digest is more reliable than a simple CRC (provided by the @command{cksum} command) for detecting accidental file corruption, as the chances of accidentally having two files with identical MD5 are vanishingly small. However, it should not be considered secure against malicious tampering: although finding a file with a given MD5 fingerprint is considered infeasible at the moment, it is known how to modify certain files, including digital certificates, so that they appear valid when signed with an MD5 digest. For more secure hashes, consider using SHA-2. @xref{sha2 utilities}. If a @var{file} is specified as @samp{-} or if no files are given @command{md5sum} computes the checksum for the standard input. @command{md5sum} can also determine whether a file and checksum are consistent. Synopsis: @example md5sum [@var{option}]@dots{} [@var{file}]@dots{} @end example For each @var{file}, @samp{md5sum} outputs the MD5 checksum, a flag indicating binary or text input mode, and the file name. If @var{file} contains a backslash or newline, the line is started with a backslash, and each problematic character in the file name is escaped with a backslash, making the output unambiguous even in the presence of arbitrary file names. If @var{file} is omitted or specified as @samp{-}, standard input is read. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -b @itemx --binary @opindex -b @opindex --binary @cindex binary input files Treat each input file as binary, by reading it in binary mode and outputting a @samp{*} flag. This is the inverse of @option{--text}. On systems like GNU that do not distinguish between binary and text files, this option merely flags each input mode as binary: the MD5 checksum is unaffected. This option is the default on systems like MS-DOS that distinguish between binary and text files, except for reading standard input when standard input is a terminal. @item -c @itemx --check Read file names and checksum information (not data) from each @var{file} (or from stdin if no @var{file} was specified) and report whether the checksums match the contents of the named files. The input to this mode of @command{md5sum} is usually the output of a prior, checksum-generating run of @samp{md5sum}. Each valid line of input consists of an MD5 checksum, a binary/text flag, and then a file name. Binary mode is indicated with @samp{*}, text with @samp{ } (space). For each such line, @command{md5sum} reads the named file and computes its MD5 checksum. Then, if the computed message digest does not match the one on the line with the file name, the file is noted as having failed the test. Otherwise, the file passes the test. By default, for each valid line, one line is written to standard output indicating whether the named file passed the test. After all checks have been performed, if there were any failures, a warning is issued to standard error. Use the @option{--status} option to inhibit that output. If any listed file cannot be opened or read, if any valid line has an MD5 checksum inconsistent with the associated file, or if no valid line is found, @command{md5sum} exits with nonzero status. Otherwise, it exits successfully. @item --quiet @opindex --quiet @cindex verifying MD5 checksums This option is useful only when verifying checksums. When verifying checksums, don't generate an 'OK' message per successfully checked file. Files that fail the verification are reported in the default one-line-per-file format. If there is any checksum mismatch, print a warning summarizing the failures to standard error. @item --status @opindex --status @cindex verifying MD5 checksums This option is useful only when verifying checksums. When verifying checksums, don't generate the default one-line-per-file diagnostic and don't output the warning summarizing any failures. Failures to open or read a file still evoke individual diagnostics to standard error. If all listed files are readable and are consistent with the associated MD5 checksums, exit successfully. Otherwise exit with a status code indicating there was a failure. @item --tag @opindex --tag @cindex BSD output Output BSD style checksums, which indicate the checksum algorithm used. As a GNU extension, file names with problematic characters are escaped as described above, with the same escaping indicator of @samp{\} at the start of the line, being used. The @option{--tag} option implies binary mode, and is disallowed with @option{--text} mode as supporting that would unnecessarily complicate the output format, while providing little benefit. @item -t @itemx --text @opindex -t @opindex --text @cindex text input files Treat each input file as text, by reading it in text mode and outputting a @samp{ } flag. This is the inverse of @option{--binary}. This option is the default on systems like GNU that do not distinguish between binary and text files. On other systems, it is the default for reading standard input when standard input is a terminal. This mode is never defaulted to if @option{--tag} is used. @item -w @itemx --warn @opindex -w @opindex --warn @cindex verifying MD5 checksums When verifying checksums, warn about improperly formatted MD5 checksum lines. This option is useful only if all but a few lines in the checked input are valid. @item --strict @opindex --strict @cindex verifying MD5 checksums When verifying checksums, if one or more input line is invalid, exit nonzero after all warnings have been issued. @end table @exitstatus @node sha1sum invocation @section @command{sha1sum}: Print or check SHA-1 digests @pindex sha1sum @cindex SHA-1 @cindex 160-bit checksum @cindex checksum, 160-bit @cindex fingerprint, 160-bit @cindex message-digest, 160-bit @command{sha1sum} computes a 160-bit checksum for each specified @var{file}. The usage and options of this command are precisely the same as for @command{md5sum}. @xref{md5sum invocation}. Note: The SHA-1 digest is more secure than MD5, and no collisions of it are known (different files having the same fingerprint). However, it is known that they can be produced with considerable, but not unreasonable, resources. For this reason, it is generally considered that SHA-1 should be gradually phased out in favor of the more secure SHA-2 hash algorithms. @xref{sha2 utilities}. @node sha2 utilities @section sha2 utilities: Print or check SHA-2 digests @pindex sha224sum @pindex sha256sum @pindex sha384sum @pindex sha512sum @cindex SHA-2 @cindex 224-bit checksum @cindex 256-bit checksum @cindex 384-bit checksum @cindex 512-bit checksum @cindex checksum, 224-bit @cindex checksum, 256-bit @cindex checksum, 384-bit @cindex checksum, 512-bit @cindex fingerprint, 224-bit @cindex fingerprint, 256-bit @cindex fingerprint, 384-bit @cindex fingerprint, 512-bit @cindex message-digest, 224-bit @cindex message-digest, 256-bit @cindex message-digest, 384-bit @cindex message-digest, 512-bit The commands @command{sha224sum}, @command{sha256sum}, @command{sha384sum} and @command{sha512sum} compute checksums of various lengths (respectively 224, 256, 384 and 512 bits), collectively known as the SHA-2 hashes. The usage and options of these commands are precisely the same as for @command{md5sum}. @xref{md5sum invocation}. Note: The SHA384 and SHA512 digests are considerably slower to compute, especially on 32-bit computers, than SHA224 or SHA256. @node Operating on sorted files @chapter Operating on sorted files @cindex operating on sorted files @cindex sorted files, operations on These commands work with (or produce) sorted files. @menu * sort invocation:: Sort text files. * shuf invocation:: Shuffle text files. * uniq invocation:: Uniquify files. * comm invocation:: Compare two sorted files line by line. * ptx invocation:: Produce a permuted index of file contents. * tsort invocation:: Topological sort. @end menu @node sort invocation @section @command{sort}: Sort text files @pindex sort @cindex sorting files @command{sort} sorts, merges, or compares all the lines from the given files, or standard input if none are given or for a @var{file} of @samp{-}. By default, @command{sort} writes the results to standard output. Synopsis: @example sort [@var{option}]@dots{} [@var{file}]@dots{} @end example @command{sort} has three modes of operation: sort (the default), merge, and check for sortedness. The following options change the operation mode: @table @samp @item -c @itemx --check @itemx --check=diagnose-first @opindex -c @opindex --check @cindex checking for sortedness Check whether the given file is already sorted: if it is not all sorted, print a diagnostic containing the first out-of-order line and exit with a status of 1. Otherwise, exit successfully. At most one input file can be given. @item -C @itemx --check=quiet @itemx --check=silent @opindex -c @opindex --check @cindex checking for sortedness Exit successfully if the given file is already sorted, and exit with status 1 otherwise. At most one input file can be given. This is like @option{-c}, except it does not print a diagnostic. @item -m @itemx --merge @opindex -m @opindex --merge @cindex merging sorted files Merge the given files by sorting them as a group. Each input file must always be individually sorted. It always works to sort instead of merge; merging is provided because it is faster, in the case where it works. @end table @cindex sort stability @cindex sort's last-resort comparison A pair of lines is compared as follows: @command{sort} compares each pair of fields, in the order specified on the command line, according to the associated ordering options, until a difference is found or no fields are left. If no key fields are specified, @command{sort} uses a default key of the entire line. Finally, as a last resort when all keys compare equal, @command{sort} compares entire lines as if no ordering options other than @option{--reverse} (@option{-r}) were specified. The @option{--stable} (@option{-s}) option disables this @dfn{last-resort comparison} so that lines in which all fields compare equal are left in their original relative order. The @option{--unique} (@option{-u}) option also disables the last-resort comparison. @vindex LC_ALL @vindex LC_COLLATE Unless otherwise specified, all comparisons use the character collating sequence specified by the @env{LC_COLLATE} locale.@footnote{If you use a non-POSIX locale (e.g., by setting @env{LC_ALL} to @samp{en_US}), then @command{sort} may produce output that is sorted differently than you're accustomed to. In that case, set the @env{LC_ALL} environment variable to @samp{C}@. Note that setting only @env{LC_COLLATE} has two problems. First, it is ineffective if @env{LC_ALL} is also set. Second, it has undefined behavior if @env{LC_CTYPE} (or @env{LANG}, if @env{LC_CTYPE} is unset) is set to an incompatible value. For example, you get undefined behavior if @env{LC_CTYPE} is @code{ja_JP.PCK} but @env{LC_COLLATE} is @code{en_US.UTF-8}.} GNU @command{sort} (as specified for all GNU utilities) has no limit on input line length or restrictions on bytes allowed within lines. In addition, if the final byte of an input file is not a newline, GNU @command{sort} silently supplies one. A line's trailing newline is not part of the line for comparison purposes. @cindex exit status of @command{sort} Exit status: @display 0 if no error occurred 1 if invoked with @option{-c} or @option{-C} and the input is not sorted 2 if an error occurred @end display @vindex TMPDIR If the environment variable @env{TMPDIR} is set, @command{sort} uses its value as the directory for temporary files instead of @file{/tmp}. The @option{--temporary-directory} (@option{-T}) option in turn overrides the environment variable. The following options affect the ordering of output lines. They may be specified globally or as part of a specific key field. If no key fields are specified, global options apply to comparison of entire lines; otherwise the global options are inherited by key fields that do not specify any special options of their own. In pre-POSIX versions of @command{sort}, global options affect only later key fields, so portable shell scripts should specify global options first. @table @samp @item -b @itemx --ignore-leading-blanks @opindex -b @opindex --ignore-leading-blanks @cindex blanks, ignoring leading @vindex LC_CTYPE Ignore leading blanks when finding sort keys in each line. By default a blank is a space or a tab, but the @env{LC_CTYPE} locale can change this. Note blanks may be ignored by your locale's collating rules, but without this option they will be significant for character positions specified in keys with the @option{-k} option. @item -d @itemx --dictionary-order @opindex -d @opindex --dictionary-order @cindex dictionary order @cindex phone directory order @cindex telephone directory order @vindex LC_CTYPE Sort in @dfn{phone directory} order: ignore all characters except letters, digits and blanks when sorting. By default letters and digits are those of ASCII and a blank is a space or a tab, but the @env{LC_CTYPE} locale can change this. @item -f @itemx --ignore-case @opindex -f @opindex --ignore-case @cindex ignoring case @cindex case folding @vindex LC_CTYPE Fold lowercase characters into the equivalent uppercase characters when comparing so that, for example, @samp{b} and @samp{B} sort as equal. The @env{LC_CTYPE} locale determines character types. When used with @option{--unique} those lower case equivalent lines are thrown away. (There is currently no way to throw away the upper case equivalent instead. (Any @option{--reverse} given would only affect the final result, after the throwing away.)) @item -g @itemx --general-numeric-sort @itemx --sort=general-numeric @opindex -g @opindex --general-numeric-sort @opindex --sort @cindex general numeric sort @vindex LC_NUMERIC Sort numerically, converting a prefix of each line to a long double-precision floating point number. @xref{Floating point}. Do not report overflow, underflow, or conversion errors. Use the following collating sequence: @itemize @bullet @item Lines that do not start with numbers (all considered to be equal). @item NaNs (``Not a Number'' values, in IEEE floating point arithmetic) in a consistent but machine-dependent order. @item Minus infinity. @item Finite numbers in ascending numeric order (with @math{-0} and @math{+0} equal). @item Plus infinity. @end itemize Use this option only if there is no alternative; it is much slower than @option{--numeric-sort} (@option{-n}) and it can lose information when converting to floating point. @item -h @itemx --human-numeric-sort @itemx --sort=human-numeric @opindex -h @opindex --human-numeric-sort @opindex --sort @cindex human numeric sort @vindex LC_NUMERIC Sort numerically, first by numeric sign (negative, zero, or positive); then by SI suffix (either empty, or @samp{k} or @samp{K}, or one of @samp{MGTPEZY}, in that order; @pxref{Block size}); and finally by numeric value. For example, @samp{1023M} sorts before @samp{1G} because @samp{M} (mega) precedes @samp{G} (giga) as an SI suffix. This option sorts values that are consistently scaled to the nearest suffix, regardless of whether suffixes denote powers of 1000 or 1024, and it therefore sorts the output of any single invocation of the @command{df}, @command{du}, or @command{ls} commands that are invoked with their @option{--human-readable} or @option{--si} options. The syntax for numbers is the same as for the @option{--numeric-sort} option; the SI suffix must immediately follow the number. @item -i @itemx --ignore-nonprinting @opindex -i @opindex --ignore-nonprinting @cindex nonprinting characters, ignoring @cindex unprintable characters, ignoring @vindex LC_CTYPE Ignore nonprinting characters. The @env{LC_CTYPE} locale determines character types. This option has no effect if the stronger @option{--dictionary-order} (@option{-d}) option is also given. @item -M @itemx --month-sort @itemx --sort=month @opindex -M @opindex --month-sort @opindex --sort @cindex months, sorting by @vindex LC_TIME An initial string, consisting of any amount of blanks, followed by a month name abbreviation, is folded to UPPER case and compared in the order @samp{JAN} < @samp{FEB} < @dots{} < @samp{DEC}@. Invalid names compare low to valid names. The @env{LC_TIME} locale category determines the month spellings. By default a blank is a space or a tab, but the @env{LC_CTYPE} locale can change this. @item -n @itemx --numeric-sort @itemx --sort=numeric @opindex -n @opindex --numeric-sort @opindex --sort @cindex numeric sort @vindex LC_NUMERIC Sort numerically. The number begins each line and consists of optional blanks, an optional @samp{-} sign, and zero or more digits possibly separated by thousands separators, optionally followed by a decimal-point character and zero or more digits. An empty number is treated as @samp{0}. The @env{LC_NUMERIC} locale specifies the decimal-point character and thousands separator. By default a blank is a space or a tab, but the @env{LC_CTYPE} locale can change this. Comparison is exact; there is no rounding error. Neither a leading @samp{+} nor exponential notation is recognized. To compare such strings numerically, use the @option{--general-numeric-sort} (@option{-g}) option. @item -V @itemx --version-sort @opindex -V @opindex --version-sort @cindex version number sort Sort by version name and number. It behaves like a standard sort, except that each sequence of decimal digits is treated numerically as an index/version number. (@xref{Details about version sort}.) @item -r @itemx --reverse @opindex -r @opindex --reverse @cindex reverse sorting Reverse the result of comparison, so that lines with greater key values appear earlier in the output instead of later. @item -R @itemx --random-sort @itemx --sort=random @opindex -R @opindex --random-sort @opindex --sort @cindex random sort Sort by hashing the input keys and then sorting the hash values. Choose the hash function at random, ensuring that it is free of collisions so that differing keys have differing hash values. This is like a random permutation of the inputs (@pxref{shuf invocation}), except that keys with the same value sort together. If multiple random sort fields are specified, the same random hash function is used for all fields. To use different random hash functions for different fields, you can invoke @command{sort} more than once. The choice of hash function is affected by the @option{--random-source} option. @end table Other options are: @table @samp @item --compress-program=@var{prog} Compress any temporary files with the program @var{prog}. With no arguments, @var{prog} must compress standard input to standard output, and when given the @option{-d} option it must decompress standard input to standard output. Terminate with an error if @var{prog} exits with nonzero status. White space and the backslash character should not appear in @var{prog}; they are reserved for future use. @filesZeroFromOption{sort,,sorted output} @item -k @var{pos1}[,@var{pos2}] @itemx --key=@var{pos1}[,@var{pos2}] @opindex -k @opindex --key @cindex sort field Specify a sort field that consists of the part of the line between @var{pos1} and @var{pos2} (or the end of the line, if @var{pos2} is omitted), @emph{inclusive}. Each @var{pos} has the form @samp{@var{f}[.@var{c}][@var{opts}]}, where @var{f} is the number of the field to use, and @var{c} is the number of the first character from the beginning of the field. Fields and character positions are numbered starting with 1; a character position of zero in @var{pos2} indicates the field's last character. If @samp{.@var{c}} is omitted from @var{pos1}, it defaults to 1 (the beginning of the field); if omitted from @var{pos2}, it defaults to 0 (the end of the field). @var{opts} are ordering options, allowing individual keys to be sorted according to different rules; see below for details. Keys can span multiple fields. Example: To sort on the second field, use @option{--key=2,2} (@option{-k 2,2}). See below for more notes on keys and more examples. See also the @option{--debug} option to help determine the part of the line being used in the sort. @item --debug Highlight the portion of each line used for sorting. Also issue warnings about questionable usage to stderr. @item --batch-size=@var{nmerge} @opindex --batch-size @cindex number of inputs to merge, nmerge Merge at most @var{nmerge} inputs at once. When @command{sort} has to merge more than @var{nmerge} inputs, it merges them in groups of @var{nmerge}, saving the result in a temporary file, which is then used as an input in a subsequent merge. A large value of @var{nmerge} may improve merge performance and decrease temporary storage utilization at the expense of increased memory usage and I/O@. Conversely a small value of @var{nmerge} may reduce memory requirements and I/O at the expense of temporary storage consumption and merge performance. The value of @var{nmerge} must be at least 2. The default value is currently 16, but this is implementation-dependent and may change in the future. The value of @var{nmerge} may be bounded by a resource limit for open file descriptors. The commands @samp{ulimit -n} or @samp{getconf OPEN_MAX} may display limits for your systems; these limits may be modified further if your program already has some files open, or if the operating system has other limits on the number of open files. If the value of @var{nmerge} exceeds the resource limit, @command{sort} silently uses a smaller value. @item -o @var{output-file} @itemx --output=@var{output-file} @opindex -o @opindex --output @cindex overwriting of input, allowed Write output to @var{output-file} instead of standard output. Normally, @command{sort} reads all input before opening @var{output-file}, so you can safely sort a file in place by using commands like @code{sort -o F F} and @code{cat F | sort -o F}@. However, @command{sort} with @option{--merge} (@option{-m}) can open the output file before reading all input, so a command like @code{cat F | sort -m -o F - G} is not safe as @command{sort} might start writing @file{F} before @command{cat} is done reading it. @vindex POSIXLY_CORRECT On newer systems, @option{-o} cannot appear after an input file if @env{POSIXLY_CORRECT} is set, e.g., @samp{sort F -o F}@. Portable scripts should specify @option{-o @var{output-file}} before any input files. @item --random-source=@var{file} @opindex --random-source @cindex random source for sorting Use @var{file} as a source of random data used to determine which random hash function to use with the @option{-R} option. @xref{Random sources}. @item -s @itemx --stable @opindex -s @opindex --stable @cindex sort stability @cindex sort's last-resort comparison Make @command{sort} stable by disabling its last-resort comparison. This option has no effect if no fields or global ordering options other than @option{--reverse} (@option{-r}) are specified. @item -S @var{size} @itemx --buffer-size=@var{size} @opindex -S @opindex --buffer-size @cindex size for main memory sorting Use a main-memory sort buffer of the given @var{size}. By default, @var{size} is in units of 1024 bytes. Appending @samp{%} causes @var{size} to be interpreted as a percentage of physical memory. Appending @samp{K} multiplies @var{size} by 1024 (the default), @samp{M} by 1,048,576, @samp{G} by 1,073,741,824, and so on for @samp{T}, @samp{P}, @samp{E}, @samp{Z}, and @samp{Y}@. Appending @samp{b} causes @var{size} to be interpreted as a byte count, with no multiplication. This option can improve the performance of @command{sort} by causing it to start with a larger or smaller sort buffer than the default. However, this option affects only the initial buffer size. The buffer grows beyond @var{size} if @command{sort} encounters input lines larger than @var{size}. @item -t @var{separator} @itemx --field-separator=@var{separator} @opindex -t @opindex --field-separator @cindex field separator character Use character @var{separator} as the field separator when finding the sort keys in each line. By default, fields are separated by the empty string between a non-blank character and a blank character. By default a blank is a space or a tab, but the @env{LC_CTYPE} locale can change this. That is, given the input line @w{@samp{ foo bar}}, @command{sort} breaks it into fields @w{@samp{ foo}} and @w{@samp{ bar}}. The field separator is not considered to be part of either the field preceding or the field following, so with @samp{sort @w{-t " "}} the same input line has three fields: an empty field, @samp{foo}, and @samp{bar}. However, fields that extend to the end of the line, as @option{-k 2}, or fields consisting of a range, as @option{-k 2,3}, retain the field separators present between the endpoints of the range. To specify ASCII NUL as the field separator, use the two-character string @samp{\0}, e.g., @samp{sort -t '\0'}. @item -T @var{tempdir} @itemx --temporary-directory=@var{tempdir} @opindex -T @opindex --temporary-directory @cindex temporary directory @vindex TMPDIR Use directory @var{tempdir} to store temporary files, overriding the @env{TMPDIR} environment variable. If this option is given more than once, temporary files are stored in all the directories given. If you have a large sort or merge that is I/O-bound, you can often improve performance by using this option to specify directories on different disks and controllers. @item --parallel=@var{n} @opindex --parallel @cindex multithreaded sort Set the number of sorts run in parallel to @var{n}. By default, @var{n} is set to the number of available processors, but limited to 8, as there are diminishing performance gains after that. Note also that using @var{n} threads increases the memory usage by a factor of log @var{n}. Also see @ref{nproc invocation}. @item -u @itemx --unique @opindex -u @opindex --unique @cindex uniquifying output Normally, output only the first of a sequence of lines that compare equal. For the @option{--check} (@option{-c} or @option{-C}) option, check that no pair of consecutive lines compares equal. This option also disables the default last-resort comparison. The commands @code{sort -u} and @code{sort | uniq} are equivalent, but this equivalence does not extend to arbitrary @command{sort} options. For example, @code{sort -n -u} inspects only the value of the initial numeric string when checking for uniqueness, whereas @code{sort -n | uniq} inspects the entire line. @xref{uniq invocation}. @macro zeroTerminatedOption @item -z @itemx --zero-terminated @opindex -z @opindex --zero-terminated @cindex process zero-terminated items Delimit items with a zero byte rather than a newline (ASCII LF). I.e., treat input as items separated by ASCII NUL and terminate output items with ASCII NUL. This option can be useful in conjunction with @samp{perl -0} or @samp{find -print0} and @samp{xargs -0} which do the same in order to reliably handle arbitrary file names (even those containing blanks or other special characters). @end macro @zeroTerminatedOption @end table Historical (BSD and System V) implementations of @command{sort} have differed in their interpretation of some options, particularly @option{-b}, @option{-f}, and @option{-n}. GNU sort follows the POSIX behavior, which is usually (but not always!) like the System V behavior. According to POSIX, @option{-n} no longer implies @option{-b}. For consistency, @option{-M} has been changed in the same way. This may affect the meaning of character positions in field specifications in obscure cases. The only fix is to add an explicit @option{-b}. A position in a sort field specified with @option{-k} may have any of the option letters @samp{MbdfghinRrV} appended to it, in which case no global ordering options are inherited by that particular field. The @option{-b} option may be independently attached to either or both of the start and end positions of a field specification, and if it is inherited from the global options it will be attached to both. If input lines can contain leading or adjacent blanks and @option{-t} is not used, then @option{-k} is typically combined with @option{-b} or an option that implicitly ignores leading blanks (@samp{Mghn}) as otherwise the varying numbers of leading blanks in fields can cause confusing results. If the start position in a sort field specifier falls after the end of the line or after the end field, the field is empty. If the @option{-b} option was specified, the @samp{.@var{c}} part of a field specification is counted from the first nonblank character of the field. @vindex _POSIX2_VERSION @vindex POSIXLY_CORRECT On older systems, @command{sort} supports an obsolete origin-zero syntax @samp{+@var{pos1} [-@var{pos2}]} for specifying sort keys. The obsolete sequence @samp{sort +@var{a}.@var{x} -@var{b}.@var{y}} is equivalent to @samp{sort -k @var{a+1}.@var{x+1},@var{b}} if @var{y} is @samp{0} or absent, otherwise it is equivalent to @samp{sort -k @var{a+1}.@var{x+1},@var{b+1}.@var{y}}. This obsolete behavior can be enabled or disabled with the @env{_POSIX2_VERSION} environment variable (@pxref{Standards conformance}); it can also be enabled when @env{POSIXLY_CORRECT} is not set by using the obsolete syntax with @samp{-@var{pos2}} present. Scripts intended for use on standard hosts should avoid obsolete syntax and should use @option{-k} instead. For example, avoid @samp{sort +2}, since it might be interpreted as either @samp{sort ./+2} or @samp{sort -k 3}. If your script must also run on hosts that support only the obsolete syntax, it can use a test like @samp{if sort -k 1 /dev/null 2>&1; then @dots{}} to decide which syntax to use. Here are some examples to illustrate various combinations of options. @itemize @bullet @item Sort in descending (reverse) numeric order. @example sort -n -r @end example @item Run no more than 4 sorts concurrently, using a buffer size of 10M. @example sort --parallel=4 -S 10M @end example @item Sort alphabetically, omitting the first and second fields and the blanks at the start of the third field. This uses a single key composed of the characters beginning at the start of the first nonblank character in field three and extending to the end of each line. @example sort -k 3b @end example @item Sort numerically on the second field and resolve ties by sorting alphabetically on the third and fourth characters of field five. Use @samp{:} as the field delimiter. @example sort -t : -k 2,2n -k 5.3,5.4 @end example Note that if you had written @option{-k 2n} instead of @option{-k 2,2n} @command{sort} would have used all characters beginning in the second field and extending to the end of the line as the primary @emph{numeric} key. For the large majority of applications, treating keys spanning more than one field as numeric will not do what you expect. Also note that the @samp{n} modifier was applied to the field-end specifier for the first key. It would have been equivalent to specify @option{-k 2n,2} or @option{-k 2n,2n}. All modifiers except @samp{b} apply to the associated @emph{field}, regardless of whether the modifier character is attached to the field-start and/or the field-end part of the key specifier. @item Sort the password file on the fifth field and ignore any leading blanks. Sort lines with equal values in field five on the numeric user ID in field three. Fields are separated by @samp{:}. @example sort -t : -k 5b,5 -k 3,3n /etc/passwd sort -t : -n -k 5b,5 -k 3,3 /etc/passwd sort -t : -b -k 5,5 -k 3,3n /etc/passwd @end example These three commands have equivalent effect. The first specifies that the first key's start position ignores leading blanks and the second key is sorted numerically. The other two commands rely on global options being inherited by sort keys that lack modifiers. The inheritance works in this case because @option{-k 5b,5b} and @option{-k 5b,5} are equivalent, as the location of a field-end lacking a @samp{.@var{c}} character position is not affected by whether initial blanks are skipped. @item Sort a set of log files, primarily by IPv4 address and secondarily by time stamp. If two lines' primary and secondary keys are identical, output the lines in the same order that they were input. The log files contain lines that look like this: @example 4.150.156.3 - - [01/Apr/2004:06:31:51 +0000] message 1 211.24.3.231 - - [24/Apr/2004:20:17:39 +0000] message 2 @end example Fields are separated by exactly one space. Sort IPv4 addresses lexicographically, e.g., 212.61.52.2 sorts before 212.129.233.201 because 61 is less than 129. @example sort -s -t ' ' -k 4.9n -k 4.5M -k 4.2n -k 4.14,4.21 file*.log | sort -s -t '.' -k 1,1n -k 2,2n -k 3,3n -k 4,4n @end example This example cannot be done with a single @command{sort} invocation, since IPv4 address components are separated by @samp{.} while dates come just after a space. So it is broken down into two invocations of @command{sort}: the first sorts by time stamp and the second by IPv4 address. The time stamp is sorted by year, then month, then day, and finally by hour-minute-second field, using @option{-k} to isolate each field. Except for hour-minute-second there's no need to specify the end of each key field, since the @samp{n} and @samp{M} modifiers sort based on leading prefixes that cannot cross field boundaries. The IPv4 addresses are sorted lexicographically. The second sort uses @samp{-s} so that ties in the primary key are broken by the secondary key; the first sort uses @samp{-s} so that the combination of the two sorts is stable. @item Generate a tags file in case-insensitive sorted order. @smallexample find src -type f -print0 | sort -z -f | xargs -0 etags --append @end smallexample The use of @option{-print0}, @option{-z}, and @option{-0} in this case means that file names that contain blanks or other special characters are not broken up by the sort operation. @c This example is a bit contrived and needs more explanation. @c @item @c Sort records separated by an arbitrary string by using a pipe to convert @c each record delimiter string to @samp{\0}, then using sort's -z option, @c and converting each @samp{\0} back to the original record delimiter. @c @c @example @c printf 'c\n\nb\n\na\n' | @c perl -0pe 's/\n\n/\n\0/g' | @c sort -z | @c perl -0pe 's/\0/\n/g' @c @end example @item Use the common DSU, Decorate Sort Undecorate idiom to sort lines according to their length. @example awk '@{print length, $0@}' /etc/passwd | sort -n | cut -f2- -d' ' @end example In general this technique can be used to sort data that the @command{sort} command does not support, or is inefficient at, sorting directly. @item Shuffle a list of directories, but preserve the order of files within each directory. For instance, one could use this to generate a music playlist in which albums are shuffled but the songs of each album are played in order. @example ls */* | sort -t / -k 1,1R -k 2,2 @end example @end itemize @node shuf invocation @section @command{shuf}: Shuffling text @pindex shuf @cindex shuffling files @command{shuf} shuffles its input by outputting a random permutation of its input lines. Each output permutation is equally likely. Synopses: @example shuf [@var{option}]@dots{} [@var{file}] shuf -e [@var{option}]@dots{} [@var{arg}]@dots{} shuf -i @var{lo}-@var{hi} [@var{option}]@dots{} @end example @command{shuf} has three modes of operation that affect where it obtains its input lines. By default, it reads lines from standard input. The following options change the operation mode: @table @samp @item -e @itemx --echo @opindex -c @opindex --echo @cindex command-line operands to shuffle Treat each command-line operand as an input line. @item -i @var{lo}-@var{hi} @itemx --input-range=@var{lo}-@var{hi} @opindex -i @opindex --input-range @cindex input range to shuffle Act as if input came from a file containing the range of unsigned decimal integers @var{lo}@dots{}@var{hi}, one per line. @end table @command{shuf}'s other options can affect its behavior in all operation modes: @table @samp @item -n @var{lines} @itemx --head-count=@var{count} @opindex -n @opindex --head-count @cindex head of output Output at most @var{count} lines. By default, all input lines are output. @item -o @var{output-file} @itemx --output=@var{output-file} @opindex -o @opindex --output @cindex overwriting of input, allowed Write output to @var{output-file} instead of standard output. @command{shuf} reads all input before opening @var{output-file}, so you can safely shuffle a file in place by using commands like @code{shuf -o F out $ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo deeper @end example Note that although the listing above includes a trailing slash for the @samp{deeper} entry, the offsets select the name without the trailing slash. However, if you invoke @command{ls} with @option{--dired} along with an option like @option{--escape} (aka @option{-b}) and operate on a file whose name contains special characters, notice that the backslash @emph{is} included: @example $ touch 'a b' $ ls -blog --dired 'a b' -rw-r--r-- 1 0 Jun 10 12:28 a\ b //DIRED// 30 34 //DIRED-OPTIONS// --quoting-style=escape @end example If you use a quoting style that adds quote marks (e.g., @option{--quoting-style=c}), then the offsets include the quote marks. So beware that the user may select the quoting style via the environment variable @env{QUOTING_STYLE}@. Hence, applications using @option{--dired} should either specify an explicit @option{--quoting-style=literal} option (aka @option{-N} or @option{--literal}) on the command line, or else be prepared to parse the escaped names. @item --full-time @opindex --full-time Produce long format directory listings, and list times in full. It is equivalent to using @option{--format=long} with @option{--time-style=full-iso} (@pxref{Formatting file timestamps}). @item -g @opindex -g Produce long format directory listings, but don't display owner information. @item -G @itemx --no-group @opindex -G @opindex --no-group Inhibit display of group information in a long format directory listing. (This is the default in some non-GNU versions of @command{ls}, so we provide this option for compatibility.) @optHumanReadable @item -i @itemx --inode @opindex -i @opindex --inode @cindex inode number, printing Print the inode number (also called the file serial number and index number) of each file to the left of the file name. (This number uniquely identifies each file within a particular file system.) @item -l @itemx --format=long @itemx --format=verbose @opindex -l @opindex --format @opindex long ls @r{format} @opindex verbose ls @r{format} In addition to the name of each file, print the file type, file mode bits, number of hard links, owner name, group name, size, and timestamp (@pxref{Formatting file timestamps}), normally the modification time. Print question marks for information that cannot be determined. Normally the size is printed as a byte count without punctuation, but this can be overridden (@pxref{Block size}). For example, @option{-h} prints an abbreviated, human-readable count, and @samp{--block-size="'1"} prints a byte count with the thousands separator of the current locale. For each directory that is listed, preface the files with a line @samp{total @var{blocks}}, where @var{blocks} is the total disk allocation for all files in that directory. The block size currently defaults to 1024 bytes, but this can be overridden (@pxref{Block size}). The @var{blocks} computed counts each hard link separately; this is arguably a deficiency. The file type is one of the following characters: @c The commented-out entries are ones we're not sure about. @table @samp @item - regular file @item b block special file @item c character special file @item C high performance (``contiguous data'') file @item d directory @item D door (Solaris 2.5 and up) @c @item F @c semaphore, if this is a distinct file type @item l symbolic link @c @item m @c multiplexed file (7th edition Unix; obsolete) @item M off-line (``migrated'') file (Cray DMF) @item n network special file (HP-UX) @item p FIFO (named pipe) @item P port (Solaris 10 and up) @c @item Q @c message queue, if this is a distinct file type @item s socket @c @item S @c shared memory object, if this is a distinct file type @c @item T @c typed memory object, if this is a distinct file type @c @item w @c whiteout (4.4BSD; not implemented) @item ? some other file type @end table @cindex permissions, output by @command{ls} The file mode bits listed are similar to symbolic mode specifications (@pxref{Symbolic Modes}). But @command{ls} combines multiple bits into the third character of each set of permissions as follows: @table @samp @item s If the set-user-ID or set-group-ID bit and the corresponding executable bit are both set. @item S If the set-user-ID or set-group-ID bit is set but the corresponding executable bit is not set. @item t If the restricted deletion flag or sticky bit, and the other-executable bit, are both set. The restricted deletion flag is another name for the sticky bit. @xref{Mode Structure}. @item T If the restricted deletion flag or sticky bit is set but the other-executable bit is not set. @item x If the executable bit is set and none of the above apply. @item - Otherwise. @end table Following the file mode bits is a single character that specifies whether an alternate access method such as an access control list applies to the file. When the character following the file mode bits is a space, there is no alternate access method. When it is a printing character, then there is such a method. GNU @command{ls} uses a @samp{.} character to indicate a file with an SELinux security context, but no other alternate access method. A file with any other combination of alternate access methods is marked with a @samp{+} character. @item -n @itemx --numeric-uid-gid @opindex -n @opindex --numeric-uid-gid @cindex numeric uid and gid @cindex numeric user and group IDs Produce long format directory listings, but display numeric user and group IDs instead of the owner and group names. @item -o @opindex -o Produce long format directory listings, but don't display group information. It is equivalent to using @option{--format=long} with @option{--no-group} . @item -s @itemx --size @opindex -s @opindex --size @cindex disk allocation @cindex size of files, reporting Print the disk allocation of each file to the left of the file name. This is the amount of disk space used by the file, which is usually a bit more than the file's size, but it can be less if the file has holes. Normally the disk allocation is printed in units of 1024 bytes, but this can be overridden (@pxref{Block size}). @cindex NFS mounts from BSD to HP-UX For files that are NFS-mounted from an HP-UX system to a BSD system, this option reports sizes that are half the correct values. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX @command{ls} program. @optSi @item -Z @itemx --context @opindex -Z @opindex --context @cindex SELinux @cindex security context Display the SELinux security context or @samp{?} if none is found. When used with the @option{-l} option, print the security context to the left of the size column. @end table @node Sorting the output @subsection Sorting the output @cindex sorting @command{ls} output These options change the order in which @command{ls} sorts the information it outputs. By default, sorting is done by character code (e.g., ASCII order). @table @samp @item -c @itemx --time=ctime @itemx --time=status @opindex -c @opindex --time @opindex ctime@r{, printing or sorting by} @opindex status time@r{, printing or sorting by} @opindex use time@r{, printing or sorting files by} If the long listing format (e.g., @option{-l}, @option{-o}) is being used, print the status change time (the @samp{ctime} in the inode) instead of the modification time. When explicitly sorting by time (@option{--sort=time} or @option{-t}) or when not using a long listing format, sort according to the status change time. @item -f @opindex -f @cindex unsorted directory listing @cindex directory order, listing by Primarily, like @option{-U}---do not sort; list the files in whatever order they are stored in the directory. But also enable @option{-a} (list all files) and disable @option{-l}, @option{--color}, and @option{-s} (if they were specified before the @option{-f}). @item -r @itemx --reverse @opindex -r @opindex --reverse @cindex reverse sorting Reverse whatever the sorting method is---e.g., list files in reverse alphabetical order, youngest first, smallest first, or whatever. @item -S @itemx --sort=size @opindex -S @opindex --sort @opindex size of files@r{, sorting files by} Sort by file size, largest first. @item -t @itemx --sort=time @opindex -t @opindex --sort @opindex modification time@r{, sorting files by} Sort by modification time (the @samp{mtime} in the inode), newest first. @item -u @itemx --time=atime @itemx --time=access @itemx --time=use @opindex -u @opindex --time @opindex use time@r{, printing or sorting files by} @opindex atime@r{, printing or sorting files by} @opindex access time@r{, printing or sorting files by} If the long listing format (e.g., @option{--format=long}) is being used, print the last access time (the @samp{atime} in the inode). When explicitly sorting by time (@option{--sort=time} or @option{-t}) or when not using a long listing format, sort according to the access time. @item -U @itemx --sort=none @opindex -U @opindex --sort @opindex none@r{, sorting option for @command{ls}} Do not sort; list the files in whatever order they are stored in the directory. (Do not do any of the other unrelated things that @option{-f} does.) This is especially useful when listing very large directories, since not doing any sorting can be noticeably faster. @item -v @itemx --sort=version @opindex -v @opindex --sort @opindex version@r{, sorting option for @command{ls}} Sort by version name and number, lowest first. It behaves like a default sort, except that each sequence of decimal digits is treated numerically as an index/version number. (@xref{Details about version sort}.) @item -X @itemx --sort=extension @opindex -X @opindex --sort @opindex extension@r{, sorting files by} Sort directory contents alphabetically by file extension (characters after the last @samp{.}); files with no extension are sorted first. @end table @node Details about version sort @subsection Details about version sort Version sorting handles the fact that file names frequently include indices or version numbers. Standard sorting usually does not produce the order that one expects because comparisons are made on a character-by-character basis. Version sorting is especially useful when browsing directories that contain many files with indices/version numbers in their names: @example $ ls -1 $ ls -1v abc.zml-1.gz abc.zml-1.gz abc.zml-12.gz abc.zml-2.gz abc.zml-2.gz abc.zml-12.gz @end example Version-sorted strings are compared such that if @var{ver1} and @var{ver2} are version numbers and @var{prefix} and @var{suffix} (@var{suffix} matching the regular expression @samp{(\.[A-Za-z~][A-Za-z0-9~]*)*}) are strings then @var{ver1} < @var{ver2} implies that the name composed of ``@var{prefix} @var{ver1} @var{suffix}'' sorts before ``@var{prefix} @var{ver2} @var{suffix}''. Note also that leading zeros of numeric parts are ignored: @example $ ls -1 $ ls -1v abc-1.007.tgz abc-1.01a.tgz abc-1.012b.tgz abc-1.007.tgz abc-1.01a.tgz abc-1.012b.tgz @end example This functionality is implemented using gnulib's @code{filevercmp} function, which has some caveats worth noting. @itemize @bullet @item @env{LC_COLLATE} is ignored, which means @samp{ls -v} and @samp{sort -V} will sort non-numeric prefixes as if the @env{LC_COLLATE} locale category was set to @samp{C}@. @item Some suffixes will not be matched by the regular expression mentioned above. Consequently these examples may not sort as you expect: @example abc-1.2.3.4.7z abc-1.2.3.7z @end example @example abc-1.2.3.4.x86_64.rpm abc-1.2.3.x86_64.rpm @end example @end itemize @node General output formatting @subsection General output formatting These options affect the appearance of the overall output. @table @samp @item -1 @itemx --format=single-column @opindex -1 @opindex --format @opindex single-column @r{output of files} List one file per line. This is the default for @command{ls} when standard output is not a terminal. @item -C @itemx --format=vertical @opindex -C @opindex --format @opindex vertical @r{sorted files in columns} List files in columns, sorted vertically. This is the default for @command{ls} if standard output is a terminal. It is always the default for the @command{dir} program. GNU @command{ls} uses variable width columns to display as many files as possible in the fewest lines. @item --color [=@var{when}] @opindex --color @cindex color, distinguishing file types with Specify whether to use color for distinguishing file types. @var{when} may be omitted, or one of: @itemize @bullet @item none @vindex none @r{color option} - Do not use color at all. This is the default. @item auto @vindex auto @r{color option} @cindex terminal, using color iff - Only use color if standard output is a terminal. @item always @vindex always @r{color option} - Always use color. @end itemize Specifying @option{--color} and no @var{when} is equivalent to @option{--color=always}. Piping a colorized listing through a pager like @command{more} or @command{less} usually produces unreadable results. However, using @code{more -f} does seem to work. @vindex LS_COLORS @vindex SHELL @r{environment variable, and color} Note that using the @option{--color} option may incur a noticeable performance penalty when run in a directory with very many entries, because the default settings require that @command{ls} @code{stat} every single file it lists. However, if you would like most of the file-type coloring but can live without the other coloring options (e.g., executable, orphan, sticky, other-writable, capability), use @command{dircolors} to set the @env{LS_COLORS} environment variable like this, @example eval $(dircolors -p | perl -pe \ 's/^((CAP|S[ET]|O[TR]|M|E)\w+).*/$1 00/' | dircolors -) @end example and on a @code{dirent.d_type}-capable file system, @command{ls} will perform only one @code{stat} call per command line argument. @item -F @itemx --classify @itemx --indicator-style=classify @opindex -F @opindex --classify @opindex --indicator-style @cindex file type and executables, marking @cindex executables and file type, marking Append a character to each file name indicating the file type. Also, for regular files that are executable, append @samp{*}. The file type indicators are @samp{/} for directories, @samp{@@} for symbolic links, @samp{|} for FIFOs, @samp{=} for sockets, @samp{>} for doors, and nothing for regular files. @c The following sentence is the same as the one for -d. Do not follow symbolic links listed on the command line unless the @option{--dereference-command-line} (@option{-H}), @option{--dereference} (@option{-L}), or @option{--dereference-command-line-symlink-to-dir} options are specified. @item --file-type @itemx --indicator-style=file-type @opindex --file-type @opindex --indicator-style @cindex file type, marking Append a character to each file name indicating the file type. This is like @option{-F}, except that executables are not marked. @item --indicator-style=@var{word} @opindex --indicator-style Append a character indicator with style @var{word} to entry names, as follows: @table @samp @item none Do not append any character indicator; this is the default. @item slash Append @samp{/} for directories. This is the same as the @option{-p} option. @item file-type Append @samp{/} for directories, @samp{@@} for symbolic links, @samp{|} for FIFOs, @samp{=} for sockets, and nothing for regular files. This is the same as the @option{--file-type} option. @item classify Append @samp{*} for executable regular files, otherwise behave as for @samp{file-type}. This is the same as the @option{-F} or @option{--classify} option. @end table @item -k @itemx --kibibytes @opindex -k @opindex --kibibytes Set the default block size to its normal value of 1024 bytes, overriding any contrary specification in environment variables (@pxref{Block size}). This option is in turn overridden by the @option{--block-size}, @option{-h} or @option{--human-readable}, and @option{--si} options. The @option{-k} or @option{--kibibytes} option affects the per-directory block count written by the @option{-l} and similar options, and the size written by the @option{-s} or @option{--size} option. It does not affect the file size written by @option{-l}. @item -m @itemx --format=commas @opindex -m @opindex --format @opindex commas@r{, outputting between files} List files horizontally, with as many as will fit on each line, separated by @samp{, } (a comma and a space). @item -p @itemx --indicator-style=slash @opindex -p @opindex --indicator-style @cindex file type, marking Append a @samp{/} to directory names. @item -x @itemx --format=across @itemx --format=horizontal @opindex -x @opindex --format @opindex across@r{, listing files} @opindex horizontal@r{, listing files} List the files in columns, sorted horizontally. @item -T @var{cols} @itemx --tabsize=@var{cols} @opindex -T @opindex --tabsize Assume that each tab stop is @var{cols} columns wide. The default is 8. @command{ls} uses tabs where possible in the output, for efficiency. If @var{cols} is zero, do not use tabs at all. @c FIXME: remove in 2009, if Apple Terminal has been fixed for long enough. Some terminal emulators (at least Apple Terminal 1.5 (133) from Mac OS X 10.4.8) do not properly align columns to the right of a TAB following a non-ASCII byte. If you use such a terminal emulator, use the @option{-T0} option or put @code{TABSIZE=0} in your environment to tell @command{ls} to align using spaces, not tabs. @item -w @itemx --width=@var{cols} @opindex -w @opindex --width @vindex COLUMNS Assume the screen is @var{cols} columns wide. The default is taken from the terminal settings if possible; otherwise the environment variable @env{COLUMNS} is used if it is set; otherwise the default is 80. @end table @node Formatting file timestamps @subsection Formatting file timestamps By default, file timestamps are listed in abbreviated form, using a date like @samp{Mar 30@ @ 2002} for non-recent timestamps, and a date-without-year and time like @samp{Mar 30 23:45} for recent timestamps. This format can change depending on the current locale as detailed below. @cindex clock skew A timestamp is considered to be @dfn{recent} if it is less than six months old, and is not dated in the future. If a timestamp dated today is not listed in recent form, the timestamp is in the future, which means you probably have clock skew problems which may break programs like @command{make} that rely on file timestamps. @vindex TZ Time stamps are listed according to the time zone rules specified by the @env{TZ} environment variable, or by the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. The following option changes how file timestamps are printed. @table @samp @item --time-style=@var{style} @opindex --time-style @cindex time style List timestamps in style @var{style}. The @var{style} should be one of the following: @table @samp @item +@var{format} @vindex LC_TIME List timestamps using @var{format}, where @var{format} is interpreted like the format argument of @command{date} (@pxref{date invocation}). For example, @option{--time-style="+%Y-%m-%d %H:%M:%S"} causes @command{ls} to list timestamps like @samp{2002-03-30 23:45:56}. As with @command{date}, @var{format}'s interpretation is affected by the @env{LC_TIME} locale category. If @var{format} contains two format strings separated by a newline, the former is used for non-recent files and the latter for recent files; if you want output columns to line up, you may need to insert spaces in one of the two formats. @item full-iso List timestamps in full using ISO 8601 date, time, and time zone format with nanosecond precision, e.g., @samp{2002-03-30 23:45:56.477817180 -0700}. This style is equivalent to @samp{+%Y-%m-%d %H:%M:%S.%N %z}. This is useful because the time output includes all the information that is available from the operating system. For example, this can help explain @command{make}'s behavior, since GNU @command{make} uses the full timestamp to determine whether a file is out of date. @item long-iso List ISO 8601 date and time in minutes, e.g., @samp{2002-03-30 23:45}. These timestamps are shorter than @samp{full-iso} timestamps, and are usually good enough for everyday work. This style is equivalent to @samp{+%Y-%m-%d %H:%M}. @item iso List ISO 8601 dates for non-recent timestamps (e.g., @samp{2002-03-30@ }), and ISO 8601 month, day, hour, and minute for recent timestamps (e.g., @samp{03-30 23:45}). These timestamps are uglier than @samp{long-iso} timestamps, but they carry nearly the same information in a smaller space and their brevity helps @command{ls} output fit within traditional 80-column output lines. The following two @command{ls} invocations are equivalent: @example newline=' ' ls -l --time-style="+%Y-%m-%d $newline%m-%d %H:%M" ls -l --time-style="iso" @end example @item locale @vindex LC_TIME List timestamps in a locale-dependent form. For example, a Finnish locale might list non-recent timestamps like @samp{maalis 30@ @ 2002} and recent timestamps like @samp{maalis 30 23:45}. Locale-dependent timestamps typically consume more space than @samp{iso} timestamps and are harder for programs to parse because locale conventions vary so widely, but they are easier for many people to read. The @env{LC_TIME} locale category specifies the timestamp format. The default POSIX locale uses timestamps like @samp{Mar 30@ @ 2002} and @samp{Mar 30 23:45}; in this locale, the following two @command{ls} invocations are equivalent: @example newline=' ' ls -l --time-style="+%b %e %Y$newline%b %e %H:%M" ls -l --time-style="locale" @end example Other locales behave differently. For example, in a German locale, @option{--time-style="locale"} might be equivalent to @option{--time-style="+%e. %b %Y $newline%e. %b %H:%M"} and might generate timestamps like @samp{30. M@"ar 2002@ } and @samp{30. M@"ar 23:45}. @item posix-@var{style} @vindex LC_TIME List POSIX-locale timestamps if the @env{LC_TIME} locale category is POSIX, @var{style} timestamps otherwise. For example, the @samp{posix-long-iso} style lists timestamps like @samp{Mar 30@ @ 2002} and @samp{Mar 30 23:45} when in the POSIX locale, and like @samp{2002-03-30 23:45} otherwise. @end table @end table @vindex TIME_STYLE You can specify the default value of the @option{--time-style} option with the environment variable @env{TIME_STYLE}; if @env{TIME_STYLE} is not set the default style is @samp{locale}. GNU Emacs 21.3 and later use the @option{--dired} option and therefore can parse any date format, but if you are using Emacs 21.1 or 21.2 and specify a non-POSIX locale you may need to set @samp{TIME_STYLE="posix-long-iso"}. To avoid certain denial-of-service attacks, timestamps that would be longer than 1000 bytes may be treated as errors. @node Formatting the file names @subsection Formatting the file names These options change how file names themselves are printed. @table @samp @item -b @itemx --escape @itemx --quoting-style=escape @opindex -b @opindex --escape @opindex --quoting-style @cindex backslash sequences for file names Quote nongraphic characters in file names using alphabetic and octal backslash sequences like those used in C. @item -N @itemx --literal @itemx --quoting-style=literal @opindex -N @opindex --literal @opindex --quoting-style Do not quote file names. However, with @command{ls} nongraphic characters are still printed as question marks if the output is a terminal and you do not specify the @option{--show-control-chars} option. @item -q @itemx --hide-control-chars @opindex -q @opindex --hide-control-chars Print question marks instead of nongraphic characters in file names. This is the default if the output is a terminal and the program is @command{ls}. @item -Q @itemx --quote-name @itemx --quoting-style=c @opindex -Q @opindex --quote-name @opindex --quoting-style Enclose file names in double quotes and quote nongraphic characters as in C. @item --quoting-style=@var{word} @opindex --quoting-style @cindex quoting style Use style @var{word} to quote file names and other strings that may contain arbitrary characters. The @var{word} should be one of the following: @table @samp @item literal Output strings as-is; this is the same as the @option{-N} or @option{--literal} option. @item shell Quote strings for the shell if they contain shell metacharacters or would cause ambiguous output. The quoting is suitable for POSIX-compatible shells like @command{bash}, but it does not always work for incompatible shells like @command{csh}. @item shell-always Quote strings for the shell, even if they would normally not require quoting. @item c Quote strings as for C character string literals, including the surrounding double-quote characters; this is the same as the @option{-Q} or @option{--quote-name} option. @item escape Quote strings as for C character string literals, except omit the surrounding double-quote characters; this is the same as the @option{-b} or @option{--escape} option. @item clocale Quote strings as for C character string literals, except use surrounding quotation marks appropriate for the locale. @item locale @c Use @t instead of @samp to avoid duplicate quoting in some output styles. Quote strings as for C character string literals, except use surrounding quotation marks appropriate for the locale, and quote @t{'like this'} instead of @t{"like this"} in the default C locale. This looks nicer on many displays. @end table You can specify the default value of the @option{--quoting-style} option with the environment variable @env{QUOTING_STYLE}@. If that environment variable is not set, the default value is @samp{literal}, but this default may change to @samp{shell} in a future version of this package. @item --show-control-chars @opindex --show-control-chars Print nongraphic characters as-is in file names. This is the default unless the output is a terminal and the program is @command{ls}. @end table @node dir invocation @section @command{dir}: Briefly list directory contents @pindex dir @cindex directory listing, brief @command{dir} is equivalent to @code{ls -C -b}; that is, by default files are listed in columns, sorted vertically, and special characters are represented by backslash escape sequences. @xref{ls invocation, @command{ls}}. @node vdir invocation @section @command{vdir}: Verbosely list directory contents @pindex vdir @cindex directory listing, verbose @command{vdir} is equivalent to @code{ls -l -b}; that is, by default files are listed in long format and special characters are represented by backslash escape sequences. @node dircolors invocation @section @command{dircolors}: Color setup for @command{ls} @pindex dircolors @cindex color setup @cindex setup for color @command{dircolors} outputs a sequence of shell commands to set up the terminal for color output from @command{ls} (and @command{dir}, etc.). Typical usage: @example eval "$(dircolors [@var{option}]@dots{} [@var{file}])" @end example If @var{file} is specified, @command{dircolors} reads it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run @samp{dircolors --print-database}. To make @command{dircolors} read a @file{~/.dircolors} file if it exists, you can put the following lines in your @file{~/.bashrc} (or adapt them to your favorite shell): @example d=.dircolors test -r $d && eval "$(dircolors $d)" @end example @vindex LS_COLORS @vindex SHELL @r{environment variable, and color} The output is a shell command to set the @env{LS_COLORS} environment variable. You can specify the shell syntax to use on the command line, or @command{dircolors} will guess it from the value of the @env{SHELL} environment variable. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -b @itemx --sh @itemx --bourne-shell @opindex -b @opindex --sh @opindex --bourne-shell @cindex Bourne shell syntax for color setup @cindex @command{sh} syntax for color setup Output Bourne shell commands. This is the default if the @env{SHELL} environment variable is set and does not end with @samp{csh} or @samp{tcsh}. @item -c @itemx --csh @itemx --c-shell @opindex -c @opindex --csh @opindex --c-shell @cindex C shell syntax for color setup @cindex @command{csh} syntax for color setup Output C shell commands. This is the default if @code{SHELL} ends with @command{csh} or @command{tcsh}. @item -p @itemx --print-database @opindex -p @opindex --print-database @cindex color database, printing @cindex database for color setup, printing @cindex printing color database Print the (compiled-in) default color configuration database. This output is itself a valid configuration file, and is fairly descriptive of the possibilities. @end table @exitstatus @node Basic operations @chapter Basic operations @cindex manipulating files This chapter describes the commands for basic file manipulation: copying, moving (renaming), and deleting (removing). @menu * cp invocation:: Copy files. * dd invocation:: Convert and copy a file. * install invocation:: Copy files and set attributes. * mv invocation:: Move (rename) files. * rm invocation:: Remove files or directories. * shred invocation:: Remove files more securely. @end menu @node cp invocation @section @command{cp}: Copy files and directories @pindex cp @cindex copying files and directories @cindex files, copying @cindex directories, copying @command{cp} copies files (or, optionally, directories). The copy is completely independent of the original. You can either copy one file to another, or copy arbitrarily many files to a destination directory. Synopses: @example cp [@var{option}]@dots{} [-T] @var{source} @var{dest} cp [@var{option}]@dots{} @var{source}@dots{} @var{directory} cp [@var{option}]@dots{} -t @var{directory} @var{source}@dots{} @end example @itemize @bullet @item If two file names are given, @command{cp} copies the first file to the second. @item If the @option{--target-directory} (@option{-t}) option is given, or failing that if the last file is a directory and the @option{--no-target-directory} (@option{-T}) option is not given, @command{cp} copies each @var{source} file to the specified directory, using the @var{source}s' names. @end itemize Generally, files are written just as they are read. For exceptions, see the @option{--sparse} option below. By default, @command{cp} does not copy directories. However, the @option{-R}, @option{-a}, and @option{-r} options cause @command{cp} to copy recursively by descending into source directories and copying files to corresponding destination directories. When copying from a symbolic link, @command{cp} normally follows the link only when not copying recursively. This default can be overridden with the @option{--archive} (@option{-a}), @option{-d}, @option{--dereference} (@option{-L}), @option{--no-dereference} (@option{-P}), and @option{-H} options. If more than one of these options is specified, the last one silently overrides the others. When copying to a symbolic link, @command{cp} follows the link only when it refers to an existing regular file. However, when copying to a dangling symbolic link, @command{cp} refuses by default, and fails with a diagnostic, since the operation is inherently dangerous. This behavior is contrary to historical practice and to POSIX@. Set @env{POSIXLY_CORRECT} to make @command{cp} attempt to create the target of a dangling destination symlink, in spite of the possible risk. Also, when an option like @option{--backup} or @option{--link} acts to rename or remove the destination before copying, @command{cp} renames or removes the symbolic link rather than the file it points to. By default, @command{cp} copies the contents of special files only when not copying recursively. This default can be overridden with the @option{--copy-contents} option. @cindex self-backups @cindex backups, making only @command{cp} generally refuses to copy a file onto itself, with the following exception: if @option{--force --backup} is specified with @var{source} and @var{dest} identical, and referring to a regular file, @command{cp} will make a backup file, either regular or numbered, as specified in the usual ways (@pxref{Backup options}). This is useful when you simply want to make a backup of an existing file before changing it. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --archive @opindex -a @opindex --archive Preserve as much as possible of the structure and attributes of the original files in the copy (but do not attempt to preserve internal directory structure; i.e., @samp{ls -U} may list the entries in a copied directory in a different order). Try to preserve SELinux security context and extended attributes (xattr), but ignore any failure to do that and print no corresponding diagnostic. Equivalent to @option{-dR --preserve=all} with the reduced diagnostics. @item --attributes-only @opindex --attributes-only Copy only the specified attributes of the source file to the destination. If the destination already exists, do not alter its contents. See the @option{--preserve} option for controlling which attributes to copy. @item -b @itemx @w{@kbd{--backup}[=@var{method}]} @opindex -b @opindex --backup @vindex VERSION_CONTROL @cindex backups, making @xref{Backup options}. Make a backup of each file that would otherwise be overwritten or removed. As a special case, @command{cp} makes a backup of @var{source} when the force and backup options are given and @var{source} and @var{dest} are the same name for an existing, regular file. One useful application of this combination of options is this tiny Bourne shell script: @example #!/bin/sh # Usage: backup FILE... # Create a GNU-style backup of each listed FILE. fail=0 for i; do cp --backup --force --preserve=all -- "$i" "$i" || fail=1 done exit $fail @end example @item --copy-contents @cindex directories, copying recursively @cindex copying directories recursively @cindex recursively copying directories @cindex non-directories, copying as special files If copying recursively, copy the contents of any special files (e.g., FIFOs and device files) as if they were regular files. This means trying to read the data in each source file and writing it to the destination. It is usually a mistake to use this option, as it normally has undesirable effects on special files like FIFOs and the ones typically found in the @file{/dev} directory. In most cases, @code{cp -R --copy-contents} will hang indefinitely trying to read from FIFOs and special files like @file{/dev/console}, and it will fill up your destination disk if you use it to copy @file{/dev/zero}. This option has no effect unless copying recursively, and it does not affect the copying of symbolic links. @item -d @opindex -d @cindex symbolic links, copying @cindex hard links, preserving Copy symbolic links as symbolic links rather than copying the files that they point to, and preserve hard links between source files in the copies. Equivalent to @option{--no-dereference --preserve=links}. @item -f @itemx --force @opindex -f @opindex --force When copying without this option and an existing destination file cannot be opened for writing, the copy fails. However, with @option{--force}, when a destination file cannot be opened, @command{cp} then removes it and tries to open it again. Contrast this behavior with that enabled by @option{--link} and @option{--symbolic-link}, whereby the destination file is never opened but rather is removed unconditionally. Also see the description of @option{--remove-destination}. This option is independent of the @option{--interactive} or @option{-i} option: neither cancels the effect of the other. This option is ignored when the @option{--no-clobber} or @option{-n} option is also used. @item -H @opindex -H If a command line argument specifies a symbolic link, then copy the file it points to rather than the symbolic link itself. However, copy (preserving its nature) any symbolic link that is encountered via recursive traversal. @item -i @itemx --interactive @opindex -i @opindex --interactive When copying a file other than a directory, prompt whether to overwrite an existing destination file. The @option{-i} option overrides a previous @option{-n} option. @item -l @itemx --link @opindex -l @opindex --link Make hard links instead of copies of non-directories. @item -L @itemx --dereference @opindex -L @opindex --dereference Follow symbolic links when copying from them. With this option, @command{cp} cannot create a symbolic link. For example, a symlink (to regular file) in the source tree will be copied to a regular file in the destination tree. @item -n @itemx --no-clobber @opindex -n @opindex --no-clobber Do not overwrite an existing file. The @option{-n} option overrides a previous @option{-i} option. This option is mutually exclusive with @option{-b} or @option{--backup} option. @item -P @itemx --no-dereference @opindex -P @opindex --no-dereference @cindex symbolic links, copying Copy symbolic links as symbolic links rather than copying the files that they point to. This option affects only symbolic links in the source; symbolic links in the destination are always followed if possible. @item -p @itemx @w{@kbd{--preserve}[=@var{attribute_list}]} @opindex -p @opindex --preserve @cindex file information, preserving, extended attributes, xattr Preserve the specified attributes of the original files. If specified, the @var{attribute_list} must be a comma-separated list of one or more of the following strings: @table @samp @item mode Preserve the file mode bits and access control lists. @item ownership Preserve the owner and group. On most modern systems, only users with appropriate privileges may change the owner of a file, and ordinary users may preserve the group ownership of a file only if they happen to be a member of the desired group. @item timestamps Preserve the times of last access and last modification, when possible. On older systems, it is not possible to preserve these attributes when the affected file is a symbolic link. However, many systems now provide the @code{utimensat} function, which makes it possible even for symbolic links. @item links Preserve in the destination files any links between corresponding source files. Note that with @option{-L} or @option{-H}, this option can convert symbolic links to hard links. For example, @example $ mkdir c; : > a; ln -s a b; cp -aH a b c; ls -i1 c 74161745 a 74161745 b @end example @noindent Note the inputs: @file{b} is a symlink to regular file @file{a}, yet the files in destination directory, @file{c/}, are hard-linked. Since @option{-a} implies @option{--preserve=links}, and since @option{-H} tells @command{cp} to dereference command line arguments, it sees two files with the same inode number, and preserves the perceived hard link. Here is a similar example that exercises @command{cp}'s @option{-L} option: @smallexample $ mkdir b c; (cd b; : > a; ln -s a b); cp -aL b c; ls -i1 c/b 74163295 a 74163295 b @end smallexample @item context Preserve SELinux security context of the file, or fail with full diagnostics. @item xattr Preserve extended attributes of the file, or fail with full diagnostics. If @command{cp} is built without xattr support, ignore this option. If SELinux context, ACLs or Capabilities are implemented using xattrs, they are preserved implicitly by this option as well, i.e., even without specifying @option{--preserve=mode} or @option{--preserve=context}. @item all Preserve all file attributes. Equivalent to specifying all of the above, but with the difference that failure to preserve SELinux security context or extended attributes does not change @command{cp}'s exit status. In contrast to @option{-a}, all but @samp{Operation not supported} warnings are output. @end table Using @option{--preserve} with no @var{attribute_list} is equivalent to @option{--preserve=mode,ownership,timestamps}. In the absence of this option, each destination file is created with the mode bits of the corresponding source file, minus the bits set in the umask and minus the set-user-ID and set-group-ID bits. @xref{File permissions}. @item @w{@kbd{--no-preserve}=@var{attribute_list}} @cindex file information, preserving Do not preserve the specified attributes. The @var{attribute_list} has the same form as for @option{--preserve}. @item --parents @opindex --parents @cindex parent directories and @command{cp} Form the name of each destination file by appending to the target directory a slash and the specified name of the source file. The last argument given to @command{cp} must be the name of an existing directory. For example, the command: @example cp --parents a/b/c existing_dir @end example @noindent copies the file @file{a/b/c} to @file{existing_dir/a/b/c}, creating any missing intermediate directories. @item -R @itemx -r @itemx --recursive @opindex -R @opindex -r @opindex --recursive @cindex directories, copying recursively @cindex copying directories recursively @cindex recursively copying directories @cindex non-directories, copying as special files Copy directories recursively. By default, do not follow symbolic links in the source; see the @option{--archive} (@option{-a}), @option{-d}, @option{--dereference} (@option{-L}), @option{--no-dereference} (@option{-P}), and @option{-H} options. Special files are copied by creating a destination file of the same type as the source; see the @option{--copy-contents} option. It is not portable to use @option{-r} to copy symbolic links or special files. On some non-GNU systems, @option{-r} implies the equivalent of @option{-L} and @option{--copy-contents} for historical reasons. Also, it is not portable to use @option{-R} to copy symbolic links unless you also specify @option{-P}, as POSIX allows implementations that dereference symbolic links by default. @item --reflink[=@var{when}] @opindex --reflink[=@var{when}] @cindex COW @cindex clone @cindex copy on write Perform a lightweight, copy-on-write (COW) copy, if supported by the file system. Once it has succeeded, beware that the source and destination files share the same disk data blocks as long as they remain unmodified. Thus, if a disk I/O error affects data blocks of one of the files, the other suffers the same fate. The @var{when} value can be one of the following: @table @samp @item always The default behavior: if the copy-on-write operation is not supported then report the failure for each file and exit with a failure status. @item auto If the copy-on-write operation is not supported then fall back to the standard copy behaviour. @end table This option is overridden by the @option{--link}, @option{--symbolic-link} and @option{--attributes-only} options, thus allowing it to be used to configure the default data copying behavior for @command{cp}. For example, with the following alias, @command{cp} will use the minimum amount of space supported by the file system. @example alias cp='cp --reflink=auto --sparse=always' @end example @item --remove-destination @opindex --remove-destination Remove each existing destination file before attempting to open it (contrast with @option{-f} above). @item --sparse=@var{when} @opindex --sparse=@var{when} @cindex sparse files, copying @cindex holes, copying files with @findex read @r{system call, and holes} A @dfn{sparse file} contains @dfn{holes}---a sequence of zero bytes that does not occupy any physical disk blocks; the @samp{read} system call reads these as zeros. This can both save considerable disk space and increase speed, since many binary files contain lots of consecutive zero bytes. By default, @command{cp} detects holes in input source files via a crude heuristic and makes the corresponding output file sparse as well. Only regular files may be sparse. The @var{when} value can be one of the following: @table @samp @item auto The default behavior: if the input file is sparse, attempt to make the output file sparse, too. However, if an output file exists but refers to a non-regular file, then do not attempt to make it sparse. @item always For each sufficiently long sequence of zero bytes in the input file, attempt to create a corresponding hole in the output file, even if the input file does not appear to be sparse. This is useful when the input file resides on a file system that does not support sparse files (for example, @samp{efs} file systems in SGI IRIX 5.3 and earlier), but the output file is on a type of file system that does support them. Holes may be created only in regular files, so if the destination file is of some other type, @command{cp} does not even try to make it sparse. @item never Never make the output file sparse. This is useful in creating a file for use with the @command{mkswap} command, since such a file must not have any holes. @end table @optStripTrailingSlashes @item -s @itemx --symbolic-link @opindex -s @opindex --symbolic-link @cindex symbolic links, copying with Make symbolic links instead of copies of non-directories. All source file names must be absolute (starting with @samp{/}) unless the destination files are in the current directory. This option merely results in an error message on systems that do not support symbolic links. @optBackupSuffix @optTargetDirectory @optNoTargetDirectory @item -u @itemx --update @opindex -u @opindex --update @cindex newer files, copying only Do not copy a non-directory that has an existing destination with the same or newer modification time. If time stamps are being preserved, the comparison is to the source time stamp truncated to the resolutions of the destination file system and of the system calls used to update time stamps; this avoids duplicate work if several @samp{cp -pu} commands are executed with the same source and destination. If @option{--preserve=links} is also specified (like with @samp{cp -au} for example), that will take precedence. Consequently, depending on the order that files are processed from the source, newer files in the destination may be replaced, to mirror hard links in the source. @item -v @itemx --verbose @opindex -v @opindex --verbose Print the name of each file before copying it. @item -x @itemx --one-file-system @opindex -x @opindex --one-file-system @cindex file systems, omitting copying to different Skip subdirectories that are on different file systems from the one that the copy started on. However, mount point directories @emph{are} copied. @end table @exitstatus @node dd invocation @section @command{dd}: Convert and copy a file @pindex dd @cindex converting while copying a file @command{dd} copies a file (from standard input to standard output, by default) with a changeable I/O block size, while optionally performing conversions on it. Synopses: @example dd [@var{operand}]@dots{} dd @var{option} @end example The only options are @option{--help} and @option{--version}. @xref{Common options}. @command{dd} accepts the following operands, whose syntax was inspired by the DD (data definition) statement of OS/360 JCL. @table @samp @item if=@var{file} @opindex if Read from @var{file} instead of standard input. @item of=@var{file} @opindex of Write to @var{file} instead of standard output. Unless @samp{conv=notrunc} is given, @command{dd} truncates @var{file} to zero bytes (or the size specified with @samp{seek=}). @item ibs=@var{bytes} @opindex ibs @cindex block size of input @cindex input block size Set the input block size to @var{bytes}. This makes @command{dd} read @var{bytes} per block. The default is 512 bytes. @item obs=@var{bytes} @opindex obs @cindex block size of output @cindex output block size Set the output block size to @var{bytes}. This makes @command{dd} write @var{bytes} per block. The default is 512 bytes. @item bs=@var{bytes} @opindex bs @cindex block size Set both input and output block sizes to @var{bytes}. This makes @command{dd} read and write @var{bytes} per block, overriding any @samp{ibs} and @samp{obs} settings. In addition, if no data-transforming @option{conv} option is specified, input is copied to the output as soon as it's read, even if it is smaller than the block size. @item cbs=@var{bytes} @opindex cbs @cindex block size of conversion @cindex conversion block size @cindex fixed-length records, converting to variable-length @cindex variable-length records, converting to fixed-length Set the conversion block size to @var{bytes}. When converting variable-length records to fixed-length ones (@option{conv=block}) or the reverse (@option{conv=unblock}), use @var{bytes} as the fixed record length. @item skip=@var{n} @opindex skip Skip @var{n} @samp{ibs}-byte blocks in the input file before copying. If @samp{iflag=skip_bytes} is specified, @var{n} is interpreted as a byte count rather than a block count. @item seek=@var{n} @opindex seek Skip @var{n} @samp{obs}-byte blocks in the output file before copying. if @samp{oflag=seek_bytes} is specified, @var{n} is interpreted as a byte count rather than a block count. @item count=@var{n} @opindex count Copy @var{n} @samp{ibs}-byte blocks from the input file, instead of everything until the end of the file. if @samp{iflag=count_bytes} is specified, @var{n} is interpreted as a byte count rather than a block count. Note if the input may return short reads as could be the case when reading from a pipe for example, @samp{iflag=fullblock} will ensure that @samp{count=} corresponds to complete input blocks rather than the traditional POSIX specified behavior of counting input read operations. @item status=@var{which} @opindex status Transfer information is normally output to stderr upon receipt of the @samp{INFO} signal or when @command{dd} exits. Specifying @var{which} will identify which information to suppress. @table @samp @item noxfer @opindex noxfer @r{dd status=} Do not print the transfer rate and volume statistics that normally make up the last status line. @item none @opindex none @r{dd status=} Do not print any informational messages to stderr. Error messages are output as normal. @end table @item conv=@var{conversion}[,@var{conversion}]@dots{} @opindex conv Convert the file as specified by the @var{conversion} argument(s). (No spaces around any comma(s).) Conversions: @table @samp @item ascii @opindex ascii@r{, converting to} Convert EBCDIC to ASCII, using the conversion table specified by POSIX@. This provides a 1:1 translation for all 256 bytes. @item ebcdic @opindex ebcdic@r{, converting to} Convert ASCII to EBCDIC@. This is the inverse of the @samp{ascii} conversion. @item ibm @opindex alternate ebcdic@r{, converting to} Convert ASCII to alternate EBCDIC, using the alternate conversion table specified by POSIX@. This is not a 1:1 translation, but reflects common historical practice for @samp{~}, @samp{[}, and @samp{]}. The @samp{ascii}, @samp{ebcdic}, and @samp{ibm} conversions are mutually exclusive. @item block @opindex block @r{(space-padding)} For each line in the input, output @samp{cbs} bytes, replacing the input newline with a space and padding with spaces as necessary. @item unblock @opindex unblock Remove any trailing spaces in each @samp{cbs}-sized input block, and append a newline. The @samp{block} and @samp{unblock} conversions are mutually exclusive. @item lcase @opindex lcase@r{, converting to} Change uppercase letters to lowercase. @item ucase @opindex ucase@r{, converting to} Change lowercase letters to uppercase. The @samp{lcase} and @samp{ucase} conversions are mutually exclusive. @item sparse @opindex sparse Try to seek rather than write NUL output blocks. On a file system that supports sparse files, this will create sparse output when extending the output file. Be careful when using this option in conjunction with @samp{conv=notrunc} or @samp{oflag=append}. With @samp{conv=notrunc}, existing data in the output file corresponding to NUL blocks from the input, will be untouched. With @samp{oflag=append} the seeks performed will be ineffective. Similarly, when the output is a device rather than a file, NUL input blocks are not copied, and therefore this option is most useful with virtual or pre zeroed devices. @item swab @opindex swab @r{(byte-swapping)} @cindex byte-swapping Swap every pair of input bytes. GNU @command{dd}, unlike others, works when an odd number of bytes are read---the last byte is simply copied (since there is nothing to swap it with). @item sync @opindex sync @r{(padding with ASCII NULs)} Pad every input block to size of @samp{ibs} with trailing zero bytes. When used with @samp{block} or @samp{unblock}, pad with spaces instead of zero bytes. @end table The following ``conversions'' are really file flags and don't affect internal processing: @table @samp @item excl @opindex excl @cindex creating output file, requiring Fail if the output file already exists; @command{dd} must create the output file itself. @item nocreat @opindex nocreat @cindex creating output file, avoiding Do not create the output file; the output file must already exist. The @samp{excl} and @samp{nocreat} conversions are mutually exclusive. @item notrunc @opindex notrunc @cindex truncating output file, avoiding Do not truncate the output file. @item noerror @opindex noerror @cindex read errors, ignoring Continue after read errors. @item fdatasync @opindex fdatasync @cindex synchronized data writes, before finishing Synchronize output data just before finishing. This forces a physical write of output data. @item fsync @opindex fsync @cindex synchronized data and metadata writes, before finishing Synchronize output data and metadata just before finishing. This forces a physical write of output data and metadata. @end table @item iflag=@var{flag}[,@var{flag}]@dots{} @opindex iflag Access the input file using the flags specified by the @var{flag} argument(s). (No spaces around any comma(s).) @item oflag=@var{flag}[,@var{flag}]@dots{} @opindex oflag Access the output file using the flags specified by the @var{flag} argument(s). (No spaces around any comma(s).) Here are the flags. Not every flag is supported on every operating system. @table @samp @item append @opindex append @cindex appending to the output file Write in append mode, so that even if some other process is writing to this file, every @command{dd} write will append to the current contents of the file. This flag makes sense only for output. If you combine this flag with the @samp{of=@var{file}} operand, you should also specify @samp{conv=notrunc} unless you want the output file to be truncated before being appended to. @item cio @opindex cio @cindex concurrent I/O Use concurrent I/O mode for data. This mode performs direct I/O and drops the POSIX requirement to serialize all I/O to the same file. A file cannot be opened in CIO mode and with a standard open at the same time. @item direct @opindex direct @cindex direct I/O Use direct I/O for data, avoiding the buffer cache. Note that the kernel may impose restrictions on read or write buffer sizes. For example, with an ext4 destination file system and a linux-based kernel, using @samp{oflag=direct} will cause writes to fail with @code{EINVAL} if the output buffer size is not a multiple of 512. @item directory @opindex directory @cindex directory I/O Fail unless the file is a directory. Most operating systems do not allow I/O to a directory, so this flag has limited utility. @item dsync @opindex dsync @cindex synchronized data reads Use synchronized I/O for data. For the output file, this forces a physical write of output data on each write. For the input file, this flag can matter when reading from a remote file that has been written to synchronously by some other process. Metadata (e.g., last-access and last-modified time) is not necessarily synchronized. @item sync @opindex sync @cindex synchronized data and metadata I/O Use synchronized I/O for both data and metadata. @item nocache @opindex nocache @cindex discarding file cache Discard the data cache for a file. When count=0 all cache is discarded, otherwise the cache is dropped for the processed portion of the file. Also when count=0 failure to discard the cache is diagnosed and reflected in the exit status. Here as some usage examples: @example # Advise to drop cache for whole file dd if=ifile iflag=nocache count=0 # Ensure drop cache for the whole file dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0 # Drop cache for part of file dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null # Stream data using just the read-ahead cache dd if=ifile of=ofile iflag=nocache oflag=nocache @end example @item nonblock @opindex nonblock @cindex nonblocking I/O Use non-blocking I/O. @item noatime @opindex noatime @cindex access time Do not update the file's access time. Some older file systems silently ignore this flag, so it is a good idea to test it on your files before relying on it. @item noctty @opindex noctty @cindex controlling terminal Do not assign the file to be a controlling terminal for @command{dd}. This has no effect when the file is not a terminal. On many hosts (e.g., GNU/Linux hosts), this option has no effect at all. @item nofollow @opindex nofollow @cindex symbolic links, following Do not follow symbolic links. @item nolinks @opindex nolinks @cindex hard links Fail if the file has multiple hard links. @item binary @opindex binary @cindex binary I/O Use binary I/O@. This option has an effect only on nonstandard platforms that distinguish binary from text I/O. @item text @opindex text @cindex text I/O Use text I/O@. Like @samp{binary}, this option has no effect on standard platforms. @item fullblock @opindex fullblock Accumulate full blocks from input. The @code{read} system call may return early if a full block is not available. When that happens, continue calling @code{read} to fill the remainder of the block. This flag can be used only with @code{iflag}. This flag is useful with pipes for example as they may return short reads. In that case, this flag is needed to ensure that a @samp{count=} argument is interpreted as a block count rather than a count of read operations. @item count_bytes @opindex count_bytes Interpret the @samp{count=} operand as a byte count, rather than a block count, which allows specifying a length that is not a multiple of the I/O block size. This flag can be used only with @code{iflag}. @item skip_bytes @opindex skip_bytes Interpret the @samp{skip=} operand as a byte count, rather than a block count, which allows specifying an offset that is not a multiple of the I/O block size. This flag can be used only with @code{iflag}. @item seek_bytes @opindex seek_bytes Interpret the @samp{seek=} operand as a byte count, rather than a block count, which allows specifying an offset that is not a multiple of the I/O block size. This flag can be used only with @code{oflag}. @end table These flags are not supported on all systems, and @samp{dd} rejects attempts to use them when they are not supported. When reading from standard input or writing to standard output, the @samp{nofollow} and @samp{noctty} flags should not be specified, and the other flags (e.g., @samp{nonblock}) can affect how other processes behave with the affected file descriptors, even after @command{dd} exits. @end table @cindex multipliers after numbers The numeric-valued strings above (@var{n} and @var{bytes}) can be followed by a multiplier: @samp{b}=512, @samp{c}=1, @samp{w}=2, @samp{x@var{m}}=@var{m}, or any of the standard block size suffixes like @samp{k}=1024 (@pxref{Block size}). Any block size you specify via @samp{bs=}, @samp{ibs=}, @samp{obs=}, @samp{cbs=} should not be too large---values larger than a few megabytes are generally wasteful or (as in the gigabyte..exabyte case) downright counterproductive or error-inducing. To process data that is at an offset or size that is not a multiple of the I/O@ block size, you can use the @samp{skip_bytes}, @samp{seek_bytes} and @samp{count_bytes} flags. Alternatively the traditional method of separate @command{dd} invocations can be used. For example, the following shell commands copy data in 512 KiB blocks between a disk and a tape, but do not save or restore a 4 KiB label at the start of the disk: @example disk=/dev/rdsk/c0t1d0s2 tape=/dev/rmt/0 # Copy all but the label from disk to tape. (dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tape # Copy from tape back to disk, but leave the disk label alone. (dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$disk @end example Sending an @samp{INFO} signal to a running @command{dd} process makes it print I/O statistics to standard error and then resume copying. In the example below, @command{dd} is run in the background to copy 10 million blocks. The @command{kill} command makes it output intermediate I/O statistics, and when @command{dd} completes normally or is killed by the @code{SIGINT} signal, it outputs the final statistics. @example $ dd if=/dev/zero of=/dev/null count=10MB & pid=$! $ kill -s INFO $pid; wait $pid 3385223+0 records in 3385223+0 records out 1733234176 bytes (1.7 GB) copied, 6.42173 seconds, 270 MB/s 10000000+0 records in 10000000+0 records out 5120000000 bytes (5.1 GB) copied, 18.913 seconds, 271 MB/s @end example @vindex POSIXLY_CORRECT On systems lacking the @samp{INFO} signal @command{dd} responds to the @samp{USR1} signal instead, unless the @env{POSIXLY_CORRECT} environment variable is set. @exitstatus @node install invocation @section @command{install}: Copy files and set attributes @pindex install @cindex copying files and setting attributes @command{install} copies files while setting their file mode bits and, if possible, their owner and group. Synopses: @example install [@var{option}]@dots{} [-T] @var{source} @var{dest} install [@var{option}]@dots{} @var{source}@dots{} @var{directory} install [@var{option}]@dots{} -t @var{directory} @var{source}@dots{} install [@var{option}]@dots{} -d @var{directory}@dots{} @end example @itemize @bullet @item If two file names are given, @command{install} copies the first file to the second. @item If the @option{--target-directory} (@option{-t}) option is given, or failing that if the last file is a directory and the @option{--no-target-directory} (@option{-T}) option is not given, @command{install} copies each @var{source} file to the specified directory, using the @var{source}s' names. @item If the @option{--directory} (@option{-d}) option is given, @command{install} creates each @var{directory} and any missing parent directories. Parent directories are created with mode @samp{u=rwx,go=rx} (755), regardless of the @option{-m} option or the current umask. @xref{Directory Setuid and Setgid}, for how the set-user-ID and set-group-ID bits of parent directories are inherited. @end itemize @cindex Makefiles, installing programs in @command{install} is similar to @command{cp}, but allows you to control the attributes of destination files. It is typically used in Makefiles to copy programs into their destination directories. It refuses to copy files onto themselves. @cindex extended attributes, xattr @command{install} never preserves extended attributes (xattr). The program accepts the following options. Also see @ref{Common options}. @table @samp @optBackup @item -C @itemx --compare @opindex -C @opindex --compare Compare each pair of source and destination files, and if the destination has identical content and any specified owner, group, permissions, and possibly SELinux context, then do not modify the destination at all. @item -c @opindex -c Ignored; for compatibility with old Unix versions of @command{install}. @item -D @opindex -D Create any missing parent directories of @var{dest}, then copy @var{source} to @var{dest}. This option is ignored if a destination directory is specified via @option{--target-directory=DIR}. @item -d @itemx --directory @opindex -d @opindex --directory @cindex directories, creating with given attributes @cindex parent directories, creating missing @cindex leading directories, creating missing Create any missing parent directories, giving them the default attributes. Then create each given directory, setting their owner, group and mode as given on the command line or to the defaults. @item -g @var{group} @itemx --group=@var{group} @opindex -g @opindex --group @cindex group ownership of installed files, setting Set the group ownership of installed files or directories to @var{group}. The default is the process's current group. @var{group} may be either a group name or a numeric group ID. @item -m @var{mode} @itemx --mode=@var{mode} @opindex -m @opindex --mode @cindex permissions of installed files, setting Set the file mode bits for the installed file or directory to @var{mode}, which can be either an octal number, or a symbolic mode as in @command{chmod}, with @samp{a=} (no access allowed to anyone) as the point of departure (@pxref{File permissions}). The default mode is @samp{u=rwx,go=rx,a-s}---read, write, and execute for the owner, read and execute for group and other, and with set-user-ID and set-group-ID disabled. This default is not quite the same as @samp{755}, since it disables instead of preserving set-user-ID and set-group-ID on directories. @xref{Directory Setuid and Setgid}. @item -o @var{owner} @itemx --owner=@var{owner} @opindex -o @opindex --owner @cindex ownership of installed files, setting @cindex appropriate privileges @vindex root @r{as default owner} If @command{install} has appropriate privileges (is run as root), set the ownership of installed files or directories to @var{owner}. The default is @code{root}. @var{owner} may be either a user name or a numeric user ID. @item --preserve-context @opindex --preserve-context @cindex SELinux @cindex security context Preserve the SELinux security context of files and directories. Failure to preserve the context in all of the files or directories will result in an exit status of 1. If SELinux is disabled then print a warning and ignore the option. @item -p @itemx --preserve-timestamps @opindex -p @opindex --preserve-timestamps @cindex timestamps of installed files, preserving Set the time of last access and the time of last modification of each installed file to match those of each corresponding original file. When a file is installed without this option, its last access and last modification times are both set to the time of installation. This option is useful if you want to use the last modification times of installed files to keep track of when they were last built as opposed to when they were last installed. @item -s @itemx --strip @opindex -s @opindex --strip @cindex symbol table information, stripping @cindex stripping symbol table information Strip the symbol tables from installed binary executables. @item --strip-program=@var{program} @opindex --strip-program @cindex symbol table information, stripping, program Program used to strip binaries. @optBackupSuffix @optTargetDirectory @optNoTargetDirectory @item -v @itemx --verbose @opindex -v @opindex --verbose Print the name of each file before copying it. @item -Z @var{context} @itemx --context=@var{context} @opindex -Z @opindex --context @cindex SELinux @cindex security context Set the default SELinux security context to be used for any created files and directories. If SELinux is disabled then print a warning and ignore the option. @end table @exitstatus @node mv invocation @section @command{mv}: Move (rename) files @pindex mv @command{mv} moves or renames files (or directories). Synopses: @example mv [@var{option}]@dots{} [-T] @var{source} @var{dest} mv [@var{option}]@dots{} @var{source}@dots{} @var{directory} mv [@var{option}]@dots{} -t @var{directory} @var{source}@dots{} @end example @itemize @bullet @item If two file names are given, @command{mv} moves the first file to the second. @item If the @option{--target-directory} (@option{-t}) option is given, or failing that if the last file is a directory and the @option{--no-target-directory} (@option{-T}) option is not given, @command{mv} moves each @var{source} file to the specified directory, using the @var{source}s' names. @end itemize @command{mv} can move any type of file from one file system to another. Prior to version @code{4.0} of the fileutils, @command{mv} could move only regular files between file systems. For example, now @command{mv} can move an entire directory hierarchy including special device files from one partition to another. It first uses some of the same code that's used by @code{cp -a} to copy the requested directories and files, then (assuming the copy succeeded) it removes the originals. If the copy fails, then the part that was copied to the destination partition is removed. If you were to copy three directories from one partition to another and the copy of the first directory succeeded, but the second didn't, the first would be left on the destination partition and the second and third would be left on the original partition. @cindex extended attributes, xattr @command{mv} always tries to copy extended attributes (xattr), which may include SELinux context, ACLs or Capabilities. Upon failure all but @samp{Operation not supported} warnings are output. @cindex prompting, and @command{mv} If a destination file exists but is normally unwritable, standard input is a terminal, and the @option{-f} or @option{--force} option is not given, @command{mv} prompts the user for whether to replace the file. (You might own the file, or have write permission on its directory.) If the response is not affirmative, the file is skipped. @emph{Warning}: Avoid specifying a source name with a trailing slash, when it might be a symlink to a directory. Otherwise, @command{mv} may do something very surprising, since its behavior depends on the underlying rename system call. On a system with a modern Linux-based kernel, it fails with @code{errno=ENOTDIR}@. However, on other systems (at least FreeBSD 6.1 and Solaris 10) it silently renames not the symlink but rather the directory referenced by the symlink. @xref{Trailing slashes}. The program accepts the following options. Also see @ref{Common options}. @table @samp @optBackup @item -f @itemx --force @opindex -f @opindex --force @cindex prompts, omitting Do not prompt the user before removing a destination file. @macro mvOptsIfn If you specify more than one of the @option{-i}, @option{-f}, @option{-n} options, only the final one takes effect. @end macro @mvOptsIfn @item -i @itemx --interactive @opindex -i @opindex --interactive @cindex prompts, forcing Prompt whether to overwrite each existing destination file, regardless of its permissions. If the response is not affirmative, the file is skipped. @mvOptsIfn @item -n @itemx --no-clobber @opindex -n @opindex --no-clobber @cindex prompts, omitting Do not overwrite an existing file. @mvOptsIfn This option is mutually exclusive with @option{-b} or @option{--backup} option. @item -u @itemx --update @opindex -u @opindex --update @cindex newer files, moving only Do not move a non-directory that has an existing destination with the same or newer modification time. If the move is across file system boundaries, the comparison is to the source time stamp truncated to the resolutions of the destination file system and of the system calls used to update time stamps; this avoids duplicate work if several @samp{mv -u} commands are executed with the same source and destination. @item -v @itemx --verbose @opindex -v @opindex --verbose Print the name of each file before moving it. @optStripTrailingSlashes @optBackupSuffix @optTargetDirectory @optNoTargetDirectory @end table @exitstatus @node rm invocation @section @command{rm}: Remove files or directories @pindex rm @cindex removing files or directories @command{rm} removes each given @var{file}. By default, it does not remove directories. Synopsis: @example rm [@var{option}]@dots{} [@var{file}]@dots{} @end example @cindex prompting, and @command{rm} If the @option{-I} or @option{--interactive=once} option is given, and there are more than three files or the @option{-r}, @option{-R}, or @option{--recursive} are given, then @command{rm} prompts the user for whether to proceed with the entire operation. If the response is not affirmative, the entire command is aborted. Otherwise, if a file is unwritable, standard input is a terminal, and the @option{-f} or @option{--force} option is not given, or the @option{-i} or @option{--interactive=always} option @emph{is} given, @command{rm} prompts the user for whether to remove the file. If the response is not affirmative, the file is skipped. Any attempt to remove a file whose last file name component is @file{.} or @file{..} is rejected without any prompting. @emph{Warning}: If you use @command{rm} to remove a file, it is usually possible to recover the contents of that file. If you want more assurance that the contents are truly unrecoverable, consider using @command{shred}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -d @itemx --dir @opindex -d @opindex --dir @cindex directories, removing Remove the listed directories if they are empty. @item -f @itemx --force @opindex -f @opindex --force Ignore nonexistent files and missing operands, and never prompt the user. Ignore any previous @option{--interactive} (@option{-i}) option. @item -i @opindex -i Prompt whether to remove each file. If the response is not affirmative, the file is skipped. Ignore any previous @option{--force} (@option{-f}) option. Equivalent to @option{--interactive=always}. @item -I @opindex -I Prompt once whether to proceed with the command, if more than three files are named or if a recursive removal is requested. Ignore any previous @option{--force} (@option{-f}) option. Equivalent to @option{--interactive=once}. @item --interactive [=@var{when}] @opindex --interactive Specify when to issue an interactive prompt. @var{when} may be omitted, or one of: @itemize @bullet @item never @vindex never @r{interactive option} - Do not prompt at all. @item once @vindex once @r{interactive option} - Prompt once if more than three files are named or if a recursive removal is requested. Equivalent to @option{-I}. @item always @vindex always @r{interactive option} - Prompt for every file being removed. Equivalent to @option{-i}. @end itemize @option{--interactive} with no @var{when} is equivalent to @option{--interactive=always}. @item --one-file-system @opindex --one-file-system @cindex one file system, restricting @command{rm} to When removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument. @cindex bind mount This option is useful when removing a build ``chroot'' hierarchy, which normally contains no valuable data. However, it is not uncommon to bind-mount @file{/home} into such a hierarchy, to make it easier to use one's start-up file. The catch is that it's easy to forget to unmount @file{/home}. Then, when you use @command{rm -rf} to remove your normally throw-away chroot, that command will remove everything under @file{/home}, too. Use the @option{--one-file-system} option, and it will warn about and skip directories on other file systems. Of course, this will not save your @file{/home} if it and your chroot happen to be on the same file system. @item --preserve-root @opindex --preserve-root @cindex root directory, disallow recursive destruction Fail upon any attempt to remove the root directory, @file{/}, when used with the @option{--recursive} option. This is the default behavior. @xref{Treating / specially}. @item --no-preserve-root @opindex --no-preserve-root @cindex root directory, allow recursive destruction Do not treat @file{/} specially when removing recursively. This option is not recommended unless you really want to remove all the files on your computer. @xref{Treating / specially}. @item -r @itemx -R @itemx --recursive @opindex -r @opindex -R @opindex --recursive @cindex directories, removing (recursively) Remove the listed directories and their contents recursively. @item -v @itemx --verbose @opindex -v @opindex --verbose Print the name of each file before removing it. @end table @cindex files beginning with @samp{-}, removing @cindex @samp{-}, removing files beginning with One common question is how to remove files whose names begin with a @samp{-}. GNU @command{rm}, like every program that uses the @code{getopt} function to parse its arguments, lets you use the @samp{--} option to indicate that all following arguments are non-options. To remove a file called @file{-f} in the current directory, you could type either: @example rm -- -f @end example @noindent or: @example rm ./-f @end example @opindex - @r{and Unix @command{rm}} The Unix @command{rm} program's use of a single @samp{-} for this purpose predates the development of the getopt standard syntax. @exitstatus @node shred invocation @section @command{shred}: Remove files more securely @pindex shred @cindex data, erasing @cindex erasing data @command{shred} overwrites devices or files, to help prevent even very expensive hardware from recovering the data. Ordinarily when you remove a file (@pxref{rm invocation}), the data is not actually destroyed. Only the index listing where the file is stored is destroyed, and the storage is made available for reuse. There are undelete utilities that will attempt to reconstruct the index and can bring the file back if the parts were not reused. On a busy system with a nearly-full drive, space can get reused in a few seconds. But there is no way to know for sure. If you have sensitive data, you may want to be sure that recovery is not possible by actually overwriting the file with non-sensitive data. However, even after doing that, it is possible to take the disk back to a laboratory and use a lot of sensitive (and expensive) equipment to look for the faint ``echoes'' of the original data underneath the overwritten data. If the data has only been overwritten once, it's not even that hard. The best way to remove something irretrievably is to destroy the media it's on with acid, melt it down, or the like. For cheap removable media like floppy disks, this is the preferred method. However, hard drives are expensive and hard to melt, so the @command{shred} utility tries to achieve a similar effect non-destructively. This uses many overwrite passes, with the data patterns chosen to maximize the damage they do to the old data. While this will work on floppies, the patterns are designed for best effect on hard drives. For more details, see the source code and Peter Gutmann's paper @uref{http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html, @cite{Secure Deletion of Data from Magnetic and Solid-State Memory}}, from the proceedings of the Sixth USENIX Security Symposium (San Jose, California, July 22--25, 1996). @strong{Please note} that @command{shred} relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. Exceptions include: @itemize @bullet @item Log-structured or journaled file systems, such as those supplied with AIX and Solaris, and JFS, ReiserFS, XFS, Ext3 (in @code{data=journal} mode), BFS, NTFS, etc., when they are configured to journal @emph{data}. @item File systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems. @item File systems that make snapshots, such as Network Appliance's NFS server. @item File systems that cache in temporary locations, such as NFS version 3 clients. @item Compressed file systems. @end itemize In the particular case of ext3 file systems, the above disclaimer applies (and @command{shred} is thus of limited effectiveness) only in @code{data=journal} mode, which journals file data in addition to just metadata. In both the @code{data=ordered} (default) and @code{data=writeback} modes, @command{shred} works as usual. Ext3 journaling modes can be changed by adding the @code{data=something} option to the mount options for a particular file system in the @file{/etc/fstab} file, as documented in the mount man page (man mount). If you are not sure how your file system operates, then you should assume that it does not overwrite data in place, which means that shred cannot reliably operate on regular files in your file system. Generally speaking, it is more reliable to shred a device than a file, since this bypasses the problem of file system design mentioned above. However, even shredding devices is not always completely reliable. For example, most disks map out bad sectors invisibly to the application; if the bad sectors contain sensitive data, @command{shred} won't be able to destroy it. @command{shred} makes no attempt to detect or report this problem, just as it makes no attempt to do anything about backups. However, since it is more reliable to shred devices than files, @command{shred} by default does not truncate or remove the output file. This default is more suitable for devices, which typically cannot be truncated and should not be removed. Finally, consider the risk of backups and mirrors. File system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. So if you keep any data you may later want to destroy using @command{shred}, be sure that it is not backed up or mirrored. @example shred [@var{option}]@dots{} @var{file}[@dots{}] @end example The program accepts the following options. Also see @ref{Common options}. @table @samp @item -f @itemx --force @opindex -f @opindex --force @cindex force deletion Override file permissions if necessary to allow overwriting. @item -@var{number} @itemx -n @var{number} @itemx --iterations=@var{number} @opindex -n @var{number} @opindex --iterations=@var{number} @cindex iterations, selecting the number of By default, @command{shred} uses @value{SHRED_DEFAULT_PASSES} passes of overwrite. You can reduce this to save time, or increase it if you think it's appropriate. After 25 passes all of the internal overwrite patterns will have been used at least once. @item --random-source=@var{file} @opindex --random-source @cindex random source for shredding Use @var{file} as a source of random data used to overwrite and to choose pass ordering. @xref{Random sources}. @item -s @var{bytes} @itemx --size=@var{bytes} @opindex -s @var{bytes} @opindex --size=@var{bytes} @cindex size of file to shred Shred the first @var{bytes} bytes of the file. The default is to shred the whole file. @var{bytes} can be followed by a size specification like @samp{K}, @samp{M}, or @samp{G} to specify a multiple. @xref{Block size}. @item -u @itemx --remove @opindex -u @opindex --remove @cindex removing files after shredding After shredding a file, truncate it (if possible) and then remove it. If a file has multiple links, only the named links will be removed. @item -v @itemx --verbose @opindex -v @opindex --verbose Display to standard error all status updates as sterilization proceeds. @item -x @itemx --exact @opindex -x @opindex --exact By default, @command{shred} rounds the size of a regular file up to the next multiple of the file system block size to fully erase the last block of the file. Use @option{--exact} to suppress that behavior. Thus, by default if you shred a 10-byte regular file on a system with 512-byte blocks, the resulting file will be 512 bytes long. With this option, shred does not increase the apparent size of the file. @item -z @itemx --zero @opindex -z @opindex --zero Normally, the last pass that @command{shred} writes is made up of random data. If this would be conspicuous on your hard drive (for example, because it looks like encrypted data), or you just think it's tidier, the @option{--zero} option adds an additional overwrite pass with all zero bits. This is in addition to the number of passes specified by the @option{--iterations} option. @end table You might use the following command to erase all trace of the file system you'd created on the floppy disk in your first drive. That command takes about 20 minutes to erase a ``1.44MB'' (actually 1440 KiB) floppy. @example shred --verbose /dev/fd0 @end example Similarly, to erase all data on a selected partition of your hard disk, you could give a command like this: @example shred --verbose /dev/sda5 @end example On modern disks, a single pass should be adequate, and it will take one third the time of the default three-pass approach. @example # 1 pass, write pseudo-random data; 3x faster than the default shred --verbose -n1 /dev/sda5 @end example To be on the safe side, use at least one pass that overwrites using pseudo-random data. I.e., don't be tempted to use @samp{-n0 --zero}, in case some disk controller optimizes the process of writing blocks of all zeros, and thereby does not clear all bytes in a block. Some SSDs may do just that. A @var{file} of @samp{-} denotes standard output. The intended use of this is to shred a removed temporary file. For example: @example i=$(mktemp) exec 3<>"$i" rm -- "$i" echo "Hello, world" >&3 shred - >&3 exec 3>- @end example However, the command @samp{shred - >file} does not shred the contents of @var{file}, since the shell truncates @var{file} before invoking @command{shred}. Use the command @samp{shred file} or (if using a Bourne-compatible shell) the command @samp{shred - 1<>file} instead. @exitstatus @node Special file types @chapter Special file types @cindex special file types @cindex file types, special This chapter describes commands which create special types of files (and @command{rmdir}, which removes directories, one special file type). @cindex special file types @cindex file types Although Unix-like operating systems have markedly fewer special file types than others, not @emph{everything} can be treated only as the undifferentiated byte stream of @dfn{normal files}. For example, when a file is created or removed, the system must record this information, which it does in a @dfn{directory}---a special type of file. Although you can read directories as normal files, if you're curious, in order for the system to do its job it must impose a structure, a certain order, on the bytes of the file. Thus it is a ``special'' type of file. Besides directories, other special file types include named pipes (FIFOs), symbolic links, sockets, and so-called @dfn{special files}. @menu * link invocation:: Make a hard link via the link syscall * ln invocation:: Make links between files. * mkdir invocation:: Make directories. * mkfifo invocation:: Make FIFOs (named pipes). * mknod invocation:: Make block or character special files. * readlink invocation:: Print value of a symlink or canonical file name. * rmdir invocation:: Remove empty directories. * unlink invocation:: Remove files via the unlink syscall @end menu @node link invocation @section @command{link}: Make a hard link via the link syscall @pindex link @cindex links, creating @cindex hard links, creating @cindex creating links (hard only) @command{link} creates a single hard link at a time. It is a minimalist interface to the system-provided @code{link} function. @xref{Hard Links, , , libc, The GNU C Library Reference Manual}. It avoids the bells and whistles of the more commonly-used @command{ln} command (@pxref{ln invocation}). Synopsis: @example link @var{filename} @var{linkname} @end example @var{filename} must specify an existing file, and @var{linkname} must specify a nonexistent entry in an existing directory. @command{link} simply calls @code{link (@var{filename}, @var{linkname})} to create the link. On a GNU system, this command acts like @samp{ln --directory --no-target-directory @var{filename} @var{linkname}}. However, the @option{--directory} and @option{--no-target-directory} options are not specified by POSIX, and the @command{link} command is more portable in practice. If @var{filename} is a symbolic link, it is unspecified whether @var{linkname} will be a hard link to the symbolic link or to the target of the symbolic link. Use @command{ln -P} or @command{ln -L} to specify which behavior is desired. @exitstatus @node ln invocation @section @command{ln}: Make links between files @pindex ln @cindex links, creating @cindex hard links, creating @cindex symbolic (soft) links, creating @cindex creating links (hard or soft) @cindex file systems and hard links @command{ln} makes links between files. By default, it makes hard links; with the @option{-s} option, it makes symbolic (or @dfn{soft}) links. Synopses: @example ln [@var{option}]@dots{} [-T] @var{target} @var{linkname} ln [@var{option}]@dots{} @var{target} ln [@var{option}]@dots{} @var{target}@dots{} @var{directory} ln [@var{option}]@dots{} -t @var{directory} @var{target}@dots{} @end example @itemize @bullet @item If two file names are given, @command{ln} creates a link to the first file from the second. @item If one @var{target} is given, @command{ln} creates a link to that file in the current directory. @item If the @option{--target-directory} (@option{-t}) option is given, or failing that if the last file is a directory and the @option{--no-target-directory} (@option{-T}) option is not given, @command{ln} creates a link to each @var{target} file in the specified directory, using the @var{target}s' names. @end itemize Normally @command{ln} does not remove existing files. Use the @option{--force} (@option{-f}) option to remove them unconditionally, the @option{--interactive} (@option{-i}) option to remove them conditionally, and the @option{--backup} (@option{-b}) option to rename them. @cindex hard link, defined @cindex inode, and hard links A @dfn{hard link} is another name for an existing file; the link and the original are indistinguishable. Technically speaking, they share the same inode, and the inode contains all the information about a file---indeed, it is not incorrect to say that the inode @emph{is} the file. Most systems prohibit making a hard link to a directory; on those where it is allowed, only the super-user can do so (and with caution, since creating a cycle will cause problems to many other utilities). Hard links cannot cross file system boundaries. (These restrictions are not mandated by POSIX, however.) @cindex dereferencing symbolic links @cindex symbolic link, defined @dfn{Symbolic links} (@dfn{symlinks} for short), on the other hand, are a special file type (which not all kernels support: System V release 3 (and older) systems lack symlinks) in which the link file actually refers to a different file, by name. When most operations (opening, reading, writing, and so on) are passed the symbolic link file, the kernel automatically @dfn{dereferences} the link and operates on the target of the link. But some operations (e.g., removing) work on the link file itself, rather than on its target. The owner and group of a symlink are not significant to file access performed through the link, but do have implications on deleting a symbolic link from a directory with the restricted deletion bit set. On the GNU system, the mode of a symlink has no significance and cannot be changed, but on some BSD systems, the mode can be changed and will affect whether the symlink will be traversed in file name resolution. @xref{Symbolic Links,,, libc, The GNU C Library Reference Manual}. Symbolic links can contain arbitrary strings; a @dfn{dangling symlink} occurs when the string in the symlink does not resolve to a file. There are no restrictions against creating dangling symbolic links. There are trade-offs to using absolute or relative symlinks. An absolute symlink always points to the same file, even if the directory containing the link is moved. However, if the symlink is visible from more than one machine (such as on a networked file system), the file pointed to might not always be the same. A relative symbolic link is resolved in relation to the directory that contains the link, and is often useful in referring to files on the same device without regards to what name that device is mounted on when accessed via networked machines. When creating a relative symlink in a different location than the current directory, the resolution of the symlink will be different than the resolution of the same string from the current directory. Therefore, many users prefer to first change directories to the location where the relative symlink will be created, so that tab-completion or other file resolution will find the same target as what will be placed in the symlink. The program accepts the following options. Also see @ref{Common options}. @table @samp @optBackup @item -d @itemx -F @itemx --directory @opindex -d @opindex -F @opindex --directory @cindex hard links to directories Allow users with appropriate privileges to attempt to make hard links to directories. However, note that this will probably fail due to system restrictions, even for the super-user. @item -f @itemx --force @opindex -f @opindex --force Remove existing destination files. @item -i @itemx --interactive @opindex -i @opindex --interactive @cindex prompting, and @command{ln} Prompt whether to remove existing destination files. @item -L @itemx --logical @opindex -L @opindex --logical If @option{-s} is not in effect, and the source file is a symbolic link, create the hard link to the file referred to by the symbolic link, rather than the symbolic link itself. @item -n @itemx --no-dereference @opindex -n @opindex --no-dereference Do not treat the last operand specially when it is a symbolic link to a directory. Instead, treat it as if it were a normal file. When the destination is an actual directory (not a symlink to one), there is no ambiguity. The link is created in that directory. But when the specified destination is a symlink to a directory, there are two ways to treat the user's request. @command{ln} can treat the destination just as it would a normal directory and create the link in it. On the other hand, the destination can be viewed as a non-directory---as the symlink itself. In that case, @command{ln} must delete or backup that symlink before creating the new link. The default is to treat a destination that is a symlink to a directory just like a directory. This option is weaker than the @option{--no-target-directory} (@option{-T}) option, so it has no effect if both options are given. @item -P @itemx --physical @opindex -P @opindex --physical If @option{-s} is not in effect, and the source file is a symbolic link, create the hard link to the symbolic link itself. On platforms where this is not supported by the kernel, this option creates a symbolic link with identical contents; since symbolic link contents cannot be edited, any file name resolution performed through either link will be the same as if a hard link had been created. @item -r @itemx --relative @opindex -r @opindex --relative Make symbolic links relative to the link location. Example: @smallexample ln -srv /a/file /tmp '/tmp/file' -> '../a/file' @end smallexample @xref{realpath invocation}, which gives greater control over relative file name generation. @item -s @itemx --symbolic @opindex -s @opindex --symbolic Make symbolic links instead of hard links. This option merely produces an error message on systems that do not support symbolic links. @optBackupSuffix @optTargetDirectory @optNoTargetDirectory @item -v @itemx --verbose @opindex -v @opindex --verbose Print the name of each file after linking it successfully. @end table @cindex hard links to symbolic links @cindex symbolic links and @command{ln} If @option{-L} and @option{-P} are both given, the last one takes precedence. If @option{-s} is also given, @option{-L} and @option{-P} are silently ignored. If neither option is given, then this implementation defaults to @option{-P} if the system @code{link} supports hard links to symbolic links (such as the GNU system), and @option{-L} if @code{link} follows symbolic links (such as on BSD). @exitstatus Examples: @smallexample Bad Example: # Create link ../a pointing to a in that directory. # Not really useful because it points to itself. ln -s a .. Better Example: # Change to the target before creating symlinks to avoid being confused. cd .. ln -s adir/a . Bad Example: # Hard coded file names don't move well. ln -s $(pwd)/a /some/dir/ Better Example: # Relative file names survive directory moves and also # work across networked file systems. ln -s afile anotherfile ln -s ../adir/afile yetanotherfile @end smallexample @node mkdir invocation @section @command{mkdir}: Make directories @pindex mkdir @cindex directories, creating @cindex creating directories @command{mkdir} creates directories with the specified names. Synopsis: @example mkdir [@var{option}]@dots{} @var{name}@dots{} @end example @command{mkdir} creates each directory @var{name} in the order given. It reports an error if @var{name} already exists, unless the @option{-p} option is given and @var{name} is a directory. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -m @var{mode} @itemx --mode=@var{mode} @opindex -m @opindex --mode @cindex modes of created directories, setting Set the file permission bits of created directories to @var{mode}, which uses the same syntax as in @command{chmod} and uses @samp{a=rwx} (read, write and execute allowed for everyone) for the point of the departure. @xref{File permissions}. Normally the directory has the desired file mode bits at the moment it is created. As a GNU extension, @var{mode} may also mention special mode bits, but in this case there may be a temporary window during which the directory exists but its special mode bits are incorrect. @xref{Directory Setuid and Setgid}, for how the set-user-ID and set-group-ID bits of directories are inherited unless overridden in this way. @item -p @itemx --parents @opindex -p @opindex --parents @cindex parent directories, creating Make any missing parent directories for each argument, setting their file permission bits to the umask modified by @samp{u+wx}. Ignore existing parent directories, and do not change their file permission bits. To set the file permission bits of any newly-created parent directories to a value that includes @samp{u+wx}, you can set the umask before invoking @command{mkdir}. For example, if the shell command @samp{(umask u=rwx,go=rx; mkdir -p P/Q)} creates the parent @file{P} it sets the parent's permission bits to @samp{u=rwx,go=rx}. To set a parent's special mode bits as well, you can invoke @command{chmod} after @command{mkdir}. @xref{Directory Setuid and Setgid}, for how the set-user-ID and set-group-ID bits of newly-created parent directories are inherited. @item -v @itemx --verbose @opindex -v @opindex --verbose Print a message for each created directory. This is most useful with @option{--parents}. @item -Z @var{context} @itemx --context=@var{context} @opindex -Z @opindex --context @cindex SELinux @cindex security context Set the default SELinux security context to be used for created directories. @end table @exitstatus @node mkfifo invocation @section @command{mkfifo}: Make FIFOs (named pipes) @pindex mkfifo @cindex FIFOs, creating @cindex named pipes, creating @cindex creating FIFOs (named pipes) @command{mkfifo} creates FIFOs (also called @dfn{named pipes}) with the specified names. Synopsis: @example mkfifo [@var{option}] @var{name}@dots{} @end example A @dfn{FIFO} is a special file type that permits independent processes to communicate. One process opens the FIFO file for writing, and another for reading, after which data can flow as with the usual anonymous pipe in shells or elsewhere. The program accepts the following option. Also see @ref{Common options}. @table @samp @item -m @var{mode} @itemx --mode=@var{mode} @opindex -m @opindex --mode @cindex modes of created FIFOs, setting Set the mode of created FIFOs to @var{mode}, which is symbolic as in @command{chmod} and uses @samp{a=rw} (read and write allowed for everyone) for the point of departure. @var{mode} should specify only file permission bits. @xref{File permissions}. @item -Z @var{context} @itemx --context=@var{context} @opindex -Z @opindex --context @cindex SELinux @cindex security context Set the default SELinux security context to be used for created FIFOs. @end table @exitstatus @node mknod invocation @section @command{mknod}: Make block or character special files @pindex mknod @cindex block special files, creating @cindex character special files, creating @command{mknod} creates a FIFO, character special file, or block special file with the specified name. Synopsis: @example mknod [@var{option}]@dots{} @var{name} @var{type} [@var{major} @var{minor}] @end example @cindex special files @cindex block special files @cindex character special files Unlike the phrase ``special file type'' above, the term @dfn{special file} has a technical meaning on Unix: something that can generate or receive data. Usually this corresponds to a physical piece of hardware, e.g., a printer or a disk. (These files are typically created at system-configuration time.) The @command{mknod} command is what creates files of this type. Such devices can be read either a character at a time or a ``block'' (many characters) at a time, hence we say there are @dfn{block special} files and @dfn{character special} files. @c mknod is a shell built-in at least with OpenBSD's /bin/sh @mayConflictWithShellBuiltIn{mknod} The arguments after @var{name} specify the type of file to make: @table @samp @item p @opindex p @r{for FIFO file} for a FIFO @item b @opindex b @r{for block special file} for a block special file @item c @c Don't document the 'u' option -- it's just a synonym for 'c'. @c Do *any* versions of mknod still use it? @c @itemx u @opindex c @r{for character special file} @c @opindex u @r{for character special file} for a character special file @end table When making a block or character special file, the major and minor device numbers must be given after the file type. If a major or minor device number begins with @samp{0x} or @samp{0X}, it is interpreted as hexadecimal; otherwise, if it begins with @samp{0}, as octal; otherwise, as decimal. The program accepts the following option. Also see @ref{Common options}. @table @samp @item -m @var{mode} @itemx --mode=@var{mode} @opindex -m @opindex --mode Set the mode of created files to @var{mode}, which is symbolic as in @command{chmod} and uses @samp{a=rw} as the point of departure. @var{mode} should specify only file permission bits. @xref{File permissions}. @item -Z @var{context} @itemx --context=@var{context} @opindex -Z @opindex --context @cindex SELinux @cindex security context Set the default SELinux security context to be used for created files. @end table @exitstatus @node readlink invocation @section @command{readlink}: Print value of a symlink or canonical file name @pindex readlink @cindex displaying value of a symbolic link @cindex canonical file name @cindex canonicalize a file name @findex realpath @command{readlink} may work in one of two supported modes: @table @samp @item Readlink mode @command{readlink} outputs the value of the given symbolic links. If @command{readlink} is invoked with an argument other than the name of a symbolic link, it produces no output and exits with a nonzero exit code. @item Canonicalize mode @command{readlink} outputs the absolute name of the given files which contain no @file{.}, @file{..} components nor any repeated separators (@file{/}) or symbolic links. @end table @example readlink [@var{option}]@dots{} @var{file}@dots{} @end example By default, @command{readlink} operates in readlink mode. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -f @itemx --canonicalize @opindex -f @opindex --canonicalize Activate canonicalize mode. If any component of the file name except the last one is missing or unavailable, @command{readlink} produces no output and exits with a nonzero exit code. A trailing slash is ignored. @item -e @itemx --canonicalize-existing @opindex -e @opindex --canonicalize-existing Activate canonicalize mode. If any component is missing or unavailable, @command{readlink} produces no output and exits with a nonzero exit code. A trailing slash requires that the name resolve to a directory. @item -m @itemx --canonicalize-missing @opindex -m @opindex --canonicalize-missing Activate canonicalize mode. If any component is missing or unavailable, @command{readlink} treats it as a directory. @item -n @itemx --no-newline @opindex -n @opindex --no-newline Do not print the output delimiter, when a single @var{file} is specified. Print a warning if specified along with multiple @var{file}s. @item -s @itemx -q @itemx --silent @itemx --quiet @opindex -s @opindex -q @opindex --silent @opindex --quiet Suppress most error messages. @item -v @itemx --verbose @opindex -v @opindex --verbose Report error messages. @item -z @itemx --zero @opindex -z @opindex --zero Separate output items with NUL characters. @end table The @command{readlink} utility first appeared in OpenBSD 2.1. The @command{realpath} command without options, operates like @command{readlink} in canonicalize mode. @exitstatus @node rmdir invocation @section @command{rmdir}: Remove empty directories @pindex rmdir @cindex removing empty directories @cindex directories, removing empty @command{rmdir} removes empty directories. Synopsis: @example rmdir [@var{option}]@dots{} @var{directory}@dots{} @end example If any @var{directory} argument does not refer to an existing empty directory, it is an error. The program accepts the following options. Also see @ref{Common options}. @table @samp @item --ignore-fail-on-non-empty @opindex --ignore-fail-on-non-empty @cindex directory deletion, ignoring failures Ignore each failure to remove a directory that is solely because the directory is non-empty. @item -p @itemx --parents @opindex -p @opindex --parents @cindex parent directories, removing Remove @var{directory}, then try to remove each component of @var{directory}. So, for example, @samp{rmdir -p a/b/c} is similar to @samp{rmdir a/b/c a/b a}. As such, it fails if any of those directories turns out not to be empty. Use the @option{--ignore-fail-on-non-empty} option to make it so such a failure does not evoke a diagnostic and does not cause @command{rmdir} to exit unsuccessfully. @item -v @itemx --verbose @opindex -v @opindex --verbose @cindex directory deletion, reporting Give a diagnostic for each successful removal. @var{directory} is removed. @end table @xref{rm invocation}, for how to remove non-empty directories (recursively). @exitstatus @node unlink invocation @section @command{unlink}: Remove files via the unlink syscall @pindex unlink @cindex removing files or directories (via the unlink syscall) @command{unlink} deletes a single specified file name. It is a minimalist interface to the system-provided @code{unlink} function. @xref{Deleting Files, , , libc, The GNU C Library Reference Manual}. Synopsis: It avoids the bells and whistles of the more commonly-used @command{rm} command (@pxref{rm invocation}). @example unlink @var{filename} @end example On some systems @code{unlink} can be used to delete the name of a directory. On others, it can be used that way only by a privileged user. In the GNU system @code{unlink} can never delete the name of a directory. The @command{unlink} command honors the @option{--help} and @option{--version} options. To remove a file whose name begins with @samp{-}, prefix the name with @samp{./}, e.g., @samp{unlink ./--help}. @exitstatus @node Changing file attributes @chapter Changing file attributes @cindex changing file attributes @cindex file attributes, changing @cindex attributes, file A file is not merely its contents, a name, and a file type (@pxref{Special file types}). A file also has an owner (a user ID), a group (a group ID), permissions (what the owner can do with the file, what people in the group can do, and what everyone else can do), various timestamps, and other information. Collectively, we call these a file's @dfn{attributes}. These commands change file attributes. @menu * chown invocation:: Change file owners and groups. * chgrp invocation:: Change file groups. * chmod invocation:: Change access permissions. * touch invocation:: Change file timestamps. @end menu @node chown invocation @section @command{chown}: Change file owner and group @pindex chown @cindex file ownership, changing @cindex group ownership, changing @cindex changing file ownership @cindex changing group ownership @command{chown} changes the user and/or group ownership of each given @var{file} to @var{new-owner} or to the user and group of an existing reference file. Synopsis: @example chown [@var{option}]@dots{} @{@var{new-owner} | --reference=@var{ref_file}@}@c @var{file}@dots{} @end example If used, @var{new-owner} specifies the new owner and/or group as follows (with no embedded white space): @example [@var{owner}] [ : [@var{group}] ] @end example Specifically: @table @var @item owner If only an @var{owner} (a user name or numeric user ID) is given, that user is made the owner of each given file, and the files' group is not changed. @item owner@samp{:}group If the @var{owner} is followed by a colon and a @var{group} (a group name or numeric group ID), with no spaces between them, the group ownership of the files is changed as well (to @var{group}). @item owner@samp{:} If a colon but no group name follows @var{owner}, that user is made the owner of the files and the group of the files is changed to @var{owner}'s login group. @item @samp{:}group If the colon and following @var{group} are given, but the owner is omitted, only the group of the files is changed; in this case, @command{chown} performs the same function as @command{chgrp}. @item @samp{:} If only a colon is given, or if @var{new-owner} is empty, neither the owner nor the group is changed. @end table If @var{owner} or @var{group} is intended to represent a numeric user or group ID, then you may specify it with a leading @samp{+}. @xref{Disambiguating names and IDs}. Some older scripts may still use @samp{.} in place of the @samp{:} separator. POSIX 1003.1-2001 (@pxref{Standards conformance}) does not require support for that, but for backward compatibility GNU @command{chown} supports @samp{.} so long as no ambiguity results. New scripts should avoid the use of @samp{.} because it is not portable, and because it has undesirable results if the entire @var{owner@samp{.}group} happens to identify a user whose name contains @samp{.}. The @command{chown} command sometimes clears the set-user-ID or set-group-ID permission bits. This behavior depends on the policy and functionality of the underlying @code{chown} system call, which may make system-dependent file mode modifications outside the control of the @command{chown} command. For example, the @command{chown} command might not affect those bits when invoked by a user with appropriate privileges, or when the bits signify some function other than executable permission (e.g., mandatory locking). When in doubt, check the underlying system behavior. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --changes @opindex -c @opindex --changes @cindex changed owners, verbosely describing Verbosely describe the action for each @var{file} whose ownership actually changes. @item -f @itemx --silent @itemx --quiet @opindex -f @opindex --silent @opindex --quiet @cindex error messages, omitting Do not print error messages about files whose ownership cannot be changed. @item @w{@kbd{--from}=@var{old-owner}} @opindex --from @cindex symbolic links, changing owner Change a @var{file}'s ownership only if it has current attributes specified by @var{old-owner}. @var{old-owner} has the same form as @var{new-owner} described above. This option is useful primarily from a security standpoint in that it narrows considerably the window of potential abuse. For example, to reflect a user ID numbering change for one user's files without an option like this, @code{root} might run @smallexample find / -owner OLDUSER -print0 | xargs -0 chown -h NEWUSER @end smallexample But that is dangerous because the interval between when the @command{find} tests the existing file's owner and when the @command{chown} is actually run may be quite large. One way to narrow the gap would be to invoke chown for each file as it is found: @example find / -owner OLDUSER -exec chown -h NEWUSER @{@} \; @end example But that is very slow if there are many affected files. With this option, it is safer (the gap is narrower still) though still not perfect: @example chown -h -R --from=OLDUSER NEWUSER / @end example @item --dereference @opindex --dereference @cindex symbolic links, changing owner @findex lchown Do not act on symbolic links themselves but rather on what they point to. This is the default. @item -h @itemx --no-dereference @opindex -h @opindex --no-dereference @cindex symbolic links, changing owner @findex lchown Act on symbolic links themselves instead of what they point to. This mode relies on the @code{lchown} system call. On systems that do not provide the @code{lchown} system call, @command{chown} fails when a file specified on the command line is a symbolic link. By default, no diagnostic is issued for symbolic links encountered during a recursive traversal, but see @option{--verbose}. @item --preserve-root @opindex --preserve-root @cindex root directory, disallow recursive modification Fail upon any attempt to recursively change the root directory, @file{/}. Without @option{--recursive}, this option has no effect. @xref{Treating / specially}. @item --no-preserve-root @opindex --no-preserve-root @cindex root directory, allow recursive modification Cancel the effect of any preceding @option{--preserve-root} option. @xref{Treating / specially}. @item --reference=@var{ref_file} @opindex --reference Change the user and group of each @var{file} to be the same as those of @var{ref_file}. If @var{ref_file} is a symbolic link, do not use the user and group of the symbolic link, but rather those of the file it refers to. @item -v @itemx --verbose @opindex -v @opindex --verbose Output a diagnostic for every file processed. If a symbolic link is encountered during a recursive traversal on a system without the @code{lchown} system call, and @option{--no-dereference} is in effect, then issue a diagnostic saying neither the symbolic link nor its referent is being changed. @item -R @itemx --recursive @opindex -R @opindex --recursive @cindex recursively changing file ownership Recursively change ownership of directories and their contents. @choptH @xref{Traversing symlinks}. @choptL @xref{Traversing symlinks}. @choptP @xref{Traversing symlinks}. @end table @exitstatus Examples: @smallexample # Change the owner of /u to "root". chown root /u # Likewise, but also change its group to "staff". chown root:staff /u # Change the owner of /u and subfiles to "root". chown -hR root /u @end smallexample @node chgrp invocation @section @command{chgrp}: Change group ownership @pindex chgrp @cindex group ownership, changing @cindex changing group ownership @command{chgrp} changes the group ownership of each given @var{file} to @var{group} (which can be either a group name or a numeric group ID) or to the group of an existing reference file. Synopsis: @example chgrp [@var{option}]@dots{} @{@var{group} | --reference=@var{ref_file}@}@c @var{file}@dots{} @end example If @var{group} is intended to represent a numeric group ID, then you may specify it with a leading @samp{+}. @xref{Disambiguating names and IDs}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --changes @opindex -c @opindex --changes @cindex changed files, verbosely describing Verbosely describe the action for each @var{file} whose group actually changes. @item -f @itemx --silent @itemx --quiet @opindex -f @opindex --silent @opindex --quiet @cindex error messages, omitting Do not print error messages about files whose group cannot be changed. @item --dereference @opindex --dereference @cindex symbolic links, changing owner @findex lchown Do not act on symbolic links themselves but rather on what they point to. This is the default. @item -h @itemx --no-dereference @opindex -h @opindex --no-dereference @cindex symbolic links, changing group @findex lchown Act on symbolic links themselves instead of what they point to. This mode relies on the @code{lchown} system call. On systems that do not provide the @code{lchown} system call, @command{chgrp} fails when a file specified on the command line is a symbolic link. By default, no diagnostic is issued for symbolic links encountered during a recursive traversal, but see @option{--verbose}. @item --preserve-root @opindex --preserve-root @cindex root directory, disallow recursive modification Fail upon any attempt to recursively change the root directory, @file{/}. Without @option{--recursive}, this option has no effect. @xref{Treating / specially}. @item --no-preserve-root @opindex --no-preserve-root @cindex root directory, allow recursive modification Cancel the effect of any preceding @option{--preserve-root} option. @xref{Treating / specially}. @item --reference=@var{ref_file} @opindex --reference Change the group of each @var{file} to be the same as that of @var{ref_file}. If @var{ref_file} is a symbolic link, do not use the group of the symbolic link, but rather that of the file it refers to. @item -v @itemx --verbose @opindex -v @opindex --verbose Output a diagnostic for every file processed. If a symbolic link is encountered during a recursive traversal on a system without the @code{lchown} system call, and @option{--no-dereference} is in effect, then issue a diagnostic saying neither the symbolic link nor its referent is being changed. @item -R @itemx --recursive @opindex -R @opindex --recursive @cindex recursively changing group ownership Recursively change the group ownership of directories and their contents. @choptH @xref{Traversing symlinks}. @choptL @xref{Traversing symlinks}. @choptP @xref{Traversing symlinks}. @end table @exitstatus Examples: @smallexample # Change the group of /u to "staff". chgrp staff /u # Change the group of /u and subfiles to "staff". chgrp -hR staff /u @end smallexample @node chmod invocation @section @command{chmod}: Change access permissions @pindex chmod @cindex changing access permissions @cindex access permissions, changing @cindex permissions, changing access @command{chmod} changes the access permissions of the named files. Synopsis: @example chmod [@var{option}]@dots{} @{@var{mode} | --reference=@var{ref_file}@}@c @var{file}@dots{} @end example @cindex symbolic links, permissions of @command{chmod} never changes the permissions of symbolic links, since the @command{chmod} system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, @command{chmod} changes the permissions of the pointed-to file. In contrast, @command{chmod} ignores symbolic links encountered during recursive directory traversals. A successful use of @command{chmod} clears the set-group-ID bit of a regular file if the file's group ID does not match the user's effective group ID or one of the user's supplementary group IDs, unless the user has appropriate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of @var{mode} or @var{ref_file} to be ignored. This behavior depends on the policy and functionality of the underlying @code{chmod} system call. When in doubt, check the underlying system behavior. If used, @var{mode} specifies the new file mode bits. For details, see the section on @ref{File permissions}. If you really want @var{mode} to have a leading @samp{-}, you should use @option{--} first, e.g., @samp{chmod -- -w file}. Typically, though, @samp{chmod a-w file} is preferable, and @command{chmod -w file} (without the @option{--}) complains if it behaves differently from what @samp{chmod a-w file} would do. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --changes @opindex -c @opindex --changes Verbosely describe the action for each @var{file} whose permissions actually changes. @item -f @itemx --silent @itemx --quiet @opindex -f @opindex --silent @opindex --quiet @cindex error messages, omitting Do not print error messages about files whose permissions cannot be changed. @item --preserve-root @opindex --preserve-root @cindex root directory, disallow recursive modification Fail upon any attempt to recursively change the root directory, @file{/}. Without @option{--recursive}, this option has no effect. @xref{Treating / specially}. @item --no-preserve-root @opindex --no-preserve-root @cindex root directory, allow recursive modification Cancel the effect of any preceding @option{--preserve-root} option. @xref{Treating / specially}. @item -v @itemx --verbose @opindex -v @opindex --verbose Verbosely describe the action or non-action taken for every @var{file}. @item --reference=@var{ref_file} @opindex --reference Change the mode of each @var{file} to be the same as that of @var{ref_file}. @xref{File permissions}. If @var{ref_file} is a symbolic link, do not use the mode of the symbolic link, but rather that of the file it refers to. @item -R @itemx --recursive @opindex -R @opindex --recursive @cindex recursively changing access permissions Recursively change permissions of directories and their contents. @end table @exitstatus @node touch invocation @section @command{touch}: Change file timestamps @pindex touch @cindex changing file timestamps @cindex file timestamps, changing @cindex timestamps, changing file @command{touch} changes the access and/or modification times of the specified files. Synopsis: @example touch [@var{option}]@dots{} @var{file}@dots{} @end example @cindex empty files, creating Any @var{file} argument that does not exist is created empty, unless option @option{--no-create} (@option{-c}) or @option{--no-dereference} (@option{-h}) was in effect. A @var{file} argument string of @samp{-} is handled specially and causes @command{touch} to change the times of the file associated with standard output. @cindex clock skew By default, @command{touch} sets file timestamps to the current time. Because @command{touch} acts on its operands left to right, the resulting timestamps of earlier and later operands may disagree. Also, the determination of what time is ``current'' depends on the platform. Platforms with network file systems often use different clocks for the operating system and for file systems; because @command{touch} typically uses file systems' clocks by default, clock skew can cause the resulting file timestamps to appear to be in a program's ``future'' or ``past''. @cindex file timestamp resolution The @command{touch} command sets the file's timestamp to the greatest representable value that is not greater than the requested time. This can differ from the requested time for several reasons. First, the requested time may have a higher resolution than supported. Second, a file system may use different resolutions for different types of times. Third, file timestamps may use a different resolution than operating system timestamps. Fourth, the operating system primitives used to update timestamps may employ yet a different resolution. For example, in theory a file system might use 10-microsecond resolution for access time and 100-nanosecond resolution for modification time, and the operating system might use nanosecond resolution for the current time and microsecond resolution for the primitive that @command{touch} uses to set a file's timestamp to an arbitrary value. @cindex permissions, for changing file timestamps When setting file timestamps to the current time, @command{touch} can change the timestamps for files that the user does not own but has write permission for. Otherwise, the user must own the files. Some older systems have a further restriction: the user must own the files unless both the access and modification times are being set to the current time. Although @command{touch} provides options for changing two of the times---the times of last access and modification---of a file, there is actually a standard third one as well: the inode change time. This is often referred to as a file's @code{ctime}. The inode change time represents the time when the file's meta-information last changed. One common example of this is when the permissions of a file change. Changing the permissions doesn't access the file, so the atime doesn't change, nor does it modify the file, so the mtime doesn't change. Yet, something about the file itself has changed, and this must be noted somewhere. This is the job of the ctime field. This is necessary, so that, for example, a backup program can make a fresh copy of the file, including the new permissions value. Another operation that modifies a file's ctime without affecting the others is renaming. In any case, it is not possible, in normal operations, for a user to change the ctime field to a user-specified value. Some operating systems and file systems support a fourth time: the birth time, when the file was first created; by definition, this timestamp never changes. @vindex TZ Time stamps assume the time zone rules specified by the @env{TZ} environment variable, or by the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. You can avoid ambiguities during daylight saving transitions by using UTC time stamps. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --time=atime @itemx --time=access @itemx --time=use @opindex -a @opindex --time @opindex atime@r{, changing} @opindex access @r{time, changing} @opindex use @r{time, changing} Change the access time only. @item -c @itemx --no-create @opindex -c @opindex --no-create Do not warn about or create files that do not exist. @item -d @itemx --date=@var{time} @opindex -d @opindex --date @opindex time Use @var{time} instead of the current time. It can contain month names, time zones, @samp{am} and @samp{pm}, @samp{yesterday}, etc. For example, @option{--date="2004-02-27 14:19:13.489392193 +0530"} specifies the instant of time that is 489,392,193 nanoseconds after February 27, 2004 at 2:19:13 PM in a time zone that is 5 hours and 30 minutes east of UTC@. @xref{Date input formats}. File systems that do not support high-resolution time stamps silently ignore any excess precision here. @item -f @opindex -f @cindex BSD @command{touch} compatibility Ignored; for compatibility with BSD versions of @command{touch}. @item -h @itemx --no-dereference @opindex -h @opindex --no-dereference @cindex symbolic links, changing time @findex lutimes Attempt to change the timestamps of a symbolic link, rather than what the link refers to. When using this option, empty files are not created, but option @option{-c} must also be used to avoid warning about files that do not exist. Not all systems support changing the timestamps of symlinks, since underlying system support for this action was not required until POSIX 2008. Also, on some systems, the mere act of examining a symbolic link changes the access time, such that only changes to the modification time will persist long enough to be observable. When coupled with option @option{-r}, a reference timestamp is taken from a symbolic link rather than the file it refers to. @item -m @itemx --time=mtime @itemx --time=modify @opindex -m @opindex --time @opindex mtime@r{, changing} @opindex modify @r{time, changing} Change the modification time only. @item -r @var{file} @itemx --reference=@var{file} @opindex -r @opindex --reference Use the times of the reference @var{file} instead of the current time. If this option is combined with the @option{--date=@var{time}} (@option{-d @var{time}}) option, the reference @var{file}'s time is the origin for any relative @var{time}s given, but is otherwise ignored. For example, @samp{-r foo -d '-5 seconds'} specifies a time stamp equal to five seconds before the corresponding time stamp for @file{foo}. If @var{file} is a symbolic link, the reference timestamp is taken from the target of the symlink, unless @option{-h} was also in effect. @item -t [[@var{cc}]@var{yy}]@var{mmddhhmm}[.@var{ss}] @cindex leap seconds Use the argument (optional four-digit or two-digit years, months, days, hours, minutes, optional seconds) instead of the current time. If the year is specified with only two digits, then @var{cc} is 20 for years in the range 0 @dots{} 68, and 19 for years in 69 @dots{} 99. If no digits of the year are specified, the argument is interpreted as a date in the current year. On the atypical systems that support leap seconds, @var{ss} may be @samp{60}. @end table @vindex _POSIX2_VERSION On older systems, @command{touch} supports an obsolete syntax, as follows. If no timestamp is given with any of the @option{-d}, @option{-r}, or @option{-t} options, and if there are two or more @var{file}s and the first @var{file} is of the form @samp{@var{mmddhhmm}[@var{yy}]} and this would be a valid argument to the @option{-t} option (if the @var{yy}, if any, were moved to the front), and if the represented year is in the range 1969--1999, that argument is interpreted as the time for the other files instead of as a file name. This obsolete behavior can be enabled or disabled with the @env{_POSIX2_VERSION} environment variable (@pxref{Standards conformance}), but portable scripts should avoid commands whose behavior depends on this variable. For example, use @samp{touch ./12312359 main.c} or @samp{touch -t 12312359 main.c} rather than the ambiguous @samp{touch 12312359 main.c}. @exitstatus @node Disk usage @chapter Disk usage @cindex disk usage No disk can hold an infinite amount of data. These commands report how much disk storage is in use or available, report other file and file status information, and write buffers to disk. @menu * df invocation:: Report file system disk space usage. * du invocation:: Estimate file space usage. * stat invocation:: Report file or file system status. * sync invocation:: Synchronize memory and disk. * truncate invocation:: Shrink or extend the size of a file. @end menu @node df invocation @section @command{df}: Report file system disk space usage @pindex df @cindex file system disk usage @cindex disk usage by file system @command{df} reports the amount of disk space used and available on file systems. Synopsis: @example df [@var{option}]@dots{} [@var{file}]@dots{} @end example With no arguments, @command{df} reports the space used and available on all currently mounted file systems (of all types). Otherwise, @command{df} reports on the file system containing each argument @var{file}. Normally the disk space is printed in units of 1024 bytes, but this can be overridden (@pxref{Block size}). Non-integer quantities are rounded up to the next higher unit. For bind mounts and without arguments, @command{df} only outputs the statistics for that device with the shortest mount point name in the list of file systems (@var{mtab}), i.e., it hides duplicate entries, unless the @option{-a} option is specified. With the same logic, @command{df} elides a mount entry of a dummy pseude device if there is another mount entry of a real block device for that mount point with the same device number, e.g. the early-boot pseudo file system @samp{rootfs} is not shown per default when already the real root device has been mounted. @cindex disk device file @cindex device file, disk If an argument @var{file} is a disk device file containing a mounted file system, @command{df} shows the space available on that file system rather than on the file system containing the device node (i.e., the root file system). GNU @command{df} does not attempt to determine the disk usage on unmounted file systems, because on most kinds of systems doing so requires extremely nonportable intimate knowledge of file system structures. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --all @opindex -a @opindex --all @cindex automounter file systems @cindex ignore file systems Include in the listing dummy file systems, which are omitted by default. Such file systems are typically special-purpose pseudo-file-systems, such as automounter entries. @item -B @var{size} @itemx --block-size=@var{size} @opindex -B @opindex --block-size @cindex file system sizes Scale sizes by @var{size} before printing them (@pxref{Block size}). For example, @option{-BG} prints sizes in units of 1,073,741,824 bytes. @item --total @opindex --total @cindex grand total of disk size, usage and available space Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk size, usage and available space of all listed devices. For the grand total line, @command{df} prints @samp{"total"} into the @var{source} column, and @samp{"-"} into the @var{target} column. If there is no @var{source} column (see @option{--output}), then @command{df} prints @samp{"total"} into the @var{target} column, if present. @optHumanReadable @item -H @opindex -H Equivalent to @option{--si}. @item -i @itemx --inodes @opindex -i @opindex --inodes @cindex inode usage List inode usage information instead of block usage. An inode (short for index node) contains information about a file such as its owner, permissions, timestamps, and location on the disk. @item -k @opindex -k @cindex kibibytes for file system sizes Print sizes in 1024-byte blocks, overriding the default block size (@pxref{Block size}). This option is equivalent to @option{--block-size=1K}. @item -l @itemx --local @opindex -l @opindex --local @cindex file system types, limiting output to certain Limit the listing to local file systems. By default, remote file systems are also listed. @item --no-sync @opindex --no-sync @cindex file system space, retrieving old data more quickly Do not invoke the @code{sync} system call before getting any usage data. This may make @command{df} run significantly faster on systems with many disks, but on some systems (notably SunOS) the results may be slightly out of date. This is the default. @item --output @itemx @w{@kbd{--output}[=@var{field_list}]} @opindex --output Use the output format defined by @var{field_list}, or print all fields if @var{field_list} is omitted. In the latter case, the order of the columns conforms to the order of the field descriptions below. The use of the @option{--output} together with each of the options @option{-i}, @option{-P}, and @option{-T} is mutually exclusive. FIELD_LIST is a comma-separated list of columns to be included in @command{df}'s output and therefore effectively controls the order of output columns. Each field can thus be used at the place of choice, but yet must only be used once. Valid field names in the @var{field_list} are: @table @samp @item source The source of the mount point, usually a device. @item fstype File system type. @item itotal Total number of inodes. @item iused Number of used inodes. @item iavail Number of available inodes. @item ipcent Percentage of @var{iused} divided by @var{itotal}. @item size Total number of blocks. @item used Number of used blocks. @item avail Number of available blocks. @item pcent Percentage of @var{used} divided by @var{size}. @item target The mount point. @end table The fields for block and inodes statistics are affected by the scaling options like @option{-h} as usual. The definition of the @var{field_list} can even be splitted among several @option{--output} uses. @example #!/bin/sh # Print the TARGET (i.e., the mount point) along with their percentage # statistic regarding the blocks and the inodes. df --out=target --output=pcent,ipcent # Print all available fields. df --o @end example @item -P @itemx --portability @opindex -P @opindex --portability @cindex one-line output format @cindex POSIX output format @cindex portable output format @cindex output format, portable Use the POSIX output format. This is like the default format except for the following: @enumerate @item The information about each file system is always printed on exactly one line; a mount device is never put on a line by itself. This means that if the mount device name is more than 20 characters long (e.g., for some network mounts), the columns are misaligned. @item The labels in the header output line are changed to conform to POSIX. @item The default block size and output format are unaffected by the @env{DF_BLOCK_SIZE}, @env{BLOCK_SIZE} and @env{BLOCKSIZE} environment variables. However, the default block size is still affected by @env{POSIXLY_CORRECT}: it is 512 if @env{POSIXLY_CORRECT} is set, 1024 otherwise. @xref{Block size}. @end enumerate @optSi @item --sync @opindex --sync @cindex file system space, retrieving current data more slowly Invoke the @code{sync} system call before getting any usage data. On some systems (notably SunOS), doing this yields more up to date results, but in general this option makes @command{df} much slower, especially when there are many or very busy file systems. @item -t @var{fstype} @itemx --type=@var{fstype} @opindex -t @opindex --type @cindex file system types, limiting output to certain Limit the listing to file systems of type @var{fstype}. Multiple file system types can be specified by giving multiple @option{-t} options. By default, nothing is omitted. @item -T @itemx --print-type @opindex -T @opindex --print-type @cindex file system types, printing Print each file system's type. The types printed here are the same ones you can include or exclude with @option{-t} and @option{-x}. The particular types printed are whatever is supported by the system. Here are some of the common names (this list is certainly not exhaustive): @table @samp @item nfs @cindex NFS file system type An NFS file system, i.e., one mounted over a network from another machine. This is the one type name which seems to be used uniformly by all systems. @item 4.2@r{, }ufs@r{, }efs@dots{} @cindex Linux file system types @cindex local file system types @opindex 4.2 @r{file system type} @opindex ufs @r{file system type} @opindex efs @r{file system type} A file system on a locally-mounted hard disk. (The system might even support more than one type here; Linux does.) @item hsfs@r{, }cdfs @cindex CD-ROM file system type @cindex High Sierra file system @opindex hsfs @r{file system type} @opindex cdfs @r{file system type} A file system on a CD-ROM drive. HP-UX uses @samp{cdfs}, most other systems use @samp{hsfs} (@samp{hs} for ``High Sierra''). @item pcfs @cindex PC file system @cindex DOS file system @cindex MS-DOS file system @cindex diskette file system @opindex pcfs An MS-DOS file system, usually on a diskette. @end table @item -x @var{fstype} @itemx --exclude-type=@var{fstype} @opindex -x @opindex --exclude-type Limit the listing to file systems not of type @var{fstype}. Multiple file system types can be eliminated by giving multiple @option{-x} options. By default, no file system types are omitted. @item -v Ignored; for compatibility with System V versions of @command{df}. @end table @exitstatus Failure includes the case where no output is generated, so you can inspect the exit status of a command like @samp{df -t ext3 -t reiserfs @var{dir}} to test whether @var{dir} is on a file system of type @samp{ext3} or @samp{reiserfs}. Since the list of file systems (@var{mtab}) is needed to determine the file system type, failure includes the cases when that list cannot be read and one or more of the options @option{-a}, @option{-l}, @option{-t} or @option{-x} is used together with a file name argument. @node du invocation @section @command{du}: Estimate file space usage @pindex du @cindex file space usage @cindex disk usage for files @command{du} reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). Synopsis: @example du [@var{option}]@dots{} [@var{file}]@dots{} @end example With no arguments, @command{du} reports the disk space for the current directory. Normally the disk space is printed in units of 1024 bytes, but this can be overridden (@pxref{Block size}). Non-integer quantities are rounded up to the next higher unit. If two or more hard links point to the same file, only one of the hard links is counted. The @var{file} argument order affects which links are counted, and changing the argument order may change the numbers that @command{du} outputs. The program accepts the following options. Also see @ref{Common options}. @table @samp @optNull{du} @item -a @itemx --all @opindex -a @opindex --all Show counts for all files, not just directories. @item --apparent-size @opindex --apparent-size Print apparent sizes, rather than disk usage. The apparent size of a file is the number of bytes reported by @code{wc -c} on regular files, or more generally, @code{ls -l --block-size=1} or @code{stat --format=%s}. For example, a file containing the word @samp{zoo} with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 KiB or more of disk space, depending on the type and configuration of the file system on which the file resides. However, a sparse file created with this command: @example dd bs=1 seek=2GiB if=/dev/null of=big @end example @noindent has an apparent size of 2 GiB, yet on most modern systems, it actually uses almost no disk space. @item -B @var{size} @itemx --block-size=@var{size} @opindex -B @opindex --block-size @cindex file sizes Scale sizes by @var{size} before printing them (@pxref{Block size}). For example, @option{-BG} prints sizes in units of 1,073,741,824 bytes. @item -b @itemx --bytes @opindex -b @opindex --bytes Equivalent to @code{--apparent-size --block-size=1}. @item -c @itemx --total @opindex -c @opindex --total @cindex grand total of disk space Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk usage of a given set of files or directories. @item -D @itemx --dereference-args @opindex -D @opindex --dereference-args Dereference symbolic links that are command line arguments. Does not affect other symbolic links. This is helpful for finding out the disk usage of directories, such as @file{/usr/tmp}, which are often symbolic links. @item -d @var{depth} @itemx --max-depth=@var{depth} @opindex -d @var{depth} @opindex --max-depth=@var{depth} @cindex limiting output of @command{du} Show the total for each directory (and file if --all) that is at most MAX_DEPTH levels down from the root of the hierarchy. The root is at level 0, so @code{du --max-depth=0} is equivalent to @code{du -s}. @c --files0-from=FILE @filesZeroFromOption{du,, with the @option{--total} (@option{-c}) option} @item -H @opindex -H Equivalent to @option{--dereference-args} (@option{-D}). @optHumanReadable @item -k @opindex -k @cindex kibibytes for file sizes Print sizes in 1024-byte blocks, overriding the default block size (@pxref{Block size}). This option is equivalent to @option{--block-size=1K}. @item -L @itemx --dereference @opindex -L @opindex --dereference @cindex symbolic links, dereferencing in @command{du} Dereference symbolic links (show the disk space used by the file or directory that the link points to instead of the space used by the link). @item -l @itemx --count-links @opindex -l @opindex --count-links @cindex hard links, counting in @command{du} Count the size of all files, even if they have appeared already (as a hard link). @item -m @opindex -m @cindex mebibytes for file sizes Print sizes in 1,048,576-byte blocks, overriding the default block size (@pxref{Block size}). This option is equivalent to @option{--block-size=1M}. @item -P @itemx --no-dereference @opindex -P @opindex --no-dereference @cindex symbolic links, dereferencing in @command{du} For each symbolic links encountered by @command{du}, consider the disk space used by the symbolic link. @item -S @itemx --separate-dirs @opindex -S @opindex --separate-dirs Normally, in the output of @command{du} (when not using @option{--summarize}), the size listed next to a directory name, @var{d}, represents the sum of sizes of all entries beneath @var{d} as well as the size of @var{d} itself. With @option{--separate-dirs}, the size reported for a directory name, @var{d}, is merely the @code{stat.st_size}-derived size of the directory entry, @var{d}. @optSi @item -s @itemx --summarize @opindex -s @opindex --summarize Display only a total for each argument. @item -t @var{size} @itemx --threshold=@var{size} @opindex -t @opindex --threshold Exclude entries based on a given @var{size} (@pxref{Block size}). If @var{size} is positive, then @command{du} will only print entries with a size greater than or equal to that. If @var{size} is negative, then @command{du} will only print entries with a size smaller than or equal to that. Although GNU @command{find} can be used to find files of a certain size, @command{du}'s @option{--threshold} option can be used to also filter directories based on a given size. Please note that the @option{--threshold} option can be combined with the @option{--apparent-size} option, and in this case would elide entries based on its apparent size. Here's how you would use @option{--threshold} to find directories with a size greater than or equal to 200 megabytes: @example du --threshold=200MB @end example Here's how you would use @option{--threshold} to find directories and files - note the @option{-a} - with an apparent size smaller than or equal to 500 bytes: @example du -a -t -500 --apparent-size @end example @item --time @opindex --time @cindex last modified dates, displaying in @command{du} Show time of the most recent modification of any file in the directory, or any of its subdirectories. @item --time=ctime @itemx --time=status @itemx --time=use @opindex --time @opindex ctime@r{, show the most recent} @opindex status time@r{, show the most recent} @opindex use time@r{, show the most recent} Show the most recent status change time (the @samp{ctime} in the inode) of any file in the directory, instead of the modification time. @item --time=atime @itemx --time=access @opindex --time @opindex atime@r{, show the most recent} @opindex access time@r{, show the most recent} Show the most recent access time (the @samp{atime} in the inode) of any file in the directory, instead of the modification time. @item --time-style=@var{style} @opindex --time-style @cindex time style List timestamps in style @var{style}. This option has an effect only if the @option{--time} option is also specified. The @var{style} should be one of the following: @table @samp @item +@var{format} @vindex LC_TIME List timestamps using @var{format}, where @var{format} is interpreted like the format argument of @command{date} (@pxref{date invocation}). For example, @option{--time-style="+%Y-%m-%d %H:%M:%S"} causes @command{du} to list timestamps like @samp{2002-03-30 23:45:56}. As with @command{date}, @var{format}'s interpretation is affected by the @env{LC_TIME} locale category. @item full-iso List timestamps in full using ISO 8601 date, time, and time zone format with nanosecond precision, e.g., @samp{2002-03-30 23:45:56.477817180 -0700}. This style is equivalent to @samp{+%Y-%m-%d %H:%M:%S.%N %z}. @item long-iso List ISO 8601 date and time in minutes, e.g., @samp{2002-03-30 23:45}. These timestamps are shorter than @samp{full-iso} timestamps, and are usually good enough for everyday work. This style is equivalent to @samp{+%Y-%m-%d %H:%M}. @item iso List ISO 8601 dates for timestamps, e.g., @samp{2002-03-30}. This style is equivalent to @samp{+%Y-%m-%d}. @end table @vindex TIME_STYLE You can specify the default value of the @option{--time-style} option with the environment variable @env{TIME_STYLE}; if @env{TIME_STYLE} is not set the default style is @samp{long-iso}. For compatibility with @command{ls}, if @env{TIME_STYLE} begins with @samp{+} and contains a newline, the newline and any later characters are ignored; if @env{TIME_STYLE} begins with @samp{posix-} the @samp{posix-} is ignored; and if @env{TIME_STYLE} is @samp{locale} it is ignored. @item -X @var{file} @itemx --exclude-from=@var{file} @opindex -X @var{file} @opindex --exclude-from=@var{file} @cindex excluding files from @command{du} Like @option{--exclude}, except take the patterns to exclude from @var{file}, one per line. If @var{file} is @samp{-}, take the patterns from standard input. @item --exclude=@var{pattern} @opindex --exclude=@var{pattern} @cindex excluding files from @command{du} When recursing, skip subdirectories or files matching @var{pattern}. For example, @code{du --exclude='*.o'} excludes files whose names end in @samp{.o}. @item -x @itemx --one-file-system @opindex -x @opindex --one-file-system @cindex one file system, restricting @command{du} to Skip directories that are on different file systems from the one that the argument being processed is on. @end table @cindex NFS mounts from BSD to HP-UX On BSD systems, @command{du} reports sizes that are half the correct values for files that are NFS-mounted from HP-UX systems. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX @command{du} program. @exitstatus @node stat invocation @section @command{stat}: Report file or file system status @pindex stat @cindex file status @cindex file system status @command{stat} displays information about the specified file(s). Synopsis: @example stat [@var{option}]@dots{} [@var{file}]@dots{} @end example With no option, @command{stat} reports all information about the given files. But it also can be used to report the information of the file systems the given files are located on. If the files are links, @command{stat} can also give information about the files the links point to. @mayConflictWithShellBuiltIn{stat} @table @samp @item -L @itemx --dereference @opindex -L @opindex --dereference @cindex symbolic links, dereferencing in @command{stat} Change how @command{stat} treats symbolic links. With this option, @command{stat} acts on the file referenced by each symbolic link argument. Without it, @command{stat} acts on any symbolic link argument directly. @item -f @itemx --file-system @opindex -f @opindex --file-system @cindex file systems Report information about the file systems where the given files are located instead of information about the files themselves. This option implies the @option{-L} option. @item -c @itemx --format=@var{format} @opindex -c @opindex --format=@var{format} @cindex output format Use @var{format} rather than the default format. @var{format} is automatically newline-terminated, so running a command like the following with two or more @var{file} operands produces a line of output for each operand: @example $ stat --format=%d:%i / /usr 2050:2 2057:2 @end example @item --printf=@var{format} @opindex --printf=@var{format} @cindex output format Use @var{format} rather than the default format. Like @option{--format}, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include @samp{\n} in the @var{format}. Here's how you would use @option{--printf} to print the device and inode numbers of @file{/} and @file{/usr}: @example $ stat --printf='%d:%i\n' / /usr 2050:2 2057:2 @end example @item -t @itemx --terse @opindex -t @opindex --terse @cindex terse output Print the information in terse form, suitable for parsing by other programs. @end table The valid @var{format} directives for files with @option{--format} and @option{--printf} are: @itemize @bullet @item %a - Access rights in octal @item %A - Access rights in human readable form @item %b - Number of blocks allocated (see @samp{%B}) @item %B - The size in bytes of each block reported by @samp{%b} @item %C - The SELinux security context of a file, if available @item %d - Device number in decimal @item %D - Device number in hex @item %f - Raw mode in hex @item %F - File type @item %g - Group ID of owner @item %G - Group name of owner @item %h - Number of hard links @item %i - Inode number @item %m - Mount point (See note below) @item %n - File name @item %N - Quoted file name with dereference if symbolic link @item %o - Optimal I/O transfer size hint @item %s - Total size, in bytes @item %t - Major device type in hex @item %T - Minor device type in hex @item %u - User ID of owner @item %U - User name of owner @item %w - Time of file birth, or @samp{-} if unknown @item %W - Time of file birth as seconds since Epoch, or @samp{0} @item %x - Time of last access @item %X - Time of last access as seconds since Epoch @item %y - Time of last modification @item %Y - Time of last modification as seconds since Epoch @item %z - Time of last change @item %Z - Time of last change as seconds since Epoch @end itemize The @samp{%W}, @samp{%X}, @samp{%Y}, and @samp{%Z} formats accept a precision preceded by a period to specify the number of digits to print after the decimal point. For example, @samp{%.3X} outputs the last access time to millisecond precision. If a period is given but no precision, @command{stat} uses 9 digits, so @samp{%.X} is equivalent to @samp{%.9X}@. When discarding excess precision, time stamps are truncated toward minus infinity. @example zero pad: $ stat -c '[%015Y]' /usr [000001288929712] space align: $ stat -c '[%15Y]' /usr [ 1288929712] $ stat -c '[%-15Y]' /usr [1288929712 ] precision: $ stat -c '[%.3Y]' /usr [1288929712.114] $ stat -c '[%.Y]' /usr [1288929712.114951834] @end example The mount point printed by @samp{%m} is similar to that output by @command{df}, except that: @itemize @bullet @item stat does not dereference symlinks by default (unless @option{-L} is specified) @item stat does not search for specified device nodes in the file system list, instead operating on them directly @item @cindex bind mount stat outputs the alias for a bind mounted file, rather than the initial mount point of its backing device. One can recursively call stat until there is no change in output, to get the current base mount point @end itemize When listing file system information (@option{--file-system} (@option{-f})), you must use a different set of @var{format} directives: @itemize @bullet @item %a - Free blocks available to non-super-user @item %b - Total data blocks in file system @item %c - Total file nodes in file system @item %d - Free file nodes in file system @item %f - Free blocks in file system @item %i - File System ID in hex @item %l - Maximum length of file names @item %n - File name @item %s - Block size (for faster transfers) @item %S - Fundamental block size (for block counts) @item %t - Type in hex @item %T - Type in human readable form @end itemize @vindex TZ Time stamps are listed according to the time zone rules specified by the @env{TZ} environment variable, or by the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. @exitstatus @node sync invocation @section @command{sync}: Synchronize data on disk with memory @pindex sync @cindex synchronize disk and memory @cindex superblock, writing @cindex inodes, written buffered @command{sync} writes any data buffered in memory out to disk. This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes. This must be implemented by the kernel; The @command{sync} program does nothing but exercise the @code{sync} system call. @cindex crashes and corruption The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes. This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. The @command{sync} command ensures everything in memory is written to disk. Any arguments are ignored, except for a lone @option{--help} or @option{--version} (@pxref{Common options}). @exitstatus @node truncate invocation @section @command{truncate}: Shrink or extend the size of a file @pindex truncate @cindex truncating, file sizes @command{truncate} shrinks or extends the size of each @var{file} to the specified size. Synopsis: @example truncate @var{option}@dots{} @var{file}@dots{} @end example @cindex files, creating Any @var{file} that does not exist is created. @cindex sparse files, creating @cindex holes, creating files with If a @var{file} is larger than the specified size, the extra data is lost. If a @var{file} is shorter, it is extended and the extended part (or hole) reads as zero bytes. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --no-create @opindex -c @opindex --no-create Do not create files that do not exist. @item -o @itemx --io-blocks @opindex -o @opindex --io-blocks Treat @var{size} as number of I/O blocks of the @var{file} rather than bytes. @item -r @var{rfile} @itemx --reference=@var{rfile} @opindex -r @opindex --reference Base the size of each @var{file} on the size of @var{rfile}. @item -s @var{size} @itemx --size=@var{size} @opindex -s @opindex --size Set or adjust the size of each @var{file} according to @var{size}. @multiplierSuffixesNoBlocks{size} @var{size} may also be prefixed by one of the following to adjust the size of each @var{file} based on their current size: @example @samp{+} => extend by @samp{-} => reduce by @samp{<} => at most @samp{>} => at least @samp{/} => round down to multiple of @samp{%} => round up to multiple of @end example @end table @exitstatus @node Printing text @chapter Printing text @cindex printing text, commands for @cindex commands for printing text This section describes commands that display text strings. @menu * echo invocation:: Print a line of text. * printf invocation:: Format and print data. * yes invocation:: Print a string until interrupted. @end menu @node echo invocation @section @command{echo}: Print a line of text @pindex echo @cindex displaying text @cindex printing text @cindex text, displaying @cindex arbitrary text, displaying @command{echo} writes each given @var{string} to standard output, with a space between each and a newline after the last one. Synopsis: @example echo [@var{option}]@dots{} [@var{string}]@dots{} @end example @mayConflictWithShellBuiltIn{echo} The program accepts the following options. Also see @ref{Common options}. Options must precede operands, and the normally-special argument @samp{--} has no special meaning and is treated like any other @var{string}. @table @samp @item -n @opindex -n Do not output the trailing newline. @item -e @opindex -e @cindex backslash escapes Enable interpretation of the following backslash-escaped characters in each @var{string}: @table @samp @item \a alert (bell) @item \b backspace @item \c produce no further output @item \e escape @item \f form feed @item \n newline @item \r carriage return @item \t horizontal tab @item \v vertical tab @item \\ backslash @item \0@var{nnn} the eight-bit value that is the octal number @var{nnn} (zero to three octal digits), if @var{nnn} is a nine-bit value, the ninth bit is ignored @item \@var{nnn} the eight-bit value that is the octal number @var{nnn} (one to three octal digits), if @var{nnn} is a nine-bit value, the ninth bit is ignored @item \x@var{hh} the eight-bit value that is the hexadecimal number @var{hh} (one or two hexadecimal digits) @end table @item -E @opindex -E @cindex backslash escapes Disable interpretation of backslash escapes in each @var{string}. This is the default. If @option{-e} and @option{-E} are both specified, the last one given takes effect. @end table @vindex POSIXLY_CORRECT If the @env{POSIXLY_CORRECT} environment variable is set, then when @command{echo}'s first argument is not @option{-n} it outputs option-like arguments instead of treating them as options. For example, @code{echo -ne hello} outputs @samp{-ne hello} instead of plain @samp{hello}. POSIX does not require support for any options, and says that the behavior of @command{echo} is implementation-defined if any @var{string} contains a backslash or if the first argument is @option{-n}. Portable programs can use the @command{printf} command if they need to omit trailing newlines or output control characters or backslashes. @xref{printf invocation}. @exitstatus @node printf invocation @section @command{printf}: Format and print data @pindex printf @command{printf} does formatted printing of text. Synopsis: @example printf @var{format} [@var{argument}]@dots{} @end example @command{printf} prints the @var{format} string, interpreting @samp{%} directives and @samp{\} escapes to format numeric and string arguments in a way that is mostly similar to the C @samp{printf} function. @xref{Output Conversion Syntax,, @command{printf} format directives, libc, The GNU C Library Reference Manual}, for details. The differences are listed below. @mayConflictWithShellBuiltIn{printf} @itemize @bullet @item The @var{format} argument is reused as necessary to convert all the given @var{argument}s. For example, the command @samp{printf %s a b} outputs @samp{ab}. @item Missing @var{argument}s are treated as null strings or as zeros, depending on whether the context expects a string or a number. For example, the command @samp{printf %sx%d} prints @samp{x0}. @item @kindex \c An additional escape, @samp{\c}, causes @command{printf} to produce no further output. For example, the command @samp{printf 'A%sC\cD%sF' B E} prints @samp{ABC}. @item The hexadecimal escape sequence @samp{\x@var{hh}} has at most two digits, as opposed to C where it can have an unlimited number of digits. For example, the command @samp{printf '\x07e'} prints two bytes, whereas the C statement @samp{printf ("\x07e")} prints just one. @item @kindex %b @command{printf} has an additional directive, @samp{%b}, which prints its argument string with @samp{\} escapes interpreted in the same way as in the @var{format} string, except that octal escapes are of the form @samp{\0@var{ooo}} where @var{ooo} is 0 to 3 octal digits. If @samp{\@var{ooo}} is nine-bit value, ignore the ninth bit. If a precision is also given, it limits the number of bytes printed from the converted string. @item Numeric arguments must be single C constants, possibly with leading @samp{+} or @samp{-}. For example, @samp{printf %.4d -3} outputs @samp{-0003}. @item @vindex POSIXLY_CORRECT If the leading character of a numeric argument is @samp{"} or @samp{'} then its value is the numeric value of the immediately following character. Any remaining characters are silently ignored if the @env{POSIXLY_CORRECT} environment variable is set; otherwise, a warning is printed. For example, @samp{printf "%d" "'a"} outputs @samp{97} on hosts that use the ASCII character set, since @samp{a} has the numeric value 97 in ASCII. @end itemize @vindex LC_NUMERIC A floating-point argument must use a period before any fractional digits, but is printed according to the @env{LC_NUMERIC} category of the current locale. For example, in a locale whose radix character is a comma, the command @samp{printf %g 3.14} outputs @samp{3,14} whereas the command @samp{printf %g 3,14} is an error. @xref{Floating point}. @kindex \@var{ooo} @kindex \x@var{hh} @command{printf} interprets @samp{\@var{ooo}} in @var{format} as an octal number (if @var{ooo} is 1 to 3 octal digits) specifying a byte to print, and @samp{\x@var{hh}} as a hexadecimal number (if @var{hh} is 1 to 2 hex digits) specifying a character to print. Note however that when @samp{\@var{ooo}} specifies a number larger than 255, @command{printf} ignores the ninth bit. For example, @samp{printf '\400'} is equivalent to @samp{printf '\0'}. @kindex \uhhhh @kindex \Uhhhhhhhh @cindex Unicode @cindex ISO/IEC 10646 @vindex LC_CTYPE @command{printf} interprets two character syntaxes introduced in ISO C 99: @samp{\u} for 16-bit Unicode (ISO/IEC 10646) characters, specified as four hexadecimal digits @var{hhhh}, and @samp{\U} for 32-bit Unicode characters, specified as eight hexadecimal digits @var{hhhhhhhh}. @command{printf} outputs the Unicode characters according to the @env{LC_CTYPE} locale. Unicode characters in the ranges U+0000@dots{}U+009F, U+D800@dots{}U+DFFF cannot be specified by this syntax, except for U+0024 ($), U+0040 (@@), and U+0060 (@`). The processing of @samp{\u} and @samp{\U} requires a full-featured @code{iconv} facility. It is activated on systems with glibc 2.2 (or newer), or when @code{libiconv} is installed prior to this package. Otherwise @samp{\u} and @samp{\U} will print as-is. The only options are a lone @option{--help} or @option{--version}. @xref{Common options}. Options must precede operands. The Unicode character syntaxes are useful for writing strings in a locale independent way. For example, a string containing the Euro currency symbol @example $ env printf '\u20AC 14.95' @end example @noindent will be output correctly in all locales supporting the Euro symbol (ISO-8859-15, UTF-8, and others). Similarly, a Chinese string @example $ env printf '\u4e2d\u6587' @end example @noindent will be output correctly in all Chinese locales (GB2312, BIG5, UTF-8, etc). Note that in these examples, the @command{printf} command has been invoked via @command{env} to ensure that we run the program found via your shell's search path, and not a shell alias or a built-in function. For larger strings, you don't need to look up the hexadecimal code values of each character one by one. ASCII characters mixed with \u escape sequences is also known as the JAVA source file encoding. You can use GNU recode 3.5c (or newer) to convert strings to this encoding. Here is how to convert a piece of text into a shell script which will output this text in a locale-independent way: @smallexample $ LC_CTYPE=zh_CN.big5 /usr/local/bin/printf \ '\u4e2d\u6587\n' > sample.txt $ recode BIG5..JAVA < sample.txt \ | sed -e "s|^|/usr/local/bin/printf '|" -e "s|$|\\\\n'|" \ > sample.sh @end smallexample @exitstatus @node yes invocation @section @command{yes}: Print a string until interrupted @pindex yes @cindex repeated output of a string @command{yes} prints the command line arguments, separated by spaces and followed by a newline, forever until it is killed. If no arguments are given, it prints @samp{y} followed by a newline forever until killed. Upon a write error, @command{yes} exits with status @samp{1}. The only options are a lone @option{--help} or @option{--version}. To output an argument that begins with @samp{-}, precede it with @option{--}, e.g., @samp{yes -- --help}. @xref{Common options}. @node Conditions @chapter Conditions @cindex conditions @cindex commands for exit status @cindex exit status commands This section describes commands that are primarily useful for their exit status, rather than their output. Thus, they are often used as the condition of shell @code{if} statements, or as the last command in a pipeline. @menu * false invocation:: Do nothing, unsuccessfully. * true invocation:: Do nothing, successfully. * test invocation:: Check file types and compare values. * expr invocation:: Evaluate expressions. @end menu @node false invocation @section @command{false}: Do nothing, unsuccessfully @pindex false @cindex do nothing, unsuccessfully @cindex failure exit status @cindex exit status of @command{false} @command{false} does nothing except return an exit status of 1, meaning @dfn{failure}. It can be used as a place holder in shell scripts where an unsuccessful command is needed. In most modern shells, @command{false} is a built-in command, so when you use @samp{false} in a script, you're probably using the built-in command, not the one documented here. @command{false} honors the @option{--help} and @option{--version} options. This version of @command{false} is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts. Note that @command{false} (unlike all other programs documented herein) exits unsuccessfully, even when invoked with @option{--help} or @option{--version}. Portable programs should not assume that the exit status of @command{false} is 1, as it is greater than 1 on some non-GNU hosts. @node true invocation @section @command{true}: Do nothing, successfully @pindex true @cindex do nothing, successfully @cindex no-op @cindex successful exit @cindex exit status of @command{true} @command{true} does nothing except return an exit status of 0, meaning @dfn{success}. It can be used as a place holder in shell scripts where a successful command is needed, although the shell built-in command @code{:} (colon) may do the same thing faster. In most modern shells, @command{true} is a built-in command, so when you use @samp{true} in a script, you're probably using the built-in command, not the one documented here. @command{true} honors the @option{--help} and @option{--version} options. Note, however, that it is possible to cause @command{true} to exit with nonzero status: with the @option{--help} or @option{--version} option, and with standard output already closed or redirected to a file that evokes an I/O error. For example, using a Bourne-compatible shell: @example $ ./true --version >&- ./true: write error: Bad file number $ ./true --version > /dev/full ./true: write error: No space left on device @end example This version of @command{true} is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts. @node test invocation @section @command{test}: Check file types and compare values @pindex test @cindex check file types @cindex compare values @cindex expression evaluation @command{test} returns a status of 0 (true) or 1 (false) depending on the evaluation of the conditional expression @var{expr}. Each part of the expression must be a separate argument. @command{test} has file status checks, string operators, and numeric comparison operators. @command{test} has an alternate form that uses opening and closing square brackets instead a leading @samp{test}. For example, instead of @samp{test -d /}, you can write @samp{[ -d / ]}. The square brackets must be separate arguments; for example, @samp{[-d /]} does not have the desired effect. Since @samp{test @var{expr}} and @samp{[ @var{expr} ]} have the same meaning, only the former form is discussed below. Synopses: @example test @var{expression} test [ @var{expression} ] [ ] [ @var{option} @end example @mayConflictWithShellBuiltIn{test} If @var{expression} is omitted, @command{test} returns false. If @var{expression} is a single argument, @command{test} returns false if the argument is null and true otherwise. The argument can be any string, including strings like @samp{-d}, @samp{-1}, @samp{--}, @samp{--help}, and @samp{--version} that most other programs would treat as options. To get help and version information, invoke the commands @samp{[ --help} and @samp{[ --version}, without the usual closing brackets. @xref{Common options}. @cindex exit status of @command{test} Exit status: @display 0 if the expression is true, 1 if the expression is false, 2 if an error occurred. @end display @menu * File type tests:: -[bcdfhLpSt] * Access permission tests:: -[gkruwxOG] * File characteristic tests:: -e -s -nt -ot -ef * String tests:: -z -n = == != * Numeric tests:: -eq -ne -lt -le -gt -ge * Connectives for test:: ! -a -o @end menu @node File type tests @subsection File type tests @cindex file type tests These options test for particular types of files. (Everything's a file, but not all files are the same!) @table @samp @item -b @var{file} @opindex -b @cindex block special check True if @var{file} exists and is a block special device. @item -c @var{file} @opindex -c @cindex character special check True if @var{file} exists and is a character special device. @item -d @var{file} @opindex -d @cindex directory check True if @var{file} exists and is a directory. @item -f @var{file} @opindex -f @cindex regular file check True if @var{file} exists and is a regular file. @item -h @var{file} @itemx -L @var{file} @opindex -L @opindex -h @cindex symbolic link check True if @var{file} exists and is a symbolic link. Unlike all other file-related tests, this test does not dereference @var{file} if it is a symbolic link. @item -p @var{file} @opindex -p @cindex named pipe check True if @var{file} exists and is a named pipe. @item -S @var{file} @opindex -S @cindex socket check True if @var{file} exists and is a socket. @item -t @var{fd} @opindex -t @cindex terminal check True if @var{fd} is a file descriptor that is associated with a terminal. @end table @node Access permission tests @subsection Access permission tests @cindex access permission tests @cindex permission tests These options test for particular access permissions. @table @samp @item -g @var{file} @opindex -g @cindex set-group-ID check True if @var{file} exists and has its set-group-ID bit set. @item -k @var{file} @opindex -k @cindex sticky bit check True if @var{file} exists and has its @dfn{sticky} bit set. @item -r @var{file} @opindex -r @cindex readable file check True if @var{file} exists and read permission is granted. @item -u @var{file} @opindex -u @cindex set-user-ID check True if @var{file} exists and has its set-user-ID bit set. @item -w @var{file} @opindex -w @cindex writable file check True if @var{file} exists and write permission is granted. @item -x @var{file} @opindex -x @cindex executable file check True if @var{file} exists and execute permission is granted (or search permission, if it is a directory). @item -O @var{file} @opindex -O @cindex owned by effective user ID check True if @var{file} exists and is owned by the current effective user ID. @item -G @var{file} @opindex -G @cindex owned by effective group ID check True if @var{file} exists and is owned by the current effective group ID. @end table @node File characteristic tests @subsection File characteristic tests @cindex file characteristic tests These options test other file characteristics. @table @samp @item -e @var{file} @opindex -e @cindex existence-of-file check True if @var{file} exists. @item -s @var{file} @opindex -s @cindex nonempty file check True if @var{file} exists and has a size greater than zero. @item @var{file1} -nt @var{file2} @opindex -nt @cindex newer-than file check True if @var{file1} is newer (according to modification date) than @var{file2}, or if @var{file1} exists and @var{file2} does not. @item @var{file1} -ot @var{file2} @opindex -ot @cindex older-than file check True if @var{file1} is older (according to modification date) than @var{file2}, or if @var{file2} exists and @var{file1} does not. @item @var{file1} -ef @var{file2} @opindex -ef @cindex same file check @cindex hard link check True if @var{file1} and @var{file2} have the same device and inode numbers, i.e., if they are hard links to each other. @end table @node String tests @subsection String tests @cindex string tests These options test string characteristics. You may need to quote @var{string} arguments for the shell. For example: @example test -n "$V" @end example The quotes here prevent the wrong arguments from being passed to @command{test} if @samp{$V} is empty or contains special characters. @table @samp @item -z @var{string} @opindex -z @cindex zero-length string check True if the length of @var{string} is zero. @item -n @var{string} @itemx @var{string} @opindex -n @cindex nonzero-length string check True if the length of @var{string} is nonzero. @item @var{string1} = @var{string2} @opindex = @cindex equal string check True if the strings are equal. @item @var{string1} == @var{string2} @opindex == @cindex equal string check True if the strings are equal (synonym for =). @item @var{string1} != @var{string2} @opindex != @cindex not-equal string check True if the strings are not equal. @end table @node Numeric tests @subsection Numeric tests @cindex numeric tests @cindex arithmetic tests Numeric relational operators. The arguments must be entirely numeric (possibly negative), or the special expression @w{@code{-l @var{string}}}, which evaluates to the length of @var{string}. @table @samp @item @var{arg1} -eq @var{arg2} @itemx @var{arg1} -ne @var{arg2} @itemx @var{arg1} -lt @var{arg2} @itemx @var{arg1} -le @var{arg2} @itemx @var{arg1} -gt @var{arg2} @itemx @var{arg1} -ge @var{arg2} @opindex -eq @opindex -ne @opindex -lt @opindex -le @opindex -gt @opindex -ge These arithmetic binary operators return true if @var{arg1} is equal, not-equal, less-than, less-than-or-equal, greater-than, or greater-than-or-equal than @var{arg2}, respectively. @end table For example: @example test -1 -gt -2 && echo yes @result{} yes test -l abc -gt 1 && echo yes @result{} yes test 0x100 -eq 1 @error{} test: integer expression expected before -eq @end example @node Connectives for test @subsection Connectives for @command{test} @cindex logical connectives @cindex connectives, logical The usual logical connectives. @table @samp @item ! @var{expr} @opindex ! True if @var{expr} is false. @item @var{expr1} -a @var{expr2} @opindex -a @cindex logical and operator @cindex and operator True if both @var{expr1} and @var{expr2} are true. @item @var{expr1} -o @var{expr2} @opindex -o @cindex logical or operator @cindex or operator True if either @var{expr1} or @var{expr2} is true. @end table @node expr invocation @section @command{expr}: Evaluate expressions @pindex expr @cindex expression evaluation @cindex evaluation of expressions @command{expr} evaluates an expression and writes the result on standard output. Each token of the expression must be a separate argument. Operands are either integers or strings. Integers consist of one or more decimal digits, with an optional leading @samp{-}. @command{expr} converts anything appearing in an operand position to an integer or a string depending on the operation being applied to it. Strings are not quoted for @command{expr} itself, though you may need to quote them to protect characters with special meaning to the shell, e.g., spaces. However, regardless of whether it is quoted, a string operand should not be a parenthesis or any of @command{expr}'s operators like @code{+}, so you cannot safely pass an arbitrary string @code{$str} to expr merely by quoting it to the shell. One way to work around this is to use the GNU extension @code{+}, (e.g., @code{+ "$str" = foo}); a more portable way is to use @code{@w{" $str"}} and to adjust the rest of the expression to take the leading space into account (e.g., @code{@w{" $str" = " foo"}}). You should not pass a negative integer or a string with leading @samp{-} as @command{expr}'s first argument, as it might be misinterpreted as an option; this can be avoided by parenthesization. Also, portable scripts should not use a string operand that happens to take the form of an integer; this can be worked around by inserting leading spaces as mentioned above. @cindex parentheses for grouping Operators may be given as infix symbols or prefix keywords. Parentheses may be used for grouping in the usual manner. You must quote parentheses and many operators to avoid the shell evaluating them, however. When built with support for the GNU MP library, @command{expr} uses arbitrary-precision arithmetic; otherwise, it uses native arithmetic types and may fail due to arithmetic overflow. The only options are @option{--help} and @option{--version}. @xref{Common options}. Options must precede operands. @cindex exit status of @command{expr} Exit status: @display 0 if the expression is neither null nor 0, 1 if the expression is null or 0, 2 if the expression is invalid, 3 if an internal error occurred (e.g., arithmetic overflow). @end display @menu * String expressions:: + : match substr index length * Numeric expressions:: + - * / % * Relations for expr:: | & < <= = == != >= > * Examples of expr:: Examples. @end menu @node String expressions @subsection String expressions @cindex string expressions @cindex expressions, string @command{expr} supports pattern matching and other string operators. These have higher precedence than both the numeric and relational operators (in the next sections). @table @samp @item @var{string} : @var{regex} @cindex pattern matching @cindex regular expression matching @cindex matching patterns Perform pattern matching. The arguments are converted to strings and the second is considered to be a (basic, a la GNU @code{grep}) regular expression, with a @code{^} implicitly prepended. The first argument is then matched against this regular expression. If the match succeeds and @var{regex} uses @samp{\(} and @samp{\)}, the @code{:} expression returns the part of @var{string} that matched the subexpression; otherwise, it returns the number of characters matched. If the match fails, the @code{:} operator returns the null string if @samp{\(} and @samp{\)} are used in @var{regex}, otherwise 0. @kindex \( @r{regexp operator} Only the first @samp{\( @dots{} \)} pair is relevant to the return value; additional pairs are meaningful only for grouping the regular expression operators. @kindex \+ @r{regexp operator} @kindex \? @r{regexp operator} @kindex \| @r{regexp operator} In the regular expression, @code{\+}, @code{\?}, and @code{\|} are operators which respectively match one or more, zero or one, or separate alternatives. SunOS and other @command{expr}'s treat these as regular characters. (POSIX allows either behavior.) @xref{Top, , Regular Expression Library, regex, Regex}, for details of regular expression syntax. Some examples are in @ref{Examples of expr}. @item match @var{string} @var{regex} @findex match An alternative way to do pattern matching. This is the same as @w{@samp{@var{string} : @var{regex}}}. @item substr @var{string} @var{position} @var{length} @findex substr Returns the substring of @var{string} beginning at @var{position} with length at most @var{length}. If either @var{position} or @var{length} is negative, zero, or non-numeric, returns the null string. @item index @var{string} @var{charset} @findex index Returns the first position in @var{string} where the first character in @var{charset} was found. If no character in @var{charset} is found in @var{string}, return 0. @item length @var{string} @findex length Returns the length of @var{string}. @item + @var{token} @kindex + Interpret @var{token} as a string, even if it is a keyword like @var{match} or an operator like @code{/}. This makes it possible to test @code{expr length + "$x"} or @code{expr + "$x" : '.*/\(.\)'} and have it do the right thing even if the value of @var{$x} happens to be (for example) @code{/} or @code{index}. This operator is a GNU extension. Portable shell scripts should use @code{@w{" $token"} : @w{' \(.*\)'}} instead of @code{+ "$token"}. @end table To make @command{expr} interpret keywords as strings, you must use the @code{quote} operator. @node Numeric expressions @subsection Numeric expressions @cindex numeric expressions @cindex expressions, numeric @command{expr} supports the usual numeric operators, in order of increasing precedence. These numeric operators have lower precedence than the string operators described in the previous section, and higher precedence than the connectives (next section). @table @samp @item + - @kindex + @kindex - @cindex addition @cindex subtraction Addition and subtraction. Both arguments are converted to integers; an error occurs if this cannot be done. @item * / % @kindex * @kindex / @kindex % @cindex multiplication @cindex division @cindex remainder Multiplication, division, remainder. Both arguments are converted to integers; an error occurs if this cannot be done. @end table @node Relations for expr @subsection Relations for @command{expr} @cindex connectives, logical @cindex logical connectives @cindex relations, numeric or string @command{expr} supports the usual logical connectives and relations. These have lower precedence than the string and numeric operators (previous sections). Here is the list, lowest-precedence operator first. @table @samp @item | @kindex | @cindex logical or operator @cindex or operator Returns its first argument if that is neither null nor zero, otherwise its second argument if it is neither null nor zero, otherwise 0. It does not evaluate its second argument if its first argument is neither null nor zero. @item & @kindex & @cindex logical and operator @cindex and operator Return its first argument if neither argument is null or zero, otherwise 0. It does not evaluate its second argument if its first argument is null or zero. @item < <= = == != >= > @kindex < @kindex <= @kindex = @kindex == @kindex > @kindex >= @cindex comparison operators @vindex LC_COLLATE Compare the arguments and return 1 if the relation is true, 0 otherwise. @code{==} is a synonym for @code{=}. @command{expr} first tries to convert both arguments to integers and do a numeric comparison; if either conversion fails, it does a lexicographic comparison using the character collating sequence specified by the @env{LC_COLLATE} locale. @end table @node Examples of expr @subsection Examples of using @command{expr} @cindex examples of @command{expr} Here are a few examples, including quoting for shell metacharacters. To add 1 to the shell variable @code{foo}, in Bourne-compatible shells: @example foo=$(expr $foo + 1) @end example To print the non-directory part of the file name stored in @code{$fname}, which need not contain a @code{/}: @example expr $fname : '.*/\(.*\)' '|' $fname @end example An example showing that @code{\+} is an operator: @example expr aaa : 'a\+' @result{} 3 @end example @example expr abc : 'a\(.\)c' @result{} b expr index abcdef cz @result{} 3 expr index index a @error{} expr: syntax error expr index + index a @result{} 0 @end example @node Redirection @chapter Redirection @cindex redirection @cindex commands for redirection Unix shells commonly provide several forms of @dfn{redirection}---ways to change the input source or output destination of a command. But one useful redirection is performed by a separate command, not by the shell; it's described here. @menu * tee invocation:: Redirect output to multiple files or processes. @end menu @node tee invocation @section @command{tee}: Redirect output to multiple files or processes @pindex tee @cindex pipe fitting @cindex destinations, multiple output @cindex read from stdin and write to stdout and files The @command{tee} command copies standard input to standard output and also to any files given as arguments. This is useful when you want not only to send some data down a pipe, but also to save a copy. Synopsis: @example tee [@var{option}]@dots{} [@var{file}]@dots{} @end example If a file being written to does not already exist, it is created. If a file being written to already exists, the data it previously contained is overwritten unless the @option{-a} option is used. A @var{file} of @samp{-} causes @command{tee} to send another copy of input to standard output, but this is typically not that useful as the copies are interleaved. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --append @opindex -a @opindex --append Append standard input to the given files rather than overwriting them. @item -i @itemx --ignore-interrupts @opindex -i @opindex --ignore-interrupts Ignore interrupt signals. @end table The @command{tee} command is useful when you happen to be transferring a large amount of data and also want to summarize that data without reading it a second time. For example, when you are downloading a DVD image, you often want to verify its signature or checksum right away. The inefficient way to do it is simply: @example wget http://example.com/some.iso && sha1sum some.iso @end example One problem with the above is that it makes you wait for the download to complete before starting the time-consuming SHA1 computation. Perhaps even more importantly, the above requires reading the DVD image a second time (the first was from the network). The efficient way to do it is to interleave the download and SHA1 computation. Then, you'll get the checksum for free, because the entire process parallelizes so well: @example # slightly contrived, to demonstrate process substitution wget -O - http://example.com/dvd.iso \ | tee >(sha1sum > dvd.sha1) > dvd.iso @end example That makes @command{tee} write not just to the expected output file, but also to a pipe running @command{sha1sum} and saving the final checksum in a file named @file{dvd.sha1}. Note, however, that this example relies on a feature of modern shells called @dfn{process substitution} (the @samp{>(command)} syntax, above; @xref{Process Substitution,,Process Substitution, bash, The Bash Reference Manual}.), so it works with @command{zsh}, @command{bash}, and @command{ksh}, but not with @command{/bin/sh}. So if you write code like this in a shell script, be sure to start the script with @samp{#!/bin/bash}. Since the above example writes to one file and one process, a more conventional and portable use of @command{tee} is even better: @example wget -O - http://example.com/dvd.iso \ | tee dvd.iso | sha1sum > dvd.sha1 @end example You can extend this example to make @command{tee} write to two processes, computing MD5 and SHA1 checksums in parallel. In this case, process substitution is required: @example wget -O - http://example.com/dvd.iso \ | tee >(sha1sum > dvd.sha1) \ >(md5sum > dvd.md5) \ > dvd.iso @end example This technique is also useful when you want to make a @emph{compressed} copy of the contents of a pipe. Consider a tool to graphically summarize disk usage data from @samp{du -ak}. For a large hierarchy, @samp{du -ak} can run for a long time, and can easily produce terabytes of data, so you won't want to rerun the command unnecessarily. Nor will you want to save the uncompressed output. Doing it the inefficient way, you can't even start the GUI until after you've compressed all of the @command{du} output: @example du -ak | gzip -9 > /tmp/du.gz gzip -d /tmp/du.gz | xdiskusage -a @end example With @command{tee} and process substitution, you start the GUI right away and eliminate the decompression completely: @example du -ak | tee >(gzip -9 > /tmp/du.gz) | xdiskusage -a @end example Finally, if you regularly create more than one type of compressed tarball at once, for example when @code{make dist} creates both @command{gzip}-compressed and @command{bzip2}-compressed tarballs, there may be a better way. Typical @command{automake}-generated @file{Makefile} rules create the two compressed tar archives with commands in sequence, like this (slightly simplified): @example tardir=your-pkg-M.N tar chof - "$tardir" | gzip -9 -c > your-pkg-M.N.tar.gz tar chof - "$tardir" | bzip2 -9 -c > your-pkg-M.N.tar.bz2 @end example However, if the hierarchy you are archiving and compressing is larger than a couple megabytes, and especially if you are using a multi-processor system with plenty of memory, then you can do much better by reading the directory contents only once and running the compression programs in parallel: @example tardir=your-pkg-M.N tar chof - "$tardir" \ | tee >(gzip -9 -c > your-pkg-M.N.tar.gz) \ | bzip2 -9 -c > your-pkg-M.N.tar.bz2 @end example @exitstatus @node File name manipulation @chapter File name manipulation @cindex file name manipulation @cindex manipulation of file names @cindex commands for file name manipulation This section describes commands that manipulate file names. @menu * basename invocation:: Strip directory and suffix from a file name. * dirname invocation:: Strip last file name component. * pathchk invocation:: Check file name validity and portability. * mktemp invocation:: Create temporary file or directory. * realpath invocation:: Print resolved file names. @end menu @node basename invocation @section @command{basename}: Strip directory and suffix from a file name @pindex basename @cindex strip directory and suffix from file names @cindex directory, stripping from file names @cindex suffix, stripping from file names @cindex file names, stripping directory and suffix @cindex leading directory components, stripping @command{basename} removes any leading directory components from @var{name}. Synopsis: @example basename @var{name} [@var{suffix}] basename @var{option}@dots{} @var{name}@dots{} @end example If @var{suffix} is specified and is identical to the end of @var{name}, it is removed from @var{name} as well. Note that since trailing slashes are removed prior to suffix matching, @var{suffix} will do nothing if it contains slashes. @command{basename} prints the result on standard output. @c This test is used both here and in the section on dirname. @macro basenameAndDirname Together, @command{basename} and @command{dirname} are designed such that if @samp{ls "$name"} succeeds, then the command sequence @samp{cd "$(dirname "$name")"; ls "$(basename "$name")"} will, too. This works for everything except file names containing a trailing newline. @end macro @basenameAndDirname POSIX allows the implementation to define the results if @var{name} is empty or @samp{//}. In the former case, GNU @command{basename} returns the empty string. In the latter case, the result is @samp{//} on platforms where @var{//} is distinct from @var{/}, and @samp{/} on platforms where there is no difference. The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @item -a @itemx --multiple @opindex -a @opindex --multiple Support more than one argument. Treat every argument as a @var{name}. With this, an optional @var{suffix} must be specified using the @option{-s} option. @item -s @var{suffix} @itemx --suffix=@var{suffix} @opindex -s @opindex --suffix Remove a trailing @var{suffix}. This option implies the @option{-a} option. @item -z @itemx --zero @opindex -z @opindex --zero Separate output items with NUL characters. @end table @exitstatus Examples: @smallexample # Output "sort". basename /usr/bin/sort # Output "stdio". basename include/stdio.h .h # Output "stdio". basename -s .h include/stdio.h # Output "stdio" followed by "stdlib" basename -a -s .h include/stdio.h include/stdlib.h @end smallexample @node dirname invocation @section @command{dirname}: Strip last file name component @pindex dirname @cindex directory components, printing @cindex stripping non-directory suffix @cindex non-directory suffix, stripping @command{dirname} prints all but the final slash-delimited component of each @var{name}. Slashes on either side of the final component are also removed. If the string contains no slash, @command{dirname} prints @samp{.} (meaning the current directory). Synopsis: @example dirname [@var{option}] @var{name}@dots{} @end example @var{name} need not be a file name, but if it is, this operation effectively lists the directory that contains the final component, including the case when the final component is itself a directory. @basenameAndDirname POSIX allows the implementation to define the results if @var{name} is @samp{//}. With GNU @command{dirname}, the result is @samp{//} on platforms where @var{//} is distinct from @var{/}, and @samp{/} on platforms where there is no difference. The program accepts the following option. Also see @ref{Common options}. @table @samp @item -z @itemx --zero @opindex -z @opindex --zero Separate output items with NUL characters. @end table @exitstatus Examples: @smallexample # Output "/usr/bin". dirname /usr/bin/sort dirname /usr/bin//.// # Output "dir1" followed by "dir2" dirname dir1/str dir2/str # Output ".". dirname stdio.h @end smallexample @node pathchk invocation @section @command{pathchk}: Check file name validity and portability @pindex pathchk @cindex file names, checking validity and portability @cindex valid file names, checking for @cindex portable file names, checking for @command{pathchk} checks validity and portability of file names. Synopsis: @example pathchk [@var{option}]@dots{} @var{name}@dots{} @end example For each @var{name}, @command{pathchk} prints an error message if any of these conditions is true: @enumerate @item One of the existing directories in @var{name} does not have search (execute) permission, @item The length of @var{name} is larger than the maximum supported by the operating system. @item The length of one component of @var{name} is longer than its file system's maximum. @end enumerate A nonexistent @var{name} is not an error, so long a file with that name could be created under the above conditions. The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @item -p @opindex -p Instead of performing checks based on the underlying file system, print an error message if any of these conditions is true: @enumerate @item A file name is empty. @item A file name contains a character outside the POSIX portable file name character set, namely, the ASCII letters and digits, @samp{.}, @samp{_}, @samp{-}, and @samp{/}. @item The length of a file name or one of its components exceeds the POSIX minimum limits for portability. @end enumerate @item -P @opindex -P Print an error message if a file name is empty, or if it contains a component that begins with @samp{-}. @item --portability @opindex --portability Print an error message if a file name is not portable to all POSIX hosts. This option is equivalent to @samp{-p -P}. @end table @cindex exit status of @command{pathchk} Exit status: @display 0 if all specified file names passed all checks, 1 otherwise. @end display @node mktemp invocation @section @command{mktemp}: Create temporary file or directory @pindex mktemp @cindex file names, creating temporary @cindex directory, creating temporary @cindex temporary files and directories @command{mktemp} manages the creation of temporary files and directories. Synopsis: @example mktemp [@var{option}]@dots{} [@var{template}] @end example Safely create a temporary file or directory based on @var{template}, and print its name. If given, @var{template} must include at least three consecutive @samp{X}s in the last component. If omitted, the template @samp{tmp.XXXXXXXXXX} is used, and option @option{--tmpdir} is implied. The final run of @samp{X}s in the @var{template} will be replaced by alpha-numeric characters; thus, on a case-sensitive file system, and with a @var{template} including a run of @var{n} instances of @samp{X}, there are @samp{62**@var{n}} potential file names. Older scripts used to create temporary files by simply joining the name of the program with the process id (@samp{$$}) as a suffix. However, that naming scheme is easily predictable, and suffers from a race condition where the attacker can create an appropriately named symbolic link, such that when the script then opens a handle to what it thought was an unused file, it is instead modifying an existing file. Using the same scheme to create a directory is slightly safer, since the @command{mkdir} will fail if the target already exists, but it is still inferior because it allows for denial of service attacks. Therefore, modern scripts should use the @command{mktemp} command to guarantee that the generated name will be unpredictable, and that knowledge of the temporary file name implies that the file was created by the current script and cannot be modified by other users. When creating a file, the resulting file has read and write permissions for the current user, but no permissions for the group or others; these permissions are reduced if the current umask is more restrictive. Here are some examples (although note that if you repeat them, you will most likely get different file names): @itemize @bullet @item Create a temporary file in the current directory. @example $ mktemp file.XXXX file.H47c @end example @item Create a temporary file with a known suffix. @example $ mktemp --suffix=.txt file-XXXX file-H08W.txt $ mktemp file-XXXX-XXXX.txt file-XXXX-eI9L.txt @end example @item Create a secure fifo relative to the user's choice of @env{TMPDIR}, but falling back to the current directory rather than @file{/tmp}. Note that @command{mktemp} does not create fifos, but can create a secure directory in which the fifo can live. Exit the shell if the directory or fifo could not be created. @example $ dir=$(mktemp -p "$@{TMPDIR:-.@}" -d dir-XXXX) || exit 1 $ fifo=$dir/fifo $ mkfifo "$fifo" || @{ rmdir "$dir"; exit 1; @} @end example @item Create and use a temporary file if possible, but ignore failure. The file will reside in the directory named by @env{TMPDIR}, if specified, or else in @file{/tmp}. @example $ file=$(mktemp -q) && @{ > # Safe to use $file only within this block. Use quotes, > # since $TMPDIR, and thus $file, may contain whitespace. > echo ... > "$file" > rm "$file" > @} @end example @item Act as a semi-random character generator (it is not fully random, since it is impacted by the contents of the current directory). To avoid security holes, do not use the resulting names to create a file. @example $ mktemp -u XXX Gb9 $ mktemp -u XXX nzC @end example @end itemize The program accepts the following options. Also see @ref{Common options}. @table @samp @item -d @itemx --directory @opindex -d @opindex --directory Create a directory rather than a file. The directory will have read, write, and search permissions for the current user, but no permissions for the group or others; these permissions are reduced if the current umask is more restrictive. @item -q @itemx --quiet @opindex -q @opindex --quiet Suppress diagnostics about failure to create a file or directory. The exit status will still reflect whether a file was created. @item -u @itemx --dry-run @opindex -u @opindex --dry-run Generate a temporary name that does not name an existing file, without changing the file system contents. Using the output of this command to create a new file is inherently unsafe, as there is a window of time between generating the name and using it where another process can create an object by the same name. @item -p @var{dir} @itemx --tmpdir[=@var{dir}] @opindex -p @opindex --tmpdir Treat @var{template} relative to the directory @var{dir}. If @var{dir} is not specified (only possible with the long option @option{--tmpdir}) or is the empty string, use the value of @env{TMPDIR} if available, otherwise use @samp{/tmp}. If this is specified, @var{template} must not be absolute. However, @var{template} can still contain slashes, although intermediate directories must already exist. @item --suffix=@var{suffix} @opindex --suffix Append @var{suffix} to the @var{template}. @var{suffix} must not contain slash. If @option{--suffix} is specified, @var{template} must end in @samp{X}; if it is not specified, then an appropriate @option{--suffix} is inferred by finding the last @samp{X} in @var{template}. This option exists for use with the default @var{template} and for the creation of a @var{suffix} that starts with @samp{X}. @item -t @opindex -t Treat @var{template} as a single file relative to the value of @env{TMPDIR} if available, or to the directory specified by @option{-p}, otherwise to @samp{/tmp}. @var{template} must not contain slashes. This option is deprecated; the use of @option{-p} without @option{-t} offers better defaults (by favoring the command line over @env{TMPDIR}) and more flexibility (by allowing intermediate directories). @end table @cindex exit status of @command{mktemp} Exit status: @display 0 if the file was created, 1 otherwise. @end display @node realpath invocation @section @command{realpath}: Print the resolved file name. @pindex realpath @cindex file names, canonicalization @cindex symlinks, resolution @cindex canonical file name @cindex canonicalize a file name @pindex realpath @findex realpath @command{realpath} expands all symbolic links and resolves references to @samp{/./}, @samp{/../} and extra @samp{/} characters. By default, all but the last component of the specified files must exist. Synopsis: @example realpath [@var{option}]@dots{} @var{file}@dots{} @end example The program accepts the following options. Also see @ref{Common options}. @table @samp @item -e @itemx --canonicalize-existing @opindex -e @opindex --canonicalize-existing Ensure that all components of the specified file names exist. If any component is missing or unavailable, @command{realpath} will output a diagnostic unless the @option{-q} option is specified, and exit with a nonzero exit code. A trailing slash requires that the name resolve to a directory. @item -m @itemx --canonicalize-missing @opindex -m @opindex --canonicalize-missing If any component of a specified file name is missing or unavailable, treat it as a directory. @item -L @itemx --logical @opindex -L @opindex --logical Symbolic links are resolved in the specified file names, but they are resolved after any subsequent @samp{..} components are processed. @item -P @itemx --physical @opindex -P @opindex --physical Symbolic links are resolved in the specified file names, and they are resolved before any subsequent @samp{..} components are processed. This is the default mode of operation. @item -q @itemx --quiet @opindex -q @opindex --quiet Suppress diagnostic messages for specified file names. @item -s @itemx --strip @itemx --no-symlinks @opindex -s @opindex --strip @opindex --no-symlinks Do not resolve symbolic links. Only resolve references to @samp{/./}, @samp{/../} and remove extra @samp{/} characters. When combined with the @option{-m} option, realpath operates only on the file name, and does not touch any actual file. @item -z @itemx --zero @opindex -z @opindex --zero Separate output items with NUL characters. @item --relative-to=@var{file} @opindex --relative-to @cindex relpath Print the resolved file names relative to the specified file. Note this option honors the @option{-m} and @option{-e} options pertaining to file existence. @item --relative-base=@var{base} @opindex --relative-base This option is valid when used with @option{--relative-to}, and will restrict the output of @option{--relative-to} so that relative names are output, only when @var{file}s are descendants of @var{base}. Otherwise output the absolute file name. If @option{--relative-to} was not specified, then the descendants of @var{base} are printed relative to @var{base}. If @option{--relative-to} is specified, then that directory must be a descendant of @var{base} for this option to have an effect. Note: this option honors the @option{-m} and @option{-e} options pertaining to file existence. For example: @example realpath --relative-to=/usr /tmp /usr/bin @result{} ../tmp @result{} bin realpath --relative-base=/usr /tmp /usr/bin @result{} /tmp @result{} bin @end example @end table @cindex exit status of @command{realpath} Exit status: @display 0 if all file names were printed without issue. 1 otherwise. @end display @node Working context @chapter Working context @cindex working context @cindex commands for printing the working context This section describes commands that display or alter the context in which you are working: the current directory, the terminal settings, and so forth. See also the user-related commands in the next section. @menu * pwd invocation:: Print working directory. * stty invocation:: Print or change terminal characteristics. * printenv invocation:: Print environment variables. * tty invocation:: Print file name of terminal on standard input. @end menu @node pwd invocation @section @command{pwd}: Print working directory @pindex pwd @cindex print name of current directory @cindex current working directory, printing @cindex working directory, printing @command{pwd} prints the name of the current directory. Synopsis: @example pwd [@var{option}]@dots{} @end example The program accepts the following options. Also see @ref{Common options}. @table @samp @item -L @itemx --logical @opindex -L @opindex --logical If the contents of the environment variable @env{PWD} provide an absolute name of the current directory with no @samp{.} or @samp{..} components, but possibly with symbolic links, then output those contents. Otherwise, fall back to default @option{-P} handling. @item -P @itemx --physical @opindex -P @opindex --physical Print a fully resolved name for the current directory. That is, all components of the printed name will be actual directory names---none will be symbolic links. @end table @cindex symbolic links and @command{pwd} If @option{-L} and @option{-P} are both given, the last one takes precedence. If neither option is given, then this implementation uses @option{-P} as the default unless the @env{POSIXLY_CORRECT} environment variable is set. @mayConflictWithShellBuiltIn{pwd} @exitstatus @node stty invocation @section @command{stty}: Print or change terminal characteristics @pindex stty @cindex change or print terminal settings @cindex terminal settings @cindex line settings of terminal @command{stty} prints or changes terminal characteristics, such as baud rate. Synopses: @example stty [@var{option}] [@var{setting}]@dots{} stty [@var{option}] @end example If given no line settings, @command{stty} prints the baud rate, line discipline number (on systems that support it), and line settings that have been changed from the values set by @samp{stty sane}. By default, mode reading and setting are performed on the tty line connected to standard input, although this can be modified by the @option{--file} option. @command{stty} accepts many non-option arguments that change aspects of the terminal line operation, as described below. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --all @opindex -a @opindex --all Print all current settings in human-readable form. This option may not be used in combination with any line settings. @item -F @var{device} @itemx --file=@var{device} @opindex -F @opindex --file Set the line opened by the file name specified in @var{device} instead of the tty line connected to standard input. This option is necessary because opening a POSIX tty requires use of the @code{O_NONDELAY} flag to prevent a POSIX tty from blocking until the carrier detect line is high if the @code{clocal} flag is not set. Hence, it is not always possible to allow the shell to open the device in the traditional manner. @item -g @itemx --save @opindex -g @opindex --save @cindex machine-readable @command{stty} output Print all current settings in a form that can be used as an argument to another @command{stty} command to restore the current settings. This option may not be used in combination with any line settings. @end table Many settings can be turned off by preceding them with a @samp{-}. Such arguments are marked below with ``May be negated'' in their description. The descriptions themselves refer to the positive case, that is, when @emph{not} negated (unless stated otherwise, of course). Some settings are not available on all POSIX systems, since they use extensions. Such arguments are marked below with ``Non-POSIX'' in their description. On non-POSIX systems, those or other settings also may not be available, but it's not feasible to document all the variations: just try it and see. @exitstatus @menu * Control:: Control settings * Input:: Input settings * Output:: Output settings * Local:: Local settings * Combination:: Combination settings * Characters:: Special characters * Special:: Special settings @end menu @node Control @subsection Control settings @cindex control settings Control settings: @table @samp @item parenb @opindex parenb @cindex two-way parity Generate parity bit in output and expect parity bit in input. May be negated. @item parodd @opindex parodd @cindex odd parity @cindex even parity Set odd parity (even if negated). May be negated. @item cs5 @itemx cs6 @itemx cs7 @itemx cs8 @opindex cs@var{n} @cindex character size @cindex eight-bit characters Set character size to 5, 6, 7, or 8 bits. @item hup @itemx hupcl @opindex hup[cl] Send a hangup signal when the last process closes the tty. May be negated. @item cstopb @opindex cstopb @cindex stop bits Use two stop bits per character (one if negated). May be negated. @item cread @opindex cread Allow input to be received. May be negated. @item clocal @opindex clocal @cindex modem control Disable modem control signals. May be negated. @item crtscts @opindex crtscts @cindex hardware flow control @cindex flow control, hardware @cindex RTS/CTS flow control Enable RTS/CTS flow control. Non-POSIX@. May be negated. @item cdtrdsr @opindex cdtrdsr @cindex hardware flow control @cindex flow control, hardware @cindex DTR/DSR flow control Enable DTR/DSR flow control. Non-POSIX@. May be negated. @end table @node Input @subsection Input settings @cindex input settings These settings control operations on data received from the terminal. @table @samp @item ignbrk @opindex ignbrk @cindex breaks, ignoring Ignore break characters. May be negated. @item brkint @opindex brkint @cindex breaks, cause interrupts Make breaks cause an interrupt signal. May be negated. @item ignpar @opindex ignpar @cindex parity, ignoring Ignore characters with parity errors. May be negated. @item parmrk @opindex parmrk @cindex parity errors, marking Mark parity errors (with a 255-0-character sequence). May be negated. @item inpck @opindex inpck Enable input parity checking. May be negated. @item istrip @opindex istrip @cindex eight-bit input Clear high (8th) bit of input characters. May be negated. @item inlcr @opindex inlcr @cindex newline, translating to return Translate newline to carriage return. May be negated. @item igncr @opindex igncr @cindex return, ignoring Ignore carriage return. May be negated. @item icrnl @opindex icrnl @cindex return, translating to newline Translate carriage return to newline. May be negated. @item iutf8 @opindex iutf8 @cindex input encoding, UTF-8 Assume input characters are UTF-8 encoded. May be negated. @item ixon @opindex ixon @kindex C-s/C-q flow control @cindex XON/XOFF flow control Enable XON/XOFF flow control (that is, @kbd{CTRL-S}/@kbd{CTRL-Q}). May be negated. @item ixoff @itemx tandem @opindex ixoff @opindex tandem @cindex software flow control @cindex flow control, software Enable sending of @code{stop} character when the system input buffer is almost full, and @code{start} character when it becomes almost empty again. May be negated. @item iuclc @opindex iuclc @cindex uppercase, translating to lowercase Translate uppercase characters to lowercase. Non-POSIX@. May be negated. Note ilcuc is not implemented, as one would not be able to issue almost any (lowercase) Unix command, after invoking it. @item ixany @opindex ixany Allow any character to restart output (only the start character if negated). Non-POSIX@. May be negated. @item imaxbel @opindex imaxbel @cindex beeping at input buffer full Enable beeping and not flushing input buffer if a character arrives when the input buffer is full. Non-POSIX@. May be negated. @end table @node Output @subsection Output settings @cindex output settings These settings control operations on data sent to the terminal. @table @samp @item opost @opindex opost Postprocess output. May be negated. @item olcuc @opindex olcuc @cindex lowercase, translating to output Translate lowercase characters to uppercase. Non-POSIX@. May be negated. (Note ouclc is not currently implemented.) @item ocrnl @opindex ocrnl @cindex return, translating to newline Translate carriage return to newline. Non-POSIX@. May be negated. @item onlcr @opindex onlcr @cindex newline, translating to crlf Translate newline to carriage return-newline. Non-POSIX@. May be negated. @item onocr @opindex onocr Do not print carriage returns in the first column. Non-POSIX@. May be negated. @item onlret @opindex onlret Newline performs a carriage return. Non-POSIX@. May be negated. @item ofill @opindex ofill @cindex pad instead of timing for delaying Use fill (padding) characters instead of timing for delays. Non-POSIX@. May be negated. @item ofdel @opindex ofdel @cindex pad character Use ASCII DEL characters for fill instead of ASCII NUL characters. Non-POSIX@. May be negated. @item nl1 @itemx nl0 @opindex nl@var{n} Newline delay style. Non-POSIX. @item cr3 @itemx cr2 @itemx cr1 @itemx cr0 @opindex cr@var{n} Carriage return delay style. Non-POSIX. @item tab3 @itemx tab2 @itemx tab1 @itemx tab0 @opindex tab@var{n} Horizontal tab delay style. Non-POSIX. @item bs1 @itemx bs0 @opindex bs@var{n} Backspace delay style. Non-POSIX. @item vt1 @itemx vt0 @opindex vt@var{n} Vertical tab delay style. Non-POSIX. @item ff1 @itemx ff0 @opindex ff@var{n} Form feed delay style. Non-POSIX. @end table @node Local @subsection Local settings @cindex local settings @table @samp @item isig @opindex isig Enable @code{interrupt}, @code{quit}, and @code{suspend} special characters. May be negated. @item icanon @opindex icanon Enable @code{erase}, @code{kill}, @code{werase}, and @code{rprnt} special characters. May be negated. @item iexten @opindex iexten Enable non-POSIX special characters. May be negated. @item echo @opindex echo Echo input characters. May be negated. @item echoe @itemx crterase @opindex echoe @opindex crterase Echo @code{erase} characters as backspace-space-backspace. May be negated. @item echok @opindex echok @cindex newline echoing after @code{kill} Echo a newline after a @code{kill} character. May be negated. @item echonl @opindex echonl @cindex newline, echoing Echo newline even if not echoing other characters. May be negated. @item noflsh @opindex noflsh @cindex flushing, disabling Disable flushing after @code{interrupt} and @code{quit} special characters. May be negated. @item xcase @opindex xcase @cindex case translation Enable input and output of uppercase characters by preceding their lowercase equivalents with @samp{\}, when @code{icanon} is set. Non-POSIX@. May be negated. @item tostop @opindex tostop @cindex background jobs, stopping at terminal write Stop background jobs that try to write to the terminal. Non-POSIX@. May be negated. @item echoprt @itemx prterase @opindex echoprt @opindex prterase Echo erased characters backward, between @samp{\} and @samp{/}. Non-POSIX@. May be negated. @item echoctl @itemx ctlecho @opindex echoctl @opindex ctlecho @cindex control characters, using @samp{^@var{c}} @cindex hat notation for control characters Echo control characters in hat notation (@samp{^@var{c}}) instead of literally. Non-POSIX@. May be negated. @item echoke @itemx crtkill @opindex echoke @opindex crtkill Echo the @code{kill} special character by erasing each character on the line as indicated by the @code{echoprt} and @code{echoe} settings, instead of by the @code{echoctl} and @code{echok} settings. Non-POSIX@. May be negated. @end table @node Combination @subsection Combination settings @cindex combination settings Combination settings: @table @samp @item evenp @opindex evenp @itemx parity @opindex parity Same as @code{parenb -parodd cs7}. May be negated. If negated, same as @code{-parenb cs8}. @item oddp @opindex oddp Same as @code{parenb parodd cs7}. May be negated. If negated, same as @code{-parenb cs8}. @item nl @opindex nl Same as @code{-icrnl -onlcr}. May be negated. If negated, same as @code{icrnl -inlcr -igncr onlcr -ocrnl -onlret}. @item ek @opindex ek Reset the @code{erase} and @code{kill} special characters to their default values. @item sane @opindex sane Same as: @c This is too long to write inline. @example cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke @end example @noindent and also sets all special characters to their default values. @item cooked @opindex cooked Same as @code{brkint ignpar istrip icrnl ixon opost isig icanon}, plus sets the @code{eof} and @code{eol} characters to their default values if they are the same as the @code{min} and @code{time} characters. May be negated. If negated, same as @code{raw}. @item raw @opindex raw Same as: @example -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 @end example @noindent May be negated. If negated, same as @code{cooked}. @item cbreak @opindex cbreak Same as @option{-icanon}. May be negated. If negated, same as @code{icanon}. @item pass8 @opindex pass8 @cindex eight-bit characters Same as @code{-parenb -istrip cs8}. May be negated. If negated, same as @code{parenb istrip cs7}. @item litout @opindex litout Same as @option{-parenb -istrip -opost cs8}. May be negated. If negated, same as @code{parenb istrip opost cs7}. @item decctlq @opindex decctlq Same as @option{-ixany}. Non-POSIX@. May be negated. @item tabs @opindex tabs Same as @code{tab0}. Non-POSIX@. May be negated. If negated, same as @code{tab3}. @item lcase @itemx LCASE @opindex lcase @opindex LCASE Same as @code{xcase iuclc olcuc}. Non-POSIX@. May be negated. (Used for terminals with uppercase characters only.) @item crt @opindex crt Same as @code{echoe echoctl echoke}. @item dec @opindex dec Same as @code{echoe echoctl echoke -ixany intr ^C erase ^? kill C-u}. @end table @node Characters @subsection Special characters @cindex special characters @cindex characters, special The special characters' default values vary from system to system. They are set with the syntax @samp{name value}, where the names are listed below and the value can be given either literally, in hat notation (@samp{^@var{c}}), or as an integer which may start with @samp{0x} to indicate hexadecimal, @samp{0} to indicate octal, or any other digit to indicate decimal. @cindex disabling special characters @kindex u@r{, and disabling special characters} For GNU stty, giving a value of @code{^-} or @code{undef} disables that special character. (This is incompatible with Ultrix @command{stty}, which uses a value of @samp{u} to disable a special character. GNU @command{stty} treats a value @samp{u} like any other, namely to set that special character to @key{U}.) @table @samp @item intr @opindex intr Send an interrupt signal. @item quit @opindex quit Send a quit signal. @item erase @opindex erase Erase the last character typed. @item kill @opindex kill Erase the current line. @item eof @opindex eof Send an end of file (terminate the input). @item eol @opindex eol End the line. @item eol2 @opindex eol2 Alternate character to end the line. Non-POSIX. @item swtch @opindex swtch Switch to a different shell layer. Non-POSIX. @item start @opindex start Restart the output after stopping it. @item stop @opindex stop Stop the output. @item susp @opindex susp Send a terminal stop signal. @item dsusp @opindex dsusp Send a terminal stop signal after flushing the input. Non-POSIX. @item rprnt @opindex rprnt Redraw the current line. Non-POSIX. @item werase @opindex werase Erase the last word typed. Non-POSIX. @item lnext @opindex lnext Enter the next character typed literally, even if it is a special character. Non-POSIX. @end table @node Special @subsection Special settings @cindex special settings @table @samp @item min @var{n} @opindex min Set the minimum number of characters that will satisfy a read until the time value has expired, when @option{-icanon} is set. @item time @var{n} @opindex time Set the number of tenths of a second before reads time out if the minimum number of characters have not been read, when @option{-icanon} is set. @item ispeed @var{n} @opindex ispeed Set the input speed to @var{n}. @item ospeed @var{n} @opindex ospeed Set the output speed to @var{n}. @item rows @var{n} @opindex rows Tell the tty kernel driver that the terminal has @var{n} rows. Non-POSIX. @item cols @var{n} @itemx columns @var{n} @opindex cols @opindex columns Tell the kernel that the terminal has @var{n} columns. Non-POSIX. @item size @opindex size @vindex LINES @vindex COLUMNS Print the number of rows and columns that the kernel thinks the terminal has. (Systems that don't support rows and columns in the kernel typically use the environment variables @env{LINES} and @env{COLUMNS} instead; however, GNU @command{stty} does not know anything about them.) Non-POSIX. @item line @var{n} @opindex line Use line discipline @var{n}. Non-POSIX. @item speed @opindex speed Print the terminal speed. @item @var{n} @cindex baud rate, setting Set the input and output speeds to @var{n}. @var{n} can be one of: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 @code{exta} @code{extb}. @code{exta} is the same as 19200; @code{extb} is the same as 38400. Many systems, including GNU/Linux, support higher speeds. The @command{stty} command includes support for speeds of 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, or 4000000 where the system supports these. 0 hangs up the line if @option{-clocal} is set. @end table @node printenv invocation @section @command{printenv}: Print all or some environment variables @pindex printenv @cindex printing all or some environment variables @cindex environment variables, printing @command{printenv} prints environment variable values. Synopsis: @example printenv [@var{option}] [@var{variable}]@dots{} @end example If no @var{variable}s are specified, @command{printenv} prints the value of every environment variable. Otherwise, it prints the value of each @var{variable} that is set, and nothing for those that are not set. The program accepts the following option. Also see @ref{Common options}. @table @samp @optNull{printenv} @end table @cindex exit status of @command{printenv} Exit status: @display 0 if all variables specified were found 1 if at least one specified variable was not found 2 if a write error occurred @end display @node tty invocation @section @command{tty}: Print file name of terminal on standard input @pindex tty @cindex print terminal file name @cindex terminal file name, printing @command{tty} prints the file name of the terminal connected to its standard input. It prints @samp{not a tty} if standard input is not a terminal. Synopsis: @example tty [@var{option}]@dots{} @end example The program accepts the following option. Also see @ref{Common options}. @table @samp @item -s @itemx --silent @itemx --quiet @opindex -s @opindex --silent @opindex --quiet Print nothing; only return an exit status. @end table @cindex exit status of @command{tty} Exit status: @display 0 if standard input is a terminal 1 if standard input is not a terminal 2 if given incorrect arguments 3 if a write error occurs @end display @node User information @chapter User information @cindex user information, commands for @cindex commands for printing user information This section describes commands that print user-related information: logins, groups, and so forth. @menu * id invocation:: Print user identity. * logname invocation:: Print current login name. * whoami invocation:: Print effective user ID. * groups invocation:: Print group names a user is in. * users invocation:: Print login names of users currently logged in. * who invocation:: Print who is currently logged in. @end menu @node id invocation @section @command{id}: Print user identity @pindex id @cindex real user and group IDs, printing @cindex effective user and group IDs, printing @cindex printing real and effective user and group IDs @command{id} prints information about the given user, or the process running it if no user is specified. Synopsis: @example id [@var{option}]@dots{} [@var{username}] @end example @vindex POSIXLY_CORRECT By default, it prints the real user ID, real group ID, effective user ID if different from the real user ID, effective group ID if different from the real group ID, and supplemental group IDs. In addition, if SELinux is enabled and the @env{POSIXLY_CORRECT} environment variable is not set, then print @samp{context=@var{c}}, where @var{c} is the security context. Each of these numeric values is preceded by an identifying string and followed by the corresponding user or group name in parentheses. The options cause @command{id} to print only part of the above information. Also see @ref{Common options}. @table @samp @item -g @itemx --group @opindex -g @opindex --group Print only the group ID. @item -G @itemx --groups @opindex -G @opindex --groups Print only the group ID and the supplementary groups. @item -n @itemx --name @opindex -n @opindex --name Print the user or group name instead of the ID number. Requires @option{-u}, @option{-g}, or @option{-G}. @item -r @itemx --real @opindex -r @opindex --real Print the real, instead of effective, user or group ID@. Requires @option{-u}, @option{-g}, or @option{-G}. @item -u @itemx --user @opindex -u @opindex --user Print only the user ID. @item -Z @itemx --context @opindex -Z @opindex --context @cindex SELinux @cindex security context Print only the security context of the current user. If SELinux is disabled then print a warning and set the exit status to 1. @end table @exitstatus @macro primaryAndSupplementaryGroups{cmd,arg} Primary and supplementary groups for a process are normally inherited from its parent and are usually unchanged since login. This means that if you change the group database after logging in, @command{\cmd\} will not reflect your changes within your existing login session. Running @command{\cmd\} with a \arg\ causes the user and group database to be consulted afresh, and so will give a different result. @end macro @primaryAndSupplementaryGroups{id,user argument} @node logname invocation @section @command{logname}: Print current login name @pindex logname @cindex printing user's login name @cindex login name, printing @cindex user name, printing @flindex utmp @command{logname} prints the calling user's name, as found in a system-maintained file (often @file{/var/run/utmp} or @file{/etc/utmp}), and exits with a status of 0. If there is no entry for the calling process, @command{logname} prints an error message and exits with a status of 1. The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node whoami invocation @section @command{whoami}: Print effective user ID @pindex whoami @cindex effective user ID, printing @cindex printing the effective user ID @command{whoami} prints the user name associated with the current effective user ID@. It is equivalent to the command @samp{id -un}. The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node groups invocation @section @command{groups}: Print group names a user is in @pindex groups @cindex printing groups a user is in @cindex supplementary groups, printing @command{groups} prints the names of the primary and any supplementary groups for each given @var{username}, or the current process if no names are given. If more than one name is given, the name of each user is printed before the list of that user's groups and the user name is separated from the group list by a colon. Synopsis: @example groups [@var{username}]@dots{} @end example The group lists are equivalent to the output of the command @samp{id -Gn}. @primaryAndSupplementaryGroups{groups,list of users} The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node users invocation @section @command{users}: Print login names of users currently logged in @pindex users @cindex printing current usernames @cindex usernames, printing current @cindex login sessions, printing users with @command{users} prints on a single line a blank-separated list of user names of users currently logged in to the current host. Each user name corresponds to a login session, so if a user has more than one login session, that user's name will appear the same number of times in the output. Synopsis: @example users [@var{file}] @end example @flindex utmp @flindex wtmp With no @var{file} argument, @command{users} extracts its information from a system-maintained file (often @file{/var/run/utmp} or @file{/etc/utmp}). If a file argument is given, @command{users} uses that file instead. A common choice is @file{/var/log/wtmp}. The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node who invocation @section @command{who}: Print who is currently logged in @pindex who @cindex printing current user information @cindex information, about current users @command{who} prints information about users who are currently logged on. Synopsis: @example @command{who} [@var{option}] [@var{file}] [am i] @end example @cindex terminal lines, currently used @cindex login time @cindex remote hostname If given no non-option arguments, @command{who} prints the following information for each user currently logged on: login name, terminal line, login time, and remote hostname or X display. @flindex utmp @flindex wtmp If given one non-option argument, @command{who} uses that instead of a default system-maintained file (often @file{/var/run/utmp} or @file{/etc/utmp}) as the name of the file containing the record of users logged on. @file{/var/log/wtmp} is commonly given as an argument to @command{who} to look at who has previously logged on. @opindex am i @opindex who am i If given two non-option arguments, @command{who} prints only the entry for the user running it (determined from its standard input), preceded by the hostname. Traditionally, the two arguments given are @samp{am i}, as in @samp{who am i}. @vindex TZ Time stamps are listed according to the time zone rules specified by the @env{TZ} environment variable, or by the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --all @opindex -a @opindex --all Same as @samp{-b -d --login -p -r -t -T -u}. @item -b @itemx --boot @opindex -b @opindex --boot Print the date and time of last system boot. @item -d @itemx --dead @opindex -d @opindex --dead Print information corresponding to dead processes. @item -H @itemx --heading @opindex -H @opindex --heading Print a line of column headings. @item -l @itemx --login @opindex -l @opindex --login List only the entries that correspond to processes via which the system is waiting for a user to login. The user name is always @samp{LOGIN}. @item --lookup @opindex --lookup Attempt to canonicalize hostnames found in utmp through a DNS lookup. This is not the default because it can cause significant delays on systems with automatic dial-up internet access. @item -m @opindex -m Same as @samp{who am i}. @item -p @itemx --process @opindex -p @opindex --process List active processes spawned by init. @item -q @itemx --count @opindex -q @opindex --count Print only the login names and the number of users logged on. Overrides all other options. @item -r @itemx --runlevel @opindex -r @opindex --runlevel Print the current (and maybe previous) run-level of the init process. @item -s @opindex -s Ignored; for compatibility with other versions of @command{who}. @item -t @itemx --time @opindex -t @opindex --time Print last system clock change. @item -u @opindex -u @cindex idle time After the login time, print the number of hours and minutes that the user has been idle. @samp{.} means the user was active in the last minute. @samp{old} means the user has been idle for more than 24 hours. @item -w @itemx -T @itemx --mesg @itemx --message @itemx --writable @opindex -w @opindex -T @opindex --mesg @opindex --message @opindex --writable @cindex message status @pindex write@r{, allowed} After each login name print a character indicating the user's message status: @display @samp{+} allowing @code{write} messages @samp{-} disallowing @code{write} messages @samp{?} cannot find terminal device @end display @end table @exitstatus @node System context @chapter System context @cindex system context @cindex context, system @cindex commands for system context This section describes commands that print or change system-wide information. @menu * date invocation:: Print or set system date and time. * arch invocation:: Print machine hardware name. * nproc invocation:: Print the number of processors. * uname invocation:: Print system information. * hostname invocation:: Print or set system name. * hostid invocation:: Print numeric host identifier. * uptime invocation:: Print system uptime and load. @end menu @node date invocation @section @command{date}: Print or set system date and time @pindex date @cindex time, printing or setting @cindex printing the current time Synopses: @example date [@var{option}]@dots{} [+@var{format}] date [-u|--utc|--universal] @c this avoids a newline in the output [ MMDDhhmm[[CC]YY][.ss] ] @end example @vindex LC_TIME Invoking @command{date} with no @var{format} argument is equivalent to invoking it with a default format that depends on the @env{LC_TIME} locale category. In the default C locale, this format is @samp{'+%a %b %e %H:%M:%S %Z %Y'}, so the output looks like @samp{Thu Mar @ 3 13:47:51 PST 2005}. @vindex TZ Normally, @command{date} uses the time zone rules indicated by the @env{TZ} environment variable, or the system default rules if @env{TZ} is not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ}, libc, The GNU C Library Reference Manual}. @findex strftime @r{and @command{date}} @cindex time formats @cindex formatting times If given an argument that starts with a @samp{+}, @command{date} prints the current date and time (or the date and time specified by the @option{--date} option, see below) in the format defined by that argument, which is similar to that of the @code{strftime} function. Except for conversion specifiers, which start with @samp{%}, characters in the format string are printed unchanged. The conversion specifiers are described below. @exitstatus @menu * Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] * Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] * Literal conversion specifiers:: %[%nt] * Padding and other flags:: Pad with zeros, spaces, etc. * Setting the time:: Changing the system clock. * Options for date:: Instead of the current time. @detailmenu * Date input formats:: Specifying date strings. @end detailmenu * Examples of date:: Examples. @end menu @node Time conversion specifiers @subsection Time conversion specifiers @cindex time conversion specifiers @cindex conversion specifiers, time @command{date} conversion specifiers related to times. @table @samp @item %H hour (@samp{00}@dots{}@samp{23}) @item %I hour (@samp{01}@dots{}@samp{12}) @item %k hour, space padded (@samp{ 0}@dots{}@samp{23}); equivalent to @samp{%_H}@. This is a GNU extension. @item %l hour, space padded (@samp{ 1}@dots{}@samp{12}); equivalent to @samp{%_I}@. This is a GNU extension. @item %M minute (@samp{00}@dots{}@samp{59}) @item %N nanoseconds (@samp{000000000}@dots{}@samp{999999999}). This is a GNU extension. @item %p locale's equivalent of either @samp{AM} or @samp{PM}; blank in many locales. Noon is treated as @samp{PM} and midnight as @samp{AM}. @item %P like @samp{%p}, except lower case. This is a GNU extension. @item %r locale's 12-hour clock time (e.g., @samp{11:11:04 PM}) @item %R 24-hour hour and minute. Same as @samp{%H:%M}. @item %s @cindex epoch, seconds since @cindex seconds since the epoch @cindex beginning of time @cindex leap seconds seconds since the epoch, i.e., since 1970-01-01 00:00:00 UTC@. Leap seconds are not counted unless leap second support is available. @xref{%s-examples}, for examples. This is a GNU extension. @item %S @cindex leap seconds second (@samp{00}@dots{}@samp{60}). This may be @samp{60} if leap seconds are supported. @item %T 24-hour hour, minute, and second. Same as @samp{%H:%M:%S}. @item %X locale's time representation (e.g., @samp{23:13:48}) @item %z @w{RFC 2822/ISO 8601} style numeric time zone (e.g., @samp{-0600} or @samp{+0530}), or nothing if no time zone is determinable. This value reflects the numeric time zone appropriate for the current time, using the time zone rules specified by the @env{TZ} environment variable. The time (and optionally, the time zone rules) can be overridden by the @option{--date} option. @item %:z @w{RFC 3339/ISO 8601} style numeric time zone with @samp{:} (e.g., @samp{-06:00} or @samp{+05:30}), or nothing if no time zone is determinable. This is a GNU extension. @item %::z Numeric time zone to the nearest second with @samp{:} (e.g., @samp{-06:00:00} or @samp{+05:30:00}), or nothing if no time zone is determinable. This is a GNU extension. @item %:::z Numeric time zone with @samp{:} using the minimum necessary precision (e.g., @samp{-06}, @samp{+05:30}, or @samp{-04:56:02}), or nothing if no time zone is determinable. This is a GNU extension. @item %Z alphabetic time zone abbreviation (e.g., @samp{EDT}), or nothing if no time zone is determinable. See @samp{%z} for how it is determined. @end table @node Date conversion specifiers @subsection Date conversion specifiers @cindex date conversion specifiers @cindex conversion specifiers, date @command{date} conversion specifiers related to dates. @table @samp @item %a locale's abbreviated weekday name (e.g., @samp{Sun}) @item %A locale's full weekday name, variable length (e.g., @samp{Sunday}) @item %b locale's abbreviated month name (e.g., @samp{Jan}) @item %B locale's full month name, variable length (e.g., @samp{January}) @item %c locale's date and time (e.g., @samp{Thu Mar @ 3 23:05:25 2005}) @item %C century. This is like @samp{%Y}, except the last two digits are omitted. For example, it is @samp{20} if @samp{%Y} is @samp{2000}, and is @samp{-0} if @samp{%Y} is @samp{-001}. It is normally at least two characters, but it may be more. @item %d day of month (e.g., @samp{01}) @item %D date; same as @samp{%m/%d/%y} @item %e day of month, space padded; same as @samp{%_d} @item %F full date in ISO 8601 format; same as @samp{%Y-%m-%d}. This is a good choice for a date format, as it is standard and is easy to sort in the usual case where years are in the range 0000@dots{}9999. @item %g year corresponding to the ISO week number, but without the century (range @samp{00} through @samp{99}). This has the same format and value as @samp{%y}, except that if the ISO week number (see @samp{%V}) belongs to the previous or next year, that year is used instead. @item %G year corresponding to the ISO week number. This has the same format and value as @samp{%Y}, except that if the ISO week number (see @samp{%V}) belongs to the previous or next year, that year is used instead. It is normally useful only if @samp{%V} is also used; for example, the format @samp{%G-%m-%d} is probably a mistake, since it combines the ISO week number year with the conventional month and day. @item %h same as @samp{%b} @item %j day of year (@samp{001}@dots{}@samp{366}) @item %m month (@samp{01}@dots{}@samp{12}) @item %u day of week (@samp{1}@dots{}@samp{7}) with @samp{1} corresponding to Monday @item %U week number of year, with Sunday as the first day of the week (@samp{00}@dots{}@samp{53}). Days in a new year preceding the first Sunday are in week zero. @item %V ISO week number, that is, the week number of year, with Monday as the first day of the week (@samp{01}@dots{}@samp{53}). If the week containing January 1 has four or more days in the new year, then it is considered week 1; otherwise, it is week 53 of the previous year, and the next week is week 1. (See the ISO 8601 standard.) @item %w day of week (@samp{0}@dots{}@samp{6}) with 0 corresponding to Sunday @item %W week number of year, with Monday as first day of week (@samp{00}@dots{}@samp{53}). Days in a new year preceding the first Monday are in week zero. @item %x locale's date representation (e.g., @samp{12/31/99}) @item %y last two digits of year (@samp{00}@dots{}@samp{99}) @item %Y year. This is normally at least four characters, but it may be more. Year @samp{0000} precedes year @samp{0001}, and year @samp{-001} precedes year @samp{0000}. @end table @node Literal conversion specifiers @subsection Literal conversion specifiers @cindex literal conversion specifiers @cindex conversion specifiers, literal @command{date} conversion specifiers that produce literal strings. @table @samp @item %% a literal % @item %n a newline @item %t a horizontal tab @end table @node Padding and other flags @subsection Padding and other flags @cindex numeric field padding @cindex padding of numeric fields @cindex fields, padding numeric Unless otherwise specified, @command{date} normally pads numeric fields with zeros, so that, for example, numeric months are always output as two digits. Seconds since the epoch are not padded, though, since there is no natural width for them. As a GNU extension, @command{date} recognizes any of the following optional flags after the @samp{%}: @table @samp @item - (hyphen) Do not pad the field; useful if the output is intended for human consumption. @item _ (underscore) Pad with spaces; useful if you need a fixed number of characters in the output, but zeros are too distracting. @item 0 (zero) Pad with zeros even if the conversion specifier would normally pad with spaces. @item ^ Use upper case characters if possible. @item # Use opposite case characters if possible. A field that is normally upper case becomes lower case, and vice versa. @end table @noindent Here are some examples of padding: @example date +%d/%m -d "Feb 1" @result{} 01/02 date +%-d/%-m -d "Feb 1" @result{} 1/2 date +%_d/%_m -d "Feb 1" @result{} 1/ 2 @end example As a GNU extension, you can specify the field width (after any flag, if present) as a decimal number. If the natural size of the output of the field has less than the specified number of characters, the result is written right adjusted and padded to the given size. For example, @samp{%9B} prints the right adjusted month name in a field of width 9. An optional modifier can follow the optional flag and width specification. The modifiers are: @table @samp @item E Use the locale's alternate representation for date and time. This modifier applies to the @samp{%c}, @samp{%C}, @samp{%x}, @samp{%X}, @samp{%y} and @samp{%Y} conversion specifiers. In a Japanese locale, for example, @samp{%Ex} might yield a date format based on the Japanese Emperors' reigns. @item O Use the locale's alternate numeric symbols for numbers. This modifier applies only to numeric conversion specifiers. @end table If the format supports the modifier but no alternate representation is available, it is ignored. @node Setting the time @subsection Setting the time @cindex setting the time @cindex time setting @cindex appropriate privileges If given an argument that does not start with @samp{+}, @command{date} sets the system clock to the date and time specified by that argument (as described below). You must have appropriate privileges to set the system clock. Note for changes to persist across a reboot, the hardware clock may need to be updated from the system clock, which might not happen automatically on your system. The argument must consist entirely of digits, which have the following meaning: @table @samp @item MM month @item DD day within month @item hh hour @item mm minute @item CC first two digits of year (optional) @item YY last two digits of year (optional) @item ss second (optional) @end table Note, the @option{--date} and @option{--set} options may not be used with an argument in the above format. The @option{--universal} option may be used with such an argument to indicate that the specified date and time are relative to Coordinated Universal Time rather than to the local time zone. @node Options for date @subsection Options for @command{date} @cindex @command{date} options @cindex options for @command{date} The program accepts the following options. Also see @ref{Common options}. @table @samp @item -d @var{datestr} @itemx --date=@var{datestr} @opindex -d @opindex --date @cindex parsing date strings @cindex date strings, parsing @cindex arbitrary date strings, parsing @opindex yesterday @opindex tomorrow @opindex next @var{day} @opindex last @var{day} Display the date and time specified in @var{datestr} instead of the current date and time. @var{datestr} can be in almost any common format. It can contain month names, time zones, @samp{am} and @samp{pm}, @samp{yesterday}, etc. For example, @option{--date="2004-02-27 14:19:13.489392193 +0530"} specifies the instant of time that is 489,392,193 nanoseconds after February 27, 2004 at 2:19:13 PM in a time zone that is 5 hours and 30 minutes east of UTC.@* Note: input currently must be in locale independent format. E.g., the LC_TIME=C below is needed to print back the correct date in many locales: @example date -d "$(LC_TIME=C date)" @end example @xref{Date input formats}. @item -f @var{datefile} @itemx --file=@var{datefile} @opindex -f @opindex --file Parse each line in @var{datefile} as with @option{-d} and display the resulting date and time. If @var{datefile} is @samp{-}, use standard input. This is useful when you have many dates to process, because the system overhead of starting up the @command{date} executable many times can be considerable. @item -I[@var{timespec}] @itemx --iso-8601[=@var{timespec}] @opindex -I[@var{timespec}] @opindex --iso-8601[=@var{timespec}] Display the date using the ISO 8601 format, @samp{%Y-%m-%d}. The argument @var{timespec} specifies the number of additional terms of the time to include. It can be one of the following: @table @samp @item auto Print just the date. This is the default if @var{timespec} is omitted. @item hours Append the hour of the day to the date. @item minutes Append the hours and minutes. @item seconds Append the hours, minutes and seconds. @item ns Append the hours, minutes, seconds and nanoseconds. @end table If showing any time terms, then include the time zone using the format @samp{%z}. @item -r @var{file} @itemx --reference=@var{file} @opindex -r @opindex --reference Display the date and time of the last modification of @var{file}, instead of the current date and time. @item -R @itemx --rfc-822 @itemx --rfc-2822 @opindex -R @opindex --rfc-822 @opindex --rfc-2822 Display the date and time using the format @samp{%a, %d %b %Y %H:%M:%S %z}, evaluated in the C locale so abbreviations are always in English. For example: @example Fri, 09 Sep 2005 13:51:39 -0700 @end example This format conforms to @uref{ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt, Internet RFCs 2822} and @uref{ftp://ftp.rfc-editor.org/in-notes/rfc822.txt, 822}, the current and previous standards for Internet email. @item --rfc-3339=@var{timespec} @opindex --rfc-3339=@var{timespec} Display the date using a format specified by @uref{ftp://ftp.rfc-editor.org/in-notes/rfc3339.txt, Internet RFC 3339}. This is a subset of the ISO 8601 format, except that it also permits applications to use a space rather than a @samp{T} to separate dates from times. Unlike the other standard formats, RFC 3339 format is always suitable as input for the @option{--date} (@option{-d}) and @option{--file} (@option{-f}) options, regardless of the current locale. The argument @var{timespec} specifies how much of the time to include. It can be one of the following: @table @samp @item date Print just the full-date, e.g., @samp{2005-09-14}. This is equivalent to the format @samp{%Y-%m-%d}. @item seconds Print the full-date and full-time separated by a space, e.g., @samp{2005-09-14 00:56:06+05:30}. The output ends with a numeric time-offset; here the @samp{+05:30} means that local time is five hours and thirty minutes east of UTC@. This is equivalent to the format @samp{%Y-%m-%d %H:%M:%S%:z}. @item ns Like @samp{seconds}, but also print nanoseconds, e.g., @samp{2005-09-14 00:56:06.998458565+05:30}. This is equivalent to the format @samp{%Y-%m-%d %H:%M:%S.%N%:z}. @end table @item -s @var{datestr} @itemx --set=@var{datestr} @opindex -s @opindex --set Set the date and time to @var{datestr}. See @option{-d} above. See also @ref{Setting the time}. @item -u @itemx --utc @itemx --universal @opindex -u @opindex --utc @opindex --universal @cindex Coordinated Universal Time @cindex UTC @cindex Greenwich Mean Time @cindex GMT @cindex leap seconds @vindex TZ Use Coordinated Universal Time (UTC) by operating as if the @env{TZ} environment variable were set to the string @samp{UTC0}. Coordinated Universal Time is often called ``Greenwich Mean Time'' (GMT) for historical reasons. Typically, systems ignore leap seconds and thus implement an approximation to UTC rather than true UTC. @end table @node Examples of date @subsection Examples of @command{date} @cindex examples of @command{date} Here are a few examples. Also see the documentation for the @option{-d} option in the previous section. @itemize @bullet @item To print the date of the day before yesterday: @example date --date='2 days ago' @end example @item To print the date of the day three months and one day hence: @example date --date='3 months 1 day' @end example @item To print the day of year of Christmas in the current year: @example date --date='25 Dec' +%j @end example @item To print the current full month name and the day of the month: @example date '+%B %d' @end example But this may not be what you want because for the first nine days of the month, the @samp{%d} expands to a zero-padded two-digit field, for example @samp{date -d 1may '+%B %d'} will print @samp{May 01}. @item To print a date without the leading zero for one-digit days of the month, you can use the (GNU extension) @samp{-} flag to suppress the padding altogether: @example date -d 1may '+%B %-d @end example @item To print the current date and time in the format required by many non-GNU versions of @command{date} when setting the system clock: @example date +%m%d%H%M%Y.%S @end example @item To set the system clock forward by two minutes: @example date --set='+2 minutes' @end example @item To print the date in RFC 2822 format, use @samp{date --rfc-2822}. Here is some example output: @example Fri, 09 Sep 2005 13:51:39 -0700 @end example @anchor{%s-examples} @item To convert a date string to the number of seconds since the epoch (which is 1970-01-01 00:00:00 UTC), use the @option{--date} option with the @samp{%s} format. That can be useful in sorting and/or graphing and/or comparing data by date. The following command outputs the number of the seconds since the epoch for the time two minutes after the epoch: @example date --date='1970-01-01 00:02:00 +0000' +%s 120 @end example If you do not specify time zone information in the date string, @command{date} uses your computer's idea of the time zone when interpreting the string. For example, if your computer's time zone is that of Cambridge, Massachusetts, which was then 5 hours (i.e., 18,000 seconds) behind UTC: @example # local time zone used date --date='1970-01-01 00:02:00' +%s 18120 @end example @item If you're sorting or graphing dated data, your raw date values may be represented as seconds since the epoch. But few people can look at the date @samp{946684800} and casually note ``Oh, that's the first second of the year 2000 in Greenwich, England.'' @example date --date='2000-01-01 UTC' +%s 946684800 @end example An alternative is to use the @option{--utc} (@option{-u}) option. Then you may omit @samp{UTC} from the date string. Although this produces the same result for @samp{%s} and many other format sequences, with a time zone offset different from zero, it would give a different result for zone-dependent formats like @samp{%z}. @example date -u --date=2000-01-01 +%s 946684800 @end example To convert such an unwieldy number of seconds back to a more readable form, use a command like this: @smallexample # local time zone used date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z" 1999-12-31 19:00:00 -0500 @end smallexample Or if you do not mind depending on the @samp{@@} feature present since coreutils 5.3.0, you could shorten this to: @smallexample date -d @@946684800 +"%F %T %z" 1999-12-31 19:00:00 -0500 @end smallexample Often it is better to output UTC-relative date and time: @smallexample date -u -d '1970-01-01 946684800 seconds' +"%Y-%m-%d %T %z" 2000-01-01 00:00:00 +0000 @end smallexample @item @cindex leap seconds Typically the seconds count omits leap seconds, but some systems are exceptions. Because leap seconds are not predictable, the mapping between the seconds count and a future timestamp is not reliable on the atypical systems that include leap seconds in their counts. Here is how the two kinds of systems handle the leap second at 2012-06-30 23:59:60 UTC: @example # Typical systems ignore leap seconds: date --date='2012-06-30 23:59:59 +0000' +%s 1341100799 date --date='2012-06-30 23:59:60 +0000' +%s date: invalid date '2012-06-30 23:59:60 +0000' date --date='2012-07-01 00:00:00 +0000' +%s 1341100800 @end example @example # Atypical systems count leap seconds: date --date='2012-06-30 23:59:59 +0000' +%s 1341100823 date --date='2012-06-30 23:59:60 +0000' +%s 1341100824 date --date='2012-07-01 00:00:00 +0000' +%s 1341100825 @end example @end itemize @node arch invocation @section @command{arch}: Print machine hardware name @pindex arch @cindex print machine hardware name @cindex system information, printing @command{arch} prints the machine hardware name, and is equivalent to @samp{uname -m}. Synopsis: @example arch [@var{option}] @end example The program accepts the @ref{Common options} only. @exitstatus @node nproc invocation @section @command{nproc}: Print the number of available processors @pindex nproc @cindex Print the number of processors @cindex system information, printing Print the number of processing units available to the current process, which may be less than the number of online processors. If this information is not accessible, then print the number of processors installed. If the @env{OMP_NUM_THREADS} environment variable is set, then it will determine the returned value. The result is guaranteed to be greater than zero. Synopsis: @example nproc [@var{option}] @end example The program accepts the following options. Also see @ref{Common options}. @table @samp @item --all @opindex --all Print the number of installed processors on the system, which may be greater than the number online or available to the current process. The @env{OMP_NUM_THREADS} environment variable is not honored in this case. @item --ignore=@var{number} @opindex --ignore If possible, exclude this @var{number} of processing units. @end table @exitstatus @node uname invocation @section @command{uname}: Print system information @pindex uname @cindex print system information @cindex system information, printing @command{uname} prints information about the machine and operating system it is run on. If no options are given, @command{uname} acts as if the @option{-s} option were given. Synopsis: @example uname [@var{option}]@dots{} @end example If multiple options or @option{-a} are given, the selected information is printed in this order: @example @var{kernel-name} @var{nodename} @var{kernel-release} @var{kernel-version} @var{machine} @var{processor} @var{hardware-platform} @var{operating-system} @end example The information may contain internal spaces, so such output cannot be parsed reliably. In the following example, @var{release} is @samp{2.2.18ss.e820-bda652a #4 SMP Tue Jun 5 11:24:08 PDT 2001}: @smallexample uname -a @result{} Linux dumdum 2.2.18 #4 SMP Tue Jun 5 11:24:08 PDT 2001 i686@c unknown unknown GNU/Linux @end smallexample The program accepts the following options. Also see @ref{Common options}. @table @samp @item -a @itemx --all @opindex -a @opindex --all Print all of the below information, except omit the processor type and the hardware platform name if they are unknown. @item -i @itemx --hardware-platform @opindex -i @opindex --hardware-platform @cindex implementation, hardware @cindex hardware platform @cindex platform, hardware Print the hardware platform name (sometimes called the hardware implementation). Print @samp{unknown} if the kernel does not make this information easily available, as is the case with Linux kernels. @item -m @itemx --machine @opindex -m @opindex --machine @cindex machine type @cindex hardware class @cindex hardware type Print the machine hardware name (sometimes called the hardware class or hardware type). @item -n @itemx --nodename @opindex -n @opindex --nodename @cindex hostname @cindex node name @cindex network node name Print the network node hostname. @item -p @itemx --processor @opindex -p @opindex --processor @cindex host processor type Print the processor type (sometimes called the instruction set architecture or ISA). Print @samp{unknown} if the kernel does not make this information easily available, as is the case with Linux kernels. @item -o @itemx --operating-system @opindex -o @opindex --operating-system @cindex operating system name Print the name of the operating system. @item -r @itemx --kernel-release @opindex -r @opindex --kernel-release @cindex kernel release @cindex release of kernel Print the kernel release. @item -s @itemx --kernel-name @opindex -s @opindex --kernel-name @cindex kernel name @cindex name of kernel Print the kernel name. POSIX 1003.1-2001 (@pxref{Standards conformance}) calls this ``the implementation of the operating system'', because the POSIX specification itself has no notion of ``kernel''. The kernel name might be the same as the operating system name printed by the @option{-o} or @option{--operating-system} option, but it might differ. Some operating systems (e.g., FreeBSD, HP-UX) have the same name as their underlying kernels; others (e.g., GNU/Linux, Solaris) do not. @item -v @itemx --kernel-version @opindex -v @opindex --kernel-version @cindex kernel version @cindex version of kernel Print the kernel version. @end table @exitstatus @node hostname invocation @section @command{hostname}: Print or set system name @pindex hostname @cindex setting the hostname @cindex printing the hostname @cindex system name, printing @cindex appropriate privileges With no arguments, @command{hostname} prints the name of the current host system. With one argument, it sets the current host name to the specified string. You must have appropriate privileges to set the host name. Synopsis: @example hostname [@var{name}] @end example The only options are @option{--help} and @option{--version}. @xref{Common options}. @exitstatus @node hostid invocation @section @command{hostid}: Print numeric host identifier @pindex hostid @cindex printing the host identifier @command{hostid} prints the numeric identifier of the current host in hexadecimal. This command accepts no arguments. The only options are @option{--help} and @option{--version}. @xref{Common options}. For example, here's what it prints on one system I use: @example $ hostid 1bac013d @end example On that system, the 32-bit quantity happens to be closely related to the system's Internet address, but that isn't always the case. @exitstatus @node uptime invocation @section @command{uptime}: Print system uptime and load @pindex uptime @cindex printing the system uptime and load @command{uptime} prints the current time, the system's uptime, the number of logged-in users and the current load average. If an argument is specified, it is used as the file to be read to discover how many users are logged in. If no argument is specified, a system default is used (@command{uptime --help} indicates the default setting). The only options are @option{--help} and @option{--version}. @xref{Common options}. For example, here's what it prints right now on one system I use: @example $ uptime 14:07 up 3:35, 3 users, load average: 1.39, 1.15, 1.04 @end example The precise method of calculation of load average varies somewhat between systems. Some systems calculate it as the average number of runnable processes over the last 1, 5 and 15 minutes, but some systems also include processes in the uninterruptible sleep state (that is, those processes which are waiting for disk I/O). The Linux kernel includes uninterruptible processes. @node SELinux context @chapter SELinux context @cindex SELinux context @cindex SELinux, context @cindex commands for SELinux context This section describes commands for operations with SELinux contexts. @menu * chcon invocation:: Change SELinux context of file * runcon invocation:: Run a command in specified SELinux context @end menu @node chcon invocation @section @command{chcon}: Change SELinux context of file @pindex chcon @cindex changing security context @cindex change SELinux context @command{chcon} changes the SELinux security context of the selected files. Synopses: @smallexample chcon [@var{option}]@dots{} @var{context} @var{file}@dots{} chcon [@var{option}]@dots{} [-u @var{user}] [-r @var{role}] [-l @var{range}]@c [-t @var{type}] @var{file}@dots{} chcon [@var{option}]@dots{} --reference=@var{rfile} @var{file}@dots{} @end smallexample Change the SELinux security context of each @var{file} to @var{context}. With @option{--reference}, change the security context of each @var{file} to that of @var{rfile}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item --dereference @opindex --dereference Do not affect symbolic links but what they refer to; this is the default. @item -h @itemx --no-dereference @opindex -h @opindex --no-dereference @cindex no dereference Affect the symbolic links themselves instead of any referenced file. @item --reference=@var{rfile} @opindex --reference @cindex reference file Use @var{rfile}'s security context rather than specifying a @var{context} value. @item -R @itemx --recursive @opindex -R @opindex --recursive Operate on files and directories recursively. @item --preserve-root @opindex --preserve-root Refuse to operate recursively on the root directory, @file{/}, when used together with the @option{--recursive} option. @xref{Treating / specially}. @item --no-preserve-root @opindex --no-preserve-root Do not treat the root directory, @file{/}, specially when operating recursively; this is the default. @xref{Treating / specially}. @choptH @xref{Traversing symlinks}. @choptL @xref{Traversing symlinks}. @choptP @xref{Traversing symlinks}. @item -v @itemx --verbose @opindex -v @opindex --verbose @cindex diagnostic Output a diagnostic for every file processed. @item -u @var{user} @itemx --user=@var{user} @opindex -u @opindex --user Set user @var{user} in the target security context. @item -r @var{role} @itemx --role=@var{role} @opindex -r @opindex --role Set role @var{role} in the target security context. @item -t @var{type} @itemx --type=@var{type} @opindex -t @opindex --type Set type @var{type} in the target security context. @item -l @var{range} @itemx --range=@var{range} @opindex -l @opindex --range Set range @var{range} in the target security context. @end table @exitstatus @node runcon invocation @section @command{runcon}: Run a command in specified SELinux context @pindex runcon @cindex run with security context @command{runcon} runs file in specified SELinux security context. Synopses: @smallexample runcon @var{context} @var{command} [@var{args}] runcon [ -c ] [-u @var{user}] [-r @var{role}] [-t @var{type}]@c [-l @var{range}] @var{command} [@var{args}] @end smallexample Run @var{command} with completely-specified @var{context}, or with current or transitioned security context modified by one or more of @var{level}, @var{role}, @var{type} and @var{user}. If none of @option{-c}, @option{-t}, @option{-u}, @option{-r}, or @option{-l} is specified, the first argument is used as the complete context. Any additional arguments after @var{command} are interpreted as arguments to the command. With neither @var{context} nor @var{command}, print the current security context. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -c @itemx --compute @opindex -c @opindex --compute Compute process transition context before modifying. @item -u @var{user} @itemx --user=@var{user} @opindex -u @opindex --user Set user @var{user} in the target security context. @item -r @var{role} @itemx --role=@var{role} @opindex -r @opindex --role Set role @var{role} in the target security context. @item -t @var{type} @itemx --type=@var{type} @opindex -t @opindex --type Set type @var{type} in the target security context. @item -l @var{range} @itemx --range=@var{range} @opindex -l @opindex --range Set range @var{range} in the target security context. @end table @cindex exit status of @command{runcon} Exit status: @display 126 if @var{command} is found but cannot be invoked 127 if @command{runcon} itself fails or if @var{command} cannot be found the exit status of @var{command} otherwise @end display @node Modified command invocation @chapter Modified command invocation @cindex modified command invocation @cindex invocation of commands, modified @cindex commands for invoking other commands This section describes commands that run other commands in some context different than the current one: a modified environment, as a different user, etc. @menu * chroot invocation:: Modify the root directory. * env invocation:: Modify environment variables. * nice invocation:: Modify niceness. * nohup invocation:: Immunize to hangups. * stdbuf invocation:: Modify buffering of standard streams. * timeout invocation:: Run with time limit. @end menu @node chroot invocation @section @command{chroot}: Run a command with a different root directory @pindex chroot @cindex running a program in a specified root directory @cindex root directory, running a program in a specified @command{chroot} runs a command with a specified root directory. On many systems, only the super-user can do this.@footnote{However, some systems (e.g., FreeBSD) can be configured to allow certain regular users to use the @code{chroot} system call, and hence to run this program. Also, on Cygwin, anyone can run the @command{chroot} command, because the underlying function is non-privileged due to lack of support in MS-Windows.} Synopses: @example chroot @var{option} @var{newroot} [@var{command} [@var{args}]@dots{}] chroot @var{option} @end example Ordinarily, file names are looked up starting at the root of the directory structure, i.e., @file{/}. @command{chroot} changes the root to the directory @var{newroot} (which must exist) and then runs @var{command} with optional @var{args}. If @var{command} is not specified, the default is the value of the @env{SHELL} environment variable or @command{/bin/sh} if not set, invoked with the @option{-i} option. @var{command} must not be a special built-in utility (@pxref{Special built-in utilities}). The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @item --userspec=@var{user}[:@var{group}] @opindex --userspec By default, @var{command} is run with the same credentials as the invoking process. Use this option to run it as a different @var{user} and/or with a different primary @var{group}. @item --groups=@var{groups} @opindex --groups Use this option to specify the supplementary @var{groups} to be used by the new process. The items in the list (names or numeric IDs) must be separated by commas. @end table Here are a few tips to help avoid common problems in using chroot. To start with a simple example, make @var{command} refer to a statically linked binary. If you were to use a dynamically linked executable, then you'd have to arrange to have the shared libraries in the right place under your new root directory. For example, if you create a statically linked @command{ls} executable, and put it in @file{/tmp/empty}, you can run this command as root: @example $ chroot /tmp/empty /ls -Rl / @end example Then you'll see output like this: @example /: total 1023 -rwxr-xr-x 1 0 0 1041745 Aug 16 11:17 ls @end example If you want to use a dynamically linked executable, say @command{bash}, then first run @samp{ldd bash} to see what shared objects it needs. Then, in addition to copying the actual binary, also copy the listed files to the required positions under your intended new root directory. Finally, if the executable requires any other files (e.g., data, state, device files), copy them into place, too. @cindex exit status of @command{chroot} Exit status: @display 125 if @command{chroot} itself fails 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found the exit status of @var{command} otherwise @end display @node env invocation @section @command{env}: Run a command in a modified environment @pindex env @cindex environment, running a program in a modified @cindex modified environment, running a program in a @cindex running a program in a modified environment @command{env} runs a command with a modified environment. Synopses: @example env [@var{option}]@dots{} [@var{name}=@var{value}]@dots{} @c [@var{command} [@var{args}]@dots{}] env @end example Operands of the form @samp{@var{variable}=@var{value}} set the environment variable @var{variable} to value @var{value}. @var{value} may be empty (@samp{@var{variable}=}). Setting a variable to an empty value is different from unsetting it. These operands are evaluated left-to-right, so if two operands mention the same variable the earlier is ignored. Environment variable names can be empty, and can contain any characters other than @samp{=} and ASCII NUL. However, it is wise to limit yourself to names that consist solely of underscores, digits, and ASCII letters, and that begin with a non-digit, as applications like the shell do not work well with other names. @vindex PATH The first operand that does not contain the character @samp{=} specifies the program to invoke; it is searched for according to the @env{PATH} environment variable. Any remaining arguments are passed as arguments to that program. The program should not be a special built-in utility (@pxref{Special built-in utilities}). Modifications to @env{PATH} take effect prior to searching for @var{command}. Use caution when reducing @env{PATH}; behavior is not portable when @env{PATH} is undefined or omits key directories such as @file{/bin}. In the rare case that a utility contains a @samp{=} in the name, the only way to disambiguate it from a variable assignment is to use an intermediate command for @var{command}, and pass the problematic program name via @var{args}. For example, if @file{./prog=} is an executable in the current @env{PATH}: @example env prog= true # runs 'true', with prog= in environment env ./prog= true # runs 'true', with ./prog= in environment env -- prog= true # runs 'true', with prog= in environment env sh -c '\prog= true' # runs 'prog=' with argument 'true' env sh -c 'exec "$@@"' sh prog= true # also runs 'prog=' @end example @cindex environment, printing If no command name is specified following the environment specifications, the resulting environment is printed. This is like specifying the @command{printenv} program. For some examples, suppose the environment passed to @command{env} contains @samp{LOGNAME=rms}, @samp{EDITOR=emacs}, and @samp{PATH=.:/gnubin:/hacks}: @itemize @bullet @item Output the current environment. @example $ env | LC_ALL=C sort EDITOR=emacs LOGNAME=rms PATH=.:/gnubin:/hacks @end example @item Run @command{foo} with a reduced environment, preserving only the original @env{PATH} to avoid problems in locating @command{foo}. @example env - PATH="$PATH" foo @end example @item Run @command{foo} with the environment containing @samp{LOGNAME=rms}, @samp{EDITOR=emacs}, and @samp{PATH=.:/gnubin:/hacks}, and guarantees that @command{foo} was found in the file system rather than as a shell built-in. @example env foo @end example @item Run @command{nemacs} with the environment containing @samp{LOGNAME=foo}, @samp{EDITOR=emacs}, @samp{PATH=.:/gnubin:/hacks}, and @samp{DISPLAY=gnu:0}. @example env DISPLAY=gnu:0 LOGNAME=foo nemacs @end example @item Attempt to run the program @command{/energy/--} (as that is the only possible path search result); if the command exists, the environment will contain @samp{LOGNAME=rms} and @samp{PATH=/energy}, and the arguments will be @samp{e=mc2}, @samp{bar}, and @samp{baz}. @example env -u EDITOR PATH=/energy -- e=mc2 bar baz @end example @end itemize The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @optNull{env} @item -u @var{name} @itemx --unset=@var{name} @opindex -u @opindex --unset Remove variable @var{name} from the environment, if it was in the environment. @item - @itemx -i @itemx --ignore-environment @opindex - @opindex -i @opindex --ignore-environment Start with an empty environment, ignoring the inherited environment. @end table @cindex exit status of @command{env} Exit status: @display 0 if no @var{command} is specified and the environment is output 125 if @command{env} itself fails 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found the exit status of @var{command} otherwise @end display @node nice invocation @section @command{nice}: Run a command with modified niceness @pindex nice @cindex niceness @cindex scheduling, affecting @cindex appropriate privileges @command{nice} prints a process's @dfn{niceness}, or runs a command with modified niceness. @dfn{niceness} affects how favorably the process is scheduled in the system. Synopsis: @example nice [@var{option}]@dots{} [@var{command} [@var{arg}]@dots{}] @end example If no arguments are given, @command{nice} prints the current niceness. Otherwise, @command{nice} runs the given @var{command} with its niceness adjusted. By default, its niceness is incremented by 10. Niceness values range at least from @minus{}20 (process has high priority and gets more resources, thus slowing down other processes) through 19 (process has lower priority and runs slowly itself, but has less impact on the speed of other running processes). Some systems may have a wider range of niceness values; conversely, other systems may enforce more restrictive limits. An attempt to set the niceness outside the supported range is treated as an attempt to use the minimum or maximum supported value. A niceness should not be confused with a scheduling priority, which lets applications determine the order in which threads are scheduled to run. Unlike a priority, a niceness is merely advice to the scheduler, which the scheduler is free to ignore. Also, as a point of terminology, POSIX defines the behavior of @command{nice} in terms of a @dfn{nice value}, which is the nonnegative difference between a niceness and the minimum niceness. Though @command{nice} conforms to POSIX, its documentation and diagnostics use the term ``niceness'' for compatibility with historical practice. @var{command} must not be a special built-in utility (@pxref{Special built-in utilities}). @mayConflictWithShellBuiltIn{nice} Note to change the @dfn{niceness} of an existing process, one needs to use the @command{renice} command. The program accepts the following option. Also see @ref{Common options}. Options must precede operands. @table @samp @item -n @var{adjustment} @itemx --adjustment=@var{adjustment} @opindex -n @opindex --adjustment Add @var{adjustment} instead of 10 to the command's niceness. If @var{adjustment} is negative and you lack appropriate privileges, @command{nice} issues a warning but otherwise acts as if you specified a zero adjustment. For compatibility @command{nice} also supports an obsolete option syntax @option{-@var{adjustment}}. New scripts should use @option{-n @var{adjustment}} instead. @end table @cindex exit status of @command{nice} Exit status: @display 0 if no @var{command} is specified and the niceness is output 125 if @command{nice} itself fails 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found the exit status of @var{command} otherwise @end display It is sometimes useful to run a non-interactive program with reduced niceness. @example $ nice factor 4611686018427387903 @end example Since @command{nice} prints the current niceness, you can invoke it through itself to demonstrate how it works. The default behavior is to increase the niceness by @samp{10}: @example $ nice 0 $ nice nice 10 $ nice -n 10 nice 10 @end example The @var{adjustment} is relative to the current niceness. In the next example, the first @command{nice} invocation runs the second one with niceness 10, and it in turn runs the final one with a niceness that is 3 more: @example $ nice nice -n 3 nice 13 @end example Specifying a niceness larger than the supported range is the same as specifying the maximum supported value: @example $ nice -n 10000000000 nice 19 @end example Only a privileged user may run a process with lower niceness: @example $ nice -n -1 nice nice: cannot set niceness: Permission denied 0 $ sudo nice -n -1 nice -1 @end example @node nohup invocation @section @command{nohup}: Run a command immune to hangups @pindex nohup @cindex hangups, immunity to @cindex immunity to hangups @cindex logging out and continuing to run @flindex nohup.out @command{nohup} runs the given @var{command} with hangup signals ignored, so that the command can continue running in the background after you log out. Synopsis: @example nohup @var{command} [@var{arg}]@dots{} @end example If standard input is a terminal, it is redirected from @file{/dev/null} so that terminal sessions do not mistakenly consider the terminal to be used by the command. This is a GNU extension; programs intended to be portable to non-GNU hosts should use @samp{nohup @var{command} [@var{arg}]@dots{} make.log @end example @command{nohup} does not automatically put the command it runs in the background; you must do that explicitly, by ending the command line with an @samp{&}. Also, @command{nohup} does not alter the niceness of @var{command}; use @command{nice} for that, e.g., @samp{nohup nice @var{command}}. @var{command} must not be a special built-in utility (@pxref{Special built-in utilities}). The only options are @option{--help} and @option{--version}. @xref{Common options}. Options must precede operands. @cindex exit status of @command{nohup} Exit status: @display 125 if @command{nohup} itself fails, and @env{POSIXLY_CORRECT} is not set 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found the exit status of @var{command} otherwise @end display If @env{POSIXLY_CORRECT} is set, internal failures give status 127 instead of 125. @node stdbuf invocation @section @command{stdbuf}: Run a command with modified I/O stream buffering @pindex stdbuf @cindex standard streams, buffering @cindex line buffered @command{stdbuf} allows one to modify the buffering operations of the three standard I/O streams associated with a program. Synopsis: @example stdbuf @var{option}@dots{} @var{command} @end example @var{command} must start with the name of a program that @enumerate @item uses the ISO C @code{FILE} streams for input/output (note the programs @command{dd} and @command{cat} don't do that), @item does not adjust the buffering of its standard streams (note the program @command{tee} is not in this category). @end enumerate Any additional @var{arg}s are passed as additional arguments to the @var{command}. The program accepts the following options. Also see @ref{Common options}. @table @samp @item -i @var{mode} @itemx --input=@var{mode} @opindex -i @opindex --input Adjust the standard input stream buffering. @item -o @var{mode} @itemx --output=@var{mode} @opindex -o @opindex --output Adjust the standard output stream buffering. @item -e @var{mode} @itemx --error=@var{mode} @opindex -e @opindex --error Adjust the standard error stream buffering. @end table The @var{mode} can be specified as follows: @table @samp @item L Set the stream to line buffered mode. In this mode data is coalesced until a newline is output or input is read from any stream attached to a terminal device. This option is invalid with standard input. @item 0 Disable buffering of the selected stream. In this mode, data is output immediately and only the amount of data requested is read from input. Note the difference in function for input and output. Disabling buffering for input will not influence the responsiveness or blocking behavior of the stream input functions. For example @code{fread} will still block until @code{EOF} or error, even if the underlying @code{read} returns less data than requested. @item @var{size} Specify the size of the buffer to use in fully buffered mode. @multiplierSuffixesNoBlocks{size} @end table @cindex exit status of @command{stdbuf} Exit status: @display 125 if @command{stdbuf} itself fails 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found the exit status of @var{command} otherwise @end display @node timeout invocation @section @command{timeout}: Run a command with a time limit @pindex timeout @cindex time limit @cindex run commands with bounded time @command{timeout} runs the given @var{command} and kills it if it is still running after the specified time interval. Synopsis: @example timeout [@var{option}] @var{duration} @var{command} [@var{arg}]@dots{} @end example @var{command} must not be a special built-in utility (@pxref{Special built-in utilities}). The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @item --preserve-status @opindex --preserve-status Return the exit status of the managed @var{command} on timeout, rather than a specific exit status indicating a timeout. This is useful if the managed @var{command} supports running for an indeterminite amount of time. @item --foreground @opindex --foreground Don't create a separate background program group, so that the managed @var{command} can use the foreground TTY normally. This is needed to support timing out commands not started directly from an interactive shell, in two situations. @enumerate @item @var{command} is interactive and needs to read from the terminal for example @item the user wants to support sending signals directly to @var{command} from the terminal (like Ctrl-C for example) @end enumerate Note in this mode of operation, any children of @var{command} will not be timed out. @item -k @var{duration} @itemx --kill-after=@var{duration} @opindex -k @opindex --kill-after Ensure the monitored @var{command} is killed by also sending a @samp{KILL} signal, after the specified @var{duration}. Without this option, if the selected signal proves not to be fatal, @command{timeout} does not kill the @var{command}. @item -s @var{signal} @itemx --signal=@var{signal} @opindex -s @opindex --signal Send this @var{signal} to @var{command} on timeout, rather than the default @samp{TERM} signal. @var{signal} may be a name like @samp{HUP} or a number. @xref{Signal specifications}. @end table @cindex time units @var{duration} is a floating point number followed by an optional unit: @display @samp{s} for seconds (the default) @samp{m} for minutes @samp{h} for hours @samp{d} for days @end display A duration of 0 disables the associated timeout. Note that the actual timeout duration is dependent on system conditions, which should be especially considered when specifying sub-second timeouts. @cindex exit status of @command{timeout} Exit status: @display 124 if @var{command} times out 125 if @command{timeout} itself fails 126 if @var{command} is found but cannot be invoked 127 if @var{command} cannot be found 137 if @var{command} is sent the KILL(9) signal (128+9) the exit status of @var{command} otherwise @end display @node Process control @chapter Process control @cindex processes, commands for controlling @cindex commands for controlling processes @menu * kill invocation:: Sending a signal to processes. @end menu @node kill invocation @section @command{kill}: Send a signal to processes @pindex kill @cindex send a signal to processes The @command{kill} command sends a signal to processes, causing them to terminate or otherwise act upon receiving the signal in some way. Alternatively, it lists information about signals. Synopses: @example kill [-s @var{signal} | --signal @var{signal} | -@var{signal}] @var{pid}@dots{} kill [-l | --list | -t | --table] [@var{signal}]@dots{} @end example @mayConflictWithShellBuiltIn{kill} The first form of the @command{kill} command sends a signal to all @var{pid} arguments. The default signal to send if none is specified is @samp{TERM}@. The special signal number @samp{0} does not denote a valid signal, but can be used to test whether the @var{pid} arguments specify processes to which a signal could be sent. If @var{pid} is positive, the signal is sent to the process with the process ID @var{pid}. If @var{pid} is zero, the signal is sent to all processes in the process group of the current process. If @var{pid} is @minus{}1, the signal is sent to all processes for which the user has permission to send a signal. If @var{pid} is less than @minus{}1, the signal is sent to all processes in the process group that equals the absolute value of @var{pid}. If @var{pid} is not positive, a system-dependent set of system processes is excluded from the list of processes to which the signal is sent. If a negative @var{pid} argument is desired as the first one, it should be preceded by @option{--}. However, as a common extension to POSIX, @option{--} is not required with @samp{kill -@var{signal} -@var{pid}}. The following commands are equivalent: @example kill -15 -1 kill -TERM -1 kill -s TERM -- -1 kill -- -1 @end example The first form of the @command{kill} command succeeds if every @var{pid} argument specifies at least one process that the signal was sent to. The second form of the @command{kill} command lists signal information. Either the @option{-l} or @option{--list} option, or the @option{-t} or @option{--table} option must be specified. Without any @var{signal} argument, all supported signals are listed. The output of @option{-l} or @option{--list} is a list of the signal names, one per line; if @var{signal} is already a name, the signal number is printed instead. The output of @option{-t} or @option{--table} is a table of signal numbers, names, and descriptions. This form of the @command{kill} command succeeds if all @var{signal} arguments are valid and if there is no output error. The @command{kill} command also supports the @option{--help} and @option{--version} options. @xref{Common options}. A @var{signal} may be a signal name like @samp{HUP}, or a signal number like @samp{1}, or an exit status of a process terminated by the signal. A signal name can be given in canonical form or prefixed by @samp{SIG}@. The case of the letters is ignored, except for the @option{-@var{signal}} option which must use upper case to avoid ambiguity with lower case option letters. @xref{Signal specifications}, for a list of supported signal names and numbers. @node Delaying @chapter Delaying @cindex delaying commands @cindex commands for delaying @c Perhaps @command{wait} or other commands should be described here also? @menu * sleep invocation:: Delay for a specified time. @end menu @node sleep invocation @section @command{sleep}: Delay for a specified time @pindex sleep @cindex delay for a specified time @command{sleep} pauses for an amount of time specified by the sum of the values of the command line arguments. Synopsis: @example sleep @var{number}[smhd]@dots{} @end example @cindex time units Each argument is a number followed by an optional unit; the default is seconds. The units are: @table @samp @item s seconds @item m minutes @item h hours @item d days @end table Historical implementations of @command{sleep} have required that @var{number} be an integer, and only accepted a single argument without a suffix. However, GNU @command{sleep} accepts arbitrary floating point numbers. @xref{Floating point}. The only options are @option{--help} and @option{--version}. @xref{Common options}. @c sleep is a shell built-in at least with Solaris 11's /bin/sh @mayConflictWithShellBuiltIn{sleep} @exitstatus @node Numeric operations @chapter Numeric operations @cindex numeric operations These programs do numerically-related operations. @menu * factor invocation:: Show factors of numbers. * seq invocation:: Print sequences of numbers. @end menu @node factor invocation @section @command{factor}: Print prime factors @pindex factor @cindex prime factors @command{factor} prints prime factors. Synopses: @example factor [@var{number}]@dots{} factor @var{option} @end example If no @var{number} is specified on the command line, @command{factor} reads numbers from standard input, delimited by newlines, tabs, or spaces. The @command{factor} command supports only a small number of options: @table @samp @item --help Print a short help on standard output, then exit without further processing. @item --version Print the program version on standard output, then exit without further processing. @end table Factoring the product of the eighth and ninth Mersenne primes takes about 30 milliseconds of CPU time on a 2.2 GHz Athlon. @example M8=$(echo 2^31-1|bc) M9=$(echo 2^61-1|bc) n=$(echo "$M8 * $M9" | bc) /usr/bin/time -f %U factor $n 4951760154835678088235319297: 2147483647 2305843009213693951 0.03 @end example Similarly, factoring the eighth Fermat number @math{2^{256}+1} takes about 20 seconds on the same machine. Factoring large numbers is, in general, hard. The Pollard Rho algorithm used by @command{factor} is particularly effective for numbers with relatively small factors. If you wish to factor large numbers which do not have small factors (for example, numbers which are the product of two large primes), other methods are far better. If @command{factor} is built without using GNU MP, only single-precision arithmetic is available, and so large numbers (typically @math{2^{64}} and above) will not be supported. The single-precision code uses an algorithm which is designed for factoring smaller numbers. @exitstatus @node seq invocation @section @command{seq}: Print numeric sequences @pindex seq @cindex numeric sequences @cindex sequence of numbers @command{seq} prints a sequence of numbers to standard output. Synopses: @example seq [@var{option}]@dots{} @var{last} seq [@var{option}]@dots{} @var{first} @var{last} seq [@var{option}]@dots{} @var{first} @var{increment} @var{last} @end example @command{seq} prints the numbers from @var{first} to @var{last} by @var{increment}. By default, each number is printed on a separate line. When @var{increment} is not specified, it defaults to @samp{1}, even when @var{first} is larger than @var{last}. @var{first} also defaults to @samp{1}. So @code{seq 1} prints @samp{1}, but @code{seq 0} and @code{seq 10 5} produce no output. Floating-point numbers may be specified. @xref{Floating point}. The program accepts the following options. Also see @ref{Common options}. Options must precede operands. @table @samp @item -f @var{format} @itemx --format=@var{format} @opindex -f @var{format} @opindex --format=@var{format} @cindex formatting of numbers in @command{seq} Print all numbers using @var{format}. @var{format} must contain exactly one of the @samp{printf}-style floating point conversion specifications @samp{%a}, @samp{%e}, @samp{%f}, @samp{%g}, @samp{%A}, @samp{%E}, @samp{%F}, @samp{%G}@. The @samp{%} may be followed by zero or more flags taken from the set @samp{-+#0 '}, then an optional width containing one or more digits, then an optional precision consisting of a @samp{.} followed by zero or more digits. @var{format} may also contain any number of @samp{%%} conversion specifications. All conversion specifications have the same meaning as with @samp{printf}. The default format is derived from @var{first}, @var{step}, and @var{last}. If these all use a fixed point decimal representation, the default format is @samp{%.@var{p}f}, where @var{p} is the minimum precision that can represent the output numbers exactly. Otherwise, the default format is @samp{%g}. @item -s @var{string} @itemx --separator=@var{string} @cindex separator for numbers in @command{seq} Separate numbers with @var{string}; default is a newline. The output always terminates with a newline. @item -w @itemx --equal-width Print all numbers with the same width, by padding with leading zeros. @var{first}, @var{step}, and @var{last} should all use a fixed point decimal representation. (To have other kinds of padding, use @option{--format}). @end table You can get finer-grained control over output with @option{-f}: @example $ seq -f '(%9.2E)' -9e5 1.1e6 1.3e6 (-9.00E+05) ( 2.00E+05) ( 1.30E+06) @end example If you want hexadecimal integer output, you can use @command{printf} to perform the conversion: @example $ printf '%x\n' $(seq 1048575 1024 1050623) fffff 1003ff 1007ff @end example For very long lists of numbers, use xargs to avoid system limitations on the length of an argument list: @example $ seq 1000000 | xargs printf '%x\n' | tail -n 3 f423e f423f f4240 @end example To generate octal output, use the printf @code{%o} format instead of @code{%x}. On most systems, seq can produce whole-number output for values up to at least @math{2^{53}}. Larger integers are approximated. The details differ depending on your floating-point implementation. @xref{Floating point}. A common case is that @command{seq} works with integers through @math{2^{64}}, and larger integers may not be numerically correct: @example $ seq 50000000000000000000 2 50000000000000000004 50000000000000000000 50000000000000000000 50000000000000000004 @end example However, note that when limited to non-negative whole numbers, an increment of 1 and no format-specifying option, seq can print arbitrarily large numbers. Be careful when using @command{seq} with outlandish values: otherwise you may see surprising results, as @command{seq} uses floating point internally. For example, on the x86 platform, where the internal representation uses a 64-bit fraction, the command: @example seq 1 0.0000000000000000001 1.0000000000000000009 @end example outputs 1.0000000000000000007 twice and skips 1.0000000000000000008. @exitstatus @node File permissions @chapter File permissions @include perm.texi @include parse-datetime.texi @c What's GNU? @c Arnold Robbins @node Opening the software toolbox @chapter Opening the Software Toolbox An earlier version of this chapter appeared in @uref{http://www.linuxjournal.com/article.php?sid=2762, the @cite{What's GNU@?} column of the June 1994 @cite{Linux Journal}}. It was written by Arnold Robbins. @menu * Toolbox introduction:: Toolbox introduction * I/O redirection:: I/O redirection * The who command:: The @command{who} command * The cut command:: The @command{cut} command * The sort command:: The @command{sort} command * The uniq command:: The @command{uniq} command * Putting the tools together:: Putting the tools together @end menu @node Toolbox introduction @unnumberedsec Toolbox Introduction This month's column is only peripherally related to the GNU Project, in that it describes a number of the GNU tools on your GNU/Linux system and how they might be used. What it's really about is the ``Software Tools'' philosophy of program development and usage. The software tools philosophy was an important and integral concept in the initial design and development of Unix (of which Linux and GNU are essentially clones). Unfortunately, in the modern day press of Internetworking and flashy GUIs, it seems to have fallen by the wayside. This is a shame, since it provides a powerful mental model for solving many kinds of problems. Many people carry a Swiss Army knife around in their pants pockets (or purse). A Swiss Army knife is a handy tool to have: it has several knife blades, a screwdriver, tweezers, toothpick, nail file, corkscrew, and perhaps a number of other things on it. For the everyday, small miscellaneous jobs where you need a simple, general purpose tool, it's just the thing. On the other hand, an experienced carpenter doesn't build a house using a Swiss Army knife. Instead, he has a toolbox chock full of specialized tools---a saw, a hammer, a screwdriver, a plane, and so on. And he knows exactly when and where to use each tool; you won't catch him hammering nails with the handle of his screwdriver. The Unix developers at Bell Labs were all professional programmers and trained computer scientists. They had found that while a one-size-fits-all program might appeal to a user because there's only one program to use, in practice such programs are @enumerate a @item difficult to write, @item difficult to maintain and debug, and @item difficult to extend to meet new situations. @end enumerate Instead, they felt that programs should be specialized tools. In short, each program ``should do one thing well.'' No more and no less. Such programs are simpler to design, write, and get right---they only do one thing. Furthermore, they found that with the right machinery for hooking programs together, that the whole was greater than the sum of the parts. By combining several special purpose programs, you could accomplish a specific task that none of the programs was designed for, and accomplish it much more quickly and easily than if you had to write a special purpose program. We will see some (classic) examples of this further on in the column. (An important additional point was that, if necessary, take a detour and build any software tools you may need first, if you don't already have something appropriate in the toolbox.) @node I/O redirection @unnumberedsec I/O Redirection Hopefully, you are familiar with the basics of I/O redirection in the shell, in particular the concepts of ``standard input,'' ``standard output,'' and ``standard error''. Briefly, ``standard input'' is a data source, where data comes from. A program should not need to either know or care if the data source is a disk file, a keyboard, a magnetic tape, or even a punched card reader. Similarly, ``standard output'' is a data sink, where data goes to. The program should neither know nor care where this might be. Programs that only read their standard input, do something to the data, and then send it on, are called @dfn{filters}, by analogy to filters in a water pipeline. With the Unix shell, it's very easy to set up data pipelines: @smallexample program_to_create_data | filter1 | ... | filterN > final.pretty.data @end smallexample We start out by creating the raw data; each filter applies some successive transformation to the data, until by the time it comes out of the pipeline, it is in the desired form. This is fine and good for standard input and standard output. Where does the standard error come in to play? Well, think about @command{filter1} in the pipeline above. What happens if it encounters an error in the data it sees? If it writes an error message to standard output, it will just disappear down the pipeline into @command{filter2}'s input, and the user will probably never see it. So programs need a place where they can send error messages so that the user will notice them. This is standard error, and it is usually connected to your console or window, even if you have redirected standard output of your program away from your screen. For filter programs to work together, the format of the data has to be agreed upon. The most straightforward and easiest format to use is simply lines of text. Unix data files are generally just streams of bytes, with lines delimited by the ASCII LF (Line Feed) character, conventionally called a ``newline'' in the Unix literature. (This is @code{'\n'} if you're a C programmer.) This is the format used by all the traditional filtering programs. (Many earlier operating systems had elaborate facilities and special purpose programs for managing binary data. Unix has always shied away from such things, under the philosophy that it's easiest to simply be able to view and edit your data with a text editor.) OK, enough introduction. Let's take a look at some of the tools, and then we'll see how to hook them together in interesting ways. In the following discussion, we will only present those command line options that interest us. As you should always do, double check your system documentation for the full story. @node The who command @unnumberedsec The @command{who} Command The first program is the @command{who} command. By itself, it generates a list of the users who are currently logged in. Although I'm writing this on a single-user system, we'll pretend that several people are logged in: @example $ who @print{} arnold console Jan 22 19:57 @print{} miriam ttyp0 Jan 23 14:19(:0.0) @print{} bill ttyp1 Jan 21 09:32(:0.0) @print{} arnold ttyp2 Jan 23 20:48(:0.0) @end example Here, the @samp{$} is the usual shell prompt, at which I typed @samp{who}. There are three people logged in, and I am logged in twice. On traditional Unix systems, user names are never more than eight characters long. This little bit of trivia will be useful later. The output of @command{who} is nice, but the data is not all that exciting. @node The cut command @unnumberedsec The @command{cut} Command The next program we'll look at is the @command{cut} command. This program cuts out columns or fields of input data. For example, we can tell it to print just the login name and full name from the @file{/etc/passwd} file. The @file{/etc/passwd} file has seven fields, separated by colons: @example arnold:xyzzy:2076:10:Arnold D. Robbins:/home/arnold:/bin/bash @end example To get the first and fifth fields, we would use @command{cut} like this: @example $ cut -d: -f1,5 /etc/passwd @print{} root:Operator @dots{} @print{} arnold:Arnold D. Robbins @print{} miriam:Miriam A. Robbins @dots{} @end example With the @option{-c} option, @command{cut} will cut out specific characters (i.e., columns) in the input lines. This is useful for input data that has fixed width fields, and does not have a field separator. For example, list the Monday dates for the current month: @c Is using cal ok? Looked at gcal, but I don't like it. @example $ cal | cut -c 3-5 @print{}Mo @print{} @print{} 6 @print{} 13 @print{} 20 @print{} 27 @end example @node The sort command @unnumberedsec The @command{sort} Command Next we'll look at the @command{sort} command. This is one of the most powerful commands on a Unix-style system; one that you will often find yourself using when setting up fancy data plumbing. The @command{sort} command reads and sorts each file named on the command line. It then merges the sorted data and writes it to standard output. It will read standard input if no files are given on the command line (thus making it into a filter). The sort is based on the character collating sequence or based on user-supplied ordering criteria. @node The uniq command @unnumberedsec The @command{uniq} Command Finally (at least for now), we'll look at the @command{uniq} program. When sorting data, you will often end up with duplicate lines, lines that are identical. Usually, all you need is one instance of each line. This is where @command{uniq} comes in. The @command{uniq} program reads its standard input. It prints only one copy of each repeated line. It does have several options. Later on, we'll use the @option{-c} option, which prints each unique line, preceded by a count of the number of times that line occurred in the input. @node Putting the tools together @unnumberedsec Putting the Tools Together Now, let's suppose this is a large ISP server system with dozens of users logged in. The management wants the system administrator to write a program that will generate a sorted list of logged in users. Furthermore, even if a user is logged in multiple times, his or her name should only show up in the output once. The administrator could sit down with the system documentation and write a C program that did this. It would take perhaps a couple of hundred lines of code and about two hours to write it, test it, and debug it. However, knowing the software toolbox, the administrator can instead start out by generating just a list of logged on users: @example $ who | cut -c1-8 @print{} arnold @print{} miriam @print{} bill @print{} arnold @end example Next, sort the list: @example $ who | cut -c1-8 | sort @print{} arnold @print{} arnold @print{} bill @print{} miriam @end example Finally, run the sorted list through @command{uniq}, to weed out duplicates: @example $ who | cut -c1-8 | sort | uniq @print{} arnold @print{} bill @print{} miriam @end example The @command{sort} command actually has a @option{-u} option that does what @command{uniq} does. However, @command{uniq} has other uses for which one cannot substitute @samp{sort -u}. The administrator puts this pipeline into a shell script, and makes it available for all the users on the system (@samp{#} is the system administrator, or @code{root}, prompt): @example # cat > /usr/local/bin/listusers who | cut -c1-8 | sort | uniq ^D # chmod +x /usr/local/bin/listusers @end example There are four major points to note here. First, with just four programs, on one command line, the administrator was able to save about two hours worth of work. Furthermore, the shell pipeline is just about as efficient as the C program would be, and it is much more efficient in terms of programmer time. People time is much more expensive than computer time, and in our modern ``there's never enough time to do everything'' society, saving two hours of programmer time is no mean feat. Second, it is also important to emphasize that with the @emph{combination} of the tools, it is possible to do a special purpose job never imagined by the authors of the individual programs. Third, it is also valuable to build up your pipeline in stages, as we did here. This allows you to view the data at each stage in the pipeline, which helps you acquire the confidence that you are indeed using these tools correctly. Finally, by bundling the pipeline in a shell script, other users can use your command, without having to remember the fancy plumbing you set up for them. In terms of how you run them, shell scripts and compiled programs are indistinguishable. After the previous warm-up exercise, we'll look at two additional, more complicated pipelines. For them, we need to introduce two more tools. The first is the @command{tr} command, which stands for ``transliterate.'' The @command{tr} command works on a character-by-character basis, changing characters. Normally it is used for things like mapping upper case to lower case: @example $ echo ThIs ExAmPlE HaS MIXED case! | tr '[:upper:]' '[:lower:]' @print{} this example has mixed case! @end example There are several options of interest: @table @code @item -c work on the complement of the listed characters, i.e., operations apply to characters not in the given set @item -d delete characters in the first set from the output @item -s squeeze repeated characters in the output into just one character. @end table We will be using all three options in a moment. The other command we'll look at is @command{comm}. The @command{comm} command takes two sorted input files as input data, and prints out the files' lines in three columns. The output columns are the data lines unique to the first file, the data lines unique to the second file, and the data lines that are common to both. The @option{-1}, @option{-2}, and @option{-3} command line options @emph{omit} the respective columns. (This is non-intuitive and takes a little getting used to.) For example: @example $ cat f1 @print{} 11111 @print{} 22222 @print{} 33333 @print{} 44444 $ cat f2 @print{} 00000 @print{} 22222 @print{} 33333 @print{} 55555 $ comm f1 f2 @print{} 00000 @print{} 11111 @print{} 22222 @print{} 33333 @print{} 44444 @print{} 55555 @end example The file name @file{-} tells @command{comm} to read standard input instead of a regular file. Now we're ready to build a fancy pipeline. The first application is a word frequency counter. This helps an author determine if he or she is over-using certain words. The first step is to change the case of all the letters in our input file to one case. ``The'' and ``the'' are the same word when doing counting. @example $ tr '[:upper:]' '[:lower:]' < whats.gnu | ... @end example The next step is to get rid of punctuation. Quoted words and unquoted words should be treated identically; it's easiest to just get the punctuation out of the way. @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | ... @end smallexample The second @command{tr} command operates on the complement of the listed characters, which are all the letters, the digits, the underscore, and the blank. The @samp{\n} represents the newline character; it has to be left alone. (The ASCII tab character should also be included for good measure in a production script.) At this point, we have data consisting of words separated by blank space. The words only contain alphanumeric characters (and the underscore). The next step is break the data apart so that we have one word per line. This makes the counting operation much easier, as we will see shortly. @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | ... @end smallexample This command turns blanks into newlines. The @option{-s} option squeezes multiple newline characters in the output into just one. This helps us avoid blank lines. (The @samp{>} is the shell's ``secondary prompt.'' This is what the shell prints when it notices you haven't finished typing in all of a command.) We now have data consisting of one word per line, no punctuation, all one case. We're ready to count each word: @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort | uniq -c | ... @end smallexample At this point, the data might look something like this: @example 60 a 2 able 6 about 1 above 2 accomplish 1 acquire 1 actually 2 additional @end example The output is sorted by word, not by count! What we want is the most frequently used words first. Fortunately, this is easy to accomplish, with the help of two more @command{sort} options: @table @code @item -n do a numeric sort, not a textual one @item -r reverse the order of the sort @end table The final pipeline looks like this: @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort | uniq -c | sort -n -r @print{} 156 the @print{} 60 a @print{} 58 to @print{} 51 of @print{} 51 and @dots{} @end smallexample Whew! That's a lot to digest. Yet, the same principles apply. With six commands, on two lines (really one long one split for convenience), we've created a program that does something interesting and useful, in much less time than we could have written a C program to do the same thing. A minor modification to the above pipeline can give us a simple spelling checker! To determine if you've spelled a word correctly, all you have to do is look it up in a dictionary. If it is not there, then chances are that your spelling is incorrect. So, we need a dictionary. The conventional location for a dictionary is @file{/usr/dict/words}. On my GNU/Linux system,@footnote{Redhat Linux 6.1, for the November 2000 revision of this article.} this is a sorted, 45,402 word dictionary. Now, how to compare our file with the dictionary? As before, we generate a sorted list of words, one per line: @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort -u | ... @end smallexample Now, all we need is a list of words that are @emph{not} in the dictionary. Here is where the @command{comm} command comes in. @smallexample $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort -u | > comm -23 - /usr/dict/words @end smallexample The @option{-2} and @option{-3} options eliminate lines that are only in the dictionary (the second file), and lines that are in both files. Lines only in the first file (standard input, our stream of words), are words that are not in the dictionary. These are likely candidates for spelling errors. This pipeline was the first cut at a production spelling checker on Unix. There are some other tools that deserve brief mention. @table @command @item grep search files for text that matches a regular expression @item wc count lines, words, characters @item tee a T-fitting for data pipes, copies data to files and to standard output @item sed the stream editor, an advanced tool @item awk a data manipulation language, another advanced tool @end table The software tools philosophy also espoused the following bit of advice: ``Let someone else do the hard part.'' This means, take something that gives you most of what you need, and then massage it the rest of the way until it's in the form that you want. To summarize: @enumerate 1 @item Each program should do one thing well. No more, no less. @item Combining programs with appropriate plumbing leads to results where the whole is greater than the sum of the parts. It also leads to novel uses of programs that the authors might never have imagined. @item Programs should never print extraneous header or trailer data, since these could get sent on down a pipeline. (A point we didn't mention earlier.) @item Let someone else do the hard part. @item Know your toolbox! Use each program appropriately. If you don't have an appropriate tool, build one. @end enumerate As of this writing, all the programs we've discussed are available via anonymous @command{ftp} from: @* @uref{ftp://gnudist.gnu.org/textutils/textutils-1.22.tar.gz}. (There may be more recent versions available now.) None of what I have presented in this column is new. The Software Tools philosophy was first introduced in the book @cite{Software Tools}, by Brian Kernighan and P.J. Plauger (Addison-Wesley, ISBN 0-201-03669-X). This book showed how to write and use software tools. It was written in 1976, using a preprocessor for FORTRAN named @command{ratfor} (RATional FORtran). At the time, C was not as ubiquitous as it is now; FORTRAN was. The last chapter presented a @command{ratfor} to FORTRAN processor, written in @command{ratfor}. @command{ratfor} looks an awful lot like C; if you know C, you won't have any problem following the code. In 1981, the book was updated and made available as @cite{Software Tools in Pascal} (Addison-Wesley, ISBN 0-201-10342-7). Both books are still in print and are well worth reading if you're a programmer. They certainly made a major change in how I view programming. The programs in both books are available from @uref{http://cm.bell-labs.com/who/bwk, Brian Kernighan's home page}. For a number of years, there was an active Software Tools Users Group, whose members had ported the original @command{ratfor} programs to essentially every computer system with a FORTRAN compiler. The popularity of the group waned in the middle 1980s as Unix began to spread beyond universities. With the current proliferation of GNU code and other clones of Unix programs, these programs now receive little attention; modern C versions are much more efficient and do more than these programs do. Nevertheless, as exposition of good programming style, and evangelism for a still-valuable philosophy, these books are unparalleled, and I recommend them highly. Acknowledgment: I would like to express my gratitude to Brian Kernighan of Bell Labs, the original Software Toolsmith, for reviewing this column. @node GNU Free Documentation License @appendix GNU Free Documentation License @include fdl.texi @node Concept index @unnumbered Index @printindex cp @bye @c Local variables: @c texinfo-column-for-description: 32 @c End: coreutils-8.21/doc/perm.texi0000664000000000000000000005114112102337340012746 00000000000000@c File mode bits @c Copyright (C) 1994-2013 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 or @c any later version published by the Free Software Foundation; with no @c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover @c Texts. A copy of the license is included in the ``GNU Free @c Documentation License'' file as part of this distribution. Each file has a set of @dfn{file mode bits} that control the kinds of access that users have to that file. They can be represented either in symbolic form or as an octal number. @menu * Mode Structure:: Structure of file mode bits. * Symbolic Modes:: Mnemonic representation of file mode bits. * Numeric Modes:: File mode bits as octal numbers. * Operator Numeric Modes:: ANDing, ORing, and setting modes octally. * Directory Setuid and Setgid:: Set-user-ID and set-group-ID on directories. @end menu @node Mode Structure @section Structure of File Mode Bits The file mode bits have two parts: the @dfn{file permission bits}, which control ordinary access to the file, and @dfn{special mode bits}, which affect only some files. There are three kinds of permissions that a user can have for a file: @enumerate @item @cindex read permission permission to read the file. For directories, this means permission to list the contents of the directory. @item @cindex write permission permission to write to (change) the file. For directories, this means permission to create and remove files in the directory. @item @cindex execute/search permission permission to execute the file (run it as a program). For directories, this means permission to access files in the directory. @end enumerate There are three categories of users who may have different permissions to perform any of the above operations on a file: @enumerate @item the file's owner; @item other users who are in the file's group; @item everyone else. @end enumerate @cindex owner, default @cindex group owner, default Files are given an owner and group when they are created. Usually the owner is the current user and the group is the group of the directory the file is in, but this varies with the operating system, the file system the file is created on, and the way the file is created. You can change the owner and group of a file by using the @command{chown} and @command{chgrp} commands. In addition to the three sets of three permissions listed above, the file mode bits have three special components, which affect only executable files (programs) and, on most systems, directories: @enumerate @item @cindex set-user-ID @cindex setuid Set the process's effective user ID to that of the file upon execution (called the @dfn{set-user-ID bit}, or sometimes the @dfn{setuid bit}). For directories on a few systems, give files created in the directory the same owner as the directory, no matter who creates them, and set the set-user-ID bit of newly-created subdirectories. @item @cindex set-group-ID @cindex setgid Set the process's effective group ID to that of the file upon execution (called the @dfn{set-group-ID bit}, or sometimes the @dfn{setgid bit}). For directories on most systems, give files created in the directory the same group as the directory, no matter what group the user who creates them is in, and set the set-group-ID bit of newly-created subdirectories. @item @cindex sticky @cindex swap space, saving text image in @cindex text image, saving in swap space @cindex restricted deletion flag Prevent unprivileged users from removing or renaming a file in a directory unless they own the file or the directory; this is called the @dfn{restricted deletion flag} for the directory, and is commonly found on world-writable directories like @file{/tmp}. For regular files on some older systems, save the program's text image on the swap device so it will load more quickly when run; this is called the @dfn{sticky bit}. @end enumerate In addition to the file mode bits listed above, there may be file attributes specific to the file system, e.g., access control lists (ACLs), whether a file is compressed, whether a file can be modified (immutability), and whether a file can be dumped. These are usually set using programs specific to the file system. For example: @c should probably say a lot more about ACLs... someday @table @asis @item ext2 On GNU and GNU/Linux the file attributes specific to the ext2 file system are set using @command{chattr}. @item FFS On FreeBSD the file flags specific to the FFS file system are set using @command{chflags}. @end table Even if a file's mode bits allow an operation on that file, that operation may still fail, because: @itemize @item the file-system-specific attributes or flags do not permit it; or @item the file system is mounted as read-only. @end itemize For example, if the immutable attribute is set on a file, it cannot be modified, regardless of the fact that you may have just run @code{chmod a+w FILE}. @node Symbolic Modes @section Symbolic Modes @cindex symbolic modes @dfn{Symbolic modes} represent changes to files' mode bits as operations on single-character symbols. They allow you to modify either all or selected parts of files' mode bits, optionally based on their previous values, and perhaps on the current @code{umask} as well (@pxref{Umask and Protection}). The format of symbolic modes is: @example @r{[}ugoa@dots{}@r{][}+-=@r{]}@var{perms}@dots{}@r{[},@dots{}@r{]} @end example @noindent where @var{perms} is either zero or more letters from the set @samp{rwxXst}, or a single letter from the set @samp{ugo}. The following sections describe the operators and other details of symbolic modes. @menu * Setting Permissions:: Basic operations on permissions. * Copying Permissions:: Copying existing permissions. * Changing Special Mode Bits:: Special mode bits. * Conditional Executability:: Conditionally affecting executability. * Multiple Changes:: Making multiple changes. * Umask and Protection:: The effect of the umask. @end menu @node Setting Permissions @subsection Setting Permissions The basic symbolic operations on a file's permissions are adding, removing, and setting the permission that certain users have to read, write, and execute or search the file. These operations have the following format: @example @var{users} @var{operation} @var{permissions} @end example @noindent The spaces between the three parts above are shown for readability only; symbolic modes cannot contain spaces. The @var{users} part tells which users' access to the file is changed. It consists of one or more of the following letters (or it can be empty; @pxref{Umask and Protection}, for a description of what happens then). When more than one of these letters is given, the order that they are in does not matter. @table @code @item u @cindex owner of file, permissions for the user who owns the file; @item g @cindex group, permissions for other users who are in the file's group; @item o @cindex other permissions all other users; @item a all users; the same as @samp{ugo}. @end table The @var{operation} part tells how to change the affected users' access to the file, and is one of the following symbols: @table @code @item + @cindex adding permissions to add the @var{permissions} to whatever permissions the @var{users} already have for the file; @item - @cindex removing permissions @cindex subtracting permissions to remove the @var{permissions} from whatever permissions the @var{users} already have for the file; @item = @cindex setting permissions to make the @var{permissions} the only permissions that the @var{users} have for the file. @end table The @var{permissions} part tells what kind of access to the file should be changed; it is normally zero or more of the following letters. As with the @var{users} part, the order does not matter when more than one letter is given. Omitting the @var{permissions} part is useful only with the @samp{=} operation, where it gives the specified @var{users} no access at all to the file. @table @code @item r @cindex read permission, symbolic the permission the @var{users} have to read the file; @item w @cindex write permission, symbolic the permission the @var{users} have to write to the file; @item x @cindex execute/search permission, symbolic the permission the @var{users} have to execute the file, or search it if it is a directory. @end table For example, to give everyone permission to read and write a regular file, but not to execute it, use: @example a=rw @end example To remove write permission for all users other than the file's owner, use: @example go-w @end example @noindent The above command does not affect the access that the owner of the file has to it, nor does it affect whether other users can read or execute the file. To give everyone except a file's owner no permission to do anything with that file, use the mode below. Other users could still remove the file, if they have write permission on the directory it is in. @example go= @end example @noindent Another way to specify the same thing is: @example og-rwx @end example @node Copying Permissions @subsection Copying Existing Permissions @cindex copying existing permissions @cindex permissions, copying existing You can base a file's permissions on its existing permissions. To do this, instead of using a series of @samp{r}, @samp{w}, or @samp{x} letters after the operator, you use the letter @samp{u}, @samp{g}, or @samp{o}. For example, the mode @example o+g @end example @noindent adds the permissions for users who are in a file's group to the permissions that other users have for the file. Thus, if the file started out as mode 664 (@samp{rw-rw-r--}), the above mode would change it to mode 666 (@samp{rw-rw-rw-}). If the file had started out as mode 741 (@samp{rwxr----x}), the above mode would change it to mode 745 (@samp{rwxr--r-x}). The @samp{-} and @samp{=} operations work analogously. @node Changing Special Mode Bits @subsection Changing Special Mode Bits @cindex changing special mode bits In addition to changing a file's read, write, and execute/search permissions, you can change its special mode bits. @xref{Mode Structure}, for a summary of these special mode bits. To change the file mode bits to set the user ID on execution, use @samp{u} in the @var{users} part of the symbolic mode and @samp{s} in the @var{permissions} part. To change the file mode bits to set the group ID on execution, use @samp{g} in the @var{users} part of the symbolic mode and @samp{s} in the @var{permissions} part. To set both user and group ID on execution, omit the @var{users} part of the symbolic mode (or use @samp{a}) and use @samp{s} in the @var{permissions} part. To change the file mode bits to set the restricted deletion flag or sticky bit, omit the @var{users} part of the symbolic mode (or use @samp{a}) and use @samp{t} in the @var{permissions} part. For example, to set the set-user-ID mode bit of a program, you can use the mode: @example u+s @end example To remove both set-user-ID and set-group-ID mode bits from it, you can use the mode: @example a-s @end example To set the restricted deletion flag or sticky bit, you can use the mode: @example +t @end example The combination @samp{o+s} has no effect. On GNU systems the combinations @samp{u+t} and @samp{g+t} have no effect, and @samp{o+t} acts like plain @samp{+t}. The @samp{=} operator is not very useful with special mode bits. For example, the mode: @example o=t @end example @noindent does set the restricted deletion flag or sticky bit, but it also removes all read, write, and execute/search permissions that users not in the file's group might have had for it. @xref{Directory Setuid and Setgid}, for additional rules concerning set-user-ID and set-group-ID bits and directories. @node Conditional Executability @subsection Conditional Executability @cindex conditional executability There is one more special type of symbolic permission: if you use @samp{X} instead of @samp{x}, execute/search permission is affected only if the file is a directory or already had execute permission. For example, this mode: @example a+X @end example @noindent gives all users permission to search directories, or to execute files if anyone could execute them before. @node Multiple Changes @subsection Making Multiple Changes @cindex multiple changes to permissions The format of symbolic modes is actually more complex than described above (@pxref{Setting Permissions}). It provides two ways to make multiple changes to files' mode bits. The first way is to specify multiple @var{operation} and @var{permissions} parts after a @var{users} part in the symbolic mode. For example, the mode: @example og+rX-w @end example @noindent gives users other than the owner of the file read permission and, if it is a directory or if someone already had execute permission to it, gives them execute/search permission; and it also denies them write permission to the file. It does not affect the permission that the owner of the file has for it. The above mode is equivalent to the two modes: @example og+rX og-w @end example The second way to make multiple changes is to specify more than one simple symbolic mode, separated by commas. For example, the mode: @example a+r,go-w @end example @noindent gives everyone permission to read the file and removes write permission on it for all users except its owner. Another example: @example u=rwx,g=rx,o= @end example @noindent sets all of the permission bits for the file explicitly. (It gives users who are not in the file's group no permission at all for it.) The two methods can be combined. The mode: @example a+r,g+x-w @end example @noindent gives all users permission to read the file, and gives users who are in the file's group permission to execute/search it as well, but not permission to write to it. The above mode could be written in several different ways; another is: @example u+r,g+rx,o+r,g-w @end example @node Umask and Protection @subsection The Umask and Protection @cindex umask and modes @cindex modes and umask If the @var{users} part of a symbolic mode is omitted, it defaults to @samp{a} (affect all users), except that any permissions that are @emph{set} in the system variable @code{umask} are @emph{not affected}. The value of @code{umask} can be set using the @code{umask} command. Its default value varies from system to system. @cindex giving away permissions Omitting the @var{users} part of a symbolic mode is generally not useful with operations other than @samp{+}. It is useful with @samp{+} because it allows you to use @code{umask} as an easily customizable protection against giving away more permission to files than you intended to. As an example, if @code{umask} has the value 2, which removes write permission for users who are not in the file's group, then the mode: @example +w @end example @noindent adds permission to write to the file to its owner and to other users who are in the file's group, but @emph{not} to other users. In contrast, the mode: @example a+w @end example @noindent ignores @code{umask}, and @emph{does} give write permission for the file to all users. @node Numeric Modes @section Numeric Modes @cindex numeric modes @cindex file mode bits, numeric @cindex octal numbers for file modes As an alternative to giving a symbolic mode, you can give an octal (base 8) number that represents the mode. This number is always interpreted in octal; you do not have to add a leading @samp{0}, as you do in C. Mode @samp{0055} is the same as mode @samp{55}. (However, modes of five digits or more, such as @samp{00055}, are sometimes special. @xref{Directory Setuid and Setgid}.) A numeric mode is usually shorter than the corresponding symbolic mode, but it is limited in that normally it cannot take into account the previous file mode bits; it can only set them absolutely. The set-user-ID and set-group-ID bits of directories are an exception to this general limitation. @xref{Directory Setuid and Setgid}. Also, operator numeric modes can take previous file mode bits into account. @xref{Operator Numeric Modes}. The permissions granted to the user, to other users in the file's group, and to other users not in the file's group each require three bits, which are represented as one octal digit. The three special mode bits also require one bit each, and they are as a group represented as another octal digit. Here is how the bits are arranged, starting with the lowest valued bit: @example Value in Corresponding Mode Mode Bit Other users not in the file's group: 1 Execute/search 2 Write 4 Read Other users in the file's group: 10 Execute/search 20 Write 40 Read The file's owner: 100 Execute/search 200 Write 400 Read Special mode bits: 1000 Restricted deletion flag or sticky bit 2000 Set group ID on execution 4000 Set user ID on execution @end example For example, numeric mode @samp{4755} corresponds to symbolic mode @samp{u=rwxs,go=rx}, and numeric mode @samp{664} corresponds to symbolic mode @samp{ug=rw,o=r}. Numeric mode @samp{0} corresponds to symbolic mode @samp{a=}. @node Operator Numeric Modes @section Operator Numeric Modes An operator numeric mode is a numeric mode that is prefixed by a @samp{-}, @samp{+}, or @samp{=} operator, which has the same interpretation as in symbolic modes. For example, @samp{+440} enables read permission for the file's owner and group, @samp{-1} disables execute permission for other users, and @samp{=600} clears all permissions except for enabling read-write permissions for the file's owner. Operator numeric modes can be combined with symbolic modes by separating them with a comma; for example, @samp{=0,u+r} clears all permissions except for enabling read permission for the file's owner. The commands @samp{chmod =755 @var{dir}} and @samp{chmod 755 @var{dir}} differ in that the former clears the directory @var{dir}'s setuid and setgid bits, whereas the latter preserves them. @xref{Directory Setuid and Setgid}. Operator numeric modes are a GNU extension. @node Directory Setuid and Setgid @section Directories and the Set-User-ID and Set-Group-ID Bits On most systems, if a directory's set-group-ID bit is set, newly created subfiles inherit the same group as the directory, and newly created subdirectories inherit the set-group-ID bit of the parent directory. On a few systems, a directory's set-user-ID bit has a similar effect on the ownership of new subfiles and the set-user-ID bits of new subdirectories. These mechanisms let users share files more easily, by lessening the need to use @command{chmod} or @command{chown} to share new files. These convenience mechanisms rely on the set-user-ID and set-group-ID bits of directories. If commands like @command{chmod} and @command{mkdir} routinely cleared these bits on directories, the mechanisms would be less convenient and it would be harder to share files. Therefore, a command like @command{chmod} does not affect the set-user-ID or set-group-ID bits of a directory unless the user specifically mentions them in a symbolic mode, or uses an operator numeric mode such as @samp{=755}, or sets them in a numeric mode, or clears them in a numeric mode that has five or more octal digits. For example, on systems that support set-group-ID inheritance: @example # These commands leave the set-user-ID and # set-group-ID bits of the subdirectories alone, # so that they retain their default values. mkdir A B C chmod 755 A chmod 0755 B chmod u=rwx,go=rx C mkdir -m 755 D mkdir -m 0755 E mkdir -m u=rwx,go=rx F @end example If you want to try to set these bits, you must mention them explicitly in the symbolic or numeric modes, e.g.: @example # These commands try to set the set-user-ID # and set-group-ID bits of the subdirectories. mkdir G chmod 6755 G chmod +6000 G chmod u=rwx,go=rx,a+s G mkdir -m 6755 H mkdir -m +6000 I mkdir -m u=rwx,go=rx,a+s J @end example If you want to try to clear these bits, you must mention them explicitly in a symbolic mode, or use an operator numeric mode, or specify a numeric mode with five or more octal digits, e.g.: @example # These commands try to clear the set-user-ID # and set-group-ID bits of the directory D. chmod a-s D chmod -6000 D chmod =755 D chmod 00755 D @end example This behavior is a GNU extension. Portable scripts should not rely on requests to set or clear these bits on directories, as POSIX allows implementations to ignore these requests. The GNU behavior with numeric modes of four or fewer digits is intended for scripts portable to systems that preserve these bits; the behavior with numeric modes of five or more digits is for scripts portable to systems that do not preserve the bits. coreutils-8.21/doc/coreutils.info0000664000000000000000000302770312107204523014011 00000000000000This is doc/coreutils.info, produced by makeinfo version 4.13 from ./doc/coreutils.texi. INFO-DIR-SECTION Basics START-INFO-DIR-ENTRY * Coreutils: (coreutils). Core GNU (file, text, shell) utilities. * Common options: (coreutils)Common options. * File permissions: (coreutils)File permissions. Access modes. * Date input formats: (coreutils)Date input formats. END-INFO-DIR-ENTRY INFO-DIR-SECTION Individual utilities START-INFO-DIR-ENTRY * arch: (coreutils)arch invocation. Print machine hardware name. * base64: (coreutils)base64 invocation. Base64 encode/decode data. * basename: (coreutils)basename invocation. Strip directory and suffix. * cat: (coreutils)cat invocation. Concatenate and write files. * chcon: (coreutils)chcon invocation. Change SELinux CTX of files. * chgrp: (coreutils)chgrp invocation. Change file groups. * chmod: (coreutils)chmod invocation. Change access permissions. * chown: (coreutils)chown invocation. Change file owners and groups. * chroot: (coreutils)chroot invocation. Specify the root directory. * cksum: (coreutils)cksum invocation. Print POSIX CRC checksum. * comm: (coreutils)comm invocation. Compare sorted files by line. * cp: (coreutils)cp invocation. Copy files. * csplit: (coreutils)csplit invocation. Split by context. * cut: (coreutils)cut invocation. Print selected parts of lines. * date: (coreutils)date invocation. Print/set system date and time. * dd: (coreutils)dd invocation. Copy and convert a file. * df: (coreutils)df invocation. Report file system disk usage. * dir: (coreutils)dir invocation. List directories briefly. * dircolors: (coreutils)dircolors invocation. Color setup for ls. * dirname: (coreutils)dirname invocation. Strip last file name component. * du: (coreutils)du invocation. Report on disk usage. * echo: (coreutils)echo invocation. Print a line of text. * env: (coreutils)env invocation. Modify the environment. * expand: (coreutils)expand invocation. Convert tabs to spaces. * expr: (coreutils)expr invocation. Evaluate expressions. * factor: (coreutils)factor invocation. Print prime factors * false: (coreutils)false invocation. Do nothing, unsuccessfully. * fmt: (coreutils)fmt invocation. Reformat paragraph text. * fold: (coreutils)fold invocation. Wrap long input lines. * groups: (coreutils)groups invocation. Print group names a user is in. * head: (coreutils)head invocation. Output the first part of files. * hostid: (coreutils)hostid invocation. Print numeric host identifier. * hostname: (coreutils)hostname invocation. Print or set system name. * id: (coreutils)id invocation. Print user identity. * install: (coreutils)install invocation. Copy and change attributes. * join: (coreutils)join invocation. Join lines on a common field. * kill: (coreutils)kill invocation. Send a signal to processes. * link: (coreutils)link invocation. Make hard links between files. * ln: (coreutils)ln invocation. Make links between files. * logname: (coreutils)logname invocation. Print current login name. * ls: (coreutils)ls invocation. List directory contents. * md5sum: (coreutils)md5sum invocation. Print or check MD5 digests. * mkdir: (coreutils)mkdir invocation. Create directories. * mkfifo: (coreutils)mkfifo invocation. Create FIFOs (named pipes). * mknod: (coreutils)mknod invocation. Create special files. * mktemp: (coreutils)mktemp invocation. Create temporary files. * mv: (coreutils)mv invocation. Rename files. * nice: (coreutils)nice invocation. Modify niceness. * nl: (coreutils)nl invocation. Number lines and write files. * nohup: (coreutils)nohup invocation. Immunize to hangups. * nproc: (coreutils)nproc invocation. Print the number of processors. * numfmt: (coreutils)numfmt invocation. Reformat numbers. * od: (coreutils)od invocation. Dump files in octal, etc. * paste: (coreutils)paste invocation. Merge lines of files. * pathchk: (coreutils)pathchk invocation. Check file name portability. * pr: (coreutils)pr invocation. Paginate or columnate files. * printenv: (coreutils)printenv invocation. Print environment variables. * printf: (coreutils)printf invocation. Format and print data. * ptx: (coreutils)ptx invocation. Produce permuted indexes. * pwd: (coreutils)pwd invocation. Print working directory. * readlink: (coreutils)readlink invocation. Print referent of a symlink. * realpath: (coreutils)readpath invocation. Print resolved file names. * rm: (coreutils)rm invocation. Remove files. * rmdir: (coreutils)rmdir invocation. Remove empty directories. * runcon: (coreutils)runcon invocation. Run in specified SELinux CTX. * seq: (coreutils)seq invocation. Print numeric sequences * sha1sum: (coreutils)sha1sum invocation. Print or check SHA-1 digests. * sha2: (coreutils)sha2 utilities. Print or check SHA-2 digests. * shred: (coreutils)shred invocation. Remove files more securely. * shuf: (coreutils)shuf invocation. Shuffling text files. * sleep: (coreutils)sleep invocation. Delay for a specified time. * sort: (coreutils)sort invocation. Sort text files. * split: (coreutils)split invocation. Split into pieces. * stat: (coreutils)stat invocation. Report file(system) status. * stdbuf: (coreutils)stdbuf invocation. Modify stdio buffering. * stty: (coreutils)stty invocation. Print/change terminal settings. * sum: (coreutils)sum invocation. Print traditional checksum. * sync: (coreutils)sync invocation. Synchronize memory and disk. * tac: (coreutils)tac invocation. Reverse files. * tail: (coreutils)tail invocation. Output the last part of files. * tee: (coreutils)tee invocation. Redirect to multiple files. * test: (coreutils)test invocation. File/string tests. * timeout: (coreutils)timeout invocation. Run with time limit. * touch: (coreutils)touch invocation. Change file timestamps. * tr: (coreutils)tr invocation. Translate characters. * true: (coreutils)true invocation. Do nothing, successfully. * truncate: (coreutils)truncate invocation. Shrink/extend size of a file. * tsort: (coreutils)tsort invocation. Topological sort. * tty: (coreutils)tty invocation. Print terminal name. * uname: (coreutils)uname invocation. Print system information. * unexpand: (coreutils)unexpand invocation. Convert spaces to tabs. * uniq: (coreutils)uniq invocation. Uniquify files. * unlink: (coreutils)unlink invocation. Removal via unlink(2). * uptime: (coreutils)uptime invocation. Print uptime and load. * users: (coreutils)users invocation. Print current user names. * vdir: (coreutils)vdir invocation. List directories verbosely. * wc: (coreutils)wc invocation. Line, word, and byte counts. * who: (coreutils)who invocation. Print who is logged in. * whoami: (coreutils)whoami invocation. Print effective user ID. * yes: (coreutils)yes invocation. Print a string indefinitely. END-INFO-DIR-ENTRY This manual documents version 8.21 of the GNU core utilities, including the standard programs for text and file manipulation. Copyright (C) 1994-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".  File: coreutils.info, Node: Top, Next: Introduction, Up: (dir) GNU Coreutils ************* This manual documents version 8.21 of the GNU core utilities, including the standard programs for text and file manipulation. Copyright (C) 1994-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". * Menu: * Introduction:: Caveats, overview, and authors * Common options:: Common options * Output of entire files:: cat tac nl od base64 * Formatting file contents:: fmt pr fold * Output of parts of files:: head tail split csplit * Summarizing files:: wc sum cksum md5sum sha1sum sha2 * Operating on sorted files:: sort shuf uniq comm ptx tsort * Operating on fields:: cut paste join * Operating on characters:: tr expand unexpand * Directory listing:: ls dir vdir dircolors * Basic operations:: cp dd install mv rm shred * Special file types:: mkdir rmdir unlink mkfifo mknod ln link readlink * Changing file attributes:: chgrp chmod chown touch * Disk usage:: df du stat sync truncate * Printing text:: echo printf yes * Conditions:: false true test expr * Redirection:: tee * File name manipulation:: dirname basename pathchk mktemp realpath * Working context:: pwd stty printenv tty * User information:: id logname whoami groups users who * System context:: date arch nproc uname hostname hostid uptime * SELinux context:: chcon runcon * Modified command invocation:: chroot env nice nohup stdbuf timeout * Process control:: kill * Delaying:: sleep * Numeric operations:: factor seq * File permissions:: Access modes * Date input formats:: Specifying date strings * Opening the software toolbox:: The software tools philosophy * GNU Free Documentation License:: Copying and sharing this manual * Concept index:: General index --- The Detailed Node Listing --- Common Options * Exit status:: Indicating program success or failure * Backup options:: Backup options * Block size:: Block size * Floating point:: Floating point number representation * Signal specifications:: Specifying signals * Disambiguating names and IDs:: chgrp and chown owner and group syntax * Random sources:: Sources of random data * Target directory:: Target directory * Trailing slashes:: Trailing slashes * Traversing symlinks:: Traversing symlinks to directories * Treating / specially:: Treating / specially * Standards conformance:: Standards conformance Output of entire files * cat invocation:: Concatenate and write files * tac invocation:: Concatenate and write files in reverse * nl invocation:: Number lines and write files * od invocation:: Write files in octal or other formats * base64 invocation:: Transform data into printable data Formatting file contents * fmt invocation:: Reformat paragraph text * numfmt invocation:: Reformat numbers * pr invocation:: Paginate or columnate files for printing * fold invocation:: Wrap input lines to fit in specified width `numfmt': General Options, Units Output of parts of files * head invocation:: Output the first part of files * tail invocation:: Output the last part of files * split invocation:: Split a file into fixed-size pieces * csplit invocation:: Split a file into context-determined pieces Summarizing files * wc invocation:: Print newline, word, and byte counts * sum invocation:: Print checksum and block counts * cksum invocation:: Print CRC checksum and byte counts * md5sum invocation:: Print or check MD5 digests * sha1sum invocation:: Print or check SHA-1 digests * sha2 utilities:: Print or check SHA-2 digests Operating on sorted files * sort invocation:: Sort text files * shuf invocation:: Shuffle text files * uniq invocation:: Uniquify files * comm invocation:: Compare two sorted files line by line * ptx invocation:: Produce a permuted index of file contents * tsort invocation:: Topological sort `ptx': Produce permuted indexes * General options in ptx:: Options which affect general program behavior * Charset selection in ptx:: Underlying character set considerations * Input processing in ptx:: Input fields, contexts, and keyword selection * Output formatting in ptx:: Types of output format, and sizing the fields * Compatibility in ptx:: The GNU extensions to `ptx' Operating on fields * cut invocation:: Print selected parts of lines * paste invocation:: Merge lines of files * join invocation:: Join lines on a common field Operating on characters * tr invocation:: Translate, squeeze, and/or delete characters * expand invocation:: Convert tabs to spaces * unexpand invocation:: Convert spaces to tabs `tr': Translate, squeeze, and/or delete characters * Character sets:: Specifying sets of characters * Translating:: Changing one set of characters to another * Squeezing:: Squeezing repeats and deleting Directory listing * ls invocation:: List directory contents * dir invocation:: Briefly list directory contents * vdir invocation:: Verbosely list directory contents * dircolors invocation:: Color setup for `ls' `ls': List directory contents * Which files are listed:: Which files are listed * What information is listed:: What information is listed * Sorting the output:: Sorting the output * Details about version sort:: More details about version sort * General output formatting:: General output formatting * Formatting the file names:: Formatting the file names Basic operations * cp invocation:: Copy files and directories * dd invocation:: Convert and copy a file * install invocation:: Copy files and set attributes * mv invocation:: Move (rename) files * rm invocation:: Remove files or directories * shred invocation:: Remove files more securely Special file types * link invocation:: Make a hard link via the link syscall * ln invocation:: Make links between files * mkdir invocation:: Make directories * mkfifo invocation:: Make FIFOs (named pipes) * mknod invocation:: Make block or character special files * readlink invocation:: Print value of a symlink or canonical file name * rmdir invocation:: Remove empty directories * unlink invocation:: Remove files via unlink syscall Changing file attributes * chown invocation:: Change file owner and group * chgrp invocation:: Change group ownership * chmod invocation:: Change access permissions * touch invocation:: Change file timestamps Disk usage * df invocation:: Report file system disk space usage * du invocation:: Estimate file space usage * stat invocation:: Report file or file system status * sync invocation:: Synchronize data on disk with memory * truncate invocation:: Shrink or extend the size of a file Printing text * echo invocation:: Print a line of text * printf invocation:: Format and print data * yes invocation:: Print a string until interrupted Conditions * false invocation:: Do nothing, unsuccessfully * true invocation:: Do nothing, successfully * test invocation:: Check file types and compare values * expr invocation:: Evaluate expressions `test': Check file types and compare values * File type tests:: File type tests * Access permission tests:: Access permission tests * File characteristic tests:: File characteristic tests * String tests:: String tests * Numeric tests:: Numeric tests `expr': Evaluate expression * String expressions:: + : match substr index length * Numeric expressions:: + - * / % * Relations for expr:: | & < <= = == != >= > * Examples of expr:: Examples of using `expr' Redirection * tee invocation:: Redirect output to multiple files or processes File name manipulation * basename invocation:: Strip directory and suffix from a file name * dirname invocation:: Strip last file name component * pathchk invocation:: Check file name validity and portability * mktemp invocation:: Create temporary file or directory * realpath invocation:: Print resolved file names Working context * pwd invocation:: Print working directory * stty invocation:: Print or change terminal characteristics * printenv invocation:: Print all or some environment variables * tty invocation:: Print file name of terminal on standard input `stty': Print or change terminal characteristics * Control:: Control settings * Input:: Input settings * Output:: Output settings * Local:: Local settings * Combination:: Combination settings * Characters:: Special characters * Special:: Special settings User information * id invocation:: Print user identity * logname invocation:: Print current login name * whoami invocation:: Print effective user ID * groups invocation:: Print group names a user is in * users invocation:: Print login names of users currently logged in * who invocation:: Print who is currently logged in System context * arch invocation:: Print machine hardware name * date invocation:: Print or set system date and time * nproc invocation:: Print the number of processors * uname invocation:: Print system information * hostname invocation:: Print or set system name * hostid invocation:: Print numeric host identifier * uptime invocation:: Print system uptime and load `date': Print or set system date and time * Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] * Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] * Literal conversion specifiers:: %[%nt] * Padding and other flags:: Pad with zeros, spaces, etc. * Setting the time:: Changing the system clock * Options for date:: Instead of the current time * Date input formats:: Specifying date strings * Examples of date:: Examples SELinux context * chcon invocation:: Change SELinux context of file * runcon invocation:: Run a command in specified SELinux context Modified command invocation * chroot invocation:: Run a command with a different root directory * env invocation:: Run a command in a modified environment * nice invocation:: Run a command with modified niceness * nohup invocation:: Run a command immune to hangups * stdbuf invocation:: Run a command with modified I/O buffering * timeout invocation:: Run a command with a time limit Process control * kill invocation:: Sending a signal to processes. Delaying * sleep invocation:: Delay for a specified time Numeric operations * factor invocation:: Print prime factors * seq invocation:: Print numeric sequences File permissions * Mode Structure:: Structure of file mode bits * Symbolic Modes:: Mnemonic representation of file mode bits * Numeric Modes:: File mode bits as octal numbers * Directory Setuid and Setgid:: Set-user-ID and set-group-ID on directories Date input formats * General date syntax:: Common rules * Calendar date items:: 19 Dec 1994 * Time of day items:: 9:20pm * Time zone items:: EST, PDT, UTC, ... * Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500 * Day of week items:: Monday and others * Relative items in date strings:: next tuesday, 2 years ago * Pure numbers in date strings:: 19931219, 1440 * Seconds since the Epoch:: @1078100502 * Specifying time zone rules:: TZ="America/New_York", TZ="UTC0" * Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al. Opening the software toolbox * Toolbox introduction:: Toolbox introduction * I/O redirection:: I/O redirection * The who command:: The `who' command * The cut command:: The `cut' command * The sort command:: The `sort' command * The uniq command:: The `uniq' command * Putting the tools together:: Putting the tools together Copying This Manual * GNU Free Documentation License:: Copying and sharing this manual  File: coreutils.info, Node: Introduction, Next: Common options, Prev: Top, Up: Top 1 Introduction ************** This manual is a work in progress: many sections make no attempt to explain basic concepts in a way suitable for novices. Thus, if you are interested, please get involved in improving this manual. The entire GNU community will benefit. The GNU utilities documented here are mostly compatible with the POSIX standard. Please report bugs to . Remember to include the version number, machine architecture, input files, and any other information needed to reproduce the bug: your input, what you expected, what you got, and why it is wrong. Diffs are welcome, but please include a description of the problem as well, since this is sometimes difficult to infer. *Note Bugs: (gcc)Bugs. This manual was originally derived from the Unix man pages in the distributions, which were written by David MacKenzie and updated by Jim Meyering. What you are reading now is the authoritative documentation for these utilities; the man pages are no longer being maintained. The original `fmt' man page was written by Ross Paterson. Franc,ois Pinard did the initial conversion to Texinfo format. Karl Berry did the indexing, some reorganization, and editing of the results. Brian Youmans of the Free Software Foundation office staff combined the manuals for textutils, fileutils, and sh-utils to produce the present omnibus manual. Richard Stallman contributed his usual invaluable insights to the overall process.  File: coreutils.info, Node: Common options, Next: Output of entire files, Prev: Introduction, Up: Top 2 Common options **************** Certain options are available in all of these programs. Rather than writing identical descriptions for each of the programs, they are described here. (In fact, every GNU program accepts (or should accept) these options.) Normally options and operands can appear in any order, and programs act as if all the options appear before any operands. For example, `sort -r passwd -t :' acts like `sort -r -t : passwd', since `:' is an option-argument of `-t'. However, if the `POSIXLY_CORRECT' environment variable is set, options must appear before operands, unless otherwise specified for a particular command. A few programs can usefully have trailing operands with leading `-'. With such a program, options must precede operands even if `POSIXLY_CORRECT' is not set, and this fact is noted in the program description. For example, the `env' command's options must appear before its operands, since in some cases the operands specify a command that itself contains options. Most programs that accept long options recognize unambiguous abbreviations of those options. For example, `rmdir --ignore-fail-on-non-empty' can be invoked as `rmdir --ignore-fail' or even `rmdir --i'. Ambiguous options, such as `ls --h', are identified as such. Some of these programs recognize the `--help' and `--version' options only when one of them is the sole command line argument. For these programs, abbreviations of the long options are not always recognized. `--help' Print a usage message listing all available options, then exit successfully. `--version' Print the version number, then exit successfully. `--' Delimit the option list. Later arguments, if any, are treated as operands even if they begin with `-'. For example, `sort -- -r' reads from the file named `-r'. A single `-' operand is not really an option, though it looks like one. It stands for standard input, or for standard output if that is clear from the context. For example, `sort -' reads from standard input, and is equivalent to plain `sort', and `tee -' writes an extra copy of its input to standard output. Unless otherwise specified, `-' can appear as any operand that requires a file name. * Menu: * Exit status:: Indicating program success or failure. * Backup options:: -b -S, in some programs. * Block size:: BLOCK_SIZE and --block-size, in some programs. * Floating point:: Floating point number representation. * Signal specifications:: Specifying signals using the --signal option. * Disambiguating names and IDs:: chgrp and chown owner and group syntax * Random sources:: --random-source, in some programs. * Target directory:: Specifying a target directory, in some programs. * Trailing slashes:: --strip-trailing-slashes, in some programs. * Traversing symlinks:: -H, -L, or -P, in some programs. * Treating / specially:: --preserve-root and --no-preserve-root. * Special built-in utilities:: `break', `:', ... * Standards conformance:: Conformance to the POSIX standard.  File: coreutils.info, Node: Exit status, Next: Backup options, Up: Common options 2.1 Exit status =============== Nearly every command invocation yields an integral "exit status" that can be used to change how other commands work. For the vast majority of commands, an exit status of zero indicates success. Failure is indicated by a nonzero value--typically `1', though it may differ on unusual platforms as POSIX requires only that it be nonzero. However, some of the programs documented here do produce other exit status values and a few associate different meanings with the values `0' and `1'. Here are some of the exceptions: `chroot', `env', `expr', `nice', `nohup', `numfmt', `printenv', `sort', `stdbuf', `test', `timeout', `tty'.  File: coreutils.info, Node: Backup options, Next: Block size, Prev: Exit status, Up: Common options 2.2 Backup options ================== Some GNU programs (at least `cp', `install', `ln', and `mv') optionally make backups of files before writing new versions. These options control the details of these backups. The options are also briefly mentioned in the descriptions of the particular programs. `-b' `--backup[=METHOD]' Make a backup of each file that would otherwise be overwritten or removed. Without this option, the original versions are destroyed. Use METHOD to determine the type of backups to make. When this option is used but METHOD is not specified, then the value of the `VERSION_CONTROL' environment variable is used. And if `VERSION_CONTROL' is not set, the default backup type is `existing'. Note that the short form of this option, `-b' does not accept any argument. Using `-b' is equivalent to using `--backup=existing'. This option corresponds to the Emacs variable `version-control'; the values for METHOD are the same as those used in Emacs. This option also accepts more descriptive names. The valid METHODs are (unique abbreviations are accepted): `none' `off' Never make backups. `numbered' `t' Always make numbered backups. `existing' `nil' Make numbered backups of files that already have them, simple backups of the others. `simple' `never' Always make simple backups. Please note `never' is not to be confused with `none'. `-S SUFFIX' `--suffix=SUFFIX' Append SUFFIX to each backup file made with `-b'. If this option is not specified, the value of the `SIMPLE_BACKUP_SUFFIX' environment variable is used. And if `SIMPLE_BACKUP_SUFFIX' is not set, the default is `~', just as in Emacs.  File: coreutils.info, Node: Block size, Next: Floating point, Prev: Backup options, Up: Common options 2.3 Block size ============== Some GNU programs (at least `df', `du', and `ls') display sizes in "blocks". You can adjust the block size and method of display to make sizes easier to read. The block size used for display is independent of any file system block size. Fractional block counts are rounded up to the nearest integer. The default block size is chosen by examining the following environment variables in turn; the first one that is set determines the block size. `DF_BLOCK_SIZE' This specifies the default block size for the `df' command. Similarly, `DU_BLOCK_SIZE' specifies the default for `du' and `LS_BLOCK_SIZE' for `ls'. `BLOCK_SIZE' This specifies the default block size for all three commands, if the above command-specific environment variables are not set. `BLOCKSIZE' This specifies the default block size for all values that are normally printed as blocks, if neither `BLOCK_SIZE' nor the above command-specific environment variables are set. Unlike the other environment variables, `BLOCKSIZE' does not affect values that are normally printed as byte counts, e.g., the file sizes contained in `ls -l' output. `POSIXLY_CORRECT' If neither `COMMAND_BLOCK_SIZE', nor `BLOCK_SIZE', nor `BLOCKSIZE' is set, but this variable is set, the block size defaults to 512. If none of the above environment variables are set, the block size currently defaults to 1024 bytes in most contexts, but this number may change in the future. For `ls' file sizes, the block size defaults to 1 byte. A block size specification can be a positive integer specifying the number of bytes per block, or it can be `human-readable' or `si' to select a human-readable format. Integers may be followed by suffixes that are upward compatible with the SI prefixes (http://www.bipm.org/en/si/si_brochure/chapter3/prefixes.html) for decimal multiples and with the ISO/IEC 80000-13 (formerly IEC 60027-2) prefixes (http://physics.nist.gov/cuu/Units/binary.html) for binary multiples. With human-readable formats, output sizes are followed by a size letter such as `M' for megabytes. `BLOCK_SIZE=human-readable' uses powers of 1024; `M' stands for 1,048,576 bytes. `BLOCK_SIZE=si' is similar, but uses powers of 1000 and appends `B'; `MB' stands for 1,000,000 bytes. A block size specification preceded by `'' causes output sizes to be displayed with thousands separators. The `LC_NUMERIC' locale specifies the thousands separator and grouping. For example, in an American English locale, `--block-size="'1kB"' would cause a size of 1234000 bytes to be displayed as `1,234'. In the default C locale, there is no thousands separator so a leading `'' has no effect. An integer block size can be followed by a suffix to specify a multiple of that size. A bare size letter, or one followed by `iB', specifies a multiple using powers of 1024. A size letter followed by `B' specifies powers of 1000 instead. For example, `1M' and `1MiB' are equivalent to `1048576', whereas `1MB' is equivalent to `1000000'. A plain suffix without a preceding integer acts as if `1' were prepended, except that it causes a size indication to be appended to the output. For example, `--block-size="kB"' displays 3000 as `3kB'. The following suffixes are defined. Large sizes like `1Y' may be rejected by your computer due to limitations of its arithmetic. `kB' kilobyte: 10^3 = 1000. `k' `K' `KiB' kibibyte: 2^10 = 1024. `K' is special: the SI prefix is `k' and the ISO/IEC 80000-13 prefix is `Ki', but tradition and POSIX use `k' to mean `KiB'. `MB' megabyte: 10^6 = 1,000,000. `M' `MiB' mebibyte: 2^20 = 1,048,576. `GB' gigabyte: 10^9 = 1,000,000,000. `G' `GiB' gibibyte: 2^30 = 1,073,741,824. `TB' terabyte: 10^12 = 1,000,000,000,000. `T' `TiB' tebibyte: 2^40 = 1,099,511,627,776. `PB' petabyte: 10^15 = 1,000,000,000,000,000. `P' `PiB' pebibyte: 2^50 = 1,125,899,906,842,624. `EB' exabyte: 10^18 = 1,000,000,000,000,000,000. `E' `EiB' exbibyte: 2^60 = 1,152,921,504,606,846,976. `ZB' zettabyte: 10^21 = 1,000,000,000,000,000,000,000 `Z' `ZiB' 2^70 = 1,180,591,620,717,411,303,424. `YB' yottabyte: 10^24 = 1,000,000,000,000,000,000,000,000. `Y' `YiB' 2^80 = 1,208,925,819,614,629,174,706,176. Block size defaults can be overridden by an explicit `--block-size=SIZE' option. The `-k' option is equivalent to `--block-size=1K', which is the default unless the `POSIXLY_CORRECT' environment variable is set. The `-h' or `--human-readable' option is equivalent to `--block-size=human-readable'. The `--si' option is equivalent to `--block-size=si'.  File: coreutils.info, Node: Floating point, Next: Signal specifications, Prev: Block size, Up: Common options 2.4 Floating point numbers ========================== Commands that accept or produce floating point numbers employ the floating point representation of the underlying system, and suffer from rounding error, overflow, and similar floating-point issues. Almost all modern systems use IEEE-754 floating point, and it is typically portable to assume IEEE-754 behavior these days. IEEE-754 has positive and negative infinity, distinguishes positive from negative zero, and uses special values called NaNs to represent invalid computations such as dividing zero by itself. For more information, please see David Goldberg's paper What Every Computer Scientist Should Know About Floating-Point Arithmetic (http://www.validlab.com/goldberg/paper.pdf). Commands that accept floating point numbers as options, operands or input use the standard C functions `strtod' and `strtold' to convert from text to floating point numbers. These floating point numbers therefore can use scientific notation like `1.0e-34' and `-10e100'. Modern C implementations also accept hexadecimal floating point numbers such as `-0x.ep-3', which stands for -14/16 times 2^-3, which equals -0.109375. The `LC_NUMERIC' locale determines the decimal-point character. *Note Parsing of Floats: (libc)Parsing of Floats.  File: coreutils.info, Node: Signal specifications, Next: Disambiguating names and IDs, Prev: Floating point, Up: Common options 2.5 Signal specifications ========================= A SIGNAL may be a signal name like `HUP', or a signal number like `1', or an exit status of a process terminated by the signal. A signal name can be given in canonical form or prefixed by `SIG'. The case of the letters is ignored. The following signal names and numbers are supported on all POSIX compliant systems: `HUP' 1. Hangup. `INT' 2. Terminal interrupt. `QUIT' 3. Terminal quit. `ABRT' 6. Process abort. `KILL' 9. Kill (cannot be caught or ignored). `ALRM' 14. Alarm Clock. `TERM' 15. Termination. Other supported signal names have system-dependent corresponding numbers. All systems conforming to POSIX 1003.1-2001 also support the following signals: `BUS' Access to an undefined portion of a memory object. `CHLD' Child process terminated, stopped, or continued. `CONT' Continue executing, if stopped. `FPE' Erroneous arithmetic operation. `ILL' Illegal Instruction. `PIPE' Write on a pipe with no one to read it. `SEGV' Invalid memory reference. `STOP' Stop executing (cannot be caught or ignored). `TSTP' Terminal stop. `TTIN' Background process attempting read. `TTOU' Background process attempting write. `URG' High bandwidth data is available at a socket. `USR1' User-defined signal 1. `USR2' User-defined signal 2. POSIX 1003.1-2001 systems that support the XSI extension also support the following signals: `POLL' Pollable event. `PROF' Profiling timer expired. `SYS' Bad system call. `TRAP' Trace/breakpoint trap. `VTALRM' Virtual timer expired. `XCPU' CPU time limit exceeded. `XFSZ' File size limit exceeded. POSIX 1003.1-2001 systems that support the XRT extension also support at least eight real-time signals called `RTMIN', `RTMIN+1', ..., `RTMAX-1', `RTMAX'.  File: coreutils.info, Node: Disambiguating names and IDs, Next: Random sources, Prev: Signal specifications, Up: Common options 2.6 chown and chgrp: Disambiguating user names and IDs ====================================================== Since the OWNER and GROUP arguments to `chown' and `chgrp' may be specified as names or numeric IDs, there is an apparent ambiguity. What if a user or group _name_ is a string of digits? (1) Should the command interpret it as a user name or as an ID? POSIX requires that `chown' and `chgrp' first attempt to resolve the specified string as a name, and only once that fails, then try to interpret it as an ID. This is troublesome when you want to specify a numeric ID, say 42, and it must work even in a pathological situation where `42' is a user name that maps to some other user ID, say 1000. Simply invoking `chown 42 F', will set `F's owner ID to 1000--not what you intended. GNU `chown' and `chgrp' provide a way to work around this, that at the same time may result in a significant performance improvement by eliminating a database look-up. Simply precede each numeric user ID and/or group ID with a `+', in order to force its interpretation as an integer: chown +42 F chgrp +$numeric_group_id another-file chown +0:+0 / GNU `chown' and `chgrp' skip the name look-up process for each `+'-prefixed string, because a string containing `+' is never a valid user or group name. This syntax is accepted on most common Unix systems, but not on Solaris 10. ---------- Footnotes ---------- (1) Using a number as a user name is common in some environments.  File: coreutils.info, Node: Random sources, Next: Target directory, Prev: Disambiguating names and IDs, Up: Common options 2.7 Sources of random data ========================== The `shuf', `shred', and `sort' commands sometimes need random data to do their work. For example, `sort -R' must choose a hash function at random, and it needs random data to make this selection. By default these commands use an internal pseudorandom generator initialized by a small amount of entropy, but can be directed to use an external source with the `--random-source=FILE' option. An error is reported if FILE does not contain enough bytes. For example, the device file `/dev/urandom' could be used as the source of random data. Typically, this device gathers environmental noise from device drivers and other sources into an entropy pool, and uses the pool to generate random bits. If the pool is short of data, the device reuses the internal pool to produce more bits, using a cryptographically secure pseudorandom number generator. But be aware that this device is not designed for bulk random data generation and is relatively slow. `/dev/urandom' suffices for most practical uses, but applications requiring high-value or long-term protection of private data may require an alternate data source like `/dev/random' or `/dev/arandom'. The set of available sources depends on your operating system. To reproduce the results of an earlier invocation of a command, you can save some random data into a file and then use that file as the random source in earlier and later invocations of the command.  File: coreutils.info, Node: Target directory, Next: Trailing slashes, Prev: Random sources, Up: Common options 2.8 Target directory ==================== The `cp', `install', `ln', and `mv' commands normally treat the last operand specially when it is a directory or a symbolic link to a directory. For example, `cp source dest' is equivalent to `cp source dest/source' if `dest' is a directory. Sometimes this behavior is not exactly what is wanted, so these commands support the following options to allow more fine-grained control: `-T' `--no-target-directory' Do not treat the last operand specially when it is a directory or a symbolic link to a directory. This can help avoid race conditions in programs that operate in a shared area. For example, when the command `mv /tmp/source /tmp/dest' succeeds, there is no guarantee that `/tmp/source' was renamed to `/tmp/dest': it could have been renamed to `/tmp/dest/source' instead, if some other process created `/tmp/dest' as a directory. However, if `mv -T /tmp/source /tmp/dest' succeeds, there is no question that `/tmp/source' was renamed to `/tmp/dest'. In the opposite situation, where you want the last operand to be treated as a directory and want a diagnostic otherwise, you can use the `--target-directory' (`-t') option. `-t DIRECTORY' `--target-directory=DIRECTORY' Use DIRECTORY as the directory component of each destination file name. The interface for most programs is that after processing options and a finite (possibly zero) number of fixed-position arguments, the remaining argument list is either expected to be empty, or is a list of items (usually files) that will all be handled identically. The `xargs' program is designed to work well with this convention. The commands in the `mv'-family are unusual in that they take a variable number of arguments with a special case at the _end_ (namely, the target directory). This makes it nontrivial to perform some operations, e.g., "move all files from here to ../d/", because `mv * ../d/' might exhaust the argument space, and `ls | xargs ...' doesn't have a clean way to specify an extra final argument for each invocation of the subject command. (It can be done by going through a shell command, but that requires more human labor and brain power than it should.) The `--target-directory' (`-t') option allows the `cp', `install', `ln', and `mv' programs to be used conveniently with `xargs'. For example, you can move the files from the current directory to a sibling directory, `d' like this: ls | xargs mv -t ../d -- However, this doesn't move files whose names begin with `.'. If you use the GNU `find' program, you can move those files too, with this command: find . -mindepth 1 -maxdepth 1 \ | xargs mv -t ../d But both of the above approaches fail if there are no files in the current directory, or if any file has a name containing a blank or some other special characters. The following example removes those limitations and requires both GNU `find' and GNU `xargs': find . -mindepth 1 -maxdepth 1 -print0 \ | xargs --null --no-run-if-empty \ mv -t ../d The `--target-directory' (`-t') and `--no-target-directory' (`-T') options cannot be combined.  File: coreutils.info, Node: Trailing slashes, Next: Traversing symlinks, Prev: Target directory, Up: Common options 2.9 Trailing slashes ==================== Some GNU programs (at least `cp' and `mv') allow you to remove any trailing slashes from each SOURCE argument before operating on it. The `--strip-trailing-slashes' option enables this behavior. This is useful when a SOURCE argument may have a trailing slash and specify a symbolic link to a directory. This scenario is in fact rather common because some shells can automatically append a trailing slash when performing file name completion on such symbolic links. Without this option, `mv', for example, (via the system's rename function) must interpret a trailing slash as a request to dereference the symbolic link and so must rename the indirectly referenced _directory_ and not the symbolic link. Although it may seem surprising that such behavior be the default, it is required by POSIX and is consistent with other parts of that standard.  File: coreutils.info, Node: Traversing symlinks, Next: Treating / specially, Prev: Trailing slashes, Up: Common options 2.10 Traversing symlinks ======================== The following options modify how `chown' and `chgrp' traverse a hierarchy when the `--recursive' (`-R') option is also specified. If more than one of the following options is specified, only the final one takes effect. These options specify whether processing a symbolic link to a directory entails operating on just the symbolic link or on all files in the hierarchy rooted at that directory. These options are independent of `--dereference' and `--no-dereference' (`-h'), which control whether to modify a symlink or its referent. `-H' If `--recursive' (`-R') is specified and a command line argument is a symbolic link to a directory, traverse it. `-L' In a recursive traversal, traverse every symbolic link to a directory that is encountered. `-P' Do not traverse any symbolic links. This is the default if none of `-H', `-L', or `-P' is specified.  File: coreutils.info, Node: Treating / specially, Next: Special built-in utilities, Prev: Traversing symlinks, Up: Common options 2.11 Treating `/' specially =========================== Certain commands can operate destructively on entire hierarchies. For example, if a user with appropriate privileges mistakenly runs `rm -rf / tmp/junk', that may remove all files on the entire system. Since there are so few legitimate uses for such a command, GNU `rm' normally declines to operate on any directory that resolves to `/'. If you really want to try to remove all the files on your system, you can use the `--no-preserve-root' option, but the default behavior, specified by the `--preserve-root' option, is safer for most purposes. The commands `chgrp', `chmod' and `chown' can also operate destructively on entire hierarchies, so they too support these options. Although, unlike `rm', they don't actually unlink files, these commands are arguably more dangerous when operating recursively on `/', since they often work much more quickly, and hence damage more files before an alert user can interrupt them. Tradition and POSIX require these commands to operate recursively on `/', so they default to `--no-preserve-root', but using the `--preserve-root' option makes them safer for most purposes. For convenience you can specify `--preserve-root' in an alias or in a shell function. Note that the `--preserve-root' option also ensures that `chgrp' and `chown' do not modify `/' even when dereferencing a symlink pointing to `/'.  File: coreutils.info, Node: Special built-in utilities, Next: Standards conformance, Prev: Treating / specially, Up: Common options 2.12 Special built-in utilities =============================== Some programs like `nice' can invoke other programs; for example, the command `nice cat file' invokes the program `cat' by executing the command `cat file'. However, "special built-in utilities" like `exit' cannot be invoked this way. For example, the command `nice exit' does not have a well-defined behavior: it may generate an error message instead of exiting. Here is a list of the special built-in utilities that are standardized by POSIX 1003.1-2004. . : break continue eval exec exit export readonly return set shift times trap unset For example, because `.', `:', and `exec' are special, the commands `nice . foo.sh', `nice :', and `nice exec pwd' do not work as you might expect. Many shells extend this list. For example, Bash has several extra special built-in utilities like `history', and `suspend', and with Bash the command `nice suspend' generates an error message instead of suspending.  File: coreutils.info, Node: Standards conformance, Prev: Special built-in utilities, Up: Common options 2.13 Standards conformance ========================== In a few cases, the GNU utilities' default behavior is incompatible with the POSIX standard. To suppress these incompatibilities, define the `POSIXLY_CORRECT' environment variable. Unless you are checking for POSIX conformance, you probably do not need to define `POSIXLY_CORRECT'. Newer versions of POSIX are occasionally incompatible with older versions. For example, older versions of POSIX required the command `sort +1' to sort based on the second and succeeding fields in each input line, but starting with POSIX 1003.1-2001 the same command is required to sort the file named `+1', and you must instead use the command `sort -k 2' to get the field-based sort. The GNU utilities normally conform to the version of POSIX that is standard for your system. To cause them to conform to a different version of POSIX, define the `_POSIX2_VERSION' environment variable to a value of the form YYYYMM specifying the year and month the standard was adopted. Three values are currently supported for `_POSIX2_VERSION': `199209' stands for POSIX 1003.2-1992, `200112' stands for POSIX 1003.1-2001, and `200809' stands for POSIX 1003.1-2008. For example, if you have a newer system but are running software that assumes an older version of POSIX and uses `sort +1' or `tail +10', you can work around any compatibility problems by setting `_POSIX2_VERSION=199209' in your environment.  File: coreutils.info, Node: Output of entire files, Next: Formatting file contents, Prev: Common options, Up: Top 3 Output of entire files ************************ These commands read and write entire files, possibly transforming them in some way. * Menu: * cat invocation:: Concatenate and write files. * tac invocation:: Concatenate and write files in reverse. * nl invocation:: Number lines and write files. * od invocation:: Write files in octal or other formats. * base64 invocation:: Transform data into printable data.  File: coreutils.info, Node: cat invocation, Next: tac invocation, Up: Output of entire files 3.1 `cat': Concatenate and write files ====================================== `cat' copies each FILE (`-' means standard input), or standard input if none are given, to standard output. Synopsis: cat [OPTION] [FILE]... The program accepts the following options. Also see *note Common options::. `-A' `--show-all' Equivalent to `-vET'. `-b' `--number-nonblank' Number all nonempty output lines, starting with 1. `-e' Equivalent to `-vE'. `-E' `--show-ends' Display a `$' after the end of each line. `-n' `--number' Number all output lines, starting with 1. This option is ignored if `-b' is in effect. `-s' `--squeeze-blank' Suppress repeated adjacent empty lines; output just one empty line instead of several. `-t' Equivalent to `-vT'. `-T' `--show-tabs' Display TAB characters as `^I'. `-u' Ignored; for POSIX compatibility. `-v' `--show-nonprinting' Display control characters except for LFD and TAB using `^' notation and precede characters that have the high bit set with `M-'. On systems like MS-DOS that distinguish between text and binary files, `cat' normally reads and writes in binary mode. However, `cat' reads in text mode if one of the options `-bensAE' is used or if `cat' is reading from standard input and standard input is a terminal. Similarly, `cat' writes in text mode if one of the options `-bensAE' is used or if standard output is a terminal. An exit status of zero indicates success, and a nonzero value indicates failure. Examples: # Output f's contents, then standard input, then g's contents. cat f - g # Copy standard input to standard output. cat  File: coreutils.info, Node: tac invocation, Next: nl invocation, Prev: cat invocation, Up: Output of entire files 3.2 `tac': Concatenate and write files in reverse ================================================= `tac' copies each FILE (`-' means standard input), or standard input if none are given, to standard output, reversing the records (lines by default) in each separately. Synopsis: tac [OPTION]... [FILE]... "Records" are separated by instances of a string (newline by default). By default, this separator string is attached to the end of the record that it follows in the file. The program accepts the following options. Also see *note Common options::. `-b' `--before' The separator is attached to the beginning of the record that it precedes in the file. `-r' `--regex' Treat the separator string as a regular expression. `-s SEPARATOR' `--separator=SEPARATOR' Use SEPARATOR as the record separator, instead of newline. On systems like MS-DOS that distinguish between text and binary files, `tac' reads and writes in binary mode. An exit status of zero indicates success, and a nonzero value indicates failure. Example: # Reverse a file character by character. tac -r -s 'x\|[^x]'  File: coreutils.info, Node: nl invocation, Next: od invocation, Prev: tac invocation, Up: Output of entire files 3.3 `nl': Number lines and write files ====================================== `nl' writes each FILE (`-' means standard input), or standard input if none are given, to standard output, with line numbers added to some or all of the lines. Synopsis: nl [OPTION]... [FILE]... `nl' decomposes its input into (logical) pages; by default, the line number is reset to 1 at the top of each logical page. `nl' treats all of the input files as a single document; it does not reset line numbers or logical pages between files. A logical page consists of three sections: header, body, and footer. Any of the sections can be empty. Each can be numbered in a different style from the others. The beginnings of the sections of logical pages are indicated in the input file by a line containing exactly one of these delimiter strings: `\:\:\:' start of header; `\:\:' start of body; `\:' start of footer. The two characters from which these strings are made can be changed from `\' and `:' via options (see below), but the pattern and length of each string cannot be changed. A section delimiter is replaced by an empty line on output. Any text that comes before the first section delimiter string in the input file is considered to be part of a body section, so `nl' treats a file that contains no section delimiters as a single body section. The program accepts the following options. Also see *note Common options::. `-b STYLE' `--body-numbering=STYLE' Select the numbering style for lines in the body section of each logical page. When a line is not numbered, the current line number is not incremented, but the line number separator character is still prepended to the line. The styles are: `a' number all lines, `t' number only nonempty lines (default for body), `n' do not number lines (default for header and footer), `pBRE' number only lines that contain a match for the basic regular expression BRE. *Note Regular Expressions: (grep)Regular Expressions. `-d CD' `--section-delimiter=CD' Set the section delimiter characters to CD; default is `\:'. If only C is given, the second remains `:'. (Remember to protect `\' or other metacharacters from shell expansion with quotes or extra backslashes.) `-f STYLE' `--footer-numbering=STYLE' Analogous to `--body-numbering'. `-h STYLE' `--header-numbering=STYLE' Analogous to `--body-numbering'. `-i NUMBER' `--line-increment=NUMBER' Increment line numbers by NUMBER (default 1). `-l NUMBER' `--join-blank-lines=NUMBER' Consider NUMBER (default 1) consecutive empty lines to be one logical line for numbering, and only number the last one. Where fewer than NUMBER consecutive empty lines occur, do not number them. An empty line is one that contains no characters, not even spaces or tabs. `-n FORMAT' `--number-format=FORMAT' Select the line numbering format (default is `rn'): `ln' left justified, no leading zeros; `rn' right justified, no leading zeros; `rz' right justified, leading zeros. `-p' `--no-renumber' Do not reset the line number at the start of a logical page. `-s STRING' `--number-separator=STRING' Separate the line number from the text line in the output with STRING (default is the TAB character). `-v NUMBER' `--starting-line-number=NUMBER' Set the initial line number on each logical page to NUMBER (default 1). `-w NUMBER' `--number-width=NUMBER' Use NUMBER characters for line numbers (default 6). An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: od invocation, Next: base64 invocation, Prev: nl invocation, Up: Output of entire files 3.4 `od': Write files in octal or other formats =============================================== `od' writes an unambiguous representation of each FILE (`-' means standard input), or standard input if none are given. Synopses: od [OPTION]... [FILE]... od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] od [OPTION]... --traditional [FILE] [[+]OFFSET[.][b] [[+]LABEL[.][b]]] Each line of output consists of the offset in the input, followed by groups of data from the file. By default, `od' prints the offset in octal, and each group of file data is a C `short int''s worth of input printed as a single octal number. If OFFSET is given, it specifies how many input bytes to skip before formatting and writing. By default, it is interpreted as an octal number, but the optional trailing decimal point causes it to be interpreted as decimal. If no decimal is specified and the offset begins with `0x' or `0X' it is interpreted as a hexadecimal number. If there is a trailing `b', the number of bytes skipped will be OFFSET multiplied by 512. If a command is of both the first and second forms, the second form is assumed if the last operand begins with `+' or (if there are two operands) a digit. For example, in `od foo 10' and `od +10' the `10' is an offset, whereas in `od 10' the `10' is a file name. The program accepts the following options. Also see *note Common options::. `-A RADIX' `--address-radix=RADIX' Select the base in which file offsets are printed. RADIX can be one of the following: `d' decimal; `o' octal; `x' hexadecimal; `n' none (do not print offsets). The default is octal. `-j BYTES' `--skip-bytes=BYTES' Skip BYTES input bytes before formatting and writing. If BYTES begins with `0x' or `0X', it is interpreted in hexadecimal; otherwise, if it begins with `0', in octal; otherwise, in decimal. BYTES may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `b' => 512 ("blocks") `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. `-N BYTES' `--read-bytes=BYTES' Output at most BYTES bytes of the input. Prefixes and suffixes on `bytes' are interpreted as for the `-j' option. `-S BYTES' `--strings[=BYTES]' Instead of the normal output, output only "string constants": at least BYTES consecutive ASCII graphic characters, followed by a zero byte (ASCII NUL). Prefixes and suffixes on BYTES are interpreted as for the `-j' option. If BYTES is omitted with `--strings', the default is 3. `-t TYPE' `--format=TYPE' Select the format in which to output the file data. TYPE is a string of one or more of the below type indicator characters. If you include more than one type indicator character in a single TYPE string, or use this option more than once, `od' writes one copy of each output line using each of the data types that you specified, in the order that you specified. Adding a trailing "z" to any type specification appends a display of the ASCII character representation of the printable characters to the output line generated by the type specification. `a' named character, ignoring high-order bit `c' ASCII character or backslash escape, `d' signed decimal `f' floating point (*note Floating point::) `o' octal `u' unsigned decimal `x' hexadecimal The type `a' outputs things like `sp' for space, `nl' for newline, and `nul' for a zero byte. Only the least significant seven bits of each byte is used; the high-order bit is ignored. Type `c' outputs ` ', `\n', and `\0', respectively. Except for types `a' and `c', you can specify the number of bytes to use in interpreting each number in the given data type by following the type indicator character with a decimal integer. Alternately, you can specify the size of one of the C compiler's built-in data types by following the type indicator character with one of the following characters. For integers (`d', `o', `u', `x'): `C' char `S' short `I' int `L' long For floating point (`f'): F float D double L long double `-v' `--output-duplicates' Output consecutive lines that are identical. By default, when two or more consecutive output lines would be identical, `od' outputs only the first line, and puts just an asterisk on the following line to indicate the elision. `-w[N]' `--width[=N]' Dump `n' input bytes per output line. This must be a multiple of the least common multiple of the sizes associated with the specified output types. If this option is not given at all, the default is 16. If N is omitted, the default is 32. The next several options are shorthands for format specifications. GNU `od' accepts any combination of shorthands and format specification options. These options accumulate. `-a' Output as named characters. Equivalent to `-t a'. `-b' Output as octal bytes. Equivalent to `-t o1'. `-c' Output as ASCII characters or backslash escapes. Equivalent to `-t c'. `-d' Output as unsigned decimal two-byte units. Equivalent to `-t u2'. `-f' Output as floats. Equivalent to `-t fF'. `-i' Output as decimal ints. Equivalent to `-t dI'. `-l' Output as decimal long ints. Equivalent to `-t dL'. `-o' Output as octal two-byte units. Equivalent to `-t o2'. `-s' Output as decimal two-byte units. Equivalent to `-t d2'. `-x' Output as hexadecimal two-byte units. Equivalent to `-t x2'. `--traditional' Recognize the non-option label argument that traditional `od' accepted. The following syntax: od --traditional [FILE] [[+]OFFSET[.][b] [[+]LABEL[.][b]]] can be used to specify at most one file and optional arguments specifying an offset and a pseudo-start address, LABEL. The LABEL argument is interpreted just like OFFSET, but it specifies an initial pseudo-address. The pseudo-addresses are displayed in parentheses following any normal address. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: base64 invocation, Prev: od invocation, Up: Output of entire files 3.5 `base64': Transform data into printable data ================================================ `base64' transforms data read from a file, or standard input, into (or from) base64 encoded form. The base64 encoded form uses printable ASCII characters to represent binary data. Synopses: base64 [OPTION]... [FILE] base64 --decode [OPTION]... [FILE] The base64 encoding expands data to roughly 133% of the original. The format conforms to RFC 4648 (ftp://ftp.rfc-editor.org/in-notes/rfc4648.txt). The program accepts the following options. Also see *note Common options::. `-w COLS' `--wrap=COLS' During encoding, wrap lines after COLS characters. This must be a positive number. The default is to wrap after 76 characters. Use the value 0 to disable line wrapping altogether. `-d' `--decode' Change the mode of operation, from the default of encoding data, to decoding data. Input is expected to be base64 encoded data, and the output will be the original data. `-i' `--ignore-garbage' When decoding, newlines are always accepted. During decoding, ignore unrecognized bytes, to permit distorted data to be decoded. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Formatting file contents, Next: Output of parts of files, Prev: Output of entire files, Up: Top 4 Formatting file contents ************************** These commands reformat the contents of files. * Menu: * fmt invocation:: Reformat paragraph text. * numfmt invocation:: Reformat numbers. * pr invocation:: Paginate or columnate files for printing. * fold invocation:: Wrap input lines to fit in specified width.  File: coreutils.info, Node: fmt invocation, Next: numfmt invocation, Up: Formatting file contents 4.1 `fmt': Reformat paragraph text ================================== `fmt' fills and joins lines to produce output lines of (at most) a given number of characters (75 by default). Synopsis: fmt [OPTION]... [FILE]... `fmt' reads from the specified FILE arguments (or standard input if none are given), and writes to standard output. By default, blank lines, spaces between words, and indentation are preserved in the output; successive input lines with different indentation are not joined; tabs are expanded on input and introduced on output. `fmt' prefers breaking lines at the end of a sentence, and tries to avoid line breaks after the first word of a sentence or before the last word of a sentence. A "sentence break" is defined as either the end of a paragraph or a word ending in any of `.?!', followed by two spaces or end of line, ignoring any intervening parentheses or quotes. Like TeX, `fmt' reads entire "paragraphs" before choosing line breaks; the algorithm is a variant of that given by Donald E. Knuth and Michael F. Plass in "Breaking Paragraphs Into Lines", `Software--Practice & Experience' 11, 11 (November 1981), 1119-1184. The program accepts the following options. Also see *note Common options::. `-c' `--crown-margin' "Crown margin" mode: preserve the indentation of the first two lines within a paragraph, and align the left margin of each subsequent line with that of the second line. `-t' `--tagged-paragraph' "Tagged paragraph" mode: like crown margin mode, except that if indentation of the first line of a paragraph is the same as the indentation of the second, the first line is treated as a one-line paragraph. `-s' `--split-only' Split lines only. Do not join short lines to form longer ones. This prevents sample lines of code, and other such "formatted" text from being unduly combined. `-u' `--uniform-spacing' Uniform spacing. Reduce spacing between words to one space, and spacing between sentences to two spaces. `-WIDTH' `-w WIDTH' `--width=WIDTH' Fill output lines up to WIDTH characters (default 75 or GOAL plus 10, if GOAL is provided). `-g GOAL' `--goal=GOAL' `fmt' initially tries to make lines GOAL characters wide. By default, this is 7% shorter than WIDTH. `-p PREFIX' `--prefix=PREFIX' Only lines beginning with PREFIX (possibly preceded by whitespace) are subject to formatting. The prefix and any preceding whitespace are stripped for the formatting and then re-attached to each formatted output line. One use is to format certain kinds of program comments, while leaving the code unchanged. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: numfmt invocation, Next: pr invocation, Prev: fmt invocation, Up: Formatting file contents 4.2 `numfmt': Reformat numbers ============================== `numfmt' reads numbers in various representations and reformats them as requested. The most common usage is converting numbers to/from _human_ representation (e.g. `4G' ==> `4,000,000,000'). numfmt [OPTION]... [NUMBER] `numfmt' converts each NUMBER on the command-line according to the specified options (see below). If no NUMBERs are given, it reads numbers from standard input. `numfmt' can optionally extract numbers from specific columns, maintaining proper line padding and alignment. An exit status of zero indicates success, and a nonzero value indicates failure. See `--invalid' for additional information regarding exit status. 4.2.1 General options --------------------- The program accepts the following options. Also see *note Common options::. `--debug' Print (to standard error) warning messages about possible erroneous usage. `-d D' `--delimiter=D' Use the character D as input field separator (default: whitespace). _Note_: Using non-default delimiter turns off automatic padding. `--field=N' Convert the number in input field N (default: 1). `--format=FORMAT' Use printf-style floating FORMAT string. The FORMAT string must contain one `%f' directive, optionally with `'', `-', or width modifiers. The `'' modifier will enable `--grouping', the `-' modifier will enable left-aligned `--padding' and the width modifier will enable right-aligned `--padding'. `--from=UNIT' Auto-scales input numbers according to UNIT. See UNITS below. The default is no scaling, meaning suffixes (e.g. `M', `G') will trigger an error. `--from-unit=N' Specify the input unit size (instead of the default 1). Use this option when the input numbers represent other units (e.g. if the input number `10' represents 10 units of 512 bytes, use `--from=unit=512'). `--grouping' Group digits in output numbers according to the current locale's grouping rules (e.g _Thousands Separator_ character, commonly `.' (dot) or `,' comma). This option has no effect in `POSIX/C' locale. `--header[=N]' Print the first N (default: 1) lines without any conversion. `--invalid=MODE' The default action on input errors is to exit immediately with status code 2. `--invalid=`abort'' explicitly specifies this default mode. With a MODE of `fail', print a warning for _each_ conversion error, and exit with status 2. With a MODE of `warn', exit with status 0, even in the presence of conversion errors, and with a MODE of `ignore' do not even print diagnostics. `--padding=N' Pad the output numbers to N characters, by adding spaces. If N is a positive number, numbers will be right-aligned. If N is a negative number, numbers will be left-aligned. By default, numbers are automatically aligned based on the input line's width (only with the default delimiter). `--round=METHOD' When converting number representations, round the number according to METHOD, which can be `up', `down', `from-zero' (the default), `towards-zero', `nearest'. `--suffix=SUFFIX' Add `SUFFIX' to the output numbers, and accept optional `SUFFIX' in input numbers. `--to=UNIT' Auto-scales output numbers according to UNIT. See _Units_ below. The default is no scaling, meaning all the digits of the number are printed. `--to-unit=N' Specify the output unit size (instead of the default 1). Use this option when the output numbers represent other units (e.g. to represent `4,000,000' bytes in blocks of 1KB, use `--to=si --to=units=1000'). 4.2.2 Possible UNITs: --------------------- The following are the possible UNIT options with `--from=UNITS' and `--to=UNITS': NONE No scaling is performed. For input numbers, no suffixes are accepted, and any trailing characters following the number will trigger an error. For output numbers, all digits of the numbers will be printed. SI Auto-scale numbers according to the _International System of Units (SI)_ standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1000 will be rounded, and printed with one of the following suffixes: `K' => 1000^1 = 10^3 (Kilo) `M' => 1000^2 = 10^6 (Mega) `G' => 1000^3 = 10^9 (Giga) `T' => 1000^4 = 10^12 (Tera) `P' => 1000^5 = 10^15 (Peta) `E' => 1000^6 = 10^18 (Exa) `Z' => 1000^7 = 10^21 (Zetta) `Y' => 1000^8 = 10^24 (Yotta) IEC Auto-scale numbers according to the _International Electronical Commission (IEC)_ standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1024 will be rounded, and printed with one of the following suffixes: `K' => 1024^1 = 2^10 (Kibi) `M' => 1024^2 = 2^20 (Mebi) `G' => 1024^3 = 2^30 (Gibi) `T' => 1024^4 = 2^40 (Tebi) `P' => 1024^5 = 2^50 (Pebi) `E' => 1024^6 = 2^60 (Exbi) `Z' => 1024^7 = 2^70 (Zebi) `Y' => 1024^8 = 2^80 (Yobi) The `iec' option uses a single letter suffix (e.g. `G'), which is not fully standard, as the _iec_ standard recommends a two-letter symbol (e.g `Gi') - but in practice, this method common. Compare with the `iec-i' option. IEC-I Auto-scale numbers according to the _International Electronical Commission (IEC)_ standard. For input numbers, accept one of the following suffixes. For output numbers, values larger than 1024 will be rounded, and printed with one of the following suffixes: `Ki' => 1024^1 = 2^10 (Kibi) `Mi' => 1024^2 = 2^20 (Mebi) `Gi' => 1024^3 = 2^30 (Gibi) `Ti' => 1024^4 = 2^40 (Tebi) `Pi' => 1024^5 = 2^50 (Pebi) `Ei' => 1024^6 = 2^60 (Exbi) `Zi' => 1024^7 = 2^70 (Zebi) `Yi' => 1024^8 = 2^80 (Yobi) The `iec-i' option uses a two-letter suffix symbol (e.g. `Gi'), as the _iec_ standard recommends, but this is not always common in practice. Compare with the `iec' option. AUTO `auto' can only be used with `--from'. With this method, numbers with `K',`M',`G',`T',`P',`E',`Z',`Y' suffixes are interpreted as _SI_ values, and numbers with `Ki', `Mi',`Gi',`Ti',`Pi',`Ei',`Zi',`Yi' suffixes are interpreted as _IEC_ values. 4.2.3 Examples of using `numfmt' -------------------------------- Converting a single number from/to _human_ representation: $ nunfmt --to=si 500000 500K $ numfmt --to=iec 500000 489K $ numfmt --to=iec-i 500000 489Ki $ numfmt --from=si 1M 1000000 $ numfmt --from=iec 1M 1048576 # with '--from=auto', M=Mega, Mi=Mebi $ numfmt --from=auto 1M 1000000 $ numfmt --from=auto 1Mi 1048576 Converting from `SI' to `IEC' scales (e.g. when a harddisk capacity is advertised as `1TB', while checking the drive's capacity gives lower values): $ numfmt --from=si --to=iec 1T 932G Converting a single field from an input file / piped input (these contrived examples are for demonstration purposes only, as both `ls' and `df' support the `--human-readable' option to output sizes in human-readable format): # Third field (file size) will be shown in SI representation $ ls -log | numfmt --field 3 --header --to=si | head -n4 -rw-r--r-- 1 94K Aug 23 2011 ABOUT-NLS -rw-r--r-- 1 3.7K Jan 7 16:15 AUTHORS -rw-r--r-- 1 36K Jun 1 2011 COPYING -rw-r--r-- 1 0 Jan 7 15:15 ChangeLog # Second field (size) will be shown in IEC representation $ df --block-size=1 | numfmt --field 2 --header --to=iec | head -n4 File system 1B-blocks Used Available Use% Mounted on rootfs 132G 104741408 26554036 80% / tmpfs 794M 7580 804960 1% /run/shm /dev/sdb1 694G 651424756 46074696 94% /home Output can be tweaked using `--padding' or `--format': # Pad to 10 characters, right-aligned $ du -s * | numfmt --to=si --padding=10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned $ du -s * | numfmt --to=si --padding=-10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned, using 'format' $ du -s * | numfmt --to=si --format="%10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # Pad to 10 characters, left-aligned, using 'format' $ du -s * | numfmt --to=si --padding="%-10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac With locales that support grouping digits, using `--grouping' or `--format' enables grouping. In `POSIX' locale, grouping is silently ignored: $ LC_ALL=C numfmt --from=iec --grouping 2G 2147483648 $ LC_ALL=en_US.utf8 numfmt --from=iec --grouping 2G 2,147,483,648 $ LC_ALL=ta_IN numfmt --from=iec --grouping 2G 2,14,74,83,648 $ LC_ALL=C ./src/numfmt --from=iec --format="==%'15f==" 2G == 2147483648== $ LC_ALL=en_US.utf8 ./src/numfmt --from=iec --format="==%'15f==" 2G == 2,147,483,648== $ LC_ALL=en_US.utf8 ./src/numfmt --from=iec --format="==%'-15f==" 2G ==2,147,483,648 == $ LC_ALL=ta_IN ./src/numfmt --from=iec --format="==%'15f==" 2G == 2,14,74,83,648==  File: coreutils.info, Node: pr invocation, Next: fold invocation, Prev: numfmt invocation, Up: Formatting file contents 4.3 `pr': Paginate or columnate files for printing ================================================== `pr' writes each FILE (`-' means standard input), or standard input if none are given, to standard output, paginating and optionally outputting in multicolumn format; optionally merges all FILEs, printing all in parallel, one per column. Synopsis: pr [OPTION]... [FILE]... By default, a 5-line header is printed at each page: two blank lines; a line with the date, the file name, and the page count; and two more blank lines. A footer of five blank lines is also printed. The default PAGE_LENGTH is 66 lines. The default number of text lines is therefore 56. The text line of the header takes the form `DATE STRING PAGE', with spaces inserted around STRING so that the line takes up the full PAGE_WIDTH. Here, DATE is the date (see the `-D' or `--date-format' option for details), STRING is the centered header string, and PAGE identifies the page number. The `LC_MESSAGES' locale category affects the spelling of PAGE; in the default C locale, it is `Page NUMBER' where NUMBER is the decimal page number. Form feeds in the input cause page breaks in the output. Multiple form feeds produce empty pages. Columns are of equal width, separated by an optional string (default is `space'). For multicolumn output, lines will always be truncated to PAGE_WIDTH (default 72), unless you use the `-J' option. For single column output no line truncation occurs by default. Use `-W' option to truncate lines in that case. The program accepts the following options. Also see *note Common options::. `+FIRST_PAGE[:LAST_PAGE]' `--pages=FIRST_PAGE[:LAST_PAGE]' Begin printing with page FIRST_PAGE and stop with LAST_PAGE. Missing `:LAST_PAGE' implies end of file. While estimating the number of skipped pages each form feed in the input file results in a new page. Page counting with and without `+FIRST_PAGE' is identical. By default, counting starts with the first page of input file (not first page printed). Line numbering may be altered by `-N' option. `-COLUMN' `--columns=COLUMN' With each single FILE, produce COLUMN columns of output (default is 1) and print columns down, unless `-a' is used. The column width is automatically decreased as COLUMN increases; unless you use the `-W/-w' option to increase PAGE_WIDTH as well. This option might well cause some lines to be truncated. The number of lines in the columns on each page are balanced. The options `-e' and `-i' are on for multiple text-column output. Together with `-J' option column alignment and line truncation is turned off. Lines of full length are joined in a free field format and `-S' option may set field separators. `-COLUMN' may not be used with `-m' option. `-a' `--across' With each single FILE, print columns across rather than down. The `-COLUMN' option must be given with COLUMN greater than one. If a line is too long to fit in a column, it is truncated. `-c' `--show-control-chars' Print control characters using hat notation (e.g., `^G'); print other nonprinting characters in octal backslash notation. By default, nonprinting characters are not changed. `-d' `--double-space' Double space the output. `-D FORMAT' `--date-format=FORMAT' Format header dates using FORMAT, using the same conventions as for the command `date +FORMAT'. *Note date invocation::. Except for directives, which start with `%', characters in FORMAT are printed unchanged. You can use this option to specify an arbitrary string in place of the header date, e.g., `--date-format="Monday morning"'. The default date format is `%Y-%m-%d %H:%M' (for example, `2001-12-04 23:59'); but if the `POSIXLY_CORRECT' environment variable is set and the `LC_TIME' locale category specifies the POSIX locale, the default is `%b %e %H:%M %Y' (for example, `Dec 4 23:59 2001'. Time stamps are listed according to the time zone rules specified by the `TZ' environment variable, or by the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. `-e[IN-TABCHAR[IN-TABWIDTH]]' `--expand-tabs[=IN-TABCHAR[IN-TABWIDTH]]' Expand TABs to spaces on input. Optional argument IN-TABCHAR is the input tab character (default is the TAB character). Second optional argument IN-TABWIDTH is the input tab character's width (default is 8). `-f' `-F' `--form-feed' Use a form feed instead of newlines to separate output pages. This does not alter the default page length of 66 lines. `-h HEADER' `--header=HEADER' Replace the file name in the header with the centered string HEADER. When using the shell, HEADER should be quoted and should be separated from `-h' by a space. `-i[OUT-TABCHAR[OUT-TABWIDTH]]' `--output-tabs[=OUT-TABCHAR[OUT-TABWIDTH]]' Replace spaces with TABs on output. Optional argument OUT-TABCHAR is the output tab character (default is the TAB character). Second optional argument OUT-TABWIDTH is the output tab character's width (default is 8). `-J' `--join-lines' Merge lines of full length. Used together with the column options `-COLUMN', `-a -COLUMN' or `-m'. Turns off `-W/-w' line truncation; no column alignment used; may be used with `--sep-string[=STRING]'. `-J' has been introduced (together with `-W' and `--sep-string') to disentangle the old (POSIX-compliant) options `-w' and `-s' along with the three column options. `-l PAGE_LENGTH' `--length=PAGE_LENGTH' Set the page length to PAGE_LENGTH (default 66) lines, including the lines of the header [and the footer]. If PAGE_LENGTH is less than or equal to 10, the header and footer are omitted, as if the `-t' option had been given. `-m' `--merge' Merge and print all FILEs in parallel, one in each column. If a line is too long to fit in a column, it is truncated, unless the `-J' option is used. `--sep-string[=STRING]' may be used. Empty pages in some FILEs (form feeds set) produce empty columns, still marked by STRING. The result is a continuous line numbering and column marking throughout the whole merged file. Completely empty merged pages show no separators or line numbers. The default header becomes `DATE PAGE' with spaces inserted in the middle; this may be used with the `-h' or `--header' option to fill up the middle blank part. `-n[NUMBER-SEPARATOR[DIGITS]]' `--number-lines[=NUMBER-SEPARATOR[DIGITS]]' Provide DIGITS digit line numbering (default for DIGITS is 5). With multicolumn output the number occupies the first DIGITS column positions of each text column or only each line of `-m' output. With single column output the number precedes each line just as `-m' does. Default counting of the line numbers starts with the first line of the input file (not the first line printed, compare the `--page' option and `-N' option). Optional argument NUMBER-SEPARATOR is the character appended to the line number to separate it from the text followed. The default separator is the TAB character. In a strict sense a TAB is always printed with single column output only. The TAB width varies with the TAB position, e.g., with the left MARGIN specified by `-o' option. With multicolumn output priority is given to `equal width of output columns' (a POSIX specification). The TAB width is fixed to the value of the first column and does not change with different values of left MARGIN. That means a fixed number of spaces is always printed in the place of the NUMBER-SEPARATOR TAB. The tabification depends upon the output position. `-N LINE_NUMBER' `--first-line-number=LINE_NUMBER' Start line counting with the number LINE_NUMBER at first line of first page printed (in most cases not the first line of the input file). `-o MARGIN' `--indent=MARGIN' Indent each line with a margin MARGIN spaces wide (default is zero). The total page width is the size of the margin plus the PAGE_WIDTH set with the `-W/-w' option. A limited overflow may occur with numbered single column output (compare `-n' option). `-r' `--no-file-warnings' Do not print a warning message when an argument FILE cannot be opened. (The exit status will still be nonzero, however.) `-s[CHAR]' `--separator[=CHAR]' Separate columns by a single character CHAR. The default for CHAR is the TAB character without `-w' and `no character' with `-w'. Without `-s' the default separator `space' is set. `-s[char]' turns off line truncation of all three column options (`-COLUMN'|`-a -COLUMN'|`-m') unless `-w' is set. This is a POSIX-compliant formulation. `-S[STRING]' `--sep-string[=STRING]' Use STRING to separate output columns. The `-S' option doesn't affect the `-W/-w' option, unlike the `-s' option which does. It does not affect line truncation or column alignment. Without `-S', and with `-J', `pr' uses the default output separator, TAB. Without `-S' or `-J', `pr' uses a `space' (same as `-S" "'). If no `STRING' argument is specified, `""' is assumed. `-t' `--omit-header' Do not print the usual header [and footer] on each page, and do not fill out the bottom of pages (with blank lines or a form feed). No page structure is produced, but form feeds set in the input files are retained. The predefined pagination is not changed. `-t' or `-T' may be useful together with other options; e.g.: `-t -e4', expand TAB characters in the input file to 4 spaces but don't make any other changes. Use of `-t' overrides `-h'. `-T' `--omit-pagination' Do not print header [and footer]. In addition eliminate all form feeds set in the input files. `-v' `--show-nonprinting' Print nonprinting characters in octal backslash notation. `-w PAGE_WIDTH' `--width=PAGE_WIDTH' Set page width to PAGE_WIDTH characters for multiple text-column output only (default for PAGE_WIDTH is 72). `-s[CHAR]' turns off the default page width and any line truncation and column alignment. Lines of full length are merged, regardless of the column options set. No PAGE_WIDTH setting is possible with single column output. A POSIX-compliant formulation. `-W PAGE_WIDTH' `--page_width=PAGE_WIDTH' Set the page width to PAGE_WIDTH characters. That's valid with and without a column option. Text lines are truncated, unless `-J' is used. Together with one of the three column options (`-COLUMN', `-a -COLUMN' or `-m') column alignment is always used. The separator options `-S' or `-s' don't affect the `-W' option. Default is 72 characters. Without `-W PAGE_WIDTH' and without any of the column options NO line truncation is used (defined to keep downward compatibility and to meet most frequent tasks). That's equivalent to `-W 72 -J'. The header line is never truncated. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: fold invocation, Prev: pr invocation, Up: Formatting file contents 4.4 `fold': Wrap input lines to fit in specified width ====================================================== `fold' writes each FILE (`-' means standard input), or standard input if none are given, to standard output, breaking long lines. Synopsis: fold [OPTION]... [FILE]... By default, `fold' breaks lines wider than 80 columns. The output is split into as many lines as necessary. `fold' counts screen columns by default; thus, a tab may count more than one column, backspace decreases the column count, and carriage return sets the column to zero. The program accepts the following options. Also see *note Common options::. `-b' `--bytes' Count bytes rather than columns, so that tabs, backspaces, and carriage returns are each counted as taking up one column, just like other characters. `-s' `--spaces' Break at word boundaries: the line is broken after the last blank before the maximum line length. If the line contains no such blanks, the line is broken at the maximum line length as usual. `-w WIDTH' `--width=WIDTH' Use a maximum line length of WIDTH columns instead of 80. For compatibility `fold' supports an obsolete option syntax `-WIDTH'. New scripts should use `-w WIDTH' instead. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Output of parts of files, Next: Summarizing files, Prev: Formatting file contents, Up: Top 5 Output of parts of files ************************** These commands output pieces of the input. * Menu: * head invocation:: Output the first part of files. * tail invocation:: Output the last part of files. * split invocation:: Split a file into pieces. * csplit invocation:: Split a file into context-determined pieces.  File: coreutils.info, Node: head invocation, Next: tail invocation, Up: Output of parts of files 5.1 `head': Output the first part of files ========================================== `head' prints the first part (10 lines by default) of each FILE; it reads from standard input if no files are given or when given a FILE of `-'. Synopsis: head [OPTION]... [FILE]... If more than one FILE is specified, `head' prints a one-line header consisting of: ==> FILE NAME <== before the output for each FILE. The program accepts the following options. Also see *note Common options::. `-c K' `--bytes=K' Print the first K bytes, instead of initial lines. However, if K starts with a `-', print all but the last K bytes of each file. K may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `b' => 512 ("blocks") `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. `-n K' `--lines=K' Output the first K lines. However, if K starts with a `-', print all but the last K lines of each file. Size multiplier suffixes are the same as with the `-c' option. `-q' `--quiet' `--silent' Never print file name headers. `-v' `--verbose' Always print file name headers. For compatibility `head' also supports an obsolete option syntax `-COUNTOPTIONS', which is recognized only if it is specified first. COUNT is a decimal number optionally followed by a size letter (`b', `k', `m') as in `-c', or `l' to mean count by lines, or other option letters (`cqv'). Scripts intended for standard hosts should use `-c COUNT' or `-n COUNT' instead. If your script must also run on hosts that support only the obsolete syntax, it is usually simpler to avoid `head', e.g., by using `sed 5q' instead of `head -5'. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: tail invocation, Next: split invocation, Prev: head invocation, Up: Output of parts of files 5.2 `tail': Output the last part of files ========================================= `tail' prints the last part (10 lines by default) of each FILE; it reads from standard input if no files are given or when given a FILE of `-'. Synopsis: tail [OPTION]... [FILE]... If more than one FILE is specified, `tail' prints a one-line header consisting of: ==> FILE NAME <== before the output for each FILE. GNU `tail' can output any amount of data (some other versions of `tail' cannot). It also has no `-r' option (print in reverse), since reversing a file is really a different job from printing the end of a file; BSD `tail' (which is the one with `-r') can only reverse files that are at most as large as its buffer, which is typically 32 KiB. A more reliable and versatile way to reverse files is the GNU `tac' command. The program accepts the following options. Also see *note Common options::. `-c K' `--bytes=K' Output the last K bytes, instead of final lines. However, if K starts with a `+', start printing with the Kth byte from the start of each file, instead of from the end. K may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `b' => 512 ("blocks") `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. `-f' `--follow[=HOW]' Loop forever trying to read more characters at the end of the file, presumably because the file is growing. If more than one file is given, `tail' prints a header whenever it gets output from a different file, to indicate which file that output is from. There are two ways to specify how you'd like to track files with this option, but that difference is noticeable only when a followed file is removed or renamed. If you'd like to continue to track the end of a growing file even after it has been unlinked, use `--follow=descriptor'. This is the default behavior, but it is not useful if you're tracking a log file that may be rotated (removed or renamed, then reopened). In that case, use `--follow=name' to track the named file, perhaps by reopening it periodically to see if it has been removed and recreated by some other program. Note that the inotify-based implementation handles this case without the need for any periodic reopening. No matter which method you use, if the tracked file is determined to have shrunk, `tail' prints a message saying the file has been truncated and resumes tracking the end of the file from the newly-determined endpoint. When a file is removed, `tail''s behavior depends on whether it is following the name or the descriptor. When following by name, tail can detect that a file has been removed and gives a message to that effect, and if `--retry' has been specified it will continue checking periodically to see if the file reappears. When following a descriptor, tail does not detect that the file has been unlinked or renamed and issues no message; even though the file may no longer be accessible via its original name, it may still be growing. The option values `descriptor' and `name' may be specified only with the long form of the option, not with `-f'. The `-f' option is ignored if no FILE operand is specified and standard input is a FIFO or a pipe. Likewise, the `-f' option has no effect for any operand specified as `-', when standard input is a FIFO or a pipe. With kernel inotify support, output is triggered by file changes and is generally very prompt. Otherwise, `tail' sleeps for one second between checks-- use `--sleep-interval=N' to change that default--which can make the output appear slightly less responsive or bursty. When using tail without inotify support, you can make it more responsive by using a sub-second sleep interval, e.g., via an alias like this: alias tail='tail -s.1' `-F' This option is the same as `--follow=name --retry'. That is, tail will attempt to reopen a file when it is removed. Should this fail, tail will keep trying until it becomes accessible again. `--retry' This option is useful mainly when following by name (i.e., with `--follow=name'). Without this option, when tail encounters a file that doesn't exist or is otherwise inaccessible, it reports that fact and never checks it again. `--sleep-interval=NUMBER' Change the number of seconds to wait between iterations (the default is 1.0). During one iteration, every specified file is checked to see if it has changed size. Historical implementations of `tail' have required that NUMBER be an integer. However, GNU `tail' accepts an arbitrary floating point number. *Note Floating point::. When `tail' uses inotify, this polling-related option is usually ignored. However, if you also specify `--pid=P', `tail' checks whether process P is alive at least every NUMBER seconds. `--pid=PID' When following by name or by descriptor, you may specify the process ID, PID, of the sole writer of all FILE arguments. Then, shortly after that process terminates, tail will also terminate. This will work properly only if the writer and the tailing process are running on the same machine. For example, to save the output of a build in a file and to watch the file grow, if you invoke `make' and `tail' like this then the tail process will stop when your build completes. Without this option, you would have had to kill the `tail -f' process yourself. $ make >& makerr & tail --pid=$! -f makerr If you specify a PID that is not in use or that does not correspond to the process that is writing to the tailed files, then `tail' may terminate long before any FILEs stop growing or it may not terminate until long after the real writer has terminated. Note that `--pid' cannot be supported on some systems; `tail' will print a warning if this is the case. `--max-unchanged-stats=N' When tailing a file by name, if there have been N (default n=5) consecutive iterations for which the file has not changed, then `open'/`fstat' the file to determine if that file name is still associated with the same device/inode-number pair as before. When following a log file that is rotated, this is approximately the number of seconds between when tail prints the last pre-rotation lines and when it prints the lines that have accumulated in the new log file. This option is meaningful only when polling (i.e., without inotify) and when following by name. `-n K' `--lines=K' Output the last K lines. However, if K starts with a `+', start printing with the Kth line from the start of each file, instead of from the end. Size multiplier suffixes are the same as with the `-c' option. `-q' `--quiet' `--silent' Never print file name headers. `-v' `--verbose' Always print file name headers. For compatibility `tail' also supports an obsolete usage `tail -[COUNT][bcl][f] [FILE]', which is recognized only if it does not conflict with the usage described above. This obsolete form uses exactly one option and at most one file. In the option, COUNT is an optional decimal number optionally followed by a size letter (`b', `c', `l') to mean count by 512-byte blocks, bytes, or lines, optionally followed by `f' which has the same meaning as `-f'. On older systems, the leading `-' can be replaced by `+' in the obsolete option syntax with the same meaning as in counts, and obsolete usage overrides normal usage when the two conflict. This obsolete behavior can be enabled or disabled with the `_POSIX2_VERSION' environment variable (*note Standards conformance::). Scripts intended for use on standard hosts should avoid obsolete syntax and should use `-c COUNT[b]', `-n COUNT', and/or `-f' instead. If your script must also run on hosts that support only the obsolete syntax, you can often rewrite it to avoid problematic usages, e.g., by using `sed -n '$p'' rather than `tail -1'. If that's not possible, the script can use a test like `if tail -c +1 /dev/null 2>&1; then ...' to decide which syntax to use. Even if your script assumes the standard behavior, you should still beware usages whose behaviors differ depending on the POSIX version. For example, avoid `tail - main.c', since it might be interpreted as either `tail main.c' or as `tail -- - main.c'; avoid `tail -c 4', since it might mean either `tail -c4' or `tail -c 10 4'; and avoid `tail +4', since it might mean either `tail ./+4' or `tail -n +4'. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: split invocation, Next: csplit invocation, Prev: tail invocation, Up: Output of parts of files 5.3 `split': Split a file into pieces. ====================================== `split' creates output files containing consecutive or interleaved sections of INPUT (standard input if none is given or INPUT is `-'). Synopsis: split [OPTION] [INPUT [PREFIX]] By default, `split' puts 1000 lines of INPUT (or whatever is left over for the last section), into each output file. The output files' names consist of PREFIX (`x' by default) followed by a group of characters (`aa', `ab', ... by default), such that concatenating the output files in traditional sorted order by file name produces the original input file (except `-nr/N'). By default split will initially create files with two generated suffix characters, and will increase this width by two when the next most significant position reaches the last character. (`yz', `zaaa', `zaab', ...). In this way an arbitrary number of output files are supported, which sort as described above, even in the presence of an `--additional-suffix' option. If the `-a' option is specified and the output file names are exhausted, `split' reports an error without deleting the output files that it did create. The program accepts the following options. Also see *note Common options::. `-l LINES' `--lines=LINES' Put LINES lines of INPUT into each output file. For compatibility `split' also supports an obsolete option syntax `-LINES'. New scripts should use `-l LINES' instead. `-b SIZE' `--bytes=SIZE' Put SIZE bytes of INPUT into each output file. SIZE may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `b' => 512 ("blocks") `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. `-C SIZE' `--line-bytes=SIZE' Put into each output file as many complete lines of INPUT as possible without exceeding SIZE bytes. Individual lines longer than SIZE bytes are broken into multiple files. SIZE has the same format as for the `--bytes' option. `--filter=COMMAND' With this option, rather than simply writing to each output file, write through a pipe to the specified shell COMMAND for each output file. COMMAND should use the $FILE environment variable, which is set to a different output file name for each invocation of the command. For example, imagine that you have a 1TiB compressed file that, if uncompressed, would be too large to reside on disk, yet you must split it into individually-compressed pieces of a more manageable size. To do that, you might run this command: xz -dc BIG.xz | split -b200G --filter='xz > $FILE.xz' - big- Assuming a 10:1 compression ratio, that would create about fifty 20GiB files with names `big-aa.xz', `big-ab.xz', `big-ac.xz', etc. `-n CHUNKS' `--number=CHUNKS' Split INPUT to CHUNKS output files where CHUNKS may be: N generate N files based on current size of INPUT K/N only output Kth of N to stdout l/N generate N files without splitting lines l/K/N likewise but only output Kth of N to stdout r/N like `l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout Any excess bytes remaining after dividing the INPUT into N chunks, are assigned to the last chunk. Any excess bytes appearing after the initial calculation are discarded (except when using `r' mode). All N files are created even if there are fewer than N lines, or the INPUT is truncated. For `l' mode, chunks are approximately INPUT size / N. The INPUT is partitioned into N equal sized portions, with the last assigned any excess. If a line _starts_ within a partition it is written completely to the corresponding file. Since lines are not split even if they overlap a partition, the files written can be larger or smaller than the partition size, and even empty if a line is so long as to completely overlap the partition. For `r' mode, the size of INPUT is irrelevant, and so can be a pipe for example. `-a LENGTH' `--suffix-length=LENGTH' Use suffixes of length LENGTH. If a LENGTH of 0 is specified, this is the same as if (any previous) `-a' was not specified, and thus enables the default behavior, which starts the suffix length at 2, and unless `-n' or `--numeric-suffixes=FROM' is specified, will auto increase the length by 2 as required. `-d' `--numeric-suffixes[=FROM]' Use digits in suffixes rather than lower-case letters. The numerical suffix counts from FROM if specified, 0 otherwise. Note specifying a FROM value also disables the default auto suffix length expansion described above, and so you may also want to specify `-a' to allow suffixes beyond `99'. `--additional-suffix=SUFFIX' Append an additional SUFFIX to output file names. SUFFIX must not contain slash. `-e' `--elide-empty-files' Suppress the generation of zero-length output files. This can happen with the `--number' option if a file is (truncated to be) shorter than the number requested, or if a line is so long as to completely span a chunk. The output file sequence numbers, always run consecutively even when this option is specified. `-u' `--unbuffered' Immediately copy input to output in `--number r/...' mode, which is a much slower mode of operation. `--verbose' Write a diagnostic just before each output file is opened. An exit status of zero indicates success, and a nonzero value indicates failure. Here are a few examples to illustrate how the `--number' (`-n') option works: Notice how, by default, one line may be split onto two or more: $ seq -w 6 10 > k; split -n3 k; head xa? ==> xaa <== 06 07 ==> xab <== 08 0 ==> xac <== 9 10 Use the "l/" modifier to suppress that: $ seq -w 6 10 > k; split -nl/3 k; head xa? ==> xaa <== 06 07 ==> xab <== 08 09 ==> xac <== 10 Use the "r/" modifier to distribute lines in a round-robin fashion: $ seq -w 6 10 > k; split -nr/3 k; head xa? ==> xaa <== 06 09 ==> xab <== 07 10 ==> xac <== 08 You can also extract just the Kth chunk. This extracts and prints just the 7th "chunk" of 33: $ seq 100 > k; split -nl/7/33 k 20 21 22  File: coreutils.info, Node: csplit invocation, Prev: split invocation, Up: Output of parts of files 5.4 `csplit': Split a file into context-determined pieces ========================================================= `csplit' creates zero or more output files containing sections of INPUT (standard input if INPUT is `-'). Synopsis: csplit [OPTION]... INPUT PATTERN... The contents of the output files are determined by the PATTERN arguments, as detailed below. An error occurs if a PATTERN argument refers to a nonexistent line of the input file (e.g., if no remaining line matches a given regular expression). After every PATTERN has been matched, any remaining input is copied into one last output file. By default, `csplit' prints the number of bytes written to each output file after it has been created. The types of pattern arguments are: `N' Create an output file containing the input up to but not including line N (a positive integer). If followed by a repeat count, also create an output file containing the next N lines of the input file once for each repeat. `/REGEXP/[OFFSET]' Create an output file containing the current line up to (but not including) the next line of the input file that contains a match for REGEXP. The optional OFFSET is an integer. If it is given, the input up to (but not including) the matching line plus or minus OFFSET is put into the output file, and the line after that begins the next section of input. `%REGEXP%[OFFSET]' Like the previous type, except that it does not create an output file, so that section of the input file is effectively ignored. `{REPEAT-COUNT}' Repeat the previous pattern REPEAT-COUNT additional times. The REPEAT-COUNT can either be a positive integer or an asterisk, meaning repeat as many times as necessary until the input is exhausted. The output files' names consist of a prefix (`xx' by default) followed by a suffix. By default, the suffix is an ascending sequence of two-digit decimal numbers from `00' to `99'. In any case, concatenating the output files in sorted order by file name produces the original input file. By default, if `csplit' encounters an error or receives a hangup, interrupt, quit, or terminate signal, it removes any output files that it has created so far before it exits. The program accepts the following options. Also see *note Common options::. `-f PREFIX' `--prefix=PREFIX' Use PREFIX as the output file name prefix. `-b SUFFIX' `--suffix=SUFFIX' Use SUFFIX as the output file name suffix. When this option is specified, the suffix string must include exactly one `printf(3)'-style conversion specification, possibly including format specification flags, a field width, a precision specifications, or all of these kinds of modifiers. The format letter must convert a binary unsigned integer argument to readable form. The format letters `d' and `i' are aliases for `u', and the `u', `o', `x', and `X' conversions are allowed. The entire SUFFIX is given (with the current output file number) to `sprintf(3)' to form the file name suffixes for each of the individual output files in turn. If this option is used, the `--digits' option is ignored. `-n DIGITS' `--digits=DIGITS' Use output file names containing numbers that are DIGITS digits long instead of the default 2. `-k' `--keep-files' Do not remove output files when errors are encountered. `-z' `--elide-empty-files' Suppress the generation of zero-length output files. (In cases where the section delimiters of the input file are supposed to mark the first lines of each of the sections, the first output file will generally be a zero-length file unless you use this option.) The output file sequence numbers always run consecutively starting from 0, even when this option is specified. `-s' `-q' `--silent' `--quiet' Do not print counts of output file sizes. An exit status of zero indicates success, and a nonzero value indicates failure. Here is an example of its usage. First, create an empty directory for the exercise, and cd into it: $ mkdir d && cd d Now, split the sequence of 1..14 on lines that end with 0 or 5: $ seq 14 | csplit - '/[05]$/' '{*}' 8 10 15 Each number printed above is the size of an output file that csplit has just created. List the names of those output files: $ ls xx00 xx01 xx02 Use `head' to show their contents: $ head xx* ==> xx00 <== 1 2 3 4 ==> xx01 <== 5 6 7 8 9 ==> xx02 <== 10 11 12 13 14  File: coreutils.info, Node: Summarizing files, Next: Operating on sorted files, Prev: Output of parts of files, Up: Top 6 Summarizing files ******************* These commands generate just a few numbers representing entire contents of files. * Menu: * wc invocation:: Print newline, word, and byte counts. * sum invocation:: Print checksum and block counts. * cksum invocation:: Print CRC checksum and byte counts. * md5sum invocation:: Print or check MD5 digests. * sha1sum invocation:: Print or check SHA-1 digests. * sha2 utilities:: Print or check SHA-2 digests.  File: coreutils.info, Node: wc invocation, Next: sum invocation, Up: Summarizing files 6.1 `wc': Print newline, word, and byte counts ============================================== `wc' counts the number of bytes, characters, whitespace-separated words, and newlines in each given FILE, or standard input if none are given or for a FILE of `-'. Synopsis: wc [OPTION]... [FILE]... `wc' prints one line of counts for each file, and if the file was given as an argument, it prints the file name following the counts. If more than one FILE is given, `wc' prints a final line containing the cumulative counts, with the file name `total'. The counts are printed in this order: newlines, words, characters, bytes, maximum line length. Each count is printed right-justified in a field with at least one space between fields so that the numbers and file names normally line up nicely in columns. The width of the count fields varies depending on the inputs, so you should not depend on a particular field width. However, as a GNU extension, if only one count is printed, it is guaranteed to be printed without leading spaces. By default, `wc' prints three counts: the newline, words, and byte counts. Options can specify that only certain counts be printed. Options do not undo others previously given, so wc --bytes --words prints both the byte counts and the word counts. With the `--max-line-length' option, `wc' prints the length of the longest line per file, and if there is more than one file it prints the maximum (not the sum) of those lengths. The line lengths here are measured in screen columns, according to the current locale and assuming tab positions in every 8th column. The program accepts the following options. Also see *note Common options::. `-c' `--bytes' Print only the byte counts. `-m' `--chars' Print only the character counts. `-w' `--words' Print only the word counts. `-l' `--lines' Print only the newline counts. `-L' `--max-line-length' Print only the maximum line lengths. `--files0-from=FILE' Disallow processing files named on the command line, and instead process those named in file FILE; each name being terminated by a zero byte (ASCII NUL). This is useful when the list of file names is so long that it may exceed a command line length limitation. In such cases, running `wc' via `xargs' is undesirable because it splits the list into pieces and makes `wc' print a total for each sublist rather than for the entire list. One way to produce a list of ASCII NUL terminated file names is with GNU `find', using its `-print0' predicate. If FILE is `-' then the ASCII NUL terminated file names are read from standard input. For example, to find the length of the longest line in any `.c' or `.h' file in the current hierarchy, do this: find . -name '*.[ch]' -print0 | wc -L --files0-from=- | tail -n1 An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: sum invocation, Next: cksum invocation, Prev: wc invocation, Up: Summarizing files 6.2 `sum': Print checksum and block counts ========================================== `sum' computes a 16-bit checksum for each given FILE, or standard input if none are given or for a FILE of `-'. Synopsis: sum [OPTION]... [FILE]... `sum' prints the checksum for each FILE followed by the number of blocks in the file (rounded up). If more than one FILE is given, file names are also printed (by default). (With the `--sysv' option, corresponding file names are printed when there is at least one file argument.) By default, GNU `sum' computes checksums using an algorithm compatible with BSD `sum' and prints file sizes in units of 1024-byte blocks. The program accepts the following options. Also see *note Common options::. `-r' Use the default (BSD compatible) algorithm. This option is included for compatibility with the System V `sum'. Unless `-s' was also given, it has no effect. `-s' `--sysv' Compute checksums using an algorithm compatible with System V `sum''s default, and print file sizes in units of 512-byte blocks. `sum' is provided for compatibility; the `cksum' program (see next section) is preferable in new applications. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: cksum invocation, Next: md5sum invocation, Prev: sum invocation, Up: Summarizing files 6.3 `cksum': Print CRC checksum and byte counts =============================================== `cksum' computes a cyclic redundancy check (CRC) checksum for each given FILE, or standard input if none are given or for a FILE of `-'. Synopsis: cksum [OPTION]... [FILE]... `cksum' prints the CRC checksum for each file along with the number of bytes in the file, and the file name unless no arguments were given. `cksum' is typically used to ensure that files transferred by unreliable means (e.g., netnews) have not been corrupted, by comparing the `cksum' output for the received files with the `cksum' output for the original files (typically given in the distribution). The CRC algorithm is specified by the POSIX standard. It is not compatible with the BSD or System V `sum' algorithms (see the previous section); it is more robust. The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: md5sum invocation, Next: sha1sum invocation, Prev: cksum invocation, Up: Summarizing files 6.4 `md5sum': Print or check MD5 digests ======================================== `md5sum' computes a 128-bit checksum (or "fingerprint" or "message-digest") for each specified FILE. Note: The MD5 digest is more reliable than a simple CRC (provided by the `cksum' command) for detecting accidental file corruption, as the chances of accidentally having two files with identical MD5 are vanishingly small. However, it should not be considered secure against malicious tampering: although finding a file with a given MD5 fingerprint is considered infeasible at the moment, it is known how to modify certain files, including digital certificates, so that they appear valid when signed with an MD5 digest. For more secure hashes, consider using SHA-2. *Note sha2 utilities::. If a FILE is specified as `-' or if no files are given `md5sum' computes the checksum for the standard input. `md5sum' can also determine whether a file and checksum are consistent. Synopsis: md5sum [OPTION]... [FILE]... For each FILE, `md5sum' outputs the MD5 checksum, a flag indicating binary or text input mode, and the file name. If FILE contains a backslash or newline, the line is started with a backslash, and each problematic character in the file name is escaped with a backslash, making the output unambiguous even in the presence of arbitrary file names. If FILE is omitted or specified as `-', standard input is read. The program accepts the following options. Also see *note Common options::. `-b' `--binary' Treat each input file as binary, by reading it in binary mode and outputting a `*' flag. This is the inverse of `--text'. On systems like GNU that do not distinguish between binary and text files, this option merely flags each input mode as binary: the MD5 checksum is unaffected. This option is the default on systems like MS-DOS that distinguish between binary and text files, except for reading standard input when standard input is a terminal. `-c' `--check' Read file names and checksum information (not data) from each FILE (or from stdin if no FILE was specified) and report whether the checksums match the contents of the named files. The input to this mode of `md5sum' is usually the output of a prior, checksum-generating run of `md5sum'. Each valid line of input consists of an MD5 checksum, a binary/text flag, and then a file name. Binary mode is indicated with `*', text with ` ' (space). For each such line, `md5sum' reads the named file and computes its MD5 checksum. Then, if the computed message digest does not match the one on the line with the file name, the file is noted as having failed the test. Otherwise, the file passes the test. By default, for each valid line, one line is written to standard output indicating whether the named file passed the test. After all checks have been performed, if there were any failures, a warning is issued to standard error. Use the `--status' option to inhibit that output. If any listed file cannot be opened or read, if any valid line has an MD5 checksum inconsistent with the associated file, or if no valid line is found, `md5sum' exits with nonzero status. Otherwise, it exits successfully. `--quiet' This option is useful only when verifying checksums. When verifying checksums, don't generate an 'OK' message per successfully checked file. Files that fail the verification are reported in the default one-line-per-file format. If there is any checksum mismatch, print a warning summarizing the failures to standard error. `--status' This option is useful only when verifying checksums. When verifying checksums, don't generate the default one-line-per-file diagnostic and don't output the warning summarizing any failures. Failures to open or read a file still evoke individual diagnostics to standard error. If all listed files are readable and are consistent with the associated MD5 checksums, exit successfully. Otherwise exit with a status code indicating there was a failure. `--tag' Output BSD style checksums, which indicate the checksum algorithm used. As a GNU extension, file names with problematic characters are escaped as described above, with the same escaping indicator of `\' at the start of the line, being used. The `--tag' option implies binary mode, and is disallowed with `--text' mode as supporting that would unnecessarily complicate the output format, while providing little benefit. `-t' `--text' Treat each input file as text, by reading it in text mode and outputting a ` ' flag. This is the inverse of `--binary'. This option is the default on systems like GNU that do not distinguish between binary and text files. On other systems, it is the default for reading standard input when standard input is a terminal. This mode is never defaulted to if `--tag' is used. `-w' `--warn' When verifying checksums, warn about improperly formatted MD5 checksum lines. This option is useful only if all but a few lines in the checked input are valid. `--strict' When verifying checksums, if one or more input line is invalid, exit nonzero after all warnings have been issued. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: sha1sum invocation, Next: sha2 utilities, Prev: md5sum invocation, Up: Summarizing files 6.5 `sha1sum': Print or check SHA-1 digests =========================================== `sha1sum' computes a 160-bit checksum for each specified FILE. The usage and options of this command are precisely the same as for `md5sum'. *Note md5sum invocation::. Note: The SHA-1 digest is more secure than MD5, and no collisions of it are known (different files having the same fingerprint). However, it is known that they can be produced with considerable, but not unreasonable, resources. For this reason, it is generally considered that SHA-1 should be gradually phased out in favor of the more secure SHA-2 hash algorithms. *Note sha2 utilities::.  File: coreutils.info, Node: sha2 utilities, Prev: sha1sum invocation, Up: Summarizing files 6.6 sha2 utilities: Print or check SHA-2 digests ================================================ The commands `sha224sum', `sha256sum', `sha384sum' and `sha512sum' compute checksums of various lengths (respectively 224, 256, 384 and 512 bits), collectively known as the SHA-2 hashes. The usage and options of these commands are precisely the same as for `md5sum'. *Note md5sum invocation::. Note: The SHA384 and SHA512 digests are considerably slower to compute, especially on 32-bit computers, than SHA224 or SHA256.  File: coreutils.info, Node: Operating on sorted files, Next: Operating on fields, Prev: Summarizing files, Up: Top 7 Operating on sorted files *************************** These commands work with (or produce) sorted files. * Menu: * sort invocation:: Sort text files. * shuf invocation:: Shuffle text files. * uniq invocation:: Uniquify files. * comm invocation:: Compare two sorted files line by line. * ptx invocation:: Produce a permuted index of file contents. * tsort invocation:: Topological sort.  File: coreutils.info, Node: sort invocation, Next: shuf invocation, Up: Operating on sorted files 7.1 `sort': Sort text files =========================== `sort' sorts, merges, or compares all the lines from the given files, or standard input if none are given or for a FILE of `-'. By default, `sort' writes the results to standard output. Synopsis: sort [OPTION]... [FILE]... `sort' has three modes of operation: sort (the default), merge, and check for sortedness. The following options change the operation mode: `-c' `--check' `--check=diagnose-first' Check whether the given file is already sorted: if it is not all sorted, print a diagnostic containing the first out-of-order line and exit with a status of 1. Otherwise, exit successfully. At most one input file can be given. `-C' `--check=quiet' `--check=silent' Exit successfully if the given file is already sorted, and exit with status 1 otherwise. At most one input file can be given. This is like `-c', except it does not print a diagnostic. `-m' `--merge' Merge the given files by sorting them as a group. Each input file must always be individually sorted. It always works to sort instead of merge; merging is provided because it is faster, in the case where it works. A pair of lines is compared as follows: `sort' compares each pair of fields, in the order specified on the command line, according to the associated ordering options, until a difference is found or no fields are left. If no key fields are specified, `sort' uses a default key of the entire line. Finally, as a last resort when all keys compare equal, `sort' compares entire lines as if no ordering options other than `--reverse' (`-r') were specified. The `--stable' (`-s') option disables this "last-resort comparison" so that lines in which all fields compare equal are left in their original relative order. The `--unique' (`-u') option also disables the last-resort comparison. Unless otherwise specified, all comparisons use the character collating sequence specified by the `LC_COLLATE' locale.(1) GNU `sort' (as specified for all GNU utilities) has no limit on input line length or restrictions on bytes allowed within lines. In addition, if the final byte of an input file is not a newline, GNU `sort' silently supplies one. A line's trailing newline is not part of the line for comparison purposes. Exit status: 0 if no error occurred 1 if invoked with `-c' or `-C' and the input is not sorted 2 if an error occurred If the environment variable `TMPDIR' is set, `sort' uses its value as the directory for temporary files instead of `/tmp'. The `--temporary-directory' (`-T') option in turn overrides the environment variable. The following options affect the ordering of output lines. They may be specified globally or as part of a specific key field. If no key fields are specified, global options apply to comparison of entire lines; otherwise the global options are inherited by key fields that do not specify any special options of their own. In pre-POSIX versions of `sort', global options affect only later key fields, so portable shell scripts should specify global options first. `-b' `--ignore-leading-blanks' Ignore leading blanks when finding sort keys in each line. By default a blank is a space or a tab, but the `LC_CTYPE' locale can change this. Note blanks may be ignored by your locale's collating rules, but without this option they will be significant for character positions specified in keys with the `-k' option. `-d' `--dictionary-order' Sort in "phone directory" order: ignore all characters except letters, digits and blanks when sorting. By default letters and digits are those of ASCII and a blank is a space or a tab, but the `LC_CTYPE' locale can change this. `-f' `--ignore-case' Fold lowercase characters into the equivalent uppercase characters when comparing so that, for example, `b' and `B' sort as equal. The `LC_CTYPE' locale determines character types. When used with `--unique' those lower case equivalent lines are thrown away. (There is currently no way to throw away the upper case equivalent instead. (Any `--reverse' given would only affect the final result, after the throwing away.)) `-g' `--general-numeric-sort' `--sort=general-numeric' Sort numerically, converting a prefix of each line to a long double-precision floating point number. *Note Floating point::. Do not report overflow, underflow, or conversion errors. Use the following collating sequence: * Lines that do not start with numbers (all considered to be equal). * NaNs ("Not a Number" values, in IEEE floating point arithmetic) in a consistent but machine-dependent order. * Minus infinity. * Finite numbers in ascending numeric order (with -0 and +0 equal). * Plus infinity. Use this option only if there is no alternative; it is much slower than `--numeric-sort' (`-n') and it can lose information when converting to floating point. `-h' `--human-numeric-sort' `--sort=human-numeric' Sort numerically, first by numeric sign (negative, zero, or positive); then by SI suffix (either empty, or `k' or `K', or one of `MGTPEZY', in that order; *note Block size::); and finally by numeric value. For example, `1023M' sorts before `1G' because `M' (mega) precedes `G' (giga) as an SI suffix. This option sorts values that are consistently scaled to the nearest suffix, regardless of whether suffixes denote powers of 1000 or 1024, and it therefore sorts the output of any single invocation of the `df', `du', or `ls' commands that are invoked with their `--human-readable' or `--si' options. The syntax for numbers is the same as for the `--numeric-sort' option; the SI suffix must immediately follow the number. `-i' `--ignore-nonprinting' Ignore nonprinting characters. The `LC_CTYPE' locale determines character types. This option has no effect if the stronger `--dictionary-order' (`-d') option is also given. `-M' `--month-sort' `--sort=month' An initial string, consisting of any amount of blanks, followed by a month name abbreviation, is folded to UPPER case and compared in the order `JAN' < `FEB' < ... < `DEC'. Invalid names compare low to valid names. The `LC_TIME' locale category determines the month spellings. By default a blank is a space or a tab, but the `LC_CTYPE' locale can change this. `-n' `--numeric-sort' `--sort=numeric' Sort numerically. The number begins each line and consists of optional blanks, an optional `-' sign, and zero or more digits possibly separated by thousands separators, optionally followed by a decimal-point character and zero or more digits. An empty number is treated as `0'. The `LC_NUMERIC' locale specifies the decimal-point character and thousands separator. By default a blank is a space or a tab, but the `LC_CTYPE' locale can change this. Comparison is exact; there is no rounding error. Neither a leading `+' nor exponential notation is recognized. To compare such strings numerically, use the `--general-numeric-sort' (`-g') option. `-V' `--version-sort' Sort by version name and number. It behaves like a standard sort, except that each sequence of decimal digits is treated numerically as an index/version number. (*Note Details about version sort::.) `-r' `--reverse' Reverse the result of comparison, so that lines with greater key values appear earlier in the output instead of later. `-R' `--random-sort' `--sort=random' Sort by hashing the input keys and then sorting the hash values. Choose the hash function at random, ensuring that it is free of collisions so that differing keys have differing hash values. This is like a random permutation of the inputs (*note shuf invocation::), except that keys with the same value sort together. If multiple random sort fields are specified, the same random hash function is used for all fields. To use different random hash functions for different fields, you can invoke `sort' more than once. The choice of hash function is affected by the `--random-source' option. Other options are: `--compress-program=PROG' Compress any temporary files with the program PROG. With no arguments, PROG must compress standard input to standard output, and when given the `-d' option it must decompress standard input to standard output. Terminate with an error if PROG exits with nonzero status. White space and the backslash character should not appear in PROG; they are reserved for future use. `--files0-from=FILE' Disallow processing files named on the command line, and instead process those named in file FILE; each name being terminated by a zero byte (ASCII NUL). This is useful when the list of file names is so long that it may exceed a command line length limitation. In such cases, running `sort' via `xargs' is undesirable because it splits the list into pieces and makes `sort' print sorted output for each sublist rather than for the entire list. One way to produce a list of ASCII NUL terminated file names is with GNU `find', using its `-print0' predicate. If FILE is `-' then the ASCII NUL terminated file names are read from standard input. `-k POS1[,POS2]' `--key=POS1[,POS2]' Specify a sort field that consists of the part of the line between POS1 and POS2 (or the end of the line, if POS2 is omitted), _inclusive_. Each POS has the form `F[.C][OPTS]', where F is the number of the field to use, and C is the number of the first character from the beginning of the field. Fields and character positions are numbered starting with 1; a character position of zero in POS2 indicates the field's last character. If `.C' is omitted from POS1, it defaults to 1 (the beginning of the field); if omitted from POS2, it defaults to 0 (the end of the field). OPTS are ordering options, allowing individual keys to be sorted according to different rules; see below for details. Keys can span multiple fields. Example: To sort on the second field, use `--key=2,2' (`-k 2,2'). See below for more notes on keys and more examples. See also the `--debug' option to help determine the part of the line being used in the sort. `--debug' Highlight the portion of each line used for sorting. Also issue warnings about questionable usage to stderr. `--batch-size=NMERGE' Merge at most NMERGE inputs at once. When `sort' has to merge more than NMERGE inputs, it merges them in groups of NMERGE, saving the result in a temporary file, which is then used as an input in a subsequent merge. A large value of NMERGE may improve merge performance and decrease temporary storage utilization at the expense of increased memory usage and I/O. Conversely a small value of NMERGE may reduce memory requirements and I/O at the expense of temporary storage consumption and merge performance. The value of NMERGE must be at least 2. The default value is currently 16, but this is implementation-dependent and may change in the future. The value of NMERGE may be bounded by a resource limit for open file descriptors. The commands `ulimit -n' or `getconf OPEN_MAX' may display limits for your systems; these limits may be modified further if your program already has some files open, or if the operating system has other limits on the number of open files. If the value of NMERGE exceeds the resource limit, `sort' silently uses a smaller value. `-o OUTPUT-FILE' `--output=OUTPUT-FILE' Write output to OUTPUT-FILE instead of standard output. Normally, `sort' reads all input before opening OUTPUT-FILE, so you can safely sort a file in place by using commands like `sort -o F F' and `cat F | sort -o F'. However, `sort' with `--merge' (`-m') can open the output file before reading all input, so a command like `cat F | sort -m -o F - G' is not safe as `sort' might start writing `F' before `cat' is done reading it. On newer systems, `-o' cannot appear after an input file if `POSIXLY_CORRECT' is set, e.g., `sort F -o F'. Portable scripts should specify `-o OUTPUT-FILE' before any input files. `--random-source=FILE' Use FILE as a source of random data used to determine which random hash function to use with the `-R' option. *Note Random sources::. `-s' `--stable' Make `sort' stable by disabling its last-resort comparison. This option has no effect if no fields or global ordering options other than `--reverse' (`-r') are specified. `-S SIZE' `--buffer-size=SIZE' Use a main-memory sort buffer of the given SIZE. By default, SIZE is in units of 1024 bytes. Appending `%' causes SIZE to be interpreted as a percentage of physical memory. Appending `K' multiplies SIZE by 1024 (the default), `M' by 1,048,576, `G' by 1,073,741,824, and so on for `T', `P', `E', `Z', and `Y'. Appending `b' causes SIZE to be interpreted as a byte count, with no multiplication. This option can improve the performance of `sort' by causing it to start with a larger or smaller sort buffer than the default. However, this option affects only the initial buffer size. The buffer grows beyond SIZE if `sort' encounters input lines larger than SIZE. `-t SEPARATOR' `--field-separator=SEPARATOR' Use character SEPARATOR as the field separator when finding the sort keys in each line. By default, fields are separated by the empty string between a non-blank character and a blank character. By default a blank is a space or a tab, but the `LC_CTYPE' locale can change this. That is, given the input line ` foo bar', `sort' breaks it into fields ` foo' and ` bar'. The field separator is not considered to be part of either the field preceding or the field following, so with `sort -t " "' the same input line has three fields: an empty field, `foo', and `bar'. However, fields that extend to the end of the line, as `-k 2', or fields consisting of a range, as `-k 2,3', retain the field separators present between the endpoints of the range. To specify ASCII NUL as the field separator, use the two-character string `\0', e.g., `sort -t '\0''. `-T TEMPDIR' `--temporary-directory=TEMPDIR' Use directory TEMPDIR to store temporary files, overriding the `TMPDIR' environment variable. If this option is given more than once, temporary files are stored in all the directories given. If you have a large sort or merge that is I/O-bound, you can often improve performance by using this option to specify directories on different disks and controllers. `--parallel=N' Set the number of sorts run in parallel to N. By default, N is set to the number of available processors, but limited to 8, as there are diminishing performance gains after that. Note also that using N threads increases the memory usage by a factor of log N. Also see *note nproc invocation::. `-u' `--unique' Normally, output only the first of a sequence of lines that compare equal. For the `--check' (`-c' or `-C') option, check that no pair of consecutive lines compares equal. This option also disables the default last-resort comparison. The commands `sort -u' and `sort | uniq' are equivalent, but this equivalence does not extend to arbitrary `sort' options. For example, `sort -n -u' inspects only the value of the initial numeric string when checking for uniqueness, whereas `sort -n | uniq' inspects the entire line. *Note uniq invocation::. `-z' `--zero-terminated' Delimit items with a zero byte rather than a newline (ASCII LF). I.e., treat input as items separated by ASCII NUL and terminate output items with ASCII NUL. This option can be useful in conjunction with `perl -0' or `find -print0' and `xargs -0' which do the same in order to reliably handle arbitrary file names (even those containing blanks or other special characters). Historical (BSD and System V) implementations of `sort' have differed in their interpretation of some options, particularly `-b', `-f', and `-n'. GNU sort follows the POSIX behavior, which is usually (but not always!) like the System V behavior. According to POSIX, `-n' no longer implies `-b'. For consistency, `-M' has been changed in the same way. This may affect the meaning of character positions in field specifications in obscure cases. The only fix is to add an explicit `-b'. A position in a sort field specified with `-k' may have any of the option letters `MbdfghinRrV' appended to it, in which case no global ordering options are inherited by that particular field. The `-b' option may be independently attached to either or both of the start and end positions of a field specification, and if it is inherited from the global options it will be attached to both. If input lines can contain leading or adjacent blanks and `-t' is not used, then `-k' is typically combined with `-b' or an option that implicitly ignores leading blanks (`Mghn') as otherwise the varying numbers of leading blanks in fields can cause confusing results. If the start position in a sort field specifier falls after the end of the line or after the end field, the field is empty. If the `-b' option was specified, the `.C' part of a field specification is counted from the first nonblank character of the field. On older systems, `sort' supports an obsolete origin-zero syntax `+POS1 [-POS2]' for specifying sort keys. The obsolete sequence `sort +A.X -B.Y' is equivalent to `sort -k A+1.X+1,B' if Y is `0' or absent, otherwise it is equivalent to `sort -k A+1.X+1,B+1.Y'. This obsolete behavior can be enabled or disabled with the `_POSIX2_VERSION' environment variable (*note Standards conformance::); it can also be enabled when `POSIXLY_CORRECT' is not set by using the obsolete syntax with `-POS2' present. Scripts intended for use on standard hosts should avoid obsolete syntax and should use `-k' instead. For example, avoid `sort +2', since it might be interpreted as either `sort ./+2' or `sort -k 3'. If your script must also run on hosts that support only the obsolete syntax, it can use a test like `if sort -k 1 /dev/null 2>&1; then ...' to decide which syntax to use. Here are some examples to illustrate various combinations of options. * Sort in descending (reverse) numeric order. sort -n -r * Run no more than 4 sorts concurrently, using a buffer size of 10M. sort --parallel=4 -S 10M * Sort alphabetically, omitting the first and second fields and the blanks at the start of the third field. This uses a single key composed of the characters beginning at the start of the first nonblank character in field three and extending to the end of each line. sort -k 3b * Sort numerically on the second field and resolve ties by sorting alphabetically on the third and fourth characters of field five. Use `:' as the field delimiter. sort -t : -k 2,2n -k 5.3,5.4 Note that if you had written `-k 2n' instead of `-k 2,2n' `sort' would have used all characters beginning in the second field and extending to the end of the line as the primary _numeric_ key. For the large majority of applications, treating keys spanning more than one field as numeric will not do what you expect. Also note that the `n' modifier was applied to the field-end specifier for the first key. It would have been equivalent to specify `-k 2n,2' or `-k 2n,2n'. All modifiers except `b' apply to the associated _field_, regardless of whether the modifier character is attached to the field-start and/or the field-end part of the key specifier. * Sort the password file on the fifth field and ignore any leading blanks. Sort lines with equal values in field five on the numeric user ID in field three. Fields are separated by `:'. sort -t : -k 5b,5 -k 3,3n /etc/passwd sort -t : -n -k 5b,5 -k 3,3 /etc/passwd sort -t : -b -k 5,5 -k 3,3n /etc/passwd These three commands have equivalent effect. The first specifies that the first key's start position ignores leading blanks and the second key is sorted numerically. The other two commands rely on global options being inherited by sort keys that lack modifiers. The inheritance works in this case because `-k 5b,5b' and `-k 5b,5' are equivalent, as the location of a field-end lacking a `.C' character position is not affected by whether initial blanks are skipped. * Sort a set of log files, primarily by IPv4 address and secondarily by time stamp. If two lines' primary and secondary keys are identical, output the lines in the same order that they were input. The log files contain lines that look like this: 4.150.156.3 - - [01/Apr/2004:06:31:51 +0000] message 1 211.24.3.231 - - [24/Apr/2004:20:17:39 +0000] message 2 Fields are separated by exactly one space. Sort IPv4 addresses lexicographically, e.g., 212.61.52.2 sorts before 212.129.233.201 because 61 is less than 129. sort -s -t ' ' -k 4.9n -k 4.5M -k 4.2n -k 4.14,4.21 file*.log | sort -s -t '.' -k 1,1n -k 2,2n -k 3,3n -k 4,4n This example cannot be done with a single `sort' invocation, since IPv4 address components are separated by `.' while dates come just after a space. So it is broken down into two invocations of `sort': the first sorts by time stamp and the second by IPv4 address. The time stamp is sorted by year, then month, then day, and finally by hour-minute-second field, using `-k' to isolate each field. Except for hour-minute-second there's no need to specify the end of each key field, since the `n' and `M' modifiers sort based on leading prefixes that cannot cross field boundaries. The IPv4 addresses are sorted lexicographically. The second sort uses `-s' so that ties in the primary key are broken by the secondary key; the first sort uses `-s' so that the combination of the two sorts is stable. * Generate a tags file in case-insensitive sorted order. find src -type f -print0 | sort -z -f | xargs -0 etags --append The use of `-print0', `-z', and `-0' in this case means that file names that contain blanks or other special characters are not broken up by the sort operation. * Use the common DSU, Decorate Sort Undecorate idiom to sort lines according to their length. awk '{print length, $0}' /etc/passwd | sort -n | cut -f2- -d' ' In general this technique can be used to sort data that the `sort' command does not support, or is inefficient at, sorting directly. * Shuffle a list of directories, but preserve the order of files within each directory. For instance, one could use this to generate a music playlist in which albums are shuffled but the songs of each album are played in order. ls */* | sort -t / -k 1,1R -k 2,2 ---------- Footnotes ---------- (1) If you use a non-POSIX locale (e.g., by setting `LC_ALL' to `en_US'), then `sort' may produce output that is sorted differently than you're accustomed to. In that case, set the `LC_ALL' environment variable to `C'. Note that setting only `LC_COLLATE' has two problems. First, it is ineffective if `LC_ALL' is also set. Second, it has undefined behavior if `LC_CTYPE' (or `LANG', if `LC_CTYPE' is unset) is set to an incompatible value. For example, you get undefined behavior if `LC_CTYPE' is `ja_JP.PCK' but `LC_COLLATE' is `en_US.UTF-8'.  File: coreutils.info, Node: shuf invocation, Next: uniq invocation, Prev: sort invocation, Up: Operating on sorted files 7.2 `shuf': Shuffling text ========================== `shuf' shuffles its input by outputting a random permutation of its input lines. Each output permutation is equally likely. Synopses: shuf [OPTION]... [FILE] shuf -e [OPTION]... [ARG]... shuf -i LO-HI [OPTION]... `shuf' has three modes of operation that affect where it obtains its input lines. By default, it reads lines from standard input. The following options change the operation mode: `-e' `--echo' Treat each command-line operand as an input line. `-i LO-HI' `--input-range=LO-HI' Act as if input came from a file containing the range of unsigned decimal integers LO...HI, one per line. `shuf''s other options can affect its behavior in all operation modes: `-n LINES' `--head-count=COUNT' Output at most COUNT lines. By default, all input lines are output. `-o OUTPUT-FILE' `--output=OUTPUT-FILE' Write output to OUTPUT-FILE instead of standard output. `shuf' reads all input before opening OUTPUT-FILE, so you can safely shuffle a file in place by using commands like `shuf -o F out $ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo deeper Note that although the listing above includes a trailing slash for the `deeper' entry, the offsets select the name without the trailing slash. However, if you invoke `ls' with `--dired' along with an option like `--escape' (aka `-b') and operate on a file whose name contains special characters, notice that the backslash _is_ included: $ touch 'a b' $ ls -blog --dired 'a b' -rw-r--r-- 1 0 Jun 10 12:28 a\ b //DIRED// 30 34 //DIRED-OPTIONS// --quoting-style=escape If you use a quoting style that adds quote marks (e.g., `--quoting-style=c'), then the offsets include the quote marks. So beware that the user may select the quoting style via the environment variable `QUOTING_STYLE'. Hence, applications using `--dired' should either specify an explicit `--quoting-style=literal' option (aka `-N' or `--literal') on the command line, or else be prepared to parse the escaped names. `--full-time' Produce long format directory listings, and list times in full. It is equivalent to using `--format=long' with `--time-style=full-iso' (*note Formatting file timestamps::). `-g' Produce long format directory listings, but don't display owner information. `-G' `--no-group' Inhibit display of group information in a long format directory listing. (This is the default in some non-GNU versions of `ls', so we provide this option for compatibility.) `-h' `--human-readable' Append a size letter to each size, such as `M' for mebibytes. Powers of 1024 are used, not 1000; `M' stands for 1,048,576 bytes. This option is equivalent to `--block-size=human-readable'. Use the `--si' option if you prefer powers of 1000. `-i' `--inode' Print the inode number (also called the file serial number and index number) of each file to the left of the file name. (This number uniquely identifies each file within a particular file system.) `-l' `--format=long' `--format=verbose' In addition to the name of each file, print the file type, file mode bits, number of hard links, owner name, group name, size, and timestamp (*note Formatting file timestamps::), normally the modification time. Print question marks for information that cannot be determined. Normally the size is printed as a byte count without punctuation, but this can be overridden (*note Block size::). For example, `-h' prints an abbreviated, human-readable count, and `--block-size="'1"' prints a byte count with the thousands separator of the current locale. For each directory that is listed, preface the files with a line `total BLOCKS', where BLOCKS is the total disk allocation for all files in that directory. The block size currently defaults to 1024 bytes, but this can be overridden (*note Block size::). The BLOCKS computed counts each hard link separately; this is arguably a deficiency. The file type is one of the following characters: `-' regular file `b' block special file `c' character special file `C' high performance ("contiguous data") file `d' directory `D' door (Solaris 2.5 and up) `l' symbolic link `M' off-line ("migrated") file (Cray DMF) `n' network special file (HP-UX) `p' FIFO (named pipe) `P' port (Solaris 10 and up) `s' socket `?' some other file type The file mode bits listed are similar to symbolic mode specifications (*note Symbolic Modes::). But `ls' combines multiple bits into the third character of each set of permissions as follows: `s' If the set-user-ID or set-group-ID bit and the corresponding executable bit are both set. `S' If the set-user-ID or set-group-ID bit is set but the corresponding executable bit is not set. `t' If the restricted deletion flag or sticky bit, and the other-executable bit, are both set. The restricted deletion flag is another name for the sticky bit. *Note Mode Structure::. `T' If the restricted deletion flag or sticky bit is set but the other-executable bit is not set. `x' If the executable bit is set and none of the above apply. `-' Otherwise. Following the file mode bits is a single character that specifies whether an alternate access method such as an access control list applies to the file. When the character following the file mode bits is a space, there is no alternate access method. When it is a printing character, then there is such a method. GNU `ls' uses a `.' character to indicate a file with an SELinux security context, but no other alternate access method. A file with any other combination of alternate access methods is marked with a `+' character. `-n' `--numeric-uid-gid' Produce long format directory listings, but display numeric user and group IDs instead of the owner and group names. `-o' Produce long format directory listings, but don't display group information. It is equivalent to using `--format=long' with `--no-group' . `-s' `--size' Print the disk allocation of each file to the left of the file name. This is the amount of disk space used by the file, which is usually a bit more than the file's size, but it can be less if the file has holes. Normally the disk allocation is printed in units of 1024 bytes, but this can be overridden (*note Block size::). For files that are NFS-mounted from an HP-UX system to a BSD system, this option reports sizes that are half the correct values. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX `ls' program. `--si' Append an SI-style abbreviation to each size, such as `M' for megabytes. Powers of 1000 are used, not 1024; `M' stands for 1,000,000 bytes. This option is equivalent to `--block-size=si'. Use the `-h' or `--human-readable' option if you prefer powers of 1024. `-Z' `--context' Display the SELinux security context or `?' if none is found. When used with the `-l' option, print the security context to the left of the size column.  File: coreutils.info, Node: Sorting the output, Next: Details about version sort, Prev: What information is listed, Up: ls invocation 10.1.3 Sorting the output ------------------------- These options change the order in which `ls' sorts the information it outputs. By default, sorting is done by character code (e.g., ASCII order). `-c' `--time=ctime' `--time=status' If the long listing format (e.g., `-l', `-o') is being used, print the status change time (the `ctime' in the inode) instead of the modification time. When explicitly sorting by time (`--sort=time' or `-t') or when not using a long listing format, sort according to the status change time. `-f' Primarily, like `-U'--do not sort; list the files in whatever order they are stored in the directory. But also enable `-a' (list all files) and disable `-l', `--color', and `-s' (if they were specified before the `-f'). `-r' `--reverse' Reverse whatever the sorting method is--e.g., list files in reverse alphabetical order, youngest first, smallest first, or whatever. `-S' `--sort=size' Sort by file size, largest first. `-t' `--sort=time' Sort by modification time (the `mtime' in the inode), newest first. `-u' `--time=atime' `--time=access' `--time=use' If the long listing format (e.g., `--format=long') is being used, print the last access time (the `atime' in the inode). When explicitly sorting by time (`--sort=time' or `-t') or when not using a long listing format, sort according to the access time. `-U' `--sort=none' Do not sort; list the files in whatever order they are stored in the directory. (Do not do any of the other unrelated things that `-f' does.) This is especially useful when listing very large directories, since not doing any sorting can be noticeably faster. `-v' `--sort=version' Sort by version name and number, lowest first. It behaves like a default sort, except that each sequence of decimal digits is treated numerically as an index/version number. (*Note Details about version sort::.) `-X' `--sort=extension' Sort directory contents alphabetically by file extension (characters after the last `.'); files with no extension are sorted first.  File: coreutils.info, Node: Details about version sort, Next: General output formatting, Prev: Sorting the output, Up: ls invocation 10.1.4 Details about version sort --------------------------------- Version sorting handles the fact that file names frequently include indices or version numbers. Standard sorting usually does not produce the order that one expects because comparisons are made on a character-by-character basis. Version sorting is especially useful when browsing directories that contain many files with indices/version numbers in their names: $ ls -1 $ ls -1v abc.zml-1.gz abc.zml-1.gz abc.zml-12.gz abc.zml-2.gz abc.zml-2.gz abc.zml-12.gz Version-sorted strings are compared such that if VER1 and VER2 are version numbers and PREFIX and SUFFIX (SUFFIX matching the regular expression `(\.[A-Za-z~][A-Za-z0-9~]*)*') are strings then VER1 < VER2 implies that the name composed of "PREFIX VER1 SUFFIX" sorts before "PREFIX VER2 SUFFIX". Note also that leading zeros of numeric parts are ignored: $ ls -1 $ ls -1v abc-1.007.tgz abc-1.01a.tgz abc-1.012b.tgz abc-1.007.tgz abc-1.01a.tgz abc-1.012b.tgz This functionality is implemented using gnulib's `filevercmp' function, which has some caveats worth noting. * `LC_COLLATE' is ignored, which means `ls -v' and `sort -V' will sort non-numeric prefixes as if the `LC_COLLATE' locale category was set to `C'. * Some suffixes will not be matched by the regular expression mentioned above. Consequently these examples may not sort as you expect: abc-1.2.3.4.7z abc-1.2.3.7z abc-1.2.3.4.x86_64.rpm abc-1.2.3.x86_64.rpm  File: coreutils.info, Node: General output formatting, Next: Formatting file timestamps, Prev: Details about version sort, Up: ls invocation 10.1.5 General output formatting -------------------------------- These options affect the appearance of the overall output. `-1' `--format=single-column' List one file per line. This is the default for `ls' when standard output is not a terminal. `-C' `--format=vertical' List files in columns, sorted vertically. This is the default for `ls' if standard output is a terminal. It is always the default for the `dir' program. GNU `ls' uses variable width columns to display as many files as possible in the fewest lines. `--color [=WHEN]' Specify whether to use color for distinguishing file types. WHEN may be omitted, or one of: * none - Do not use color at all. This is the default. * auto - Only use color if standard output is a terminal. * always - Always use color. Specifying `--color' and no WHEN is equivalent to `--color=always'. Piping a colorized listing through a pager like `more' or `less' usually produces unreadable results. However, using `more -f' does seem to work. Note that using the `--color' option may incur a noticeable performance penalty when run in a directory with very many entries, because the default settings require that `ls' `stat' every single file it lists. However, if you would like most of the file-type coloring but can live without the other coloring options (e.g., executable, orphan, sticky, other-writable, capability), use `dircolors' to set the `LS_COLORS' environment variable like this, eval $(dircolors -p | perl -pe \ 's/^((CAP|S[ET]|O[TR]|M|E)\w+).*/$1 00/' | dircolors -) and on a `dirent.d_type'-capable file system, `ls' will perform only one `stat' call per command line argument. `-F' `--classify' `--indicator-style=classify' Append a character to each file name indicating the file type. Also, for regular files that are executable, append `*'. The file type indicators are `/' for directories, `@' for symbolic links, `|' for FIFOs, `=' for sockets, `>' for doors, and nothing for regular files. Do not follow symbolic links listed on the command line unless the `--dereference-command-line' (`-H'), `--dereference' (`-L'), or `--dereference-command-line-symlink-to-dir' options are specified. `--file-type' `--indicator-style=file-type' Append a character to each file name indicating the file type. This is like `-F', except that executables are not marked. `--indicator-style=WORD' Append a character indicator with style WORD to entry names, as follows: `none' Do not append any character indicator; this is the default. `slash' Append `/' for directories. This is the same as the `-p' option. `file-type' Append `/' for directories, `@' for symbolic links, `|' for FIFOs, `=' for sockets, and nothing for regular files. This is the same as the `--file-type' option. `classify' Append `*' for executable regular files, otherwise behave as for `file-type'. This is the same as the `-F' or `--classify' option. `-k' `--kibibytes' Set the default block size to its normal value of 1024 bytes, overriding any contrary specification in environment variables (*note Block size::). This option is in turn overridden by the `--block-size', `-h' or `--human-readable', and `--si' options. The `-k' or `--kibibytes' option affects the per-directory block count written by the `-l' and similar options, and the size written by the `-s' or `--size' option. It does not affect the file size written by `-l'. `-m' `--format=commas' List files horizontally, with as many as will fit on each line, separated by `, ' (a comma and a space). `-p' `--indicator-style=slash' Append a `/' to directory names. `-x' `--format=across' `--format=horizontal' List the files in columns, sorted horizontally. `-T COLS' `--tabsize=COLS' Assume that each tab stop is COLS columns wide. The default is 8. `ls' uses tabs where possible in the output, for efficiency. If COLS is zero, do not use tabs at all. Some terminal emulators (at least Apple Terminal 1.5 (133) from Mac OS X 10.4.8) do not properly align columns to the right of a TAB following a non-ASCII byte. If you use such a terminal emulator, use the `-T0' option or put `TABSIZE=0' in your environment to tell `ls' to align using spaces, not tabs. `-w' `--width=COLS' Assume the screen is COLS columns wide. The default is taken from the terminal settings if possible; otherwise the environment variable `COLUMNS' is used if it is set; otherwise the default is 80.  File: coreutils.info, Node: Formatting file timestamps, Next: Formatting the file names, Prev: General output formatting, Up: ls invocation 10.1.6 Formatting file timestamps --------------------------------- By default, file timestamps are listed in abbreviated form, using a date like `Mar 30 2002' for non-recent timestamps, and a date-without-year and time like `Mar 30 23:45' for recent timestamps. This format can change depending on the current locale as detailed below. A timestamp is considered to be "recent" if it is less than six months old, and is not dated in the future. If a timestamp dated today is not listed in recent form, the timestamp is in the future, which means you probably have clock skew problems which may break programs like `make' that rely on file timestamps. Time stamps are listed according to the time zone rules specified by the `TZ' environment variable, or by the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. The following option changes how file timestamps are printed. `--time-style=STYLE' List timestamps in style STYLE. The STYLE should be one of the following: `+FORMAT' List timestamps using FORMAT, where FORMAT is interpreted like the format argument of `date' (*note date invocation::). For example, `--time-style="+%Y-%m-%d %H:%M:%S"' causes `ls' to list timestamps like `2002-03-30 23:45:56'. As with `date', FORMAT's interpretation is affected by the `LC_TIME' locale category. If FORMAT contains two format strings separated by a newline, the former is used for non-recent files and the latter for recent files; if you want output columns to line up, you may need to insert spaces in one of the two formats. `full-iso' List timestamps in full using ISO 8601 date, time, and time zone format with nanosecond precision, e.g., `2002-03-30 23:45:56.477817180 -0700'. This style is equivalent to `+%Y-%m-%d %H:%M:%S.%N %z'. This is useful because the time output includes all the information that is available from the operating system. For example, this can help explain `make''s behavior, since GNU `make' uses the full timestamp to determine whether a file is out of date. `long-iso' List ISO 8601 date and time in minutes, e.g., `2002-03-30 23:45'. These timestamps are shorter than `full-iso' timestamps, and are usually good enough for everyday work. This style is equivalent to `+%Y-%m-%d %H:%M'. `iso' List ISO 8601 dates for non-recent timestamps (e.g., `2002-03-30 '), and ISO 8601 month, day, hour, and minute for recent timestamps (e.g., `03-30 23:45'). These timestamps are uglier than `long-iso' timestamps, but they carry nearly the same information in a smaller space and their brevity helps `ls' output fit within traditional 80-column output lines. The following two `ls' invocations are equivalent: newline=' ' ls -l --time-style="+%Y-%m-%d $newline%m-%d %H:%M" ls -l --time-style="iso" `locale' List timestamps in a locale-dependent form. For example, a Finnish locale might list non-recent timestamps like `maalis 30 2002' and recent timestamps like `maalis 30 23:45'. Locale-dependent timestamps typically consume more space than `iso' timestamps and are harder for programs to parse because locale conventions vary so widely, but they are easier for many people to read. The `LC_TIME' locale category specifies the timestamp format. The default POSIX locale uses timestamps like `Mar 30 2002' and `Mar 30 23:45'; in this locale, the following two `ls' invocations are equivalent: newline=' ' ls -l --time-style="+%b %e %Y$newline%b %e %H:%M" ls -l --time-style="locale" Other locales behave differently. For example, in a German locale, `--time-style="locale"' might be equivalent to `--time-style="+%e. %b %Y $newline%e. %b %H:%M"' and might generate timestamps like `30. Ma"r 2002 ' and `30. Ma"r 23:45'. `posix-STYLE' List POSIX-locale timestamps if the `LC_TIME' locale category is POSIX, STYLE timestamps otherwise. For example, the `posix-long-iso' style lists timestamps like `Mar 30 2002' and `Mar 30 23:45' when in the POSIX locale, and like `2002-03-30 23:45' otherwise. You can specify the default value of the `--time-style' option with the environment variable `TIME_STYLE'; if `TIME_STYLE' is not set the default style is `locale'. GNU Emacs 21.3 and later use the `--dired' option and therefore can parse any date format, but if you are using Emacs 21.1 or 21.2 and specify a non-POSIX locale you may need to set `TIME_STYLE="posix-long-iso"'. To avoid certain denial-of-service attacks, timestamps that would be longer than 1000 bytes may be treated as errors.  File: coreutils.info, Node: Formatting the file names, Prev: Formatting file timestamps, Up: ls invocation 10.1.7 Formatting the file names -------------------------------- These options change how file names themselves are printed. `-b' `--escape' `--quoting-style=escape' Quote nongraphic characters in file names using alphabetic and octal backslash sequences like those used in C. `-N' `--literal' `--quoting-style=literal' Do not quote file names. However, with `ls' nongraphic characters are still printed as question marks if the output is a terminal and you do not specify the `--show-control-chars' option. `-q' `--hide-control-chars' Print question marks instead of nongraphic characters in file names. This is the default if the output is a terminal and the program is `ls'. `-Q' `--quote-name' `--quoting-style=c' Enclose file names in double quotes and quote nongraphic characters as in C. `--quoting-style=WORD' Use style WORD to quote file names and other strings that may contain arbitrary characters. The WORD should be one of the following: `literal' Output strings as-is; this is the same as the `-N' or `--literal' option. `shell' Quote strings for the shell if they contain shell metacharacters or would cause ambiguous output. The quoting is suitable for POSIX-compatible shells like `bash', but it does not always work for incompatible shells like `csh'. `shell-always' Quote strings for the shell, even if they would normally not require quoting. `c' Quote strings as for C character string literals, including the surrounding double-quote characters; this is the same as the `-Q' or `--quote-name' option. `escape' Quote strings as for C character string literals, except omit the surrounding double-quote characters; this is the same as the `-b' or `--escape' option. `clocale' Quote strings as for C character string literals, except use surrounding quotation marks appropriate for the locale. `locale' Quote strings as for C character string literals, except use surrounding quotation marks appropriate for the locale, and quote 'like this' instead of "like this" in the default C locale. This looks nicer on many displays. You can specify the default value of the `--quoting-style' option with the environment variable `QUOTING_STYLE'. If that environment variable is not set, the default value is `literal', but this default may change to `shell' in a future version of this package. `--show-control-chars' Print nongraphic characters as-is in file names. This is the default unless the output is a terminal and the program is `ls'.  File: coreutils.info, Node: dir invocation, Next: vdir invocation, Prev: ls invocation, Up: Directory listing 10.2 `dir': Briefly list directory contents =========================================== `dir' is equivalent to `ls -C -b'; that is, by default files are listed in columns, sorted vertically, and special characters are represented by backslash escape sequences. *Note `ls': ls invocation.  File: coreutils.info, Node: vdir invocation, Next: dircolors invocation, Prev: dir invocation, Up: Directory listing 10.3 `vdir': Verbosely list directory contents ============================================== `vdir' is equivalent to `ls -l -b'; that is, by default files are listed in long format and special characters are represented by backslash escape sequences.  File: coreutils.info, Node: dircolors invocation, Prev: vdir invocation, Up: Directory listing 10.4 `dircolors': Color setup for `ls' ====================================== `dircolors' outputs a sequence of shell commands to set up the terminal for color output from `ls' (and `dir', etc.). Typical usage: eval "$(dircolors [OPTION]... [FILE])" If FILE is specified, `dircolors' reads it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run `dircolors --print-database'. To make `dircolors' read a `~/.dircolors' file if it exists, you can put the following lines in your `~/.bashrc' (or adapt them to your favorite shell): d=.dircolors test -r $d && eval "$(dircolors $d)" The output is a shell command to set the `LS_COLORS' environment variable. You can specify the shell syntax to use on the command line, or `dircolors' will guess it from the value of the `SHELL' environment variable. The program accepts the following options. Also see *note Common options::. `-b' `--sh' `--bourne-shell' Output Bourne shell commands. This is the default if the `SHELL' environment variable is set and does not end with `csh' or `tcsh'. `-c' `--csh' `--c-shell' Output C shell commands. This is the default if `SHELL' ends with `csh' or `tcsh'. `-p' `--print-database' Print the (compiled-in) default color configuration database. This output is itself a valid configuration file, and is fairly descriptive of the possibilities. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Basic operations, Next: Special file types, Prev: Directory listing, Up: Top 11 Basic operations ******************* This chapter describes the commands for basic file manipulation: copying, moving (renaming), and deleting (removing). * Menu: * cp invocation:: Copy files. * dd invocation:: Convert and copy a file. * install invocation:: Copy files and set attributes. * mv invocation:: Move (rename) files. * rm invocation:: Remove files or directories. * shred invocation:: Remove files more securely.  File: coreutils.info, Node: cp invocation, Next: dd invocation, Up: Basic operations 11.1 `cp': Copy files and directories ===================================== `cp' copies files (or, optionally, directories). The copy is completely independent of the original. You can either copy one file to another, or copy arbitrarily many files to a destination directory. Synopses: cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... * If two file names are given, `cp' copies the first file to the second. * If the `--target-directory' (`-t') option is given, or failing that if the last file is a directory and the `--no-target-directory' (`-T') option is not given, `cp' copies each SOURCE file to the specified directory, using the SOURCEs' names. Generally, files are written just as they are read. For exceptions, see the `--sparse' option below. By default, `cp' does not copy directories. However, the `-R', `-a', and `-r' options cause `cp' to copy recursively by descending into source directories and copying files to corresponding destination directories. When copying from a symbolic link, `cp' normally follows the link only when not copying recursively. This default can be overridden with the `--archive' (`-a'), `-d', `--dereference' (`-L'), `--no-dereference' (`-P'), and `-H' options. If more than one of these options is specified, the last one silently overrides the others. When copying to a symbolic link, `cp' follows the link only when it refers to an existing regular file. However, when copying to a dangling symbolic link, `cp' refuses by default, and fails with a diagnostic, since the operation is inherently dangerous. This behavior is contrary to historical practice and to POSIX. Set `POSIXLY_CORRECT' to make `cp' attempt to create the target of a dangling destination symlink, in spite of the possible risk. Also, when an option like `--backup' or `--link' acts to rename or remove the destination before copying, `cp' renames or removes the symbolic link rather than the file it points to. By default, `cp' copies the contents of special files only when not copying recursively. This default can be overridden with the `--copy-contents' option. `cp' generally refuses to copy a file onto itself, with the following exception: if `--force --backup' is specified with SOURCE and DEST identical, and referring to a regular file, `cp' will make a backup file, either regular or numbered, as specified in the usual ways (*note Backup options::). This is useful when you simply want to make a backup of an existing file before changing it. The program accepts the following options. Also see *note Common options::. `-a' `--archive' Preserve as much as possible of the structure and attributes of the original files in the copy (but do not attempt to preserve internal directory structure; i.e., `ls -U' may list the entries in a copied directory in a different order). Try to preserve SELinux security context and extended attributes (xattr), but ignore any failure to do that and print no corresponding diagnostic. Equivalent to `-dR --preserve=all' with the reduced diagnostics. `--attributes-only' Copy only the specified attributes of the source file to the destination. If the destination already exists, do not alter its contents. See the `--preserve' option for controlling which attributes to copy. `-b' `--backup[=METHOD]' *Note Backup options::. Make a backup of each file that would otherwise be overwritten or removed. As a special case, `cp' makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. One useful application of this combination of options is this tiny Bourne shell script: #!/bin/sh # Usage: backup FILE... # Create a GNU-style backup of each listed FILE. fail=0 for i; do cp --backup --force --preserve=all -- "$i" "$i" || fail=1 done exit $fail `--copy-contents' If copying recursively, copy the contents of any special files (e.g., FIFOs and device files) as if they were regular files. This means trying to read the data in each source file and writing it to the destination. It is usually a mistake to use this option, as it normally has undesirable effects on special files like FIFOs and the ones typically found in the `/dev' directory. In most cases, `cp -R --copy-contents' will hang indefinitely trying to read from FIFOs and special files like `/dev/console', and it will fill up your destination disk if you use it to copy `/dev/zero'. This option has no effect unless copying recursively, and it does not affect the copying of symbolic links. `-d' Copy symbolic links as symbolic links rather than copying the files that they point to, and preserve hard links between source files in the copies. Equivalent to `--no-dereference --preserve=links'. `-f' `--force' When copying without this option and an existing destination file cannot be opened for writing, the copy fails. However, with `--force', when a destination file cannot be opened, `cp' then removes it and tries to open it again. Contrast this behavior with that enabled by `--link' and `--symbolic-link', whereby the destination file is never opened but rather is removed unconditionally. Also see the description of `--remove-destination'. This option is independent of the `--interactive' or `-i' option: neither cancels the effect of the other. This option is ignored when the `--no-clobber' or `-n' option is also used. `-H' If a command line argument specifies a symbolic link, then copy the file it points to rather than the symbolic link itself. However, copy (preserving its nature) any symbolic link that is encountered via recursive traversal. `-i' `--interactive' When copying a file other than a directory, prompt whether to overwrite an existing destination file. The `-i' option overrides a previous `-n' option. `-l' `--link' Make hard links instead of copies of non-directories. `-L' `--dereference' Follow symbolic links when copying from them. With this option, `cp' cannot create a symbolic link. For example, a symlink (to regular file) in the source tree will be copied to a regular file in the destination tree. `-n' `--no-clobber' Do not overwrite an existing file. The `-n' option overrides a previous `-i' option. This option is mutually exclusive with `-b' or `--backup' option. `-P' `--no-dereference' Copy symbolic links as symbolic links rather than copying the files that they point to. This option affects only symbolic links in the source; symbolic links in the destination are always followed if possible. `-p' `--preserve[=ATTRIBUTE_LIST]' Preserve the specified attributes of the original files. If specified, the ATTRIBUTE_LIST must be a comma-separated list of one or more of the following strings: `mode' Preserve the file mode bits and access control lists. `ownership' Preserve the owner and group. On most modern systems, only users with appropriate privileges may change the owner of a file, and ordinary users may preserve the group ownership of a file only if they happen to be a member of the desired group. `timestamps' Preserve the times of last access and last modification, when possible. On older systems, it is not possible to preserve these attributes when the affected file is a symbolic link. However, many systems now provide the `utimensat' function, which makes it possible even for symbolic links. `links' Preserve in the destination files any links between corresponding source files. Note that with `-L' or `-H', this option can convert symbolic links to hard links. For example, $ mkdir c; : > a; ln -s a b; cp -aH a b c; ls -i1 c 74161745 a 74161745 b Note the inputs: `b' is a symlink to regular file `a', yet the files in destination directory, `c/', are hard-linked. Since `-a' implies `--preserve=links', and since `-H' tells `cp' to dereference command line arguments, it sees two files with the same inode number, and preserves the perceived hard link. Here is a similar example that exercises `cp''s `-L' option: $ mkdir b c; (cd b; : > a; ln -s a b); cp -aL b c; ls -i1 c/b 74163295 a 74163295 b `context' Preserve SELinux security context of the file, or fail with full diagnostics. `xattr' Preserve extended attributes of the file, or fail with full diagnostics. If `cp' is built without xattr support, ignore this option. If SELinux context, ACLs or Capabilities are implemented using xattrs, they are preserved implicitly by this option as well, i.e., even without specifying `--preserve=mode' or `--preserve=context'. `all' Preserve all file attributes. Equivalent to specifying all of the above, but with the difference that failure to preserve SELinux security context or extended attributes does not change `cp''s exit status. In contrast to `-a', all but `Operation not supported' warnings are output. Using `--preserve' with no ATTRIBUTE_LIST is equivalent to `--preserve=mode,ownership,timestamps'. In the absence of this option, each destination file is created with the mode bits of the corresponding source file, minus the bits set in the umask and minus the set-user-ID and set-group-ID bits. *Note File permissions::. `--no-preserve=ATTRIBUTE_LIST' Do not preserve the specified attributes. The ATTRIBUTE_LIST has the same form as for `--preserve'. `--parents' Form the name of each destination file by appending to the target directory a slash and the specified name of the source file. The last argument given to `cp' must be the name of an existing directory. For example, the command: cp --parents a/b/c existing_dir copies the file `a/b/c' to `existing_dir/a/b/c', creating any missing intermediate directories. `-R' `-r' `--recursive' Copy directories recursively. By default, do not follow symbolic links in the source; see the `--archive' (`-a'), `-d', `--dereference' (`-L'), `--no-dereference' (`-P'), and `-H' options. Special files are copied by creating a destination file of the same type as the source; see the `--copy-contents' option. It is not portable to use `-r' to copy symbolic links or special files. On some non-GNU systems, `-r' implies the equivalent of `-L' and `--copy-contents' for historical reasons. Also, it is not portable to use `-R' to copy symbolic links unless you also specify `-P', as POSIX allows implementations that dereference symbolic links by default. `--reflink[=WHEN]' Perform a lightweight, copy-on-write (COW) copy, if supported by the file system. Once it has succeeded, beware that the source and destination files share the same disk data blocks as long as they remain unmodified. Thus, if a disk I/O error affects data blocks of one of the files, the other suffers the same fate. The WHEN value can be one of the following: `always' The default behavior: if the copy-on-write operation is not supported then report the failure for each file and exit with a failure status. `auto' If the copy-on-write operation is not supported then fall back to the standard copy behaviour. This option is overridden by the `--link', `--symbolic-link' and `--attributes-only' options, thus allowing it to be used to configure the default data copying behavior for `cp'. For example, with the following alias, `cp' will use the minimum amount of space supported by the file system. alias cp='cp --reflink=auto --sparse=always' `--remove-destination' Remove each existing destination file before attempting to open it (contrast with `-f' above). `--sparse=WHEN' A "sparse file" contains "holes"--a sequence of zero bytes that does not occupy any physical disk blocks; the `read' system call reads these as zeros. This can both save considerable disk space and increase speed, since many binary files contain lots of consecutive zero bytes. By default, `cp' detects holes in input source files via a crude heuristic and makes the corresponding output file sparse as well. Only regular files may be sparse. The WHEN value can be one of the following: `auto' The default behavior: if the input file is sparse, attempt to make the output file sparse, too. However, if an output file exists but refers to a non-regular file, then do not attempt to make it sparse. `always' For each sufficiently long sequence of zero bytes in the input file, attempt to create a corresponding hole in the output file, even if the input file does not appear to be sparse. This is useful when the input file resides on a file system that does not support sparse files (for example, `efs' file systems in SGI IRIX 5.3 and earlier), but the output file is on a type of file system that does support them. Holes may be created only in regular files, so if the destination file is of some other type, `cp' does not even try to make it sparse. `never' Never make the output file sparse. This is useful in creating a file for use with the `mkswap' command, since such a file must not have any holes. `--strip-trailing-slashes' Remove any trailing slashes from each SOURCE argument. *Note Trailing slashes::. `-s' `--symbolic-link' Make symbolic links instead of copies of non-directories. All source file names must be absolute (starting with `/') unless the destination files are in the current directory. This option merely results in an error message on systems that do not support symbolic links. `-S SUFFIX' `--suffix=SUFFIX' Append SUFFIX to each backup file made with `-b'. *Note Backup options::. `-t DIRECTORY' `--target-directory=DIRECTORY' Specify the destination DIRECTORY. *Note Target directory::. `-T' `--no-target-directory' Do not treat the last operand specially when it is a directory or a symbolic link to a directory. *Note Target directory::. `-u' `--update' Do not copy a non-directory that has an existing destination with the same or newer modification time. If time stamps are being preserved, the comparison is to the source time stamp truncated to the resolutions of the destination file system and of the system calls used to update time stamps; this avoids duplicate work if several `cp -pu' commands are executed with the same source and destination. If `--preserve=links' is also specified (like with `cp -au' for example), that will take precedence. Consequently, depending on the order that files are processed from the source, newer files in the destination may be replaced, to mirror hard links in the source. `-v' `--verbose' Print the name of each file before copying it. `-x' `--one-file-system' Skip subdirectories that are on different file systems from the one that the copy started on. However, mount point directories _are_ copied. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: dd invocation, Next: install invocation, Prev: cp invocation, Up: Basic operations 11.2 `dd': Convert and copy a file ================================== `dd' copies a file (from standard input to standard output, by default) with a changeable I/O block size, while optionally performing conversions on it. Synopses: dd [OPERAND]... dd OPTION The only options are `--help' and `--version'. *Note Common options::. `dd' accepts the following operands, whose syntax was inspired by the DD (data definition) statement of OS/360 JCL. `if=FILE' Read from FILE instead of standard input. `of=FILE' Write to FILE instead of standard output. Unless `conv=notrunc' is given, `dd' truncates FILE to zero bytes (or the size specified with `seek='). `ibs=BYTES' Set the input block size to BYTES. This makes `dd' read BYTES per block. The default is 512 bytes. `obs=BYTES' Set the output block size to BYTES. This makes `dd' write BYTES per block. The default is 512 bytes. `bs=BYTES' Set both input and output block sizes to BYTES. This makes `dd' read and write BYTES per block, overriding any `ibs' and `obs' settings. In addition, if no data-transforming `conv' option is specified, input is copied to the output as soon as it's read, even if it is smaller than the block size. `cbs=BYTES' Set the conversion block size to BYTES. When converting variable-length records to fixed-length ones (`conv=block') or the reverse (`conv=unblock'), use BYTES as the fixed record length. `skip=N' Skip N `ibs'-byte blocks in the input file before copying. If `iflag=skip_bytes' is specified, N is interpreted as a byte count rather than a block count. `seek=N' Skip N `obs'-byte blocks in the output file before copying. if `oflag=seek_bytes' is specified, N is interpreted as a byte count rather than a block count. `count=N' Copy N `ibs'-byte blocks from the input file, instead of everything until the end of the file. if `iflag=count_bytes' is specified, N is interpreted as a byte count rather than a block count. Note if the input may return short reads as could be the case when reading from a pipe for example, `iflag=fullblock' will ensure that `count=' corresponds to complete input blocks rather than the traditional POSIX specified behavior of counting input read operations. `status=WHICH' Transfer information is normally output to stderr upon receipt of the `INFO' signal or when `dd' exits. Specifying WHICH will identify which information to suppress. `noxfer' Do not print the transfer rate and volume statistics that normally make up the last status line. `none' Do not print any informational messages to stderr. Error messages are output as normal. `conv=CONVERSION[,CONVERSION]...' Convert the file as specified by the CONVERSION argument(s). (No spaces around any comma(s).) Conversions: `ascii' Convert EBCDIC to ASCII, using the conversion table specified by POSIX. This provides a 1:1 translation for all 256 bytes. `ebcdic' Convert ASCII to EBCDIC. This is the inverse of the `ascii' conversion. `ibm' Convert ASCII to alternate EBCDIC, using the alternate conversion table specified by POSIX. This is not a 1:1 translation, but reflects common historical practice for `~', `[', and `]'. The `ascii', `ebcdic', and `ibm' conversions are mutually exclusive. `block' For each line in the input, output `cbs' bytes, replacing the input newline with a space and padding with spaces as necessary. `unblock' Remove any trailing spaces in each `cbs'-sized input block, and append a newline. The `block' and `unblock' conversions are mutually exclusive. `lcase' Change uppercase letters to lowercase. `ucase' Change lowercase letters to uppercase. The `lcase' and `ucase' conversions are mutually exclusive. `sparse' Try to seek rather than write NUL output blocks. On a file system that supports sparse files, this will create sparse output when extending the output file. Be careful when using this option in conjunction with `conv=notrunc' or `oflag=append'. With `conv=notrunc', existing data in the output file corresponding to NUL blocks from the input, will be untouched. With `oflag=append' the seeks performed will be ineffective. Similarly, when the output is a device rather than a file, NUL input blocks are not copied, and therefore this option is most useful with virtual or pre zeroed devices. `swab' Swap every pair of input bytes. GNU `dd', unlike others, works when an odd number of bytes are read--the last byte is simply copied (since there is nothing to swap it with). `sync' Pad every input block to size of `ibs' with trailing zero bytes. When used with `block' or `unblock', pad with spaces instead of zero bytes. The following "conversions" are really file flags and don't affect internal processing: `excl' Fail if the output file already exists; `dd' must create the output file itself. `nocreat' Do not create the output file; the output file must already exist. The `excl' and `nocreat' conversions are mutually exclusive. `notrunc' Do not truncate the output file. `noerror' Continue after read errors. `fdatasync' Synchronize output data just before finishing. This forces a physical write of output data. `fsync' Synchronize output data and metadata just before finishing. This forces a physical write of output data and metadata. `iflag=FLAG[,FLAG]...' Access the input file using the flags specified by the FLAG argument(s). (No spaces around any comma(s).) `oflag=FLAG[,FLAG]...' Access the output file using the flags specified by the FLAG argument(s). (No spaces around any comma(s).) Here are the flags. Not every flag is supported on every operating system. `append' Write in append mode, so that even if some other process is writing to this file, every `dd' write will append to the current contents of the file. This flag makes sense only for output. If you combine this flag with the `of=FILE' operand, you should also specify `conv=notrunc' unless you want the output file to be truncated before being appended to. `cio' Use concurrent I/O mode for data. This mode performs direct I/O and drops the POSIX requirement to serialize all I/O to the same file. A file cannot be opened in CIO mode and with a standard open at the same time. `direct' Use direct I/O for data, avoiding the buffer cache. Note that the kernel may impose restrictions on read or write buffer sizes. For example, with an ext4 destination file system and a linux-based kernel, using `oflag=direct' will cause writes to fail with `EINVAL' if the output buffer size is not a multiple of 512. `directory' Fail unless the file is a directory. Most operating systems do not allow I/O to a directory, so this flag has limited utility. `dsync' Use synchronized I/O for data. For the output file, this forces a physical write of output data on each write. For the input file, this flag can matter when reading from a remote file that has been written to synchronously by some other process. Metadata (e.g., last-access and last-modified time) is not necessarily synchronized. `sync' Use synchronized I/O for both data and metadata. `nocache' Discard the data cache for a file. When count=0 all cache is discarded, otherwise the cache is dropped for the processed portion of the file. Also when count=0 failure to discard the cache is diagnosed and reflected in the exit status. Here as some usage examples: # Advise to drop cache for whole file dd if=ifile iflag=nocache count=0 # Ensure drop cache for the whole file dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0 # Drop cache for part of file dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null # Stream data using just the read-ahead cache dd if=ifile of=ofile iflag=nocache oflag=nocache `nonblock' Use non-blocking I/O. `noatime' Do not update the file's access time. Some older file systems silently ignore this flag, so it is a good idea to test it on your files before relying on it. `noctty' Do not assign the file to be a controlling terminal for `dd'. This has no effect when the file is not a terminal. On many hosts (e.g., GNU/Linux hosts), this option has no effect at all. `nofollow' Do not follow symbolic links. `nolinks' Fail if the file has multiple hard links. `binary' Use binary I/O. This option has an effect only on nonstandard platforms that distinguish binary from text I/O. `text' Use text I/O. Like `binary', this option has no effect on standard platforms. `fullblock' Accumulate full blocks from input. The `read' system call may return early if a full block is not available. When that happens, continue calling `read' to fill the remainder of the block. This flag can be used only with `iflag'. This flag is useful with pipes for example as they may return short reads. In that case, this flag is needed to ensure that a `count=' argument is interpreted as a block count rather than a count of read operations. `count_bytes' Interpret the `count=' operand as a byte count, rather than a block count, which allows specifying a length that is not a multiple of the I/O block size. This flag can be used only with `iflag'. `skip_bytes' Interpret the `skip=' operand as a byte count, rather than a block count, which allows specifying an offset that is not a multiple of the I/O block size. This flag can be used only with `iflag'. `seek_bytes' Interpret the `seek=' operand as a byte count, rather than a block count, which allows specifying an offset that is not a multiple of the I/O block size. This flag can be used only with `oflag'. These flags are not supported on all systems, and `dd' rejects attempts to use them when they are not supported. When reading from standard input or writing to standard output, the `nofollow' and `noctty' flags should not be specified, and the other flags (e.g., `nonblock') can affect how other processes behave with the affected file descriptors, even after `dd' exits. The numeric-valued strings above (N and BYTES) can be followed by a multiplier: `b'=512, `c'=1, `w'=2, `xM'=M, or any of the standard block size suffixes like `k'=1024 (*note Block size::). Any block size you specify via `bs=', `ibs=', `obs=', `cbs=' should not be too large--values larger than a few megabytes are generally wasteful or (as in the gigabyte..exabyte case) downright counterproductive or error-inducing. To process data that is at an offset or size that is not a multiple of the I/O block size, you can use the `skip_bytes', `seek_bytes' and `count_bytes' flags. Alternatively the traditional method of separate `dd' invocations can be used. For example, the following shell commands copy data in 512 KiB blocks between a disk and a tape, but do not save or restore a 4 KiB label at the start of the disk: disk=/dev/rdsk/c0t1d0s2 tape=/dev/rmt/0 # Copy all but the label from disk to tape. (dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tape # Copy from tape back to disk, but leave the disk label alone. (dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$disk Sending an `INFO' signal to a running `dd' process makes it print I/O statistics to standard error and then resume copying. In the example below, `dd' is run in the background to copy 10 million blocks. The `kill' command makes it output intermediate I/O statistics, and when `dd' completes normally or is killed by the `SIGINT' signal, it outputs the final statistics. $ dd if=/dev/zero of=/dev/null count=10MB & pid=$! $ kill -s INFO $pid; wait $pid 3385223+0 records in 3385223+0 records out 1733234176 bytes (1.7 GB) copied, 6.42173 seconds, 270 MB/s 10000000+0 records in 10000000+0 records out 5120000000 bytes (5.1 GB) copied, 18.913 seconds, 271 MB/s On systems lacking the `INFO' signal `dd' responds to the `USR1' signal instead, unless the `POSIXLY_CORRECT' environment variable is set. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: install invocation, Next: mv invocation, Prev: dd invocation, Up: Basic operations 11.3 `install': Copy files and set attributes ============================================= `install' copies files while setting their file mode bits and, if possible, their owner and group. Synopses: install [OPTION]... [-T] SOURCE DEST install [OPTION]... SOURCE... DIRECTORY install [OPTION]... -t DIRECTORY SOURCE... install [OPTION]... -d DIRECTORY... * If two file names are given, `install' copies the first file to the second. * If the `--target-directory' (`-t') option is given, or failing that if the last file is a directory and the `--no-target-directory' (`-T') option is not given, `install' copies each SOURCE file to the specified directory, using the SOURCEs' names. * If the `--directory' (`-d') option is given, `install' creates each DIRECTORY and any missing parent directories. Parent directories are created with mode `u=rwx,go=rx' (755), regardless of the `-m' option or the current umask. *Note Directory Setuid and Setgid::, for how the set-user-ID and set-group-ID bits of parent directories are inherited. `install' is similar to `cp', but allows you to control the attributes of destination files. It is typically used in Makefiles to copy programs into their destination directories. It refuses to copy files onto themselves. `install' never preserves extended attributes (xattr). The program accepts the following options. Also see *note Common options::. `-b' `--backup[=METHOD]' *Note Backup options::. Make a backup of each file that would otherwise be overwritten or removed. `-C' `--compare' Compare each pair of source and destination files, and if the destination has identical content and any specified owner, group, permissions, and possibly SELinux context, then do not modify the destination at all. `-c' Ignored; for compatibility with old Unix versions of `install'. `-D' Create any missing parent directories of DEST, then copy SOURCE to DEST. This option is ignored if a destination directory is specified via `--target-directory=DIR'. `-d' `--directory' Create any missing parent directories, giving them the default attributes. Then create each given directory, setting their owner, group and mode as given on the command line or to the defaults. `-g GROUP' `--group=GROUP' Set the group ownership of installed files or directories to GROUP. The default is the process's current group. GROUP may be either a group name or a numeric group ID. `-m MODE' `--mode=MODE' Set the file mode bits for the installed file or directory to MODE, which can be either an octal number, or a symbolic mode as in `chmod', with `a=' (no access allowed to anyone) as the point of departure (*note File permissions::). The default mode is `u=rwx,go=rx,a-s'--read, write, and execute for the owner, read and execute for group and other, and with set-user-ID and set-group-ID disabled. This default is not quite the same as `755', since it disables instead of preserving set-user-ID and set-group-ID on directories. *Note Directory Setuid and Setgid::. `-o OWNER' `--owner=OWNER' If `install' has appropriate privileges (is run as root), set the ownership of installed files or directories to OWNER. The default is `root'. OWNER may be either a user name or a numeric user ID. `--preserve-context' Preserve the SELinux security context of files and directories. Failure to preserve the context in all of the files or directories will result in an exit status of 1. If SELinux is disabled then print a warning and ignore the option. `-p' `--preserve-timestamps' Set the time of last access and the time of last modification of each installed file to match those of each corresponding original file. When a file is installed without this option, its last access and last modification times are both set to the time of installation. This option is useful if you want to use the last modification times of installed files to keep track of when they were last built as opposed to when they were last installed. `-s' `--strip' Strip the symbol tables from installed binary executables. `--strip-program=PROGRAM' Program used to strip binaries. `-S SUFFIX' `--suffix=SUFFIX' Append SUFFIX to each backup file made with `-b'. *Note Backup options::. `-t DIRECTORY' `--target-directory=DIRECTORY' Specify the destination DIRECTORY. *Note Target directory::. `-T' `--no-target-directory' Do not treat the last operand specially when it is a directory or a symbolic link to a directory. *Note Target directory::. `-v' `--verbose' Print the name of each file before copying it. `-Z CONTEXT' `--context=CONTEXT' Set the default SELinux security context to be used for any created files and directories. If SELinux is disabled then print a warning and ignore the option. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: mv invocation, Next: rm invocation, Prev: install invocation, Up: Basic operations 11.4 `mv': Move (rename) files ============================== `mv' moves or renames files (or directories). Synopses: mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... * If two file names are given, `mv' moves the first file to the second. * If the `--target-directory' (`-t') option is given, or failing that if the last file is a directory and the `--no-target-directory' (`-T') option is not given, `mv' moves each SOURCE file to the specified directory, using the SOURCEs' names. `mv' can move any type of file from one file system to another. Prior to version `4.0' of the fileutils, `mv' could move only regular files between file systems. For example, now `mv' can move an entire directory hierarchy including special device files from one partition to another. It first uses some of the same code that's used by `cp -a' to copy the requested directories and files, then (assuming the copy succeeded) it removes the originals. If the copy fails, then the part that was copied to the destination partition is removed. If you were to copy three directories from one partition to another and the copy of the first directory succeeded, but the second didn't, the first would be left on the destination partition and the second and third would be left on the original partition. `mv' always tries to copy extended attributes (xattr), which may include SELinux context, ACLs or Capabilities. Upon failure all but `Operation not supported' warnings are output. If a destination file exists but is normally unwritable, standard input is a terminal, and the `-f' or `--force' option is not given, `mv' prompts the user for whether to replace the file. (You might own the file, or have write permission on its directory.) If the response is not affirmative, the file is skipped. _Warning_: Avoid specifying a source name with a trailing slash, when it might be a symlink to a directory. Otherwise, `mv' may do something very surprising, since its behavior depends on the underlying rename system call. On a system with a modern Linux-based kernel, it fails with `errno=ENOTDIR'. However, on other systems (at least FreeBSD 6.1 and Solaris 10) it silently renames not the symlink but rather the directory referenced by the symlink. *Note Trailing slashes::. The program accepts the following options. Also see *note Common options::. `-b' `--backup[=METHOD]' *Note Backup options::. Make a backup of each file that would otherwise be overwritten or removed. `-f' `--force' Do not prompt the user before removing a destination file. If you specify more than one of the `-i', `-f', `-n' options, only the final one takes effect. `-i' `--interactive' Prompt whether to overwrite each existing destination file, regardless of its permissions. If the response is not affirmative, the file is skipped. If you specify more than one of the `-i', `-f', `-n' options, only the final one takes effect. `-n' `--no-clobber' Do not overwrite an existing file. If you specify more than one of the `-i', `-f', `-n' options, only the final one takes effect. This option is mutually exclusive with `-b' or `--backup' option. `-u' `--update' Do not move a non-directory that has an existing destination with the same or newer modification time. If the move is across file system boundaries, the comparison is to the source time stamp truncated to the resolutions of the destination file system and of the system calls used to update time stamps; this avoids duplicate work if several `mv -u' commands are executed with the same source and destination. `-v' `--verbose' Print the name of each file before moving it. `--strip-trailing-slashes' Remove any trailing slashes from each SOURCE argument. *Note Trailing slashes::. `-S SUFFIX' `--suffix=SUFFIX' Append SUFFIX to each backup file made with `-b'. *Note Backup options::. `-t DIRECTORY' `--target-directory=DIRECTORY' Specify the destination DIRECTORY. *Note Target directory::. `-T' `--no-target-directory' Do not treat the last operand specially when it is a directory or a symbolic link to a directory. *Note Target directory::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: rm invocation, Next: shred invocation, Prev: mv invocation, Up: Basic operations 11.5 `rm': Remove files or directories ====================================== `rm' removes each given FILE. By default, it does not remove directories. Synopsis: rm [OPTION]... [FILE]... If the `-I' or `--interactive=once' option is given, and there are more than three files or the `-r', `-R', or `--recursive' are given, then `rm' prompts the user for whether to proceed with the entire operation. If the response is not affirmative, the entire command is aborted. Otherwise, if a file is unwritable, standard input is a terminal, and the `-f' or `--force' option is not given, or the `-i' or `--interactive=always' option _is_ given, `rm' prompts the user for whether to remove the file. If the response is not affirmative, the file is skipped. Any attempt to remove a file whose last file name component is `.' or `..' is rejected without any prompting. _Warning_: If you use `rm' to remove a file, it is usually possible to recover the contents of that file. If you want more assurance that the contents are truly unrecoverable, consider using `shred'. The program accepts the following options. Also see *note Common options::. `-d' `--dir' Remove the listed directories if they are empty. `-f' `--force' Ignore nonexistent files and missing operands, and never prompt the user. Ignore any previous `--interactive' (`-i') option. `-i' Prompt whether to remove each file. If the response is not affirmative, the file is skipped. Ignore any previous `--force' (`-f') option. Equivalent to `--interactive=always'. `-I' Prompt once whether to proceed with the command, if more than three files are named or if a recursive removal is requested. Ignore any previous `--force' (`-f') option. Equivalent to `--interactive=once'. `--interactive [=WHEN]' Specify when to issue an interactive prompt. WHEN may be omitted, or one of: * never - Do not prompt at all. * once - Prompt once if more than three files are named or if a recursive removal is requested. Equivalent to `-I'. * always - Prompt for every file being removed. Equivalent to `-i'. `--interactive' with no WHEN is equivalent to `--interactive=always'. `--one-file-system' When removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument. This option is useful when removing a build "chroot" hierarchy, which normally contains no valuable data. However, it is not uncommon to bind-mount `/home' into such a hierarchy, to make it easier to use one's start-up file. The catch is that it's easy to forget to unmount `/home'. Then, when you use `rm -rf' to remove your normally throw-away chroot, that command will remove everything under `/home', too. Use the `--one-file-system' option, and it will warn about and skip directories on other file systems. Of course, this will not save your `/home' if it and your chroot happen to be on the same file system. `--preserve-root' Fail upon any attempt to remove the root directory, `/', when used with the `--recursive' option. This is the default behavior. *Note Treating / specially::. `--no-preserve-root' Do not treat `/' specially when removing recursively. This option is not recommended unless you really want to remove all the files on your computer. *Note Treating / specially::. `-r' `-R' `--recursive' Remove the listed directories and their contents recursively. `-v' `--verbose' Print the name of each file before removing it. One common question is how to remove files whose names begin with a `-'. GNU `rm', like every program that uses the `getopt' function to parse its arguments, lets you use the `--' option to indicate that all following arguments are non-options. To remove a file called `-f' in the current directory, you could type either: rm -- -f or: rm ./-f The Unix `rm' program's use of a single `-' for this purpose predates the development of the getopt standard syntax. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: shred invocation, Prev: rm invocation, Up: Basic operations 11.6 `shred': Remove files more securely ======================================== `shred' overwrites devices or files, to help prevent even very expensive hardware from recovering the data. Ordinarily when you remove a file (*note rm invocation::), the data is not actually destroyed. Only the index listing where the file is stored is destroyed, and the storage is made available for reuse. There are undelete utilities that will attempt to reconstruct the index and can bring the file back if the parts were not reused. On a busy system with a nearly-full drive, space can get reused in a few seconds. But there is no way to know for sure. If you have sensitive data, you may want to be sure that recovery is not possible by actually overwriting the file with non-sensitive data. However, even after doing that, it is possible to take the disk back to a laboratory and use a lot of sensitive (and expensive) equipment to look for the faint "echoes" of the original data underneath the overwritten data. If the data has only been overwritten once, it's not even that hard. The best way to remove something irretrievably is to destroy the media it's on with acid, melt it down, or the like. For cheap removable media like floppy disks, this is the preferred method. However, hard drives are expensive and hard to melt, so the `shred' utility tries to achieve a similar effect non-destructively. This uses many overwrite passes, with the data patterns chosen to maximize the damage they do to the old data. While this will work on floppies, the patterns are designed for best effect on hard drives. For more details, see the source code and Peter Gutmann's paper `Secure Deletion of Data from Magnetic and Solid-State Memory' (http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html), from the proceedings of the Sixth USENIX Security Symposium (San Jose, California, July 22-25, 1996). *Please note* that `shred' relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. Exceptions include: * Log-structured or journaled file systems, such as those supplied with AIX and Solaris, and JFS, ReiserFS, XFS, Ext3 (in `data=journal' mode), BFS, NTFS, etc., when they are configured to journal _data_. * File systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems. * File systems that make snapshots, such as Network Appliance's NFS server. * File systems that cache in temporary locations, such as NFS version 3 clients. * Compressed file systems. In the particular case of ext3 file systems, the above disclaimer applies (and `shred' is thus of limited effectiveness) only in `data=journal' mode, which journals file data in addition to just metadata. In both the `data=ordered' (default) and `data=writeback' modes, `shred' works as usual. Ext3 journaling modes can be changed by adding the `data=something' option to the mount options for a particular file system in the `/etc/fstab' file, as documented in the mount man page (man mount). If you are not sure how your file system operates, then you should assume that it does not overwrite data in place, which means that shred cannot reliably operate on regular files in your file system. Generally speaking, it is more reliable to shred a device than a file, since this bypasses the problem of file system design mentioned above. However, even shredding devices is not always completely reliable. For example, most disks map out bad sectors invisibly to the application; if the bad sectors contain sensitive data, `shred' won't be able to destroy it. `shred' makes no attempt to detect or report this problem, just as it makes no attempt to do anything about backups. However, since it is more reliable to shred devices than files, `shred' by default does not truncate or remove the output file. This default is more suitable for devices, which typically cannot be truncated and should not be removed. Finally, consider the risk of backups and mirrors. File system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. So if you keep any data you may later want to destroy using `shred', be sure that it is not backed up or mirrored. shred [OPTION]... FILE[...] The program accepts the following options. Also see *note Common options::. `-f' `--force' Override file permissions if necessary to allow overwriting. `-NUMBER' `-n NUMBER' `--iterations=NUMBER' By default, `shred' uses 3 passes of overwrite. You can reduce this to save time, or increase it if you think it's appropriate. After 25 passes all of the internal overwrite patterns will have been used at least once. `--random-source=FILE' Use FILE as a source of random data used to overwrite and to choose pass ordering. *Note Random sources::. `-s BYTES' `--size=BYTES' Shred the first BYTES bytes of the file. The default is to shred the whole file. BYTES can be followed by a size specification like `K', `M', or `G' to specify a multiple. *Note Block size::. `-u' `--remove' After shredding a file, truncate it (if possible) and then remove it. If a file has multiple links, only the named links will be removed. `-v' `--verbose' Display to standard error all status updates as sterilization proceeds. `-x' `--exact' By default, `shred' rounds the size of a regular file up to the next multiple of the file system block size to fully erase the last block of the file. Use `--exact' to suppress that behavior. Thus, by default if you shred a 10-byte regular file on a system with 512-byte blocks, the resulting file will be 512 bytes long. With this option, shred does not increase the apparent size of the file. `-z' `--zero' Normally, the last pass that `shred' writes is made up of random data. If this would be conspicuous on your hard drive (for example, because it looks like encrypted data), or you just think it's tidier, the `--zero' option adds an additional overwrite pass with all zero bits. This is in addition to the number of passes specified by the `--iterations' option. You might use the following command to erase all trace of the file system you'd created on the floppy disk in your first drive. That command takes about 20 minutes to erase a "1.44MB" (actually 1440 KiB) floppy. shred --verbose /dev/fd0 Similarly, to erase all data on a selected partition of your hard disk, you could give a command like this: shred --verbose /dev/sda5 On modern disks, a single pass should be adequate, and it will take one third the time of the default three-pass approach. # 1 pass, write pseudo-random data; 3x faster than the default shred --verbose -n1 /dev/sda5 To be on the safe side, use at least one pass that overwrites using pseudo-random data. I.e., don't be tempted to use `-n0 --zero', in case some disk controller optimizes the process of writing blocks of all zeros, and thereby does not clear all bytes in a block. Some SSDs may do just that. A FILE of `-' denotes standard output. The intended use of this is to shred a removed temporary file. For example: i=$(mktemp) exec 3<>"$i" rm -- "$i" echo "Hello, world" >&3 shred - >&3 exec 3>- However, the command `shred - >file' does not shred the contents of FILE, since the shell truncates FILE before invoking `shred'. Use the command `shred file' or (if using a Bourne-compatible shell) the command `shred - 1<>file' instead. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Special file types, Next: Changing file attributes, Prev: Basic operations, Up: Top 12 Special file types ********************* This chapter describes commands which create special types of files (and `rmdir', which removes directories, one special file type). Although Unix-like operating systems have markedly fewer special file types than others, not _everything_ can be treated only as the undifferentiated byte stream of "normal files". For example, when a file is created or removed, the system must record this information, which it does in a "directory"--a special type of file. Although you can read directories as normal files, if you're curious, in order for the system to do its job it must impose a structure, a certain order, on the bytes of the file. Thus it is a "special" type of file. Besides directories, other special file types include named pipes (FIFOs), symbolic links, sockets, and so-called "special files". * Menu: * link invocation:: Make a hard link via the link syscall * ln invocation:: Make links between files. * mkdir invocation:: Make directories. * mkfifo invocation:: Make FIFOs (named pipes). * mknod invocation:: Make block or character special files. * readlink invocation:: Print value of a symlink or canonical file name. * rmdir invocation:: Remove empty directories. * unlink invocation:: Remove files via the unlink syscall  File: coreutils.info, Node: link invocation, Next: ln invocation, Up: Special file types 12.1 `link': Make a hard link via the link syscall ================================================== `link' creates a single hard link at a time. It is a minimalist interface to the system-provided `link' function. *Note Hard Links: (libc)Hard Links. It avoids the bells and whistles of the more commonly-used `ln' command (*note ln invocation::). Synopsis: link FILENAME LINKNAME FILENAME must specify an existing file, and LINKNAME must specify a nonexistent entry in an existing directory. `link' simply calls `link (FILENAME, LINKNAME)' to create the link. On a GNU system, this command acts like `ln --directory --no-target-directory FILENAME LINKNAME'. However, the `--directory' and `--no-target-directory' options are not specified by POSIX, and the `link' command is more portable in practice. If FILENAME is a symbolic link, it is unspecified whether LINKNAME will be a hard link to the symbolic link or to the target of the symbolic link. Use `ln -P' or `ln -L' to specify which behavior is desired. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: ln invocation, Next: mkdir invocation, Prev: link invocation, Up: Special file types 12.2 `ln': Make links between files =================================== `ln' makes links between files. By default, it makes hard links; with the `-s' option, it makes symbolic (or "soft") links. Synopses: ln [OPTION]... [-T] TARGET LINKNAME ln [OPTION]... TARGET ln [OPTION]... TARGET... DIRECTORY ln [OPTION]... -t DIRECTORY TARGET... * If two file names are given, `ln' creates a link to the first file from the second. * If one TARGET is given, `ln' creates a link to that file in the current directory. * If the `--target-directory' (`-t') option is given, or failing that if the last file is a directory and the `--no-target-directory' (`-T') option is not given, `ln' creates a link to each TARGET file in the specified directory, using the TARGETs' names. Normally `ln' does not remove existing files. Use the `--force' (`-f') option to remove them unconditionally, the `--interactive' (`-i') option to remove them conditionally, and the `--backup' (`-b') option to rename them. A "hard link" is another name for an existing file; the link and the original are indistinguishable. Technically speaking, they share the same inode, and the inode contains all the information about a file--indeed, it is not incorrect to say that the inode _is_ the file. Most systems prohibit making a hard link to a directory; on those where it is allowed, only the super-user can do so (and with caution, since creating a cycle will cause problems to many other utilities). Hard links cannot cross file system boundaries. (These restrictions are not mandated by POSIX, however.) "Symbolic links" ("symlinks" for short), on the other hand, are a special file type (which not all kernels support: System V release 3 (and older) systems lack symlinks) in which the link file actually refers to a different file, by name. When most operations (opening, reading, writing, and so on) are passed the symbolic link file, the kernel automatically "dereferences" the link and operates on the target of the link. But some operations (e.g., removing) work on the link file itself, rather than on its target. The owner and group of a symlink are not significant to file access performed through the link, but do have implications on deleting a symbolic link from a directory with the restricted deletion bit set. On the GNU system, the mode of a symlink has no significance and cannot be changed, but on some BSD systems, the mode can be changed and will affect whether the symlink will be traversed in file name resolution. *Note Symbolic Links: (libc)Symbolic Links. Symbolic links can contain arbitrary strings; a "dangling symlink" occurs when the string in the symlink does not resolve to a file. There are no restrictions against creating dangling symbolic links. There are trade-offs to using absolute or relative symlinks. An absolute symlink always points to the same file, even if the directory containing the link is moved. However, if the symlink is visible from more than one machine (such as on a networked file system), the file pointed to might not always be the same. A relative symbolic link is resolved in relation to the directory that contains the link, and is often useful in referring to files on the same device without regards to what name that device is mounted on when accessed via networked machines. When creating a relative symlink in a different location than the current directory, the resolution of the symlink will be different than the resolution of the same string from the current directory. Therefore, many users prefer to first change directories to the location where the relative symlink will be created, so that tab-completion or other file resolution will find the same target as what will be placed in the symlink. The program accepts the following options. Also see *note Common options::. `-b' `--backup[=METHOD]' *Note Backup options::. Make a backup of each file that would otherwise be overwritten or removed. `-d' `-F' `--directory' Allow users with appropriate privileges to attempt to make hard links to directories. However, note that this will probably fail due to system restrictions, even for the super-user. `-f' `--force' Remove existing destination files. `-i' `--interactive' Prompt whether to remove existing destination files. `-L' `--logical' If `-s' is not in effect, and the source file is a symbolic link, create the hard link to the file referred to by the symbolic link, rather than the symbolic link itself. `-n' `--no-dereference' Do not treat the last operand specially when it is a symbolic link to a directory. Instead, treat it as if it were a normal file. When the destination is an actual directory (not a symlink to one), there is no ambiguity. The link is created in that directory. But when the specified destination is a symlink to a directory, there are two ways to treat the user's request. `ln' can treat the destination just as it would a normal directory and create the link in it. On the other hand, the destination can be viewed as a non-directory--as the symlink itself. In that case, `ln' must delete or backup that symlink before creating the new link. The default is to treat a destination that is a symlink to a directory just like a directory. This option is weaker than the `--no-target-directory' (`-T') option, so it has no effect if both options are given. `-P' `--physical' If `-s' is not in effect, and the source file is a symbolic link, create the hard link to the symbolic link itself. On platforms where this is not supported by the kernel, this option creates a symbolic link with identical contents; since symbolic link contents cannot be edited, any file name resolution performed through either link will be the same as if a hard link had been created. `-r' `--relative' Make symbolic links relative to the link location. Example: ln -srv /a/file /tmp '/tmp/file' -> '../a/file' *Note realpath invocation::, which gives greater control over relative file name generation. `-s' `--symbolic' Make symbolic links instead of hard links. This option merely produces an error message on systems that do not support symbolic links. `-S SUFFIX' `--suffix=SUFFIX' Append SUFFIX to each backup file made with `-b'. *Note Backup options::. `-t DIRECTORY' `--target-directory=DIRECTORY' Specify the destination DIRECTORY. *Note Target directory::. `-T' `--no-target-directory' Do not treat the last operand specially when it is a directory or a symbolic link to a directory. *Note Target directory::. `-v' `--verbose' Print the name of each file after linking it successfully. If `-L' and `-P' are both given, the last one takes precedence. If `-s' is also given, `-L' and `-P' are silently ignored. If neither option is given, then this implementation defaults to `-P' if the system `link' supports hard links to symbolic links (such as the GNU system), and `-L' if `link' follows symbolic links (such as on BSD). An exit status of zero indicates success, and a nonzero value indicates failure. Examples: Bad Example: # Create link ../a pointing to a in that directory. # Not really useful because it points to itself. ln -s a .. Better Example: # Change to the target before creating symlinks to avoid being confused. cd .. ln -s adir/a . Bad Example: # Hard coded file names don't move well. ln -s $(pwd)/a /some/dir/ Better Example: # Relative file names survive directory moves and also # work across networked file systems. ln -s afile anotherfile ln -s ../adir/afile yetanotherfile  File: coreutils.info, Node: mkdir invocation, Next: mkfifo invocation, Prev: ln invocation, Up: Special file types 12.3 `mkdir': Make directories ============================== `mkdir' creates directories with the specified names. Synopsis: mkdir [OPTION]... NAME... `mkdir' creates each directory NAME in the order given. It reports an error if NAME already exists, unless the `-p' option is given and NAME is a directory. The program accepts the following options. Also see *note Common options::. `-m MODE' `--mode=MODE' Set the file permission bits of created directories to MODE, which uses the same syntax as in `chmod' and uses `a=rwx' (read, write and execute allowed for everyone) for the point of the departure. *Note File permissions::. Normally the directory has the desired file mode bits at the moment it is created. As a GNU extension, MODE may also mention special mode bits, but in this case there may be a temporary window during which the directory exists but its special mode bits are incorrect. *Note Directory Setuid and Setgid::, for how the set-user-ID and set-group-ID bits of directories are inherited unless overridden in this way. `-p' `--parents' Make any missing parent directories for each argument, setting their file permission bits to the umask modified by `u+wx'. Ignore existing parent directories, and do not change their file permission bits. To set the file permission bits of any newly-created parent directories to a value that includes `u+wx', you can set the umask before invoking `mkdir'. For example, if the shell command `(umask u=rwx,go=rx; mkdir -p P/Q)' creates the parent `P' it sets the parent's permission bits to `u=rwx,go=rx'. To set a parent's special mode bits as well, you can invoke `chmod' after `mkdir'. *Note Directory Setuid and Setgid::, for how the set-user-ID and set-group-ID bits of newly-created parent directories are inherited. `-v' `--verbose' Print a message for each created directory. This is most useful with `--parents'. `-Z CONTEXT' `--context=CONTEXT' Set the default SELinux security context to be used for created directories. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: mkfifo invocation, Next: mknod invocation, Prev: mkdir invocation, Up: Special file types 12.4 `mkfifo': Make FIFOs (named pipes) ======================================= `mkfifo' creates FIFOs (also called "named pipes") with the specified names. Synopsis: mkfifo [OPTION] NAME... A "FIFO" is a special file type that permits independent processes to communicate. One process opens the FIFO file for writing, and another for reading, after which data can flow as with the usual anonymous pipe in shells or elsewhere. The program accepts the following option. Also see *note Common options::. `-m MODE' `--mode=MODE' Set the mode of created FIFOs to MODE, which is symbolic as in `chmod' and uses `a=rw' (read and write allowed for everyone) for the point of departure. MODE should specify only file permission bits. *Note File permissions::. `-Z CONTEXT' `--context=CONTEXT' Set the default SELinux security context to be used for created FIFOs. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: mknod invocation, Next: readlink invocation, Prev: mkfifo invocation, Up: Special file types 12.5 `mknod': Make block or character special files =================================================== `mknod' creates a FIFO, character special file, or block special file with the specified name. Synopsis: mknod [OPTION]... NAME TYPE [MAJOR MINOR] Unlike the phrase "special file type" above, the term "special file" has a technical meaning on Unix: something that can generate or receive data. Usually this corresponds to a physical piece of hardware, e.g., a printer or a disk. (These files are typically created at system-configuration time.) The `mknod' command is what creates files of this type. Such devices can be read either a character at a time or a "block" (many characters) at a time, hence we say there are "block special" files and "character special" files. Due to shell aliases and built-in `mknod' functions, using an unadorned `mknod' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env mknod ...') to avoid interference from the shell. The arguments after NAME specify the type of file to make: `p' for a FIFO `b' for a block special file `c' for a character special file When making a block or character special file, the major and minor device numbers must be given after the file type. If a major or minor device number begins with `0x' or `0X', it is interpreted as hexadecimal; otherwise, if it begins with `0', as octal; otherwise, as decimal. The program accepts the following option. Also see *note Common options::. `-m MODE' `--mode=MODE' Set the mode of created files to MODE, which is symbolic as in `chmod' and uses `a=rw' as the point of departure. MODE should specify only file permission bits. *Note File permissions::. `-Z CONTEXT' `--context=CONTEXT' Set the default SELinux security context to be used for created files. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: readlink invocation, Next: rmdir invocation, Prev: mknod invocation, Up: Special file types 12.6 `readlink': Print value of a symlink or canonical file name ================================================================ `readlink' may work in one of two supported modes: `Readlink mode' `readlink' outputs the value of the given symbolic links. If `readlink' is invoked with an argument other than the name of a symbolic link, it produces no output and exits with a nonzero exit code. `Canonicalize mode' `readlink' outputs the absolute name of the given files which contain no `.', `..' components nor any repeated separators (`/') or symbolic links. readlink [OPTION]... FILE... By default, `readlink' operates in readlink mode. The program accepts the following options. Also see *note Common options::. `-f' `--canonicalize' Activate canonicalize mode. If any component of the file name except the last one is missing or unavailable, `readlink' produces no output and exits with a nonzero exit code. A trailing slash is ignored. `-e' `--canonicalize-existing' Activate canonicalize mode. If any component is missing or unavailable, `readlink' produces no output and exits with a nonzero exit code. A trailing slash requires that the name resolve to a directory. `-m' `--canonicalize-missing' Activate canonicalize mode. If any component is missing or unavailable, `readlink' treats it as a directory. `-n' `--no-newline' Do not print the output delimiter, when a single FILE is specified. Print a warning if specified along with multiple FILEs. `-s' `-q' `--silent' `--quiet' Suppress most error messages. `-v' `--verbose' Report error messages. `-z' `--zero' Separate output items with NUL characters. The `readlink' utility first appeared in OpenBSD 2.1. The `realpath' command without options, operates like `readlink' in canonicalize mode. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: rmdir invocation, Next: unlink invocation, Prev: readlink invocation, Up: Special file types 12.7 `rmdir': Remove empty directories ====================================== `rmdir' removes empty directories. Synopsis: rmdir [OPTION]... DIRECTORY... If any DIRECTORY argument does not refer to an existing empty directory, it is an error. The program accepts the following options. Also see *note Common options::. `--ignore-fail-on-non-empty' Ignore each failure to remove a directory that is solely because the directory is non-empty. `-p' `--parents' Remove DIRECTORY, then try to remove each component of DIRECTORY. So, for example, `rmdir -p a/b/c' is similar to `rmdir a/b/c a/b a'. As such, it fails if any of those directories turns out not to be empty. Use the `--ignore-fail-on-non-empty' option to make it so such a failure does not evoke a diagnostic and does not cause `rmdir' to exit unsuccessfully. `-v' `--verbose' Give a diagnostic for each successful removal. DIRECTORY is removed. *Note rm invocation::, for how to remove non-empty directories (recursively). An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: unlink invocation, Prev: rmdir invocation, Up: Special file types 12.8 `unlink': Remove files via the unlink syscall ================================================== `unlink' deletes a single specified file name. It is a minimalist interface to the system-provided `unlink' function. *Note Deleting Files: (libc)Deleting Files. Synopsis: It avoids the bells and whistles of the more commonly-used `rm' command (*note rm invocation::). unlink FILENAME On some systems `unlink' can be used to delete the name of a directory. On others, it can be used that way only by a privileged user. In the GNU system `unlink' can never delete the name of a directory. The `unlink' command honors the `--help' and `--version' options. To remove a file whose name begins with `-', prefix the name with `./', e.g., `unlink ./--help'. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Changing file attributes, Next: Disk usage, Prev: Special file types, Up: Top 13 Changing file attributes *************************** A file is not merely its contents, a name, and a file type (*note Special file types::). A file also has an owner (a user ID), a group (a group ID), permissions (what the owner can do with the file, what people in the group can do, and what everyone else can do), various timestamps, and other information. Collectively, we call these a file's "attributes". These commands change file attributes. * Menu: * chown invocation:: Change file owners and groups. * chgrp invocation:: Change file groups. * chmod invocation:: Change access permissions. * touch invocation:: Change file timestamps.  File: coreutils.info, Node: chown invocation, Next: chgrp invocation, Up: Changing file attributes 13.1 `chown': Change file owner and group ========================================= `chown' changes the user and/or group ownership of each given FILE to NEW-OWNER or to the user and group of an existing reference file. Synopsis: chown [OPTION]... {NEW-OWNER | --reference=REF_FILE} FILE... If used, NEW-OWNER specifies the new owner and/or group as follows (with no embedded white space): [OWNER] [ : [GROUP] ] Specifically: OWNER If only an OWNER (a user name or numeric user ID) is given, that user is made the owner of each given file, and the files' group is not changed. OWNER`:'GROUP If the OWNER is followed by a colon and a GROUP (a group name or numeric group ID), with no spaces between them, the group ownership of the files is changed as well (to GROUP). OWNER`:' If a colon but no group name follows OWNER, that user is made the owner of the files and the group of the files is changed to OWNER's login group. `:'GROUP If the colon and following GROUP are given, but the owner is omitted, only the group of the files is changed; in this case, `chown' performs the same function as `chgrp'. `:' If only a colon is given, or if NEW-OWNER is empty, neither the owner nor the group is changed. If OWNER or GROUP is intended to represent a numeric user or group ID, then you may specify it with a leading `+'. *Note Disambiguating names and IDs::. Some older scripts may still use `.' in place of the `:' separator. POSIX 1003.1-2001 (*note Standards conformance::) does not require support for that, but for backward compatibility GNU `chown' supports `.' so long as no ambiguity results. New scripts should avoid the use of `.' because it is not portable, and because it has undesirable results if the entire OWNER`.'GROUP happens to identify a user whose name contains `.'. The `chown' command sometimes clears the set-user-ID or set-group-ID permission bits. This behavior depends on the policy and functionality of the underlying `chown' system call, which may make system-dependent file mode modifications outside the control of the `chown' command. For example, the `chown' command might not affect those bits when invoked by a user with appropriate privileges, or when the bits signify some function other than executable permission (e.g., mandatory locking). When in doubt, check the underlying system behavior. The program accepts the following options. Also see *note Common options::. `-c' `--changes' Verbosely describe the action for each FILE whose ownership actually changes. `-f' `--silent' `--quiet' Do not print error messages about files whose ownership cannot be changed. `--from=OLD-OWNER' Change a FILE's ownership only if it has current attributes specified by OLD-OWNER. OLD-OWNER has the same form as NEW-OWNER described above. This option is useful primarily from a security standpoint in that it narrows considerably the window of potential abuse. For example, to reflect a user ID numbering change for one user's files without an option like this, `root' might run find / -owner OLDUSER -print0 | xargs -0 chown -h NEWUSER But that is dangerous because the interval between when the `find' tests the existing file's owner and when the `chown' is actually run may be quite large. One way to narrow the gap would be to invoke chown for each file as it is found: find / -owner OLDUSER -exec chown -h NEWUSER {} \; But that is very slow if there are many affected files. With this option, it is safer (the gap is narrower still) though still not perfect: chown -h -R --from=OLDUSER NEWUSER / `--dereference' Do not act on symbolic links themselves but rather on what they point to. This is the default. `-h' `--no-dereference' Act on symbolic links themselves instead of what they point to. This mode relies on the `lchown' system call. On systems that do not provide the `lchown' system call, `chown' fails when a file specified on the command line is a symbolic link. By default, no diagnostic is issued for symbolic links encountered during a recursive traversal, but see `--verbose'. `--preserve-root' Fail upon any attempt to recursively change the root directory, `/'. Without `--recursive', this option has no effect. *Note Treating / specially::. `--no-preserve-root' Cancel the effect of any preceding `--preserve-root' option. *Note Treating / specially::. `--reference=REF_FILE' Change the user and group of each FILE to be the same as those of REF_FILE. If REF_FILE is a symbolic link, do not use the user and group of the symbolic link, but rather those of the file it refers to. `-v' `--verbose' Output a diagnostic for every file processed. If a symbolic link is encountered during a recursive traversal on a system without the `lchown' system call, and `--no-dereference' is in effect, then issue a diagnostic saying neither the symbolic link nor its referent is being changed. `-R' `--recursive' Recursively change ownership of directories and their contents. `-H' If `--recursive' (`-R') is specified and a command line argument is a symbolic link to a directory, traverse it. *Note Traversing symlinks::. `-L' In a recursive traversal, traverse every symbolic link to a directory that is encountered. *Note Traversing symlinks::. `-P' Do not traverse any symbolic links. This is the default if none of `-H', `-L', or `-P' is specified. *Note Traversing symlinks::. An exit status of zero indicates success, and a nonzero value indicates failure. Examples: # Change the owner of /u to "root". chown root /u # Likewise, but also change its group to "staff". chown root:staff /u # Change the owner of /u and subfiles to "root". chown -hR root /u  File: coreutils.info, Node: chgrp invocation, Next: chmod invocation, Prev: chown invocation, Up: Changing file attributes 13.2 `chgrp': Change group ownership ==================================== `chgrp' changes the group ownership of each given FILE to GROUP (which can be either a group name or a numeric group ID) or to the group of an existing reference file. Synopsis: chgrp [OPTION]... {GROUP | --reference=REF_FILE} FILE... If GROUP is intended to represent a numeric group ID, then you may specify it with a leading `+'. *Note Disambiguating names and IDs::. The program accepts the following options. Also see *note Common options::. `-c' `--changes' Verbosely describe the action for each FILE whose group actually changes. `-f' `--silent' `--quiet' Do not print error messages about files whose group cannot be changed. `--dereference' Do not act on symbolic links themselves but rather on what they point to. This is the default. `-h' `--no-dereference' Act on symbolic links themselves instead of what they point to. This mode relies on the `lchown' system call. On systems that do not provide the `lchown' system call, `chgrp' fails when a file specified on the command line is a symbolic link. By default, no diagnostic is issued for symbolic links encountered during a recursive traversal, but see `--verbose'. `--preserve-root' Fail upon any attempt to recursively change the root directory, `/'. Without `--recursive', this option has no effect. *Note Treating / specially::. `--no-preserve-root' Cancel the effect of any preceding `--preserve-root' option. *Note Treating / specially::. `--reference=REF_FILE' Change the group of each FILE to be the same as that of REF_FILE. If REF_FILE is a symbolic link, do not use the group of the symbolic link, but rather that of the file it refers to. `-v' `--verbose' Output a diagnostic for every file processed. If a symbolic link is encountered during a recursive traversal on a system without the `lchown' system call, and `--no-dereference' is in effect, then issue a diagnostic saying neither the symbolic link nor its referent is being changed. `-R' `--recursive' Recursively change the group ownership of directories and their contents. `-H' If `--recursive' (`-R') is specified and a command line argument is a symbolic link to a directory, traverse it. *Note Traversing symlinks::. `-L' In a recursive traversal, traverse every symbolic link to a directory that is encountered. *Note Traversing symlinks::. `-P' Do not traverse any symbolic links. This is the default if none of `-H', `-L', or `-P' is specified. *Note Traversing symlinks::. An exit status of zero indicates success, and a nonzero value indicates failure. Examples: # Change the group of /u to "staff". chgrp staff /u # Change the group of /u and subfiles to "staff". chgrp -hR staff /u  File: coreutils.info, Node: chmod invocation, Next: touch invocation, Prev: chgrp invocation, Up: Changing file attributes 13.3 `chmod': Change access permissions ======================================= `chmod' changes the access permissions of the named files. Synopsis: chmod [OPTION]... {MODE | --reference=REF_FILE} FILE... `chmod' never changes the permissions of symbolic links, since the `chmod' system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, `chmod' changes the permissions of the pointed-to file. In contrast, `chmod' ignores symbolic links encountered during recursive directory traversals. A successful use of `chmod' clears the set-group-ID bit of a regular file if the file's group ID does not match the user's effective group ID or one of the user's supplementary group IDs, unless the user has appropriate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of MODE or REF_FILE to be ignored. This behavior depends on the policy and functionality of the underlying `chmod' system call. When in doubt, check the underlying system behavior. If used, MODE specifies the new file mode bits. For details, see the section on *note File permissions::. If you really want MODE to have a leading `-', you should use `--' first, e.g., `chmod -- -w file'. Typically, though, `chmod a-w file' is preferable, and `chmod -w file' (without the `--') complains if it behaves differently from what `chmod a-w file' would do. The program accepts the following options. Also see *note Common options::. `-c' `--changes' Verbosely describe the action for each FILE whose permissions actually changes. `-f' `--silent' `--quiet' Do not print error messages about files whose permissions cannot be changed. `--preserve-root' Fail upon any attempt to recursively change the root directory, `/'. Without `--recursive', this option has no effect. *Note Treating / specially::. `--no-preserve-root' Cancel the effect of any preceding `--preserve-root' option. *Note Treating / specially::. `-v' `--verbose' Verbosely describe the action or non-action taken for every FILE. `--reference=REF_FILE' Change the mode of each FILE to be the same as that of REF_FILE. *Note File permissions::. If REF_FILE is a symbolic link, do not use the mode of the symbolic link, but rather that of the file it refers to. `-R' `--recursive' Recursively change permissions of directories and their contents. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: touch invocation, Prev: chmod invocation, Up: Changing file attributes 13.4 `touch': Change file timestamps ==================================== `touch' changes the access and/or modification times of the specified files. Synopsis: touch [OPTION]... FILE... Any FILE argument that does not exist is created empty, unless option `--no-create' (`-c') or `--no-dereference' (`-h') was in effect. A FILE argument string of `-' is handled specially and causes `touch' to change the times of the file associated with standard output. By default, `touch' sets file timestamps to the current time. Because `touch' acts on its operands left to right, the resulting timestamps of earlier and later operands may disagree. Also, the determination of what time is "current" depends on the platform. Platforms with network file systems often use different clocks for the operating system and for file systems; because `touch' typically uses file systems' clocks by default, clock skew can cause the resulting file timestamps to appear to be in a program's "future" or "past". The `touch' command sets the file's timestamp to the greatest representable value that is not greater than the requested time. This can differ from the requested time for several reasons. First, the requested time may have a higher resolution than supported. Second, a file system may use different resolutions for different types of times. Third, file timestamps may use a different resolution than operating system timestamps. Fourth, the operating system primitives used to update timestamps may employ yet a different resolution. For example, in theory a file system might use 10-microsecond resolution for access time and 100-nanosecond resolution for modification time, and the operating system might use nanosecond resolution for the current time and microsecond resolution for the primitive that `touch' uses to set a file's timestamp to an arbitrary value. When setting file timestamps to the current time, `touch' can change the timestamps for files that the user does not own but has write permission for. Otherwise, the user must own the files. Some older systems have a further restriction: the user must own the files unless both the access and modification times are being set to the current time. Although `touch' provides options for changing two of the times--the times of last access and modification--of a file, there is actually a standard third one as well: the inode change time. This is often referred to as a file's `ctime'. The inode change time represents the time when the file's meta-information last changed. One common example of this is when the permissions of a file change. Changing the permissions doesn't access the file, so the atime doesn't change, nor does it modify the file, so the mtime doesn't change. Yet, something about the file itself has changed, and this must be noted somewhere. This is the job of the ctime field. This is necessary, so that, for example, a backup program can make a fresh copy of the file, including the new permissions value. Another operation that modifies a file's ctime without affecting the others is renaming. In any case, it is not possible, in normal operations, for a user to change the ctime field to a user-specified value. Some operating systems and file systems support a fourth time: the birth time, when the file was first created; by definition, this timestamp never changes. Time stamps assume the time zone rules specified by the `TZ' environment variable, or by the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. You can avoid ambiguities during daylight saving transitions by using UTC time stamps. The program accepts the following options. Also see *note Common options::. `-a' `--time=atime' `--time=access' `--time=use' Change the access time only. `-c' `--no-create' Do not warn about or create files that do not exist. `-d' `--date=TIME' Use TIME instead of the current time. It can contain month names, time zones, `am' and `pm', `yesterday', etc. For example, `--date="2004-02-27 14:19:13.489392193 +0530"' specifies the instant of time that is 489,392,193 nanoseconds after February 27, 2004 at 2:19:13 PM in a time zone that is 5 hours and 30 minutes east of UTC. *Note Date input formats::. File systems that do not support high-resolution time stamps silently ignore any excess precision here. `-f' Ignored; for compatibility with BSD versions of `touch'. `-h' `--no-dereference' Attempt to change the timestamps of a symbolic link, rather than what the link refers to. When using this option, empty files are not created, but option `-c' must also be used to avoid warning about files that do not exist. Not all systems support changing the timestamps of symlinks, since underlying system support for this action was not required until POSIX 2008. Also, on some systems, the mere act of examining a symbolic link changes the access time, such that only changes to the modification time will persist long enough to be observable. When coupled with option `-r', a reference timestamp is taken from a symbolic link rather than the file it refers to. `-m' `--time=mtime' `--time=modify' Change the modification time only. `-r FILE' `--reference=FILE' Use the times of the reference FILE instead of the current time. If this option is combined with the `--date=TIME' (`-d TIME') option, the reference FILE's time is the origin for any relative TIMEs given, but is otherwise ignored. For example, `-r foo -d '-5 seconds'' specifies a time stamp equal to five seconds before the corresponding time stamp for `foo'. If FILE is a symbolic link, the reference timestamp is taken from the target of the symlink, unless `-h' was also in effect. `-t [[CC]YY]MMDDHHMM[.SS]' Use the argument (optional four-digit or two-digit years, months, days, hours, minutes, optional seconds) instead of the current time. If the year is specified with only two digits, then CC is 20 for years in the range 0 ... 68, and 19 for years in 69 ... 99. If no digits of the year are specified, the argument is interpreted as a date in the current year. On the atypical systems that support leap seconds, SS may be `60'. On older systems, `touch' supports an obsolete syntax, as follows. If no timestamp is given with any of the `-d', `-r', or `-t' options, and if there are two or more FILEs and the first FILE is of the form `MMDDHHMM[YY]' and this would be a valid argument to the `-t' option (if the YY, if any, were moved to the front), and if the represented year is in the range 1969-1999, that argument is interpreted as the time for the other files instead of as a file name. This obsolete behavior can be enabled or disabled with the `_POSIX2_VERSION' environment variable (*note Standards conformance::), but portable scripts should avoid commands whose behavior depends on this variable. For example, use `touch ./12312359 main.c' or `touch -t 12312359 main.c' rather than the ambiguous `touch 12312359 main.c'. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Disk usage, Next: Printing text, Prev: Changing file attributes, Up: Top 14 Disk usage ************* No disk can hold an infinite amount of data. These commands report how much disk storage is in use or available, report other file and file status information, and write buffers to disk. * Menu: * df invocation:: Report file system disk space usage. * du invocation:: Estimate file space usage. * stat invocation:: Report file or file system status. * sync invocation:: Synchronize memory and disk. * truncate invocation:: Shrink or extend the size of a file.  File: coreutils.info, Node: df invocation, Next: du invocation, Up: Disk usage 14.1 `df': Report file system disk space usage ============================================== `df' reports the amount of disk space used and available on file systems. Synopsis: df [OPTION]... [FILE]... With no arguments, `df' reports the space used and available on all currently mounted file systems (of all types). Otherwise, `df' reports on the file system containing each argument FILE. Normally the disk space is printed in units of 1024 bytes, but this can be overridden (*note Block size::). Non-integer quantities are rounded up to the next higher unit. For bind mounts and without arguments, `df' only outputs the statistics for that device with the shortest mount point name in the list of file systems (MTAB), i.e., it hides duplicate entries, unless the `-a' option is specified. With the same logic, `df' elides a mount entry of a dummy pseude device if there is another mount entry of a real block device for that mount point with the same device number, e.g. the early-boot pseudo file system `rootfs' is not shown per default when already the real root device has been mounted. If an argument FILE is a disk device file containing a mounted file system, `df' shows the space available on that file system rather than on the file system containing the device node (i.e., the root file system). GNU `df' does not attempt to determine the disk usage on unmounted file systems, because on most kinds of systems doing so requires extremely nonportable intimate knowledge of file system structures. The program accepts the following options. Also see *note Common options::. `-a' `--all' Include in the listing dummy file systems, which are omitted by default. Such file systems are typically special-purpose pseudo-file-systems, such as automounter entries. `-B SIZE' `--block-size=SIZE' Scale sizes by SIZE before printing them (*note Block size::). For example, `-BG' prints sizes in units of 1,073,741,824 bytes. `--total' Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk size, usage and available space of all listed devices. For the grand total line, `df' prints `"total"' into the SOURCE column, and `"-"' into the TARGET column. If there is no SOURCE column (see `--output'), then `df' prints `"total"' into the TARGET column, if present. `-h' `--human-readable' Append a size letter to each size, such as `M' for mebibytes. Powers of 1024 are used, not 1000; `M' stands for 1,048,576 bytes. This option is equivalent to `--block-size=human-readable'. Use the `--si' option if you prefer powers of 1000. `-H' Equivalent to `--si'. `-i' `--inodes' List inode usage information instead of block usage. An inode (short for index node) contains information about a file such as its owner, permissions, timestamps, and location on the disk. `-k' Print sizes in 1024-byte blocks, overriding the default block size (*note Block size::). This option is equivalent to `--block-size=1K'. `-l' `--local' Limit the listing to local file systems. By default, remote file systems are also listed. `--no-sync' Do not invoke the `sync' system call before getting any usage data. This may make `df' run significantly faster on systems with many disks, but on some systems (notably SunOS) the results may be slightly out of date. This is the default. `--output' `--output[=FIELD_LIST]' Use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. In the latter case, the order of the columns conforms to the order of the field descriptions below. The use of the `--output' together with each of the options `-i', `-P', and `-T' is mutually exclusive. FIELD_LIST is a comma-separated list of columns to be included in `df''s output and therefore effectively controls the order of output columns. Each field can thus be used at the place of choice, but yet must only be used once. Valid field names in the FIELD_LIST are: `source' The source of the mount point, usually a device. `fstype' File system type. `itotal' Total number of inodes. `iused' Number of used inodes. `iavail' Number of available inodes. `ipcent' Percentage of IUSED divided by ITOTAL. `size' Total number of blocks. `used' Number of used blocks. `avail' Number of available blocks. `pcent' Percentage of USED divided by SIZE. `target' The mount point. The fields for block and inodes statistics are affected by the scaling options like `-h' as usual. The definition of the FIELD_LIST can even be splitted among several `--output' uses. #!/bin/sh # Print the TARGET (i.e., the mount point) along with their percentage # statistic regarding the blocks and the inodes. df --out=target --output=pcent,ipcent # Print all available fields. df --o `-P' `--portability' Use the POSIX output format. This is like the default format except for the following: 1. The information about each file system is always printed on exactly one line; a mount device is never put on a line by itself. This means that if the mount device name is more than 20 characters long (e.g., for some network mounts), the columns are misaligned. 2. The labels in the header output line are changed to conform to POSIX. 3. The default block size and output format are unaffected by the `DF_BLOCK_SIZE', `BLOCK_SIZE' and `BLOCKSIZE' environment variables. However, the default block size is still affected by `POSIXLY_CORRECT': it is 512 if `POSIXLY_CORRECT' is set, 1024 otherwise. *Note Block size::. `--si' Append an SI-style abbreviation to each size, such as `M' for megabytes. Powers of 1000 are used, not 1024; `M' stands for 1,000,000 bytes. This option is equivalent to `--block-size=si'. Use the `-h' or `--human-readable' option if you prefer powers of 1024. `--sync' Invoke the `sync' system call before getting any usage data. On some systems (notably SunOS), doing this yields more up to date results, but in general this option makes `df' much slower, especially when there are many or very busy file systems. `-t FSTYPE' `--type=FSTYPE' Limit the listing to file systems of type FSTYPE. Multiple file system types can be specified by giving multiple `-t' options. By default, nothing is omitted. `-T' `--print-type' Print each file system's type. The types printed here are the same ones you can include or exclude with `-t' and `-x'. The particular types printed are whatever is supported by the system. Here are some of the common names (this list is certainly not exhaustive): `nfs' An NFS file system, i.e., one mounted over a network from another machine. This is the one type name which seems to be used uniformly by all systems. `4.2, ufs, efs...' A file system on a locally-mounted hard disk. (The system might even support more than one type here; Linux does.) `hsfs, cdfs' A file system on a CD-ROM drive. HP-UX uses `cdfs', most other systems use `hsfs' (`hs' for "High Sierra"). `pcfs' An MS-DOS file system, usually on a diskette. `-x FSTYPE' `--exclude-type=FSTYPE' Limit the listing to file systems not of type FSTYPE. Multiple file system types can be eliminated by giving multiple `-x' options. By default, no file system types are omitted. `-v' Ignored; for compatibility with System V versions of `df'. An exit status of zero indicates success, and a nonzero value indicates failure. Failure includes the case where no output is generated, so you can inspect the exit status of a command like `df -t ext3 -t reiserfs DIR' to test whether DIR is on a file system of type `ext3' or `reiserfs'. Since the list of file systems (MTAB) is needed to determine the file system type, failure includes the cases when that list cannot be read and one or more of the options `-a', `-l', `-t' or `-x' is used together with a file name argument.  File: coreutils.info, Node: du invocation, Next: stat invocation, Prev: df invocation, Up: Disk usage 14.2 `du': Estimate file space usage ==================================== `du' reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). Synopsis: du [OPTION]... [FILE]... With no arguments, `du' reports the disk space for the current directory. Normally the disk space is printed in units of 1024 bytes, but this can be overridden (*note Block size::). Non-integer quantities are rounded up to the next higher unit. If two or more hard links point to the same file, only one of the hard links is counted. The FILE argument order affects which links are counted, and changing the argument order may change the numbers that `du' outputs. The program accepts the following options. Also see *note Common options::. `-0' `--null' Output a zero byte (ASCII NUL) at the end of each line, rather than a newline. This option enables other programs to parse the output of `du' even when that output would contain data with embedded newlines. `-a' `--all' Show counts for all files, not just directories. `--apparent-size' Print apparent sizes, rather than disk usage. The apparent size of a file is the number of bytes reported by `wc -c' on regular files, or more generally, `ls -l --block-size=1' or `stat --format=%s'. For example, a file containing the word `zoo' with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 KiB or more of disk space, depending on the type and configuration of the file system on which the file resides. However, a sparse file created with this command: dd bs=1 seek=2GiB if=/dev/null of=big has an apparent size of 2 GiB, yet on most modern systems, it actually uses almost no disk space. `-B SIZE' `--block-size=SIZE' Scale sizes by SIZE before printing them (*note Block size::). For example, `-BG' prints sizes in units of 1,073,741,824 bytes. `-b' `--bytes' Equivalent to `--apparent-size --block-size=1'. `-c' `--total' Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk usage of a given set of files or directories. `-D' `--dereference-args' Dereference symbolic links that are command line arguments. Does not affect other symbolic links. This is helpful for finding out the disk usage of directories, such as `/usr/tmp', which are often symbolic links. `-d DEPTH' `--max-depth=DEPTH' Show the total for each directory (and file if -all) that is at most MAX_DEPTH levels down from the root of the hierarchy. The root is at level 0, so `du --max-depth=0' is equivalent to `du -s'. `--files0-from=FILE' Disallow processing files named on the command line, and instead process those named in file FILE; each name being terminated by a zero byte (ASCII NUL). This is useful when the list of file names is so long that it may exceed a command line length limitation. In such cases, running `du' via `xargs' is undesirable because it splits the list into pieces and makes `du' print with the `--total' (`-c') option for each sublist rather than for the entire list. One way to produce a list of ASCII NUL terminated file names is with GNU `find', using its `-print0' predicate. If FILE is `-' then the ASCII NUL terminated file names are read from standard input. `-H' Equivalent to `--dereference-args' (`-D'). `-h' `--human-readable' Append a size letter to each size, such as `M' for mebibytes. Powers of 1024 are used, not 1000; `M' stands for 1,048,576 bytes. This option is equivalent to `--block-size=human-readable'. Use the `--si' option if you prefer powers of 1000. `-k' Print sizes in 1024-byte blocks, overriding the default block size (*note Block size::). This option is equivalent to `--block-size=1K'. `-L' `--dereference' Dereference symbolic links (show the disk space used by the file or directory that the link points to instead of the space used by the link). `-l' `--count-links' Count the size of all files, even if they have appeared already (as a hard link). `-m' Print sizes in 1,048,576-byte blocks, overriding the default block size (*note Block size::). This option is equivalent to `--block-size=1M'. `-P' `--no-dereference' For each symbolic links encountered by `du', consider the disk space used by the symbolic link. `-S' `--separate-dirs' Normally, in the output of `du' (when not using `--summarize'), the size listed next to a directory name, D, represents the sum of sizes of all entries beneath D as well as the size of D itself. With `--separate-dirs', the size reported for a directory name, D, is merely the `stat.st_size'-derived size of the directory entry, D. `--si' Append an SI-style abbreviation to each size, such as `M' for megabytes. Powers of 1000 are used, not 1024; `M' stands for 1,000,000 bytes. This option is equivalent to `--block-size=si'. Use the `-h' or `--human-readable' option if you prefer powers of 1024. `-s' `--summarize' Display only a total for each argument. `-t SIZE' `--threshold=SIZE' Exclude entries based on a given SIZE (*note Block size::). If SIZE is positive, then `du' will only print entries with a size greater than or equal to that. If SIZE is negative, then `du' will only print entries with a size smaller than or equal to that. Although GNU `find' can be used to find files of a certain size, `du''s `--threshold' option can be used to also filter directories based on a given size. Please note that the `--threshold' option can be combined with the `--apparent-size' option, and in this case would elide entries based on its apparent size. Here's how you would use `--threshold' to find directories with a size greater than or equal to 200 megabytes: du --threshold=200MB Here's how you would use `--threshold' to find directories and files - note the `-a' - with an apparent size smaller than or equal to 500 bytes: du -a -t -500 --apparent-size `--time' Show time of the most recent modification of any file in the directory, or any of its subdirectories. `--time=ctime' `--time=status' `--time=use' Show the most recent status change time (the `ctime' in the inode) of any file in the directory, instead of the modification time. `--time=atime' `--time=access' Show the most recent access time (the `atime' in the inode) of any file in the directory, instead of the modification time. `--time-style=STYLE' List timestamps in style STYLE. This option has an effect only if the `--time' option is also specified. The STYLE should be one of the following: `+FORMAT' List timestamps using FORMAT, where FORMAT is interpreted like the format argument of `date' (*note date invocation::). For example, `--time-style="+%Y-%m-%d %H:%M:%S"' causes `du' to list timestamps like `2002-03-30 23:45:56'. As with `date', FORMAT's interpretation is affected by the `LC_TIME' locale category. `full-iso' List timestamps in full using ISO 8601 date, time, and time zone format with nanosecond precision, e.g., `2002-03-30 23:45:56.477817180 -0700'. This style is equivalent to `+%Y-%m-%d %H:%M:%S.%N %z'. `long-iso' List ISO 8601 date and time in minutes, e.g., `2002-03-30 23:45'. These timestamps are shorter than `full-iso' timestamps, and are usually good enough for everyday work. This style is equivalent to `+%Y-%m-%d %H:%M'. `iso' List ISO 8601 dates for timestamps, e.g., `2002-03-30'. This style is equivalent to `+%Y-%m-%d'. You can specify the default value of the `--time-style' option with the environment variable `TIME_STYLE'; if `TIME_STYLE' is not set the default style is `long-iso'. For compatibility with `ls', if `TIME_STYLE' begins with `+' and contains a newline, the newline and any later characters are ignored; if `TIME_STYLE' begins with `posix-' the `posix-' is ignored; and if `TIME_STYLE' is `locale' it is ignored. `-X FILE' `--exclude-from=FILE' Like `--exclude', except take the patterns to exclude from FILE, one per line. If FILE is `-', take the patterns from standard input. `--exclude=PATTERN' When recursing, skip subdirectories or files matching PATTERN. For example, `du --exclude='*.o'' excludes files whose names end in `.o'. `-x' `--one-file-system' Skip directories that are on different file systems from the one that the argument being processed is on. On BSD systems, `du' reports sizes that are half the correct values for files that are NFS-mounted from HP-UX systems. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX `du' program. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: stat invocation, Next: sync invocation, Prev: du invocation, Up: Disk usage 14.3 `stat': Report file or file system status ============================================== `stat' displays information about the specified file(s). Synopsis: stat [OPTION]... [FILE]... With no option, `stat' reports all information about the given files. But it also can be used to report the information of the file systems the given files are located on. If the files are links, `stat' can also give information about the files the links point to. Due to shell aliases and built-in `stat' functions, using an unadorned `stat' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env stat ...') to avoid interference from the shell. `-L' `--dereference' Change how `stat' treats symbolic links. With this option, `stat' acts on the file referenced by each symbolic link argument. Without it, `stat' acts on any symbolic link argument directly. `-f' `--file-system' Report information about the file systems where the given files are located instead of information about the files themselves. This option implies the `-L' option. `-c' `--format=FORMAT' Use FORMAT rather than the default format. FORMAT is automatically newline-terminated, so running a command like the following with two or more FILE operands produces a line of output for each operand: $ stat --format=%d:%i / /usr 2050:2 2057:2 `--printf=FORMAT' Use FORMAT rather than the default format. Like `--format', but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include `\n' in the FORMAT. Here's how you would use `--printf' to print the device and inode numbers of `/' and `/usr': $ stat --printf='%d:%i\n' / /usr 2050:2 2057:2 `-t' `--terse' Print the information in terse form, suitable for parsing by other programs. The valid FORMAT directives for files with `--format' and `--printf' are: * %a - Access rights in octal * %A - Access rights in human readable form * %b - Number of blocks allocated (see `%B') * %B - The size in bytes of each block reported by `%b' * %C - The SELinux security context of a file, if available * %d - Device number in decimal * %D - Device number in hex * %f - Raw mode in hex * %F - File type * %g - Group ID of owner * %G - Group name of owner * %h - Number of hard links * %i - Inode number * %m - Mount point (See note below) * %n - File name * %N - Quoted file name with dereference if symbolic link * %o - Optimal I/O transfer size hint * %s - Total size, in bytes * %t - Major device type in hex * %T - Minor device type in hex * %u - User ID of owner * %U - User name of owner * %w - Time of file birth, or `-' if unknown * %W - Time of file birth as seconds since Epoch, or `0' * %x - Time of last access * %X - Time of last access as seconds since Epoch * %y - Time of last modification * %Y - Time of last modification as seconds since Epoch * %z - Time of last change * %Z - Time of last change as seconds since Epoch The `%W', `%X', `%Y', and `%Z' formats accept a precision preceded by a period to specify the number of digits to print after the decimal point. For example, `%.3X' outputs the last access time to millisecond precision. If a period is given but no precision, `stat' uses 9 digits, so `%.X' is equivalent to `%.9X'. When discarding excess precision, time stamps are truncated toward minus infinity. zero pad: $ stat -c '[%015Y]' /usr [000001288929712] space align: $ stat -c '[%15Y]' /usr [ 1288929712] $ stat -c '[%-15Y]' /usr [1288929712 ] precision: $ stat -c '[%.3Y]' /usr [1288929712.114] $ stat -c '[%.Y]' /usr [1288929712.114951834] The mount point printed by `%m' is similar to that output by `df', except that: * stat does not dereference symlinks by default (unless `-L' is specified) * stat does not search for specified device nodes in the file system list, instead operating on them directly * stat outputs the alias for a bind mounted file, rather than the initial mount point of its backing device. One can recursively call stat until there is no change in output, to get the current base mount point When listing file system information (`--file-system' (`-f')), you must use a different set of FORMAT directives: * %a - Free blocks available to non-super-user * %b - Total data blocks in file system * %c - Total file nodes in file system * %d - Free file nodes in file system * %f - Free blocks in file system * %i - File System ID in hex * %l - Maximum length of file names * %n - File name * %s - Block size (for faster transfers) * %S - Fundamental block size (for block counts) * %t - Type in hex * %T - Type in human readable form Time stamps are listed according to the time zone rules specified by the `TZ' environment variable, or by the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: sync invocation, Next: truncate invocation, Prev: stat invocation, Up: Disk usage 14.4 `sync': Synchronize data on disk with memory ================================================= `sync' writes any data buffered in memory out to disk. This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes. This must be implemented by the kernel; The `sync' program does nothing but exercise the `sync' system call. The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes. This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. The `sync' command ensures everything in memory is written to disk. Any arguments are ignored, except for a lone `--help' or `--version' (*note Common options::). An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: truncate invocation, Prev: sync invocation, Up: Disk usage 14.5 `truncate': Shrink or extend the size of a file ==================================================== `truncate' shrinks or extends the size of each FILE to the specified size. Synopsis: truncate OPTION... FILE... Any FILE that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (or hole) reads as zero bytes. The program accepts the following options. Also see *note Common options::. `-c' `--no-create' Do not create files that do not exist. `-o' `--io-blocks' Treat SIZE as number of I/O blocks of the FILE rather than bytes. `-r RFILE' `--reference=RFILE' Base the size of each FILE on the size of RFILE. `-s SIZE' `--size=SIZE' Set or adjust the size of each FILE according to SIZE. SIZE may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. SIZE may also be prefixed by one of the following to adjust the size of each FILE based on their current size: `+' => extend by `-' => reduce by `<' => at most `>' => at least `/' => round down to multiple of `%' => round up to multiple of An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Printing text, Next: Conditions, Prev: Disk usage, Up: Top 15 Printing text **************** This section describes commands that display text strings. * Menu: * echo invocation:: Print a line of text. * printf invocation:: Format and print data. * yes invocation:: Print a string until interrupted.  File: coreutils.info, Node: echo invocation, Next: printf invocation, Up: Printing text 15.1 `echo': Print a line of text ================================= `echo' writes each given STRING to standard output, with a space between each and a newline after the last one. Synopsis: echo [OPTION]... [STRING]... Due to shell aliases and built-in `echo' functions, using an unadorned `echo' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env echo ...') to avoid interference from the shell. The program accepts the following options. Also see *note Common options::. Options must precede operands, and the normally-special argument `--' has no special meaning and is treated like any other STRING. `-n' Do not output the trailing newline. `-e' Enable interpretation of the following backslash-escaped characters in each STRING: `\a' alert (bell) `\b' backspace `\c' produce no further output `\e' escape `\f' form feed `\n' newline `\r' carriage return `\t' horizontal tab `\v' vertical tab `\\' backslash `\0NNN' the eight-bit value that is the octal number NNN (zero to three octal digits), if NNN is a nine-bit value, the ninth bit is ignored `\NNN' the eight-bit value that is the octal number NNN (one to three octal digits), if NNN is a nine-bit value, the ninth bit is ignored `\xHH' the eight-bit value that is the hexadecimal number HH (one or two hexadecimal digits) `-E' Disable interpretation of backslash escapes in each STRING. This is the default. If `-e' and `-E' are both specified, the last one given takes effect. If the `POSIXLY_CORRECT' environment variable is set, then when `echo''s first argument is not `-n' it outputs option-like arguments instead of treating them as options. For example, `echo -ne hello' outputs `-ne hello' instead of plain `hello'. POSIX does not require support for any options, and says that the behavior of `echo' is implementation-defined if any STRING contains a backslash or if the first argument is `-n'. Portable programs can use the `printf' command if they need to omit trailing newlines or output control characters or backslashes. *Note printf invocation::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: printf invocation, Next: yes invocation, Prev: echo invocation, Up: Printing text 15.2 `printf': Format and print data ==================================== `printf' does formatted printing of text. Synopsis: printf FORMAT [ARGUMENT]... `printf' prints the FORMAT string, interpreting `%' directives and `\' escapes to format numeric and string arguments in a way that is mostly similar to the C `printf' function. *Note `printf' format directives: (libc)Output Conversion Syntax, for details. The differences are listed below. Due to shell aliases and built-in `printf' functions, using an unadorned `printf' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env printf ...') to avoid interference from the shell. * The FORMAT argument is reused as necessary to convert all the given ARGUMENTs. For example, the command `printf %s a b' outputs `ab'. * Missing ARGUMENTs are treated as null strings or as zeros, depending on whether the context expects a string or a number. For example, the command `printf %sx%d' prints `x0'. * An additional escape, `\c', causes `printf' to produce no further output. For example, the command `printf 'A%sC\cD%sF' B E' prints `ABC'. * The hexadecimal escape sequence `\xHH' has at most two digits, as opposed to C where it can have an unlimited number of digits. For example, the command `printf '\x07e'' prints two bytes, whereas the C statement `printf ("\x07e")' prints just one. * `printf' has an additional directive, `%b', which prints its argument string with `\' escapes interpreted in the same way as in the FORMAT string, except that octal escapes are of the form `\0OOO' where OOO is 0 to 3 octal digits. If `\OOO' is nine-bit value, ignore the ninth bit. If a precision is also given, it limits the number of bytes printed from the converted string. * Numeric arguments must be single C constants, possibly with leading `+' or `-'. For example, `printf %.4d -3' outputs `-0003'. * If the leading character of a numeric argument is `"' or `'' then its value is the numeric value of the immediately following character. Any remaining characters are silently ignored if the `POSIXLY_CORRECT' environment variable is set; otherwise, a warning is printed. For example, `printf "%d" "'a"' outputs `97' on hosts that use the ASCII character set, since `a' has the numeric value 97 in ASCII. A floating-point argument must use a period before any fractional digits, but is printed according to the `LC_NUMERIC' category of the current locale. For example, in a locale whose radix character is a comma, the command `printf %g 3.14' outputs `3,14' whereas the command `printf %g 3,14' is an error. *Note Floating point::. `printf' interprets `\OOO' in FORMAT as an octal number (if OOO is 1 to 3 octal digits) specifying a byte to print, and `\xHH' as a hexadecimal number (if HH is 1 to 2 hex digits) specifying a character to print. Note however that when `\OOO' specifies a number larger than 255, `printf' ignores the ninth bit. For example, `printf '\400'' is equivalent to `printf '\0''. `printf' interprets two character syntaxes introduced in ISO C 99: `\u' for 16-bit Unicode (ISO/IEC 10646) characters, specified as four hexadecimal digits HHHH, and `\U' for 32-bit Unicode characters, specified as eight hexadecimal digits HHHHHHHH. `printf' outputs the Unicode characters according to the `LC_CTYPE' locale. Unicode characters in the ranges U+0000...U+009F, U+D800...U+DFFF cannot be specified by this syntax, except for U+0024 ($), U+0040 (@), and U+0060 ()`. The processing of `\u' and `\U' requires a full-featured `iconv' facility. It is activated on systems with glibc 2.2 (or newer), or when `libiconv' is installed prior to this package. Otherwise `\u' and `\U' will print as-is. The only options are a lone `--help' or `--version'. *Note Common options::. Options must precede operands. The Unicode character syntaxes are useful for writing strings in a locale independent way. For example, a string containing the Euro currency symbol $ env printf '\u20AC 14.95' will be output correctly in all locales supporting the Euro symbol (ISO-8859-15, UTF-8, and others). Similarly, a Chinese string $ env printf '\u4e2d\u6587' will be output correctly in all Chinese locales (GB2312, BIG5, UTF-8, etc). Note that in these examples, the `printf' command has been invoked via `env' to ensure that we run the program found via your shell's search path, and not a shell alias or a built-in function. For larger strings, you don't need to look up the hexadecimal code values of each character one by one. ASCII characters mixed with \u escape sequences is also known as the JAVA source file encoding. You can use GNU recode 3.5c (or newer) to convert strings to this encoding. Here is how to convert a piece of text into a shell script which will output this text in a locale-independent way: $ LC_CTYPE=zh_CN.big5 /usr/local/bin/printf \ '\u4e2d\u6587\n' > sample.txt $ recode BIG5..JAVA < sample.txt \ | sed -e "s|^|/usr/local/bin/printf '|" -e "s|$|\\\\n'|" \ > sample.sh An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: yes invocation, Prev: printf invocation, Up: Printing text 15.3 `yes': Print a string until interrupted ============================================ `yes' prints the command line arguments, separated by spaces and followed by a newline, forever until it is killed. If no arguments are given, it prints `y' followed by a newline forever until killed. Upon a write error, `yes' exits with status `1'. The only options are a lone `--help' or `--version'. To output an argument that begins with `-', precede it with `--', e.g., `yes -- --help'. *Note Common options::.  File: coreutils.info, Node: Conditions, Next: Redirection, Prev: Printing text, Up: Top 16 Conditions ************* This section describes commands that are primarily useful for their exit status, rather than their output. Thus, they are often used as the condition of shell `if' statements, or as the last command in a pipeline. * Menu: * false invocation:: Do nothing, unsuccessfully. * true invocation:: Do nothing, successfully. * test invocation:: Check file types and compare values. * expr invocation:: Evaluate expressions.  File: coreutils.info, Node: false invocation, Next: true invocation, Up: Conditions 16.1 `false': Do nothing, unsuccessfully ======================================== `false' does nothing except return an exit status of 1, meaning "failure". It can be used as a place holder in shell scripts where an unsuccessful command is needed. In most modern shells, `false' is a built-in command, so when you use `false' in a script, you're probably using the built-in command, not the one documented here. `false' honors the `--help' and `--version' options. This version of `false' is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts. Note that `false' (unlike all other programs documented herein) exits unsuccessfully, even when invoked with `--help' or `--version'. Portable programs should not assume that the exit status of `false' is 1, as it is greater than 1 on some non-GNU hosts.  File: coreutils.info, Node: true invocation, Next: test invocation, Prev: false invocation, Up: Conditions 16.2 `true': Do nothing, successfully ===================================== `true' does nothing except return an exit status of 0, meaning "success". It can be used as a place holder in shell scripts where a successful command is needed, although the shell built-in command `:' (colon) may do the same thing faster. In most modern shells, `true' is a built-in command, so when you use `true' in a script, you're probably using the built-in command, not the one documented here. `true' honors the `--help' and `--version' options. Note, however, that it is possible to cause `true' to exit with nonzero status: with the `--help' or `--version' option, and with standard output already closed or redirected to a file that evokes an I/O error. For example, using a Bourne-compatible shell: $ ./true --version >&- ./true: write error: Bad file number $ ./true --version > /dev/full ./true: write error: No space left on device This version of `true' is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts.  File: coreutils.info, Node: test invocation, Next: expr invocation, Prev: true invocation, Up: Conditions 16.3 `test': Check file types and compare values ================================================ `test' returns a status of 0 (true) or 1 (false) depending on the evaluation of the conditional expression EXPR. Each part of the expression must be a separate argument. `test' has file status checks, string operators, and numeric comparison operators. `test' has an alternate form that uses opening and closing square brackets instead a leading `test'. For example, instead of `test -d /', you can write `[ -d / ]'. The square brackets must be separate arguments; for example, `[-d /]' does not have the desired effect. Since `test EXPR' and `[ EXPR ]' have the same meaning, only the former form is discussed below. Synopses: test EXPRESSION test [ EXPRESSION ] [ ] [ OPTION Due to shell aliases and built-in `test' functions, using an unadorned `test' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env test ...') to avoid interference from the shell. If EXPRESSION is omitted, `test' returns false. If EXPRESSION is a single argument, `test' returns false if the argument is null and true otherwise. The argument can be any string, including strings like `-d', `-1', `--', `--help', and `--version' that most other programs would treat as options. To get help and version information, invoke the commands `[ --help' and `[ --version', without the usual closing brackets. *Note Common options::. Exit status: 0 if the expression is true, 1 if the expression is false, 2 if an error occurred. * Menu: * File type tests:: -[bcdfhLpSt] * Access permission tests:: -[gkruwxOG] * File characteristic tests:: -e -s -nt -ot -ef * String tests:: -z -n = == != * Numeric tests:: -eq -ne -lt -le -gt -ge * Connectives for test:: ! -a -o  File: coreutils.info, Node: File type tests, Next: Access permission tests, Up: test invocation 16.3.1 File type tests ---------------------- These options test for particular types of files. (Everything's a file, but not all files are the same!) `-b FILE' True if FILE exists and is a block special device. `-c FILE' True if FILE exists and is a character special device. `-d FILE' True if FILE exists and is a directory. `-f FILE' True if FILE exists and is a regular file. `-h FILE' `-L FILE' True if FILE exists and is a symbolic link. Unlike all other file-related tests, this test does not dereference FILE if it is a symbolic link. `-p FILE' True if FILE exists and is a named pipe. `-S FILE' True if FILE exists and is a socket. `-t FD' True if FD is a file descriptor that is associated with a terminal.  File: coreutils.info, Node: Access permission tests, Next: File characteristic tests, Prev: File type tests, Up: test invocation 16.3.2 Access permission tests ------------------------------ These options test for particular access permissions. `-g FILE' True if FILE exists and has its set-group-ID bit set. `-k FILE' True if FILE exists and has its "sticky" bit set. `-r FILE' True if FILE exists and read permission is granted. `-u FILE' True if FILE exists and has its set-user-ID bit set. `-w FILE' True if FILE exists and write permission is granted. `-x FILE' True if FILE exists and execute permission is granted (or search permission, if it is a directory). `-O FILE' True if FILE exists and is owned by the current effective user ID. `-G FILE' True if FILE exists and is owned by the current effective group ID.  File: coreutils.info, Node: File characteristic tests, Next: String tests, Prev: Access permission tests, Up: test invocation 16.3.3 File characteristic tests -------------------------------- These options test other file characteristics. `-e FILE' True if FILE exists. `-s FILE' True if FILE exists and has a size greater than zero. `FILE1 -nt FILE2' True if FILE1 is newer (according to modification date) than FILE2, or if FILE1 exists and FILE2 does not. `FILE1 -ot FILE2' True if FILE1 is older (according to modification date) than FILE2, or if FILE2 exists and FILE1 does not. `FILE1 -ef FILE2' True if FILE1 and FILE2 have the same device and inode numbers, i.e., if they are hard links to each other.  File: coreutils.info, Node: String tests, Next: Numeric tests, Prev: File characteristic tests, Up: test invocation 16.3.4 String tests ------------------- These options test string characteristics. You may need to quote STRING arguments for the shell. For example: test -n "$V" The quotes here prevent the wrong arguments from being passed to `test' if `$V' is empty or contains special characters. `-z STRING' True if the length of STRING is zero. `-n STRING' `STRING' True if the length of STRING is nonzero. `STRING1 = STRING2' True if the strings are equal. `STRING1 == STRING2' True if the strings are equal (synonym for =). `STRING1 != STRING2' True if the strings are not equal.  File: coreutils.info, Node: Numeric tests, Next: Connectives for test, Prev: String tests, Up: test invocation 16.3.5 Numeric tests -------------------- Numeric relational operators. The arguments must be entirely numeric (possibly negative), or the special expression `-l STRING', which evaluates to the length of STRING. `ARG1 -eq ARG2' `ARG1 -ne ARG2' `ARG1 -lt ARG2' `ARG1 -le ARG2' `ARG1 -gt ARG2' `ARG1 -ge ARG2' These arithmetic binary operators return true if ARG1 is equal, not-equal, less-than, less-than-or-equal, greater-than, or greater-than-or-equal than ARG2, respectively. For example: test -1 -gt -2 && echo yes => yes test -l abc -gt 1 && echo yes => yes test 0x100 -eq 1 error--> test: integer expression expected before -eq  File: coreutils.info, Node: Connectives for test, Prev: Numeric tests, Up: test invocation 16.3.6 Connectives for `test' ----------------------------- The usual logical connectives. `! EXPR' True if EXPR is false. `EXPR1 -a EXPR2' True if both EXPR1 and EXPR2 are true. `EXPR1 -o EXPR2' True if either EXPR1 or EXPR2 is true.  File: coreutils.info, Node: expr invocation, Prev: test invocation, Up: Conditions 16.4 `expr': Evaluate expressions ================================= `expr' evaluates an expression and writes the result on standard output. Each token of the expression must be a separate argument. Operands are either integers or strings. Integers consist of one or more decimal digits, with an optional leading `-'. `expr' converts anything appearing in an operand position to an integer or a string depending on the operation being applied to it. Strings are not quoted for `expr' itself, though you may need to quote them to protect characters with special meaning to the shell, e.g., spaces. However, regardless of whether it is quoted, a string operand should not be a parenthesis or any of `expr''s operators like `+', so you cannot safely pass an arbitrary string `$str' to expr merely by quoting it to the shell. One way to work around this is to use the GNU extension `+', (e.g., `+ "$str" = foo'); a more portable way is to use `" $str"' and to adjust the rest of the expression to take the leading space into account (e.g., `" $str" = " foo"'). You should not pass a negative integer or a string with leading `-' as `expr''s first argument, as it might be misinterpreted as an option; this can be avoided by parenthesization. Also, portable scripts should not use a string operand that happens to take the form of an integer; this can be worked around by inserting leading spaces as mentioned above. Operators may be given as infix symbols or prefix keywords. Parentheses may be used for grouping in the usual manner. You must quote parentheses and many operators to avoid the shell evaluating them, however. When built with support for the GNU MP library, `expr' uses arbitrary-precision arithmetic; otherwise, it uses native arithmetic types and may fail due to arithmetic overflow. The only options are `--help' and `--version'. *Note Common options::. Options must precede operands. Exit status: 0 if the expression is neither null nor 0, 1 if the expression is null or 0, 2 if the expression is invalid, 3 if an internal error occurred (e.g., arithmetic overflow). * Menu: * String expressions:: + : match substr index length * Numeric expressions:: + - * / % * Relations for expr:: | & < <= = == != >= > * Examples of expr:: Examples.  File: coreutils.info, Node: String expressions, Next: Numeric expressions, Up: expr invocation 16.4.1 String expressions ------------------------- `expr' supports pattern matching and other string operators. These have higher precedence than both the numeric and relational operators (in the next sections). `STRING : REGEX' Perform pattern matching. The arguments are converted to strings and the second is considered to be a (basic, a la GNU `grep') regular expression, with a `^' implicitly prepended. The first argument is then matched against this regular expression. If the match succeeds and REGEX uses `\(' and `\)', the `:' expression returns the part of STRING that matched the subexpression; otherwise, it returns the number of characters matched. If the match fails, the `:' operator returns the null string if `\(' and `\)' are used in REGEX, otherwise 0. Only the first `\( ... \)' pair is relevant to the return value; additional pairs are meaningful only for grouping the regular expression operators. In the regular expression, `\+', `\?', and `\|' are operators which respectively match one or more, zero or one, or separate alternatives. SunOS and other `expr''s treat these as regular characters. (POSIX allows either behavior.) *Note Regular Expression Library: (regex)Top, for details of regular expression syntax. Some examples are in *note Examples of expr::. `match STRING REGEX' An alternative way to do pattern matching. This is the same as `STRING : REGEX'. `substr STRING POSITION LENGTH' Returns the substring of STRING beginning at POSITION with length at most LENGTH. If either POSITION or LENGTH is negative, zero, or non-numeric, returns the null string. `index STRING CHARSET' Returns the first position in STRING where the first character in CHARSET was found. If no character in CHARSET is found in STRING, return 0. `length STRING' Returns the length of STRING. `+ TOKEN' Interpret TOKEN as a string, even if it is a keyword like MATCH or an operator like `/'. This makes it possible to test `expr length + "$x"' or `expr + "$x" : '.*/\(.\)'' and have it do the right thing even if the value of $X happens to be (for example) `/' or `index'. This operator is a GNU extension. Portable shell scripts should use `" $token" : ' \(.*\)'' instead of `+ "$token"'. To make `expr' interpret keywords as strings, you must use the `quote' operator.  File: coreutils.info, Node: Numeric expressions, Next: Relations for expr, Prev: String expressions, Up: expr invocation 16.4.2 Numeric expressions -------------------------- `expr' supports the usual numeric operators, in order of increasing precedence. These numeric operators have lower precedence than the string operators described in the previous section, and higher precedence than the connectives (next section). `+ -' Addition and subtraction. Both arguments are converted to integers; an error occurs if this cannot be done. `* / %' Multiplication, division, remainder. Both arguments are converted to integers; an error occurs if this cannot be done.  File: coreutils.info, Node: Relations for expr, Next: Examples of expr, Prev: Numeric expressions, Up: expr invocation 16.4.3 Relations for `expr' --------------------------- `expr' supports the usual logical connectives and relations. These have lower precedence than the string and numeric operators (previous sections). Here is the list, lowest-precedence operator first. `|' Returns its first argument if that is neither null nor zero, otherwise its second argument if it is neither null nor zero, otherwise 0. It does not evaluate its second argument if its first argument is neither null nor zero. `&' Return its first argument if neither argument is null or zero, otherwise 0. It does not evaluate its second argument if its first argument is null or zero. `< <= = == != >= >' Compare the arguments and return 1 if the relation is true, 0 otherwise. `==' is a synonym for `='. `expr' first tries to convert both arguments to integers and do a numeric comparison; if either conversion fails, it does a lexicographic comparison using the character collating sequence specified by the `LC_COLLATE' locale.  File: coreutils.info, Node: Examples of expr, Prev: Relations for expr, Up: expr invocation 16.4.4 Examples of using `expr' ------------------------------- Here are a few examples, including quoting for shell metacharacters. To add 1 to the shell variable `foo', in Bourne-compatible shells: foo=$(expr $foo + 1) To print the non-directory part of the file name stored in `$fname', which need not contain a `/': expr $fname : '.*/\(.*\)' '|' $fname An example showing that `\+' is an operator: expr aaa : 'a\+' => 3 expr abc : 'a\(.\)c' => b expr index abcdef cz => 3 expr index index a error--> expr: syntax error expr index + index a => 0  File: coreutils.info, Node: Redirection, Next: File name manipulation, Prev: Conditions, Up: Top 17 Redirection ************** Unix shells commonly provide several forms of "redirection"--ways to change the input source or output destination of a command. But one useful redirection is performed by a separate command, not by the shell; it's described here. * Menu: * tee invocation:: Redirect output to multiple files or processes.  File: coreutils.info, Node: tee invocation, Up: Redirection 17.1 `tee': Redirect output to multiple files or processes ========================================================== The `tee' command copies standard input to standard output and also to any files given as arguments. This is useful when you want not only to send some data down a pipe, but also to save a copy. Synopsis: tee [OPTION]... [FILE]... If a file being written to does not already exist, it is created. If a file being written to already exists, the data it previously contained is overwritten unless the `-a' option is used. A FILE of `-' causes `tee' to send another copy of input to standard output, but this is typically not that useful as the copies are interleaved. The program accepts the following options. Also see *note Common options::. `-a' `--append' Append standard input to the given files rather than overwriting them. `-i' `--ignore-interrupts' Ignore interrupt signals. The `tee' command is useful when you happen to be transferring a large amount of data and also want to summarize that data without reading it a second time. For example, when you are downloading a DVD image, you often want to verify its signature or checksum right away. The inefficient way to do it is simply: wget http://example.com/some.iso && sha1sum some.iso One problem with the above is that it makes you wait for the download to complete before starting the time-consuming SHA1 computation. Perhaps even more importantly, the above requires reading the DVD image a second time (the first was from the network). The efficient way to do it is to interleave the download and SHA1 computation. Then, you'll get the checksum for free, because the entire process parallelizes so well: # slightly contrived, to demonstrate process substitution wget -O - http://example.com/dvd.iso \ | tee >(sha1sum > dvd.sha1) > dvd.iso That makes `tee' write not just to the expected output file, but also to a pipe running `sha1sum' and saving the final checksum in a file named `dvd.sha1'. Note, however, that this example relies on a feature of modern shells called "process substitution" (the `>(command)' syntax, above; *Note Process Substitution: (bash)Process Substitution.), so it works with `zsh', `bash', and `ksh', but not with `/bin/sh'. So if you write code like this in a shell script, be sure to start the script with `#!/bin/bash'. Since the above example writes to one file and one process, a more conventional and portable use of `tee' is even better: wget -O - http://example.com/dvd.iso \ | tee dvd.iso | sha1sum > dvd.sha1 You can extend this example to make `tee' write to two processes, computing MD5 and SHA1 checksums in parallel. In this case, process substitution is required: wget -O - http://example.com/dvd.iso \ | tee >(sha1sum > dvd.sha1) \ >(md5sum > dvd.md5) \ > dvd.iso This technique is also useful when you want to make a _compressed_ copy of the contents of a pipe. Consider a tool to graphically summarize disk usage data from `du -ak'. For a large hierarchy, `du -ak' can run for a long time, and can easily produce terabytes of data, so you won't want to rerun the command unnecessarily. Nor will you want to save the uncompressed output. Doing it the inefficient way, you can't even start the GUI until after you've compressed all of the `du' output: du -ak | gzip -9 > /tmp/du.gz gzip -d /tmp/du.gz | xdiskusage -a With `tee' and process substitution, you start the GUI right away and eliminate the decompression completely: du -ak | tee >(gzip -9 > /tmp/du.gz) | xdiskusage -a Finally, if you regularly create more than one type of compressed tarball at once, for example when `make dist' creates both `gzip'-compressed and `bzip2'-compressed tarballs, there may be a better way. Typical `automake'-generated `Makefile' rules create the two compressed tar archives with commands in sequence, like this (slightly simplified): tardir=your-pkg-M.N tar chof - "$tardir" | gzip -9 -c > your-pkg-M.N.tar.gz tar chof - "$tardir" | bzip2 -9 -c > your-pkg-M.N.tar.bz2 However, if the hierarchy you are archiving and compressing is larger than a couple megabytes, and especially if you are using a multi-processor system with plenty of memory, then you can do much better by reading the directory contents only once and running the compression programs in parallel: tardir=your-pkg-M.N tar chof - "$tardir" \ | tee >(gzip -9 -c > your-pkg-M.N.tar.gz) \ | bzip2 -9 -c > your-pkg-M.N.tar.bz2 An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: File name manipulation, Next: Working context, Prev: Redirection, Up: Top 18 File name manipulation ************************* This section describes commands that manipulate file names. * Menu: * basename invocation:: Strip directory and suffix from a file name. * dirname invocation:: Strip last file name component. * pathchk invocation:: Check file name validity and portability. * mktemp invocation:: Create temporary file or directory. * realpath invocation:: Print resolved file names.  File: coreutils.info, Node: basename invocation, Next: dirname invocation, Up: File name manipulation 18.1 `basename': Strip directory and suffix from a file name ============================================================ `basename' removes any leading directory components from NAME. Synopsis: basename NAME [SUFFIX] basename OPTION... NAME... If SUFFIX is specified and is identical to the end of NAME, it is removed from NAME as well. Note that since trailing slashes are removed prior to suffix matching, SUFFIX will do nothing if it contains slashes. `basename' prints the result on standard output. Together, `basename' and `dirname' are designed such that if `ls "$name"' succeeds, then the command sequence `cd "$(dirname "$name")"; ls "$(basename "$name")"' will, too. This works for everything except file names containing a trailing newline. POSIX allows the implementation to define the results if NAME is empty or `//'. In the former case, GNU `basename' returns the empty string. In the latter case, the result is `//' on platforms where // is distinct from /, and `/' on platforms where there is no difference. The program accepts the following options. Also see *note Common options::. Options must precede operands. `-a' `--multiple' Support more than one argument. Treat every argument as a NAME. With this, an optional SUFFIX must be specified using the `-s' option. `-s SUFFIX' `--suffix=SUFFIX' Remove a trailing SUFFIX. This option implies the `-a' option. `-z' `--zero' Separate output items with NUL characters. An exit status of zero indicates success, and a nonzero value indicates failure. Examples: # Output "sort". basename /usr/bin/sort # Output "stdio". basename include/stdio.h .h # Output "stdio". basename -s .h include/stdio.h # Output "stdio" followed by "stdlib" basename -a -s .h include/stdio.h include/stdlib.h  File: coreutils.info, Node: dirname invocation, Next: pathchk invocation, Prev: basename invocation, Up: File name manipulation 18.2 `dirname': Strip last file name component ============================================== `dirname' prints all but the final slash-delimited component of each NAME. Slashes on either side of the final component are also removed. If the string contains no slash, `dirname' prints `.' (meaning the current directory). Synopsis: dirname [OPTION] NAME... NAME need not be a file name, but if it is, this operation effectively lists the directory that contains the final component, including the case when the final component is itself a directory. Together, `basename' and `dirname' are designed such that if `ls "$name"' succeeds, then the command sequence `cd "$(dirname "$name")"; ls "$(basename "$name")"' will, too. This works for everything except file names containing a trailing newline. POSIX allows the implementation to define the results if NAME is `//'. With GNU `dirname', the result is `//' on platforms where // is distinct from /, and `/' on platforms where there is no difference. The program accepts the following option. Also see *note Common options::. `-z' `--zero' Separate output items with NUL characters. An exit status of zero indicates success, and a nonzero value indicates failure. Examples: # Output "/usr/bin". dirname /usr/bin/sort dirname /usr/bin//.// # Output "dir1" followed by "dir2" dirname dir1/str dir2/str # Output ".". dirname stdio.h  File: coreutils.info, Node: pathchk invocation, Next: mktemp invocation, Prev: dirname invocation, Up: File name manipulation 18.3 `pathchk': Check file name validity and portability ======================================================== `pathchk' checks validity and portability of file names. Synopsis: pathchk [OPTION]... NAME... For each NAME, `pathchk' prints an error message if any of these conditions is true: 1. One of the existing directories in NAME does not have search (execute) permission, 2. The length of NAME is larger than the maximum supported by the operating system. 3. The length of one component of NAME is longer than its file system's maximum. A nonexistent NAME is not an error, so long a file with that name could be created under the above conditions. The program accepts the following options. Also see *note Common options::. Options must precede operands. `-p' Instead of performing checks based on the underlying file system, print an error message if any of these conditions is true: 1. A file name is empty. 2. A file name contains a character outside the POSIX portable file name character set, namely, the ASCII letters and digits, `.', `_', `-', and `/'. 3. The length of a file name or one of its components exceeds the POSIX minimum limits for portability. `-P' Print an error message if a file name is empty, or if it contains a component that begins with `-'. `--portability' Print an error message if a file name is not portable to all POSIX hosts. This option is equivalent to `-p -P'. Exit status: 0 if all specified file names passed all checks, 1 otherwise.  File: coreutils.info, Node: mktemp invocation, Next: realpath invocation, Prev: pathchk invocation, Up: File name manipulation 18.4 `mktemp': Create temporary file or directory ================================================= `mktemp' manages the creation of temporary files and directories. Synopsis: mktemp [OPTION]... [TEMPLATE] Safely create a temporary file or directory based on TEMPLATE, and print its name. If given, TEMPLATE must include at least three consecutive `X's in the last component. If omitted, the template `tmp.XXXXXXXXXX' is used, and option `--tmpdir' is implied. The final run of `X's in the TEMPLATE will be replaced by alpha-numeric characters; thus, on a case-sensitive file system, and with a TEMPLATE including a run of N instances of `X', there are `62**N' potential file names. Older scripts used to create temporary files by simply joining the name of the program with the process id (`$$') as a suffix. However, that naming scheme is easily predictable, and suffers from a race condition where the attacker can create an appropriately named symbolic link, such that when the script then opens a handle to what it thought was an unused file, it is instead modifying an existing file. Using the same scheme to create a directory is slightly safer, since the `mkdir' will fail if the target already exists, but it is still inferior because it allows for denial of service attacks. Therefore, modern scripts should use the `mktemp' command to guarantee that the generated name will be unpredictable, and that knowledge of the temporary file name implies that the file was created by the current script and cannot be modified by other users. When creating a file, the resulting file has read and write permissions for the current user, but no permissions for the group or others; these permissions are reduced if the current umask is more restrictive. Here are some examples (although note that if you repeat them, you will most likely get different file names): * Create a temporary file in the current directory. $ mktemp file.XXXX file.H47c * Create a temporary file with a known suffix. $ mktemp --suffix=.txt file-XXXX file-H08W.txt $ mktemp file-XXXX-XXXX.txt file-XXXX-eI9L.txt * Create a secure fifo relative to the user's choice of `TMPDIR', but falling back to the current directory rather than `/tmp'. Note that `mktemp' does not create fifos, but can create a secure directory in which the fifo can live. Exit the shell if the directory or fifo could not be created. $ dir=$(mktemp -p "${TMPDIR:-.}" -d dir-XXXX) || exit 1 $ fifo=$dir/fifo $ mkfifo "$fifo" || { rmdir "$dir"; exit 1; } * Create and use a temporary file if possible, but ignore failure. The file will reside in the directory named by `TMPDIR', if specified, or else in `/tmp'. $ file=$(mktemp -q) && { > # Safe to use $file only within this block. Use quotes, > # since $TMPDIR, and thus $file, may contain whitespace. > echo ... > "$file" > rm "$file" > } * Act as a semi-random character generator (it is not fully random, since it is impacted by the contents of the current directory). To avoid security holes, do not use the resulting names to create a file. $ mktemp -u XXX Gb9 $ mktemp -u XXX nzC The program accepts the following options. Also see *note Common options::. `-d' `--directory' Create a directory rather than a file. The directory will have read, write, and search permissions for the current user, but no permissions for the group or others; these permissions are reduced if the current umask is more restrictive. `-q' `--quiet' Suppress diagnostics about failure to create a file or directory. The exit status will still reflect whether a file was created. `-u' `--dry-run' Generate a temporary name that does not name an existing file, without changing the file system contents. Using the output of this command to create a new file is inherently unsafe, as there is a window of time between generating the name and using it where another process can create an object by the same name. `-p DIR' `--tmpdir[=DIR]' Treat TEMPLATE relative to the directory DIR. If DIR is not specified (only possible with the long option `--tmpdir') or is the empty string, use the value of `TMPDIR' if available, otherwise use `/tmp'. If this is specified, TEMPLATE must not be absolute. However, TEMPLATE can still contain slashes, although intermediate directories must already exist. `--suffix=SUFFIX' Append SUFFIX to the TEMPLATE. SUFFIX must not contain slash. If `--suffix' is specified, TEMPLATE must end in `X'; if it is not specified, then an appropriate `--suffix' is inferred by finding the last `X' in TEMPLATE. This option exists for use with the default TEMPLATE and for the creation of a SUFFIX that starts with `X'. `-t' Treat TEMPLATE as a single file relative to the value of `TMPDIR' if available, or to the directory specified by `-p', otherwise to `/tmp'. TEMPLATE must not contain slashes. This option is deprecated; the use of `-p' without `-t' offers better defaults (by favoring the command line over `TMPDIR') and more flexibility (by allowing intermediate directories). Exit status: 0 if the file was created, 1 otherwise.  File: coreutils.info, Node: realpath invocation, Prev: mktemp invocation, Up: File name manipulation 18.5 `realpath': Print the resolved file name. ============================================== `realpath' expands all symbolic links and resolves references to `/./', `/../' and extra `/' characters. By default, all but the last component of the specified files must exist. Synopsis: realpath [OPTION]... FILE... The program accepts the following options. Also see *note Common options::. `-e' `--canonicalize-existing' Ensure that all components of the specified file names exist. If any component is missing or unavailable, `realpath' will output a diagnostic unless the `-q' option is specified, and exit with a nonzero exit code. A trailing slash requires that the name resolve to a directory. `-m' `--canonicalize-missing' If any component of a specified file name is missing or unavailable, treat it as a directory. `-L' `--logical' Symbolic links are resolved in the specified file names, but they are resolved after any subsequent `..' components are processed. `-P' `--physical' Symbolic links are resolved in the specified file names, and they are resolved before any subsequent `..' components are processed. This is the default mode of operation. `-q' `--quiet' Suppress diagnostic messages for specified file names. `-s' `--strip' `--no-symlinks' Do not resolve symbolic links. Only resolve references to `/./', `/../' and remove extra `/' characters. When combined with the `-m' option, realpath operates only on the file name, and does not touch any actual file. `-z' `--zero' Separate output items with NUL characters. `--relative-to=FILE' Print the resolved file names relative to the specified file. Note this option honors the `-m' and `-e' options pertaining to file existence. `--relative-base=BASE' This option is valid when used with `--relative-to', and will restrict the output of `--relative-to' so that relative names are output, only when FILEs are descendants of BASE. Otherwise output the absolute file name. If `--relative-to' was not specified, then the descendants of BASE are printed relative to BASE. If `--relative-to' is specified, then that directory must be a descendant of BASE for this option to have an effect. Note: this option honors the `-m' and `-e' options pertaining to file existence. For example: realpath --relative-to=/usr /tmp /usr/bin => ../tmp => bin realpath --relative-base=/usr /tmp /usr/bin => /tmp => bin Exit status: 0 if all file names were printed without issue. 1 otherwise.  File: coreutils.info, Node: Working context, Next: User information, Prev: File name manipulation, Up: Top 19 Working context ****************** This section describes commands that display or alter the context in which you are working: the current directory, the terminal settings, and so forth. See also the user-related commands in the next section. * Menu: * pwd invocation:: Print working directory. * stty invocation:: Print or change terminal characteristics. * printenv invocation:: Print environment variables. * tty invocation:: Print file name of terminal on standard input.  File: coreutils.info, Node: pwd invocation, Next: stty invocation, Up: Working context 19.1 `pwd': Print working directory =================================== `pwd' prints the name of the current directory. Synopsis: pwd [OPTION]... The program accepts the following options. Also see *note Common options::. `-L' `--logical' If the contents of the environment variable `PWD' provide an absolute name of the current directory with no `.' or `..' components, but possibly with symbolic links, then output those contents. Otherwise, fall back to default `-P' handling. `-P' `--physical' Print a fully resolved name for the current directory. That is, all components of the printed name will be actual directory names--none will be symbolic links. If `-L' and `-P' are both given, the last one takes precedence. If neither option is given, then this implementation uses `-P' as the default unless the `POSIXLY_CORRECT' environment variable is set. Due to shell aliases and built-in `pwd' functions, using an unadorned `pwd' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env pwd ...') to avoid interference from the shell. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: stty invocation, Next: printenv invocation, Prev: pwd invocation, Up: Working context 19.2 `stty': Print or change terminal characteristics ===================================================== `stty' prints or changes terminal characteristics, such as baud rate. Synopses: stty [OPTION] [SETTING]... stty [OPTION] If given no line settings, `stty' prints the baud rate, line discipline number (on systems that support it), and line settings that have been changed from the values set by `stty sane'. By default, mode reading and setting are performed on the tty line connected to standard input, although this can be modified by the `--file' option. `stty' accepts many non-option arguments that change aspects of the terminal line operation, as described below. The program accepts the following options. Also see *note Common options::. `-a' `--all' Print all current settings in human-readable form. This option may not be used in combination with any line settings. `-F DEVICE' `--file=DEVICE' Set the line opened by the file name specified in DEVICE instead of the tty line connected to standard input. This option is necessary because opening a POSIX tty requires use of the `O_NONDELAY' flag to prevent a POSIX tty from blocking until the carrier detect line is high if the `clocal' flag is not set. Hence, it is not always possible to allow the shell to open the device in the traditional manner. `-g' `--save' Print all current settings in a form that can be used as an argument to another `stty' command to restore the current settings. This option may not be used in combination with any line settings. Many settings can be turned off by preceding them with a `-'. Such arguments are marked below with "May be negated" in their description. The descriptions themselves refer to the positive case, that is, when _not_ negated (unless stated otherwise, of course). Some settings are not available on all POSIX systems, since they use extensions. Such arguments are marked below with "Non-POSIX" in their description. On non-POSIX systems, those or other settings also may not be available, but it's not feasible to document all the variations: just try it and see. An exit status of zero indicates success, and a nonzero value indicates failure. * Menu: * Control:: Control settings * Input:: Input settings * Output:: Output settings * Local:: Local settings * Combination:: Combination settings * Characters:: Special characters * Special:: Special settings  File: coreutils.info, Node: Control, Next: Input, Up: stty invocation 19.2.1 Control settings ----------------------- Control settings: `parenb' Generate parity bit in output and expect parity bit in input. May be negated. `parodd' Set odd parity (even if negated). May be negated. `cs5' `cs6' `cs7' `cs8' Set character size to 5, 6, 7, or 8 bits. `hup' `hupcl' Send a hangup signal when the last process closes the tty. May be negated. `cstopb' Use two stop bits per character (one if negated). May be negated. `cread' Allow input to be received. May be negated. `clocal' Disable modem control signals. May be negated. `crtscts' Enable RTS/CTS flow control. Non-POSIX. May be negated. `cdtrdsr' Enable DTR/DSR flow control. Non-POSIX. May be negated.  File: coreutils.info, Node: Input, Next: Output, Prev: Control, Up: stty invocation 19.2.2 Input settings --------------------- These settings control operations on data received from the terminal. `ignbrk' Ignore break characters. May be negated. `brkint' Make breaks cause an interrupt signal. May be negated. `ignpar' Ignore characters with parity errors. May be negated. `parmrk' Mark parity errors (with a 255-0-character sequence). May be negated. `inpck' Enable input parity checking. May be negated. `istrip' Clear high (8th) bit of input characters. May be negated. `inlcr' Translate newline to carriage return. May be negated. `igncr' Ignore carriage return. May be negated. `icrnl' Translate carriage return to newline. May be negated. `iutf8' Assume input characters are UTF-8 encoded. May be negated. `ixon' Enable XON/XOFF flow control (that is, `CTRL-S'/`CTRL-Q'). May be negated. `ixoff' `tandem' Enable sending of `stop' character when the system input buffer is almost full, and `start' character when it becomes almost empty again. May be negated. `iuclc' Translate uppercase characters to lowercase. Non-POSIX. May be negated. Note ilcuc is not implemented, as one would not be able to issue almost any (lowercase) Unix command, after invoking it. `ixany' Allow any character to restart output (only the start character if negated). Non-POSIX. May be negated. `imaxbel' Enable beeping and not flushing input buffer if a character arrives when the input buffer is full. Non-POSIX. May be negated.  File: coreutils.info, Node: Output, Next: Local, Prev: Input, Up: stty invocation 19.2.3 Output settings ---------------------- These settings control operations on data sent to the terminal. `opost' Postprocess output. May be negated. `olcuc' Translate lowercase characters to uppercase. Non-POSIX. May be negated. (Note ouclc is not currently implemented.) `ocrnl' Translate carriage return to newline. Non-POSIX. May be negated. `onlcr' Translate newline to carriage return-newline. Non-POSIX. May be negated. `onocr' Do not print carriage returns in the first column. Non-POSIX. May be negated. `onlret' Newline performs a carriage return. Non-POSIX. May be negated. `ofill' Use fill (padding) characters instead of timing for delays. Non-POSIX. May be negated. `ofdel' Use ASCII DEL characters for fill instead of ASCII NUL characters. Non-POSIX. May be negated. `nl1' `nl0' Newline delay style. Non-POSIX. `cr3' `cr2' `cr1' `cr0' Carriage return delay style. Non-POSIX. `tab3' `tab2' `tab1' `tab0' Horizontal tab delay style. Non-POSIX. `bs1' `bs0' Backspace delay style. Non-POSIX. `vt1' `vt0' Vertical tab delay style. Non-POSIX. `ff1' `ff0' Form feed delay style. Non-POSIX.  File: coreutils.info, Node: Local, Next: Combination, Prev: Output, Up: stty invocation 19.2.4 Local settings --------------------- `isig' Enable `interrupt', `quit', and `suspend' special characters. May be negated. `icanon' Enable `erase', `kill', `werase', and `rprnt' special characters. May be negated. `iexten' Enable non-POSIX special characters. May be negated. `echo' Echo input characters. May be negated. `echoe' `crterase' Echo `erase' characters as backspace-space-backspace. May be negated. `echok' Echo a newline after a `kill' character. May be negated. `echonl' Echo newline even if not echoing other characters. May be negated. `noflsh' Disable flushing after `interrupt' and `quit' special characters. May be negated. `xcase' Enable input and output of uppercase characters by preceding their lowercase equivalents with `\', when `icanon' is set. Non-POSIX. May be negated. `tostop' Stop background jobs that try to write to the terminal. Non-POSIX. May be negated. `echoprt' `prterase' Echo erased characters backward, between `\' and `/'. Non-POSIX. May be negated. `echoctl' `ctlecho' Echo control characters in hat notation (`^C') instead of literally. Non-POSIX. May be negated. `echoke' `crtkill' Echo the `kill' special character by erasing each character on the line as indicated by the `echoprt' and `echoe' settings, instead of by the `echoctl' and `echok' settings. Non-POSIX. May be negated.  File: coreutils.info, Node: Combination, Next: Characters, Prev: Local, Up: stty invocation 19.2.5 Combination settings --------------------------- Combination settings: `evenp' `parity' Same as `parenb -parodd cs7'. May be negated. If negated, same as `-parenb cs8'. `oddp' Same as `parenb parodd cs7'. May be negated. If negated, same as `-parenb cs8'. `nl' Same as `-icrnl -onlcr'. May be negated. If negated, same as `icrnl -inlcr -igncr onlcr -ocrnl -onlret'. `ek' Reset the `erase' and `kill' special characters to their default values. `sane' Same as: cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke and also sets all special characters to their default values. `cooked' Same as `brkint ignpar istrip icrnl ixon opost isig icanon', plus sets the `eof' and `eol' characters to their default values if they are the same as the `min' and `time' characters. May be negated. If negated, same as `raw'. `raw' Same as: -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 May be negated. If negated, same as `cooked'. `cbreak' Same as `-icanon'. May be negated. If negated, same as `icanon'. `pass8' Same as `-parenb -istrip cs8'. May be negated. If negated, same as `parenb istrip cs7'. `litout' Same as `-parenb -istrip -opost cs8'. May be negated. If negated, same as `parenb istrip opost cs7'. `decctlq' Same as `-ixany'. Non-POSIX. May be negated. `tabs' Same as `tab0'. Non-POSIX. May be negated. If negated, same as `tab3'. `lcase' `LCASE' Same as `xcase iuclc olcuc'. Non-POSIX. May be negated. (Used for terminals with uppercase characters only.) `crt' Same as `echoe echoctl echoke'. `dec' Same as `echoe echoctl echoke -ixany intr ^C erase ^? kill C-u'.  File: coreutils.info, Node: Characters, Next: Special, Prev: Combination, Up: stty invocation 19.2.6 Special characters ------------------------- The special characters' default values vary from system to system. They are set with the syntax `name value', where the names are listed below and the value can be given either literally, in hat notation (`^C'), or as an integer which may start with `0x' to indicate hexadecimal, `0' to indicate octal, or any other digit to indicate decimal. For GNU stty, giving a value of `^-' or `undef' disables that special character. (This is incompatible with Ultrix `stty', which uses a value of `u' to disable a special character. GNU `stty' treats a value `u' like any other, namely to set that special character to .) `intr' Send an interrupt signal. `quit' Send a quit signal. `erase' Erase the last character typed. `kill' Erase the current line. `eof' Send an end of file (terminate the input). `eol' End the line. `eol2' Alternate character to end the line. Non-POSIX. `swtch' Switch to a different shell layer. Non-POSIX. `start' Restart the output after stopping it. `stop' Stop the output. `susp' Send a terminal stop signal. `dsusp' Send a terminal stop signal after flushing the input. Non-POSIX. `rprnt' Redraw the current line. Non-POSIX. `werase' Erase the last word typed. Non-POSIX. `lnext' Enter the next character typed literally, even if it is a special character. Non-POSIX.  File: coreutils.info, Node: Special, Prev: Characters, Up: stty invocation 19.2.7 Special settings ----------------------- `min N' Set the minimum number of characters that will satisfy a read until the time value has expired, when `-icanon' is set. `time N' Set the number of tenths of a second before reads time out if the minimum number of characters have not been read, when `-icanon' is set. `ispeed N' Set the input speed to N. `ospeed N' Set the output speed to N. `rows N' Tell the tty kernel driver that the terminal has N rows. Non-POSIX. `cols N' `columns N' Tell the kernel that the terminal has N columns. Non-POSIX. `size' Print the number of rows and columns that the kernel thinks the terminal has. (Systems that don't support rows and columns in the kernel typically use the environment variables `LINES' and `COLUMNS' instead; however, GNU `stty' does not know anything about them.) Non-POSIX. `line N' Use line discipline N. Non-POSIX. `speed' Print the terminal speed. `N' Set the input and output speeds to N. N can be one of: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 `exta' `extb'. `exta' is the same as 19200; `extb' is the same as 38400. Many systems, including GNU/Linux, support higher speeds. The `stty' command includes support for speeds of 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, or 4000000 where the system supports these. 0 hangs up the line if `-clocal' is set.  File: coreutils.info, Node: printenv invocation, Next: tty invocation, Prev: stty invocation, Up: Working context 19.3 `printenv': Print all or some environment variables ======================================================== `printenv' prints environment variable values. Synopsis: printenv [OPTION] [VARIABLE]... If no VARIABLEs are specified, `printenv' prints the value of every environment variable. Otherwise, it prints the value of each VARIABLE that is set, and nothing for those that are not set. The program accepts the following option. Also see *note Common options::. `-0' `--null' Output a zero byte (ASCII NUL) at the end of each line, rather than a newline. This option enables other programs to parse the output of `printenv' even when that output would contain data with embedded newlines. Exit status: 0 if all variables specified were found 1 if at least one specified variable was not found 2 if a write error occurred  File: coreutils.info, Node: tty invocation, Prev: printenv invocation, Up: Working context 19.4 `tty': Print file name of terminal on standard input ========================================================= `tty' prints the file name of the terminal connected to its standard input. It prints `not a tty' if standard input is not a terminal. Synopsis: tty [OPTION]... The program accepts the following option. Also see *note Common options::. `-s' `--silent' `--quiet' Print nothing; only return an exit status. Exit status: 0 if standard input is a terminal 1 if standard input is not a terminal 2 if given incorrect arguments 3 if a write error occurs  File: coreutils.info, Node: User information, Next: System context, Prev: Working context, Up: Top 20 User information ******************* This section describes commands that print user-related information: logins, groups, and so forth. * Menu: * id invocation:: Print user identity. * logname invocation:: Print current login name. * whoami invocation:: Print effective user ID. * groups invocation:: Print group names a user is in. * users invocation:: Print login names of users currently logged in. * who invocation:: Print who is currently logged in.  File: coreutils.info, Node: id invocation, Next: logname invocation, Up: User information 20.1 `id': Print user identity ============================== `id' prints information about the given user, or the process running it if no user is specified. Synopsis: id [OPTION]... [USERNAME] By default, it prints the real user ID, real group ID, effective user ID if different from the real user ID, effective group ID if different from the real group ID, and supplemental group IDs. In addition, if SELinux is enabled and the `POSIXLY_CORRECT' environment variable is not set, then print `context=C', where C is the security context. Each of these numeric values is preceded by an identifying string and followed by the corresponding user or group name in parentheses. The options cause `id' to print only part of the above information. Also see *note Common options::. `-g' `--group' Print only the group ID. `-G' `--groups' Print only the group ID and the supplementary groups. `-n' `--name' Print the user or group name instead of the ID number. Requires `-u', `-g', or `-G'. `-r' `--real' Print the real, instead of effective, user or group ID. Requires `-u', `-g', or `-G'. `-u' `--user' Print only the user ID. `-Z' `--context' Print only the security context of the current user. If SELinux is disabled then print a warning and set the exit status to 1. An exit status of zero indicates success, and a nonzero value indicates failure. Primary and supplementary groups for a process are normally inherited from its parent and are usually unchanged since login. This means that if you change the group database after logging in, `id' will not reflect your changes within your existing login session. Running `id' with a user argument causes the user and group database to be consulted afresh, and so will give a different result.  File: coreutils.info, Node: logname invocation, Next: whoami invocation, Prev: id invocation, Up: User information 20.2 `logname': Print current login name ======================================== `logname' prints the calling user's name, as found in a system-maintained file (often `/var/run/utmp' or `/etc/utmp'), and exits with a status of 0. If there is no entry for the calling process, `logname' prints an error message and exits with a status of 1. The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: whoami invocation, Next: groups invocation, Prev: logname invocation, Up: User information 20.3 `whoami': Print effective user ID ====================================== `whoami' prints the user name associated with the current effective user ID. It is equivalent to the command `id -un'. The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: groups invocation, Next: users invocation, Prev: whoami invocation, Up: User information 20.4 `groups': Print group names a user is in ============================================= `groups' prints the names of the primary and any supplementary groups for each given USERNAME, or the current process if no names are given. If more than one name is given, the name of each user is printed before the list of that user's groups and the user name is separated from the group list by a colon. Synopsis: groups [USERNAME]... The group lists are equivalent to the output of the command `id -Gn'. Primary and supplementary groups for a process are normally inherited from its parent and are usually unchanged since login. This means that if you change the group database after logging in, `groups' will not reflect your changes within your existing login session. Running `groups' with a list of users causes the user and group database to be consulted afresh, and so will give a different result. The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: users invocation, Next: who invocation, Prev: groups invocation, Up: User information 20.5 `users': Print login names of users currently logged in ============================================================ `users' prints on a single line a blank-separated list of user names of users currently logged in to the current host. Each user name corresponds to a login session, so if a user has more than one login session, that user's name will appear the same number of times in the output. Synopsis: users [FILE] With no FILE argument, `users' extracts its information from a system-maintained file (often `/var/run/utmp' or `/etc/utmp'). If a file argument is given, `users' uses that file instead. A common choice is `/var/log/wtmp'. The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: who invocation, Prev: users invocation, Up: User information 20.6 `who': Print who is currently logged in ============================================ `who' prints information about users who are currently logged on. Synopsis: `who' [OPTION] [FILE] [am i] If given no non-option arguments, `who' prints the following information for each user currently logged on: login name, terminal line, login time, and remote hostname or X display. If given one non-option argument, `who' uses that instead of a default system-maintained file (often `/var/run/utmp' or `/etc/utmp') as the name of the file containing the record of users logged on. `/var/log/wtmp' is commonly given as an argument to `who' to look at who has previously logged on. If given two non-option arguments, `who' prints only the entry for the user running it (determined from its standard input), preceded by the hostname. Traditionally, the two arguments given are `am i', as in `who am i'. Time stamps are listed according to the time zone rules specified by the `TZ' environment variable, or by the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. The program accepts the following options. Also see *note Common options::. `-a' `--all' Same as `-b -d --login -p -r -t -T -u'. `-b' `--boot' Print the date and time of last system boot. `-d' `--dead' Print information corresponding to dead processes. `-H' `--heading' Print a line of column headings. `-l' `--login' List only the entries that correspond to processes via which the system is waiting for a user to login. The user name is always `LOGIN'. `--lookup' Attempt to canonicalize hostnames found in utmp through a DNS lookup. This is not the default because it can cause significant delays on systems with automatic dial-up internet access. `-m' Same as `who am i'. `-p' `--process' List active processes spawned by init. `-q' `--count' Print only the login names and the number of users logged on. Overrides all other options. `-r' `--runlevel' Print the current (and maybe previous) run-level of the init process. `-s' Ignored; for compatibility with other versions of `who'. `-t' `--time' Print last system clock change. `-u' After the login time, print the number of hours and minutes that the user has been idle. `.' means the user was active in the last minute. `old' means the user has been idle for more than 24 hours. `-w' `-T' `--mesg' `--message' `--writable' After each login name print a character indicating the user's message status: `+' allowing `write' messages `-' disallowing `write' messages `?' cannot find terminal device An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: System context, Next: SELinux context, Prev: User information, Up: Top 21 System context ***************** This section describes commands that print or change system-wide information. * Menu: * date invocation:: Print or set system date and time. * arch invocation:: Print machine hardware name. * nproc invocation:: Print the number of processors. * uname invocation:: Print system information. * hostname invocation:: Print or set system name. * hostid invocation:: Print numeric host identifier. * uptime invocation:: Print system uptime and load.  File: coreutils.info, Node: date invocation, Next: arch invocation, Up: System context 21.1 `date': Print or set system date and time ============================================== Synopses: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [ MMDDhhmm[[CC]YY][.ss] ] Invoking `date' with no FORMAT argument is equivalent to invoking it with a default format that depends on the `LC_TIME' locale category. In the default C locale, this format is `'+%a %b %e %H:%M:%S %Z %Y'', so the output looks like `Thu Mar 3 13:47:51 PST 2005'. Normally, `date' uses the time zone rules indicated by the `TZ' environment variable, or the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable. If given an argument that starts with a `+', `date' prints the current date and time (or the date and time specified by the `--date' option, see below) in the format defined by that argument, which is similar to that of the `strftime' function. Except for conversion specifiers, which start with `%', characters in the format string are printed unchanged. The conversion specifiers are described below. An exit status of zero indicates success, and a nonzero value indicates failure. * Menu: * Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] * Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] * Literal conversion specifiers:: %[%nt] * Padding and other flags:: Pad with zeros, spaces, etc. * Setting the time:: Changing the system clock. * Options for date:: Instead of the current time. * Date input formats:: Specifying date strings. * Examples of date:: Examples.  File: coreutils.info, Node: Time conversion specifiers, Next: Date conversion specifiers, Up: date invocation 21.1.1 Time conversion specifiers --------------------------------- `date' conversion specifiers related to times. `%H' hour (`00'...`23') `%I' hour (`01'...`12') `%k' hour, space padded (` 0'...`23'); equivalent to `%_H'. This is a GNU extension. `%l' hour, space padded (` 1'...`12'); equivalent to `%_I'. This is a GNU extension. `%M' minute (`00'...`59') `%N' nanoseconds (`000000000'...`999999999'). This is a GNU extension. `%p' locale's equivalent of either `AM' or `PM'; blank in many locales. Noon is treated as `PM' and midnight as `AM'. `%P' like `%p', except lower case. This is a GNU extension. `%r' locale's 12-hour clock time (e.g., `11:11:04 PM') `%R' 24-hour hour and minute. Same as `%H:%M'. `%s' seconds since the epoch, i.e., since 1970-01-01 00:00:00 UTC. Leap seconds are not counted unless leap second support is available. *Note %s-examples::, for examples. This is a GNU extension. `%S' second (`00'...`60'). This may be `60' if leap seconds are supported. `%T' 24-hour hour, minute, and second. Same as `%H:%M:%S'. `%X' locale's time representation (e.g., `23:13:48') `%z' RFC 2822/ISO 8601 style numeric time zone (e.g., `-0600' or `+0530'), or nothing if no time zone is determinable. This value reflects the numeric time zone appropriate for the current time, using the time zone rules specified by the `TZ' environment variable. The time (and optionally, the time zone rules) can be overridden by the `--date' option. `%:z' RFC 3339/ISO 8601 style numeric time zone with `:' (e.g., `-06:00' or `+05:30'), or nothing if no time zone is determinable. This is a GNU extension. `%::z' Numeric time zone to the nearest second with `:' (e.g., `-06:00:00' or `+05:30:00'), or nothing if no time zone is determinable. This is a GNU extension. `%:::z' Numeric time zone with `:' using the minimum necessary precision (e.g., `-06', `+05:30', or `-04:56:02'), or nothing if no time zone is determinable. This is a GNU extension. `%Z' alphabetic time zone abbreviation (e.g., `EDT'), or nothing if no time zone is determinable. See `%z' for how it is determined.  File: coreutils.info, Node: Date conversion specifiers, Next: Literal conversion specifiers, Prev: Time conversion specifiers, Up: date invocation 21.1.2 Date conversion specifiers --------------------------------- `date' conversion specifiers related to dates. `%a' locale's abbreviated weekday name (e.g., `Sun') `%A' locale's full weekday name, variable length (e.g., `Sunday') `%b' locale's abbreviated month name (e.g., `Jan') `%B' locale's full month name, variable length (e.g., `January') `%c' locale's date and time (e.g., `Thu Mar 3 23:05:25 2005') `%C' century. This is like `%Y', except the last two digits are omitted. For example, it is `20' if `%Y' is `2000', and is `-0' if `%Y' is `-001'. It is normally at least two characters, but it may be more. `%d' day of month (e.g., `01') `%D' date; same as `%m/%d/%y' `%e' day of month, space padded; same as `%_d' `%F' full date in ISO 8601 format; same as `%Y-%m-%d'. This is a good choice for a date format, as it is standard and is easy to sort in the usual case where years are in the range 0000...9999. `%g' year corresponding to the ISO week number, but without the century (range `00' through `99'). This has the same format and value as `%y', except that if the ISO week number (see `%V') belongs to the previous or next year, that year is used instead. `%G' year corresponding to the ISO week number. This has the same format and value as `%Y', except that if the ISO week number (see `%V') belongs to the previous or next year, that year is used instead. It is normally useful only if `%V' is also used; for example, the format `%G-%m-%d' is probably a mistake, since it combines the ISO week number year with the conventional month and day. `%h' same as `%b' `%j' day of year (`001'...`366') `%m' month (`01'...`12') `%u' day of week (`1'...`7') with `1' corresponding to Monday `%U' week number of year, with Sunday as the first day of the week (`00'...`53'). Days in a new year preceding the first Sunday are in week zero. `%V' ISO week number, that is, the week number of year, with Monday as the first day of the week (`01'...`53'). If the week containing January 1 has four or more days in the new year, then it is considered week 1; otherwise, it is week 53 of the previous year, and the next week is week 1. (See the ISO 8601 standard.) `%w' day of week (`0'...`6') with 0 corresponding to Sunday `%W' week number of year, with Monday as first day of week (`00'...`53'). Days in a new year preceding the first Monday are in week zero. `%x' locale's date representation (e.g., `12/31/99') `%y' last two digits of year (`00'...`99') `%Y' year. This is normally at least four characters, but it may be more. Year `0000' precedes year `0001', and year `-001' precedes year `0000'.  File: coreutils.info, Node: Literal conversion specifiers, Next: Padding and other flags, Prev: Date conversion specifiers, Up: date invocation 21.1.3 Literal conversion specifiers ------------------------------------ `date' conversion specifiers that produce literal strings. `%%' a literal % `%n' a newline `%t' a horizontal tab  File: coreutils.info, Node: Padding and other flags, Next: Setting the time, Prev: Literal conversion specifiers, Up: date invocation 21.1.4 Padding and other flags ------------------------------ Unless otherwise specified, `date' normally pads numeric fields with zeros, so that, for example, numeric months are always output as two digits. Seconds since the epoch are not padded, though, since there is no natural width for them. As a GNU extension, `date' recognizes any of the following optional flags after the `%': `-' (hyphen) Do not pad the field; useful if the output is intended for human consumption. `_' (underscore) Pad with spaces; useful if you need a fixed number of characters in the output, but zeros are too distracting. `0' (zero) Pad with zeros even if the conversion specifier would normally pad with spaces. `^' Use upper case characters if possible. `#' Use opposite case characters if possible. A field that is normally upper case becomes lower case, and vice versa. Here are some examples of padding: date +%d/%m -d "Feb 1" => 01/02 date +%-d/%-m -d "Feb 1" => 1/2 date +%_d/%_m -d "Feb 1" => 1/ 2 As a GNU extension, you can specify the field width (after any flag, if present) as a decimal number. If the natural size of the output of the field has less than the specified number of characters, the result is written right adjusted and padded to the given size. For example, `%9B' prints the right adjusted month name in a field of width 9. An optional modifier can follow the optional flag and width specification. The modifiers are: `E' Use the locale's alternate representation for date and time. This modifier applies to the `%c', `%C', `%x', `%X', `%y' and `%Y' conversion specifiers. In a Japanese locale, for example, `%Ex' might yield a date format based on the Japanese Emperors' reigns. `O' Use the locale's alternate numeric symbols for numbers. This modifier applies only to numeric conversion specifiers. If the format supports the modifier but no alternate representation is available, it is ignored.  File: coreutils.info, Node: Setting the time, Next: Options for date, Prev: Padding and other flags, Up: date invocation 21.1.5 Setting the time ----------------------- If given an argument that does not start with `+', `date' sets the system clock to the date and time specified by that argument (as described below). You must have appropriate privileges to set the system clock. Note for changes to persist across a reboot, the hardware clock may need to be updated from the system clock, which might not happen automatically on your system. The argument must consist entirely of digits, which have the following meaning: `MM' month `DD' day within month `hh' hour `mm' minute `CC' first two digits of year (optional) `YY' last two digits of year (optional) `ss' second (optional) Note, the `--date' and `--set' options may not be used with an argument in the above format. The `--universal' option may be used with such an argument to indicate that the specified date and time are relative to Coordinated Universal Time rather than to the local time zone.  File: coreutils.info, Node: Options for date, Prev: Setting the time, Up: date invocation 21.1.6 Options for `date' ------------------------- The program accepts the following options. Also see *note Common options::. `-d DATESTR' `--date=DATESTR' Display the date and time specified in DATESTR instead of the current date and time. DATESTR can be in almost any common format. It can contain month names, time zones, `am' and `pm', `yesterday', etc. For example, `--date="2004-02-27 14:19:13.489392193 +0530"' specifies the instant of time that is 489,392,193 nanoseconds after February 27, 2004 at 2:19:13 PM in a time zone that is 5 hours and 30 minutes east of UTC. Note: input currently must be in locale independent format. E.g., the LC_TIME=C below is needed to print back the correct date in many locales: date -d "$(LC_TIME=C date)" *Note Date input formats::. `-f DATEFILE' `--file=DATEFILE' Parse each line in DATEFILE as with `-d' and display the resulting date and time. If DATEFILE is `-', use standard input. This is useful when you have many dates to process, because the system overhead of starting up the `date' executable many times can be considerable. `-I[TIMESPEC]' `--iso-8601[=TIMESPEC]' Display the date using the ISO 8601 format, `%Y-%m-%d'. The argument TIMESPEC specifies the number of additional terms of the time to include. It can be one of the following: `auto' Print just the date. This is the default if TIMESPEC is omitted. `hours' Append the hour of the day to the date. `minutes' Append the hours and minutes. `seconds' Append the hours, minutes and seconds. `ns' Append the hours, minutes, seconds and nanoseconds. If showing any time terms, then include the time zone using the format `%z'. `-r FILE' `--reference=FILE' Display the date and time of the last modification of FILE, instead of the current date and time. `-R' `--rfc-822' `--rfc-2822' Display the date and time using the format `%a, %d %b %Y %H:%M:%S %z', evaluated in the C locale so abbreviations are always in English. For example: Fri, 09 Sep 2005 13:51:39 -0700 This format conforms to Internet RFCs 2822 (ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt) and 822 (ftp://ftp.rfc-editor.org/in-notes/rfc822.txt), the current and previous standards for Internet email. `--rfc-3339=TIMESPEC' Display the date using a format specified by Internet RFC 3339 (ftp://ftp.rfc-editor.org/in-notes/rfc3339.txt). This is a subset of the ISO 8601 format, except that it also permits applications to use a space rather than a `T' to separate dates from times. Unlike the other standard formats, RFC 3339 format is always suitable as input for the `--date' (`-d') and `--file' (`-f') options, regardless of the current locale. The argument TIMESPEC specifies how much of the time to include. It can be one of the following: `date' Print just the full-date, e.g., `2005-09-14'. This is equivalent to the format `%Y-%m-%d'. `seconds' Print the full-date and full-time separated by a space, e.g., `2005-09-14 00:56:06+05:30'. The output ends with a numeric time-offset; here the `+05:30' means that local time is five hours and thirty minutes east of UTC. This is equivalent to the format `%Y-%m-%d %H:%M:%S%:z'. `ns' Like `seconds', but also print nanoseconds, e.g., `2005-09-14 00:56:06.998458565+05:30'. This is equivalent to the format `%Y-%m-%d %H:%M:%S.%N%:z'. `-s DATESTR' `--set=DATESTR' Set the date and time to DATESTR. See `-d' above. See also *note Setting the time::. `-u' `--utc' `--universal' Use Coordinated Universal Time (UTC) by operating as if the `TZ' environment variable were set to the string `UTC0'. Coordinated Universal Time is often called "Greenwich Mean Time" (GMT) for historical reasons. Typically, systems ignore leap seconds and thus implement an approximation to UTC rather than true UTC.  File: coreutils.info, Node: Examples of date, Up: date invocation 21.1.7 Examples of `date' ------------------------- Here are a few examples. Also see the documentation for the `-d' option in the previous section. * To print the date of the day before yesterday: date --date='2 days ago' * To print the date of the day three months and one day hence: date --date='3 months 1 day' * To print the day of year of Christmas in the current year: date --date='25 Dec' +%j * To print the current full month name and the day of the month: date '+%B %d' But this may not be what you want because for the first nine days of the month, the `%d' expands to a zero-padded two-digit field, for example `date -d 1may '+%B %d'' will print `May 01'. * To print a date without the leading zero for one-digit days of the month, you can use the (GNU extension) `-' flag to suppress the padding altogether: date -d 1may '+%B %-d * To print the current date and time in the format required by many non-GNU versions of `date' when setting the system clock: date +%m%d%H%M%Y.%S * To set the system clock forward by two minutes: date --set='+2 minutes' * To print the date in RFC 2822 format, use `date --rfc-2822'. Here is some example output: Fri, 09 Sep 2005 13:51:39 -0700 * To convert a date string to the number of seconds since the epoch (which is 1970-01-01 00:00:00 UTC), use the `--date' option with the `%s' format. That can be useful in sorting and/or graphing and/or comparing data by date. The following command outputs the number of the seconds since the epoch for the time two minutes after the epoch: date --date='1970-01-01 00:02:00 +0000' +%s 120 If you do not specify time zone information in the date string, `date' uses your computer's idea of the time zone when interpreting the string. For example, if your computer's time zone is that of Cambridge, Massachusetts, which was then 5 hours (i.e., 18,000 seconds) behind UTC: # local time zone used date --date='1970-01-01 00:02:00' +%s 18120 * If you're sorting or graphing dated data, your raw date values may be represented as seconds since the epoch. But few people can look at the date `946684800' and casually note "Oh, that's the first second of the year 2000 in Greenwich, England." date --date='2000-01-01 UTC' +%s 946684800 An alternative is to use the `--utc' (`-u') option. Then you may omit `UTC' from the date string. Although this produces the same result for `%s' and many other format sequences, with a time zone offset different from zero, it would give a different result for zone-dependent formats like `%z'. date -u --date=2000-01-01 +%s 946684800 To convert such an unwieldy number of seconds back to a more readable form, use a command like this: # local time zone used date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z" 1999-12-31 19:00:00 -0500 Or if you do not mind depending on the `@' feature present since coreutils 5.3.0, you could shorten this to: date -d @946684800 +"%F %T %z" 1999-12-31 19:00:00 -0500 Often it is better to output UTC-relative date and time: date -u -d '1970-01-01 946684800 seconds' +"%Y-%m-%d %T %z" 2000-01-01 00:00:00 +0000 * Typically the seconds count omits leap seconds, but some systems are exceptions. Because leap seconds are not predictable, the mapping between the seconds count and a future timestamp is not reliable on the atypical systems that include leap seconds in their counts. Here is how the two kinds of systems handle the leap second at 2012-06-30 23:59:60 UTC: # Typical systems ignore leap seconds: date --date='2012-06-30 23:59:59 +0000' +%s 1341100799 date --date='2012-06-30 23:59:60 +0000' +%s date: invalid date '2012-06-30 23:59:60 +0000' date --date='2012-07-01 00:00:00 +0000' +%s 1341100800 # Atypical systems count leap seconds: date --date='2012-06-30 23:59:59 +0000' +%s 1341100823 date --date='2012-06-30 23:59:60 +0000' +%s 1341100824 date --date='2012-07-01 00:00:00 +0000' +%s 1341100825  File: coreutils.info, Node: arch invocation, Next: nproc invocation, Prev: date invocation, Up: System context 21.2 `arch': Print machine hardware name ======================================== `arch' prints the machine hardware name, and is equivalent to `uname -m'. Synopsis: arch [OPTION] The program accepts the *note Common options:: only. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: nproc invocation, Next: uname invocation, Prev: arch invocation, Up: System context 21.3 `nproc': Print the number of available processors ====================================================== Print the number of processing units available to the current process, which may be less than the number of online processors. If this information is not accessible, then print the number of processors installed. If the `OMP_NUM_THREADS' environment variable is set, then it will determine the returned value. The result is guaranteed to be greater than zero. Synopsis: nproc [OPTION] The program accepts the following options. Also see *note Common options::. `--all' Print the number of installed processors on the system, which may be greater than the number online or available to the current process. The `OMP_NUM_THREADS' environment variable is not honored in this case. `--ignore=NUMBER' If possible, exclude this NUMBER of processing units. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: uname invocation, Next: hostname invocation, Prev: nproc invocation, Up: System context 21.4 `uname': Print system information ====================================== `uname' prints information about the machine and operating system it is run on. If no options are given, `uname' acts as if the `-s' option were given. Synopsis: uname [OPTION]... If multiple options or `-a' are given, the selected information is printed in this order: KERNEL-NAME NODENAME KERNEL-RELEASE KERNEL-VERSION MACHINE PROCESSOR HARDWARE-PLATFORM OPERATING-SYSTEM The information may contain internal spaces, so such output cannot be parsed reliably. In the following example, RELEASE is `2.2.18ss.e820-bda652a #4 SMP Tue Jun 5 11:24:08 PDT 2001': uname -a => Linux dumdum 2.2.18 #4 SMP Tue Jun 5 11:24:08 PDT 2001 i686 unknown unknown GNU/Linux The program accepts the following options. Also see *note Common options::. `-a' `--all' Print all of the below information, except omit the processor type and the hardware platform name if they are unknown. `-i' `--hardware-platform' Print the hardware platform name (sometimes called the hardware implementation). Print `unknown' if the kernel does not make this information easily available, as is the case with Linux kernels. `-m' `--machine' Print the machine hardware name (sometimes called the hardware class or hardware type). `-n' `--nodename' Print the network node hostname. `-p' `--processor' Print the processor type (sometimes called the instruction set architecture or ISA). Print `unknown' if the kernel does not make this information easily available, as is the case with Linux kernels. `-o' `--operating-system' Print the name of the operating system. `-r' `--kernel-release' Print the kernel release. `-s' `--kernel-name' Print the kernel name. POSIX 1003.1-2001 (*note Standards conformance::) calls this "the implementation of the operating system", because the POSIX specification itself has no notion of "kernel". The kernel name might be the same as the operating system name printed by the `-o' or `--operating-system' option, but it might differ. Some operating systems (e.g., FreeBSD, HP-UX) have the same name as their underlying kernels; others (e.g., GNU/Linux, Solaris) do not. `-v' `--kernel-version' Print the kernel version. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: hostname invocation, Next: hostid invocation, Prev: uname invocation, Up: System context 21.5 `hostname': Print or set system name ========================================= With no arguments, `hostname' prints the name of the current host system. With one argument, it sets the current host name to the specified string. You must have appropriate privileges to set the host name. Synopsis: hostname [NAME] The only options are `--help' and `--version'. *Note Common options::. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: hostid invocation, Next: uptime invocation, Prev: hostname invocation, Up: System context 21.6 `hostid': Print numeric host identifier ============================================ `hostid' prints the numeric identifier of the current host in hexadecimal. This command accepts no arguments. The only options are `--help' and `--version'. *Note Common options::. For example, here's what it prints on one system I use: $ hostid 1bac013d On that system, the 32-bit quantity happens to be closely related to the system's Internet address, but that isn't always the case. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: uptime invocation, Prev: hostid invocation, Up: System context 21.7 `uptime': Print system uptime and load =========================================== `uptime' prints the current time, the system's uptime, the number of logged-in users and the current load average. If an argument is specified, it is used as the file to be read to discover how many users are logged in. If no argument is specified, a system default is used (`uptime --help' indicates the default setting). The only options are `--help' and `--version'. *Note Common options::. For example, here's what it prints right now on one system I use: $ uptime 14:07 up 3:35, 3 users, load average: 1.39, 1.15, 1.04 The precise method of calculation of load average varies somewhat between systems. Some systems calculate it as the average number of runnable processes over the last 1, 5 and 15 minutes, but some systems also include processes in the uninterruptible sleep state (that is, those processes which are waiting for disk I/O). The Linux kernel includes uninterruptible processes.  File: coreutils.info, Node: SELinux context, Next: Modified command invocation, Prev: System context, Up: Top 22 SELinux context ****************** This section describes commands for operations with SELinux contexts. * Menu: * chcon invocation:: Change SELinux context of file * runcon invocation:: Run a command in specified SELinux context  File: coreutils.info, Node: chcon invocation, Next: runcon invocation, Up: SELinux context 22.1 `chcon': Change SELinux context of file ============================================ `chcon' changes the SELinux security context of the selected files. Synopses: chcon [OPTION]... CONTEXT FILE... chcon [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... chcon [OPTION]... --reference=RFILE FILE... Change the SELinux security context of each FILE to CONTEXT. With `--reference', change the security context of each FILE to that of RFILE. The program accepts the following options. Also see *note Common options::. `--dereference' Do not affect symbolic links but what they refer to; this is the default. `-h' `--no-dereference' Affect the symbolic links themselves instead of any referenced file. `--reference=RFILE' Use RFILE's security context rather than specifying a CONTEXT value. `-R' `--recursive' Operate on files and directories recursively. `--preserve-root' Refuse to operate recursively on the root directory, `/', when used together with the `--recursive' option. *Note Treating / specially::. `--no-preserve-root' Do not treat the root directory, `/', specially when operating recursively; this is the default. *Note Treating / specially::. `-H' If `--recursive' (`-R') is specified and a command line argument is a symbolic link to a directory, traverse it. *Note Traversing symlinks::. `-L' In a recursive traversal, traverse every symbolic link to a directory that is encountered. *Note Traversing symlinks::. `-P' Do not traverse any symbolic links. This is the default if none of `-H', `-L', or `-P' is specified. *Note Traversing symlinks::. `-v' `--verbose' Output a diagnostic for every file processed. `-u USER' `--user=USER' Set user USER in the target security context. `-r ROLE' `--role=ROLE' Set role ROLE in the target security context. `-t TYPE' `--type=TYPE' Set type TYPE in the target security context. `-l RANGE' `--range=RANGE' Set range RANGE in the target security context. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: runcon invocation, Prev: chcon invocation, Up: SELinux context 22.2 `runcon': Run a command in specified SELinux context ========================================================= `runcon' runs file in specified SELinux security context. Synopses: runcon CONTEXT COMMAND [ARGS] runcon [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [ARGS] Run COMMAND with completely-specified CONTEXT, or with current or transitioned security context modified by one or more of LEVEL, ROLE, TYPE and USER. If none of `-c', `-t', `-u', `-r', or `-l' is specified, the first argument is used as the complete context. Any additional arguments after COMMAND are interpreted as arguments to the command. With neither CONTEXT nor COMMAND, print the current security context. The program accepts the following options. Also see *note Common options::. `-c' `--compute' Compute process transition context before modifying. `-u USER' `--user=USER' Set user USER in the target security context. `-r ROLE' `--role=ROLE' Set role ROLE in the target security context. `-t TYPE' `--type=TYPE' Set type TYPE in the target security context. `-l RANGE' `--range=RANGE' Set range RANGE in the target security context. Exit status: 126 if COMMAND is found but cannot be invoked 127 if `runcon' itself fails or if COMMAND cannot be found the exit status of COMMAND otherwise  File: coreutils.info, Node: Modified command invocation, Next: Process control, Prev: SELinux context, Up: Top 23 Modified command invocation ****************************** This section describes commands that run other commands in some context different than the current one: a modified environment, as a different user, etc. * Menu: * chroot invocation:: Modify the root directory. * env invocation:: Modify environment variables. * nice invocation:: Modify niceness. * nohup invocation:: Immunize to hangups. * stdbuf invocation:: Modify buffering of standard streams. * timeout invocation:: Run with time limit.  File: coreutils.info, Node: chroot invocation, Next: env invocation, Up: Modified command invocation 23.1 `chroot': Run a command with a different root directory ============================================================ `chroot' runs a command with a specified root directory. On many systems, only the super-user can do this.(1) Synopses: chroot OPTION NEWROOT [COMMAND [ARGS]...] chroot OPTION Ordinarily, file names are looked up starting at the root of the directory structure, i.e., `/'. `chroot' changes the root to the directory NEWROOT (which must exist) and then runs COMMAND with optional ARGS. If COMMAND is not specified, the default is the value of the `SHELL' environment variable or `/bin/sh' if not set, invoked with the `-i' option. COMMAND must not be a special built-in utility (*note Special built-in utilities::). The program accepts the following options. Also see *note Common options::. Options must precede operands. `--userspec=USER[:GROUP]' By default, COMMAND is run with the same credentials as the invoking process. Use this option to run it as a different USER and/or with a different primary GROUP. `--groups=GROUPS' Use this option to specify the supplementary GROUPS to be used by the new process. The items in the list (names or numeric IDs) must be separated by commas. Here are a few tips to help avoid common problems in using chroot. To start with a simple example, make COMMAND refer to a statically linked binary. If you were to use a dynamically linked executable, then you'd have to arrange to have the shared libraries in the right place under your new root directory. For example, if you create a statically linked `ls' executable, and put it in `/tmp/empty', you can run this command as root: $ chroot /tmp/empty /ls -Rl / Then you'll see output like this: /: total 1023 -rwxr-xr-x 1 0 0 1041745 Aug 16 11:17 ls If you want to use a dynamically linked executable, say `bash', then first run `ldd bash' to see what shared objects it needs. Then, in addition to copying the actual binary, also copy the listed files to the required positions under your intended new root directory. Finally, if the executable requires any other files (e.g., data, state, device files), copy them into place, too. Exit status: 125 if `chroot' itself fails 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found the exit status of COMMAND otherwise ---------- Footnotes ---------- (1) However, some systems (e.g., FreeBSD) can be configured to allow certain regular users to use the `chroot' system call, and hence to run this program. Also, on Cygwin, anyone can run the `chroot' command, because the underlying function is non-privileged due to lack of support in MS-Windows.  File: coreutils.info, Node: env invocation, Next: nice invocation, Prev: chroot invocation, Up: Modified command invocation 23.2 `env': Run a command in a modified environment =================================================== `env' runs a command with a modified environment. Synopses: env [OPTION]... [NAME=VALUE]... [COMMAND [ARGS]...] env Operands of the form `VARIABLE=VALUE' set the environment variable VARIABLE to value VALUE. VALUE may be empty (`VARIABLE='). Setting a variable to an empty value is different from unsetting it. These operands are evaluated left-to-right, so if two operands mention the same variable the earlier is ignored. Environment variable names can be empty, and can contain any characters other than `=' and ASCII NUL. However, it is wise to limit yourself to names that consist solely of underscores, digits, and ASCII letters, and that begin with a non-digit, as applications like the shell do not work well with other names. The first operand that does not contain the character `=' specifies the program to invoke; it is searched for according to the `PATH' environment variable. Any remaining arguments are passed as arguments to that program. The program should not be a special built-in utility (*note Special built-in utilities::). Modifications to `PATH' take effect prior to searching for COMMAND. Use caution when reducing `PATH'; behavior is not portable when `PATH' is undefined or omits key directories such as `/bin'. In the rare case that a utility contains a `=' in the name, the only way to disambiguate it from a variable assignment is to use an intermediate command for COMMAND, and pass the problematic program name via ARGS. For example, if `./prog=' is an executable in the current `PATH': env prog= true # runs 'true', with prog= in environment env ./prog= true # runs 'true', with ./prog= in environment env -- prog= true # runs 'true', with prog= in environment env sh -c '\prog= true' # runs 'prog=' with argument 'true' env sh -c 'exec "$@"' sh prog= true # also runs 'prog=' If no command name is specified following the environment specifications, the resulting environment is printed. This is like specifying the `printenv' program. For some examples, suppose the environment passed to `env' contains `LOGNAME=rms', `EDITOR=emacs', and `PATH=.:/gnubin:/hacks': * Output the current environment. $ env | LC_ALL=C sort EDITOR=emacs LOGNAME=rms PATH=.:/gnubin:/hacks * Run `foo' with a reduced environment, preserving only the original `PATH' to avoid problems in locating `foo'. env - PATH="$PATH" foo * Run `foo' with the environment containing `LOGNAME=rms', `EDITOR=emacs', and `PATH=.:/gnubin:/hacks', and guarantees that `foo' was found in the file system rather than as a shell built-in. env foo * Run `nemacs' with the environment containing `LOGNAME=foo', `EDITOR=emacs', `PATH=.:/gnubin:/hacks', and `DISPLAY=gnu:0'. env DISPLAY=gnu:0 LOGNAME=foo nemacs * Attempt to run the program `/energy/--' (as that is the only possible path search result); if the command exists, the environment will contain `LOGNAME=rms' and `PATH=/energy', and the arguments will be `e=mc2', `bar', and `baz'. env -u EDITOR PATH=/energy -- e=mc2 bar baz The program accepts the following options. Also see *note Common options::. Options must precede operands. `-0' `--null' Output a zero byte (ASCII NUL) at the end of each line, rather than a newline. This option enables other programs to parse the output of `env' even when that output would contain data with embedded newlines. `-u NAME' `--unset=NAME' Remove variable NAME from the environment, if it was in the environment. `-' `-i' `--ignore-environment' Start with an empty environment, ignoring the inherited environment. Exit status: 0 if no COMMAND is specified and the environment is output 125 if `env' itself fails 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found the exit status of COMMAND otherwise  File: coreutils.info, Node: nice invocation, Next: nohup invocation, Prev: env invocation, Up: Modified command invocation 23.3 `nice': Run a command with modified niceness ================================================= `nice' prints a process's "niceness", or runs a command with modified niceness. "niceness" affects how favorably the process is scheduled in the system. Synopsis: nice [OPTION]... [COMMAND [ARG]...] If no arguments are given, `nice' prints the current niceness. Otherwise, `nice' runs the given COMMAND with its niceness adjusted. By default, its niceness is incremented by 10. Niceness values range at least from -20 (process has high priority and gets more resources, thus slowing down other processes) through 19 (process has lower priority and runs slowly itself, but has less impact on the speed of other running processes). Some systems may have a wider range of niceness values; conversely, other systems may enforce more restrictive limits. An attempt to set the niceness outside the supported range is treated as an attempt to use the minimum or maximum supported value. A niceness should not be confused with a scheduling priority, which lets applications determine the order in which threads are scheduled to run. Unlike a priority, a niceness is merely advice to the scheduler, which the scheduler is free to ignore. Also, as a point of terminology, POSIX defines the behavior of `nice' in terms of a "nice value", which is the nonnegative difference between a niceness and the minimum niceness. Though `nice' conforms to POSIX, its documentation and diagnostics use the term "niceness" for compatibility with historical practice. COMMAND must not be a special built-in utility (*note Special built-in utilities::). Due to shell aliases and built-in `nice' functions, using an unadorned `nice' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env nice ...') to avoid interference from the shell. Note to change the "niceness" of an existing process, one needs to use the `renice' command. The program accepts the following option. Also see *note Common options::. Options must precede operands. `-n ADJUSTMENT' `--adjustment=ADJUSTMENT' Add ADJUSTMENT instead of 10 to the command's niceness. If ADJUSTMENT is negative and you lack appropriate privileges, `nice' issues a warning but otherwise acts as if you specified a zero adjustment. For compatibility `nice' also supports an obsolete option syntax `-ADJUSTMENT'. New scripts should use `-n ADJUSTMENT' instead. Exit status: 0 if no COMMAND is specified and the niceness is output 125 if `nice' itself fails 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found the exit status of COMMAND otherwise It is sometimes useful to run a non-interactive program with reduced niceness. $ nice factor 4611686018427387903 Since `nice' prints the current niceness, you can invoke it through itself to demonstrate how it works. The default behavior is to increase the niceness by `10': $ nice 0 $ nice nice 10 $ nice -n 10 nice 10 The ADJUSTMENT is relative to the current niceness. In the next example, the first `nice' invocation runs the second one with niceness 10, and it in turn runs the final one with a niceness that is 3 more: $ nice nice -n 3 nice 13 Specifying a niceness larger than the supported range is the same as specifying the maximum supported value: $ nice -n 10000000000 nice 19 Only a privileged user may run a process with lower niceness: $ nice -n -1 nice nice: cannot set niceness: Permission denied 0 $ sudo nice -n -1 nice -1  File: coreutils.info, Node: nohup invocation, Next: stdbuf invocation, Prev: nice invocation, Up: Modified command invocation 23.4 `nohup': Run a command immune to hangups ============================================= `nohup' runs the given COMMAND with hangup signals ignored, so that the command can continue running in the background after you log out. Synopsis: nohup COMMAND [ARG]... If standard input is a terminal, it is redirected from `/dev/null' so that terminal sessions do not mistakenly consider the terminal to be used by the command. This is a GNU extension; programs intended to be portable to non-GNU hosts should use `nohup COMMAND [ARG]... make.log `nohup' does not automatically put the command it runs in the background; you must do that explicitly, by ending the command line with an `&'. Also, `nohup' does not alter the niceness of COMMAND; use `nice' for that, e.g., `nohup nice COMMAND'. COMMAND must not be a special built-in utility (*note Special built-in utilities::). The only options are `--help' and `--version'. *Note Common options::. Options must precede operands. Exit status: 125 if `nohup' itself fails, and `POSIXLY_CORRECT' is not set 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found the exit status of COMMAND otherwise If `POSIXLY_CORRECT' is set, internal failures give status 127 instead of 125.  File: coreutils.info, Node: stdbuf invocation, Next: timeout invocation, Prev: nohup invocation, Up: Modified command invocation 23.5 `stdbuf': Run a command with modified I/O stream buffering =============================================================== `stdbuf' allows one to modify the buffering operations of the three standard I/O streams associated with a program. Synopsis: stdbuf OPTION... COMMAND COMMAND must start with the name of a program that 1. uses the ISO C `FILE' streams for input/output (note the programs `dd' and `cat' don't do that), 2. does not adjust the buffering of its standard streams (note the program `tee' is not in this category). Any additional ARGs are passed as additional arguments to the COMMAND. The program accepts the following options. Also see *note Common options::. `-i MODE' `--input=MODE' Adjust the standard input stream buffering. `-o MODE' `--output=MODE' Adjust the standard output stream buffering. `-e MODE' `--error=MODE' Adjust the standard error stream buffering. The MODE can be specified as follows: `L' Set the stream to line buffered mode. In this mode data is coalesced until a newline is output or input is read from any stream attached to a terminal device. This option is invalid with standard input. `0' Disable buffering of the selected stream. In this mode, data is output immediately and only the amount of data requested is read from input. Note the difference in function for input and output. Disabling buffering for input will not influence the responsiveness or blocking behavior of the stream input functions. For example `fread' will still block until `EOF' or error, even if the underlying `read' returns less data than requested. `SIZE' Specify the size of the buffer to use in fully buffered mode. SIZE may be, or may be an integer optionally followed by, one of the following multiplicative suffixes: `KB' => 1000 (KiloBytes) `K' => 1024 (KibiBytes) `MB' => 1000*1000 (MegaBytes) `M' => 1024*1024 (MebiBytes) `GB' => 1000*1000*1000 (GigaBytes) `G' => 1024*1024*1024 (GibiBytes) and so on for `T', `P', `E', `Z', and `Y'. Exit status: 125 if `stdbuf' itself fails 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found the exit status of COMMAND otherwise  File: coreutils.info, Node: timeout invocation, Prev: stdbuf invocation, Up: Modified command invocation 23.6 `timeout': Run a command with a time limit =============================================== `timeout' runs the given COMMAND and kills it if it is still running after the specified time interval. Synopsis: timeout [OPTION] DURATION COMMAND [ARG]... COMMAND must not be a special built-in utility (*note Special built-in utilities::). The program accepts the following options. Also see *note Common options::. Options must precede operands. `--preserve-status' Return the exit status of the managed COMMAND on timeout, rather than a specific exit status indicating a timeout. This is useful if the managed COMMAND supports running for an indeterminite amount of time. `--foreground' Don't create a separate background program group, so that the managed COMMAND can use the foreground TTY normally. This is needed to support timing out commands not started directly from an interactive shell, in two situations. 1. COMMAND is interactive and needs to read from the terminal for example 2. the user wants to support sending signals directly to COMMAND from the terminal (like Ctrl-C for example) Note in this mode of operation, any children of COMMAND will not be timed out. `-k DURATION' `--kill-after=DURATION' Ensure the monitored COMMAND is killed by also sending a `KILL' signal, after the specified DURATION. Without this option, if the selected signal proves not to be fatal, `timeout' does not kill the COMMAND. `-s SIGNAL' `--signal=SIGNAL' Send this SIGNAL to COMMAND on timeout, rather than the default `TERM' signal. SIGNAL may be a name like `HUP' or a number. *Note Signal specifications::. DURATION is a floating point number followed by an optional unit: `s' for seconds (the default) `m' for minutes `h' for hours `d' for days A duration of 0 disables the associated timeout. Note that the actual timeout duration is dependent on system conditions, which should be especially considered when specifying sub-second timeouts. Exit status: 124 if COMMAND times out 125 if `timeout' itself fails 126 if COMMAND is found but cannot be invoked 127 if COMMAND cannot be found 137 if COMMAND is sent the KILL(9) signal (128+9) the exit status of COMMAND otherwise  File: coreutils.info, Node: Process control, Next: Delaying, Prev: Modified command invocation, Up: Top 24 Process control ****************** * Menu: * kill invocation:: Sending a signal to processes.  File: coreutils.info, Node: kill invocation, Up: Process control 24.1 `kill': Send a signal to processes ======================================= The `kill' command sends a signal to processes, causing them to terminate or otherwise act upon receiving the signal in some way. Alternatively, it lists information about signals. Synopses: kill [-s SIGNAL | --signal SIGNAL | -SIGNAL] PID... kill [-l | --list | -t | --table] [SIGNAL]... Due to shell aliases and built-in `kill' functions, using an unadorned `kill' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env kill ...') to avoid interference from the shell. The first form of the `kill' command sends a signal to all PID arguments. The default signal to send if none is specified is `TERM'. The special signal number `0' does not denote a valid signal, but can be used to test whether the PID arguments specify processes to which a signal could be sent. If PID is positive, the signal is sent to the process with the process ID PID. If PID is zero, the signal is sent to all processes in the process group of the current process. If PID is -1, the signal is sent to all processes for which the user has permission to send a signal. If PID is less than -1, the signal is sent to all processes in the process group that equals the absolute value of PID. If PID is not positive, a system-dependent set of system processes is excluded from the list of processes to which the signal is sent. If a negative PID argument is desired as the first one, it should be preceded by `--'. However, as a common extension to POSIX, `--' is not required with `kill -SIGNAL -PID'. The following commands are equivalent: kill -15 -1 kill -TERM -1 kill -s TERM -- -1 kill -- -1 The first form of the `kill' command succeeds if every PID argument specifies at least one process that the signal was sent to. The second form of the `kill' command lists signal information. Either the `-l' or `--list' option, or the `-t' or `--table' option must be specified. Without any SIGNAL argument, all supported signals are listed. The output of `-l' or `--list' is a list of the signal names, one per line; if SIGNAL is already a name, the signal number is printed instead. The output of `-t' or `--table' is a table of signal numbers, names, and descriptions. This form of the `kill' command succeeds if all SIGNAL arguments are valid and if there is no output error. The `kill' command also supports the `--help' and `--version' options. *Note Common options::. A SIGNAL may be a signal name like `HUP', or a signal number like `1', or an exit status of a process terminated by the signal. A signal name can be given in canonical form or prefixed by `SIG'. The case of the letters is ignored, except for the `-SIGNAL' option which must use upper case to avoid ambiguity with lower case option letters. *Note Signal specifications::, for a list of supported signal names and numbers.  File: coreutils.info, Node: Delaying, Next: Numeric operations, Prev: Process control, Up: Top 25 Delaying *********** * Menu: * sleep invocation:: Delay for a specified time.  File: coreutils.info, Node: sleep invocation, Up: Delaying 25.1 `sleep': Delay for a specified time ======================================== `sleep' pauses for an amount of time specified by the sum of the values of the command line arguments. Synopsis: sleep NUMBER[smhd]... Each argument is a number followed by an optional unit; the default is seconds. The units are: `s' seconds `m' minutes `h' hours `d' days Historical implementations of `sleep' have required that NUMBER be an integer, and only accepted a single argument without a suffix. However, GNU `sleep' accepts arbitrary floating point numbers. *Note Floating point::. The only options are `--help' and `--version'. *Note Common options::. Due to shell aliases and built-in `sleep' functions, using an unadorned `sleep' interactively or in a script may get you different functionality than that described here. Invoke it via `env' (i.e., `env sleep ...') to avoid interference from the shell. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: Numeric operations, Next: File permissions, Prev: Delaying, Up: Top 26 Numeric operations ********************* These programs do numerically-related operations. * Menu: * factor invocation:: Show factors of numbers. * seq invocation:: Print sequences of numbers.  File: coreutils.info, Node: factor invocation, Next: seq invocation, Up: Numeric operations 26.1 `factor': Print prime factors ================================== `factor' prints prime factors. Synopses: factor [NUMBER]... factor OPTION If no NUMBER is specified on the command line, `factor' reads numbers from standard input, delimited by newlines, tabs, or spaces. The `factor' command supports only a small number of options: `--help' Print a short help on standard output, then exit without further processing. `--version' Print the program version on standard output, then exit without further processing. Factoring the product of the eighth and ninth Mersenne primes takes about 30 milliseconds of CPU time on a 2.2 GHz Athlon. M8=$(echo 2^31-1|bc) M9=$(echo 2^61-1|bc) n=$(echo "$M8 * $M9" | bc) /usr/bin/time -f %U factor $n 4951760154835678088235319297: 2147483647 2305843009213693951 0.03 Similarly, factoring the eighth Fermat number 2^256+1 takes about 20 seconds on the same machine. Factoring large numbers is, in general, hard. The Pollard Rho algorithm used by `factor' is particularly effective for numbers with relatively small factors. If you wish to factor large numbers which do not have small factors (for example, numbers which are the product of two large primes), other methods are far better. If `factor' is built without using GNU MP, only single-precision arithmetic is available, and so large numbers (typically 2^64 and above) will not be supported. The single-precision code uses an algorithm which is designed for factoring smaller numbers. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: seq invocation, Prev: factor invocation, Up: Numeric operations 26.2 `seq': Print numeric sequences =================================== `seq' prints a sequence of numbers to standard output. Synopses: seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST `seq' prints the numbers from FIRST to LAST by INCREMENT. By default, each number is printed on a separate line. When INCREMENT is not specified, it defaults to `1', even when FIRST is larger than LAST. FIRST also defaults to `1'. So `seq 1' prints `1', but `seq 0' and `seq 10 5' produce no output. Floating-point numbers may be specified. *Note Floating point::. The program accepts the following options. Also see *note Common options::. Options must precede operands. `-f FORMAT' `--format=FORMAT' Print all numbers using FORMAT. FORMAT must contain exactly one of the `printf'-style floating point conversion specifications `%a', `%e', `%f', `%g', `%A', `%E', `%F', `%G'. The `%' may be followed by zero or more flags taken from the set `-+#0 '', then an optional width containing one or more digits, then an optional precision consisting of a `.' followed by zero or more digits. FORMAT may also contain any number of `%%' conversion specifications. All conversion specifications have the same meaning as with `printf'. The default format is derived from FIRST, STEP, and LAST. If these all use a fixed point decimal representation, the default format is `%.Pf', where P is the minimum precision that can represent the output numbers exactly. Otherwise, the default format is `%g'. `-s STRING' `--separator=STRING' Separate numbers with STRING; default is a newline. The output always terminates with a newline. `-w' `--equal-width' Print all numbers with the same width, by padding with leading zeros. FIRST, STEP, and LAST should all use a fixed point decimal representation. (To have other kinds of padding, use `--format'). You can get finer-grained control over output with `-f': $ seq -f '(%9.2E)' -9e5 1.1e6 1.3e6 (-9.00E+05) ( 2.00E+05) ( 1.30E+06) If you want hexadecimal integer output, you can use `printf' to perform the conversion: $ printf '%x\n' $(seq 1048575 1024 1050623) fffff 1003ff 1007ff For very long lists of numbers, use xargs to avoid system limitations on the length of an argument list: $ seq 1000000 | xargs printf '%x\n' | tail -n 3 f423e f423f f4240 To generate octal output, use the printf `%o' format instead of `%x'. On most systems, seq can produce whole-number output for values up to at least 2^53. Larger integers are approximated. The details differ depending on your floating-point implementation. *Note Floating point::. A common case is that `seq' works with integers through 2^64, and larger integers may not be numerically correct: $ seq 50000000000000000000 2 50000000000000000004 50000000000000000000 50000000000000000000 50000000000000000004 However, note that when limited to non-negative whole numbers, an increment of 1 and no format-specifying option, seq can print arbitrarily large numbers. Be careful when using `seq' with outlandish values: otherwise you may see surprising results, as `seq' uses floating point internally. For example, on the x86 platform, where the internal representation uses a 64-bit fraction, the command: seq 1 0.0000000000000000001 1.0000000000000000009 outputs 1.0000000000000000007 twice and skips 1.0000000000000000008. An exit status of zero indicates success, and a nonzero value indicates failure.  File: coreutils.info, Node: File permissions, Next: Date input formats, Prev: Numeric operations, Up: Top 27 File permissions ******************* Each file has a set of "file mode bits" that control the kinds of access that users have to that file. They can be represented either in symbolic form or as an octal number. * Menu: * Mode Structure:: Structure of file mode bits. * Symbolic Modes:: Mnemonic representation of file mode bits. * Numeric Modes:: File mode bits as octal numbers. * Operator Numeric Modes:: ANDing, ORing, and setting modes octally. * Directory Setuid and Setgid:: Set-user-ID and set-group-ID on directories.  File: coreutils.info, Node: Mode Structure, Next: Symbolic Modes, Up: File permissions 27.1 Structure of File Mode Bits ================================ The file mode bits have two parts: the "file permission bits", which control ordinary access to the file, and "special mode bits", which affect only some files. There are three kinds of permissions that a user can have for a file: 1. permission to read the file. For directories, this means permission to list the contents of the directory. 2. permission to write to (change) the file. For directories, this means permission to create and remove files in the directory. 3. permission to execute the file (run it as a program). For directories, this means permission to access files in the directory. There are three categories of users who may have different permissions to perform any of the above operations on a file: 1. the file's owner; 2. other users who are in the file's group; 3. everyone else. Files are given an owner and group when they are created. Usually the owner is the current user and the group is the group of the directory the file is in, but this varies with the operating system, the file system the file is created on, and the way the file is created. You can change the owner and group of a file by using the `chown' and `chgrp' commands. In addition to the three sets of three permissions listed above, the file mode bits have three special components, which affect only executable files (programs) and, on most systems, directories: 1. Set the process's effective user ID to that of the file upon execution (called the "set-user-ID bit", or sometimes the "setuid bit"). For directories on a few systems, give files created in the directory the same owner as the directory, no matter who creates them, and set the set-user-ID bit of newly-created subdirectories. 2. Set the process's effective group ID to that of the file upon execution (called the "set-group-ID bit", or sometimes the "setgid bit"). For directories on most systems, give files created in the directory the same group as the directory, no matter what group the user who creates them is in, and set the set-group-ID bit of newly-created subdirectories. 3. Prevent unprivileged users from removing or renaming a file in a directory unless they own the file or the directory; this is called the "restricted deletion flag" for the directory, and is commonly found on world-writable directories like `/tmp'. For regular files on some older systems, save the program's text image on the swap device so it will load more quickly when run; this is called the "sticky bit". In addition to the file mode bits listed above, there may be file attributes specific to the file system, e.g., access control lists (ACLs), whether a file is compressed, whether a file can be modified (immutability), and whether a file can be dumped. These are usually set using programs specific to the file system. For example: ext2 On GNU and GNU/Linux the file attributes specific to the ext2 file system are set using `chattr'. FFS On FreeBSD the file flags specific to the FFS file system are set using `chflags'. Even if a file's mode bits allow an operation on that file, that operation may still fail, because: * the file-system-specific attributes or flags do not permit it; or * the file system is mounted as read-only. For example, if the immutable attribute is set on a file, it cannot be modified, regardless of the fact that you may have just run `chmod a+w FILE'.  File: coreutils.info, Node: Symbolic Modes, Next: Numeric Modes, Prev: Mode Structure, Up: File permissions 27.2 Symbolic Modes =================== "Symbolic modes" represent changes to files' mode bits as operations on single-character symbols. They allow you to modify either all or selected parts of files' mode bits, optionally based on their previous values, and perhaps on the current `umask' as well (*note Umask and Protection::). The format of symbolic modes is: [ugoa...][+-=]PERMS...[,...] where PERMS is either zero or more letters from the set `rwxXst', or a single letter from the set `ugo'. The following sections describe the operators and other details of symbolic modes. * Menu: * Setting Permissions:: Basic operations on permissions. * Copying Permissions:: Copying existing permissions. * Changing Special Mode Bits:: Special mode bits. * Conditional Executability:: Conditionally affecting executability. * Multiple Changes:: Making multiple changes. * Umask and Protection:: The effect of the umask.  File: coreutils.info, Node: Setting Permissions, Next: Copying Permissions, Up: Symbolic Modes 27.2.1 Setting Permissions -------------------------- The basic symbolic operations on a file's permissions are adding, removing, and setting the permission that certain users have to read, write, and execute or search the file. These operations have the following format: USERS OPERATION PERMISSIONS The spaces between the three parts above are shown for readability only; symbolic modes cannot contain spaces. The USERS part tells which users' access to the file is changed. It consists of one or more of the following letters (or it can be empty; *note Umask and Protection::, for a description of what happens then). When more than one of these letters is given, the order that they are in does not matter. `u' the user who owns the file; `g' other users who are in the file's group; `o' all other users; `a' all users; the same as `ugo'. The OPERATION part tells how to change the affected users' access to the file, and is one of the following symbols: `+' to add the PERMISSIONS to whatever permissions the USERS already have for the file; `-' to remove the PERMISSIONS from whatever permissions the USERS already have for the file; `=' to make the PERMISSIONS the only permissions that the USERS have for the file. The PERMISSIONS part tells what kind of access to the file should be changed; it is normally zero or more of the following letters. As with the USERS part, the order does not matter when more than one letter is given. Omitting the PERMISSIONS part is useful only with the `=' operation, where it gives the specified USERS no access at all to the file. `r' the permission the USERS have to read the file; `w' the permission the USERS have to write to the file; `x' the permission the USERS have to execute the file, or search it if it is a directory. For example, to give everyone permission to read and write a regular file, but not to execute it, use: a=rw To remove write permission for all users other than the file's owner, use: go-w The above command does not affect the access that the owner of the file has to it, nor does it affect whether other users can read or execute the file. To give everyone except a file's owner no permission to do anything with that file, use the mode below. Other users could still remove the file, if they have write permission on the directory it is in. go= Another way to specify the same thing is: og-rwx  File: coreutils.info, Node: Copying Permissions, Next: Changing Special Mode Bits, Prev: Setting Permissions, Up: Symbolic Modes 27.2.2 Copying Existing Permissions ----------------------------------- You can base a file's permissions on its existing permissions. To do this, instead of using a series of `r', `w', or `x' letters after the operator, you use the letter `u', `g', or `o'. For example, the mode o+g adds the permissions for users who are in a file's group to the permissions that other users have for the file. Thus, if the file started out as mode 664 (`rw-rw-r--'), the above mode would change it to mode 666 (`rw-rw-rw-'). If the file had started out as mode 741 (`rwxr----x'), the above mode would change it to mode 745 (`rwxr--r-x'). The `-' and `=' operations work analogously.  File: coreutils.info, Node: Changing Special Mode Bits, Next: Conditional Executability, Prev: Copying Permissions, Up: Symbolic Modes 27.2.3 Changing Special Mode Bits --------------------------------- In addition to changing a file's read, write, and execute/search permissions, you can change its special mode bits. *Note Mode Structure::, for a summary of these special mode bits. To change the file mode bits to set the user ID on execution, use `u' in the USERS part of the symbolic mode and `s' in the PERMISSIONS part. To change the file mode bits to set the group ID on execution, use `g' in the USERS part of the symbolic mode and `s' in the PERMISSIONS part. To set both user and group ID on execution, omit the USERS part of the symbolic mode (or use `a') and use `s' in the PERMISSIONS part. To change the file mode bits to set the restricted deletion flag or sticky bit, omit the USERS part of the symbolic mode (or use `a') and use `t' in the PERMISSIONS part. For example, to set the set-user-ID mode bit of a program, you can use the mode: u+s To remove both set-user-ID and set-group-ID mode bits from it, you can use the mode: a-s To set the restricted deletion flag or sticky bit, you can use the mode: +t The combination `o+s' has no effect. On GNU systems the combinations `u+t' and `g+t' have no effect, and `o+t' acts like plain `+t'. The `=' operator is not very useful with special mode bits. For example, the mode: o=t does set the restricted deletion flag or sticky bit, but it also removes all read, write, and execute/search permissions that users not in the file's group might have had for it. *Note Directory Setuid and Setgid::, for additional rules concerning set-user-ID and set-group-ID bits and directories.  File: coreutils.info, Node: Conditional Executability, Next: Multiple Changes, Prev: Changing Special Mode Bits, Up: Symbolic Modes 27.2.4 Conditional Executability -------------------------------- There is one more special type of symbolic permission: if you use `X' instead of `x', execute/search permission is affected only if the file is a directory or already had execute permission. For example, this mode: a+X gives all users permission to search directories, or to execute files if anyone could execute them before.  File: coreutils.info, Node: Multiple Changes, Next: Umask and Protection, Prev: Conditional Executability, Up: Symbolic Modes 27.2.5 Making Multiple Changes ------------------------------ The format of symbolic modes is actually more complex than described above (*note Setting Permissions::). It provides two ways to make multiple changes to files' mode bits. The first way is to specify multiple OPERATION and PERMISSIONS parts after a USERS part in the symbolic mode. For example, the mode: og+rX-w gives users other than the owner of the file read permission and, if it is a directory or if someone already had execute permission to it, gives them execute/search permission; and it also denies them write permission to the file. It does not affect the permission that the owner of the file has for it. The above mode is equivalent to the two modes: og+rX og-w The second way to make multiple changes is to specify more than one simple symbolic mode, separated by commas. For example, the mode: a+r,go-w gives everyone permission to read the file and removes write permission on it for all users except its owner. Another example: u=rwx,g=rx,o= sets all of the permission bits for the file explicitly. (It gives users who are not in the file's group no permission at all for it.) The two methods can be combined. The mode: a+r,g+x-w gives all users permission to read the file, and gives users who are in the file's group permission to execute/search it as well, but not permission to write to it. The above mode could be written in several different ways; another is: u+r,g+rx,o+r,g-w  File: coreutils.info, Node: Umask and Protection, Prev: Multiple Changes, Up: Symbolic Modes 27.2.6 The Umask and Protection ------------------------------- If the USERS part of a symbolic mode is omitted, it defaults to `a' (affect all users), except that any permissions that are _set_ in the system variable `umask' are _not affected_. The value of `umask' can be set using the `umask' command. Its default value varies from system to system. Omitting the USERS part of a symbolic mode is generally not useful with operations other than `+'. It is useful with `+' because it allows you to use `umask' as an easily customizable protection against giving away more permission to files than you intended to. As an example, if `umask' has the value 2, which removes write permission for users who are not in the file's group, then the mode: +w adds permission to write to the file to its owner and to other users who are in the file's group, but _not_ to other users. In contrast, the mode: a+w ignores `umask', and _does_ give write permission for the file to all users.  File: coreutils.info, Node: Numeric Modes, Next: Operator Numeric Modes, Prev: Symbolic Modes, Up: File permissions 27.3 Numeric Modes ================== As an alternative to giving a symbolic mode, you can give an octal (base 8) number that represents the mode. This number is always interpreted in octal; you do not have to add a leading `0', as you do in C. Mode `0055' is the same as mode `55'. (However, modes of five digits or more, such as `00055', are sometimes special. *Note Directory Setuid and Setgid::.) A numeric mode is usually shorter than the corresponding symbolic mode, but it is limited in that normally it cannot take into account the previous file mode bits; it can only set them absolutely. The set-user-ID and set-group-ID bits of directories are an exception to this general limitation. *Note Directory Setuid and Setgid::. Also, operator numeric modes can take previous file mode bits into account. *Note Operator Numeric Modes::. The permissions granted to the user, to other users in the file's group, and to other users not in the file's group each require three bits, which are represented as one octal digit. The three special mode bits also require one bit each, and they are as a group represented as another octal digit. Here is how the bits are arranged, starting with the lowest valued bit: Value in Corresponding Mode Mode Bit Other users not in the file's group: 1 Execute/search 2 Write 4 Read Other users in the file's group: 10 Execute/search 20 Write 40 Read The file's owner: 100 Execute/search 200 Write 400 Read Special mode bits: 1000 Restricted deletion flag or sticky bit 2000 Set group ID on execution 4000 Set user ID on execution For example, numeric mode `4755' corresponds to symbolic mode `u=rwxs,go=rx', and numeric mode `664' corresponds to symbolic mode `ug=rw,o=r'. Numeric mode `0' corresponds to symbolic mode `a='.  File: coreutils.info, Node: Operator Numeric Modes, Next: Directory Setuid and Setgid, Prev: Numeric Modes, Up: File permissions 27.4 Operator Numeric Modes =========================== An operator numeric mode is a numeric mode that is prefixed by a `-', `+', or `=' operator, which has the same interpretation as in symbolic modes. For example, `+440' enables read permission for the file's owner and group, `-1' disables execute permission for other users, and `=600' clears all permissions except for enabling read-write permissions for the file's owner. Operator numeric modes can be combined with symbolic modes by separating them with a comma; for example, `=0,u+r' clears all permissions except for enabling read permission for the file's owner. The commands `chmod =755 DIR' and `chmod 755 DIR' differ in that the former clears the directory DIR's setuid and setgid bits, whereas the latter preserves them. *Note Directory Setuid and Setgid::. Operator numeric modes are a GNU extension.  File: coreutils.info, Node: Directory Setuid and Setgid, Prev: Operator Numeric Modes, Up: File permissions 27.5 Directories and the Set-User-ID and Set-Group-ID Bits ========================================================== On most systems, if a directory's set-group-ID bit is set, newly created subfiles inherit the same group as the directory, and newly created subdirectories inherit the set-group-ID bit of the parent directory. On a few systems, a directory's set-user-ID bit has a similar effect on the ownership of new subfiles and the set-user-ID bits of new subdirectories. These mechanisms let users share files more easily, by lessening the need to use `chmod' or `chown' to share new files. These convenience mechanisms rely on the set-user-ID and set-group-ID bits of directories. If commands like `chmod' and `mkdir' routinely cleared these bits on directories, the mechanisms would be less convenient and it would be harder to share files. Therefore, a command like `chmod' does not affect the set-user-ID or set-group-ID bits of a directory unless the user specifically mentions them in a symbolic mode, or uses an operator numeric mode such as `=755', or sets them in a numeric mode, or clears them in a numeric mode that has five or more octal digits. For example, on systems that support set-group-ID inheritance: # These commands leave the set-user-ID and # set-group-ID bits of the subdirectories alone, # so that they retain their default values. mkdir A B C chmod 755 A chmod 0755 B chmod u=rwx,go=rx C mkdir -m 755 D mkdir -m 0755 E mkdir -m u=rwx,go=rx F If you want to try to set these bits, you must mention them explicitly in the symbolic or numeric modes, e.g.: # These commands try to set the set-user-ID # and set-group-ID bits of the subdirectories. mkdir G chmod 6755 G chmod +6000 G chmod u=rwx,go=rx,a+s G mkdir -m 6755 H mkdir -m +6000 I mkdir -m u=rwx,go=rx,a+s J If you want to try to clear these bits, you must mention them explicitly in a symbolic mode, or use an operator numeric mode, or specify a numeric mode with five or more octal digits, e.g.: # These commands try to clear the set-user-ID # and set-group-ID bits of the directory D. chmod a-s D chmod -6000 D chmod =755 D chmod 00755 D This behavior is a GNU extension. Portable scripts should not rely on requests to set or clear these bits on directories, as POSIX allows implementations to ignore these requests. The GNU behavior with numeric modes of four or fewer digits is intended for scripts portable to systems that preserve these bits; the behavior with numeric modes of five or more digits is for scripts portable to systems that do not preserve the bits.  File: coreutils.info, Node: Date input formats, Next: Opening the software toolbox, Prev: File permissions, Up: Top 28 Date input formats ********************* First, a quote: Our units of temporal measurement, from seconds on up to months, are so complicated, asymmetrical and disjunctive so as to make coherent mental reckoning in time all but impossible. Indeed, had some tyrannical god contrived to enslave our minds to time, to make it all but impossible for us to escape subjection to sodden routines and unpleasant surprises, he could hardly have done better than handing down our present system. It is like a set of trapezoidal building blocks, with no vertical or horizontal surfaces, like a language in which the simplest thought demands ornate constructions, useless particles and lengthy circumlocutions. Unlike the more successful patterns of language and science, which enable us to face experience boldly or at least level-headedly, our system of temporal calculation silently and persistently encourages our terror of time. ... It is as though architects had to measure length in feet, width in meters and height in ells; as though basic instruction manuals demanded a knowledge of five different languages. It is no wonder then that we often look into our own immediate past or future, last Tuesday or a week from Sunday, with feelings of helpless confusion. ... --Robert Grudin, `Time and the Art of Living'. This section describes the textual date representations that GNU programs accept. These are the strings you, as a user, can supply as arguments to the various programs. The C interface (via the `parse_datetime' function) is not described here. * Menu: * General date syntax:: Common rules. * Calendar date items:: 19 Dec 1994. * Time of day items:: 9:20pm. * Time zone items:: EST, PDT, UTC, ... * Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. * Day of week items:: Monday and others. * Relative items in date strings:: next tuesday, 2 years ago. * Pure numbers in date strings:: 19931219, 1440. * Seconds since the Epoch:: @1078100502. * Specifying time zone rules:: TZ="America/New_York", TZ="UTC0". * Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al.  File: coreutils.info, Node: General date syntax, Next: Calendar date items, Up: Date input formats 28.1 General date syntax ======================== A "date" is a string, possibly empty, containing many items separated by whitespace. The whitespace may be omitted when no ambiguity arises. The empty string means the beginning of today (i.e., midnight). Order of the items is immaterial. A date string may contain many flavors of items: * calendar date items * time of day items * time zone items * combined date and time of day items * day of the week items * relative items * pure numbers. We describe each of these item types in turn, below. A few ordinal numbers may be written out in words in some contexts. This is most useful for specifying day of the week items or relative items (see below). Among the most commonly used ordinal numbers, the word `last' stands for -1, `this' stands for 0, and `first' and `next' both stand for 1. Because the word `second' stands for the unit of time there is no way to write the ordinal number 2, but for convenience `third' stands for 3, `fourth' for 4, `fifth' for 5, `sixth' for 6, `seventh' for 7, `eighth' for 8, `ninth' for 9, `tenth' for 10, `eleventh' for 11 and `twelfth' for 12. When a month is written this way, it is still considered to be written numerically, instead of being "spelled in full"; this changes the allowed strings. In the current implementation, only English is supported for words and abbreviations like `AM', `DST', `EST', `first', `January', `Sunday', `tomorrow', and `year'. The output of the `date' command is not always acceptable as a date string, not only because of the language problem, but also because there is no standard meaning for time zone items like `IST'. When using `date' to generate a date string intended to be parsed later, specify a date format that is independent of language and that does not use time zone items other than `UTC' and `Z'. Here are some ways to do this: $ LC_ALL=C TZ=UTC0 date Mon Mar 1 00:21:42 UTC 2004 $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' 2004-03-01 00:21:42Z $ date --rfc-3339=ns # --rfc-3339 is a GNU extension. 2004-02-29 16:21:42.692722128-08:00 $ date --rfc-2822 # a GNU extension Sun, 29 Feb 2004 16:21:42 -0800 $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. 2004-02-29 16:21:42 -0800 $ date +'@%s.%N' # %s and %N are GNU extensions. @1078100502.692722128 Alphabetic case is completely ignored in dates. Comments may be introduced between round parentheses, as long as included parentheses are properly nested. Hyphens not followed by a digit are currently ignored. Leading zeros on numbers are ignored. Invalid dates like `2005-02-29' or times like `24:00' are rejected. In the typical case of a host that does not support leap seconds, a time like `23:59:60' is rejected even if it corresponds to a valid leap second.  File: coreutils.info, Node: Calendar date items, Next: Time of day items, Prev: General date syntax, Up: Date input formats 28.2 Calendar date items ======================== A "calendar date item" specifies a day of the year. It is specified differently, depending on whether the month is specified numerically or literally. All these strings specify the same calendar date: 1972-09-24 # ISO 8601. 72-9-24 # Assume 19xx for 69 through 99, # 20xx for 00 through 68. 72-09-24 # Leading zeros are ignored. 9/24/72 # Common U.S. writing. 24 September 1972 24 Sept 72 # September has a special abbreviation. 24 Sep 72 # Three-letter abbreviations always allowed. Sep 24, 1972 24-sep-72 24sep72 The year can also be omitted. In this case, the last specified year is used, or the current year if none. For example: 9/24 sep 24 Here are the rules. For numeric months, the ISO 8601 format `YEAR-MONTH-DAY' is allowed, where YEAR is any positive number, MONTH is a number between 01 and 12, and DAY is a number between 01 and 31. A leading zero must be present if a number is less than ten. If YEAR is 68 or smaller, then 2000 is added to it; otherwise, if YEAR is less than 100, then 1900 is added to it. The construct `MONTH/DAY/YEAR', popular in the United States, is accepted. Also `MONTH/DAY', omitting the year. Literal months may be spelled out in full: `January', `February', `March', `April', `May', `June', `July', `August', `September', `October', `November' or `December'. Literal months may be abbreviated to their first three letters, possibly followed by an abbreviating dot. It is also permitted to write `Sept' instead of `September'. When months are written literally, the calendar date may be given as any of the following: DAY MONTH YEAR DAY MONTH MONTH DAY YEAR DAY-MONTH-YEAR Or, omitting the year: MONTH DAY  File: coreutils.info, Node: Time of day items, Next: Time zone items, Prev: Calendar date items, Up: Date input formats 28.3 Time of day items ====================== A "time of day item" in date strings specifies the time on a given day. Here are some examples, all of which represent the same time: 20:02:00.000000 20:02 8:02pm 20:02-0500 # In EST (U.S. Eastern Standard Time). More generally, the time of day may be given as `HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE is a number between 0 and 59, and SECOND is a number between 0 and 59 possibly followed by `.' or `,' and a fraction containing one or more digits. Alternatively, `:SECOND' can be omitted, in which case it is taken to be zero. On the rare hosts that support leap seconds, SECOND may be 60. If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken to be zero). `am' indicates the first half of the day, `pm' indicates the second half of the day. In this notation, 12 is the predecessor of 1: midnight is `12am' while noon is `12pm'. (This is the zero-oriented interpretation of `12am' and `12pm', as opposed to the old tradition derived from Latin which uses `12m' for noon and `12pm' for midnight.) The time may alternatively be followed by a time zone correction, expressed as `SHHMM', where S is `+' or `-', HH is a number of zone hours and MM is a number of zone minutes. The zone minutes term, MM, may be omitted, in which case the one- or two-digit correction is interpreted as a number of hours. You can also separate HH from MM with a colon. When a time zone correction is given this way, it forces interpretation of the time relative to Coordinated Universal Time (UTC), overriding any previous specification for the time zone or the local time zone. For example, `+0530' and `+05:30' both stand for the time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to specify a time zone correction by fractional parts of an hour. The maximum zone correction is 24 hours. Either `am'/`pm' or a time zone correction may be specified, but not both.  File: coreutils.info, Node: Time zone items, Next: Combined date and time of day items, Prev: Time of day items, Up: Date input formats 28.4 Time zone items ==================== A "time zone item" specifies an international time zone, indicated by a small set of letters, e.g., `UTC' or `Z' for Coordinated Universal Time. Any included periods are ignored. By following a non-daylight-saving time zone by the string `DST' in a separate word (that is, separated by some white space), the corresponding daylight saving time zone may be specified. Alternatively, a non-daylight-saving time zone can be followed by a time zone correction, to add the two values. This is normally done only for `UTC'; for example, `UTC+05:30' is equivalent to `+05:30'. Time zone items other than `UTC' and `Z' are obsolescent and are not recommended, because they are ambiguous; for example, `EST' has a different meaning in Australia than in the United States. Instead, it's better to use unambiguous numeric time zone corrections like `-0500', as described in the previous section. If neither a time zone item nor a time zone correction is supplied, time stamps are interpreted using the rules of the default time zone (*note Specifying time zone rules::).  File: coreutils.info, Node: Combined date and time of day items, Next: Day of week items, Prev: Time zone items, Up: Date input formats 28.5 Combined date and time of day items ======================================== The ISO 8601 date and time of day extended format consists of an ISO 8601 date, a `T' character separator, and an ISO 8601 time of day. This format is also recognized if the `T' is replaced by a space. In this format, the time of day should use 24-hour notation. Fractional seconds are allowed, with either comma or period preceding the fraction. ISO 8601 fractional minutes and hours are not supported. Typically, hosts support nanosecond timestamp resolution; excess precision is silently discarded. Here are some examples: 2012-09-24T20:02:00.052-0500 2012-12-31T23:59:59,999999999+1100 1970-01-01 00:00Z  File: coreutils.info, Node: Day of week items, Next: Relative items in date strings, Prev: Combined date and time of day items, Up: Date input formats 28.6 Day of week items ====================== The explicit mention of a day of the week will forward the date (only if necessary) to reach that day of the week in the future. Days of the week may be spelled out in full: `Sunday', `Monday', `Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Days may be abbreviated to their first three letters, optionally followed by a period. The special abbreviations `Tues' for `Tuesday', `Wednes' for `Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed. A number may precede a day of the week item to move forward supplementary weeks. It is best used in expression like `third monday'. In this context, `last DAY' or `next DAY' is also acceptable; they move one week before or after the day that DAY by itself would represent. A comma following a day of the week item is ignored.  File: coreutils.info, Node: Relative items in date strings, Next: Pure numbers in date strings, Prev: Day of week items, Up: Date input formats 28.7 Relative items in date strings =================================== "Relative items" adjust a date (or the current date if none) forward or backward. The effects of relative items accumulate. Here are some examples: 1 year 1 year ago 3 years 2 days The unit of time displacement may be selected by the string `year' or `month' for moving by whole years or months. These are fuzzy units, as years and months are not all of equal duration. More precise units are `fortnight' which is worth 14 days, `week' worth 7 days, `day' worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 seconds, and `second' or `sec' worth one second. An `s' suffix on these units is accepted and ignored. The unit of time may be preceded by a multiplier, given as an optionally signed number. Unsigned numbers are taken as positively signed. No number at all implies 1 for a multiplier. Following a relative item by the string `ago' is equivalent to preceding the unit by a multiplier with value -1. The string `tomorrow' is worth one day in the future (equivalent to `day'), the string `yesterday' is worth one day in the past (equivalent to `day ago'). The strings `now' or `today' are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise changed by previous items. They may be used to stress other items, like in `12:00 today'. The string `this' also has the meaning of a zero-valued time displacement, but is preferred in date strings like `this thursday'. When a relative item causes the resulting date to cross a boundary where the clocks were adjusted, typically for daylight saving time, the resulting date and time are adjusted accordingly. The fuzz in units can cause problems with relative items. For example, `2003-07-31 -1 month' might evaluate to 2003-07-01, because 2003-06-31 is an invalid date. To determine the previous month more reliably, you can ask for the month before the 15th of the current month. For example: $ date -R Thu, 31 Jul 2003 13:02:39 -0700 $ date --date='-1 month' +'Last month was %B?' Last month was July? $ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!' Last month was June! Also, take care when manipulating dates around clock changes such as daylight saving leaps. In a few cases these have added or subtracted as much as 24 hours from the clock, so it is often wise to adopt universal time by setting the `TZ' environment variable to `UTC0' before embarking on calendrical calculations.  File: coreutils.info, Node: Pure numbers in date strings, Next: Seconds since the Epoch, Prev: Relative items in date strings, Up: Date input formats 28.8 Pure numbers in date strings ================================= The precise interpretation of a pure decimal number depends on the context in the date string. If the decimal number is of the form YYYYMMDD and no other calendar date item (*note Calendar date items::) appears before it in the date string, then YYYY is read as the year, MM as the month number and DD as the day of the month, for the specified calendar date. If the decimal number is of the form HHMM and no other time of day item appears before it in the date string, then HH is read as the hour of the day and MM as the minute of the hour, for the specified time of day. MM can also be omitted. If both a calendar date and a time of day appear to the left of a number in the date string, but no relative item, then the number overrides the year.  File: coreutils.info, Node: Seconds since the Epoch, Next: Specifying time zone rules, Prev: Pure numbers in date strings, Up: Date input formats 28.9 Seconds since the Epoch ============================ If you precede a number with `@', it represents an internal time stamp as a count of seconds. The number can contain an internal decimal point (either `.' or `,'); any excess precision not supported by the internal representation is truncated toward minus infinity. Such a number cannot be combined with any other date item, as it specifies a complete time stamp. Internally, computer times are represented as a count of seconds since an epoch--a well-defined point of time. On GNU and POSIX systems, the epoch is 1970-01-01 00:00:00 UTC, so `@0' represents this time, `@1' represents 1970-01-01 00:00:01 UTC, and so forth. GNU and most other POSIX-compliant systems support such times as an extension to POSIX, using negative counts, so that `@-1' represents 1969-12-31 23:59:59 UTC. Traditional Unix systems count seconds with 32-bit two's-complement integers and can represent times from 1901-12-13 20:45:52 through 2038-01-19 03:14:07 UTC. More modern systems use 64-bit counts of seconds with nanosecond subcounts, and can represent all the times in the known lifetime of the universe to a resolution of 1 nanosecond. On most hosts, these counts ignore the presence of leap seconds. For example, on most hosts `@915148799' represents 1998-12-31 23:59:59 UTC, `@915148800' represents 1999-01-01 00:00:00 UTC, and there is no way to represent the intervening leap second 1998-12-31 23:59:60 UTC.  File: coreutils.info, Node: Specifying time zone rules, Next: Authors of parse_datetime, Prev: Seconds since the Epoch, Up: Date input formats 28.10 Specifying time zone rules ================================ Normally, dates are interpreted using the rules of the current time zone, which in turn are specified by the `TZ' environment variable, or by a system default if `TZ' is not set. To specify a different set of default time zone rules that apply just to one date, start the date with a string of the form `TZ="RULE"'. The two quote characters (`"') must be present in the date, and any quotes or backslashes within RULE must be escaped by a backslash. For example, with the GNU `date' command you can answer the question "What time is it in New York when a Paris clock shows 6:30am on October 31, 2004?" by using a date beginning with `TZ="Europe/Paris"' as shown in the following shell transcript: $ export TZ="America/New_York" $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' Sun Oct 31 01:30:00 EDT 2004 In this example, the `--date' operand begins with its own `TZ' setting, so the rest of that operand is processed according to `Europe/Paris' rules, treating the string `2004-10-31 06:30' as if it were in Paris. However, since the output of the `date' command is processed according to the overall time zone rules, it uses New York time. (Paris was normally six hours ahead of New York in 2004, but this example refers to a brief Halloween period when the gap was five hours.) A `TZ' value is a rule that typically names a location in the `tz' database (http://www.twinsun.com/tz/tz-link.htm). A recent catalog of location names appears in the TWiki Date and Time Gateway (http://twiki.org/cgi-bin/xtra/tzdate). A few non-GNU hosts require a colon before a location name in a `TZ' setting, e.g., `TZ=":America/New_York"'. The `tz' database includes a wide variety of locations ranging from `Arctic/Longyearbyen' to `Antarctica/South_Pole', but if you are at sea and have your own private time zone, or if you are using a non-GNU host that does not support the `tz' database, you may need to use a POSIX rule instead. Simple POSIX rules like `UTC0' specify a time zone without daylight saving time; other rules can specify simple daylight saving regimes. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable.  File: coreutils.info, Node: Authors of parse_datetime, Prev: Specifying time zone rules, Up: Date input formats 28.11 Authors of `parse_datetime' ================================= `parse_datetime' started life as `getdate', as originally implemented by Steven M. Bellovin () while at the University of North Carolina at Chapel Hill. The code was later tweaked by a couple of people on Usenet, then completely overhauled by Rich $alz () and Jim Berets () in August, 1990. Various revisions for the GNU system were made by David MacKenzie, Jim Meyering, Paul Eggert and others, including renaming it to `get_date' to avoid a conflict with the alternative Posix function `getdate', and a later rename to `parse_datetime'. The Posix function `getdate' can parse more locale-specific dates using `strptime', but relies on an environment variable and external file, and lacks the thread-safety of `parse_datetime'. This chapter was originally produced by Franc,ois Pinard () from the `parse_datetime.y' source code, and then edited by K. Berry ().  File: coreutils.info, Node: Opening the software toolbox, Next: GNU Free Documentation License, Prev: Date input formats, Up: Top 29 Opening the Software Toolbox ******************************* An earlier version of this chapter appeared in the `What's GNU?' column of the June 1994 `Linux Journal' (http://www.linuxjournal.com/article.php?sid=2762). It was written by Arnold Robbins. * Menu: * Toolbox introduction:: Toolbox introduction * I/O redirection:: I/O redirection * The who command:: The `who' command * The cut command:: The `cut' command * The sort command:: The `sort' command * The uniq command:: The `uniq' command * Putting the tools together:: Putting the tools together  File: coreutils.info, Node: Toolbox introduction, Next: I/O redirection, Up: Opening the software toolbox Toolbox Introduction ==================== This month's column is only peripherally related to the GNU Project, in that it describes a number of the GNU tools on your GNU/Linux system and how they might be used. What it's really about is the "Software Tools" philosophy of program development and usage. The software tools philosophy was an important and integral concept in the initial design and development of Unix (of which Linux and GNU are essentially clones). Unfortunately, in the modern day press of Internetworking and flashy GUIs, it seems to have fallen by the wayside. This is a shame, since it provides a powerful mental model for solving many kinds of problems. Many people carry a Swiss Army knife around in their pants pockets (or purse). A Swiss Army knife is a handy tool to have: it has several knife blades, a screwdriver, tweezers, toothpick, nail file, corkscrew, and perhaps a number of other things on it. For the everyday, small miscellaneous jobs where you need a simple, general purpose tool, it's just the thing. On the other hand, an experienced carpenter doesn't build a house using a Swiss Army knife. Instead, he has a toolbox chock full of specialized tools--a saw, a hammer, a screwdriver, a plane, and so on. And he knows exactly when and where to use each tool; you won't catch him hammering nails with the handle of his screwdriver. The Unix developers at Bell Labs were all professional programmers and trained computer scientists. They had found that while a one-size-fits-all program might appeal to a user because there's only one program to use, in practice such programs are a. difficult to write, b. difficult to maintain and debug, and c. difficult to extend to meet new situations. Instead, they felt that programs should be specialized tools. In short, each program "should do one thing well." No more and no less. Such programs are simpler to design, write, and get right--they only do one thing. Furthermore, they found that with the right machinery for hooking programs together, that the whole was greater than the sum of the parts. By combining several special purpose programs, you could accomplish a specific task that none of the programs was designed for, and accomplish it much more quickly and easily than if you had to write a special purpose program. We will see some (classic) examples of this further on in the column. (An important additional point was that, if necessary, take a detour and build any software tools you may need first, if you don't already have something appropriate in the toolbox.)  File: coreutils.info, Node: I/O redirection, Next: The who command, Prev: Toolbox introduction, Up: Opening the software toolbox I/O Redirection =============== Hopefully, you are familiar with the basics of I/O redirection in the shell, in particular the concepts of "standard input," "standard output," and "standard error". Briefly, "standard input" is a data source, where data comes from. A program should not need to either know or care if the data source is a disk file, a keyboard, a magnetic tape, or even a punched card reader. Similarly, "standard output" is a data sink, where data goes to. The program should neither know nor care where this might be. Programs that only read their standard input, do something to the data, and then send it on, are called "filters", by analogy to filters in a water pipeline. With the Unix shell, it's very easy to set up data pipelines: program_to_create_data | filter1 | ... | filterN > final.pretty.data We start out by creating the raw data; each filter applies some successive transformation to the data, until by the time it comes out of the pipeline, it is in the desired form. This is fine and good for standard input and standard output. Where does the standard error come in to play? Well, think about `filter1' in the pipeline above. What happens if it encounters an error in the data it sees? If it writes an error message to standard output, it will just disappear down the pipeline into `filter2''s input, and the user will probably never see it. So programs need a place where they can send error messages so that the user will notice them. This is standard error, and it is usually connected to your console or window, even if you have redirected standard output of your program away from your screen. For filter programs to work together, the format of the data has to be agreed upon. The most straightforward and easiest format to use is simply lines of text. Unix data files are generally just streams of bytes, with lines delimited by the ASCII LF (Line Feed) character, conventionally called a "newline" in the Unix literature. (This is `'\n'' if you're a C programmer.) This is the format used by all the traditional filtering programs. (Many earlier operating systems had elaborate facilities and special purpose programs for managing binary data. Unix has always shied away from such things, under the philosophy that it's easiest to simply be able to view and edit your data with a text editor.) OK, enough introduction. Let's take a look at some of the tools, and then we'll see how to hook them together in interesting ways. In the following discussion, we will only present those command line options that interest us. As you should always do, double check your system documentation for the full story.  File: coreutils.info, Node: The who command, Next: The cut command, Prev: I/O redirection, Up: Opening the software toolbox The `who' Command ================= The first program is the `who' command. By itself, it generates a list of the users who are currently logged in. Although I'm writing this on a single-user system, we'll pretend that several people are logged in: $ who -| arnold console Jan 22 19:57 -| miriam ttyp0 Jan 23 14:19(:0.0) -| bill ttyp1 Jan 21 09:32(:0.0) -| arnold ttyp2 Jan 23 20:48(:0.0) Here, the `$' is the usual shell prompt, at which I typed `who'. There are three people logged in, and I am logged in twice. On traditional Unix systems, user names are never more than eight characters long. This little bit of trivia will be useful later. The output of `who' is nice, but the data is not all that exciting.  File: coreutils.info, Node: The cut command, Next: The sort command, Prev: The who command, Up: Opening the software toolbox The `cut' Command ================= The next program we'll look at is the `cut' command. This program cuts out columns or fields of input data. For example, we can tell it to print just the login name and full name from the `/etc/passwd' file. The `/etc/passwd' file has seven fields, separated by colons: arnold:xyzzy:2076:10:Arnold D. Robbins:/home/arnold:/bin/bash To get the first and fifth fields, we would use `cut' like this: $ cut -d: -f1,5 /etc/passwd -| root:Operator ... -| arnold:Arnold D. Robbins -| miriam:Miriam A. Robbins ... With the `-c' option, `cut' will cut out specific characters (i.e., columns) in the input lines. This is useful for input data that has fixed width fields, and does not have a field separator. For example, list the Monday dates for the current month: $ cal | cut -c 3-5 -|Mo -| -| 6 -| 13 -| 20 -| 27  File: coreutils.info, Node: The sort command, Next: The uniq command, Prev: The cut command, Up: Opening the software toolbox The `sort' Command ================== Next we'll look at the `sort' command. This is one of the most powerful commands on a Unix-style system; one that you will often find yourself using when setting up fancy data plumbing. The `sort' command reads and sorts each file named on the command line. It then merges the sorted data and writes it to standard output. It will read standard input if no files are given on the command line (thus making it into a filter). The sort is based on the character collating sequence or based on user-supplied ordering criteria.  File: coreutils.info, Node: The uniq command, Next: Putting the tools together, Prev: The sort command, Up: Opening the software toolbox The `uniq' Command ================== Finally (at least for now), we'll look at the `uniq' program. When sorting data, you will often end up with duplicate lines, lines that are identical. Usually, all you need is one instance of each line. This is where `uniq' comes in. The `uniq' program reads its standard input. It prints only one copy of each repeated line. It does have several options. Later on, we'll use the `-c' option, which prints each unique line, preceded by a count of the number of times that line occurred in the input.  File: coreutils.info, Node: Putting the tools together, Prev: The uniq command, Up: Opening the software toolbox Putting the Tools Together ========================== Now, let's suppose this is a large ISP server system with dozens of users logged in. The management wants the system administrator to write a program that will generate a sorted list of logged in users. Furthermore, even if a user is logged in multiple times, his or her name should only show up in the output once. The administrator could sit down with the system documentation and write a C program that did this. It would take perhaps a couple of hundred lines of code and about two hours to write it, test it, and debug it. However, knowing the software toolbox, the administrator can instead start out by generating just a list of logged on users: $ who | cut -c1-8 -| arnold -| miriam -| bill -| arnold Next, sort the list: $ who | cut -c1-8 | sort -| arnold -| arnold -| bill -| miriam Finally, run the sorted list through `uniq', to weed out duplicates: $ who | cut -c1-8 | sort | uniq -| arnold -| bill -| miriam The `sort' command actually has a `-u' option that does what `uniq' does. However, `uniq' has other uses for which one cannot substitute `sort -u'. The administrator puts this pipeline into a shell script, and makes it available for all the users on the system (`#' is the system administrator, or `root', prompt): # cat > /usr/local/bin/listusers who | cut -c1-8 | sort | uniq ^D # chmod +x /usr/local/bin/listusers There are four major points to note here. First, with just four programs, on one command line, the administrator was able to save about two hours worth of work. Furthermore, the shell pipeline is just about as efficient as the C program would be, and it is much more efficient in terms of programmer time. People time is much more expensive than computer time, and in our modern "there's never enough time to do everything" society, saving two hours of programmer time is no mean feat. Second, it is also important to emphasize that with the _combination_ of the tools, it is possible to do a special purpose job never imagined by the authors of the individual programs. Third, it is also valuable to build up your pipeline in stages, as we did here. This allows you to view the data at each stage in the pipeline, which helps you acquire the confidence that you are indeed using these tools correctly. Finally, by bundling the pipeline in a shell script, other users can use your command, without having to remember the fancy plumbing you set up for them. In terms of how you run them, shell scripts and compiled programs are indistinguishable. After the previous warm-up exercise, we'll look at two additional, more complicated pipelines. For them, we need to introduce two more tools. The first is the `tr' command, which stands for "transliterate." The `tr' command works on a character-by-character basis, changing characters. Normally it is used for things like mapping upper case to lower case: $ echo ThIs ExAmPlE HaS MIXED case! | tr '[:upper:]' '[:lower:]' -| this example has mixed case! There are several options of interest: `-c' work on the complement of the listed characters, i.e., operations apply to characters not in the given set `-d' delete characters in the first set from the output `-s' squeeze repeated characters in the output into just one character. We will be using all three options in a moment. The other command we'll look at is `comm'. The `comm' command takes two sorted input files as input data, and prints out the files' lines in three columns. The output columns are the data lines unique to the first file, the data lines unique to the second file, and the data lines that are common to both. The `-1', `-2', and `-3' command line options _omit_ the respective columns. (This is non-intuitive and takes a little getting used to.) For example: $ cat f1 -| 11111 -| 22222 -| 33333 -| 44444 $ cat f2 -| 00000 -| 22222 -| 33333 -| 55555 $ comm f1 f2 -| 00000 -| 11111 -| 22222 -| 33333 -| 44444 -| 55555 The file name `-' tells `comm' to read standard input instead of a regular file. Now we're ready to build a fancy pipeline. The first application is a word frequency counter. This helps an author determine if he or she is over-using certain words. The first step is to change the case of all the letters in our input file to one case. "The" and "the" are the same word when doing counting. $ tr '[:upper:]' '[:lower:]' < whats.gnu | ... The next step is to get rid of punctuation. Quoted words and unquoted words should be treated identically; it's easiest to just get the punctuation out of the way. $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | ... The second `tr' command operates on the complement of the listed characters, which are all the letters, the digits, the underscore, and the blank. The `\n' represents the newline character; it has to be left alone. (The ASCII tab character should also be included for good measure in a production script.) At this point, we have data consisting of words separated by blank space. The words only contain alphanumeric characters (and the underscore). The next step is break the data apart so that we have one word per line. This makes the counting operation much easier, as we will see shortly. $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | ... This command turns blanks into newlines. The `-s' option squeezes multiple newline characters in the output into just one. This helps us avoid blank lines. (The `>' is the shell's "secondary prompt." This is what the shell prints when it notices you haven't finished typing in all of a command.) We now have data consisting of one word per line, no punctuation, all one case. We're ready to count each word: $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort | uniq -c | ... At this point, the data might look something like this: 60 a 2 able 6 about 1 above 2 accomplish 1 acquire 1 actually 2 additional The output is sorted by word, not by count! What we want is the most frequently used words first. Fortunately, this is easy to accomplish, with the help of two more `sort' options: `-n' do a numeric sort, not a textual one `-r' reverse the order of the sort The final pipeline looks like this: $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort | uniq -c | sort -n -r -| 156 the -| 60 a -| 58 to -| 51 of -| 51 and ... Whew! That's a lot to digest. Yet, the same principles apply. With six commands, on two lines (really one long one split for convenience), we've created a program that does something interesting and useful, in much less time than we could have written a C program to do the same thing. A minor modification to the above pipeline can give us a simple spelling checker! To determine if you've spelled a word correctly, all you have to do is look it up in a dictionary. If it is not there, then chances are that your spelling is incorrect. So, we need a dictionary. The conventional location for a dictionary is `/usr/dict/words'. On my GNU/Linux system,(1) this is a sorted, 45,402 word dictionary. Now, how to compare our file with the dictionary? As before, we generate a sorted list of words, one per line: $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort -u | ... Now, all we need is a list of words that are _not_ in the dictionary. Here is where the `comm' command comes in. $ tr '[:upper:]' '[:lower:]' < whats.gnu | tr -cd '[:alnum:]_ \n' | > tr -s ' ' '\n' | sort -u | > comm -23 - /usr/dict/words The `-2' and `-3' options eliminate lines that are only in the dictionary (the second file), and lines that are in both files. Lines only in the first file (standard input, our stream of words), are words that are not in the dictionary. These are likely candidates for spelling errors. This pipeline was the first cut at a production spelling checker on Unix. There are some other tools that deserve brief mention. `grep' search files for text that matches a regular expression `wc' count lines, words, characters `tee' a T-fitting for data pipes, copies data to files and to standard output `sed' the stream editor, an advanced tool `awk' a data manipulation language, another advanced tool The software tools philosophy also espoused the following bit of advice: "Let someone else do the hard part." This means, take something that gives you most of what you need, and then massage it the rest of the way until it's in the form that you want. To summarize: 1. Each program should do one thing well. No more, no less. 2. Combining programs with appropriate plumbing leads to results where the whole is greater than the sum of the parts. It also leads to novel uses of programs that the authors might never have imagined. 3. Programs should never print extraneous header or trailer data, since these could get sent on down a pipeline. (A point we didn't mention earlier.) 4. Let someone else do the hard part. 5. Know your toolbox! Use each program appropriately. If you don't have an appropriate tool, build one. As of this writing, all the programs we've discussed are available via anonymous `ftp' from: `ftp://gnudist.gnu.org/textutils/textutils-1.22.tar.gz'. (There may be more recent versions available now.) None of what I have presented in this column is new. The Software Tools philosophy was first introduced in the book `Software Tools', by Brian Kernighan and P.J. Plauger (Addison-Wesley, ISBN 0-201-03669-X). This book showed how to write and use software tools. It was written in 1976, using a preprocessor for FORTRAN named `ratfor' (RATional FORtran). At the time, C was not as ubiquitous as it is now; FORTRAN was. The last chapter presented a `ratfor' to FORTRAN processor, written in `ratfor'. `ratfor' looks an awful lot like C; if you know C, you won't have any problem following the code. In 1981, the book was updated and made available as `Software Tools in Pascal' (Addison-Wesley, ISBN 0-201-10342-7). Both books are still in print and are well worth reading if you're a programmer. They certainly made a major change in how I view programming. The programs in both books are available from Brian Kernighan's home page (http://cm.bell-labs.com/who/bwk). For a number of years, there was an active Software Tools Users Group, whose members had ported the original `ratfor' programs to essentially every computer system with a FORTRAN compiler. The popularity of the group waned in the middle 1980s as Unix began to spread beyond universities. With the current proliferation of GNU code and other clones of Unix programs, these programs now receive little attention; modern C versions are much more efficient and do more than these programs do. Nevertheless, as exposition of good programming style, and evangelism for a still-valuable philosophy, these books are unparalleled, and I recommend them highly. Acknowledgment: I would like to express my gratitude to Brian Kernighan of Bell Labs, the original Software Toolsmith, for reviewing this column. ---------- Footnotes ---------- (1) Redhat Linux 6.1, for the November 2000 revision of this article.  File: coreutils.info, Node: GNU Free Documentation License, Next: Concept index, Prev: Opening the software toolbox, Up: Top Appendix A GNU Free Documentation License ***************************************** Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. `http://fsf.org/' Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The "publisher" means any person or entity that distributes copies of the Document to the public. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See `http://www.gnu.org/copyleft/'. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING "Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. "Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents ==================================================== To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (C) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.  File: coreutils.info, Node: Concept index, Prev: GNU Free Documentation License, Up: Top Index ***** [index] * Menu: * !: Connectives for test. (line 9) * !=: String tests. (line 28) * %: Numeric expressions. (line 16) * %b: printf invocation. (line 38) * &: Relations for expr. (line 17) * *: Numeric expressions. (line 16) * + <1>: Numeric expressions. (line 12) * +: String expressions. (line 53) * +PAGE_RANGE: pr invocation. (line 39) * - <1>: env invocation. (line 96) * -: Numeric expressions. (line 12) * - and Unix rm: rm invocation. (line 114) * -, removing files beginning with: rm invocation. (line 102) * --: Common options. (line 44) * --across: pr invocation. (line 63) * --additional-suffix: split invocation. (line 121) * --address-radix: od invocation. (line 36) * --adjustment: nice invocation. (line 51) * --all <1>: uname invocation. (line 30) * --all <2>: nproc invocation. (line 19) * --all <3>: who invocation. (line 36) * --all <4>: stty invocation. (line 26) * --all <5>: du invocation. (line 33) * --all <6>: df invocation. (line 43) * --all <7>: Which files are listed. (line 13) * --all: unexpand invocation. (line 37) * --all-repeated: uniq invocation. (line 69) * --almost-all: Which files are listed. (line 17) * --apparent-size: du invocation. (line 36) * --append: tee invocation. (line 25) * --archive: cp invocation. (line 65) * --attributes-only: cp invocation. (line 74) * --author: What information is listed. (line 10) * --backup <1>: ln invocation. (line 84) * --backup <2>: mv invocation. (line 58) * --backup <3>: install invocation. (line 42) * --backup <4>: cp invocation. (line 81) * --backup: Backup options. (line 13) * --batch-size: sort invocation. (line 259) * --before: tac invocation. (line 21) * --binary: md5sum invocation. (line 37) * --block-size <1>: du invocation. (line 53) * --block-size <2>: df invocation. (line 49) * --block-size: Block size. (line 137) * --block-size=SIZE: Block size. (line 12) * --body-numbering: nl invocation. (line 47) * --boot: who invocation. (line 40) * --bourne-shell: dircolors invocation. (line 34) * --buffer-size: sort invocation. (line 309) * --bytes <1>: du invocation. (line 58) * --bytes <2>: cut invocation. (line 26) * --bytes <3>: wc invocation. (line 43) * --bytes <4>: split invocation. (line 40) * --bytes <5>: tail invocation. (line 32) * --bytes <6>: head invocation. (line 24) * --bytes: fold invocation. (line 23) * --c-shell: dircolors invocation. (line 40) * --canonicalize: readlink invocation. (line 29) * --canonicalize-existing <1>: realpath invocation. (line 17) * --canonicalize-existing: readlink invocation. (line 36) * --canonicalize-missing <1>: realpath invocation. (line 25) * --canonicalize-missing: readlink invocation. (line 43) * --changes <1>: chmod invocation. (line 39) * --changes <2>: chgrp invocation. (line 20) * --changes: chown invocation. (line 70) * --characters: cut invocation. (line 34) * --chars: wc invocation. (line 47) * --check: sort invocation. (line 18) * --check-chars: uniq invocation. (line 106) * --classify: General output formatting. (line 48) * --color: General output formatting. (line 21) * --columns: pr invocation. (line 49) * --compare: install invocation. (line 47) * --complement: cut invocation. (line 83) * --compute: runcon invocation. (line 27) * --context <1>: id invocation. (line 48) * --context <2>: mknod invocation. (line 54) * --context <3>: mkfifo invocation. (line 28) * --context <4>: mkdir invocation. (line 56) * --context <5>: install invocation. (line 133) * --context: What information is listed. (line 268) * --count <1>: who invocation. (line 70) * --count: uniq invocation. (line 55) * --count-links: du invocation. (line 115) * --crown-margin: fmt invocation. (line 34) * --csh: dircolors invocation. (line 40) * --date <1>: Options for date. (line 11) * --date: touch invocation. (line 86) * --dead: who invocation. (line 44) * --debug: numfmt invocation. (line 29) * --decode: base64 invocation. (line 30) * --delimiter <1>: cut invocation. (line 63) * --delimiter: numfmt invocation. (line 34) * --delimiters: paste invocation. (line 43) * --dereference <1>: chcon invocation. (line 21) * --dereference <2>: stat invocation. (line 22) * --dereference <3>: du invocation. (line 109) * --dereference <4>: chgrp invocation. (line 30) * --dereference <5>: chown invocation. (line 103) * --dereference <6>: cp invocation. (line 151) * --dereference: Which files are listed. (line 84) * --dereference-args: du invocation. (line 68) * --dereference-command-line: Which files are listed. (line 36) * --dereference-command-line-symlink-to-dir: Which files are listed. (line 41) * --dictionary-order: sort invocation. (line 87) * --digits: csplit invocation. (line 81) * --dir: rm invocation. (line 35) * --directory <1>: mktemp invocation. (line 86) * --directory <2>: ln invocation. (line 90) * --directory <3>: install invocation. (line 62) * --directory: Which files are listed. (line 28) * --dired: What information is listed. (line 16) * --double-space: pr invocation. (line 75) * --dry-run: mktemp invocation. (line 98) * --echo: shuf invocation. (line 19) * --elide-empty-files <1>: csplit invocation. (line 90) * --elide-empty-files: split invocation. (line 126) * --error: stdbuf invocation. (line 34) * --escape: Formatting the file names. (line 11) * --exact: shred invocation. (line 134) * --exclude-from=FILE: du invocation. (line 231) * --exclude-type: df invocation. (line 222) * --exclude=PATTERN: du invocation. (line 236) * --expand-tabs: pr invocation. (line 99) * --field: numfmt invocation. (line 38) * --field-separator: sort invocation. (line 325) * --fields: cut invocation. (line 44) * --file <1>: Options for date. (line 26) * --file: stty invocation. (line 31) * --file-system: stat invocation. (line 28) * --file-type: General output formatting. (line 59) * --files0-from=FILE <1>: du invocation. (line 80) * --files0-from=FILE <2>: sort invocation. (line 221) * --files0-from=FILE: wc invocation. (line 62) * --filter: split invocation. (line 60) * --first-line-number: pr invocation. (line 175) * --follow: tail invocation. (line 48) * --footer-numbering: nl invocation. (line 75) * --force <1>: ln invocation. (line 96) * --force <2>: shred invocation. (line 101) * --force <3>: rm invocation. (line 39) * --force <4>: mv invocation. (line 63) * --force: cp invocation. (line 118) * --foreground: timeout invocation. (line 24) * --form-feed: pr invocation. (line 107) * --format <1>: General output formatting. (line 10) * --format <2>: What information is listed. (line 131) * --format <3>: numfmt invocation. (line 41) * --format: od invocation. (line 85) * --format=FORMAT <1>: seq invocation. (line 24) * --format=FORMAT: stat invocation. (line 34) * --from <1>: chown invocation. (line 80) * --from: numfmt invocation. (line 48) * --from-unit: numfmt invocation. (line 53) * --full-time: What information is listed. (line 100) * --general-numeric-sort: sort invocation. (line 105) * --goal: fmt invocation. (line 64) * --group <1>: id invocation. (line 26) * --group: install invocation. (line 68) * --group-directories-first: Which files are listed. (line 50) * --grouping: numfmt invocation. (line 59) * --groups <1>: chroot invocation. (line 29) * --groups: id invocation. (line 30) * --hardware-platform: uname invocation. (line 35) * --head-count: shuf invocation. (line 32) * --header <1>: join invocation. (line 90) * --header <2>: pr invocation. (line 112) * --header: numfmt invocation. (line 65) * --header-numbering: nl invocation. (line 79) * --header=N: numfmt invocation. (line 65) * --heading: who invocation. (line 48) * --help: Common options. (line 37) * --hide-control-chars: Formatting the file names. (line 23) * --hide=PATTERN: Which files are listed. (line 57) * --human-numeric-sort: sort invocation. (line 130) * --human-readable <1>: du invocation. (line 97) * --human-readable <2>: df invocation. (line 64) * --human-readable <3>: What information is listed. (line 116) * --human-readable: Block size. (line 137) * --ignore: nproc invocation. (line 25) * --ignore-backups: Which files are listed. (line 23) * --ignore-case <1>: join invocation. (line 100) * --ignore-case <2>: uniq invocation. (line 59) * --ignore-case: sort invocation. (line 94) * --ignore-environment: env invocation. (line 96) * --ignore-fail-on-non-empty: rmdir invocation. (line 17) * --ignore-garbage: base64 invocation. (line 36) * --ignore-interrupts: tee invocation. (line 30) * --ignore-leading-blanks: sort invocation. (line 79) * --ignore-nonprinting: sort invocation. (line 145) * --ignore=PATTERN: Which files are listed. (line 70) * --indent: pr invocation. (line 181) * --indicator-style: General output formatting. (line 48) * --initial: expand invocation. (line 34) * --inode: What information is listed. (line 123) * --inodes: df invocation. (line 74) * --input: stdbuf invocation. (line 26) * --input-range: shuf invocation. (line 23) * --interactive <1>: ln invocation. (line 100) * --interactive <2>: rm invocation. (line 54) * --interactive <3>: mv invocation. (line 69) * --interactive: cp invocation. (line 141) * --invalid: numfmt invocation. (line 68) * --io-blocks: truncate invocation. (line 26) * --iso-8601[=TIMESPEC]: Options for date. (line 34) * --iterations=NUMBER: shred invocation. (line 106) * --join-blank-lines: nl invocation. (line 87) * --join-lines: pr invocation. (line 125) * --keep-files: csplit invocation. (line 86) * --kernel-name: uname invocation. (line 65) * --kernel-release: uname invocation. (line 61) * --kernel-version: uname invocation. (line 76) * --key: sort invocation. (line 234) * --kibibytes: General output formatting. (line 85) * --kill-after: timeout invocation. (line 39) * --length: pr invocation. (line 134) * --line-bytes: split invocation. (line 54) * --line-increment: nl invocation. (line 83) * --lines <1>: wc invocation. (line 55) * --lines <2>: split invocation. (line 33) * --lines <3>: tail invocation. (line 152) * --lines: head invocation. (line 39) * --link: cp invocation. (line 147) * --literal: Formatting the file names. (line 17) * --local: df invocation. (line 85) * --logical <1>: pwd invocation. (line 15) * --logical <2>: realpath invocation. (line 30) * --logical: ln invocation. (line 104) * --login: who invocation. (line 52) * --lookup: who invocation. (line 57) * --machine: uname invocation. (line 41) * --max-depth=DEPTH: du invocation. (line 75) * --max-line-length: wc invocation. (line 59) * --max-unchanged-stats: tail invocation. (line 140) * --merge <1>: sort invocation. (line 32) * --merge: pr invocation. (line 141) * --mesg: who invocation. (line 95) * --message: who invocation. (line 95) * --mode <1>: mknod invocation. (line 48) * --mode <2>: mkfifo invocation. (line 21) * --mode <3>: mkdir invocation. (line 19) * --mode: install invocation. (line 74) * --month-sort: sort invocation. (line 152) * --multiple: basename invocation. (line 32) * --name: id invocation. (line 34) * --no-clobber <1>: mv invocation. (line 76) * --no-clobber: cp invocation. (line 158) * --no-create <1>: truncate invocation. (line 22) * --no-create: touch invocation. (line 82) * --no-dereference <1>: chcon invocation. (line 26) * --no-dereference <2>: du invocation. (line 125) * --no-dereference <3>: touch invocation. (line 100) * --no-dereference <4>: chgrp invocation. (line 35) * --no-dereference <5>: chown invocation. (line 108) * --no-dereference <6>: ln invocation. (line 110) * --no-dereference: cp invocation. (line 164) * --no-file-warnings: pr invocation. (line 188) * --no-group: What information is listed. (line 110) * --no-newline: readlink invocation. (line 48) * --no-preserve-root <1>: chcon invocation. (line 43) * --no-preserve-root <2>: chmod invocation. (line 54) * --no-preserve-root <3>: chgrp invocation. (line 48) * --no-preserve-root <4>: chown invocation. (line 121) * --no-preserve-root: rm invocation. (line 88) * --no-renumber: nl invocation. (line 108) * --no-symlinks: realpath invocation. (line 46) * --no-sync: df invocation. (line 89) * --no-target-directory <1>: ln invocation. (line 165) * --no-target-directory <2>: mv invocation. (line 109) * --no-target-directory <3>: install invocation. (line 124) * --no-target-directory <4>: cp invocation. (line 356) * --no-target-directory: Target directory. (line 15) * --nodename: uname invocation. (line 46) * --null <1>: env invocation. (line 83) * --null <2>: printenv invocation. (line 19) * --null: du invocation. (line 26) * --number <1>: split invocation. (line 77) * --number: cat invocation. (line 31) * --number-format: nl invocation. (line 95) * --number-lines: pr invocation. (line 154) * --number-nonblank: cat invocation. (line 20) * --number-separator: nl invocation. (line 112) * --number-width: nl invocation. (line 122) * --numeric-sort: sort invocation. (line 162) * --numeric-suffixes: split invocation. (line 114) * --numeric-uid-gid: What information is listed. (line 234) * --omit-header: pr invocation. (line 211) * --omit-pagination: pr invocation. (line 222) * --one-file-system <1>: du invocation. (line 242) * --one-file-system <2>: rm invocation. (line 67) * --one-file-system: cp invocation. (line 379) * --only-delimited: cut invocation. (line 71) * --operating-system: uname invocation. (line 57) * --output <1>: stdbuf invocation. (line 30) * --output <2>: df invocation. (line 96) * --output <3>: shuf invocation. (line 37) * --output: sort invocation. (line 285) * --output-delimiter: cut invocation. (line 76) * --output-duplicates: od invocation. (line 155) * --output-tabs: pr invocation. (line 118) * --owner: install invocation. (line 86) * --padding: numfmt invocation. (line 76) * --page_width: pr invocation. (line 240) * --pages=PAGE_RANGE: pr invocation. (line 39) * --parallel: sort invocation. (line 353) * --parents <1>: rmdir invocation. (line 22) * --parents <2>: mkdir invocation. (line 34) * --parents: cp invocation. (line 244) * --physical <1>: pwd invocation. (line 22) * --physical <2>: realpath invocation. (line 35) * --physical: ln invocation. (line 129) * --pid: tail invocation. (line 120) * --portability <1>: pathchk invocation. (line 46) * --portability: df invocation. (line 158) * --prefix: csplit invocation. (line 62) * --preserve: cp invocation. (line 171) * --preserve-context: install invocation. (line 91) * --preserve-root <1>: chcon invocation. (line 38) * --preserve-root <2>: chmod invocation. (line 49) * --preserve-root <3>: chgrp invocation. (line 43) * --preserve-root <4>: chown invocation. (line 116) * --preserve-root: rm invocation. (line 83) * --preserve-status: timeout invocation. (line 18) * --preserve-timestamps: install invocation. (line 98) * --print-database: dircolors invocation. (line 45) * --print-type: df invocation. (line 197) * --printf=FORMAT: stat invocation. (line 43) * --process: who invocation. (line 66) * --processor: uname invocation. (line 50) * --quiet <1>: tty invocation. (line 18) * --quiet <2>: realpath invocation. (line 41) * --quiet <3>: mktemp invocation. (line 93) * --quiet <4>: chmod invocation. (line 45) * --quiet <5>: chgrp invocation. (line 26) * --quiet <6>: chown invocation. (line 76) * --quiet <7>: readlink invocation. (line 55) * --quiet <8>: md5sum invocation. (line 68) * --quiet <9>: csplit invocation. (line 101) * --quiet <10>: tail invocation. (line 160) * --quiet: head invocation. (line 46) * --quote-name: Formatting the file names. (line 30) * --quoting-style: Formatting the file names. (line 11) * --random-sort: sort invocation. (line 191) * --random-source <1>: shred invocation. (line 112) * --random-source <2>: shuf invocation. (line 43) * --random-source: sort invocation. (line 298) * --range <1>: runcon invocation. (line 43) * --range: chcon invocation. (line 77) * --read-bytes: od invocation. (line 71) * --real: id invocation. (line 39) * --recursive <1>: chcon invocation. (line 35) * --recursive <2>: chmod invocation. (line 69) * --recursive <3>: chgrp invocation. (line 66) * --recursive <4>: chown invocation. (line 140) * --recursive <5>: rm invocation. (line 95) * --recursive <6>: cp invocation. (line 257) * --recursive: Which files are listed. (line 91) * --reference <1>: chcon invocation. (line 30) * --reference <2>: Options for date. (line 59) * --reference <3>: truncate invocation. (line 30) * --reference <4>: touch invocation. (line 119) * --reference <5>: chmod invocation. (line 62) * --reference <6>: chgrp invocation. (line 52) * --reference: chown invocation. (line 125) * --reflink[=WHEN]: cp invocation. (line 270) * --regex: tac invocation. (line 26) * --relative: ln invocation. (line 138) * --relative-base: realpath invocation. (line 61) * --relative-to: realpath invocation. (line 56) * --remove: shred invocation. (line 123) * --remove-destination: cp invocation. (line 296) * --repeated: uniq invocation. (line 63) * --retry: tail invocation. (line 104) * --reverse <1>: Sorting the output. (line 27) * --reverse: sort invocation. (line 185) * --rfc-2822: Options for date. (line 65) * --rfc-3339=TIMESPEC: Options for date. (line 77) * --rfc-822: Options for date. (line 65) * --role <1>: runcon invocation. (line 35) * --role: chcon invocation. (line 69) * --round: numfmt invocation. (line 83) * --round=down: numfmt invocation. (line 83) * --round=from-zero: numfmt invocation. (line 83) * --round=nearest: numfmt invocation. (line 83) * --round=towards-zero: numfmt invocation. (line 83) * --round=up: numfmt invocation. (line 83) * --runlevel: who invocation. (line 75) * --save: stty invocation. (line 41) * --section-delimiter: nl invocation. (line 68) * --sep-string: pr invocation. (line 202) * --separate-dirs: du invocation. (line 130) * --separator <1>: pr invocation. (line 193) * --separator: tac invocation. (line 30) * --serial: paste invocation. (line 34) * --set: Options for date. (line 107) * --sh: dircolors invocation. (line 34) * --show-all: cat invocation. (line 16) * --show-control-chars <1>: Formatting the file names. (line 78) * --show-control-chars: pr invocation. (line 69) * --show-ends: cat invocation. (line 27) * --show-nonprinting <1>: pr invocation. (line 227) * --show-nonprinting: cat invocation. (line 51) * --show-tabs: cat invocation. (line 44) * --si <1>: du invocation. (line 138) * --si <2>: df invocation. (line 177) * --si <3>: What information is listed. (line 260) * --si: Block size. (line 137) * --signal: timeout invocation. (line 46) * --silent <1>: tty invocation. (line 18) * --silent <2>: chmod invocation. (line 45) * --silent <3>: chgrp invocation. (line 26) * --silent <4>: chown invocation. (line 76) * --silent <5>: readlink invocation. (line 55) * --silent <6>: csplit invocation. (line 101) * --silent <7>: tail invocation. (line 160) * --silent: head invocation. (line 46) * --size <1>: truncate invocation. (line 34) * --size: What information is listed. (line 244) * --size=BYTES: shred invocation. (line 117) * --skip-bytes: od invocation. (line 55) * --skip-chars: uniq invocation. (line 41) * --skip-fields: uniq invocation. (line 31) * --sleep-interval: tail invocation. (line 110) * --sort <1>: Sorting the output. (line 32) * --sort: sort invocation. (line 105) * --spaces: fold invocation. (line 29) * --sparse=WHEN: cp invocation. (line 300) * --split-only: fmt invocation. (line 47) * --squeeze-blank: cat invocation. (line 36) * --stable: sort invocation. (line 303) * --starting-line-number: nl invocation. (line 117) * --status: md5sum invocation. (line 76) * --strict: md5sum invocation. (line 109) * --strings: od invocation. (line 76) * --strip <1>: realpath invocation. (line 46) * --strip: install invocation. (line 108) * --strip-program: install invocation. (line 111) * --strip-trailing-slashes <1>: mv invocation. (line 95) * --strip-trailing-slashes: cp invocation. (line 334) * --suffix <1>: mktemp invocation. (line 114) * --suffix <2>: basename invocation. (line 38) * --suffix <3>: ln invocation. (line 156) * --suffix <4>: mv invocation. (line 100) * --suffix <5>: install invocation. (line 115) * --suffix <6>: cp invocation. (line 347) * --suffix <7>: csplit invocation. (line 66) * --suffix <8>: numfmt invocation. (line 88) * --suffix: Backup options. (line 50) * --suffix-length: split invocation. (line 106) * --summarize: du invocation. (line 146) * --symbolic: ln invocation. (line 150) * --symbolic-link: cp invocation. (line 339) * --sync: df invocation. (line 184) * --sysv: sum invocation. (line 31) * --tabs <1>: unexpand invocation. (line 24) * --tabs: expand invocation. (line 22) * --tabsize: General output formatting. (line 111) * --tag: md5sum invocation. (line 85) * --tagged-paragraph: fmt invocation. (line 40) * --target-directory <1>: ln invocation. (line 161) * --target-directory <2>: mv invocation. (line 105) * --target-directory <3>: install invocation. (line 120) * --target-directory <4>: cp invocation. (line 352) * --target-directory: Target directory. (line 31) * --temporary-directory: sort invocation. (line 345) * --terse: stat invocation. (line 54) * --text: md5sum invocation. (line 95) * --threshold: du invocation. (line 150) * --time <1>: who invocation. (line 83) * --time <2>: du invocation. (line 178) * --time <3>: touch invocation. (line 78) * --time: Sorting the output. (line 13) * --time-style <1>: du invocation. (line 193) * --time-style: Formatting file timestamps. (line 26) * --tmpdir: mktemp invocation. (line 106) * --to: numfmt invocation. (line 92) * --to-unit: numfmt invocation. (line 97) * --total <1>: du invocation. (line 62) * --total: df invocation. (line 53) * --traditional: od invocation. (line 206) * --type <1>: runcon invocation. (line 39) * --type <2>: chcon invocation. (line 73) * --type: df invocation. (line 191) * --unbuffered: split invocation. (line 134) * --uniform-spacing: fmt invocation. (line 53) * --unique <1>: uniq invocation. (line 101) * --unique: sort invocation. (line 361) * --universal: Options for date. (line 113) * --unset: env invocation. (line 90) * --update <1>: mv invocation. (line 82) * --update: cp invocation. (line 361) * --user <1>: runcon invocation. (line 31) * --user <2>: chcon invocation. (line 65) * --user: id invocation. (line 44) * --userspec: chroot invocation. (line 24) * --utc: Options for date. (line 113) * --verbose <1>: chcon invocation. (line 61) * --verbose <2>: chmod invocation. (line 59) * --verbose <3>: chgrp invocation. (line 58) * --verbose <4>: chown invocation. (line 132) * --verbose <5>: rmdir invocation. (line 31) * --verbose <6>: readlink invocation. (line 59) * --verbose <7>: mkdir invocation. (line 51) * --verbose <8>: ln invocation. (line 170) * --verbose <9>: shred invocation. (line 129) * --verbose <10>: rm invocation. (line 99) * --verbose <11>: mv invocation. (line 92) * --verbose <12>: install invocation. (line 129) * --verbose <13>: cp invocation. (line 375) * --verbose <14>: split invocation. (line 138) * --verbose <15>: tail invocation. (line 164) * --verbose: head invocation. (line 50) * --version: Common options. (line 41) * --version-sort: sort invocation. (line 179) * --warn: md5sum invocation. (line 104) * --width <1>: General output formatting. (line 123) * --width <2>: fold invocation. (line 35) * --width <3>: pr invocation. (line 231) * --width <4>: fmt invocation. (line 59) * --width: od invocation. (line 162) * --words: wc invocation. (line 51) * --wrap: base64 invocation. (line 22) * --writable: who invocation. (line 95) * --zero <1>: realpath invocation. (line 53) * --zero <2>: dirname invocation. (line 31) * --zero <3>: basename invocation. (line 42) * --zero <4>: readlink invocation. (line 63) * --zero: shred invocation. (line 144) * --zero-terminated <1>: uniq invocation. (line 112) * --zero-terminated <2>: shuf invocation. (line 48) * --zero-terminated: sort invocation. (line 375) * -0 <1>: env invocation. (line 82) * -0 <2>: printenv invocation. (line 18) * -0: du invocation. (line 25) * -1 <1>: General output formatting. (line 10) * -1 <2>: join invocation. (line 105) * -1: comm invocation. (line 23) * -2 <1>: join invocation. (line 108) * -2: comm invocation. (line 23) * -3: comm invocation. (line 23) * -a <1>: uname invocation. (line 30) * -a <2>: who invocation. (line 36) * -a <3>: stty invocation. (line 26) * -a <4>: basename invocation. (line 32) * -a <5>: tee invocation. (line 25) * -a <6>: Connectives for test. (line 12) * -a <7>: du invocation. (line 33) * -a <8>: df invocation. (line 43) * -a <9>: touch invocation. (line 78) * -a: cp invocation. (line 65) * -A: Which files are listed. (line 17) * -a <1>: Which files are listed. (line 13) * -a <2>: unexpand invocation. (line 37) * -a <3>: join invocation. (line 75) * -a <4>: split invocation. (line 106) * -a <5>: pr invocation. (line 63) * -a: od invocation. (line 175) * -A <1>: od invocation. (line 36) * -A: cat invocation. (line 16) * -b <1>: who invocation. (line 40) * -b <2>: File type tests. (line 10) * -b: du invocation. (line 58) * -B <1>: du invocation. (line 53) * -B: df invocation. (line 49) * -b <1>: ln invocation. (line 84) * -b <2>: mv invocation. (line 58) * -b <3>: install invocation. (line 42) * -b <4>: cp invocation. (line 81) * -b <5>: dircolors invocation. (line 34) * -b: Formatting the file names. (line 11) * -B: Which files are listed. (line 23) * -b <1>: cut invocation. (line 26) * -b <2>: sort invocation. (line 79) * -b <3>: md5sum invocation. (line 37) * -b <4>: csplit invocation. (line 66) * -b <5>: split invocation. (line 40) * -b <6>: fold invocation. (line 23) * -b <7>: od invocation. (line 178) * -b <8>: nl invocation. (line 47) * -b <9>: tac invocation. (line 21) * -b <10>: cat invocation. (line 20) * -b: Backup options. (line 13) * -c <1>: runcon invocation. (line 27) * -c <2>: File type tests. (line 13) * -c <3>: truncate invocation. (line 22) * -c <4>: stat invocation. (line 34) * -c <5>: du invocation. (line 62) * -c <6>: touch invocation. (line 82) * -c <7>: chmod invocation. (line 39) * -c <8>: chgrp invocation. (line 20) * -c <9>: chown invocation. (line 70) * -c: install invocation. (line 53) * -C: install invocation. (line 47) * -c: dircolors invocation. (line 40) * -C: General output formatting. (line 15) * -c <1>: Sorting the output. (line 13) * -c <2>: cut invocation. (line 34) * -c <3>: uniq invocation. (line 55) * -c <4>: shuf invocation. (line 19) * -c <5>: sort invocation. (line 18) * -c: wc invocation. (line 43) * -C: split invocation. (line 54) * -c <1>: tail invocation. (line 32) * -c <2>: head invocation. (line 24) * -c <3>: pr invocation. (line 69) * -c <4>: fmt invocation. (line 34) * -c: od invocation. (line 181) * -COLUMN: pr invocation. (line 49) * -d <1>: Options for date. (line 11) * -d <2>: who invocation. (line 44) * -d <3>: mktemp invocation. (line 86) * -d: File type tests. (line 16) * -D: du invocation. (line 68) * -d <1>: touch invocation. (line 86) * -d <2>: ln invocation. (line 90) * -d <3>: rm invocation. (line 35) * -d: install invocation. (line 62) * -D: install invocation. (line 56) * -d: cp invocation. (line 111) * -D: What information is listed. (line 16) * -d <1>: Which files are listed. (line 28) * -d <2>: paste invocation. (line 43) * -d: cut invocation. (line 63) * -D: uniq invocation. (line 69) * -d <1>: uniq invocation. (line 63) * -d <2>: sort invocation. (line 87) * -d <3>: split invocation. (line 114) * -d <4>: pr invocation. (line 75) * -d <5>: numfmt invocation. (line 34) * -d <6>: base64 invocation. (line 30) * -d <7>: od invocation. (line 185) * -d: nl invocation. (line 68) * -d DEPTH: du invocation. (line 75) * -e <1>: stdbuf invocation. (line 34) * -e <2>: realpath invocation. (line 17) * -e: File characteristic tests. (line 9) * -E: echo invocation. (line 73) * -e <1>: echo invocation. (line 25) * -e <2>: readlink invocation. (line 36) * -e <3>: join invocation. (line 86) * -e <4>: split invocation. (line 126) * -e: pr invocation. (line 99) * -E: cat invocation. (line 27) * -e: cat invocation. (line 23) * -ef: File characteristic tests. (line 23) * -eq: Numeric tests. (line 16) * -f: Options for date. (line 26) * -F: stty invocation. (line 31) * -f <1>: File type tests. (line 19) * -f <2>: stat invocation. (line 28) * -f <3>: touch invocation. (line 96) * -f <4>: chmod invocation. (line 45) * -f <5>: chgrp invocation. (line 26) * -f <6>: chown invocation. (line 76) * -f <7>: readlink invocation. (line 29) * -f: ln invocation. (line 96) * -F: ln invocation. (line 90) * -f <1>: shred invocation. (line 101) * -f <2>: rm invocation. (line 39) * -f <3>: mv invocation. (line 63) * -f: cp invocation. (line 118) * -F: General output formatting. (line 48) * -f <1>: Sorting the output. (line 20) * -f <2>: cut invocation. (line 44) * -f <3>: uniq invocation. (line 31) * -f <4>: sort invocation. (line 94) * -f: csplit invocation. (line 62) * -F: tail invocation. (line 99) * -f <1>: tail invocation. (line 48) * -f: pr invocation. (line 107) * -F: pr invocation. (line 107) * -f <1>: od invocation. (line 188) * -f: nl invocation. (line 75) * -f FORMAT: seq invocation. (line 24) * -G: id invocation. (line 30) * -g <1>: id invocation. (line 26) * -g: stty invocation. (line 41) * -G: Access permission tests. (line 31) * -g <1>: Access permission tests. (line 9) * -g: install invocation. (line 68) * -G: What information is listed. (line 110) * -g <1>: What information is listed. (line 105) * -g <2>: sort invocation. (line 105) * -g: fmt invocation. (line 64) * -ge: Numeric tests. (line 16) * -gt: Numeric tests. (line 16) * -H: chcon invocation. (line 47) * -h: chcon invocation. (line 26) * -H: who invocation. (line 48) * -h <1>: File type tests. (line 23) * -h: du invocation. (line 97) * -H <1>: du invocation. (line 93) * -H: df invocation. (line 70) * -h <1>: df invocation. (line 64) * -h: touch invocation. (line 100) * -H: chgrp invocation. (line 70) * -h: chgrp invocation. (line 35) * -H: chown invocation. (line 143) * -h: chown invocation. (line 108) * -H: cp invocation. (line 134) * -h: What information is listed. (line 116) * -H: Which files are listed. (line 36) * -h <1>: sort invocation. (line 130) * -h <2>: pr invocation. (line 112) * -h: nl invocation. (line 79) * -H: Traversing symlinks. (line 18) * -h: Block size. (line 137) * -i <1>: stdbuf invocation. (line 26) * -i <2>: env invocation. (line 96) * -i <3>: uname invocation. (line 35) * -i <4>: tee invocation. (line 30) * -i <5>: df invocation. (line 74) * -i: ln invocation. (line 100) * -I: rm invocation. (line 48) * -i <1>: rm invocation. (line 43) * -i <2>: mv invocation. (line 69) * -i <3>: cp invocation. (line 141) * -i: What information is listed. (line 123) * -I: Which files are listed. (line 70) * -i <1>: expand invocation. (line 34) * -i <2>: join invocation. (line 100) * -i <3>: uniq invocation. (line 59) * -i <4>: shuf invocation. (line 23) * -i <5>: sort invocation. (line 145) * -i <6>: pr invocation. (line 118) * -i <7>: base64 invocation. (line 36) * -i <8>: od invocation. (line 191) * -i: nl invocation. (line 83) * -I[TIMESPEC]: Options for date. (line 34) * -J: pr invocation. (line 125) * -j: od invocation. (line 55) * -k <1>: timeout invocation. (line 39) * -k <2>: Access permission tests. (line 12) * -k <3>: du invocation. (line 103) * -k <4>: df invocation. (line 79) * -k <5>: General output formatting. (line 85) * -k <6>: sort invocation. (line 234) * -k <7>: csplit invocation. (line 86) * -k: Block size. (line 137) * -l <1>: runcon invocation. (line 43) * -l: chcon invocation. (line 77) * -L: chcon invocation. (line 52) * -l: who invocation. (line 52) * -L <1>: pwd invocation. (line 15) * -L <2>: realpath invocation. (line 30) * -L <3>: File type tests. (line 23) * -L: stat invocation. (line 22) * -l: du invocation. (line 115) * -L: du invocation. (line 109) * -l: df invocation. (line 85) * -L <1>: chgrp invocation. (line 75) * -L <2>: chown invocation. (line 148) * -L <3>: ln invocation. (line 104) * -L: cp invocation. (line 151) * -l <1>: cp invocation. (line 147) * -l: What information is listed. (line 131) * -L <1>: Which files are listed. (line 84) * -L: wc invocation. (line 59) * -l <1>: wc invocation. (line 55) * -l <2>: split invocation. (line 33) * -l <3>: pr invocation. (line 134) * -l <4>: od invocation. (line 194) * -l: nl invocation. (line 87) * -L: Traversing symlinks. (line 22) * -le: Numeric tests. (line 16) * -lt: Numeric tests. (line 16) * -m <1>: uname invocation. (line 41) * -m <2>: who invocation. (line 62) * -m <3>: realpath invocation. (line 25) * -m <4>: du invocation. (line 119) * -m <5>: touch invocation. (line 115) * -m <6>: readlink invocation. (line 43) * -m <7>: mknod invocation. (line 48) * -m <8>: mkfifo invocation. (line 21) * -m <9>: mkdir invocation. (line 19) * -m <10>: install invocation. (line 74) * -m: General output formatting. (line 97) * -M: sort invocation. (line 152) * -m <1>: sort invocation. (line 32) * -m <2>: wc invocation. (line 47) * -m: pr invocation. (line 141) * -n <1>: nice invocation. (line 51) * -n <2>: uname invocation. (line 46) * -n <3>: id invocation. (line 34) * -n <4>: String tests. (line 19) * -n <5>: echo invocation. (line 22) * -n <6>: readlink invocation. (line 48) * -n <7>: ln invocation. (line 110) * -n <8>: mv invocation. (line 76) * -n: cp invocation. (line 158) * -N: Formatting the file names. (line 17) * -n <1>: What information is listed. (line 234) * -n <2>: cut invocation. (line 67) * -n <3>: shuf invocation. (line 32) * -n <4>: sort invocation. (line 162) * -n <5>: csplit invocation. (line 81) * -n <6>: split invocation. (line 77) * -n <7>: tail invocation. (line 152) * -n: head invocation. (line 39) * -N: pr invocation. (line 175) * -n: pr invocation. (line 154) * -N: od invocation. (line 71) * -n <1>: nl invocation. (line 95) * -n: cat invocation. (line 31) * -n NUMBER: shred invocation. (line 106) * -ne: Numeric tests. (line 16) * -nt: File characteristic tests. (line 15) * -o <1>: stdbuf invocation. (line 30) * -o <2>: uname invocation. (line 57) * -o: Connectives for test. (line 15) * -O: Access permission tests. (line 28) * -o <1>: truncate invocation. (line 26) * -o <2>: install invocation. (line 86) * -o <3>: What information is listed. (line 238) * -o <4>: shuf invocation. (line 37) * -o <5>: sort invocation. (line 285) * -o <6>: pr invocation. (line 181) * -o: od invocation. (line 197) * -ot: File characteristic tests. (line 19) * -P: chcon invocation. (line 56) * -p <1>: uname invocation. (line 50) * -p: who invocation. (line 66) * -P <1>: pwd invocation. (line 22) * -P: realpath invocation. (line 35) * -p: mktemp invocation. (line 106) * -P: pathchk invocation. (line 42) * -p <1>: pathchk invocation. (line 29) * -p: File type tests. (line 28) * -P <1>: du invocation. (line 125) * -P <2>: df invocation. (line 158) * -P <3>: chgrp invocation. (line 79) * -P: chown invocation. (line 152) * -p <1>: rmdir invocation. (line 22) * -p: mkdir invocation. (line 34) * -P: ln invocation. (line 129) * -p <1>: install invocation. (line 98) * -p: cp invocation. (line 171) * -P: cp invocation. (line 164) * -p <1>: dircolors invocation. (line 45) * -p <2>: General output formatting. (line 102) * -p: nl invocation. (line 108) * -P: Traversing symlinks. (line 26) * -q <1>: who invocation. (line 70) * -q <2>: realpath invocation. (line 41) * -q <3>: mktemp invocation. (line 93) * -q: readlink invocation. (line 55) * -Q: Formatting the file names. (line 30) * -q <1>: Formatting the file names. (line 23) * -q <2>: csplit invocation. (line 101) * -q <3>: tail invocation. (line 160) * -q: head invocation. (line 46) * -r <1>: runcon invocation. (line 35) * -r: chcon invocation. (line 69) * -R: chcon invocation. (line 35) * -r: uname invocation. (line 61) * -R: Options for date. (line 65) * -r <1>: Options for date. (line 59) * -r <2>: who invocation. (line 75) * -r <3>: id invocation. (line 39) * -r <4>: Access permission tests. (line 15) * -r <5>: truncate invocation. (line 30) * -r: touch invocation. (line 119) * -R <1>: chmod invocation. (line 69) * -R <2>: chgrp invocation. (line 66) * -R: chown invocation. (line 140) * -r: ln invocation. (line 138) * -R: rm invocation. (line 95) * -r <1>: rm invocation. (line 95) * -r: cp invocation. (line 257) * -R: cp invocation. (line 257) * -r: Sorting the output. (line 27) * -R <1>: Which files are listed. (line 91) * -R: sort invocation. (line 191) * -r <1>: sort invocation. (line 185) * -r <2>: sum invocation. (line 25) * -r <3>: pr invocation. (line 188) * -r: tac invocation. (line 26) * -s <1>: timeout invocation. (line 46) * -s <2>: uname invocation. (line 65) * -s <3>: Options for date. (line 107) * -s <4>: who invocation. (line 79) * -s <5>: tty invocation. (line 18) * -s <6>: realpath invocation. (line 46) * -s <7>: basename invocation. (line 38) * -s: File characteristic tests. (line 12) * -S: File type tests. (line 31) * -s <1>: truncate invocation. (line 34) * -s: du invocation. (line 146) * -S: du invocation. (line 130) * -s: readlink invocation. (line 55) * -S: ln invocation. (line 156) * -s: ln invocation. (line 150) * -S <1>: mv invocation. (line 100) * -S: install invocation. (line 115) * -s: install invocation. (line 108) * -S: cp invocation. (line 347) * -s: cp invocation. (line 339) * -S: Sorting the output. (line 32) * -s <1>: What information is listed. (line 244) * -s <2>: paste invocation. (line 34) * -s <3>: cut invocation. (line 71) * -s: uniq invocation. (line 41) * -S: sort invocation. (line 309) * -s <1>: sort invocation. (line 303) * -s <2>: sum invocation. (line 31) * -s <3>: csplit invocation. (line 101) * -s: fold invocation. (line 29) * -S: pr invocation. (line 202) * -s <1>: pr invocation. (line 193) * -s <2>: fmt invocation. (line 47) * -s: od invocation. (line 200) * -S: od invocation. (line 76) * -s <1>: nl invocation. (line 112) * -s <2>: tac invocation. (line 30) * -s: cat invocation. (line 36) * -S: Backup options. (line 50) * -s BYTES: shred invocation. (line 117) * -t <1>: runcon invocation. (line 39) * -t: chcon invocation. (line 73) * -T: who invocation. (line 95) * -t <1>: who invocation. (line 83) * -t <2>: mktemp invocation. (line 122) * -t <3>: File type tests. (line 34) * -t <4>: stat invocation. (line 54) * -t: du invocation. (line 150) * -T: df invocation. (line 197) * -t: df invocation. (line 191) * -T: ln invocation. (line 165) * -t: ln invocation. (line 161) * -T: mv invocation. (line 109) * -t: mv invocation. (line 105) * -T: install invocation. (line 124) * -t: install invocation. (line 120) * -T: cp invocation. (line 356) * -t: cp invocation. (line 352) * -T: General output formatting. (line 111) * -t <1>: Sorting the output. (line 36) * -t <2>: unexpand invocation. (line 24) * -t: expand invocation. (line 22) * -T: sort invocation. (line 345) * -t <1>: sort invocation. (line 325) * -t: md5sum invocation. (line 95) * -T: pr invocation. (line 222) * -t <1>: pr invocation. (line 211) * -t <2>: fmt invocation. (line 40) * -t: od invocation. (line 85) * -T: cat invocation. (line 44) * -t: cat invocation. (line 40) * -u <1>: env invocation. (line 90) * -u <2>: runcon invocation. (line 31) * -u <3>: chcon invocation. (line 65) * -u <4>: Options for date. (line 113) * -u <5>: who invocation. (line 86) * -u <6>: id invocation. (line 44) * -u <7>: mktemp invocation. (line 98) * -u <8>: Access permission tests. (line 18) * -u <9>: shred invocation. (line 123) * -u <10>: mv invocation. (line 82) * -u: cp invocation. (line 361) * -U: Sorting the output. (line 49) * -u <1>: Sorting the output. (line 42) * -u <2>: uniq invocation. (line 101) * -u <3>: sort invocation. (line 361) * -u <4>: split invocation. (line 134) * -u <5>: fmt invocation. (line 53) * -u: cat invocation. (line 47) * -v <1>: chcon invocation. (line 61) * -v <2>: uname invocation. (line 76) * -v <3>: chmod invocation. (line 59) * -v <4>: chgrp invocation. (line 58) * -v <5>: chown invocation. (line 132) * -v <6>: rmdir invocation. (line 31) * -v <7>: readlink invocation. (line 59) * -v <8>: mkdir invocation. (line 51) * -v <9>: ln invocation. (line 170) * -v <10>: shred invocation. (line 129) * -v <11>: rm invocation. (line 99) * -v <12>: mv invocation. (line 92) * -v <13>: install invocation. (line 129) * -v <14>: cp invocation. (line 375) * -v: Sorting the output. (line 56) * -V: sort invocation. (line 179) * -v <1>: tail invocation. (line 164) * -v <2>: head invocation. (line 50) * -v <3>: pr invocation. (line 227) * -v <4>: od invocation. (line 155) * -v <5>: nl invocation. (line 117) * -v: cat invocation. (line 51) * -w <1>: who invocation. (line 95) * -w <2>: Access permission tests. (line 21) * -w <3>: General output formatting. (line 123) * -w <4>: uniq invocation. (line 106) * -w <5>: md5sum invocation. (line 104) * -w <6>: wc invocation. (line 51) * -w: fold invocation. (line 35) * -W: pr invocation. (line 240) * -w <1>: pr invocation. (line 231) * -w <2>: fmt invocation. (line 59) * -w <3>: base64 invocation. (line 22) * -w <4>: od invocation. (line 162) * -w: nl invocation. (line 122) * -WIDTH: fmt invocation. (line 59) * -x <1>: Access permission tests. (line 24) * -x <2>: du invocation. (line 242) * -x <3>: df invocation. (line 222) * -x <4>: shred invocation. (line 134) * -x <5>: cp invocation. (line 379) * -x: General output formatting. (line 107) * -X: Sorting the output. (line 63) * -x: od invocation. (line 203) * -X FILE: du invocation. (line 231) * -Z: id invocation. (line 48) * -z <1>: realpath invocation. (line 53) * -z <2>: dirname invocation. (line 31) * -z <3>: basename invocation. (line 42) * -z <4>: String tests. (line 15) * -z: readlink invocation. (line 63) * -Z <1>: mknod invocation. (line 54) * -Z <2>: mkfifo invocation. (line 28) * -Z: mkdir invocation. (line 56) * -z: shred invocation. (line 144) * -Z <1>: install invocation. (line 133) * -Z: What information is listed. (line 268) * -z <1>: uniq invocation. (line 112) * -z <2>: shuf invocation. (line 48) * -z <3>: sort invocation. (line 375) * -z: csplit invocation. (line 90) * /: Numeric expressions. (line 16) * 128-bit checksum: md5sum invocation. (line 6) * 16-bit checksum: sum invocation. (line 6) * 160-bit checksum: sha1sum invocation. (line 6) * 224-bit checksum: sha2 utilities. (line 6) * 256-bit checksum: sha2 utilities. (line 6) * 384-bit checksum: sha2 utilities. (line 6) * 4.2 file system type: df invocation. (line 209) * 512-bit checksum: sha2 utilities. (line 6) * <: Relations for expr. (line 22) * <=: Relations for expr. (line 22) * = <1>: Relations for expr. (line 22) * =: String tests. (line 22) * == <1>: Relations for expr. (line 22) * ==: String tests. (line 25) * >: Relations for expr. (line 22) * >=: Relations for expr. (line 22) * \( regexp operator: String expressions. (line 24) * \+ regexp operator: String expressions. (line 28) * \? regexp operator: String expressions. (line 28) * \c: printf invocation. (line 29) * \OOO: printf invocation. (line 63) * \uhhhh: printf invocation. (line 70) * \Uhhhhhhhh: printf invocation. (line 70) * \xHH: printf invocation. (line 63) * \| regexp operator: String expressions. (line 28) * _POSIX2_VERSION <1>: touch invocation. (line 138) * _POSIX2_VERSION <2>: uniq invocation. (line 46) * _POSIX2_VERSION <3>: sort invocation. (line 408) * _POSIX2_VERSION <4>: tail invocation. (line 175) * _POSIX2_VERSION: Standards conformance. (line 19) * abbreviations for months: Calendar date items. (line 38) * access permission tests: Access permission tests. (line 6) * access permissions, changing: chmod invocation. (line 6) * access time: dd invocation. (line 245) * access time, changing: touch invocation. (line 78) * access time, printing or sorting files by: Sorting the output. (line 42) * access time, show the most recent: du invocation. (line 189) * across columns: pr invocation. (line 63) * across, listing files: General output formatting. (line 107) * adding permissions: Setting Permissions. (line 38) * addition: Numeric expressions. (line 12) * ago in date strings: Relative items in date strings. (line 23) * all repeated lines, outputting: uniq invocation. (line 69) * alnum: Character sets. (line 92) * alpha: Character sets. (line 95) * alternate ebcdic, converting to: dd invocation. (line 94) * always color option: General output formatting. (line 27) * always interactive option: rm invocation. (line 61) * am i: who invocation. (line 21) * am in date strings: Time of day items. (line 22) * and operator <1>: Relations for expr. (line 17) * and operator: Connectives for test. (line 12) * append: dd invocation. (line 185) * appending to the output file: dd invocation. (line 185) * appropriate privileges <1>: nice invocation. (line 6) * appropriate privileges <2>: hostname invocation. (line 6) * appropriate privileges <3>: Setting the time. (line 6) * appropriate privileges: install invocation. (line 86) * arbitrary date strings, parsing: Options for date. (line 11) * arbitrary text, displaying: echo invocation. (line 6) * arch: arch invocation. (line 6) * arithmetic tests: Numeric tests. (line 6) * ASCII dump of files: od invocation. (line 6) * ascii, converting to: dd invocation. (line 86) * atime, changing: touch invocation. (line 78) * atime, printing or sorting files by: Sorting the output. (line 42) * atime, show the most recent: du invocation. (line 189) * attributes, file: Changing file attributes. (line 6) * authors of parse_datetime: Authors of parse_datetime. (line 6) * auto color option: General output formatting. (line 25) * automounter file systems: df invocation. (line 43) * b for block special file: mknod invocation. (line 31) * background jobs, stopping at terminal write: Local. (line 41) * backslash escapes <1>: echo invocation. (line 25) * backslash escapes: Character sets. (line 14) * backslash sequences for file names: Formatting the file names. (line 11) * backup files, ignoring: Which files are listed. (line 23) * backup options: Backup options. (line 6) * backup suffix: Backup options. (line 50) * backups, making <1>: ln invocation. (line 84) * backups, making <2>: mv invocation. (line 58) * backups, making <3>: install invocation. (line 42) * backups, making <4>: cp invocation. (line 81) * backups, making: Backup options. (line 13) * backups, making only: cp invocation. (line 53) * base64: base64 invocation. (line 6) * Base64 decoding: base64 invocation. (line 30) * base64 encoding: base64 invocation. (line 6) * basename: basename invocation. (line 6) * baud rate, setting: Special. (line 43) * beeping at input buffer full: Input. (line 59) * beginning of time: Time conversion specifiers. (line 42) * beginning of time, for POSIX: Seconds since the Epoch. (line 13) * Bellovin, Steven M.: Authors of parse_datetime. (line 6) * Berets, Jim: Authors of parse_datetime. (line 6) * Berry, K. <1>: Authors of parse_datetime. (line 19) * Berry, K.: Introduction. (line 19) * binary: dd invocation. (line 262) * binary I/O: dd invocation. (line 262) * binary input files: md5sum invocation. (line 37) * bind mount <1>: stat invocation. (line 150) * bind mount: rm invocation. (line 71) * blank: Character sets. (line 98) * blank lines, numbering: nl invocation. (line 87) * blanks, ignoring leading: sort invocation. (line 79) * block (space-padding): dd invocation. (line 103) * block size <1>: dd invocation. (line 34) * block size: Block size. (line 6) * block size of conversion: dd invocation. (line 41) * block size of input: dd invocation. (line 26) * block size of output: dd invocation. (line 30) * block special check: File type tests. (line 10) * block special files: mknod invocation. (line 11) * block special files, creating: mknod invocation. (line 6) * BLOCK_SIZE: Block size. (line 12) * BLOCKSIZE: Block size. (line 12) * body, numbering: nl invocation. (line 17) * Bourne shell syntax for color setup: dircolors invocation. (line 34) * breaks, cause interrupts: Input. (line 12) * breaks, ignoring: Input. (line 9) * brkint: Input. (line 12) * bs: dd invocation. (line 34) * BSD output: md5sum invocation. (line 85) * BSD sum: sum invocation. (line 25) * BSD tail: tail invocation. (line 19) * BSD touch compatibility: touch invocation. (line 96) * bsN: Output. (line 55) * bugs, reporting: Introduction. (line 12) * built-in shell commands, conflicts with <1>: sleep invocation. (line 34) * built-in shell commands, conflicts with <2>: kill invocation. (line 13) * built-in shell commands, conflicts with <3>: nice invocation. (line 38) * built-in shell commands, conflicts with <4>: pwd invocation. (line 30) * built-in shell commands, conflicts with <5>: test invocation. (line 28) * built-in shell commands, conflicts with <6>: printf invocation. (line 16) * built-in shell commands, conflicts with <7>: echo invocation. (line 11) * built-in shell commands, conflicts with <8>: stat invocation. (line 15) * built-in shell commands, conflicts with: mknod invocation. (line 20) * byte count: wc invocation. (line 6) * byte-swapping: dd invocation. (line 135) * c for character special file: mknod invocation. (line 34) * C shell syntax for color setup: dircolors invocation. (line 40) * C-s/C-q flow control: Input. (line 40) * calendar date item: Calendar date items. (line 6) * canonical file name <1>: realpath invocation. (line 6) * canonical file name: readlink invocation. (line 6) * canonicalize a file name <1>: realpath invocation. (line 6) * canonicalize a file name: readlink invocation. (line 6) * case folding: sort invocation. (line 94) * case translation: Local. (line 36) * case, ignored in dates: General date syntax. (line 66) * cat: cat invocation. (line 6) * cbreak: Combination. (line 52) * cbs: dd invocation. (line 41) * CD-ROM file system type: df invocation. (line 213) * cdfs file system type: df invocation. (line 213) * cdtrdsr: Control. (line 39) * change or print terminal settings: stty invocation. (line 6) * change SELinux context: chcon invocation. (line 6) * changed files, verbosely describing: chgrp invocation. (line 20) * changed owners, verbosely describing: chown invocation. (line 70) * changing access permissions: chmod invocation. (line 6) * changing file attributes: Changing file attributes. (line 6) * changing file ownership: chown invocation. (line 6) * changing file timestamps: touch invocation. (line 6) * changing group ownership <1>: chgrp invocation. (line 6) * changing group ownership: chown invocation. (line 6) * changing security context: chcon invocation. (line 6) * changing special mode bits: Changing Special Mode Bits. (line 6) * character classes: Character sets. (line 79) * character count: wc invocation. (line 6) * character size: Control. (line 19) * character special check: File type tests. (line 13) * character special files: mknod invocation. (line 11) * character special files, creating: mknod invocation. (line 6) * characters, special: Characters. (line 6) * chcon: chcon invocation. (line 6) * check file types: test invocation. (line 6) * checking for sortedness: sort invocation. (line 18) * checksum, 128-bit: md5sum invocation. (line 6) * checksum, 16-bit: sum invocation. (line 6) * checksum, 160-bit: sha1sum invocation. (line 6) * checksum, 224-bit: sha2 utilities. (line 6) * checksum, 256-bit: sha2 utilities. (line 6) * checksum, 384-bit: sha2 utilities. (line 6) * checksum, 512-bit: sha2 utilities. (line 6) * chgrp: chgrp invocation. (line 6) * chmod: chmod invocation. (line 6) * chown: chown invocation. (line 6) * chroot: chroot invocation. (line 6) * cio: dd invocation. (line 193) * cksum: cksum invocation. (line 6) * clocal: Control. (line 33) * clock skew <1>: touch invocation. (line 17) * clock skew: Formatting file timestamps. (line 12) * clone: cp invocation. (line 270) * cntrl: Character sets. (line 101) * color database, printing: dircolors invocation. (line 45) * color setup: dircolors invocation. (line 6) * color, distinguishing file types with: General output formatting. (line 21) * cols: Special. (line 27) * column to wrap data after: base64 invocation. (line 22) * COLUMNS: Special. (line 30) * columns: Special. (line 27) * COLUMNS: General output formatting. (line 123) * combination settings: Combination. (line 6) * combined date and time of day item: Combined date and time of day items. (line 6) * comm: comm invocation. (line 6) * command-line operands to shuffle: shuf invocation. (line 19) * commands for controlling processes: Process control. (line 6) * commands for delaying: Delaying. (line 6) * commands for exit status: Conditions. (line 6) * commands for file name manipulation: File name manipulation. (line 6) * commands for invoking other commands: Modified command invocation. (line 6) * commands for printing text: Printing text. (line 6) * commands for printing the working context: Working context. (line 6) * commands for printing user information: User information. (line 6) * commands for redirection: Redirection. (line 6) * commands for SELinux context: SELinux context. (line 6) * commands for system context: System context. (line 6) * commas, outputting between files: General output formatting. (line 97) * comments, in dates: General date syntax. (line 66) * common field, joining on: join invocation. (line 6) * common lines: comm invocation. (line 18) * common options: Common options. (line 6) * compare values: test invocation. (line 6) * comparing sorted files: comm invocation. (line 6) * comparison operators: Relations for expr. (line 22) * concatenate and write files: cat invocation. (line 6) * concurrent I/O: dd invocation. (line 193) * conditional executability: Conditional Executability. (line 6) * conditions: Conditions. (line 6) * conflicts with shell built-ins <1>: sleep invocation. (line 34) * conflicts with shell built-ins <2>: kill invocation. (line 13) * conflicts with shell built-ins <3>: nice invocation. (line 38) * conflicts with shell built-ins <4>: pwd invocation. (line 30) * conflicts with shell built-ins <5>: test invocation. (line 28) * conflicts with shell built-ins <6>: printf invocation. (line 16) * conflicts with shell built-ins <7>: echo invocation. (line 11) * conflicts with shell built-ins <8>: stat invocation. (line 15) * conflicts with shell built-ins: mknod invocation. (line 20) * connectives, logical <1>: Relations for expr. (line 6) * connectives, logical: Connectives for test. (line 6) * context splitting: csplit invocation. (line 6) * context, system: System context. (line 6) * control characters, using ^C: Local. (line 51) * control settings: Control. (line 6) * controlling terminal: dd invocation. (line 250) * conv: dd invocation. (line 80) * conversion block size: dd invocation. (line 41) * conversion specifiers, date: Date conversion specifiers. (line 6) * conversion specifiers, literal: Literal conversion specifiers. (line 6) * conversion specifiers, time: Time conversion specifiers. (line 6) * converting tabs to spaces: expand invocation. (line 6) * converting while copying a file: dd invocation. (line 6) * cooked: Combination. (line 37) * Coordinated Universal Time: Options for date. (line 113) * copy on write: cp invocation. (line 270) * copying directories recursively: cp invocation. (line 98) * copying existing permissions: Copying Permissions. (line 6) * copying files: cat invocation. (line 6) * copying files and directories: cp invocation. (line 6) * copying files and setting attributes: install invocation. (line 6) * core utilities: Top. (line 18) * count: dd invocation. (line 56) * count_bytes: dd invocation. (line 280) * COW: cp invocation. (line 270) * cp: cp invocation. (line 6) * crashes and corruption: sync invocation. (line 11) * CRC checksum: cksum invocation. (line 6) * cread: Control. (line 30) * creating directories: mkdir invocation. (line 6) * creating FIFOs (named pipes): mkfifo invocation. (line 6) * creating links (hard only): link invocation. (line 6) * creating links (hard or soft): ln invocation. (line 6) * creating output file, avoiding: dd invocation. (line 153) * creating output file, requiring: dd invocation. (line 149) * crN: Output. (line 45) * crown margin: fmt invocation. (line 34) * crt: Combination. (line 75) * crterase: Local. (line 22) * crtkill: Local. (line 56) * crtscts: Control. (line 36) * csh syntax for color setup: dircolors invocation. (line 40) * csN: Control. (line 19) * csplit: csplit invocation. (line 6) * cstopb: Control. (line 27) * ctime, printing or sorting by: Sorting the output. (line 13) * ctime, show the most recent: du invocation. (line 184) * ctlecho: Local. (line 51) * current working directory, printing: pwd invocation. (line 6) * cut: cut invocation. (line 6) * cyclic redundancy check: cksum invocation. (line 6) * data, erasing: shred invocation. (line 6) * database for color setup, printing: dircolors invocation. (line 45) * date: date invocation. (line 6) * date and time of day format, ISO 8601: Combined date and time of day items. (line 6) * date conversion specifiers: Date conversion specifiers. (line 6) * date format, ISO 8601: Calendar date items. (line 30) * date input formats: Date input formats. (line 6) * date options: Options for date. (line 6) * date strings, parsing: Options for date. (line 11) * day in date strings: Relative items in date strings. (line 15) * day of week item: Day of week items. (line 6) * dd: dd invocation. (line 6) * dec: Combination. (line 78) * decctlq: Combination. (line 63) * Decode base64 data: base64 invocation. (line 30) * delay for a specified time: sleep invocation. (line 6) * delaying commands: Delaying. (line 6) * deleting characters: Squeezing. (line 6) * dereferencing symbolic links: ln invocation. (line 42) * descriptor follow option: tail invocation. (line 48) * destination directory <1>: ln invocation. (line 161) * destination directory <2>: mv invocation. (line 105) * destination directory <3>: install invocation. (line 120) * destination directory <4>: cp invocation. (line 352) * destination directory: Target directory. (line 15) * destinations, multiple output: tee invocation. (line 6) * device file, disk: df invocation. (line 30) * df: df invocation. (line 6) * DF_BLOCK_SIZE: Block size. (line 12) * diagnostic: chcon invocation. (line 61) * dictionary order: sort invocation. (line 87) * differing lines: comm invocation. (line 18) * digit: Character sets. (line 104) * dir: dir invocation. (line 6) * dircolors: dircolors invocation. (line 6) * direct: dd invocation. (line 199) * direct I/O: dd invocation. (line 199) * directories, copying: cp invocation. (line 6) * directories, copying recursively: cp invocation. (line 98) * directories, creating: mkdir invocation. (line 6) * directories, creating with given attributes: install invocation. (line 62) * directories, removing: rm invocation. (line 35) * directories, removing (recursively): rm invocation. (line 95) * directories, removing empty: rmdir invocation. (line 6) * directory: dd invocation. (line 207) * directory check: File type tests. (line 16) * directory components, printing: dirname invocation. (line 6) * directory deletion, ignoring failures: rmdir invocation. (line 17) * directory deletion, reporting: rmdir invocation. (line 31) * directory I/O: dd invocation. (line 207) * directory listing: ls invocation. (line 6) * directory listing, brief: dir invocation. (line 6) * directory listing, recursive: Which files are listed. (line 91) * directory listing, verbose: vdir invocation. (line 6) * directory order, listing by: Sorting the output. (line 20) * directory, creating temporary: mktemp invocation. (line 6) * directory, stripping from file names: basename invocation. (line 6) * dired Emacs mode support: What information is listed. (line 16) * dirname: dirname invocation. (line 6) * disabling special characters: Characters. (line 13) * disambiguating group names and IDs: Disambiguating names and IDs. (line 6) * discarding file cache: dd invocation. (line 223) * disk allocation: What information is listed. (line 244) * disk device file: df invocation. (line 30) * disk usage: Disk usage. (line 6) * disk usage by file system: df invocation. (line 6) * disk usage for files: du invocation. (line 6) * diskette file system: df invocation. (line 217) * displacement of dates: Relative items in date strings. (line 6) * displaying text: echo invocation. (line 6) * displaying value of a symbolic link: readlink invocation. (line 6) * division: Numeric expressions. (line 16) * do nothing, successfully: true invocation. (line 6) * do nothing, unsuccessfully: false invocation. (line 6) * DOS file system: df invocation. (line 217) * double spacing: pr invocation. (line 75) * down columns: pr invocation. (line 49) * dsusp: Characters. (line 53) * dsync: dd invocation. (line 212) * DTR/DSR flow control: Control. (line 39) * du: du invocation. (line 6) * DU_BLOCK_SIZE: Block size. (line 12) * ebcdic, converting to: dd invocation. (line 90) * echo <1>: Local. (line 18) * echo: echo invocation. (line 6) * echoctl: Local. (line 51) * echoe: Local. (line 22) * echok: Local. (line 26) * echoke: Local. (line 56) * echonl: Local. (line 29) * echoprt: Local. (line 46) * effective user and group IDs, printing: id invocation. (line 6) * effective user ID, printing: whoami invocation. (line 6) * efs file system type: df invocation. (line 209) * Eggert, Paul: Authors of parse_datetime. (line 6) * eight-bit characters <1>: Combination. (line 55) * eight-bit characters: Control. (line 19) * eight-bit input: Input. (line 25) * ek: Combination. (line 22) * empty files, creating: touch invocation. (line 11) * empty lines, numbering: nl invocation. (line 87) * entire files, output of: Output of entire files. (line 6) * env: env invocation. (line 6) * environment variables, printing: printenv invocation. (line 6) * environment, printing: env invocation. (line 45) * environment, running a program in a modified: env invocation. (line 6) * eof: Characters. (line 32) * eol: Characters. (line 35) * eol2: Characters. (line 38) * epoch, for POSIX: Seconds since the Epoch. (line 13) * epoch, seconds since: Time conversion specifiers. (line 42) * equal string check: String tests. (line 22) * equivalence classes: Character sets. (line 128) * erase: Characters. (line 26) * erasing data: shred invocation. (line 6) * error messages, omitting <1>: chmod invocation. (line 45) * error messages, omitting <2>: chgrp invocation. (line 26) * error messages, omitting: chown invocation. (line 76) * evaluation of expressions: expr invocation. (line 6) * even parity: Control. (line 13) * evenp: Combination. (line 9) * exabyte, definition of: Block size. (line 117) * examples of date: Examples of date. (line 6) * examples of expr: Examples of expr. (line 6) * exbibyte, definition of: Block size. (line 121) * excl: dd invocation. (line 149) * excluding files from du: du invocation. (line 231) * executable file check: Access permission tests. (line 24) * executables and file type, marking: General output formatting. (line 48) * execute/search permission: Mode Structure. (line 18) * execute/search permission, symbolic: Setting Permissions. (line 63) * existence-of-file check: File characteristic tests. (line 9) * existing backup method: Backup options. (line 39) * exit status commands: Conditions. (line 6) * exit status of chroot: chroot invocation. (line 58) * exit status of env: env invocation. (line 100) * exit status of expr: expr invocation. (line 43) * exit status of false: false invocation. (line 6) * exit status of ls: ls invocation. (line 29) * exit status of mktemp: mktemp invocation. (line 130) * exit status of nice: nice invocation. (line 60) * exit status of nohup: nohup invocation. (line 47) * exit status of pathchk: pathchk invocation. (line 50) * exit status of printenv: printenv invocation. (line 25) * exit status of realpath: realpath invocation. (line 79) * exit status of runcon: runcon invocation. (line 46) * exit status of sort: sort invocation. (line 58) * exit status of stdbuf: stdbuf invocation. (line 67) * exit status of test: test invocation. (line 41) * exit status of timeout: timeout invocation. (line 59) * exit status of true: true invocation. (line 6) * exit status of tty: tty invocation. (line 21) * expand: expand invocation. (line 6) * expr: expr invocation. (line 6) * expression evaluation <1>: expr invocation. (line 6) * expression evaluation: test invocation. (line 6) * expressions, numeric: Numeric expressions. (line 6) * expressions, string: String expressions. (line 6) * extended attributes, xattr <1>: mv invocation. (line 34) * extended attributes, xattr: install invocation. (line 35) * extension, sorting files by: Sorting the output. (line 63) * factor: factor invocation. (line 6) * failure exit status: false invocation. (line 6) * false: false invocation. (line 6) * fdatasync: dd invocation. (line 165) * ffN: Output. (line 63) * field separator character: sort invocation. (line 325) * fields, padding numeric: Padding and other flags. (line 6) * FIFOs, creating: mkfifo invocation. (line 6) * file attributes, changing: Changing file attributes. (line 6) * file characteristic tests: File characteristic tests. (line 6) * file contents, dumping unambiguously: od invocation. (line 6) * file information, preserving: cp invocation. (line 240) * file information, preserving, extended attributes, xattr: cp invocation. (line 171) * file mode bits, numeric: Numeric Modes. (line 6) * file name manipulation: File name manipulation. (line 6) * file names, canonicalization: realpath invocation. (line 6) * file names, checking validity and portability: pathchk invocation. (line 6) * file names, creating temporary: mktemp invocation. (line 6) * file names, stripping directory and suffix: basename invocation. (line 6) * file offset radix: od invocation. (line 36) * file ownership, changing: chown invocation. (line 6) * file sizes: du invocation. (line 53) * file space usage: du invocation. (line 6) * file status: stat invocation. (line 6) * file system disk usage: df invocation. (line 6) * file system sizes: df invocation. (line 49) * file system space, retrieving current data more slowly: df invocation. (line 184) * file system space, retrieving old data more quickly: df invocation. (line 89) * file system status: stat invocation. (line 6) * file system types, limiting output to certain: df invocation. (line 85) * file system types, printing: df invocation. (line 197) * file systems: stat invocation. (line 28) * file systems and hard links: ln invocation. (line 6) * file systems, omitting copying to different: cp invocation. (line 379) * file timestamp resolution: touch invocation. (line 26) * file timestamps, changing: touch invocation. (line 6) * file type and executables, marking: General output formatting. (line 48) * file type tests: File type tests. (line 6) * file type, marking: General output formatting. (line 59) * file types: Special file types. (line 9) * file types, special: Special file types. (line 6) * file utilities: Top. (line 18) * files beginning with -, removing: rm invocation. (line 102) * files, copying: cp invocation. (line 6) * files, creating: truncate invocation. (line 11) * fingerprint, 128-bit: md5sum invocation. (line 6) * fingerprint, 160-bit: sha1sum invocation. (line 6) * fingerprint, 224-bit: sha2 utilities. (line 6) * fingerprint, 256-bit: sha2 utilities. (line 6) * fingerprint, 384-bit: sha2 utilities. (line 6) * fingerprint, 512-bit: sha2 utilities. (line 6) * first in date strings: General date syntax. (line 28) * first part of files, outputting: head invocation. (line 6) * fixed-length records, converting to variable-length: dd invocation. (line 41) * floating point: Floating point. (line 6) * flow control, hardware: Control. (line 36) * flow control, software: Input. (line 45) * flushing, disabling: Local. (line 32) * fmt: fmt invocation. (line 6) * fold: fold invocation. (line 6) * folding long input lines: fold invocation. (line 6) * footers, numbering: nl invocation. (line 17) * force deletion: shred invocation. (line 101) * formatting file contents: Formatting file contents. (line 6) * formatting of numbers in seq: seq invocation. (line 24) * formatting times <1>: date invocation. (line 20) * formatting times: pr invocation. (line 79) * fortnight in date strings: Relative items in date strings. (line 15) * fsync: dd invocation. (line 169) * fullblock: dd invocation. (line 270) * general date syntax: General date syntax. (line 6) * general numeric sort: sort invocation. (line 105) * gibibyte, definition of: Block size. (line 100) * gigabyte, definition of: Block size. (line 96) * giving away permissions: Umask and Protection. (line 12) * GMT: Options for date. (line 113) * grand total of disk size, usage and available space: df invocation. (line 53) * grand total of disk space: du invocation. (line 62) * graph: Character sets. (line 107) * Greenwich Mean Time: Options for date. (line 113) * group IDs, disambiguating: Disambiguating names and IDs. (line 6) * group names, disambiguating: Disambiguating names and IDs. (line 6) * group owner, default: Mode Structure. (line 31) * group ownership of installed files, setting: install invocation. (line 68) * group ownership, changing <1>: chgrp invocation. (line 6) * group ownership, changing: chown invocation. (line 6) * group, permissions for: Setting Permissions. (line 26) * groups: groups invocation. (line 6) * growing files: tail invocation. (line 48) * hangups, immunity to: nohup invocation. (line 6) * hard link check: File characteristic tests. (line 23) * hard link, defined: ln invocation. (line 32) * hard links: dd invocation. (line 259) * hard links to directories: ln invocation. (line 90) * hard links to symbolic links: ln invocation. (line 173) * hard links, counting in du: du invocation. (line 115) * hard links, creating <1>: ln invocation. (line 6) * hard links, creating: link invocation. (line 6) * hard links, preserving: cp invocation. (line 111) * hardware class: uname invocation. (line 41) * hardware flow control: Control. (line 36) * hardware platform: uname invocation. (line 35) * hardware type: uname invocation. (line 41) * hat notation for control characters: Local. (line 51) * head: head invocation. (line 6) * head of output: shuf invocation. (line 32) * headers, numbering: nl invocation. (line 17) * help, online: Common options. (line 37) * hex dump of files: od invocation. (line 6) * High Sierra file system: df invocation. (line 213) * holes, copying files with: cp invocation. (line 300) * holes, creating files with: truncate invocation. (line 13) * horizontal, listing files: General output formatting. (line 107) * host processor type: uname invocation. (line 50) * hostid: hostid invocation. (line 6) * hostname <1>: hostname invocation. (line 6) * hostname: uname invocation. (line 46) * hour in date strings: Relative items in date strings. (line 15) * hsfs file system type: df invocation. (line 213) * human numeric sort: sort invocation. (line 130) * human-readable output <1>: du invocation. (line 97) * human-readable output <2>: df invocation. (line 64) * human-readable output <3>: What information is listed. (line 116) * human-readable output: Block size. (line 43) * hup[cl]: Control. (line 23) * hurd, author, printing: What information is listed. (line 10) * ibs: dd invocation. (line 26) * icanon: Local. (line 11) * icrnl: Input. (line 34) * id: id invocation. (line 6) * idle time: who invocation. (line 86) * IEEE floating point: Floating point. (line 6) * iexten: Local. (line 15) * if: dd invocation. (line 18) * iflag: dd invocation. (line 174) * ignbrk: Input. (line 9) * igncr: Input. (line 31) * ignore file systems: df invocation. (line 43) * Ignore garbage in base64 stream: base64 invocation. (line 36) * ignoring case: sort invocation. (line 94) * ignpar: Input. (line 15) * imaxbel: Input. (line 59) * immunity to hangups: nohup invocation. (line 6) * implementation, hardware: uname invocation. (line 35) * indenting lines: pr invocation. (line 181) * index: String expressions. (line 45) * information, about current users: who invocation. (line 6) * initial part of files, outputting: head invocation. (line 6) * initial tabs, converting: expand invocation. (line 34) * inlcr: Input. (line 28) * inode number, printing: What information is listed. (line 123) * inode usage: df invocation. (line 74) * inode, and hard links: ln invocation. (line 32) * inodes, written buffered: sync invocation. (line 6) * inpck: Input. (line 22) * input block size: dd invocation. (line 26) * input encoding, UTF-8: Input. (line 37) * input range to shuffle: shuf invocation. (line 23) * input settings: Input. (line 6) * input tabs: pr invocation. (line 99) * install: install invocation. (line 6) * intr: Characters. (line 20) * invocation of commands, modified: Modified command invocation. (line 6) * isig: Local. (line 7) * ISO 8601 date and time of day format: Combined date and time of day items. (line 6) * ISO 8601 date format: Calendar date items. (line 30) * ISO/IEC 10646: printf invocation. (line 70) * ispeed: Special. (line 16) * istrip: Input. (line 25) * items in date strings: General date syntax. (line 6) * iterations, selecting the number of: shred invocation. (line 106) * iuclc: Input. (line 50) * iutf8: Input. (line 37) * ixany: Input. (line 55) * ixoff: Input. (line 45) * ixon: Input. (line 40) * join: join invocation. (line 6) * kernel name: uname invocation. (line 65) * kernel release: uname invocation. (line 61) * kernel version: uname invocation. (line 76) * kibibyte, definition of: Block size. (line 84) * kibibytes for file sizes: du invocation. (line 103) * kibibytes for file system sizes: df invocation. (line 79) * kill <1>: kill invocation. (line 6) * kill: Characters. (line 29) * kilobyte, definition of: Block size. (line 79) * Knuth, Donald E.: fmt invocation. (line 19) * language, in dates: General date syntax. (line 42) * last DAY <1>: Day of week items. (line 15) * last DAY: Options for date. (line 11) * last in date strings: General date syntax. (line 28) * last modified dates, displaying in du: du invocation. (line 178) * last part of files, outputting: tail invocation. (line 6) * LC_ALL <1>: ls invocation. (line 17) * LC_ALL: sort invocation. (line 49) * LC_COLLATE <1>: Relations for expr. (line 22) * LC_COLLATE <2>: join invocation. (line 14) * LC_COLLATE <3>: comm invocation. (line 12) * LC_COLLATE <4>: uniq invocation. (line 21) * LC_COLLATE: sort invocation. (line 49) * LC_CTYPE <1>: printf invocation. (line 70) * LC_CTYPE: sort invocation. (line 79) * LC_MESSAGES: pr invocation. (line 13) * LC_NUMERIC <1>: printf invocation. (line 57) * LC_NUMERIC <2>: sort invocation. (line 105) * LC_NUMERIC <3>: Floating point. (line 17) * LC_NUMERIC: Block size. (line 58) * LC_TIME <1>: date invocation. (line 11) * LC_TIME <2>: du invocation. (line 198) * LC_TIME <3>: Formatting file timestamps. (line 30) * LC_TIME <4>: sort invocation. (line 152) * LC_TIME: pr invocation. (line 86) * LCASE: Combination. (line 71) * lcase: Combination. (line 71) * lcase, converting to: dd invocation. (line 114) * lchown <1>: chgrp invocation. (line 30) * lchown: chown invocation. (line 103) * leading directories, creating missing: install invocation. (line 62) * leading directory components, stripping: basename invocation. (line 6) * leap seconds <1>: Seconds since the Epoch. (line 27) * leap seconds <2>: Time of day items. (line 14) * leap seconds <3>: General date syntax. (line 71) * leap seconds <4>: Examples of date. (line 104) * leap seconds <5>: Options for date. (line 113) * leap seconds <6>: Time conversion specifiers. (line 42) * leap seconds: touch invocation. (line 129) * left margin: pr invocation. (line 181) * length: String expressions. (line 50) * limiting output of du: du invocation. (line 75) * line: Special. (line 37) * line buffered: stdbuf invocation. (line 6) * line count: wc invocation. (line 6) * line numbering: nl invocation. (line 6) * line settings of terminal: stty invocation. (line 6) * line-breaking: fmt invocation. (line 19) * line-by-line comparison: comm invocation. (line 6) * LINES: Special. (line 30) * link: link invocation. (line 6) * links, creating <1>: ln invocation. (line 6) * links, creating: link invocation. (line 6) * Linux file system types: df invocation. (line 209) * literal conversion specifiers: Literal conversion specifiers. (line 6) * litout: Combination. (line 59) * ln: ln invocation. (line 6) * ln format for nl: nl invocation. (line 98) * lnext: Characters. (line 62) * local file system types: df invocation. (line 209) * local settings: Local. (line 6) * logging out and continuing to run: nohup invocation. (line 6) * logical and operator <1>: Relations for expr. (line 17) * logical and operator: Connectives for test. (line 12) * logical connectives <1>: Relations for expr. (line 6) * logical connectives: Connectives for test. (line 6) * logical or operator <1>: Relations for expr. (line 11) * logical or operator: Connectives for test. (line 15) * logical pages, numbering on: nl invocation. (line 12) * login name, printing: logname invocation. (line 6) * login sessions, printing users with: users invocation. (line 6) * login time: who invocation. (line 11) * logname: logname invocation. (line 6) * long ls format: What information is listed. (line 131) * lower: Character sets. (line 110) * lowercase, translating to output: Output. (line 12) * ls: ls invocation. (line 6) * LS_BLOCK_SIZE: Block size. (line 12) * LS_COLORS <1>: dircolors invocation. (line 23) * LS_COLORS: General output formatting. (line 33) * lutimes: touch invocation. (line 100) * machine type: uname invocation. (line 41) * machine-readable stty output: stty invocation. (line 41) * MacKenzie, D.: Introduction. (line 19) * MacKenzie, David: Authors of parse_datetime. (line 6) * Makefiles, installing programs in: install invocation. (line 30) * manipulating files: Basic operations. (line 6) * manipulation of file names: File name manipulation. (line 6) * match: String expressions. (line 36) * matching patterns: String expressions. (line 11) * MD5: md5sum invocation. (line 6) * md5sum: md5sum invocation. (line 6) * mebibyte, definition of: Block size. (line 93) * mebibytes for file sizes: du invocation. (line 119) * megabyte, definition of: Block size. (line 89) * merging files: paste invocation. (line 6) * merging files in parallel: pr invocation. (line 6) * merging sorted files: sort invocation. (line 32) * message status: who invocation. (line 95) * message-digest, 128-bit: md5sum invocation. (line 6) * message-digest, 160-bit: sha1sum invocation. (line 6) * message-digest, 224-bit: sha2 utilities. (line 6) * message-digest, 256-bit: sha2 utilities. (line 6) * message-digest, 384-bit: sha2 utilities. (line 6) * message-digest, 512-bit: sha2 utilities. (line 6) * Meyering, J.: Introduction. (line 19) * Meyering, Jim: Authors of parse_datetime. (line 6) * midnight in date strings: Time of day items. (line 22) * min: Special. (line 7) * minute in date strings: Relative items in date strings. (line 15) * minutes, time zone correction by: Time of day items. (line 30) * mkdir: mkdir invocation. (line 6) * mkfifo: mkfifo invocation. (line 6) * mknod: mknod invocation. (line 6) * mktemp: mktemp invocation. (line 6) * modem control: Control. (line 33) * modes and umask: Umask and Protection. (line 6) * modes of created directories, setting: mkdir invocation. (line 19) * modes of created FIFOs, setting: mkfifo invocation. (line 21) * modification time, sorting files by: Sorting the output. (line 36) * modified command invocation: Modified command invocation. (line 6) * modified environment, running a program in a: env invocation. (line 6) * modify time, changing: touch invocation. (line 115) * month in date strings: Relative items in date strings. (line 15) * month names in date strings: Calendar date items. (line 38) * months, sorting by: sort invocation. (line 152) * months, written-out: General date syntax. (line 38) * MS-DOS file system: df invocation. (line 217) * mtime, changing: touch invocation. (line 115) * multicolumn output, generating: pr invocation. (line 6) * multiple changes to permissions: Multiple Changes. (line 6) * multiplication: Numeric expressions. (line 16) * multipliers after numbers: dd invocation. (line 306) * multithreaded sort: sort invocation. (line 353) * mv: mv invocation. (line 6) * name follow option: tail invocation. (line 48) * name of kernel: uname invocation. (line 65) * named pipe check: File type tests. (line 28) * named pipes, creating: mkfifo invocation. (line 6) * network node name: uname invocation. (line 46) * never interactive option: rm invocation. (line 56) * newer files, copying only: cp invocation. (line 361) * newer files, moving only: mv invocation. (line 82) * newer-than file check: File characteristic tests. (line 15) * newline echoing after kill: Local. (line 26) * newline, echoing: Local. (line 29) * newline, translating to crlf: Output. (line 19) * newline, translating to return: Input. (line 28) * next DAY <1>: Day of week items. (line 15) * next DAY: Options for date. (line 11) * next in date strings: General date syntax. (line 28) * NFS file system type: df invocation. (line 204) * NFS mounts from BSD to HP-UX <1>: du invocation. (line 246) * NFS mounts from BSD to HP-UX: What information is listed. (line 252) * nice: nice invocation. (line 6) * niceness: nice invocation. (line 6) * nl <1>: Combination. (line 18) * nl: nl invocation. (line 6) * nlN: Output. (line 39) * no dereference: chcon invocation. (line 26) * no-op: true invocation. (line 6) * noatime: dd invocation. (line 245) * nocache: dd invocation. (line 223) * nocreat: dd invocation. (line 153) * noctty: dd invocation. (line 250) * node name: uname invocation. (line 46) * noerror: dd invocation. (line 162) * noflsh: Local. (line 32) * nofollow: dd invocation. (line 256) * nohup: nohup invocation. (line 6) * nohup.out: nohup invocation. (line 6) * nolinks: dd invocation. (line 259) * non-directories, copying as special files: cp invocation. (line 98) * non-directory suffix, stripping: dirname invocation. (line 6) * nonblock: dd invocation. (line 242) * nonblocking I/O: dd invocation. (line 242) * none backup method: Backup options. (line 31) * none color option: General output formatting. (line 23) * none dd status=: dd invocation. (line 75) * none, sorting option for ls: Sorting the output. (line 49) * nonempty file check: File characteristic tests. (line 12) * nonprinting characters, ignoring: sort invocation. (line 145) * nonzero-length string check: String tests. (line 19) * noon in date strings: Time of day items. (line 22) * not-equal string check: String tests. (line 28) * notrunc: dd invocation. (line 159) * now in date strings: Relative items in date strings. (line 33) * noxfer dd status=: dd invocation. (line 71) * nproc: nproc invocation. (line 6) * number of inputs to merge, nmerge: sort invocation. (line 259) * numbered backup method: Backup options. (line 35) * numbering lines: nl invocation. (line 6) * numbers, written-out: General date syntax. (line 28) * numeric expressions: Numeric expressions. (line 6) * numeric field padding: Padding and other flags. (line 6) * numeric modes: Numeric Modes. (line 6) * numeric operations: Numeric operations. (line 6) * numeric sequences: seq invocation. (line 6) * numeric sort: sort invocation. (line 162) * numeric tests: Numeric tests. (line 6) * numeric uid and gid: What information is listed. (line 234) * numeric user and group IDs: What information is listed. (line 234) * numfmt: numfmt invocation. (line 6) * obs: dd invocation. (line 30) * ocrnl: Output. (line 16) * octal dump of files: od invocation. (line 6) * octal numbers for file modes: Numeric Modes. (line 6) * od: od invocation. (line 6) * odd parity: Control. (line 13) * oddp: Combination. (line 14) * of: dd invocation. (line 21) * ofdel: Output. (line 34) * ofill: Output. (line 30) * oflag: dd invocation. (line 178) * olcuc: Output. (line 12) * older-than file check: File characteristic tests. (line 19) * once interactive option: rm invocation. (line 58) * one file system, restricting du to: du invocation. (line 242) * one file system, restricting rm to: rm invocation. (line 67) * one-line output format: df invocation. (line 158) * onlcr: Output. (line 19) * onlret: Output. (line 27) * onocr: Output. (line 23) * operating on characters: Operating on characters. (line 6) * operating on sorted files: Operating on sorted files. (line 6) * operating system name: uname invocation. (line 57) * opost: Output. (line 9) * option delimiter: Common options. (line 44) * options for date: Options for date. (line 6) * or operator <1>: Relations for expr. (line 11) * or operator: Connectives for test. (line 15) * ordinal numbers: General date syntax. (line 28) * ospeed: Special. (line 19) * other permissions: Setting Permissions. (line 29) * output block size: dd invocation. (line 30) * output file name prefix <1>: csplit invocation. (line 62) * output file name prefix: split invocation. (line 15) * output file name suffix: csplit invocation. (line 66) * output format: stat invocation. (line 34) * output format, portable: df invocation. (line 158) * output NUL-byte-terminated lines <1>: env invocation. (line 83) * output NUL-byte-terminated lines <2>: printenv invocation. (line 19) * output NUL-byte-terminated lines: du invocation. (line 26) * output of entire files: Output of entire files. (line 6) * output of parts of files: Output of parts of files. (line 6) * output settings: Output. (line 6) * output tabs: pr invocation. (line 118) * overwriting of input, allowed <1>: shuf invocation. (line 37) * overwriting of input, allowed: sort invocation. (line 285) * owned by effective group ID check: Access permission tests. (line 31) * owned by effective user ID check: Access permission tests. (line 28) * owner of file, permissions for: Setting Permissions. (line 23) * owner, default: Mode Structure. (line 31) * ownership of installed files, setting: install invocation. (line 86) * p for FIFO file: mknod invocation. (line 28) * pad character: Output. (line 34) * pad instead of timing for delaying: Output. (line 30) * padding of numeric fields: Padding and other flags. (line 6) * paragraphs, reformatting: fmt invocation. (line 6) * parenb: Control. (line 9) * parent directories and cp: cp invocation. (line 244) * parent directories, creating: mkdir invocation. (line 34) * parent directories, creating missing: install invocation. (line 62) * parent directories, removing: rmdir invocation. (line 22) * parentheses for grouping: expr invocation. (line 31) * parity: Combination. (line 10) * parity errors, marking: Input. (line 18) * parity, ignoring: Input. (line 15) * parmrk: Input. (line 18) * parodd: Control. (line 13) * parse_datetime: Date input formats. (line 6) * parsing date strings: Options for date. (line 11) * parts of files, output of: Output of parts of files. (line 6) * pass8: Combination. (line 55) * paste: paste invocation. (line 6) * Paterson, R.: Introduction. (line 19) * PATH: env invocation. (line 23) * pathchk: pathchk invocation. (line 6) * pattern matching: String expressions. (line 11) * PC file system: df invocation. (line 217) * pcfs: df invocation. (line 217) * pebibyte, definition of: Block size. (line 114) * permission tests: Access permission tests. (line 6) * permissions of installed files, setting: install invocation. (line 74) * permissions, changing access: chmod invocation. (line 6) * permissions, copying existing: Copying Permissions. (line 6) * permissions, for changing file timestamps: touch invocation. (line 40) * permissions, output by ls: What information is listed. (line 191) * petabyte, definition of: Block size. (line 110) * phone directory order: sort invocation. (line 87) * pieces, splitting a file into: split invocation. (line 6) * Pinard, F. <1>: Authors of parse_datetime. (line 19) * Pinard, F.: Introduction. (line 19) * pipe fitting: tee invocation. (line 6) * Plass, Michael F.: fmt invocation. (line 19) * platform, hardware: uname invocation. (line 35) * pm in date strings: Time of day items. (line 22) * portable file names, checking for: pathchk invocation. (line 6) * portable output format: df invocation. (line 158) * POSIX: Introduction. (line 11) * POSIX output format: df invocation. (line 158) * POSIXLY_CORRECT <1>: id invocation. (line 11) * POSIXLY_CORRECT <2>: printf invocation. (line 48) * POSIXLY_CORRECT <3>: echo invocation. (line 78) * POSIXLY_CORRECT <4>: dd invocation. (line 347) * POSIXLY_CORRECT <5>: sort invocation. (line 293) * POSIXLY_CORRECT <6>: pr invocation. (line 86) * POSIXLY_CORRECT <7>: Standards conformance. (line 6) * POSIXLY_CORRECT: Common options. (line 11) * POSIXLY_CORRECT, and block size: Block size. (line 12) * pr: pr invocation. (line 6) * prime factors: factor invocation. (line 6) * print: Character sets. (line 113) * print machine hardware name: arch invocation. (line 6) * print name of current directory: pwd invocation. (line 6) * print system information: uname invocation. (line 6) * print terminal file name: tty invocation. (line 6) * Print the number of processors: nproc invocation. (line 6) * printenv: printenv invocation. (line 6) * printf: printf invocation. (line 6) * printing all or some environment variables: printenv invocation. (line 6) * printing color database: dircolors invocation. (line 45) * printing current user information: who invocation. (line 6) * printing current usernames: users invocation. (line 6) * printing groups a user is in: groups invocation. (line 6) * printing real and effective user and group IDs: id invocation. (line 6) * printing text: echo invocation. (line 6) * printing text, commands for: Printing text. (line 6) * printing the current time: date invocation. (line 6) * printing the effective user ID: whoami invocation. (line 6) * printing the host identifier: hostid invocation. (line 6) * printing the hostname: hostname invocation. (line 6) * printing the system uptime and load: uptime invocation. (line 6) * printing user's login name: logname invocation. (line 6) * printing, preparing files for: pr invocation. (line 6) * process zero-terminated items <1>: uniq invocation. (line 112) * process zero-terminated items <2>: shuf invocation. (line 48) * process zero-terminated items: sort invocation. (line 375) * processes, commands for controlling: Process control. (line 6) * prompting, and ln: ln invocation. (line 100) * prompting, and mv: mv invocation. (line 38) * prompting, and rm: rm invocation. (line 11) * prompts, forcing: mv invocation. (line 69) * prompts, omitting: mv invocation. (line 63) * prterase: Local. (line 46) * ptx: ptx invocation. (line 6) * punct: Character sets. (line 116) * pure numbers in date strings: Pure numbers in date strings. (line 6) * pwd: pwd invocation. (line 6) * quit: Characters. (line 23) * quoting style: Formatting the file names. (line 34) * radix for file offsets: od invocation. (line 36) * random sort: sort invocation. (line 191) * random source for shredding: shred invocation. (line 112) * random source for shuffling: shuf invocation. (line 43) * random source for sorting: sort invocation. (line 298) * random sources: Random sources. (line 6) * ranges: Character sets. (line 51) * raw: Combination. (line 43) * read errors, ignoring: dd invocation. (line 162) * read from stdin and write to stdout and files: tee invocation. (line 6) * read permission: Mode Structure. (line 12) * read permission, symbolic: Setting Permissions. (line 57) * read system call, and holes: cp invocation. (line 300) * readable file check: Access permission tests. (line 15) * readlink: readlink invocation. (line 6) * real user and group IDs, printing: id invocation. (line 6) * realpath <1>: realpath invocation. (line 6) * realpath: readlink invocation. (line 6) * recursive directory listing: Which files are listed. (line 91) * recursively changing access permissions: chmod invocation. (line 69) * recursively changing file ownership: chown invocation. (line 140) * recursively changing group ownership: chgrp invocation. (line 66) * recursively copying directories: cp invocation. (line 98) * redirection: Redirection. (line 6) * reference file: chcon invocation. (line 30) * reformatting paragraph text: fmt invocation. (line 6) * regular expression matching: String expressions. (line 11) * regular file check: File type tests. (line 19) * relations, numeric or string: Relations for expr. (line 6) * relative items in date strings: Relative items in date strings. (line 6) * release of kernel: uname invocation. (line 61) * relpath: realpath invocation. (line 56) * remainder: Numeric expressions. (line 16) * remote hostname: who invocation. (line 11) * removing empty directories: rmdir invocation. (line 6) * removing files after shredding: shred invocation. (line 123) * removing files or directories: rm invocation. (line 6) * removing files or directories (via the unlink syscall): unlink invocation. (line 6) * removing permissions: Setting Permissions. (line 42) * repeated characters: Character sets. (line 72) * repeated lines, outputting: uniq invocation. (line 63) * repeated output of a string: yes invocation. (line 6) * restricted deletion flag: Mode Structure. (line 56) * return, ignoring: Input. (line 31) * return, translating to newline <1>: Output. (line 16) * return, translating to newline: Input. (line 34) * reverse sorting <1>: Sorting the output. (line 27) * reverse sorting: sort invocation. (line 185) * reversing files: tac invocation. (line 6) * rm: rm invocation. (line 6) * rmdir: rmdir invocation. (line 6) * rn format for nl: nl invocation. (line 101) * root as default owner: install invocation. (line 86) * root directory, allow recursive destruction: rm invocation. (line 88) * root directory, allow recursive modification <1>: chmod invocation. (line 54) * root directory, allow recursive modification <2>: chgrp invocation. (line 48) * root directory, allow recursive modification: chown invocation. (line 121) * root directory, disallow recursive destruction: rm invocation. (line 83) * root directory, disallow recursive modification <1>: chmod invocation. (line 49) * root directory, disallow recursive modification <2>: chgrp invocation. (line 43) * root directory, disallow recursive modification: chown invocation. (line 116) * root directory, running a program in a specified: chroot invocation. (line 6) * rows: Special. (line 22) * rprnt: Characters. (line 56) * RTS/CTS flow control: Control. (line 36) * run commands with bounded time: timeout invocation. (line 6) * run with security context: runcon invocation. (line 6) * runcon: runcon invocation. (line 6) * running a program in a modified environment: env invocation. (line 6) * running a program in a specified root directory: chroot invocation. (line 6) * rz format for nl: nl invocation. (line 104) * Salz, Rich: Authors of parse_datetime. (line 6) * same file check: File characteristic tests. (line 23) * sane: Combination. (line 26) * scheduling, affecting: nice invocation. (line 6) * screen columns: fold invocation. (line 14) * seconds since the epoch: Time conversion specifiers. (line 42) * section delimiters of pages: nl invocation. (line 68) * security context <1>: id invocation. (line 48) * security context <2>: mknod invocation. (line 54) * security context <3>: mkfifo invocation. (line 28) * security context <4>: mkdir invocation. (line 56) * security context <5>: install invocation. (line 91) * security context: What information is listed. (line 268) * seek: dd invocation. (line 51) * seek_bytes: dd invocation. (line 292) * self-backups: cp invocation. (line 53) * SELinux <1>: id invocation. (line 48) * SELinux <2>: mknod invocation. (line 54) * SELinux <3>: mkfifo invocation. (line 28) * SELinux <4>: mkdir invocation. (line 56) * SELinux <5>: install invocation. (line 91) * SELinux: What information is listed. (line 268) * SELinux context: SELinux context. (line 6) * SELinux, context: SELinux context. (line 6) * send a signal to processes: kill invocation. (line 6) * sentences and line-breaking: fmt invocation. (line 19) * separator for numbers in seq: seq invocation. (line 42) * seq: seq invocation. (line 6) * sequence of numbers: seq invocation. (line 6) * set-group-ID: Mode Structure. (line 49) * set-group-ID check: Access permission tests. (line 9) * set-user-ID: Mode Structure. (line 42) * set-user-ID check: Access permission tests. (line 18) * setgid: Mode Structure. (line 49) * setting permissions: Setting Permissions. (line 46) * setting the hostname: hostname invocation. (line 6) * setting the time: Setting the time. (line 6) * setuid: Mode Structure. (line 42) * setup for color: dircolors invocation. (line 6) * sh syntax for color setup: dircolors invocation. (line 34) * SHA-1: sha1sum invocation. (line 6) * SHA-2: sha2 utilities. (line 6) * sha1sum: sha1sum invocation. (line 6) * sha224sum: sha2 utilities. (line 6) * sha256sum: sha2 utilities. (line 6) * sha384sum: sha2 utilities. (line 6) * sha512sum: sha2 utilities. (line 6) * SHELL environment variable, and color <1>: dircolors invocation. (line 23) * SHELL environment variable, and color: General output formatting. (line 33) * shell utilities: Top. (line 18) * shred: shred invocation. (line 6) * shuf: shuf invocation. (line 6) * shuffling files: shuf invocation. (line 6) * SI output <1>: du invocation. (line 138) * SI output <2>: df invocation. (line 177) * SI output <3>: What information is listed. (line 260) * SI output: Block size. (line 43) * signals, specifying: Signal specifications. (line 6) * simple backup method: Backup options. (line 44) * SIMPLE_BACKUP_SUFFIX: Backup options. (line 50) * single-column output of files: General output formatting. (line 10) * size: Special. (line 30) * size for main memory sorting: sort invocation. (line 309) * size of file to shred: shred invocation. (line 117) * size of files, reporting: What information is listed. (line 244) * size of files, sorting files by: Sorting the output. (line 32) * skip: dd invocation. (line 46) * skip_bytes: dd invocation. (line 286) * sleep: sleep invocation. (line 6) * socket check: File type tests. (line 31) * software flow control: Input. (line 45) * sort: sort invocation. (line 6) * sort field: sort invocation. (line 234) * sort stability: sort invocation. (line 38) * sort's last-resort comparison: sort invocation. (line 38) * sorted files, operations on: Operating on sorted files. (line 6) * sorting files: sort invocation. (line 6) * sorting ls output: Sorting the output. (line 6) * space: Character sets. (line 119) * sparse: dd invocation. (line 122) * sparse files, copying: cp invocation. (line 300) * sparse files, creating: truncate invocation. (line 13) * special characters: Characters. (line 6) * special file types: Special file types. (line 6) * special files: mknod invocation. (line 11) * special settings: Special. (line 6) * specifying sets of characters: Character sets. (line 6) * speed: Special. (line 40) * split: split invocation. (line 6) * splitting a file into pieces: split invocation. (line 6) * splitting a file into pieces by context: csplit invocation. (line 6) * squeezing empty lines: cat invocation. (line 36) * squeezing repeat characters: Squeezing. (line 6) * Stallman, R.: Introduction. (line 19) * standard input: Common options. (line 49) * standard output: Common options. (line 49) * standard streams, buffering: stdbuf invocation. (line 6) * start: Characters. (line 44) * stat: stat invocation. (line 6) * status: dd invocation. (line 66) * status time, printing or sorting by: Sorting the output. (line 13) * status time, show the most recent: du invocation. (line 184) * stdbuf: stdbuf invocation. (line 6) * sticky: Mode Structure. (line 56) * sticky bit check: Access permission tests. (line 12) * stop: Characters. (line 47) * stop bits: Control. (line 27) * strftime and date: date invocation. (line 20) * string constants, outputting: od invocation. (line 76) * string expressions: String expressions. (line 6) * string tests: String tests. (line 6) * strip directory and suffix from file names: basename invocation. (line 6) * stripping non-directory suffix: dirname invocation. (line 6) * stripping symbol table information: install invocation. (line 108) * stripping trailing slashes <1>: mv invocation. (line 95) * stripping trailing slashes: cp invocation. (line 334) * stty: stty invocation. (line 6) * substr: String expressions. (line 40) * subtracting permissions: Setting Permissions. (line 42) * subtraction: Numeric expressions. (line 12) * successful exit: true invocation. (line 6) * suffix, stripping from file names: basename invocation. (line 6) * sum: sum invocation. (line 6) * summarizing files: Summarizing files. (line 6) * superblock, writing: sync invocation. (line 6) * supplementary groups, printing: groups invocation. (line 6) * susp: Characters. (line 50) * swab (byte-swapping): dd invocation. (line 135) * swap space, saving text image in: Mode Structure. (line 56) * swtch: Characters. (line 41) * symbol table information, stripping: install invocation. (line 108) * symbol table information, stripping, program: install invocation. (line 111) * symbolic (soft) links, creating: ln invocation. (line 6) * symbolic link check: File type tests. (line 23) * symbolic link to directory, controlling traversal of: Traversing symlinks. (line 6) * symbolic link to directory, never traverse <1>: chcon invocation. (line 56) * symbolic link to directory, never traverse <2>: chgrp invocation. (line 79) * symbolic link to directory, never traverse <3>: chown invocation. (line 152) * symbolic link to directory, never traverse: Traversing symlinks. (line 26) * symbolic link to directory, traverse each that is encountered <1>: chcon invocation. (line 52) * symbolic link to directory, traverse each that is encountered <2>: chgrp invocation. (line 75) * symbolic link to directory, traverse each that is encountered <3>: chown invocation. (line 148) * symbolic link to directory, traverse each that is encountered: Traversing symlinks. (line 22) * symbolic link to directory, traverse if on the command line <1>: chcon invocation. (line 47) * symbolic link to directory, traverse if on the command line <2>: chgrp invocation. (line 70) * symbolic link to directory, traverse if on the command line <3>: chown invocation. (line 143) * symbolic link to directory, traverse if on the command line: Traversing symlinks. (line 18) * symbolic link, defined: ln invocation. (line 42) * symbolic links and ln: ln invocation. (line 173) * symbolic links and pwd: pwd invocation. (line 26) * symbolic links, changing group: chgrp invocation. (line 35) * symbolic links, changing owner <1>: chgrp invocation. (line 30) * symbolic links, changing owner: chown invocation. (line 80) * symbolic links, changing time: touch invocation. (line 100) * symbolic links, copying: cp invocation. (line 111) * symbolic links, copying with: cp invocation. (line 339) * symbolic links, dereferencing: Which files are listed. (line 36) * symbolic links, dereferencing in du: du invocation. (line 109) * symbolic links, dereferencing in stat: stat invocation. (line 22) * symbolic links, following: dd invocation. (line 256) * symbolic links, permissions of: chmod invocation. (line 10) * symbolic modes: Symbolic Modes. (line 6) * symlinks, resolution: realpath invocation. (line 6) * sync <1>: sync invocation. (line 6) * sync: dd invocation. (line 220) * sync (padding with ASCII NULs): dd invocation. (line 140) * synchronize disk and memory: sync invocation. (line 6) * synchronized data and metadata I/O: dd invocation. (line 220) * synchronized data and metadata writes, before finishing: dd invocation. (line 169) * synchronized data reads: dd invocation. (line 212) * synchronized data writes, before finishing: dd invocation. (line 165) * system context: System context. (line 6) * system information, printing <1>: uname invocation. (line 6) * system information, printing <2>: nproc invocation. (line 6) * system information, printing: arch invocation. (line 6) * system name, printing: hostname invocation. (line 6) * System V sum: sum invocation. (line 31) * tab stops, setting: expand invocation. (line 22) * tabN: Output. (line 51) * tabs: Combination. (line 66) * tabs to spaces, converting: expand invocation. (line 6) * tac: tac invocation. (line 6) * tagged paragraphs: fmt invocation. (line 40) * tail: tail invocation. (line 6) * tandem: Input. (line 45) * target directory <1>: ln invocation. (line 161) * target directory <2>: mv invocation. (line 105) * target directory <3>: install invocation. (line 120) * target directory <4>: cp invocation. (line 352) * target directory: Target directory. (line 6) * tebibyte, definition of: Block size. (line 107) * tee: tee invocation. (line 6) * telephone directory order: sort invocation. (line 87) * temporary directory: sort invocation. (line 345) * temporary files and directories: mktemp invocation. (line 6) * terabyte, definition of: Block size. (line 103) * terminal check: File type tests. (line 34) * terminal file name, printing: tty invocation. (line 6) * terminal lines, currently used: who invocation. (line 11) * terminal settings: stty invocation. (line 6) * terminal, using color iff: General output formatting. (line 25) * terse output: stat invocation. (line 54) * test: test invocation. (line 6) * text: dd invocation. (line 266) * text I/O: dd invocation. (line 266) * text image, saving in swap space: Mode Structure. (line 56) * text input files: md5sum invocation. (line 95) * text utilities: Top. (line 18) * text, displaying: echo invocation. (line 6) * text, reformatting: fmt invocation. (line 6) * this in date strings: Relative items in date strings. (line 33) * time <1>: Special. (line 11) * time: touch invocation. (line 86) * time conversion specifiers: Time conversion specifiers. (line 6) * time formats <1>: date invocation. (line 20) * time formats: pr invocation. (line 79) * time limit: timeout invocation. (line 6) * time of day item: Time of day items. (line 6) * time setting: Setting the time. (line 6) * time style <1>: du invocation. (line 193) * time style: Formatting file timestamps. (line 26) * time units <1>: sleep invocation. (line 11) * time units: timeout invocation. (line 50) * time zone correction: Time of day items. (line 30) * time zone item <1>: Time zone items. (line 6) * time zone item: General date syntax. (line 46) * time, printing or setting: date invocation. (line 6) * TIME_STYLE <1>: du invocation. (line 221) * TIME_STYLE: Formatting file timestamps. (line 106) * timeout: timeout invocation. (line 6) * timestamps of installed files, preserving: install invocation. (line 98) * timestamps, changing file: touch invocation. (line 6) * TMPDIR: sort invocation. (line 64) * today in date strings: Relative items in date strings. (line 33) * tomorrow: Options for date. (line 11) * tomorrow in date strings: Relative items in date strings. (line 29) * topological sort: tsort invocation. (line 6) * tostop: Local. (line 41) * total counts: wc invocation. (line 12) * touch: touch invocation. (line 6) * tr: tr invocation. (line 6) * trailing slashes: Trailing slashes. (line 6) * translating characters: Translating. (line 6) * true: true invocation. (line 6) * truncate: truncate invocation. (line 6) * truncating output file, avoiding: dd invocation. (line 159) * truncating, file sizes: truncate invocation. (line 6) * tsort: tsort invocation. (line 6) * tty: tty invocation. (line 6) * two-way parity: Control. (line 9) * type size: od invocation. (line 122) * TZ <1>: Specifying time zone rules. (line 6) * TZ <2>: Options for date. (line 113) * TZ <3>: date invocation. (line 16) * TZ <4>: who invocation. (line 26) * TZ <5>: stat invocation. (line 182) * TZ <6>: touch invocation. (line 65) * TZ <7>: Formatting file timestamps. (line 18) * TZ: pr invocation. (line 92) * u, and disabling special characters: Characters. (line 13) * ucase, converting to: dd invocation. (line 117) * ufs file system type: df invocation. (line 209) * umask and modes: Umask and Protection. (line 6) * uname: uname invocation. (line 6) * unblock: dd invocation. (line 108) * unexpand: unexpand invocation. (line 6) * Unicode: printf invocation. (line 70) * uniq: uniq invocation. (line 6) * unique lines, outputting: uniq invocation. (line 101) * uniquify files: uniq invocation. (line 6) * uniquifying output: sort invocation. (line 361) * unlink: unlink invocation. (line 6) * unprintable characters, ignoring: sort invocation. (line 145) * unsorted directory listing: Sorting the output. (line 20) * upper: Character sets. (line 122) * uppercase, translating to lowercase: Input. (line 50) * uptime: uptime invocation. (line 6) * use time, changing: touch invocation. (line 78) * use time, printing or sorting files by: Sorting the output. (line 13) * use time, show the most recent: du invocation. (line 184) * user IDs, disambiguating: Disambiguating names and IDs. (line 6) * user information, commands for: User information. (line 6) * user name, printing: logname invocation. (line 6) * user names, disambiguating: Disambiguating names and IDs. (line 6) * usernames, printing current: users invocation. (line 6) * users: users invocation. (line 6) * UTC: Options for date. (line 113) * utmp <1>: who invocation. (line 15) * utmp <2>: users invocation. (line 14) * utmp: logname invocation. (line 6) * valid file names, checking for: pathchk invocation. (line 6) * variable-length records, converting to fixed-length: dd invocation. (line 41) * vdir: vdir invocation. (line 6) * verbose ls format: What information is listed. (line 131) * verifying MD5 checksums: md5sum invocation. (line 68) * version number sort: sort invocation. (line 179) * version number, finding: Common options. (line 41) * version of kernel: uname invocation. (line 76) * version, sorting option for ls: Sorting the output. (line 56) * version-control Emacs variable: Backup options. (line 24) * VERSION_CONTROL <1>: ln invocation. (line 84) * VERSION_CONTROL <2>: mv invocation. (line 58) * VERSION_CONTROL <3>: install invocation. (line 42) * VERSION_CONTROL <4>: cp invocation. (line 81) * VERSION_CONTROL: Backup options. (line 13) * vertical sorted files in columns: General output formatting. (line 15) * vtN: Output. (line 59) * wc: wc invocation. (line 6) * week in date strings: Relative items in date strings. (line 15) * werase: Characters. (line 59) * who: who invocation. (line 6) * who am i: who invocation. (line 21) * whoami: whoami invocation. (line 6) * word count: wc invocation. (line 6) * working context: Working context. (line 6) * working directory, printing: pwd invocation. (line 6) * wrap data: base64 invocation. (line 22) * wrapping long input lines: fold invocation. (line 6) * writable file check: Access permission tests. (line 21) * write permission: Mode Structure. (line 15) * write permission, symbolic: Setting Permissions. (line 60) * write, allowed: who invocation. (line 95) * wtmp <1>: who invocation. (line 15) * wtmp: users invocation. (line 14) * xcase: Local. (line 36) * xdigit: Character sets. (line 125) * XON/XOFF flow control: Input. (line 40) * year in date strings: Relative items in date strings. (line 15) * yes: yes invocation. (line 6) * yesterday: Options for date. (line 11) * yesterday in date strings: Relative items in date strings. (line 29) * yottabyte, definition of: Block size. (line 131) * Youmans, B.: Introduction. (line 19) * zero-length string check: String tests. (line 15) * zettabyte, definition of: Block size. (line 124) * |: Relations for expr. (line 11)  Tag Table: Node: Top8400 Node: Introduction22373 Node: Common options23932 Node: Exit status27208 Node: Backup options27963 Node: Block size29887 Node: Floating point34741 Node: Signal specifications36151 Node: Disambiguating names and IDs38206 Ref: Disambiguating names and IDs-Footnote-139775 Node: Random sources39845 Node: Target directory41462 Node: Trailing slashes44947 Node: Traversing symlinks45968 Node: Treating / specially47041 Node: Special built-in utilities48593 Node: Standards conformance49728 Node: Output of entire files51284 Node: cat invocation51885 Node: tac invocation53692 Node: nl invocation54960 Node: od invocation58839 Node: base64 invocation65714 Node: Formatting file contents67093 Node: fmt invocation67594 Node: numfmt invocation70474 Node: pr invocation80479 Node: fold invocation91978 Node: Output of parts of files93438 Node: head invocation93935 Node: tail invocation96120 Node: split invocation105420 Node: csplit invocation112341 Node: Summarizing files117146 Node: wc invocation117794 Node: sum invocation120868 Node: cksum invocation122273 Node: md5sum invocation123413 Node: sha1sum invocation129032 Node: sha2 utilities129812 Node: Operating on sorted files130436 Node: sort invocation131023 Ref: sort invocation-Footnote-1154952 Node: shuf invocation155504 Node: uniq invocation158084 Node: comm invocation162777 Node: ptx invocation165198 Node: General options in ptx167998 Node: Charset selection in ptx168579 Node: Input processing in ptx169481 Node: Output formatting in ptx174897 Node: Compatibility in ptx181463 Node: tsort invocation184697 Node: tsort background187856 Node: Operating on fields189504 Node: cut invocation189866 Node: paste invocation193823 Node: join invocation195137 Node: Operating on characters201490 Node: tr invocation201912 Node: Character sets203630 Node: Translating208148 Node: Squeezing210239 Node: expand invocation213306 Node: unexpand invocation214788 Node: Directory listing216606 Node: ls invocation217092 Ref: ls invocation-Footnote-1219188 Node: Which files are listed219410 Node: What information is listed223150 Node: Sorting the output232397 Node: Details about version sort234707 Node: General output formatting236475 Node: Formatting file timestamps241465 Node: Formatting the file names246791 Node: dir invocation249707 Node: vdir invocation250118 Node: dircolors invocation250496 Node: Basic operations252195 Node: cp invocation252815 Node: dd invocation269136 Node: install invocation282850 Node: mv invocation288125 Node: rm invocation292687 Node: shred invocation297081 Node: Special file types305117 Node: link invocation306623 Node: ln invocation307842 Node: mkdir invocation315897 Node: mkfifo invocation318268 Node: mknod invocation319388 Node: readlink invocation321520 Node: rmdir invocation323642 Node: unlink invocation324916 Node: Changing file attributes325875 Node: chown invocation326689 Node: chgrp invocation332850 Node: chmod invocation335925 Node: touch invocation338680 Node: Disk usage346084 Node: df invocation346745 Node: du invocation355402 Node: stat invocation364948 Node: sync invocation370461 Node: truncate invocation371416 Node: Printing text373187 Node: echo invocation373561 Node: printf invocation376147 Node: yes invocation381618 Node: Conditions382230 Node: false invocation382821 Node: true invocation383856 Node: test invocation385135 Node: File type tests387180 Node: Access permission tests388062 Node: File characteristic tests388947 Node: String tests389712 Node: Numeric tests390451 Node: Connectives for test391257 Node: expr invocation391610 Node: String expressions394051 Node: Numeric expressions396635 Node: Relations for expr397332 Node: Examples of expr398526 Node: Redirection399251 Node: tee invocation399709 Node: File name manipulation404496 Node: basename invocation405071 Node: dirname invocation407049 Node: pathchk invocation408644 Node: mktemp invocation410408 Node: realpath invocation416056 Node: Working context418861 Node: pwd invocation419505 Node: stty invocation420851 Node: Control423611 Node: Input424444 Node: Output426118 Node: Local427439 Node: Combination429021 Node: Characters431242 Node: Special432796 Node: printenv invocation434453 Node: tty invocation435464 Node: User information436170 Node: id invocation436805 Node: logname invocation438728 Node: whoami invocation439355 Node: groups invocation439842 Node: users invocation441047 Node: who invocation441994 Node: System context444930 Node: date invocation445595 Node: Time conversion specifiers447312 Node: Date conversion specifiers449735 Node: Literal conversion specifiers452771 Node: Padding and other flags453129 Node: Setting the time455320 Node: Options for date456441 Node: Examples of date460740 Ref: %s-examples462158 Node: arch invocation465322 Node: nproc invocation465771 Node: uname invocation466881 Node: hostname invocation469458 Node: hostid invocation470071 Node: uptime invocation470782 Node: SELinux context471905 Node: chcon invocation472280 Node: runcon invocation474556 Node: Modified command invocation476022 Node: chroot invocation476714 Ref: chroot invocation-Footnote-1479282 Node: env invocation479584 Node: nice invocation483829 Node: nohup invocation487682 Node: stdbuf invocation489965 Node: timeout invocation492492 Node: Process control494989 Node: kill invocation495212 Node: Delaying498282 Node: sleep invocation498479 Node: Numeric operations499580 Node: factor invocation499912 Node: seq invocation501670 Node: File permissions505450 Node: Mode Structure506142 Node: Symbolic Modes509837 Node: Setting Permissions510935 Node: Copying Permissions513548 Node: Changing Special Mode Bits514367 Node: Conditional Executability516189 Node: Multiple Changes516733 Node: Umask and Protection518400 Node: Numeric Modes519505 Node: Operator Numeric Modes521631 Node: Directory Setuid and Setgid522647 Node: Date input formats525474 Node: General date syntax527909 Node: Calendar date items530900 Node: Time of day items532905 Node: Time zone items535109 Node: Combined date and time of day items536369 Node: Day of week items537229 Node: Relative items in date strings538246 Node: Pure numbers in date strings541056 Node: Seconds since the Epoch542045 Node: Specifying time zone rules543674 Node: Authors of parse_datetime546054 Ref: Authors of get_date546241 Node: Opening the software toolbox547204 Node: Toolbox introduction547971 Node: I/O redirection550694 Node: The who command553528 Node: The cut command554425 Node: The sort command555488 Node: The uniq command556192 Node: Putting the tools together556882 Ref: Putting the tools together-Footnote-1568834 Node: GNU Free Documentation License568908 Node: Concept index594101  End Tag Table coreutils-8.21/doc/parse-datetime.texi0000664000000000000000000005650712100637437014732 00000000000000@c GNU date syntax documentation @c Copyright (C) 1994-2006, 2009-2013 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 or @c any later version published by the Free Software Foundation; with no @c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover @c Texts. A copy of the license is included in the ``GNU Free @c Documentation License'' file as part of this distribution. @node Date input formats @chapter Date input formats @cindex date input formats @findex parse_datetime First, a quote: @quotation Our units of temporal measurement, from seconds on up to months, are so complicated, asymmetrical and disjunctive so as to make coherent mental reckoning in time all but impossible. Indeed, had some tyrannical god contrived to enslave our minds to time, to make it all but impossible for us to escape subjection to sodden routines and unpleasant surprises, he could hardly have done better than handing down our present system. It is like a set of trapezoidal building blocks, with no vertical or horizontal surfaces, like a language in which the simplest thought demands ornate constructions, useless particles and lengthy circumlocutions. Unlike the more successful patterns of language and science, which enable us to face experience boldly or at least level-headedly, our system of temporal calculation silently and persistently encourages our terror of time. @dots{} It is as though architects had to measure length in feet, width in meters and height in ells; as though basic instruction manuals demanded a knowledge of five different languages. It is no wonder then that we often look into our own immediate past or future, last Tuesday or a week from Sunday, with feelings of helpless confusion. @dots{} ---Robert Grudin, @cite{Time and the Art of Living}. @end quotation This section describes the textual date representations that GNU programs accept. These are the strings you, as a user, can supply as arguments to the various programs. The C interface (via the @code{parse_datetime} function) is not described here. @menu * General date syntax:: Common rules. * Calendar date items:: 19 Dec 1994. * Time of day items:: 9:20pm. * Time zone items:: EST, PDT, UTC, @dots{} * Combined date and time of day items:: 1972-09-24T20:02:00,000000-0500. * Day of week items:: Monday and others. * Relative items in date strings:: next tuesday, 2 years ago. * Pure numbers in date strings:: 19931219, 1440. * Seconds since the Epoch:: @@1078100502. * Specifying time zone rules:: TZ="America/New_York", TZ="UTC0". * Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al. @end menu @node General date syntax @section General date syntax @cindex general date syntax @cindex items in date strings A @dfn{date} is a string, possibly empty, containing many items separated by whitespace. The whitespace may be omitted when no ambiguity arises. The empty string means the beginning of today (i.e., midnight). Order of the items is immaterial. A date string may contain many flavors of items: @itemize @bullet @item calendar date items @item time of day items @item time zone items @item combined date and time of day items @item day of the week items @item relative items @item pure numbers. @end itemize @noindent We describe each of these item types in turn, below. @cindex numbers, written-out @cindex ordinal numbers @findex first @r{in date strings} @findex next @r{in date strings} @findex last @r{in date strings} A few ordinal numbers may be written out in words in some contexts. This is most useful for specifying day of the week items or relative items (see below). Among the most commonly used ordinal numbers, the word @samp{last} stands for @math{-1}, @samp{this} stands for 0, and @samp{first} and @samp{next} both stand for 1. Because the word @samp{second} stands for the unit of time there is no way to write the ordinal number 2, but for convenience @samp{third} stands for 3, @samp{fourth} for 4, @samp{fifth} for 5, @samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8, @samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and @samp{twelfth} for 12. @cindex months, written-out When a month is written this way, it is still considered to be written numerically, instead of being ``spelled in full''; this changes the allowed strings. @cindex language, in dates In the current implementation, only English is supported for words and abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first}, @samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}. @cindex language, in dates @cindex time zone item The output of the @command{date} command is not always acceptable as a date string, not only because of the language problem, but also because there is no standard meaning for time zone items like @samp{IST}@. When using @command{date} to generate a date string intended to be parsed later, specify a date format that is independent of language and that does not use time zone items other than @samp{UTC} and @samp{Z}@. Here are some ways to do this: @example $ LC_ALL=C TZ=UTC0 date Mon Mar 1 00:21:42 UTC 2004 $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ' 2004-03-01 00:21:42Z $ date --rfc-3339=ns # --rfc-3339 is a GNU extension. 2004-02-29 16:21:42.692722128-08:00 $ date --rfc-2822 # a GNU extension Sun, 29 Feb 2004 16:21:42 -0800 $ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension. 2004-02-29 16:21:42 -0800 $ date +'@@%s.%N' # %s and %N are GNU extensions. @@1078100502.692722128 @end example @cindex case, ignored in dates @cindex comments, in dates Alphabetic case is completely ignored in dates. Comments may be introduced between round parentheses, as long as included parentheses are properly nested. Hyphens not followed by a digit are currently ignored. Leading zeros on numbers are ignored. @cindex leap seconds Invalid dates like @samp{2005-02-29} or times like @samp{24:00} are rejected. In the typical case of a host that does not support leap seconds, a time like @samp{23:59:60} is rejected even if it corresponds to a valid leap second. @node Calendar date items @section Calendar date items @cindex calendar date item A @dfn{calendar date item} specifies a day of the year. It is specified differently, depending on whether the month is specified numerically or literally. All these strings specify the same calendar date: @example 1972-09-24 # ISO 8601. 72-9-24 # Assume 19xx for 69 through 99, # 20xx for 00 through 68. 72-09-24 # Leading zeros are ignored. 9/24/72 # Common U.S. writing. 24 September 1972 24 Sept 72 # September has a special abbreviation. 24 Sep 72 # Three-letter abbreviations always allowed. Sep 24, 1972 24-sep-72 24sep72 @end example The year can also be omitted. In this case, the last specified year is used, or the current year if none. For example: @example 9/24 sep 24 @end example Here are the rules. @cindex ISO 8601 date format @cindex date format, ISO 8601 For numeric months, the ISO 8601 format @samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is any positive number, @var{month} is a number between 01 and 12, and @var{day} is a number between 01 and 31. A leading zero must be present if a number is less than ten. If @var{year} is 68 or smaller, then 2000 is added to it; otherwise, if @var{year} is less than 100, then 1900 is added to it. The construct @samp{@var{month}/@var{day}/@var{year}}, popular in the United States, is accepted. Also @samp{@var{month}/@var{day}}, omitting the year. @cindex month names in date strings @cindex abbreviations for months Literal months may be spelled out in full: @samp{January}, @samp{February}, @samp{March}, @samp{April}, @samp{May}, @samp{June}, @samp{July}, @samp{August}, @samp{September}, @samp{October}, @samp{November} or @samp{December}. Literal months may be abbreviated to their first three letters, possibly followed by an abbreviating dot. It is also permitted to write @samp{Sept} instead of @samp{September}. When months are written literally, the calendar date may be given as any of the following: @example @var{day} @var{month} @var{year} @var{day} @var{month} @var{month} @var{day} @var{year} @var{day}-@var{month}-@var{year} @end example Or, omitting the year: @example @var{month} @var{day} @end example @node Time of day items @section Time of day items @cindex time of day item A @dfn{time of day item} in date strings specifies the time on a given day. Here are some examples, all of which represent the same time: @example 20:02:00.000000 20:02 8:02pm 20:02-0500 # In EST (U.S. Eastern Standard Time). @end example @cindex leap seconds More generally, the time of day may be given as @samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is a number between 0 and 23, @var{minute} is a number between 0 and 59, and @var{second} is a number between 0 and 59 possibly followed by @samp{.} or @samp{,} and a fraction containing one or more digits. Alternatively, @samp{:@var{second}} can be omitted, in which case it is taken to be zero. On the rare hosts that support leap seconds, @var{second} may be 60. @findex am @r{in date strings} @findex pm @r{in date strings} @findex midnight @r{in date strings} @findex noon @r{in date strings} If the time is followed by @samp{am} or @samp{pm} (or @samp{a.m.} or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and @samp{:@var{minute}} may be omitted (taken to be zero). @samp{am} indicates the first half of the day, @samp{pm} indicates the second half of the day. In this notation, 12 is the predecessor of 1: midnight is @samp{12am} while noon is @samp{12pm}. (This is the zero-oriented interpretation of @samp{12am} and @samp{12pm}, as opposed to the old tradition derived from Latin which uses @samp{12m} for noon and @samp{12pm} for midnight.) @cindex time zone correction @cindex minutes, time zone correction by The time may alternatively be followed by a time zone correction, expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+} or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number of zone minutes. The zone minutes term, @var{mm}, may be omitted, in which case the one- or two-digit correction is interpreted as a number of hours. You can also separate @var{hh} from @var{mm} with a colon. When a time zone correction is given this way, it forces interpretation of the time relative to Coordinated Universal Time (UTC), overriding any previous specification for the time zone or the local time zone. For example, @samp{+0530} and @samp{+05:30} both stand for the time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to specify a time zone correction by fractional parts of an hour. The maximum zone correction is 24 hours. Either @samp{am}/@samp{pm} or a time zone correction may be specified, but not both. @node Time zone items @section Time zone items @cindex time zone item A @dfn{time zone item} specifies an international time zone, indicated by a small set of letters, e.g., @samp{UTC} or @samp{Z} for Coordinated Universal Time. Any included periods are ignored. By following a non-daylight-saving time zone by the string @samp{DST} in a separate word (that is, separated by some white space), the corresponding daylight saving time zone may be specified. Alternatively, a non-daylight-saving time zone can be followed by a time zone correction, to add the two values. This is normally done only for @samp{UTC}; for example, @samp{UTC+05:30} is equivalent to @samp{+05:30}. Time zone items other than @samp{UTC} and @samp{Z} are obsolescent and are not recommended, because they are ambiguous; for example, @samp{EST} has a different meaning in Australia than in the United States. Instead, it's better to use unambiguous numeric time zone corrections like @samp{-0500}, as described in the previous section. If neither a time zone item nor a time zone correction is supplied, time stamps are interpreted using the rules of the default time zone (@pxref{Specifying time zone rules}). @node Combined date and time of day items @section Combined date and time of day items @cindex combined date and time of day item @cindex ISO 8601 date and time of day format @cindex date and time of day format, ISO 8601 The ISO 8601 date and time of day extended format consists of an ISO 8601 date, a @samp{T} character separator, and an ISO 8601 time of day. This format is also recognized if the @samp{T} is replaced by a space. In this format, the time of day should use 24-hour notation. Fractional seconds are allowed, with either comma or period preceding the fraction. ISO 8601 fractional minutes and hours are not supported. Typically, hosts support nanosecond timestamp resolution; excess precision is silently discarded. Here are some examples: @example 2012-09-24T20:02:00.052-0500 2012-12-31T23:59:59,999999999+1100 1970-01-01 00:00Z @end example @node Day of week items @section Day of week items @cindex day of week item The explicit mention of a day of the week will forward the date (only if necessary) to reach that day of the week in the future. Days of the week may be spelled out in full: @samp{Sunday}, @samp{Monday}, @samp{Tuesday}, @samp{Wednesday}, @samp{Thursday}, @samp{Friday} or @samp{Saturday}. Days may be abbreviated to their first three letters, optionally followed by a period. The special abbreviations @samp{Tues} for @samp{Tuesday}, @samp{Wednes} for @samp{Wednesday} and @samp{Thur} or @samp{Thurs} for @samp{Thursday} are also allowed. @findex next @var{day} @findex last @var{day} A number may precede a day of the week item to move forward supplementary weeks. It is best used in expression like @samp{third monday}. In this context, @samp{last @var{day}} or @samp{next @var{day}} is also acceptable; they move one week before or after the day that @var{day} by itself would represent. A comma following a day of the week item is ignored. @node Relative items in date strings @section Relative items in date strings @cindex relative items in date strings @cindex displacement of dates @dfn{Relative items} adjust a date (or the current date if none) forward or backward. The effects of relative items accumulate. Here are some examples: @example 1 year 1 year ago 3 years 2 days @end example @findex year @r{in date strings} @findex month @r{in date strings} @findex fortnight @r{in date strings} @findex week @r{in date strings} @findex day @r{in date strings} @findex hour @r{in date strings} @findex minute @r{in date strings} The unit of time displacement may be selected by the string @samp{year} or @samp{month} for moving by whole years or months. These are fuzzy units, as years and months are not all of equal duration. More precise units are @samp{fortnight} which is worth 14 days, @samp{week} worth 7 days, @samp{day} worth 24 hours, @samp{hour} worth 60 minutes, @samp{minute} or @samp{min} worth 60 seconds, and @samp{second} or @samp{sec} worth one second. An @samp{s} suffix on these units is accepted and ignored. @findex ago @r{in date strings} The unit of time may be preceded by a multiplier, given as an optionally signed number. Unsigned numbers are taken as positively signed. No number at all implies 1 for a multiplier. Following a relative item by the string @samp{ago} is equivalent to preceding the unit by a multiplier with value @math{-1}. @findex day @r{in date strings} @findex tomorrow @r{in date strings} @findex yesterday @r{in date strings} The string @samp{tomorrow} is worth one day in the future (equivalent to @samp{day}), the string @samp{yesterday} is worth one day in the past (equivalent to @samp{day ago}). @findex now @r{in date strings} @findex today @r{in date strings} @findex this @r{in date strings} The strings @samp{now} or @samp{today} are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise changed by previous items. They may be used to stress other items, like in @samp{12:00 today}. The string @samp{this} also has the meaning of a zero-valued time displacement, but is preferred in date strings like @samp{this thursday}. When a relative item causes the resulting date to cross a boundary where the clocks were adjusted, typically for daylight saving time, the resulting date and time are adjusted accordingly. The fuzz in units can cause problems with relative items. For example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01, because 2003-06-31 is an invalid date. To determine the previous month more reliably, you can ask for the month before the 15th of the current month. For example: @example $ date -R Thu, 31 Jul 2003 13:02:39 -0700 $ date --date='-1 month' +'Last month was %B?' Last month was July? $ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!' Last month was June! @end example Also, take care when manipulating dates around clock changes such as daylight saving leaps. In a few cases these have added or subtracted as much as 24 hours from the clock, so it is often wise to adopt universal time by setting the @env{TZ} environment variable to @samp{UTC0} before embarking on calendrical calculations. @node Pure numbers in date strings @section Pure numbers in date strings @cindex pure numbers in date strings The precise interpretation of a pure decimal number depends on the context in the date string. If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no other calendar date item (@pxref{Calendar date items}) appears before it in the date string, then @var{yyyy} is read as the year, @var{mm} as the month number and @var{dd} as the day of the month, for the specified calendar date. If the decimal number is of the form @var{hh}@var{mm} and no other time of day item appears before it in the date string, then @var{hh} is read as the hour of the day and @var{mm} as the minute of the hour, for the specified time of day. @var{mm} can also be omitted. If both a calendar date and a time of day appear to the left of a number in the date string, but no relative item, then the number overrides the year. @node Seconds since the Epoch @section Seconds since the Epoch If you precede a number with @samp{@@}, it represents an internal time stamp as a count of seconds. The number can contain an internal decimal point (either @samp{.} or @samp{,}); any excess precision not supported by the internal representation is truncated toward minus infinity. Such a number cannot be combined with any other date item, as it specifies a complete time stamp. @cindex beginning of time, for POSIX @cindex epoch, for POSIX Internally, computer times are represented as a count of seconds since an epoch---a well-defined point of time. On GNU and POSIX systems, the epoch is 1970-01-01 00:00:00 UTC, so @samp{@@0} represents this time, @samp{@@1} represents 1970-01-01 00:00:01 UTC, and so forth. GNU and most other POSIX-compliant systems support such times as an extension to POSIX, using negative counts, so that @samp{@@-1} represents 1969-12-31 23:59:59 UTC. Traditional Unix systems count seconds with 32-bit two's-complement integers and can represent times from 1901-12-13 20:45:52 through 2038-01-19 03:14:07 UTC@. More modern systems use 64-bit counts of seconds with nanosecond subcounts, and can represent all the times in the known lifetime of the universe to a resolution of 1 nanosecond. @cindex leap seconds On most hosts, these counts ignore the presence of leap seconds. For example, on most hosts @samp{@@915148799} represents 1998-12-31 23:59:59 UTC, @samp{@@915148800} represents 1999-01-01 00:00:00 UTC, and there is no way to represent the intervening leap second 1998-12-31 23:59:60 UTC. @node Specifying time zone rules @section Specifying time zone rules @vindex TZ Normally, dates are interpreted using the rules of the current time zone, which in turn are specified by the @env{TZ} environment variable, or by a system default if @env{TZ} is not set. To specify a different set of default time zone rules that apply just to one date, start the date with a string of the form @samp{TZ="@var{rule}"}. The two quote characters (@samp{"}) must be present in the date, and any quotes or backslashes within @var{rule} must be escaped by a backslash. For example, with the GNU @command{date} command you can answer the question ``What time is it in New York when a Paris clock shows 6:30am on October 31, 2004?'' by using a date beginning with @samp{TZ="Europe/Paris"} as shown in the following shell transcript: @example $ export TZ="America/New_York" $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' Sun Oct 31 01:30:00 EDT 2004 @end example In this example, the @option{--date} operand begins with its own @env{TZ} setting, so the rest of that operand is processed according to @samp{Europe/Paris} rules, treating the string @samp{2004-10-31 06:30} as if it were in Paris. However, since the output of the @command{date} command is processed according to the overall time zone rules, it uses New York time. (Paris was normally six hours ahead of New York in 2004, but this example refers to a brief Halloween period when the gap was five hours.) A @env{TZ} value is a rule that typically names a location in the @uref{http://www.twinsun.com/tz/tz-link.htm, @samp{tz} database}. A recent catalog of location names appears in the @uref{http://twiki.org/cgi-bin/xtra/tzdate, TWiki Date and Time Gateway}. A few non-GNU hosts require a colon before a location name in a @env{TZ} setting, e.g., @samp{TZ=":America/New_York"}. The @samp{tz} database includes a wide variety of locations ranging from @samp{Arctic/Longyearbyen} to @samp{Antarctica/South_Pole}, but if you are at sea and have your own private time zone, or if you are using a non-GNU host that does not support the @samp{tz} database, you may need to use a POSIX rule instead. Simple POSIX rules like @samp{UTC0} specify a time zone without daylight saving time; other rules can specify simple daylight saving regimes. @xref{TZ Variable,, Specifying the Time Zone with @code{TZ}, libc, The GNU C Library}. @node Authors of parse_datetime @section Authors of @code{parse_datetime} @c the anchor keeps the old node name, to try to avoid breaking links @anchor{Authors of get_date} @cindex authors of @code{parse_datetime} @cindex Bellovin, Steven M. @cindex Salz, Rich @cindex Berets, Jim @cindex MacKenzie, David @cindex Meyering, Jim @cindex Eggert, Paul @code{parse_datetime} started life as @code{getdate}, as originally implemented by Steven M. Bellovin (@email{smb@@research.att.com}) while at the University of North Carolina at Chapel Hill. The code was later tweaked by a couple of people on Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com}) and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various revisions for the GNU system were made by David MacKenzie, Jim Meyering, Paul Eggert and others, including renaming it to @code{get_date} to avoid a conflict with the alternative Posix function @code{getdate}, and a later rename to @code{parse_datetime}. The Posix function @code{getdate} can parse more locale-specific dates using @code{strptime}, but relies on an environment variable and external file, and lacks the thread-safety of @code{parse_datetime}. @cindex Pinard, F. @cindex Berry, K. This chapter was originally produced by Fran@,{c}ois Pinard (@email{pinard@@iro.umontreal.ca}) from the @file{parse_datetime.y} source code, and then edited by K. Berry (@email{kb@@cs.umb.edu}). coreutils-8.21/doc/local.mk0000664000000000000000000001033212102337340012530 00000000000000# Make coreutils documentation. -*-Makefile-*- # This is included by the top-level Makefile.am. # Copyright (C) 1995-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . info_TEXINFOS = doc/coreutils.texi doc_coreutils_TEXINFOS = \ doc/perm.texi \ doc/parse-datetime.texi \ doc/constants.texi \ doc/fdl.texi # The following is necessary if the package name is 8 characters or longer. # If the info documentation would be split into 10 or more separate files, # then this is necessary even if the package name is 7 characters long. # # Tell makeinfo to put everything in a single info file: .info. # Otherwise, it would also generate files with names like .info-[123], # and those names all map to one 14-byte name (.info-) on some crufty # old systems. AM_MAKEINFOFLAGS = --no-split doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c $(AM_V_GEN)LC_ALL=C; export LC_ALL; \ $(MKDIR_P) doc && \ { sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \ $(top_srcdir)/src/tail.c && \ sed -n -e \ 's/.*\(DEFAULT_PASSES\)[ =]* \([0-9]*\).*/@set SHRED_\1 \2/p'\ $(top_srcdir)/src/shred.c; } > $@-t \ && mv $@-t $@ MAINTAINERCLEANFILES += doc/constants.texi # Extended regular expressions to match word starts and ends. _W = (^|[^A-Za-z0-9_]) W_ = ([^A-Za-z0-9_]|$$) syntax_checks = \ sc-avoid-builtin \ sc-avoid-io \ sc-avoid-non-zero \ sc-avoid-path \ sc-avoid-timezone \ sc-avoid-zeroes \ sc-exponent-grouping \ sc-lower-case-var texi_files = $(srcdir)/doc/*.texi .PHONY: $(syntax_checks) check-texinfo # List words/regexps here that should not appear in the texinfo documentation. check-texinfo: $(syntax_checks) $(AM_V_GEN)fail=0; \ grep '@url{' $(texi_files) && fail=1; \ grep '\$$@"' $(texi_files) && fail=1; \ grep -n '[^[:punct:]]@footnote' $(texi_files) && fail=1; \ grep -n filename $(texi_files) \ | $(EGREP) -v 'setfilename|[{]filename[}]' \ && fail=1; \ exit $$fail sc-avoid-builtin: $(AM_V_GEN)$(EGREP) -i '$(_W)builtins?$(W_)' $(texi_files) \ && exit 1 || : sc-avoid-path: $(AM_V_GEN)fail=0; \ $(EGREP) -i '$(_W)path(name)?s?$(W_)' $(texi_files) \ | $(EGREP) -v \ 'PATH=|path search|search path|@vindex PATH$$|@env[{]PATH[}]' \ && fail=1; \ exit $$fail # Use "time zone", not "timezone". sc-avoid-timezone: $(AM_V_GEN)$(EGREP) timezone $(texi_files) && exit 1 || : # Check for insufficient exponent grouping, e.g., # @math{2^64} should be @math{2^{64}}. sc-exponent-grouping: $(AM_V_GEN)$(EGREP) '\{.*\^[0-9][0-9]' $(texi_files) && exit 1 || : # Say I/O, not IO. sc-avoid-io: $(AM_V_GEN)$(EGREP) '$(_W)IO$(W_)' $(texi_files) && exit 1 || : # I prefer nonzero over non-zero. sc-avoid-non-zero: $(AM_V_GEN)$(EGREP) non-zero $(texi_files) && exit 1 || : # Use "zeros", not "zeroes" (nothing wrong with "zeroes"; just be consistent). sc-avoid-zeroes: $(AM_V_GEN)$(EGREP) -i '$(_W)zeroes$(W_)' $(texi_files) \ && exit 1 || : # The quantity inside @var{...} should not contain upper case letters. # The leading backslash exemption is to permit in-macro uses like # @var{\varName\} where the upper case letter is part of a parameter name. find_upper_case_var = \ '/\@var{/ or next; \ while (/\@var{(.+?)}/g) \ { \ $$v = $$1; \ $$v =~ /[A-Z]/ && $$v !~ /^\\/ and (print "$$ARGV:$$.:$$_"), $$m = 1 \ } \ END {$$m and (warn "$@: do not use upper case in \@var{...}\n"), exit 1}' sc-lower-case-var: $(AM_V_GEN)$(PERL) -e 1 || { echo $@: skipping test; exit 0; }; \ $(PERL) -lne $(find_upper_case_var) $(texi_files) check-local: check-texinfo coreutils-8.21/doc/ChangeLog-20070000664000000000000000000021171512102337340013255 000000000000002007-10-05 Jim Meyering * coreutils.texi (chroot invocation): List two systems on which chroot works when run by non-root. 2007-09-19 Jim Meyering * coreutils.texi (expr invocation): Correct description of relative operator precedence. Reported by hanpingtian@gmail.com. 2007-08-25 Eric Blake Avoid case-insensitive clash in one-page-per-node html docs. * coreutils.texi (Concept index): Rename from Index. 2007-07-15 Jim Meyering * coreutils.texi: Revise node structure per new fdl.texi. 2007-06-06 Jim Meyering * coreutils.texi (rmdir invocation): Fix a tiny typo. 2007-06-03 Jim Meyering * constants.texi: Remove from version control. This file has always been generated. * .gitignore: Add constants.texi. 2007-04-28 Paul Eggert * coreutils.texi (nohup invocation): Add advice about saving output to a file. 2007-04-16 Jim Meyering * coreutils.texi (cut invocation): Adjust synopsis to show that an OPTION is required. Reported by Rudolf Kastl. 2007-03-21 Eric Blake * coreutils.texi (md5sum invocation): Document escapes in output format. Reported by Armijn Hemel. 2007-03-15 Paul Eggert Fix manual in response to bug reports by Dan Jacobson. * coreutils.texi (sort invocation): Explain numeric sorts better. Compress self-congratulation into a simple "comparison is exact" notice; the --general-numeric-sort option already explains the tradeoffs. (seq invocation): Add example of -f. 2007-03-12 Jim Meyering * coreutils.texi (cp invocation): Mention that --preserve=timestamps doesn't preserve time stamps on symbolic links. Reported by Polo Talnir in . 2007-02-27 Paul Eggert * coreutils.texi (df invocation): With -P, the default block size and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE. 2007-01-30 Paul Eggert * coreutils.texi (Input processing in ptx, mkdir invocation, rmdir invocation): @item -> @itemx to fix some typos. 2007-01-30 Paul Eggert * coreutils.texi (mkdir invocation): Say how to set the file permission bits of a parent directory with mkdir -p. 2007-01-29 Jim Meyering Document new syntax: "chown +0:+287 file", "chgrp +99 file" * coreutils.texi (Disambiguating names and IDs): New section. (chown invocation, chgrp invocation): Mention the new syntax with an xref to the new section. 2007-01-19 Jim Meyering * coreutils.texi (ls: General output formatting): Mention the workarounds to accommodate the Apple Terminal bug. 2007-01-04 Jim Meyering * coreutils.texi (base64 invocation): When decoding, newlines are always accepted. 2007-01-03 Jim Meyering Document what the ".0" in e.g., "-k 2,3.0" means, and... * coreutils.texi (sort invocation): ... that it can be applied to the field-end spec, but not the field-start one. Patch from Evan Hunt. 2006-12-21 Jim Meyering * coreutils.texi (dd invocation): Improve the documentation for bs, ibs, obs, and cbs. Suggestion from Dan Jacobson. Patch by Olivier Delhomme. (dd invocation): Add to the description of cbs. (dd invocation): Specify that bs=N overrides only any _preceding_ ibs and obs settings. Spotted by Andreas Schwab. 2006-12-14 Jim Meyering * coreutils.texi: Remove two doubled words. (Treating / specially): With --preserve-root, chgrp and chown will not modify "/", even through a symlink. 2006-11-28 Jim Meyering * perm.texi (Mode Structure): Fix typo: s/setgid/setuid/. Reported by Georg Neis as Debian bug 400778. 2006-10-27 Jim Meyering * coreutils.texi (wc invocation): When giving the order in which the various "counts" are listed, also mention "maximum line length". Prompted by a report from Vincent LeFevre. 2006-10-23 Jim Meyering * coreutils.texi (rm invocation): Describe --one-file-system. 2006-09-26 Paul Eggert * coreutils.texi (groups invocation): "groups" no longer prefixes the output with "user :" unless more than one user is specified. 2006-09-19 Paul Eggert * coreutils.texi (cp invocation): Say that -i and -f are independent. Clarify -i's behavior. (Disk usage): Clarify intro. Problem reported by Van Ly. 2006-09-08 Paul Eggert * coreutils.texi (tail invocation): Ignore -f when standard input is a FIFO, too. 2006-09-02 Paul Eggert * coreutils.texi (Treating / specially): --preserve-root is now the default for rm. (rm invocation): Likewise. Also, document that you can't remove `.' or `..'. Use the POSIX term "root directory" rather than the more-ambiguous "file system root". 2006-08-22 Paul Eggert * .cvsignore: Add Makefile.in, coreutils.html, coreutils.pdf, coreutils.ps, coreutils.tps. Remove coreutils.cm (dunno what it is, but the makefile doesn't mention it). Remove coreutils.info as it is subsumed by coreutils.info*. 2006-08-22 Jim Meyering * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-20 Paul Eggert * Makefile.in, fdl.texi, getdate.texi: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-17 Jim Meyering * Makefile.am (EXTRA_DIST): Reflect doclicense.texi->fdl.texi renaming. 2006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * Makefile.am: Likewise. * getdate.texi: Likewise. * perm.texi: Likewise. * getdate.texi: Update to version 1.2 of the GNU FDL. * coreutils.texi: Likewise. (Copying This Manual): Renamed from GNU Free Documentation License. Now an appendix. Include fdl.texi rather than doclicense.texi. * fdl.tex: Renamed from doclicense.texi. Latest version from FSF. * perm.texi: Add copyright notice. 2006-08-15 Paul Eggert * coreutils.texi (df invocation): df exits nonzero if it outputs nothing. 2006-08-09 Paul Eggert * coreutils.texi (dd invocation): Warn about oflag=append without conv=notrunc. See Debian bug 373736. 2006-08-08 Paul Eggert * coreutils.texi (shuf invocation, Random sources): New sections. (Operating on sorted files): Add shuf. (sort invocation, shred invocation): New option --random-source. (sort invocation): Fix typo: -R -> -r. 2006-07-28 Paul Eggert * coreutils.texi (install invocation, mkdir invocation): Add cross-references to Directory Setuid and Setgid. (install-invocation): The default mode is no longer equivalent to 755. * perm.texi (Changing Special Mode Bits): Clarify u+s versus a+s versus +s, and likewise for g+s. (Numeric Modes): Bring back example of 0055 == 55. 4755 no longer clears setgid bit on directories. (Directory Setuid and Setgid): Numeric modes now affect setuid and setgid on directories only if they set these bits. This is so that leading 0 has no effect on numeric modes. 2006-07-26 Jim Meyering * coreutils.texi (What information is listed): Mention that missing pieces of information are marked with "?". From Paul Eggert. 2006-07-25 Paul Eggert * perm.texi (Directory Setuid and Setgid): Explain that this is a GNU extension, and that other systems behave differently here. 2006-07-22 Paul Eggert * coreutils.texi (What information is listed): Clarify that the restricted deletion flag is another name for the sticky bit. * perm.texi (Mode Structure): The restricted deletion flag restricts only unprivileged users. (Mode Structure, Symbolic Modes, Numeric Modes): Be more careful about distinguishing file mode bits from permissions bits, and about execute versus search permission. The FreeBSD command is chflags, not chrflags. 2006-07-16 Paul Eggert * coreutils.texi: Change GNU to @acronym{GNU} in a few places. Use "set-user-ID" and "set-group-ID" a bit more consistently. Use "appropriate privileges" rather than "super-user" a bit more consistently. (install invocation): Parent directories are now 755 without uid or gid changing. The default mode is now 0755, not 755. (mkdir invocation): Rewrite the top-level usage description, since I couldn't easily follow the old one. It's now 3 lines not 8. For -m, describe file permission bits versus other bits, and note that mkdir is atomic if you don't mention special bits. (chmod invocation): Mention what chmod does to setgid and setuid bits. * perm.texi (Mode Structure): Modernize the explanation of the setuid and setgid bits on directories. (Changing Special Mode Bits): Mention that a implies both u and g for s. Cross reference to new node. (Numeric Modes): Don't claim that 0055 is the same as 55; this isn't true any more. Mention new node. 4755 is now like u=rwxs,go=rx,g-s, not like u=rwxs,go=rx. (Directory Setuid and Setgid): New node. 2006-07-08 Jim Meyering * coreutils.texi (Squeezing): Separate doubled "the", so typo-checkers don't complain. * Makefile.am (check-texinfo): Enforce the zeros vs. zeroes consistency. 2006-07-08 Ralf Wildenhues * coreutils.texi: Fix some typos. Use `zeros' consistently (both `zeros' and `zeroes' are correct). 2006-07-01 Paul Eggert * coreutils.texi (tail invocation): With no operand, 'tail -f' now silently ignores the '-f' only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set. 2006-06-30 Paul Eggert * coreutils.texi (seq invocation): seq now uses long double internally rather than double. It now defaults to a minimal fixed point format if possible. It lets you use %a, %A, %E, %F, %G. Don't assume printf doesn't work for numbers that fit in 64 but not 32 bits; typically they work these days. Improve discussion of large integers and update the rounding-error numbers. 2006-06-28 Paul Eggert * coreutils.texi (sort invocation): 'sort +1 -2' is now supported even when conforming to POSIX 1003.1-2001, since this is a pure extension to POSIX. 2006-06-27 Jim Meyering * coreutils.texi (wc invocation): Remove ./ prefix from example. From Padraig Brady. 2006-06-26 Jim Meyering * coreutils.texi (wc invocation): Spell out `--files0-from' in the example. Suggestion from Bob Proulx. * coreutils.texi (wc invocation): Document new --files0-from option. 2006-06-20 Eric Blake * coreutils.texi (sleep invocation): Document that accepting multiple arguments and suffixes are extensions. Reported by Dan Jacobson. 2006-06-12 Paul Eggert * Makefile.am (check-texinfo): Use $(_W) and $(W_) instead of assuming grep -w (which is not portable). 2006-05-27 Ralf Wildenhues * Makefile.am: Use `AM_MAKEINFOFLAGS' rather than overwriting `MAKEINFO', so that `missing' can do its job. * Makefile.am (check-texinfo): Use `$(EGREP)' instead of `grep -E'. (check-texinfo): Use literal `{' only in brackets, i.e., [{] or [}], to avoid triggering an error from Solaris 2.6's grep. 2006-05-25 Paul Eggert * coreutils.texi (sort invocation): Remove mention of --seed, since it's going away. 2006-05-04 Eric Blake * coreutils.texi (Examples of date): Give example of @seconds. 2006-05-03 Paul Eggert * coreutils.texi (head invocation, tail invocation, sort invocation): Give advice about porting to hosts that support only obsolete syntax. Problem reported by Zack Weinberg. 2006-04-23 Francesco Montorsi * coreutils.texi (Which files are listed): Describe new option: --group-directories-first. 2006-04-17 Paul Eggert * coreutils.texi (What information is listed): Add P for Solaris 10 ports. Add commented-out entries for other types that POSIX says are possible, or that I observed in FreeBSD documentation. 2006-04-18 Jim Meyering * coreutils.texi (Input processing in ptx): Remove mention of the default --ignore file, /usr/local/lib/eign. That file has never been used. Reported by Eric Blake. 2006-04-12 Paul Eggert * coreutils.texi (expr invocation): expr exit status is 3 only for internal errors now; 2 is also for invalid values in expressions. (What information is listed): Document 'ls' type letters. Problem reported by Lincoln Martin. 2006-04-09 Ori Avtalion * coreutils.texi (Top): Add 'hostid' to System context menu line. (trivial change) 2006-03-22 Eric Blake * coreutils.texi (General options in ptx): Undocument --copyright. 2006-03-27 Eric Blake * coreutils.texi (dirname invocation): Macro in previous patch was too broad. 2006-03-11 Eric Blake * coreutils.texi (basename invocation, dirname invocation): Improve documentation to match recent // patches. 2006-03-23 Paul Eggert * coreutils.texi (nohup invocation): nohup now redirects stderr to nohup.out if stdout is closed and stderr is a tty. 2006-03-05 Paul Eggert * coreutils.texi (dd invocation): New flags directory, nolinks. Alphabetize nofollow. 2006-02-17 Simon Josefsson * coreutils.texi: Add base64 section. 2006-02-20 Eric Blake * coreutils.texi (rm invocation): Fix typo in last patch. (paste invocation): Fix whitespace. 2006-02-18 Eric Blake * coreutils.texi (rm invocation): Document new -I option, and new --interactive behavior. 2006-02-12 Jim Meyering * coreutils.texi (Character sets): Don't say that an unknown backslash-escape causes an error message -- it doesn't. Mention that `\' also removes any special significance, so is useful for [, ], *, -. Prompted by Richard Neill in http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=14937 2006-02-01 Paul Eggert * coreutils.texi (od invocation): Warn that -t a ignores the high order bit. 2006-01-30 Paul Eggert * coreutils.texi (tail invocation): In the obsolete usage, the count is optional, so put square brackets around it. 2006-01-02 Paul Eggert * getdate.texi (General date syntax): Invalid dates are rejected. (Time of day items): Mention the possibility of leap seconds. Problem reported by Dr. David Alan Gilbert. * coreutils.texi: Use @acronym around "ISO" uniformly. (Date conversion specifiers): Explain %g, %G, and %V a bit better. 2006-01-02 Jim Meyering * coreutils.texi (tail invocation): Say that --retry is useful `mainly' (not `only') when following by name. 2006-01-01 Paul Eggert * coreutils.texi, perm.texi: Clarify file mode bits versus file permission bits. * coreutils.texi (mkfifo invocation, mknod invocation): -m affects only file permission bits. 2005-12-29 Paul Eggert * coreutils.texi (sort invocation): Clarify that a blank is a space or a tab. 2005-12-15 Jim Meyering * coreutils.texi (stat invocation) [--printf]: Describe new option. [--format]: Add example. Distinguish from --printf. Sort option descriptions. 2005-12-05 Andreas Gruenbacher * coreutils.texi (ls): Clarify the Alternate Access Method description. (cp): Clarify that --preserve=mode also preserves acls. 2005-12-12 Paul Eggert * coreutils.texi (sort invocation): Clarify explanation of --random-sort, and use a simpler example. 2005-12-10 Frederik Eaton * coreutils.texi (sort invocation): Add --random-sort (-R) and --seed. 2005-12-07 Paul Eggert * coreutils.texi (dd invocation): New noatime flag. 2005-11-25 Paul Eggert * coreutils.texi (df invocation): Document treatment of dummy file systems better. 2005-11-16 Paul Eggert * coreutils.texi (ln invocation): ln -v now outputs lines only for successful links. (tail invocation): Say that the obsolete form uses exactly one option and at most one file. 2005-11-13 Jim Meyering * perm.texi (Mode Structure): Capitalize two sentences in an enumerated list and fix a typo. From Aaron Hawley. 2005-11-08 Paul Eggert * coreutils.texi (Formatting file timestamps): ls now defaults to --time-style='locale', which in turn acts like --time-style='posix-long-iso' if the locale settings are messed up. 2005-11-02 Paul Eggert * coreutils.texi (rm invocation): Don't mention --directory (-d). 2005-11-01 Paul Eggert * coreutils.texi (tail invocation): Describe obsolete usages like "tail -2" more precisely. (touch invocation): The old usage works only for 1969-1999 now. 2005-08-28 David Madore * coreutils.texi: Document SHA-1 and SHA-2 utilities. 2005-10-15 Paul Eggert * doc/coreutils.texi (Top, General output formatting, dir invocation): (vdir invocation): Don't document the old v and d commands. 2005-10-15 Jim Meyering * coreutils.texi (du invocation): Document du's -m option, now that we've decided to keep it. (who invocation): Remove documentation for deprecated --idle (-i). 2005-10-13 Jim Meyering * coreutils.texi: Avoid a few overfull/underfull hboxes. 2005-09-24 Paul Eggert * coreutils.texi (touch invocation): "touch -" now touches standard output. 2005-09-17 Paul Eggert * coreutils.texi (who invocation): Remove a stray '+'. 2005-09-15 Paul Eggert * coreutils.texi (uname invocation): uname -a no longer generates the -p and -i outputs if they are unknown. 2005-09-13 Paul Eggert * coreutils.texi (Time conversion specifiers, Options for date): Document date --rfc-3339 and new specifiers %:z, %::z, %:::z. Use "date and time" consistently; the old version sometimes said "time and date". Fix a minor bug in the documentation for --rfc-2822: it claimed day-of-month < 10 had leading space, not leading zero. Use a consistent format for terms like "RFC". (uname invocation): Mention that Linux outputs "unknown" for -i and -p. 2005-09-08 Paul Eggert * coreutils.texi (nice invocation): Document "niceness" versus "nice value" versus "scheduling priority". 2005-09-07 Paul Eggert * coreutils.texi (nice invocation): Use "niceness", not "nice value" to talk about nice values offset by -20. Don't use the word "priority" when niceness is intended. 2005-08-15 Jim Meyering * coreutils.texi (join invocation): Itemize the defaults. From Karl Berry. 2005-08-12 Jim Meyering * coreutils.texi (cp invocation, mv invocation): Remove square brackets in --reply=[HOW]. Reported by Oscar Liljeblad. 2005-07-19 Paul Eggert * coreutils.texi (md5sum invocation): --check now allows multiple FILE inputs. 2005-07-18 Paul Eggert * coreutils.texi (false invocation): Mention that false is often built-in, and that it exits with status >1 on some hosts. (true invocation): Remove now-incorrect "non-POSIX mode" reference. 2005-07-15 Paul Eggert * coreutils.texi (nohup invocation): POSIXLY_CORRECT no longer affects nohup's behavior. Input is redirected from /dev/null. 2005-07-11 Paul Eggert * coreutils.texi (cat invocation): Remove -B or --binary option (available on MS-DOS-like platforms only). Explain when text and binary mode are used now. (md5sum invocation): -b actually does have an effect on Unix: it causes "*" to be output. Explain when text and binary mode are used now. 2005-07-03 Jim Meyering * coreutils.texi (cp invocation): Mark --reply as deprecated. (mv invocation): Likewise. 2005-06-24 Jim Meyering * coreutils.texi (cp invocation): Clarify how --reply=no works. 2005-06-14 William Brendling * coreutils.texi (du invocation): New options --last-time and --time-style. 2005-06-19 Jim Meyering * coreutils.texi (ln invocation): Change a few `paths' to `file names'. * Makefile.am (check-texinfo): Also catch uses of path, pathname. 2005-06-17 Jim Meyering * coreutils.texi (shred invocation): Clarify that shred works on ext3 as long as it's not in data=journal mode. Patch from Mark Melahn. 2005-06-16 Jim Meyering * coreutils.texi (Backup options): Undocument --version-control=S (-V). 2005-06-07 Jim Meyering * coreutils.texi (ln invocation): Examples, from Bob Proulx. 2005-06-01 Paul Eggert Use "file name" when talking about file names, instead of "filename" or "path", as per the GNU coding standards. * coreutils.texi (readlink invocation): "path component" -> "component", since we don't use the POSIX "path" nomenclature. 2005-05-11 Paul Eggert * getdate.texi (General date syntax): Don't say that date date --iso-8601=ns generates acceptable dates; it doesn't yet. Problem reported by Nic Ferrier. 2005-05-06 Paul Eggert * coreutils.texi (dd invocation): New flags "binary" and "text". 2005-05-04 Paul Eggert * coreutils.texi (chmod invocation): chmod -w complains if its behavior differs from what chmod a-w would do. 2005-05-02 Paul Eggert * coreutils.texi (ls invocation): ls --indicator-style=directory renamed to ls --indicator-style=slash, to avoid confusion with ls --directory. 2005-04-28 Paul Eggert * perm.texi (Mode Structure, Changing Special Permissions): (Conditional Executability, Numeric Modes): These days the sticky bit is more often uses as the restricted deletion flag, so modernize the discussion about this. (Mode Structure): Linux/GNU -> GNU/Linux. (Symbolic Modes): Don't imply that "+ur" or "u" is valid. (Setting Permissions): Don't imply that "+t" is invalid. Use "rwx" rather than the less-common "rxw" in an example. (Copying Permissions): Say that ugo is a replacement for a string of the other letters. Add spaces around examples. Use "set-user-ID" rather than "set user ID" to avoid ambiguity. Use "+t" rather than "o+t", since POSIX doesn't specify the latter. Mention which combinations are portable and which are GNU. (Numeric Modes): Don't imply they aren't portable; they are nowadays. 2005-04-26 Paul Eggert * coreutils.texi (Standards conformance): Do not mention head -10, since it now works the same regardless of POSIX version. (od invocation): -w N -> -w[N]. (pr invocation): -S STRING -> -SSTRING. (fold invocation): -WIDTH works even when conforming to POSIX 1003.1-2001. (head invocation, tail invocation): Likewise for -NUM. (split invocation): Likewise for -LINES. (uniq invocation): Likewise for -N. (expand invocation, unexpand invocation): Likewise for -TAB. (nice invocation): Likewise for -ADJUSTMENT. (sort invocation): Clarify explanation of +N option. (uniq invocation): Likewise. (join invocation): Remove special case for --help, --version. (touch invocation): Clarify explanation of date options. (Options for date): -I timespec -> -I[timespec]. 2005-04-23 Paul Eggert * coreutils.texi (install invocation): Use a= instead of 0 for the point of departure for -m, and explain what it meeams. (mkdir invocation, mkfifo invocation, mknod invocation): The umask does not affect the point of departure. Problem reported by Mike Stone. 2005-04-11 Paul Eggert * coreutils.texi: For consistency, standardize on "user ID" rather than "uid" or "UID" or "user id". Similarly for "group ID". 2005-04-09 Jim Meyering * coreutils.texi (rm invocation): Say that --recursive removes listed directories too, not just their contents. 2005-04-08 Paul Eggert * coreutils.texi (dd invocation): Document the distinction between INFO and USR1 for dd, and the effect of POSIXLY_CORRECT here. 2005-04-05 Paul Eggert * coreutils.texi (cat invocation, chown invocation) (chgrp invocation, basename invocation, dirname invocation): Add examples, which are copies of the examples newly added to the usage messages. (ln invocation): Use same format as other examples above, for consistency. 2005-03-26 Paul Eggert * coreutils.texi: Clarify NUL vs null byte vs null character. 2005-03-18 Paul Eggert * coreutils.texi (nohup invocation): Clarify nohup.out creation. 2005-03-11 Paul Eggert * coreutils.texi (Formatting file timestamps): Very long timestamps may be treated as errors. 2005-03-08 Paul Eggert * coreutils.texi (date invocation): Use an example that makes it clear tha the default date use space-padded day of month. Replace "directive" with "conversion specifier" to be consistent with POSIX. All uses changed. Fix menu RHS to match actual directive lists. (Time conversion specifiers): Renamed from Time directives. Use @samp consistently, sometimes instead of @code. Consistently ention which specifiers are GNU extensions. Give more examples (in some cases, instead of ranges). Say why %F is preferred for dates. (Date conversion specifiers): Renamed from Date directives. Likewise for other changes. (Padding and other flags): Correct the description. Document #. Give an example for %9B. 2005-02-23 Paul Eggert * coreutils.texi: Adjust to match current strftime.c. (Time directives): Say that %k, %l, and %P are GNU extensions. For %p and %P, mention handling of noon and midnight. For %s, use ISO 8601, and mention handling of leap seconds. For %S, clarify mention of leap seconds. For %T, say that it's the same as %H:%M:%S. For %X, don't say that it must be the same as %H:%M:%S. For %z and %Z, clarify which time zones are used. These options are now affected by --date, so don't claim that they're not. (Date directives): %C is now all but the last two chars of %Y. For %D, say that it's equivalent to %m/%d/%y. For %e, use blank in example. For %h, use @code for %b. For %Y, mention what happens with outlandish years. (Padding and other flags): Renamed from Padding. Mention that the flags are GNU extensions. Mention the 0 and ^ flags. Mention field widths an modifiers. (Examples of date): - is a flag, not a modifier. 2005-01-07 Jim Meyering * coreutils.texi (sort invocation): Specify that a string of zero digits is interpreted as 0. Reported by Ulrich Hermisson. 2005-01-04 Jim Meyering * coreutils.texi (shred invocation): Clarify that shred works fine with journaled file systems that are configured not to journal file system data. Also mention BFS and NTFS. 2004-12-15 Paul Eggert * coreutils.texi (ls invocation): Change minor problem to be "subdirectory not found", since top-level trouble is now serious. (dircolors invocation): Quote argument to eval. Problem reported by Stephane Chazelas. 2004-12-11 Paul Eggert * coreutils.texi (join invocation): Mention that blank separators in the -o option need to be quoted. Problem reported by Phil Clayton. 2004-12-10 Paul Eggert * coreutils.texi (id invocation): -G also prints main group. Problem reported by Tim Waugh. 2004-12-09 Paul Eggert * coreutils.texi (ls invocation): Document new "ls" exit status. 2004-12-08 Paul Eggert * getdate.texi (Time of day items, Time zone items): Describe new formats +00:00, UTC+00:00. 2004-12-04 Jim Meyering * coreutils.texi (cut invocation): Say when --complement is useful. 2004-10-01 Paolo Bonzini * coreutils.texi (cut invocation): Document --complement and adjust the documentation of -b, -c, -f. 2004-11-27 Paul Eggert * coreutils.texi (du invocation): Use if=/dev/null rather than :|. Problem reported by Dan Jacobson. Use "seek=2GiB" rather than the wordier "seek=`echo '2^31'|bc`". Say "KiB" not the (inaccurate) "kilobytes". Similarly for "GiB" and "gigabytes". 2004-11-16 Paul Eggert * coreutils.texi: Changes inspired by Debian coreutils 5.2.1-2. (General output formatting): -x doesn't have an operand. (Formatting the file names): Warn that even with -N unprintable chars are still printed as '?' some times. (rm invocation): Reword rm -d to note that it's sometimes useful on non-directories. (logname invocation, users invocation, who invocation): The utmp and wtmp file names vary from system to system. * getdate.texi (General date syntax): "next" is 1, not 2. Document that "second" isn't allowed as an ordinal number. 2004-11-15 Paul Eggert * coreutils.texi (dd invocation): Reword the new dd message. 2004-11-14 Paul Eggert * coreutils.texi (dd invocation): dd now outputs total bytes, seconds, and bytes per second. 2004-11-03 Paul Eggert * Makefile.am (_W, W_): New macros. (check-texinfo): Use them instead of assuming grep -w (which is not portable). 2004-10-29 Paul Eggert * coreutils.texi: Document TZ better, and adjust to new getdate.texi. (Top): Update menu. (pr invocation, Formatting file timestamps, touch invocation, stat invocation, who invocation, date invocation, Options for date): Mention TZ. * getdate.texi: Sync from gnulib. 2004-10-28 Paul Eggert * coreutils.texi (Standards conformance): Use "head -10" rather than "head -1" as example of obsolete usage, since the POSIX consensus is that "head -1" could be supported even if we don't yet have clear consensus on "head -10". See today's revision to the SUS FAQ . 2004-10-24 Paul Eggert * coreutils.texi (pathchk invocation): Options must precede operands. 2004-10-17 Paul Eggert * coreutils.texi (pathchk invocation): Overall lengths are OS limits, not file system limits. Component length checks apply to all components, not merely to existing ones. Say that nonexistent names are not errors. For -p, omit all checks based on the underlying file system, not merely length checks. Explain what the portable file name character set is. 2004-10-15 Paul Eggert * coreutils.texi (printf invocation): Mention ISO/IEC 10646 as well as Unicode. Various minor formatting cleanups. 2004-10-13 Paul Eggert * coreutils.texi (sort invocation): Move LC_ALL, LC_COLLATE index entries to proper paragraph. 2004-10-12 Jim Meyering * Makefile.am (check-texinfo): Add `builtin' and `builtins' to the list of words to avoid. 2004-10-11 Paul Eggert * coreutils.texi (Special built-in utilities): New node. (printf invocation): builtin -> built-in, for consistency with POSIX terminology. (test invocation, pwd invocation): Use specific rather than generic language to warn about built-in commands. (chroot invocation, env invocation, nice invocation, nohup invocation): Warn that command must not be a special built-in. (env invocation): Warn about environment variables with unusual spellings, or duplicates. 2004-09-26 Paul Eggert * coreutils.texi (ls invocation): Document "ls --hide". 2004-09-24 Paul Eggert * coreutils.texi (chmod invocation): Warn about "chmod -w file". 2004-09-23 Paul Eggert * coreutils.texi (tail invocation): Fix bugs in the description of the obsolete syntax (e.g., it does not support -k or -m). Warn about usages like "tail -" and "tail -c 4" that are ambigous on older systems. 2004-09-20 Paul Eggert * coreutils.texi (mv invocation, rm invocation): Say "the response is affirmative" rather than "the response begins with y or Y", so that the documentation is accurate in non-English locales. Problem reported by Munzir Taha. 2004-09-18 Paul Eggert * coreutils.texi (dd invocation): Distinguish between options (e.g., --help) and operands (e.g., if=file). Move miscellaneous stuff after the operand descriptions, for clarity. 2004-09-09 Paul Eggert * coreutils.texi (sort invocation): -u disables the last-resort comparison, too. Revamp its description. (test invocation): Document -r, -w, -x more carefully. 2004-09-08 Paul Eggert * coreutils.texi (Common options): Some programs don't reorder options. (tr invocation, echo invocation, printf invocation, test invocation, expr invocation, basename invocation, chroot invocation, nice invocation, nohup invocation, seq invocation): This program doesn't reorder options. (tr invocation): Mention --help, --version, --. (echo invocation): Mention that -- isn't special. (test invocation): Mention that the expression is optional, and that test ! EXPR is like ! test EXPR. Mention that -h and -L don't dereference symlinks. (expr invocation): Mention --help, --version. * coreutils.texi (sort invocation): Add remarks about sort -u versus sort | uniq. Prompted by a question from Andrew Noymer. 2004-09-06 Paul Eggert * coreutils.texi (od invocation): Several changes for POSIX and FreeBSD compatibility. Add support for XSI syntax (POSIX 1003.1-2004). Rename -s[N] to -S N. Remove documentation for -h. -i is now -t dI (not d2) and -l is now -t dL (not d4). 2004-09-05 Paul Eggert * coreutils.texi (String tests): Improve quality of warning about quoting strings for the shell. 2004-09-03 Paul Eggert * coreutils.texi (dd invocation): Specify which conversion options are mutually exclusive. Give a bit more detail about ascii, ebcdic, and ibm conversions. 2004-08-24 Paul Eggert POSIX-conformance fixes for "expand" and "unexpand". * coreutils.texi: Standardize on "tab stop" (the POSIX usage) rather than "tabstop". (unexpand invocation): Use "blank" rather than "space" when POSIX requires "blank". Define "blank". Initial blanks are converted even if there's just one. For -a, convert two or more blanks only if they occur just before a tab stop. 2004-08-19 Paul Eggert * coreutils.texi (chown invocation): Fix synopsis: group must always be preceded by separator. "chown : file" and "chown '' file" don't change the owner or group. Update the explanation of what happens to the set-user-ID or set-group-ID bits, e.g., they sometimes are not cleared if they denote mandatory locking. Change "find"-oriented examples to use chown -h. 2004-08-18 Paul Eggert * coreutils.texi (printf invocation): Clarify how "printf" is supposed to work with extra arguments, missing arguments, etc. 2004-08-10 Paul Eggert POSIX-conformance fixes for "-" used as an operand. * coreutils.texi (Common options): Clarify that "-" means stdin/stdout only when it is an operand, not when it is an option-argument. (shred invocation): "shred -- -" is equivalent to "shred -", not to "shred ./-". (tee invocation): "tee -" means to copy (again) to stdout. 2004-07-25 Paul Eggert * coreutils.texi (nice invocation): Document the "nice value", and how it affects the scheduling priority. (The old documentation implied that the nice value equaled the scheduling priority, which isn't accurate.) Document that the range of nice values might exceed -20..19. Specify what happens when you give a nice value that is out of range, or when you don't have permissions to lower the nice value. Bash doesn't have a builtin 'nice', so don't say "most shells" have one. 2004-04-03 Dmitry V. Levin * coreutils.texi (readlink invocation): Document new "readlink -f" behaviour and new canonicalize options, -e and -m. 2004-07-02 Jim Meyering * Makefile.am (check-texinfo): Disallow `filename' in .texi files. Spell it like `file name' instead, to be consistent. Fail if a @footnote directive follows non-punctuation. Fail upon use of @url. Use @uref instead. 2004-07-01 Paul Eggert * coreutils.texi (Common options, Target directory, cp invocation, install invocation, mv invocation, ln invocation): Add -t as a short option for --target-directory, and -T as a short option for --no-target-directory. Clean up relevant synopses a bit, so that the language is similar for all. 2004-06-30 Paul Eggert * coreutils.texi: Put the right amount of space at sentence ends. Make sure "i.e." and "e.g." are followed by commas (the GNU style). Put blank lines before and after every @example, prefer the previous line to end in ":" (when not a sentence end, for consistency), and prepend @noindent to the following line when appropriate. In examples, use "--" arguments when needed to prevent undesired interpretation of operands as options. Use "file name" rather than "filename", as per the GNU coding standards. Remove unwanted spaces before @footnote. Use "---" when appropriate, instead of " -- ". Use "name" (or something like that) rather than "path" or "pathname", since the GNU coding standards don't allow "path". Use @acronym, @command, @minus{}, @samp in a few places, where appropriate. (Target directory): Clarify description of example. (fmt invocation): Give issue number for reference, and reword for clarity. (sort invocation): Note that xargs without -0 also mishandles file names containing some special characters other than newline. (Translating): Mention that \012 is not universally portable. Use '\0' rather than '\000'. (Squeezing): bourne -> Bourne. Fix unportable usage of '\n' by replacing it with '[\n*]'. (More details about version sort): Remove unnecessary indent in examples. (dd invocation): Use 'kill -s USR1', not 'kill -USR1', as POSIX indicates that the former is more portable (the latter is an XSI extension). (shred invocation): Use @uref rather than @url, and use a more-typical style for the date. (kill invocation): Clarify usage; for example, "kill -s TERM -1" isn't allowed. (seq invocation): Reword to avoid implying that printf necessarily fails for numbers outside the 32-bit range. Prefer separating options from their operands. (Opening the software toolbox): Give an online reference to Robbins's article, and give a date. Don't imply that the current documentation is unchanged from his article. (Putting the tools together): Rework examples so that they don't assume the C locale; nowadays many users now operate outside the C locale by default. While we're at it, don't assume ASCII either. Indent example to match actual output from GNU uniq. Remove some unnecessary and confusing brackets from 'tr' operands. "Software Tools in Pascal" is back in print, according to Amazon anyway. Add references to Kernighan's online copies of examples. 2004-06-30 Paul Eggert * coreutils.texi, perm.texi: Standardize on "file system" rather than "filesystem", as POSIX prefers it with a space. 2004-06-29 Paul Eggert * coreutils.texi (Common options, Target directory, cp invocation, install invocation, mv invocation, ln invocation): Likewise. (link invocation): Explain how to rewrite link using ln now that we have --no-target-directory. (ln invocation): Explain that --no-target-directory subsumes --no-dereference. (unlink invocation): Modify wording to match new wording in link invocation. 2004-06-25 Paul Eggert * coreutils.texi (install invocation): Document --target-directory in synopsis, too. 2004-06-15 Paul Eggert * coreutils.texi (yes invocation): "--" is now supported. (false invocation, true invocation): --help and --version now work unconditionally. 2004-06-07 Jim Meyering * coreutils.texi: Remove menu references to just-removed subsection. 2004-06-06 Jim Meyering * coreutils.texi (tr invocation): Remove the section describing how POSIXLY_CORRECT changes tr's behavior. 2004-06-02 Jim Meyering * coreutils.texi (cut invocation): Clarify what --output-delimiter=STR does with byte/character ranges. 2004-06-01 Paul Eggert * coreutils.texi (tr invocation): Mention -C. 2004-05-13 Paul Eggert * coreutils.texi (echo invocation): Document today's changes. 2004-05-17 Jim Meyering chgrp and chown now dereference symlinks by default, per POSIX. * coreutils.texi (chgrp invocation, chown invocation): Document it. 2004-05-13 Paul Eggert * coreutils.texi (sort invocation): Document that "sort -m -o F" might write F before reading all the input. 2004-05-09 Jim Meyering * coreutils.texi (stat invocation): Change IO to I/O. * Makefile.am (check-texinfo): Check for the above. 2004-04-25 Paul Eggert * coreutils.texi (sort invocation): Mention -k earlier, so that the options are in alphabetical order. Describe how -b works more-accurately; this involves fixing some examples, too. Mention what happens if the start field falls after an end field or after a line end. Warn about using -k without -b, -g, -M, -n, or -t. Add an example of how to sort IPv4 addresses and Apache Common Log Format dates. Remove a duplicate example. (Putting the tools together): Use separate options rather than agglomerating them. 2004-03-27 Paul Eggert cp -pu and mv -u (when copying) now take the destination file system time stamp resolution into account. * coreutils.texi (mv invocation): Document this. (cp invocation): Document -u (it was missing!) with new behavior. 2004-04-08 Paul Eggert * coreutils.texi (dd invocation): Remove noctty flag from dd. 2004-04-07 Paul Eggert New dd conv= symbols nocreat, excl, fdatasync, fsync, and new dd options iflag= and oflag=. * coreutils.texi (dd invocation): Document them. 2004-04-07 Jim Meyering * coreutils.texi (stty invocation - Input): Document new iutf8 option. 2004-04-04 Jim Meyering * coreutils.texi (stat invocation): Correct --format description. 2004-02-25 Paul Eggert * coreutils.texi (Block size): Document new envvar BLOCKSIZE. 2004-03-24 Jim Meyering * Makefile.am (check-texinfo): Add a check to ensure future consistency in using @sc{nul}, not `NUL'. 2004-03-23 Paul Eggert * coreutils.texi: Use @sc{nul} consistently for NUL. (du invocation): FILE0 -> FILE. 2004-03-23 Jim Meyering * coreutils.texi (du invocation): --files0-from is useful with --total (-c), not with --summarize. 2004-03-22 Jim Meyering * coreutils.texi: Tweak a few lines that resulted in `overfull hbox' warnings. 2004-03-03 Jim Meyering * coreutils.texi (du invocation): Document new option: --file0-from=F. 2004-02-29 Paul Eggert * coreutils.texi (touch invocation): Describe use of fractional seconds. (date invocation, Options for date): Likewise. * getdate.texi (General date syntax, Time of day items): Likewise. * coreutils.texi (date invocation): Mention effect of LC_TIME. (Options for date): Describe new --iso-8601=ns option. * getdate.texi: Add copyright notice. Change getdate to get_date when talking about the function name. (Seconds since the Epoch): New section, containing the time_t info moved from Date input formats section, along with new info about the @ syntax. Mention negative time stamps, fractional time stamps, and leap seconds. (General date syntax): Modernize examples a bit to reflect new features. (General date syntax, Relative items in date strings): Use ' rather than " to quote formats. (Time of day items): Add an example with fractional seconds. Describe fractional-second syntax. 2004-03-15 Jim Meyering * coreutils.texi (date invocation): Add missing `C' to %[...] range in the `Date directives:: ...' menu entry. From Bob Proulx. * coreutils.texi: Add FIXME comment: The following don't have `invocation' nodes: [, pinky, shasum, uptime. 2004-03-10 Jim Meyering * coreutils.texi (Sorting the output): Remove description of ls's --sort=directory option. ls doesn't accept that option, yet. Reported by Arvind Autar. * coreutils.texi (cp invocation): Improve description of cp's --sparse=WHEN option. * coreutils.texi (nl invocation): Specify that these are _basic_ regular expressions (BRE), and add a link to grep's documentation. Suggestion from Dan Jacobson. 2004-02-23 Paul Eggert * coreutils.texi (chown invocation): Document that chown now falls back on USER.GROUP parsing regardless of POSIX version, as POSIX 1003.1-2001 allows that behavior as a compatible extension. 2004-02-22 Jim Meyering * coreutils.texi (du invocation): Mention that using du's -H option currently evokes a warning. 2004-02-15 Paul Eggert * coreutils.texi (expr invocation): Document what forms integers may take, and say "integer" consistently instead of "number". Warn about operands that "expr" can misinterpret, and how to work around the problem. 2004-02-17 Jim Meyering * coreutils.texi (csplit invocation): Correct typo (s/LINE/N/) in description of `N' pattern. From Reuben Thomas 2004-02-11 Jim Meyering * coreutils.texi (Time directives): The %s value *is* changed by the --date=DATE option; don't say otherwise. Patch from Padraig Brady. 2004-02-10 Paul Eggert * coreutils.texi (Formatting the file names): Improve wording for --quoting-style documentation. Suggestions by Bruno Haible. 2004-02-02 Jim Meyering * coreutils.texi (nice invocation): Add examples. Prompted by a suggestion from Dan Jacobson. (factor invocation): Add an example. Update timing numbers for a more modern CPU. 2004-01-27 Jim Meyering * coreutils.texi (seq invocation): Remove `@dots{}' at end of synopsis. Separate `Synopses' section into three examples. Clarify first paragraph. @w{}-protect an expression.1 Use @option{--option}, rather than @code{--option}. 2004-01-19 Paul Eggert * coreutils.texi (Exit status): Document that ordinary failure might not exit with status 1 on unusual platforms. Mention chroot, env, nice, and su as having unusual exit status patterns. Don't bother to mention true and false since their exit status patterns are actually normal. (sort invocation, su invocation): Mention its unusual exit status pattern. (chroot invocation): Simplify description of exit status 1. Remove duplicate description of status 127. (env invocation): Use consistent tenses; simplifiy description of status 1. (nice invocation): Likewise. 2003-12-15 Paul Eggert * coreutils.texi (touch invocation): touch -r and -d can now both be specified, with -r specifying the origin for -d. 2004-01-15 Alfred M. Szmidt Factor out some common options. * coreutils.texi (Common options): Define macros here. (What information is listed, cp invocation): Use the macro(s). (install invocation, mv invocation, ln invocation): Likewise. (df invocation, du invocation): Likewise. 2004-01-09 Jim Meyering Document the exit status of each and every program. * coreutils.texi (yes invocation): Document that a write error makes `yes' exit unsuccessfully. (chroot invocation): Enumerate the meaning of exit status values. (nice invocation): Likewise. (Exit status) [@macro exitstatus]: New macro. Use @exitstatus to describe the exit status of most programs. 2004-01-02 Jim Meyering * coreutils.texi (du invocation): Mention that -H will eventually mean not --si, but --dereference-args (-D). 2003-12-20 Jim Meyering * coreutils.texi (du invocation): Describe new option: -0, --null. 2003-12-03 Paul Eggert * coreutils.texi (What information is listed, chroot invocation): Adjust example 'ls' output to match new behavior with narrower output columns. (The cut command): Remove example that cut the output of 'ls -l'. The output was incorrect even with the old 'ls', and the whole idea of using 'cut' on 'ls -l' output is bogus anyway. 2003-11-24 Paul Eggert Parse floating-point operands and options in the C locale. POSIX requires this for printf, and we might as well be consistent elsewhere (tail, sleep, seq). * coreutils.texi (tail invocation, printf invocation, sleep invocation, seq invocation): Document this. 2003-11-24 Jim Meyering * coreutils.texi (Traversing symlinks, Treating / specially): New sections. (rm invocation, chown invocation, chmod invocation, chgrp invocation): Describe new options, --preserve-root and --no-preserve-root. 2003-11-11 Jim Meyering * coreutils.texi (chown invocation) [chownchgrpoptions]: New macro describing -H, -L, -P options. Use it here. (chgrp invocation): And here. 2003-11-09 Jim Meyering * coreutils.texi (dd invocation): Fix typo in example. 2003-10-15 Jim Meyering * coreutils.texi (ln invocation): Note that --directory, -d, -F probably won't work even for superuser. Suggestion from Dan Jacobson. 2003-09-29 Paul Eggert * coreutils.texi (csplit invocation): The regexp offset need not have a sign; POSIX requires support for signless offets. 2003-10-03 Jim Meyering * coreutils.texi (du invocation): Describe -P, --no-dereference. 2003-09-28 Jim Meyering * coreutils.texi (Translating): Correct typo in menu description. From A Costa. 2003-09-02 Paul Eggert * coreutils.texi (sort invocation): -d now overrides -i. "whitespace" -> "blanks"; "whitespace" isn't correct. -t '\0' now specifies a NUL tab. 2003-08-17 Jim Meyering * coreutils.texi (who invocation): Add an entry for -l, --login. Remove `-l' from the entry for --lookup. (who invocation): Begin adding missing option documentation. 2003-08-07 Paul Eggert * coreutils.texi (split invocation): Add -d or --numeric-suffixes option to 'split'. 2003-07-31 Paul Eggert * getdate.texi (General date syntax): Add --rfc-2822 option to GNU date. * coreutils.texi (Options for date): Fix a typo in format: it's now %d not %_d. Add URLs. 2003-07-31 Paul Eggert * getdate.texi (Relative items in date strings): Warn about fuzz in relative units. 2003-07-29 Jim Meyering * coreutils.texi (tail invocation): Restore two end-of-sentence words that were mistakenly removed on 2002-09-13. Reported by Paul Worrall. 2003-07-28 Jim Meyering * coreutils.texi (dd invocation): Explain that a SIGUSR1 signal makes dd give a progress report to stderr. 2003-07-24 Paul Eggert * coreutils.texi: Document changes of 2003-07-24. 2003-07-24 Jim Meyering * coreutils.texi (su invocation): Use `@subsection', not invalid `@heading'. 2003-07-17 Paul Eggert * coreutils.texi (expr invocation): Exit status is 2 if the expression is syntactically invalid, 3 if there is some other error. This change is for conformance to POSIX. 2003-07-14 Paul Eggert * coreutils.texi (uname invocation): Explain the POSIX terminology behind uname -m and uname -s. 2003-07-13 Jim Meyering * coreutils.texi (chown invocation): Warn that chown now clears set-user-ID and set-group-ID bits on some systems. From Bob Proulx. (nohup invocation): Tell what happens when stdout is not a terminal. Based on a suggestion from Steven Mocking. 2003-07-10 Jim Meyering * coreutils.texi (Standards conformance): Mention that uses like `tail -1' and `head -1', like `sort +1', are non conforming. (chown invocation): Say that using `.' as a separator may not work. 2003-06-25 Jim Meyering * coreutils.texi (Time directives) [%s]: Add a cross reference to the related examples. (Examples of date): Add an @anchor here, along with a few more examples. Suggestion from Dan Jacobson. 2003-06-12 Jim Meyering * coreutils.texi (wc invocation): Tweak wording: wc prints counts in the order `newline, word, byte'. Suggestion from Keith M. Briggs. Also change `lines' to `newlines'. 2003-05-14 Jim Meyering * coreutils.texi (head invocation): Document --bytes=-N and --lines=-N. 2003-05-13 Paul Eggert * coreutils.texi (uniq invocation, squeezing, The uniq command): Use "repeated" rather than "duplicate" to describe adjacent duplicates; this simplifies the description and makes it more consistent with POSIX. (uniq invocation): Make it clear that -d and -u suppress the output of lines, rather than cause some lines to be output. Mention what happens if a line lacks enough fields or characters. 2003-05-13 Jim Meyering * coreutils.texi (true invocation): Mention that it is possible to make true --help or true --version (in non-POSIX mode) exit nonzero. Suggestion from Paul Eggert. 2003-05-10 Jim Meyering * coreutils.texi (Exit status): Remove `uniq' from the list. It uses standard exit codes. (More details about version sort): Note that strverscmp, and hence `ls -v', does not use LC_COLLATE. Reported by From: Andrey Borzenkov. 2003-04-21 Jim Meyering Fix printf POSIX compatibility bug reported by Ben Harris in . * coreutils.texi (printf invocation): It's \NNN in the format, \0NNN in the %b operand. 2003-04-10 Jim Meyering * Makefile.am (check-texinfo): Check for uses of non-zero. I prefer to spell it `nonzero'. * coreutils.texi (readlink invocation): Tweak description a little. 2003-04-04 Jim Meyering * Makefile.am (constants.texi): Rename target (thus enabling it), now that fileutils, textutils, and sh-utils have been merged. (MAINTAINERCLEANFILES): Define. 2003-04-02 Jim Meyering * coreutils.texi (false invocation): Note that false exits unsuccessfully even with --help and --version. * Makefile.am (check-texinfo): Don't fail if perl is missing. Reported by Nelson Beebe. 2003-03-27 Jim Meyering * coreutils.texi (printf invocation): Fix formatting bugs. From Paul Eggert. (sort invocation): Describe sort's --stable (-s) option. 2003-03-13 Jim Meyering * coreutils.texi (shred invocation): Mention that --exact is now the default for non-regular files. 2003-03-02 Jim Meyering * coreutils.texi (Exit status): New section. Suggestion from Michael Stone. 2003-02-21 Jim Meyering * coreutils.texi (du invocation): Document --apparent-size. Adjust documentation of --bytes (-b). (stat invocation): Describe %B. 2003-02-07 Richard Dawe * coreutils.texi: Use @command instead of @code for program names. * perm.texi (Mode Structure): Mention filesystem-specific permissions and that mounting a filesystem as read-only may override actual file permissions. Use @command instead of @code for program names. 2003-02-06 Jim Meyering * coreutils.texi: Adjust alignment and mention `file, text, shell' on the `* Coreutils:...' dirently line. From Karl Berry. 2003-02-05 Jim Meyering * Makefile.am (check-texinfo): Allow bare `POSIX' to be used on direntry lines. * coreutils.texi: Use new form of @direntry. Put unlink in its proper place. Adjust wording in some dir entry descriptions, mainly so they fit in 80 columns. Don't use mark-up like @acronym{POSIX} in direntries. Mostly from Karl Berry. 2003-01-25 Jim Meyering * coreutils.texi (cut invocation): Describe new functionality of --output-delimiter=STR. 2003-01-24 Jim Meyering * coreutils.texi (The cut command): Give an example of using cut -c with an output delimiter. From Jan Nieuwenhuizen. * coreutils.texi (The cut command): Extend the new example a little. (Formatting file timestamps): Fix typo: s/%M:S/%M:%S/. * coreutils.texi: Change each use of `Core-utils' to `Coreutils'. From Karl Berry. 2003-01-19 Jim Meyering * coreutils.texi (Which files are listed): Document new option: --dereference-command-line-symlink-to-dir. 2003-01-15 Paul Eggert Change ls -H back to the way it was yesterday, since this is compatible with FreeBSD and the POSIX spec is confusing and somewhat contradictory. * coreutils.texi (Which files are listed, General output formatting): Undo last change. 2003-01-15 Jim Meyering * coreutils.texi (General output formatting): Reflect option name change: s/--dereference-command-line/--dereference-command-line-symlink-to-dir/. Say that this option changes how ls treats only symlinks to directories specified on the command line. 2002-08-27 Dmitry V. Levin * coreutils.texi: Document readlink. 2002-12-14 Jim Meyering * coreutils.texi (mknod invocation): Specify how major and minor mode numbers are interpreted. Report forwarded by Kristin E Thomas. 2002-11-13 Jim Meyering * coreutils.texi (Examples of expr): Remove bogus `^'s. Reported by Thomas Goerlich. 2002-11-09 Jim Meyering * coreutils.texi (What information is listed) [--dired]: Correct parts of --dired description. Reported by Andre Spiegel. Include a lot more description, with examples. 2002-11-06 Jim Meyering * coreutils.texi (printf invocation): Fix typo in index: change \0x prefix to \x. Change \xhhh to \xhh. 2002-10-07 Paul Eggert Add support for locale-specific size indications (e.g., thousands-separators) and for explicit size suffixes on output. * coreutils.texi (Block size): Say that: This affects display format as well as block size. Fractional block counts are rounded up. ls file size blocksize defaults to 1. A block size spec preceded by ' generates thousands separators. A suffix without a preceding integer generates suffixes. (tail invocation): 32k -> 32 KiB. (What information is listed): ls -h is now equivalent to ls --block-size=human, and ls -H is now equivalent to ls --block-size=si. Displayed file size is now always affected by --block-size. 2002-09-13 Jim Meyering * coreutils.texi (tail invocation): In --sleep-interval=NUMBER, NUMBER may now be a floating point number. (stat invocation): Remove references to now-removed %S and %C. (Time directives) [%S]: Explain why the range is [0..60]. 2002-08-30 Jim Meyering * coreutils.texi [START-INFO-DIR-ENTRY]: Don't use sc{} on LHS. Fix typo: s/permission/permissions/. From Michail Litvak. 2002-08-02 Paul Eggert * coreutils.texi (uniq invocation): uniq now obeys LC_COLLATE. 2002-07-29 Paul Eggert * coreutils.texi (nohup invocation): Change behavior to conform to POSIX 1003.1-2001: - Do not adjust scheduling priority. - Redirects stderr to stdout, if stderr is not a terminal. - Exit status is now 126 if command was found but not invoked, 127 if nohup failed or if command was not found. 2002-07-24 Jim Meyering * coreutils.texi (Time directives): Document %P, %R, %e, %F, %g, %G, and %V 2002-07-22 Martin Michlmayr * coreutils.texi (Formatting the file names): Document that -N/--literal are equivalent to --quoting-style=literal. Reported by Oskar Liljeblad as Debian bug#103612. 2002-07-10 Jim Meyering * coreutils.texi (du invocation): s/PAT/PATTERN/. From Martin Michlmayr. 2002-07-08 Jim Meyering * coreutils.texi (cp invocation): Remove unnecessary "$@" in example; Texinfo would render the @" as an umlaut over the following character. From Paul Eggert. * Makefile.am (check-texinfo): Check for the above. 2002-07-06 Jim Meyering * coreutils.texi (stat invocation): Remove description of --secure. 2002-07-03 Jim Meyering * coreutils.texi (stat invocation): Rename --link/-l to --dereference/-L. Rewrite description of --dereference. 2002-06-26 Paul Eggert * coreutils.texi (Putting the tools together): Don't mention egrep, since it's not part of POSIX 1003.1-2001. 2002-06-21 Jim Meyering * coreutils.texi (stat invocation): New section. From Michael Meskes. 2002-05-19 Paul Eggert * coreutils.texi (ls invocation): Document new option: --author. 2002-06-03 Jim Meyering * coreutils.texi (rm invocation): Add the warning (also in the --help output) that the contents of a removed file are often recoverable. 2002-05-27 Jim Meyering * Makefile.am (check-texinfo): Adapt to reflect that now we use @acronym{POSIX}. 2002-05-26 Jim Meyering * coreutils.texi: Use @acronym in place of most uses of @sc. * getdate.texi (Date input formats): Likewise. 2002-04-28 Jim Meyering * coreutils.texi: Change `@code{PROG}' to `@command{PROG}'. 2002-04-28 Paul Eggert * coreutils.texi (kill invocation): Document the above. Document POSIX signals better. 2002-04-15 Jim Meyering * coreutils.texi: Document kill. Written by Marcus Brinkmann. 2002-04-13 Jim Meyering * coreutils.texi: Document link and unlink. 2002-04-08 Jim Meyering * coreutils.texi: Use new directives, @copying and @insertcopying, thus now requiring texinfo-4.2 to create the .info file. 2002-02-26 Paul Eggert * coreutils.texi (File characteristic tests): Document the behavior of test -nt and -ot when one of the files does not exist, using the same behavior that is documented in ksh93. 2002-03-05 Paul Eggert * coreutils.texi (cut invocation): Say that selected input is written in the same order that it is read, and is written exactly once. 2002-03-03 Paul Eggert Make cp -r equivalent to cp -R. Add a new cp option --copy-contents for people who want to emulate the traditional (and rarely desirable) cp -r behavior. * coreutils.texi (cp invocation): Document this. Fix some related minor bugs: --no-dereference is no longer equivalent to -d, and --archive (-a) can override the other symlink options. Warn that cp -R is not portable on symbolic links unless you also specify -P. 2002-03-02 Jim Meyering * coreutils.texi (cp invocation): Document that cp -r preserves symlinks. Emphasize non-portability of cp -r. 2002-02-27 Paul Eggert * coreutils.texi (Time directives): Add %N for nanoseconds. This documents the recent change to 'ls'. 2002-02-28 Jim Meyering * coreutils.texi (pr invocation): Reword to avoid using `:' in an @opindex entry -- info doesn't permit it. 2002-02-27 Paul Eggert * coreutils.texi (Formatting file timestamps): Document new time-formatting method: --time-style=+FORMAT. 2002-02-18 Paul Eggert * coreutils.texi (seq invocation): In the example, use "tail -n 3", not "tail -3", to conform to POSIX 1003.1-2001. 2002-02-17 Jim Meyering * coreutils.texi (tsort background): New section. From Ian Lance Taylor. (tsort invocation): Add a more realistic example. 2002-02-15 Paul Eggert * coreutils.texi: Document _POSIX2_VERSION. (Standards Conformance): New section. 2002-01-24 Jim Meyering * coreutils.texi (START-INFO-DIR-ENTRY): Remove a few entries and clean up a few others based on suggestions from Bob Proulx. 2002-02-14 Paul Eggert Add support for POSIX 1003.1-2001, which requires removal for support of obsolete "+" option syntax in sort, tail, and uniq. * coreutils.texi: Document this. (Also, document a similar change to "touch", for fileutils). 2002-01-12 Jim Meyering * coreutils.texi (shred invocation): List some journaled filesystems. 2001-11-10 Jim Meyering * coreutils.texi (Date directives): Document %u. 2001-11-07 Paul Eggert * coreutils.texi (paste invocation): Give examples. Thanks to Dan Jacobson for suggesting the examples. 2001-11-05 Jim Meyering * coreutils.texi (sort invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C. Explain how the latter can cause problems. Based on a message from Paul Eggert. (ls invocation): Recommend setting LC_ALL=C, not LC_COLLATE=C. 2001-10-21 Jim Meyering * coreutils.texi (cp invocation): Describe --reply=... 2001-10-17 Jim Meyering * coreutils.texi (cp invocation): `cp --no-dereference' is no longer equivalent to `cp -d'. `cp -d' is equivalent to `--no-dereference --preserve=links'. cp's -P option means --no-dereference, not --parents. Describe new optional argument to --preserve. Describe new option: --no-preserve=ATTRIBUTE_LIST. 2001-09-23 Jim Meyering * Makefile.am (check-texinfo): Redirect stderr of `grep -w' to /dev/null, so people with old versions of grep don't see the failure. 2001-09-16 Jim Meyering * coreutils.texi (mv invocation): Describe new option: --reply={yes,no,query}. Fix a few typos. 2001-09-15 Paul Eggert * coreutils.texi (uniq invocation): The input need not be sorted. Try to clarify -d versus -D versus -u. 2001-09-12 Jim Meyering * coreutils.texi (tail invocation): Document new option: -F. From Herbert Xu. 2001-09-04 Paul Eggert * coreutils.texi (join invocation): Describe the GNU extension to join, which does not require sorted input when the input contains no unpairable lines. 2001-09-03 Paul Eggert * coreutils.texi: New 'uname' options -i or --hardware-platform, and -o or --operating-system. 'uname -a' now outputs -i and -o information at the end. New uname option --kernel-version is an alias for -v. Uname option --release has been renamed to --kernel-release, and --sysname has been renamed to --kernel-name; the old options will work for a while, but are no longer documented. 2001-08-24 Herbert Xu * coreutils.texi (cut invocation): Document how cut treats lines with no separators. 2001-06-19 Paul Eggert * coreutils.texi: expr now uses LC_COLLATE for string comparison, as per POSIX. 2001-08-25 Jim Meyering * coreutils.texi: Use @option, rather than @samp everywhere. 2001-06-21 Paul Eggert * coreutils.texi: 'expr' now requires '+' rather than 'quote' to quote tokens. 2001-07-14 Jim Meyering * coreutils.texi (cp invocation): Reflect 2001-07-08 change to cp (via copy.c). 2001-06-16 Jim Meyering * Makefile.am (info_TEXINFOS): Reflect renaming: s/omni-/core/. * coreutils.texi: Likewise. * coreutils.texi: New, renamed from omni-utils.texi. * omni-utils.texi: Removed, renamed to coreutils.texi. * omni-utils.texi (ls invocation): Mention the effect of locale. Reported by Keith Thompson. 2001-05-24 Jim Meyering * texinfo.tex: Update from master source. * omni-utils.texi (ls invocation): Document more clearly what ls does when given no arguments. 2001-05-21 Jim Meyering * textutils.texi: Remove file. * Makefile.am ($(DVIS), $(INFO_DEPS)): Depend on $(EXTRA_DIST). (DISABLED_constants.texi): New rule -- disabled for now. This directory is now shared by fileutils, textutils, and sh-utils. ----- Copyright (C) 2001-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/doc/stamp-vti0000664000000000000000000000014312107204475012762 00000000000000@set UPDATED 11 February 2013 @set UPDATED-MONTH February 2013 @set EDITION 8.21 @set VERSION 8.21 coreutils-8.21/doc/fdl.texi0000664000000000000000000005560711777552746012615 00000000000000@c The GNU Free Documentation License. @center Version 1.3, 3 November 2008 @c This file is intended to be included within another document, @c hence no sectioning command or @node. @display Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @end display @enumerate 0 @item PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document @dfn{free} in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. @item APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The ``Document'', below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ``you''. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A ``Secondary Section'' is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, La@TeX{} input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The ``publisher'' means any person or entity that distributes copies of the Document to the public. A section ``Entitled XYZ'' means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as ``Acknowledgements'', ``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' of such a section when you modify the Document means that it remains a section ``Entitled XYZ'' according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. @item VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. @item COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. @item MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: @enumerate A @item Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. @item List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. @item State on the Title page the name of the publisher of the Modified Version, as the publisher. @item Preserve all the copyright notices of the Document. @item Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. @item Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. @item Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. @item Include an unaltered copy of this License. @item Preserve the section Entitled ``History'', Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled ``History'' in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @item Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the ``History'' section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. @item For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. @item Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. @item Delete any section Entitled ``Endorsements''. Such a section may not be included in the Modified Version. @item Do not retitle any existing section to be Entitled ``Endorsements'' or to conflict in title with any Invariant Section. @item Preserve any Warranty Disclaimers. @end enumerate If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various parties---for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. @item COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled ``History'' in the various original documents, forming one section Entitled ``History''; likewise combine any sections Entitled ``Acknowledgements'', and any sections Entitled ``Dedications''. You must delete all sections Entitled ``Endorsements.'' @item COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. @item AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an ``aggregate'' if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. @item TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled ``Acknowledgements'', ``Dedications'', or ``History'', the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. @item TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. @item FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See @uref{http://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ``or any later version'' applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. @item RELICENSING ``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A ``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the site means any set of copyrightable works thus published on the MMC site. ``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. ``Incorporate'' means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is ``eligible for relicensing'' if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. @end enumerate @page @heading ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: @smallexample @group Copyright (C) @var{year} @var{your name}. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end group @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the ``with@dots{}Texts.''@: line with this: @smallexample @group with the Invariant Sections being @var{list their titles}, with the Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. @end group @end smallexample If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: coreutils-8.21/doc/constants.texi0000664000000000000000000000011712107176117014024 00000000000000@set DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS 5 @set SHRED_DEFAULT_PASSES 3 coreutils-8.21/man/0000775000000000000000000000000012107207524011201 500000000000000coreutils-8.21/man/hostid.x0000664000000000000000000000022112050450171012572 00000000000000[NAME] hostid \- print the numeric identifier for the current host [DESCRIPTION] .\" Add any additional description here [SEE ALSO] gethostid(3) coreutils-8.21/man/timeout.x0000664000000000000000000000027512050450171012777 00000000000000[NAME] timeout \- run a command with a time limit [DESCRIPTION] .\" Add any additional description here [SEE ALSO] kill(1) [BUGS] Some platforms don't curently support timeouts beyond 2038 coreutils-8.21/man/rmdir.x0000664000000000000000000000016311624727241012435 00000000000000[NAME] rmdir \- remove empty directories [DESCRIPTION] .\" Add any additional description here [SEE ALSO] rmdir(2) coreutils-8.21/man/od.x0000664000000000000000000000035212102337340011707 00000000000000[NAME] od \- dump files in octal and other formats [DESCRIPTION] .\" Add any additional description here [EXAMPLES] .TP .B od -A x -t x1z -v Display hexdump format output .TP .B od -A o -t oS -w16 The default output format used by od coreutils-8.21/man/numfmt.x0000664000000000000000000000016612104210261012610 00000000000000[NAME] numfmt \- Convert numbers from/to human-readable strings [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/chroot.x0000664000000000000000000000023111624727241012612 00000000000000[NAME] chroot \- run command or interactive shell with special root directory [DESCRIPTION] .\" Add any additional description here [SEE ALSO] chroot(2) coreutils-8.21/man/date.x0000664000000000000000000000122111760630450012225 00000000000000[NAME] date \- print or set the system date and time [DESCRIPTION] .\" Add any additional description here [DATE STRING] .\" NOTE: keep this paragraph in sync with the one in touch.x The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation. coreutils-8.21/man/vdir.x0000664000000000000000000000013511624727241012263 00000000000000[NAME] vdir \- list directory contents [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sum.x0000664000000000000000000000015411624727241012124 00000000000000[NAME] sum \- checksum and count the blocks in a file [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sha1sum.x0000664000000000000000000000015611624727241012703 00000000000000[NAME] sha1sum \- compute and check SHA1 message digest [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/tr.x0000664000000000000000000000014211624727241011742 00000000000000[NAME] tr \- translate or delete characters [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/tac.x0000664000000000000000000000020312050450171012047 00000000000000[NAME] tac \- concatenate and print files in reverse [DESCRIPTION] .\" Add any additional description here [SEE ALSO] \fBrev\fP(1) coreutils-8.21/man/comm.x0000664000000000000000000000020711760630450012246 00000000000000[NAME] comm \- compare two sorted files line by line [DESCRIPTION] .\" Add any additional description here [SEE ALSO] join(1), uniq(1) coreutils-8.21/man/md5sum.x0000664000000000000000000000047411760630450012533 00000000000000[NAME] md5sum \- compute and check MD5 message digest [DESCRIPTION] .\" Add any additional description here [BUGS] The MD5 algorithm should not be used any more for security related purposes. Instead, better use an SHA\-2 algorithm, implemented in the programs sha224sum(1), sha256sum(1), sha384sum(1), sha512sum(1) coreutils-8.21/man/install.x0000664000000000000000000000014611624727241012767 00000000000000[NAME] install \- copy files and set attributes [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/csplit.x0000664000000000000000000000017611624727241012622 00000000000000[NAME] csplit \- split a file into sections determined by context lines [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/df.x0000664000000000000000000000225412102337340011701 00000000000000'\" Copyright (C) 1998-2013 Free Software Foundation, Inc. '\" '\" This is free software. You may redistribute copies of it under the terms '\" of the GNU General Public License . '\" There is NO WARRANTY, to the extent permitted by law. [NAME] df \- report file system disk space usage [DESCRIPTION] This manual page documents the GNU version of .BR df . .B df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used. .PP If an argument is the absolute file name of a disk device node containing a mounted file system, .B df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). This version of .B df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures. .SH OPTIONS coreutils-8.21/man/pwd.x0000664000000000000000000000020111624727241012103 00000000000000[NAME] pwd \- print name of current/working directory [DESCRIPTION] .\" Add any additional description here [SEE ALSO] getcwd(3) coreutils-8.21/man/basename.x0000664000000000000000000000022611624727241013073 00000000000000[NAME] basename \- strip directory and suffix from filenames [DESCRIPTION] .\" Add any additional description here [SEE ALSO] dirname(1), readlink(1) coreutils-8.21/man/stty.x0000664000000000000000000000015511624727241012324 00000000000000[NAME] stty \- change and print terminal line settings [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/kill.x0000664000000000000000000000020311624727241012246 00000000000000[NAME] kill \- send signals to processes, or list signals [DESCRIPTION] .\" Add any additional description here [SEE ALSO] kill(2) coreutils-8.21/man/dir.x0000664000000000000000000000013411624727241012074 00000000000000[NAME] dir \- list directory contents [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/dircolors.x0000664000000000000000000000013511624727241013317 00000000000000[NAME] dircolors \- color setup for ls [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/mkfifo.x0000664000000000000000000000016511624727241012575 00000000000000[NAME] mkfifo \- make FIFOs (named pipes) [DESCRIPTION] .\" Add any additional description here [SEE ALSO] mkfifo(3) coreutils-8.21/man/tail.x0000664000000000000000000000014311624727241012247 00000000000000[NAME] tail \- output the last part of files [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sleep.x0000664000000000000000000000017711624727241012435 00000000000000[NAME] sleep \- delay for a specified amount of time [DESCRIPTION] .\" Add any additional description here [SEE ALSO] sleep(3) coreutils-8.21/man/pathchk.x0000664000000000000000000000016711624727241012746 00000000000000[NAME] pathchk \- check whether file names are valid or portable [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/cat.x0000664000000000000000000000021712050450171012054 00000000000000[NAME] cat \- concatenate files and print on the standard output [DESCRIPTION] .\" Add any additional description here [SEE ALSO] \fBtac\fP(1) coreutils-8.21/man/du.x0000664000000000000000000000142112102337340011713 00000000000000'\" Copyright (C) 1998-2013 Free Software Foundation, Inc. '\" '\" This is free software. You may redistribute copies of it under the terms '\" of the GNU General Public License . '\" There is NO WARRANTY, to the extent permitted by law. [NAME] du \- estimate file space usage [DESCRIPTION] .\" Add any additional description here [PATTERNS] PATTERN is a shell pattern (not a regular expression). The pattern .BR ? matches any one character, whereas .BR * matches any string (composed of zero, one or multiple characters). For example, .BR *.o will match any files whose names end in .BR .o . Therefore, the command .IP .B du --exclude=\(aq*.o\(aq .PP will skip all files and subdirectories ending in .BR .o (including the file .BR .o itself). coreutils-8.21/man/chmod.x0000664000000000000000000001102312102337340012374 00000000000000'\" Copyright (C) 1998-2013 Free Software Foundation, Inc. '\" '\" This is free software. You may redistribute copies of it under the terms '\" of the GNU General Public License . '\" There is NO WARRANTY, to the extent permitted by law. [NAME] chmod \- change file mode bits [DESCRIPTION] This manual page documents the GNU version of .BR chmod . .B chmod changes the file mode bits of each given file according to .IR mode , which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits. .PP The format of a symbolic mode is [\c \fBugoa\fP.\|.\|.][[\fB+-=\fP][\fIperms\fP.\|.\|.].\|.\|.], where .I "perms" is either zero or more letters from the set \fBrwxXst\fP, or a single letter from the set \fBugo\fP. Multiple symbolic modes can be given, separated by commas. .PP A combination of the letters \fBugoa\fP controls which users' access to the file will be changed: the user who owns it (\fBu\fP), other users in the file's group (\fBg\fP), other users not in the file's group (\fBo\fP), or all users (\fBa\fP). If none of these are given, the effect is as if \fBa\fP were given, but bits that are set in the umask are not affected. .PP The operator \fB+\fP causes the selected file mode bits to be added to the existing file mode bits of each file; \fB-\fP causes them to be removed; and \fB=\fP causes them to be added and causes unmentioned bits to be removed except that a directory's unmentioned set user and group ID bits are not affected. .PP The letters \fBrwxXst\fP select file mode bits for the affected users: read (\fBr\fP), write (\fBw\fP), execute (or search for directories) (\fBx\fP), execute/search only if the file is a directory or already has execute permission for some user (\fBX\fP), set user or group ID on execution (\fBs\fP), restricted deletion flag or sticky bit (\fBt\fP). Instead of one or more of these letters, you can specify exactly one of the letters \fBugo\fP: the permissions granted to the user who owns the file (\fBu\fP), the permissions granted to other users who are members of the file's group (\fBg\fP), and the permissions granted to users that are in neither of the two preceding categories (\fBo\fP). .PP A numeric mode is from one to four octal digits (0\-7), derived by adding up the bits with values 4, 2, and 1. Omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4) and set group ID (2) and restricted deletion or sticky (1) attributes. The second digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values. .PP .B chmod never changes the permissions of symbolic links; the .B chmod system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, .B chmod changes the permissions of the pointed-to file. In contrast, .B chmod ignores symbolic links encountered during recursive directory traversals. .SH "SETUID AND SETGID BITS" .B chmod clears the set-group-ID bit of a regular file if the file's group ID does not match the user's effective group ID or one of the user's supplementary group IDs, unless the user has appropriate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of .I MODE or .I RFILE to be ignored. This behavior depends on the policy and functionality of the underlying .B chmod system call. When in doubt, check the underlying system behavior. .PP .B chmod preserves a directory's set-user-ID and set-group-ID bits unless you explicitly specify otherwise. You can set or clear the bits with symbolic modes like .B u+s and .BR g\-s , and you can set (but not clear) the bits with a numeric mode. .SH "RESTRICTED DELETION FLAG OR STICKY BIT" The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the .I "restricted deletion flag" for the directory, and is commonly found on world-writable directories like \fB/tmp\fP. For regular files on some older systems, the bit saves the program's text image on the swap device so it will load more quickly when run; this is called the .IR "sticky bit" . .SH OPTIONS [SEE ALSO] chmod(2) coreutils-8.21/man/chgrp.x0000664000000000000000000000013511624727241012422 00000000000000[NAME] chgrp \- change group ownership [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/cp.x0000664000000000000000000000013611624727241011722 00000000000000[NAME] cp \- copy files and directories [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/chcon.x0000664000000000000000000000014311624727241012410 00000000000000[NAME] chcon \- change file security context [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/split.x0000664000000000000000000000013711624727241012454 00000000000000[NAME] split \- split a file into pieces [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/users.x0000664000000000000000000000021411624727241012456 00000000000000[NAME] users \- print the user names of users currently logged in to the current host [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/test.x0000664000000000000000000000015111624727241012274 00000000000000[NAME] test \- check file types and compare values [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/ln.x0000664000000000000000000000017311624727241011732 00000000000000[NAME] ln \- make links between files [DESCRIPTION] .\" Add any additional description here [SEE ALSO] link(2), symlink(2) coreutils-8.21/man/ls.x0000664000000000000000000000013311624727241011733 00000000000000[NAME] ls \- list directory contents [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/who.x0000664000000000000000000000013211624727241012111 00000000000000[NAME] who \- show who is logged on [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/head.x0000664000000000000000000000014411624727241012220 00000000000000[NAME] head \- output the first part of files [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/uname.x0000664000000000000000000000017411624727241012427 00000000000000[NAME] uname \- print system information [DESCRIPTION] .\" Add any additional description here [SEE ALSO] arch(1), uname(2) coreutils-8.21/man/seq.x0000664000000000000000000000014011624727241012103 00000000000000[NAME] seq \- print a sequence of numbers [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/readlink.x0000664000000000000000000000026012100644007013073 00000000000000[NAME] readlink \- print resolved symbolic links or canonical file names [DESCRIPTION] .\" Add any additional description here [SEE ALSO] readlink(2), realpath(1), realpath(3) coreutils-8.21/man/arch.x0000664000000000000000000000022211624727241012231 00000000000000[NAME] arch \- print machine hardware name (same as uname -m) [DESCRIPTION] .\" Add any additional description here [SEE ALSO] uname(1), uname(2) coreutils-8.21/man/printenv.x0000664000000000000000000000015211624727241013163 00000000000000[NAME] printenv \- print all or part of environment [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/dd.x0000664000000000000000000000013311624727241011704 00000000000000[NAME] dd \- convert and copy a file [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sha384sum.x0000664000000000000000000000016211624727241013056 00000000000000[NAME] sha384sum \- compute and check SHA384 message digest [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sha256sum.x0000664000000000000000000000016211624727241013054 00000000000000[NAME] sha256sum \- compute and check SHA256 message digest [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/nohup.x0000664000000000000000000000020011624727241012441 00000000000000[NAME] nohup \- run a command immune to hangups, with output to a non-tty [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/tsort.x0000664000000000000000000000013711624727241012474 00000000000000[NAME] tsort \- perform topological sort [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sha224sum.x0000664000000000000000000000016211624727241013047 00000000000000[NAME] sha224sum \- compute and check SHA224 message digest [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/tee.x0000664000000000000000000000020411624727241012071 00000000000000[NAME] tee \- read from standard input and write to standard output and files [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/base64.x0000664000000000000000000000017611624727241012410 00000000000000[NAME] base64 \- base64 encode/decode data and print to standard output [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/mktemp.x0000664000000000000000000000023111624727241012611 00000000000000[NAME] mktemp \- create a temporary file or directory [DESCRIPTION] .\" Add any additional description here [SEE ALSO] mkstemp(3), mkdtemp(3), mktemp(3) coreutils-8.21/man/expand.x0000664000000000000000000000016511624727241012601 00000000000000[NAME] expand \- convert tabs to spaces [DESCRIPTION] .\" Add any additional description here [SEE ALSO] unexpand(1) coreutils-8.21/man/local.mk0000664000000000000000000001365012104210261012536 00000000000000# Make coreutils man pages. -*-Makefile-*- # This is included by the top-level Makefile.am. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . EXTRA_DIST += man/help2man man/dummy-man ## Graceful degradation for systems lacking perl. if HAVE_PERL run_help2man = $(PERL) -- $(srcdir)/man/help2man else run_help2man = $(SHELL) $(srcdir)/man/dummy-man endif man1_MANS = @man1_MANS@ EXTRA_DIST += $(man1_MANS:.1=.x) EXTRA_MANS = @EXTRA_MANS@ EXTRA_DIST += $(EXTRA_MANS:.1=.x) ALL_MANS = $(man1_MANS) $(EXTRA_MANS) CLEANFILES += $(ALL_MANS) # This is required because we have subtle inter-directory dependencies: # in order to generate all man pages, even those for which we don't # install a binary, require that all programs be built at distribution # time. We can't use 'dist-hook' for this, since it would run too late: # the manpages must be generated before the distdir is created and filled. $(EXTRA_MANS): $(all_programs) # This is a kludge to remove generated 'man/*.1' from a non-srcdir build. # Without this, "make distcheck" might fail. distclean-local: test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS) # Dependencies common to all man pages. Updated below. mandeps = # Depend on this to get version number changes. mandeps += .version # This is required so that changes to e.g., emit_bug_reporting_address # provoke regeneration of all the manpages. mandeps += $(top_srcdir)/src/system.h $(ALL_MANS): $(mandeps) # Most prog.1 man pages depend on src/prog. List the exceptions: # Note that dir and vdir are exceptions only if you consider the name # of the .c file upon which they depend: ls.c. man/arch.1: src/uname man/dir.1: src/dir man/install.1: src/ginstall man/vdir.1: src/vdir man/base64.1: src/base64 man/basename.1: src/basename man/cat.1: src/cat man/chcon.1: src/chcon man/chgrp.1: src/chgrp man/chmod.1: src/chmod man/chown.1: src/chown man/chroot.1: src/chroot man/cksum.1: src/cksum man/comm.1: src/comm man/cp.1: src/cp man/csplit.1: src/csplit man/cut.1: src/cut man/date.1: src/date man/dd.1: src/dd man/df.1: src/df man/dircolors.1: src/dircolors man/dirname.1: src/dirname man/du.1: src/du man/echo.1: src/echo man/env.1: src/env man/expand.1: src/expand man/expr.1: src/expr man/factor.1: src/factor man/false.1: src/false man/fmt.1: src/fmt man/fold.1: src/fold man/groups.1: src/groups man/head.1: src/head man/hostid.1: src/hostid man/hostname.1: src/hostname man/id.1: src/id man/join.1: src/join man/kill.1: src/kill man/link.1: src/link man/ln.1: src/ln man/logname.1: src/logname man/ls.1: src/ls man/md5sum.1: src/md5sum man/mkdir.1: src/mkdir man/mkfifo.1: src/mkfifo man/mknod.1: src/mknod man/mktemp.1: src/mktemp man/mv.1: src/mv man/nice.1: src/nice man/nl.1: src/nl man/nohup.1: src/nohup man/nproc.1: src/nproc man/numfmt.1: src/numfmt man/od.1: src/od man/paste.1: src/paste man/pathchk.1: src/pathchk man/pinky.1: src/pinky man/pr.1: src/pr man/printenv.1: src/printenv man/printf.1: src/printf man/ptx.1: src/ptx man/pwd.1: src/pwd man/readlink.1: src/readlink man/realpath.1: src/realpath man/rm.1: src/rm man/rmdir.1: src/rmdir man/runcon.1: src/runcon man/seq.1: src/seq man/sha1sum.1: src/md5sum man/sha224sum.1: src/md5sum man/sha256sum.1: src/md5sum man/sha384sum.1: src/md5sum man/sha512sum.1: src/md5sum man/shred.1: src/shred man/shuf.1: src/shuf man/sleep.1: src/sleep man/sort.1: src/sort man/split.1: src/split man/stat.1: src/stat man/stdbuf.1: src/stdbuf man/stty.1: src/stty man/sum.1: src/sum man/sync.1: src/sync man/tac.1: src/tac man/tail.1: src/tail man/tee.1: src/tee man/test.1: src/test man/timeout.1: src/timeout man/touch.1: src/touch man/tr.1: src/tr man/true.1: src/true man/truncate.1: src/truncate man/tsort.1: src/tsort man/tty.1: src/tty man/uname.1: src/uname man/unexpand.1: src/unexpand man/uniq.1: src/uniq man/unlink.1: src/unlink man/uptime.1: src/uptime man/users.1: src/users man/wc.1: src/wc man/who.1: src/who man/whoami.1: src/whoami man/yes.1: src/yes .x.1: $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \ ## Ensure that help2man runs the 'src/ginstall' binary as 'install' when ## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary ## to create 'test.1'. case $$name in \ install) prog='ginstall';; \ test) prog='[';; \ *) prog=$$name;; \ esac; \ ## Note the use of $$t/$*, rather than just '$*' as in other packages. ## That is necessary to avoid failures for programs that are also shell ## built-in functions like echo, false, printf, pwd. rm -f $@ $@-t \ && t=$*.td \ && rm -rf $$t \ && $(MKDIR_P) $$t \ && (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog $$name) \ && $(run_help2man) \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/man/$$name.x \ --output=$$t/$$name.1 $$t/$$name \ && sed 's|$*\.td/||g' $$t/$$name.1 > $@-t \ && rm -rf $$t \ && chmod -w $@-t \ && mv $@-t $@ coreutils-8.21/man/printf.x0000664000000000000000000000016211760630450012615 00000000000000[NAME] printf \- format and print data [DESCRIPTION] .\" Add any additional description here [SEE ALSO] printf(3) coreutils-8.21/man/fold.x0000664000000000000000000000016411624727241012245 00000000000000[NAME] fold \- wrap each input line to fit in specified width [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/wc.x0000664000000000000000000000016611624727241011734 00000000000000[NAME] wc \- print newline, word, and byte counts for each file [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/uniq.x0000664000000000000000000000021012050450171012252 00000000000000[NAME] uniq \- report or omit repeated lines [DESCRIPTION] .\" Add any additional description here [SEE ALSO] comm(1), join(1), sort(1) coreutils-8.21/man/chown.x0000664000000000000000000000231612102337340012425 00000000000000'\" Copyright (C) 1998-2013 Free Software Foundation, Inc. '\" '\" This is free software. You may redistribute copies of it under the terms '\" of the GNU General Public License . '\" There is NO WARRANTY, to the extent permitted by law. [NAME] chown \- change file owner and group [DESCRIPTION] This manual page documents the GNU version of .BR chown . .B chown changes the user and/or group ownership of each given file. If only an owner (a user name or numeric user ID) is given, that user is made the owner of each given file, and the files' group is not changed. If the owner is followed by a colon and a group name (or numeric group ID), with no spaces between them, the group ownership of the files is changed as well. If a colon but no group name follows the user name, that user is made the owner of the files and the group of the files is changed to that user's login group. If the colon and group are given, but the owner is omitted, only the group of the files is changed; in this case, .B chown performs the same function as .BR chgrp . If only a colon is given, or if the entire operand is empty, neither the owner nor the group is changed. .SH OPTIONS [SEE ALSO] chown(2) coreutils-8.21/man/cut.x0000664000000000000000000000015411624727241012113 00000000000000[NAME] cut \- remove sections from each line of files [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/id.x0000664000000000000000000000015711760630450011713 00000000000000[NAME] id \- print real and effective user and group IDs [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/env.x0000664000000000000000000000015411624727241012110 00000000000000[NAME] env \- run a program in a modified environment [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sha512sum.x0000664000000000000000000000016211624727241013047 00000000000000[NAME] sha512sum \- compute and check SHA512 message digest [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/true.x0000664000000000000000000000013611624727241012277 00000000000000[NAME] true \- do nothing, successfully [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/stat.x0000664000000000000000000000017311624727241012274 00000000000000[NAME] stat \- display file or file system status [DESCRIPTION] .\" Add any additional description here [SEE ALSO] stat(2) coreutils-8.21/man/shred.x0000664000000000000000000000020611624727241012423 00000000000000[NAME] shred \- overwrite a file to hide its contents, and optionally delete it [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/help2man0000775000000000000000000003477612102337340012571 00000000000000#!/usr/bin/perl -w # Generate a short man page from --help and --version output. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Brendan O'Dea # Available from ftp://ftp.gnu.org/gnu/help2man/ use 5.005; use strict; use Getopt::Long; use Text::Tabs qw(expand); use POSIX qw(strftime setlocale LC_ALL); use locale; my $this_program = 'help2man'; my $this_version = '1.35'; my $have_gettext; BEGIN { eval { require Locale::gettext; Locale::gettext->import (qw(gettext textdomain)); $have_gettext = 1; }; unless ($have_gettext) { *gettext = sub { $_[0] }; *textdomain = sub {}; } } sub _ { gettext @_ } sub N_ { $_[0] } textdomain $this_program; { my ($user_locale) = grep defined && length, (map $ENV{$_}, qw(LANGUAGE LC_ALL LC_MESSAGES LANG)), 'C'; sub kark # die with message formatted in the invoking user's locale { setlocale LC_ALL, $user_locale; my $fmt = gettext shift; die +(sprintf $fmt, @_), "\n"; } } my $version_info = sprintf _(<<'EOT'), $this_program, $this_version; GNU %s %s Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Brendan O'Dea EOT my $help_info = sprintf _(<<'EOT'), $this_program, $this_program; '%s' generates a man page out of '--help' and '--version' output. Usage: %s [OPTION]... EXECUTABLE -n, --name=STRING description for the NAME paragraph -s, --section=SECTION section number for manual page (1, 6, 8) -m, --manual=TEXT name of manual (User Commands, ...) -S, --source=TEXT source of program (FSF, Debian, ...) -L, --locale=STRING select locale (default "C") -i, --include=FILE include material from 'FILE' -I, --opt-include=FILE include material from 'FILE' if it exists -o, --output=FILE send output to 'FILE' -p, --info-page=TEXT name of Texinfo manual -N, --no-info suppress pointer to Texinfo manual --help print this help, then exit --version print version number, then exit EXECUTABLE should accept '--help' and '--version' options although alternatives may be specified using: -h, --help-option=STRING help option string -v, --version-option=STRING version option string Report bugs to . EOT my $section = 1; my $manual = ''; my $source = ''; my $locale = 'C'; my $help_option = '--help'; my $version_option = '--version'; my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info); my %opt_def = ( 'n|name=s' => \$opt_name, 's|section=s' => \$section, 'm|manual=s' => \$manual, 'S|source=s' => \$source, 'L|locale=s' => \$locale, 'i|include=s' => sub { push @opt_include, [ pop, 1 ] }, 'I|opt-include=s' => sub { push @opt_include, [ pop, 0 ] }, 'o|output=s' => \$opt_output, 'p|info-page=s' => \$opt_info, 'N|no-info' => \$opt_no_info, 'h|help-option=s' => \$help_option, 'v|version-option=s' => \$version_option, ); # Parse options. Getopt::Long::config('bundling'); GetOptions (%opt_def, help => sub { print $help_info; exit }, version => sub { print $version_info; exit }, ) or die $help_info; die $help_info unless @ARGV == 1; die "$this_program: no locale support (Locale::gettext required)\n" unless $locale eq 'C' or $have_gettext; # Set localization of date and executable's output. delete @ENV{qw(LANGUAGE LC_MESSAGES LANG)}; setlocale LC_ALL, $ENV{LC_ALL} = $locale; my %include = (); my %append = (); my @include = (); # retain order given in include file # Process include file (if given). Format is: # # [section name] # verbatim text # # or # # /pattern/ # verbatim text # while (@opt_include) { my ($inc, $required) = @{shift @opt_include}; next unless -f $inc or $required; kark N_("%s: can't open '%s' (%s)"), $this_program, $inc, $! unless open INC, $inc; my $key; my $hash = \%include; while () { # [section] if (/^\[([^]]+)\]/) { $key = uc $1; $key =~ s/^\s+//; $key =~ s/\s+$//; $hash = \%include; push @include, $key unless $include{$key}; next; } # /pattern/ if (m!^/(.*)/([ims]*)!) { my $pat = $2 ? "(?$2)$1" : $1; # Check pattern. eval { $key = qr($pat) }; if ($@) { $@ =~ s/ at .*? line \d.*//; die "$inc:$.:$@"; } $hash = \%append; next; } # Check for options before the first section--anything else is # silently ignored, allowing the first for comments and # revision info. unless ($key) { # handle options if (/^-/) { local @ARGV = split; GetOptions %opt_def; } next; } $hash->{$key} ||= ''; $hash->{$key} .= $_; } close INC; kark N_("%s: no valid information found in '%s'"), $this_program, $inc unless $key; } # Compress trailing blank lines. for my $hash (\(%include, %append)) { for (keys %$hash) { $hash->{$_} =~ s/\n+$/\n/ } } # Grab help and version info from executable. my ($help_text, $version_text) = map { join '', map { s/ +$//; expand $_ } `$ARGV[0] $_ 2>/dev/null` or kark N_("%s: can't get '%s' info from %s"), $this_program, $_, $ARGV[0] } $help_option, $version_option; my $date = strftime "%B %Y", localtime; (my $program = $ARGV[0]) =~ s!.*/!!; my $package = $program; my $version; if ($opt_output) { unlink $opt_output or kark N_("%s: can't unlink %s (%s)"), $this_program, $opt_output, $! if -e $opt_output; open STDOUT, ">$opt_output" or kark N_("%s: can't create %s (%s)"), $this_program, $opt_output, $!; } # The first line of the --version information is assumed to be in one # of the following formats: # # # # {GNU,Free} # ({GNU,Free} ) # - {GNU,Free} # # and separated from any copyright/author details by a blank line. ($_, $version_text) = split /\n+/, $version_text, 2; if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or /^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/) { $program = $1; $package = $2; $version = $3; } elsif (/^((?:GNU|Free) +)?(\S+) +(.*)/) { $program = $2; $package = $1 ? "$1$2" : $2; $version = $3; } else { $version = $_; } $program =~ s!.*/!!; # No info for 'info' itself. $opt_no_info = 1 if $program eq 'info'; for ($include{_('NAME')}) { if ($opt_name) # --name overrides --include contents. { $_ = "$program \\- $opt_name\n"; } elsif ($_) # Use first name given as $program { $program = $1 if /^([^\s,]+)(?:,?\s*[^\s,\\-]+)*\s+\\?-/; } else # Set a default (useless) NAME paragraph. { $_ = sprintf _("%s \\- manual page for %s %s") . "\n", $program, $program, $version; } } # Man pages traditionally have the page title in caps. my $PROGRAM = uc $program; # Set default page head/footers $source ||= "$program $version"; unless ($manual) { for ($section) { if (/^(1[Mm]|8)/) { $manual = _('System Administration Utilities') } elsif (/^6/) { $manual = _('Games') } else { $manual = _('User Commands') } } } # Extract usage clause(s) [if any] for SYNOPSIS. my $PAT_USAGE = _('Usage'); my $PAT_USAGE_CONT = _('or'); if ($help_text =~ s/^($PAT_USAGE): ([ ]+(\S+)) (.*) ((?:\n(?:[ ]{6}\1|[ ]*($PAT_USAGE_CONT):[ ]+\S).*)*)//omx) { my @syn = $3 . $4; if ($_ = $5) { s/^\n//; for (split /\n/) { s/^ *(($PAT_USAGE_CONT): +)?//o; push @syn, $_ } } my $synopsis = ''; for (@syn) { $synopsis .= ".br\n" if $synopsis; s!^\S*/!!; s/^(\S+) *//; $synopsis .= ".B $1\n"; s/\s+$//; s/(([][]|\.\.+)+)/\\fR$1\\fI/g; s/^/\\fI/ unless s/^\\fR//; $_ .= '\fR'; s/(\\fI)( *)/$2$1/g; s/\\fI\\fR//g; s/^\\fR//; s/\\fI$//; s/^\./\\&./; $synopsis .= "$_\n"; } $include{_('SYNOPSIS')} ||= $synopsis; } # Process text, initial section is DESCRIPTION. my $sect = _('DESCRIPTION'); $_ = "$help_text\n\n$version_text"; # Normalise paragraph breaks. s/^\n+//; s/\n*$/\n/; s/\n\n+/\n\n/g; # Join hyphenated lines. s/([A-Za-z])-\n *([A-Za-z])/$1$2/g; # Temporarily exchange leading dots, apostrophes and backslashes for # tokens. s/^\./\x80/mg; s/^'/\x81/mg; s/\\/\x82/g; my $PAT_BUGS = _('Report +(?:\w+ +)?bugs|Email +bug +reports +to'); my $PAT_AUTHOR = _('Written +by'); my $PAT_OPTIONS = _('Options'); my $PAT_EXAMPLES = _('Examples'); my $PAT_FREE_SOFTWARE = _('This +is +free +software'); my $PAT_INFO = _('For +complete +documentation'); # Start a new paragraph (if required) for these. s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR)/$1\n\n$2/og; sub convert_option; while (length) { # Convert some standard paragraph names. if (s/^($PAT_OPTIONS): *\n//o) { $sect = _('OPTIONS'); next; } elsif (s/^($PAT_EXAMPLES): *\n//o) { $sect = _('EXAMPLES'); next; } # Skip any texinfo reference as that's handled separately if (s/($PAT_INFO).*\n//o) { next; } # Copyright section if (/^Copyright +[(\xa9]/) { $sect = _('COPYRIGHT'); $include{$sect} ||= ''; $include{$sect} .= ".PP\n" if $include{$sect}; my $copy; ($copy, $_) = split /\n\n/, $_, 2; for ($copy) { # Add back newline s/\n*$/\n/; # Convert iso9959-1 copyright symbol or (c) to nroff # character. s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg; # Insert line breaks before additional copyright messages # and the disclaimer. s/(.)\n(Copyright |$PAT_FREE_SOFTWARE)/$1\n.br\n$2/og; } $include{$sect} .= $copy; $_ ||= ''; next; } # Catch bug report text. if (/^($PAT_BUGS) /o) { $sect = _('REPORTING BUGS'); } # Author section. elsif (/^($PAT_AUTHOR)/o) { $sect = _('AUTHOR'); } # Examples, indicated by an indented leading $, % or > are # rendered in a constant width font. if (/^( +)([\$\%>] )\S/) { my $indent = $1; my $prefix = $2; my $break = '.IP'; $include{$sect} ||= ''; while (s/^$indent\Q$prefix\E(\S.*)\n*//) { $include{$sect} .= "$break\n\\f(CW$prefix$1\\fR\n"; $break = '.br'; } next; } my $matched = ''; $include{$sect} ||= ''; # Sub-sections have a trailing colon and the second line indented. if (s/^(\S.*:) *\n / /) { $matched .= $& if %append; $include{$sect} .= qq(.SS "$1"\n); } my $indent = 0; my $content = ''; # Option with description. if (s/^( {1,10}([+-]\S.*?))(?:( +(?!-))|\n( {20,}))(\S.*)\n//) { $matched .= $& if %append; $indent = length ($4 || "$1$3"); $content = ".TP\n\x84$2\n\x84$5\n"; unless ($4) { # Indent may be different on second line. $indent = length $& if /^ {20,}/; } } # Option without description. elsif (s/^ {1,10}([+-]\S.*)\n//) { $matched .= $& if %append; $content = ".HP\n\x84$1\n"; $indent = 80; # not continued } # Indented paragraph with tag. elsif (s/^( +(\S.*?) +)(\S.*)\n//) { $matched .= $& if %append; $indent = length $1; $content = ".TP\n\x84$2\n\x84$3\n"; } # Indented paragraph. elsif (s/^( +)(\S.*)\n//) { $matched .= $& if %append; $indent = length $1; $content = ".IP\n\x84$2\n"; } # Left justified paragraph. else { s/(.*)\n//; $matched .= $& if %append; $content = ".PP\n" if $include{$sect}; $content .= "$1\n"; } # Append continuations. while ($indent ? s/^ {$indent}(\S.*)\n// : s/^(\S.*)\n//) { $matched .= $& if %append; $content .= "\x84$1\n" } # Move to next paragraph. s/^\n+//; for ($content) { # Leading dot and apostrophe protection. s/\x84\./\x80/g; s/\x84'/\x81/g; s/\x84//g; # Convert options. s/(^| |\()(-[][\w=-]+)/$1 . convert_option $2/mge; # Escape remaining hyphens s/-/\x83/g; } # Check if matched paragraph contains /pat/. if (%append) { for my $pat (keys %append) { if ($matched =~ $pat) { $content .= ".PP\n" unless $append{$pat} =~ /^\./; $content .= $append{$pat}; } } } $include{$sect} .= $content; } # Refer to the real documentation. unless ($opt_no_info) { my $info_page = $opt_info || $program; $sect = _('SEE ALSO'); $include{$sect} ||= ''; $include{$sect} .= ".PP\n" if $include{$sect}; $include{$sect} .= sprintf _(<<'EOT'), $program, $program, $info_page; The full documentation for .B %s is maintained as a Texinfo manual. If the .B info and .B %s programs are properly installed at your site, the command .IP .B info coreutils \(aq%s invocation\(aq .PP should give you access to the complete manual. EOT } # Output header. print <. '\" There is NO WARRANTY, to the extent permitted by law. [NAME] rm \- remove files or directories [DESCRIPTION] This manual page documents the GNU version of .BR rm . .B rm removes each specified file. By default, it does not remove directories. .P If the \fI\-I\fR or \fI\-\-interactive\=once\fR option is given, and there are more than three files or the \fI\-r\fR, \fI\-R\fR, or \fI\-\-recursive\fR are given, then .B rm prompts the user for whether to proceed with the entire operation. If the response is not affirmative, the entire command is aborted. .P Otherwise, if a file is unwritable, standard input is a terminal, and the \fI\-f\fR or \fI\-\-force\fR option is not given, or the \fI\-i\fR or \fI\-\-interactive\=always\fR option is given, .B rm prompts the user for whether to remove the file. If the response is not affirmative, the file is skipped. .SH OPTIONS [SEE ALSO] unlink(1), unlink(2), chattr(1), shred(1) coreutils-8.21/man/dirname.x0000664000000000000000000000022011760630450012725 00000000000000[NAME] dirname \- strip last component from file name [DESCRIPTION] .\" Add any additional description here [SEE ALSO] basename(1), readlink(1) coreutils-8.21/man/pinky.x0000664000000000000000000000013111624727241012445 00000000000000[NAME] pinky \- lightweight finger [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/sync.x0000664000000000000000000000016211624727241012273 00000000000000[NAME] sync \- flush file system buffers [DESCRIPTION] .\" Add any additional description here [SEE ALSO] sync(2) coreutils-8.21/man/pr.x0000664000000000000000000000014311624727241011737 00000000000000[NAME] pr \- convert text files for printing [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/join.x0000664000000000000000000000021311760630450012247 00000000000000[NAME] join \- join lines of two files on a common field [DESCRIPTION] .\" Add any additional description here [SEE ALSO] comm(1), uniq(1) coreutils-8.21/man/echo.x0000664000000000000000000000013411624727241012234 00000000000000[NAME] echo \- display a line of text [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/whoami.x0000664000000000000000000000013611624727241012604 00000000000000[NAME] whoami \- print effective userid [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/cksum.x0000664000000000000000000000015511624727241012443 00000000000000[NAME] cksum \- checksum and count the bytes in a file [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/fmt.x0000664000000000000000000000014211624727241012103 00000000000000[NAME] fmt \- simple optimal text formatter [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/expr.x0000664000000000000000000000013211624727241012272 00000000000000[NAME] expr \- evaluate expressions [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/hostname.x0000664000000000000000000000017211624727241013136 00000000000000[NAME] hostname \- set or print the name of the current host system [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/shuf.x0000664000000000000000000000014211624727241012262 00000000000000[NAME] shuf \- generate random permutations [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/runcon.x0000664000000000000000000000102111624727241012616 00000000000000[NAME] runcon \- run command with specified security context [DESCRIPTION] Run COMMAND with completely-specified CONTEXT, or with current or transitioned security context modified by one or more of LEVEL, ROLE, TYPE, and USER. .PP If none of \fI-c\fR, \fI-t\fR, \fI-u\fR, \fI-r\fR, or \fI-l\fR, is specified, the first argument is used as the complete context. Any additional arguments after \fICOMMAND\fR are interpreted as arguments to the command. .PP Note that only carefully-chosen contexts are likely to successfully run. coreutils-8.21/man/groups.x0000664000000000000000000000014511624727241012637 00000000000000[NAME] groups \- print the groups a user is in [DESCRIPTION] .\" Add any additional description here coreutils-8.21/man/dummy-man0000775000000000000000000000342212071531250012750 00000000000000#!/bin/sh # Poor man's placeholder for help2man invocation on systems lacking perl; # it generates a dummy man page stating that a proper one could not be # generated, and redirecting the user back to either the info # documentation or the '--help' output. set -e; set -u fatal_ () { printf '%s: %s\n' "$0" "$*" >&2 exit 1 } basename_ () { printf '%s\n' "$1" | sed 's,.*/,,' } output= source="GNU coreutils" while test $# -gt 0; do case $1 in # Help2man options we recognize and handle. --output=*) output=`expr x"$1" : x'--output=\(.*\)'`;; --output) shift; output=$1;; --source=*) source=`expr x"$1" : x'--source=\(.*\)'`;; --source) shift; source=$1;; # Recognize (as no-op) other help2man options that might be used # in the makefile. --include=*);; --include) shift;; -*) fatal_ "invalid or unrecognized help2man option '$1'";; --) shift; break;; *) break;; esac shift done test $# -gt 0 || fatal_ "missing argument" test $# -le 1 || fatal_ "too many non-option arguments" baseout=`basename_ "$output"` sed 's/^/WARNING: /' >&2 <"$output" <. '\" There is NO WARRANTY, to the extent permitted by law. [NAME] stdbuf \- Run COMMAND, with modified buffering operations for its standard streams. [DESCRIPTION] .\" Add any additional description here [EXAMPLES] .B tail -f access.log | stdbuf -oL cut -d \(aq \(aq -f1 | uniq .br This will immedidately display unique entries from access.log [BUGS] On GLIBC platforms, specifying a buffer size, i.e. using fully buffered mode will result in undefined operation. coreutils-8.21/man/truncate.x0000664000000000000000000000025711760630450013145 00000000000000[NAME] truncate \- shrink or extend the size of a file to the specified size [DESCRIPTION] .\" Add any additional description here [SEE ALSO] dd(1), truncate(2), ftruncate(2) coreutils-8.21/man/sort.x0000664000000000000000000000016112050450171012272 00000000000000[NAME] sort \- sort lines of text files [DESCRIPTION] .\" Add any additional description here [SEE ALSO] uniq(1) coreutils-8.21/thanks-gen0000775000000000000000000000067111760630450012341 00000000000000#!/usr/bin/perl -nl # Use Perl's multi-byte alignment code, via sprintf, while # performing a rudimentary check for duplicate names and # removing duplicate name,email pairs. use Encode; BEGIN { my (%seen, %name) } chomp; my ($name, $email) = split '\0', decode ('UTF-8', $_); $seen{$name}++ and warn "$0: THANKS.in: duplicate name: $name\n"; print encode ('UTF-8', sprintf ('%-36s', $name)), $email unless $seen{"$name\0$email"}++; coreutils-8.21/ChangeLog-20060000664000000000000000000045345512102337340012520 000000000000002006-12-30 Jim Meyering * bootstrap (gnulib_extra_files): Remove announce-gen. * bootstrap.conf (gnulib_modules): Add it here instead, now that it's a module. * tests/misc/base64: Factor a long, repetitive string. * src/c99-to-c89.diff: Adjust remove.c offsets. Clean up after the change of 2006-12-28. * src/remove.c (AD_pop_and_chdir): Change **DIRP parameter to *DIRP, now that this function never modifies the pointer. Adjust comments and code accordingly. (remove_dir): Set "dirp" to NULL right after AD_pop_and_chdir call, now that AD_pop_and_chdir no longer does that. * tests/rm/fail-eperm: Avoid spurious differences (the error function from latest glibc no longer prints the full program_name): so don't invoke rm via ../../src/rm. Instead, invoke it via "PATH=../../src rm". * tests/mv/acl (skip): Skip this test also if the destination directory, which is on a different file system, lacks ACL support. * src/copy.c (copy_reg): Rewrite a comment that was rendered inaccurate by the 2006-10-18 change. 2006-12-28 Jim Meyering When moving "up" the hierarchy, be careful to remove a just-emptied directory before opening ".", to avoid trouble with file system implementations that cache readdir results at opendir-time. * src/remove.c (AD_pop_and_chdir): Add a file descriptor parameter. Don't update **DIRP. Don't call fdopendir here. (remove_dir): Call fdopendir here instead. Report and patch from Mikulas Patocka: 2006-12-27 Jim Meyering * src/tail.c (usage): Mention +N for --bytes and --lines. Suggestion from Evan Hunt. 2006-12-26 Jim Meyering * configure.ac: Require autoconf-2.61 and automake-1.10. Without the former (even with autoconf-2.60), "make distcheck" would fail (without the 2006-09-26 autoconf AC_CHECK_DECL fix), due to an inttypes.h generated with CFLAGS including -pedantic. With the old decl check, @HAVE_DECL_STRTOUMAX@ would be 0. * Makefile.maint (VC-tag): Define, so as to gpg-sign each release tag, using the release version number as the message. (vc-dist): Use $(VC-tag), rather than "$(VC) tag". 2006-12-21 Paul Eggert * NEWS: dd bs= operands now silently override later ibs= and obs=, as POSIX requires. * src/dd.c (scanargs): Implement it. * tests/dd/misc (outbytes): Test it. * doc/coreutils.texi (dd invocation): Specify that bs=N overrides later ibs and obs, undoing part of the previous change. (The behavior was wrong.) 2006-12-20 Jim Meyering "rm -rf /etc/motd" (run by non-root) now prints a diagnostic. * src/remove.c (remove_entry): Handle EACCES for a non-directory, too. Don't let a non-directory get by with errno == EPERM, either. Check the file type directly (using cached stat value), rather than trying to guess it from errno values. Karl Berry reported that a cross-partition "mv /etc/issue ~" failed with the um,... suboptimal diagnostic, "mv: cannot remove `/etc/issue': Not a directory". * tests/rm/Makefile.am (TESTS): Add fail-eacces. * tests/rm/fail-eacces: New file. * NEWS: Mention that both mv and rm are affected. "cut -f 2- A B" no longer triggers a double-free bug * src/cut.c (cut_fields): Set file-scoped global to NULL after freeing it. This avoids a double-free (and core dump on some systems) for this usage: "echo 1>a; echo 2>b; cut -f2- a b". Reported by James Hunt in . * NEWS: List this bug fix. * THANKS: Mention him. * tests/misc/cut: New file. * tests/misc/Makefile.am (TESTS): Add cut. 2006-12-15 Jim Meyering * tests/cp/open-perm-race: Correct the gdb-existence check. Don't run either subsequent gdb command in a sub-shell. Reported by Thomas Schwinge. * THANKS: bring up to date. 2006-12-14 Paul Eggert Make sure cp -p isn't too generous with file permissions. * tests/cp/Makefile.am (TESTS): Add file-perm-race. * tests/cp/file-perm-race: New file. Ensure cp -pR --parents isn't too generous with parent permissions. * tests/cp/Makefile.am (TESTS): Add parent-perm-race. * tests/cp/parent-perm-race: New file. 2006-12-14 Jim Meyering * tests/chgrp/default-no-deref: Don't assume that files are created with the primary group by default. That's not true in a directory with the set-GID bit set. Don't hang when there's no input tty. * tests/cp/open-perm-race: Skip this test if there is no controlling input `terminal'. Test for a hard-to-detect race fix, using gdb. * tests/cp/open-perm-race: New file, to test for the cp --preserve=ownership fix of 2006-12-06. * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir. (TESTS): Add open-perm-race. * src/chgrp.c (main): Don't prohibit -RLh, aka -RL with --no-dereference. * src/chown.c (main): Likewise. * src/chown-core.c (change_file_owner): Add to a comment. * tests/chown/preserve-root: Add tests. * NEWS: --preserve-root now works with chgrp, chmod, and chown. * src/chmod.c (process_file): Do honor the --preserve-root option. * src/chown-core.c (change_file_owner): Likewise, but here, also handle the case in which a traversal would go "through" a symlink to root. Reported by Matthew M. Boedicker * tests/chown/preserve-root: Test for the above. * tests/chown/Makefile.am (TESTS): Add preserve-root. * NEWS: Mention the chmod fix induced by the 2006-12-11 change to gnulib's m4/openat.m4. 2006-12-13 Andreas Schwab Don't fail if mv/acl test succeeds. * tests/mv/acl (skip): Check for acl support in the file system. * tests/mv/Makefile.am (XFAIL_TESTS): Remove. (TESTS_ENVIRONMENT): Pass CONFIG_HEADER. 2006-12-13 Paul Eggert Remove some arbitrary restrictions on size fields, so that commands like "sort -k 18446744073709551616" no longer fail merely because 18446744073709551616 doesn't fit in uintmax_t. The trick is that these fields can all be treated as effectively infinity; their exact values don't matter, since no internal buffer can be that long. * src/join.c (string_to_join_field): Verify that SIZE_MAX <= ULONG_MAX if the code assumes this. Silently truncate too-large values to SIZE_MAX, as the remaining code will do the right thing in this case. * src/sort.c (parse_field_count): Likewise. * src/uniq.c (size_opt, main): Likewise. * tests/join/Test.pm (bigfield): New test. * tests/sort/Test.pm (bigfield): New test. * tests/uniq/Test.pm (121): New test. 2006-12-13 Jim Meyering * tests/chgrp/default-no-deref: New test. * tests/chgrp/Makefile.am (TESTS): Add default-no-deref. 2006-12-12 Jim Meyering * src/system.h (SETVBUF): Remove definition, now that the autoconf macro, AC_FUNC_SETVBUF_REVERSED, does nothing. * src/tee.c (tee_files): s/SETVBUF/setvbuf/. * src/od.c (open_next_file): Likewise. 2006-12-09 Jim Meyering * man/Makefile.am (.x.1): Make help2man use $(PACKAGE_STRING) as the "source". I.e. "GNU coreutils 6.7". * NEWS: With the change from "-pre" to "-dirty" suffix, also change from NEXT_VER-pre to CUR_VER-dirty. So, this is 6.7-dirty. * configure.ac (AC_INIT): s/6.8-dirty/6.7-dirty/. * tests/uniq/Test.pm (test_vector): Skip the pipe-reading test whenever uniq is expected to fail. This should catch the other case [test #112] in which uniq emits "cat: write error: Broken pipe" on some systems. 2006-12-08 Jim Meyering Include bootstrap tool version info in the announcement form. * Makefile.maint (gnulib_snapshot_date): Define. (announcement): Use two new announce-gen options, --bootstrap-tools and --gnulib-snapshot-date. * Makefile.cfg (gnulib_dir): Set. Post-release version change. * NEWS: Add a line for 6.8-dirty. * configure.ac (AC_INIT): Set new version string. 2006-12-07 Jim Meyering jim@meyering.net Version 6.7. * NEWS: Record release date. Remove '-pre' suffix. * configure.ac (AC_INIT): Remove version string suffix. 2006-12-07 Jim Meyering Make the output of "make check" more reproducible. * tests/touch/empty-file: Use envvar-check, so "make check" doesn't evoke diagnostics like this when COLUMNS=0 in the environment: ls: ignoring invalid width in environment variable COLUMNS: 0 * tests/touch/no-rights: Likewise. * tests/help-version: Likewise. * tests/uniq/Test.pm: Don't perform the pipe-reading version of test 118, since it emits "cat: write error: Broken pipe" on some systems. 2006-12-06 Paul Eggert * NEWS: Document the cp -p fix for special bits. * src/copy.c (set_owner): Now returns a three-way result, so that the caller can clear the special bits. All callers changed. (copy_reg): Don't set the special bits if chown failed. (copy_internal): Likewise. * tests/cp/special-bits: Test this fix. 2006-12-06 Paul Eggert * NEWS: Document the cp --preserve=ownership fix. * m4/jm-macros.m4 (coreutils_MACROS): Check for fchmod. * src/copy.c (fchmod_or_lchmod): New function. (copy_reg): New arg OMITTED_PERMISSIONS. All uses changed. Omit confusing and unused ", dst_mode" arg to 'open' without O_CREAT. When creating a file, use O_EXCL, so we're more likely to detect funny business by other processes. At the end, if permissions were omitted, chmod them back in. (copy_internal): If the ownership might change, omit some permissions at first, then restore them after chowning the file. * src/cp.c (make_dir_parents_private): Likewise. * src/copy.c (cached_umask): New function. * src/copy.h (cached_umask): New decl. 2006-12-06 Jim Meyering Make the output of "make check" more reproducible. * tests/misc/date-sec: Don't emit any diagnostic about sleeping. 2006-12-03 Paul Eggert * src/install.c (install_file_in_file): Preserve time stamps before changing owner or file mode bits, for consistency with other coreutils programs. 2006-12-03 Jim Meyering * tests/misc/date-sec: Output a fixed string. * NEWS: du --one-file-system (-x) would skip subdirectories of any directory listed as second or subsequent command line argument. * tests/du/one-file-system: New file. Test for today's fts.c fix. * tests/du/Makefile.am (TESTS): Add one-file-system. Reported by Mike Frysinger. 2006-12-02 Jim Meyering * tests/du/basic: Generate 4KB file simply using printf, rather than seq+head. This avoids a spurious "Broken pipe" diagnostic from seq. 2006-11-28 Jim Meyering * tests/mv/no-target-dir: Detect a buggy rename syscall. If found, skip this test. This happens at least on ia64 linux-2.4.19 w/ext3. Reported by Matthew Woehlke. * tests/mv/dir2dir: Also accept EBUSY. Reported by Matthew Woehlke. 2006-11-27 Jim Meyering * Makefile.maint (patch-check): Rewrite to diagnose failure. * src/c99-to-c89.diff: Adjust shred.c offsets. 2006-11-26 Paul Eggert Improve the check for departures from C89, and fix the departures I found. * Makefile.maint (my-distcheck): Also check for C89 compatibility as best we can with GCC. * src/stat.c (PRINTF_OPTION): Omit comma before } in enum declaration; C89 doesn't allow this. * src/dcgen: Don't generate string literals longer than what C89 requires support for. * src/cut.c (usage): Don't use string literals longer than what C89 requires support for. * src/date.c (usage): Likewise. * src/dd.c (usage): Likewise. * src/du.c (usage): Likewise. * src/ls.c (usage): Likewise. * src/od.c (usage): Likewise. * src/readlink.c (usage): Likewise. * src/seq.c (usage): Likewise. * src/shred.c (usage): Likewise. 2006-11-26 Mike Frysinger Recognize new archive, audio and image formats. Give audio files a separate color. * src/dircolors.hin: Add comments for common .sh and .csh scripts. Add .bz2, .tbz2, .tz, .rar, .ace, .zoo, .cpio, .7z, .rz as archive suffixes. Add .mng, .pcx, .m2v, .mkv, .ogm, .mp4, .m4v, .mp4v, .vob, .qt, .nuv, .wmv, .asf, .rm, .rmvb, .flc, .yuv as image formats. Add .aac, .au, .mid, .midi, .mka, .ra as audio suffixes. Change audio color to 00;36 to differentiate from image/video color. 2006-11-26 Jim Meyering * Makefile.maint (patch-check): Compile patched sources with CFLAGS='-Wdeclaration-after-statement -Werror', to ensure that no violations remain. * src/c99-to-c89.diff: Remove 3 bogus hunks. * src/remove.c (fd_to_subdirp): Remove unused parameter, ds. Update callers. * src/c99-to-c89.diff: Adjust for changes in rm.c and in remove.c. * src/rm.c (main): Remove unnecessary (assuming C99) braces. 2006-11-26 Paul Eggert Port parts of the code to C89 to minimize the need for c99-to-c89.diff, while trying to retain the readability of C99 as much as possible. * src/remove.c (rm_1): Remove decl of local, fd_cwd. Replace each of two uses with literal AT_FDCWD. (cache_stat_init): Return its argument, for convenience. Update the caller in remove_dir. (AD_pop_and_chdir): Return prev_dir rather than storing through a pointer argument. All uses changed. (AD_ensure_initialized): New function. (AD_mark_helper): Use it, to avoid the need for declaration after statement. (rm): Move cycle_check_init call into callee... (rm_1): ...here. Use an else clause in place of a "continue" statement. (close_preserve_errno): Remove. (fd_to_subdirp): Rewrite to avoid the need for decl after statement. 2006-11-25 Jim Meyering * Makefile.am (EXTRA_DIST): Remove announce-gen from here, too. 2006-11-24 Theodoros V. Kalamatianos (tiny change) * tests/du/inacc-dest: Skip this test when running as root. 2006-11-23 Jim Meyering * announce-gen: Remove file. It's moving to gnulib. * bootstrap: Pull it from gnulib/build-aux instead. * Makefile.maint (announcement): Reflect move to ./build-aux. * tests/du/deref-args: Use "printf %65536s x" to create a 64KB file, rather than a pipeline that would sometimes evoke a diagnostic like "seq: write error: Broken pipe". * tests/help-version: Suppress dd transfer rate output. * configure.ac (AC_INIT): Bump to 6.7-pre, not 6.6-pre. 2006-11-22 Jim Meyering * announce-gen (print_news_deltas): Fix silly, but harmless typo: change "(:?..." to "(?:..." in regexps. Post-release version change. * NEWS: Add a line for 6.7-pre. * configure.ac (AC_INIT): Bump to 6.7 and add "-pre" suffix. Version 6.6. * NEWS: Record release date. Remove "-pre" suffix. * configure.ac (AC_INIT): Remove "-pre" suffix from version string. * announce-gen: Remove unused --release-archive-directory option. (print_news_deltas): Accept new adjective, "Noteworthy", in addition to the old "Major". Match version numbers in NEWS using tighter regular expressions. (main): Require the --gpg-key-id=ID option. * Makefile.maint (announcement): Don't use now-removed --release-archive-directory=... option. * NEWS: Mention the three noteworthy changes, all fixed via gnulib. 2006-11-21 Jim Meyering * tests/rm/one-file-system: Upon setup failure (e.g., mount failure), skip the test rather than failing. Reported by Michael Deutschmann. * tests/rm/fail-eperm: Use the "(exit N); exit N" idiom, rather than just "exit N". Arrange for "make check-root" to run the new root-only test. * tests/Makefile.am (t7): New target, to run tests/ls/nameless-uid. (all_t): Add t7. 2006-11-20 Jim Meyering Add a root-only test for today's lib/idcache.c fix. * tests/ls/nameless-uid: New file. * tests/ls/Makefile.am (TESTS): Add nameless-uid. (TESTS_ENVIRONMENT): Add PERL to the list. 2006-11-19 Jim Meyering * tests/tail-2/assert-2: Mark as a very-expensive test, because I find the 7-second sleep annoyingly long. Besides, this test is probably far too specific and timing sensitive ever to trigger again. * tests/tail-2/assert: Likewise. Post-release version change. * NEWS: Add a line for 6.6-pre. * configure.ac (AC_INIT): Bump to 6.6 and add "-pre" suffix. Version 6.5. * NEWS: Record release date. Remove "-cvs" suffix. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. 2006-11-18 Jim Meyering "ln --backup f f" produces a misleading diagnostic: ln: creating hard link `f' => `f': No such file or directory * src/ln.c (do_link): Give a better diagnostic in this unusual case. (do_link): Rename local: s/lstat_ok/dest_lstat_ok/. * tests/ln/Makefile.am (TESTS): Add hard-backup. * tests/ln/hard-backup: New test for the above. * NEWS: Mention this fix. 2006-11-16 Paul Eggert * bootstrap.conf (gnulib_modules): Add sys_stat, since we use it directly too. * lib/.cvsignore, lib/.gitignore: Add root-dev-ino.c, root-dev-ino.h. * m4/.cvsignore, m4/.gitignore: Add root-dev-ino.m4. * src/ls.c (DIRED_FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS): Omit unnecessary parenthesization of args. * src/od.c (EQUAL_BLOCKS): Likewise. * src/system.h (STREQ, ASSIGN_STRDUPA): Likewise. 2006-11-16 Jim Meyering * tests/tail-2/append-only: If chattr +a fails, exit 77 (to tell automake we're skipping this test), and give a diagnostic to tell the user the same thing. Reported by Mike Grayson. 2006-11-16 Ralf Wildenhues * man/Makefile.am (dist_man_MANS): Replace all optional manpages with `$(MAN)', computed at configure time; also, list them ... (optional_mans): ... in this new variable. (max_aux, EXTRA_DIST): Ensure that we distribute all manpages. 2006-11-16 Jim Meyering Help valgrind see that there is no leak in dd.c. * src/dd.c (dd_copy): Declare real_buf and real_obuf to be static, so we need not free them at all. This is easier than freeing both buffers at each of the early "return"s. * src/csplit.c (load_buffer): Plug an inconsequential leak. 2006-11-15 Jim Meyering * .x-po-check: Exclude gl/ files. Otherwise, po-check would complain that some of gl/lib/*.[ch] are not listed in POTFILES.in. 2006-11-14 Jim Meyering * gl/m4/root-dev-ino.m4: Now that this is part of a real "module", remove the now-unnecessary use of AC_LIBSOURCES. Adapt to new version of gnulib-tool. * gl/modules/root-dev-ino: New file. * lib/root-dev-ino.c, lib/root-dev-ino.h: Move these files ... * gl/lib/root-dev-ino.c, gl/lib/root-dev-ino.h: ... to here. * m4/root-dev-ino.m4: Move this file ... * gl/m4/root-dev-ino.m4: ... to here. * bootstrap.conf (gnulib_modules): Add root-dev-ino. 2006-11-13 Jim Meyering * src/sort.c (insertkey): Use xmemdup, rather than xmalloc+assignment. From Paul Eggert. Plug another technically-unimportant leak in sort. * src/sort.c (main): Don't allocate memory for each new key here. (insertkey): Allocate memory for each key here, instead. (key_init): Rename from new_key. Don't allocate. * src/sort.c (main): Plug a tiny memory leak. Move declaration of local "minus" down to be nearer point of use. 2006-11-12 Jim Meyering du would exit early, when encountering an inaccessible directory Reported by Mike Frysinger, in http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8831 * tests/du/inacc-dest: New test, based on an example from Mike Frysinger. * tests/chgrp/no-x: Remove the "fts_read failed: ..." diagnostic from the expected output when using native fdopendir. * tests/chmod/no-x: Likewise. * tests/du/no-x: Likewise. * NEWS: Mention this bug fix. * tests/du/Makefile.am (TESTS): Add inacc-dest. * Makefile.maint (sc_cast_of_x_alloc_return_value): Add an exclusion for xalloc.h itself. Avoid false-positive when testing via valgrind. * tests/mv/atomic: Grep strace output for a more specific pattern than just "unlink", since that got a false positive when testing under valgrind: unlink("/tmp/valgrind_proc_9657_cmdline_A51E9991") = 0 * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define EGREP. 2006-10-28 Jim Meyering * Makefile.maint (patch-check): Make it easier to regenerate the src/c99-to-c89.diff file. E.g., I do this: make patch-check REGEN_PATCH=1; ediff src/c99-to-c89.diff new-diff * src/c99-to-c89.diff: Update to reflect new offsets in rm.c. 2006-10-26 Jim Meyering * src/system.h (ftello): Add a compile-time check for the highly unlikely condition of off_t narrower than long int, rather than handling it at run time. Based on a patch from Paul Eggert. 2006-10-25 Paul Eggert * tests/chmod/c-option: When double-quoting part of a word, prefer to double-quote the whole word. This is a bit easier to read (at least for me), and in some cases it avoids a shell bug with Tru64 4.0 sh reported by Nelson H. F. Beebe. For example, instead of "$abs_srcdir"/../setgid-check we now write "$abs_srcdir/../setgid-check". * tests/cp/cp-parents: Likewise. * tests/du/inaccessible-cwd: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/install/basic-1: Likewise. * tests/install/trap: Likewise. * tests/misc/close-stdout: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/mkdir/p-1: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/readlink/can-e: Likewise. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/unread3: Likewise. * tests/touch/no-create-missing: Likewise. * lib/.cvsignore: Add uinttostr.c. 2006-10-25 Jim Meyering Portability to Tru64 V4.0. * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]: Define inline replacement function. This (along with a yesterday's fix for autoconf's _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils now builds once more on Tru64 V4.0. Reported by Nelson Beebe. 2006-10-25 Bruno Haible * src/cat.c (infile): Add "const" to declaration. * src/csplit.c (prefix): Likewise. * src/printf.c (cfcc_msg): Likewise. * src/tail.c (valid_file_spec): Likewise. * src/cut.c (cut_file): Likewise, for a parameter. * src/expr.c (str_value): Likewise. * src/fold.c (fold_file): Likewise. * src/pr.c (init_header): Likewise. * src/dircolors.c (dc_parse_stream): Likewise, for a local. * src/tr.c (make_printable_str): Likewise. * src/nl.c (body_type, header_type, footer_type, current_type): (separator_str, build_type_arg, nl_file): Likewise, for many. * src/paste.c (main): Don't assign a read-only string to 'optarg'. * src/tac.c (separator, tac_seekable, copy_to_temp): Likewise. 2006-10-25 Jim Meyering * tests/sample-test: Update copyright year list to include only the current year, since this is what I'll want in any new test. 2006-10-24 Jim Meyering * src/c99-to-c89.diff: Update to reflect new offsets. * NEWS: new feature: rm accepts new option: --one-file-system Suggested by Steve McIntyre in . * src/remove.h (struct rm_options) [one_file_system]: New member. * src/rm.c (rm_option_init): Initialize it. (usage): Document the option. * src/mv.c (rm_option_init): Likewise. * src/remove.c (remove_dir): With --one-file-system and --recursive, for each directory command line argument, do not affect a file system different from that of the starting directory. And give a diagnostic. * src/rm.c (ONE_FILE_SYSTEM): New enum. (main): Handle new option. * tests/rm/one-file-system: Test the above. * tests/rm/Makefile.am (TESTS): Add one-file-system. * tests/Makefile.am (check-root): Add the rm/one-file-system test to the list. (EXTRA_DIST): Add other-fs-tmpdir. * tests/mv/setup: Removed. Renamed to... * tests/other-fs-tmpdir: ...this new file. * tests/mv/Makefile.am (EXTRA_DIST): Remove setup. * tests/mv/acl: Reflect renaming: use ../other-fs-tmpdir. * tests/mv/backup-is-src: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/to-symlink: Likewise. * tests/mv/into-self-2: Likewise. Don't let a failure in one test stop "make -k" from running the others. * tests/Makefile.am (t1 t2 t3 t4 t5): New targets. (check-root): Depend on them, rather than executing the five commands in a single rule. Reported by Greg Schafer. 2006-10-23 Bob Proulx (tiny change) * Makefile.maint (alpha beta major): Use a better log message for the automatic commit of .prev-version. 2006-10-23 Jim Meyering * tests/misc/pwd-long: Undo last change, since it made Perl invoke pwd via a shell. Instead, ensure that the absolute name of the pwd binary consists solely of reasonable characters. Whoops. Don't exec the perl script. Otherwise, the sh-trap-based clean-up code isn't run. * NEWS: Add a line for 6.5-cvs. * configure.ac (AC_INIT): Bump to 6.5 and add "-cvs" suffix. 2006-10-22 Jim Meyering Version 6.4. * NEWS: Record the 6.4 release date. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. * Makefile.maint: Complete the adaptation to function with a working directory that is using git (rather than cvs) for version control. 2006-10-22 Ralf Wildenhues * tests/chmod/c-option: Double-quote instances of `$abs_srcdir'. * tests/cp/cp-parents: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/sample-test: Quote variables containing absolute build tree paths. In the cleanup trap, make sure `cd' succeeds before `chmod'ing and `rm'ing the temporary files. * tests/chgrp/basic: Likewise. * tests/chgrp/deref: Likewise. * tests/chgrp/no-x: Likewise. * tests/chgrp/posix-H: Likewise. * tests/chgrp/recurse: Likewise. * tests/chmod/c-option: Likewise. * tests/chmod/equal-x: Likewise. * tests/chmod/equals: Likewise. * tests/chmod/inaccessible: Likewise. * tests/chmod/no-x: Likewise. * tests/chmod/octal: Likewise. * tests/chmod/setgid: Likewise. * tests/chmod/umask-x: Likewise. * tests/chmod/usage: Likewise. * tests/chown/basic: Likewise. * tests/chown/deref: Likewise. * tests/chown/separator: Likewise. * tests/cp/acl: Likewise. * tests/cp/backup-1: Likewise. * tests/cp/backup-dir: Likewise. * tests/cp/backup-is-src: Likewise. * tests/cp/cp-HL: Likewise. * tests/cp/cp-deref: Likewise. * tests/cp/cp-i: Likewise. * tests/cp/cp-mv-backup: Likewise. * tests/cp/cp-parents: Likewise. * tests/cp/deref-slink: Likewise. * tests/cp/dir-rm-dest: Likewise. * tests/cp/dir-slash: Likewise. * tests/cp/dir-vs-file: Likewise. * tests/cp/fail-perm: Likewise. * tests/cp/into-self: Likewise. * tests/cp/link: Likewise. * tests/cp/link-no-deref: Likewise. * tests/cp/link-preserve: Likewise. * tests/cp/no-deref-link1: Likewise. * tests/cp/no-deref-link2: Likewise. * tests/cp/no-deref-link3: Likewise. * tests/cp/perm: Likewise. * tests/cp/preserve-2: Likewise. * tests/cp/r-vs-symlink: Likewise. * tests/cp/same-file: Likewise. * tests/cp/slink-2-slink: Likewise. * tests/cp/sparse: Likewise. * tests/cp/special-bits: Likewise. * tests/cp/src-base-dot: Likewise. * tests/cp/symlink-slash: Likewise. * tests/dd/not-rewound: Likewise. * tests/dd/skip-seek2: Likewise. * tests/dd/unblock-sync: Likewise. * tests/du/2g: Likewise. * tests/du/8gb: Likewise. * tests/du/basic: Likewise. * tests/du/deref: Likewise. * tests/du/deref-args: Likewise. * tests/du/exclude: Likewise. * tests/du/fd-leak: Likewise. * tests/du/hard-link: Likewise. * tests/du/inaccessible-cwd: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/du/long-sloop: Likewise. * tests/du/no-deref: Likewise. * tests/du/no-x: Likewise. * tests/du/restore-wd: Likewise. * tests/du/slash: Likewise. * tests/du/slink: Likewise. * tests/du/trailing-slash: Likewise. * tests/du/two-args: Likewise. * tests/fmt/long-line: Likewise. * tests/install/basic-1: Likewise. * tests/install/create-leading: Likewise. * tests/install/d-slashdot: Likewise. * tests/install/trap: Likewise. * tests/ln/misc: Likewise. * tests/ln/target-1: Likewise. * tests/ls/color-dtype-dir: Likewise. * tests/ls/dangle: Likewise. * tests/ls/dired: Likewise. * tests/ls/file-type: Likewise. * tests/ls/follow-slink: Likewise. * tests/ls/infloop: Likewise. * tests/ls/inode: Likewise. * tests/ls/m-option: Likewise. * tests/ls/no-arg: Likewise. * tests/ls/recursive: Likewise. * tests/ls/rt-1: Likewise. * tests/ls/stat-dtype: Likewise. * tests/ls/stat-failed: Likewise. * tests/ls/stat-vs-dirent: Likewise. * tests/misc/cat-proc: Likewise. * tests/misc/close-stdout: Likewise. * tests/misc/csplit: Likewise. * tests/misc/date-sec: Likewise. * tests/misc/false-status: Likewise. * tests/misc/head-c: Likewise. * tests/misc/head-pos: Likewise. * tests/misc/mknod: Likewise. * tests/misc/nl: Likewise. * tests/misc/nohup: Likewise. * tests/misc/pathchk1: Likewise. * tests/misc/printf: Likewise. * tests/misc/printf-hex: Likewise. * tests/misc/pwd-long: Likewise. * tests/misc/shuf: Likewise. * tests/misc/sort-rand: Likewise. * tests/misc/split-a: Likewise. * tests/misc/split-fail: Likewise. * tests/misc/split-l: Likewise. * tests/misc/stat-fmt: Likewise. * tests/misc/tac-continue: Likewise. * tests/misc/wc-files0: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/mkdir/p-1: Likewise. * tests/mkdir/p-2: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/p-slashdot: Likewise. * tests/mkdir/p-thru-slink: Likewise. * tests/mkdir/p-v: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/mkdir/t-slash: Likewise. * tests/mv/acl: Likewise. * tests/mv/atomic: Likewise. * tests/mv/backup-dir: Likewise. * tests/mv/childproof: Likewise. * tests/mv/diag: Likewise. * tests/mv/dir-file: Likewise. * tests/mv/dir2dir: Likewise. * tests/mv/dup-source: Likewise. * tests/mv/hard-2: Likewise. * tests/mv/hard-3: Likewise. * tests/mv/hard-4: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/hard-verbose: Likewise. * tests/mv/i-2: Likewise. * tests/mv/i-3: Likewise. * tests/mv/i-4: Likewise. * tests/mv/i-5: Likewise. * tests/mv/i-link-no: Likewise. * tests/mv/into-self-4: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/no-target-dir: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/perm-1: Likewise. * tests/mv/reply-no: Likewise. * tests/mv/trailing-slash: Likewise. * tests/mv/update: Likewise. * tests/od/od-N: Likewise. * tests/od/x8: Likewise. * tests/readlink/can-e: Likewise. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/readlink/rl-1: Likewise. * tests/rm/cycle: Likewise. * tests/rm/dangling-symlink: Likewise. * tests/rm/deep-1: Likewise. * tests/rm/dir-no-w: Likewise. * tests/rm/dir-nonrecur: Likewise. * tests/rm/dot-rel: Likewise. * tests/rm/empty-inacc: Likewise. * tests/rm/f-1: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/rm/hash: Likewise. * tests/rm/i-1: Likewise. * tests/rm/i-no-r: Likewise. * tests/rm/ignorable: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/interactive-always: Likewise. * tests/rm/interactive-once: Likewise. * tests/rm/ir-1: Likewise. * tests/rm/isatty: Likewise. * tests/rm/no-give-up: Likewise. * tests/rm/r-1: Likewise. * tests/rm/r-2: Likewise. * tests/rm/r-3: Likewise. * tests/rm/r-4: Likewise. * tests/rm/readdir-bug: Likewise. * tests/rm/rm1: Likewise. * tests/rm/rm2: Likewise. * tests/rm/rm3: Likewise. * tests/rm/rm4: Likewise. * tests/rm/rm5: Likewise. * tests/rm/sunos-1: Likewise. * tests/rm/unread2: Likewise. * tests/rm/unread3: Likewise. * tests/rmdir/fail-perm: Likewise. * tests/rmdir/t-slash: Likewise. * tests/shred/exact: Likewise. * tests/shred/remove: Likewise. * tests/sum/sysv: Likewise. * tests/tail-2/append-only: Likewise. * tests/tail-2/assert: Likewise. * tests/tail-2/assert-2: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/tail-2/fflush: Likewise. * tests/tail-2/infloop-1: Likewise. * tests/tail-2/proc-ksyms: Likewise. * tests/tail-2/start-middle: Likewise. * tests/tail-2/tail-n0f: Likewise. * tests/tee/basic: Likewise. * tests/tee/dash: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/no-create-missing: Likewise. * tests/touch/not-owner: Likewise. * tests/touch/obsolescent: Likewise. * tests/touch/read-only: Likewise. * tests/touch/relative: Likewise. 2006-10-21 Jim Meyering * NEWS: (cp --backup fix): Fix a typo. * .gitignore: Remove some references to files in subdirectories. * build-aux/.gitignore, doc/.gitignore, lib/.gitignore: New files. * m4/.gitignore, po/.gitignore, src/.gitignore: Likewise. * src/copy.c (copy_internal): Add a comment saying why we prefer mknod over mkfifo. Enable an fts optimization (call lstat only for directories, on some file system types) also with the --preserve-root option of chown or chgrp. * src/chown-core.c (change_file_owner): Compare fts_statp-based dev/ino against root dev/ino only for directories. (chown_files): Don't let the root_dev_ino setting influence whether we use FTS_NOSTAT: fts always sets *fts_statp for a directory. 2006-10-20 Jim Meyering * src/od.c (usage): Change description of default to use "-w16", not the now-invalid "-w 16" syntax. From Dan Jacobson. 2006-10-19 Jim Meyering * bootstrap: Add names to each .gitignore file (if it exists) as well as to .cvsignore. * Makefile.maint (po-check): This rule didn't detect the new use of "gettext" (as opposed to the use of "_" everywhere else) in lib/xstrtol.h. Adjust the grep regexp so that now it does. 2006-10-18 Paul Eggert * src/copy.c (copy_reg): Rewrite slightly to avoid duplicate code when opening dst_name. (copy_reg, copy_internal): Use (SYSCALL != 0) rather than plain (SYSCALL) to test for failure in a system call. * src/copy.c (copy_internal): Use mknod rather than mkfifo to copy a fifo. This preserves the special mode bits on Solaris 10, which is compatible with what Solaris 10 cp -R does. * src/copy.c (copy_internal): Remove redundant and confusing local variable src_type. * src/copy.c (copy_internal): Don't pass mkdir a mode greater than 7777. This matches historical 'cp' behavior and avoids some (though not all) implementation-defined behavior of mkdir. * src/cp.c (make_dir_parents_private): Likewise. * src/copy.c (copy_internal): Don't pass 'open' a mode greater than 777. This is required by POSIX. It doesn't make any difference in actual behavior on any host that I know of. 2006-10-17 Jim Meyering * src/dd.c (usage): Use two spaces (not one) to separate the "fdatasync" option string from its description, so help2man formats the derived man page properly. Reported by Samuel Thibault in . 2006-10-16 Jim Meyering * .x-sc_trailing_blank: Remove names of files that are no longer version-controlled. 2006-10-16 Paul Eggert * src/groups.sh (version): Reword message to match the other programs. Problem reported by Eric Blake. 2006-10-14 Jim Meyering * Makefile.maint (headers_with_interesting_macro_defs): Define. (.re-defmac, sc_always_defined_macros): New rules. * src/system.h (EXIT_FAILURE, EXIT_SUCCESS): Remove definitions. Instead, include "exit.h". This hereby retires the work-around for "Sony NEWS-OS Release 4.0C"'s bug due to "#define EXIT_FAILURE 0". * src/cksum.c (uint_fast32_t): Don't define. Instead, include . * src/pinky.c (S_IWGRP): Don't define. It's already defined by "stat-macros.h" (included via system.h). * Makefile.cfg: Remove cruft that's now handled via bootstrap. * Makefile.maint: Likewise, remove these targets/rules/variables: (local_updates, update, cvs-update, wget_files, get-targets): Remove. (cvs_files, wget-update, automake_repo): Likewise. Move the comment about cvsu to build-aux/vc-list-files, where cvsu is actually used. * Makefile.maint (cvs-update): Use $(CVS), not "cvs". Work also when the working directory (with e.g. coreutils sources) is version controlled with git, rather than CVS. * bootstrap (CVS_only_file): Test for the existence of README-cvs, rather than CVS. In messages and comments, say e.g., "checked-out sources", rather than "CVS sources". (version_controlled_file): New function. Work for git as well as for CVS. Don't use grep's -q option. (slurp): Call it here, in place of CVS-specific code. * NEWS: cp -r --backup dir1 dir2, would rename an existing dir1/dir2 to dir1/dir2~. * src/copy.c (copy_internal): Although we do create a backup of each destination directory when in move mode, don't do that when copying. Reported by Peter Breitenlohner, in . * tests/cp/backup-dir: New file. Test for the above. * tests/cp/Makefile.am (TESTS): Add backup-dir. 2006-10-13 Jim Meyering More chown/chgrp dereferencing-related fixes. * src/chown-core.c (change_file_owner): Don't use fts_statp if we're dereferencing symlinks. Reverse conjuncts, so that we use dereference file_stats (aka ent->fts_statp) only *after* we've confirmed that chopt->affect_symlink_referent is true. Otherwise, we might use ent->fts_statp uninitialized. Don't turn on FTS_NOSTAT when dereferencing symlinks. * tests/chown/deref: Update the expected diagnostic, now that this test case (trying to use "chown --dereference ..." on a dangling symlink) takes a different code path. 2006-10-13 Paul Eggert Sync from Bison, as follows: 2006-10-01 Paul Eggert Fix problems with translating English-language diagnostics. * bootstrap: Fix bug introduced in recent bootstrap changes, with respect to bison-runtime pot generation. The YY_ stuff wasn't being captured. 2006-10-13 Jim Meyering * src/chown-core.c (change_file_owner): Use fstatat, not stat, now that we're using fts_open with FTS_CWDFD. * tests/chgrp/posix-H: Add --preserve-root to an invocation of chgrp, to exercise the above fix. * NEWS: Mention the above. * src/du-tests: Clean up a little, though it's still not portable. * .vg-suppressions: Add 3 more for debian unstable. * tests/ls/Test.pm: Remove long-unused file. * Makefile.am (EXTRA_DIST): Add bootstrap.conf. Suggestions from Bruno Haible. 2006-10-12 Ralf Wildenhues * Makefile.am (THANKS-to-translators): Add missing $(srcdir). (MAINTAINERCLEANFILES): Add .kludge-stamp. * man/Makefile.am (MAINTAINERCLEANFILES): Typo $(dist_man_MANS) instead of $(man_MANS). 2006-10-12 Ralf Wildenhues * configure.ac: Avoid compiler warnings about default return type in function definitions and unused variables in tests. * src/who.c (print_user) [HAVE_UT_HOST]: hostlen is only needed if this is #defined. 2006-10-12 Jim Meyering * configure.ac: Reflect s/gl_MACROS/coreutils_MACROS/ renaming. Call gl_INIT directly, rather than through the above. 2006-10-11 Paul Eggert * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell variable was sometimes used without being initialized. This messed up the installation of the INSTALL file in some cases. 2006-10-11 Jim Meyering * src/ls.c (usage): Correct description of -s, --size. It works even without -l. Suggestion from Karl Berry. 2006-10-10 Paul Eggert * src/ls.c (quote_name): Use initializer rather than memset to initialize an object to zero. This is easier to read and is less likely to introduce a runtime error due to a mixup. It causes gcc -W to issue a warning, but you can work around this by appending -Wno-missing-field-initializers. * src/pathchk.c (portable_chars_only): Likewise. * src/shred.c (main): Likewise. * src/stty.c (main): Likewise. * src/tr.c (card_of_complement): Likewise. * src/wc.c (wc): Likewise. 2006-10-09 Paul Eggert * src/sort.c (usage): Mention again that sort fields are origin 1. * NEWS: Fix typo: iso-8602 -> iso-8601. Problem reported by Bob Proulx. * bootstrap (usage, main program, symlink_to_gnulib): Add option --copy. Inspired by a suggestion from Bruno Haible. 2006-10-09 Jim Meyering Avoid a compiler warning. * src/pathchk.c (portable_chars_only): Initialize variable of type mbstate_t via memset, rather than via '{0}'. Patch from Bruno Haible. 2006-10-06 Paul Eggert Fix bug reported today by Mike Frysinger: mkdir -pv is logging the wrong file name in some cases. Lars Wendler reported a bug in my original fix. * src/install.c (make_ancestor): New arg COMPONENT. * src/mkdir.c (make_ancestor): Likewise. * tests/install/basic-1: Check for install -Dv bug. * tests/mkdir/Makefile.am (TESTS): Add p-v. * tests/mkdir/p-v: New file, to test this bug. 2006-10-05 Paul Eggert * src/chgrp.c: Don't include lchown.h; no longer needed. * src/chown.c: Likewise. * tests/ls/stat-dtype: Use a dynamic test to decide whether the current file system has useful d_type info. * src/dd.c (flags): noatime and nofollow now depend on HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too. (usage): Output info about noatime and nofollow only if they are known to work. * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW, when testing whether it's possible to avoid a race condition reliably. 2006-10-05 Jim Meyering * src/c99-to-c89.diff: Update to reflect new offsets. * tests/install/basic-1: Skip the latter part of this test if the just-built dd binary is not readable. Otherwise, this test would fail when binaries were created as root. Reported by Bauke Jan Douma in . 2006-10-03 Paul Eggert * src/system.h (ST_BLKSIZE): Ceiling at SIZE_MAX / 8 + 1, not at 4 MiB, since XFS hosts can legitimately have large values of st_blksize. Problem reported by Tony Ernst in . 2006-10-04 Jim Meyering * src/remove.c (nonexistent_file_errno): Remove ENAMETOOLONG. Paul Eggert pointed out that the specified file may exist, in spite of such an errno value. * tests/rm/Makefile.am (TESTS): Remove ignore-name-too-long. * tests/rm/ignore-name-too-long: Remove file. * NEWS: Update here, too. 2006-10-03 Jim Meyering * tests/rm/fail-eperm: Report failure also if rm is terminated by a signal. * src/c99-to-c89.diff: Convert two c99'isms -- one in remove.c and one in shred.c -- that were added before coreutils-6.3. Reported by Michael Deutschmann. * src/c99-to-c89.diff: Update to reflect new offsets. * src/remove.c (remove_entry): With -f, exit successfully in spite of a missing file under some very unusual conditions (with errno being any of ENOENT, ENOTDIR, ENAMETOOLONG). With --force (-f), rm no longer fails for ENOTDIR. * src/remove.c (ignorable_missing): New function. Use it everywhere, rather than open-coding the test. Andreas Schwab reported the ENOTDIR problem. (ignorable_missing): Similarly, don't fail for ENAMETOOLONG. * NEWS: Mention the bug fix. * tests/rm/ignorable: New file. Test for the ENOTDIR case. * tests/rm/ignore-name-too-long: New file. Test for ENAMETOOLONG. * tests/rm/Makefile.am (TESTS): Add the new file names. * bootstrap: Undo last change to this file, since now gnulib-tool sticks with the automake default in generating dependencies. * NEWS: Add a line for 6.4-cvs. * configure.ac (AC_INIT): Bump to 6.4 and add "-cvs" suffix. 2006-09-30 Jim Meyering Version 6.3. * NEWS: Record the 6.3 release date. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. * NEWS: Mention Paul's Solaris 8 vs. 10 work-around. * src/c99-to-c89.diff: Update offsets. 2006-09-29 Paul Eggert * tests/rm/readdir-bug: Don't use $(...) in a shell script, as it doesn't work with Solaris /bin/sh. 2006-09-29 Jim Meyering * NEWS: Mention Paul's fix (to gnulib's canon-host.c) for the pinky segfault. * tests/seq/basic [neg-2, eq-wid-2]: Comment out tests that use .1 as the increment. Actual output varies too much. [eq-wid-3]: New, commented out test. * src/shuf.c (read_input): Fix an off-by-one error that would cause an infloop for piped input of 8KB or more. * NEWS: Mention the fix. * tests/misc/shuf: Test for the above fix. Since any system may be affected by the Darwin readdir bug, perform the extra rewinddir unconditionally. The performance impact of rewinding a directory is negligible. * src/remove.c (NEED_REWIND): Define to use CONSECUTIVE_READDIR_UNLINK_THRESHOLD unconditionally. * tests/seq/basic: Use .11 as the upper bound, in case the ".1" increment translates to a slightly larger value. This corrects a test failure on FreeBSD 6.1 reported by Nelson Beebe. The final expected value wasn't being printed. Work around a readdir bug in Darwin 7.9.0 (MacOS X 10.3.9) on HFS+ and NFS, whereby rm would not remove all files in a directory. * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Reduce to 10. (NEED_REWIND): New macro, so that we incur the cost of the work-around rewinddir only on afflicted systems. * NEWS: Clarify and correct. * tests/rm/readdir-bug: New file. Test for the above fix. * tests/rm/Makefile.am (TESTS): Add it. Prompted by testing and analysis from Bruno Haible: http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00326.html 2006-09-28 Paul Eggert * tests/rm/fail-eperm: Unset BASH_ENV, CDPATH, and ENV, too; suggested for Debian stable, which uses Perl 5.8.4. 2006-09-28 Jim Meyering Automatically generated dependencies are important even when all of the sources in a directory come from gnulib. * bootstrap (gnulib_tool): Remove the "no-dependencies" automake option that gnulib-tool adds to what becomes our lib/gnulib.mk. * tests/rm/fail-eperm: Enable Perl's (-T) taint checking. Ensure that IFS is set properly and unset PATH. Sanitize inputs. Work properly even when the name of the selected file starts with "-". Invoke rm via "../../src/rm", and adjust expected output. Prompted by a patch from Tim Waugh. * README-cvs: Add Bison to the list of required packages. 2006-09-26 Jim Meyering * src/c99-to-c89.diff: Update offsets. * NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept it from removing a directory containing 188 or more entries. * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by 20, go work around the buggy readdir on Darwin 8.6.1 with NFS. Reported by Matthew Woehlke. 2006-09-26 Paul Eggert * NEWS: "groups user" no longer outputs "user :"; you need at least two users. "groups" now processes options like --help more compatibly. * src/groups.sh: Implement the option-processing change. Handle user and group names with special characters more robustly. Report write errors instead of exiting silently with status 1. 2006-09-26 Jim Meyering * README: Warn not to run autoreconf manually. Use bootstrap instead. * src/groups.sh: When invoked with 0 or 1 argument, just exec "id". Rewrite to avoid using temporary, $status. * NEWS: Mention the bug fix. * src/groups.sh: Don't hide a write failure. Reported by Iain Calder . 2006-09-25 Jim Meyering * src/chown.c (usage): Clarify --dereference description. * src/chgrp.c (usage): Likewise. Suggestion from Jamie McClelland. 2006-09-24 Jim Meyering * NEWS: Mention these fixes. * src/copy.c (copy_reg): With --verbose (-v), print "removed `file_name'" just after unlinking a file. (copy_internal): Likewise, in three more places. Marc Lehman reported that "touch x; ln x y; mv -v x y" was silent. * tests/mv/hard-verbose: New file. Test for the above fix. * tests/mv/Makefile.am (TESTS): Add hard-verbose. * tests/help-version (sync_args): Don't call sync, since it spins up disks that I've deliberately caused to spin down (but not unmounted). * NEWS: Mention the improvement to sort. * tests/tail-2/proc-ksyms: Require that /proc/ksyms be readable as well as existing. * tests/ls/stat-dtype: Don't use tmpfs on linux-2.4 or older, since that predated addition of d_type support. 2006-09-23 Jim Meyering * gl/modules/getloadavg.diff: New file. Work around the way the latest version of the getloadavg module interacts with our bootstrap script. * bootstrap (gnulib_tool_options): Add "--local-dir gl". * Makefile.am (EXTRA_DIST): Sort file names. Add bootstrap and gl/modules/getloadavg.diff 2006-09-20 Paul Eggert * bootstrap: Add support for --force. (usage): New function. Describe usage less tersely. (CVS_only_file): New var. * NEWS: Document fix for cp -i and mv -i. * src/copy.c (copy_internal): With -i, prompt even if the source is a directory and the destination is not. This is required by POSIX and gives the user a chance to bail out before failing. * tests/cp/Makefile.am (TESTS): Add cp-i. * tests/cp/cp-i: New file. * tests/mv/Makefile.am (TESTS): Add i-5. * tests/mv/i-5: New file. 2006-09-20 Jim Meyering * NEWS: Mention the chmod bug fix. * tests/chmod/inaccessible: New test, specifically for this bug. Based on a test case from Paul Eggert. * tests/chmod/Makefile.am (TESTS): Add inaccessible. Fix the 2006-09-18 bug differently. * src/chmod.c: (process_file): Upon FTS_NS for a top-level file, tell fts_read to stat the file again, in case it has become accessible since the initial fts_open call. * src/chown-core.c (change_file_owner): Likewise. * src/chmod.c: Revert last change. There is a better way. * src/chown-core.c: Likewise. 2006-09-19 Paul Eggert * src/ln.c (target_directory_operand): Rewrite to avoid porting problem on Tandem reported by Matthew Woehlke in . 2006-09-18 Paul Eggert Fix bug where chmod, chown, and chgrp did not process operands left-to-right in some cases. * src/chmod.c (wd_errno): New var. (chmod_file): New function, with most of the contents of the old prcess_file function. (process_files): Use it. This gives file names to fts one at a time, so that they are processed left-to-right as POSIX requires. * src/chown-core.c (wd_errno, chown_files): Likewise. (chown_file): New function. * tests/install/basic-1: Redo test so as to not workaround the chmod bug, thereby testing for it. * src/shuf.c (main): Quote the entire range when reporting an invalid one, rather than just the part that contained the error. * tests/stty/row-col-1: Rewrite to avoid temporary file that is sometimes left behind if the test is skipped or interrupted. * bootstrap (symlink_to_gnulib): New function. (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib to copies-of-gnulib. (cp_mark_as_generated, slurp, gnulib_files): Avoid making a copy if it's the same as the old version. (gnulib_files): Add support for this variable (used by Bison). * tests/ls/stat-vs-dirent: Fix quoting problem in diagnostic indicating flaw in kernel. Reword to say that the flaw isn't serious for coreutils, since the flaw does affect ls -i. * tests/chgrp/basic: Fix bug in test case exposed by building on Solaris 8 in a setgid directory. The test case incorrectly assumed that 'symlink' would be in group $g1. 2006-09-18 Jim Meyering * NEWS: Add a line for 6.3-cvs. * configure.ac (AC_INIT): Bump to 6.3 and add "-cvs" suffix. Version 6.2. * NEWS: Record the 6.2 release date. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. 2006-09-17 Jim Meyering * tests/chgrp/basic: On an OpenBSD system, rather than failing due to a known problem, merely warn about it. Rewrite to avoid testing output of chgrp --verbose and chgrp -c. Instead, use stat to test file system for desired results, directly. * tests/chgrp/Makefile.am (TESTS_ENVIRONMENT): Set host_triplet. * tests/envvar-check: Add more variable names to the list of those that can affect these programs and tests: _POSIX2_VERSION, COLUMNS, QUOTING_STYLE, TABSIZE, TERM, TMPDIR. 2006-09-16 Paul Eggert * NEWS: Document that mkdir -p and install -d now fork on occasion. * bootstrap.conf (gnulib_modules): Add savewd. * src/install.c: Include savewd.h. (process_dir): New function. (main, install_file_in_file_parents): Use it, along with the new savewd module, to avoid some race conditions. * src/mkdir.c: Include savewd.h. (struct mkdir_options): New members make_ancestor_function, mode, mode_bits. (make_ancestor): Return 1 if the resulting directory is not readable. (process_dir): New function. (main): Use it, along with new savewd module, to avoid some race conditions. Fill in new slots of struct mkdir_options, so that callees get the values. * tests/install/basic-1: Test for coreutils 5.97 bug that was fixed in coreutils 6.0, and which should still be fixed with this change. * tests/mkdir/p-3: Likewise. 2006-09-15 Jim Meyering * bootstrap.conf (gnulib_modules): Add rename-dest-slash. The 2006-09-08 changes made it so "mv dir new-name/" would fail on NetBSD 1.6. This makes it work once again. 2006-09-14 Jim Meyering * src/mv.c (main): Remove unnecessary (always-true) test for 2 <= n. Instead, since it's a little fragile, assert the condition. (target_directory_operand): Update comment to reflect latest change. 2006-09-12 Paul Eggert * src/who.c (print_user): Rewrite to avoid warning from GCC 4.1.1 with -Wall. 2006-09-12 Jim Meyering * tests/mv/atomic: Check for specific strace output, rather than simply nonempty. RHEL AS 4 would fail this test due to strace generating "[ Process PID=14434 runs in 32 bit mode. ]". Reported by Nelson Beebe. 2006-09-11 Jim Meyering * src/remove.c (remove_dir): Move new cache_stat_init call onto it's own line. (rm_1): Move declaration of "st" and new cache_stat_init call "down" to nearer where they're used. * src/c99-to-c89.diff: Add another set of curly braces. 2006-09-10 Paul Eggert * src/expr.c (eval6): Fix buffer overrun, or bad performance, if substr's last operand is very large. Performance problem reported by Sebastian Kreft. 2006-09-09 Jim Meyering * Makefile.maint (sc_prohibit_jm_in_m4): Don't hang when there are no .m4 files. (sc_require_config_h): Skip this test if there are no version- controlled .c files. (sc_prohibit_assert_without_use): Likewise. 2006-09-08 Jim Meyering * bootstrap: Export CVS_RSH separate from its assignment, to work even with Solaris 10's /bin/sh. Suggestion from Mark D. Baushke. 2006-09-08 Paul Eggert * NEWS: tail now ignores the -f option if POSIXLY_CORRECT is set, no file operand is given, and standard input is any FIFO. This is in response to Open Group XCU ERN 114. * src/tail.c (main): Likewise. 2006-09-08 Jim Meyering mv and "cp -r" no longer fail when invoked with two arguments where the first one names a directory and the second name ends in a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B, now succeeds, once more. This reverts part of the 2004-06-27 change for 5.3.0. * NEWS: Say the above. * src/mv.c (target_directory_operand): Don't require (here) that the target operand "look like" a directory. This change pushes the test down to the rename syscall level, where a "mv dir existing-non-dir/" will mistakenly succeed on older systems that ignore trailing slashes in the rename destination argument. * src/cp.c (target_directory_operand): Likewise, but for cp. * tests/mv/trailing-slash: Exercise the above fixes. * tests/cp/trailing-slash: New file. * tests/cp/Makefile.am (EXTRA_DIST): Add trailing-slash. * bootstrap: Use the previously unused variable, $src, to avoid repeating "$GNULIB_SRCDIR/$file". * bootstrap (cp_mark_as_generated): Don't use "local", to accommodate ancient "/bin/sh". Suggested by Ralf Wildenhues. Rename now-global "$src" and "$dst" to have cp_ prefix. Safer, and avoids confusion. * bootstrap (cp_mark_as_generated): New function. (slurp): Use it to prepend editor hints and a warning that the file we're copying is generated. Suggestion from Bruce Korb. (cp_mark_as_generated): Don't add C-style comments for .l or .y files. Fix last-minute typo. 2006-09-07 Jim Meyering * bootstrap: Revert last change. There are less disruptive ways to mark these generated files as read-only. * src/c99-to-c89.diff: Update to have proper offsets. 2006-09-06 Jim Meyering Ensure that some gnulib-tool-generated files are read-only. * bootstrap (slurp): Put the body of this function in a sub-shell, with "umask a-w" so that all new files are read-only. Remove each file before we write to it, in case it's read-only. Make po/Makevars and runtime-po/Makevars read-only, too. 2006-09-05 Jim Meyering * tests/cp/acl: Skip this test when cp lacks ACL support. * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set $(CONFIG_HEADER). * src/c99-to-c89.diff (remove.c): Adapt one hunk to match the new context from change of 2006-09-02. 2006-09-04 Jim Meyering * README-cvs: Fix typo in update command. 2006-09-03 Jim Meyering * NEWS: Tweak the wording in the new change description so that no one can think this change causes e.g., `rm -fr foo../' to fail. * tests/rm/inaccessible: Adjust for movement of config.h to lib/. Use $CONFIG_HEADER, rather than hard-coding it. * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Set $CONFIG_HEADER. 2006-09-02 Paul Eggert * NEWS: rm now rejects attempts to remove /, ./, and ../. * src/basename.c: Don't include dirname.h, since system.h does it now. * src/chmod.c: Likewise. * src/copy.c: Likewise. * src/cp.c: Likewise. * src/df.c: Likewise. * src/dircolors.c: Likewise. * src/dirname.c: Likewise. * src/du.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/mkdir.c: Likewise. * src/mv.c: Likewise. * src/remove.c: Likewise. * src/rm.c: Likewise. * src/rmdir.c: Likewise. * src/shred.c: Likewise. * src/split.c: Likewise. * src/su.c: Likewise. * src/system.h: Include "dirname.h", since dot_or_dotdot needs it now. (dot_or_dotdot): Succeed even if "." or ".." is followed by a slash. * src/rm.c (usage, main): --preserve-root is now the default. * src/remove.h: Fix comment. * src/remove.c (cache_fstatat, cache_stat_init): New functions. (cache_statted, cache_stat_ok): New functions. (write_protected_non_symlink): Remove struct stat ** buf_p arg, which is no longer needed with the new functions. All callers changed. (prompt, is_dir_lstat, remove_entry, remove_dir): New struct stat * arg. All callers changed. (write_protected_non_symlink, prompt, is_dir_lstat, remove_entry): (remove_cwd_entries, remove_dir, rm_1): Use and maintain the file status cache. (prompt, remove_entry): Omit the first "directory" in the diagnostic "Cannot remove directory `foo': is a directory". This causes "rm" to pass a test case that it would otherwise fail now that it "knows" more about its argument. I think the diagnostic is better without the first "directory" anyway. (prompt): Remove the no-longer-needed IS_DIR arg; all callers changed. (rm_1): Reject attempts to remove /, ./, or ../. * tests/rm/Makefile.am (TESTS): Add r-4. * tests/rm/r-4: New file. 2006-09-01 Paul Eggert * src/stat.c: Include (alignof): New macro. (HAVE_STRUCT_STATXFS_F_FSID___VAL, HAVE_STRUCT_STATXFS_F_FSID_VAL): Remove. (STRUCT_STATXFS_F_FSID_IS_INTEGER): New macro. (FSID_VAL): Remove. (print_statfs): If f_fsid isn't an integer, grab its words one at a time in little-endian order. This is a bit easier to configure and should avoid a compilation failure on MacOS reported by Bruno Haible. 2006-08-29 Paul Eggert * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID_VAL, FSID_VAL): New macros, to work around a Mac OS X porting problem reported by Bruno Haible in . (print_statfs): Use them. * bootstrap.conf (gnulib_modules): Add isapipe. * src/tail.c: Include isapipe.h. (IS_PIPE_LIKE_FILE_TYPE): Remove. (IS_TAILABLE_FILE_TYPE): Just list both FIFOs and sockets as tailable, since this seems to be portable. (main): Use isapipe, to fix a bug on MacOS X reported by Bruno Haible in . * src/system.h (LOCALEDIR): Remove, since configmake.h now defines it for us. 2006-08-28 Paul Eggert * src/copy.c (copy_internal): Don't test whether macros like S_ISLNK are defined, since they're always defined now. * src/cp.c (main): Likewise. * src/ln.c (main): Likewise. * src/ls.c (get_link_name, make_link_name): Likewise. * src/mknod.c (main): Likewise. * src/mkfifo.c (usage): Likewise. * src/who.c (S_IWGRP): Likewise. Adjust to recent gnulib changes for the gnulib module. * bootstrap.conf (gnulib_modules): Add fcntl. * src/system.h (SEEK_SET, SEEK_CUR, SEEK_END): Remove. Other code is already assuming these macros are defined. (O_DIRECT, O_DIRECTORY, O_DSYNC, O_NDELAY, O_NOATIME, O_NONBLOCK): (O_NOCTTY, O_NOFOLLOW, O_NOLINKS, O_RSYNC, O_SYNC, O_BINARY, O_TEXT): Remove; the fcntl module now handles these. Adjust to recent gnulib changes for the inttypes module. * bootstrap.conf (gnulib_modules): Remove stdint; add inttypes. (excluded_files): Don't exclude m4/inttypes-h.m4 or m4/inttypes-pri.m4. * src/system.h: Don't bother to include , since we can now assume inttypes.h does the equivalent of including stdint.h. 2006-08-27 Jim Meyering * src/copy.c (copy_internal): Don't make a backup if the last component of the source name is "." or "..". Reported by Andreas Schwab in http://savannah.gnu.org/bugs/?17540. * NEWS: Mention this. * tests/cp/src-base-dot: New file. Test for the above fix. * tests/cp/Makefile.am (TESTS): Add src-base-dot. * src/system.h (DOT_OR_DOTDOT): Remove macro. Rewrite as a... (dot_or_dotdot): ...new static inline function. * src/remove.c (rm_1): Reflect this renaming. * src/ls.c (basename_is_dot_or_dotdot): Likewise. * src/copy.c (copy_internal): Add comments. 2006-08-26 Paul Eggert * src/Makefile.am (AM_CPPFLAGS): Remove -I$(srcdir) and -I../lib, since Automake supplies them for us. It always did -I$(srcdir), and with the recent change to AC_CONFIG_HEADERS in configure.ac it is now also doing -I../lib. * bootstrap (get_translations): Skip this if WGET_COMMAND is empty. Fail if the first "echo" fails. Suppress diagnostics from "ls po/*.po" since there might not be any .po files. (WGET_COMMAND): Set to empty if wget doesn't seem to be available. 2006-08-26 Jim Meyering This test was failing in some environments. * tests/ls/color-dtype-dir: Don't rely on eval "`dircolors -b`" to set LS_COLORS in the environment. * tests/envvar-check: Instead, ensure that LS_COLORS is not set. Reported by Bob Proulx. * src/c99-to-c89.diff: Remove hunk for copy.c; no longer needed. * Makefile.am (EXTRA_DIST): Remove these files here, too: .x-sc_no_if_have_config_h, .x-sc_prohibit_assert_without_use, .x-sc_two_space_separator_in_usage. Fix "mv --verbose --backup" so its output includes the " (backup: foo.~1~)" suffix also when backing up a directory. * NEWS: Report this bug fix. * src/copy.c (emit_verbose): New function, factored out of... (copy_internal): ...here. Use the new function. * tests/mv/backup-dir: Test for the above fix. * tests/mv/Makefile.am (TESTS): Add backup-dir. 2006-08-25 Paul Eggert * .x-sc_no_if_have_config_h: Remove; no longer needed. * .x-sc_prohibit_assert_without_use: Remove; it was empty. * .x-sc_two_space_separator_in_usage: Likewise. * Makefile.maint (sc_no_have_config_h): Renamed from sc_no_if_have_config_h, since it now checks that HAVE_CONFIG_H is absent everywhere. * bootstrap.conf (gnulib_modules): Add config-h. * src/shred.c: Include unconditionally, since we now assume config.h exists. * src/dircolors.c: Likewise. 2006-08-26 Jim Meyering "ls --color" would highlight other-writable and sticky directories no differently than regular directories on a file system with dirent.d_type support. * NEWS: Say the above. * src/ls.c (gobble_file): With --color, also stat the file when we know it is a directory. Derived from an anonymous one-line fix and bug report: . * tests/ls/color-dtype-dir: New file. Test for the above fix. * tests/ls/Makefile.am (TESTS): Add color-dtype-dir. 2006-08-25 Paul Eggert * .cvsignore: Remove stamp-h1. Add coreutils-*, to ignore tarballs. * bootstrap.conf: Add configmake, verify. * src/.cvsignore: Remove localedir.h. * src/Makefile.am (localedir, DISTCLEANFILES, localedir.h): Remove; subsumed by configmake. * src/system.h: Include configmake.h rather than localedir.h (LOCALEDIR): New macro. Rewrite to avoid some unnecessary casts, macros, literals. * src/shred.c (DEFAULT_PASSES, VERBOSE_UPDATE): Now constants, not macros. (SECTOR_SIZE, SECTOR_MASK): New constants. (fillpattern, dopass, do_wipefd, main): Remove unnecessary casts, and use the SECTOR_* constants when applicable. Check for size < 0 rather than size == -1, since negative-size files are a sign of trouble anyway. 2006-08-25 Bruno Haible * src/shred.c (dopass): Assume a continuable error if EIO even if the current position is not a multiple of 512. 2006-08-24 Jim Meyering * src/stat.c (print_statfs): Fix typo: remove extra "sizeof". 2006-08-23 Paul Eggert * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID___VAL): Define. This macro was being used without being defined. (SB_F_NAMEMAX): Remove cast. (f_fsid) [BeOS]: Likewise. (OUT_NAMEMAX): Renamed from NAMEMAX_FORMAT, with a new meaning. All uses changed. (out_string, out_int, out_uint, out_uint_o, out_uint_x): New functions. (xstrcat): Remove. All uses changed to use the above functions. (print_statfs, print_stat): 2nd arg is now the prefix len, not the buffer len. All uses changed. Output '?', not '*', for unknown data or errors. Do not assume signed values can be interchanged with unsigned when printing. (print_statfs): For %i, print the fsid as a single int, not as a pair. (print_it): Quote invalid format better. * NEWS: printf supports the I flag. * src/printf.c (print_formatted) [glibc 2.2 or later]: Likewise. 2006-08-23 Bruno Haible * src/stat.c (STRUCT_STATVFS, statfs, f_fsid, f_blocks, f_bfree) [BeOS]: (f_bavail, f_bsize, STATFS_FRSIZE, f_files, f_ffree) [BeOS]: (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME) [BeOS]: Define. * src/ls.c (SA_RESTART): Fallback define. 2006-08-23 Paul Eggert * src/system.h (EDQUOT): Define if not already defined. Problem reported by Bruno Haible for BeOS. * .cvsignore: Remove config.h, config.hin, as they are now in lib. * configure.ac (AC_CONFIG_HEADERS): Move config.h and config.hin to lib. * src/Makefile.am (AM_CPPFLAGS): Remove '-I..'; no longer needed. * bootstrap (slurp): Define gl_LOCK_EARLY instead of gl_LOCK, to accommodate today's gnulib change. 2006-08-23 Jim Meyering * NEWS: Mention the sweeping infrastructure changes. 2006-08-22 Paul Eggert * bootstrap.conf (gnulib_modules): Add gnupload. * Makefile.maint (emit_upload_commands): gnupload is now in build-aux. * gnupload: Remove from CVS, since it's now a gnulib module. * bootstrap (bootstrap_conf_cleanup): Remove. (excluded_files): New var. * bootstrap.conf: Likewise. * bootstrap (slurp): Exclude files early if they're in the excluded_files list. That way, their names don't get put into .cvsignore. * aclocal.m4, config.hin, configure: Remove from CVS, since ./bootstrap generates them automatically. * .cvsignore: Add INSTALL, Makefile.in, aclocal.m4, config.hin, configure, *.cache, *.lineno, *.log. Remove more-specific entries. This catches files like configure.lineno. * man/.cvsignore: Add Makefile.in. * src/.cvsignore: Add Makefile.in. Remove .version, dir.c, install, mvdir, stamp-v, vdir.c, version.c. * tests/.cvsignore: * tests/chgrp/.cvsignore: * tests/chmod/.cvsignore: * tests/chown/.cvsignore: * tests/cp/.cvsignore: * tests/cut/.cvsignore: * tests/dd/.cvsignore: * tests/dircolors/.cvsignore: * tests/du/.cvsignore: * tests/expr/.cvsignore: * tests/factor/.cvsignore: * tests/fmt/.cvsignore: * tests/head/.cvsignore: * tests/install/.cvsignore: * tests/join/.cvsignore: * tests/ln/.cvsignore: * tests/ls/.cvsignore: * tests/ls-2/.cvsignore: * tests/md5sum/.cvsignore: * tests/misc/.cvsignore: * tests/mkdir/.cvsignore: * tests/mv/.cvsignore: * tests/od/.cvsignore: * tests/pr/.cvsignore: * tests/readlink/.cvsignore: * tests/rm/.cvsignore: * tests/rmdir/.cvsignore: * tests/seq/.cvsignore: * tests/sha1sum/.cvsignore: * tests/shred/.cvsignore: * tests/sort/.cvsignore: * tests/stty/.cvsignore: * tests/sum/.cvsignore: * tests/tac/.cvsignore: * tests/tail/.cvsignore: * tests/tail-2/.cvsignore: * tests/tee/.cvsignore: * tests/test/.cvsignore: * tests/touch/.cvsignore: * tests/tr/.cvsignore: * tests/tsort/.cvsignore: * tests/unexpand/.cvsignore: * tests/uniq/.cvsignore: * tests/wc/.cvsignore: Add Makefile.in. Sort entries if necessary. Remove *.I, *.E, *.X, *.O, *-tests, build-script, mk-script if they're never created in this directory. 2006-08-22 Bruno Haible BeOS portability. * src/uptime.c: Include OS.h if it exists. (print_uptime): On BeOS, use the get_system_info function (actually a macro). Loop through utmp entries only if utmp.h or utmpx.h exists. (uptime): Call read_utmp only if utmp.h or utmpx.h exists. 2006-08-22 Jim Meyering * .cvsignore: Add ABOUT-NLS. Move the check-AUTHORS rule to be run as part of "make distcheck", rather than "make check". * src/Makefile.am (check): Don't depend on check-AUTHORS; it would cause "make check" to fail on systems unable to build all binaries. * Makefile.maint (check-AUTHORS): New rule. (local-checks-available): Add it here. Reported by Bruno Haible. Needed for BeOS. 2006-08-21 Paul Eggert * src/df.c (print_header, show_dev): Use a column width that depends on the block size of -P is specified and not autoscaling. Problem reported by Gustavo G. Rondina in: http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00164.html 2006-08-21 Jim Meyering * tests/dircolors/simple (a): Don't fail with an unexpected diagnostic when the shell variable, SHELL, is not set. Trigger the failure with "(unset SHELL; make check TESTS=simple)". Reported by Sven Joachim in . * src/od.c: Now that HAVE_UNSIGNED_LONG_LONG is no longer defined in config.h, change the uses to HAVE_UNSIGNED_LONG_LONG_INT. Otherwise, on a system with 4-byte longs, "od -t u8" fails with this: od: invalid type string `u8'; this system doesn't provide a 8-byte integral type FIXME: add a test for this, but skip it when sizeof uintmax < 8. 2006-08-20 Paul Eggert Add a bootstrap procedure, so that the CVS version contains fewer files and we bootstrap the rest from gnulib, gettext, etc. * README-cvs: New file. * bootstrap: New file. * bootstrap.conf: New file. * .x-sc_trailing_blank: Remove config-log, .gdb-history. Add .po. * configure.ac (AC_PREREQ): Move here from m4/*.m4, for benefit of gnulib-tool. (gl_DEFAULT_POSIX2_VERSION, gl_USE_SYSTEM_EXTENSIONS, gl_PERL): (gl_IGNORE_UNUSED_LIBRARIES): Remove; now done by gnulib. (gl_EARLY): Add. (gl_MACROS): Call just after gl_EARLY, just for clarity. * src/c99-to-c89.diff: Remove patch to ls.c; no longer needed. * src/kill.c (strtoimax): Remove decl. * src/ls.c: Include "wcwidth.h" instead of rolling it ourselves. * src/wc.c: Likewise. * src/ls.c (sort_files): Rewrite to avoid need for C99-style declaration, so that we don't need to patch this file. * src/printf.c (strtoimax, strtoumax): Remove decls. * src/su.c: Include getpass.h. (getpass): remove. * src/system.h: Include mempcpy.h, stpcpy.h, strpbrk.h. Include inttypes.h unconditionally. (LONGEST_MODIFIER, PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Remove. (stpcpy, strndup, strstr, strtoul, mempcpy, CHAR_MIN, CHAR_MAX): (SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, SHRT_MIN, SHRT_MAX, INT_MAX): (INT_MIN, INTMAX_MAX, INTMAX_MIN, UINT_MAX, LONG_MAX, ULONG_MAX): (SIZE_MAX, SSIZE_MAX, UINTMAX_MAX): Remove. * ABOUT-NLS, INSTALL, Makefile.in, man/Makefile.in: * src/Makefile.in, tests/Makefile.in, tests/chgrp/Makefile.in: * tests/chmod/Makefile.in, tests/chown/Makefile.in: * tests/cp/Makefile.in, tests/cut/Makefile.in: * tests/dd/Makefile.in, tests/dircolors/Makefile.in: * tests/du/Makefile.in, tests/expr/Makefile.in: * tests/factor/Makefile.in, tests/fmt/Makefile.in: * tests/general/Makefile.in, tests/head/Makefile.in: * tests/install/Makefile.in, tests/join/Makefile.in: * tests/ln/Makefile.in, tests/ls/Makefile.in: * tests/ls-2/Makefile.in, tests/md5sum/Makefile.in: * tests/misc/Makefile.in, tests/mkdir/Makefile.in: * tests/mv/Makefile.in, tests/od/Makefile.in: * tests/pr/Makefile.in, tests/readlink/Makefile.in: * tests/rm/Makefile.in, tests/rmdir/Makefile.in: * tests/seq/Makefile.in, tests/sha1sum/Makefile.in: * tests/shred/Makefile.in, tests/sort/Makefile.in: * tests/stty/Makefile.in, tests/sum/Makefile.in: * tests/tac/Makefile.in, tests/tail/Makefile.in: * tests/tail-2/Makefile.in, tests/tee/Makefile.in: * tests/test/Makefile.in, tests/touch/Makefile.in: * tests/tr/Makefile.in, tests/tsort/Makefile.in: * tests/unexpand/Makefile.in, tests/uniq/Makefile.in: * tests/wc/Makefile.in: Remove from CVS, since ./bootstrap generates them automatically. 2006-08-20 Eric Blake * src/stat.c (USE_STATVFS): Reinstate the patch from 2006-08-15; the patch from 2006-08-18 broke on cygwin. 2006-08-20 Jim Meyering * NEWS: Add a line for 6.2-cvs. * configure.ac (AC_INIT): Bump to 6.2 and add "-cvs" suffix. 2006-08-19 Jim Meyering * Version 6.1. * NEWS: Record the 6.1 release date. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. * tests/Makefile.am (EXTRA_DIST): Add sparse-file. Avoid test failure when `make check' is run through debuild. * tests/help-version: Ensure that $SHELL is set to some value and exported. Patch from Sven Joachim. For details, see . * tests/ls/stat-dtype: Test for the 2006-08-17 `ls -CF' fix. * README: Describe potential "pre-C99 build failure", and work-around. Some of my 2006-07-03 changes to tests/*/Makefile.am were being backed out due to updates provoked by the copyright changes. * tests/Makefile.am.in (PATH): Prepend $(VG_PATH_PREFIX), so that it propagates to the derived Makefile.am files. ($(srcdir)/Makefile.am): Mark generated .am files as read-only, so we don't mistakenly edit them again. * tests/cut/Makefile.am: Regenerate. * tests/head/Makefile.am: Likewise. * tests/join/Makefile.am: Likewise. * tests/pr/Makefile.am: Likewise. * tests/sort/Makefile.am: Likewise. * tests/tac/Makefile.am: Likewise. * tests/tail/Makefile.am: Likewise. * tests/test/Makefile.am: Likewise. * tests/tr/Makefile.am: Likewise. * tests/uniq/Makefile.am: Likewise. * tests/wc/Makefile.am: Likewise. * NEWS: Fix cp --sparse so that it preserves tail-end sparseness, even when the file's apparent size is not a multiple of its block size. * src/copy.c (copy_reg): Don't write a NUL before calling ftruncate. For some file sizes, writing that single byte would unnecessarily waste a few file blocks. That write may have been necessary in the early days of Linux, but now, removing it should be safe. Based on a patch by Alan Curry: * tests/cp/sparse: New test for the above. * tests/cp/Makefile.am (TESTS): Add sparse. * tests/sparse-file: New file, essence factored out of... * tests/du/8gb: ... here. Use the new script. 2006-08-18 Paul Eggert * src/system.h (select_plural): Reduce by 1000000, not 1000, since the CVS gettext manual now suggests 1000000. 2006-08-18 Bruno Haible Add support for NetBSD 3.0. * src/stat.c (USE_STATVFS): Set to 1 if 'struct statvfs' has a field f_fstypename. (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME): Define also if 'struct statvfs' has a field f_fstypename. This undoes the 2006-08-15 to src/stat.c. 2006-08-17 Paul Eggert Copyright notice fixes. * COPYING: Upgrade to latest version from FSF. * src/uname.c: Use (C) in copyright notice. * .vg-suppressions: Add copyright notice. * ChangeLog: Likewise. * ChangeLog-2005: Likewise. * Makefile.am: Likewise. * NEWS: Likewise. * README: Likewise. * README-valgrind: Likewise. * TODO: Likewise. * announce-gen: Likewise. * man/Makefile.am: Likewise. * man/chmod.x: Likewise. * man/chown.x: Likewise. * man/df.x: Likewise. * man/du.x: Likewise. * man/rm.x: Likewise. * src/dircolors.hin: Likewise. * src/du-tests: Likewise. * src/extract-magic: Likewise. * src/tac-pipe.c: Likewise. * src/wheel-gen.pl: Likewise. * tests/Coreutils.pm: Likewise. * tests/Makefile.am.in: Likewise. * tests/acl: Likewise. * tests/envvar-check: Likewise. * tests/expensive: Likewise. * tests/group-names: Likewise. * tests/help-version: Likewise. * tests/mk-script: Likewise. * tests/priv-check: Likewise. * tests/rwx-to-mode: Likewise. * tests/sample-test: Likewise. * tests/setgid-check: Likewise. * tests/chgrp/basic: Likewise. * tests/chgrp/deref: Likewise. * tests/chgrp/no-x: Likewise. * tests/chgrp/posix-H: Likewise. * tests/chgrp/recurse: Likewise. * tests/chmod/c-option: Likewise. * tests/chmod/equal-x: Likewise. * tests/chmod/equals: Likewise. * tests/chmod/no-x: Likewise. * tests/chmod/octal: Likewise. * tests/chmod/setgid: Likewise. * tests/chmod/umask-x: Likewise. * tests/chmod/usage: Likewise. * tests/chown/basic: Likewise. * tests/chown/deref: Likewise. * tests/chown/separator: Likewise. * tests/cp/Makefile.am: Likewise. * tests/cp/acl: Likewise. * tests/cp/backup-1: Likewise. * tests/cp/backup-is-src: Likewise. * tests/cp/cp-HL: Likewise. * tests/cp/cp-deref: Likewise. * tests/cp/cp-mv-backup: Likewise. * tests/cp/cp-parents: Likewise. * tests/cp/deref-slink: Likewise. * tests/cp/dir-rm-dest: Likewise. * tests/cp/dir-slash: Likewise. * tests/cp/dir-vs-file: Likewise. * tests/cp/fail-perm: Likewise. * tests/cp/into-self: Likewise. * tests/cp/link: Likewise. * tests/cp/link-no-deref: Likewise. * tests/cp/link-preserve: Likewise. * tests/cp/no-deref-link1: Likewise. * tests/cp/no-deref-link2: Likewise. * tests/cp/no-deref-link3: Likewise. * tests/cp/perm: Likewise. * tests/cp/preserve-2: Likewise. * tests/cp/r-vs-symlink: Likewise. * tests/cp/same-file: Likewise. * tests/cp/slink-2-slink: Likewise. * tests/cp/special-bits: Likewise. * tests/cp/symlink-slash: Likewise. * tests/cut/Makefile.am: Likewise. * tests/cut/Test.pm: Likewise. * tests/dd/misc: Likewise. * tests/dd/not-rewound: Likewise. * tests/dd/skip-seek: Likewise. * tests/dd/skip-seek2: Likewise. * tests/dd/unblock-sync: Likewise. * tests/dircolors/simple: Likewise. * tests/du/2g: Likewise. * tests/du/8gb: Likewise. * tests/du/Makefile.am: Likewise. * tests/du/basic: Likewise. * tests/du/deref: Likewise. * tests/du/deref-args: Likewise. * tests/du/exclude: Likewise. * tests/du/fd-leak: Likewise. * tests/du/files0-from: Likewise. * tests/du/hard-link: Likewise. * tests/du/inaccessible-cwd: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/du/long-sloop: Likewise. * tests/du/no-deref: Likewise. * tests/du/no-x: Likewise. * tests/du/restore-wd: Likewise. * tests/du/slash: Likewise. * tests/du/slink: Likewise. * tests/du/trailing-slash: Likewise. * tests/du/two-args: Likewise. * tests/expr/basic: Likewise. * tests/factor/basic: Likewise. * tests/fmt/basic: Likewise. * tests/fmt/long-line: Likewise. * tests/general/Makefile.am: Likewise. * tests/general/atgeneral.m4: Likewise. * tests/general/dd.at: Likewise. * tests/head/Makefile.am: Likewise. * tests/head/Test.pm: Likewise. * tests/install/basic-1: Likewise. * tests/install/create-leading: Likewise. * tests/install/d-slashdot: Likewise. * tests/install/trap: Likewise. * tests/join/Makefile.am: Likewise. * tests/join/Test.pm: Likewise. * tests/ln/backup-1: Likewise. * tests/ln/misc: Likewise. * tests/ln/sf-1: Likewise. * tests/ln/target-1: Likewise. * tests/ls/Makefile.am: Likewise. * tests/ls/Test.pm: Likewise. * tests/ls/dangle: Likewise. * tests/ls/dired: Likewise. * tests/ls/file-type: Likewise. * tests/ls/follow-slink: Likewise. * tests/ls/infloop: Likewise. * tests/ls/inode: Likewise. * tests/ls/m-option: Likewise. * tests/ls/no-arg: Likewise. * tests/ls/recursive: Likewise. * tests/ls/rt-1: Likewise. * tests/ls/stat-dtype: Likewise. * tests/ls/stat-failed: Likewise. * tests/ls/stat-vs-dirent: Likewise. * tests/ls/symlink-slash: Likewise. * tests/ls/time-1: Likewise. * tests/ls-2/tests: Likewise. * tests/md5sum/basic-1: Likewise. * tests/md5sum/newline-1: Likewise. * tests/misc/Makefile.am: Likewise. * tests/misc/base64: Likewise. * tests/misc/basename: Likewise. * tests/misc/cat-proc: Likewise. * tests/misc/close-stdout: Likewise. * tests/misc/csplit: Likewise. * tests/misc/date: Likewise. * tests/misc/date-sec: Likewise. * tests/misc/df: Likewise. * tests/misc/dirname: Likewise. * tests/misc/expand: Likewise. * tests/misc/false-status: Likewise. * tests/misc/fold: Likewise. * tests/misc/head-c: Likewise. * tests/misc/head-elide-tail: Likewise. * tests/misc/head-pos: Likewise. * tests/misc/mknod: Likewise. * tests/misc/nice: Likewise. * tests/misc/nl: Likewise. * tests/misc/nohup: Likewise. * tests/misc/paste-no-nl: Likewise. * tests/misc/pathchk1: Likewise. * tests/misc/printf: Likewise. * tests/misc/printf-hex: Likewise. * tests/misc/pwd-long: Likewise. * tests/misc/sha224sum: Likewise. * tests/misc/sha256sum: Likewise. * tests/misc/sha384sum: Likewise. * tests/misc/sha512sum: Likewise. * tests/misc/shuf: Likewise. * tests/misc/sort-merge: Likewise. * tests/misc/sort-rand: Likewise. * tests/misc/split-a: Likewise. * tests/misc/split-fail: Likewise. * tests/misc/split-l: Likewise. * tests/misc/stat-fmt: Likewise. * tests/misc/stat-printf: Likewise. * tests/misc/tac-continue: Likewise. * tests/misc/test-diag: Likewise. * tests/misc/tty-eof: Likewise. * tests/misc/wc-files0: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/mkdir/p-1: Likewise. * tests/mkdir/p-2: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/p-slashdot: Likewise. * tests/mkdir/p-thru-slink: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/mkdir/special-1: Likewise. * tests/mkdir/t-slash: Likewise. * tests/mkdir/writable-under-readonly: Likewise. * tests/mv/Makefile.am: Likewise. * tests/mv/acl: Likewise. * tests/mv/atomic: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/childproof: Likewise. * tests/mv/diag: Likewise. * tests/mv/dir-file: Likewise. * tests/mv/dir2dir: Likewise. * tests/mv/dup-source: Likewise. * tests/mv/force: Likewise. * tests/mv/hard-2: Likewise. * tests/mv/hard-3: Likewise. * tests/mv/hard-4: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/i-1: Likewise. * tests/mv/i-2: Likewise. * tests/mv/i-3: Likewise. * tests/mv/i-4: Likewise. * tests/mv/i-link-no: Likewise. * tests/mv/into-self: Likewise. * tests/mv/into-self-2: Likewise. * tests/mv/into-self-3: Likewise. * tests/mv/into-self-4: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/no-target-dir: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/perm-1: Likewise. * tests/mv/reply-no: Likewise. * tests/mv/setup: Likewise. * tests/mv/to-symlink: Likewise. * tests/mv/trailing-slash: Likewise. * tests/mv/update: Likewise. * tests/mv/vfat: Likewise. * tests/od/od-N: Likewise. * tests/od/x8: Likewise. * tests/pr/Makefile.am: Likewise. * tests/pr/Test.pm: Likewise. * tests/readlink/can-e: Likewise. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/readlink/rl-1: Likewise. * tests/rm/Makefile.am: Likewise. * tests/rm/cycle: Likewise. * tests/rm/dangling-symlink: Likewise. * tests/rm/deep-1: Likewise. * tests/rm/dir-no-w: Likewise. * tests/rm/dir-nonrecur: Likewise. * tests/rm/dot-rel: Likewise. * tests/rm/empty-inacc: Likewise. * tests/rm/empty-name: Likewise. * tests/rm/f-1: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/rm/fail-eperm: Likewise. * tests/rm/hash: Likewise. * tests/rm/i-1: Likewise. * tests/rm/i-no-r: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/interactive-always: Likewise. * tests/rm/interactive-once: Likewise. * tests/rm/ir-1: Likewise. * tests/rm/isatty: Likewise. * tests/rm/no-give-up: Likewise. * tests/rm/r-1: Likewise. * tests/rm/r-2: Likewise. * tests/rm/r-3: Likewise. * tests/rm/rm1: Likewise. * tests/rm/rm2: Likewise. * tests/rm/rm3: Likewise. * tests/rm/rm4: Likewise. * tests/rm/rm5: Likewise. * tests/rm/sunos-1: Likewise. * tests/rm/unread2: Likewise. * tests/rm/unread3: Likewise. * tests/rm/unreadable: Likewise. * tests/rmdir/fail-perm: Likewise. * tests/rmdir/ignore: Likewise. * tests/rmdir/t-slash: Likewise. * tests/seq/basic: Likewise. * tests/sha1sum/basic-1: Likewise. * tests/sha1sum/sample-vec: Likewise. * tests/shred/exact: Likewise. * tests/shred/remove: Likewise. * tests/sort/Makefile.am: Likewise. * tests/sort/Test.pm: Likewise. * tests/sort-time/Makefile: Likewise. * tests/sort-time/README: Likewise. * tests/sort-time/rand-gen: Likewise. * tests/stty/basic-1: Likewise. * tests/stty/row-col-1: Likewise. * tests/sum/basic-1: Likewise. * tests/sum/sysv: Likewise. * tests/tac/Makefile.am: Likewise. * tests/tac/Test.pm: Likewise. * tests/tail/Makefile.am: Likewise. * tests/tail/Test.pm: Likewise. * tests/tail-2/Makefile.am: Likewise. * tests/tail-2/append-only: Likewise. * tests/tail-2/assert: Likewise. * tests/tail-2/assert-2: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/tail-2/fflush: Likewise. * tests/tail-2/infloop-1: Likewise. * tests/tail-2/proc-ksyms: Likewise. * tests/tail-2/start-middle: Likewise. * tests/tail-2/tail-n0f: Likewise. * tests/tee/basic: Likewise. * tests/tee/dash: Likewise. * tests/test/Makefile.am: Likewise. * tests/test/Test.pm: Likewise. * tests/touch/Makefile.am: Likewise. * tests/touch/dangling-symlink: Likewise. * tests/touch/empty-file: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/fifo: Likewise. * tests/touch/no-create-missing: Likewise. * tests/touch/no-rights: Likewise. * tests/touch/not-owner: Likewise. * tests/touch/obsolescent: Likewise. * tests/touch/read-only: Likewise. * tests/touch/relative: Likewise. * tests/tr/Makefile.am: Likewise. * tests/tr/Test.pm: Likewise. * tests/tr/failures: Likewise. * tests/tsort/basic-1: Likewise. * tests/unexpand/basic-1: Likewise. * tests/uniq/Makefile.am: Likewise. * tests/uniq/Test.pm: Likewise. * tests/wc/Makefile.am: Likewise. * tests/wc/Test.pm: Likewise. 2006-08-17 Jim Meyering ls -CF would misalign columns in some cases. * src/ls.c (get_type_indicator): New function. extracted from... (print_type_indicator): ...here. Use it. (length_of_file_name_and_frills): Use it here, too, rather than assuming stat.st_mode is valid. Reported by Andreas Schwab, here: See the test for this above. FYI, I did ls -CF /proc and visually inspected the result. * src/copy.c (copy_internal, same_file_ok): Adjust comments not to mention the now-removed cp_options.xstat member. * Makefile.maint (patch-check): Adapt to work now that the patch modifies more than one file in src/. With this patch, permit building with Solaris cc on Solaris 7. * src/c99-to-c89.diff: Add diffs to convert more c99-isms. This integrates patches from Bruno Haible. 2006-08-16 Paul Eggert Fix some problems reported by Bruno Haible. * tests/chmod/setgid (abs_srcdir): Remove; not used or needed. Skip this test if "chmod g+s d" silently does nothing. * tests/ls-2/tests: Skip this test suite if we can't set up files properly for the setuid-etc test. This simplifies some of the hacks we were using to work around porting problems. 2006-08-16 Jim Meyering * tests/cp/Makefile.am: Don't mark "acl" as XFAIL. * tests/cp/acl: Instead, skip the test if either setfacl or getfacl fails. Reported by Michael Stone. 2006-08-16 Paul Eggert * tests/lang-default (LC_ALL): Set to "C", so we get English-language diagnostics. Unset the other variables; it should be portable to use 'unset' for this stuff nowadays. Problem reported by Bruno Haible. Using "C" reverses the 2000-10-22 change to fileutils in this area. Fix bugs when printing plurals of numbers that are not unsigned long int values. * src/system.h (select_plural): New function. * src/md5sum.c (digest_check): Use select_plural to avoid bug. * src/uptime.c (print_uptime): Likewise. * src/dd.c (print_stats): Likewise. Also, don't use ngettext to print a floating point number, as reducing to 0 or 1 doesn't work for some languages. Instead, just use "s" for seconds since it doesn't need a plural form. 2006-08-16 Bruno Haible Old versions of gzip would write --help output to stderr, and it would be annoying to see that in the output of every "make" command. * Makefile.maint (gzip_rsyncable): Throw away stderr output of "gzip --help". 2006-08-16 Andreas Schwab * tests/cp/acl: Don't use non-portable == operator for test. 2006-08-16 Jim Meyering * tests/ls/stat-dtype: Use stat to test file system type, rather than df -T, in case /etc/mtab lies. Reported by Michael Stone. 2006-08-15 Paul Eggert * NEWS: Mention that df exits with nonzero status if it generates no output. This change was in 6.0 but inadvertently unmentioned. * src/df.c (file_systems_processed): Renamed from n_valid_args, and now a boolean. (show_dev): Don't set it until we actually output something. Print the header if this is the first output. (main): Don't print a header, as that is now show_dev's job. * tests/misc/Makefile.am (TESTS): Add df. * tests/misc/df: New file. 2006-08-15 Eric Blake * src/stat.c (USE_STATVFS): Define to 0 if f_type is needed, but statvfs.f_type not present. See . 2006-08-15 Paul Eggert * src/dd.c (print_stats): Don't substitute "1" for number, as this causes confusion for the Hungarian translators. Problem reported by Egmont Koblinger here: http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7726 2006-08-15 Jim Meyering * .x-sc_require_config_h: Add lib/at-func.c. * NEWS: Add a line for 6.1-cvs. * configure.ac (AC_INIT): Bump to 6.1 and add "-cvs" suffix. 2006-08-15 Jim Meyering * Version 6.0. * NEWS: Record the 6.0 release date. * configure.ac (AC_INIT): Remove "-cvs" suffix from version string. * TODO: Add an item (convert to use gnulib-tool), add to the plan for id-vs-getgrouplist, and remove a few completed items. * Makefile.maint (alpha beta major): Fix syntax error. 2006-08-13 Jim Meyering * src/shred.c (usage): Don't indent the second line of an item. Otherwise, help2man would misformat the output. Reported by Adam Buchbinder in . 2006-08-11 Paul Eggert * configure.ac (AM_GNU_GETTEXT): Upgrade to need-formatstring-macros. Suggested by Eric Blake to avoid problems like . 2006-08-11 Jim Meyering * tests/ls/stat-vs-dirent: Too many (losing) systems trigger the failure that this test checks for (stat/dirent inode mismatch at a mount point), so continue to give a diagnostic about the failure, but don't actually count it as a failure. 2006-08-10 Paul Eggert * ABOUT-NLS: Update from gettext 0.15. * configure.ac (AM_GNU_GETTEXT_VERSION): Update from 0.13.1 to 0.15. * src/csplit.c (struct control): Remove fastmap member. (extract_regexp): Allocate fastmap separately, since otherwise it might move due to a realloc. This fixes a bug that led to a core dump on 64-bit sparc Solaris 10 (Sun Studio 10). 2006-08-10 Jim Meyering * tests/ls/stat-dtype: If "." is tmpfs, skip this test unless uname -s reports "Linux". This avoids a failure on Solaris 10's tmpfs. Redirect both stdout and stderr of df invocations. * src/dircolors.hin: Add a TERM directive for each of the following: ansi, color-xterm, gnome, konsole, kterm, rxvt-cygwin, rxvt-cygwin-native, screen.linux, xterm-256color. Sort the TERM directives. From Mike Frysinger. 2006-08-09 Paul Eggert * src/dd.c (usage): Warn about oflag=append without conv=notrunc. See Debian bug 373736. * src/dircolors.hin: Add mlterm, rxvt-unicode; this fixes Debian bug 317503. * src/.cvsignore: Add shuf. * Makefile.maint: Remove the po-update procedure; it doesn't work with the new repository on http://www.iro.umontreal.ca/. For now I guess we'll have to fix things by hand. (do-po-update, po-update): Remove. All references removed. * src/shuf.c (next_line): New function. (read_input): Use it, to avoid relying on GCC-specific behavior with void * arithmetic. Problem reported by Bob Proulx. * Makefile.maint (my-distcheck): Compile with -Wpointer-arith to detect this sort of problem automatically in the future. 2006-08-09 Jim Meyering * src/ls.c: Add a compile-time check to ensure that filetype and filetype_letter have the same number of elements. * tests/misc/sort-rand: Remove use of --seed=S. 2006-08-08 Paul Eggert Add a command 'shuf', and modify shred and sort to use the new random number generator library of 'shuf'. * AUTHORS: Add shuf. * README: Likewise. * NEWS: Likewise. Mention new --random-source option for shred and sort. Move "sort +1 -2" notice to the appropriate section, and clarify its role with respect to POSIXLY_CORRECT. * man/.cvsignore: Add shuf.1. * man/Makefile.am (dist_man_MANS): Add shuf.1. (shuf.1): New dependency. * man/shuf.x: New file. * src/Makefile.am (bin_PROGRAMS): Add shuf. (EXTRA_DIST): Remove rand-isaac.c. (shuf_LDADD): New macro. * src/rand-isaac.c: Remove, moving most of its contents to lib/rand-isaac.c. * src/shuf.c: New file. * src/shred.c: Use new random-number interface rather than rand-isaac.c. Don't include rand-isaac.c; include randint.h and randread.h instead. (RANDOM_SOURCE_OPTION): New enum. (long_opts, usage, main): New option --random-source. * src/sort.c: Likewise. * src/shred.c (struct irand_state, irand_init, irand32, irand_mod): Remove. All callers changed to use randint interface. (fillrand): Remove. All callers changed to use randread interface. (dopass): Remove dependency on ISAAC buffer size. (genpattern): Don't wipe the random state here. (randint_source): New static var. (clear_random_data): New function. (main): Allocate random source, and arrange to wipe it on exit. * src/sort.c: Include md5.h, randread.h, xmemxfrm.h. (longopts, usage, main): Remove undocumented --seed option; it's now replaced by --random-source. (rand_state, get_hash): Remove. (randread_source): New static var. (random_state, cmp_hashes, compare_random): New functions; they guarantee no collisions in the random hash function. (keycompare): Use compare_random for -R; don't fall back on comparing via memcoll, since compare_random does the right thing. * tests/misc/Makefile.am (TESTS): Add shuf. * tests/misc/shuf: New file. 2006-07-29 Paul Eggert * src/copy.c (set_author): Preserve the st_author field via the file descriptor dest_desc. 2006-07-28 Paul Eggert * NEWS: chmod now preserves setuid and setgid bits on directories if you use a numeric mode with them clear, e.g., "chmod 755 DIR". Fix test case problems if working directory is setgid, reported by Bob Proulx. * tests/cp/fail-perm: Use symbolic mode so that we clear setgid bit more reliably on directories. * tests/mkdir/special-1 (set_mode_string): Likewise. 2006-07-27 Jim Meyering * src/chgrp.c (usage): Use correct grammar in description of the --reference option * src/chown.c (usage): Likewise. 2006-07-26 Thomas Schwinge (tiny change) * src/copy.c (set_author) [HAVE_STRUCT_STAT_ST_AUTHOR]: Correctly access SRC_SB's element ST_AUTHOR. 2006-07-26 Jim Meyering * tests/ls/stat-failed: Adapt to match new expected output. From Paul Eggert. * src/ls.c (print_color_indicator): Test for S_IFREG first, rather than having the code test for all of the other types first. Hoist the set-uid/gid-testing code "up" into this new block. Classify any other type of file (e.g., S_TYPEISSHM, etc.) as C_ORPHAN, not as C_FILE. 2006-07-26 Jim Meyering Checking in a change from Paul. 2006-07-25 Paul Eggert * src/ls.c (DT_INIT): Remove. All uses removed. (enum filetype): Use an ordinary enum rather than trying to keep the values in sync with DT_FIFO etc. That way, we don't have to make special assumptions about them. All uses changed. (whiteout): New constant member of enum filetype. (filetype_letter): New constant, for use with enum filetype. (FILETYPE_INDICATORS): New initializer list. (print_dir): Add case for DT_WHT. (gobble_file): If stat fails, don't discard information from readdir; instead, preserve it so it can be printed. (print_long_format): Fall back on readdir result if stat info is not available. Use "?" to denote each unknown mode char, instead of an overall "?", since we now know some of the mode typically. (print_type_indicator): Now that MODE isn't necessarily useful, guard all uses. Now that two blocks in the type-checking tree can set "type = C_FILE", move the suffix-handling code out and down. 2006-07-26 Jim Meyering Prepare for the above change. * src/ls.c [struct fileinfo] (stat_ok): Rename from stat_failed, and adjust uses. From a patch by Paul Eggert. 2006-07-26 Jim Meyering * src/ls.c: Correct indentation/formatting in a few places. 2006-07-25 Paul Eggert * tests/cp/fail-perm: Use "chmod 0500" rather than "chmod 500". Problem report and fix from Bob Proulx. * NEWS: Clarify the "chmod 0500" news, and correct the vague statements about compatibility with BSD. 2006-07-25 Jim Meyering * src/ls.c (gobble_file): When handling a stat-failed entry, print the entry name not the absolute_name -- to be consistent with the usual case. * tests/ls/stat-failed: Update accordingly. * src/ls.c: Add parens around the new uses of ?: ternary operator. * src/dircolors.hin: Mention that ORPHAN refers not just to dangling symlinks. Get --dired offsets right when handling stat-failed entries. * src/ls.c (print_long_format): Be careful to increment P by the appropriate amount, even when inode_number_width and nlink_width are zero. * tests/ls/stat-failed: Test for the above. * src/ls.c (gobble_file) [USE_ACL]: Don't use-uninitialized the have_acl member. That would happen for a directory with both a non-stat'able entry and one with an ACL. * src/ls.c (gobble_file): Make it so failure to stat a non-command-line file provokes an exit status of 1, not 0. Say "cannot access" rather than "cannot stat". * tests/ls/stat-failed: New file/test, for the above. * tests/ls/Makefile.am (TESTS): Add stat-failed. * tests/ls-2/tests (no-a-isdir-b): Update to reflect addition of "cannot access " to diagnostic. * src/ls.c: Declare stat_failed to be "bool", not "int" everywhere. * src/ls.c [enum filetype] (command_line): Remove member. Not needed. Replace all occurrences of "type == command_line" with the equivalent, "command_line_arg". * src/ls.c: Apply the stat-failed parts of Red Hat's coreutils-selinux.patch. From Ulrich Drepper. This makes it so files not mentioned on the command line (e.g., names read from a directory that *is* mentioned on the command line) for which stat fails are still listed. With --color, such files are colored just like ORPHANs (aka dangling symlinks). * src/df.c (n_valid_args): Declare global to be static. 2006-07-24 Jim Meyering * tests/ls/stat-dtype: Skip this test on reiserfs, since that file system lacks d_type support. 2006-07-22 Paul Eggert * man/chmod.x: Update to reflect recent changes to coreutils.texi. 2006-07-21 Jim Meyering * src/su.c (usage): Correct typo in --help output: s/commmand/command/ Reported by Tim Waugh. Also remove the comment duplicating much of --help output. * src/ls.c (FILE_TYPE_INDICATOR_OPTION): Reposition this new name so the list remains alphabetized. Fix another bug: ls --indicator-style=file-type would call stat for a symlink, even though it wasn't always needed. In some cases, that unnecessary stat would cause ls to fail. * src/ls.c (gobble_file): Don't treat symlinks specially (in requiring a stat syscall). Remove the offending exclusion. * NEWS: Mention the fix. * tests/ls/stat-dtype: New file/test, for the above fix. Also exercises the new df feature, below. * src/df.c (main): Fail and don't print the headers if no file system is processed. This makes it easy to test whether a specified directory is on a file system of a given type or types. Otherwise, applications would have had to parse df's output. E.g., is "." either ext3 or reiserfs: df -t ext3 -t reiserfs . Fix a bug: ls --file-type worked like --indicator-style=slash, rather than like --indicator-style=file-type. * src/ls.c (FILE_TYPE_INDICATOR_OPTION): New enum member. (long_options): Map "file-type" to FILE_TYPE_INDICATOR_OPTION, not to 'p'. (decode_switches): Handle new case: FILE_TYPE_INDICATOR_OPTION. * NEWS: Mention the fix. * tests/ls-2/tests (file-type): New test, for the above fix. 2006-07-19 Jim Meyering * src/ls.c (print_dir): Give a better diagnostic for failed opendir. * Makefile.am (EXTRA_DIST): Add build-aux/vc-list-files. 2006-07-16 Paul Eggert * NEWS: chmod, install, and mkdir now leave setgid and setuid bits of directories alone unless you specify them explicitly. install and mkdir now implement X correctly. install now creates parent directories with mode 755, without changing their owner or group. * src/chmod.c (process_file): Adjust to mode_adjust API change. * src/install.c: Include mkancesdirs.h. (announce_mkdir, make_ancestor): New functions. (DEFAULT_MODE): New macro, specifying initial value of 'mode'. (mode): Use it. (dir_mode, dir_mode_bits): New vars. (main): Set dir modes separately from nondir, so that the X op of -m works correctly. (main): Remove cwd_errno cruft, since make_dir_parents no longer affects cwd. Adjust to new make_dir_parents API. (install_file_in_file_parents): 2nd arg is now char *, not char const *. Use mkancesdirs instead of rolling our own code. (change_attributes): Don't worry about AFS, since that kludge should not be needed any more. * src/mkdir.c (struct mkdir_options): New struct. (announce_mkdir, make_ancestor): New functions. (main): Use them. Adjust to mode_adjust API change. Stick with umask 0. Use make_dir_parents for all the work. * src/mkfifo.c (main): Adjust to new mode_adjust API. * src/mknod.c (main): Likewise. * tests/chmod/setgid: Do the setgid test instead of bailing. * tests/mkdir/p-3: Remove re_protect case that no longer applies. GNU chmod now behaves like other versions of chmod. * tests/mkdir/perm: Add a test for the X bug. 2006-07-14 Paul Eggert * src/base64.c (do_decode): Output to parameter OUT, not to stdout. This doesn't fix any bugs, since OUT always equals stdout, but it makes the code easier to understand. 2006-07-14 Jim Meyering * Makefile.maint (CVS_LIST): Use new file, build-aux/vc-list-files, rather than open-coding it. Now supports mercurial, too. * .hgignore: New file. * Makefile.am (EXTRA_DIST): Add .hgignore, which ignores nearly all generated files, including ones like configure and po/*.po that are currently version-controlled in cvs. * Makefile.am (EXTRA_DIST): Add a few more .??* files. They've been in CVS, just haven't been distributed before this. Distribute ChangeLog-2005, too. (MAINTAINERCLEANFILES): Add THANKS-to-translators. 2006-07-11 Paul Eggert * src/system.h: Assume exists, since gnulib assumes this now as well. 2006-07-09 Jim Meyering * tests/mv/dir2dir: Adjust so failing with ENOTEMPTY is ok, too. That happens with Linux/tmpfs. * tests/mv/Makefile.am (TESTS): Add dir2dir. 2006-07-09 Paul Eggert Adjust to recent updates from gnulib. * src/dd.c (apply_translations): Use toupper rather than islower followed by toupper; it's simpler and typically faster now that we assume at least C89 semantics. Similarly for tolower. * src/sort.c (inittables): Likewise. * src/expand.c (expand): Don't assume that isprint etc. return booleans (needed for pre-C99 hosts). * src/fmt.c (check_punctuation): Likewise. * src/ptx.c (initialize_regex, fix_output_parameters): Likewise. * src/tr.c (is_char_class_member): Likewise. * src/unexpand.c (unexpand): Likewise. * src/join.c (is_blank): Remove; no longer needed. All uses replaced by isblank (to_uchar (...)). * src/pinky.c (create_fullname): Don't assume char is unsigned. * src/printf.c (print_esc): Likewise. * src/ptx.c (SKIP_NON_WHITE, SKIP_WHITE, SKIP_WHITE_BACKWARDS): (copy_unescaped_string): Likewise. * src/stat.c (print_it): Likewise. * src/system.h (_D_EXACT_NAMELEN): Renamed from NLENGTH, for convenience on GNU systems. All uses changed. Don't bother looking for any dirent.h substitute other than ndir.h. (D_INO): Remove unnecessary parentheses. (IN_CTYPE_DOMAIN, ISGRAPH, ISPRINT, ISALNUM, ISALPHA): (ISCNTRL, ISLOWER, ISPUNCT, ISSPACE, ISUPPER, ISXDIGIT): (ISDIGIT_LOCALE, TOLOWER, TOUPPER): Remove. All uses changed to ctype.h equivalents. (isblank): Renamed from ISBLANK. Check for HAVE_DECL_ISBLANK too. All uses changed. 2006-07-08 Jim Meyering * tests/mv/dir2dir: New file, test for 2006-07-05 fix in copy.c. * Makefile.maint (sc_the_the): New rule. * src/dd.c (skip): Remove one of two adjacent "the"s in a comment. * tests/Coreutils.pm (run_tests): Remove one of two adjacent "then"s in a comment. 2006-07-07 Jim Meyering * NEWS: Mention that mv can now remove an empty destination directory, and give an example. Prompted by a report from Florent Bayle. 2006-07-05 Jim Meyering * src/ls.c (usage): Correct the description of -G: it is useful only in a long listing. Reported by Martin Pool in . * man/chmod.x: Correct the description of the sticky bit. Reported by Chris Moore via Ian Jackson in . * src/copy.c (copy_internal): Don't work around old NFS clients like SunOS-4.1.4 and Irix 5.3 that set errno to values like EIO and ENOTEMPTY upon failed rename. Otherwise, we risk misinterpreting a banal failure as a recursive move-into-self failure. Reported by Florent Bayle in . * src/c99-to-c89.diff: Regenerate, to remove fuzz. 2006-07-03 Jim Meyering Plug another unusual leak. (AD_mark_helper): Free malloc'd filename if hash_insert says that string is already in the hash table. The dev/inode of the topmost directory in each hierarchy were not being recorded. * src/remove.c (remove_cwd_entries): Don't call cycle_check here. (AD_push): Call it from here instead. Fix two small leaks. * src/remove.c (AD_stack_clear): New function. (rm_1): Use it. (AD_pop_and_chdir): Free *prev_dir just before longjmp. * tests/Makefile.am, tests/*/Makefile.am: (TESTS_ENVIRONMENT): Add $VG_PATH_PREFIX as a prefix to $PATH * tests/envvar-check (vars): Add CDPATH and POSIXLY_CORRECT. * tests/Makefile.am (evar-check): Remove rule. (EXTRA_DIST): Remove .env-warn. * tests/.env-warn: Remove file. No longer used. Suggestion from Eric Blake. 2006-07-02 Paul Eggert * src/system.h: Include unconditionally, since we now assume the stdint module. 2006-07-01 Paul Eggert * NEWS: With no operand, 'tail -f' now silently ignores the '-f' only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set. * src/tail.c (main): Implement this. * tests/tail/Test.pm (f-pipe-1): Renamed from f-1. (test_vector): Set POSIXLY_CORRECT for the f-pipe-* tests. 2006-07-01 Jim Meyering * src/ln.c (do_link): Use new, shorter URL, for ag-review link. * .x-sc_require_config_h: Add ^lib/xstrtold\.c$, so make distcheck passes once again. 2006-06-30 Paul Eggert * NEWS: seq now uses long double internally rather than double. It now defaults to a minimal fixed point format if possible. It lets you use %a, %A, %E, %F, %G. * src/Makefile.am (seq_LDADD): Remove $(SEQ_LIBM); add $(POW_LIB). * src/seq.c: Don't include or ; no longer needed. (isfinite) [!defined isfinite]: New macro. (separator, terminator): Now points to const. (first, step, last): Remove. (usage): Update to match new behavior. (struct operand, operand): New type. (scan_arg): Renamed from scan_double_arg, since we no longer use double. All uses changed. Compute and return a value of type operand, not double. (long_double_format): Renamed from valid_format, and now returns a new format with an "L" added if needed, if the original format was valid. Allow %a, %A, %E, %F, and %G formats. (print_numbers): Take numeric values as args rather than from globals. Print long double, not double. (get_width_format): Remove. (get_default_format): New function. (main): Implement new way of calculating default format. Don't worry about locale's representation of the decimal point, since the arguments are always processed in the C locale. * tests/seq/basic (neg-2): Adjust to new default format. (eq-wid-1, eq-wid-2): Resurrect these tests, since the new implementation should do the right thing. 2006-06-30 Jim Meyering * tests/stty/basic-1: Work around an intermittent test failure on HP-UX 11.11. Report and analysis from Bob Proulx. http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7475 2006-06-28 Paul Eggert * NEWS: Support obsolete usages like "sort +1 -2" even when conforming to POSIX 1003.1-2001, since this is a pure extension to POSIX. Problem reported by Christian in: http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00220.html * src/sort.c (main): Implement this. * src/system.h (CLOSEDIR): Remove. All uses changed to closedir. Autoconf 2.60 says this stuff was obsolete. 2006-06-28 Jim Meyering * src/c99-to-c89.diff: Regenerate, to remove fuzz. 2006-06-28 Bob Proulx (tiny change) * tests/mv/i-link-no: Work around HP-UX /bin/sh tracing problem (set -x when VERBOSE=yes) when stderr is redirected before stdout causing shell tracing of the stdout redirection to be written to the stderr file. Avoid problem and test failure on HP-UX by redirecting stderr last. * tests/dd/unblock-sync: Order shell file redirections for stderr and stdout in the common style. tests/acl: Likewise. 2006-06-27 Jim Meyering * tests/misc/cat-proc: Try to avoid any spurious numeric differences in frequently-changing /proc/cpuinfo. Reported by Nelson Beebe. 2006-06-26 Jim Meyering Attempt rmdir (actually, unlinkat-with-AT_REMOVEDIR) upon any fd_to_subdirp failure, not just when errno == EACCES. * src/remove.c (remove_dir): Use unlinkat-with-AT_REMOVEDIR, not rmdir, here, even though rmdir may happen to be adequate. * NEWS: rm no longer fails to remove an empty, unreadable directory * src/remove.c (remove_cwd_entries): If we can't open a directory, and the failure is not being ignored, try to remove the directory with rmdir (aka unlinkat-with-AT_REMOVEDIR), in case it's empty. Problem report and test case from Paul Eggert in . * tests/rm/empty-inacc: New test, for the above. Avoid a segfault for wc --files0=- < /dev/null. * src/wc.c (compute_number_width): Return right away if nfiles == 0. 2006-06-25 Jim Meyering * NEWS: wc accepts a new option --files0-from=FILE, where FILE contains a list of NUL-separated file names. * src/wc.c: Include "readtokens.h". (usage): Describe the new option, and adjust the `Usage': with this option, no FILE may be specified on the command line. (main): Handle the new option. * tests/misc/wc-files0: New tests, for the above. * tests/misc/wc-files0-from: Likewise. * tests/misc/Makefile.am (TESTS): Add wc-files0. 2006-06-24 Jim Meyering * src/md5sum.c (DIGEST_BUFFER): Remove now-unused definitions. 2006-06-22 Jim Meyering * src/tee.c (tee_files): Rename from tee, to avoid conflict with the function in glibc's . Reported by Andreas Schwab. 2006-06-19 Jim Meyering * Makefile.cfg (local-checks-to-skip): Add changelog-check, so this check is not run as part of "make distcheck". 2006-06-18 Bob Proulx (tiny change) * tests/misc/pwd-long: Fix typo (s/neq/ne/) in previous change. 2006-06-18 Jim Meyering * tests/misc/pwd-long: Make error output a little clearer. 2006-06-17 Jim Meyering * tests/rm/inaccessible: Skip this test on systems without openat support. Reported by Bob Proulx. 2006-06-15 Bob Proulx (tiny change) * tests/misc/mknod: Improve permission checks to handle running mkdir test in set-gid directories. 2006-06-14 Jim Meyering * tests/du/basic: Revamp not to hard-code file system block sizes. 2006-06-12 Ralf Wildenhues * tests/du/Makefile.am (TESTS_ENVIRONMENT): Pass $(PERL), for files0-from test. 2006-06-11 Jim Meyering * .gitignore: New file. * Makefile.am (EXTRA_DIST): Add .gitignore. Setting TIME_STYLE=long-iso in the environment would make the cp/same-file test fail. * tests/envvar-check (vars): Add TIME_STYLE to the list. * tests/cp/same-file: Revert last change. Source the envvar-check script, to ensure that TIME_STYLE settings don't affect these tests. 2006-06-11 Paul Eggert * tests/cp/same-file: Execute 'ls' in the C locale, so that it uses POSIX time stamp formats. Problem reported by John Nixon in . 2006-06-10 Jim Meyering * NEWS: Mention the AIX-strndup-bug vs. dircolors workaround. Require a "Version N.M" line at the top of the ChangeLog file only when making the actual release, not when running "make distcheck". * Makefile.maint (maintainer-distcheck): Don't depend on changelog-check. (alpha beta major): Depend on it here, instead. 2006-06-08 Jim Meyering Ensure that cat works with any of the options, -A -v -e -E -T, when applied to files in /proc and /sys, even when the FIONREAD ioctl produces nonsensical results. Before this change, cat would produce no output (or truncated output), for some linux kernels. * src/cat.c (write_pending): New function, factored out of cat. (cat): Also interpret a negative ioctl/FIONREAD count as indicating that there are bytes to read. Some versions of linux-2.6.16 do that. Write any pending output before returning. Reported by Dan Jacobson in . * NEWS: Mention this bug fix. * tests/misc/cat-proc: New file. Test for the above. * tests/misc/Makefile.am (TESTS): Add cat-proc. 2006-06-07 Paul Eggert * src/expr.c (eval4): Detect overflow properly when multiplying INTMAX_MIN * -1. 2006-06-06 Paul Eggert * NEWS: The 'expr' command now detects and reports integer overflow. (It would be better to use extended precision instead, but that would be more work.) * src/expr.c (integer_overflow): New function. (eval4, eval3): Check for integer overflow. 2006-06-05 Paul Eggert Fix problems when building with Solaris/SVR4/etc. make, which uses a different and somewhat bogus implementation of VPATH. In the directory tests/misc, rename tests whose names might appear in the Automake-generated rules. For example, we can't use a test named 'test', since Automake generates a rule that contains the text "if test -f ./$$tst; ...", and this might expand to something like "if ../../../coreutils-6.0/tests/misc/test -f ./$$test; ...", which executes the 'test' script rather than the 'test' command. * tests/misc/false-status: Renamed from tests/misc/false. * tests/misc/pwd-long: Renamed from tests/misc/pwd. * tests/misc/sort-merge: Renamed from tests/misc/sort. ($prog): Set to 'sort' rather than to $PROG. * tests/misc/test-diag: Renamed from tests/misc/test. * tests/misc/Makefile.am (PROG): Take the basename of $$tst, in case Solaris make has prepended the directory. (TESTS): Adjust to above renamings. * tests/misc/expand: Don't assign to PROG; no longer needed now that Makefile.am sets PROG to the basename. * tests/misc/fold: Likewise. 2006-06-03 Jim Meyering Make `cp --link --no-dereference' work also on systems where the link system call cannot create a hard link to a symbolic link. * src/copy.c (copy_internal) [LINK_FOLLOWS_SYMLINKS]: Don't use the link syscall on a symlink when it would do the wrong thing. Based on the patch by Aurelien Jarno: * tests/cp/link-no-deref: New file/test for the above. * tests/cp/Makefile.am (TESTS): Add link-no-deref. * NEWS: Mention the change (doesn't affect Linux). 2006-06-01 Paul Eggert Fix some porting problems in the test cases reported by Ralf Wildenhues for HP-UX 11.23 in: http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00238.html * tests/help-version: Don't assume that \< \> works in sed. * tests/misc/close-stdout: Don't assume that >&- works. Add a /dev/full test. * tests/touch/no-create-missing: Don't assume that >&- works. 2006-05-30 Jim Meyering * src/ls.c (usage): Add `v' to the list of sorting-related options. From Justin Pryzby. 2006-05-28 Ralf Wildenhues * tests/cp/fail-perm: source lang-default. * tests/rm/inaccessible: Likewise. 2006-05-28 Jim Meyering * tests/rm/inaccessible: AIX 4.3.3 gives a different diagnostic. Recognize it, too. Reported by Ralf Wildenhues, in http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html 2006-05-27 Jim Meyering * src/chgrp.c: Support new options: --preserve-root and --no-preserve-root. Somehow this program was skipped when those options were added to chown, chmod, and rm. Reported by vaqflabuopac@spammotel.com in . * NEWS: Mention this. 2006-05-25 Paul Eggert * NEWS: Remove mention of --seed. We'll replace it with something better, and don't want to indicate that it is supported. * src/sort.c (usage): Likewise. 2006-05-20 Jim Meyering * src/chmod.c (main): Use FTS_PHYSICAL here, too. * src/du.c (main): Rename local, s/symlink_deref_bit/symlink_deref_bits/ and arrange for -D to set fts' FTS_PHYSICAL bit as well as FTS_COMFOLLOW. Spotted by Justin Pryzby. * gnupload: Merge changes from automake, retaining the ""--to... kludge to placate overzealous `make distcheck' check. 2006-05-19 Jim Meyering * src/du.c (main): Don't let -D, -L, or -P turn off the internal FTS_TIGHT_CYCLE_CHECK directory traversal option. Reported by Justin Pryzby in http://bugs.debian.org/367691 2006-05-15 Jim Meyering * src/cp.c (usage): Correct description of -a: s/-dpR/-dpPR/. From Tomas Pospisek. 2006-05-13 Jim Meyering * tests/mv/no-target-dir: Test two more cases. 2006-05-11 Jim Meyering mv -T DIR EMPTY_DIR no longer fails unconditionally * src/copy.c (copy_internal): Don't manually prohibit a move where the destination is an existing directory. Sometimes doing that is valid. Let the rename system call enforce the rules. That is allowed only when the source is a directory and the destination directory (to be replaced) is empty. Reported by Eric Blake. * tests/mv/no-target-dir: New file/test for this. * tests/mv/Makefile.am (TESTS): Add no-target-dir. * NEWS: Mention this. * tests/mv/atomic: New file/test for yesterday's fix. * tests/mv/Makefile.am (TESTS): Add atomic. * tests/du/long-sloop: Avoid harmless `ambiguous redirect' diagnostic. 2006-05-10 Jim Meyering * src/copy.c (copy_internal): Don't explicitly unlink the destination when moving a symlink into the place of an existing non-directory. Reported by Joshua Hudson. * NEWS: mention this. 2006-05-07 Jim Meyering * Makefile.maint (patch-check): Fail if patch generates any output, even merely for changed offsets. * src/c99-to-c89.diff: Adjust to reflect new offsets. * NEWS: Mention changes affecting df, pwd, shred. 2006-05-06 Jim Meyering * tests/ls/stat-vs-dirent: New test, to detect the bogus file system condition where dirent.d_ino != stat.st_ino. * tests/ls/Makefile.am (TESTS): Add stat-vs-dirent. 2006-05-06 Eric Blake * tests/ls/inode: Expand to test inode from readdir case. * tests/ls/follow-slink: Expand to test broken links encountered implicitly, favoring Solaris 9 and OpenBSD 3.4 behavior. 2006-05-06 Eric Blake * tests/mv/leak-fd: Work even on case-insensitive file system. 2006-05-04 Jim Meyering * NEWS: Mention the 2006-03-19 pwd-related change that makes lib/getcwd.c work around inconsistent file system dirent.d_ino data. 2006-05-03 Jim Meyering * src/ls.c (DEFINE_SORT_FUNCTIONS, LIST_SORTFUNCTION_VARIANTS): Use better macro parameter names: s/basename/key_name/, s/basefunc/key_cmp_func. Fix typo in comment. 2006-04-29 Eric Blake * src/ls.c (main): On systems with d_type, directories_first only implies format_needs_type, not format_needs_stat. 2006-05-03 Jim Meyering * src/ls.c (xstrcoll_df_version, rev_xstrcoll_df_version): Add space after comma in arg list, from Eric Blake. 2006-04-25 Paul Eggert * tests/misc/date (relative-3): New test, derived from a bug report by John Thomas McDole. 2006-04-23 Francesco Montorsi New option for ls: --group-directories-first. It makes ls list directories before files. * NEWS [New features]: Mention it. * src/ls.c (sort_type): Rearrange to use as an array index when choosing sort function; added new sort_numtypes member for compile-time check. (time_type): Add new time_numtypes member for compile-time check. (directories_first): New global variable. (GROUP_DIRECTORIES_FIRST_OPTION): New enum. (long_options): Add --directories-first. (main): Support new option. (is_directory): New function. (extract_dirs_from_files): Use it. (DIRFIRST_CHECK, DEFINE_SORT_FUNCTIONS) (LIST_SORTFUNCTION_VARIANTS): New macros. (sort_functions): New global variable. (sort_files): Use it. (usage): Document new option. 2006-04-18 Paul Eggert * src/shred.c (fillrand): The assertion was way too weak, due to what must be a typo. Strengthen it to its intended value. (dopass): Don't use alloca; it's not worth the aggravation here, since it's used only to get a page-aligned buffer, and page alignment doesn't buy us much here. I'm suspicious that alloca causes problems on some hosts, due to a recent bug report by Adam Waltman: http://bugs.gentoo.org/130246. 2006-04-18 Jim Meyering * tests/misc/tty-eof: Add new programs, base64, sha224sum, sha256sum, sha384sum, sha512sum. 2006-04-17 Paul Eggert * src/chmod.c (describe_change): Adjust to filemode changes. * src/ls.c (HAVE_ST_DM_MODE): Remove; moved to ../lib/filemode.c. (print_long_format): Use (new) filemodestring rather than (old) mode_string, so that we get more file types right, at least in theory. Adjust to filemode changes. * src/stat.c (human_access): Likewise. 2006-04-18 Jim Meyering * src/ptx.c (main) [DEFAULT_IGNORE_FILE]: Remove code to use a default ignore file. This has never been enabled. Reported by Eric Blake. 2006-04-12 Paul Eggert * src/ln.c (linkfunc): Remove. This method ran into a compiler/linker bug in Interix. Just call symlink or link directly. All uses changed. * src/setuidgid.c (main) [! HAVE_SETGROUPS]: Don't call setgroups. * src/stat.c (USE_STATVFS): New macro. Include and use statvfs only if USE_STATVFS. (NAMEMAX_FORMAT): define a bit more clearly, now that the statvfs-using code is a bit more regular. * src/system.h (sync) [!HAVE_SYNC]: New macro. 2006-04-11 Paul Eggert * NEWS: csplit, nl, expr now conform to POSIX better, and are more-compatible with traditional Unix, with respect to regular expressions. * src/csplit.c (extract_regexp): Set re_syntax_options to a value that is compatible with what POSIX requires. * src/nl.c (build_type_arg): Likewise. * src/expr.c (docolon): Likewise. Also, don't let anchors match newline; this fixes an incompatibility with tradition and with POSIX. Don't warn about leading ^. POSIX says it is unspecified whether ^ is a special character, which means that implementations can either treat it as special or not, but either way a warning is not allowed (unless the regexp is otherwise invalid). Instead, anchor the expression but treat ^ as an anchor; this is the traditional behavior (e.g., Solaris 10). (eval4, eval3, eval2): Treat non-numeric args, division by zero, and the like as invalid expressions (exit status 2), not as failure of 'expr' (exit status 3). This is more consistent with how Solaris behaves. * tests/expr/basic (fail-a): Adjust exit status to match new expr behavior, for status 2 versus 3. (anchor): New test. (bre1, bre2, bre3, bre4, bre5, bre6, bre7, bre8, bre9, bre10): (bre11, bre12, bre13, bre14, bre15, bre16, bre17, bre18, bre19, bre20): (bre21, bre22, bre23, bre24, bre25, bre26, bre27, bre28, bre29, bre30): (bre31, bre32, bre33, bre34, bre35, bre36, bre37, bre38, bre39, bre40): (bre41, bre42, bre43, bre44, bre45, bre46, bre47, bre48, bre49, bre50): (bre51, bre52, bre53, bre54, bre55, bre56, bre57, bre58, bre59, bre60): (bre61, bre62): New tests. * tests/misc/csplit: Use \{...\} in test RE, to test that we're conforming to POSIX. Port to Solaris 8. * tests/du/long-from-unreachable: Solaris 8 sh doesn't understand "if !". Do not assume that 'sed' can handle long, newline-free input. * tests/du/long-sloop: Likewise. Evaluate expr once, not $n times. 2006-04-10 Paul Eggert Adjust to new regex.h API (with new fastmap type), and clean up the regex storage allocation a bit. * src/csplit.c (struct control): Put re_compiled member at the end, since it's large. Change regexpr member from char * to bool; all uses changed. Add new member fastmap. (extract_regexp): regexp arg is now char const *, not char *. Don't bother duplicating the regular expression; it's not needed. Set fastmap from new fastmap member. Don't bother allocating a buffer, as the regexp code does a better job than we do. * src/expr.c (docolon): Allocate and use a fastmap. Don't bother allocating a buffer. * src/nl.c (body_fastmap, header_fastmap, footer_fastmap): New vars. (build_type_arg): New fastmap arg. All uses changed. Don't bother allocating a buffer, but set a fastmap. * src/ptx.c (context_regex_string, word_regex_string): Remove. (context_regex, word_regex): New vars, replacing the above. All uses changed. (struct regex_data): New type. (compile_regex): Renamed from alloc_and_compile_regex, since we no longer allocate storage. Arg is now a struct regex_data *, not a const char *. All uses changed. Don't allocate the fastmap; instead, take it from the caller. Don't convert size_t to int, to avoid arithmetic overflow problems. Don't bother freeing storage afterwards; it's not worth the aggravation. * src/tac.c (compiled_separator_fastmap): New ver. (main): Use it. Don't bother allocating a buffer. 2006-03-30 Jim Meyering * src/dd.c (iwrite): Remove assignment without effect. Reported by Felix Rauch Valenti. 2006-03-22 Eric Blake * src/ptx.c (usage): Remove mention of --copyright/-C. (main): Alias --copyright to --version plus a deprecation warning. * NEWS: Mention this. 2006-03-27 Jim Meyering * src/Makefile.am (uptime_LDADD): Add $(POW_LIB), for uptime's use of strtod. Tiny patch from Nickolai Zeldovich. 2006-03-11 Eric Blake * tests/misc/dirname: New file. * tests/basename/Makefile.am: Delete. * tests/basename/basic: Move to... * tests/misc/basename: ... this new file. Add some tests, including fixed behavior for //. * tests/misc/Makefile.am (TESTS): Sort. Add basename, dirname. * tests/Makefile.am (SUBDIRS): Remove basename. * configure.ac (AC_CONFIG_FILES): Remove tests/basename. Improvements to dirname/basename handling on platforms like cygwin with distinct // and with drive letters. * NEWS: Document new behavior. * src/basename.c (main): Don't strip suffix from file system roots. * src/cp.c (target_directory_operand): Use new last_component. (ASSIGN_BASENAME_STRDUPA): Likewise. Reduce time spent traversing the string. * src/dircolors.c (guess_shell_syntax): Use new last_component. * src/install.c (target_directory_operand, install_file_in_dir): Likewise. * src/ln.c (target_directory_operand, main): Likewise. * src/ls.c (basename_is_dot_or_dotdot): Likewise. * src/mv.c (target_directory_operand, movefile): Likewise. * src/remove.c (rm_1): Likewise. * src/shred.c (wipename): Likewise. * src/split.c (next_file_name): Likewise. * src/su.c (log_su, run_shell): Likewise. 2006-03-23 Paul Eggert * NEWS: nohup diagnostics are now more precise, and nohup now redirects stderr to nohup.out if stdout is closed and stderr is a tty. * src/nohup.c (main): Implement this. * tests/misc/nohup: Test the new behavior. 2006-03-12 Jim Meyering * src/copy.c (set_author): Rename function, from preserve_author. * src/remove.c (AD_pop_and_chdir): Use new macro, CYCLE_CHECK_REFLECT_CHDIR_UP, rather than open-coding it. * src/system.h (SAME_INODE): Remove definition. Include "same-inode.h", instead. 2006-03-11 Eric Blake * src/pwd.c (robust_getcwd): Prepend only one slash, not two. 2006-03-10 Jim Meyering Fix a bug whereby a user with write access to a directory being removed could cause the removal of that directory to fail with an erroneous diagnostic about a directory cycle. Reported by Vineet Chadha. * NEWS: Mention this. * src/remove.c (AD_pop_and_chdir): If the directory we're about to leave (and try to rmdir) is the one whose dev_ino is being used to detect a cycle, reset cycle_check_state.dev_ino to that of the parent. 2006-03-08 Paul Eggert * NEWS: Document dd's new 'directory' and 'nolinks' flags. * src/dd.c (set_fd_flags): Handle file-creation flags on file descriptors, rather than ignoring them. * tests/dd/misc: Add test cases for append, nofollow, directory, and nolinks flags. Simplify redirection to /dev/null in some cases. * tests/dd/misc: iflags->iflag. This fixes a typo that meant the noatime test never tested anything. 2006-03-05 Paul Eggert * src/dd.c (flags, usage): New flags directory, nolinks. * src/system.h (O_NOLINKS): Define to 0 if not already defined. * src/ls.c (usage): Mention that -f disables --color. Problem reported by Niels Möller. 2006-03-03 Justin Pryzby * man/*.x: Add references to syscalls from utilities of the same name. 2006-03-05 Jim Meyering * tests/help-version: Set SHELL, if not already set, in order to avoid failure when `make check' is run through debuild; dircolors would fail due to lack of $SHELL. Reported by Sven Joachim. Make `base64 --wrap=N' work for N=0, and for N larger than SIZE_MAX. * src/base64.c (wrap_write, do_encode, main): Change type of parameters and locals, wrap_column, form size_t to uintmax_t. (main): Adjust to use xstrtoumax, accordingly. 2006-03-03 Jim Meyering Don't fail when run from an environment with SHELL not a Bourne shell, e.g. `env SHELL=/bin/csh make check' would fail this test. * tests/dircolors/simple: Invoke each non-failing test with -b. Reported by Michael Stone. 2006-02-27 Jim Meyering * tests/misc/base64: Derive --decode-using tests from the encode-based ones. * tests/misc/base64: Factor out a long constant string. Split lines to stay within 80 columns. * tests/misc/Makefile.am (TESTS): Add base64. * tests/misc/base64: Test base64. From Simon Josefsson. * src/base64.c (do_decode): Use correct type for parameter, ignore_garbage: s/size_t/bool/. * src/base64.c: Don't include .h files already included by system.h: , , , , . Include "system.h" before the other lib/*.h header files. Include before "system.h". (wrap_write): Remove declaration of unused local, initial_column. (wrap_write): Correct declaration syntax: s/size_t * V/size_t *V/. * README: Add base64 to the list. 2006-02-17 Simon Josefsson New program: base64. * AUTHORS: Mention base64. * NEWS: Likewise. * man/Makefile.am: Build base64.1. * man/base64.x: New file. * src/Makefile.am (bin_PROGRAMS): Add base64. * src/base64.c: New file. 2006-02-25 Eric Blake In ls, avoid calling stat for --inode (-i), when possible. * src/pwd.c (NOT_AN_INODE_NUMBER, D_INO): Move to ... * src/system.h: ... here, for use in ... * src/ls.c (main): ... here. Prefer dirent.d_ino to stat when possible. (gobble_file): Add inode argument. (print_dir): Pass inode if available. (usage): Remove inaccuracy. 2006-02-23 Jim Meyering * TODO: Update/correct some obsolete entries. 2006-02-20 Paul Eggert * doc/coreutils.texi (join invocation): Mention `sort -k 1b,1'. * src/join.c (usage): Likewise. Documentation problem reported by Philip Kensche. 2006-02-20 Eric Blake * man/rm.x: Update documentation to match previous patch. 2006-02-18 Eric Blake New option for rm: --interactive=once (-I). * NEWS: Document it, along with change to rm --interactive. * TODO: Remove entry for implementing rm -I * src/rm.c (INTERACTIVE_OPTION): New enum value. (interactive_type): New enum. (long_opts): Let interactive take an optional argument. (interactive_args, interactive_types): New option arguments. (usage): Document -I, --interactive=WHEN. Use program_name instead of a basename. (main): New -I option, new behavior to --interactive. * tests/rm/interactive-once: New tests. * tests/rm/interactive-always: Ditto. * tests/rm/Makefile.am (TESTS): Run them. 2006-02-18 Jim Meyering * Makefile.maint (sc_two_space_separator_in_usage): Make the regular expression match more of the target lines, e.g., those that start with `-S,' (short option followed by a comma) or that include `=[...]'. Patch by Nicolas François. Fix the four offenders thus exposed: * src/join.c (usage): Use two spaces (not one) to separate the --first-only option string from its description, so help2man formats the derived man page properly. * src/pr.c (usage): Likewise. * src/uniq.c (usage): Likewise. * src/install.c (usage): Likewise. 2006-02-15 Jim Meyering * Makefile.maint (alpha beta major): For `make major', ensure that the version string is of the form N.N[.N]*, where N is one or more digits. 2006-02-14 Jim Meyering * INSTALL: Update from gnulib. 2006-02-13 Jim Meyering * GNUmakefile (all): Emit diagnostics to stderr, not stdout. 2006-02-12 Jim Meyering * Makefile.maint (patch-check): New target. (local-checks-available): Add to the list. 2006-02-11 Jim Meyering * src/c99-to-c89.diff: New file. * src/Makefile.am (EXTRA_DIST): Add c99-to-c89.diff. * .x-po-check: New file, with exclusions so that `make distcheck' passes once again. * Makefile.am (EXTRA_DIST): Add .x-po-check. rm -r must remove an empty directory, even if it is inaccessible. * src/remove.c (close_preserve_errno): New function. (fd_to_subdirp): Don't print a diagnostic in this function. Do it from the callers instead, unless rmdir succeeds. (remove_cwd_entries, remove_dir): Adjust callers. * tests/rm/empty-inacc: New test for the above. * tests/rm/Makefile.am (TESTS): Add empty-inacc. * NEWS: Mention this bug fix. * tests/rm/rm2: Adjust two expected diagnostics, now that they're a tiny bit less precise: cannot remove `a/1': ... instead of cannot open directory `a/1': ... * Makefile.maint (syntax-check-rules): Automatically derive this list of sc_-prefixed rule names. 2006-02-10 Paul Eggert * Makefile.maint (CVS_LIST): Don't assume cvsu is available. (CVS_LIST_EXCEPT): New macro, to simplify exception-processing. Most uses of CVS_LIST changed to use CVS_LIST_EXCEPT. (syntax-check-rules): Bring back sc_changelong. (Hmm, why did it go away? was that an accident?) (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value): (sc_cast_of_alloca_return_value, sc_space_tab, sc_prohibit_atoi_atof): (sc_error_exit_success, sc_file_system, sc_no_if_have_config_h): (sc_system_h_headers, sc_sun_os_names, sc_trailing_blank): (sc_two_space_separator_in_usage, sc_unmarked_diagnostics): (sc_obsolete_symbols, sc_changelog, sc_prohibit_jm_in_m4): (sc_useless_cpp_parens, makefile-check, m4-check, po-check): (author_mark_check, makefile_path_separator_check): Output line numbers, to simplify navigation of Emacs *compilation* buffers. (sc_prohibit_atoi_atof, sc_file_system): Rework slightly so that Makefile.maint doesn't get reported as a violation of its own syntax rules. (sc_dd_max_sym_length): Use ifneq to do nothing, instead of doing it at run-time (which didn't work with Bison). Fix a makefile typo, caught by Makefile.maint itself: spaces where a tab should be. (po-check): Check lib/*.[ch] even if not in CVS; used by Bison, which copies from ../gnulib/lib/*.[ch] to lib/*.[ch]. Ignore djgpp and man subdirectories, to avoid false matches with Bison and coreutils, respectively. Use sort -u to remove the resulting duplicates. * gnupload: Rework slightly to avoid bogus warning from sc_two_space_separator_in_usage. 2006-02-10 Jim Meyering Use gzip's --rsyncable option only if it's available. * Makefile.maint (gzip_rsyncable): New variable. (GZIP_ENV): Use it. 2006-02-08 Jim Meyering * Makefile.maint (local-checks-available): Define in terms of the expansion, $(syntax-check-rules), rather than the single, top-level target `syntax-check', so that it's easier to exclude individual rules (via $(local-checks-to-skip)). (tgz-md5, tgz-sha1, ...): Remove now-unused definitions. 2006-02-07 Jim Meyering * src/system.h (!defined O_DIRECT): If O_DIRECTIO is defined (as it is on Tru64), define O_DIRECT to that. Patch From James Lemley. * tests/help-version (expected_failure_status_vdir): Redirect an expected disk-full diagnostic to /dev/null. 2006-02-06 Jim Meyering * src/unexpand.c (usage): Use two spaces (not one) to separate the --first-only option string from its description, so help2man formats the derived man page properly. * src/rm.c (usage): Likewise for --no-preserve-root. * src/chown.c (usage): Likewise. * src/chgrp.c (usage): Likewise. Add a rule to ensure that the above doesn't happen again. * Makefile.maint (sc_two_space_separator_in_usage): New rule. (syntax-check-rules): Add it. * .x-sc_two_space_separator_in_usage: New empty file. * Makefile.am (EXTRA_DIST): Add .x-sc_two_space_separator_in_usage. 2006-02-06 Jim Meyering * src/cp.c (usage): Use two spaces (not one) to separate each option string from its description, so help2man formats the derived man page properly. * src/mv.c (usage): Likewise. Patch from Nicolas François in http://bugs.debian.org/351601. 2006-02-04 Jim Meyering * src/copy.c (copy_internal): cp -RL would fail when encountering the same directory more than once in the hierarchy beneath a single command-line argument. That is legitimate, e.g. when there are two or more symbolic links, each pointing to some directory that would not otherwise be copied. Reported by Christophe LYON. * tests/cp/cp-deref: New file. Test for today's fix. * tests/cp/Makefile.am (TESTS): Add cp-deref. * NEWS: Document this. 2006-02-03 Jim Meyering * configure.ac: Require automake-1.9.6, not 1.8.3. 2006-02-01 Paul Eggert * src/od.c (usage): Mention that -t a ignores high order bit. Documentation problem reported by Ed Avis. 2006-02-01 Jim Meyering * src/pwd.c (find_dir_entry): Remove unused local, `ent_sb_valid'. 2006-01-30 Paul Eggert * src/head.c (main): Use a better diagnostic when someone uses a trailing numeric option in an invalid way. Problem reported by Karl Berry. * src/tail.c (parse_options): Likewise. 2006-01-30 Jim Meyering * man/wc.x: Include `count' keyword in man page synopsis, per suggestion from http://bugs.debian.org/181585. 2006-01-24 Paul Eggert * src/df.c (show_dev): If the file system claims to have more available than total blocks, report the number of used blocks as being total - available (a negative number) rather than as garbage. Problem reported by Toralf Foerster. 2006-01-24 Jim Meyering * src/tail.c (tail_forever): Don't exit-nonzero when an attempt to put a regular file in O_NONBLOCK mode fails with EPERM. That happens on Linux (up to 2.6.15) when using tail -f on a file with the append-only attribute. Reported by Dean Gaudet. For details, see http://savannah.gnu.org/bugs/?func=detailitem&item_id=15473. * NEWS: Mention this fix. * tests/tail-2/append-only: New file. Test for the above. * tests/tail-2/Makefile.am (TESTS): Add append-only. * tests/Makefile.am (check-root): Add tail-2/append-only 2006-01-21 Jim Meyering * NEWS: Mention fts-related improvements and bug fixes. 2006-01-19 Jim Meyering * tests/fmt/basic (pfx-1, pfx-2): New tests, to demonstrate the bug reported as http://bugs.debian.org/147577. Forwarded by Thomas Hood. 2006-01-18 Jim Meyering * tests/du/Makefile.am (TESTS): Add long-from-unreadable. 2006-01-17 Jim Meyering Now that fts no longer changes the current working directory, adjust its clients accordingly -- note that du.c uses fts but doesn't need any adjustment, since it doesn't operate on the actual files, but rather just uses the stat buffers provided by fts. * src/chown-core.c: Include "openat.h". Don't include "lchown.h". (restricted_chown): Accept a new parameter, CWD_FD, and use it in calling openat, lchownat, chownat, rather than open, lchown, chown. Update caller. * src/chmod.c: Include "openat.h". (process_file): Use chmodat (fts->fts_cwd_fd,... in place of chmod (... * tests/du/long-from-unreadable: New test, to exercise one small corner of fts.c. 2006-01-13 Jim Meyering * tests/Makefile.am (SUBDIRS): Add comments discouraging the addition of new directories under tests/. * tests/acl: Redirect stdin to /dev/null. Otherwise, FreeBSD 5.0's getfacl would hang. 2006-01-12 Jim Meyering * tests/du/long-sloop: Adjust not to hard-code the expected diagnostic corresponding to ELOOP. Solaris' diagnostic differs from that of GNU libc. Reported by Paul Eggert. * tests/du/long-sloop: Create file at end of symlink chain. * tests/misc/test: New file, with a test for one of the bugs fixed by yesterday's test.c changes. * tests/misc/Makefile.am (TESTS): Add test. 2006-01-11 Jim Meyering * tests/du/long-sloop: New file. Test for today's fts.c bug fix. That bug could make du -L, chgrp -L, or chown -L fail to diagnose a very long sequence of symbolic links (not necessarily a loop). * tests/du/Makefile.am (TESTS): Add long-sloop. 2006-01-11 Paul Eggert * src/test.c (test_syntax_error): Append a newline. All callers changed, except for the ones that didn't already append a newline. Bug reported by Eric Blake. 2006-01-11 Jim Meyering * src/system.h (X2NREALLOC): Now that verify_true is no longer void, cast its result to void, to avoid gcc's warning that ``left-hand operand of comma expression has no effect''. (DECIMAL_DIGIT_ACCUMULATE, X2REALLOC): Likewise. 2006-01-10 Jim Meyering * tests/chmod/no-x: Add a test for today's fts.c fix. 2006-01-10 Jim Meyering (tiny change) * src/ls.c (gobble_file): Use DTTOIF only if it's defined. This is necessary for Dragonfly. Patch by Joerg Sonnenberger. 2006-01-10 Paul Eggert * src/system.h (X2NREALLOC, X2REALLOC, DECIMAL_DIGIT_ACCUMULATE): Use verify_true instead of verify_expr, to sync with gnulib. 2006-01-08 Jim Meyering * src/date.c (usage): Adjust the formatting of the entries for %::z and %:::z (separate with two spaces, not one) so that help2man formats them properly. Reported by Philip Rowlands. 2006-01-06 Paul Eggert * configure.ac (gl_IGNORE_UNUSED_LIBRARIES): Add. 2006-01-06 Jim Meyering * Makefile.maint (copyright-check): Use date +%Y in place of hard-coded 2005. * src/remove.c (rm_1): Remove `static' attribute on local `status'. First off, the attribute should have been `volatile' (not static) to avoid longjmp-related risk of clobber. Secondly, now there is no longer any risk of a local variable being clobbered, so there's no need for any attribute at all. 2006-01-05 Jim Meyering * src/remove.c: Give a few functions the inline attribute. (AD_pop_and_chdir): Use gotos to avoid some duplication. (AD_push): Rewrite an assertion so that the entire computation goes away when assertions are turned off. * src/tail.c (ENOSYS) [!defined ENOSYS]: Don't define here. It's already defined in "system.h". * Makefile.maint: Add a FIXME comment. 2006-01-04 Jim Meyering * ChangeLog: Remove entries from 2005-10-22 and earlier. * ChangeLog-2005: New file, for entries up to version 5.92. 2006-01-03 Jim Meyering * tests/du/no-x: Also allow a slightly different diagnostic -- the one you get when using openat-enabled fts.c and du (coming soon). * tests/chmod/no-x: Likewise. * tests/chgrp/no-x: Likewise. * src/system.h (O_DIRECTORY) [!defined O_DIRECTORY]: Define. 2006-01-02 Paul Eggert * src/chown-core.c (RC_do_ordinary_chown): New enum value. (restricted_chown): Return it, if the file cannot be accessed due to EPERM, or if no uid or gid are required, or if the file is neither a directory nor a regular file. Rewrite to avoid gotos. (change_file_owner): Handle RC_do_ordinary_chown case. Rewrite to avoid gotos. * tests/chgrp/basic: Make sure we can change the group of inaccessible files. * src/date.c (usage): Explain %g, %G, and %V a bit better. 2006-01-02 Jim Meyering * src/copy.c (set_owner): Correct a comment. * src/tail.c (parse_options): Change warning to say that --retry is useful `mainly' (not `only') when following by name. Reported here: http://bugs.debian.org/273781 2006-01-01 Paul Eggert * NEWS: Document that mkfifo and mknod -m no longer set special bits. * src/copy.c: Include lchmod.h. (copy_internal): Use lchmod rather than chmod. * src/cp.c: Include lchmod.h. (re_protect, make_dir_parents_private): Use lchmod rather than chmod. * src/mkdir.c: Include lchmod.h. (usage): Clarify -m's operation. (main): Use lchmod rather than chmod. Don't use lchmod unless the new mode contains bits outside the 777 range. * src/mkfifo.c (usage): Clarify -m's operation. (main): If -m is given, don't invoke chmod; use umask 0 instead. Report an error if -m asks for bits outside the 777 range. * src/mknod.c (usage, main): Likewise. * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes. ----- Copyright (C) 2006-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/old/0000775000000000000000000000000012107207516011205 500000000000000coreutils-8.21/old/textutils/0000775000000000000000000000000012107207522013247 500000000000000coreutils-8.21/old/textutils/NEWS0000664000000000000000000005403012102337340013665 00000000000000Changes in release 2.1 [2.0.22] * `od -t f8' works once again [bug introduced in textutils-2.0.8] * various portability fixes, and general clean-up * various minor, corner-case bug fixes [2.0.21] * split accepts new option -a or --suffix-length. * split no longer generates longer suffixes than requested; instead, it reports an error when suffixes are exhausted. POSIX requires this behavior. * The _POSIX2_VERSION environment variable lets you select which version of POSIX the utilities should conform to. Its default value is system dependent. Set _POSIX2_VERSION=199209 to cause the utilities to support obsolete usage like "sort +1". * The following obsolete usages are no longer supported when conforming to POSIX 1003.1-2001, which (at the time this change was made) was thought to say that implementations must reject most digit-string options: expand -N (instead, use expand -t N) head -N (instead, use head -c N or head -n N) fold -N (instead, use fold -w N) split -N (instead, use split -l N) tail -N (instead, use tail -c N or tail -n N) unexpand -N (instead, use unexpand --first-only -t N) uniq -N (instead, use uniq -f N) The following obsolete usages (options without arguments) are no longer supported when conforming to POSIX 1003.1-2001, which (at the time this change was made) was thought to say that implementations must reject options with optional arguments: od -s (instead, use od --strings) od -w (instead, use od --width) pr -S (instead, use pr --sep-string) [2.0.20] * tr no longer gets failed a assertion for [==] or [::] * The following obsolete usages are no longer supported when conforming to POSIX 1003.1-2001, which says that arguments with leading "+" are file names in these contexts: sort +POS1 (instead, use sort -k) tail +N (instead, use tail -c +N or tail -n +N) uniq +N (instead, use uniq -s N) * Warnings are issued for obsolete usages on older hosts, unless POSIXLY_CORRECT is set in the environment. * sort -m no longer segfaults when given an empty file * sort -S now accepts 'K' as a synonym for 'k'. * wc recognizes all locale-defined white-space characters, not just those in the "C" locale. [2.0.19] * portability tweak to make lib/regex.c compile * split translatable strings only in the middle of sentences [2.0.18] * sort could segfault on systems without a working mkstemp function and with a gettimeofday function that clobbers the static buffer that localtime uses for it's return value -- introduced in 2.0.17 [2.0.17] * csplit no longer gets a failed assertion for this: printf 'a\n\n'|csplit - '/^$/' 2 * sort detects physical memory attributes more portably * tail no longer gets a segfault on Linux's /proc/ksyms * sum -s produces the proper 16-bit checksum for large files (this fixes a bug that was introduced in 2.0f) * uniq is now about 3 times faster than the version from 2.0 on Linux systems; the code uses lock-avoiding variants of common I/O functions [2.0.16] * tail -F no longer segfaults [2.0.15] * `head -c N' and `od -N N' now read no more than N bytes of input * tail accepts new option: -F, equivalent to `--follow=name --retry', for compatibility with the FreeBSD and NetBSD versions of tail. * fmt no longer segfaults when using a maximum line width larger than 32767 * uniq's --all-repeated option has new modes to delimit groups of duplicate lines: --all-repeated={precede,separate,none(default)} [2.0.14] * sort now accepts long options like "--reverse" and "--". * sort now checks option syntax as POSIX requires, except that (as usual for GNU) options can follow file names unless POSIXLY_CORRECT is set. For example, invalid positional combinations like "sort +1 -r -2" are now rejected as per POSIX. * The next POSIX standard will require that obsolescent 'sort' positional options like +1 be treated as file names, not options. Please use 'sort -k' instead. [2.0.13] * pr accepts new -D or --date option, to specify date format. * The following changes are required by POSIX: - If POSIXLY_CORRECT is set, dates in pr headers now look something like 'Dec 4 23:59 2001', with the exact appearance affected by LC_TIME. - pr -h now affects only the center header string, not the entire header. - pr no longer truncates headers. * Spacing in pr headers has been adjusted slightly. * `fmt --prefix=S' now works when S contains a byte with the high bit set [2.0.12] * sort has improved performance when using very little main memory * sort has improved memory management * sort is no longer susceptible to certain denial of service attacks * sort no longer suffers from a race condition whereby an interrupt received during cleanup could cause it to fail to remove temporary files. This problem could arise only on hosts without sigaction. [2.0.11] * sort accepts new -S SIZE option, to specify main-memory usage. [2.0.10] * od is faster and more portable than it was in 2.0.9 * tail avoids an uninitialized memory reference [2.0.9] * od now prints valid addresses for offsets of 2^32 and larger, and allows the byte offset (-j) and byte count (-N) arguments to be 2^32 and larger. * tail now works with line and byte counts of 2^32 and larger, on systems with large file support * join now works with an 8-bit delimiter * fix a compilation failure on some Solaris systems with wc.c [2.0.8] * od now supports 8-byte integers, assuming they're printable with e.g., %lld * new program: sha1sum * wc accepts new -m option: count (potentially multi-byte) characters * wc's `--chars' option is now equivalent to -m, not --bytes as it used to be * `cat -n' works properly when processing 2^31 or more lines [2.0g] * sort's --help output now warns that it is locale-aware * tail: fix a buffer underrun error that occurred on an empty pipe, also thanks to bounded pointers * pr: fix a bounds violation found by Greg McGary's bounded-pointers-enabled gcc It could have caused (with low probability) the columns on the last page of output *not* to be `balanced' when they should have been. * sort: if the -T tmpdir option is given multiple times, all the given directories are used; this can improve performance for huge sort/merges. [2.0f] * all programs fail when printing --help or --version output to a full device * cut no longer gets a segfault under some circumstances * unexpand accepts new option: --first-only [2.0e] * `tail -f directory' no longer gets a failed assertion * sort: big performance improvement when sorting many small files; from Charles Randall * configure and portability changes in m4/ and lib/ [2.0d] * preliminary sort performance improvements * tsort now works more like the traditional UNIX tsort. Before it would exit when it found a loop. Now it continues and outputs all items. * unexpand no longer infloops on certain sequences of white space * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [2.0c] * include lib/nanosleep.h. [2.0b] * portability tweaks for error.c vs. systems with deficient strerror_r [2.0a] * `tail --follow=name' no longer gets a failed assertion for a dev,inode-reusing race condition * sort and comm no longer consider newlines to be part of the line, as this requirement will likely be removed from POSIX.2. This undoes some changes made for textutils 1.22m and 1.22n. * tail's (short only) -f option no longer accepts an optional argument, so e.g., `tail -fn 2 file' works again. * tail no longer refuses to operate on certain types of files * fixed bug in tsort's handling of cycles Changes in release 2.0 [1.22q] * HPUX portability fix: md5sum would dump core due to use of libc's getline [1.22p] * portability fixes from Paul Eggert based largely on tar-1.13 reports * `tail --pid=PID' now works even when PID belongs to some other user [1.22o] * tail accepts new option: --pid=PID [1.22n] * tail accepts the following new options (some of which were added in 1.22g): --retry --follow[={name|descriptor}] --max-unchanged-stats=N --max-consecutive-size-changes=N --sleep-interval=S * wc uses the POSIX-mandated output format when POSIXLY_CORRECT is set * To maintain compatibility with sort, comm and join now obey the LC_COLLATE locale, and comm now considers newlines to be part of the lines. * use lib/memchr.c only if it's not provided by the system -- this means that on systems with a fast library memchr function you may notice an improvement. If you use a system with a buggy or signifcantly slower memchr, please report it. [1.22m] * sort now considers newlines to be part of the line, as required by POSIX.2. E.g. a line starting with a tab now sorts before an empty line, since tab precedes newline in the ASCII collating sequence. * sort handles NUL bytes correctly when configured/compiled with --enable-nls * fix typos in my version of AC_SEARCH_LIBS. * fix dates on config files so builders don't need autoconf/automake [1.22l] * sort no longer autodetects the locale of numbers and months, as that conflicts with POSIX.2 * `join -tC' now works when input contains trailing spaces * portability tweaks for Irix's cc [1.22k] * `sort -n' works with negative numbers when configured/compiled with --enable-nls * head accepts byte and line counts of type uintmax_t (so up to 2^64 - 1) [1.22j] * tail: fix bug introduced in 1.22i [1.22i] * tail now terminates in `yes > k & sleep 1; tail -2c k' * `tail -f' now ensures that stdout is unbuffered * fix a bug in cut to allow use of 8-bit delimiters * pr accepts POSIX compliant options -s and -w, the new capital letter options -J, -S and _W turn off the unexpected interferences of the small letter options -s and -w if used together with the column options. * pr output has been adapted to other UNIXes in some cases. [1.22h] * portability tweaks * Window/NT/DOS support [1.22g] * uniq accepts new option: --all-repeated (-D). * Windows/DOS portability fixes * new program: tsort * tail has several new options * md5sum can handle file names with embedded backslash characters * pr accepts long option names (see `pr --help') * new program: ptx (moved to this package from being its own distribution) [1.22f] * cut accepts new --output-delimiter=STR option * `sort -o no-such-file no-such-file' now fails, as it should * fix pr bug: pr -td didn't double space * fix tac bug when using -b, -r, and -s SEPARATOR * fix sort bug whereby using key-local `d' option would cause following key specs to be ignored when any two keys (in the `d'-modified test) compared equal. [1.22e] * remove maintainer mode [1.22d] * wc accepts new option: --max-line-length (-L) * sort can sort according to your locale if your C library supports that [1.22c] [1.22b] * od supports a new trailing `z' character in a type specification: $ od -tx1z . 0000000 be ef c6 0f fd f9 d7 e0 ec cb f3 c6 00 db e8 00 >................< 0000020 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< * 0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 cc >..............5.< 0000620 05 63 76 74 2e 6f 00 00 29 ac 08 70 72 6f 6a 65 >.cvt.o..)..proje< 0000640 63 74 73 00 00 00 18 9a 05 63 76 74 2e 63 00 00 >cts......cvt.c..< 0000660 18 d9 03 52 43 53 00 00 18 c0 05 78 2e 64 61 74 >...RCS.....x.dat< [1.22a] * sort -c reports both the number and the contents of the first out-of-order line, in addition to the file name. * `head -c 4096m' is no longer treated just like `head -c 0' now it gets a diagnostic about 4096m being too large. * pr: For compatibility (also more POSIX compliant): Include default separator `TAB' when merging lines of full length. * When POSIXLY_CORRECT is not set, tail -N now accepts more than one file argument, to be consistent with the way head -N works. If POSIXLY_CORRECT is set, using two or more file arguments with the obsolescent form (-N) evokes an error. To avoid the warning or failure, use the POSIX -n N option or the GNU --lines=N option. Changes in release 1.22 [1.21a] * Fix a bug in tail when invoked with an argument like `+NUMBERc' * Add test suite for tail Changes in release 1.21 * Using --program-prefix no longer applies the prefix twice Changes in release 1.20 * fix pr: -l now uses total number of lines per page also with -f * fix pr: use left-hand-side truncation of header string to avoid line overflow * fix pr: it now accepts `form feeds set in input files', also with -m and multiple form feeds at different pages in each file * pr now accepts: -h "", print a blank line header * pr: when skipping pages (+FIRST_PAGE option) line counting (-n option) starts with 1st line of input file (not of 1st page printed) by default * pr accepts new option: -N, start printing with an optional line number * pr -t retains `form feeds set in input files' (`don't destroy page layout') * pr accepts new option: -T, equivalent to -t, but eliminate also form feeds (`clear file') * pr accepts the extension: +FIRST_PAGE[:LAST_PAGE] * pr -w and -s option disentangled (`use a separator' no longer destroys column alignment) * pr accepts new option: -j, merge lines of full length * pr accepts the extension: -s[STRING], use separator string instead of character only * pr -b is no longer an independent option, balancing is always used with -COLUMN (a requirement of unrestricted use of form feeds) * pr accepts new option: --test, to run the pr tests with a constant header string * join passes all of its tests on Alpha OSF 4.0. * sort no longer improperly ignores blanks in determining starting and ending positions for keys with explicit character offsets * fix bug in csplit with regexp and negative offset that led to infinite loop Changes in test release 1.19q * fix bug in sort -c that sometimes resulted in a segfault Changes in test release 1.19p * md5sum's --string option is being deprecated and is no longer documented. It is still accepted, but will be removed altogether in 1.22. * tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to iso_8859_1 on Solaris -- or any other character set with differing numbers of uppercase and lowercase characters * split and tail diagnose unrecognized multiplier suffixes, in e.g., `split --bytes=1M' (should be `-b 1m' or `--bytes=1m') * fix bug in md5sum's handling of partial reads * fix bug in treatment by sort -f of bytes with high-bit set * update configuration system to use automake's aclocal program * configure performs sanity check on CC and CFLAGS to avoid a misleading failure that suggested cross-compiling was the cause * distribute test suites for cut, join, sort, and tr * unexpand no longer gets in endless loop * when verifying checksums, md5sum uses the binary mode flag from the input stream rather than the one from the command line Changes in release 1.19 * md5sum can verify digests of files with names containing newline characters * update from gettext-0.10.20. Changes in release 1.18 * when building sort, link with -lm on systems that use the replacement strtod * update from gettext-0.10.17. Changes in release 1.17 * include texinfo.tex in the distribution Changes in release 1.16 * sort is compatible with Unix sort when a key-end spec refers to the N'th character in a field that has fewer than N characters * tail with old-style options like -20k and +31m operates on units of bytes, as the --help usage message says. Before, it used units of lines. Changes in release 1.15 * od gives better diagnostics for invalid format specs * uses automake-generated Makefile templates * configure takes a new option: --enable-maintainer-mode * fix a bug in fmt when prefix has trailing white space * internationalized diagnostic messages * fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog * diagnose some improper or questionable invocations of csplit * properly handle `echo |csplit - 1 1', rather than aborting * fix join: without -t it now ignores leading blanks * sort accepts new option: -z for NUL terminated records * join accepts new option: --ignore-case, -i * uniq accepts new option: --ignore-case, -i User-visible changes in release 1.14 * sort -i and sort -d properly order strings containing ignored characters * nl: rename misleading --first-page=N option to --starting-line-number=N. * sort diagnoses invalid arguments to -k, then fails * sort -n properly orders invalid integers with respect to valid integers * sorting works with character offsets larger than corresponding field width * sort's -b option and `b' modifier work * sort -k2,2 works. * csplit detects integer overflow when converting command line arguments * sort accepts new option/flag, -g, for sorting numbers in scientific notation * join accepts POSIX `-o 0' field specifier. * tr 'a[b*512]' '[a*]' < /dev/null terminates * tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail * special characters in tr's string1 and string2 may be escaped with backslash User-visible changes in release 1.13 * md5sum: with --check, distinguish between open/read failure and bad checksum * md5sum: remove -h, -s, -v short options * md5sum: rename --verbose to --warn, --quiet to --status * md5sum --check fails if it finds no properly formatted checksum lines * sort -c prints `disorder on...' message on standard error, not stdout * sort -k works as described in the texinfo documentation * tail works on NetBSD * md5sum reads and writes (de facto) standard Plumb/Lankester format * sort accepts -.1 +.2 options for compatibility * od works properly when dump limit is specified and is a multiple of bytes_per_block (set by --width, 16 by default). User-visible changes in release 1.12 * sort no longer reports spurious errors on Ultrix systems * new program: md5sum * all --help messages have been improved * join's -a1 and -a2 options work * tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory * sort properly handles command line arguments like `+7.2n' * fmt properly formats paragraphs not terminated by a newline * tail -f flushes stdout before sleeping so that it will output partial lines sooner * sort properly orders fields where one field is a proper prefix of the other * sort properly interprets field offsets specified via the -k option * dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4) * wc is faster when not counting words * wc now works even when file pointer isn't at beginning of file * expand no longer seg faults with very long tab lists User-visible changes in release 1.11 * fmt is built User-visible changes in release 1.10 * skeletal texinfo documentation (mainly just the `invoking' nodes) * new program: fmt * tail -f on multiple files reports file truncation * tail -q has been fixed so it never prints headers * wc -c is much faster when operating on non-regular files * unexpand gives a diagnostic (rather than a segfault) when given a name of a nonexistent file. * cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail gratuitously when continued after a suspended read or write system call. * cut interprets -d '' to mean `use the NUL byte as the delimiter' rather than reporting that no delimiter was specified and failing. * `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'. * cut has been rewritten, is markedly faster for large inputs, and passes a fairly large test suite. * sort properly handles the argument to the -T option. Major changes in release 1.9.1: * cut no longer ignores the last line of input when that line lacks a trailing newline character Major changes in release 1.9: * `echo a:b:c: | cut -d: -f3-' prints `c:' and `echo a:b | cut -d: -f1' prints `a'. * the command `printf '\t\n' |fold -w n' now terminates. Before, it wouldn't stop for n less than 8. * sort accepts and ignores -y[string] options for compatibilty with Solaris. * cat -v /dev/null works on more systems * od's --compatible (-C) flag renamed to --traditional (no short option) * --help and --version exit successfully * --help gives a one-line description of each option and shows the correspondence between short and long-named options. * fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works. Before it printed `c' instead of `c:' * csplit allows repeat counts to be specified via `{*}'. * csplit accepts a new option, --suffix=format that supercedes the --digits option. The --digits option will continue to work. * csplit accepts a new option, --elide-empty-files. * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. Major changes in release 1.8: * added non-ANSIfied version of memchr.c from GNU libc. Major changes in release 1.7: * none Major changes in release 1.6: * with the --version option programs print the version and exit immediately * pr -2a really terminates * pr -n produces multi-column output Major changes in release 1.5: * sort is 8-bit clean * sort's -n and -M options no longer imply -b * several bugs in sort have been fixed * all programs accept --help and --version options * od --compatible accepts pre-POSIX arguments * pr -2a terminates Major changes in release 1.4: * add od and cksum programs * move cmp to GNU diff distribution * tail -f works for multiple files * pr prints the file name in error messages * fix some off by 1 errors in pr and fold * optimize wc -c on regular files * sort handles `-' argument correctly * sort supports -T option * tr ranges like a-a work * tr x '' fails gracefully * default sum output format is BSD compatible * paste -d '' works ======================================================================== Copyright (C) 1992-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. coreutils-8.21/old/textutils/ChangeLog0000664000000000000000000113225512102337340014747 000000000000002006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * NEWS: Likewise. 2002-07-29 Jim Meyering * Version 2.1. * src/tail.c: Adjust command examples in comments to use POSIX 1003.1-2001 option syntax. * src/sort.c: Likewise. From Paul Eggert. 2002-07-28 Jim Meyering * configure.ac: Require automake-1.6b. 2002-07-20 Jim Meyering * Version 2.0.22. * Upgrade to cvs automake -- required to work with 2.53b. * configure.ac: Require automake-1.6a. * Upgrade to gettext-0.11.3. * Upgrade to autoconf-2.53b. 2002-07-02 Jim Meyering * src/cat.c, src/cksum.c, src/comm.c, src/csplit.c, src/cut.c (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/join.c: Likewise. * src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c: Likewise. * src/sort.c, src/split.c, src/sum.c, src/tac.c, src/tail.c: Likewise. * src/tr.c, src/tsort.c, src/unexpand.c, src/uniq.c, src/wc.c: Likewise. 2002-06-22 Jim Meyering * configure.ac: Invoke AC_GNU_SOURCE very early. 2002-06-15 Jim Meyering * src/cksum.c: Include before system.h. 2002-05-22 Jim Meyering * src/od.c [struct dummy]: Renamed. Don't rely on portability of zero-length arrays. Instead, use sizes of -1 or +1. Reported by Eric Backus. 2002-05-14 Jim Meyering `od -t f8' didn't work. This bug was introduced with my change of 2000-10-22 (textutils-2.0.8). * src/od.c (ulonglong_t): Move declaration to precede new use. [enum size_spec] (N_SIZE_SPECS): New member. (width_bytes): Add initializer corresponding to ulonglong_t type. (struct assert_width_bytes_matches_size_spec_decl): Declare. Based on a patch from Tony Kocurko. 2002-04-29 Paul Eggert Use ENABLE_NLS only for gettext-related stuff, not also for setlocale-related stuff. From a patch suggested by Bruno Haible. Since setlocale is now almost universal, this patch also removes some of the optimizations that clutter up the code and which don't help all that much even on hosts that lack setlocale. * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. Do not check for alloca.h (no longer used) or stdbool.h (was never used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. * src/sys2.h (HAVE_SETLOCALE): Define to 0 if not defined. * src/comm.c (compare_files): Replace #ifdef ENABLE_NLS with if (HAVE_SETLOCALE). * src/join.c (keycmp): Likewise. * src/sort.c (keycompare, compare): Likewise. * src/comm.c (hard_LC_COLLATE): Define even if ! ENABLE_NLS. * src/join.c (hard_LC_COLLATE): Likewise. * src/sort.c (hard_LC_COLLATE): Likewise. * src/comm.c (main): Always initialize hard_LC_COLLATE. Put initialization next to other locale-related stuff. * src/join.c (main): Likewise. * src/sort.c (main): Likewise. * src/sort.c: Include even if ! ENABLE_NLS. (decimal_point, th_sep): Depend on HAVE_SETLOCALE, not ENABLE_NLS. (main): Likewise. (MONTHTAB_CONST): Remove; all uses removed. (struct_month_cmp, inittables): Do not depend on ENABLE_NLS. (main): hard_LC_TIME locale does not depend on ENABLE_NLS. 2002-04-29 Jim Meyering * src/tail.c (parse_obsolescent_option): Do not limit the maximum line/byte count (when specified via obsolete option syntax) to be less than ULONG_MAX on systems where OFF_T_MAX is larger. 2002-04-28 Paul Eggert * src/tail.c (tail_forever): Do not treat max_n_unchanged_stats_between_opens specially (as if it were infinite) if it has its maximal value. Similarly for max_n_consecutive_size_changes_between_opens. 2002-04-28 Jim Meyering Avoid new warnings from gcc. * src/pr.c [struct COLUMN] : Declare member to be const. (init_fps): Declare local variable `firstname' to be const. 2002-04-25 Jim Meyering * src/wc.c (usage): Adjust ordering to match that of default output. Suggestion from Gaute Hvoslef Kvalnes. * configure.ac (AM_GNU_GETTEXT): Add external arg. (AC_CONFIG_FILES): Remove intl/Makefile. * Makefile.am (SUBDIRS): Remove intl. * src/Makefile.am (INCLUDES): Remove -I../intl. 2002-04-15 Jim Meyering * src/tr.c (usage): Give a verbose description of --squeeze-repeats, including the mention of SET1. Reported by Dan Jacobson. 2002-04-12 Jim Meyering * src/Makefile.am (LDADD): List ../lib/libfetish.a both before and after @LIBINTL@. Thanks to Paul Eggert for the fix and to Bruno Haible for diagnosing the problem. 2002-03-16 Jim Meyering * src/Makefile.am (datadir): Don't override $(datadir) which might be set by --datadir and different from $(prefix)/share. Patch from Albert Chin-A-Young. 2002-03-10 Jim Meyering * configure.ac (AM_INIT_AUTOMAKE): Specify the required version of automake (1.6), and options (gnits dist-bzip2), rather than... * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition. 2002-03-09 Jim Meyering * Makefile.am (EXTRA_DIST): Remove config/config.rpath, now that automake knows about it. 2002-03-05 Jim Meyering * Makefile.am (EXTRA_DIST): Add config/config.rpath. 2002-02-23 Paul Eggert * src/cat.c (simple_cat, cat, main): Use char * rather than unsigned char *, to avoid some technical violations of the C standard, and to avoid the need for casts. I guess the unsigned char * was probably there for improved performance with ancient compilers, but the code wasn't using the unsignedness any more. Reported by Nelson H. F. Beebe. (cat): int -> size_t for full_write arg. This doesn't fix any bugs since the buffer size is small, but it makes the code a bit clearer. 2002-02-18 Jim Meyering * Version 2.0.21. * tests/tail/Test.pm: For tests matching /^(obs|err-[134])/, put _POSIX2_VERSION=199209 in the environment, so the tests succeed even when the environment would have contained _POSIX2_VERSION=200112. * tests/uniq/Test.pm (test_vector): Rename tests of obsolete usage to have prefix of `obs'. Adjust environment for those tests as above. * tests/mk-script: When getting input via a pipe, apply the environment settings to the command in question, not to `cat'. No longer allow more than one element in the $Test::env or $Test::env_default arrays. No caller used that feature. 2002-02-17 Jim Meyering * tests/head/Test.pm: Accept pre-POSIX 1003.1-2001 options. * tests/pr/Test.pm: Likewise. * tests/sort/Test.pm: Likewise. * Makefile.cfg (wget_files): Reflect new location of these files. 2002-02-16 Jim Meyering * ABOUT-NLS, intl/*: Update to Gettext 0.11. * INSTALL: Update to Autoconf 2.52h. * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@, per Gettext-0.11. (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11. * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation. (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11. * config: New subdirectory, containing the following files from .: config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs. Move the following files here from doc: texinfo.tex, mdate-sh. 2002-02-15 Paul Eggert Add support for _POSIX2_VERSION, which lets you pick which POSIX version you want the utilities to conform to. Remove warnings about failure to conform to a future POSIX version. * NEWS, doc/coreutils.texi: Document _POSIX2_VERSION. * doc/coreutils.texi (Standards Conformance): New section. * src/expand.c: Include posixver.h. (usage): Document only the intersection of the old and new behaviors, to encourage portability. * src/fold.c: Likewise. * src/head.c: Likewise. * src/od.c: Likewise. * src/pr.c: Likewise. * src/sort.c: Likewise. * src/split.c: Likewise. * src/uniq.c: Likewise. * src/tail.c: Likewise. * src/unexpand.c: Likewise. * src/expand.c (shortopts): Remove; no longer needed. * src/od.c (short_options): Likewise. * src/pr.c (short_options): Likewise. * src/sort.c (short_options): Likewise. * src/split.c (shortopts): Likewise. * src/uniq.c (shortopts): Likewise. * src/unexpand.c (shortopts): Likewise. * src/od.c (COMMON_SHORT_OPTIONS): New macro. * src/pr.c (COMMON_SHORT_OPTIONS): Likewise. * src/sort.c (COMMON_SHORT_OPTIONS): Likewise. * src/expand.c (main): Revert to previous behavior, except report an error and exit if the obsolete syntax is used and if conforming to the new standard. * src/fold.c (main): Likewise. * src/head.c (main): Likewise. * src/split.c (main): Likewise. * src/uniq.c (main): Likewise. * src/tail.c (main, parse_obsolescent_option): Likewise. * src/unexpand.c (main): Likewise. * src/od.c (STRINGS_OPTION, WIDTH_OPTION): Remove; no longer needed. All uses changed back to the corresponding short options. * src/pr.c (SEP_STRING_OPTION): Likewise. * src/od.c (main): Parse options using POSIX 1003.1-2001 rules if conforming to that standard. Do not warn of obsolete options. * src/pr.c (main): Likewise. * src/sort.c (main): Likewise. * src/system.h (_POSIX2_VERSION, POSIX2_VERSION): Remove definitions. (OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): Likewise. 2002-02-16 Jim Meyering * tests/misc/split-a: New test for change of 2002-02-05. * tests/misc/Makefile.am (TESTS): Add split-a. 2002-02-12 Jim Meyering * src/split.c (DEFAULT_SUFFIX_LENGTH): Define constant. (suffix_length): Use it here. (usage): Use it here. 2002-02-05 Paul Eggert Change 'split' to conform to POSIX. It now accepts an -a or --suffix-length option, and refuses to generate more files than there are suffixes. * NEWS, doc/coreutils.texi: Document this. * src/split.c: Include "dirname.h". (outbase): Now a global var. (outfile_end): Remove. (suffix_length): New var. (shortopts, longopts, main): Add -a or --suffix-length. (next_file_name): Implement -a. Do not extend the suffix length. Check for file names that are too long. (main): Move outfile initialization to next_file_name. * src/split.c (shortopts): Remove -v (a typo). 2002-02-11 Jim Meyering * tests/misc/head-pos: New file/test for the change of 2002-02-08. * tests/misc/Makefile.am (TESTS): Add head-pos. * src/tr.c (unquote): Make comment a little clearer. 2002-02-08 Paul Eggert * src/head.c (head_lines): If we have read too much data, try to seek back to the position we would have gotten to had we been reading one byte at a time. POSIX currently doesn't require this, but it's easy to do and some software relies on it. 2002-02-02 Jim Meyering * src/uniq.c (main): Prepend `warning: ' to the diagnostic, so it's consistent with all of the other `... is obsolete...' diagnostics. 2002-01-31 Paul Eggert Add more support for POSIX 1003.1-2001, which requires removal for support of obsolete "-N" option syntax in expand, head, fold, split, tail, unexpand, uniq, and which prohibits options with optional arguments in od and pr. * NEWS: Document this. * doc/coreutils.texi: Likewise. * src/expand.c (usage): Likewise. * src/fold.c (usage): Likewise. * src/head.c (usage): Likewise. * src/od.c (usage): Likewise. * src/pr.c (usage): Likewise. * src/split.c (usage): Likewise. * src/unexpand.c (usage): Likewise. * src/uniq.c (usage): Likewise. * NEWS: Improve doc for previous fix in this area. * src/expand.c (shortopts): New constant. * src/od.c (short_options): Likewise. * src/pr.c (short_options): Likewise. * src/sort.c (short_options): Likewise. * src/split.c (shortopts): Likewise. * src/unexpand.c (shortopts): Likewise. * src/uniq.c (shortopts): Likewise. * src/expand.c (main): Check for obsolete options. * src/fold.c (main): Likewise. * src/head.c (main): Likewise. * src/od.c (main): Likewise. * src/pr.c (main): Likewise. * src/sort.c (main): Likewise. * src/split.c (main): Likewise. * src/tail.c (parse_obsolescent_option, main): Likewise. * src/unexpand.c (main): Likewise. * src/uniq.c (main): Likewise. * src/head.c (header_mode_option): New constant. * src/od.c: New enum for long options. * src/pr.c (SEP_STRING_OPTION): New enum value. (long_options): Use it. * src/split.c (main): Use -1, not EOF, for getopt_long. * src/system.h (OPTARG_POSIX, OBSOLETE_OPTION_WARNINGS): New macros. * src/fold.c (main): Fix bug: -- -N was treated as -N --. 2002-02-01 Jim Meyering * src/tail.c (start_lines): Handle the case in which bytes_read is zero. 2002-01-28 Jim Meyering * Makefile.maint (ac-check): Remove, now that we no longer have to duplicate that information. (local-check): Remove ac-check. * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d. * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro. (ALL_LINGUAS): Add the bokmål dialect of Norwegian (nb). 2002-01-27 Jim Meyering tail -n +2 would perform an extra read after encountering EOF * src/tail.c (start_lines): Detect EOF, inform caller. (tail_lines): Upon EOF in start_lines, return immediately. 2002-01-22 Jim Meyering * Version 2.0.20. 2002-01-22 Paul Eggert * src/od.c (skip): Remove redundant check for overflow. fseeko's seek argument is already known to be in range, since it is less than the file size. 2002-01-22 Jim Meyering * po/POTFILES.in: Add lib/xmemcoll.c. 2002-01-22 Paul Eggert * src/tac.c (save_stdin): Report proper errno value after fwrite failures. Do not bother to rewind the temp file, as it'll be read backwards anyway. 2002-01-22 Paul Eggert * src/ptx.c (swallow_file_in_memory): Work even if `open' returns 0. Check for `close' error. 2002-01-22 Paul Eggert Port to glibc 2.2.5, whose mmap stdio positions the underlying file descriptor at a nonzero offset after an fopen. * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. * src/od.c (skip): Use fseeko rather than lseek. (Also, check for overflow when converting uintmax_t to off_t.) * src/sys2.h (EOVERFLOW, fseeko): New macros. 2001-01-21 Paul Eggert * src/comm.c: Include xmemcoll.h, not memcoll.h. Use xmemcoll instead of memcoll. * src/join.c: Likewise. * src/sort.c: Likewise. * src/sort.c (die): Do not invoke cleanup; atexit does this now. (main): Use atexit to invoke cleanup on exit. Set xmemcoll_exit_failure to SORT_FAILURE. 2002-01-20 Paul Eggert * src/comm.c (compare_files): Don't assume that the difference between two size_t values can be stored in an int; this doesn't work, for example, on 64-bit Solaris. * src/sort.c (CMP_WITH_IGNORE): Likewise. * src/join.c (keycmp): Likewise. Also, fix the type of two locals to be size_t instead of int. 2002-01-20 Paul Eggert * src/csplit.c: Don't include "xalloc.h", as system.h already does that via sys2.h. * src/sort.c: Likewise. 2002-01-19 Jim Meyering * configure.ac: Remove code that set LIBOBJS in support of ansi2knr. The latest version of autoconf objected to it, and besides, I don't care too much about K&R support these days. 2002-01-18 Jim Meyering Fix tr so it no longer gets a failed assertion for [::] or [==]. * src/tr.c (xmemdup): Rename from `substr' and rewrite to take only pointer/length parameters. (build_spec_list): Update sole caller. Properly diagnose the invalid specs [::] and [==]. Pawel Prokop reported that `tr '[::]' x' elicits a failed assertion. * tests/tr/Test.pm: Add tests for the above fix. 2002-01-14 Paul Eggert * src/sort.c (main): Issue a warning for obsolete usage, unless POSIXLY_CORRECT. * src/tail.c (parse_obsolescent_option): Likewise. * src/uniq.c (main): Likewise. 2002-01-14 Paul Eggert Add support for POSIX 1003.1-2001, which requires removal for support of obsolete "+" option syntax in sort, tail, and uniq. * NEWS: Document this. * src/sort.c (usage, main): Implement this. * src/tail.c (usage, parse_obsolescent_option): Likewise. * src/uniq.c (usage, main): Likewise. * src/system.h (_POSIX2_VERSION, POSIX2_VERSION): New macros. * src/sys2.h (ISDIGIT, S_ISVTX, S_IXUGO): Comment fix. 2002-01-14 Jim Meyering * tests/misc/sort: New test, for just-fixed bug. * tests/misc/Makefile.am (TESTS): Add sort. (TESTS_ENVIRONMENT): Add PROG=$$tst. This is a gross kludge that depends on the name of an automake-generated local variable. 2002-01-13 Paul Eggert * src/sort.c (mergefps): Fix bug when eliminating empty files. Bug reported by James Hutt. 2002-01-13 Jim Meyering * tests/help-version: Tweak to work with the programs in diffutils. 2002-01-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Turkish (tr). 2001-12-18 Paul Eggert * src/sort.c (usage, specify_sort_size): Accept 'K' (which is now preferred, as it connotes 1024) as well as 'k'. * NEWS: Document this change. 2001-12-17 Jim Meyering * src/uniq.c (usage): Remove stray `)' in --help output. Reported by Padraig Brady. * Makefile.maint (real_dir): Remove unused variable. (url_dir_list): Don't set define it here, but... * Makefile.cfg (url_dir_list): ...define it here instead. (hosts, a_host, b_host): Remove now-unused variables. (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables. 2001-12-12 Bruno Haible Paul Eggert * src/wc.c (wc): Use ISSPACE and iswspace in addition to hard-coding the ASCII space character. 2001-12-08 Jim Meyering * Version 2.0.19. * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's no longer available at that location. 2001-12-03 Jim Meyering * src/od.c, src/tail.c, src/tr.c (usage): I will not split translatable strings in the middle of a sentence. I will not split translatable strings in the middle of a sentence. I will not split translatable strings in the middle of a sentence. ... * src/join.c (usage): Merge lone "\n" into adjacent string. * src/md5sum.c (usage): Likewise. * src/paste.c (usage): Likewise. Reported by Karl Eichwalder. 2001-12-02 Jim Meyering * Makefile.maint (emit-upload-commands): Fix typo: s/distdir/PACKAGE/. 2001-12-01 Jim Meyering * Version 2.0.18. * Makefile.maint (po-check): Check for uses of _() not just in .c files, but also in .h files. Ideally, there would be just one translation for all --help and --version description strings. Before this change, they differed only in the number of blanks between the option name and the description. Someday gettext may be smart enough to merge such strings and to reconstruct the proper spacing at run time. In the mean time, now there is one string for each, and those descriptions in the --help output are no longer aligned with the others. * src/sys2.h (HELP_OPTION_DESCRIPTION): New macro. (VERSION_OPTION_DESCRIPTION): New macro. * src/cat.c, src/cksum.c, src/comm.c, src/csplit.c, src/cut.c: * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/join.c: * src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c, src/ptx.c: * src/sort.c, src/split.c, src/sum.c, src/sys2.h, src/tac.c: * src/tail.c, src/tr.c, src/tsort.c, src/unexpand.c, src/uniq.c: * src/wc.c (usage): Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION instead of hard-coding --help and --version descriptions. * po/POTFILES.in: Add src/sys2.h. 2001-11-27 Jim Meyering * src/system.h (SET_MODE) [O_BINARY]: Call setmode, not set_mode. From Matthew Smith. 2001-11-26 Jim Meyering * src/cat.c (cat): Don't test whether the full_write return value (of type size_t) is less than 0. Reported by Nelson H. F. Beebe, as a warning from Irix 6.5's C compiler. 2001-11-25 Jim Meyering * src/cksum.c (usage): Indent --help and --version strings to start in the 7th column. * src/pr.c (usage): Likewise. 2001-11-23 Jim Meyering Factor out some common strings to make translation easier. * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fmt.c, fold.c: * head.c, join.c, md5sum.c, nl.c, od.c, paste.c, pr.c, ptx.c: * sort.c, split.c, sum.c, tac.c, tail.c, tr.c, tsort.c, unexpand.c: * uniq.c, wc.c: Split usage strings so that --help and --version descriptions are alone in their own string. Likewise for the one that says ``Mandatory arguments to long options are mandatory for short options too.'' Suggestion from Karl Eichwalder. * src/ptx.c (main): Don't split copyright string in the middle of a sentence. 2001-11-22 Jim Meyering * Version 2.0.17. csplit could get a failed assertion: printf 'a\n\n'|csplit - '/^$/' 2 * src/csplit.c: No longer include assert.h. (process_line_count): Remove invalid assertion. The test that caused the failure has been in the code since before 1992-11-08, but since 1996 it's been in an assertion. That assertion was disabled by default until textutils-1.22g (1999-01-10). Reported by Eric Pemente. * tests/misc/csplit: New file. Test for the above fix and others. * tests/misc/Makefile.am (TESTS): Add csplit. * tests/Makefile.am (EXTRA_DIST): Add lang-default. 2001-11-19 Jim Meyering * src/tail.c (xlseek): New function. Call it instead of lseek, in most cases, so any failure is reported. 2001-11-18 Jim Meyering * config.sub: Update from master repository. * config.guess: Likewise. 2001-11-17 Jim Meyering * Makefile.cfg ($(srcdir)/m4/jm-glibc-io.m4): Use $(move_if_change), not the literal `move-if-change'. * src/tail.c (tail_forever): Add a cast. Avoid compiler warnings. * src/fmt.c: Remove `unsigned' attribute from type of global `prefix'. (copy_rest): Cast to (unsigned char *) before dereferencing. (get_prefix): Likewise. * configure.ac: Replace use of the one-arg form of AC_INIT with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR. 2001-11-14 Paul Eggert * src/tail.c (file_lines): Remove unnecessary cast. (tail_lines): Could have called file_lines even though the first lseek failed. Fix that. 2001-11-14 Jim Meyering * src/tail.c (file_lines): Add a parameter, start_pos. Work properly even when the read pointer is not at beginning of file. (tail_lines): Call file_lines for any regular file, as long as lseek can be used to seek to its end, not just when the initial read pointer is at beginning of file. 2001-11-13 Jim Meyering * src/tail.c (tail_lines): Move declaration of local `length' into scope where it's used. (tail_file): Likewise for local `stats'. * tests/tail-2/Makefile.am (TESTS): Add proc-ksyms and start-middle. * tests/tail-2/start-middle: New test, for the bug fixed on 1995-07-24. `tail /proc/ksyms' would segfault on Linux. * src/tail.c (tail_lines): Use status of lseek (...SEEK_END) call in deciding whether to call file_lines or pipe_lines. From Herbert Xu. * tests/tail-2/proc-ksyms: New test, for the above fix. 2001-11-11 Jim Meyering * src/od.c (struct tspec): Declare function pointer with prototype. * src/sum.c (main): Declare function pointer with prototype. * src/tsort.c (count_items): Mark parameter as unused. * src/sort.c (struct_month_cmp): Guard definition with the same cpp condition that guards the use. * src/tail.c (xwrite): Remove assertion that size_t N >= 0. * src/pr.c (struct COLUMN) [print_func]: Declare with a protype. (struct COLUMN) [char_func]: Declare with a protype. * src/od.c (parse_old_offset): Declare to be static. * src/join.c (make_blank): Declare to be static. (prfield): Declare local to be of type size_t, not int. Some help strings were very long. Split them so that they're no longer than the magic length 509 that ISO C89 compilers are required to support. Sorry, translators :-( * src/md5sum.c (usage): Split --help output into smaller pieces. * src/ptx.c (main, usage): Likewise. * src/fmt.c (usage): Likewise. * src/wc.c (usage): Split --help output into smaller pieces. Use fputs, not printf. * src/cat.c (usage): Likewise. * src/cut.c (usage): Likewise. * src/csplit.c (usage): Likewise. * src/expand.c (usage): Likewise. * src/head.c (usage): Likewise. * src/join.c (usage): Likewise. * src/nl.c (usage): Likewise. * src/od.c (usage): Likewise. * src/pr.c (usage): Likewise. * src/sort.c (usage): Likewise. * src/split.c (usage): Likewise. * src/tac.c (usage): Likewise. * src/tr.c (usage): Likewise. * src/unexpand.c (usage): Likewise. * src/uniq.c (usage): Likewise. * src/tail.c (usage): Likewise. * src/sys2.h (alloca) [__GNUC__]: Define only if not already defined. * src/Makefile.am (sort_LDADD): Reflect spelling change: s/POW_LIBM/POW_LIB/. 2001-11-10 Jim Meyering * src/nl.c (proc_text): Use `puts' to output a string of spaces, not printf. This avoids a warning from gcc's -Wformat-security. 2001-11-09 Jim Meyering * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no arguments. 2001-11-05 Jim Meyering * src/sort.c (usage): Don't recommend setting LC_COLLATE=C. That can cause problems (now documented in coreutils.texi). 2001-11-04 Jim Meyering * uniq.c, unexpand.c, tail.c, tac.c, split.c, sort.c, pr.c, paste.c: * od.c, nl.c, head.c, fold.c, expand.c, cut.c, csplit.c (usage): Say that ``Mandatory arguments to long options are mandatory for short options too.'' * src/ptx.c (usage): Add one-line description. 2001-10-28 Jim Meyering * tests/sum/sysv: New test for the fix below. * tests/sum/Makefile.am (TESTS): Add sysv. 2001-10-27 Paul Eggert * src/sum.c: Include human.h. (ROTATE_RIGHT): Remove; it was slow and the comment was misleading anyway. (bsd_sum_file): Avoid unsigned and long when they're not needed. Compute total input bytes as uintmax_t, not long, so that the code works even with files whose size does not fit in 'long'. (sysv_sum_file): Likewise. (sysv_sum_file): Do not reduce checksum until the end; this is what System V does. Reported by Nick Lawes. 2001-10-27 Jim Meyering Give an accurate diagnostic when `head --bytes=30M' fails. * src/head.c (string_to_integer): Check explicitly for overflow, and lump everything else together as `invalid'. 2001-10-04 Jim Meyering Rename --all-repeated argument `precede' to `prepend'. * src/uniq.c (enum delimit_method): s/DM_PRECEDE/DM_PREPEND/ and change all uses. (delimit_method_string): s/precede/prepend/ * tests/uniq/Test.pm: Adjust tests accordingly. Patches by Padraig Brady. * src/uniq.c (usage): Correct typo in description of --all-repeated. Patch by Padraig Brady. 2001-09-30 Jim Meyering * Version 2.0.16. tail -F would segfault * src/tail.c (parse_options): Add missing `break;' from last change. 2001-09-28 Jim Meyering * configure.ac: Tell automake to use the file name `config.hin' rather than the two-`.' config.h.in. 2001-09-26 Jim Meyering * man/Makefile.am (common_dep): Define it, so we depend on configure.ac. * configure.ac: Renamed from configure.in. 2001-09-25 Jim Meyering * src/Makefile.am (sort_DEPENDENCIES): Remove definition altogether. It adds nothing to the existing: $(PROGRAMS): ../lib/libfetish.a. 2001-09-24 Paul Eggert * src/Makefile.am (sort_DEPENDENCIES): Depend only on ../lib/libfetish.a, not on $(LDADD), since the latter may contain `-lintl'. This resembles yesterday's patch for the `$(PROGRAMS)' rule. 2001-09-23 Jim Meyering * Version 2.0.15. * src/Makefile.am ($(PROGRAMS)): Depend only on ../lib/libfetish.a, not on $(LDADD), since the former may contain `-lintl'. * Makefile.am (SUBDIRS): When using newer gettext (in which intl/libintl.h is created by rules intl/Makefile) `intl' must precede `lib'. 2001-09-22 Jim Meyering * ABOUT-NLS: Upgrade to gettext 0.10.40 * intl: Upgrade entire directory to gettext 0.10.40 * po/ChangeLog: New file. * Makefile.am (DISTCLEANFILES): Remove definition, since intl/libintl.h is no longer created via configure. * tests/od/od-N: New test for the 2001-09-19 fix by Ian Bruce. * tests/od/Makefile.am: New file. * tests/od: New directory. * tests/Makefile.am (SUBDIRS): Add od. * configure.in (AC_OUTPUT): Add tests/od/Makefile. 2001-09-19 Paul Eggert * src/od.c (MAX_ADDRESS_LENGTH, pseudo_offset, format_address, n_bytes_to_skip, skip, format_address_none, format_address_std, format_address_paren, format_address_label, write_block, parse_old_offset, dump, dump_strings, main): Use uintmax_t, not off_t, for file addresses, so that we can handle multiple large files even if the sum of their sizes exceeds off_t limits. (print_s_char, print_char, print_s_short, print_short, print_int, print_long, print_long_long, print_float, print_double, print_long_double, dump_hexl_mode_trailer, print_named_ascii, print_ascii, decode_one_format): Use size_t, not off_t, for in-memory byte counts. (end_offset): New var. (dump, dump_strings): Use it. (main): Set it, but check for overflow while doing so. (skip): Report an error if an in-range lseek fails on a regular file, as something's seriously wrong. Check for negative regular file sizes (possible with some broken NFS implementations). (parse_old_offset): Now all offsets are valid, so return a success boolean and take a pointer to an offset as an argument. All callers changed. (dump_strings): Check for overflow when computing end_offset - string_min. (main): Remove OFF_T_MAX checks that are no longer needed. Don't bother assigning through temporary when there's no size limit to check. 2001-09-19 Jim Meyering * src/od.c (open_next_file): Use SETVBUF, not setbuf. (skip): Revert part of last change: use lseek, not fseek. When --read-bytes=N (-N N) is used, disable input buffering in the standard I/O library. Otherwise, od would read more input than requested. This could have caused problems when reading from pipes, character devices, or open file descriptors inherited from a parent process. * src/od.c (open_next_file): New function, factored out of... (skip): Adapt to use open_next_file. (read_char): Likewise. (read_block): Likewise. (main): Likewise. (dump): Fix an off-by-one error that could have made od fail to report a read error when reading from a named file (not stdin). (check_and_close): Account for the fact that in_stream may now be NULL. (usage): Correct descriptions of -j and -N options. Patch by Ian Bruce. 2001-09-16 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5. * man/Makefile.am: Revamp this file, as for fileutils. * src/md5sum.c (digest_check): On systems for which setmode actually does something, arrange to read the file containing checksum strings in text mode. Based on a patch from Chris Faylor. * src/system.h (SET_MODE): Define. 2001-09-12 Jim Meyering The command `echo a|./fmt -2147483647' would cause fmt to segfault. * src/fmt.c (fmt_paragraph): Test for sentinal directly, rather than doing arithmetic with it's potentially large (INT_MAX) length. * tests/fmt/basic: Add tests for the above. tail: accept new option: -F, equivalent to `--follow=name --retry', for compatibility with FreeBSD and NetBSD versions of tail. * src/tail.c (usage): Describe new option. (parse_options): Accept it. Patch by Christian Kurz, via Herbert Xu. The command `echo foo|fmt -w N' for N>=32K would cause fmt to segfault. * src/fmt.c [struct Word]: Declare members length, space, and line_length to be of type `int', not short. (MAXCOST): Define using TYPE_MAXIMUM. Reported by Herbert Xu. 2001-08-31 Jim Meyering * src/fmt.c (bool): Remove typedef, now that it's in system.h. (TRUE): Define to `true', not 1. (FALSE): Define to `false', not 0. 2001-08-30 Paul Eggert * src/cat.c: Include full-write.h. (full_write): Remove decl; not needed. * src/split.c: Likewise. * src/cat.c (simple_cat, cat): Don't assume read and write size fits in int. 2001-08-28 Jim Meyering * src/fmt.c (main): Correct the diagnostic for invalid argument to -w. (main): Diagnose an invalid, old-style width option. 2001-08-27 Jim Meyering * Makefile.maint: Undo last change. Instead, simply remove `N_(', since the `Copyright ...' line should not be translated. 2001-08-26 Jim Meyering * Makefile.maint (copyright-check): Update to reflect fact that the copyright year is now defined separately. 2001-08-08 Charles Randall * src/sort.c (mergefps): Do not allocate at least sort_size bytes for each merge buffer. Instead, allocate at least sort_size bytes total. 2001-08-25 Jim Meyering * tests/uniq/Test.pm: Re-enable some commented-out tests. 2001-08-25 Paul Eggert * src/uniq.c (main): Fix a typo in the previous patch: missing a bounds check for examples like `uniq a b c'. * uniq.c (main): Fix some more incompatibilities with POSIX.2, (e.g. `uniq +3 --' did not work) by invoking getopt_long with leading '-', resembling what was done to 'sort' on 2001-03-20. Recognize an +N option only if it is an integer in range, and (if POSIXLY_CORRECT) only if a file name argument has not been seen; otherwise silently treat it as a file name. If the user specifies too many operands, output the first one in the error message, as a diagnostic aid. 2001-08-24 Paul Eggert * src/uniq.c (main): Don't report an error when given the valid options `+3 -d'. 2001-08-24 Paul Eggert * src/uniq.c (different): Don't assume that lengths can fit into size_t. Tune code for the common case where the line lengths differ: we avoid comparing them entirely in that case. 2001-08-25 Jim Meyering * tests/uniq/Test.pm: Add tests for -s 0 and -w 0. 2001-08-24 Paul Eggert Remove arbitrary restrictions on sizes, fixing a bug reported by Geoff Whale. * src/uniq.c (skip_fields, skip_chars, check_chars): Now size_t, not int. (size_opt): New function. Do not arbitrarily reject size zero. Change the wording of the error message slightly, for convenience. (find_field): Use size_t, not int, to compute sizes. (different, main): check_chars==0 is no longer a special case, as it defaults to SIZE_MAX. (main): Check for overflow with args like -234234234234234. Use 'size_opt' to convert optional arguments to sizes. 2001-08-25 Jim Meyering * tests/uniq/Test.pm: Add new test, #54, for the just-fixed bug. 2001-08-24 Paul Eggert * src/uniq.c (find_field): Don't count trailing newline to be part of the field. This disagrees with POSIX.2, but it's gotta be a bug in the standard. An interpretations request has been submitted to PASC. Reported by Geoff Whale. 2001-08-18 Jim Meyering * Makefile.maint: Merge in changes from autoconf. * Makefile.maint ($(v_etc_file)): Define. (copyright-check): Use the new variable. (my-distcheck): Depend on local-check so those checks are once again run by `make distcheck'. * src/head.c (head_bytes): Read no more than the specified number of bytes. Patch by Ian Bruce. * tests/misc/head-c: New test for the above. * tests/misc/Makefile.am: New file. * tests/misc: New directory. * tests/Makefile.am (SUBDIRS): Add misc. * configure.in (AC_OUTPUT): Add tests/misc/Makefile. 2001-08-14 Jim Meyering * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include the new, generated file, unlocked-io.h. 2001-08-13 Jim Meyering * src/cat.c (AUTHORS): Mark string for translation, since it contains the English word `and'. * src/comm.c: Likewise * src/csplit.c: Likewise * src/cut.c: Likewise * src/md5sum.c: Likewise * src/nl.c: Likewise * src/paste.c: Likewise * src/pr.c: Likewise * src/sort.c: Likewise * src/split.c: Likewise * src/sum.c: Likewise * src/tac.c: Likewise * src/uniq.c: Likewise * src/wc.c: Likewise 2001-08-12 Jim Meyering * tests/mk-script ($program_name): Define. (main): Use $program_name, rather than long-inaccurate `build-script'. (main): Iterate over the sorted keys (rather than `while...each...'), so this script produces the same output regardless of which version of perl (e.g., perl5.6) is used. 2001-08-04 Jim Meyering * Makefile.am (EXTRA_DIST): Add Makefile.cfg. * man/Makefile.am (EXTRA_DIST): Remove duplicate definition. 2001-07-08 Jim Meyering * src/tail.c (usage): Reformat so help2man generates a properly indented man page. Patch by Herbert Xu. 2001-07-04 Jim Meyering * Makefile.cfg: New file with package-specific definitions. * Makefile.am (EXTRA_DIST): Add Makefile.cfg. 2001-07-01 Jim Meyering * src/sort.c (usage): Suggest setting LC_COLLATE=C, rather than LC_ALL=C. 2001-06-10 Jim Meyering * tests/sort/Test.pm: Add a test based on a report from Herbert Xu. 2001-05-20 Jim Meyering * src/uniq.c: Rename new option values: s/all/precede/ and s/minimum/separate/. * tests/uniq/Test.pm: Reflect the above renamings. 2001-05-12 Bruno Haible * src/tail.c (parse_obsolescent_option): Accept a b suffix. 2001-05-19 Jim Meyering msgmerge-0.10.37 complains about some `invalid multibyte sequences.' * po/el.po: Remove the offending entries. * po/ko.po: Likewise. * po/zh.po: Likewise. 2001-05-19 Jim Meyering Support new modes for uniq's --all-repeated option. The default behavior is unchanged. * src/uniq.c: Include argmatch.h. (usage): Update. (check_file): Implement it. (main): Handle new, optional arguments. * tests/uniq/Test.pm: New tests for the above. Patch by Padraig Brady. 2001-05-12 Bruno Haible * src/tail.c (parse_obsolescent_option): Use t_count_lines, not count_lines, in error message. 2001-05-05 Jim Meyering * src/comm.c (usage): Correct description of -3. Reported by Soeren Sonnenburg. 2001-04-22 Jim Meyering * Version 2.0.14. * configure: Regenerate using a patched copy of autoconf-2.49e to work around a bug in its test for a working memcmp function. 2001-03-28 Paul Eggert * src/cksum.c: Fix bugs when computing length of large files. Add overflow and write error checks. Use uint_fast32_t, not unsigned long, to do checksum calculation, as C99 says uint_fast32_t should be no slower and might be faster. Include and "system.h" even if CRCTAB is defined, so that the code will compile if CRCTAB is defined. Include "human.h" if CRCTAB is not defined. (uint_fast32_t): Define if it appears that stdint.h didn't. (BIT, remainder, main, crctab): Use uint_fast32_t, not unsigned long, for checksums. (fill_r, remainder, main): Use ANSI prototypes. (fill_r, remainder, main): Omit duplicate code. (main): Use uintmax_t, not unsigned long, for file lengths. Use size_t, not long, for result of fread. Check for overflow when computing file lengths. Check for write error immediately after printing a line, so that we don't write to stdout indefinitely after an error. 2001-04-14 Paul Eggert * src/sort.c (default_sort_size): Leave a 1/16 margin for RSS. Suggestion from Solar Designer. 2001-04-14 Jim Meyering * src/wc.c (usage): Tweak --help output: s/line,/newline,/ 2001-04-13 Jim Meyering * src/sort.c (main): Add a comment justifying the use of `multi-character' rather than `multibyte' in a diagnostic. From Paul Eggert. 2001-04-12 Paul Eggert * src/sort.c (RLIMIT_AS): Do not define; just use conditional code, since RLIMIT_RSS is similar (and is not standardized). (default_sort_size): Don't allocate more than the RSS limit, if this host has such a limit. 2001-03-20 Paul Eggert * NEWS, doc/textutils.texi: sort now accepts long options and checks POSIX option syntax. * doc/textutils.texi: Document --, -, sort long options, and sort -o after files. * src/sort.c: Include . (usage, main): Add support for long options, and check option syntax as POSIX requires, though (as usual for GNU apps) options can follow file names unless POSIXLY_CORRECT is set. Many diagnostic revamped. (long_options): New constant. (badfieldspec): New arg MSGID. Mark as noreturn. (parse_field_count): New arg MSGID; if null, just return null on error. (new_key): Renamed from key_init. All callers changed. Now allocates the new key. 2001-03-18 Jim Meyering * Version 2.0.13. * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a suggestion from Eli Zaretskii. 2001-03-17 Paul Eggert * src/sort.c, src/tail.c, src/uniq.c (usage): Warn that the +N form will be withdrawn. * doc/textutils.texi: Likewise. 2001-03-08 Paul Eggert * NEWS, doc/textutils.texi: Document pr changes. * src/pr.c: Include mbswidth.h. (standard_header, header, test_suite): Remove. (date_format, date_text, file_text, header_width_available): New vars. (long_options, main, init_header, usage): Add new -D or --date-format option. (CHARS_FOR_DATE_AND_PAGE, T_BUF_FMT, T_BUF_SIZE, NO_DATE): Remove. (init_header): Allow arbitrary width for date format. Change "Page %5d" to "Page %d", since the code no longer assumes fixed width. Do not assume that localtime succeeds. (init_header, print_header, usage): Do not truncate headers. (init_header, print_header): Defer width calculations until page is printed, since "Page 100000" is wider than "Page 1". Count columns, not bytes, in page headers. Custom headers take up only the center, not the whole header. (print_header): Use printf rather than fprintf(stdout). * po/Makefile.in.in (install-data-yes): Install LC_TIME locale for all packages, not just for fileutils. (uninstall): Remove LC_TIME locale too. * src/sys2.h (INT_STRLEN_BOUND): New macro. * tests/pr/0F, tests/pr/0FF, tests/pr/2-S_f-t_notab, tests/pr/2-Sf-t_notab, tests/pr/2f-t_notab, tests/pr/2s_f-t_notab, tests/pr/2s_w60f-t_nota, tests/pr/2sf-t_notab, tests/pr/2sw60f-t_notab, tests/pr/2w60f-t_notab, tests/pr/3-0F, tests/pr/3-5l17f-t, tests/pr/3-FF, tests/pr/3a2l17-FF, tests/pr/3a3f-0F, tests/pr/3a3l15-t, tests/pr/3a3l8f-t, tests/pr/3b2l17-FF, tests/pr/3b3f-0F, tests/pr/3b3f-0FF, tests/pr/3b3f-FF, tests/pr/3b3l15-t, tests/pr/3b3l8f-t, tests/pr/3f-0F, tests/pr/3f-FF, tests/pr/3l17f-t, tests/pr/3l24-t, tests/pr/3ml17f-t, tests/pr/3ml24-FF, tests/pr/3ml24-t, tests/pr/3ml24-t-FF, tests/pr/4-7l24-FF, tests/pr/4l24-FF, tests/pr/a2l15-FF, tests/pr/a2l17-FF, tests/pr/a3-0F, tests/pr/a3f-0F, tests/pr/a3f-0FF, tests/pr/a3f-FF, tests/pr/a3l15-t, tests/pr/a3l17f-lm, tests/pr/a3l8f-t, tests/pr/b2l15-FF, tests/pr/b2l17-FF, tests/pr/b3-0F, tests/pr/b3f-0F, tests/pr/b3f-0FF, tests/pr/b3f-FF, tests/pr/b3l15-t, tests/pr/b3l17f-lm, tests/pr/b3l8f-t, tests/pr/FF, tests/pr/Ja3l17f-lm, tests/pr/Jb3l17f-lm, tests/pr/Jml17f-lm-lo, tests/pr/l17f-t, tests/pr/l24-FF, tests/pr/l24-t, tests/pr/ml17f-0F, tests/pr/ml17f-lm-lo, tests/pr/ml17f-t, tests/pr/ml17f-t-0F, tests/pr/ml20-FF-t, tests/pr/ml24-FF, tests/pr/ml24-t, tests/pr/ml24-t-FF, tests/pr/n+2-5l17f-0FF, tests/pr/n+2l17f-0FF, tests/pr/n+2l17f-bl, tests/pr/n+3-7l24-FF, tests/pr/n+3l17f-0FF, tests/pr/n+3l17f-bl, tests/pr/n+3ml13f-bl-FF, tests/pr/n+3ml17f-bl-tn, tests/pr/n+3ml17f-tn-bl, tests/pr/n+4-8a2l17-FF, tests/pr/n+4b2l10f-0FF, tests/pr/n+5-8b3l10f-FF, tests/pr/n+5a3l6f-0FF, tests/pr/n+6a2l17-FF, tests/pr/n+6b3l6f-FF, tests/pr/n+7l24-FF, tests/pr/n+8l20-FF, tests/pr/nJml17f-lmlmlo, tests/pr/nJml17f-lmlolm, tests/pr/nl17f-bl, tests/pr/nN1+3l17f-bl, tests/pr/nN15l17f-bl, tests/pr/nSml13-bl-FF, tests/pr/nSml13-t-t-FF, tests/pr/nSml13-t-tFFFF, tests/pr/nSml17-bl-FF, tests/pr/nSml17-t-t-FF, tests/pr/nSml17-t-tFFFF, tests/pr/o3a3l17f-tn, tests/pr/o3a3Sl17f-tn, tests/pr/o3a3Snl17f-tn, tests/pr/o3b3l17f-tn, tests/pr/o3b3Sl17f-tn, tests/pr/o3b3Snl17f-tn, tests/pr/o3Jml17f-lm-lo, tests/pr/o3ml17f-bl-tn, tests/pr/o3mSl17f-bl-tn, tests/pr/o3mSnl17fbltn, tests/pr/Test.pm, tests/pr/W-72l17f-ll, tests/pr/W20l17f-ll, tests/pr/W26l17f-ll, tests/pr/W27l17f-ll, tests/pr/W28l17f-ll, tests/pr/W35a3l17f-lm, tests/pr/W35b3l17f-lm, tests/pr/W35Ja3l17f-lm, tests/pr/W35Jb3l17f-lm, tests/pr/W35Jml17f-lmlo, tests/pr/W35ml17f-lm-lo, tests/pr/W72Jl17f-ll, tests/pr/w72l17f-ll: Adjust to minor spacing changes in pr headers. 2001-03-11 Paul Eggert * src/sort.c (die): New message arg, to describe failures better. All callers changed. 2001-03-11 Paul Eggert * src/sort.c: Decrease buffer size when only merging or checking. (sort_size): Now the user-specified sort size. (MIN_MERGE_BUFFER_SIZE): New macro. (MIN_SORT_SIZE): Use it. (merge_buffer_size): New variable. (fillbuf): Increase merge_buffer_size if a longer line is encountered. (checkfp, mergefps): Do not allocate a buffer smaller than merge_buffer_size. (sort): Use the default_sort_size if sort_size is zero. (main): Do not set sort_size to default_sort_size. 2001-03-06 Paul Eggert * src/sort.c (sort): If all the input files are empty, create an empty output file. * tests/sort/Test.pm: Test for this. 2001-03-13 Jim Meyering * src/sort.c (merge): Move declarations of local variables into the inner scope where they're used. (sort): Likewise. 2001-03-06 Paul Eggert Avoid the need for a copy of the input file when the input and output overlap, e.g. 'sort F -o F'. With -m, though, a copy is still needed sometimes. * doc/textutils.texi: 'sort F -o F' no longer needs to copy F. * src/sort.c: Do not include closeout.h. (xfopen): Use stdout if *how != 'r'. (mergefps): Remove FPS arg. Open all input files, and close all files when done. If OFP is null, open the output file (but after opening input files). All callers changed. (first_same_file): New function. (sort, merge): Remove arg OFP; we now open the output file as needed. All callers changed. (merge): New arg MAX_MERGE. All callers changed. (sort): For "sort F -o F", close the input before opening the output. (main): Do not use close_stdout; 'sort' and 'merge' now close stdout. (This also fixes a close-stdout-twice bug.) Remove test for overlapping input and output files, as 'sort' no longer needs to worry about overlap, and 'merge' checks for overlap itself. Use first_same_file to inform 'merge' about how much to merge at the top level, to avoid overlap. 2001-03-12 Jim Meyering `fmt --prefix=S' would not work properly for any string S containing a byte with the high bit set. * src/fmt.c (prefix): Declare to be of type unsigned char, not `char'. (get_prefix): Likewise for local, `p'. Reported by François Pinard. Add a test for the above-fixed problem. * tests/fmt: New directory/files. * configure.in (AC_OUTPUT): Add tests/fmt/Makefile. * tests/Makefile.am (SUBDIRS): Add fmt. 2001-03-05 Andreas Schwab * src/tac.c (save_stdin): Use mkstemp to create temporary file. 2001-03-09 Jim Meyering * Makefile.maint (my_distdir): Define new variable, and use this in place of most old uses of $(distdir). * tests/help-version: Ensure that /dev/full is a character device (using test -c) as well as being writable, before trying to write to it. Otherwise, the test could mistakenly append a newline to an existing, regular, writable, /dev/full file. Suggested by Ulrich Drepper. 2001-03-08 Jim Meyering * tests/sha1sum/sample-vec: Insert the `--text' argument for each test. Reported by Matthew Smith. 2001-03-04 Jim Meyering * Makefile.maint (my_distdir): Define. Use it in place of $(distdir) almost everywhere. * Version 2.0.12. * Makefile.maint (alpha): Use $(PACKAGE)-$(VERSION), not $(distdir), since the latter now has a `$(top_distdir)/' prefix. 2001-03-01 Paul Eggert * src/sort.c (die): New function. (create_temp_file, xfopen, xfclose, write_bytes, sort_buffer_size, fillbuf, main): Use it to regularize error messages. The only change in behavior is that write_bytes and the final close used to say "write error" but now give just the output file name, which should be enough. 2001-03-01 Paul Eggert * src/sort.c (xfclose): Add FILE arg, and report the file name on error. All callers changed. 2001-03-01 Paul Eggert * src/sort.c (main): When fclose (stdin) fails, do not mention the output file in the error message; mention "-" instead. 2001-02-28 Paul Eggert * src/sort.c (xfopen): Set have_read_stdin to 1 only if file is "-". Use fopen_safer, not fopen, to avoid subtle bugs when fopen returns stdin, stdout, or stderr. (xfclose): stdout is no longer a special case. (main): Close output file, don't just flush it; there might be an error on the close. 2001-02-27 Paul Eggert * src/sort.c (initbuf): If the desired size cannot be allocated, repeatedly halve it until allocation succeeds. Reported by Solar Designer. 2001-02-26 Paul Eggert * src/sort.c (parse_field_count): Comment fix. 2001-02-25 Paul Eggert * src/sort.c: Tune allocation and comparison of nodes representing temp files. This improved CPU performance of 'sort -S 1 *.[ch]' by 17% on my host. (struct tempnode): name member now uses struct hack. (temphead): Now a pointer, not a structure. All uses changed. (create_temp_file): Allocate node using struct hack. (zaptemp): Free node using struct hack. Use pointer comparison, not string comparison. 2001-02-25 Paul Eggert * src/sort.c (eolchar, trim_trailing_blanks): Now static. 2001-02-25 Paul Eggert 'sort' race condition fixes. Defend against a DoS attack where someone else creates a temporary file with the same name as ours. Use mkstemp to do this, supplying our own mkstemp if the system doesn't have one. Also, fix a race condition during cleanup on hosts without sigaction. * src/sort.c (NAME_MAX_IN_DIR): Remove. (sigprocmask, sigset_t): New macros, defined only on older hosts. (caught_signals): New var. (xtmpfopen, tempname): Removed. (create_temp_file): New function, combining the functions of the old xtmpfopen and tempname. All callers changed. Use mkstemp to create the file. (sighandler): On hosts without sigaction, ignore signals while cleaning up, instead of letting them interrupt cleanup. (main): Initialize caught_signals. On hosts with sigaction, block all caught signals while handling one. Remove duplicate code. 2001-02-22 Jim Meyering * src/sort.c (keycompare): Move declarations of locals, lena and lenb, into the inner scope where they are used. 2001-02-19 Jim Meyering * src/sort.c (AUTHORS): Add Paul Eggert. * src/wc.c (wc): Rename innermost `buf' to avoid shadowing warning. (wc): Rename local `wc' to avoid shadowing function name. 2001-02-18 Paul Eggert Fix a race condition: freed storage accessed during a signal handler. * src/sort.c (struct tempnode.next): Now volatile. (zaptemp): Free the file name after removing it from the temp list, not before, because a signal can arrive between the two actions and cleanup () traverses the list. 2001-02-18 Paul Eggert Check for input size, and do not overallocate memory. Also check for memory quotas. Revamp storage management so that line tables and character data are taken from the same buffer. Line tables are now in reverse order, since they grow down while the character data grow up. * src/sort.c: (): Include if HAVE_SYS_RESOURCE_H. (struct rlimit, getrlimit): Define a replacement if RLIMIT_DATA is not defined. (RLIMIT_AS): Define to RLIMIT_DATA if not defined. (struct lines): Remove. (struct buffer): New members nlines, line_bytes, eof. Remove member newline_free; no longer needed, since the code no longer runs out of line table space. (SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): Remove. (sort_size): Renamed from sortalloc; now applies to the sum of the character data and the line table, not just the character data. (MIN_SORT_SIZE, INPUT_FILE_SIZE_GUESS): New macros. (linelength): remove. (specify_sort_size): Don't worry about the distinction between the character data and the line table; that is now the caller's responsibility. (default_sort_size): Return the value, instead of being executed for side effect. Return half of available memory, or 1/16 of total memory, whichever is greater; except do not exceed 1/2 of quota. (sort_buffer_size): New function. (initbuf): New arg LINE_BYTES. Ensure that the line array is properly aligned. Initialize the new set of struct buffer members. (buffer_linelim): New function. (fillbuf): Return int, not size_t, since the callers merely care whether the result is nonzero. New arg FILE so that error messages can report the file name. Keep track of eof. Initialize the line table too, taking its memory from the input buffer's memory; this subsumes the old findlines function and removes the need for worrying about running out of line table entries. (checkfp, mergefps, sortlines, merge, sort): Adjust to the new storage management regime, in particular the fact that line tables are now filled in by fillbuf and are in reverse order. (checkfp): Now takes char *, not const char *, since subroutines require that now. Rewrite to avoid lint and duplicate code. If line length alloc calculation overflows, simply allocate enough memory to hold the line. (mergefps): New arg FILES, used for buffer size calculation and error messages. Rewrite to avoid lint. Do not loop if savealloc*2 overflows. (mergefps, merge): Zap temporary files eagerly rather than lazily; this is needed because we now pass FILES to mergefps. (sortlines): Args now point at end of arrays, not at beginnings. (sort): Do not allocate temporary line array for sortlines; instead, take the space from the same buffer. (main): Adjust to sort_size and default_sort_size changes. 2001-02-18 Jim Meyering Rename test input files to avoid conflicts on case-insensitive file systems. * tests/pr/2-Sf-t_notab: Rename from 2Sf-t_notab. * tests/pr/2-S_f-t_notab: Rename from 2S_f-t_notab. * tests/pr/W-72l17f-ll: Rename from W72l17f-ll. * tests/pr/Test.pm: Update file names to reflect renamings. Reported by Matthew Smith. 2001-01-20 Jim Meyering * configure.in: Remove jm_CHECK_ALL_TYPES. Now it's invoked by jm_MACROS. 2001-01-17 Jim Meyering * src/cksum.c (main): Use PACKAGE, not GNU_PACKAGE. * src/tsort.c (main): Likewise. * src/sort.c (main): Likewise. (usage): Convert each TAB in --help output to a sequence of 8 spaces. 2001-01-07 Jim Meyering * src/tail.c (usage): Split a string that was longer than 2048 bytes. 2001-01-03 Jim Meyering * src/sort.c (main): Remove embedded \n from diagnostic. 2001-01-02 Jim Meyering * src/od.c (ulonglong_t): Define place-holder type to avoid some #if directives. (LONGEST_INTEGRAL_TYPE): Remove definition. (MAX_INTEGRAL_TYPE_SIZE): Use ulonglong_t instead of LONGEST_INTEGRAL_TYPE. (print_long_long): Compile this function even on systems without long long support. (decode_one_format): Remove #if directive. * src/od.c (decode_one_format): Guard use of print_long_long with `#if HAVE_UNSIGNED_LONG_LONG'. From Darren Salt. Change all `#ifdef HAVE_UNSIGNED_LONG_LONG' to use `#if' instead. 2000-12-23 Jim Meyering * src/sys2.h [HAVE_INTTYPES_H]: Include . 2000-12-19 Jim Meyering * Version 2.0.11. 2000-12-18 Paul Eggert * NEWS, doc/textutils.texi: New "sort" option -S SIZE. * src/sys2.h (UINTMAX_MAX): New macro, taken from C99. * src/sort.c: Include physmem.h. (SORTALLOC, mergealloc, LINEALLOC): Remove. (sortalloc): Default to zero at program startup. (SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): New macros. (usage, main): Add support for new -S SIZE option. (specify_sort_size, default_sort_size): New functions. (initlines): Do not let alloc exceed limit. (findlines): Likewise. (checkfp, mergefps, sort): Use sortalloc to size everything else, instead of relying on precomputed sizes. 2000-12-17 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. 2000-12-11 Jim Meyering * Version 2.0.10. 2000-12-07 Jim Meyering * src/od.c (address_base): Declare to be static. 2000-12-06 Paul Eggert * src/od.c (address_base, address_pad_len): New var. (output_address_fmt_string, address_fmt_buffer, address_pad): Remove. (flag_pseudo_start): Now int, not long int. (pseudo_offset): Now off_t, not long int. (n_specs, n_specs_allocated): Now size_t, not unsigned int. (format_address, format_address_none, format_address_std, format_address_label): Now accepts an extra char argument (an extra char to print if nonzero), and prints instead of returning a string. All callers changed. (bytes_per_block): Now size_t, not int. (format_address_none): Do not even print the extra char argument. This simplifies the callers. (format_address_std, format_address_label): Print off_t ourself instead of trying to use autoconfigured format. This is faster and more portable. (format_address_paren): New function. (dump): Remove unnecessary cast. (expand_address_fmt): Remove. (main): Use size_t, off_t, etc. instead of builtin types where this is advisable. Adjust to above changes. Remove unnecessary cast. 2000-12-03 Jim Meyering * src/tail.c (tail_file): Initialize ignore, dev, and ino members, when tailing forever and the open failed. Otherwise, we could get uninitialized memory references of those fields in recheck. * tests/tail-2/Makefile.am (TESTS): Add assert-2. * tests/tail-2/assert-2: New file. * Version 2.0.9. Make od print valid addresses for offsets of 2^32 and larger, and allow byte offset (-j) and byte count (-N) to be 2^32 and larger. * src/od.c (MAX_ADDRESS_LENGTH): Don't hard-code as a literal. Rather, define in terms of the type, off_t. (string_min): Declare to be of type size_t. (flag_dump_strings): Declare to be of type int. (print_s_char): Declare the n_bytes parameter and the local, `i', to be of type off_t. (print_char): Likewise. (print_s_short): Likewise. (print_short): Likewise. (print_int): Likewise. (print_long): Likewise. (print_long_long): Likewise. (print_float): Likewise. (print_double): Likewise. (print_long_double): Likewise. (dump_hexl_mode_trailer): Likewise. (print_named_ascii): Likewise. (print_ascii): Likewise. (write_block): Likewise. (print_ascii): Declare local, `print_function' with a prototype. Change a few `>' comparisons to the equivalent `<' form. (parse_options): Declare `tmp' to be of type uintmax_t. Use xstrtoumax, not xstrtoul. Fail if the specified offset if larger than OFF_T_MAX. (dump_strings): Declare local `i' to be of type size_t. Remove the now-unnecessary cast-to-off_t. (main) [IF_LINT]: Initialize desired_width to avoid a warning. Declare `tmp' to be of type uintmax_t. Use xstrtoumax, not xstrtoul. Fail if minimum string length is larger than SIZE_MAX. Fail if specified width is larger than ULONG_MAX. * src/od.c (format_address): Use off_t, not long unsigned_int as the parameter type. (format_address_none): Likewise. Mark parameter as unused. (format_address_std): Likewise. (format_address_label): Likewise. (print_ascii): Mark format string parameter as unused. (write_block): Use off_t, not long unsigned_int as offset type. (expand_address_fmt): New function. (main): Use it to expand each address format string template. Reported by Mark Nudelman, via Andreas Jaeger. * src/sys2.h (OFF_T_MIN): Define here instead. (OFF_T_MAX): Likewise. (CHAR_BIT): Define. * src/tail.c (parse_options): Use xstrtoumax to parse the byte and line offset. Give a better diagnostic when the requested offset is still representable but larger than OFF_T_MAX. (OFF_T_MIN): Remove definition. (OFF_T_MAX): Likewise. 2000-12-02 Jim Meyering * src/sort.c (checkfp): Rename local `buf' to avoid shadowing previous declaration. * src/sort.c (NONZERO): Define and use it to make the code a tiny bit more readable. * doc/textutils.texi (sort invocation): Clarify how -t works when a sort key specifies a range of fields. From Karl O. Pinc. 2000-11-26 Paul Eggert * src/od.c (skip): Use lseek instead of worrying about fseeko or fseek. This should be portable, as we seek before doing any I/O. (fseeko): Remove; no longer used. 2000-11-30 Jim Meyering * src/sort.c: s/SIZE_T_MAX/SIZE_MAX/. 2000-11-30 Paul Eggert * src/sys2.h: Include if HAVE_STDINT_H. (SIZE_MAX): Renamed from SIZE_T_MAX, as C99 uses SIZE_MAX. All uses changed. 2000-11-30 Jim Meyering * src/sort.c: SIZE_MAX is not defined, so s/SIZE_MAX/SIZE_T_MAX/, and... * src/sys2.h (SIZE_T_MAX): ... define. 2000-11-29 Paul Eggert Port GNU "sort" to hosts where sizes don't fit in "int", e.g. 64-bit Solaris (sparc). * src/sort.c ("human.h", "xstrtol.h"): Include. (struct line): length member is now size_t, not int. (struct lines): Likewise for used, alloc, limit members. (struct buffer): Likewise for used, alloc, left, newline_free members. (struct keyfield): Likewise for sword, schar, eword, echar members. (sortalloc, mergealloc, linelength): Now size_t, not int. (initbuf, fillbuf, initlines, begfield, limfield, findlines, numcompare, getmonth, keycompare, compare, checkfp, mergefps, sortlines, sort): Accept, return, and use size_t for sizes, not int. (fillbuf, initlines, findlines, checkfp, sort): Check for overflow when computing buffer sizes. (begfield, limfield): Do not index past end of array. (checkfp): Return a boolean, not a line number, as the line number may not fit in int. All callers changed. Use uintmax_t for line numbers, not int. (sort): Don't allocate tmp until we need it (and know the right size). (parse_field_count): New function. (main): Use it to check for overflow in field counts. "outfile" is now a pointer to const. 2000-11-27 Jim Meyering * src/checksum.h: Don't include system.h here. * src/md5.c: Include config.h, stdio.h, sys/types.h. and system.h here instead. * src/sha1sum.c: Likewise. 2000-11-18 Paul Eggert * src/pr.c (main): Do not assume EOF == -1. Handle the case correctly when digits options immediately precede a non-option. 2000-11-18 Jim Meyering * doc/textutils.texi: Change GNU to @sc{gnu} in many places. Update to use the Free Documentation Licence. * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. 2000-11-17 Jim Meyering * GNUmakefile (.NOTPARALLEL): New target. Prevent unwanted parallelism. Suggestion from Ulrich Drepper. 2000-11-16 John David Anglin * tsort.c: Include sys/types.h before system.h. 2000-11-16 Jim Meyering * src/join.c: Declare global `tab' to be of type *unsigned* char, so join works with 8-bit delimiter characters. Reported by Antonio Rendas. * tests/join/Test.pm (8-bit-t): New test for the above fix. 2000-11-13 Paul Eggert * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should be tested with #ifdef, not with #if. 2000-11-11 Jim Meyering * doc/textutils.texi: More minor rewording and grammar correction. From Brian Youmans. 2000-11-06 Paul Eggert * src/od.c (skip): st_size is not defined for directories. 2000-11-03 Jim Meyering * tests/sha1sum/sample-vec: New file, with tests derived from http://csrc.nist.gov/cryptval/shs/sha1-vectors.zip * tests/sha1sum/Makefile.am (TESTS): Add sample-vec. 2000-10-30 Jim Meyering * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. * src/wc.c: Include "system.h" after wctype.h (not before) to avoid a compilation error on Solaris 5.5.1 systems. Reported by Vin Shelton. 2000-10-23 Jim Meyering * Makefile.maint: Clean up version-related variables. * Version 2.0.8. * Makefile.am (EXTRA_DIST): Add .prev-version. 2000-10-22 Jim Meyering * tests/Makefile.am (SUBDIRS): Add sha1sum. * tests/sha1sum/basic-1: New file. * configure.in (AC_OUTPUT): Add tests/sha1sum/Makefile. * src/Makefile.am (bin_PROGRAMS): Add sha1sum. (md5sum_SOURCES): Define. (sha1sum_SOURCES): Define. (noinst_HEADERS): Add checksum.h. * src/md5sum.c: Factor out the differences between MD5 and SHA1, and parameterize so this code may be used by both md5sum and the new program, sha1sum. Loosely based on a patch from Scott Miller. * src/checksum.h: New file. * src/md5.c: New file that simply defines `algorithm'. * src/sha1sum.c: Likewise. * man/Makefile.am (man_MANS): Add sha1sum.1. * man/sha1sum.x: New file. Support 8-byte integers, assuming they're printable with e.g., %lld. * src/od.c: Add support for printing data as unsigned long long integers. 2000-10-21 Jim Meyering The command, `yes ''|./cat -n' would stop printing after INT_MAX lines. * src/cat.c (cat): Never let `newlines' exceed 3. 2000-10-21 Jim Meyering Prevent a counter buffer overrun when numbering lines and when processing 100 billion lines (or more) of input. * src/cat.c (LINE_COUNTER_BUF_LEN): Define to allow numbering as many as 10^18 - 1 lines (the old limit was 10^11 - 1, and could be exceeded without too much trouble). Use this symbol rather than hard-coding the constant everywhere. (next_line_num): Rather than overrunning for input with more lines, mark the line number by putting a `>' in the leftmost slot. Patch by Jan Nieuwenhuizen. * src/sort.c (SORT_OUT_OF_ORDER): Define. (main): Use it instead of hard-coding the `1'. 2000-10-10 Jim Meyering * src/sort.c (main): Use EXIT_SUCCESS rather than 0. Fail when checking (-c) with more than one file argument, rather than simply ignoring the extra arguments. 2000-09-07 Jim Meyering * src/cut.c: Remove obsolete comment block. (usage): Note that when using -f, lines with no delimiters are also printed. * doc/textutils.texi (cut invocation): Likewise. 2000-08-23 Jim Meyering * src/md5sum.c: Include unconditionally, to be consistent with all the other programs in this directory. * src/tsort.c: Likewise. 2000-08-19 Jim Meyering * src/comm.c (writeline): Correct comments. From Bruno Haible. 2000-08-11 Paul Eggert * doc/textutils.texi: Portable shell scripts should specify global options before key fields. Move global LC_CTYPE remark to each sort option that depends on LC_CTYPE. sort -g depends on LC_NUMERIC. Add @vindex where it's missing. "radix character" -> "decimal-point character", to match Standard C terminology, which is easier for most people to follow. "comm" does not consider trailing newlines to be significant. 2000-08-10 Paul Eggert * doc/textutils.texi: Recommend against the System V syntax for tr ranges, and don't use it in examples. Use POSIX classes rather than ranges, for portability. * src/tr.c (usage): Don't describe System V syntax, as it doesn't always work. * src/sort.c (usage): Describe -d and -i in a locale-independent way. * doc/Makefile.am (constants.texi): Use the C locale so that [A-Z] works as expected. 2000-08-07 Paul Eggert * src/cut.c (cut_fields): Invoke xalloc_die instead of printing our own message. (cut_fields): Check for I/O error as well as end-of-file 2000-08-06 Bruno Haible * src/wc.c: Add support for multi-byte locales. (iswprint, mbrtowc, wcwidth): Provide default definitions. (total_bytes): New variable. (print_bytes): New variable. (longopts): Change abbreviation for --chars from 'c' to 'm'. (usage): Update. (write_counts): Add `bytes' argument. (wc): New variables `bytes', `count_bytes', `count_chars', `count_complicated'. The old code determines `bytes', not `chars'. New case for MB_CUR_MAX > 1. A non-printable non-space character does not increment the line position or start a word. Update `total_bytes'. (main): Initialize `print_bytes' and `total_bytes' to 0. Accept 'm' option. Pass `total_bytes' to write_counts. * doc/textutils.texi (wc invocation): Update accordingly. 2000-08-06 Bruno Haible * src/head.c (head): Call write_header here. (head_file): ... not here. * src/cat.c (closeout_func): Remove variable. (close_stdout_wrapper): Remove unused function. (main): Remove assignment to closeout_func. * src/fold.c (fold_file): Remove ferror(stdout) check, already done in close_stdout. 2000-08-06 Paul Eggert * src/sort.c (usage): Warn more succinctly about the effects of the locale on sort order. 2000-08-06 Jim Meyering * Version 2.0g. * src/tail.c (pipe_lines): Declare local `cp' to be const. 2000-08-04 Greg McGary * src/tail.c (pipe_lines): Add variable `nbytes' so we can free `tmp' immediately after read loop. Don't process an empty file. [This fixes a buffer-underrun error -- detected thanks to bounded pointers -jmm] 2000-08-05 Jim Meyering Fix buffer-overrun error. * src/pr.c (init_header): Allocated buffer was sometimes too small. Reported by Greg McGary (who found this bug using his bounded-pointers-enabled gcc). (init_header): Move declarations of several variables into the inner scope where they are used. * tests/pr/Test.pm (narrow-1): New test, for the above. * src/csplit.c (MAX): Remove definition (It's in sys2.h). 2000-08-04 Jim Meyering * src/sort.c (main): Rename local `t' to `tmp_dir' to avoid shadowing a previous local by that name. (usage): Warn that GNU sort is now locale-aware, and suggest people put LC_ALL=POSIX in their environment. * src/pr.c (store_columns): Remove conjunct that would dereference an out-of-bounds pointer. Reported by Greg McGary (who found this bug using his bounded-pointers-enabled gcc). 2000-08-03 Jim Meyering * tests/Makefile.am.in ($(srcdir)/$x-tests): Use -I$(srcdir), not `-I.'. (Makefile.am): Likewise. Reported by Greg McGary. 2000-08-01 Jim Meyering * doc/textutils.texi (tr invocation): Note that ranges are not portable. Update examples not to use ranges. 2000-07-31 Jim Meyering * src/cut.c (cut_fields): Use `virtual memory exhausted', not `Memory exhausted'. 2000-07-30 Jim Meyering * src/help-version: Remove file. Move it to ... * tests/help-version: ...here * tests/Makefile.am (TESTS): Set to help-version. (TESTS_ENVIRONMENT): Define. (EXTRA_DIST): Add $(TESTS). * src/Makefile.am (EXTRA_DIST): Remove help-version. (TESTS): Remove definition. (TESTS_ENVIRONMENT): Remove definition. 2000-07-28 Paul Eggert sort's -T option can now appear multiple times. Thanks to Charles Randall for suggesting this idea. * doc/textutils.texi, NEWS: Document this. * src/sort.c (temp_dir): Remove. (temp_dirs, temp_dir_count, temp_dir_alloc): New vars. (process_id): New var. (usage): Describe new use of -T. (add_temp_dir): New function. (tempname): Use new temp_dirs array. Do not discard information from the process-id or sequence number, unless we have short file names. (sighandle): Use process_id instead of getpid. (main): Initialize process_id. Add support for the new use of -T. 2000-07-23 Jim Meyering * tests/head/Test.pm: Rename tests (and hence files) to have a short enough prefix so that they're not truncated on 8+3 file systems. Reported by Eli Zaretskii. 2000-07-09 Jim Meyering * config.guess: Update from FSF. * config.sub: Likewise. 2000-07-02 Jim Meyering * Version 2.0f. 2000-07-01 Jim Meyering * src/cut.c: Change type of global, field_1_bufsize, from int to size_t. 2000-06-29 Jim Meyering * src/tr.c (find_bracketed_repeat): Add a cast to suppress a warning. Reported by Gerhard Poul. * src/tail.c (enum): Remove comma from end of enumerator list. From Gerhard Poul. 2000-06-25 Jim Meyering * configure.in (ALL_LINGUAS): Add Danish (da). 2000-06-24 Jim Meyering * doc/textutils.texi: Lots of minor rewording and grammar correction. From Brian Youmans. * tests/sum/basic-1: New file. * tests/sum/Makefile.am: New file. * configure.in (AC_OUTPUT): Add tests/md5sum/Makefile. * tests/Makefile.am (SUBDIRS): Add sum. 2000-06-22 Bruno Haible * src/sum.c (sysv_sum_file): Avoid overflowing 32-bit accumulator on files whose bytes sum to 2^32 or larger. The smallest such file contains 16,843,010 bytes, nearly all of which have the value 0xff. 2000-06-22 Bruno Haible * src/cat.c (main): Correct a comment. 2000-06-21 Jim Meyering * src/cut.c (getstr): Remove private (and out of date) version of this function. (cut_fields): Adjust caller to use the just-extended one in ../lib. Reported by Paul Sauer. 2000-06-20 Jim Meyering * src/uniq.c (main): Fix off-by-argc test, so +N-style options are recognized once again. Reported by Geoff Keunning. Fix typo in diagnostic: s/compare/skip/. 2000-05-27 Jim Meyering * src/tail.c: Arrange to call close_stdout upon exit. Don't close stdout explicitly. (usage): Add missing backslash at end of line. (write_header): Remove now-unused COMMENT parameter. Update all callers. 2000-05-24 Jim Meyering * src/head.c (head_file): Use STDIN_FILENO in place of `0'. (main): Likewise. 2000-05-20 Jim Meyering * src/cat.c: Arrange to call close_stdout upon exit. Don't close stdout explicitly. Replace uses of global constant, output_desc, with uses of STDOUT_FILENO. Arrange to call close_stdout upon exit. Don't close stdout explicitly. * src/cksum.c: Likewise. * src/comm.c: Likewise. * src/csplit.c: Likewise. * src/cut.c: Likewise. * src/expand.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/head.c: Likewise. * src/join.c: Likewise. * src/md5sum.c: Likewise. * src/nl.c: Likewise. * src/od.c: Likewise. * src/paste.c: Likewise. * src/pr.c: Likewise. * src/ptx.c: Likewise. * src/sort.c: Likewise. (but set exit status and file name, too) * src/split.c: Likewise. * src/sum.c: Likewise. * src/tac.c: Likewise. * src/tr.c: Likewise. * src/tsort.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/wc.c:: Likewise. 2000-05-13 Jim Meyering * src/help-version: Run each program successfully at least once. 2000-05-12 Jim Meyering * src/head.c (string_to_integer): Restrict base to 10. Reported by Joseph S. Myers. * tests/head/Test.pm: Add a few tests for this. New option: --first-only * src/unexpand.c (anonymous enum) [CONVERT_FIRST_ONLY_OPTION]: Define. (long_options): Add `first-only'. (main): Handle new option. 2000-05-11 Jim Meyering * tests/unexpand/basic-1: New tests. 2000-04-17 Bruno Haible * src/system.h [__BEOS__]: Ignore O_BINARY and O_TEXT. 2000-04-16 Jim Meyering * src/tail.c: Prepare to remove option: --max-consecutive-size-changes. Doesn't seem useful. (usage): Remove description. * doc/textutils.texi (tail invocation): Remove description. 2000-04-12 Jim Meyering * src/tail.c (usage): Tweak --help output. Suggestions from Karl Berry. Move some macros into m4/. * configure.in (_GNU_SOURCE): Don't define here. (AC_SYS_LARGEFILE): Don't use here. (AM_C_PROTOTYPES): Don't use here. * acconfig.h: Remove now-unused file. 2000-04-09 Jim Meyering * doc/textutils.texi: Include constants.texi. (tail invocation): Use `@value's instead of referring to the output of `tail --help' for defaults. * doc/Makefile.am (constants.texi): New rule. (EXTRA_DIST): Add constants.texi. (MAINTAINERCLEANFILES): Add it here, too. (textutils.dvi, textutils.info): Depend on constants.texi. * src/tail.c (usage): Clarify descriptions of the --max-* options. From Karl Berry. 2000-04-03 Jim Meyering * configure.in (AC_CHECK_HEADERS): Remove langinfo.h. Now it's in m4/. (AC_CHECK_FUNCS): Remove nl_langinfo. Now it's in m4/. 2000-03-17 Jim Meyering * configure.in (ALL_LINGUAS): Add Slovenian (sl). 2000-03-12 Jim Meyering Merge from fileutils. * src/system.h "pathmax.h": Include. : Include if appropriate. : Likewise. : Likewise. : Likewise. : Likewise. (major, minor, makedev): Define if needed. (struct utimbuf): Declare if missing. (ST_BLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE): Define. * src/cksum.c (usage): Correct --help output. Prompted by a report from Gregory Leblanc. 2000-03-05 Paul Eggert * src/sort.c (struct buffer.newline_free): New member. (initbuf, findlines): Set it. (fillbuf): Do not double the size of a full buffer to append a newline unless the buffer is known to be newline free. 2000-03-05 Jim Meyering * Version 2.0e. 2000-03-04 Jim Meyering Don't get failed assertion for `tail -f directory'. * src/tail.c: Revert most of 1999-10-20 change. Instead, ... (IS_TAILABLE_FILE_TYPE): Define to produce similar result. (recheck): Use it here. (tail_file): Use it here. Reported by François Pinard. Once we encounter a file that is not of IS_TAILABLE_FILE_TYPE, marke it as such and ignore it forever after. * src/tail.c (struct File_spec): New member. (recheck): Initialize new member. (tail_file): Likewise. (tail_forever): Skip the file if it's marked as ignorable. 2000-03-03 Jim Meyering * src/sort.c (fillbuf): Move declaration of local, cc, into scope of `while' loop where it's used. 2000-03-02 Paul Eggert Big performance improvement when sorting many small files, building on a suggestion by Charles Randall. * src/sort.c (fillbuf): Skip memmove if it would be a no-op, as many memmove implementations are slow in that case. Don't examine leftover bytes for eolchar, since they may be left over from a previous file, and we want to read from this file. (sort): At end of file, if there is more input and buffer room, concatenate the next input file. 2000-02-29 Jim Meyering * src/join.c (make_blank): Add an explicit cast to `unsigned char *' to placate HPUX's C compiler. Reported by Bob Proulx. 2000-01-30 Jim Meyering * Version 2.0d. * Makefile.maint (my-distcheck): Depend on po-check, so I'll be warned about any required changes at `make distcheck' time rather than at `make alpha' time. (writable-files): New target. (my-distcheck): Depend on it. (alpha): Likewise. * po/POTFILES.in: Add these: lib/makepath.c, lib/rpmatch.c, and lib/same.c 2000-01-29 Jim Meyering * configure.in: Remove lib-check for cposix now that we use m4/isc-posix.m4. (jm_LIB_CHECK): Use this even though the library checks aren't required for this patchage (so all three lib/Makefile.in files will be the same). 2000-01-24 Mark Kettenis * src/tsort.c (exit_status): New variable. (loop): New varibale. (count_items, scan_zeroes): Change return type to int. (detect_loop): Complete rewrite to correctly implement detection of loops. Also change return type to int. (recurse_tree): Stop if ACTION returns non-zero. This involves changing the return type of this function and ACTION to int. (walk_tree): Change return type of ACTION to int. (tsort): Continue sort after a loop has been detected (and broken). Set exit_status to 1 if a loop was detected. (main): Use exit_status to determine exit code. * tests/tsort/basic-1: Change expected output for cycle-1 and cycle-2 tests. 2000-01-23 Jim Meyering * configure.in (AM_FUNC_STRTOD): Move to m4/. (AC_SUBST(POW_LIBM)): Likewise. 2000-01-22 Jim Meyering * src/sort.c (keycompare): Use global, hard_LC_COLLATE in place of local that is sometimes undeclared. * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). (AC_CHECK_HEADERS): Move these checks into m4/. * src/tr.c ("xstrtol.h"): Include. (Filter): Rename from PFL. (non_neg_strtol): Remove function. (find_bracketed_repeat): Use xstrtoul instead of non_neg_strtol. (squeeze_filter, set_initialize, main): Use size_t and ssize_t in place of long and int in several decls. (read_and_delete, read_and_xlate): Likewise, and remove assertion. * tests/tr/Test.pm (o-rep-1, o-rep-2): New tests. * src/cut.c: Correct copying notice to use GPL, per author's request. * src/paste.c: Likewise. (AUTHORS): Add djm. 1999-09-19 Bruno Haible * src/tr.c (PFI): Return `long', not `int'. (PFL): Rename from PFI now that it returns long. (squeeze_filter): Declare as `long': i, nr, out_len. 2000-01-17 Paul Eggert Tweak sort performance. * src/sort.c (hard_LC_CTYPE): Remove. (keylist): Renamed from keyhead. Now a pointer, not a mostly-unused struct. All uses changed. (findlines, keycompare, CMP_WITH_IGNORE, compare, checkfp, mergefps, sort): Tune and use a more consistent style for reallocation. (keycompare, main): Don't worry about LC_CTYPE; it's buggy with multibyte chars anyway. (compare): Invoke alloca (0) after each call to keycompare, not just the ones that return nonzero. This avoids a memory leak on architectures without builtin alloca that occurs sometimes when a file contains all duplicate lines. 2000-01-17 Paul Eggert * src/csplit.c (interrupt_handler, main): Don't use SA_INTERRUPT to decide whether to call sigaction, as POSIX.1 doesn't require SA_INTERRUPT and some systems (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead; it's been part of POSIX.1 since day 1 (in 1988). * src/sort.c (sighandler, main): Likewise. 2000-01-16 Jim Meyering * lib/Makefile.am: Merge with fileutils/lib/Makefile.am. * configure.in: Remove AM_FUNC_ERROR_AT_LINE, jm_FUNC_STRFTIME, AC_FUNC_VPRINTF, and AC_FUNC_ALLOCA. Now they're in m4/. 2000-01-15 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Remove these: memcpy memset stpcpy strpbrk strtol strtoul. Now that's in m4/. unexpand could infloop * src/unexpand.c (TAB_STOP_SENTINEL): Define. (unexpand): Use it instead of INT_MAX. Declare column and pending to be `unsigned'. Increment pending and column counters only if column is smaller than TAB_STOP_SENTINEL. * tests/Makefile.am (SUBDIRS): Add unexpand. * tests/unexpand/basic-1: New tests for the above-fixed bug. * configure.in (AC_OUTPUT): Add tests/unexpand/Makefile. Reported by John Kodis. 2000-01-12 Paul Eggert * src/sort.c (fillbuf): Avoid quadratic behavior with long lines. Also, stop worrying about ancient memchr bug (misbehavior when size is zero), since other code doesn't worry either. 2000-01-11 Jim Meyering Sync lib/ directories of sh-utils, and textutils. * lib/Makefile.am (libfetish_a_SOURCES): Add getdate.y, posixtm.c, basename.c, canon-host.c, readutmp.c, stripslash.c, xgetcwd.c, xgethostname.c. (noinst_HEADERS): Add getdate.h, group-member.h, posixtm.h, pathmax.h, readutmp.h * lib/Makefile.am: s/tu/fetish/ * src/Makefile.am: s/libtu/libfetish/ 2000-01-10 Jim Meyering * Version 2.0c. * Makefile.maint (announcement): Include URLs for xdelta files. (alpha): Use scp, not ncftp. * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h. 2000-01-08 Jim Meyering * Version 2.0b. More nits. * src/cut.c (OUTPUT_DELIMITER_OPTION): Define this and use it instead of `CHAR_MAX + n'. * src/pr.c (PAGES_OPTION, COLUMNS_OPTION): Likewise. 2000-01-07 Jim Meyering * tests/tsort/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix to exported PATH value (though not strictly necessary, here). * tests/md5sum/Makefile.am: Likewise. Nits. * lib/memcasecmp.c: Use `#if' instead of `#ifdef' for `HAVE_CONFIG_H'. Capitalize all macro parameters. (memcasecmp): Ansideclify. Don't cast away `const'ness of parameters. * lib/strpbrk.c (strpbrk): Ansideclify. Use `#if' instead of `#ifdef' for `HAVE_CONFIG_H'. Suggestions from François Pinard. 2000-01-06 Jim Meyering * tests/tail-2/assert: Tell the user just before sleeping for 7 seconds. * tests/tail-2/Makefile.am (TESTS): Remove fflush test. It didn't test the losing behavior, and left a stray tail process to boot. 2000-01-01 Jim Meyering * Version 2.0a. * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in. 1999-12-12 Jim Meyering Move 120+ lines of stat.h-related macros from system.h (not shared) to sys2.h, which is shared between fileutils, sh-utils, textutils. * src/system.h: Move them from here... * src/sys2.h: ... to here. 1999-12-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Galician (gl). 1999-12-06 Jim Meyering * tests/tail-2/fflush: New test for latest change. * tests/tail-2/Makefile.am (TESTS): Add fflush. 1999-10-26 Marc Boucher * src/tail.c (main): Flush stdout before switching to unbuffered mode and calling tail_forever. Required only on Solaris 5.7 -- on other systems, using setvbuf to switch to unbufferd mode does the flush. 1999-11-22 Jim Meyering * lib/Makefile.am (DISTCLEANFILES): Put $(BUILT_SOURCES) here rather than in $(MAINTAINERCLEANFILES). * src/tail.c (recheck): Handle a race condition (including reuse) that would lead to a failed assertion. Reported by Ken Pizzini. (tail_forever): Record errno before using it in call to `error' which might change it. (tail_file): Likewise. New test for the above. * tests/tail-2/assert: New file. * tests/tail-2/Makefile.am: New file. * tests/tail-2: New directory. * tests/Makefile.am (SUBDIRS): Add tail-2. * configure.in (AC_OUTPUT): Add tests/tail-2/Makefile. 1999-11-05 Jim Meyering * src/system.h: Use HAVE_STRUCT_STAT_ST_BLKSIZE not HAVE_ST_BLKSIZE. * configure.in: Move some type/header/member tests into m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of fileutils, textutils, and sh-utils. 1999-11-04 Paul Eggert * src/sort.c (SORTALLOC): New macro. (sortalloc, mergealloc, LINEALLOC): Use it. (sortalloc, mergealloc, linelength): Now const. (sortalloc): Increase from 0.5 to 8 MB. (mergealloc): Increase from 16 to 256 kB. (LINEALLOC): Increase from 0.25 to 4 MB. 1999-11-03 Paul Eggert * NEWS, doc/textutils.texi: Do not consider newline to be part of a line when comparing lines in `sort' and `comm'. POSIX.2 requires that we consider newline, but this is a bug in the spec and the bug will likely be fixed. * src/comm.c (compare_files): Likewise. * src/sort.c (begfield, limfield, findlines, keycompare, compare): Likewise. * tests/sort/Test.pm: Update tests `use-nl' and `11d' to reflect this change. * lib/linebuffer.c (readline): Do not leave room for an extra byte after the newline; it's no longer needed. * src/sort.c (sortalloc, mergealloc, fillbuf, checkfp, mergefps): Likewise. * lib/memcoll.c (memcoll): The two arguments cannot be adjacent any more, so remove the alloca/copy workaround for that case. 1999-11-03 Jim Meyering Fix so that `tail -fn 2 file' works again. * src/tail.c (anonymous enum) [LONG_FOLLOW_OPTION]: Define. (long_options): Use LONG_FOLLOW_OPTION here, instead of 'f'. (main): Remove the `::' after the `f' in getopt_long string. Add `case LONG_FOLLOW_OPTION' after `case 'f':'. Based on a patch from Tim Waugh. * src/tail.c (anonymous enum) [RETRY_OPTION]: Define. [MAX_UNCHANGED_STATS_OPTION]: Likewise. [MAX_CONSECUTIVE_SIZE_CHANGES_OPTION]: Likewise. [PID_OPTION]: Likewise. (long_options): Use *_OPTION instead of CHAR_MAX + N. (main): Likewise. 1999-11-02 Jim Meyering * man/help2man: Import version 1.018. * man/Makefile.maint ($(man_MANS)): Remove use of --name=... option. * man/*.x: Include one-line summary in [NAME] section. * man/Makefile.summ (cat-summary): Remove now-unused file. * man/Makefile.am (EXTRA_DIST): Remove Makefile.summ. * man/Makefile.maint: Include Makefile.summ with leading `-'. This file is shared by fileutils and sh-utils, both of which still have the file (albeit nearly empty now). Suggestion for clean-up from Akim Demaille. 1999-11-01 Jim Meyering * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). 1999-10-20 Jim Meyering * src/tail.c (recheck): Don't refuse to tail a non-regular, non-pipe. (tail_file): Likewise. 1999-10-07 Jim Meyering * configure.in (ALL_LINGUAS): Add Japanese (ja). 1999-10-04 Jim Meyering * depcomp: New file, for automake's new dependency support. * missing: New version, from automake's user-dep-gen-branch. 1999-09-28 Jim Meyering * src/system.h: Update from the system.h from fileutils. * lib/error.c (error_at_line): Use strerror portably here, too, just as was done in error. 1999-09-02 Jim Meyering * src/cut.c: Remove xstrdup declaration. * src/sort.c: Likewise. * src/tsort.c: Likewise. 1999-08-22 Jim Meyering * src/tsort.c (detect_loop): There's no loop if k->top is NULL. Niklas Edmundsson showed how to make tsort segfault. * tests/tsort/Makefile.am: Rewrite to use Fetish.pm-based framework. * tests/tsort/basic-1: New file. Add a few more tests. * tests/tsort/Test.pm: Remove. * man/help2man: Escape backslashes so tr's manual comes out right. Reported by Andreas Schwab. * src/tsort.c (usage): Correct address for bug reports. (tsort): Remove trailing `\n' in error format. * src/md5sum.c (md5_check): Remove trailing `\n' in error format. * src/sys2.h (IF_LINT): Define new macro. * src/od.c (dump): Use IF_LINT macro instead of #ifdef lint... (main): Likewise. * src/paste.c (paste_parallel): Likewise. * src/pr.c (read_line): Likewise. * src/sort.c (checkfp): Likewise. (mergefps): Likewise. * src/cksum.c (cksum): Constify a char*. * src/comm.c (writeline): Likewise. * src/uniq.c (check_file): Move declarations of local variables into the scopes where they're used. (min): Remove macro definition. (different): Use MIN, not min. (SWAP_LINES): New macro. (check_file): Use it here. * src/uniq.c (check_file): Generate each line of output earlier, when possible. It is possible when using none of these options: --count, -repeated, --all-repeated, --unique. Based on a patch from Ian Turner. 1999-08-15 Jim Meyering * src/tail.c (ENOSYS): Define to a bogus value if not already defined. 1999-08-13 Eli Zaretskii * src/tail.c (parse_options): Warn if --pid=PID is used and kill() returns ENOSYS (e.g. when compiled with DJGPP). 1999-08-13 Jim Meyering * src/tsort.c (usage): Use consistent bug-reporting address. * tests/tsort/Test.pm: New file. * tests/tsort/Makefile.am: New file. * tests/tsort: New directory. * tests/Makefile.am (SUBDIRS): Add tsort. * configure.in (AC_OUTPUT): Add tests/tsort/Makefile. 1999-08-11 Paul Eggert * doc/textutils.texi: Document how to ignore newline during sort. 1999-08-07 Jim Meyering * po/POTFILES.in: Add lots of lib/*.c files. Remove src/system.h. 1999-08-06 Jim Meyering * Version 2.0. * src/sort.c: Include file name in `write error' diagnostics. (write_bytes): Add output_file parameter and use it. Update callers. (mergefps): Likewise. (merge): Likewise. (sort): Likewise. Reported by John Summerfield. 1999-08-05 Jim Meyering * src/tail.c (Follow_mode): Remove comma at end of enumerator list. Reported by Kaveh Ghazi. * config.sub: Update from autoconf. * config.guess: Update from autoconf. 1999-08-04 Jim Meyering * Version 1.22q. * configure.in: Remove inadequate getline-testing code. md5sum would segfault on HPUX because of the getline function in their C library. Use the AM_FUNC_GETLINE test in m4/ instead. 1999-08-03 Jim Meyering * src/tail.c (tail_forever): When following by name and calling recheck because of exceeding max_n_consecutive_size_changes_between_opens, `continue' so we don't fall through and (assuming the file finally grew) get the erroneous `file truncated' message. This was hard to reproduce. 1999-08-01 Jim Meyering * Version 1.22p. * configure.in (AM_C_PROTOTYPES): Move test to precede a few header tests -- merely on principle. 1999-08-01 Paul Eggert * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. 1999-07-16 Paul Eggert * lib/quotearg.c (quotearg_buffer): Don't quote spaces if C quoting style. 1999-07-31 Jim Meyering * src/tail.c (tail_forever): Don't call kill if pid is 0. Detect when `writer_is_dead' also when the writer is some other user. From Karl Heuer. * src/tail.c (parse_options): Warn if --pid=PID is used without -f. 1999-07-30 Jim Meyering * Version 1.22o. * src/tail.c: New option: --pid=PID. Include signal.h for kill prototype. (pid): New global. (long_options): Add `pid'. (usage): Describe it. (tail_forever): Implement it. (parse_options): Handle the new option and required arg. Suggestion and pseudo-code from Karl Heuer. 1999-07-27 Jim Meyering * lib/linebuffer.c: Include now that linebuffer.h uses size_t. This is required on at least SunOS4. From Kaveh Ghazi. 1999-07-26 Jim Meyering * src/sys2.h (PID_T_MAX): Define. * src/tail.c (struct File_spec) [n_stat_calls]: Remove unused member. 1999-07-25 Jim Meyering * src/pr.c (usage): Remove `NEWS'-style paragraph (sorry to have let that in, translators). * Version 1.22n. 1999-06-01 Volker Borchert * tests/Makefile.am: Make envvar-check depend on check-recursive rather than on `check' so that its tests are performed before any real tests. 1999-07-20 Jim Meyering * configure.in (AC_REPLACE_FUNCS) Remove memmove, now that it's AC_REPLACE...'d in m4/jm-macros.m4. * src/wc.c (posixly_correct): Declare global. (write_counts): Use it to select printf formats. (main): Set posixly_correct from the POSIXLY_CORRECT envvar. From Peter Moulder. 1999-07-15 Jim Meyering * tests/md5sum/Makefile.am: Revert the 1999-02-15 change. * tests/md5sum/basic-1, newine-1: Add --text for each individual test. Reported by Eli Zaretskii. 1999-07-12 Jim Meyering * configure.in (ALL_LINGUAS): Add Slovak (sk). 1999-07-11 Jim Meyering * src/tail.c (recheck): Use assert instead of unnecessary close_fd. Remove a couple of unnecessary FIXME comments. 1999-07-10 Jim Meyering * doc/textutils.texi: Document new tail options. * src/tail.c (struct File_spec) [tailable]: Rename from `missing' and document. Change all uses and locals like was_missing to was_tailable. Invert expressions as appropriate. (reopen_inaccessible_files): Rename from allow_missing. (sleep_interval): Describe. (--allow-missing): Deprecate. (--retry): New option, equivalent to --allow-missing. (usage): Document name vs. descriptor differences. Refer to manual for descriptions of --max-unchanged-stats=N and --max-consecutive-size-changes=N. (valid_file_spec): New function. (recheck): Assert valid_file_spec. Remove dead else-if block (suggestion from Eli Zaretskii). Adjust stmts that set f->tailable -- unlike for `missing', tailable doesn't depend on errno == ENOENT. (parse_options): Give a warning if --retry is used when not following by name. * tests/join/Test.pm: New test case (but commented out) for Paul's 1999-06-01 fix. 1999-07-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Greek (el). 1999-07-04 Jim Meyering * tests/join/Test.pm: New test case for Paul's 1999-06-03 fix. 1999-07-03 Eli Zaretskii * src/tail.c (struct File_spec): New member, errnum. (recheck): Record the new value of errno in f->errnum. Don't output an error message unless the new value of errno differs from the old one. Output a message if previously-inaccessible file becomes accessible. (tail_forever): Always recheck files whose fd is negative. If the file cannot be fstat'ed, record the errno value in f[i].errnum. (tail_file): If the file cannot be open, record the errno value in f->errnum. If it can be opened, initialize f->errnum to zero. If it's a non-regular non-fifo file, initialize f->errnum to -1. 1999-06-21 Jim Meyering * doc/textutils.texi: Use lower case characters in sc{} context. Reported by Eli Zaretskii. 1999-06-03 Paul Eggert * src/join.c (xfields): Only s separate fields, not s. 1999-06-01 Paul Eggert * lib/linebuffer.c (readline): Leave room for an extra byte after the newline; comm needs this for memcoll. 1999-06-01 Paul Eggert Add LC_COLLATE support to `join'. * doc/textutils.texi: Describe join and LC_COLLATE. * src/join.c: Add support for LC_COLLATE locale. Include hard-locale.h, linebuffer.h, memcoll.h. (struct line): New member `buf', replacing `beg' and `lim'. All uses changed. (hard_LC_COLLATE): New var. (main): Initialize it. (get_line): Use readline to read the line, instead of doing it by hand. That way, we get a buffer that we can pass to memcoll. (keycmp): Use memcoll to compare lines if hard_LC_COLLATE is nonzero. 1999-05-27 Volker Borchert * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. 1999-05-25 Paul Eggert Add LC_COLLATE support to `comm', so that `comm' is compatible with `sort' in nontrivial locales. * doc/textutils.texi: Document locale-specific mode for comm. * lib/Makefile.am (libtu_a_SOURCES): Add hard-locale.c, memcoll.c. (noinst_HEADERS): Add hard-locale.h, memcoll.h. * src/comm.c: Include hard-locale.h, memcoll.h. (hard_LC_COLLATE): New variable. (compare_files): Use memcoll to compare if hard_LC_COLLATE. (main): Initialize hard_LC_COLLATE from locale. * src/sort.c: Include hard-locale.h, memcoll.h. (hard_LC_COLLATE, hard_LC_CTYPE, hard_LC_TIME): New variables, replacing `need_locale'. (memcoll): Move to lib/memcoll.c. (keycompare): No need to alloc (0), since our caller now does it. (compare): alloca (0) before returning. (my_setlocale): Remove; hard_locale now dows this. (main): Invoke setlocale, bindtextdomain, and textdomain before invoking anything that might print an error. Use hard_locale to determine which locales are hard. * lib/hard-locale.c, lib/hard-locale.h, lib/memcoll.c, lib/memcoll.h: New files. 1999-05-25 Paul Eggert * lib/linebuffer.c (readline): Append trailing newline to line. * lib/linebuffer.h [struct linebuffer] (size): Declare to be of type size_t, not long. [struct linebuffer] (length): Likewise. * src/comm.c, (writeline): Lines now contain trailing newline. * src/uniq.c (find_field, different): Use size_t, not int, for lengths. (writeline): Lines now contain trailing newline. (check_file): Use size_t, not int, for lengths. * src/nl.c (proc_text, check_section, main): More of the same. * lib/linebuffer.h (struct linebuffer): Use size_t for sizes. src/nl.c (header_del_len, body_del_len, footer_del_len, main): Likewise. src/uniq.c (find_field, different, check_file): Likewise. * lib/linebuffer.c (readline): Silently append trailing newline if needed. Do not bother setting buffer length to 0 at EOF, since it's not part of the spec and nobody relies on it. Do not compute the difference between unrelated pointers. 1999-05-25 Paul Eggert * src/tac.c (memrchr): Ifdef out this unused function. 1999-05-25 Jim Meyering * doc/textutils.texi (Squeezing): Remove misleading square brackets from SET1 in the one-word-per-line example. 1999-05-22 Jim Meyering * lib/Makefile.am (libtu_a_SOURCES): Remove memchr.c. From Ulrich Drepper. * Version 1.22m. 1999-05-22 Paul Eggert * doc/textutils.texi: Document locale-specific changes to `sort', as well as the new, POSIX-compliant definition of line comparison, and -g's more careful treatment of NaNs, infinities and zeros. * src/sort.c (general_numcompare): Put exceptional cases first, not last, to be consistent with -M. 1999-05-21 Paul Eggert * src/sort.c (strtod): Declare if STDC_HEADERS is not defined. (general_numcompare): Use strtod, not xstrtod. Do not consider partial conversions to be errors. Put -infinity at the start, and +infinity at the end; follow +infinity with NaNs (sorted by bit pattern), and finally by conversion errors. 1999-05-21 Jim Meyering * tests/sort/Test.pm (11d): Reverse lines in expected output to reflect latest change. (use-nl): New test from Paul Eggert. 1999-05-20 Paul Eggert * src/sort.c: Treat the trailing newline as part of the line, as required by POSIX.2. (struct line, findlines, compare, checkfp, mergefps, sort): A line now includes its trailing newline. (findlines): Do not replace newline with NUL. (memcoll, keycompare): Work even if the data to be compared are adjacent strings; this is possible now that lines contain the trailing newline. (fillbuf): Always have an unused byte at the end of the buffer, since memcoll and keycompare want to modify a byte after the last line. (sortalloc, mergealloc): Increase by 1, for trailing byte. 1999-05-20 Jim Meyering * tests/sort/Test.pm: Add test case from Paul Eggert. 1999-05-20 Paul Eggert * src/sort.c (keycompare): Ignore any length difference if the localized comparison says the strings are equal. * src/sort.c (memcoll, keycompare, compare): Handle NUL characters properly when comparing with LC_COLLATE semantics. (NLS_MEMCMP): Remove. (memcoll): Renamed from strncoll. Take separate lengths for each string. This function is now invoked only when need_locale. (keycompare): Don't copy strings when ignore and translate are both NULL. 1999-05-18 Paul Eggert * src/sort.c (MONTHTAB_CONST): Renamed from NLS_CONST; the use is also changed. Define to const also if !HAVE_NL_LANGINFO. (usage): `,' -> `;' (English typo). 1999-05-17 Eli Zaretskii * src/cat.c (main): When stdout is in binary mode, make sure all input files are also read in binary mode. 1999-05-16 Jim Meyering * Version 1.22l. 1999-05-11 Paul Eggert * src/sort.c: Don't autodetect the locale of numbers and months, as this conflicts with POSIX.2 and is tricky to boot. (FLOATING_COMMA, NLS_STRNCMP, NLS_MAX_GROUPS, NLS_ONE_CHARACTER_STRING): Remove macros no longer used. (nls_grouping, nls_fraction_found, nls_month_found, nos_monthtab, nls_months_collide, nls_keyhead, us_monthtab): Remove variables no longer used. (struct nls_keyfield): Remove types no longer used. (strncoll_s2_readonly, nls_set_fraction, look_for_fraction, nls_month_is_either_locale, nls_numeric_format): Remove functions no longer used. (monthtab): Now has the role that us_monthtab had, but it's const only if ENABLE_NLS is not defined. (C_DECIMAL_POINT): Renamed from FLOATING_POINT. All uses changed. (MONTHS_PER_YEAR): Renamed from NLS_NUM_MONTHS. All uses changed. (struct_month_cmp): Renamed from nls_sort_month_comp. All uses changed. Use strcmp, not strcoll, since the user doesn't care about collating here. (inittables): Read locale data into monthtab, rather than modifying a separate month table and futzing with indirection. Do not worry about colliding months, since we no longer autodetect month locale. (fraccompare): Don't set no-longer-used variable nls_fraction_found. (getmonth): Use strncmp to compare months, since user doesn't care about collating here. Fix bug where code incorrectly assumed that strlen (monthtab[lo].name) == strlen (monthtab[ix].name). (keycompare, main): Don't autodetect month locale. (compare): Don't use NLS_MEMCP in code that can't be executed if need_locale is false, as NLS_MEMCP is equivalent to memcmp in that case. (sort, insertkey, main): Don't autodetect numeric locale. 1999-05-15 Jim Meyering * tests/join/Test.pm (trailing-sp): New test for this fix. * src/join.c (xfields): Don't interpret a trailing blank as a delimiter when e.g. -t: was specified. From Tim Smithers. 1999-05-12 Jim Meyering * tests/Makefile.am (envvar-check): Renamed from check-local. (check): Depend on envvar-check so the envvar check is performed before all other tests. Reported by Volker Borchert. * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects, so CDPATH is mentioned in the message. Reported by Volker Borchert. 1999-05-11 Jim Meyering * src/sort.c (usage): Split the --help message into two pieces so that neither is longer than 2048. For Irix4's cc. Reported by Kaveh Ghazi. 1999-05-09 Jim Meyering * lib/regex.c: Update from libc. * Version 1.22k. * Makefile.maint (alpha): Put the announcement in /tmp/announce-$(distdir) * tests/sort/Test.pm (neg-nls): New test. 1999-05-08 Jim Meyering * src/system.h (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, and all the *_MIN and *_MAX symbols): Remove definitions. * src/sys2.h: Put the definitions here instead (this file is shared between all three *utils packages, while system.h is not). 1999-05-06 Paul Eggert * src/sort.c (fraccompare, numcompare): Merge the NLS and non-NLS versions into a single function. (decimal_point): Now char, since we no longer convert to unsigned char. (th_sep): Now int, since we use a value out of char range to denote the absence of a thousands separator. (IS_THOUSANDS_SEP): New macro. (USE_NEW_FRAC_COMPARE): Remove. (nls_set_fraction): Arg is now char, not unsigned char. Set th_sep to CHAR_MAX + 1 if there is no thousands separator. (numcompare): Don't convert to unsigned char unless necessary. (main): Turn off decimal points and thousand separators if they are multibyte characters, as we don't support that yet. 1999-05-06 Paul Eggert * src/system.h (CHAR_MIN, CHAR_MAX): New macros. (SCHAR_MIN, SCHAR_MAX): Don't assume that char is signed. 1999-05-06 Paul Eggert * src/sort.c (numcompare): Handle comparison of two negative numbers correctly in the ENABLE_NLS case. 1999-05-04 Jim Meyering * src/pr.c (usage): Break the usage message into 3 pieces instead of only 2. The strings had grown to be longer than 2048, which evokes errors when compiling with Irix4's cc. Reported by Kaveh Ghazi. * src/tsort.c (search_item): Use `1' instead of `+1'. The latter elicits a syntax error from SunOS4's cc. From Kaveh Ghazi. 1999-05-03 Jim Meyering * src/ptx.c : Don't include. [!STDC_HEADERS]: Remove definitions of ctype macros. Convert e.g., isspace to ISSPACE to use definitions from sys2.h. Reported by Kaveh Ghazi. * src/sys2.h (TOLOWER): Define. (TOUPPER): Define. * src/join.c (TOLOWER): Remove definition. * src/md5sum.c (TOLOWER): Remove definition. 1999-04-30 Jim Meyering * src/sort.c (usage): Document the differences between the obsolescent, +POS1[-POS2] form, and the POSIX -k option. 1999-04-24 Jim Meyering * configure.in: Use AC_CANONICAL_HOST. * lib/Makefile.am (libtu_a_SOURCES): Add xstrtoumax.c (noinst_HEADERS): Remove xstrtoul.h. * src/csplit.c: Include new "xstrtol.h", not "xstrtoul.h". (struct control) [repeat]: Declare as uintmax_t, not int. (struct control) [lines_required]: Likewise. (handle_line_error): Use human_readable to print lines_required. (parse_repeat_count): Parse a uintmax_t. (parse_patterns): Parse a uintmax_t. * src/tail.c: Include new "xstrtol.h", not "xstrtoul.h". * src/od.c: Likewise. * src/head.c: Include new "xstrtol.h", not "xstrtoul.h". Change all U_LONG_LONG to uintmax_t. (head_lines): Move a couple dcls into an inner scope. (string_to_integer): Rename from string_to_ull. 1999-04-19 Jim Meyering * Makefile.maint (b_host): Remove /pub suffix. 1999-04-18 Jim Meyering * Version 1.22j. * Makefile.maint (my-distcheck): Use AMTAR, not TAR. * src/sort.c (usage): s/DIRECT/DIRECTORY/g Rename global: s/temp_file_prefix/temp_dir/. (NAME_MAX_IN_DIR): Rename from PATH_MAX_IN_DIR. Use _POSIX_NAME_MAX, not _POSIX_PATH_MAX. Guard with #if HAVE_PATHCONF rather than #if HAVE_UNISTD_H. (tempname): Wrap after 99999 only for length-impaired file systems. 1999-04-17 Jim Meyering * src/tail.c (file_lines): Fix serious bug introduced with last changes. From Andreas Schwab. 1999-04-15 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Rename .posix-warn to .env-warn. (check-local): Warn about CDPATH in the same way we warn about POSIXLY_CORRECT, since the cp/same-file test fails at least when using bash with CDPATH set. Reported by Mark Hewitt. * src/pr.c Add comments. (init_header): Tweak white space in Date/Time header. * tests/pr/Test.pm: Updated all tests to reflect the big 1999-02-13 change. From Roland Huebner. 1999-04-12 Jim Meyering * src/cat.c (main): Declare out_dev to be of type dev_t, not `int'. Declare out_ino to be of type ino_t, not `int'. From John Bley. * src/od.c (MIN, MAX): Remove definitions. * src/sys2.h (MIN, MAX): Define here instead. Reported by John Bley. 1999-04-11 Jim Meyering * Version 1.22i. * tests/pr/Test.pm (test_vector): Disable all tests while I wait for an updated suite. Fix the problem whereby `yes > k & sleep 1; tail -2c k' would infloop. * src/tail.c (COPY_TO_EOF): Define. (dump_remainder): Add parameter, n_bytes, and rewrite to use it. Update callers. (file_lines): Rename parameter. (tail_bytes): Remove obsolete comment. Fix the problem whereby `yes > k & sleep 1; tail -1 k' would infloop. * src/tail.c (dump_remainder): Move this function to precede the new use in file_lines. (tail_lines): Don't call dump_remainder here. (file_lines): Call dump_remainder here instead. Reported by Lehti Rami. * lib/readtokens.c (readtoken, readtokens): Protoize. 1999-04-10 Jim Meyering * src/tail.c (xwrite): Use STDOUT_FILENO instead of literal `1'. 1999-04-04 Jim Meyering * src/cat.c: Standardize --help and --version processing. * src/comm.c: Likewise. * src/csplit.c: Likewise. * src/cut.c: Likewise. * src/expand.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/head.c: Likewise. * src/join.c: Likewise. * src/md5sum.c: Likewise. * src/nl.c: Likewise. * src/od.c: Likewise. * src/paste.c: Likewise. * src/pr.c: Likewise. * src/ptx.c: Likewise. * src/split.c: Likewise. * src/sum.c: Likewise. * src/tac.c: Likewise. * src/tail.c: Likewise. * src/tr.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/wc.c: Likewise. 1999-03-29 Jim Meyering * configure.in (GNU_PACKAGE): Remove related code -- now it's in the catch-all for shared autoconf code, m4/jm-macros.m4. (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use this instead. 1999-03-26 Jim Meyering * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. (noinst_HEADERS): Add version-etc.h. 1999-03-25 Jim Meyering * src/tail.c (recheck): Factor out a block of duplicated code. Set f->size to 0 upon encountering a new file so we read it from the beginning rather than from the end of the first line or block. Otherwise, after a log rotation, tail would omit the first line or block of the new file. Reported by Ed Avis. 1999-03-20 Jim Meyering * tests/Makefile.am (SUBDIRS): Temporarily remove pr. 1999-03-13 Jim Meyering * src/tac.c (tac_mem): `#if-0'-out this unused function. (tac_stdin_to_mem): Likewise. * doc/textutils.texi (cut invocation): Describe --output-delimiter. 1999-03-12 Jim Meyering * src/sys2.h (SETVBUF): Define new macro. * src/tail.c (dump_remainder): Don't fflush stdout here. (main) [if forever]: Make stdout unbuffered, instead. Akim Demaille pointed out that when running `echo x>a; tail -f a>>a' , the file `a' didn't grow longer than two lines. Now it grows without bound. 1999-03-07 Jim Meyering * tests/md5sum/newline-1: Test for the actual feature. With help from Eli Zaretskii. * src/pr.c (usage): Add missing \n\. The newline test would always fail on MSDOS/Windows systems -- so move it to a separate file where we can test for that. * tests/md5sum/basic-1: Remove newline test. * tests/md5sum/newline-1: New file. * tests/md5sum/Makefile.am (TESTS): Add newline-1. Pointed out by Eli Zaretskii. 1999-02-13 Roland Huebner * src/pr.c (main): Redefine options -s, -w to be POSIX compliant; introduce new options -J, -S, -W to disentangle -s and -w when used together with the three column options; (add_line_number): Make POSIX compliant; use default number separator TAB with single column output. (add_line_number): Make POSIX compliant; with multicolumn output now prefer `text columns of equal width' rather than a consequent use of `default n-separator TAB'. (add_line_number): Change line number cut-off from lower-oder to higher-oder digit to avoid loss of information; no consequent handling exists in different utilities and other UNIXes. (char_to_clump): Expand input text tabs to 8 spaces, if input_tab_char doesn't equal TAB (adapted to other UNIXes). (usage): Update POSIX compliant options -s, -w; add new options -J, -S, -W. (main): Update the source internal documentation. Some smaller BUGFIXES (print_sep_string, init_header, skip_to_page, reset_status, print_header). * tests/md5sum/basic-1 (backslash): Use .\foo instead of \.foo so we don't tramp on root directory in MSDOS/Windows. Suggestion from Eli Zaretskii. 1999-02-15 Eli Zaretskii * tests/md5sum/Makefile.am (TESTS_ENVIRONMENT): Run md5sum with the --text option (for MSDOS). 1999-03-06 Jim Meyering * src/cut.c (getstr): Change type of `delim' parameter from char to int. (cut_fields): Cast to `unsigned char' before comparing. (main): Cast to `unsigned char' before assigning. From Arne Juul. * tests/cut/Test.pm: Add a test to exercise the bug. * src/ptx.c (swallow_file_in_memory): Use a `%s' format in error call, in case the argument string contains a `%'. (main): Likewise. * src/fmt.c (main): Likewise. * src/sort.c (main): Likewise. 1999-02-13 Eli Zaretskii * src/sys2.h [__DJGPP__]: Include and . * src/ptx.c (swallow_file_in_memory): Slurp up the whole file at once on MSDOS as well, but we have to relax the test for whether reading it succeeded. 1999-03-03 Jim Meyering * src/cat.c: Include long-options.h [long_options]: Remove the "help" and "version" entries. Remove declarations of show_help and show_version. (main): Use parse_long_options, including author name(s). Remove the show_version and show_help blocks. * src/cksum.c: Likewise. * src/comm.c: Likewise. * src/csplit.c: Likewise. * src/cut.c: Likewise. * src/expand.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/head.c: Likewise. * src/nl.c: Likewise. * src/od.c: Likewise. * src/paste.c: Likewise. * src/pr.c: Likewise. * src/split.c: Likewise. * src/sum.c: Likewise. * src/tac.c: Likewise. * src/tail.c: Likewise. * src/tr.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/wc.c: Likewise. * src/ptx.c: Include long-options.h [long_options]: Remove the "help" and "version" entries. Remove declarations of show_help and show_version. (main): Remove `const' attribute from dcl of argv parameter. Call bindtextdomain and textdomain. Use parse_long_options, including author name(s). Remove the show_version and show_help blocks. * src/join.c (main): Include author name argument in call to parse_long_options. * src/md5sum.c (main): Likewise. * src/sort.c (main): Likewise. * src/tsort.c (main): Likewise. 1999-02-07 Jim Meyering * Version 1.22h. * Makefile.maint (my-distcheck): Don't depend on dist, now that this is hooked up to the distcheck rule. * Makefile.am (distcheck-hook): New target and rule -- link to shared rule, my-distcheck, in Makefile.maint. 1999-01-31 Jim Meyering * doc/textutils.texi: Wrap the @top node in @ifnottex instead of @ifinfo so `makeinfo --html ...' works. From Karl Berry. 1999-01-30 Jim Meyering * acconfig.h: Remove lots of `#undef's, now that we use the 3-argument forms of AC_DEFINE* macros. * configure.in: Require autoconf 2.13. Use 3-argument form of AC_DEFINE*. 1999-01-24 Jim Meyering * src/tac.c (DONT_UNLINK_WHILE_OPEN) [__MSDOS__ || _WIN32]: Define. * lib/quotearg.c (quotearg_n_options): Revert type of parameter `n' (and hence that of the local `n1', too) to `int' at Paul's request. 1999-01-18 Akim Demaille * doc/textutils.texi: Harmonization of @samp use for options. 1999-01-17 Jim Meyering * Makefile.am (SUBDIRS): Add djgpp. * configure.in (AC_OUTPUT): Add djgpp/Makefile. * djgpp/: New directory. * man/Makefile.maint ($(man_MANS)): Don't remove the target (the man page) until after we've created its replacement. 1999-01-16 Eli Zaretskii * GNUmakefile: Add SHELL = /bin/sh. * man/GNUmakefile: Likewise. 1999-01-16 Jim Meyering * acconfig.h: Remove @BOTTOM@ section. Instead, add the define and decl via m4/jm-macros.m4. * lib/argmatch.h (XARGMATCH): Define to return a value once again. (XARGCASEMATCH): Likewise. * lib/argmatch.c (EXIT_FAILURE): Define. (ARGMATCH_DIE): Provide default. (__xargmatch_internal): New function. s/rogram_name/program_name. From Akim Demaille. 1999-01-14 Jim Meyering * tests/md5sum/basic-1: Use `f', not `x' as temp. file name to avoid warnings from perl5.004. Reported by Volker Borchert. * lib/long-options.c (parse_long_options): Rename `usage' parameter to avoid shadowing globally scoped function. 1999-01-14 Akim Demaille * acconfig.h: Add a @BOTTOM@ section. (ARGMATCH_DIE) [@BOTTOM@]: Define to usage(1). Declare usage. * src/*.c: Don't prototype usage as static. 1999-01-10 Jim Meyering * Version 1.22g. All of the following new code is protected by `#if DONT_UNLINK_WHILE_OPEN' * src/tac.c (file_to_remove): New global. (fp_to_close): New global. (unlink_tempfile): New function. (record_tempfile): New function. (save_stdin): Call record_tempfile. Use SET_BINARY. (main): Use SET_BINARY and SET_BINARY2. From Eli Zaretskii. 1999-01-09 Jim Meyering * tests/uniq/Test.pm: Add tests from Jochen Hein. * src/uniq.c: New option: --all-repeated (-D). (output_all_repeated) [output_mode]: New enum value. (usage): Describe it. (writeline): Test for new mode. (check_file): Likewise. Based on patches from Jochen Hein and Florin Iucha. (main): Diagnose `too many arguments'. * tests/head/Test.pm (null-1): Add test from Jochen Hein. * src/tail.c (parse_obsolescent_option): Interpret `number' as decimal. (parse_options): Likewise. Reported by Kamal Paul Nigam. * src/tail.c: New option: --max-unchanged-stats=N. New option: --max-n-consecutive-size-changes=N. 1999-01-03 Jim Meyering * src/md5sum.c (usage): Remove third program_name argument -- there were only two `%s' in the format string. 1999-01-02 Jim Meyering * src/tsort.c (tsort): Use a single call to error instead of two to fprintf. (main): Remove `%s: ' prefix on format string. * src/tail.c (parse_options): Use XARGMATCH in place of argmatch. * src/ptx.c (format_vals): New array. (main): Use XARGMATCH in place of argmatch. * lib/argmatch.h (XARGMATCH): Don't return a value; instead, modify a parameter. Add a `Die_stmt' parameter. Add parentheses. * lib/argmatch.c (__xargmatch_internal): Remove now-unused function. (argmatch_to_argument): Add `const' attribute to first parameter. 1999-01-01 Jim Meyering * src/tsort.c: Move inclusion of assert.h to follow that of stdio.h. Some losing systems require this. Use STREQ macro instead of strcmp in a few places. * po/POTFILES.in: Add tsort.c. * man/Makefile.maint ($(man_MANS)): `exit 1' if any of help2man, chmod, or mv fails. Otherwise, the failure could go unnoticed. * man/Makefile.summ: Add entries for ptx and tsort. * src/tsort.c: Include readtokens.h. (zeros): Rename global from `rr'. (getstr): Remove function. (tsort) Use readtoken instead of getstr. * lib/readtokens.c: New file. * lib/readtokens.h: New file. * lib/Makefile.am (libtu_a_SOURCES): Add readtokens.c. (noinst_HEADERS): Add readtokens.h. * man/Makefile.am (man_MANS): Add ptx.1. * man/ptx.x: New file. * src/tail.c (parse_options): Use XARGMATCH in place of argmatch. * man/Makefile.am (man_MANS): Add tsort.1. * man/tsort.x: New (essentially empty) file. * src/tsort.c: Rename globals N and R so they don't shadow locals. (tsort): Rename from `sort'. 1998-11-07 Mark Kettenis * src/Makefile.am (bin_PROGRAMS): Add tsort. * src/tsort.c: New program. * lib/Makefile.am (libtu_a_SOURCES): Add quotearg.c. (noinst_HEADERS): Add quotearg.h. ============================ All of the following are from: 1998-04-17 Eli Zaretskii * src/system.h (SET_BINARY, SET_BINARY2, fileno, setmode): New macros. * src/cat.c (usage) [O_BINARY]: Describe -B,--binary option. (main) [O_BINARY]: binary_files, binary_output, file_open_mode: new variables. Add --binary to long_options[]. Switch stdin and stdout to binary mode unless file contents are not important anyway. Open files in binary mode when required. * src/cksum.c (cksum) [O_BINARY]: Read redirected stdin in binary mode. * src/expand.c (expand): Use binary I/O where appropriate. * src/head.c (head_bytes, head_lines) [O_BINARY]: Use binary I/O. * src/md5sum.c (OPENOPTS) [O_BINARY]: Use binary I/O when non-zero argument. (md5_file) [O_BINARY]: Switch redirected stdin to binary mode. (main) [O_BINARY]: Use binary reads by default on those systems which care about the difference. * src/od.c (skip, read_char, read_block) [O_BINARY]: Switch input stream to binary mode. * src/sort.c (PATH_MAX_IN_DIR) [HAVE_UNISTD_H]: New macro, for max file name characters in a given directory. (tempname): Make sure the temp file name is unique even if long file names aren't supported. * src/split.c (cwrite) [O_BINARY]: Write output in binary mode. (main) [O_BINARY]: Read input in binary mode. * src/sum.c (bsd_sum_file, sysv_sum_file) [O_BINARY]: Read input in binary mode. * src/tac.c (record_tempfile, unlink_tempfile) [DONT_UNLINK_WHILE_OPEN]: New functions, for systems where a file cannot be removed before it is closed. (save_stdin) [DONT_UNLINK_WHILE_OPEN]: Record the temporary file, to be removed before exit. (tac_file, save_stdin, main): Use binary I/O when appropriate. * src/tail.c (tail_lines, tail_bytes) [O_BINARY]: Use binary I/O when appropriate. * src/tr.c (main) [O_BINARY]: Use binary I/O when appropriate. * src/unexpand.c (unexpand): Use binary I/O where appropriate. * src/wc.c (wc): Use binary mode for input. * doc/textutil.texi: Add comments about peculiarities of Textutils operation on MS-DOS/MS-Windows. 1998-12-22 Jim Meyering * configure.in (ALL_LINGUAS): Add chinese (zh). 1998-12-17 Jim Meyering New options for tail: --follow=name, --follow=descriptor, --allow-missing * src/tail.c (Follow_mode): New enum. (n_live_files): New function. (tail_forever): Avoid starvation with --follow=name and a continually-growing unlinked or renamed file. 1998-12-13 Jim Meyering * tests/uniq/Test.pm: New file. * tests/uniq/Makefile.am: New file. * tests/uniq: New directory. * tests/Makefile.am (SUBDIRS): Add uniq. * configure.in (AC_OUTPUT): Add tests/uniq/Makefile. From Jochen Hein. * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in. (stat.c): Likewise. (EXTRA_DIST): Add xstat.in. * lib/stat.c: Remove file. * lib/lstat.c: Remove file. * lib/xstat.in (xstat@): New file. * configure.in (ALL_LINGUAS): Add Russian (ru). 1998-10-31 Jim Meyering * acconfig.h (stat): New #undef. 1998-10-22 Jim Meyering * src/fold.c (usage): Add mention of --version and --help. Reported by Matej Vela . 1998-10-04 Jim Meyering * lib/fnmatch.h: New file. (unused) * lib/fnmatch.c: New file. (unused) * lib/Makefile.am (noinst_HEADERS): Add fnmatch.h. 1998-10-03 Jim Meyering * man/Makefile.am: Switch to using help2man. (EXTRA_DIST): Add Makefile.summ. * man/help2man: Invoke program with --manhelp option only if --name=STRING not specified. Otherwise, this would fail with `yes'. * man/Makefile.summ: New file. * man/Makefile.maint: Include it. * man/help2man: New file. * man/GNUmakefile: New file. * man/Makefile.maint: New file. * man/*.x: New files. * man/*.1: Remove files. * src/md5sum.c (split_3): Rename local variable, to `escaped_filename'. (main): Output the leading backslash not just when there's a newline in the file name, but also when there's a backslash. Reported by Jim Dennis. * tests/md5sum/basic-1: Add tests with filenames containing newline and backslash characters. (for the bug fixed above) * tests/Makefile.am (EXTRA_DIST): Add Fetish.pm. * tests/Fetish.pm: New file. * tests/md5sum/basic-1: New file: rewrite of old tests to use Fetish.pm. * tests/md5sum/Test.pm: Remove file. * tests/md5sum/Makefile.am: Rewrite. 1998-09-19 Jim Meyering * src/ptx.c (program_name): Declare *not* to be const. 1998-08-29 Jim Meyering * src/cut.c: Don't assume ASCII. * src/pr.c: Likewise. * src/tail.c: Likewise. 1998-08-15 Jim Meyering * src/pr.c (usage): Reformat. * src/ptx.c: Add braces to suppress warning about ambiguous `else'. * lib/bumpalloc.h: Likewise. 1998-08-13 François Pinard * src/ptx.c: New file. * src/Makefile.am (bin_PROGRAMS): Add ptx. * lib/bumpalloc.h, lib/diacrit.h, lib/diacrit.c: New files. * lib/Makefile.am (libtu_a_SOURCES): Add diacrit.c. (noinst_HEADERS): Add bumpalloc.h and diacrit.h. 1998-08-09 Andreas Schwab * src/pr.c (long_options): Add long names for all options. (usage): Update help string. (main): Handle the special options --pages and --columns. 1998-08-02 Jim Meyering * lib/linebuffer.c (readline): Return zero upon error as well as upon end of file. From James Youngman. Ansideclify. 1998-08-01 Jim Meyering * src/sort.c (my_setlocale): Guard definition within #ifdef ENABLE_NLS. From Manfred Hollstein. 1998-07-30 Jim Meyering * tests/cut/Test.pm: Avoid broken pipe message for tests that fail with usage errors. * src/sort.c (usage): Add angle brackets to make `Report bugs...' message consistent with all the rest. 1998-07-28 Andreas Schwab * tests/cut/Test.pm: Avoid broken pipe for 'y' and 'z' tests. * src/sort.c (NEGATION_SIGN): Renamed from NEGATIVE_SIGN to avoid clash with . All uses changed. 1998-07-26 Jim Meyering * intl/localealias.c (read_alias_file): Avoid mixing `char*' and `unsigned char*' variables. Again for irix4. Mostly from Kaveh Ghazi. * src/join.c: Convert some char* dcls to `unsigned char*' and remove a cast -- to placate irix4's cc. * src/fmt.c (check_punctuation): Add cast to placate irix4's cc. Reported by Kaveh Ghazi. * src/md5sum.c (split_3): Add cast to placate irix4's cc. From Kaveh Ghazi. 1998-07-25 Jim Meyering * Version 1.22f. * tests/cut/Test.pm: Add tests for new --output-delimiter option, as well as for NUL input delimiter (--delimiter=''). * src/cut.c (cut_fields): Honor new --output-delimiter option. (main): Fix handling of --delimiter='' (-d ''). Until now, it has never worked as advertised. I guess no one tried it. * tests/sort/Test.pm: Add two tests relating to this. * src/sort.c (main): Stat all non-`-' input file files (and fail if a stat fails) when an output file is specified by `-o' but doesn't exist. Reported by Will Edgington. * tests/sort/Test.pm: New tests of -o. 1998-07-16 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add lchown.h. * lib/lchown.h: New file, just to define ENOSYS on systems that lack it. * lib/lchown.c: Include lchown.h. 1998-07-04 Jim Meyering * configure.in (AM_WITH_REGEX): Remove. Now the replacement macro, jm_WITH_REGEX, is bundled with the rest in jm_MACROS. * acconfig.h (WITH_REGEX): Remove undef. * src/csplit.c: Remove #ifdef around inclusion. * src/nl.c: Likewise. * src/tac.c: Likewise. * src/csplit.c (extract_regexp): Remove #if !WITH_REGEX...#endif block. * lib/Makefile.am (noinst_HEADERS): Remove rx.h. * lib/rx.c: Remove file. * lib/rx.h: Remove file. 1998-06-29 Jim Meyering * src/wc.c: Update calls to human_readable -- now there's one fewer arg. * lib/Makefile.am (libtu_a_SOURCES): Add argmatch.c. (noinst_HEADERS): Add argmatch.h. 1998-06-28 Jim Meyering * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. 1998-06-27 Jim Meyering * tests/pr/Test.pm: Add two tests for double spacing. * src/pr.c (print_page): If cols_ready_to_print is zero, break out of loop just before the double-space test. Reported by Michael Stutz. 1998-06-18 Jim Meyering * tests/Makefile.am.in (check): Depend on $(maint_gen) so `make maintainer-clean; ./configure; make check' works. 1998-05-25 Jim Meyering * configure.in (_GNU_SOURCE): AC_DEFINE it here. * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section. [!_GNU_SOURCE]: Add #undef instead. 1998-05-16 Jim Meyering * configure.in (jm_MACROS): New wrapper macro. Remove uses of most jm_* macros. * src/tac.c (tac_seekable): Fix error in handling regex separators. * tests/tac/Test.pm (opt-b, opt-s, opt_sb, opt_r): New tests. (opt_br): New test -- exercises above-fixed bug. * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS=' lines from the m4/*.m4 macros, so the hack of including some custom-replaced C source file names here is no longer needed. * acconfig.h (chown): Add undef. (D_INO_IN_DIRENT): Likewise. (D_TYPE_IN_DIRENT): Likewise. (ssize_t): Likewise. 1998-05-09 Jim Meyering * src/tac.c (tac_seekable): Rename from tac_stream. Change `FILE *in' parameter to `int input_fd'. Adjust callers. 1998-05-03 Jim Meyering * po/: Update from gettext-0.10.35. * intl/: Likewise. * configure.in: Remove use of AC_LINK_FILES. (AC_OUTPUT): Remove po/Makefile-generating sed command. 1998-04-26 Jim Meyering * tests/tail/Test.pm: Disable test f-1, now that it fails. * src/sort.c (keycompare) (CMP_WITH_IGNORE): Don't return 0 from inside the keyspec-iterating loop. With this change, test 22a passes. Reported by Zvi Har'El. (strncoll): Remove bogus assertion. * tests/sort/Test.pm: Add tests for the above fix. * configure.in: Use jm_ASSERT. * acconfig.h: Add NDEBUG. * src/cut.c: Don't define NDEBUG. * src/csplit.c: Likewise. * src/join.c: Likewise. * src/sort.c: Likewise. * src/tr.c: Likewise. * src/cut.c: Don't define _GNU_SOURCE (now it's in config.h). * src/expand.c: Likewise. * src/fold.c: Likewise. * src/join.c: Likewise. * src/sort.c: Likewise. * src/tr.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/tail.c (close_fd): New function -- converted from macro. [struct File_spec] (n_stat_calls): New member. [struct File_spec] (n_unchanged_stats): New member. (max_n_unchanged_stats): New global. Initialize new members. (xwrite): New function -- converted from macro. [struct File_spec] (pretty_name): Remove member. (pretty_name): New function. * src/md5sum.c (md5_check): Declare local, `md5num' as _unsigned_ char*. (hex_digits): Declare parameter `s' as _unsigned_ char*. (split_3): Declare parameter `u' as _unsigned_ char**. 1998-04-17 Jim Meyering * src/fmt.c (check_punctuation): Used unsigned char* pointers to avoid new warning. * src/join.c (xfields): Likewise. 1998-04-12 Jim Meyering * src/cat.c: Use STREQ macro rather than strcmp. * src/cksum.c: Likewise. * src/comm.c: Likewise. * src/csplit.c: Likewise. * src/cut.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/head.c: Likewise. * src/join.c: Likewise. * src/md5sum.c: Likewise. * src/nl.c: Likewise. * src/paste.c: Likewise. * src/pr.c: Likewise. * src/split.c: Likewise. * src/sum.c: Likewise. * src/tac.c: Likewise. * src/uniq.c: Likewise. * src/wc.c: Likewise. 1998-04-11 Jim Meyering * lib/safe-read.h: New file. * lib/safe-read.c: Include it. * src/cat.c: Include it instead of merely declaring safe_read. * src/csplit.c: Likewise. * src/head.c: Likewise. * src/split.c: Likewise. * src/sum.c: Likewise. * src/tac.c: Likewise. * src/tail.c: Likewise. * src/tr.c: Likewise. * src/wc.c: Likewise. * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. * src/wc.c [HAVE_INTTYPES_H]: Include inttypes.h. Declare counters to be of type uintmax_t. (write_counts): Use human_readable to format potentially-long-long numbers. Suggestion from Rogier Wolff. (wc): Declare per-file counters to be of type uintmax_t. Declare bytes_read to be ssize_t. * lib/Makefile.am (libtu_a_SOURCES): Add human.c. (noinst_HEADERS): Add human.h. * lib/human.c: New file. * lib/human.h: New file. 1998-04-04 Jim Meyering * configure.in (jm_AC_HEADER_INTTYPES_H): Use it. (jm_AC_TYPE_UINTMAX_T): Use it. (jm_PREREQ): Use it. * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal know about the m4/ subdirectory. * Makefile.maint (aclocal-files): Remove now-unnecessary (with automake-1.2h and the above change) aclocal-related rules and includes. 1998-04-03 Jim Meyering * lib/closeout.c: New file. * lib/closeout.h: New file. * lib/Makefile.am (libtu_a_SOURCES): Add closeout.c. (noinst_HEADERS): Add closeout.h. 1998-03-31 Jim Meyering * lib/xstrtol.c: Merge with the version from fileutils. 1998-03-27 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. 1998-03-23 Jim Meyering * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4 automatically handles it. 1998-03-19 Jim Meyering * src/system.h (SCHAR_MIN): Define. (SHRT_MIN): Define. od.c needs these when compiling with NCR's R2.0c C compiler. (TYPE_MAXIMUM): Cast result to `(t)' so this macro works with `unsigned char'. From Greg Wooledge. 1998-03-15 Jim Meyering * src/tail.c (tail_file): Merge largely-duplicated blocks of code. 1998-03-03 Paul Eggert * src/sort.c (xtmpfopen): Open temporary file exclusively, to foil a common denial-of-service attack. * src/tac.c (save_stdin): Likewise. 1998-02-16 Jim Meyering * configure.in (jm_FUNC_LSTAT): Use it. (jm_FUNC_STAT): Use it. * lib/Makefile.am (EXTRA_DIST): Add lstat.c and stat.c. 1998-02-06 Jim Meyering * configure.in: Don't use AM_MAINTAINER_MODE or AC_PATH_PROG(PERL, perl). (jm_PERL): Use this. 1998-02-04 Jim Meyering * tests/Makefile.am.in (EXTRA_DIST): Remove mk-script.pl. (mk_script): Set to ../mk-script. (x-tests): Use `$(PERL) -w -- $(mk_script)', not ./mk-script. Remove @MAINT@ cruft. (Makefile.am): Likewise. Remove @MAINT@ cruft. Now `missing' will explain the failure when people don't have Perl yet modify a file whose rebuilding would lead to the use of Perl. * tests/Makefile.am (EXTRA_DIST): Add mk-script. * tests/*/mk-script.pl: Remove files. * GNUmakefile: New file. * Makefile.am (EXTRA_DIST): Add GNUmakefile. Don't include Makefile.maint from here. It's included from GNUmakefile. 1998-01-30 Paul Eggert * configure.in (AC_LFS): Put before anything that can affect or use CPPFLAGS, LDFLAGS, or LIBS. 1998-01-25 Jim Meyering * Makefile.maint: New file. * Makefile.am: Move rules common to textutils, fileutils, sh-utils into Makefile.maint. Include Makefile.maint. (EXTRA_DIST): Add Makefile.maint. * src/cat.c (cat): Convert comma-expressions to pairs of semicolon-terminated stmts. Add braces around compound if/else stmts. 1998-01-24 Jim Meyering * src/tail.c (parse_obsolescent_option): Do not interpret `-f -n 1 ...' as obsolescent options. Accept new option: --sleep-interval=SECONDS (-s). (parse_options): Recognize it. (usage): Describe it. (tail_forever): Use it. (dump_remainder): Use it. * tests/tail/Test.pm (f-1): Add test for option-processing of `-f -n 1'. * tests/cut/: Rename directory to remove `-test' suffix. * tests/join/: Likewise. * tests/md5sum/: Likewise. * tests/pr/: Likewise. * tests/sort/: Likewise. * tests/tr/: Likewise. * configure.in (AC_OUTPUT): Reflect renamings in tests/. * tests/Makefile.am (SUBDIRS): Reflect renamings in tests/. * src/system.h (TYPE_MINIMUM): Add extra outer cast to work around bug in Cray C 5.0.3.0 when T == time_t. 1998-01-18 Jim Meyering * src/sort.c (strncoll, strncoll_s2_readonly, look_for_fraction, numcompare): Remove the `unsigned' from some `unsigned char*' parameter types. Add casts via UCHAR where necessary to avoid problems with unwanted sign extension. Based on a patch from Kaveh Ghazi to appease Irix4's cc compiler. 1998-01-17 Jim Meyering * src/split.c (next_file_name): Rewrite. This removes an artificial limit (albeit already high, at INT_MAX :-) on the number of files split could create. Reported by Ralf W. Stephan. 1998-01-16 Jim Meyering * src/sort.c (mergefps): Add braces to avoid ambiguous `else' stmt. (nls_set_fraction): Likewise. * src/sort.c: Guard inclusion of langinfo.h also with HAVE_LANGINFO_H, for Irix-4.0.5. From Kaveh Ghazi. * configure.in: Check for langinfo.h. * lib/getline.c: Make PARAMS-defining conditionals consistent. * lib/linebuffer.h: Likewise. * lib/long-options.h: Likewise. * lib/memcasecmp.h: Likewise. * lib/xstrtod.h: Likewise. * lib/xstrtol.h: Likewise. Suggestion from Kaveh Ghazi. * tests/head/Test.pm (fail-0): Disable test. It depends on sizeof(long) being 32 bits. Reported by Kaveh Ghazi. 1998-01-10 Jim Meyering * Version 1.22d. * src/system.h [HAVE_LIMITS_H]: Include limits.h (TYPE_SIGNED): Define. (TYPE_MINIMUM): Define. (TYPE_MAXIMUM): Define. (CHAR_BIT): Define. (SCHAR_MAX): Define. (UCHAR_MAX): Define. (SHRT_MAX): Define. (INT_MAX): Define. (UINT_MAX): Define. (LONG_MAX): Define. (ULONG_MAX): Define. * src/*.c: Remove definitions of those symbols. * src/csplit.c: Move inclusion of regex.h/rx.h to follow system.h since it now includes limit.h which defines RE_DUP_MAX. * src/nl.c: Likewise. * src/tac.c: Likewise. * lib/xstrtol.c (bkm_scale): Renamed from BKM_SCALE. Rewrite macro as function. Return a value. Update caller. Cast __ZLONG_MAX `__unsigned long int' before casting to double to avoid SunOS /bin/cc compiler bug. 1998-01-08 Jim Meyering * src/tac-pipe.c: New file. But not yet used. * src/Makefile.am (EXTRA_DIST): Add tac-pipe.c. * src/tac.c (tac_stream): Don't perform arithmetic on now-void* pointer result of xrealloc (until recently it was char*). * configure.in (AC_CHECK_FUNCS): Add nl_langinfo. * src/sort.c (inittables): Add && HAVE_NL_LANGINFO to the #if-test guarding the nls month-checking code. (nls_numeric_format): Remove unnecessary (and error-evoking w/SunOS' cc) `unsigned' from dcls of text and lim. (main): Cast lconvp->grouping to `unsigned char*' to appease SunOS's cc. 1998-01-03 Jim Meyering * lib/Makefile.am (AUTOMAKE_OPTIONS): Define to ../src/ansi2knr. * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so those files will be built via the ANSI2KNR-filtering rules if necessary. 1997-12-25 Jim Meyering * configure.in: Remove AC_DEFINE of _GNU_SOURCE. * acconfig.h (_GNU_SOURCE): Define if not already defined. Put this code in @TOP@ section. (_GNU_SOURCE): Remove #undef. 1997-12-22 Jim Meyering * configure.in: AC_DEFINE _GNU_SOURCE. * acconfig.h: Add _GNU_SOURCE. 1997-12-21 Jim Meyering * configure.in (AC_CHECK_HEADERS): Add stdlib.h. * src/system.h: Merge in things from fileutils' version of this file. * src/csplit.c: s/__P/PARAMS/. * src/fmt.c: s/__P/PARAMS/. * src/od.c: s/__P/PARAMS/. * src/pr.c: s/__P/PARAMS/. 1997-12-14 Jim Meyering * src/sys2.h: s/HAVE_DECLARATION_/HAVE_DECL_/g. 1997-12-13 Jim Meyering * src/fmt.c (main): Add some braces. Check return code from fclose of each input file. Close stdout and check for errors. * src/csplit.c (close_output_file): Check ferror before calling fclose. (main): Close stdout and check for errors. 1997-11-15 Jim Meyering * acconfig.h: Add mktime. * configure.in (jm_FUNC_MKTIME): Use it. * lib/mktime.c: New file. * lib/Makefile.am (EXTRA_DIST): Add mktime.c * intl/Makefile.in (distclean): Don't remove libintl.h here. * Makefile.am (DISTCLEANFILES): Remove it here instead. 1997-11-13 Jim Meyering * lib/strftime.c: Update from FSF. * m4/strftime.m4: Check for POSIX.2's %f format spec. 1997-11-12 Jim Meyering * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define. * configure.in (AC_CHECK_FUNCS): Add mempcpy. 1997-11-09 Jim Meyering * configure.in (jm_FUNC_STRFTIME): Use it. * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Check for localtime_r. * m4/strftime.m4 (jm_STRFTIME_PREREQS): Check for localtime_r. (jm_FUNC_GNU_STRFTIME): Use new macro. (jm_FUNC_STRFTIME): New macro. Likewise. Reported by Noel Cragg. 1997-11-08 Jim Meyering * m4/lfs.m4 (AC_LFS): New file/macro. * m4/Makefile.am (EXTRA_DIST): Add lfs.m4. * configure.in (AC_LFS): Use it. (AC_CHECK_FUNCS): Add fseeko. * src/od.c (fseeko): Define a stub if ! HAVE_FSEEKO. (skip): Use fseeko if available. Don't use lseek; it causes the stdio stream to become out of sync with respect to the underyling file descriptor. From Paul Eggert. 1997-10-16 Paul Eggert * configure.in (AC_CHECK_FUNCS): Add fseeko. * src/od.c (skip): Use fseeko. Don't use lseek; it causes the stdio stream to become out of sync with respect to the underyling file descriptor. 1997-11-06 Jim Meyering * src/sort.c (getmonth): Remove HAVE_ALLOCA #ifdefs. We always have alloca. (keycompare): Don't use variable size arrays (it's a gcc-extension). Rewrite code that increments new lengths when not `ignoring'. 1997-11-02 Jim Meyering * acconfig.h: Add malloc and realloc. * src/wc.c (main): New option, --max-line-length (-L). (wc, write_counts): Implement it. From Bruno Haible. 1997-10-26 Jim Meyering * lib/memcasecmp.c: Convert to upper case before comparing. This makes join -i work with sort -f. Reported by Arthur Pool. 1997-10-25 Jim Meyering * lib/xmalloc.c (xalloc_fail): Renamed from fixup_null_alloc. (xcalloc): #ifdef-out unused function. (xrealloc): Remove code to work around deficient versions of realloc. Now we have an autoconf-enabled replacement version. (xmalloc): Remove code to work around deficient versions of malloc. Now we have an autoconf-enabled replacement version. * lib/memcmp.c (rpl_memcmp): Rename from memcmp. * src/sort.c (NLS_STRNCMP) [!ENABLE_NLS]: s/strcmp/strncmp/. * lib/xmalloc.c (xalloc_fail_func): Initialize to 0, not NULL. * configure.in (jm_FUNC_MALLOC): Use it. (jm_FUNC_REALLOC): Use it. * lib/Makefile.am (EXTRA_DIST): Add malloc.c. * lib/malloc.c: New file. * m4/malloc.m4: New file. * m4/Makefile.am (EXTRA_DIST): Add malloc.m4. * lib/Makefile.am (noinst_HEADERS): Add xalloc.h. (EXTRA_DIST): Add realloc.c. (EXTRA_DIST): Add malloc.c. * src/system.h: Include xalloc.h. Remove dcls of xmalloc, xcalloc and xrealloc. * lib/xalloc.h: New file. * lib/xmalloc.c: Include xalloc.h. Change VOID to void. (xalloc_exit_failure): Renamed extern. (xalloc_msg_memory_exhausted): New extern. (xalloc_fail_func): New extern. (fixup_null_alloc): Use new variables. 1997-10-24 Jim Meyering * src/unexpand.c: Remove old-style xmalloc and xrealloc decls. (add_tabstop): Cast first arg of xrealloc to char*. * src/sort.c: Include xalloc.h. (xmalloc): Remove function. (xrealloc): Remove function. (main): Set xalloc_fail_func to cleanup. Set xalloc_exit_failure SORT_FAILURE. * src/paste.c: Remove old-style xmalloc and xrealloc decls. (paste_parallel): Cast first arg of xrealloc to char*. * src/od.c: Remove old-style xmalloc and xrealloc decls. (decode_format_string): Cast first arg of xrealloc to char*. * src/expand.c: Remove old-style xmalloc and xrealloc decls. (add_tabstop): Cast first arg of xrealloc to char*. * lib/xalloc.h: New file. * src/cut.c (ADD_RANGE_PAIR): Cast first arg of xrealloc to char*. (getstr): Cast xmalloc return value to char*. * src/csplit.c: Include xalloc.h. (xmalloc): Remove function. (xrealloc): Remove function. (main): Set xalloc_fail_func to cleanup. * src/*.c: Remove old-style xmalloc and xrealloc decls. * src/system.h: Add prototyped xcalloc, xmalloc and xrealloc decls. Suggestion from Achim Blumensath. 1997-10-23 Jim Meyering * Makefile.am (aclocal-files): Also depend on m4/Makefile.am. * src/system.h [!HAVE_DECLARATION_FREE]: Declare free. [!HAVE_DECLARATION_MALLOC]: Declare malloc. [!HAVE_DECLARATION_REALLOC]: Declare realloc. [!HAVE_DECLARATION_STPCPY]: Declare stpcpy. [!HAVE_DECLARATION_STRSTR]: Declare strstr. * src/cat.c: Remove stpcpy dcl. * src/csplit.c: Remove malloc and realloc dcls. * src/sort.c: Remove free, malloc, and realloc dcls. * src/tac.c: Remove malloc, and realloc dcls. * src/tr.c: Remove stpcpy dcl. On some systems, strstr and stpcpy are macros, so declaring them unconditionally gets syntax errors. Reported by Mark M. Kettenis. * configure.in: Use jm_CHECK_DECLS. * m4/Makefile.am (EXTRA_DIST): Add decl.m4 and check-decl.m4. 1997-10-22 Jim Meyering * m4/decl.m4: New file. * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. 1997-10-16 Paul Eggert * src/od.c (LONG_MAX): Define if not defined. 1997-10-16 Jim Meyering * src/sort.c (look_for_fraction): Patch from Ørn Hansen. (getmonth): Compare the two month names only to the length of the string in the month table. Patch from Ørn Hansen. (NLS_STRNCMP): New macro. (strncoll_s2_readonly): New function. (inittables): Don't use temporary `comp' to hide type of comparator function. (nls_sort_month_comp): Declare parameters to be void* to match comparator function type required for qsort. (getmonth): Use NLS_STRNCMP rather than #ifdef. Use do-while, rather than while-loop. 1997-10-14 Jim Meyering * src/sort.c (_NL_ITEM) [!defined]: Define. From from Ørn E. Hansen. * src/sort.c: Use STREQ in place of most uses of strcmp. (NLS_STRCMP): Define. (getmonth): Remove ifdef and use NLS_STRCMP instead. Use HAVE_ALLOCA, not _HAVE_ALLOCA. (zaptemp): Make parameter `const'. * tests/sort-test/Test.pm: Add tests to exercise new fraccompare. * src/sort.c (CHARS_IN_ABM): Remove definition (inittables): Remove assumption that all abbreviated month names have length 3. (getmonth): Likewise. (main): Add #if's for more efficient code when using the GNU C library. From Ulrich Drepper. * src/sort.c (strncoll): Rename parameter to LEN. (keycompare): Move assignment out of if-expression. * lib/xstrdup.c: New file. * lib/Makefile.am (libtu_a_SOURCES): Add xstrdup.c * src/sort.c: Declare xstrdup. (my_setlocale): New function. (main): Guard against failure of strdup (use xstrdup) and setlocale. * src/system.h (STREQ): Define. * src/od.c (STREQ): Remove definition. * src/sort.c (look_for_fraction): Eliminate arbitrary limit on number of `groups'. Declare as void, not int. Patch from Ørn E. Hansen. (main): When determining whether we're in the C or POSIX locale, don't rely on the form of the string returned by setlocale. Suggestion from Ulrich Drepper. 1997-10-12 Jim Meyering * src/sort.c: Apply big patch from Ørn E. Hansen. Clean up, indent. (NLS_MEMCMP): Define. (keycompare): Use it instead of open-coded #ifdefs. (compare): Likewise. (NLS_MAP): Remove unused definitions. Replace with uses of UCHAR. (nls_locale_map): Remove dcl of unused file-scope array. 1997-10-10 Jim Meyering * tests/sort-test/Test.pm: Add a test. From William Lewis. 1997-10-07 Jim Meyering * src/*.c: Update bug-reporting address. * src/cat.c: Indent cpp directives to reflect nesting. * src/cksum.c: Likewise. * src/csplit.c: Likewise. * src/fmt.c: Likewise. * src/nl.c: Likewise. * src/paste.c: Likewise. 1997-09-27 Jim Meyering * m4/memcmp.m4: Integrate test to detect bug in memcmp from the Next x86 OpenStep C library. Test program from William Lewis. 1997-09-21 Jim Meyering * src/od.c [struct tspec] (hexl_mode_trailer): Rename from `trailer.' (dump_hexl_mode_trailer): Rename from dump_string_trailer. Use fputs and putchar instead of trivial or %-less printfs. (decode_one_format): Parenthesize each field_width assignment in an argument list to make the side effect a little more apparent. (write_block): Use fputs and putchar instead of trivial or %-less printfs. (dump_strings): Cast string_min to off_t to avoid long-standing warning. * src/od.c: Implement new `z' (hexl-mode) modifier. [struct tspec] (trailer): New field. (field_width): Likewise. (dump_string_trailer): New function. (decode_one_format): Save each field_width in the tspec. Patch from John Kodis. 1997-09-14 Jim Meyering * src/od.c (main) [--traditional]: Don't give diagnostic about there being more than three arguments if there are *no* arguments specified. Reported by Jochen Hein. 1997-09-13 Jim Meyering * tests/sort-test/Test.pm: Add tests 19a and 19b. 1997-07-21 Jim Meyering * src/tail.c (parse_obsolescent_option): #ifdef-out portability warning. 1997-07-19 Jim Meyering * src/sort.c (checkfp): Print the `disorder' message. Include both the number and the contents of the first out-of-order line, in addition to the file name. Change meaning of return value. (check): Don't print disorder message here. Adjust test of checkfp's return value. Feature suggestion from Karl Heuer. 1997-07-13 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi. Now, automake includes it automatically. * src/head.c: Include xstrtoul.h. Remove global variable, unit_size. (atou): Remove now-unused function. (parse_unit): Likewise. (string_to_ull): New function. (head): Take new parameter, count_lines. Use it instead of unit_size. Update callers. (head_file): Likewise. (main): Use string_to_ull, not atou/parse_unit. The problem was that overflow wasn't detected, so `head -c 4096m' was treated just like `head -c 0'. Reported by Jerome Abela. * tests/wc: New directory. * tests/head: New directory. * tests/Makefile.am (SUBDIRS): Add head and wc. * configure.in (AC_OUTPUT): Add tests/head/Makefile and tests/wc/Makefile. 1997-07-05 Jim Meyering * src/tail.c (parse_obsolescent_option): If POSIXLY_CORRECT is set, give a diagnostic and fail when there are two or more non-option arguments. 1997-07-04 Jim Meyering * tests/tac/mk-script.pl: Redirect output of cmp to /dev/null. * configure.in (ALL_LINGUAS): Add Norwegian (no). * Makefile.am (aclocal-files): Look in source directory, not build dir. From Andreas Schwab. Sun Jun 15 06:36:41 1997 Jim Meyering * src/pr.c (init_header) [T_BUF_FMT]: Output the 4-digit year (not the 2-digit abbreviation) in each page header. Reported by Noah Friedman. Sat Jun 14 12:29:12 1997 Jim Meyering * src/cut.c (cut_fields): Detect when the input is empty and handle that special case. Before `cut -f1 < /dev/null' would improperly output a single newline. Reported by Phil Richards. Sun Apr 27 15:10:58 1997 Jim Meyering * man/Makefile.am (DISTFILES): Add $(man_MANS). * configure.in (ALL_LINGUAS): Add Czech (cs) and Swedish (sv). Thu Apr 3 21:14:02 1997 Jim Meyering * m4/Makefile.am (EXTRA_DIST): Update file list. * tests/cut-test/Test.pm: Add test from Phil Richards. Sat Mar 22 20:29:10 1997 Jim Meyering * missing: New file -- from the automake-1.1m distribution. Fri Mar 21 23:56:41 1997 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l. (aclocal.m4): Use aclocal's new -I option. Thu Mar 13 21:46:04 1997 Jim Meyering * src/tr.c (main): Make sure c1 is not -1 before using it as an array index. Patch from Greg McGary. Although this is truly a bug, I believe it would not cause tr to misbehave on most systems. I could not construct a test case with which this bug causes tr to generate invalid output. * tests/pr-test/Test.pm: Add test that -o 0 works. * src/pr.c (main): Allow use of 0 (zero) as the margin offset argument to the -o option. Patch from Gary Anderson. Fri Feb 28 22:32:51 1997 Jim Meyering * src/uniq.c (usage): Fix typo in --help output. From Andreas Schwab. Tue Feb 25 20:34:51 1997 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add obstack.h. (libtu_a_SOURCES): Add obstack.c. Sun Feb 16 08:30:29 1997 Jim Meyering * tests/Makefile.am (SUBDIRS): Add tac. * tests/tac: New directory. * configure.in (AC_OUTPUT): Add tests/tac/Makefile. * tests/pr-test/{tt-0FF, tt-bl, tta3-0FF, ttb3-0FF, tt-FF, tt-t, tta3-FF, ttb3-FF}: New files. Renamed (s/T/tt/) to avoid name clashes on case-independent filesystems. * tests/pr-test/Test.pm (Tests '7.*'): Reflect file-renaming. * src/tail.c (parse_obsolescent_option): Reverse order of args in diagnostic. Remove `' quotes in diagnostic. (parse_options): Remove `' quotes in diagnostic. Sat Feb 8 22:43:45 1997 Jim Meyering * src/tail.c (parse_obsolescent_option): Give warning diagnostic for (but now accept) obsolescent usage with more than one file argument. Sun Feb 2 23:06:59 1997 Jim Meyering * src/join.c: Move alloca-related preprocessor code into system.h. * src/od.c: Remove alloca-related preprocessor code. * src/system.h: Add alloca-related preprocessor code. Sat Feb 1 07:21:43 1997 Jim Meyering * tests/pr-test/*: Rename files to avoid exceeding 14-character limit. * tests/pr-test/Test.pm: Reflect renamings. * tests/pr-test/mk-script.pl (spec_to_list): Warn about all filenames that exceed max-length before dying. * src/pr.c (init_parameters): For compatibility: use default separator `TAB' with full length lines. From Roland Huebner. Fri Jan 31 19:53:54 1997 Jim Meyering * src/tac.c: Rename globals buffer and buffer_size to have G_ prefix to avoid shadowing local variables. * lib/long-options.c (parse_long_options): Compare getopt_long return value against -1, not EOF. Use NULL, not `(int *) 0' as last parameter in getopt_long call. * src/pr.c (add_line_number): Rename from `number' to avoid shadowing local variables. * src/*.c: Compare getopt_long return value against -1, not EOF. Use NULL, not `(int *) 0' as last parameter in getopt_long call. (usage): Bracket bug-reporting address with <> and append a period. Wed Jan 29 20:54:24 1997 Jim Meyering * tests/tr-test/Test.pm: Do each test twice: get input via REDIR and PIPE. * tests/tail/Test.pm (test_vector): Do each (non-stdin-requiring) test three times. * tests/pr-test/Test.pm: Remove common_option_prefix flag. (test_vector): Prepend the common option here instead. * tests/md5sum-test/Test.pm: Remove input_via_stdin flag. Do each test twice: get input via REDIR and PIPE. * tests/cut-test/Test.pm: Do each test three times. * tests/cut-test/mk-script.pl: Allow each test to be run any or all of three different ways. Program input may be specified via a file or files listed on the command line, via input redirection (if there's only one file), or via a pipe. Tue Jan 28 20:54:06 1997 Jim Meyering * tests/cut-test/mk-script.pl: Remove `t' prefix on all generated test file names. Change suffixes from (.in, .exp, .out, .err) to (.I, .X, .O, .E). Ensure that no test file (generated or maintainer-supplied) has a name longer than 14 characters. Sun Jan 26 12:49:50 1997 Jim Meyering * Version 1.22. * src/tail.c (parse_options): Add quotes to make messages identical. Sat Jan 25 00:12:29 1997 Jim Meyering * src/tail.c (parse_obsolescent_option): Comment. (parse_options): Remove unnecessary goto and label. * tests/sort-test/mk-script.pl: Interpret `input arg is a hash reference' as meaning that the tested program will read no input. Most of the tests for the date program use this feature. Also for date, the generated script now reflects specification (in Test.pm) of default and per-test environment settings. * src/csplit.c: Reflect changes to xstrtol and xstrtoul interfaces. * src/fold.c: Likewise. * src/head.c: Likewise. * src/join.c: Likewise. * src/nl.c: Likewise. * src/od.c: Likewise. * src/pr.c: Likewise. * src/uniq.c: Likewise. * lib/xstrtoul.h (XSTRTOL_H): Undefine it. * lib/xstrtol.h [!_STRTOL_ERROR]: Define the type `enum strtol_error' only if it hasn't already been defined. (_STRTOL_ERROR): Undefine. * lib/xstrtol.c (__xstrtol): Change interpretation of VALID_SUFFIXES == NULL vs VALID_SUFFIXES == "". Use the former when any suffix is valid, the later when no suffix is allowed. Fri Jan 24 23:36:00 1997 Jim Meyering * lib/long-options.c (parse_long_options): Reset optind to zero before just returning so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. From Ulrich Drepper. Thu Jan 23 19:17:03 1997 Jim Meyering * src/tail.c (parse_obsolescent_option): Recognize and fail for more malformed obsolescent options. Makes for better diagnostics. Wed Jan 22 21:34:50 1997 Jim Meyering * tests/Makefile.am (SUBDIRS): Add tail. * tests/tail: New directory. * configure.in (AC_OUTPUT): Add tests/tail/Makefile. * src/tail.c (parse_options): New function. (parse_obsolescent_option): New function. (main): Use the new functions instead of open-coding them. This better fixes the bug in handling obsolescent `+Nc' options. General cleanup. Tue Jan 21 22:49:00 1997 Jim Meyering * src/tail.c (main): Properly handle what the POSIX spec calls the `obsolescent' usage (e.g., tail +2c). It didn't work. Reported by Karl Heuer. Sun Jan 12 22:13:27 1997 Jim Meyering * tests/tr-test/Test.pm: Rename tests so that the associated files have names that are distinct even on filesystems on which file names are case insensitive. Reported by Fred Fish. * tests/cut-test/Test.pm: Likewise. * tests/tr-test/Makefile.am: Regenerated to reflect renamed tests. * tests/cut-test/Makefile.am: Likewise. Wed Jan 8 16:38:24 1997 Jim Meyering * Version 1.21. * lib/getopt.c (_getopt_internal): Use `_', rather than the (sometimes-)expansion `gettext'. Tue Jan 7 22:50:13 1997 Jim Meyering * lib/getopt.c: New (more POSIX compliant) version from GNU libc. [_]: Define to gettext also if ENABLE_NLS is defined. This is temporary. Thu Jan 2 21:17:50 1997 Jim Meyering * src/pr.c (init_fps): Initialize lines_stored field in three places. This avoids uninitialized memory reads in close_file. Wed Jan 1 17:32:18 1997 Jim Meyering * configure.in (AC_ARG_PROGRAM): Remove explicit use. It's implicit in AM_INIT_AUTOMAKE. From Wayne Stewart. Sun Dec 29 23:42:57 1996 Jim Meyering * src/pr.c (init_header): Plug a small memory leak by using stack rather than heap for a 15-byte temporary buffer. Sat Dec 28 00:03:23 1996 Jim Meyering * src/pr.c (TAB_WIDTH): Parenthesize uses of parameters and renamed from tab_width. (POS_AFTER_TAB): Renamed from pos_after_tab. Define in terms of TAB_WIDTH rather than duplicating the expression. Fri Dec 27 17:29:02 1996 Jim Meyering * tests/join-test/mk-script.pl: Fix a couple of thinkos and typos. Now it works with pr's tests, too. * tests/pr-test/Makefile.am (explicit): Regenerate list of files, this time with duplicates removed. * src/pr.c (usage): Break long string literal into two separate printf statements to accommodate default maximum of 2048 characters for Irix-4.0.5. Reported by Kaveh Ghazi. * Makefile.am (aclocal.m4): No longer depend on acinclude.m4. * tests/Makefile.am (SUBDIRS): Add pr-test. * configure.in: AC_REQUIRE version 2.12 of autoconf. AC_OUTPUT: Add tests/pr-test/Makefile. Sun Dec 22 08:11:27 1996 Jim Meyering * acinclude.m4: Move macros to individual files in new directory, m4/. See ChangeLog entries in sh-utils for the details. * configure.in: Increment version to 1.20a. * tests/md5sum-test/Makefile.am: Use same framework as other tests. * tests/md5sum-test/Test.pm: New file. Sat Dec 21 20:32:58 1996 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Add README and Makefile.am.in. * tests/Makefile.am.in: New file. * tests/sort-test/Makefile.am: Clone the Makefile.am from join-test. Replace only the definition of $x and the auto-generated lists of test files. * tests/cut-test/Makefile.am: Likewise. * tests/tr-test/Makefile.am: Likewise. * tests/join-test/Makefile.am: Add @MAINT@-protected rule for verifying that Makefile.am is consistent with Test.pm. Fri Dec 20 00:08:36 1996 Jim Meyering * tests/join-test/Makefile.am (MAINTAINERCLEANFILES): Use $(in1) and $(in2), not $(in). * tests/join-test/mk-script.pl: New option: --list. Generate lists of files used/generated. Thu Dec 19 23:28:41 1996 Jim Meyering * tests/join-test/mk-script.pl: Rewrite to be more general -- so it can be used for join, cut, sort, tr, and soon, pr test suites. * tests/tr-test/mk-script.pl: Symlink through CVS repo to join's mk-script.pl. * tests/sort-test/mk-script.pl: Likewise. * tests/cut-test/mk-script.pl: Likewise. * tests/tr-test/Test.pm: Adapted for new mk-script.pl. * tests/join-test/Test.pm: Likewise. Tue Dec 17 16:48:51 1996 Jim Meyering * tests/join-test/Makefile.am (.pl): Make generated file read-only so I don't accidentally modify it instead of the one with the .pl suffix. * acinclude.m4 (jm_SYS_PROC_UPTIME): Require AC_PROG_CC, rather than now-obsolete AC_C_CROSS. (jm_FUNC_MKTIME): When redefining, use rpl_ prefix, not gnu_ one since there's nothing GNU-specific about the replacement. Contrast with gnu_ prefix added to strftime. (jm_FUNC_MEMCMP): New macro. * configure.in: Use jm_FUNC_MEMCMP instead of AM_FUNC_MEMCMP. * acconfig.h: Add memcmp. * README: Remove warning about memcmp. The new macro handles it. Mon Dec 16 23:03:27 1996 Jim Meyering * tests/Makefile.am (pkgdata_DATA): Remove unnecessary assignment. From Eric Backus. (AUTOMAKE_OPTIONS): Likewise. Sat Dec 14 14:51:50 1996 Jim Meyering * acinclude.m4 (jm_SYS_PROC_UPTIME): Fix typo in cache variable name for cross compiling. Remove definitions of gettext-related macros. The gettext installation procedure installs corresponding .m4 files so that aclocal will use them. 1996-12-12 Paul Eggert * system.h (ISDIGIT): Replace with smaller, faster edition that yields nonzero only on ASCII digits. (ISDIGIT_LOCALE): New macro, with same meaning that ISDIGIT used to have. * tr.c (is_char_class_member): Use ISDIGIT_LOCALE instead of ISDIGIT to test for characters in CC_DIGIT class. * sort.c (digits): Remove; subsumed by new ISDIGIT. (inittables): Remove initialization of `digits'. (fraccompare, numcompare, main): Use ISDIGIT (x) instead of digits[x]. (fraccompare, numcompare): Avoid casts to unsigned char that are no longer needed. * csplit.c (get_format_width, get_format_prec): Avoid unnecessary comparison of digit to '\0'. Thu Dec 12 23:42:51 1996 Jim Meyering * src/sort.c (usage): Clarify description of -u option. From Karl Berry. Wed Dec 11 19:32:18 1996 Jim Meyering * Version 1.20. Tue Dec 10 00:15:50 1996 Jim Meyering The file name, `build-script.pl' is longer than 14 characters. Rename it. * tests/cut-test/mk-script.pl: Rename from build-script.pl. * tests/cut-test/Makefile.am: Reflect renaming. * tests/tr-test/mk-script.pl: Rename from build-script.pl. * tests/tr-test/Makefile.am: Reflect renaming. * tests/sort-test/mk-script.pl: Rename from build-script.pl. * tests/sort-test/Makefile.am: Reflect renaming. * tests/join-test/mk-script.pl: Rename from build-script.pl. * tests/join-test/Makefile.am: Reflect renaming. Reported by Karl Heuer. * configure.in (VERSION): Bump to 1.19r. (AC_ISC_POSIX): Remove kludgy macro. Use this test instead: (LIBS): Add -lcposix if it contains strerror. Patch from Karl Heuer. Sun Dec 8 07:22:38 1996 Jim Meyering =========== Update for automake-1.1k. * Makefile.am (AUTOMAKE_OPTIONS): Require 1.1k. * configure.in (AM_CONFIG_HEADER): Use it. (AC_OUTPUT): Remove stamp-h timestamping statement. Now, AM_CONFIG_HEADER does it automatically. * lib/Makefile.am (noinst_LIBRARIES): Rename to libtu.a as per new automake requirement. Rename tu_* variables to libtu_a_*. Wed Dec 4 21:03:18 1996 Jim Meyering * src/pr.c: Apply big patch from Roland Huebner. * src/tr.c (main) [!POSIXLY_CORRECT]: Allow the identity mappings: [:upper:] to [:upper:] and [:lower:] to [:lower:]. (main) [POSIXLY_CORRECT]: Give a more specific diagnostic for the invalid identity mappings [:upper:] to [:upper:] and [:lower:] to [:lower:]. (class_ok): Update table to reflect that tr now allows these identity mappings. Suggestion from Risto Kankkunen. Thu Nov 28 00:31:18 1996 Jim Meyering * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT for gettext-0.10.25. Tue Nov 26 23:05:14 1996 Jim Meyering * src/sort.c (fraccompare): Add explicit `int' in `register' dcls, to avoid new warning from gcc. Sun Nov 24 21:02:15 1996 Jim Meyering * tests/sort-test/Makefile.am (t): Add names of those 5 tests. * tests/sort-test/Test.pm: Add 5 tests to exercize just-fixed code. * src/sort.c (set_ordering): Revert 1994-05-04 change to this function so that blanks are not unconditionally ignored when computing start and end positions for numeric keys with explicit character offsets. Reported by Markus Demleitner. Sat Nov 23 16:07:08 1996 Jim Meyering * cat.c (usage): Alphabetize option descriptions the way sort -f would. * fmt.c (usage): Likewise. * join.c (usage): Likewise. * md5sum.c (usage): Likewise. * od.c (usage): Likewise. * pr.c (usage): Likewise. * sort.c (usage): Likewise. * split.c (usage): Likewise. * wc.c (usage): Likewise. From Karl Berry. Fri Nov 22 20:20:37 1996 Jim Meyering * src/csplit.c (process_regexp): Update CURRENT_LINE only if the new value would be larger. This avoids the infinite loop otherwise provoked by situations like this: printf "\na\n" | csplit - '/a/-1' '{*}' From Jens Schmidt. Tue Nov 19 23:16:57 1996 Jim Meyering * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11 has this built-in. Sat Nov 2 08:50:01 1996 Jim Meyering * doc/Makefile.am (MAKEINFO): Set to makeinfo --no-split. Otherwise, the generated info files have names longer than the 14-byte max of some old systems. Reported by Karl Heuer. Fri Nov 1 21:33:16 1996 Jim Meyering * lib/strtol.c: Update from GNU libc. * tests/sort-test/Test.pm: Add a test to exercize this fix. * src/sort.c [!ENABLE_ASSERTIONS]: Guard NDEBUG definition. (checkfp): Fix off-by-one error that resulted in writing one byte beyond the end of a malloc'd buffer. It caused `sort -c' to segfault on Linux systems having a relatively recent libc. Before, running the command, perl -e "print 'x' x 30, \"\n\";"|sort -c would provoke the memory overrun (though not necessarily the failure). Add an assertion. Reported by Risto Kankkunen. Thu Oct 31 17:48:24 1996 Jim Meyering * src/sort.c (key_init): New function. (main): Use key_init in the two places where it was open-coded. This fixes a UMR of the general_numeric field. * src/join.c (decode_field_spec): Always give FIELD_INDEX a value. This avoids a spurious UMR report from purify. (prjoin): Add an assertion. (add_field): Update assertion. * src/tr.c (es_free): New function. (parse_str): Use it to plug a small memory leak. Wed Oct 23 22:02:24 1996 Jim Meyering * lib/md5.c: Update from GNU libc. * lib/md5.h: Update from GNU libc. Mon Oct 21 16:48:12 1996 Jim Meyering * src/tr.c (validate): Remove TAB from diagnostic, for consistency. Sun Oct 20 13:44:07 1996 Jim Meyering * lib/Makefile.am (INCLUDES): Add -I../intl. Reported by Eric Backus. * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits' (EXTRA_DIST): Remove. * configure.in: Remove README_ALPHA related code. Automake takes care of it automatically now when in gnits mode. * lib/md5.c (md5_process_bytes): Cast void* pointer to char* before doing arithmetic with it. Sat Oct 19 23:13:54 1996 Jim Meyering * lib/md5.c: Update from GNU libc. * lib/md5.h: Update from GNU libc. Fri Oct 18 00:08:04 1996 Jim Meyering * configure.in (AC_OUTPUT): Add tests/join-test/Makefile. * tests/Makefile.am (SUBDIRS): Add join-test. Tue Oct 15 23:25:31 1996 Jim Meyering * src/tr.c (get_next): Rewrite to treat lower/upper mapping as a special case. (main): Write separate loops to initialize mapping for lower->upper and upper->lower conversion. Reported by Arne Henrik Juul. Sun Oct 13 12:52:42 1996 Jim Meyering * lib/xstrtol.c (__xstrtol): Return an error for invalid suffix. Before, e.g., `split -b 1M' would be silently accepted and treated like `split -b 1'. Reported by Franc,ois. * src/split.c (usage): Remove parameter, REASON. (main): Update callers to use combination of error (0, 0, ... and usage (EXIT_FAILURE). (main): When a string operand cannot be converted to a number of bytes or lines, include that string in the diagnostic. Sat Oct 12 00:05:11 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Add strpbrk and strtol. * lib/Makefile.am (EXTRA_DIST): Remove. Thu Oct 10 23:41:36 1996 Jim Meyering * lib/md5.c (md5_stream): Apply fix from Ralph Loader via Ulrich Drepper. Wed Oct 9 07:26:40 1996 Jim Meyering * lib/Makefile.am (tu_DEPENDENCIES): Depend on $(tu_LIBADD). Tue Oct 8 21:32:17 1996 Jim Meyering * lib/error.c: Include error.h to align with libit -- under protest, François :-). Sun Oct 6 08:02:28 1996 Jim Meyering * acinclude.m4 (AC_HEADER_SYS_TIME_H, AM_FUNC_MKTIME, AM_FUNC_ERROR_AT_LINE, AM_FUNC_OBSTACK): Remove definitions. They're included in automake-1.1f. * configure.in (AM_FUNC_ERROR_AT_LINE): Use it instead of open-coding it. Sat Oct 5 12:40:22 1996 Jim Meyering * lib/memcpy.c [HAVE_CONFIG_H]: Include config.h. From Karl Berry. Fri Oct 4 07:20:37 1996 Jim Meyering * configure.in (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove it. * acconfig.h (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove now-unused variable. * lib/long-options.c (parse_long_options): Separate package name and version number to accommodate new --version output requirement. * lib/long-options.h: Update prototype. Thu Oct 3 23:27:31 1996 Jim Meyering * src/md5sum.c (main): Remove dead code that used to print --version output. Tue Oct 1 06:54:22 1996 Jim Meyering * configure.in: Use result of AM_FUNC_STRTOD to set POW_LIBM. * src/Makefile.am (sort_LDADD): Use any library (-lm) that gets substituted for @POW_LIBM@. * tests/md5sum-test/md5-rfc (md5sum): Use ../../src/md5sum. Mon Sep 30 23:35:46 1996 Jim Meyering * tests/md5sum-test/md5-rfc (md5sum): Set to $srcdir/md5sum. * acinclude.m4: Update definitions from gettext-0.24. Sun Sep 29 20:04:53 1996 Jim Meyering * tests/sort-test/build-script.pl: Die if close fails. * tests/tr-test/build-script.pl: Likewise. * configure.in (AC_OUTPUT): Add tests/cut-test/Makefile. * tests/Makefile.am (SUBDIRS): Add cut-test. * tests/cut-test: New directory. Fri Sep 27 22:22:09 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add spanish (es). Thu Sep 26 21:02:54 1996 Jim Meyering * src/md5sum.c (usage): Remove references in --help output to the now-deprecated --string option. Support for it will be removed soon. Using this option can provoke a memory access violation on some systems because of (unavoidable in an efficient implementation) alignment assumptions made by functions in md5.c. md5sum.c could leave the option in and accommodate the alignment restriction, but this option was intended solely for testing, and the tests are now all file-oriented, so it's not necessary. * tests/md5sum-test/md5-rfc: Rewrite to avoid use of --string option. Wed Sep 25 21:43:10 1996 Jim Meyering * tests/sort-test/Makefile.am (t): Factor out .in suffix. Include new test: t16a. * tests/tr-test/Makefile.am (t): Likewise. * src/Makefile.am (EXTRA_DIST): Remove md5-test.rfc. Mon Sep 23 10:00:50 1996 Jim Meyering * tests/md5sum-test/Makefile.am (EXTRA_DIST): Distribute $(TESTS). Sun Sep 22 09:24:22 1996 Jim Meyering * src/sort.c (keycompare): Declare translate to be unsigned char *. Otherwise, sign extension caused misordering when using e.g. -f. Reported by Erick Branderhorst. * tests/sort-test/Test.pm: Add Erick's test for that fix. * tests/Makefile.am (SUBDIRS): Add md5sum-test. Sat Sep 21 13:34:59 1996 Jim Meyering * src/Makefile.am (check): Remove tests for md5sum. * tests/md5sum-test: New directory. Put them here instead. * configure.in (AC_OUTPUT): Add tests/md5sum-test/Makefile. Thu Sep 19 08:54:05 1996 Jim Meyering * tests/: Rename from checks. * Makefile.am (SUBDIRS): Change `checks' to `tests'. * configure.in (AC_OUTPUT): Likewise. * configure.in ($PACKAGE, $VERSION): Don't AC_DEFINE_UNQUOTED these. AM_INIT_AUTOMAKE now does it (as of automake-1.1e). Sun Sep 15 23:08:48 1996 Jim Meyering * Makefile.am (EXTRA_DIST): Remove acinclude.m4. Thu Sep 12 17:05:23 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Add getline.c. (tu_SOURCES): Remove getline.c From Kaveh Ghazi. Sun Sep 8 13:55:18 1996 Jim Meyering * checks/sort-test/build-script.pl: Prefix $in with \$srcdir/ so make check works with VPATH build. From Uli Drepper. Sat Sep 7 12:25:42 1996 Jim Meyering * src/system.h: Add comments justifying IS* versions of ctype.h macros. * src/fmt.c (check_punctuation): Use ISPUNCT instead of ispunct. (get_line): Use ISSPACE instead of isspace. From Bruno Haible. Mon Sep 2 10:34:46 1996 Jim Meyering * src/*.c (usage): Tell where to report bugs. Sun Aug 25 22:50:47 1996 Jim Meyering * checks/sort-test/Makefile.am (EXTRA_DIST): Add $x-tests. ($x-tests): Guard dependencies with @MAINT@. * checks/tr-test/Makefile.am: Likewise. Sat Aug 24 14:25:41 1996 Jim Meyering * src/cat.c (cat): Cast first arg to stpcpy to char* to avoid warnings. Wed Aug 21 22:28:26 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add polish (pl). Sun Aug 18 09:34:42 1996 Jim Meyering * configure.in (AC_OUTPUT): Add checks/sort-test/Makefile. * checks/Makefile.am (SUBDIRS): Add sort-test. Sat Aug 17 18:57:17 1996 Jim Meyering * Makefile.am (EXTRA_DIST): Add acinclude.m4. Tue Aug 13 21:47:23 1996 Jim Meyering * src/Makefile.am (EXTRA_DIST): Remove ansi2knr.1 and ansi2knr.c. Automake includes them automatically. * configure.in (AM_INIT_AUTOMAKE): Use it. (AM_PROG_INSTALL): Remove. AM_INIT_AUTOMAKE does this. (AC_PROG_MAKE_SET): Likewise. Sun Aug 11 20:49:21 1996 Jim Meyering * configure.in: Rename a few macros for automake-1.1c. (AC_REPLACE_GNU_GETOPT): Remove. (AC_PATH_PROG): Find perl -- needed only for checks if you change or remove things with e.g. make maintainerclean. * lib/Makefile.am (tu_LIBADD): Remove @REGEXOBJ@. New AM_WITH_REGEX adds .o files to @LIBOBJ@. (tu_SOURCES): Add getopt.c and getopt1.c. (EXTRA_DIST): Remove getopt.c and getopt1.c. * acinclude.m4: New file -- derived from aclocal.m4. * aclocal.m4: This file is now generated by the aclocal program (which comes with the automake package.) Sun Aug 4 10:50:46 1996 Jim Meyering * checks/: New directory. * checks/Makefile.am: New file. * configure.in (AC_OUTPUT): Add new directories: checks, checks/tr-test. * Makefile.am (SUBDIRS): Likewise. Sat Jul 27 17:22:14 1996 Jim Meyering * src/system.h (bindtextdomain) [!ENABLE_NLS]: Undefine to avoid redefinition warnings on solaris. (textdomain) [!ENABLE_NLS]: Likewise. Thu Jul 25 23:06:35 1996 Jim Meyering * src/unexpand.c (unexpand): Move EOF check to follow code that processes and generates output for pending spaces. Before `printf ' ' |unexpand -t 1,2' generated no output. * src/md5sum.c (md5_check): Remove parameter, BINARY. Rename local TYPE_FLAG to BINARY, so md5_file uses the binary mode from the input stream rather than the one from the command line. (main): Fail with a diagnostic if --binary or --text is specified when verifying checksums. Reported by Eli Zaretskii . Sun Jul 21 11:58:48 1996 Jim Meyering * configure.in: Add check for error_at_line so systems with GNU libc don't compile and link with distributed error.c. * lib/Makefile.am (tu_SOURCES): Remove error.c. (EXTRA_DIST): Add error.c. * configure.in (AC_REPLACE_FUNCS): Replace getline.c. Add related check for the getdelim function. From Ulrich Drepper -- as done in gettext. Sat Jul 20 15:59:36 1996 Jim Meyering * configure.in (PACKAGE_VERSION): Use space instead of hyphen to separate PACKAGE and VERSION. * aclocal.m4 (AM_SANITY_CHECK_CC): New macro. Derived from macros from Bruno Haible and from Cygnus. * configure.in (AM_SANITY_CHECK_CC): Use it. Wed Jul 17 00:30:28 1996 Jim Meyering * install-sh: Get version with MIT copyright. Tue Jul 16 00:09:37 1996 Jim Meyering * aclocal.m4 (fp_C_PROTOTYPES): Improved version from François Pinard. Update all other macros to reference $fp_cv_prog_cc_stdc, rather than $ac_cv_prog_cc_stdc. * src/od.c (OFF_T_MAX): Remove definition. (main): Compare against LONG_MAX rather than OFF_T_MAX. Mon Jul 15 23:42:57 1996 Jim Meyering * Many files: Update FSF address. Sun Jul 14 16:53:50 1996 Jim Meyering * src/unexpand.c (unexpand): Fix bug that contributed to endless loop when invoking `echo ' ' |unexpand -t 1,2': use print_tab_index, not tab_index in inner flush_pend: while loop. From Keith Owens . * src/unexpand.c [HAVE_LIMITS_H]: Include limits.h for INT_MAX. [!INT_MAX]: Define it. (main): Append INT_MAX to command-line-specified tab list to ensure termination in unexpand's inner loop. Derived from a patch from Keith Owens. Thu Jul 11 22:04:36 1996 Jim Meyering * Version 1.19. * configure.in (VERSION): Bump to 1.19. Wed Jul 10 22:57:29 1996 Jim Meyering * aclocal.m4 (fp_PROG_CC_STDC): Include sys/stat.h in test program so that DYNIX/ptx V4.1.3 doesn't use `-Xc -D__EXTENSIONS__' -- with those options on that system, sys/stat.h gets compile errors. With help from Marcus Daniels. * getopt.c: Update from gettext-0.10.23. * getopt1.c: Likewise. * getopt.h: Likewise. Tue Jul 9 18:07:23 1996 Jim Meyering * src/fmt.c (MAXCOST): Use `(unsigned long)1' rather than `(COST)1' so the left operand of the << isn't signed. From Kjetil Torgrim Homme. * po/Makefile.in.in (install-data): Don't install NLS files when they're not requested. From Ulrich Drepper. Reported by Kjetil Torgrim Homme . Fri Jul 5 21:55:58 1996 Jim Meyering * po/Makefile.in.in ($(PACKAGE).pot): Merge from gettext-0.10.23. * ABOUT-NLS: Likewise. * intl/*: Likewise. * aclocal.m4: Likewise. Thu Jul 4 07:24:54 1996 Jim Meyering * src/uniq.c (usage): Remove space before newline in usage message. * src/md5sum.c (MIN_DIGEST_LINE_LENGTH): New macro. [NEWLINE_REPLACEMENT_STRING*]: Remove macros. (main): Output a leading backslash for a line describing a file whose name contains a newline. Then translate each NEWLINE byte in the file name to the string, "\\n", and each backslash to "\\\\". File names that don't contain NEWLINE aren't translated. (split_3): Rewrite to handle file names with embedded newlines. Miles Bader and Jim Blandy suggested this new encoding scheme. * src/md5sum.c (md5_file): Replace obsolete comment with a description of the function. (md5_check): Don't use "s"-adding trick to form the plural of `checksum.' That doesn't work well with translation. Suggestions from Ulrich Drepper. (split_3): Add missing semicolon so it compiles. From Jim Blandy. Wed Jul 3 23:21:09 1996 Jim Meyering * src/md5sum.c (split_3): Correct test for 35-byte line to accommodate fact that leading blanks may be stripped. Tue Jul 2 21:51:40 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add dutch (nl). Mon Jul 1 23:50:19 1996 Jim Meyering * src/md5sum.c [NEWLINE_REPLACEMENT_STRING]: Define. (split_3): Translate NL bytes not to NUL, but to NEWLINE_REPLACEMENT_STRING. Suggested by Ulrich Drepper. (main): Translate back to NL-containing filename. Sun Jun 30 22:42:17 1996 Jim Meyering * src/md5sum.c (split_3): Take an additional parameter, S_LEN. Adapt caller. Map translated NEWLINE-containing filename back into the original NEWLINE-containing name. (md5_check): Translate NEWLINE bytes to NUL bytes in filename. Sat Jun 29 18:59:07 1996 Jim Meyering * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so it appears in the output of --version. Reported by RMS. Wed Jun 26 21:35:10 1996 Jim Meyering * src/Makefile.am (LDADD): Remove sort-specific hack to link with -lm. * aclocal.m4 (AM_FUNC_STRTOD): New macro. * configure.in (AM_FUNC_STRTOD): Use it. (AC_REPLACE_FUNCS): Remove strtod. Suggested by Tom Tromey. * po/Makefile.in.in (install-data): Add `else true;' to avoid letting failing if-condition cause make failure. From Fred Fish (fnf@ninemoons.com). Tue Jun 25 21:55:18 1996 Jim Meyering * Version 1.18a. Tue Jun 18 20:43:20 1996 Jim Meyering * aclocal.m4: Update from gettext-0.10.20. * ABOUT-NLS: Likewise. * intl/*: Likewise. Thu Jun 13 22:31:39 1996 Jim Meyering * configure.in (VERSION): Bump to 1.18a. * po/Makefile.in.in ($(PACKAGE).pot): Reapply change of May 30. Depend on POTFILES only when using maintainer mode. * intl/*: Update from gettext-0.10.18. Tue Jun 11 23:32:10 1996 Jim Meyering * Version 1.18. * po/Makefile.in.in: Update from gettext-0.10.17. * intl/*: Likewise. * ABOUT-NLS: Likewise. Mon Jun 10 18:22:29 1996 Jim Meyering * Makefile.am (cvs-dist): Use -c option in cvs tag command. Fri Jun 7 22:06:46 1996 Jim Meyering * configure.in (VERSION): Set to 1.18. * src/Makefile.am (sort_LDADD): Set this to -lm to get pow when using the strtod supplied with this package. Otherwise, linking failed on Solaris-2.4 systems. Reported by Wayne Stewart . Thu Jun 6 21:57:08 1996 Jim Meyering * po/Makefile.in.in: Update from gettext-0.10.16. * intl/*: Likewise. * ABOUT-NLS: Likewise. * aclocal.m4 (AC_REPLACE_GNU_GETOPT): Move definition to precede gettext-related ones. Update from gettext-0.10.16. Fri May 31 22:04:51 1996 Jim Meyering * Version 1.17. * Makefile.am (EXTRA_DIST): Set to texinfo.tex so that file is distributed. Thu May 30 00:07:48 1996 Jim Meyering * Version 1.16. * tail.c (main): Interpret the old-style +VALUE and -VALUE options like -c VALUE and -c +VALUE (resp) when VALUE has one of the [bkm] suffix multipliers. This makes the code consistent with --help output. Reported by Karl Heuer. * sort.c (limfield): #ifdef-out a block of code that makes GNU sort incompatible with Unix sort when a key-end spec refers to the N'th character in a field that has fewer than N characters. The POSIX spec doesn't appear to specify behavior for this case. From Karl Heuer. * po/Makefile.in.in (stamp-cat-id): Avoid using temp filename longer than 14 characters. (mostlyclean): Likewise. From Karl Heuer. * po/Makefile.in.in ($(PACKAGE).pot): Depend on POTFILES only when using maintainer mode. Reported by Karl Heuer. * po/Makefile.in.in (.po.mo): Reenable dependency and rule. It is required when using native NLS, e.g. on Solaris. From Marcus Daniels. * od.c (decode_one_format): Use %lu (not %d) printf format corresponding to unsigned long, SIZE. * Version 1.15. * intl/Makefile.in (installcheck): New target. * po/Makefile.in.in (installcheck): New target. * od.c (decode_one_format): Take another parameter. Give a specific diagnostic for invalid format spec here rather than an overly general one from caller's caller. (decode_format_string): Update caller. (main): Don't give diagnostic here when decode_format_string fails. Remove assertions that could fail on some Crays because they don't have a two-byte type. Johan Danielsson (joda@pdc.kth.se) reported the failed assertions. Mon May 27 17:43:31 1996 Jim Meyering * cat.c (main): Use STDIN_FILENO and STDOUT_FILENO instead of less portable fileno (stdin) and fileno (stdout). * sort.c (main): Use STDIN_FILENO instead of less portable fileno (stdin). Mon May 20 21:50:23 1996 Jim Meyering (meyering@na-net.ornl.gov) * Makefile.am (distcheck): Remove target and rule -- automake-0.33 adds it automatically. Sun May 19 13:15:49 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (LINGUAS): Add ko. * Makefile.am (distcheck): Remove @MAINT@ prefix from first command. Thu May 16 22:18:41 1996 Jim Meyering (meyering@na-net.ornl.gov) * Makefile.am (distcheck): New target. From Gord Matzigkeit. Fri May 10 20:46:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * po/Makefile.in.in (all-yes): Always depend on CATALOGS. Otherwise they won't be built and install could fail. From Ulrich Drepper. (.po.mo): Disable dependency and rule when not in maintainer mode. * aclocal.m4 (ud_WITH_NLS): Make DATADIRNAME and CATOBJEXT depend on whether we're using GNU gettext. From Ulrich Drepper. Wed May 8 21:10:43 1996 Jim Meyering (meyering@na-net.ornl.gov) * intl/Makefile.in (distdir): Renamed from dist. For compatibility with automake-0.32. * po/Makefile.in.in (distdir): Likewise. * po/Makefile.in.in (all-yes): Depend on GMOFILES. Depend on CATALOGS and GMOFILES files only in maintainer mode. Tue May 7 22:10:20 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Require autoconf-2.10. * aclocal.m4 (jm_MAINTAINER_MODE): New macro. * configure.in (jm_MAINTAINER_MODE): Use it. Sat May 4 20:40:01 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (LINGUAS): Add de. * po/de.po: New file. * memcasecmp.c [IN_CTYPE_DOMAIN]: Rename from ISASCII. * regex.c [IN_CTYPE_DOMAIN]: Likewise. * system.h [IN_CTYPE_DOMAIN]: Likewise. Sun Apr 28 17:10:03 1996 Jim Meyering (meyering@na-net.ornl.gov) * fmt.c (copy_rest): Don't copy past end of prefix. Output trailing spaces if the prefix had any. Before, fmt would improperly output NUL bytes. The command perl -e 'print "| S";' |fmt -p' | '|tr '\0' @ output `|@S'. Reported by François Pinard. * sort.c (main): Give a better diagnostic for `sort -0'. Reported by Karl Berry. * configure.in: Make fp_C_PROTOTYPES precede AC_C_INLINE. Otherwise, some systems lose because the value AC_C_INLINE choses with plain `cc' is different from that chosen when using the ANSI-mode C compiler. From Kaveh Ghazi. Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro. * configure.in: Use it. * lib/Makefile.am (tu_SOURCES): Remove getopt.c and getopt1.c. (EXTRA_DIST): Add getopt.c and getopt1.c * src/*.c, src/*.h: Update Copyright years to include 1996. Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov) * getline.c: New version from gettext-0.10.12. * getline.h: Likewise. * configure.in (AC_CHECK_FUNCS): Add getdelim. Suggested by Ulrich Drepper. * md5sum.c (md5_check): Remove spurious newline at end of error format string. * od.c (decode_one_format): Use printf's L modifier for long doubles, not `l'. From Eric Backus. * Makefile.am (LDADD): Put @INTLLIBS@ before package library. * od.c: Include . [!BITSPERBYTE]: Define. [OFF_T_MAX]: Use BITSPERBYTE, not 8, and cast the result to off_t. * configure.in (AC_CHECK_HEADERS): Add values.h. Fri Apr 19 23:48:53 1996 Jim Meyering (meyering@na-net.ornl.gov) * Makefile.am (cvs-dist): New rule. Based on the one from Tom Tromey's automake. Thu Apr 18 22:13:14 1996 Jim Meyering (meyering@na-net.ornl.gov) * tail.c (main): Make code clearer: use new variable `n_files' in place of `argc - optind'. Use `file' instead of `argv + optind'. Sat Apr 13 13:08:29 1996 Jim Meyering (meyering@na-net.ornl.gov) * lib/Makefile.am (noinst_HEADERS): Include memcasecmp.h, not memcasecmp.c. * memcasecmp.c: Unprotoize. [ISASCII]: Define. [ISUPPER]: Define. * join.c (decode_field_spec): Rename local variable `valid' to invalid (and reverse sense) to avoid conflict with the macro definition in /usr/include/locale.h on SunOS 4.1.3. Tue Apr 9 22:43:57 1996 Jim Meyering (meyering@na-net.ornl.gov) * uniq.c: Add new option --ignore-case (-i). Include memcasecmp.h. (different): Compare with memcasecmp if ignoring case. (main): Handle 'i'. * join.c (memcasecmp): Remove static definition of function. Include memcasecmp.h instead. * memcasecmp.c: New file. * memcasecmp.h: New file. * lib/Makefile.am (tu_SOURCES): Add memcasecmp.c. (noinst_HEADERS): Add memcasecmp.h. Thu Apr 4 17:05:33 1996 Jim Meyering (meyering@na-net.ornl.gov) * tr.c: The following commands all failed unnecessarily. tr -cs '[:upper:]' '[X*]' tr -dcs '[:lower:]' n-rs-z tr -ds '[:xdigit:]' [:alnum:]' tr -dcs '[:alnum:]' [:digit:]' tr -dc '[:upper:]' Reported by Ross Ridge (ross@worf.mks.com). (validate): Add missing conjunct (translating) in test for `translating and complementing character classes' error. Before, valid uses of tr could fail. E.g. `tr -dcs '[:cntrl:]' '[:alnum:]''. (homogeneous_spec_list): New function. (validate): Use it to relax the old (overly restrictive) restriction that prohibited use of complemented character classes when translating. Now, that is allowed as long as the translation maps many to one. (get_spec_stats): Rename and redefine global has_char_class from has_upper_or_lower. Wed Apr 3 07:08:57 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4: Update NLS macros from gettext-0.10.11. * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h when srcdir != builddir. From Kaveh Ghazi. Wed Mar 27 23:33:36 1996 Jim Meyering (meyering@na-net.ornl.gov) * cksum.c (cksum): Use format "%lu %ld" (instead of "%10lu %8ld") to be POSIX compliant. From Stephen Gildea . Sun Mar 24 08:47:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * join.c (main): Use EXIT_FAILURE, not 2, as exit code in error call. * od.c (skip, main): Likewise. * tr.c (main): Likewise. * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c fold.c head.c join.c md5sum.c nl.c od.c paste.c pr.c split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.c: Exit with status EXIT_SUCCESS or EXIT_FAILURE, rather than 0 or 1. Sat Mar 23 23:14:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * system.h [EXIT_FAILURE]: Undefine and define to 1 also if it is defined to zero. Suggested by Paul Eggert. * sort.c [SORT_FAILURE]: New macro. Be careful to exit with 1 only when -c is used and the input is not properly sorted. In all other cases, use SORT_FAILURE as required by POSIX. (main): Change some `error (1, ...' to use SORT_FAILURE. Upon successful termination, exit with EXIT_SUCCESS instead of `0'. Replace all uses of `2' (as exit code) with SORT_FAILURE. Thu Mar 21 22:47:50 1996 Jim Meyering (meyering@na-net.ornl.gov) * csplit.c: Include assert.h, but disable assertions. (process_line_count): Replace if-abort with a slightly relaxed assertion. Before, `echo |csplit - 1 1' would abort. Reported by Samuli.Karkkainen@hut.fi. (parse_patterns): Disallow uses like `csplit FILE 0' with zero line number, `csplit FILE 2 1' with decreasing line numbers, and warn about uses like `csplit FILE 3 3' that have equal line numbers. * sort.c (main): Declare to be of type int, not void. From Peter Seebach . * cat.c cksum.c comm.c csplit.c cut.c expand.c fold.c head.c join.c nl.c paste.c pr.c split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.c (main): Likewise. Sat Mar 16 16:30:07 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (PACKAGE_VERSION): New macro. * acconfig.h (PACKAGE_VERSION): Add it. * src/Makefile.am: Remove rules for generating version.c. Remove references to version.o, version.h, and stamp-v. * version.c: Remove file. * version.h: Remove file. * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c fold.c head.c join.c md5sum.c nl.c od.c paste.c pr.c sort.c split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.c: Don't include version.h. (main): Use PACKAGE_VERSION instead of version_string. Mon Mar 11 16:07:08 CST 1996 Jim Meyering (meyering@na-net.ornl.gov) * sort.c (write_bytes): Renamed from xfwrite. Remove SIZE parameter. It was always 1. Update all callers. Rename NELEM parameter to N_BYTES and change its type to size_t. Sat Mar 9 13:30:12 1996 Jim Meyering (meyering@na-net.ornl.gov) * cat.c cksum.c comm.c csplit.c cut.c expand.c fmt.c fold.c head.c join.c md5sum.c nl.c od.c paste.c pr.c sort.c split.c sum.c tac.c tail.c tr.c unexpand.c uniq.c wc.c (main): Initialize for internationalized message support: call setlocale, bindtextdomain, and textdomain. * system.h: Add definitions and includes for NLS. * Makefile.am (SUBDIRS): Add intl and po. * src/Makefile.am (datadir): Define. (localedir): Define. (DEFS): Add LOCALEDIR definition. (LDADD): Add @INTLLIBS@. * aclocal.m4: Add NLS-related macro definitions from gettext distribution. * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): New macros. Add PACKAGE and VERSION. * configure.in (PACKAGE): Define with AC_DEFINE_UNQUOTED. (VERSION): Likewise. (ALL_LINGUAS): Define. (AC_CHECK_HEADERS): Add float.h. (ud_GNU_GETTEXT): Use it. Link an nls file. (AC_OUTPUT): Reflect addition of two new directories, intl and po. Create po/Makefile. From François Pinard. * tr.c (star_digits_closebracket): Declare formal param, IDX, and local I to be of type size_t (rather than int) to avoid warnings from gcc -Wall. Wed Feb 28 20:32:48 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am: Adapt for automake-0.30. (noinst_HEADERS): Rename from HEADERS. (INCLUDES): Remove -I.. and -I$(srcdir). automake-0.30 adds these to DEFS automatically. * lib/Makefile.am (noinst_HEADERS): Rename from HEADERS. Wed Feb 21 18:56:27 1996 Jim Meyering (meyering@na-net.ornl.gov) * join.c (xfields) [without -t]: Ignore leading blanks. From David Dyck (dcd@tc.fluke.COM). Sun Feb 18 12:07:27 1996 Jim Meyering (meyering@na-net.ornl.gov) * join.c [TOLOWER]: Define. (usage): Briefly describe new --ignore-case (-i) option. (memcasecmp): New function. (main): Set IGNORE_CASE for -i. (keycmp): Compare with memcasecmp if IGNORE_CASE is set. Suggestion and an initial patch from Alberto Accomazzi . Sat Feb 17 18:54:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * sort.c: Add -z option. Change all occurrences of '\n' to `eolchar'. (usage): Describe it. (main): Set eolchar to 0 for -z. From Mark W. Eichin . Fri Feb 16 21:44:14 1996 Jim Meyering (meyering@na-net.ornl.gov) * join.c (main): Mark two strings for translation. * md5sum.c (md5_check): Mark a string for translation. From François Pinard. Mon Feb 12 21:12:28 1996 Jim Meyering (meyering@na-net.ornl.gov) Update for automake-0.29. * Makefile.am (CONFIG_HEADER): Don't define. Automake now does it. * src/Makefile.am: Likewise. * lib/Makefile.am: Likewise. * doc/Makefile.am (info_TEXINFOS): Renamed from TEXINFOS. * man/Makefile.am (man_MANS): Renamed from MANS. * fmt.c [TRUE]: Undefine before defining to avoid warning on NeXT. [FALSE]: Likewise. From Derek Clegg (dclegg@next.com). Sat Feb 3 16:20:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * Version 1.14. Wed Jan 31 23:26:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * tail.c (dump_remainder): Flush stdout when tailing-forever on multiple files. From Carlos Canau . Fri Jan 5 18:30:28 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4: For SVR4 systems, use -Xc -D_POSIX_C_SOURCE in CFLAGS, not just -Xc. From François Pinard. * doc/Makefile.am (DIST_OTHER): Don't set to mdate-sh. mdate-sh is distributed automatically. From Tom Tromey. Thu Jan 4 20:32:52 1996 Jim Meyering (meyering@na-net.ornl.gov) * nl.c: Include rx.h after limit.h (not before) to avoid warning about the redeclaration of RE_DUP_MAX in limit.h. rx.h protects its definition. From Kaveh Ghazi. * src/Makefile.am (DIST_OTHER): Include md5-test.rfc so make check works again. Reported by François Pinard and Kaveh Ghazi. * rx.c [SYNTAX]: Rename from SYNTAX_TABLE. [SYNTAX_TABLE]: Remove extern dcl of re_syntax_table. (RE_SEARCH_2_FN): Cast string1 and string2 to avoid pointer type mismatch errors from e.g. SunOS's /bin/cc. Reported by Kaveh Ghazi. Wed Jan 3 23:34:39 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (VERSION): Set variable directly rather than from a separate file. * Makefile.am (DIST_OTHER): Remove VERSION. * src/Makefile.am (version.c): Depend on Makefile, not ../VERSION. (stamp-v): New target; depend on Makefile. (DISTCLEANFILES): Add stamp-v, version.c. Tue Jan 2 00:08:08 1996 Jim Meyering (meyering@na-net.ornl.gov) * sort.c (keycompare): Rewrite cases handling ignored characters so that they really are ignored. Reported by Carl Johnson . Fri Dec 22 21:34:55 1995 Andreas Schwab * configure.in: Touch stamp-h only if config.h is remade. * csplit.c (extract_regexp) [!WITH_REGEX]: Intialize syntax_parens field. Mon Dec 18 21:42:44 1995 Jim Meyering (meyering@comco.com) Use automake to generate Makefile.in files. * Makefile.am: New file. * doc/Makefile.am: New file. * lib/Makefile.am: New file. * man/Makefile.am: New file. * src/Makefile.am: New file. Thu Dec 14 21:13:22 1995 Jim Meyering (meyering@comco.com) * fmt.c (main): Use xstrtol instead of atoi. * fold.c (main): Use xstrtol instead of atoi. (fold_file): Make a couple locals `int', not size_t, and cast fwrite's third parameter to size_t. * nl.c (main): Use xstrtol instead of atoi. Rename misleading --first-page=N option to --starting-line-number=N. (usage): Update. * uniq.c (main): Use xstrtol instead of atoi. Fri Dec 8 20:48:00 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (fp_C_PROTOTYPES): Set ANSI2KNR to ./ansi2knr. Thu Dec 7 19:55:03 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (ud_WITH_REGEX): New macro. * configure.in: Use it. * rx.c, rx.h: New files. * lib/Makefile.in (REGEX): Set to @REGEXOBJ@, not regex.o. (SOURCES, DISTFILES): Add rx.c, rx.h. * acconfig.h (WITH_REGEX): Add it. * csplit.c [!WITH_REGEX]: Include rx.h. * nl.c [!WITH_REGEX]: Likewise. * tac.c [!WITH_REGEX]: Likewise. From Ulrich Drepper and François Pinard. Tue Dec 5 17:49:53 1995 Jim Meyering (meyering@comco.com) * sort.c (main): Diagnose invalid arguments to -k, then fail. * sort.c (numcompare): Properly handle all cases in which signs differ. From Karl Heuer. * Makefile.in (mandir): @mandir@ is just $(prefix)/man. Append `/man1'. Reported by Karl Heuer. * sum.c (bsd_sum_file): Remove misleading comment. From Karl Heuer. * src/Makefile.in [.c._o]: Don't create $<-tmp. From Kaveh Ghazi. Fri Dec 1 01:02:36 1995 Jim Meyering (meyering@comco.com) * lib/Makefile.in (default): New target. * sort.c (numcompare): Properly order `-' and valid integers; treat `-' as if it were zero. Reported by Ross Alexander . * Makefile.in (DISTFILES): Remove unused mkdep-Makefile. (.PHONY): Depend on default. Wed Nov 29 21:50:53 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (jm_PROG_C_MKDEP): Remove, for now. (jm_AUTODEPS): Likewise. (jm_WITH_GNU_MAKE): Likewise. * configure.in (jm_AUTODEPS): Remove. * sort.c (begfield): Replace loop with equivalent if-else. (limfield): Fix bug that made field specs like -k1.5 return a pointer into LINE beyond the first field. Don't try to trim trailing blanks here; it's not possible because we don't know where the field begins. Replace loop with equivalent if-else. (trim_trailing_blanks): New function. (findlines): Call it. (keycompare): Likewise. (main): Don't decrement T2 corresponding to `x' in field specs like -ku.v,w.x. Sun Nov 26 15:50:23 1995 Jim Meyering (meyering@comco.com) * csplit.c [!UINT_MAX]: Define. [!INT_MAX]: Define. Include xstrtoul.h. (string_to_number): Remove function. (check_for_offset): Use xstrtoul instead of string_to_number. (parse_repeat_count): Likewise. (parse_patterns): Likewise. (main): Likewise. Wed Nov 22 23:12:47 1995 Jim Meyering (meyering@comco.com) * Makefile.in (all et. al.): If make was invoked with -k and a sub-make fails, fail after the loop rather than exiting right away. Otherwise, make's -k option could be ineffective. Sat Nov 18 12:04:30 1995 Jim Meyering (meyering@comco.com) * src/Makefile.in (version.c): Depend on ../VERSION, not Makefile. Update for autoconf-2.5: * src/Makefile.in (libdir): Set to @libdir@. (bindir): Set to @bindir@. * doc/Makefile.in (infodir): Set to @infodir@. * man/Makefile.in (exec_prefix): Remove it. (mandir): Set to @mandir@. (bindir): Remove it. Thu Nov 16 21:25:45 1995 Jim Meyering (meyering@comco.com) * Makefile.in (default): New default target. Depend on `all' to work around bug in AIX-3.2.5's /bin/make. Reported by Andreas Luik . Wed Nov 15 23:48:31 1995 Jim Meyering (meyering@comco.com) * mkdep-Makefile (.deps/empty.P): Depend on BUILT-HEADERS. * aclocal.m4 (jm_PROG_C_MKDEP): Rename from jm_PROG_MKDEP. * src/Makefile.in (C_MKDEP): Rename from MKDEP. * lib/Makefile.in (C_MKDEP): Likewise. * mkdep-Makefile (C_MKDEP): Likewise. Add comments. * csplit.c [__P]: Don't define it here. * pr.c [__P]: Don't define it here. * fmt.c [__P]: Don't define it here. * system.h [__P]: Define it here. * aclocal.m4 (jm_AUTODEPS): Rename from jm_WITH_AUTODEPS. Revamp, with suggestions from Franc,ois Pinard. (jm_WITH_GNU_MAKE): New macro. (jm_PROG_MKDEP): New macro. * configure.in (jm_PROG_MKDEP): Use it. * src/Makefile.in (MKDEP): Set it. * lib/Makefile.in (MKDEP): Likewise. * mkdep-Makefile: Use MKDEP, not DEP_CC. (DEP_CFLAGS): Remove it. Tue Nov 14 23:10:54 1995 Jim Meyering (meyering@comco.com) * sort.c: Add support for sorting numbers in scientific notation. Include xstrtod.h. (struct keyfield): Add field: general_numeric. (usage): Describe -g option. (general_numcompare): New function. (keycompare): Use new comparison function when general_numeric flag is set. (set_ordering): Honor `g' flag. (main): Initialize and use new field. From Marcus Daniels . * configure.in (AC_REPLACE_FUNCS): Add strtod. * lib/Makefile.in (SOURCES): Add xstrtod.c. (OBJECTS): Add xstrtod.o. (DISTFILES): Add xstrtod.h. * csplit.c (cleanup): Don't exit. (interrupt_handler): Rewrite to reset default signal handler then repost caught signal. (xmalloc, xrealloc, read_input, write_to_file, handle_line_error, process_line_count, process_regexp, create_output_file, close_output_file): Call cleanup_fatal, not cleanup. Add const attribute to lots of parameters. (cleanup_fatal): Renamed from cleanup. Call cleanup, then exit. Update callers. * tac.c (cleanup): Don't exit. (cleanup_fatal): New function. Call cleanup, then exit. (sighandler): New function. (cleanup_fatal): Renamed from cleanup. Call cleanup, then exit. Update callers. (tac_stdin): Set up sighandler as signal handler, not `cleanup'. Sat Nov 11 15:46:02 1995 Jim Meyering (meyering@comco.com) * od.c (skip): Cast fseek's offset argument to `long'. Erik Bennett reported that this is necessary on BSDI systems. And if offset doesn't fit in a long, then try using lseek instead. * sort.c (xmalloc): Declare static. (xrealloc): Likewise. * tac.c (cleanup): Add signal number parameter. Update callers. * cat.c (main): Don't die when dev/ino of input and output are the same and the file descriptors correspond to stdin and stdout. This is necessary on at least Digital UNIX (aka OSF1) 3.2C. Otherwise, running `cat << X > $$' would fail with `cat: -: input file is output file'. From Jarkko Hietaniemi . * Makefile.in (DISTFILES): Add @README_ALPHA@. (config.status) Depend on VERSION. * configure.in: Set README_ALPHA if the version number ends in [a-z]. Fri Nov 10 21:13:42 1995 Jim Meyering (meyering@comco.com) * fold.c (usage): Clarify meaning of --spaces. From Karl Berry. src/Makefile.in (.c._c): Don't redirect directly to $@. (._c._o, .c._o): Remove temporary src file. Tue Nov 7 23:55:24 1995 Jim Meyering (meyering@comco.com) * VERSION: New file. * configure.in (VERSION): New variable. (PACKAGE): New variable. * Makefile.in (DISTFILES): Add VERSION. (distdir): Use @PACKAGE@-@VERSION@, not distname. Remove all references to distname. * src/Makefile.in (version.c): Generate it. (SOURCES): Remove now-generated version.c. (distclean): Delete version.c. * doc/Makefile.in (version.texi): Use @PACKAGE@-@VERSION@, not version.c * */Makefile.in (distdir): Use @PACKAGE@-@VERSION@, not distname. Remove all references to distname. * split.c: New option: --verbose. (main): Recognize it. (usage): Document it. From Marty Leisner . Sun Nov 5 06:59:27 1995 Jim Meyering (meyering@comco.com) * src/Makefile.in: Reflect protoization of csplit.c, fmt.c, pr.c, and unexpand.c. * pr.c: Protoize. (store_columns): Remove spurious 2nd argument in call to read_line. [__P]: Define. Use it in prototyped forward decls. * csplit.c: Move prototypes after struct declarations. Remove prototypes for xmalloc, xrealloc. Protect prototypes with __P. (new_control_record): Cast arg 1 to realloc. * fmt.c [__P]: Test PROTOTYPES, not __STDC__. Protoize. Sat Nov 4 23:51:30 1995 Jim Meyering (meyering@comco.com) * csplit.c (close_output_file): Set output_stream to NULL so we don't recurse endlessly between this function and cleanup. * unexpand.c: Reorder functions to obviate forward dcls. Remove forward dcls. Protoize. Add `const' attribute to some parameters. Mon Oct 30 23:15:56 1995 Jim Meyering (meyering@comco.com) * wc.c: Reorder functions to obviate forward dcls. Remove forward dcls. Protoize. Add `const' attribute to some parameters. * uniq.c: Likewise. * split.c: Likewise. * split.c (isdigits, convint): Remove these. (main): Use xstrtol instead. Sun Oct 29 14:04:36 1995 Jim Meyering (meyering@comco.com) * paste.c (main): Move function body to end of file. Remove forward dcls and protoize. * sum.c (main): Likewise. * nl.c: Protoize. Reorder functions to obviate forward dcls. Remove forward dcls. * tac.c: Likewise. * src/Makefile.in (OBJECTS): Reflect that all of the above now use prototypes. * sum.c (bsd_sum_file): Give file name parameter const attribute. (sysv_sum_file): Likewise. * tac.c (xwrite): Give output buffer parameter const attribute. (output): Likewise for both parameters. (tac): Likewise for file name parameter. (tac_file): Likewise. Sat Oct 28 16:02:39 1995 Jim Meyering (meyering@comco.com) * md5sum.c (md5_check): Use the same message format when there is a single file and it gets a read error or checksum mismatch as when there are more. Write that warning to standard error, not standard output. Suggestions from Greg Troxel (gdt@b-sgi.bbn.com). Thu Oct 26 00:11:35 1995 Jim Meyering (meyering@comco.com) * sort.c (xtmpfopen): New function to set proper permissions on temporary files. Use it instead of xfopen. Reported by Erik Corry (erik@kroete2.freinet.de). Mon Oct 23 23:17:04 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (jm_WITH_AUTODEPS): New directive. * configure.in: Use it. * lib/Makefile.in (INCLUDE, COMPILE): New variables. (.c.o): Rewrite to be more like src/Makefile.in. * src/Makefile.in (distclean): Remove .deps. Include @top_srcdir@/mkdep-Makefile. * mkdep.Makefile: New file. * Makefile.in (DISTFILES): Add mkdep-Makefile. * doc/Makefile.in (mostlyclean): Also remove *.info. Thu Oct 19 17:38:28 1995 Jim Meyering (meyering@comco.com) * od.c: Indent cpp directives. * tr.c (BEGIN_STATE): Use INT_MAX - 1 so as not to interfere with large repeat counts. (struct E_string): New struct. (find_closing_delim): Take E_string arg rather than char* and length. (find_bracketed_repeat): Likewise. (star_digits_closebracket): New function. (append_char_class): No longer give diagnostic. (append_equiv_class): Likewise. (build_spec_list): Give them here instead, allowing string1 like [:*][:upper:] that got errors before. Take E_string arg rather than char*. Convert switch stmts into if-then so as to use ES_MATCH. Tue Oct 17 22:48:00 1995 Jim Meyering (meyering@comco.com) * cat.c: Protoize. Reorder functions to obviate forward dcls. Remove forward dcls. * expand.c: Likewise. * fold.c: Likewise. * head.c: Likewise. * od.c: Likewise. * sort.c: Likewise. * tail.c: Likewise. * src/Makefile.in (OBJECTS): Reflect that all of the above now use prototypes. * head.c: Add `const' attribute to dcls of lots of formals. * sort.c: Add `const' attribute to dcls of lots of formals. Move struct dcls to precede dcls of file-scope variables. (monthtab, keyhead): Separate variable dcls from type dcls. Fri Oct 13 20:38:39 1995 Jim Meyering (meyering@comco.com) * join.c (add_field_list): Allow SPACE and TAB as well as `,' as list item separators, per POSIX spec. (prjoin): Rewrite loop that iterates over field specs. Handle case in which file spec is 0. Sun Oct 8 22:41:15 1995 Jim Meyering (meyering@comco.com) * strpbrk.c: New file. * lib/Makefile.in (SOURCES): Add strpbrk.c. Remove bcopy.c. Sat Oct 7 22:27:01 1995 Jim Meyering (meyering@comco.com) * join.c (add_field): No longer return a value. (decode_field_spec): New function. (add_field_list): Rewrite to be more strict. Before, `,1.2' was accepted as valid. (main): Use xstrtol instead atoi. Combine nearly identical -a and -v cases. Close input files. Fri Oct 6 23:10:01 1995 Jim Meyering (meyering@comco.com) * join.c (main): Report `too few/many non-option arguments' then print --help output rather than just the latter. Properly interpret obsolescent usage like `join -o 2.1 2.1 2.2'. (usage): Describe POSIX -1, -2 options and deprecate -j* ones * join.c (usage): Move to precede all other functions. * join.c: Protoize. Tue Oct 3 22:44:05 1995 Jim Meyering (meyering@comco.com) * csplit.c, sort.c, tac.c: Test SA_INTERRUPT, not _POSIX_VERSION, to determine whether `sigaction' functions are available. Reported by Paul Nevai . Fix suggested by Karl Berry. * md5sum.c (main): Declare counter, N_STRINGS, to be an integral type, not `char'. * cut.c: Convert many declarations using `int' to use `unsigned int' to avoid warnings from `gcc -Wall' about comparing signed and unsigned types. (set_fields): Use memset (not open coded loop) to initialize array. Thu Sep 28 23:16:05 1995 Jim Meyering (meyering@comco.com) * Version 1.13. * Makefile.in (DISTFILES): Remove README.alpha for major release. * od.c (decode_one_format): Remove spurious semicolon. From John Kodis. Tue Sep 26 23:05:01 1995 Jim Meyering (meyering@comco.com) * man/Makefile.in (install-data, uninstall): Use sed not basename. The GNU Coding Standard suggests that only a select set of relatively standard utilities be used in Makefiles. basename is not among them. Suggested by Ulrich Drepper. Sun Sep 24 08:36:47 1995 Jim Meyering (meyering@comco.com) * cksum.c: Protoize. * cut.c: Protoize. * src/Makefile.in (OBJECTS): Reflect that cksum.c and cut.c use prototypes. (cksum): Depend on cksum$O. (cut): Depend on cut$O. Sat Sep 23 15:43:46 1995 Jim Meyering (meyering@comco.com) * Version 1.12.2. * Makefile.in (DISTFILES): Add README.alpha. * lib/Makfile.in (GETOPT, MEMCHR, REGEX): New variables. (OBJECTS): Use them instead of hard-coding object file names. Suggested by Ulrich Drepper. * md5sum.c (md5_check): Distinguish between open/read failure and checksum mismatch. Mon Sep 18 23:15:05 1995 Jim Meyering (meyering@comco.com) * md5sum.c: Protoize. * src/Makefile.in (OBJECTS): Change md5sum.o to md5sum$O. (join.o, md5sum$O, sort.o) Depend on ../lib/long-options.h. (md5sum): Depend on md5sum$O. * md5sum.c (main, usage): Remove -h, -s, -v short options. Rename --verbose to --warn, --quiet to --status. (main): Handle --help and --version using parse_long_options. (md5_check): Check ferror. * sort.c (tempname): Replace `16' with a more readable expansion. Make sure that counter never exceeds 99999. (checkfp): Rearrange loop to avoid duplicate test. Move a couple dcls from function scope into inner block. Tue Aug 8 21:49:27 1995 Jim Meyering (meyering@comco.com) * md5sum.c (main): Fail if either --verbose or --quiet is specified when not verifying checksums. * md5sum.c (md5_check): Fail if no valid line is found. Don't use the word `fail' unless there were failures -- instead, say `all N tests passed.' * md5sum.c (main) [handling --string option]: Don't output nonstandard `b' binary flag. From Greg Troxel (gdt@bbn.com). * md5-test.rfc: Remove now-inconsistant `b' marker. (usage): Clarify help message. With suggestions from Greg Troxel. Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com) * sort.c (mergefps) [lint]: Initialize SAVEALLOC to avoid spurious compiler warning. From Ulrich Drepper. * pr.c (read_line) [lint]: Initialize CHARS to avoid spurious compiler warning. From Ulrich Drepper. * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB. From Franc,ois. Mon Aug 7 00:02:59 1995 Jim Meyering (meyering@comco.com) * system.h (_): Define macro -- as empty for now. * src/*.c: Annotate localizable strings with _(...). From Franc,ois. Sat Aug 5 23:51:25 1995 Jim Meyering (meyering@comco.com) * Version 1.12.1. * configure.in: Add fp_C_PROTOTYPES. Fri Aug 4 23:21:46 1995 Jim Meyering (meyering@comco.com) * src/Makefile.in (DISTFILES): Include ansi2knr.c and ansi2knr.1. Add suffixes, dependencies, and rules to convert ANSI source to K&R when required. Mark tr.o and comm.o as the only such files (for now). * tr.c: Protoize. * comm.c: Protoize. * Makefile.in (DISTFILES): Add aclocal.m4 and acconfig.h. (configure): Depend on aclocal.m4. (stamp.h.in): Depend on aclocal.m4 and acconfig.h. Sun Jul 30 00:01:58 1995 Jim Meyering (meyering@comco.com) * md5sum.c (md5_check): Use getline instead of fgets. * lib/Makefile.in (SOURCES): Add getline.c. (OBJECTS): Add getline.o. (DISTFILES): Add getline.h. (getline.o): Depend on getline.h. * md5.c [memcpy]: Define to bcopy if needed. (md5_buffer): Explicitely cast SWAP expressions to unsigned to avoid warning. * lib/Makefile.in (strtoul.o): Depend on strtol.c. * sort.c (check): Print `disorder on...' message on standard error, not stdout. This is a minor concession to POSIX which says `no output shall be produced...'. * sort.c (main): Fix -k so it works. -k 2,3 was being treated like -k 2. Reported by Marcus Daniels . Wed Jul 26 22:54:48 1995 Jim Meyering (meyering@comco.com) * man/Makefile.in (install, uninstall): Strip off `.1', not just `1' before applying $(transform) to manual name. From Karl Berry. * md5sum.c (have_read_stdin): New global variable. (md5_file, md5_check): Set it. (main): Use it. * md5sum.c [OPENOPTS]: Depend explicitly on BINARY. (md5_file): Take a new parameter, MD5_RESULT, and no longer generate output. (md5_check): Invoke md5_file instead of calling fopen directly. When giving a diagnostic for a line with invalid format, also report the line number. (main): Generate output after a successful md5_file call. [in many places]: Upon detection of an error, rather than exiting immediately, issue a diagnostic, note that an error occurred and exit later. Mon Jul 24 21:48:26 1995 Jim Meyering (meyering@comco.com) * tail.c (tail_bytes) [from_start]: For regular files, seek relative to the initial input file pointer position, not necessarily from the beginning of the file. [!from_start]: Don't back up past the initial position of the input file pointer. (tail_lines): Call file_lines only if FD refers to a regular file with its file pointer positioned at beginning of file. Otherwise, call pipe_lines. This is a kludge. Once there's a decent test suite, fix this properly. Before, (echo 1; echo 2) > k; sh -c 'read x; tail' < k would output both lines of the input file even though the first had already been read. Reported by John Roll (john@panic.harvard.edu). * md5sum.c [_LIBC || STDC_HEADERS] (TOLOWER): Define to tolower. * csplit.c (main): When too few arguments are given, don't just issue the usage message; also report why. Sat Jul 22 00:16:01 1995 Jim Meyering (meyering@comco.com) * md5sum.c (md5_check): New function -- extracted from main. Fri Jul 21 01:21:49 1995 Jim Meyering (meyering@comco.com) * md5sum.c (md5_file): New function -- extracted from main. (main): Call the new function instead of doing all that in an if-stmt. Always use "%s" format rather than raw filename as format argument in printf-style functions like error. Otherwise, filenames containing `%' are likely to lose. Remove all mention of `old format'. (split_3): No longer parse the `new format.' There is only one valid format now: the compatible one. * lib/Makefile.in (SOURCES): Add md5.c. (OBJECTS): Add md5.o. (DISTFILES): Add md5.h. (md5.o): Depend on md5.h. * system.h [!EXIT_FAILURE, !EXIT_SUCCESS]: Define them. * lib/md5.c (md5_stream): Check for read failure and return indication of success rather than second argument. * lib/md5.h (md5_stream): Update prototype. [__P]: Define macro. * md5sum.c: Use EXIT_FAILURE and EXIT_SUCCESS. (main): Report an error if md5_stream fails. Otherwise, running `md5sum dir-on-mounted-filesystem' always reported the checksum for an empty file. Now it gets the `is a directory' error. Greg McGary (gkm@magilla.cichlid.com) reported that the released version got stuck in an infinite loop with such arguments. * lib/md5.c: New file. * lib/md5.h: New file. * md5sum.c: Rewritten to use library interface. From Ulrich Drepper. Sun Jul 16 18:42:34 1995 Jim Meyering (meyering@comco.com) * configure.in: Add AC_C_INLINE: md5sum.c uses inline keyword. Tue Jul 11 21:56:02 1995 Jim Meyering (meyering@comco.com) * md5sum.c Add #else block after #ifdef VMS. (main): Rename local variable. Detect and report failed fclose calls on stdout and checkfile_stream. * tr.c (unqote): Comment out unreachable break stmts. (append_range): Declare FIRST and LAST parameters to be unsigned int, not size_t. (find_closing_delim): Clean up interface, separating boolean success indicator and index. (find_bracketed_repeat): Likewise. (build_spec_list): Adapt to use new interfaces. Declare CLOSING_DELIM_IDX and CLOSING_BRACKET_IDX to be of type size_t, not int. (main): Declare NR and CHARS_READ to be of type long, not int. * sort.c (main): Comment out unreachable break stmt. * tail.c (tail): Explicitly cast to long the N_UNITS argumennt in call to tail_lines. Otherwise, NetBSD lost because N_UNITS (of type off_t, a 64-bit type on NetBSD) wasn't converted to the target type, long. Reported by Dan Hagerty (hag@gnu.ai.it.edu). * comm.c: Reorder functions so main is last, so no forward dcls are needed. Sun Jul 9 11:41:15 1995 Jim Meyering (meyering@comco.com) * sort.c (main): When using obsolescent +pos -pos syntax, allow omission of field spec only when character offset is specified. Otherwise, -. +. would be accepted. Sat Jul 8 13:48:06 1995 Jim Meyering (meyering@comco.com) * sort.c (main): Allow field spec, M, to be omitted in +M.N or -M.N position specification. For compatibility with existing practice (what vendors?), omitting M is now equivalent to specifying `0' for M, but only when using the +pos -pos syntax, not with the -k option. From Rick Sladkey (jrs@world.std.com). Thu Jul 6 23:44:20 1995 Jim Meyering (meyering@comco.com) * od.c (dump): Correct loop-termination criterion. Before, running `printf 1234| ./od --width=4 --read-bytes=4' printed output for 8 bytes -- the last four were garbage. This happened only when the dump limit, N, was specified (with --read-bytes=N) and N was a multiple of bytes_per_block (usually 16, but 4 in this example). From Andreas Schwab. Sun Jul 2 22:12:40 1995 Jim Meyering (meyering@comco.com) * lib/Makefile.in (check): Depend on libtu.a. * md5sum.c (split_3): Rewrite to parse Plumb/Lankester format as well. (main): Print each sum line in (de facto) standard Plumb/Lankester format. New option: --quiet. Check option no longer takes an argument. When checking, exit status reflects success. Sat Jun 24 16:18:01 1995 Jim Meyering (meyering@comco.com) * md5sum.c [__GNUC__]: Don't conditionalize use of "inline". Autoconf (via config.h) defines it away for compilers that don't grok it. * cat.c, comm.c, join.c, sort.c, uniq.c: Undefine min/max before defining to avoid redefinition warning on some systems. * csplit.c (read_input): Rename paramater MAX to MAX_N_BYTES. This avoids potential conflict with max macro from some system's header files when using bad pre-ANSI compilers. * uniq.c (usage): Fix typo in text of --help output. From Steve McConnel * md5sum.c [uint32]: When testing for 32-bit arithmetic type, also check `unsigned long', as a concession to systems with int's smaller than 32 bits. * configure.in (AC_REPLACE_FUNCS): Remove memcmp (again!) since AC_FUNC_MEMCMP already handles it. This avoids warnings from ranlib on nextstep systems. From Kaveh Ghazi. * csplit.c (interrupt_handler): Declare to have a single integer parameter. Otherwise, some compilers fail with a type mismatch error in sa_handler assignment. * fmt.c [word]: Redefine. Otherwise, systems (Unicos for one) with headers that typedef `word' get syntax errors because of the variable by the same name. * join.c [join]: Redefine to avoid conflict with prototype in some system header file. Also for Unicos. * md5sum.c (main): Remove spurious colon in getopt spec string. From Ken Pizzini . Tue Jun 20 06:59:16 1995 Jim Meyering (meyering@comco.com) * md5sum.c (md5_file): Initialize two elements of LEN portably, rather than with ANSI aggregate initialization. Reported by Edzer Pebesma . Sun Jun 18 09:15:57 1995 Jim Meyering (meyering@comco.com) * Version 1.12. * md5sum.c (process_buffer): Copy values from struct into individual local variables before performing computation on them, then copy results back into returned struct. Solely for better optimization by compilers that can't keep struct members in registers. From Ulrich Drepper. Thu Jun 15 22:09:14 1995 Jim Meyering (meyering@comco.com) * md5sum.c: Remove unnecessary uses of `defined' in #if* tests. Don't use #elif. Some older compilers don't grok it. (split_3): New function to parse out sum, flag, and filename when reading check file. (hex_digits): Remove length parameter since string parameter is now nul-terminated. (main): Don't allocate separate arrays for filename and sum when checking. Get pointers into line buffer with split_3 instead of using sscanf. (main): Treat `no file args' just like `-' when not checking or using strings. (hex_digits): Unprotoize. * md5sum.c (main): Don't use a separate loop to convert to lower case. Suggested by Ulrich Drepper. (CLOSE): New macro. (md5_file): Use it. From Ulrich Drepper. * md5sum.c: Don't include values.h. [__P]: Undefine it. * md5sum.c: [UNIX || unix]: Also test __UNIX__, __unix__, and _POSIX_VERSION. Reported by Arne H. Juul. Tue Jun 13 21:20:10 1995 Jim Meyering (meyering@comco.com) * tr.c [NDEBUG]: Define it to disable assertions. Some systems have a broken header. (is_char_class_member): Set a variable in each branch of switch stmt and return that value after the switch (rather than returning directly from every branch). (unquote): More int->size_t changes. (build_spec_list): More int->size_t changes. Be very careful about comparison now that variables are unsigned: Use i + 2 < len rather than i < len - 2. The latter didn't work for len < 2. Caught early thanks to a thorough regression test suite. Mon Jun 12 23:07:59 1995 Jim Meyering (meyering@comco.com) * sort.c (xfclose): Don't try to flush stdin, only stdout. Otherwise, at least Ultrix-4.3's fflush would return EOF. Reported by Jim Blandy (jimb@cyclic.com). * tr.c (non_neg_strtol): Don't compare signed and unsigned. [struct Spec_list] (indefinite_repeat_element): New member. Use size_t rather than int or unsigned long where reasonable. (get_spec_status): Make interface cleaner. (get_s1_spec_status): New function. (get_s2_spec_status): New function. (validate): Use new functions instead of get_spec_status. Sun Jun 11 00:39:50 1995 Jim Meyering (meyering@comco.com) * md5sum.c: New file. From Ulrich Drepper. * md5-test.rfc: New file. * Makefile.in (PROGS): Add md5sum. (check): Run a recursive make in each subdirectory. * man/Makefile.in (MANFILES): Add md5sum.1. * src/Makefile.in (SOURCES): Add md5sum.c. (OBJECTS): Add md5sum.o. (PROGS): Add md5sum. (check): Add basic checks for md5sum. (md5sum): Add dependency and link rule. (DISTFILES): Add md5-test.rfc. * tr.c (look_up_char_class, append_char_class, append_equiv_class): Use const attribute when appropriate. Sun May 28 14:48:58 1995 Jim Meyering (meyering@comco.com) * join.c: Overhauled to make -a1 and -a2 options work. Passed all tests in a fairly thorough test suite. Reported by Michael Hasselberg (mikelh@zonta.ping.de). Sat May 27 00:35:47 1995 Jim Meyering (meyering@comco.com) * tail.c (main): Remove dcl of and statements that set now-unused variable. * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h. Without this, SunOS doesn't get type for memchr. Reported by Kaveh Ghazi. Thu May 25 00:06:50 1995 Jim Meyering (meyering@comco.com) * tail.c (tail_lines): Change one more `long' to `off_t'. Otherwise, tail didn't work on NetBSD. From Arne H. Juul. * csplit.c [struct control]: Change type of `repeat' to unsigned long to avoid conversion warning. Sun May 21 07:50:00 1995 Jim Meyering (meyering@comco.com) * Makefile.in (.PHONY): TAGS is not a phony target. From Franc,ois. * xstrtol.c (__strtol): Remove prototype altogether. Move inclusion of xstrtol.h back so that it follows system headers. * Version 1.11.2. Sat May 20 06:44:14 1995 Jim Meyering (meyering@comco.com) * join.c (ADD_FIELD): Declare in K&R style, not ANSI. From Kaveh Ghazi. * xstrtol.c: Define NDEBUG for systems with losing assert.h. (__strtol): Add __unsigned to prototype and use __P. Move inclusion of xstrtol.h to precede prototype. From Kaveh Ghazi. * memmove.c: Include config.h for definition of const. From Kaveh Ghazi. * All Makefile.in (install-exec, install-exec): New targets. From Karl Berry. * tr.c (look_up_char_class): Take a string length argument -- required because the argument is a string that is *not* NUL-terminated. Use strncmp, not strcmp and add string lengths comparison. (append_char_class): Update caller. Before this change, tr '[:upper:]' '[:lower:]' read one uninitialized byte. From Andreas Schwab. * split.c (next_file_name): Move dcls of file-scope variables into this function. Don't rely on arithmetic being two's complement. * paste.c [CLOSED, ENDLIST]: Don't cast constants to FILE pointers. Instead, declare two FILE structs and use their addresses. * csplit.c (record_line_starts): Remove set-but-not-used, file-scope variable. Sat May 13 08:57:20 1995 Jim Meyering (meyering@comco.com) * all source files (usage): Include one- or two-line synopsis in --help output. From Karl Berry. * lib/Makefile.in [.c.o]: Remove -I. since safe-l?stat.h are no longer used. Wed May 10 22:26:35 1995 Jim Meyering (meyering@comco.com) * Version 1.11.1 Sun May 7 13:35:49 1995 Jim Meyering (meyering@comco.com) * all Makefile.in (maintainer-clean): Renamed from realclean per GNU Standards. Thu May 4 23:15:58 1995 Jim Meyering (meyering@comco.com) * sort.c (main): Use stat, not safe_stat. The latter was unnecessary. Don't include safe-stat.h. * lib/Makefile.in (DISTFILES): Remove safe-xstat.hin. Remove all associated rules. safe-l?stat.h are no longer used. * sort.c Don't hard-code /tmp. [DEFAULT_TMPDIR]: Use this instead. * tac.c (save_stdin): Likewise. * sort.c (set_ordering): Properly parse arguments like `+x.yn'. Reported by John Salmon (johns@mullet.anu.edu.au). Patch from Mike Haertel. Wed Apr 26 23:48:13 1995 Jim Meyering (meyering@comco.com) * sort.c (tempname): AND-off high bits of pid so that its decimal string representation is no longer than five digits. From Hans Verkuil (hans@wyst.hobby.nl). Thu Apr 20 23:09:33 1995 Jim Meyering (meyering@comco.com) * expand.c (add_tabstop): Give correct size when reallocating tab_list buffer. From Geoff Odhner (geoff@franklin.com). Reproduce with expand --t=`perl -e "print join (',', (1..300));"`. Tue Apr 18 22:57:43 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_OUTPUT): Use echo, not date, to avoid creating unnecessary conflicts for people using version control software like RCS and CVS. (AC_ARG_PROGRAM): Use it. Thu Apr 13 23:22:57 1995 Jim Meyering (meyering@comco.com) * head.c: Remove block of redundant comments describing options. (usage): Remove reference to -l option. It's not valid. * od.c (write_block): Declare index I as unsigned int, not int. (get_lcm): Likewise. (dump_strings): Likewise. (main): Likewise. (dump): Cast BYTES_PER_BLOCK to off_t in MIN expression. (dump_strings): Declare bufsize to be of type size_t, not int. * split.c (next_file_name): Don't reuse X as an index. Declare new variable I instead. Sat Mar 25 15:07:23 1995 Jim Meyering (meyering@comco.com) * csplit.c: Declare as `unsigned int' all variables that were just `unsigned'. (make_filename): Change type of arg to unsigned int. (split_file): Change type of indices to unsigned int. Thu Mar 16 22:05:05 1995 Jim Meyering (meyering@comco.com) * od.c (main): Detect and fail when argument to -N is too large to fit in an off_t. Sun Mar 12 12:02:39 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_REPLACE_FUNCS): Add memcmp.c. Remove check for sizeof long. * linebuffer.h: Undefine __P before defining it. * long-options.h: Likewise. * xstrtol.h: Likewise. * memcpy.c: New file. * lib/Makefile.in (SOURCES): Add memcpy.c. Fri Mar 10 21:14:11 1995 Jim Meyering (meyering@comco.com) * src/*.c: Update Copyright dates. Sat Feb 11 07:31:08 1995 Jim Meyering (meyering@comco.com) * system.h: Remove index/rindex and bcmp/bcopy/bzero references. Separate errno declaration from STDC_HEADERS. * wc.c (wc): For efficiency, handle separately the cases in which words need not be counted. Suggested by Karl Heuer. * wc.c (wc): Don't overcount the number of bytes when reading from a regular file on stdin with file pointer not at BOF. From Karl Heuer . Before, the command `(dd ibs=99k skip=1; wc -c) < /etc/group' made wc wrongly output the size of the file. Now it outputs `0'. Sat Jan 28 07:07:23 1995 Jim Meyering (meyering@comco.com) * cat.c (cat): Use memmove rather than bcopy. * csplit.c (load_buffer): Use memcpy rather than bcopy. (extract_regexp): Use strrchr, not rindex. * fmt.c (isopen, isclose, isperiod): Use strchr, not index. (flush_paragraph): Use memmove instead of bcopy. * fold.c (fold_file): Use memmove instead of bcopy. * od.c (decode_format_string): Use memmove instead of bcopy. [EQUAL_BLOCKS]: Use memcmp, not bcmp. (parse_old_offset): Use strchr, not index. (dump): Use memset, not bzero. * sort.c (checkfp, mergefps): Use memcpy instead of bcopy. (fillbuf): Use memmove instead of bcopy. * split.c (main): Use memset, not bzero. (line_bytes_split): Use memmove instead of bcopy. * tac.c (tac): Use memmove instead of bcopy. (output): Use memcpy instead of bcopy. * tail.c (pipe_lines, pipe_bytes): Use memcpy instead of bcopy. * tr.c (substr): Use memcpy instead of bcopy. (card_of_complement, set_initialize): Use memset, not bzero. * tr.c (substr): Don't allocate a byte for trailing NUL in result since the result needn't be NUL-terminated. Don't NUL terminate it. * configure.in (AC_REPLACE_FUNCS): Check for memmove and memcpy, not bcopy. (AC_CHECK_FUNCS): Add strchr and strrchr. * lib/Makefile.in (SOURCES): Add memmove.c and memcpy.c. * memmove.c: New file. * memcpy.c: New file. Tue Jan 24 22:18:19 1995 Jim Meyering (meyering@comco.com) * fmt.c (copy_rest): Replace `||' with `&&'. Before, a paragraph not followed by a newline would be followed by data copied from uninitialized storage. Repeat by `printf abc|fmt|od -ac'. Reported by Franc,ois Pinard. * od.c: Rename macros with FP_ prefix. Use FLOAT_ instead. AIX-2.2.1 declares a typedef, FP_DOUBLE, that conflicted. Be careful to use off_t instead of explicit `unsigned long'. Otherwise, systems like 4.4BSD lose on calls to fseek that expect off_t (which is long long on that system). (parse_old_offset): Use xstrtoul (main): Likewise. * src/Makefile.in (od.o, tail.o): Depend on ../lib/strtol.h. Mon Dec 19 22:13:55 1994 Jim Meyering (meyering@comco.com) * tail.c (numerous functions): Give char* filename arguments the const attribute. * lib/Makefile.in (SOURCES): Remove xwrite.c. It was no longer used. Add xstrtol.c and xstrtoul.c. (OBJECTS): Likewise for .o files. (DISTFILES): Add error.h and xstrtol.h and xstrtoul.h. * lib/Makefile.in (DISTFILES): Remove safe-xstat.cin. (distclean): Remove references to safe-l?stat.c. Remove all related rules and dependencies. * src/Makefile.in: $(OBJECTS): Depend on ../lib/error.h. Thu Dec 15 23:14:04 1994 Jim Meyering (meyering@comco.com) * tail.c (tail_file): Fix call to error with %s in format, but no corresponding argument. * src/*.c: Include "error.h" instead of simply declaring `void error ();'. * od.c (main): Use %lu, not %d for unsigned long. (my_strtoul, uint_fatal_error): Remove functions. Use xstrtoul and STRTOL_FATAL_ERROR instead. Sun Dec 11 17:24:09 1994 Jim Meyering (meyering@comco.com) * sort.c (main): Fix interpretation of field offsets when specified via -k option. They were being interpreted as zero-indexed. POSIX says they are 1-based indices. From Rik Faith . (keycompare): Don't ignore characters at the end of words when otherwise they would compare equal. From Rik Faith. * tail.c (): Change the type of n_units/n_lines/n_bytes to off_t because n_bytes is used as the option to fseek and off_t may be long long (e.g. on BSD4.4). The only place where a 32-bit limit is imposed is in the string-to-integer converstion of xstrtol. (main): Use xstrtol instead of manual string to integer conversion. * csplit.c (get_format_width, get_format_prec): Use ISDIGIT instead of comparisons against '0' and '9'. * tr.c [!ULONGMAX]: Define it. [!LONGMAX]: Define in terms of ULONGMAX instead of as a 32-bit constant. * full-write.c: Declare (or not) errno based on definedness or errno, not STDC_HEADERS. * safe-read.c: Likewise. * xwrite.c: Likewise. Thu Nov 17 06:37:33 1994 Jim Meyering (meyering@comco.com) * tail.c (dump_remainder): Flush standard output just before sleeping so that `tail -f' will output partial lines sooner. This applies only when following the end of a single file. From Leonard N. Zubkoff . * tail.c (file_lines, pipe_lines, pipe_bytes, start_bytes, start_lines, dump_remainder): Use STDOUT_FILENO instead of `1' in XWRITE calls. * tac.c (output): Use STDOUT_FILENO instead of `1' in xwrite call. * system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Define if not already defined. Wed Nov 16 07:01:38 1994 Jim Meyering (meyering@comco.com) * tr.c: Include instead of "getopt.h". * sort.c (tempname): Merge two very similar sprintf stmts into one. * tail.c: Use BUFSIZ instead of BUFSIZE. * cut.c: Declare DELIM to be `int' rather than unsigned char. * fmt.c: Use index, not strchr -- per GNU Standards. Reported by Kaveh Ghazi. Always include . (main): Include program name in --version output. Sun Nov 06 00:17:21 1994 Jim Meyering (meyering@comco.com) * Version 1.11. Sat Nov 05 15:14:44 1994 Jim Meyering (meyering@comco.com) * memcmp.c, srtoul.c: Use up-to-date versions. Reported by Franc,ois Pinard. * src/Makefile.in (DEFS): Remove -Dlint... again. * src/Makefile.in (PROGS): Add fmt! Reported by Andreas Stolcke (stolcke@ICSI.Berkeley.EDU). Fri Nov 04 17:26:16 1994 Jim Meyering (meyering@comco.com) * Version 1.10. Thu Nov 03 23:23:08 1994 Jim Meyering (meyering@comco.com) * linebuffer.h: Use __P instead of _P since the latter conflicts with a definition in some . From Kaveh Ghazi. Wed Nov 02 17:36:34 1994 Jim Meyering (meyering@comco.com) * tr.c: Add const attribute where appropriate. * tail.c (BUFSIZ): Use definition from . Tue Nov 01 23:54:09 1994 Jim Meyering (meyering@comco.com) * tail.c (XWRITE): Allow n_bytes == 0 but call fwrite only if n_bytes is positive. Turn off assertions. `tail /dev/null' was getting a failed assertion. Reported by Doug McLaren (dougmc@comco.com). * cut.c (cut_bytes): Print at least a newline for every line of input. (cut_fields): Print a newline even for lines whose only selected field is empty. But print nothing when using -s without -f1. And print nothing for empty input. Reported by Richard_Sharman@software.mitel.com. Tue Nov 01 06:05:23 1994 Jim Meyering (meyering@comco.com) * fmt.c: Change #ifdef __STDC__ to #if defined (__STDC__) && __STDC__. * linebuffer.h: Likewise. Mon Oct 31 06:53:32 1994 Jim Meyering (meyering@comco.com) * configure.in (AC_REPLACE_FUNCS): Remove memcmp since AC_FUNC_MEMCMP already handles it. From Kaveh Ghazi. * {lib,src}/Makefile.in (DEFS): Don't use -Dlint. Some systems get failures when it's defined. From Kaveh Ghazi. * cat.c (cat): Conditionalize test for errno == ENOSYS. It's not defined on some Next and Alliant systems. From Kaveh Ghazi. * sort.c join.c (main): Include version.h and call parse_long_options with the proper number of arguments. Reported by Franc,ois Pinard. Sun Oct 30 01:30:41 1994 Jim Meyering (meyering@comco.com) * (configure.in): Add AC_OFF_T and rearrange by type along the same lines as autoscan. * fmt.c, fmt.1: New files. Both from Ross Paterson (rap@doc.ic.ac.uk). * Makefile.in (PROGS): Add fmt. * src/Makefile.in (SOURCES, OBJECTS): Add fmt.c and fmt.o respectively. (fmt): Add a link rule. * man/Makefile.in (MANFILES): Add fmt.1. Sat Oct 08 10:44:30 1994 Jim Meyering (meyering@comco.com) * Makefile.in (All of them): Update from the ones in sh-utils. From now on, rules and definitions that are comon to the fileutils, textutils, and sh-utils will get ChangeLog entries only in the sh-utils. Tue Oct 04 20:42:46 1994 Jim Meyering (meyering@comco.com) * od.c (my_strtoul): Set errno to zero before calling strtoul. Otherwise, od can fail complaining about a valid integer argument. From Andreas Schwab. Sun Oct 02 17:57:09 1994 Jim Meyering (meyering@comco.com) * tr.c (main): Give an error and fail when squeezing repeats and no non-options are given. Reported by Tony Robinson (ajr@eng.cam.ac.uk). * sort.c (main): Temporarily copy each input file that might be another name for the output file. When in doubt (e.g. a pipe), copy. This allows the dangerous (historical -- in cnews) idiom `cat file | sort -o file' to work properly. Don't rely on this behavior in new shell scripts. From Paul Eggert (eggert@twinsun.com). Mon Sep 26 18:01:47 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * lib/xwrite.c safe-read.c memchr.c linebuffer.c full-write.c: Remove CONFIG_BROKETS ifdef. * src/Makefile.in lib/Makefile.in: Don't define it. Sat Sep 24 21:26:27 1994 Jim Meyering (meyering@comco.com) * full-write.c (full_write): Declare argument LEN to be size_t. Mon Sep 12 13:35:27 1994 Jim Meyering (meyering@comco.com) * tail.c (tail_file): [For multiple files only]: Report truncation of monitored file and reset current file size. From Franc,ois Pinard. Sat Aug 27 16:57:20 1994 Jim Meyering (meyering@comco.com) * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's. From Franc,ois Pinard. Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com) * system.h: Remove `|| defined(_POSIX_VERSION)' from test that decides whether to include . From Francois Pinard. Wed Jul 13 12:33:34 1994 Jim Meyering (meyering@comco.com) * tr.c (substr): Fix off-by-one allocation error. Wed Jun 22 01:02:50 1994 Jim Meyering (meyering@comco.com) * tac.c (tac_file): Use O_RDONLY instead of zero in call to open. (tac): Fix typo that had `1' as arg #2 of error after failed read. Use errno instead. From Michael I Bushnell . Thu May 26 08:46:32 1994 Jim Meyering (meyering@comco.com) * configure.in [INSTALL]: Revert change of March 25. autoconf has been fixed. Mon Apr 11 17:25:43 1994 Jim Meyering (meyering@comco.com) * join.c (prline): Remove unused function. Indent. Fri May 6 05:44:24 1994 Jim Meyering (meyering@comco.com) * tail.c (tail_forever): Don't print headers when asked not to. From Karsten Thygesen . * wc.c (wc): Optimize for the case when only bytes are being counted and the input is not a regular file. From Jeff Moore . Sun Apr 24 10:54:08 1994 Jim Meyering (meyering@comco.com) * configure.in [AC_SIZEOF_TYPE]: Update for autoconf-1.9. * memchr.c: Test SIZEOF_LONG instead of LONG_64_BITS. Mon Apr 11 17:55:52 1994 Jim Meyering (meyering@comco.com) * csplit.c (struct control): Add new field, repeat_forever. Remove now-unneeded definition of INT_MAX. (process_regexp): Test repeat_forever instead of comparing `repeat' to INT_MAX. (split_file): Don't even reference `repeat' count if repeat_forever is set. (new_control_record): Initialize repeat_forever field. (parse_repeat_count): Set it instead of setting repeat count to INT_MAX. (process_line_count): Abort for internal error instead of calling handle_line_error. * long-options.c (parse_long_options): Take a new argument indicating the utility name (e.g. "join", not "gjoin") for version output. Print both the utility and the package names, e.g. `join - GNU textutils-1.9.1' instead of just the package name. * join.c (main): Call parse_long_options with program name arg. * sort.c (main): Ditto. * All source except sort.c and join.c (main): Change --version output to include utility name as well as package name and version info. Wed Mar 30 08:53:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_SET_MAKE. * Makefile.in: Edit MAKE assignments into @SET_MAKE@. Mon Mar 28 09:55:05 1994 Jim Meyering (meyering@comco.com) * tr.c (main): In addition to the --help usage pointer, give an explicit error message for too many arguments. Fri Mar 25 18:11:19 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead of explicit echo commands. [INSTALL]: When AC_PROG_INSTALL resorts to setting this to `./install.sh', make it `../install.sh' instead since that script will be invoked only from subdirectories. [AC_SIZEOF_TYPE]: Use this instead of deprecated AC_LONG_64_BITS. * cat.c (cat): The command `:|cat -s' failed on Irix5 because ioctl (d, FIONREAD,... now returns ENOSYS for pipes -- under Irix4 it returned EINVAL. Detect this. (main) [lint]: Initialize variables to suppress `used before initialized' warnings. * csplit.c: Change long option name from --suffix to --suffix-format. * od.c (skip): Correct a comment. (main): Don't output anything to stdout if the sole input file doesn't exist. Reported by Bauke Jan Douma . * od.c (dump) [lint]: Initialize a variable to suppress `used before initialized' warning. (main) [lint]: Ditto. * paste.c (paste_parallel) [lint]: Ditto. Fri Jan 28 11:02:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Don't set LDFLAGS since linking now uses both LDFLAGS and CFLAGS. Wed Jan 18 16:14:00 1994 Jim Meyering (meyering@comco.com) * unexpand.c (unexpand): Don't segfault when given a name of a nonexistent file. * expand.c (expand): Ditto. Both from Bauke Jan Douma . Thu Jan 13 17:27:38 1994 Jim Meyering (meyering@comco.com) * src/Makefile.in: Change all link commands to use both $(CFLAGS) and $(LDFLAGS). * csplit.c (load_buffer): Rather than incrementing buffer size, double it each time we fail to find a newline. Otherwise, csplit would run out of memory when processing files with very long lines. Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com) * man/Makefile.in (manprefix): Use binprefix as the default. Sat Jan 08 22:22:45 1994 Jim Meyering (meyering@comco.com) * cat.c: Use full_write and safe_read instead of write and read resp. * csplit.c: Ditto. * head.c: Ditto. * split.c: Ditto. * tac.c: Ditto. * sum.c: Use safe_read instead of read. * tr.c: Ditto. * wc.c: Ditto. * tail.c: Replace calls to xwrite with calls to fwrite. Use fopen/fclose instead of open/close. (write_header): Use a single call to printf instead of four to xwrite. Use safe_read instead of read. * head.c: Ditto. Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com) * install.sh: New file. Makefile.in [DISTFILES]: Add it. Wed Dec 22 18:52:44 1993 Jim Meyering (meyering@comco.com) * memcmp.c: Use the latest version from the GNU C library. * cut.c [ADD_RANGE_PAIR]: New macro. (set_fields): Collect the list of all selected ranges before allocating and initializing the boolean lookup table. (cut_bytes, cut_fields): Complete rewrite. Avoid copying into buffer whenever possible. Properly handle input without trailing newline. (getstr): New function. Copied from getline.c, but with minor changes. * sort.c (main): Properly handle -Tdir. Before, `sort -T/var/tmp' gave `sort: unrecognized option `-v''. Reported by Kristoffer Rose (kris@diku.dk). * cut.c (main): Give separate errors for `-s without -f' and `-d without -f'. (main): Now -d '' means `use the NUL byte as the delimiter'. Before, it got an error. Mon Dec 20 23:29:30 1993 Jim Meyering (meyering@comco.com) * configure.in [test for 8-bit clean memcmp]: Add a test to detect losing memcmp from SunOS4.1.x. From Robert H. de Vries . Sat Dec 18 01:12:24 1993 Jim Meyering (meyering@comco.com) * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg so it goes in config.status. This eliminates unnecessary second run of configure. Thu Dec 02 23:53:03 1993 Jim Meyering (meyering@comco.com) * configure.in (AC_HAVE_FUNCS): Add isascii. * system.h [!defined (isascii) || defined (STDC_HEADERS)]: This failed on AIX PS/2 1.3 systems because isascii is a function and it is used in definitions (with the necessary side effect of assigning to a global variable) of the is* macros. Also test HAVE_ISASCII and redefine ISASCII(c) instead of isascii. Reported by Minh Tran-Le (tranle@intellicorp.com). Fri Nov 19 22:41:48 1993 Jim Meyering (meyering@comco.com) * configure.in: Don't run the test for 8-bit clean memcmp if we already know we'll be using our replacement. Fri Nov 12 00:44:49 1993 Jim Meyering (meyering@comco.com) * Version 1.9.1. * tac.c (usage): Fix typo in long usage. * sort.c (usage): Likewise. From Philippe.Schnoebelen@imag.fr. * cut.c [FATAL_ERROR]: New macro. (main): Call both error and usage (2) through FATAL_ERROR in many places. Before, only `error (2...' was called. (invalid_list): Removed. This function is subsumed by FATAL_ERROR. * cut.c (cut_fields): Properly handle input lacking a terminating newline. Before, the command `printf "a\tb" |cut -f 1' generated no output. Tue Nov 09 17:26:25 1993 Jim Meyering (meyering@comco.com) od.c (usage): Change --backward-compatible to --traditional in the long usage message. Sun Nov 07 00:50:05 1993 Jim Meyering (meyering@comco.com) * Version 1.9. Sat Nov 06 22:51:31 1993 Jim Meyering (meyering@comco.com) * cut.c (cut_fields): Revert July 27 change. Instead, strip off trailing delimiter unless given a range of fields like `3-' that extends to end of line. (set_fields): Moved local `eol_range_start' to file-scope. Reported by Arne H. Juul (arnej@solan.unit.no). Tue Nov 02 00:53:41 1993 Jim Meyering (meyering@comco.com) * fold.c (fold_file): Don't get stuck in an endless loop when width is smaller than 8 and there are TABs in the input. Sat Oct 30 15:31:28 1993 Jim Meyering (meyering@comco.com) * join.c: Remove now-unused dcls of show_help and show_version. Fri Oct 29 13:58:50 1993 Jim Meyering (meyering@comco.com) * csplit.c [INT_MAX]: Make sure it's defined. [not HAVE_LIMITS_H]: Don't include limits.h. From Kaveh R. Ghazi (ghazi@noc.rutgers.edu). Wed Oct 27 01:13:52 1993 Jim Meyering (meyering@comco.com) * Version 1.8.1. Mon Oct 25 20:16:33 1993 Jim Meyering (meyering@comco.com) * sort.c: Accept but ignore -y0 for compatibility with Solaris 2. From Chuck Hedrick (hedrick@klinzhai.rutgers.edu). * sort.c (main): Handle --help and --version options. * Makefile.in (sort.o): Depend on long-options.h. Sun Oct 24 00:31:02 1993 Jim Meyering (meyering@comco.com) * csplit.c, cut.c, expand.c, fold.c, head.c, nl.c, od.c, paste.c, split.c, tac.c, tail.c, unexpand.c, uniq.c: Use the preferred `--longopt=arg' syntax in --help message rather than `--longopt arg'. From Francois Pinard. * tail.c: Don't include . It hasn't been necessary since the Dec 12, 1992 change. * join.c (main): Accept `-v 1' again. Adding the --version long option had broken it, although -v1 still worked. Call parse_long_options instead of adding "help" and "version" to join's longopt strct. * Makefile.in [SOURCES, OBJECTS, DISTFILES]: Add long-options.c and long-options.h. * (join): Depend on and link with long-options.o. * (join.o): Depend on long-options.h. * od.c: Change --compatible (-C) to --backward-compatible (-B). * csplit.c: Change --abandon-null-files to --elide-empty-files. Sat Oct 23 01:00:12 1993 Jim Meyering (meyering@comco.com) * tr.c (get_next, string2_extend): Add default: label to switch stmt. * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fold.c, head.c, join.c, nl.c, od.c, paste.c, pr.c, split.c, sum.c, tac.c, tail.c, tr.c, unexpand.c, uniq.c, wc.c (usage): Add long --help. Exit successfully for --help, non-zero for usage error. From Francois Pinard. * configure.in: Add AC_STAT_MACROS_BROKEN. * system.h [AC_STAT_MACROS_BROKEN]: Test it. Fri Oct 22 23:26:17 1993 Jim Meyering (meyering@comco.com) * linebuffer.c, memchr.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". * cat.c, cksum.c, comm.c, csplit.c, cut.c, expand.c, fold.c, head.c, join.c, nl.c, od.c, paste.c, pr.c, sort.c, split.c, sum.c, tac.c, tail.c, tr.c, unexpand.c, uniq.c, version.c, wc.c: Ditto. * configure.in: Use AC_CONFIG_HEADER. * Makefile.in [DIST]: Add config.h.in. * Makefile.in: Convert so make may be run from subdirectories. Add dependencies on config.h. * src/Makefile.in: Ditto. * lib/Makefile.in: Ditto. * man/Makefile.in: Ditto. Wed Oct 20 20:05:48 1993 Jim Meyering (meyering@comco.com) * memchr.c (memchr): Do the 32-bit assignment only if !LONG_64_BITS. In the 64-bit assignment, be careful to cast the shift operand to long. Abort if sizeof (unsigned long) > 8. Tue Oct 19 22:37:58 1993 Jim Meyering (meyering@comco.com) * csplit.c: Allow repeat counts to be specified via `{*}'. New option --suffix=format. Supercedes --digits option. New option --abandon-null-files. From Ronald F. Guilmette (rfg@netcom.com). * csplit.1: Updated. From Ronald F. Guilmette. * csplit.c: Remove register keyword (replace with `int' in two cases). * csplit.c: [MAX]: Macro renamed from max and moved to top of file. (bytes_to_octal_digits): New static array. (get_format_flags): Combine '+' and ' ' cases of switch stmt. Return count if for loop terminates. (get_format_width): Use `bytes_to_octal_digits' instead of just 11. (get_format_prec): Make sure is_negative is defined before used. (get_format_conv_type): Give a different error message if there is no conversion specifier. Test ISPRINT (ch) instead of `ch < '~' && ch > ' ''. (max_out): Use `%%' rather than `%' in format string. Sat Oct 16 10:45:17 1993 Jim Meyering (meyering@comco.com) * pr.c (main): When argc == 1, don't try to xmalloc (0). Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com) * xwrite.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". Sat Oct 09 23:37:43 1993 Jim Meyering (meyering@comco.com) * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS. Thu Sep 9 21:52:10 1993 Jim Meyering (meyering@comco.com) * src/*.c: Print version on standard output, not stderr. * configure.in: Add AC_LONG_64_BITS. * memchr.c: Use #ifdef LONG_64_BITS instead of `if (sizeof(longword) > 4)'. Tue Jul 27 22:19:39 1993 Jim Meyering (meyering@comco.com) * cat.c (cat): Don't fail just because ioctl (d, FIONREAD,... can't always handle devices. Ignore errno == EINVAL and errno == ENODEV. `cat -v /dev/null' was failing on many systems. * cut.c (cut_fields): Don't strip off trailing delimiter e.g. `echo 'a:b:c:' | cut -d: -f3-' should print `c:', not just `c'. From William Dowling . Thu May 27 01:37:51 1993 Jim Meyering (meyering@comco.com) * Version 1.8. * memchr.c: De-ansify the fixed version from glibc. It is supposed to work on systems with 64-bit long ints. Mon May 24 00:32:43 1993 Jim Meyering (meyering@comco.com) * Version 1.7. Sat May 22 02:13:12 1993 Jim Meyering (meyering@comco.com) * Version 1.6. Fri May 21 22:57:53 1993 Jim Meyering (meyering@comco.com) * pr.c (cols_ready_to_print): New function. It replaces a global variable by the same name and computes on the fly the value that was supposed to be maintained through that variable. This should put to rest the `pr -2a' bug. (main): Don't let getopt_long reorder arguments so we can distinguish between `pr -1 -2' and `pr -12'. Rework handling of -n and +n options. * fold.c: Declare xmalloc. Wed May 19 19:12:18 1993 Karl Berry (karl@owl.hq.ileaf.com) * sort.c (main): fflush before exit, so a closed stdout doesn't lose. Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com) * mkinstalldirs: New file. * Makefile.in (installdirs): Use it to create installation directories. Fri May 14 23:45:52 1993 Jim Meyering (meyering@comco.com) * all source: With --version, print version and exit immediately. Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com) * Makefile.in (installdirs): New rules for creating installation directories. (install): depend on it. * tail.c (main): Remove --compatible since `+1f' may be used to get the BSD `-0f' behavior portably. * fold.c (main): Turn -N arguments, where N is a digit, into -wN. From Ian Lance Taylor (ian@cygnus.com). Mon May 10 22:33:44 1993 Jim Meyering (meyering@comco.com) * tail.c (main): New option -C, --compatible to make `tail -0f' work like `tail +1f' for compatibility with BSD tail. Thu May 6 23:28:56 1993 Jim Meyering (meyering@comco.com) * pr.c (print_page): Decrement cols_ready_to_print even when lines_to_print == 0. The command `echo |pr -2ta' *still* didn't terminate. Add parentheses for clarity. Mon May 3 23:57:47 1993 Jim Meyering (meyering@comco.com) * Version 1.5. * od.c (main): Remove set-but-not-used variable, `usage_error'. * split.c (main): Call usage with an argument. Sun May 2 16:05:04 1993 Jim Meyering (meyering@comco.com) * configure.in: Reverse if-else branches in AC_TEST_PROGRAM test for 8-bit clean memcmp. * cat.c (usage, main): Remove unused argument. * csplit.c (remove_line): Remove set-but-not-used variable, `line_got.' (check_for_offset): Remove unused argument `argnum.' * configure.in: Add AC_SIZE_T. Sat May 1 09:03:19 1993 Jim Meyering (meyering@comco.com) * uniq.c (main): Interpret non-option arguments with a leading `+' only if we haven't seen `--'. * tr.c (main): Change variable name to avoid shadowed dcl. * wc.c (write_counts): Ditto. * sum.1: Make documentation agree with the code. * od.c: Depend only on HAVE_LONG_DOUBLE for long double support. Fri Apr 30 20:16:03 1993 Jim Meyering (meyering@comco.com) * configure.in [AC_HAVE_HEADERS]: Add limits.h. * configure.in [CFLAGS, LDFLAGS]: Assign reasonable defaults. * od.c (parse_old_offset): Don't use prototype in function definition. Remove unnecessary conjunct from test for hexadecimal prefix. * od.c: Depend on __GNUC__ || HAVE_LONG_DOUBLE rather than __STDC__ for long double support; there are compilers (Stardent Vistra svr4) without long double but still define __STDC__. Thu Apr 29 02:01:27 1993 Jim Meyering (meyering@comco.com) * src/*.c and man/*.c except for sort: Add --help and --version options. * pr.c: Convert to use getopt_long. * lib/memcmp.c: Use version from glibc. [WORDS_BIGENDIAN]: Test this instead of the using glibc's __BYTE_ORDER macro. * configure.in: Use AC_WORDS_BIGENDIAN to set it. * od.c (parse_old_offset): Allow `0X' as well as `0x' prefix to indicate hex. * Makefile.in (dist): Depend on Makefile so that changes to Makefile.in (like adding new files to DISTRIB) are reflected in the new distribution. Fri Apr 23 21:53:47 1993 Jim Meyering (meyering@comco.com) * {lib,src}/Makefile.in [.c.o]: Make CPPFLAGS and CFLAGS follow other options so users can use them to override DEFS. * src/Makefile.in [.c.o]: Add -I$(srcdir) for version.h. * Makefile.in [CFLAGS, LDFLAGS]: Don't set to -g explicitely; configure's AC_SUBST will set these. * Makefile.in [Makefile]: Add dependencies and a rule to remake it. [targets that cd then run make in subdirectories]: Don't depend on `cd ..'; use a subshell instead. * Makefile.in [info, install-info, dvi, check, installcheck]: New targets but no rules; comply with standards. * configure.in [CFLAGS]: Default to -g -O if CC is gcc and the user hasn't specified CFLAGS. [LDFLAGS]: Substitute into Makefile. Tue Mar 30 21:36:11 1993 Jim Meyering (meyering@comco.com) * od.c: New option --compatible, -C. (parse_old_offset): New function. * od.1: Document new option. Mon Mar 29 21:27:56 1993 Jim Meyering (meyering@comco.com) * cut.c, expand.c, join.c, nl.c: Always call error with errno (not zero) after failed fclose or non-zero ferror. Sun Mar 28 16:59:31 1993 Mike Haertel (mike@cs.uoregon.edu) * configure.in: Add check for working memcmp; use GNU's if the system's doesn't grok the 8th bit. * memcmp.c: Fix it so it groks the 8th bit. TODO: We really need to provide a fast memcmp, since most machines will have a broken memcmp. Probably should get the one from glibc. * sort.c (mergefps): Maintain keybeg and keylim when copying the current line to `saved'. (numcompare): Skip white space here since -n no longer implies -b. (getmonth): Skip white space here since -M no longer implies -b. (compare): Completely overhauled to make the 8th bit work right, also to properly handle the global reverse option. (set_ordering): -n no longer implies -b, according to Posix. For consistency, -M also no longer implies -b. (main): Correct treatment of -r and global keys. (findlines): Clear keybeg and keylim if no keys are used. (sort): Avoid overwriting tempfiles[] array bounds. Sun Mar 21 22:29:29 1993 Jim Meyering (meyering@comco.com) * pr.c (close_file): Reverse May 13, '92 change, but add the condition that cols_ready_to_print not be decremented when printing across. The command `echo |pr -2ta' didn't terminate. (print_page): Rewrite conditional (that had side effects in second conjunct) using nested if statements to make it clear that we do indeed want those semantics. Tue Jan 19 13:35:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * Version 1.4. * system.h: Try BBSIZE if BSIZE isn't defined. From Tony Robinson . Sat Dec 12 12:37:00 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * tail.c (tail_forever): Use an array of file descriptors instead of forking processes. (dump_remainder): Return number of bytes read. (tail_file): Fill in the new array. From Ian Lance Taylor. Fri Dec 11 17:18:16 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * system.h: Only define index, bcmp, etc. if not already defined. Tue Dec 8 10:31:14 1992 Jim Meyering (meyering@idefix.comco.com) * tr.c (is_char_class_member): Remove unreached return after abort. Sun Dec 6 22:34:52 1992 Jim Meyering (meyering@idefix.comco.com) * csplit, cut.c, expand.c, fold.c, head.c, join.c, od.c, pr.c, sort.c, split.c, tail.c, tr.c, unexpand.c, uniq.c: Remove inclusion of and definitions of is* ctype macros to system.h. Change a few more uses of is* ctype macros to (protected) upper case versions. * system.h: Add isascii-protected ctype IS* macros. Wed Dec 2 12:28:10 1992 Jim Meyering (meyering@idefix.comco.com) * all files using getopt.h: Convert static declarations of struct option to use new macros from getopt.h: no_argument, required_argument, and optional_argument. Tue Dec 01 10:57:24 1992 Jim Meyering (meyering@idefix.comco.com) * od.c, pr.c, sort.c: Make uses of ctype.h macros consistent. * tr.c (main): Close stdin and stdout and check return status. Tue Nov 24 09:26:08 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * system.h, csplit.c: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG. Tue Nov 24 08:42:30 1992 Jim Meyering (meyering@idefix.comco.com) * tr.c: Define new macros ISPRINT, ISALNUM, ISXDIGIT, ... that use isascii if it is defined. (is_char_class_member, make_printable_char, make_printable_str, non_neg_strtol): Use new macros instead of lower case ones from . * od.c (print_ascii, dump_strings): Use ISDIGIT and ISPRINT macros like pr.c. Suggested by David J. MacKenzie. * od.c (print_ascii, dump_strings): Check for isascii before isprint. (dump_strings): Free malloc'd buffer before returning. (skip): Return non-zero if an error occurred, zero otherwise. Exit only if asked to skip beyond end of combined input. (check_and_close): New function. (skip, read_block, read_char): Call check_and_close when done processing the file associated with in_stream. (skip, read_block, read_char): Set have_read_stdin. (main): Close stdin (if it was ever read) and check for errors just before exiting. (write_block, dump_strings, dump): Don't test return value from functions that operate on streams. Rely on later ferror tests. Sat Nov 21 12:41:49 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * sort.c (main, usage): Add -T option. Thu Nov 19 14:33:40 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * tail.c (tail_forever, sigusr1, kill_kids): New functions to do -f on multiple files. (main): Call tail_forever. From Ian Lance Taylor. Tue Nov 10 14:29:11 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * cut.c (cut_fields): Add cast. * od.c (decode_one_format): Remove '#' from pre_fmt_string; many systems don't support it. Conditionalize long double support on __STDC__, not __GNUC__. From Ian Lance Taylor. Mon Nov 9 00:24:41 1992 Jim Meyering (meyering@idefix.comco.com) * sort.c (numcompare, keycompare): Add parentheses suggested by gcc -Wall. Put braces around individual monthtab initializers. * cksum.c: Declare error. Make checksum table `const.' * pr.c: Remove comment and dcl of unused variable, `print_a_number'. * split.c (main): Add `default: abort();' to enumeration switch. * All files: Make all functions and extern variables static. Make all longopts arrays const as well as static. Make a couple statically initialized aggregates `const.' Sun Nov 8 19:46:59 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * od.c (main): Make old-style format options accumulate. From Jim Meyering. Sat Nov 7 00:26:14 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * tr.c (look_up_char_class): Add cast. * nl.c (build_type_arg), csplit.c (extract_regexp), tac.c (main): Add `const' to variable receiving value from re_compile_pattern. * wc.c (wc): If doing only -c, use st_size for regular files. * fold.c (fold_file): Was folding 1 column too early. From Eric Backus . * memset.c: New file. Fri Nov 6 20:14:51 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * cksum.c: New file. Tue Oct 13 16:24:06 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * tac.c (tac_stdin): Handle SIGPIPE. * sort.c (main): Handle SIGTERM. * od.c: New file. * system.h [USG || STDC_HEADERS]: Define bcmp. Sat Oct 3 20:41:24 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * sort.c (main): Handle SIGPIPE. From trq@dionysos.thphys.ox.ac.uk. Tue Sep 29 01:10:05 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * paste.c (main): Don't write on a string constant. Mon Aug 24 00:02:45 1992 Jim Meyering (meyering@churchy.gnu.ai.mit.edu) * tr.c: Minor cleanup. Replaced some assert(0) with abort(). Tue Jul 7 02:14:19 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * cmp.c, cmp.1: Move to diff distribution. Fri Jul 3 16:37:59 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * system.h: Change FOO_MISSING to HAVE_FOO. Wed May 13 20:05:41 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * pr.c (COLUMN): Add structure member to remember filename. (main, init_fps, open_file, close_file): Use it. (close_file): Don't decrement cols_ready_to_print when closing a file. From cdl@mpl.UCSD.EDU (Carl Lowenstein). Mon May 11 19:17:33 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * cmp.c: --show-chars -> --print-chars. * pr.c: Rename some variables. Sat May 9 18:39:47 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * system.h: Define DEV_BSIZE if not defined. Wed Apr 22 02:15:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * system.h, tac.c: SIGTYPE -> RETSIGTYPE. Fri Apr 17 10:42:23 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * sort.c (main): Don't stop processing args when we hit "-"; treat it like a regular filename. From ian@airs.com (Ian Lance Taylor). * pr.c (print_page): Fix off by one line count when ^L is in input. From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de). Mon Apr 6 20:52:29 1992 Jim Meyering (meyering@churchy.gnu.ai.mit.edu) * tr.c (validate): Change error message so it doesn't mention actual name of --truncate-set1 option. From David MacKenzie. Sun Apr 5 14:22:42 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu) * tr.c (string2_extend, validate): Give an error message when translating without --truncate-set1, with empty string2, and with non-empty string1. "tr 1 ''" produced a failed assertion. Mon Mar 30 02:20:56 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * system.h: Change how ST_BLKSIZE is calculated to allow for non-POSIX systems that don't define BSIZE in sys/param.h. Sat Mar 28 11:18:01 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * sum.c (main, bsd_sum_file): Don't print filename if BSD algorithm is used and only one file was given. Wed Mar 25 11:34:41 1992 Jim Meyering (meyering@wombat.gnu.ai.mit.edu) * tr.c (get_spec_stats): Fix assertion to allow ranges like a-a with starting character equal to ending character. This is contrary to the POSIX spec, but what is already implemented in find_closing_delim. Mon Mar 16 00:15:11 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * Version 1.3. * sort.c (numcompare, checkfp): Add parens to placate gcc2. * sort.c (mergefps): For -u, output the first, not last, of the lines that compare equal. From Mike Haertel. Tue Mar 10 10:51:38 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * tr.c: Remove initial capitals and periods from error messages. Sun Mar 8 22:03:45 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * sum.c (main): Add -r option for SYSV compat. Thu Feb 27 22:26:25 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * sort.c (compare): If -s given, leave lines in their original order. (main): Recognize -s. (usage): Document -s. From Mike Haertel. Tue Feb 18 20:29:45 1992 Randall Smith (randy at geech.gnu.ai.mit.edu) * sort.c (sort): Check for complete parsing of buffer into lines before nixing temp files. Mon Feb 17 10:35:58 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * sum.c (sysv_sum_file): Use %lu instead of %u to print a long. Not that it matters for GNU . . . * tr.c (unquote, make_printable_str): Use \007 instead of ANSI \a. (append_normal_char, append_range, append_char_class, append_repeated_char, append_equiv_class, spec_init): Initialize `next' field of new `struct List_element'. From rommel@informatik.tu-muenchen.de (Kai-Uwe Rommel). Sat Feb 8 17:16:49 1992 David J. MacKenzie (djm at apple-gunkies.gnu.ai.mit.edu) * join.c (get_line): Renamed from getline to avoid GNU libc conflict. Sun Feb 2 21:22:01 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.2. * nl.c: Support multiple files and "-" for stdin. (main): Check for read and write errors. (nl_file): New function. Wed Jan 29 10:09:10 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tr.c (main): -t option was called -b in getopt spec. (validate): Don't warn that set1 is longer than set2. * tr.c: Rename --sysv-string2-truncate to --truncate-string1. Fri Jan 17 16:29:05 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * nl.c: New program from bin-src. * nl.c (main): Use a struct linebuffer for line_buf. (process_file): Use readline instead of fgets, to preserve NULs. (check_section): Use memcmp instead of strncmp. (proc_text): Print line_buf with fwrite instead of printf. * nl.c (main): Usage message if too many args given. Check for error in closing input file. Lengths of section delimiter strings were 1 too large. Take separator_str into account in length of print_no_line_fmt. (build_print_fmt): Allocate space for print_fmt, in case separator_str is long. (proc_text): A blank line is one that contains nothing, not even nonprinting characters. Fri Jan 17 01:04:22 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * All programs: Document `--' instead of `+' to introduce long-named options, in usage messages. * sum.c (bsd_sum_file): Renamed from sum_file. (sysv_sum_file): New function. (main): Recognize an option to select between the algorithms. Sun Jan 5 17:41:18 1992 Jim Meyering (meyering at churchy.gnu.ai.mit.edu) * pr.c (close_file, print_page): Fixed bug that had the command yes |head |pr -t printing "yyyyyyyyyy". * (print_page): Fixed bug that had pr -3 -a printing two too few trailer lines per page. * (main): Added restriction that -a and -m are incompatible. Although the POSIX spec doesn't explicitly say they shouldn't be used together, it says -a modifies the -column option and that -column shouldn't be used with -m. Thu Jan 2 15:23:59 1992 David J. MacKenzie (djm at albert.gnu.ai.mit.edu) * nl.c: Include regex.h after, not before, sys/types.h. Thu Jan 2 12:18:10 1992 Tom Lord (lord at geech.gnu.ai.mit.edu) * sort.c (fillbuf) return bytes buffered instead of bytes read. Fri Dec 27 22:53:36 1991 Jim Kingdon (kingdon at geech.gnu.ai.mit.edu) * sort.c (LINEALLOC): New #define. (struct lines): New field ``limit''. (initlines): Set it from new arg ``limit''. (sort, mergefps, checkfp): Pass new arg to initlines(). (findlines): Don't realloc past lines->limit. Tue Dec 24 01:24:03 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tac.c, sort.c, csplit.c, system.h: Change POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION. * xwrite.c: Change POSIX ifdef to HAVE_UNISTD_H. Sat 14 Dec 1991 11:46:42 Jim Meyering (meyering at wombat) * tr.c: Fixed an inaccurate comment on posix_pedantic. Thu 12 Dec 1991 21:15:20 Jim Meyering (meyering at hal) * tr.c: Changed underscores to hyphens in long option name "sysv_string2_truncate". Wed Dec 11 13:33:34 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tac.c (main): Set obscure_syntax to tell re_search to allocate memory for the group registers. Fri Dec 6 18:26:27 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tac.c, sort.c, csplit.c [POSIX]: Use sigaction instead of signal, which POSIX doesn't have. * sort.c: Replace inthandler and huphandler with sighandler. * csplit.c (main): Only handle signals if they were not being ignored. * tr.c: POSIX_ME_HARDER -> POSIXLY_CORRECT. Wed Dec 4 00:47:47 1991 Jim Meyering (meyering at wombat) * tr.c (unquote): Reformat code so it doesn't go beyond column 80. * tr.c (squeeze_filter): Comment a little on why it's better to step through the input by two. * tr.c (set_initialize): Write a comment describing the function. * tr.c: Eliminated the variable `portability_warnings' and replaced references to it by references to `!posix_pedantic'. One of the uses of portability_warnings had been wrong. Tue Dec 3 14:03:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tr.c: New program. Sun Dec 1 15:07:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * linebuffer.[ch] (freebuffer): New function (used by cron). Thu Oct 17 22:30:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * system.h, configure, Makefile.in: Don't include memory.h if STDC_HEADERS, removing need for MEMORY_H_MISSING. Thu 17 Oct 1991 16:53:07 Jim Meyering (meyering at wombat) * pr.c (print_page): REALLY fixed `extra newline at EOF' problem. Somehow, part of my patch didn't make it last time. Sat Oct 12 12:04:47 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * tail.c (pipe_lines, pipe_bytes): Initialize `first->next'. * cmp.c (cmp): Print EOF message to stderr, not stdout, for POSIX 1003.2.11.2. * sort.c (xfwrite): fwrite never returns < 0, so check if number written is number we asked to write. (fillbuf, main): fread never returns < 0, so check ferror instead. From Rainer Orth. Tue Oct 8 18:07:08 1991 Jim Meyering (meyering at churchy) * pr.c (print_page): Really fixed `extra newline at EOF' problem. * (store_columns): Fixed bug that caused `pr -b -2' to coredump on files of certain lengths. Fri Oct 4 22:30:25 1991 Jim Meyering (meyering at churchy) * pr.c (print_page): Fixed to not add single spurious newline at EOF when using -t. Wed Oct 2 01:02:05 1991 David J. MacKenzie (djm at apple-gunkies) * pr.c (print_page): Don't pad the page if -t given. * csplit.c (load_buffer), sort.c (mergefps): Use bcopy, not memcpy. Thu Sep 26 12:35:00 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * Version 1.1. * configure, system.h: Include memory.h if it works. * split.c: Allow `b' unit as well as `k' and `m'. * head.c, tail.c: Replace -b +blocks option with specifying units (b, k, or m) after the number. (parse_unit): New function. * fold.c (main): Check that -w arg is a number. * cut.c: +delimiter takes an arg. Mon Sep 16 14:52:38 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * pr.c (close_file): Don't close an already closed file. Thu Sep 12 00:14:43 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * memchr.c: New file. * configure: Check if it's needed. * csplit.c, gcsplit.1: New program. * pr.c (cleanup): Only free buffers if they were allocated. * sort.c [!USG && !STDC_HEADERS]: Declare memchr. Wed Sep 11 20:54:16 1991 Jim Meyering (meyering at churchy) * pr.c: The following 3 bugs appeared (at least) when printing a single file with the options `-3 -f'. * (print_white_space): Single spaces were being replaced with tabs. * (print_page): Some lines were getting too much white space at the beginning because spaces_not_printed wasn't being reset to 0. * (read_line): The single space between a truncated column on its left and the column on its right was omitted. Fixed so that previous value of input_position is restored before returning FALSE. Sat Sep 7 03:22:18 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * configure: Only remove /etc from PATH when it's not part of a larger name. Wed Sep 4 17:09:24 1991 David J. MacKenzie (djm at apple-gunkies) * linebuffer.c (readline): Fix incorrect recalculation of `end'. * head.c, tail.c: Replace `mode' variables and bitmasks with separate variables for each option. Mon Sep 2 04:00:37 1991 David J. MacKenzie (djm at apple-gunkies) * wc.c: New program. Sun Sep 1 01:18:38 1991 David J. MacKenzie (djm at apple-gunkies) * fold.c (fold_file): Read in an int, not a char, for EOF comparison. * configure: Check whether st_blksize is missing. * tac.c (save_stdin): Put copy of pipe input in TMPDIR if defined, instead of /tmp. Thu Aug 29 14:48:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * xwrite.c [POSIX]: unistd.h might require sys/types.h. Wed Aug 28 11:57:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * paste.c (main): Consider -d "" to be like -d "\0", for POSIX (if I read it right). * sort.c, join.c: New programs. * cut.c (set_field): Allow blanks as well as commas to separate numbers in ranges. Sun Aug 25 19:57:40 1991 Jim Meyering (meyering at apple-gunkies) * pr.c: Failure to open an input file is no longer a fatal error. A message is printed for each failed open. When printing in parallel, each failed open results in one fewer output column. Added POSIX -r option to suppress the message. * pr.c: Added variables: failed_opens, ignore_failed_opens. These changes were based in part on work by David MacKenzie. Sat Aug 24 15:27:39 1991 Jim Meyering (meyering at pogo) * pr.c: Complain if user gives both -m and -[0-9]+ options. Wed Aug 21 22:04:57 1991 David J. MacKenzie (djm at apple-gunkies) * Version 1.0. Mon Aug 19 00:16:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * expand.c: Rename some variables. (expand): Don't access value off end of array. * unexpand.c: Rename some variables. (unexpand): Don't access value off end of array. Instead of copying tabs verbatim and flushing pending spaces when one is reached, count them as the proper number of pending spaces. Instead of changing tabs to single spaces if the tabstop list is exhausted, print the rest of the line unchanged (for POSIX). Sat Aug 17 01:49:41 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * cut.c (cut_file), paste.c (paste_parallel, paste_serial): Clear EOF and error conditions on stdin so it can be reused. * expand.c, unexpand.c (parse_tabstops): Allow blanks as well as commas to separate tabstops, for POSIX. * expand.c (expand), unexpand.c (unexpand): Don't line-buffer the output; send it directly to stdout. * unexpand.c (main): Make -t stupidly imply -a for POSIX. (unexpand): If a tab stop list was given and we move past its end, copy the rest of the line verbatim. * split.c (convint): New function to allow 'm' and 'k' after byte counts. (main): Use it. Change -c option to -b for POSIX. Fri Aug 9 02:47:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * pr.c: Protect isdigit with isascii, if required. Tue Aug 6 21:42:25 1991 David J. MacKenzie (djm at wheat-chex) Most of the following is from Paul Eggert: * cat.c (main): If stdin is read, check close at end. * cmp.c (main): Check for stdin being closed. Check for close errors on stdin and stdout. (cmp): Return a value instead of exiting. * cut.c (cut_file): New function, from code in main. Check for read errors. (main): Check for close errors. * expand.c, unexpand.c (main): Check for close errors. (next_file): Go to next file if one can't be opened. Check for close errors. * head.c (main), tail.c (main): If stdin was read, check for close errors. * head.c (head_file), tail.c (tail_file): Check for close errors. * paste.c (main, paste_parallel, paste_serial), tac.c (main): Check for close errors. Close stdin if it was read. * split.c (main): Check for close errors. * configure, Makefile.in's: Support +srcdir option. Make config.status. Fix up clean targets. Wed Jul 31 01:32:59 1991 David J. MacKenzie (djm at hal) * linebuffer.h (struct linebuffer): Add a field to indicate the number of valid chars in the line. * linebuffer.c (initbuffer, readline): Fill it in. * uniq.c, comm.c: Use it. * pr.c (main): Check stdin and stdout fclose for errors. (init_parameters): If there's no room for header and footer, omit them rather than dying (for POSIX). (init_header): Take a file descriptor as additional arg. (init_fps): Change callers. Note when stdin is read. (open_file): For filename "-" use stdin. (close_file): Don't close stdin. Check close for errors. (print_char, char_to_clump): Use isprint instead of explicit comparisons. * memcmp.c: New file (needed for comm). * bcopy.c: New file (needed for fold). * system.h: Don't define bcopy as memcpy. * configure: Check for bcopy and memcmp. * uniq.c (main): Use "-" instead of NULL to mean stdin or stdout. (check_file): Use "-" instead of NULL to mean stdin or stdout. Check readline return instead of for NUL character to detect eof. Check fclose for errors. (find_field): Use linebuffer length, not NULs, to detect end of line. (different): New function, replaces compare. Uses memcmp instead of strncmp. (writeline): Use fwrite instead of fputs so NULs are preserved. * comm.c (compare_files): Return an error indication. Don't take a filename of NULL to mean stdin. Use memcmp instead of strcmp to allow for NULs. Check fclose for errors. (writeline): Use fwrite instead of fputs so NULs are preserved. * sum.c (sum_file): Take an arg indicating whether to print the filename, and don't take NULL meaning stdin. Set a flag when we read stdin. Check fclose return for errors. (main): If stdin was read, check fclose return for errors. Use filename of "-" if no args given. Thu Jul 25 15:17:10 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * fold.c: Rewritten from scratch for POSIX. Wed Jul 24 01:55:41 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * split.c (line_bytes_split): Use xmalloc instead of alloca. * system.h: Don't declare alloca. * tac.c, tail.c: Use SEEK_ instead of L_ for lseek. * system.h: Define SEEK_ macros if not defined. * pr.c: Rename variable `truncate' to avoid library function conflict. Tue Jul 23 13:21:48 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * linebuffer.c, linebuffer.h: New files. * comm.c, uniq.c (initbuffer, readline): Functions removed (use versions in linebuffer.c). Mon Jul 22 13:23:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * sum.c (sumfile): Always print 5 digits for second number, too. Interpret "-" to mean stdin. Sat Jul 20 14:24:40 1991 David J. MacKenzie (djm at bleen) * uniq.c: Use isblank instead of isspace, to support POSIX.2. * comm.c, pr.c, uniq.c (concat, fatal, error, pfatal_with_name, xmalloc, xrealloc): Functions removed. Sat Jul 13 02:04:53 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * nl.c: Add long-named options. Doc fixes. Sat Jul 6 02:19:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * expand.c, unexpand.c [STDC_HEADERS]: Include stdlib.h. * xwrite.c [POSIX]: Include unistd.h. [STDC_HEADERS]: Don't declare errno. Sun Jun 30 23:35:16 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * uniq.c: Add long-named options. Remove marginally useful -z option (zero padded repeat counts). Thu Jun 27 16:31:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * tail.c (tail_file), tac.c (save_stdin, tac_file), split.c (cwrite), head.c (head_file), cat.c (main): Check close return value for delayed error report due to NFS. Tue Jun 11 00:12:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * cat.c: Replace "uchar" with "unsigned char", to avoid problems with various systems' typedefs. Thu Jun 6 12:54:26 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * cat.c (cat): Interpret ENOTTY return from FIONREAD ioctl to mean operation is unsupported, for HP-UX 7.0. Sun Apr 14 21:49:17 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) * sum.c: Always print five digits for first number. Fri Mar 15 16:16:54 1991 David J. MacKenzie (djm at geech.ai.mit.edu) * cat.c, cmp.c: Don't use fileno(); not needed. Thu Jan 10 02:16:55 1991 David J. MacKenzie (djm at albert.ai.mit.edu) * tac.c, tail.c: Change _POSIX_SOURCE to POSIX. Thu Dec 27 00:06:45 1990 David J. MacKenzie (djm at egypt) * cut.c (cut_file_bytes, cut_file_fields): Make inbufp and outbufp global. (enlarge_line): Adjust inbufp and outbufp. Sun Sep 9 16:54:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cat.c: Declare free returning void, not int, so it doesn't bomb on Xenix. Mon Sep 3 22:23:57 1990 David J. MacKenzie (djm at coke) * tac.c: Print error messages before calling cleanup, not after. Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * tac.c (cleanup): Return SIGTYPE, not int. Tue Aug 7 12:51:18 1990 David J. MacKenzie (djm at apple-gunkies) * cut.c (main, usage): Add -b and -n options for POSIX. (set_fields): Don't allow SPC or TAB as number separators. * paste.c (paste_parallel): If open of any file fails, quit (for POSIX). Mon Aug 6 22:14:13 1990 David J. MacKenzie (djm at apple-gunkies) * pr.c: Add POSIX -F option (same as -f). * uniq.c (check_file): Allow '-' to mean stdin or stdout. Mon Aug 6 14:43:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * head.c, tail.c: Change `chars' to `bytes' globally. (main, usage): Use POSIX.2 draft 10 option syntax. Sun Aug 5 11:51:12 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * cat.c (main): Don't delay error messages, so they appear where expected. (main, simple_cat, cat): Make errors in input files nonfatal. Sat Aug 4 10:11:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * cat.c: Remove -c option added for POSIX draft 9, since POSIX draft 10 removed it. * tac.c (tac_stdin): Use fstat instead of lseek to determine whether stdin is seekable, because lseek silently fails on some special files, like tty's. tail.c (tail_chars, tail_lines): Use fstat instead of lseek; don't turn off -f for non-regular files (assume the user knows what he's doing; it might work for fifo's and sockets). * paste.c (main): If no files given, use stdin. Don't let collapse_escapes write on string constant (delim default). (paste_parallel): Don't close stdin. * cut.c (main): Use standard input for filename of "-". * comm.c (compare_files): Allow '-' to mean stdin. Fri Aug 3 13:38:28 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * cut.c (enlarge_line): Take an arg giving the required amount of space. Change callers. (main): Don't allow -t'' without -f. Make `delim' unsigned to fix sign extension problem in comparison. Tue Jul 17 12:36:11 EDT 1990 Jay Fenlason (hack@ai.mit.edu) * pr.c Deleted excess whitespace from ends of lines. Modified to work with current version of getopt, which returns 1 instead of 0 for non-options. Reversed the meaning of the -f option, to be compatible with real pr. Sun Jul 8 00:39:31 1990 David J. MacKenzie (djm at apple-gunkies) * cmp.c (main, usage): Rename -L option to -c and don't have it imply -l. (printc): Take an arg to specify number of chars to pad to, for column alignment. (cmp): Respect flag_print_chars in default output format. Align columns for cmp -cl. Sat Jul 7 17:23:30 1990 David J. MacKenzie (djm at apple-gunkies) * cmp.c: For +show-chars, have getopt return 'L' so `flag_print_chars' gets set. Fri Jun 29 01:04:19 1990 David J. MacKenzie (djm at apple-gunkies) * tac.c (main): Initialize fastmap and translate fields of regex before compiling it. Fri Jun 22 00:38:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * tac.c: Change +regexp to +regex for consistency with GNU find. Wed Jun 20 01:46:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cat.c (cat): If FIONREAD is available, only use it if it is supported by the filesystem that the file is on. Sun Jun 3 20:26:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cat.c (main): Add a variable to control whether the check for input file == output file is made, because no values of st_dev and st_ino should be assumed to be available for this purpose. Only do the check for regular files. * tac.c: Use bcopy instead of memcpy. Thu May 31 00:55:36 1990 David J. MacKenzie (djm at apple-gunkies) * head.c: Use longs instead of ints for file offsets, for 16 bit machines. Tue May 22 00:56:51 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cmp.c: Change some ints to longs for 16 bit machines. (bcmp_cnt): Make char-pointer counting slightly simpler. Sat May 12 01:16:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cat.c (main): Allow input file to be output file for devices (ttys, etc.). Check whether input file is output file when reading standard input. Print any error messages for standard input. * cmp.c (bcmp_cnt): Handle int comparisons correctly on 16 bit machines as well as 32 bit ones. * cmp.c, tail.c: Use longs instead of ints for file offsets. Fri May 11 02:11:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cmp.c: Fix some exit statuses for POSIX. Tue May 8 03:41:42 1990 David J. MacKenzie (djm at abyss) * tac.c: Use regular expressions as the record boundaries. Give better error messages. Reformat code and make it more readable. (main): Use getopt_long to parse options. (tac_stdin): Do not make a temporary file if standard input is a file. (tac_file): New function. (tac): Take an open file desc as an arg. (output): Rewrite to use its own efficient buffering. (xmalloc, xrealloc, xwrite): New functions. Sun Apr 8 20:33:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * head.c, tail.c: Use `error' instead of `fatal_perror' and `nonfatal_perror'. Remove some unnecessary info from messages. Wed Mar 21 09:30:18 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * comm.c (main): Pass the list of files to compare_files as a char ** instead of a char *. (compare_files): Make arg a char **. * uniq.c: Declare some functions as void. Change global vars `countmode' and `mode' from ints to enums. (main): Use getopt to parse options and support POSIX options. Don't use integer_arg to parse numbers, since `-#' can't be parsed that way using getopt. (find_field): Use isspace for finding fields boundaries. Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * comm.c (main): Call usage if given bad option or wrong number of args. Exit with 0 status normally. (usage): New function. Declare some other functions as void. Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex) * cmp.c (main, cmp, usage): Replace -q +quick option with -L +show-chars option to add ASCII representation of bytes to -l format. Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex) * cmp.c (cmp): Change EOF message for POSIX compatibility. For -l format, clear bits > FF. Mon Mar 5 17:21:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * tail.c: Move global `errors' into main instead of having nonfatal_perror set it. (tail, tail_chars, tail_file, tail_lines, pipe_chars, pipe_lines): Return an error status. (file_lines, start_chars, start_lines): Reverse the meaning of the return value. (tail_lines, tail_chars): Account for that reversal. Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * head.c: Move global `errors' into main and have the various functions return an error status instead of setting it in nonfatal_perror. Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton) * cmp.c (cmp): Call function bcmp_cnt for flag == 0 (i.e. no options specified), to compare the two blocks and count newlines simultaneously. * cmp.c New function: bcmp_cnt. * cmp.c (main): Test if output is redirected to /dev/null, and assume `-s' if this is so. Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cat.c: Change `argbad' from a char to a short, so it will work on machines with unsigned chars. Sat Feb 10 02:16:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cmp.c (cmp): Rename `r' to `first_diff', and `x' to `smaller'. Remove unnecessary variable `c1'. If -l was given, increase `char_number' by the number of bytes read, after producing output, rather than by the offset of the first differing bytes, before producing output. Replace if-else-if constructions with case statements for clarity. (bcmp2): Rename `n' to `nread'. Wed Dec 20 01:32:06 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * nl.c (proc_text): Use re_search instead of re_match. Tue Dec 19 01:26:34 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * nl.c: Indent. Un-nest statements. Use GNU regexp functions instead of System V ones. Move function declarations together. (quit): Remove useless function. (program_name): New variable for error messages. (main): Use perror in error message. (xmalloc): New function to replace myalloc. (myalloc): Function removed. Global: use program_name and xmalloc. Sun Dec 17 00:36:36 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * uniq.c: Declare some functions. (main): Initialize infile and outfile. Call usage if given invalid args. Normally exit with 0 status instead of garbage. (usage): New function to print usage message and exit. (check_file): Remove unused variable. (readline): Compare against EOF, not < 0. (xmalloc, xrealloc): Return char *, not int. Ok to return 0 if 0 bytes requested. (lb1, lb2): Remove unused global vars. (concat): Remove unused function. Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * comm.c: Remove unused global variables lb1, lb2. (main): Remove unneeded variable. (compare_files): Remove unused arg. (readline): un-nest assignment. Test against EOF instead of < 0. (error): Print to stderr, not stdout. (xmalloc, xrealloc): Return char * instead of int. Returning 0 is ok if 0 bytes requested (ANSI C). ----- Copyright (C) 1998-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/old/sh-utils/0000775000000000000000000000000012107207522012752 500000000000000coreutils-8.21/old/sh-utils/ChangeLog.00000664000000000000000000017156312102337340014614 00000000000000Sat Nov 05 08:35:25 1994 Jim Meyering (meyering@comco.com) * Version 1.12. Fri Nov 04 06:01:00 1994 Jim Meyering (meyering@comco.com) * Version 1.11. Wed Nov 02 18:52:20 1994 Jim Meyering (meyering@comco.com) * doc/Makefile.in (install): Remove test for existence of info file. Simply change to $(srcdir) instead. Wed Oct 26 23:40:07 1994 Jim Meyering (meyering@comco.com) * safe-xstat.hin [EINTR]: Always define safe_l?stat. Define it __static -- which is `static' for most includers, but `/* empty */' for safe-xstat.cin. * safe-xstat.cin: Define __static to nothing so we get public safe_l?stat functions in the library. * Makefile.in (All actions invoking $(MAKE) from within compound (e.g. `for') sh statements): Exit non-zero if the sub-make fails. Otherwise, the top-level make may exit successfully when it should fail. From Jim Kingdon (kingdon@cygnus.com). Sun Oct 23 23:36:26 1994 Jim Meyering (meyering@comco.com) * safe-xstat.hin: Don't use a statement expression here. Use an inline function instead. * safe-xstat.cin: Don't duplicate the definition of safe_l?stat here. Get the definition from safe-xstat.hin. Fri Oct 21 00:57:23 1994 Jim Meyering (meyering@comco.com) * man/Makefile.in: Fix typo that had su.1 being installed as `man/man1/.1'. From Kjetil Torgrim Homme. * basename.c, dirname.c, expr.c, pathchk.c, sleep.c (main): Diagnose wrong number of argument -- usually too few -- instead of just referring the user to the --help option. Reported by Karl Berry. Mon Oct 17 23:55:41 1994 Jim Meyering (meyering@comco.com) * doc/Makefile.in (install): Install the info files from either the source directory or the object directory. From Ian Lance Taylor (ian@cygnus.com). Sun Oct 16 12:14:02 1994 Jim Meyering (meyering@comco.com) * lib/Makefile.in (distclean): Don't delete getdate.c and posixtm.c here since they are not distributed. (realclean): Delete them here instead. From Francois Pinard. Mon Oct 10 21:44:42 1994 Jim Meyering (meyering@comco.com) * id.c (print_group_list, print_full_info): Use more precise feature tests. Rather than assuming that a definition for NGROUPS_MAX implies the existence of the getgroups function, test for HAVE_GETGROUPS explicitly. * su.c (log_su): Likewise. Similarly, check HAVE_INITGROUPS. Both from Kaveh Ghazi. He reported that a Pyramid 9820 OSx 5.0d (Dual universe SVR3/BSD4.2) system had NGROUPS_MAX and syslog.h but not getgroups, initgroups or the syslog functions. Fri Oct 07 19:42:35 1994 Jim Meyering (meyering@comco.com) * doc/Makefile.in (sh-utils.dvi): Depend on version.texi. * version.texi: Use RELEASEDATE, not RELEASE_DATE. * sh-utils.texi: Likewise. * configure.in: Test for crypt in -lcrypt for NetBSD. Reported by Greg Hudson (ghudson@mit.edu). * system.h: Don't define lstat. safe-l?stat.h does that now. Thu Oct 06 21:14:07 1994 Jim Meyering (meyering@comco.com) * src/Makefile.in (link_command): Remove $(CFLAGS). Because the default value usually includes -g, Linux users were getting statically linked executables. With this removal they'll get much smaller, dynamically linked ones by default. * lib/Makefile.in (safe-lstat.o): Depend on safe-stat.h, too. Sun Oct 02 16:15:32 1994 Jim Meyering (meyering@comco.com) * src/Makefile.in: Don't use binprefix. Use autoconf-2's @program_transform_name@ instead. * man/Makefile.in: Likewise for manprefix. * safe-xstat.hin [!S_ISLNK]: Include safe-stat.h and define SAFE_LSTAT and safe_lstat to their symlink-ignorant counterparts. * lib/Makefile.in (extract_lstat, extract_stat): Add sed rules to extract the new cpp directives into safe-lstat.h, but not into safe-stat.h. Sat Oct 01 00:14:10 1994 Jim Meyering (meyering@comco.com) * system.h: Remove conditional definition of mode_t. configure takes care of this now. * configure.in: Add -l$lib (not $lib) to LIBS when checking for syslog. From Kaveh Ghazi. * date.c (batch_convert): Use K&R style function definition. From Kaveh Ghazi. * date.c (main): When reading dates from a file with a +FORMAT-style user-specified format, don't print the leading `+'. Franc,ois Pinard noticed this problem. Make an error message clearer. From Franc,ois. * lib/Makefile.in (DISTFILES): Add getline.h. (SOURCES, OBJECTS): Add getline.c, getline.o. * safe-xstat.hin: Don't include or . Otherwise, we'd lose when the includer has already included on systems that aren't protected against multiple inclusion. Add a note that those headers must be included before this one. Don't include either. * safe-xstat.cin: Include and here instead. Include here, too. Kaveh Ghazi reported this problem. Fri Sep 30 22:40:21 1994 Jim Meyering (meyering@comco.com) * date.c (main): Accept new option: (-f) --file=datefile. (batch_convert): New function. Suggested by Karl Berry. * date.c (main): Diagnose use of conflicting options. Revamp non-option argument processing. Detect write errors. * lib/*.c, src/*.c: Remove CONFIG_BROKETS conditional. * lib/Makefile.in src/Makefile.in: Don't define it. configure.in (AC_CHECK_FUNCS): Add getcwd. From Kaveh Ghazi. * safe-xstat.c.in, safe-xstat.h.in: Rename to safe-xstat.cin and safe-xstat.hin so the names don't exceed the 14-character limit. Reported by Kaveh Ghazi. Mon Sep 26 19:49:40 1994 Jim Meyering (meyering@comco.com) * configure.in: Don't use $su_cv_sys_tiocgwinsz_in_termios_h uninitialized. From R. Bernstein and Kaveh Ghazi. (NICE_PRIORITY): Fix typo that caused omission from PROGS of nice and nohup on systems with nice but not setpriority. From Andreas Schwab. Sat Sep 24 10:13:00 1994 Jim Meyering (meyering@comco.com) * Makefile.in (stamp-h.in): Create using echo, not date. Using the latter could easily lead to rcs/cvs merge conflicts. * configure.in (stamp-h): Ditto, though this is less important because stamp-h isn't distributed. * nice.c (main): Revamp option processing to detect options like `--7' manually and pass the rest off to getopt_long. (isinteger): Use ISDIGIT. Use parse_long_options. * system.h: Include and add IS* macros. * expr.c: Don't include or define IS* macros since system.h now does that. * printf.c: Ditto. * date.c (usage): Add description of numeric modifiers. * printf.c (print_formatted): Declare DIREC_LENGTH size_t, not int. (print_esc_string): Ditto for LENGTH. * dirname.c (main): Cast string literal to (char*). * stty.c (wrapf): Declare first argument const char *. * tee.c (main, tee): More const dcls and casting. * who.c (read_utmp): New variable: size to avoid type warnings. All of these eliminate compilation warnings reported by Franc,ois Pinard. * doc/Makefile.in (DISTFILES): Add version.texi because generating that file now depends on having a version of date that can handle formats like `+%Y %B'. (version.texi): Generate RELEASE_DATE, too. * sh-utils.texi: Use RELEASE_DATE instead of hard-coded date. * long-options.h: Prepend underscores to arg names in prototype to avoid warnings about shadowing. * src/Makefile.in: Add dependencies on long-options.h. * configure.in: Make having autoconf-1.120 a prerequisite. * sh-utils.texi [INFO-DIR-ENTRY]: Add an entry for each `invoking' node. Regularize punctuation, indexing, and xrefs. From Franc,ois Pinard. * date.c (usage): Tweak the usage message a little. Add `const' to more dcls. * stty.c: Add `const' to more dcls. * su.c: Ditto. * who.c: Ditto. * tee.c (main): Use _POSIX_SOURCE, not _POSIX_VERSION. Sat Sep 17 15:48:10 1994 Jim Meyering (meyering@comco.com) * (doc): New subdirectory with texinfo documentation. Thanks to Franc,ois Pinard and Karl Berry! Note however that it contains mainly the information from the `man' pages, so it is not good documentation. But this way, at least we don't have to maintain the troff man pages anymore. * su.c: Test !HAVE_ENDGRENT and !HAVE_ENDPWENT rather than _POSIX_SOURCE to determine whether endgrent and endpwent should be defined away. * configure.in (AC_CHECK_FUNCS): Add endgrent and endpwent. * who.c: Test HAVE_SYS_PARAM_H rather than _POSIX_SOURCE to determine whether should be included. * date.c (main): Rewrite command-line argument handling code to give diagnostics for inconsistent options. * Makefile.in: Restructure dependencies using local-* and recursive-* targets to avoid evil double-colon rules. Although the actions assiciated with double-colon rules are run sequentially using GNU make-3.71, POSIX doesn't guarantee that behavior. The next release may run them in parallel. Running the old rules in parallel would sometimes delete config.status before it was used in a subdirectory make. With several suggestions from Franc,ois Pinard. Thu Sep 15 19:10:51 1994 Jim Meyering (meyering@comco.com) * stty.c [VWERSE && !VWERASE]: Define VWERASE for AIX-3.2.5. Sat Sep 03 00:41:53 1994 Jim Meyering (meyering@comco.com) * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h): Use $(srcdir) to find source files. (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the build directory. * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and lib/safe-stat.h from the build directory. From Michael I Bushnell . * Makefile.in: Remove rules to create installation directories. * {src,man}/Makefile.in: Put them here instead. * configure.in: Update to take advantage of autoconf 2.0 features. Sat Aug 27 16:57:20 1994 Jim Meyering (meyering@comco.com) * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's. From Francois Pinard. Thu Aug 18 11:44:48 1994 Jim Meyering (meyering@comco.com) * su.1: Explain why GNU doesn't support the `wheel group'. Mon Aug 01 21:58:14 1994 Jim Meyering (meyering@comco.com) * date.c: Add --utc option. It will supercede --uct. Change references to `universal coordinated time' to correct `coordinated universal time'. From Harris Boldt Edelman . * date.1: Correct the documentation, too. * date.c (main, show_date): For -u, use gmtime instead of relying on localtime's ability to interpret the TZ environment variable. `date -u' failed (by reporting local time) on romp-ibm-bsd and PCs (DOS and OS/2) running emx 0.8h. From R. Bernstein . Sat Jul 30 07:52:27 1994 Jim Meyering (meyering@comco.com) * nohup.sh: Separate `nice -5' from COMMAND with `--' to ensure that COMMAND isn't interpreted as an option to nice. * groups.sh: Similarly, separate each name from `id -Gn' with `--'. Karl Berry pointed out that `groups --help user' gave confusing diagnostics. Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com) * su.c (main): Make copies of the password information we'll use so that log_su (through getlogin) doesn't clobber the static data. With suggestions from Francois Pinard. * system.h: Remove `|| defined(_POSIX_VERSION)' from test that decides whether to include . From Francois Pinard. Mon Jul 25 23:54:36 1994 Jim Meyering (meyering@comco.com) * pathchk.c (dir_ok): Use SAFE_STAT. * test.c (test_stat, binary_operator, unary_operator): Use SAFE_STAT and SAFE_LSTAT. * who.c (print_entry): Use SAFE_STAT. * test.c (group_member): Remove function. Use the one broken out into group-member.c instead. Fri Jul 15 00:23:17 1994 Jim Meyering (meyering@comco.com) system.h: Remove unneeded decls of atof and atol. Fri Jul 08 01:09:23 1994 Jim Meyering (meyering@comco.com) stty.c (main): Initialize max_col (used by wrapf) before calling display_speed. Otherwise, `stty speed' output a spurious newline. From Andreas Schwab . Sun Jul 03 08:44:00 1994 Jim Meyering (meyering@comco.com) * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for definition of HAVE_SYS_PARAM_H, now tested in pathmax.h. * configure.in [AC_WORDS_BIGENDIAN]: Add it. This macro is required by memcmp.c on big-endian systems. Its absence was diagnosed by Lars Duening (duening@ibr.cs.tu-bs.de). Sun Jun 19 00:18:06 1994 Jim Meyering (meyering@comco.com) * nice.c (main): Accept options like `--5' (equivalent to `-n -5') instead of letting getopt give an `unrecognized option' error. * long-options.c: Require another argument: version_string. Don't include "version.h" or "system.h". * basename.c, dirname.c, echo.c, expr.c, hostname.c, printf.c, pwd.c, stty.c, test.c, yes.c: Adjust callers of parse_long_options accordingly. Thu Jun 02 14:11:31 1994 Jim Meyering (meyering@comco.com) * stty.c (main): Set max_col and current_col before running display_window_size. Otherwise, `stty size' output a spurious newline. From Bauke Jan Douma (bjdouma@xs4all.hacktic.nl). Mon May 30 09:33:53 1994 Jim Meyering (meyering@comco.com) * test.c (test_syntax_error, beyond): Add __attribute__ ((noreturn)) so gcc will know enough not to give warnings. Sun May 29 17:40:21 1994 Jim Meyering (meyering@comco.com) * long-options.c: Move from src/ to lib/. * long-options.h: Ditto. * src/Makefile.in: Remove references to long-options.[ch]. * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co]. Fri May 27 18:20:18 1994 Jim Meyering (meyering@comco.com) * stty.c [VFLUSH && !VFLUSHO]: Define VFLUSH0. Ultrix's termios.h defines VFLUSH, but not VFLUSHO. From Kjetil Torgrim Homme . Thu May 26 08:46:32 1994 Jim Meyering (meyering@comco.com) * configure.in [INSTALL]: Revert change of March 8. autoconf has fixed this. Thu May 19 01:10:20 1994 Jim Meyering (meyering@comco.com) * Version 1.10. * lib/Makefile.in (DISTFILES): Add getdate.c and posixtm.c. * src/Makefile.in (users.c): Use cp if hard link fails. From Ian Lance Taylor. * Makefile.in (dist): Change package name from shellutils to sh-utils. That allows a hyphen and 5-character version number without exceeding the 14-character limit on file name length. shellutils-1.10 would have been too long. * version.c: Update package name. * hostname.c: Include before "system.h". From Kaveh Ghazi and Karl Berry. * hostname.c (sethostname) [!HAVE_SETHOSTNAME && HAVE_SYSINFO && HAVE_SYS_SYSTEMINFO_H && HAVE_LIMITS_H]: New function. SVR4 systems prefer sysinfo over sethostname. * configure.in (AC_HAVE_FUNCS): Add sysinfo. (AC_HAVE_HEADERS): Add sys/systeminfo.h. From Kaveh Ghazi. Fri May 13 09:45:23 1994 Jim Meyering (meyering@comco.com) * lib/xgethostname.c (xgethostname): Call xmalloc outside the loop. Correct loop termination condition. * pwd.c: Include before "system.h". From Kaveh Ghazi. * {lib,man,src}/Makefile.in (Makefile): Use ../config.status instead of $(srcdir)/../config.status. The latter didn't work for builddir != srcdir. From Kaveh Ghazi. * Makefile.in (Makefile): Remove dependencies on */Makefile.in. Change the rule so running config.status creates only Makefile. (stamp-config): Have config.status generate only config.h. * {lib,man,src}/Makefile.in (Makefile): Add single dependency on Makefile.in and rule to make config.status create only Makefile. * hostname.c: New program. * hostname.1: New file. * Makefile.in (PROGS): Add hostname. (SOURCES): Add hostname.c * src/Makefile.in: Add rules and dependencies for hostname. * configure.in (AC_HAVE_FUNCS): Add sethostname. * pathchk.c (validate_path) [lint]: Initialize a variable to suppress `used before initialized' warning. * who.c: Correct gethostname prototype to indicate the function returns int, not char. Sun May 01 08:38:18 1994 Jim Meyering (meyering@comco.com) * who.c: Add #ifdefs to build the `users' executable. * src/Makefile.in: Add corresponding rules. * Makefile.in (PROGS): Add users. From Kaveh R. Ghazi . * users.1: Document it. Thu Apr 28 00:45:02 1994 Jim Meyering (meyering@comco.com) * pwd.c: New program. * pwd.1: New file. * Makefile.in (PROGS): Add pwd. * lib/Makefile.in: (DISTFILES): Add pathmax.h. (SOURCES, OBJECTS): Add xgetcwd.c and xgetcwd.o respectively. * src/Makefile.in: Add rules and dependencies for pwd. * yes.c: Don't include version.h. Mon Apr 18 19:54:24 1994 Jim Meyering (meyering@comco.com) * documentation: Change uses of `pathname' and `path' as per GNU standards. * long-options.c (parse-long-options): Take a new argument, command_name, for use in --version output. * basename.c, dirname.c, echo.c, expr.c, printf.c, stty.c, test.c, yes.c (main): Update callers. Wed Mar 30 08:53:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_SET_MAKE. * Makefile.in: Edit MAKE assignments into @SET_MAKE@. Fri Mar 25 01:13:42 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead of explicit echo commands. When checking for shadow password routines, make sure the function getspnam is available before defining HAVE_SHADOW_H. reported that shadow.h exists on some linux system that did not have the function. Tue Mar 8 10:29:13 1994 Jim Meyering (meyering@comco.com) * configure.in [INSTALL]: When AC_PROG_INSTALL resorts to setting this to `./install.sh', make it `../install.sh' instead since that script will be invoked only from subdirectories. [WINSIZE_IN_PTEM]: Check for this unconditionally, rather than only when TIOCGWINSZ is not defined through termios.h. The old method loses on SCO ODT 3.0 systems. Sat Feb 19 14:23:14 1994 Jim Meyering (meyering@comco.com) * Version 1.9.4. * stty.c (main): Use getopt_long_only with "ag" instead of getopt_long with "". The latter incremented optind so the -a and -g options weren't recognized. * Version 1.9.3. Tue Feb 15 18:28:28 1994 Jim Meyering (meyering@comco.com) * stty.c (main): Use getopt only to recognize long options. Hand code the loop to detect -a, -g, -ag and -ga. Using getopt to detect the short options loses (because we have to ignore unrecognized options and we are allowing GNU getopt to permute) because e.g. `-tabs' is interpreted as a group of options, one of which is `-a'. Before, running `stty -tabs echo' gave this error: stty: when specifying an output style, modes may not be set Reported by Arne H. Juul. Sun Feb 13 13:34:25 1994 Jim Meyering (meyering@comco.com) * basename.1, dirname.1, stty.1: Reflect usage changes. * basename.c, dirname.c, stty.c (usage): Ditto. * long-options.h (parse_long_options): Invoke usage function argument with explicit dereference as per GNU coding standards. * basename.c dirname.c: Use parse_long_options instead of the conventional getopt_long paradigm. Before, the commands `basename file-dist -dist' and `basename -- file.c .c' produced incorrect results. Now, even `basename -file-dist -dist' works and the command `basename -- file.c .c' fails for the right reason: the `--' is not a special (to getopt) token for these commands. It is interpreted as the filename, so there are too many arguments to basename. Rick Sladkey reported the problem with basename. * stty.c (set_window_size): When stty fails to get the window size (as happens on telnet sessions to Solaris systems), initialize all fields of the winsize struct. Before, it was using the uninitialized pixel fields of the struct in the ioctl to set window size parameters. From Rick Sladkey. * stty.c (main): Use parse_long_options to handle --help and --version. (main): In the remaining getopt_long loop, don't jump out of the loop from the `default' branch of the switch statement. Doing that left optind in an inconsistent when there were non-option arguments preceding `reversed' arguments (e.g. stty echo -echoe) and the preceding non-option arguments were ignored. Rick Sladkey reported that stty was ignoring arguments. * stty.c (main): Fail with a diagnostic when both -g and -a are given. (main): Fail with a diagnostic when either -g or -a is used with arguments for setting modes. Fri Feb 11 19:39:37 1994 Jim Meyering (meyering@comco.com) * stty.c (get_win_size): Don't use an ANSI-style function definition. From Kaveh R. Ghazi . Thu Feb 10 01:22:37 1994 Jim Meyering (meyering@comco.com) * stty.c [CSWTCH] (__sparc__ && __svr4__): Define `swtch' to _POSIX_VDISABLE by default. Otherwise, the default settings on SunOS 5.3 (from /usr/include/sys/termios.h) have both `swtch' and `susp' set to ^Z. Those default settings are not unusual. What is unusual is that with such settings on SunOS 5.3, the tty driver doesn't generate a signal for control-Z. Reported by Brent Wiese . * stty.c (main) [CIBAUD]: Don't report an error on SunOS 4.1.x systems if the only difference is in this nybble of c_cflag. See the comments for the gory details. Thanks to Erez "HWank1" Zadok for reporting this and helping me reproduce it. Tue Feb 01 00:59:56 1994 Jim Meyering (meyering@comco.com) * stty.c (main): Call tcsetattr only if we've updated tty modes, not e.g. if we've changed the window size. * Update Copyright dates in src/*. Fri Jan 28 11:02:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Don't set LDFLAGS since linking now uses both LDFLAGS and CFLAGS. Wed Jan 26 10:54:02 1994 Jim Meyering (meyering@comco.com) * stty.c (get_win_size): New function. Try getting size first for the device on stdout. Try stdin only if that fails. Suggested by Andreas Schwab . (set_win_size): Call get_win_size instead of calling ioctl directly. (display_window_size): Ditto. (screen_columns): Ditto. Mon Jan 24 22:57:18 1994 Jim Meyering (meyering@comco.com) * stty.c (set_window_size): Work around SunOS 4.x kernel bug that makes `stty rows 34 cols 80;stty rows 0;stty cols 0' incorrectly set rows to 80 and columns to 0. Sun's stty has this problem, too. The kernel bug is fixed in Solaris 2. Mostly from Alexander Dupuy . * src/Makefile.in: Use both LDFLAGS and CFLAGS when linking. * man/Makefile.in: Use binprefix as the default manprefix. * nohup.sh: Redirect usage message to stderr. From Andreas Schwab . Thu Jan 13 17:27:38 1994 Jim Meyering (meyering@comco.com) * src/Makefile.in: Change all link commands to use both $(CFLAGS) and $(LDFLAGS). Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com) * man/Makefile.in (manprefix): Use binprefix as the default. Thu Jan 06 18:19:06 1994 Jim Meyering (meyering@comco.com) * who.c (print_entry): Prepend `/dev/' only if ut_line is not already an absolute filename. Just to be safe. Fri Dec 31 00:22:59 1993 Jim Meyering (meyering@comco.com) * date.c (usage): Reorder listing of % formats in `sort -f' order. Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com) * install.sh: New file. Makefile.in [DISTFILES]: Add it. * who.c (read_utmp): Use stdio functions instead of open/read/close to avoid having to handle POSIX read's -1/errno=EINTR failure case. * tee.c (tee): A POSIX implementation of the read system call may return -1 and set errno to EINTR when it is interrupted. Retry instead of failing with an error. (tee): Don't use xwrite. Use full_write instead and include the losing file name in the message reporting a write failure. Don't treat standard output as a special case, so a failed write to stdout doesn't exit immediately. * date.c (usage): Note that for %w, 0 corresponds to Sunday. Sat Dec 25 23:15:58 1993 Jim Meyering (meyering@comco.com) * who.c (main): Don't chdir ("/dev") for the stat in print_entry. (print_entry): Instead of stat'ing the /dev-relative path, ut_line, stat the absolute path with "/dev/" prefix. From David MacKenzie. Wed Dec 22 00:53:51 1993 Jim Meyering (meyering@comco.com) * expr.c (toarith): Interpret the empty string as just that rather than as the integer zero. Before, `expr "" == 0' output 1. Now it prints 0. * configure.in (AC_HAVE_HEADERS): Check for float.h for strtod.c. * configure.in (check for TIOCGWINSZ): Don't look in sys/ioctl.h or sys/ptem.h if we've already found it in termios.h. This eliminates redefinition warnings from including both termios.h and sys/ioctl.h on sytems running SunOS. From Matthew Seaman (matthew@dyson.ox.ac.uk). * date.1: Document new %s format and old `-' and `_' numeric field modifiers. * memcmp.c: Use the latest version from GNU C library. Mon Dec 20 23:29:30 1993 Jim Meyering (meyering@comco.com) * configure.in [test for 8-bit clean memcmp]: Add a test to detect losing memcmp from SunOS4.1.x. From Robert H. de Vries . Sat Dec 18 01:12:24 1993 Jim Meyering (meyering@comco.com) * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg so it goes in config.status. This eliminates unnecessary second run of configure. Fri Dec 10 01:06:28 1993 Jim Meyering (meyering@comco.com) * stty.c (screen_columns): Instead of dying just because Solaris' `ioctl (0, TIOCGWINSZ' fails (strangely only for telnet sessions, not rlogin sessions), ignore its errno == EINVAL and try to get the number of columns another way. * stty.c (set_window_size): If ioctl to get window size fails, (as on telnet sessions to Solaris 2.[12] systems) try to set the requested fields anyway, setting to zero any unspecified fields. This is what Sun's /bin/stty appears to do. * (display_window_size): Don't display anything for the number of rows and columns if the ioctl call intended to get them fails. Tue Nov 30 23:58:54 1993 Jim Meyering (meyering@comco.com) * Version 1.9.2. Mon Nov 29 00:28:35 1993 Jim Meyering (meyering@comco.com) * stty.c, configure.in, acconfig.h: Revert change of Nov 26. I am no longer able to reproduce the behavior that prompted that patch -- but I had tested only using an old version of gcc. When building with a more recent version of gcc or with /bin/cc there is no problem. Sat Nov 27 15:11:21 1993 Jim Meyering (meyering@comco.com) * nice.c (main): If an adjustment is specified, but no command is given, give a diagnostic in addition to the usage message. (isinteger): Accept a leading `+'. Fri Nov 26 18:49:42 1993 Jim Meyering (meyering@comco.com) * stty.c [GWINSZ_BROKEN]: Define TIOCGWINSZ to TCGETS for Solaris-2.2. On that system, ioctl (0, TIOCGWINSZ, &win) always fails, but using TCGETS works. Reported by Francois Pinard. * configure.in [GWINSZ_BROKEN]: New test to detect Solaris' inability to get window size from ioctl using TIOCGWINSZ. * acconfig.h [GWINSZ_BROKEN]: Add an #undef. Mon Nov 22 23:40:21 1993 Jim Meyering (meyering@comco.com) * who.c [defined (UTMPX_FILE)]: (undef and) define UTMP_FILE to this value even if UTMP_FILE is already defined. Because some systems define both symbols. From Arne H. Juul. * [MESG_BIT]: Rename to S_IWGRP (from sys/stat.h>) and define only if not already defined. Fri Nov 19 23:08:03 1993 Jim Meyering (meyering@comco.com) * who.c (print_entry): Produce reasonably formatted output even when sizeof (this->ut_name,ut_line) are much larger than 8. For Solaris and other SysVr4. With help from Arne H. Juul. * configure.in (HAVE_UTMPX_H): New test; combined with test for the ut_host field. From Arne H. Juul. * memcmp.c: New file. * lib/Makefile.in [SOURCES]: Add memcmp.c. * configure.in (AC_REPLACE_FUNCS): Add memcmp. Add test for 8-bit clean memcmp. * configure.in (AC_HAVE_FUNCS): Add isascii. * expr.c [!defined (isascii) || defined (STDC_HEADERS)]: This failed on AIX PS/2 1.3 systems because isascii is a function and it is used in definitions (with the necessary side effect of assigning to a global variable) of the is* macros. Also test HAVE_ISASCII and redefine ISASCII(c) instead of isascii. Reported by Minh Tran-Le (tranle@intellicorp.com). * printf.c: Ditto. * configure.in (AC_HAVE_HEADERS): Add sys/timeb.h; getdate.y tests HAVE_SYS_TIMEB_H. * stty.c (main): Detect the case in which POSIX-conformant tcsetattr fails and still returns zero. Wed Nov 17 21:05:10 1993 Jim Meyering (meyering@comco.com) * yes.c (main): Complete my half-finished Nov 2 change. yes with arguments did not print newlines. From Andreas Schwab (ls5.informatik.uni-dortmund.de). * stty.c (wrapf): Fix off-by-one error that could make `stty -a' output lines one character too long. From Andreas Schwab. Sat Nov 13 00:11:19 1993 Jim Meyering (meyering@comco.com) * Version 1.9.1. * configure.in [LIBS]: Add -lbsd if that is necessary to get the syslog function. With help from Kaveh Ghazi. * configure.in [LIBS]: Reorganize/unify the code that adds libraries solely to resolve syslog. Add a library only if it is required to resolve the syslog reference. * configure.in [AC_HAVE_HEADERS]: Check for sys/timeb.h. getdate.y needs to know. [LIBS]: Check for initgroups in -los. This is required by SCO-ODT-3.0 when linking su. [LIBS]: Check -lufc for crypt. Reported by Steven W Orr (steveo@world.std.com). Thu Nov 11 23:55:48 1993 Jim Meyering (meyering@comco.com) * id.c [NGROUPS_MAX]: Undefine before redefining. From Kaveh R. Ghazi (ghazi@noc.rutgers.edu). * who.c (list_entries): Trim any trailing blanks from ut_name and make sure the string is NUL-terminated before printing it. Before, `who -q' displayed 8-character names with a tty (e.g. `q1') suffix. * stty.c [CFLUSHO]: Move this definition so it follows the one for VFLUSHO. Mon Nov 08 23:16:36 1993 Jim Meyering (meyering@comco.com) * Version 1.9. * su.c (correct_password): Report an error and fail if getpass returns NULL. Tue Nov 02 01:14:21 1993 Jim Meyering (meyering@comco.com) * acconfig.h: Add comments. * printenv.c (main): Exit with status == 2 for file error. * yes.c (main): Restore argv/optind handling -- now that parse_long_options doesn't change optind. Mon Oct 25 19:22:58 1993 Jim Meyering (meyering@comco.com) * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, id.c, logname.c, nice.c, pathchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c, tee.c, test.c, tty.c, uname.c, who.c, whoami.c, yes.c: Use the preferred `--longopt=arg' syntax in --help message rather than `--longopt arg'. From Francois Pinard. * stty.c (main, integer_arg): Don't just call error(1,... about improper usage. Call `error (0,...' then usage (1). Sun Oct 24 14:10:23 1993 Jim Meyering (meyering@comco.com) * test.c [member]: Don't try to cast index return value to an int. That can lose on systems with 64-bit pointers. * long-options.c: Save and restore optind, too. * long-options.h: New file. * long-options.c, echo.c, expr.c, printf.c, test.c, yes.c: Include it instead of duplicating dcls. * src/Makefile.in: Add dependencies for it. Tue Oct 19 00:26:27 1993 Jim Meyering (meyering@comco.com) * expr.c [!__STDC__]: Don't define away `const'. configure alone decides whether to do that. From Francois Pinard. Sat Oct 16 22:32:54 1993 Jim Meyering (meyering@comco.com) * whoami.c (main): Cast printf arg UID so it matches the type expected by %u format no matter how uid_t is defined. * stty.c: Accept `status' option and VDISCARD as an alias for VFLUSHO. From Arne H. Juul (arnej@imf.unit.no). * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, false.sh, groups.sh, id.c, logname.c, long-options.c, nice.c, nohup.sh, pathchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c, tee.c, test.c, true.sh, tty.c, uname.c, who.c, whoami.c, yes.c: Using --help gets long well- formatted help. Now --help writes to stdout and exits successfully. From Francois Pinard . Wed Oct 13 13:10:27 1993 Jim Meyering (meyering@comco.com) * long-options.c: Include sys/types before system.h. From Franc,ois Pinard (pinard@iro.umontreal.ca). Tue Oct 12 00:53:26 1993 Jim Meyering (meyering@comco.com) * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". * src/Makefile.in [clean]: Also delete '['. Sun Oct 10 14:05:23 1993 Jim Meyering meyering@comco.com * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version. * src/Makefile.in (false, groups, nohup, true): Substitute the string from version.c for @VERSION@ in *.sh. Sat Oct 9 23:12:53 1993 Jim Meyering meyering@comco.com * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS. Tue Oct 5 22:18:05 1993 Jim Meyering meyering@comco.com * tty.c (main): Detect write error. Use isatty (rather than testing whether ttyname() is NULL) to determine exit status because ttyname may return NULL when stdin is a terminal device. * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a spurious `function returns without a value' warning. * printenv.c (main), tty.c (main): Detect and report write errors. * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c, tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version options. * long-options.c: New file. To let echo, expr, printf, test, and yes accept --help and --version as unobtrusively as possible. * src/Makefile.in [SORUCES]: Add it. * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN. * nice.c (main) [NICE_PRIORITY]: When given an argument, don't try to get current priority. nice() requires only the delta; we don't need to compute the absolute priority as for setpriority. Mon Oct 04 22:15:07 1993 Jim Meyering (meyering@comco.com) * who.c (print_entry, print_heading, who_am_i): Cast printf field width arguments to int to avoid warnings. (idle_string): Cast idle seconds and minutes to int. Declare functions read_utmp and idle_string to be static. Don't declare ttyname as static. * echo.c (just_echo): Use putchar instead of printf. * expr.c (parse_long_options): New function. (main): Use it to handle --version and --help properly. * tee.c (main): Put entire #ifdef inside if-braces to make structure clearer. (main, tee): Compare close() != 0 rather than close () == -1. * pathchk.c (portable_chars_only, dir_ok): Make a couple variables const. Wed Sep 08 00:07:36 1993 Jim Meyering (meyering@comco.com) * test.c [advance, unary_advance]: Rewrite using do{...}while(0) paradigm instead of comma expressions that make Alpha OSFv1.3 C compiler segfault. * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c: Add --help and --version options. Sat Jul 24 08:52:18 1993 Jim Meyering (meyering@comco.com) * configure.in: Check for -lshadow. Linux needs it when using shadow passwords. Reported by Mattias Olofsson . Thu May 27 20:05:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * configure.in (c_line test): Add missing `fi'. Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com) * mkinstalldirs: New file. * Makefile.in (installdirs): Use it. Thu May 13 01:03:16 1993 Jim Meyering (meyering@comco.com) * Makefile.in (installdirs): New rules for creating installation directories. (install): depend on it. Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com) * configure.in: Add AC_GETGROUPS_T. * id.c, test.c: Don't define GETGROUPS_T. Now configure does it. Sun May 2 00:21:05 1993 Jim Meyering (meyering@comco.com) * expr.c (eval6): Terminate result with a zero byte. The command `expr substr xx 1 2' would fail on systems with tight malloc. From Steve James . * expr.c (null): Recognize the string `0' as zero. (divide, mod): Upon request to divide by zero, give an error message instead of dumping core. From J.T. Conklin . * configure.in: Check for sys/time.h; getdate.y needs it for structs timeval and timezone on some systems. * Check for gettimeofday and for `struct tm'. * Add existence tests for memcpy and bcopy. * configure.in: Find a parser generator. * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined. Many vendor-supplied have a declaration of putenv that conflicts with ours. Tue Apr 20 02:33:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine whether sys/ioctl.h is needed to support `stty size'. Thu Apr 1 18:03:47 1993 Jim Meyering (meyering@comco.com) * printf.c, expr.c [isascii]: Undefine before redefining. Sun Mar 28 00:07:45 1993 Jim Meyering (meyering@comco.com) * stty.c: Accept `flush' option. From Arne H. Juul arnej@lise.unit.no * system.h: Don't define r?index, bcopy... if they're already defined. Thu Mar 25 22:41:01 1993 Jim Meyering (meyering@comco.com) * configure.in: Add AC_IRIX_SUN to get -lsun because Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints. From Kjetil Wiekhorst J|rgensen . Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com) * date.c: Add long-named options. Sun Dec 6 23:17:09 1992 Jim Meyering (meyering@comco.com) * date.c: Remove unused definition of isdigit. * expr.c (toarith): Change single use of isdigit to ISDIGIT. * printf.c (print_formatted, print_esc): Define ISDIGIT and ISXDIGIT and use them instead of isdigit and isxdigit. Wed Dec 2 12:49:11 1992 Jim Meyering (meyering@comco.com) * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c, uname.c, who.c: Convert static declarations of struct option to use new macros from getopt.h: no_argument, required_argument, and optional_argument. Tue Nov 24 09:46:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * echo.c: Use V9_DEFAULT instead of USG. Define it always. * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG. Wed Nov 11 18:19:10 1992 Jim Meyering (meyering@hal.gnu.ai.mit.edu) * All files in src: Make all functions and extern variables static. Make all longopts arrays const as well as static. Make a couple statically initialized aggregates `const.' * pathchk.c (portable_chars_only): Cast char used as array index. * echo.c (main), su.c (restricted_shell): Add parentheses to assignment statements used in boolean context. * stty.c (set_mode): Parenthesize expressions with bit operations to correctly set/reset modes bits. Wed Oct 28 14:16:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * Version 1.8. * stty.c: Accept Irix VRPRNT for VREPRINT. From Jim Meyering. * stty.c: Fix some type mismatches. From Bruce Evans, bde@runx.oz.au. * who.c (read_utmp): Close file on error. From Bruce Evans. * su.c, test.c: Add some decls. From Bruce Evans. * sleep.c (main): Arg to sleep is unsigned, not long. From Bruce Evans. Fri Sep 11 00:25:52 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * echo.c, echo.1: New files. Thu Sep 10 18:42:44 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * pathchk.c (main): Don't strip trailing slashes from args; they might make a path invalid. (portable_chars_only, dir_ok): New functions. (validate_path): Renamed from validate_new_path. Call them. Don't complain if a leading dir doesn't exist. Don't replace `parent' with a dir that doesn't exist. Don't print a message when falling back from pathconf to constant values. * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead of /etc/utmp. From Marc Boucher . Tue Aug 25 17:02:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * Version 1.7. * groups.sh, nohup.sh: Add $(bindir) to front of path. Mon Aug 24 16:39:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * stty.c: make sane value for "min" 1, not 0. From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible). Sun Aug 23 03:02:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * id.c, test.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun. Sat Aug 22 03:16:41 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT ACIS sys/param.h conflict. * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the encrypted correct password from the shadow password file. Fri Jul 17 15:25:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * su.c, getusershell.c: New files. Fri Jul 3 15:08:43 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * stty.c, who.c: Change FOO_MISSING to HAVE_FOO. Fri Jun 5 01:49:29 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * strcspn.c: New file. * expr.c: Misc. cleanups. * expr.c (eval7): Renamed from eval6. Give syntax error if no more args. Don't coerce all values to numbers. (eval6): New function. (eval5): Accept == as a synonym for =. (eval2): Coerce values to numbers for comparisons. Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu). Thu Jun 4 19:32:09 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * printf.c (print_formatted): Move main loop into new function. (main): Add an outer loop to use the format multiple times. (verify): Don't reject a completely empty string. Check errno (for overflow). * false.sh, true.sh: New programs. Oh, boy. Thu May 14 01:17:22 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * stty.c (set_mode): Support crt and dec modes partially if necessary, so they work on, for example, Ultrix . . . . Wed May 13 14:47:45 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * stty.c (set_mode): Swap nl and -nl. Have them also affect output as well as input. Tue May 12 00:07:28 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * date.c (show_date): Use strftime for the whole conversion. Tue May 5 15:20:24 1992 David J. MacKenzie (djm@hal) * stty.c (wrapf): Print the formatted buffer; don't redo the formatting using vprintf. Thu Apr 30 01:17:08 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions. (main, print_direc): Use them. Make error messages more specific. * tee.c (tee): Only malloc and free the table of file descriptors if >0 files are given. Fri Apr 17 11:56:48 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * pathchk.c (validate_new_path): Print the name of the component that failed the length test, not the whole path. From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de). Mon Apr 6 15:11:36 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * who.c (read_utmp): Check close return for error. (print_heading): Align columns based on sizes of utmp members. (who_am_i): Skip past /dev/ instead of skipping leading path. Mon Mar 16 23:47:03 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu) * date.c (show_date): Don't call strftime if FORMAT is the empty string. * date.c (main): Reorganize to reduce duplicated code. Add -d option. (usage): Document -d. (set_date): Function removed. Tue Feb 11 16:12:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * printf.c (print_esc): When a numeric escape is given, don't call print_esc_char, and return 1 less. From Thorston Ohl. Mon Jan 20 02:17:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.6. * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11. Fri Jan 17 15:46:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * expr.c (docolon): Use re_nsub to find the number of subexpressions . . . From Karl Berry, who knows. Wed Dec 25 23:27:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find out if there were any subexpressions, instead of the old way (re_regs.start[1] >= 0), which can cause random memory accesses with regex 0.1. From Brian Matthews. Tue Dec 24 02:12:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION. Wed Dec 11 13:15:09 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.5. * expr.c (main): Set obscure_syntax to tell re_match to allocate memory for the group registers. Mon Dec 9 16:03:14 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu) * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV. Sat Dec 7 00:32:02 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.4. * env, id, nice, pathchk, stty, tee, tty, uname: Change usage messages and documentation to list long-named options starting with `--' rather than `+'. * env.c (main), nice.c (main): Simplify test for which exit status to use if exec fails. Fri Dec 6 23:49:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tee.c (main) [POSIX]: Use sigaction instead of signal, which POSIX doesn't have. Fri Oct 18 00:31:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * test.c (two_arguments): Fix from Chet. * expr.c: Include regex.h after sys/types.h, not before, so size_t gets defined. * test.c: New version, adapted from bash 1.10. * id.c: GID_T -> GETGROUPS_T, for clarity. Sat Oct 12 14:38:34 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * configure: Define uid_t and gid_t as int if they're not defined in sys/types.h. That's probably right for old Unixes and avoids trying to find the C preprocessor. Sat Sep 28 13:01:23 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * stty.c (set_mode): Make `raw' and `cooked' not change parity and character size, which would probably make them useless on 7-bit lines. Make `raw' set the `time' character to 0, not 1. From Bruce Evans. * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX. Fri Sep 13 14:59:51 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX. Thu Aug 29 14:43:07 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * test.c: Don't include sys/file.h if POSIX. Use gid_t for getgroups. * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them. (display_speed): Fix a printf string type mismatch. From Bruce Evans. Mon Aug 26 16:52:51 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu) * configure, src/Makefile.in, lib/Makefile.in: Only put $< in Makefiles if VPATH is being used, because older makes don't understand it. Mon Aug 19 01:57:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.3. Sat Aug 17 22:48:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * src/Makefile.in (install): Install a link to test called '['. Wed Aug 14 12:22:57 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * test.c (unary_operator): Check first char of string, not its address. Sun Aug 11 18:10:30 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.2. * system.h: Define S_IFMT if needed, for test.c. * test.c: New file, from bash. * nice.c: Change +priority to +adjustment (more accurate). Sat Aug 10 13:09:51 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h. * nice.c, configure: Use nice if available and setpriority is missing. Thu Aug 8 01:34:05 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * date.c: USG needs TZ=GMT0 for UCT timezone, also. * stty.c: Add pass8 and litout modes. Sun Aug 4 22:45:51 1991 David J. MacKenzie (djm at wheat-chex) * Version 1.1. Fri Aug 2 13:22:31 1991 David J. MacKenzie (djm at apple-gunkies) * configure: Implement +srcdir. Don't check for bison. * stty.c: Don't change ixon in "sane" mode. * configure: Use 1 instead of 255 for checking tzname, because of signedness. Thu Aug 1 13:40:58 1991 David J. MacKenzie (djm at apple-gunkies) * printenv.c (main): Don't print the variable names when given args, as people seem to use printenv in scripts after all . . . . * stty.c: Don't change parity or character size settings in "sane" mode. The right values for those depend on the hardware. Wed Jul 31 01:19:01 1991 David J. MacKenzie (djm at hal) * stty.c [_AIX]: Include sys/ioctl.h -- needed on AIX to get window size. Tue Jul 30 00:06:54 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * getdate.y: New file. * date.c: Add -s option to set date in English. * configure: Check for ftime. * date.c: Remove COMPUTE_TM_ZONE code, which didn't work. * configure: Instead of checking whether tzname is declared, check whether it exists. * logname.c (main): Go back to just printing an error message if getlogin fails, as required by POSIX. * stty.c (screen_columns, wrapf): New functions to implement output wrapping. Globally: use them. * configure: Define uid_t and gid_t if sys/types.h doesn't. * system.h: Define F_OK et al. if nothing else does. Mon Jul 29 21:11:16 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu) * pathchk.c (validate_new_path): Rearrange tests so that pathconf is only called on existing directories. Use access instead of stat to determine directory searchability. From Jim Meyering. * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO. Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * stty.c (sane_mode): Always set control chars to sane values. Set min and time if they're different from eof and eol. * whoami.c: Print UID as unsigned. * logname.c: Do "whoami" if getlogin fails. * logname.c (main): fprintf was missing an arg. Tue Jul 23 02:20:15 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * id.c: GID_T is int if ultrix as well as if sun. * stty.c: Implement raw and cooked modes. Mon Jul 22 15:21:21 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * tee.c (main): close stdin and stdout to check for errors. * stty.c: Use tcflag_t for termios bitmasks. Use speed_t for speeds. Use unsigned long for baud rates to accommodate large values, and support 57600 and 115200 if available. * date.c, configure: Instead of SIZE_T_MISSING, define size_t if it's missing. * id.c, whoami.c: Use uid_t and gid_t. * id.c: If POSIX and not sun (bogus!), pass getgroups and getugroups an array of gid_t instead of int. * system.h: New file. * Most programs: include it. Fri Jul 19 12:04:58 1991 David J. MacKenzie (djm at apple-gunkies) * env.c [!STDC_HEADERS]: Declare errno. * printf.c, pathchk.c: Don't include errno.h; not needed. * version.c: New file. * All C programs: Link with it, to get version number in the binary where at least `strings -' and grep can find it. * pathchk.c (strip_trailing_slashes): Function removed; use version in lib. Mon Jul 15 11:34:22 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 1.0. * pathchk.c: Always check whether _POSIX_PATH_MAX and _POSIX_NAME_MAX need to be defined. [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path returns -1 (some systems do this if the path does not exist), use pathconf for "/". Sun Jul 14 21:17:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * date.c (date_seconds): Function removed, replaced with posixtm.y in lib. (set_date): Change caller. * configure: Check for bison. * stty.c [!C_LINE_MISSING]: Add support for setting and printing the line discipline. * configure: Check for C_LINE_MISSING. * configure: Check for Minix. Sat Jul 13 01:33:59 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * Add `man' directory and manual pages. * configure: Set INSTALLDATA and MAN. * id.c: Add #ifdefs for POSIX ways of getting max groups list size. (print_group_list, print_full_info): Allocate list of groups with malloc since its size might not be constant. * nice.c (main): Don't adjust priority if printing it. Default adjustment of 10, not 0. * printf.c: Add \c escape and %b conversion. Implement '*' for field width and precision. Make all errors fatal. (print_esc_string, print_esc): New functions. * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME. * configure: Always check where to find struct tm. * yes.c: Rewrite to accept multiple arguments. * Add groups.sh. Fri Jul 12 10:57:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * dirname.c: Move code from dirname function into main, simplifying things quite a bit. From Jim Meyering. * Omit strdup from lib; no longer used. * configure: Don't check for strdup. * printenv.c (main): If args given, print the values in the order given on the command line rather than the order given in the environment. * tee.c, tty.c (struct longopts): Revise to make short-option equivalents clear. Thu Jul 11 12:46:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * nice.c: Add long options. * Add date command and libraries it needs. * configure: Updated. * env.c: Add long options. Use GNU putenv instead of custom setenv function. * id.c: Add long options. * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX and PATH_MAX. * nice.c: Use exit status required for nohup by POSIX.2 (nohup execs nice). * sleep.c: Don't bother with hex and octal. * env.c: Fix exit status for POSIX.2 draft 11.1. * Many files: Remove private copies of xmalloc, error, xstrdup, etc. to use shared versions. Fix #includes for USG, STDC_HEADERS, POSIX. Mon Jul 8 18:56:24 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * date.c (main): For -u, set TZ to "" instead of "GMT0", unless on HP-UX or Ultrix. * Rename some feature-test macros. * stime.c: Created from code in date.c. * date.c (compute_tm_zone): New function. (date_seconds, show_date): Use it. (xmalloc, xrealloc): Functions removed; use xmalloc.c instead. Tue Jul 2 02:28:11 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * tee.c (tee): Report errors in closing files. Mon Mar 18 10:13:59 1991 Jeffrey A. Law (law at geech.ai.mit.edu) * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then compute the proper value to place in tm->tm_zone from information returned by localtime and gettimeofday. Fri Apr 26 11:38:09 1991 David J. MacKenzie (djm at mole.gnu.ai.mit.edu) * stty.c: Define default values for control chars if necessary. Complain about invalid options if no other options follow. Use POSIX functions instead of ioctl, for manipulating termios. * expr.c (main): Exit status was backwards. Thu Dec 20 00:36:01 1990 David J. MacKenzie (djm at apple-gunkies) * id.c: Reorganization and many changes to fix bugs and POSIX compliance problems. Mon Dec 10 03:09:13 1990 David J. MacKenzie (djm at apple-gunkies) * stty.c: Don't declare printf and some other functions that might have variable numbers of args in system header file decls. Tue Nov 14 23:37:22 1990 Roland McGrath (roland at geech.ai.mit.edu) * id.c (print_groups): Put spaces after commas. (print_group): New fn, to print a group id. Uses numeric fmt unless -n, in which case it uses group names. (print_groups): Call it. Find the rgid and egid, and print them as well as the supplementary groups. Make sure we print each group only once. Sun Sep 16 01:49:14 1990 David J. MacKenzie (djm at apple-gunkies) * id.c (main): Add -G option for POSIX.2 draft 10. Allow a username to be given. (print_groups): New function from code in main. (getugroups): New function. Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * env.c (main): Instead of setting _POSIX_OPTION_ORDER, tell getopt to not permute, with `+'. Sat Aug 11 01:32:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * expr.c: Use regex.c library instead of private regex routines. * nice.c (main): Add -n option for POSIX.2a. (usage): New function. Fri Aug 10 23:58:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * who.c: Add -m, -i, -w options for POSIX.2a. Tue Aug 7 00:01:02 1990 David J. MacKenzie (djm at apple-gunkies) * expr.c: Use exit directly instead of longjmp on error. Use argv[0] instead of hardcoded "expr" in messages. Make some functions void. Sat Aug 4 21:19:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * env.c: Change exit statuses for POSIX draft 10. Wed Jul 4 04:32:51 1990 David J. MacKenzie (djm at apple-gunkies) * tee.c: Use error instead of perror_with_name and out_of_memory. Wed Jun 20 02:39:49 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS. Declare some more functions. Replace fatal, memory_out, and nonfatal_perror with error. Mon Jun 18 00:16:52 1990 David J. MacKenzie (djm at apple-gunkies) * stty.c: Add some Unix compatibility modes. Sat Jun 16 21:05:59 1990 David J. MacKenzie (djm at apple-gunkies) * stty.c (display_changed, display_all): Print values of min and time. Thu Jun 14 17:49:31 1990 David J. MacKenzie (djm at apple-gunkies) * stty.c: Implement tab, backspace, etc. delay args. Thu May 31 12:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * nohup.sh: Don't ignore SIGTERM. If ./nohup.out is unwritable, try $HOME/nohup.out. Thu May 3 22:33:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * who.c: Use error instead of fatal and fatal_perror. (print_headings): Print headings in all caps, like SYSV does. (list_entries): New function for -q to make it like SYSV -q. (valid_entries): Function removed. Mon Apr 2 01:27:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * id.c (main): Don't strip off leading path from program name. Revise a couple of error messages. * whoami.c (main): Use geteuid, not getuid, for Unix compatibility. Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * tee.c (main): Pass list of files and its size as args to tee rather than as global vars. Exit with return value of tee instead of always 0. (tee): Use unbuffered I/O instead of stdio, for POSIX. Return an error status. (xwrite): New function. Tue Mar 13 00:38:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * who.c (who_am_i): Print heading before checking to see whether there is an entry for the tty on stdin, for consistency with the who function. (main): Use argv[optind], not argv[1], as alternate file. Fri Mar 9 15:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV utmp.h. Include some additional header files. (main): Recognize some options from SysVr3 who. Call usage. Set new global var `program_name' from argv[0]. (usage): New function. (who): If -q given, only print count of users logged on. (print_entry): New function to format an entry on the output; make format more like that of the Unix who programs. (print_heading): New function to print a line describing each output field. (who, who_am_i): Call print_entry and print_heading. (valid_entries): New function to return count of nonempty entries in utmp. (search_entries): Compare with utmp tty field instead of username field. Don't assume null termination in utmp field. (who_am_i): Print the entry for the tty on stdin rather than the first entry found for the uid. If hostname is not available, use a null one instead of "". Don't hardcode max hostname length. (idle_string): New function to format idle time field. (fatal, fatal_perror): Use program_name instead of hardcoded "who" in error messages. Tue Mar 6 00:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * printenv.c (main): Allow multiple variables to be specified. (barf): Function removed. Sat Jan 20 18:41:48 1990 Jim Kingdon (kingdon at geech) * expr.c (nextarg): Do not pass *args to strcmp if NULL. Mon Dec 18 09:57:20 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * printenv.c (main): Simplify error messages. Sat Dec 16 15:15:50 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu) * expr.c: Indent to regularize spacing. (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)' so they compile. (docolon): Remove unused vars. (multiply): Rename from times to avoid libc conflict. (error): Include program name in message. (xmalloc): Rename from Malloc. (re_compiled): Rename from re_comp to avoid libc conflict. * basename.c: Fix some weird indentation. (main): Print a clearer usage message. Use a simpler method for removing suffix, if given. (fatal): Function no longer used; removed. * sleep.c: (main): Rename `time' to `seconds'. Print usage message if given no args. Exit with status 0 instead of falling off end. (error): Print to stderr, not stdout. * tee.c: (main): Use getopt_long instead of custom parser, and adjust usage message. Use list of filenames in argv rather than making a copy. (tee): New function created from the second half of main. Fix bug where it tried to fclose a loop index instead of a stream. (xmalloc): Ok to return 0 if 0 bytes requested. (xrealloc): Unused function removed. * whoami.c: Canonicalize usage message and fix error message. * who.c: Declare some functions. (fatal_perror): New function for printing errors after system calls. Global: Use it when appropriate. (xmalloc): Return char *, not int. (read_utmp): Ok if utmp file is empty. Include filename in error messages. (scan_entries): Adjust columns to line up better, particularly when there are users with 8 character long usernames logged in. Sat Oct 28 13:20:43 1989 David J. MacKenzie (djm at spiff) * uname.c: Added long options. global: changed the word `part' to the word `element' (more precise). (program_name, long_options): New variables. (main): Support long options. (usage): Add long options summary to message. ----- Copyright (C) 1989-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. Local Variables: mode: indented-text left-margin: 8 version-control: never End: coreutils-8.21/old/sh-utils/NEWS0000664000000000000000000003167212102337340013377 00000000000000 [2.0.15] * date no longer accepts e.g., September 31 in the MMDDhhmm syntax * fix a bug in this package's .m4 files and in configure.ac [2.0.14] * nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001: - nohup no longer adjusts scheduling priority; use "nice" for that. - nohup now redirects stderr to stdout, if stderr is not a terminal. - nohup exit status is now 126 if command was found but not invoked, 127 if nohup failed or if command was not found. [2.0.13] * uname and uptime work better on *BSD systems * pathchk now exits nonzero for a path with a directory component that specifies a non-directory [2.0.12] * kill: new program * who accepts new options: --all (-a), --boot (-b), --dead (-d), --login, --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u). The -u option now produces POSIX-specified results and is the same as the long option `--users'. --idle is no longer the same as -u. * The following changes apply on systems conforming to POSIX 1003.1-2001, and are required by the new POSIX standard: - `date -I' is no longer supported. Instead, use `date --iso-8601'. - `nice -NUM' is no longer supported. Instead, use `nice -n NUM'. * New 'uname' options -i or --hardware-platform, and -o or --operating-system. 'uname -a' now outputs -i and -o information at the end. New uname option --kernel-version is an alias for -v. Uname option --release has been renamed to --kernel-release, and --sysname has been renamed to --kernel-name; the old options will work for a while, but are no longer documented. * 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX. * 'expr' now requires '+' rather than 'quote' to quote tokens; this removes an incompatibility with POSIX. * date -d 'last friday' would print a date/time that was one hour off (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) when run such that the current time and the target date/time fall on opposite sides of a daylight savings time transition. This problem arose only with relative date strings like `last monday'. It was not a problem with strings that include absolute dates. * factor is twice as fast, for large numbers [2.0.11] * setting the date now works properly, even when using -u * `date -f - < /dev/null' no longer dumps core * some DOS/Windows portability changes [2.0j] * `date -d DATE' now parses certain relative DATEs correctly [2.0i] * fixed a bug introduced in 2.0h that made many programs fail with a `write error' when invoked with the --version option [2.0h] * all programs fail when printing --help or --version output to a full device * printf exits nonzero upon write failure * yes now detects and terminates upon write failure * date --rfc-822 now always emits day and month names from the `C' locale * portability tweaks for Solaris8, Ultrix, and DOS [2.0g] * date now handles two-digit years with leading zeros correctly. * printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the required support; from Bruno Haible. * stty's rprnt attribute now works on HPUX 10.20 * seq's --equal-width option works more portably [2.0f] * fix build problems with ut_name vs. ut_user [2.0e] * stty: fix long-standing bug that caused test failures on at least HPUX systems when COLUMNS was set to zero * still more portability fixes * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [2.0d] * fix portability problem with sleep vs lib/strtod.c's requirement for -lm [2.0c] * fix portability problems with nanosleep.c and with the new code in sleep.c [2.0b] * Regenerate lib/Makefile.in so that nanosleep.c is distributed. [2.0a] * sleep accepts floating point arguments on command line * sleep's clock continues counting down when sleep is suspended * when a suspended sleep process is resumed, it continues sleeping if there is any time remaining * who once again prints whatever host information it has, even without --lookup Changes in release 2.0 * disable stty tests (otherwise they fail) when `make check' is run via rsh [1.16m] * false and true now ignore --help and --version when POSIXLY_CORRECT is set [1.16l] * false and true are now C programs rather than shell scripts [1.16k] * fix typos in my version of AC_SEARCH_LIBS. * fix dates on config files so builders don't need autoconf/automake [1.16j] * work around problems with my use of AC_SEARCH_LIBS * fix a bug in id [1.16i] * portability tweaks for lib/readutmp.[ch] and src/date.c [1.16h] * seq with no arguments now elicits a useful diagnostic rather than a segfault * portability tweaks to work around utmpname differences * who works on Solaris [1.16g] * factor now uses uintmax_t, so the largest number it can factor is now 2^64 - 1 on systems with type `long long'. * nohup no longer modifies the shell's search path * `basename /' now prints `/', per the single unix spec * `who --lookup' no longer erroneously reports `localhost' for IP addresses for which it could not do a reverse lookup. * `id user' wouldn't report a group id in some situations. Now it always does. [1.16f] * chroot now calls chdir ("/") after chroot. * `date -s' now exits with nonzero status upon failure * new autoconf tests detect bugs in vendor mktime from Irix-6.4 and SunOS4.1.4 Your executables will be a little larger on such systems because you'll use GNU's mktime function, but date will work more reliably. * hostid: new program * `yes --help' and `yes --version' print those strings when the POSIXLY_CORRECT environment variable is set * who no longer does DNS lookups by default -- the new option, --lookup (-l), enables lookups [1.16e] * pinky: new lightweight finger-style program [1.16d] * the groups script now exits non-zero and doesn't print anything more when `id' fails [1.16c] * date -u -d DATE now prints the correct date * don't remove already-installed su unless it is possible to install the new one setuid root. [1.16b] [1.16a] * expr accepts new unary operator, quote. * expr now returns 0 for failed matches where pattern contained e.g., `\\(' * date -d DATE now works on Unicos systems * add tests for factor and more for date. * factor runs a lot faster for large 64-bit inputs * date works with relative offsets involving the `next' keyword Changes in release 1.16 * stty -tabs works properly * add tests for date * date --date "02/29/1996 - 1 year" now works properly Changes in release 1.15 * nice works with very recently-changed GNU libc getopt * fix several bugs in m4 macros used to create `configure' script * id works on systems with disfunctional getgroups function * uptime configure test detects /proc/uptime on Linux Changes in release 1.14 * fix bug in getdate.y that broke date's --date=DATE option on systems like SunOS4. * expr treats unadorned ? and + as literals. To make expr treat them as operators you have to use \? and \+. Changes in release 1.13 * two patches for ISC * Regenerate all Makefile.in using a patched version of automake-1.1l. [1.12s] * lots of little bug fixes -- see ChangeLog [1.12r] * uname --processor (-p) works on systems that have sysinfo and define SI_ARCHITECTURE. * stty works better on systems like i386-pc-isc3.0 * date --date=DATE accepts dates like those in an RCS log listing, e.g., `1992/11/01 05:44:34'. * printf now warns if excess arguments are ignored. * tee no longer fails immediately upon receipt of SIGPIPE [1.12q] * running `make check' runs tests of nice * lots of configuration-related improvements * nice allows `+' in options like -+8 and -+13. * when matching, expr warns about non-portability when the first character of the basic regular expression is `^' * `id user' no longer prints bogus group list * uses automake-generated Makefile templates * date accepts new %V format * date's %U and %W formats work properly * nice option handling works with 2-digit old-style-option adjustments. Now, `nice -18 -- nice' prints `18'. Before it printed `8'. * internationalized diagnostic messages * `date -d "01/01/1998 3 years" +%Y' now works properly. It prints 2001. * New programs: chroot, factor, seq, uptime. * date accepts new option: --rfc-822 (-R) * date accepts new format, %z, for RFC-822 style numeric timezone (-0500) * date: fix bugs in the handling of date -u +'%s %Z'. * date accepts new option --reference=FILE (-r FILE) analogous to the like-named touch option. * date can now format dates up to and including ones in the year 2037 User visible changes in release 1.12 * None. User visible changes in release 1.11 * date accepts new option: (-f) --file=DATEFILE * skeletal texinfo documentation (mainly just the `invoking' nodes) * `stty werase ^W' works. Before, werase wasn't enabled for AIX-3.2.5. * su with no arguments works properly * nice accepts options like `--5' (this is interpreted like `-n -5') * nice now interprets `-1 -1' like `-1' not like `-11' * `stty speed' and `stty size' no longer output a spurious newline User visible changes in release 1.10 * change package name from shellutils to sh-utils * add hostname, pwd, and users commands * --version outputs the name of the utility as well as the package name and version number. * Configure properly determines options for stty on SCO ODT 3.0 systems. * `date -d' works better. Before, `date -d '4apr94'' produced `Sun Apr 3 23:00:00 CDT 1994'. User visible changes in release 1.9.4 * Repair stty option handling. User visible changes in release 1.9.3 * `stty -a -g' gets a diagnostic * `stty {-a|-g} any-other-argument' gets a diagnostic * stty no longer ignores some of its arguments * basename and dirname no longer treat `--' specially * `basename -- file.c .c' generates a usage error. Before, it output `file'. * `basename file-dist -dist' outputs `file'. Before it output `file-dist'. * stty defaults `swtch' to undefined for Solaris so `susp' (^Z) will work. Before, with the default settings ^Z did nothing. * stty no longer gives an error message when it finds a spurious difference (due to buggy tcgetattr/tcsetattr) between requested and current tty modes under SunOS 4.1.x. * stty no longer fails if the ioctl to determine the display width fails when displaying settings. * stty works around SunOS 4.x kernel bug that made `stty rows 0 cols 0' fail. * who and tee no longer fail gratuitously when continued after an interrupted read or write system call. * date accepts new format: %s time in seconds since 1970-01-01 00:00:00 UCT * date -d can parse dates like `11-JUL-1991' * expr '' == 0 works (before, it printed 1) * stty no longer fails on telnet sessions to Solaris systems * `cd /etc; who utmp' now works. Before, any filename argument had to be absolute or relative to /dev. User visible changes in release 1.9.2: * who output is better formatted on Solaris and other SysVr4 systems * fix a minor problem in formatting the output from `stty -a' * yes with arguments outputs newlines again * partial stty failures are reported Major changes in release 1.9.1: * stty can be built on Suns again * minor fix for who -q Major changes in release 1.9: * su fails gracefully when getpass is unable to open /dev/tty. * printenv and tty detect and report write errors * fix bug in stty * stty accepts the new options status and flush on systems that provide them * `expr 1 / 0' gives an error message rather than trying to divide by zero * expr's `substr' doesn't overrun malloc'd buffer * expr recognizes the string `0' as zero * better support for Linux, Dec Alpha, and SGI Irix * all programs (even true and false) accept --version and --help options * uname's --version option is no longer equivalent to its -v option * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. * make may be run from the subdirectories Major changes in release 1.8: * add echo command * fix some incorrect warnings in pathchk * look at the right utmp file on 386BSD * date doesn't dump core on some systems now Major changes in release 1.7: * add su, who, true, false commands * add more tests to expr * fix printf program handling of \ escapes * printf can re-use format string for multiple groups of arguments * printf catches numeric conversion errors with an ANSI C library * stty nl and -nl were backwards * date can format an arbitrary date without setting it ======================================================================== Copyright (C) 1992-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. coreutils-8.21/old/sh-utils/ChangeLog0000664000000000000000000050274212102337340014453 000000000000002006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * ChangeLog.0: Likewise. * NEWS: Likewise. 2002-08-08 Jim Meyering * Version 2.0.15. 2002-08-05 Paul Eggert Fix some minor time-related bugs with POSIX time arguments. Some valid time stamps were being rejected (notably -1, and time stamps before 1900 on 64-bit hosts). And some invalid time stamps were being accepted, e.g. September 31. * src/date.c (main): Adjust to posixtime signature change. 2002-08-05 Jim Meyering * configure.ac: Change $am_cv_sys_posix_termios to $ac_cv_sys_posix_termios. From Andreas Schwab. 2002-08-04 Jim Meyering * Version 2.0.14. 2002-07-30 Paul Eggert * src/chroot.c (main): Exit with status 126 or 127 when execvp or execv fails, for consistency with POSIX commands like env and nice. * src/su.c (run_shell): Likewise. 2002-07-29 Paul Eggert * src/nohup.sh: Change behavior to conform to POSIX 1003.1-2001: - Do not adjust scheduling priority. - Redirects stderr to stdout, if stderr is not a terminal. - Exit status is now 126 if command was found but not invoked, 127 if nohup failed or if command was not found. Fix bug: command was run if nohup.out wasn't writeable. * NEWS, doc/coreutils.texi: Document the above. 2002-07-28 Jim Meyering * configure.ac: Require automake-1.6b. 2002-07-27 Jim Meyering * Version 2.0.13. * src/who.c (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Remove definitions. Now they're defined in readutmp.h. (print_deadprocs): Remove obsolete FIXME comment. 2002-07-07 Paul Eggert * src/nohup.sh: Port to POSIX 1003.1-2001 "nice", which requires the option "-n 5" rather than "-5". This matters with GNU "nice" if the user has set the _POSIX2_VERSION environment variable. 2002-07-24 Jim Meyering * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt false. 2002-07-20 Jim Meyering * Upgrade to cvs automake -- required to work with 2.53b. * configure.ac: Require automake-1.6a. * tests/Makefile.am (TESTS_ENVIRONMENT): Remove now-unused parts of this definition. (EXTRA_DIST): Add priv-check. * tests/priv-check: New file. * Upgrade to gettext-0.11.3. * Upgrade to autoconf-2.53b. 2002-07-18 Jim Meyering * src/uname.c (main): Test sysctl(...) >= 0, not == 0, since on NetBSD the return value may well be positive. Use one-line aggregate initializations. Use tightly scoped static buffers to avoid warnings about unused variables on some systems. 2002-05-07 Paul Eggert Add support for BSD-style sysctl to get the strings needed for uname -p and uname -i. Unfortunately the different BSDs vary, but I've surveyed FreeBSD, NetBSD, and OpenBSD. * src/uname.c (UNAME_HARDWARE_PLATFORM, UNAME_PROCESSOR): New macros. (main): Use them, along with sysctl, to support uname -i and uname -p on BSD hosts. 2002-07-17 Jim Meyering * src/uptime.c (print_uptime): Restore use of (equivalent, but more readable) `>=' from Bruno's patch. * configure.ac (jm_BOOT_TIME): Remove. (moved/renamed to m4/boottime.m4) Use the replacement: GNULIB_BOOT_TIME. 2002-07-13 Bruno Haible * src/uptime.c: Include sys/sysctl.h. (print_uptime): Add support for determining the boot time on FreeBSD. 2002-07-15 Jim Meyering * src/uptime.c (print_uptime): Use STREQ in place of !strcmp. * src/uname.c (main): Remove unnecessary uses of `defined' when operating on `HAVE_...' symbols. Remove unnecessary parentheses. 2002-07-02 Jim Meyering * src/basename.c, src/chroot.c, src/date.c, src/dirname.c (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. * src/echo.c, src/env.c, src/expr.c, src/factor.c: Likewise. * src/hostname.c, src/id.c, src/kill.c, src/logname.c: Likewise. * src/nice.c, src/pathchk.c, src/pinky.c, src/printenv.c: Likewise. * src/printf.c, src/pwd.c, src/seq.c, src/sleep.c, src/stty.c: Likewise. * src/su.c, src/tee.c, src/test.c, src/true.c, src/tty.c: Likewise. * src/uname.c, src/uptime.c, src/users.c, src/who.c: Likewise. * src/whoami.c, src/yes.c: Likewise. * src/Makefile.am (.sh): Also substitute @PACKAGE_BUGREPORT@. * src/groups.sh (usage): Use @PACKAGE_BUGREPORT@, rather than hard-coding a deprecated address. * src/nohup.sh (usage_help): Likewise. * src/date.c (usage): Mention that the expansions of %p and %P are empty in many locales. From matthew arnison. 2002-06-22 Jim Meyering * configure.ac: Invoke AC_GNU_SOURCE very early. 2002-05-24 Jim Meyering * tests/nice: Move this file... * tests/misc/nice: ...to here. * tests/Makefile.am (TESTS): Remove nice. * tests/misc/Makefile.am (TESTS): Add nice. * configure.ac (AC_CONFIG_FILES): Add tests/misc/Makefile. * src/pathchk.c (validate_path): Compare the result of the function -- not its (constant) address -- against zero. Patch from Tim J. Robbins * tests/misc/pathchk1: New test for the above. * tests/misc: New directory. * tests/Makefile.am (SUBDIRS): Add misc. * tests/misc/Makefile.am: New file. 2002-05-03 Jim Meyering * src/uptime.c (print_uptime): Use ngettext for day/days and user/users. Suggestion from Karl Eichwalder. * src/kill.c (usage): Add a little to the description of --list. Uncapitalize first word and remove period at end of each one line option description. * src/who.c (usage): Tweak description of --users. From Karl Eichwalder. 2002-04-29 Jim Meyering * Version 2.0.12. Avoid warnings from gcc. * src/who.c (PIDSTR_DECL_AND_INIT): Cast ut_pid value to int. (make_id_equals_comment): Cast sizeof expression (used as field width argument) to `int'. * configure, config.hin, Makefile.in, etc.: Regenerate using autoconf-2.53a. 2002-04-28 Jim Meyering * src/who.c: Don't include xalloc.h. It's already included via system.h. 2002-04-28 Paul Eggert * src/kill.c: Rewrite from scratch. Support everything required by POSIX 1003.1-2001; when this conflicts with Bash, stick with POSIX. The conflicts are kill -l output format, and lower case signal names preceded by `-' (e.g., "kill -hup" is no longer supported). Remove -L or --long-list option. Add -t or --table option. Rename --sigspec to --signal; remove --signum and do not advertise obsolescent option -n. Use str2sig and str2sig to convert between signal names and numbers. * doc/coreutils.texi (kill invocation): Document the above. Document POSIX signals better. * lib/sig2str.h, lib/sig2str.c: New files. * configure.ac (AC_CHECK_DECLS): Add str2signal, strtoimax, sys_siglist, _sys_siglist. * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h. * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. (jm_PREREQ_SIG2STR): New macro. 2002-04-28 Jim Meyering * src/test.c (test_syntax_error): Add `const' to paramater declarations to avoid new warning from gcc. (integer_expected_error): Likewise. 2002-04-25 Jim Meyering * configure.ac (AM_GNU_GETTEXT): Add external arg. (AC_CONFIG_FILES): Remove intl/Makefile. * Makefile.am (SUBDIRS): Remove intl. * src/Makefile.am (INCLUDES): Remove -I../intl. 2002-04-16 Jim Meyering * src/who.c (BOOT_TIME): Define. (NEW_TIME): Define to 0, not INT_MAX. (UT_PID, UT_ID, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. Replace literal uses of ut_pid, ut_id, and ut_exit members with uses through macros. (make_id_equals_comment): New function, factored out of three others. (UT_TYPE_UNDEF, UT_TYPE, IS_USER_PROCESS): Define. (print_line): Use "%-8.8s" for the format: the user name is not always NUL terminated. (scan_entries) [need_users]: Use IS_USER_PROCESS, so that this works even on systems without ut_type. 2002-04-15 Jim Meyering * src/who.c: Include xalloc.h. Use xmalloc everywhere, not malloc. 2002-04-12 Jim Meyering * src/Makefile.am (LDADD): List ../lib/libfetish.a both before and after @LIBINTL@. Thanks to Paul Eggert for the fix and to Bruno Haible for diagnosing the problem. 2002-02-26 Paul Eggert * src/test.c (age_of): Return -1 and 0 rather than 0 and 1. Might as well keep it simple, and like bash. (binary_operator): Fix bug with -nt and -ot, when one of the files did not exist. We want to be compatible with the ksh93 documentation, and with Bash. 2002-03-17 Jim Meyering * src/seq.c (usage): Mention that --format=FORMAT must be a *floating-point* format, also in description of that option. Reported by Karl Eichwalder. (usage): Also add the `=' signs here: --format=FORMAT, --separator=STRING. 2002-03-16 Jim Meyering * src/Makefile.am (datadir): Don't override $(datadir) which might be set by --datadir and different from $(prefix)/share. Patch from Albert Chin-A-Young. 2002-03-10 Jim Meyering * configure.ac (AM_INIT_AUTOMAKE): Specify here the required version of automake (1.6), and options (gnits dist-bzip2), rather than... * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition. 2002-03-09 Jim Meyering * Makefile.am (EXTRA_DIST): Remove config/config.rpath, now that automake knows about it. 2002-03-05 Jim Meyering * Makefile.am (EXTRA_DIST): Add config/config.rpath. 2002-03-02 Jim Meyering * tests/nice: Export _POSIX2_VERSION=199209, so we can continue to exercise the now-obsolete options. * Makefile.maint (strftime-check): Add `N'. 2002-02-27 Paul Eggert * doc/coreutils.texi (Time directives): Add %N for nanoseconds. This documents the recent change to 'ls'. But for this to be accurate we also have to update 'date', as follows: * src/Makefile.am (date_LDADD): New macro. * src/date.c: Include timespec.h. (strftime, time, stime): Remove declarations; no longer needed. (usage): Document %N. (main): Use gettime rather than time to get the time of day, so that we can get fractional times. Similarly for settime and stime, so that we can set fractional times (though this currently is not available to the user since we don't parse fractional times; add FIXMES for that). Check for gettime failures; e.g. this can occur if it is past 2038 and we are a 32-bit app running on a 64-bit OS. Get fractional part of file time stamps. Do not falsely report failures just because time_t happens to be -1 (e.g. a file time stamp 1 second before the epoch). (show_date): 2nd arg is now struct timespec, not time_t. All uses changed. Use nstrftime rather than strftime, so that we can format fractional seconds. 2002-02-24 Jim Meyering * src/nice.c: Include posixver.h. * src/date.c: Likewise. 2002-02-17 Jim Meyering * ABOUT-NLS, intl/*: Update to Gettext 0.11. * INSTALL: Update to Autoconf 2.52h. * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@, per Gettext-0.11. (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11. * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation. (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11. * config: New subdirectory, containing the following files from .: config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs. Move the following files here from doc: texinfo.tex, mdate-sh. 2002-02-15 Paul Eggert Add support for _POSIX2_VERSION, which lets you pick which POSIX version you want the utilities to conform to. Remove warnings about failure to conform to a future POSIX version. * src/date.c (ISO_8601_OPTION): Remove; no longer needed. All uses changed to back to the corresponding short options. (short_options): Remove; no longer needed. (COMMON_SHORT_OPTIONS): New macro. * src/date.c (usage): Document only the intersection of the old and new behaviors, to encourage portability. (main): Parse options using POSIX 1003.1-2001 rules if conforming to that standard. Do not warn of obsolete options. * src/nice.c (usage, main): Likewise. 2002-02-11 Paul Eggert * src/nice.c (main): Output warnings only if OBSOLETE_OPTION_WARNINGS. 2002-02-11 Jim Meyering * src/date.c (usage): Describe %F, %g, %G, %P, and %R. Tweak the description of %p. * tests/stty/basic-1: Use `tail -n +2', rather than `tail +2'. 2002-02-03 Paul Eggert Add more support for POSIX 1003.1-2001, which requires removal for support of obsolete "-DIGITS" option syntax in nice, and which prohibits options with optional arguments like date's -I option. * NEWS, coreutils.texi: Document this. * src/date.c (ISO_8601_OPTION): New enum value. (long_options): Use it. (short_options): New constant. * src/date.c (usage): Document the change. * src/nice.c (usage): Likewise. * src/date.c (main): Conform to POSIX 1003.1-2001 if POSIX2_VERSION says to, otherwise warn of obsolete usage if OBSOLETE_OPTION_WARNINGS is nonzero and if not POSIXLY_CORRECT. * src/nice.c (main): Likewise. 2002-02-02 Bruno Haible * printf.c (print_esc): Call print_unicode_char with exit_on_error = false. 2002-01-28 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d. * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro. 2002-01-22 Jim Meyering * po/POTFILES.in: Add lib/xmemcoll.c and src/sys2.h. 2002-01-21 Jim Meyering * Makefile.maint (strftime-check): New rule. (local-check): Convert this target to a list. Update uses. Mark them as .PHONY. (header-check): New rule. (local-check): Add header-check. * src/dirname.c: Don't include "xalloc.h", as system.h already does that via sys2.h. * src/expr.c: Likewise. 2002-01-19 Jim Meyering * configure.ac: Remove code that set LIBOBJS in support of ansi2knr. The latest version of autoconf objected to it, and besides, I don't care too much about K&R support these days. 2002-01-14 Paul Eggert * src/date.c, src/logname.c, src/pathchk.c: Comment fixes to bring us up to date with respect to POSIX 1003.1-2001. In particular, POSIX.2 is now obsolete. 2001-12-28 Jim Meyering * configure.ac (ALL_LINGUAS): Add Catalan (ca). 2001-12-17 Jim Meyering * Makefile.maint (real_dir): Remove unused variable. (url_dir_list): Don't set define it here, but... * Makefile.cfg (url_dir_list): ...define it here instead. (hosts, a_host, b_host): Remove now-unused variables. (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables. 2001-12-15 Jim Meyering * src/basename.c, src/chroot.c, src/date.c, src/dirname.c, src/echo.c, * src/env.c, src/expr.c, src/factor.c, src/hostid.c, src/hostname.c, * src/id.c, src/kill.c, src/logname.c, src/nice.c, src/pathchk.c, * src/pinky.c, src/printenv.c, src/printf.c, src/pwd.c, src/seq.c, * src/sleep.c, src/stty.c, src/su.c, src/tee.c, src/test.c, src/true.c, * src/tty.c, src/uname.c, src/uptime.c, src/users.c, src/who.c, * src/whoami.c, src/yes.c (usage): Use fputs, not printf. Split --help output into smaller pieces. Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION instead of hard-coding --help and --version descriptions. 2001-12-08 Jim Meyering * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's no longer available at that location. 2001-11-25 Jim Meyering * basename.c, dirname.c, expr.c, factor.c, hostname.c (usage): * logname.c, printenv.c, printf.c, pwd.c, sleep.c, test.c (usage): * true.c, whoami.c, yes.c (usage): Indent --help and --version strings to start in the 7th column. 2001-11-17 Jim Meyering * configure.ac: Replace use of the one-arg form of AC_INIT with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR. 2001-11-11 Jim Meyering * src/Makefile.am (printf_LDADD): Reflect spelling change: s/POW_LIBM/POW_LIB/. (sleep_LDADD): Likewise. 2001-11-10 Jim Meyering * src/date.c (usage): Document %u. Reported by Albert Hopkins. 2001-11-09 Jim Meyering * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no arguments. 2001-09-28 Jim Meyering * configure.ac: Tell automake to use the file name `config.hin' rather than the two-`.' config.h.in. 2001-09-26 Jim Meyering * man/Makefile.am (common_dep): Define it, so we depend on configure.ac. * configure.ac: Renamed from configure.in. 2001-09-25 Jim Meyering * src/Makefile.am: (factor_DEPENDENCIES, printf_DEPENDENCIES seq_DEPENDENCIES): (sleep_DEPENDENCIES uptime_DEPENDENCIES su_DEPENDENCIES): Remove unnecessary definitions. They can cause trouble when @INTLLIBS@ expands to -lintl. 2001-09-23 Jim Meyering * Makefile.am (SUBDIRS): When using newer gettext (in which intl/libintl.h is created by rules intl/Makefile) `intl' must precede `lib'. 2001-09-17 Jim Meyering * src/printf.c (main): Change the `ignoring excess arguments' diagnostic to list the first one we're ignoring. Suggestion from Karl Berry. 2001-09-16 Jim Meyering * src/stty.c (usage): Prefix each line with a space, so that help2man produces a better stty.1 man page. From Colin Watson, via Michael Stone. http://bugs.debian.org/95816 * src/test.c (usage): Describe -h option. From Colin Watson, via Michael Stone. http://bugs.debian.org/99272 * man/pwd.x: Add note to help people understand that this documentation may not refer to the (shell built-in) command they're running. * man/echo.x: Likewise. * man/printf.x: Likewise. From Michael Stone. * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5. * man/Makefile.am: Revamp this file, as for fileutils. 2001-09-11 Jim Meyering * configure.in: Move HOST_OPERATING_SYSTEM code from this file into a new macro defined in m4/host-os.m4. 2001-09-09 Jim Meyering * src/test.c (binary_operator): Correct typo in diagnostic. From Jochen Hein. 2001-09-03 Paul Eggert * NEWS: New 'uname' options -i or --hardware-platform, and -o or --operating-system. 'uname -a' now outputs -i and -o information at the end. New uname option --kernel-version is an alias for -v. Uname option --release has been renamed to --kernel-release, and --sysname has been renamed to --kernel-name; the old options will work for a while, but are no longer documented. * configure.in (HOST_OPERATING_SYSTEM): New macro; set it from $host_os with a translation table and other heuristics. * src/uname.c: Correct copyright notice as per latest coding standards. Remove list of options in comment, which wasn't worth maintaining separately from usage(). (print_element): Move definition up, avoiding the need for declaration and allowing inlining on some platforms. Keep track of whether something has been printed; this is more natural than modifying `toprint'. (PRINT_KERNEL_NAME): Renamed from PRINT_SYSNAME. (PRINT_KERNEL_RELEASE): Renamed from PRINT_RELEASE. (PRINT_KERNEL_VERSION): Renamed from PRINT_VERSION. (PRINT_HARDWARE_PLATFORM, PRINT_OPERATING_SYSTEM): New macros. (toprint): Remove global var; now local in `main'. (long_options, usage, main): Implement changes described in NEWS. Reorder options to reflect output order. (main): Use buffers one byte longer, for compatibility with Solaris 8. Output newline at end. -a sets `toprint' to -1 now; this is simpler. Do not bother invoking system calls like uname if the resulting information does not need to be printed. Do not fail if sysinfo fails; just print "unknown". 2001-08-30 Paul Eggert * src/tee.c (full_write): Remove decl; not needed. 2001-06-19 Paul Eggert * NEWS: expr now uses LC_COLLATE for string comparison, as per POSIX. * src/expr.c (nextarg): Use strcoll, not strcmp. 2001-08-24 Jim Meyering * src/pinky.c (main): Fail if -l is specified with no username. * src/pinky.c (usage): Clarify description of -l. From Clark Morgan. 2001-06-21 Paul Eggert * NEWS: 'expr' now requires '+' rather than 'quote' to quote tokens. * src/expr.c (posixly_correct): Remove; no longer needed. (main): Do not worry about POSIXLY_CORRECT, as it's OK for expr to have options (so long as they do not begin with digits). (eval6, usage): Use "+" rather than "quote" to quote tokens. 2001-08-19 Jim Meyering * src/Makefile.am (bin_PROGRAMS): Add kill. * src/kill.c: New program. Written by Marcus Brinkmann. 2001-08-19 Jim Meyering * po/POTFILES.in: Add src/kill.c 2001-06-21 Paul Eggert * src/expr.c (nextarg): Advance ARGS by one if the next token matches. All callers changed. 2001-06-21 Paul Eggert * src/expr.c (isstring): Remove. (eval2): Do comparisons as strings first, before trying to convert to integer. This avoids loss of information and wrong result, e.g. for "expr '00' '<' '0!'", where you don't want to convert '00' to '0'. 2001-08-18 Jim Meyering * tests/expr/basic (00): New test for the above. 2001-06-21 Paul Eggert * src/expr.c: Code cleanup to avoid tricky macros and old-style function declarations. (cmpf, less_than, less_equal, equal, not_equal, greater_equal, greater_than, arithf, arithdivf, plus, minus, multiply, divide, mod): Remove. (eval4, eval3, eval2): Rewrite to avoid the need for the above macros and functions. 2001-08-18 Jim Meyering * src/test.c (binary_operator): Move declarations of lt,rt `down' into the scopes where they're actually used. (unary_operator): Likewise for `fd'. 2001-06-20 Paul Eggert * src/test.c (isint, binary_operator, unary_operator): Use intmax_t for argument integers, not long. (age_of, binary_operator): Use time_t for times, not long. (unary_operator): If N is out of int range, -t N now returns false. 2001-06-20 Paul Eggert * src/expr.c (main): Handle a leading "--" option as POSIX requires. 2001-08-18 Jim Meyering * tests/expr/basic: Add a test for the above. 2001-06-20 Paul Eggert * src/expr.c (toarith): Don't accept plain "-" as a valid integer. 2001-06-20 Paul Eggert Modify 'expr' so that it uses intmax_t, not int, to calculate the value of integer expressions. * src/expr.c (struct valinfo.i): Now intmax_t, not int. (docolon, int_value, str_value, isstring, nextarg, toarith, freev, tostring, trace): Remove unnecessary forward decls. (int_value, printv, tostring, toarith, arithf, arithdivf, docolon, eval6, eval4, eval3): Do integer arithmetic using intmax_t, not int. (docolon): Don't assume size_t fits in int. 2001-08-18 Jim Meyering * tests/expr/basic: New test for the above. * tests/expr/Makefile.am: New file. * tests/expr: New directory. * tests/Makefile.am (SUBDIRS): Add expr. * configure.in (AC_OUTPUT): Add tests/expr/Makefile. 2001-08-18 Jim Meyering Revert part of last change and solve the problem a better way. * src/date.c (show_date) [--rfc-822]: Set LC_ALL=C just before calling strftime and restore it just afterwards. Suggestion from Ulrich Drepper. 2001-08-18 H. Peter Anvin * src/date.c (show_date) [--rfc-822]: Don't space-pad the day of the month. Set only LC_TYPE to the "C" locale. Setting LC_ALL is overkill, and would have unwanted side effects if there is an error message. 2001-08-16 Jim Meyering * src/date.c (main): When there are too many non-option arguments, include the first offending argument in the diagnostic. Suggestion from Karl Berry. 2001-08-14 Jim Meyering * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include the new, generated file, unlocked-io.h. * tests/Makefile.am (TESTS_ENVIRONMENT): Remove first definition of this variable, and move its RHS into the RHS of the second. Thanks, automake! * src/su.c (xputenv): Remove parameter's const qualifier. * src/dirname.c, src/env.c, src/id.c, src/pathchk.c, src/pinky.c, * src/printenv.c, src/sleep.c, src/tee.c, src/test.c, src/uptime.c, * src/users.c, src/who.c: (AUTHORS): Mark string for translation, since it contains the English word `and'. 2001-08-12 Jim Meyering * src/pathchk.c (PATH_MAX_FOR): Use pathconf via wrapper. (NAME_MAX_FOR): Likewise. Guard the above pathconf-using definitions with `#if HAVE_PATHCONF' rather than with `#ifdef _POSIX_VERSION'. (pathconf_wrapper): New function. (validate_path): Declare length variables to be `long', not `int'. Adjust corresponding printf-style specs to use %ld. Reported by Neal H Walfield. 2001-08-07 Jim Meyering * src/printf.c (cfcc_msg): Remove now-inaccurate part of comment. From Bruno Haible. 2001-07-04 Jim Meyering * Makefile.cfg: New file with package-specific definitions. * Makefile.am (EXTRA_DIST): Add Makefile.cfg. 2001-06-09 Jim Meyering (PIDSTR_DECL_AND_INIT): Define. 2001-06-05 Jim Meyering * configure.in (ALL_LINGUAS): Add Turkish (tr). 2001-05-27 Jim Meyering * src/dirname.c (main): Add `const' to declaration of local, `result'. 2001-04-01 Jim Meyering Add options to make `who' more POSIX compliant. * who.c: Accept new options: --all (-a), --boot (-b), --dead (-d), --login, --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u). The -u option now produces POSIX-specified results and is the same as the long option `--users'. --idle is no longer the same as -u. (time_string, print_line, print_boottime, print_deadprocs, print_login, print_initspawn, print_clockchange, print_runlevel): New functions. (print_user): Renamed from print_entry and reworked. (search_entries): Remove function. (who_am_i): Likewise. (usage): Describe new options. (main): Handle new options. Mostly from Michael Stone. 2001-05-11 Paul Eggert dirname code cleanup. base_name now behaves more compatibly with POSIX basename when given file names that have trailing slashes, and similarly for dir_name. Add new primitives base_len and dir_len. Put the directory-name-related decls into dirname.h. * basename.c: Include "dirname.h". (base_name, strip_trailing_slashes): Remove decls; now in dirname.h. (main): Use base_len instead of strip_trailing_slashes to strip trailing slashes. * dirname.c (strip_trailing_slashes): Remove decl; now in dirname.h. (main): Use dir_len rather than dir_name_r. * su.c: Include "dirname.h". (base_name): Remove decl; now in dirname.h. 2001-04-20 Jim Meyering * doc/sh-utils.texi (false invocation): Describe how --help and --version are treated with and without POSIXLY_CORRECT. (true invocation): Likewise. Forwarded by Michael Stone. 2001-03-18 Jim Meyering * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a suggestion from Eli Zaretskii. 2001-03-10 Jim Meyering * doc/sh-utils.texi (date invocation): Correct the description of how date works when given no format. Reported by Ole Laursen. * src/factor.c: Include wheel-size.h. (WHEEL_START): Adjust definition. (wheel_tab[]): Remove body of definition. Include generated file, wheel.h, instead. * src/wheel-gen.pl: New file. * src/Makefile.am (noinst_HEADERS): Add wheel.h wheel-size.h. (EXTRA_DIST): Add wheel-gen.pl. (PERL): Define. (wheel-size.h, wheel.h): New rules. (BUILT_SOURCES): Add wheel.h and wheel-size.h. (MAINTAINERCLEANFILES): Define. 2001-03-09 Jim Meyering * Makefile.maint (my_distdir): Define new variable, and use this in place of most old uses of $(distdir). * src/date.c (usage): Describe %C. * doc/sh-utils.texi (Date directives): Likewise. * tests/help-version: Ensure that /dev/full is a character device (using test -c) as well as being writable, before trying to write to it. Otherwise, the test could mistakenly append a newline to an existing, regular, writable, /dev/full file. Suggested by Ulrich Drepper. 2001-03-07 Jim Meyering * tests/stty/Makefile.am (EXTRA_DIST): Remove input-tty. * tests/Makefile.am (EXTRA_DIST): Add input-tty. * tests/stty/basic-1: Reflect change in location of input-tty. * tests/stty/row-col: Likewise. * tests/stty/input-tty: Move this file... * tests/input-tty: ... to here. 2001-02-24 Paul Eggert * doc/sh-utils.texi: Fix typo: '-d=1may' -> '-d 1may'. Fix and clarify time zone usage in 'date' examples. 2001-02-04 Jim Meyering * src/factor.c (usage): Tweak --help output: it prints the _prime_ factors, not just any factors. 2001-02-03 Jim Meyering Improve the performance of `factor' (more than 2x speed-up for large N). * src/factor.c (wheel_tab): New global table. (WHEEL_START, WHEEL_END): Define. (factor): Remove the loop that special-cased `2'. Instead of incrementing by `2', use the offsets from the wheel table. From Michael Steffens. 2000-11-27 Prashant TR * src/test.c (eaccess) [__MSDOS__]: Just use access. 2001-01-26 Jim Meyering * src/dirname.c (main): Declare local result as non-const, now that it's freed. 2001-01-20 Jim Meyering * configure.in: Remove jm_CHECK_ALL_TYPES. Now it's invoked by jm_MACROS. 2001-01-04 Jim Meyering * src/date.c (main): Fail when --rfc-822 (-R) is specified along with a format string. Reported by Jochen Hein. 2000-12-17 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. * djgpp: New directory. * djgpp/*: New files. * Makefile.am (SUBDIRS): Add djgpp. * configure.in (AC_OUTPUT): Add djgpp/Makefile. From Prashant TR. 2000-12-08 Jim Meyering * src/dirname.c: Include xalloc.h. (main): Use dir_name rather than the underlying dir_name_r. The former now handles cwd-relative names with drive-letter prefixes. 2000-12-02 Jim Meyering * src/seq.c (valid_format): Move pre-increment to a separate statement to avoid a warning. * src/id.c: Move dcls of globals used only in main... (main): ...to here. (usage): Clarify option descriptions. 2000-11-18 Jim Meyering * po/Makefile.in.in: Sync with the one from fileutils. * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. 2000-11-17 Jim Meyering * GNUmakefile (.NOTPARALLEL): New target. Prevent unwanted parallelism. Suggestion from Ulrich Drepper. * src/pinky.c: Explicitly include sys/types.h before including system.h. * src/uptime.c: Likewise. * src/users.c: Likewise. * src/who.c: Likewise. 2000-11-13 Paul Eggert * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should be tested with #ifdef, not with #if. 2000-11-12 Jim Meyering * src/date.c (show_date): Add a comment explaining why the format string must not be translatable via _(). From Paul Eggert. 2000-10-31 Jim Meyering * doc/sh-utils.texi: Clean up indentation and punctuation. Fix a couple typos. From Brian Youmans. 2000-10-30 Jim Meyering * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. 2000-10-29 Jim Meyering * Version 2.0.11. 2000-10-27 Jim Meyering * src/date.c (usage): Mention the time zone, UTC, and write the date in ISO format in the description of %s. Suggestion from Karl Berry. 2000-10-25 Jim Meyering * src/dirname.c: Include dirname.h. (main): Use dir_name_r rather than open-coding it. 2000-10-23 Jim Meyering * Makefile.am (EXTRA_DIST): Add .prev-version. 2000-10-18 Paul Eggert * src/date.c (universal_time): Remove; it's just a temptation to do the wrong thing. (main): The -u option now just sets TZ; it doesn't do anything else. (show_date): Do not do anything special if -u is set. This affects the behavior of the -I and -R options. * doc/sh-utils.texi: Document the above. 2000-10-18 Jim Meyering * doc/sh-utils.texi (Examples of date): Fix a typo. 2000-10-11 Jim Meyering * doc/sh-utils.texi (Time directives) [%S]: Range is 0..60, not 0..61. 2000-10-06 Paul Eggert Undo the effect of the 1997-07-12 change to date.c; it broke "date -u MMDDhhmm" and it wasn't documented. This reverts to the behavior of the 1996-01-03 patch. * src/date.c (TZ_UTC0, MAYBE_SET_TZ_UTC0, set_tz): Remove. (batch_convert): Don't futz with TZ. (main): -u now parses all dates as UTC, not just some. Reported by Karl-Michael Schneider. * tests/date/Test.pm (utc-0, utc-1, relative-2): Adjust to above change. 2000-09-29 Jim Meyering * src/yes.c (usage): Add a separate usage line, just for `OPTION'. Suggestion from M. P. Suzuki. 2000-09-09 Jim Meyering * src/date.c (usage): Make the second `Usage' line more precise (also making it match the texinfo documentation). From Karl Eichwalder. * doc/sh-utils.texi (Setting the time): Correct the capitalization of `HHMM' in the info-rendering of the texinfo documentation. Reported by Karl Eichwalder. 2000-08-14 Jim Meyering * src/tee.c (main): Remove incorrect `FIXME' comment. 2000-08-07 Paul Eggert * src/su.c (xputenv): Invoke xalloc_die instead of printing our own message. 2000-07-30 Jim Meyering * src/tee.c (tee): Use SET_BINARY and SET_BINARY2. From Prashant TR. * src/help-version: Remove file. Move it to ... * tests/help-version: ...here * tests/Makefile.am (TESTS): Add help-version. (TESTS_ENVIRONMENT): Define. * src/Makefile.am (EXTRA_DIST): Remove help-version. (TESTS): Remove definition. (TESTS_ENVIRONMENT): Remove definition. 2000-07-23 Jim Meyering * src/help-version (su_args): Punt, so we don't try to start a shell. * src/su.c: Include if HAVE_SYS_PARAM_H is defined, rather than if _POSIX_VERSION is defined. Remove declarations of getpwuid, getgrgid, and getuid, now that they're in sys2.h. Prompted by a report from John David Anglin. * src/sys2.h [!HAVE_DECL_GETPWUID]: Declare getpwuid. [!HAVE_DECL_GETGRGID]: Declare getgrgid. [!HAVE_DECL_GETUID]: Declare getuid. 2000-07-19 Jim Meyering * src/date.c (batch_convert): Free `initial_TZ' only if it was set. Reported by Michael Hohn. 2000-07-17 Jim Meyering * src/stty.c (visible): Don't mark `' for translation. The standard requires that exact string. 2000-07-09 Jim Meyering * config.guess: Update from FSF. * config.sub: Likewise. * src/Makefile.am (seq_LDADD): Don't hard-code `-lm' -- some systems don't have/need it. From Bruno Haible. 2000-07-06 Jim Meyering * src/help-version: Punt on `groups' test, since all it does is run `id -Gn', and groups fails if GNU id is not installed. Reported by Christian Krackowizer. 2000-07-05 Bruno Haible * tests/nice: Avoid syntax error in "test" when `nice` generates no output. 2000-07-04 Jim Meyering * Version 2.0j. * tests/date/Test.pm (test_vector): Disable test #2 for all systems, even though it fails only on SunOS4. 2000-07-01 Jim Meyering * configure.in (jm_DUMMY_1): Wrap a snippet in a macro definition so we can use AC_REQUIRE. (jm_BOOT_TIME): Likewise. 2000-06-17 Bruno Haible * configure.in: Add pinky, users, who to OPTIONAL_BIN_PROGS if either or exists. Add uptime only if either or exists. * src/Makefile.am (bin_PROGRAMS): Remove pinky, users, who from here... (EXTRA_PROGRAMS): ... and add them here. 2000-06-26 Jim Meyering `id -Gn' (invoked by groups) would fail without giving a diagnostic on malconfigured systems. * src/id.c (print_user): Give a diagnostic if number->name lookup fails. (print_group): Likewise. 2000-06-25 Jim Meyering * configure.in (ALL_LINGUAS): Add Danish (da). 2000-06-21 Jim Meyering * tests/stty/basic-1: New test for that. * src/stty.c (valid_options): Don't segfault on `stty erase -'. Patch from Harry Liu. 2000-06-15 Jim Meyering * tests/date/Test.pm: Add tests for getdate.y fix. 2000-06-14 Jim Meyering * src/help-version: Punt on nohup; give it --version. 2000-06-10 Jim Meyering * doc/sh-utils.texi: Typo-fixes and some clean-up from Brian Youmans. 2000-05-29 Jim Meyering * tests/nice: Remove now-unused reference to srcdir. * src/help-version: Use `WARNING', not just `Warning' in the broken-/bin/sh diagnostic, to be consistent with other such warnings. 2000-05-21 Jim Meyering * tests/nice: Disable test on djgpp. 2000-05-15 Jim Meyering * tests/date/Test.pm (test_vector): Skip the %c test on SunOS4 systems. Suggested by Paul Eggert. Reported by Volker Borchert. 2000-05-13 Jim Meyering * src/groups.sh: Detect and report write failure of --help/--version. * src/nohup.sh: Likewise. 2000-05-11 Jim Meyering * src/date.c (usage): Don't call close_stdout_status directly, since that didn't cover --version output. (main): Instead, call close_stdout_set_status and arrange to call close_stdout via atexit. * src/printenv.c: Likewise. * src/tty.c: Likewise. * src/true.c (usage): Don't call close_stdout directly, since that didn't cover --version output. (main): Arrange to call close_stdout via atexit, instead. * src/yes.c: Likewise. * src/sleep.c: Likewise. 2000-05-09 Jim Meyering * src/sys2.h (case_GETOPT_VERSION_CHAR): Don't call close_stdout. * src/help-version: New test. * src/Makefile.am (TESTS): Define. (TESTS_ENVIRONMENT): Likewise. (EXTRA_DIST): Add help-version. 2000-05-08 Jim Meyering * Version 2.0i. 2000-05-07 Jim Meyering * Version 2.0h. * src/basename.c: Include "closeout.h". (main): Call atexit with close_stdout. * src/chroot.c: Likewise. * src/dirname.c: Likewise. * src/echo.c: Likewise. * src/env.c: Likewise. * src/expr.c: Likewise. * src/factor.c: Likewise. * src/hostid.c: Likewise. * src/hostname.c: Likewise. * src/id.c: Likewise. * src/logname.c: Likewise. * src/nice.c: Likewise. * src/pathchk.c: Likewise. * src/pinky.c: Likewise. * src/printf.c: Likewise. * src/pwd.c: Likewise. * src/seq.c: Likewise. * src/stty.c: Likewise. * src/su.c: Likewise. * src/test.c: Likewise. * src/uname.c: Likewise. * src/uptime.c: Likewise. * src/users.c: Likewise. * src/who.c: Likewise. * src/whoami.c: Likewise. * src/tee.c: Likewise. Remove explicit close_stdout. * src/yes.c Include "closeout.h". (usage): Call close_stdout just before exit. * src/sleep.c: Likewise. * src/true.c: Likewise. * src/date.c (usage): Call close_stdout_status. * src/printenv.c (usage): Likewise. * tests/date/Test.pm ($Test::env{'rfc822-1'}): Add TZ=UTC0. 2000-05-06 Jim Meyering * src/Makefile.am (sleep_LDADD): Add @LIB_CLOCK_GETTIME@ and @LIB_NANOSLEEP@. * src/tty.c (main): Warn about arguments, don't fail. (usage): Call close_stdout_status from here as well as from main. 2000-05-05 Jim Meyering Exit nonzero upon write failure. * src/printf.c: Include "closeout.h". (main): Call close_stdout. Reported by Ian Jackson via Michael Stone. 2000-05-04 Jim Meyering * Makefile.maint (my-distcheck): Remove spurious blank line. Remove $(DEPDIR) *after* making distclean, not before. 2000-04-30 Jim Meyering * src/yes.c: Detect and terminate upon write failure. 2000-04-14 Jim Meyering * src/seq.c: Shorten `#ifdef HAVE_...' to `#if HAVE_...' and remove unnecessary uses of `defined' (aesthetics). 2000-04-12 Jim Meyering Move some code into m4/. * configure.in (_GNU_SOURCE): Don't define here. (AC_SYS_LARGEFILE): Don't use here. (AM_C_PROTOTYPES): Don't use here. (AC_DEFINE): Use 3-arg form. * acconfig.h: Remove now-unused file. 2000-04-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Estonian (et). 2000-04-01 Jochen Hein * src/date.c: Use the "C" locale when using --rfc-822 (-R), as required by rfc822. Before, in the de_DE locale, date would print the German weekday and month abbreviations. * tests/date/Test.pm: Add test for rfc822 format and foreign locale settings. 2000-04-04 Jim Meyering * man/Makefile.am (man_MANS): Add uptime.1. * man/uptime.x: New file. * man/Makefile.am (man_MANS): Add factor.1. * man/factor.x: New file. * tests/seq/basic: Split a long line and tweak for font-lock mode. * tests/factor/basic: Likewise. * tests/basename/basic: Likewise. 2000-03-29 Paul Eggert * src/date.c: Include if it exists. (DATE_FMT_LANGINFO): New macro. (show_date): Use it to get the locale-specific default format for "date" if it exists. 2000-03-19 Jim Meyering * Version 2.0g. * doc/sh-utils.texi (chroot invocation): Include a couple tips and a simple example. * doc/getdate.texi (Calendar date item): Fix typos. From Per Cederqvist. 2000-03-18 Jim Meyering * src/uptime.c (print_uptime): Use `buf' only if fgets succeeds. 2000-03-12 Jim Meyering Merge from textutils. * src/system.h (O_BINARY, O_TEXT): Define if necessary. (SET_BINARY, SET_BINARY2): Define. (DEV_BSIZE): Define to BBSIZE if appropriate. 2000-03-11 Jim Meyering * tests/date/Test.pm: Set the default TZ value to UTC0, not UTC. The latter didn't have any effect on alphaev56-dec-osf4.0f. Final merge with fileutils. * src/system.h: Use standard `#if TIME_WITH_SYS_TIME...' block rather than `#if TM_IN_SYS_TIME' one. 2000-02-02 Bruno Haible * printf.c: Include "unicodeio.h". (usage): Mention \u and \U directives. \x outputs a byte, not a character. (print_esc): Implement \u and \U. * Makefile.am (printf_LDADD): Add @LIBICONV@. 2000-03-03 Jim Meyering Make it so stty's rprnt attribute works on HPUX 10.20. * src/stty.c [CREPRINT && !CRPRNT] (CRPRNT): Define. (control_info): Recognize HPUX's CREPRINT. 2000-03-02 Jim Meyering * doc/sh-utils.texi (printf invocation): Describe new unicode syntax. From Bruno Haible. Unify with fileutils/src/system.h. * src/system.h (ST_NBLOCKS): Sync with recent changes in fileutils. [!_POSIX_VERSION]: Remove declarations of getlogin, ttyname, geteuid. * src/sys2.h: Declare them here, if needed. 2000-03-01 Jim Meyering * Makefile.am (EXTRA_DIST): Include GNUmakefile. * src/seq.c (get_width_format): Fix portability problem with `-0' vs. `0'. 2000-02-22 Jim Meyering * tests/date/Test.pm (datevtime-1): New test. From John Kendall. 2000-02-15 Jim Meyering * man/Makefile.maint ($(man_MANS)): Remove $@-t1. 2000-02-13 Jim Meyering * tests/Fetish.pm (run_tests): Discard stderr. Reverse diff args, so `expected' is last, as in mk-script. 2000-02-12 Jim Meyering * tests/mk-script: Invoke `diff' when differences are found. * tests/Fetish.pm (run_tests): Likewise. 2000-02-09 Jim Meyering * src/su.c (correct_password): Correct HAVE_STRUCT_* name in #if guard to go along with corrected autoconf test: Reported by Gaël Quéri. 2000-02-05 Jim Meyering * Version 2.0f. * src/who.c: Use UT_USER in place of hard-coded `->ut_name' here, too. * src/pinky.c: Likewise. Reported by Tom Tromey and Andreas Schwab. * src/uptime.c (print_uptime): Likewise. * src/users.c (list_entries_users): Likewise. 2000-01-30 Jim Meyering * Version 2.0e. * src/su.c (correct_password): Guard with `HAVE_GETSPNAM && HAVE_STRUCT_PASSWD_SP_PWDP', rather than just `#ifdef HAVE_SHADOW_H'. * po/POTFILES.in: Add lib/makepath.c, lib/obstack.c, lib/rpmatch.c, and lib/same.c. 2000-01-29 Jim Meyering * configure.in: Move library-related tests into m4/lib-check.m4. Remove lib-check for cposix now that we use m4/isc-posix.m4. * src/seq.c: Back out most of the 2000-01-21 and 01-22 changes. [Instead, merely give examples showing how to accomplish the same task with fewer limitations using existing tools. ] Suggestion from Bruno Haible. (valid_format): Rename from check_format. * tests/seq/basic: Remove associated tests and add two equal-width ones. * tests/stty/row-col-1: Set COLUMNS envvar, just to be safe. 2000-01-28 Jim Meyering * src/stty.c (wrapf): Emit a newline only if 0 < current_col. (screen_columns): Use xstrtol, not atoi. If get_win_size fails and $COLUMNS == 0, then return 80, not `0'. 2000-01-23 Jim Meyering * configure.in (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN): AC_SUBST these not here, but rather in m4/, so that the now-shared lib/Makefile.am are all the same. (AC_CHECK_FUNCS): Remove check for utmpname, since it's already in m4/prereq.m4. Remove many function checks (moved to m4/.) * configure.in (AM_FUNC_STRTOD): Move to m4/. (AC_SUBST(POW_LIBM)): Likewise. * configure.in (SEQ_LIBM): Remove AC_SUBST of a constant. * src/Makefile.am (seq_LDADD): Add -lm rather than constant $(SEQ_LIBM). 2000-01-22 Jim Meyering * src/sys2.h [! HAVE_DECL_STRTOUL]: Declare strtoul. [! HAVE_DECL_STRTOULL]: Declare strtoull. Required for some AIX systems. Reported by Christian Krackowizer. * configure.in (ALL_LINGUAS): Add Slovenian (sl). (AC_CHECK_HEADERS): Move these checks into m4/. * src/seq.c (enum Format_type): Declare. (format_type): New global to take place of intconv. (format_str): Move global declaration... (main): ... to here. (check_format): Rename parameter to avoid shadowing global. (DO_printf): New macro. (main): Use it. Topologically sort the functions and remove fwd declarations. 2000-01-21 Bruno Haible Add support for octal and hexadecimal output. * seq.c (intconv): New variable. (usage): Update. (main): Call scan_arg instead of scan_double_arg. Call check_format before scan_arg. (scan_int_arg, scan_arg): New functions. (check_format): Add intconv argument. Accept %d, %u, %o, %x, %X. (print_numbers): If intconv is true, pass an int argument to printf. 2000-01-21 Jim Meyering * configure.in (ALL_LINGUAS): Add Galician (gl). 2000-01-16 Jim Meyering * lib/Makefile.am: Sync with fileutils/lib/Makefile.am. * src/date.c (usage): Correct error in %V description. From Wolfram Kleff. * configure.in: Remove jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV, AM_FUNC_GETLOADAVG, jm_SYS_PROC_UPTIME, AM_SYS_POSIX_TERMIOS, jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL. 2000-01-15 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Remove gethostname, getusershell, memcpy, and memset. Now that's done in m4/. Remove these, too: stime strcspn stpcpy strstr strtol strtoul. 2000-01-12 Jim Meyering * configure.in: Remove the tests that are now in jm_PREREQ_CANON_HOST. 2000-01-11 Jim Meyering Sync lib/ directories of sh-utils, and textutils. * lib/Makefile.am (libfetish_a_SOURCES): Add diacrit.c, hard-locale.c, linebuffer.c, md5.c, memcasecmp.c, memcoll.c, obstack.c, safe-read.c (noinst_HEADERS): Add bumpalloc.h, diacrit.h, hard-locale.h, linebuffer.h, md5.h, memcasecmp.h, memcoll.h, obstack.h, safe-read.h. * lib/Makefile.am: s/su/fetish/ * src/Makefile.am: s/libsu/libfetish/ 2000-01-10 Jim Meyering * Version 2.0d. * src/Makefile.am (sleep_LDADD): Add @POW_LIBM@, for systems that use lib/strtod.c and need -lm to resolve its pow reference. 2000-01-07 Jim Meyering * Version 2.0c. * tests/basename/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix to exported PATH value (though not strictly necessary, here). * tests/factor/Makefile.am (TESTS_ENVIRONMENT): Likewise. * tests/seq/Makefile.am (TESTS_ENVIRONMENT): Likewise. * tests/stty/Makefile.am (TESTS_ENVIRONMENT): Likewise. 2000-01-06 Paul Eggert * tar/lib/getdate.y: Sync tm_diff with the GNU C Library. (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. All uses changed. (tm_diff): Renamed from difftm. All uses changed. Replace body with that taken from GNU C Library 2.1.3pre1. (get_date): Prefer tm_gmtoff to tm_diff if available. 2000-01-05 Paul Eggert Minor code cleanup. * src/sleep.c (clock_get_realtime): Return argument, for convenience. (main): Use this to simplify main sleep loop. 2000-01-05 Jim Meyering Some systems lack a definition of struct timespec (AIX, Ultrix) Reported by Christian Krackowizer. * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h. * lib/nanosleep.h: New file. * lib/nanosleep.c: Include it. Don't include time.h or sys/time.h here. * src/sleep.c: Include it. (AUTHORS): Add Paul Eggert. 2000-01-04 Jim Meyering * lib/nanosleep.c: Include both time.h and sys/time.h only #if TIME_WITH_SYS_TIME. 2000-01-03 Paul Eggert Fix some porting and rounding problems with the new `sleep' code. * configure.in (AC_CHECK_HEADERS): Add fenv.h. (FESETROUND_LIBM): New macro. * lib/xstrtod.c: Add #pragma STDC FENV_ACCESS ON if C99. * src/sleep.c: Likewise. * src/Makefile.am (sleep_LDADD, sleep_DEPENDENCIES): New macros. * src/sleep.c (): Include if available. (main): Always round floating-point interval calculations upwards, as we must sleep for at least the specified time. Do the right thing with NaNs. (main): Sleep forever if the time calculations overflow. (apply_suffix): Don't assert that *s <= TIME_T_MAX. (clock_get_realtime): Fix typo; address was improperly taken. 2000-01-02 Jim Meyering * Version 2.0b. * lib/Makefile.in: Regenerate. * Version 2.0a. 1999-12-26 Jim Meyering * lib/nanosleep.c (nanosleep): New file. 1999-12-23 Jim Meyering * src/sleep.c (USE_CLOCK_GETTIME): Define. [USE_CLOCK_GETTIME]: Include sys/time.h. (timespec_subtract): New function. (clock_get_realtime): New function. (sighandler): Remove function. (main): Reimplement again, using nanosleep and clock_gettime. * configure.in: Remove check for gettimeofday. Now it's in m4/jm-macros.m4 * man/Makefile.summ: Remove now-unused summaries. 1999-12-22 Jim Meyering * lib/getdate.y (get_date): Fix typo in time_t overflow test. From Michael Stone. * tests/date/Test.pm (regress-1): New test for the above. 1999-12-18 Jim Meyering * src/who.c (print_entry): Correct do_lookup test so that who prints whatever host information it has, even without --lookup. Reported by Bill Peters. 1999-12-12 Jim Meyering Move 120+ lines of stat.h-related macros from system.h (not shared) to sys2.h, which is shared between fileutils, sh-utils, textutils. * src/system.h: Move them from here... * src/sys2.h: ... to here. 1999-11-27 Jim Meyering Rewrite to allow fractional seconds and to handle SIGCONT. * src/sleep.c (main): Rewrite. (sighandler): New function. (apply_suffix): New function. (timeval_subtract): New function. Reported by Raul Miller. * src/sleep.c (argdecode): Move definition to precede use. Remove prototype. (usage): Add elipses to show that sleep allows more than one argument. 1999-11-22 Jim Meyering * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c. 1999-11-09 Jim Meyering * src/expr.c (NEW): Undefine to avoid warning about redefinition. (NEW): Redefine in terms of XMALLOC. * lib/xalloc.h (XMALLOC): Correct misnamed macro parameter name: s/N_bytes/N_items/. (XCALLOC): Likewise. (XREALLOC): Likewise. 1999-11-05 Jim Meyering * src/system.h: Use HAVE_STRUCT_STAT_ST_BLOCKS, not deprecated HAVE_ST_BLOCKS. * configure.in: Move some type/header/member tests into m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of fileutils, textutils, and sh-utils. 1999-11-01 Jim Meyering * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). 1999-10-07 Jim Meyering * configure.in (ALL_LINGUAS): Add Japanese (ja). 1999-10-04 Jim Meyering * depcomp: New file, for automake's new dependency support. * missing: New version, from automake's user-dep-gen-branch. 1999-09-28 Jim Meyering * src/system.h: Update from the system.h from fileutils. Now they're finally almost identical... 1999-09-09 Jim Meyering * src/Makefile.am (EXTRAdir): Remove unused variable. (installed_su): Use `$(DESTDIR)$(bindir)' in place of $(bindir). (install-exec-local): Likewise. (.sh): Substitute `$(bindir)' rather than @bindir@. Based on a patch from Andreas Schwab. 1999-09-08 Andreas Schwab * tests/nice: Instead of failing, exit with 77 if running niced. 1999-09-08 Jim Meyering * src/su.c: Remove declaration of xstrdup. 1999-09-02 Jim Meyering * src/expr.c: Remove xstrdup declaration. * src/date.c: Likewise. * src/pathchk.c: Likewise. * src/su.c: Likewise. 1999-08-29 Jim Meyering * tests/nice: Use `nice' instead of $nice. * tests/Makefile.am (TESTS_ENVIRONMENT): Prepend ../src to PATH so the above works. * src/env.c (main): Call exit explicitly to avoid warning from gcc. * src/nice.c (main): Likewise. Include "xstrtol.h". (isinteger): Remove function and prototype. (main): Use xstrtol in place of atoi. Remove associated FIXME comments. * configure.in (AC_YACC): Remove use, now that we require bison. * tests/date/Test.pm (test_vector): Add a test for the Risks-reported problem with syntax like this: Nov 11 1996. * lib/getdate.y (get_date): Rename outermost local `probe' to `quarter'. (get_date): Rename latter local `tm' to probe_tm. * lib/getdate.y (relative_time_table): Change `type' of `THIS' from tMINUTE_UNIT to tUNUMBER. From Urs Thuermann. * tests/date/Test.pm (test_vector): Add tests for use of `this'. 1999-08-25 Jim Meyering * man/Makefile.summ (seq-summary): Define. * man/Makefile.am (man_MANS): Add seq.1. Reported by Dirk-Jan Faber. 1999-08-23 Jim Meyering * src/pathchk.c (longopts): Restore accidentally-removed entry for `--portability' long option. * src/chroot.c (usage): Correct --help message. * src/hostid.c (usage): Likewise. * src/hostname.c (usage): Likewise. * src/logname.c (usage): Likewise. * src/nice.c (usage): Likewise. * src/printenv.c (usage): Likewise. * src/sleep.c (usage): Likewise. * src/stty.c (usage): Likewise. Reported by Daniel Bergstrom. 1999-08-22 Jim Meyering * src/sys2.h (ATTRIBUTE_NORETURN): Define. * src/test.c: Use ATTRIBUTE_NORETURN instead of NO_RETURN_ATTRIBUTE. (NO_RETURN_ATTRIBUTE): Remove definition. * src/su.c (run_shell): Declare with gcc's noreturn attribute. Use an explicit exit(1) rather than doing that through error. * src/sys2.h (IF_LINT): Define new macro. * src/date.c (batch_convert): Use IF_LINT macro instead of #ifdef lint. * src/pathchk.c (validate_path): Likewise. 1999-08-21 Jim Meyering * src/hostid.c (usage): Remove the ` [-v]' from the Usage: line. Reported by Daniel Bergstrom. 1999-08-17 Jim Meyering * tests/stty/input-tty: New file, containing code factored out of the two test scripts. Mention `at' and `batch' in addition to `rsh'. * tests/stty/basic-1: Source it. * tests/stty/row-col-1: Source it. * tests/stty/Makefile.am (EXTRA_DIST): Add input-tty. 1999-08-14 Jim Meyering * Version 2.0. * tests/stty/basic-1: Fail-77 if stdin is not a tty. * tests/stty/row-col-1: Likewise. Suggestion from Volker Borchert. 1999-08-07 Jim Meyering * Version 1.16m. * Makefile.maint (po-check): New rule. (alpha): Make it. * po/POTFILES.in: Add the following from lib/: argmatch.c, closeout.c, error.c, getopt.c, human.c, long-options.c, version-etc.c, xmalloc.c. Add these from src/: false.c, hostid.c, true.c. * lib/getdate.y (OtherTable[]): Use tDAY_UNIT for `tomorrow,' `yesterday,' `today,' and `now' rather than tMINUTE_UNIT. Of course with correspondingly smaller numbers for tomorrow and yesterday. This change does not change the way the code works, since the grammar rules for the two symbols are analogous. From Tadayoshi Funaba. 1999-08-04 Jim Meyering false and true once again generate --help and --version output * src/true.c: Honor --help and --version once again, bug ignore those options when POSIXLY_CORRECT is set. * src/false.c: Fail even for --help and --version. * src/Makefile.am (false.c): Generate automatically from true.c. (BUILT_SOURCES): Add false.c. * man/Makefile.am (EXTRA_DIST): Remove false.1in and true.1in. * man/Makefile.summ: Remove the rules added on 1999-07-31. * man/Makefile.maint: Likewise. * man/true.1in: Removed. * man/false.1in: Removed. * configure.in: Remove getline-testing code. Now it's in m4/. 1999-08-01 Jim Meyering * src/date.c (usage): Correct description of %S; (00..60, not 00..61). From Ken Pizzini. 1999-08-01 Paul Eggert * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. 1999-07-31 Jim Meyering * Version 1.16l. false and true are now C programs rather than shell scripts * src/true.c: New file. * src/false.c: New file. * src/true.sh: Removed. * src/false.sh: Removed. * src/Makefile.am (bin_PROGRAMS): Add true and false. (bin_SCRIPTS): Remove true and false. (EXTRA_DIST): Remove false.sh and true.sh. * man/true.1in: New file. * man/false.1in: New file. * man/Makefile.am (EXTRA_DIST): Remove extra (shadowed) assignment. (EXTRA_DIST): Add false.1in and true.1in. * man/Makefile.maint (helpful-men): Define. * man/Makefile.summ ($(helpless-men)): New manual-generating rules to accommodate the fact that false and true no longer accept --help. * doc/sh-utils.texi: Include a couple of sentences from the truefalse package. Prompted by Christi Alice Scarborough's truefalse package. 1999-07-30 Jim Meyering * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). 1999-07-26 Jim Meyering * src/tee.c (tee): Convert from open/fds to using fopen/streams for output, in preparation for addition of new compression option. 1999-07-21 Jim Meyering * tests/stty/basic-1 (options): Avoid Solaris' broken /usr/ucb/tr by removing offending use of tr altogether and removing hyphens with sed. Reported by Kaveh Ghazi. 1999-06-01 Volker Borchert * tests/Makefile.am: Make envvar-check depend on check-recursive rather than on `check' so that its tests are performed before any real tests. 1999-07-15 Jim Meyering * src/false.sh: Always exit unsuccessfully, even with --help and --version. Suggested by Felix Lee. 1999-07-12 Jim Meyering * src/sys2.h (mempcpy): Define only if not already defined. Reported by Collin Rogowski. 1999-05-27 Volker Borchert * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. 1999-05-25 Jim Meyering * tests/stty/basic-1: Fix non-portable use of `tr' that caused this test to fail when run with a SysV-style tr. Based on a patch from Kaveh Ghazi. 1999-05-21 Jim Meyering * Version 1.16k. * configuration fixes: see m4/ChangeLog. 1999-05-16 Jim Meyering * Version 1.16j. * configure.in (AC_SEARCH_LIBS): Set LIB_CRYPT to $ac_cv_search_crypt, to go along with the new macro in m4/search-libs.m4. 1999-05-14 Jim Meyering * lib/getugroups.c (getugroups): Don't dereference a null pointer when running `id USER' for some USER that is listed on the RHS in /etc/group. From Sander van Malssen. Add some curly braces, use STREQ, reverse the sense of a test and use `continue' to save a level of nesting. * tests/Makefile.am (envvar-check): Renamed from check-local. (check): Depend on envvar-check so the envvar check is performed before all other tests. Reported by Volker Borchert. * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects, so CDPATH is mentioned in the message. Reported by Volker Borchert. 1999-05-10 Jim Meyering * src/uptime.c (AUTHORS): add Kaveh. Expand each `&' character in the gecos field. * src/pinky.c (count_ampersands): New function. (create_fullname): New function. (print_entry): Use create_fullname here. (print_long_entry): Use it here, too. From Kaveh Ghazi. 1999-05-09 Jim Meyering * lib/regex.c: Update from libc. * Version 1.16i. * configure.in: Clean up checks for libraries so that we don't add -lshadow unless necessary. Reported by Joseph S. Myers. 1999-05-05 Jim Meyering Add definitions to help read utmpx on systems with utmpname. * lib/readutmp.h (UTMP_NAME_FUNCTION): Define. (SET_UTMP_ENT): Likewise. (GET_UTMP_ENT): Likewise. (END_UTMP_ENT): Likewise. * lib/readutmp.c (read_utmp): Use the new definitions. From Kaveh Ghazi. * src/date.c (show_date): Change an automatic aggregate initializer to be a static one. For SunOS4's cc. From Kaveh Ghazi. 1999-05-03 Jim Meyering * configure.in: Remove duplicate use of jm_FUNC_GNU_STRFTIME. Kaveh Ghazi reported that strftime.o was listed twice in the command to build libsu.a. 1999-05-02 Jim Meyering * Version 1.16h. * src/hostname.c (main): Give a better diagnostic when we fail to set the hostname. * man/Makefile.summ (hostid-summary): Use correct description. Reported by Joseph S. Myers. * lib/readutmp.c (read_utmp): Ignore the return value from utmpname. 1999-04-30 Jim Meyering * src/dirname.c (main): Manually handle `--', since we no longer call getopt. Reported by Joseph S. Myers. * src/basename.c (main): Likewise. * src/factor.c (main): Likewise. 1999-04-25 Jim Meyering * src/seq.c (main): Handle the case in which seq is given no args. Reported by John Gotts. (main): Revert last change. Instead, loop on `optind < argc' to protect use of argv[optind]. * lib/human.c : Don't include it here. * lib/human.h : Include it here instead. : Include it here too. Reported by Andreas Jaeger. * src/nice.c [NDEBUG]: Remove definition. Reported by Andreas Jaeger. 1999-04-24 Jim Meyering * src/who.c (print_entry): Use `#if', not `#ifdef HAVE_UT_HOST'. * Version 1.16g. * configure.in: Use AC_CANONICAL_HOST. 1999-04-20 Jim Meyering Update factor to use `uintmax_t'. * src/factor.c : Include this, not xstrtoul.h. : Include. Use uintmax_t in place of unsigned long. Use human_readable to convert to strings for printing. * lib/xstrtoumax.c: New file. * lib/human.c: New file. * lib/human.h: New file. * lib/Makefile.am (libsu_a_SOURCES): Add human.c and xstrtoumax.c. (noinst_HEADERS): Add human.h. Remove xstrtoul.h. 1999-04-19 Jim Meyering * src/seq.c (main): Restore `+' in getopt_long string. Otherwise, commands like `seq 10 -2 0' wouldn't work. From Andreas Schwab. * tests/seq/basic: Add tests for that. 1999-04-17 Jim Meyering * tests/seq: New directory and basic tests. * tests/Makefile.am (SUBDIRS): Add seq. * configure.in (AC_OUTPUT): Add tests/seq/Makefile. 1999-04-17 Andreas Schwab * configure.in: Check for localeconv. * src/seq.c (decimal_point): New variable. (main): Set it to locale's decimal point. Fix recognition of negative number as argument. (get_width_format): Correctly handle a negative min_val or step when computing fraction width. Use decimal_point. 1999-04-08 Jim Meyering 1999-03-25 James R. Van Zandt * doc/sh-utils.texi (Options for date): Document --iso-8601 * src/date.c: Accept new option: --iso-8601. * lib/Makefile.am (libsu_a_SOURCES): Add argmatch.c and quotearg.c. (noinst_HEADERS): Add argmatch.h and quotearg.h. * lib/argmatch.c: New file. * lib/argmatch.h: New file. * lib/quotearg.c: New file. * lib/quotearg.h: New file. 1999-03-30 Jim Meyering * src/sys2.h: Include "closeout.h" and "version-etc.h" * src/*.c (PROGRAM_NAME, AUTHORS): Define and use. * src/date.c: No longer include long-options.h. [long_options]: Add entries for --help and --version. Remove parse_long_options call. (main) [getopt switch]: Add a case for each of --help and --version. * src/env.c: Likewise. * src/id.c: Likewise. * src/pinky.c: Likewise. * src/seq.c: Likewise. * src/su.c: Likewise. * src/sys2.h: Likewise. * src/tee.c: Likewise. * src/tty.c: Likewise. * src/uname.c: Likewise. * src/who.c: Likewise. 1999-03-29 Jim Meyering * configure.in (GNU_PACKAGE): Remove related code -- now it's in the catch-all for shared autoconf code, m4/jm-macros.m4. (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use this instead. 1999-03-28 Jim Meyering * src/test.c (PROGRAM_NAME): Rename from COMMAND_NAME. 1999-03-28 Paul Eggert * lib/getdate.y (get_date): Reuse tm_isdst of first localtime call; this is an improvement on a bug fix suggested by martin@dresden.nacamar.de. Do not assume that localtime and gmtime return non-null. 1999-03-27 Jim Meyering * src/false.sh (usage): Change `[OPTION]...' to `[OPTION]' to show that only one of --help or --version is recognized at a time. Reported by Meelis Roos. * src/true.sh: Likewise. * src/id.c (print_user): Use uid_t instead of int. (print_group): Use gid_t instead of int. From John Bley. 1999-03-26 Jim Meyering * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. (noinst_HEADERS): Add version-etc.h. 1999-03-20 Jim Meyering * src/nohup.sh: Don't modify PATH just to get GNU nice. Instead, try to find an absolute path for GNU nice. From Bruno Haible. 1999-03-19 Jim Meyering * configure.in: Use new macro, jm_WINSIZE_IN_PTEM, instead of open-coding it. 1999-03-17 Jim Meyering * configure.in (ALL_LINGUAS): Add Italian (it) and Slovak (sk). 1999-03-13 Jim Meyering * lib/basename.c (base_name): If NAME is all slashes, return `/' (in conformance with the single unix spec). Reported by Peter Moulder. 1999-03-10 Jim Meyering * src/uptime.c: Declare getloadavg so I can build with -Werror. * tests/stty/basic-1: Skip failing tests: parenb, -parenb, -cread. * lib/canon-host.c (canon_host): Don't use he->h_addr directly. Based on a patch from Savochkin Andrey Vladimirovich. 1999-03-09 Jim Meyering Running `id USER' doesn't report any groups if there is no entry for USER in /etc/group. Always include the one from /etc/passwd. * src/id.c (xgetgroups): Take new parameter, gid, and pass it to getugroups. (print_group_list): Call getpwuid and adjust calls to xgetgroups to include new parameter. * lib/getugroups.c (getugroups): Take new parameter, gid. Add gid to the list of groups. From Ulrich Drepper. * lib/getgroups.c (getgroups): Protoize. 1999-03-08 Jim Meyering * tests/basename: New directory and tests. * tests/Makefile.am (SUBDIRS): Add basename. * configure.in (AC_OUTPUT): Add tests/basename/Makefile. 1999-03-06 Jim Meyering * src/date.c (batch_convert): Use a `%s' format in error call, in case the argument string contains a `%'. * man/Makefile.am (man_MANS): Add pinky.1. * man/Makefile.summ (pinky-summary): Define. * src/date.c: Include long-options.h. [long_options]: Remove the "help" and "version" entries. Remove declarations of show_help and show_version. (main): Use parse_long_options, including author name(s). Remove the show_version and show_help blocks. * src/env.c: Likewise. * src/id.c: Likewise. * src/logname.c: Likewise. * src/pathchk.c: Likewise. * src/pinky.c: Likewise. * src/printenv.c: Likewise. * src/seq.c: Likewise. * src/sleep.c: Likewise. * src/su.c: Likewise. * src/tee.c: Likewise. * src/tty.c: Likewise. * src/uname.c: Likewise. * src/uptime.c: Likewise. * src/users.c: Likewise. * src/who.c: Likewise. * src/whoami.c: Likewise. 1999-03-04 Jim Meyering * src/basename.c (main): Include author name argument in call to parse_long_options. * src/chroot.c: Likewise. * src/dirname.c: Likewise. * src/echo.c: Likewise. * src/expr.c: Likewise. * src/factor.c: Likewise. * src/hostid.c: Likewise. * src/hostname.c: Likewise. * src/nice.c: Likewise. * src/printf.c: Likewise. * src/pwd.c: Likewise. * src/stty.c: Likewise. * src/test.c: Likewise. * src/yes.c: Likewise. 1999-03-02 Jim Meyering * lib/readutmp.c (read_utmp) [HAVE_UTMPNAME]: Rewrite. 1999-02-15 Jim Meyering * src/stty.c (main): #ifdef-out unreachable code. * src/pinky.c (usage): Add a one-line description. Suggestion from Karl Berry. 1999-02-08 Jim Meyering * configure.in (ALL_LINGUAS): Add Czech (cs). 1999-02-07 Jim Meyering * tests/stty/basic-1: Run all tests even if some fail. Don't use trap. * tests/stty/basic-1: Use `stty', not $STTY. Fix typo in VERBOSE code: s/\$RM/stty/. * tests/stty/row-col-1: Likewise. * tests/stty/Makefile.am (TESTS_ENVIRONMENT): Set PATH, not STTY. Include stdio.h before defining `_unlocked' macros. * src/pinky.c: Include stdio.h. * src/uptime.c: Likewise. * src/users.c: Likewise. * src/who.c: Likewise. * lib/readutmp.c: Include stdio.h here... * lib/readutmp.h: ...not here. From Ulrich Drepper. * Version 1.16f. * Makefile.maint (my-distcheck): Don't depend on dist, now that this is hooked up to the distcheck rule. * Makefile.am (distcheck-hook): New target and rule -- link to shared rule, my-distcheck, in Makefile.maint. * configure.in (jm_FUNC_GETGROUPS): Move the test into a new file, group-member.m4, and just use this new macro. 1999-01-31 Jim Meyering * doc/sh-utils.texi: Wrap the @top node in @ifnottex instead of @ifinfo so `makeinfo --html ...' works. From Karl Berry. * src/chroot.c (main): Call chdir ("/") after chroot. Suggestion from James Youngman. * src/uptime.c (print_uptime): Use the C numeric locale for sscanf of /proc/uptime data, then restore. * lib/getloadavg.c: Include locale.h. [!HAVE_SETLOCALE]: Define-away setlocale. (getloadavg): Ensure the sscanf of /proc/getloadavg data uses the `C' numeric locale. Restore afterwards. Based on a suggestion from Thomas Quinot. * lib/strtod.c: Protoize. 1999-01-30 Jim Meyering * acconfig.h: Remove lots of now-unnecessary #undefs. * configure.in: Require autoconf 2.13. * doc/Makefile.am (DISTCLEANFILES): Arrange to remove sh-utils.fl. * configure.in (ALL_LINGUAS): Add Greek (el). * po/el.po: New file. 1999-01-25 Jim Meyering * src/date.c (usage): Remove static attribute. Move function be the first in the file. * src/env.c: Likewise. * src/id.c: Likewise. * src/nice.c: Likewise. * src/pathchk.c: Likewise. * src/tty.c: Likewise. * src/uname.c: Likewise. * src/*.c (usage): Remove static attribute. 1999-01-14 Jim Meyering * src/date.c: Include closeout.h. (main): Use close_stdout_status. * src/printenv.c: Likewise. * src/tty.c: Likewise. * src/hostid.c: Include closeout.h. (main): Use close_stdout. * src/tee.c: Likewise. 1999-01-10 Jim Meyering * src/Makefile.am (pinky_LDADD, pinky_DEPENDENCIES, who_LDADD, who_DEPENDENCIES): Remove definitions. * lib/Makefile.am (BUILT_SOURCES): Add lstat.c and stat.c. (lstat.c, stat.c): New rules. * lib/canon-host.c (main) [TEST_CANON_HOST]: Add a simple test driver. * configure.in: Require autoconf-2.13. Use new AC_SEARCH_LIBS to see if we need nsl or inet libraries to resolve gethostbyname. 1998-12-22 Jim Meyering * configure.in (ALL_LINGUAS): Add chinese (zh). 1998-12-13 Jim Meyering * lib/putenv.c: Don't include stdlib.h and declare malloc and free. This works around Solaris 5.7's conflicting prototype. Reported by Karl Berry. * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in. (stat.c): Likewise. (EXTRA_DIST): Add xstat.in. * lib/stat.c: Remove file. * lib/lstat.c: Remove file. * lib/xstat.in (xstat@): New file. 1998-12-10 Andreas Schwab * src/date.c (main): Arrange to exit unsuccessfully when stime fails. 1998-12-07 Jim Meyering * configure.in (ALL_LINGUAS): Add Russian (ru). 1998-10-31 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Add Fetish.pm. * tests/Fetish.pm: New file. * tests/factor/Makefile.am: Rewrite to use new testing framework. * tests/factor/Test.pm: Remove file. * tests/factor/factor-tests: Remove file. * tests/factor/basic: New file (rewrite of Test.pm). * acconfig.h (stat): New #undef. 1998-10-03 Jim Meyering * man/Makefile.am: Switch to using help2man. (EXTRA_DIST): Add Makefile.summ. * man/help2man: Invoke program with --manhelp option only if --name=STRING not specified. Otherwise, this would fail with `yes'. * man/Makefile.summ: New file. * man/Makefile.maint: Include it. * man/help2man: New file. * man/GNUmakefile: New file. * man/Makefile.maint: New file. * man/*.x: New files. * man/*.1: Remove files. * src/Makefile.am (install-exec-local): Change comments to use `##' to avoid automake warning. * lib/Makefile.am (noinst_HEADERS): s/posixtm.c/posixtm.h/ (libsu_a_SOURCES): s/posixtm.y/posixtm.y/ (libsu_a_SOURCES): Remove getdate.c. Add fnmatch.h. * src/date.c (main): Update to use new version of posixtime. * lib/posixtm.c: New file. * lib/posixtm.h: New file. * lib/posixtm.y: Remove file. * lib/fnmatch.c: New file. (unused) * lib/fnmatch.h: New file. (unused) 1998-09-27 Jim Meyering * src/seq.c (main): Decrement optind when we find an `option' that looks like -N. Reported by Clark Morgan. 1998-09-26 Jim Meyering * lib/xstrtol.c (__xstrtol) [STRING_TO_UNSIGNED]: Return LONGINT_INVALID for strings that begin with `-'. * tests/factor/Test.pm: Add a test for negative argument. Tweak postprocessing framework. 1998-09-19 Jim Meyering * src/stty.c (main): Revamp option processing, again. stty couldn't parse some of its options. * tests/stty/basic-1: New test. * tests/stty/Makefile.am (TESTS): Add basic-1. 1998-08-29 Jim Meyering * src/su.c (longopts): Use corresponding short-option character in place of `1', and `NULL' in place of pointer in initialization. 1998-08-11 Jim Meyering * src/uptime.c (usage): Correct description. Reported by John Murphy. 1998-07-16 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add lchown.h. * lib/lchown.h: New file, just to define ENOSYS on systems that lack it. * lib/lchown.c: Include lchown.h. 1998-07-15 Jim Meyering * src/seq.c (check_format): Add `5' to the list of digits. Reported by Donni Erpel. 1998-07-12 Jim Meyering * tests/test: New directory and tests. * tests/Makefile.am (SUBDIRS): Add test. * configure.in (AC_OUTPUT): Add tests/test/Makefile. 1998-07-04 Jim Meyering * lib/Makefile.am (libsu_a_SOURCES): Remove regex.c, now that it's automatically discovered by automake. (noinst_HEADERS): Remove unused safe-read.h. * src/Makefile.am (CLEANFILES): Put $(SCRIPTS) here rather than in DISTCLEANFILES. (CLEANFILES): Add su, since we build it unconditionally, yet it's never put in @OPTIONAL_BIN_PROGS@. 1998-06-29 Jim Meyering * src/uptime.c: Include system.h only after error.h and readutmp.h so we don't get redefinition warnings about getc, etc. * src/who.c: Likewise. * src/users.c: Likewise. 1998-06-28 Jim Meyering * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. 1998-06-06 Jim Meyering * src/test.c (unary_operator): Fail if the operand to -t is not valid. (posixtest): Treat `test -t' the same as `test -t 1'. 1998-05-26 Jim Meyering * src/test.c (two_arguments): Don't test argv[pos][2] if it's past end of string. 1998-05-25 Jim Meyering * configure.in (_GNU_SOURCE): AC_DEFINE it here. * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section. [!_GNU_SOURCE]: Add #undef instead. 1998-05-16 Jim Meyering * lib/readutmp.c (read_utmp): Add variant for systems that have the utmpname function. Ansideclify. * configure.in: Check for utmpname. * configure.in (jm_MACROS): New wrapper macro. Remove uses of most jm_* macros. * acconfig.h (chown): Add undef. (D_INO_IN_DIRENT): Likewise. (D_TYPE_IN_DIRENT): Likewise. (ssize_t): Likewise. * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS=' lines from the m4/*.m4 macros, so the hack of including some custom-replaced C source file names here is no longer needed. 1998-05-03 Jim Meyering * po/: Update from gettext-0.10.35. * intl/: Likewise. * configure.in: Remove use of AC_LINK_FILES. (AC_OUTPUT): Remove po/Makefile-generating sed command. 1998-05-02 Jim Meyering * src/seq.c (check_format): Use ISDIGIT, not isdigit. 1998-04-26 Jim Meyering * configure.in: Use jm_ASSERT. * acconfig.h: Add NDEBUG. 1998-04-13 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. 1998-04-09 Jim Meyering * configure.in (AM_MAINTAINER_MODE): Remove it. No longer use AC_PATH_PROG to check for perl. (jm_PERL): Use this instead. 1998-04-04 Jim Meyering * lib/readutmp.h (PARAMS): Define. * tests/Makefile.am (SUBDIRS): Add stty. * tests/stty/row-col-1: New file. * tests/stty: New directory. * configure.in (AC_OUTPUT): Add tests/stty/Makefile. * src/stty.c: Use STREQ in place of strcmp everywhere. (valid_options): Indent. Parenthesize assignment in while expr. (main): s/case 'f':/case 'F':/ Tweak error messages to make them consistent. Remove #if-0'd block. Move dcl of `fdflags' into scope where it's used. Remove dcl of unused `cp'. Use "%s", not device_name, as the format string, in case the latter contains `%'. [1998-03-31 Theodore Ts'o ] * src/stty.c (valid_options): New function. (main): Fix broken options parsing that worked only by serendipity (getopt_long_only already parsed short options; no need to parse them again manually!). Add support for the --file option, which allows the user to specify the device whose line settings are to be set. This is necessary because POSIX ttys will block waiting for carrier detect to go high if CLOCAL is not set, unless the device is opened with the O_NONBLOCK flag. Unfortunately, the shell doesn't use this flag, so users lose. Opening the device in stty is the easist way to fix this. (speeds): Add support for 230400 and 460800 line speeds, which are supported by Linux. * acconfig.h (uintmax_t): Add #undef. * configure.in (jm_AC_HEADER_INTTYPES_H): Use it. (jm_AC_TYPE_UINTMAX_T): Use it. (jm_PREREQ): Use it. * src/system.h: Sync with system.c from fileutils. * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal know about the m4/ subdirectory. * Makefile.maint (aclocal-files): Remove now-unnecessary (with automake-1.2h and the above change) aclocal-related rules and includes. 1998-04-03 Jim Meyering * lib/closeout.c: New file. * lib/closeout.h: New file. * lib/Makefile.am (libsu_a_SOURCES): Add closeout.c. (noinst_HEADERS): Add closeout.h. 1998-03-27 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. 1998-03-26 Jim Meyering * src/date.c (batch_convert): Remove spurious space in error message. Reported by Karl Berry. 1998-03-13 Jim Meyering * lib/getugroups.c (getugroups): Don't add a group number if it would be a duplicate. From Ulrich Drepper. 1998-02-22 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Add mk-script. * tests/Makefile.am.in (EXTRA_DIST): Remove mk-script.pl. (mk_script): Set to ../mk-script. (x-tests): Use `$(PERL) -w -- $(mk_script)', not ./mk-script. Remove @MAINT@ cruft. (Makefile.am): Likewise. Remove @MAINT@ cruft. Now `missing' will explain the failure when people don't have Perl yet modify a file whose rebuilding would lead to the use of Perl. * src/Makefile.am (pinky_LDADD): Explicitly add @GETHOSTBYNAME_LIB@. (who_LDADD): Likewise. (pinky_DEPENDENCIES): Set to $(LDADD) (who_DEPENDENCIES): Likewise. 1998-02-20 Jim Meyering * lib/getdate.h: Removed. Could cause confusion with an automake-generated `.y.h' rule. * lib/get-date.h: Renamed from getdate.h. * lib/getdate.y: s/getdate.h/get-date.h/ * lib/Makefile.am (noinst_HEADERS): s/getdate.h/get-date.h/ * src/date.c: s/getdate.h/get-date.h/ 1998-02-16 Jim Meyering * configure.in (jm_FUNC_LSTAT): Use it. (jm_FUNC_STAT): Use it. * acconfig.h: Add lstat. * lib/Makefile.am (EXTRA_DIST): Add lstat.c and stat.c. 1998-02-06 Jim Meyering * tests/nice: Fail immediately if this test is run with `nice' level different from zero. Reported by Philippe De Muyter. 1998-02-03 Philippe De Muyter * src/id.c (xgetgroups): Guard function defn with #if HAVE_GETGROUPS. * lib/putenv.c (sys/types.h): Include to get size_t on some systems. (NULL): Define if needed. 1998-01-31 Jim Meyering * configure.in (AC_LFS): Use it. 1998-01-25 Jim Meyering * Makefile.maint: New file. * Makefile.am: Move rules common to textutils, fileutils, sh-utils into Makefile.maint. Include Makefile.maint. (EXTRA_DIST): Add Makefile.maint. 1998-01-03 Jim Meyering * lib/Makefile.am (AUTOMAKE_OPTIONS): Define to ../src/ansi2knr. * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so those files will be built via the ANSI2KNR-filtering rules if necessary. 1997-12-25 Jim Meyering * configure.in: Remove AC_DEFINE of _GNU_SOURCE. * acconfig.h (_GNU_SOURCE): Define if not already defined. Put this code in @TOP@ section. (_GNU_SOURCE): Remove #undef. 1997-12-22 Jim Meyering * configure.in: AC_DEFINE _GNU_SOURCE. * acconfig.h: Add _GNU_SOURCE. 1997-12-21 Jim Meyering * src/date.c: s/__P/PARAMS/ * src/env.c: Likewise. * src/expr.c: Likewise. * src/id.c: Likewise. * src/nice.c: Likewise. * src/pathchk.c: Likewise. * src/seq.c: Likewise. * src/sleep.c: Likewise. * src/stty.c: Likewise. * src/tee.c: Likewise. * src/test.c: Likewise. * src/tty.c: Likewise. * src/uname.c: Likewise. * src/system.h: Merge in several things from fileutils' version of this file. * src/factor.c: Don't include limits.h. (UINT_MAX): Don't define. (INT_MAX): Don't define. These are all done in system.h now. * src/hostname.c: Don't include limits.h. * src/id.c: Don't include limits.h or sys/param.h. * src/pathchk.c: Don't include limits.h. * src/su.c: Likewise. 1997-12-10 Jim Meyering * src/su.c (main): Make sure pw->pw_shell is non-NULL before trying to strdup it. Patch from Dick Streefland. 1997-11-17 Paul Eggert * lib/mktime.c, lib/strftime.c (_REENTRANT): #define, as some hosts need this to declare localtime_r properly. 1997-11-15 Jim Meyering * intl/Makefile.in (distclean): Don't remove libintl.h here. * Makefile.am (DISTCLEANFILES): Remove it here instead. * m4/Makefile.am (EXTRA_DIST): Add mktime.m4. * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not the one from automake. * m4/strftime.m4: Check for %F format. 1997-11-14 Jim Meyering * m4/mktime.m4: Temporarily add a copy of this file from the automake distribution. (jm_AM_FUNC_MKTIME): Renamed from AM_FUNC_MKTIME. (irix_6_4_bug): New function based on code from Ariel Faigon. (bigtime_test): New function from Paul Eggert to detect SunOS4.1.4's infinite looping mktime. Portability tweaks from Paul Eggert. 1997-11-13 Jim Meyering * lib/mktime.c: Update from FSF. * lib/strftime.c: Update from FSF. * m4/strftime.m4: Check for POSIX.2's %f format spec. 1997-11-12 Jim Meyering * configure.in (AC_CHECK_FUNCS): Add mempcpy. * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define. * src/date.c (batch_convert): Use mempcpy rather than stpcpy. 1997-11-09 Jim Meyering * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Check for localtime_r. * m4/strftime.m4 (jm_STRFTIME_PREREQS): Check for localtime_r. (jm_FUNC_GNU_STRFTIME): Use new macro. (jm_FUNC_STRFTIME): New macro. Likewise. Reported by Noel Cragg. 1997-11-02 Jim Meyering * acconfig.h: Add malloc and realloc. 1997-10-25 Jim Meyering * lib/xmalloc.c (xalloc_fail): Renamed from fixup_null_alloc. (xcalloc): #ifdef-out unused function. (xrealloc): Remove code to work around deficient versions of realloc. Now we have an autoconf-enabled replacement version. (xmalloc): Remove code to work around deficient versions of malloc. Now we have an autoconf-enabled replacement version. * configure.in (jm_FUNC_MALLOC): Use it. (jm_FUNC_REALLOC): Use it. * lib/Makefile.am (noinst_HEADERS): Add xalloc.h. (EXTRA_DIST): Add realloc.c. (EXTRA_DIST): Add malloc.c. * lib/malloc.c: New file. * m4/malloc.m4: New file. * m4/Makefile.am (EXTRA_DIST): Add malloc.m4. * lib/xalloc.h: New file. * lib/xmalloc.c: Updated from textutils. * src/*.c: Remove old-style xmalloc and xrealloc decls. * src/system.h: Include xalloc.h. Remove dcls of xmalloc, xcalloc and xrealloc. 1997-10-23 Jim Meyering * Makefile.am (aclocal-files): Also depend on m4/Makefile.am. * src/system.h [!HAVE_DECLARATION_FREE]: Declare free. [!HAVE_DECLARATION_MALLOC]: Declare malloc. [!HAVE_DECLARATION_REALLOC]: Declare realloc. [!HAVE_DECLARATION_STPCPY]: Declare stpcpy. [!HAVE_DECLARATION_STRSTR]: Declare strstr. [STREQ]: Define. * src/date.c: Remove stpcpy decl. * src/expr.c: Remove strstr decl. * src/test.c [STREQ]: Undef then redefine. On some systems, strstr and stpcpy are macros, so declaring them unconditionally gets syntax errors. Reported by Mark M. Kettenis. * configure.in: Use jm_CHECK_DECLS. * m4/Makefile.am (EXTRA_DIST): Add decl.m4 and check-decl.m4. 1997-10-22 Jim Meyering * m4/decl.m4: New file. * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. 1997-10-07 Jim Meyering * src/*.c: Update bug-reporting address. * src/*.sh: Update bug-reporting address. 1997-10-02 Jim Meyering * tests/date/Test.pm (test_vector): Remove _%Z from test `9'. The timezone string was too system dependent. 1997-09-25 Jim Meyering * src/echo.c: Make echo conform to POSIX. By default, don't interpret backslash escape sequences. [V9_DEFAULT]: Don't #define. (usage): Document -e option. (main): Recognize options iff POSIXLY_CORRECT is not set. From Bruno Haible. 1997-09-19 Jim Meyering * lib/getusershell.c (IN_CTYPE_DOMAIN): Define. (ISSPACE): Define. (readname): Use ISSPACE, not isspace. * lib/strtod.c (IN_CTYPE_DOMAIN): Define. (ISSPACE): Define. (ISDIGIT): Define. (TOLOWER): Define. Use upper-case versions of ctype macros. * lib/strtol.c (IN_CTYPE_DOMAIN): Define. (ISSPACE): Guard with IN_CTYPE_DOMAIN. (ISDIGIT): Guard with IN_CTYPE_DOMAIN. (TOUPPER): Guard with IN_CTYPE_DOMAIN. From Bruno Haible. 1997-09-17 Jim Meyering * src/yes.c (main): Call parse_long_options only if POSIXLY_CORRECT is *not* set. Reported by Frank T Lofaro. * src/hostid.c: New file. * src/Makefile.am (EXTRA_PROGRAMS): Add hostid. * configure.in (OPTIONAL_BIN_PROGS): Check for gethostid, and if found add hostid to the list. * man/hostid.1: New file. * man/Makefile.am (man_MANS): Add hostid.1. 1997-08-31 Jim Meyering * src/who.c (main): New option --lookup (-l). (print_entry): Only call canon_host if user explicitly asks for it. (usage): Describe --lookup. From Galen Hazelwood. * configure.in (ALL_LINGUAS): Add Spanish (es). 1997-08-02 Jim Meyering * src/Makefile.am (bin_PROGRAMS): Add pinky. * src/pinky.c: New file. From Kaveh Ghazi. * po/POTFILES.in: Add pinky.c. 1997-07-19 Andreas Schwab * src/date.c (show_date): Don't hang if strftime produces an empty string. 1997-07-16 Jim Meyering * src/groups.sh: Exit with status from subsidiary `id' command. Don't print `$name : $groups' if id fails. Reported by Austin Donnelly. 1997-07-15 Jim Meyering * lib/getloadavg.c: Merge in changes from FSF. 1997-07-13 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi. Now, automake includes it automatically. 1997-07-12 Jim Meyering * po/Makefile.in.in (DISTFILES): Remove ChangeLog. * po/POTFILES.in: Add who.c, users.c, uptime.c. Remove who-users.c. * src/who.c: Rename lots of `this' locals. Make some parameters `const'. (who): Update read_utmp caller. (search_entries): Take additional param: utmp_buf. Update read_utmp caller. (who_am_i): Update read_utmp caller. * src/users.c (users): Update read_utmp caller. * src/uptime.c (uptime): Update read_utmp caller. * lib/readutmp.h (PARAMS): Update prototype. (utmp_contents): Remove dcl. * lib/readutmp.c (read_utmp): Take new params: count and buffer. Return boolean indicating failure. Now, caller must give diagnostic upon failure. 1997-07-12 Kaveh R. Ghazi * lib/readutmp.c, lib/readutmp.h: New files implementing shared functionality from src/who-users.c. * lib/Makefile.am (libsu_a_SOURCES): Add readutmp.c. (noinst_HEADERS): Add readutmp.h. * src/who.c, src/users.c, src/uptime.c: Split these so they no longer derive from the template source file who-users.c. Use shared functionality from lib/readutmp.c instead. * src/Makefile.am: Remove rules to build who.c, users.c and uptime.c from template source file who-users.c. Handle these files as stand-alone sources. * src/who-users.c: Remove file. It is no longer used. 1997-07-12 Jim Meyering * src/date.c (MAYBE_SET_TZ_UTC0): New macro. (set_tz): New function. (batch_convert): If necessary, save the initial value of TZ and for each date in the file, restore it before each call to get_date, then set it to UTC0 before each show_date call. (main): Don't set TZ before calling get_date. Set TZ after get_date call and before show_date call. Reported by Matthew Braun. * tests/date/Test.pm: Add new tests for this bug. Add tests based on new examples in documentation. * stpcpy.c: New file. * configure.in (AC_REPLACE_FUNCS): Add stpcpy.c 1997-07-05 Jim Meyering * src/Makefile.am (EXTRA_PROGRAMS): Add su here. (bin_PROGRAMS): Remove su here. (install-exec-local): Rewrite rule so that su is installed only if it can be made setuid root. Before it was always installed and then removed if it could *not* be made setuid root. That had the potential undesirable side effect of removing (and not replacing) a working version of su. (all_local): New target. Dependend on su. Required now that su is no longer in bin_PROGRAMS. (uninstall-local): Remove su only if it comes from the GNU sh-utils. * src/su.c: Redefine/undef getusershell around inclusion of (via system.h) so Cray's int-returning prototype doesn't conflict with our char*-returning one. Reported by Johan Danielsson. 1997-07-04 Jim Meyering * tests/Makefile.am.in (Makefile.am): Clean up and enable rule to generate tests/*/Makefile.am. * configure.in (ALL_LINGUAS): Add Norwegian (no). * tests/date/mk-script.pl (validate): Create test files in $(srcdir), not in build dir. * tests/Makefile.am.in ($x-tests): Create $x-tests in $(srcdir), not in build dir. * Makefile.am (aclocal-files): Look in source directory, not build dir. From Andreas Schwab. 1997-07-03 Jim Meyering * tests/date/Test.pm (test_vector): Remove bogus TZ=GMT environment setting. Wed Jul 2 11:05:09 1997 Jim Meyering * src/printf.c (STRTOX): Convert function header in macro definition to K&R-style. Otherwise, ansi2knr would fail to convert the function definitions to K&R for old style compilers. From Kaveh Ghazi. Tue Jul 1 06:28:00 1997 Jim Meyering * lib/putenv.c [putenv]: Undefine before including system headers. Otherwise, the declaration of *rpl_putenv* conflicts with the system prototype on at least Irix5.3. From Marcus Daniels. Sun Jun 29 07:18:25 1997 Jim Meyering * lib/putenv.c (rpl_putenv): Renamed from putenv. [putenv]: Remove definition and subsequent #undef hack that avoided conflicts with system prototypes. That didn't let the definition of putenv to rpl_putenv from config.h get through. Suggestion from Marcus Daniels. * configure.in (LIB_CRYPT): AC_SUBST new variable. Use it to add crypt-related library (-lufc or -lcrypt) only for the program that needs it (su), rather than to all executables. * src/Makefile.am (su_LDADD): Set to `$(LDADD) @LIB_CRYPT@'. Suggestion from Ulrich Drepper. * tests/date/mk-script.pl: Set and export LANGUAGE, LC_ALL, and LANG so tests get english strings. From Ulrich Drepper. Mon Jun 16 11:06:57 1997 Jim Meyering * m4/putenv.m4 (jm_FUNC_PUTENV): New file and macro. * configure.in (jm_FUNC_PUTENV): Use it. * acconfig.h (putenv): Add #undef. * lib/Makefile.am (EXTRA_DIST): Add putenv.c. (libsu_a_SOURCES): Remove putenv.c. * m4/Makefile.am (EXTRA_DIST): Add putenv.m4. Thu Jun 12 06:48:23 1997 Jim Meyering * src/expr.c (eval6): Accept new unary operator, quote. From Karl Heuer. Wed Jun 11 15:13:56 1997 Jim Meyering * src/expr.c (docolon): Test (re_buffer.re_nsub > 0) rather than searching for `\(' to determine whether to return 0 or the empty string. Before it would improperly return '' if the pattern contained a substring like this: `\\('. From Karl Heuer. For example, running expr c : '\\(' should print `0'. Sun Jun 1 12:00:10 1997 Jim Meyering * lib/getdate.y (OtherTable): Interpret `next' as 1 (not 2) units. Patch from Richard Sharman . * tests/date/Test.pm: Add tests using `next'. Tue May 27 06:08:06 1997 Jim Meyering * lib/basename.c: Don't include backupfile.h. * lib/Makefile.am (noinst_HEADERS): Add backupfile.h. * src/basename.c: Use base_name, not basename. * src/su.c: Use base_name, not basename. * configure.in: Don't replace basename. Now it's always required. * lib/Makefile.am (libsu_a_SOURCES): Add basename.c. * lib/getopt.c: Update from glibc via patch-2.2.93. * lib/getopt1.c: Likewise. * lib/getopt.h: Likewise. * lib/basename.c: Likewise. Sat May 24 13:26:04 1997 Jim Meyering * man/Makefile.am (EXTRA_DIST): Put man_MANS here so they are distributed. This seems to be necessary for automake-1.1p. Thu May 1 00:10:11 1997 Jim Meyering * ansi2knr.c echo.c factor.c hostname.c id.c nice.c pathchk.c spline.c test.c uname.c: Indent cpp-directives. * src/system.h (N_): Define. Sun Apr 27 18:30:53 1997 Jim Meyering * src/printf.c (cfcc_msg): File-scope constant. (STRTOX): Use new constant as error message format string in macro. Suggestion from Andreas Schwab. (STRTOX): Don't fail because of extra character(s) following a character constant. Give the *warning* only if !POSIXLY_CORRECT. Sun Apr 6 14:29:14 1997 Jim Meyering * src/printf.c: Reorder functions to obviate forward decls. Change most char* dcls to const char*. (STRTOX): New macro to eliminate code duplication. (xstrtod, xstrtol, xstrtoul): Remove functions. Use the STRTOX instead. * src/printf.c (STRTOX): Interpret arguments like 'a and "a as POSIX requires. Derived from a patch by Dennis Henriksen. Sun Mar 23 15:20:17 1997 Jim Meyering * configure.in (ALL_LINGUAS): Add polish (pl). Sat Mar 22 00:03:02 1997 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l. (aclocal.m4): Use aclocal's new -I option. * missing: New file -- from the automake-1.1m distribution. Thu Mar 20 21:10:44 1997 Jim Meyering * m4/ccstdc.m4: Remove file. * m4/init.m4: Likewise. * m4/sanity.m: Likewise. * m4/protos.m: Likewise. * m4/dmalloc.m4: Likewise. * m4/error.m4: Likewise. * m4/header.m4: Likewise. * m4/install.m4: Likewise. * m4/lispdir.m4: Likewise. * m4/maintainer.m4: Likewise. * m4/obstack.m4: Likewise. * m4/ptrdiff.m4: Likewise. * m4/regex.m4: Likewise. * m4/strtod.m4: Likewise. * m4/termios.m4: Likewise. * m4/winsz.m4: Likewise. Tue Mar 18 06:46:54 1997 Jim Meyering * src/su.c: Indent cpp-directives to reflect nesting. Change a few #ifdef to #if. Remove 3 spurious #ifdef that were guarding an #undef each. * src/seq.c (check_format): Rename local, FORMAT_STRING, to avoid shadowing global. (print_numbers): Likewise. * src/who-users.c (idle_string): Rename local, IDLE, to avoid shadowing global. * src/su.c (log_su): Resort to getpwuid if getlogin fails. If no tty name is found, use `none' in the log message. Based on a patch from Galen Hazelwood. Thu Mar 13 21:27:36 1997 Jim Meyering * lib/mktime.c (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0. Wed Feb 19 23:06:46 1997 Jim Meyering * src/factor.c (factor): Rewrite inner loop to be more efficient. Patch from Torbjorn Granlund. Tue Feb 18 21:18:04 1997 Jim Meyering * tests/date/Test.pm: Add tests for %U, %V, and %W and for a bug fixed on 1996-03-05. Remove misleading `-' from leap-1 test. * tests/Makefile.am (SUBDIRS): Add factor. * tests/factor: New directory. * configure.in (AC_OUTPUT): Add tests/factor/Makefile. Tue Feb 4 22:03:13 1997 Jim Meyering * src/stty.c: Bracket inclusion of termios.h with #if HAVE_TERMIOS_H. Masami Takikawa reported that NeXTStep 3.0 doesn't have termios.h. * configure.in (AC_CHECK_HEADERS): Add termios.h. Fri Jan 31 21:13:13 1997 Jim Meyering * src/*.c (usage): Bracket bug-reporting address with <> and append a period. * src/*.sh: Likewise. * src/*.c: Compare getopt_long return value against -1, not EOF. Use NULL, not `(int *) 0' as last parameter in getopt_long call. Mon Jan 27 21:43:50 1997 Jim Meyering * src/chroot.c (usage): Remove one space in message to make colons line up. Sun Jan 26 12:51:05 1997 Jim Meyering * Version 1.16. * src/who-users.c (usage): Fix typo (--writeable -> --writable) in help output. From Galen Hazelwood. Sat Jan 25 21:01:13 1997 Jim Meyering * src/factor.c (print_factors): Reflect changes to xstrtoul interface. * tests/date/mk-script.pl: Generated script now reflects specification (in Test.pm) of default and per-test environment settings. Fri Jan 24 23:36:00 1997 Jim Meyering * lib/long-options.c (parse_long_options): Reset optind to zero before just returning so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. This solves the problem (reintroduced with 1.15) where `stty -tabs' would not work as advertised but instead act like `stty -a'. Reported by Arne Juul. Suggested fix from Ulrich Drepper. Wed Jan 22 20:12:31 1997 Jim Meyering * lib/getopt.c: Update from GNU C library. * lib/getopt1.c: Update from GNU C library. * lib/getopt.h: Update from GNU C library. * tests/Makefile.am (EXTRA_DIST): Add README Makefile.am.in. (SUBDIRS): Set to `date'. * configure.in: Check for perl. (AC_OUTPUT): Add tests/date/Makefile. * tests/date: New directory. * m4/getgroups.m4: Move the code from configure.in into this macro that resorts to looking for getgroups in -lbsd. Set new shell variable, GETGROUPS_LIB (that callers should check), if it is found there. * configure.in: Check $GETGROUPS_LIB just after jm_FUNC_GETGROUPS. (AC_CHECK_FUNCS): Remove getgroups. Remove code that resorts to looking for getgroups in -lbsd. * m4/mktime.m4 (AM_FUNC_MKTIME): Run tests for each of a few values for the TZ environment variable. Andre Novaes Cunha provided the hairy TZ setting that exercized the Solaris tzset bug. 1997-01-22 Paul Eggert * lib/strftime.c (_strftime_copytm): New function, to work around Solaris 2.5 tzset bug. * m4/mktime.m4 (AM_FUNC_MKTIME): Fix bug in mktime test -- don't test now, test a couple of thousand times. * m4/strftime.m4 (main): Use TZ=GMT0, not TZ=GMT, since only GMT0 is specified by Posix.1. Sat Jan 18 09:32:26 1997 Jim Meyering * lib/getdate.y (get_date): Change prototype to reflect const'ness of parameters. Indent cpp-directives to reflect nesting. Indent with GNU indent. * lib/getdate.h: New file. * src/date.c: Include getdate.h. (, ): Don't include -- now getdate.h does it. (get_date): Don't declare. getdate.h does it. * lib/Makefile.am (noinst_HEADERS): Add getdate.h. 1997-01-06 Paul Eggert * getdate.y: Rewrite to use mktime. : Don't include. (mktime): Declare. (struct timeb, timezone, DOOMSDAY, SECSPERDAY, DSTMODE, yyDSTmode, ToSeconds, Convert, DSTcorrect, RelativeDate, RelativeMonth): Remove. (ToHour): New function (part of the old ToSeconds fn). (ToYear): New function (part of the old Convert fn). (TABLE.value, yyDayOrdinal, yyDayNumber, yyTimezone, yyDay, yyHour, yyMinutes, yyMonth, yySeconds, yyYear, yyRelMonth, yyRelSeconds, Number): Now int instead of time_t. (HOUR): Don't cast to time_t. (tDAY_UNIT, tHOUR_UNIT, tYEAR_UNIT): New %tokens. (UnitsTable): Use new units that are closer to the keywords. (yyRelDay, yyRelHour, yyRelMinutes, yyRelYear): New variables. (rel, relunit, get_date): Add support for them. (time): Fix timezone calculations for negative half-hour offsets when integer division truncates towards minus infinity. (zone): Incorporiate DST calculation directly. (get_date): 2nd arg is now time_t *, not struct timeb *. Use mktime to do most of the work, instead of computing it ourselves. Guard against falsely reporting errors near the time_t boundaries when parsing times in other time zones. Thu Jan 16 20:58:40 1997 Jim Meyering * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Check for pstat_getdynamic. * configure.in (AC_CHECK_FUNCS): Don't check for pstat_getdynamic here. Tue Jan 14 22:45:36 1997 Jim Meyering * configure.in (AC_CHECK_FUNCS): Add pstat_getdynamic. Alphabetize functions. * lib/getloadavg.c [hpux && HAVE_PSTAT_GETDYNAMIC]: Use HPUX's pstat_getdynamic function so we don't need any special privileges to determine load averages. Patch from Kaveh Ghazi, based on a sample implementation from Richard J. Rauenzahn. Indent cpp-directives to reflect nesting. Wed Jan 8 16:38:24 1997 Jim Meyering * Version 1.15. * lib/getopt.c (_getopt_internal): Use `_', rather than the (sometimes-)expansion `gettext'. Tue Jan 7 22:10:51 1997 Jim Meyering * src/nice.c (main): Work around failures induced by new version of getopt.c by not modifying optind before the first getopt_long call in main. With suggestions from Ulrich Drepper. * lib/getopt.c: New (more POSIX compliant) version from GNU libc. [_]: Define to gettext also if ENABLE_NLS is defined. This is temporary. Fri Jan 3 21:08:29 1997 Jim Meyering * acconfig.h (getgroups): Add #undef. From Marcus Daniels. Fri Dec 27 17:25:18 1996 Jim Meyering * src/who-users.c [!WTMP_FILE]: Provide default path. (UTMP_FILE) [UTMPX_FILE]: Use UTMPX_FILE in favor of UTMP_FILE. Patch from Kaveh R. Ghazi. Indent cpp directives. * m4/getgroups.m4: Rewrite the test so that systems lacking getgroups don't try to use the supplied replacement function -- that depends on the existence of such a function. * Makefile.am (aclocal.m4): No longer depend on acinclude.m4. * configure.in (jm_FUNC_GETGROUPS): Use it. Reported by Marcus Daniels. AC_REQUIRE version 2.12 of autoconf. Sun Dec 22 23:31:32 1996 Jim Meyering * configure.in: Increment version to 1.14a. * m4/Makefile.am (EXTRA_DIST): Add README. Fri Dec 20 19:28:37 1996 Jim Meyering * src/who-users.c (usage): Say that UTMP_FILE is the default FILE rather than hard-coding /etc/utmp. Replace hard-coded /etc/wtmp with WTMP_FILE. Suggestion from Eivind. * src/seq.c (usage): Tweak --help text. * configure.in (AC_OUTPUT): Add m4/Makefile. * lib/Makefile.am (EXTRA_DIST): Add getgroups.c. * Makefile.am (SUBDIRS): Add m4. (aclocal-files): Add rules that rely on (GNU) make's include directive that computes dependencies for aclocal.m4. (aclocal.m4): Override automake-generated rule. * m4/Makefile.am: New file. * lib/strftime.c: Update from GNU libc. * m4/getline.m4: New file, extracted from acinclude.m4. * m4/getloadavg.m4: Likewise. * m4/jm-mktime.m4: Likewise. * m4/jm-winsz1.m4: Likewise. * m4/jm-winsz2.m4: Likewise. * m4/memcmp.m4: Likewise. * m4/strftime.m4: Likewise. * m4/uptime.m4: Likewise. * m4/ccstdc.m4: Copied from automake-1.1l. * m4/dmalloc.m4: Likewise. * m4/error.m4: Likewise. * m4/gettext.m4: Likewise. * m4/header.m4: Likewise. * m4/init.m4: Likewise. * m4/install.m4: Likewise. * m4/lcmessage.m4: Likewise. * m4/lispdir.m4: Likewise. * m4/maintainer.m4: Likewise. * m4/mktime.m4: Likewise. * m4/obstack.m4: Likewise. * m4/progtest.m4: Likewise. * m4/protos.m4: Likewise. * m4/ptrdiff.m4: Likewise. * m4/regex.m4: Likewise. * m4/sanity.m4: Likewise. * m4/strtod.m4: Likewise. * m4/termios.m4: Likewise. * m4/winsz.m4: Likewise. * m4/getgroups.m4: New file. (jm_FUNC_GETGROUPS): New macro * lib/getgroups.c: New file. * m4: New directory. Wed Dec 18 07:47:29 1996 Jim Meyering * configure.in (AC_CHECK_HEADERS): Add paths.h. * src/su.c [HAVE_PATHS_H]: Include . [_PATH_DEFPATH]: Use this to define DEFAULT_LOGIN_PATH. [_PATH_DEFPATH_ROOT]: Use this to define DEFAULT_ROOT_LOGIN_PATH. From Rik Faith. * acinclude.m4 (jm_FUNC_GNU_STRFTIME): Change m4 quote strings outside the quoted test program. Quote the test program with <<, >>. Reported by Andreas Schwab. (AM_FUNC_GETLOADAVG): Likewise. (jm_FUNC_GNU_STRFTIME): Add tests for new, upcasing ^ modifier Tue Dec 17 18:54:32 1996 Jim Meyering * src/Makefile.am (install-exec-local): Properly redirect stdout and stderr to /dev/null. From Eric Backus. * lib/strftime.c: Update from GNU libc. * acinclude.m4 (jm_SYS_PROC_UPTIME): Require AC_PROG_CC, rather than now-obsolete AC_C_CROSS. (jm_FUNC_MKTIME): When redefining, use rpl_ prefix, not gnu_ one since there's nothing GNU-specific about the replacement. Contrast with gnu_ prefix added to strftime. (jm_FUNC_MEMCMP): New macro. * configure.in: Use jm_FUNC_MEMCMP instead of AM_FUNC_MEMCMP. * acconfig.h: Add memcmp. Sun Dec 15 18:37:08 1996 Jim Meyering * configure.in (check for 3-argument setpriority function): Complete partial change made on Dec 12. From Arne Juul. Sat Dec 14 14:51:50 1996 Jim Meyering * acinclude.m4 (jm_SYS_PROC_UPTIME): Fix typo in cache variable name for cross compiling. Remove definitions of gettext-related macros. The gettext installation procedure installs corresponding .m4 files so that aclocal will use them. Thu Dec 12 06:07:30 1996 Jim Meyering * Version 1.14. * src/system.h (ISDIGIT): Replace with smaller, faster edition that yields nonzero only on ASCII digits. (ISDIGIT_LOCALE): New macro, with same meaning that ISDIGIT used to have. From Paul Eggert. * configure.in: Bump version to 1.14. * lib/getdate.y (IN_CTYPE_DOMAIN): Rename from ISASCII. (ISDIGIT): New definition from Paul Eggert. This one evaluates its argument exactly once. (yylex): Move increment out of ISALPHA argument. Use a comma-expression instead. * src/false.sh (usage): Update bug-reporting address. * src/groups.sh (usage): Likewise. * src/nohup.sh (usage): Likewise. * src/true.sh (usage): Likewise. Reported by Karl Heuer. * configure.in (check for 3-argument setpriority function): Add nohup to list of scripts, not the list of programs. From Karl Heuer. * POTFILES.in: Add chroot.c. Reported by Michel Robitaille. Wed Dec 11 19:33:36 1996 Jim Meyering * Version 1.13. Tue Dec 10 06:36:57 1996 Jim Meyering * acinclude.m4 (jm_SYS_PROC_UPTIME): New macro. Derived from the code in configure.in, except now it punts when cross compiling. Suggestion from Karl Heuer. * configure.in (jm_SYS_PROC_UPTIME): Use it instead of open-coded version. * lib/Makefile.am (EXTRA_DIST): Add mktime.c. Reported by Thomas Bushnell. * configure.in: Bump version to 1.12t. * Regenerate all Makefile.in using a patched version of automake-1.1l. * acconfig.h (strftime): Add #undef. From Karl Heuer. * acinclude.m4 (AM_GNU_GETTEXT): Don't require AC_ISC_POSIX. From Karl Heuer. Mon Dec 9 06:58:11 1996 Jim Meyering * configure.in: Bump version to 1.12s. * lib/getdate.y (Convert): Don't reject all dates in 2038. Some fit in 31 bits. * configure.in (jm_FUNC_GNU_STRFTIME): Use it. * acinclude.m4 (AC_REPLACE_GNU_GETOPT): Remove unused macro. (jm_FUNC_GNU_STRFTIME): New macro. * lib/Makefile.am (libsu_a_SOURCES): Remove strftime.c. (EXTRA_DIST): Add strftime.c. * configure.in (jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Fix typo: Change $am_cv_sys_tiocgwinsz_needs_sys_ioctl_h to $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h. Patch from Kaveh R. Ghazi. * src/stty.c: Include config.h before testing for TERMIOS_NEEDS_XOPEN_SOURCE. Patch from Karl Heuer. * configure.in (AC_ISC_POSIX): Remove kludgy macro. Use this test instead: (LIBS): Add -lcposix if it contains strerror. Patch from Karl Heuer. * acinclude.m4 (AM_FUNC_GETLOADAVG): Put shell assignments to ac_save_LIBS and LIBS on separate lines to avoid order-of-evaluation problems -- some versions of sh (e.g. SunOS4.1.3's) evaluate such space-separated assignments from right to left. Patch from Karl Heuer. (AM_FUNC_GETLOADAVG): Fix typo: su_save_LIBS => am_cv_saved_LIBS. Patch from Karl Heuer. * lib/strftime.c [HAVE_TZNAME]: Declare tzname. Patch from Karl Heuer. * src/Makefile.am (.sh): Also substitute @bindir@. Reported by Karl Heuer. Sun Dec 8 07:22:38 1996 Jim Meyering =========== Update for automake-1.1k. * Makefile.am (AUTOMAKE_OPTIONS): Require 1.1k. * configure.in (AM_CONFIG_HEADER): Use it. (AC_OUTPUT): Remove stamp-h timestamping statement. Now, AM_CONFIG_HEADER does it automatically. * lib/Makefile.am (noinst_LIBRARIES): Rename to libsu.a as per new automake requirement. Rename su_* variables to libsu_a_*. Sun Dec 8 00:08:44 1996 Jim Meyering * src/stty.c (get_win_size): Rename formal parameter from fileno to FD. Sat Dec 7 12:52:00 1996 Jim Meyering * src/chroot.c (main): Call setlocale, bindtextdomain, and textdomain. From Michel Robitaille. * configure.in (ALL_LINGUAS): Add Portuguese (pt). * lib/getloadavg.c [__SVR4]: Define SVR4. Remove duplicate `|| defined(SVR4)' disjunct guarding the #define KERNEL_FILE "/unix" definiton. * configure.in (jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use this variant of the AM_ prefixed macro. (check for TIOCGWINSZ in sys/pty): In essence, require jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H so that $jm_cv_sys_tiocgwinsz_needs_termios_h (renamed from $gwinsz_in_termios_h) is defined. * lib/strftime.c (strftime): Remove " %Z" part of format for %c. Correction from Paul Eggert. Fri Dec 6 20:52:07 1996 Jim Meyering * acinclude.m4 (jm_FUNC_MKTIME): Rather than including the text of AM_FUNC_MKTIME, simply AC_REQUIRE it. Mon Dec 2 20:59:38 1996 Jim Meyering * configure.in (su_cv_func_ut_host_in_utmp): Move test that can define WINSIZE_IN_PTEM to precede test that checks whether `TIOCGWINSZ in sys/pty.h'. The latter test uses the symbol. (jm_FUNC_MKTIME): Use this instead of AM_FUNC_MKTIME. Sun Dec 1 13:07:39 1996 Jim Meyering * lib/getdate.y (date): Interpret the date, L/M/N, as YYYY/MM/DD if L >= 1000, otherwise as MM/DD/YY. With this change, date --date=DATE accepts dates like those in an RCS log listing. Sat Nov 30 22:08:00 1996 Jim Meyering * lib/strftime.c: Update from GNU libc. Fri Nov 29 22:16:40 1996 Jim Meyering * src/uname.c (main) [HAVE_SYSINFO && SI_ARCHITECTURE]: Support --processor (-p). Print processor type. (usage): Document it. Thu Nov 28 00:28:37 1996 Jim Meyering * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT for gettext-0.10.25. (AM_FUNC_GETLINE): Move the test to just before the check for getdelim. Sun Nov 24 11:02:29 1996 Jim Meyering * src/system.h [!defined STDIN_FILENO]: Define it. [!defined STDOUT_FILENO]: Define it. [!defined STDERR_FILENO]: Define it. * src/stty.c (get_win_size): Take a FILENO parameter rather than trying to get a size from both stdin and stdout. Update callers. Use STDIN_FILENO and STDOUT_FILENO instead of literal 0, 1. ========== From Karl Heuer ========= * src/stty.c [TERMIOS_NEEDS_XOPEN_SOURCE]: Define _XOPEN_SOURCE. i386-pc-isc3.0, needs that in order to cause all of the useful termios symbols to be defined, instead of just those that are required by POSIX. This enables all of: iuclc ixany olcuc ocrnl onlcr onocr onlret ofill ofdel nl0 cr0 tab0 bs0 vt0 ff0 xcase. [GWINSZ_IN_SYS_PTY]: Include sys/ioctl.h, sys/tty.h, and sys/pty.h. [!VSUSP && !VSWTCH]: Map VSWTCH and CSWTCH to VSUSP and CSUSP resp. termio.h defines VSWTCH, but termios.h defines VSUSP instead (since POSIX requires that symbol). Define VSWTCH as a synonym if needed, so that either one can be used on input. (display_changed): If the slot for swtch is the same as the one for susp, display only the setting for susp. (display_all): Likewise. (display_changed): Some systems still have (VEOF,VEOL) == (VMIN,VTIME). On such systems, it's confusing to print both pairs. So, skip eof and eol when icanon is unset, and skip min and time when icanon is set. (display_all): Likewise. (set_window_size): Check only stdin (the device being queried) for window size info. You don't want "stty * lib/Makefile.am (EXTRA_DIST): Add getline.c now that getline isn't mentioned in AC_REPLACE_FUNCS. * env.c (usage): Alphabetize option descriptions the way sort -f would. * test.c (usage): Likewise. * who-users.c (usage): Likewise. From Karl Berry. Fri Nov 22 20:33:26 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Don't try to replace getline this way. AM_FUNC_GETLINE does it now. * configure.in New test to check for TIOCGWINSZ in sys/pty.h. * config.h.in (GWINSZ_IN_SYS_PTY): Add #undef. From Karl Heuer. * src/printf.c (main): Warn if excess arguments are ignored. E.g., printf foo bar now warns that it is ignoring the single non-format argument, bar. Wed Nov 20 20:37:54 1996 Jim Meyering * lib/xgethostname.c (xgethostname): Work around bug in SunOS5.5's gethostname. Reported by Fletcher Mattox. Tue Nov 19 23:01:01 1996 Jim Meyering * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11 has this built-in. (OPTIONAL_BIN_ZCRIPTS): Rename from OPTIONAL_SCRIPTS -- because automake-1.1g couldn't deal with the _SCRIPTS suffix. * src/Makefile.am (bin_SCRIPTS): Rename @OPTIONAL_SCRIPTS@. Sun Nov 17 20:49:37 1996 Jim Meyering * src/id.c (main): Ignore -a, for compatibility with SVR4. Suggestion from Noah Friedman. Mon Nov 4 20:24:31 1996 Jim Meyering * configure.in (test for group_member): Handle it separately so I can keep the hyphen (not the underscore) in the filename. Thu Oct 31 19:32:32 1996 Miles Bader * lib/xgethostname.c [ENAMETOOLONG] (xgethostname): If gethostname returns an error other than buffer overflow, exit with an error message instead of allocating infinite amounts of space. [!EXIT_FAILURE] (EXIT_FAILURE): New macro. : New include. [!errno] (errno): New declaration. * acinclude.m4 (AM_FUNC_GETLINE): Use cache. * configure.in: Check for -linet library before checking for the gethostbyname function. Suggested by Karl Heuer. Use AM_FUNC_GETLINE. * acinclude.m4 (AM_FUNC_GETLINE): Add run-time test for getline. Based on a test from Karl Heuer. Sun Nov 3 14:57:09 1996 Jim Meyering * acinclude.m4 (GETLOADAVG_LIBS): Unanchor the sed regexp that removes am_cv_saved_LIBS from LIBS. From Karl Heuer. * src/stty.c (recover_mode): Fail also if there are too many fields. From Karl Heuer. * lib/canon-host.c: Include sys/types.h for the definitions (otherwise missing on some systems) of caddr_t (used by sys/socket.h) and ushort (used by netinet/in.h). From Karl Heuer. Sat Nov 2 00:16:16 1996 Jim Meyering * doc/Makefile.am (MAKEINFO): Set to makeinfo --no-split. Otherwise, the generated info files have names longer than the 14-byte max of some old systems. Reported by Karl Heuer. * src/date.c (main): Give better diagnostic. Suggestion from Karl Berry. Thu Oct 31 18:28:05 1996 Jim Meyering * lib/posixtm.y: Remap yacc globals to have pt_ prefix. * lib/getdate.y: Remap yacc globals to have gd_ prefix. Suggestion to do as in gdb/c-exp.y from Tom Tromey. Mon Oct 28 17:40:54 1996 Jim Meyering * src/Makefile.am (install-exec-local): Redirect stderr of chown to /dev/null and suggest running `make install-root' upon failure to install su. Suggestions from François Pinard. * configure.in: Don't output confusing diagnostic: `checking for shadow password routines'. Suggestion from François Pinard. Thu Oct 24 13:50:46 1996 Andreas Schwab * src/tee.c (main): Ignore SIGPIPE. Wed Oct 23 23:42:43 1996 Jim Meyering * src/stty.c: Guard inclusion of stdarg.h and definition of VA_START with #if PROTOTYPES rather than with #ifdef __STDC__. The latter loses with Dynix/PTX. (wrapf) [PROTOTYPES]: Similarly, guard ANSI-style ... definition. Suggestion from Marcus Daniels. Mon Oct 21 16:49:08 1996 Jim Meyering * lib/getloadavg.c [__linux__]: Don't bother with a.out/nlist/kernel defines or includes -- Linux systems simply read /proc/loadavg. From Ulrich Drepper. * lib/Makefile.am (EXTRA_DIST): Remove group-member.c. * configure.in: Remove hack that created link from group_member.c to group-member.c. * lib/group_member.c: New file. Renamed from group-member.c. * lib/group-member.c: Delete. * src/stty.c (main): Remove TAB from diagnostic, for consistency. Sun Oct 20 09:03:51 1996 Jim Meyering * Makefile.am (install-root): Add it here, too. * lib/Makefile.am (INCLUDES): Add -I../intl. Reported by Eric Backus. * src/Makefile.am (install-root): New rule. Suggestion from François Pinard. * src/who-users.c (print_entry): Don't take address of UT_TIME_MEMBER directly. From Ulrich Drepper. * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits'. (EXTRA_DIST): Remove @README_ALPHA@. * configure.in: Remove README_ALPHA related code. Automake takes care of it automatically now when in gnits mode. * acinclude.m4 (AM_FUNC_GETLOADAVG): Use $srcdir (not $top_srcdir) in #include $srcdir/lib/getloadavg.c. The latter isn't defined at that point in configure script. From Eric Backus. Fri Oct 18 21:31:58 1996 Jim Meyering * Makefile.am (cvs-dist): Uncomment cvs tag command. (cvs-dist): Use cvs tag's -c option. Thu Oct 17 23:48:16 1996 Jim Meyering * configure.in (LIBS): Add -lypsec on m88k/svr3 DolphinOS systems using YP. From Arne Juul. Sun Oct 13 07:34:15 1996 Jim Meyering * configure.in: Don't save and restore LIBS around AM_FUNC_GETLOADAVG. * acinclude.m4 (AM_FUNC_GETLOADAVG): Don't modify LIBS in this macro (by saving and restoring initial value). Instead, arrange for substitution of @GETLOADAVG_LIBS@. * src/Makefile.am (uptime_LDADD): Add @GETLOADAVG_LIBS@, not @UPTIME_LIBS@. * configure.in (ALL_LINGUAS): Add swedish (sv). Fri Oct 11 22:51:50 1996 Jim Meyering * src/who-users.c (print_uptime): Change #ifdef guard on getloadavg call from just HAVE_GETLOADAVG to HAVE_GETLOADAVG || C_GETLOADAVG. From Kaveh R. Ghazi. * src/Makefile.am (uptime_LDADD): Add @UPTIME_LIBS@. * acinclude.m4 (AM_FUNC_GETLOADAVG): Like AC_FUNC_GETLOADAVG, but with the following changes: - include $top_srcdir/lib/getloadavg.c, not src/getloadavg.c. Reported by Eric Backus. - Check for Solaris' libkstat. - Define C_GETLOADAVG if we end up using getloadavg.c. From Kaveh R. Ghazi. * acconfig.h (C_GETLOADAVG): Add it. From Kaveh R. Ghazi. * configure.in: Use new AM_FUNC_GETLOADAVG and be careful to add getloadavg-related libraries only when linking uptime. Thu Oct 10 23:50:05 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Remove posixtm.y and getdate.y. (su_SOURCES): Put them here instead. Remove rules for building getdate.c and posixtm.c; now automake generates those rules. * lib/ylwrap: New file. * lib/interlock: New file. Wed Oct 9 00:26:55 1996 Jim Meyering * lib/getloadavg.c [__sun]: Define sun. Reported by Kaveh Ghazi. * lib/strftime.c (strftime): Accommodate the broken C compiler that comes with SunOS -- don't initialize aggregates in decls of automatic variables. Reported by Kaveh Ghazi. * tests/: Renamed checks/ directory. * Makefile.am (SUBDIRS): Rename checks to tests. * configure.in (AC_OUTPUT): Rename checks to tests. * configure.in (/proc/uptime check): Guard the read of /proc/uptime with an existence test to avoid a messy configure-time warning on systems that lack that special file. Reported by Kaveh R. Ghazi. * configure.in (check whether floor needs -lm): Fix typo: save $LIBS, not $LIB. From Kaveh R. Ghazi. * checks/nice: Protect echoed args with leading `x' so echo doesn't interpret leading -n on e.g. SunOS systems. Mon Oct 7 18:46:28 1996 Jim Meyering * lib/getloadavg.c [__hpux]: Define hpux. From Eric Backus. * lib/Makefile.am (EXTRA_DIST): Remove alloca.c, error.c, and mktime. (su_SOURCES): Remove memcmp.c. Automake automatically includes at least these, now. From François Pinard. * lib/Makefile.am (su_SOURCES): Remove getline.c. Sat Oct 5 11:38:23 1996 Jim Meyering * lib/Makefile.am (su_SOURCES): Remove gethostname.c -- it's AC_REPLACE'd and already in EXTRA_DIST. * configure.in: Use AM_SANITY_CHECK_CC. * configure.in: Use AM_FUNC_ERROR_AT_LINE. * lib/Makefile.am (EXTRA_DIST): Put error.c here. (su_SOURCES): Remove error.c Suggested by Ulrich Drepper. * configure.in (GNU_PACKAGE): AC_SUBST it for the src/*.sh scripts. * src/Makefile.am (.sh): Substitute for @GNU_PACKAGE@ and @VERSION@ in the four installed scripts. * src/*.sh: Update --version output to conform to the coding standard. * acinclude.m4 (AC_HEADER_SYS_TIME_H): New macro. (AM_FUNC_MKTIME): Require AC_HEADER_SYS_TIME_H so that configure's checking... messages don't get nested. * configure.in (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove it. * acconfig.h (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove now-unused variable. * src/*.c: Update --version output to conform to the coding standard. Sun Sep 22 22:41:54 1996 Jim Meyering * configure.in (AC_CHECK_HEADERS): Alphabetize. Update for automake-1.1e. Thu Sep 19 07:47:18 1996 Jim Meyering * lib/regex.c: Merge with FSF version. * lib/getloadavg.c: Replace with FSF version. Mon Sep 16 23:13:04 1996 Jim Meyering * lib/strftime.c (strftime): New version, from GNU libc. Sun Sep 15 23:08:48 1996 Jim Meyering * Makefile.am (EXTRA_DIST): Remove acinclude.m4. Mon Sep 9 22:10:45 1996 Jim Meyering * configure.in: Improve handling of math library so -lm is used only when it's actually required. That makes a difference when using dynamic linking. Remove check that added -lm to LIBS. (SQRT_LIBM): Test for and AC_SUBST it. (POW_LIBM): Likewise. (SEQ_LIBM): Likewise. Motivation and suggestions from Ulrich Drepper. * src/Makefile.am (factor_LDADD, printf_LDADD, seq_LDADD): Set these using new @SQRT_LIBM@, @POW_LIBM@, and @SEQ_LIBM@ resp. Also set corresponding _DEPENDENCIES variables. Sat Sep 7 12:41:39 1996 Jim Meyering * src/system.h: Add comments justifying IS* versions of ctype.h macros. * lib/getdate.y: Define and use upper case variants of ctype.h is* macros. From Bruno Haible. Thu Sep 5 22:12:20 1996 Jim Meyering * lib/strftime.c: New version from glibc. Wed Sep 4 23:39:51 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add dutch (nl). Mon Sep 2 10:52:55 1996 Jim Meyering * src/*.c (usage): Tell where to report bugs. Sun Sep 1 07:56:07 1996 Jim Meyering * configure.in (AM_FUNC_MKTIME): Use it. (AC_REPLACE_FUNCS): Remove mktime. (AM_INIT_AUTOMAKE): Use it. (AM_PROG_INSTALL): Remove. AM_INIT_AUTOMAKE does this. (AC_PROG_MAKE_SET): Likewise. (jm_MAINTAINER_MODE, fp_C_PROTOTYPES): Rename with AM_ prefix for latest automake/aclocal. * Makefile.am (EXTRA_DIST): Add acinclude.m4. * acinclude.m4: New file -- derived from aclocal.m4. * aclocal.m4: This file is now generated by the aclocal program (which comes with the automake package.) Sat Aug 17 00:14:55 1996 Jim Meyering * lib/strftime.c: Update from GNU libc -- this adds back %z and %s formats and reverts to old behavior where unrecognized format like %E is treated as eqivalent to `E'. Sun Aug 4 09:14:28 1996 Jim Meyering * checks/: New directory. * checks/Makefile.am: New file. * checks/nice: New file. Derived from tests from Eric Backus. * configure.in (AC_OUTPUT): Add new directory: checks. * Makefile.am (SUBDIRS): Likewise. * src/nice.c (main): Allow `+' in options like -+8 and -+13. Fri Aug 2 21:45:06 1996 Jim Meyering * src/nice.c (main): Set minus_flag to zero in two places. Otherwise, `nice --1 -3' would mistakenly do the equivalent of `nice --3'. Thanks to Eric Backus for the test cases. * configure.in (check for /proc/uptime): New check. * acconfig.h (SAVE_PROC_UPTIME): #undef it. Reorder so symbols are sorted again. *src/who-users.c (print_uptime) [HAVE_PROC_UPTIME]: Read from /proc/uptime. From Ulrich Drepper. Thu Aug 1 22:38:38 1996 Jim Meyering * configure.in (AC_REPLACE_GNU_GETOPT): No longer use it. It isn't necessary because the cpp-time checks of getopt.c and getopt1.c are at least as good. * lib/Makefile.am (EXTRA_DIST): Remove getopt.c and getopt1.c. (su_SOURCES): Add getopt.c and getopt1.c This reverts much of the April 23 change. Sat Jul 27 17:22:14 1996 Jim Meyering * src/system.h (bindtextdomain) [!ENABLE_NLS]: Undefine to avoid redefinition warnings on solaris. (textdomain) [!ENABLE_NLS]: Likewise. Sun Jul 21 09:47:55 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Replace getline.c. Add related check for the getdelim function. From Ulrich Drepper -- as done in gettext. * src/stty.c (usage): Correct typo (-iucl -> -iuclc) in usage message. From Thomas Olsson . Sat Jul 20 17:01:56 1996 Jim Meyering * configure.in (PACKAGE_VERSION): Use space instead of hyphen to separate PACKAGE and VERSION. Wed Jul 17 23:13:19 1996 Jim Meyering * src/chroot.c: Include before system.h. * src/seq.c: Likewise. * src/yes.c: Likewise. From Arne Juul. Tue Jul 16 00:06:33 1996 Jim Meyering * lib/strftime.c (strftime): Use `(void)0' as second arg to add macro. Omitting that second arg made some HPUX C compiler report an error. From Kaveh R. Ghazi. Mon Jul 15 23:42:57 1996 Jim Meyering * src/who-users.c (print_uptime): Reverse `days' and `day' in uptime message. From Kaveh R. Ghazi. * Many files: Update FSF address. Sun Jul 14 20:05:34 1996 Jim Meyering * src/who-users.c (print_uptime): Use 0, not undefined errno in couldn't-get-boot-time diagnostic. From Ulrich Drepper. Sat Jul 13 14:22:54 1996 Jim Meyering * src/chroot.c (usage): Add a `\' after `\n' in usage message. Otherwise, SunOS's /bin/cc chokes. * src/stty.c [GWINSZ_BROKEN]: Remove thus-guarded `#undef TIOCGWINSZ'. GWINSZ_BROKEN can't be defined anymore. * configure.in (boot time test): Use AC_EGREP_CPP instead of AC_EGREP_HEADER; #endif, instead of #fi. (AM_SYS_POSIX_TERMIOS, AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use these macros instead of the tests from which they were derived. ($am_cv_sys_posix_termios): Renamed to have am_ prefix instead of su_. Wed Jul 10 22:57:29 1996 Jim Meyering * aclocal.m4 (fp_PROG_CC_STDC): Include sys/stat.h in test program so that DYNIX/ptx V4.1.3 doesn't use `-Xc -D__EXTENSIONS__' -- with those options on that system, sys/stat.h gets compile errors. With help from Marcus Daniels. * getopt.c: Update from gettext-0.10.23. * getopt1.c: Likewise. * getopt.h: Likewise. Sun Jul 7 22:40:08 1996 Jim Meyering * aclocal.m4 (AM_SYS_POSIX_TERMIOS): New macro, derived from test in configure.in. (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise. Sat Jul 6 12:47:48 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Add group_member. (AC_LINK_FILES): Create link lib/group_member.c to lib/group-member.c. * lib/Makefile.am (su_SOURCES): Remove group-member.c. (EXTRA_DIST): Add group-member.c here. Thu Jul 4 22:40:06 1996 Jim Meyering * src/expr.c (docolon): Remove space before newline in usage message. Sat Jun 29 18:58:20 1996 Jim Meyering * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so we see it in the output of --version. Reported by RMS. Tue Jun 18 22:14:42 1996 Jim Meyering * aclocal.m4: Update from gettext-0.10.20. * ABOUT-NLS: Likewise. * intl/*: Likewise. Sun Jun 16 13:44:36 1996 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex. Thu Jun 6 21:57:08 1996 Jim Meyering * po/Makefile.in.in: Update from gettext-0.10.16. * intl/*: Likewise. * ABOUT-NLS: Likewise. * aclocal.m4 (AC_REPLACE_GNU_GETOPT): Move definition to precede gettext-related ones. Update from gettext-0.10.16. Wed May 29 21:28:53 1996 Jim Meyering * expr.c (docolon): Give a warning when the first character of the basic regular expression is `^'. Mon May 20 22:56:06 1996 Jim Meyering (meyering@na-net.ornl.gov) * id.c (xgetgroups): New function, factored out of print_group_list and print_full_info. (print_group_list): Call it. (print_full_info): Call it. * lib/Makefile.am (getdate.c): Disable dependencies that can require rerunning YACC when not in maintainer mode. (posixtm.c): Likewise. Tue May 14 18:47:35 1996 Andreas Schwab * id.c (print_group_list): When USERNAME is specified use getugroups to get the number of groups. (print_full_info): Likewise. Sun May 19 21:45:49 1996 Jim Meyering (meyering@na-net.ornl.gov) * seq.c (usage): Make it clearer. Sat May 18 13:29:46 1996 Jim Meyering (meyering@na-net.ornl.gov) * expr.c (main): Don't recognize --help, --h, --he, --version, --v, etc. if the POSIXLY_CORRECT environment variable is set. * echo.c (main): Likewise. * printf.c (main): Likewise. * test.c (main): Likewise. * expr.c (docolon) [RE_SYNTAX_POSIX_BASIC]: Revert change of Mar 1. Tue May 7 22:10:20 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Require autoconf-2.10. * aclocal.m4 (jm_MAINTAINER_MODE): New macro. * configure.in (jm_MAINTAINER_MODE): Use it. Mon May 6 22:40:54 1996 Jim Meyering (meyering@na-net.ornl.gov) * lib/strftime.c: Update from GNU libc. Sat May 4 20:54:32 1996 Jim Meyering (meyering@na-net.ornl.gov) * system.h [IN_CTYPE_DOMAIN]: Rename from ISASCII. * seq.c: Remove useless void casts of *printf return values. Mon Apr 29 22:23:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * basename.c (usage): Mark translatable strings. * chroot.c (main): Likewise. * basename.c (main): Separate messages about `too few' and `too many' arguments to ease translation. * dirname.c (main): Likewise. * date.c (usage): Change TAB in message to spaces. Doing that seems to have worked around a problem with something in gettext that was producing a truncated usage message for date's usage. From François Pinard. Sun Apr 28 17:10:03 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Make fp_C_PROTOTYPES precede AC_C_INLINE. Otherwise, some systems lose because the value AC_C_INLINE choses with plain `cc' is different from that chosen when using the ANSI-mode C compiler. From Kaveh Ghazi. Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro. * configure.in: Use it. * lib/Makefile.am (su_SOURCES): Remove getopt.c and getopt1.c. (EXTRA_DIST): Add getopt.c and getopt1.c * whoami.c (main): Declare to return int, not void. * who-users.c (main): Likewise. * yes.c (main): Likewise. * src/*.c, src/*.h: Update Copyright years to include 1996. Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov) * date.c (usage): Describe new %V format. From Karl Berry. * Makefile.am (LDADD): Put @INTLLIBS@ before package library. Sat Apr 20 22:22:01 1996 Jim Meyering (meyering@na-net.ornl.gov) * chroot.c (usage): Improve help message. Enclose message strings in _(). * seq.c (usage): Improve help message. * factor.c (usage): Likewise. From Karl Berry. Fri Apr 19 23:48:53 1996 Jim Meyering (meyering@na-net.ornl.gov) * Makefile.am (cvs-dist): New rule. Based on the one from Tom Tromey's automake. Thu Apr 18 23:16:41 1996 Jim Meyering (meyering@na-net.ornl.gov) * basename.c (basename): Rewrite so it doesn't rely on strrchr, and hence doesn't need to include string.h -- on some alpha-based OSF systems, there's a conflicting prototype for basename in string.h. Reported by Kaveh Ghazi. * configure.in (AC_REPLACE_FUNCS): Add basename. * lib/Makefile.am (EXTRA_DIST): Add basename.c. (su_SOURCES): Remove basename.c. From Kaveh Ghazi. Tue Apr 16 20:24:44 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am (who.c): Qualify who-users.c reference with $(srcdir)/ prefix. (users.c): Likewise. (uptime.c): Likewise. From François Pinard. * configure.in: Always invoke AC_GETLOADAVG, not just if we're building uptime. Sat Apr 13 13:24:35 1996 Jim Meyering (meyering@na-net.ornl.gov) * getloadavg.c: Test cpp-defined __sun as well as sun, because in strict ANSI mode, only __sun is defined. From Kaveh Ghazi. * date.c (usage): Add missing `\n\' at the end of newly added lines for %e and %z. * who-users.c (print_uptime): Call getloadavg only if we have it. Fri Apr 12 22:03:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (LINGUAS): Add de. * date.c (usage): Describe %e and %z. Reported by Karl Berry. * who-users.c: Mark translatable strings in new code. Wed Apr 10 21:26:30 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Add test for boot_time. From Kaveh Ghazi. * lib/Makefile.am (EXTRA_DIST): Add getloadavg.c. * src/Makefile.am (EXTRA_PROGRAMS): Add uptime. (BUILT_SOURCES): Add uptime.c. (MOSTLYCLEANFILES): Add uptime.c. (uptime.c): Add rule to build it from who-users.c. * who-users.c: Reindent. (UT_TIME_MEMBER): New macro. (print_uptime): Use it instead of #ifdef HAVE_UTMPX_H #else. (print_entry): Likewise. Tue Apr 9 23:57:19 1996 Jim Meyering (meyering@na-net.ornl.gov) * who-users.c (print_uptime) [UPTIME]: New function. From Kaveh Ghazi. Sun Apr 7 11:58:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * seq.c (print_numbers): Rearrange loops to get it right. Reported by Karl Eichwalder . * seq.c (print_numbers): Give more precise diagnostic when INCREMENT is inconsistent with START and LIMIT. (usage): Clean up help message. * factor.c (usage): Give minimal description of the program. (print_factors): Give a better diagnostic. (main): Suggest --help upon failure. Reported by Karl Eichwalder . * seq.c (print_numbers): Fix off-by-one error in backwards-counting loop. Reported by Karl Eichwalder. * strftime.c (mon_week_ISO): New function to implement new %V format. (sun_week): Make TM parameter `const'. (mon_week): Likewise. (mon_week): Rewrite to implement %W format correctly. (strftime): Handle %V format. Reported by Arne Juul. Fri Apr 5 07:33:00 1996 Jim Meyering (meyering@na-net.ornl.gov) * strftime.c (sun_week): Make %U work properly. Before, `date -d '1 Jan 1995' +%U' output `00'. Now it prints `01'. * nice.c (main): Simplify option handling. Before, `nice -18 -- nice' improperly printed `8'. Patch from Frank Korz. (main): Use `if' stmt, not while loop, around getopt invocation. Otherwise, `./nice --a=1 -1 ./nice' (in which old-style option follows a long option) gets an error. Thu Apr 4 20:14:02 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4 (fp_PROG_CC_STDC): Change -Xc -D_POSIX_C_SOURCE to `-Xc -D__EXTENSIONS__' because of problems with Solaris header files. Suggested by Kaveh Ghazi. Wed Apr 3 07:08:57 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h when srcdir != builddir. From Kaveh Ghazi. * lib/getugroups.c: Include stdio.h before grp.h. Because on alpha OSF1 V2.0 uses "FILE *". From Kaveh Ghazi. Sun Mar 31 16:26:06 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Simplify checking for math library. This also eliminates some confusing output from configure. Suggested by François Pinard. Fri Mar 29 22:13:10 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am (INCLUDES): Replace -I$(top_srcdir)/intl with -I../intl. With the former, compiles didn't find libintl.h when configured with `--srcdir=..'. Reported by Marcus Daniels . * doc/Makefile.am (EXTRA_DIST): Set to getdate.texi so that file gets distributed. * src/Makefile.am (EXTRAdir): Set to $(bindir). Thu Mar 28 23:01:48 1996 Jim Meyering (meyering@na-net.ornl.gov) * ChangeLog.0: New file. * Makefile.am (EXTRA_DIST): Add ChangeLog.0. Thu Mar 28 00:06:28 1996 Jim Meyering (meyering@na-net.ornl.gov) * man/Makefile.am (man_MANS): Add chroot.1. * src/Makefile.am (EXTRA_PROGRAMS): Add chroot. Sun Dec 24 10:55:34 1995 Roland McGrath * configure.in: Check for chroot a la uname. * src/chroot.c, man/chroot.1: New files. Sun Mar 24 11:44:35 1996 Jim Meyering (meyering@na-net.ornl.gov) * su.c: Protoize and reorder functions to obviate forward decls. * seq.c: Make parameters const where appropriate. Rename global FROM to START. (print_numbers): Rewrite loops to avoid incrementing. Instead, use `x = first + i * increment' paradigm. Otherwise, with inexact increment, you could miss the last value. * xstrtod.c: New file. * xstrtod.h: New file. * lib/Makefile.am: Add xstrtod.c and xstrtod.h. * seq.c: Include xstrtod.h. (scan_double_arg): Use xstrtod rather than strtod directly. * src/*: Update FSF's address. Thu Mar 21 16:43:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/*.c (main): Declare to be of type int, not void. Sat Mar 16 10:07:49 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (PACKAGE_VERSION): New macro. (OPTIONAL_BIN_PROGS): Rename from OPTIONAL_PROGS. * acconfig.h (PACKAGE_VERSION): Add it. * src/Makefile.am: Remove rules for generating version.c. Remove references to version.o, version.h, and stamp-v. [.sh]: Change @VERSION@ to @PKG_VERSION@. On RHS of sed substitution, use @PACKAGE_VERSION@, not GNUVER. (OPTIONAL_BIN_PROGS): Rename from OPTIONAL_PROGS. (install-exec-local): New target/rules to make the installed su binary setuid root or failing that, to delete it. * false.sh groups.sh nohup.sh true.sh: Use @PKG_VERSION@, not @VERSION@. * version.c: Remove file. * version.h: Remove file. * basename.c date.c dirname.c echo.c env.c expr.c factor.c hostname.c id.c logname.c nice.c pathchk.c printenv.c printf.c pwd.c seq.c sleep.c stty.c su.c tee.c test.c tty.c uname.c who-users.c whoami.c yes.c: Don't include version.h. (main): Use PACKAGE_VERSION instead of version_string. Fri Mar 15 23:42:29 1996 Jim Meyering (meyering@na-net.ornl.gov) * basename.c: Remove __P-protected prototype for basename. Reported by François Pinard. (remove_suffix): Move to precede use. Remove prototype. Declare formal parameter SUFFIX to be const. * pathchk.c (validate_path): Cast path_max to size_t before comparing with strlen(path). * who-users.c (read_utmp): Declare n_read to be of type size_t rather than int. Tue Mar 12 17:52:05 1996 Jim Meyering (meyering@na-net.ornl.gov) * basename.c date.c dirname.c echo.c env.c expr.c factor.c hostname.c id.c logname.c nice.c pathchk.c printenv.c printf.c pwd.c seq.c sleep.c stty.c su.c tee.c test.c tty.c uname.c who-users.c whoami.c yes.c (main): Initialize for internationalized message support: call setlocale, bindtextdomain, and textdomain. * system.h: Add definitions and includes for NLS. * Makefile.am (SUBDIRS): Add intl and po. * src/Makefile.am (datadir): Define. (localedir): Define. (DEFS): Add LOCALEDIR definition. (LDADD): Add @INTLLIBS@. * aclocal.m4: Add NLS-related macro definitions from gettext distribution. * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): New macros. Add PACKAGE and VERSION. * configure.in (PACKAGE): Define with AC_DEFINE_UNQUOTED. (VERSION): Likewise. (ALL_LINGUAS): Define. (ud_GNU_GETTEXT): Use it. Link an nls file. (AC_OUTPUT): Reflect addition of two new directories, intl and po. Create po/Makefile. Mostly from François Pinard. Wed Mar 6 21:40:34 1996 Jim Meyering (meyering@na-net.ornl.gov) * who-users.c (print_entry): Use STRUCT_UTMP, not `struct utmp' to declare formal parameter. Tue Mar 5 22:49:33 1996 Jim Meyering (meyering@na-net.ornl.gov) * getdate.y (RelativeMonth): Add 1900 to the year so that relative date specs that push the year through the end of the century work. For example, `date -d "01/01/1998 3 years" +%Y' now prints 2001. From Peter Dalgaard (pd@kubism.ku.dk). Mon Mar 4 23:46:43 1996 Jim Meyering (meyering@na-net.ornl.gov) * seq.c (main): Exit after processing --version. Reported by François Pinard. Fri Mar 1 23:46:32 1996 Jim Meyering (meyering@na-net.ornl.gov) * expr.c (docolon): Don't initialize re_syntax_options to deceptively-named RE_SYNTAX_POSIX_BASIC -- it recognizes non-BRE \?, \+, and \|. Use RE_SYNTAX_POSIX_MINIMAL_BASIC instead. * od.c (WINDOWS_SETFILEMODE_BINARY): New macro. (skip) [_WIN32 && _O_BINARY]: Use it. (read_char): Likewise. (read_block): Likewise. [_WIN32 && _O_BINARY]: Include malloc.h and io.h. Based on changes by Gary Newman . Wed Feb 28 21:48:07 1996 Paul Eggert * configure.in (LOCALTIME_CACHE): Also define if localtime mishandles unsetting TZ. This works around a localtime bug in mips-dec-ultrix. Wed Feb 28 23:08:24 1996 Jim Meyering (meyering@na-net.ornl.gov) * lib/Makefile.am (su_SOURCES): Add xstrtoul.c. (noinst_HEADERS): Add xstrtoul.h. * factor.c: General cleanup. Use xstrtoul, not atoi. Change output format. Allow inputs as large as ULONG_MAX. Allow more than one command line argument. * stty.c (wrapf) [!__STDC__]: Indent by one space the first line of the pre-ANSI function definition so ansi2knr doesn't munge it. * src/Makefile.am: Adapt for automake-0.30. * lib/Makefile.am: Likewise. * expr.c (eval6): Cast strlen to int to avoid warning from gcc -Wall. Sun Feb 25 22:19:52 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am (BUILT_SOURCES): Set to `who.c users.c'. (MOSTLYCLEANFILES): Add who.c and users.c. (who.c): New rule to create this file. Concatenate definition of WHO and contents of who-users.c. (users.c): New rule to create this file. Concatenate definition of USERS and contents of who-users.c. Sat Feb 24 12:20:58 1996 Jim Meyering (meyering@na-net.ornl.gov) * readtokens.c: Unprotoize. * expr.c (cmpf): Indent macro uses so ansi2knr doesn't mistake them for function dcls and munge them. (arithf): Likewise. (arithdivf): Likewise. * test.c: __P-protect forward declarations. (main): Protoize function definition. * date.c (batch_convert): Declare BUFLEN local to be of type size_t, not int. * expr.c (docolon): Set re_syntax_options to RE_SYNTAX_POSIX_BASIC so expr's pattern matching uses BASIC (not GNU-extended) REs. Reported by Jim Kingdon. * who-users.c (print_entry): Use strchr, not index. * configure.in (AC_CHECK_HEADERS): Add sys/socket.h. * canon-host.c [HAVE_SYS_SOCKET_H]: Include for definition of AF_INET on at least SunOS 4. Tue Feb 13 23:49:16 1996 Jim Meyering (meyering@na-net.ornl.gov) * who-users.c (main): When failing because there were `too many arguments,' say so. Mon Feb 12 23:26:05 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (AC_CHECK_FUNCS): Add gethostbyname, gethostbyaddr, and inet_ntoa. (AC_CHECK_HEADERS): Add netdb.h netinet/in.h arpa/inet.h. * lib/canon-host.c: New file. * lib/Makefile.am (su_SOURCES): Add canon-host.c. * src/who.c (print_entry): If possible, canonicalize the host hame. From Miles Bader (miles@gnu.ai.mit.edu). Update for automake-0.29. * Makefile.am (CONFIG_HEADER): Don't define. Automake now does it. * src/Makefile.am: Likewise. * lib/Makefile.am: Likewise. * doc/Makefile.am (info_TEXINFOS): Renamed from TEXINFOS. * man/Makefile.am (man_MANS): Renamed from MANS. Wed Jan 31 23:40:50 1996 Jim Meyering (meyering@na-net.ornl.gov) * lib/strftime.c (add_num_tz): New function. (strftime): Handle new %z format. * date.c (main): Accept new option, --rfc-822 (-R). (show_date): Use RFC822-mandated strftime format. From H. Peter Anvin (hpa@storm.net). (usage): Add a line describing the new option. * lib/strftime.c (add_num_tz): Don't use local, LENGTH, before it's defined. Mon Jan 29 19:24:04 1996 Jim Meyering (meyering@na-net.ornl.gov) * acconfig.h (PROTOTYPES): Define it. Fri Jan 19 22:00:08 1996 Jim Meyering (meyering@na-net.ornl.gov) * aclocal.m4 (fp_PROG_INSTALL): New macro. * configure.in: Use it instead of AC_PROG_INSTALL. * who-users.c: Protoize. Wed Jan 17 23:37:59 1996 Jim Meyering (meyering@na-net.ornl.gov) * stty.c: Protoize and __P-protect forward dcls. (visible): Change parameter type to unsigned int from unsigned char. (integer_arg): Use xstrtol instead of open-coding this. * lib/Makefile.am (su_SOURCES): Add xstrtol.c. (HEADERS): Add xstrtol.h. * test.c (advance): Protoize function. * sleep.c (argdecode): Declare parameter const. Sat Jan 13 22:31:23 1996 Jim Meyering (meyering@na-net.ornl.gov) * stty.c: Indent cpp directives. Sun Jan 7 23:56:03 1996 Jim Meyering (meyering@na-net.ornl.gov) Use automake to generate Makefile.in files. * Makefile.am: New file. * doc/Makefile.am: New file. * lib/Makefile.am: New file. * man/Makefile.am: New file. * src/Makefile.am: New file. * configure.in (OPTIONAL_PROGS, OPTIONAL_SCRIPTS): New variables used in place of PROGS. Sat Jan 6 05:13:40 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (PACKAGE, VERSION): New variables. (fp_C_PROTOTYPES): Use it. * printf.c (print_esc_char): Change type of argument from char to int to avoid potential promotion problem. * uname.c (print_element): Likewise. * system.h [__P]: New macro. * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, factor.c, hostname.c, id.c, logname.c, nice.c, pathchk.c, printenv.c, printf.c, pwd.c, seq.c, sleep.c, tee.c, test.c, tty.c, uname.c, whoami.c, yes.c: Protoize and __P-protect forward dcls. * who-users.c: New file. Renamed from who.c. * who.c: Define WHO and include who-users.c. * uses.c: Define USERS and include who-users.c. * id.c Remove no-longer-used NGROUPS_MAX cpp macros. (print_group_list) [HAVE_GETGROUPS]: Reorganize to use getgroups (0, NULL) to compute number of groups at run time rather than relying on NGROUPS_MAX at compile time. (print_full_info) [HAVE_GETGROUPS]: Likewise. Suggestion from Roland McGrath. * su.c: Remove NGROUPS_MAX junk. It wasn't being used. Wed Jan 3 19:03:26 1996 Paul Eggert * configure.in (LOCALTIME_CACHE): Define if tzset exists and if localtime caches TZ. Check for tzset. * acconfig.h (LOCALTIME_CACHE): New macro. * date.c (putenv): Declare. (universal_time): Remove. (main): If -u is given, set TZ to "UTC0"; this causes date to use UTC uniformly and fixes bugs in the handling of date -u +'%s %Z'. (show_date): Just use localtime and a single format, since TZ will be set properly if -u is given. Fri Dec 22 21:34:55 1995 Andreas Schwab * configure.in: Touch stamp-h only if config.h is remade. Sun Nov 26 16:09:33 1995 Jim Meyering (meyering@comco.com) * test.c (usage): Clarify usage. From Karl Berry. Wed Nov 22 23:12:47 1995 Jim Meyering (meyering@comco.com) * Makefile.in (all et. al.): If make was invoked with -k and a sub-make fails, fail after the loop rather than exiting right away. Otherwise, make's -k option could be ineffective. Thu Nov 16 21:25:45 1995 Jim Meyering (meyering@comco.com) * Makefile.in (default): New default target. Depend on `all' to work around bug in AIX-3.2.5's /bin/make. Reported by Andreas Luik . Tue Nov 7 23:53:20 1995 Jim Meyering (meyering@comco.com) * stty.c (usage): Clarify descriptions of ignpar and ignbrk. From Theodore Ts'o and Ulrich Windl. Sun Oct 29 08:47:50 1995 Jim Meyering (meyering@comco.com) * test.c [TEST_STANDALONE]: Define. * src/Makefile.in (test.o): Remove special rule. Sat Oct 28 00:49:13 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (jm_WITH_AUTODEPS): New directive. * configure.in: Use it. * lib/Makefile.in (INCLUDE, COMPILE): New variables. (.c.o): Rewrite to be more like src/Makefile.in. Add line that (--with-autodeps) will include mkdep-Makefile. (distclean): Remove .deps. * src/Makefile.in: Likewise. * mkdep-Makefile: New file. * Makefile.in (DISTFILES): Add mkdep-Makefile. * doc/Makefile.in (mostlyclean): Remove *.info. * date.c: New option --reference=FILE (-r FILE) analogous to the like-named touch option. (main): Recognize it and give diagnostic for misuse. (usage): Describe briefly. From Franc,ois Pinard. * date.c (batch_convert): Close input stream also when it's not stdin. (main): Reorganize to do option-consistency checks before all else. Tue Sep 26 23:05:01 1995 Jim Meyering (meyering@comco.com) * man/Makefile.in (install-data, uninstall): Use sed not basename. The GNU Coding Standard suggests that only a select set of relatively standard utilities be used in Makefiles. basename is not among them. Suggested by Ulrich Drepper. Tue Aug 8 22:57:34 1995 Jim Meyering (meyering@comco.com) * yes.c: Include system.h to get definition of _. Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com) * system.h (_): Define macro -- as empty for now. * src/*.c: Annotate localizable strings with _(...). From Franc,ois. * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB. From Franc,ois. Fri Jun 23 23:04 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_REPLACE_FUNCS): Add memcpy and memset. Add checks for floor, modf, and rint -- all used by seq.c. Mon Jun 12 00:26:54 1995 Jim Meyering (meyering@comco.com) * getdate.y (Convert): Use 2037 as threshold, not 1999. Before years after 1999 were treated as invalid. From Andreas Schwab. Sat May 27 00:35:47 1995 Jim Meyering (meyering@comco.com) * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h. Without this, SunOS doesn't get type for memchr. Reported by Kaveh Ghazi. Sun May 21 07:20:55 1995 Jim Meyering (meyering@comco.com) * Makefile.in (.PHONY): TAGS is not a phony target. From Franc,ois. * All Makefile.in (install-exec, install-exec): New targets. From Karl Berry. * all Makefile.in (maintainer-clean): Renamed from realclean per GNU Standards. Mon May 15 01:00:08 1995 Jim Meyering (meyering@comco.com) * all source files (usage): Include one- or two-line synopsis in --help output. From Karl Berry. Sat May 13 08:57:20 1995 Jim Meyering (meyering@comco.com) * lib/Makefile.in (maintainer-clean): Rename from realclean. (.PHONY): New dependencies. [.c.o]: Remove -I. since safe-l?stat.h are no longer used. Fri May 12 21:25:50 1995 Jim Meyering (meyering@comco.com) * test.c (usage): Remove duplicate descriptions of --help and --version. From Karl Berry. * pathchk.c: Use stat (lstat), not safe_stat (safe_lstat). * test.c: Likewise. * who.c: Likewise. * lib/Makefile.in (SOURCE): Add memcpy.c, memset.c. Remove all reference to (now unused) safe-xstat.hin. Tue Apr 18 22:57:43 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_OUTPUT): Use echo, not date, to avoid creating unnecessary conflicts for people using version control software like RCS and CVS. (AC_ARG_PROGRAM): Use it. Fri Mar 10 21:14:11 1995 Jim Meyering (meyering@comco.com) * src/*.c: Update Copyright dates. Mon Feb 27 08:05:25 1995 Jim Meyering (meyering@comco.com) * system.h: Separate errno declaration from STDC_HEADERS. Remove bcopy, bzero, strchr, strrchr definitions. * stty.c (main, set_window_size): Use memset instead of bzero. * su.c (correct_password): Likewise. * seq.c Remove \n's from error format strings. (main): Let `seq 1 1' work. Invoke usage always with 1 when failing. Sat Feb 11 08:27:12 1995 Jim Meyering (meyering@comco.com) * src/Makefile.in (install): Fix rules for su to avoid relying on just-built `id' executable. That would lose when cross-compiling and on systems like GNU in which a user may have several effective IDs. (SOURCES, OBJECTS, PROGS): Add seq. * Makefile.in (PROGS): Add seq. * configure.in (AC_REPLACE_FUNCS): Add memcmp, memcpy, and memset. (AC_CHECK_FUNCS): Add strchr and strrchr. * lib/Makefile.in (SOURCES): Add memcmp.c, memcpy.c, and memset.c. * system.h: Remove index/rindex and bcmp/bcopy/bzero references. Separate errno declaration from STDC_HEADERS. Thu Jan 26 23:38:04 1995 Jim Meyering (meyering@comco.com) * getdate.y (ToSeconds): Properly convert 12am and 12pm. From Takeshi Sone . * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Add readtokens.[coh]. (all): Depend on safe-stat.h and safe-lstat.h. * date.c (batch_convert): Remove any trailing newline from offending line before including it in the `invalid date' error from `date -f'. Reported by Franc,ois Pinard. Sat Dec 31 09:25:09 1994 Jim Meyering (meyering@comco.com) * factor.c: New file. * Makefile.in (PROGS): Add factor. * src/Makefile.in (SOURCES, OBJECTS, PROGS): Add factor. (factor): New rule. Mon Dec 26 18:31:08 1994 Jim Meyering (meyering@comco.com) * test.c (term): Running `./test \( a -o b' got a seg fault. From from Klaus.Reichl@aut.alcatel.at. Mon Dec 19 22:05:12 1994 Jim Meyering (meyering@comco.com) * src/*.c: Include "error.h" rather than simply declaring `void error ();'. * src/Makefile.in (OBJECTS): Depend on ../lib/error.h. * lib/Makefile.in (DISTFILES): Remove safe-xstat.cin. (distclean): Remove references to safe-l?stat.c. Remove all related rules and dependencies. * safe-xstat.hin (SAFE_LSTAT, SAFE_STAT): Remove macros. Now that we always define the functions, these are no longer needed. * pathchk.c (dir_ok): Use safe_stat instead of SAFE_STAT. * who.c (print_entry): Likewise. * test.c (test_stat, binary_operator): Likewise. (unary_operator): Use safe_lstat instead of SAFE_LSTAT. Mon Dec 12 22:42:09 1994 Jim Meyering (meyering@comco.com) * expr.c (docolon): Zero out re_buffer and re_regs before using them. From H.J. Lu . Sun Dec 4 14:53:12 1994 Jim Meyering (meyering@comco.com) * dirname.c (main): Use strchr and strrchr instead of index and rindex. * echo.c (main): Likewise. * env.c (main): Likewise. * pathchk.c (validate_path): Likewise. * printf.c (print_formatted, print_esc): Likewise. * test.c [member]: Likewise. * who.c (extract_trimmed_name): Likewise. * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to rindex instead of the other way around. * doc/Makefile.in (DISTFILES): Add getdate.texi. Sat Dec 3 07:59:55 1994 Jim Meyering (meyering@comco.com) * configure.in (AC_CHECK_FUNCS): Add strchr and strrchr. (AC_CHECK_HEADERS): Add stdlib.h. (LIBS): If the strtod replacement is required, check for pow in -lm. * src/Makefile.in (printf): Remove hard-coded -lm. Not every system has it. Thu Nov 17 23:47:26 1994 Jim Meyering (meyering@comco.com) * who.c (list_entries): Delete. Split in two actually... (list_entries_users, list_entries_who, userid_compare): New functions. (list_entries_users): Sort the user names. Reported by Michael I Bushnell. Topologically sort the functions and remove fwd declarations. ----- Copyright (C) 1994-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/old/fileutils/0000775000000000000000000000000012107207522013202 500000000000000coreutils-8.21/old/fileutils/NEWS0000664000000000000000000011407512102337340013626 00000000000000[4.1.11] * `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10] [4.1.10] * rm once again gives a reasonable diagnostic when failing to remove a file owned by someone else in a sticky directory [introduced in 4.1.9] * df now rounds all quantities up, as per POSIX. * New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. * Any time style can be preceded by "posix-"; this causes "ls" to use traditional timestamp format when in the POSIX locale. * The default time style is now posix-long-iso instead of posix-iso. Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 through 4.1.9. * `rm dangling-symlink' doesn't prompt [introduced in 4.1.9] * stat: remove support for --secure/-s option and related %S and %C format specs * stat: rename --link/-l to --dereference/-L. The old options will continue to work for a while. [4.1.9] * rm can now remove very deep hierarchies, in spite of any limit on stack size * new programs: link, unlink, and stat * New ls option: --author (for the Hurd). * `touch -c no-such-file' no longer fails, per POSIX [4.1.8] * mv no longer mistakenly creates links to preexisting destination files that aren't moved [4.1.7] * rm: close a hole that would allow a running rm process to be subverted [4.1.6] * New cp option: --copy-contents. * cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the traditional (and rarely desirable) cp -r behavior. * ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format * The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead. * cp and inter-partition mv no longer give a misleading diagnostic in some unusual cases [4.1.5] * cp -r no longer preserves symlinks * The block size notation is now compatible with SI and with IEC 60027-2. For example, --block-size=1MB now means --block-size=1000000, whereas --block-size=1MiB now means --block-size=1048576. A missing `B' (e.g. `1M') has the same meaning as before. A trailing `B' now means decimal, not binary; this is a silent change. The nonstandard `D' suffix (e.g. `1MD') is now obsolescent. * -H or --si now outputs the trailing 'B', for consistency with the above. * Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2. * New df, du short option -B is short for --block-size. * You can omit an integer `1' before a block size suffix, e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'. * The following options are now obsolescent, as their names are incompatible with IEC 60027-2: df, du: -m or --megabytes (use -BM or --block-size=1M) df, du, ls: --kilobytes (use --block-size=1K) [4.1.4] * df --local no longer lists smbfs file systems whose name starts with // * dd now detects the Linux/tape/lseek bug at run time and warns about it. [4.1.3] * ls -R once again outputs a blank line between per-directory groups of files. This was broken by the cycle-detection change in 4.1.1. * dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem. On systems with the linux kernel (at least up to 2.4.16), dd must still resort to emulating `skip=N' behavior using reads on tape devices, because lseek has no effect, yet appears to succeed. This may be a kernel bug. [4.1.2] * cp no longer fails when two or more source files are the same; now it just gives a warning and doesn't copy the file the second time. E.g., cp a a d/ produces this: cp: warning: source file `a' specified more than once * chmod would set the wrong bit when given symbolic mode strings like these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode of --w-r---w- rather than --w--w--w-. [4.1.1] * mv (likewise for cp), now fails rather than silently clobbering one of the source files in the following example: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c * ls -R detects directory cycles, per POSIX. It warns and doesn't infloop. * cp's -P option now means the same as --no-dereference, per POSIX. Use --parents to get the old meaning. * When copying with the -H and -L options, cp can preserve logical links between source files with --preserve=links * cp accepts new options: --preserve[={mode,ownership,timestamps,links,all}] --no-preserve={mode,ownership,timestamps,links,all} * cp's -p and --preserve options remain unchanged and are equivalent to `--preserve=mode,ownership,timestamps' * mv and cp accept a new option: --reply={yes,no,query}; provides a consistent mechanism to control whether one is prompted about certain existing destination files. Note that cp's and mv's -f options don't have the same meaning: cp's -f option no longer merely turns off `-i'. * remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for 64-bit systems) * mv now prompts before overwriting an existing, unwritable destination file when stdin is a tty, unless --force (-f) is specified, as per POSIX. * mv: fix the bug whereby `mv -uf source dest' would delete source, even though it's older than dest. * chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works * cp now ensures that the set-user-ID and set-group-ID bits are cleared for the destination file when when copying and not preserving permissions. * `ln -f --backup k k' gives a clearer diagnostic * ls no longer truncates user names or group names that are longer than 8 characters. * ls's new --dereference-command-line option causes it to dereference symbolic links on the command-line only. It is the default unless one of the -d, -F, or -l options are given. * ls -H now means the same as ls --dereference-command-line, as per POSIX. * ls -g now acts like ls -l, except it does not display owner, as per POSIX. * ls -n now implies -l, as per POSIX. * ls can now display dates and times in one of four time styles: - The `full-iso' time style gives full ISO-style time stamps like `2001-05-14 23:45:56.477817180 -0700'. - The 'iso' time style gives ISO-style time stamps like '2001-05-14 ' and '05-14 23:45'. - The 'locale' time style gives locale-dependent time stamps like 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale). - The 'posix-iso' time style gives traditional POSIX-locale time stamps like 'May 14 2001' and 'May 14 23:45' unless the user specifies a non-POSIX locale, in which case it uses ISO-style dates. This is the default. You can specify a time style with an option like --time-style='iso' or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21 and later can parse ISO dates, but older Emacs versions cannot, so if you are using an older version of Emacs outside the default POSIX locale, you may need to set TIME_STYLE="locale". * --full-time is now an alias for "-l --time-style=full-iso". Changes in release 4.1: [4.0.45] * dd conv=sync,block now pads only with spaces * ls's -1 option no longer cancels the effect of a preceding -l * regenerate configure using a patched version of autoconf-2.49e to work around a bug in its test for a working memcmp function * ls: fix off-by-one error introduced with the previous change [4.0.44] * ls: When given two or more arguments but the only one that exists is a directory, don't treat it as if it were the only argument. Before, `mkdir d; ls no-dir d 2>/dev/null' would act like `ls d' and produce no output. Now, it prints `d:'. * touch -d 'last friday' would use a time stamp that was one hour off (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) when run such that the current time and the target date/time fall on opposite sides of a daylight savings time transition. This problem arises only with relative date strings like `last monday'. It is not a problem with strings that include absolute dates. [4.0.43] * regenerate configure-related files using autoconf-2.49d [4.0.42] * Using ls's short-named `-H' option evokes the warning that the meaning of `-H' will soon change. Use `--si' instead. [4.0.41] * fix bug in rm introduced in 4.0.38: `chmod 0 f; rm f' would no longer prompt before removal. [4.0.40] * portability fixes, mainly for UnixWare 7.1.1 [4.0.39] * cp and mv accept --strip-trailing-slashes, not just --strip-trailing-slash [4.0.38] * ls --full-time now implies -l; before, without -l it was a no-op [4.0.37] * portability fixes for SunOS4.1.1, Fujitsu (f300-fujitsu-uxpv4.1_ES), and Unicos (alphaev5-cray-unicosmk2.0.5.X) [4.0.36] * `mv dir/ new-name' no longer fails on SunOS4.1.1U * attempting to use mv to move a symlink onto itself no longer removes the symlink * `cp -R directory file' no longer removes `file'. now it fails and gives a diagnostic * The manual now warns that ls's --full-time format string is planned to change in a future release. * ls -l's time stamp format now depends on LC_TIME, not LC_MESSAGES, as POSIX requires. * ls -l now reports the year for files even slightly in the future, as POSIX requires. This helps warn users about clock skew problems. * `cp -d file symlink-to-some-other-file' no longer fails * performance improvements for ls [4.0.35] * ln --backup=simple --suffix=SUFFIX once again uses SUFFIX * install: Likewise. [4.0.34] * fix a bug (introduced in 4.0z) that made `chown 123:456 file' act like `chown 123:123 file'. Other uses with a numeric group ID would cause chown to fail when it shouldn't have. * the chown and chgrp programs preserve set-uid and set-gid bits, even on systems for which the chown function call resets those bits. * `ls -L dangling-symlink' now fails (per POSIX) rather than printing the link name * dd no longer honors the just-added `B' suffix on skip= and seek= arguments. * `mkdir no-such-dir/' no longer fails on NetBSD systems [4.0.33] * dd now accepts skip=nB and seek=nB, to advance past some number of bytes, n, that need not be a multiple of the block size. * dd (without conv=notrunc) now complains only when ftruncate fails on a regular file, a directory, or a shared memory object -- not when it fails to truncate other types of files, like /dev/fd0. * chmod --changes (-c) once again issues diagnostics only for the files with changed permissions * mkdir now gives one diagnostic (rather than two) for certain failures * mkdir portability fix for NetBSD [4.0.32] * touch now interprets a lone numeric argument of 8 or 10 digits as a file name, rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format. * mkdir no longer sets the permissions of the final directory component if it already exists (this bug, too, was introduced recently) * ls's --full-time format string is now locale dependent [4.0.31] * mkdir: fix a bug introduced in 4.0.30 whereby `mkdir existing-dir' would succeed. Now it fails, as it should (and used to). [4.0.30] * mkdir: fix a bug introduced in 4.0.28 whereby parent directories created via `mkdir -p' would have permissions that did not account for the umask [4.0.29] * ls.c wouldn't compile on some systems: fix it * `cp -R --parents dir1/ dir2' failed on NetBSD, due to a portability problem [4.0.28] * ls is much more efficient on systems (e.g., linux-2.4.*) that store file type information in directory entries. * shred now automatically determines the size of each block device argument * ls's date/time format strings are now locale dependent * mkdir, mknod, mkfifo, and chmod work better in conjunction with ACLs * `cp --parents dir1/ dir2' no longer gets a failed assertion * shred now determines the size of block devices like /dev/fd0 * `shred --exact file1 file2' now erases `file1', too [4.0.27] * install once again unlinks an existing destination before trying to open it * mv no longer gets a failed assertion when moving a directory (specified with a trailing slash) from one partition to another, and giving it a different name at the destination. * `cp --link -f src existing-dest' no longer fails (bug introduced in 4.0z) * cp's new --remove-destination option now works with -R [4.0z] * `cp -p' once again preserves `special' permission bits (this bug was introduced in 4.0y) * mv's --force (-f) option now controls solely whether mv prompts (per POSIX) * `cp -f' now first attempts to open an existing destination file, and only if that fails does it resort to unlinking the file and retrying the open. Before, it would unlink the file before trying to open it. * cp accepts a new option, --remove-destination, that provides the old behavior * cp's -f option no longer cancels the effect of --interactive (-i) (per POSIX) * when ls sorts directory entries, it now honors the current locale settings * dd's `skip=BLOCKS' operator once again works on systems with a buggy lseek function (Linux, at least on SCSI tape devices) * fix a typo in install-sh [4.0y] * cp now accepts the POSIX-mandated -H and -L options. * cp -p and mv now try to preserve uid even if you're not root, as per POSIX.2. This affects behavior only on hosts that let you give files away via chmod. * du would fail when given `.' or `..' followed by other command line arguments * Using cp's short-named `-P' option evokes the warning that the meaning of `-P' will soon change. Use `--parents' instead. * chgrp, chmod, and chown: when used with the --verbose option, might give an invalid diagnostic (due to clobbered errno) when failing. [4.0x] * Fix cp so that `cp -r DIR1/ DIR2' works properly once again. * New ls option --quoting-style=clocale acts like --quoting-style=locale, except that it quotes "like this" by default instead of `like this'. [4.0w] * When `cp -pR' fails to copy a file, it now preserves permissions, owner, and group of the containing directory. [4.0v] * df, du, and ls now round disk usage up and disk free space down * df, du, ls: --block-size=N now works for values of N that are e.g., not a multiple of the file's block size [4.0u] * give proper diagnostic for mv usage error * fix compile problem with lib/strnlen.c [4.0t] * `cp -d -u' no longer fails with certain existing destination symlinks * rmdir and mkdir accept -v as synonym for --verbose [4.0s] * rm no longer segfaults on certain very deep hierarchies * IMPORTANT SECURITY FIX: a running `rm -r' may no longer be subverted to remove unintended directories * cp can now remove unwritable files in interactive mode; contrary to how mv works, cp's --interactive (-i) option does *not* cancel the effect of a preceding --force (-f) option. * all programs fail when printing --help or --version output to a full device * install no longer performs chmod if chown fails (see ChangeLog for example) [4.0r] * `du dir/subdir1 dir/subdir2' no longer fails * chown accepts new option: --from=CURRENT_OWNER:CURRENT_GROUP * cp accepts new option: --strip-trailing-slashes * install --directory (-d) may now be used to set special bits e.g., `install -m a=rwx,o+t -d DIR' now honors the `o+t' part * cp, mv, ln, install: document that while the --backup option takes an optional argument, the -b option accepts none * `ls -e' fails with a more useful diagnostic * df produces better output for loop file system mount points [4.0q] * install -D bug is fixed * chown now works properly when the specified login name contains a period This is at the expense of always looking up the entire USER.GROUP string as a login name first, and only then (upon failure) interpreting the `.' as a separator and looking up `USER'. To avoid the extra getpwnam call, always use the POSIX-mandated `:' character as the separator. * `du some-other-dir' no longer fails if it can't open the current directory * `mv DIR EXISTING-FILE' no longer removes EXISTING-FILE. Now it gets an error as POSIX says it must. * touch no longer hangs on fifos [4.0p] * various tools: quote multibyte characters correctly in diagnostics * mv: portability fix for alpha * dd: portability fix * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [4.0o] * Include lib/nanosleep.h. [4.0n] * cp, install, ln, and mv: when making backup files in verbose mode, these commands now print the backup file name on the same line as the rest of the information, e.g., `a -> b (backup: b.~13~)' rather than on a separate line as all but ln used to do. ln didn't output the backup file name at all. [4.0m] * mv accepts new option: --strip-trailing-slashes (soon, many other programs will, too) * df no longer hangs when there is an inaccessible mount point unrelated to PATH * rmdir --verbose no longer prints extra, bogus diagnosic upon failure * fix df bug that made it print bogus values in the `Use%' column. * touch -d once again parses dates with `hh:mm ZONE' time zone info. [4.0l] * ls -l honors a trailing slash on a symlink argument, per POSIX. * shred no longer appears to infloop when asked to remove files in unwritable directories * `ls -ul' and `ls -uc' sort by name once again, as they should [4.0k] * mv may now be used to move a file onto a symlink to itself when that symlink is on a separate partition. With fileutils-4.0j, it would fail with a diagnostic saying they were the same file. * touch would fail with the misleading diagnostic `no such file' when asked to create a file in an unwritable directory. Now it says something like `permission denied' or `read-only file system'. [4.0j] * mkdir may now be used to set special bits e.g., `mkdir -m o+t dir' works * touch can now change the time(s) of a file you own even if you don't have read or write access to it * rm no longer dumps core after warning about directory cycles * mv now refuses to move a file onto a symlink to itself when that symlink is on a separate partition. Before, it would remove the file and leave only the symlink. * `install -d -g foo 1/2' now sets the `group' of the final component as well as that of the leading one. * df, du, and ls no longer divide by zero when an invalid block size is specified through an environment variable * under certain conditions, chgrp would fail to affect files referenced through symlinks. Now it does. * ln now makes hard links to symlinks on systems that support it. * touch: no longer infloop on dangling symlinks * cp, install, ln, mv: deprecate the --version-control option. Use --backup's new optional argument instead. The old option still works, but now evokes a warning. * cp, install, ln, mv: the --backup option now accepts an optional argument * cp, install, ln, mv: accept new option: --target-directory=DIR * chgrp: accept new option, --dereference. --no-dereference is now the default. * New ls option --quoting-style=locale acts like --quoting-style=c, except with locale-specific quoting symbols (` and ' by default) instead of ". * `df DIR' is less likely to hang due to bad NFS mounts * As per POSIX.2, `df -P' now uses ceiling rather than rounding, and its header now says `1024-blocks ... Capacity' instead of `1k-blocks ... Use%'. [4.0i] * `cp -f FILE FILE' and `mv -f FILE FILE' no longer remove FILE * touch works once again (DST-wise) when certain `--date DATE-TIME' values are specified. * shred's -u option (short form of --remove) is now accepted [4.0h] * cp --one-file-system (-x) no longer crosses filesystem boundaries. * touch can once again operate on directories [4.0g] * New large-file support for AIX and HP-UX, and for cross-compiles. * shred's default options are now suitable for devices, not files, since shred is more reliable on devices. shred now does not remove by default; the old -p or --preserve option was inverted and renamed to -u or --remove. * shred -u now attempts to truncate devices before removing them. * shred -v no longer outputs carriage-returns; shred -vv has no extra effect; shred -v now outputs to stderr. * shred now tries to find the size of a non-regular file by seeking to its end. * dd now opens the output file for *read* access only if `seek=' is used. [4.0f] * `ls --color' no longer segfaults * dd works once again [4.0e] * shred --devices option renamed to -D so that -d, -i and -r can be compatible with rm. * shred -s/--size=N option added to specify the size of the object to be shredded. * `shred -' now shreds stdout rather than stdin. This is incompatible with -v. * shred now does not need to read from its output file, so opens it O_WRONLY * `ls -l' uses `+' to designate each file that has a custom ACL * eliminate race condition that could make touch truncate a nonempty file * No longer use *_unlocked I/O macros on systems (like solaris5.5.1) where they're not declared, so selected executables (e.g., rm) that are linked with shared libraries will once again run on solaris5.6 systems. [4.0d (aka 4.1-b3)] * ls recognizes solaris 2 `doors' * new program: shred * ln: Allow creation of a hard link to a dangling symlink * cp, mv, install: --verbose now prints a message for each backup-related renaming * portability fixes for copy.c's code to detect move-directory-into-self * upgrade to automake-1.3b * upgrade to autoconf-2.13, and... * remove some of the kludges in m4/*.m4 that permitted [4.1-b2] * concurrent `mkdir -p' processes no longer fail when creating the same hierarchy * argmatch.c has been fixed so that the unambiguous usage `ls --color=n' no longer evokes an error. * now, specifying an improper argument for an option that accepts enumerated values evokes diagnostics like this: $ src/touch --time=x file src/touch: invalid argument `x' for `--time' Valid arguments are: - `atime', `access', `use' - `mtime', `modify' Try `src/touch --help' for more information. [4.1-b1] * ls --quoting-style=c prints correct octal escapes for certain nonprinting characters in file names. * fix `ls -R .' formatting bug that broke mktexlsr * moving a directory into itself is properly diagnosed in more cases * moving a directory containing hard-linked files now works Changes in release 4.0: [4.0-b7] * rm -rf '' no longer gets a failed assertion on the Hurd [4.0-b6] * rm simply fails as it should (rather than segfaulting) for `mkdir -m 0100 x; rm -rf x' [4.0-b5] * still *more* mktime.c portability tweaks [4.0-b4] * mktime.c portability tweak for headers with GNU libc 5.4.44. [4.0-b3] * mktime.c works around problems with Digital Unix 4.0A and 4.0D. * mktime.c handles dates in the spring-forward gap the same way other implementations do * install accepts long option --suffix=SUFFIX [4.0-b2] * man/Makefile.maint framework tweaks * add test for `mv -i' bug [4.0-pre1] * fix serious bug whereby `touch a b; echo n|mv -i a b' would remove b. [3.16z] * portability tweaks * avoid `root `cp -a' from Netapp snapshot' corruption [3.16y] * `install -D' now works * distribute maintainer Makefiles in man/ [3.16x] * man pages are now automatically generated from a combination of --help output and the contents of new (though mostly empty), man/*.x files. [3.16w] * touch now interprets `-t TIME-DATE' as POSIX specifies * `ls EMPTY-DIR EMPTY-DIR' once again outputs the directory names [3.16v] * portability fixes * `ls -R EMPTY-DIR' now outputs the name of the directory [3.16u] * mv now fails (as it should) upon attempt to move a directory into itself * `cp -a --one-file-system' now copies any mount point directories it encounters on the selected file system. [3.16t] * cp (with --update) and ls compare time stamps with subsecond resolution when available (e.g., on systems with recent Linux kernels and on Solaris 2.6). * install once again does the -m-specified chmod *after* running strip (this fixes another bug introduced in 3.16o) [3.16s] * df accept a new option --local (-l) * touch works around a system-specific bug so it now affects existing, zero-length files on certain systems * chown now works even on certain SVR3 systems where it used to fail [3.16r] * include gettext's m4 macros * minor cp bug fixed * non-portable cp tests removed * --without-included-regex now means don't compile regex.c * rx support removed [3.16q] * `df', `du', and `ls' now accept a new option --block-size=SIZE, where SIZE can be a positive integer block size, followed by an optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an optional `B' (for ``byte'', indicating powers of 1024, which is the default) or `D' (for ``decimal byte'', indicating powers of 1000). SIZE can also be `human-readable' (for -h or --human-readable behavior) or `si' (for -H or --si behavior). * These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent to `dd bs=1048576'. * The default block size for the `df' command is now obtained from the DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE. Similarly for `du' and `ls'. * The output columns of `df' have been adjusted slightly to accommodate larger filesystems. * fix gettext-related link failures seen when configuring certain ways [3.16p] * fix install bug introduced in 3.16o * build/test changes only [3.16o] * chown accepts new option, --dereference. --no-dereference is now the default. * install now shares core copying code with mv and cp * mv (between distinct filesystems) now uses more of the core copying code * fixed a bug or two in mv * df once again displays negative numbers when that's what's returned by get_fs_usage [3.16n] * `mv dir dir' once again does *not* remove dir/ * ls accepts new options: --indicator-style=none (no indicators, the default) --indicator-style=classify (all indicators) (equivalent to -F or --classify) --indicator-style=file-type (file type indicators) (equivalent to -p or --file-type) --quoting-style=literal (do not quote output) --quoting-style=shell (minimally quote output for the shell) --quoting-style=shell-always (always quote output with '' for the shell) --quoting-style=c (quote output as for a C-language string) (equivalent to -Q or --quote-name) --quoting-style=escape (like c but omit enclosing "") (equivalent to -b or --escape) --show-control-chars is the opposite of --hide-control-chars This option can be useful if output is to a terminal, to override the default beahvior of hiding control characters. * The QUOTING_STYLE environment variable can now be used to specify the default value for ls's --quoting-style option. If not specified, the default quoting style is 'literal', but this default may change to 'shell' in a future version of this package. * ls's quoting style now affects operands in diagnostics, too. * ls's --dired option now outputs the quoting style using the format of the new --quoting-style option. * ls's -e or --quote-shell option (introduced in 3.16j) has been removed; use --quoting-style=shell to get its functionality. [3.16m] * mv can move (and doesn't read) special files * remove maintainer mode [3.16l] * mv can finally move non-regular files between partitions [3.16k] * install accepts new option, -D [3.16j] * du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE) * ls now quotes file names for the shell by default, if they contain characters that need quoting. Use -N to get the old default behavior. The new behavior is also enabled by the new option -e or --quote-shell. * ln --backup is now consistent with cp and mv in that --force is no longer required when the destination is an existing non-directory. * install accepts new option, --verbose (-v) * mkdir -p is a lot faster when creating very deep directories on some systems * rm -i no longer exits with status indicating failure solely because the user declines to remove a file * rm -r is a lot faster on some systems when removing deep hierarchies * chgrp, chmod, and chown no longer give contradictory output when --verbose is used and an operation fails * ls's multicolumn option now uses variable width columns to conserve vertical space * install accepts new option, --preserve-timestamps * du --megabytes --total now shows total in megabytes * ls accepts new option, -h or --human-readable * df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024 * df, du, and ls now consistently round to nearest, with ties going to even * df, du, and ls now use `k' instead of `K' for `kilo', and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta) * touch -d DATE now works on Unicos * du accepts new option --max-depth=N * rmdir accepts new options: --ignore-fail-on-non-empty and --verbose * on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes * all programs now work on large files on LFS systems like Solaris 2.6 and Linux with the pre-2.1 development version of GNU libc. * df now works with OpenBSD 2.1 beta * cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error. Changes in release 3.16: * du --megabytes (-m) works * ls -l works even on systems with non-POSIX strftime in their C library Changes in release 3.15: * touch --date=DATE bug (due to broken getdate.y) has been fixed * ls -l no longer misformats the date when run in a locale for which the locale's abbreviated week-day name (strftime's %a format) is shorter or longer than the `normal' three bytes (with LANG=de it's a two-byte string). * Using --program-prefix no longer applies the prefix twice * ls --color properly restores color attributes upon completion when the normal (`no') color attribute is not the default color. * with ls -s --color, the `total' and size of the first file are printed * ls --color stats symlinks and distinguishes between regular symlinks and orphan ones. * cp --preserve preserves owner and group of symlinks on Linux when run with EUID == 0 * dircolors no longer accepts --print-data-base (alternate spelling of --print-database) Changes in release 3.14: * ls --color highlights based on suffix rules only for regular files * touch --date=DATE accepts dates like those in an RCS log listing, e.g., `1992/11/01 05:44:34'. * install SRC DST no longer rejects non-regular, non-directory SRC * df accepts -F as a synonym for -t for compatibility with Solaris * cp -i /dev/null existing-file now prompts before overwriting the target * ls --color highlights orphaned symlinks text on terminals that support it * ls -l honors current locale with respect to abbreviated month names (and, with --full-time day names) on systems with a locale-supporting strftime function, e.g., ones based on recent versions of the GNU C library * ls -l recognizes Cray's migrated dmf files. * chgrp no longer aborts when given a group number larger than INT_MAX * chgrp now fails when run by root with an unrecognized group name * when possible, cp -p preserves owner/group even on symlinks in case they're in a directory that has the sticky-bit set. * cp --recursive --parents SRC DEST works when SRC is an absolute file name. Changes in release 3.13: * ls properly determines window size on SunOS and Solaris systems * ls accepts new option --color[=WHEN] where WHEN is `always', `never', or `auto'. --color=never is the default. --color is equivalent to --color=always. * new program: dircolors * ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0 inhibits the use of TAB characters for separating columns. * you can create a backup of FILE with cp --force --backup FILE FILE. Before, that command failed saying that ``FILE' and `FILE' are the same file'. * uses automake-generated Makefile templates * chown and chgrp accept new option --no-dereference (-h) * ln -f FILE FILE fails with a diagnostic rather than silently removing FILE * when building on systems that have getopt_long (most GNU-oriented ones), the system-provided function will be used -- so executables may be a little smaller * cp -p, and mv modify owner and/or group of symlinks on systems (like Solaris) that provide the lchown system call. * df no longer invokes the sync system call by default. You can use the --sync option to make df invoke sync before getting file system sizes. * internationalized diagnostic messages * mkdir accepts new option: --verbose * `cp file D/' uses the full file name `D/file' instead of `D//file'. * cp --backup a~ a fails instead of silently destroying the source file * df and du have new options --human-readable (-h) and --megabytes (-m). * install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and --version-control=WORD (-V WORD) options just as cp, ln, and mv do. * ln --verbose output is less prone to misinterpretation * ls -o works like -lG; for compatibility with other versions of ls * cp has a new option to control creation of sparse files: --sparse={auto,always,never}. --sparse=auto is the default. * rm -rf '' behaves properly on SunOS 4 systems * touch: rename long option name, --file, to --reference. `touch --file' will continue to work a little longer. * df fails if the same file system type is both selected and excluded. * df works around SunOS statfs brokenness wrt filesystems larger than 2GB * df better handles inconsistent mtab entries * `ls -lDR dir dir2' works * `ls -c' does what it's supposed to * all programs include program name in --version output * `ls --quote-name' works * mv properly determines whether src and dest are the same file Before, it could (though with very low probability) fail to do the move, reporting that distinct source and destination are the same file. * du --dereference (-L) works with directory symlinks * du works on SunOS 4 systems even when accounting is enabled * many programs that convert strings to integers now use strtol or strtoul and detect overflow User-visible changes in release 3.12: * None. User-visible changes in release 3.11: * None. User-visible changes in release 3.10: * mkdir -p now ignores arguments that are existing directories. Before, (contrary to POSIX spec) it would attempt to change ownership and/or protections of existing directories listed on the command line. And it would fail when such a directory was owned by another user. * Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir' incorrectly change the permissions on directory, dir. * df accepts a new option, --no-sync, that inhibits the default invocation of the sync system call. * ls accepts a new option, --dired, that makes emacs' dired mode more efficient * skeletal texinfo documentation (mainly just the `invoking' nodes) * ln accepts a new option: --no-dereference (-n). With this option, if the destination command line argument is a symlink to a directory, use that as the destination instead of the file in the directory. * `ln -i no-such-file existing-file' gives a diagnostic and fails. Before, if you responded `yes' to the prompt it would both remove `existing-file' and fail to make a link. * du no longer requires read access to all of the directory components of the current working directory on systems with fchdir. * touch -d 'date' is no longer off by one hour. * New program: sync. * Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly create `r' as a symlink instead of as a regular file. * du's -S and -c options now work when used together. Before, the grand total was always reported to be zero. Major changes in release 3.9: * --help gives a one-line description of each option and shows the correspondence between short and long-named options. * work around systems with BROKEN_STAT_MACROS * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. * GNU chmod treats symlinks the same way other vendor's versions do. Now symlinks listed on the command line are processed (they were ignored before); the permissions of the dereferenced files are changed. Symlinks encountered in recursive traversals are still ignored. This makes GNU chmod act more like e.g. Sun's. * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * ls and cp can handle mount points on more systems * cp, mkdir, and rmdir long option --path renamed to --parents; --path will still work for a while * cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory. This change affects only the two-argument form of the commands. It makes such commands fail when the target has a trailing slash but is not a directory or symlink to a directory and the source is not a directory. They used to succeed, ignoring the implicitly contradictory trailing slash. Major changes in release 3.8: * install isn't as likely to produce spurious errors * avoid redundant compilations for `dir' and `vdir'; * configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer running OSx 5.1 Major changes in release 3.7: * none Major changes in release 3.6: * `ln -s dir_pathname .' works when the pathname has a trailing slash * with the --version option programs print the version and exit immediately * GNU ls -f works like Unix ls -f * mktime replacement works Major changes in release 3.5: * adds support for DEC Alpha under OSF/1 * configuring with gcc uses CFLAGS='-g -O' by default * all programs accept --help and --version options * long-named options must be introduced with `--'; `+' is no longer accepted since it is incompatible with the POSIX.2 standard * chmod accepts long-named options * dd conv=unblock doesn't hang * new df option --exclude=fstype * new ls option --full-time Major changes in release 3.4: * cp -p and mv preserve setuid and setgid bits * chown works on systems where sizeof(uid_t) != sizeof(int) or sizeof(uid) != sizeof(gid) * catch errors from spurious slashes at ends of arguments Major changes in release 3.3: * df sped up by not calling sync for every filesystem * df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed * df -i now also prints the total number of inodes per filesystem * ls sped up by not reading symlink contents unnecessarily * du doesn't die on POSIX systems when the root filesystem is NFS mounted * cp and mv report chown Permission denied errors when run by root ======================================================================== Copyright (C) 1992-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. coreutils-8.21/old/fileutils/ChangeLog0000664000000000000000000107751112102337340014705 000000000000002006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * ChangeLog-1997: Likewise. * NEWS: Likewise. 2002-07-28 Jim Meyering * Version 4.1.12. * configure.ac: Require automake-1.6b. * TODO: Remove entry that mentions rm's HAVE_WORKING_READDIR. Since remove.c was rewritten, rm is no longer susceptible to that. 2002-07-26 Jim Meyering * src/stat.c: Don't include malloc.h -- it was unnecessary. 2002-07-22 Jim Meyering * Version 4.1.11. * src/stat.c (usage): The short form of --dereference is now -L, not -l. Reported by Kalle Olavi Niemitalo. * src/rm.c: Add new option, --presume-input-tty, for testing only. Not documented. This test might remove a file owned by the person running `make check'. * tests/rm/fail-eperm: Hoist definition of $target_file, and use that (not $f) in test for owner/dir/symlink. Patch by Michael Stone. * tests/rm/fail-eperm: Handle the case in which rm produces no output. rm would prompt for a symlink to an unwritable file * src/remove.c (prompt): When not interactive, don't prompt for a symlink. Reported by Dave Beckett. Patch by Michael Stone. * tests/rm/dangling-symlink: Add a test for the above-fixed bug. 2002-07-20 Jim Meyering * src/copy.c (copy_internal): Use file_name_lookup, not getdport. Patch by Alfred M. Szmidt. * Makefile.maint (news-r1, news-r2): Define. Better regexp. (announcement): Use them here. Also makes the line length < 80. * Upgrade to cvs automake -- required to work with 2.53b. * configure.ac: Require automake-1.6a. * Version 4.1.10. * Upgrade to gettext-0.11.3. * Upgrade to autoconf-2.53b. 2002-07-19 Jim Meyering * src/dircolors.hin: Add .wav. * tests/rm/fail-eperm: Don't expect `ARGV_0=$0 exec ...' to work. It doesn't work with /bin/sh of Solaris5.6. Use an explicit `export ARGV_0' instead. [comparing actual and expected output]: Don't match the entire line, but rather just the `rm: cannot remove `$dir/$f':' part. * tests/rm/dangling-symlink: Use input-tty rather than testing for /dev/stdin. * tests/Makefile.am (EXTRA_DIST): Add input-tty. * tests/input-tty: New file. 2002-07-18 Jim Meyering * src/dircolors.hin: Add the following to the list of colorizable TERM names: dtterm xterm-color Eterm. New archive suffix: .jar New image suffixes: .jpeg .pbm .pgm .tiff .mpeg .xcf .xwd Audio suffixes: .ogg .mp3 From Michael Stone. 2002-07-16 Jim Meyering * src/stat.c (print_it): Use memcpy and a little pointer arithmetic, rather than stpncpy. 2002-07-14 Jim Meyering Under some circumstances, rm would fail due to a lack of permissions, but give a misleading diagnostic like this: rm: cannot chdir from `.' to `foo': Not a directory * src/remove.c (remove_dir): Detect the case in which unlinking a non-directory fails with EPERM, and give an appropriate diagnostic. Reported by Michael Stone. 2002-07-13 Jim Meyering * tests/rm/fail-eperm: New file/test, for the above. * tests/rm/Makefile.am (TESTS): Add fail-eperm. * src/stat.c (print_it): Use xstrdup, not strdup. Use strspn to avoid an explicit loop. Use fputc rather than printf "\n". * src/stat.c: Include quote.h. (print_stat): Use xreadlink, rather than using readlink directly. Use the quote function rather than hard-coded double quotes. Use error, not perror. 2002-07-09 Martin Michlmayr * src/df.c (show_dev): Make the `Use%' column align with its heading, even when -P is used with -h or -H. 2002-07-10 Jim Meyering * man/du.x: Add a description of --exclude=PATTERN. * src/du.c (usage) [--exclude]: Use PATTERN rather than PAT. From Martin Michlmayr. 2002-07-09 Jim Meyering I added stat.x, but didn't update the definition of dist_man_MANS. * man/Makefile.am (dist_man_MANS): Add stat.1. (stat.1): Add dependency. Reported by Michael Stone. Ensure that the above never happens again. * man/Makefile.am (check-x-vs-1): New target. (check-local): Depend on check-x-vs-1. * src/mv.c (euidaccess): Remove declaration. It was unused. From Michael Stone. (yesno): Remove declaration. It too was unused. 2002-07-08 Paul Eggert NEWS, doc/coreutils.texi: New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. Any time style can be preceded by "posix-". The default time style is now posix-long-iso instead of posix-iso. * src/ls.c (enum time_style): Remove posix_iso_time_style. Add long_iso_time_style. (time_style_args, time_style_types, decode_switches): Likewise. (decode_switches): If a time style is prefixed by "posix-", ignore it if in the POSIX locale. Default style is now posix-long-iso. (usage): Explain the above. 2002-07-06 Jim Meyering * tests/Makefile.am (envvar-check): Mark as `.PHONY'. * src/stat.c: Remove everything associated with --secure option. 2002-07-04 Jim Meyering * src/remove.c (prompt): Fix test for write-protectedness to also check errno == EACCES. Otherwise, `rm dangling-symlink' would mistakenly prompt. Reported by Mike Castle. * tests/rm/Makefile.am (TESTS): Add dangling-symlink. * tests/rm/dangling-symlink: New file/test, for the above fix. 2002-07-03 Jim Meyering * src/stat.c (usage): Rename --link/-l to --dereference/-L. Describe --secure. Describe --format. (main): Support -L. Deprecate -l. 2002-07-02 Jim Meyering * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. * src/df.c, src/dircolors.c, src/du.c, src/install.c: Likewise. * src/link.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c: Likewise. * src/mknod.c, src/mv.c, src/rm.c, src/rmdir.c, src/shred.c: Likewise. * src/stat.c, src/sync.c, src/touch.c, src/unlink.c: Likewise. 2002-07-01 Jim Meyering * tests/touch/fail-diag: Handle yet another different diagnostic. Report from Volker Borchert. 2002-06-29 Jim Meyering * src/stat.c (print_statfs): Use `fputc ('*', stdout)' instead of the combination of strcat and printf. (print_statfs) [!FLASK_LINUX]: Print `*' for %S and %C, rather than `S' and `C'. (print_stat) [!FLASK_LINUX]: Likewise. * src/remove.c (AD_mark_current_as_unremovable): Replace dead code with an assertion. 2002-06-26 Paul Eggert * src/ls-test: Use grep, not egrep. 2002-06-25 Jim Meyering * src/remove.c (prompt): Add a comment to help translators work around the problem of making the translations of the adjective `write-protected' and the corresponding run-time-variable noun (e.g., file, directory, symlink, etc.) consistent. From Paul Eggert. 2002-06-24 Jim Meyering * src/stat.c (usage): Add missing open-quote. Reported by Michael Piefel. 2002-06-22 Jim Meyering * Version 4.1.9. * configure.ac: Invoke AC_GNU_SOURCE very early. * tests/rm/rm1: Accommodate the slightly different diagnostic we get on some systems, due to `unlink (dir)' failing with EACCES rather than EPERM. E.g. for ReiserFS on Linux-2.4.18. 2002-06-21 Jim Meyering * Makefile.maint (wget-update): Checkout into config/. Warn when skipping a file. * src/stat.c: Include sys/statvfs.h. [!HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H]: Include sys/param.h and sys/mount.h, to get decl of struct statfs on NetBSD 1.5.2. (NAMEMAX_FORMAT, STRUCT_STATVFS): Define. (HAVE_STRUCT_STATXFS_F_TYPE, SB_F_NAMEMAX): Define. Remove `static' attribute from decl of program_name. (human_fstype): Use f_basetype or f_fstypename if available. (print_human_time): Use nstrftime and an ISO format string, in place of strftime with `%c'. The latter is too locale-dependent. (print_statfs): Deal with lots of portability issues: some fields are available only with statfs, others only with statvfs, and some are available in both, but with different types. (do_statfs) [DEFAULT_FORMAT_TERSE]: Factor out. [DEFAULT_FORMAT_VERBOSE]: Likewise. * src/copy.c: Change all `preserving ...' diagnostics to `failed to preserve ...' to make the failure clearer. * src/cp.c: Likewise. 2002-04-03 Alfred M. Szmidt * src/copy.c Include hurd.h. (copy_internal): Preserve the stat.st_author field. 2002-06-21 Jim Meyering * src/ls.c (LOGIN_NAME_MAX): Define if not already defined. (ID_LENGTH_MAX): Define. (ST_DM_MODE): New macro. Code moved from... (print_long_format): ...here. (print_long_format): Itemize and comment the individual parts of init_bigbuf. Use the above *_MAX macros. 2002-06-20 Jim Meyering * src/system.h: Change `defined(X)' syntax to `defined X' in cpp directives. 2002-06-17 Jim Meyering * tests/setgid-check: Interpret a permissions string of drwxr-xr-x (DOS/Windows) as meaning the cwd is not setgid. Reported by Rich Dawe. 2002-05-19 Paul Eggert Add support for new ls option --author, for GNU/Hurd. Derived from a suggestion by Alfred M. Szmidt. * doc/coreutils.texi (ls invocation), NEWS: Document this. * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. * src/ls.c (st_author) [! HAVE_STRUCT_STAT_ST_AUTHOR]: New macro. (print_author): New var. (AUTHOR_OPTION): New enum val. (long_options, decode_switches, print_long_format, usage): Support --author. (format_user): New function. (print_long_format): Use it. Make print buffer a bit bigger. 2002-06-15 Jim Meyering * tests/sample-test (trap): Make sure the temporary hierarchy is writable before removing it. * tests/mv/perm-1: New file, to demonstrate fix of 2002-06-12. * tests/mv/Makefile.am (TESTS): Add perm-1. * src/system.h: For GNU libc 2.2 and newer, ensure that has been included before this file. 2002-06-13 Richard Dawe Accommodate DOS file name limitations. * tests/cp/same-file: Change temp. file name: s/\.err/_err/, for DOS. * tests/mv/force: Similar. * tests/mv/into-self: Similar. * tests/touch/no-rights: Similar. * tests/mv/mv-special-1: Remove leading `.' from temp. names. 2002-06-15 Jim Meyering * src/sys2.h (S_ISNAM): Add to list of S_IS* macros. Rearrange #if directives for each S_IS macro. From diffutils-2.8.2. 2002-06-12 Jim Meyering * src/mv.c (do_move): Give one diagnostic, not two, when unable to unlink a destination file. This bug was introduced in fileutils-3.16l. 2002-06-07 Jim Meyering * tests/mv/part-fail: Also accept the permission-denied diagnostic issued by some losing systems. Reported by Volker Borchert. * src/remove.c (remove_entry): Use DT_IS_DIR only if HAVE_STRUCT_DIRENT_D_TYPE is defined. 2002-06-02 Jim Meyering `rm' no longer uses explicit recursion, and as such is now able to remove hierarchies of effectively unlimited depth. Prior to this change, on typical systems, rm would fail (segfault) to remove hierarchies of depth greater than about 25,000. * src/remove.c: Merge in all changes from no-recursion branch. See below for details. * src/remove.h: Likewise. * src/mv.c (do_move): Adapt to new calling sequence for rm. * src/rm.c (main): Likewise. 2002-06-02 Jim Meyering * tests/rm/r-2: Adjust, now that we no longer report `removing all entries of directory ...'. * tests/rm/r-1: Likewise. * src/remove.c (enum Ternary): Define type. (prompt): Add a parameter. Adjust callers. (remove_entry): Attempt rmdir here, only if a directory is `known' to be empty. Significant rework. (remove_dir): Propagate failure `up' also when rmdir fails. 2002-06-01 Jim Meyering * tests/rm/Makefile.am (TESTS): Add rm5. * tests/rm/rm5: New test. 2002-05-30 Jim Meyering In interactive mode, prompt only once about an empty directory. * src/remove.c (enum Prompt_action): Define. (prompt): Two new parameters. Adjust all callers. Performance. * src/remove.c (remove_entry) [!ROOT_CAN_UNLINK_DIRS]: Don't call rmdir here. 2002-05-29 Jim Meyering * src/remove.c (AD_pop_and_chdir): Don't use errno (it's not valid) in diagnostic for changed dev/ino. (remove_entry): Tweak diagnostic. 2002-05-27 Jim Meyering * src/remove.c (ROOT_CAN_UNLINK_DIRS): Define. (AD_pop_and_chdir): Propagate status as we traverse back `up' the tree. (DO_UNLINK, DO_RMDIR): Define. (remove_entry) [ROOT_CAN_UNLINK_DIRS]: Add code so this works also on systems where root can use `unlink' to remove directories. 2002-05-24 Jim Meyering * tests/mv/mv-special-1: Adapt for changed format of --verbose output. 2002-05-22 Jim Meyering * src/remove.c: Include file-type.h. Include file type in prompt when asking whether to remove file. Based on a patch from Paul Eggert. * src/remove.c (prompt): Add comment. * src/remove.c (remove_dir): Fix another (known) leak. * tests/rm/rm3: Don't depend on order of traversal of dir entries. It is nondeterministic on some types of filesystems. * src/remove.c (hash_freer): New function. (AD_mark_helper): Use it. (AD_mark_as_unremovable): xstrdup the filename argument. (remove_dir): Free directory name. * src/remove.c (remove_entry): Fail also when trying to remove a directory without the --recursive option. Change a diagnostic, s/unlink/remove/, now that it can apply also to a directory. * src/remove.c (is_empty_dir): New function. (prompt): New function, factored out of... (remove_entry): ...here. Call it. (remove_dir): Call prompt before rmdir. * src/remove.c (remove_entry): Add support for prompting (e.g., -i). * src/remove.h (UPDATE_STATUS): New macro. Include save-cwd.h. (struct File_spec): Remove declaration. Update prototypes. * src/remove.c [AD_ent] (status): New member. This lets us propagate the status from a subdirectory to its parent via AD_pop_and_chdir. (AD_push_initial): Set it. (AD_push): Likewise. (remove_cwd_entries): Change return type to enum RM_status, and adjust all callers. (rm): Use UPDATE_STATUS rather than open-coding it. * src/remove.c (remove_entry): New function, factored out of... (remove_cwd_entries): ...here, and... (rm_1): ...here. * src/remove.c (remove_cwd_entries): Add support for --verbose. (remove_dir): Likewise. (rm_1): Likewise. 2002-05-18 Jim Meyering * tests/rm/rm3: New file. * tests/rm/rm4: New file. * tests/rm/Makefile.am (TESTS): Add rm3 and rm4. 2002-05-17 Jim Meyering * tests/rm/rm1: New file. * tests/rm/rm2: New file. * tests/rm/unread2: New file. * tests/rm/Makefile.am (TESTS): Add rm1, rm2, and unread2. * src/remove.h (enum RM_status) [RM_NONEMPTY_DIR]: New member. 2002-05-13 Jim Meyering * src/remove.c (rm): Free cwd_state, if necessary. 2002-05-01 Jim Meyering * src/remove.c (rm_1): Remove now useless (always true) user_specified_name parameter. Adjust sole caller. * src/remove.c (rm): New function. This interface allows one to remove multiple arguments at a time. This is important in that it allows us to hide the remove_init/remove_fini functions and the cwd_state parameter. (rm_1): Renamed from rm. (remove_init, remove_fini): Remove functions. Each body is now part of `rm'. * src/remove.h (rm): Update prototype. 2002-06-01 Jim Meyering * src/ls.c: Remove use of D_TYPE_IN_DIRENT, now that that symbol has been renamed. 2002-05-30 Jim Meyering * src/copy.c (copy_reg): Use a temporary to avoid a warning from gcc -W about comparison between signed and unsigned. (copy_internal): Likewise, but use a cast. 2002-05-22 Jim Meyering * src/sys2.h (S_ISREG, S_ISDIR): Define if not already defined. (S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Likewise. * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): Remove definitions. * src/sys2.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): Define here instead. 2002-04-27 Jim Meyering * src/remove.c (cycle_check): New function containing code factored out of remove_dir. The sole difference is that upon detecting a cycle, rm now dies unconditionally. Before, in interactive mode, it would ask the user whether to continue. (remove_dir): Call cycle_check. 2002-04-25 Jim Meyering Avoid new warnings from gcc. * src/dd.c: Declare input_file and output_file to be `const'. (skip): Declare `file' parameter to be `const', too. Remove hash table, active_dir_map, used to detect directory cycles. Instead, detect them lazily with just O(1) memory. Suggestion from Andi Kleen. * src/remove.c (is_power_of_two): New function. (print_nth_dir, make_active_dir_ent): Remove functions. (hash_active_dir_ent, hash_compare_active_dir_ents): Likewise. (remove_dir): Check for cycles here, ... (rm): ... and don't check for cycles here. * src/remove.c (rm): Call fspec_get_full_mode here, rather than fspec_get_filetype_mode. We want to get the dev/ino earlier, and at the same time as when we get the file type, to avoid the risk that an attacker would change e.g. a directory to a symlink before we record its dev/ino. * configure.ac (AC_CONFIG_FILES): Remove intl/Makefile. (AM_GNU_GETTEXT): Add external arg. * intl/: Remove directory. * Makefile.am (SUBDIRS): Remove intl. (DISTCLEANFILES): Remove definition. * src/sys2.h: Remove ENABLE_NLS-related code. (_, N_) Remove definitions. Include "gettext.h" instead. * src/Makefile.am (INCLUDES): Remove -I../intl. 2002-04-22 Jim Meyering * src/remove.c (rm): Call exit with EXIT_FAILURE, not `1'. 2002-04-19 Jim Meyering * tests/cp/*: Clean up. * tests/sample-test: Use a temporary directory named `basename $0`.tmp/$$. Create with mkdir -p. * tests/cp/backup-1: Use better trap, etc. * tests/mkdir/p-2: Use better trap. * tests/mkdir/p-1: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/rm/deep-1: Set $tmp the new way. * tests/rm/ir-1: Use `rm', not $RM. Use better trap. * tests/rm/i-1: Likewise. * tests/rm/f-1: Likewise. * tests/sample-test: Use automatically-derived name for temporary directory. This is more 8.3-friendly. Based on a suggestion from Richard Dawe. * tests/sample-test: New file. * tests/Makefile.am (EXTRA_DIST): Add sample-test. 2002-04-17 Jim Meyering * src/touch.c (touch): Don't report errors for nonexistent files when --no-create is in effect. Based on a patch from TAKAI Kousuke. * tests/touch/no-create-missing: New file/test for above. * tests/touch/Makefile.am (TESTS): Add no-create-missing. 2002-04-16 Jim Meyering * src/stat.c: Add copyright comment. (human_fstype): Rename from print_human_fstype, and rework accordingly. (print_statfs): Use human_fstype to honor format width on %T. 2002-04-15 Jim Meyering Handle "lld" vs "ld" printf formats the same way Bash does. * src/stat.c: Include inttypes.h. (PRIdMAX, PRIuMAX): Define, if not already defined. (print_statfs): Use those macros, not the literal strings. (print_stat): Likewise. Suggestion from Paul Eggert. * src/stat.c (print_human_fstype): Add missing `break;' for `case S_MAGIC_MINIX:'. 2002-04-14 Jim Meyering * src/stat.c (statfs_secure): Define. (print_stat): Remove another #ifdef. (do_statfs): Likewise. (print_statfs): Prefer/use fputs over printf. (print_stat): Likewise. * src/Makefile.am (bin_PROGRAMS): Add stat. (noinst_HEADERS): Add fs.h. * src/stat.c [HAVE_SYS_VFS_H]: Guard incluion of sys/vfs.h. Constify many parameters. (print_statfs): Fix typo: Use %u (to match %lu) for namelen, not %d. (verbose_usage): Remove function. Move contents into usage. Remove lots of #if directives involving FLASK_LINUX [!FLASK_LINUX] (is_flask_enabled): Define. (stat_secure, lstat_secure): Define. (print_statfs): Remove lots of nested #if directives. Instead, rely on support fo %llu and %lld printf formats -- but that is only temporary, since it's not porable enough. (main): Hoist is_flask_enabled test to be done here, rather than in each of do_stat and do_statfs for every argument. 2002-04-13 Jim Meyering * src/stat.c: Include system.h, error.h, and many other headers. [HAVE_SYS_SYSMACROS_H]: Guard inclusion of sys/sysmacros.h. (PROGRAM_NAME, AUTHORS): Define. (long_options): Declare/define. (print_human_access): Rewrite to use mode_string. (usage): Rewrite. (main): Use getopt_long. (print_human_type): Call fputs once rather than calling printf many times. (print_human_fstype): Revamp in a similar fashion. Don't use strdup. Declare most functions to be `static'. 2002-04-12 Jim Meyering * src/Makefile.am (LDADD): List ../lib/libfetish.a both before and after @LIBINTL@. Thanks to Paul Eggert for the fix and to Bruno Haible for diagnosing the problem. * src/link.c: Include long-options.h. [long_opts]: Remove. (usage): Tweak --help output; use *_OPTION_DESCRIPTION macros. (main): Don't use getopt directly. Use parse_long_options instead. Tweak a diagnostic. Use EXIT_FAILURE rather than a literal `1'. * src/unlink.c: Likewise. (main): If POSIXLY_CORRECT is set, don't recognize --help or --version, so the program can operate on a file with one of those names. 2002-04-11 Jim Meyering New programs link and unlink. * src/Makefile.am (bin_PROGRAMS): Add link and unlink. * src/link.c, src/unlink.c: New files, from Debian's fileutils_4.1-10. Written by Michael Stone. * man/link.x: New file. * man/unlink.x: New file. * man/Makefile.am: Add link and unlink. 2002-04-07 Jim Meyering * tests/install/basic-1: Tweak comments to reflect reality. * tests/cp/fail-perm: Add VERBOSE=yes support. * tests/mv/mv-special-1: Fix typo in VERBOSE=yes handling. Reported by Richard Dawe. 2002-03-30 Jim Meyering * Version 4.1.8. * tests/mv/i-link-no: Use --reply=no rather than -i. The latter depends on whether stdin is a tty and hence would fail in some situations where --reply=no doesn't. * src/mv.c (do_move): Correct a comment. * src/copy.c (copy_internal): Move the block that sets `earlier_file' down to just before the first use of that variable. Otherwise, it was possible to make mv (and probably cp, too) malfunction when copying hard-linked files into a directory containing at least one of the source file names. Call forget_created everywhere thereafter where this function returns without creating a destination file that might subsequently be linked. Reported by Iida Yosiaki. * src/cp-hash.c (forget_created): New function. * src/cp-hash.h (forget_created): Prototype. * tests/mv/i-link-no: New test for the above. Based on an example from Iida Yosiaki. * tests/mv/Makefile.am (TESTS): Add i-link-no. 2002-03-17 Jim Meyering * src/copy.c (copy_internal) [move_mode]: Give a better diagnostic, by using errno from the failed unlink, when a cross-device `mv' fails, e.g., because the destination cannot be unlinked. Prompted by a report from Karl Berry. * tests/mv/part-fail: New test for the above. * tests/mv/Makefile.am (TESTS): Add part-fail. 2002-03-16 Jim Meyering * src/Makefile.am (datadir): Don't override $(datadir) which might be set by --datadir and different from $(prefix)/share. Patch from Albert Chin-A-Young. 2002-03-10 Jim Meyering * Version 4.1.7. * src/ln.c (main): Change wording in diagnostic. * src/cp.c (do_copy): Likewise. * src/install.c (strip): Likewise. Suggestions from Santiago Vila. * Use autoconf-2.53. Regenerate dependent files. * Makefile.maint (GZIP, BZIP2): Remove definitions. ($(my_distdir).tar.bz2): Remove rule. Now, it's built by `make dist'. * configure.ac (AM_INIT_AUTOMAKE): Specify the required version of automake (1.6), and options (gnits dist-bzip2), rather than... * Makefile.am (AUTOMAKE_OPTIONS): ...here. Remove definition. * src/copy.c (copy_reg): Don't exit upon finding a replaced file. Instead, just skip it like the diagnostic says. Reported by Paul Eggert. 2002-03-09 Paul Eggert * src/copy.c (copy_reg): Use a more concise diagnostic for reporting replaced files. This avoids a bug in the code, which mishandled ino_t wider than long. * src/remove.c (remove_dir): Likewise, twice. 2002-03-09 Jim Meyering * Makefile.am (EXTRA_DIST): Remove config/config.rpath, now that automake knows about it. 2002-03-08 Jim Meyering Don't allow a malicious user to trick another user's rm process into removing unintended files. In one scenario, if root is removing a hierarchy that is writable by the malicious user, that user may trick root into removing all of `/'. Reported by Wojciech Purczynski. * src/remove.c (remove_dir): After chdir `..', call lstat to get the dev/inode of "." and fail if they aren't the same as the old numbers. (remove_cwd_entries): New parameter, `cwd_dev_ino'. (remove_dir): Likewise. (rm): Likewise. Adjust all callers. * src/mv.c (do_move): The first time we resort to copy/remove, call lstat `.' to get the device/inode numbers now required for rm. * src/rm.c (main): Call lstat `.' to get the device/inode numbers now required for rm. * src/remove.h (struct dev_ino): Declare new type. (rm): Add a parameter to the prototype. 2002-03-06 Jim Meyering * Use automake-1.6. Regenerate dependent files. 2002-03-05 Jim Meyering * Makefile.am (EXTRA_DIST): Add config/config.rpath. 2002-03-04 Jim Meyering * Makefile.maint (tgz-size): Also handle a suffix of `K', since the sizes in the output of `du -h' now look like `29K' 2002-03-03 Jim Meyering * Version 4.1.6. 2002-03-03 Paul Eggert Make cp -r equivalent to cp -R. Add a new cp option --copy-contents for people who want to emulate the traditional (and rarely desirable) cp -r behavior. * src/cp.c (COPY_CONTENTS_OPTION): New enum value. (long_opts): Add --copy-contents. (usage): Describe new behavior. Sort options. (main): Implement new behavior. Remove diagnostics for -a and -r; no longer needed. * src/copy.c (copy_internal): Remove -r warning; no longer needed. * NEWS: Document this. 2002-03-02 Jim Meyering * src/copy.c (copy_internal): For each symlink copied by cp -r, issue a warning that `cp -r' is not portable. * src/cp.c (main): Revert change of 2001-12-29. With this change, cp -r once again preserves symlinks. (usage): Document the original (now-restored) behavior. * tests/cp/r-vs-symlink: Reflect changed semantics of cp's -r option. * src/cp.c (main): Warn when -r is specified before --archive (-a). * src/cp.c (main): Fail when -r is specified after --archive (-a) on the command line. * src/copy.c (copy_reg): Detect abuse of a race condition whereby an unprivileged user could gain read access to otherwise- inaccessible files when root uses cp or mv to copy a hierarchy belonging to that user. 2002-02-27 Paul Eggert * src/ls.c (decode_switches, usage): Add --time-style=+FORMAT. * doc/coreutils.texi (Formatting file timestamps): Document it. 2002-02-25 Paul Eggert Add ACL support to 'ls' for HP-UX and Unixware, and try to establish a framework for adding it for other hosts. This builds on a suggestion of Andreas Gruenbacher. * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. * lib/acl.h, lib/acl.c, m4/acl.m4: New files. * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. * src/ls.c: Include "acl.h" rather than . (USE_ACL): Remove; replaced by HAVE_ACL everywhere. (gobble_file): Use file_has_acl rather than doing it ourselves. 2002-02-20 Jim Meyering * src/touch.c: Include posixver.h. (usage): Document only the intersection of the old and new behaviors, to encourage portability. (main): Use `posix2_version ()' in place of POSIX2_VERSION. 2002-02-17 Jim Meyering * ABOUT-NLS, intl/*: Update to Gettext 0.11. * INSTALL: Update to Autoconf 2.52h. * src/Makefile.am (datadir): Use `share' in place of @DATADIRNAME@, per Gettext-0.11. (LDADD): Use @LIBINTL@ instead of @INTLLIBS@, per Gettext-0.11. * configure.ac (AC_CONFIG_AUX_DIR): New macro invocation. (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11. * config: New subdirectory, containing the following files from .: config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs. Move the following files here from doc: texinfo.tex, mdate-sh. 2002-02-16 Jim Meyering * tests/ls/infloop: Use `head -n 7', not `head -7'. * tests/rm/hash: Likewise. 2002-02-10 Jim Meyering * configure.in (ALL_LINGUAS): Add Hungarian (hu). 2002-02-02 Jim Meyering * src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10. (wipename): Quote file names only when necessary. (main): Copy quoted string into malloc'd storage so it doesn't get clobbered when using -u and --verbose. Minor clean-up. * src/shred.c: Use `NULL' rather than `(time_t *) 0'. (dopass): Use STREQ in place of strcmp. Add parentheses around use of nested ternary operator. 2002-01-15 Paul Eggert * src/shred.c (VERBOSE_UPDATE): Now counts seconds, not bytes. (dopass): If verbose, output a line every VERBOSE_UPDATE seconds, and suppress duplicate output lines. Output a percentage as well as a count of bytes. Also, fix comment/code typo regarding how many bytes have been written; this typo was harmless before, but is no longer harmless with the above change in effect. 2002-02-02 Jim Meyering * src/remove.c (rm): Add a comment. 2002-01-28 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5d. * configure.ac (AM_INIT_AUTOMAKE): Use zero-arg form of this macro. 2002-01-21 Jim Meyering * po/POTFILES.in: Add lib/xmemcoll.c * src/chown-core.c: Don't include "xalloc.h", as system.h already does that via sys2.h. * src/ls.c: Likewise. * src/shred.c: Likewise. 2002-01-20 Paul Eggert * src/ls.c: Avoid undefined behavior when strcoll fails, by resorting the directory with strcmp instead. Include . Include "quote.h". (compare_atime, rev_cmp_atime, compare_ctime, rev_cmp_ctime, compare_mtime, rev_cmp_mtime, compare_size, rev_comp_size, compare_name, rev_cmp_name, compare_extension, rev_cmp_extension, compare_version, rev_compare_version): Move before use, so that we can remove the forward declaration. Reimplement in terms of the new functions described below, using xstrcoll instead of strcoll. (failed_strcoll): New var. (xstrcoll): New function. (V): New type. (cmp_ctime, compstr_ctime, rev_str_ctime): New functions. (cmp_mtime, compstr_mtime, rev_str_mtime): Likewise. (cmp_atime, compstr_atime, rev_str_atime): Likewise. (cmp_size, compstr_size, rev_str_size): Likewise. (cmp_version): Likewise. (cmp_name, compstr_name, rev_str_name): Likewise. (cmp_extension, compstr_extension, rev_str_extension): Likewise. (sort_files): Use prototype for internal function var. If the strcoll-based comparison fails, fall back on a strcmp-based one. 2002-01-19 Jim Meyering Ensure that the two version numbers in configure.ac remain in sync. * Makefile.maint (local-check): Depend on ac-check. (ac_p_pkg, AC_INIT_PKG): Define. (ac_p_ver, AC_INIT_VER): Define. (ac-check): New rule. 2002-01-19 Jim Meyering * configure.ac: Remove code that set LIBOBJS in support of ansi2knr. The latest version of autoconf objected to it, and besides, I don't care too much about K&R support these days. 2002-01-14 Paul Eggert * src/touch.c (main): Issue a warning for obsolete usage, unless POSIXLY_CORRECT. 2002-01-14 Paul Eggert Add support for POSIX 1003.1-2001, which requires removal for support of the obsolete `touch [-acm] MMDDhhmm[YY] FILE...' syntax. * NEWS: Document this. * src/touch.c (usage, main): Implement this. 2002-01-12 Jim Meyering Avoid giving a misleading diagnostic in some unusual cases. Instead, give one that makes sense. * src/copy.c (copy_reg): Don't treat errno==ENOENT as a special case. (same_file_ok): Detect a case that would have lead to the errno==ENOENT condition above (and a misleading diagnostic), and return 0 so we give a diagnostic about the source and destination being the same file. (copy_internal): Use an explicit test for errno==EXDEV to detect that rename has failed because source and destination are on different devices. This reverts part of a change from 1997-12-13, and is to avoid letting a race condition evoke a bogus diagnostic. Note that while POSIX has encouraged the errno==EXDEV test for years, it was inadequate back in 1997. I'm hoping that many more systems have conforming support these days. Reported by Michael Gaughen * src/shred.c (usage): Also mention Ext3. Suggestion from Göran Uddeborg. 2002-01-06 Bruno Haible * src/ls.c (long_time_format): Extend translator comments. 2002-01-05 Jim Meyering * Version 4.1.5. 2001-12-29 Jim Meyering * src/cp.c (main): With -r, always dereference symlinks. Reported by Christian Harkort. Patch by Chris J. Bednar. * tests/cp/r-vs-symlink: New file to test for the above fix. * tests/cp/Makefile.am (TESTS): Add r-vs-symlink. 2001-12-21 Jim Meyering * src/shred.c [!HAVE_CONFIG_H]: Remove cpp block that duplicated code in lib/ in order to facilitate compiling this program without config.h. 2001-12-19 Paul Eggert * src/shred.c: Add FSF copyright notice. 2001-12-18 Paul Eggert Use notation compatible with SI and with IEC 60027-2. For example, --block-size=1MB now means --block-size=1000000, whereas --block-size=1MiB now means --block-size=1048576. A trailing `B' now means decimal, not binary; this is a silent change. -H or --si now outputs the trailing 'B', for consistency with this. Programs now output trailing 'K' (not 'k') to mean 1024. New df, du short option -B is short for --block-size. You can omit an integer `1' before a block size suffix, e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'. * NEWS, doc/coreutils.texi: Document this. Remove documentation for obsolescent constructs MD, --kilobytes, -m or --megabytes. * src/dd.c (usage, parse_integer): Prefer K to k for 1024. * src/shred.c (usage, main): Likewise. * src/shred.c (xstrtoumax): If there is no number but there is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. Accept 'K' as well as 'k'. * src/dd.c (usage): MD -> MB for decimal. * src/df.c (BLOCK_SIZE_OPTION): Remove; no longer needed now that we have 'B'. (long_options, usage, main): Add -B. (usage): Deprecate --kilobytes, -m, --megabytes. Document size suffixes. * src/du.c: Likewise. * src/ls.c (usage): Deprecate --kilobytes. Document size suffixes. * src/df.c (print_header, show_dev): Enlarge column widths for trailing "B". 2001-12-17 Jim Meyering * Makefile.maint (real_dir): Remove unused variable. (url_dir_list): Don't set define it here, but... * Makefile.cfg (url_dir_list): ...define it here instead. (hosts, a_host, b_host): Remove now-unused variables. (alpha_subdir, a_url_dir, b_url_dir): Remove now-unused variables. 2001-12-15 Jim Meyering * Version 4.1.4. * tests/touch/fail-diag: Also accept SunOS4's `Not owner' diagnostic. Reported by Volker Borchert. * tests/help-version: Fail also if ./$i --version fails. Run each --help and --version test with a few different settings of LC_MESSAGES. Prompted by a report from Nelson Beebe. 2001-12-11 Jim Meyering Include the word `fail' in some diagnostics to make it clearer that they indicate a failure. * src/chgrp.c (main): s/getting attributes/failed to get attributes/. * src/chmod.c (change_file_mode, main): Likewise. * src/chown-core.c (change_file_owner): Likewise. * src/chown.c (main): Likewise. * src/cp.c (re_protect): Likewise. * src/touch.c (touch, main):Likewise. Suggestion from Karl Berry. 2001-12-10 Jim Meyering * src/dd.c (buggy_lseek_support): Remove function. (skip_via_lseek) [__linux__]: New function. (skip): Use skip_via_lseek, not buggy_lseek_support. Based on an outline from Paul Eggert. 2001-12-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Estonian (et). 2001-12-08 Jim Meyering * Makefile.cfg (wget_files): Remove ansi2knr.c, since it's no longer available at that location. 2001-12-04 Jim Meyering * tests/chgrp/basic: Don't use diff's -u option. It's not portable. Besides, with GNU diff one can use the DIFF_OPTIONS envvar. * tests/ls/no-arg: Likewise. * tests/ls/recursive: Likewise. * tests/ls/rt-1: Likewise. 2001-12-02 Jim Meyering * Version 4.1.3. * src/sys2.h (HELP_OPTION_DESCRIPTION): New macro. (VERSION_OPTION_DESCRIPTION): New macro. * src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c, * src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c, * src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/rm.c, * src/rmdir.c, src/shred.c, src/stat.c, src/sync.c, src/touch.c (usage): Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION instead of hard-coding --help and --version descriptions. * POTFILES.in: Add src/sys2.h. * src/touch.c (touch): Extend the change of 2001-09-15 to work on systems for which errno is set to EPERM in that case. Thus, e.g., `touch /' by non-root gives a better diagnostic on systems like SunOS4. Reported by Volker Borchert. Don't emulate dd's skip=N for *all* character devices; lseek works just fine on non-tape character devices like /dev/mem and /dev/kmem. * src/dd.c (buggy_lseek_support) [__linux__]: Emulate `skip=N' behavior using reads, not lseek for Linux tape devices (major == 9). Kernel lseek support for tapes is broken, up to and including linux-2.4.16. Reported by Herbert Xu. 2001-11-27 Jim Meyering * tests/ls/rt-1: Compare all lines of output. Update code to use `trap' and more up to date infrastructure. The change of 2001-11-01 introduced a bug whereby some recursive listings didn't have a blank line between per-directory groups of files. * src/ls.c (print_dir): Print a newline before each directory name except the first one, rather than after each except the last, since now (after the changes of 2001-11-01) detecting whether a `pending*' is the last would involve more work. Reported by Andreas Schwab. * tests/ls/recursive: New file. Test for the above. * tests/ls/Makefile.am (TESTS): Add recursive. This change has no net effect. * src/ls.c (main): Remove always-true conjunct and add a comment. 2001-11-26 Jim Meyering * src/shred.c: Don't include "gtod.h" (main): Don't `call' GETTIMEOFDAY_INIT. * src/ls.c: Likewise. 2001-11-24 Jim Meyering * Makefile.maint: Include signatures for the xdelta file, too. * Makefile.maint (emit-upload-commands): Rename from emit-rsync-commands. Output only the package name and the prev and current version numbers. * Version 4.1.2. * src/sync.c (usage): Make --help and --version strings start in column 7. * Makefile.cfg (move_if_change): Remove definition. ($(srcdir)/m4/jm-glibc-io.m4): Use mv, not move-if-change. 2001-11-23 Jim Meyering * cp.c, df.c, du.c, install.c, ln.c, ls.c, mkdir.c (usage): * mkfifo.c, mknod.c, mv.c, shred.c, touch.c (usage): Note that ``Mandatory arguments to long options are mandatory for short options too.'' * src/shred.c (usage): Use `output', not `print' in description of the --version option, so this message is consistent with all the rest. * chgrp.c, chmod.c, chown.c, cp.c, dd.c, df.c, dircolors.c (usage): * du.c, install.c, ln.c, ls.c, rm.c, rmdir.c, shred.c, touch.c (usage): Split --help output into smaller pieces. Use fputs, not printf. * src/cp-hash.c: Use opaque type, Hash_table, not `struct hash_table'. * src/du.c: Likewise. * src/remove.c: Likewise. 2001-11-22 Jim Meyering Don't fail for commands like this: cp a a d/ This change in behavior was introduced in 4.1.1, as part of the 2001-09-28 change. cp and mv still fail for commands like this: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c * src/copy.c (triple_hash_no_name): New function. (src_info_init): New function. (copy_internal): Warn and return early for the second and subsequent occurrences of the same source file named on the command line. * src/copy.h (struct cp_options) [src_info]: New member. * src/install.c (cp_option_init): Initialize new member. * src/mv.c (cp_option_init): Likewise. * src/cp.c (cp_option_init): Likewise. (do_copy): Call src_info_init. * tests/mv/dup-source: New test for the above. * tests/mv/Makefile.am (TESTS): Add dup-source. * src/copy.c (seen_file): Change type of `stats' parameter to pointer. (copy_internal): Update caller. * src/copy.c (struct F_triple): Rename from dest_info. (seen_file): Rename from seen_dest. Rename parameters accordingly. (record_file): Rename from record_dest. Rename parameters accordingly. (triple_hash): Rename from dest_info_hash. (triple_compare): Rename from dest_info_compare. (triple_free): Rename from dest_info_free. * src/mknod.c (main): Add a literal format string to suppress a warning from gcc's -Wformat-security. copy.c shouldn't maintain static state. * src/copy.c (dest_info): Remove declaration of file-scoped global. (dest_info_init): Require a parameter. Update all callers. (seen_dest): Require a hash table parameter. Update callers. (record_dest): Likewise. * src/copy.h: Include hash.h. (struct cp_options) [dest_info]: New member. * src/install.c (cp_option_init): Initialize new member. * src/mv.c (cp_option_init): Likewise. * src/cp.c (cp_option_init): Likewise. (do_copy): Remove const attribute from declaration of parameter, x. 2001-11-17 Jim Meyering * tests/chmod/equals: New test for the just-fixed bug in lib/modechange.c. * tests/chmod/Makefile.am (TESTS): Add equals. * configure.ac: Replace use of the one-arg form of AC_INIT with a use of the 3-arg form and a use of AC_CONFIG_SRCDIR. 2001-11-12 Jim Meyering * tests/rm/r-3: Clean up. 2001-11-09 Jim Meyering * configure.ac: Use AC_CONFIG_FILES(...) and call AC_OUTPUT with no arguments. 2001-11-06 Jim Meyering * src/dircolors.hin: Remove duplicate entry for .png. Reported by Frédéric L. W. Meunier. 2001-11-03 Jim Meyering * Version 4.1.1. * src/ls.c (DEV_INO_PUSH): Avoid unnecessary copies. (dev_ino_pop): Likewise. 2001-11-02 Jim Meyering * src/ls.c: Rename global: s/trace_dirs/recursive/. (extract_dirs_from_files): Rename parameter: s/recursive/ignore_dot_and_dot_dot/. * src/ls.c: (dev_ino_pop): Cast 2nd arg of obstack_blank to `int' before negating to avoid warning from gcc on systems with 64-bit size_t. * src/ls.c: Use XMALLOC and XREALLOC in a several places. It's cleaner. 2001-11-01 Jim Meyering * src/ls.c: Include dirfd.h. (print_dir): If dirfd fails, resort to using stat. * tests/ls/infloop: Redirect cmp's stderr to /dev/null. * src/ls.c (struct pending) [st_ino, st_dev]: Remove members. (queue_directory): Remove just-added 3rd parameter and associated code, and update callers. (print_dir): Get dev/inode pair via `fstat (dirfd (reading), ...', and call visit_dir to detect cycles here. Push the dev/inode pair onto the new stack. (dev_ino_obstack): New global. (DEV_INO_PUSH): New macro. (dev_ino_pop): New function. (ASSERT_MATCHING_DEV_INO): New macro. (visit_dir): Take two parameters (dev,ino), not one `pending'. (main): Initialized the dev_ino_obstack. Don't call visit_dir here. Get the dev/ino pair from the new stack, not from the pending entry. Make ls -R detect directory cycles. Add loop detection without incurring an additional stat call per directory processed. To detect loops efficiently (i.e., time: +O(1) per directory processed by ls -R, total additional space: O(max-tree-depth)), record the dev/ino of each `active' directory in a hash table. To know when a directory is no longer active, insert a marker (name == NULL) entry for it in the pending queue. When a marker comes to the front of the queue, that directory is no longer active, and must be removed from the hash table. To remove it, we need to know its dev/ino again. Since by the time a directory has become inactive its files[] info is long gone and it's DIR* is closed, I must either save the dev/ino someplace (pending seemed logical) or recompute them via stat. The following change will convert to using a stack of dev/ino pairs instead, pushing an entry when doing the opendir (use fstat on dirfd (reading)), and popping (when encountering a marker) to get the dev/ino pair to be removed from the hash table. * src/ls.c: Include hash.h, same.h, and xalloc.h. (INITIAL_TABLE_SIZE, LOOP_DETECT): Define. (active_dir_set): New global. (struct dev_ino): Declare. (dev_ino_hash, dev_ino_compare, dev_ino_free): New functions. (visit_dir, free_pending_ent): New functions. (main): Initialize the active_dir_set hash table, if necessary. Don't confuse a marker entry with a real one. Detect loops. Manage the set of active directories. Free the hash table. (queue_directory): Add a new parameter. Ensure that we set the new dev/ino members for each enqueued directory. Update all callers. (print_dir): Don't confuse a marker entry with a real one. (extract_dirs_from_files): Insert a marker entry before inserting the entries for subdirectories. Don't try to print a NULL pointer. * src/ls.c (main): Don't use ARGMATCH_TO_ARGUMENT. This reverts part of the 1998-12-31 change. * tests/ls/dired: New test, for the above. * tests/ls/Makefile.am (TESTS): Add dired. 2001-10-24 Jim Meyering * src/cp.c (main): Free hash table storage. * src/cp-hash.c (forget_all): Use hash_free, not hash_clear. 2001-10-22 Paul Eggert * src/sys2.h (alloca): Define to __builtin_alloca if __GNUC__, to avoid a warning if -Wall. 2001-10-21 Paul Eggert * src/dd.c: Remove as many instances of 'unsigned' as possible, as some of them were not conforming to ANSI C, and they made the code hard to read. Avoiding 'unsigned' cuts down on the number of casts. (newline_character, space_character, save_char): Now char, not unsigned char. (obuf): Now char *, not unsigned char *. (ascii_to_ebcdic, ascii_to_ibm, ebcdic_to_ascii): Now char[], not unsigned char[]. (translate_charset, translate_buffer, swab_buffer, skip, copy_simple, copy_with_block, copy_with_unblock): Arg now points to char, not unsigned char. All callers changed. (translate_charset, parse_conversion, apply_translations): Use int index, not unsigned int. (bit_count): Arg is now int, not unsigned int. Callers not changed, as they already assumed this. (translate_buffer): Cast char to unsigned char before using it as a subscript. (swab_buffer): Returns char *, not unsigned char *. (dd_copy): Use char, not unsigned char, for buffers. Use size_t for possibly-large index, not unsigned int. 2001-10-21 Jim Meyering * src/shred.c (isaac_seed_machdep): Handle SIGSEGV, too. Ick. * tests/mv/Makefile.am (TESTS): Remove i-3. It's not portable. * src/copy.c: Include xreadlink.h. (copy_internal): Don't use PATH_MAX. Rewrite the symlink-copying code to use xreadlink. 2001-10-20 Jim Meyering * src/touch.c (touch): Extend last change to work on systems for which errno is set to EINVAL. * src/ls.c: Declare some local variables to be `const', where appropriate. (usage): Improve the description of --dereference (-L). * src/rm.c (usage): Clarify description of --directory (-d). Based on a patch from Michael Stone. * man/chmod.x: Describe sticky files and directories. From Michael Stone. * tests/mv/partition-perm: Don't use a umask that removes owner read/write. Use a stricter test for permissions. * tests/cp/link-preserve: Don't use a umask that removes owner read/write. That would induce spurious failures in a probably- outdated version of purify. 2001-10-18 Jim Meyering * src/mv.c (movefile): Now that remember_copied xstrdup's the file name, free `new_dest'. Plug a leak. * src/cp-hash.c (remember_copied): Use src_to_dest_free to free the entry we couldn't insert. Don't use free'd memory. * src/copy.c (dest_info_free): New function. (dest_info_init): Make the hash table code use it. (record_dest): Store each DEST in malloc'd memory. Hence the above. Use dest_info_free to free the `ent' we couldn't insert. 2001-10-14 Jim Meyering Now, -P is the same as --no-dereference, per POSIX. Use --parents to get the old meaning. * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: Remove member. (long_opts): Associate --no-dereference with `-P'. (usage): Update description of -P. (main): Remove local, used_P_option, and code to warn that the meaning of -P would be changing. 2001-10-13 Jim Meyering * src/copy.c (copy_internal): Tighten up and add comments describing the test for when to record (via remember_copied) a triple. Relax the test that guards the hard-linked-dir check and the hard-link-preserving code. Remove the link-preserving semantics from cp_options.dereference. Clean up the code that preserves links for `cp -d' and `mv'. Introduce new options: --preserve[={mode,ownership,timestamps,links,all}] --no-preserve={mode,ownership,timestamps,links,all} -p and --preserve remain unchanged and are equivalent to `--preserve=mode,ownership,timestamps' * src/cp.c (enum) [NO_DEREFERENCE_OPTION]: New member. (enum) [NO_PRESERVE_ATTRIBUTES_OPTION]: New member. (enum) [PRESERVE_ATTRIBUTES_OPTION]: New member. (long_opts): Separate -d and --no-dereference options. Add `no-preserve'. Separate -p and --preserve options. The long-named --preserve now accepts optional arguments; -p doesn't. (usage): Describe additions and changes. (cp_option_init): Initialize new member, preserve_links, to 0. (decode_preserve_arg): New function. (main) [case 'a']: Set preserve_links to 1. [case 'd']: Set preserve_links to 1. Add `case' for long-named --no-dereference. Handle long-named --no-preserve and --preserve. * src/copy.h (enum Dereference_symlink): Add comments. (struct cp_options) [preserve_links]: New member. * src/install.c (cp_option_init): Initialize new member to 0. * src/mv.c (cp_option_init): Initialize new member to 1. * tests/cp/link-preserve: Add tests for some of the above. 2001-10-13 Jim Meyering * src/copy.h (struct cp_options) [failed_unlink_is_fatal]: Remove unused member. * src/mv.c (cp_option_init): Don't set it. * src/cp.c (cp_option_init): Likewise. * src/install.c (cp_option_init): Likewise. * src/copy.h (struct cp_options): Rename members: s/preserve_owner_and_group/preserve_ownership/, and s/preserve_chmod_bits/preserve_mode/. * src/copy.c, src/cp.c, src/install.c, src/mv.c: Update all uses. * man/chown.x: Fix typo: s/Sh/SH/ before OPTIONS. Reported by Eric S. Raymond. 2001-10-12 Jim Meyering * tests/ls/Makefile.am (TESTS): Add infloop. (XFAIL_TESTS): Mark it as a test that we expect to fail (temporarily). * tests/ls/infloop: New file. 2001-10-11 Jim Meyering * src/mknod.c (main): Tell what's wrong with `mknod c zero 1 5' rather than saying just `Try `./mknod --help' for more information.'. Suggestion from Karl Berry. 2001-10-07 Jim Meyering * TODO: Remove items relating to cp-hash.c, now that they're done. Allow cp -d (and mv when it resorts to copying) to preserve hard links that span command line arguments. * src/cp.c (do_copy): Don't clear the hash table after processing each command line argument. * tests/cp/link-preserve: New test for the above. * tests/cp/Makefile.am (TESTS): Add link-preserve. * src/cp-hash.c (remember_copied): Make a local copy of the file name. (src_to_dest_free): New function (to free the above). (hash_init): Register src_to_dest_free. * src/copy.c (copy_dir): Now that remember_copied copies the file name, free the temporary `dst_path' allocated here. 2001-10-06 Jim Meyering Convert du.c to use the functions in lib/hash.c, not private, slightly-modified copies of those that used to be in cp-hash.c. * src/du.c (struct entry) [coll_link]: Remove member. (struct htab): Remove. (hash_reset, hash_init, hash_insert2, hash_insert): Remove functions. * src/du.c: Include hash.h and same.h. (htab): Change type of global to `struct hash'; (entry_hash, entry_compare, hash_ins): New functions. (count_entry): Use hash_ins instead of hash_insert. 2001-10-06 Jim Meyering Rewrite cp-hash.c to use the functions in lib/hash.c. * src/cp-hash.c (hash_init): Die if hash_initialize fails. * src/cp-hash.c: Rewrite to use the functions in lib/hash.c. * src/cp-hash.h: Update prototype for hash_init. * src/mv.c (do_move): Reflect that hash_init now takes no arguments. * src/install.c (main): Likewise. * src/cp.c (main): Likewise. 2001-10-06 Jim Meyering * src/copy.c (record_dest): Avoid a small leak. 2001-10-06 Jim Meyering This decreases the memory footprint a little, when copying hierarchies containing many files. * src/copy.c (copy_internal): Call remember_copied only if the source file has 1 < st_nlink, or if it's a directory. Now that EARLIER_FILE is set conditionally, initialize it to NULL. * tests/mv/childproof: Redirect stderr on one test. 2001-10-05 Jim Meyering * src/copy.c: Include hash-pjw.h and remove definition of hash_pjw. * src/remove.c: Likewise. 2001-10-01 Jim Meyering * src/remove.c (hash_pjw): Remove function. * src/copy.c: Likewise. 2001-09-29 Jim Meyering * src/copy.c (copy_internal): Call record_dest for all types of files (for which this makes sense), not just regular ones. * mkinstalldirs: Update from master. * Makefile.maint (wget-update): Add mkinstalldirs. 2001-09-28 Jim Meyering This mv command should fail (likewise for cp), rather than silently clobbering one of the source files. rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c Reported by Dan Jacobson. * src/cp.c (do_copy): Call dest_info_init if necessary. * src/install.c (main): Likewise. * src/mv.c (main): Likewise. * src/copy.h (dest_info_init): Declare. * src/copy.c: Include "hash.h" and "same.h". (struct Dest_info): Define. (dest_info): Declare global. (DEST_INFO_INITIAL_CAPACITY): Define. (hash_pjw): New function. (dest_info_hash): Likewise. (dest_info_compare): Likewise. (dest_info_init): Likewise. (seen_dest): Likewise. (record_dest): Likewise. (copy_internal): If the destination exists, fail if it's in the set of files that have already been created as part of this mv or cp. (copy_internal) [move_mode]: Record the destination dev/ino/filename. (copy_internal) [!move_mode, regular file]: Likewise. Accept new option: --reply={yes,no,query} * src/cp.c: (enum) [REPLY_OPTION]: Define. (usage): Describe new option. Split long usage string into smaller pieces. (main): Handle new option. * missing: Update from master. * config.guess: Likewise. * config.sub: Likewise. * configure.ac: Tell automake to use the file name `config.hin' rather than the two-`.' config.h.in. 2001-09-26 Jim Meyering * man/Makefile.am (common_dep): s/configure.in/configure.ac/. * configure.ac: Renamed from configure.in. * INSTALL, mkinstalldirs: Update to autoconf 2.50 version. 2001-09-23 Jim Meyering * tests/mv/childproof: New test, for the above fix. Based on a report from Dan Jacobson. * tests/mv/Makefile.am (TESTS): Add childproof. * Makefile.am (SUBDIRS): When using newer gettext (in which intl/libintl.h is created by rules intl/Makefile) `intl' must precede `lib'. 2001-09-22 Jim Meyering Mostly clean-up (modulo the better diagnostic). * src/copy.c (copy_internal): Rename parameter, move_mode, to command_line_arg, and adjust caller. Now, move_mode is a local that is derived from command_line_arg. Factor some involved code to produce something slightly more readable. Use x->move_mode, not move_mode in determining which diagnostic to give (`backing up %s would destroy source; %s not moved'). 2001-09-16 Paul Eggert * src/ls.c (usage): Fix typo in -g usage. -H now means --dereference-command-line. 2001-09-16 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.5. * man/Makefile.am (*.1): Depend on *source* files, not binaries. (.x.1): Add code to work around ginstall vs. install exception. * man/Makefile.am (dist_man_MANS): Use dist_man_MANS, not man_MANS. 2001-09-15 Jim Meyering Convert to a more conventional (e.g., like autoconf) Makefile.am. * man/Makefile.am: Remove hacks. * man/GNUmakefile: Remove file. * man/Makefile.summ: Remove file. * man/Makefile.maint: Remove file. * man/ginstall.x: Remove. Renamed to ... * man/install.x: ... this. New file. Michael Stone reported that man pages weren't built in non-srcdir build. * src/touch.c (EISDIR): Define to 0, if not already defined. (touch): Give a better diagnostic for e.g., `touch /' by non-root. Based on a patch from Michael Stone. Reported by Jeff Sheinberg as Debian bug #101677. * tests/touch/fail-diag: New test, for the above fix. * tests/touch/Makefile.am (TESTS): Add fail-diag. * src/copy.c (copy_internal) [move_mode]: Support the new --reply=... option. (UNWRITABLE): Define (factored out of copy_internal). (copy_internal): Use UNWRITABLE. Accept new option: --reply={yes,no,query} * src/mv.c: Include argmatch.h. (enum) [REPLY_OPTION]: Define. (usage): Describe new option. Split long usage string into smaller pieces. (main): Handle new option. * src/cp.c (main): Reflect renaming: s/I_ON/I_ASK_USER/. * src/copy.h (enum Interactive): Remove members, I_OFF and I_ON. Instead, add I_ALWAYS_YES, I_ALWAYS_NO, and I_ASK_USER. * tests/mv/i-2: Clean up: use priv-check rather than open-coding it. 2001-05-11 Paul Eggert * src/chmod.c, src/chown.c, src/mkdir.c, src/rm.c, src/rmdir.c (main): Don't strip trailing slashes; POSIX doesn't allow it here. Don't include "dirname.h" when no longer needed. 2001-09-08 Jim Meyering * src/copy.c (copy_internal): Add braces around now-multi-stmt if-block. This fixes a bug introduced by my 2001-08-06 change. * tests/mv/i-4: New test, for the above. * tests/mv/Makefile.am (TESTS): Add i-4. 2001-09-04 Paul Eggert * src/ls.c (get_link_name): Update use of xreadlink. 2001-09-02 Jim Meyering * tests/priv-check: Change usage not to use $1. That's not portable to e.g., Solaris2.6's /bin/sh. Communicate via an envvar instead. * tests/mv/i-3: Don't pass an argument to a sourced script. * tests/cp/special-bits: Likewise. * tests/chown/basic: Likewise. * Makefile.maint (alpha): Depend on local-check so that they run a little earlier. 2001-09-01 Jim Meyering * src/df.c (show_point): Use canonicalize_file_name, if possible. [HAVE_RESOLVEPATH], [!HAVE_RESOLVEPATH]: Use malloc, not alloca, so that these two paths also produce `resolved' in malloc'd storage. Free that memory when done with it. * src/ls.c: Include "xreadlink.h". (get_link_name): Don't use PATH_MAX. Rewrite to use xreadlink. 2001-08-30 Paul Eggert * src/chgrp.c: Do not include savedir.h; not used. * src/chown.c: Likewise. * src/chmod.c (change_dir_mode): Remove statp arg; no longer needed. * src/chown-core.c (change_dir_owner): Likewise. * src/du.c (count_entry): Remove st_size argument. * src/copy.c (copy_dir): Likewise. 2001-08-30 Paul Eggert * src/copy.c: Include full-write.h. * src/dd.c: Likewise. * src/copy.c (full_write): Remove decl; not needed. * src/dd.c: Likewise. * src/install.c: Likewise. * src/mv.c: Likewise. * src/copy.c (copy_reg): Don't assume read and write size fits in int. * src/dd.c (open_fd): Likewise. 2001-08-30 Paul Eggert * src/remove.c (bool): Remove; moved to... * src/system.h: ...here. * src/du.c (count_entry, main): Reflect changes to the exclude functions. 2001-08-13 Jim Meyering * src/cp.c, src/dd.c, src/ln.c, src/ls.c, src/mv.c (AUTHORS): Mark string for translation, since it contains the English word `and'. * Makefile.maint (author_mark_check): New rule. (local-check): Depend on it. Change the rules governing when mv prompts before removing an existing destination file so it is consistent with POSIX: Now, in the absence of --force (-f), if stdin is a tty and an existing destination is not writable mv will prompt before overwriting the destination file. Reported by Vin Shelton. * src/copy.c (overwrite_prompt): New function. (copy_internal): Separate the mv-specific and non-move_mode code that determines whether to prompt the user. [move_mode]: Don't make mv fail (i.e. don't return 1) just because the user declined to remove one or more of the files. * src/copy.h (enum Interactive): New type. (struct cp_options) [interactive]: Change type to Interactive. (struct cp_options) [stdin_tty]: New member. * src/cp.c (cp_option_init): Adjust initialization of `interactive', and initialize new member, stdin_tty. * src/mv.c (cp_option_init): Likewise. * src/install.c (cp_option_init): Likewise. * src/cp.c (main): Adjust initialization(s) of `interactive', * src/mv.c (main): Likewise. * tests/mv/i-1: Change expected exit status to reflect the above. 2001-08-12 Jim Meyering * tests/mk-script ($program_name): Define. (main): Use $program_name, rather than long-inaccurate `build-script'. (main): Iterate over the sorted keys (rather than `while...each...'), so this script produces the same output regardless of which version of perl (e.g., perl5.6) is used. Work around non-compliant gettimeofday on Mac OS X 10.0.4, (aka Darwin 1.3.7) that caused the date of the first file listed in long output to be the current time rather than the file's mtime. The real work is in m4/gettimeofday.m4 and the wrapper function, lib/gettimeofday.c. * src/ls.c: Include gtod.h. (main): `Call' GETTIMEOFDAY_INIT. (print_long_format): Add a comment about gettimeofday. Report and diagnosis from Bernhard Baehr. * src/shred.c: Include gtod.h. (main): `Call' GETTIMEOFDAY_INIT, just in case the code ever changes to make it necessary. 2001-08-10 Paul Eggert * src/ls.c (print_long_format): Simplify previous patch for listing negative sizes, by adding OFF_T_MAX - OFF_T_MIN + 1 instead of doing a fancy conditional shift. This is simpler and it avoids GCC's bogus compile-time warning about shift counts. (As a bonus, it is portable to hosts that do not use twos-complement arithmetic. :-) 2001-08-10 Jim Meyering * ls.c (print_long_format): Multiply the shift width by zero to avoid a warning from gcc on hosts with an unsigned type for the st_size member. 2001-08-06 Paul Eggert * src/ls.c (print_long_format): If a file size is negative, assume the typical case where it has wrapped around from a positive value. 2001-08-07 Jim Meyering * Makefile.maint (m4-check): New rule. (local-check): Depend on it. 2001-08-06 Jim Meyering Fix the bug whereby `mv -uf source dest' would delete source, even though it's older than dest. * src/mv.c (usage): Correct the description of --update. * src/copy.c (copy_internal): Set *rename_succeeded, so that the caller (mv) doesn't remove the source file. Reported by Phelippe Neveu. * tests/mv/update: New test for the above. * tests/mv/Makefile.am (TESTS): Add update. 2001-08-05 Jim Meyering * tests/root-only: Generalize. Rename to ... * tests/priv-check: ...this. New file. Renamed from the above. * tests/Makefile.am (EXTRA_DIST): Reflect renaming. * tests/mv/i-3: Reflect name and usage changes. * tests/chown/basic: Likewise. * tests/cp/special-bits: Likewise. * tests/sample-test: Likewise. 2001-08-04 Jim Meyering * tests/root-only: Remove *all* write access, not just that of the owner. * tests/mv/i-3: New test for the above fix. * tests/mv/Makefile.am (TESTS): Add i-3. 2001-08-03 Paul Eggert * ls.c (quote_name): Pass 0 to mbsnwidth, since the default got changed and we want the default now. 2001-08-03 Paul Eggert * ls.c (quote_name): Pass 0 to mbsnwidth, since the default got changed and we want the default now. 2001-07-15 Jim Meyering * src/Makefile.am (INCLUDES): Add -I../lib so sys2.h can include the new, generated file, unlocked-io.h. * src/sys2.h: Include "unlocked-io.h", rather than hard-coding the HAVE_*_UNLOCKED macros. * Makefile.cfg ($(srcdir)/m4/jm-glibc-io.m4): New rule. 2001-07-14 Jim Meyering * Makefile.maint (tgz-size): Also work for sizes in the kilobyte range. * Makefile.maint: More changes from autoconf. Changes from autoconf. * Makefile.maint (GZIP_ENV): Add --best. (AMTAR): Define. (writable-files): Factor out ../release/ constant, and work (by creating it) even if such a directory doesn't exist. 2001-07-08 Jim Meyering * src/copy.c (get_dest_mode): Clear set-user-ID and set-group-ID bits when copying (i.e., not in move mode) and not preserving permissions. Reported by kytek@cybercomm.net. FIXME: add a test for this!!! 2001-07-02 Jim Meyering * src/ln.c (do_link): Test the boolean symbolic_link, not the function, symlink. Patch by Frederik Eaton. 2001-06-17 Jim Meyering * Makefile.maint: Factor out definitions specific to fileutils, sh-utils, and textutils, so that other packages can use the framework. Patch by Akim Demaille. * Makefile.cfg: New file with package-specific definitions. * GNUmakefile: Include Makefile.cfg. * Makefile.am (EXTRA_DIST): Add Makefile.cfg. 2001-06-16 Jim Meyering * src/ls.c (main): Recheck global print_with_color after calling parse_ls_color, since that function may have reset it. Based on a patch from Richard Dawe. 2001-06-16 Jim Meyering * config.sub: Update from master repository. * config.guess: Likewise. 2001-06-09 Jim Meyering * configure.in (ALL_LINGUAS): Add Turkish (tr). 2001-05-25 Jim Meyering * src/ls.c (print_long_format): Don't truncate user names or group names that are longer than 8 characters. Add definitions that let me factor the wget rule while still letting me accommodate the fact that these files reside in several different directories and come from different places. * Makefile.maint (wget-files): Define. (get-targets, *-local_dir, *-url_prefix): Likewise. (target, url, local_file): Convenience variables. ($(get-targets)): The factored rule. 2001-05-24 Jim Meyering * src/ansi2knr.c: Update from master source. * Makefile.maint (wget-update): Have wget write to a temporary file, and replace the original only if wget succeeds. Also get ansi2nkr.c. (move-if-change): Define. (wget-update): Use it in place of mv. * src/ls.c: Use `#if D_TYPE_IN_DIRENT && defined DTTOIF' to determine whether to enable the DT_INIT definition, not the less portable `#if defined _DIRENT_HAVE_D_TYPE || defined DTTOIF'. Reported by Eli Zaretskii. * src/mkfifo.c (main): Remove quotes around %s. The argument is already quoted via the quote function. * src/mknod.c (main): Likewise. Reported by Göran Uddeborg. 2001-05-21 Jim Meyering * Makefile.maint (wget-update): depcomp and missing are now in automake's lib/ subdirectory. 2001-05-11 Paul Eggert Add new --time-style option. Change --full-time to be equivalent to --time-style=full-iso. * NEWS, doc/omni-utils.texi: Describe this change. * src/ls.c: Include "hard-locale.h". (nstrftime): New decl. (enum time_style): New enum. (time_style_args, time_style_types): New constants. (full_time): Remove. (long_time_format): Initialize to POSIX defaults. (TIME_STYLE_OPTION): New constant. (long_options, decode_switches, usage): Add --time-style support. (long_time_expected_width): Use nstrftime, not strftime. (print_long_format): Likewise. Increase initial size to match new full-iso time style. * tests/ls/time-1: Unset QUOTING_STYLE and TIME_STYLE. Set TZ. Adjust to change in full-time format. Fix typo in failure messages (-a and -m were interchanged). 2001-05-20 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Add constants.texi and doclicense.texi. (info_TEXINFOS): s/fileutils/omni-utils/. (check-texinfo): New rule. (check): Depend on check-texinfo. * doc/omni-utils.texi (uniq invocation): Document the new optional arguments to the --all-repeated option. Make all references to POSIX use @sc{posix}. 2001-05-19 Jim Meyering * doc/fileutils.texi: Remove. * doc/omni-utils.texi: Change a few uses of `timezone' to `time zone'. Reported by Stephen Eglen. 2001-05-16 Jim Meyering * Makefile.maint (my-distcheck): Remove work-around kludge and associated comment, now that automake has ben fixed. 2001-05-12 Paul Eggert Clean up some of the places where the code assumed that random types like 'mode_t' fit into 'int', which POSIX doesn't guarantee. * src/ls.c (struct fileinfo.linkmode): Now st_mode. (print_color_indicator, print_name_with_quoting, print_type_indicator, length_of_file_name_and_frills): Use mode_t, not unsigned int, to store modes. (dired_dump_obstack): Do not assume size fits in 'int'. (get_link_name): readlink returns ssize_t, not int. (make_link_path): Store buffer size as size_t, not int. (print_long_format): Use unsigned long, not unsigned, to print nlink_t, uid_t, gid_t, major_t, minor_t. 2001-05-13 Paul Eggert * src/mknod.c (main): Check for NODEV device only if NODEV is defined. * src/system.h (NODEV): Remove, undoing previous change. 2001-05-13 Jim Meyering * src/remove.c (dir_name, dir_len): Define to different names to avoid shadowing warnings due to new declarations from dirname.h. * tests/Fetish.pm (run_tests): Fail if any test name is longer than 12 bytes. * tests/ls-2/tests: Shorten test names so the length of a resulting file name doesn't exceed 14. 2001-05-12 Paul Eggert * src/system.h (NODEV): New macro, if not already defined. * src/mknod.c (main): Check for overflow when converting out of uintmax_t. Do not assume that major_t and minor_t are no wider than int. Check for makedev failures. Convert device numbers via uintmax_t, not unsigned long, just in case. Coalesce duplicate code in the block and character device cases. 2001-05-11 Paul Eggert Add new --dereference-command-line option. -H now means this instead of meaning --si, as POSIX requires. * NEWS, doc/omni-utils.texi: Document this. * src/ls.c (enum Dereference_symlink): New type. (dereference): New var, replacing trace_links, which was removed. (long_options, main, decode_switches, gobble_file, usage): Implement the changes. * tests/ls-2/tests: Rename slink-dir test to slink-dir-dF. Add new tests slink-dir-F, slink-dir-dFH, slink-dir-dFL. 2001-05-11 Paul Eggert dirname code cleanup. base_name now behaves more compatibly with POSIX basename when given file names that have trailing slashes, and similarly for dir_name. Add new primitives base_len and dir_len. Put the directory-name-related decls into dirname.h. * src/chmod.c (strip_trailing_slashes): Remove; now in dirname.h. * src/chown.c (strip_trailing_slashes): Likewise. * src/cp.c (strip_trailing_slashes): Likewise. * src/df.c (strip_trailing_slashes): Likewise. * src/ln.c (strip_trailing_slashes): Likewise. * src/mkdir.c (strip_trailing_slashes): Likewise. * src/rm.c (strip_trailing_slashes): Likewise. * src/rmdir.c (strip_trailing_slashes): Likewise. * src/dircolors.c, src/ls.c, src/remove.c: Include "dirname.h", to get base_name. * src/cp.c (make_path_private): Use dir_len instead of dir_name, and avoid an extra mealloc call. * src/df.c (find_mount_point): No need to strip trailing slashes before invoking new dir_name. * src/mv.c: Include "dirname.h". (strip_trailing_slashes_2): Remove; now done by strip_trailing_slashes. All callers changed. * src/sys2.h (base_name): Remove decl; now in dirname.h. * src/copy.c (copy_internal): Remove the code that tested for NULL dir_name return value. That can't happen. 2001-05-12 Jim Meyering * src/ls.c (usage): Wording changes related to -o, -n, and -g. * doc/omni-utils.texi: Likewise. From Paul Eggert. 2001-05-11 Paul Eggert * src/chmod.c (mode_changed, change_file_mode): There's no need to invoke both lstat and stat here, so call just one of the two functions. 2001-05-11 Jim Meyering * doc/omni-utils.texi: New file. The union of fileutils.texi, sh-utils.texi, and textutils.texi. Merged by Brian Youmans. * src/shred.c (usage): Warn about backups and mirrors. * doc/omni-utils.texi (shred invocation): Likewise. From Nelson Beebe. 2001-05-09 Jim Meyering * src/ls.c (main): Don't set `format_needs_stat' for --recursive (-R), because that would make `ls -RF dir' stat unnecessarily all of the files in dir/ on some systems. Similarly, don't set `format_needs_stat' for --dereference (-L), because that would make `ls -RLF dir' stat unnecessarily all non-symlink files in dir/ on some systems. Instead, ... (gobble_file): ... also stat a file if `trace_dirs' (-R) is set and its type is unknown. ... also stat a file if `trace_links' (-L) is set and the file is a symlink or its type is unknown. (print_dir): Also recognize DT_REG and DT_LNK. 2001-05-07 Jim Meyering * src/chown.c (main): Fix thinko that made --from=... fail: s/argv[optind]/optarg/. Reported by Andrew Pham. * tests/chown: New directory. * tests/chown/basic: New (root-only) test for the above. * tests/cp/special-bits: Factor out the root-only test into this ... * tests/root-only: ... new file. * tests/Makefile.am (EXTRA_DIST): Add root-only. (SUBDIRS): Add chown. * tests/chown/Makefile.am: New file. * configure.in (AC_OUTPUT): Add tests/chown/Makefile. 2001-05-05 Jim Meyering * src/ls.c (decode_switches): Complain if the envvar, QUOTING_STYLE, is set to an invalid value. Move some declarations of locals into scopes where they're used. 2001-05-02 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. 2001-05-01 Jim Meyering * Makefile.maint (tgz-size, xd-size): Compute sizes. (announcement): Include sizes of .tar.gz and .xdelta files in the announcement. * src/ls.c (print_owner): New global variable. (usage): Update the descriptions of -g. (decode_switches): Honor the -g option (omit owner information), now that POSIX specifies it. (print_long_format): Don't print owner name if -g was specified. Move declaration of `user_name' into the scope where it's used. (print_group): Rename global from `inhibit_group'. Update all uses accordingly. * doc/fileutils.texi (What information is listed): Describe -g. * TODO: Remove item for ls -g. * src/ls.c (decode_switches): Make -n work just like -l, except with numeric IDs, per POSIX. Before, to have any effect, -n had to be used with -l. Reported by Dale Scheetz. (usage): Update the description of -n. Separate the descriptions of -n and --numeric-uid-gid. Split string in --help output that had exceeded my limit of 2048 bytes. 2001-04-29 Jim Meyering * Version 4.1. * configure: Regenerate using a further-patched copy of autoconf-2.49e to work around a bug in its test for ranlib. This is the change to autoconf's acgeneral.m4 that was made on 2001-04-24. * README: Don't mention mvdir. It is no longer provided. Don't mention HP/UX vs. du blocksize problem. It's long gone. Remove note about how cp, mv, and ln couldn't make backups of files with names of maximum length. Now they can do that. Thank the people who have provided access to their systems for portability testing. Warn about and describe autoconf/automake version requirements. Use a better URL for the GNU Coding Standards. * man/rm.x: Refer to shred. Remove the example showing how to remove `-foo', since that is now in the --help output (and hence automatically included). * src/rm.c (usage): Mention shred. * src/shred.c (usage): Include in --help output the warning about some of the filesystem types on which shred is not effective. 2001-04-25 Jim Meyering * Makefile.maint (my-distcheck): Add a comment. 2001-04-23 Jim Meyering * Version 4.0.45. 2001-04-22 Jim Meyering * src/ls.c (decode_switches): Ensure that -1 has no effect when it follows -l, per POSIX. Reported by Ulrich Drepper. * src/dd.c (usage): Mention that sync makes dd pad with spaces (rather than NULs) when used with block or unblock. (dd_copy): When using sync with either block or unblock, pad with spaces. Reported by Dale Scheetz. * tests/dd/skip-seek (block-sync-1): New test, for this. Based on a report from Dale Scheetz. * doc/fileutils.texi (dd invocation): Document it here, too. * configure: Regenerate using a patched copy of autoconf-2.49e to work around a bug in its test for a working memcmp function. This is the change to autoconf's acfunctions.m4 that was made on 2001-04-22. * tests/ls/no-arg: New file. * tests/ls/Makefile.am (TESTS): Add no-arg. * src/ls.c (main): Fix off-by-one error introduced with last change. 2001-04-21 Jim Meyering * Version 4.0.44. * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49e. * doc/fileutils.texi (touch invocation): Discuss ctime. Based on suggestions and contributions from Aharon Robbins and Dan Jacobson. * src/ls.c (main): When given two or more arguments but the only one that exists is a directory, don't treat it as if it were the only argument. Before, `mkdir d; ls no-dir d 2>/dev/null' would act like `ls d' and produce no output. Now, it prints `d:'. Report and patch from Stéphane Chazelas. * tests/ls-2/tests: New tests, for the above fix. 2001-04-08 Jim Meyering * depcomp: New version, from automake. 2000-10-31 Bruno Haible * ls.c: Don't inspect MB_LEN_MAX. Paul Eggert says it's not always defined correctly. 2001-04-03 John David Anglin * tests/chgrp/basic: Ensure that initial group id's are properly set for `d' and `d/f3'. 2001-04-02 Jim Meyering * tests/mv/setup: Skip nonexistent directories so we don't get diagnostics from df about e.g., `/usr/tmp not found'. 2001-03-24 Jim Meyering * configure.in: Don't require autoconf version here -- it's done in m4/. 2001-03-23 Jim Meyering * Version 4.0.43. * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49d. * Makefile.maint (check-copyright): New target and rule. (alpha): Depend on it. * missing: Handle shell built-ins (only `:' and `cd' for now) to work around brain damage in Ultrix's /bin/sh. 2001-03-18 Jim Meyering * Version 4.0.42. * tests/Fetish.pm: If the $DJDIR envvar is defined, set SHELL to $DJDIR/bin/bash.exe. Patch from Richard Dawe, based on a suggestion from Eli Zaretskii. 2001-03-17 Paul Eggert * doc/fileutils.texi: Warn that touch DATE FILE will be withdrawn. 2001-03-17 Jim Meyering * tests/install/basic-1: Add the standard $VERBOSE-handling hook. This test currently fails for mips-dec-ultrix4.4. * tests/install/create-leading: Use ../envvar-check rather than open-coding the same tests. * tests/envvar-check: Set/use $as_unset, for those shells (like Ultrix4's /bin/sh) that don't accept `unset'. * missing (--run): Use `eval' to run `"$@"'. Otherwise, Ultrix4.4's /bin/sh fails and outputs garbage. * src/touch.c (usage): Tweak the obsolescent usage line so that help2man recognizes it as such. Reported by Dan Jacobson. 2001-03-16 Jim Meyering * Makefile.maint (wget-update): Also get `missing'. Use for-loops. * missing: Update from automake. 2001-03-11 Jim Meyering * tests/rm/isatty: Disable this test, for now. It would block when run in the background. 2001-03-09 Jim Meyering * config.guess: Update from master repository. * Makefile.maint (my_distdir): Define new variable, and use this in place of most old uses of $(distdir). * src/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). Reported by Akim Demaille. * tests/help-version: Ensure that /dev/full is a character device (using test -c) as well as being writable, before trying to write to it. Otherwise, the test could mistakenly append a newline to an existing, regular, writable, /dev/full file. Suggested by Ulrich Drepper. 2001-03-06 Jim Meyering * src/dd.c (S_TYPEISSHM): Rename parameter to reflect its type. (main): Pass a `struct stat *', not stat.st_mode to S_TYPEISSHM. Patch by Alain Magloire. 2001-03-04 Jim Meyering * src/dd.c (output_char): Reformat so each statement is on a separate line. 2001-02-21 Jim Meyering * src/mkdir.c (main): Remove assignment-in-if-expression. In fact, remove t_errno altogether. Reported by Nelson Beebe. * tests/ls-2/tests: Add two tests of existing behavior -- both will have to be changed (soon after release), once ls is fixed. 2001-02-20 Paul Eggert * src/ls.c (FULL_TIME_OPTION): Renamed from FULL_TIME, for consistency with the other enum values. 2001-02-20 Paul Eggert * NEWS, doc/fileutils.texi: ls -H is now obsolescent. * src/ls.c (SI_OPTION): New enum value. (long_options): Use it instead of 'H' for --si. (decode_switches): Warn that -H will change soon. (usage): Likewise. 2001-02-18 Jim Meyering * tests/rm/Makefile.am (TESTS): Add isatty. * tests/rm/isatty: New test, for the bug fixed below. * Version 4.0.41. * depcomp: New version, from automake. `chmod 0 file; rm file' would no longer prompt before removal. * src/remove.c (remove_file): Revert last change. Reported by Vin Shelton. 2001-02-17 Jim Meyering * Version 4.0.40. * src/chown.c (main): `quote' the offending argument. 2001-02-17 Paul Eggert Stop trying to support hosts that have nonstandard declarations for mbrtowc and/or mbstate_t. It's not worth the portability hassle. * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. * lib/mbswidth.c, lib/quotearg.c, src/ls.c (mbrtowc, mbsinit): Remove workaround macros for hosts that have mbrtowc but not mbstate_t, as we now insist on proper declarations for both before using mbrtowc. Reported by Matt Schalit. 2001-02-17 Jim Meyering * config.sub: Update from master repository. * config.guess: Likewise. 2001-02-16 Paul Eggert * doc/getdate.texi: Mention that only English is supported. Show how to use "date" so that the output is acceptable to getdate. Mention Z as an abbreviation for UTC. 2001-02-11 Jim Meyering * Makefile.maint (emit-rsync-commands): Define. (alpha): Use it here. 2001-02-10 Jim Meyering * Makefile.maint (alpha): Fix previous, incomplete change. * Version 4.0.39. * depcomp: New version, from automake. 2001-02-04 Jim Meyering * README: Remove note about now-ancient Sequents. 2001-02-03 Jim Meyering * src/ln.c (main): Change type of index variable to `unsigned int' to avoid a warning. * config.guess: Update from master repository. * Makefile.maint (a_host): Use fencepost. (real_dir): Use the same name for both. (alpha): Print commands for both hosts. * src/mv.c (long_options): Use `strip-trailing-slashes', per the documetation, not `strip-trailing-slash'. * src/cp.c (long_opts): Likewise. Reported by Oskar Liljeblad. * doc/fileutils.texi (mv invocation): Add a warning about how a trailing slash makes a difference. Prompted by a report from Oskar Liljeblad via Michael Stone (Debian bug#83991). 2001-01-31 Jim Meyering * config.sub: Update from master repository. * config.guess: Likewise. 2001-01-28 Jim Meyering * Version 4.0.38. * configure, aclocal.m4, etc.: Regenerate using autoconf-2.49c. * src/ls.c (gobble_file): Add a FIXME comment. * TODO: Add a few items. * src/ls.c (enum) [FULL_TIME]: Define. (long_options): Use it. (decode_switches): Make --full-time imply -l. Prompted by a report from Karl Eichwalder. 2001-01-22 Jim Meyering * src/remove.c (remove_file): Correct an expression to avoid making an unnecessary call to euidaccess for each file. 2001-01-21 Jim Meyering * Version 4.0.37. 2001-01-20 Jim Meyering * configure.in: Remove jm_CHECK_ALL_TYPES. Now it's invoked by jm_MACROS. 2001-01-17 Jim Meyering * src/sys2.h (case_GETOPT_VERSION_CHAR): Use PACKAGE, not GNU_PACKAGE. * src/sync.c (main): Likewise. * src/shred.c (PACKAGE): Likewise. * src/dd.c (main): Likewise. 2001-01-14 Jim Meyering * Version 4.0.36. * src/shred.c (UINT_MAX_32_BITS): Define. Use UINT_MAX_32_BITS in the cpp conditions that determine the `word32' typedef. Using a literal `0xffffffff' failed with HPUX10.20's /bin/cc. * config.sub: Update from master repository. * config.guess: Likewise. 2001-01-02 Volker Borchert Work around a broken rename system call, e.g. on SunOS 4.1.1_U1, that fails when the source path has a trailing slash. * src/copy.h [RENAME_TRAILING_SLASH_BUG]: Use the rename wrapper. * tests/mv/trailing-slash: Test whether the workaround works. * tests/m4/Makefile.am (TESTS): Add trailing-slash. 2001-01-03 Alexandre Duret-Lutz * po/Makefile.in.in (update-po): Merge po-files in temporary files in the build directory, and update the source directory only when the merged catalog differs from the original. This fixes the known `make distcheck' failure due to `make update-po' being called on up-to-date but read-only files. 2001-01-13 Jim Meyering * src/copy.c (same_file_ok): When moving a symlink onto itself, don't remove the symlink. Reported by David Luyer as Debian bug#82089, via Michael Stone. * tests/mv/into-self-4: New test for the above. * tests/mv/Makefile.am (TESTS): Add into-self-4. * tests/chmod/setgid: If `chmod g+s d' fails, then try to chgrp to a group of which we're a member, then try the chmod again. 2001-01-11 Jim Meyering * depcomp: New version, from automake. 2001-01-10 Jim Meyering * src/copy.c (copy_internal): Add a comment. Set *copy_into_self in the new code that detects that. Make diagnostic more consistent: s/won't/will not/. [move_mode, copy_into_self]: Give a diagnstic here, now that we have the top_level_* globals. Remove the corresponding diagnostic from mv.c. Add a FIXME comment. * src/mv.c (do_move): Remove diagnostic, now that copy.c issues it. Set `fail' to nonzero in the primary `if (copy_into_self)' block rather than in its own tiny one below. * src/copy.c (copy_internal): Don't allow cp (or mv, when working across a partition boundary) to overwrite a non-directory with a directory. Reported by Michael J. Croghan. * tests/cp/dir-vs-file: New test for the above. * tests/cp/Makefile.am (TESTS): Add dir-vs-file. 2001-01-09 Jim Meyering Give a better diagnostic for `cp -R a a'. * src/copy.c (top_level_src_path, top_level_dst_path): New globals. (copy_internal): Use them. (copy): Set them. * src/cp-hash.c [struct entry] (node): Describe how it's used, now that we've overloaded it, in order to detect and diagnose the copying-directory-into-self problem. (new_file): Remove global. (htab): Declare global to be static. (remember_created): Insert file name instead of dummy pointer, so that copy.c can use the just-created directory name to detect the copying-directory-into-self problem. * tests/cp/into-self: New test for the above. * tests/cp/Makefile.am (TESTS): Add into-self. 2001-01-07 Jim Meyering * src/cp.c (usage): Split a string that was longer than 2048 bytes. * doc/perm.texi: s/can not/cannot/ 2001-01-07 Karl Eichwalder * src/chown.c (usage): Split long message string. 2001-01-07 Karl Eichwalder * src/ls.c (usage): Untabify. * src/chgrp.c (parse_group): Normalize spelling. 2001-01-03 Paul Eggert * NEWS: Document the planned --full-time change. * doc/fileutils.texi: Likewise. * NEWS: Document that time stamps depend on LC_TIME, not LC_MESSAGES. 2001-01-03 Paul Eggert Use the more precise algorithm of GNU "make" to decide whether a file is in the future, by looking at high-resolution time stamps if available. * src/ls.c: (TIMESPEC_NS): New macro. (current_time): Initialize to the minimum value. (current_time_ns): New var. (main): Do not bother to initialize current_time; it's no longer needed. (get_current_time): New function. (print_long_format): Use it when a file appears to be in the future. Get the nanoseconds of the file's time stamp, if available, and use that to decide whether the file appears to be in the future. * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): New macros. 2001-01-02 Paul Eggert * src/ls.c (long_time_expected_width, print_long_format): Fix bug: the initial byte passed to strftime wasn't initialized to a nonzero value after the buffer was reallocated. 2001-01-02 Paul Eggert Make ls -l compatible with POSIX, which requires that the behavior of time formats must depend only on LC_TIME, not on LC_MESSAGES. * po/Makefile.in.in (install-data-yes): If the package is fileutils, install LC_TIME as an alias for LC_MESSAGES. * src/sys2.h (dcgettext): New macro. * src/ls.c (decode_switches): Use dcgettext with LC_TIME, not plain gettext, to get the translations of time formats. 2001-01-02 Paul Eggert * src/ls.c (long_time_expected_width): New function. (print_long_format): Use it, so that we don't assume a particular width for time stamps in an internationalized environment. 2001-01-01 Paul Eggert * doc/fileutils.texi, NEWS: ls -l now reports the year for files even slightly in the future, as POSIX requires. This helps warn users about clock skew problems. * src/ls.c (print_long_format): Report the year for files even slightly in the future. Avoid overflow problems near Y2038 on 32-bit hosts. To calculate "six months", take half the average Gregorian year, not 180 days. 2001-01-01 Jim Meyering * tests/chmod/Makefile.am (TESTS): Add setgid. * tests/chmod/setgid: Test for chmod's existing behavior. Based on a report from Paul Eggert. 2000-12-29 Paul Eggert Clean up the terminology a tad: some directories were called "sticky" when they were really setgid. * tests/Makefile.am (EXTRA_DIST): sticky-check -> setgid-check * tests/chmod/c-option, tests/cp/cp-parents, tests/mkdir/parents, tests/mkdir/perm: Likewise. * tests/setgid-check: File renamed from tests/sticky-check. All uses of "sticky" changed to "setgid". 2000-12-31 Jim Meyering * tests/cp/Makefile.am (TESTS): Add deref-slink. * tests/cp/deref-slink: New file. Test for the bug fixed by my 2000-12-28 change to copy.c. 2000-12-30 Paul Eggert * src/ls.c: Improve performance by invoking gettext twice at the start, instead of once for each file. (long_time_format): New var. (decode_switches): Initialize it, if format == long_format. (print_long_format): Use it. 2000-12-30 Paul Eggert * src/ls.c (print_long_format): Don't dump core if strftime returns the empty string. 2000-12-30 Paul Eggert * src/ls.c (gobble_file): If not using long format, don't invoke acl; it's not needed. 2000-12-30 Jim Meyering Avoid an unnecessary `stat' when using --dereference. * src/copy.c (same_file_ok): Use stat only if lstat reported that the file was a symbolic link. 2000-12-29 Paul Eggert * doc/perm.texi: append-only directories -> restricted deletion flag, which is the term that POSIX d5 uses for this notion. 2000-12-28 Paul Eggert * tests/group-names: Try /usr/xpg4/bin/id (Solaris 7) if plain 'id' doesn't work. 2000-12-28 Jim Meyering * tests/cp/cp-parents: Run sticky-check from just-created directory. 2000-12-28 Jim Meyering * src/copy.c (same_file_ok): Fix two typos from my 2000-09-03 change: s/tmp_dst_sb/tmp_src_sb/. 2000-12-27 Paul Eggert * tests/sticky-check: Turn off the working directory's sticky bit, so that we don't have to worry about it later. * src/copy.c (same_file_ok): Use a single auto var for tmp_dst_sb, instead of two static vars. Likewise for tmp_src_sb. 2000-12-26 Jim Meyering * Version 4.0.35. * Regenerate build/config framework to use automake-1.4b and the latest CVS version autoconf. * tests/mkdir/perm: Disable the test if the working directory has the sticky bit set. * tests/cp/cp-parents: Likewise. Reported by Nelson Beebe. 2000-12-25 Jim Meyering Clean-up to avoid warnings from Irix's c89. * src/remove.c (hash_compare_active_dir_ents): Return explicit `true' or `false', rather than relying on implicit int-to-enum cast. * src/copy.c (same_file_ok): Remove declaration and set of unused variables: src_sb_no_link, dst_sb_no_link. * src/ls.c (extract_dirs_from_files): Remove unused variable. Reported by Nelson Beebe. * src/ls.c (gobble_file): Move decl of local, val, into the scope where it's used. 2000-12-24 Jim Meyering For both ln and install, when using `--backup=simple --suffix=S', the suffix `S' wasn't used. * src/ln.c (main): Actually use the local variable, `backup_suffix_string'. * src/install.c (main): Likewise. Nelson Beebe reported the unused variables. * tests/ln/misc: Add a test for this (for all of cp, mv, ln, install). * man/help2man: Update to version 1.24. 2000-12-22 Jim Meyering * Version 4.0.34. * src/shred.c (isaac_seed_machdep) [_ARCH_PPC]: Disable the code that would use the PPC mfspr `asm' code. Suggestion from Michael Stone. 2000-12-19 Jim Meyering * doc/fileutils.texi: Use `ref_file' in place of `file' to make descriptions of the various --reference=... options clearer. 2000-12-17 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. 2000-12-16 Jim Meyering * src/chown-core.c (uint_to_string): New function. (uid_to_name): Use it. (gid_to_name): Use it. Rename locals, user/group, to uid/gid. * src/chown-core.h (enum Change_status): Start with 1. * src/chown.c (main): Rename locals, user/group, to uid/gid. * src/chgrp.c (main): Rename local, group, to gid. * tests/group-names: New file. * tests/Makefile.am (EXTRA_DIST): Add group-names. * tests/chgrp/basic: Use group-names. * tests/chgrp/deref: Likewise. * tests/chgrp/recurse: Likewise. * tests/chgrp/basic: Don't assume that creating a file gives it group $g1. * tests/chgrp/Makefile.am (TESTS): Add recurse. 2000-12-15 Jim Meyering * src/chown-core.h [enum Dereference_symlink] (dereference): Rename from change_symlinks. * src/chown-core.c: Declare lstat. Rename change_symlinks member to `dereference' and use the DEREF_* enum values. (describe_change): Merge the chgrp and chown switch statements. Use xmalloc to form the `user:group' string. (change_file_owner): Record (and later, use) is_symlink and is_directory from the lstat stats, in order to control whether we operate on symlinks and whether (with -R) we traverse symlinks to directories. When dereferencing, use open/fchown (rather than chown) on symlinks. * src/chown.c (main): Reflect renaming: s/dereference/change_symlinks/. * src/chgrp.c (main): Likewise. * src/chown-core.c (describe_change): Use `:' (not `.') to separate the username and group in messages evoked by the --verbose and --changes options. 2000-12-09 Jim Meyering * src/Makefile.am (noinst_HEADERS): Add chown-core.h. (chown_SOURCES): Define. (chgrp_SOURCES): Define. * src/chgrp.c: Include "chown-core.h". [enum Change_status, enum Verbosity]: Remove declarations. Remove decls of globals that are now part of struct Chown_option. Remove decl of xstat. (describe_change): Remove function. (change_file_group): Likewise. (change_dir_group): Likewise. (parse_group): Don't set global, groupname, here... (main): ... instead, initialize `chopt.group_name' here. Initialize chopt and update uses of the now-members. Set group_name also when it's obtained via a --reference=FILE option. Call change_file_owner (with -1 for uids), not change_file_group. * src/chown.c: Don't include pwd.h or grp.h -- no longer needed. Include "chown-core.h". [enum Change_status, enum Verbosity]: Remove declarations. Remove decls of globals that are now part of struct Chown_option. (describe_change): Remove function. (change_file_owner): Likewise. (change_dir_owner): Likewise. (main): Initialize chopt and update uses of the now-members. Set user_name and group_name also when they're obtained via a --reference=FILE option. Pass `chopt' to change_file_owner. * src/chown-core.c: Include , , and "xalloc.h". [!_POSIX_VERSION]: Declare getgrnam and getgrgid. (gid_to_name): New function. (uid_to_name): Likewise. (chopt_free): Likewise. Factor out code that's common to chgrp.c and chown.c. * src/chown-core.h: New file. * src/chown-core.c (chopt_init): New function. (describe_change): Extracted/combined from chgrp.c and chown.c. (change_dir_owner): Likewise. (change_file_owner): Likewise. * po/POTFILES.in: Add src/chown-core.c. * configure.in (AC_OUTPUT): Add tests/chgrp/Makefile. * tests/Makefile.am (SUBDIRS): Add chgrp. * tests/chgrp: New directory. * tests/chgrp/basic: New test. * tests/chgrp/deref: Likewise. * tests/chgrp/Makefile.am: New file. * src/chown.c (change_file_owner): Restore special file permission bits, since calling chown resets them on some systems. Reported by Matt Perry. 2000-12-08 Andreas Schwab * tests/mv/mv-special-1: Don't make the success of the test depend on the order in which directory entries are processed. 2000-12-03 Jim Meyering * src/ls.c (gobble_file) [USE_ACL]: Set have_acl member unconditionally to avoid uninitialized memory reference via FILE_HAS_ACL. * Makefile.maint (alpha): Use rsync rather than scp, so the destination file is created only after the successful completion of the copy. 2000-12-02 Jim Meyering * tests/ls/Makefile.am (TESTS): Add follow-slink. * tests/ls/follow-slink: New file. 2000-12-01 Paul Eggert * src/ls.c (gobble_file): Do not fall back on lstat if stat fails; POSIX.2 does not allow this. Invoke acl only on non-symlinks, and only if lstat or stat succeeds. 2000-12-02 Jim Meyering * configure: Regenerate using the very latest version (in CVS) of autoconf. * tests/dd/skip-seek: Remove test #2, now that support for the `B' suffix is gone. * tests/dd/Makefile.am (TESTS): Add skip-seek2 * tests/dd/skip-seek2: New file. 2000-12-01 Paul Eggert * src/dd.c (skip, dd_copy): Use ssize_t to store result of safe_read, to avoid overflow e.g. on 64-bit Solaris sparc. (dd_copy): Remove unnecessary cast. 2000-12-01 Paul Eggert * doc/fileutils.texi: Remove B suffix. Document how to have the desired effect without it. * src/dd.c: Undo most of the changes since 2000-11-24, since we've documented a standard way to do it. (skip_bytes, seek_bytes): Remove. (usage): Remove B suffix. (scanargs, skip, dd_copy, main): Remove support for B suffix. 2000-11-28 Jim Meyering * src/mkdir.c (main): Remove any trailing slash unconditionally. Reported by Volker Borchert. * tests/mkdir/t-slash: Add a test for this. 2000-11-27 Jim Meyering * Version 4.0.33. * tests/touch/no-rights: Use touch with `-d tomorrow' to avoid a race condition. * tests/Fetish.pm (_compare_files): New function. (_process_file_spec): Likewise. (_at_replace): Likewise. (run_tests): Support new keywords, AUX and CMP and associated syntax and semantics. * config.sub: Likewise. * config.guess: Likewise. 2000-11-26 Jim Meyering * src/dd.c (skip): Perform the `records < blocksize' test at the top of the loop, not at the bottom. 2000-11-26 Paul Eggert * src/dd.c (skip): New arg COUNT_BYTES. Read with BLOCKSIZE bytes, but consider RECORDS to be a byte count if COUNT_BYTES is nonzero. 2000-11-25 Paul Eggert * doc/fileutils.texi: Document seek=nB and skip=nB. * src/dd.c (skip_bytes, seek_bytes): Now booleans, not counts. (seek_records): Renamed from seek_record, for consistency with skip_records and max_records. All uses changed. (usage, scanargs): Remove bseek=n and bskip=n; instead, use seek=nB and skip=nB. (enum Unit, Unit): Remove. (skip, dd_copy, main): Undo most recent change. (dd_copy, main): Pass blocksize of 1 as appropriate when skip_bytes or seek_bytes is nonzero. (main): Rework ftruncate failure diagnostic to always use byte count. 2000-11-25 Jim Meyering * src/dd.c: Add new options, bskip and bseek. Based on a patch from Chris Sylvain. * tests/dd/skip-seek: New tests. * tests/dd/Makefile.am (TESTS): Add skip-seek. 2000-11-24 Paul Eggert * src/dd.c (S_TYPEISSHM): New macro. (main): Report failed fstat. Complain only when ftruncate fails on a regular file, a directory, or a shared memory object. 2000-11-24 Jim Meyering * src/dd.c: Declare a pointer parameters to be `const' as appropriate. * src/dd.c (main): Use ftruncate only on regular files. Based on a patch from Michael Stone. Reported by andras@kolumbus.fi at http://bugs.debian.org/77174. 2000-11-23 Jim Meyering * src/df.c (show_point): Before accepting an entry as a match, make sure that the mount directory exists and has the required device number. Before, e.g., `df /floppy' would mistakenly report on the root partition if /floppy were not listed in /etc/mtab but / was. Patch from Eirik Fuller (http://bugs.debian.org/76923). * src/chmod.c (mode_changed): New function. (change_file_mode): Use it to determine accurately when -c should make chmod announce there's been a change. Based on a patch from Michael Stone. Reported by Kai Henningsen as Debian bug #77349. * tests/chmod/c-option: New test for the above fix. * tests/chmod/Makefile.am (TESTS): Add c-option * tests/sticky-check: New file. Factored out of tests/mkdir/parents. * tests/Makefile.am (EXTRA_DIST): Add sticky-check. * tests/mkdir/parents: Source sticky-check instead of open-coding it. 2000-11-19 Jim Meyering * tests/chmod/equal-x: Update to use its own directory, and better trap. 2000-11-18 Paul Eggert * src/ls.c (BLOCK_SIZE_OPTION, COLOR_OPTION, FORMAT_OPTION, INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION, SHOW_CONTROL_CHARS_OPTION, SORT_OPTION, TIME_OPTION): New enum values, to ensure that option values can't collide with chars. (long_options, decode_switches): Use them. 2000-11-18 Paul Eggert * src/sys2.h (GETOPT_HELP_CHAR, GETOPT_VERSION_CHAR): Now enum constants rather than macros. Use values that cannot conflict with C characters or with -1, CHAR_MAX + 1, etc. 2000-11-18 Jim Meyering * src/du.c (count_entry): Don't omit the size of a directory entry merely because we couldn't `chdir' into it. That would give subtly different results in some cases. Reported by Mattias Wadenstein via Michael Stone. * src/ls.c: Revert change of 2000-11-11. It inadvertently change the output format of `ls -l --full-time'. * src/mkdir.c (main): When failing to create a directory, give only one diagnostic, not two. Reported by Volker Borchert. * src/mkdir.c (main): With --parents, remove any trailing slashes from the argument to the final mkdir call. Required for NetBSD. Reported by Volker Borchert. * tests/mkdir/t-slash: New test for this. * tests/mkdir/Makefile.am (TESTS): Add t-slash. * tests/mv/mv-special-1: Create and `cd' into temporary directory before anything else. Reported by Volker Borchert. * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. 2000-11-17 Jim Meyering * Makefile.am (.NOTPARALLEL): Remove target. * GNUmakefile (.NOTPARALLEL): ... put it here instead, since this file is common to these packages: fileutils, sh-utils, textutils. * Makefile.am (.NOTPARALLEL): New target. Prevent unwanted parallelism. Suggestion from Ulrich Drepper. * po/Makefile.in.in (Makefile): Likewise. * Makefile.maint (sha1): Define. (announcement): Include SHA1 digest of .tar.gz file. 2000-11-14 Jim Meyering * tests/mkdir/perm: Add an `echo' so that the input to the sed command is NL-terminated. Otherwise, Solaris' /bin/sed generates no output. Reported by Vin Shelton. 2000-11-13 Paul Eggert * src/sys2.h (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should be tested with #ifdef, not with #if. 2000-11-12 Jim Meyering * src/ls.c (print_long_format): Remove obsolete comment. From Paul Eggert. * doc/texinfo.tex: Update from master repository. 2000-11-11 Paul Eggert * src/ls.c (): Include if HAVE_LANGINFO_H. (DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c. (print_long_format): Use it to determine "date" format. Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in incorrect behavior when LC_ALL is unset, LC_TIME is "C", and LC_MESSAGES or LANG is set to something disagreeing with the POSIX locale. 2000-11-11 Jim Meyering * Version 4.0.32. * Makefile.maint (GZIP_ENV): Define to --no-name, so the timestamp is not included in the .tar.gz file. * tests/mkdir/perm (tests): Use `empty' (instead of just blanks) to indicate no `-m' option. Using just blanks wasn't portable to Solaris2.5.1's /bin/sh. * tests/mkdir/perm: Don't put a newline in IFS; that's not portable to NetBSD's /bin/sh. Instead, filter newlines and leading/trailing blanks out of `tests' before the `set -'. * Makefile.maint (announcement): Limit depth of ChangeLog `find' to 2. * src/ls.c (print_long_format): Wrap the `--full-time' date format string in _(...), so it too may be internationalized. Suggestion from Jungshik Shin. 2000-11-10 Jim Meyering * src/touch.c (main): Interpret a lone numeric argument of 8 or 10 digits as a file name, rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format. Reported by Wenjun Zheng. * tests/touch/obsolescent: New test for this. * tests/touch/Makefile.am (TESTS): Add obsolescent. 2000-11-06 Jim Meyering * tests/cp/cp-parents: Move mkdir tests into ../mkdir. * doc/fileutils.texi: Use Free Documentation Licence. Change GNU to @sc{gnu} in many places. * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. * man/help2man: Update from latest version: 1.23. * src/mkdir.c: Do not set the permissions of the final directory component if it was not just created. Based on a patch from Volker Borchert. * tests/rwx-to-mode: New file. * tests/Makefile.am (EXTRA_DIST): Add rwx-to-mode. * tests/mkdir/parents: New test for the above mkdir.c fix. * tests/mkdir/Makefile.am (TESTS): Add parents. (TESTS_ENVIRONMENT): Define srcdir=$(srcdir). 2000-11-02 Won-kyu Park * src/df.c (print_header): Mark strings for translation. 2000-11-05 Jim Meyering * Version 4.0.31. * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. * src/mkdir.c (main): Use make_dir instead of using mkdir directly. Diagnose as failure when mkdir tries to create (without the --parent (-p) option) a directory that already exists. * tests/cp/cp-parents: Add a test for the above fix. * tests/mv/mv-special-1: Clean up this test. 2000-11-01 Jim Meyering * Version 4.0.30. * src/chmod.c (main): Better diagnostics. 2000-10-31 Jim Meyering * tests/lang-default: Add all the internationalization-related variable names autoconf uses. Set and export them in a loop. `mkdir -p' would create parent directories with permissions that did not account for the umask. [introduced with the 2000-09-30 change that became part of fileutils-4.0.28] * src/mkdir.c: Include dirname.h. Compute the parent directory `mode' unconditionally, effectively as `$(umask -S),u+wx'. Use make_path to create only the parent directories, thus using the same code, both with and without -p, to create the final component in each file name. Reported by Bob Proulx. Add tests for the above fix. * tests/cp/cp-parents: Add some permission tests. * tests/mkdir/perm: Fix the test so it actually does something. Run each test also with mkdir's `-p' option and check permissions on the parent directories. 2000-10-23 Paul Eggert * doc/getdate.texi: Use @sc where appropriate. Document the ranges of supported times more precisely. Correct menu spacing. Document old Latin 12m/12pm tradition. Remove list of alphabetic time zone names, as it wasn't correct and people shouldn't be relying on it anyway. Relative items also account for non-DST adjustments. Fix some misspellings. 2000-10-30 Jim Meyering * configure, config.h.in, Makefile.in, etc.: Regenerate using the very latest version (in CVS) of autoconf. 2000-10-29 Jim Meyering * Version 4.0.29. * src/cp.c (do_copy): When constructing dst_path for use with the --parents option, first remove any trailing slashes from the command line argument. Otherwise, tests/cp/cp-parent would fail on NetBSD. * tests/cp/cp-parents: Add a test. * src/ls.c (DT_INIT): Define. [enum filetype]: Remove the #ifdef, and use DT_INIT on the initializers instead. `unknown' was undefined for some systems. Reported by John David Anglin. * tests/lang-default (LC_COLLATE): Set it to the empty string and export it. Otherwise, tests/cp/cp-mv-backup would fail e.g., when LC_COLLATE was set to en. Reported by Vin Shelton. 2000-10-28 Jim Meyering * src/ls.c (main): In call to gobble_file with `"."', use `directory' as the type, not `unknown'. [enum filetype] (arg_directory): Rather than `100', use a number that should never conflict with another DT_* value. From Ulrich Drepper. * Version 4.0.28. Make `ls' a lot more efficient on systems (e.g., linux-2.4.*) that store file type information in directory entries. * src/ls.c [enum filetype] (unknown): Add members (as yet unused): (HAVE_STRUCT_DIRENT_D_TYPE): Define. (format_needs_type): New global. (main): Set it. (print_dir): Set `type' from directory entry, if possible. (gobble_file): Add a parameter, TYPE. Stat the file only if its type is unknown and we need the type. Patch from Ulrich Drepper. Shred can now determine the size of a block devices (e.g. /dev/fd0) by writing until a write operation fails. * src/shred.c: Include assert.h. (fillrand): Add a parameter, size_max. Adjust caller. Add an assertion. (dopass): Break out of the `for (;;)' loop if size < offset. That can happen now that dopass is called with SIZE == -1. (do_wipefd): Accept a length of zero only for a regular file. If lseek fails or returns 0 for a non-regular file, let dopass determine the length. Inspired by a patch from Alan Iwi. * tests/Makefile.am (EXTRA_DIST): Add lang-default. * tests/rm/hash: Factor out the expensive-test-checking code, ... * tests/expensive: ... into this new file. * tests/cp/perm: Disable this test by default; it's expensive. Mark this as an expensive test. * tests/Makefile.am (EXTRA_DIST): Add expensive. * doc/fileutils.texi (shred invocation): Give two examples. 2000-10-26 Jim Meyering * doc/getdate.texi (Authors of getdate): Add Paul Eggert. 2000-10-23 Jim Meyering * Makefile.am (EXTRA_DIST): Add .prev-version. 2000-10-22 Jim Meyering * src/cp.c (make_path_private): Add a FIXME comment. * tests/lang-default: New file. Set LANG, LC_ALL, and LANGUAGE to '' (rather than to `C') and export them into the environment. Suggestion from Bruno Haible. * tests/cp/backup-is-src: Source lang-default rather than open-coding the setting/exporting of LANG, LC_ALL, and LANGUAGE. * tests/cp/cp-mv-backup: Likewise. * tests/cp/same-file: Likewise. * tests/cp/slink-2-slink: Likewise. * tests/cp/symlink-slash: Likewise. * tests/ln/sf-1: Likewise. * tests/ls/symlink-slash: Likewise. * tests/ls/time-1: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/diag: Likewise. * tests/mv/force: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/i-2: Likewise. * tests/mv/into-self: Likewise. * tests/mv/into-self-2: Likewise. * tests/mv/into-self-3: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/rm/r-1: Likewise. * tests/rm/r-2: Likewise. 2000-10-21 Jim Meyering * tests/cp/cp-parents: New test. * tests/cp/Makefile.am (TESTS): Add cp-parents; 2000-10-19 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. * depcomp: Likewise. 2000-10-18 Jim Meyering * tests/mv/part-symlink: Make sure the programs use C-locale formats and translations. Bruno Haible reported that this test would fail when using other locales, because ls printed a translation of `total'. 2000-10-16 Jim Meyering * src/ls.c (print_long_format): Wrap date format strings in _(...) so they may be internationalized. Suggestion from Christian Rose. 2000-10-13 Jim Meyering * src/mv.c (rm_option_init): Remove FIXME-maybe comment. 2000-09-30 Jim Meyering * tests/du/two-args: Update to use newer template. * src/install.c: Remove big, option-describing comment block. (main): Rename local `symbolic_mode' to `specified_mode'. * src/mkdir.c (main): Don't set the umask to 0 and hand-apply the previously-set umask unconditionally. Do that only when a MODE has been specified. Otherwise, call mkdir with the full creation mask (0777 or 0666) and let the kernel apply the umask. The difference shows up only on file systems with ACL support when the containing directory has a default ACL. Patch by Andreas Gruenbacher. (main): Rename local `symbolic_mode' to `specified_mode'. * src/mknod.c (main): Likewise (but `call mknod', not mkdir). Also, when MODE is specified, call chmod to ensure that the permission bits are set as specified even when the containing directory has a default ACL. Patch by Andreas Gruenbacher. * src/mkfifo.c (main): Likewise (but `call mkfifo', not mkdir). Patch by Andreas Gruenbacher. * tests/mkdir/perm: New test. * tests/mkdir/Makefile.am (TESTS): Add perm. 2000-08-17 Andreas Gruenbacher * src/chmod.c (change_file_mode): Perform the chmod even if the file mode permission bits are the same as those that should be set. Omitting the chmod call would be alright with minimal 1003.1e DS17 ACLs, but eventually there may be other permissions in addition to rwx. E.g., add and delete for directories, and something analogous to NT's take ownership permission. 2000-09-25 Jim Meyering * tests/cp/same-file: Don't use `diff -u'. It's not portable. Reported by Christian Krackowizer. * tests/cp/same-file: Run `diff -c' only if cmp finds a difference. * tests/mv/part-symlink: Likewise. And clean up. `shred --exact file1 file2' wouldn't touch `file1' * src/shred.c (long_opts): --exact doesn't take an argument. Reported by Alan Iwi. * tests/shred/exact: New test for this. * tests/shred/Makefile.am (TESTS): Add exact. * Makefile.maint (PREV_VERSION): Get the value from a file, rather than trying to derive it from the current version number. This is much more robust. (alpha): Record just-released version number in `.prev-version', and commit (post-tag). * Version 4.0.27. 2000-09-24 Paul Eggert * doc/fileutils.texi: Update to more closely match changes in 4.0z. * src/cp.c (usage): Match revised documentation better. 2000-09-24 Jim Meyering * src/cp.c (main): Tweak a relatively new diagnostic. 2000-09-23 Jim Meyering * tests/ls/time-1: Output more information when a test fails. 2000-09-22 Jim Meyering * src/install.c (cp_option_init): Once again make it so install always unlinks an existing destination before trying to open it for writing. Otherwise, installing onto a running shared library would make the running program malfunction. Reported by Dan Pascu via Michael Stone. * src/mv.c (do_move): Moving a directory specified with a trailing slash from one partition to another, and giving it a different name at the destination would cause mv to get a failed assertion. Reported by Michael Stone. (strip_trailing_slashes_2): Move function definition to precede new first use. * tests/mv/part-rename: New test for the above fix. * tests/mv/Makefile.am (TESTS): Add part-rename. * src/copy.c (copy_internal): Don't try to unlink directories when using --remove-dest with -R. * tests/cp/dir-rm-dest: New test for the above fix. * tests/cp/Makefile.am (TESTS): Add dir-rm-dest. 2000-09-19 Jim Meyering * doc/fileutils.texi (cp invocation): Describe how --force works. Update description of -P (soon to change meaning to conform w/POSIX). Describe --remove-destination. * src/cp.c (main): When used with --force, each of the --link and --symbolic-link options now implies --remove-destination. Reported by Miles Bader via Mike Stone. * tests/cp/link: New file. Test for the above fix. * tests/cp/same-file: Adjust for this change in behavior. 2000-09-15 Volker Borchert * tests/Makefile.am (check-root, root-hint): New targets. (check-recursive): Depend on root-hint. * Makefile.am (check-root): New target. 2000-09-16 Jim Meyering * doc/perm.texi (Changing Special Permissions): Remove this statement: ``a' in the USERS part of a symbolic mode does not cause the special permissions to be affected'... It doesn't reflect what the code does and isn't required by POSIX. Reported by aldomel@ix.netcom.com via Mike Stone. 2000-09-15 Jim Meyering * config.sub: Update from master repository. 2000-09-10 Jim Meyering * tests/cp/cp-mv-backup (LC_ALL): Set to `C' and export to ensure that `ls' sorts the same way for everyone. Reported by Vin Shelton. * Makefile.maint (b_host): Use freefriends.org, not tug.org. 2000-09-09 Jim Meyering * Makefile.maint (announcement): Use a stricter regexp for the previous version. * Version 4.0z. * tests/cp/special-bits: New file. * tests/cp/Makefile.am (TESTS): Add special-bits. (TESTS_ENVIRONMENT): Propagate $MAKE into environment, for special-bits. * src/copy.c (SAME_OWNER, SAME_GROUP, SAME_OWNER_AND_GROUP): Define. (copy_internal): Avoid calling chown if we know it's not necessary. * src/copy.c (copy_internal): Call chmod also if we've made the preceding chown call and we're supposed to preserve some special permission bit(s) that would have been reset by chown. Reported by Greg Louis. 2000-09-08 Jim Meyering * src/mkdir.c (S_IRWXUGO): Remove definition. * src/sys2.h (S_IRWXUGO): Define here, instead. 2000-09-07 Jim Meyering * doc/texinfo.tex: Update from master repository. * config.sub: Likewise. * config.guess: Likewise. 2000-09-05 Jim Meyering * tests/mv/part-symlink: Redirect stdout to stderr before trying to remove the temp directory. Otherwise, the `rm -rf' would get an error because the output file wouldn't be closed and the directory wouldn't be `empty'. * tests/cp/same-file: Likewise. * tests/cp/same-file: Remove the `cp -dl sl1 sl2' case, since it's no longer portable (hard link to a symlink). Likewise for the `cp -bdl symlink foo' case. * config.guess: Update from master repository. 2000-09-04 Jim Meyering * src/cp.c: Move declaractions of lstat, stat, and rpl_lstat as well as the definition of lstat from here... * src/copy.h: ...to here. * src/copy.c: Remove declaration of lstat, now that it's in copy.h. * tests/mv/force: mv's --force (-f) option is no longer needed for this test, now that all it does is cancel --interactive (-i). * tests/cp/same-file: Add new tests using cp's --rem option. Reflect the fact that cp's -f option no longer causes cp to remove the destination file before trying to open it. Reflect the fact that `cp -bdl' now makes a backup when copying a symlink onto the file it points to (FIXME: look into this, and why cp -bl does *not* do so). * src/ln.c (do_link): Tweak diagnostics. 2000-09-03 Jim Meyering * src/install.c (cp_option_init): Initialize new members. * src/cp.c (enum): Add UNLINK_DEST_BEFORE_OPENING. [long_options]: Add an entry for --remove-destination. (usage): Describe --remove-destination. (do_copy): Use unlink_dest_after_failed_open member, not `force.' (cp_option_init): Initialize new members. (main): Handle UNLINK_DEST_BEFORE_OPENING (aka --remove-destination). * src/mv.c: Remove obsolete comment block. (cp_option_init): Initialize new members. (usage): Reflect the fact that --force (-f) relates only to whether mv prompts. (main): Remove uses of old `force' option member. * src/install.c (cp_option_init): Reflect `force' no longer means unlink-dest-before-opening * src/copy.h (struct cp_options) [force]: Remove member. [unlink_dest_before_opening]: Add member. `cp -f' and `mv -f' used to do this. Now, you must use `cp --remove-destination' to get this behavior. Now, `cp -f' and `mv -f' work as required by POSIX. [unlink_dest_after_failed_open]: Add member. Paul Eggert reported that `cp -f' removes an existing destination file unconditionally, and that is contrary to POSIX. * src/copy.c (same_file_ok): New function, extracted from copy_internal, and rewritten. (copy_internal): Unlink destination file when unlink_dest_before_opening option is set, and when the source is neither a regular file nor a directory. * tests/mv/Makefile.am (TESTS): Add part-symlink. * src/ls.c: Use strcoll (not strcmp) when comparing file names. Suggestion from Ulrich Drepper. 2000-08-27 Jim Meyering * src/copy.c (copy_reg): New parameters: X and NEW_DST. Remove the SPARSE_MODE parameter. Update caller. Perform POSIX-mandated (for cp) open-with-O_WRONLY|O_TRUNC when copying a regular source file and the destination file exists; upon failure, unlink that existing file, then open again, but with O_WRONLY|O_CREAT. (copy_internal): `force' is not related to interactive; remove the conjunct. Remove the entire `else if (x->force)' block; justifying removal of the non-directory part is easy: POSIX requires we try to open an existing regular file, so we can't unlink it beforehand. The part that changes the mode on a directory to allow overwriting isn't necessary. * src/copy.c (copy_reg): Rename two goto labels. (copy_internal): Set `new_dst' when the move_mode rename fails, since we then unlink the destination file. * src/cp.c (usage): --force is independent of --interactive. 2000-08-24 Jim Meyering Put back the kludge. It's necessary after all. * src/dd.c (buggy_lseek_support): New function. (skip): Use it. Frank Adler reported that although _llseek returns 0, lseek erroneously returns an offset suggesting the operation succeeded even though it fails. * install-sh: Double quote as needed, to protect against arguments containing spaces or shell metacharacters. Reported by Bruno Haible. 2000-08-23 Jim Meyering * tests/dd/not-rewound: New test, for the SEEK_CUR vs. SEEK_SET part of the last change. Based on Paul's example. * tests/dd/Makefile.am (TESTS): Add not-rewound. 2000-08-22 Paul Eggert * src/dd.c (skip): Assume lseek failed if it returned zero, since a zero return is impossible and some buggy drivers return zero. Use SEEK_CUR rather than SEEK_SET; this fixes a bug when the file descriptor is not currently rewound. 2000-08-23 Jim Meyering * src/dd.c: Back out my last change. Paul's (above) is better. 2000-08-22 Jim Meyering Don't even try to use lseek on character devices. * src/dd.c (buggy_lseek_support): New function. (skip): Use it. Reported by Martin Gallant via Michael Stone. 2000-08-21 Jim Meyering * tests/cp/same-file: Clean up traps. Create files in a subdir. * install-sh (oIFS): Remove unmatched double quote, left over from my 2000-08-12 change. From J. David Anglin. * Makefile.maint (wget-update): Get the latest version of depcomp. * depcomp: Update from automake. 2000-08-20 Jim Meyering * Version 4.0y. Add support for cp's new POSIX-mandated -H and -L options. * src/copy.h (enum Dereference_symlink): Define. (struct cp_options) [dereference]: Change type to Dereference_symlink. * src/copy.c: Declare lstat. (copy_dir): Set `xstat' member to lstat so that with `-H' we don't follow symlinks found via recursive traversal. Update uses of `dereference' to compare against new enum member names. * src/cp.c (long_opts): Add --dereference, -L. (usage): Describe -L and -H. (cp_option_init): Initialize to DEREF_UNDEFINED, not `1'. (main): Add `H' and `-L' to getopt spec string. [case 'a']: Initialize `dereference' to DEREF_NEVER, not 0. [case 'd']: Likewise. [case 'H']: New case. [case 'L']: New case. [case 'R']: Don't set dereference to `0' here. If it's not yet defined, set x.dereference to DEREF_NEVER if -R was specified, else set it to DEREF_ALWAYS. Set x.xstat accordingly for -H. * doc/fileutils.texi (cp invocation): Describe -H and -L. * src/mv.c (cp_option_init): Initialize to DEREF_NEVER, not `0'. * src/install.c (cp_option_init): Initialize to DEREF_ALWAYS, not `1'. * tests/cp/Makefile.am (TESTS): Add cp-HL. * tests/cp/cp-HL: New test. * src/du.c (print_totals): Rename global from opt_combined_arguments. 2000-08-17 Paul Eggert * src/copy.c (DO_CHOWN): Do not make a special case for non-root. POSIX.2 requires that cp -p and mv attempt to set the uid of the destination file, even if you're not root. This affects behavior only on hosts that let you give files away via chmod. * NEWS: Describe the above change. 2000-08-15 Jim Meyering * src/du.c (count_entry): Remember the current directory also for `.' and `..'. Reported by Stephen Smoogen, based on a patch from H.J. Lu. * tests/du/two-args: Add tests for this. 2000-08-14 Jim Meyering * src/copy.c (copy_reg): Move declaration of local, `n_read', into the scope where it's used. (copy_internal): In calling copy_reg, pass not the raw `src_mode', but the possibly-umask-relative mode, `get_dest_mode (x, src_mode)'. 2000-08-13 Jim Meyering * src/copy.c (get_dest_mode): Rename from new_nondir_mode. Honor the umask for `cp', but not for `mv' or `cp -p'. (copy_reg): New 4th parameter, dst_mode. Pass it as 3rd arg. to open. (copy_internal): Change type of locals `src_mode' and `src_type' from int to mode_t. Remove unnecessary local, `fix_mode'. Combine two if-stmts into one. Pass `src_mode' as 4th arg to copy_reg. If we've just created a new regular file, return early, skipping the chmod step. copy_reg now sets permissions of such files upon creation. Use get_dest_mode, so there's just one chmod call here. * tests/cp/Makefile.am (TESTS): Add perm. * tests/cp/perm: New tests, to help ensure the above didn't change anything. 2000-08-12 Jim Meyering * tests/mv/into-self-2: Remove test for the VERSION_CONTROL and/or SIMPLE_BACKUP_SUFFIX envvars. Source ../envvar-check instead. * tests/mv/i-2: Likewise. * tests/mv/to-symlink: Likewise. * tests/cp/slink-2-slink: Likewise. * tests/mv/partition-perm: Likewise. * tests/cp/cp-mv-backup: Likewise. * tests/Makefile.am (EXTRA_DIST): Add envvar-check. * tests/envvar-check: New file. * install-sh: Remove trailing blanks. Output diagnostics to stderr, not stdout. Remove many useless curly braces and double quotes. 2000-08-11 J. David Anglin * install-sh: Improve error handling. Do the job even when the target file is `busy' on systems that don't allow such files to be unlinked. 2000-08-12 Jim Meyering * README: Remove note about how installation can fail and the work-around, now that it's all automated. 2000-08-07 Paul Eggert * src/cp.c (usage, main): For cp -P messages, mention the new behavior as well as the old. 2000-08-07 Paul Eggert Standardize on "memory exhausted" instead of "Memory exhausted" or "virtual memory exhausted". Invoke xalloc_die instead of printing our own message. * src/chmod.c (main): Likewise. * src/copy.c (copy_dir, copy_internal): Likewise. * src/cp.c (do_copy): Likewise. * src/dircolors.c (xstrndup): Likewise. * src/install.c (main): Likewise. * src/ln.c (do_link): Likewise. * src/mkdir.c (main): Likewise. * src/mkfifo.c (main): Likewise. * src/mknod.c (main): Likewise. * src/mv.c (movefile): Likewise. * src/remove.c (remove_cwd_entries, rm): Likewise. * src/shred.c (quotearg_colon, xmalloc): "virtual memory exhausted" -> "memory exhausted" 2000-08-07 Jim Meyering * src/cp.c (enum) [PARENTS_OPTION]: New member. (long_opts): Update "parents" and deprecated "path" entries to use `PARENTS_OPTION', not `P'. (usage): Update --help output. (main): Warn that the meaning of `-P' will soon change. 2000-08-06 Jim Meyering * doc/fileutils.texi (cp invocation) [-r]: Remove inaccurate mention of `non-symbolic links'. 2000-08-05 Jim Meyering * config.guess: Update from master repository. * config.sub: Likewise. * Regenerate build/config framework to use the latest CVS versions of automake and autoconf. 2000-07-31 Jim Meyering * src/shred.c [!HAVE_CONFIG_H]: Use `virtual memory exhausted', not `Memory exhausted'. 2000-07-30 Jim Meyering * src/sys2.h (ISPRINT): Undef before defining to avoid warning. * src/copy.c (copy_internal): Quote the file names that are displayed with --verbose and --backup. * src/remove.c (remove_file): Quote the file names that are displayed with --verbose. (remove_dir): Likewise. * tests/mv/mv-special-1: Add quote marks to match new behavior. * tests/rm/r-1: Likewise. * tests/rm/r-2: Likewise. * src/df.c: Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise. * src/shred.c: Likewise. * src/rmdir.c: Likewise. * src/cp-hash.c: Likewise. * src/chgrp.c: Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. Add more precise diagnostics. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/remove.c (remove_cwd_entries): Quote one more file name. * src/help-version: Remove file. Move it to ... * tests/help-version: ...here * tests/Makefile.am (TESTS): Set to help-version. (TESTS_ENVIRONMENT): Define. (EXTRA_DIST): Add $(TESTS). * src/Makefile.am (EXTRA_DIST): Remove help-version. (TESTS): Remove definition. (TESTS_ENVIRONMENT): Remove definition. 2000-07-24 Bruno Haible * src/ls.c: Include , , , . (quote_name): Use mbrtowc to step through the filename string while replacing nonprintables with question marks. Return the screen width, not the strlen length. Do no output if the out stream is NULL. (length_of_file_name_and_frills): Use the quote_name return value. 2000-07-25 Jim Meyering * src/chgrp.c (change_file_group): Save errno from a possibly failed chown, and use that later. Otherwise, errno itself could be clobbered before used. * src/chmod.c (change_file_mode): Likewise. * src/chown.c (change_file_owner): Likewise. * src/mv.c (main): Remove unnecessary "%s" argument. * src/ln.c: Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. Add more precise diagnostics. * src/mv.c: Likewise. * src/cp.c: Likewise. * src/touch.c: Likewise. 2000-07-23 Jim Meyering * Version 4.0x. * src/dd.c (main): Give a better diagnostic for e.g., `dd if=/dev/fd0 seek=100000000000'. Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. Add many, more precise diagnostics. * src/remove.c (ASSIGN_STRDUPA): Remove macro definition. * src/sys2.h (ASSIGN_STRDUPA): New macro (moved here from remove.c). Fix cp so that `cp -r DIR1/ DIR2' works once again. * src/cp.c (ASSIGN_BASENAME_STRDUPA): New macro. (do_copy): Use it here (so we always strip trailing slashes before calling base_name). Reported by Branden Robinson via Michael Stone. Test for the above fix. * tests/cp/Makefile.am (TESTS): Add dir-slash. * tests/cp/dir-slash: New file. 2000-07-17 Jim Meyering * Makefile.maint (WGET): Define. (ftp-gnu): Define. (wget-update): New rule, based on the one in autoconf. * src/shred.c (usage): Give a little more info. Remove a FIXME comment. Avoid warnings. * src/ls.c (struct bin_str): Declare `string' member to be `const'. (put_indicator): Declare local `p' to be `const'. 2000-07-15 Jim Meyering Begin converting "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call -- if there's only one. If there are two or more, then use `quote_n (0, ...), quote_n (1, ...), ...'. Here's the justification, from Paul Eggert (thanks, Paul): [Consider] the following, taken from fileutils/copy.c: error (0, errno, _("cannot create directory `%s'"), dst_path); Now, suppose dst_path is "/'\nrm: removing all files under `/" (expressed in C string syntax). This will cause the user to see the following delightfully ambiguous display: cp: cannot create directory `/' rm: removing all files under `/' It would be better to rewrite the above line to be something like this: error (0, errno, _("cannot create directory %s"), quote (dst_path)); using the definition of "quote" [in lib/quote.c]. That way, the user will see the following unambiguous display instead: cp: cannot create directory `/\'\nrm: removing all files under `/' One might object that any user who asks to copy a file with a weird name like that deserves to get confused. But this is not a good objection, as the source of the string may not be under the user's control, or even visible to the user. * src/copy.c: Adapt format strings and args as above. Include quote.h. I have deliberately not changed the output of --verbose. FIXME: maybe I should. * src/cp.c: Likewise. * src/remove.c: Likewise. * src/install.c: Likewise. and improve a couple diagnostics. 2000-07-13 Paul Eggert * NEWS: Describe --quoting-style=clocale. * doc/fileutils.texi: New clocale quoting style. Undo the previous change to the locale quoting style. 2000-07-09 Jim Meyering * config.guess: Update from FSF. * config.sub: Likewise. 2000-07-05 Paul Eggert * doc/fileutils.texi: Don't use ` and ' for quoting. 2000-07-01 Jim Meyering * Version 4.0w. * tests/touch/dangling-symlink: Warn about the problem rather than failing, on some very recent (at least 2.3.99) versions of the Linux kernel. Suggestion from Ulrich Drepper. * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Define host_triplet for use in the dangling-symlink test. 2000-06-28 Jim Meyering * tests/mv/i-2: Don't copy `out' into /tmp. 2000-06-26 Paul Eggert Now that savedir.c has been cleaned up... * src/chgrp.c (change_dir_group): Don't set errno before invoking savedir, and assume that errno is nonzero if savedir fails. * src/chmod.c (change_dir_mode): Likewise. * src/chown.c (change_dir_owner): Likewise. * src/copy.c (copy_dir): Likewise. * src/du.c (count_entry): Likewise. 2000-06-26 Paul Eggert * src/df.c (show_dev): Round disk usage percentage up, not to nearest value. Use integer arithmetic if it's easy. Fix bug when converting twos-complement negative values to floating point. 2000-06-25 Jim Meyering * src/copy.c (copy_internal): Don't return immediately after a failed copy_dir call -- otherwise, the failure to read a single file in a source directory would cause the containing destination directory not to have the owner and/or permissions set properly. Reported by Piotr and Maciej Kwapulinski. * tests/cp/fail-perm: Test for it. * tests/cp/Makefile.am (TESTS): Add fail-perm. * Version 4.0v. 2000-06-18 Jim Meyering * README-alpha: Update. 2000-06-17 Jim Meyering * tests/install/basic-1: Don't fail (just exit 77) if strip doesn't work. Suggestion from Ulrich Drepper. Add canonical trap/mkdir/cd, plus exit portability cruft. 2000-06-16 Jim Meyering * src/copy.c (copy_reg): Give a slightly better diagnostic upon open failure. 2000-06-15 Paul Eggert * NEWS, doc/fileutils.texi: df, du, and ls now round disk usage up and disk free space down. * src/df.c (df_readable): New arg for rounding style. Round negative numbers correctly. (show_dev): Round disk usage up and disk free space down. * src/ls.c (print_dir, gobble_file, print_long_format, print_file_name_and_frills): Round disk usage up. * src/du.c (print_size): Likewise. 2000-06-14 Andreas Schwab * tests/rm/r-1 (framework_failure): Initialize this instead of test_failure. 2000-06-12 Jim Meyering * Version 4.0u. * tests/rm/r-1: Clean up. Be careful to remove temp directory upon interrupt. * src/mv.c (main): Give the correct diagnostic when using the --target-dir=DIR option, but no arguments. Patch from Michael Stone. Reported by Herbert Xu. * tests/mv/diag: New test for this. * tests/mv/Makefile.am (TESTS): Add diag. 2000-06-08 Brian Youmans <3diff@gnu.org> * doc/perm.texi (Multiple Changes): Fix typo. * doc/fileutils.texi: A few typos and minor formatting fixes. * doc/getdate.texi: Likewise. 2000-06-06 Jim Meyering * Makefile.maint (alpha_subdir): Factor out `gnu/fetish'. 2000-06-04 Jim Meyering * Version 4.0t. * src/df.c (show_point) [HAVE_REALPATH && !HAVE_RESOLVEPATH]: Cast undeclared `realpath' to char* to avoid warning. 2000-06-03 Jim Meyering * src/install.c (usage): Document that -v is a synonym for --verbose. * src/mkdir.c: Allow -v as synonym for --verbose, to be consistent with other fileutils. * src/rmdir.c: Likewise. Suggestion from François Pinard. 2000-06-02 Jim Meyering * configure.in (ALL_LINGUAS): Add Danish (da). 2000-05-29 Jim Meyering Allow `cp -d -u' to copy one symlink onto another that's identical. * src/copy.c (copy_internal): Change the || to ^ in the big sameness test, so copying one symlink onto another, identical one doesn't fail here. If the symlink call fails, don't report the failure if the destination already exists and is a symlink pointing to the proper name. Reported by Andrew Burgess. * tests/cp/slink-2-slink: New test. * tests/cp/Makefile.am (TESTS): Add slink-2-slink. * tests/cp/same-file: Adapt to fit new semantics of `cp -d'. 2000-05-25 Jim Meyering * src/dd.c (close_stdout_wrapper): Don't dereference NULL pointer. From Bob Proulx. 2000-05-23 Jim Meyering * tests/shred/remove: Add traps to clean up. Correct broken running-as-root test. * tests/mv/i-2: Exit 77 when run as root. Reported by Andreas Schwab. 2000-05-20 Jim Meyering * Version 4.0s. * tests/mv/Makefile.am (TESTS): Add i-2, for 2000-05-12 change. * tests/rm/r-2: Clean up. * tests/ls/time-1 (LC_ALL): Set it unconditionally. 2000-05-19 Jim Meyering Save device number as well as inode number for each directory, and use both in comparisons. This makes the directory cycle test more robust, and closes the small remaining hole whereby an attacker could subvert a running `rm -r' command. * src/remove.c (struct active_dir_ent) [st_dev]: New member. [st_ino]: Rename from `inum'. (make_active_dir_ent) [device]: New parameter. (hash_compare_active_dir_ents): Compare using SAME_INODE macro. (fspec_init_common): New function, factored out. (fspec_init_file): Initialize have_device member. (fspec_get_full_mode): Remove parameter. Update caller. Set have_device and st_dev members. * src/remove.h (struct File_spec) [have_device, st_dev]: New members 2000-05-18 Jim Meyering * src/remove.c (rm): Combine adjacent fputc and fprintf. * tests/rm/Makefile.am (TESTS): Add hash. * tests/rm/hash: New test for the fix in lib/hash.c. 2000-05-17 Jim Meyering * src/remove.c (remove_dir): Detect (and fail upon) attempt to subvert a running `rm -r'. Reported by Morten Welinder. 2000-05-15 Jim Meyering * src/ln.c (do_link): Use complete strings in diagnostics so they are easier to translate. Reported by Michel Robitaille. (main): Drop support for the case in which S_ISLNK wasn't defined. It was broken in any case. * tests/ls/time-1: Set LC_ALL to `C' to avoid failure when the current locale is not C (POSIX). From Matthew Clarke. 2000-05-13 Jim Meyering * src/help-version: New test. * src/Makefile.am (TESTS): Define. (TESTS_ENVIRONMENT): Likewise. (EXTRA_DIST): Add help-version. * src/chgrp.c: Arrange to call close_stdout only upon exit. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/cp.c: Likewise. * src/df.c: Likewise. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise. * src/mv.c: Likewise. * src/rm.c: Likewise. * src/rmdir.c: Likewise. * src/shred.c: Likewise. * src/sync.c: Likewise. * src/touch.c: Likewise. * src/dd.c: Include closeout.h. (usage): Don't call close_stdout here. (close_stdout_wrapper): New, kludgey, function and file-scoped global. (main): Register it with atexit. 2000-05-12 Jim Meyering Unlike for mv, -i doesn't cancel the effect of -f and -f doesn't cancel the effect of -i. * src/cp.c (main) ['f']: Don't reset `x.interactive'. ['i']: Don't reset `x.force'. * src/copy.c (copy_internal): Fix force and interactive tests. Patch from Michael Stone, reported by Jeff Sheinberg. 2000-05-09 Jim Meyering * src/shred.c: Include sys/types.h in shred.c before including sys/stat.h or system.h. From John David Anglin. 2000-05-08 Jim Meyering * tests/shred/remove: Don't use touch in root test. Instead, append to the test file, since now touch operates even on files which deny owner write access. 2000-05-06 Jim Meyering * src/Makefile.am (shred_LDADD): Add @LIB_CLOCK_GETTIME@. * src/rmdir.c (EEXIST): Remove now-unused definition. (ENOTEMPTY): Likewise. (errno_rmdir_non_empty): Rewrite to use RMDIR_ERRNO_NOT_EMPTY, which is determined by the autoconf test in m4/rmdir-errno.m4. 2000-05-03 Bruno Haible Don't fail when running `make check' with non-`C' locale. * tests/cp/symlink-slash: During ls, set LANGUAGE (for GNU gettext) and LC_ALL (for systems which look at LC_MESSAGES). * tests/rm/r-2: Define LC_ALL instead of LANG, in case the user has LC_CTYPE or LC_ALL set. Define it and LANGUAGE before the first use of sort. 2000-05-03 Jim Meyering With a recent glibc, _GNU_SOURCE, and -O, strndup may be a macro. * src/sys2.h (!HAVE_DECL_STRNDUP): Declare strndup. * src/dircolors.c: Remove declaration of strndup. Reported by Bruno Haible. 2000-05-02 Jim Meyering * src/rm.c (usage): Add the answer to `How do I remove a file named -f?' 2000-05-01 Jim Meyering * src/install.c (change_attributes): Don't even attempt the chmod if the chown fails. Before, when a non-root user ran `install -m 4755 -o nobody FILE DEST', DEST would set-uid not to `nobody' but rather to the ID of the installing user. Reported by Marc Olzheim. 2000-04-30 Jim Meyering * src/touch.c (O_NOCTTY): Define if not defined already. (touch): Add O_NOCTTY to the flags passed to open. 2000-04-29 Jim Meyering * Version 4.0r. * src/cp.c [LSTAT_FOLLOWS_SLASHED_SYMLINK] (lstat): Define to rpl_lstat. 2000-04-27 Jim Meyering Clean up. * tests/mkdir/Makefile.am (TESTS_ENVIRONMENT): Set PATH, not MKDIR. * tests/mkdir/p-1: Use mkdir, not $MKDIR. * tests/mkdir/p-2: Likewise. * configure.in (AC_OUTPUT): Add tests/du/Makefile. * tests/Makefile.am (SUBDIRS): Add du. * tests/du: New directory. * tests/du/two-args: New test. * tests/mkdir/special-1: New test. * tests/mkdir/Makefile.am (TESTS): Add special-1. 2000-04-25 Paul Eggert * src/du.c (pop_dir): Remove through_symlink arg; use null cwd for that purpose instead. (count_entry): Also save the directory if we're saving more than one level. Fix file descriptor and memory leak when chdir fails. 2000-04-26 Jim Meyering * src/mkdir.c: Rename global: s/path_mode/create_parents/. (main): No longer perform explicit chmod when creating parent directories, since make_path now does the chmod. 2000-04-17 Jim Meyering * src/chown.c: New option: --from=CURRENT_OWNER:CURRENT_GROUP. (enum) [FROM_OPTION]: New member. (long_options): New getopt spec. (change_file_owner): Add old_user, old_group parameters. Use them. (change_dir_owner): Likewise. (usage): Describe. (main): New case. From Andries Brouwer. * doc/fileutils.texi (invoking chown): Document it. 2000-04-16 Jim Meyering * src/cp.c: New option: --strip-trailing-slashes. (enum) [STRIP_TRAILING_SLASHES_OPTION]: New member. (remove_trailing_slashes): New global. (long_opts): New getopt spec. (usage): Describe. (do_copy): Strip trailing slashes on SOURCE names only if the new option has been specified. (main): New case. * tests/cp/symlink-slash: New test for the change in behavior. * tests/cp/Makefile.am (TESTS): Add symlink-slash. * doc/fileutils.texi (Trailing slashes): Factor out discussion on trailing slashes into its own node. Cross reference from cp and mv. 2000-04-14 Jim Meyering * src/touch.c (touch): Add O_NOCTTY to the list of open-time flags. 2000-04-13 Jim Meyering Move some code into m4/. * configure.in (_GNU_SOURCE): Don't define here. (AC_SYS_LARGEFILE): Don't use here. (AM_C_PROTOTYPES): Don't use here. * acconfig.h: Remove now-unused file. 2000-04-08 Jim Meyering * doc/fileutils.texi (cp invocation): Mention that there is an application for cp's --sparse=never option. From Martin Hippe. (cp invocation): Describe how --backup and --force can be useful together. 2000-03-10 Alan Iwi * src/ls.c: Add support for "ln=target" in the LS_COLORS variable, to colorize links as for the file/directory pointed to. * src/dircolors.hin: Add a few words of documentation of the above. 2000-04-08 Jim Meyering * src/cp.c (usage): Document that while the --backup option takes an optional argument, the -b option accepts none. (main): Use `backup type' in call to xget_version, not the now-deprecated `--version-control'. * src/install.c: Likewise. * src/ln.c: Likewise. * src/mv.c: Likewise. 2000-03-12 Jim Meyering Merge from textutils. * src/system.h (O_BINARY, O_TEXT): Define if necessary. (SET_BINARY, SET_BINARY2): Define. (DEV_BSIZE): Define to BBSIZE if appropriate. 2000-03-10 Jim Meyering * tests/mv/mv-special-1: Make the message more like that in the similar touch and shred tests. * tests/touch/fifo: Accommodate SunOS-NFS-mounting-OpenBSD mkfifo bug and `exit 77' if the fifo cannot be created. Report and suggestion from Volker Borchert. 2000-03-03 Jim Meyering * po/Makefile.in.in (dist distdir): Don't use `ln' (which was just a space optimization anyway) to populate $(distdir). Otherwise, the dist rules that change permissions would end up affecting the master sources. 2000-03-01 Paul Eggert * src/df.c (show_point): Ignore shortcuts based on path prefixes that are loop file system mount points, since they yield undesirable output. 2000-02-29 Jim Meyering * src/ls.c (decode_switches): Remove `e' from getopt_long's list of option characters. Reported by John Summerfield. 2000-02-28 Jim Meyering * tests/install/basic-1: Use ginstall, not install. 2000-02-27 Jim Meyering * Version 4.0q. * src/sys2.h: Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. * src/sys2.h: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL...' now that autoconf always defines the HAVE_DECL_ symbols. * src/install.c (install_file_to_path): Always use install_file_in_file. Based on a patch from Adam Klein via Michael Stone. * tests/install/Makefile.am (TESTS): Add create-leading. * tests/install/create-leading: New file. * tests/install/basic-1: Clean up. * tests/install/Makefile.am (TESTS_ENVIRONMENT): Add PATH. Remove cruft. 2000-02-26 Jim Meyering Transform the generated src/Makefile.in file so it falls back on using /bin/rm when necessary. The old rule didn't always work. This is necessary only on certain losing systems, and because this package builds an `rm' executable and some people put `.' too early in their PATH. * Makefile.am (DISTCLEANFILES): Remove .deps and `FIXME' comment. (EXTRA_DIST): Add .kludge-stamp. (.kludge-stamp): New rule. * src/Makefile.am (AUTOMAKE): Remove definition. (Makefile.in): Remove dependency on automake-wrap script. (EXTRA_DIST): Remove automake-wrap. * src/automake-wrap: Remove file. * tests/rm/r-2: Don't make the success of the test depend on the order in which directory entries are processed. Reported by Andreas Schwab. 2000-02-12 Jim Meyering * po/POTFILES.in: Add lib/userspec.c. * doc/fileutils.texi (chown invocation): Deprecate use of `.'. * src/chown.c (usage): Mention only `:', and not `.' as the separator, since POSIX allows only the former. Prompted by a report from Manas Garg. 2000-02-11 Jim Meyering * src/df.c (main): Count the stat'able arguments. Print the header line only if there is at least one valid argument. Reported by Andy Longton 2000-02-10 Jim Meyering Make du work when invoked from an unreadable directory. * src/du.c (pop_dir): New function. (count_entry): Factor out common code (pop_dir), and call the new function instead. Move declaration of global, `stat_buf' into this function. (du_files): Don't stat `.' or call save_cwd, since count_entry never returns with a changed working directory. 2000-02-09 Jim Meyering * tests/mv/mv-special-1: Use $null and $dir in place of literals in `here' script. Exit 77 if we can't set up the framework (Volker Borchert reported that this test would fail because mknod failed when run on SunOS4.1.4 using NFS-mounted disk from an OpenBSD system). 2000-02-05 Jim Meyering * src/copy.c (copy_internal): Don't allow mv to move a directory onto a non-directory. Reported by Brian Kimball via Michael Stone. 2000-02-03 Jim Meyering * tests/mv/Makefile.am (TESTS): Add dir-file. (TESTS_ENVIRONMENT): Remove vestiges of old tests. * tests/mv/dir-file: New file. 2000-02-02 Jim Meyering * tests/touch/Makefile.am (TESTS): Add fifo. * tests/touch/fifo: New file. 2000-02-01 Jim Meyering * src/touch.c (O_NDELAY): Define to 0 if not defined. (O_NONBLOCK): Define to O_NDELAY if not defined. (touch): Open with O_NONBLOCK, so one can touch a fifo without hanging. Reported by Eric G. Miller via Michael Stone. * man/*.x: Change ." to .\". Reported by Andreas Schwab and Brendan O'Dea. 2000-01-31 Jim Meyering * man/Makefile.maint (ginstall_filter): Define. ($(man_MANS)): Use it here so that the install.1 man page refers to `install', not `ginstall'. Reported by Andreas Schwab. 2000-01-30 Jim Meyering * Version 4.0p. * configure.in: Move library-related tests into m4/lib-check.m4. * src/system.h (ST_NBLOCKS): Use st_size only for regular files and for directories. From H. J. Lu. * src/dd.c (main): Exit with nonzero status if ftruncate fails. 2000-01-24 Jim Meyering * src/ln.c (usage): Describe behavior when LINK_NAME is omitted. From Michael Stone. * src/mv.c (main): Don't expect array index `n_files - 1' to evaluate to `-1' for unsigned int n_files == 0. Doing so lead to a segfault on alpha. From Michael Stone. 2000-01-23 Jim Meyering * configure.in (AM_FUNC_OBSTACK): Remove. (move to m4/.) Remove nearly all function checks (moved to m4/.) (AC_SUBST(DF_PROG)): Move this to m4/. (ftruncate test): Move into new file: m4/ftruncate.m4. (AC_HEADER_MAJOR, AC_HEADER_DIRENT): Move into m4/. Remove df-related tests. i.e., move jm_LIST_MOUNTED_FILESYSTEMS, jm_FSTYPENAME, and jm_FILE_SYSTEM_USAGE) into m4/. 2000-01-22 Jim Meyering * configure.in: Move addext.c prerequisites from this file into m4/. (AC_CHECK_HEADERS): Move these checks into m4/. 2000-01-17 Paul Eggert * src/dd.c (interrupt_handler): Likewise. (install_handler): Use SA_NOCLDSTOP, not _POSIX_VERSION, to decide whether to call sigaction; this fixes an old typo. 2000-01-16 Jim Meyering * lib/Makefile.am: Sync with sh-utils/lib/Makefile.am. * configure.in: Remove AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_GROUP_MEMBER, jm_FUNC_GETGROUPS, AC_FUNC_VPRINTF, and AC_FUNC_ALLOCA. They're now in m4/. Sync with the version from emacs-20.5. * lib/alloca.c (): Include if HAVE_STRING_H. (): Include if HAVE_STDLIB_H. (alloca): Abort if malloc fails. Reported by Paul Eggert. 2000-01-15 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Remove these: euidaccess memcpy memcmp memset mkdir rmdir rpmatch stpcpy strndup strstr strtol strtoul strverscmp. Now they're in m4/. 2000-01-12 Jim Meyering * tests/shred/remove: Make the warning that this shred test may not be run as root more prominent. Suggestion from Volker Borchert. 2000-01-11 Paul Eggert Quote multibyte characters correctly. * lib/quotearg.c (ISGRAPH): Remove. (ISPRINT): New macro. (): Include if HAVE_MBRTOWC && HAVE_WCHAR_H. (isprint, mbrtowc, mbsinit, mbstate_t): New macros, defined if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). (quotearg_buffer_restyled): New function, with most of the old quotearg_buffer's contents. Major rewrite to support multibyte characters. (quotearg_buffer): Now just calls quotearg_buffer_restyled. * m4/c-bs-a.m4: New file. * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro. (jm_PREREQ): Use it. 2000-01-11 Paul Eggert * lib/modechange.c (mode_compile): Use uintmax_t, not unsigned long, to parse numeric modes. Check for any unknown bits, not just unknown bits left of the leftmost known bit. 2000-01-11 Paul Eggert * lib/getdate.y: Update copyright notice. 2000-01-11 Paul Eggert * COPYING: Sync with latest FSF version (fixing a minor Y2k problem). 2000-01-11 Paul Eggert * lib/exclude.c, lib/exclude.h: Sync to the slightly more general version of GNU tar. * src/du.c (count_entry): Adjust to new calling convention for excluded_filename. (main): Likewise, for add_exclude_file. 2000-01-11 Jim Meyering * lib/memcpy.c (memcpy): Protoize. Prepare to sync lib/ directories of fileutils, sh-utils, and textutils. * lib/Makefile.am: s/fu/fetish/ * src/Makefile.am: s/libfu/libfetish/ * lib/hash.c (hash_initialize): Fix typo in comment. From François Pinard. 2000-01-10 Jim Meyering * Version 4.0o. * lib/Makefile.am (noinst_HEADERS): Add nanosleep.h. 2000-01-09 Jim Meyering * Version 4.0n. * src/ln.c (do_link): Produce the same sort of one-line output for `--backup --verbose' as cp, mv, install. Before this, the backup file name wasn't printed at all. This affects cp, install, and mv. * src/copy.c (copy_internal): When making backup files in verbose mode, print the backup file name on the same line as the rest of the information, e.g., `a -> b (backup: b.~13~)' rather than on a separate line by itself. Suggestion from Karl Berry. 2000-01-08 Jim Meyering * lib/error.c (error): Use __strerror_r's return value only if HAVE_WORKING_STRERROR_R. (error_at_line): Likewise. * Makefile.maint (null_AM_MAKEFLAGS): Define. (my-distcheck): Use it to avoid distributing out of date files whose derivation would require a maintainer tool. 2000-01-07 Jim Meyering * lib/euidaccess.c: Sync with the GNU C library. * tests/dir/Makefile.am (TESTS_ENVIRONMENT): Add `pwd`/ prefix to exported PATH value (though not strictly necessary, here). * tests/dd/Makefile.am: Likewise. * tests/dircolors/Makefile.am: Likewise. * tests/rm/Makefile.am: Likewise. * tests/rmdir/Makefile.am: Likewise. * tests/shred/Makefile.am: Likewise. * tests/touch/Makefile.am: Likewise. * tests/shred/Makefile.am: Likewise. 2000-01-06 Jim Meyering * man/help2man: Import version 1.020. * lib/strftime.c: Sync with the GNU C Library. 2000-01-06 Paul Eggert * tar/lib/getdate.y: Sync tm_diff with the GNU C Library. (TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN. All uses changed. (tm_diff): Renamed from difftm. All uses changed. Replace body with that taken from GNU C Library 2.1.3pre1. (get_date): Prefer tm_gmtoff to tm_diff if available. 2000-01-04 Paul Eggert * savedir.c (savedir): Don't store past the end of an array if name_size is zero and the directory is empty. * Makefile.maint (PREV_VERSION): Tweak so it handles e.g., 2.0a -> 2.0. (alpha): Create xdelta diffs. 2000-01-02 Jim Meyering * Version 4.0m. * src/mv.c: New option: --strip-trailing-slashes. 1999-11-18 Paul Eggert * lib/strftime.c (my_strftime): Some old compilers object to '\a', so don't bother optimizing for it. 2000-01-01 Paul Eggert Fix bug: `df PATH' sometimes misbehaves when there is an inaccessible mount point unrelated to PATH. * configure.in (AC_CHECK_FUNCS): Add realpath, resolvepath. * src/df.c (#pragma alloca): Add if _AIX is defined. (path-concat.h): Include. (show_point): If HAVE_REALPATH or HAVE_RESOLVEPATH is defined, find the real absolute path for PATH, and use that to find the mount point. (show_point): Prefer non-dummy entries in shortcuts, too. Disable bogus mount dirs instead of restatting them each time. 1999-12-30 Jim Meyering 1999-12-17 Kalle Olavi Niemitalo * src/rmdir.c (remove_parents, main): Don't pass errno to error when printing "removing directory" message. Failure of rmdir is handled elsewhere. 1999-12-23 Jim Meyering * configure.in: Remove clock_gettime tests. Now they're in m4/jm-macros.m4. * src/ln.c (usage): Correct typos. List new --target-directory=... usage. Reported by Göran Uddeborg * src/mv.c (usage): List new --target-directory=... usage. 1999-12-22 Jim Meyering * lib/getdate.y (get_date): Fix typo in time_t overflow test. From Michael Stone. 1999-12-21 Andreas Schwab * tests/shred/remove: Use $file, not $tmp/file. Exit 77 if run as root. 1999-12-20 Paul Eggert * src/df.c (ceil_percent): Remove. (show_dev): Avoid overflow problems when calculating percent. Do not display negative percents. 1999-12-19 Jim Meyering * Version 4.0l. * doc/fileutils.texi: Clarify and combine descriptions of -c and of --time=ctime. Likewise for -u/--time=atime. * src/ls.c [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Use lstat wrapper. [Notice the new configure-time test in m4/lstat-slash.m4. ] (main): Back out change from 1999-02-19 that made ls remove trailing slashes from command line arguments to accommodate early versions of Linux. Now, `ls symlink-to-dir/' acts like `ls symlink-to-dir/.' thus following the symbolic link, as POSIX says it should. Suggestion from Bruno Haible and Andreas Schwab. * lib/xstat.in (slash_aware_lstat): New function. (rpl_@xstat@): Use it. * lib/Makefile.am (lstat.c): Adapt rule to handle new parts of xstat.in. (lstat.c): Likewise. Make sure ls does the right thing with symlinks and trailing slashes. * tests/ls/Makefile.am (TESTS): Add symlink-slash. * tests/ls/symlink-slash: New test, for above-fixed bug. 1999-12-18 Jim Meyering * src/shred.c (wipename): When repeatedly renaming a file, making the name shorter and shorter, skip to the next shorter length length if a rename fails (e.g. due to permission denied). Otherwise, this loop would iterate for so long that shred would appear to be stuck in an infinite loop for any but the shortest file names. Reported by Joe Orton. * configure.in (AC_OUTPUT): Add tests/shred/Makefile. * tests/Makefile.am (SUBDIRS): Add shred. * tests/shred: New directory * tests/shred/remove: New file. Tests for the above-fixed bug. 1999-12-13 Jim Meyering * lib/makepath.c (make_path): Consistently use `error' to output the verbose, `created directory ...' messages. Reported by Bernhard Rosenkraenzer. 1999-12-12 Jim Meyering Move 120+ lines of stat.h-related macros from system.h (not shared) to sys2.h, which is shared between fileutils, sh-utils, textutils. * src/system.h: Move them from here... * src/sys2.h: ... to here. * src/system.h (S_IRUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH): Define if not defined. This was necessary on a NeXT Turbostation running Mach 3.3. Reported by Nelson H. F. Beebe. * src/ls.c (decode_switches): If -c or -u is specified and not -l (or any other option that implies -l), and no sort-type was specified, then sort by the ctime (-c) or atime (-u). Part of this change reverts the 1998-01-10 delta. (usage): Update to reflect this change. Reported by Paul Slootman via Michael Stone. 1999-12-09 Jim Meyering * src/df.c (BLOCK_SIZE_OPTION, SYNC_OPTION, NO_SYNC_OPTION): Define these and use them instead of `CHAR_MAX + n'. * src/du.c (BLOCK_SIZE_OPTION, EXCLUDE_OPTION, MAX_DEPTH_OPTION): Likewise. * src/touch.c (TIME_OPTION): Likewise. * src/rmdir.c (IGNORE_FAIL_ON_NON_EMPTY_OPTION): Likewise. * tests/ls/time-1: Test more of the framework (touch's -a and -m options) before running the actual ls test. 1999-12-07 Jim Meyering * tests/cp/cp-mv-backup: Use 1>&2 rather than `1<&-'. Suggestion from Volker Borchert. 1999-12-05 Jim Meyering * Makefile.maint: Remove ftp.enst.fr. 1999-12-04 Jim Meyering * Version 4.0k. * tests/mv/into-self-2: Adapt to reflect this change in behavior. Make sure the VERSION_CONTROL envvar is not set. Run diff if comparison fails. * src/copy.c (copy_internal): In move mode, if the rename attempt fails, then unlink any existing destination file. This makes a cross-device `mv' more consistent with the intra-device behavior. This change is required by POSIX to make a cross-device move act with semantics similar to those of the rename syscall. For example now `mv' can move a file onto a symlink to itself when that symlink is on a separate partition. With fileutils-4.0j, it would fail with a diagnostic saying they were the same file. Reported by Bruno Haible. * tests/mv/to-symlink: New file. Adds test for the above. * tests/mv/Makefile.am (TESTS): Add to-symlink. * tests/cp/cp-mv-backup (trap): Be careful to close $actual before removing the containing directory. Otherwise, on some systems rmdir fails to remove the containing directory. * tests/ls/time-1: List --full-time dates upon failure. 1999-12-02 Andreas Schwab * src/ls.c (check_symlink_color): New variable. (main): Set it if we need to check for dangling symlinks when displaying colors. (gobble_file): Check check_symlink_color instead of print_with_color. 1999-11-30 Paul Eggert * src/ls.c (usage): Shorten help for --show-control-chars. 1999-11-30 Jim Meyering Give the right diagnostic when failing to create a file in an unwritable directory. * src/touch.c (touch): Record errno upon failed errno and use that saved value if a subsequent fstat, stat or utime call fails. Reported by Wichert Akkerman via Michael Stone. 1999-11-27 Jim Meyering Clean up test scripts. * tests/mv/setup: Don't set/use DF or MKDIR. Use df and mkdir instead. * tests/mv/mv-special-1: Likewise for these: LS MV MKDIR MKNOD RM TOUCH * tests/mv/backup-is-src: Likewise for RM and MV. * tests/mv/hard-link-1: Likewise. * tests/mv/into-self: Likewise. * tests/mv/into-self-3: Likewise. Add test for 1999-05-23 change to src/copy.c (copy_internal). * tests/mv/partition-perm: New file. * tests/mv/Makefile.am (TESTS): Add partition-perm. * Version 4.0j. 1999-11-22 Paul Eggert * src/df.c (df_readable): Now returns char const *, not char *. New arg NEGATIVE. (ceil_percent): Now returns double, not int. Be more careful about adding 1 to a wild value. (show_dev): Don't filter out wild sizes from the underlying operating system; instead, show them to the user as faithfully as possible. 1999-11-23 Jim Meyering * doc/getdate.texi (Calendar date item): Correction regarding 0..68/ 69-99 split for 1900 vs 2000. From Peter Moulder. 1999-11-22 Jim Meyering * lib/Makefile.am (DISTCLEANFILES): Add lstat.c and stat.c. 1999-11-20 Jim Meyering * src/rmdir.c (errno_rmdir_non_empty): New function to encapsulate errno comparison. (remove_parents): Use it. (main): Use it. * tests/cp/cp-mv-backup: Run `diff -c' if the test fails. * tests/ls/time-1: Use `ls' and `touch', not $LS and $TOUCH. * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Specify PATH, etc. * src/chgrp.c: Declare lstat; needed on e.g. SunOS4. Reported by Tom Tromey. 1999-11-19 Jim Meyering * lib/strstr.c (strstr): Include config.h. Add a `;' between shloop label and `}'. From Akim Demaille. 1999-11-17 Jim Meyering * src/mkdir.c (S_IRWXUGO): Define if necessary. (main): Use chmod to set the permissions if bits other than those of S_IRWXUGO were requested. Reported by Sami Farin. 1999-11-14 Paul Eggert * touch.c (touch): Simplify code a tad, using fd == -1 instead of separate valid_fd variable. 1999-11-13 Jim Meyering * src/touch.c (touch): Don't fail just because we couldn't open an existing file. This makes it so that touching a read-only file now works. Also clean up and simplify. Based on a patch from Chip Salzenberg. * tests/touch/no-rights: New test for this. * tests/touch/Makefile.am (TESTS): Add no-rights. 1999-11-12 Jim Meyering * src/remove.c (print_nth_dir): Write one fewer byte so we don't print a trailing slash. (rm): Fix bugs in (and test, this time) the very rarely used code to warn about directory cycles. Reported by michael@roka.net. 1999-11-11 Jim Meyering * src/copy.c (copy_internal): Treat src and dest as the `same' in `mv src symlink-to-src' when src and dest are on different partitions. Otherwise, that `mv' command would silently remove `src'. Reported by Michael Stone. * tests/mv/into-self-2: Add a test for this fix. * lib/makepath.c (make_path): Fix long-latent bug: s/&&/||/ (others just like that also dated back to 1992 were fixed in 1998-01-02). Richard Braakman reported that using `install -d -g foo 1/2` only sets the group on the intermediate directory, not the final component. From Michael Stone. 1999-11-07 Paul Eggert * human.c (default_block_size): New function. (humblock): Use it if no block size is specified. (human_block_size): If the specified block size is zero, report an error if report_errors is nonzero; otherwise use the default. 1999-11-07 Jim Meyering * src/dircolors.hin: Add several more TERM types. Add .bz2 suffix. Add .png for real this time. Change the image types colors to be visible in a black-on-white xterm. From Michael Stone. * src/chgrp.c (xstat): New global. (main): Define it. (change_file_group): Use it. Before this change, when running chgrp on a symlink without --dereference (-h) and when the requested group is the same as the group for the *symlink*, chgrp would do nothing. Now it changes the group of the file referenced through the symlink. Reported by Martin Mitchell. * src/chmod.c: Use REFERENCE_FILE_OPTION instead of bare `CHAR_MAX + 1'. * src/chown.c: Define and use REFERENCE_FILE_OPTION and DEREFERENCE_OPTION in place of bare `CHAR_MAX + N'. * src/chgrp.c: Likewise. * tests/ln/misc: Add hard-link-to-symlink test. Move framework_failure test to the end. Fix a typo: s/||/&&/. * src/ln.c (do_link): Warn that making a hard link to a symbolic link is not portable. * tests/ln/misc: Use --b=simple, not the now-deprecated `-V simple'. * tests/ln/backup-1: Likewise. * configure.in (AC_OUTPUT): Add tests/rmdir/Makefile. * tests/Makefile.am (SUBDIRS): Add rmdir. * tests/rmdir: New directory * tests/rmdir/ignore: New file. * src/rmdir.c (remove_parents): Use the correct test (just as in main) in handling --ignore-fail-on-non-empty. From Michael Stone. (usage): Improve description of --parents. Based on suggestion from Torsten Landschoff. 1999-11-06 Jim Meyering Allow hard links to symlinks on systems that support it. * src/ln.c (STAT_LIKE_LINK): Define. (do_link): Use STAT_LIKE_LINK, rather than bare `stat', and perform the extra lstat only on systems where LINK_FOLLOWS_SYMLINKS. * src/ls.c (long_options): Correct typo (s/'F'/'p'/) so that `-p' is accepted as the short form of --file-type, per the documentation. From James Sneeringer. * src/ln.c (do_link): Fix typo (in which the function name `symlink' was tested instead of the variable `symbolic_link') that could make ln perform an unneeded `stat' call. 1999-11-05 Jim Meyering * src/system.h: Use HAVE_STRUCT_STAT_ST_BLOCKS, not deprecated HAVE_ST_BLOCKS. * src/copy.c: Likewise. * lib/fileblocks.c: Likewise. * configure.in: Move some type/header/member tests into m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) so they are shared by all of fileutils, textutils, and sh-utils. 1999-11-02 Jim Meyering * man/help2man: Import version 1.018. * man/Makefile.maint ($(man_MANS)): Remove use of --name=... option. * man/*.x: Include one-line summary in [NAME] section. * man/Makefile.summ: Remove the one-line summaries. Suggestion for clean-up from Akim Demaille. * configure.in (ALL_LINGUAS): Add Galician (gl). 1999-11-01 Jim Meyering * src/cp.c (usage): Warn about mixing use of `-r' with FIFOs and other special files like /dev/zero. * lib/Makefile.am (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). 1999-10-31 Jim Meyering * Makefile.maint (my-distcheck): Remove $(DEPDIR) to work around automake bug. * doc/fileutils.texi: Document new --backup[=METHOD] option for cp, mv, ln, and install. * src/ln.c: Convert --backup to take an optional argument. Deprecate --version-control (-V) in comments. (usage): Remove mention of --version-control. (main): Make -V warn then fall through into --backup case. [--backup case]: Handle optional arg. * src/install.c: Likewise. 1999-10-24 Jim Meyering * src/cp.c (do_copy): Constify `dest', and cast-away the new const in assignment to new_dest. 1999-10-23 Jim Meyering * tests/touch/Makefile.am (TESTS): Add dangling-symlink. * tests/touch/dangling-symlink: New file. 1999-10-23 Paul Eggert * src/touch.c (full_write): Remove unused decl. (open_maybe_create): Remove. (touch): Don't record whether the file was created; this isn't possible to do reliably and portably without race conditions. If the file was created and if amtime_now is nonzero, this change means we'll have to do another utime system call, but that's no more harmful than the previous version of this code. Reported by Gabor Z. Papp. 1999-10-21 Jim Meyering * configure.in (ALL_LINGUAS): Add Japanese (pa). 1999-10-17 Jim Meyering * tests/mv/backup-is-src: Remove use of mv's now-deprecated -V option. Use --b=simple instead of -b -V simple. * src/mv.c: Convert --backup to take an optional argument. Deprecate --version-control (-V) in comments. (usage): Remove mention of --version-control. (main): Make -V warn then fall through into --backup case. [--backup case]: Handle optional arg. Accept new option: --target-directory=DIR * src/cp.c (TARGET_DIRECTORY_OPTION): Define. (SPARSE_OPTION): Define. (usage): Describe it. (do_copy): Change meanings/names of first two parameters: use `n_files' in place of `argc - optind', and `file' instead of `argv + optind'. Add parameter, target_directory. (main): Pass new arg, target_directory. 1999-10-16 Jim Meyering * tests/cp/backup-is-src: Remove use of cp's now-deprecated -V option. Use --b=simple instead of -b -V simple. * tests/cp/backup-1: Replace use of cp's now-deprecated --version-control option with use of --backup=simple. * src/cp.c: Convert --backup to take an optional argument. Deprecate --version-control (-V) in comments. (usage): Remove mention of --version-control. (main): Make -V warn then fall through into --backup case. [--backup case]: Handle optional arg. * tests/cp/Makefile.am (TESTS): Add cp-mv-backup. * tests/cp/cp-mv-backup: New file. 1999-10-11 Jim Meyering * lib/getopt.c: Merge changes from latest glibc. * lib/getopt.h: Likewise. * lib/getopt1.c: Likewise. 1999-10-09 Jim Meyering Accept new option: --target-directory=DIR * src/ln.c (TARGET_DIRECTORY_OPTION): Define. (usage): Describe it. (main): Implement it. Make code clearer: use new variable `n_files' in place of `argc - optind'. Use `file' instead of `argv + optind'. 1999-10-04 Jim Meyering * depcomp: New file, for automake's new dependency support. * missing: New version, from automake's user-dep-gen-branch. * lib/xalloc.h (__attribute__): Apply 1999-10-03 change here, too. * src/sys2.h (__attribute__): Likewise. Wrap with #ifndef __attribute__. 1999-10-03 Paul Eggert * getdate.y (__attribute__): Define to empty if GCC claims to be before 2.8; this is needed for OPENStep 4.2 cc. Also, define to empty if strict ANSI. 1999-10-03 Jim Meyering Accept new option: --target-directory=DIR * src/mv.c (TARGET_DIRECTORY_OPTION): Define. (usage): Describe it. (main): Implement it. Remove unused variable, stdin_tty. Make code clearer: use new variable `n_files' in place of `argc - optind'. Use `file' instead of `argv + optind'. 1999-09-28 Jim Meyering * src/system.h: Do s/#ifdef HAVE_/#if HAVE_/ -- solely for aesthetics. Do the same for other config.h macros like CLOSEDIR_VOID and MAJOR_*. * src/sys2.h: Likewise. * lib/xalloc.h (__attribute__): Protect against redefinition. From Akim Demaille. 1999-09-26 Jim Meyering * lib/xmalloc.c (xalloc_die): Rename from xalloc_fail and update callers. Use explicit exit to help avoid warnings. From Akim Demaille. * lib/path-concat.c (DIRECTORY_SEPARATOR): Define. (ISSLASH): Define. (path_concat): Allow parameter DIR to be NULL. (xpath_concat): New function. From Akim Demaille. * lib/xalloc.h (__attribute__): Define. (ATTRIBUTE_NORETURN): Define. (xalloc_die): Declare. (NEW): Define as yet unused macro. (XFREE): Likewise (CCLONE): Likewise. (CLONE): Likewise. From Akim Demaille. * lib/basename.c (base_name): Add prototype. From Akim Demaille. 1999-09-19 Jim Meyering * lib/lchown.c [STAT_MACROS_BROKEN] (S_ISLNK): Undefine. (S_ISLNK): Define if necessary. This is necessary on a NEC SX-4 with SUPER-UX 9.1. Based on a patch from Holger Berger. * src/dd.c (siginfo_handler): Mark parameter with ATTRIBUTE_UNUSED. Change many counter and index variables to be of unsigned type. (dd_copy): Add new unsigned variable, n_bytes_read, in place of many uses of `nread'. * src/sys2.h (__attribute__): Define. (ATTRIBUTE_NORETURN): Remove #else clause. (ATTRIBUTE_UNUSED): Define. 1999-09-17 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Remove strdup, now that this is done in m4/jm-macros.m4. 1999-09-09 Jim Meyering * src/touch.c (usage): Remove misleading sentence in --help output. From Karl Heuer. * src/Makefile.am (EXTRAdir): Remove unused variable. 1999-09-03 Paul Eggert * lib/lchown.h (ENOSYS): Don't use ENOMSG; it's not in NeXTStep3.3. Use EINVAL instead. 1999-09-01 Jim Meyering * src/cp.c: Remove declaration of xstrdup. * src/df.c: Likewise. * src/ls.c: Likewise. 1999-09-01 Akim Demaille * lib/xmalloc.c (xalloc_fail_func): Use `PARAMS'. * lib/xalloc.h (xalloc_fail_func): Likewise. (xstrdup): Add protoype. * lib/version-etc.c (version_etc_copyright): Default copyright string. (version_etc): Use it. * lib/version-etc.h: Declare it. 1999-08-29 Jim Meyering * configure.in (AC_YACC): Remove use, now that we require bison. * src/dircolors.hin: Add .rpm, .png, and .fli. From Andres Soolo. 1999-08-28 Paul Eggert * getdate.y: Add copyright notice. (number): Handle `Nov 11 1996' example; see Risks Digest 20.55 http://catless.ncl.ac.uk/Risks/20.55.html#subj18 (1999-08-27) (): Include only if testing. (ISUPPER): Remove. (ISLOWER, PC): New macros. (): Include if HAVE_STRING_H, not USG. (bcopy): Remove. (yymaxdepth, ..., yycheck): Don't bother to redefine, since we assume bison. (EPOCH_YEAR): Renamed from EPOCH. (table): Renamed from TABLE. (meridian): Now an anonymous enum. (struct parser_control): New type. (YYLEX_PARAM, YYPARSE_PARAM, YYSTYPE): New macros. (yyInput, ..., yyRelYear): Migrated into struct parser_control. (%pure_parser): Added, so that the parser is pure. (%union): Removed; the type is now just plain int. All %type directives removed. (tLOCAL_ZONE): New %token. (month_day_table): Renamed from MonthDayTable. (gmtime, localtime, mktime, time): Declare only if not defined. (meridian_table): New table. (dst_table): New table. (units_table): renamed from UnitsTable. (relative_time_table): Renamed from OtherTable. (time_zone_table): Renamed from TimezoneTable. Modernized data. (military_table): Renamed from MilitaryTable. (to_hour): Renamed from ToHour. (to_year): Renamed from ToYear. (lookup_zone): New function. (LookupWord): Renamed from lookup_word. Use lookup_zone for time zones. (yylex): Now reentrant. All callers changed. (get_date): Add support for local time zone abbreviations. Make it reentrant. 1999-08-22 Jim Meyering * src/sys2.h (IF_LINT): Define new macro. * src/df.c (main): Rename locals i and j. Use IF_LINT macro instead of #ifdef lint... * src/dd.c (parse_integer): Add `const' to char* parameter and add a separate `suffix' variable. 1999-08-20 Jim Meyering * src/chown.c (usage): Tweak --help output to make it more consistent with that of chgrp. * src/chgrp.c (usage): Tweak --help output to make it more consistent with that of chown. 1999-08-17 Jim Meyering * configure.in: Remove check for rename and the code that would enable building of the `mvdir' program. * src/Makefile.am (libexec_PROGRAMS): Remove reference to @MVDIR@. (EXTRA_PROGRAMS): Remove obsolete mvdir. * lib/rename.c: Remove obsolete file. (it had a bug, too) * src/mvdir.c: Remove obsolete file. * po/POTFILES.in: Remove mvdir.c * doc/fileutils.texi (chown, chgrp invocation): Make these sections consistent with each other. 1999-08-16 Jim Meyering * src/chown.c (groupname): Declare to be `const'. (change_dir_owner): Declare statp parameter to be `const'. (usage): Make the output be more consistent with that from chgrp. This change is nearly identical to the chown.c change of 1998-05-24 * src/chgrp.c: Accept new option, --dereference. --no-dereference is now the default. Include lchown.h. (enum Change_status) [CH_NOT_APPLIED]: New member. (change_symlinks): Enable this by default, now. (describe_change): Handle new case. (change_file_group): Add new parameter: cmdline_arg. Update callers. Reorganize to reflect changed semantics. (LCHOWN): Remove definitions. From Bruno Haible. 1999-08-10 Jim Meyering * po/POTFILES.in: Add lib/quotearg.c. 1999-08-09 Paul Eggert * NEWS, doc/fileutils.texi, src/ls.c (usage): Add ls --quoting-style=locale. * lib/argmatch.c (ARGMATCH_QUOTING_STYLE): Change from escape_quoting_style to locale_quoting_style. (argmatch_invalid): Use new quotearg_style primitive for simplicity. Also, use ARGMATCH_QUOTING_STYLE to quote, instead of quoting ourselves. * lib/quotearg.h (locale_quoting_style): New enum value. (quotearg_n_style, quotearg_style): New decls. * lib/quotearg.c: Include if ENABLE_NLS. (_): New macro. (quoting_style_args, quoting_style_v, quotearg_buffer): Add support for locale_quoting_style, using _("`") and _("'") for open and close quote symbols. Do not quote spaces in escape_quoting_style. (quotearg_n_style, quotearg_style): New functions. 1999-08-08 Jim Meyering * src/touch.c (usage): Clarify description of --time=WORD. From Karl Berry. * lib/savedir.c (savedir): Change type of name_size parameter to off_t. * lib/savedir.h (savedir): Update prototype. * src/chmod.c (change_dir_mode): Remove cast of savedir arg. * src/chown.c (change_dir_owner): Likewise. * src/chgrp.c (change_dir_group): Likewise. * src/copy.c (copy_dir): Likewise. * src/du.c (count_entry): Likewise. Suggestion from Bob Proulx. 1999-08-07 Jim Meyering * po/POTFILES.in: Add lots of lib/*.c files. Remove src/cp-hash.c, since it doesn't use _(). 1999-08-04 Jim Meyering * configure.in: Remove getline-testing code. Now it's in m4/. 1999-08-01 Paul Eggert * configure.in (AC_SYS_LARGEFILE): Renamed from AC_LFS. 1999-07-30 Jim Meyering * src/ls.c (usage): Explain about default wrt --hide-control-chars and --show-control-chars. Reported by Germano Leichsenring. 1999-07-28 Jim Meyering * configure.in (ALL_LINGUAS): Add Brazilian Portuguese (pt_BR). 1999-07-24 Jim Meyering * src/dd.c (PTR_ALIGN, ROUND_UP_OFFSET): New macros. (dd_copy): Use those to page-align both the input and output buffers. 1999-06-01 Volker Borchert * tests/Makefile.am: Make envvar-check depend on check-recursive rather than on `check' so that its tests are performed before any real tests. 1999-07-15 Jim Meyering * src/dd.c: Include getpagesize.h. (dd_copy): Page-align the input buffer. Based on a patch from Scott Lurndal. * getpagesize.h: New file. * lib/Makefile.am (noinst_HEADERS): Add getpagesize.h. * lib/fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]: Work around SunOS botch also when block size is different from 1k. From Jürgen Fluk. 1999-07-10 Jim Meyering * man/help2man: Import version 1.012. 1999-07-04 Jim Meyering * lib/xstrtol.c [!defined strtoumax]: Declare strtoumax. 1999-07-04 Paul Eggert * lib/xstrtol.c (__strtol): Remove decl; it doesn't work if __strtol expands to a macro, which occurs in HP-UX 10.20 with strtoumax. (strtol, strtoul): New decls (for pre-ANSI hosts), to replace the above decl. 1999-06-27 Paul Eggert Fix some incompatibilities between `df -P' and POSIX.2. * lib/human.h (enum human_inexact_style): New enum. (human_readable_inexact): New decl. * lib/human.c (human_readable): New function. (human_readable_inexact): Renamed from human_readable, with new arg INEXACT_STYLE. Add support for ceiling and floor. * src/df.c (print_header): Conform to POSIX if posix_format). (df_readable): Take ceiling if posix_format. (ceil_percent): New function. (show_dev): Take ceiling of percent if posix_format. Align with POSIX-conforming header if posix_format. * doc/fileutils.texi: Document these changes. 1999-05-27 Volker Borchert * tests/Makefile.am: Qualify .env-warn with $(srcdir)/ prefix. 1999-05-23 Jim Meyering * src/copy.c (copy_internal): Don't apply the umask in move_mode. Otherwise, `mv' would not preserve the permissions when copying between partitions. Reported by David Godfrey * Version 4.0i. * tests/cp/same-file: Correct erroneous expected output from the `cp -f foo foo' tests. * po/POTFILES.in: Add same.c. * lib/same.h: New file. * lib/same.c: New file (function extracted from ln.c). * lib/Makefile.am (libfu_a_SOURCES): Add same.c. (noinst_HEADERS): Add same.h. * src/copy.c: Include same.h. * src/ln.c (same_name): Remove function. : Include this instead. : No longer include this. * tests/mv/force: Be sure we still allow `mv -f FILE LINK-TO-FILE'. * src/copy.c (copy_internal): Make it so `cp/mv -f FILE FILE' does not remove FILE. Suggestion from Chris Yeo. * tests/mv/force: New test, for the above fix. * tests/mv/Makefile.am (TESTS): Add force. (TESTS_ENVIRONMENT): Change PATH to be absolute. * tests/mv/force (mv): New test. 1999-05-17 Paul Eggert * lib/getdate.y (get_date): Let mktime deduce tm_isdst if we have an absolute timestamp, or if the relative timestamp mentions days, months, or years. Reported by Volker Borchert. * lib/human.c (human_readable): Allow from_block_size to be zero. 1999-05-14 Jim Meyering * tests/Makefile.am (envvar-check): Renamed from check-local. (check): Depend on envvar-check so the envvar check is performed before all other tests. Reported by Volker Borchert. * tests/.env-warn: Use `%%' place-holder that Makefile.am rule expects, so CDPATH is mentioned in the message. Reported by Volker Borchert. * src/df.c (main): When asking for info on an explicit file name, just warn rather than failing if the table of mounted filesystems cannot be read. Based on a patch from Mark Kettenis. * lib/version-etc.c (version_etc): Put version info and author names on the first two lines respectively rather than putting the three lines of copyright info between them. * src/touch.c (open_maybe_create): Handle Solaris' failure mode when FILE is a directory. Reported by Vin Shelton. * lib/human.c: Include or for strlen prototype. * lib/getline.h [__GLIBC__ >= 2]: #if-out prototypes. * src/remove.c (pop_dir): Cast length to `int' to avoid a warning on 64-bit systems. From Ulrich Drepper. 1999-05-12 Jim Meyering * src/shred.c (main): Put `u' for -u in getopt_long's string argument. Remove the `R'. 1999-05-07 Jim Meyering * Version 4.0h. * tests/touch/dir-1: New test. * tests/touch/Makefile.am (TESTS_ENVIRONMENT): Remove individual upper-case program names. Add a definition of PATH. (TESTS): Add dir-1. * src/mkdir.c (main): Use better wording in diagnostic: `cannot create directory' rather than `cannot make directory'. The former also matches the one in makepath.c. * src/dd.c (apply_translations): Use TOUPPER and TOLOWER, not toupper and tolower. 1999-05-05 Jim Meyering * lib/makepath.c (make_dir): When reporting a mkdir failure and the target cannot be `stat'ed, use the errno from the failed mkdir call, not the one from the stat call. Before this change, running `mkdir -p /no-dir/no-dir' as an unprivileged user would wrongly elicit `No such file or directory' instead of `Permission denied'. * lib/strtol.c (TYPE_SIGNED, TYPE_MAXIMUM, TYPE_MINIMUM): Define. (ULONG_LONG_MAX, LONG_LONG_MAX, LONG_LONG_MIN): Define if not defined. Based on a patch from Kaveh Ghazi. * src/ls.c (USE_ACL): Define this only #if (HAVE_SYS_ACL_H && HAVE_ACL && defined GETACLCNT). Use `USE_ACL' in place of `HAVE_ACL' everywhere else. From Kaveh Ghazi. 1999-05-04 Jim Meyering * lib/makepath.c: Include makepath.h libintl.h, not after it. Otherwise, we'd get the wrong definition of PARAMS from libintl.h. (The method of defining PARAMS in libintl.h doesn't check PROTOTYPES, which is necessary on Irix4 since cc doesn't define __STDC__.) From Kaveh Ghazi. 1999-04-30 Jim Meyering * Makefile.maint: Define several tag-related make variables. (cvs-dist): Use the make variables instead of shell ones. (announcement): Automatically generate diffs for all ChangeLog files, not just the top level one. 1999-04-30 Paul Eggert * lib/dup2.c: New file. 1999-04-30 Jim Meyering * src/touch.c (touch): Only do the fstat if we need to. Resort to calling stat for directories, but only when necessary. (usage): Mention --no-create. * src/copy.c (copy_internal): Move the one-file-system test so that it follows the `if (new_dst || !S_ISDIR (dst_sb.st_mode))' block. Prior to this change, `cp --one-file-system' would traverse a file- system boundary if the destination directory existed. From Ton Hospel. 1999-04-27 Paul Eggert * src/dd.c: Always use STDIN_FILENO for input and STDOUT_FILENO for output, to avoid confusion with closed input and output fds. (input_fd, output_fd): Remove; all uses changed to STDIN_FILENO and STDOUT_FILENO. (open_fd): New function. (main): Use it, instead of open, to ensure that file descriptors don't get confused. 1999-04-26 Paul Eggert * src/ls.c (decode_switches): Use STDIN_FILENO, STDOUT_FILENO instead of 0, 1. * src/dd.c (skip): Don't fstat the input file; the result is no longer used. 1999-04-26 Jim Meyering * tests/mv/into-self-2: Update to reflect this change by reversing the order of arguments so the symlink is the source, not the destination (otherwise, the mv command would now succeed). * src/copy.c (copy_internal): Don't make `mv foo symlink-to-foo' fail. That is, even though source and destination are `the same,' don't fail if the destination is a symlink. From Peter Samuelson. 1999-04-26 Paul Eggert * src/dd.c (main): If you can't open an output file (with seek=...) read-write, then open it for write and report an error if we can't seek. * lib/filemode.c (setst, ftypelet, mode_string): * lib/mkdir.c (mkdir): * lib/makepath.c (make_path): * lib/modechange.c (make_node_op_equals, mode_compile, mode_create_from_ref, mode_adjust): * lib/modechange.h (mode_adjust): * src/chmod.c (describe_change, change_file_mode): * src/copy.c (copy_reg, copy_internal): * src/copy.h (struct cp_options.umask_kill): * src/cp.c (do_copy, cp_option_init, main): * src/dd.c (main): * src/install.c (mode, cp_option_init, DIR_MODE): * src/mkdir.c (main): * src/mkfifo.c (main): * src/mknod.c (main): * src/mv.c (cp_option_init): * src/touch.c (open_maybe_create): Use proper mode_t types and macros. Don't assume the traditional Unix values for mode bits. * lib/filemode.c (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): Define if not defined. (rwx): Remove. * lib/mkdir.c (S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined. * lib/makepath.c (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRWXU): Define if not defined. * src/system.h (S_ISUID, S_ISGID, S_ISVTX, S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined. (CHMOD_MODE_BITS): New macro. * src/install.c (isodigit): Remove unused macro. * src/mkfifo.c, src/mknod.c (usage): Use symbolic mode as default, not octal. * lib/utime.c (utime_null): Don't pass 0666 to open; it's not needed and isn't guaranteed to be portable. * lib/filemode.h: , : Include for mode_t. (mode_string): Now takes mode_t. * lib/modechange.h: Include , for mode_t. (struct mode_change): Members affected and value are now mode_t instead of unsigned short. * doc/fileutils.texi, doc/perm.texi: Don't assume traditional Unix mode numbering. * lib/modechange.c: modechange.h now includes sys/types.h. Include xstrtol.h. (isodigit, oatoi): Remove. (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined. (CHMOD_MODE_BITS): New macro. (mode_compile): Convert from octal with xstrtoul, not our own routine. 1999-04-24 Jim Meyering * Version 4.0g. 1999-04-22 Jim Meyering * src/shred.c (word32): Don't use `#error'; it runs afoul of SunOS 4.1.4 cc. From Paul Eggert. * lib/strtoull.c: Guard strong_alias and weak_alias with #ifdef _LIBC. 1999-04-20 Paul Eggert Replace our temporary hack implementation of strtoumax with something very close to the real code in glibc. * lib/xstrtoumax.c: Remove the temporary strtoumax replacement; we now have a true replacement in strtoumax.c. (__strtol): Always define to strtoumax. (): No need to include. (PARAMS): Remove. (my_strtoumax): Move this to strtoumax.c, rename it to strtoumax, and simplify. * lib/strtoull.c, lib/strtoumax.c: New files. * lib/strtol.c: Update to glibc 2.1.1 version. 1999-04-20 Jim Meyering * tests/Makefile.am (EXTRA_DIST): s/posix-warn/env-warn/. (check-local): Also test and warn if CDPATH is set. 1999-04-20 Paul Eggert * configure.in (AC_CANONICAL_HOST): Add; needed for new AC_LFS's cross-compilation. * config.guess: New file (from autoconf). * config.sub: New file (from autoconf). * src/shred.c : Include first, since it can do things like #define const, and this must be done before including any system headers. * lib/xstrtoumax.c (my_strtoumax): Fix typo in computing whether overflow occurred. Improve overflow-detection to use only one conditional branch total, rather than 2N+1 conditional branches for an N-digit number. 1999-04-18 Jim Meyering * configure.in (AC_CHECK_FUNCS): Remove strtoull, strtoumax, and strtouq, now that they're checked in m4/xstrtoumax.m4. 1999-04-18 Paul Eggert * doc/fileutils.texi, src/shred.c (main, longopts): Use -u instead of -R for --remove, so that we can preserve future compatibility with rm. 1999-04-18 Jim Meyering * src/shred.c [!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536. (do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize member directly. 1999-04-18 Paul Eggert Fix shred to do the right thing with off_t longer than long. Merge large-integer parsing code with similar code in dd.c, and put the resulting in lib/xstrtoumax.c so that other programs can use it. Instead of adding a new lib/xstrtoumax.h I thought it cleaner to put all the xstroto* declarations into a single header, which for now is lib/xstrtol.h for lack of a better place. (Mayby lib/xstdlib.h would be better? :-) I thought of several other problems with shredding regular files; shredding devices is much more reliable. So I changed the defaults to be more suitable for shredding devices; this should help encourage users to do the right thing. pfstatus isn't portable to environments with varying width fonts, or with internationalized environments where the byte count of the message is not the same as its print width. Rather than deal with this, I just simplified it to not do tricks with carriage-returns and spaces. (I'm also worried that vprintf may not return the right value on some hosts; I vaguelly recall this being a problem.) As a result, -v and - no longer conflict. When removing a special file, try to truncate it first, but don't worry if this reports an error. Try to find the size of a non-regular file by seeking to its end. Various porting fixes, mostly because of a port to SunOS 4.1.4 cc. Some other minor bug fixes. * lib/xstrtoul.h: Remove this file. * lib/xstrtoumax.c: New file. * configure.in (AC_CHECK_FUNCS): Add strtoull, strtoumax, strtouq. * lib/xstrtoul.c (STRING_TO_UNSIGNED): Remove. (__strtol, __strtol_t, __xstrtol): New macros. * lib/xstrtol.c (__strtol, __strtol_t, __xstrtol): New macros to specify the underlying function, its returned type, and our function. Default to values suitable for xstrtol. Include , since we use its macros. (ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed. (ISSPACE): New macro. (bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int -> __strtol_t. (__xstrtol): Depend on whether __strtol_t is an unsigned type, not on whether STRING_TO_UNSIGNED is defined. Skip isspace chars, not isblank chars, to match strtol. When returning LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into *val. * lib/xstrtol.h (__xstrtol, __strtol, __unsigned): Remove macro decls. : Include if HAVE_INTTYPES_H. (_DECLARE_XSTRTOL): New macro. (xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that we need only one include file, not three. (_STRTOL_ERROR): Do not undef, as this is no longer needed. Reword overflow message so that it's independent of type. * lib/Makefile.am (libfu_a_SOURCES): Add xstrtoumax.c. (noinst_HEADERS): Remove xstrtoul.h. * lib/xmalloc.c (xalloc_fail): Pass xalloc_msg_memory_exhausted through gettext. * lib/getdate.y: : Include if HAVE_STDLIB_H, since bison 1.27 invokes "free". (LookupWord, yylex): Don't pass negative char to ctype macros. * doc/fileutils.texi: Explain why shredding devices is more reliable, and why the default options are more suitable for devices. Remove withdrawn options -b or --no-contents, -c or --freed-contents, -C or --all-contents, -k or --no-links, -l or --ordinary-links, -L or --all-links. Add -R or --remove, -s or --size. -v can no longer be doubled. `file system' --> `filesystem' uniformly. * src/chgrp.c: Include xstrtol.h, not obsolete file xstrtoul.h. * src/shred.c: Include xstrtol.h, not obsolete file xstrtoul.h. "human.h", "xalloc.h": Include. (attribute): Remove; no longer needed. (xstrdup): New decl. (STDOUT_FILENO): New macro. (O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H. The following changes have effect only if !HAVE_CONFIG_H. : New include. (RETSIGTYPE): Remove bogus semicolon at end. (STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE): New macros. (xstrtoumax): Renamed from xstrtoul, with corresponding type changes. Handle suffixes like the real routine does. (error): Remove bogus assignment of errno to errnum. (xmalloc, xstrdup): New functions. (O_NOCTTY): Define even if !HAVE_CONFIG_H. (S_ISFIFO, S_ISSOCK): New macros, if not already defined. (OUTPUT_BLOCK_SIZE): New macro. (struct Options.verbose): Now a boolean, since we no longer have two levels of verbosity. (long_opts, usage, main): Remove -D or --device option. Invert -p or --preserve option, and rename it to -R or --remove. (usage): Describe G suffix. (usage): "-" no longer conflicts with -v. (UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it. (ind): Portability fixes: return word32, not unsigned; multiply by sizeof (word32) instead of shifting left by 2. (isaac_refill, isaac_mix): Comment out size of array parameter, as ansi2knr mishandles this. (status_visible, status_pos, pfstatus, flushstatus): Remove, since pfstatus isn't portable to users with varying width fonts, or internationalized messages, and vfprintf is problematic. All callers of pfstatus changed to use error instead; this removes incompatibility of -v with -. All calls to flushstatus removed. (dopass, do_wipefd): Do not translate non-English msgs with gettext. (dopass): Cast lseek constant arguments to (off_t) for benefit of pre-ANSI compilers; fix one lseek call whose args were interchanged. Remove unnecessary casts to (off_t). Do not check for EIO when determining file size; this was just my earlier wild guess. Use human_readable to print off_t, instead of casting to unsigned long (which doesn't work in Solaris 2.6, where off_t is longer than long). Output human-readable sizes, instead of always using "K". Check for offset overflow (it happened to me in SunOS 4.1.4). (do_wipefd): Do not insist on regular files, but do check for special files that cannot possibly be shredded. Use xmalloc instead of malloc + check. Do not inspect st_size for non-regular files. Try to find the size of a non-regular file by seeking to its end. Do not assume that a regular file of size-0 has unknown size. Check for regular files with negative sizes, and for overflow after rounding to next block. Always try to truncate, even for special files, but do not report an error if truncation fails on a special file. (dopass, wipefile): Do not return 1 for special files; the caller doesn't care any more. (wipefd): Remove unnecessary (and nonportable) check for whether the file descriptor is read-only. Remove no-longer-needed check for `-v -'. (incname): Return 1 for carry bit, like the documentation says. (wipename, wipefile): Accept new argument, specifying the quoted file name. All callers changed. (wipename): Use xstrdup instead of strdup+error check. (wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for errors in NNN more carefully. Restore errno after the check. Check for errors when closing the file descriptor. Use more consistent wording when unable to remove a file. (main): Do not remove files by default. Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't exist if !HAVE_CONFIG_H. In diagnostics, quote invalid operands to -n and -s options. Allow T, P, E, Z, and Y suffixes in -s operand. flags.verbose is now a boolean, not a counter. Use STDOUT_FILENO instead of 1, for clarity. * lib/human.c: Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the xstrto... functions. * src/dd.c: Include xstrtol.h. (parse_integer): Migrate most of the work into the new xstrtoumax fn. * lib/xstrtoumax.c: New file. 1999-04-18 Jim Meyering * src/dd.c (main): Open the output file with *read* access only if we might need to read to satisfy a `seek=' request. From Matthias Urlichs. 1999-04-10 Jim Meyering * Makefile.maint (alpha): Add trailing slash for ncftp. * Version 4.0f. * configure.in (AC_OUTPUT): Add tests/dd/Makefile. * tests/Makefile.am (SUBDIRS): Add dd. * tests/dd: New directory * tests/dd/misc: New file. `ls --color' would segfault * src/ls.c: Include assert.h. (color_indicator[]): Add an entry for the type, `door.' (main): Assert that the lengths of the color_indicator and indicator_name arrays are appropriately related. Reported by John Gotts. * src/dd.c (scanargs): Fix bug introduced with last change: now that the loop is gone, manually decrement argc and increment argv. Reported by Andreas Jaeger and jvogel@linkny.com. 1999-04-07 Jim Meyering * lib/getdate.y (difftm): Protoize. 1999-04-06 Jim Meyering * lib/strftime.c: Update from master source in libc. 1999-04-04 Jim Meyering * tests/ln/misc: Comment out the test added on 1999-01-31. * Makefile.maint (url_dir_list): Define properly. (real_dir_list): Likewise. * src/shred.c: Don't include string.h. [!HAVE_CONFIG_H]: Include string.h here. [!HAVE_CONFIG_H]: Hard-code RETSIGTYPE to `int'. (sigill_handler): Change return type and type of local `oldhandler' to RETSIGTYPE. (isaac_seed_machdep): Change and type of local `oldhandler' to RETSIGTYPE. From Colin Plumb. * Version 4.0e * tests/cp/same-file: Change the sed command used to extract the filename from ls -l output, to accommodate the change in format. * src/ls.c (print_long_format): Add a space between %s and %3u. This assures that even when modebuf has the trailing `+' and there are more than 99 hard links to a file, the permissions string and the link count will be separated. 1999-04-03 Jim Meyering * src/shred.c (dopass): add curly braces to avoid warning about ambiguous `else'. (wipefd): Add parentheses suggested by gcc. (do_wipefd): Remove declaration of unused local. 1999-04-02 Colin Plumb * shred.c [!HAVE_CONFIG_H] (xstrtoul, error, close_stdout): Added stubs to allow standalone compilation. (wipefile): Added support for emulating /dev/fd/# files even if the OS doesn't support them. From Paul Eggert. (main, usage): Changed --device short option to -D. (wipefd, do_wipefd): Renamed function to do_wipefd and added separate wipefd that performs sanity checks on externally-opened file descriptors, such as not append-only. From Paul Eggert. (do_wipefd, isaac_seedfd): Do not read file for any reason. if the file is low-entropy, it's a security hole. (wipefile) Changed to open O_WRONLY and chmod to write-only when forcing. (isaac_seedfd) Function deleted as unnecessary. From Paul Eggert. (dopass): Dynamically fall back to fsync() if fdatasync() fails, since POSIX, in their infinitesimal wisdom, encourage implementations that return constant -1, making compile-time testing useless. From Paul Eggert. (dopass): Changed to support a size of -1 to mean "unknown". This entailed changing to a counting-up offset rather than couting-down cursize for the central state variable. Also changed size argument to be call-by-reference so that it can be passed back once known. (sizer) Function deleted as unnecessary. (wipefd): Changed to match. From Paul Eggert (dopass): Try to skip over bad blocks in destination files. Also added ftruncate() for more complete destruction of metadata. (main, usage): Changed "-" to stand for standard output. (wipefd): Added error message to detect conflict with -v. (dopass): Added periodic fsync() calls to keep the pass progress display in sync with reality. Hopefully they're sufficiently far spaced that throughput isn't affected. It might be a good thing to do even in non-verbose mode, to avoid filling up the kernel caches with dirty data. Also added ftruncate() for more complete destruction of metadata. (quotearg_colon): New function to print pathological filenames properly. [!HAVE_CONFIG_H] (quotearg_colon_buf) New internal helper function that does most of the work. (wipefd, do_wipefd, dopass) Now take a qname (pre-quoted name) argument. (wipename, wipefile, main) Changed diagnostics to use quotearg_colon. Error messages are also in a more uniform format. From Paul Eggert. (struct Options, main, do_wipefd): Added -s/--size=N flag. (xstrtoul): Added support for valid_suffixes to help this. (usage) Documented it. (error): Changed some arguments from N_() to _(), since error() does not translate its argument. I think this is a bug. (struct Options do_wipefd, wipefd, wipefile, main): moved passes argument into the Options structure as n_iterations, which is now a size_t. From Paul Eggert. (isaac_seed_start, isaac_seed_data, isaac_seed_finish): New functions to manage seeding of RNG with arbitrary-sized data. (isaac_init): commented out as dead code. (isaac_seed): changed to use new functions to prevent any possibility of a buffer overflow. (isaac_seed): Added support for Solaris' gethrtime() configure.in: Corresponding feature test. From Paul Eggert. (wipename): Change remove() to unlink() for speed & portability. Use lstat() instead of access() to see if a filename is taken. This works even on dangling symlinks and avoids the suid problems of access(2). From Paul Eggert. (isaac_seed_machdep): New function for reading cycle counters 1999-04-02 Paul Eggert * configure.in (AC_CHECK_FUNCS): Add gethrtime. * src/shred.c (isaac_seed): Don't overrun the s->mm buffer. Use gethrtime if available. Don't assume that clock_gettime succeeds. Put most random sources first. 1999-04-02 Paul Eggert shred: Add new options -bcCklL and fix some porting problems. Remove options -dp. Do not read output files. * src/shred.c (long_opts, usage, main, wipefile): Adjust to new options. ("human.h", "quotearg.h"): New includes. (struct Options): New members contents, links, n_iterations. Remove allow_devices, remove_file. Change n_iterations to size_t. All uses changed. (output_block_size): New var. (usage): Declare __noreturn__ attribute. (fdatasync): Define to -1 if not present, since we need to invoke both fdatasync and fsync if both are present. All invokers of fdatasync now try fdatasync, then fsync. (MIXIN): New macro. (isaac_seed): Use it to mix in values. Add uid, gid to mix. Don't use gettimeofday, as it has too many porting problems. (isaac_seedfd): Remove, since we no longer read the output files. (sizefd): Remove; we now determine size by writing sequentially. (dopass, wipename, wipefile, main): Clean up error messages. (dopass): Keep track of offset relative to start of file, not end, since we may not know how large the file is. If size is negative, write until we fall off the end of the file. (wipefd): Do not read output file. Return 0 if successful, -1 if not; do not make a special case for non-regular files, since our callers have that info now. (wipename): Now static. Return errno if error. (main): "-" now stands for standard output. Do not shred append-only standard output. (wipefile): Do not grant read permission to file when wiping it. Use symbolic permission (S_IWUSR), not octal. * src/system.h (S_IWUSR): Define if not already defined. * configure.in (AC_SEARCH_LIBS): Prefer rt to posix4, for Solaris 7. (AC_CHECK_FUNCS): Remove gettimeofday. * doc/fileutils.texi: Document recent changes. 1999-04-01 Jim Meyering * configure.in (AC_CHECK_FUNCS): Add acl. (AC_CHECK_HEADERS): Add sys/acl.h. * src/ls.c [HAVE_SYS_ACL_H]: Include sys/acl.h. (struct fileinfo): New member `have_acl'. (gobble_file): Initialize it. (print_long_format): Use it. Mostly from Alen Muzinic. * src/touch.c (open_maybe_create): New function. (touch): Rewrite not to use `creat' and to eliminate a race condition that could make touch truncate a nonempty file. Report and suggestions from Andrew Tridgell. 1999-03-31 Jim Meyering * src/du.c: Remove prototypes and tsort function definitions. * src/chown.c (main): Move the declaration of `e' into the scope where it's used and make it `const'. * src/install.c (main): Qualify a char* with the `const' keyword. (install_file_in_dir): Likewise. * src/ln.c (main): Likewise. * src/mkdir.c (main): Likewise. * src/mkfifo.c (main): Likewise. * src/mknod.c (main): Likewise. * src/mv.c (main): Likewise. * src/touch.c (touch): Likewise. 1999-03-30 Jim Meyering * src/*.c: Don't include closeout.h or version-etc.h explicitly. Now, they're included via sys2.h. 1999-03-29 Jim Meyering * configure.in (GNU_PACKAGE): Remove related code -- now it's in the catch-all for shared autoconf code, m4/jm-macros.m4. (jm_CHECK_ALL_TYPES): Remove explicit AC_TYPE_* macros and use this instead. 1999-03-29 Paul Eggert Minor lint removal in code that forks and execs. * lib/mkdir.c (mkdir): Use pid_t instead of int; check status against zero. This is to improve portability. * lib/rename.c (rename): Likewise. * lib/rmdir.c (rmdir): Likewise. * lib/rename.c (rename): (rename): Do not print any error messages, so that the messages are internationalized properly. * src/install.c (strip): Use standard "cannot fork" message. Check for strip nonzero exit status. 1999-03-28 Jim Meyering `chmod =OP' did not properly apply the umask * lib/modechange.c (make_node_op_equals): New function. (mode_append_entry): Likewise. (mode_compile): When none of [ugoa] is specified in an `=OP' change mode request, insert a `=0' entry into the linked list so that all bits are cleared first. Use the new functions. Reported by Andrew Dalke. New test for the above. * configure.in (AC_OUTPUT): Add tests/chmod/Makefile. * tests/Makefile.am (SUBDIRS): Add chmod. * tests/chmod: New directory * tests/chmod/equal-x: New file. 1999-03-27 Jim Meyering * lib/modechange.c (mode_compile): Upon allocation failure, free everything starting with the head, not the tail. * src/install.c (strip): Use pid_t, not int. From John Bley. 1999-03-26 Jim Meyering * src/dd.c (PROGRAM_NAME, AUTHORS): Define (long_options): Remove unused struct. (scanargs): Remove useless loop. (main): Use PROGRAM_NAME and AUTHORS in call to parse_long_options. * src/mvdir.c: Likewise. * src/sync.c (PROGRAM_NAME, AUTHORS): Define and use. 1999-03-25 Jim Meyering * lib/Makefile.am (libfu_a_SOURCES): Add version-etc.c. (noinst_HEADERS): Add version-etc.h. * lib/long-options.c (parse_long_options): Remove version-, copyright-, and author-printing code. Do it via version_etc. * lib/version-etc.c: New file. * lib/version-etc.h: Prototype for same. * src/sys2.h (GETOPT_HELP_CHAR): Define. (GETOPT_VERSION_CHAR): Define. (GETOPT_HELP_OPTION_DECL): Define. (GETOPT_VERSION_OPTION_DECL): Define. (case_GETOPT_HELP_CHAR): Define. (case_GETOPT_VERSION_CHAR): Define. * src/chgrp.c: No longer include long-options.h. Include version-etc.h instead. (PROGRAM_NAME, AUTHORS): Define. [long_options]: Add entries for --help and --version. Remove parse_long_options call. (main) [getopt switch]: Add a case for each of --help and --version. * src/chgrp.c: Likewise. * src/chmod.c: Likewise. * src/cp.c: Likewise. * src/df.c: Likewise. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise. * src/mv.c: Likewise. * src/rm.c: Likewise. * src/rmdir.c: Likewise. * src/shred.c: Likewise. * src/touch.c: Likewise. 1999-03-24 Jim Meyering * man/help2man: Import version 1.010. 1999-03-22 Jim Meyering * src/chmod.c (usage): Add one-liner. Suggestion from Karl Berry. 1999-03-19 Jim Meyering * src/automake-wrap: Rewrite the automake-generated rule for clean-binPROGRAMS so that it removes rm even with a losing PATH on a losing system (PATH with `.' before /bin on a system where you can't unlink a running executable). Reported by William Bader. * configure.in: Use jm_WINSIZE_IN_PTEM. * src/ls.c [WINSIZE_IN_PTEM]: Include sys/stream.h and sys/ptem.h. Required by SCO ODT 2.0 systems. Reported by William Bader. 1999-03-18 Jim Meyering * src/remove.c (remove_cwd_entries): Reflect changes in hash_insert. (remove_init): Call hash_initialize with one more argument. 1999-03-15 Jim Meyering Revamp to allow fine-tuning to control when and by how much the table grows and shrinks. * lib/hash.c (next_prime): Don't assert. (hash_reset_tuning): New function. (check_tuning): New function. (hash_initialize): Accept and use new tuning parameter. (hash_rehash): Rewrite, updating for tuning. (hash_insert): Honor tuning semantics. (hash_delete): Likewise. From François Pinard. * lib/hash.h (struct hash_tuning): Define. (struct hash_table) [tuning]: Add member. (hash_initialize): Add `tuning' parameter. * lib/hash.c (hash_insert): Remove last parameter and change semantics. * lib/hash.h (hash_insert): Update prototype. * lib/hash.c (hash_insert): Don't increment n_entries unconditionally -- otherwise, we'd do so even when the insertion failed. From François Pinard. 1999-03-07 Jim Meyering * lib/xmalloc.c (xalloc_fail): Use "%s" format so the message doesn't have to be scanned for % signs. Suggestion from François Pinard. * Makefile.maint: Add two more URLs and the loops to use them. * lib/long-options.c (parse_long_options): Include `Copyright...' line in --version output. Add the `...NO warranty...' message. 1999-03-03 Jim Meyering * lib/long-options.c (_): Define it. (parse_long_options): Accept new parameter, authors, and print it. * lib/long-options.h: Update prototype. * src/chgrp.c: Include long-options.h [long_options]: Remove the "help" and "version" entries. (main): Use parse_long_options, including author name(s). Remove the show_version and show_help blocks. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/cp.c: Likewise. * src/dd.c: Likewise. * src/df.c: Likewise. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise. * src/mv.c: Likewise. * src/mvdir.c: Likewise. * src/rm.c: Likewise. * src/rmdir.c: Likewise. * src/shred.c: Likewise. * src/sync.c: Likewise. * src/touch.c: Likewise. 1999-02-18 Paul Eggert * getdate.y: : Include if HAVE_ALLOCA_H, not FORCE_ALLOCA_H. The FORCE_ALLOCA_H was a relic of the bad old pre-autoconf Emacs days. 1999-02-17 Jim Meyering * src/shred.c (wipename): Fix string thinko. Now, shredding files in subdirectories works (dir/file). From Janos Farkas. 1999-02-13 Jim Meyering * src/dircolors.c (dc_parse_stream): Don't try to dereference NULL if there's an error in our built-in list. Suggestion from François Pinard. 1999-02-13 Andreas Schwab * src/install.c (main): Set x.backup_type only if backups are requested. (cp_option_init): Initialize backup_type. (backup_type): Remove unused variable. * doc/fileutils.texi: Fix use of @item vs @itemx. 1999-02-08 Jim Meyering * src/dircolors.c (slack_codes): Add "DOOR". (ls_codes): Add corresponding "do". Reported by John Gotts. * configure.in (ALL_LINGUAS): Add Italian (it). 1999-02-07 Jim Meyering * Version 4.0d (aka 4.1-b4). * Makefile.maint (my-distcheck): Don't depend on dist, now that this is hooked up to the distcheck rule. * Makefile.am (distcheck-hook): New target and rule -- link to shared rule, my-distcheck, in Makefile.maint. * doc/fileutils.texi (shred invocation): New section. From Colin Plumb. * configure.in (jm_FUNC_GETGROUPS): Move the test into a new file, group-member.m4, and just use this new macro. Use `.$ac_objext', not the literal `.o'. 1999-02-02 Jim Meyering * src/ls.c (S_ISLNK, S_ISFIFO, S_ISSOCK, S_ISCHR, S_ISBLK, S_ISDOOR): Define to zero if not already defined. (HAVE_SYMLINKS): Define. (gobble_file): Remove #ifdef. (get_link_name, make_link_path): Guard these with #if HAVE_SYMLINKS rather than #ifdef S_ISLNK. (print_type_indicator): Remove #ifdefs and reorganize. (print_color_indicator): Remove #ifdefs. (length_of_file_name_and_frills): Likewise. 1999-02-01 Rainer Orth * src/dircolors.hin: Handle DOOR. * src/ls.c (print_type_indicator): Print doors as '>'. (length_of_file_name_and_frills): Account for this. (indicator_no): Define C_DOOR. (indicator_name): Add corresponding name. * lib/filemode.c (ftypelet): Handle doors. * lib/filemode.c, src/system.h (S_ISDOOR): Define if missing. 1999-02-01 Jim Meyering * lib/strcasecmp.c (STRXCASECMP_FUNCTION): Don't increment within macro argument list. From Akim Demaille. 1999-01-31 Jim Meyering * doc/fileutils.texi: Wrap the @top node in @ifnottex instead of @ifinfo so `makeinfo --html ...' works. From Karl Berry. * tests/ln/misc: Add test for this. * src/ln.c (do_link): Allow creation of a hard link to a dangling symlink. Reported by Alexey Solovyov. * src/copy.c (copy_internal): Describe any backup-related renaming operations when in verbose mode. (copy_internal): Likewise. Based on changes from Marty Leisner. * lib/lchown.c: Declare chown. 1999-01-30 Jim Meyering * acconfig.h: Remove uintmax and STAT* #undefs. * configure.in: Require autoconf 2.13. Remove test for AFS. Use 3-argument form of AC_DEFINE*. 1999-01-28 Jim Meyering * po/POTFILES.in: Add src/shred.c. * src/system.h: Use TIME_WITH_SYS_TIME-based #if test rather than TM_IN_SYS_TIME based one (for shred). * acconfig.h: Remove lots of `#undef's, now that we use the 3-argument forms of AC_DEFINE* macros. 1999-01-25 Jim Meyering * configure.in (fdatasync): Use AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. (AC_CHECK_FUNCS): Add clock_gettime. * src/shred.c (isaac_seed): Guard clock_gettime with test of HAVE_CLOCK_GETTIME, not CLOCK_REALTIME. (wipename): Rename local dirfd to dir_fd to avoid shadowing the function declared in Linux's dirent.h. 1999-01-25 Akim Demaille * lib/argmatch.h (ARRAY_CARDINALITY): Define. (ARGMATCH_ASSERT): New macro. * lib/argmatch.c (program_name): Remove dcl. Include error.h. (argmatch_invalid): Use error rather than fprintf. 1999-01-24 Jim Meyering * src/ansi2knr.c: Exit nonzero upon failed write to stdout. New version from L. Peter Deutsch. * lib/quotearg.c (quotearg_n_options): Revert type of parameter `n' (and hence that of the local `n1', too) to `int' at Paul's request. * lib/closeout.c: Add comments. * src/shred.c (fdatasync): Remove function. instead, ... (fdatasync) [! HAVE_FDATASYNC]: Define to fsync. From Colin Plumb. 1999-01-23 Jim Meyering * src/Makefile.am (bin_PROGRAMS): Add shred. * src/shred.c: New file. Portability tweaks. Internationalize. (wipename): Print the `FILE: deleted' and `FILE: deleting' messages only when in verbose mode. (fdatasync) [! HAVE_FDATASYNC]: New function. * man/Makefile.am (man_MANS): Add shred.1. * man/Makefile.summ (shred-summary): Define. * man/shred.x: New file. * src/shred.c: New file. From Colin Plumb. Include config.h, getopt.h, system.h and error.h. Use #else/#if, not #elif. 1998-11-05 Paul Eggert * lib/mktime.c (__mktime_internal): Adopt the traditional (and problematic) notion of what to do when tm_isdst doesn't match. 1999-01-17 Jim Meyering * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set PATH here, rather than setting RM and CP. * tests/cp/*: Now that PATH is set properly, use rm and cp rather than $RM and $CP. * tests/ln/Makefile.am (TESTS): Add backup-1. (TESTS_ENVIRONMENT): Set PATH here, rather than setting LN. * tests/ln/*: Now that PATH is set properly, use ln rather than $LN. * tests/ln/backup-1: New test for this. * src/ln.c (do_link): Try to remove DEST even after renaming it. This fixes a bug reported by Jamie Lokier. * src/ln.c (same_name): Use SAME_INODE rather than open coding it. 1999-01-16 Jim Meyering * lib/argmatch.c (ARGMATCH_DIE_DECL): Use it. * acconfig.h: Remove @BOTTOM@ section. Instead, add the define and decl via m4/jm-macros.m4. * src/ls.c: Don't declare base_name. Use function-style XARGMATCH once again. * src/touch.c: Likewise. * acconfig.h: Add a @BOTTOM@ section. (ARGMATCH_DIE) [@BOTTOM@]: Define to usage(1). Declare usage. From Akim Demaille. * src/cp.c: Remove declarations of base_name and get_version. (main): Don't call getenv ("VERSION_CONTROL"); xget_version does it. Use xget_version and function-style XARGMATCH. * src/mv.c (main): Likewise. * src/ln.c (main): Likewise. * src/install.c (main): Likewise. * lib/quotearg.c (quotearg_n_options): Declare n1 to be of type unsigned int, not just int. * lib/backupfile.h (get_version): Adjust prototype. (xget_version): Add prototype. (base_name): Remove prototype. * lib/backupfile.c [!HAVE_DECL_GETENV]: Declare getenv. (backup_args): Reorder enum members. (backup_types): Likewise. (get_version): Take an additional parameter, `context'. (xget_version): Like get_version, but if the `version' argument is NULL, use the value of the envvar VERSION_CONTROL. (base_name): Declare. Mostly from Akim Demaille. * lib/addext.c (base_name): Declare. * src/sys2.h: Add prototype for base_name. * lib/argmatch.c: s/argmatch_exit_failure/argmatch_die/ * lib/argmatch.h: Likewise. * lib/argmatch.h (XARGMATCH): Define to return a value once again. (XARGCASEMATCH): Likewise. * lib/argmatch.c (EXIT_FAILURE): Define. (ARGMATCH_DIE): Provide default. (__xargmatch_internal): New function. s/rogram_name/program_name. From Akim Demaille. 1999-01-14 Akim Demaille * src/touch.c (usage): Don't make it static so that it can be called from libfu.a by xargmatch. * src/chgrp.c (usage): Likewise * src/chmod.c (usage): Likewise * src/chown.c (usage): Likewise * src/cp.c (usage): Likewise * src/dd.c (usage): Likewise * src/df.c (usage): Likewise * src/dircolors.c (usage): Likewise * src/du.c (usage): Likewise * src/install.c (usage): Likewise * src/ln.c (usage): Likewise * src/ls.c (usage): Likewise * src/mkdir.c (usage): Likewise * src/mkfifo.c (usage): Likewise * src/mknod.c (usage): Likewise * src/mv.c (usage): Likewise * src/mvdir.c (usage): Likewise * src/rm.c (usage): Likewise * src/rmdir.c (usage): Likewise * src/sync.c (usage): Likewise 1999-01-12 Akim Demaille * lib/backupfile.c (get_version): added the parameters KIND. (xget_version): like get_version, but if argument is NULL, honor the envvar VERSION_CONTROL. * src/cp.c: Remove declarations of base_name and get_version. (main): Use xget_version. * src/mv.c (main): Likewise. * src/ln.c (main): Likewise. * src/install.c (main): Likewise. 1999-01-12 Jim Meyering * configure.in (ALL_LINGUAS): Add Greek (el). * po/el.po: New file. * install-sh: New version from autoconf. * missing: New version from automake. * src/ansi2knr.c: Likewise. * lib/getopt.c: New version from glibc. * lib/getopt.h: Likewise. * lib/getopt1.c: Likewise. * lib/regex.c: Likewise. * lib/regex.h: Likewise. * lib/ylwrap: Remove unused file. 1999-01-10 Jim Meyering * Version 4.0c (aka 4.1-b3). * Upgrade to autoconf-2.13 and automake-1.3b. * src/copy.c (copy_internal): Handle two more values of errno from failed rename of a directory into a subdirectory of itself. Thanks to Volker Borchert for testing many types and combinations of systems. * lib/argmatch.c (ARGMATCH_QUOTING_STYLE): Change from c_quoting_style to escape_quoting_style. (argmatch_invalid): Now that the quoted quantity is no longer double quoted, remove the code that removed leading and trailing double quotes. * src/ls.c (decode_switches): Now that escape_quoting_style no longer escapes the SPACE character, arrange for SPACEs to be quoted here. * lib/quotearg.c (quotearg_buffer): Change escape_quoting_style so that it no longer escapes ` '. Suggestion from Paul Eggert. 1999-01-05 Jim Meyering * configure.in (space): Add `for' in message of statvfs check. From Ulrich Drepper. 1999-01-04 Jim Meyering * Version 4.1-b2. 1999-01-02 Jim Meyering * lib/argmatch.c (argmatch_invalid): Remove double quotes from the offending quoted argument before using it in explanatory diagnostic. Use a single fprintf stmt. * lib/argmatch.h (XARGMATCH): Don't return a value; instead, modify a parameter. Add a `Die_stmt' parameter. Add parentheses. * lib/argmatch.c (__xargmatch_internal): Remove now-unused function. (argmatch_to_argument): Add `const' attribute to first parameter. * configure.in (AC_REPLACE_FUNCS): Remove strcasecmp (now it's done in m4/jm-macros.m4). * lib/backupfile.c (get_version): Adapt to use new interface to XARGMATCH. * src/cp.c: Likewise. * src/ls.c: Likewise. * src/touch.c: Likewise. 1999-01-01 Jim Meyering * lib/makepath.c (make_dir): New function, factored out of make_path. (make_path): Use make_dir rather than open-coding it twice. This effectively reverses the order of the latter pair of stat/mkdir calls and fixes a race condition bug whereby one of two concurrent `mkdir -p' processes could fail with EEXIST. Include locale.h and libintl.h, and define `_()'. Mark translatable strings. * lib/xmalloc.c: Add comments. (xcalloc, xmalloc, xrealloc): Remove prototypes. (xcalloc): Remove `#ifdef NOT_USED' that used to hide this function. * lib/xalloc.h: Add comments. (PARAMS, XMALLOC, XCALLOC, XREALLOC): Define. (xcalloc, xmalloc, xrealloc): Add prototypes here. Based on changes from Akim Demaille. * lib/quotearg.c (quotearg_buffer): Cast -1 to size_t before comparing. (quotearg_n): Change type of 1st parameter from int to unsigned int. (quotearg_n_options): Likewise. * lib/quotearg.h (quoting_style_vals): New public array. From Akim Demaille. (quotearg_n_options): Declare `options' parameter to be `const'. * lib/human.c (humblock): Use ARGMATCH in place of argmatch. * lib/backupfile.c (get_version): Use XARGMATCH in place of argmatch & co. 1998-12-31 Jim Meyering * src/ls.c (indicator_style_types): New variable. (format_types): Rename from `formats'. (color_args): Remove unnecessary `no' string. (color_types): Remove corresponding `color_never' entry. (main): Use ARGMATCH_TO_ARGUMENT. (decode_switches): Use ARGMATCH instead of argmatch code in each of several cases. From Akim Demaille. * src/cp.c (main): Use XARGMATCH in place of argmatch & co. * src/touch.c (main): Likewise. * lib/backupfile.c (get_version): Likewise. From Akim Demaille. * lib/strncasecmp.c: New file. * lib/strcasecmp.c: Add #ifdefs so it can be used for strncasecmp, too. * lib/argmatch.c (strncasecmp): Move to a separate file. Add curly braces around some one-stmt-but-multiline blocks. * lib/argmatch.c: Improvements from Akim Demaille. * lib/argmatch.h: Likewise. * lib/addext.c (addext): Protoize. Indent cpp directives to match nesting. Fix warnings from gcc -W -Wall * lib/posixtm.c (posix_time_parse): Change type of index `i' from int to unsigned int. * lib/getdate.y (__attribute__): Define. (ATTRIBUTE_UNUSED): Define. (yyerror): Mark parameter as unused with ATTRIBUTE_UNUSED. (MonthDayTable): Add initializers for last entry. (UnitsTable): Likewise. (OtherTable): Likewise. (MilitaryTable): Likewise. 1998-12-22 Jim Meyering * Version 4.1-b1. * configure.in (ALL_LINGUAS): Add chinese (zh). 1998-12-19 Jim Meyering * tests/ln/misc: Use absolute path for final rm. * Makefile.maint (my-distcheck): Run make with CFLAGS='-Wformat -Werror'. 1998-12-18 Jim Meyering * src/copy.c (copy_internal): Remove errnoeous `%s: ' prefix from format string. From Michiel Bacchiani. * src/chgrp.c (MAXGID): Define. Use gid_t (not int) as the type for `group' variables. (parse_group): Use MAXGID, not INT_MAX. * src/install.c (UID_T_MAX, GID_T_MAX): Remove definitions. * src/sys2.h (UID_T_MAX, GID_T_MAX): Define them here instead. 1998-12-13 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Add xstat.in. 1998-12-12 Jim Meyering 1998-10-15 Akim Demaille * src/ls.c: Group DIRED's code together. (full_time, inhibit_group, col_ext_type): Declare static. (dired_dump_obstack): Apply sizeof to variable, instead of its type. (parse_ls_color): Rename ext2 as e2. Move into the block where it is used. 1998-10-15 Akim Demaille * src/ls.c: In order to distinguish col(umn|or): (init_column_info): Renamed from init_col_info. (struct column_info): Renamed from struct col_info. (struct color_ext_type): Renamed from struct col_ext_type. 1998-12-11 Jim Meyering * lib/Makefile.am (lstat.c): Add rule to generate this from xstat.in. (stat.c): Likewise. * lib/stat.c: Remove file. * lib/lstat.c: Remove file. * lib/xstat.in (xstat@): New file. * lib/quotearg.c (quotearg_buffer): Use `7' as the mask, not `3'. From Bruno Haible. * tests/ls-2/tests: Add a test for this. * man/help2man: import version 1.006. 1998-12-07 Jim Meyering * src/copy.c: Use dir_name, not dirname. Include dirname.h. * src/cp.c: Likewise. * src/df.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/mvdir.c: Likewise. * lib/dirname.c (dir_name): Rename from dirname. Make argument `const'. Include "dirname.h" * lib/dirname.h: New file. * lib/Makefile.am (noinst_HEADERS): Add dirname.h. 1998-12-06 Jim Meyering * lib/rpmatch.c (rpmatch) [!ENABLE_NLS]: Hard-code tests to use `^[yY]' and `^[nN]' (avoiding regex). From Karl Heuer. * lib/*.c: Ansideclify. Fix `ls -R .' formatting bug that broke mktexlsr. * src/ls.c: Include path-concat.h. (basename_is_dot_or_dotdot): New function, derived from is_not_dot_or_dotdot. (is_not_dot_or_dotdot): Remove function. (extract_dirs_from_files): Use `!basename_is_dot_or_dotdot' instead of is_not_dot_or_dotdot and use path_concat instead of attach. * tests/ls-2/tests: New file (renamed from quoting), with new test for the `ls -R .' fix. * tests/ls-2/quoting: Remove file. * tests/ls-2/Makefile.am (TESTS): s/quoting/tests/. 1998-11-29 Jim Meyering * src/remove.c (DOT_OR_DOTDOT): Move definition from this file... * src/sys2.h (DOT_OR_DOTDOT): ...to this one. * src/dd.c (dd_copy): Rename function from `copy'. * src/cp.c (do_copy): Rename local: s/unused/copy_into_self/. Per Kristian Hove reported that a certain move-directory-into-self wasn't properly diagnosed. * tests/mv/into-self-3: New file. * tests/mv/Makefile.am (TESTS): Add into-self-3. * src/copy.c (copy_internal): Remove earlier (but less effective) test for move/copy-into-self. Instead, deduce the move-into-self condition from errno==EINVAL after a failed rename. * src/mv.c (do_move): Don't arrange to remove DEST in the copied-into-self case. 1998-11-15 Jim Meyering Bob McCracken reported that mv couldn't handle certain combinations of hard linked source files. * tests/mv/hard-link-1: New file. * tests/mv/Makefile.am (TESTS): Add hard-link-1. * src/mv.c (movefile): Don't free new_dest. * lib/error.c (error): Don't use strerror_r's return value. From Johan Danielsson. 1998-11-14 Jim Meyering * Version 4.0. * Makefile.maint (cvs-dist): Search for `$tag:' rather than just $tag to avoid matching a prefix of another tag. 1998-11-10 Jim Meyering * configure.in (ALL_LINGUAS): Add Greek (el). * po/el.po: New file. 1998-11-07 Jim Meyering * Version 4.0-b7. Accommodate the Hurd (defining lstat to rpl_lstat via config.h didn't work on Hurd systems because of an inline definition of lstat in a system header file). This also makes it so that you may run `ls '' ' on systems that let l?stat operate on the empty string. * src/remove.c [HAVE_LSTAT_EMPTY_STRING_BUG]: Define lstat to rpl_lstat and declare the latter. * lib/stat.c [stat]: Remove #undef. (rpl_stat): Protoize. * lib/lstat.c [lstat]: Remove #undef. (rpl_lstat): Protoize. Use ENOENT, not EINVAL, to be consistent with lib/stat.c. * acconfig.h: Remove #undef's for lstat and stat. 1998-10-31 Jim Meyering * tests/rm/Makefile.am (TESTS): Add new test `empty-name', but comment it out. * tests/rm/empty-name: New file. * acconfig.h (stat): New #undef. This omission was uncovered when Mark Kettenis reported that `rm -r ''' got a failed assertion on the Hurd. This change doesn't fix *that* problem -- see above. 1998-10-25 Jim Meyering * Version 4.0-b6. * README: Man pages will now be supported to the extent that people send patches. * tests/rm/unreadable: Two new tests. * tests/rm/Makefile.am (TESTS): Add new test `unreadable'. But comment it out since we're so close to release and since the test compares the text of diagnostics that are likely to vary between systems. (TEST_ENVIRONMENT): Add required framework. * src/remove.c (remove_cwd_entries): Don't apply CLOSEDIR to a NULL pointer. (provoke with `mkdir -m 0100 x; rm -rf x') Upon CLOSEDIR failure, set `status' to RM_ERROR, not RM_OK. (remove_dir): Return `status', rather than always RM_OK. 1998-10-18 Jim Meyering * Version 4.0-b5. * lib/mktime.c: Update from libc with this additional change from Paul. * lib/strftime.c: Likewise. 1998-10-17 Paul Eggert Don't invoke localtime_r or gmtime_r unless it's the GNU C library's localtime_r and gmtime_r; there are too many buggy implementations of localtime_r and gmtime_r out there, and it's not worth keeping track of all the different bugs. * mktime.c (__EXTENSIONS__, HAVE_LOCALTIME_R): Remove. (my_mktime_localtime_r): Renamed from localtime_r; all uses changed. Base it on localtime unless _LIBC. * strftime.c (__EXTENSIONS__): Remove. (my_strftime_gmtime_r): Renamed from gmtime_r; all uses changed. (my_strftime_localtime_r): Renamed from localtime_r; all uses changed. Base them on localtime/gmtime if not _LIBC. 1998-10-17 Jim Meyering * Version 4.0-b4. * lib/mktime.c: Declare localtime_r if necessary. * lib/strftime.c: Likewise. * tests/Fetish.pm (run_tests): Run $prog with --version only if $verbose. 1998-10-11 Jim Meyering * Version 4.0-b3. 1998-10-08 Paul Eggert * mktime.c (__mktime_internal): When the requested time falls in a spring-forward gap of size DT, return a time that is DT away from the requested time, preferring a time whose tm_isdst differs from the requested value. Bump the max number of probes from 4 to 6 to account for the extra probes needed to discover a spring-forward gap in the worst case. 1998-10-08 Paul Eggert * mktime.c (my_mktime_localtime_r): Renamed from localtime_r. Define also if HAVE_LOCALTIME_R && defined (localtime_r), with a body that merely expands localtime_r; this works around a bug in Digital Unix 4.0A and 4.0D. 1998-10-05 Jim Meyering * po/Makefile.in.in (uninstall): Remove (historical?) command that removed po-Makefile.in.in. From Akim Demaille. * src/install.c (long_options): Add entry for --suffix=SUFFIX option. From aldomel. 1998-10-04 Jim Meyering * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define PERL. From Kaveh Ghazi. 1998-10-03 Jim Meyering * Version 4.0-b2. * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Add PATH. * man/Makefile.maint ($(man_MANS)): Don't depend on actual executables. Instead, depend on corresponding source file and on configure.in. Based on suggestion and code from Akim Demaille. Factor out irregular men into Makefile.summ. * man/Makefile.am (EXTRA_DIST): Add Makefile.summ. * man/Makefile.summ: New file. * man/Makefile.maint: Include it. * tests/Fetish.pm: Make `DEBUG' be a little more verbose. * tests/mv/Makefile.am (TESTS): Add i-1. * tests/mv/i-1: New test. 1998-10-02 Jim Meyering * tests/ls-2/Makefile.am (EXTRA_DIST): Remove run-test. * tests/ls-2/run-test: Remove file. * tests/ls-2/quoting: Include /bin/sh driver framework. * tests/dircolors/simple: Remove file. * tests/dircolors/run-test: Embed it here instead. * tests/dircolors/simple: Rename from run-test. 1998-10-01 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Remove README. From Akim Demaille. 1998-09-28 Jim Meyering * Version 4.0-pre1. * Use automake-1.3b. See notes in README. * src/copy.c (copy_internal): Do honor `n' reply in move-mode. Otherwise, `touch a b; echo n|mv -i a b' would remove b. From Bernd Leibing. 1998-09-27 Jim Meyering * Version 3.16z. * Makefile.maint (alpha): New target. (my-distcheck): Tweak. * lib/backupfile.h: Protect against multiple inclusion. From Akim Demaille. * configure.in: Remove use of AC_FUNC_FNMATCH and associated code. Now, it is invoked through jm_MACROS. * lib/strftime.c (my_strftime): Update from FSF. 1998-09-26 Jim Meyering * src/copy.c (copy_internal): Don't preserve hard-linked directories to avoid damaging the destination filesystem when copying from a Netapp snapshot directory. With code from Kjetil Torgrim Hollstein and Paul Eggert. 1998-09-24 Jim Meyering * man/Makefile.maint ($(man_MANS)): Correct typo: s/-tmp/-t/. From Akim Demaille. 1998-09-21 Jim Meyering * man/Makefile.maint ($(man_MANS)): Remove `echo'. 1998-09-20 Jim Meyering * Version 3.16y. * src/install.c (install_file_to_path) [-D]: Create any leading directories with permissions of 0755. 1998-09-19 Jim Meyering * src/install.c (install_file_to_path): Copy the file after creating any leading directories. (main) [case 'v']: Set `x.verbose' to 1, not 0. Reported by Marty Leisner. * man/Makefile.am (transform): Define. (man_MANS): Include ginstall.1, not install.1, to match the name of the executable in ../src. * man/ginstall.x: New file. * man/install.x: Remove file. * man/Makefile.maint (ginstall-summary): Renamed from install-summary. * man/Makefile.am (EXTRA_DIST): Add Makefile.maint and GNUmakefile. Reported by Akim Demaille. * lib/modechange.c: Fix post-protoization typo. * lib/posixtm.h (PARAMS): Define and use. From Kaveh Ghazi. 1998-09-12 Jim Meyering * Version 3.16x. * src/remove.c (remove_cwd_entries): Declare to be static. Automatically generate man pages from combination of --help output and the contents of new, man/*.x files. * man/Makefile.am (HELP2MAN): Define. (man_aux): Define. (EXTRA_DIST): Add $(HELP2MAN) and $(man_aux). (MAINTAINERCLEANFILES): Add $(man_MANS). * man/*.x: New files. * man/GNUmakefile: New file. * man/Makefile.maint: New file. * man/help2man: New file. 1998-09-09 Jim Meyering * lib/modechange.c: Protoize. 1998-09-07 Jim Meyering * Version 3.16w. * src/df.c (show_dev) [!posix_format]: When using --print-type, let the device path and the file system type share a single (wider) field if their combined lengths allow it. From Andries Brouwer. * tests/touch/empty-file: Upon failure, suggest how to rerun the test with longer delay, in case NFS clock skew was the cause of the failure. Reported by Kaveh Ghazi. * tests/ls-2/quoting: Add tests. * tests/Fetish.pm (run_tests): Add simple PRE/POST hooks. (_create_file): Don't include $$ in temp file name. (run_tests): Use shorter suffixes for temp file names. 1998-09-06 Jim Meyering * src/touch.c: Include posixtm.h. (usage): Correct the description of the format of the date string argument to -t option. (main): Update to use rewritten posixtime function. Reported by Andries Brouwer. * lib/Makefile.am (libfu_a_SOURCES): Change posixtm.y to posixtm.c. (noinst_HEADERS): Add posixtm.h. * lib/posixtm.h: New file. * lib/posixtm.c: New file. Rewritten based on posixtm.y. * lib/posixtm.y: Remove file. 1998-09-05 Andreas Schwab * src/ls.c (print_dir_name): Put back. (print_dir): Also print directory name header if print_dir_name is true. 1998-08-29 Jim Meyering * Version 3.16v. * src/du.c (long_options): Use corresponding short-option character in place of `1', and `NULL' in place of pointer in initialization. * src/cp.c (long_opts): Likewise. * src/ln.c (long_options): Likewise. * src/mkdir.c (longopts): Likewise. * src/rmdir.c (longopts): Likewise. * src/chown.c: Replace 12 and 13 with CHAR_MAX + 1 and CHAR_MAX + 2 respectively. * src/chmod.c (long_options): Replace 12 with CHAR_MAX + 1. * src/chgrp.c (long_options): Replace 12 with CHAR_MAX + 1. * tests/Fetish.pm: New file -- moved from ls-2/. * configure.in (AC_OUTPUT): Add tests/dircolors/Makefile. * tests/Makefile.am (SUBDIRS): Add dircolors. (EXTRA_DIST): Add Fetish.pm. * tests/dircolors: New directory * src/ls.c (print_dir_name): Remove global variable. (print_dir): When trace_dirs is set, always print the directory name header. 1998-08-26 Jim Meyering * src/dircolors.c (dc_parse_stream): Don't segfault when a line contains only one token. Reported by Olav Morkrid. 1998-08-24 Paul Eggert * src/system.h (CHAR_MIN, CHAR_MAX): Renamed from SCHAR_MIN, SCHAR_MAX, since these macros apply to char, not signed char. * src/df.c, src/du.c, src/touch.c (long_options, main): Don't assume ASCII. 1998-08-18 Paul Eggert Port nanosecond-resolution times to UnixWare 2.1.2 and pedantic Solaris 2.6. * configure.in (AC_STRUCT_ST_MTIM_NSEC): Renamed from AC_STRUCT_ST_MTIM. * acconfig.h (ST_MTIM_NSEC): New #undef. * src/system.h (ST_TIME_CMP_NS, ATIME_CMP, CTIME_CMP, MTIME_CMP): Use new ST_MTIM_NSEC macro. 1998-08-16 Jim Meyering * lib/filemode.h (PARAMS): Define and use. From Kaveh Ghazi. 1998-08-15 Jim Meyering * Version 3.16u. * Makefile.maint (announcement): New target. * tests/mv/into-self: Update to reflect changed behavior of mv. * src/mv.c (do_move): Fail upon attempt to move a directory into itself. With prodding from François Pinard :-) * tests/ls-2/Fetish.pm: New file * tests/ls-2/run-test: New file * src/copy.c (copy_internal) [one-file-system]: Do copy mount point directories (but none of their entries). This makes `cp --archive --one-file-system' use the same policy `tar --one-file-system' does. From Marty Leisner. * src/ls.c (qmark_funny_chars): Add comment from Paul eggert. 1998-08-14 Jim Meyering * tests/mv/setup: Work around another bug in Ultrix4.3a's /bin/sh. Reported by Christian von Roques. * configure.in (AC_OUTPUT): Add tests/ls-2/Makefile. * tests/Makefile.am (SUBDIRS): Add ls-2. * tests/ls-2: New directory 1998-08-14 Christian von Roques * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNT]: Don't infloop on getmnt(2) returning 0. * tests/cp/backup-is-src: Avoid bug in Ultrix4.3a /bin/sh, not initializing output redirection of : command. * tests/mv/backup-is-src: Likewise. * tests/rm/i-1: Likewise. 1998-08-12 Jim Meyering * po/Makefile.in.in: Provide automake-style DESTDIR support. From Johan Danielsson. (DISTFILES): Remove ChangeLog. po/ChangeLog: Remove empty file. * configure.in (AC_STRUCT_ST_DM_MODE): Use it. * src/ls.c: Include filemode.h. * src/chmod.c: Likewise. * lib/filemode.c (ftypelet): Add comments for Cray DMF support. From Johan Danielsson. Protoize. Tsort function definitions and remove prototypes of static functions. (mode_string): Remove prototype. * lib/filemode.h (mode_string): New file. * lib/Makefile.am (noinst_HEADERS): Add filemode.h. 1998-08-09 Jim Meyering * Version 3.16t. 1998-07-31 Paul Eggert Add support for filesystems whose timestamps have better resolution than 1 second (e.g. Solaris 2.6, recent Linux kernels). * configure.in (AC_STRUCT_ST_MTIM): Add. * src/copy.c (copy_internal): Compare time stamps with subsecond resolution if available. * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime, rev_cmp_mtime, compare_atime, rev_cmp_atime): Compare time stamps with subsecond resolution if available. * src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP, MTIME_CMP): New macros. 1998-08-01 Jim Meyering * configure.in (ALL_LINGUAS): Add slovak (sk) and norwegian (no). 1998-07-28 Paul Eggert * lib/mountlist.c (read_filesystem_list): Remove all_fs argument, but put the necessary information into the result so that the caller can ignore filesystems that he's not interested in. * lib/mountlist.h (struct mount_entry): New members me_dummy, me_remote. (read_filesystem_list): Remove all_fs argument. (REMOTE_FS_TYPE): Remove. (ME_DUMMY, ME_REMOTE): New macros. * lib/xstrtol.c: Remove duplicate include of . * src/df.c (show_all_fs): Revert to boolean value; the old negative value is now in show_local_fs. (show_local_fs): New variable. (show_dev): New args me_dummy and me_class. Use show_local_fs and boolean show_all_fs in combination with these new args to decide whether to show a device. (show_disk): Pass flags to show_dev. (show_point): Use a non-dummy mount entry if possible. (show_all_entries): Pass flags to show_dev. (main): --local sets show_local_fs now. Ask for file system types if show_local_fs is nonzero, since ME_REMOTE might need them. 1998-07-27 Jim Meyering * tests/install/Makefile.am (TESTS_ENVIRONMENT): Set LS, MKDIR, and RM. * tests/install/basic-1: Add a test for this. * src/install.c: Make copy create each destination file initially with mode 0600 so strip will work, then apply specified mode. Arne Henrik Juul reported that `./ginstall -s -c -m 555 dd /tmp' failed. 1998-07-25 Jim Meyering * src/mv.c (chown): Remove unused definition. Reported by Kaveh Ghazi. * src/rmdir.c (main): rmdir fails with EEXIST on some systems. Handle that, so --ignore-fail-on-non-empty works. (EEXIST): Define to zero if not defined. (ENOTEMPTY): Likewise. * tests/cp/same-file: Remove `diff' I'd put in for debugging. Exit with the status from cmp. * Version 3.16s. * tests/cp/same-file: Skip three more unportable tests. These failed on SunOS4.1.4. * src/copy.c (SAME_INODE): Remove definition. * src/sys2.h (SAME_INODE): Define it here instead. * src/remove.c (same_file): New function. (remove_dir): Use it to give a better diagnostic when rmdir fails because it can't remove the current directory. * src/df.c (long_options): Changes table entries not to use this form: {"all", no_argument, &show_all_fs, 1}, but rather this form: {"all", no_argument, NULL, 'a'}, Using the latter, all the option handling in one place: the getopt loop. * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTINFO]: Use fsp_to_string. (fsp_to_string): Don't xmalloc return value (yet). (xatoi): Ansideclify. (fstype_to_string): Ansideclify. * lib/mountlist.h: Define and use PARAMS macro. * lib/utime.c: New file. * src/touch.c (utime_now): Moved into m4/utimes.m4. (touch) [!HAVE_UTIME_NULL]: Remove #ifdef and the use of utime_now in the if-block. * configure.in (jm_FUNC_UTIME): Use this, not AC_FUNC_UTIME. 1998-07-22 Paul Eggert * lib/human.c (human_readable): amt -> damt, to fix typo when computing which power to use after overflow occurs during multiplication. * lib/xstrtol.c: Include if NDEBUG is not defined; needed on SunOS 4. 1998-07-21 Paul Eggert Add df -l or --local option. * doc/fileutils.texi: Document it. * lib/mountlist.h (REMOTE_FS_TYPE): New macro. * lib/mountlist.c (read_filesystem_list): If all_fs is negative, omit non-local filesytems. * src/df.c (show_dev): Omit local devices if show_all_fs is negative. (show_all_fs): If negative, omit non-local filesystems. All uses of (all_fs != 0) changed to (all_fs > 0). (long_options, usage, main): Add -l or --local option. (main): When asking for df of an explicit file name, get all the mount points, so that we're more likely to find it when we look it up. 1998-07-18 Jim Meyering * src/copy.c (copy_internal): Add another exclusion from the sameness test: when --force has been specified, the destination is unlinked before any copy. (copy_internal): Add yet another: when both src and dest are symlinks. * tests/touch: New subdir. * tests/Makefile.am (SUBDIRS): Add touch. * configure.in (AC_OUTPUT): Add tests/touch/Makefile. * tests/mv/into-self-2: New test. * tests/mv/Makefile.am (TESTS): Add into-self-2. 1998-07-06 Andreas Schwab * lib/mountlist.c (read_filesystem_list): Fix more memory leaks on failure. 1998-07-16 Jim Meyering Work around failure of chown calls on m68k-motorola-sysv systems. * src/chown.c: Include lchown.h. * lib/Makefile.am (noinst_HEADERS): Add lchown.h. * lib/lchown.h: New file, just to define ENOSYS on systems that lack it. * lib/lchown.c: Include lchown.h. Reported by and with suggestions from Manfred Hollstein. 1998-07-12 Paul Eggert * src/df.c (print_header): Print "1k-blocks", not "1.0k-blocks". 1998-07-07 Jim Meyering * src/sys2.h [HAVE_FCLOSE_UNLOCKED]: Remove unnecessary block. Suggestion from Ulrich Drepper. 1998-07-04 Jim Meyering * lib/safe-read.c (safe_read): Change type of pointer parameter to `void' to avoid Irix4 cc errors. Reported by Kaveh Ghazi. * lib/safe-read.h: Update prototype. * src/dircolors.c (parse_line): Add casts to avoid errors from Irix4's `cc' C compiler. From Kaveh Ghazi. * lib/xstrtol.c: Include stdio.h. Required on some systems when using assert. From Kaveh Ghazi. * tests/mv/backup-is-src: Use cmp, not diff. Reported by Kaveh Ghazi. 1998-07-03 Jim Meyering * Version 3.16r. * src/remove.c (remove_dir): Use fprintf (not error) to avoid newline in prompt. 1998-06-30 Paul Eggert * lib/mountlist.c (read_filesystem_list): Don't leak memory on failure. Don't create a dummy struct mount_entry entry; use the address-of-the-tail-address method instead. Preserve errno if possible on failure, setting it to 0 if inapplicable. Close file descriptor leak if the F_SETLKW failed. Report an error if SVR4 lock file cannot be opened for some reason other than a nonexistent lock file. 1998-07-03 Jim Meyering * configure.in (AM_WITH_REGEX): Remove. Now the replacement macro, jm_WITH_REGEX, is bundled with the rest in jm_MACROS. * acconfig.h (WITH_REGEX): Remove undef. * lib/Makefile.am (noinst_HEADERS): Add regex.h. * lib/rpmatch.c: Remove #ifdef around inclusion. * lib/rx.c: Remove file. * lib/rx.h: Remove file. * src/df.c (df_readable): Rename local so as not to shadow global. * src/copy.c (SAME_INODE): New macro. Use it to replace open-coded equivalents. (copy_internal): Rename variable and reverse sense of tests to make the code a little clearer. 1998-07-02 Andreas Schwab * src/copy.c (copy_internal): Try harder identifying a relative symbolic link in the current directory. * src/copy.c (copy_internal): Don't skip test for same file if creating a hardlink from symlink over a non-symlink while making backups. * tests/cp/same-file: Skip tests that depend on link(2) not following symlinks. 1998-07-02 Andreas Schwab * src/copy.c (copy_internal): Don't call chown on a symlink. 1998-07-01 Jim Meyering * lib/xstrtol.c: Don't define NDEBUG here, now that it's done via configure's --disable-assert option. 1998-06-29 Paul Eggert * lib/mountlist.c (read_filesystem_list): Plug file descriptor leak on failure. Report failure if lock file can't be opened for some reason other than nonexistence. 1998-06-29 Jim Meyering * Version 3.16q. * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT2]: Always close stream and file descriptor before returning. * src/df.c (main): Move the test of the result of the read_filesystem_list call up out of if-block -- code in the else-block depends on it too. 1998-06-29 Paul Eggert * lib/mountlist.c (read_filesystem_list): If SVR4, lock /etc/.mnttab.lock if available, to avoid race conditions (e.g. with the automounter on Solaris 2.6). Include , , . 1998-06-29 Jim Meyering * lib/mountlist.c (fstype_to_string): Guard with #if ! HAVE_F_FSTYPENAME_IN_STATFS. 1998-06-28 Paul Eggert Add support for new --block-size option and BLOCK_SIZE. DF_BLOCK_SIZE, etc. variables to `df', `du', and `ls'. Adjust df output slightly to accommodate larger filesystems. * lib/human.c, lib/human.h (human_readable): Coalesce last two args into one, for convenience. All callers changed. (human_block_size): New function. * lib/human.c: Include only if HAVE_CONFIG_H. Include if HAVE_STDLIB_H; declare getenv unless HAVE_DECL_GETENV. (_): New macro. Include , , . (DEFAULT_BLOCK_SIZE): New macro. (block_size_args, block_size_types): New constants. (humblock): New function. * lib/xstrtol.h (__ZLONG_MAX): Remove. * lib/xstrtol.c (bkm_scale): Don't assume that you can convert unsigned long to double without losing information. (bkm_scale_by_power): New function. * lib/xstrtol.c (__xstrtol), src/dd.c (parse_integer): Add support for SI-like suffixes like "GB" and "TD". * src/dd.c (usage): Describe it. * src/df.c, src/du.c, src/ls.c (human_readable_base, output_units): Remove; replace with new variable output_block_size. All uses changed. (long_options, usage, main): Add --block-size. (main, decode_switches): Use new human_block_size function to initialize output block size consistently with other programs. * src/df.c (print_header, show_dev): Shrink some columns and expand others, to squeeze in support for today's larger filesystems. (print_header): Print output block size using power-of-1024 SI format. (df_readable): Coalesce last two args into one, for convenience. All callers changed. (main): Remove check for portable output format and larger or human-readable block sizes. * NEWS, doc/fileutils.texi: Describe above changes. 1998-06-28 Jim Meyering * src/ls.c (usage): Make --kilobytes description consistent with that in du and df. From Göran Uddeborg. * lib/mountlist.c (fsp_to_string): Clean out some crufty #ifdefs now that we're using the jm_FSTYPENAME autoconf macro. James Tanis reported the old version didn't compile on BSDI3. * configure.in: Move big block of list_mounted_fs checks into new jm_LIST_MOUNTED_FILESYSTEMS macro. Use new jm_FSTYPENAME macro. * src/sys2.h: Add macro definitions for GNU libc *_unlocked wrappers. * src/ls.c: Add DIRED_ prefix to the macros: PUTCHAR, FPUTS, and FPUTS_LITERAL 1998-06-27 Jim Meyering * src/copy.c (copy_reg): Detect identical source and dest here. (copy_internal): Make the test symmetric. * tests/cp/same-file: New file. * tests/cp/Makefile.am (TESTS): Add it. 1998-06-26 Jim Meyering * src/remove.c (remove_file): Remove `non-directory' part of `removing non-directory FILE' verbose message. 1998-06-23 Jim Meyering * src/df.c (show_dev): Increase field width for blocks, used, and available columns from 7 to 8. 1998-06-21 Jim Meyering * aclocal.m4: Regenerate with fixed gettext.m4 installed. See README-alpha for details. 1998-06-02 Andreas Schwab * src/automake-wrap: Quote `&' in sed replacement text. 1998-05-31 Jim Meyering * Version 3.16p. * src/install.c (main): Fix argv-handling bug in my 1998-05-09 change. Reported by Don Parsons. 1998-05-30 Jim Meyering * tests/ls/time-1: Clean up ctime test. Note that it fails also on Solaris5.5.1 tmpfs file systems. Solve the `rm -f rm' problem more cleanly. * src/.rm-warning: Remove file. * src/automake-wrap: New file. * src/Makefile.am (AUTOMAKE): Define to use automake-wrap. (Makefile.in): Depend on automake-wrap. (EXTRA_DIST): Add automake-wrap. (DISTCLEANFILES): Remove definition. (rm_DEPENDENCIES): Likewise. (.rm-warn-stamp): Remove rule. 1998-05-27 Jim Meyering * tests/ls/Makefile.am (TESTS): s/cr-1/rt-1/ * tests/ls/rt-1: New file, renamed from cr-1. 1998-05-26 Andreas Schwab * src/Makefile.am (.rm-warn-stamp): Cope with $(srcdir) != ".". * tests/ls/cr-1: Don't use the ctime for testing, it is impossible to set it reliably. 1998-05-25 Jim Meyering * configure.in (_GNU_SOURCE): AC_DEFINE it here. * acconfig.h (_GNU_SOURCE): Remove definition from @TOP@ section. [!_GNU_SOURCE]: Add #undef instead. 1998-05-24 Jim Meyering * Version 3.16o. * src/ansi2knr.c: Use new version from automake-1.3. * src/chown.c: Accept new option, --dereference. --no-dereference is now the default. (enum Change_status) [CH_NOT_APPLIED]: New member. (change_symlinks): Enable this by default, now. (describe_change): Handle new case. (change_file_owner): Add new parameter: cmdline_arg. Update callers. Reorganize to reflect changed semantics. (LCHOWN): Remove definitions. * lib/lchown.c: New file. 1998-05-21 Jim Meyering * configure.in (ALL_LINGUAS): Add russian (ru). 1998-05-16 Jim Meyering * src/remove.c (hash_compare_strings): Return true or false, not 1/0. (remove_cwd_entries): Use RM_OK, not equivalent literal `1'. * lib/hash.c (is_prime): Ansideclify. (next_prime): Ansideclify. Add an assertion. * lib/Makefile.am (EXTRA_DIST): Remove. Automake groks the `LIBOBJS=' lines from the m4/*.m4 macros, so the hack of including some custom-replaced C source file names here is no longer needed. * configure.in (jm_MACROS): New wrapper macro. Remove uses of most jm_* macros. * acconfig.h (HAVE_STRUCT_UTIMBUF): Remove #undef. Now it's handled as part of utimbuf.m4. (memcmp): Add #undef. 1998-05-12 Jim Meyering * configure.in: Use my replacement AC_ISC_POSIX rather than open-coding it. * src/copy.c (copy_internal): Plug a small leak. 1998-05-10 Jim Meyering * src/mv.c (do_move): Remove lots of code that was duplicated in copy.c (copy), now that copy() has better support for mv. This fixes a bug with cross-filesystem `mv -i' whereby you could get two prompts for the same destination file and eventually remove the destination file even though one of the responses was negative. Reported by Dirk Lattermann. * src/copy.h: Better support for mv: [struct cp_options] (move_mode): New member. * src/copy.c (copy_internal): Use new move_mode member. Add parameter. (copy): Add parameter. * tests/cp/Makefile.am (TESTS): Add backup-is-src. * tests/mv/Makefile.am (TESTS): Likewise. * lib/userspec.c: Don't declare strdup if it's defined as a macro. Reported by Lorne Baker. * src/Makefile.am (ginstall_SOURCES): Add copy.c and cp-hash.c. * src/mv.c (cp_option_init): Initialize new members. * src/cp.c (cp_option_init): Likewise. (main): Set new preserve_* options. 1998-05-09 Jim Meyering * src/copy.h: Support for install: [struct cp_options] (failed_unlink_is_fatal): New member. (preserve_owner_and_group): New member. (preserve_chmod_bits): New member. (preserve_timestamps): New member. (preserve): Remove member. (set_mode): New member. (mode): New member. * src/copy.c (new_nondir_mode): New function. Use where appropriate. Use more-specific preserve_* members in place of removed `preserve'. (copy_internal): Honor failed_unlink_is_fatal. * src/install.c (main): Rewrite argv-handling to be clearer. (copy_file): Rewrite to use copy.c (copy). (change_attributes): Get rid of now-(with chown wrapper)-unnecessary `no_need_to_chown' parameter. Fix caller. (install_file_in_file): Remove now-unnecessary `to_created' parameter. (cp_option_init): New function. Update several functions to take new parameter specifying copy options. * tests/install: New subdir, with one basic test. * tests/Makefile.am (SUBDIRS): Add install. * configure.in (AC_OUTPUT): Add tests/install/Makefile. * src/dd.c: Include safe-read.h. Don't declare safe_read. * src/touch.c: Likewise. * configure.in (jm_TYPE_SSIZE_T): Use it. * acconfig.h (ssize_t): Add undef. 1998-05-03 Jim Meyering * po/: Update from gettext-0.10.35. * intl/: Likewise. * configure.in: Remove use of AC_LINK_FILES. (AC_OUTPUT): Remove po/Makefile-generating sed command. 1998-04-28 Jim Meyering * src/dircolors.c (parse_line): Use ISSPACE, not isspace. Use unsigned char * pointers, not potentially signed ones, to avoid sign extension. 1998-04-26 Jim Meyering * configure.in: Use jm_ASSERT. * acconfig.h: Add NDEBUG. * src/mv.c: Don't define NDEBUG. * src/cp.c: Likewise. 1998-04-14 Jim Meyering * src/.rm-warning: New file. * src/Makefile.am (EXTRA_DIST): Add .rm-warning (DISTCLEANFILES): Add .rm-warn-stamp. (rm_DEPENDENCIES): Depend on .rm-warn-stamp. (.rm-warn-stamp): New rule. (rm_prep): Comment out rule. * src/df.c (main): Use STREQ in string equality tests, not strcmp. * src/dircolors.c (dc_parse_stream): Likewise. (dc_parse_file): Likewise. * src/du.c (main): Likewise. * src/ls.c (decode_switches): Likewise. * src/remove.c (hash_compare_strings): Likewise. * src/touch.c (main): Likewise. 1998-04-13 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add safe-read.h. 1998-04-11 Jim Meyering * lib/hash.c: Add curly braces around statements in if/else/while/do/etc. that span more than a line -- even around multiline simple statements or single-line simple statements preceded by a comment line. 1998-04-09 Jim Meyering * configure.in: Don't use AC_PATH_PROG to check for perl, now that we use jm_PERL. 1998-04-06 Jim Meyering * src/cp-hash.c (cph_hash_insert): Rename from now-conflicting hash_insert. Also declare to be static. * src/cp-hash.h (hash_insert): Remove declaration. * lib/hash.c: Lots of minor spec and name changes, and new comments. (hash_rehash): Rewrite to be easier on the allocator. From François Pinard. * lib/hash.h: More comments. * src/remove.c: Change names/usage of hash-related functions to work with the above. 1998-04-05 Jim Meyering * lib/regex.c (WIDE_CHAR_SUPPORT): Define. This now depends on HAVE_BTOWC so systems that lack btowc (like solaris-2.5.1) don't lose. 1998-04-04 Jim Meyering * GNUmakefile: Add conditionals so that running `make' in an unconfigured source directory will get a reasonable diagnostic. * Makefile.am (ACLOCAL_AMFLAGS): Define this, so automake/aclocal know about the m4/ subdirectory. * Makefile.maint (aclocal-files): Remove now-unnecessary (with automake-1.2h and the above change) aclocal-related rules and includes. 1998-04-01 Jim Meyering * tests/ls/cr-1: New file. * tests/ls/Makefile.am (TESTS): Add cr-1. 1998-03-31 Jim Meyering * src/system.h (TYPE_MAXIMUM): Cast result to `(t)' so this macro works with `unsigned char'. From Greg Wooledge. (SCHAR_MIN, SCHAR_MAX, SHRT_MIN, SHRT_MAX, LONG_MAX, ULONG_MAX): Define. * lib/xstrtol.c: Merge with the version from textutils. * lib/memcmp.c (rpl_memcmp): Rename from memcmp. 1998-03-30 Andreas Schwab * src/ls.c (compare_ctime, rev_cmp_ctime, compare_mtime, rev_cmp_mtime, compare_atime, rev_cmp_atime, compare_size, rev_cmp_size): Use file name as secondary sort key to get consistent sorting. 1998-03-28 Jim Meyering * src/copy.c: Add copyright. * src/remove.c: Add copyright. [_AIX]: Add #pragma alloca. 1998-03-27 Jim Meyering * Makefile.maint ($(ACLOCAL_M4)): Replace old rule with this dependency and the := assignment of ACLOCAL to make the default rule use the `-I m4' option. * Makefile.am (AUTOMAKE_OPTIONS): Require 1.2h. 1998-03-23 Jim Meyering * acconfig.h: Remove HAVE_INTTYPES_H, now that m4/inttypes_h.m4 automatically handles it. 1998-03-21 Jim Meyering * lib/quotearg.h: Update from patch-2.5.3. * lib/quotearg.c: Likewise. * src/ls.c (decode_switches): Pass a null pointer instead of address of quotearg_quoting_options. 1998-03-19 Paul Eggert * lib/fsusage.h (struct fs_usage): New member fsu_bavail_top_bit_set. * lib/fsusage.c: Include . (CHAR_BIT, EXTRACT_TOP_BIT, PROPAGATE_TOP_BIT): New macros. (get_fs_usage): If top bit of system variable corresponding to fsu_bavail is set, then set fsu_bavail_top_bit_set, and sign-extend the value when storing it into fsu_bavail. * src/df.c (show_dev): If fsu_bavail_top_bit_set is nonzero, assume the original value corresponding to fsu_bavail was negative. Reported by Arne Juul. 1998-03-18 Jim Meyering * src/Makefile.am (rm-prep): Add dependency and rule to save users with `.' too early in their PATH from the `rm: cannot unlink `rm': Text file busy' error. Suggestion from Philippe De Muyter. 1998-03-15 Jim Meyering * Version 3.16n. * lib/chown.c: Use #if, not #ifdef with HAVE_ macros. * lib/closeout.c: Likewise. * lib/dirname.c: Likewise. * lib/euidaccess.c: Likewise. * lib/fileblocks.c: Likewise. * lib/filemode.c: Likewise. * lib/ftruncate.c: Likewise. * lib/group-member.c: Likewise. * lib/isdir.c: Likewise. * lib/long-options.c: Likewise. * lib/mountlist.c: Likewise. * lib/path-concat.c: Likewise. * lib/save-cwd.c: Likewise. * lib/savedir.c: Likewise. * lib/strcasecmp.c: Likewise. * lib/strdup.c: Likewise. * lib/userspec.c: Likewise. * lib/yesno.c:: Likewise. * src/chgrp.c: Use #if, not #ifdef with HAVE_ macros. Use #if !, not #ifndef with HAVE_ macros. * src/chown.c: Likewise. * src/copy.c: Likewise. * src/dd.c: Likewise. * src/dircolors.c: Likewise. * src/install.c: Likewise. * src/ls.c: Likewise. * src/mv.c: Likewise. * src/touch.c: Likewise. * configure.in: Use jm_PREREQ. 1998-03-14 Jim Meyering Revert most `getdate.h -> get-date.h' changes of 1998-02-20. With automake-1.2f, that hack is no longer needed. * src/remove.c: Use `virtual memory exhausted' message, not `Memory exhausted' to be consistent with the majority of other such messages. Say `removing all...', not `removing any...'. * src/rmdir.c (remove_parents): Be consistent with documentation of --verbose option and with remove.c in saying `removing...' before the operation is attempted. (main): Likewise. Suggestions from Santiago Vila. * src/copy.c (copy_dir): Add new parameter, copy_into_self, and set it. (copy_internal): Likewise. (copy): Likewise. Update all callers. * src/copy.h (copy): Update prototype. * src/cp.c (do_copy): Add unused arg in calls to copy. * src/mv.c (do_move): Add ©_into_self arg in call to copy. Don't remove source directory when copy_into_self is nonzero. Reported by Arne Henrik Juul. * tests/mv/into-self: Test for the above. * tests/mv/Makefile.am (TESTS): Add into-self. 1998-02-28 Eli Zaretskii * userspec.c (parse_user_spec) [__DJGPP__]: Make function know about any arbitrary user and group by pretending to be the user and to belong to the group specified in `spec_arg' argument. * idcache.c (getuidbyname) [__DJGPP__]: Make function know about any arbitrary user name. (getgidbyname) [__DJGPP__]: Make function know about any arbitrary group name. 1998-02-24 Jim Meyering * lib/xstrtol.c (TYPE_SIGNED): Define. (TYPE_MAXIMUM): Define. (ULONG_MAX): Use TYPE_MAXIMUM. (LONG_MAX): Use TYPE_MAXIMUM. * lib/fnmatch.c: Update from libit. * lib/idcache.c: Update from libit. 1998-02-23 Paul Eggert * lib/quotearg.h, lib/quotearg.c: New files. * lib/Makefile.am (libfu_a_SOURCES): Add quotearg.c. (noinst_HEADERS): Add quotearg.h. * src/ls.c: Include new file quotearg.h. (enum indicator_style): Rename all to classify, and not_programs to file_type, to match option spellings. All users changed. (indicator_style_args): New constant. (quote_funny_chars, quote_as_string, quote_shell): Remove; (filename_quoting_options, dirname_quoting_options): Use these variables instead. (long_options): Add --indicator-style, --quoting-style, --show-control-chars. Remove --quote-shell. (dired_dump_obstack): Remove style parameter and don't output style. (main): Go back to previous method of outputting //DIRED// and //SUBDIRED// lines, without style. But add a new //DIRED-OPTIONS// line that does output style. (decode_switches, usage): Add --indicator-style, --quoting-style, --show-control-chars. Remove --quote-shell. (decode_switches): Default from QUOTING_STYLE environment variable. Set new quoting vars. (quote_name): Renamed from quote_filename. Take new arg specifying quoting options. Always print; do not have a special case for null FILE * argument. All callers changed. Move the guts of this function to new file quotearg.c. (length_of_file_name_and_frills): Use quotearg_buffer instead of (old) quote_filename to find length of file name. (decode_switches, parse_ls_color, print_dir, gobble_file, get_link_name): Quote output in diagnostics. * NEWS, doc/fileutils.texi: Describe above changes. * doc/fileutils.texi: Mention that control characters are output as question marks if output is a terminal. 1998-02-22 Jim Meyering * Version 3.16m. * ChangeLog-1997: New file. * Makefile.am (EXTRA_DIST): Add ChangeLog-1997. 1998-02-21 Jim Meyering * configure.in (AC_OUTPUT): Add tests/mv/Makefile. * tests/Makefile.am (SUBDIRS): Add mv. * tests/mv: New directory * tests/mv/mv-special-1: New test. 1998-02-20 Jim Meyering * src/touch.c: Include get-date.h. Remove get_date decl. * lib/getdate.h: Removed. Could cause confusion with an automake-generated `.y.h' rule. * lib/get-date.h: Renamed from getdate.h. * lib/getdate.y: s/getdate.h/get-date.h/ * lib/Makefile.am (noinst_HEADERS): s/getdate.h/get-date.h/ 1998-02-19 Jim Meyering 1997-10-17 Eli Zaretskii * lib/fileblocks.c [__DJGPP__]: Add missing typedef for daddr_t. 1998-02-13 Jim Meyering * src/mv.c (cp_option_init): Set copy_as_regular to 0, not 1. Otherwise, mv tries to open special files. Reported by Kjetil Torgrim Homme. 1998-02-08 Jim Meyering * Makefile.maint (cvs-dist): Update po/ to clear modified status of *.po files before running cvs tag -c. * src/ln.c (usage): Reword to use `TARGET' and `LINK_NAME' in description. 1998-02-07 Jim Meyering * GNUmakefile: New file. * Makefile.am (EXTRA_DIST): Add GNUmakefile. Don't include Makefile.maint from here. It's included from GNUmakefile. * configure.in: Don't use AM_MAINTAINER_MODE. (jm_PERL): Use this. * src/Makefile.am (EXTRA_DIST): Remove dcgen.pl. Add dcgen. (CLEANFILES): Remove dcgen. (dircolors.h): Use $(PERL). (.pl): Remove rule. 1998-02-01 Jim Meyering * POTFILES.in: Add remove.c. Reported by Santiago Vila. 1998-01-28 Jim Meyering * src/df.c (print_header): Tweak format to align heading over last column of `df -i' output. From Andreas Schwab. 1998-01-27 Andreas Schwab * Makefile.am: Include Makefile.maint from $(srcdir). 1998-01-25 Jim Meyering * Version 3.16l. * Makefile.maint: New file. * Makefile.am: Move rules common to textutils, fileutils, sh-utils into Makefile.maint. Include Makefile.maint. (EXTRA_DIST): Add Makefile.maint. * src/cp.c (re_protect): Don't fail for non-root when chown fails due not only to lack of permission (EPERM), but also to lack of support (EINVAL). Reported by Bengt Martensson. * src/copy.c (DO_CHOWN): Likewise. 1998-01-24 Jim Meyering * tests/ls/time-1 (test_failure): Rename does not update ctime; link does -- so use ln, not mv. Note that the SunOS4.1.4 failure of the ctime test is expected. * src/system.h (TYPE_MINIMUM): Add extra outer cast to work around bug in Cray C 5.0.3.0 when T == time_t. * tests/rm/r-1: Adjust expected output for changed format of `rm --verbose'. * tests/rm/r-2: Likewise. 1998-01-23 Jim Meyering * lib/mktime.c (__mktime_internal): Work around bug in Irix4.0.5's C compiler. From Kaveh Ghazi. (TYPE_MINIMUM): Define. (TYPE_MAXIMUM): Define. (TIME_T_MIN): Use TYPE_MINIMUM. (TIME_T_MAX): Use TYPE_MAXIMUM. 1998-01-22 Jim Meyering * src/dd.c: Reorder functions to obviate forward dcls. (quit): Declare to be inline to stifle compile warning. * src/cp.c (do_copy): Add unreachable `return 0' to stifle warning. * tests/rm/sunos-1: Don't use -f. Do adjust $RM if it's a relative path. * tests/ls/time-1: Use GNU touch to work around problems with NFS caching and/or clock skew. Reported by Kaveh Ghazi. * tests/ls/Makefile.am (TESTS_ENVIRONMENT): Add TOUCH. * src/Makefile.am (noinst_HEADERS): Add remove.h. (mv_SOURCES): Define. (rm_SOURCES): Define. 1998-01-21 Jim Meyering * src/install.c: Declare new global, backup_type. (main): Initialize backup_type unconditionally. (copy_file): Call find_backup_file_name with new argument, backup_type. * src/ln.c: Declare new global, backup_type. (main): Initialize backup_type unconditionally. (do_link): Call find_backup_file_name with new argument, backup_type. * src/copy.c (copy_internal): Use x->backup_type, not the global. (valid_options): Use VALID_BACKUP_TYPE and VALID_SPARSE_MODE. * src/copy.h (VALID_SPARSE_MODE): Define. [struct cp_options] (backup_type): New member. * src/cp.c [NDEBUG]: Comment out definition. (do_copy): Use x->backup_type, not the global. * src/remove.c: New file. Contains guts of old rm.c. (remove_init): New function. (remove_fini): New function. (rm): Take third argument, specifying options. * src/remove.h: New file. Associated dcls. * src/rm.c: Remove and minimally librarify guts for use in mv.c. (main): Pass options (`&x') to rm. Call remove_init and remove_fini instead of open-coding them. * src/mv.c (rm_option_init): New function. (cp_option_init): New function. (copy_reg): Remove now-unused function. (do_move): Set up for and use `copy.c (copy)' in place of copy_reg. Set up for and use `remove.c (rm)' in place of unlink. 1998-01-20 Jim Meyering * lib/backupfile.c: Use ANSI function definitions. Remove global declaration of backup_type. (simple_backup_suffix): Default to `~', not `.orig'. Use PARAMS, not __BACKUPFILE_P. (find_backup_file_name): Add parameter, backup_type. * lib/backupfile.h: Remove extern declaration of backup_type. Use PARAMS, not __BACKUPFILE_P. (VALID_BACKUP_TYPE): Define. (find_backup_file_name): Adjust prototype. 1998-01-13 Andreas Schwab * src/df.c (print_header): Fix inode format header to line it up with the rest of the output. 1998-01-13 Jim Meyering * lib/stat.c: Set errno to ENOENT, not EINVAL. This is consistent with most other implementations. 1998-01-12 Jim Meyering * lib/fileblocks.c: Include sys/param.h only #if HAVE_SYS_PARAM_H. Move function-spanning `#if ...BSIZE' directive to follow inclusion of sys/param.h since BSIZE is sometimes defined in sys/param.h. Reported by Philippe De Muyter. 1998-01-10 Jim Meyering * Version 3.16k. * src/install.c (install_file_to_path): New function. FIXME: update fileutils.texi. (main): Handle new option, -D. Based on a patch from Marty Leisner. (usage): Describe -D. * src/ls.c (decode_switches) [-u]: Fix bug whereby -u worked only with -l or -t. Now, -u (like -c) implies --sort=time. (usage): Correct descriptions of --sort, --time, and -t. Suggestions from Andreas Schwab. Add test for the above fix. * configure.in (AC_OUTPUT): Add tests/ls/Makefile. * tests/Makefile.am (SUBDIRS): Add ls. * tests/ls: New directory. * tests/ls/Makefile.am: New file. * tests/ls/time-1: New file. * lib/makepath.c (make_path): Reformat 3 if-stmts to test `if (newly_created_dir)' only once. Suggestion from Andreas Schwab. 1998-01-06 Jim Meyering * lib/getdate.y: Move inclusion of getdate.h and dependent extern declarations down so getdate.h's prototype follows the sometimes- enabled definition of `const' to nothing. Otherwise, the prototype wouldn't match the definition because of the defined-away `const'. From Kaveh Ghazi. (get_date): ANSI-fy definition. Add %expect directive. 1998-01-05 Andreas Schwab * lib/makepath.c (make_path): Put only newly created directories on the LEADING_DIRS list. 1998-01-05 Paul Eggert * lib/fsusage.c (PROPAGATE_ALL_ONES): New macro. (get_fs_usage): If a value consists entirely of 1 bits, propagate this info to the output by setting it to (uintmax_t) -1. * src/df.c (df_readable): New function. (show_dev): If a value consists entirely of 1 bits, or is derived from some other value that consists entirely of 1 bits, report "-". Check inode and block counts more carefully for plausibility, to avoid arithmetic overflow when computing percentages. 1998-01-04 Jim Meyering * Version 3.16j. * lib/Makefile.in: Regenerated with patched automake-1.2d. See README-alpha. * src/chgrp.c: Use a single enumerated type, Verbosity, instead of the two booleans, verbose and changes_only. This fixes a bug whereby --change had the same effect as --verbose. * src/chmod.c: Likewise. * src/chown.c: Likewise. Reported by Paul Eggert. 1998-01-04 Paul Eggert Check for write errors more carefully. * lib/Makefile.am (libfu_a_SOURCES): Add closeout.c. (noinst_HEADERS): Add closeout.h. * lib/closeout.c, lib/closeout.h: New files. * lib/long-options.c (parse_long_options), src/chgrp.c, src/chmod.c, src/chown.c, src/cp.c, src/dd.c, src/df.c, src/dircolors.c, src/du.c, src/install.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/mvdir.c, src/rm.c, src/rmdir.c, src/sync.c, src/touch.c (main, usage): Check for write error to stdout before exiting. Include "closeout.h". 1998-01-03 Jim Meyering * src/df.c (show_dev): Treat `fsu.fsu_bavail == (unsigned long) -1' just like `fsu.fsu_blocks == 0' as an indicator that usage information is invalid. This happens with Solaris-5.5.1 CD-ROM mount points. * lib/save-cwd.h: Guard PARAMS-enabling definition with `defined PROTOTYPES || (defined __STDC__ && __STDC__)' to avoid problems with Irix4's cc. From Kaveh Ghazi. * lib/getdate.h: Likewise, but just to be consistent. * configure.in: Convert the .o suffix on files in LIBOBJS to $U.o so those files will be built via the ANSI2KNR-filtering rules if necessary. Reported by Kaveh Ghazi. 1998-01-02 Jim Meyering * Version 3.16i. Fix problem with `install -d'. Reported by Marty Leisner. * src/install.c (get_ids): When otherwise unspecified, set uid and gid to -1. * lib/makepath.c (make_path): Try to change ownership only if we've just created the directory. Fix latent bug (s/&&/||/ in two places -- also, note that it could not be exercised via install or mkdir) whereby chown would not be invoked when only one of owner/group is not -1. 1998-01-01 Jim Meyering * src/rm.c (remove_cwd_entries): Initialize the entry-name obstack only once and never free it. ----- Copyright (C) 1998-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/old/fileutils/ChangeLog-19970000664000000000000000000066404312102337340015315 000000000000001997-12-31 Paul Eggert If the -h or -H options are given, print inode counts and disk allocations using a human readable format. * src/df.c (show_dev): Print inode counts human readably. * src/ls.c (decode_switches): -h and -H override output units. (print_dir, gobble_file, print_long_format, print_file_name_and_frills): Print disk allocations human readably. * doc/fileutils.texi: Document the above changes. 1997-12-31 Jim Meyering * src/df.c (show_dev): Move declarations and computation of blocks_used etc. and blocks_percent_used and inodes_used etc. and inodes_percent_used into respective branches of the `if (inode_format)' statement where they're actually used. * lib/exclude.h: Define and use PARAMS, not __EXCLUDE_P. * lib/exclude.c: Use PARAMS, not __EXCLUDE_P. 1997-12-29 Jim Meyering * src/rm.c (remove_cwd_entries): Plug a gross leak -- don't call obstack_init inside the loop. * src/du.c (usage): Replace TABs with spaces in --help message. From Santiago Vila. * lib/argmatch.c (invalid_arg): Use a single fprintf and whole format statements to ease translation. From Santiago Vila. Convert from K&R to ANSI function dcls. 1997-12-28 Jim Meyering * lib/group-member.c: Use ANSI syntax, not K&R. * lib/makepath.c (make_path) [!__STDC__]: Remove K&R-style definition. * lib/group-member.h: Add PARAMS. * src/chgrp.c: Remove incorrect declaration of group_member. Include group-member.h instead. Based on suggestion from Ulrich Drepper. 1997-12-27 Jim Meyering * Version 3.16h. 1997-12-25 Jim Meyering * lib/getline.c: (_GNU_SOURCE): Define only if not already defined. * configure.in: Remove AC_DEFINE of _GNU_SOURCE. * acconfig.h (_GNU_SOURCE): Define if not already defined. Put this code in @TOP@ section. (_GNU_SOURCE): Remove #undef. 1997-12-20 Andreas Schwab * configure.in: Move jm_CHECK_DECLS down so that it follows the checks for the headers it requires. * doc/fileutils.texi (mknod invocation): Fix description of file type mnemonics. * src/sys2.h: Declare stpcpy only if not defined as macro. * src/du.c (S_ISLNK): Define this instead of S_ISDIR. * src/dd.c (skip): Compare lseek return value with -1 to allow it to be negative as signed value. * lib/savedir.c: Declare stpcpy only if not defined as macro. * lib/mountlist.c: Likewise. * lib/path-concat.c: Include if available. * src/copy.c (copy_internal): Use S_ISLNK only if defined. * src/install.c (get_ids): Don't cast GID_T_MAX to long, it might overflow. 1997-12-22 Jim Meyering * configure.in: AC_DEFINE _GNU_SOURCE. * acconfig.h: Add _GNU_SOURCE. 1997-12-21 Jim Meyering * src/copy.h: Use PARAMS, not __P. * src/cp-hash.h: Likewise. * lib/chown.c (rpl_chown): Rename from chown. Undefine chown just after including config.h. Include sys/stat.h. Use correct ordering of uid and gid parameters both in function definition and in call to chown. With patches from Kaveh Ghazi. * sys/fsusage.h: Use PARAMS, not __P. * sys/getline.h: Likewise. * sys/hash.h: Likewise. * sys/human.h: Likewise. * sys/long-options.h: Likewise. * sys/makepath.h: Likewise. * sys/modechange.h: Likewise. * sys/path-concat.h: Likewise. * sys/save-cwd.c: Likewise. * sys/save-cwd.h: Likewise. * sys/savedir.h: Likewise. * sys/strverscmp.h: Likewise. * sys/xalloc.h: Likewise. * sys/xstrtol.h: Likewise. 1997-12-16 Paul Eggert Add --exclude and --exclude-from or -X options to du. * lib/exclude.h, lib/exclude.c: New files. * lib/Makefile.am (libfu_a_SOURCES): Add exclude.c. (noinst_HEADERS): Add exclude.h. * du.c: Include exclude.h. (exclude): New static var. (long_options, usage, main): Add --exclude and --exclude-from or -X. (count_entry): Skip excluded entries. 1997-12-16 Jim Meyering * src/sys2.h: s/__P/PARAMS/g. * src/chgrp.c: Likewise. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/copy.c: Likewise. * src/du.c: Likewise. * src/dd.c: Likewise. * src/install.c: Likewise. * src/ls.c: Likewise. 1997-12-15 Paul Eggert * ls.c (struct bin_str): Make len int, not unsigned, to avoid bogus comparison < 0. (quote_filename): Add forward decl. (decode_switches): -b, -e, -N, -Q are now mutually exclusive. (print_dir): Quote directory name as per quoting options. (print_long_format): Don't count color changes as part of file name. (quote_filename): Revamp interface: now accepts stream to output to and filename, and returns length of quoted filename. This removes duplicated code and should make errors less likely. Also, no longer mallocs storage. All callers changed. Don't quote ' ' if -Q. (OUTCHAR): New macro. (SAVECHAR, SAVE_2_CHARS): Remove. (print_name_with_quoting): New stack arg. All callers changed. (print_color_indicator): Cast ext len to size_t to avoid warning with GCC 2.8. (length_of_file_name_and_frills): Rewrite to use quote_filename. This fixes bug when computing file name length with -e. 1997-12-15 Jim Meyering * tests/rm/deep-1 (deep): Remove `find > k' debugging remnant. 1997-12-14 Paul Eggert Add shell style quoting, and make it the default. * NEWS, doc/fileutils.texi: Describe -e, which is now the default. Describe change to --dired output. * src/ls.c (quote_shell): New var. (long_options, decode_switches, usage): New option -e or --quote-shell. (dired_dump_obstack): New arg STYLE. (main): Pass quoting style to dired_dump_obstack. (decode_switches): -N now clears quote_as_string. (quote_filename): Add shell style quoting. 1997-12-14 Jim Meyering * tests/ln/sf-1: Make sure we get diagnostics in English. * Version 3.16g. * src/system.h: Remove lseek and memchr dcls. * src/sys2.h: Put them here instead. * src/rm.c (ASSIGN_STRDUPA): Cast alloca return value to char*. * lib/hash.h: s/HAVE_DECLARATION_/HAVE_DECL_/. 1997-12-13 Jim Meyering * tests/Makefile.am (check-local): New target. * tests/.posix-warn: New file. * src/dd.c (usage): Mention that `notrunc' is a conv= option. Change --help output to tell the truth: that for of=FILE, FILE *is* truncated. Reported by Miles Bader. Remove incomplete, usage-like comment at top of file. * src/mv.c (do_move): If rename fails for any reason (not just when errno == EXDEV), then revert to trying copy-then-unlink. This is necessary to allow moving files within certain types of Linux NFS mounted filesystems. Reported by Marty Leisner. 1997-12-11 Jim Meyering * src/ln.c (do_link): Don't require --force when target exists and using --backup. This changes makes ln consistent with cp and mv in this respect. Suggestion from Eli Zaretskii. 1997-12-06 Jim Meyering * src/du.c: Separate struct dcl and typedef. (String *): Rename from parameter-shadowed `string'. (stringstruct): Remove typedef. 1997-11-30 Jim Meyering * lib/savedir.c (savedir): Revert last change. malloc always works when called with zero, because we use the wrapper if the system version is lacking. * configure.in (AC_LFS): Use this macro rather than open-coding it. (jm_AC_HEADER_INTTYPES_H): Likewise. (jm_AC_TYPE_UINTMAX_T): Likewise. * lib/human.c (human_readable): Convert to ANSI-style definition. [lint]: Define `power'. * src/ls.c (print_long_format): Rename inner-scoped `buf' arrays to `hbuf' to avoid shadowing local. 1997-11-29 Paul Eggert Port to LFS and C9X in general, and to Solaris 2.6 in particular. * NEWS: Describe ls -h, -H, rounding, new SI prefixes, 64-bit accumulators, and LFS. * acconfig.h (HAVE_INTTYPES_H, uintmax_t): New macros. * configure.in (CPPFLAGS, LDFLAGS, LIBS): Set to appropriate values if large file support needs explicit enabling. (HAVE_INTTYPES_H, uintmax_t): New macros to configure. * doc/fileutils.texi: Describe new -H option, new ls -h option. Clarify about powers of 1000 vs 1024. * lib/Makefile.am (libfu_a_SOURCES): Add new file human.c. (noinst_HEADERS): Add new file human.h. * lib/fileblocks.c (st_blocks): long -> off_t. Avoid arithmetic overflow when size is near max. Depend on _POSIX_SOURCE and BSIZE, not _POSIX_VERSION, for compatibility with system.h. (BSIZE): Remove definition, since if BSIZE is not defined we're never invoked. * lib/fsusage.c: Do all calculations using uintmax_t. Include if available. (adjust_blocks, CONVERT_BLOCKS): Remove. (get_fs_usage): Set new member fsu_blocksize, and do not convert numbers to 512-byte block units; this avoids overflow here. Cast lseek arg to off_t, not long. * lib/fsusage.h (struct fs_usage): New member fsu_blocksize. Other members are now uintmax_t, not long. * lib/human.c, lib/human.h: New files. The interface is inspired by the human_readable function that was in du.c, but it's pretty much rewritten from scratch. * lib/idcache.c (getuidbyname, getgidbyname): Names can now be NULL in cache. This change merely fixes ifdeffed-out code. * lib/savedir.c (savedir): Check for size zero before invoking malloc; this can occur if st_size arg overflows on conversion to unsigned int. All callers now cast st_size arg to unsigned int. * src/chgrp.c (, UINT_MAX, UINT_MAX): Remove; now done by system.h. * src/copy.c (copy_reg): Store file size as off_t, not long. Do not assume st_size has been normalized to 512 byte blocks, or that it fits in size_t after dividing by the blocksize. * src/cp-hash.c (): Include if HAVE_INTTYPES_H. (hash_insert2): Cast inode number to uintmax_t; this prevents negative remainders if the inode number is negative and ino_t is longer than unsigned. * src/dd.c, src/df.c, src/du.c, src/ls.c (): Include if HAVE_INTTYPES_H. ("human.h"): Include. * src/dd.c (input_blocksize, output_blocksize, conversion_blocksize): Now size_t instead of long. 0 means unset. (skip_records, seek_record, max_records): Now uintmax_t, not long. (w_partial, w_full, r_partial, r_full, r_truncate): Now uintmax_t instead of unsigned. (print_stats): Print counts as uintmax_t, not unsigned. (main, skip): Check for overflow when computing file offsets. (skip): Records count arg is uintmax_t, not long; blocksize arg is size_t, not long. Try lseek even on non regular files, as per comment. (oc, col): Now size_t, not int. (copy): No need to check max_records >= 0 any more, as the default value is now effectively infinity. Cast lseek arg to off_t. (copy, copy_with_block): conversion_blocksize - col can never be negative now, since it's unsigned, so rewrite loops to avoid problems with unsigned. (scanargs): Parse numeric args using uintmax_t, not int. Check for overflow when converting block size args to size_t. Blocksize options are now unsigned, and are now 0 when not set yet. (parse_integer): Return uintmax_t, not int; accept new int * arg to store error indicator, since all returned values are now valid. Check for overflow when scanning integer. * src/df.c (LONGEST_HUMAN_READABLE_1K_BYTE_BLOCKS): Remove. (human_readable_base): Renamed from human_blocks; value is now zero or positive integer, not just zero or nonzero. (output_units): New variable; replaces booleans kilobyte_blocks and megabyte_blocks. (long_options): Add --si or -H. (print_header): Adjust to renamed option variables. (human_readable_1k_blocks): Remove. (show_dev): Count blocks using uintmax_t, not long. Calculate percentages using double, not long; this still isn't perfect as it suffers double rounding, but it's more likely to round correctly in practice than using long did. Adjust to renamed option variables. Use new human_readable library function to format uintmax_t values. (usage): Add -H, --si. (main): Adjust to renamed option variables. Use -H if BLOCKSIZE is SI. Add -H. * src/du.c (LONGEST_HUMAN_READABLE, enum Output_units): Remove. (count_entry): Now returns uintmax_t, not long. (human_readable_base): Renamed from opt_human_readable; value is now zero or positive integer, not just zero or nonzero. (output_units): Now an integer giving output size. (tot_size): Now uintmax_t, not long. (long_options, usage): Add --si or -H. (main): Adjust to renamed option variables. Use -H if BLOCKSIZE is SI. Add -H. (human_readable): Remove; rewritten and now in lib/human.c. (print_size): Rewrite in terms of human_readable. Accept extra arg to be printed after size; all callers changed. * src/install.c (BITSPERBYTE): Remove. (UID_T_MAX, GID_T_MAX): Define in terms of TYPE_MAXIMUM. * src/ls.c (): Don't include; system.h does it now. (INT_MAX): Remove. (longdiff): Remove bogus definition that uses subtraction; it gives the wrong answer when overflows occur. (convert_blocks): Remove. (output_units): New variable; replaces booleans kilobyte_blocks and megabyte_blocks. (human_readable_base): New variable. (long_options, usage): Add -h or --human-readable and -H or --si. (decode_switches): Adjust to renamed option variables. Use -H if BLOCKSIZE is SI. Add -h, -H. (print_dir): Count blocks using uintmax_t, not int. (gobble_file): Now returns uintmax_t, not int. Don't convert blocks to 512 byte units, as this might overflow; let caller handle the problem. Deduce what caller will print by invoking human_readable. (print_long_format, print_file_name_and_frills): Don't assume inode number, block count, file size fit in unsigned long. Use human_readable to do block count conversion and to print file sizes. (prep_non_filename_text): Print decimal string for time if localtime fails due to enormous time_t. * src/system.h (): Include if HAVE_LIMITS_H. (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX, UINT_MAX): New macros. (ST_NBLOCKS): Now counts actual blocks, not 512-byte blocks. (ST_NBLOCKSIZE): New macro. 1997-11-24 Jim Meyering * src/sys2.h: New file -- but just temporary. * src/system.h: Move lots of pieces into sys2.h. Include sys2.h. 1997-11-19 Jim Meyering * lib/Makefile.am (AUTOMAKE_OPTIONS): Use ansi2knr so *I* don't have to convert my hash package to use k&r C. 1997-11-15 Jim Meyering * intl/Makefile.in (distclean): Don't remove libintl.h here. * Makefile.am (DISTCLEANFILES): Remove it here instead. 1997-11-13 Jim Meyering * lib/mktime.c: Update from FSF. * lib/strftime.c: Update from FSF. * m4/strftime.m4: Check for POSIX.2's %f format spec. 1997-11-12 Jim Meyering * src/copy.c (copy_dir): Use path_concat rather than open-coding it. * src/rm.c [mempcpy]: Remove definition. * src/system.h [!HAVE_MEMPCPY] (mempcpy): Define here instead. * lib/path-concat.c (path_concat): Use mempcpy, not stpcpy. 1997-11-09 Jim Meyering * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Check for localtime_r. * m4/strftime.m4 (jm_STRFTIME_PREREQS): Check for localtime_r. (jm_FUNC_GNU_STRFTIME): Use new macro. (jm_FUNC_STRFTIME): New macro. Likewise. Reported by Noel Cragg. 1997-11-08 Jim Meyering * m4/getline.m4: Fix typo in comment. Add header check for string.h. * m4/Makefile.am (EXTRA_DIST): Add readdir.m4. * configure.in (jm_FUNC_READDIR): Use it. (AC_FUNC_FNMATCH): Add mempcpy. 1997-11-02 Jim Meyering * acconfig.h: Add malloc and realloc. * src/rm.c: Put cycle-detecting code inside an #ifdef ENABLE_CYCLE_CHECK, for systems lacking d_ino. [D_INO_IN_DIRENT]: Define ENABLE_CYCLE_CHECK. * src/rm.c: (ASSIGN_STRDUPA): Clean up. (right_justify): Use memcpy return value directly. Suggestions from Ulrich Drepper. (remove_cwd_entries) [! defined HAVE_WORKING_READDIR]: Impose overhead of working around non-POSIX readdir implementation only on systems that need it. (remove_cwd_entries): Temporarily save a copy of each entry name in an obstack rather than on the stack via alloca, then free it in the likely event that we don't save the entry in the hash table. 1997-10-25 Jim Meyering * lib/xmalloc.c (xalloc_fail): Renamed from fixup_null_alloc. (xcalloc): #ifdef-out unused function. (xrealloc): Remove code to work around deficient versions of realloc. Now we have an autoconf-enabled replacement version. (xmalloc): Remove code to work around deficient versions of malloc. Now we have an autoconf-enabled replacement version. * configure.in (jm_FUNC_MALLOC): Use it. * lib/Makefile.am (EXTRA_DIST): Add malloc.c. * lib/malloc.c: New file. * m4/malloc.m4: New file. * m4/Makefile.am (EXTRA_DIST): Add malloc.m4. * lib/Makefile.am (noinst_HEADERS): Add xalloc.h. * lib/xalloc.h: New file. * lib/xmalloc.c: Updated from textutils. * src/*.c: Remove old-style xmalloc and xrealloc decls. * src/system.h: Include xalloc.h. Remove dcls of xmalloc, xcalloc and xrealloc. 1997-10-24 Jim Meyering * src/ls.c (gobble_file): Cast pointer arg in xrealloc call to char*. * src/*.c: Remove old-style xmalloc and xrealloc decls. * src/system.h: Add prototyped xcalloc, xmalloc and xrealloc decls. Suggestion from Achim Blumensath. 1997-10-23 Jim Meyering * Makefile.am (aclocal-files): Also depend on m4/Makefile.am. * src/system.h [!HAVE_DECLARATION_FREE]: Declare free. [!HAVE_DECLARATION_MALLOC]: Declare malloc. [!HAVE_DECLARATION_REALLOC]: Declare realloc. [!HAVE_DECLARATION_STPCPY]: Declare stpcpy. [!HAVE_DECLARATION_STRSTR]: Declare strstr. * src/copy.c: Remove stpcpy decl. * src/cp.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/dircolors.c: Remove free and malloc decls. * src/ls.c: Likewise. * src/rm.c: Remove free, malloc, and realloc decls. On some systems, strstr and stpcpy are macros, so declaring them unconditionally gets syntax errors. Reported by Mark M. Kettenis. * configure.in: Use jm_CHECK_DECLS. * m4/Makefile.am (EXTRA_DIST): Add decl.m4 and check-decl.m4. 1997-10-22 Jim Meyering * m4/decl.m4: New file. * m4/check-decl.m4: New file. New macro, jm_CHECK_DECLS. 1997-10-18 Jim Meyering * src/rm.c (remove_cwd_entries): Entries in table of processed dir entries are not malloc'd, so don't have hash cleanup free them. Rewind dirp upon NULL readdir, required for at least SunOS. 1997-10-13 Jim Meyering * configure.in (AC_CHECK_HEADERS): Add termios.h. * src/ls.c: Bracket inclusion of termios.h with #ifdef HAVE_TERMIOS_H. Masami Takikawa reported that this is necessary on NeXTStep 3.0 systems. 1997-10-07 Jim Meyering * src/*.c: Update bug-reporting address. 1997-10-06 Jim Meyering * src/install.c (usage): Add a line describing --verbose. * lib/makepath.c (make_path): Print message IFF the directory was just created and the format string is non-NULL. Print the verbose message using fprintf, not error. 1997-10-05 Jim Meyering * lib/Makefile.am (noinst_HEADERS): Add savedir.h. * src/copy.h (struct cp_options): New field: require_preserve. * src/copy.c (copy_internal): Use require_preserve. * src/cp.c (cp_option_init): Initialize it. (main): Set to 1 for -a and for -p. 1997-10-03 Jim Meyering * lib/savedir.h (savedir) [__P]: New file with prototype. * lib/savedir.c (savedir): Declare DIR parameter to be const. Include savedir.h. Indent cpp directives. * src/chgrp.c: Remove old-style savedir dcl. Include savedir.h for prototype. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/copy.c: Likewise. * src/du.c: Likewise. Achim Blumensath reported that ``on systems like BeOS, where off_t is 64 bits [not having a prototype] results in passing 0 as name_size...'' 1997-09-27 Jim Meyering * src/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), per automake manual. 1997-09-20 Jim Meyering * lib/Makefile.am (libfu_a_SOURCES): Use hash.c, not oa-hash.c. (noinst_HEADERS): Use hash.h, not oa-hash.h. 1997-09-15 Jim Meyering * src/rm.c: Use hash.c (chaining) functions, not those of oa-hash.c (open addressing). The latter implementation is wonderful when deletions are rare, but doesn't support the frequent deletions required to implement the active directory set. * lib/hash.c: New file -- replaces oa-hash.c. * lib/hash.h: New file. * lib/oa-hash.c: Remove. * lib/oa-hash.h: Remove. * src/ln.c (do_link): Perform S_ISLNK test only if lstat succeeded. Otherwise, dest_stats could be used uninitialized. 1997-09-14 Jim Meyering * src/rm.c (full_filename): Use realloc, not xrealloc. * configure.in (jm_FUNC_REALLOC): Use it. * m4/Makefile.am (EXTRA_DIST): Add realloc.m4. * m4/realloc.m4: New file. * lib/Makefile.am (EXTRA_DIST): Add realloc.c. * acconfig.h (realloc): Add #undef. * src/dd.c (equal): Use STREQ (from system.h) instead. (siginfo_handler): New function: handler for SIGINFO/SIGUSR1. (install_handler): New function. (main): Use install_handler instead of open-coding it. Handle SIGINFO (or SIGUSR1 if that's not defined). (print_stats): Move definition to precede first reference. Remove prototype. 1997-09-13 Jim Meyering * src/ls.c (print_many_per_line): Add some non-essential curly braces. (print_horizontal): Likewise. (struct col_info) [valid_len]: Rename from `valid' which conflicted with the macro in locale.h of SunOS4.1.4. * src/rm.c: (PARAMS): Define. (rm): Guard prototype in forward dcl with PARAMS. * lib/strverscmp.h [HAVE_CONFIG_H]: Include config.h. (PARAMS): Define. Guard prototype with PARAMS. * lib/oa-hash.c: Use K&R style function dcls, not ANSI. (HASH_MALLOC): Prefix with (Type*) cast to placate old compilers. Use assert, not ASSERT. Include assert.h. (HASH_DELETED_ITEM_MARKER): Define to address of file-scoped static, not less-portable ((void *) (~0U)). (HASH_VACANT): Define here, not in hash.h. * lib/oa-hash.h: (HASH_DELETED_ITEM_MARKER): Move definition to hash.c. (HASH_VACANT): Likewise. * lib/strverscmp.c [HAVE_CONFIG_H]: Include config.h. (strverscmp): Use `1' not `+1' -- some compilers (sunos' cc) can't parse it. * lib/strdup.c [HAVE_CONFIG_H]: Include config.h. * src/rm.c: Finish rewrite to use chdir and hash tables. See `Implementation overview' comment in the source. 1997-09-11 Jim Meyering * src/install.c: Add new option: --verbose (-v). From Andreas Schwab. 1997-09-01 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Remove mvdir.c and rmdir.c. Add lstat.c and stat.c. * src/ls.c [!STDC_HEADERS]: Declare malloc. * m4/Makefile.am (EXTRA_DIST): Add stat.m4. * m4/stat.m4: New file. * m4/stat.m4 (jm_FUNC_STAT): New macro. * lib/stat.c: New file. * configure.in (jm_FUNC_STAT): Use it. * src/ln.c (do_link): Form destination file name (when DEST is a directory) before checking whether SOURCE and DEST are the same file. See tests/ln/sf-1. Reported by Michael Veksler. * tests/ln: New directory and test. * tests/Makefile.am (SUBDIRS): Add ln. * configure.in (AC_OUTPUT): Add tests/ln/Makefile. 1997-08-31 Jim Meyering * src/chgrp.c (change_file_group): Call describe_change with a 3-state argument. (describe_change): Report whether the operation was successful, a failure, or that the request was a no-op. Before, running `chgrp --verb bin /' as non-root reported group of / changed to bin chgrp: you are not a member of group `bin': Not owner * src/chown.c (change_file_owner): Call describe_change with a 3-state argument. (describe_change): Report whether the operation was successful, a failure, or that the request was a no-op. Before, running `chown --verb bin /' as non-root reported owner of / changed to bin chown: /: Not owner * configure.in (jm_FUNC_LSTAT): Use it. * acconfig.h (lstat): Add #undef. * m4/Makefile.am (EXTRA_DIST): Add lstat.m4. * m4/lstat.m4: New file. * m4/lstat.m4 (jm_FUNC_LSTAT): New macro. * lib/lstat.c: New file. * src/rm.c (fspec_get_full_mode): Don't call error here. (remove_file): Call error after fspec_get_full_mode call, if necessary. Don't print mode when asking whether to descend into write-protected directory. (remove_dir): Don't fail just because we can't stat the file to get the mode for the prompt string. (rm): Exit successfully for missing files when -f is given. (rm): Remove cruft to work around SunOS4's broken lstat now that there is a working replacement function. * lib/oa-hash.c: New file. * lib/oa-hash.h: New file. * lib/Makefile.am (libfu_a_SOURCES): Add oa-hash.c. (noinst_HEADERS): Add oa-hash.h. * lib/stpncpy.c: New file. * configure.in (AC_REPLACE_FUNCS): Add stpncpy. * src/rm.c (remove_cwd_entries): Convert to using oa-hash.c. * m4/Makefile.am (EXTRA_DIST): Add d-ino.m4 and d-type.m4. * tests/rm: New directory and tests. * tests/Makefile.am (SUBDIRS): Add rm. * configure.in (AC_OUTPUT): Add tests/rm/Makefile. * src/dircolors.c [!STDC_HEADERS]: Declare malloc. Remove unnecessary dcl of xmalloc. * src/rm.c: Major rewrite in progress. Use fchdir/chdir. * m4/d-ino.m4: New file. * m4/d-type.m4: New file. * acconfig.h (D_TYPE_IN_DIRENT): Define. * configure.in: Move code to check for d_ino into its own file. Use jm_STRUCT_DIRENT_D_TYPE and jm_STRUCT_DIRENT_D_INO. * src/chmod.c (change_file_mode): Call describe_change with a 3-state argument. (describe_change): Report whether the operation was successful, a failure, or that the request was a no-op. Before, running `chmod --verb u-r /' as non-root reported mode of / changed to 0355 (-wxr-xr-x) chmod: /: Not owner Reported by Philippe Schnoebelen 1997-07-28 Jim Meyering * configure.in (AC_OUTPUT): Remove tests/ls/Makefile. Add tests/cp/Makefile and tests/mkdir/Makefile. * lib/modechange.c (mode_create_from_ref): Don't use umask. Don't use MODE_X_IF_ANY_X. * src/install.c (main): New option --preserve-timestamps (-p). (install_file_in_file): Preserve timestamps if requested. (change_timestamps): New function. (usage): Describe --preserve-timestamps. Correct --mode description. From Galen Hazelwood. * src/install.c: Declare pointer parameters const as appropriate. 1997-07-13 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Remove explicit mention of texinfo.texi. Now, automake includes it automatically. 1997-07-09 Jim Meyering * tests/mkdir: New directory and associated files. * tests/cp: New directory and associated files. * tests/Makefile.am (SUBDIRS): Add cp and mkdir. * lib/makepath.c (make_path): Chdir to `/' before starting if necessary. Call save_cwd before while loop rather than from first iteration inside it. * lib/strverscmp.c (strverscmp): Add `parenentheses around arithmetic in operand of |' as suggested by gcc -Wall. 1997-07-06 Jim Meyering * lib/idcache.c (getuidbyname): Declare parameter to be const. (getgidbyname): Declare parameter to be const. 1997-07-06 Jean-François Bignolles * lib/modechange.h (mode_create_from_ref): Add prototype. (MODE_MASK_ALL): New define. (MODE_BAD_REFERENCE): New define. * lib/modechange.c (mode_create_from_ref): New function. * lib/strverscmp.c: New file. * lib/strverscmp.h: New file. * lib/Makefile.am (noinst_HEADERS): Add strverscmp.h. * configure.in (AC_REPLACE_FUNCS): Add strverscmp. * src/ls.c: Add new option: --sort=version (-v). * src/chgrp.c: Add new option: --reference=FILE. * src/chown.c: Add new option: --reference=FILE. * src/chmod.c: Add new option: --reference=FILE. 1997-07-06 Jim Meyering * lib/idcache.c (getuser): Return NULL (rather than stringified uid) upon lookup failure. (getgroup): Likewise. (getuidbyname) [NOT_USED]: #ifdef-out unused function. (getgidbyname) [NOT_USED]: #ifdef-out unused function. Suggested by François Pinard. * src/ls.c (print_long_format): Reflect changes in semantics of getuser, getgroup. 1997-07-04 Jim Meyering * Makefile.am (aclocal-files): Look in source directory, not build dir. From Andreas Schwab. 1997-07-03 Jim Meyering * src/mv.c (apply_attributes): New function. (copy_reg): Use apply_attributes instead of open-coding the pieces. Now, failure to preserve file attributes does not cause mv to change its exit status, and such failures elicit warning diagnostics. This behavior is required by POSIX. Before, failure to preserve ownership due to insufficient access was diagnosed only for root. Prompted by a report from Bengt Martensson. Tue Jul 1 06:42:17 1997 Jim Meyering * lib/makepath.c (make_path): Reorder stat-then-mkdir-if-missing calls so that mkdir is called first. Before make_path would first `stat' a directory, then call mkdir if it didn't exist. But if some other process created the directory between the stat & mkdir, the mkdir would fail with EEXIST. Diagnosis and suggestion from Greg McGary. Sun Jun 29 17:19:30 1997 Jim Meyering * src/dd.c (copy): Add FIXME comment. * src/mv.c (copy_reg): New parameter, SOURCE_STATS. (do_move): Update caller. Sun Jun 22 08:32:46 1997 Jim Meyering Use variable width columns when printing in multi-column mode. * src/ls.c: (init_col_info): New function. (print_current_files): Call init_col_info if format is `many_per_line' or `horizontal'. (print_many_per_line): Calculate and apply optimum column widths. (print_horizontal): Likewise. From Ulrich Drepper. * src/mv.c (movefile): Take new boolean parameter, DEST_IS_DIR, to save a stat per moved file when the destination is a directory. (main): Call movefile with additional argument. (strip_trailing_slashes_2): New function. (movefile): Remove trailing slashes from dest. Otherwise, stat ("b/") fails with ENOTDIR on systems including Linux w/libc 2.0.30. Reproduce with `rm -rf a b; mkdir a; touch b; ./mv a b/'. (do_move): Fix misleading comment. Sat Jun 21 21:26:57 1997 Jim Meyering * configure.in: Remove now-unused definitions of LN, MV, RM. Sun Jun 15 07:04:29 1997 Jim Meyering * lib/full-write.c (full_write): Add comment regarding failure due to bug in Linux Slackware 1.2.13 kernel. * lib/makepath.c: Rewrite using save-cwd.c and chdir to remove quadratic component of complexity. Before, it processed O(n^2) directory name components via stat and mkdir. Now it's O(n). This makes mkdir -p a lot more efficient when creating directories with very many components. On a Linux 2.0.30 ext2fs filesystem this command: mkdir -p `perl -e 'print "a/" x 500'` now runs in 0.77 seconds (user+sys). Contrast that with the 9.5(!) seconds it took before. Sat Jun 14 11:40:17 1997 Jim Meyering * man/Makefile.am: (EXTRA_DIST): Put man_MANS here so they are distributed. This is necessary for automake-1.1p. Tue Jun 3 15:00:00 1997 Jim Meyering * lib/fileblocks.c [HAVE_UNISTD_H]: Include unistd.h. John Gatewood Ham reported that this is necessary for DJGPP/Win95. Wed May 28 06:35:56 1997 Jim Meyering * lib/mountlist.c (read_filesystem_list): Add `|| defined (__OpenBSD__)' to the NetBSD #if so OpenBSD also uses the f_fstypename member. (fstype_to_string): Add `&& !defined (__OpenBSD__)' to the NetBSD #if expression to exclude this function definition. OpenBSD 2.1 beta doesn't need it. Patch from Hugh Daniel Tue May 27 04:35:17 1997 Jim Meyering * src/cp.c: Use base_name, not basename. * src/dircolors.c: Likewise. * src/install.c: Likewise. * src/ln.c: Likewise. * src/mv.c: Likewise. * src/mvdir.c: Likewise. * src/rm.c: Likewise. * configure.in: Add AC_SYS_LONG_FILE_NAMES. Check for pathconf. Don't replace basename. Now we use only base_name. Clean up kludge that worked around a bug (now-fixed) in automake. * lib/argmatch.h Change dcl of program_name so it doesn't conflict with the ubiquitous char* one. * lib/addext.c: New file. * lib/Makefile.am (libfu_a_SOURCES): Add addext.c. Remove getversion.c; get_version is now in backupfile.c. Add basename.c since it's no longer replacible. * lib/getopt.c: Update from glibc via patch-2.2.93. * lib/getopt1.c: Likewise. * lib/getopt.h: Likewise. * lib/argmatch.h: Update from FSF via patch-2.2.93. * lib/argmatch.c: Likewise. * lib/backupfile.c: Likewise. * lib/backupfile.h: Likewise. * lib/basename.c: Likewise. Sun May 25 09:21:01 1997 Jim Meyering * src/copy.c (copy_internal): When preserving symlinks (--no-dereference) and the destination file is a symlink, use stat (not xstat) to see if it points back to the source. Reported by James . * src/du.c: Remove global variable opt_human_readable. (enum Output_units): Rename from output_size. Rename size_* to Unit_*. Add Unit_variable to correspond to --human-readable. (convert_blocks): Remove now-unused definition. (human_readable): Rename paramater n_bytes to n_blocks. Adjust conversions to reflect fact that input is now number of 512-byte blocks, not bytes. (print_size): New function. (du_files): Use print_size instead of open coding it. (count_entry): Always count in units of 512-byte blocks to delay. This lets du accumulate totals corresponding to a terabyte before overflowing 32-bit long int. Use print_size instead of open coding it. Tue Feb 4 11:58:49 1997 Andreas Schwab * src/du.c (convert_blocks): Remove now-unnecessary #undef. (du_files): Pass output_size unchanged to convert_blocks. No need to test output_size for size_bytes, convert_blocks handles that correctly. (count_entry): Likewise. * src/system.h (convert_blocks): Remove definition. * src/ls.c (convert_blocks): Add definition. Sun May 25 09:11:17 1997 Jim Meyering * src/du.c [AIX]: Remove unused #pragma alloca. Sat May 24 09:20:12 1997 Jim Meyering * src/rmdir.c: New options: --ignore-fail-on-non-empty and --verbose. (remove_parents): Implement new options. (main): Likewise. * lib/mountlist.c (read_filesystem_list): Show automount-related duplicate filesystems only when --all specified. With suggestions from Stuart Kemp. Also indent cpp directives. * configure.in (AC_CHECK_FUNCS): Add hasmntopt. (AC_CHECK_HEADERS): Add sys/mntent.h. (ALL_LINGUAS): Add Czech (cs). Wed Mar 26 23:43:57 1997 Jim Meyering * src/du.c (main): Implement new --max-depth=N option. Based on the idea and a patch from Torbjorn Lindgren. (du_files): Likewise. (count_entry): Likewise. Sat Mar 22 20:29:10 1997 Jim Meyering * missing: New file -- from the automake-1.1m distribution. Fri Mar 21 23:58:12 1997 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Require automake-1.1l. (aclocal.m4): Use aclocal's new -I option. Thu Mar 13 21:27:36 1997 Jim Meyering * lib/mktime.c: (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0. Wed Mar 12 23:11:11 1997 Jim Meyering * src/chgrp.c (change_file_group): Use uid of -1 to indicate we don't want to change the file's user ID. * m4/gettext.m4: Update from gettext-0.10.27. * acconfig.h (chown): Add #undef. * configure.in (ALL_LINGUAS): Add ko. Use jm_FUNC_CHOWN. * m4/chown.m4: New file. * m4/Makefile.am (EXTRA_DIST): Add chown.m4. * lib/chown.c: New file. * lib/Makefile.am (EXTRA_DIST): Add chown.c. Sun Mar 9 22:46:41 1997 Jim Meyering * src/ls.c (decode_switches): Ignore value of COLUMNS envionment variable when it is the empty string. Suggestion from Ulrich Drepper. This makes it easier on people using shells (which?) with which it is not easy to unset environment variables. Wed Feb 26 23:46:39 1997 Jim Meyering * lib/getdate.y: (tYEAR_UNIT): Increase yyRelYear by $1, not just by 1. From Andreas Schwab. * src/copy.c (copy_internal): When there is any potential for ambiguity in a diagnostic, give explanatory diagnostic in addition to file name. * src/cp.c (re_protect): Likewise. Sat Feb 22 14:10:25 1997 Jim Meyering * lib/getdate.y (tMONTH_UNIT): Increase yyRelMonth by $1, not just by 1. (tDAY_UNIT): Likewise for yyRelDay. (tHOUR_UNIT): Likewise for yyRelHour. (tMINUTE_UNIT): Likewise for yyRelMinutes. (tSEC_UNIT): Likewise for yyRelSeconds. Matthew S. Levine reported that touch -d yesterday didn't work. Thu Feb 20 20:16:59 1997 Jim Meyering * lib/mktime.c: Update from libc. * lib/strtol.c: Update from libc. Wed Feb 19 22:06:32 1997 Jim Meyering * src/ls.c (main): Remove trailing slashes from command line arguments. Otherwise, running `mkdir x; chmod 644 x; ls -d x/' (note the trailing slash) makes ls fail with permission denied on at least Linux 1.2.13 and 2.0.14 systems. Wed Feb 5 21:54:17 1997 Jim Meyering * src/ls.c (quote_filename): Allocate two more bytes (for quotes) when using --quote-name (-Q). Feb 2 change wasn't complete. Patch from Mark Harris. Mon Feb 3 21:49:55 1997 Jim Meyering * po/POTFILES.in: Add copy.c and cp-hash.c. Remove cp-aux.c. Sun Feb 2 09:40:37 1997 Jim Meyering * src/system.h [__GNUC__]: Don't define alloca to __builtin_alloca. * Makefile.am (SUBDIRS): Add tests. * configure.in (AC_OUTPUT): Add tests/Makefile and tests/ls/Makefile. * tests: New directory. * tests/ls: New directory. * src/ls.c (quote_filename): Don't backslash-escape double quotes. This fixes a problem whereby columns weren't aligned when some files contained double quote characters and ls's --escape (-b) option was used. Reported by Mark Harris. * src/cp-hash.c (struct entry): Move dcl to this file from cp.h. (struct htab): Likewise. No longer include cp.h. Instead, include the things it used to include. (hash_insert2): Make function static. Move this function to precede the sole function from which it is called. * src/Makefile.am (noinst_HEADERS): Add copy.h, cp-hash.h. Remove cp.h. (EXTRA_DIST): Remove cp-aux.c and cp-hash.c. (cp_SOURCES): Remove cp-aux.c. Add cp-hash.c. * src/cp-aux.c: Remove file. * src/cp.h: Remove file. * src/du.c (hash_insert2): Rename local HTAB to HT to avoid shadowing global. * src/dircolors.c [obstack_chunk_alloc]: Define to malloc, not xmalloc to work better with new obstack functions. * src/ls.c (obstack_chunk_alloc): Likewise. * src/df.c (main): Rename local I to C to avoid shadowing and to be more consistent. Declare I in inner scopes. * po/Makefile.in.in (POTFILES): Redirect to an intermediate file and write-protect POTFILES. Fri Jan 31 21:13:04 1997 Jim Meyering * src/chown.c (usage): Make the parenthetical note on --no-dereference a little more general. * src/*.c: Compare getopt_long return value against -1, not EOF. Use NULL, not `(int *) 0' as last parameter in getopt_long call. (usage): Bracket bug-reporting address with <> and append a period. 1997-01-27 Paul Eggert * src/ls.c (print_long_format): Fix off-by-one problem in size being passed to strftime. Sun Jan 26 20:17:50 1997 Jim Meyering * Version 3.16. * acconfig.h (strftime): Add #undef. From Marcus Daniels. Sat Jan 25 00:34:39 1997 Jim Meyering * src/du.c (count_entry): Fix blatant bug (typo?) that made --megabytes report numbers in units of kilobytes. Reported by Galen Hazelwood. * src/cp.h: Remove now-unnecessary prototype for is_ancestor. * lib/Makefile.am (noinst_HEADERS): Add getdate.h. * src/cp-aux.c (is_ancestor): Remove function. * src/cp.c (is_ancestor): Add function. * src/cp.h: Remove spurious extern dcl of htab. * m4/getgroups.m4: Move the code from configure.in into this macro that resorts to looking for getgroups in -lbsd. Set new shell variable, GETGROUPS_LIB (that callers should check), if it is found there. * configure.in: Check $GETGROUPS_LIB just after jm_FUNC_GETGROUPS. (AC_CHECK_FUNCS): Remove getgroups. Remove code that resorts to looking for getgroups in -lbsd. * configure.in (jm_FUNC_GNU_STRFTIME): Use it -- because ls needs a version of strftime that supports the %e format and pretty many systems lack that: NextStep 3.3, Mips Ultrix ?.?. This is a little bit overkill (for now) in that if the strftime in your C library doesn't have all features of GNU strftime (even though it may support %e) ls will be linked with the version of strftime provided with this package. But for an upcoming release, GNU ls will provide an option to allow the user to specify the date format string -- and for that I want to make GNU strftime the default in any case. Think of this as an incentive to use the GNU C library. Fri Jan 24 23:36:00 1997 Jim Meyering * lib/long-options.c (parse_long_options): Reset optind to zero before just returning so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. From Ulrich Drepper. Mon Jan 20 06:52:09 1997 Jim Meyering * configure.in (fu_cv_sys_truncating_statfs): Add preprocessor guard to make sure that this test for Sun brokenness doesn't get a false positive on any other type of system. Eirik Fuller reported that Linux 2.1.20 has a f_spare member in the statfs struct. And that triggered a false positive. Thu Jan 9 06:23:18 1997 Jim Meyering * m4/gettext.m4: Remove AC_ISC_POSIX. From Karl Heuer. Wed Jan 8 16:38:24 1997 Jim Meyering * Version 3.15. * src/ls.c (print_long_format): Cast alloca return value to char*. * lib/getopt.c (_getopt_internal): Use `_', rather than the (sometimes-)expansion `gettext'. Tue Jan 7 22:49:55 1997 Jim Meyering * lib/getopt.c: New (more POSIX compliant) version from GNU libc. [_]: Define to gettext also if ENABLE_NLS is defined. This is temporary. Sun Jan 5 09:33:07 1997 Jim Meyering * src/ls.c (print_long_format): Avoid making unnecessary copy of date/time string. Patch from Paul Eggert. (print_long_format): NUL-terminate line of output. (print_long_format): Detect and handle strftime failure due to pathologically long strings in locale tables. Patch from Paul Eggert. (print_long_format): Change references to BIGBUF in use of FPUTS macro to references to BUF. Use 11 (not 20) bytes for mode string buffer. Sat Jan 4 21:14:36 1997 Jim Meyering * src/ls.c (print_long_format): Clean up vestiges of legacy ctime-oriented code. With internationalization and strftime, you can't presume that %a expands to a 3-byte string. Reported by Ross Ridge. (print_long_format): Use POSIX-mandated %e (blank-padded numeric day of month), not %d (the same number, but *zero*-filled). Fri Jan 3 21:08:29 1997 Jim Meyering * acconfig.h (getgroups): Add #undef. From Marcus Daniels. Thu Jan 2 21:16:16 1997 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Add getgroups.c. Wed Jan 1 17:30:26 1997 Jim Meyering * lib/getgroups.c: New file. * configure.in (AC_ARG_PROGRAM): Remove explicit use. It's implicit in AM_INIT_AUTOMAKE. From Wayne Stewart. (list_mounted_fs): Fix typo (by declaring NUMSYS) in test for getfsstat on osf1. From hitchens@epa001.enet.dec.com. Sun Dec 29 21:55:13 1996 Jim Meyering * configure.in (jm_FUNC_GETGROUPS): Use it. Sat Dec 28 14:32:05 1996 Jim Meyering * src/ls.c: Two problems fixed by these changes from Joakim Rosqvist. Quoting Joakim: 1) The "total" number and the size of the first file as output from 'ls --color -s' did not get colorized according to the "no"-argument in LS_COLORS. Fixed by adding a function prep_non_filename_text which prints the C_LEFT C_NORM C_RIGHT strings (or C_END). It is called from main before any text is output, and from print_name_with_quoting after having output a colorized filename. 2) If the "no"-argument of LS_COLORS is set, the terminal will be set to print in that color after ls exits. The man-pages suggests setting "no" and "fi" to the terminals default colors to avoid the problem, but that would mean I can't use anything but the default color for regular files and non-filename text. Fixed by outputting C_LEFT immediately followed by C_RIGHT right before exit, which restores the default color. Fri Dec 27 17:29:02 1996 Jim Meyering * Makefile.am (aclocal.m4): No longer depend on acinclude.m4. * configure.in: AC_REQUIRE version 2.12 of autoconf. Sun Dec 22 23:29:10 1996 Jim Meyering * acinclude.m4: Move macros to individual files in new directory, m4/. See ChangeLog entries in sh-utils for the details. Wed Dec 18 23:09:19 1996 Jim Meyering * src/dircolors.hin (ORPHAN): By default, color orphans red on a black background. * src/dircolors.c (usage): Remove --print-data-base. Now only --print-database remains. Although it wasn't documented, --print-data-base was still accepted. But it made `--p', `--print', `--print-data', etc. ambiguous. * src/ls.c (gobble_file): Stat symlinks also when printing with color and set linkok to reflect existence of referent. Patches from Joakim Rosqvist, James Antill, and Jesse Thilo. Tue Dec 17 21:03:40 1996 Jim Meyering * src/system.h (ISDIGIT): Replace with smaller, faster edition that yields nonzero only on ASCII digits. (ISDIGIT_LOCALE): New macro, with same meaning that ISDIGIT used to have. From Paul Eggert. * lib/backupfile.c (ISDIGIT): Likewise. * lib/getdate.y (ISDIGIT): Likewise. * src/cp.c (ROOT_CHOWN_AFFECTS_SYMLINKS): New macro. (DO_CHOWN): Take an additional parameter. (LINK_CHOWN): Remove macro. (copy): When preserving owner and group of a symlink, use chown only if ROOT_CHOWN_AFFECTS_SYMLINKS and EUID == 0. Otherwise, the chown would affect the file referenced through the symlink. Sat Dec 14 14:51:50 1996 Jim Meyering * acinclude.m4 (jm_SYS_PROC_UPTIME): Fix typo in cache variable name for cross compiling. Remove definitions of gettext-related macros. The gettext installation procedure installs corresponding .m4 files so that aclocal will use them. Wed Dec 11 19:34:22 1996 Jim Meyering * Version 3.14. Tue Dec 10 00:14:24 1996 Jim Meyering * configure.in: Bump version to 3.13k. * src/install.c [_POSIX_VERSION]: Don't declare wait. That declaration conflicted with one in a system header file on i386-pc-isc3.0, now that I've removed the AC_ISC_POSIX macro and _POSIX_VERSION is no longer defined. Reported by Karl Heuer. * configure.in (AC_ISC_POSIX): Remove kludgy macro. Use this test instead: (LIBS): Add -lcposix if it contains strerror. Patch from Karl Heuer. * lib/Makefile.am (EXTRA_DIST): Add mktime.c. Reported by Thomas Bushnell. * (EXTRA_DIST): Add strftime.c to appease automake. Although it's not used yet, it'll be used by ls's (to-be-done) --format=FORMAT option. Mon Dec 9 18:26:54 1996 Jim Meyering * lib/obstack.h: Include config.h. [!HAVE_BCOPY && HAVE_MEMCPY && !defined (bcopy)]: Define bcopy in terms of memcpy. Reported by Marcus Daniels. * configure.in (LIBOBJS): After AC_FUNC_FNMATCH, add fnmatch.o and define fnmatch to rpl_fnmatch if necessary. * acconfig.h (fnmatch): Add undef. * src/df.c (find_mount_point): Convert from K&R style header to ANSI. Patch from Kaveh Ghazi. Sun Dec 8 07:22:38 1996 Jim Meyering =========== Update for automake-1.1k. * Makefile.am (AUTOMAKE_OPTIONS): Require 1.1k. * configure.in (AM_CONFIG_HEADER): Use it. (AC_OUTPUT): Remove stamp-h timestamping statement. Now, AM_CONFIG_HEADER does it automatically. * lib/Makefile.am (noinst_LIBRARIES): Rename to libfu.a as per new automake requirement. Rename fu_* variables to libfu_a_*. Mon Dec 2 20:30:20 1996 Jim Meyering * configure.in (jm_FUNC_MKTIME): Use this instead of AM_FUNC_MKTIME. * src/system.h [!S_IXUGO] (S_IXUGO): Define it. * src/ls.c (print_color_indicator): Check the file's suffix only if it's a regular file. Reported by Santiago Vila Doncel. (print_type_indicator): Use S_IXUGO instead of writing out (S_IEXEC | S_IXGRP | S_IXOTH). (length_of_file_name_and_frills): Likewise. Sun Dec 1 13:07:39 1996 Jim Meyering * lib/getdate.y (date): Interpret the date, L/M/N, as YYYY/MM/DD if L >= 1000, otherwise as MM/DD/YY. With this change, date --date=DATE accepts dates like those in an RCS log listing. Sat Nov 30 22:11:42 1996 Jim Meyering * acinclude.m4: (jm_FUNC_MKTIME): New macro. This is like AM_FUNC_MKTIME, but with one addition: when it replaces the function, it also redefines mktime to gnu_mktime. Fri Nov 29 21:19:13 1996 Jim Meyering * src/install.c (copy_file): Allow installation from non-directory (rather than only regular) files. Suggestion from Charles Karney. * src/df.c (main): Accept -F as a synonym for -t for compatibility with Solaris. From Peter Eriksson. * src/ls.c (main): Close stdout and check result, in case any deferred writes fail. Use EXIT_SUCCESS and EXIT_FAILURE in exit and usage calls. Thu Nov 28 13:10:22 1996 Jim Meyering * src/df.c (find_mount_point): Use strip_trailing_slashes and dirname instead of open-coding them. When given FILE containing no slashes, chdir to the directory containing it (the current directory) rather than to `..'. Tue Nov 5 14:51:56 1996 Miles Bader * src/df.c (find_mount_point): Use save_cwd/restore_cwd. "save-cwd.h": New include. Wed Oct 30 00:21:16 1996 Miles Bader * lib/fsusage.c (get_fs_usage): If DISK is 0 and we needed to use it, return -1 with 0 in ERRNO. * src/df.c (show_dev): Deal with null values for DISK and FSTYPE, including interpreting special 0 errno return from get_fs_usage. (show_point): Don't fail if we can't find a mount entry for POINT, just call show_dev with 0 values and let it fail if necessary. (main): Require a non-zero MOUNT_LIST only if showing all filesystems. (find_mount_point): New function. (xgetcwd): New declaration. Thu Nov 28 00:31:11 1996 Jim Meyering * configure.in (AM_GNU_GETTEXT): Renamed from ud_GNU_GETTEXT for gettext-0.10.25. Tue Nov 26 23:24:13 1996 Jim Meyering * acinclude.m4: Update with macros from gettext-0.10.25. Sun Nov 24 22:43:24 1996 Jim Meyering * acconfig.h (mktime): Add undef for my enhanced (beyond automake's 1.1g version of) AM_FUNC_MKTIME. * acinclude.m4 (AM_FUNC_GETLINE): Use am_, not su_ prefix for local/cache variables. Sat Nov 23 16:11:59 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Add getline.c now that getline isn't mentioned in AC_REPLACE_FUNCS. * lib/Makefile.am (EXTRA_DIST): * chgrp.c (usage): Alphabetize option descriptions the way sort -f would. * chown.c (usage): Likewise. * cp-aux.c (usage): Likewise. * df.c (usage): Likewise. * install.c (usage): Likewise. * ln.c (usage): Likewise. * ls.c (usage): Likewise. * mkdir.c (usage): Likewise. * mv.c (usage): Likewise. * rm.c (usage): Likewise. From Karl Berry. Fri Nov 22 22:14:10 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Don't try to replace getline this way. AM_FUNC_GETLINE does it now. (AM_FUNC_GETLINE): Use it here. * src/cp.c (copy): With -i and not -f, prompt for any type of (non-directory) source file before overwriting an existing target. Reported by Mark A. Thomas and Emile LeBlanc. Tue Nov 19 23:10:32 1996 Jim Meyering * configure.in (AM_SANITY_CHECK_CC): Remove it. Autoconf-2.11 has this built-in. (AC_FUNC_FNMATCH): Use this macro (new with autoconf-2.11) instead of open-coding it. Sun Nov 17 20:53:00 1996 Jim Meyering * src/touch.c: Remove unused declaration of mktime. From Tony Leneis. Mon Nov 4 23:18:03 1996 Jim Meyering * configure.in (test for group_member): Handle it separately so I can keep the hyphen (not the underscore) in the filename. * lib/rename.c: New version from François Pinard. Sat Nov 2 07:05:36 1996 Jim Meyering * src/ls.c (gobble_file): Set linkok for non-orphaned symlinks. From Bauke Jan Douma. (gobble_file): Initialize linkok. With these two changes, ls --color should display orphaned symlinks as blinking text on terminals that support it. * configure.in (ALL_LINGUAS): Add Spanish (es). * doc/Makefile.am (MAKEINFO): Set to makeinfo --no-split. Otherwise, the generated info files have names longer than the 14-byte max of some old systems. Reported by Karl Heuer. Tue Oct 29 06:49:16 1996 Jim Meyering * src/ls.c (decode_switches): Make -A set really_all_files to zero as well as setting all_files to 1. With this change, ls -f -A prints everything but . and .., unsorted. Before, the -A was effectively ignored. From Karl Berry. Tue Oct 22 07:00:00 1996 Jim Meyering * src/Makefile.am (dircolors.h): Depend on dcgen only in maintainer mode. Mon Oct 21 16:52:28 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Remove group-member.c. Add (temporary hack to work around bug in automake-1.1f) mvdir.c and rmdir.c. * configure.in: Remove hack that created link from group_member.c to group-member.c. * lib/group_member.c: New file. Renamed from group-member.c. * lib/group-member.c: Delete. * src/dircolors.hin: Comment out DOS-style suffixes. Sun Oct 20 13:49:25 1996 Jim Meyering * lib/Makefile.am (INCLUDES): Add -I../intl. Reported by Eric Backus. * Makefile.am (AUTOMAKE_OPTIONS): Set to `gnits'. (EXTRA_DIST): Remove. * configure.in: Remove README_ALPHA related code. Automake takes care of it automatically now when in gnits mode. Sun Oct 13 14:02:41 1996 Jim Meyering * src/ls.c (print_long_format): Use strftime of localtime (not ctime) to produce the date/time in long listings. From Rafal Maszkowski. Sat Oct 12 18:20:38 1996 Jim Meyering * lib/mountlist.c (fstype_to_string): Handle fstypes of freebsd. From Arne Henrik Juul. Thu Oct 10 23:47:34 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Remove posixtm.y and getdate.y. (fu_SOURCES): Put them here instead. Remove rules for building getdate.c and posixtm.c; now automake generates those rules. * lib/ylwrap: New file. * lib/interlock: New file. Wed Oct 9 06:51:47 1996 Jim Meyering * src/ls.c (usage): Improve brief descriptions of --sort and --time. From François Pinard. * lib/rpmatch.c [!WITH_REGEX]: Include rx.h. From Andreas Schwab. Mon Oct 7 23:31:10 1996 Jim Meyering * lib/Makefile.am (EXTRA_DIST): Remove names of several files that automake adds automatically. (fu_SOURCES): Likewise. (fu_DEPENDENCIES): Depend on fu_LIBADD. * src/chown.c (usage): Improve usage message. * src/cp-aux.c (usage): Likewise. * src/ls.c (usage): Likewise. * src/install.c (strip): Improve diagnostic. From Ulisses Alonso. * src/Makefile.am (noinst_HEADERS): Add dircolors.h. (dircolors.h): Always depend on dcgen. Sat Oct 5 08:07:03 1996 Jim Meyering * acinclude.m4 (AM_FUNC_ERROR_AT_LINE): New macro. (AM_FUNC_OBSTACK): New macro. * configure.in (AM_FUNC_ERROR_AT_LINE): Use this instead of open-coding it. (AM_FUNC_OBSTACK): Likewise. * lib/filemode.c (ftypelet) [HAVE_ST_DM_MODE]: Add support for Cray's migrated dmf files. * src/ls.c (print_long_format) [HAVE_ST_DM_MODE]: Likewise. * acconfig.h [HAVE_ST_DM_MODE]: New macro. From Johan Danielsson. * acinclude.m4 (AC_HEADER_SYS_TIME_H): New macro. (AM_FUNC_MKTIME): Require AC_HEADER_SYS_TIME_H so that configure's checking... messages don't get nested. * configure.in (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove it. * acconfig.h (GNU_PACKAGE): New variable. (PACKAGE_VERSION): Remove now-unused variable. * src/*.c: Update --version output to conform to the coding standard. Wed Oct 2 21:44:36 1996 Jim Meyering * src/dircolors.c (usage): Deprecate --print-data-base even though that's the way GNU make writes it. `database' is one word. Add description of FILE argument. Tue Oct 1 12:56:23 1996 Jim Meyering * lib/Makefile.am (fu_SOURCES): Remove getline.c. (EXTRA_DIST): Add getline.c. Reported by François Pinard. Mon Sep 30 20:08:45 1996 Jim Meyering * src/Makefile.am (dircolors.h): Don't depend on anything unless in maintainer-mode. Reported by Marcus Daniels. * lib/path-concat.c (path_concat): Use K&R style function definition. Sun Sep 29 22:00:44 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add slovenian (sl). * src/cp-aux.c (usage): Take only one argument -- like all the other usage functions. * src/cp.c (do_copy): Give better error message when copying multiple files and the last one is not a directory. From Karl Berry. Call error (0, 0, ... then usage (1) -- instead of calling usage with two arguments. Sat Sep 28 13:16:29 1996 Jim Meyering * lib/getversion.c (backup_types): Declare const. (backup_args): Likewise. Sat Sep 21 10:22:28 1996 Jim Meyering * src/dircolors.c (xstrndup): Use message that's the same as the one you get from e.g., xmalloc. Reported by Santiago Vila. Thu Sep 19 22:13:31 1996 Jim Meyering * lib/Makefile.am (fu_SOURCES): Remove regex.c and rx.c. (EXTRA_DIST): Put them here instead. * configure.in ($PACKAGE, $VERSION): Don't AC_DEFINE_UNQUOTED these. AM_INIT_AUTOMAKE now does it (as of automake-1.1e). * lib/Makefile.am (fu_SOURCES): Move getopt.c and getopt1.c back to here fro EXTRA_DIST. * configure.in (AC_REPLACE_GNU_GETOPT): Remove it -- it's not necessary. * acinclude.m4 (AM_SANITY_CHECK_CC, AC_SYS_POSIX_TERMIOS, AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Remove definitions. Now automake's aclocal includes them. Sun Sep 15 23:08:48 1996 Jim Meyering * Makefile.am (EXTRA_DIST): Remove acinclude.m4. Mon Sep 9 21:39:49 1996 Jim Meyering * src/cp.c (do_copy): Describe in a little more detail the code that makes `cp non-directory file/' (eventually) fail. Sun Sep 8 12:54:31 1996 Jim Meyering * src/dircolors.c (usage): Refer to LS_COLORS, not LS_COLOR. From Santiago Vila Doncel. * src/cp.c (do_copy): Set backup_type to `none' only *after* calling to find_backup_file_name. Reported by Eli Zaretskii. Sat Sep 7 12:25:42 1996 Jim Meyering * lib/regex.c, lib/regex.h: New files. * lib/rx.c, lib/rx.h: New files. * lib/Makefile.am (INCLUDES): Add -I../intl so compiler will find libintl.h for rpmatch.c. * src/system.h: Add comments justifying IS* versions of ctype.h macros. Thu Sep 5 18:12:44 1996 Jim Meyering * src/chmod.c (main): Don't set verbose flag for --changes. (change_file_mode): If chmod succeeds and --changes was given, give a diagnostic describing the new permissions. Reported by Philippe Schnoebelen (phs@fing.edu.uy). * src/cp.c (do_copy): When concatenating DEST (with a trailing `/') and the basename part of non-directory SOURCE, don't add a slash between them. Wed Sep 4 21:42:32 1996 Jim Meyering * lib/rpmatch.c: Make sure NULL is defined by including stddef.h (if STDC_HEADERS || _LIBC) or simply defining it (otherwise). Include sys/types.h for definition of size_t needed by regex.h. * lib/Makefile.am (fu_SOURCES): Add regex.c and rx.c. (noinst_HEADERS): Add regex.h and rx.h. * configure.in (AM_SANITY_CHECK_CC): Use it. (AM_WITH_REGEX): Use it. * acconfig.h (WITH_REGEX): Add it. Tue Sep 3 08:13:09 1996 Jim Meyering * lib/rpmatch.c (rpmatch): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. From Paul Eggert . Mon Sep 2 10:59:10 1996 Jim Meyering * POTFILES.in: Add lib/rpmatch.c. * lib/rpmatch.c (ENABLE_NLS): Include libintl.h and define _ to gettext. * src/*.c (usage): Tell where to report bugs. Sat Aug 31 18:48:18 1996 Jim Meyering * src/touch.c (utime_now): Protoize. Reported by David S. Miller (davem@caip.rutgers.edu). Sun Aug 25 22:43:15 1996 Jim Meyering * acinclude.m4 (AM_FUNC_MKTIME): New macro. * configure.in (AM_FUNC_MKTIME): Use it. (AC_REPLACE_FUNCS): Remove mktime. Wed Aug 21 23:17:04 1996 Jim Meyering * src/Makefile.am (EXTRA_DIST): Remove ansi2knr.1 and ansi2knr.c. Automake includes them automatically. * configure.in (AM_INIT_AUTOMAKE): Use it. (AM_PROG_INSTALL): Remove. AM_INIT_AUTOMAKE does this. (AC_PROG_MAKE_SET): Likewise. Sun Aug 18 09:52:39 1996 Jim Meyering * configure.in (jm_MAINTAINER_MODE, fp_C_PROTOTYPES): Rename with AM_ prefix for latest automake/aclocal. * lib/Makefile.am (noinst_HEADERS): Add path-concat.h. (fu_SOURCES): Add path-concat.c. * src/mv.c: Include path-concat.h. (movefile): Use path_concat instead of open-coding its functionality. Declare pointer parameters const as appropriate. * src/cp.c: Include path-concat.h. (do_copy): Check path_concat return value. (path_concat): Remove function. * lib/path-concat.h: New file. * lib/path-concat.c (path_concat): New file. Just like the function from cp.c except the stand-alone version uses malloc instead of xmalloc. * configure.in (ALL_LINGUAS): Add Dutch (nl). Fri Aug 16 21:59:24 1996 Jim Meyering * src/chgrp.c (parse_group): Don't abort when given a group number larger than INT_MAX. Fix bug whereby root could run `chgrp INVALID-GROUP FILE' and it wouldn't fail, but rather would change FILE's group to some indeterminate value. This problem was reported as Debian Bug#4119 via Erick Branderhorst (branderh@IAEhv.nl). Declare pointer parameters const as appropriate. Thu Aug 1 22:12:15 1996 Jim Meyering * src/system.h (ST_NBLOCKS) [_CRAY]: Special case for Cray. * lib/fsusage.c (get_fs_usage) [STAT_STATFS4] [_CRAY]: Define f_bavail to f_bfree. From Johan Danielsson. Wed Jul 31 23:39:23 1996 Jim Meyering * src/ln.c [LINK_TYPE]: Remove macro. NLS messages aren't extracted from macros. Reported by Santiago Vila. (link_type_string): New global variable to be used instead of LINK_TYPE. (main): Set it here. (do_link): Use it (instead of macro) here. Tue Jul 30 23:24:18 1996 Jim Meyering * configure.in (AC_CHECK_HEADERS): Add sys/fs/s5param.h. * lib/fsusage.c [HAVE_SYS_FS_S5PARAM_H]: Include sys/fs/s5param.h to work around bug in sys/filsys.h of Fujitsu UXP/V. From by Johan Danielsson. * src/cp.c (DO_CHOWN): New macro -- derived from code in copy. (copy): Use DO_CHOWN to assure that any newly-created symbolic links have proper owner and group. Sat Jul 27 17:22:14 1996 Jim Meyering * src/system.h (bindtextdomain) [!ENABLE_NLS]: Undefine to avoid redefinition warnings on solaris. (textdomain) [!ENABLE_NLS]: Likewise. Thu Jul 25 21:10:42 1996 Jim Meyering * src/chgrp.c (main): Fix typo in getopt_long string: s/n/h/. Reported by Ken Pizzini. Wed Jul 24 22:24:37 1996 Jim Meyering * src/dircolors.c (usage): Remove -h. It is not an option. Reported by Ulrich Drepper. Sun Jul 21 11:58:48 1996 Jim Meyering * configure.in (AC_CHECK_HEADERS): Add sys/timeb.h for lib/getdate.y. This was a problem for SCO OSR5. From Bela Lubkin . (statvfs test): Arrange for this test to fail (as it should) for SCO OSR5. Suggestion from Bela Lubkin. * src/Makefile.am (BUILT_SOURCES): Remove @MAINT@. (dircolors.h): Remove @MAINT@. These prevented `make distcheck' from working sometimes. * lib/yesno.c (yesno) [!HAVE_RPMATCH]: Remove function since we'll always use the rpmatch-based version. Declare rpmatch. * lib/rpmatch.c [STDC_HEADERS]: Guard inclusion of stdlib.h. (_) [!_]: Define it. (try): Add RESPONSE parameter. (rpmatch): Update caller. Anchor regular expressions to beginning of string. * configure.in (AC_CHECK_FUNCS): Don't check rpmatch. * acconfig.h (HAVE_OBSTACK): Undef it. The following is from Ulrich Drepper. * configure.in (AC_REPLACE_FUNCS): Add rpmatch. * lib/Makefile.am (EXTRA_DIST): Add rpmatch.c. * lib/rpmatch.c: New file. * lib/yesno.c (yesno): New rpmatch-based version of the function. * config.h.in (HAVE_RPMATCH): Undef it. * lib/Makefile.am (EXTRA_DIST): Put error.c and obstack.c here... (fu_SOURCES): Instead of here. * configure.in (AC_CHECK_FUNCS): Add rpmatch. Add checks for error_at_line and obstacks so systems with GNU libc don't compile and link with distributed error.c and obstack.c. * configure.in (AC_REPLACE_FUNCS): Replace getline.c. Add related check for the getdelim function. As done in gettext. Sat Jul 20 17:01:56 1996 Jim Meyering * lib/Makefile.am (fu_SOURCES): Remove error.c, and obstack.c. (EXTRA_DIST): Add error.c, and obstack.c. * configure.in (PACKAGE_VERSION): Use space instead of hyphen to separate PACKAGE and VERSION. Fri Jul 19 23:28:36 1996 Jim Meyering * src/cp.c (path_concat): Rewrite to return new parameter. (do_copy): Update uses of path_concat to use new parameter. Use that new pointer to compute correct offset for make_path_private. Before, cp --recursive --parents SRC DEST failed when SRC was an absolute file name. E.g., % cd /tmp; rm -rf d f; mkdir d; touch f; cp -PR /tmp/f d cp: tmp: No such file or directory Reported by Horst von Brand vonbrand@sleipnir.valparaiso.cl. Thu Jul 18 21:58:51 1996 Jim Meyering * src/install.c [_AIX]: Add #pragma alloca. From Bernd Leibing . * src/chgrp.c (main): Initialize for internationalized message support: call setlocale, bindtextdomain, and textdomain. Reported by Michel Robitaille . Wed Jul 17 22:37:40 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add polish (pl). Mon Jul 15 23:42:57 1996 Jim Meyering * Many files: Update FSF address. Sun Jul 14 07:53:45 1996 Jim Meyering * src/du.c (usage): Sort option descriptions in dictionary order. Sat Jul 13 07:34:24 1996 Jim Meyering * src/dircolors.c (long_options): Add missing last line of NULL entries. From Ralph Loader . Thu Jul 11 21:50:48 1996 Jim Meyering * Version 3.13. * dircolors.1: New file -- but just a pointer to texinfo docs. * man/Makefile.am (man_MANS): Add dircolors.1. * configure.in (VERSION): Bump to 3.13. Wed Jul 10 22:57:29 1996 Jim Meyering * aclocal.m4 (fp_PROG_CC_STDC): Include sys/stat.h in test program so that DYNIX/ptx V4.1.3 doesn't use `-Xc -D__EXTENSIONS__' -- with those options on that system, sys/stat.h gets compile errors. With help from Marcus Daniels. * getopt.c: Update from gettext-0.10.23. * getopt1.c: Likewise. * getopt.h: Likewise. Tue Jul 9 20:19:44 1996 Jim Meyering * src/dircolors.c (usage): Improve --help message. From Karl Berry. (long_options): Add print-data-base and print-database. * src/dircolors.c (dc_parse_stream): Don't give `unrecognized keyword' message unless we've processed a matching TERM directive. Reported by Karl Berry and François Pinard. * src/install.c (UID_T_MAX): Use `(unsigned long)1' rather than `(uid_t)1' to avoid problems on systems where uid_t is signed. (GID_T_MAX): Likewise for gid_t. From Kjetil Torgrim Homme. Sun Jul 7 22:40:08 1996 Jim Meyering * src/ls.c: Change initial colors for `color_indicator' to match those currently in dircolors.hin. From Joshua Cowan. * src/dircolors.hin: Recognize more filename extensions. From Joshua Cowan. * src/Makefile.am (CLEANFILES): Add dcgen. From Joshua Cowan . * src/Makefile.am (MAINTAINERCLEANFILES): Add dircolors.h. * configure.in (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use it. * acconfig.h [GWINSZ_IN_SYS_IOCTL]: Add #undef. * src/ls.c: Include termios.h. Guard inclusion of sys/ioctl.h with #ifdef GWINSZ_IN_SYS_IOCTL, rather than HAVE_SYS_IOCTL_H. Modelled after sh-utils' stty.c at suggestion from Chip Bennett to make ls adjust its idea of screen width upon window resize on systems (SunOS, Solaris) where TIOCGWINSZ is defined in termios.h, and not sys/ioctl.h. * aclocal.m4 (AM_SYS_POSIX_TERMIOS): New macro, derived from test in the configure.in from sh-utils. (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise. Sat Jul 6 12:46:27 1996 Jim Meyering * src/cp-aux.c (usage): Factor out backup-related text into separate string/printf statement so translators deal with only one corresponding string in .pot file. * src/install.c (usage): Likewise. * src/ln.c (usage): Likewise. * src/mv.c (usage): Likewise. Suggestion from Santiago Vila Doncel. * configure.in (AC_REPLACE_FUNCS): Add group_member. (AC_LINK_FILES): Create link lib/group_member.c to lib/group-member.c. * lib/Makefile.am (fu_SOURCES): Remove group-member.c. (EXTRA_DIST): Add group-member.c here. Fri Jul 5 22:16:13 1996 Jim Meyering * src/dircolors.c [!STDC_HEADERS]: Declare free. From Marcus Daniels. Thu Jul 4 12:34:50 1996 Jim Meyering * src/dd.c (usage): Remove space before newline in usage message. * src/mknod.c (usage): Likewise. * src/mv.c (usage): Likewise. * src/Makefile.am (libexec_PROGRAMS): Regenerate using patched automake-1.0 to work around rm -f bug on Solaris2.4. Reported by Kaveh Ghazi. * src/ls.c: Make `dir --version' and `vdir --version' print their names, not `ls'. Reported by Ulrich Drepper. Wed Jul 3 17:41:15 1996 Jim Meyering * src/dircolors.c: Include sys/types.h before system.h. From Jim Blandy (jimb@cyclic.com). * src/chgrp.c [!MAXUID]: Define after inclusion of system.h to avoid warning about redefinition on SunOS4, Solaris2.4 and SGI-irix5.3. From Kaveh Ghazi. Also, Santiago Vila Doncel reported that defining MAXUID before including system.h caused a compilation failure on some ConvexOS system. Tue Jul 2 22:56:03 1996 Jim Meyering * configure.in (VERSION): Bump to 3.12q. * src/system.h [!EXIT_SUCCESS]: Define it. [!EXIT_FAILURE]: Define it. * lib/strndup.c (strndup): Include stdio.h and sys/types.h to get definition of NULL and size_t on SunOS4.1.3. Mon Jul 1 23:47:29 1996 Jim Meyering * src/ln.c (do_link): Update messages to ease translation. Suggestion from Santiago Vila. Sun Jun 30 16:41:45 1996 Jim Meyering * src/install.c (usage): Fix typo, 3nd->3rd, in usage message. From Santiago Vila Doncel. Sat Jun 29 00:33:31 1996 Jim Meyering * configure.in (PACKAGE_VERSION): Add `GNU ' prefix so we see it in the output of --version. Reported by RMS. * src/Makefile.am (BUILT_SOURCES): Guard dependency on dircolors.h with @MAINT@ so it won't be removed with a casual disctlean. (EXTRA_DIST): Add dcgen.pl and dircolors.hin. Fri Jun 28 22:56:00 1996 Jim Meyering * src/dircolors.c (dc_parse_stream): Move `enum states' dcl into this function. * src/ln.c (do_link): Allow `ln -sf --backup k k' to succeed in creating the self-referential symlink, since doing so doesn't remove the source but merely renames it. Wed Jun 26 06:58:58 1996 Jim Meyering * ln.c (same_name): New function. (do_link): Use it to test reliably whether A and B (from ln --force A B) are hard links to the same file. From Andreas Schwab. Tue Jun 25 00:03:43 1996 Jim Meyering * lib/getline.c: New file. * lib/getline.h: New file. * lib/Makefile.am (fu_SOURCES): Add getline.c. (noinst_HEADERS): Add getline.h. Mon Jun 24 22:39:02 1996 Jim Meyering * configure.in (AC_REPLACE_FUNCS): Add strndup. (AC_PATH_PROG): Check for perl. * ls.c (decode_switches): Allow 0 as argument to --tabsize (-T) option. Interpret as a directive to use no TAB characters to separate columns. (indent): Handle TABSIZE == 0. * dircolors.c (dc_parse_stream): Remove spurious newline in error message. (dc_parse_stream): Give `unrecognized keyword' diagnostic for misspelled `TERM' keyword as well as for others. Sun Jun 23 12:58:32 1996 Jim Meyering * dircolors.hin: New file. * dcgen.pl: New file. * src/Makefile.am (dircolors.h): Add a rule to create this file. (dcgen): Likewise. * dircolors.c (parse_line): Rewrite to avoid modifying LINE. Put LINE first in parameter list. Adjust caller. (dc_parse_stream): Free KEYWD and ARG. (main): Give diagnostic for unreasonable combinations of options/arguments. * lib/Makefile.am (EXTRA_DIST): Add strndup.c. * configure.in (AC_REPLACE_FUNCS): Add strndup. * strndup.c: New file. From id-utils-3.0k. (strndup): Deansify. [!STDC_HEADERS]: Include string.h and stdlib.h. Sat Jun 22 16:57:53 1996 Jim Meyering * dircolors.c: Major overhaul. No longer read from /etc/DIR_COLORS or from ~/.dircolors. Defaults are now compiled in. If you specify a file on the command line, it is used instead of the compiled-in defaults. (main): New option --print-database (-p). Detect write failure. Add --bourne-shell and --c-shell aliases for --sh and --csh resp. Tue Jun 18 20:54:05 1996 Jim Meyering * cp.c (copy_reg): Cast both sides of comparison to size_t to avoid a warning about `comparison between signed and unsigned' from gcc -Wall. Declare pointer parameters const as appropriate. * ln.c (do_link): Refine last change so we don't disallow commands like `ln --force A B' when A and B are hard links to the same file. See comments in the source. Reported by Erik Naggum and Andreas Schwab. * ls.c (decode_switches): Correct typo in error messages: enironment -> environment. From Santiago Vila Doncel . * aclocal.m4: Update from gettext-0.10.20. * ABOUT-NLS: Likewise. * intl/*: Likewise. * cp.c (do_copy): Change message from `missing file argument' to more precise `missing destination file'. From Karl Berry. * ln.c (STREQ): Remove macro definition * system.h (STREQ): Add it here instead. * cp.c (do_copy): Use STREQ here instead of strcmp(...) == 0. * ls.c (parse_ls_color): Likewise. * df.c (selected_fstype, excluded_fstype, show_disk, main): Likewise. * cp.c (do_copy): When the force and backup options have been specified and the source and destination are the same name for an existing, regular file, convert the user's command, e.g. `cp --force --backup foo foo' to `cp --force foo fooSUFFIX' where SUFFIX is determined by any version control options used. (usage): Update --help message. At urging of (most recently) Karl Berry. Sun Jun 16 13:40:22 1996 Jim Meyering * doc/Makefile.am (EXTRA_DIST): Add texinfo.tex. * Makefile.am (cvs-dist): Use -c option in cvs tag command. Sat Jun 15 22:21:09 1996 Jim Meyering * configure.in (ALL_LINGUAS): Add pt. (AC_REPLACE_FUNCS): Add basename. * Makefile.am (EXTRA_DIST): Add basename.c. (fu_SOURCES): Remove basename.c. Thu Jun 6 21:57:08 1996 Jim Meyering * po/Makefile.in.in: Update from gettext-0.10.16. * intl/*: Likewise. * ABOUT-NLS: Likewise. * aclocal.m4 (AC_REPLACE_GNU_GETOPT): Move definition to precede gettext-related ones. Update from gettext-0.10.16. Sat Jun 1 12:44:51 1996 Jim Meyering * ls.c: Rename options and internal variables to reflect change to --color=WHEN where WHEN is never, always, or auto (for consistency with e.g. cp --sparse=WHEN. For at least a while, the original slackware-supported arguments `none', `force', `yes', etc will be supported but deprecated by lack of documentation. (decode_switches): Use STDOUT_FILENO instead of `1' in isatty test. (usage): Update/add description of the --color option. * ls.c: Declare pointer parameters const as appropriate. Tue May 28 18:39:49 1996 Jim Meyering * dd.c (print_stats): Don't mark "%u %s" as a translatable string. * mv.c (main): Don't mark "%s" as a translatable string. From Göran Uddeborg. Thu May 23 07:50:38 1996 Jim Meyering * ls.c (usage): Make --literal (-N) description clearer. * acconfig.h (MOUNTED_LISTMNTENT): Add it. * fsusage [_CRAY]: Don't include sys/filsys.h because although Unicos-9 has it, it's not needed and would cause other problems because it requires inclusion of other, non-standard headers. * mountlist.c (read_filesystem_list) [MOUNTED_LISTMNTENT]: New function. From Johan Danielsson (joda@pdc.kth.se). * configure.in (AC_CHECK_FUNCS): Add listmntent for Unicos-9. Define MOUNTED_LISTMNTENT #ifdef _CRAY and HAVE_GETMNTENT. With an initial patch from Johan Danielsson. Wed May 22 18:58:01 1996 Jim Meyering * configure.in (LINGUAS): Add sv. Tue May 21 07:06:30 1996 Jim Meyering * lib/euidaccess.c (euidaccess) [!S_IROTH]: Define. [!S_IWOTH]: Define. [!S_IXOTH]: Define. Marcus Daniels reported that m68k NEXTSTEP 3.2 doesn't define S_IROTH or S_IWOTH unless some posix compile option is used and associated symbols defined. Sun May 19 09:32:51 1996 Jim Meyering (meyering@na-net.ornl.gov) * chown.c: New option: --no-dereference (-h). Solaris 5.4's chown provides -h. (change_file_owner): Use lchown if --no-dereference (-h) was given. (usage): Update. (main): Fail if user requests --no-dereference on a system that doesn't have support for it. * chgrp.c: New option: --no-dereference (-h). [!MAXUID]: Define to INT_MAX. (change_file_group): Use lchown if --no-dereference (-h) was given. (usage): Update. (main): Fail if user requests --no-dereference on a system that doesn't have support for it. Wed May 15 22:54:31 1996 Jim Meyering (meyering@na-net.ornl.gov) * fsusage.c (get_fs_usage): Declare parameter PATH to be const. * fsusage.h: Update prototype to match. * chmod.c (describe_change): Declare pointer parameters to be const. (change_file_mode): Likewise. (change_dir_mode): Likewise. * ln.c (do_link): Declare pointer parameters to be const. * df.c (main): Fail with a diagnostic if both --human-readable and --portability are used. Likewise if --megabytes and --portability are used. Rearrange function definitions to precede respective uses to obviate all forward dcls. Remove forward dcls. Declare parameters const as appropriate. * modechange.c (mode_compile): Declare parameter MODE_STRING const. Remove register attribute. (mode_adjust): Likewise for CHANGES. * modechange.h: Reflect above changes in prototypes. * lib/Makefile.am (getdate.c): Disable dependencies that can require rerunning YACC when not in maintainer mode. (posixtm.c): Likewise. Tue May 14 23:36:54 1996 Jim Meyering (meyering@na-net.ornl.gov) * dd.c (print_stats): Restructure pluralization of error message so it's easier to translate. Reported by Göran Uddeborg . * mv.c (main): Likewise. Tue May 7 22:10:20 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in: Require autoconf-2.10. * aclocal.m4 (jm_MAINTAINER_MODE): New macro. * configure.in (jm_MAINTAINER_MODE): Use it. Sun May 5 20:27:47 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am (bin_PROGRAMS): Add dircolors. (DEFS): Add -DSHAREDIR=\"$(datadir)\". (GNUVER): Remove definition of unused variable. Sat May 4 20:54:32 1996 Jim Meyering (meyering@na-net.ornl.gov) * system.h [IN_CTYPE_DOMAIN]: Rename from ISASCII. * backupfile.c [IN_CTYPE_DOMAIN]: Rename from ISASCII. * dircolors.c: Make enumerated constants upper case. (main): Don't use ANSI-style string concatenation. Add `static' and/or `const' to some file scope variables. Wed May 1 00:20:00 1996 Jim Meyering (meyering@na-net.ornl.gov) * lib/Makefile.am (EXTRA_DIST): Add strcasecmp.c. * configure.in (AC_REPLACE_FUNCS): Add strcasecmp. * ls.c (parse_ls_color, usage): Remove support for alternate spellings: --colours and LS_COLOURS. (parse_ls_color): Reverse sense of test for LS_COLORS environment variable and return -- save a level of indentation on a 100+-line block. Mon Apr 29 22:07:41 1996 Jim Meyering (meyering@na-net.ornl.gov) * POTFILES.in: Add chgrp.c. From François Pinard. Add dircolors.c. * dircolors.c: New file. Written by H. Peter Anvin. Sun Apr 28 16:32:38 1996 Jim Meyering (meyering@na-net.ornl.gov) * ls.c: Apply color ls changes by Peter Anvin and Dennis Flaherty based on original patches by Greg Lee . And on top of all that, a few changes from Ulrich Drepper. * ls.c (parse_ls_color): Use strcpy to initialize 3-character array. Automatic aggregate initialization isn't portable. Remove all ^L's. (get_funky_string): Declare static and move to precede single caller: parse_ls_color. Make some globals `static' and/or `const'. (LEN_STR_PAIR): New macro. (color_indicator): Use it in this declaration. (parse_ls_color): Use error, not fprintf. (decode_switches): Add a comment. (print_name_with_quoting): Add braces around inner if-else statement to clarify. * configure.in: Add a comment that fp_C_PROTOTYPES must precede AC_C_INLINE. Otherwise, some systems lose because the value AC_C_INLINE choses with plain `cc' is different from that chosen when using the ANSI-mode C compiler. From Kaveh Ghazi. * fileblocks.c [HAVE_ST_BLOCKS || _POSIX_VERSION]: Add extern dcl of unused variable so that after preprocessing, the file will never be empty. Otherwise, some compilers in ANSI mode (among them, the Dec Alpha OSF 2.0 C compiler) reject empty files. From Kaveh Ghazi. Indent CPP conditionals. Fri Apr 26 05:52:03 1996 Karl Eichwalder * ls.c (usage): Add newline at end of printf format string. Wed Apr 24 21:33:43 1996 Jim Meyering (meyering@na-net.ornl.gov) * ln.c (do_link): Remove duplicate `if (lstat(...' block. * ln.c (do_link): With --force, don't remove DEST when it's the same as SOURCE. Before, `ln -f FILE FILE' would remove FILE. Reported by Bruno Haible (haible@ilog.fr). * mkdir.c (main): Use verbose_fmt_string, not string literal in call to make_path for --parents. Reported by Ulrich Drepper. * doc/mdate-sh: Get year as last rather than 6th field in output of date. Otherwise, people with 2-word TZ (like `MET DST') lost. From Andreas Schwab. Tue Apr 23 22:05:35 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/*.c, src/*.h: Update Copyright years to include 1996. * aclocal.m4 (AC_REPLACE_GNU_GETOPT): New macro. * configure.in: Use it. * lib/Makefile.am (fu_SOURCES): Remove getopt.c and getopt1.c. (EXTRA_DIST): Add getopt.c and getopt1.c * configure.in (AC_CHECK_FUNCS): Add lchown. * chgrp.c [HAVE_LCHOWN]: Define chown to lchown. * chown.c [HAVE_LCHOWN]: Likewise. * cp.c [HAVE_LCHOWN]: Likewise. * mv.c [HAVE_LCHOWN]: Likewise. Suggested by François Pinard. * backupfile.c (find_backup_file_name, max_backup_version, make_version_name, version_number, concat): Const-ify decls of formal parameters. * backupfile.h: Likewise. * du.c (usage): The long-named arg is --human-readable, not --human. * df.c: Be consistent. Accept --human-readable, not just --human. (usage): Reflect the change. From Karl Berry. Sun Apr 21 08:04:51 1996 Jim Meyering (meyering@na-net.ornl.gov) * df.c (usage): Reflect that now --no-sync is the default. * Makefile.am (LDADD): Put @INTLLIBS@ before package library. Sat Apr 20 22:48:59 1996 Jim Meyering (meyering@na-net.ornl.gov) * ls.c: Include xstrtol.h. (decode_switches): Use xstrtol, not atoi. Detect and ignore invalid value for COLUMNS environment variable. In error about invalid TABSIZE, don't reference optarg! [!POSIXLY_CORRECT]: Don't consider TABSIZE environment variable. * install.c: Include xstrtol.h. [HAVE_VALUES_H]: Include . [!BITSPERBYTE]: Define. [!UID_T_MAX]: Define. [!GID_T_MAX]: Define. (get_ids): Use xstrtol, not atoi. (is_number): Remove now-unused function. * configure.in (AC_CHECK_HEADERS): Add values.h. Fri Apr 19 00:06:02 1996 Jim Meyering (meyering@na-net.ornl.gov) * Makefile.am (cvs-dist): New rule. Based on the one from Tom Tromey's automake. * df.c: No longer call sync by default. * cp.c (copy_reg): Rearrange arithmetic in conditional to avoid integer overflow with large files. Fri Apr 12 21:40:44 1996 Jim Meyering (meyering@na-net.ornl.gov) * mkdir.c (main): Add new option: --verbose. Remove long-deprecated and nowhere-documented --path, a synonym for --parents. It was confusing to get an error about `--p' being ambiguous. Thu Apr 4 21:28:03 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (LINGUAS): Add de. * po/de.po: New file. * src/Makefile.am (EXTRAdir): Set to $(bindir). Wed Apr 3 06:12:23 1996 Jim Meyering (meyering@na-net.ornl.gov) * cp.c (copy_reg): Use `ST_NBLOCKS (sb) * 512', not `sb.st_blocks * DEV_BSIZE.' From H.J. Lu (hjl@lucon.org). * mvdir.c: Protoize. Include save-cwd.h. (fullpath): Rewrite to use save_cwd, xgetcwd, and restore_cwd rather than explicit chdir/getcwd calls. * src/Makefile.am (INCLUDES): Add -I$(srcdir) to get system.h when srcdir != builddir. From Kaveh Ghazi. Mon Apr 1 23:50:29 1996 Jim Meyering (meyering@na-net.ornl.gov) * cp.c: Include assert.h (disabled). (path_concat): New function. (do_copy): Use path_concat instead of open-coding part of its functionality in two places. This has the additional benefit of avoiding forming destination names like `D//file' when the destination directory D includes a trailing slash -- as would happen when cp is used like this: mkdir D; touch file D/file; cp -i file D/ Reported by François Pinard. Sun Mar 31 11:18:09 1996 Jim Meyering (meyering@na-net.ornl.gov) * ls.c (quote_filename): Use ISGRAPH and ISPRINT in place of ASCII-centric tests against literals. (length_of_file_name_and_frills): Likewise. Thu Mar 21 16:43:13 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/*.c (main): Declare to be of type int, not void. Sat Mar 16 10:46:23 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (PACKAGE_VERSION): New macro. * acconfig.h (PACKAGE_VERSION): Add it. * src/Makefile.am: Remove rules for generating version.c. Remove references to version.o, version.h, and stamp-v. * version.c: Remove file. * version.h: Remove file. * chgrp.c chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c ls.c mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c touch.c: Don't include version.h. (main): Use PACKAGE_VERSION instead of version_string. Sun Mar 10 22:36:11 1996 Jim Meyering (meyering@na-net.ornl.gov) * backupfile.c (max_backup_version): Declare file_name_length to be of type size_t. This avoids a warning from gcc -Wall. * chmod.c chown.c cp.c dd.c df.c du.c install.c ln.c ls.c mkdir.c mkfifo.c mknod.c mv.c mvdir.c rm.c rmdir.c sync.c touch.c (main): Initialize for internationalized message support: call setlocale, bindtextdomain, and textdomain. * system.h: Add definitions and includes for NLS. * Makefile.am (SUBDIRS): Add intl and po. * src/Makefile.am (datadir): Define. (localedir): Define. (DEFS): Add LOCALEDIR definition. (LDADD): Add @INTLLIBS@. * aclocal.m4: Add NLS-related macro definitions from gettext distribution. * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): New macros. Add PACKAGE and VERSION. * configure.in (PACKAGE): Define with AC_DEFINE_UNQUOTED. (VERSION): Likewise. (ALL_LINGUAS): Define. (ud_GNU_GETTEXT): Use it. Link an nls file. (AC_OUTPUT): Reflect addition of two new directories, intl and po. Create po/Makefile. From François Pinard. Thu Mar 7 20:26:07 1996 Jim Meyering (meyering@na-net.ornl.gov) * df.c (main): Tell read_filesystem_list that it should determine file system type when the user specifies --print-type or -T. From Michael Rendell . Tue Feb 27 23:13:46 1996 Jim Meyering (meyering@na-net.ornl.gov) * src/Makefile.am: Adapt for automake-0.30. (noinst_HEADERS): Rename from HEADERS. (EXTRA_PROGRAMS): Set to `df mvdir'. (PROGRAMS): Remove definition. (bin_PROGRAMS): Remove hard-coded df. Use @DF_PROG@ instead. (libexec_PROGRAMS): Remove hard-coded mvdir. Use @MVDIR_PROG@ instead. * lib/Makefile.am: (noinst_HEADERS): Rename from HEADERS. * configure.in (DF_PROG, MVDIR_PROG): Use these instead of bundling both into PROGS. Mon Feb 26 21:23:58 1996 Jim Meyering (meyering@na-net.ornl.gov) * dd.c (copy): Remove bogus (now that we're using full_write) increment of w_partial. Change sense of the tests (though they're equivalent) that check the value returned by full_write. making it clearer where errno is valid. full_write always writes the full amount or fails. Thu Feb 15 23:08:41 1996 Jim Meyering (meyering@na-net.ornl.gov) * cp.c (copy): Detect (and fail) when creating backup file would destroy the source file. Before, running the commands cd /tmp; rm -f a a~; : > a; echo A > a~; cp -b -V simple a~ a would leave two zero-length files: a and a~. Reported by Martin C. Martin . Mon Feb 12 23:23:25 1996 Jim Meyering (meyering@na-net.ornl.gov) * configure.in (LIBOBJS): Split assignment into two statements to accommodate automake-0.29 buglet. Update for automake-0.29. * Makefile.am (CONFIG_HEADER): Don't define. Automake now does it. * src/Makefile.am: Likewise. * lib/Makefile.am: Likewise. * doc/Makefile.am (info_TEXINFOS): Renamed from TEXINFOS. * man/Makefile.am (man_MANS): Renamed from MANS. Wed Jan 31 21:50:41 1996 Jim Meyering (meyering@na-net.ornl.gov) * dd.c (skip): Change type of parameter #5 from char* to unsigned char* to match type of argument. (copy): Cast first arg in memset call to char* to avoid warnings from SunOS's acc. (copy_simple): Likewise. * du.c: Remove comma after last item in enum. * df.c: Remove block of usage comments at beginning of file. * df.c (main): New options --human-readable (-h) and --megabytes (-m). (human_readable_1k_blocks): New function. (print_header): Honor new options. (show_dev): Honor new options. Add ifdef'd-out code to avoid printing lines for mount points that match ^/auto/.* and ^/tmp_mnt.*. Rather than hard-coding those two prefixes, the code should allow the user to specify a regular expression. From Larry McVoy (lm@sgi.com). * du.c (human_readable): Fix off-by-one error that converted 1024*1024 to 1024K rather than 1G. Describe the function. * df.c (human_readable_1k_blocks): Likewise (usage): Update usage message to reflect additions. Sat Jan 20 06:00:09 1996 Jim Meyering (meyering@na-net.ornl.gov) * cp-aux.c (usage): Fix description of --archive. From Andreas Schwab. * install.c (copy_files): Accept backup/suffix options just as cp, ln, and mv do. From Marty Leisner . * src/Makefile.am (DISTCLEANFILES): Set to stamp-v version.c. (version.c): Update with rules from textutils. (transform): Add `s/ginstall/install/;' prefix. * lib/Makefile.am (BUILT_SOURCES): Set to posixtm.c getdate.c so autodependencies work after `make maintainer-clean.' * du.c (main): New options --human-readable (-h) and --megabytes (-m). (human_readable): New function. From Larry McVoy (lm@sgi.com). Fri Dec 22 21:34:55 1995 Andreas Schwab * configure.in: Touch stamp-h only if config.h is remade. Sat Dec 23 11:33:19 1995 Jim Meyering (meyering@comco.com) * ls.c (decode_switches): Make -o a synonym for -lG for compatibility with most other versions of ls. Reported by Karl Berry. (usage): Update. Fri Dec 22 00:48:01 1995 Jim Meyering (meyering@comco.com) * dd.c (cleanup): New function -- broken out from quit. (interrupt_handler): Rewrite to reset default signal handler, call cleanup, then repost caught signal. Thu Dec 21 23:15:06 1995 Jim Meyering (meyering@comco.com) * argmatch.h: New file. * lib/Makefile.am (HEADERS): Add argmatch.h. * argmatch.c: (argmatch): Add const attribute to parameters. (invalid_arg): Add const attribute to parameters. * cp.c: Include argmatch.h. * ls.c: Likewise. * touch.c: Likewise. * cp.c (main): Accept new option, --sparse={never,auto,always}, to control creation of sparse files. (copy_reg): Set local, make_holes, from global flag_sparse. * cp-aux (usage): Describe new option. Mon Dec 18 22:29:49 1995 Jim Meyering (meyering@comco.com) * ln.c: [SYMBOLIC_SPACE_STRING]: New macro. (do_link): Use SYMBOLIC_SPACE_STRING instead of open-coded #ifdef. For --verbose, output `create [symbolic ]link DEST to SRC' instead of ambiguous (or inconsistent with cp -v and mv -v) `SRC -> DEST.' Tue Dec 5 17:38:11 1995 Jim Meyering (meyering@comco.com) * rm.c (rm): Work around SunOS 4 bug whereby lstat doesn't fail when given a zero-length file name argument. Reported by Mark Calabretta . Wed Nov 22 23:12:47 1995 Jim Meyering (meyering@comco.com) * Makefile.in (all et. al.): If make was invoked with -k and a sub-make fails, fail after the loop rather than exiting right away. Otherwise, make's -k option could be ineffective. Thu Nov 16 21:25:45 1995 Jim Meyering (meyering@comco.com) * Makefile.in (default): New default target. Depend on `all' to work around bug in AIX-3.2.5's /bin/make. Reported by Andreas Luik . Fri Nov 10 23:31:46 1995 Jim Meyering (meyering@comco.com) * src/Makefile.in (.c._o, ._c._o): Remove temporary source files. (.c._c): Don't redirect directly to $@. * src/Makefile.in (DISTFILES): Include ansi2knr.c and ansi2knr.1. (clean): Remove temp files generated by ansi2knr rules. (ansi2knr): New rule. Add suffixes, dependencies, and rules to convert ANSI source to K&R when required. ($(OBJECTS)): Depend on $(ANSI2KNR) * configure.in: Add fp_C_PROTOTYPES. * Makefile.in (DISTFILES): Add aclocal.m4. (configure): Depend on aclocal.m4. (stamp.h.in): Depend on aclocal.m4 and acconfig.h. * acconfig.h: Add PROTOTYPES. * cp.h: Remove declaration of error. Include error.h instead. Protoize forward dcls of functions in cp-hash.c and cp-aux.c * cp-aux.c: Protoize and add const attribute to parameters. * cp-hash.c: Likewise. Thu Nov 9 23:27:05 1995 Jim Meyering (meyering@comco.com) * system.h [__P]: Define it. * src/*.c: Protoize. * ls.c (enum filetype): Move dcl to precede prototypes. (struct fileinfo): Likewise. Add const attribute to some parameters. * rm.c (struct pathstack): Move dcl to precede prototypes. * dd.c (translate_charset): Make parameter `const'. * ln.c (main): Move to the end. Remove most fwd dcls. * chmod.c: Likewise. * chown.c: Likewise. * chgrp.c: Likewise. * mkdir.c: Likewise. * mkfifo.c: Likewise. * mknod.c: Likewise. * mvdir.c: Likewise. * touch.c: Likewise. * mv.c: Rearrange functions to obviate forward dcls. Remove forward dcls. * cp.c: Protect prototyped forward dcls with __P. * dd.c: Likewise. * df.c: Likewise. * du.c: Likewise. * install.c: Likewise. * ls.c: Likewise. * rm.c: Likewise. Wed Nov 1 23:11:05 1995 Jim Meyering (meyering@comco.com) * cp.c (copy): Use euidaccess instead of euidaccess_stat. * mv.c (do_move): Likewise. * rm.c (remove_file, remove_dir): Likewise. Sun Oct 29 06:06:13 1995 Jim Meyering (meyering@comco.com) * aclocal.m4 (jm_WITH_AUTODEPS): New directive. * configure.in: Use it. * lib/Makefile.in (INCLUDE, COMPILE): New variables. (.c.o): Rewrite to be more like src/Makefile.in. Add line that (--with-autodeps) will include mkdep-Makefile. (distclean): Remove .deps. * src/Makefile.in: Likewise. * src/Makefile.in (test.o): Remove special rule. * mkdep-Makefile: New file. * Makefile.in (DISTFILES): Add mkdep-Makefile. * doc/Makefile.in (mostlyclean): Remove *.info. * touch.c: Change long option name `--file' to `--reference'. Leave --file as an alias, for now. It will be removed later. (usage): Reflect option name change. From Franc,ois Pinard. Wed Oct 18 23:09:55 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_CHECK_HEADERS): Add sys/wait.h and sys/ioctl.h. (AC_CHECK_FUNCS): Add endpwent. * fileblocks.c: Use _POSIX_VERSION, not _POSIX_SOURCE. * userspec.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. * chgrp.c [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. * chown.c [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. [endgrent]: Remove unused definition. * df.c (main): Fail if the same file system type was both selected and excluded. Reported by Paul Close pdc@lunch.engr.sgi.com. * rm.c (duplicate_entry): Always return 0 if !D_INO_IN_DIRENT, rather than if _POSIX_SOURCE. * install.c: Use HAVE_SYS_WAIT_H, not _POSIX_VERSION in conditional inclusion of sys/wait.h. [endgrent]: Test !HAVE_ENDGRENT rather than _POSIX_SOURCE. [endpwent]: Test !HAVE_ENDPWENT rather than _POSIX_SOURCE. * ls.c Use HAVE_SYS_IOCTL_H, rather than !_POSIX_SOURCE || _AIX. Thu Oct 5 21:49:34 1995 Jim Meyering (meyering@comco.com) * configure.in (HAVE_STRUCT_UTIMBUF): Add new test. Testing for the existence of is insufficient on some Next systems. * acconfig.h (HAVE_STRUCT_UTIMBUF): Add it. * system.h [!HAVE_UTIME_H]: Don't declare struct utimbuf here. [!HAVE_STRUCT_UTIMBUF]: Declare struct utimbuf here instead. * chgrp.c: Include limits.h. [!INT_MAX]: Define it. * df.c (show_point): Cast -2 to dev_t before assignment. * mountlist.c (read_filesystem_list): Cast -1 to dev_t before assignment. Sun Oct 1 13:22:36 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_REPLACE_FUNCS): Add strtoul. * strtoul.c: New file. * lib/Makefile.in (SOURCES): Add strtoul.c. * acconfig.h (STATFS_TRUNCATES_BLOCK_COUNTS): Add it. * configure.in (STATFS_TRUNCATES_BLOCK_COUNTS): New check to enable workaround for SunOS statfs brokenness. Block counts in struct statfs for partitions 2GB and larger are truncated, but correct values are stored in f_spare array member. * fsusage.c (get_fs_usage) [STATFS_TRUNCATES_BLOCK_COUNTS]: Copy untruncated block counts from f_spare array into proper members of struct statfs. From Eirik Fuller (eirik@netapp.com); * ls.c (dired_dump_obstack): Don't generate any output if the obstack is empty. (main): Always initialize and dump subdired_obstack, not just if -R. `ls -lDR dir dir2' was using uninitialized subdired_obstack. Reported by Samuli K{rkk{inen . Tue Sep 26 23:05:01 1995 Jim Meyering (meyering@comco.com) * man/Makefile.in (install-data, uninstall): Use sed not basename. The GNU Coding Standard suggests that only a select set of relatively standard utilities be used in Makefiles. basename is not among them. Suggested by Ulrich Drepper. Mon Sep 25 23:12:37 1995 Jim Meyering * src/df.c (show_point): Ignore mtab entries with either nonexistent mount points or with inconsistent device number. From Eirik Fuller . Wed Aug 9 00:33:05 1995 Jim Meyering (meyering@comco.com) * mknod.c (my_strtol): Remove function. (main): Use xstrtol instead. Mon Aug 7 23:27:54 1995 Jim Meyering (meyering@comco.com) * Makefile.in (DISTFILES): Don't distribute unneeded COPYING.LIB. From Franc,ois. Fri Aug 4 22:11:06 1995 Jim Meyering (meyering@comco.com) * install.c (isnumber): Rename to is_number to avoid conflict with FreeBSD 2.0.5 macro definition. Reported by David O'Brien (obrien@sea.legent.com). * lib/save-cwd.c: New file. * lib/save-cwd.h: New file. * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files. * configure.in: (AC_REPLACE_FUNCS): Remove fnmatch. Add check for working fnmatch functions so that systems providing it don't incur the space overhead of linking with the version in lib. Cross compiling builds always use the version in lib. * ls.c (decode_switches): Set SORT_TYPE. Before, ls -c was sorting by name, rather than change time. Reported by Ken Estes (m-ke0082@sparky.cs.nyu.edu). * du.c: (save_cwd, restore_cwd, free_cwd): Remove functions. New versions have been broken out into save-cwd.c. (du_files): Adapt to handle status code returned by new versions of save_cwd and restore_cwd. (count_entry): Likewise. * all programs (main): Include program name in --version output. * src/Makefile.in (cp.o): Depend on ../lib/obstack.h. * xstrtol.c, xstrtol.h: New files. * xstrtoul.c, xstrtoul.h: New files. * lib/Makefile.in (SOURCES, OBJECTS, DISTFILES): Update for new files. * chgrp.c (parse_group): Use xstrtoul instead of isnumber; the latter would silently overflow, accepting a group id larger than INT_MAX. (isnumber): Remove now-unused static function. (change_file_group) [MAXUID]: Give a more descriptive message when numeric group id is larger than MAXUID. Sat May 27 00:35:47 1995 Jim Meyering (meyering@comco.com) * system.h [!STDC_HEADERS && HAVE_MEMORY_H]: Include memory.h. Without this, SunOS doesn't get type for memchr. Reported by Kaveh Ghazi. Sun May 21 07:20:55 1995 Jim Meyering (meyering@comco.com) * all source files (usage): Include one- or two-line synopsis in --help output. From Karl Berry. * Makefile.in (.PHONY): TAGS is not a phony target. From Franc,ois. * All Makefile.in (install-exec, install-exec): New targets. From Karl Berry. * all Makefile.in (maintainer-clean): Renamed from realclean per GNU Standards. * euidaccess.c: No longer include safe-l?stat.h. * fsusage.c: Likewise. * isdir.c: Likewise. * makepath.c: Likewise. * mkdir.c: Likewise. * rename.c : Likewise. * rmdir.c: Likewise. Sat May 13 07:47:44 1995 Jim Meyering (meyering@comco.com) * lib/Makefile.in: Remove safe-l?stat.[ch]in and related rules. (maintainer-clean): Rename from realclean. (.PHONY): New dependencies. [.c.o]: Remove -I. since safe-l?stat.h are no longer used. * argmatch.c (argmatch): Include sys/types.h and declare length argument with type size_t. * backupfile.c: Remove unnecessary definitions for r?index. Update definitions for ISDIGIT. * basename.c (basename): Make argument const. * euidaccess.c (eaccess_stat): Make statp and path arguments const. (euidaccess): Make statp argument const. Use stat, not safe_stat. * fsusage.c (statfs): Use stat, not safe_stat. * isdir.c (isdir): Likewise. * mkdir.c (mkdir): Likewise. * rename.c (rename): Likewise. * rmdir.c (rmdir): Likewise. * userspec.c (parse_user_spec): Use strchr, not index. [!HAVE_STRING_H]: Define strchr in terms of index, not the other way around. * makepath.c: (make_path): Use stat, not SAFE_STAT. Use strchr, not index. Adjust defines accordingly. * makepath.h: Undef __P before defining. Guard definition with simpler `#if __STDC__'. * chgrp.c: Use stat (lstat), not safe_stat (safe_lstat). * chmod.c: Likewise. * chown.c: Likewise. * cp-hash.c: Likewise. * cp.c: Likewise. * df.c: Likewise. * du.c: Likewise. * install.c: Likewise. * ln.c: Likewise. * ls.c: Likewise. * mv.c: Likewise. * mvdir.c: Likewise. * rm.c: Likewise. * touch.c: Likewise. Fri May 12 21:21:23 1995 Jim Meyering (meyering@comco.com) * mv.c (movefile): Remove a single trailing slash from destdir before concatenating with `/' and filename for `ok to overwrite...' message. Reported by Franc,ois Pinard. Mon May 1 23:03:30 1995 Jim Meyering (meyering@comco.com) * ls.c (quote_filename): Never return NULL when quoting filenames as C-strings. --quote-name was quoting only strings containing at least one C-quotable character. Reported by David J. MacKenzie. Mon Mar 20 21:44:40 1995 Jim Meyering (meyering@comco.com) * rename.c (rename): Compare src and dest inode numbers rather than src inode and dest dev when determining whether they refer to the same file. From marc@math.cornell.edu (Marc Parmet). * df.c (usage): Add ellipsis after `[OPTION]'. Use FILE, not deprecated PATH in text of help message. From Karl Berry. Fri Mar 10 21:13:23 1995 Jim Meyering (meyering@comco.com) * src/*.c: Update Copyright dates. * src/Makefile.in (uninstall): Handle case in which LIBPROGS is empty. Reported by Peter Smidt . Thu Feb 23 22:29:11 1995 Jim Meyering (meyering@comco.com) * du.c (save_cwd) [!HAVE_FCHDIR]: Always initialize cwd->desc. (restore_cwd) [!HAVE_FCHDIR]: Remove unnecessary redefinition of fchdir. Both from Bruno Haible. Mon Feb 20 22:54:39 1995 Jim Meyering (meyering@comco.com) * du.c (save_cwd, restore_cwd): New functions. (main): Use them instead of open coded versions. (count_entry): Use them here instead of relying on chdir ("..") -- but only when necessary. Before, with --dereference (-L), traversing a symlink caused failure because chdir ("..") didn't work as expected. Reported by Bruno Haible. Sat Feb 11 07:52:01 1995 Jim Meyering (meyering@comco.com) * configure.in (AC_REPLACE_FUNCS): Add memcmp, memcpy, and memset. (AC_CHECK_FUNCS): Add strchr and strrchr. * lib/Makefile.in (SOURCES): Add memcmp.c, memcpy.c, and memset.c. * system.h: Remove index/rindex and bcmp/bcopy/bzero references. Separate errno declaration from STDC_HEADERS. * dd.c (copy): Use memset, not bzero. (copy_simple): Use memcpy, not bcopy. * fsusage.c (get_fs_usage, statfs): Use safe_read, and safe_stat rather than bare read and stat. From Bruno Haible. * lib/Makefile.in (DISTFILES): Add error.h. * chgrp.c, chmod.c, chown.c, cp-hash.c, cp.c, df.c, du.c, install.c, ln.c, ls.c, mv.c, mvdir.c, rm.c, touch.c: Rename SAFE_STAT and SAFE_LSTAT to safe_stat and safe_lstat. * basename.c (basename): Use strrchr, not rindex. [!STDC_HEADERS && !HAVE_STRING_H]: Define strrchr to rindex. Tue Dec 27 07:07:53 1994 Jim Meyering (meyering@comco.com) * src/*.c: Include "error.h" rather than simply declaring `void error ();'. * src/Makefile.in (OBJECTS): Depend on ../lib/error.h. * sync.c (main): Make error message accurate. * dd.c (skip): Use safe_read instead of read. (copy): Use full_write instead of write. From Bruno Haible. Sat Dec 10 00:02:09 1994 Jim Meyering (meyering@comco.com) * Makefile.in (install): Install `install' first as transformed `ginstall,' then remove the target (transformed `install') and move GNU install into its place. Before, the installation process failed on systems (e.g. HPUX) that can't overwrite the executable associated with a running process. * system.h [!HAVE_STRING_H]: Define strchr to index and strrchr to rindex instead of the other way around. * rmdir.c (remove_parents): Use strr?chr instead of r?index. * mvdir.c (main): Likewise. * dd.c (parse_conversion, scan_args): Likewise. * cp.c (copy, make_path_private): Likewise. * system.h: Include and define IS* macros. * touch.c: No longer include . * chown.c: Likewise. * install.c: Likewise. [isascii, ISDIGIT]: Remove definitions. * chgrp.c: Likewise. * dd.c: Likewise. Sun Dec 4 14:53:12 1994 Jim Meyering (meyering@comco.com) * doc/Makefile.in (DISTFILES): Add getdate.texi. Fri Nov 11 11:15:20 1994 Jim Meyering (meyering@comco.com) * mknod.c (my_strtol): New function. (main): Use it instead of atoi to convert argument strings to major and minor device numbers. Now, mknod diagnoses invalid device numbers and accepts octal and hexadecimal as well as decimal string arguments. Ralf Lammers suggested that mknod accept hex device numbers for compatibility with HPUX's mknod program. * configure.in (AC_REPLACE_FUNCS): Add strtol. * lib/Makefile.in (SOURCES): Add strtol.c. Sun Nov 06 00:18:56 1994 Jim Meyering (meyering@comco.com) * Version 3.12. Sat Nov 05 15:20:07 1994 Jim Meyering (meyering@comco.com) * group-member.c: Use up-to-date version. * group-member.h: New file. * lib/Makefile.in (DISTFILES): Add group-member.h. (group-member.o): Depend on group-member.h. * Version 3.11. * src/Makefile.in (obstack.o): Depend on obstack.h. * makepath.c (makepath) [__STDC__]: Add an ANSI-style prototype. From Kaveh Ghazi. Fri Nov 04 17:27:55 1994 Jim Meyering (meyering@comco.com) * Version 3.10. Thu Nov 03 12:59:34 1994 Jim Meyering (meyering@comco.com) * makepath.h: New file. * makepath.c: Include it. Add an argument: PRESERVE_EXISTING. Declare char* arguments const. * install.c, mkdir.c: Update callers. Set it in mkdir.c so that `mkdir -p' ignores existing directories as POSIX mandates. Before, it would try to change owner and/or permissions of such directories. Christopher S. Arthur reported the mkdir -p failure. * lib/Makefile.in (DISTFILES): Add it. (makepath.o): Depend on makepath.h. * src/Makefile.in (install.o, mkdir.o): Depend on makepath.h. * cp.c (make_path_private): Rename function from make_path to avoid confusion. (do_copy): Update caller. * ls.c: Include before system.h because limits.h on some systems undefines PATH_MAX, whereas system.h includes pathmax.h which sets PATH_MAX. From Kaveh Ghazi. * euidaccess.c: Define S_IXUSR, S_IXGRP, and S_IXOTH in terms of S_IEXEC if they're not already defined. Reported by Kaveh Ghazi and Daniel Hagerty . Tue Nov 01 06:18:20 1994 Jim Meyering (meyering@comco.com) * eaccess.c (euidaccess): Rename from eaccess to avoid conflict with like-named, different function in some C libraries. * euidaccess.c: Renamed from eaccess.c * lib/Makefile.in (SOURCES): Rename eaccess.c. Update dependency, too. * configure.in (AC_REPLACE_FUNCS): Check for euidaccess Mon Oct 31 08:02:31 1994 Jim Meyering (meyering@comco.com) * ls.c (dired_dump_obstack): Cast obstack_finish for non-ANSI compilers. Kaveh Ghazi reported the problem. Sat Oct 29 00:42:18 1994 Jim Meyering (meyering@comco.com) * fsusage.c (get_fs_usage) [STAT_STATFS4]: Define CONVERT_BLOCKS to adjust_blocks for _AIX. Was getting off-by-8x numbers. * df.c: Make --sync the default. Add new option: --no-sync. Remove short option alias for --sync. (usage): Update. * ls.c [!STDC_HEADERS]: Declare free. (dired_dump_obstack): Cast pos[i] (of type size_t) to int so it matches %d in printf. (quote_filename): Fix typo in stpcpy call. Thu Oct 27 00:02:45 1994 Jim Meyering (meyering@comco.com) * fsusage.c: Include before safe-stat.h. * cp.c (make_path): Don't change protections on existing directory. Reported by Andreas Schwab. * df.c: New option: --sync. No longer perform sync by default. Do it only when this option is used. Invoking sync can be very expensive, and it's not clear that doing so yields more up to date results. With encouragement/prodding from Paolo Zeppegno (paolo@to.sem.it), Nick Holloway, and Kaveh Ghazi. Thu Oct 20 00:52:59 1994 Jim Meyering (meyering@comco.com) * system.h [!S_IEXEC]: Define as S_IXUSR. * cp.h [S_IEXEC]: Remove definition. cp.c doesn't use it. * ls.c [!INT_MAX]: Define to 2^31 - 1 so subsequent #if test works. [S_IEXEC]: Remove definition. It's in system.h now. (usage): Sort options, but without segregating upper and lower case. * ls.c: Support for new option: --dired (-D). (dired, dired_pos, dired_obstack, subdired_obstack): Global variables. [PUTCHAR, FPUTS, FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS]: New macros (dired_dump_obstack, quote_filename): New functions. (main): Initialize obstacks. (decode_switches): Recognize -D. (print_dir): Make arguments `const.' Record directory name indices in obstack. (print_dir, print_long_format, print_type_indicator): Use macros FPUTS, FPUTS_LITERAL, PUTCHAR for output. (print_long_format): Record file name indices in obstack. (print_name_with_quoting): Just call quote_filename and output the result. Mon Oct 17 23:56:36 1994 Jim Meyering (meyering@comco.com) * savedir.c: Indent CPP conditionals. Change some #ifdefs to #ifs. From Franc,ois Pinard. Mon Oct 17 10:27:26 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu) * lib/dirname.c: Use strrchr, not rindex. Sun Oct 16 07:53:27 1994 Jim Meyering (meyering@comco.com) * system.h (S_IXUSR, S_IXGRP, S_IXOTH): Define these in terms of S_IEXEC if they're not already defined. From Kaveh Ghazi. * eaccess.c (eaccess_stat): Don't use NULL in comparison. Some systems don't define it except in stdio.h -- and including (yes, just including) stdio.h has been known to significantly increase object code size (though admittedly, that probably happens only on old systems). Kaveh Ghazi reported the problem. * src/Makfile.in lib/Makfile.in (DEFS): Remove -Dlint. It causes problems on broken pyramid system. From Kaveh Ghazi. Sat Oct 08 10:39:32 1994 Jim Meyering (meyering@comco.com) * mountlist.c: Always include if it exists. (fstype_to_string) [__NetBSD__]: Don't define this function. (read_filesystem_list) [__NetBSD__]: Use fsp's f_fstypename field, rather than fstype_to_string (f_type). With suggestions from Greg Hudson (ghudson@mit.edu). * lib/Makefile.in (OBJECTS): Remove eaccess.o. * configure.in (AC_REPLACE_FUNCS): Add `eaccess' here instead. The Hurd and Linux will have it. Fri Oct 07 20:27:48 1994 Jim Meyering (meyering@comco.com) * (doc): New subdirectory with texinfo documentation. * fileutils.texi: Thanks to Franc,ois Pinard and Karl Berry! * Makefile.in (All of them): Update from the ones in sh-utils. From now on, rules and definitions that are comon to the fileutils, textutils, and sh-utils will get ChangeLog entries only in the sh-utils. * Makefile.in (install, uninstall): Prepend ginstall->install mapping to standard $(transform) sed mapping. * chgrp.c, chmod.c, chown.c, install.c, mkdir.c, mkfifo.c, mknod.c, rm.c, rmdir.c (main): Diagnose wrong number of argument -- usually too few -- instead of just referring the user to the --help option. * mknod.c (main): Give diagnostics explaining specific problems instead of just the usage message. Reported by Karl Berry. * configure.in: Overhaul tests that determine how to get filesystem usage statistics. Now, most use AC_TRY_RUN and test for the precise feature that will be used. I know that that will make configuring a little harder for the people who cross compile, but if one of them is annoyed enough (or complains loudly enough :-) maybe someone will find the time to add tests to be used solely when cross compiling. * acconfig.h (STAT_READ): Rename to STAT_READ_FILSYS. * fsusage.c: Reorganize accordingly. Tue Oct 04 20:38:12 1994 Jim Meyering (meyering@comco.com) * chmod.c (main): Remove trailing slashes from file name arguments. Otherwise, `chmod 600 foo/; chmod 700 foo/' failed with the error `chmod: foo/: Permission denied' under Linux 1.1.51. Reported by Thomas Koenig (ig25@fg70.rz.uni-karlsruhe.de). * chown.c (main): Likewise. Thu Oct 2 23:03:32 1994 Jim Meyering (meyering@comco.com) * configure.in: Replace obsolete AC_DIR_HEADER with AC_HEADER_DIRENT and AC_FUNC_CLOSEDIR_VOID. * configure.in: Remove AC_SIZEOF_TYPE(int). ls.c: Instead of comparing SIZEOF_INT == 2, compare INT_MAX to 2^16. Suggestion from Roland McGrath. Sat Oct 01 21:23:27 1994 Jim Meyering (meyering@comco.com) * src/*.c: Remove CONFIG_BROKETS conditional. * {*/,}Makefile.in: Revamp to look much like those in sh-utils. * acconfig.h (HAVE_FTRUNCATE): Remove it. (ino_t, D_INO_IN_DIRENT): Add these. * configure.in: Convert for autoconf-2.0. * backupfile.c: Likewise. * savedir.c: Likewise. * mkdir.c, rmdir.c: Split the two functions from old mkdir.c into separate files. * chgrp.c [_POSIX_VERSION]: Test this instead of _POSIX_SOURCE. * ls.c: Don't use SIZEOF_INT because it would require configure to run a program -- then cross compilers would lose. Instead, compare INT_MAX to 64k-1 since all we need to know is whether an int is 2 bytes or larger. * rm.c [D_INO]: Use D_INO_IN_DIRENT rather than _POSIX_SOURCE in the test for how to define this macro. * system.h: Use HAVE_SYS_PARAM_H (not _POSIX_SOURCE) in test for whether to include . Likewise for . Update for DIRENT->HAVE_DIRENT_H etc. autoconf-2.0 changes. Ditto for VOID_CLOSEDIR->CLOSEDIR_VOID. * xgetcwd.c [!_POSIX_VERSION && !HAVE_GETCWD]: Remove !defined (_POSIX_VERSION) conjunct. From Kaveh Ghazi. Mon Sep 26 17:47:17 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * lib/*.c: Remove CONFIG_BROKETS conditional. * lib/Makefile.in src/Makefile.in: Don't define it. Sun Sep 25 12:20:52 1994 Jim Meyering (meyering@comco.com) * ln.c (do_link): Give a diagnostic when trying to make a hard link to a nonexistent source file. Before, running the command `ln -i no-such-file existing-file' and responding `yes' to the prompt would both remove `existing-file' and fail to make a link. Karl Berry reported the problem. Sat Sep 10 04:34:34 1994 Roland McGrath * src/rm.c (remove_dir): Pass pathname to eaccess_stat. Fri Sep 2 13:54:13 1994 Michael I Bushnell * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h): Use $(srcdir) to find source files. (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the build directory. * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and lib/safe-stat.h from the build directory. Sat Aug 27 16:33:04 1994 Jim Meyering (meyering@comco.com) * ln.c (main): Accept new option --no-dereference (-n). (do_link): If the destination command line argument is a symlink to a directory and --no-dereference is given, use that as the destination instead of the file in the directory. * ln.1: Document this. * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's. From Francois Pinard. * isdir.c, makepath.c, rename.c [STAT_MACRO_BROKEN]: Remove spurious #ifdef's. Thu Aug 25 00:12:20 1994 Jim Meyering (meyering@comco.com) * dd.c (copy): Clean up and fix off-by-one error when freeing the input buffer. Thu Aug 18 11:41:16 1994 Jim Meyering (meyering@comco.com) * du.c (du_files) [HAVE_FCHDIR]: Use open (".", ...) and fchdir instead of xgetcwd and chdir. Otherwise, running du in a subdirectory of an unreadable directory would fail because xgetcwd fails. * configure.in (AC_HAVE_FUNCS): Add fchdir. AIX-2.3 (for one) doesn't have it. * lib/Makefile.in (DISTFILES): Include getdate.c and posixtim.c so one doesn't need $(YACC). Add dependencies on safe-stat.h. Sat Jul 30 08:08:02 1994 Jim Meyering (meyering@comco.com) * du.c (main): Don't initialize automatic array CWD_ONLY in declaration. Some compilers don't allow that. * backupfile.c [DIRENT]: Remove spurious `|| defined(_POSIX_VERSION)'. * savedir.c: Ditto. * safe-xstat.c.in, safe-xstat.h.in: New files. * lib/Makefile.in: Add rules and dependencies for building safe-stat.c, safe-stat.h, safe-lstat.c, and safe-lstat.h from them. * eaccess.c (eaccess): Use SAFE_STAT instead of stat (and/or SAFE_LSTAT instead of lstat) to avoid unnecessary failure on systems for which stat (lstat) can return EINTR. * fsusage.c (statfs): Ditto. * isdir.c (isdir): Ditto. * makepath.c (make_path): Ditto. * rename.c (rename): Ditto. * chgrp.c (change_file_group): Ditto. * chmod.c (change_file_mode): Ditto. * chown.c (change_file_owner): Ditto. * cp-hash.c (remember_created): Ditto. * cp.c (main, do_copy): Ditto. * df.c (main, show_point): Ditto. * du.c (main, du_files, count_entry): Ditto. * install.c (copy_file): Ditto. * ln.c (main, do_link): Ditto. * ls.c (gobble_file): Ditto. * mv.c (is_real_dir, do_move): Ditto. * mvdir.c (main): Ditto. * rm.c (rm): Ditto. * touch.c (main, touch): Ditto. * Makefile.in (install): Tell GNU make that this target is .PHONY so it doesn't unnecessarily build ./install from install.sh. Tue Jul 26 11:33:53 1994 Jim Meyering (meyering@comco.com) * system.h: Remove `|| defined(_POSIX_VERSION)' from test that decides whether to include . From Francois Pinard. Sun Jul 03 08:44:00 1994 Jim Meyering (meyering@comco.com) * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for definition of HAVE_SYS_PARAM_H, now tested in pathmax.h. * makepath.c (make_path): Avoid spurious failure for file names that contain `/.' or `/..'. From Andreas Schwab . * dd.c (main): Handle SIGPIPE like other interrupts. From Scott L. Burson . * df.c (main, show_dev, usage): New option --print-type=fstype. From Arne Henrik Juul. * df.1: Update. Thu Jun 30 10:28:32 1994 Jim Meyering (meyering@comco.com) * ls.c (longdiff) [SIZEOF_INT == 2]: Choose which version of this macro to use based on SIZEOF_INT rather than obsolete INT_16_BITS. [INODE_DIGITS]: New macro. (print_long_format): Use it. (print_file_name_and_frills): Ditto. (length_of_file_name_and_frills): Ditto. (print_long_format): Add a couple casts to unsigned types. * ls.c: Change type name from `struct file' to `struct fileinfo'. David J. Mackenzie reported a name conflict on HPUX with the former. * dd.c (copy): Allocate an extra byte so I/O buffer begins on an even address. This because the ITOS 3000WS running SEIUX 3.1 (a descendant of MIPS RISC/OS 4.x) has SCSI device drivers that require the I/O buffer begin on an even address. From Tilman Schmidt . Mon Jun 20 23:45:34 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_PROGRAM_PATH to get values for LN, MV, RM. (AC_HAVE_FUNCS): Add getgroups. (AC_OUTPUT): Remove touch command. * eaccess.c (in_group): Remove static function. Use group_member instead. (eaccess_stat, eaccess): Change calling sequence to take filename. Save UID and GID and use access if they are the same as effective IDs. (main) [TEST]: Test driver. * cp.c (copy): Update callers. * mv.c (do_move): Ditto. * rm.c (remove_file): Ditto. * cp.c (copy): With --preserve (-p) for non-root users, don't even try to preserve file ownership in chown call. Otherwise, on systems with the mis-feature allowing non-root users to change file ownership, the subsequent chmod would fail. * userspec.c (parse_user_spec): Rewrite. Be careful to free all allocated memory upon error. (main) [TEST]: Test driver. * src/Makefile.in (uninstall): Delete $(LIBPROGS) one at a time instead of like `rm -f $(libdir)/$(LIBPROGS)'. The old way loses when LIBPROGS is empty and $(libdir) is a non-directory, and would lose if LIBPROGS could ever have more than one word. * (RM, LN, MV, INSTALL): Use values determined by ./configure instead of the newly built binaries so people can build with a cross compiler and still run `make (un)install.' * chgrp.c (change_file_group): Give a better error message when failing because the invoking user does not belong to the requested group. This affects systems on which chown sets errno to EPERM for both `inaccessible file' and `user not a member of the specified group' errors. Before, `chgrp bin file-I-own' would give the misleading and incorrect diagnostic `chgrp: file-I-own: Not owner'. Now it reports `you are not a member of group `bin''. Thomas A Peterson (tap@src.honeywell.com) reported this weakness. * long-options.c: Move from src/ to lib/. * long-options.h: Ditto. * src/Makefile.in: Remove references to long-options.[ch]. * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co]. Sat Jun 18 15:45:34 1994 Jim Meyering (meyering@comco.com) * du.c (count_entry): Print "/" instead of zero-length string. From Kjetil Torgrim Homme. Sun May 29 13:43:50 1994 Jim Meyering (meyering@comco.com) * group-member.c: New file. * lib/Makefile.in (SOURCES, OBJECTS): Add group-member.[co]. * sync.c: New file. * Makefile.in (PROGS): Add sync. (SOURCES): Add sync.c * src/Makefile.in: Add rules and dependencies for sync. * configure.in: Use AC_SET_MAKE and AC_PROG_INSTALL. If AC_FUNC_CHECK doesn't find getgroups, add -lbsd if possible. This was reported by Tilman Schmidt to be necessary on an ITOS 3000WS running SEIUX 3.1. * Makefile.in: Edit MAKE assignments into @SET_MAKE@. (Makefile): Remove dependencies on */Makefile.in. Change the rule so running config.status creates only Makefile. (stamp-config): Have config.status generate only config.h. * {lib,man,src}/Makefile.in (Makefile): Add single dependency on Makefile.in and rule to make config.status create only Makefile. * system.h: Move from lib to src. * src/Makefile.in (DISTFILES): Add system.h. * lib/Makefile.in (DISTFILES): Remove system.h. Mon Apr 18 19:54:24 1994 Jim Meyering (meyering@comco.com) * documentation: Change uses of `pathname' and `path' as per GNU standards. Fri Apr 15 20:41:15 1994 Jim Meyering (meyering@comco.com) * mv.c (main): Give a reason for failure when given fewer than two non-option arguments, rather than just the pointer to --help. * ln.c (main): Ditto, but for no non-option arguments. * configure.in: Update for autoconf-1.8. Use AC_CHECKING instead of echo. Use AC_SIZEOF_TYPE instead of obsolete AC_INT_16_BITS. Wed Apr 13 11:18:19 1994 Jim Meyering (meyering@comco.com) * cp.c (copy_reg): Correct off-by-DEV_BSIZE error in test for whether a file has holes. From Michael Bushnell . Wed Mar 30 08:53:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Use AC_SET_MAKE. * Makefile.in: Edit MAKE assignments into @SET_MAKE@. Mon Mar 14 11:01:09 1994 Jim Meyering (meyering@comco.com) * fsusage.c (adjust_blocks): Return -1 when FROMSIZE is non-positive. Suggestion from Andries.Brouwer@cwi.nl. He reported that df failed with divide by zero when trying to process an entry for an nfs file system mounted over a SLIP line after the SLIP connection had been broken. [convert_blocks]: Rename macro to CONVERT_BLOCKS. Sat Jan 29 13:24:07 1994 Jim Meyering (meyering@comco.com) * du.c (main): Call du_files (with ".") when there are no non-option arguments rather than treating that as a special case. (du_files): Ignore return value from count_entry. (count_entry): Accumulate file sizes into new global sum used for the -c option; the return value is unchanged and is still used by recursive calls. Now, using -S and -c together works. Add parentheses to clarify precedence. Fri Jan 28 11:02:21 1994 Jim Meyering (meyering@comco.com) * configure.in: Don't set LDFLAGS since linking now uses both LDFLAGS and CFLAGS. Thu Jan 13 17:27:38 1994 Jim Meyering (meyering@comco.com) * src/Makefile.in: Change all link commands to use both $(CFLAGS) and $(LDFLAGS). Mon Jan 10 01:20:38 1994 Jim Meyering (meyering@comco.com) * man/Makefile.in (manprefix): Use binprefix as the default. Thu Dec 30 23:11:10 1993 Jim Meyering (meyering@comco.com) * The following changes are necessary to avoid spurious failures when a read or write system call is interrupted (e.g. by SIGTSTP). A POSIX implementation of those system calls may either return -1 and set errno to EINTR or return a positive value indicating that a partial read or write has completed successfully. On Linux 0.99.14, interrupted read and write system calls return -1/EINTR. Thanks to Bruno Haible for pointing this out. * full-write.c, safe-read.c: New files. * cp.c (copy_reg): Use full_write instead of write. Handle errno == EINTR (instead of failing) after read system call. * dd.c (skip): Handle errno == EINTR (instead of failing) after read system call. (copy): Use safe_read instead of read. * install.c (copy_file): Use safe_read and full_write instead of read and write system calls. * mv.c (copy_reg): Ditto. * touch.c (utime_now): Ditto. Tue Dec 28 15:49:32 1993 Jim Meyering (meyering@comco.com) * install.sh: New file. Makefile.in [DISTFILES]: Add it. Sat Dec 18 01:12:24 1993 Jim Meyering (meyering@comco.com) * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg so it goes in config.status. This eliminates unnecessary second run of configure. Thu Nov 18 00:03:24 1993 Jim Meyering (meyering@comco.com) * configure.in [STAT_STATFS2_FSIZE]: Fix test (that had obsolete and now-broken use of AC_HEADER_EGREP) so that this flag is set for NetBSD 0.9. Mon Oct 25 20:27:00 1993 Jim Meyering (meyering@comco.com) * cp-aux.c, df.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, mv.c, touch.c: Use the preferred `--longopt=arg' syntax in --help message rather than `--longopt arg'. From Francois Pinard. Tue Oct 19 07:02:18 1993 Jim Meyering (meyering@comco.com) * Version 3.9. Mon Oct 18 00:13:40 1993 Jim Meyering (meyering@comco.com) * src/*.c (usage): Now the usage message is simply "Try `%s --help' for more information. From Francois Pinard. * src/Makefile.in [LIBPROGS]: Depend on ../lib/libfu.a and version.o. From Francois Pinard. * src/*.c (usage): Remove blank line before "Try `%s --help..." in usage message. Sun Oct 17 00:19:58 1993 Jim Meyering (meyering@comco.com) * fileblocks.c [!NINDIR]: Define BSIZE only if it's not already defined. * ls.c (print_long_format): Cast printf args major and minor so they'll have types matching %u format even on systems where those macros have signed type. Sat Oct 16 00:25:42 1993 Jim Meyering (meyering@comco.com) * chmod.c (change_file_mode): Reapply Oct 6 change for symlinks. Somehow it got removed from working sources. * lib/Makefile.in [OBJECTS]: Change dependency to ../config.h so it works when building in a subdirectory. From Rick Sladkey (jrs@world.std.com). Wed Oct 13 19:43:47 1993 Jim Meyering (meyering@comco.com) * cp.c (copy), ls.c (get_link_name): Complete Aug 27 change so that we use PATH_MAX + 1 rather than sizeof(char*) as size of buffer in readlink call. This was causing spurious errors. * cp.c (copy), mv.c (do_move), rm.c (remove_file, remove_dir): Cast to `unsigned int' stat->st_mode printf arguments corresponding to %o formats to avoid warnings. * lib/Makefile.in [DEFS]: Remove -DMVDIR. Add -DCONFIG_BROKETS. (rename.o): Add a specific rule. Use -DMVDIR=... here instead. * src/Makefile.in [DEFS]: Add -DCONFIG_BROKETS. (distclean): Don't delete dir.c and vdir.c; they aren't created anymore. * lib/Makefile.in: Make all .o files depend on $(srcdir)/../config.h. * src/Makefile.in: Ditto. Sun Oct 10 13:38:54 1993 Jim Meyering (meyering@comco.com) * src/Makefile.in (dist): Depend on $(DISTFILES). * src/Makefile.in [libdir, LIBPROGS]: Define them. From Francois Pinard. * posixtm.y: [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". From Francois Pinard. * makepath.c: [HAVE_CONFIG_H, CONFIG_BROKETS]: Remove the duplicate #ifdef block following the alloca #ifdefs. From Francois Pinard. * df.c: Remove unnecessary dcl of strstr. Sat Oct 9 13:30:28 1993 Jim Meyering (meyering@comco.com) * configure.in [STATFS_OSF1]: Change name to STAT_STATFS3_OSF1 to be consistent with names of the other STAT_* macros. * acconfig.h: Ditto. * fsusage.c: Ditto. * acconfig.h: Add comments. * Makefile.in: Remove comments about -D flags that could be added to DEFS; now (using autoheader) those comments end up in config.h. * Makefile.in (configure, config.h.in): Warn that they may not be up to date. Don't touch them. * ls.c (usage): Split long usage string between two fprintf statements to avoid default limit of SGI's cc on string length. * Makefile.in, src/Makefile.in [PROGS]: Alphabetize. * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS. Thu Oct 07 12:57:10 1993 Jim Meyering (meyering@comco.com) * chgrp.c, chmod.c, chown.c, cp-aux.c, cp.c, dd.c, df.c, du.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, mv.c, mvdir.c, rm.c, rmdir.c, touch.c (usage): Using --help gets long well- formatted help. Now --help writes to stdout and exits successfully. From Francois Pinard . * lib/Makefile.in [libdir]: Make sure it's defined. * posixtm.y [!__GNUC__ && !HAVE_ALLOCA_H]: Declare alloca as void* rather than char*. The latter conflicts with a dcl from bison.simple. Wed Oct 06 18:22:00 1993 Jim Meyering (meyering@comco.com) * chmod.c (change_file_mode): Add an argument to control how symbolic links are treated. (main, change_dir_mode): Reflect changed calling sequence. Now symlinks listed on the command line are processed (they were ignored before); the permissions of the dereferenced files are changed. Symlinks encountered in recursive traversals are still ignored. This makes GNU chmod act more like e.g. Sun's. From Nick Holloway . * chmod.1: Document it. Tue Oct 05 14:52:02 1993 Jim Meyering (meyering@comco.com) * configure.in: Add AC_STAT_MACROS_BROKEN. * isdir.c, makepath.c, rename.c, system.h [STAT_MACROS_BROKEN]: Test this. * install.c (install_file_in_dir): Use stpcpy instead of slow sprintf. * argmatch.c, backupfile.c, basename.c, dirname.c, eaccess.c, fileblocks.c, fsusage.c, getversion.c, idcache.c, isdir.c, makepath.c, mountlist.c, rename.c, savedir.c, stripslash.c, userspec.c, xgetcwd.c, xstrdup.c, yesno.c, [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". * lib/Makefile.in, src/Makefile.in [.c.o]: Put -I.. before -I$(srcdir) so will get the right file. * chgrp.c, chmod.c, chown.c, cp-aux.c, cp-hash.c, cp.c, dd.c, df.c, du.c, install.c, ln.c, ls.c, mkdir.c, mkfifo.c, mknod.c, mv.c, mvdir.c, rm.c, rmdir.c, touch.c, version.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include or "config.h". * configure.in [AC_CONFIG_HEADER]: Use it. * configure.in (rename.o) [MVDIR definition]: Remove it. * lib/Makefile.in [DEFS]: Put it here instead. * config.h.in, acconfig.h: New files * Makefile [DISTFILES]: Add them. (config.h.in): Add a rule to warn if it may need to be rebuilt. * lib/Makefile [YACC]: Get definition from @YACC@. * system.h: Include . This is needed for the definition of _POSIX_VERSION. Thu Sep 9 08:52:10 1993 Jim Meyering (meyering@comco.com) * src/*.c: Print version on standard output, not stderr. Fri Aug 27 23:53:50 1993 Jim Meyering (meyering@comco.com) * cp.c (copy), ls.c (get_link_name): Don't use PATH_MAX as array length in declarations because on some systems it gets defined to the function pathconf. Use dynamic allocation instead. * fsusage.c (adjust_blocks): Use `1' instead of `+1'. Many compilers don't parse the latter. From Kaveh R. Ghazi. Thu Aug 26 22:26:09 1993 Jim Meyering (meyering@comco.com) * ls.c (print_long_format, print_file_name_and_frills): Cast inode number to unsigned long and print it with %lu to avoid warnings from gcc -Wformat because the size and type of ino_t are system dependent. * cp.c (do_copy): Plug a memory leak with --parents. * ln.c (main): Like mv and cp, convert `ln x y/' to ln x y/x when a is not a directory. [PATH_BASENAME_CONCAT]: New macro. (do_link): Use it here, too. * ls.c (sort_files): Add `default: abort();' clause to switch stmts. * cp.c (do_copy): Don't remove trailing slashes from source. Wed Aug 25 21:40:00 1993 Jim Meyering (meyering@comco.com) * cp.c: Add --parents as synonym for --path. Change --path to --parents in comments. --path is deprecated. * rm.c (clear_directory): Fix incorrect test for determining when to reallocate buffer. Thanks to Ric Anderson . Fri Aug 13 17:19:52 1993 Jim Meyering (meyering@comco.com) * fsusage (adjust_blocks): Round away from zero -- this matters when computing the negative free-block count for disks that are more than 100% full. * mv.c (movefile): Use nested calls to stpcpy instead of sprintf. (is_real_dir): New function. (movefile): In addition to when dest is a directory, if dest has a trailing `/' and source is not a directory, presume the target is dest/`basename source`. This converts `mv x y/' to `mv x y/x' when x is not a directory. This change means that the command `mv any file/' will now fail rather than performing the move. * cp.c (do_copy): Similarly, convert `cp x y/' to cp x y/x when x is not a directory. Wed Aug 4 17:43:18 1993 Jim Meyering (meyering@comco.com) * ls.c (get_link_name): Don't ever use the stat field st_size as a buffer size. Too many systems don't set it properly for mount points. Instead, use a fixed-length buffer. From Michael Joosten . * cp.c (copy): Ditto. Mon Jul 19 17:39:01 1993 Jim Meyering (meyering@comco.com) * backupfile.c (concat): Temporary STR1_LENGTH should have type `int' instead of `char.' Fri Jul 16 22:00:16 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * dd.c (print_stats): Change message from "truncated blocks" to "truncated records" for final POSIX.2 spec. Fri Jun 25 17:18:15 1993 Jim Meyering (meyering@comco.com) * mkdir.c, rmdir.c: Change --path long option to --parents to avoid confusion with search-path semantics of --path as an option to other programs. --path will still work, but is no longer documented. Tue Jun 8 00:46:26 1993 Jim Meyering (meyering@comco.com) * dd.c (parse_integer): Also accept `c' multiplier for consistency with find's -size option. Thu May 27 00:03:51 1993 Jim Meyering (meyering@comco.com) * Version 3.8. * configure.in (STAT_OSF1): Reference the statfs f_fsize member so that configure defines STAT_OSF1 only if there is such a member. Without such a reference, a Pyramid MIServer running OSx 5.1 improperly defined STAT_OSF1 instead of the one it needed: STAT_STATFS2_BSIZE. Wed May 26 00:57:46 1993 Jim Meyering (meyering@comco.com) * ls.h, ls-ls.c ls-dir.c, ls-vdir.c: New files that define or simply set the new global variable ls_mode. ls_mode defines whether the executable built from ls.o should act like ls, dir, or vdir. * ls.c (decode_switches): Use the variable instead of #ifdefs. This is modelled after the approach used in GNU binutils 2.x for ar and ranlib. Here we avoid two redundant compilations. * install.c (change_attributes, copy_file, install_file_in_file): Don't call chown if we can efficiently determine that doing so is unnecessary. On some systems, calls to chown (even with your own uid and gid) fail unless made by root. On such systems install got spurious failures. Sat May 22 02:13:12 1993 Jim Meyering (meyering@comco.com) * Version 3.6. Fri May 21 18:42:27 1993 Jim Meyering (meyering@comco.com) * rename.c (rename): Be careful not to unlink `from' if it happens to be equal to `to' or (on filesystems that silently truncate filenames after 14 characters) if `from' and `to' share the significant characters. From Bruno Haible . * mountlist.c, fsusage.c: Make these work under m88k DolphinOS. From Kjetil Wiekhorst J|rgensen . Tue May 18 23:49:26 1993 Jim Meyering (meyering@comco.com) * mkinstalldirs: New file. * Makefile.in (installdirs): Use it. Sat May 15 01:20:26 1993 Jim Meyering (meyering@comco.com) * ln.c (do_link): Make `ln -s dir_pathname .' work when the pathname has a trailing slash. Fri May 14 23:45:52 1993 Jim Meyering (meyering@comco.com) * all source: With --version, print version and exit immediately. Wed May 12 20:48:55 1993 Jim Meyering (meyering@comco.com) * configure.in: Add check for the -ldgc library that is required for getmntent on m88k DGUX-5.4 systems. * Makefile.in (installdirs): New rules for creating installation directories. (install): Depend on it. Sat May 8 11:31:14 1993 Jim Meyering (meyering@comco.com) * lib/Makefile.in (dist): Use `cp -p' instead of just `cp' if linking fails. Thu May 6 22:45:25 1993 Jim Meyering (meyering@comco.com) * makepath.c: Use explicit dcl of errno only if !STDC_HEADERS. Some systems have but don't declare errno. From Kaveh R. Ghazi . * getdate.y: Test TIME_WITH_SYS_TIME, not TIME_AND_SYS_TIME. Wed May 5 00:21:12 1993 Jim Meyering (meyering@comco.com) * configure.in: Add AC_TIME_WITH_SYS_TIME. * getdate.y: Use it (this is a version local to fileutils). Tue May 4 20:25:41 1993 Jim Meyering (meyering@comco.com) * du.c (count_entry): Give an error and exit if chdir ("..") fails. From Bruce Evans . * eaccess (eaccess_stat): Cast NGROUPS_MAX to appropriate types. From Bruce Evans . Mon May 3 22:09:24 1993 Jim Meyering (meyering@comco.com) * configure.in: Add AC_GETGROUPS_T. * eaccess.c: Don't define GETGROUPS_T. Now configure does it. Sun May 2 09:18:53 1993 Jim Meyering (meyering@comco.com) * configure.in: Check for libypsec.a on Dolphin M88K machines. This can result in significant speedup for programs that access YP information. From Kjetil Wiekhorst J{\o}rgensen . Fri Apr 30 02:21:48 1993 Jim Meyering (meyering@comco.com) * ls.c (main): Make `-f' work like on standard Unix ls, instead of as a short equivalent of --full-time. * ls.1: Document it. Thu Apr 29 00:46:46 1993 Jim Meyering (meyering@comco.com) * src/Makefile.in [dir.o, vdir.o]: Make ordering of CFLAGS etc in compilation rules consistent with that in .c.o rule. * Makefile.in (dist): Depend on Makefile so that changes to Makefile.in (like adding new files to DISTRIB) are reflected in the new distribution. Tue Apr 27 21:35:11 1993 Jim Meyering (meyering@comco.com) * configure.in: Remove unnecessary AC_PROG_INSTALL. Fri Apr 23 23:39:16 1993 Jim Meyering (meyering@comco.com) * {lib,src}/Makefile.in [.c.o]: Make CPPFLAGS and CFLAGS follow other options so users can use them to override DEFS. * lib/mktime.c: Use new version from glibc instead of one from libc-subst. `touch' built with the latter didn't set proper time unless given a specific --date option. Thu Apr 22 00:22:25 1993 Jim Meyering (meyering@comco.com) * makepath.c: Decouple inclusion of errno.h from definition of STDC_HEADERS; many systems have errno.h, yet shouldn't define STDC_HEADERS. * makepath.c (make_path): Add EPERM clause only if both AFS and EPERM are defined. * configure.in: Test for errno.h header file. Mon Apr 19 11:21:14 1993 Jim Meyering (meyering@comco.com) * Version 3.5. * ls.c, touch.c: Don't include time.h explicitly -- it's included by system.h. From Franc,ois Pinard. * posixtm.y: Use TM_IN_SYS_TIME. * backupfile.c [index, rindex]: Don't redefine them. * system.h [alloca]: Don't redefine it. * configure.in: Check for sys/time.h; getdate.y needs it for structs timeval and timezone on some systems. Sun Apr 18 22:40:19 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * ls.c: Include fnmatch.h after system.h, so we get our definitions of FNM_*, not those from unistd.h. * mountlist.c [MOUNTED_GETMNTINFO]: Add #ifdef around MOUNT_PC. * configure.in: Fix test for 4.4BSD statfs to not grep for a macro in cpp output. Sun Apr 18 02:35:36 1993 Jim Meyering (meyering@comco.com) * configure.in: Check for gettimeofday. Check for `struct tm'. Change MVDIR definition so it works with new AC_DEFINE. * system.h: Remove last vestiges of USG; instead, use specific test for TM_IN_SYS_TIME to determine whether to include time.h or sys/time.h. * src/Makefile.in (install): Rewrite the test for whether to install mvdir so that it doesn't cause gratuitous failures with broken shells. Split long rule so the pieces fit in 80-column lines. Thu Apr 15 23:44:01 1993 Jim Meyering (meyering@comco.com) * lib/Makefile.in (posixtm.c): Add dependency on getdate.c to enforce sequential invocations of YACC. * (posixtm.c, getdate.c): Remove use of `bison -o' and associated conditional rename commands -- not needed since the parser generators won't be run in parallel; now bison (when used) is always invoked with -y. Tue Apr 13 09:18:18 1993 Jim Meyering (meyering@comco.com) * configure.in: Find a parser generator. * Makefile.in [MDEFINES]: Add YACC to the list of variables passed to sub-makes. * lib/Makefile.in (posixtm.c, getdate.c): Try first to build with `bison -o' -- for parallel makes. If that fails, use $(YACC). * posixtm.y [HAVE_MEMCPY && !HAVE_BCOPY]: Define bcopy in terms of memcpy for old versions of bison that generate parsers that use bcopy. * configure.in: Add tests for memcpy and bcopy. Mon Apr 12 23:02:14 1993 Jim Meyering (meyering@comco.com) * configure.in (mounted, space): Add filesystem checks for DEC Alpha running OSF/1 to complement new code in mountlist.c and fsusage.c. * lib/mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]: Add code to do it the OSF/1 way on a DEC alpha. From Brian Fox (bfox@tinker.crseo.ucsb.edu). * lib/fsusage.c (get_fs_usage) [STATFS_OSF1]: Add code to call OSF/1's variant of statfs. From Brian Fox (bfox@tinker.crseo.ucsb.edu). Sun Apr 11 20:29:31 1993 Jim Meyering (meyering@comco.com) * df.c (main, show_dev): Don't list dummy (automounter) filesystems unless they're explicitly listed on the command line or if the -a option is given. Fri Apr 9 11:40:48 1993 Jim Meyering (meyering@comco.com) * src/Makefile.in [.c.o]: Put CFLAGS after include directives. Wed Apr 7 23:54:48 1993 Jim Meyering (meyering@comco.com) * eaccess.c: Undefine NGROUPS_MAX before redefining it. From ghazi@caip.rutgers.edu (Kaveh R. Ghazi). Mon Apr 5 20:14:17 1993 Jim Meyering (meyering@comco.com) * chgrp.c, chmod.c, chown.c, install.c, ls.c, mkfifo.c, mknod.c, touch.c: Add `case 0: break;' for long-only options help and version. Sun Apr 4 09:38:00 1993 Jim Meyering (meyering@comco.com) * src/*.c (usage): Mention --help and --version. (main): Handle flag_help and flag_version before checking for invocation errors. * cp.c (copy): Declare to be static. * cp.c (copy, make_path, re_protect): Explicitly cast alloca return value to (char *). * ln.c (do_link): Ditto * mv.c (do_move): Ditto * makepath.c (make_path): Ditto * lib/eaccess.c (eaccess_stat): Cast to unsigned the value to be right-shifted to avoid ANSI vs K&R semantic ambiguity. * src/Makefile.in (incl): New variable. * chown.c (main): Explicitly cast -1 to [ug]id_t to avoid compiler warnings. * cp.h: Remove unneeded extern dcl of exit_status. * basename.c [rindex]: Don't redefine it. * system.h [rindex, incl, bcopy, bzero]: Ditto. * userspec.c [index]: Ditto. * Makefile.in [CFLAGS, LDFLAGS]: Don't hard-code these; get their definitions from configure. * configure.in [CFLAGS, LDFLAGS]: Assign reasonable defaults. Sat Apr 3 18:17:23 1993 Jim Meyering (meyering@comco.com) * Makefile.in [Makefile]: Add dependencies and a rule to remake it. [targets that cd then run make in subdirectories]: Don't depend on `cd ..'; use a subshell instead. [info, install-info, dvi, check, installcheck]: New targets but no rules; comply with standards. * src/Makefile.in [.c.o, dir.o, vdir.o]: Put CFLAGS after DEFS and CPPFLAGS per standards.texi. Use automatically generated dependencies. * mvdir.c (main): Remove dcl of unused variable. Thu Apr 1 18:05:48 1993 Jim Meyering (meyering@comco.com) * install.c, chgrp.c, dd.c [isascii]: Undefine before redefining. * ls.c: Move some dcls so they appear before first function. * all programs: Add --help and --version options. * version.c: Remove `Version: ' and newlines from version string. * dd.c: Convert usage to take no arguments. * lib/Makefile.in [DISTFILES]: Add version.h. Wed Mar 31 22:03:28 1993 Jim Meyering (meyering@comco.com) * configure.in [MVDIR]: Don't quote right hand side. * backupfile.c, chgrp.c, install.c: Define isascii macro to be 1 also if STDC_HEADERS. Tue Mar 30 17:42:11 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) * ls.c: Add -G,--no-group option to inhibit display of group information. * ls.1: Document it. Mon Mar 29 22:22:40 1993 Jim Meyering (meyering@comco.com) * system.h [ST_NBLOCKS]: Check also for __hpux. From Henrik B}kman . Sun Mar 28 21:22:30 1993 Jim Meyering (meyering@comco.com) * Makefile.in (dist): Use cp when hard link fails. Use tar-1.11.2's -z option instead of -Z. * makepath.c [index]: Don't redefine. Fri Mar 26 00:32:39 1993 Jim Meyering (meyering@comco.com) * df.c (add_excluded_fs_type, excluded_fs_type): New functions adding support for --exclude-type option. Derived from Kaveh R. Ghazi . * ls.c (decode_switches, print_long_format): New option: --full-time. From K. Richard Pixley (rich@rtl.cygnus.com) Thu Mar 25 21:02:36 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * dirname.c [rindex]: Don't redefine. Tue Mar 23 23:13:33 1993 Jim Meyering (meyering@comco.com) * ls.c (gobble_file): Don't stat symlinks unless we need to. From Mike Rendell . * dd.c (copy, copy_with_block, copy_with_block): Decrement pending_spaces only if it's > 0. The following command didn't terminate: perl -e 'print "a a\n";'| dd of=/dev/null ibs=1 cbs=3 conv=unblock With suggestions from Chris Weber , Marlys.A.Nelson@uwrf.edu, and Albert-Lunde@nwu.edu. Fri Mar 05 00:02:53 1993 Jim Meyering (meyering@comco.com) * chmod.c: Add long-named options. Mon Feb 15 23:34:55 1993 Jim Meyering (meyering@comco.com) * rm.c (remove_file): Don't ask about overriding a mode if the target is a symbolic link -- some systems (like SGI's Irix 4.0) zero the permissions fields of symbolic links. From Arne Henrik Juul (arnej@imf.unit.no). Fri Dec 11 16:46:50 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * rm.c (main): If -f is given, don't complain if no file args are given. Tue Dec 8 21:09:16 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * posixtm.y: Include alloca.h if HAVE_ALLOCA_H, not if sparc. Mon Dec 7 20:09:59 1992 Jim Meyering (meyering@idefix.comco.com) * install.c (isnumber), chgrp.c (change_file_group): Define ISDIGIT and use it instead of isdigit. * dd.c: Define ISLOWER and ISUPPER independent of STDC_HEADERS. Define ISDIGIT and use it instead of isdigit. Wed Dec 2 12:28:10 1992 Jim Meyering (meyering@idefix.comco.com) * all files using getopt.h: Convert static declarations of struct option to use new macros from getopt.h: no_argument, required_argument, and optional_argument. Tue Nov 24 07:54:45 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * system.h: Use HAVE_FCNTL_H instead of USG. * xgetcwd.c: Use HAVE_GETCWD instead of USG. * backupfile.c, basename.c, dirname.c, idcache.c, makepath.c, mountlist.c, stripslash.c, userspec.c, xstrdup.c, system.h: Use HAVE_STRING_H instead of USG. * system.h: Use SYSDIR and NDIR instead of USG. Define direct as dirent, not vice-versa. * ls.c, rm.c, backupfile.c, savedir.c: Use `struct dirent', not `struct direct'. Thu Nov 12 23:10:56 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * system.h: If dirent is #defined, don't define direct as dirent; for Sinix. Derived from Heinfried Korn (korn@med-in.uni-sb.de). Mon Nov 9 14:13:57 1992 Jim Meyering (meyering@idefix.comco.com) * fsusage.c (adjust_blocks): Reverse Oct 31 change -- the function is more readable than the macro. * All files in src: Make all functions and extern variables static. Make all longopts arrays const as well as static. Make a couple statically initialized aggregates `const.' Sat Oct 31 16:32:17 1992 Jim Meyering (meyering@idefix.comco.com) * fsusage.c (adjust_blocks): Convert to a macro. The static function wasn't always used. * makepath.c, cp.c, ls.c: Add parentheses to expressions like (c = *p++) as per suggestion from gcc -Wall. * dd.c (swab_buffer): Fix typo that incremented pointer instead of counter. Add braces around static struct initializers. Fri Oct 30 11:40:58 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * ln.c, cp.c (main): Make -s on systems without symlinks an error, not a warning. Thu Oct 29 14:57:21 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * Version 3.4. * cp.c (copy, re_protect), mv.c (copy_reg): Do utime and chown before chmod, so set[ug]id bits don't get nuked. Don't use fchmod. Wed Oct 28 16:13:18 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu) * cp.c, mv.c, ln.c: Rename some variables to use consistent terminology: source and destination. * ln.c, mkdir.c, mkfifo.c, mknod.c: Don't strip trailing slashes. * install.c: Don't strip slashes from dest. dirs. Mon Aug 24 12:49:14 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * xgetcwd.c: Make path_max unsigned, not long. From Bruce Evans. Sun Aug 23 03:06:04 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * idcache.c: Use a union for uid_t and gid_t. From bde@runx.oz.au (Bruce Evans). * eaccess.c: Use NGROUPS_MAX if it's defined. 386BSD is like sun. Sat Aug 22 02:36:49 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * makepath.c: Use uid_t and gid_t. * system.h, makepath.c: Use HAVE_ALLOCA_H, not sparc. * cp.c (make_path, re_protect): Allocate room for terminating NULs. Fri Aug 21 21:12:18 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * fsusage.c [STAT_STATVFS]: Use f_bsize if f_frsize is 0. From Paul M Reilly . * xgetcwd.c [!errno]: Declare errno. From Karl Berry. * chown.c (main, change_file_owner, change_dir_owner): Use uid_t and gid_t. From Rob McMahon and glaze@cs.mu.oz.au (Glaze). Thu Jul 23 14:29:17 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * Version 3.3. Sat Jul 18 20:12:56 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * idcache.c: Use uid_t and gid_t. (getuidbyname, getgidbyname): New functions, for cpio. * userspec.c: New file, from code in chown.c. * chown.c: Use it. Fri Jul 17 00:43:38 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * system.h: Protect from getopt prototype in stdlib.h. * ls.c [_AIX]: Include sys/ioctl.h. * fsusage.c: Include sys/vfs.h if AIX PS/2, but not if RS6000. From tranle@intellicorp.com (Minh Tran-Le). * mvdir.c: Declare getcwd. From Francois Pinard. * chown.c, chgrp.c, install.c [_POSIX_SOURCE]: Define endpwent and endgrent as empty. * makepath.c (make_path): Add cast to alloca call. From Jim Meyering. * cp.c (copy, re_protect), mv.c (copy_reg): Notify root of EPERM errors from chown. * makepath.c, install.c [AFS]: Ignore EPERM from chown. * system.h (ST_NBLOCKS) [_AIX && _I386]: st_blocks is in 4K units. * fsusage.c (statfs) [_AIX && _I386]: Supply this function. From tranle@intellicorp.com (Minh Tran-Le). Thu Jul 16 23:08:39 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * df.c (print_header, show_dev): In inode format, print the total number of inodes as well. * fsusage.[ch], df.c (show_dev): Count internally using 512-byte blocks, not 1024-byte, to avoid rounding errors. Mon Jul 6 20:03:54 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * rename.c: Use S_ISDIR instead of S_IFDIR. Fri Jul 3 14:36:34 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * fileblocks.c, system.h, cp.c, dd.c, mv.c, touch.c: Change FOO_MISSING to HAVE_FOO. Wed Jun 3 19:28:04 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * xgetcwd.c (xgetcwd): Accept errno==EINVAL as nonfatal. Wed May 20 00:05:52 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * system.h: If we include a header file specifically to get major et al., assume we have them. Mon May 11 20:04:10 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * chgrp.c, chown.c: --show-changes -> --changes. Sat May 9 18:39:38 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * system.h: Define DEV_BSIZE if not defined. Thu Apr 30 13:55:37 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * du.c (count_entry): Remove the trailing "/" before printing. Wed Apr 29 11:34:38 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * rename.c (rename): If removing `from' fails, remove `to' to clean up. From Matthew Farwell . Thu Apr 23 21:14:16 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * ls.c (gobble_file): Only read the link contents if -l or the file was named on the command line. Wed Apr 22 02:16:38 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu) * fsusage.c (get_fs_usage) [STAT_STATFS4 and _SEQUENT_]: Has f_bavail. From Donn Cave . * getversion.c (get_version): If given invalid arg, exit. * cp.c (copy): Fix mode with chmod if copying as a regular file. * system.h, dd.c: SIGTYPE -> RETSIGTYPE. Sat Apr 18 00:18:41 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * fsusage.[ch] (get_fs_usage): Take another arg, the device name. * fsusage.c (get_fs_usage) [STAT_READ]: Fix number of inodes calculation. Use the device name. From Brian Matthews. * df.c (show_dev): Pass the device name. Fri Apr 17 11:25:28 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * fsusage.c: Special-case AIX. * mountlist.c [MOUNTED_VMOUNT]: New code for AIX, from Garrett A. Wollman (wollman@uvm.edu). * ls.c (gobble_file): Use stat, not lstat, on symlinked-to file, for Unix compat. From ian@airs.com (Ian Lance Taylor). Mon Apr 6 14:16:06 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * xgetcwd.c: Include stdio.h to get NULL. Thu Apr 2 14:41:18 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * df.c: Call sync only once, instead of once per filesystem. Wed Apr 1 16:00:08 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * Version 3.2. Tue Mar 31 13:39:06 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * df.c (main): stat all arg pathnames before getting list of mounted filesystems. (show_entry, show_point): Take a struct stat * as another arg, to avoid repeatedly statting files. Mon Mar 30 12:21:28 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * install.c (main): Allow symbolic modes for -m. (atoo): Function removed. * mkdir.c (main): Include invalid -m arg in error message. * fsusage.c (get_fs_usage) [STAT_STATFS4]: Go back to using 512 instead of f_bsize. Empirically, it gives the right answer. * mvdir.c (main): Don't deref NULL pointer on last iteration of loop. * fsusage.c (adjust_blocks): New function. (get_fs_usage): Call it. * mvdir.c (main): Don't possibly try to use ".." entry of new dir before creating it. * fsusage.c (get_fs_usage) [STAT_STATFS4]: Use f_bsize member of struct statfs. Sat Mar 28 00:36:57 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * dd.c (copy_simple, copy_with_block, copy_with_unblock, translate_buffer, swab_buffer): New functions, mostly made from code taken from copy. Incorporate some optimizations due to Stuart Kemp: For each type of conversion, only check whether to do it once per buffer read, instead of once per character. (copy): If conv=block and the input didn't end with a newline, pad the final block with spaces. Wed Mar 25 14:35:17 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * system.h: Don't use BSIZE for calculating ST_BLKSIZE if it isn't defined. * mountlist.c [MOUNTED_FREAD], fsusage.c [STAT_READ]: New code for SVR2, from archive@ideahb.sublink.org (Lele Gaifax). Tue Mar 24 14:53:19 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * mvdir.c: Use getcwd, not getwd. * system.h, xgetcwd.c: Redo how PATH_MAX is figured out, to work on SVR3. * fsusage.c, mountlist.c: New files split from fsinfo.c. Revise conditionals to make the two files independent of each other. * fsusage.h, mountlist.h: New files split from fsinfo.h. * df.c: Use them. Mon Mar 23 13:01:07 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * fsinfo.c (read_filesystem_list): Take another arg, all_fs. [FS_MNTENT]: Ignore type "auto" (from amd) as well as "ignore" (from automounter), if not all_fs. * df.c (main): Pass the new arg. * fsinfo.h: Add function decls. * chown.c, chgrp.c, chmod.c: Remove -L option. Didn't handle changing symlinks correctly and wasn't very useful. Sat Mar 14 17:38:38 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * dirname.c (dirname): Don't use strdup. Fri Mar 13 14:56:15 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) * rm.c (remove_file, remove_dir, clear_directory): If -f was given, don't complain about ENOENT when removing. Mon Mar 9 00:09:48 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * install.c (main): Allow making multiple dirs with -d. (usage): Document it. * makepath.c (make_path): Clear umask while working and restore it when done. chmod dirs that should have set[ug]id or sticky bits set, if we're chowning them. Make chown failure nonfatal. Do chmod after chown, not before. * du.c (count_entry): Set exit_status on nonfatal error. (main): Use it. Sun Mar 8 22:07:50 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) * du.c (du_files): New function, from code in main. Use xgetcwd instead of getcwd or getwd. * system.h: Don't declare getcwd or getwd. * xgetcwd.c: New file. * ls.c (main): Exit with `exit_status' instead of 0. (print_dir, gobble_file, get_link_name): Set exit_status on error. * ls.c (print_long_format): Allow a slop factor for deciding what is in the future. * All programs: Change usage messages and documentation for long options to use -- instead of +. * df.c (main, usage): Add -v option for SysV compat. Tue Feb 4 12:45:09 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * fileblocks.c [!NINDIR]: Try to fake indirect block info for systems that don't define it. Thu Jan 16 01:04:16 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * df.c (print_header): Capitalize some header words for POSIX.2a draft 8. Sat Jan 4 01:19:25 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * posixtm.y: Capitalize token name. Tue Dec 24 01:05:44 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * system.h, makepath.c, idcache.c, eaccess.c, backupfile.c, install.c, dd.c, chown.c, chgrp.c: Change POSIX ifdefs to HAVE_UNISTD_H. Wed Dec 18 16:42:00 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * system.h: To get major, minor and makedev, don't check for _POSIX_SOURCE and USG; use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS. Mon Dec 16 18:16:42 1991 David J. MacKenzie (djm at wombat.gnu.ai.mit.edu) * dd.c (skip): Fix typos in arg name. (output_char): Fix off by one error in check. Sun Dec 8 19:55:06 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * system.h: Only define major et al. if not already defined. Fri Dec 6 18:26:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * dd.c (main) [POSIX]: Use sigaction instead of signal, which POSIX doesn't have. * df.c, du.c, ls.c: POSIX_ME_HARDER -> POSIXLY_CORRECT. Wed Dec 4 14:30:16 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * dd.c: Cleanups, mostly from Stuart Kemp: (output_char): New macro, from code in copy. (write_output): New function, used by output_char, from code in copy. (skip): New function, from code in copy. (copy): Use output_char and skip. Simplify test for quitting before main loop. Zero buffer using bzero for speed. Sun Nov 17 19:39:04 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * fsinfo.c (get_fs_usage) [FS_MNTENT]: Take blocksize into account. (read_filesystem_list) [FS_MNTENT]: Ignore filesystems of type "ignore" (automounter dummy entries). * install.c (change_attributes): Do chmod even if chown fails. Thu Oct 24 23:50:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * chown.c (change_file_owner), chgrp.c (change_file_group): don't skip symlinks, since the chown system call works on them. Fri 18 Oct 1991 23:29:24 Jim Meyering (meyering at wombat) * configure: fixed test to detect sequent's strange interpretation of utime(file, NULL). Fri Oct 18 00:30:42 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * eaccess.c: GID_T -> GETGROUPS_T, for clarity. Sat Oct 12 12:25:55 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * configure: Define uid_t and gid_t as int if they're not defined in sys/types.h. That's probably right for old Unixes and avoids trying to find the C preprocessor. * df.c: Don't declare sync, to avoid conflict with Minix (and maybe others) unistd.h. (show_point): Cast -1 to dev_t before comparing, in case dev_t is unsigned. From Rainer Orth. * chown.c [!POSIX]: Declare getgrgid. Fri Sep 13 14:55:41 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * eaccess.c [POSIX]: Always use sysconf to get NGROUPS_MAX. Thu Sep 5 23:40:39 1991 David J. MacKenzie (djm at apple-gunkies) * system.h: Instead of defining getwd in terms of getcwd with PATH_MAX as an arg (which might be -1 on POSIX), define getcwd in terms of getwd. * du.c (main): Call getcwd with path_max as an arg. * install.c (change_attributes): Do chown before chmod, so chown doesn't remove set[ug]id bits. Wed Aug 28 20:53:50 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 3.1. Mon Aug 26 15:44:16 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu) * du.c (main): If pathconf fails, use 1024 for PATH_MAX. This happens if "/" is NFS-mounted. Sun Aug 25 00:56:11 1991 David J. MacKenzie (djm at apple-gunkies) * df.c, fsinfo.c, fsinfo.h: New program. * configure: Check for various ways of getting info on mounted filesystems. Thu Aug 22 10:53:23 1991 David J. MacKenzie (djm at apple-gunkies) * src/Makefile.in: Workaround #10006 for C compilers that are too dumb to allow -c and -o together. Copy the source files. * system.h: Moved from src to lib to avoid having to add yet more -I options to CFLAGS. * du.c, ls.c: If POSIX_ME_HARDER is set in environment, use 512-byte blocks by default. Wed Aug 21 13:03:14 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Version 3.0. * du.c, ls.c: Make 1K blocks the default size, and -k a no-op. Down with dumb standards! * system.h, backupfile.c, savedir.c [VOID_CLOSEDIR]: Fake a return value for closedir, which returns void on some systems, like Sequents. * configure: Check sys/dir.h for 'void closedir'. Tue Aug 20 22:22:47 1991 Jim Meyering (meyering at nutrimat) * mvdir.c (main): Clean up loop to stat component directories -- as in makepath and pathchk. Tue Aug 20 22:10:47 1991 Jim Meyering (meyering at nutrimat) * dirname.c (dirname): Allocate exact amount of space needed for result. Tue Aug 20 02:13:40 1991 David J. MacKenzie (djm at apple-gunkies) * savedir.c (savedir): Try to open directory before allocating buffer. From Jim Meyering. Mon Aug 19 01:14:13 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Many files: indent '#pragma alloca' so non-ANSI compilers don't choke on it. * backupfile.c (max_backup_version): Check closedir return value (though it might not do any good). Tue Aug 6 20:50:56 1991 David J. MacKenzie (djm at wheat-chex) * configure, Makefile.in's: Support +srcdir option, using VPATH. Don't check for bison, just try it and if it fails use yacc. Create config.status. Fix up clean targets. * posixtm.y (posixtm): New function. Most of the following is from Paul Eggert: * savedir.c (savedir), ls.c (print_dir), rm.c (clear_directory): Check closedir return for errors. * dd.c (main): Check for stdin or stdout being closed. * dd.c (quit), install.c (copy_file): Check for close errors. * mv.c (copy): Was missing a close. Sat Aug 3 02:05:51 1991 David J. MacKenzie (djm at apple-gunkies) * ln.c: Declare link() unconditionally (SCO UNIX needs it). Tue Jul 30 00:23:19 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * configure: NEED_TZSET has become FTIME_MISSING. * configure: Define uid_t and gid_t if sys/types.h doesn't. Sat Jul 27 00:55:16 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * configure: Only compile fileblocks.c if st_blocks is missing. * cp.c (copy): Make directories with initial mode of source permissions minus umask, plus 0700. For POSIX and John Gilmore. * system.h: Include errno.h and, if STDC_HEADERS, stdlib.h. * All programs: Remove includes of those files. * ftruncate.c: New file. * configure: Use it if needed. Wed Jul 24 02:09:45 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * ls.c (get_name_link), cp.c (copy) [_AIX]: Allocate extra space for the buffer, since st_size is wrong. * system.h: Don't declare alloca for AIX. * makepath.c, posixtm.y, cp.c, du.c, ln.c, ls.c, mv.c: Declare alloca first (AIX needs it). * cp.c, dd.c, touch.c: Use SEEK_ instead of L_. * system.h: Define SEEK_ if not defined. Tue Jul 23 15:02:20 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * eaccess.c: GID_T is int if ultrix as well as if sun. Mon Jul 22 11:39:31 1991 David J. MacKenzie (djm at bleen) * install.c: Use uid_t and gid_t. * eaccess.c: Support POSIX method of getting multiple groups. Sat Jul 20 14:24:40 1991 David J. MacKenzie (djm at bleen) * Move cat cmp cut expand head paste split tac tail unexpand to textutils. * system.h [MKFIFO_MISSING]: Define mkfifo macro. * cp.c, mkfifo.c: Don't define it. * mknod.c, gmknod.1: New files. Fri Jul 19 13:43:01 1991 David J. MacKenzie (djm at apple-gunkies) * version.c: New file. * All C programs: Link with it, to get version number in the binary where at least `strings -' and GNU grep can find it. Mon Jul 15 13:46:53 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * configure: Also look in sys/signal.h for signal decl. Sun Jul 14 22:43:57 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Rename touchtm.y back to posixtm.y, as the date command will use it too. Mon Jul 8 22:56:36 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu) * Replace lib/Makefile with lib/Makefile.in. * configure: For some library functions that might be missing, conditionally add the .o files to lib/Makefile instead of defining func_MISSING. * lib/mkdir.c: Renamed from lib/mkrmdir.c. Sat Jul 6 02:19:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * xstrdup.c [STDC_HEADERS]: Include string.h. * stripslash.h: Include string header file. * configure: Add to DEFS if Minix. * system.h [_POSIX_SOURCE]: Make ST_BLKSIZE 1024 instead of 512, for better performance. * system.h, configure: If sys/mkdev.h exists, use it instead of sys/sysmacros.h. * configure: echo messages to stdout, not stderr. Use test programs to see if alloca needs -lPW and if chars are unsigned. Tue Jul 2 03:16:32 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * chown.c, chgrp.c [!POSIX]: Declare pwd.h and grp.h functions. Sat Jun 29 16:46:12 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * cp.h: Don't declare `open', to avoid conflict with varargs prototypes. * chown.c, chgrp.c: Include sys/types.h before, not after, pwd.h and grp.h, to get uid_t and gid_t if necessary. Fri Jun 28 01:12:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * ls.c: Use time_t instead of long, where appropriate. Thu Jun 27 16:31:45 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * touchtm.y: Renamed from posixtime.y for SysV systems with Bison. * configure: No longer need to pass bison the -y option. Now lib/Makefile should allow a parallel make with bison. * cp.c (copy_reg), cat.c (main), touch.c (touch, utime_now), mv.c (copy): Check close return value for delayed error report due to NFS. Thu Jun 20 01:33:06 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * configure: Include $DEFS when compiling test programs. * configure: Use test programs instead of grep to check for USG, POSIX, and ANSI C headers, in case symbols are defined in header files included by the standard ones. Check for BSD memory functions (bcopy et al.) as well as string functions. Add notice to top of generated Makefile saying that it's automatically generated. Thu Jun 13 00:50:18 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * Version 2.1. * configure: If rename is missing, define MVDIR. Use , instead of / as sed substitution separator so variables' values can contain slashes. * du.c (main): Use alloca to allocate `wd' instead of making it an auto array, since PATH_MAX might be a call to pathconf. Wed Jun 12 19:56:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * cp-aux.c (usage), install.c (usage), ln.c (usage), mv.c (usage): Combine the option lists for the multiple usage forms. Tue Jun 11 00:12:15 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * idcache.c: pwd.h and grp.h might need sys/types.h. * configure: Create Makefile from Makefile.in instead of makefile from makefile.skel, to more closely follow the new GNU coding standards. * ls.c (file_interesting): Use POSIX.2 fnmatch instead of glob_match. * configure: If $RANDOM is implemented (ksh, bash or zsh), use the `type' builtin to determine if gcc, bison, ranlib are available. ksh writes "fubar: command not found" to stderr, foiling the test -n "`command 2>&1`" method. Remove makefile on signal. * system.h: Include sys/param.h if not _POSIX_SOURCE instead of if not POSIX, to get DEV_BSIZE. * makepath.c, posixtime.y, system.h: Add _AIX case to alloca decl. Sun Jun 9 01:26:27 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * Version 2.0. * basename.c, dirname.c: Use str[r]chr and string.h if STDC_HEADERS as well as if USG. * touch.c (utime_now): Created from code in touch (). Sat Jun 8 11:02:32 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * backupfile.c: Use POSIX instead of _POSIX_SOURCE to determine whether to check whether readdir returned a valid entry. Fri Jun 7 21:44:51 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * fileblocks.c (st_blocks), system.h (ST_NBLOCKS): Always return number of 512 byte blocks, not DEV_BSIZE blocks. (convert_blocks): Always expect 512-byte blocks. Thu Jun 6 12:54:26 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * system.h [POSIX]: If PATH_MAX not defined, use pathconf. Remove NAME_MAX stuff; not used. * system.h: Make #include depend on not (USG or STDC_HEADERS) instead of not (USG or POSIX). * configure: New shell script to aid compilation. Mon Jun 3 16:42:41 1991 David J. MacKenzie (djm at wheat-chex) * cp.h: Remove some decls of functions returning int that conflict with prototypes on HPUX. * cp.c (make_path, re_protect): New functions from Jim Meyering. Changes to other functions as well, to add +path, +link, +symbolic-link options. Sun Jun 2 15:45:24 1991 David J. MacKenzie (djm at wheat-chex) * most files: use GPL version 2. Sat Jun 1 20:17:35 1991 David J. MacKenzie (djm at wheat-chex) * rm.c, backupfile.c: If _POSIX_SOURCE, don't refer to d_ino. Sun May 19 18:42:09 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * touch.c: Renamed getdate to get_date to avoid SVR4 conflict. Thu May 16 23:12:01 1991 David J. MacKenzie (djm at albert.gnu.ai.mit.edu) * cp.c, mv.c, ln.c: Use alloca and strcpy directly instead of in a macro for generating backup filename. The latter sometimes coredumps for some reason. Sat Apr 20 00:03:09 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu) * dd.c: Add conv=notrunc and truncate output file by default, for POSIX. * rm.c (rm): Refuse to remove path/. and path/.., as well as `.' and `..', for POSIX. * chown.c: Allow `:' as well as `.' to separate group from user, for POSIX.2 draft 11. * Many programs: Don't bother to get the long-option index value from getopt_long, since we ignore it. * Many programs: Separate long-option option names from their args with `=' instead of ` ' in usage messages. * touch.c (touch): Don't refuse to touch non-regular files. Wed Apr 10 12:19:30 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu) * cp.c, cp-aux.c: Add -a +archive option, an easier to remember synonym for -dpR. Fri Mar 15 16:16:54 1991 David J. MacKenzie (djm at geech.ai.mit.edu) * mv.c (copy): Try to preserve file ownership in cross-filesystem copies. * backupfile.c, rm.c: Go back to using d_ino instead of d_fileno. POSIX.1 specifies neither, and d_ino is more common, perhaps ubiquitous. * chown.c (describe_change): Don't print the group name if it didn't change (thus is a null pointer). (main): Initialize group name to null. Mon Feb 25 11:44:14 1991 David J. MacKenzie (djm at geech.ai.mit.edu) * dd.c (copy): Only seek if not seeking to start of file, so "dd >> foo" works with Minix shell that doesn't open foo in append mode. Thu Feb 21 11:59:39 1991 David J. MacKenzie (djm at geech.ai.mit.edu) * ln.c (do_link), mv.c (do_move), cp.c (copy): Store backup filename using alloca so we don't have to free it every place we return. From Jim Meyering. Thu Feb 14 00:41:43 1991 David J. MacKenzie (djm at geech.ai.mit.edu) * cp.c (copy_reg): Only make holes when copying a regular file onto a regular file. Fri Jan 18 06:31:59 1991 David J. MacKenzie (djm at albert.ai.mit.edu) * ls.c: Move defn. of S_IEXEC to after header files are included. * cp.h: Always declare stat and lstat. Thu Jan 10 02:16:55 1991 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.h: Only declare some system calls if not POSIX. * eaccess.c, idcache.c, dd.c, install.c, ln.c, system.h: Change _POSIX_SOURCE to POSIX. * fileblocks.c, system.h: Change STBLOCKS_MISSING to ST_BLOCKS_MISSING (was already that way in cp.c). Fri Dec 28 18:40:34 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * chmod.c, chown.c, chgrp.c, du.c: Rename -d option to -L for similarity to ls and cpio. Thu Dec 27 00:06:45 1990 David J. MacKenzie (djm at egypt) * rm.c (clear_directory): Keep looking for files to remove until we don't find any, so that any .nfs* files created by removing other files are also removed, eventually. * install.c (main): Strip trailing slashes on all args. * mv.c (copy): Open target file with mode 0600, not 0777. [FCHMOD_MISSING]: Perform chmod after closing files, not before, for MS-DOS. * cp.c (do_copy): Don't append `..' to target dir name. * du.c (main, count_entry, usage): Add -D +dereference-args and -d +dereference options. Wed Dec 26 03:39:18 1990 David J. MacKenzie (djm at egypt) * dirname.c, xstrdup.c: Get decls from standard files, if available. Thu Dec 20 23:10:22 1990 David J. MacKenzie (djm at egypt) * makepath.c: New file, adapted from code in mkdir.c, install.c, and cpio util.c by Jim Meyering. * mkdir.c, install.c: Use make_path. Sun Dec 16 00:56:54 1990 David J. MacKenzie (djm at egypt) * chown.c, chgrp.c: New files. Sat Dec 15 20:42:32 1990 David J. MacKenzie (djm at egypt) * cp.h: Declare POSIX functions always -- _POSIX_SOURCE doesn't imply STDC declarations. * system.h: Define S_ISTYPE macros not defined by sys/stat.h. * Many files: Use S_ISTYPE macros. * backupfile.c, rm.c: Use name d_fileno for member of struct dirent instead of d_ino, for POSIX. Wed Dec 12 23:38:22 1990 David J. MacKenzie (djm at egypt) * ls.c: Declare time() as time_t instead of long, to prevent conflict with standard header files. * cp.c (copy_reg): Instead of using NO_SPARSE_FILES, use st_blocks to determine whether the original file contains any sparse blocks, and only create them if so. On systems without st_blocks, to be safe, never create sparse blocks. Thu Nov 8 12:16:27 1990 David J. MacKenzie (djm at apple-gunkies) * idcache.c: If _POSIX_SOURCE not defined, declare getpw and getgr functions (not an optimal solution, but I hate to add yet another configuration macro). * Makefile: Define AR and RANLIB and pass to child makes. lib/Makefile: Use them. Tue Nov 6 23:18:06 1990 David J. MacKenzie (djm at mole.ai.mit.edu) * idcache.c: New file from code in ls.c. Fri Nov 2 14:34:40 1990 David J. MacKenzie (djm at apple-gunkies) * Move files into src and lib directories, split out library functions into separate files in lib, and rewrite Makefiles. Mon Oct 29 01:20:46 1990 David J. MacKenzie (djm at apple-gunkies) * mv.c (do_move), rm.c (remove_file, remove_dir): If stdin is a tty and file is unwritable, prompt before overwriting. * cp.c (copy_reg): Only make sparse files if NO_SPARSE_FILES is undefined, to accommodate dumb kernels. * du.c (count_entry): Remove misinformed HPUX kludge that doesn't really fix the problem. * rm.c (rm): Check for textual equality with '.' and '..', not dev/inode equality. Sat Oct 27 23:38:55 1990 David J. MacKenzie (djm at apple-gunkies) * rm.c (check_stack): If not interactive, don't prompt when corruption is found, just quit. (remove_file, remove_dir): Delete leading spaces in verbose output. * cp.c (copy), rm.c (remove_dir): If we think the dest. file is unwritable, warn the user in the interactive prompt instead of automatically skipping the file. Because of race conditions and other protection mechanisms we might not know about, and POSIX. Mon Oct 8 18:51:25 1990 David J. MacKenzie (djm at apple-gunkies) * du.c (main, usage, count_entry): Add +separate-dirs -S option. * dd.c (main): Don't trap SIGINT if it was being ignored. Tue Sep 25 16:40:43 1990 David J. MacKenzie (djm at apple-gunkies) * install.c (copy_file, install_file_in_file): Change attributes after stripping, to guard against strip programs that clear setuid bits, etc. Fri Sep 21 22:31:43 1990 David J. MacKenzie (djm at apple-gunkies) * cp.c (copy_reg): Put back ftruncate way of making holes because the other way can't make a hole at the end of a file. Tue Sep 18 03:47:45 1990 David J. MacKenzie (djm at apple-gunkies) * install.c (change_attributes): Don't ignore EPERM for chown, since the default uid is now the current uid. Sun Sep 9 16:54:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Version 1.4. * cp.h: Declare free returning void, not int, so it doesn't bomb on Xenix. Fri Sep 7 04:35:35 1990 David J. MacKenzie (djm at apple-gunkies) * system.h, backupfile.c, savedir.c [DIRENT]: if direct is defined (as on Ultrix 4.0), undefine it before redefining it. Tue Sep 4 03:10:24 1990 David J. MacKenzie (djm at apple-gunkies) * dd.c (apply_translations, translate_charset): Code moved from parse_conversion. (apply_translations): Convert from EBCDIC to ASCII before converting case. * mvdir.c (fullpath): Return a value. * dd.c (copy): Increment count of truncated records once per record, not once per character that overflows. Mon Sep 3 22:23:57 1990 David J. MacKenzie (djm at coke) * dd.c (swab_array): Function removed. (copy): Rewrite conv=swab to work when odd number of bytes are read. (scanargs): Die if invalid numeric value is given. (parse_integer): Return -1 if invalid arg. (bit_count): Faster version from Jim Meyering. * cp.c, mkfifo.c [MKFIFO_MISSING]: Define mkfifo. Thu Aug 30 00:17:02 1990 David J. MacKenzie (djm at apple-gunkies) * mvdir.c (main): Make sure `from' is not a parent of any part of `to', not just the explicitly given part. (fullpath): New function. Wed Aug 29 19:50:05 1990 David J. MacKenzie (djm at apple-gunkies) * mvdir.c: Renamed from mv_dir.c, for consistency with mkdir and rmdir. * dirlib.c: Caller changed. Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * touch.c (main): Don't interpret first non-option arg as a time if `--' is given (POSIX-required kludge). * touch.c: Add long-named options. * Many files: Include instead of "getopt.h" since getopt.h will be in the GNU /usr/include. * install.c: Declare some functions. * touch.c, getdate.y, posixtime.y, mktime.c: New files, from bin-src. * posixtime.y: Move year from before time to after it (but before the seconds), for 1003.2 draft 10. Mon Aug 27 03:25:36 1990 David J. MacKenzie (djm at apple-gunkies) * touch.c (main): If no time is given and first arg is a valid timespec, use it as one. Sat Aug 25 01:36:16 1990 David J. MacKenzie (djm at apple-gunkies) * posixtime.y: Enclose YYABORT in braces in case some yacc's need it. * touch.c: Remove -i option. Change some error messages. (readname): Function removed. Thu Aug 23 12:56:33 1990 David J. MacKenzie (djm at apple-gunkies) * cp.c (copy): Only restore dir mode if it was changed. Wed Aug 22 01:45:54 1990 David J. MacKenzie (djm at apple-gunkies) * cp.c (copy): Don't only backup files when -f is given. * ls.c: Add -X +sort=extension option. Rename +kilobyte-file-size to +kilobytes. * du.c: Rename -f option to -x, for POSIX. Rename +kilobyte-file-size to +kilobytes. Add -b, +bytes option for POSIX. * cp-aux.c (usage): Change -o to -x. (stpcpy): Renamed from str_cpy. Change callers in cp.c. * cp.c: New variable, `flag_copy_as_regular'. (main): For -R, unset `flag_copy_as_regular'. Rename -o to -x for consistency with du. (copy): Only unlink destination files when -f is given. Only prompt when -i given and copying as a regular file. Move check for previous link after other checks, reducing duplicate code. Create directories with mode 0700 initially, for POSIX. Mon Aug 20 03:29:08 1990 David J. MacKenzie (djm at apple-gunkies) * dd.c (copy): Swap input bytes instead of output bytes. (swab_array): New function. * dd.c (copy): If sync and noerror, zero the buffer before the read instead of after so that any data read before an error occurred are preserved. On read error, print stats and seek past the bad block if noerror. noerror doesn't affect write errors, for POSIX. (scanargs): Use two buffers if no buffer sizes given. Do not block or unblock if cbs not given. (print_stats): New function. (quit): Call it. Mon Aug 13 23:30:03 1990 David J. MacKenzie (djm at apple-gunkies) * cp.c (copy): If dest. exists and is unwritable, skip the file. * rm.c, mv.c, cp.c, ln.c (main): Respect the last -f or -i given, for POSIX. * rm.c (remove_file): Only prompt if -i is given. (main, usage): Remove -o +override-mode option, obsolete if POSIX accepts our objection about prompting. * mv.c (do_move): Only prompt if -i is given. * ln.c (do_link): If dest. file exists and -i and -f not given, skip the file. Tue Aug 7 12:51:18 1990 David J. MacKenzie (djm at apple-gunkies) * dd.c (main): If seek= given, don't truncate output file. (copy): Use `read' to skip output blocks if not regular file. Sync with NUL instead of SPC. Mon Aug 6 14:43:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * rm.c: Rename `ignore_errors' to `ignore_missing_files', and have it only suppress messages about nonexisting files. (main): Get dev and ino of `.' and `..'. (rm): If file is the same as `.' or `..', return with error. (remove_file): Remove the file rather than skipping it if unwritable, no -i, and stdin not tty. (remove_dir): Return an error if directory is nonwritable, rather than nonreadable or nonsearchable, for POSIX.2 draft 10. * chmod.c (main): Use fixed error checking to make sure that options aren't mixed together in the same args as mode specifiers. Sun Aug 5 11:51:12 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * chmod.c (main): Use umask for '-' op. Sat Aug 4 10:11:30 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * mkfifo.c: Remove -p +path option, no longer specified by POSIX. Fri Aug 3 13:38:28 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * mkdir.c, mkfifo.c, create.c (main): Don't tell mode_compile to respect the umask for certain operations, since the umask is 0 anyway. * install.c (get_ids): Use getuid and getgid to get defaults, instead of -1. Fri Jul 27 14:32:40 1990 David J. MacKenzie (djm at apple-gunkies) * backupfile.c (dirname): Always replace frontmost slash with a null. Thu Jul 26 00:20:35 1990 David J. MacKenzie (djm at apple-gunkies) * cp.h: Declare umask as unsigned short. * eaccess.c: Make uid and gid unsigned short, and group array unsigned. Wed Jul 25 18:38:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * rm.c (remove_file, remove_dir): Print verbose message right before actually trying to remove the file, after the prompting. * ls.c (getuser, getgroup): Make uid and gid unsigned short, not int. Tue Jul 24 03:39:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy), ln.c (do_link), mv.c (do_move): For +verbose, print the file names just before actually attempting the copy/link/move, to produce a list of the files that they actually try to copy/link/move, omitting skipped files. Remove leading spaces from +verbose output. Mon Jul 23 16:57:44 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): Make +update operate silently, like +one-file-system. * ln.c: Add -F as synonym for -d, for SunOS compatibility. Sun Jul 15 23:23:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): Go back to using xstat on dest. Wed Jul 11 12:10:33 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): Make directories with desired mode plus u+wx so if the copy is interrupted, the dir is closer to the desired mode. Don't backup directories. Sun Jul 8 00:39:31 1990 David J. MacKenzie (djm at apple-gunkies) * rm.c (main, usage): Add new option -d, +directory. (rm): If -d given, use remove_file instead of remove_dir for directories. (remove_file): If directory, print "remove directory `foo'?" for interactive instead of "remove `foo'?". * ln.c (main): If -s given, print warning message if symlinks are not available. * mkfifo.c (main): If fifo's are not available, print message and exit. Fri Jul 6 02:02:49 1990 David J. MacKenzie (djm at apple-gunkies) * install.c (main): Use the current user and group ID for the default owner and group. * mv.c (main): New option -u, +update. (do_move): Don't move nondirectories if -u and there is an existing destination that has the same or newer mtime. (usage): Document -u, +update. * cp.c (main): New option -u, +update. (copy): Don't copy nondirectories if -u and there is an existing destination that has the same or newer mtime. * cp-aux.c (usage): Document -u ,+update. Thu Jul 5 10:04:12 1990 David J. MacKenzie (djm at apple-gunkies) * ln.c (do_link): Don't check whether OLD exists before trying to make link. Tue Jul 3 01:51:55 1990 David J. MacKenzie (djm at apple-gunkies) * ls.c: Allow "+time=atime" and "+time=ctime" for C hackers. * chmod.c (main): Don't check whether multiple mode arguments are given, because optind has a different value depending on whether or not the option is the last character in the ARGV-element. Sat Jun 30 12:32:51 1990 David J. MacKenzie (djm at apple-gunkies) * cp.c (copy): Use lstat on dest. file, not *xstat. Mon Jun 25 18:07:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ls.c (print_long_format): Truncate user and group names to 8 chars to preserve column alignment. (length_of_file_name_and_frills): Don't assume type indicator will be printed for unknown file types that some os's have. * install.c: Declare getgrnam for systems where grp.h doesn't. Sat Jun 23 00:06:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Version 1.3. * du.c (count_entry) [HPUX_NFS_BUG]: If the size of the file according to the number of blocks reported is twice or more than the size of the file according to the number of bytes reported, halve the number of blocks. Fri Jun 22 00:38:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy_dir): Initialize 'ret' to 0. * cp.c (main), ln.c (main), mv.c (main), rm.c (main): Make -i override -f and -o, to be conservative about removing peoples' files. * mkdir.c (make_path), mkfifo.c (make_path): Don't try to stat "" or "/". * rm.c, rmdir.c, mkdir.c, mkfifo.c: Move code to remove slashes at the end of an arg from main to strip_trailing_slashes. * install.c (strip): Print error message if the `strip' program can't be run. * system.h (convert_blocks): Macro moved from du.c and ls.c. Take a second parameter indicating whether to convert to kilobytes or 512 byte blocks. * ls.c, du.c: Pass second parameter to convert_blocks. Thu Jun 21 01:19:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ls.c (print_long_format): Use mode_string instead of filemodestring. * ls.c (print_long_format): Compare times as longs, not ints. (longdiff): Macro to compare two longs efficiently if sizeof int == sizeof long and less efficiently but correctly if they are different sizes. (compare_ctime, etc.): Use longdiff. * ls.c (decode_switches): Make -k not imply -s, to allow the summary directory size printed by -l to be in 1k blocks without having the size of each file printed as well. (convert_blocks): Provide for systems with a blocksize that is other than 512 or 1024 bytes. * du.c (main): Exit with status 0 normally. (convert_blocks): Provide for systems with a blocksize that is other than 512 or 1024 bytes. Wed Jun 20 01:46:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (do_link): Take out code to give an error if source and dest are the same file. The dubious usefulness of the special case to prevent 'ln x x' from removing 'x' (ln -i can be used instead) is not worth preventing 'ln x y' from failing the second time in a row, and appears to contradict POSIX anyway. Mon Jun 18 02:48:17 1990 David J. MacKenzie (djm at apple-gunkies) * ls.c (print_file_name_and_frills): (length_of_file_name_and_frills, print_long_format): Allow 6 digits for i-number, not 5. Sun Jun 17 00:09:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * install.c (install_dir): Don't check whether "" or the root directory exists (the former fails on some systems). * system.h: Make inclusion of sys/file.h conditional on USG and _POSIX_SOURCE, not DIRENT. * chmod.c (change_dir_mode): Use xrealloc instead of free and xmalloc in case malloc already left extra room. (xrealloc): New function. * rm.c (clear_directory): Prevent buffer overruns. More efficient string handling. Don't skip rest of directory if continuing after finding circular inode. (xrealloc): New function. Sat Jun 16 01:45:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * argmatch.c (invalid_arg): Change order in which the items are printed. * ls.c: Add +tabsize (-T) option. Fri Jun 15 23:40:55 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c (scanargs): For ibs and obs, set C_HARDWAY. (copy): Use different buffers only if C_HARDWAY, not if blocksizes are the same, to ensure constant output block sizes. Wed Jun 13 23:56:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * savedir.c: New file from code in chmod.c, modified to prevent buffer overruns. * chmod.c (change_dir_mode), cp.c (copy_dir), du.c (count_entry): Use savedir. Thu Jun 7 03:52:02 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * system.h (ST_BLKSIZE) [!STBLOCKS_MISSING]: If st_blksize is 0 (as on pipe reads on some systems), use BSIZE instead. Define BSIZE as DEV_BSIZE if necessary. * Makefile, system.h, fileblocks.c: Use STBLOCKS_MISSING to control whether st_blksize and st_blocks are used. * Makefile, system.h, backupfile.c: Use DIRENT to control whether is used. Thu May 31 00:55:36 1990 David J. MacKenzie (djm at apple-gunkies) * fileblocks.c: New file. * du.c (blocks_to_kb): Replace with convert_blocks macro. (main): Recognize new -k option. (usage): Document it. * ls.c (nblocks): Replace with convert_blocks macro. * system.h (ST_BLKSIZE) [USG]: Use BSIZE from sys/param.h instead of having the user define BLKSIZE. (ST_NBLOCKS) [USG]: Use st_blocks from fileblocks.c. Wed May 23 00:40:39 1990 David J. MacKenzie (djm at apple-gunkies) * argmatch.c: New file, taken from ls.c. * getversion.c (get_version): Use argmatch, to allow abbreviations. Default backup type is existing_numbered. * mv.c (main), ln.c (main), cp.c (main): Only make backups if -b (+backup) is given. If envar SIMPLE_BACKUP_SUFFIX is set, use it as a default instead of `~'. * mv.c (usage), ln.c (usage), cp-aux.c (usage): Update messages. Tue May 22 00:56:51 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * install.c: New file (from ../bin-src). * dd.c (copy): Don't count completely failed writes as partial writes. Make buffers unsigned. If blocking or unblocking, pad final partial buffer if necessary. * getversion.c: New file. * mv.c (main), cp.c (main), ln.c (main): Control backup types with getenv ("VERSION_CONTROL") and +version-control or -V. * cp.c (yesno), mv.c (yesno), ln.c (yesno): Stop reading if EOF reached as well as at newline. * backupfile.[ch]: Rename var `version_control' to `backup_type'. Sat May 19 23:38:46 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * touch.c: Change some error messages. Include "getopt.h". Sat May 19 00:16:50 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * mv.c (main), ln.c (main), cp.c (main): Revise backup-creation options. * mv.c (usage), ln.c (usage), cp-aux.c (usage): Revise messages. * chmod.c (describe_change): Use mode_string instead of filemodestring. * cp.c (main): Recognize new options for making backups. * cp.c (copy): Make backups if requested. Fix typo. * cp-aux.c (usage): Update message. * mv.c, cp.c: Remove code to conditionally use utimes instead of utime, since the extra resolution of utimes was not being used, the emulation overhead is probably insignificant, and utime is a standard function. * cp-hash.c: Fix up comments. Fri May 18 23:06:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * mv.c (do_move): Only make backup if dest file exists. Don't continue moving file if dest can't be backed up. * ln.c (do_link): Don't try to unlink dest if it was backed up. Don't continue moving file if dest can't be backed up. * system.h: Make SIGTYPE default to void if not defined. * modechange.[ch]: Rename struct and external functions to start with 'mode_'. * modechange.c (oatoi): Make static. (mode_compile): Take an additional arg indicating which symbolic operators should be affected by the umask. * modechange.h: Add defines for mode_compile arg mask. If __STDC__, use prototypes. * chmod.c, mkdir.c, mkfifo.c, create.c: Account for above changes. Tue May 15 16:17:34 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c (copy): Quit with nonzero status if final write fails. Mon May 14 14:34:10 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c: Make translation tables unsigned. (main): Give `input_file' and `output_file' nonzero values for stdin and stdout. (parse_conversion): Set new global vars 'space_character' and 'newline_character' to correct values when translating to EBCDIC (either flavor). (copy): Use 'space_character' and 'newline_character' instead of hardcoded ASCII values. Ignore attempts to seek on output pipe, socket, or fifo. If possible, seek instead of reading to skip initial input records. Sync with `space_character' instead of nulls, for POSIX. * cp.c (copy_reg): Compare lseek values as longs, not ints. Sat May 12 01:16:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp-hash (remember_created): Return error status instead of fatal error. * cp.c (copy): Change caller. (do_copy, copy_reg): Return error status instead of fatal error. * Move rename emulation from mv.c to dirlib.c so other programs can use it. * mv.c, ln.c (main): Recognize new options for making backups. * mv.c (do_move), ln.c (do_link): Make backups if requested. * mv.c, ln.c (usage): Update message. * backupfile.c, backupfile.h: New files. * cp.h: Ifdef out decl of umask because of SunOS 4.1 (POSIX) conflict. * Define all `main' functions as returning void. Fri May 11 02:11:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c, mv.c, rm.c, rmdir.c, create.c, chmod.c: Change some error messages. * du.c, cp-aux.c (error): Function removed. Change callers to use error.c version. * cp.c (copy, do_copy, copy_dir): Return an error status. * ls.c (error, fatal, perror_with_name): Functions removed. Change callers to use error.c. Sat May 5 23:46:48 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (do_link): Don't allow trying to link a file to itself, because the source file would be removed if they are the same directory entry, and also for consistency with mv and cp. Fri May 4 13:42:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy_reg): Only write a null to the end of the file if the end of the file was sparse. * ls.c (print_name_with_quoting): Make the char to print unsigned to prevent sign extension problems with -b. Fri Apr 20 13:52:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Version 1.2 released. Wed Apr 18 14:36:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Makefile: Use chsize for ftruncate on Xenix. * cp.c (copy): Remove broken code that attempted to substitute for ftruncate on systems missing it. Mon Apr 16 13:58:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp-aux.c (usage): Fix mistake in message. * Version 1.1 released. Sat Apr 14 17:23:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ls.c (main): Don't remove leading path from program_name. (basename): Function removed. (length_of_file_name_and_frills): Don't add 1 for type indicator for block and character special files. Thu Apr 12 19:50:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Makefile: Suggest using -DBLKSIZE=512 instead of 1024 for USG. * dd.c (copy): Print copying statistics when exiting because of a read or seek error. (interrupt_handler): New function. (main): Trap SIGINT to run interrupt_handler, for POSIX. Tue Apr 10 01:09:38 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * chmod.c (change_file_mode): Don't change the mode of symbolic links. Mon Apr 9 13:30:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * modechange.c (compile_mode): Return an error if an octal number argument is too large. Sun Apr 8 20:33:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c: Use `error' instead of `fatal' and `pfatal_with_name', for greater control of the message format. * head.c, tail.c: Use `error' instead of `fatal_perror' and `nonfatal_perror'. Remove some unnecessary info from messages. * chmod.c, create.c, ln.c, mkdir.c, mkfifo.c, mv.c, mv_dir.c, rm.c, rmdir.c: Remove definition of `error'. * error.c: New file created from code in mv.c. * Makefile: Link the above programs with error.o. * ln.c (do_link): Use eaccess_stat to determine writability. * mv.c (do_move): Ditto. * rm.c (remove_file): Ditto. (remove_dir): Use eaccess_stat to determine readability and searchability. Move initial interactive query here from clear_directory. * Makefile: Link ln, mv, and rm with eaccess.o. Sat Apr 7 11:47:52 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Makefile: Link cp with eaccess.o. * eaccess.c: New file adapted from code in cp.c and cp-aux.c. * cp.c (copy): Use eaccess_stat to determine writability. Consider a file unwritable by root if it has no permissions. (main): Remove groups initialization code. * cp-aux.c (member): Function deleted. * cp.c (copy): Temporarily change the mode of directories if necessary to overwrite them when running recursively. Consider a directory to be non-overwritable if it lacks write permission as well as if it lacks execute permission. * rm.c, mv.c, mv_dir.c, chmod.c, create.c, ln.c: Remove some irrelevant or redundant information from error messages. Fri Apr 6 15:20:45 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): Only change mode of regular files and directories; others are already correct. Thu Apr 5 04:31:56 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c: Remove the vars that are set by command line options from a useless struct and give them more meaningful names. Mon Apr 2 02:58:34 1990 David J. MacKenzie (djm at spike.ai.mit.edu) * cp.c (main): Use NGROUPS from sys/param.h to determine whether BSD multiple groups are supported and how large to make the array. * Makefile: Remove references to GETGROUPS_MISSING. Sun Apr 1 18:53:57 1990 David J. MacKenzie (djm at spike.ai.mit.edu) * cp.c (main): Always initialize group info. Sat Mar 31 22:29:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * mv.c [RENAME_MISSING] (rename): To rename directories, run setuid root mv_dir program. Tue Mar 20 14:28:25 1990 David J. MacKenzie (djm at pogo.ai.mit.edu) * touch.c: Remove POSIX_COMPAT ifdef since there is no reason to disable the GNU extensions. (main): Set new global var `program_name'. (error): Replace with more versatile version. Global: Change calls to fprintf and error to use the new error. (main): Initialize global variables. Don't bother making temporary copy of arg to -d. Don't ignore any files named on the command line if -i is given. (usage): Don't take an arg. Use `program_name' instead of hardcoded name. (touch): In utime emulation for BSD, ftruncate the file to its original size so empty files stay empty after being touched. Sun Mar 18 01:02:39 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (strip_trailing_slashes): New function. (main, do_link): Call it. * cp-aux.c (strip_trailing_slashes): New function. * cp.c (do_copy): Call it. * cp.h: Declare it. * mv.c (strip_trailing_slashes): New function. (main, movefile): Call it. Sat Mar 17 21:45:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp-aux.c, cp.h: Rename user_confirm_overwriting to yesno and don't have it print a prompt, so it can be used in several places. * cp.c (do_copy): Change an error message to resemble mv's. Remove all trailing slashes from all non-option args. (main): Set new global var `stdin_not_tty'. (copy): Use POSIX method of handling file overwriting and prompting. * dirlib.c (mkdir): Use chmod to set the directory mode after successful creation, so set[ug]id and sticky bits are set correctly. Thu Mar 15 12:33:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Makefile: Add commented out definitions for SCO Xenix. * ls.c (print_type_indicator): Don't print a '*' next to executable block or character special files. * chmod.c (error): New function, replacing nonfatal_perror, memory_out, and invalid_mode. Global: Call error instead of the above functions. (change_dir_mode): Make the new size of the path twice the size of the name that was too long, rather than twice its old size. * rm.c: Move interactive query about whether to remove a directory from remove_dir to clear_directory; only query for directories that are not empty. Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex) * system.h [USG]: Define X_OK. * rm.c (main): Set new global var `stdin_not_tty'. (rm): Most of code moved to two new functions, remove_file and remove_dir. (remove_file): Use POSIX method of determining whether to remove non-directories. (remove_dir): Use POSIX method of determining whether to remove directories, almost. (perror_with_name): Function removed. (error): Simple version replaced with more powerful version. Global: Change calls to fprintf, perror_with_name, and old error to calls to new error. * ln.c (main): Set new global var `stdin_not_tty'. If force, turn off interactive. (do_link): By default, don't allow hard links to symbolic links to directories. Use POSIX method of determining whether to overwrite destination. (yesno): Function renamed from confirm, and arg removed. (lisdir): Function removed. * mv.c (main): Set new global var `stdin_not_tty'. (yesno): Function renamed from yes. (do_move): Use POSIX method of determining whether to overwrite destination. * Makefile: Make executables depend on .o files, not .c files, to allow for parallel compilation. Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex) * rm.c (main): Disallow removal of paths that have '..' as the final element. (basename): New function. * ls.c (print_type_indicator): Mark FIFOs with '|' and sockets with '='. (print_long_format): Print numbers as unsigned and add extra space for POSIX flag. * dd.c: Make the record counts unsigned. (quit): Print them as unsigned. * modechange.c (compile_mode): Only get umask value when needed. If users are not given or are `a', affect set?id and sticky bits. If memory is exhausted while allocating a new list element, free the old elements before returning. * Makefile (CC): Add comment noting that either fixincludes or -traditional needs to be used for gcc to compile ioctl calls correctly. Mon Mar 12 16:25:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) * touch.c [UTIME_OF_NULL_MISSING]: Call lseek() before write(). * posixtime.y [__GNUC__]: Use __builtin_alloca. Fri Mar 9 10:25:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * chmod.c (main): Recognize "a,+-=" as valid options. * mv.c: Move the code to copy files across filesystems from do_move to a new function, copy, which will eventually be replaced with modules from cp and rm (POSIX requires mv to move directories recursively across filesystems). (do_move): Don't query about overriding a mode that prohibits writing if interactive. Remove unneeded variable. (copy): Unlink target if copy fails partway through. Thu Mar 8 10:56:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): Don't remove a destination file of a different type unless +force is given. * ls.c (decode_switches, usage): Add -U (for "unsorted") as an equivalent to +sort=none. Mon Mar 5 16:31:14 1990 Torbj|rn Granlund (tege at echnaton) * cp.c (copy): Test for temporarily modified permission mode after the other test, so that `-p' work for files whose mode needed a temporary mode change. * cp.c (copy): Don't waste time calling unlink if we already know that the destination doesn't exists. * cp.c (comment before do_copy): Correct. * cp.c (comment before copy): Describe all params. * cp.c (copy): Only change permission mode for regular files and directories. * cp.c (copy): Unlink the destination file if its type is different from the source. If the destination is a directory, error. Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * chmod.c (nonfatal_perror): Don't check for force_silent. (change_file_mode, change_dir_mode): If force_silent, don't print error messages. * mv.c (main): If force, turn off interactive. (do_move): Simplify check for query. Rename `stb' to `to_stats' and `stbf' to `from_stats'. Return error condition if original file could not be renamed or unlinked. * rm.c: Rename global `force_flag' to `ignore_errors' and change its meaning so that it does not overlap with `override_mode'. (main): Have -f +force set override_mode. If override_mode is set, turn off interactive. (rm): Simplify checks for whether to query the user, based on the new relationship between override_mode and interactive. Sun Mar 4 23:39:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (main): Reword an error message to be more like mv's. * rmdir.c: Move global `errors' into main instead of having error set it. * mkdir.c: Move global `errors' into main and have make_path return an error status instead of having error set it. * chmod.c: Move global `errors' into main and have change_file_mode and change_dir_mode return an error status instead of setting it in nonfatal_perror. Sat Mar 3 13:59:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (main): Don't strip leading dirs from argv[0]. * ln.c (confirm), mv.c (yes, do_move), cp-aux.c (user_confirm_overwriting), rm.c (rm, yesno, check_stack): Print query messages to stderr instead of stdout, for POSIX. Include program name in messages. Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton) * cp.c (copy): Don't unlink directories with flag_force (`-f'). Also avoid using force when not necessary. Always copy fifo's and symbolic links as themselves. * cp.c (copy_reg): Make int scan first, char scan then, to find first non-zero byte. This to avoid false hole creation. Sat Mar 3 10:22:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * mv.c: Rename `pgm' to `program_name'. Move global `errors' into main. Have do_move and movefile return an error status instead having error set it. Remove global vars `args' and `args_left'. (main): Rename `ac' and `av' to `argc' and `argv' and use them and `optind' instead of `args' and `args_left'. * cp.c (copy): Don't ignore errors other than EPERM from chown. Fri Mar 2 16:20:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * rm.c (main, usage): Allow -R as a synonym for -r, for POSIX. * cp.c (copy): If flag_preserve, preserve the owner and group if possible, as well as mode. (main): Allow -R as a synonym for -r option, for POSIX. * cp-aux.c (usage): Mention -R. Tue Feb 27 11:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * cp.c (copy): If not recursive, copy special files and symlinks like regular files and omit fifos. Mon Feb 26 19:55:24 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) * ls.c (print_long_format): If time is in the future, print the year. Make the cutoff for old files 6 months not 300 days. Mon Feb 26 13:31:07 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) * touch.c, Makefile: Use getdate.y instead of unctime.y. * touch.c: Remove posixtime. (main): Check for error from posixtime. posixtime.y: New file. * touch.c: Change a few cryptic error messages. Include not . (just_set_amtime): New variable. (touch): Add if (just_set_amtime) code. Mon Feb 26 15:03:29 1990 Torbj|rn Granlund (tege at echnaton) * cp.c (copy): Test for recursive copy in DIR alternative in the switch statement, so all file types are copied correctly even in a non-recursive copy. * cp.c (copy): Return after having created a symlink, since chmod and utimes dereference, and would affect the symlink target. Remove test for symlinks after switch. Sun Feb 25 18:31:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Makefile: Compile ls after vdir so systems with a cc that can't do -c -o don't have to compile ls.c twice for ls. * dd.c (usage): Add braces around alternatives. * ls.c (print_long_format): Always print the group, for POSIX. (decode_switches): Make -g option a no-op for BSD users. (usage): Remove +group option. Wed Feb 21 11:13:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c (error): New function. (main, do_link): Call error instead of fprintf and exit. (main): Recognize new -d +directory option to allow superuser to make hard links to dirs, like the BSD ln -f option. (do_link): Don't allow hard links to dirs (they are hard to get rid of -- rmdir and unlink don't do it), unless -d was given. (usage): Mention -d +directory option. * rmdir.c (main): Remove trailing slashes from args (added by shell file completion but the rmdir syscall can't handle them). * mkdir.c (main): Remove trailing slashes from args, for uniformity with rmdir (you can't do file completion on dirs that haven't been made yet . . .). * mv.c: Rename global var `nargs' to `args_left' to avoid conflict with undocumented BSD libc function (the new name is clearer, anyway). Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * dd.c: Use new global var `program_name' in error messages instead of hardcoded "dd". (main): Set program_name from argv[0]. * chmod.c, head.c, tail.c (main): Don't strip leading dirs from argv[0]. (basename): Function removed. * rm.c (main): Don't strip leading dirs from argv[0]. Mon Feb 19 14:34:18 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * rm.c (main): Strip trailing slashes from each arg. Thu Feb 15 13:23:52 1990 David J. MacKenzie (djm at rice-chex) * Makefile [HPUX CFLAGS]: Add -DUTIMES_MISSING. Wed Feb 14 15:01:18 1990 David J. MacKenzie (djm at rice-chex) * Makefile (dist): Don't make a non-compressed tar file. * mv.c (do_move): Refuse to copy non-regular files across filesystems. Tue Feb 13 15:06:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) * touch.c (getname): New function. (main): Use it. Mon Feb 12 11:30:45 1990 David J. MacKenzie (djm at rice-chex) * ln.c (do_link): Check error return from unlink. Include errno.h. * du.c (main): Check error return from stat. (str_copyc, str_concatc): Don't return a value, since it is ignored. * cp.c (copy): Check error return from unlink and chmod. Fix typo in call to error. * mv.c (do_move): Check error return of fchmod/chmod and utime[s]. (rename): Check error return of unlink. * Makefile Definitions of preprocessor macros moved from cp.c and mv.c. HAVE_FTRUNCATE changed to FTRUNCATE_MISSING. * Makefile, dirlib.c: NEED_MKDIR changed to MKDIR_MISSING. * mv.c, cp.c: Change USG ifdefs to UTIMES_MISSING. Sun Feb 11 17:50:29 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * chmod.c (usage): Add yet another ellipsis. Sun Feb 11 16:41:30 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) * cp.c (copy_reg): Use HAVE_FTRUNCATE to decide whether to use ftruncate(). (main): Use GETGROUPS_MISSING to decide whether to use getgroups(). [hpux || !USG]: Define HAVE_FTRUNCATE. [USG && !hpux]: Define GETGROUPS_MISSING. mv.c (rename): Put in #ifdef RENAME_MISSING not #ifdef USG. (do_move): Use FCHMOD_MISSING to decide whether to use fchmod(). [USG && !hpux]: Define FCHMOD_MISSING and RENAME_MISSING. Fri Feb 9 10:25:03 1990 David J. MacKenzie (djm at rice-chex) * mv.c (movefile): Remove trailing slashes from FROM (some filename completion systems add them for dirs, and they cause the rename syscall to fail). Thu Feb 8 22:50:12 1990 Torbj|rn Granlund (tege at sics.se) * cp.c (copy_reg): Change error handling after lseek, since this is a fatal error. Also change error message to something more generally understood. * Handle files that end in a zero block on USG systems. * cp-aux.c (error): Use FATAL to recog fatal errs. Thu Feb 8 21:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * ln.c: Remove incorrect comment. * cp.c, cp-aux.c (usage): Change +dereference option to +no-dereference, since dereferencing is done by default and the option turns it off. Mon Feb 5 17:29:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu) * Version 1.0 released. ----- Copyright (C) 1990-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/ChangeLog-20080000664000000000000000000003262412102337340012511 000000000000002008-12-16 Jim Meyering NB: ChangeLog files are no longer manually maintained. See HACKING for details. 2008-02-07 Jim Meyering We *do* need two different version files. One for tarball-only, the other to be updated any time we get a new value of $(VERSION). * Makefile.am (dist-hook): Create .tarball-version in dist tarball. * GNUmakefile (_curr-ver): Make git-version-gen use it. * .gitignore: Ignore it. Fix a typo in description of size suffixes: s/GB/G/. * doc/coreutils.texi (od invocation, head invocation, tail invocation): Spotted by Bert Wesarg. * NEWS [6.9.90]: Mention the added feature that head, od, split and tail now accept the standard size suffixes (kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y) on arguments to selected options. 2008-02-06 Steven Schubiger mkdir, split: write --verbose output to stdout, not stderr. * src/mkdir.c (verbose_output): New function. (announce_mkdir): Use it. * src/split.c (usage): Update. * src/split.c (cwrite): Write to stdout, not stderr. * doc/coreutils.texi (split invocation): Remove the mention of --verbose output being printed to stderr. * tests/mkdir/p-v: Redirect stdout, not stderr. * tests/misc/split-a: Likewise. * NEWS: Mention this change. * TODO: Remove this item. 2008-02-04 Jim Meyering * Makefile.maint (announcement): Remove stale comment. 2008-02-02 Jim Meyering Clarify a comment. * tests/sort/Test.pm: Replace a vague ChangeLog reference with a URL. 2008-01-31 Bob Proulx Improve wording of date and time man page. * man/date.x: Improve compact description of the --date=STRING. * man/touch.x: Likewise. Suggested by A. Costa. 2008-01-31 Jim Meyering Remove alignment constraint from the sha*_read_ctx functions. * lib/sha256.c (set_uint32): New function. (sha256_read_ctx, sha224_read_ctx): Use it. * lib/sha512.c (set_uint64): New function. (sha512_read_ctx, sha384_read_ctx): Use it. * lib/sha256.h: Remove warning about alignment constraint. * lib/sha512.h: Likewise. Prompted by similar changes in gnulib's sha1 and md[45] modules. Adapt to new version of vc-list-files. * tests/check.mk (vc_exe_in_TESTS): Adapt to new constraint that vc-list-files be run only from $(top_srcdir). Pull vc-list-files from gnulib. * bootstrap.conf (gnulib_modules): Add vc-list-files. * build-aux/vc-list-files: Remove file. Improve the cp/parent-perm test. * tests/cp/parent-perm: Also check that perms of existing dest dirs are changed to match those of corresponding src dir 2008-01-30 Paul Eggert Don't modify argv in dd due to ',' in arguments. * src/dd.c: Include quotearg.h. (operand_matches): New function. (parse_symbols, operand_is): Use it. (parse_symbols): 1st arg is now const pointer. Don't modify it. msgid arg is now just the message, not a format. (scanargs): Add some 'const's to check for problems like the above. 2008-01-30 Jim Meyering * src/c99-to-c89.diff: Adjust remove.c offsets, again. Now that system.h defines is_empty_dir, include "openat.h". * src/system.h: Include "openat.h" here, ... * src/chcon.c: ... not here. * src/chmod.c: Likewise. * src/chown-core.c: Likewise. * src/remove.c: Likewise. * src/c99-to-c89.diff: Adjust remove.c offsets. Improve "rmdir --ignore-fail-on-non-empty" * src/rmdir.c (remove_parents, main): With --ignore-fail-on-non-empty, suppress a diagnostic also for other errno values, which can arise with read-only media or when the parent directory has the immutable attribute (set via chattr +i). (errno_may_be_empty, ignorable_failure): New functions. * src/remove.c (is_empty_dir): Move function to ... * src/system.h (is_empty_dir): ...here, and make it inline. Suggested by Josselin Mouette in via Bob Proulx. * NEWS: Mention the improvement. 2008-01-29 Paul Eggert Don't modify argv in dd. * src/dd.c (operand_is): New function. (scanargs): Use it so that we don't need to modify argv, as a nicety. Problem reported by Adam Goode in . 2008-01-29 Jim Meyering * Makefile.am (BUILT_SOURCES): Ensure that .version exists. Reported by Bob Proulx. 2008-01-29 Bob Proulx Improve the man pages of --date=STRING for 'date' and 'touch'. * man/date.x: Add a compact description of the --date=STRING. * man/touch.x: Likewise. Reported by A. Costa in http://bugs.debian.org/363011 2008-01-29 Michael Stone Improve the description of when dd outputs its final statistics. * doc/coreutils.texi (dd invocation): Say that dd prints stats upon normal termination and upon SIGINT. 2008-01-29 Jim Meyering Avoid "make distcheck" failure: newly-created man/*.1 files not removed * Makefile.am (EXTRA_DIST): Add .version. (.version): New rule. (dist-hook): Don't create $(distdir)/.version here, now that it's being distributed. * man/Makefile.am (common_dep): Use ../.version, not ../VERSION. (../VERSION): Remove rule. * GNUmakefile (dummy): Create .version, not VERSION. Add an extra "...:= $(shell..." statement to ensure that .version exists even when the preceding code is not run. * .gitignore: Remove both .version and VERSION. ls: don't segfault on files in /proc with an old libselinux * src/ls.c (gobble_file): Work around a bug in libselinux1-2.0.15 whereby getfilecon returns 0 yet sets the context to NULL. Reported by Jan Moringen via Michael Stone in http://bugs.debian.org/463043 * tests/ls/Makefile.am (TESTS): Add proc-selinux-segfault. * tests/ls/proc-selinux-segfault: Test for the above fix. * NEWS: Mention the fix. 2008-01-26 Jim Meyering Work around Darwin9's set-GID-like group ownership inheritance. This avoids another spurious Mac OS 10.5.1 (Darwin 9.1) test failure. * tests/cp/preserve-gid: Accept a group ID of 0, as well. Reported by Elias Pipping. Emit "info coreutils 'PROG invocation'" into the man page, rather than just "info PROG". The latter would often fail or simply display the man page. * man/help2man: Change the template. Prompted by http://bugs.debian.org/399684 chcon: correct description of --no-dereference (-h) option. * src/chcon.c (usage): Remove invalid reference to lchown. Reported by Göran Uddeborg. Ensure that each version string change propagates to man pages. * man/Makefile.am (common_dep): Don't depend on configure.ac for version changes. Instead, depend on ../VERSION. (../VERSION): New rule. * Makefile.am (DISTCLEANFILES): Define. * GNUmakefile: Update ./VERSION. * .gitignore: List VERSION. Reported by Sven Joachim. Avoid cp/preserve-gid test failure on Mac OS 10.5.1 (Darwin 9.1) * tests/cp/preserve-gid: Set group as well as owner on ".". Reported by Elias Pipping. Improve a warning about non-portable "mv" usage. * doc/coreutils.texi (mv invocation): Adjust the warning: moving a dir-symlink-specified-with-a-trailing-slash works in a surprising manner only on some systems. Reported by Tomas Pospisek in http://bugs.debian.org/343652. 2008-01-26 Mike Frysinger * src/dircolors.hin (TERM): Add jfbterm. 2008-01-23 Jim Meyering Clean up build-related rules. * Makefile.cfg (gnulib_dir): Update comment. * Makefile.maint (announcement) [cl_date, utc_date]: Don't set now-unused variables. * TODO: Update the note on getgrouplist. 2008-01-23 Zvi Har'El Add a ";", so "make install" works with --enable-install-program=su. * src/Makefile.am (install_su): Add a semicolon. (tiny change) 2008-01-23 Jim Meyering Avoid misinterpreting mgetgroups failure in running root-only tests. * src/setuidgid.c (main): Don't misinterpret as size_t an error return from mgetgroups. Reported by Theodoros V. Kalamatianos. * README: Remove/convert a few stray mentions of CVS. 2008-01-22 Jim Meyering Require automake-1.10.1, for its support of dist-lzma. * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.1. Version 6.10. * NEWS: Record release date. * README-hacking: Update to reflect existence of automake-1.10.1. 2008-01-18 Jim Meyering Update README. * README: Remove a note about failing tests on SunOS 4. On Mac OS 10.5.1 (Darwin 9.1), you'll need --disable-acl. (Running tests as root): Recommend using "check-root", not "check". 2008-01-17 Jim Meyering Do not define-away __attribute__ when __STRICT_ANSI__ is set. * src/system.h (__attribute__): Remove the __STRICT_ANSI__ disjunct. It has been unnecessary since approximately gcc-2.6, and now, leaving it would cause gcc -Werror -ansi to fail to compile csplit.c. * gl/lib/randread.c (__attribute__): Likewise. 2008-01-16 Jim Meyering * NEWS: Mention the configure.ac fix. * TODO: Add an introduction. Remove a few entries. Update a few others. 2008-01-13 Jim Meyering Remove each output redirection target before writing to it. * tests/check.mk (vc_exe_in_TESTS): Remove t1 and t2 _first_, in case they exist beforehand and are not writable. * build-aux/check.mk (am__check_pre): Likewise, remove $@-t. 2008-01-13 Elias Pipping * configure.ac: Correct a non-portable use of sed. 2008-01-12 Mike Frysinger * src/dircolors.hin (image formats): Add the .svg suffix. 2008-01-12 Jim Meyering Use new version of announce-gen. * Makefile.maint (announcement): Remove use of the --gnulib-snapshot-time-stamp option. Use new --gnulib-version option instead. (gnulib-version): New variable. 2008-01-11 Jim Meyering * Version 6.9.92. * tests/tr/Test.pm: Prefer en_US.ISO-8859-1 to en_US.iso88591. Suggestions from James Youngman and Pádraig Brady in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218/focus=12227 2008-01-10 Jim Meyering * README-hacking: Add Git to the list of required tools. 2008-01-08 Paul Eggert Fix a minor race condition when using cp -p --parents. * src/cp.c (make_dir_parents_private): If stat fails on the parent directory, do not add it to the list of directories whose modes might need fixing later. Also, do not bother invoking 'stat' unless the stat results might be needed later. 2008-01-08 Jim Meyering parent-perm: avoid a bizarre test failure. * tests/cp/parent-perm: Accommodate the situation in which chmod ("dir", 02755) returns 0 yet fails to set the S_ISGID bit. Remove uses of now-undefined Makefile variable. * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Remove uses of no-longer-defined variable, $(LIB_ACL_TRIVIAL). 2008-01-07 Jim Meyering cp (but not copy.c): plug a small leak. * src/cp.c (do_copy) [--parents]: Free the attribute list. Make a racy test failure less likely to happen. * tests/misc/tty-eof: Uncomment a debug "warn". This change happens to make this test far less likely to fail. With that statement commented out, this test would fail about 20% of the time on my desktop. Now, it's gone 100 iterations in a row with no failure. * NEWS: Mention the cp bug fix. 2008-01-07 Jan Blunck cp --parents: don't use uninitialized memory when restoring permissions * src/cp.c (make_dir_parents_private): Always stat each source directory, in case its permissions are required in re_protect, when setting permissions of a just-created destination directory. 2008-01-07 Jim Meyering cp: add a test for today's bug fix. * tests/cp/parent-perm: New script. Test today's change. Based on reproducer from Jan Blunck. * tests/cp/Makefile.am (TESTS): Add parent-perm. 2008-01-06 Jim Meyering touch: add a test for today's change. * tests/touch/now-owned-by-other: New script. Test today's change. * tests/touch/Makefile.am (TESTS): Add now-owned-by-other. * tests/Makefile.am (all_t): Add td, a new root-only test. (td): New target. * NEWS: Mention the improvement. 2008-01-06 Paul Eggert touch: ignore "-d now" option, when appropriate * src/touch.c (main): Treat "-d now" as if it were absent, if neither -a nor -m is specified. Problem reported by Dan Jacobson in: http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00010.html 2008-01-05 Jim Meyering Avoid tr case-conversion failure in some locales. * src/tr.c (skip_construct): New function. (main): When processing a pair of case-converting classes, don't iterate through the elements of each [:upper:] or [:lower:] class. Reported by Gerald Pfeifer in . * tests/tr/Test.pm [tolower-F]: New test for the above fix. [upcase-xtra, dncase-xtra]: New tests, for a related code path. * NEWS: Mention the tr bug fix. 2008-01-02 Jim Meyering * .gitignore: Ignore lzma-compressed files, too. Update copyright date. * tests/sample-test: Likewise. * doc/coreutils.texi: Likewise. ----- Copyright (C) 2008-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/.prev-version0000664000000000000000000000000512071531250012775 000000000000008.20 coreutils-8.21/src/0000775000000000000000000000000012107207523011214 500000000000000coreutils-8.21/src/ls.c0000664000000000000000000044604512103354122011725 00000000000000/* 'dir', 'vdir' and 'ls' directory listing programs for GNU. Copyright (C) 1985-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* If ls_mode is LS_MULTI_COL, the multi-column format is the default regardless of the type of output device. This is for the 'dir' program. If ls_mode is LS_LONG_FORMAT, the long format is the default regardless of the type of output device. This is for the 'vdir' program. If ls_mode is LS_LS, the output format depends on whether the output device is a terminal. This is for the 'ls' program. */ /* Written by Richard Stallman and David MacKenzie. */ /* Color support by Peter Anvin and Dennis Flaherty based on original patches by Greg Lee . */ #include #include #include #if HAVE_STROPTS_H # include #endif #include #ifdef WINSIZE_IN_PTEM # include # include #endif #include #include #include #include #include #include #include #include #if HAVE_LANGINFO_CODESET # include #endif /* Use SA_NOCLDSTOP as a proxy for whether the sigaction machinery is present. */ #ifndef SA_NOCLDSTOP # define SA_NOCLDSTOP 0 # define sigprocmask(How, Set, Oset) /* empty */ # define sigset_t int # if ! HAVE_SIGINTERRUPT # define siginterrupt(sig, flag) /* empty */ # endif #endif /* NonStop circa 2011 lacks both SA_RESTART and siginterrupt, so don't restart syscalls after a signal handler fires. This may cause colors to get messed up on the screen if 'ls' is interrupted, but that's the best we can do on such a platform. */ #ifndef SA_RESTART # define SA_RESTART 0 #endif #include "system.h" #include #include "acl.h" #include "argmatch.h" #include "dev-ino.h" #include "error.h" #include "filenamecat.h" #include "hard-locale.h" #include "hash.h" #include "human.h" #include "filemode.h" #include "filevercmp.h" #include "idcache.h" #include "ls.h" #include "mbswidth.h" #include "mpsort.h" #include "obstack.h" #include "quote.h" #include "quotearg.h" #include "stat-size.h" #include "stat-time.h" #include "strftime.h" #include "xstrtol.h" #include "areadlink.h" #include "mbsalign.h" /* Include last to avoid a clash of include guards with some premature versions of libcap. For more details, see . */ #ifdef HAVE_CAP # include #endif #define PROGRAM_NAME (ls_mode == LS_LS ? "ls" \ : (ls_mode == LS_MULTI_COL \ ? "dir" : "vdir")) #define AUTHORS \ proper_name ("Richard M. Stallman"), \ proper_name ("David MacKenzie") #define obstack_chunk_alloc malloc #define obstack_chunk_free free /* Return an int indicating the result of comparing two integers. Subtracting doesn't always work, due to overflow. */ #define longdiff(a, b) ((a) < (b) ? -1 : (a) > (b)) /* Unix-based readdir implementations have historically returned a dirent.d_ino value that is sometimes not equal to the stat-obtained st_ino value for that same entry. This error occurs for a readdir entry that refers to a mount point. readdir's error is to return the inode number of the underlying directory -- one that typically cannot be stat'ed, as long as a file system is mounted on that directory. RELIABLE_D_INO encapsulates whether we can use the more efficient approach of relying on readdir-supplied d_ino values, or whether we must incur the cost of calling stat or lstat to obtain each guaranteed-valid inode number. */ #ifndef READDIR_LIES_ABOUT_MOUNTPOINT_D_INO # define READDIR_LIES_ABOUT_MOUNTPOINT_D_INO 1 #endif #if READDIR_LIES_ABOUT_MOUNTPOINT_D_INO # define RELIABLE_D_INO(dp) NOT_AN_INODE_NUMBER #else # define RELIABLE_D_INO(dp) D_INO (dp) #endif #if ! HAVE_STRUCT_STAT_ST_AUTHOR # define st_author st_uid #endif enum filetype { unknown, fifo, chardev, directory, blockdev, normal, symbolic_link, sock, whiteout, arg_directory }; /* Display letters and indicators for each filetype. Keep these in sync with enum filetype. */ static char const filetype_letter[] = "?pcdb-lswd"; /* Ensure that filetype and filetype_letter have the same number of elements. */ verify (sizeof filetype_letter - 1 == arg_directory + 1); #define FILETYPE_INDICATORS \ { \ C_ORPHAN, C_FIFO, C_CHR, C_DIR, C_BLK, C_FILE, \ C_LINK, C_SOCK, C_FILE, C_DIR \ } enum acl_type { ACL_T_NONE, ACL_T_SELINUX_ONLY, ACL_T_YES }; struct fileinfo { /* The file name. */ char *name; /* For symbolic link, name of the file linked to, otherwise zero. */ char *linkname; struct stat stat; enum filetype filetype; /* For symbolic link and long listing, st_mode of file linked to, otherwise zero. */ mode_t linkmode; /* SELinux security context. */ security_context_t scontext; bool stat_ok; /* For symbolic link and color printing, true if linked-to file exists, otherwise false. */ bool linkok; /* For long listings, true if the file has an access control list, or an SELinux security context. */ enum acl_type acl_type; /* For color listings, true if a regular file has capability info. */ bool has_capability; }; #define LEN_STR_PAIR(s) sizeof (s) - 1, s /* Null is a valid character in a color indicator (think about Epson printers, for example) so we have to use a length/buffer string type. */ struct bin_str { size_t len; /* Number of bytes */ const char *string; /* Pointer to the same */ }; #if ! HAVE_TCGETPGRP # define tcgetpgrp(Fd) 0 #endif static size_t quote_name (FILE *out, const char *name, struct quoting_options const *options, size_t *width); static char *make_link_name (char const *name, char const *linkname); static int decode_switches (int argc, char **argv); static bool file_ignored (char const *name); static uintmax_t gobble_file (char const *name, enum filetype type, ino_t inode, bool command_line_arg, char const *dirname); static bool print_color_indicator (const struct fileinfo *f, bool symlink_target); static void put_indicator (const struct bin_str *ind); static void add_ignore_pattern (const char *pattern); static void attach (char *dest, const char *dirname, const char *name); static void clear_files (void); static void extract_dirs_from_files (char const *dirname, bool command_line_arg); static void get_link_name (char const *filename, struct fileinfo *f, bool command_line_arg); static void indent (size_t from, size_t to); static size_t calculate_columns (bool by_columns); static void print_current_files (void); static void print_dir (char const *name, char const *realname, bool command_line_arg); static size_t print_file_name_and_frills (const struct fileinfo *f, size_t start_col); static void print_horizontal (void); static int format_user_width (uid_t u); static int format_group_width (gid_t g); static void print_long_format (const struct fileinfo *f); static void print_many_per_line (void); static size_t print_name_with_quoting (const struct fileinfo *f, bool symlink_target, struct obstack *stack, size_t start_col); static void prep_non_filename_text (void); static bool print_type_indicator (bool stat_ok, mode_t mode, enum filetype type); static void print_with_commas (void); static void queue_directory (char const *name, char const *realname, bool command_line_arg); static void sort_files (void); static void parse_ls_color (void); /* Initial size of hash table. Most hierarchies are likely to be shallower than this. */ #define INITIAL_TABLE_SIZE 30 /* The set of 'active' directories, from the current command-line argument to the level in the hierarchy at which files are being listed. A directory is represented by its device and inode numbers (struct dev_ino). A directory is added to this set when ls begins listing it or its entries, and it is removed from the set just after ls has finished processing it. This set is used solely to detect loops, e.g., with mkdir loop; cd loop; ln -s ../loop sub; ls -RL */ static Hash_table *active_dir_set; #define LOOP_DETECT (!!active_dir_set) /* The table of files in the current directory: 'cwd_file' points to a vector of 'struct fileinfo', one per file. 'cwd_n_alloc' is the number of elements space has been allocated for. 'cwd_n_used' is the number actually in use. */ /* Address of block containing the files that are described. */ static struct fileinfo *cwd_file; /* Length of block that 'cwd_file' points to, measured in files. */ static size_t cwd_n_alloc; /* Index of first unused slot in 'cwd_file'. */ static size_t cwd_n_used; /* Vector of pointers to files, in proper sorted order, and the number of entries allocated for it. */ static void **sorted_file; static size_t sorted_file_alloc; /* When true, in a color listing, color each symlink name according to the type of file it points to. Otherwise, color them according to the 'ln' directive in LS_COLORS. Dangling (orphan) symlinks are treated specially, regardless. This is set when 'ln=target' appears in LS_COLORS. */ static bool color_symlink_as_referent; /* mode of appropriate file for colorization */ #define FILE_OR_LINK_MODE(File) \ ((color_symlink_as_referent && (File)->linkok) \ ? (File)->linkmode : (File)->stat.st_mode) /* Record of one pending directory waiting to be listed. */ struct pending { char *name; /* If the directory is actually the file pointed to by a symbolic link we were told to list, 'realname' will contain the name of the symbolic link, otherwise zero. */ char *realname; bool command_line_arg; struct pending *next; }; static struct pending *pending_dirs; /* Current time in seconds and nanoseconds since 1970, updated as needed when deciding whether a file is recent. */ static struct timespec current_time; static bool print_scontext; static char UNKNOWN_SECURITY_CONTEXT[] = "?"; /* Whether any of the files has an ACL. This affects the width of the mode column. */ static bool any_has_acl; /* The number of columns to use for columns containing inode numbers, block sizes, link counts, owners, groups, authors, major device numbers, minor device numbers, and file sizes, respectively. */ static int inode_number_width; static int block_size_width; static int nlink_width; static int scontext_width; static int owner_width; static int group_width; static int author_width; static int major_device_number_width; static int minor_device_number_width; static int file_size_width; /* Option flags */ /* long_format for lots of info, one per line. one_per_line for just names, one per line. many_per_line for just names, many per line, sorted vertically. horizontal for just names, many per line, sorted horizontally. with_commas for just names, many per line, separated by commas. -l (and other options that imply -l), -1, -C, -x and -m control this parameter. */ enum format { long_format, /* -l and other options that imply -l */ one_per_line, /* -1 */ many_per_line, /* -C */ horizontal, /* -x */ with_commas /* -m */ }; static enum format format; /* 'full-iso' uses full ISO-style dates and times. 'long-iso' uses longer ISO-style time stamps, though shorter than 'full-iso'. 'iso' uses shorter ISO-style time stamps. 'locale' uses locale-dependent time stamps. */ enum time_style { full_iso_time_style, /* --time-style=full-iso */ long_iso_time_style, /* --time-style=long-iso */ iso_time_style, /* --time-style=iso */ locale_time_style /* --time-style=locale */ }; static char const *const time_style_args[] = { "full-iso", "long-iso", "iso", "locale", NULL }; static enum time_style const time_style_types[] = { full_iso_time_style, long_iso_time_style, iso_time_style, locale_time_style }; ARGMATCH_VERIFY (time_style_args, time_style_types); /* Type of time to print or sort by. Controlled by -c and -u. The values of each item of this enum are important since they are used as indices in the sort functions array (see sort_files()). */ enum time_type { time_mtime, /* default */ time_ctime, /* -c */ time_atime, /* -u */ time_numtypes /* the number of elements of this enum */ }; static enum time_type time_type; /* The file characteristic to sort by. Controlled by -t, -S, -U, -X, -v. The values of each item of this enum are important since they are used as indices in the sort functions array (see sort_files()). */ enum sort_type { sort_none = -1, /* -U */ sort_name, /* default */ sort_extension, /* -X */ sort_size, /* -S */ sort_version, /* -v */ sort_time, /* -t */ sort_numtypes /* the number of elements of this enum */ }; static enum sort_type sort_type; /* Direction of sort. false means highest first if numeric, lowest first if alphabetic; these are the defaults. true means the opposite order in each case. -r */ static bool sort_reverse; /* True means to display owner information. -g turns this off. */ static bool print_owner = true; /* True means to display author information. */ static bool print_author; /* True means to display group information. -G and -o turn this off. */ static bool print_group = true; /* True means print the user and group id's as numbers rather than as names. -n */ static bool numeric_ids; /* True means mention the size in blocks of each file. -s */ static bool print_block_size; /* Human-readable options for output, when printing block counts. */ static int human_output_opts; /* The units to use when printing block counts. */ static uintmax_t output_block_size; /* Likewise, but for file sizes. */ static int file_human_output_opts; static uintmax_t file_output_block_size = 1; /* Follow the output with a special string. Using this format, Emacs' dired mode starts up twice as fast, and can handle all strange characters in file names. */ static bool dired; /* 'none' means don't mention the type of files. 'slash' means mention directories only, with a '/'. 'file_type' means mention file types. 'classify' means mention file types and mark executables. Controlled by -F, -p, and --indicator-style. */ enum indicator_style { none, /* --indicator-style=none */ slash, /* -p, --indicator-style=slash */ file_type, /* --indicator-style=file-type */ classify /* -F, --indicator-style=classify */ }; static enum indicator_style indicator_style; /* Names of indicator styles. */ static char const *const indicator_style_args[] = { "none", "slash", "file-type", "classify", NULL }; static enum indicator_style const indicator_style_types[] = { none, slash, file_type, classify }; ARGMATCH_VERIFY (indicator_style_args, indicator_style_types); /* True means use colors to mark types. Also define the different colors as well as the stuff for the LS_COLORS environment variable. The LS_COLORS variable is now in a termcap-like format. */ static bool print_with_color; /* Whether we used any colors in the output so far. If so, we will need to restore the default color later. If not, we will need to call prep_non_filename_text before using color for the first time. */ static bool used_color = false; enum color_type { color_never, /* 0: default or --color=never */ color_always, /* 1: --color=always */ color_if_tty /* 2: --color=tty */ }; enum Dereference_symlink { DEREF_UNDEFINED = 1, DEREF_NEVER, DEREF_COMMAND_LINE_ARGUMENTS, /* -H */ DEREF_COMMAND_LINE_SYMLINK_TO_DIR, /* the default, in certain cases */ DEREF_ALWAYS /* -L */ }; enum indicator_no { C_LEFT, C_RIGHT, C_END, C_RESET, C_NORM, C_FILE, C_DIR, C_LINK, C_FIFO, C_SOCK, C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_SETUID, C_SETGID, C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE, C_CAP, C_MULTIHARDLINK, C_CLR_TO_EOL }; static const char *const indicator_name[]= { "lc", "rc", "ec", "rs", "no", "fi", "di", "ln", "pi", "so", "bd", "cd", "mi", "or", "ex", "do", "su", "sg", "st", "ow", "tw", "ca", "mh", "cl", NULL }; struct color_ext_type { struct bin_str ext; /* The extension we're looking for */ struct bin_str seq; /* The sequence to output when we do */ struct color_ext_type *next; /* Next in list */ }; static struct bin_str color_indicator[] = { { LEN_STR_PAIR ("\033[") }, /* lc: Left of color sequence */ { LEN_STR_PAIR ("m") }, /* rc: Right of color sequence */ { 0, NULL }, /* ec: End color (replaces lc+no+rc) */ { LEN_STR_PAIR ("0") }, /* rs: Reset to ordinary colors */ { 0, NULL }, /* no: Normal */ { 0, NULL }, /* fi: File: default */ { LEN_STR_PAIR ("01;34") }, /* di: Directory: bright blue */ { LEN_STR_PAIR ("01;36") }, /* ln: Symlink: bright cyan */ { LEN_STR_PAIR ("33") }, /* pi: Pipe: yellow/brown */ { LEN_STR_PAIR ("01;35") }, /* so: Socket: bright magenta */ { LEN_STR_PAIR ("01;33") }, /* bd: Block device: bright yellow */ { LEN_STR_PAIR ("01;33") }, /* cd: Char device: bright yellow */ { 0, NULL }, /* mi: Missing file: undefined */ { 0, NULL }, /* or: Orphaned symlink: undefined */ { LEN_STR_PAIR ("01;32") }, /* ex: Executable: bright green */ { LEN_STR_PAIR ("01;35") }, /* do: Door: bright magenta */ { LEN_STR_PAIR ("37;41") }, /* su: setuid: white on red */ { LEN_STR_PAIR ("30;43") }, /* sg: setgid: black on yellow */ { LEN_STR_PAIR ("37;44") }, /* st: sticky: black on blue */ { LEN_STR_PAIR ("34;42") }, /* ow: other-writable: blue on green */ { LEN_STR_PAIR ("30;42") }, /* tw: ow w/ sticky: black on green */ { LEN_STR_PAIR ("30;41") }, /* ca: black on red */ { 0, NULL }, /* mh: disabled by default */ { LEN_STR_PAIR ("\033[K") }, /* cl: clear to end of line */ }; /* FIXME: comment */ static struct color_ext_type *color_ext_list = NULL; /* Buffer for color sequences */ static char *color_buf; /* True means to check for orphaned symbolic link, for displaying colors. */ static bool check_symlink_color; /* True means mention the inode number of each file. -i */ static bool print_inode; /* What to do with symbolic links. Affected by -d, -F, -H, -l (and other options that imply -l), and -L. */ static enum Dereference_symlink dereference; /* True means when a directory is found, display info on its contents. -R */ static bool recursive; /* True means when an argument is a directory name, display info on it itself. -d */ static bool immediate_dirs; /* True means that directories are grouped before files. */ static bool directories_first; /* Which files to ignore. */ static enum { /* Ignore files whose names start with '.', and files specified by --hide and --ignore. */ IGNORE_DEFAULT, /* Ignore '.', '..', and files specified by --ignore. */ IGNORE_DOT_AND_DOTDOT, /* Ignore only files specified by --ignore. */ IGNORE_MINIMAL } ignore_mode; /* A linked list of shell-style globbing patterns. If a non-argument file name matches any of these patterns, it is ignored. Controlled by -I. Multiple -I options accumulate. The -B option adds '*~' and '.*~' to this list. */ struct ignore_pattern { const char *pattern; struct ignore_pattern *next; }; static struct ignore_pattern *ignore_patterns; /* Similar to IGNORE_PATTERNS, except that -a or -A causes this variable itself to be ignored. */ static struct ignore_pattern *hide_patterns; /* True means output nongraphic chars in file names as '?'. (-q, --hide-control-chars) qmark_funny_chars and the quoting style (-Q, --quoting-style=WORD) are independent. The algorithm is: first, obey the quoting style to get a string representing the file name; then, if qmark_funny_chars is set, replace all nonprintable chars in that string with '?'. It's necessary to replace nonprintable chars even in quoted strings, because we don't want to mess up the terminal if control chars get sent to it, and some quoting methods pass through control chars as-is. */ static bool qmark_funny_chars; /* Quoting options for file and dir name output. */ static struct quoting_options *filename_quoting_options; static struct quoting_options *dirname_quoting_options; /* The number of chars per hardware tab stop. Setting this to zero inhibits the use of TAB characters for separating columns. -T */ static size_t tabsize; /* True means print each directory name before listing it. */ static bool print_dir_name; /* The line length to use for breaking lines in many-per-line format. Can be set with -w. */ static size_t line_length; /* If true, the file listing format requires that stat be called on each file. */ static bool format_needs_stat; /* Similar to 'format_needs_stat', but set if only the file type is needed. */ static bool format_needs_type; /* An arbitrary limit on the number of bytes in a printed time stamp. This is set to a relatively small value to avoid the need to worry about denial-of-service attacks on servers that run "ls" on behalf of remote clients. 1000 bytes should be enough for any practical time stamp format. */ enum { TIME_STAMP_LEN_MAXIMUM = MAX (1000, INT_STRLEN_BOUND (time_t)) }; /* strftime formats for non-recent and recent files, respectively, in -l output. */ static char const *long_time_format[2] = { /* strftime format for non-recent files (older than 6 months), in -l output. This should contain the year, month and day (at least), in an order that is understood by people in your locale's territory. Please try to keep the number of used screen columns small, because many people work in windows with only 80 columns. But make this as wide as the other string below, for recent files. */ /* TRANSLATORS: ls output needs to be aligned for ease of reading, so be wary of using variable width fields from the locale. Note %b is handled specially by ls and aligned correctly. Note also that specifying a width as in %5b is erroneous as strftime will count bytes rather than characters in multibyte locales. */ N_("%b %e %Y"), /* strftime format for recent files (younger than 6 months), in -l output. This should contain the month, day and time (at least), in an order that is understood by people in your locale's territory. Please try to keep the number of used screen columns small, because many people work in windows with only 80 columns. But make this as wide as the other string above, for non-recent files. */ /* TRANSLATORS: ls output needs to be aligned for ease of reading, so be wary of using variable width fields from the locale. Note %b is handled specially by ls and aligned correctly. Note also that specifying a width as in %5b is erroneous as strftime will count bytes rather than characters in multibyte locales. */ N_("%b %e %H:%M") }; /* The set of signals that are caught. */ static sigset_t caught_signals; /* If nonzero, the value of the pending fatal signal. */ static sig_atomic_t volatile interrupt_signal; /* A count of the number of pending stop signals that have been received. */ static sig_atomic_t volatile stop_signal_count; /* Desired exit status. */ static int exit_status; /* Exit statuses. */ enum { /* "ls" had a minor problem. E.g., while processing a directory, ls obtained the name of an entry via readdir, yet was later unable to stat that name. This happens when listing a directory in which entries are actively being removed or renamed. */ LS_MINOR_PROBLEM = 1, /* "ls" had more serious trouble (e.g., memory exhausted, invalid option or failure to stat a command line argument. */ LS_FAILURE = 2 }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { AUTHOR_OPTION = CHAR_MAX + 1, BLOCK_SIZE_OPTION, COLOR_OPTION, DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION, FILE_TYPE_INDICATOR_OPTION, FORMAT_OPTION, FULL_TIME_OPTION, GROUP_DIRECTORIES_FIRST_OPTION, HIDE_OPTION, INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION, SHOW_CONTROL_CHARS_OPTION, SI_OPTION, SORT_OPTION, TIME_OPTION, TIME_STYLE_OPTION }; static struct option const long_options[] = { {"all", no_argument, NULL, 'a'}, {"escape", no_argument, NULL, 'b'}, {"directory", no_argument, NULL, 'd'}, {"dired", no_argument, NULL, 'D'}, {"full-time", no_argument, NULL, FULL_TIME_OPTION}, {"group-directories-first", no_argument, NULL, GROUP_DIRECTORIES_FIRST_OPTION}, {"human-readable", no_argument, NULL, 'h'}, {"inode", no_argument, NULL, 'i'}, {"kibibytes", no_argument, NULL, 'k'}, {"numeric-uid-gid", no_argument, NULL, 'n'}, {"no-group", no_argument, NULL, 'G'}, {"hide-control-chars", no_argument, NULL, 'q'}, {"reverse", no_argument, NULL, 'r'}, {"size", no_argument, NULL, 's'}, {"width", required_argument, NULL, 'w'}, {"almost-all", no_argument, NULL, 'A'}, {"ignore-backups", no_argument, NULL, 'B'}, {"classify", no_argument, NULL, 'F'}, {"file-type", no_argument, NULL, FILE_TYPE_INDICATOR_OPTION}, {"si", no_argument, NULL, SI_OPTION}, {"dereference-command-line", no_argument, NULL, 'H'}, {"dereference-command-line-symlink-to-dir", no_argument, NULL, DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION}, {"hide", required_argument, NULL, HIDE_OPTION}, {"ignore", required_argument, NULL, 'I'}, {"indicator-style", required_argument, NULL, INDICATOR_STYLE_OPTION}, {"dereference", no_argument, NULL, 'L'}, {"literal", no_argument, NULL, 'N'}, {"quote-name", no_argument, NULL, 'Q'}, {"quoting-style", required_argument, NULL, QUOTING_STYLE_OPTION}, {"recursive", no_argument, NULL, 'R'}, {"format", required_argument, NULL, FORMAT_OPTION}, {"show-control-chars", no_argument, NULL, SHOW_CONTROL_CHARS_OPTION}, {"sort", required_argument, NULL, SORT_OPTION}, {"tabsize", required_argument, NULL, 'T'}, {"time", required_argument, NULL, TIME_OPTION}, {"time-style", required_argument, NULL, TIME_STYLE_OPTION}, {"color", optional_argument, NULL, COLOR_OPTION}, {"block-size", required_argument, NULL, BLOCK_SIZE_OPTION}, {"context", no_argument, 0, 'Z'}, {"author", no_argument, NULL, AUTHOR_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static char const *const format_args[] = { "verbose", "long", "commas", "horizontal", "across", "vertical", "single-column", NULL }; static enum format const format_types[] = { long_format, long_format, with_commas, horizontal, horizontal, many_per_line, one_per_line }; ARGMATCH_VERIFY (format_args, format_types); static char const *const sort_args[] = { "none", "time", "size", "extension", "version", NULL }; static enum sort_type const sort_types[] = { sort_none, sort_time, sort_size, sort_extension, sort_version }; ARGMATCH_VERIFY (sort_args, sort_types); static char const *const time_args[] = { "atime", "access", "use", "ctime", "status", NULL }; static enum time_type const time_types[] = { time_atime, time_atime, time_atime, time_ctime, time_ctime }; ARGMATCH_VERIFY (time_args, time_types); static char const *const color_args[] = { /* force and none are for compatibility with another color-ls version */ "always", "yes", "force", "never", "no", "none", "auto", "tty", "if-tty", NULL }; static enum color_type const color_types[] = { color_always, color_always, color_always, color_never, color_never, color_never, color_if_tty, color_if_tty, color_if_tty }; ARGMATCH_VERIFY (color_args, color_types); /* Information about filling a column. */ struct column_info { bool valid_len; size_t line_len; size_t *col_arr; }; /* Array with information about column filledness. */ static struct column_info *column_info; /* Maximum number of columns ever possible for this display. */ static size_t max_idx; /* The minimum width of a column is 3: 1 character for the name and 2 for the separating white space. */ #define MIN_COLUMN_WIDTH 3 /* This zero-based index is used solely with the --dired option. When that option is in effect, this counter is incremented for each byte of output generated by this program so that the beginning and ending indices (in that output) of every file name can be recorded and later output themselves. */ static size_t dired_pos; #define DIRED_PUTCHAR(c) do {putchar ((c)); ++dired_pos;} while (0) /* Write S to STREAM and increment DIRED_POS by S_LEN. */ #define DIRED_FPUTS(s, stream, s_len) \ do {fputs (s, stream); dired_pos += s_len;} while (0) /* Like DIRED_FPUTS, but for use when S is a literal string. */ #define DIRED_FPUTS_LITERAL(s, stream) \ do {fputs (s, stream); dired_pos += sizeof (s) - 1;} while (0) #define DIRED_INDENT() \ do \ { \ if (dired) \ DIRED_FPUTS_LITERAL (" ", stdout); \ } \ while (0) /* With --dired, store pairs of beginning and ending indices of filenames. */ static struct obstack dired_obstack; /* With --dired, store pairs of beginning and ending indices of any directory names that appear as headers (just before 'total' line) for lists of directory entries. Such directory names are seen when listing hierarchies using -R and when a directory is listed with at least one other command line argument. */ static struct obstack subdired_obstack; /* Save the current index on the specified obstack, OBS. */ #define PUSH_CURRENT_DIRED_POS(obs) \ do \ { \ if (dired) \ obstack_grow (obs, &dired_pos, sizeof (dired_pos)); \ } \ while (0) /* With -R, this stack is used to help detect directory cycles. The device/inode pairs on this stack mirror the pairs in the active_dir_set hash table. */ static struct obstack dev_ino_obstack; /* Push a pair onto the device/inode stack. */ #define DEV_INO_PUSH(Dev, Ino) \ do \ { \ struct dev_ino *di; \ obstack_blank (&dev_ino_obstack, sizeof (struct dev_ino)); \ di = -1 + (struct dev_ino *) obstack_next_free (&dev_ino_obstack); \ di->st_dev = (Dev); \ di->st_ino = (Ino); \ } \ while (0) /* Pop a dev/ino struct off the global dev_ino_obstack and return that struct. */ static struct dev_ino dev_ino_pop (void) { assert (sizeof (struct dev_ino) <= obstack_object_size (&dev_ino_obstack)); obstack_blank (&dev_ino_obstack, -(int) (sizeof (struct dev_ino))); return *(struct dev_ino *) obstack_next_free (&dev_ino_obstack); } /* Note the use commented out below: #define ASSERT_MATCHING_DEV_INO(Name, Di) \ do \ { \ struct stat sb; \ assert (Name); \ assert (0 <= stat (Name, &sb)); \ assert (sb.st_dev == Di.st_dev); \ assert (sb.st_ino == Di.st_ino); \ } \ while (0) */ /* Write to standard output PREFIX, followed by the quoting style and a space-separated list of the integers stored in OS all on one line. */ static void dired_dump_obstack (const char *prefix, struct obstack *os) { size_t n_pos; n_pos = obstack_object_size (os) / sizeof (dired_pos); if (n_pos > 0) { size_t i; size_t *pos; pos = (size_t *) obstack_finish (os); fputs (prefix, stdout); for (i = 0; i < n_pos; i++) printf (" %lu", (unsigned long int) pos[i]); putchar ('\n'); } } /* Read the abbreviated month names from the locale, to align them and to determine the max width of the field and to truncate names greater than our max allowed. Note even though this handles multibyte locales correctly it's not restricted to them as single byte locales can have variable width abbreviated months and also precomputing/caching the names was seen to increase the performance of ls significantly. */ /* max number of display cells to use */ enum { MAX_MON_WIDTH = 5 }; /* In the unlikely event that the abmon[] storage is not big enough an error message will be displayed, and we revert to using unmodified abbreviated month names from the locale database. */ static char abmon[12][MAX_MON_WIDTH * 2 * MB_LEN_MAX + 1]; /* minimum width needed to align %b, 0 => don't use precomputed values. */ static size_t required_mon_width; static size_t abmon_init (void) { #ifdef HAVE_NL_LANGINFO required_mon_width = MAX_MON_WIDTH; size_t curr_max_width; do { curr_max_width = required_mon_width; required_mon_width = 0; for (int i = 0; i < 12; i++) { size_t width = curr_max_width; size_t req = mbsalign (nl_langinfo (ABMON_1 + i), abmon[i], sizeof (abmon[i]), &width, MBS_ALIGN_LEFT, 0); if (req == (size_t) -1 || req >= sizeof (abmon[i])) { required_mon_width = 0; /* ignore precomputed strings. */ return required_mon_width; } required_mon_width = MAX (required_mon_width, width); } } while (curr_max_width > required_mon_width); #endif return required_mon_width; } static size_t dev_ino_hash (void const *x, size_t table_size) { struct dev_ino const *p = x; return (uintmax_t) p->st_ino % table_size; } static bool dev_ino_compare (void const *x, void const *y) { struct dev_ino const *a = x; struct dev_ino const *b = y; return SAME_INODE (*a, *b) ? true : false; } static void dev_ino_free (void *x) { free (x); } /* Add the device/inode pair (P->st_dev/P->st_ino) to the set of active directories. Return true if there is already a matching entry in the table. */ static bool visit_dir (dev_t dev, ino_t ino) { struct dev_ino *ent; struct dev_ino *ent_from_table; bool found_match; ent = xmalloc (sizeof *ent); ent->st_ino = ino; ent->st_dev = dev; /* Attempt to insert this entry into the table. */ ent_from_table = hash_insert (active_dir_set, ent); if (ent_from_table == NULL) { /* Insertion failed due to lack of memory. */ xalloc_die (); } found_match = (ent_from_table != ent); if (found_match) { /* ent was not inserted, so free it. */ free (ent); } return found_match; } static void free_pending_ent (struct pending *p) { free (p->name); free (p->realname); free (p); } static bool is_colored (enum indicator_no type) { size_t len = color_indicator[type].len; char const *s = color_indicator[type].string; return ! (len == 0 || (len == 1 && STRNCMP_LIT (s, "0") == 0) || (len == 2 && STRNCMP_LIT (s, "00") == 0)); } static void restore_default_color (void) { put_indicator (&color_indicator[C_LEFT]); put_indicator (&color_indicator[C_RIGHT]); } static void set_normal_color (void) { if (print_with_color && is_colored (C_NORM)) { put_indicator (&color_indicator[C_LEFT]); put_indicator (&color_indicator[C_NORM]); put_indicator (&color_indicator[C_RIGHT]); } } /* An ordinary signal was received; arrange for the program to exit. */ static void sighandler (int sig) { if (! SA_NOCLDSTOP) signal (sig, SIG_IGN); if (! interrupt_signal) interrupt_signal = sig; } /* A SIGTSTP was received; arrange for the program to suspend itself. */ static void stophandler (int sig) { if (! SA_NOCLDSTOP) signal (sig, stophandler); if (! interrupt_signal) stop_signal_count++; } /* Process any pending signals. If signals are caught, this function should be called periodically. Ideally there should never be an unbounded amount of time when signals are not being processed. Signal handling can restore the default colors, so callers must immediately change colors after invoking this function. */ static void process_signals (void) { while (interrupt_signal || stop_signal_count) { int sig; int stops; sigset_t oldset; if (used_color) restore_default_color (); fflush (stdout); sigprocmask (SIG_BLOCK, &caught_signals, &oldset); /* Reload interrupt_signal and stop_signal_count, in case a new signal was handled before sigprocmask took effect. */ sig = interrupt_signal; stops = stop_signal_count; /* SIGTSTP is special, since the application can receive that signal more than once. In this case, don't set the signal handler to the default. Instead, just raise the uncatchable SIGSTOP. */ if (stops) { stop_signal_count = stops - 1; sig = SIGSTOP; } else signal (sig, SIG_DFL); /* Exit or suspend the program. */ raise (sig); sigprocmask (SIG_SETMASK, &oldset, NULL); /* If execution reaches here, then the program has been continued (after being suspended). */ } } int main (int argc, char **argv) { int i; struct pending *thispend; int n_files; /* The signals that are trapped, and the number of such signals. */ static int const sig[] = { /* This one is handled specially. */ SIGTSTP, /* The usual suspects. */ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, #ifdef SIGPOLL SIGPOLL, #endif #ifdef SIGPROF SIGPROF, #endif #ifdef SIGVTALRM SIGVTALRM, #endif #ifdef SIGXCPU SIGXCPU, #endif #ifdef SIGXFSZ SIGXFSZ, #endif }; enum { nsigs = ARRAY_CARDINALITY (sig) }; #if ! SA_NOCLDSTOP bool caught_sig[nsigs]; #endif initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (LS_FAILURE); atexit (close_stdout); assert (ARRAY_CARDINALITY (color_indicator) + 1 == ARRAY_CARDINALITY (indicator_name)); exit_status = EXIT_SUCCESS; print_dir_name = true; pending_dirs = NULL; current_time.tv_sec = TYPE_MINIMUM (time_t); current_time.tv_nsec = -1; i = decode_switches (argc, argv); if (print_with_color) parse_ls_color (); /* Test print_with_color again, because the call to parse_ls_color may have just reset it -- e.g., if LS_COLORS is invalid. */ if (print_with_color) { /* Avoid following symbolic links when possible. */ if (is_colored (C_ORPHAN) || (is_colored (C_EXEC) && color_symlink_as_referent) || (is_colored (C_MISSING) && format == long_format)) check_symlink_color = true; /* If the standard output is a controlling terminal, watch out for signals, so that the colors can be restored to the default state if "ls" is suspended or interrupted. */ if (0 <= tcgetpgrp (STDOUT_FILENO)) { int j; #if SA_NOCLDSTOP struct sigaction act; sigemptyset (&caught_signals); for (j = 0; j < nsigs; j++) { sigaction (sig[j], NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&caught_signals, sig[j]); } act.sa_mask = caught_signals; act.sa_flags = SA_RESTART; for (j = 0; j < nsigs; j++) if (sigismember (&caught_signals, sig[j])) { act.sa_handler = sig[j] == SIGTSTP ? stophandler : sighandler; sigaction (sig[j], &act, NULL); } #else for (j = 0; j < nsigs; j++) { caught_sig[j] = (signal (sig[j], SIG_IGN) != SIG_IGN); if (caught_sig[j]) { signal (sig[j], sig[j] == SIGTSTP ? stophandler : sighandler); siginterrupt (sig[j], 0); } } #endif } } if (dereference == DEREF_UNDEFINED) dereference = ((immediate_dirs || indicator_style == classify || format == long_format) ? DEREF_NEVER : DEREF_COMMAND_LINE_SYMLINK_TO_DIR); /* When using -R, initialize a data structure we'll use to detect any directory cycles. */ if (recursive) { active_dir_set = hash_initialize (INITIAL_TABLE_SIZE, NULL, dev_ino_hash, dev_ino_compare, dev_ino_free); if (active_dir_set == NULL) xalloc_die (); obstack_init (&dev_ino_obstack); } format_needs_stat = sort_type == sort_time || sort_type == sort_size || format == long_format || print_scontext || print_block_size; format_needs_type = (! format_needs_stat && (recursive || print_with_color || indicator_style != none || directories_first)); if (dired) { obstack_init (&dired_obstack); obstack_init (&subdired_obstack); } cwd_n_alloc = 100; cwd_file = xnmalloc (cwd_n_alloc, sizeof *cwd_file); cwd_n_used = 0; clear_files (); n_files = argc - i; if (n_files <= 0) { if (immediate_dirs) gobble_file (".", directory, NOT_AN_INODE_NUMBER, true, ""); else queue_directory (".", NULL, true); } else do gobble_file (argv[i++], unknown, NOT_AN_INODE_NUMBER, true, ""); while (i < argc); if (cwd_n_used) { sort_files (); if (!immediate_dirs) extract_dirs_from_files (NULL, true); /* 'cwd_n_used' might be zero now. */ } /* In the following if/else blocks, it is sufficient to test 'pending_dirs' (and not pending_dirs->name) because there may be no markers in the queue at this point. A marker may be enqueued when extract_dirs_from_files is called with a non-empty string or via print_dir. */ if (cwd_n_used) { print_current_files (); if (pending_dirs) DIRED_PUTCHAR ('\n'); } else if (n_files <= 1 && pending_dirs && pending_dirs->next == 0) print_dir_name = false; while (pending_dirs) { thispend = pending_dirs; pending_dirs = pending_dirs->next; if (LOOP_DETECT) { if (thispend->name == NULL) { /* thispend->name == NULL means this is a marker entry indicating we've finished processing the directory. Use its dev/ino numbers to remove the corresponding entry from the active_dir_set hash table. */ struct dev_ino di = dev_ino_pop (); struct dev_ino *found = hash_delete (active_dir_set, &di); /* ASSERT_MATCHING_DEV_INO (thispend->realname, di); */ assert (found); dev_ino_free (found); free_pending_ent (thispend); continue; } } print_dir (thispend->name, thispend->realname, thispend->command_line_arg); free_pending_ent (thispend); print_dir_name = true; } if (print_with_color) { int j; if (used_color) { /* Skip the restore when it would be a no-op, i.e., when left is "\033[" and right is "m". */ if (!(color_indicator[C_LEFT].len == 2 && memcmp (color_indicator[C_LEFT].string, "\033[", 2) == 0 && color_indicator[C_RIGHT].len == 1 && color_indicator[C_RIGHT].string[0] == 'm')) restore_default_color (); } fflush (stdout); /* Restore the default signal handling. */ #if SA_NOCLDSTOP for (j = 0; j < nsigs; j++) if (sigismember (&caught_signals, sig[j])) signal (sig[j], SIG_DFL); #else for (j = 0; j < nsigs; j++) if (caught_sig[j]) signal (sig[j], SIG_DFL); #endif /* Act on any signals that arrived before the default was restored. This can process signals out of order, but there doesn't seem to be an easy way to do them in order, and the order isn't that important anyway. */ for (j = stop_signal_count; j; j--) raise (SIGSTOP); j = interrupt_signal; if (j) raise (j); } if (dired) { /* No need to free these since we're about to exit. */ dired_dump_obstack ("//DIRED//", &dired_obstack); dired_dump_obstack ("//SUBDIRED//", &subdired_obstack); printf ("//DIRED-OPTIONS// --quoting-style=%s\n", quoting_style_args[get_quoting_style (filename_quoting_options)]); } if (LOOP_DETECT) { assert (hash_get_n_entries (active_dir_set) == 0); hash_free (active_dir_set); } exit (exit_status); } /* Set all the option flags according to the switches specified. Return the index of the first non-option argument. */ static int decode_switches (int argc, char **argv) { char *time_style_option = NULL; bool sort_type_specified = false; bool kibibytes_specified = false; qmark_funny_chars = false; /* initialize all switches to default settings */ switch (ls_mode) { case LS_MULTI_COL: /* This is for the 'dir' program. */ format = many_per_line; set_quoting_style (NULL, escape_quoting_style); break; case LS_LONG_FORMAT: /* This is for the 'vdir' program. */ format = long_format; set_quoting_style (NULL, escape_quoting_style); break; case LS_LS: /* This is for the 'ls' program. */ if (isatty (STDOUT_FILENO)) { format = many_per_line; /* See description of qmark_funny_chars, above. */ qmark_funny_chars = true; } else { format = one_per_line; qmark_funny_chars = false; } break; default: abort (); } time_type = time_mtime; sort_type = sort_name; sort_reverse = false; numeric_ids = false; print_block_size = false; indicator_style = none; print_inode = false; dereference = DEREF_UNDEFINED; recursive = false; immediate_dirs = false; ignore_mode = IGNORE_DEFAULT; ignore_patterns = NULL; hide_patterns = NULL; print_scontext = false; /* FIXME: put this in a function. */ { char const *q_style = getenv ("QUOTING_STYLE"); if (q_style) { int i = ARGMATCH (q_style, quoting_style_args, quoting_style_vals); if (0 <= i) set_quoting_style (NULL, quoting_style_vals[i]); else error (0, 0, _("ignoring invalid value of environment variable QUOTING_STYLE: %s"), quotearg (q_style)); } } line_length = 80; { char const *p = getenv ("COLUMNS"); if (p && *p) { unsigned long int tmp_ulong; if (xstrtoul (p, NULL, 0, &tmp_ulong, NULL) == LONGINT_OK && 0 < tmp_ulong && tmp_ulong <= SIZE_MAX) { line_length = tmp_ulong; } else { error (0, 0, _("ignoring invalid width in environment variable COLUMNS: %s"), quotearg (p)); } } } #ifdef TIOCGWINSZ { struct winsize ws; if (ioctl (STDOUT_FILENO, TIOCGWINSZ, &ws) != -1 && 0 < ws.ws_col && ws.ws_col == (size_t) ws.ws_col) line_length = ws.ws_col; } #endif { char const *p = getenv ("TABSIZE"); tabsize = 8; if (p) { unsigned long int tmp_ulong; if (xstrtoul (p, NULL, 0, &tmp_ulong, NULL) == LONGINT_OK && tmp_ulong <= SIZE_MAX) { tabsize = tmp_ulong; } else { error (0, 0, _("ignoring invalid tab size in environment variable TABSIZE: %s"), quotearg (p)); } } } while (true) { int oi = -1; int c = getopt_long (argc, argv, "abcdfghiklmnopqrstuvw:xABCDFGHI:LNQRST:UXZ1", long_options, &oi); if (c == -1) break; switch (c) { case 'a': ignore_mode = IGNORE_MINIMAL; break; case 'b': set_quoting_style (NULL, escape_quoting_style); break; case 'c': time_type = time_ctime; break; case 'd': immediate_dirs = true; break; case 'f': /* Same as enabling -a -U and disabling -l -s. */ ignore_mode = IGNORE_MINIMAL; sort_type = sort_none; sort_type_specified = true; /* disable -l */ if (format == long_format) format = (isatty (STDOUT_FILENO) ? many_per_line : one_per_line); print_block_size = false; /* disable -s */ print_with_color = false; /* disable --color */ break; case FILE_TYPE_INDICATOR_OPTION: /* --file-type */ indicator_style = file_type; break; case 'g': format = long_format; print_owner = false; break; case 'h': file_human_output_opts = human_output_opts = human_autoscale | human_SI | human_base_1024; file_output_block_size = output_block_size = 1; break; case 'i': print_inode = true; break; case 'k': kibibytes_specified = true; break; case 'l': format = long_format; break; case 'm': format = with_commas; break; case 'n': numeric_ids = true; format = long_format; break; case 'o': /* Just like -l, but don't display group info. */ format = long_format; print_group = false; break; case 'p': indicator_style = slash; break; case 'q': qmark_funny_chars = true; break; case 'r': sort_reverse = true; break; case 's': print_block_size = true; break; case 't': sort_type = sort_time; sort_type_specified = true; break; case 'u': time_type = time_atime; break; case 'v': sort_type = sort_version; sort_type_specified = true; break; case 'w': { unsigned long int tmp_ulong; if (xstrtoul (optarg, NULL, 0, &tmp_ulong, NULL) != LONGINT_OK || ! (0 < tmp_ulong && tmp_ulong <= SIZE_MAX)) error (LS_FAILURE, 0, _("invalid line width: %s"), quotearg (optarg)); line_length = tmp_ulong; break; } case 'x': format = horizontal; break; case 'A': if (ignore_mode == IGNORE_DEFAULT) ignore_mode = IGNORE_DOT_AND_DOTDOT; break; case 'B': add_ignore_pattern ("*~"); add_ignore_pattern (".*~"); break; case 'C': format = many_per_line; break; case 'D': dired = true; break; case 'F': indicator_style = classify; break; case 'G': /* inhibit display of group info */ print_group = false; break; case 'H': dereference = DEREF_COMMAND_LINE_ARGUMENTS; break; case DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION: dereference = DEREF_COMMAND_LINE_SYMLINK_TO_DIR; break; case 'I': add_ignore_pattern (optarg); break; case 'L': dereference = DEREF_ALWAYS; break; case 'N': set_quoting_style (NULL, literal_quoting_style); break; case 'Q': set_quoting_style (NULL, c_quoting_style); break; case 'R': recursive = true; break; case 'S': sort_type = sort_size; sort_type_specified = true; break; case 'T': { unsigned long int tmp_ulong; if (xstrtoul (optarg, NULL, 0, &tmp_ulong, NULL) != LONGINT_OK || SIZE_MAX < tmp_ulong) error (LS_FAILURE, 0, _("invalid tab size: %s"), quotearg (optarg)); tabsize = tmp_ulong; break; } case 'U': sort_type = sort_none; sort_type_specified = true; break; case 'X': sort_type = sort_extension; sort_type_specified = true; break; case '1': /* -1 has no effect after -l. */ if (format != long_format) format = one_per_line; break; case AUTHOR_OPTION: print_author = true; break; case HIDE_OPTION: { struct ignore_pattern *hide = xmalloc (sizeof *hide); hide->pattern = optarg; hide->next = hide_patterns; hide_patterns = hide; } break; case SORT_OPTION: sort_type = XARGMATCH ("--sort", optarg, sort_args, sort_types); sort_type_specified = true; break; case GROUP_DIRECTORIES_FIRST_OPTION: directories_first = true; break; case TIME_OPTION: time_type = XARGMATCH ("--time", optarg, time_args, time_types); break; case FORMAT_OPTION: format = XARGMATCH ("--format", optarg, format_args, format_types); break; case FULL_TIME_OPTION: format = long_format; time_style_option = bad_cast ("full-iso"); break; case COLOR_OPTION: { int i; if (optarg) i = XARGMATCH ("--color", optarg, color_args, color_types); else /* Using --color with no argument is equivalent to using --color=always. */ i = color_always; print_with_color = (i == color_always || (i == color_if_tty && isatty (STDOUT_FILENO))); if (print_with_color) { /* Don't use TAB characters in output. Some terminal emulators can't handle the combination of tabs and color codes on the same line. */ tabsize = 0; } break; } case INDICATOR_STYLE_OPTION: indicator_style = XARGMATCH ("--indicator-style", optarg, indicator_style_args, indicator_style_types); break; case QUOTING_STYLE_OPTION: set_quoting_style (NULL, XARGMATCH ("--quoting-style", optarg, quoting_style_args, quoting_style_vals)); break; case TIME_STYLE_OPTION: time_style_option = optarg; break; case SHOW_CONTROL_CHARS_OPTION: qmark_funny_chars = false; break; case BLOCK_SIZE_OPTION: { enum strtol_error e = human_options (optarg, &human_output_opts, &output_block_size); if (e != LONGINT_OK) xstrtol_fatal (e, oi, 0, long_options, optarg); file_human_output_opts = human_output_opts; file_output_block_size = output_block_size; } break; case SI_OPTION: file_human_output_opts = human_output_opts = human_autoscale | human_SI; file_output_block_size = output_block_size = 1; break; case 'Z': print_scontext = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (LS_FAILURE); } } if (! output_block_size) { char const *ls_block_size = getenv ("LS_BLOCK_SIZE"); human_options (ls_block_size, &human_output_opts, &output_block_size); if (ls_block_size || getenv ("BLOCK_SIZE")) { file_human_output_opts = human_output_opts; file_output_block_size = output_block_size; } if (kibibytes_specified) { human_output_opts = 0; output_block_size = 1024; } } max_idx = MAX (1, line_length / MIN_COLUMN_WIDTH); filename_quoting_options = clone_quoting_options (NULL); if (get_quoting_style (filename_quoting_options) == escape_quoting_style) set_char_quoting (filename_quoting_options, ' ', 1); if (file_type <= indicator_style) { char const *p; for (p = "*=>@|" + indicator_style - file_type; *p; p++) set_char_quoting (filename_quoting_options, *p, 1); } dirname_quoting_options = clone_quoting_options (NULL); set_char_quoting (dirname_quoting_options, ':', 1); /* --dired is meaningful only with --format=long (-l). Otherwise, ignore it. FIXME: warn about this? Alternatively, make --dired imply --format=long? */ if (dired && format != long_format) dired = false; /* If -c or -u is specified and not -l (or any other option that implies -l), and no sort-type was specified, then sort by the ctime (-c) or atime (-u). The behavior of ls when using either -c or -u but with neither -l nor -t appears to be unspecified by POSIX. So, with GNU ls, '-u' alone means sort by atime (this is the one that's not specified by the POSIX spec), -lu means show atime and sort by name, -lut means show atime and sort by atime. */ if ((time_type == time_ctime || time_type == time_atime) && !sort_type_specified && format != long_format) { sort_type = sort_time; } if (format == long_format) { char *style = time_style_option; static char const posix_prefix[] = "posix-"; if (! style) if (! (style = getenv ("TIME_STYLE"))) style = bad_cast ("locale"); while (STREQ_LEN (style, posix_prefix, sizeof posix_prefix - 1)) { if (! hard_locale (LC_TIME)) return optind; style += sizeof posix_prefix - 1; } if (*style == '+') { char *p0 = style + 1; char *p1 = strchr (p0, '\n'); if (! p1) p1 = p0; else { if (strchr (p1 + 1, '\n')) error (LS_FAILURE, 0, _("invalid time style format %s"), quote (p0)); *p1++ = '\0'; } long_time_format[0] = p0; long_time_format[1] = p1; } else { ptrdiff_t res = argmatch (style, time_style_args, (char const *) time_style_types, sizeof (*time_style_types)); if (res < 0) { /* This whole block used to be a simple use of XARGMATCH. but that didn't print the "posix-"-prefixed variants or the "+"-prefixed format string option upon failure. */ argmatch_invalid ("time style", style, res); /* The following is a manual expansion of argmatch_valid, but with the added "+ ..." description and the [posix-] prefixes prepended. Note that this simplification works only because all four existing time_style_types values are distinct. */ fputs (_("Valid arguments are:\n"), stderr); char const *const *p = time_style_args; while (*p) fprintf (stderr, " - [posix-]%s\n", *p++); fputs (_(" - +FORMAT (e.g., +%H:%M) for a 'date'-style" " format\n"), stderr); usage (LS_FAILURE); } switch (res) { case full_iso_time_style: long_time_format[0] = long_time_format[1] = "%Y-%m-%d %H:%M:%S.%N %z"; break; case long_iso_time_style: long_time_format[0] = long_time_format[1] = "%Y-%m-%d %H:%M"; break; case iso_time_style: long_time_format[0] = "%Y-%m-%d "; long_time_format[1] = "%m-%d %H:%M"; break; case locale_time_style: if (hard_locale (LC_TIME)) { int i; for (i = 0; i < 2; i++) long_time_format[i] = dcgettext (NULL, long_time_format[i], LC_TIME); } } } /* Note we leave %5b etc. alone so user widths/flags are honored. */ if (strstr (long_time_format[0], "%b") || strstr (long_time_format[1], "%b")) if (!abmon_init ()) error (0, 0, _("error initializing month strings")); } return optind; } /* Parse a string as part of the LS_COLORS variable; this may involve decoding all kinds of escape characters. If equals_end is set an unescaped equal sign ends the string, otherwise only a : or \0 does. Set *OUTPUT_COUNT to the number of bytes output. Return true if successful. The resulting string is *not* null-terminated, but may contain embedded nulls. Note that both dest and src are char **; on return they point to the first free byte after the array and the character that ended the input string, respectively. */ static bool get_funky_string (char **dest, const char **src, bool equals_end, size_t *output_count) { char num; /* For numerical codes */ size_t count; /* Something to count with */ enum { ST_GND, ST_BACKSLASH, ST_OCTAL, ST_HEX, ST_CARET, ST_END, ST_ERROR } state; const char *p; char *q; p = *src; /* We don't want to double-indirect */ q = *dest; /* the whole darn time. */ count = 0; /* No characters counted in yet. */ num = 0; state = ST_GND; /* Start in ground state. */ while (state < ST_END) { switch (state) { case ST_GND: /* Ground state (no escapes) */ switch (*p) { case ':': case '\0': state = ST_END; /* End of string */ break; case '\\': state = ST_BACKSLASH; /* Backslash scape sequence */ ++p; break; case '^': state = ST_CARET; /* Caret escape */ ++p; break; case '=': if (equals_end) { state = ST_END; /* End */ break; } /* else fall through */ default: *(q++) = *(p++); ++count; break; } break; case ST_BACKSLASH: /* Backslash escaped character */ switch (*p) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': state = ST_OCTAL; /* Octal sequence */ num = *p - '0'; break; case 'x': case 'X': state = ST_HEX; /* Hex sequence */ num = 0; break; case 'a': /* Bell */ num = '\a'; break; case 'b': /* Backspace */ num = '\b'; break; case 'e': /* Escape */ num = 27; break; case 'f': /* Form feed */ num = '\f'; break; case 'n': /* Newline */ num = '\n'; break; case 'r': /* Carriage return */ num = '\r'; break; case 't': /* Tab */ num = '\t'; break; case 'v': /* Vtab */ num = '\v'; break; case '?': /* Delete */ num = 127; break; case '_': /* Space */ num = ' '; break; case '\0': /* End of string */ state = ST_ERROR; /* Error! */ break; default: /* Escaped character like \ ^ : = */ num = *p; break; } if (state == ST_BACKSLASH) { *(q++) = num; ++count; state = ST_GND; } ++p; break; case ST_OCTAL: /* Octal sequence */ if (*p < '0' || *p > '7') { *(q++) = num; ++count; state = ST_GND; } else num = (num << 3) + (*(p++) - '0'); break; case ST_HEX: /* Hex sequence */ switch (*p) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': num = (num << 4) + (*(p++) - '0'); break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': num = (num << 4) + (*(p++) - 'a') + 10; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': num = (num << 4) + (*(p++) - 'A') + 10; break; default: *(q++) = num; ++count; state = ST_GND; break; } break; case ST_CARET: /* Caret escape */ state = ST_GND; /* Should be the next state... */ if (*p >= '@' && *p <= '~') { *(q++) = *(p++) & 037; ++count; } else if (*p == '?') { *(q++) = 127; ++count; } else state = ST_ERROR; break; default: abort (); } } *dest = q; *src = p; *output_count = count; return state != ST_ERROR; } enum parse_state { PS_START = 1, PS_2, PS_3, PS_4, PS_DONE, PS_FAIL }; static void parse_ls_color (void) { const char *p; /* Pointer to character being parsed */ char *buf; /* color_buf buffer pointer */ int ind_no; /* Indicator number */ char label[3]; /* Indicator label */ struct color_ext_type *ext; /* Extension we are working on */ if ((p = getenv ("LS_COLORS")) == NULL || *p == '\0') return; ext = NULL; strcpy (label, "??"); /* This is an overly conservative estimate, but any possible LS_COLORS string will *not* generate a color_buf longer than itself, so it is a safe way of allocating a buffer in advance. */ buf = color_buf = xstrdup (p); enum parse_state state = PS_START; while (true) { switch (state) { case PS_START: /* First label character */ switch (*p) { case ':': ++p; break; case '*': /* Allocate new extension block and add to head of linked list (this way a later definition will override an earlier one, which can be useful for having terminal-specific defs override global). */ ext = xmalloc (sizeof *ext); ext->next = color_ext_list; color_ext_list = ext; ++p; ext->ext.string = buf; state = (get_funky_string (&buf, &p, true, &ext->ext.len) ? PS_4 : PS_FAIL); break; case '\0': state = PS_DONE; /* Done! */ goto done; default: /* Assume it is file type label */ label[0] = *(p++); state = PS_2; break; } break; case PS_2: /* Second label character */ if (*p) { label[1] = *(p++); state = PS_3; } else state = PS_FAIL; /* Error */ break; case PS_3: /* Equal sign after indicator label */ state = PS_FAIL; /* Assume failure... */ if (*(p++) == '=')/* It *should* be... */ { for (ind_no = 0; indicator_name[ind_no] != NULL; ++ind_no) { if (STREQ (label, indicator_name[ind_no])) { color_indicator[ind_no].string = buf; state = (get_funky_string (&buf, &p, false, &color_indicator[ind_no].len) ? PS_START : PS_FAIL); break; } } if (state == PS_FAIL) error (0, 0, _("unrecognized prefix: %s"), quotearg (label)); } break; case PS_4: /* Equal sign after *.ext */ if (*(p++) == '=') { ext->seq.string = buf; state = (get_funky_string (&buf, &p, false, &ext->seq.len) ? PS_START : PS_FAIL); } else state = PS_FAIL; break; case PS_FAIL: goto done; default: abort (); } } done: if (state == PS_FAIL) { struct color_ext_type *e; struct color_ext_type *e2; error (0, 0, _("unparsable value for LS_COLORS environment variable")); free (color_buf); for (e = color_ext_list; e != NULL; /* empty */) { e2 = e; e = e->next; free (e2); } print_with_color = false; } if (color_indicator[C_LINK].len == 6 && !STRNCMP_LIT (color_indicator[C_LINK].string, "target")) color_symlink_as_referent = true; } /* Set the exit status to report a failure. If SERIOUS, it is a serious failure; otherwise, it is merely a minor problem. */ static void set_exit_status (bool serious) { if (serious) exit_status = LS_FAILURE; else if (exit_status == EXIT_SUCCESS) exit_status = LS_MINOR_PROBLEM; } /* Assuming a failure is serious if SERIOUS, use the printf-style MESSAGE to report the failure to access a file named FILE. Assume errno is set appropriately for the failure. */ static void file_failure (bool serious, char const *message, char const *file) { error (0, errno, message, quotearg_colon (file)); set_exit_status (serious); } /* Request that the directory named NAME have its contents listed later. If REALNAME is nonzero, it will be used instead of NAME when the directory name is printed. This allows symbolic links to directories to be treated as regular directories but still be listed under their real names. NAME == NULL is used to insert a marker entry for the directory named in REALNAME. If NAME is non-NULL, we use its dev/ino information to save a call to stat -- when doing a recursive (-R) traversal. COMMAND_LINE_ARG means this directory was mentioned on the command line. */ static void queue_directory (char const *name, char const *realname, bool command_line_arg) { struct pending *new = xmalloc (sizeof *new); new->realname = realname ? xstrdup (realname) : NULL; new->name = name ? xstrdup (name) : NULL; new->command_line_arg = command_line_arg; new->next = pending_dirs; pending_dirs = new; } /* Read directory NAME, and list the files in it. If REALNAME is nonzero, print its name instead of NAME; this is used for symbolic links to directories. COMMAND_LINE_ARG means this directory was mentioned on the command line. */ static void print_dir (char const *name, char const *realname, bool command_line_arg) { DIR *dirp; struct dirent *next; uintmax_t total_blocks = 0; static bool first = true; errno = 0; dirp = opendir (name); if (!dirp) { file_failure (command_line_arg, _("cannot open directory %s"), name); return; } if (LOOP_DETECT) { struct stat dir_stat; int fd = dirfd (dirp); /* If dirfd failed, endure the overhead of using stat. */ if ((0 <= fd ? fstat (fd, &dir_stat) : stat (name, &dir_stat)) < 0) { file_failure (command_line_arg, _("cannot determine device and inode of %s"), name); closedir (dirp); return; } /* If we've already visited this dev/inode pair, warn that we've found a loop, and do not process this directory. */ if (visit_dir (dir_stat.st_dev, dir_stat.st_ino)) { error (0, 0, _("%s: not listing already-listed directory"), quotearg_colon (name)); closedir (dirp); set_exit_status (true); return; } DEV_INO_PUSH (dir_stat.st_dev, dir_stat.st_ino); } if (recursive || print_dir_name) { if (!first) DIRED_PUTCHAR ('\n'); first = false; DIRED_INDENT (); PUSH_CURRENT_DIRED_POS (&subdired_obstack); dired_pos += quote_name (stdout, realname ? realname : name, dirname_quoting_options, NULL); PUSH_CURRENT_DIRED_POS (&subdired_obstack); DIRED_FPUTS_LITERAL (":\n", stdout); } /* Read the directory entries, and insert the subfiles into the 'cwd_file' table. */ clear_files (); while (1) { /* Set errno to zero so we can distinguish between a readdir failure and when readdir simply finds that there are no more entries. */ errno = 0; next = readdir (dirp); if (next) { if (! file_ignored (next->d_name)) { enum filetype type = unknown; #if HAVE_STRUCT_DIRENT_D_TYPE switch (next->d_type) { case DT_BLK: type = blockdev; break; case DT_CHR: type = chardev; break; case DT_DIR: type = directory; break; case DT_FIFO: type = fifo; break; case DT_LNK: type = symbolic_link; break; case DT_REG: type = normal; break; case DT_SOCK: type = sock; break; # ifdef DT_WHT case DT_WHT: type = whiteout; break; # endif } #endif total_blocks += gobble_file (next->d_name, type, RELIABLE_D_INO (next), false, name); /* In this narrow case, print out each name right away, so ls uses constant memory while processing the entries of this directory. Useful when there are many (millions) of entries in a directory. */ if (format == one_per_line && sort_type == sort_none && !print_block_size && !recursive) { /* We must call sort_files in spite of "sort_type == sort_none" for its initialization of the sorted_file vector. */ sort_files (); print_current_files (); clear_files (); } } } else if (errno != 0) { file_failure (command_line_arg, _("reading directory %s"), name); if (errno != EOVERFLOW) break; } else break; /* When processing a very large directory, and since we've inhibited interrupts, this loop would take so long that ls would be annoyingly uninterruptible. This ensures that it handles signals promptly. */ process_signals (); } if (closedir (dirp) != 0) { file_failure (command_line_arg, _("closing directory %s"), name); /* Don't return; print whatever we got. */ } /* Sort the directory contents. */ sort_files (); /* If any member files are subdirectories, perhaps they should have their contents listed rather than being mentioned here as files. */ if (recursive) extract_dirs_from_files (name, command_line_arg); if (format == long_format || print_block_size) { const char *p; char buf[LONGEST_HUMAN_READABLE + 1]; DIRED_INDENT (); p = _("total"); DIRED_FPUTS (p, stdout, strlen (p)); DIRED_PUTCHAR (' '); p = human_readable (total_blocks, buf, human_output_opts, ST_NBLOCKSIZE, output_block_size); DIRED_FPUTS (p, stdout, strlen (p)); DIRED_PUTCHAR ('\n'); } if (cwd_n_used) print_current_files (); } /* Add 'pattern' to the list of patterns for which files that match are not listed. */ static void add_ignore_pattern (const char *pattern) { struct ignore_pattern *ignore; ignore = xmalloc (sizeof *ignore); ignore->pattern = pattern; /* Add it to the head of the linked list. */ ignore->next = ignore_patterns; ignore_patterns = ignore; } /* Return true if one of the PATTERNS matches FILE. */ static bool patterns_match (struct ignore_pattern const *patterns, char const *file) { struct ignore_pattern const *p; for (p = patterns; p; p = p->next) if (fnmatch (p->pattern, file, FNM_PERIOD) == 0) return true; return false; } /* Return true if FILE should be ignored. */ static bool file_ignored (char const *name) { return ((ignore_mode != IGNORE_MINIMAL && name[0] == '.' && (ignore_mode == IGNORE_DEFAULT || ! name[1 + (name[1] == '.')])) || (ignore_mode == IGNORE_DEFAULT && patterns_match (hide_patterns, name)) || patterns_match (ignore_patterns, name)); } /* POSIX requires that a file size be printed without a sign, even when negative. Assume the typical case where negative sizes are actually positive values that have wrapped around. */ static uintmax_t unsigned_file_size (off_t size) { return size + (size < 0) * ((uintmax_t) OFF_T_MAX - OFF_T_MIN + 1); } #ifdef HAVE_CAP /* Return true if NAME has a capability (see linux/capability.h) */ static bool has_capability (char const *name) { char *result; bool has_cap; cap_t cap_d = cap_get_file (name); if (cap_d == NULL) return false; result = cap_to_text (cap_d, NULL); cap_free (cap_d); if (!result) return false; /* check if human-readable capability string is empty */ has_cap = !!*result; cap_free (result); return has_cap; } #else static bool has_capability (char const *name ATTRIBUTE_UNUSED) { errno = ENOTSUP; return false; } #endif /* Enter and remove entries in the table 'cwd_file'. */ static void free_ent (struct fileinfo *f) { free (f->name); free (f->linkname); if (f->scontext != UNKNOWN_SECURITY_CONTEXT) freecon (f->scontext); } /* Empty the table of files. */ static void clear_files (void) { size_t i; for (i = 0; i < cwd_n_used; i++) { struct fileinfo *f = sorted_file[i]; free_ent (f); } cwd_n_used = 0; any_has_acl = false; inode_number_width = 0; block_size_width = 0; nlink_width = 0; owner_width = 0; group_width = 0; author_width = 0; scontext_width = 0; major_device_number_width = 0; minor_device_number_width = 0; file_size_width = 0; } /* Return true if ERR implies lack-of-support failure by a getxattr-calling function like getfilecon or file_has_acl. */ static bool errno_unsupported (int err) { return (err == EINVAL || err == ENOSYS || err == ENOTSUP || err == EOPNOTSUPP); } /* Cache *getfilecon failure, when it's trivial to do so. Like getfilecon/lgetfilecon, but when F's st_dev says it's on a known- SELinux-challenged file system, fail with ENOTSUP immediately. */ static int getfilecon_cache (char const *file, struct fileinfo *f, bool deref) { /* st_dev of the most recently processed device for which we've found that [l]getfilecon fails indicating lack of support. */ static dev_t unsupported_device; if (f->stat.st_dev == unsupported_device) { errno = ENOTSUP; return -1; } int r = (deref ? getfilecon (file, &f->scontext) : lgetfilecon (file, &f->scontext)); if (r < 0 && errno_unsupported (errno)) unsupported_device = f->stat.st_dev; return r; } /* Cache file_has_acl failure, when it's trivial to do. Like file_has_acl, but when F's st_dev says it's on a file system lacking ACL support, return 0 with ENOTSUP immediately. */ static int file_has_acl_cache (char const *file, struct fileinfo *f) { /* st_dev of the most recently processed device for which we've found that file_has_acl fails indicating lack of support. */ static dev_t unsupported_device; if (f->stat.st_dev == unsupported_device) { errno = ENOTSUP; return 0; } /* Zero errno so that we can distinguish between two 0-returning cases: "has-ACL-support, but only a default ACL" and "no ACL support". */ errno = 0; int n = file_has_acl (file, &f->stat); if (n <= 0 && errno_unsupported (errno)) unsupported_device = f->stat.st_dev; return n; } /* Cache has_capability failure, when it's trivial to do. Like has_capability, but when F's st_dev says it's on a file system lacking capability support, return 0 with ENOTSUP immediately. */ static bool has_capability_cache (char const *file, struct fileinfo *f) { /* st_dev of the most recently processed device for which we've found that has_capability fails indicating lack of support. */ static dev_t unsupported_device; if (f->stat.st_dev == unsupported_device) { errno = ENOTSUP; return 0; } bool b = has_capability (file); if ( !b && errno_unsupported (errno)) unsupported_device = f->stat.st_dev; return b; } /* Add a file to the current table of files. Verify that the file exists, and print an error message if it does not. Return the number of blocks that the file occupies. */ static uintmax_t gobble_file (char const *name, enum filetype type, ino_t inode, bool command_line_arg, char const *dirname) { uintmax_t blocks = 0; struct fileinfo *f; /* An inode value prior to gobble_file necessarily came from readdir, which is not used for command line arguments. */ assert (! command_line_arg || inode == NOT_AN_INODE_NUMBER); if (cwd_n_used == cwd_n_alloc) { cwd_file = xnrealloc (cwd_file, cwd_n_alloc, 2 * sizeof *cwd_file); cwd_n_alloc *= 2; } f = &cwd_file[cwd_n_used]; memset (f, '\0', sizeof *f); f->stat.st_ino = inode; f->filetype = type; if (command_line_arg || format_needs_stat /* When coloring a directory (we may know the type from direct.d_type), we have to stat it in order to indicate sticky and/or other-writable attributes. */ || (type == directory && print_with_color && (is_colored (C_OTHER_WRITABLE) || is_colored (C_STICKY) || is_colored (C_STICKY_OTHER_WRITABLE))) /* When dereferencing symlinks, the inode and type must come from stat, but readdir provides the inode and type of lstat. */ || ((print_inode || format_needs_type) && (type == symbolic_link || type == unknown) && (dereference == DEREF_ALWAYS || (command_line_arg && dereference != DEREF_NEVER) || color_symlink_as_referent || check_symlink_color)) /* Command line dereferences are already taken care of by the above assertion that the inode number is not yet known. */ || (print_inode && inode == NOT_AN_INODE_NUMBER) || (format_needs_type && (type == unknown || command_line_arg /* --indicator-style=classify (aka -F) requires that we stat each regular file to see if it's executable. */ || (type == normal && (indicator_style == classify /* This is so that --color ends up highlighting files with these mode bits set even when options like -F are not specified. Note we do a redundant stat in the very unlikely case where C_CAP is set but not the others. */ || (print_with_color && (is_colored (C_EXEC) || is_colored (C_SETUID) || is_colored (C_SETGID) || is_colored (C_CAP))) ))))) { /* Absolute name of this file. */ char *absolute_name; bool do_deref; int err; if (name[0] == '/' || dirname[0] == 0) absolute_name = (char *) name; else { absolute_name = alloca (strlen (name) + strlen (dirname) + 2); attach (absolute_name, dirname, name); } switch (dereference) { case DEREF_ALWAYS: err = stat (absolute_name, &f->stat); do_deref = true; break; case DEREF_COMMAND_LINE_ARGUMENTS: case DEREF_COMMAND_LINE_SYMLINK_TO_DIR: if (command_line_arg) { bool need_lstat; err = stat (absolute_name, &f->stat); do_deref = true; if (dereference == DEREF_COMMAND_LINE_ARGUMENTS) break; need_lstat = (err < 0 ? errno == ENOENT : ! S_ISDIR (f->stat.st_mode)); if (!need_lstat) break; /* stat failed because of ENOENT, maybe indicating a dangling symlink. Or stat succeeded, ABSOLUTE_NAME does not refer to a directory, and --dereference-command-line-symlink-to-dir is in effect. Fall through so that we call lstat instead. */ } default: /* DEREF_NEVER */ err = lstat (absolute_name, &f->stat); do_deref = false; break; } if (err != 0) { /* Failure to stat a command line argument leads to an exit status of 2. For other files, stat failure provokes an exit status of 1. */ file_failure (command_line_arg, _("cannot access %s"), absolute_name); if (command_line_arg) return 0; f->name = xstrdup (name); cwd_n_used++; return 0; } f->stat_ok = true; /* Note has_capability() adds around 30% runtime to 'ls --color' */ if ((type == normal || S_ISREG (f->stat.st_mode)) && print_with_color && is_colored (C_CAP)) f->has_capability = has_capability_cache (absolute_name, f); if (format == long_format || print_scontext) { bool have_selinux = false; bool have_acl = false; int attr_len = getfilecon_cache (absolute_name, f, do_deref); err = (attr_len < 0); if (err == 0) have_selinux = ! STREQ ("unlabeled", f->scontext); else { f->scontext = UNKNOWN_SECURITY_CONTEXT; /* When requesting security context information, don't make ls fail just because the file (even a command line argument) isn't on the right type of file system. I.e., a getfilecon failure isn't in the same class as a stat failure. */ if (errno == ENOTSUP || errno == EOPNOTSUPP || errno == ENODATA) err = 0; } if (err == 0 && format == long_format) { int n = file_has_acl_cache (absolute_name, f); err = (n < 0); have_acl = (0 < n); } f->acl_type = (!have_selinux && !have_acl ? ACL_T_NONE : (have_selinux && !have_acl ? ACL_T_SELINUX_ONLY : ACL_T_YES)); any_has_acl |= f->acl_type != ACL_T_NONE; if (err) error (0, errno, "%s", quotearg_colon (absolute_name)); } if (S_ISLNK (f->stat.st_mode) && (format == long_format || check_symlink_color)) { struct stat linkstats; get_link_name (absolute_name, f, command_line_arg); char *linkname = make_link_name (absolute_name, f->linkname); /* Avoid following symbolic links when possible, ie, when they won't be traced and when no indicator is needed. */ if (linkname && (file_type <= indicator_style || check_symlink_color) && stat (linkname, &linkstats) == 0) { f->linkok = true; /* Symbolic links to directories that are mentioned on the command line are automatically traced if not being listed as files. */ if (!command_line_arg || format == long_format || !S_ISDIR (linkstats.st_mode)) { /* Get the linked-to file's mode for the filetype indicator in long listings. */ f->linkmode = linkstats.st_mode; } } free (linkname); } if (S_ISLNK (f->stat.st_mode)) f->filetype = symbolic_link; else if (S_ISDIR (f->stat.st_mode)) { if (command_line_arg && !immediate_dirs) f->filetype = arg_directory; else f->filetype = directory; } else f->filetype = normal; blocks = ST_NBLOCKS (f->stat); if (format == long_format || print_block_size) { char buf[LONGEST_HUMAN_READABLE + 1]; int len = mbswidth (human_readable (blocks, buf, human_output_opts, ST_NBLOCKSIZE, output_block_size), 0); if (block_size_width < len) block_size_width = len; } if (format == long_format) { if (print_owner) { int len = format_user_width (f->stat.st_uid); if (owner_width < len) owner_width = len; } if (print_group) { int len = format_group_width (f->stat.st_gid); if (group_width < len) group_width = len; } if (print_author) { int len = format_user_width (f->stat.st_author); if (author_width < len) author_width = len; } } if (print_scontext) { int len = strlen (f->scontext); if (scontext_width < len) scontext_width = len; } if (format == long_format) { char b[INT_BUFSIZE_BOUND (uintmax_t)]; int b_len = strlen (umaxtostr (f->stat.st_nlink, b)); if (nlink_width < b_len) nlink_width = b_len; if (S_ISCHR (f->stat.st_mode) || S_ISBLK (f->stat.st_mode)) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; int len = strlen (umaxtostr (major (f->stat.st_rdev), buf)); if (major_device_number_width < len) major_device_number_width = len; len = strlen (umaxtostr (minor (f->stat.st_rdev), buf)); if (minor_device_number_width < len) minor_device_number_width = len; len = major_device_number_width + 2 + minor_device_number_width; if (file_size_width < len) file_size_width = len; } else { char buf[LONGEST_HUMAN_READABLE + 1]; uintmax_t size = unsigned_file_size (f->stat.st_size); int len = mbswidth (human_readable (size, buf, file_human_output_opts, 1, file_output_block_size), 0); if (file_size_width < len) file_size_width = len; } } } if (print_inode) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; int len = strlen (umaxtostr (f->stat.st_ino, buf)); if (inode_number_width < len) inode_number_width = len; } f->name = xstrdup (name); cwd_n_used++; return blocks; } /* Return true if F refers to a directory. */ static bool is_directory (const struct fileinfo *f) { return f->filetype == directory || f->filetype == arg_directory; } /* Put the name of the file that FILENAME is a symbolic link to into the LINKNAME field of 'f'. COMMAND_LINE_ARG indicates whether FILENAME is a command-line argument. */ static void get_link_name (char const *filename, struct fileinfo *f, bool command_line_arg) { f->linkname = areadlink_with_size (filename, f->stat.st_size); if (f->linkname == NULL) file_failure (command_line_arg, _("cannot read symbolic link %s"), filename); } /* If LINKNAME is a relative name and NAME contains one or more leading directories, return LINKNAME with those directories prepended; otherwise, return a copy of LINKNAME. If LINKNAME is NULL, return NULL. */ static char * make_link_name (char const *name, char const *linkname) { if (!linkname) return NULL; if (IS_ABSOLUTE_FILE_NAME (linkname)) return xstrdup (linkname); /* The link is to a relative name. Prepend any leading directory in 'name' to the link name. */ size_t prefix_len = dir_len (name); if (prefix_len == 0) return xstrdup (linkname); char *p = xmalloc (prefix_len + 1 + strlen (linkname) + 1); /* PREFIX_LEN usually specifies a string not ending in slash. In that case, extend it by one, since the next byte *is* a slash. Otherwise, the prefix is "/", so leave the length unchanged. */ if ( ! ISSLASH (name[prefix_len - 1])) ++prefix_len; stpcpy (stpncpy (p, name, prefix_len), linkname); return p; } /* Return true if the last component of NAME is '.' or '..' This is so we don't try to recurse on '././././. ...' */ static bool basename_is_dot_or_dotdot (const char *name) { char const *base = last_component (name); return dot_or_dotdot (base); } /* Remove any entries from CWD_FILE that are for directories, and queue them to be listed as directories instead. DIRNAME is the prefix to prepend to each dirname to make it correct relative to ls's working dir; if it is null, no prefix is needed and "." and ".." should not be ignored. If COMMAND_LINE_ARG is true, this directory was mentioned at the top level, This is desirable when processing directories recursively. */ static void extract_dirs_from_files (char const *dirname, bool command_line_arg) { size_t i; size_t j; bool ignore_dot_and_dot_dot = (dirname != NULL); if (dirname && LOOP_DETECT) { /* Insert a marker entry first. When we dequeue this marker entry, we'll know that DIRNAME has been processed and may be removed from the set of active directories. */ queue_directory (NULL, dirname, false); } /* Queue the directories last one first, because queueing reverses the order. */ for (i = cwd_n_used; i-- != 0; ) { struct fileinfo *f = sorted_file[i]; if (is_directory (f) && (! ignore_dot_and_dot_dot || ! basename_is_dot_or_dotdot (f->name))) { if (!dirname || f->name[0] == '/') queue_directory (f->name, f->linkname, command_line_arg); else { char *name = file_name_concat (dirname, f->name, NULL); queue_directory (name, f->linkname, command_line_arg); free (name); } if (f->filetype == arg_directory) free_ent (f); } } /* Now delete the directories from the table, compacting all the remaining entries. */ for (i = 0, j = 0; i < cwd_n_used; i++) { struct fileinfo *f = sorted_file[i]; sorted_file[j] = f; j += (f->filetype != arg_directory); } cwd_n_used = j; } /* Use strcoll to compare strings in this locale. If an error occurs, report an error and longjmp to failed_strcoll. */ static jmp_buf failed_strcoll; static int xstrcoll (char const *a, char const *b) { int diff; errno = 0; diff = strcoll (a, b); if (errno) { error (0, errno, _("cannot compare file names %s and %s"), quote_n (0, a), quote_n (1, b)); set_exit_status (false); longjmp (failed_strcoll, 1); } return diff; } /* Comparison routines for sorting the files. */ typedef void const *V; typedef int (*qsortFunc)(V a, V b); /* Used below in DEFINE_SORT_FUNCTIONS for _df_ sort function variants. The do { ... } while(0) makes it possible to use the macro more like a statement, without violating C89 rules: */ #define DIRFIRST_CHECK(a, b) \ do \ { \ bool a_is_dir = is_directory ((struct fileinfo const *) a); \ bool b_is_dir = is_directory ((struct fileinfo const *) b); \ if (a_is_dir && !b_is_dir) \ return -1; /* a goes before b */ \ if (!a_is_dir && b_is_dir) \ return 1; /* b goes before a */ \ } \ while (0) /* Define the 8 different sort function variants required for each sortkey. KEY_NAME is a token describing the sort key, e.g., ctime, atime, size. KEY_CMP_FUNC is a function to compare records based on that key, e.g., ctime_cmp, atime_cmp, size_cmp. Append KEY_NAME to the string, '[rev_][x]str{cmp|coll}[_df]_', to create each function name. */ #define DEFINE_SORT_FUNCTIONS(key_name, key_cmp_func) \ /* direct, non-dirfirst versions */ \ static int xstrcoll_##key_name (V a, V b) \ { return key_cmp_func (a, b, xstrcoll); } \ static int strcmp_##key_name (V a, V b) \ { return key_cmp_func (a, b, strcmp); } \ \ /* reverse, non-dirfirst versions */ \ static int rev_xstrcoll_##key_name (V a, V b) \ { return key_cmp_func (b, a, xstrcoll); } \ static int rev_strcmp_##key_name (V a, V b) \ { return key_cmp_func (b, a, strcmp); } \ \ /* direct, dirfirst versions */ \ static int xstrcoll_df_##key_name (V a, V b) \ { DIRFIRST_CHECK (a, b); return key_cmp_func (a, b, xstrcoll); } \ static int strcmp_df_##key_name (V a, V b) \ { DIRFIRST_CHECK (a, b); return key_cmp_func (a, b, strcmp); } \ \ /* reverse, dirfirst versions */ \ static int rev_xstrcoll_df_##key_name (V a, V b) \ { DIRFIRST_CHECK (a, b); return key_cmp_func (b, a, xstrcoll); } \ static int rev_strcmp_df_##key_name (V a, V b) \ { DIRFIRST_CHECK (a, b); return key_cmp_func (b, a, strcmp); } static inline int cmp_ctime (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { int diff = timespec_cmp (get_stat_ctime (&b->stat), get_stat_ctime (&a->stat)); return diff ? diff : cmp (a->name, b->name); } static inline int cmp_mtime (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { int diff = timespec_cmp (get_stat_mtime (&b->stat), get_stat_mtime (&a->stat)); return diff ? diff : cmp (a->name, b->name); } static inline int cmp_atime (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { int diff = timespec_cmp (get_stat_atime (&b->stat), get_stat_atime (&a->stat)); return diff ? diff : cmp (a->name, b->name); } static inline int cmp_size (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { int diff = longdiff (b->stat.st_size, a->stat.st_size); return diff ? diff : cmp (a->name, b->name); } static inline int cmp_name (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { return cmp (a->name, b->name); } /* Compare file extensions. Files with no extension are 'smallest'. If extensions are the same, compare by filenames instead. */ static inline int cmp_extension (struct fileinfo const *a, struct fileinfo const *b, int (*cmp) (char const *, char const *)) { char const *base1 = strrchr (a->name, '.'); char const *base2 = strrchr (b->name, '.'); int diff = cmp (base1 ? base1 : "", base2 ? base2 : ""); return diff ? diff : cmp (a->name, b->name); } DEFINE_SORT_FUNCTIONS (ctime, cmp_ctime) DEFINE_SORT_FUNCTIONS (mtime, cmp_mtime) DEFINE_SORT_FUNCTIONS (atime, cmp_atime) DEFINE_SORT_FUNCTIONS (size, cmp_size) DEFINE_SORT_FUNCTIONS (name, cmp_name) DEFINE_SORT_FUNCTIONS (extension, cmp_extension) /* Compare file versions. Unlike all other compare functions above, cmp_version depends only on filevercmp, which does not fail (even for locale reasons), and does not need a secondary sort key. See lib/filevercmp.h for function description. All the other sort options, in fact, need xstrcoll and strcmp variants, because they all use a string comparison (either as the primary or secondary sort key), and xstrcoll has the ability to do a longjmp if strcoll fails for locale reasons. Lastly, filevercmp is ALWAYS available with gnulib. */ static inline int cmp_version (struct fileinfo const *a, struct fileinfo const *b) { return filevercmp (a->name, b->name); } static int xstrcoll_version (V a, V b) { return cmp_version (a, b); } static int rev_xstrcoll_version (V a, V b) { return cmp_version (b, a); } static int xstrcoll_df_version (V a, V b) { DIRFIRST_CHECK (a, b); return cmp_version (a, b); } static int rev_xstrcoll_df_version (V a, V b) { DIRFIRST_CHECK (a, b); return cmp_version (b, a); } /* We have 2^3 different variants for each sort-key function (for 3 independent sort modes). The function pointers stored in this array must be dereferenced as: sort_variants[sort_key][use_strcmp][reverse][dirs_first] Note that the order in which sort keys are listed in the function pointer array below is defined by the order of the elements in the time_type and sort_type enums! */ #define LIST_SORTFUNCTION_VARIANTS(key_name) \ { \ { \ { xstrcoll_##key_name, xstrcoll_df_##key_name }, \ { rev_xstrcoll_##key_name, rev_xstrcoll_df_##key_name }, \ }, \ { \ { strcmp_##key_name, strcmp_df_##key_name }, \ { rev_strcmp_##key_name, rev_strcmp_df_##key_name }, \ } \ } static qsortFunc const sort_functions[][2][2][2] = { LIST_SORTFUNCTION_VARIANTS (name), LIST_SORTFUNCTION_VARIANTS (extension), LIST_SORTFUNCTION_VARIANTS (size), { { { xstrcoll_version, xstrcoll_df_version }, { rev_xstrcoll_version, rev_xstrcoll_df_version }, }, /* We use NULL for the strcmp variants of version comparison since as explained in cmp_version definition, version comparison does not rely on xstrcoll, so it will never longjmp, and never need to try the strcmp fallback. */ { { NULL, NULL }, { NULL, NULL }, } }, /* last are time sort functions */ LIST_SORTFUNCTION_VARIANTS (mtime), LIST_SORTFUNCTION_VARIANTS (ctime), LIST_SORTFUNCTION_VARIANTS (atime) }; /* The number of sort keys is calculated as the sum of the number of elements in the sort_type enum (i.e. sort_numtypes) the number of elements in the time_type enum (i.e. time_numtypes) - 1 This is because when sort_type==sort_time, we have up to time_numtypes possible sort keys. This line verifies at compile-time that the array of sort functions has been initialized for all possible sort keys. */ verify (ARRAY_CARDINALITY (sort_functions) == sort_numtypes + time_numtypes - 1 ); /* Set up SORTED_FILE to point to the in-use entries in CWD_FILE, in order. */ static void initialize_ordering_vector (void) { size_t i; for (i = 0; i < cwd_n_used; i++) sorted_file[i] = &cwd_file[i]; } /* Sort the files now in the table. */ static void sort_files (void) { bool use_strcmp; if (sorted_file_alloc < cwd_n_used + cwd_n_used / 2) { free (sorted_file); sorted_file = xnmalloc (cwd_n_used, 3 * sizeof *sorted_file); sorted_file_alloc = 3 * cwd_n_used; } initialize_ordering_vector (); if (sort_type == sort_none) return; /* Try strcoll. If it fails, fall back on strcmp. We can't safely ignore strcoll failures, as a failing strcoll might be a comparison function that is not a total order, and if we ignored the failure this might cause qsort to dump core. */ if (! setjmp (failed_strcoll)) use_strcmp = false; /* strcoll() succeeded */ else { use_strcmp = true; assert (sort_type != sort_version); initialize_ordering_vector (); } /* When sort_type == sort_time, use time_type as subindex. */ mpsort ((void const **) sorted_file, cwd_n_used, sort_functions[sort_type + (sort_type == sort_time ? time_type : 0)] [use_strcmp][sort_reverse] [directories_first]); } /* List all the files now in the table. */ static void print_current_files (void) { size_t i; switch (format) { case one_per_line: for (i = 0; i < cwd_n_used; i++) { print_file_name_and_frills (sorted_file[i], 0); putchar ('\n'); } break; case many_per_line: print_many_per_line (); break; case horizontal: print_horizontal (); break; case with_commas: print_with_commas (); break; case long_format: for (i = 0; i < cwd_n_used; i++) { set_normal_color (); print_long_format (sorted_file[i]); DIRED_PUTCHAR ('\n'); } break; } } /* Replace the first %b with precomputed aligned month names. Note on glibc-2.7 at least, this speeds up the whole 'ls -lU' process by around 17%, compared to letting strftime() handle the %b. */ static size_t align_nstrftime (char *buf, size_t size, char const *fmt, struct tm const *tm, int __utc, int __ns) { const char *nfmt = fmt; /* In the unlikely event that rpl_fmt below is not large enough, the replacement is not done. A malloc here slows ls down by 2% */ char rpl_fmt[sizeof (abmon[0]) + 100]; const char *pb; if (required_mon_width && (pb = strstr (fmt, "%b"))) { if (strlen (fmt) < (sizeof (rpl_fmt) - sizeof (abmon[0]) + 2)) { char *pfmt = rpl_fmt; nfmt = rpl_fmt; pfmt = mempcpy (pfmt, fmt, pb - fmt); pfmt = stpcpy (pfmt, abmon[tm->tm_mon]); strcpy (pfmt, pb + 2); } } size_t ret = nstrftime (buf, size, nfmt, tm, __utc, __ns); return ret; } /* Return the expected number of columns in a long-format time stamp, or zero if it cannot be calculated. */ static int long_time_expected_width (void) { static int width = -1; if (width < 0) { time_t epoch = 0; struct tm const *tm = localtime (&epoch); char buf[TIME_STAMP_LEN_MAXIMUM + 1]; /* In case you're wondering if localtime can fail with an input time_t value of 0, let's just say it's very unlikely, but not inconceivable. The TZ environment variable would have to specify a time zone that is 2**31-1900 years or more ahead of UTC. This could happen only on a 64-bit system that blindly accepts e.g., TZ=UTC+20000000000000. However, this is not possible with Solaris 10 or glibc-2.3.5, since their implementations limit the offset to 167:59 and 24:00, resp. */ if (tm) { size_t len = align_nstrftime (buf, sizeof buf, long_time_format[0], tm, 0, 0); if (len != 0) width = mbsnwidth (buf, len, 0); } if (width < 0) width = 0; } return width; } /* Print the user or group name NAME, with numeric id ID, using a print width of WIDTH columns. */ static void format_user_or_group (char const *name, unsigned long int id, int width) { size_t len; if (name) { int width_gap = width - mbswidth (name, 0); int pad = MAX (0, width_gap); fputs (name, stdout); len = strlen (name) + pad; do putchar (' '); while (pad--); } else { printf ("%*lu ", width, id); len = width; } dired_pos += len + 1; } /* Print the name or id of the user with id U, using a print width of WIDTH. */ static void format_user (uid_t u, int width, bool stat_ok) { format_user_or_group (! stat_ok ? "?" : (numeric_ids ? NULL : getuser (u)), u, width); } /* Likewise, for groups. */ static void format_group (gid_t g, int width, bool stat_ok) { format_user_or_group (! stat_ok ? "?" : (numeric_ids ? NULL : getgroup (g)), g, width); } /* Return the number of columns that format_user_or_group will print. */ static int format_user_or_group_width (char const *name, unsigned long int id) { if (name) { int len = mbswidth (name, 0); return MAX (0, len); } else { char buf[INT_BUFSIZE_BOUND (id)]; sprintf (buf, "%lu", id); return strlen (buf); } } /* Return the number of columns that format_user will print. */ static int format_user_width (uid_t u) { return format_user_or_group_width (numeric_ids ? NULL : getuser (u), u); } /* Likewise, for groups. */ static int format_group_width (gid_t g) { return format_user_or_group_width (numeric_ids ? NULL : getgroup (g), g); } /* Return a pointer to a formatted version of F->stat.st_ino, possibly using buffer, BUF, of length BUFLEN, which must be at least INT_BUFSIZE_BOUND (uintmax_t) bytes. */ static char * format_inode (char *buf, size_t buflen, const struct fileinfo *f) { assert (INT_BUFSIZE_BOUND (uintmax_t) <= buflen); return (f->stat_ok && f->stat.st_ino != NOT_AN_INODE_NUMBER ? umaxtostr (f->stat.st_ino, buf) : (char *) "?"); } /* Print information about F in long format. */ static void print_long_format (const struct fileinfo *f) { char modebuf[12]; char buf [LONGEST_HUMAN_READABLE + 1 /* inode */ + LONGEST_HUMAN_READABLE + 1 /* size in blocks */ + sizeof (modebuf) - 1 + 1 /* mode string */ + INT_BUFSIZE_BOUND (uintmax_t) /* st_nlink */ + LONGEST_HUMAN_READABLE + 2 /* major device number */ + LONGEST_HUMAN_READABLE + 1 /* minor device number */ + TIME_STAMP_LEN_MAXIMUM + 1 /* max length of time/date */ ]; size_t s; char *p; struct timespec when_timespec; struct tm *when_local; /* Compute the mode string, except remove the trailing space if no file in this directory has an ACL or SELinux security context. */ if (f->stat_ok) filemodestring (&f->stat, modebuf); else { modebuf[0] = filetype_letter[f->filetype]; memset (modebuf + 1, '?', 10); modebuf[11] = '\0'; } if (! any_has_acl) modebuf[10] = '\0'; else if (f->acl_type == ACL_T_SELINUX_ONLY) modebuf[10] = '.'; else if (f->acl_type == ACL_T_YES) modebuf[10] = '+'; switch (time_type) { case time_ctime: when_timespec = get_stat_ctime (&f->stat); break; case time_mtime: when_timespec = get_stat_mtime (&f->stat); break; case time_atime: when_timespec = get_stat_atime (&f->stat); break; default: abort (); } p = buf; if (print_inode) { char hbuf[INT_BUFSIZE_BOUND (uintmax_t)]; sprintf (p, "%*s ", inode_number_width, format_inode (hbuf, sizeof hbuf, f)); /* Increment by strlen (p) here, rather than by inode_number_width + 1. The latter is wrong when inode_number_width is zero. */ p += strlen (p); } if (print_block_size) { char hbuf[LONGEST_HUMAN_READABLE + 1]; char const *blocks = (! f->stat_ok ? "?" : human_readable (ST_NBLOCKS (f->stat), hbuf, human_output_opts, ST_NBLOCKSIZE, output_block_size)); int pad; for (pad = block_size_width - mbswidth (blocks, 0); 0 < pad; pad--) *p++ = ' '; while ((*p++ = *blocks++)) continue; p[-1] = ' '; } /* The last byte of the mode string is the POSIX "optional alternate access method flag". */ { char hbuf[INT_BUFSIZE_BOUND (uintmax_t)]; sprintf (p, "%s %*s ", modebuf, nlink_width, ! f->stat_ok ? "?" : umaxtostr (f->stat.st_nlink, hbuf)); } /* Increment by strlen (p) here, rather than by, e.g., sizeof modebuf - 2 + any_has_acl + 1 + nlink_width + 1. The latter is wrong when nlink_width is zero. */ p += strlen (p); DIRED_INDENT (); if (print_owner || print_group || print_author || print_scontext) { DIRED_FPUTS (buf, stdout, p - buf); if (print_owner) format_user (f->stat.st_uid, owner_width, f->stat_ok); if (print_group) format_group (f->stat.st_gid, group_width, f->stat_ok); if (print_author) format_user (f->stat.st_author, author_width, f->stat_ok); if (print_scontext) format_user_or_group (f->scontext, 0, scontext_width); p = buf; } if (f->stat_ok && (S_ISCHR (f->stat.st_mode) || S_ISBLK (f->stat.st_mode))) { char majorbuf[INT_BUFSIZE_BOUND (uintmax_t)]; char minorbuf[INT_BUFSIZE_BOUND (uintmax_t)]; int blanks_width = (file_size_width - (major_device_number_width + 2 + minor_device_number_width)); sprintf (p, "%*s, %*s ", major_device_number_width + MAX (0, blanks_width), umaxtostr (major (f->stat.st_rdev), majorbuf), minor_device_number_width, umaxtostr (minor (f->stat.st_rdev), minorbuf)); p += file_size_width + 1; } else { char hbuf[LONGEST_HUMAN_READABLE + 1]; char const *size = (! f->stat_ok ? "?" : human_readable (unsigned_file_size (f->stat.st_size), hbuf, file_human_output_opts, 1, file_output_block_size)); int pad; for (pad = file_size_width - mbswidth (size, 0); 0 < pad; pad--) *p++ = ' '; while ((*p++ = *size++)) continue; p[-1] = ' '; } when_local = localtime (&when_timespec.tv_sec); s = 0; *p = '\1'; if (f->stat_ok && when_local) { struct timespec six_months_ago; bool recent; char const *fmt; /* If the file appears to be in the future, update the current time, in case the file happens to have been modified since the last time we checked the clock. */ if (timespec_cmp (current_time, when_timespec) < 0) { /* Note that gettime may call gettimeofday which, on some non- compliant systems, clobbers the buffer used for localtime's result. But it's ok here, because we use a gettimeofday wrapper that saves and restores the buffer around the gettimeofday call. */ gettime (¤t_time); } /* Consider a time to be recent if it is within the past six months. A Gregorian year has 365.2425 * 24 * 60 * 60 == 31556952 seconds on the average. Write this value as an integer constant to avoid floating point hassles. */ six_months_ago.tv_sec = current_time.tv_sec - 31556952 / 2; six_months_ago.tv_nsec = current_time.tv_nsec; recent = (timespec_cmp (six_months_ago, when_timespec) < 0 && (timespec_cmp (when_timespec, current_time) < 0)); fmt = long_time_format[recent]; /* We assume here that all time zones are offset from UTC by a whole number of seconds. */ s = align_nstrftime (p, TIME_STAMP_LEN_MAXIMUM + 1, fmt, when_local, 0, when_timespec.tv_nsec); } if (s || !*p) { p += s; *p++ = ' '; /* NUL-terminate the string -- fputs (via DIRED_FPUTS) requires it. */ *p = '\0'; } else { /* The time cannot be converted using the desired format, so print it as a huge integer number of seconds. */ char hbuf[INT_BUFSIZE_BOUND (intmax_t)]; sprintf (p, "%*s ", long_time_expected_width (), (! f->stat_ok ? "?" : timetostr (when_timespec.tv_sec, hbuf))); /* FIXME: (maybe) We discarded when_timespec.tv_nsec. */ p += strlen (p); } DIRED_FPUTS (buf, stdout, p - buf); size_t w = print_name_with_quoting (f, false, &dired_obstack, p - buf); if (f->filetype == symbolic_link) { if (f->linkname) { DIRED_FPUTS_LITERAL (" -> ", stdout); print_name_with_quoting (f, true, NULL, (p - buf) + w + 4); if (indicator_style != none) print_type_indicator (true, f->linkmode, unknown); } } else if (indicator_style != none) print_type_indicator (f->stat_ok, f->stat.st_mode, f->filetype); } /* Output to OUT a quoted representation of the file name NAME, using OPTIONS to control quoting. Produce no output if OUT is NULL. Store the number of screen columns occupied by NAME's quoted representation into WIDTH, if non-NULL. Return the number of bytes produced. */ static size_t quote_name (FILE *out, const char *name, struct quoting_options const *options, size_t *width) { char smallbuf[BUFSIZ]; size_t len = quotearg_buffer (smallbuf, sizeof smallbuf, name, -1, options); char *buf; size_t displayed_width IF_LINT ( = 0); if (len < sizeof smallbuf) buf = smallbuf; else { buf = alloca (len + 1); quotearg_buffer (buf, len + 1, name, -1, options); } if (qmark_funny_chars) { if (MB_CUR_MAX > 1) { char const *p = buf; char const *plimit = buf + len; char *q = buf; displayed_width = 0; while (p < plimit) switch (*p) { case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* These characters are printable ASCII characters. */ *q++ = *p++; displayed_width += 1; break; default: /* If we have a multibyte sequence, copy it until we reach its end, replacing each non-printable multibyte character with a single question mark. */ { mbstate_t mbstate = { 0, }; do { wchar_t wc; size_t bytes; int w; bytes = mbrtowc (&wc, p, plimit - p, &mbstate); if (bytes == (size_t) -1) { /* An invalid multibyte sequence was encountered. Skip one input byte, and put a question mark. */ p++; *q++ = '?'; displayed_width += 1; break; } if (bytes == (size_t) -2) { /* An incomplete multibyte character at the end. Replace it entirely with a question mark. */ p = plimit; *q++ = '?'; displayed_width += 1; break; } if (bytes == 0) /* A null wide character was encountered. */ bytes = 1; w = wcwidth (wc); if (w >= 0) { /* A printable multibyte character. Keep it. */ for (; bytes > 0; --bytes) *q++ = *p++; displayed_width += w; } else { /* An unprintable multibyte character. Replace it entirely with a question mark. */ p += bytes; *q++ = '?'; displayed_width += 1; } } while (! mbsinit (&mbstate)); } break; } /* The buffer may have shrunk. */ len = q - buf; } else { char *p = buf; char const *plimit = buf + len; while (p < plimit) { if (! isprint (to_uchar (*p))) *p = '?'; p++; } displayed_width = len; } } else if (width != NULL) { if (MB_CUR_MAX > 1) displayed_width = mbsnwidth (buf, len, 0); else { char const *p = buf; char const *plimit = buf + len; displayed_width = 0; while (p < plimit) { if (isprint (to_uchar (*p))) displayed_width++; p++; } } } if (out != NULL) fwrite (buf, 1, len, out); if (width != NULL) *width = displayed_width; return len; } static size_t print_name_with_quoting (const struct fileinfo *f, bool symlink_target, struct obstack *stack, size_t start_col) { const char* name = symlink_target ? f->linkname : f->name; bool used_color_this_time = (print_with_color && (print_color_indicator (f, symlink_target) || is_colored (C_NORM))); if (stack) PUSH_CURRENT_DIRED_POS (stack); size_t width = quote_name (stdout, name, filename_quoting_options, NULL); dired_pos += width; if (stack) PUSH_CURRENT_DIRED_POS (stack); process_signals (); if (used_color_this_time) { prep_non_filename_text (); if (start_col / line_length != (start_col + width - 1) / line_length) put_indicator (&color_indicator[C_CLR_TO_EOL]); } return width; } static void prep_non_filename_text (void) { if (color_indicator[C_END].string != NULL) put_indicator (&color_indicator[C_END]); else { put_indicator (&color_indicator[C_LEFT]); put_indicator (&color_indicator[C_RESET]); put_indicator (&color_indicator[C_RIGHT]); } } /* Print the file name of 'f' with appropriate quoting. Also print file size, inode number, and filetype indicator character, as requested by switches. */ static size_t print_file_name_and_frills (const struct fileinfo *f, size_t start_col) { char buf[MAX (LONGEST_HUMAN_READABLE + 1, INT_BUFSIZE_BOUND (uintmax_t))]; set_normal_color (); if (print_inode) printf ("%*s ", format == with_commas ? 0 : inode_number_width, format_inode (buf, sizeof buf, f)); if (print_block_size) printf ("%*s ", format == with_commas ? 0 : block_size_width, ! f->stat_ok ? "?" : human_readable (ST_NBLOCKS (f->stat), buf, human_output_opts, ST_NBLOCKSIZE, output_block_size)); if (print_scontext) printf ("%*s ", format == with_commas ? 0 : scontext_width, f->scontext); size_t width = print_name_with_quoting (f, false, NULL, start_col); if (indicator_style != none) width += print_type_indicator (f->stat_ok, f->stat.st_mode, f->filetype); return width; } /* Given these arguments describing a file, return the single-byte type indicator, or 0. */ static char get_type_indicator (bool stat_ok, mode_t mode, enum filetype type) { char c; if (stat_ok ? S_ISREG (mode) : type == normal) { if (stat_ok && indicator_style == classify && (mode & S_IXUGO)) c = '*'; else c = 0; } else { if (stat_ok ? S_ISDIR (mode) : type == directory || type == arg_directory) c = '/'; else if (indicator_style == slash) c = 0; else if (stat_ok ? S_ISLNK (mode) : type == symbolic_link) c = '@'; else if (stat_ok ? S_ISFIFO (mode) : type == fifo) c = '|'; else if (stat_ok ? S_ISSOCK (mode) : type == sock) c = '='; else if (stat_ok && S_ISDOOR (mode)) c = '>'; else c = 0; } return c; } static bool print_type_indicator (bool stat_ok, mode_t mode, enum filetype type) { char c = get_type_indicator (stat_ok, mode, type); if (c) DIRED_PUTCHAR (c); return !!c; } /* Returns whether any color sequence was printed. */ static bool print_color_indicator (const struct fileinfo *f, bool symlink_target) { enum indicator_no type; struct color_ext_type *ext; /* Color extension */ size_t len; /* Length of name */ const char* name; mode_t mode; int linkok; if (symlink_target) { name = f->linkname; mode = f->linkmode; linkok = f->linkok ? 0 : -1; } else { name = f->name; mode = FILE_OR_LINK_MODE (f); linkok = f->linkok; } /* Is this a nonexistent file? If so, linkok == -1. */ if (linkok == -1 && is_colored (C_MISSING)) type = C_MISSING; else if (!f->stat_ok) { static enum indicator_no filetype_indicator[] = FILETYPE_INDICATORS; type = filetype_indicator[f->filetype]; } else { if (S_ISREG (mode)) { type = C_FILE; if ((mode & S_ISUID) != 0 && is_colored (C_SETUID)) type = C_SETUID; else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID)) type = C_SETGID; else if (is_colored (C_CAP) && f->has_capability) type = C_CAP; else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC)) type = C_EXEC; else if ((1 < f->stat.st_nlink) && is_colored (C_MULTIHARDLINK)) type = C_MULTIHARDLINK; } else if (S_ISDIR (mode)) { type = C_DIR; if ((mode & S_ISVTX) && (mode & S_IWOTH) && is_colored (C_STICKY_OTHER_WRITABLE)) type = C_STICKY_OTHER_WRITABLE; else if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE)) type = C_OTHER_WRITABLE; else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY)) type = C_STICKY; } else if (S_ISLNK (mode)) type = C_LINK; else if (S_ISFIFO (mode)) type = C_FIFO; else if (S_ISSOCK (mode)) type = C_SOCK; else if (S_ISBLK (mode)) type = C_BLK; else if (S_ISCHR (mode)) type = C_CHR; else if (S_ISDOOR (mode)) type = C_DOOR; else { /* Classify a file of some other type as C_ORPHAN. */ type = C_ORPHAN; } } /* Check the file's suffix only if still classified as C_FILE. */ ext = NULL; if (type == C_FILE) { /* Test if NAME has a recognized suffix. */ len = strlen (name); name += len; /* Pointer to final \0. */ for (ext = color_ext_list; ext != NULL; ext = ext->next) { if (ext->ext.len <= len && STREQ_LEN (name - ext->ext.len, ext->ext.string, ext->ext.len)) break; } } /* Adjust the color for orphaned symlinks. */ if (type == C_LINK && !linkok) { if (color_symlink_as_referent || is_colored (C_ORPHAN)) type = C_ORPHAN; } { const struct bin_str *const s = ext ? &(ext->seq) : &color_indicator[type]; if (s->string != NULL) { /* Need to reset so not dealing with attribute combinations */ if (is_colored (C_NORM)) restore_default_color (); put_indicator (&color_indicator[C_LEFT]); put_indicator (s); put_indicator (&color_indicator[C_RIGHT]); return true; } else return false; } } /* Output a color indicator (which may contain nulls). */ static void put_indicator (const struct bin_str *ind) { if (! used_color) { used_color = true; prep_non_filename_text (); } fwrite (ind->string, ind->len, 1, stdout); } static size_t length_of_file_name_and_frills (const struct fileinfo *f) { size_t len = 0; size_t name_width; char buf[MAX (LONGEST_HUMAN_READABLE + 1, INT_BUFSIZE_BOUND (uintmax_t))]; if (print_inode) len += 1 + (format == with_commas ? strlen (umaxtostr (f->stat.st_ino, buf)) : inode_number_width); if (print_block_size) len += 1 + (format == with_commas ? strlen (! f->stat_ok ? "?" : human_readable (ST_NBLOCKS (f->stat), buf, human_output_opts, ST_NBLOCKSIZE, output_block_size)) : block_size_width); if (print_scontext) len += 1 + (format == with_commas ? strlen (f->scontext) : scontext_width); quote_name (NULL, f->name, filename_quoting_options, &name_width); len += name_width; if (indicator_style != none) { char c = get_type_indicator (f->stat_ok, f->stat.st_mode, f->filetype); len += (c != 0); } return len; } static void print_many_per_line (void) { size_t row; /* Current row. */ size_t cols = calculate_columns (true); struct column_info const *line_fmt = &column_info[cols - 1]; /* Calculate the number of rows that will be in each column except possibly for a short column on the right. */ size_t rows = cwd_n_used / cols + (cwd_n_used % cols != 0); for (row = 0; row < rows; row++) { size_t col = 0; size_t filesno = row; size_t pos = 0; /* Print the next row. */ while (1) { struct fileinfo const *f = sorted_file[filesno]; size_t name_length = length_of_file_name_and_frills (f); size_t max_name_length = line_fmt->col_arr[col++]; print_file_name_and_frills (f, pos); filesno += rows; if (filesno >= cwd_n_used) break; indent (pos + name_length, pos + max_name_length); pos += max_name_length; } putchar ('\n'); } } static void print_horizontal (void) { size_t filesno; size_t pos = 0; size_t cols = calculate_columns (false); struct column_info const *line_fmt = &column_info[cols - 1]; struct fileinfo const *f = sorted_file[0]; size_t name_length = length_of_file_name_and_frills (f); size_t max_name_length = line_fmt->col_arr[0]; /* Print first entry. */ print_file_name_and_frills (f, 0); /* Now the rest. */ for (filesno = 1; filesno < cwd_n_used; ++filesno) { size_t col = filesno % cols; if (col == 0) { putchar ('\n'); pos = 0; } else { indent (pos + name_length, pos + max_name_length); pos += max_name_length; } f = sorted_file[filesno]; print_file_name_and_frills (f, pos); name_length = length_of_file_name_and_frills (f); max_name_length = line_fmt->col_arr[col]; } putchar ('\n'); } static void print_with_commas (void) { size_t filesno; size_t pos = 0; for (filesno = 0; filesno < cwd_n_used; filesno++) { struct fileinfo const *f = sorted_file[filesno]; size_t len = length_of_file_name_and_frills (f); if (filesno != 0) { char separator; if (pos + len + 2 < line_length) { pos += 2; separator = ' '; } else { pos = 0; separator = '\n'; } putchar (','); putchar (separator); } print_file_name_and_frills (f, pos); pos += len; } putchar ('\n'); } /* Assuming cursor is at position FROM, indent up to position TO. Use a TAB character instead of two or more spaces whenever possible. */ static void indent (size_t from, size_t to) { while (from < to) { if (tabsize != 0 && to / tabsize > (from + 1) / tabsize) { putchar ('\t'); from += tabsize - from % tabsize; } else { putchar (' '); from++; } } } /* Put DIRNAME/NAME into DEST, handling '.' and '/' properly. */ /* FIXME: maybe remove this function someday. See about using a non-malloc'ing version of file_name_concat. */ static void attach (char *dest, const char *dirname, const char *name) { const char *dirnamep = dirname; /* Copy dirname if it is not ".". */ if (dirname[0] != '.' || dirname[1] != 0) { while (*dirnamep) *dest++ = *dirnamep++; /* Add '/' if 'dirname' doesn't already end with it. */ if (dirnamep > dirname && dirnamep[-1] != '/') *dest++ = '/'; } while (*name) *dest++ = *name++; *dest = 0; } /* Allocate enough column info suitable for the current number of files and display columns, and initialize the info to represent the narrowest possible columns. */ static void init_column_info (void) { size_t i; size_t max_cols = MIN (max_idx, cwd_n_used); /* Currently allocated columns in column_info. */ static size_t column_info_alloc; if (column_info_alloc < max_cols) { size_t new_column_info_alloc; size_t *p; if (max_cols < max_idx / 2) { /* The number of columns is far less than the display width allows. Grow the allocation, but only so that it's double the current requirements. If the display is extremely wide, this avoids allocating a lot of memory that is never needed. */ column_info = xnrealloc (column_info, max_cols, 2 * sizeof *column_info); new_column_info_alloc = 2 * max_cols; } else { column_info = xnrealloc (column_info, max_idx, sizeof *column_info); new_column_info_alloc = max_idx; } /* Allocate the new size_t objects by computing the triangle formula n * (n + 1) / 2, except that we don't need to allocate the part of the triangle that we've already allocated. Check for address arithmetic overflow. */ { size_t column_info_growth = new_column_info_alloc - column_info_alloc; size_t s = column_info_alloc + 1 + new_column_info_alloc; size_t t = s * column_info_growth; if (s < new_column_info_alloc || t / column_info_growth != s) xalloc_die (); p = xnmalloc (t / 2, sizeof *p); } /* Grow the triangle by parceling out the cells just allocated. */ for (i = column_info_alloc; i < new_column_info_alloc; i++) { column_info[i].col_arr = p; p += i + 1; } column_info_alloc = new_column_info_alloc; } for (i = 0; i < max_cols; ++i) { size_t j; column_info[i].valid_len = true; column_info[i].line_len = (i + 1) * MIN_COLUMN_WIDTH; for (j = 0; j <= i; ++j) column_info[i].col_arr[j] = MIN_COLUMN_WIDTH; } } /* Calculate the number of columns needed to represent the current set of files in the current display width. */ static size_t calculate_columns (bool by_columns) { size_t filesno; /* Index into cwd_file. */ size_t cols; /* Number of files across. */ /* Normally the maximum number of columns is determined by the screen width. But if few files are available this might limit it as well. */ size_t max_cols = MIN (max_idx, cwd_n_used); init_column_info (); /* Compute the maximum number of possible columns. */ for (filesno = 0; filesno < cwd_n_used; ++filesno) { struct fileinfo const *f = sorted_file[filesno]; size_t name_length = length_of_file_name_and_frills (f); size_t i; for (i = 0; i < max_cols; ++i) { if (column_info[i].valid_len) { size_t idx = (by_columns ? filesno / ((cwd_n_used + i) / (i + 1)) : filesno % (i + 1)); size_t real_length = name_length + (idx == i ? 0 : 2); if (column_info[i].col_arr[idx] < real_length) { column_info[i].line_len += (real_length - column_info[i].col_arr[idx]); column_info[i].col_arr[idx] = real_length; column_info[i].valid_len = (column_info[i].line_len < line_length); } } } } /* Find maximum allowed columns. */ for (cols = max_cols; 1 < cols; --cols) { if (column_info[cols - 1].valid_len) break; } return cols; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]...\n"), program_name); fputs (_("\ List information about the FILEs (the current directory by default).\n\ Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -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\ "), stdout); fputs (_("\ --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\ modification of file status information)\n\ with -l: show ctime and sort by name\n\ otherwise: sort by ctime, newest first\n\ "), stdout); fputs (_("\ -C list entries by columns\n\ --color[=WHEN] colorize the output. WHEN defaults to 'always'\n\ or can be 'never' or 'auto'. More info below\n\ -d, --directory list directory entries instead of contents,\n\ and do not dereference symbolic links\n\ -D, --dired generate output designed for Emacs' dired mode\n\ "), stdout); fputs (_("\ -f do not sort, enable -aU, disable -ls --color\n\ -F, --classify append indicator (one of */=>@|) to entries\n\ --file-type likewise, except do not append '*'\n\ --format=WORD across -x, commas -m, horizontal -x, long -l,\n\ single-column -1, verbose -l, vertical -C\n\ --full-time like -l --time-style=full-iso\n\ "), stdout); fputs (_("\ -g like -l, but do not list owner\n\ "), stdout); fputs (_("\ --group-directories-first\n\ group directories before files.\n\ augment with a --sort option, but any\n\ use of --sort=none (-U) disables grouping\n\ "), stdout); fputs (_("\ -G, --no-group in a long listing, don't print group names\n\ -h, --human-readable with -l, print sizes in human readable format\n\ (e.g., 1K 234M 2G)\n\ --si likewise, but use powers of 1000 not 1024\n\ "), stdout); fputs (_("\ -H, --dereference-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\ (overridden by -a or -A)\n\ "), stdout); fputs (_("\ --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\ -k, --kibibytes use 1024-byte blocks\n\ "), stdout); fputs (_("\ -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\ "), stdout); fputs (_("\ -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\ characters specially)\n\ -o like -l, but do not list group information\n\ -p, --indicator-style=slash\n\ append / indicator to directories\n\ "), stdout); fputs (_("\ -q, --hide-control-chars print ? instead of non graphic characters\n\ --show-control-chars show non graphic characters as-is (default\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, c, escape\ \n\ "), stdout); fputs (_("\ -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\ "), stdout); fputs (_("\ -S sort by file size\n\ --sort=WORD sort by WORD instead of name: none -U,\n\ extension -X, size -S, time -t, version -v\n\ --time=WORD with -l, show time as WORD instead of modification\ \n\ time: atime -u, access -u, use -u, ctime -c,\n\ or status -c; use specified time as sort key\n\ if --sort=time\n\ "), stdout); fputs (_("\ --time-style=STYLE with -l, show times using style STYLE:\n\ full-iso, long-iso, iso, locale, +FORMAT.\n\ FORMAT is interpreted like 'date'; if FORMAT is\n\ FORMAT1FORMAT2, FORMAT1 applies to\n\ 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\ "), stdout); fputs (_("\ -t sort by modification time, newest first\n\ -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n\ "), stdout); fputs (_("\ -u with -lt: sort by, and show, access time\n\ with -l: show access time and sort by name\n\ otherwise: sort by access time\n\ -U do not sort; list entries in directory order\n\ -v natural sort of (version) numbers within text\n\ "), stdout); fputs (_("\ -w, --width=COLS assume screen width instead of current value\n\ -x list entries by lines instead of by columns\n\ -X sort alphabetically by entry extension\n\ -Z, --context print any SELinux security context of each file\n\ -1 list one file per line\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_size_note (); fputs (_("\ \n\ Using color to distinguish file types is disabled both by default and\n\ with --color=never. With --color=auto, ls emits color codes only when\n\ standard output is connected to a terminal. The LS_COLORS environment\n\ variable can change the settings. Use the dircolors command to set it.\n\ "), stdout); fputs (_("\ \n\ Exit status:\n\ 0 if OK,\n\ 1 if minor problems (e.g., cannot access subdirectory),\n\ 2 if serious trouble (e.g., cannot access command-line argument).\n\ "), stdout); emit_ancillary_info (); } exit (status); } coreutils-8.21/src/dircolors.c0000664000000000000000000003111312102337340013273 00000000000000/* dircolors - output commands to set the LS_COLOR environment variable Copyright (C) 1996-2013 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 H. Peter Anvin This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "system.h" #include "dircolors.h" #include "c-strcase.h" #include "error.h" #include "obstack.h" #include "quote.h" #include "stdio--.h" #include "xstrndup.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "dircolors" #define AUTHORS proper_name ("H. Peter Anvin") #define obstack_chunk_alloc malloc #define obstack_chunk_free free enum Shell_syntax { SHELL_SYNTAX_BOURNE, SHELL_SYNTAX_C, SHELL_SYNTAX_UNKNOWN }; #define APPEND_CHAR(C) obstack_1grow (&lsc_obstack, C) #define APPEND_TWO_CHAR_STRING(S) \ do \ { \ APPEND_CHAR (S[0]); \ APPEND_CHAR (S[1]); \ } \ while (0) /* Accumulate in this obstack the value for the LS_COLORS environment variable. */ static struct obstack lsc_obstack; static const char *const slack_codes[] = { "NORMAL", "NORM", "FILE", "RESET", "DIR", "LNK", "LINK", "SYMLINK", "ORPHAN", "MISSING", "FIFO", "PIPE", "SOCK", "BLK", "BLOCK", "CHR", "CHAR", "DOOR", "EXEC", "LEFT", "LEFTCODE", "RIGHT", "RIGHTCODE", "END", "ENDCODE", "SUID", "SETUID", "SGID", "SETGID", "STICKY", "OTHER_WRITABLE", "OWR", "STICKY_OTHER_WRITABLE", "OWT", "CAPABILITY", "MULTIHARDLINK", "CLRTOEOL", NULL }; static const char *const ls_codes[] = { "no", "no", "fi", "rs", "di", "ln", "ln", "ln", "or", "mi", "pi", "pi", "so", "bd", "bd", "cd", "cd", "do", "ex", "lc", "lc", "rc", "rc", "ec", "ec", "su", "su", "sg", "sg", "st", "ow", "ow", "tw", "tw", "ca", "mh", "cl", NULL }; verify (ARRAY_CARDINALITY (slack_codes) == ARRAY_CARDINALITY (ls_codes)); static struct option const long_options[] = { {"bourne-shell", no_argument, NULL, 'b'}, {"sh", no_argument, NULL, 'b'}, {"csh", no_argument, NULL, 'c'}, {"c-shell", no_argument, NULL, 'c'}, {"print-database", no_argument, NULL, 'p'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]\n"), program_name); fputs (_("\ Output commands to set the LS_COLORS environment variable.\n\ \n\ Determine format of output:\n\ -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n\ -c, --csh, --c-shell output C shell code to set LS_COLORS\n\ -p, --print-database output defaults\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If FILE is specified, read it to determine which colors to use for which\n\ file types and extensions. Otherwise, a precompiled database is used.\n\ For details on the format of these files, run 'dircolors --print-database'.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* If the SHELL environment variable is set to 'csh' or 'tcsh,' assume C shell. Else Bourne shell. */ static enum Shell_syntax guess_shell_syntax (void) { char *shell; shell = getenv ("SHELL"); if (shell == NULL || *shell == '\0') return SHELL_SYNTAX_UNKNOWN; shell = last_component (shell); if (STREQ (shell, "csh") || STREQ (shell, "tcsh")) return SHELL_SYNTAX_C; return SHELL_SYNTAX_BOURNE; } static void parse_line (char const *line, char **keyword, char **arg) { char const *p; char const *keyword_start; char const *arg_start; *keyword = NULL; *arg = NULL; for (p = line; isspace (to_uchar (*p)); ++p) continue; /* Ignore blank lines and shell-style comments. */ if (*p == '\0' || *p == '#') return; keyword_start = p; while (!isspace (to_uchar (*p)) && *p != '\0') { ++p; } *keyword = xstrndup (keyword_start, p - keyword_start); if (*p == '\0') return; do { ++p; } while (isspace (to_uchar (*p))); if (*p == '\0' || *p == '#') return; arg_start = p; while (*p != '\0' && *p != '#') ++p; for (--p; isspace (to_uchar (*p)); --p) continue; ++p; *arg = xstrndup (arg_start, p - arg_start); } /* FIXME: Write a string to standard out, while watching for "dangerous" sequences like unescaped : and = characters. */ static void append_quoted (const char *str) { bool need_backslash = true; while (*str != '\0') { switch (*str) { case '\'': APPEND_CHAR ('\''); APPEND_CHAR ('\\'); APPEND_CHAR ('\''); need_backslash = true; break; case '\\': case '^': need_backslash = !need_backslash; break; case ':': case '=': if (need_backslash) APPEND_CHAR ('\\'); /* Fall through */ default: need_backslash = true; break; } APPEND_CHAR (*str); ++str; } } /* Read the file open on FP (with name FILENAME). First, look for a 'TERM name' directive where name matches the current terminal type. Once found, translate and accumulate the associated directives onto the global obstack LSC_OBSTACK. Give a diagnostic upon failure (unrecognized keyword is the only way to fail here). Return true if successful. */ static bool dc_parse_stream (FILE *fp, const char *filename) { size_t line_number = 0; char const *next_G_line = G_line; char *input_line = NULL; size_t input_line_size = 0; char const *line; char const *term; bool ok = true; /* State for the parser. */ enum { ST_TERMNO, ST_TERMYES, ST_TERMSURE, ST_GLOBAL } state = ST_GLOBAL; /* Get terminal type */ term = getenv ("TERM"); if (term == NULL || *term == '\0') term = "none"; while (1) { char *keywd, *arg; bool unrecognized; ++line_number; if (fp) { if (getline (&input_line, &input_line_size, fp) <= 0) { free (input_line); break; } line = input_line; } else { if (next_G_line == G_line + sizeof G_line) break; line = next_G_line; next_G_line += strlen (next_G_line) + 1; } parse_line (line, &keywd, &arg); if (keywd == NULL) continue; if (arg == NULL) { error (0, 0, _("%s:%lu: invalid line; missing second token"), filename, (unsigned long int) line_number); ok = false; free (keywd); continue; } unrecognized = false; if (c_strcasecmp (keywd, "TERM") == 0) { if (STREQ (arg, term)) state = ST_TERMSURE; else if (state != ST_TERMSURE) state = ST_TERMNO; } else { if (state == ST_TERMSURE) state = ST_TERMYES; /* Another TERM can cancel */ if (state != ST_TERMNO) { if (keywd[0] == '.') { APPEND_CHAR ('*'); append_quoted (keywd); APPEND_CHAR ('='); append_quoted (arg); APPEND_CHAR (':'); } else if (keywd[0] == '*') { append_quoted (keywd); APPEND_CHAR ('='); append_quoted (arg); APPEND_CHAR (':'); } else if (c_strcasecmp (keywd, "OPTIONS") == 0 || c_strcasecmp (keywd, "COLOR") == 0 || c_strcasecmp (keywd, "EIGHTBIT") == 0) { /* Ignore. */ } else { int i; for (i = 0; slack_codes[i] != NULL; ++i) if (c_strcasecmp (keywd, slack_codes[i]) == 0) break; if (slack_codes[i] != NULL) { APPEND_TWO_CHAR_STRING (ls_codes[i]); APPEND_CHAR ('='); append_quoted (arg); APPEND_CHAR (':'); } else { unrecognized = true; } } } else { unrecognized = true; } } if (unrecognized && (state == ST_TERMSURE || state == ST_TERMYES)) { error (0, 0, _("%s:%lu: unrecognized keyword %s"), (filename ? quote (filename) : _("")), (unsigned long int) line_number, keywd); ok = false; } free (keywd); free (arg); } return ok; } static bool dc_parse_file (const char *filename) { bool ok; if (! STREQ (filename, "-") && freopen (filename, "r", stdin) == NULL) { error (0, errno, "%s", filename); return false; } ok = dc_parse_stream (stdin, filename); if (fclose (stdin) != 0) { error (0, errno, "%s", quote (filename)); return false; } return ok; } int main (int argc, char **argv) { bool ok = true; int optc; enum Shell_syntax syntax = SHELL_SYNTAX_UNKNOWN; bool print_database = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "bcp", long_options, NULL)) != -1) switch (optc) { case 'b': /* Bourne shell syntax. */ syntax = SHELL_SYNTAX_BOURNE; break; case 'c': /* C shell syntax. */ syntax = SHELL_SYNTAX_C; break; case 'p': print_database = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } argc -= optind; argv += optind; /* It doesn't make sense to use --print with either of --bourne or --c-shell. */ if (print_database && syntax != SHELL_SYNTAX_UNKNOWN) { error (0, 0, _("the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive")); usage (EXIT_FAILURE); } if (!print_database < argc) { error (0, 0, _("extra operand %s"), quote (argv[!print_database])); if (print_database) fprintf (stderr, "%s\n", _("file operands cannot be combined with " "--print-database (-p)")); usage (EXIT_FAILURE); } if (print_database) { char const *p = G_line; while (p - G_line < sizeof G_line) { puts (p); p += strlen (p) + 1; } } else { /* If shell syntax was not explicitly specified, try to guess it. */ if (syntax == SHELL_SYNTAX_UNKNOWN) { syntax = guess_shell_syntax (); if (syntax == SHELL_SYNTAX_UNKNOWN) { error (EXIT_FAILURE, 0, _("no SHELL environment variable, and no shell type option given")); } } obstack_init (&lsc_obstack); if (argc == 0) ok = dc_parse_stream (NULL, NULL); else ok = dc_parse_file (argv[0]); if (ok) { size_t len = obstack_object_size (&lsc_obstack); char *s = obstack_finish (&lsc_obstack); const char *prefix; const char *suffix; if (syntax == SHELL_SYNTAX_BOURNE) { prefix = "LS_COLORS='"; suffix = "';\nexport LS_COLORS\n"; } else { prefix = "setenv LS_COLORS '"; suffix = "'\n"; } fputs (prefix, stdout); fwrite (s, 1, len, stdout); fputs (suffix, stdout); } } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/cut.c0000664000000000000000000006500312104043357012077 00000000000000/* cut - remove parts of lines of files Copyright (C) 1997-2013 Free Software Foundation, Inc. Copyright (C) 1984 David M. Ihnat This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David Ihnat. */ /* POSIX changes, bug fixes, long-named options, and cleanup by David MacKenzie . Rewrite cut_fields and cut_bytes -- Jim Meyering. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "getndelim2.h" #include "hash.h" #include "quote.h" #include "xstrndup.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "cut" #define AUTHORS \ proper_name ("David M. Ihnat"), \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") #define FATAL_ERROR(Message) \ do \ { \ error (0, 0, (Message)); \ usage (EXIT_FAILURE); \ } \ while (0) /* Append LOW, HIGH to the list RP of range pairs, allocating additional space if necessary. Update local variable N_RP. When allocating, update global variable N_RP_ALLOCATED. */ #define ADD_RANGE_PAIR(rp, low, high) \ do \ { \ if (low == 0 || high == 0) \ FATAL_ERROR (_("fields and positions are numbered from 1")); \ if (n_rp >= n_rp_allocated) \ { \ (rp) = X2NREALLOC (rp, &n_rp_allocated); \ } \ rp[n_rp].lo = (low); \ rp[n_rp].hi = (high); \ ++n_rp; \ } \ while (0) struct range_pair { size_t lo; size_t hi; }; /* This buffer is used to support the semantics of the -s option (or lack of same) when the specified field list includes (does not include) the first field. In both of those cases, the entire first field must be read into this buffer to determine whether it is followed by a delimiter or a newline before any of it may be output. Otherwise, cut_fields can do the job without using this buffer. */ static char *field_1_buffer; /* The number of bytes allocated for FIELD_1_BUFFER. */ static size_t field_1_bufsize; /* The largest field or byte index used as an endpoint of a closed or degenerate range specification; this doesn't include the starting index of right-open-ended ranges. For example, with either range spec '2-5,9-', '2-3,5,9-' this variable would be set to 5. */ static size_t max_range_endpoint; /* If nonzero, this is the index of the first field in a range that goes to end of line. */ static size_t eol_range_start; /* This is a bit vector. In byte mode, which bytes to output. In field mode, which DELIM-separated fields to output. Both bytes and fields are numbered starting with 1, so the zeroth bit of this array is unused. A field or byte K has been selected if (K <= MAX_RANGE_ENDPOINT and is_printable_field(K)) || (EOL_RANGE_START > 0 && K >= EOL_RANGE_START). */ static unsigned char *printable_field; enum operating_mode { undefined_mode, /* Output characters that are in the given bytes. */ byte_mode, /* Output the given delimeter-separated fields. */ field_mode }; static enum operating_mode operating_mode; /* If true do not output lines containing no delimeter characters. Otherwise, all such lines are printed. This option is valid only with field mode. */ static bool suppress_non_delimited; /* If nonzero, print all bytes, characters, or fields _except_ those that were specified. */ static bool complement; /* The delimeter character for field mode. */ static unsigned char delim; /* True if the --output-delimiter=STRING option was specified. */ static bool output_delimiter_specified; /* The length of output_delimiter_string. */ static size_t output_delimiter_length; /* The output field separator string. Defaults to the 1-character string consisting of the input delimiter. */ static char *output_delimiter_string; /* True if we have ever read standard input. */ static bool have_read_stdin; #define HT_RANGE_START_INDEX_INITIAL_CAPACITY 31 /* The set of range-start indices. For example, given a range-spec list like '-b1,3-5,4-9,15-', the following indices will be recorded here: 1, 3, 15. Note that although '4' looks like a range-start index, it is in the middle of the '3-5' range, so it doesn't count. This table is created/used IFF output_delimiter_specified is set. */ static Hash_table *range_start_ht; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { OUTPUT_DELIMITER_OPTION = CHAR_MAX + 1, COMPLEMENT_OPTION }; static struct option const longopts[] = { {"bytes", required_argument, NULL, 'b'}, {"characters", required_argument, NULL, 'c'}, {"fields", required_argument, NULL, 'f'}, {"delimiter", required_argument, NULL, 'd'}, {"only-delimited", no_argument, NULL, 's'}, {"output-delimiter", required_argument, NULL, OUTPUT_DELIMITER_OPTION}, {"complement", no_argument, NULL, COMPLEMENT_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s OPTION... [FILE]...\n\ "), program_name); fputs (_("\ Print selected parts of lines from each FILE to standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -b, --bytes=LIST select only these bytes\n\ -c, --characters=LIST select only these characters\n\ -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n\ "), stdout); fputs (_("\ -f, --fields=LIST select only these fields; also print any line\n\ that contains no delimiter character, unless\n\ the -s option is specified\n\ -n (ignored)\n\ "), stdout); fputs (_("\ --complement complement the set of selected bytes, characters\n\ or fields\n\ "), stdout); fputs (_("\ -s, --only-delimited do not print lines not containing delimiters\n\ --output-delimiter=STRING use STRING as the output delimiter\n\ the default is to use the input delimiter\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Use one, and only one of -b, -c or -f. Each LIST is made up of one\n\ range, or many ranges separated by commas. Selected input is written\n\ in the same order that it is read, and is written exactly once.\n\ "), stdout); fputs (_("\ Each range is one of:\n\ \n\ N N'th byte, character or field, counted from 1\n\ N- from N'th byte, character or field, to end of line\n\ N-M from N'th to M'th (included) byte, character or field\n\ -M from first to M'th (included) byte, character or field\n\ \n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_ancillary_info (); } exit (status); } static inline void mark_range_start (size_t i) { /* Record the fact that 'i' is a range-start index. */ void *ent_from_table = hash_insert (range_start_ht, (void*) i); if (ent_from_table == NULL) { /* Insertion failed due to lack of memory. */ xalloc_die (); } assert ((size_t) ent_from_table == i); } static inline void mark_printable_field (size_t i) { size_t n = i / CHAR_BIT; printable_field[n] |= (1 << (i % CHAR_BIT)); } static inline bool is_printable_field (size_t i) { size_t n = i / CHAR_BIT; return (printable_field[n] >> (i % CHAR_BIT)) & 1; } static size_t hash_int (const void *x, size_t tablesize) { #ifdef UINTPTR_MAX uintptr_t y = (uintptr_t) x; #else size_t y = (size_t) x; #endif return y % tablesize; } static bool hash_compare_ints (void const *x, void const *y) { return (x == y) ? true : false; } static bool is_range_start_index (size_t i) { return hash_lookup (range_start_ht, (void *) i) ? true : false; } /* Return nonzero if the K'th field or byte is printable. When returning nonzero, if RANGE_START is non-NULL, set *RANGE_START to true if K is the beginning of a range, and to false otherwise. */ static bool print_kth (size_t k, bool *range_start) { bool k_selected = ((0 < eol_range_start && eol_range_start <= k) || (k <= max_range_endpoint && is_printable_field (k))); bool is_selected = k_selected ^ complement; if (range_start && is_selected) *range_start = is_range_start_index (k); return is_selected; } /* Comparison function for qsort to order the list of struct range_pairs. */ static int compare_ranges (const void *a, const void *b) { int a_start = ((const struct range_pair *) a)->lo; int b_start = ((const struct range_pair *) b)->lo; return a_start < b_start ? -1 : a_start > b_start; } /* Given the list of field or byte range specifications FIELDSTR, set MAX_RANGE_ENDPOINT and allocate and initialize the PRINTABLE_FIELD array. If there is a right-open-ended range, set EOL_RANGE_START to its starting index. FIELDSTR should be composed of one or more numbers or ranges of numbers, separated by blanks or commas. Incomplete ranges may be given: '-m' means '1-m'; 'n-' means 'n' through end of line. Return true if FIELDSTR contains at least one field specification, false otherwise. */ /* FIXME-someday: What if the user wants to cut out the 1,000,000-th field of some huge input file? This function shouldn't have to allocate a table of a million bits just so we can test every field < 10^6 with an array dereference. Instead, consider using an adaptive approach: if the range of selected fields is too large, but only a few fields/byte-offsets are actually selected, use a hash table. If the range of selected fields is too large, and too many are selected, then resort to using the range-pairs (the 'rp' array) directly. */ static bool set_fields (const char *fieldstr) { size_t initial = 1; /* Value of first number in a range. */ size_t value = 0; /* If nonzero, a number being accumulated. */ bool lhs_specified = false; bool rhs_specified = false; bool dash_found = false; /* True if a '-' is found in this field. */ bool field_found = false; /* True if at least one field spec has been processed. */ struct range_pair *rp = NULL; size_t n_rp = 0; size_t n_rp_allocated = 0; size_t i; bool in_digits = false; /* Collect and store in RP the range end points. It also sets EOL_RANGE_START if appropriate. */ while (true) { if (*fieldstr == '-') { in_digits = false; /* Starting a range. */ if (dash_found) FATAL_ERROR (_("invalid byte, character or field list")); dash_found = true; fieldstr++; if (lhs_specified && !value) FATAL_ERROR (_("fields and positions are numbered from 1")); initial = (lhs_specified ? value : 1); value = 0; } else if (*fieldstr == ',' || isblank (to_uchar (*fieldstr)) || *fieldstr == '\0') { in_digits = false; /* Ending the string, or this field/byte sublist. */ if (dash_found) { dash_found = false; if (!lhs_specified && !rhs_specified) FATAL_ERROR (_("invalid range with no endpoint: -")); /* A range. Possibilities: -n, m-n, n-. In any case, 'initial' contains the start of the range. */ if (!rhs_specified) { /* 'n-'. From 'initial' to end of line. If we've already seen an M- range, ignore subsequent N- unless N < M. */ if (eol_range_start == 0 || initial < eol_range_start) eol_range_start = initial; field_found = true; } else { /* 'm-n' or '-n' (1-n). */ if (value < initial) FATAL_ERROR (_("invalid decreasing range")); /* Is there already a range going to end of line? */ if (eol_range_start != 0) { /* Yes. Is the new sequence already contained in the old one? If so, no processing is necessary. */ if (initial < eol_range_start) { /* No, the new sequence starts before the old. Does the old range going to end of line extend into the new range? */ if (eol_range_start <= value) { /* Yes. Simply move the end of line marker. */ eol_range_start = initial; } else { /* No. A simple range, before and disjoint from the range going to end of line. Fill it. */ ADD_RANGE_PAIR (rp, initial, value); } /* In any case, some fields were selected. */ field_found = true; } } else { /* There is no range going to end of line. */ ADD_RANGE_PAIR (rp, initial, value); field_found = true; } value = 0; } } else { /* A simple field number, not a range. */ ADD_RANGE_PAIR (rp, value, value); value = 0; field_found = true; } if (*fieldstr == '\0') { break; } fieldstr++; lhs_specified = false; rhs_specified = false; } else if (ISDIGIT (*fieldstr)) { /* Record beginning of digit string, in case we have to complain about it. */ static char const *num_start; if (!in_digits || !num_start) num_start = fieldstr; in_digits = true; if (dash_found) rhs_specified = 1; else lhs_specified = 1; /* Detect overflow. */ if (!DECIMAL_DIGIT_ACCUMULATE (value, *fieldstr - '0', size_t)) { /* In case the user specified -c$(echo 2^64|bc),22, complain only about the first number. */ /* Determine the length of the offending number. */ size_t len = strspn (num_start, "0123456789"); char *bad_num = xstrndup (num_start, len); if (operating_mode == byte_mode) error (0, 0, _("byte offset %s is too large"), quote (bad_num)); else error (0, 0, _("field number %s is too large"), quote (bad_num)); free (bad_num); exit (EXIT_FAILURE); } fieldstr++; } else FATAL_ERROR (_("invalid byte, character or field list")); } max_range_endpoint = 0; for (i = 0; i < n_rp; i++) { if (rp[i].hi > max_range_endpoint) max_range_endpoint = rp[i].hi; } /* Allocate an array large enough so that it may be indexed by the field numbers corresponding to all finite ranges (i.e. '2-6' or '-4', but not '5-') in FIELDSTR. */ if (max_range_endpoint) printable_field = xzalloc (max_range_endpoint / CHAR_BIT + 1); qsort (rp, n_rp, sizeof (rp[0]), compare_ranges); /* Set the array entries corresponding to integers in the ranges of RP. */ for (i = 0; i < n_rp; i++) { /* Ignore any range that is subsumed by the to-EOL range. */ if (eol_range_start && eol_range_start <= rp[i].lo) continue; /* Record the range-start indices, i.e., record each start index that is not part of any other (lo..hi] range. */ size_t rsi_candidate = complement ? rp[i].hi + 1 : rp[i].lo; if (output_delimiter_specified && !is_printable_field (rsi_candidate)) mark_range_start (rsi_candidate); for (size_t j = rp[i].lo; j <= rp[i].hi; j++) mark_printable_field (j); } if (output_delimiter_specified && !complement && eol_range_start && max_range_endpoint && (max_range_endpoint < eol_range_start || !is_printable_field (eol_range_start))) mark_range_start (eol_range_start); free (rp); return field_found; } /* Read from stream STREAM, printing to standard output any selected bytes. */ static void cut_bytes (FILE *stream) { size_t byte_idx; /* Number of bytes in the line so far. */ /* Whether to begin printing delimiters between ranges for the current line. Set after we've begun printing data corresponding to the first range. */ bool print_delimiter; byte_idx = 0; print_delimiter = false; while (1) { int c; /* Each character from the file. */ c = getc (stream); if (c == '\n') { putchar ('\n'); byte_idx = 0; print_delimiter = false; } else if (c == EOF) { if (byte_idx > 0) putchar ('\n'); break; } else { bool range_start; bool *rs = output_delimiter_specified ? &range_start : NULL; if (print_kth (++byte_idx, rs)) { if (rs && *rs && print_delimiter) { fwrite (output_delimiter_string, sizeof (char), output_delimiter_length, stdout); } print_delimiter = true; putchar (c); } } } } /* Read from stream STREAM, printing to standard output any selected fields. */ static void cut_fields (FILE *stream) { int c; size_t field_idx = 1; bool found_any_selected_field = false; bool buffer_first_field; c = getc (stream); if (c == EOF) return; ungetc (c, stream); c = 0; /* To support the semantics of the -s flag, we may have to buffer all of the first field to determine whether it is 'delimited.' But that is unnecessary if all non-delimited lines must be printed and the first field has been selected, or if non-delimited lines must be suppressed and the first field has *not* been selected. That is because a non-delimited line has exactly one field. */ buffer_first_field = (suppress_non_delimited ^ !print_kth (1, NULL)); while (1) { if (field_idx == 1 && buffer_first_field) { ssize_t len; size_t n_bytes; bool got_line; len = getndelim2 (&field_1_buffer, &field_1_bufsize, 0, GETNLINE_NO_LIMIT, delim, '\n', stream); if (len < 0) { free (field_1_buffer); field_1_buffer = NULL; if (ferror (stream) || feof (stream)) break; xalloc_die (); } n_bytes = len; assert (n_bytes != 0); c = 0; got_line = field_1_buffer[n_bytes - 1] == '\n'; /* If the first field extends to the end of line (it is not delimited) and we are printing all non-delimited lines, print this one. */ if (to_uchar (field_1_buffer[n_bytes - 1]) != delim || got_line) { if (suppress_non_delimited && !(got_line && delim == '\n')) { /* Empty. */ } else { fwrite (field_1_buffer, sizeof (char), n_bytes, stdout); /* Make sure the output line is newline terminated. */ if (! got_line) putchar ('\n'); c = '\n'; } continue; } if (print_kth (1, NULL)) { /* Print the field, but not the trailing delimiter. */ fwrite (field_1_buffer, sizeof (char), n_bytes - 1, stdout); found_any_selected_field = true; } ++field_idx; } int prev_c = c; if (print_kth (field_idx, NULL)) { if (found_any_selected_field) { fwrite (output_delimiter_string, sizeof (char), output_delimiter_length, stdout); } found_any_selected_field = true; while ((c = getc (stream)) != delim && c != '\n' && c != EOF) { putchar (c); prev_c = c; } } else { while ((c = getc (stream)) != delim && c != '\n' && c != EOF) { prev_c = c; } } if (c == '\n' || c == EOF) { if (found_any_selected_field || !(suppress_non_delimited && field_idx == 1)) { if (c == '\n' || prev_c != '\n') putchar ('\n'); } if (c == EOF) break; field_idx = 1; found_any_selected_field = false; } else if (c == delim) field_idx++; } } static void cut_stream (FILE *stream) { if (operating_mode == byte_mode) cut_bytes (stream); else cut_fields (stream); } /* Process file FILE to standard output. Return true if successful. */ static bool cut_file (char const *file) { FILE *stream; if (STREQ (file, "-")) { have_read_stdin = true; stream = stdin; } else { stream = fopen (file, "r"); if (stream == NULL) { error (0, errno, "%s", file); return false; } } fadvise (stream, FADVISE_SEQUENTIAL); cut_stream (stream); if (ferror (stream)) { error (0, errno, "%s", file); return false; } if (STREQ (file, "-")) clearerr (stream); /* Also clear EOF. */ else if (fclose (stream) == EOF) { error (0, errno, "%s", file); return false; } return true; } int main (int argc, char **argv) { int optc; bool ok; bool delim_specified = false; char *spec_list_string IF_LINT ( = NULL); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); operating_mode = undefined_mode; /* By default, all non-delimited lines are printed. */ suppress_non_delimited = false; delim = '\0'; have_read_stdin = false; while ((optc = getopt_long (argc, argv, "b:c:d:f:ns", longopts, NULL)) != -1) { switch (optc) { case 'b': case 'c': /* Build the byte list. */ if (operating_mode != undefined_mode) FATAL_ERROR (_("only one type of list may be specified")); operating_mode = byte_mode; spec_list_string = optarg; break; case 'f': /* Build the field list. */ if (operating_mode != undefined_mode) FATAL_ERROR (_("only one type of list may be specified")); operating_mode = field_mode; spec_list_string = optarg; break; case 'd': /* New delimiter. */ /* Interpret -d '' to mean 'use the NUL byte as the delimiter.' */ if (optarg[0] != '\0' && optarg[1] != '\0') FATAL_ERROR (_("the delimiter must be a single character")); delim = optarg[0]; delim_specified = true; break; case OUTPUT_DELIMITER_OPTION: output_delimiter_specified = true; /* Interpret --output-delimiter='' to mean 'use the NUL byte as the delimiter.' */ output_delimiter_length = (optarg[0] == '\0' ? 1 : strlen (optarg)); output_delimiter_string = xstrdup (optarg); break; case 'n': break; case 's': suppress_non_delimited = true; break; case COMPLEMENT_OPTION: complement = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (operating_mode == undefined_mode) FATAL_ERROR (_("you must specify a list of bytes, characters, or fields")); if (delim_specified && operating_mode != field_mode) FATAL_ERROR (_("an input delimiter may be specified only\ when operating on fields")); if (suppress_non_delimited && operating_mode != field_mode) FATAL_ERROR (_("suppressing non-delimited lines makes sense\n\ \tonly when operating on fields")); if (output_delimiter_specified) { range_start_ht = hash_initialize (HT_RANGE_START_INDEX_INITIAL_CAPACITY, NULL, hash_int, hash_compare_ints, NULL); if (range_start_ht == NULL) xalloc_die (); } if (! set_fields (spec_list_string)) { if (operating_mode == field_mode) FATAL_ERROR (_("missing list of fields")); else FATAL_ERROR (_("missing list of positions")); } if (!delim_specified) delim = '\t'; if (output_delimiter_string == NULL) { static char dummy[2]; dummy[0] = delim; dummy[1] = '\0'; output_delimiter_string = dummy; output_delimiter_length = 1; } if (optind == argc) ok = cut_file ("-"); else for (ok = true; optind < argc; optind++) ok &= cut_file (argv[optind]); if (range_start_ht) hash_free (range_start_ht); if (have_read_stdin && fclose (stdin) == EOF) { error (0, errno, "-"); ok = false; } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/unexpand.c0000664000000000000000000003556512102337340013134 00000000000000/* unexpand - convert blanks to tabs Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* By default, convert only maximal strings of initial blanks and tabs into tabs. Preserves backspace characters in the output; they decrement the column count for tab calculations. The default action is equivalent to -8. Options: --tabs=tab1[,tab2[,...]] -t tab1[,tab2[,...]] -tab1[,tab2[,...]] If only one tab stop is given, set the tabs tab1 columns apart instead of the default 8. Otherwise, set the tabs at columns tab1, tab2, etc. (numbered from 0); preserve any blanks beyond the tab stops given. --all -a Use tabs wherever they would replace 2 or more blanks, not just at the beginnings of lines. David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "xstrndup.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "unexpand" #define AUTHORS proper_name ("David MacKenzie") /* If true, convert blanks even after nonblank characters have been read on the line. */ static bool convert_entire_line; /* If nonzero, the size of all tab stops. If zero, use 'tab_list' instead. */ static size_t tab_size; /* The maximum distance between tab stops. */ static size_t max_column_width; /* Array of the explicit column numbers of the tab stops; after 'tab_list' is exhausted, the rest of the line is printed unchanged. The first column is column 0. */ static uintmax_t *tab_list; /* The number of allocated entries in 'tab_list'. */ static size_t n_tabs_allocated; /* The index of the first invalid element of 'tab_list', where the next element can be added. */ static size_t first_free_tab; /* Null-terminated array of input filenames. */ static char **file_list; /* Default for 'file_list' if no files are given on the command line. */ static char *stdin_argv[] = { (char *) "-", NULL }; /* True if we have ever read standard input. */ static bool have_read_stdin; /* The desired exit status. */ static int exit_status; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { CONVERT_FIRST_ONLY_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { {"tabs", required_argument, NULL, 't'}, {"all", no_argument, NULL, 'a'}, {"first-only", no_argument, NULL, CONVERT_FIRST_ONLY_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Convert blanks in each FILE to tabs, writing to standard output.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a, --all convert all blanks, instead of just initial blanks\n\ --first-only convert only leading sequences of blanks (overrides -a)\n\ -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n\ -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Add tab stop TABVAL to the end of 'tab_list'. */ static void add_tab_stop (uintmax_t tabval) { uintmax_t prev_column = first_free_tab ? tab_list[first_free_tab - 1] : 0; uintmax_t column_width = prev_column <= tabval ? tabval - prev_column : 0; if (first_free_tab == n_tabs_allocated) tab_list = X2NREALLOC (tab_list, &n_tabs_allocated); tab_list[first_free_tab++] = tabval; if (max_column_width < column_width) { if (SIZE_MAX < column_width) error (EXIT_FAILURE, 0, _("tabs are too far apart")); max_column_width = column_width; } } /* Add the comma or blank separated list of tab stops STOPS to the list of tab stops. */ static void parse_tab_stops (char const *stops) { bool have_tabval = false; uintmax_t tabval IF_LINT ( = 0); char const *num_start IF_LINT ( = NULL); bool ok = true; for (; *stops; stops++) { if (*stops == ',' || isblank (to_uchar (*stops))) { if (have_tabval) add_tab_stop (tabval); have_tabval = false; } else if (ISDIGIT (*stops)) { if (!have_tabval) { tabval = 0; have_tabval = true; num_start = stops; } /* Detect overflow. */ if (!DECIMAL_DIGIT_ACCUMULATE (tabval, *stops - '0', uintmax_t)) { size_t len = strspn (num_start, "0123456789"); char *bad_num = xstrndup (num_start, len); error (0, 0, _("tab stop is too large %s"), quote (bad_num)); free (bad_num); ok = false; stops = num_start + len - 1; } } else { error (0, 0, _("tab size contains invalid character(s): %s"), quote (stops)); ok = false; break; } } if (!ok) exit (EXIT_FAILURE); if (have_tabval) add_tab_stop (tabval); } /* Check that the list of tab stops TABS, with ENTRIES entries, contains only nonzero, ascending values. */ static void validate_tab_stops (uintmax_t const *tabs, size_t entries) { uintmax_t prev_tab = 0; size_t i; for (i = 0; i < entries; i++) { if (tabs[i] == 0) error (EXIT_FAILURE, 0, _("tab size cannot be 0")); if (tabs[i] <= prev_tab) error (EXIT_FAILURE, 0, _("tab sizes must be ascending")); prev_tab = tabs[i]; } } /* Close the old stream pointer FP if it is non-NULL, and return a new one opened to read the next input file. Open a filename of '-' as the standard input. Return NULL if there are no more input files. */ static FILE * next_file (FILE *fp) { static char *prev_file; char *file; if (fp) { if (ferror (fp)) { error (0, errno, "%s", prev_file); exit_status = EXIT_FAILURE; } if (STREQ (prev_file, "-")) clearerr (fp); /* Also clear EOF. */ else if (fclose (fp) != 0) { error (0, errno, "%s", prev_file); exit_status = EXIT_FAILURE; } } while ((file = *file_list++) != NULL) { if (STREQ (file, "-")) { have_read_stdin = true; fp = stdin; } else fp = fopen (file, "r"); if (fp) { prev_file = file; fadvise (fp, FADVISE_SEQUENTIAL); return fp; } error (0, errno, "%s", file); exit_status = EXIT_FAILURE; } return NULL; } /* Change blanks to tabs, writing to stdout. Read each file in 'file_list', in order. */ static void unexpand (void) { /* Input stream. */ FILE *fp = next_file (NULL); /* The array of pending blanks. In non-POSIX locales, blanks can include characters other than spaces, so the blanks must be stored, not merely counted. */ char *pending_blank; if (!fp) return; /* The worst case is a non-blank character, then one blank, then a tab stop, then MAX_COLUMN_WIDTH - 1 blanks, then a non-blank; so allocate MAX_COLUMN_WIDTH bytes to store the blanks. */ pending_blank = xmalloc (max_column_width); while (true) { /* Input character, or EOF. */ int c; /* If true, perform translations. */ bool convert = true; /* The following variables have valid values only when CONVERT is true: */ /* Column of next input character. */ uintmax_t column = 0; /* Column the next input tab stop is on. */ uintmax_t next_tab_column = 0; /* Index in TAB_LIST of next tab stop to examine. */ size_t tab_index = 0; /* If true, the first pending blank came just before a tab stop. */ bool one_blank_before_tab_stop = false; /* If true, the previous input character was a blank. This is initially true, since initial strings of blanks are treated as if the line was preceded by a blank. */ bool prev_blank = true; /* Number of pending columns of blanks. */ size_t pending = 0; /* Convert a line of text. */ do { while ((c = getc (fp)) < 0 && (fp = next_file (fp))) continue; if (convert) { bool blank = !! isblank (c); if (blank) { if (next_tab_column <= column) { if (tab_size) next_tab_column = column + (tab_size - column % tab_size); else while (true) if (tab_index == first_free_tab) { convert = false; break; } else { uintmax_t tab = tab_list[tab_index++]; if (column < tab) { next_tab_column = tab; break; } } } if (convert) { if (next_tab_column < column) error (EXIT_FAILURE, 0, _("input line is too long")); if (c == '\t') { column = next_tab_column; if (pending) pending_blank[0] = '\t'; } else { column++; if (! (prev_blank && column == next_tab_column)) { /* It is not yet known whether the pending blanks will be replaced by tabs. */ if (column == next_tab_column) one_blank_before_tab_stop = true; pending_blank[pending++] = c; prev_blank = true; continue; } /* Replace the pending blanks by a tab or two. */ pending_blank[0] = c = '\t'; } /* Discard pending blanks, unless it was a single blank just before the previous tab stop. */ pending = one_blank_before_tab_stop; } } else if (c == '\b') { /* Go back one column, and force recalculation of the next tab stop. */ column -= !!column; next_tab_column = column; tab_index -= !!tab_index; } else { column++; if (!column) error (EXIT_FAILURE, 0, _("input line is too long")); } if (pending) { if (pending > 1 && one_blank_before_tab_stop) pending_blank[0] = '\t'; if (fwrite (pending_blank, 1, pending, stdout) != pending) error (EXIT_FAILURE, errno, _("write error")); pending = 0; one_blank_before_tab_stop = false; } prev_blank = blank; convert &= convert_entire_line || blank; } if (c < 0) { free (pending_blank); return; } if (putchar (c) < 0) error (EXIT_FAILURE, errno, _("write error")); } while (c != '\n'); } } int main (int argc, char **argv) { bool have_tabval = false; uintmax_t tabval IF_LINT ( = 0); int c; /* If true, cancel the effect of any -a (explicit or implicit in -t), so that only leading blanks will be considered. */ bool convert_first_only = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; exit_status = EXIT_SUCCESS; convert_entire_line = false; tab_list = NULL; first_free_tab = 0; while ((c = getopt_long (argc, argv, ",0123456789at:", longopts, NULL)) != -1) { switch (c) { case '?': usage (EXIT_FAILURE); case 'a': convert_entire_line = true; break; case 't': convert_entire_line = true; parse_tab_stops (optarg); break; case CONVERT_FIRST_ONLY_OPTION: convert_first_only = true; break; case ',': if (have_tabval) add_tab_stop (tabval); have_tabval = false; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: if (!have_tabval) { tabval = 0; have_tabval = true; } if (!DECIMAL_DIGIT_ACCUMULATE (tabval, c - '0', uintmax_t)) error (EXIT_FAILURE, 0, _("tab stop value is too large")); break; } } if (convert_first_only) convert_entire_line = false; if (have_tabval) add_tab_stop (tabval); validate_tab_stops (tab_list, first_free_tab); if (first_free_tab == 0) tab_size = max_column_width = 8; else if (first_free_tab == 1) tab_size = tab_list[0]; else tab_size = 0; file_list = (optind < argc ? &argv[optind] : stdin_argv); unexpand (); if (have_read_stdin && fclose (stdin) != 0) error (EXIT_FAILURE, errno, "-"); exit (exit_status); } coreutils-8.21/src/printenv.c0000664000000000000000000000773312102337340013153 00000000000000/* printenv -- print all or part of environment Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Usage: printenv [variable...] If no arguments are given, print the entire environment. If one or more variable names are given, print the value of each one that is set, and nothing for ones that are not set. Exit status: 0 if all variables specified were found 1 if not 2 if some other error occurred David MacKenzie and Richard Mlynarik */ #include #include #include #include #include "system.h" /* Exit status for syntax errors, etc. */ enum { PRINTENV_FAILURE = 2 }; /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "printenv" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Richard Mlynarik") static struct option const longopts[] = { {"null", no_argument, NULL, '0'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [VARIABLE]...\n\ Print the values of the specified environment VARIABLE(s).\n\ If no VARIABLE is specified, print name and value pairs for them all.\n\ \n\ "), program_name); fputs (_("\ -0, --null end each output line with 0 byte rather than newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { char **env; char *ep, *ap; int i; bool ok; int optc; bool opt_nul_terminate_output = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (PRINTENV_FAILURE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "+iu:0", longopts, NULL)) != -1) { switch (optc) { case '0': opt_nul_terminate_output = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (PRINTENV_FAILURE); } } if (optind >= argc) { for (env = environ; *env != NULL; ++env) printf ("%s%c", *env, opt_nul_terminate_output ? '\0' : '\n'); ok = true; } else { int matches = 0; for (i = optind; i < argc; ++i) { bool matched = false; /* 'printenv a=b' is silent, even if 'a=b=c' is in environ. */ if (strchr (argv[i], '=')) continue; for (env = environ; *env; ++env) { ep = *env; ap = argv[i]; while (*ep != '\0' && *ap != '\0' && *ep++ == *ap++) { if (*ep == '=' && *ap == '\0') { printf ("%s%c", ep + 1, opt_nul_terminate_output ? '\0' : '\n'); matched = true; break; } } } matches += matched; } ok = (matches == argc - optind); } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/tr.c0000664000000000000000000016567312102337340011743 00000000000000/* tr -- a filter to translate characters Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "safe-read.h" #include "xfreopen.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tr" #define AUTHORS proper_name ("Jim Meyering") enum { N_CHARS = UCHAR_MAX + 1 }; /* An unsigned integer type big enough to hold a repeat count or an unsigned character. POSIX requires support for repeat counts as high as 2**31 - 1. Since repeat counts might need to expand to match the length of an argument string, we need at least size_t to avoid arbitrary internal limits. It doesn't cost much to use uintmax_t, though. */ typedef uintmax_t count; /* The value for Spec_list->state that indicates to get_next that it should initialize the tail pointer. Its value should be as large as possible to avoid conflict a valid value for the state field -- and that may be as large as any valid repeat_count. */ #define BEGIN_STATE (UINTMAX_MAX - 1) /* The value for Spec_list->state that indicates to get_next that the element pointed to by Spec_list->tail is being considered for the first time on this pass through the list -- it indicates that get_next should make any necessary initializations. */ #define NEW_ELEMENT (BEGIN_STATE + 1) /* The maximum possible repeat count. Due to how the states are implemented, it can be as much as BEGIN_STATE. */ #define REPEAT_COUNT_MAXIMUM BEGIN_STATE /* The following (but not CC_NO_CLASS) are indices into the array of valid character class strings. */ enum Char_class { CC_ALNUM = 0, CC_ALPHA = 1, CC_BLANK = 2, CC_CNTRL = 3, CC_DIGIT = 4, CC_GRAPH = 5, CC_LOWER = 6, CC_PRINT = 7, CC_PUNCT = 8, CC_SPACE = 9, CC_UPPER = 10, CC_XDIGIT = 11, CC_NO_CLASS = 9999 }; /* Character class to which a character (returned by get_next) belonged; but it is set only if the construct from which the character was obtained was one of the character classes [:upper:] or [:lower:]. The value is used only when translating and then, only to make sure that upper and lower class constructs have the same relative positions in string1 and string2. */ enum Upper_Lower_class { UL_LOWER, UL_UPPER, UL_NONE }; /* The type of a List_element. See build_spec_list for more details. */ enum Range_element_type { RE_NORMAL_CHAR, RE_RANGE, RE_CHAR_CLASS, RE_EQUIV_CLASS, RE_REPEATED_CHAR }; /* One construct in one of tr's argument strings. For example, consider the POSIX version of the classic tr command: tr -cs 'a-zA-Z_' '[\n*]' String1 has 3 constructs, two of which are ranges (a-z and A-Z), and a single normal character, '_'. String2 has one construct. */ struct List_element { enum Range_element_type type; struct List_element *next; union { unsigned char normal_char; struct /* unnamed */ { unsigned char first_char; unsigned char last_char; } range; enum Char_class char_class; unsigned char equiv_code; struct /* unnamed */ { unsigned char the_repeated_char; count repeat_count; } repeated_char; } u; }; /* Each of tr's argument strings is parsed into a form that is easier to work with: a linked list of constructs (struct List_element). Each Spec_list structure also encapsulates various attributes of the corresponding argument string. The attributes are used mainly to verify that the strings are valid in the context of any options specified (like -s, -d, or -c). The main exception is the member 'tail', which is first used to construct the list. After construction, it is used by get_next to save its state when traversing the list. The member 'state' serves a similar function. */ struct Spec_list { /* Points to the head of the list of range elements. The first struct is a dummy; its members are never used. */ struct List_element *head; /* When appending, points to the last element. When traversing via get_next(), points to the element to process next. Setting Spec_list.state to the value BEGIN_STATE before calling get_next signals get_next to initialize tail to point to head->next. */ struct List_element *tail; /* Used to save state between calls to get_next. */ count state; /* Length, in the sense that length ('a-z[:digit:]123abc') is 42 ( = 26 + 10 + 6). */ count length; /* The number of [c*] and [c*0] constructs that appear in this spec. */ size_t n_indefinite_repeats; /* If n_indefinite_repeats is nonzero, this points to the List_element corresponding to the last [c*] or [c*0] construct encountered in this spec. Otherwise it is undefined. */ struct List_element *indefinite_repeat_element; /* True if this spec contains at least one equivalence class construct e.g. [=c=]. */ bool has_equiv_class; /* True if this spec contains at least one character class construct. E.g. [:digit:]. */ bool has_char_class; /* True if this spec contains at least one of the character class constructs (all but upper and lower) that aren't allowed in s2. */ bool has_restricted_char_class; }; /* A representation for escaped string1 or string2. As a string is parsed, any backslash-escaped characters (other than octal or \a, \b, \f, \n, etc.) are marked as such in this structure by setting the corresponding entry in the ESCAPED vector. */ struct E_string { char *s; bool *escaped; size_t len; }; /* Return nonzero if the Ith character of escaped string ES matches C and is not escaped itself. */ static inline bool es_match (struct E_string const *es, size_t i, char c) { return es->s[i] == c && !es->escaped[i]; } /* When true, each sequence in the input of a repeated character (call it c) is replaced (in the output) by a single occurrence of c for every c in the squeeze set. */ static bool squeeze_repeats = false; /* When true, removes characters in the delete set from input. */ static bool delete = false; /* Use the complement of set1 in place of set1. */ static bool complement = false; /* When tr is performing translation and string1 is longer than string2, POSIX says that the result is unspecified. That gives the implementor of a POSIX conforming version of tr two reasonable choices for the semantics of this case. * The BSD tr pads string2 to the length of string1 by repeating the last character in string2. * System V tr ignores characters in string1 that have no corresponding character in string2. That is, string1 is effectively truncated to the length of string2. When nonzero, this flag causes GNU tr to imitate the behavior of System V tr when translating with string1 longer than string2. The default is to emulate BSD tr. This flag is ignored in modes where no translation is performed. Emulating the System V tr in this exceptional case causes the relatively common BSD idiom: tr -cs A-Za-z0-9 '\012' to break (it would convert only zero bytes, rather than all non-alphanumerics, to newlines). WARNING: This switch does not provide general BSD or System V compatibility. For example, it doesn't disable the interpretation of the POSIX constructs [:alpha:], [=c=], and [c*10], so if by some unfortunate coincidence you use such constructs in scripts expecting to use some other version of tr, the scripts will break. */ static bool truncate_set1 = false; /* An alias for (!delete && non_option_args == 2). It is set in main and used there and in validate(). */ static bool translating; static char io_buf[BUFSIZ]; static char const *const char_class_name[] = { "alnum", "alpha", "blank", "cntrl", "digit", "graph", "lower", "print", "punct", "space", "upper", "xdigit" }; /* Array of boolean values. A character 'c' is a member of the squeeze set if and only if in_squeeze_set[c] is true. The squeeze set is defined by the last (possibly, the only) string argument on the command line when the squeeze option is given. */ static bool in_squeeze_set[N_CHARS]; /* Array of boolean values. A character 'c' is a member of the delete set if and only if in_delete_set[c] is true. The delete set is defined by the first (or only) string argument on the command line when the delete option is given. */ static bool in_delete_set[N_CHARS]; /* Array of character values defining the translation (if any) that tr is to perform. Translation is performed only when there are two specification strings and the delete switch is not given. */ static char xlate[N_CHARS]; static struct option const long_options[] = { {"complement", no_argument, NULL, 'c'}, {"delete", no_argument, NULL, 'd'}, {"squeeze-repeats", no_argument, NULL, 's'}, {"truncate-set1", no_argument, NULL, 't'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... SET1 [SET2]\n\ "), program_name); fputs (_("\ Translate, squeeze, and/or delete characters from standard input,\n\ writing to standard output.\n\ \n\ -c, -C, --complement use the complement of SET1\n\ -d, --delete delete characters in SET1, do not translate\n\ -s, --squeeze-repeats replace each input sequence of a repeated character\n\ that is listed in SET1 with a single occurrence\n\ of that character\n\ -t, --truncate-set1 first truncate SET1 to length of SET2\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ SETs are specified as strings of characters. Most represent themselves.\n\ Interpreted sequences are:\n\ \n\ \\NNN character with octal value NNN (1 to 3 octal digits)\n\ \\\\ backslash\n\ \\a audible BEL\n\ \\b backspace\n\ \\f form feed\n\ \\n new line\n\ \\r return\n\ \\t horizontal tab\n\ "), stdout); fputs (_("\ \\v vertical tab\n\ CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n\ [CHAR*] in SET2, copies of CHAR until length of SET1\n\ [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n\ [:alnum:] all letters and digits\n\ [:alpha:] all letters\n\ [:blank:] all horizontal whitespace\n\ [:cntrl:] all control characters\n\ [:digit:] all digits\n\ "), stdout); fputs (_("\ [:graph:] all printable characters, not including space\n\ [:lower:] all lower case letters\n\ [:print:] all printable characters, including space\n\ [:punct:] all punctuation characters\n\ [:space:] all horizontal or vertical whitespace\n\ [:upper:] all upper case letters\n\ [:xdigit:] all hexadecimal digits\n\ [=CHAR=] all characters which are equivalent to CHAR\n\ "), stdout); fputs (_("\ \n\ Translation occurs if -d is not given and both SET1 and SET2 appear.\n\ -t may be used only when translating. SET2 is extended to length of\n\ SET1 by repeating its last character as necessary. Excess characters\n\ of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n\ expand in ascending order; used in SET2 while translating, they may\n\ only be used in pairs to specify case conversion. -s uses SET1 if not\n\ translating nor deleting; else squeezing uses SET2 and occurs after\n\ translation or deletion.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Return nonzero if the character C is a member of the equivalence class containing the character EQUIV_CLASS. */ static inline bool is_equiv_class_member (unsigned char equiv_class, unsigned char c) { return (equiv_class == c); } /* Return true if the character C is a member of the character class CHAR_CLASS. */ static bool _GL_ATTRIBUTE_PURE is_char_class_member (enum Char_class char_class, unsigned char c) { int result; switch (char_class) { case CC_ALNUM: result = isalnum (c); break; case CC_ALPHA: result = isalpha (c); break; case CC_BLANK: result = isblank (c); break; case CC_CNTRL: result = iscntrl (c); break; case CC_DIGIT: result = isdigit (c); break; case CC_GRAPH: result = isgraph (c); break; case CC_LOWER: result = islower (c); break; case CC_PRINT: result = isprint (c); break; case CC_PUNCT: result = ispunct (c); break; case CC_SPACE: result = isspace (c); break; case CC_UPPER: result = isupper (c); break; case CC_XDIGIT: result = isxdigit (c); break; default: abort (); break; } return !! result; } static void es_free (struct E_string *es) { free (es->s); free (es->escaped); } /* Perform the first pass over each range-spec argument S, converting all \c and \ddd escapes to their one-byte representations. If an invalid quote sequence is found print an error message and return false; Otherwise set *ES to the resulting string and return true. The resulting array of characters may contain zero-bytes; however, on input, S is assumed to be null-terminated, and hence cannot contain actual (non-escaped) zero bytes. */ static bool unquote (char const *s, struct E_string *es) { size_t i, j; size_t len = strlen (s); es->s = xmalloc (len); es->escaped = xcalloc (len, sizeof es->escaped[0]); j = 0; for (i = 0; s[i]; i++) { unsigned char c; int oct_digit; switch (s[i]) { case '\\': es->escaped[j] = true; switch (s[i + 1]) { case '\\': c = '\\'; break; case 'a': c = '\a'; break; case 'b': c = '\b'; break; case 'f': c = '\f'; break; case 'n': c = '\n'; break; case 'r': c = '\r'; break; case 't': c = '\t'; break; case 'v': c = '\v'; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': c = s[i + 1] - '0'; oct_digit = s[i + 2] - '0'; if (0 <= oct_digit && oct_digit <= 7) { c = 8 * c + oct_digit; ++i; oct_digit = s[i + 2] - '0'; if (0 <= oct_digit && oct_digit <= 7) { if (8 * c + oct_digit < N_CHARS) { c = 8 * c + oct_digit; ++i; } else { /* A 3-digit octal number larger than \377 won't fit in 8 bits. So we stop when adding the next digit would put us over the limit and give a warning about the ambiguity. POSIX isn't clear on this, and we interpret this lack of clarity as meaning the resulting behavior is undefined, which means we're allowed to issue a warning. */ error (0, 0, _("warning: the ambiguous octal escape\ \\%c%c%c is being\n\tinterpreted as the 2-byte sequence \\0%c%c, %c"), s[i], s[i + 1], s[i + 2], s[i], s[i + 1], s[i + 2]); } } } break; case '\0': error (0, 0, _("warning: an unescaped backslash " "at end of string is not portable")); /* POSIX is not clear about this. */ es->escaped[j] = false; i--; c = '\\'; break; default: c = s[i + 1]; break; } ++i; es->s[j++] = c; break; default: es->s[j++] = s[i]; break; } } es->len = j; return true; } /* If CLASS_STR is a valid character class string, return its index in the global char_class_name array. Otherwise, return CC_NO_CLASS. */ static enum Char_class _GL_ATTRIBUTE_PURE look_up_char_class (char const *class_str, size_t len) { enum Char_class i; for (i = 0; i < ARRAY_CARDINALITY (char_class_name); i++) if (STREQ_LEN (class_str, char_class_name[i], len) && strlen (char_class_name[i]) == len) return i; return CC_NO_CLASS; } /* Return a newly allocated string with a printable version of C. This function is used solely for formatting error messages. */ static char * make_printable_char (unsigned char c) { char *buf = xmalloc (5); if (isprint (c)) { buf[0] = c; buf[1] = '\0'; } else { sprintf (buf, "\\%03o", c); } return buf; } /* Return a newly allocated copy of S which is suitable for printing. LEN is the number of characters in S. Most non-printing (isprint) characters are represented by a backslash followed by 3 octal digits. However, the characters represented by \c escapes where c is one of [abfnrtv] are represented by their 2-character \c sequences. This function is used solely for printing error messages. */ static char * make_printable_str (char const *s, size_t len) { /* Worst case is that every character expands to a backslash followed by a 3-character octal escape sequence. */ char *printable_buf = xnmalloc (len + 1, 4); char *p = printable_buf; size_t i; for (i = 0; i < len; i++) { char buf[5]; char const *tmp = NULL; unsigned char c = s[i]; switch (c) { case '\\': tmp = "\\"; break; case '\a': tmp = "\\a"; break; case '\b': tmp = "\\b"; break; case '\f': tmp = "\\f"; break; case '\n': tmp = "\\n"; break; case '\r': tmp = "\\r"; break; case '\t': tmp = "\\t"; break; case '\v': tmp = "\\v"; break; default: if (isprint (c)) { buf[0] = c; buf[1] = '\0'; } else sprintf (buf, "\\%03o", c); tmp = buf; break; } p = stpcpy (p, tmp); } return printable_buf; } /* Append a newly allocated structure representing a character C to the specification list LIST. */ static void append_normal_char (struct Spec_list *list, unsigned char c) { struct List_element *new; new = xmalloc (sizeof *new); new->next = NULL; new->type = RE_NORMAL_CHAR; new->u.normal_char = c; assert (list->tail); list->tail->next = new; list->tail = new; } /* Append a newly allocated structure representing the range of characters from FIRST to LAST to the specification list LIST. Return false if LAST precedes FIRST in the collating sequence, true otherwise. This means that '[c-c]' is acceptable. */ static bool append_range (struct Spec_list *list, unsigned char first, unsigned char last) { struct List_element *new; if (last < first) { char *tmp1 = make_printable_char (first); char *tmp2 = make_printable_char (last); error (0, 0, _("range-endpoints of '%s-%s' are in reverse collating sequence order"), tmp1, tmp2); free (tmp1); free (tmp2); return false; } new = xmalloc (sizeof *new); new->next = NULL; new->type = RE_RANGE; new->u.range.first_char = first; new->u.range.last_char = last; assert (list->tail); list->tail->next = new; list->tail = new; return true; } /* If CHAR_CLASS_STR is a valid character class string, append a newly allocated structure representing that character class to the end of the specification list LIST and return true. If CHAR_CLASS_STR is not a valid string return false. */ static bool append_char_class (struct Spec_list *list, char const *char_class_str, size_t len) { enum Char_class char_class; struct List_element *new; char_class = look_up_char_class (char_class_str, len); if (char_class == CC_NO_CLASS) return false; new = xmalloc (sizeof *new); new->next = NULL; new->type = RE_CHAR_CLASS; new->u.char_class = char_class; assert (list->tail); list->tail->next = new; list->tail = new; return true; } /* Append a newly allocated structure representing a [c*n] repeated character construct to the specification list LIST. THE_CHAR is the single character to be repeated, and REPEAT_COUNT is a non-negative repeat count. */ static void append_repeated_char (struct Spec_list *list, unsigned char the_char, count repeat_count) { struct List_element *new; new = xmalloc (sizeof *new); new->next = NULL; new->type = RE_REPEATED_CHAR; new->u.repeated_char.the_repeated_char = the_char; new->u.repeated_char.repeat_count = repeat_count; assert (list->tail); list->tail->next = new; list->tail = new; } /* Given a string, EQUIV_CLASS_STR, from a [=str=] context and the length of that string, LEN, if LEN is exactly one, append a newly allocated structure representing the specified equivalence class to the specification list, LIST and return true. If LEN is not 1, return false. */ static bool append_equiv_class (struct Spec_list *list, char const *equiv_class_str, size_t len) { struct List_element *new; if (len != 1) return false; new = xmalloc (sizeof *new); new->next = NULL; new->type = RE_EQUIV_CLASS; new->u.equiv_code = *equiv_class_str; assert (list->tail); list->tail->next = new; list->tail = new; return true; } /* Search forward starting at START_IDX for the 2-char sequence (PRE_BRACKET_CHAR,']') in the string P of length P_LEN. If such a sequence is found, set *RESULT_IDX to the index of the first character and return true. Otherwise return false. P may contain zero bytes. */ static bool find_closing_delim (const struct E_string *es, size_t start_idx, char pre_bracket_char, size_t *result_idx) { size_t i; for (i = start_idx; i < es->len - 1; i++) if (es->s[i] == pre_bracket_char && es->s[i + 1] == ']' && !es->escaped[i] && !es->escaped[i + 1]) { *result_idx = i; return true; } return false; } /* Parse the bracketed repeat-char syntax. If the P_LEN characters beginning with P[ START_IDX ] comprise a valid [c*n] construct, then set *CHAR_TO_REPEAT, *REPEAT_COUNT, and *CLOSING_BRACKET_IDX and return zero. If the second character following the opening bracket is not '*' or if no closing bracket can be found, return -1. If a closing bracket is found and the second char is '*', but the string between the '*' and ']' isn't empty, an octal number, or a decimal number, print an error message and return -2. */ static int find_bracketed_repeat (const struct E_string *es, size_t start_idx, unsigned char *char_to_repeat, count *repeat_count, size_t *closing_bracket_idx) { size_t i; assert (start_idx + 1 < es->len); if (!es_match (es, start_idx + 1, '*')) return -1; for (i = start_idx + 2; i < es->len && !es->escaped[i]; i++) { if (es->s[i] == ']') { size_t digit_str_len = i - start_idx - 2; *char_to_repeat = es->s[start_idx]; if (digit_str_len == 0) { /* We've matched [c*] -- no explicit repeat count. */ *repeat_count = 0; } else { /* Here, we have found [c*s] where s should be a string of octal (if it starts with '0') or decimal digits. */ char const *digit_str = &es->s[start_idx + 2]; char *d_end; if ((xstrtoumax (digit_str, &d_end, *digit_str == '0' ? 8 : 10, repeat_count, NULL) != LONGINT_OK) || REPEAT_COUNT_MAXIMUM < *repeat_count || digit_str + digit_str_len != d_end) { char *tmp = make_printable_str (digit_str, digit_str_len); error (0, 0, _("invalid repeat count %s in [c*n] construct"), quote (tmp)); free (tmp); return -2; } } *closing_bracket_idx = i; return 0; } } return -1; /* No bracket found. */ } /* Return true if the string at ES->s[IDX] matches the regular expression '\*[0-9]*\]', false otherwise. The string does not match if any of its characters are escaped. */ static bool _GL_ATTRIBUTE_PURE star_digits_closebracket (const struct E_string *es, size_t idx) { size_t i; if (!es_match (es, idx, '*')) return false; for (i = idx + 1; i < es->len; i++) if (!ISDIGIT (to_uchar (es->s[i])) || es->escaped[i]) return es_match (es, i, ']'); return false; } /* Convert string UNESCAPED_STRING (which has been preprocessed to convert backslash-escape sequences) of length LEN characters into a linked list of the following 5 types of constructs: - [:str:] Character class where 'str' is one of the 12 valid strings. - [=c=] Equivalence class where 'c' is any single character. - [c*n] Repeat the single character 'c' 'n' times. n may be omitted. However, if 'n' is present, it must be a non-negative octal or decimal integer. - r-s Range of characters from 'r' to 's'. The second endpoint must not precede the first in the current collating sequence. - c Any other character is interpreted as itself. */ static bool build_spec_list (const struct E_string *es, struct Spec_list *result) { char const *p; size_t i; p = es->s; /* The main for-loop below recognizes the 4 multi-character constructs. A character that matches (in its context) none of the multi-character constructs is classified as 'normal'. Since all multi-character constructs have at least 3 characters, any strings of length 2 or less are composed solely of normal characters. Hence, the index of the outer for-loop runs only as far as LEN-2. */ for (i = 0; i + 2 < es->len; /* empty */) { if (es_match (es, i, '[')) { bool matched_multi_char_construct; size_t closing_bracket_idx; unsigned char char_to_repeat; count repeat_count; int err; matched_multi_char_construct = true; if (es_match (es, i + 1, ':') || es_match (es, i + 1, '=')) { size_t closing_delim_idx; if (find_closing_delim (es, i + 2, p[i + 1], &closing_delim_idx)) { size_t opnd_str_len = closing_delim_idx - 1 - (i + 2) + 1; char const *opnd_str = p + i + 2; if (opnd_str_len == 0) { if (p[i + 1] == ':') error (0, 0, _("missing character class name '[::]'")); else error (0, 0, _("missing equivalence class character '[==]'")); return false; } if (p[i + 1] == ':') { /* FIXME: big comment. */ if (!append_char_class (result, opnd_str, opnd_str_len)) { if (star_digits_closebracket (es, i + 2)) goto try_bracketed_repeat; else { char *tmp = make_printable_str (opnd_str, opnd_str_len); error (0, 0, _("invalid character class %s"), quote (tmp)); free (tmp); return false; } } } else { /* FIXME: big comment. */ if (!append_equiv_class (result, opnd_str, opnd_str_len)) { if (star_digits_closebracket (es, i + 2)) goto try_bracketed_repeat; else { char *tmp = make_printable_str (opnd_str, opnd_str_len); error (0, 0, _("%s: equivalence class operand must be a single character"), tmp); free (tmp); return false; } } } i = closing_delim_idx + 2; continue; } /* Else fall through. This could be [:*] or [=*]. */ } try_bracketed_repeat: /* Determine whether this is a bracketed repeat range matching the RE \[.\*(dec_or_oct_number)?\]. */ err = find_bracketed_repeat (es, i + 1, &char_to_repeat, &repeat_count, &closing_bracket_idx); if (err == 0) { append_repeated_char (result, char_to_repeat, repeat_count); i = closing_bracket_idx + 1; } else if (err == -1) { matched_multi_char_construct = false; } else { /* Found a string that looked like [c*n] but the numeric part was invalid. */ return false; } if (matched_multi_char_construct) continue; /* We reach this point if P does not match [:str:], [=c=], [c*n], or [c*]. Now, see if P looks like a range '[-c' (from '[' to 'c'). */ } /* Look ahead one char for ranges like a-z. */ if (es_match (es, i + 1, '-')) { if (!append_range (result, p[i], p[i + 2])) return false; i += 3; } else { append_normal_char (result, p[i]); ++i; } } /* Now handle the (2 or fewer) remaining characters p[i]..p[es->len - 1]. */ for (; i < es->len; i++) append_normal_char (result, p[i]); return true; } /* Advance past the current construct. S->tail must be non-NULL. */ static void skip_construct (struct Spec_list *s) { s->tail = s->tail->next; s->state = NEW_ELEMENT; } /* Given a Spec_list S (with its saved state implicit in the values of its members 'tail' and 'state'), return the next single character in the expansion of S's constructs. If the last character of S was returned on the previous call or if S was empty, this function returns -1. For example, successive calls to get_next where S represents the spec-string 'a-d[y*3]' will return the sequence of values a, b, c, d, y, y, y, -1. Finally, if the construct from which the returned character comes is [:upper:] or [:lower:], the parameter CLASS is given a value to indicate which it was. Otherwise CLASS is set to UL_NONE. This value is used only when constructing the translation table to verify that any occurrences of upper and lower class constructs in the spec-strings appear in the same relative positions. */ static int get_next (struct Spec_list *s, enum Upper_Lower_class *class) { struct List_element *p; int return_val; int i; if (class) *class = UL_NONE; if (s->state == BEGIN_STATE) { s->tail = s->head->next; s->state = NEW_ELEMENT; } p = s->tail; if (p == NULL) return -1; switch (p->type) { case RE_NORMAL_CHAR: return_val = p->u.normal_char; s->state = NEW_ELEMENT; s->tail = p->next; break; case RE_RANGE: if (s->state == NEW_ELEMENT) s->state = p->u.range.first_char; else ++(s->state); return_val = s->state; if (s->state == p->u.range.last_char) { s->tail = p->next; s->state = NEW_ELEMENT; } break; case RE_CHAR_CLASS: if (class) { switch (p->u.char_class) { case CC_LOWER: *class = UL_LOWER; break; case CC_UPPER: *class = UL_UPPER; break; default: break; } } if (s->state == NEW_ELEMENT) { for (i = 0; i < N_CHARS; i++) if (is_char_class_member (p->u.char_class, i)) break; assert (i < N_CHARS); s->state = i; } assert (is_char_class_member (p->u.char_class, s->state)); return_val = s->state; for (i = s->state + 1; i < N_CHARS; i++) if (is_char_class_member (p->u.char_class, i)) break; if (i < N_CHARS) s->state = i; else { s->tail = p->next; s->state = NEW_ELEMENT; } break; case RE_EQUIV_CLASS: /* FIXME: this assumes that each character is alone in its own equivalence class (which appears to be correct for my LC_COLLATE. But I don't know of any function that allows one to determine a character's equivalence class. */ return_val = p->u.equiv_code; s->state = NEW_ELEMENT; s->tail = p->next; break; case RE_REPEATED_CHAR: /* Here, a repeat count of n == 0 means don't repeat at all. */ if (p->u.repeated_char.repeat_count == 0) { s->tail = p->next; s->state = NEW_ELEMENT; return_val = get_next (s, class); } else { if (s->state == NEW_ELEMENT) { s->state = 0; } ++(s->state); return_val = p->u.repeated_char.the_repeated_char; if (s->state == p->u.repeated_char.repeat_count) { s->tail = p->next; s->state = NEW_ELEMENT; } } break; default: abort (); break; } return return_val; } /* This is a minor kludge. This function is called from get_spec_stats to determine the cardinality of a set derived from a complemented string. It's a kludge in that some of the same operations are (duplicated) performed in set_initialize. */ static int card_of_complement (struct Spec_list *s) { int c; int cardinality = N_CHARS; bool in_set[N_CHARS] = { 0, }; s->state = BEGIN_STATE; while ((c = get_next (s, NULL)) != -1) { cardinality -= (!in_set[c]); in_set[c] = true; } return cardinality; } /* Discard the lengths associated with a case conversion, as using the actual number of upper or lower case characters is problematic when they don't match in some locales. Also ensure the case conversion classes in string2 are aligned correctly with those in string1. Note POSIX says the behavior of 'tr "[:upper:]" "[:upper:]"' is undefined. Therefore we allow it (unlike Solaris) and treat it as a no-op. */ static void validate_case_classes (struct Spec_list *s1, struct Spec_list *s2) { size_t n_upper = 0; size_t n_lower = 0; unsigned int i; int c1 = 0; int c2 = 0; count old_s1_len = s1->length; count old_s2_len = s2->length; struct List_element *s1_tail = s1->tail; struct List_element *s2_tail = s2->tail; bool s1_new_element = true; bool s2_new_element = true; if (!s2->has_char_class) return; for (i = 0; i < N_CHARS; i++) { if (isupper (i)) n_upper++; if (islower (i)) n_lower++; } s1->state = BEGIN_STATE; s2->state = BEGIN_STATE; while (c1 != -1 && c2 != -1) { enum Upper_Lower_class class_s1, class_s2; c1 = get_next (s1, &class_s1); c2 = get_next (s2, &class_s2); /* If c2 transitions to a new case class, then c1 must also transition at the same time. */ if (s2_new_element && class_s2 != UL_NONE && !(s1_new_element && class_s1 != UL_NONE)) error (EXIT_FAILURE, 0, _("misaligned [:upper:] and/or [:lower:] construct")); /* If case converting, quickly skip over the elements. */ if (class_s2 != UL_NONE) { skip_construct (s1); skip_construct (s2); /* Discount insignificant/problematic lengths. */ s1->length -= (class_s1 == UL_UPPER ? n_upper : n_lower) - 1; s2->length -= (class_s2 == UL_UPPER ? n_upper : n_lower) - 1; } s1_new_element = s1->state == NEW_ELEMENT; /* Next element is new. */ s2_new_element = s2->state == NEW_ELEMENT; /* Next element is new. */ } assert (old_s1_len >= s1->length && old_s2_len >= s2->length); s1->tail = s1_tail; s2->tail = s2_tail; } /* Gather statistics about the spec-list S in preparation for the tests in validate that determine the consistency of the specs. This function is called at most twice; once for string1, and again for any string2. LEN_S1 < 0 indicates that this is the first call and that S represents string1. When LEN_S1 >= 0, it is the length of the expansion of the constructs in string1, and we can use its value to resolve any indefinite repeat construct in S (which represents string2). Hence, this function has the side-effect that it converts a valid [c*] construct in string2 to [c*n] where n is large enough (or 0) to give string2 the same length as string1. For example, with the command tr a-z 'A[\n*]Z' on the second call to get_spec_stats, LEN_S1 would be 26 and S (representing string2) would be converted to 'A[\n*24]Z'. */ static void get_spec_stats (struct Spec_list *s) { struct List_element *p; count length = 0; s->n_indefinite_repeats = 0; s->has_equiv_class = false; s->has_restricted_char_class = false; s->has_char_class = false; for (p = s->head->next; p; p = p->next) { int i; count len = 0; count new_length; switch (p->type) { case RE_NORMAL_CHAR: len = 1; break; case RE_RANGE: assert (p->u.range.last_char >= p->u.range.first_char); len = p->u.range.last_char - p->u.range.first_char + 1; break; case RE_CHAR_CLASS: s->has_char_class = true; for (i = 0; i < N_CHARS; i++) if (is_char_class_member (p->u.char_class, i)) ++len; switch (p->u.char_class) { case CC_UPPER: case CC_LOWER: break; default: s->has_restricted_char_class = true; break; } break; case RE_EQUIV_CLASS: for (i = 0; i < N_CHARS; i++) if (is_equiv_class_member (p->u.equiv_code, i)) ++len; s->has_equiv_class = true; break; case RE_REPEATED_CHAR: if (p->u.repeated_char.repeat_count > 0) len = p->u.repeated_char.repeat_count; else { s->indefinite_repeat_element = p; ++(s->n_indefinite_repeats); } break; default: abort (); break; } /* Check for arithmetic overflow in computing length. Also, reject any length greater than the maximum repeat count, in case the length is later used to compute the repeat count for an indefinite element. */ new_length = length + len; if (! (length <= new_length && new_length <= REPEAT_COUNT_MAXIMUM)) error (EXIT_FAILURE, 0, _("too many characters in set")); length = new_length; } s->length = length; } static void get_s1_spec_stats (struct Spec_list *s1) { get_spec_stats (s1); if (complement) s1->length = card_of_complement (s1); } static void get_s2_spec_stats (struct Spec_list *s2, count len_s1) { get_spec_stats (s2); if (len_s1 >= s2->length && s2->n_indefinite_repeats == 1) { s2->indefinite_repeat_element->u.repeated_char.repeat_count = len_s1 - s2->length; s2->length = len_s1; } } static void spec_init (struct Spec_list *spec_list) { struct List_element *new = xmalloc (sizeof *new); spec_list->head = spec_list->tail = new; spec_list->head->next = NULL; } /* This function makes two passes over the argument string S. The first one converts all \c and \ddd escapes to their one-byte representations. The second constructs a linked specification list, SPEC_LIST, of the characters and constructs that comprise the argument string. If either of these passes detects an error, this function returns false. */ static bool parse_str (char const *s, struct Spec_list *spec_list) { struct E_string es; bool ok = unquote (s, &es) && build_spec_list (&es, spec_list); es_free (&es); return ok; } /* Given two specification lists, S1 and S2, and assuming that S1->length > S2->length, append a single [c*n] element to S2 where c is the last character in the expansion of S2 and n is the difference between the two lengths. Upon successful completion, S2->length is set to S1->length. The only way this function can fail to make S2 as long as S1 is when S2 has zero-length, since in that case, there is no last character to repeat. So S2->length is required to be at least 1. */ static void string2_extend (const struct Spec_list *s1, struct Spec_list *s2) { struct List_element *p; unsigned char char_to_repeat; assert (translating); assert (s1->length > s2->length); assert (s2->length > 0); p = s2->tail; switch (p->type) { case RE_NORMAL_CHAR: char_to_repeat = p->u.normal_char; break; case RE_RANGE: char_to_repeat = p->u.range.last_char; break; case RE_CHAR_CLASS: /* Note BSD allows extending of classes in string2. For example: tr '[:upper:]0-9' '[:lower:]' That's not portable however, contradicts POSIX and is dependent on your collating sequence. */ error (EXIT_FAILURE, 0, _("when translating with string1 longer than string2,\nthe\ latter string must not end with a character class")); abort (); /* inform gcc that the above use of error never returns. */ break; case RE_REPEATED_CHAR: char_to_repeat = p->u.repeated_char.the_repeated_char; break; case RE_EQUIV_CLASS: /* This shouldn't happen, because validate exits with an error if it finds an equiv class in string2 when translating. */ abort (); break; default: abort (); break; } append_repeated_char (s2, char_to_repeat, s1->length - s2->length); s2->length = s1->length; } /* Return true if S is a non-empty list in which exactly one character (but potentially, many instances of it) appears. E.g., [X*] or xxxxxxxx. */ static bool homogeneous_spec_list (struct Spec_list *s) { int b, c; s->state = BEGIN_STATE; if ((b = get_next (s, NULL)) == -1) return false; while ((c = get_next (s, NULL)) != -1) if (c != b) return false; return true; } /* Die with an error message if S1 and S2 describe strings that are not valid with the given command line switches. A side effect of this function is that if a valid [c*] or [c*0] construct appears in string2, it is converted to [c*n] with a value for n that makes s2->length == s1->length. By the same token, if the --truncate-set1 option is not given, S2 may be extended. */ static void validate (struct Spec_list *s1, struct Spec_list *s2) { get_s1_spec_stats (s1); if (s1->n_indefinite_repeats > 0) { error (EXIT_FAILURE, 0, _("the [c*] repeat construct may not appear in string1")); } if (s2) { get_s2_spec_stats (s2, s1->length); if (s2->n_indefinite_repeats > 1) { error (EXIT_FAILURE, 0, _("only one [c*] repeat construct may appear in string2")); } if (translating) { if (s2->has_equiv_class) { error (EXIT_FAILURE, 0, _("[=c=] expressions may not appear in string2\ when translating")); } if (s2->has_restricted_char_class) { error (EXIT_FAILURE, 0, _("when translating, the only character classes that may\ appear in\nstring2 are 'upper' and 'lower'")); } validate_case_classes (s1, s2); if (s1->length > s2->length) { if (!truncate_set1) { /* string2 must be non-empty unless --truncate-set1 is given or string1 is empty. */ if (s2->length == 0) error (EXIT_FAILURE, 0, _("when not truncating set1, string2 must be non-empty")); string2_extend (s1, s2); } } if (complement && s1->has_char_class && ! (s2->length == s1->length && homogeneous_spec_list (s2))) { error (EXIT_FAILURE, 0, _("when translating with complemented character classes,\ \nstring2 must map all characters in the domain to one")); } } else /* Not translating. */ { if (s2->n_indefinite_repeats > 0) error (EXIT_FAILURE, 0, _("the [c*] construct may appear in string2 only\ when translating")); } } } /* Read buffers of SIZE bytes via the function READER (if READER is NULL, read from stdin) until EOF. When non-NULL, READER is either read_and_delete or read_and_xlate. After each buffer is read, it is processed and written to stdout. The buffers are processed so that multiple consecutive occurrences of the same character in the input stream are replaced by a single occurrence of that character if the character is in the squeeze set. */ static void squeeze_filter (char *buf, size_t size, size_t (*reader) (char *, size_t)) { /* A value distinct from any character that may have been stored in a buffer as the result of a block-read in the function squeeze_filter. */ const int NOT_A_CHAR = INT_MAX; int char_to_squeeze = NOT_A_CHAR; size_t i = 0; size_t nr = 0; while (true) { size_t begin; if (i >= nr) { nr = reader (buf, size); if (nr == 0) break; i = 0; } begin = i; if (char_to_squeeze == NOT_A_CHAR) { size_t out_len; /* Here, by being a little tricky, we can get a significant performance increase in most cases when the input is reasonably large. Since tr will modify the input only if two consecutive (and identical) input characters are in the squeeze set, we can step by two through the data when searching for a character in the squeeze set. This means there may be a little more work in a few cases and perhaps twice as much work in the worst cases where most of the input is removed by squeezing repeats. But most uses of this functionality seem to remove less than 20-30% of the input. */ for (; i < nr && !in_squeeze_set[to_uchar (buf[i])]; i += 2) continue; /* There is a special case when i == nr and we've just skipped a character (the last one in buf) that is in the squeeze set. */ if (i == nr && in_squeeze_set[to_uchar (buf[i - 1])]) --i; if (i >= nr) out_len = nr - begin; else { char_to_squeeze = buf[i]; /* We're about to output buf[begin..i]. */ out_len = i - begin + 1; /* But since we stepped by 2 in the loop above, out_len may be one too large. */ if (i > 0 && buf[i - 1] == char_to_squeeze) --out_len; /* Advance i to the index of first character to be considered when looking for a char different from char_to_squeeze. */ ++i; } if (out_len > 0 && fwrite (&buf[begin], 1, out_len, stdout) != out_len) error (EXIT_FAILURE, errno, _("write error")); } if (char_to_squeeze != NOT_A_CHAR) { /* Advance i to index of first char != char_to_squeeze (or to nr if all the rest of the characters in this buffer are the same as char_to_squeeze). */ for (; i < nr && buf[i] == char_to_squeeze; i++) continue; if (i < nr) char_to_squeeze = NOT_A_CHAR; /* If (i >= nr) we've squeezed the last character in this buffer. So now we have to read a new buffer and continue comparing characters against char_to_squeeze. */ } } } static size_t plain_read (char *buf, size_t size) { size_t nr = safe_read (STDIN_FILENO, buf, size); if (nr == SAFE_READ_ERROR) error (EXIT_FAILURE, errno, _("read error")); return nr; } /* Read buffers of SIZE bytes from stdin until one is found that contains at least one character not in the delete set. Store in the array BUF, all characters from that buffer that are not in the delete set, and return the number of characters saved or 0 upon EOF. */ static size_t read_and_delete (char *buf, size_t size) { size_t n_saved; /* This enclosing do-while loop is to make sure that we don't return zero (indicating EOF) when we've just deleted all the characters in a buffer. */ do { size_t i; size_t nr = plain_read (buf, size); if (nr == 0) return 0; /* This first loop may be a waste of code, but gives much better performance when no characters are deleted in the beginning of a buffer. It just avoids the copying of buf[i] into buf[n_saved] when it would be a NOP. */ for (i = 0; i < nr && !in_delete_set[to_uchar (buf[i])]; i++) continue; n_saved = i; for (++i; i < nr; i++) if (!in_delete_set[to_uchar (buf[i])]) buf[n_saved++] = buf[i]; } while (n_saved == 0); return n_saved; } /* Read at most SIZE bytes from stdin into the array BUF. Then perform the in-place and one-to-one mapping specified by the global array 'xlate'. Return the number of characters read, or 0 upon EOF. */ static size_t read_and_xlate (char *buf, size_t size) { size_t bytes_read = plain_read (buf, size); size_t i; for (i = 0; i < bytes_read; i++) buf[i] = xlate[to_uchar (buf[i])]; return bytes_read; } /* Initialize a boolean membership set, IN_SET, with the character values obtained by traversing the linked list of constructs S using the function 'get_next'. IN_SET is expected to have been initialized to all zeros by the caller. If COMPLEMENT_THIS_SET is true the resulting set is complemented. */ static void set_initialize (struct Spec_list *s, bool complement_this_set, bool *in_set) { int c; size_t i; s->state = BEGIN_STATE; while ((c = get_next (s, NULL)) != -1) in_set[c] = true; if (complement_this_set) for (i = 0; i < N_CHARS; i++) in_set[i] = (!in_set[i]); } int main (int argc, char **argv) { int c; int non_option_args; int min_operands; int max_operands; struct Spec_list buf1, buf2; struct Spec_list *s1 = &buf1; struct Spec_list *s2 = &buf2; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((c = getopt_long (argc, argv, "+cCdst", long_options, NULL)) != -1) { switch (c) { case 'c': case 'C': complement = true; break; case 'd': delete = true; break; case 's': squeeze_repeats = true; break; case 't': truncate_set1 = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } } non_option_args = argc - optind; translating = (non_option_args == 2 && !delete); min_operands = 1 + (delete == squeeze_repeats); max_operands = 1 + (delete <= squeeze_repeats); if (non_option_args < min_operands) { if (non_option_args == 0) error (0, 0, _("missing operand")); else { error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); fprintf (stderr, "%s\n", _(squeeze_repeats ? N_("Two strings must be given when " "both deleting and squeezing repeats.") : N_("Two strings must be given when translating."))); } usage (EXIT_FAILURE); } if (max_operands < non_option_args) { error (0, 0, _("extra operand %s"), quote (argv[optind + max_operands])); if (non_option_args == 2) fprintf (stderr, "%s\n", _("Only one string may be given when " "deleting without squeezing repeats.")); usage (EXIT_FAILURE); } spec_init (s1); if (!parse_str (argv[optind], s1)) exit (EXIT_FAILURE); if (non_option_args == 2) { spec_init (s2); if (!parse_str (argv[optind + 1], s2)) exit (EXIT_FAILURE); } else s2 = NULL; validate (s1, s2); /* Use binary I/O, since 'tr' is sometimes used to transliterate non-printable characters, or characters which are stripped away by text-mode reads (like CR and ^Z). */ if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); fadvise (stdin, FADVISE_SEQUENTIAL); if (squeeze_repeats && non_option_args == 1) { set_initialize (s1, complement, in_squeeze_set); squeeze_filter (io_buf, sizeof io_buf, plain_read); } else if (delete && non_option_args == 1) { set_initialize (s1, complement, in_delete_set); while (true) { size_t nr = read_and_delete (io_buf, sizeof io_buf); if (nr == 0) break; if (fwrite (io_buf, 1, nr, stdout) != nr) error (EXIT_FAILURE, errno, _("write error")); } } else if (squeeze_repeats && delete && non_option_args == 2) { set_initialize (s1, complement, in_delete_set); set_initialize (s2, false, in_squeeze_set); squeeze_filter (io_buf, sizeof io_buf, read_and_delete); } else if (translating) { if (complement) { int i; bool *in_s1 = in_delete_set; set_initialize (s1, false, in_s1); s2->state = BEGIN_STATE; for (i = 0; i < N_CHARS; i++) xlate[i] = i; for (i = 0; i < N_CHARS; i++) { if (!in_s1[i]) { int ch = get_next (s2, NULL); assert (ch != -1 || truncate_set1); if (ch == -1) { /* This will happen when tr is invoked like e.g. tr -cs A-Za-z0-9 '\012'. */ break; } xlate[i] = ch; } } } else { int c1, c2; int i; enum Upper_Lower_class class_s1; enum Upper_Lower_class class_s2; for (i = 0; i < N_CHARS; i++) xlate[i] = i; s1->state = BEGIN_STATE; s2->state = BEGIN_STATE; while (true) { c1 = get_next (s1, &class_s1); c2 = get_next (s2, &class_s2); if (class_s1 == UL_LOWER && class_s2 == UL_UPPER) { for (i = 0; i < N_CHARS; i++) if (islower (i)) xlate[i] = toupper (i); } else if (class_s1 == UL_UPPER && class_s2 == UL_LOWER) { for (i = 0; i < N_CHARS; i++) if (isupper (i)) xlate[i] = tolower (i); } else { /* The following should have been checked by validate... */ if (c1 == -1 || c2 == -1) break; xlate[c1] = c2; } /* When case-converting, skip the elements as an optimization. */ if (class_s2 != UL_NONE) { skip_construct (s1); skip_construct (s2); } } assert (c1 == -1 || truncate_set1); } if (squeeze_repeats) { set_initialize (s2, false, in_squeeze_set); squeeze_filter (io_buf, sizeof io_buf, read_and_xlate); } else { while (true) { size_t bytes_read = read_and_xlate (io_buf, sizeof io_buf); if (bytes_read == 0) break; if (fwrite (io_buf, 1, bytes_read, stdout) != bytes_read) error (EXIT_FAILURE, errno, _("write error")); } } } if (close (STDIN_FILENO) != 0) error (EXIT_FAILURE, errno, _("standard input")); exit (EXIT_SUCCESS); } coreutils-8.21/src/ls-vdir.c0000664000000000000000000000005611624727241012670 00000000000000#include "ls.h" int ls_mode = LS_LONG_FORMAT; coreutils-8.21/src/primes.h0000444000000000000000000031364412107176113012613 00000000000000/* Generated file -- DO NOT EDIT */ #define WIDE_UINT_BITS 128 P (1, 26, (((((uintmax_t) 0xaaaaU << 28 | 0xaaaaaaaU) << 28 | 0xaaaaaaaU) << 28 | 0xaaaaaaaU) << 28 | 0xaaaaaabU), UINTMAX_MAX / 3) P (2, 26, (((((uintmax_t) 0xccccU << 28 | 0xcccccccU) << 28 | 0xcccccccU) << 28 | 0xcccccccU) << 28 | 0xccccccdU), UINTMAX_MAX / 5) P (2, 30, (((((uintmax_t) 0xb6dbU << 28 | 0x6db6db6U) << 28 | 0xdb6db6dU) << 28 | 0xb6db6dbU) << 28 | 0x6db6db7U), UINTMAX_MAX / 7) P (4, 30, (((((uintmax_t) 0xa2e8U << 28 | 0xba2e8baU) << 28 | 0x2e8ba2eU) << 28 | 0x8ba2e8bU) << 28 | 0xa2e8ba3U), UINTMAX_MAX / 11) P (2, 30, (((((uintmax_t) 0xc4ecU << 28 | 0x4ec4ec4U) << 28 | 0xec4ec4eU) << 28 | 0xc4ec4ecU) << 28 | 0x4ec4ec5U), UINTMAX_MAX / 13) P (4, 30, (((((uintmax_t) 0xf0f0U << 28 | 0xf0f0f0fU) << 28 | 0x0f0f0f0U) << 28 | 0xf0f0f0fU) << 28 | 0x0f0f0f1U), UINTMAX_MAX / 17) P (2, 34, (((((uintmax_t) 0xbca1U << 28 | 0xaf286bcU) << 28 | 0xa1af286U) << 28 | 0xbca1af2U) << 28 | 0x86bca1bU), UINTMAX_MAX / 19) P (4, 36, (((((uintmax_t) 0x4de9U << 28 | 0xbd37a6fU) << 28 | 0x4de9bd3U) << 28 | 0x7a6f4deU) << 28 | 0x9bd37a7U), UINTMAX_MAX / 23) P (6, 32, (((((uintmax_t) 0xc234U << 28 | 0xf72c234U) << 28 | 0xf72c234U) << 28 | 0xf72c234U) << 28 | 0xf72c235U), UINTMAX_MAX / 29) P (2, 36, (((((uintmax_t) 0xdef7U << 28 | 0xbdef7bdU) << 28 | 0xef7bdefU) << 28 | 0x7bdef7bU) << 28 | 0xdef7bdfU), UINTMAX_MAX / 31) P (6, 34, (((((uintmax_t) 0xc1baU << 28 | 0xcf914c1U) << 28 | 0xbacf914U) << 28 | 0xc1bacf9U) << 28 | 0x14c1badU), UINTMAX_MAX / 37) P (4, 32, (((((uintmax_t) 0x18f9U << 28 | 0xc18f9c1U) << 28 | 0x8f9c18fU) << 28 | 0x9c18f9cU) << 28 | 0x18f9c19U), UINTMAX_MAX / 41) P (2, 36, (((((uintmax_t) 0xbe82U << 28 | 0xfa0be82U) << 28 | 0xfa0be82U) << 28 | 0xfa0be82U) << 28 | 0xfa0be83U), UINTMAX_MAX / 43) P (4, 36, (((((uintmax_t) 0x3677U << 28 | 0xd46cefaU) << 28 | 0x8d9df51U) << 28 | 0xb3bea36U) << 28 | 0x77d46cfU), UINTMAX_MAX / 47) P (6, 36, (((((uintmax_t) 0x1352U << 28 | 0x1cfb2b7U) << 28 | 0x8c13521U) << 28 | 0xcfb2b78U) << 28 | 0xc13521dU), UINTMAX_MAX / 53) P (6, 38, (((((uintmax_t) 0x8f2fU << 28 | 0xba93868U) << 28 | 0x22b63cbU) << 28 | 0xeea4e1aU) << 28 | 0x08ad8f3U), UINTMAX_MAX / 59) P (2, 40, (((((uintmax_t) 0x14fbU << 28 | 0xcda3ac1U) << 28 | 0x0c9714fU) << 28 | 0xbcda3acU) << 28 | 0x10c9715U), UINTMAX_MAX / 61) P (6, 36, (((((uintmax_t) 0xc2ddU << 28 | 0x9ca81e9U) << 28 | 0x131abf0U) << 28 | 0xb7672a0U) << 28 | 0x7a44c6bU), UINTMAX_MAX / 67) P (4, 36, (((((uintmax_t) 0x4f52U << 28 | 0xedf8c9eU) << 28 | 0xa5dbf19U) << 28 | 0x3d4bb7eU) << 28 | 0x327a977U), UINTMAX_MAX / 71) P (2, 36, (((((uintmax_t) 0x3f1fU << 28 | 0x8fc7e3fU) << 28 | 0x1f8fc7eU) << 28 | 0x3f1f8fcU) << 28 | 0x7e3f1f9U), UINTMAX_MAX / 73) P (6, 34, (((((uintmax_t) 0xd5dfU << 28 | 0x984dc5aU) << 28 | 0xbbf309bU) << 28 | 0x8b577e6U) << 28 | 0x13716afU), UINTMAX_MAX / 79) P (4, 44, (((((uintmax_t) 0x2818U << 28 | 0xacb90f6U) << 28 | 0xbf3a9a3U) << 28 | 0x784a062U) << 28 | 0xb2e43dbU), UINTMAX_MAX / 83) P (6, 42, (((((uintmax_t) 0xd1faU << 28 | 0x3f47e8fU) << 28 | 0xd1fa3f4U) << 28 | 0x7e8fd1fU) << 28 | 0xa3f47e9U), UINTMAX_MAX / 89) P (8, 40, (((((uintmax_t) 0x5f02U << 28 | 0xa3a0fd5U) << 28 | 0xc5f02a3U) << 28 | 0xa0fd5c5U) << 28 | 0xf02a3a1U), UINTMAX_MAX / 97) P (4, 38, (((((uintmax_t) 0xc32bU << 28 | 0x16cfd77U) << 28 | 0x20f353aU) << 28 | 0x4c0a237U) << 28 | 0xc32b16dU), UINTMAX_MAX / 101) P (2, 46, (((((uintmax_t) 0xd0c6U << 28 | 0xd5bf60eU) << 28 | 0xe9a18daU) << 28 | 0xb7ec1ddU) << 28 | 0x3431b57U), UINTMAX_MAX / 103) P (4, 44, (((((uintmax_t) 0xa2b1U << 28 | 0x0bf66e0U) << 28 | 0xe5aea77U) << 28 | 0xa04c8f8U) << 28 | 0xd28ac43U), UINTMAX_MAX / 107) P (2, 48, (((((uintmax_t) 0xc096U << 28 | 0x4fda6c0U) << 28 | 0x964fda6U) << 28 | 0xc0964fdU) << 28 | 0xa6c0965U), UINTMAX_MAX / 109) P (4, 50, (((((uintmax_t) 0xc090U << 28 | 0xfdbc090U) << 28 | 0xfdbc090U) << 28 | 0xfdbc090U) << 28 | 0xfdbc091U), UINTMAX_MAX / 113) P (14, 40, (((((uintmax_t) 0xbf7eU << 28 | 0xfdfbf7eU) << 28 | 0xfdfbf7eU) << 28 | 0xfdfbf7eU) << 28 | 0xfdfbf7fU), UINTMAX_MAX / 127) P (4, 42, (((((uintmax_t) 0xf82eU << 28 | 0xe6986d6U) << 28 | 0xf63aa03U) << 28 | 0xe88cb3cU) << 28 | 0x9484e2bU), UINTMAX_MAX / 131) P (6, 42, (((((uintmax_t) 0x21a2U << 28 | 0x91c0779U) << 28 | 0x75b8fe2U) << 28 | 0x1a291c0U) << 28 | 0x77975b9U), UINTMAX_MAX / 137) P (2, 42, (((((uintmax_t) 0xa212U << 28 | 0x6ad1f4fU) << 28 | 0x31ba03aU) << 28 | 0xef6ca97U) << 28 | 0x0586723U), UINTMAX_MAX / 139) P (10, 42, (((((uintmax_t) 0x93c2U << 28 | 0x25cc74dU) << 28 | 0x50c06dfU) << 28 | 0x5b0f768U) << 28 | 0xce2cabdU), UINTMAX_MAX / 149) P (2, 42, (((((uintmax_t) 0x26feU << 28 | 0x4dfc9bfU) << 28 | 0x937f26fU) << 28 | 0xe4dfc9bU) << 28 | 0xf937f27U), UINTMAX_MAX / 151) P (6, 40, (((((uintmax_t) 0x0685U << 28 | 0xb4fe5e9U) << 28 | 0x2c0685bU) << 28 | 0x4fe5e92U) << 28 | 0xc0685b5U), UINTMAX_MAX / 157) P (6, 36, (((((uintmax_t) 0x8bc7U << 28 | 0x75ca99eU) << 28 | 0xa03241fU) << 28 | 0x693a1c4U) << 28 | 0x51ab30bU), UINTMAX_MAX / 163) P (4, 44, (((((uintmax_t) 0x513eU << 28 | 0xd9ad38bU) << 28 | 0x7f3bc8dU) << 28 | 0x07aa27dU) << 28 | 0xb35a717U), UINTMAX_MAX / 167) P (6, 50, (((((uintmax_t) 0x133cU << 28 | 0xaba736cU) << 28 | 0x05eb488U) << 28 | 0x2383b30U) << 28 | 0xd516325U), UINTMAX_MAX / 173) P (6, 48, (((((uintmax_t) 0x0e4dU << 28 | 0x3aa30a0U) << 28 | 0x2dc3eedU) << 28 | 0x6866f8dU) << 28 | 0x962ae7bU), UINTMAX_MAX / 179) P (2, 48, (((((uintmax_t) 0x6fbcU << 28 | 0x1c498c0U) << 28 | 0x5a84f34U) << 28 | 0x54dca41U) << 28 | 0x0f8ed9dU), UINTMAX_MAX / 181) P (10, 42, (((((uintmax_t) 0x7749U << 28 | 0xb79f7f5U) << 28 | 0x470961dU) << 28 | 0x7ca632eU) << 28 | 0xe936f3fU), UINTMAX_MAX / 191) P (2, 46, (((((uintmax_t) 0x9094U << 28 | 0x8f40feaU) << 28 | 0xc6f6b70U) << 28 | 0xbf01539U) << 28 | 0x0948f41U), UINTMAX_MAX / 193) P (4, 44, (((((uintmax_t) 0x0bb2U << 28 | 0x07cc053U) << 28 | 0x2ae21c9U) << 28 | 0x6bdb9d3U) << 28 | 0xd137e0dU), UINTMAX_MAX / 197) P (2, 52, (((((uintmax_t) 0x7a36U << 28 | 0x07b7f5bU) << 28 | 0x5630e26U) << 28 | 0x97cc8aeU) << 28 | 0xf46c0f7U), UINTMAX_MAX / 199) P (12, 46, (((((uintmax_t) 0x2f51U << 28 | 0x4a026d3U) << 28 | 0x1be7bc0U) << 28 | 0xe8f2a76U) << 28 | 0xe68575bU), UINTMAX_MAX / 211) P (12, 40, (((((uintmax_t) 0xdd8fU << 28 | 0x7f6d0eeU) << 28 | 0xc7bfb68U) << 28 | 0x7763dfdU) << 28 | 0xb43bb1fU), UINTMAX_MAX / 223) P (4, 42, (((((uintmax_t) 0x766aU << 28 | 0x024168eU) << 28 | 0x18cf81bU) << 28 | 0x10ea929U) << 28 | 0xba144cbU), UINTMAX_MAX / 227) P (2, 42, (((((uintmax_t) 0x0c4cU << 28 | 0x0478bbcU) << 28 | 0xecfee1dU) << 28 | 0x10c4c04U) << 28 | 0x78bbcedU), UINTMAX_MAX / 229) P (4, 44, (((((uintmax_t) 0x758fU << 28 | 0xee6bac7U) << 28 | 0xf735d63U) << 28 | 0xfb9aeb1U) << 28 | 0xfdcd759U), UINTMAX_MAX / 233) P (6, 42, (((((uintmax_t) 0x077fU << 28 | 0x76e538cU) << 28 | 0x5167e64U) << 28 | 0xafaa4f4U) << 28 | 0x37b2e0fU), UINTMAX_MAX / 239) P (2, 42, (((((uintmax_t) 0x10feU << 28 | 0xf010fefU) << 28 | 0x010fef0U) << 28 | 0x10fef01U) << 28 | 0x0fef011U), UINTMAX_MAX / 241) P (10, 42, (((((uintmax_t) 0xa020U << 28 | 0xa32fefaU) << 28 | 0xe680828U) << 28 | 0xcbfbeb9U) << 28 | 0xa020a33U), UINTMAX_MAX / 251) P (6, 50, (((((uintmax_t) 0xff00U << 28 | 0xff00ff0U) << 28 | 0x0ff00ffU) << 28 | 0x00ff00fU) << 28 | 0xf00ff01U), UINTMAX_MAX / 257) P (6, 48, (((((uintmax_t) 0xf836U << 28 | 0x826ef73U) << 28 | 0xd52bcd6U) << 28 | 0x24fd147U) << 28 | 0x0e99cb7U), UINTMAX_MAX / 263) P (6, 44, (((((uintmax_t) 0x3ce8U << 28 | 0x354b2eaU) << 28 | 0x1c8cd8fU) << 28 | 0xb3ddbd6U) << 28 | 0x205b5c5U), UINTMAX_MAX / 269) P (2, 46, (((((uintmax_t) 0x8715U << 28 | 0xba188f9U) << 28 | 0x63302d5U) << 28 | 0x7da36caU) << 28 | 0x27acdefU), UINTMAX_MAX / 271) P (6, 54, (((((uintmax_t) 0xb25eU << 28 | 0x4463cffU) << 28 | 0x13686eeU) << 28 | 0x70c03b2U) << 28 | 0x5e4463dU), UINTMAX_MAX / 277) P (4, 56, (((((uintmax_t) 0x6c69U << 28 | 0xae01d27U) << 28 | 0x2ca3fc5U) << 28 | 0xb1a6b80U) << 28 | 0x749cb29U), UINTMAX_MAX / 281) P (2, 64, (((((uintmax_t) 0xf26eU << 28 | 0x5c44bfcU) << 28 | 0x61b2347U) << 28 | 0x768073cU) << 28 | 0x9b97113U), UINTMAX_MAX / 283) P (10, 56, (((((uintmax_t) 0xb07dU << 28 | 0xd0d1b15U) << 28 | 0xd7cf125U) << 28 | 0x91e9488U) << 28 | 0x4ce32adU), UINTMAX_MAX / 293) P (14, 46, (((((uintmax_t) 0xd2f8U << 28 | 0x7ebfcaaU) << 28 | 0x1c5a0f0U) << 28 | 0x2806abcU) << 28 | 0x74be1fbU), UINTMAX_MAX / 307) P (4, 48, (((((uintmax_t) 0xbe25U << 28 | 0xdd6d7aaU) << 28 | 0x646ca7eU) << 28 | 0xc3e8f3aU) << 28 | 0x7198487U), UINTMAX_MAX / 311) P (2, 54, (((((uintmax_t) 0xbc1dU << 28 | 0x71afd8bU) << 28 | 0xdc03458U) << 28 | 0x550f8a3U) << 28 | 0x9409d09U), UINTMAX_MAX / 313) P (4, 56, (((((uintmax_t) 0x2ed6U << 28 | 0xd05a72aU) << 28 | 0xcd1f7ecU) << 28 | 0x9e48ae6U) << 28 | 0xf71de15U), UINTMAX_MAX / 317) P (14, 48, (((((uintmax_t) 0x62ffU << 28 | 0x3a018bfU) << 28 | 0xce8062fU) << 28 | 0xf3a018bU) << 28 | 0xfce8063U), UINTMAX_MAX / 331) P (6, 46, (((((uintmax_t) 0x3fcfU << 28 | 0x61fe7b0U) << 28 | 0xff3d87fU) << 28 | 0x9ec3fcfU) << 28 | 0x61fe7b1U), UINTMAX_MAX / 337) P (10, 42, (((((uintmax_t) 0x398bU << 28 | 0x6f668c2U) << 28 | 0xc43df89U) << 28 | 0xf5abe57U) << 28 | 0x0e046d3U), UINTMAX_MAX / 347) P (2, 48, (((((uintmax_t) 0x8c1aU << 28 | 0x682913cU) << 28 | 0xe1ecedaU) << 28 | 0x971b23fU) << 28 | 0x1545af5U), UINTMAX_MAX / 349) P (4, 48, (((((uintmax_t) 0x0b9aU << 28 | 0x7862a0fU) << 28 | 0xf465879U) << 28 | 0xd5f00b9U) << 28 | 0xa7862a1U), UINTMAX_MAX / 353) P (6, 50, (((((uintmax_t) 0xe7c1U << 28 | 0x3f77161U) << 28 | 0xb18f54dU) << 28 | 0xba1df32U) << 28 | 0xa128a57U), UINTMAX_MAX / 359) P (8, 52, (((((uintmax_t) 0x7318U << 28 | 0x6a06f9bU) << 28 | 0x8d9a287U) << 28 | 0x530217bU) << 28 | 0x7747d8fU), UINTMAX_MAX / 367) P (6, 48, (((((uintmax_t) 0x7c39U << 28 | 0xa6c708eU) << 28 | 0xc18b530U) << 28 | 0xbaae53bU) << 28 | 0xb5e06ddU), UINTMAX_MAX / 373) P (6, 52, (((((uintmax_t) 0x3763U << 28 | 0x4af9ebbU) << 28 | 0xc742deeU) << 28 | 0x70206c1U) << 28 | 0x2e9b5b3U), UINTMAX_MAX / 379) P (4, 50, (((((uintmax_t) 0x5035U << 28 | 0x78fb523U) << 28 | 0x6cf34cdU) << 28 | 0xde9462eU) << 28 | 0xc9dbe7fU), UINTMAX_MAX / 383) P (6, 50, (((((uintmax_t) 0xbcdfU << 28 | 0xc0d2975U) << 28 | 0xccab1afU) << 28 | 0xb64b05eU) << 28 | 0xc41cf4dU), UINTMAX_MAX / 389) P (8, 46, (((((uintmax_t) 0xf5aeU << 28 | 0xc02944fU) << 28 | 0xf5aec02U) << 28 | 0x944ff5aU) << 28 | 0xec02945U), UINTMAX_MAX / 397) P (4, 48, (((((uintmax_t) 0xc7d2U << 28 | 0x08f00a3U) << 28 | 0x6e71a2cU) << 28 | 0xb033128U) << 28 | 0x382df71U), UINTMAX_MAX / 401) P (8, 48, (((((uintmax_t) 0xd38fU << 28 | 0x55c0280U) << 28 | 0xf05a21cU) << 28 | 0xcacc0c8U) << 28 | 0x4b1c2a9U), UINTMAX_MAX / 409) P (10, 42, (((((uintmax_t) 0xca3bU << 28 | 0xe03aa76U) << 28 | 0x87a3219U) << 28 | 0xa93db57U) << 28 | 0x5eb3a0bU), UINTMAX_MAX / 419) P (2, 42, (((((uintmax_t) 0x6a69U << 28 | 0xce2344bU) << 28 | 0x66c3cceU) << 28 | 0xbeef94fU) << 28 | 0xa86fe2dU), UINTMAX_MAX / 421) P (10, 36, (((((uintmax_t) 0xfecfU << 28 | 0xe37d53bU) << 28 | 0xfd9fc6fU) << 28 | 0xaa77fb3U) << 28 | 0xf8df54fU), UINTMAX_MAX / 431) P (2, 46, (((((uintmax_t) 0xa58aU << 28 | 0xf00975aU) << 28 | 0x750ff68U) << 28 | 0xa58af00U) << 28 | 0x975a751U), UINTMAX_MAX / 433) P (6, 48, (((((uintmax_t) 0xdc6dU << 28 | 0xa187df5U) << 28 | 0x80dfed5U) << 28 | 0x6e36d0cU) << 28 | 0x3efac07U), UINTMAX_MAX / 439) P (4, 48, (((((uintmax_t) 0x8fe4U << 28 | 0x4308ab0U) << 28 | 0xd4a8bd8U) << 28 | 0xb44c47aU) << 28 | 0x8299b73U), UINTMAX_MAX / 443) P (6, 50, (((((uintmax_t) 0xf1bfU << 28 | 0x0091f5bU) << 28 | 0xcb8bb02U) << 28 | 0xd9ccaf9U) << 28 | 0xba70e41U), UINTMAX_MAX / 449) P (8, 46, (((((uintmax_t) 0x5e1cU << 28 | 0x023d9e8U) << 28 | 0x78ff709U) << 28 | 0x85e1c02U) << 28 | 0x3d9e879U), UINTMAX_MAX / 457) P (4, 48, (((((uintmax_t) 0x7880U << 28 | 0xd53da3dU) << 28 | 0x15a842aU) << 28 | 0x343316cU) << 28 | 0x494d305U), UINTMAX_MAX / 461) P (2, 58, (((((uintmax_t) 0x1ddbU << 28 | 0x81ef699U) << 28 | 0xb5e8c70U) << 28 | 0xcb7916aU) << 28 | 0xb67652fU), UINTMAX_MAX / 463) P (4, 56, (((((uintmax_t) 0xf364U << 28 | 0x5121706U) << 28 | 0x07acad3U) << 28 | 0x98f132fU) << 28 | 0xb10fe5bU), UINTMAX_MAX / 467) P (12, 62, (((((uintmax_t) 0xadb1U << 28 | 0xf8848afU) << 28 | 0x4c6d06fU) << 28 | 0x2a38a6bU) << 28 | 0xf54fa1fU), UINTMAX_MAX / 479) P (8, 60, (((((uintmax_t) 0xd9a0U << 28 | 0x541b55aU) << 28 | 0xf0c1721U) << 28 | 0x1df689bU) << 28 | 0x98f81d7U), UINTMAX_MAX / 487) P (4, 66, (((((uintmax_t) 0x673bU << 28 | 0xf592825U) << 28 | 0x8a2ac0eU) << 28 | 0x994983eU) << 28 | 0x90f1ec3U), UINTMAX_MAX / 491) P (8, 64, (((((uintmax_t) 0x0ddaU << 28 | 0x093c062U) << 28 | 0x8041aadU) << 28 | 0x671e44bU) << 28 | 0xed87f3bU), UINTMAX_MAX / 499) P (4, 66, (((((uintmax_t) 0xa9fcU << 28 | 0xf24229bU) << 28 | 0xbcd1af9U) << 28 | 0x623a051U) << 28 | 0x6e70fc7U), UINTMAX_MAX / 503) P (6, 62, (((((uintmax_t) 0xcbb1U << 28 | 0x8a4f773U) << 28 | 0x2cc324bU) << 28 | 0x7129be9U) << 28 | 0xdece355U), UINTMAX_MAX / 509) P (12, 56, (((((uintmax_t) 0x01f7U << 28 | 0x27cce5fU) << 28 | 0x530a519U) << 28 | 0x0f3b747U) << 28 | 0x3f62c39U), UINTMAX_MAX / 521) P (2, 64, (((((uintmax_t) 0x6da4U << 28 | 0xf4bdeb7U) << 28 | 0x1121c63U) << 28 | 0xdacc9aaU) << 28 | 0xd46f9a3U), UINTMAX_MAX / 523) P (18, 52, (((((uintmax_t) 0x4d9aU << 28 | 0xbc552cfU) << 28 | 0x42b88c1U) << 28 | 0x108fda2U) << 28 | 0x4e8d035U), UINTMAX_MAX / 541) P (6, 52, (((((uintmax_t) 0x141fU << 28 | 0xd312409U) << 28 | 0x5c328b7U) << 28 | 0x7578472U) << 28 | 0x319bd8bU), UINTMAX_MAX / 547) P (10, 44, (((((uintmax_t) 0xddfdU << 28 | 0x3e0bf32U) << 28 | 0x18d1947U) << 28 | 0x3d20a1cU) << 28 | 0x7ed9da5U), UINTMAX_MAX / 557) P (6, 44, (((((uintmax_t) 0xdb2bU << 28 | 0x3278f3bU) << 28 | 0x910d2fbU) << 28 | 0xe85af0fU) << 28 | 0xea2c8fbU), UINTMAX_MAX / 563) P (6, 44, (((((uintmax_t) 0xcb5cU << 28 | 0x3b636e3U) << 28 | 0xa7d1358U) << 28 | 0xa1f7e6cU) << 28 | 0xe0f4c09U), UINTMAX_MAX / 569) P (2, 46, (((((uintmax_t) 0x1bcbU << 28 | 0xfe34e75U) << 28 | 0x76cf21aU) << 28 | 0x00e58c5U) << 28 | 0x44986f3U), UINTMAX_MAX / 571) P (6, 42, (((((uintmax_t) 0x6b5eU << 28 | 0x80aa5efU) << 28 | 0x23f0071U) << 28 | 0x94a17f5U) << 28 | 0x5a10dc1U), UINTMAX_MAX / 577) P (10, 44, (((((uintmax_t) 0x9a62U << 28 | 0x8feb110U) << 28 | 0x22e3a70U) << 28 | 0x8494478U) << 28 | 0x5e33763U), UINTMAX_MAX / 587) P (6, 48, (((((uintmax_t) 0xbe61U << 28 | 0x909eddeU) << 28 | 0x53c01baU) << 28 | 0x10679bdU) << 28 | 0x84886b1U), UINTMAX_MAX / 593) P (6, 44, (((((uintmax_t) 0x4febU << 28 | 0x7c5e05fU) << 28 | 0xbb9e8ebU) << 28 | 0xe9c6bb3U) << 28 | 0x1260967U), UINTMAX_MAX / 599) P (2, 46, (((((uintmax_t) 0x1ff2U << 28 | 0x5e8ff92U) << 28 | 0xf47fc97U) << 28 | 0xa3fe4bdU) << 28 | 0x1ff25e9U), UINTMAX_MAX / 601) P (6, 46, (((((uintmax_t) 0x3014U << 28 | 0x3e6b1faU) << 28 | 0x187616cU) << 28 | 0x6388395U) << 28 | 0xb84d99fU), UINTMAX_MAX / 607) P (6, 46, (((((uintmax_t) 0xd491U << 28 | 0x54c6c94U) << 28 | 0xac0f08cU) << 28 | 0x51da6a1U) << 28 | 0x335df6dU), UINTMAX_MAX / 613) P (4, 44, (((((uintmax_t) 0x9b97U << 28 | 0x71454a4U) << 28 | 0x4e00d46U) << 28 | 0xf323447U) << 28 | 0x5d5add9U), UINTMAX_MAX / 617) P (2, 54, (((((uintmax_t) 0x3abaU << 28 | 0x1b4baefU) << 28 | 0x0b2a990U) << 28 | 0x5605ca3U) << 28 | 0xc619a43U), UINTMAX_MAX / 619) P (12, 46, (((((uintmax_t) 0xcc11U << 28 | 0xd9dd1bfU) << 28 | 0xe608eceU) << 28 | 0xe8dff30U) << 28 | 0x4767747U), UINTMAX_MAX / 631) P (10, 42, (((((uintmax_t) 0xff99U << 28 | 0xc27f006U) << 28 | 0x63d80ffU) << 28 | 0x99c27f0U) << 28 | 0x0663d81U), UINTMAX_MAX / 641) P (2, 48, (((((uintmax_t) 0x111eU << 28 | 0xa8032f6U) << 28 | 0x0bf1aacU) << 28 | 0xca407f6U) << 28 | 0x71ddc2bU), UINTMAX_MAX / 643) P (4, 54, (((((uintmax_t) 0xdd93U << 28 | 0x95f5b66U) << 28 | 0x7aa88e7U) << 28 | 0x1298bacU) << 28 | 0x1e12337U), UINTMAX_MAX / 647) P (6, 56, (((((uintmax_t) 0xa7caU << 28 | 0xaed9303U) << 28 | 0x8740afaU) << 28 | 0x1e94309U) << 28 | 0xcd09045U), UINTMAX_MAX / 653) P (6, 60, (((((uintmax_t) 0x2be5U << 28 | 0x958f582U) << 28 | 0xe9db7beU) << 28 | 0xbccb8e9U) << 28 | 0x1496b9bU), UINTMAX_MAX / 659) P (2, 66, (((((uintmax_t) 0x995eU << 28 | 0x1ca8dbfU) << 28 | 0xb5a3d31U) << 28 | 0x2fa30ccU) << 28 | 0x7d7b8bdU), UINTMAX_MAX / 661) P (12, 60, (((((uintmax_t) 0x9f00U << 28 | 0x6160ff9U) << 28 | 0xe9f0061U) << 28 | 0x60ff9e9U) << 28 | 0xf006161U), UINTMAX_MAX / 673) P (4, 62, (((((uintmax_t) 0xb33cU << 28 | 0xe15ee9bU) << 28 | 0x097416bU) << 28 | 0x03673b5U) << 28 | 0xe28152dU), UINTMAX_MAX / 677) P (6, 60, (((((uintmax_t) 0xfa00U << 28 | 0xbfe802fU) << 28 | 0xfa00bfeU) << 28 | 0x802ffa0U) << 28 | 0x0bfe803U), UINTMAX_MAX / 683) P (8, 60, (((((uintmax_t) 0x1c28U << 28 | 0x02f6bcfU) << 28 | 0x18d26e6U) << 28 | 0x6fe25c9U) << 28 | 0xe907c7bU), UINTMAX_MAX / 691) P (10, 56, (((((uintmax_t) 0xcf6dU << 28 | 0xec4793eU) << 28 | 0x72aba3fU) << 28 | 0x8b236c7U) << 28 | 0x6528895U), UINTMAX_MAX / 701) P (8, 52, (((((uintmax_t) 0x1e54U << 28 | 0x7da72d2U) << 28 | 0x24d44f6U) << 28 | 0xf923bf0U) << 28 | 0x1ce2c0dU), UINTMAX_MAX / 709) P (10, 50, (((((uintmax_t) 0x7746U << 28 | 0xda9d5fcU) << 28 | 0x708306cU) << 28 | 0x3d3d98bU) << 28 | 0xed7c42fU), UINTMAX_MAX / 719) P (8, 46, (((((uintmax_t) 0xcdffU << 28 | 0x4bb5591U) << 28 | 0x6e37a30U) << 28 | 0x981efcdU) << 28 | 0x4b010e7U), UINTMAX_MAX / 727) P (6, 54, (((((uintmax_t) 0x2c01U << 28 | 0x65a1b3dU) << 28 | 0xd13356fU) << 28 | 0x691fc81U) << 28 | 0xebbe575U), UINTMAX_MAX / 733) P (6, 58, (((((uintmax_t) 0xa802U << 28 | 0xc574bddU) << 28 | 0x5bccbb1U) << 28 | 0x0480ddbU) << 28 | 0x47b52cbU), UINTMAX_MAX / 739) P (4, 66, (((((uintmax_t) 0x5411U << 28 | 0xeaa350fU) << 28 | 0x8134b74U) << 28 | 0xcd59ed6U) << 28 | 0x4f3f0d7U), UINTMAX_MAX / 743) P (8, 60, (((((uintmax_t) 0xfceeU << 28 | 0x9d7c6bbU) << 28 | 0x7bbd301U) << 28 | 0x05cb813U) << 28 | 0x16d6c0fU), UINTMAX_MAX / 751) P (6, 64, (((((uintmax_t) 0x4248U << 28 | 0x5eb0874U) << 28 | 0x553879bU) << 28 | 0xe64c6d9U) << 28 | 0x1c1195dU), UINTMAX_MAX / 757) P (4, 62, (((((uintmax_t) 0xe060U << 28 | 0xe20f797U) << 28 | 0x0b19e71U) << 28 | 0xb3f945aU) << 28 | 0x27b1f49U), UINTMAX_MAX / 761) P (8, 58, (((((uintmax_t) 0x782dU << 28 | 0x463deb5U) << 28 | 0xc369877U) << 28 | 0xd80d50eU) << 28 | 0x508fd01U), UINTMAX_MAX / 769) P (4, 56, (((((uintmax_t) 0x4a2fU << 28 | 0x06f468aU) << 28 | 0x6e9cfa5U) << 28 | 0xeb778e1U) << 28 | 0x33551cdU), UINTMAX_MAX / 773) P (14, 52, (((((uintmax_t) 0xda44U << 28 | 0x4f5ea87U) << 28 | 0xf831718U) << 28 | 0x657d3c2U) << 28 | 0xd8a3f1bU), UINTMAX_MAX / 787) P (10, 56, (((((uintmax_t) 0xfb80U << 28 | 0xcd9225eU) << 28 | 0x6f2302eU) << 28 | 0x40e220cU) << 28 | 0x34ad735U), UINTMAX_MAX / 797) P (12, 48, (((((uintmax_t) 0x1719U << 28 | 0xa1b36beU) << 28 | 0x7f357a7U) << 28 | 0x6593c70U) << 28 | 0xa714919U), UINTMAX_MAX / 809) P (2, 48, (((((uintmax_t) 0x2867U << 28 | 0x894fdcaU) << 28 | 0x567da1eU) << 28 | 0xef45212U) << 28 | 0x4eea383U), UINTMAX_MAX / 811) P (10, 42, (((((uintmax_t) 0x8932U << 28 | 0xd36914eU) << 28 | 0x43f9c38U) << 28 | 0x206dc24U) << 28 | 0x2ba771dU), UINTMAX_MAX / 821) P (2, 54, (((((uintmax_t) 0xdeb7U << 28 | 0x8610cc0U) << 28 | 0xdafbf4cU) << 28 | 0xd4c3580U) << 28 | 0x7772287U), UINTMAX_MAX / 823) P (4, 54, (((((uintmax_t) 0x8fa1U << 28 | 0xe560e3dU) << 28 | 0x4a9a283U) << 28 | 0xde917d5U) << 28 | 0xe69ddf3U), UINTMAX_MAX / 827) P (2, 54, (((((uintmax_t) 0x6724U << 28 | 0x2159dccU) << 28 | 0xbcfd388U) << 28 | 0x2ef0403U) << 28 | 0xb4a6c15U), UINTMAX_MAX / 829) P (10, 48, (((((uintmax_t) 0x5e96U << 28 | 0xbb58ca9U) << 28 | 0xa64b0f8U) << 28 | 0xfb6c51cU) << 28 | 0x606b677U), UINTMAX_MAX / 839) P (14, 54, (((((uintmax_t) 0x2450U << 28 | 0x6e7171bU) << 28 | 0xe930eb4U) << 28 | 0xabaac44U) << 28 | 0x6d3e1fdU), UINTMAX_MAX / 853) P (4, 54, (((((uintmax_t) 0x3743U << 28 | 0x3611535U) << 28 | 0x7861fa9U) << 28 | 0xf83bbe4U) << 28 | 0x84a14e9U), UINTMAX_MAX / 857) P (2, 60, (((((uintmax_t) 0x232aU << 28 | 0x9df37baU) << 28 | 0xdbf080bU) << 28 | 0xebbc0d1U) << 28 | 0xce874d3U), UINTMAX_MAX / 859) P (4, 66, (((((uintmax_t) 0x569eU << 28 | 0x67d2e92U) << 28 | 0x8a3bebdU) << 28 | 0x418eaf0U) << 28 | 0x473189fU), UINTMAX_MAX / 863) P (14, 60, (((((uintmax_t) 0x7e1aU << 28 | 0x457923eU) << 28 | 0x77ae444U) << 28 | 0xe3af6f3U) << 28 | 0x72b7e65U), UINTMAX_MAX / 877) P (4, 60, (((((uintmax_t) 0x9764U << 28 | 0x3fed672U) << 28 | 0x7cf2ec8U) << 28 | 0x7fdace4U) << 28 | 0xf9e5d91U), UINTMAX_MAX / 881) P (2, 64, (((((uintmax_t) 0xea8bU << 28 | 0xbde5e83U) << 28 | 0x9fbf0ecU) << 28 | 0x93479c4U) << 28 | 0x46bd9bbU), UINTMAX_MAX / 883) P (4, 66, (((((uintmax_t) 0x3d2fU << 28 | 0x9f06a35U) << 28 | 0xae9c6daU) << 28 | 0xc4d592eU) << 28 | 0x777c647U), UINTMAX_MAX / 887) P (20, 60, (((((uintmax_t) 0x81d5U << 28 | 0xa9a1ba9U) << 28 | 0x11379a6U) << 28 | 0x3ea8c8fU) << 28 | 0x61f0c23U), UINTMAX_MAX / 907) P (4, 60, (((((uintmax_t) 0x752eU << 28 | 0x5ddb77fU) << 28 | 0xdc07de4U) << 28 | 0x76062eaU) << 28 | 0x5cbbb6fU), UINTMAX_MAX / 911) P (8, 58, (((((uintmax_t) 0x1abdU << 28 | 0xfafc60fU) << 28 | 0x0add2dfU) << 28 | 0x68761c6U) << 28 | 0x9daac27U), UINTMAX_MAX / 919) P (10, 54, (((((uintmax_t) 0xac3aU << 28 | 0x6b786c0U) << 28 | 0x582e4b8U) << 28 | 0x13d7376U) << 28 | 0x37aa061U), UINTMAX_MAX / 929) P (8, 54, (((((uintmax_t) 0x131fU << 28 | 0xf741d81U) << 28 | 0xc6a01a3U) << 28 | 0xa77aac1U) << 28 | 0xfb15099U), UINTMAX_MAX / 937) P (4, 56, (((((uintmax_t) 0xc53cU << 28 | 0xaad918cU) << 28 | 0x1b34817U) << 28 | 0xf0c3e07U) << 28 | 0x12c5825U), UINTMAX_MAX / 941) P (6, 62, (((((uintmax_t) 0xea1aU << 28 | 0x7df8f8bU) << 28 | 0x37f52fdU) << 28 | 0x912a70fU) << 28 | 0xf30637bU), UINTMAX_MAX / 947) P (6, 60, (((((uintmax_t) 0xbb3bU << 28 | 0x5dc0113U) << 28 | 0x1288ffbU) << 28 | 0xb3b5dc0U) << 28 | 0x1131289U), UINTMAX_MAX / 953) P (14, 52, (((((uintmax_t) 0x50beU << 28 | 0x9c31c53U) << 28 | 0xa81b885U) << 28 | 0x6d560a0U) << 28 | 0xf5acdf7U), UINTMAX_MAX / 967) P (4, 50, (((((uintmax_t) 0x6580U << 28 | 0xec3a008U) << 28 | 0x6fc9296U) << 28 | 0x472f314U) << 28 | 0xd3f89e3U), UINTMAX_MAX / 971) P (6, 54, (((((uintmax_t) 0x1108U << 28 | 0x1f71752U) << 28 | 0x03ab1a7U) << 28 | 0x6f5c7edU) << 28 | 0x2253531U), UINTMAX_MAX / 977) P (6, 50, (((((uintmax_t) 0xb81fU << 28 | 0x4053563U) << 28 | 0x3908981U) << 28 | 0x6eae7c7U) << 28 | 0xbf69fe7U), UINTMAX_MAX / 983) P (8, 48, (((((uintmax_t) 0x9c8bU << 28 | 0x7ed668eU) << 28 | 0x14263b6U) << 28 | 0xa2bea4cU) << 28 | 0xfb1781fU), UINTMAX_MAX / 991) P (6, 52, (((((uintmax_t) 0x0291U << 28 | 0x54fdb06U) << 28 | 0x6b547a3U) << 28 | 0x900c533U) << 28 | 0x18e81edU), UINTMAX_MAX / 997) P (12, 42, (((((uintmax_t) 0x2240U << 28 | 0x71aa3e6U) << 28 | 0xa0db360U) << 28 | 0xaa7f5d9U) << 28 | 0xf148d11U), UINTMAX_MAX / 1009) P (4, 48, (((((uintmax_t) 0x02c7U << 28 | 0xa505cffU) << 28 | 0xbf4e16bU) << 28 | 0xe8c0102U) << 28 | 0xc7a505dU), UINTMAX_MAX / 1013) P (6, 44, (((((uintmax_t) 0xcafdU << 28 | 0xbd2c779U) << 28 | 0x57ad98fU) << 28 | 0xf3f0ed2U) << 28 | 0x8728f33U), UINTMAX_MAX / 1019) P (2, 48, (((((uintmax_t) 0x513cU << 28 | 0xedb245bU) << 28 | 0x4473568U) << 28 | 0x0e0a87eU) << 28 | 0x5ec7155U), UINTMAX_MAX / 1021) P (10, 56, (((((uintmax_t) 0x2e6eU << 28 | 0xbe33267U) << 28 | 0xca5ddbbU) << 28 | 0xf70fa49U) << 28 | 0xfe829b7U), UINTMAX_MAX / 1031) P (2, 58, (((((uintmax_t) 0x007eU << 28 | 0xe2825abU) << 28 | 0x3eb2ed6U) << 28 | 0x9d1e7b6U) << 28 | 0xa50ca39U), UINTMAX_MAX / 1033) P (6, 54, (((((uintmax_t) 0x2f8dU << 28 | 0xacb84cdU) << 28 | 0xfb90a1aU) << 28 | 0x1e0f46bU) << 28 | 0x6d26aefU), UINTMAX_MAX / 1039) P (10, 48, (((((uintmax_t) 0x01f3U << 28 | 0xcc435b0U) << 28 | 0x713c474U) << 28 | 0x29f9a7aU) << 28 | 0x8251829U), UINTMAX_MAX / 1049) P (2, 52, (((((uintmax_t) 0x8c0eU << 28 | 0x9d59e14U) << 28 | 0xf29a6d9U) << 28 | 0xc2219d1U) << 28 | 0xb863613U), UINTMAX_MAX / 1051) P (10, 48, (((((uintmax_t) 0x6e81U << 28 | 0xcf42d5cU) << 28 | 0x6932e91U) << 28 | 0x406c182U) << 28 | 0x0d077adU), UINTMAX_MAX / 1061) P (2, 54, (((((uintmax_t) 0x9c4cU << 28 | 0x1a02688U) << 28 | 0x4efdd52U) << 28 | 0x1f4ec02U) << 28 | 0xe3d2b97U), UINTMAX_MAX / 1063) P (6, 54, (((((uintmax_t) 0x7bcfU << 28 | 0x2599067U) << 28 | 0x74255bbU) << 28 | 0x8283b63U) << 28 | 0xdc8eba5U), UINTMAX_MAX / 1069) P (18, 42, (((((uintmax_t) 0x46a7U << 28 | 0x3667275U) << 28 | 0x48c5d43U) << 28 | 0x1eda153U) << 28 | 0x229ebbfU), UINTMAX_MAX / 1087) P (4, 60, (((((uintmax_t) 0xe720U << 28 | 0x9daecfeU) << 28 | 0x5b832afU) << 28 | 0x0bf78d7U) << 28 | 0xe01686bU), UINTMAX_MAX / 1091) P (2, 60, (((((uintmax_t) 0x194bU << 28 | 0xa6ff4c1U) << 28 | 0xeeaafa9U) << 28 | 0xced0742U) << 28 | 0xc086e8dU), UINTMAX_MAX / 1093) P (4, 66, (((((uintmax_t) 0x777bU << 28 | 0x730c5e4U) << 28 | 0x768c7c2U) << 28 | 0x6458ad9U) << 28 | 0xf632df9U), UINTMAX_MAX / 1097) P (6, 68, (((((uintmax_t) 0x2aefU << 28 | 0xfc49577U) << 28 | 0xfe24abbU) << 28 | 0xff1255dU) << 28 | 0xff892afU), UINTMAX_MAX / 1103) P (6, 72, (((((uintmax_t) 0xf1b0U << 28 | 0x213da24U) << 28 | 0x78f59cbU) << 28 | 0xd49a333U) << 28 | 0xf04d8fdU), UINTMAX_MAX / 1109) P (8, 70, (((((uintmax_t) 0x8822U << 28 | 0xd60f205U) << 28 | 0x0ac58ecU) << 28 | 0x84ed6f9U) << 28 | 0xcfdeff5U), UINTMAX_MAX / 1117) P (6, 70, (((((uintmax_t) 0x3606U << 28 | 0xd6bd351U) << 28 | 0xd682d97U) << 28 | 0x980cc40U) << 28 | 0xbda9d4bU), UINTMAX_MAX / 1123) P (6, 72, (((((uintmax_t) 0x0122U << 28 | 0x3d38ea0U) << 28 | 0x15c4977U) << 28 | 0x7f34d52U) << 28 | 0x4f5cbd9U), UINTMAX_MAX / 1129) P (22, 62, (((((uintmax_t) 0x78feU << 28 | 0x716e8a5U) << 28 | 0x7a1b227U) << 28 | 0x97051d9U) << 28 | 0x4cbbb7fU), UINTMAX_MAX / 1151) P (2, 64, (((((uintmax_t) 0xd6ecU << 28 | 0xaef5908U) << 28 | 0xa8be0eaU) << 28 | 0x769051bU) << 28 | 0x4f43b81U), UINTMAX_MAX / 1153) P (10, 60, (((((uintmax_t) 0x7867U << 28 | 0xe595e6eU) << 28 | 0x801c2ceU) << 28 | 0x7910f30U) << 28 | 0x34d4323U), UINTMAX_MAX / 1163) P (8, 58, (((((uintmax_t) 0xa705U << 28 | 0xe713e4eU) << 28 | 0x43c5692U) << 28 | 0x791d137U) << 28 | 0x4f5b99bU), UINTMAX_MAX / 1171) P (10, 50, (((((uintmax_t) 0x92c0U << 28 | 0x0ddf7c3U) << 28 | 0x4e40989U) << 28 | 0xa5645ccU) << 28 | 0x68ea1b5U), UINTMAX_MAX / 1181) P (6, 50, (((((uintmax_t) 0xab06U << 28 | 0xaf8e205U) << 28 | 0x9b7f75fU) << 28 | 0x8aacf79U) << 28 | 0x6c0cf0bU), UINTMAX_MAX / 1187) P (6, 56, (((((uintmax_t) 0xe187U << 28 | 0x673725fU) << 28 | 0xb4774f2U) << 28 | 0xe90a15eU) << 28 | 0x33edf99U), UINTMAX_MAX / 1193) P (8, 58, (((((uintmax_t) 0x57d1U << 28 | 0xf5579b6U) << 28 | 0x3f8538eU) << 28 | 0x99e5febU) << 28 | 0x897c451U), UINTMAX_MAX / 1201) P (12, 64, (((((uintmax_t) 0x5f64U << 28 | 0xab5ec29U) << 28 | 0x5d7e6acU) << 28 | 0xa2eda38U) << 28 | 0xfb91695U), UINTMAX_MAX / 1213) P (4, 62, (((((uintmax_t) 0x48c8U << 28 | 0x41a1574U) << 28 | 0xbf0035dU) << 28 | 0x9b737beU) << 28 | 0x5ea8b41U), UINTMAX_MAX / 1217) P (6, 60, (((((uintmax_t) 0x348aU << 28 | 0x26ef0b8U) << 28 | 0x33e964aU) << 28 | 0xefe1db9U) << 28 | 0x3fd7cf7U), UINTMAX_MAX / 1223) P (6, 60, (((((uintmax_t) 0x5247U << 28 | 0x3d081faU) << 28 | 0x958f1a0U) << 28 | 0x994ef20U) << 28 | 0xb3f8805U), UINTMAX_MAX / 1229) P (2, 60, (((((uintmax_t) 0x0ec3U << 28 | 0xe6367c5U) << 28 | 0xc55ae10U) << 28 | 0x3890bdaU) << 28 | 0x912822fU), UINTMAX_MAX / 1231) P (6, 60, (((((uintmax_t) 0xb57fU << 28 | 0x46921bbU) << 28 | 0xb4ab5b4U) << 28 | 0x41659d1U) << 28 | 0x3a9147dU), UINTMAX_MAX / 1237) P (12, 52, (((((uintmax_t) 0xb2eeU << 28 | 0xfcecf03U) << 28 | 0x7c00d1eU) << 28 | 0x2134440U) << 28 | 0xc4c3f21U), UINTMAX_MAX / 1249) P (10, 44, (((((uintmax_t) 0xed4bU << 28 | 0x07ee1b3U) << 28 | 0xf3ccc26U) << 28 | 0x3a27727U) << 28 | 0xa6883c3U), UINTMAX_MAX / 1259) P (18, 30, (((((uintmax_t) 0x435bU << 28 | 0x9d5e6bdU) << 28 | 0xa4fc978U) << 28 | 0xe221472U) << 28 | 0xab33855U), UINTMAX_MAX / 1277) P (2, 40, (((((uintmax_t) 0x6013U << 28 | 0x370b023U) << 28 | 0x3a3ed95U) << 28 | 0xeac88e8U) << 28 | 0x2e6faffU), UINTMAX_MAX / 1279) P (4, 38, (((((uintmax_t) 0x3447U << 28 | 0x089473bU) << 28 | 0xa900ff6U) << 28 | 0x6c25831U) << 28 | 0x7be8dabU), UINTMAX_MAX / 1283) P (6, 38, (((((uintmax_t) 0x0f7dU << 28 | 0xb74fa3dU) << 28 | 0x912de09U) << 28 | 0xee202c7U) << 28 | 0xcb91939U), UINTMAX_MAX / 1289) P (2, 70, (((((uintmax_t) 0x5316U << 28 | 0x02c6b14U) << 28 | 0x6caa88dU) << 28 | 0x2fca104U) << 28 | 0x2a09ea3U), UINTMAX_MAX / 1291) P (6, 70, (((((uintmax_t) 0x2128U << 28 | 0xdb7c26aU) << 28 | 0xfaabb82U) << 28 | 0x779c856U) << 28 | 0xd8b8bf1U), UINTMAX_MAX / 1297) P (4, 72, (((((uintmax_t) 0xb01cU << 28 | 0x55cadf2U) << 28 | 0x39d9d38U) << 28 | 0x79361cbU) << 28 | 0xa8a223dU), UINTMAX_MAX / 1301) P (2, 78, (((((uintmax_t) 0x3d4cU << 28 | 0x6d3cb58U) << 28 | 0x9b9a9f2U) << 28 | 0x3f43639U) << 28 | 0xc3182a7U), UINTMAX_MAX / 1303) P (4, 92, (((((uintmax_t) 0x0bc0U << 28 | 0x89e42fcU) << 28 | 0xab94aa0U) << 28 | 0x3868fc4U) << 28 | 0x74bcd13U), UINTMAX_MAX / 1307) P (12, 90, (((((uintmax_t) 0x34fcU << 28 | 0x4ff6af1U) << 28 | 0x0e2b165U) << 28 | 0x1e78b8cU) << 28 | 0x5311a97U), UINTMAX_MAX / 1319) P (2, 102, (((((uintmax_t) 0x18ffU << 28 | 0xce639c0U) << 28 | 0x0c6718fU) << 28 | 0xfce639cU) << 28 | 0x00c6719U), UINTMAX_MAX / 1321) P (6, 100, (((((uintmax_t) 0x9b4cU << 28 | 0x33b39aeU) << 28 | 0x96dc4f7U) << 28 | 0xb460754U) << 28 | 0xb0b61cfU), UINTMAX_MAX / 1327) P (34, 68, (((((uintmax_t) 0xbbe8U << 28 | 0xad0c9a3U) << 28 | 0xd51d27bU) << 28 | 0x03f3359U) << 28 | 0xb8e63b1U), UINTMAX_MAX / 1361) P (6, 66, (((((uintmax_t) 0xa28dU << 28 | 0x33dfca1U) << 28 | 0x0dabba5U) << 28 | 0x5c53260U) << 28 | 0x41eb667U), UINTMAX_MAX / 1367) P (6, 66, (((((uintmax_t) 0x677bU << 28 | 0x3ed5acdU) << 28 | 0x78a2964U) << 28 | 0x7f88ab8U) << 28 | 0x96a76f5U), UINTMAX_MAX / 1373) P (8, 66, (((((uintmax_t) 0xf4e0U << 28 | 0xac06ac6U) << 28 | 0x595988fU) << 28 | 0xd971434U) << 28 | 0xa55a46dU), UINTMAX_MAX / 1381) P (18, 52, (((((uintmax_t) 0x3ba7U << 28 | 0x6f12d90U) << 28 | 0x609e19fU) << 28 | 0xbf96995U) << 28 | 0x8046447U), UINTMAX_MAX / 1399) P (10, 44, (((((uintmax_t) 0x3d69U << 28 | 0x32b0f71U) << 28 | 0x8e43399U) << 28 | 0x86feba6U) << 28 | 0x9be3a81U), UINTMAX_MAX / 1409) P (14, 36, (((((uintmax_t) 0xb7adU << 28 | 0xf701426U) << 28 | 0x239eda6U) << 28 | 0x68b3e6dU) << 28 | 0x053796fU), UINTMAX_MAX / 1423) P (4, 44, (((((uintmax_t) 0xd0d1U << 28 | 0x893d2caU) << 28 | 0xb80fc97U) << 28 | 0x694e658U) << 28 | 0x9f4e09bU), UINTMAX_MAX / 1427) P (2, 52, (((((uintmax_t) 0xc00bU << 28 | 0x7721dbcU) << 28 | 0xffd2237U) << 28 | 0x890c00bU) << 28 | 0x7721dbdU), UINTMAX_MAX / 1429) P (4, 50, (((((uintmax_t) 0xe9d9U << 28 | 0x0e1cf0dU) << 28 | 0x0a8a45aU) << 28 | 0xc094a23U) << 28 | 0x5f37ea9U), UINTMAX_MAX / 1433) P (6, 48, (((((uintmax_t) 0x8489U << 28 | 0x56fe661U) << 28 | 0xd881831U) << 28 | 0xcff775fU) << 28 | 0x2d5d65fU), UINTMAX_MAX / 1439) P (8, 42, (((((uintmax_t) 0xfd85U << 28 | 0xed3f28dU) << 28 | 0xe356dddU) << 28 | 0xad8e6b3U) << 28 | 0x6505217U), UINTMAX_MAX / 1447) P (4, 42, (((((uintmax_t) 0x0a68U << 28 | 0xcca8aacU) << 28 | 0x8c7035aU) << 28 | 0x27df897U) << 28 | 0x062cd03U), UINTMAX_MAX / 1451) P (2, 46, (((((uintmax_t) 0x57eaU << 28 | 0xdb877ceU) << 28 | 0xaae6ce2U) << 28 | 0x396fe0fU) << 28 | 0xdb5a625U), UINTMAX_MAX / 1453) P (6, 52, (((((uintmax_t) 0x1c12U << 28 | 0xf330f43U) << 28 | 0xe76f6b3U) << 28 | 0x52a4957U) << 28 | 0xe82317bU), UINTMAX_MAX / 1459) P (12, 52, (((((uintmax_t) 0x472dU << 28 | 0xc52d6c1U) << 28 | 0x2cb9dd8U) << 28 | 0xab3f2c6U) << 28 | 0x0c2ea3fU), UINTMAX_MAX / 1471) P (10, 50, (((((uintmax_t) 0xda51U << 28 | 0x3e0e2c9U) << 28 | 0x8ce0b68U) << 28 | 0x93f702fU) << 28 | 0x0452479U), UINTMAX_MAX / 1481) P (2, 60, (((((uintmax_t) 0x442fU << 28 | 0xa4dae2dU) << 28 | 0x3a2c896U) << 28 | 0x86fdc18U) << 28 | 0x2acf7e3U), UINTMAX_MAX / 1483) P (4, 62, (((((uintmax_t) 0x091fU << 28 | 0xd96fbb2U) << 28 | 0x2f2be68U) << 28 | 0x5403717U) << 28 | 0x3dce12fU), UINTMAX_MAX / 1487) P (2, 64, (((((uintmax_t) 0x3accU << 28 | 0x97fbdfaU) << 28 | 0xd798d7fU) << 28 | 0x0ded168U) << 28 | 0x5c27331U), UINTMAX_MAX / 1489) P (4, 66, (((((uintmax_t) 0x4d54U << 28 | 0xe047548U) << 28 | 0x87cd3eeU) << 28 | 0xda72e1fU) << 28 | 0xe490b7dU), UINTMAX_MAX / 1493) P (6, 68, (((((uintmax_t) 0x7e8cU << 28 | 0x61afbbbU) << 28 | 0x013209eU) << 28 | 0x7bfc959U) << 28 | 0xa8e6e53U), UINTMAX_MAX / 1499) P (12, 60, (((((uintmax_t) 0xc4b3U << 28 | 0x96f4fccU) << 28 | 0x7ebab49U) << 28 | 0xb314d6dU) << 28 | 0x4753dd7U), UINTMAX_MAX / 1511) P (12, 56, (((((uintmax_t) 0x9eadU << 28 | 0x21c933fU) << 28 | 0x089292eU) << 28 | 0x8f8c5acU) << 28 | 0x4aa1b3bU), UINTMAX_MAX / 1523) P (8, 52, (((((uintmax_t) 0x0584U << 28 | 0x992a4deU) << 28 | 0xb99aab8U) << 28 | 0xef72348U) << 28 | 0x1163d33U), UINTMAX_MAX / 1531) P (12, 54, (((((uintmax_t) 0x8b08U << 28 | 0x7620d9aU) << 28 | 0xcb6806aU) << 28 | 0x2ec96a5U) << 28 | 0x94287b7U), UINTMAX_MAX / 1543) P (6, 52, (((((uintmax_t) 0xc108U << 28 | 0x6dbce6bU) << 28 | 0x6c94bdbU) << 28 | 0xa41c6d1U) << 28 | 0x3aab8c5U), UINTMAX_MAX / 1549) P (4, 54, (((((uintmax_t) 0xe478U << 28 | 0xaa1e005U) << 28 | 0x46633c2U) << 28 | 0xadbe648U) << 28 | 0xdc3aaf1U), UINTMAX_MAX / 1553) P (6, 50, (((((uintmax_t) 0x5cf1U << 28 | 0x0e9d4faU) << 28 | 0x40b2a87U) << 28 | 0xa2bade5U) << 28 | 0x65f91a7U), UINTMAX_MAX / 1559) P (8, 46, (((((uintmax_t) 0x9ecbU << 28 | 0x8ef2c45U) << 28 | 0xec11a4dU) << 28 | 0x6fe8798U) << 28 | 0xc01f5dfU), UINTMAX_MAX / 1567) P (4, 48, (((((uintmax_t) 0xfb99U << 28 | 0xaa49543U) << 28 | 0xf39d937U) << 28 | 0x91310c8U) << 28 | 0xc23d98bU), UINTMAX_MAX / 1571) P (8, 42, (((((uintmax_t) 0x7abbU << 28 | 0x187b379U) << 28 | 0xc2112f8U) << 28 | 0x0e446b0U) << 28 | 0x1228883U), UINTMAX_MAX / 1579) P (4, 44, (((((uintmax_t) 0x3cceU << 28 | 0x5a3d212U) << 28 | 0x6f95e9aU) << 28 | 0xed1436fU) << 28 | 0xbf500cfU), UINTMAX_MAX / 1583) P (14, 40, (((((uintmax_t) 0xc6eeU << 28 | 0xd90c05cU) << 28 | 0x5547a78U) << 28 | 0x39b54ccU) << 28 | 0x8b24115U), UINTMAX_MAX / 1597) P (4, 56, (((((uintmax_t) 0x8798U << 28 | 0x627f99aU) << 28 | 0x9f948c1U) << 28 | 0x28c646aU) << 28 | 0xd0309c1U), UINTMAX_MAX / 1601) P (6, 56, (((((uintmax_t) 0x5233U << 28 | 0x4bab403U) << 28 | 0x2fa1b14U) << 28 | 0xde63162U) << 28 | 0x4a3c377U), UINTMAX_MAX / 1607) P (2, 58, (((((uintmax_t) 0x0e51U << 28 | 0xc7ad43fU) << 28 | 0x016e93fU) << 28 | 0x7b9fe68U) << 28 | 0xb0ecbf9U), UINTMAX_MAX / 1609) P (4, 56, (((((uintmax_t) 0x00a2U << 28 | 0x84ffd75U) << 28 | 0xec00a28U) << 28 | 0x4ffd75eU) << 28 | 0xc00a285U), UINTMAX_MAX / 1613) P (6, 74, (((((uintmax_t) 0xe72cU << 28 | 0xbfa4ebeU) << 28 | 0xb20bb37U) << 28 | 0x803cb80U) << 28 | 0xdea2ddbU), UINTMAX_MAX / 1619) P (2, 76, (((((uintmax_t) 0x22beU << 28 | 0x75d04e5U) << 28 | 0x4f6ff86U) << 28 | 0xb63f7c9U) << 28 | 0xac4c6fdU), UINTMAX_MAX / 1621) P (6, 72, (((((uintmax_t) 0x84f4U << 28 | 0xd419cdfU) << 28 | 0x6dfbe8bU) << 28 | 0x6851d1bU) << 28 | 0xd99b9d3U), UINTMAX_MAX / 1627) P (10, 72, (((((uintmax_t) 0xe83aU << 28 | 0xccdcd04U) << 28 | 0xd90f7b6U) << 28 | 0x2fda77cU) << 28 | 0xa343b6dU), UINTMAX_MAX / 1637) P (20, 64, (((((uintmax_t) 0x9e34U << 28 | 0x383c8ffU) << 28 | 0xd872f1fU) << 28 | 0x0dc009eU) << 28 | 0x34383c9U), UINTMAX_MAX / 1657) P (6, 60, (((((uintmax_t) 0x2e7dU << 28 | 0x4e5ad2eU) << 28 | 0x55e5d49U) << 28 | 0x6dc21ddU) << 28 | 0xd35b97fU), UINTMAX_MAX / 1663) P (4, 66, (((((uintmax_t) 0xe596U << 28 | 0x098573aU) << 28 | 0x33e80b0U) << 28 | 0xe96ce17U) << 28 | 0x090f82bU), UINTMAX_MAX / 1667) P (2, 72, (((((uintmax_t) 0x7181U << 28 | 0x4dc42e0U) << 28 | 0x3fceeaaU) << 28 | 0xdf05acdU) << 28 | 0xd7d024dU), UINTMAX_MAX / 1669) P (24, 54, (((((uintmax_t) 0xa4abU << 28 | 0x2bb32f5U) << 28 | 0x43975cbU) << 28 | 0x1381967U) << 28 | 0x46eafb5U), UINTMAX_MAX / 1693) P (4, 56, (((((uintmax_t) 0xa2ecU << 28 | 0x3cf1f87U) << 28 | 0x5102434U) << 28 | 0x7f52373U) << 28 | 0x6755d61U), UINTMAX_MAX / 1697) P (2, 60, (((((uintmax_t) 0x6ff3U << 28 | 0xf223422U) << 28 | 0x5ab51d1U) << 28 | 0x4a48a05U) << 28 | 0x1f7dd0bU), UINTMAX_MAX / 1699) P (10, 68, (((((uintmax_t) 0x6c00U << 28 | 0x9963e9dU) << 28 | 0x48f3447U) << 28 | 0x4d71b1cU) << 28 | 0xe914d25U), UINTMAX_MAX / 1709) P (12, 62, (((((uintmax_t) 0x894cU << 28 | 0x02f99a8U) << 28 | 0xd502d38U) << 28 | 0x6063f5eU) << 28 | 0x28c1f89U), UINTMAX_MAX / 1721) P (2, 64, (((((uintmax_t) 0xc8e0U << 28 | 0xa6684d4U) << 28 | 0x2b6281dU) << 28 | 0xb7325e3U) << 28 | 0x2d04e73U), UINTMAX_MAX / 1723) P (10, 56, (((((uintmax_t) 0xf8c2U << 28 | 0xfdc8c0aU) << 28 | 0x0b85afeU) << 28 | 0xf748d38U) << 28 | 0x93b880dU), UINTMAX_MAX / 1733) P (8, 60, (((((uintmax_t) 0xd0a7U << 28 | 0x0a25594U) << 28 | 0x123bb2fU) << 28 | 0x3351506U) << 28 | 0xe935605U), UINTMAX_MAX / 1741) P (6, 64, (((((uintmax_t) 0xdb5dU << 28 | 0xa31878bU) << 28 | 0xf158a7aU) << 28 | 0x3637fa2U) << 28 | 0x376415bU), UINTMAX_MAX / 1747) P (6, 70, (((((uintmax_t) 0x75b4U << 28 | 0x5a8abbcU) << 28 | 0xd2e004aU) << 28 | 0xc525d2bU) << 28 | 0xaa21969U), UINTMAX_MAX / 1753) P (6, 72, (((((uintmax_t) 0x7e53U << 28 | 0x89d2e22U) << 28 | 0xa34af3aU) << 28 | 0x11c16b4U) << 28 | 0x2cd351fU), UINTMAX_MAX / 1759) P (18, 70, (((((uintmax_t) 0xeaf7U << 28 | 0x801270aU) << 28 | 0x843ff6cU) << 28 | 0x7abde00U) << 28 | 0x49c2a11U), UINTMAX_MAX / 1777) P (6, 78, (((((uintmax_t) 0x1ad9U << 28 | 0x60a0cecU) << 28 | 0x0ae9754U) << 28 | 0xdad0303U) << 28 | 0xe069ac7U), UINTMAX_MAX / 1783) P (4, 80, (((((uintmax_t) 0x082aU << 28 | 0x676e737U) << 28 | 0x70be3ebU) << 28 | 0xf1ac9fdU) << 28 | 0xfe91433U), UINTMAX_MAX / 1787) P (2, 82, (((((uintmax_t) 0x50b4U << 28 | 0xdfcda14U) << 28 | 0x51d9efaU) << 28 | 0xfdda823U) << 28 | 0x7cec655U), UINTMAX_MAX / 1789) P (12, 72, (((((uintmax_t) 0x1ffbU << 28 | 0x738ffdbU) << 28 | 0x9c7fedcU) << 28 | 0xe3ff6e7U) << 28 | 0x1ffb739U), UINTMAX_MAX / 1801) P (10, 66, (((((uintmax_t) 0xa660U << 28 | 0xf8ca6cdU) << 28 | 0x88f9ebeU) << 28 | 0xd5737d6U) << 28 | 0x286db1bU), UINTMAX_MAX / 1811) P (12, 56, (((((uintmax_t) 0xed52U << 28 | 0xb6467eaU) << 28 | 0xa7abbe4U) << 28 | 0x79e431fU) << 28 | 0xe08b4dfU), UINTMAX_MAX / 1823) P (8, 58, (((((uintmax_t) 0xdaf2U << 28 | 0xff4d09aU) << 28 | 0x5ae119dU) << 28 | 0xd9b0dd7U) << 28 | 0x742f897U), UINTMAX_MAX / 1831) P (16, 54, (((((uintmax_t) 0x6054U << 28 | 0x454d33bU) << 28 | 0x2efc88fU) << 28 | 0x09d7402U) << 28 | 0xc5a5e87U), UINTMAX_MAX / 1847) P (14, 46, (((((uintmax_t) 0xf545U << 28 | 0x31625b1U) << 28 | 0x0a51292U) << 28 | 0x16d5c4dU) << 28 | 0x958738dU), UINTMAX_MAX / 1861) P (6, 46, (((((uintmax_t) 0x6df8U << 28 | 0x0c1100aU) << 28 | 0xf82f2b3U) << 28 | 0x139ba11U) << 28 | 0xd34ca63U), UINTMAX_MAX / 1867) P (4, 60, (((((uintmax_t) 0xaf8bU << 28 | 0xf8e2952U) << 28 | 0x3b61d47U) << 28 | 0xd54f7edU) << 28 | 0x644afafU), UINTMAX_MAX / 1871) P (2, 60, (((((uintmax_t) 0x4d5cU << 28 | 0x4227171U) << 28 | 0x9491f92U) << 28 | 0xa81d85cU) << 28 | 0xf11a1b1U), UINTMAX_MAX / 1873) P (4, 72, (((((uintmax_t) 0xf78bU << 28 | 0x4082eeaU) << 28 | 0xdc21475U) << 28 | 0x4b26533U) << 28 | 0x253bdfdU), UINTMAX_MAX / 1877) P (2, 72, (((((uintmax_t) 0xf354U << 28 | 0x558f76aU) << 28 | 0xad92bbbU) << 28 | 0xe0efc98U) << 28 | 0x0bfd467U), UINTMAX_MAX / 1879) P (10, 84, (((((uintmax_t) 0x0ab4U << 28 | 0xc91d231U) << 28 | 0x99d11c0U) << 28 | 0xd8d594fU) << 28 | 0x024dca1U), UINTMAX_MAX / 1889) P (12, 78, (((((uintmax_t) 0x1b56U << 28 | 0x52256feU) << 28 | 0x84c7d82U) << 28 | 0x38d43bcU) << 28 | 0xaac1a65U), UINTMAX_MAX / 1901) P (6, 80, (((((uintmax_t) 0xaca2U << 28 | 0xb39dbc1U) << 28 | 0x2cb3e27U) << 28 | 0x779c1faU) << 28 | 0xe6175bbU), UINTMAX_MAX / 1907) P (6, 80, (((((uintmax_t) 0x3856U << 28 | 0xb755c78U) << 28 | 0x7068ea7U) << 28 | 0x46ca9afU) << 28 | 0x708b2c9U), UINTMAX_MAX / 1913) P (18, 66, (((((uintmax_t) 0x052bU << 28 | 0x9de5385U) << 28 | 0x8076c93U) << 28 | 0xf3cd9f3U) << 28 | 0x89be823U), UINTMAX_MAX / 1931) P (2, 66, (((((uintmax_t) 0x820dU << 28 | 0x822f698U) << 28 | 0xd4f545cU) << 28 | 0xb4a4c04U) << 28 | 0xc489345U), UINTMAX_MAX / 1933) P (16, 54, (((((uintmax_t) 0xcd09U << 28 | 0x536828fU) << 28 | 0xb23dbbfU) << 28 | 0x6047743U) << 28 | 0xe85b6b5U), UINTMAX_MAX / 1949) P (2, 60, (((((uintmax_t) 0x8486U << 28 | 0xe386c1eU) << 28 | 0xf778961U) << 28 | 0xc147831U) << 28 | 0x563545fU), UINTMAX_MAX / 1951) P (22, 44, (((((uintmax_t) 0xec68U << 28 | 0x5200c74U) << 28 | 0xc6c78edU) << 28 | 0xb47c0aeU) << 28 | 0x62dee9dU), UINTMAX_MAX / 1973) P (6, 48, (((((uintmax_t) 0xd8acU << 28 | 0xd298624U) << 28 | 0xff1830aU) << 28 | 0x3824386U) << 28 | 0x673a573U), UINTMAX_MAX / 1979) P (8, 42, (((((uintmax_t) 0x03ddU << 28 | 0x78b87ecU) << 28 | 0x6aad6a4U) << 28 | 0xa77d19eU) << 28 | 0x575a0ebU), UINTMAX_MAX / 1987) P (6, 46, (((((uintmax_t) 0x8950U << 28 | 0x062a636U) << 28 | 0xb8325a2U) << 28 | 0xbee045eU) << 28 | 0x066c279U), UINTMAX_MAX / 1993) P (4, 56, (((((uintmax_t) 0xa9daU << 28 | 0xd301275U) << 28 | 0xae369c2U) << 28 | 0x3618de8U) << 28 | 0xab43d05U), UINTMAX_MAX / 1997) P (2, 64, (((((uintmax_t) 0xfa3cU << 28 | 0xb3cd496U) << 28 | 0x174ec26U) << 28 | 0x6b51521U) << 28 | 0x6cb9f2fU), UINTMAX_MAX / 1999) P (4, 66, (((((uintmax_t) 0x5c05U << 28 | 0x9fa1eedU) << 28 | 0xfaa1ce2U) << 28 | 0x79edd9eU) << 28 | 0x9c2e85bU), UINTMAX_MAX / 2003) P (8, 70, (((((uintmax_t) 0x8e52U << 28 | 0x3c5712bU) << 28 | 0x68c48d0U) << 28 | 0xc591c22U) << 28 | 0x1dc9c53U), UINTMAX_MAX / 2011) P (6, 66, (((((uintmax_t) 0x8de5U << 28 | 0xdaaf67bU) << 28 | 0x1d10a06U) << 28 | 0xda8ee9cU) << 28 | 0x9ee7c21U), UINTMAX_MAX / 2017) P (10, 60, (((((uintmax_t) 0xec2bU << 28 | 0xf35ed8fU) << 28 | 0x98f179dU) << 28 | 0xfebcaf4U) << 28 | 0xc27e8c3U), UINTMAX_MAX / 2027) P (2, 60, (((((uintmax_t) 0xe8c8U << 28 | 0xdd0cfedU) << 28 | 0xd4d9849U) << 28 | 0xaeff9f1U) << 28 | 0x9dd6de5U), UINTMAX_MAX / 2029) P (10, 60, (((((uintmax_t) 0x65f2U << 28 | 0xb107280U) << 28 | 0xd0eb086U) << 28 | 0x976a57aU) << 28 | 0x296e9c7U), UINTMAX_MAX / 2039) P (14, 58, (((((uintmax_t) 0x44b5U << 28 | 0x0ed6b9cU) << 28 | 0xbe093a3U) << 28 | 0xb9abf48U) << 28 | 0x72b84cdU), UINTMAX_MAX / 2053) P (10, 50, (((((uintmax_t) 0x9e96U << 28 | 0xa5899dfU) << 28 | 0x7cf5b34U) << 28 | 0xfca6483U) << 28 | 0x895e6efU), UINTMAX_MAX / 2063) P (6, 60, (((((uintmax_t) 0x49beU << 28 | 0x6c24212U) << 28 | 0x8f47e34U) << 28 | 0xb5a3339U) << 28 | 0x88f873dU), UINTMAX_MAX / 2069) P (12, 50, (((((uintmax_t) 0xd1fdU << 28 | 0xc922526U) << 28 | 0xc0275d9U) << 28 | 0xdd4f19bU) << 28 | 0x5f17be1U), UINTMAX_MAX / 2081) P (2, 54, (((((uintmax_t) 0xb8d7U << 28 | 0x51f95d0U) << 28 | 0x8f8bfb9U) << 28 | 0x35b507fU) << 28 | 0xd0ce78bU), UINTMAX_MAX / 2083) P (4, 54, (((((uintmax_t) 0x971fU << 28 | 0x47835f8U) << 28 | 0xe2aeeb4U) << 28 | 0x50f5540U) << 28 | 0x660e797U), UINTMAX_MAX / 2087) P (2, 54, (((((uintmax_t) 0x418fU << 28 | 0xfe0a0c7U) << 28 | 0xff05063U) << 28 | 0xff82831U) << 28 | 0xffc1419U), UINTMAX_MAX / 2089) P (10, 54, (((((uintmax_t) 0xd06fU << 28 | 0x3ae8760U) << 28 | 0xf5e0889U) << 28 | 0x92f718cU) << 28 | 0x22a32fbU), UINTMAX_MAX / 2099) P (12, 50, (((((uintmax_t) 0x16adU << 28 | 0x6a5a779U) << 28 | 0x25f515fU) << 28 | 0x3253ad0U) << 28 | 0xd37e7bfU), UINTMAX_MAX / 2111) P (2, 66, (((((uintmax_t) 0xfe0fU << 28 | 0xc007c0fU) << 28 | 0xfe0fc00U) << 28 | 0x7c0ffe0U) << 28 | 0xfc007c1U), UINTMAX_MAX / 2113) P (16, 74, (((((uintmax_t) 0x9763U << 28 | 0x3395b43U) << 28 | 0xf020b4dU) << 28 | 0x8ebadc0U) << 28 | 0xc0640b1U), UINTMAX_MAX / 2129) P (2, 76, (((((uintmax_t) 0x9a20U << 28 | 0xea7f195U) << 28 | 0x90471e2U) << 28 | 0x729af83U) << 28 | 0x1037bdbU), UINTMAX_MAX / 2131) P (6, 76, (((((uintmax_t) 0x7285U << 28 | 0xee07e80U) << 28 | 0xa8ab8b8U) << 28 | 0xf64bf30U) << 28 | 0xfeebfe9U), UINTMAX_MAX / 2137) P (4, 80, (((((uintmax_t) 0x3dd1U << 28 | 0x5e1a10fU) << 28 | 0xa9e8cdaU) << 28 | 0x93124b5U) << 28 | 0x44c0bf5U), UINTMAX_MAX / 2141) P (2, 94, (((((uintmax_t) 0x4f14U << 28 | 0xe7bff85U) << 28 | 0xac9e29cU) << 28 | 0xf7ff0b5U) << 28 | 0x93c539fU), UINTMAX_MAX / 2143) P (10, 86, (((((uintmax_t) 0x12e7U << 28 | 0xdccdf10U) << 28 | 0x4a322d6U) << 28 | 0xbd8861fU) << 28 | 0xa0e07d9U), UINTMAX_MAX / 2153) P (8, 82, (((((uintmax_t) 0xd7b8U << 28 | 0xebfac9aU) << 28 | 0x00b5f5cU) << 28 | 0xfe75c0bU) << 28 | 0xd8ab891U), UINTMAX_MAX / 2161) P (18, 72, (((((uintmax_t) 0xae1cU << 28 | 0xe6bd9efU) << 28 | 0x512ea43U) << 28 | 0xe808757U) << 28 | 0xc2e862bU), UINTMAX_MAX / 2179) P (24, 64, (((((uintmax_t) 0x459bU << 28 | 0x5dc70f3U) << 28 | 0x90e8690U) << 28 | 0xcaa96d5U) << 28 | 0x95c9d93U), UINTMAX_MAX / 2203) P (4, 62, (((((uintmax_t) 0x4ec2U << 28 | 0xa38d65bU) << 28 | 0xa2bd88fU) << 28 | 0xd550625U) << 28 | 0xd07135fU), UINTMAX_MAX / 2207) P (6, 60, (((((uintmax_t) 0x525dU << 28 | 0x3cf6a14U) << 28 | 0x20da676U) << 28 | 0xb010a86U) << 28 | 0xe209f2dU), UINTMAX_MAX / 2213) P (8, 60, (((((uintmax_t) 0x716bU << 28 | 0x4f6a9e5U) << 28 | 0xf3522ecU) << 28 | 0xc042644U) << 28 | 0x7769b25U), UINTMAX_MAX / 2221) P (16, 50, (((((uintmax_t) 0x48abU << 28 | 0x336212fU) << 28 | 0xf32ece3U) << 28 | 0x81339caU) << 28 | 0xabe3295U), UINTMAX_MAX / 2237) P (2, 54, (((((uintmax_t) 0xbde9U << 28 | 0xd1944b7U) << 28 | 0x656aad1U) << 28 | 0xb190a2dU) << 28 | 0x0c7673fU), UINTMAX_MAX / 2239) P (4, 54, (((((uintmax_t) 0xb595U << 28 | 0xdb3fccdU) << 28 | 0xe54afc3U) << 28 | 0xbce3cf2U) << 28 | 0x6b0e7ebU), UINTMAX_MAX / 2243) P (8, 58, (((((uintmax_t) 0x8a10U << 28 | 0x9aab45fU) << 28 | 0x137285fU) << 28 | 0x87e76f5U) << 28 | 0x6c61ce3U), UINTMAX_MAX / 2251) P (16, 44, (((((uintmax_t) 0x2e69U << 28 | 0x78b763bU) << 28 | 0x65f88c0U) << 28 | 0x6c6857aU) << 28 | 0x124b353U), UINTMAX_MAX / 2267) P (2, 64, (((((uintmax_t) 0x7e40U << 28 | 0x4f6dc75U) << 28 | 0xca11d38U) << 28 | 0xc040fcbU) << 28 | 0xa630f75U), UINTMAX_MAX / 2269) P (4, 66, (((((uintmax_t) 0xa706U << 28 | 0x6b72173U) << 28 | 0x37865d0U) << 28 | 0x78bc4fbU) << 28 | 0xd533b21U), UINTMAX_MAX / 2273) P (8, 60, (((((uintmax_t) 0x1165U << 28 | 0x5853800U) << 28 | 0xe5d99deU) << 28 | 0x8e15c5dU) << 28 | 0xd354f59U), UINTMAX_MAX / 2281) P (6, 60, (((((uintmax_t) 0xad0dU << 28 | 0xfdfc31bU) << 28 | 0x33610caU) << 28 | 0x61d53d7U) << 28 | 0x414260fU), UINTMAX_MAX / 2287) P (6, 58, (((((uintmax_t) 0x65b5U << 28 | 0x32cc4f0U) << 28 | 0xb46abb5U) << 28 | 0x6bf5ba8U) << 28 | 0xeae635dU), UINTMAX_MAX / 2293) P (4, 60, (((((uintmax_t) 0xcdbcU << 28 | 0x7622fecU) << 28 | 0x6285844U) << 28 | 0xa72cb0fU) << 28 | 0xb6e3949U), UINTMAX_MAX / 2297) P (12, 62, (((((uintmax_t) 0x37c4U << 28 | 0x92cae49U) << 28 | 0xd6fa587U) << 28 | 0x9839a71U) << 28 | 0x4f45bcdU), UINTMAX_MAX / 2309) P (2, 66, (((((uintmax_t) 0xc031U << 28 | 0xa083283U) << 28 | 0x60ed802U) << 28 | 0xa8994fdU) << 28 | 0xe5314b7U), UINTMAX_MAX / 2311) P (22, 48, (((((uintmax_t) 0xc841U << 28 | 0xd685a6aU) << 28 | 0xe081eb9U) << 28 | 0x71920cfU) << 28 | 0x2b90135U), UINTMAX_MAX / 2333) P (6, 44, (((((uintmax_t) 0xc4c9U << 28 | 0xd2b0364U) << 28 | 0x9549a8aU) << 28 | 0x8fd0b7dU) << 28 | 0xf9a6e8bU), UINTMAX_MAX / 2339) P (2, 48, (((((uintmax_t) 0xe3c9U << 28 | 0x5290213U) << 28 | 0xe7112b3U) << 28 | 0x1f9a84cU) << 28 | 0x1c6eaadU), UINTMAX_MAX / 2341) P (6, 46, (((((uintmax_t) 0xf02fU << 28 | 0x1ede4bbU) << 28 | 0x2c64c92U) << 28 | 0x293b028U) << 28 | 0x23c6d83U), UINTMAX_MAX / 2347) P (4, 48, (((((uintmax_t) 0x83f9U << 28 | 0x7773bffU) << 28 | 0x907f2eeU) << 28 | 0xe77ff20U) << 28 | 0xfe5ddcfU), UINTMAX_MAX / 2351) P (6, 54, (((((uintmax_t) 0xd472U << 28 | 0x42b02b7U) << 28 | 0x1ef460eU) << 28 | 0x1ea0f6cU) << 28 | 0x496c11dU), UINTMAX_MAX / 2357) P (14, 46, (((((uintmax_t) 0xd905U << 28 | 0xb8f4727U) << 28 | 0x318f0fdU) << 28 | 0xf2d3d6fU) << 28 | 0x88ccb6bU), UINTMAX_MAX / 2371) P (6, 46, (((((uintmax_t) 0xf2c0U << 28 | 0xc7e3914U) << 28 | 0x920a1faU) << 28 | 0x9d74a34U) << 28 | 0x57738f9U), UINTMAX_MAX / 2377) P (4, 56, (((((uintmax_t) 0x6c7cU << 28 | 0x4a67008U) << 28 | 0x99f72efU) << 28 | 0xc3ca3dbU) << 28 | 0x71a5785U), UINTMAX_MAX / 2381) P (2, 58, (((((uintmax_t) 0x7e55U << 28 | 0xba2c0b9U) << 28 | 0xa289b8eU) << 28 | 0x2071718U) << 28 | 0xd0d6dafU), UINTMAX_MAX / 2383) P (6, 58, (((((uintmax_t) 0xbf46U << 28 | 0xd4d0be4U) << 28 | 0xff091bcU) << 28 | 0x0fdbfebU) << 28 | 0x6cfabfdU), UINTMAX_MAX / 2389) P (4, 66, (((((uintmax_t) 0x1908U << 28 | 0x738977bU) << 28 | 0x58af71eU) << 28 | 0xeab613eU) << 28 | 0x5e5aee9U), UINTMAX_MAX / 2393) P (6, 68, (((((uintmax_t) 0x6a48U << 28 | 0xc6e8d7fU) << 28 | 0xbbb472dU) << 28 | 0x2388e90U) << 28 | 0xe9e929fU), UINTMAX_MAX / 2399) P (12, 62, (((((uintmax_t) 0x9f7bU << 28 | 0x7cc2f24U) << 28 | 0xd82eb81U) << 28 | 0xdbafba5U) << 28 | 0x88ddb43U), UINTMAX_MAX / 2411) P (6, 60, (((((uintmax_t) 0x57ceU << 28 | 0x01e8101U) << 28 | 0x96b8152U) << 28 | 0xeebc51cU) << 28 | 0x4799791U), UINTMAX_MAX / 2417) P (6, 80, (((((uintmax_t) 0x22c2U << 28 | 0x9d6cb7dU) << 28 | 0x695651cU) << 28 | 0x6bc4693U) << 28 | 0xb45a047U), UINTMAX_MAX / 2423) P (14, 84, (((((uintmax_t) 0x366aU << 28 | 0x190050aU) << 28 | 0xd1e2606U) << 28 | 0xeee0974U) << 28 | 0x498874dU), UINTMAX_MAX / 2437) P (4, 90, (((((uintmax_t) 0x7708U << 28 | 0x7eb0665U) << 28 | 0xba929d8U) << 28 | 0x5b7377aU) << 28 | 0x9953cb9U), UINTMAX_MAX / 2441) P (6, 92, (((((uintmax_t) 0x8f53U << 28 | 0x96f6b06U) << 28 | 0x2c2614bU) << 28 | 0x6df412dU) << 28 | 0x4caf56fU), UINTMAX_MAX / 2447) P (12, 84, (((((uintmax_t) 0x0c2eU << 28 | 0x394250fU) << 28 | 0xedad56bU) << 28 | 0x8afbbb4U) << 28 | 0xa053493U), UINTMAX_MAX / 2459) P (8, 82, (((((uintmax_t) 0x78afU << 28 | 0x29d1b7fU) << 28 | 0xbd965ccU) << 28 | 0x5299c96U) << 28 | 0xac7720bU), UINTMAX_MAX / 2467) P (6, 78, (((((uintmax_t) 0x1287U << 28 | 0x9bcb69bU) << 28 | 0x11e89adU) << 28 | 0xce84b5cU) << 28 | 0x710aa99U), UINTMAX_MAX / 2473) P (4, 80, (((((uintmax_t) 0x92c2U << 28 | 0x17c54bfU) << 28 | 0x67de19dU) << 28 | 0x673f5aaU) << 28 | 0x3804225U), UINTMAX_MAX / 2477) P (26, 76, (((((uintmax_t) 0xd46eU << 28 | 0x0ce30e3U) << 28 | 0x76f2ce6U) << 28 | 0x541268eU) << 28 | 0xfbce7f7U), UINTMAX_MAX / 2503) P (18, 70, (((((uintmax_t) 0xa49bU << 28 | 0x91ec4ccU) << 28 | 0x5004dfcU) << 28 | 0xf41e76cU) << 28 | 0xf5be669U), UINTMAX_MAX / 2521) P (10, 62, (((((uintmax_t) 0x6098U << 28 | 0x1f8eb77U) << 28 | 0xa7cd05cU) << 28 | 0x3eb5dc3U) << 28 | 0x1c383cbU), UINTMAX_MAX / 2531) P (8, 70, (((((uintmax_t) 0x62e9U << 28 | 0x505bf44U) << 28 | 0xdd6a930U) << 28 | 0x1832d11U) << 28 | 0xd8ad6c3U), UINTMAX_MAX / 2539) P (4, 74, (((((uintmax_t) 0xb3cbU << 28 | 0x3fecabfU) << 28 | 0x119df2eU) << 28 | 0x9c0942fU) << 28 | 0x1ce450fU), UINTMAX_MAX / 2543) P (6, 72, (((((uintmax_t) 0xef3aU << 28 | 0x59c92a1U) << 28 | 0x4b05b97U) << 28 | 0xf3f2be3U) << 28 | 0x7a39a5dU), UINTMAX_MAX / 2549) P (2, 82, (((((uintmax_t) 0xe69cU << 28 | 0x5983c36U) << 28 | 0x30c57e8U) << 28 | 0xb7d8a96U) << 28 | 0x54187c7U), UINTMAX_MAX / 2551) P (6, 90, (((((uintmax_t) 0x437aU << 28 | 0xa4cb09bU) << 28 | 0x61d08b5U) << 28 | 0xd024d7dU) << 28 | 0xa5b1b55U), UINTMAX_MAX / 2557) P (22, 78, (((((uintmax_t) 0x1b65U << 28 | 0x8bdca98U) << 28 | 0xaabb9b8U) << 28 | 0xba9d6e7U) << 28 | 0xae3501bU), UINTMAX_MAX / 2579) P (12, 68, (((((uintmax_t) 0x3ea4U << 28 | 0x3624f3dU) << 28 | 0x8dfb0f5U) << 28 | 0x0865f71U) << 28 | 0xb90f1dfU), UINTMAX_MAX / 2591) P (2, 70, (((((uintmax_t) 0x2d05U << 28 | 0x08fbf3cU) << 28 | 0x1ffcd73U) << 28 | 0x9c16828U) << 28 | 0x47df9e1U), UINTMAX_MAX / 2593) P (16, 62, (((((uintmax_t) 0xc716U << 28 | 0xdcc634cU) << 28 | 0xa218ec4U) << 28 | 0x70a4d84U) << 28 | 0x2b90ed1U), UINTMAX_MAX / 2609) P (8, 60, (((((uintmax_t) 0xe30bU << 28 | 0x71f669dU) << 28 | 0x7e49c1fU) << 28 | 0xb1be116U) << 28 | 0x98cc409U), UINTMAX_MAX / 2617) P (4, 62, (((((uintmax_t) 0xa624U << 28 | 0x238d871U) << 28 | 0x4cde4d8U) << 28 | 0xd5512a7U) << 28 | 0xcd35d15U), UINTMAX_MAX / 2621) P (12, 54, (((((uintmax_t) 0x6488U << 28 | 0x81e55c1U) << 28 | 0x30e7ca5U) << 28 | 0x4968217U) << 28 | 0x23e07f9U), UINTMAX_MAX / 2633) P (14, 42, (((((uintmax_t) 0x8513U << 28 | 0xd3830beU) << 28 | 0x54ea0bcU) << 28 | 0xc8c6d7aU) << 28 | 0xbaa8167U), UINTMAX_MAX / 2647) P (10, 36, (((((uintmax_t) 0x49b5U << 28 | 0x0a4f32fU) << 28 | 0x800c552U) << 28 | 0xc396c95U) << 28 | 0xeb619a1U), UINTMAX_MAX / 2657) P (2, 40, (((((uintmax_t) 0xa1f0U << 28 | 0x049f0c9U) << 28 | 0xcbd166eU) << 28 | 0xb7e3808U) << 28 | 0x78ec74bU), UINTMAX_MAX / 2659) P (4, 44, (((((uintmax_t) 0x25f8U << 28 | 0xe2df380U) << 28 | 0xb892e3dU) << 28 | 0x5513b50U) << 28 | 0x4537157U), UINTMAX_MAX / 2663) P (8, 40, (((((uintmax_t) 0x1654U << 28 | 0xeb02967U) << 28 | 0x9b8e231U) << 28 | 0x4391f88U) << 28 | 0x62e948fU), UINTMAX_MAX / 2671) P (6, 36, (((((uintmax_t) 0x304aU << 28 | 0xf935d6eU) << 28 | 0x11c97dcU) << 28 | 0x0b17cfcU) << 28 | 0xd81f5ddU), UINTMAX_MAX / 2677) P (6, 36, (((((uintmax_t) 0xef7eU << 28 | 0x3c1c9feU) << 28 | 0xaa07d2fU) << 28 | 0x6bea3ecU) << 28 | 0x89044b3U), UINTMAX_MAX / 2683) P (4, 42, (((((uintmax_t) 0xd02cU << 28 | 0x34f8dabU) << 28 | 0xf7ff3ceU) << 28 | 0x13a0586U) << 28 | 0x9f1b57fU), UINTMAX_MAX / 2687) P (2, 42, (((((uintmax_t) 0xca7fU << 28 | 0x00185f3U) << 28 | 0x3e2ad75U) << 28 | 0x93474e8U) << 28 | 0xace3581U), UINTMAX_MAX / 2689) P (4, 48, (((((uintmax_t) 0x613fU << 28 | 0x67e6e76U) << 28 | 0x10ebc07U) << 28 | 0xfc32929U) << 28 | 0x5a05e4dU), UINTMAX_MAX / 2693) P (6, 50, (((((uintmax_t) 0x91e1U << 28 | 0x1433fa4U) << 28 | 0xf1ad7b0U) << 28 | 0x5377cbaU) << 28 | 0x4908d23U), UINTMAX_MAX / 2699) P (8, 46, (((((uintmax_t) 0x99c5U << 28 | 0x2d7ced2U) << 28 | 0xe3e9ae7U) << 28 | 0xb2131a6U) << 28 | 0x28aa39bU), UINTMAX_MAX / 2707) P (4, 56, (((((uintmax_t) 0xe699U << 28 | 0x2a662c6U) << 28 | 0x1d45f90U) << 28 | 0x31dbed7U) << 28 | 0xde01527U), UINTMAX_MAX / 2711) P (2, 64, (((((uintmax_t) 0x86efU << 28 | 0x7ca673aU) << 28 | 0xf9ad876U) << 28 | 0x844b1c6U) << 28 | 0x70aa9a9U), UINTMAX_MAX / 2713) P (6, 70, (((((uintmax_t) 0xb29bU << 28 | 0x59ea585U) << 28 | 0x098266aU) << 28 | 0x03f4533U) << 28 | 0xb08915fU), UINTMAX_MAX / 2719) P (10, 62, (((((uintmax_t) 0x2d67U << 28 | 0x181bc45U) << 28 | 0x6ad8b1dU) << 28 | 0xbca579dU) << 28 | 0xb0a3999U), UINTMAX_MAX / 2729) P (2, 66, (((((uintmax_t) 0xffa0U << 28 | 0x02ffe80U) << 28 | 0x0bffa00U) << 28 | 0x2ffe800U) << 28 | 0xbffa003U), UINTMAX_MAX / 2731) P (10, 60, (((((uintmax_t) 0xef00U << 28 | 0x778c303U) << 28 | 0x1503a47U) << 28 | 0x8ab1a3eU) << 28 | 0x936139dU), UINTMAX_MAX / 2741) P (8, 54, (((((uintmax_t) 0xd453U << 28 | 0x113a63aU) << 28 | 0x4bcdb66U) << 28 | 0xe722bc4U) << 28 | 0xc5cc095U), UINTMAX_MAX / 2749) P (4, 66, (((((uintmax_t) 0x01c4U << 28 | 0x4cfeca8U) << 28 | 0x7f35a7aU) << 28 | 0x8f63c71U) << 28 | 0x7278541U), UINTMAX_MAX / 2753) P (14, 66, (((((uintmax_t) 0x3887U << 28 | 0x72a189cU) << 28 | 0x2c09fdfU) << 28 | 0x6eee24dU) << 28 | 0x292bc2fU), UINTMAX_MAX / 2767) P (10, 60, (((((uintmax_t) 0x835dU << 28 | 0x625cbd2U) << 28 | 0xa50339fU) << 28 | 0xc20d172U) << 28 | 0x37dd569U), UINTMAX_MAX / 2777) P (12, 54, (((((uintmax_t) 0x8052U << 28 | 0x3e3ba9bU) << 28 | 0x7da8ccdU) << 28 | 0xf993235U) << 28 | 0x6bda2edU), UINTMAX_MAX / 2789) P (2, 60, (((((uintmax_t) 0xced6U << 28 | 0x1518ac7U) << 28 | 0x0a2e697U) << 28 | 0xb5e332eU) << 28 | 0x80f68d7U), UINTMAX_MAX / 2791) P (6, 60, (((((uintmax_t) 0x42d0U << 28 | 0x7f67b31U) << 28 | 0xe1cbd46U) << 28 | 0xeee26fdU) << 28 | 0x875e2e5U), UINTMAX_MAX / 2797) P (4, 60, (((((uintmax_t) 0xa787U << 28 | 0x5b7cc16U) << 28 | 0x4cf4935U) << 28 | 0x48a8e65U) << 28 | 0x157a611U), UINTMAX_MAX / 2801) P (2, 76, (((((uintmax_t) 0x69abU << 28 | 0x6d816a6U) << 28 | 0x6791ac2U) << 28 | 0x88d03beU) << 28 | 0x9b71e3bU), UINTMAX_MAX / 2803) P (16, 68, (((((uintmax_t) 0xace8U << 28 | 0x1dc954bU) << 28 | 0xa58d081U) << 28 | 0x51186dbU) << 28 | 0x38937abU), UINTMAX_MAX / 2819) P (14, 64, (((((uintmax_t) 0x7c3fU << 28 | 0xfa377bbU) << 28 | 0x52dd078U) << 28 | 0x00b9108U) << 28 | 0x95a45f1U), UINTMAX_MAX / 2833) P (4, 66, (((((uintmax_t) 0x1f0aU << 28 | 0x8ec0eccU) << 28 | 0x79a36aeU) << 28 | 0xe0b0241U) << 28 | 0x82eec3dU), UINTMAX_MAX / 2837) P (6, 66, (((((uintmax_t) 0x609eU << 28 | 0x7b00a15U) << 28 | 0xca83496U) << 28 | 0x323eda1U) << 28 | 0x73b5713U), UINTMAX_MAX / 2843) P (8, 66, (((((uintmax_t) 0x7362U << 28 | 0x52ca08cU) << 28 | 0xcba690eU) << 28 | 0xd0dbd03U) << 28 | 0xae77c8bU), UINTMAX_MAX / 2851) P (6, 70, (((((uintmax_t) 0xa370U << 28 | 0x463ffa4U) << 28 | 0x3eb91f7U) << 28 | 0x3800b78U) << 28 | 0x28dc119U), UINTMAX_MAX / 2857) P (4, 78, (((((uintmax_t) 0x4586U << 28 | 0x7cbbe80U) << 28 | 0x502c61bU) << 28 | 0x61715ecU) << 28 | 0x22b7ca5U), UINTMAX_MAX / 2861) P (18, 74, (((((uintmax_t) 0x508fU << 28 | 0xb1c027dU) << 28 | 0x607a5a8U) << 28 | 0x533a991U) << 28 | 0xead64bfU), UINTMAX_MAX / 2879) P (8, 70, (((((uintmax_t) 0xbc40U << 28 | 0xe8adccbU) << 28 | 0xf2e057fU) << 28 | 0x6c7290eU) << 28 | 0x46c2e77U), UINTMAX_MAX / 2887) P (10, 66, (((((uintmax_t) 0x73d9U << 28 | 0x78cc4e1U) << 28 | 0xdde3e63U) << 28 | 0x25e8d90U) << 28 | 0x7b01db1U), UINTMAX_MAX / 2897) P (6, 66, (((((uintmax_t) 0x1c21U << 28 | 0x8299f86U) << 28 | 0xa86ec28U) << 28 | 0x909f701U) << 28 | 0x52a1067U), UINTMAX_MAX / 2903) P (6, 62, (((((uintmax_t) 0x5da2U << 28 | 0x8a842e1U) << 28 | 0xd0a78eaU) << 28 | 0x7077af0U) << 28 | 0x997a0f5U), UINTMAX_MAX / 2909) P (8, 82, (((((uintmax_t) 0x21f6U << 28 | 0xb281b61U) << 28 | 0xadae07eU) << 28 | 0x605cad1U) << 28 | 0x0c32e6dU), UINTMAX_MAX / 2917) P (10, 74, (((((uintmax_t) 0x2e9dU << 28 | 0xf4a1477U) << 28 | 0x4c2dd47U) << 28 | 0x1b33570U) << 28 | 0x635b38fU), UINTMAX_MAX / 2927) P (12, 72, (((((uintmax_t) 0x891aU << 28 | 0x37ebcabU) << 28 | 0x12ba3abU) << 28 | 0x559fa99U) << 28 | 0x7a61bb3U), UINTMAX_MAX / 2939) P (14, 66, (((((uintmax_t) 0xccadU << 28 | 0xbad1f78U) << 28 | 0x11569adU) << 28 | 0x4bdae56U) << 28 | 0x2bddab9U), UINTMAX_MAX / 2953) P (4, 66, (((((uintmax_t) 0xb335U << 28 | 0x6a92a82U) << 28 | 0x08d4a05U) << 28 | 0x5e1b2f2U) << 28 | 0xed62f45U), UINTMAX_MAX / 2957) P (6, 74, (((((uintmax_t) 0x58bbU << 28 | 0x5017802U) << 28 | 0x12d5c03U) << 28 | 0xcd328b1U) << 28 | 0xa2dca9bU), UINTMAX_MAX / 2963) P (6, 72, (((((uintmax_t) 0x7501U << 28 | 0xa365242U) << 28 | 0x0c3e6d2U) << 28 | 0x8f4e087U) << 28 | 0x33218a9U), UINTMAX_MAX / 2969) P (2, 78, (((((uintmax_t) 0x18a4U << 28 | 0xbffa7c4U) << 28 | 0x073ceb6U) << 28 | 0x800b077U) << 28 | 0xf186293U), UINTMAX_MAX / 2971) P (28, 62, (((((uintmax_t) 0xa633U << 28 | 0x0bdd838U) << 28 | 0xae2356fU) << 28 | 0xbd138c3U) << 28 | 0xfd9c207U), UINTMAX_MAX / 2999) P (2, 66, (((((uintmax_t) 0xe2ffU << 28 | 0x0fc80a3U) << 28 | 0xc9104b1U) << 28 | 0x17ccd12U) << 28 | 0xae88a89U), UINTMAX_MAX / 3001) P (10, 68, (((((uintmax_t) 0x1183U << 28 | 0xb2cce6eU) << 28 | 0xb2b722fU) << 28 | 0x1a1a044U) << 28 | 0x046bcebU), UINTMAX_MAX / 3011) P (8, 64, (((((uintmax_t) 0xbfb9U << 28 | 0x73118d8U) << 28 | 0x666f154U) << 28 | 0x8aba0b0U) << 28 | 0x60541e3U), UINTMAX_MAX / 3019) P (4, 66, (((((uintmax_t) 0xa152U << 28 | 0xbc81bc6U) << 28 | 0xc0e90cfU) << 28 | 0x4e808ceU) << 28 | 0xa111b2fU), UINTMAX_MAX / 3023) P (14, 72, (((((uintmax_t) 0xaebdU << 28 | 0xa92d6f2U) << 28 | 0xef39bdbU) << 28 | 0xec1b4faU) << 28 | 0x855a475U), UINTMAX_MAX / 3037) P (4, 78, (((((uintmax_t) 0x890cU << 28 | 0xb62bf18U) << 28 | 0x542ece3U) << 28 | 0xf794eb6U) << 28 | 0x00d7821U), UINTMAX_MAX / 3041) P (8, 72, (((((uintmax_t) 0x699fU << 28 | 0xc793db6U) << 28 | 0x480a134U) << 28 | 0xfae0d9aU) << 28 | 0x11f7c59U), UINTMAX_MAX / 3049) P (12, 76, (((((uintmax_t) 0x14fdU << 28 | 0xe8c0055U) << 28 | 0xa3d62f0U) << 28 | 0x06b0ccbU) << 28 | 0xbac085dU), UINTMAX_MAX / 3061) P (6, 96, (((((uintmax_t) 0xa99cU << 28 | 0x01006adU) << 28 | 0x72efe3fU) << 28 | 0x45076dcU) << 28 | 0x3114733U), UINTMAX_MAX / 3067) P (12, 88, (((((uintmax_t) 0x59e0U << 28 | 0xe778f96U) << 28 | 0xe7f8aeeU) << 28 | 0xf49bfa5U) << 28 | 0x8a1a1b7U), UINTMAX_MAX / 3079) P (4, 86, (((((uintmax_t) 0x6edaU << 28 | 0x627b0f3U) << 28 | 0x2121a12U) << 28 | 0xc4218beU) << 28 | 0xa691fa3U), UINTMAX_MAX / 3083) P (6, 92, (((((uintmax_t) 0xf88aU << 28 | 0x9107df8U) << 28 | 0x35b3ebcU) << 28 | 0x7504e3bU) << 28 | 0xd5e64f1U), UINTMAX_MAX / 3089) P (20, 78, (((((uintmax_t) 0xcddaU << 28 | 0x9dee60fU) << 28 | 0xf969a4eU) << 28 | 0xe21c292U) << 28 | 0xbb92fadU), UINTMAX_MAX / 3109) P (10, 72, (((((uintmax_t) 0x4ff1U << 28 | 0x8de982bU) << 28 | 0xfe5bc34U) << 28 | 0x338b732U) << 28 | 0x7a4bacfU), UINTMAX_MAX / 3119) P (2, 82, (((((uintmax_t) 0x8fdfU << 28 | 0x30a40ccU) << 28 | 0xbc0053fU) << 28 | 0xe5c0833U) << 28 | 0xd6fccd1U), UINTMAX_MAX / 3121) P (16, 72, (((((uintmax_t) 0x0ca6U << 28 | 0x26ae799U) << 28 | 0x8087cb1U) << 28 | 0xe707435U) << 28 | 0x35203c1U), UINTMAX_MAX / 3137) P (26, 54, (((((uintmax_t) 0x3a1cU << 28 | 0xa6ba507U) << 28 | 0x340aaefU) << 28 | 0xbb5dcdfU) << 28 | 0xb4e43d3U), UINTMAX_MAX / 3163) P (4, 54, (((((uintmax_t) 0x340eU << 28 | 0x8ccfe76U) << 28 | 0xd34c8caU) << 28 | 0x68467caU) << 28 | 0x5394f9fU), UINTMAX_MAX / 3167) P (2, 60, (((((uintmax_t) 0xe94cU << 28 | 0xd3010cdU) << 28 | 0x82c978cU) << 28 | 0x51c0814U) << 28 | 0x08b97a1U), UINTMAX_MAX / 3169) P (12, 70, (((((uintmax_t) 0x69d4U << 28 | 0x0f213ccU) << 28 | 0x2c1a132U) << 28 | 0x75a899dU) << 28 | 0xfa5dd65U), UINTMAX_MAX / 3181) P (6, 66, (((((uintmax_t) 0xcc45U << 28 | 0x14a4d46U) << 28 | 0x1ff849eU) << 28 | 0x674cb62U) << 28 | 0xe1b78bbU), UINTMAX_MAX / 3187) P (4, 66, (((((uintmax_t) 0x6351U << 28 | 0xbffadd9U) << 28 | 0x54cc6a3U) << 28 | 0x7ff5bb2U) << 28 | 0xa998d47U), UINTMAX_MAX / 3191) P (12, 56, (((((uintmax_t) 0x77baU << 28 | 0x4e2aae1U) << 28 | 0x3a95c79U) << 28 | 0x2a999dbU) << 28 | 0x131a22bU), UINTMAX_MAX / 3203) P (6, 62, (((((uintmax_t) 0x8d1fU << 28 | 0x82e96c6U) << 28 | 0xa42da1bU) << 28 | 0x48841bcU) << 28 | 0x30d29b9U), UINTMAX_MAX / 3209) P (8, 82, (((((uintmax_t) 0x0ef5U << 28 | 0xe4c8da5U) << 28 | 0xc2683f0U) << 28 | 0x6721d20U) << 28 | 0x11d3471U), UINTMAX_MAX / 3217) P (4, 80, (((((uintmax_t) 0x9ccfU << 28 | 0x98fef77U) << 28 | 0xeed5293U) << 28 | 0xfd2386dU) << 28 | 0xff85ebdU), UINTMAX_MAX / 3221) P (8, 78, (((((uintmax_t) 0x9c06U << 28 | 0xa8de9f5U) << 28 | 0xb182e4cU) << 28 | 0xe72f54cU) << 28 | 0x07ed9b5U), UINTMAX_MAX / 3229) P (22, 62, (((((uintmax_t) 0xdcf5U << 28 | 0x5e929f8U) << 28 | 0x99148d6U) << 28 | 0xd0fd3e7U) << 28 | 0x1dd827bU), UINTMAX_MAX / 3251) P (2, 66, (((((uintmax_t) 0xcebcU << 28 | 0x664e397U) << 28 | 0x2d17d85U) << 28 | 0x6405fb1U) << 28 | 0xeed819dU), UINTMAX_MAX / 3253) P (4, 66, (((((uintmax_t) 0x921eU << 28 | 0x0671f84U) << 28 | 0xc15b18eU) << 28 | 0xa8aceb7U) << 28 | 0xc443989U), UINTMAX_MAX / 3257) P (2, 70, (((((uintmax_t) 0x4223U << 28 | 0xfa07b2bU) << 28 | 0x4830634U) << 28 | 0xa13026fU) << 28 | 0x62e5873U), UINTMAX_MAX / 3259) P (12, 60, (((((uintmax_t) 0x4ceeU << 28 | 0xdc3bcb1U) << 28 | 0x806e31eU) << 28 | 0xea0208eU) << 28 | 0xc0af4f7U), UINTMAX_MAX / 3271) P (28, 44, (((((uintmax_t) 0x969eU << 28 | 0xc4a2f55U) << 28 | 0xe703563U) << 28 | 0x679853cU) << 28 | 0xea598cbU), UINTMAX_MAX / 3299) P (2, 46, (((((uintmax_t) 0xd886U << 28 | 0xa176bb8U) << 28 | 0x577a9c3U) << 28 | 0x0b3ebd6U) << 28 | 0x1f2d0edU), UINTMAX_MAX / 3301) P (6, 52, (((((uintmax_t) 0xaaecU << 28 | 0xb97a633U) << 28 | 0xdda117eU) << 28 | 0xb9037bcU) << 28 | 0x7f43bc3U), UINTMAX_MAX / 3307) P (6, 48, (((((uintmax_t) 0x1a59U << 28 | 0x7af0505U) << 28 | 0xcb9c2a5U) << 28 | 0x83e6f6cU) << 28 | 0xe016411U), UINTMAX_MAX / 3313) P (6, 52, (((((uintmax_t) 0x76c8U << 28 | 0x6358785U) << 28 | 0x34d5cf1U) << 28 | 0x938d895U) << 28 | 0xf1a74c7U), UINTMAX_MAX / 3319) P (4, 50, (((((uintmax_t) 0xb781U << 28 | 0xa8058bfU) << 28 | 0xac2e880U) << 28 | 0xcf1491cU) << 28 | 0x1e81e33U), UINTMAX_MAX / 3323) P (6, 60, (((((uintmax_t) 0xc604U << 28 | 0x75cf8d9U) << 28 | 0x2a5f33cU) << 28 | 0x0f12886U) << 28 | 0xba8f301U), UINTMAX_MAX / 3329) P (2, 60, (((((uintmax_t) 0x9d2aU << 28 | 0x8009d65U) << 28 | 0x861c20eU) << 28 | 0x4b786e0U) << 28 | 0xdfcc5abU), UINTMAX_MAX / 3331) P (12, 64, (((((uintmax_t) 0x4053U << 28 | 0x511894dU) << 28 | 0xe137367U) << 28 | 0x2684c93U) << 28 | 0xf2d41efU), UINTMAX_MAX / 3343) P (4, 66, (((((uintmax_t) 0xcbfdU << 28 | 0x3f19edcU) << 28 | 0xbd615e0U) << 28 | 0x0757badU) << 28 | 0xb35c51bU), UINTMAX_MAX / 3347) P (12, 74, (((((uintmax_t) 0x303eU << 28 | 0x309fbe2U) << 28 | 0x6de63d6U) << 28 | 0xd84afe6U) << 28 | 0x6472edfU), UINTMAX_MAX / 3359) P (2, 88, (((((uintmax_t) 0x1123U << 28 | 0x440491fU) << 28 | 0x00137fbU) << 28 | 0xbc0eedcU) << 28 | 0xbbfb6e1U), UINTMAX_MAX / 3361) P (10, 86, (((((uintmax_t) 0x5ae7U << 28 | 0x03df7f3U) << 28 | 0x3de4825U) << 28 | 0x0f43aa0U) << 28 | 0x8a84983U), UINTMAX_MAX / 3371) P (2, 88, (((((uintmax_t) 0x11fcU << 28 | 0xcff5122U) << 28 | 0x3abe804U) << 28 | 0x400e927U) << 28 | 0xb1acaa5U), UINTMAX_MAX / 3373) P (16, 74, (((((uintmax_t) 0x80cbU << 28 | 0x0c29652U) << 28 | 0x5643d56U) << 28 | 0x572be34U) << 28 | 0xb9d3215U), UINTMAX_MAX / 3389) P (2, 76, (((((uintmax_t) 0xc57dU << 28 | 0xffd958dU) << 28 | 0xb3c0487U) << 28 | 0x964ef77U) << 28 | 0x81c62bfU), UINTMAX_MAX / 3391) P (16, 62, (((((uintmax_t) 0x9c4aU << 28 | 0x3cdce8eU) << 28 | 0xea48e29U) << 28 | 0xed84051U) << 28 | 0xc06e9afU), UINTMAX_MAX / 3407) P (6, 78, (((((uintmax_t) 0x0cf9U << 28 | 0xeca5ea8U) << 28 | 0xc4381b0U) << 28 | 0x0acd11eU) << 28 | 0xd3f87fdU), UINTMAX_MAX / 3413) P (20, 66, (((((uintmax_t) 0xfe48U << 28 | 0xee074edU) << 28 | 0x223a506U) << 28 | 0x3078817U) << 28 | 0x44152d9U), UINTMAX_MAX / 3433) P (16, 62, (((((uintmax_t) 0xa409U << 28 | 0x342e04eU) << 28 | 0x6187e7aU) << 28 | 0x786459fU) << 28 | 0x5c1ccc9U), UINTMAX_MAX / 3449) P (8, 60, (((((uintmax_t) 0xe4e5U << 28 | 0x902e357U) << 28 | 0x74c7f13U) << 28 | 0x08125d7U) << 28 | 0x4563281U), UINTMAX_MAX / 3457) P (4, 66, (((((uintmax_t) 0x7588U << 28 | 0x9dfe5f6U) << 28 | 0xae1e539U) << 28 | 0x5310a48U) << 28 | 0x0b3e34dU), UINTMAX_MAX / 3461) P (2, 66, (((((uintmax_t) 0x3784U << 28 | 0x6603fdeU) << 28 | 0xe1c3d35U) << 28 | 0x985baa8U) << 28 | 0xb202837U), UINTMAX_MAX / 3463) P (4, 66, (((((uintmax_t) 0xb450U << 28 | 0xa1daeecU) << 28 | 0xba5ea96U) << 28 | 0x304a6e0U) << 28 | 0x52b3223U), UINTMAX_MAX / 3467) P (2, 70, (((((uintmax_t) 0xfbf0U << 28 | 0xf20d6e5U) << 28 | 0x363d8bdU) << 28 | 0x8265fc9U) << 28 | 0xaf8fd45U), UINTMAX_MAX / 3469) P (22, 50, (((((uintmax_t) 0xeeb1U << 28 | 0x9bd44b6U) << 28 | 0x27bee1bU) << 28 | 0x6d0b383U) << 28 | 0xec58e0bU), UINTMAX_MAX / 3491) P (8, 48, (((((uintmax_t) 0x7386U << 28 | 0x8c53fdfU) << 28 | 0x38fe9c2U) << 28 | 0x1a7c3b6U) << 28 | 0x8b28503U), UINTMAX_MAX / 3499) P (12, 46, (((((uintmax_t) 0xba13U << 28 | 0x65219cfU) << 28 | 0xbb2b623U) << 28 | 0x6fa180fU) << 28 | 0xbfd6007U), UINTMAX_MAX / 3511) P (6, 42, (((((uintmax_t) 0xe16dU << 28 | 0xb1887adU) << 28 | 0xe4c6dc4U) << 28 | 0x2accd44U) << 28 | 0x0ed9595U), UINTMAX_MAX / 3517) P (10, 44, (((((uintmax_t) 0x4cf0U << 28 | 0x1ab5e49U) << 28 | 0x04b7c7aU) << 28 | 0xcf71282U) << 28 | 0x36ba3f7U), UINTMAX_MAX / 3527) P (2, 52, (((((uintmax_t) 0x6374U << 28 | 0x6df92e5U) << 28 | 0xaad5ff9U) << 28 | 0x09367a9U) << 28 | 0x87b9c79U), UINTMAX_MAX / 3529) P (4, 50, (((((uintmax_t) 0x3fc3U << 28 | 0xb6abbabU) << 28 | 0xa82dcb6U) << 28 | 0x4efb252U) << 28 | 0xbfba705U), UINTMAX_MAX / 3533) P (6, 54, (((((uintmax_t) 0x82b6U << 28 | 0x6ef6f53U) << 28 | 0x8c8ce98U) << 28 | 0x0d4f5a7U) << 28 | 0xe4cd25bU), UINTMAX_MAX / 3539) P (2, 66, (((((uintmax_t) 0x20c0U << 28 | 0x04a07f3U) << 28 | 0xdab1fe1U) << 28 | 0xecc4ef2U) << 28 | 0x7b0c37dU), UINTMAX_MAX / 3541) P (6, 66, (((((uintmax_t) 0xfb2aU << 28 | 0x13c68cbU) << 28 | 0xd185291U) << 28 | 0x11aebb8U) << 28 | 0x1d72653U), UINTMAX_MAX / 3547) P (10, 60, (((((uintmax_t) 0x8908U << 28 | 0x46d1b90U) << 28 | 0x96d9c89U) << 28 | 0x51f985cU) << 28 | 0xb2c67edU), UINTMAX_MAX / 3557) P (2, 64, (((((uintmax_t) 0xf7baU << 28 | 0x5f17856U) << 28 | 0xe44e8c4U) << 28 | 0x39d4fc5U) << 28 | 0x4e0b5d7U), UINTMAX_MAX / 3559) P (12, 60, (((((uintmax_t) 0x811cU << 28 | 0x75db26eU) << 28 | 0xd4a0de8U) << 28 | 0x57bf318U) << 28 | 0x96d533bU), UINTMAX_MAX / 3571) P (10, 56, (((((uintmax_t) 0x6fbcU << 28 | 0x83d31afU) << 28 | 0x37d51b6U) << 28 | 0x14bb4cbU) << 28 | 0x5023755U), UINTMAX_MAX / 3581) P (2, 60, (((((uintmax_t) 0xdf7dU << 28 | 0xad8c657U) << 28 | 0x4f61193U) << 28 | 0x8a89e54U) << 28 | 0x73bf1ffU), UINTMAX_MAX / 3583) P (10, 66, (((((uintmax_t) 0x48beU << 28 | 0xf2f618aU) << 28 | 0x70259eaU) << 28 | 0xc481acaU) << 28 | 0x34de039U), UINTMAX_MAX / 3593) P (14, 64, (((((uintmax_t) 0x5c8cU << 28 | 0x86d951dU) << 28 | 0x4fd8414U) << 28 | 0xb961badU) << 28 | 0xf4809a7U), UINTMAX_MAX / 3607) P (6, 60, (((((uintmax_t) 0x3e35U << 28 | 0xfddfd4eU) << 28 | 0xb85d876U) << 28 | 0x784fecbU) << 28 | 0xa352435U), UINTMAX_MAX / 3613) P (4, 60, (((((uintmax_t) 0x3f46U << 28 | 0x480d05dU) << 28 | 0xfde06efU) << 28 | 0xa689bb5U) << 28 | 0x8aef5e1U), UINTMAX_MAX / 3617) P (6, 68, (((((uintmax_t) 0xa7f5U << 28 | 0x427da20U) << 28 | 0x5cb49b2U) << 28 | 0xb2c4db9U) << 28 | 0xc3a8197U), UINTMAX_MAX / 3623) P (8, 66, (((((uintmax_t) 0x1756U << 28 | 0x39f44bdU) << 28 | 0xcbf7d25U) << 28 | 0x03bc992U) << 28 | 0x279f8cfU), UINTMAX_MAX / 3631) P (6, 64, (((((uintmax_t) 0xf7b1U << 28 | 0xba9905dU) << 28 | 0x798f3d2U) << 28 | 0xab9aec5U) << 28 | 0xca1541dU), UINTMAX_MAX / 3637) P (6, 66, (((((uintmax_t) 0x0ec1U << 28 | 0xcf3b3d3U) << 28 | 0x4ea253eU) << 28 | 0x78ba146U) << 28 | 0x0f99af3U), UINTMAX_MAX / 3643) P (16, 60, (((((uintmax_t) 0x694bU << 28 | 0xe954ddeU) << 28 | 0xd63b30aU) << 28 | 0x0142657U) << 28 | 0x2cfcb63U), UINTMAX_MAX / 3659) P (12, 56, (((((uintmax_t) 0xd628U << 28 | 0x9612455U) << 28 | 0x13dfebeU) << 28 | 0xa857968U) << 28 | 0xf3cbd67U), UINTMAX_MAX / 3671) P (2, 60, (((((uintmax_t) 0x63bcU << 28 | 0xcfb30dbU) << 28 | 0xaffca78U) << 28 | 0xdb213eeU) << 28 | 0xfe659e9U), UINTMAX_MAX / 3673) P (4, 62, (((((uintmax_t) 0x7cf8U << 28 | 0xb08fb32U) << 28 | 0x328ba96U) << 28 | 0x3e8541aU) << 28 | 0x74d35f5U), UINTMAX_MAX / 3677) P (14, 70, (((((uintmax_t) 0x99e7U << 28 | 0xb98849cU) << 28 | 0xbfb489eU) << 28 | 0x22d1527U) << 28 | 0x76f2e43U), UINTMAX_MAX / 3691) P (6, 70, (((((uintmax_t) 0x1767U << 28 | 0xa90721dU) << 28 | 0xc686c05U) << 28 | 0xd10d39dU) << 28 | 0x1e1f291U), UINTMAX_MAX / 3697) P (4, 68, (((((uintmax_t) 0x817cU << 28 | 0xb6e3047U) << 28 | 0xeff3d37U) << 28 | 0x4468dccU) << 28 | 0xaced1ddU), UINTMAX_MAX / 3701) P (8, 70, (((((uintmax_t) 0x916dU << 28 | 0x896be15U) << 28 | 0xac3548dU) << 28 | 0x145c7d1U) << 28 | 0x10c5ad5U), UINTMAX_MAX / 3709) P (10, 74, (((((uintmax_t) 0x50e1U << 28 | 0xc7f7bd5U) << 28 | 0xdf5f332U) << 28 | 0x51a39f5U) << 28 | 0xacb5737U), UINTMAX_MAX / 3719) P (8, 70, (((((uintmax_t) 0xc1e7U << 28 | 0xf58f36eU) << 28 | 0x1b567a6U) << 28 | 0x6e50171U) << 28 | 0x443506fU), UINTMAX_MAX / 3727) P (6, 70, (((((uintmax_t) 0xe72cU << 28 | 0xc7f8de3U) << 28 | 0x0f6e112U) << 28 | 0x4f69ad9U) << 28 | 0x1dd4cbdU), UINTMAX_MAX / 3733) P (6, 82, (((((uintmax_t) 0x81e2U << 28 | 0x02e029aU) << 28 | 0x0d485ecU) << 28 | 0x24f8f2aU) << 28 | 0x61a2793U), UINTMAX_MAX / 3739) P (22, 62, (((((uintmax_t) 0x66a5U << 28 | 0x216bc00U) << 28 | 0x45b35b4U) << 28 | 0x72148e6U) << 28 | 0x56b7a51U), UINTMAX_MAX / 3761) P (6, 66, (((((uintmax_t) 0x3442U << 28 | 0x9973536U) << 28 | 0x29ba00aU) << 28 | 0xdf9570eU) << 28 | 0x1142f07U), UINTMAX_MAX / 3767) P (2, 78, (((((uintmax_t) 0xc952U << 28 | 0x869f58aU) << 28 | 0x38eb489U) << 28 | 0xbf33b06U) << 28 | 0x5119789U), UINTMAX_MAX / 3769) P (10, 72, (((((uintmax_t) 0xc462U << 28 | 0xe78b7b7U) << 28 | 0xebf2b8fU) << 28 | 0x0149803U) << 28 | 0xcb291ebU), UINTMAX_MAX / 3779) P (14, 60, (((((uintmax_t) 0xa7b8U << 28 | 0x300e09dU) << 28 | 0xa9be883U) << 28 | 0x34b63afU) << 28 | 0xd190a31U), UINTMAX_MAX / 3793) P (4, 66, (((((uintmax_t) 0x678fU << 28 | 0x45607afU) << 28 | 0xa226292U) << 28 | 0x0908d50U) << 28 | 0xd6aba7dU), UINTMAX_MAX / 3797) P (6, 74, (((((uintmax_t) 0x3066U << 28 | 0x51b882dU) << 28 | 0xc63e557U) << 28 | 0xd8b018cU) << 28 | 0x5a33d53U), UINTMAX_MAX / 3803) P (18, 60, (((((uintmax_t) 0x03f3U << 28 | 0xf0b9737U) << 28 | 0x01682eaU) << 28 | 0x1773092U) << 28 | 0xdc27ee5U), UINTMAX_MAX / 3821) P (2, 66, (((((uintmax_t) 0x824fU << 28 | 0x6b12f35U) << 28 | 0x80e76caU) << 28 | 0xe5f38b7U) << 28 | 0xbf2e00fU), UINTMAX_MAX / 3823) P (10, 74, (((((uintmax_t) 0xba8aU << 28 | 0x4084821U) << 28 | 0xa94f02bU) << 28 | 0xd02df34U) << 28 | 0xf695349U), UINTMAX_MAX / 3833) P (14, 64, (((((uintmax_t) 0x1f9bU << 28 | 0xea70762U) << 28 | 0xf3f48ddU) << 28 | 0xfecd5beU) << 28 | 0x62e2eb7U), UINTMAX_MAX / 3847) P (4, 66, (((((uintmax_t) 0xb7acU << 28 | 0x817ee73U) << 28 | 0x45119dbU) << 28 | 0xf849ebeU) << 28 | 0xc96c4a3U), UINTMAX_MAX / 3851) P (2, 66, (((((uintmax_t) 0xf8c2U << 28 | 0x0286585U) << 28 | 0xe14dcdaU) << 28 | 0x31d4d01U) << 28 | 0x87357c5U), UINTMAX_MAX / 3853) P (10, 60, (((((uintmax_t) 0x7727U << 28 | 0x2a58ab3U) << 28 | 0xdb276e3U) << 28 | 0x4e21cc2U) << 28 | 0xd5418a7U), UINTMAX_MAX / 3863) P (14, 52, (((((uintmax_t) 0x61caU << 28 | 0x83edc68U) << 28 | 0xdb38968U) << 28 | 0xca5137aU) << 28 | 0x9e574adU), UINTMAX_MAX / 3877) P (4, 50, (((((uintmax_t) 0x74f3U << 28 | 0x8879e60U) << 28 | 0x2c53a3eU) << 28 | 0xaa0d0f8U) << 28 | 0x04bfd19U), UINTMAX_MAX / 3881) P (8, 54, (((((uintmax_t) 0x1c6fU << 28 | 0xe7c6996U) << 28 | 0x04df055U) << 28 | 0x4fb753cU) << 28 | 0xc20e9d1U), UINTMAX_MAX / 3889) P (18, 40, (((((uintmax_t) 0x374dU << 28 | 0x408a62aU) << 28 | 0xda31679U) << 28 | 0x7afcca1U) << 28 | 0x300756bU), UINTMAX_MAX / 3907) P (4, 56, (((((uintmax_t) 0xc8e2U << 28 | 0xbdb1524U) << 28 | 0x758f48bU) << 28 | 0x8d950b5U) << 28 | 0x2eeea77U), UINTMAX_MAX / 3911) P (6, 72, (((((uintmax_t) 0xbfc1U << 28 | 0x421336fU) << 28 | 0x6ea5dfbU) << 28 | 0x6cd166aU) << 28 | 0xcabc185U), UINTMAX_MAX / 3917) P (2, 82, (((((uintmax_t) 0x7daeU << 28 | 0x58b5560U) << 28 | 0x7b5454eU) << 28 | 0xb6c5ed9U) << 28 | 0x437a7afU), UINTMAX_MAX / 3919) P (4, 80, (((((uintmax_t) 0xf1f8U << 28 | 0x4cbdc3dU) << 28 | 0x573f5d1U) << 28 | 0xeddbd91U) << 28 | 0xb790cdbU), UINTMAX_MAX / 3923) P (6, 78, (((((uintmax_t) 0xa6abU << 28 | 0x9f4ec63U) << 28 | 0x4c6db93U) << 28 | 0xd714ea4U) << 28 | 0xd8948e9U), UINTMAX_MAX / 3929) P (2, 82, (((((uintmax_t) 0x8198U << 28 | 0x742e1b7U) << 28 | 0xb68a73cU) << 28 | 0xa13ed81U) << 28 | 0x45188d3U), UINTMAX_MAX / 3931) P (12, 76, (((((uintmax_t) 0x5ab3U << 28 | 0x52c7947U) << 28 | 0xbe09382U) << 28 | 0x9086016U) << 28 | 0xda89c57U), UINTMAX_MAX / 3943) P (4, 74, (((((uintmax_t) 0xec69U << 28 | 0x9751239U) << 28 | 0xb9900d7U) << 28 | 0xda1f432U) << 28 | 0x124a543U), UINTMAX_MAX / 3947) P (20, 60, (((((uintmax_t) 0xa4e1U << 28 | 0x58dc715U) << 28 | 0x1a22b7eU) << 28 | 0xad55816U) << 28 | 0x32fb07fU), UINTMAX_MAX / 3967) P (22, 60, (((((uintmax_t) 0x4cd1U << 28 | 0xba8fa08U) << 28 | 0x1613a35U) << 28 | 0x443837fU) << 28 | 0x63ec3bdU), UINTMAX_MAX / 3989) P (12, 50, (((((uintmax_t) 0x48afU << 28 | 0x92759a4U) << 28 | 0x3f37589U) << 28 | 0xe2b200eU) << 28 | 0x5519461U), UINTMAX_MAX / 4001) P (2, 54, (((((uintmax_t) 0x9293U << 28 | 0xfc29b25U) << 28 | 0xcbafee9U) << 28 | 0xae44f0bU) << 28 | 0x7289c0bU), UINTMAX_MAX / 4003) P (4, 66, (((((uintmax_t) 0xc02cU << 28 | 0xfa2fa91U) << 28 | 0xcaf9094U) << 28 | 0x387a277U) << 28 | 0xb9fa817U), UINTMAX_MAX / 4007) P (6, 66, (((((uintmax_t) 0x15c0U << 28 | 0xd8627efU) << 28 | 0x28a2cc8U) << 28 | 0x4f1a58aU) << 28 | 0xbfc2c25U), UINTMAX_MAX / 4013) P (6, 72, (((((uintmax_t) 0x1143U << 28 | 0x12ca6e3U) << 28 | 0x2522b71U) << 28 | 0x101d8e3U) << 28 | 0xc83377bU), UINTMAX_MAX / 4019) P (2, 72, (((((uintmax_t) 0xcfadU << 28 | 0x7d3b04aU) << 28 | 0x5c91ec0U) << 28 | 0x24abe5cU) << 28 | 0x50ba69dU), UINTMAX_MAX / 4021) P (6, 72, (((((uintmax_t) 0x9d46U << 28 | 0x3eef687U) << 28 | 0x26d7815U) << 28 | 0xde4eb36U) << 28 | 0x5a65d73U), UINTMAX_MAX / 4027) P (22, 62, (((((uintmax_t) 0xe98eU << 28 | 0x1152e37U) << 28 | 0xc3cf309U) << 28 | 0xed28a76U) << 28 | 0xbcca931U), UINTMAX_MAX / 4049) P (2, 76, (((((uintmax_t) 0xa002U << 28 | 0x05affefU) << 28 | 0xd280081U) << 28 | 0x6bffbf4U) << 28 | 0xa00205bU), UINTMAX_MAX / 4051) P (6, 72, (((((uintmax_t) 0x1d87U << 28 | 0xfb74ed0U) << 28 | 0x1b4271fU) << 28 | 0x5c71543U) << 28 | 0xd558069U), UINTMAX_MAX / 4057) P (16, 60, (((((uintmax_t) 0x7051U << 28 | 0x751852fU) << 28 | 0x74370f2U) << 28 | 0x5c64d0eU) << 28 | 0xc53b859U), UINTMAX_MAX / 4073) P (6, 60, (((((uintmax_t) 0x88e1U << 28 | 0x6f867eeU) << 28 | 0x6d54296U) << 28 | 0xc02c2efU) << 28 | 0x1e0ff0fU), UINTMAX_MAX / 4079) P (12, 62, (((((uintmax_t) 0xe8e8U << 28 | 0xc8bebb9U) << 28 | 0xaa05219U) << 28 | 0xa804816U) << 28 | 0x870a333U), UINTMAX_MAX / 4091) P (2, 64, (((((uintmax_t) 0xc605U << 28 | 0x20f62e2U) << 28 | 0x8a79f6dU) << 28 | 0xe49add0U) << 28 | 0x971c555U), UINTMAX_MAX / 4093) P (6, 60, (((((uintmax_t) 0x46c2U << 28 | 0xbb7cd89U) << 28 | 0x7639d52U) << 28 | 0x8087e68U) << 28 | 0x4c71aabU), UINTMAX_MAX / 4099) P (12, 66, (((((uintmax_t) 0xfc73U << 28 | 0x53e15cbU) << 28 | 0x9127ea9U) << 28 | 0x4152c26U) << 28 | 0x9bcdeefU), UINTMAX_MAX / 4111) P (16, 74, (((((uintmax_t) 0x3d78U << 28 | 0xe5c2d68U) << 28 | 0x0673803U) << 28 | 0x79450a3U) << 28 | 0xc2b6bdfU), UINTMAX_MAX / 4127) P (2, 82, (((((uintmax_t) 0x4a66U << 28 | 0x8c7e3baU) << 28 | 0x4fbb8d2U) << 28 | 0xcd38bafU) << 28 | 0xe5373e1U), UINTMAX_MAX / 4129) P (4, 84, (((((uintmax_t) 0x616eU << 28 | 0xb008eb5U) << 28 | 0xfb2b2c2U) << 28 | 0x9df2beaU) << 28 | 0x71d8badU), UINTMAX_MAX / 4133) P (6, 80, (((((uintmax_t) 0x12bdU << 28 | 0xa25ba9aU) << 28 | 0x80c5ec1U) << 28 | 0x5862775U) << 28 | 0xf302e83U), UINTMAX_MAX / 4139) P (14, 76, (((((uintmax_t) 0x98dfU << 28 | 0x642b264U) << 28 | 0x7a0d310U) << 28 | 0x16af2feU) << 28 | 0x55ede09U), UINTMAX_MAX / 4153) P (4, 74, (((((uintmax_t) 0xcc45U << 28 | 0x381a1c7U) << 28 | 0x3878b3dU) << 28 | 0x26dbd9dU) << 28 | 0x1910715U), UINTMAX_MAX / 4157) P (2, 82, (((((uintmax_t) 0x1344U << 28 | 0x23b36d8U) << 28 | 0x0d4ba62U) << 28 | 0x1dab2dfU) << 28 | 0xaf3dfbfU), UINTMAX_MAX / 4159) P (18, 66, (((((uintmax_t) 0xd614U << 28 | 0x399c587U) << 28 | 0xff827b6U) << 28 | 0xf1d7ac2U) << 28 | 0x87338b1U), UINTMAX_MAX / 4177) P (24, 52, (((((uintmax_t) 0x5c04U << 28 | 0x24ce751U) << 28 | 0xf620c8dU) << 28 | 0x9e9f0c3U) << 28 | 0xf9e7fd9U), UINTMAX_MAX / 4201) P (10, 48, (((((uintmax_t) 0xa4cfU << 28 | 0x6d1fac5U) << 28 | 0x93e8e60U) << 28 | 0xa93f876U) << 28 | 0x2e914bbU), UINTMAX_MAX / 4211) P (6, 44, (((((uintmax_t) 0x16b4U << 28 | 0x4c7d8a9U) << 28 | 0x7e358b1U) << 28 | 0x4371f24U) << 28 | 0x7c159c9U), UINTMAX_MAX / 4217) P (2, 52, (((((uintmax_t) 0x7d2dU << 28 | 0xb0c132cU) << 28 | 0x9926a6dU) << 28 | 0xd3b4844U) << 28 | 0x71d4eb3U), UINTMAX_MAX / 4219) P (10, 44, (((((uintmax_t) 0xc12aU << 28 | 0x5044c45U) << 28 | 0xfa4f4cdU) << 28 | 0x172f470U) << 28 | 0x1c1684dU), UINTMAX_MAX / 4229) P (2, 52, (((((uintmax_t) 0x3b6aU << 28 | 0xabf51beU) << 28 | 0x4a6c103U) << 28 | 0x72e686eU) << 28 | 0xd8bb537U), UINTMAX_MAX / 4231) P (10, 48, (((((uintmax_t) 0x0b0bU << 28 | 0xe43ba38U) << 28 | 0x61105bcU) << 28 | 0x07f7ca6U) << 28 | 0x5c5b071U), UINTMAX_MAX / 4241) P (2, 54, (((((uintmax_t) 0x1841U << 28 | 0x2954499U) << 28 | 0xbb949abU) << 28 | 0x2b6170cU) << 28 | 0x3f78d9bU), UINTMAX_MAX / 4243) P (10, 74, (((((uintmax_t) 0x67e4U << 28 | 0x8d552c3U) << 28 | 0xde0d1f3U) << 28 | 0xd74f461U) << 28 | 0xfe6f5b5U), UINTMAX_MAX / 4253) P (6, 78, (((((uintmax_t) 0xa030U << 28 | 0x161ea7bU) << 28 | 0x38ae8dbU) << 28 | 0xc13f4b3U) << 28 | 0x1f3230bU), UINTMAX_MAX / 4259) P (2, 78, (((((uintmax_t) 0xf2a9U << 28 | 0x8b90bb7U) << 28 | 0x2eec1d1U) << 28 | 0x420716eU) << 28 | 0x3f1572dU), UINTMAX_MAX / 4261) P (10, 78, (((((uintmax_t) 0xa0c1U << 28 | 0xb926e68U) << 28 | 0x69f8ed5U) << 28 | 0xbe2fd4dU) << 28 | 0x805464fU), UINTMAX_MAX / 4271) P (2, 84, (((((uintmax_t) 0xc4edU << 28 | 0x7ccb753U) << 28 | 0xef76ec6U) << 28 | 0x8b97c13U) << 28 | 0x6943851U), UINTMAX_MAX / 4273) P (10, 80, (((((uintmax_t) 0x5305U << 28 | 0xada2a32U) << 28 | 0xce35e9eU) << 28 | 0x27918afU) << 28 | 0x7cfb473U), UINTMAX_MAX / 4283) P (6, 84, (((((uintmax_t) 0x0b38U << 28 | 0xa4bcd9fU) << 28 | 0xaa0cc5eU) << 28 | 0xc8ab6c3U) << 28 | 0x6ac7f41U), UINTMAX_MAX / 4289) P (8, 94, (((((uintmax_t) 0xc8f3U << 28 | 0x8c6bf3dU) << 28 | 0x8adf696U) << 28 | 0x4076331U) << 28 | 0xdd90979U), UINTMAX_MAX / 4297) P (30, 70, (((((uintmax_t) 0x3ed4U << 28 | 0xdeb0e60U) << 28 | 0x6fb3530U) << 28 | 0x198eff7U) << 28 | 0x7b002d7U), UINTMAX_MAX / 4327) P (10, 72, (((((uintmax_t) 0xe304U << 28 | 0x8b8a2eaU) << 28 | 0x19da93aU) << 28 | 0xf7cb958U) << 28 | 0x3ece011U), UINTMAX_MAX / 4337) P (2, 82, (((((uintmax_t) 0x63b5U << 28 | 0xa908ca7U) << 28 | 0xcb9bb34U) << 28 | 0xce06f64U) << 28 | 0x3d9883bU), UINTMAX_MAX / 4339) P (10, 74, (((((uintmax_t) 0xd58fU << 28 | 0x1940b11U) << 28 | 0x0300879U) << 28 | 0xf767e52U) << 28 | 0x8708c55U), UINTMAX_MAX / 4349) P (8, 84, (((((uintmax_t) 0xa973U << 28 | 0xcee1454U) << 28 | 0x5fa7a18U) << 28 | 0x5332d2eU) << 28 | 0xf2313cdU), UINTMAX_MAX / 4357) P (6, 84, (((((uintmax_t) 0xc544U << 28 | 0x1f37189U) << 28 | 0x5bd3a43U) << 28 | 0xb611b84U) << 28 | 0xc8332a3U), UINTMAX_MAX / 4363) P (10, 78, (((((uintmax_t) 0xc201U << 28 | 0x49b4038U) << 28 | 0x330c3c2U) << 28 | 0xe215e4fU) << 28 | 0x43bb63dU), UINTMAX_MAX / 4373) P (18, 66, (((((uintmax_t) 0xfcf7U << 28 | 0xe56a2a8U) << 28 | 0xf4dd4f9U) << 28 | 0x4b9dd22U) << 28 | 0xce44e97U), UINTMAX_MAX / 4391) P (6, 66, (((((uintmax_t) 0xc364U << 28 | 0x3300862U) << 28 | 0x47258d8U) << 28 | 0x95834a1U) << 28 | 0xdb166a5U), UINTMAX_MAX / 4397) P (12, 72, (((((uintmax_t) 0xa5f1U << 28 | 0xb76bd2bU) << 28 | 0x5f83834U) << 28 | 0x7d2f16dU) << 28 | 0x19b8d09U), UINTMAX_MAX / 4409) P (12, 62, (((((uintmax_t) 0x9b97U << 28 | 0x89df750U) << 28 | 0x6e4081bU) << 28 | 0x54d4dc4U) << 28 | 0x5b7d98dU), UINTMAX_MAX / 4421) P (2, 70, (((((uintmax_t) 0x612dU << 28 | 0xe5f44efU) << 28 | 0x2839e11U) << 28 | 0x7ac30d9U) << 28 | 0xa044877U), UINTMAX_MAX / 4423) P (18, 66, (((((uintmax_t) 0x9811U << 28 | 0x1015369U) << 28 | 0x6e9ec0eU) << 28 | 0x10b78a6U) << 28 | 0x7a526e9U), UINTMAX_MAX / 4441) P (6, 66, (((((uintmax_t) 0xa197U << 28 | 0x1cf4c64U) << 28 | 0x2a99792U) << 28 | 0xda68a81U) << 28 | 0x8688a9fU), UINTMAX_MAX / 4447) P (4, 66, (((((uintmax_t) 0x0f02U << 28 | 0xeeeb01cU) << 28 | 0x870bacfU) << 28 | 0x2b6c87fU) << 28 | 0x741f84bU), UINTMAX_MAX / 4451) P (6, 62, (((((uintmax_t) 0x8d2eU << 28 | 0x94fe559U) << 28 | 0x50d09d2U) << 28 | 0x64f9bd4U) << 28 | 0x1e18ed9U), UINTMAX_MAX / 4457) P (6, 60, (((((uintmax_t) 0xa84bU << 28 | 0xb74450fU) << 28 | 0xe38c973U) << 28 | 0x3cbeaa9U) << 28 | 0x7166d8fU), UINTMAX_MAX / 4463) P (18, 66, (((((uintmax_t) 0x495aU << 28 | 0xe4dcfaaU) << 28 | 0xfd8b1c9U) << 28 | 0xf475b02U) << 28 | 0x1d22e81U), UINTMAX_MAX / 4481) P (2, 66, (((((uintmax_t) 0x6837U << 28 | 0x46fb256U) << 28 | 0x74d6073U) << 28 | 0x1f76f2eU) << 28 | 0xc4c852bU), UINTMAX_MAX / 4483) P (10, 68, (((((uintmax_t) 0xf6ffU << 28 | 0x5f8d222U) << 28 | 0x12931daU) << 28 | 0xf6f0c97U) << 28 | 0x8f69945U), UINTMAX_MAX / 4493) P (14, 60, (((((uintmax_t) 0xd49aU << 28 | 0xb982b2bU) << 28 | 0x1c92174U) << 28 | 0x9c8ad20U) << 28 | 0xc61ec93U), UINTMAX_MAX / 4507) P (6, 70, (((((uintmax_t) 0x2f4fU << 28 | 0x04983ffU) << 28 | 0xc5e9e09U) << 28 | 0x307ff8bU) << 28 | 0xd3c1261U), UINTMAX_MAX / 4513) P (4, 74, (((((uintmax_t) 0xadefU << 28 | 0x566dd5fU) << 28 | 0x282eb33U) << 28 | 0x4a69fb5U) << 28 | 0xa486e2dU), UINTMAX_MAX / 4517) P (2, 78, (((((uintmax_t) 0xd118U << 28 | 0x137ccc9U) << 28 | 0xe647f1fU) << 28 | 0x36c7bf3U) << 28 | 0x1578617U), UINTMAX_MAX / 4519) P (4, 80, (((((uintmax_t) 0x01cfU << 28 | 0xa9f7f67U) << 28 | 0xdc3aa31U) << 28 | 0xebbcc27U) << 28 | 0x9ea6103U), UINTMAX_MAX / 4523) P (24, 74, (((((uintmax_t) 0x9c1fU << 28 | 0x4da38ddU) << 28 | 0x2657442U) << 28 | 0xe2aad11U) << 28 | 0x9f466ebU), UINTMAX_MAX / 4547) P (2, 88, (((((uintmax_t) 0x41acU << 28 | 0x994bcdcU) << 28 | 0xd3d2c10U) << 28 | 0x6ec05a0U) << 28 | 0xab1450dU), UINTMAX_MAX / 4549) P (12, 78, (((((uintmax_t) 0x556dU << 28 | 0x480324aU) << 28 | 0x6d002b1U) << 28 | 0xb38db92U) << 28 | 0xa99e731U), UINTMAX_MAX / 4561) P (6, 76, (((((uintmax_t) 0x9c39U << 28 | 0x2ce6456U) << 28 | 0x52d9278U) << 28 | 0x4ae377eU) << 28 | 0x67071e7U), UINTMAX_MAX / 4567) P (16, 66, (((((uintmax_t) 0xcdc8U << 28 | 0x79fec56U) << 28 | 0x781893eU) << 28 | 0x9e1471bU) << 28 | 0xa6671d7U), UINTMAX_MAX / 4583) P (8, 60, (((((uintmax_t) 0x375eU << 28 | 0xf621586U) << 28 | 0x1b19982U) << 28 | 0xc29b59dU) << 28 | 0x4d73d0fU), UINTMAX_MAX / 4591) P (6, 60, (((((uintmax_t) 0x75c7U << 28 | 0xfa35597U) << 28 | 0xdcce0c2U) << 28 | 0x3dd0712U) << 28 | 0x8b5525dU), UINTMAX_MAX / 4597) P (6, 60, (((((uintmax_t) 0x4083U << 28 | 0xb2ce1ccU) << 28 | 0xf1d164dU) << 28 | 0x4e5ce0eU) << 28 | 0x9245133U), UINTMAX_MAX / 4603) P (18, 52, (((((uintmax_t) 0x9d9cU << 28 | 0x64622aeU) << 28 | 0x10824c8U) << 28 | 0xfd1057cU) << 28 | 0x09f8cc5U), UINTMAX_MAX / 4621) P (16, 42, (((((uintmax_t) 0x02b4U << 28 | 0x87cfdbcU) << 28 | 0x89230eaU) << 28 | 0x1516e94U) << 28 | 0xf394035U), UINTMAX_MAX / 4637) P (2, 52, (((((uintmax_t) 0x32e1U << 28 | 0x4328c7fU) << 28 | 0xce8e0b5U) << 28 | 0xe3319c5U) << 28 | 0x64ee9dfU), UINTMAX_MAX / 4639) P (4, 60, (((((uintmax_t) 0xf929U << 28 | 0xbd10602U) << 28 | 0x894a612U) << 28 | 0x6a69f90U) << 28 | 0xd822d8bU), UINTMAX_MAX / 4643) P (6, 72, (((((uintmax_t) 0xa0bcU << 28 | 0x8b6d15cU) << 28 | 0x03be950U) << 28 | 0x1ed6348U) << 28 | 0x857aa19U), UINTMAX_MAX / 4649) P (2, 72, (((((uintmax_t) 0xf169U << 28 | 0xf4a94f1U) << 28 | 0x86231deU) << 28 | 0x344a324U) << 28 | 0xeee1c83U), UINTMAX_MAX / 4651) P (6, 72, (((((uintmax_t) 0xafdaU << 28 | 0x2e10d23U) << 28 | 0x58ab11dU) << 28 | 0xd9690cbU) << 28 | 0x2c406d1U), UINTMAX_MAX / 4657) P (6, 70, (((((uintmax_t) 0x70eeU << 28 | 0x0c3017bU) << 28 | 0x7881908U) << 28 | 0xd6c5178U) << 28 | 0xd5e4387U), UINTMAX_MAX / 4663) P (10, 78, (((((uintmax_t) 0x2b47U << 28 | 0x45bd0e3U) << 28 | 0x051844cU) << 28 | 0xea4050aU) << 28 | 0x3e8fdc1U), UINTMAX_MAX / 4673) P (6, 80, (((((uintmax_t) 0x5aa8U << 28 | 0x9fc2b8dU) << 28 | 0x1a891c1U) << 28 | 0x14a06acU) << 28 | 0xc83f777U), UINTMAX_MAX / 4679) P (12, 92, (((((uintmax_t) 0x834dU << 28 | 0x385f9c7U) << 28 | 0x5a89320U) << 28 | 0xb060ebcU) << 28 | 0x0ea01dbU), UINTMAX_MAX / 4691) P (12, 84, (((((uintmax_t) 0xcbb0U << 28 | 0x86fea3aU) << 28 | 0x06a40feU) << 28 | 0x50045acU) << 28 | 0xb78c99fU), UINTMAX_MAX / 4703) P (18, 68, (((((uintmax_t) 0x4bceU << 28 | 0xc35242bU) << 28 | 0x29eaa29U) << 28 | 0x1a68705U) << 28 | 0xb196e91U), UINTMAX_MAX / 4721) P (2, 70, (((((uintmax_t) 0x1cf1U << 28 | 0xbea1a20U) << 28 | 0x324cdc1U) << 28 | 0x042c724U) << 28 | 0x273e2bbU), UINTMAX_MAX / 4723) P (6, 70, (((((uintmax_t) 0x530aU << 28 | 0xaa16d83U) << 28 | 0x622522cU) << 28 | 0xee680bbU) << 28 | 0x165b7c9U), UINTMAX_MAX / 4729) P (4, 68, (((((uintmax_t) 0x6dbeU << 28 | 0xc4fd598U) << 28 | 0x42343fdU) << 28 | 0x2ff9f12U) << 28 | 0xe0776d5U), UINTMAX_MAX / 4733) P (18, 62, (((((uintmax_t) 0x9327U << 28 | 0xd1e0357U) << 28 | 0x3cba016U) << 28 | 0x6a5da63U) << 28 | 0xaf2cc6fU), UINTMAX_MAX / 4751) P (8, 58, (((((uintmax_t) 0xfe7eU << 28 | 0x69c1b53U) << 28 | 0xa5d7dedU) << 28 | 0xd16a593U) << 28 | 0x0408d27U), UINTMAX_MAX / 4759) P (24, 48, (((((uintmax_t) 0xdba8U << 28 | 0x6fc17c3U) << 28 | 0xa04d12aU) << 28 | 0xdf30c26U) << 28 | 0x528844fU), UINTMAX_MAX / 4783) P (4, 74, (((((uintmax_t) 0x4928U << 28 | 0x7ba43b4U) << 28 | 0x0f9d99aU) << 28 | 0x48d6572U) << 28 | 0xb5eec7bU), UINTMAX_MAX / 4787) P (2, 82, (((((uintmax_t) 0xfd7cU << 28 | 0xd1c2bd5U) << 28 | 0x72fbc6eU) << 28 | 0x8bf2877U) << 28 | 0x503cb9dU), UINTMAX_MAX / 4789) P (4, 84, (((((uintmax_t) 0x1951U << 28 | 0x21b3d5eU) << 28 | 0x975e0eaU) << 28 | 0x27a191aU) << 28 | 0x7045389U), UINTMAX_MAX / 4793) P (6, 90, (((((uintmax_t) 0xced1U << 28 | 0x00e827bU) << 28 | 0x0325b6eU) << 28 | 0xb091f34U) << 28 | 0xdd45d3fU), UINTMAX_MAX / 4799) P (2, 102, (((((uintmax_t) 0xe394U << 28 | 0x4a02e12U) << 28 | 0x05dd8dcU) << 28 | 0x8a6cabbU) << 28 | 0x2937d41U), UINTMAX_MAX / 4801) P (12, 96, (((((uintmax_t) 0x3e2dU << 28 | 0xa2eb33fU) << 28 | 0x746e6bcU) << 28 | 0x2f04f25U) << 28 | 0x4922a05U), UINTMAX_MAX / 4813) P (4, 102, (((((uintmax_t) 0xf205U << 28 | 0xd890fadU) << 28 | 0x84cf441U) << 28 | 0x431f4d6U) << 28 | 0xeb38631U), UINTMAX_MAX / 4817) P (14, 100, (((((uintmax_t) 0x7974U << 28 | 0xa2271b8U) << 28 | 0x09c017bU) << 28 | 0xd717435U) << 28 | 0xa08291fU), UINTMAX_MAX / 4831) P (30, 72, (((((uintmax_t) 0xf434U << 28 | 0x0837312U) << 28 | 0x2b4a342U) << 28 | 0x32df9c9U) << 28 | 0x1fc1a55U), UINTMAX_MAX / 4861) P (10, 66, (((((uintmax_t) 0x4c78U << 28 | 0x09ab985U) << 28 | 0xc13f8a4U) << 28 | 0x651e1d5U) << 28 | 0x382eab7U), UINTMAX_MAX / 4871) P (6, 66, (((((uintmax_t) 0x9273U << 28 | 0x60376e4U) << 28 | 0x8c0bf7cU) << 28 | 0xfb5409dU) << 28 | 0xe4cf3c5U), UINTMAX_MAX / 4877) P (12, 62, (((((uintmax_t) 0x47a1U << 28 | 0xbf627e6U) << 28 | 0x7276dcdU) << 28 | 0xd636fb0U) << 28 | 0x68b9929U), UINTMAX_MAX / 4889) P (14, 54, (((((uintmax_t) 0x3f55U << 28 | 0x93b5db8U) << 28 | 0xe2d01eeU) << 28 | 0x8f95e74U) << 28 | 0x0462c97U), UINTMAX_MAX / 4903) P (6, 58, (((((uintmax_t) 0x29aaU << 28 | 0xc9d12b8U) << 28 | 0xb650349U) << 28 | 0x0f97b3aU) << 28 | 0x758b4a5U), UINTMAX_MAX / 4909) P (10, 50, (((((uintmax_t) 0x3c51U << 28 | 0x65394caU) << 28 | 0x8d3eb64U) << 28 | 0x1431563U) << 28 | 0xc441287U), UINTMAX_MAX / 4919) P (12, 42, (((((uintmax_t) 0xf258U << 28 | 0x91c808bU) << 28 | 0x8d292b7U) << 28 | 0x43dad3eU) << 28 | 0xc45916bU), UINTMAX_MAX / 4931) P (2, 54, (((((uintmax_t) 0x708fU << 28 | 0xa57e92aU) << 28 | 0x8098c7bU) << 28 | 0x188be8fU) << 28 | 0x55c878dU), UINTMAX_MAX / 4933) P (4, 56, (((((uintmax_t) 0x983dU << 28 | 0xcf2775dU) << 28 | 0xcd7ead8U) << 28 | 0x05648b2U) << 28 | 0xca54ef9U), UINTMAX_MAX / 4937) P (6, 56, (((((uintmax_t) 0x729cU << 28 | 0xb7c09bcU) << 28 | 0x91a2776U) << 28 | 0xdbe6eefU) << 28 | 0x60123afU), UINTMAX_MAX / 4943) P (8, 255, (((((uintmax_t) 0xe8f0U << 28 | 0x5536727U) << 28 | 0xa8b8137U) << 28 | 0x11525e6U) << 28 | 0xa9e8867U), UINTMAX_MAX / 4951) P (6, 255, (((((uintmax_t) 0xbdf2U << 28 | 0x781fd01U) << 28 | 0x3014a85U) << 28 | 0xc2215cbU) << 28 | 0x383d8f5U), UINTMAX_MAX / 4957) P (10, 255, (((((uintmax_t) 0x0439U << 28 | 0xee5f8e3U) << 28 | 0x30656e5U) << 28 | 0x8f554c8U) << 28 | 0x9825857U), UINTMAX_MAX / 4967) P (2, 255, (((((uintmax_t) 0x77adU << 28 | 0xfb283c9U) << 28 | 0x63b0a8fU) << 28 | 0xbd3b17cU) << 28 | 0x01dacd9U), UINTMAX_MAX / 4969) P (4, 255, (((((uintmax_t) 0x5d7bU << 28 | 0xe851f3fU) << 28 | 0x443554cU) << 28 | 0x8c39dc7U) << 28 | 0xaedee65U), UINTMAX_MAX / 4973) P (14, 255, (((((uintmax_t) 0x373cU << 28 | 0x1c8a99bU) << 28 | 0x1412465U) << 28 | 0x3ac6ddaU) << 28 | 0x86cd3b3U), UINTMAX_MAX / 4987) P (6, 255, (((((uintmax_t) 0x5b50U << 28 | 0xa687decU) << 28 | 0x6a07b0dU) << 28 | 0x61c6791U) << 28 | 0xa9c2c81U), UINTMAX_MAX / 4993) P (6, 255, (((((uintmax_t) 0x0b44U << 28 | 0x292c4bfU) << 28 | 0xef9cdb6U) << 28 | 0x27a3009U) << 28 | 0x0354237U), UINTMAX_MAX / 4999) #undef FIRST_OMITTED_PRIME #define FIRST_OMITTED_PRIME 5003 coreutils-8.21/src/chroot.c0000664000000000000000000001540112102337340012573 00000000000000/* chroot -- run command or shell with special root directory Copyright (C) 1995-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Roland McGrath. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" #include "userspec.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "chroot" #define AUTHORS proper_name ("Roland McGrath") #ifndef MAXGID # define MAXGID GID_T_MAX #endif enum { GROUPS = UCHAR_MAX + 1, USERSPEC }; static struct option const long_opts[] = { {"groups", required_argument, NULL, GROUPS}, {"userspec", required_argument, NULL, USERSPEC}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; #if ! HAVE_SETGROUPS /* At least Interix lacks supplemental group support. Define an always-successful replacement to avoid checking for setgroups availability everywhere, just to support broken platforms. */ static int setgroups (size_t size ATTRIBUTE_UNUSED, gid_t const *list ATTRIBUTE_UNUSED) { return 0; } #endif /* Call setgroups to set the supplementary groups to those listed in GROUPS. GROUPS is a comma separated list of supplementary groups (names or numbers). Parse that list, converting any names to numbers, and call setgroups on the resulting numbers. Upon any failure give a diagnostic and return nonzero. Otherwise return zero. */ static int set_additional_groups (char const *groups) { GETGROUPS_T *gids = NULL; size_t n_gids_allocated = 0; size_t n_gids = 0; char *buffer = xstrdup (groups); char const *tmp; int ret = 0; for (tmp = strtok (buffer, ","); tmp; tmp = strtok (NULL, ",")) { struct group *g; unsigned long int value; if (xstrtoul (tmp, NULL, 10, &value, "") == LONGINT_OK && value <= MAXGID) g = getgrgid (value); else { g = getgrnam (tmp); if (g != NULL) value = g->gr_gid; } if (g == NULL) { error (0, errno, _("invalid group %s"), quote (tmp)); ret = -1; continue; } if (n_gids == n_gids_allocated) gids = X2NREALLOC (gids, &n_gids_allocated); gids[n_gids++] = value; } if (ret == 0 && n_gids == 0) { error (0, 0, _("invalid group list %s"), quote (groups)); ret = -1; } if (ret == 0) { ret = setgroups (n_gids, gids); if (ret) error (0, errno, _("failed to set additional groups")); } free (buffer); free (gids); return ret; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Run COMMAND with root directory set to NEWROOT.\n\ \n\ "), stdout); fputs (_("\ --userspec=USER:GROUP specify user and group (ID or name) to use\n\ --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int c; char const *userspec = NULL; char const *groups = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_CANCELED); atexit (close_stdout); while ((c = getopt_long (argc, argv, "+", long_opts, NULL)) != -1) { switch (c) { case USERSPEC: userspec = optarg; break; case GROUPS: groups = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_CANCELED); } } if (argc <= optind) { error (0, 0, _("missing operand")); usage (EXIT_CANCELED); } if (chroot (argv[optind]) != 0) error (EXIT_CANCELED, errno, _("cannot change root directory to %s"), argv[optind]); if (chdir ("/")) error (EXIT_CANCELED, errno, _("cannot chdir to root directory")); if (argc == optind + 1) { /* No command. Run an interactive shell. */ char *shell = getenv ("SHELL"); if (shell == NULL) shell = bad_cast ("/bin/sh"); argv[0] = shell; argv[1] = bad_cast ("-i"); argv[2] = NULL; } else { /* The following arguments give the command. */ argv += optind + 1; } bool fail = false; /* Attempt to set all three: supplementary groups, group ID, user ID. Diagnose any failures. If any have failed, exit before execvp. */ if (userspec) { uid_t uid = -1; gid_t gid = -1; char *user; char *group; char const *err = parse_user_spec (userspec, &uid, &gid, &user, &group); if (err) error (EXIT_CANCELED, errno, "%s", err); free (user); free (group); if (groups && set_additional_groups (groups)) fail = true; if (gid != (gid_t) -1 && setgid (gid)) { error (0, errno, _("failed to set group-ID")); fail = true; } if (uid != (uid_t) -1 && setuid (uid)) { error (0, errno, _("failed to set user-ID")); fail = true; } } else { /* Yes, this call is identical to the one above. However, when --userspec and --groups groups are used together, we don't want to call this function until after parsing USER:GROUP, and it must be called before setuid. */ if (groups && set_additional_groups (groups)) fail = true; } if (fail) exit (EXIT_CANCELED); /* Execute the given command. */ execvp (argv[0], argv); { int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, _("failed to run command %s"), quote (argv[0])); exit (exit_status); } } coreutils-8.21/src/uname.h0000664000000000000000000000022212050450172012403 00000000000000/* This is for the 'uname' program. */ #define UNAME_UNAME 1 /* This is for the 'arch' program. */ #define UNAME_ARCH 2 extern int uname_mode; coreutils-8.21/src/echo.c0000664000000000000000000001671612102337340012225 00000000000000/* echo.c, derived from code echo.c in Bash. Copyright (C) 1987-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "system.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "echo" #define AUTHORS \ proper_name ("Brian Fox"), \ proper_name ("Chet Ramey") /* If true, interpret backslash escapes by default. */ #ifndef DEFAULT_ECHO_TO_XPG enum { DEFAULT_ECHO_TO_XPG = false }; #endif void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [SHORT-OPTION]... [STRING]...\n\ or: %s LONG-OPTION\n\ "), program_name, program_name); fputs (_("\ Echo the STRING(s) to standard output.\n\ \n\ -n do not output the trailing newline\n\ "), stdout); fputs (_(DEFAULT_ECHO_TO_XPG ? N_("\ -e enable interpretation of backslash escapes (default)\n\ -E disable interpretation of backslash escapes\n") : N_("\ -e enable interpretation of backslash escapes\n\ -E disable interpretation of backslash escapes (default)\n")), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If -e is in effect, the following sequences are recognized:\n\ \n\ "), stdout); fputs (_("\ \\\\ backslash\n\ \\a alert (BEL)\n\ \\b backspace\n\ \\c produce no further output\n\ \\e escape\n\ \\f form feed\n\ \\n new line\n\ \\r carriage return\n\ \\t horizontal tab\n\ \\v vertical tab\n\ "), stdout); fputs (_("\ \\0NNN byte with octal value NNN (1 to 3 digits)\n\ \\xHH byte with hexadecimal value HH (1 to 2 digits)\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } /* Convert C from hexadecimal character to integer. */ static int hextobin (unsigned char c) { switch (c) { default: return c - '0'; case 'a': case 'A': return 10; case 'b': case 'B': return 11; case 'c': case 'C': return 12; case 'd': case 'D': return 13; case 'e': case 'E': return 14; case 'f': case 'F': return 15; } } /* Print the words in LIST to standard output. If the first word is '-n', then don't print a trailing newline. We also support the echo syntax from Version 9 unix systems. */ int main (int argc, char **argv) { bool display_return = true; bool allow_options = (! getenv ("POSIXLY_CORRECT") || (! DEFAULT_ECHO_TO_XPG && 1 < argc && STREQ (argv[1], "-n"))); /* System V machines already have a /bin/sh with a v9 behavior. Use the identical behavior for these machines so that the existing system shell scripts won't barf. */ bool do_v9 = DEFAULT_ECHO_TO_XPG; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* We directly parse options, rather than use parse_long_options, in order to avoid accepting abbreviations. */ if (allow_options && argc == 2) { if (STREQ (argv[1], "--help")) usage (EXIT_SUCCESS); if (STREQ (argv[1], "--version")) { version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); exit (EXIT_SUCCESS); } } --argc; ++argv; if (allow_options) while (argc > 0 && *argv[0] == '-') { char const *temp = argv[0] + 1; size_t i; /* If it appears that we are handling options, then make sure that all of the options specified are actually valid. Otherwise, the string should just be echoed. */ for (i = 0; temp[i]; i++) switch (temp[i]) { case 'e': case 'E': case 'n': break; default: goto just_echo; } if (i == 0) goto just_echo; /* All of the options in TEMP are valid options to ECHO. Handle them. */ while (*temp) switch (*temp++) { case 'e': do_v9 = true; break; case 'E': do_v9 = false; break; case 'n': display_return = false; break; } argc--; argv++; } just_echo: if (do_v9) { while (argc > 0) { char const *s = argv[0]; unsigned char c; while ((c = *s++)) { if (c == '\\' && *s) { switch (c = *s++) { case 'a': c = '\a'; break; case 'b': c = '\b'; break; case 'c': exit (EXIT_SUCCESS); case 'e': c = '\x1B'; break; case 'f': c = '\f'; break; case 'n': c = '\n'; break; case 'r': c = '\r'; break; case 't': c = '\t'; break; case 'v': c = '\v'; break; case 'x': { unsigned char ch = *s; if (! isxdigit (ch)) goto not_an_escape; s++; c = hextobin (ch); ch = *s; if (isxdigit (ch)) { s++; c = c * 16 + hextobin (ch); } } break; case '0': c = 0; if (! ('0' <= *s && *s <= '7')) break; c = *s++; /* Fall through. */ case '1': case '2': case '3': case '4': case '5': case '6': case '7': c -= '0'; if ('0' <= *s && *s <= '7') c = c * 8 + (*s++ - '0'); if ('0' <= *s && *s <= '7') c = c * 8 + (*s++ - '0'); break; case '\\': break; not_an_escape: default: putchar ('\\'); break; } } putchar (c); } argc--; argv++; if (argc > 0) putchar (' '); } } else { while (argc > 0) { fputs (argv[0], stdout); argc--; argv++; if (argc > 0) putchar (' '); } } if (display_return) putchar ('\n'); exit (EXIT_SUCCESS); } coreutils-8.21/src/hostid.c0000664000000000000000000000446312102337340012575 00000000000000/* print the hexadecimal identifier for the current host Copyright (C) 1997-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include #include #include #include "system.h" #include "long-options.h" #include "error.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "hostid" #define AUTHORS proper_name ("Jim Meyering") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]\n\ Print the numeric identifier (in hexadecimal) for the current host.\n\ \n\ "), program_name); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { unsigned int id; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } id = gethostid (); /* POSIX says gethostid returns a "32-bit identifier" but is silent whether it's sign-extended. Turn off any sign-extension. This is a no-op unless unsigned int is wider than 32 bits. */ id &= 0xffffffff; printf ("%08x\n", id); exit (EXIT_SUCCESS); } coreutils-8.21/src/basename.c0000664000000000000000000001146712102337340013060 00000000000000/* basename -- strip directory and suffix from file names Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "basename" #define AUTHORS proper_name ("David MacKenzie") static struct option const longopts[] = { {"multiple", no_argument, NULL, 'a'}, {"suffix", required_argument, NULL, 's'}, {"zero", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s NAME [SUFFIX]\n\ or: %s OPTION... NAME...\n\ "), program_name, program_name); fputs (_("\ Print NAME with any leading directory components removed.\n\ If specified, also remove a trailing SUFFIX.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a, --multiple support multiple arguments and treat each as a NAME\n\ -s, --suffix=SUFFIX remove a trailing SUFFIX\n\ -z, --zero separate output with NUL rather than newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ Examples:\n\ %s /usr/bin/sort -> \"sort\"\n\ %s include/stdio.h .h -> \"stdio\"\n\ %s -s .h include/stdio.h -> \"stdio\"\n\ %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n\ "), program_name, program_name, program_name, program_name); emit_ancillary_info (); } exit (status); } /* Remove SUFFIX from the end of NAME if it is there, unless NAME consists entirely of SUFFIX. */ static void remove_suffix (char *name, const char *suffix) { char *np; const char *sp; np = name + strlen (name); sp = suffix + strlen (suffix); while (np > name && sp > suffix) if (*--np != *--sp) return; if (np > name) *np = '\0'; } /* Perform the basename operation on STRING. If SUFFIX is non-NULL, remove the trailing SUFFIX. Finally, output the result string. */ static void perform_basename (const char *string, const char *suffix, bool use_nuls) { char *name = base_name (string); strip_trailing_slashes (name); /* Per POSIX, 'basename // /' must return '//' on platforms with distinct //. On platforms with drive letters, this generalizes to making 'basename c: :' return 'c:'. This rule is captured by skipping suffix stripping if base_name returned an absolute path or a drive letter (only possible if name is a file-system root). */ if (suffix && IS_RELATIVE_FILE_NAME (name) && ! FILE_SYSTEM_PREFIX_LEN (name)) remove_suffix (name, suffix); fputs (name, stdout); putchar (use_nuls ? '\0' : '\n'); free (name); } int main (int argc, char **argv) { bool multiple_names = false; bool use_nuls = false; const char *suffix = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while (true) { int c = getopt_long (argc, argv, "+as:z", longopts, NULL); if (c == -1) break; switch (c) { case 's': suffix = optarg; case 'a': multiple_names = true; break; case 'z': use_nuls = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (argc < optind + 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (!multiple_names && optind + 2 < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind + 2])); usage (EXIT_FAILURE); } if (multiple_names) { for (; optind < argc; optind++) perform_basename (argv[optind], suffix, use_nuls); } else perform_basename (argv[optind], optind + 2 == argc ? argv[optind + 1] : NULL, use_nuls); exit (EXIT_SUCCESS); } coreutils-8.21/src/mknod.c0000664000000000000000000001530612102337340012411 00000000000000/* mknod -- make special files Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie */ #include #include #include #include #include #include "system.h" #include "error.h" #include "modechange.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "mknod" #define AUTHORS proper_name ("David MacKenzie") static struct option const longopts[] = { {GETOPT_SELINUX_CONTEXT_OPTION_DECL}, {"mode", required_argument, NULL, 'm'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n"), program_name); fputs (_("\ Create the special file NAME of the given TYPE.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n\ "), stdout); fputs (_("\ -Z, --context=CTX set the SELinux security context of NAME to CTX\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n\ must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n\ it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n\ otherwise, as decimal. TYPE may be:\n\ "), stdout); fputs (_("\ \n\ b create a block (buffered) special file\n\ c, u create a character (unbuffered) special file\n\ p create a FIFO\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { mode_t newmode; char const *specified_mode = NULL; int optc; int expected_operands; mode_t node_type; security_context_t scontext = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "m:Z:", longopts, NULL)) != -1) { switch (optc) { case 'm': specified_mode = optarg; break; case 'Z': scontext = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } newmode = MODE_RW_UGO; if (specified_mode) { struct mode_change *change = mode_compile (specified_mode); if (!change) error (EXIT_FAILURE, 0, _("invalid mode")); newmode = mode_adjust (newmode, false, umask (0), change, NULL); free (change); if (newmode & ~S_IRWXUGO) error (EXIT_FAILURE, 0, _("mode must specify only file permission bits")); } /* If the number of arguments is 0 or 1, or (if it's 2 or more and the second one starts with 'p'), then there must be exactly two operands. Otherwise, there must be four. */ expected_operands = (argc <= optind || (optind + 1 < argc && argv[optind + 1][0] == 'p') ? 2 : 4); if (argc - optind < expected_operands) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); if (expected_operands == 4 && argc - optind == 2) fprintf (stderr, "%s\n", _("Special files require major and minor device numbers.")); usage (EXIT_FAILURE); } if (expected_operands < argc - optind) { error (0, 0, _("extra operand %s"), quote (argv[optind + expected_operands])); if (expected_operands == 2 && argc - optind == 4) fprintf (stderr, "%s\n", _("Fifos do not have major and minor device numbers.")); usage (EXIT_FAILURE); } if (scontext && setfscreatecon (scontext) < 0) error (EXIT_FAILURE, errno, _("failed to set default file creation context to %s"), quote (scontext)); /* Only check the first character, to allow mnemonic usage like 'mknod /dev/rst0 character 18 0'. */ switch (argv[optind + 1][0]) { case 'b': /* 'block' or 'buffered' */ #ifndef S_IFBLK error (EXIT_FAILURE, 0, _("block special files not supported")); #else node_type = S_IFBLK; #endif goto block_or_character; case 'c': /* 'character' */ case 'u': /* 'unbuffered' */ #ifndef S_IFCHR error (EXIT_FAILURE, 0, _("character special files not supported")); #else node_type = S_IFCHR; #endif goto block_or_character; block_or_character: { char const *s_major = argv[optind + 2]; char const *s_minor = argv[optind + 3]; uintmax_t i_major, i_minor; dev_t device; if (xstrtoumax (s_major, NULL, 0, &i_major, NULL) != LONGINT_OK || i_major != (major_t) i_major) error (EXIT_FAILURE, 0, _("invalid major device number %s"), quote (s_major)); if (xstrtoumax (s_minor, NULL, 0, &i_minor, NULL) != LONGINT_OK || i_minor != (minor_t) i_minor) error (EXIT_FAILURE, 0, _("invalid minor device number %s"), quote (s_minor)); device = makedev (i_major, i_minor); #ifdef NODEV if (device == NODEV) error (EXIT_FAILURE, 0, _("invalid device %s %s"), s_major, s_minor); #endif if (mknod (argv[optind], newmode | node_type, device) != 0) error (EXIT_FAILURE, errno, "%s", quote (argv[optind])); } break; case 'p': /* 'pipe' */ if (mkfifo (argv[optind], newmode) != 0) error (EXIT_FAILURE, errno, "%s", quote (argv[optind])); break; default: error (0, 0, _("invalid device type %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } exit (EXIT_SUCCESS); } coreutils-8.21/src/chown.c0000664000000000000000000002366112102337340012422 00000000000000/* chown -- change user and group ownership of files Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #include #include #include #include #include "system.h" #include "chown-core.h" #include "error.h" #include "fts_.h" #include "quote.h" #include "root-dev-ino.h" #include "userspec.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "chown" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") /* The argument to the --reference option. Use the owner and group IDs of this file. This file must exist. */ static char *reference_file; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { DEREFERENCE_OPTION = CHAR_MAX + 1, FROM_OPTION, NO_PRESERVE_ROOT, PRESERVE_ROOT, REFERENCE_FILE_OPTION }; static struct option const long_options[] = { {"recursive", no_argument, NULL, 'R'}, {"changes", no_argument, NULL, 'c'}, {"dereference", no_argument, NULL, DEREFERENCE_OPTION}, {"from", required_argument, NULL, FROM_OPTION}, {"no-dereference", no_argument, NULL, 'h'}, {"no-preserve-root", no_argument, NULL, NO_PRESERVE_ROOT}, {"preserve-root", no_argument, NULL, PRESERVE_ROOT}, {"quiet", no_argument, NULL, 'f'}, {"silent", no_argument, NULL, 'f'}, {"reference", required_argument, NULL, REFERENCE_FILE_OPTION}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n\ or: %s [OPTION]... --reference=RFILE FILE...\n\ "), program_name, program_name); fputs (_("\ Change the owner and/or group of each FILE to OWNER and/or GROUP.\n\ With --reference, change the owner and group of each FILE to those of RFILE.\n\ \n\ "), stdout); fputs (_("\ -c, --changes like verbose but report only when a change is made\n\ -f, --silent, --quiet suppress most error messages\n\ -v, --verbose output a diagnostic for every file processed\n\ "), stdout); fputs (_("\ --dereference affect the referent of each symbolic link (this is\n\ the default), rather than the symbolic link itself\n\ -h, --no-dereference affect symbolic links instead of any referenced file\n\ "), stdout); fputs (_("\ (useful only on systems that can change the\n\ ownership of a symlink)\n\ "), stdout); fputs (_("\ --from=CURRENT_OWNER:CURRENT_GROUP\n\ change the owner and/or group of each file only if\n\ its current owner and/or group match those specified\n\ here. Either may be omitted, in which case a match\n\ is not required for the omitted attribute\n\ "), stdout); fputs (_("\ --no-preserve-root do not treat '/' specially (the default)\n\ --preserve-root fail to operate recursively on '/'\n\ "), stdout); fputs (_("\ --reference=RFILE use RFILE's owner and group rather than\n\ specifying OWNER:GROUP values\n\ "), stdout); fputs (_("\ -R, --recursive operate on files and directories recursively\n\ "), stdout); fputs (_("\ \n\ The following options modify how a hierarchy is traversed when the -R\n\ option is also specified. If more than one is specified, only the final\n\ one takes effect.\n\ \n\ -H if a command line argument is a symbolic link\n\ to a directory, traverse it\n\ -L traverse every symbolic link to a directory\n\ encountered\n\ -P do not traverse any symbolic links (default)\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Owner is unchanged if missing. Group is unchanged if missing, but changed\n\ to login group if implied by a ':' following a symbolic OWNER.\n\ OWNER and GROUP may be numeric as well as symbolic.\n\ "), stdout); printf (_("\ \n\ Examples:\n\ %s root /u Change the owner of /u to \"root\".\n\ %s root:staff /u Likewise, but also change its group to \"staff\".\n\ %s -hR root /u Change the owner of /u and subfiles to \"root\".\n\ "), program_name, program_name, program_name); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { bool preserve_root = false; uid_t uid = -1; /* Specified uid; -1 if not to be changed. */ gid_t gid = -1; /* Specified gid; -1 if not to be changed. */ /* Change the owner (group) of a file only if it has this uid (gid). -1 means there's no restriction. */ uid_t required_uid = -1; gid_t required_gid = -1; /* Bit flags that control how fts works. */ int bit_flags = FTS_PHYSICAL; /* 1 if --dereference, 0 if --no-dereference, -1 if neither has been specified. */ int dereference = -1; struct Chown_option chopt; bool ok; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); chopt_init (&chopt); while ((optc = getopt_long (argc, argv, "HLPRcfhv", long_options, NULL)) != -1) { switch (optc) { case 'H': /* Traverse command-line symlinks-to-directories. */ bit_flags = FTS_COMFOLLOW | FTS_PHYSICAL; break; case 'L': /* Traverse all symlinks-to-directories. */ bit_flags = FTS_LOGICAL; break; case 'P': /* Traverse no symlinks-to-directories. */ bit_flags = FTS_PHYSICAL; break; case 'h': /* --no-dereference: affect symlinks */ dereference = 0; break; case DEREFERENCE_OPTION: /* --dereference: affect the referent of each symlink */ dereference = 1; break; case NO_PRESERVE_ROOT: preserve_root = false; break; case PRESERVE_ROOT: preserve_root = true; break; case REFERENCE_FILE_OPTION: reference_file = optarg; break; case FROM_OPTION: { char *u_dummy, *g_dummy; const char *e = parse_user_spec (optarg, &required_uid, &required_gid, &u_dummy, &g_dummy); if (e) error (EXIT_FAILURE, 0, "%s: %s", e, quote (optarg)); break; } case 'R': chopt.recurse = true; break; case 'c': chopt.verbosity = V_changes_only; break; case 'f': chopt.force_silent = true; break; case 'v': chopt.verbosity = V_high; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (chopt.recurse) { if (bit_flags == FTS_PHYSICAL) { if (dereference == 1) error (EXIT_FAILURE, 0, _("-R --dereference requires either -H or -L")); dereference = 0; } } else { bit_flags = FTS_PHYSICAL; } chopt.affect_symlink_referent = (dereference != 0); if (argc - optind < (reference_file ? 1 : 2)) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } if (reference_file) { struct stat ref_stats; if (stat (reference_file, &ref_stats)) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote (reference_file)); uid = ref_stats.st_uid; gid = ref_stats.st_gid; chopt.user_name = uid_to_name (ref_stats.st_uid); chopt.group_name = gid_to_name (ref_stats.st_gid); } else { const char *e = parse_user_spec (argv[optind], &uid, &gid, &chopt.user_name, &chopt.group_name); if (e) error (EXIT_FAILURE, 0, "%s: %s", e, quote (argv[optind])); /* If a group is specified but no user, set the user name to the empty string so that diagnostics say "ownership :GROUP" rather than "group GROUP". */ if (!chopt.user_name && chopt.group_name) chopt.user_name = bad_cast (""); optind++; } if (chopt.recurse && preserve_root) { static struct dev_ino dev_ino_buf; chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (chopt.root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } bit_flags |= FTS_DEFER_STAT; ok = chown_files (argv + optind, bit_flags, uid, gid, required_uid, required_gid, &chopt); chopt_free (&chopt); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/ln.c0000664000000000000000000005170512104672701011722 00000000000000/* 'ln' program to create links between files. Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Mike Parker and David MacKenzie. */ #include #include #include #include #include "system.h" #include "backupfile.h" #include "error.h" #include "filenamecat.h" #include "file-set.h" #include "hash.h" #include "hash-triple.h" #include "quote.h" #include "relpath.h" #include "same.h" #include "yesno.h" #include "canonicalize.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "ln" #define AUTHORS \ proper_name ("Mike Parker"), \ proper_name ("David MacKenzie") /* FIXME: document */ static enum backup_type backup_type; /* If true, make symbolic links; otherwise, make hard links. */ static bool symbolic_link; /* If true, make symbolic links relative */ static bool relative; /* If true, hard links are logical rather than physical. */ static bool logical = !!LINK_FOLLOWS_SYMLINKS; /* If true, ask the user before removing existing files. */ static bool interactive; /* If true, remove existing files unconditionally. */ static bool remove_existing_files; /* If true, list each file as it is moved. */ static bool verbose; /* If true, allow the superuser to *attempt* to make hard links to directories. However, it appears that this option is not useful in practice, since even the superuser is prohibited from hard-linking directories on most existing systems (Solaris being an exception). */ static bool hard_dir_link; /* If nonzero, and the specified destination is a symbolic link to a directory, treat it just as if it were a directory. Otherwise, the command 'ln --force --no-dereference file symlink-to-dir' deletes symlink-to-dir before creating the new link. */ static bool dereference_dest_dir_symlinks = true; /* This is a set of destination name/inode/dev triples for hard links created by ln. Use this data structure to avoid data loss via a sequence of commands like this: rm -rf a b c; mkdir a b c; touch a/f b/f; ln -f a/f b/f c && rm -r a b */ static Hash_table *dest_set; /* Initial size of the dest_set hash table. */ enum { DEST_INFO_INITIAL_CAPACITY = 61 }; static struct option const long_options[] = { {"backup", optional_argument, NULL, 'b'}, {"directory", no_argument, NULL, 'F'}, {"no-dereference", no_argument, NULL, 'n'}, {"no-target-directory", no_argument, NULL, 'T'}, {"force", no_argument, NULL, 'f'}, {"interactive", no_argument, NULL, 'i'}, {"suffix", required_argument, NULL, 'S'}, {"target-directory", required_argument, NULL, 't'}, {"logical", no_argument, NULL, 'L'}, {"physical", no_argument, NULL, 'P'}, {"relative", no_argument, NULL, 'r'}, {"symbolic", no_argument, NULL, 's'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* FILE is the last operand of this command. Return true if FILE is a directory. But report an error there is a problem accessing FILE, or if FILE does not exist but would have to refer to an existing directory if it referred to anything at all. */ static bool target_directory_operand (char const *file) { char const *b = last_component (file); size_t blen = strlen (b); bool looks_like_a_dir = (blen == 0 || ISSLASH (b[blen - 1])); struct stat st; int stat_result = (dereference_dest_dir_symlinks ? stat (file, &st) : lstat (file, &st)); int err = (stat_result == 0 ? 0 : errno); bool is_a_dir = !err && S_ISDIR (st.st_mode); if (err && err != ENOENT) error (EXIT_FAILURE, err, _("failed to access %s"), quote (file)); if (is_a_dir < looks_like_a_dir) error (EXIT_FAILURE, err, _("target %s is not a directory"), quote (file)); return is_a_dir; } /* Return FROM represented as relative to the dir of TARGET. The result is malloced. */ static char * convert_abs_rel (const char *from, const char *target) { char *realtarget = canonicalize_filename_mode (target, CAN_MISSING); char *realfrom = canonicalize_filename_mode (from, CAN_MISSING); /* Write to a PATH_MAX buffer. */ char *relative_from = xmalloc (PATH_MAX); /* Get dirname to generate paths relative to. */ realtarget[dir_len (realtarget)] = '\0'; if (!relpath (realfrom, realtarget, relative_from, PATH_MAX)) { free (relative_from); relative_from = NULL; } free (realtarget); free (realfrom); return relative_from ? relative_from : xstrdup (from); } /* Make a link DEST to the (usually) existing file SOURCE. Symbolic links to nonexistent files are allowed. Return true if successful. */ static bool do_link (const char *source, const char *dest) { struct stat source_stats; struct stat dest_stats; char *dest_backup = NULL; char *rel_source = NULL; bool dest_lstat_ok = false; bool source_is_dir = false; bool ok; if (!symbolic_link) { /* Which stat to use depends on whether linkat will follow the symlink. We can't use the shorter (logical?stat:lstat) (source, &source_stats) since stat might be a function-like macro. */ if ((logical ? stat (source, &source_stats) : lstat (source, &source_stats)) != 0) { error (0, errno, _("failed to access %s"), quote (source)); return false; } if (S_ISDIR (source_stats.st_mode)) { source_is_dir = true; if (! hard_dir_link) { error (0, 0, _("%s: hard link not allowed for directory"), quote (source)); return false; } } } if (remove_existing_files || interactive || backup_type != no_backups) { dest_lstat_ok = (lstat (dest, &dest_stats) == 0); if (!dest_lstat_ok && errno != ENOENT) { error (0, errno, _("failed to access %s"), quote (dest)); return false; } } /* If the current target was created as a hard link to another source file, then refuse to unlink it. */ if (dest_lstat_ok && dest_set != NULL && seen_file (dest_set, dest, &dest_stats)) { error (0, 0, _("will not overwrite just-created %s with %s"), quote_n (0, dest), quote_n (1, source)); return false; } /* If --force (-f) has been specified without --backup, then before making a link ln must remove the destination file if it exists. (with --backup, it just renames any existing destination file) But if the source and destination are the same, don't remove anything and fail right here. */ if ((remove_existing_files /* Ensure that "ln --backup f f" fails here, with the "... same file" diagnostic, below. Otherwise, subsequent code would give a misleading "file not found" diagnostic. This case is different than the others handled here, since the command in question doesn't use --force. */ || (!symbolic_link && backup_type != no_backups)) && dest_lstat_ok /* Allow 'ln -sf --backup k k' to succeed in creating the self-referential symlink, but don't allow the hard-linking equivalent: 'ln -f k k' (with or without --backup) to get beyond this point, because the error message you'd get is misleading. */ && (backup_type == no_backups || !symbolic_link) && (!symbolic_link || stat (source, &source_stats) == 0) && SAME_INODE (source_stats, dest_stats) /* The following detects whether removing DEST will also remove SOURCE. If the file has only one link then both are surely the same link. Otherwise check whether they point to the same name in the same directory. */ && (source_stats.st_nlink == 1 || same_name (source, dest))) { error (0, 0, _("%s and %s are the same file"), quote_n (0, source), quote_n (1, dest)); return false; } if (dest_lstat_ok) { if (S_ISDIR (dest_stats.st_mode)) { error (0, 0, _("%s: cannot overwrite directory"), quote (dest)); return false; } if (interactive) { fprintf (stderr, _("%s: replace %s? "), program_name, quote (dest)); if (!yesno ()) return true; remove_existing_files = true; } if (backup_type != no_backups) { dest_backup = find_backup_file_name (dest, backup_type); if (rename (dest, dest_backup) != 0) { int rename_errno = errno; free (dest_backup); dest_backup = NULL; if (rename_errno != ENOENT) { error (0, rename_errno, _("cannot backup %s"), quote (dest)); return false; } } } } if (relative) source = rel_source = convert_abs_rel (source, dest); ok = ((symbolic_link ? symlink (source, dest) : linkat (AT_FDCWD, source, AT_FDCWD, dest, logical ? AT_SYMLINK_FOLLOW : 0)) == 0); /* If the attempt to create a link failed and we are removing or backing up destinations, unlink the destination and try again. On the surface, POSIX describes an algorithm that states that 'ln -f A B' will call unlink() on B before ever attempting link() on A. But strictly following this has the counterintuitive effect of losing the contents of B, if A does not exist. Fortunately, POSIX 2008 clarified that an application is free to fail early if it can prove that continuing onwards cannot succeed, so we are justified in trying link() before blindly removing B, thus sometimes calling link() a second time during a successful 'ln -f A B'. Try to unlink DEST even if we may have backed it up successfully. In some unusual cases (when DEST and DEST_BACKUP are hard-links that refer to the same file), rename succeeds and DEST remains. If we didn't remove DEST in that case, the subsequent symlink or link call would fail. */ if (!ok && errno == EEXIST && (remove_existing_files || dest_backup)) { if (unlink (dest) != 0) { error (0, errno, _("cannot remove %s"), quote (dest)); free (dest_backup); free (rel_source); return false; } ok = ((symbolic_link ? symlink (source, dest) : linkat (AT_FDCWD, source, AT_FDCWD, dest, logical ? AT_SYMLINK_FOLLOW : 0)) == 0); } if (ok) { /* Right after creating a hard link, do this: (note dest name and source_stats, which are also the just-linked-destinations stats) */ record_file (dest_set, dest, &source_stats); if (verbose) { if (dest_backup) printf ("%s ~ ", quote (dest_backup)); printf ("%s %c> %s\n", quote_n (0, dest), (symbolic_link ? '-' : '='), quote_n (1, source)); } } else { error (0, errno, (symbolic_link ? (errno != ENAMETOOLONG && *source ? _("failed to create symbolic link %s") : _("failed to create symbolic link %s -> %s")) : (errno == EMLINK && !source_is_dir ? _("failed to create hard link to %.0s%s") : (errno == EDQUOT || errno == EEXIST || errno == ENOSPC || errno == EROFS) ? _("failed to create hard link %s") : _("failed to create hard link %s => %s"))), quote_n (0, dest), quote_n (1, source)); if (dest_backup) { if (rename (dest_backup, dest) != 0) error (0, errno, _("cannot un-backup %s"), quote (dest)); } } free (dest_backup); free (rel_source); return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n\ or: %s [OPTION]... TARGET (2nd form)\n\ or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n\ or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n\ "), program_name, program_name, program_name, program_name); fputs (_("\ In the 1st form, create a link to TARGET with the name LINK_NAME.\n\ In the 2nd form, create a link to TARGET in the current directory.\n\ In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n\ Create hard links by default, symbolic links with --symbolic.\n\ By default, each destination (name of new link) should not already exist.\n\ When creating hard links, each TARGET must exist. Symbolic links\n\ can hold arbitrary text; if later resolved, a relative link is\n\ interpreted in relation to its parent directory.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --backup[=CONTROL] make a backup of each existing destination file\n\ -b like --backup but does not accept an argument\n\ -d, -F, --directory allow the superuser to attempt to hard link\n\ directories (note: will probably fail due to\n\ system restrictions, even for the superuser)\n\ -f, --force remove existing destination files\n\ "), stdout); fputs (_("\ -i, --interactive prompt whether to remove destinations\n\ -L, --logical dereference TARGETs that are symbolic links\n\ -n, --no-dereference treat LINK_NAME as a normal file if\n\ it is a symbolic link to a directory\n\ -P, --physical make hard links directly to symbolic links\n\ -r, --relative create symbolic links relative to link location\n\ -s, --symbolic make symbolic links instead of hard links\n\ "), stdout); fputs (_("\ -S, --suffix=SUFFIX override the usual backup suffix\n\ -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create\n\ the links\n\ -T, --no-target-directory treat LINK_NAME as a normal file always\n\ -v, --verbose print name of each linked file\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ The version control method may be selected via the --backup option or through\n\ the VERSION_CONTROL environment variable. Here are the values:\n\ \n\ "), stdout); fputs (_("\ none, off never make backups (even if --backup is given)\n\ numbered, t make numbered backups\n\ existing, nil numbered if numbered backups exist, simple otherwise\n\ simple, never always make simple backups\n\ "), stdout); printf (_("\ \n\ Using -s ignores -L and -P. Otherwise, the last option specified controls\n\ behavior when a TARGET is a symbolic link, defaulting to %s.\n\ "), LINK_FOLLOWS_SYMLINKS ? "-L" : "-P"); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int c; bool ok; bool make_backups = false; char *backup_suffix_string; char *version_control_string = NULL; char const *target_directory = NULL; bool no_target_directory = false; int n_files; char **file; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdin); /* FIXME: consider not calling getenv for SIMPLE_BACKUP_SUFFIX unless we'll actually use backup_suffix_string. */ backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX"); symbolic_link = remove_existing_files = interactive = verbose = hard_dir_link = false; while ((c = getopt_long (argc, argv, "bdfinrst:vFLPS:T", long_options, NULL)) != -1) { switch (c) { case 'b': make_backups = true; if (optarg) version_control_string = optarg; break; case 'd': case 'F': hard_dir_link = true; break; case 'f': remove_existing_files = true; interactive = false; break; case 'i': remove_existing_files = false; interactive = true; break; case 'L': logical = true; break; case 'n': dereference_dest_dir_symlinks = false; break; case 'P': logical = false; break; case 'r': relative = true; break; case 's': symbolic_link = true; break; case 't': if (target_directory) error (EXIT_FAILURE, 0, _("multiple target directories specified")); else { struct stat st; if (stat (optarg, &st) != 0) error (EXIT_FAILURE, errno, _("failed to access %s"), quote (optarg)); if (! S_ISDIR (st.st_mode)) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (optarg)); } target_directory = optarg; break; case 'T': no_target_directory = true; break; case 'v': verbose = true; break; case 'S': make_backups = true; backup_suffix_string = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } } n_files = argc - optind; file = argv + optind; if (n_files <= 0) { error (0, 0, _("missing file operand")); usage (EXIT_FAILURE); } if (no_target_directory) { if (target_directory) error (EXIT_FAILURE, 0, _("cannot combine --target-directory " "and --no-target-directory")); if (n_files != 2) { if (n_files < 2) error (0, 0, _("missing destination file operand after %s"), quote (file[0])); else error (0, 0, _("extra operand %s"), quote (file[2])); usage (EXIT_FAILURE); } } else if (!target_directory) { if (n_files < 2) target_directory = "."; else if (2 <= n_files && target_directory_operand (file[n_files - 1])) target_directory = file[--n_files]; else if (2 < n_files) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (file[n_files - 1])); } if (backup_suffix_string) simple_backup_suffix = xstrdup (backup_suffix_string); backup_type = (make_backups ? xget_version (_("backup type"), version_control_string) : no_backups); if (relative && !symbolic_link) { error (EXIT_FAILURE, 0, _("cannot do --relative without --symbolic")); } if (target_directory) { int i; /* Create the data structure we'll use to record which hard links we create. Used to ensure that ln detects an obscure corner case that might result in user data loss. Create it only if needed. */ if (2 <= n_files && remove_existing_files /* Don't bother trying to protect symlinks, since ln clobbering a just-created symlink won't ever lead to real data loss. */ && ! symbolic_link /* No destination hard link can be clobbered when making numbered backups. */ && backup_type != numbered_backups) { dest_set = hash_initialize (DEST_INFO_INITIAL_CAPACITY, NULL, triple_hash, triple_compare, triple_free); if (dest_set == NULL) xalloc_die (); } ok = true; for (i = 0; i < n_files; ++i) { char *dest_base; char *dest = file_name_concat (target_directory, last_component (file[i]), &dest_base); strip_trailing_slashes (dest_base); ok &= do_link (file[i], dest); free (dest); } } else ok = do_link (file[0], file[1]); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/dircolors.h0000444000000000000000000004300312107176113013301 00000000000000static char const G_line[] = { '#',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',' ','f','i','l','e',' ','f','o','r',' ','d','i','r','c','o','l','o','r','s',',',' ','a',' ','u','t','i','l','i','t','y',' ','t','o',' ','h','e','l','p',' ','y','o','u',' ','s','e','t',' ','t','h','e',0, '#',' ','L','S','_','C','O','L','O','R','S',' ','e','n','v','i','r','o','n','m','e','n','t',' ','v','a','r','i','a','b','l','e',' ','u','s','e','d',' ','b','y',' ','G','N','U',' ','l','s',' ','w','i','t','h',' ','t','h','e',' ','-','-','c','o','l','o','r',' ','o','p','t','i','o','n','.',0, '#',' ','C','o','p','y','r','i','g','h','t',' ','(','C',')',' ','1','9','9','6','-','2','0','1','3',' ','F','r','e','e',' ','S','o','f','t','w','a','r','e',' ','F','o','u','n','d','a','t','i','o','n',',',' ','I','n','c','.',0, '#',' ','C','o','p','y','i','n','g',' ','a','n','d',' ','d','i','s','t','r','i','b','u','t','i','o','n',' ','o','f',' ','t','h','i','s',' ','f','i','l','e',',',' ','w','i','t','h',' ','o','r',' ','w','i','t','h','o','u','t',' ','m','o','d','i','f','i','c','a','t','i','o','n',',',0, '#',' ','a','r','e',' ','p','e','r','m','i','t','t','e','d',' ','p','r','o','v','i','d','e','d',' ','t','h','e',' ','c','o','p','y','r','i','g','h','t',' ','n','o','t','i','c','e',' ','a','n','d',' ','t','h','i','s',' ','n','o','t','i','c','e',' ','a','r','e',' ','p','r','e','s','e','r','v','e','d','.',0, '#',' ','T','h','e',' ','k','e','y','w','o','r','d','s',' ','C','O','L','O','R',',',' ','O','P','T','I','O','N','S',',',' ','a','n','d',' ','E','I','G','H','T','B','I','T',' ','(','h','o','n','o','r','e','d',' ','b','y',' ','t','h','e',0, '#',' ','s','l','a','c','k','w','a','r','e',' ','v','e','r','s','i','o','n',' ','o','f',' ','d','i','r','c','o','l','o','r','s',')',' ','a','r','e',' ','r','e','c','o','g','n','i','z','e','d',' ','b','u','t',' ','i','g','n','o','r','e','d','.',0, '#',' ','B','e','l','o','w',',',' ','t','h','e','r','e',' ','s','h','o','u','l','d',' ','b','e',' ','o','n','e',' ','T','E','R','M',' ','e','n','t','r','y',' ','f','o','r',' ','e','a','c','h',' ','t','e','r','m','t','y','p','e',' ','t','h','a','t',' ','i','s',' ','c','o','l','o','r','i','z','a','b','l','e',0, 'T','E','R','M',' ','E','t','e','r','m',0, 'T','E','R','M',' ','a','n','s','i',0, 'T','E','R','M',' ','c','o','l','o','r','-','x','t','e','r','m',0, 'T','E','R','M',' ','c','o','n','1','3','2','x','2','5',0, 'T','E','R','M',' ','c','o','n','1','3','2','x','3','0',0, 'T','E','R','M',' ','c','o','n','1','3','2','x','4','3',0, 'T','E','R','M',' ','c','o','n','1','3','2','x','6','0',0, 'T','E','R','M',' ','c','o','n','8','0','x','2','5',0, 'T','E','R','M',' ','c','o','n','8','0','x','2','8',0, 'T','E','R','M',' ','c','o','n','8','0','x','3','0',0, 'T','E','R','M',' ','c','o','n','8','0','x','4','3',0, 'T','E','R','M',' ','c','o','n','8','0','x','5','0',0, 'T','E','R','M',' ','c','o','n','8','0','x','6','0',0, 'T','E','R','M',' ','c','o','n','s','2','5',0, 'T','E','R','M',' ','c','o','n','s','o','l','e',0, 'T','E','R','M',' ','c','y','g','w','i','n',0, 'T','E','R','M',' ','d','t','t','e','r','m',0, 'T','E','R','M',' ','e','t','e','r','m','-','c','o','l','o','r',0, 'T','E','R','M',' ','g','n','o','m','e',0, 'T','E','R','M',' ','g','n','o','m','e','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','j','f','b','t','e','r','m',0, 'T','E','R','M',' ','k','o','n','s','o','l','e',0, 'T','E','R','M',' ','k','t','e','r','m',0, 'T','E','R','M',' ','l','i','n','u','x',0, 'T','E','R','M',' ','l','i','n','u','x','-','c',0, 'T','E','R','M',' ','m','a','c','h','-','c','o','l','o','r',0, 'T','E','R','M',' ','m','l','t','e','r','m',0, 'T','E','R','M',' ','p','u','t','t','y',0, 'T','E','R','M',' ','r','x','v','t',0, 'T','E','R','M',' ','r','x','v','t','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','r','x','v','t','-','c','y','g','w','i','n',0, 'T','E','R','M',' ','r','x','v','t','-','c','y','g','w','i','n','-','n','a','t','i','v','e',0, 'T','E','R','M',' ','r','x','v','t','-','u','n','i','c','o','d','e',0, 'T','E','R','M',' ','r','x','v','t','-','u','n','i','c','o','d','e','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','r','x','v','t','-','u','n','i','c','o','d','e','2','5','6',0, 'T','E','R','M',' ','s','c','r','e','e','n',0, 'T','E','R','M',' ','s','c','r','e','e','n','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','s','c','r','e','e','n','-','2','5','6','c','o','l','o','r','-','b','c','e',0, 'T','E','R','M',' ','s','c','r','e','e','n','-','b','c','e',0, 'T','E','R','M',' ','s','c','r','e','e','n','-','w',0, 'T','E','R','M',' ','s','c','r','e','e','n','.','E','t','e','r','m',0, 'T','E','R','M',' ','s','c','r','e','e','n','.','r','x','v','t',0, 'T','E','R','M',' ','s','c','r','e','e','n','.','l','i','n','u','x',0, 'T','E','R','M',' ','s','t',0, 'T','E','R','M',' ','s','t','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','t','e','r','m','i','n','a','t','o','r',0, 'T','E','R','M',' ','v','t','1','0','0',0, 'T','E','R','M',' ','x','t','e','r','m',0, 'T','E','R','M',' ','x','t','e','r','m','-','1','6','c','o','l','o','r',0, 'T','E','R','M',' ','x','t','e','r','m','-','2','5','6','c','o','l','o','r',0, 'T','E','R','M',' ','x','t','e','r','m','-','8','8','c','o','l','o','r',0, 'T','E','R','M',' ','x','t','e','r','m','-','c','o','l','o','r',0, 'T','E','R','M',' ','x','t','e','r','m','-','d','e','b','i','a','n',0, '#',' ','B','e','l','o','w',' ','a','r','e',' ','t','h','e',' ','c','o','l','o','r',' ','i','n','i','t',' ','s','t','r','i','n','g','s',' ','f','o','r',' ','t','h','e',' ','b','a','s','i','c',' ','f','i','l','e',' ','t','y','p','e','s','.',' ','A',' ','c','o','l','o','r',' ','i','n','i','t',0, '#',' ','s','t','r','i','n','g',' ','c','o','n','s','i','s','t','s',' ','o','f',' ','o','n','e',' ','o','r',' ','m','o','r','e',' ','o','f',' ','t','h','e',' ','f','o','l','l','o','w','i','n','g',' ','n','u','m','e','r','i','c',' ','c','o','d','e','s',':',0, '#',' ','A','t','t','r','i','b','u','t','e',' ','c','o','d','e','s',':',0, '#',' ','0','0','=','n','o','n','e',' ','0','1','=','b','o','l','d',' ','0','4','=','u','n','d','e','r','s','c','o','r','e',' ','0','5','=','b','l','i','n','k',' ','0','7','=','r','e','v','e','r','s','e',' ','0','8','=','c','o','n','c','e','a','l','e','d',0, '#',' ','T','e','x','t',' ','c','o','l','o','r',' ','c','o','d','e','s',':',0, '#',' ','3','0','=','b','l','a','c','k',' ','3','1','=','r','e','d',' ','3','2','=','g','r','e','e','n',' ','3','3','=','y','e','l','l','o','w',' ','3','4','=','b','l','u','e',' ','3','5','=','m','a','g','e','n','t','a',' ','3','6','=','c','y','a','n',' ','3','7','=','w','h','i','t','e',0, '#',' ','B','a','c','k','g','r','o','u','n','d',' ','c','o','l','o','r',' ','c','o','d','e','s',':',0, '#',' ','4','0','=','b','l','a','c','k',' ','4','1','=','r','e','d',' ','4','2','=','g','r','e','e','n',' ','4','3','=','y','e','l','l','o','w',' ','4','4','=','b','l','u','e',' ','4','5','=','m','a','g','e','n','t','a',' ','4','6','=','c','y','a','n',' ','4','7','=','w','h','i','t','e',0, '#','N','O','R','M','A','L',' ','0','0',' ','#',' ','n','o',' ','c','o','l','o','r',' ','c','o','d','e',' ','a','t',' ','a','l','l',0, '#','F','I','L','E',' ','0','0',' ','#',' ','r','e','g','u','l','a','r',' ','f','i','l','e',':',' ','u','s','e',' ','n','o',' ','c','o','l','o','r',' ','a','t',' ','a','l','l',0, 'R','E','S','E','T',' ','0',' ','#',' ','r','e','s','e','t',' ','t','o',' ','"','n','o','r','m','a','l','"',' ','c','o','l','o','r',0, 'D','I','R',' ','0','1',';','3','4',' ','#',' ','d','i','r','e','c','t','o','r','y',0, 'L','I','N','K',' ','0','1',';','3','6',' ','#',' ','s','y','m','b','o','l','i','c',' ','l','i','n','k','.',' ','(','I','f',' ','y','o','u',' ','s','e','t',' ','t','h','i','s',' ','t','o',' ','\'','t','a','r','g','e','t','\'',' ','i','n','s','t','e','a','d',' ','o','f',' ','a',0, ' ','#',' ','n','u','m','e','r','i','c','a','l',' ','v','a','l','u','e',',',' ','t','h','e',' ','c','o','l','o','r',' ','i','s',' ','a','s',' ','f','o','r',' ','t','h','e',' ','f','i','l','e',' ','p','o','i','n','t','e','d',' ','t','o','.',')',0, 'M','U','L','T','I','H','A','R','D','L','I','N','K',' ','0','0',' ','#',' ','r','e','g','u','l','a','r',' ','f','i','l','e',' ','w','i','t','h',' ','m','o','r','e',' ','t','h','a','n',' ','o','n','e',' ','l','i','n','k',0, 'F','I','F','O',' ','4','0',';','3','3',' ','#',' ','p','i','p','e',0, 'S','O','C','K',' ','0','1',';','3','5',' ','#',' ','s','o','c','k','e','t',0, 'D','O','O','R',' ','0','1',';','3','5',' ','#',' ','d','o','o','r',0, 'B','L','K',' ','4','0',';','3','3',';','0','1',' ','#',' ','b','l','o','c','k',' ','d','e','v','i','c','e',' ','d','r','i','v','e','r',0, 'C','H','R',' ','4','0',';','3','3',';','0','1',' ','#',' ','c','h','a','r','a','c','t','e','r',' ','d','e','v','i','c','e',' ','d','r','i','v','e','r',0, 'O','R','P','H','A','N',' ','4','0',';','3','1',';','0','1',' ','#',' ','s','y','m','l','i','n','k',' ','t','o',' ','n','o','n','e','x','i','s','t','e','n','t',' ','f','i','l','e',',',' ','o','r',' ','n','o','n','-','s','t','a','t','\'','a','b','l','e',' ','f','i','l','e',0, 'S','E','T','U','I','D',' ','3','7',';','4','1',' ','#',' ','f','i','l','e',' ','t','h','a','t',' ','i','s',' ','s','e','t','u','i','d',' ','(','u','+','s',')',0, 'S','E','T','G','I','D',' ','3','0',';','4','3',' ','#',' ','f','i','l','e',' ','t','h','a','t',' ','i','s',' ','s','e','t','g','i','d',' ','(','g','+','s',')',0, 'C','A','P','A','B','I','L','I','T','Y',' ','3','0',';','4','1',' ','#',' ','f','i','l','e',' ','w','i','t','h',' ','c','a','p','a','b','i','l','i','t','y',0, 'S','T','I','C','K','Y','_','O','T','H','E','R','_','W','R','I','T','A','B','L','E',' ','3','0',';','4','2',' ','#',' ','d','i','r',' ','t','h','a','t',' ','i','s',' ','s','t','i','c','k','y',' ','a','n','d',' ','o','t','h','e','r','-','w','r','i','t','a','b','l','e',' ','(','+','t',',','o','+','w',')',0, 'O','T','H','E','R','_','W','R','I','T','A','B','L','E',' ','3','4',';','4','2',' ','#',' ','d','i','r',' ','t','h','a','t',' ','i','s',' ','o','t','h','e','r','-','w','r','i','t','a','b','l','e',' ','(','o','+','w',')',' ','a','n','d',' ','n','o','t',' ','s','t','i','c','k','y',0, 'S','T','I','C','K','Y',' ','3','7',';','4','4',' ','#',' ','d','i','r',' ','w','i','t','h',' ','t','h','e',' ','s','t','i','c','k','y',' ','b','i','t',' ','s','e','t',' ','(','+','t',')',' ','a','n','d',' ','n','o','t',' ','o','t','h','e','r','-','w','r','i','t','a','b','l','e',0, '#',' ','T','h','i','s',' ','i','s',' ','f','o','r',' ','f','i','l','e','s',' ','w','i','t','h',' ','e','x','e','c','u','t','e',' ','p','e','r','m','i','s','s','i','o','n',':',0, 'E','X','E','C',' ','0','1',';','3','2',0, '#',' ','L','i','s','t',' ','a','n','y',' ','f','i','l','e',' ','e','x','t','e','n','s','i','o','n','s',' ','l','i','k','e',' ','\'','.','g','z','\'',' ','o','r',' ','\'','.','t','a','r','\'',' ','t','h','a','t',' ','y','o','u',' ','w','o','u','l','d',' ','l','i','k','e',' ','l','s',0, '#',' ','t','o',' ','c','o','l','o','r','i','z','e',' ','b','e','l','o','w','.',' ','P','u','t',' ','t','h','e',' ','e','x','t','e','n','s','i','o','n',',',' ','a',' ','s','p','a','c','e',',',' ','a','n','d',' ','t','h','e',' ','c','o','l','o','r',' ','i','n','i','t',' ','s','t','r','i','n','g','.',0, '#',' ','(','a','n','d',' ','a','n','y',' ','c','o','m','m','e','n','t','s',' ','y','o','u',' ','w','a','n','t',' ','t','o',' ','a','d','d',' ','a','f','t','e','r',' ','a',' ','\'','#','\'',')',0, '#',' ','I','f',' ','y','o','u',' ','u','s','e',' ','D','O','S','-','s','t','y','l','e',' ','s','u','f','f','i','x','e','s',',',' ','y','o','u',' ','m','a','y',' ','w','a','n','t',' ','t','o',' ','u','n','c','o','m','m','e','n','t',' ','t','h','e',' ','f','o','l','l','o','w','i','n','g',':',0, '#','.','c','m','d',' ','0','1',';','3','2',' ','#',' ','e','x','e','c','u','t','a','b','l','e','s',' ','(','b','r','i','g','h','t',' ','g','r','e','e','n',')',0, '#','.','e','x','e',' ','0','1',';','3','2',0, '#','.','c','o','m',' ','0','1',';','3','2',0, '#','.','b','t','m',' ','0','1',';','3','2',0, '#','.','b','a','t',' ','0','1',';','3','2',0, '#',' ','O','r',' ','i','f',' ','y','o','u',' ','w','a','n','t',' ','t','o',' ','c','o','l','o','r','i','z','e',' ','s','c','r','i','p','t','s',' ','e','v','e','n',' ','i','f',' ','t','h','e','y',' ','d','o',' ','n','o','t',' ','h','a','v','e',' ','t','h','e',0, '#',' ','e','x','e','c','u','t','a','b','l','e',' ','b','i','t',' ','a','c','t','u','a','l','l','y',' ','s','e','t','.',0, '#','.','s','h',' ','0','1',';','3','2',0, '#','.','c','s','h',' ','0','1',';','3','2',0, ' ','#',' ','a','r','c','h','i','v','e','s',' ','o','r',' ','c','o','m','p','r','e','s','s','e','d',' ','(','b','r','i','g','h','t',' ','r','e','d',')',0, '.','t','a','r',' ','0','1',';','3','1',0, '.','t','g','z',' ','0','1',';','3','1',0, '.','a','r','j',' ','0','1',';','3','1',0, '.','t','a','z',' ','0','1',';','3','1',0, '.','l','z','h',' ','0','1',';','3','1',0, '.','l','z','m','a',' ','0','1',';','3','1',0, '.','t','l','z',' ','0','1',';','3','1',0, '.','t','x','z',' ','0','1',';','3','1',0, '.','z','i','p',' ','0','1',';','3','1',0, '.','z',' ','0','1',';','3','1',0, '.','Z',' ','0','1',';','3','1',0, '.','d','z',' ','0','1',';','3','1',0, '.','g','z',' ','0','1',';','3','1',0, '.','l','z',' ','0','1',';','3','1',0, '.','x','z',' ','0','1',';','3','1',0, '.','b','z','2',' ','0','1',';','3','1',0, '.','b','z',' ','0','1',';','3','1',0, '.','t','b','z',' ','0','1',';','3','1',0, '.','t','b','z','2',' ','0','1',';','3','1',0, '.','t','z',' ','0','1',';','3','1',0, '.','d','e','b',' ','0','1',';','3','1',0, '.','r','p','m',' ','0','1',';','3','1',0, '.','j','a','r',' ','0','1',';','3','1',0, '.','w','a','r',' ','0','1',';','3','1',0, '.','e','a','r',' ','0','1',';','3','1',0, '.','s','a','r',' ','0','1',';','3','1',0, '.','r','a','r',' ','0','1',';','3','1',0, '.','a','c','e',' ','0','1',';','3','1',0, '.','z','o','o',' ','0','1',';','3','1',0, '.','c','p','i','o',' ','0','1',';','3','1',0, '.','7','z',' ','0','1',';','3','1',0, '.','r','z',' ','0','1',';','3','1',0, '#',' ','i','m','a','g','e',' ','f','o','r','m','a','t','s',0, '.','j','p','g',' ','0','1',';','3','5',0, '.','j','p','e','g',' ','0','1',';','3','5',0, '.','g','i','f',' ','0','1',';','3','5',0, '.','b','m','p',' ','0','1',';','3','5',0, '.','p','b','m',' ','0','1',';','3','5',0, '.','p','g','m',' ','0','1',';','3','5',0, '.','p','p','m',' ','0','1',';','3','5',0, '.','t','g','a',' ','0','1',';','3','5',0, '.','x','b','m',' ','0','1',';','3','5',0, '.','x','p','m',' ','0','1',';','3','5',0, '.','t','i','f',' ','0','1',';','3','5',0, '.','t','i','f','f',' ','0','1',';','3','5',0, '.','p','n','g',' ','0','1',';','3','5',0, '.','s','v','g',' ','0','1',';','3','5',0, '.','s','v','g','z',' ','0','1',';','3','5',0, '.','m','n','g',' ','0','1',';','3','5',0, '.','p','c','x',' ','0','1',';','3','5',0, '.','m','o','v',' ','0','1',';','3','5',0, '.','m','p','g',' ','0','1',';','3','5',0, '.','m','p','e','g',' ','0','1',';','3','5',0, '.','m','2','v',' ','0','1',';','3','5',0, '.','m','k','v',' ','0','1',';','3','5',0, '.','w','e','b','m',' ','0','1',';','3','5',0, '.','o','g','m',' ','0','1',';','3','5',0, '.','m','p','4',' ','0','1',';','3','5',0, '.','m','4','v',' ','0','1',';','3','5',0, '.','m','p','4','v',' ','0','1',';','3','5',0, '.','v','o','b',' ','0','1',';','3','5',0, '.','q','t',' ','0','1',';','3','5',0, '.','n','u','v',' ','0','1',';','3','5',0, '.','w','m','v',' ','0','1',';','3','5',0, '.','a','s','f',' ','0','1',';','3','5',0, '.','r','m',' ','0','1',';','3','5',0, '.','r','m','v','b',' ','0','1',';','3','5',0, '.','f','l','c',' ','0','1',';','3','5',0, '.','a','v','i',' ','0','1',';','3','5',0, '.','f','l','i',' ','0','1',';','3','5',0, '.','f','l','v',' ','0','1',';','3','5',0, '.','g','l',' ','0','1',';','3','5',0, '.','d','l',' ','0','1',';','3','5',0, '.','x','c','f',' ','0','1',';','3','5',0, '.','x','w','d',' ','0','1',';','3','5',0, '.','y','u','v',' ','0','1',';','3','5',0, '.','c','g','m',' ','0','1',';','3','5',0, '.','e','m','f',' ','0','1',';','3','5',0, '#',' ','h','t','t','p',':','/','/','w','i','k','i','.','x','i','p','h','.','o','r','g','/','i','n','d','e','x','.','p','h','p','/','M','I','M','E','_','T','y','p','e','s','_','a','n','d','_','F','i','l','e','_','E','x','t','e','n','s','i','o','n','s',0, '.','a','x','v',' ','0','1',';','3','5',0, '.','a','n','x',' ','0','1',';','3','5',0, '.','o','g','v',' ','0','1',';','3','5',0, '.','o','g','x',' ','0','1',';','3','5',0, '#',' ','a','u','d','i','o',' ','f','o','r','m','a','t','s',0, '.','a','a','c',' ','0','0',';','3','6',0, '.','a','u',' ','0','0',';','3','6',0, '.','f','l','a','c',' ','0','0',';','3','6',0, '.','m','i','d',' ','0','0',';','3','6',0, '.','m','i','d','i',' ','0','0',';','3','6',0, '.','m','k','a',' ','0','0',';','3','6',0, '.','m','p','3',' ','0','0',';','3','6',0, '.','m','p','c',' ','0','0',';','3','6',0, '.','o','g','g',' ','0','0',';','3','6',0, '.','r','a',' ','0','0',';','3','6',0, '.','w','a','v',' ','0','0',';','3','6',0, '#',' ','h','t','t','p',':','/','/','w','i','k','i','.','x','i','p','h','.','o','r','g','/','i','n','d','e','x','.','p','h','p','/','M','I','M','E','_','T','y','p','e','s','_','a','n','d','_','F','i','l','e','_','E','x','t','e','n','s','i','o','n','s',0, '.','a','x','a',' ','0','0',';','3','6',0, '.','o','g','a',' ','0','0',';','3','6',0, '.','s','p','x',' ','0','0',';','3','6',0, '.','x','s','p','f',' ','0','0',';','3','6',0, }; coreutils-8.21/src/prog-fprintf.c0000664000000000000000000000222612102337340013713 00000000000000/* prog-fprintf.c - common formating output functions and definitions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "system.h" #include "prog-fprintf.h" /* Display program name followed by variable list. Used for e.g. verbose output */ void prog_fprintf (FILE *fp, char const *fmt, ...) { va_list ap; fputs (program_name, fp); fputs (": ", fp); va_start (ap, fmt); vfprintf (fp, fmt, ap); va_end (ap); fputc ('\n', fp); } coreutils-8.21/src/groups.c0000664000000000000000000000736212102337340012623 00000000000000/* groups -- print the groups a user is in Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by James Youngman based on id.c and groups.sh, which were written by Arnold Robbins and David MacKenzie. */ #include #include #include #include #include #include #include "system.h" #include "error.h" #include "group-list.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "groups" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("James Youngman") static struct option const longopts[] = { {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [USERNAME]...\n"), program_name); fputs (_("\ Print group memberships for each USERNAME or, if no USERNAME is specified, for\ \n\ the current process (which may differ if the groups database has changed).\n"), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; bool ok = true; gid_t rgid, egid; uid_t ruid; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Processing the arguments this way makes groups.c behave differently to * groups.sh if one of the arguments is "--". */ while ((optc = getopt_long (argc, argv, "", longopts, NULL)) != -1) { switch (optc) { case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) { /* No arguments. Divulge the details of the current process. */ uid_t NO_UID = -1; gid_t NO_GID = -1; errno = 0; ruid = getuid (); if (ruid == NO_UID && errno) error (EXIT_FAILURE, errno, _("cannot get real UID")); errno = 0; egid = getegid (); if (egid == NO_GID && errno) error (EXIT_FAILURE, errno, _("cannot get effective GID")); errno = 0; rgid = getgid (); if (rgid == NO_GID && errno) error (EXIT_FAILURE, errno, _("cannot get real GID")); if (!print_group_list (NULL, ruid, rgid, egid, true)) ok = false; putchar ('\n'); } else { /* At least one argument. Divulge the details of the specified users. */ while (optind < argc) { struct passwd *pwd = getpwnam (argv[optind]); if (pwd == NULL) error (EXIT_FAILURE, 0, _("%s: no such user"), argv[optind]); ruid = pwd->pw_uid; rgid = egid = pwd->pw_gid; printf ("%s : ", argv[optind]); if (!print_group_list (argv[optind++], ruid, rgid, egid, true)) ok = false; putchar ('\n'); } } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/nohup.c0000664000000000000000000001734312102337340012435 00000000000000/* nohup -- run a command immune to hangups, with output to a non-tty Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include #include #include #include #include "system.h" #include "cloexec.h" #include "error.h" #include "filenamecat.h" #include "fd-reopen.h" #include "long-options.h" #include "quote.h" #include "unistd--.h" #define PROGRAM_NAME "nohup" #define AUTHORS proper_name ("Jim Meyering") /* Exit statuses. */ enum { /* 'nohup' itself failed. */ POSIX_NOHUP_FAILURE = 127 }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s COMMAND [ARG]...\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Run COMMAND, ignoring hangup signals.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\n\ If standard input is a terminal, redirect it from /dev/null.\n\ If standard output is a terminal, append output to 'nohup.out' if possible,\n\ '$HOME/nohup.out' otherwise.\n\ If standard error is a terminal, redirect it to standard output.\n\ To save output to FILE, use '%s COMMAND > FILE'.\n"), program_name); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int out_fd = STDOUT_FILENO; int saved_stderr_fd = STDERR_FILENO; bool ignoring_input; bool redirecting_stdout; bool stdout_is_closed; bool redirecting_stderr; int exit_internal_failure; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); /* POSIX 2008 requires that internal failure give status 127; unlike for env, exec, nice, time, and xargs where it requires internal failure give something in the range 1-125. For consistency with other tools, fail with EXIT_CANCELED unless POSIXLY_CORRECT. */ exit_internal_failure = (getenv ("POSIXLY_CORRECT") ? POSIX_NOHUP_FAILURE : EXIT_CANCELED); initialize_exit_failure (exit_internal_failure); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "+", NULL, NULL) != -1) usage (exit_internal_failure); if (argc <= optind) { error (0, 0, _("missing operand")); usage (exit_internal_failure); } ignoring_input = isatty (STDIN_FILENO); redirecting_stdout = isatty (STDOUT_FILENO); stdout_is_closed = (!redirecting_stdout && errno == EBADF); redirecting_stderr = isatty (STDERR_FILENO); /* If standard input is a tty, replace it with /dev/null if possible. Note that it is deliberately opened for *writing*, to ensure any read evokes an error. */ if (ignoring_input) { if (fd_reopen (STDIN_FILENO, "/dev/null", O_WRONLY, 0) < 0) { error (0, errno, _("failed to render standard input unusable")); exit (exit_internal_failure); } if (!redirecting_stdout && !redirecting_stderr) error (0, 0, _("ignoring input")); } /* If standard output is a tty, redirect it (appending) to a file. First try nohup.out, then $HOME/nohup.out. If standard error is a tty and standard output is closed, open nohup.out or $HOME/nohup.out without redirecting anything. */ if (redirecting_stdout || (redirecting_stderr && stdout_is_closed)) { char *in_home = NULL; char const *file = "nohup.out"; int flags = O_CREAT | O_WRONLY | O_APPEND; mode_t mode = S_IRUSR | S_IWUSR; mode_t umask_value = umask (~mode); out_fd = (redirecting_stdout ? fd_reopen (STDOUT_FILENO, file, flags, mode) : open (file, flags, mode)); if (out_fd < 0) { int saved_errno = errno; char const *home = getenv ("HOME"); if (home) { in_home = file_name_concat (home, file, NULL); out_fd = (redirecting_stdout ? fd_reopen (STDOUT_FILENO, in_home, flags, mode) : open (in_home, flags, mode)); } if (out_fd < 0) { int saved_errno2 = errno; error (0, saved_errno, _("failed to open %s"), quote (file)); if (in_home) error (0, saved_errno2, _("failed to open %s"), quote (in_home)); exit (exit_internal_failure); } file = in_home; } umask (umask_value); error (0, 0, _(ignoring_input ? N_("ignoring input and appending output to %s") : N_("appending output to %s")), quote (file)); free (in_home); } /* If standard error is a tty, redirect it. */ if (redirecting_stderr) { /* Save a copy of stderr before redirecting, so we can use the original if execve fails. It's no big deal if this dup fails. It might not change anything, and at worst, it'll lead to suppression of the post-failed-execve diagnostic. */ saved_stderr_fd = dup (STDERR_FILENO); if (0 <= saved_stderr_fd && set_cloexec_flag (saved_stderr_fd, true) != 0) error (exit_internal_failure, errno, _("failed to set the copy of stderr to close on exec")); if (!redirecting_stdout) error (0, 0, _(ignoring_input ? N_("ignoring input and redirecting stderr to stdout") : N_("redirecting stderr to stdout"))); if (dup2 (out_fd, STDERR_FILENO) < 0) error (exit_internal_failure, errno, _("failed to redirect standard error")); if (stdout_is_closed) close (out_fd); } /* error() flushes stderr, but does not check for write failure. Normally, we would catch this via our atexit() hook of close_stdout, but execvp() gets in the way. If stderr encountered a write failure, there is no need to try calling error() again, particularly since we may have just changed the underlying fd out from under stderr. */ if (ferror (stderr)) exit (exit_internal_failure); signal (SIGHUP, SIG_IGN); { int exit_status; int saved_errno; char **cmd = argv + optind; execvp (*cmd, cmd); exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); saved_errno = errno; /* The execve failed. Output a diagnostic to stderr only if: - stderr was initially redirected to a non-tty, or - stderr was initially directed to a tty, and we can dup2 it to point back to that same tty. In other words, output the diagnostic if possible, but only if it will go to the original stderr. */ if (dup2 (saved_stderr_fd, STDERR_FILENO) == STDERR_FILENO) error (0, saved_errno, _("failed to run command %s"), quote (*cmd)); exit (exit_status); } } coreutils-8.21/src/shred.c0000664000000000000000000011235412102337340012407 00000000000000/* shred.c - overwrite files and devices to make it harder to recover data Copyright (C) 1999-2013 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999 Colin Plumb. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Colin Plumb. */ /* * Do a more secure overwrite of given files or devices, to make it harder * for even very expensive hardware probing to recover the data. * * Although this process is also known as "wiping", I prefer the longer * name both because I think it is more evocative of what is happening and * because a longer name conveys a more appropriate sense of deliberateness. * * For the theory behind this, see "Secure Deletion of Data from Magnetic * and Solid-State Memory", on line at * http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html * * Just for the record, reversing one or two passes of disk overwrite * is not terribly difficult with hardware help. Hook up a good-quality * digitizing oscilloscope to the output of the head preamplifier and copy * the high-res digitized data to a computer for some off-line analysis. * Read the "current" data and average all the pulses together to get an * "average" pulse on the disk. Subtract this average pulse from all of * the actual pulses and you can clearly see the "echo" of the previous * data on the disk. * * Real hard drives have to balance the cost of the media, the head, * and the read circuitry. They use better-quality media than absolutely * necessary to limit the cost of the read circuitry. By throwing that * assumption out, and the assumption that you want the data processed * as fast as the hard drive can spin, you can do better. * * If asked to wipe a file, this also unlinks it, renaming it to in a * clever way to try to leave no trace of the original filename. * * This was inspired by a desire to improve on some code titled: * Wipe V1.0-- Overwrite and delete files. S. 2/3/96 * but I've rewritten everything here so completely that no trace of * the original remains. * * Thanks to: * Bob Jenkins, for his good RNG work and patience with the FSF copyright * paperwork. * Jim Meyering, for his work merging this into the GNU fileutils while * still letting me feel a sense of ownership and pride. Getting me to * tolerate the GNU brace style was quite a feat of diplomacy. * Paul Eggert, for lots of useful discussion and code. I disagree with * an awful lot of his suggestions, but they're disagreements worth having. * * Things to think about: * - Security: Is there any risk to the race * between overwriting and unlinking a file? Will it do anything * drastically bad if told to attack a named pipe or socket? */ /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "shred" #define AUTHORS proper_name ("Colin Plumb") #include #include #include #include #include #include #include "system.h" #include "xstrtol.h" #include "error.h" #include "fcntl--.h" #include "human.h" #include "quotearg.h" /* For quotearg_colon */ #include "randint.h" #include "randread.h" #include "stat-size.h" /* Default number of times to overwrite. */ enum { DEFAULT_PASSES = 3 }; /* How many seconds to wait before checking whether to output another verbose output line. */ enum { VERBOSE_UPDATE = 5 }; /* Sector size and corresponding mask, for recovering after write failures. The size must be a power of 2. */ enum { SECTOR_SIZE = 512 }; enum { SECTOR_MASK = SECTOR_SIZE - 1 }; verify (0 < SECTOR_SIZE && (SECTOR_SIZE & SECTOR_MASK) == 0); struct Options { bool force; /* -f flag: chmod files if necessary */ size_t n_iterations; /* -n flag: Number of iterations */ off_t size; /* -s flag: size of file */ bool remove_file; /* -u flag: remove file after shredding */ bool verbose; /* -v flag: Print progress */ bool exact; /* -x flag: Do not round up file size */ bool zero_fill; /* -z flag: Add a final zero pass */ }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { RANDOM_SOURCE_OPTION = CHAR_MAX + 1 }; static struct option const long_opts[] = { {"exact", no_argument, NULL, 'x'}, {"force", no_argument, NULL, 'f'}, {"iterations", required_argument, NULL, 'n'}, {"size", required_argument, NULL, 's'}, {"random-source", required_argument, NULL, RANDOM_SOURCE_OPTION}, {"remove", no_argument, NULL, 'u'}, {"verbose", no_argument, NULL, 'v'}, {"zero", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("\ Overwrite the specified FILE(s) repeatedly, in order to make it harder\n\ for even very expensive hardware probing to recover the data.\n\ "), stdout); emit_mandatory_arg_note (); printf (_("\ -f, --force change permissions to allow writing if necessary\n\ -n, --iterations=N overwrite N times instead of the default (%d)\n\ --random-source=FILE get random bytes from FILE\n\ -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n\ "), DEFAULT_PASSES); fputs (_("\ -u, --remove truncate and remove file after overwriting\n\ -v, --verbose show progress\n\ -x, --exact do not round file sizes up to the next full block;\n\ this is the default for non-regular files\n\ -z, --zero add a final overwrite with zeros to hide shredding\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If FILE is -, shred standard output.\n\ \n\ Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n\ the files because it is common to operate on device files like /dev/hda,\n\ and those files usually should not be removed. When operating on regular\n\ files, most people use the --remove option.\n\ \n\ "), stdout); fputs (_("\ CAUTION: Note that shred relies on a very important assumption:\n\ that the file system overwrites data in place. This is the traditional\n\ way to do things, but many modern file system designs do not satisfy this\n\ assumption. The following are examples of file systems on which shred is\n\ not effective, or is not guaranteed to be effective in all file system modes:\n\ \n\ "), stdout); fputs (_("\ * log-structured or journaled file systems, such as those supplied with\n\ AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n\ \n\ * file systems that write redundant data and carry on even if some writes\n\ fail, such as RAID-based file systems\n\ \n\ * file systems that make snapshots, such as Network Appliance's NFS server\n\ \n\ "), stdout); fputs (_("\ * file systems that cache in temporary locations, such as NFS\n\ version 3 clients\n\ \n\ * compressed file systems\n\ \n\ "), stdout); fputs (_("\ In the case of ext3 file systems, the above disclaimer applies\n\ (and shred is thus of limited effectiveness) only in data=journal mode,\n\ which journals file data in addition to just metadata. In both the\n\ data=ordered (default) and data=writeback modes, shred works as usual.\n\ Ext3 journaling modes can be changed by adding the data=something option\n\ to the mount options for a particular file system in the /etc/fstab file,\n\ as documented in the mount man page (man mount).\n\ \n\ "), stdout); fputs (_("\ In addition, file system backups and remote mirrors may contain copies\n\ of the file that cannot be removed, and that will allow a shredded file\n\ to be recovered later.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* * Fill a buffer with a fixed pattern. * * The buffer must be at least 3 bytes long, even if * size is less. Larger sizes are filled exactly. */ static void fillpattern (int type, unsigned char *r, size_t size) { size_t i; unsigned int bits = type & 0xfff; bits |= bits << 12; r[0] = (bits >> 4) & 255; r[1] = (bits >> 8) & 255; r[2] = bits & 255; for (i = 3; i < size / 2; i *= 2) memcpy (r + i, r, i); if (i < size) memcpy (r + i, r, size - i); /* Invert the first bit of every sector. */ if (type & 0x1000) for (i = 0; i < size; i += SECTOR_SIZE) r[i] ^= 0x80; } /* * Generate a 6-character (+ nul) pass name string * FIXME: allow translation of "random". */ #define PASS_NAME_SIZE 7 static void passname (unsigned char const *data, char name[PASS_NAME_SIZE]) { if (data) sprintf (name, "%02x%02x%02x", data[0], data[1], data[2]); else memcpy (name, "random", PASS_NAME_SIZE); } /* Return true when it's ok to ignore an fsync or fdatasync failure that set errno to ERRNO_VAL. */ static bool ignorable_sync_errno (int errno_val) { return (errno_val == EINVAL || errno_val == EBADF /* HP-UX does this */ || errno_val == EISDIR); } /* Request that all data for FD be transferred to the corresponding storage device. QNAME is the file name (quoted for colons). Report any errors found. Return 0 on success, -1 (setting errno) on failure. It is not an error if fdatasync and/or fsync is not supported for this file, or if the file is not a writable file descriptor. */ static int dosync (int fd, char const *qname) { int err; #if HAVE_FDATASYNC if (fdatasync (fd) == 0) return 0; err = errno; if ( ! ignorable_sync_errno (err)) { error (0, err, _("%s: fdatasync failed"), qname); errno = err; return -1; } #endif if (fsync (fd) == 0) return 0; err = errno; if ( ! ignorable_sync_errno (err)) { error (0, err, _("%s: fsync failed"), qname); errno = err; return -1; } sync (); return 0; } /* Turn on or off direct I/O mode for file descriptor FD, if possible. Try to turn it on if ENABLE is true. Otherwise, try to turn it off. */ static void direct_mode (int fd, bool enable) { if (O_DIRECT) { int fd_flags = fcntl (fd, F_GETFL); if (0 < fd_flags) { int new_flags = (enable ? (fd_flags | O_DIRECT) : (fd_flags & ~O_DIRECT)); if (new_flags != fd_flags) fcntl (fd, F_SETFL, new_flags); } } #if HAVE_DIRECTIO && defined DIRECTIO_ON && defined DIRECTIO_OFF /* This is Solaris-specific. See the following for details: http://docs.sun.com/db/doc/816-0213/6m6ne37so?q=directio&a=view */ directio (fd, enable ? DIRECTIO_ON : DIRECTIO_OFF); #endif } /* * Do pass number k of n, writing "size" bytes of the given pattern "type" * to the file descriptor fd. Qname, k and n are passed in only for verbose * progress message purposes. If n == 0, no progress messages are printed. * * If *sizep == -1, the size is unknown, and it will be filled in as soon * as writing fails. * * Return 1 on write error, -1 on other error, 0 on success. */ static int dopass (int fd, char const *qname, off_t *sizep, int type, struct randread_source *s, unsigned long int k, unsigned long int n) { off_t size = *sizep; off_t offset; /* Current file posiiton */ time_t thresh IF_LINT ( = 0); /* Time to maybe print next status update */ time_t now = 0; /* Current time */ size_t lim; /* Amount of data to try writing */ size_t soff; /* Offset into buffer for next write */ ssize_t ssize; /* Return value from write */ /* Fill pattern buffer. Aligning it to a 32-bit boundary speeds up randread in some cases. */ typedef uint32_t fill_pattern_buffer[3 * 1024]; union { fill_pattern_buffer buffer; char c[sizeof (fill_pattern_buffer)]; unsigned char u[sizeof (fill_pattern_buffer)]; } r; off_t sizeof_r = sizeof r; char pass_string[PASS_NAME_SIZE]; /* Name of current pass */ bool write_error = false; bool first_write = true; /* Printable previous offset into the file */ char previous_offset_buf[LONGEST_HUMAN_READABLE + 1]; char const *previous_human_offset IF_LINT ( = 0); if (lseek (fd, 0, SEEK_SET) == -1) { error (0, errno, _("%s: cannot rewind"), qname); return -1; } /* Constant fill patterns need only be set up once. */ if (type >= 0) { lim = (0 <= size && size < sizeof_r ? size : sizeof_r); fillpattern (type, r.u, lim); passname (r.u, pass_string); } else { passname (0, pass_string); } /* Set position if first status update */ if (n) { error (0, 0, _("%s: pass %lu/%lu (%s)..."), qname, k, n, pass_string); thresh = time (NULL) + VERBOSE_UPDATE; previous_human_offset = ""; } offset = 0; while (true) { /* How much to write this time? */ lim = sizeof r; if (0 <= size && size - offset < sizeof_r) { if (size < offset) break; lim = size - offset; if (!lim) break; } if (type < 0) randread (s, &r, lim); /* Loop to retry partial writes. */ for (soff = 0; soff < lim; soff += ssize, first_write = false) { ssize = write (fd, r.c + soff, lim - soff); if (ssize <= 0) { if (size < 0 && (ssize == 0 || errno == ENOSPC)) { /* Ah, we have found the end of the file */ *sizep = size = offset + soff; break; } else { int errnum = errno; char buf[INT_BUFSIZE_BOUND (uintmax_t)]; /* If the first write of the first pass for a given file has just failed with EINVAL, turn off direct mode I/O and try again. This works around a bug in Linux kernel 2.4 whereby opening with O_DIRECT would succeed for some file system types (e.g., ext3), but any attempt to access a file through the resulting descriptor would fail with EINVAL. */ if (k == 1 && first_write && errno == EINVAL) { direct_mode (fd, false); ssize = 0; continue; } error (0, errnum, _("%s: error writing at offset %s"), qname, umaxtostr (offset + soff, buf)); /* 'shred' is often used on bad media, before throwing it out. Thus, it shouldn't give up on bad blocks. This code works because lim is always a multiple of SECTOR_SIZE, except at the end. */ verify (sizeof r % SECTOR_SIZE == 0); if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim) { size_t soff1 = (soff | SECTOR_MASK) + 1; if (lseek (fd, offset + soff1, SEEK_SET) != -1) { /* Arrange to skip this block. */ ssize = soff1 - soff; write_error = true; continue; } error (0, errno, _("%s: lseek failed"), qname); } return -1; } } } /* Okay, we have written "soff" bytes. */ if (offset > OFF_T_MAX - (off_t) soff) { error (0, 0, _("%s: file too large"), qname); return -1; } offset += soff; bool done = offset == size; /* Time to print progress? */ if (n && ((done && *previous_human_offset) || thresh <= (now = time (NULL)))) { char offset_buf[LONGEST_HUMAN_READABLE + 1]; char size_buf[LONGEST_HUMAN_READABLE + 1]; int human_progress_opts = (human_autoscale | human_SI | human_base_1024 | human_B); char const *human_offset = human_readable (offset, offset_buf, human_floor | human_progress_opts, 1, 1); if (done || !STREQ (previous_human_offset, human_offset)) { if (size < 0) error (0, 0, _("%s: pass %lu/%lu (%s)...%s"), qname, k, n, pass_string, human_offset); else { uintmax_t off = offset; int percent = (size == 0 ? 100 : (off <= TYPE_MAXIMUM (uintmax_t) / 100 ? off * 100 / size : off / (size / 100))); char const *human_size = human_readable (size, size_buf, human_ceiling | human_progress_opts, 1, 1); if (done) human_offset = human_size; error (0, 0, _("%s: pass %lu/%lu (%s)...%s/%s %d%%"), qname, k, n, pass_string, human_offset, human_size, percent); } strcpy (previous_offset_buf, human_offset); previous_human_offset = previous_offset_buf; thresh = now + VERBOSE_UPDATE; /* * Force periodic syncs to keep displayed progress accurate * FIXME: Should these be present even if -v is not enabled, * to keep the buffer cache from filling with dirty pages? * It's a common problem with programs that do lots of writes, * like mkfs. */ if (dosync (fd, qname) != 0) { if (errno != EIO) return -1; write_error = true; } } } } /* Force what we just wrote to hit the media. */ if (dosync (fd, qname) != 0) { if (errno != EIO) return -1; write_error = true; } return write_error; } /* * The passes start and end with a random pass, and the passes in between * are done in random order. The idea is to deprive someone trying to * reverse the process of knowledge of the overwrite patterns, so they * have the additional step of figuring out what was done to the disk * before they can try to reverse or cancel it. * * First, all possible 1-bit patterns. There are two of them. * Then, all possible 2-bit patterns. There are four, but the two * which are also 1-bit patterns can be omitted. * Then, all possible 3-bit patterns. Likewise, 8-2 = 6. * Then, all possible 4-bit patterns. 16-4 = 12. * * The basic passes are: * 1-bit: 0x000, 0xFFF * 2-bit: 0x555, 0xAAA * 3-bit: 0x249, 0x492, 0x924, 0x6DB, 0xB6D, 0xDB6 (+ 1-bit) * 100100100100 110110110110 * 9 2 4 D B 6 * 4-bit: 0x111, 0x222, 0x333, 0x444, 0x666, 0x777, * 0x888, 0x999, 0xBBB, 0xCCC, 0xDDD, 0xEEE (+ 1-bit, 2-bit) * Adding three random passes at the beginning, middle and end * produces the default 25-pass structure. * * The next extension would be to 5-bit and 6-bit patterns. * There are 30 uncovered 5-bit patterns and 64-8-2 = 46 uncovered * 6-bit patterns, so they would increase the time required * significantly. 4-bit patterns are enough for most purposes. * * The main gotcha is that this would require a trickier encoding, * since lcm(2,3,4) = 12 bits is easy to fit into an int, but * lcm(2,3,4,5) = 60 bits is not. * * One extension that is included is to complement the first bit in each * 512-byte block, to alter the phase of the encoded data in the more * complex encodings. This doesn't apply to MFM, so the 1-bit patterns * are considered part of the 3-bit ones and the 2-bit patterns are * considered part of the 4-bit patterns. * * * How does the generalization to variable numbers of passes work? * * Here's how... * Have an ordered list of groups of passes. Each group is a set. * Take as many groups as will fit, plus a random subset of the * last partial group, and place them into the passes list. * Then shuffle the passes list into random order and use that. * * One extra detail: if we can't include a large enough fraction of the * last group to be interesting, then just substitute random passes. * * If you want more passes than the entire list of groups can * provide, just start repeating from the beginning of the list. */ static int const patterns[] = { -2, /* 2 random passes */ 2, 0x000, 0xFFF, /* 1-bit */ 2, 0x555, 0xAAA, /* 2-bit */ -1, /* 1 random pass */ 6, 0x249, 0x492, 0x6DB, 0x924, 0xB6D, 0xDB6, /* 3-bit */ 12, 0x111, 0x222, 0x333, 0x444, 0x666, 0x777, 0x888, 0x999, 0xBBB, 0xCCC, 0xDDD, 0xEEE, /* 4-bit */ -1, /* 1 random pass */ /* The following patterns have the frst bit per block flipped */ 8, 0x1000, 0x1249, 0x1492, 0x16DB, 0x1924, 0x1B6D, 0x1DB6, 0x1FFF, 14, 0x1111, 0x1222, 0x1333, 0x1444, 0x1555, 0x1666, 0x1777, 0x1888, 0x1999, 0x1AAA, 0x1BBB, 0x1CCC, 0x1DDD, 0x1EEE, -1, /* 1 random pass */ 0 /* End */ }; /* * Generate a random wiping pass pattern with num passes. * This is a two-stage process. First, the passes to include * are chosen, and then they are shuffled into the desired * order. */ static void genpattern (int *dest, size_t num, struct randint_source *s) { size_t randpasses; int const *p; int *d; size_t n; size_t accum, top, swap; int k; if (!num) return; /* Stage 1: choose the passes to use */ p = patterns; randpasses = 0; d = dest; /* Destination for generated pass list */ n = num; /* Passes remaining to fill */ while (true) { k = *p++; /* Block descriptor word */ if (!k) { /* Loop back to the beginning */ p = patterns; } else if (k < 0) { /* -k random passes */ k = -k; if ((size_t) k >= n) { randpasses += n; break; } randpasses += k; n -= k; } else if ((size_t) k <= n) { /* Full block of patterns */ memcpy (d, p, k * sizeof (int)); p += k; d += k; n -= k; } else if (n < 2 || 3 * n < (size_t) k) { /* Finish with random */ randpasses += n; break; } else { /* Pad out with k of the n available */ do { if (n == (size_t) k || randint_choose (s, k) < n) { *d++ = *p; n--; } p++; } while (n); break; } } top = num - randpasses; /* Top of initialized data */ /* assert (d == dest+top); */ /* * We now have fixed patterns in the dest buffer up to * "top", and we need to scramble them, with "randpasses" * random passes evenly spaced among them. * * We want one at the beginning, one at the end, and * evenly spaced in between. To do this, we basically * use Bresenham's line draw (a.k.a DDA) algorithm * to draw a line with slope (randpasses-1)/(num-1). * (We use a positive accumulator and count down to * do this.) * * So for each desired output value, we do the following: * - If it should be a random pass, copy the pass type * to top++, out of the way of the other passes, and * set the current pass to -1 (random). * - If it should be a normal pattern pass, choose an * entry at random between here and top-1 (inclusive) * and swap the current entry with that one. */ randpasses--; /* To speed up later math */ accum = randpasses; /* Bresenham DDA accumulator */ for (n = 0; n < num; n++) { if (accum <= randpasses) { accum += num - 1; dest[top++] = dest[n]; dest[n] = -1; } else { swap = n + randint_choose (s, top - n); k = dest[n]; dest[n] = dest[swap]; dest[swap] = k; } accum -= randpasses; } /* assert (top == num); */ } /* * The core routine to actually do the work. This overwrites the first * size bytes of the given fd. Return true if successful. */ static bool do_wipefd (int fd, char const *qname, struct randint_source *s, struct Options const *flags) { size_t i; struct stat st; off_t size; /* Size to write, size to read */ unsigned long int n; /* Number of passes for printing purposes */ int *passarray; bool ok = true; struct randread_source *rs; n = 0; /* dopass takes n -- 0 to mean "don't print progress" */ if (flags->verbose) n = flags->n_iterations + flags->zero_fill; if (fstat (fd, &st)) { error (0, errno, _("%s: fstat failed"), qname); return false; } /* If we know that we can't possibly shred the file, give up now. Otherwise, we may go into an infinite loop writing data before we find that we can't rewind the device. */ if ((S_ISCHR (st.st_mode) && isatty (fd)) || S_ISFIFO (st.st_mode) || S_ISSOCK (st.st_mode)) { error (0, 0, _("%s: invalid file type"), qname); return false; } direct_mode (fd, true); /* Allocate pass array */ passarray = xnmalloc (flags->n_iterations, sizeof *passarray); size = flags->size; if (size == -1) { /* Accept a length of zero only if it's a regular file. For any other type of file, try to get the size another way. */ if (S_ISREG (st.st_mode)) { size = st.st_size; if (size < 0) { error (0, 0, _("%s: file has negative size"), qname); return false; } } else { size = lseek (fd, 0, SEEK_END); if (size <= 0) { /* We are unable to determine the length, up front. Let dopass do that as part of its first iteration. */ size = -1; } } /* Allow 'rounding up' only for regular files. */ if (0 <= size && !(flags->exact) && S_ISREG (st.st_mode)) { size += ST_BLKSIZE (st) - 1 - (size - 1) % ST_BLKSIZE (st); /* If in rounding up, we've just overflowed, use the maximum. */ if (size < 0) size = TYPE_MAXIMUM (off_t); } } /* Schedule the passes in random order. */ genpattern (passarray, flags->n_iterations, s); rs = randint_get_source (s); /* Do the work */ for (i = 0; i < flags->n_iterations; i++) { int err = dopass (fd, qname, &size, passarray[i], rs, i + 1, n); if (err) { if (err < 0) { memset (passarray, 0, flags->n_iterations * sizeof (int)); free (passarray); return false; } ok = false; } } memset (passarray, 0, flags->n_iterations * sizeof (int)); free (passarray); if (flags->zero_fill) { int err = dopass (fd, qname, &size, 0, rs, flags->n_iterations + 1, n); if (err) { if (err < 0) return false; ok = false; } } /* Okay, now deallocate the data. The effect of ftruncate on non-regular files is unspecified, so don't worry about any errors reported for them. */ if (flags->remove_file && ftruncate (fd, 0) != 0 && S_ISREG (st.st_mode)) { error (0, errno, _("%s: error truncating"), qname); return false; } return ok; } /* A wrapper with a little more checking for fds on the command line */ static bool wipefd (int fd, char const *qname, struct randint_source *s, struct Options const *flags) { int fd_flags = fcntl (fd, F_GETFL); if (fd_flags < 0) { error (0, errno, _("%s: fcntl failed"), qname); return false; } if (fd_flags & O_APPEND) { error (0, 0, _("%s: cannot shred append-only file descriptor"), qname); return false; } return do_wipefd (fd, qname, s, flags); } /* --- Name-wiping code --- */ /* Characters allowed in a file name - a safe universal set. */ static char const nameset[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_."; /* Increment NAME (with LEN bytes). NAME must be a big-endian base N number with the digits taken from nameset. Return true if successful. Otherwise, (because NAME already has the greatest possible value) return false. */ static bool incname (char *name, size_t len) { while (len--) { char const *p = strchr (nameset, name[len]); /* Given that NAME is composed of bytes from NAMESET, P will never be NULL here. */ assert (p); /* If this character has a successor, use it. */ if (p[1]) { name[len] = p[1]; return true; } /* Otherwise, set this digit to 0 and increment the prefix. */ name[len] = nameset[0]; } return false; } /* * Repeatedly rename a file with shorter and shorter names, * to obliterate all traces of the file name on any system that * adds a trailing delimiter to on-disk file names and reuses * the same directory slot. Finally, unlink it. * The passed-in filename is modified in place to the new filename. * (Which is unlinked if this function succeeds, but is still present if * it fails for some reason.) * * The main loop is written carefully to not get stuck if all possible * names of a given length are occupied. It counts down the length from * the original to 0. While the length is non-zero, it tries to find an * unused file name of the given length. It continues until either the * name is available and the rename succeeds, or it runs out of names * to try (incname wraps and returns 1). Finally, it unlinks the file. * * The unlink is Unix-specific, as ANSI-standard remove has more * portability problems with C libraries making it "safe". rename * is ANSI-standard. * * To force the directory data out, we try to open the directory and * invoke fdatasync and/or fsync on it. This is non-standard, so don't * insist that it works: just fall back to a global sync in that case. * This is fairly significantly Unix-specific. Of course, on any * file system with synchronous metadata updates, this is unnecessary. */ static bool wipename (char *oldname, char const *qoldname, struct Options const *flags) { char *newname = xstrdup (oldname); char *base = last_component (newname); size_t len = base_len (base); char *dir = dir_name (newname); char *qdir = xstrdup (quotearg_colon (dir)); bool first = true; bool ok = true; int dir_fd = open (dir, O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); if (flags->verbose) error (0, 0, _("%s: removing"), qoldname); while (len) { memset (base, nameset[0], len); base[len] = 0; do { struct stat st; if (lstat (newname, &st) < 0) { if (rename (oldname, newname) == 0) { if (0 <= dir_fd && dosync (dir_fd, qdir) != 0) ok = false; if (flags->verbose) { /* * People seem to understand this better than talking * about renaming oldname. newname doesn't need * quoting because we picked it. oldname needs to * be quoted only the first time. */ char const *old = (first ? qoldname : oldname); error (0, 0, _("%s: renamed to %s"), old, newname); first = false; } memcpy (oldname + (base - newname), base, len + 1); break; } else { /* The rename failed: give up on this length. */ break; } } else { /* newname exists, so increment BASE so we use another */ } } while (incname (base, len)); len--; } if (unlink (oldname) != 0) { error (0, errno, _("%s: failed to remove"), qoldname); ok = false; } else if (flags->verbose) error (0, 0, _("%s: removed"), qoldname); if (0 <= dir_fd) { if (dosync (dir_fd, qdir) != 0) ok = false; if (close (dir_fd) != 0) { error (0, errno, _("%s: failed to close"), qdir); ok = false; } } free (newname); free (dir); free (qdir); return ok; } /* * Finally, the function that actually takes a filename and grinds * it into hamburger. * * FIXME * Detail to note: since we do not restore errno to EACCES after * a failed chmod, we end up printing the error code from the chmod. * This is actually the error that stopped us from proceeding, so * it's arguably the right one, and in practice it'll be either EACCES * again or EPERM, which both give similar error messages. * Does anyone disagree? */ static bool wipefile (char *name, char const *qname, struct randint_source *s, struct Options const *flags) { bool ok; int fd; fd = open (name, O_WRONLY | O_NOCTTY | O_BINARY); if (fd < 0 && (errno == EACCES && flags->force) && chmod (name, S_IWUSR) == 0) fd = open (name, O_WRONLY | O_NOCTTY | O_BINARY); if (fd < 0) { error (0, errno, _("%s: failed to open for writing"), qname); return false; } ok = do_wipefd (fd, qname, s, flags); if (close (fd) != 0) { error (0, errno, _("%s: failed to close"), qname); ok = false; } if (ok && flags->remove_file) ok = wipename (name, qname, flags); return ok; } /* Buffers for random data. */ static struct randint_source *randint_source; /* Just on general principles, wipe buffers containing information that may be related to the possibly-pseudorandom values used during shredding. */ static void clear_random_data (void) { randint_all_free (randint_source); } int main (int argc, char **argv) { bool ok = true; struct Options flags = { 0, }; char **file; int n_files; int c; int i; char const *random_source = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); flags.n_iterations = DEFAULT_PASSES; flags.size = -1; while ((c = getopt_long (argc, argv, "fn:s:uvxz", long_opts, NULL)) != -1) { switch (c) { case 'f': flags.force = true; break; case 'n': { uintmax_t tmp; if (xstrtoumax (optarg, NULL, 10, &tmp, NULL) != LONGINT_OK || MIN (UINT32_MAX, SIZE_MAX / sizeof (int)) < tmp) { error (EXIT_FAILURE, 0, _("%s: invalid number of passes"), quotearg_colon (optarg)); } flags.n_iterations = tmp; } break; case RANDOM_SOURCE_OPTION: if (random_source && !STREQ (random_source, optarg)) error (EXIT_FAILURE, 0, _("multiple random sources specified")); random_source = optarg; break; case 'u': flags.remove_file = true; break; case 's': { uintmax_t tmp; if (xstrtoumax (optarg, NULL, 0, &tmp, "cbBkKMGTPEZY0") != LONGINT_OK) { error (EXIT_FAILURE, 0, _("%s: invalid file size"), quotearg_colon (optarg)); } flags.size = tmp; } break; case 'v': flags.verbose = true; break; case 'x': flags.exact = true; break; case 'z': flags.zero_fill = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } file = argv + optind; n_files = argc - optind; if (n_files == 0) { error (0, 0, _("missing file operand")); usage (EXIT_FAILURE); } randint_source = randint_all_new (random_source, SIZE_MAX); if (! randint_source) error (EXIT_FAILURE, errno, "%s", quotearg_colon (random_source)); atexit (clear_random_data); for (i = 0; i < n_files; i++) { char *qname = xstrdup (quotearg_colon (file[i])); if (STREQ (file[i], "-")) { ok &= wipefd (STDOUT_FILENO, qname, randint_source, &flags); } else { /* Plain filename - Note that this overwrites *argv! */ ok &= wipefile (file[i], qname, randint_source, &flags); } free (qname); } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* * vim:sw=2:sts=2: */ coreutils-8.21/src/ioblksize.h0000664000000000000000000000522612102337340013301 00000000000000/* I/O block size definitions for coreutils Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Include this file _after_ system headers if possible. */ /* sys/stat.h will already have been included by system.h. */ #include "stat-size.h" /* As of Jul 2011, 64KiB is determined to be the minimium blksize to best minimize system call overhead. This can be tested with this script: for i in $(seq 0 10); do bs=$((1024*2**$i)) printf "%7s=" $bs timeout --foreground -sINT 2 \ dd bs=$bs if=/dev/zero of=/dev/null 2>&1 \ | sed -n 's/.* \([0-9.]* [GM]B\/s\)/\1/p' done With the results shown for these systems: system-1 = 1.7GHz pentium-m with 400MHz DDR2 RAM, arch=i686 system-2 = 2.1GHz i3-2310M with 1333MHz DDR3 RAM, arch=x86_64 system-3 = 3.2GHz i7-970 with 1333MHz DDR3, arch=x86_64 blksize system-1 system-2 system-3 --------------------------------------- 1024 734 MB/s 1.7 GB/s 2.6 GB/s 2048 1.3 GB/s 3.0 GB/s 4.4 GB/s 4096 2.4 GB/s 5.1 GB/s 6.5 GB/s 8192 3.5 GB/s 7.3 GB/s 8.5 GB/s 16384 3.9 GB/s 9.4 GB/s 10.1 GB/s 32768 5.2 GB/s 9.9 GB/s 11.1 GB/s 65536 5.3 GB/s 11.2 GB/s 12.0 GB/s 131072 5.5 GB/s 11.8 GB/s 12.3 GB/s 262144 5.7 GB/s 11.6 GB/s 12.5 GB/s 524288 5.7 GB/s 11.4 GB/s 12.5 GB/s 1048576 5.8 GB/s 11.4 GB/s 12.6 GB/s Note that this is to minimize system call overhead. Other values may be appropriate to minimize file system or disk overhead. For example on my current GNU/Linux system the readahead setting is 128KiB which was read using: file="." device=$(df -P --local "$file" | tail -n1 | cut -d' ' -f1) echo $(( $(blockdev --getra $device) * 512 )) However there isn't a portable way to get the above. In the future we could use the above method if available and default to io_blksize() if not. */ enum { IO_BUFSIZE = 64*1024 }; static inline size_t io_blksize (struct stat sb) { return MAX (IO_BUFSIZE, ST_BLKSIZE (sb)); } coreutils-8.21/src/factor.c0000664000000000000000000022236412107174572012576 00000000000000/* factor -- print prime factors of n. Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Originally written by Paul Rubin . Adapted for GNU, fixed to factor UINT_MAX by Jim Meyering. Arbitrary-precision code adapted by James Youngman from Torbjörn Granlund's factorize.c, from GNU MP version 4.2.2. In 2012, the core was rewritten by Torbjörn Granlund and Niels Möller. Contains code from GNU MP. */ /* Efficiently factor numbers that fit in one or two words (word = uintmax_t), or, with GMP, numbers of any size. Code organisation: There are several variants of many functions, for handling one word, two words, and GMP's mpz_t type. If the one-word variant is called foo, the two-word variant will be foo2, and the one for mpz_t will be mp_foo. In some cases, the plain function variants will handle both one-word and two-word numbers, evidenced by function arguments. The factoring code for two words will fall into the code for one word when progress allows that. Using GMP is optional. Define HAVE_GMP to make this code include GMP factoring code. The GMP factoring code is based on GMP's demos/factorize.c (last synched 2012-09-07). The GMP-based factoring code will stay in GMP factoring code even if numbers get small enough for using the two-word code. Algorithm: (1) Perform trial division using a small primes table, but without hardware division since the primes table store inverses modulo the word base. (The GMP variant of this code doesn't make use of the precomputed inverses, but instead relies on GMP for fast divisibility testing.) (2) Check the nature of any non-factored part using Miller-Rabin for detecting composites, and Lucas for detecting primes. (3) Factor any remaining composite part using the Pollard-Brent rho algorithm or the SQUFOF algorithm, checking status of found factors again using Miller-Rabin and Lucas. We prefer using Hensel norm in the divisions, not the more familiar Euclidian norm, since the former leads to much faster code. In the Pollard-Brent rho code and the prime testing code, we use Montgomery's trick of multiplying all n-residues by the word base, allowing cheap Hensel reductions mod n. Improvements: * Use modular inverses also for exact division in the Lucas code, and elsewhere. A problem is to locate the inverses not from an index, but from a prime. We might instead compute the inverse on-the-fly. * Tune trial division table size (not forgetting that this is a standalone program where the table will be read from disk for each invocation). * Implement less naive powm, using k-ary exponentiation for k = 3 or perhaps k = 4. * Try to speed trial division code for single uintmax_t numbers, i.e., the code using DIVBLOCK. It currently runs at 2 cycles per prime (Intel SBR, IBR), 3 cycles per prime (AMD Stars) and 5 cycles per prime (AMD BD) when using gcc 4.6 and 4.7. Some software pipelining should help; 1, 2, and 4 respectively cycles ought to be possible. * The redcify function could be vastly improved by using (plain Euclidian) pre-inversion (such as GMP's invert_limb) and udiv_qrnnd_preinv (from GMP's gmp-impl.h). The redcify2 function could be vastly improved using similar methoods. These functions currently dominate run time when using the -w option. */ #include #include #include #if HAVE_GMP # include # if !HAVE_DECL_MPZ_INITS # include # endif #endif #include #include "system.h" #include "error.h" #include "quote.h" #include "readtokens.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "factor" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name_utf8 ("Niels Moller", "Niels M\303\266ller") /* Token delimiters when reading from a file. */ #define DELIM "\n\t " #ifndef STAT_SQUFOF # define STAT_SQUFOF 0 #endif #ifndef USE_LONGLONG_H /* With the way we use longlong.h, it's only safe to use when UWtype = UHWtype, as there were various cases (as can be seen in the history for longlong.h) where for example, _LP64 was required to enable W_TYPE_SIZE==64 code, to avoid compile time or run time issues. */ # if LONG_MAX == INTMAX_MAX # define USE_LONGLONG_H 1 # endif #endif #if USE_LONGLONG_H /* Make definitions for longlong.h to make it do what it can do for us */ /* bitcount for uintmax_t */ # if UINTMAX_MAX == UINT32_MAX # define W_TYPE_SIZE 32 # elif UINTMAX_MAX == UINT64_MAX # define W_TYPE_SIZE 64 # elif UINTMAX_MAX == UINT128_MAX # define W_TYPE_SIZE 128 # endif # define UWtype uintmax_t # define UHWtype unsigned long int # undef UDWtype # if HAVE_ATTRIBUTE_MODE typedef unsigned int UQItype __attribute__ ((mode (QI))); typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); # else typedef unsigned char UQItype; typedef long SItype; typedef unsigned long int USItype; # if HAVE_LONG_LONG_INT typedef long long int DItype; typedef unsigned long long int UDItype; # else /* Assume `long' gives us a wide enough type. Needed for hppa2.0w. */ typedef long int DItype; typedef unsigned long int UDItype; # endif # endif # define LONGLONG_STANDALONE /* Don't require GMP's longlong.h mdep files */ # define ASSERT(x) /* FIXME make longlong.h really standalone */ # define __GMP_DECLSPEC /* FIXME make longlong.h really standalone */ # define __clz_tab factor_clz_tab /* Rename to avoid glibc collision */ # ifndef __GMP_GNUC_PREREQ # define __GMP_GNUC_PREREQ(a,b) 1 # endif /* These stub macros are only used in longlong.h in certain system compiler combinations, so ensure usage to avoid -Wunused-macros warnings. */ # if __GMP_GNUC_PREREQ (1,1) && defined __clz_tab ASSERT (1) __GMP_DECLSPEC # endif # if _ARCH_PPC # define HAVE_HOST_CPU_FAMILY_powerpc 1 # endif # include "longlong.h" # ifdef COUNT_LEADING_ZEROS_NEED_CLZ_TAB const unsigned char factor_clz_tab[129] = { 1,2,3,3,4,4,4,4,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9 }; # endif #else /* not USE_LONGLONG_H */ # define W_TYPE_SIZE (8 * sizeof (uintmax_t)) # define __ll_B ((uintmax_t) 1 << (W_TYPE_SIZE / 2)) # define __ll_lowpart(t) ((uintmax_t) (t) & (__ll_B - 1)) # define __ll_highpart(t) ((uintmax_t) (t) >> (W_TYPE_SIZE / 2)) #endif #if !defined __clz_tab && !defined UHWtype /* Without this seemingly useless conditional, gcc -Wunused-macros warns that each of the two tested macros is unused on Fedora 18. FIXME: this is just an ugly band-aid. Fix it properly. */ #endif enum alg_type { ALG_POLLARD_RHO = 1, ALG_SQUFOF = 2 }; static enum alg_type alg; /* 2*3*5*7*11...*101 is 128 bits, and has 26 prime factors */ #define MAX_NFACTS 26 enum { DEV_DEBUG_OPTION = CHAR_MAX + 1 }; static struct option const long_options[] = { {"-debug", no_argument, NULL, DEV_DEBUG_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; struct factors { uintmax_t plarge[2]; /* Can have a single large factor */ uintmax_t p[MAX_NFACTS]; unsigned char e[MAX_NFACTS]; unsigned char nfactors; }; #if HAVE_GMP struct mp_factors { mpz_t *p; unsigned long int *e; unsigned long int nfactors; }; #endif static void factor (uintmax_t, uintmax_t, struct factors *); #ifndef umul_ppmm # define umul_ppmm(w1, w0, u, v) \ do { \ uintmax_t __x0, __x1, __x2, __x3; \ unsigned long int __ul, __vl, __uh, __vh; \ uintmax_t __u = (u), __v = (v); \ \ __ul = __ll_lowpart (__u); \ __uh = __ll_highpart (__u); \ __vl = __ll_lowpart (__v); \ __vh = __ll_highpart (__v); \ \ __x0 = (uintmax_t) __ul * __vl; \ __x1 = (uintmax_t) __ul * __vh; \ __x2 = (uintmax_t) __uh * __vl; \ __x3 = (uintmax_t) __uh * __vh; \ \ __x1 += __ll_highpart (__x0);/* this can't give carry */ \ __x1 += __x2; /* but this indeed can */ \ if (__x1 < __x2) /* did we get it? */ \ __x3 += __ll_B; /* yes, add it in the proper pos. */ \ \ (w1) = __x3 + __ll_highpart (__x1); \ (w0) = (__x1 << W_TYPE_SIZE / 2) + __ll_lowpart (__x0); \ } while (0) #endif #if !defined udiv_qrnnd || defined UDIV_NEEDS_NORMALIZATION /* Define our own, not needing normalization. This function is currently not performance critical, so keep it simple. Similar to the mod macro below. */ # undef udiv_qrnnd # define udiv_qrnnd(q, r, n1, n0, d) \ do { \ uintmax_t __d1, __d0, __q, __r1, __r0; \ \ assert ((n1) < (d)); \ __d1 = (d); __d0 = 0; \ __r1 = (n1); __r0 = (n0); \ __q = 0; \ for (unsigned int __i = W_TYPE_SIZE; __i > 0; __i--) \ { \ rsh2 (__d1, __d0, __d1, __d0, 1); \ __q <<= 1; \ if (ge2 (__r1, __r0, __d1, __d0)) \ { \ __q++; \ sub_ddmmss (__r1, __r0, __r1, __r0, __d1, __d0); \ } \ } \ (r) = __r0; \ (q) = __q; \ } while (0) #endif #if !defined add_ssaaaa # define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ uintmax_t _add_x; \ _add_x = (al) + (bl); \ (sh) = (ah) + (bh) + (_add_x < (al)); \ (sl) = _add_x; \ } while (0) #endif #define rsh2(rh, rl, ah, al, cnt) \ do { \ (rl) = ((ah) << (W_TYPE_SIZE - (cnt))) | ((al) >> (cnt)); \ (rh) = (ah) >> (cnt); \ } while (0) #define lsh2(rh, rl, ah, al, cnt) \ do { \ (rh) = ((ah) << cnt) | ((al) >> (W_TYPE_SIZE - (cnt))); \ (rl) = (al) << (cnt); \ } while (0) #define ge2(ah, al, bh, bl) \ ((ah) > (bh) || ((ah) == (bh) && (al) >= (bl))) #define gt2(ah, al, bh, bl) \ ((ah) > (bh) || ((ah) == (bh) && (al) > (bl))) #ifndef sub_ddmmss # define sub_ddmmss(rh, rl, ah, al, bh, bl) \ do { \ uintmax_t _cy; \ _cy = (al) < (bl); \ (rl) = (al) - (bl); \ (rh) = (ah) - (bh) - _cy; \ } while (0) #endif #ifndef count_leading_zeros # define count_leading_zeros(count, x) do { \ uintmax_t __clz_x = (x); \ unsigned int __clz_c; \ for (__clz_c = 0; \ (__clz_x & ((uintmax_t) 0xff << (W_TYPE_SIZE - 8))) == 0; \ __clz_c += 8) \ __clz_x <<= 8; \ for (; (intmax_t)__clz_x >= 0; __clz_c++) \ __clz_x <<= 1; \ (count) = __clz_c; \ } while (0) #endif #ifndef count_trailing_zeros # define count_trailing_zeros(count, x) do { \ uintmax_t __ctz_x = (x); \ unsigned int __ctz_c = 0; \ while ((__ctz_x & 1) == 0) \ { \ __ctz_x >>= 1; \ __ctz_c++; \ } \ (count) = __ctz_c; \ } while (0) #endif /* Requires that a < n and b <= n */ #define submod(r,a,b,n) \ do { \ uintmax_t _t = - (uintmax_t) (a < b); \ (r) = ((n) & _t) + (a) - (b); \ } while (0) #define addmod(r,a,b,n) \ submod ((r), (a), ((n) - (b)), (n)) /* Modular two-word addition and subtraction. For performance reasons, the most significant bit of n1 must be clear. The destination variables must be distinct from the mod operand. */ #define addmod2(r1, r0, a1, a0, b1, b0, n1, n0) \ do { \ add_ssaaaa ((r1), (r0), (a1), (a0), (b1), (b0)); \ if (ge2 ((r1), (r0), (n1), (n0))) \ sub_ddmmss ((r1), (r0), (r1), (r0), (n1), (n0)); \ } while (0) #define submod2(r1, r0, a1, a0, b1, b0, n1, n0) \ do { \ sub_ddmmss ((r1), (r0), (a1), (a0), (b1), (b0)); \ if ((intmax_t) (r1) < 0) \ add_ssaaaa ((r1), (r0), (r1), (r0), (n1), (n0)); \ } while (0) #define HIGHBIT_TO_MASK(x) \ (((intmax_t)-1 >> 1) < 0 \ ? (uintmax_t)((intmax_t)(x) >> (W_TYPE_SIZE - 1)) \ : ((x) & ((uintmax_t) 1 << (W_TYPE_SIZE - 1)) \ ? UINTMAX_MAX : (uintmax_t) 0)) /* Compute r = a mod d, where r = <*t1,retval>, a = , d = . Requires that d1 != 0. */ static uintmax_t mod2 (uintmax_t *r1, uintmax_t a1, uintmax_t a0, uintmax_t d1, uintmax_t d0) { int cntd, cnta; assert (d1 != 0); if (a1 == 0) { *r1 = 0; return a0; } count_leading_zeros (cntd, d1); count_leading_zeros (cnta, a1); int cnt = cntd - cnta; lsh2 (d1, d0, d1, d0, cnt); for (int i = 0; i < cnt; i++) { if (ge2 (a1, a0, d1, d0)) sub_ddmmss (a1, a0, a1, a0, d1, d0); rsh2 (d1, d0, d1, d0, 1); } *r1 = a1; return a0; } static uintmax_t _GL_ATTRIBUTE_CONST gcd_odd (uintmax_t a, uintmax_t b) { if ( (b & 1) == 0) { uintmax_t t = b; b = a; a = t; } if (a == 0) return b; /* Take out least significant one bit, to make room for sign */ b >>= 1; for (;;) { uintmax_t t; uintmax_t bgta; while ((a & 1) == 0) a >>= 1; a >>= 1; t = a - b; if (t == 0) return (a << 1) + 1; bgta = HIGHBIT_TO_MASK (t); /* b <-- min (a, b) */ b += (bgta & t); /* a <-- |a - b| */ a = (t ^ bgta) - bgta; } } static uintmax_t gcd2_odd (uintmax_t *r1, uintmax_t a1, uintmax_t a0, uintmax_t b1, uintmax_t b0) { while ((a0 & 1) == 0) rsh2 (a1, a0, a1, a0, 1); while ((b0 & 1) == 0) rsh2 (b1, b0, b1, b0, 1); for (;;) { if ((b1 | a1) == 0) { *r1 = 0; return gcd_odd (b0, a0); } if (gt2 (a1, a0, b1, b0)) { sub_ddmmss (a1, a0, a1, a0, b1, b0); do rsh2 (a1, a0, a1, a0, 1); while ((a0 & 1) == 0); } else if (gt2 (b1, b0, a1, a0)) { sub_ddmmss (b1, b0, b1, b0, a1, a0); do rsh2 (b1, b0, b1, b0, 1); while ((b0 & 1) == 0); } else break; } *r1 = a1; return a0; } static void factor_insert_multiplicity (struct factors *factors, uintmax_t prime, unsigned int m) { unsigned int nfactors = factors->nfactors; uintmax_t *p = factors->p; unsigned char *e = factors->e; /* Locate position for insert new or increment e. */ int i; for (i = nfactors - 1; i >= 0; i--) { if (p[i] <= prime) break; } if (i < 0 || p[i] != prime) { for (int j = nfactors - 1; j > i; j--) { p[j + 1] = p[j]; e[j + 1] = e[j]; } p[i + 1] = prime; e[i + 1] = m; factors->nfactors = nfactors + 1; } else { e[i] += m; } } #define factor_insert(f, p) factor_insert_multiplicity (f, p, 1) static void factor_insert_large (struct factors *factors, uintmax_t p1, uintmax_t p0) { if (p1 > 0) { assert (factors->plarge[1] == 0); factors->plarge[0] = p0; factors->plarge[1] = p1; } else factor_insert (factors, p0); } #if HAVE_GMP # if !HAVE_DECL_MPZ_INITS # define mpz_inits(...) mpz_va_init (mpz_init, __VA_ARGS__) # define mpz_clears(...) mpz_va_init (mpz_clear, __VA_ARGS__) static void mpz_va_init (void (*mpz_single_init)(mpz_t), ...) { va_list ap; va_start (ap, mpz_single_init); mpz_t *mpz; while ((mpz = va_arg (ap, mpz_t *))) mpz_single_init (*mpz); va_end (ap); } # endif static void mp_factor (mpz_t, struct mp_factors *); static void mp_factor_init (struct mp_factors *factors) { factors->p = NULL; factors->e = NULL; factors->nfactors = 0; } static void mp_factor_clear (struct mp_factors *factors) { for (unsigned int i = 0; i < factors->nfactors; i++) mpz_clear (factors->p[i]); free (factors->p); free (factors->e); } static void mp_factor_insert (struct mp_factors *factors, mpz_t prime) { unsigned long int nfactors = factors->nfactors; mpz_t *p = factors->p; unsigned long int *e = factors->e; long i; /* Locate position for insert new or increment e. */ for (i = nfactors - 1; i >= 0; i--) { if (mpz_cmp (p[i], prime) <= 0) break; } if (i < 0 || mpz_cmp (p[i], prime) != 0) { p = xrealloc (p, (nfactors + 1) * sizeof p[0]); e = xrealloc (e, (nfactors + 1) * sizeof e[0]); mpz_init (p[nfactors]); for (long j = nfactors - 1; j > i; j--) { mpz_set (p[j + 1], p[j]); e[j + 1] = e[j]; } mpz_set (p[i + 1], prime); e[i + 1] = 1; factors->p = p; factors->e = e; factors->nfactors = nfactors + 1; } else { e[i] += 1; } } static void mp_factor_insert_ui (struct mp_factors *factors, unsigned long int prime) { mpz_t pz; mpz_init_set_ui (pz, prime); mp_factor_insert (factors, pz); mpz_clear (pz); } #endif /* HAVE_GMP */ /* Number of bits in an uintmax_t. */ enum { W = sizeof (uintmax_t) * CHAR_BIT }; /* Verify that uintmax_t does not have holes in its representation. */ verify (UINTMAX_MAX >> (W - 1) == 1); #define P(a,b,c,d) a, static const unsigned char primes_diff[] = { #include "primes.h" 0,0,0,0,0,0,0 /* 7 sentinels for 8-way loop */ }; #undef P #define PRIMES_PTAB_ENTRIES \ (sizeof (primes_diff) / sizeof (primes_diff[0]) - 8 + 1) #define P(a,b,c,d) b, static const unsigned char primes_diff8[] = { #include "primes.h" 0,0,0,0,0,0,0 /* 7 sentinels for 8-way loop */ }; #undef P struct primes_dtab { uintmax_t binv, lim; }; #define P(a,b,c,d) {c,d}, static const struct primes_dtab primes_dtab[] = { #include "primes.h" {1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0} /* 7 sentinels for 8-way loop */ }; #undef P /* Verify that uintmax_t is not wider than the integers used to generate primes.h. */ verify (W <= WIDE_UINT_BITS); /* debugging for developers. Enables devmsg(). This flag is used only in the GMP code. */ static bool dev_debug = false; /* Like error(0, 0, ...), but without an implicit newline. Also a noop unless the global DEV_DEBUG is set. TODO: Replace with variadic macro in system.h or move to a separate module. */ static inline void devmsg (char const *fmt, ...) { if (dev_debug) { va_list ap; va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); } } /* Prove primality or run probabilistic tests. */ static bool flag_prove_primality = true; /* Number of Miller-Rabin tests to run when not proving primality. */ #define MR_REPS 25 #ifdef __GNUC__ # define LIKELY(cond) __builtin_expect ((cond), 1) # define UNLIKELY(cond) __builtin_expect ((cond), 0) #else # define LIKELY(cond) (cond) # define UNLIKELY(cond) (cond) #endif static void factor_insert_refind (struct factors *factors, uintmax_t p, unsigned int i, unsigned int off) { for (unsigned int j = 0; j < off; j++) p += primes_diff[i + j]; factor_insert (factors, p); } /* Trial division with odd primes uses the following trick. Let p be an odd prime, and B = 2^{W_TYPE_SIZE}. For simplicity, consider the case t < B (this is the second loop below). From our tables we get binv = p^{-1} (mod B) lim = floor ( (B-1) / p ). First assume that t is a multiple of p, t = q * p. Then 0 <= q <= lim (and all quotients in this range occur for some t). Then t = q * p is true also (mod B), and p is invertible we get q = t * binv (mod B). Next, assume that t is *not* divisible by p. Since multiplication by binv (mod B) is a one-to-one mapping, t * binv (mod B) > lim, because all the smaller values are already taken. This can be summed up by saying that the function q(t) = binv * t (mod B) is a permutation of the range 0 <= t < B, with the curious property that it maps the multiples of p onto the range 0 <= q <= lim, in order, and the non-multiples of p onto the range lim < q < B. */ static uintmax_t factor_using_division (uintmax_t *t1p, uintmax_t t1, uintmax_t t0, struct factors *factors) { if (t0 % 2 == 0) { unsigned int cnt; if (t0 == 0) { count_trailing_zeros (cnt, t1); t0 = t1 >> cnt; t1 = 0; cnt += W_TYPE_SIZE; } else { count_trailing_zeros (cnt, t0); rsh2 (t1, t0, t1, t0, cnt); } factor_insert_multiplicity (factors, 2, cnt); } uintmax_t p = 3; unsigned int i; for (i = 0; t1 > 0 && i < PRIMES_PTAB_ENTRIES; i++) { for (;;) { uintmax_t q1, q0, hi, lo ATTRIBUTE_UNUSED; q0 = t0 * primes_dtab[i].binv; umul_ppmm (hi, lo, q0, p); if (hi > t1) break; hi = t1 - hi; q1 = hi * primes_dtab[i].binv; if (LIKELY (q1 > primes_dtab[i].lim)) break; t1 = q1; t0 = q0; factor_insert (factors, p); } p += primes_diff[i + 1]; } if (t1p) *t1p = t1; #define DIVBLOCK(I) \ do { \ for (;;) \ { \ q = t0 * pd[I].binv; \ if (LIKELY (q > pd[I].lim)) \ break; \ t0 = q; \ factor_insert_refind (factors, p, i + 1, I); \ } \ } while (0) for (; i < PRIMES_PTAB_ENTRIES; i += 8) { uintmax_t q; const struct primes_dtab *pd = &primes_dtab[i]; DIVBLOCK (0); DIVBLOCK (1); DIVBLOCK (2); DIVBLOCK (3); DIVBLOCK (4); DIVBLOCK (5); DIVBLOCK (6); DIVBLOCK (7); p += primes_diff8[i]; if (p * p > t0) break; } return t0; } #if HAVE_GMP static void mp_factor_using_division (mpz_t t, struct mp_factors *factors) { mpz_t q; unsigned long int p; devmsg ("[trial division] "); mpz_init (q); p = mpz_scan1 (t, 0); mpz_div_2exp (t, t, p); while (p) { mp_factor_insert_ui (factors, 2); --p; } p = 3; for (unsigned int i = 1; i <= PRIMES_PTAB_ENTRIES;) { if (! mpz_divisible_ui_p (t, p)) { p += primes_diff[i++]; if (mpz_cmp_ui (t, p * p) < 0) break; } else { mpz_tdiv_q_ui (t, t, p); mp_factor_insert_ui (factors, p); } } mpz_clear (q); } #endif /* Entry i contains (2i+1)^(-1) mod 2^8. */ static const unsigned char binvert_table[128] = { 0x01, 0xAB, 0xCD, 0xB7, 0x39, 0xA3, 0xC5, 0xEF, 0xF1, 0x1B, 0x3D, 0xA7, 0x29, 0x13, 0x35, 0xDF, 0xE1, 0x8B, 0xAD, 0x97, 0x19, 0x83, 0xA5, 0xCF, 0xD1, 0xFB, 0x1D, 0x87, 0x09, 0xF3, 0x15, 0xBF, 0xC1, 0x6B, 0x8D, 0x77, 0xF9, 0x63, 0x85, 0xAF, 0xB1, 0xDB, 0xFD, 0x67, 0xE9, 0xD3, 0xF5, 0x9F, 0xA1, 0x4B, 0x6D, 0x57, 0xD9, 0x43, 0x65, 0x8F, 0x91, 0xBB, 0xDD, 0x47, 0xC9, 0xB3, 0xD5, 0x7F, 0x81, 0x2B, 0x4D, 0x37, 0xB9, 0x23, 0x45, 0x6F, 0x71, 0x9B, 0xBD, 0x27, 0xA9, 0x93, 0xB5, 0x5F, 0x61, 0x0B, 0x2D, 0x17, 0x99, 0x03, 0x25, 0x4F, 0x51, 0x7B, 0x9D, 0x07, 0x89, 0x73, 0x95, 0x3F, 0x41, 0xEB, 0x0D, 0xF7, 0x79, 0xE3, 0x05, 0x2F, 0x31, 0x5B, 0x7D, 0xE7, 0x69, 0x53, 0x75, 0x1F, 0x21, 0xCB, 0xED, 0xD7, 0x59, 0xC3, 0xE5, 0x0F, 0x11, 0x3B, 0x5D, 0xC7, 0x49, 0x33, 0x55, 0xFF }; /* Compute n^(-1) mod B, using a Newton iteration. */ #define binv(inv,n) \ do { \ uintmax_t __n = (n); \ uintmax_t __inv; \ \ __inv = binvert_table[(__n / 2) & 0x7F]; /* 8 */ \ if (W_TYPE_SIZE > 8) __inv = 2 * __inv - __inv * __inv * __n; \ if (W_TYPE_SIZE > 16) __inv = 2 * __inv - __inv * __inv * __n; \ if (W_TYPE_SIZE > 32) __inv = 2 * __inv - __inv * __inv * __n; \ \ if (W_TYPE_SIZE > 64) \ { \ int __invbits = 64; \ do { \ __inv = 2 * __inv - __inv * __inv * __n; \ __invbits *= 2; \ } while (__invbits < W_TYPE_SIZE); \ } \ \ (inv) = __inv; \ } while (0) /* q = u / d, assuming d|u. */ #define divexact_21(q1, q0, u1, u0, d) \ do { \ uintmax_t _di, _q0; \ binv (_di, (d)); \ _q0 = (u0) * _di; \ if ((u1) >= (d)) \ { \ uintmax_t _p1, _p0 ATTRIBUTE_UNUSED; \ umul_ppmm (_p1, _p0, _q0, d); \ (q1) = ((u1) - _p1) * _di; \ (q0) = _q0; \ } \ else \ { \ (q0) = _q0; \ (q1) = 0; \ } \ } while (0) /* x B (mod n). */ #define redcify(r_prim, r, n) \ do { \ uintmax_t _redcify_q ATTRIBUTE_UNUSED; \ udiv_qrnnd (_redcify_q, r_prim, r, 0, n); \ } while (0) /* x B^2 (mod n). Requires x > 0, n1 < B/2 */ #define redcify2(r1, r0, x, n1, n0) \ do { \ uintmax_t _r1, _r0, _i; \ if ((x) < (n1)) \ { \ _r1 = (x); _r0 = 0; \ _i = W_TYPE_SIZE; \ } \ else \ { \ _r1 = 0; _r0 = (x); \ _i = 2*W_TYPE_SIZE; \ } \ while (_i-- > 0) \ { \ lsh2 (_r1, _r0, _r1, _r0, 1); \ if (ge2 (_r1, _r0, (n1), (n0))) \ sub_ddmmss (_r1, _r0, _r1, _r0, (n1), (n0)); \ } \ (r1) = _r1; \ (r0) = _r0; \ } while (0) /* Modular two-word multiplication, r = a * b mod m, with mi = m^(-1) mod B. Both a and b must be in redc form, the result will be in redc form too. */ static inline uintmax_t mulredc (uintmax_t a, uintmax_t b, uintmax_t m, uintmax_t mi) { uintmax_t rh, rl, q, th, tl ATTRIBUTE_UNUSED, xh; umul_ppmm (rh, rl, a, b); q = rl * mi; umul_ppmm (th, tl, q, m); xh = rh - th; if (rh < th) xh += m; return xh; } /* Modular two-word multiplication, r = a * b mod m, with mi = m^(-1) mod B. Both a and b must be in redc form, the result will be in redc form too. For performance reasons, the most significant bit of m must be clear. */ static uintmax_t mulredc2 (uintmax_t *r1p, uintmax_t a1, uintmax_t a0, uintmax_t b1, uintmax_t b0, uintmax_t m1, uintmax_t m0, uintmax_t mi) { uintmax_t r1, r0, q, p1, p0 ATTRIBUTE_UNUSED, t1, t0, s1, s0; mi = -mi; assert ( (a1 >> (W_TYPE_SIZE - 1)) == 0); assert ( (b1 >> (W_TYPE_SIZE - 1)) == 0); assert ( (m1 >> (W_TYPE_SIZE - 1)) == 0); /* First compute a0 * B^{-1} +-----+ |a0 b0| +--+--+--+ |a0 b1| +--+--+--+ |q0 m0| +--+--+--+ |q0 m1| -+--+--+--+ |r1|r0| 0| +--+--+--+ */ umul_ppmm (t1, t0, a0, b0); umul_ppmm (r1, r0, a0, b1); q = mi * t0; umul_ppmm (p1, p0, q, m0); umul_ppmm (s1, s0, q, m1); r0 += (t0 != 0); /* Carry */ add_ssaaaa (r1, r0, r1, r0, 0, p1); add_ssaaaa (r1, r0, r1, r0, 0, t1); add_ssaaaa (r1, r0, r1, r0, s1, s0); /* Next, (a1 * + B^{-1} +-----+ |a1 b0| +--+--+ |r1|r0| +--+--+--+ |a1 b1| +--+--+--+ |q1 m0| +--+--+--+ |q1 m1| -+--+--+--+ |r1|r0| 0| +--+--+--+ */ umul_ppmm (t1, t0, a1, b0); umul_ppmm (s1, s0, a1, b1); add_ssaaaa (t1, t0, t1, t0, 0, r0); q = mi * t0; add_ssaaaa (r1, r0, s1, s0, 0, r1); umul_ppmm (p1, p0, q, m0); umul_ppmm (s1, s0, q, m1); r0 += (t0 != 0); /* Carry */ add_ssaaaa (r1, r0, r1, r0, 0, p1); add_ssaaaa (r1, r0, r1, r0, 0, t1); add_ssaaaa (r1, r0, r1, r0, s1, s0); if (ge2 (r1, r0, m1, m0)) sub_ddmmss (r1, r0, r1, r0, m1, m0); *r1p = r1; return r0; } static uintmax_t _GL_ATTRIBUTE_CONST powm (uintmax_t b, uintmax_t e, uintmax_t n, uintmax_t ni, uintmax_t one) { uintmax_t y = one; if (e & 1) y = b; while (e != 0) { b = mulredc (b, b, n, ni); e >>= 1; if (e & 1) y = mulredc (y, b, n, ni); } return y; } static uintmax_t powm2 (uintmax_t *r1m, const uintmax_t *bp, const uintmax_t *ep, const uintmax_t *np, uintmax_t ni, const uintmax_t *one) { uintmax_t r1, r0, b1, b0, n1, n0; unsigned int i; uintmax_t e; b0 = bp[0]; b1 = bp[1]; n0 = np[0]; n1 = np[1]; r0 = one[0]; r1 = one[1]; for (e = ep[0], i = W_TYPE_SIZE; i > 0; i--, e >>= 1) { if (e & 1) { r0 = mulredc2 (r1m, r1, r0, b1, b0, n1, n0, ni); r1 = *r1m; } b0 = mulredc2 (r1m, b1, b0, b1, b0, n1, n0, ni); b1 = *r1m; } for (e = ep[1]; e > 0; e >>= 1) { if (e & 1) { r0 = mulredc2 (r1m, r1, r0, b1, b0, n1, n0, ni); r1 = *r1m; } b0 = mulredc2 (r1m, b1, b0, b1, b0, n1, n0, ni); b1 = *r1m; } *r1m = r1; return r0; } static bool _GL_ATTRIBUTE_CONST millerrabin (uintmax_t n, uintmax_t ni, uintmax_t b, uintmax_t q, unsigned int k, uintmax_t one) { uintmax_t y = powm (b, q, n, ni, one); uintmax_t nm1 = n - one; /* -1, but in redc representation. */ if (y == one || y == nm1) return true; for (unsigned int i = 1; i < k; i++) { y = mulredc (y, y, n, ni); if (y == nm1) return true; if (y == one) return false; } return false; } static bool millerrabin2 (const uintmax_t *np, uintmax_t ni, const uintmax_t *bp, const uintmax_t *qp, unsigned int k, const uintmax_t *one) { uintmax_t y1, y0, nm1_1, nm1_0, r1m; y0 = powm2 (&r1m, bp, qp, np, ni, one); y1 = r1m; if (y0 == one[0] && y1 == one[1]) return true; sub_ddmmss (nm1_1, nm1_0, np[1], np[0], one[1], one[0]); if (y0 == nm1_0 && y1 == nm1_1) return true; for (unsigned int i = 1; i < k; i++) { y0 = mulredc2 (&r1m, y1, y0, y1, y0, np[1], np[0], ni); y1 = r1m; if (y0 == nm1_0 && y1 == nm1_1) return true; if (y0 == one[0] && y1 == one[1]) return false; } return false; } #if HAVE_GMP static bool mp_millerrabin (mpz_srcptr n, mpz_srcptr nm1, mpz_ptr x, mpz_ptr y, mpz_srcptr q, unsigned long int k) { mpz_powm (y, x, q, n); if (mpz_cmp_ui (y, 1) == 0 || mpz_cmp (y, nm1) == 0) return true; for (unsigned long int i = 1; i < k; i++) { mpz_powm_ui (y, y, 2, n); if (mpz_cmp (y, nm1) == 0) return true; if (mpz_cmp_ui (y, 1) == 0) return false; } return false; } #endif /* Lucas' prime test. The number of iterations vary greatly, up to a few dozen have been observed. The average seem to be about 2. */ static bool prime_p (uintmax_t n) { int k; bool is_prime; uintmax_t a_prim, one, ni; struct factors factors; if (n <= 1) return false; /* We have already casted out small primes. */ if (n < (uintmax_t) FIRST_OMITTED_PRIME * FIRST_OMITTED_PRIME) return true; /* Precomputation for Miller-Rabin. */ uintmax_t q = n - 1; for (k = 0; (q & 1) == 0; k++) q >>= 1; uintmax_t a = 2; binv (ni, n); /* ni <- 1/n mod B */ redcify (one, 1, n); addmod (a_prim, one, one, n); /* i.e., redcify a = 2 */ /* Perform a Miller-Rabin test, finds most composites quickly. */ if (!millerrabin (n, ni, a_prim, q, k, one)) return false; if (flag_prove_primality) { /* Factor n-1 for Lucas. */ factor (0, n - 1, &factors); } /* Loop until Lucas proves our number prime, or Miller-Rabin proves our number composite. */ for (unsigned int r = 0; r < PRIMES_PTAB_ENTRIES; r++) { if (flag_prove_primality) { is_prime = true; for (unsigned int i = 0; i < factors.nfactors && is_prime; i++) { is_prime = powm (a_prim, (n - 1) / factors.p[i], n, ni, one) != one; } } else { /* After enough Miller-Rabin runs, be content. */ is_prime = (r == MR_REPS - 1); } if (is_prime) return true; a += primes_diff[r]; /* Establish new base. */ /* The following is equivalent to redcify (a_prim, a, n). It runs faster on most processors, since it avoids udiv_qrnnd. If we go down the udiv_qrnnd_preinv path, this code should be replaced. */ { uintmax_t s1, s0; umul_ppmm (s1, s0, one, a); if (LIKELY (s1 == 0)) a_prim = s0 % n; else { uintmax_t dummy ATTRIBUTE_UNUSED; udiv_qrnnd (dummy, a_prim, s1, s0, n); } } if (!millerrabin (n, ni, a_prim, q, k, one)) return false; } error (0, 0, _("Lucas prime test failure. This should not happen")); abort (); } static bool prime2_p (uintmax_t n1, uintmax_t n0) { uintmax_t q[2], nm1[2]; uintmax_t a_prim[2]; uintmax_t one[2]; uintmax_t na[2]; uintmax_t ni; unsigned int k; struct factors factors; if (n1 == 0) return prime_p (n0); nm1[1] = n1 - (n0 == 0); nm1[0] = n0 - 1; if (nm1[0] == 0) { count_trailing_zeros (k, nm1[1]); q[0] = nm1[1] >> k; q[1] = 0; k += W_TYPE_SIZE; } else { count_trailing_zeros (k, nm1[0]); rsh2 (q[1], q[0], nm1[1], nm1[0], k); } uintmax_t a = 2; binv (ni, n0); redcify2 (one[1], one[0], 1, n1, n0); addmod2 (a_prim[1], a_prim[0], one[1], one[0], one[1], one[0], n1, n0); /* FIXME: Use scalars or pointers in arguments? Some consistency needed. */ na[0] = n0; na[1] = n1; if (!millerrabin2 (na, ni, a_prim, q, k, one)) return false; if (flag_prove_primality) { /* Factor n-1 for Lucas. */ factor (nm1[1], nm1[0], &factors); } /* Loop until Lucas proves our number prime, or Miller-Rabin proves our number composite. */ for (unsigned int r = 0; r < PRIMES_PTAB_ENTRIES; r++) { bool is_prime; uintmax_t e[2], y[2]; if (flag_prove_primality) { is_prime = true; if (factors.plarge[1]) { uintmax_t pi; binv (pi, factors.plarge[0]); e[0] = pi * nm1[0]; e[1] = 0; y[0] = powm2 (&y[1], a_prim, e, na, ni, one); is_prime = (y[0] != one[0] || y[1] != one[1]); } for (unsigned int i = 0; i < factors.nfactors && is_prime; i++) { /* FIXME: We always have the factor 2. Do we really need to handle it here? We have done the same powering as part of millerrabin. */ if (factors.p[i] == 2) rsh2 (e[1], e[0], nm1[1], nm1[0], 1); else divexact_21 (e[1], e[0], nm1[1], nm1[0], factors.p[i]); y[0] = powm2 (&y[1], a_prim, e, na, ni, one); is_prime = (y[0] != one[0] || y[1] != one[1]); } } else { /* After enough Miller-Rabin runs, be content. */ is_prime = (r == MR_REPS - 1); } if (is_prime) return true; a += primes_diff[r]; /* Establish new base. */ redcify2 (a_prim[1], a_prim[0], a, n1, n0); if (!millerrabin2 (na, ni, a_prim, q, k, one)) return false; } error (0, 0, _("Lucas prime test failure. This should not happen")); abort (); } #if HAVE_GMP static bool mp_prime_p (mpz_t n) { bool is_prime; mpz_t q, a, nm1, tmp; struct mp_factors factors; if (mpz_cmp_ui (n, 1) <= 0) return false; /* We have already casted out small primes. */ if (mpz_cmp_ui (n, (long) FIRST_OMITTED_PRIME * FIRST_OMITTED_PRIME) < 0) return true; mpz_inits (q, a, nm1, tmp, NULL); /* Precomputation for Miller-Rabin. */ mpz_sub_ui (nm1, n, 1); /* Find q and k, where q is odd and n = 1 + 2**k * q. */ unsigned long int k = mpz_scan1 (nm1, 0); mpz_tdiv_q_2exp (q, nm1, k); mpz_set_ui (a, 2); /* Perform a Miller-Rabin test, finds most composites quickly. */ if (!mp_millerrabin (n, nm1, a, tmp, q, k)) { is_prime = false; goto ret2; } if (flag_prove_primality) { /* Factor n-1 for Lucas. */ mpz_set (tmp, nm1); mp_factor (tmp, &factors); } /* Loop until Lucas proves our number prime, or Miller-Rabin proves our number composite. */ for (unsigned int r = 0; r < PRIMES_PTAB_ENTRIES; r++) { if (flag_prove_primality) { is_prime = true; for (unsigned long int i = 0; i < factors.nfactors && is_prime; i++) { mpz_divexact (tmp, nm1, factors.p[i]); mpz_powm (tmp, a, tmp, n); is_prime = mpz_cmp_ui (tmp, 1) != 0; } } else { /* After enough Miller-Rabin runs, be content. */ is_prime = (r == MR_REPS - 1); } if (is_prime) goto ret1; mpz_add_ui (a, a, primes_diff[r]); /* Establish new base. */ if (!mp_millerrabin (n, nm1, a, tmp, q, k)) { is_prime = false; goto ret1; } } error (0, 0, _("Lucas prime test failure. This should not happen")); abort (); ret1: if (flag_prove_primality) mp_factor_clear (&factors); ret2: mpz_clears (q, a, nm1, tmp, NULL); return is_prime; } #endif static void factor_using_pollard_rho (uintmax_t n, unsigned long int a, struct factors *factors) { uintmax_t x, z, y, P, t, ni, g; unsigned long int k = 1; unsigned long int l = 1; redcify (P, 1, n); addmod (x, P, P, n); /* i.e., redcify(2) */ y = z = x; while (n != 1) { assert (a < n); binv (ni, n); /* FIXME: when could we use old 'ni' value? */ for (;;) { do { x = mulredc (x, x, n, ni); addmod (x, x, a, n); submod (t, z, x, n); P = mulredc (P, t, n, ni); if (k % 32 == 1) { if (gcd_odd (P, n) != 1) goto factor_found; y = x; } } while (--k != 0); z = x; k = l; l = 2 * l; for (unsigned long int i = 0; i < k; i++) { x = mulredc (x, x, n, ni); addmod (x, x, a, n); } y = x; } factor_found: do { y = mulredc (y, y, n, ni); addmod (y, y, a, n); submod (t, z, y, n); g = gcd_odd (t, n); } while (g == 1); n = n / g; if (!prime_p (g)) factor_using_pollard_rho (g, a + 1, factors); else factor_insert (factors, g); if (prime_p (n)) { factor_insert (factors, n); break; } x = x % n; z = z % n; y = y % n; } } static void factor_using_pollard_rho2 (uintmax_t n1, uintmax_t n0, unsigned long int a, struct factors *factors) { uintmax_t x1, x0, z1, z0, y1, y0, P1, P0, t1, t0, ni, g1, g0, r1m; unsigned long int k = 1; unsigned long int l = 1; redcify2 (P1, P0, 1, n1, n0); addmod2 (x1, x0, P1, P0, P1, P0, n1, n0); /* i.e., redcify(2) */ y1 = z1 = x1; y0 = z0 = x0; while (n1 != 0 || n0 != 1) { binv (ni, n0); for (;;) { do { x0 = mulredc2 (&r1m, x1, x0, x1, x0, n1, n0, ni); x1 = r1m; addmod2 (x1, x0, x1, x0, 0, (uintmax_t) a, n1, n0); submod2 (t1, t0, z1, z0, x1, x0, n1, n0); P0 = mulredc2 (&r1m, P1, P0, t1, t0, n1, n0, ni); P1 = r1m; if (k % 32 == 1) { g0 = gcd2_odd (&g1, P1, P0, n1, n0); if (g1 != 0 || g0 != 1) goto factor_found; y1 = x1; y0 = x0; } } while (--k != 0); z1 = x1; z0 = x0; k = l; l = 2 * l; for (unsigned long int i = 0; i < k; i++) { x0 = mulredc2 (&r1m, x1, x0, x1, x0, n1, n0, ni); x1 = r1m; addmod2 (x1, x0, x1, x0, 0, (uintmax_t) a, n1, n0); } y1 = x1; y0 = x0; } factor_found: do { y0 = mulredc2 (&r1m, y1, y0, y1, y0, n1, n0, ni); y1 = r1m; addmod2 (y1, y0, y1, y0, 0, (uintmax_t) a, n1, n0); submod2 (t1, t0, z1, z0, y1, y0, n1, n0); g0 = gcd2_odd (&g1, t1, t0, n1, n0); } while (g1 == 0 && g0 == 1); if (g1 == 0) { /* The found factor is one word. */ divexact_21 (n1, n0, n1, n0, g0); /* n = n / g */ if (!prime_p (g0)) factor_using_pollard_rho (g0, a + 1, factors); else factor_insert (factors, g0); } else { /* The found factor is two words. This is highly unlikely, thus hard to trigger. Please be careful before you change this code! */ uintmax_t ginv; binv (ginv, g0); /* Compute n = n / g. Since the result will */ n0 = ginv * n0; /* fit one word, we can compute the quotient */ n1 = 0; /* modulo B, ignoring the high divisor word. */ if (!prime2_p (g1, g0)) factor_using_pollard_rho2 (g1, g0, a + 1, factors); else factor_insert_large (factors, g1, g0); } if (n1 == 0) { if (prime_p (n0)) { factor_insert (factors, n0); break; } factor_using_pollard_rho (n0, a, factors); return; } if (prime2_p (n1, n0)) { factor_insert_large (factors, n1, n0); break; } x0 = mod2 (&x1, x1, x0, n1, n0); z0 = mod2 (&z1, z1, z0, n1, n0); y0 = mod2 (&y1, y1, y0, n1, n0); } } #if HAVE_GMP static void mp_factor_using_pollard_rho (mpz_t n, unsigned long int a, struct mp_factors *factors) { mpz_t x, z, y, P; mpz_t t, t2; devmsg ("[pollard-rho (%lu)] ", a); mpz_inits (t, t2, NULL); mpz_init_set_si (y, 2); mpz_init_set_si (x, 2); mpz_init_set_si (z, 2); mpz_init_set_ui (P, 1); unsigned long long int k = 1; unsigned long long int l = 1; while (mpz_cmp_ui (n, 1) != 0) { for (;;) { do { mpz_mul (t, x, x); mpz_mod (x, t, n); mpz_add_ui (x, x, a); mpz_sub (t, z, x); mpz_mul (t2, P, t); mpz_mod (P, t2, n); if (k % 32 == 1) { mpz_gcd (t, P, n); if (mpz_cmp_ui (t, 1) != 0) goto factor_found; mpz_set (y, x); } } while (--k != 0); mpz_set (z, x); k = l; l = 2 * l; for (unsigned long long int i = 0; i < k; i++) { mpz_mul (t, x, x); mpz_mod (x, t, n); mpz_add_ui (x, x, a); } mpz_set (y, x); } factor_found: do { mpz_mul (t, y, y); mpz_mod (y, t, n); mpz_add_ui (y, y, a); mpz_sub (t, z, y); mpz_gcd (t, t, n); } while (mpz_cmp_ui (t, 1) == 0); mpz_divexact (n, n, t); /* divide by t, before t is overwritten */ if (!mp_prime_p (t)) { devmsg ("[composite factor--restarting pollard-rho] "); mp_factor_using_pollard_rho (t, a + 1, factors); } else { mp_factor_insert (factors, t); } if (mp_prime_p (n)) { mp_factor_insert (factors, n); break; } mpz_mod (x, x, n); mpz_mod (z, z, n); mpz_mod (y, y, n); } mpz_clears (P, t2, t, z, x, y, NULL); } #endif /* FIXME: Maybe better to use an iteration converging to 1/sqrt(n)? If algorithm is replaced, consider also returning the remainder. */ static uintmax_t _GL_ATTRIBUTE_CONST isqrt (uintmax_t n) { uintmax_t x; unsigned c; if (n == 0) return 0; count_leading_zeros (c, n); /* Make x > sqrt(n). This will be invariant through the loop. */ x = (uintmax_t) 1 << ((W_TYPE_SIZE + 1 - c) / 2); for (;;) { uintmax_t y = (x + n/x) / 2; if (y >= x) return x; x = y; } } static uintmax_t _GL_ATTRIBUTE_CONST isqrt2 (uintmax_t nh, uintmax_t nl) { unsigned int shift; uintmax_t x; /* Ensures the remainder fits in an uintmax_t. */ assert (nh < ((uintmax_t) 1 << (W_TYPE_SIZE - 2))); if (nh == 0) return isqrt (nl); count_leading_zeros (shift, nh); shift &= ~1; /* Make x > sqrt(n) */ x = isqrt ( (nh << shift) + (nl >> (W_TYPE_SIZE - shift))) + 1; x <<= (W_TYPE_SIZE - shift) / 2; /* Do we need more than one iteration? */ for (;;) { uintmax_t r ATTRIBUTE_UNUSED; uintmax_t q, y; udiv_qrnnd (q, r, nh, nl, x); y = (x + q) / 2; if (y >= x) { uintmax_t hi, lo; umul_ppmm (hi, lo, x + 1, x + 1); assert (gt2 (hi, lo, nh, nl)); umul_ppmm (hi, lo, x, x); assert (ge2 (nh, nl, hi, lo)); sub_ddmmss (hi, lo, nh, nl, hi, lo); assert (hi == 0); return x; } x = y; } } /* MAGIC[N] has a bit i set iff i is a quadratic residue mod N. */ #define MAGIC64 ((uint64_t) 0x0202021202030213ULL) #define MAGIC63 ((uint64_t) 0x0402483012450293ULL) #define MAGIC65 ((uint64_t) 0x218a019866014613ULL) #define MAGIC11 0x23b /* Return the square root if the input is a square, otherwise 0. */ static uintmax_t _GL_ATTRIBUTE_CONST is_square (uintmax_t x) { /* Uses the tests suggested by Cohen. Excludes 99% of the non-squares before computing the square root. */ if (((MAGIC64 >> (x & 63)) & 1) && ((MAGIC63 >> (x % 63)) & 1) /* Both 0 and 64 are squares mod (65) */ && ((MAGIC65 >> ((x % 65) & 63)) & 1) && ((MAGIC11 >> (x % 11) & 1))) { uintmax_t r = isqrt (x); if (r*r == x) return r; } return 0; } /* invtab[i] = floor(0x10000 / (0x100 + i) */ static const unsigned short invtab[0x81] = { 0x200, 0x1fc, 0x1f8, 0x1f4, 0x1f0, 0x1ec, 0x1e9, 0x1e5, 0x1e1, 0x1de, 0x1da, 0x1d7, 0x1d4, 0x1d0, 0x1cd, 0x1ca, 0x1c7, 0x1c3, 0x1c0, 0x1bd, 0x1ba, 0x1b7, 0x1b4, 0x1b2, 0x1af, 0x1ac, 0x1a9, 0x1a6, 0x1a4, 0x1a1, 0x19e, 0x19c, 0x199, 0x197, 0x194, 0x192, 0x18f, 0x18d, 0x18a, 0x188, 0x186, 0x183, 0x181, 0x17f, 0x17d, 0x17a, 0x178, 0x176, 0x174, 0x172, 0x170, 0x16e, 0x16c, 0x16a, 0x168, 0x166, 0x164, 0x162, 0x160, 0x15e, 0x15c, 0x15a, 0x158, 0x157, 0x155, 0x153, 0x151, 0x150, 0x14e, 0x14c, 0x14a, 0x149, 0x147, 0x146, 0x144, 0x142, 0x141, 0x13f, 0x13e, 0x13c, 0x13b, 0x139, 0x138, 0x136, 0x135, 0x133, 0x132, 0x130, 0x12f, 0x12e, 0x12c, 0x12b, 0x129, 0x128, 0x127, 0x125, 0x124, 0x123, 0x121, 0x120, 0x11f, 0x11e, 0x11c, 0x11b, 0x11a, 0x119, 0x118, 0x116, 0x115, 0x114, 0x113, 0x112, 0x111, 0x10f, 0x10e, 0x10d, 0x10c, 0x10b, 0x10a, 0x109, 0x108, 0x107, 0x106, 0x105, 0x104, 0x103, 0x102, 0x101, 0x100, }; /* Compute q = [u/d], r = u mod d. Avoids slow hardware division for the case that q < 0x40; here it instead uses a table of (Euclidian) inverses. */ #define div_smallq(q, r, u, d) \ do { \ if ((u) / 0x40 < (d)) \ { \ int _cnt; \ uintmax_t _dinv, _mask, _q, _r; \ count_leading_zeros (_cnt, (d)); \ _r = (u); \ if (UNLIKELY (_cnt > (W_TYPE_SIZE - 8))) \ { \ _dinv = invtab[((d) << (_cnt + 8 - W_TYPE_SIZE)) - 0x80]; \ _q = _dinv * _r >> (8 + W_TYPE_SIZE - _cnt); \ } \ else \ { \ _dinv = invtab[((d) >> (W_TYPE_SIZE - 8 - _cnt)) - 0x7f]; \ _q = _dinv * (_r >> (W_TYPE_SIZE - 3 - _cnt)) >> 11; \ } \ _r -= _q*(d); \ \ _mask = -(uintmax_t) (_r >= (d)); \ (r) = _r - (_mask & (d)); \ (q) = _q - _mask; \ assert ( (q) * (d) + (r) == u); \ } \ else \ { \ uintmax_t _q = (u) / (d); \ (r) = (u) - _q * (d); \ (q) = _q; \ } \ } while (0) /* Notes: Example N = 22117019. After first phase we find Q1 = 6314, Q = 3025, P = 1737, representing F_{18} = (-6314, 2* 1737, 3025), with 3025 = 55^2. Constructing the square root, we get Q1 = 55, Q = 8653, P = 4652, representing G_0 = (-55, 2*4652, 8653). In the notation of the paper: S_{-1} = 55, S_0 = 8653, R_0 = 4652 Put t_0 = floor([q_0 + R_0] / S0) = 1 R_1 = t_0 * S_0 - R_0 = 4001 S_1 = S_{-1} +t_0 (R_0 - R_1) = 706 */ /* Multipliers, in order of efficiency: 0.7268 3*5*7*11 = 1155 = 3 (mod 4) 0.7317 3*5*7 = 105 = 1 0.7820 3*5*11 = 165 = 1 0.7872 3*5 = 15 = 3 0.8101 3*7*11 = 231 = 3 0.8155 3*7 = 21 = 1 0.8284 5*7*11 = 385 = 1 0.8339 5*7 = 35 = 3 0.8716 3*11 = 33 = 1 0.8774 3 = 3 = 3 0.8913 5*11 = 55 = 3 0.8972 5 = 5 = 1 0.9233 7*11 = 77 = 1 0.9295 7 = 7 = 3 0.9934 11 = 11 = 3 */ #define QUEUE_SIZE 50 #if STAT_SQUFOF # define Q_FREQ_SIZE 50 /* Element 0 keeps the total */ static unsigned int q_freq[Q_FREQ_SIZE + 1]; # define MIN(a,b) ((a) < (b) ? (a) : (b)) #endif /* Return true on success. Expected to fail only for numbers >= 2^{2*W_TYPE_SIZE - 2}, or close to that limit. */ static bool factor_using_squfof (uintmax_t n1, uintmax_t n0, struct factors *factors) { /* Uses algorithm and notation from SQUARE FORM FACTORIZATION JASON E. GOWER AND SAMUEL S. WAGSTAFF, JR. http://homes.cerias.purdue.edu/~ssw/squfof.pdf */ static const unsigned int multipliers_1[] = { /* = 1 (mod 4) */ 105, 165, 21, 385, 33, 5, 77, 1, 0 }; static const unsigned int multipliers_3[] = { /* = 3 (mod 4) */ 1155, 15, 231, 35, 3, 55, 7, 11, 0 }; const unsigned int *m; struct { uintmax_t Q; uintmax_t P; } queue[QUEUE_SIZE]; if (n1 >= ((uintmax_t) 1 << (W_TYPE_SIZE - 2))) return false; uintmax_t sqrt_n = isqrt2 (n1, n0); if (n0 == sqrt_n * sqrt_n) { uintmax_t p1, p0; umul_ppmm (p1, p0, sqrt_n, sqrt_n); assert (p0 == n0); if (n1 == p1) { if (prime_p (sqrt_n)) factor_insert_multiplicity (factors, sqrt_n, 2); else { struct factors f; f.nfactors = 0; if (!factor_using_squfof (0, sqrt_n, &f)) { /* Try pollard rho instead */ factor_using_pollard_rho (sqrt_n, 1, &f); } /* Duplicate the new factors */ for (unsigned int i = 0; i < f.nfactors; i++) factor_insert_multiplicity (factors, f.p[i], 2*f.e[i]); } return true; } } /* Select multipliers so we always get n * mu = 3 (mod 4) */ for (m = (n0 % 4 == 1) ? multipliers_3 : multipliers_1; *m; m++) { uintmax_t S, Dh, Dl, Q1, Q, P, L, L1, B; unsigned int i; unsigned int mu = *m; unsigned int qpos = 0; assert (mu * n0 % 4 == 3); /* In the notation of the paper, with mu * n == 3 (mod 4), we get \Delta = 4 mu * n, and the paper's \mu is 2 mu. As far as I understand it, the necessary bound is 4 \mu^3 < n, or 32 mu^3 < n. However, this seems insufficient: With n = 37243139 and mu = 105, we get a trivial factor, from the square 38809 = 197^2, without any corresponding Q earlier in the iteration. Requiring 64 mu^3 < n seems sufficient. */ if (n1 == 0) { if ((uintmax_t) mu*mu*mu >= n0 / 64) continue; } else { if (n1 > ((uintmax_t) 1 << (W_TYPE_SIZE - 2)) / mu) continue; } umul_ppmm (Dh, Dl, n0, mu); Dh += n1 * mu; assert (Dl % 4 != 1); assert (Dh < (uintmax_t) 1 << (W_TYPE_SIZE - 2)); S = isqrt2 (Dh, Dl); Q1 = 1; P = S; /* Square root remainder fits in one word, so ignore high part. */ Q = Dl - P*P; /* FIXME: When can this differ from floor(sqrt(2 sqrt(D)))? */ L = isqrt (2*S); B = 2*L; L1 = mu * 2 * L; /* The form is (+/- Q1, 2P, -/+ Q), of discriminant 4 (P^2 + Q Q1) = 4 D. */ for (i = 0; i <= B; i++) { uintmax_t q, P1, t, rem; div_smallq (q, rem, S+P, Q); P1 = S - rem; /* P1 = q*Q - P */ #if STAT_SQUFOF assert (q > 0); q_freq[0]++; q_freq[MIN (q, Q_FREQ_SIZE)]++; #endif if (Q <= L1) { uintmax_t g = Q; if ( (Q & 1) == 0) g /= 2; g /= gcd_odd (g, mu); if (g <= L) { if (qpos >= QUEUE_SIZE) error (EXIT_FAILURE, 0, _("squfof queue overflow")); queue[qpos].Q = g; queue[qpos].P = P % g; qpos++; } } /* I think the difference can be either sign, but mod 2^W_TYPE_SIZE arithmetic should be fine. */ t = Q1 + q * (P - P1); Q1 = Q; Q = t; P = P1; if ( (i & 1) == 0) { uintmax_t r = is_square (Q); if (r) { for (unsigned int j = 0; j < qpos; j++) { if (queue[j].Q == r) { if (r == 1) /* Traversed entire cycle. */ goto next_multiplier; /* Need the absolute value for divisibility test. */ if (P >= queue[j].P) t = P - queue[j].P; else t = queue[j].P - P; if (t % r == 0) { /* Delete entries up to and including entry j, which matched. */ memmove (queue, queue + j + 1, (qpos - j - 1) * sizeof (queue[0])); qpos -= (j + 1); } goto next_i; } } /* We have found a square form, which should give a factor. */ Q1 = r; assert (S >= P); /* What signs are possible? */ P += r * ((S - P) / r); /* Note: Paper says (N - P*P) / Q1, that seems incorrect for the case D = 2N. */ /* Compute Q = (D - P*P) / Q1, but we need double precision. */ uintmax_t hi, lo; umul_ppmm (hi, lo, P, P); sub_ddmmss (hi, lo, Dh, Dl, hi, lo); udiv_qrnnd (Q, rem, hi, lo, Q1); assert (rem == 0); for (;;) { /* Note: There appears to by a typo in the paper, Step 4a in the algorithm description says q <-- floor([S+P]/\hat Q), but looking at the equations in Sec. 3.1, it should be q <-- floor([S+P] / Q). (In this code, \hat Q is Q1). */ div_smallq (q, rem, S+P, Q); P1 = S - rem; /* P1 = q*Q - P */ #if STAT_SQUFOF q_freq[0]++; q_freq[MIN (q, Q_FREQ_SIZE)]++; #endif if (P == P1) break; t = Q1 + q * (P - P1); Q1 = Q; Q = t; P = P1; } if ( (Q & 1) == 0) Q /= 2; Q /= gcd_odd (Q, mu); assert (Q > 1 && (n1 || Q < n0)); if (prime_p (Q)) factor_insert (factors, Q); else if (!factor_using_squfof (0, Q, factors)) factor_using_pollard_rho (Q, 2, factors); divexact_21 (n1, n0, n1, n0, Q); if (prime2_p (n1, n0)) factor_insert_large (factors, n1, n0); else { if (!factor_using_squfof (n1, n0, factors)) { if (n1 == 0) factor_using_pollard_rho (n0, 1, factors); else factor_using_pollard_rho2 (n1, n0, 1, factors); } } return true; } } next_i:; } next_multiplier:; } return false; } /* Compute the prime factors of the 128-bit number (T1,T0), and put the results in FACTORS. Use the algorithm selected by the global ALG. */ static void factor (uintmax_t t1, uintmax_t t0, struct factors *factors) { factors->nfactors = 0; factors->plarge[1] = 0; if (t1 == 0 && t0 < 2) return; t0 = factor_using_division (&t1, t1, t0, factors); if (t1 == 0 && t0 < 2) return; if (prime2_p (t1, t0)) factor_insert_large (factors, t1, t0); else { if (alg == ALG_SQUFOF) if (factor_using_squfof (t1, t0, factors)) return; if (t1 == 0) factor_using_pollard_rho (t0, 1, factors); else factor_using_pollard_rho2 (t1, t0, 1, factors); } } #if HAVE_GMP /* Use Pollard-rho to compute the prime factors of arbitrary-precision T, and put the results in FACTORS. */ static void mp_factor (mpz_t t, struct mp_factors *factors) { mp_factor_init (factors); if (mpz_sgn (t) != 0) { mp_factor_using_division (t, factors); if (mpz_cmp_ui (t, 1) != 0) { devmsg ("[is number prime?] "); if (mp_prime_p (t)) mp_factor_insert (factors, t); else mp_factor_using_pollard_rho (t, 1, factors); } } } #endif static strtol_error strto2uintmax (uintmax_t *hip, uintmax_t *lop, const char *s) { unsigned int lo_carry; uintmax_t hi = 0, lo = 0; strtol_error err = LONGINT_INVALID; /* Skip initial spaces and '+'. */ for (;;) { char c = *s; if (c == ' ') s++; else if (c == '+') { s++; break; } else break; } /* Initial scan for invalid digits. */ const char *p = s; for (;;) { unsigned int c = *p++; if (c == 0) break; if (UNLIKELY (!ISDIGIT (c))) { err = LONGINT_INVALID; break; } err = LONGINT_OK; /* we've seen at least one valid digit */ } for (;err == LONGINT_OK;) { unsigned int c = *s++; if (c == 0) break; c -= '0'; if (UNLIKELY (hi > ~(uintmax_t)0 / 10)) { err = LONGINT_OVERFLOW; break; } hi = 10 * hi; lo_carry = (lo >> (W_TYPE_SIZE - 3)) + (lo >> (W_TYPE_SIZE - 1)); lo_carry += 10 * lo < 2 * lo; lo = 10 * lo; lo += c; lo_carry += lo < c; hi += lo_carry; if (UNLIKELY (hi < lo_carry)) { err = LONGINT_OVERFLOW; break; } } *hip = hi; *lop = lo; return err; } static void print_uintmaxes (uintmax_t t1, uintmax_t t0) { uintmax_t q, r; if (t1 == 0) printf ("%"PRIuMAX, t0); else { /* Use very plain code here since it seems hard to write fast code without assuming a specific word size. */ q = t1 / 1000000000; r = t1 % 1000000000; udiv_qrnnd (t0, r, r, t0, 1000000000); print_uintmaxes (q, t0); printf ("%09u", (int) r); } } /* Single-precision factoring */ static void print_factors_single (uintmax_t t1, uintmax_t t0) { struct factors factors; print_uintmaxes (t1, t0); putchar (':'); factor (t1, t0, &factors); for (unsigned int j = 0; j < factors.nfactors; j++) for (unsigned int k = 0; k < factors.e[j]; k++) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; putchar (' '); fputs (umaxtostr (factors.p[j], buf), stdout); } if (factors.plarge[1]) { putchar (' '); print_uintmaxes (factors.plarge[1], factors.plarge[0]); } putchar ('\n'); } /* Emit the factors of the indicated number. If we have the option of using either algorithm, we select on the basis of the length of the number. For longer numbers, we prefer the MP algorithm even if the native algorithm has enough digits, because the algorithm is better. The turnover point depends on the value. */ static bool print_factors (const char *input) { uintmax_t t1, t0; /* Try converting the number to one or two words. If it fails, use GMP or print an error message. The 2nd condition checks that the most significant bit of the two-word number is clear, in a typesize neutral way. */ strtol_error err = strto2uintmax (&t1, &t0, input); switch (err) { case LONGINT_OK: if (((t1 << 1) >> 1) == t1) { devmsg ("[using single-precision arithmetic] "); print_factors_single (t1, t0); return true; } break; case LONGINT_OVERFLOW: /* Try GMP. */ break; default: error (0, 0, _("%s is not a valid positive integer"), quote (input)); return false; } #if HAVE_GMP devmsg ("[using arbitrary-precision arithmetic] "); mpz_t t; struct mp_factors factors; mpz_init_set_str (t, input, 10); gmp_printf ("%Zd:", t); mp_factor (t, &factors); for (unsigned int j = 0; j < factors.nfactors; j++) for (unsigned int k = 0; k < factors.e[j]; k++) gmp_printf (" %Zd", factors.p[j]); mp_factor_clear (&factors); mpz_clear (t); putchar ('\n'); return true; #else error (0, 0, _("%s is too large"), quote (input)); return false; #endif } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [NUMBER]...\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Print the prime factors of each specified integer NUMBER. If none\n\ are specified on the command line, read them from standard input.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } static bool do_stdin (void) { bool ok = true; token_buffer tokenbuffer; init_tokenbuffer (&tokenbuffer); while (true) { size_t token_length = readtoken (stdin, DELIM, sizeof (DELIM) - 1, &tokenbuffer); if (token_length == (size_t) -1) break; ok &= print_factors (tokenbuffer.buffer); } free (tokenbuffer.buffer); return ok; } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); alg = ALG_POLLARD_RHO; /* Default to Pollard rho */ int c; while ((c = getopt_long (argc, argv, "", long_options, NULL)) != -1) { switch (c) { case DEV_DEBUG_OPTION: dev_debug = true; break; case 's': alg = ALG_SQUFOF; break; case 'w': flag_prove_primality = false; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } #if STAT_SQUFOF if (alg == ALG_SQUFOF) memset (q_freq, 0, sizeof (q_freq)); #endif bool ok; if (argc <= optind) ok = do_stdin (); else { ok = true; for (int i = optind; i < argc; i++) if (! print_factors (argv[i])) ok = false; } #if STAT_SQUFOF if (alg == ALG_SQUFOF && q_freq[0] > 0) { double acc_f; printf ("q freq. cum. freq.(total: %d)\n", q_freq[0]); for (unsigned int i = 1, acc_f = 0.0; i <= Q_FREQ_SIZE; i++) { double f = (double) q_freq[i] / q_freq[0]; acc_f += f; printf ("%s%d %.2f%% %.2f%%\n", i == Q_FREQ_SIZE ? ">=" : "", i, 100.0 * f, 100.0 * acc_f); } } #endif exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/sync.c0000664000000000000000000000367112102337340012257 00000000000000/* sync - update the super block Copyright (C) 1994-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "sync" #define AUTHORS proper_name ("Jim Meyering") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]\n"), program_name); fputs (_("\ Force changed blocks to disk, update the super block.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (optind < argc) error (0, 0, _("ignoring all arguments")); sync (); exit (EXIT_SUCCESS); } coreutils-8.21/src/cksum.c0000664000000000000000000002322712102337340012424 00000000000000/* cksum -- calculate and print POSIX checksums and sizes of files Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Q. Frank Xia, qx@math.columbia.edu. Cosmetic changes and reorganization by David MacKenzie, djm@gnu.ai.mit.edu. Usage: cksum [file...] The code segment between "#ifdef CRCTAB" and "#else" is the code which calculates the "crctab". It is included for those who want verify the correctness of the "crctab". To recreate the "crctab", do something like the following: cc -DCRCTAB -o crctab cksum.c crctab > crctab.h This software is compatible with neither the System V nor the BSD 'sum' program. It is supposed to conform to POSIX, except perhaps for foreign language support. Any inconsistency with the standard (other than foreign language support) is a bug. */ #include /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "cksum" #define AUTHORS proper_name ("Q. Frank Xia") #include #include #include #include "system.h" #include "fadvise.h" #include "xfreopen.h" #ifdef CRCTAB # define BIT(x) ((uint_fast32_t) 1 << (x)) # define SBIT BIT (31) /* The generating polynomial is 32 26 23 22 16 12 11 10 8 7 5 4 2 1 G(X)=X + X + X + X + X + X + X + X + X + X + X + X + X + X + 1 The i bit in GEN is set if X^i is a summand of G(X) except X^32. */ # define GEN (BIT (26) | BIT (23) | BIT (22) | BIT (16) | BIT (12) \ | BIT (11) | BIT (10) | BIT (8) | BIT (7) | BIT (5) \ | BIT (4) | BIT (2) | BIT (1) | BIT (0)) static uint_fast32_t r[8]; static void fill_r (void) { int i; r[0] = GEN; for (i = 1; i < 8; i++) r[i] = (r[i - 1] << 1) ^ ((r[i - 1] & SBIT) ? GEN : 0); } static uint_fast32_t crc_remainder (int m) { uint_fast32_t rem = 0; int i; for (i = 0; i < 8; i++) if (BIT (i) & m) rem ^= r[i]; return rem & 0xFFFFFFFF; /* Make it run on 64-bit machine. */ } int main (void) { int i; fill_r (); printf ("static uint_fast32_t const crctab[256] =\n{\n 0x00000000"); for (i = 0; i < 51; i++) { printf (",\n 0x%08x, 0x%08x, 0x%08x, 0x%08x, 0x%08x", crc_remainder (i * 5 + 1), crc_remainder (i * 5 + 2), crc_remainder (i * 5 + 3), crc_remainder (i * 5 + 4), crc_remainder (i * 5 + 5)); } printf ("\n};\n"); exit (EXIT_SUCCESS); } #else /* !CRCTAB */ # include # include "long-options.h" # include "error.h" /* Number of bytes to read at once. */ # define BUFLEN (1 << 16) static uint_fast32_t const crctab[256] = { 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 }; /* Nonzero if any of the files read were the standard input. */ static bool have_read_stdin; /* Calculate and print the checksum and length in bytes of file FILE, or of the standard input if FILE is "-". If PRINT_NAME is true, print FILE next to the checksum and size. Return true if successful. */ static bool cksum (const char *file, bool print_name) { unsigned char buf[BUFLEN]; uint_fast32_t crc = 0; uintmax_t length = 0; size_t bytes_read; FILE *fp; char length_buf[INT_BUFSIZE_BOUND (uintmax_t)]; char const *hp; if (STREQ (file, "-")) { fp = stdin; have_read_stdin = true; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { fp = fopen (file, (O_BINARY ? "rb" : "r")); if (fp == NULL) { error (0, errno, "%s", file); return false; } } fadvise (fp, FADVISE_SEQUENTIAL); while ((bytes_read = fread (buf, 1, BUFLEN, fp)) > 0) { unsigned char *cp = buf; if (length + bytes_read < length) error (EXIT_FAILURE, 0, _("%s: file too long"), file); length += bytes_read; while (bytes_read--) crc = (crc << 8) ^ crctab[((crc >> 24) ^ *cp++) & 0xFF]; if (feof (fp)) break; } if (ferror (fp)) { error (0, errno, "%s", file); if (!STREQ (file, "-")) fclose (fp); return false; } if (!STREQ (file, "-") && fclose (fp) == EOF) { error (0, errno, "%s", file); return false; } hp = umaxtostr (length, length_buf); for (; length; length >>= 8) crc = (crc << 8) ^ crctab[((crc >> 24) ^ length) & 0xFF]; crc = ~crc & 0xFFFFFFFF; if (print_name) printf ("%u %s %s\n", (unsigned int) crc, hp, file); else printf ("%u %s\n", (unsigned int) crc, hp); if (ferror (stdout)) error (EXIT_FAILURE, errno, "-: %s", _("write error")); return true; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [FILE]...\n\ or: %s [OPTION]\n\ "), program_name, program_name); fputs (_("\ Print CRC checksum and byte counts of each FILE.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int i; bool ok; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Line buffer stdout to ensure lines are written atomically and immediately so that processes running in parallel do not intersperse their output. */ setvbuf (stdout, NULL, _IOLBF, 0); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); have_read_stdin = false; if (optind == argc) ok = cksum ("-", false); else { ok = true; for (i = optind; i < argc; i++) ok &= cksum (argv[i], true); } if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } #endif /* !CRCTAB */ coreutils-8.21/src/rmdir.c0000664000000000000000000001520212102337340012411 00000000000000/* rmdir -- remove directories Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Options: -p, --parent Remove any parent dirs that are explicitly mentioned in an argument, if they become empty after the argument file is removed. David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "prog-fprintf.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "rmdir" #define AUTHORS proper_name ("David MacKenzie") /* If true, remove empty parent directories. */ static bool remove_empty_parents; /* If true, don't treat failure to remove a nonempty directory as an error. */ static bool ignore_fail_on_non_empty; /* If true, output a diagnostic for every directory processed. */ static bool verbose; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { IGNORE_FAIL_ON_NON_EMPTY_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { /* Don't name this '--force' because it's not close enough in meaning to e.g. rm's -f option. */ {"ignore-fail-on-non-empty", no_argument, NULL, IGNORE_FAIL_ON_NON_EMPTY_OPTION}, {"path", no_argument, NULL, 'p'}, /* Deprecated. */ {"parents", no_argument, NULL, 'p'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return true if ERROR_NUMBER is one of the values associated with a failed rmdir due to non-empty target directory. */ static bool errno_rmdir_non_empty (int error_number) { return error_number == ENOTEMPTY || error_number == EEXIST; } /* Return true if when rmdir fails with errno == ERROR_NUMBER the directory may be empty. */ static bool errno_may_be_empty (int error_number) { switch (error_number) { case EACCES: case EPERM: case EROFS: case EEXIST: case EBUSY: return true; default: return false; } } /* Return true if an rmdir failure with errno == error_number for DIR is ignorable. */ static bool ignorable_failure (int error_number, char const *dir) { return (ignore_fail_on_non_empty && (errno_rmdir_non_empty (error_number) || (errno_may_be_empty (error_number) && is_empty_dir (AT_FDCWD, dir)))); } /* Remove any empty parent directories of DIR. If DIR contains slash characters, at least one of them (beginning with the rightmost) is replaced with a NUL byte. Return true if successful. */ static bool remove_parents (char *dir) { char *slash; bool ok = true; strip_trailing_slashes (dir); while (1) { slash = strrchr (dir, '/'); if (slash == NULL) break; /* Remove any characters after the slash, skipping any extra slashes in a row. */ while (slash > dir && *slash == '/') --slash; slash[1] = 0; /* Give a diagnostic for each attempted removal if --verbose. */ if (verbose) prog_fprintf (stdout, _("removing directory, %s"), quote (dir)); ok = (rmdir (dir) == 0); if (!ok) { /* Stop quietly if --ignore-fail-on-non-empty. */ if (ignorable_failure (errno, dir)) { ok = true; } else { /* Barring race conditions, DIR is expected to be a directory. */ error (0, errno, _("failed to remove directory %s"), quote (dir)); } break; } } return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... DIRECTORY...\n"), program_name); fputs (_("\ Remove the DIRECTORY(ies), if they are empty.\n\ \n\ --ignore-fail-on-non-empty\n\ ignore each failure that is solely because a directory\n\ is non-empty\n\ "), stdout); fputs (_("\ -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is\ \n\ similar to 'rmdir a/b/c a/b a'\n\ -v, --verbose output a diagnostic for every directory processed\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { bool ok = true; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); remove_empty_parents = false; while ((optc = getopt_long (argc, argv, "pv", longopts, NULL)) != -1) { switch (optc) { case 'p': remove_empty_parents = true; break; case IGNORE_FAIL_ON_NON_EMPTY_OPTION: ignore_fail_on_non_empty = true; break; case 'v': verbose = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } for (; optind < argc; ++optind) { char *dir = argv[optind]; /* Give a diagnostic for each attempted removal if --verbose. */ if (verbose) prog_fprintf (stdout, _("removing directory, %s"), quote (dir)); if (rmdir (dir) != 0) { if (ignorable_failure (errno, dir)) continue; /* Here, the diagnostic is less precise, since we have no idea whether DIR is a directory. */ error (0, errno, _("failed to remove %s"), quote (dir)); ok = false; } else if (remove_empty_parents) { ok &= remove_parents (dir); } } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/c99-to-c89.diff0000664000000000000000000001225211760630450013420 00000000000000diff -upr src/remove.c src/remove.c --- src/remove.c 1970-01-01 00:00:00.000000000 +0000 +++ src/remove.c 1970-01-01 00:00:00.000000000 +0000 @@ -262,9 +262,10 @@ pop_dir (Dirstack_state *ds) { size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t); size_t *length = obstack_base (&ds->len_stack); + size_t top_len; assert (n_lengths > 0); - size_t top_len = length[n_lengths - 1]; + top_len = length[n_lengths - 1]; assert (top_len >= 2); /* Pop the specified length of file name. */ @@ -422,10 +423,11 @@ AD_stack_top (Dirstack_state const *ds) static void AD_stack_pop (Dirstack_state *ds) { + struct AD_ent *top; assert (0 < AD_stack_height (ds)); /* operate on Active_dir. pop and free top entry */ - struct AD_ent *top = AD_stack_top (ds); + top = AD_stack_top (ds); if (top->unremovable) hash_free (top->unremovable); obstack_blank (&ds->Active_dir, -(int) sizeof (struct AD_ent)); @@ -834,14 +836,13 @@ prompt (int fd_cwd, Dirstack_state const { int write_protected = 0; int dirent_type = *pdirent_type; + int wp_errno = 0; *is_empty = T_UNKNOWN; if (x->interactive == RMI_NEVER) return RM_OK; - int wp_errno = 0; - if (!x->ignore_missing_files && ((x->interactive == RMI_ALWAYS) || x->stdin_tty) && dirent_type != DT_LNK) @@ -889,6 +890,7 @@ prompt (int fd_cwd, Dirstack_state const break; } + { char const *quoted_name = quote (full_filename (filename)); if (write_protected < 0) @@ -928,6 +930,7 @@ prompt (int fd_cwd, Dirstack_state const : _("%s: remove %s %s? ")), program_name, file_type (sbuf), quoted_name); } + } if (!yesno ()) return RM_USER_DECLINED; @@ -1547,6 +1550,7 @@ rm_1 (Dirstack_state *ds, char const *fi return RM_ERROR; } + { struct stat st; cache_stat_init (&st); cycle_check_init (&ds->cycle_check_state); @@ -1569,6 +1573,7 @@ rm_1 (Dirstack_state *ds, char const *fi AD_push_initial (ds); AD_INIT_OTHER_MEMBERS (); + { enum RM_status status = remove_entry (AT_FDCWD, ds, filename, DT_UNKNOWN, &st, x); if (status == RM_NONEMPTY_DIR) @@ -1587,6 +1592,8 @@ rm_1 (Dirstack_state *ds, char const *fi ds_clear (ds); return status; } + } +} /* Remove all files and/or directories specified by N_FILES and FILE. Apply the options in X. */ diff -upr src/rm.c src/rm.c --- src/rm.c 1970-01-01 00:00:00.000000000 +0000 +++ src/rm.c 1970-01-01 00:00:00.000000000 +0000 @@ -354,6 +354,7 @@ main (int argc, char **argv) quote ("/")); } + { size_t n_files = argc - optind; char const *const *file = (char const *const *) argv + optind; @@ -367,7 +368,10 @@ main (int argc, char **argv) if (!yesno ()) exit (EXIT_SUCCESS); } + { enum RM_status status = rm (n_files, file, &x); assert (VALID_STATUS (status)); exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS); + } + } } diff -upr src/seq.c src/seq.c --- src/seq.c 1970-01-01 00:00:00.000000000 +0000 +++ src/seq.c 1970-01-01 00:00:00.000000000 +0000 @@ -163,6 +163,7 @@ scan_arg (const char *arg) : (decimal_point == arg /* .# -> 0.# */ || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */ } + { char const *e = strchr (arg, 'e'); if (! e) e = strchr (arg, 'E'); @@ -171,6 +172,7 @@ scan_arg (const char *arg) long exponent = strtol (e + 1, NULL, 10); ret.precision += exponent < 0 ? -exponent : 0; } + } } return ret; @@ -346,6 +348,7 @@ get_default_format (operand first, opera size_t last_width = last.width + (prec - last.precision); if (last.precision && prec == 0) last_width--; /* don't include space for '.' */ + { size_t width = MAX (first_width, last_width); if (width <= INT_MAX) { @@ -353,6 +356,7 @@ get_default_format (operand first, opera sprintf (format_buf, "%%0%d.%dLf", w, prec); return format_buf; } + } } else { @@ -441,6 +445,7 @@ main (int argc, char **argv) if (format_str) { validate_format (format_str); + { char const *f = long_double_format (format_str, &layout); if (! f) { @@ -448,6 +453,7 @@ main (int argc, char **argv) usage (EXIT_FAILURE); } format_str = f; + } } last = scan_arg (argv[optind++]); diff -upr src/shred.c src/shred.c --- src/shred.c 1970-01-01 00:00:00.000000000 +0000 +++ src/shred.c 1970-01-01 00:00:00.000000000 +0000 @@ -468,7 +468,7 @@ dopass (int fd, char const *qname, off_t out. Thus, it shouldn't give up on bad blocks. This code works because lim is always a multiple of SECTOR_SIZE, except at the end. */ - verify (sizeof r % SECTOR_SIZE == 0); + { verify (sizeof r % SECTOR_SIZE == 0); } if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim) { size_t soff1 = (soff | SECTOR_MASK) + 1; coreutils-8.21/src/uname-uname.c0000664000000000000000000000006111624727241013514 00000000000000#include "uname.h" int uname_mode = UNAME_UNAME; coreutils-8.21/src/wc.c0000664000000000000000000005636112102337340011720 00000000000000/* wc - print the number of lines, words, and bytes in files Copyright (C) 1985-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Rubin, phr@ocf.berkeley.edu and David MacKenzie, djm@gnu.ai.mit.edu. */ #include #include #include #include #include #include #include #include "system.h" #include "argv-iter.h" #include "error.h" #include "fadvise.h" #include "mbchar.h" #include "physmem.h" #include "quote.h" #include "quotearg.h" #include "readtokens0.h" #include "safe-read.h" #include "xfreopen.h" #if !defined iswspace && !HAVE_ISWSPACE # define iswspace(wc) \ ((wc) == to_uchar (wc) && isspace (to_uchar (wc))) #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "wc" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name ("David MacKenzie") /* Size of atomic reads. */ #define BUFFER_SIZE (16 * 1024) /* Cumulative number of lines, words, chars and bytes in all files so far. max_line_length is the maximum over all files processed so far. */ static uintmax_t total_lines; static uintmax_t total_words; static uintmax_t total_chars; static uintmax_t total_bytes; static uintmax_t max_line_length; /* Which counts to print. */ static bool print_lines, print_words, print_chars, print_bytes; static bool print_linelength; /* The print width of each count. */ static int number_width; /* True if we have ever read the standard input. */ static bool have_read_stdin; /* The result of calling fstat or stat on a file descriptor or file. */ struct fstatus { /* If positive, fstat or stat has not been called yet. Otherwise, this is the value returned from fstat or stat. */ int failed; /* If FAILED is zero, this is the file's status. */ struct stat st; }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { FILES0_FROM_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { {"bytes", no_argument, NULL, 'c'}, {"chars", no_argument, NULL, 'm'}, {"lines", no_argument, NULL, 'l'}, {"words", no_argument, NULL, 'w'}, {"files0-from", required_argument, NULL, FILES0_FROM_OPTION}, {"max-line-length", no_argument, NULL, 'L'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ or: %s [OPTION]... --files0-from=F\n\ "), program_name, program_name); fputs (_("\ Print newline, word, and byte counts for each FILE, and a total line if\n\ more than one FILE is specified. With no FILE, or when FILE is -,\n\ read standard input. A word is a non-zero-length sequence of characters\n\ delimited by white space.\n\ The options below may be used to select which counts are printed, always in\n\ the following order: newline, word, character, byte, maximum line length.\n\ -c, --bytes print the byte counts\n\ -m, --chars print the character counts\n\ -l, --lines print the newline counts\n\ "), stdout); fputs (_("\ --files0-from=F read input from the files specified by\n\ NUL-terminated names in file F;\n\ If F is - then read names from standard input\n\ -L, --max-line-length print the length of the longest line\n\ -w, --words print the word counts\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* FILE is the name of the file (or NULL for standard input) associated with the specified counters. */ static void write_counts (uintmax_t lines, uintmax_t words, uintmax_t chars, uintmax_t bytes, uintmax_t linelength, const char *file) { static char const format_sp_int[] = " %*s"; char const *format_int = format_sp_int + 1; char buf[INT_BUFSIZE_BOUND (uintmax_t)]; if (print_lines) { printf (format_int, number_width, umaxtostr (lines, buf)); format_int = format_sp_int; } if (print_words) { printf (format_int, number_width, umaxtostr (words, buf)); format_int = format_sp_int; } if (print_chars) { printf (format_int, number_width, umaxtostr (chars, buf)); format_int = format_sp_int; } if (print_bytes) { printf (format_int, number_width, umaxtostr (bytes, buf)); format_int = format_sp_int; } if (print_linelength) { printf (format_int, number_width, umaxtostr (linelength, buf)); } if (file) printf (" %s", file); putchar ('\n'); } /* Count words. FILE_X is the name of the file (or NULL for standard input) that is open on descriptor FD. *FSTATUS is its status. Return true if successful. */ static bool wc (int fd, char const *file_x, struct fstatus *fstatus) { bool ok = true; char buf[BUFFER_SIZE + 1]; size_t bytes_read; uintmax_t lines, words, chars, bytes, linelength; bool count_bytes, count_chars, count_complicated; char const *file = file_x ? file_x : _("standard input"); lines = words = chars = bytes = linelength = 0; /* If in the current locale, chars are equivalent to bytes, we prefer counting bytes, because that's easier. */ #if MB_LEN_MAX > 1 if (MB_CUR_MAX > 1) { count_bytes = print_bytes; count_chars = print_chars; } else #endif { count_bytes = print_bytes || print_chars; count_chars = false; } count_complicated = print_words || print_linelength; /* Advise the kernel of our access pattern only if we will read(). */ if (!count_bytes || count_chars || print_lines || count_complicated) fdadvise (fd, 0, 0, FADVISE_SEQUENTIAL); /* When counting only bytes, save some line- and word-counting overhead. If FD is a 'regular' Unix file, using lseek is enough to get its 'size' in bytes. Otherwise, read blocks of BUFFER_SIZE bytes at a time until EOF. Note that the 'size' (number of bytes) that wc reports is smaller than stats.st_size when the file is not positioned at its beginning. That's why the lseek calls below are necessary. For example the command '(dd ibs=99k skip=1 count=0; ./wc -c) < /etc/group' should make wc report '0' bytes. */ if (count_bytes && !count_chars && !print_lines && !count_complicated) { off_t current_pos, end_pos; if (0 < fstatus->failed) fstatus->failed = fstat (fd, &fstatus->st); if (! fstatus->failed && S_ISREG (fstatus->st.st_mode) && (current_pos = lseek (fd, 0, SEEK_CUR)) != -1 && (end_pos = lseek (fd, 0, SEEK_END)) != -1) { /* Be careful here. The current position may actually be beyond the end of the file. As in the example above. */ bytes = end_pos < current_pos ? 0 : end_pos - current_pos; } else { fdadvise (fd, 0, 0, FADVISE_SEQUENTIAL); while ((bytes_read = safe_read (fd, buf, BUFFER_SIZE)) > 0) { if (bytes_read == SAFE_READ_ERROR) { error (0, errno, "%s", file); ok = false; break; } bytes += bytes_read; } } } else if (!count_chars && !count_complicated) { /* Use a separate loop when counting only lines or lines and bytes -- but not chars or words. */ while ((bytes_read = safe_read (fd, buf, BUFFER_SIZE)) > 0) { char *p = buf; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, "%s", file); ok = false; break; } while ((p = memchr (p, '\n', (buf + bytes_read) - p))) { ++p; ++lines; } bytes += bytes_read; } } #if MB_LEN_MAX > 1 # define SUPPORT_OLD_MBRTOWC 1 else if (MB_CUR_MAX > 1) { bool in_word = false; uintmax_t linepos = 0; mbstate_t state = { 0, }; bool in_shift = false; # if SUPPORT_OLD_MBRTOWC /* Back-up the state before each multibyte character conversion and move the last incomplete character of the buffer to the front of the buffer. This is needed because we don't know whether the 'mbrtowc' function updates the state when it returns -2, -- this is the ISO C 99 and glibc-2.2 behaviour - or not - amended ANSI C, glibc-2.1 and Solaris 5.7 behaviour. We don't have an autoconf test for this, yet. */ size_t prev = 0; /* number of bytes carried over from previous round */ # else const size_t prev = 0; # endif while ((bytes_read = safe_read (fd, buf + prev, BUFFER_SIZE - prev)) > 0) { const char *p; # if SUPPORT_OLD_MBRTOWC mbstate_t backup_state; # endif if (bytes_read == SAFE_READ_ERROR) { error (0, errno, "%s", file); ok = false; break; } bytes += bytes_read; p = buf; bytes_read += prev; do { wchar_t wide_char; size_t n; if (!in_shift && is_basic (*p)) { /* Handle most ASCII characters quickly, without calling mbrtowc(). */ n = 1; wide_char = *p; } else { in_shift = true; # if SUPPORT_OLD_MBRTOWC backup_state = state; # endif n = mbrtowc (&wide_char, p, bytes_read, &state); if (n == (size_t) -2) { # if SUPPORT_OLD_MBRTOWC state = backup_state; # endif break; } if (n == (size_t) -1) { /* Remember that we read a byte, but don't complain about the error. Because of the decoding error, this is a considered to be byte but not a character (that is, chars is not incremented). */ p++; bytes_read--; continue; } if (mbsinit (&state)) in_shift = false; if (n == 0) { wide_char = 0; n = 1; } } p += n; bytes_read -= n; chars++; switch (wide_char) { case '\n': lines++; /* Fall through. */ case '\r': case '\f': if (linepos > linelength) linelength = linepos; linepos = 0; goto mb_word_separator; case '\t': linepos += 8 - (linepos % 8); goto mb_word_separator; case ' ': linepos++; /* Fall through. */ case '\v': mb_word_separator: words += in_word; in_word = false; break; default: if (iswprint (wide_char)) { int width = wcwidth (wide_char); if (width > 0) linepos += width; if (iswspace (wide_char)) goto mb_word_separator; in_word = true; } break; } } while (bytes_read > 0); # if SUPPORT_OLD_MBRTOWC if (bytes_read > 0) { if (bytes_read == BUFFER_SIZE) { /* Encountered a very long redundant shift sequence. */ p++; bytes_read--; } memmove (buf, p, bytes_read); } prev = bytes_read; # endif } if (linepos > linelength) linelength = linepos; words += in_word; } #endif else { bool in_word = false; uintmax_t linepos = 0; while ((bytes_read = safe_read (fd, buf, BUFFER_SIZE)) > 0) { const char *p = buf; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, "%s", file); ok = false; break; } bytes += bytes_read; do { switch (*p++) { case '\n': lines++; /* Fall through. */ case '\r': case '\f': if (linepos > linelength) linelength = linepos; linepos = 0; goto word_separator; case '\t': linepos += 8 - (linepos % 8); goto word_separator; case ' ': linepos++; /* Fall through. */ case '\v': word_separator: words += in_word; in_word = false; break; default: if (isprint (to_uchar (p[-1]))) { linepos++; if (isspace (to_uchar (p[-1]))) goto word_separator; in_word = true; } break; } } while (--bytes_read); } if (linepos > linelength) linelength = linepos; words += in_word; } if (count_chars < print_chars) chars = bytes; write_counts (lines, words, chars, bytes, linelength, file_x); total_lines += lines; total_words += words; total_chars += chars; total_bytes += bytes; if (linelength > max_line_length) max_line_length = linelength; return ok; } static bool wc_file (char const *file, struct fstatus *fstatus) { if (! file || STREQ (file, "-")) { have_read_stdin = true; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); return wc (STDIN_FILENO, file, fstatus); } else { int fd = open (file, O_RDONLY | O_BINARY); if (fd == -1) { error (0, errno, "%s", file); return false; } else { bool ok = wc (fd, file, fstatus); if (close (fd) != 0) { error (0, errno, "%s", file); return false; } return ok; } } } /* Return the file status for the NFILES files addressed by FILE. Optimize the case where only one number is printed, for just one file; in that case we can use a print width of 1, so we don't need to stat the file. Handle the case of (nfiles == 0) in the same way; that happens when we don't know how long the list of file names will be. */ static struct fstatus * get_input_fstatus (int nfiles, char *const *file) { struct fstatus *fstatus = xnmalloc (nfiles ? nfiles : 1, sizeof *fstatus); if (nfiles == 0 || (nfiles == 1 && ((print_lines + print_words + print_chars + print_bytes + print_linelength) == 1))) fstatus[0].failed = 1; else { int i; for (i = 0; i < nfiles; i++) fstatus[i].failed = (! file[i] || STREQ (file[i], "-") ? fstat (STDIN_FILENO, &fstatus[i].st) : stat (file[i], &fstatus[i].st)); } return fstatus; } /* Return a print width suitable for the NFILES files whose status is recorded in FSTATUS. Optimize the same special case that get_input_fstatus optimizes. */ static int _GL_ATTRIBUTE_PURE compute_number_width (int nfiles, struct fstatus const *fstatus) { int width = 1; if (0 < nfiles && fstatus[0].failed <= 0) { int minimum_width = 1; uintmax_t regular_total = 0; int i; for (i = 0; i < nfiles; i++) if (! fstatus[i].failed) { if (S_ISREG (fstatus[i].st.st_mode)) regular_total += fstatus[i].st.st_size; else minimum_width = 7; } for (; 10 <= regular_total; regular_total /= 10) width++; if (width < minimum_width) width = minimum_width; } return width; } int main (int argc, char **argv) { bool ok; int optc; int nfiles; char **files; char *files_from = NULL; struct fstatus *fstatus; struct Tokens tok; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Line buffer stdout to ensure lines are written atomically and immediately so that processes running in parallel do not intersperse their output. */ setvbuf (stdout, NULL, _IOLBF, 0); print_lines = print_words = print_chars = print_bytes = false; print_linelength = false; total_lines = total_words = total_chars = total_bytes = max_line_length = 0; while ((optc = getopt_long (argc, argv, "clLmw", longopts, NULL)) != -1) switch (optc) { case 'c': print_bytes = true; break; case 'm': print_chars = true; break; case 'l': print_lines = true; break; case 'w': print_words = true; break; case 'L': print_linelength = true; break; case FILES0_FROM_OPTION: files_from = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } if (! (print_lines || print_words || print_chars || print_bytes || print_linelength)) print_lines = print_words = print_bytes = true; bool read_tokens = false; struct argv_iterator *ai; if (files_from) { FILE *stream; /* When using --files0-from=F, you may not specify any files on the command-line. */ if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); fprintf (stderr, "%s\n", _("file operands cannot be combined with --files0-from")); usage (EXIT_FAILURE); } if (STREQ (files_from, "-")) stream = stdin; else { stream = fopen (files_from, "r"); if (stream == NULL) error (EXIT_FAILURE, errno, _("cannot open %s for reading"), quote (files_from)); } /* Read the file list into RAM if we can detect its size and that size is reasonable. Otherwise, we'll read a name at a time. */ struct stat st; if (fstat (fileno (stream), &st) == 0 && S_ISREG (st.st_mode) && st.st_size <= MIN (10 * 1024 * 1024, physmem_available () / 2)) { read_tokens = true; readtokens0_init (&tok); if (! readtokens0 (stream, &tok) || fclose (stream) != 0) error (EXIT_FAILURE, 0, _("cannot read file names from %s"), quote (files_from)); files = tok.tok; nfiles = tok.n_tok; ai = argv_iter_init_argv (files); } else { files = NULL; nfiles = 0; ai = argv_iter_init_stream (stream); } } else { static char *stdin_only[] = { NULL }; files = (optind < argc ? argv + optind : stdin_only); nfiles = (optind < argc ? argc - optind : 1); ai = argv_iter_init_argv (files); } if (!ai) xalloc_die (); fstatus = get_input_fstatus (nfiles, files); number_width = compute_number_width (nfiles, fstatus); int i; ok = true; for (i = 0; /* */; i++) { bool skip_file = false; enum argv_iter_err ai_err; char *file_name = argv_iter (ai, &ai_err); if (!file_name) { switch (ai_err) { case AI_ERR_EOF: goto argv_iter_done; case AI_ERR_READ: error (0, errno, _("%s: read error"), quotearg_colon (files_from)); ok = false; goto argv_iter_done; case AI_ERR_MEM: xalloc_die (); default: assert (!"unexpected error code from argv_iter"); } } if (files_from && STREQ (files_from, "-") && STREQ (file_name, "-")) { /* Give a better diagnostic in an unusual case: printf - | wc --files0-from=- */ error (0, 0, _("when reading file names from stdin, " "no file name of %s allowed"), quote (file_name)); skip_file = true; } if (!file_name[0]) { /* Diagnose a zero-length file name. When it's one among many, knowing the record number may help. FIXME: currently print the record number only with --files0-from=FILE. Maybe do it for argv, too? */ if (files_from == NULL) error (0, 0, "%s", _("invalid zero-length file name")); else { /* Using the standard 'filename:line-number:' prefix here is not totally appropriate, since NUL is the separator, not NL, but it might be better than nothing. */ unsigned long int file_number = argv_iter_n_args (ai); error (0, 0, "%s:%lu: %s", quotearg_colon (files_from), file_number, _("invalid zero-length file name")); } skip_file = true; } if (skip_file) ok = false; else ok &= wc_file (file_name, &fstatus[nfiles ? i : 0]); } argv_iter_done: /* No arguments on the command line is fine. That means read from stdin. However, no arguments on the --files0-from input stream is an error means don't read anything. */ if (ok && !files_from && argv_iter_n_args (ai) == 0) ok &= wc_file (NULL, &fstatus[0]); if (read_tokens) readtokens0_free (&tok); if (1 < argv_iter_n_args (ai)) write_counts (total_lines, total_words, total_chars, total_bytes, max_line_length, _("total")); argv_iter_free (ai); free (fstatus); if (have_read_stdin && close (STDIN_FILENO) != 0) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/rm.c0000664000000000000000000002375212102337340011723 00000000000000/* 'rm' file deletion utility for GNU. Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Initially written by Paul Rubin, David MacKenzie, and Richard Stallman. Reworked to use chdir and avoid recursion, and later, rewritten once again, to use fts, by Jim Meyering. */ #include #include #include #include #include #include "system.h" #include "argmatch.h" #include "error.h" #include "quote.h" #include "quotearg.h" #include "remove.h" #include "root-dev-ino.h" #include "yesno.h" #include "priv-set.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "rm" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name ("David MacKenzie"), \ proper_name ("Richard M. Stallman"), \ proper_name ("Jim Meyering") /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { INTERACTIVE_OPTION = CHAR_MAX + 1, ONE_FILE_SYSTEM, NO_PRESERVE_ROOT, PRESERVE_ROOT, PRESUME_INPUT_TTY_OPTION }; enum interactive_type { interactive_never, /* 0: no option or --interactive=never */ interactive_once, /* 1: -I or --interactive=once */ interactive_always /* 2: default, -i or --interactive=always */ }; static struct option const long_opts[] = { {"force", no_argument, NULL, 'f'}, {"interactive", optional_argument, NULL, INTERACTIVE_OPTION}, {"one-file-system", no_argument, NULL, ONE_FILE_SYSTEM}, {"no-preserve-root", no_argument, NULL, NO_PRESERVE_ROOT}, {"preserve-root", no_argument, NULL, PRESERVE_ROOT}, /* This is solely for testing. Do not document. */ /* It is relatively difficult to ensure that there is a tty on stdin. Since rm acts differently depending on that, without this option, it'd be harder to test the parts of rm that depend on that setting. */ {"-presume-input-tty", no_argument, NULL, PRESUME_INPUT_TTY_OPTION}, {"recursive", no_argument, NULL, 'r'}, {"dir", no_argument, NULL, 'd'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static char const *const interactive_args[] = { "never", "no", "none", "once", "always", "yes", NULL }; static enum interactive_type const interactive_types[] = { interactive_never, interactive_never, interactive_never, interactive_once, interactive_always, interactive_always }; ARGMATCH_VERIFY (interactive_args, interactive_types); /* Advise the user about invalid usages like "rm -foo" if the file "-foo" exists, assuming ARGC and ARGV are as with 'main'. */ static void diagnose_leading_hyphen (int argc, char **argv) { /* OPTIND is unreliable, so iterate through the arguments looking for a file name that looks like an option. */ int i; for (i = 1; i < argc; i++) { char const *arg = argv[i]; struct stat st; if (arg[0] == '-' && arg[1] && lstat (arg, &st) == 0) { fprintf (stderr, _("Try '%s ./%s' to remove the file %s.\n"), argv[0], quotearg_n_style (1, shell_quoting_style, arg), quote (arg)); break; } } } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("\ Remove (unlink) the FILE(s).\n\ \n\ -f, --force ignore nonexistent files and arguments, never prompt\n\ -i prompt before every removal\n\ "), stdout); fputs (_("\ -I prompt once before removing more than three files, or\n\ when removing recursively. Less intrusive than -i,\n\ while still giving protection against most mistakes\n\ --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n\ always (-i). Without WHEN, prompt always\n\ "), stdout); fputs (_("\ --one-file-system when removing a hierarchy recursively, skip any\n\ directory that is on a file system different from\n\ that of the corresponding command line argument\n\ "), stdout); fputs (_("\ --no-preserve-root do not treat '/' specially\n\ --preserve-root do not remove '/' (default)\n\ -r, -R, --recursive remove directories and their contents recursively\n\ -d, --dir remove empty directories\n\ -v, --verbose explain what is being done\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ By default, rm does not remove directories. Use the --recursive (-r or -R)\n\ option to remove each listed directory, too, along with all of its contents.\n\ "), stdout); printf (_("\ \n\ To remove a file whose name starts with a '-', for example '-foo',\n\ use one of these commands:\n\ %s -- -foo\n\ \n\ %s ./-foo\n\ "), program_name, program_name); fputs (_("\ \n\ Note that if you use rm to remove a file, it might be possible to recover\n\ some of its contents, given sufficient expertise and/or time. For greater\n\ assurance that the contents are truly unrecoverable, consider using shred.\n\ "), stdout); emit_ancillary_info (); } exit (status); } static void rm_option_init (struct rm_options *x) { x->ignore_missing_files = false; x->interactive = RMI_SOMETIMES; x->one_file_system = false; x->remove_empty_directories = false; x->recursive = false; x->root_dev_ino = NULL; x->stdin_tty = isatty (STDIN_FILENO); x->verbose = false; /* Since this program exits immediately after calling 'rm', rm need not expend unnecessary effort to preserve the initial working directory. */ x->require_restore_cwd = false; } int main (int argc, char **argv) { bool preserve_root = true; struct rm_options x; bool prompt_once = false; int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdin); rm_option_init (&x); /* Try to disable the ability to unlink a directory. */ priv_set_remove_linkdir (); while ((c = getopt_long (argc, argv, "dfirvIR", long_opts, NULL)) != -1) { switch (c) { case 'd': x.remove_empty_directories = true; break; case 'f': x.interactive = RMI_NEVER; x.ignore_missing_files = true; prompt_once = false; break; case 'i': x.interactive = RMI_ALWAYS; x.ignore_missing_files = false; prompt_once = false; break; case 'I': x.interactive = RMI_NEVER; x.ignore_missing_files = false; prompt_once = true; break; case 'r': case 'R': x.recursive = true; break; case INTERACTIVE_OPTION: { int i; if (optarg) i = XARGMATCH ("--interactive", optarg, interactive_args, interactive_types); else i = interactive_always; switch (i) { case interactive_never: x.interactive = RMI_NEVER; prompt_once = false; break; case interactive_once: x.interactive = RMI_SOMETIMES; x.ignore_missing_files = false; prompt_once = true; break; case interactive_always: x.interactive = RMI_ALWAYS; x.ignore_missing_files = false; prompt_once = false; break; } break; } case ONE_FILE_SYSTEM: x.one_file_system = true; break; case NO_PRESERVE_ROOT: preserve_root = false; break; case PRESERVE_ROOT: preserve_root = true; break; case PRESUME_INPUT_TTY_OPTION: x.stdin_tty = true; break; case 'v': x.verbose = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: diagnose_leading_hyphen (argc, argv); usage (EXIT_FAILURE); } } if (argc <= optind) { if (x.ignore_missing_files) exit (EXIT_SUCCESS); else { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } } if (x.recursive && preserve_root) { static struct dev_ino dev_ino_buf; x.root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (x.root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } size_t n_files = argc - optind; char **file = argv + optind; if (prompt_once && (x.recursive || 3 < n_files)) { fprintf (stderr, (x.recursive ? _("%s: remove all arguments recursively? ") : _("%s: remove all arguments? ")), program_name); if (!yesno ()) exit (EXIT_SUCCESS); } enum RM_status status = rm (file, &x); assert (VALID_STATUS (status)); exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS); } coreutils-8.21/src/group-list.h0000664000000000000000000000153312102337340013410 00000000000000/* group-list.h -- prototypes shared by id and groups. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ bool print_group (gid_t, bool); bool print_group_list (const char *, uid_t, gid_t, gid_t, bool); coreutils-8.21/src/chown-core.h0000664000000000000000000000435112102337340013350 00000000000000/* chown-core.h -- types and prototypes shared by chown and chgrp. Copyright (C) 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef CHOWN_CORE_H # define CHOWN_CORE_H # include "dev-ino.h" enum Change_status { CH_NOT_APPLIED = 1, CH_SUCCEEDED, CH_FAILED, CH_NO_CHANGE_REQUESTED }; enum Verbosity { /* Print a message for each file that is processed. */ V_high, /* Print a message for each file whose attributes we change. */ V_changes_only, /* Do not be verbose. This is the default. */ V_off }; struct Chown_option { /* Level of verbosity. */ enum Verbosity verbosity; /* If nonzero, change the ownership of directories recursively. */ bool recurse; /* Pointer to the device and inode numbers of '/', when --recursive. Need not be freed. Otherwise NULL. */ struct dev_ino *root_dev_ino; /* This corresponds to the --dereference (opposite of -h) option. */ bool affect_symlink_referent; /* If nonzero, force silence (no error messages). */ bool force_silent; /* The name of the user to which ownership of the files is being given. */ char *user_name; /* The name of the group to which ownership of the files is being given. */ char *group_name; }; void chopt_init (struct Chown_option *); void _GL_ATTRIBUTE_PURE _GL_ATTRIBUTE_CONST chopt_free (struct Chown_option *); char * gid_to_name (gid_t); char * _GL_ATTRIBUTE_PURE uid_to_name (uid_t); bool chown_files (char **files, int bit_flags, uid_t uid, gid_t gid, uid_t required_uid, gid_t required_gid, struct Chown_option const *chopt); #endif /* CHOWN_CORE_H */ coreutils-8.21/src/remove.c0000664000000000000000000004621712102337340012603 00000000000000/* remove.c -- core functions for removing files and directories Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from rm.c, librarified, then rewritten twice by Jim Meyering. */ #include #include #include #include #include "system.h" #include "error.h" #include "file-type.h" #include "ignore-value.h" #include "quote.h" #include "remove.h" #include "root-dev-ino.h" #include "write-any-file.h" #include "xfts.h" #include "yesno.h" enum Ternary { T_UNKNOWN = 2, T_NO, T_YES }; typedef enum Ternary Ternary; /* The prompt function may be called twice for a given directory. The first time, we ask whether to descend into it, and the second time, we ask whether to remove it. */ enum Prompt_action { PA_DESCEND_INTO_DIR = 2, PA_REMOVE_DIR }; /* D_TYPE(D) is the type of directory entry D if known, DT_UNKNOWN otherwise. */ #if ! HAVE_STRUCT_DIRENT_D_TYPE /* Any int values will do here, so long as they're distinct. Undef any existing macros out of the way. */ # undef DT_UNKNOWN # undef DT_DIR # undef DT_LNK # define DT_UNKNOWN 0 # define DT_DIR 1 # define DT_LNK 2 #endif /* Like fstatat, but cache the result. If ST->st_size is -1, the status has not been gotten yet. If less than -1, fstatat failed with errno == ST->st_ino. Otherwise, the status has already been gotten, so return 0. */ static int cache_fstatat (int fd, char const *file, struct stat *st, int flag) { if (st->st_size == -1 && fstatat (fd, file, st, flag) != 0) { st->st_size = -2; st->st_ino = errno; } if (0 <= st->st_size) return 0; errno = (int) st->st_ino; return -1; } /* Initialize a fstatat cache *ST. Return ST for convenience. */ static inline struct stat * cache_stat_init (struct stat *st) { st->st_size = -1; return st; } /* Return 1 if FILE is an unwritable non-symlink, 0 if it is writable or some other type of file, -1 and set errno if there is some problem in determining the answer. Set *BUF to the file status. */ static int write_protected_non_symlink (int fd_cwd, char const *file, struct stat *buf) { if (can_write_any_file ()) return 0; if (cache_fstatat (fd_cwd, file, buf, AT_SYMLINK_NOFOLLOW) != 0) return -1; if (S_ISLNK (buf->st_mode)) return 0; /* Here, we know FILE is not a symbolic link. */ /* In order to be reentrant -- i.e., to avoid changing the working directory, and at the same time to be able to deal with alternate access control mechanisms (ACLs, xattr-style attributes) and arbitrarily deep trees -- we need a function like eaccessat, i.e., like Solaris' eaccess, but fd-relative, in the spirit of openat. */ /* In the absence of a native eaccessat function, here are some of the implementation choices [#4 and #5 were suggested by Paul Eggert]: 1) call openat with O_WRONLY|O_NOCTTY Disadvantage: may create the file and doesn't work for directory, may mistakenly report 'unwritable' for EROFS or ACLs even though perm bits say the file is writable. 2) fake eaccessat (save_cwd, fchdir, call euidaccess, restore_cwd) Disadvantage: changes working directory (not reentrant) and can't work if save_cwd fails. 3) if (euidaccess (full_name, W_OK) == 0) Disadvantage: doesn't work if full_name is too long. Inefficient for very deep trees (O(Depth^2)). 4) If the full pathname is sufficiently short (say, less than PATH_MAX or 8192 bytes, whichever is shorter): use method (3) (i.e., euidaccess (full_name, W_OK)); Otherwise: vfork, fchdir in the child, run euidaccess in the child, then the child exits with a status that tells the parent whether euidaccess succeeded. This avoids the O(N**2) algorithm of method (3), and it also avoids the failure-due-to-too-long-file-names of method (3), but it's fast in the normal shallow case. It also avoids the lack-of-reentrancy and the save_cwd problems. Disadvantage; it uses a process slot for very-long file names, and would be very slow for hierarchies with many such files. 5) If the full file name is sufficiently short (say, less than PATH_MAX or 8192 bytes, whichever is shorter): use method (3) (i.e., euidaccess (full_name, W_OK)); Otherwise: look just at the file bits. Perhaps issue a warning the first time this occurs. This is like (4), except for the "Otherwise" case where it isn't as "perfect" as (4) but is considerably faster. It conforms to current POSIX, and is uniformly better than what Solaris and FreeBSD do (they mess up with long file names). */ { if (faccessat (fd_cwd, file, W_OK, AT_EACCESS) == 0) return 0; return errno == EACCES ? 1 : -1; } } /* Prompt whether to remove FILENAME (ent->, if required via a combination of the options specified by X and/or file attributes. If the file may be removed, return RM_OK. If the user declines to remove the file, return RM_USER_DECLINED. If not ignoring missing files and we cannot lstat FILENAME, then return RM_ERROR. IS_DIR is true if ENT designates a directory, false otherwise. Depending on MODE, ask whether to 'descend into' or to 'remove' the directory FILENAME. MODE is ignored when FILENAME is not a directory. Set *IS_EMPTY_P to T_YES if FILENAME is an empty directory, and it is appropriate to try to remove it with rmdir (e.g. recursive mode). Don't even try to set *IS_EMPTY_P when MODE == PA_REMOVE_DIR. */ static enum RM_status prompt (FTS const *fts, FTSENT const *ent, bool is_dir, struct rm_options const *x, enum Prompt_action mode, Ternary *is_empty_p) { int fd_cwd = fts->fts_cwd_fd; char const *full_name = ent->fts_path; char const *filename = ent->fts_accpath; if (is_empty_p) *is_empty_p = T_UNKNOWN; struct stat st; struct stat *sbuf = &st; cache_stat_init (sbuf); int dirent_type = is_dir ? DT_DIR : DT_UNKNOWN; int write_protected = 0; bool is_empty = false; if (is_empty_p) { is_empty = is_empty_dir (fd_cwd, filename); *is_empty_p = is_empty ? T_YES : T_NO; } /* When nonzero, this indicates that we failed to remove a child entry, either because the user declined an interactive prompt, or due to some other failure, like permissions. */ if (ent->fts_number) return RM_USER_DECLINED; if (x->interactive == RMI_NEVER) return RM_OK; int wp_errno = 0; if (!x->ignore_missing_files && ((x->interactive == RMI_ALWAYS) || x->stdin_tty) && dirent_type != DT_LNK) { write_protected = write_protected_non_symlink (fd_cwd, filename, sbuf); wp_errno = errno; } if (write_protected || x->interactive == RMI_ALWAYS) { if (0 <= write_protected && dirent_type == DT_UNKNOWN) { if (cache_fstatat (fd_cwd, filename, sbuf, AT_SYMLINK_NOFOLLOW) == 0) { if (S_ISLNK (sbuf->st_mode)) dirent_type = DT_LNK; else if (S_ISDIR (sbuf->st_mode)) dirent_type = DT_DIR; /* Otherwise it doesn't matter, so leave it DT_UNKNOWN. */ } else { /* This happens, e.g., with 'rm '''. */ write_protected = -1; wp_errno = errno; } } if (0 <= write_protected) switch (dirent_type) { case DT_LNK: /* Using permissions doesn't make sense for symlinks. */ if (x->interactive != RMI_ALWAYS) return RM_OK; break; case DT_DIR: /* Unless we're either deleting directories or deleting recursively, we want to raise an EISDIR error rather than prompting the user */ if ( ! (x->recursive || (x->remove_empty_directories && is_empty))) { write_protected = -1; wp_errno = EISDIR; } break; } char const *quoted_name = quote (full_name); if (write_protected < 0) { error (0, wp_errno, _("cannot remove %s"), quoted_name); return RM_ERROR; } /* Issue the prompt. */ if (dirent_type == DT_DIR && mode == PA_DESCEND_INTO_DIR && !is_empty) fprintf (stderr, (write_protected ? _("%s: descend into write-protected directory %s? ") : _("%s: descend into directory %s? ")), program_name, quoted_name); else { if (cache_fstatat (fd_cwd, filename, sbuf, AT_SYMLINK_NOFOLLOW) != 0) { error (0, errno, _("cannot remove %s"), quoted_name); return RM_ERROR; } fprintf (stderr, (write_protected /* TRANSLATORS: You may find it more convenient to translate "%s: remove %s (write-protected) %s? " instead. It should avoid grammatical problems with the output of file_type. */ ? _("%s: remove write-protected %s %s? ") : _("%s: remove %s %s? ")), program_name, file_type (sbuf), quoted_name); } if (!yesno ()) return RM_USER_DECLINED; } return RM_OK; } /* When a function like unlink, rmdir, or fstatat fails with an errno value of ERRNUM, return true if the specified file system object is guaranteed not to exist; otherwise, return false. */ static inline bool nonexistent_file_errno (int errnum) { /* Do not include ELOOP here, since the specified file may indeed exist, but be (in)accessible only via too long a symlink chain. Likewise for ENAMETOOLONG, since rm -f ./././.../foo may fail if the "..." part expands to a long enough sequence of "./"s, even though ./foo does indeed exist. Another case to consider is when a particular name is invalid for a given file system. In 2011, smbfs returns EINVAL, but the next revision of POSIX will require EILSEQ for that situation: http://austingroupbugs.net/view.php?id=293 */ switch (errnum) { case EILSEQ: case EINVAL: case ENOENT: case ENOTDIR: return true; default: return false; } } /* Encapsulate the test for whether the errno value, ERRNUM, is ignorable. */ static inline bool ignorable_missing (struct rm_options const *x, int errnum) { return x->ignore_missing_files && nonexistent_file_errno (errnum); } /* Tell fts not to traverse into the hierarchy at ENT. */ static void fts_skip_tree (FTS *fts, FTSENT *ent) { fts_set (fts, ent, FTS_SKIP); /* Ensure that we do not process ENT a second time. */ ignore_value (fts_read (fts)); } /* Upon unlink failure, or when the user declines to remove ENT, mark each of its ancestor directories, so that we know not to prompt for its removal. */ static void mark_ancestor_dirs (FTSENT *ent) { FTSENT *p; for (p = ent->fts_parent; FTS_ROOTLEVEL <= p->fts_level; p = p->fts_parent) { if (p->fts_number) break; p->fts_number = 1; } } /* Remove the file system object specified by ENT. IS_DIR specifies whether it is expected to be a directory or non-directory. Return RM_OK upon success, else RM_ERROR. */ static enum RM_status excise (FTS *fts, FTSENT *ent, struct rm_options const *x, bool is_dir) { int flag = is_dir ? AT_REMOVEDIR : 0; if (unlinkat (fts->fts_cwd_fd, ent->fts_accpath, flag) == 0) { if (x->verbose) { printf ((is_dir ? _("removed directory: %s\n") : _("removed %s\n")), quote (ent->fts_path)); } return RM_OK; } /* The unlinkat from kernels like linux-2.6.32 reports EROFS even for nonexistent files. When the file is indeed missing, map that to ENOENT, so that rm -f ignores it, as required. Even without -f, this is useful because it makes rm print the more precise diagnostic. */ if (errno == EROFS) { struct stat st; if ( ! (lstatat (fts->fts_cwd_fd, ent->fts_accpath, &st) && errno == ENOENT)) errno = EROFS; } if (ignorable_missing (x, errno)) return RM_OK; /* When failing to rmdir an unreadable directory, we see errno values like EISDIR or ENOTDIR (or, on Solaris 10, EEXIST), but they would be meaningless in a diagnostic. When that happens and the errno value from the failed open is EPERM or EACCES, use the earlier, more descriptive errno value. */ if (ent->fts_info == FTS_DNR && (errno == ENOTEMPTY || errno == EISDIR || errno == ENOTDIR || errno == EEXIST) && (ent->fts_errno == EPERM || ent->fts_errno == EACCES)) errno = ent->fts_errno; error (0, errno, _("cannot remove %s"), quote (ent->fts_path)); mark_ancestor_dirs (ent); return RM_ERROR; } /* This function is called once for every file system object that fts encounters. fts performs a depth-first traversal. A directory is usually processed twice, first with fts_info == FTS_D, and later, after all of its entries have been processed, with FTS_DP. Return RM_ERROR upon error, RM_USER_DECLINED for a negative response to an interactive prompt, and otherwise, RM_OK. */ static enum RM_status rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x) { switch (ent->fts_info) { case FTS_D: /* preorder directory */ if (! x->recursive && !(x->remove_empty_directories && is_empty_dir (fts->fts_cwd_fd, ent->fts_accpath))) { /* This is the first (pre-order) encounter with a directory that we cannot delete. Not recursive, and it's not an empty directory (if we're removing them) so arrange to skip contents. */ int err = x->remove_empty_directories ? ENOTEMPTY : EISDIR; error (0, err, _("cannot remove %s"), quote (ent->fts_path)); mark_ancestor_dirs (ent); fts_skip_tree (fts, ent); return RM_ERROR; } /* Perform checks that can apply only for command-line arguments. */ if (ent->fts_level == FTS_ROOTLEVEL) { /* If the basename of a command line argument is "." or "..", diagnose it and do nothing more with that argument. */ if (dot_or_dotdot (last_component (ent->fts_accpath))) { error (0, 0, _("cannot remove directory: %s"), quote (ent->fts_path)); fts_skip_tree (fts, ent); return RM_ERROR; } /* If a command line argument resolves to "/" (and --preserve-root is in effect -- default) diagnose and skip it. */ if (ROOT_DEV_INO_CHECK (x->root_dev_ino, ent->fts_statp)) { ROOT_DEV_INO_WARN (ent->fts_path); fts_skip_tree (fts, ent); return RM_ERROR; } } { Ternary is_empty_directory; enum RM_status s = prompt (fts, ent, true /*is_dir*/, x, PA_DESCEND_INTO_DIR, &is_empty_directory); if (s == RM_OK && is_empty_directory == T_YES) { /* When we know (from prompt when in interactive mode) that this is an empty directory, don't prompt twice. */ s = excise (fts, ent, x, true); fts_skip_tree (fts, ent); } if (s != RM_OK) { mark_ancestor_dirs (ent); fts_skip_tree (fts, ent); } return s; } case FTS_F: /* regular file */ case FTS_NS: /* stat(2) failed */ case FTS_SL: /* symbolic link */ case FTS_SLNONE: /* symbolic link without target */ case FTS_DP: /* postorder directory */ case FTS_DNR: /* unreadable directory */ case FTS_NSOK: /* e.g., dangling symlink */ case FTS_DEFAULT: /* none of the above */ { /* With --one-file-system, do not attempt to remove a mount point. fts' FTS_XDEV ensures that we don't process any entries under the mount point. */ if (ent->fts_info == FTS_DP && x->one_file_system && FTS_ROOTLEVEL < ent->fts_level && ent->fts_statp->st_dev != fts->fts_dev) { mark_ancestor_dirs (ent); error (0, 0, _("skipping %s, since it's on a different device"), quote (ent->fts_path)); return RM_ERROR; } bool is_dir = ent->fts_info == FTS_DP || ent->fts_info == FTS_DNR; enum RM_status s = prompt (fts, ent, is_dir, x, PA_REMOVE_DIR, NULL); if (s != RM_OK) return s; return excise (fts, ent, x, is_dir); } case FTS_DC: /* directory that causes cycles */ emit_cycle_warning (ent->fts_path); fts_skip_tree (fts, ent); return RM_ERROR; case FTS_ERR: /* Various failures, from opendir to ENOMEM, to failure to "return" to preceding directory, can provoke this. */ error (0, ent->fts_errno, _("traversal failed: %s"), quote (ent->fts_path)); fts_skip_tree (fts, ent); return RM_ERROR; default: error (0, 0, _("unexpected failure: fts_info=%d: %s\n" "please report to %s"), ent->fts_info, quote (ent->fts_path), PACKAGE_BUGREPORT); abort (); } } /* Remove FILEs, honoring options specified via X. Return RM_OK if successful. */ enum RM_status rm (char *const *file, struct rm_options const *x) { enum RM_status rm_status = RM_OK; if (*file) { int bit_flags = (FTS_CWDFD | FTS_NOSTAT | FTS_PHYSICAL); if (x->one_file_system) bit_flags |= FTS_XDEV; FTS *fts = xfts_open (file, bit_flags, NULL); while (1) { FTSENT *ent; ent = fts_read (fts); if (ent == NULL) { if (errno != 0) { error (0, errno, _("fts_read failed")); rm_status = RM_ERROR; } break; } enum RM_status s = rm_fts (fts, ent, x); assert (VALID_STATUS (s)); UPDATE_STATUS (rm_status, s); } if (fts_close (fts) != 0) { error (0, errno, _("fts_close failed")); rm_status = RM_ERROR; } } return rm_status; } coreutils-8.21/src/timeout.c0000664000000000000000000003621112105352624012772 00000000000000/* timeout -- run a command with bounded time Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* timeout - Start a command, and kill it if the specified timeout expires We try to behave like a shell starting a single (foreground) job, and will kill the job if we receive the alarm signal we setup. The exit status of the job is returned, or one of these errors: EXIT_TIMEDOUT 124 job timed out EXIT_CANCELED 125 internal error EXIT_CANNOT_INVOKE 126 error executing job EXIT_ENOENT 127 couldn't find job to exec Caveats: If user specifies the KILL (9) signal is to be sent on timeout, the monitor is killed and so exits with 128+9 rather than 124. If you start a command in the background, which reads from the tty and so is immediately sent SIGTTIN to stop, then the timeout process will ignore this so it can timeout the command as expected. This can be seen with 'timeout 10 dd&' for example. However if one brings this group to the foreground with the 'fg' command before the timer expires, the command will remain in the stop state as the shell doesn't send a SIGCONT because the timeout process (group leader) is already running. To get the command running again one can Ctrl-Z, and do fg again. Note one can Ctrl-C the whole job when in this state. I think this could be fixed but I'm not sure the extra complication is justified for this scenario. Written by Pádraig Brady. */ #include #include #include #include #include #if HAVE_PRCTL # include #endif #include #include "system.h" #include "c-strtod.h" #include "xstrtod.h" #include "sig2str.h" #include "operand2sig.h" #include "error.h" #include "quote.h" #if HAVE_SETRLIMIT /* FreeBSD 5.0 at least needs and included before . Currently "system.h" includes . */ # include #endif /* NonStop circa 2011 lacks both SA_RESTART and siginterrupt. */ #ifndef SA_RESTART # define SA_RESTART 0 #endif #define PROGRAM_NAME "timeout" #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady") static int timed_out; static int term_signal = SIGTERM; /* same default as kill command. */ static int monitored_pid; static double kill_after; static bool foreground; /* whether to use another program group. */ static bool preserve_status; /* whether to use a timeout status or not. */ /* for long options with no corresponding short option, use enum */ enum { FOREGROUND_OPTION = CHAR_MAX + 1, PRESERVE_STATUS_OPTION }; static struct option const long_options[] = { {"kill-after", required_argument, NULL, 'k'}, {"signal", required_argument, NULL, 's'}, {"foreground", no_argument, NULL, FOREGROUND_OPTION}, {"preserve-status", no_argument, NULL, PRESERVE_STATUS_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static void unblock_signal (int sig) { sigset_t unblock_set; sigemptyset (&unblock_set); sigaddset (&unblock_set, sig); if (sigprocmask (SIG_UNBLOCK, &unblock_set, NULL) != 0) error (0, errno, _("warning: sigprocmask")); } /* Start the timeout after which we'll receive a SIGALRM. Round DURATION up to the next representable value. Treat out-of-range values as if they were maximal, as that's more useful in practice than reporting an error. '0' means don't timeout. */ static void settimeout (double duration) { /* We configure timers below so that SIGALRM is sent on expiry. Therefore ensure we don't inherit a mask blocking SIGALRM. */ unblock_signal (SIGALRM); /* timer_settime() provides potentially nanosecond resolution. setitimer() is more portable (to Darwin for example), but only provides microsecond resolution and thus is a little more awkward to use with timespecs, as well as being deprecated by POSIX. Instead we fallback to single second resolution provided by alarm(). */ #if HAVE_TIMER_SETTIME struct timespec ts = dtotimespec (duration); struct itimerspec its = { {0, 0}, ts }; timer_t timerid; if (timer_create (CLOCK_REALTIME, NULL, &timerid) == 0) { if (timer_settime (timerid, 0, &its, NULL) == 0) return; else { error (0, errno, _("warning: timer_settime")); timer_delete (timerid); } } else if (errno != ENOSYS) error (0, errno, _("warning: timer_create")); #endif unsigned int timeint; if (UINT_MAX <= duration) timeint = UINT_MAX; else { unsigned int duration_floor = duration; timeint = duration_floor + (duration_floor < duration); } alarm (timeint); } /* send SIG avoiding the current process. */ static int send_sig (int where, int sig) { /* If sending to the group, then ignore the signal, so we don't go into a signal loop. Note that this will ignore any of the signals registered in install_signal_handlers(), that are sent after we propagate the first one, which hopefully won't be an issue. Note this process can be implicitly multithreaded due to some timer_settime() implementations, therefore a signal sent to the group, can be sent multiple times to this process. */ if (where == 0) signal (sig, SIG_IGN); return kill (where, sig); } static void cleanup (int sig) { if (sig == SIGALRM) { timed_out = 1; sig = term_signal; } if (monitored_pid) { if (kill_after) { /* Start a new timeout after which we'll send SIGKILL. */ term_signal = SIGKILL; settimeout (kill_after); kill_after = 0; /* Don't let later signals reset kill alarm. */ } /* Send the signal directly to the monitored child, in case it has itself become group leader, or is not running in a separate group. */ send_sig (monitored_pid, sig); /* The normal case is the job has remained in our newly created process group, so send to all processes in that. */ if (!foreground) send_sig (0, sig); if (sig != SIGKILL && sig != SIGCONT) { send_sig (monitored_pid, SIGCONT); if (!foreground) send_sig (0, SIGCONT); } } else /* we're the child or the child is not exec'd yet. */ _exit (128 + sig); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION] DURATION COMMAND [ARG]...\n\ or: %s [OPTION]\n"), program_name, program_name); fputs (_("\ Start COMMAND, and kill it if still running after DURATION.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --preserve-status\n\ exit with the same status as COMMAND, even when the\n\ command times out\n\ --foreground\n\ When not running timeout directly from a shell prompt,\n\ allow COMMAND to read from the TTY and receive TTY signals.\n\ In this mode, children of COMMAND will not be timed out.\n\ -k, --kill-after=DURATION\n\ also send a KILL signal if COMMAND is still running\n\ this long after the initial signal was sent.\n\ -s, --signal=SIGNAL\n\ specify the signal to be sent on timeout.\n\ SIGNAL may be a name like 'HUP' or a number.\n\ See 'kill -l' for a list of signals\n"), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\n\ DURATION is a floating point number with an optional suffix:\n\ 's' for seconds (the default), 'm' for minutes, 'h' for hours \ or 'd' for days.\n"), stdout); fputs (_("\n\ If the command times out, and --preserve-status is not set, then exit with\n\ status 124. Otherwise, exit with the status of COMMAND. If no signal\n\ is specified, send the TERM signal upon timeout. The TERM signal kills\n\ any process that does not block or catch that signal. It may be necessary\n\ to use the KILL (9) signal, since this signal cannot be caught, in which\n\ case the exit status is 128+9 rather than 124.\n"), stdout); emit_ancillary_info (); } exit (status); } /* Given a floating point value *X, and a suffix character, SUFFIX_CHAR, scale *X by the multiplier implied by SUFFIX_CHAR. SUFFIX_CHAR may be the NUL byte or 's' to denote seconds, 'm' for minutes, 'h' for hours, or 'd' for days. If SUFFIX_CHAR is invalid, don't modify *X and return false. Otherwise return true. */ static bool apply_time_suffix (double *x, char suffix_char) { int multiplier; switch (suffix_char) { case 0: case 's': multiplier = 1; break; case 'm': multiplier = 60; break; case 'h': multiplier = 60 * 60; break; case 'd': multiplier = 60 * 60 * 24; break; default: return false; } *x *= multiplier; return true; } static double parse_duration (const char* str) { double duration; const char *ep; if (!xstrtod (str, &ep, &duration, c_strtod) /* Nonnegative interval. */ || ! (0 <= duration) /* No extra chars after the number and an optional s,m,h,d char. */ || (*ep && *(ep + 1)) /* Check any suffix char and update timeout based on the suffix. */ || !apply_time_suffix (&duration, *ep)) { error (0, 0, _("invalid time interval %s"), quote (str)); usage (EXIT_CANCELED); } return duration; } static void install_signal_handlers (int sigterm) { struct sigaction sa; sigemptyset (&sa.sa_mask); /* Allow concurrent calls to handler */ sa.sa_handler = cleanup; sa.sa_flags = SA_RESTART; /* Restart syscalls if possible, as that's more likely to work cleanly. */ sigaction (SIGALRM, &sa, NULL); /* our timeout. */ sigaction (SIGINT, &sa, NULL); /* Ctrl-C at terminal for example. */ sigaction (SIGQUIT, &sa, NULL); /* Ctrl-\ at terminal for example. */ sigaction (SIGHUP, &sa, NULL); /* terminal closed for example. */ sigaction (SIGTERM, &sa, NULL); /* if we're killed, stop monitored proc. */ sigaction (sigterm, &sa, NULL); /* user specified termination signal. */ } /* Try to disable core dumps for this process. Return TRUE if successful, FALSE otherwise. */ static bool disable_core_dumps (void) { #if HAVE_PRCTL && defined PR_SET_DUMPABLE if (prctl (PR_SET_DUMPABLE, 0) == 0) return true; #elif HAVE_SETRLIMIT && defined RLIMIT_CORE /* Note this doesn't disable processing by a filter in /proc/sys/kernel/core_pattern on Linux. */ if (setrlimit (RLIMIT_CORE, &(struct rlimit) {0,0}) == 0) return true; #else return false; #endif error (0, errno, _("warning: disabling core dumps failed")); return false; } int main (int argc, char **argv) { double timeout; char signame[SIG2STR_MAX]; int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_CANCELED); atexit (close_stdout); while ((c = getopt_long (argc, argv, "+k:s:", long_options, NULL)) != -1) { switch (c) { case 'k': kill_after = parse_duration (optarg); break; case 's': term_signal = operand2sig (optarg, signame); if (term_signal == -1) usage (EXIT_CANCELED); break; case FOREGROUND_OPTION: foreground = true; break; case PRESERVE_STATUS_OPTION: preserve_status = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_CANCELED); break; } } if (argc - optind < 2) usage (EXIT_CANCELED); timeout = parse_duration (argv[optind++]); argv += optind; /* Ensure we're in our own group so all subprocesses can be killed. Note we don't just put the child in a separate group as then we would need to worry about foreground and background groups and propagating signals between them. */ if (!foreground) setpgid (0, 0); /* Setup handlers before fork() so that we handle any signals caused by child, without races. */ install_signal_handlers (term_signal); signal (SIGTTIN, SIG_IGN); /* Don't stop if background child needs tty. */ signal (SIGTTOU, SIG_IGN); /* Don't stop if background child needs tty. */ signal (SIGCHLD, SIG_DFL); /* Don't inherit CHLD handling from parent. */ monitored_pid = fork (); if (monitored_pid == -1) { error (0, errno, _("fork system call failed")); return EXIT_CANCELED; } else if (monitored_pid == 0) { /* child */ int exit_status; /* exec doesn't reset SIG_IGN -> SIG_DFL. */ signal (SIGTTIN, SIG_DFL); signal (SIGTTOU, SIG_DFL); execvp (argv[0], argv); /* FIXME: should we use "sh -c" ... here? */ /* exit like sh, env, nohup, ... */ exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, _("failed to run command %s"), quote (argv[0])); return exit_status; } else { pid_t wait_result; int status; settimeout (timeout); while ((wait_result = waitpid (monitored_pid, &status, 0)) < 0 && errno == EINTR) continue; if (wait_result < 0) { /* shouldn't happen. */ error (0, errno, _("error waiting for command")); status = EXIT_CANCELED; } else { if (WIFEXITED (status)) status = WEXITSTATUS (status); else if (WIFSIGNALED (status)) { int sig = WTERMSIG (status); if (WCOREDUMP (status)) error (0, 0, _("the monitored command dumped core")); if (!timed_out && disable_core_dumps ()) { /* exit with the signal flag set. */ signal (sig, SIG_DFL); raise (sig); } status = sig + 128; /* what sh returns for signaled processes. */ } else { /* shouldn't happen. */ error (0, 0, _("unknown status from command (0x%X)"), status); status = EXIT_FAILURE; } } if (timed_out && !preserve_status) return EXIT_TIMEDOUT; else return status; } } coreutils-8.21/src/dircolors.hin0000664000000000000000000001055712102337340013640 00000000000000# Configuration file for dircolors, a utility to help you set the # LS_COLORS environment variable used by GNU ls with the --color option. # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Copying and distribution of this file, with or without modification, # are permitted provided the copyright notice and this notice are preserved. # The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the # slackware version of dircolors) are recognized but ignored. # Below, there should be one TERM entry for each termtype that is colorizable TERM Eterm TERM ansi TERM color-xterm TERM con132x25 TERM con132x30 TERM con132x43 TERM con132x60 TERM con80x25 TERM con80x28 TERM con80x30 TERM con80x43 TERM con80x50 TERM con80x60 TERM cons25 TERM console TERM cygwin TERM dtterm TERM eterm-color TERM gnome TERM gnome-256color TERM jfbterm TERM konsole TERM kterm TERM linux TERM linux-c TERM mach-color TERM mlterm TERM putty TERM rxvt TERM rxvt-256color TERM rxvt-cygwin TERM rxvt-cygwin-native TERM rxvt-unicode TERM rxvt-unicode-256color TERM rxvt-unicode256 TERM screen TERM screen-256color TERM screen-256color-bce TERM screen-bce TERM screen-w TERM screen.Eterm TERM screen.rxvt TERM screen.linux TERM st TERM st-256color TERM terminator TERM vt100 TERM xterm TERM xterm-16color TERM xterm-256color TERM xterm-88color TERM xterm-color TERM xterm-debian # Below are the color init strings for the basic file types. A color init # string consists of one or more of the following numeric codes: # Attribute codes: # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # Text color codes: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # Background color codes: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white #NORMAL 00 # no color code at all #FILE 00 # regular file: use no color at all RESET 0 # reset to "normal" color DIR 01;34 # directory LINK 01;36 # symbolic link. (If you set this to 'target' instead of a # numerical value, the color is as for the file pointed to.) MULTIHARDLINK 00 # regular file with more than one link FIFO 40;33 # pipe SOCK 01;35 # socket DOOR 01;35 # door BLK 40;33;01 # block device driver CHR 40;33;01 # character device driver ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file SETUID 37;41 # file that is setuid (u+s) SETGID 30;43 # file that is setgid (g+s) CAPABILITY 30;41 # file with capability STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable # This is for files with execute permission: EXEC 01;32 # List any file extensions like '.gz' or '.tar' that you would like ls # to colorize below. Put the extension, a space, and the color init string. # (and any comments you want to add after a '#') # If you use DOS-style suffixes, you may want to uncomment the following: #.cmd 01;32 # executables (bright green) #.exe 01;32 #.com 01;32 #.btm 01;32 #.bat 01;32 # Or if you want to colorize scripts even if they do not have the # executable bit actually set. #.sh 01;32 #.csh 01;32 # archives or compressed (bright red) .tar 01;31 .tgz 01;31 .arj 01;31 .taz 01;31 .lzh 01;31 .lzma 01;31 .tlz 01;31 .txz 01;31 .zip 01;31 .z 01;31 .Z 01;31 .dz 01;31 .gz 01;31 .lz 01;31 .xz 01;31 .bz2 01;31 .bz 01;31 .tbz 01;31 .tbz2 01;31 .tz 01;31 .deb 01;31 .rpm 01;31 .jar 01;31 .war 01;31 .ear 01;31 .sar 01;31 .rar 01;31 .ace 01;31 .zoo 01;31 .cpio 01;31 .7z 01;31 .rz 01;31 # image formats .jpg 01;35 .jpeg 01;35 .gif 01;35 .bmp 01;35 .pbm 01;35 .pgm 01;35 .ppm 01;35 .tga 01;35 .xbm 01;35 .xpm 01;35 .tif 01;35 .tiff 01;35 .png 01;35 .svg 01;35 .svgz 01;35 .mng 01;35 .pcx 01;35 .mov 01;35 .mpg 01;35 .mpeg 01;35 .m2v 01;35 .mkv 01;35 .webm 01;35 .ogm 01;35 .mp4 01;35 .m4v 01;35 .mp4v 01;35 .vob 01;35 .qt 01;35 .nuv 01;35 .wmv 01;35 .asf 01;35 .rm 01;35 .rmvb 01;35 .flc 01;35 .avi 01;35 .fli 01;35 .flv 01;35 .gl 01;35 .dl 01;35 .xcf 01;35 .xwd 01;35 .yuv 01;35 .cgm 01;35 .emf 01;35 # http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions .axv 01;35 .anx 01;35 .ogv 01;35 .ogx 01;35 # audio formats .aac 00;36 .au 00;36 .flac 00;36 .mid 00;36 .midi 00;36 .mka 00;36 .mp3 00;36 .mpc 00;36 .ogg 00;36 .ra 00;36 .wav 00;36 # http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions .axa 00;36 .oga 00;36 .spx 00;36 .xspf 00;36 coreutils-8.21/src/libstdbuf.c0000664000000000000000000001116412102337340013255 00000000000000/* libstdbuf -- a shared lib to preload to setup stdio buffering for a command Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. LD_PRELOAD idea from Brian Dessent. */ #include #include #include #include "system.h" #include "verify.h" /* Note currently for glibc (2.3.5) the following call does not change the buffer size, and more problematically does not give any indication that the new size request was ignored: setvbuf (stdout, (char*)NULL, _IOFBF, 8192); The ISO C99 standard section 7.19.5.6 on the setvbuf function says: ... If buf is not a null pointer, the array it points to _may_ be used instead of a buffer allocated by the setvbuf function and the argument size specifies the size of the array; otherwise, size _may_ determine the size of a buffer allocated by the setvbuf function. ... Obviously some interpret the above to mean setvbuf(....,size) is only a hint from the application which I don't agree with. FreeBSD's libc seems more sensible in this regard. From the man page: The size argument may be given as zero to obtain deferred optimal-size buffer allocation as usual. If it is not zero, then except for unbuffered files, the buf argument should point to a buffer at least size bytes long; this buffer will be used instead of the current buffer. (If the size argument is not zero but buf is NULL, a buffer of the given size will be allocated immediately, and released on close. This is an extension to ANSI C; portable code should use a size of 0 with any NULL buffer.) -------------------- Another issue is that on glibc-2.7 the following doesn't buffer the first write if it's greater than 1 byte. setvbuf(stdout,buf,_IOFBF,127); Now the POSIX standard says that "allocating a buffer of size bytes does not necessarily imply that all of size bytes are used for the buffer area". However I think it's just a buggy implementation due to the various inconsistencies with write sizes and subsequent writes. */ static const char * fileno_to_name (const int fd) { const char *ret = NULL; switch (fd) { case 0: ret = "stdin"; break; case 1: ret = "stdout"; break; case 2: ret = "stderr"; break; default: ret = "unknown"; break; } return ret; } static void apply_mode (FILE *stream, const char *mode) { char *buf = NULL; int setvbuf_mode; size_t size = 0; if (*mode == '0') setvbuf_mode = _IONBF; else if (*mode == 'L') setvbuf_mode = _IOLBF; /* FIXME: should we allow 1ML */ else { setvbuf_mode = _IOFBF; verify (SIZE_MAX <= ULONG_MAX); size = strtoul (mode, NULL, 10); if (size > 0) { if (!(buf = malloc (size))) /* will be freed by fclose() */ { /* We could defer the allocation to libc, however since glibc currently ignores the combination of NULL buffer with non zero size, we'll fail here. */ fprintf (stderr, _("failed to allocate a %" PRIuMAX " byte stdio buffer\n"), (uintmax_t) size); return; } } else { fprintf (stderr, _("invalid buffering mode %s for %s\n"), mode, fileno_to_name (fileno (stream))); return; } } if (setvbuf (stream, buf, setvbuf_mode, size) != 0) { fprintf (stderr, _("could not set buffering of %s to mode %s\n"), fileno_to_name (fileno (stream)), mode); free (buf); } } __attribute__ ((constructor)) static void stdbuf (void) { char *e_mode = getenv ("_STDBUF_E"); char *i_mode = getenv ("_STDBUF_I"); char *o_mode = getenv ("_STDBUF_O"); if (e_mode) /* Do first so can write errors to stderr */ apply_mode (stderr, e_mode); if (i_mode) apply_mode (stdin, i_mode); if (o_mode) apply_mode (stdout, o_mode); } coreutils-8.21/src/runcon.c0000664000000000000000000001755612102337340012616 00000000000000/* runcon -- run command with specified security context Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* * runcon [ context * | ( [ -c ] [ -r role ] [-t type] [ -u user ] [ -l levelrange ] ) * command [arg1 [arg2 ...] ] * * attempt to run the specified command with the specified context. * * -r role : use the current context with the specified role * -t type : use the current context with the specified type * -u user : use the current context with the specified user * -l level : use the current context with the specified level range * -c : compute process transition context before modifying * * Contexts are interpreted as follows: * * Number of MLS * components system? * * 1 - type * 2 - role:type * 3 Y role:type:range * 3 N user:role:type * 4 Y user:role:type:range * 4 N error */ #include #include #include #include #include #ifdef HAVE_SELINUX_FLASK_H # include #else # define SECCLASS_PROCESS 0 #endif #include #include "system.h" #include "error.h" #include "quote.h" #include "quotearg.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "runcon" #define AUTHORS proper_name ("Russell Coker") static struct option const long_options[] = { {"role", required_argument, NULL, 'r'}, {"type", required_argument, NULL, 't'}, {"user", required_argument, NULL, 'u'}, {"range", required_argument, NULL, 'l'}, {"compute", no_argument, NULL, 'c'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s CONTEXT COMMAND [args]\n\ or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n\ "), program_name, program_name); fputs (_("\ Run a program in a different security context.\n\ With neither CONTEXT nor COMMAND, print the current security context.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ CONTEXT Complete security context\n\ -c, --compute compute process transition context before modifying\n\ -t, --type=TYPE type (for same role as parent)\n\ -u, --user=USER user identity\n\ -r, --role=ROLE role\n\ -l, --range=RANGE levelrange\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { char *role = NULL; char *range = NULL; char *user = NULL; char *type = NULL; char *context = NULL; security_context_t cur_context = NULL; security_context_t file_context = NULL; security_context_t new_context = NULL; bool compute_trans = false; context_t con; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while (1) { int option_index = 0; int c = getopt_long (argc, argv, "+r:t:u:l:c", long_options, &option_index); if (c == -1) break; switch (c) { case 'r': if (role) error (EXIT_FAILURE, 0, _("multiple roles")); role = optarg; break; case 't': if (type) error (EXIT_FAILURE, 0, _("multiple types")); type = optarg; break; case 'u': if (user) error (EXIT_FAILURE, 0, _("multiple users")); user = optarg; break; case 'l': if (range) error (EXIT_FAILURE, 0, _("multiple levelranges")); range = optarg; break; case 'c': compute_trans = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } } if (argc - optind == 0) { if (getcon (&cur_context) < 0) error (EXIT_FAILURE, errno, _("failed to get current context")); fputs (cur_context, stdout); fputc ('\n', stdout); exit (EXIT_SUCCESS); } if (!(user || role || type || range || compute_trans)) { if (optind >= argc) { error (0, 0, _("you must specify -c, -t, -u, -l, -r, or context")); usage (EXIT_FAILURE); } context = argv[optind++]; } if (optind >= argc) { error (0, 0, _("no command specified")); usage (EXIT_FAILURE); } if (is_selinux_enabled () != 1) error (EXIT_FAILURE, 0, _("%s may be used only on a SELinux kernel"), program_name); if (context) { con = context_new (context); if (!con) error (EXIT_FAILURE, errno, _("failed to create security context: %s"), quotearg_colon (context)); } else { if (getcon (&cur_context) < 0) error (EXIT_FAILURE, errno, _("failed to get current context")); /* We will generate context based on process transition */ if (compute_trans) { /* Get context of file to be executed */ if (getfilecon (argv[optind], &file_context) == -1) error (EXIT_FAILURE, errno, _("failed to get security context of %s"), quote (argv[optind])); /* compute result of process transition */ if (security_compute_create (cur_context, file_context, SECCLASS_PROCESS, &new_context) != 0) error (EXIT_FAILURE, errno, _("failed to compute a new context")); /* free contexts */ freecon (file_context); freecon (cur_context); /* set cur_context equal to new_context */ cur_context = new_context; } con = context_new (cur_context); if (!con) error (EXIT_FAILURE, errno, _("failed to create security context: %s"), quotearg_colon (cur_context)); if (user && context_user_set (con, user)) error (EXIT_FAILURE, errno, _("failed to set new user %s"), user); if (type && context_type_set (con, type)) error (EXIT_FAILURE, errno, _("failed to set new type %s"), type); if (range && context_range_set (con, range)) error (EXIT_FAILURE, errno, _("failed to set new range %s"), range); if (role && context_role_set (con, role)) error (EXIT_FAILURE, errno, _("failed to set new role %s"), role); } if (security_check_context (context_str (con)) < 0) error (EXIT_FAILURE, errno, _("invalid context: %s"), quotearg_colon (context_str (con))); if (setexeccon (context_str (con)) != 0) error (EXIT_FAILURE, errno, _("unable to set security context %s"), quote (context_str (con))); if (cur_context != NULL) freecon (cur_context); execvp (argv[optind], argv + optind); { int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, "%s", argv[optind]); exit (exit_status); } } coreutils-8.21/src/getlimits.c0000664000000000000000000001060212102337340013274 00000000000000/* getlimits - print various platform dependent limits. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady */ #include /* sets _FILE_OFFSET_BITS=64 etc. */ #include #include #include #include "system.h" #include "long-options.h" #define PROGRAM_NAME "getlimits" #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady") #ifndef TIME_T_MAX # define TIME_T_MAX TYPE_MAXIMUM (time_t) #endif #ifndef TIME_T_MIN # define TIME_T_MIN TYPE_MINIMUM (time_t) #endif #ifndef SSIZE_MIN # define SSIZE_MIN TYPE_MINIMUM (ssize_t) #endif #ifndef PID_T_MIN # define PID_T_MIN TYPE_MINIMUM (pid_t) #endif /* These are not interesting to print. * Instead of these defines it would be nice to be able to do * #ifdef (TYPE##_MIN) in function macro below. */ #define SIZE_MIN 0 #define UCHAR_MIN 0 #define UINT_MIN 0 #define ULONG_MIN 0 #define UINTMAX_MIN 0 #define UID_T_MIN 0 #define GID_T_MIN 0 void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s\n\ "), program_name); fputs (_("\ Output platform dependent limits in a format useful for shell scripts.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Add one to the absolute value of the number whose textual representation is BUF + 1. Do this in-place, in the buffer. Return a pointer to the result, which is normally BUF + 1, but is BUF if the representation grew in size. */ static char const * decimal_absval_add_one (char *buf) { bool negative = (buf[1] == '-'); char *absnum = buf + 1 + negative; char *p = absnum + strlen (absnum); absnum[-1] = '0'; while (*--p == '9') *p = '0'; ++*p; char *result = MIN (absnum, p); if (negative) *--result = '-'; return result; } int main (int argc, char **argv) { char limit[1 + MAX (INT_BUFSIZE_BOUND (intmax_t), INT_BUFSIZE_BOUND (uintmax_t))]; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_FAILURE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, VERSION, usage, AUTHORS, (char const *) NULL); #define print_int(TYPE) \ sprintf (limit + 1, "%"PRIuMAX, (uintmax_t) TYPE##_MAX); \ printf (#TYPE"_MAX=%s\n", limit + 1); \ printf (#TYPE"_OFLOW=%s\n", decimal_absval_add_one (limit)); \ if (TYPE##_MIN) \ { \ sprintf (limit + 1, "%"PRIdMAX, (intmax_t) TYPE##_MIN); \ printf (#TYPE"_MIN=%s\n", limit + 1); \ printf (#TYPE"_UFLOW=%s\n", decimal_absval_add_one (limit)); \ } #define print_float(TYPE) \ printf (#TYPE"_MIN=%Le\n", (long double)TYPE##_MIN); \ printf (#TYPE"_MAX=%Le\n", (long double)TYPE##_MAX); /* Variable sized ints */ print_int (CHAR); print_int (SCHAR); print_int (UCHAR); print_int (SHRT); print_int (INT); print_int (UINT); print_int (LONG); print_int (ULONG); print_int (SIZE); print_int (SSIZE); print_int (TIME_T); print_int (UID_T); print_int (GID_T); print_int (PID_T); print_int (OFF_T); print_int (INTMAX); print_int (UINTMAX); /* Variable sized floats */ print_float (FLT); print_float (DBL); print_float (LDBL); } coreutils-8.21/src/ls-dir.c0000664000000000000000000000005411624727241012500 00000000000000#include "ls.h" int ls_mode = LS_MULTI_COL; coreutils-8.21/src/yes.c0000664000000000000000000000441012102337340012073 00000000000000/* yes - output a string repeatedly until killed Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "yes" #define AUTHORS proper_name ("David MacKenzie") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [STRING]...\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Repeatedly output a line with all specified STRING(s), or 'y'.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "+", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc <= optind) { optind = argc; argv[argc++] = bad_cast ("y"); } while (true) { int i; for (i = optind; i < argc; i++) if (fputs (argv[i], stdout) == EOF || putchar (i == argc - 1 ? '\n' : ' ') == EOF) error (EXIT_FAILURE, errno, _("standard output")); } } coreutils-8.21/src/tty.c0000664000000000000000000000575612102337340012131 00000000000000/* tty -- print the name of the terminal connected to standard input Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Displays "not a tty" if stdin is not a terminal. Displays nothing if -s option is given. Exit status 0 if stdin is a tty, 1 if not, 2 if usage error, 3 if write error. Written by David MacKenzie . */ #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" /* Exit statuses. */ enum { TTY_FAILURE = 2, TTY_WRITE_ERROR = 3 }; /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tty" #define AUTHORS proper_name ("David MacKenzie") /* If true, return an exit status but produce no output. */ static bool silent; static struct option const longopts[] = { {"silent", no_argument, NULL, 's'}, {"quiet", no_argument, NULL, 's'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]...\n"), program_name); fputs (_("\ Print the file name of the terminal connected to standard input.\n\ \n\ -s, --silent, --quiet print nothing, only return an exit status\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { char *tty; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (TTY_WRITE_ERROR); atexit (close_stdout); silent = false; while ((optc = getopt_long (argc, argv, "s", longopts, NULL)) != -1) { switch (optc) { case 's': silent = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (TTY_FAILURE); } } if (optind < argc) error (0, 0, _("extra operand %s"), quote (argv[optind])); tty = ttyname (STDIN_FILENO); if (!silent) { if (tty) puts (tty); else puts (_("not a tty")); } exit (isatty (STDIN_FILENO) ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/fmt.c0000664000000000000000000006756412102337340012104 00000000000000/* GNU fmt -- simple text formatter. Copyright (C) 1994-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Ross Paterson . */ #include #include #include #include #include /* Redefine. Otherwise, systems (Unicos for one) with headers that define it to be a type get syntax errors for the variable declaration below. */ #define word unused_word_type #include "system.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "fmt" #define AUTHORS proper_name ("Ross Paterson") /* The following parameters represent the program's idea of what is "best". Adjust to taste, subject to the caveats given. */ /* Default longest permitted line length (max_width). */ #define WIDTH 75 /* Prefer lines to be LEEWAY % shorter than the maximum width, giving room for optimization. */ #define LEEWAY 7 /* The default secondary indent of tagged paragraph used for unindented one-line paragraphs not preceded by any multi-line paragraphs. */ #define DEF_INDENT 3 /* Costs and bonuses are expressed as the equivalent departure from the optimal line length, multiplied by 10. e.g. assigning something a cost of 50 means that it is as bad as a line 5 characters too short or too long. The definition of SHORT_COST(n) should not be changed. However, EQUIV(n) may need tuning. */ /* FIXME: "fmt" misbehaves given large inputs or options. One possible workaround for part of the problem is to change COST to be a floating-point type. There are other problems besides COST, though; see MAXWORDS below. */ typedef long int COST; #define MAXCOST TYPE_MAXIMUM (COST) #define SQR(n) ((n) * (n)) #define EQUIV(n) SQR ((COST) (n)) /* Cost of a filled line n chars longer or shorter than goal_width. */ #define SHORT_COST(n) EQUIV ((n) * 10) /* Cost of the difference between adjacent filled lines. */ #define RAGGED_COST(n) (SHORT_COST (n) / 2) /* Basic cost per line. */ #define LINE_COST EQUIV (70) /* Cost of breaking a line after the first word of a sentence, where the length of the word is N. */ #define WIDOW_COST(n) (EQUIV (200) / ((n) + 2)) /* Cost of breaking a line before the last word of a sentence, where the length of the word is N. */ #define ORPHAN_COST(n) (EQUIV (150) / ((n) + 2)) /* Bonus for breaking a line at the end of a sentence. */ #define SENTENCE_BONUS EQUIV (50) /* Cost of breaking a line after a period not marking end of a sentence. With the definition of sentence we are using (borrowed from emacs, see get_line()) such a break would then look like a sentence break. Hence we assign a very high cost -- it should be avoided unless things are really bad. */ #define NOBREAK_COST EQUIV (600) /* Bonus for breaking a line before open parenthesis. */ #define PAREN_BONUS EQUIV (40) /* Bonus for breaking a line after other punctuation. */ #define PUNCT_BONUS EQUIV(40) /* Credit for breaking a long paragraph one line later. */ #define LINE_CREDIT EQUIV(3) /* Size of paragraph buffer, in words and characters. Longer paragraphs are handled neatly (cf. flush_paragraph()), so long as these values are considerably greater than required by the width. These values cannot be extended indefinitely: doing so would run into size limits and/or cause more overflows in cost calculations. FIXME: Remove these arbitrary limits. */ #define MAXWORDS 1000 #define MAXCHARS 5000 /* Extra ctype(3)-style macros. */ #define isopen(c) (strchr ("(['`\"", c) != NULL) #define isclose(c) (strchr (")]'\"", c) != NULL) #define isperiod(c) (strchr (".?!", c) != NULL) /* Size of a tab stop, for expansion on input and re-introduction on output. */ #define TABWIDTH 8 /* Word descriptor structure. */ typedef struct Word WORD; struct Word { /* Static attributes determined during input. */ const char *text; /* the text of the word */ int length; /* length of this word */ int space; /* the size of the following space */ unsigned int paren:1; /* starts with open paren */ unsigned int period:1; /* ends in [.?!])* */ unsigned int punct:1; /* ends in punctuation */ unsigned int final:1; /* end of sentence */ /* The remaining fields are computed during the optimization. */ int line_length; /* length of the best line starting here */ COST best_cost; /* cost of best paragraph starting here */ WORD *next_break; /* break which achieves best_cost */ }; /* Forward declarations. */ static void set_prefix (char *p); static void fmt (FILE *f); static bool get_paragraph (FILE *f); static int get_line (FILE *f, int c); static int get_prefix (FILE *f); static int get_space (FILE *f, int c); static int copy_rest (FILE *f, int c); static bool same_para (int c); static void flush_paragraph (void); static void fmt_paragraph (void); static void check_punctuation (WORD *w); static COST base_cost (WORD *this); static COST line_cost (WORD *next, int len); static void put_paragraph (WORD *finish); static void put_line (WORD *w, int indent); static void put_word (WORD *w); static void put_space (int space); /* Option values. */ /* If true, first 2 lines may have different indent (default false). */ static bool crown; /* If true, first 2 lines _must_ have different indent (default false). */ static bool tagged; /* If true, each line is a paragraph on its own (default false). */ static bool split; /* If true, don't preserve inter-word spacing (default false). */ static bool uniform; /* Prefix minus leading and trailing spaces (default ""). */ static const char *prefix; /* User-supplied maximum line width (default WIDTH). The only output lines longer than this will each comprise a single word. */ static int max_width; /* Values derived from the option values. */ /* The length of prefix minus leading space. */ static int prefix_full_length; /* The length of the leading space trimmed from the prefix. */ static int prefix_lead_space; /* The length of prefix minus leading and trailing space. */ static int prefix_length; /* The preferred width of text lines, set to LEEWAY % less than max_width. */ static int goal_width; /* Dynamic variables. */ /* Start column of the character most recently read from the input file. */ static int in_column; /* Start column of the next character to be written to stdout. */ static int out_column; /* Space for the paragraph text -- longer paragraphs are handled neatly (cf. flush_paragraph()). */ static char parabuf[MAXCHARS]; /* A pointer into parabuf, indicating the first unused character position. */ static char *wptr; /* The words of a paragraph -- longer paragraphs are handled neatly (cf. flush_paragraph()). */ static WORD word[MAXWORDS]; /* A pointer into the above word array, indicating the first position after the last complete word. Sometimes it will point at an incomplete word. */ static WORD *word_limit; /* If true, current input file contains tab characters, and so tabs can be used for white space on output. */ static bool tabs; /* Space before trimmed prefix on each line of the current paragraph. */ static int prefix_indent; /* Indentation of the first line of the current paragraph. */ static int first_indent; /* Indentation of other lines of the current paragraph */ static int other_indent; /* To detect the end of a paragraph, we need to look ahead to the first non-blank character after the prefix on the next line, or the first character on the following line that failed to match the prefix. We can reconstruct the lookahead from that character (next_char), its position on the line (in_column) and the amount of space before the prefix (next_prefix_indent). See get_paragraph() and copy_rest(). */ /* The last character read from the input file. */ static int next_char; /* The space before the trimmed prefix (or part of it) on the next line after the current paragraph. */ static int next_prefix_indent; /* If nonzero, the length of the last line output in the current paragraph, used to charge for raggedness at the split point for long paragraphs chosen by fmt_paragraph(). */ static int last_line_length; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [-WIDTH] [OPTION]... [FILE]...\n"), program_name); fputs (_("\ Reformat each paragraph in the FILE(s), writing to standard output.\n\ The option -WIDTH is an abbreviated form of --width=DIGITS.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -c, --crown-margin preserve indentation of first two lines\n\ -p, --prefix=STRING reformat only lines beginning with STRING,\n\ reattaching the prefix to reformatted lines\n\ -s, --split-only split long lines, but do not refill\n\ "), stdout); /* Tell xgettext that the "% o" below is not a printf-style format string: xgettext:no-c-format */ fputs (_("\ -t, --tagged-paragraph indentation of first line different from second\n\ -u, --uniform-spacing one space between words, two after sentences\n\ -w, --width=WIDTH maximum line width (default of 75 columns)\n\ -g, --goal=WIDTH goal width (default of 93% of width)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE, or when FILE is -, read standard input.\n"), stdout); emit_ancillary_info (); } exit (status); } /* Decode options and launch execution. */ static struct option const long_options[] = { {"crown-margin", no_argument, NULL, 'c'}, {"prefix", required_argument, NULL, 'p'}, {"split-only", no_argument, NULL, 's'}, {"tagged-paragraph", no_argument, NULL, 't'}, {"uniform-spacing", no_argument, NULL, 'u'}, {"width", required_argument, NULL, 'w'}, {"goal", required_argument, NULL, 'g'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0}, }; int main (int argc, char **argv) { int optchar; bool ok = true; char const *max_width_option = NULL; char const *goal_width_option = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); crown = tagged = split = uniform = false; max_width = WIDTH; prefix = ""; prefix_length = prefix_lead_space = prefix_full_length = 0; if (argc > 1 && argv[1][0] == '-' && ISDIGIT (argv[1][1])) { /* Old option syntax; a dash followed by one or more digits. */ max_width_option = argv[1] + 1; /* Make the option we just parsed invisible to getopt. */ argv[1] = argv[0]; argv++; argc--; } while ((optchar = getopt_long (argc, argv, "0123456789cstuw:p:g:", long_options, NULL)) != -1) switch (optchar) { default: if (ISDIGIT (optchar)) error (0, 0, _("invalid option -- %c; -WIDTH is recognized\ only when it is the first\noption; use -w N instead"), optchar); usage (EXIT_FAILURE); case 'c': crown = true; break; case 's': split = true; break; case 't': tagged = true; break; case 'u': uniform = true; break; case 'w': max_width_option = optarg; break; case 'g': goal_width_option = optarg; break; case 'p': set_prefix (optarg); break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); } if (max_width_option) { /* Limit max_width to MAXCHARS / 2; otherwise, the resulting output can be quite ugly. */ unsigned long int tmp; if (! (xstrtoul (max_width_option, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXCHARS / 2)) error (EXIT_FAILURE, 0, _("invalid width: %s"), quote (max_width_option)); max_width = tmp; } if (goal_width_option) { /* Limit goal_width to max_width. */ unsigned long int tmp; if (! (xstrtoul (goal_width_option, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= max_width)) error (EXIT_FAILURE, 0, _("invalid width: %s"), quote (goal_width_option)); goal_width = tmp; if (max_width_option == NULL) max_width = goal_width + 10; } else { goal_width = max_width * (2 * (100 - LEEWAY) + 1) / 200; } if (optind == argc) fmt (stdin); else { for (; optind < argc; optind++) { char *file = argv[optind]; if (STREQ (file, "-")) fmt (stdin); else { FILE *in_stream; in_stream = fopen (file, "r"); if (in_stream != NULL) { fmt (in_stream); if (fclose (in_stream) == EOF) { error (0, errno, "%s", file); ok = false; } } else { error (0, errno, _("cannot open %s for reading"), quote (file)); ok = false; } } } } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* Trim space from the front and back of the string P, yielding the prefix, and record the lengths of the prefix and the space trimmed. */ static void set_prefix (char *p) { char *s; prefix_lead_space = 0; while (*p == ' ') { prefix_lead_space++; p++; } prefix = p; prefix_full_length = strlen (p); s = p + prefix_full_length; while (s > p && s[-1] == ' ') s--; *s = '\0'; prefix_length = s - p; } /* read file F and send formatted output to stdout. */ static void fmt (FILE *f) { fadvise (f, FADVISE_SEQUENTIAL); tabs = false; other_indent = 0; next_char = get_prefix (f); while (get_paragraph (f)) { fmt_paragraph (); put_paragraph (word_limit); } } /* Set the global variable 'other_indent' according to SAME_PARAGRAPH and other global variables. */ static void set_other_indent (bool same_paragraph) { if (split) other_indent = first_indent; else if (crown) { other_indent = (same_paragraph ? in_column : first_indent); } else if (tagged) { if (same_paragraph && in_column != first_indent) { other_indent = in_column; } /* Only one line: use the secondary indent from last time if it splits, or 0 if there have been no multi-line paragraphs in the input so far. But if these rules make the two indents the same, pick a new secondary indent. */ else if (other_indent == first_indent) other_indent = first_indent == 0 ? DEF_INDENT : 0; } else { other_indent = first_indent; } } /* Read a paragraph from input file F. A paragraph consists of a maximal number of non-blank (excluding any prefix) lines subject to: * In split mode, a paragraph is a single non-blank line. * In crown mode, the second and subsequent lines must have the same indentation, but possibly different from the indent of the first line. * Tagged mode is similar, but the first and second lines must have different indentations. * Otherwise, all lines of a paragraph must have the same indent. If a prefix is in effect, it must be present at the same indent for each line in the paragraph. Return false if end-of-file was encountered before the start of a paragraph, else true. */ static bool get_paragraph (FILE *f) { int c; last_line_length = 0; c = next_char; /* Scan (and copy) blank lines, and lines not introduced by the prefix. */ while (c == '\n' || c == EOF || next_prefix_indent < prefix_lead_space || in_column < next_prefix_indent + prefix_full_length) { c = copy_rest (f, c); if (c == EOF) { next_char = EOF; return false; } putchar ('\n'); c = get_prefix (f); } /* Got a suitable first line for a paragraph. */ prefix_indent = next_prefix_indent; first_indent = in_column; wptr = parabuf; word_limit = word; c = get_line (f, c); set_other_indent (same_para (c)); /* Read rest of paragraph (unless split is specified). */ if (split) { /* empty */ } else if (crown) { if (same_para (c)) { do { /* for each line till the end of the para */ c = get_line (f, c); } while (same_para (c) && in_column == other_indent); } } else if (tagged) { if (same_para (c) && in_column != first_indent) { do { /* for each line till the end of the para */ c = get_line (f, c); } while (same_para (c) && in_column == other_indent); } } else { while (same_para (c) && in_column == other_indent) c = get_line (f, c); } /* Tell static analysis tools that using word_limit[-1] is ok. word_limit is guaranteed to have been incremented by get_line. */ assert (word < word_limit); (word_limit - 1)->period = (word_limit - 1)->final = true; next_char = c; return true; } /* Copy to the output a line that failed to match the prefix, or that was blank after the prefix. In the former case, C is the character that failed to match the prefix. In the latter, C is \n or EOF. Return the character (\n or EOF) ending the line. */ static int copy_rest (FILE *f, int c) { const char *s; out_column = 0; if (in_column > next_prefix_indent || (c != '\n' && c != EOF)) { put_space (next_prefix_indent); for (s = prefix; out_column != in_column && *s; out_column++) putchar (*s++); if (c != EOF && c != '\n') put_space (in_column - out_column); if (c == EOF && in_column >= next_prefix_indent + prefix_length) putchar ('\n'); } while (c != '\n' && c != EOF) { putchar (c); c = getc (f); } return c; } /* Return true if a line whose first non-blank character after the prefix (if any) is C could belong to the current paragraph, otherwise false. */ static bool same_para (int c) { return (next_prefix_indent == prefix_indent && in_column >= next_prefix_indent + prefix_full_length && c != '\n' && c != EOF); } /* Read a line from input file F, given first non-blank character C after the prefix, and the following indent, and break it into words. A word is a maximal non-empty string of non-white characters. A word ending in [.?!]["')\]]* and followed by end-of-line or at least two spaces ends a sentence, as in emacs. Return the first non-blank character of the next line. */ static int get_line (FILE *f, int c) { int start; char *end_of_parabuf; WORD *end_of_word; end_of_parabuf = ¶buf[MAXCHARS]; end_of_word = &word[MAXWORDS - 2]; do { /* for each word in a line */ /* Scan word. */ word_limit->text = wptr; do { if (wptr == end_of_parabuf) { set_other_indent (true); flush_paragraph (); } *wptr++ = c; c = getc (f); } while (c != EOF && !isspace (c)); in_column += word_limit->length = wptr - word_limit->text; check_punctuation (word_limit); /* Scan inter-word space. */ start = in_column; c = get_space (f, c); word_limit->space = in_column - start; word_limit->final = (c == EOF || (word_limit->period && (c == '\n' || word_limit->space > 1))); if (c == '\n' || c == EOF || uniform) word_limit->space = word_limit->final ? 2 : 1; if (word_limit == end_of_word) { set_other_indent (true); flush_paragraph (); } word_limit++; } while (c != '\n' && c != EOF); return get_prefix (f); } /* Read a prefix from input file F. Return either first non-matching character, or first non-blank character after the prefix. */ static int get_prefix (FILE *f) { int c; in_column = 0; c = get_space (f, getc (f)); if (prefix_length == 0) next_prefix_indent = prefix_lead_space < in_column ? prefix_lead_space : in_column; else { const char *p; next_prefix_indent = in_column; for (p = prefix; *p != '\0'; p++) { unsigned char pc = *p; if (c != pc) return c; in_column++; c = getc (f); } c = get_space (f, c); } return c; } /* Read blank characters from input file F, starting with C, and keeping in_column up-to-date. Return first non-blank character. */ static int get_space (FILE *f, int c) { while (true) { if (c == ' ') in_column++; else if (c == '\t') { tabs = true; in_column = (in_column / TABWIDTH + 1) * TABWIDTH; } else return c; c = getc (f); } } /* Set extra fields in word W describing any attached punctuation. */ static void check_punctuation (WORD *w) { char const *start = w->text; char const *finish = start + (w->length - 1); unsigned char fin = *finish; w->paren = isopen (*start); w->punct = !! ispunct (fin); while (start < finish && isclose (*finish)) finish--; w->period = isperiod (*finish); } /* Flush part of the paragraph to make room. This function is called on hitting the limit on the number of words or characters. */ static void flush_paragraph (void) { WORD *split_point; WORD *w; int shift; COST best_break; /* In the special case where it's all one word, just flush it. */ if (word_limit == word) { fwrite (parabuf, sizeof *parabuf, wptr - parabuf, stdout); wptr = parabuf; return; } /* Otherwise: - format what you have so far as a paragraph, - find a low-cost line break near the end, - output to there, - make that the start of the paragraph. */ fmt_paragraph (); /* Choose a good split point. */ split_point = word_limit; best_break = MAXCOST; for (w = word->next_break; w != word_limit; w = w->next_break) { if (w->best_cost - w->next_break->best_cost < best_break) { split_point = w; best_break = w->best_cost - w->next_break->best_cost; } if (best_break <= MAXCOST - LINE_CREDIT) best_break += LINE_CREDIT; } put_paragraph (split_point); /* Copy text of words down to start of parabuf -- we use memmove because the source and target may overlap. */ memmove (parabuf, split_point->text, wptr - split_point->text); shift = split_point->text - parabuf; wptr -= shift; /* Adjust text pointers. */ for (w = split_point; w <= word_limit; w++) w->text -= shift; /* Copy words from split_point down to word -- we use memmove because the source and target may overlap. */ memmove (word, split_point, (word_limit - split_point + 1) * sizeof *word); word_limit -= split_point - word; } /* Compute the optimal formatting for the whole paragraph by computing and remembering the optimal formatting for each suffix from the empty one to the whole paragraph. */ static void fmt_paragraph (void) { WORD *start, *w; int len; COST wcost, best; int saved_length; word_limit->best_cost = 0; saved_length = word_limit->length; word_limit->length = max_width; /* sentinel */ for (start = word_limit - 1; start >= word; start--) { best = MAXCOST; len = start == word ? first_indent : other_indent; /* At least one word, however long, in the line. */ w = start; len += w->length; do { w++; /* Consider breaking before w. */ wcost = line_cost (w, len) + w->best_cost; if (start == word && last_line_length > 0) wcost += RAGGED_COST (len - last_line_length); if (wcost < best) { best = wcost; start->next_break = w; start->line_length = len; } /* This is a kludge to keep us from computing 'len' as the sum of the sentinel length and some non-zero number. Since the sentinel w->length may be INT_MAX, adding to that would give a negative result. */ if (w == word_limit) break; len += (w - 1)->space + w->length; /* w > start >= word */ } while (len < max_width); start->best_cost = best + base_cost (start); } word_limit->length = saved_length; } /* Return the constant component of the cost of breaking before the word THIS. */ static COST base_cost (WORD *this) { COST cost; cost = LINE_COST; if (this > word) { if ((this - 1)->period) { if ((this - 1)->final) cost -= SENTENCE_BONUS; else cost += NOBREAK_COST; } else if ((this - 1)->punct) cost -= PUNCT_BONUS; else if (this > word + 1 && (this - 2)->final) cost += WIDOW_COST ((this - 1)->length); } if (this->paren) cost -= PAREN_BONUS; else if (this->final) cost += ORPHAN_COST (this->length); return cost; } /* Return the component of the cost of breaking before word NEXT that depends on LEN, the length of the line beginning there. */ static COST line_cost (WORD *next, int len) { int n; COST cost; if (next == word_limit) return 0; n = goal_width - len; cost = SHORT_COST (n); if (next->next_break != word_limit) { n = len - next->line_length; cost += RAGGED_COST (n); } return cost; } /* Output to stdout a paragraph from word up to (but not including) FINISH, which must be in the next_break chain from word. */ static void put_paragraph (WORD *finish) { WORD *w; put_line (word, first_indent); for (w = word->next_break; w != finish; w = w->next_break) put_line (w, other_indent); } /* Output to stdout the line beginning with word W, beginning in column INDENT, including the prefix (if any). */ static void put_line (WORD *w, int indent) { WORD *endline; out_column = 0; put_space (prefix_indent); fputs (prefix, stdout); out_column += prefix_length; put_space (indent - out_column); endline = w->next_break - 1; for (; w != endline; w++) { put_word (w); put_space (w->space); } put_word (w); last_line_length = out_column; putchar ('\n'); } /* Output to stdout the word W. */ static void put_word (WORD *w) { const char *s; int n; s = w->text; for (n = w->length; n != 0; n--) putchar (*s++); out_column += w->length; } /* Output to stdout SPACE spaces, or equivalent tabs. */ static void put_space (int space) { int space_target, tab_target; space_target = out_column + space; if (tabs) { tab_target = space_target / TABWIDTH * TABWIDTH; if (out_column + 1 < tab_target) while (out_column < tab_target) { putchar ('\t'); out_column = (out_column / TABWIDTH + 1) * TABWIDTH; } } while (out_column < space_target) { putchar (' '); out_column++; } } coreutils-8.21/src/dcgen0000775000000000000000000000246612102337340012146 00000000000000#!/usr/bin/perl -w # dcgen -- convert dircolors.hin to dircolors.h. # Copyright (C) 1996-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # written by Jim Meyering require 5.002; use strict; (my $ME = $0) =~ s|.*/||; # A global destructor to close standard output with error checking. sub END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: closing standard output: $!\n"; $? ||= 1; } my @line; while (<>) { chomp; s/[[:blank:]]+/ /g; $_ and push @line, $_; } my $indent = ' '; print "static char const G_line[] =\n{\n"; foreach (@line) { s/./'$&',/g; s/'\\'/'\\\\'/g; s/'''/'\\''/g; print "$indent${_}0,\n"; } print "};\n"; coreutils-8.21/src/realpath.c0000664000000000000000000001722712102337340013105 00000000000000/* realpath - print the resolved path Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #include #include #include #include #include "system.h" #include "canonicalize.h" #include "error.h" #include "quote.h" #include "relpath.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "realpath" #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady") enum { RELATIVE_TO_OPTION = CHAR_MAX + 1, RELATIVE_BASE_OPTION }; static bool verbose = true; static bool logical; static bool use_nuls; static const char *can_relative_to; static const char *can_relative_base; static struct option const longopts[] = { {"canonicalize-existing", no_argument, NULL, 'e'}, {"canonicalize-missing", no_argument, NULL, 'm'}, {"relative-to", required_argument, NULL, RELATIVE_TO_OPTION}, {"relative-base", required_argument, NULL, RELATIVE_BASE_OPTION}, {"quiet", no_argument, NULL, 'q'}, {"strip", no_argument, NULL, 's' /* FIXME: deprecate in 2013 or so */}, {"no-symlinks", no_argument, NULL, 's'}, {"zero", no_argument, NULL, 'z'}, {"logical", no_argument, NULL, 'L'}, {"physical", no_argument, NULL, 'P'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("\ Print the resolved absolute file name;\n\ all but the last component must exist\n\ \n\ "), stdout); fputs (_("\ -e, --canonicalize-existing all components of the path must exist\n\ -m, --canonicalize-missing no components of the path need exist\n\ -L, --logical resolve '..' components before symlinks\n\ -P, --physical resolve symlinks as encountered (default)\n\ -q, --quiet suppress most error messages\n\ --relative-to=FILE print the resolved path relative to FILE\n\ --relative-base=FILE print absolute paths unless paths below FILE\n\ -s, --strip, --no-symlinks don't expand symlinks\n\ -z, --zero separate output with NUL rather than newline\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* A wrapper around canonicalize_filename_mode(), to call it twice when in LOGICAL mode. */ static char * realpath_canon (const char *fname, int can_mode) { char *can_fname = canonicalize_filename_mode (fname, can_mode); if (logical && can_fname) /* canonicalize again to resolve symlinks. */ { can_mode &= ~CAN_NOLINKS; char *can_fname2 = canonicalize_filename_mode (can_fname, can_mode); free (can_fname); return can_fname2; } return can_fname; } /* Test whether canonical prefix is parent or match of path. */ static bool _GL_ATTRIBUTE_PURE path_prefix (const char *prefix, const char *path) { /* We already know prefix[0] and path[0] are '/'. */ prefix++; path++; /* '/' is the prefix of everything except '//' (since we know '//' is only present after canonicalization if it is distinct). */ if (!*prefix) return *path != '/'; /* Likewise, '//' is a prefix of any double-slash path. */ if (*prefix == '/' && !prefix[1]) return *path == '/'; /* Any other prefix has a non-slash portion. */ while (*prefix && *path) { if (*prefix != *path) break; prefix++; path++; } return (!*prefix && (*path == '/' || !*path)); } static bool isdir (const char *path) { struct stat sb; if (stat (path, &sb) != 0) error (EXIT_FAILURE, errno, _("cannot stat %s"), quote (path)); return S_ISDIR (sb.st_mode); } static bool process_path (const char *fname, int can_mode) { char *can_fname = realpath_canon (fname, can_mode); if (!can_fname) { if (verbose) error (0, errno, "%s", quote (fname)); return false; } if (!can_relative_to || (can_relative_base && !path_prefix (can_relative_base, can_fname)) || (can_relative_to && !relpath (can_fname, can_relative_to, NULL, 0))) fputs (can_fname, stdout); putchar (use_nuls ? '\0' : '\n'); free (can_fname); return true; } int main (int argc, char **argv) { bool ok = true; int can_mode = CAN_ALL_BUT_LAST; const char *relative_to = NULL; const char *relative_base = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while (1) { int c = getopt_long (argc, argv, "eLmPqsz", longopts, NULL); if (c == -1) break; switch (c) { case 'e': can_mode &= ~CAN_MODE_MASK; can_mode |= CAN_EXISTING; break; case 'm': can_mode &= ~CAN_MODE_MASK; can_mode |= CAN_MISSING; break; case 'L': can_mode |= CAN_NOLINKS; logical = true; break; case 's': can_mode |= CAN_NOLINKS; logical = false; break; case 'P': can_mode &= ~CAN_NOLINKS; logical = false; break; case 'q': verbose = false; break; case 'z': use_nuls = true; break; case RELATIVE_TO_OPTION: relative_to = optarg; break; case RELATIVE_BASE_OPTION: relative_base = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind >= argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (relative_base && !relative_to) relative_to = relative_base; bool need_dir = (can_mode & CAN_MODE_MASK) == CAN_EXISTING; if (relative_to) { can_relative_to = realpath_canon (relative_to, can_mode); if (!can_relative_to) error (EXIT_FAILURE, errno, "%s", quote (relative_to)); if (need_dir && !isdir (can_relative_to)) error (EXIT_FAILURE, ENOTDIR, "%s", quote (relative_to)); } if (relative_base == relative_to) can_relative_base = can_relative_to; else if (relative_base) { char *base = realpath_canon (relative_base, can_mode); if (!base) error (EXIT_FAILURE, errno, "%s", quote (relative_base)); if (need_dir && !isdir (base)) error (EXIT_FAILURE, ENOTDIR, "%s", quote (relative_base)); /* --relative-to is a no-op if it does not have --relative-base as a prefix */ if (path_prefix (base, can_relative_to)) can_relative_base = base; else { free (base); can_relative_base = can_relative_to; can_relative_to = NULL; } } for (; optind < argc; ++optind) ok &= process_path (argv[optind], can_mode); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/pr.c0000664000000000000000000025150112102337340011721 00000000000000/* pr -- convert text files for printing. Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* By Pete TerMaat, with considerable refinement by Roland Huebner. */ /* Things to watch: Sys V screws up on ... pr -n -3 -s: /usr/dict/words pr -m -o10 -n /usr/dict/words{,,,} pr -6 -a -n -o5 /usr/dict/words Ideas: Keep a things_to_do list of functions to call when we know we have something to print. Cleaner than current series of checks. Improve the printing of control prefixes. Expand the file name in the centered header line to a full file name. Concept: If the input_tab_char differs from the default value TAB ('-e[CHAR[...]]' is used), any input text tab is expanded to the default width of 8 spaces (compare char_to_clump). - Same as SunOS does. The treatment of the number_separator (compare add_line_number): The default value TAB of the number_separator ('-n[SEP[...]]') doesn't be thought to be an input character. An optional '-e'-input has no effect. - With single column output only one POSIX requirement has to be met: The default n-separator should be a TAB. The consequence is a different width between the number and the text if the output position of the separator changes, i.e. it depends upon the left margin used. That's not nice but easy-to-use together with the defaults of other utilities, e.g. sort or cut. - Same as SunOS does. - With multicolumn output two conflicting POSIX requirements exist: First "default n-separator is TAB", second "output text columns shall be of equal width". Moreover POSIX specifies the number+separator a part of the column, together with '-COLUMN' and '-a -COLUMN'. (With -m output the number shall occupy each line only once. Exactly the same situation as single column output exists.) GNU pr gives priority to the 2nd requirement and observes POSIX column definition. The n-separator TAB is expanded to the same number of spaces in each column using the default value 8. Tabification is only performed if it is compatible with the output position. Consequence: The output text columns are of equal width. The layout of a page does not change if the left margin varies. - Looks better than the SunOS approach. SunOS pr gives priority to the 1st requirement. n-separator TAB width varies with each column. Only the width of text part of the column is fixed. Consequence: The output text columns don't have equal width. The widths and the layout of the whole page varies with the left margin. An overflow of the line length (without margin) over the input value PAGE_WIDTH may occur. The interference of the POSIX-compliant small letter options -w and -s: ("interference" means "setting a _separator_ with -s switches off the column structure and the default - not generally - page_width, acts on -w option") options: text form / separator: equivalent new options: -w l -s[x] -------------------------------------------------------------------- 1. -- -- columns / space -- trunc. to page_width = 72 2. -- -s[:] full lines / TAB[:] -J --sep-string[=""|:] no truncation 3. -w l -- columns / space -W l trunc. to page_width = l 4. -w l -s[:] columns / no sep.[:] -W l --sep-string[=:] trunc. to page_width = l -------------------------------------------------------------------- Options: Including version 1.22i: Some SMALL LETTER options have been redefined with the object of a better POSIX compliance. The output of some further cases has been adapted to other UNIXes. A violation of downward compatibility has to be accepted. Some NEW CAPITAL LETTER options ( -J, -S, -W) has been introduced to turn off unexpected interferences of small letter options (-s and -w together with the three column options). -N option and the second argument LAST_PAGE of +FIRST_PAGE offer more flexibility; The detailed handling of form feeds set in the input files requires -T option. Capital letter options dominate small letter ones. Some of the option-arguments cannot be specified as separate arguments from the preceding option letter (already stated in POSIX specification). Form feeds in the input cause page breaks in the output. Multiple form feeds produce empty pages. +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN Produce output that is COLUMN columns wide and print columns down, unless -a is used. Balance number of lines in the columns on each page. -a, --across Print columns across rather than down, used together with -COLUMN. The input one two three four will be printed with '-a -3' as one two three four -b Balance columns on the last page. -b is no longer an independent option. It's always used together with -COLUMN (unless -a is used) to get a consistent formulation with "FF set by hand" in input files. Each formfeed found terminates the number of lines to be read with the actual page. The situation for printing columns down is equivalent to that on the last page. So we need a balancing. Keeping -b as an underground option guarantees some downward compatibility. Utilities using pr with -b (a most frequently used form) still work as usual. -c, --show-control-chars Print unprintable characters as control prefixes. Control-g is printed as ^G (use hat notation) and octal backslash notation. -d, --double-space Double space the output. -D FORMAT, --date-format=FORMAT Use FORMAT for the header date. -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] Expand tabs to spaces on input. Optional argument CHAR is the input TAB character. (Default is TAB). Optional argument WIDTH is the input TAB character's width. (Default is 8.) -F, -f, --form-feed Use formfeeds instead of newlines to separate pages. A three line HEADER is used, no TRAILER with -F, without -F both HEADER and TRAILER are made of five lines. -h HEADER, --header=HEADER Replace the filename in the header with the string HEADER. A centered header is used. -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] Replace spaces with tabs on output. Optional argument CHAR is the output TAB character. (Default is TAB). Optional argument WIDTH is the output TAB character's width. (Default is 8) -J, --join-lines Merge lines of full length, turns off -W/-w line truncation, no column alignment, --sep-string[=STRING] sets separators, works with all column options (-COLUMN | -a -COLUMN | -m). -J has been introduced (together with -W and --sep-string) to disentangle the old (POSIX compliant) options -w, -s along with the 3 column options. -l PAGE_LENGTH, --length=PAGE_LENGTH Set the page length to PAGE_LENGTH lines. Default is 66, including 5 lines of HEADER and 5 lines of TRAILER without -F, but only 3 lines of HEADER and no TRAILER with -F (i.e the number of text lines defaults to 56 or 63 respectively). -m, --merge Print files in parallel; pad_across_to align columns; truncate lines and print separator strings; Do it also with empty columns to get a continuous line numbering and column marking by separators throughout the whole merged file. Empty pages in some input files produce empty columns [marked by separators] in the merged pages. Completely empty merged pages show no column separators at all. The layout of a merged page is ruled by the largest form feed distance of the single pages at that page. Shorter columns will be filled up with empty lines. Together with -J option join lines of full length and set separators when -S option is used. -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] Provide DIGITS digit line numbering (default for DIGITS is 5). With multicolumn output the number occupies the first DIGITS column positions of each text column or only each line of -m output. With single column output the number precedes each line just as -m output. Optional argument SEP is the character appended to the line number to separate it from the text followed. The default separator is a TAB. In a strict sense a TAB is always printed with single column output only. The TAB-width varies with the TAB-position, e.g. with the left margin specified by -o option. With multicolumn output priority is given to "equal width of output columns" (a POSIX specification). The TAB-width is fixed to the value of the 1st column and does not change with different values of left margin. That means a fixed number of spaces is always printed in the place of a TAB. The tabification depends upon the output position. Default counting of the line numbers starts with 1st line of the input file (not the 1st line printed, compare the --page option and -N option). -N NUMBER, --first-line-number=NUMBER Start line counting with the number NUMBER at the 1st line of first page printed (mostly not the 1st line of the input file). -o MARGIN, --indent=MARGIN Offset each line with a margin MARGIN spaces wide. Total page width is the size of the margin plus the PAGE_WIDTH set with -W/-w option. -r, --no-file-warnings Omit warning when a file cannot be opened. -s[CHAR], --separator[=CHAR] Separate columns by a single character CHAR, default for CHAR is the TAB character without -w and 'no char' with -w. Without '-s' default separator 'space' is set. -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set. That is a POSIX compliant formulation. The source code translates -s into the new options -S and -J, also -W if required. -S[STRING], --sep-string[=STRING] Separate columns by any string STRING. The -S option doesn't react upon the -W/-w option (unlike -s option does). It defines a separator nothing else. Without -S: Default separator TAB is used with -J and 'space' otherwise (same as -S" "). With -S "": No separator is used. Quotes should be used with blanks and some shell active characters. -S is problematic because in its obsolete form you cannot use -S "STRING", but in its standard form you must use -S "STRING" if STRING is empty. Use --sep-string to avoid the ambiguity. -t, --omit-header Do not print headers or footers but retain form feeds set in the input files. -T, --omit-pagination Do not print headers or footers, eliminate any pagination by form feeds set in the input files. -v, --show-nonprinting Print unprintable characters as escape sequences. Use octal backslash notation. Control-G becomes \007. -w PAGE_WIDTH, --width=PAGE_WIDTH Set page width to PAGE_WIDTH characters for multiple text-column output only (default for PAGE_WIDTH is 72). -s[CHAR] turns off the default page width and any line truncation. Lines of full length will be merged, regardless of the column options set. A POSIX compliant formulation. -W PAGE_WIDTH, --page-width=PAGE_WIDTH Set the page width to PAGE_WIDTH characters. That's valid with and without a column option. Text lines will be truncated, unless -J is used. Together with one of the column options (-COLUMN| -a -COLUMN| -m) column alignment is always used. Default is 72 characters. Without -W PAGE_WIDTH - but with one of the column options default truncation of 72 characters is used (to keep downward compatibility and to simplify most frequently met column tasks). Column alignment and column separators are used. - and without any of the column options NO line truncation is used (to keep downward compatibility and to meet most frequent tasks). That's equivalent to -W 72 -J . With/without -W PAGE_WIDTH the header line is always truncated to avoid line overflow. (In pr versions newer than 1.14 -S option does no longer affect -W option.) */ #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "hard-locale.h" #include "mbswidth.h" #include "quote.h" #include "stat-time.h" #include "stdio--.h" #include "strftime.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "pr" #define AUTHORS \ proper_name ("Pete TerMaat"), \ proper_name ("Roland Huebner") /* Used with start_position in the struct COLUMN described below. If start_position == ANYWHERE, we aren't truncating columns and can begin printing a column anywhere. Otherwise we must pad to the horizontal position start_position. */ #define ANYWHERE 0 /* Each column has one of these structures allocated for it. If we're only dealing with one file, fp is the same for all columns. The general strategy is to spend time setting up these column structures (storing columns if necessary), after which printing is a matter of flitting from column to column and calling print_func. Parallel files, single files printing across in multiple columns, and single files printing down in multiple columns all fit the same printing loop. print_func Function used to print lines in this column. If we're storing this column it will be print_stored(), Otherwise it will be read_line(). char_func Function used to process characters in this column. If we're storing this column it will be store_char(), otherwise it will be print_char(). current_line Index of the current entry in line_vector, which contains the index of the first character of the current line in buff[]. lines_stored Number of lines in this column which are stored in buff. lines_to_print If we're storing this column, lines_to_print is the number of stored_lines which remain to be printed. Otherwise it is the number of lines we can print without exceeding lines_per_body. start_position The horizontal position we want to be in before we print the first character in this column. numbered True means precede this column with a line number. */ /* FIXME: There are many unchecked integer overflows in this file, that will cause this command to misbehave given large inputs or options. Many of the "int" values below should be "size_t" or something else like that. */ struct COLUMN; struct COLUMN { FILE *fp; /* Input stream for this column. */ char const *name; /* File name. */ enum { OPEN, FF_FOUND, /* used with -b option, set with \f, changed to ON_HOLD after print_header */ ON_HOLD, /* Hit a form feed. */ CLOSED } status; /* Status of the file pointer. */ /* Func to print lines in this col. */ bool (*print_func) (struct COLUMN *); /* Func to print/store chars in this col. */ void (*char_func) (char); int current_line; /* Index of current place in line_vector. */ int lines_stored; /* Number of lines stored in buff. */ int lines_to_print; /* No. lines stored or space left on page. */ int start_position; /* Horizontal position of first char. */ bool numbered; bool full_page_printed; /* True means printed without a FF found. */ /* p->full_page_printed controls a special case of "FF set by hand": True means a full page has been printed without FF found. To avoid an additional empty page we have to ignore a FF immediately following in the next line. */ }; typedef struct COLUMN COLUMN; static int char_to_clump (char c); static bool read_line (COLUMN *p); static bool print_page (void); static bool print_stored (COLUMN *p); static bool open_file (char *name, COLUMN *p); static bool skip_to_page (uintmax_t page); static void print_header (void); static void pad_across_to (int position); static void add_line_number (COLUMN *p); static void getoptarg (char *arg, char switch_char, char *character, int *number); static void print_files (int number_of_files, char **av); static void init_parameters (int number_of_files); static void init_header (char const *filename, int desc); static bool init_fps (int number_of_files, char **av); static void init_funcs (void); static void init_store_cols (void); static void store_columns (void); static void balance (int total_stored); static void store_char (char c); static void pad_down (int lines); static void read_rest_of_line (COLUMN *p); static void skip_read (COLUMN *p, int column_number); static void print_char (char c); static void cleanup (void); static void print_sep_string (void); static void separator_string (const char *optarg_S); /* All of the columns to print. */ static COLUMN *column_vector; /* When printing a single file in multiple downward columns, we store the leftmost columns contiguously in buff. To print a line from buff, get the index of the first character from line_vector[i], and print up to line_vector[i + 1]. */ static char *buff; /* Index of the position in buff where the next character will be stored. */ static unsigned int buff_current; /* The number of characters in buff. Used for allocation of buff and to detect overflow of buff. */ static size_t buff_allocated; /* Array of indices into buff. Each entry is an index of the first character of a line. This is used when storing lines to facilitate shuffling when we do column balancing on the last page. */ static int *line_vector; /* Array of horizonal positions. For each line in line_vector, end_vector[line] is the horizontal position we are in after printing that line. We keep track of this so that we know how much we need to pad to prepare for the next column. */ static int *end_vector; /* (-m) True means we're printing multiple files in parallel. */ static bool parallel_files = false; /* (-m) True means a line starts with some empty columns (some files already CLOSED or ON_HOLD) which we have to align. */ static bool align_empty_cols; /* (-m) True means we have not yet found any printable column in a line. align_empty_cols = true has to be maintained. */ static bool empty_line; /* (-m) False means printable column output precedes a form feed found. Column alignment is done only once. No additional action with that form feed. True means we found only a form feed in a column. Maybe we have to do some column alignment with that form feed. */ static bool FF_only; /* (-[0-9]+) True means we're given an option explicitly specifying number of columns. Used to detect when this option is used with -m and when translating old options to new/long options. */ static bool explicit_columns = false; /* (-t|-T) False means we aren't printing headers and footers. */ static bool extremities = true; /* (-t) True means we retain all FF set by hand in input files. False is set with -T option. */ static bool keep_FF = false; static bool print_a_FF = false; /* True means we need to print a header as soon as we know we've got input to print after it. */ static bool print_a_header; /* (-f) True means use formfeeds instead of newlines to separate pages. */ static bool use_form_feed = false; /* True means we have read the standard input. */ static bool have_read_stdin = false; /* True means the -a flag has been given. */ static bool print_across_flag = false; /* True means we're printing one file in multiple (>1) downward columns. */ static bool storing_columns = true; /* (-b) True means balance columns on the last page as Sys V does. */ /* That's no longer an independent option. With storing_columns = true balance_columns = true is used too (s. function init_parameters). We get a consistent formulation with "FF set by hand" in input files. */ static bool balance_columns = false; /* (-l) Number of lines on a page, including header and footer lines. */ static int lines_per_page = 66; /* Number of lines in the header and footer can be reset to 0 using the -t flag. */ enum { lines_per_header = 5 }; static int lines_per_body; enum { lines_per_footer = 5 }; /* (-w|-W) Width in characters of the page. Does not include the width of the margin. */ static int chars_per_line = 72; /* (-w|W) True means we truncate lines longer than chars_per_column. */ static bool truncate_lines = false; /* (-J) True means we join lines without any line truncation. -J dominates -w option. */ static bool join_lines = false; /* Number of characters in a column. Based on col_sep_length and page width. */ static int chars_per_column; /* (-e) True means convert tabs to spaces on input. */ static bool untabify_input = false; /* (-e) The input tab character. */ static char input_tab_char = '\t'; /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ... where the leftmost column is 1. */ static int chars_per_input_tab = 8; /* (-i) True means convert spaces to tabs on output. */ static bool tabify_output = false; /* (-i) The output tab character. */ static char output_tab_char = '\t'; /* (-i) The width of the output tab. */ static int chars_per_output_tab = 8; /* Keeps track of pending white space. When we hit a nonspace character after some whitespace, we print whitespace, tabbing if necessary to get to output_position + spaces_not_printed. */ static int spaces_not_printed; /* (-o) Number of spaces in the left margin (tabs used when possible). */ static int chars_per_margin = 0; /* Position where the next character will fall. Leftmost position is 0 + chars_per_margin. Rightmost position is chars_per_margin + chars_per_line - 1. This is important for converting spaces to tabs on output. */ static int output_position; /* Horizontal position relative to the current file. (output_position depends on where we are on the page; input_position depends on where we are in the file.) Important for converting tabs to spaces on input. */ static int input_position; /* True if there were any failed opens so we can exit with nonzero status. */ static bool failed_opens = false; /* The number of spaces taken up if we print a tab character with width c_ from position h_. */ #define TAB_WIDTH(c_, h_) ((c_) - ((h_) % (c_))) /* The horizontal position we'll be at after printing a tab character of width c_ from the position h_. */ #define POS_AFTER_TAB(c_, h_) ((h_) + TAB_WIDTH (c_, h_)) /* (-NNN) Number of columns of text to print. */ static int columns = 1; /* (+NNN:MMM) Page numbers on which to begin and stop printing. first_page_number = 0 will be used to check input only. */ static uintmax_t first_page_number = 0; static uintmax_t last_page_number = UINTMAX_MAX; /* Number of files open (not closed, not on hold). */ static int files_ready_to_read = 0; /* Current page number. Displayed in header. */ static uintmax_t page_number; /* Current line number. Displayed when -n flag is specified. When printing files in parallel (-m flag), line numbering is as follows: 1 foo goo moo 2 hoo too zoo When printing files across (-a flag), ... 1 foo 2 moo 3 goo 4 hoo 5 too 6 zoo Otherwise, line numbering is as follows: 1 foo 3 goo 5 too 2 moo 4 hoo 6 zoo */ static int line_number; /* (-n) True means lines should be preceded by numbers. */ static bool numbered_lines = false; /* (-n) Character which follows each line number. */ static char number_separator = '\t'; /* (-n) line counting starts with 1st line of input file (not with 1st line of 1st page printed). */ static int line_count = 1; /* (-n) True means counting of skipped lines starts with 1st line of input file. False means -N option is used in addition, counting of skipped lines not required. */ static bool skip_count = true; /* (-N) Counting starts with start_line_number = NUMBER at 1st line of first page printed, usually not 1st page of input file. */ static int start_line_num = 1; /* (-n) Width in characters of a line number. */ static int chars_per_number = 5; /* Used when widening the first column to accommodate numbers -- only needed when printing files in parallel. Includes width of both the number and the number_separator. */ static int number_width; /* Buffer sprintf uses to format a line number. */ static char *number_buff; /* (-v) True means unprintable characters are printed as escape sequences. control-g becomes \007. */ static bool use_esc_sequence = false; /* (-c) True means unprintable characters are printed as control prefixes. control-g becomes ^G. */ static bool use_cntrl_prefix = false; /* (-d) True means output is double spaced. */ static bool double_space = false; /* Number of files opened initially in init_files. Should be 1 unless we're printing multiple files in parallel. */ static int total_files = 0; /* (-r) True means don't complain if we can't open a file. */ static bool ignore_failed_opens = false; /* (-S) True means we separate columns with a specified string. -S option does not affect line truncation nor column alignment. */ static bool use_col_separator = false; /* String used to separate columns if the -S option has been specified. Default without -S but together with one of the column options -a|COLUMN|-m is a 'space' and with the -J option a 'tab'. */ static char *col_sep_string = (char *) ""; static int col_sep_length = 0; static char *column_separator = (char *) " "; static char *line_separator = (char *) "\t"; /* Number of separator characters waiting to be printed as soon as we know that we have any input remaining to be printed. */ static int separators_not_printed; /* Position we need to pad to, as soon as we know that we have input remaining to be printed. */ static int padding_not_printed; /* True means we should pad the end of the page. Remains false until we know we have a page to print. */ static bool pad_vertically; /* (-h) String of characters used in place of the filename in the header. */ static char *custom_header; /* (-D) Date format for the header. */ static char const *date_format; /* Date and file name for the header. */ static char *date_text; static char const *file_text; /* Output columns available, not counting the date and file name. */ static int header_width_available; static char *clump_buff; /* True means we read the line no. lines_per_body in skip_read called by skip_to_page. That variable controls the coincidence of a "FF set by hand" and "full_page_printed", see above the definition of structure COLUMN. */ static bool last_line = false; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { COLUMNS_OPTION = CHAR_MAX + 1, PAGES_OPTION }; static char const short_options[] = "-0123456789D:FJN:S::TW:abcde::fh:i::l:mn::o:rs::tvw:"; static struct option const long_options[] = { {"pages", required_argument, NULL, PAGES_OPTION}, {"columns", required_argument, NULL, COLUMNS_OPTION}, {"across", no_argument, NULL, 'a'}, {"show-control-chars", no_argument, NULL, 'c'}, {"double-space", no_argument, NULL, 'd'}, {"date-format", required_argument, NULL, 'D'}, {"expand-tabs", optional_argument, NULL, 'e'}, {"form-feed", no_argument, NULL, 'f'}, {"header", required_argument, NULL, 'h'}, {"output-tabs", optional_argument, NULL, 'i'}, {"join-lines", no_argument, NULL, 'J'}, {"length", required_argument, NULL, 'l'}, {"merge", no_argument, NULL, 'm'}, {"number-lines", optional_argument, NULL, 'n'}, {"first-line-number", required_argument, NULL, 'N'}, {"indent", required_argument, NULL, 'o'}, {"no-file-warnings", no_argument, NULL, 'r'}, {"separator", optional_argument, NULL, 's'}, {"sep-string", optional_argument, NULL, 'S'}, {"omit-header", no_argument, NULL, 't'}, {"omit-pagination", no_argument, NULL, 'T'}, {"show-nonprinting", no_argument, NULL, 'v'}, {"width", required_argument, NULL, 'w'}, {"page-width", required_argument, NULL, 'W'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return the number of columns that have either an open file or stored lines. */ static int _GL_ATTRIBUTE_PURE cols_ready_to_print (void) { COLUMN *q; int i; int n; n = 0; for (q = column_vector, i = 0; i < columns; ++q, ++i) if (q->status == OPEN || q->status == FF_FOUND /* With -b: To print a header only */ || (storing_columns && q->lines_stored > 0 && q->lines_to_print > 0)) ++n; return n; } /* Estimate first_ / last_page_number using option +FIRST_PAGE:LAST_PAGE */ static bool first_last_page (int oi, char c, char const *pages) { char *p; uintmax_t first; uintmax_t last = UINTMAX_MAX; strtol_error err = xstrtoumax (pages, &p, 10, &first, ""); if (err != LONGINT_OK && err != LONGINT_INVALID_SUFFIX_CHAR) xstrtol_fatal (err, oi, c, long_options, pages); if (p == pages || !first) return false; if (*p == ':') { char const *p1 = p + 1; err = xstrtoumax (p1, &p, 10, &last, ""); if (err != LONGINT_OK) xstrtol_fatal (err, oi, c, long_options, pages); if (p1 == p || last < first) return false; } if (*p) return false; first_page_number = first; last_page_number = last; return true; } /* Parse column count string S, and if it's valid (1 or larger and within range of the type of 'columns') set the global variables columns and explicit_columns and return true. Otherwise, exit with a diagnostic. */ static void parse_column_count (char const *s) { long int tmp_long; if (xstrtol (s, NULL, 10, &tmp_long, "") != LONGINT_OK || !(1 <= tmp_long && tmp_long <= INT_MAX)) error (EXIT_FAILURE, 0, _("invalid number of columns: %s"), quote (s)); columns = tmp_long; explicit_columns = true; } /* Estimate length of col_sep_string with option -S. */ static void separator_string (const char *optarg_S) { col_sep_length = (int) strlen (optarg_S); col_sep_string = xmalloc (col_sep_length + 1); strcpy (col_sep_string, optarg_S); } int main (int argc, char **argv) { int n_files; bool old_options = false; bool old_w = false; bool old_s = false; char **file_names; /* Accumulate the digits of old-style options like -99. */ char *column_count_string = NULL; size_t n_digits = 0; size_t n_alloc = 0; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); n_files = 0; file_names = (argc > 1 ? xmalloc ((argc - 1) * sizeof (char *)) : NULL); while (true) { int oi = -1; int c = getopt_long (argc, argv, short_options, long_options, &oi); if (c == -1) break; if (ISDIGIT (c)) { /* Accumulate column-count digits specified via old-style options. */ if (n_digits + 1 >= n_alloc) column_count_string = X2REALLOC (column_count_string, &n_alloc); column_count_string[n_digits++] = c; column_count_string[n_digits] = '\0'; continue; } n_digits = 0; switch (c) { case 1: /* Non-option argument. */ /* long option --page dominates old '+FIRST_PAGE ...'. */ if (! (first_page_number == 0 && *optarg == '+' && first_last_page (-2, '+', optarg + 1))) file_names[n_files++] = optarg; break; case PAGES_OPTION: /* --pages=FIRST_PAGE[:LAST_PAGE] */ { /* dominates old opt +... */ if (! optarg) error (EXIT_FAILURE, 0, _("'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument")); else if (! first_last_page (oi, 0, optarg)) error (EXIT_FAILURE, 0, _("invalid page range %s"), quote (optarg)); break; } case COLUMNS_OPTION: /* --columns=COLUMN */ { parse_column_count (optarg); /* If there was a prior column count specified via the short-named option syntax, e.g., -9, ensure that this long-name-specified value overrides it. */ free (column_count_string); column_count_string = NULL; n_alloc = 0; break; } case 'a': print_across_flag = true; storing_columns = false; break; case 'b': balance_columns = true; break; case 'c': use_cntrl_prefix = true; break; case 'd': double_space = true; break; case 'D': date_format = optarg; break; case 'e': if (optarg) getoptarg (optarg, 'e', &input_tab_char, &chars_per_input_tab); /* Could check tab width > 0. */ untabify_input = true; break; case 'f': case 'F': use_form_feed = true; break; case 'h': custom_header = optarg; break; case 'i': if (optarg) getoptarg (optarg, 'i', &output_tab_char, &chars_per_output_tab); /* Could check tab width > 0. */ tabify_output = true; break; case 'J': join_lines = true; break; case 'l': { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long <= 0 || tmp_long > INT_MAX) { error (EXIT_FAILURE, 0, _("'-l PAGE_LENGTH' invalid number of lines: %s"), quote (optarg)); } lines_per_page = tmp_long; break; } case 'm': parallel_files = true; storing_columns = false; break; case 'n': numbered_lines = true; if (optarg) getoptarg (optarg, 'n', &number_separator, &chars_per_number); break; case 'N': skip_count = false; { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long > INT_MAX) { error (EXIT_FAILURE, 0, _("'-N NUMBER' invalid starting line number: %s"), quote (optarg)); } start_line_num = tmp_long; break; } case 'o': { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long < 0 || tmp_long > INT_MAX) error (EXIT_FAILURE, 0, _("'-o MARGIN' invalid line offset: %s"), quote (optarg)); chars_per_margin = tmp_long; break; } case 'r': ignore_failed_opens = true; break; case 's': old_options = true; old_s = true; if (!use_col_separator && optarg) separator_string (optarg); break; case 'S': old_s = false; /* Reset an additional input of -s, -S dominates -s */ col_sep_string = bad_cast (""); col_sep_length = 0; use_col_separator = true; if (optarg) separator_string (optarg); break; case 't': extremities = false; keep_FF = true; break; case 'T': extremities = false; keep_FF = false; break; case 'v': use_esc_sequence = true; break; case 'w': old_options = true; old_w = true; { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long <= 0 || tmp_long > INT_MAX) error (EXIT_FAILURE, 0, _("'-w PAGE_WIDTH' invalid number of characters: %s"), quote (optarg)); if (!truncate_lines) chars_per_line = tmp_long; break; } case 'W': old_w = false; /* dominates -w */ truncate_lines = true; { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long <= 0 || tmp_long > INT_MAX) error (EXIT_FAILURE, 0, _("'-W PAGE_WIDTH' invalid number of characters: %s"), quote (optarg)); chars_per_line = tmp_long; break; } case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } } if (column_count_string) { parse_column_count (column_count_string); free (column_count_string); } if (! date_format) date_format = (getenv ("POSIXLY_CORRECT") && !hard_locale (LC_TIME) ? "%b %e %H:%M %Y" : "%Y-%m-%d %H:%M"); /* Now we can set a reasonable initial value: */ if (first_page_number == 0) first_page_number = 1; if (parallel_files && explicit_columns) error (EXIT_FAILURE, 0, _("cannot specify number of columns when printing in parallel")); if (parallel_files && print_across_flag) error (EXIT_FAILURE, 0, _("cannot specify both printing across and printing in parallel")); /* Translate some old short options to new/long options. To meet downward compatibility with other UNIX pr utilities and some POSIX specifications. */ if (old_options) { if (old_w) { if (parallel_files || explicit_columns) { /* activate -W */ truncate_lines = true; if (old_s) /* adapt HP-UX and SunOS: -s = no separator; activate -S */ use_col_separator = true; } else /* old -w sets width with columns only activate -J */ join_lines = true; } else if (!use_col_separator) { /* No -S option read */ if (old_s && (parallel_files || explicit_columns)) { if (!truncate_lines) { /* old -s (without -w and -W) annuls column alignment, uses fields, activate -J */ join_lines = true; if (col_sep_length > 0) /* activate -S */ use_col_separator = true; } else /* with -W */ /* adapt HP-UX and SunOS: -s = no separator; activate -S */ use_col_separator = true; } } } for (; optind < argc; optind++) { file_names[n_files++] = argv[optind]; } if (n_files == 0) { /* No file arguments specified; read from standard input. */ print_files (0, NULL); } else { if (parallel_files) print_files (n_files, file_names); else { unsigned int i; for (i = 0; i < n_files; i++) print_files (1, &file_names[i]); } } cleanup (); if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, _("standard input")); if (failed_opens) exit (EXIT_FAILURE); exit (EXIT_SUCCESS); } /* Parse options of the form -scNNN. Example: -nck, where 'n' is the option, c is the optional number separator, and k is the optional width of the field used when printing a number. */ static void getoptarg (char *arg, char switch_char, char *character, int *number) { if (!ISDIGIT (*arg)) *character = *arg++; if (*arg) { long int tmp_long; if (xstrtol (arg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long <= 0 || tmp_long > INT_MAX) { error (0, 0, _("'-%c' extra characters or invalid number in the argument: %s"), switch_char, quote (arg)); usage (EXIT_FAILURE); } *number = tmp_long; } } /* Set parameters related to formatting. */ static void init_parameters (int number_of_files) { int chars_used_by_number = 0; lines_per_body = lines_per_page - lines_per_header - lines_per_footer; if (lines_per_body <= 0) { extremities = false; keep_FF = true; } if (extremities == false) lines_per_body = lines_per_page; if (double_space) lines_per_body = lines_per_body / 2; /* If input is stdin, cannot print parallel files. BSD dumps core on this. */ if (number_of_files == 0) parallel_files = false; if (parallel_files) columns = number_of_files; /* One file, multi columns down: -b option is set to get a consistent formulation with "FF set by hand" in input files. */ if (storing_columns) balance_columns = true; /* Tabification is assumed for multiple columns. */ if (columns > 1) { if (!use_col_separator) { /* Use default separator */ if (join_lines) col_sep_string = line_separator; else col_sep_string = column_separator; col_sep_length = 1; use_col_separator = true; } /* It's rather pointless to define a TAB separator with column alignment */ else if (!join_lines && *col_sep_string == '\t') col_sep_string = column_separator; truncate_lines = true; tabify_output = true; } else storing_columns = false; /* -J dominates -w in any case */ if (join_lines) truncate_lines = false; if (numbered_lines) { int chars_per_default_tab = 8; line_count = start_line_num; /* To allow input tab-expansion (-e sensitive) use: if (number_separator == input_tab_char) number_width = chars_per_number + TAB_WIDTH (chars_per_input_tab, chars_per_number); */ /* Estimate chars_per_text without any margin and keep it constant. */ if (number_separator == '\t') number_width = (chars_per_number + TAB_WIDTH (chars_per_default_tab, chars_per_number)); else number_width = chars_per_number + 1; /* The number is part of the column width unless we are printing files in parallel. */ if (parallel_files) chars_used_by_number = number_width; } chars_per_column = (chars_per_line - chars_used_by_number - (columns - 1) * col_sep_length) / columns; if (chars_per_column < 1) error (EXIT_FAILURE, 0, _("page width too narrow")); if (numbered_lines) { free (number_buff); number_buff = xmalloc (MAX (chars_per_number, INT_STRLEN_BOUND (line_number)) + 1); } /* Pick the maximum between the tab width and the width of an escape sequence. The width of an escape sequence (4) isn't the lower limit any longer. We've to use 8 as the lower limit, if we use chars_per_default_tab = 8 to expand a tab which is not an input_tab-char. */ free (clump_buff); clump_buff = xmalloc (MAX (8, chars_per_input_tab)); } /* Open the necessary files, maintaining a COLUMN structure for each column. With multiple files, each column p has a different p->fp. With single files, each column p has the same p->fp. Return false if (number_of_files > 0) and no files can be opened, true otherwise. With each column/file p, p->full_page_printed is initialized, see also open_file. */ static bool init_fps (int number_of_files, char **av) { int i, files_left; COLUMN *p; FILE *firstfp; char const *firstname; total_files = 0; free (column_vector); column_vector = xnmalloc (columns, sizeof (COLUMN)); if (parallel_files) { files_left = number_of_files; for (p = column_vector; files_left--; ++p, ++av) { if (! open_file (*av, p)) { --p; --columns; } } if (columns == 0) return false; init_header ("", -1); } else { p = column_vector; if (number_of_files > 0) { if (! open_file (*av, p)) return false; init_header (*av, fileno (p->fp)); p->lines_stored = 0; } else { p->name = _("standard input"); p->fp = stdin; have_read_stdin = true; p->status = OPEN; p->full_page_printed = false; ++total_files; init_header ("", -1); p->lines_stored = 0; } firstname = p->name; firstfp = p->fp; for (i = columns - 1, ++p; i; --i, ++p) { p->name = firstname; p->fp = firstfp; p->status = OPEN; p->full_page_printed = false; p->lines_stored = 0; } } files_ready_to_read = total_files; return true; } /* Determine print_func and char_func, the functions used by each column for printing and/or storing. Determine the horizontal position desired when we begin printing a column (p->start_position). */ static void init_funcs (void) { int i, h, h_next; COLUMN *p; h = chars_per_margin; if (!truncate_lines) h_next = ANYWHERE; else { /* When numbering lines of parallel files, we enlarge the first column to accommodate the number. Looks better than the Sys V approach. */ if (parallel_files && numbered_lines) h_next = h + chars_per_column + number_width; else h_next = h + chars_per_column; } /* Enlarge p->start_position of first column to use the same form of padding_not_printed with all columns. */ h = h + col_sep_length; /* This loop takes care of all but the rightmost column. */ for (p = column_vector, i = 1; i < columns; ++p, ++i) { if (storing_columns) /* One file, multi columns down. */ { p->char_func = store_char; p->print_func = print_stored; } else /* One file, multi columns across; or parallel files. */ { p->char_func = print_char; p->print_func = read_line; } /* Number only the first column when printing files in parallel. */ p->numbered = numbered_lines && (!parallel_files || i == 1); p->start_position = h; /* If we don't truncate lines, all start_positions are ANYWHERE, except the first column's start_position when using a margin. */ if (!truncate_lines) { h = ANYWHERE; h_next = ANYWHERE; } else { h = h_next + col_sep_length; h_next = h + chars_per_column; } } /* The rightmost column. Doesn't need to be stored unless we intend to balance columns on the last page. */ if (storing_columns && balance_columns) { p->char_func = store_char; p->print_func = print_stored; } else { p->char_func = print_char; p->print_func = read_line; } p->numbered = numbered_lines && (!parallel_files || i == 1); p->start_position = h; } /* Open a file. Return true if successful. With each file p, p->full_page_printed is initialized, see also init_fps. */ static bool open_file (char *name, COLUMN *p) { if (STREQ (name, "-")) { p->name = _("standard input"); p->fp = stdin; have_read_stdin = true; } else { p->name = name; p->fp = fopen (name, "r"); } if (p->fp == NULL) { failed_opens = true; if (!ignore_failed_opens) error (0, errno, "%s", name); return false; } fadvise (p->fp, FADVISE_SEQUENTIAL); p->status = OPEN; p->full_page_printed = false; ++total_files; return true; } /* Close the file in P. If we aren't dealing with multiple files in parallel, we change the status of all columns in the column list to reflect the close. */ static void close_file (COLUMN *p) { COLUMN *q; int i; if (p->status == CLOSED) return; if (ferror (p->fp)) error (EXIT_FAILURE, errno, "%s", p->name); if (fileno (p->fp) != STDIN_FILENO && fclose (p->fp) != 0) error (EXIT_FAILURE, errno, "%s", p->name); if (!parallel_files) { for (q = column_vector, i = columns; i; ++q, --i) { q->status = CLOSED; if (q->lines_stored == 0) { q->lines_to_print = 0; } } } else { p->status = CLOSED; p->lines_to_print = 0; } --files_ready_to_read; } /* Put a file on hold until we start a new page, since we've hit a form feed. If we aren't dealing with parallel files, we must change the status of all columns in the column list. */ static void hold_file (COLUMN *p) { COLUMN *q; int i; if (!parallel_files) for (q = column_vector, i = columns; i; ++q, --i) { if (storing_columns) q->status = FF_FOUND; else q->status = ON_HOLD; } else p->status = ON_HOLD; p->lines_to_print = 0; --files_ready_to_read; } /* Undo hold_file -- go through the column list and change any ON_HOLD columns to OPEN. Used at the end of each page. */ static void reset_status (void) { int i = columns; COLUMN *p; for (p = column_vector; i; --i, ++p) if (p->status == ON_HOLD) { p->status = OPEN; files_ready_to_read++; } if (storing_columns) { if (column_vector->status == CLOSED) /* We use the info to output an error message in skip_to_page. */ files_ready_to_read = 0; else files_ready_to_read = 1; } } /* Print a single file, or multiple files in parallel. Set up the list of columns, opening the necessary files. Allocate space for storing columns, if necessary. Skip to first_page_number, if user has asked to skip leading pages. Determine which functions are appropriate to store/print lines in each column. Print the file(s). */ static void print_files (int number_of_files, char **av) { init_parameters (number_of_files); if (! init_fps (number_of_files, av)) return; if (storing_columns) init_store_cols (); if (first_page_number > 1) { if (!skip_to_page (first_page_number)) return; else page_number = first_page_number; } else page_number = 1; init_funcs (); line_number = line_count; while (print_page ()) ; } /* Initialize header information. If DESC is non-negative, it is a file descriptor open to FILENAME for reading. */ static void init_header (char const *filename, int desc) { char *buf = NULL; struct stat st; struct timespec t; int ns; struct tm *tm; /* If parallel files or standard input, use current date. */ if (STREQ (filename, "-")) desc = -1; if (0 <= desc && fstat (desc, &st) == 0) t = get_stat_mtime (&st); else { static struct timespec timespec; if (! timespec.tv_sec) gettime (×pec); t = timespec; } ns = t.tv_nsec; tm = localtime (&t.tv_sec); if (tm == NULL) { buf = xmalloc (INT_BUFSIZE_BOUND (long int) + MAX (10, INT_BUFSIZE_BOUND (int))); sprintf (buf, "%ld.%09d", (long int) t.tv_sec, ns); } else { size_t bufsize = nstrftime (NULL, SIZE_MAX, date_format, tm, 0, ns) + 1; buf = xmalloc (bufsize); nstrftime (buf, bufsize, date_format, tm, 0, ns); } free (date_text); date_text = buf; file_text = custom_header ? custom_header : desc < 0 ? "" : filename; header_width_available = (chars_per_line - mbswidth (date_text, 0) - mbswidth (file_text, 0)); } /* Set things up for printing a page Scan through the columns ... Determine which are ready to print (i.e., which have lines stored or open files) Set p->lines_to_print appropriately (to p->lines_stored if we're storing, or lines_per_body if we're reading straight from the file) Keep track of this total so we know when to stop printing */ static void init_page (void) { int j; COLUMN *p; if (storing_columns) { store_columns (); for (j = columns - 1, p = column_vector; j; --j, ++p) { p->lines_to_print = p->lines_stored; } /* Last column. */ if (balance_columns) { p->lines_to_print = p->lines_stored; } /* Since we're not balancing columns, we don't need to store the rightmost column. Read it straight from the file. */ else { if (p->status == OPEN) { p->lines_to_print = lines_per_body; } else p->lines_to_print = 0; } } else for (j = columns, p = column_vector; j; --j, ++p) if (p->status == OPEN) { p->lines_to_print = lines_per_body; } else p->lines_to_print = 0; } /* Align empty columns and print separators. Empty columns will be formed by files with status ON_HOLD or CLOSED when printing multiple files in parallel. */ static void align_column (COLUMN *p) { padding_not_printed = p->start_position; if (padding_not_printed - col_sep_length > 0) { pad_across_to (padding_not_printed - col_sep_length); padding_not_printed = ANYWHERE; } if (use_col_separator) print_sep_string (); if (p->numbered) add_line_number (p); } /* Print one page. As long as there are lines left on the page and columns ready to print, Scan across the column list if the column has stored lines or the file is open pad to the appropriate spot print the column pad the remainder of the page with \n or \f as requested reset the status of all files -- any files which where on hold because of formfeeds are now put back into the lineup. */ static bool print_page (void) { int j; int lines_left_on_page; COLUMN *p; /* Used as an accumulator (with | operator) of successive values of pad_vertically. The trick is to set pad_vertically to false before each run through the inner loop, then after that loop, it tells us whether a line was actually printed (whether a newline needs to be output -- or two for double spacing). But those values have to be accumulated (in pv) so we can invoke pad_down properly after the outer loop completes. */ bool pv; init_page (); if (cols_ready_to_print () == 0) return false; if (extremities) print_a_header = true; /* Don't pad unless we know a page was printed. */ pad_vertically = false; pv = false; lines_left_on_page = lines_per_body; if (double_space) lines_left_on_page *= 2; while (lines_left_on_page > 0 && cols_ready_to_print () > 0) { output_position = 0; spaces_not_printed = 0; separators_not_printed = 0; pad_vertically = false; align_empty_cols = false; empty_line = true; for (j = 1, p = column_vector; j <= columns; ++j, ++p) { input_position = 0; if (p->lines_to_print > 0 || p->status == FF_FOUND) { FF_only = false; padding_not_printed = p->start_position; if (!(p->print_func) (p)) read_rest_of_line (p); pv |= pad_vertically; --p->lines_to_print; if (p->lines_to_print <= 0) { if (cols_ready_to_print () <= 0) break; } /* File p changed its status to ON_HOLD or CLOSED */ if (parallel_files && p->status != OPEN) { if (empty_line) align_empty_cols = true; else if (p->status == CLOSED || (p->status == ON_HOLD && FF_only)) align_column (p); } } else if (parallel_files) { /* File status ON_HOLD or CLOSED */ if (empty_line) align_empty_cols = true; else align_column (p); } /* We need it also with an empty column */ if (use_col_separator) ++separators_not_printed; } if (pad_vertically) { putchar ('\n'); --lines_left_on_page; } if (cols_ready_to_print () <= 0 && !extremities) break; if (double_space && pv) { putchar ('\n'); --lines_left_on_page; } } if (lines_left_on_page == 0) for (j = 1, p = column_vector; j <= columns; ++j, ++p) if (p->status == OPEN) p->full_page_printed = true; pad_vertically = pv; if (pad_vertically && extremities) pad_down (lines_left_on_page + lines_per_footer); else if (keep_FF && print_a_FF) { putchar ('\f'); print_a_FF = false; } if (last_page_number < ++page_number) return false; /* Stop printing with LAST_PAGE */ reset_status (); /* Change ON_HOLD to OPEN. */ return true; /* More pages to go. */ } /* Allocate space for storing columns. This is necessary when printing multiple columns from a single file. Lines are stored consecutively in buff, separated by '\0'. The following doesn't apply any longer - any tuning possible? (We can't use a fixed offset since with the '-s' flag lines aren't truncated.) We maintain a list (line_vector) of pointers to the beginnings of lines in buff. We allocate one more than the number of lines because the last entry tells us the index of the last character, which we need to know in order to print the last line in buff. */ static void init_store_cols (void) { int total_lines = lines_per_body * columns; int chars_if_truncate = total_lines * (chars_per_column + 1); free (line_vector); /* FIXME: here's where it was allocated. */ line_vector = xmalloc ((total_lines + 1) * sizeof *line_vector); free (end_vector); end_vector = xmalloc (total_lines * sizeof *end_vector); free (buff); buff_allocated = (use_col_separator ? 2 * chars_if_truncate : chars_if_truncate); /* Tune this. */ buff = xmalloc (buff_allocated); } /* Store all but the rightmost column. (Used when printing a single file in multiple downward columns) For each column set p->current_line to be the index in line_vector of the first line in the column For each line in the column store the line in buff add to line_vector the index of the line's first char buff_start is the index in buff of the first character in the current line. */ static void store_columns (void) { int i, j; unsigned int line = 0; unsigned int buff_start; int last_col; /* The rightmost column which will be saved in buff */ COLUMN *p; buff_current = 0; buff_start = 0; if (balance_columns) last_col = columns; else last_col = columns - 1; for (i = 1, p = column_vector; i <= last_col; ++i, ++p) p->lines_stored = 0; for (i = 1, p = column_vector; i <= last_col && files_ready_to_read; ++i, ++p) { p->current_line = line; for (j = lines_per_body; j && files_ready_to_read; --j) if (p->status == OPEN) /* Redundant. Clean up. */ { input_position = 0; if (!read_line (p)) read_rest_of_line (p); if (p->status == OPEN || buff_start != buff_current) { ++p->lines_stored; line_vector[line] = buff_start; end_vector[line++] = input_position; buff_start = buff_current; } } } /* Keep track of the location of the last char in buff. */ line_vector[line] = buff_start; if (balance_columns) balance (line); } static void balance (int total_stored) { COLUMN *p; int i, lines; int first_line = 0; for (i = 1, p = column_vector; i <= columns; ++i, ++p) { lines = total_stored / columns; if (i <= total_stored % columns) ++lines; p->lines_stored = lines; p->current_line = first_line; first_line += lines; } } /* Store a character in the buffer. */ static void store_char (char c) { if (buff_current >= buff_allocated) { /* May be too generous. */ buff = X2REALLOC (buff, &buff_allocated); } buff[buff_current++] = c; } static void add_line_number (COLUMN *p) { int i; char *s; int num_width; /* Cutting off the higher-order digits is more informative than lower-order cut off. */ num_width = sprintf (number_buff, "%*d", chars_per_number, line_number); line_number++; s = number_buff + (num_width - chars_per_number); for (i = chars_per_number; i > 0; i--) (p->char_func) (*s++); if (columns > 1) { /* Tabification is assumed for multiple columns, also for n-separators, but 'default n-separator = TAB' hasn't been given priority over equal column_width also specified by POSIX. */ if (number_separator == '\t') { i = number_width - chars_per_number; while (i-- > 0) (p->char_func) (' '); } else (p->char_func) (number_separator); } else /* To comply with POSIX, we avoid any expansion of default TAB separator with a single column output. No column_width requirement has to be considered. */ { (p->char_func) (number_separator); if (number_separator == '\t') output_position = POS_AFTER_TAB (chars_per_output_tab, output_position); } if (truncate_lines && !parallel_files) input_position += number_width; } /* Print (or store) padding until the current horizontal position is position. */ static void pad_across_to (int position) { int h = output_position; if (tabify_output) spaces_not_printed = position - output_position; else { while (++h <= position) putchar (' '); output_position = position; } } /* Pad to the bottom of the page. If the user has requested a formfeed, use one. Otherwise, use newlines. */ static void pad_down (int lines) { int i; if (use_form_feed) putchar ('\f'); else for (i = lines; i; --i) putchar ('\n'); } /* Read the rest of the line. Read from the current column's file until an end of line is hit. Used when we've truncated a line and we no longer need to print or store its characters. */ static void read_rest_of_line (COLUMN *p) { int c; FILE *f = p->fp; while ((c = getc (f)) != '\n') { if (c == '\f') { if ((c = getc (f)) != '\n') ungetc (c, f); if (keep_FF) print_a_FF = true; hold_file (p); break; } else if (c == EOF) { close_file (p); break; } } } /* Read a line with skip_to_page. Read from the current column's file until an end of line is hit. Used when we read full lines to skip pages. With skip_to_page we have to check for FF-coincidence which is done in function read_line otherwise. Count lines of skipped pages to find the line number of 1st page printed relative to 1st line of input file (start_line_num). */ static void skip_read (COLUMN *p, int column_number) { int c; FILE *f = p->fp; int i; bool single_ff = false; COLUMN *q; /* Read 1st character in a line or any character succeeding a FF */ if ((c = getc (f)) == '\f' && p->full_page_printed) /* A FF-coincidence with a previous full_page_printed. To avoid an additional empty page, eliminate the FF */ if ((c = getc (f)) == '\n') c = getc (f); p->full_page_printed = false; /* 1st character a FF means a single FF without any printable characters. Don't count it as a line with -n option. */ if (c == '\f') single_ff = true; /* Preparing for a FF-coincidence: Maybe we finish that page without a FF found */ if (last_line) p->full_page_printed = true; while (c != '\n') { if (c == '\f') { /* No FF-coincidence possible, no catching up of a FF-coincidence with next page */ if (last_line) { if (!parallel_files) for (q = column_vector, i = columns; i; ++q, --i) q->full_page_printed = false; else p->full_page_printed = false; } if ((c = getc (f)) != '\n') ungetc (c, f); hold_file (p); break; } else if (c == EOF) { close_file (p); break; } c = getc (f); } if (skip_count) if ((!parallel_files || column_number == 1) && !single_ff) ++line_count; } /* If we're tabifying output, When print_char encounters white space it keeps track of our desired horizontal position and delays printing until this function is called. */ static void print_white_space (void) { int h_new; int h_old = output_position; int goal = h_old + spaces_not_printed; while (goal - h_old > 1 && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal) { putchar (output_tab_char); h_old = h_new; } while (++h_old <= goal) putchar (' '); output_position = goal; spaces_not_printed = 0; } /* Print column separators. We keep a count until we know that we'll be printing a line, then print_sep_string() is called. */ static void print_sep_string (void) { char *s; int l = col_sep_length; s = col_sep_string; if (separators_not_printed <= 0) { /* We'll be starting a line with chars_per_margin, anything else? */ if (spaces_not_printed > 0) print_white_space (); } else { for (; separators_not_printed > 0; --separators_not_printed) { while (l-- > 0) { /* 3 types of sep_strings: spaces only, spaces and chars, chars only */ if (*s == ' ') { /* We're tabifying output; consecutive spaces in sep_string may have to be converted to tabs */ s++; ++spaces_not_printed; } else { if (spaces_not_printed > 0) print_white_space (); putchar (*s++); ++output_position; } } /* sep_string ends with some spaces */ if (spaces_not_printed > 0) print_white_space (); } } } /* Print (or store, depending on p->char_func) a clump of N characters. */ static void print_clump (COLUMN *p, int n, char *clump) { while (n--) (p->char_func) (*clump++); } /* Print a character. Update the following comment: process-char hasn't been used any longer. If we're tabifying, all tabs have been converted to spaces by process_char(). Keep a count of consecutive spaces, and when a nonspace is encountered, call print_white_space() to print the required number of tabs and spaces. */ static void print_char (char c) { if (tabify_output) { if (c == ' ') { ++spaces_not_printed; return; } else if (spaces_not_printed > 0) print_white_space (); /* Nonprintables are assumed to have width 0, except '\b'. */ if (! isprint (to_uchar (c))) { if (c == '\b') --output_position; } else ++output_position; } putchar (c); } /* Skip to page PAGE before printing. PAGE may be larger than total number of pages. */ static bool skip_to_page (uintmax_t page) { uintmax_t n; int i; int j; COLUMN *p; for (n = 1; n < page; ++n) { for (i = 1; i < lines_per_body; ++i) { for (j = 1, p = column_vector; j <= columns; ++j, ++p) if (p->status == OPEN) skip_read (p, j); } last_line = true; for (j = 1, p = column_vector; j <= columns; ++j, ++p) if (p->status == OPEN) skip_read (p, j); if (storing_columns) /* change FF_FOUND to ON_HOLD */ for (j = 1, p = column_vector; j <= columns; ++j, ++p) if (p->status != CLOSED) p->status = ON_HOLD; reset_status (); last_line = false; if (files_ready_to_read < 1) { /* It's very helpful, normally the total number of pages is not known in advance. */ error (0, 0, _("starting page number %"PRIuMAX " exceeds page count %"PRIuMAX), page, n); break; } } return files_ready_to_read > 0; } /* Print a header. Formfeeds are assumed to use up two lines at the beginning of the page. */ static void print_header (void) { char page_text[256 + INT_STRLEN_BOUND (page_number)]; int available_width; int lhs_spaces; int rhs_spaces; output_position = 0; pad_across_to (chars_per_margin); print_white_space (); if (page_number == 0) error (EXIT_FAILURE, 0, _("page number overflow")); /* The translator must ensure that formatting the translation of "Page %"PRIuMAX does not generate more than (sizeof page_text - 1) bytes. */ sprintf (page_text, _("Page %"PRIuMAX), page_number); available_width = header_width_available - mbswidth (page_text, 0); available_width = MAX (0, available_width); lhs_spaces = available_width >> 1; rhs_spaces = available_width - lhs_spaces; printf ("\n\n%*s%s%*s%s%*s%s\n\n\n", chars_per_margin, "", date_text, lhs_spaces, " ", file_text, rhs_spaces, " ", page_text); print_a_header = false; output_position = 0; } /* Print (or store, if p->char_func is store_char()) a line. Read a character to determine whether we have a line or not. (We may hit EOF, \n, or \f) Once we know we have a line, set pad_vertically = true, meaning it's safe to pad down at the end of the page, since we do have a page. print a header if needed. pad across to padding_not_printed if needed. print any separators which need to be printed. print a line number if it needs to be printed. Print the clump which corresponds to the first character. Enter a loop and keep printing until an end of line condition exists, or until we exceed chars_per_column. Return false if we exceed chars_per_column before reading an end of line character, true otherwise. */ static bool read_line (COLUMN *p) { int c; int chars IF_LINT ( = 0); int last_input_position; int j, k; COLUMN *q; /* read 1st character in each line or any character succeeding a FF: */ c = getc (p->fp); last_input_position = input_position; if (c == '\f' && p->full_page_printed) if ((c = getc (p->fp)) == '\n') c = getc (p->fp); p->full_page_printed = false; switch (c) { case '\f': if ((c = getc (p->fp)) != '\n') ungetc (c, p->fp); FF_only = true; if (print_a_header && !storing_columns) { pad_vertically = true; print_header (); } else if (keep_FF) print_a_FF = true; hold_file (p); return true; case EOF: close_file (p); return true; case '\n': break; default: chars = char_to_clump (c); } if (truncate_lines && input_position > chars_per_column) { input_position = last_input_position; return false; } if (p->char_func != store_char) { pad_vertically = true; if (print_a_header && !storing_columns) print_header (); if (parallel_files && align_empty_cols) { /* We have to align empty columns at the beginning of a line. */ k = separators_not_printed; separators_not_printed = 0; for (j = 1, q = column_vector; j <= k; ++j, ++q) { align_column (q); separators_not_printed += 1; } padding_not_printed = p->start_position; if (truncate_lines) spaces_not_printed = chars_per_column; else spaces_not_printed = 0; align_empty_cols = false; } if (padding_not_printed - col_sep_length > 0) { pad_across_to (padding_not_printed - col_sep_length); padding_not_printed = ANYWHERE; } if (use_col_separator) print_sep_string (); } if (p->numbered) add_line_number (p); empty_line = false; if (c == '\n') return true; print_clump (p, chars, clump_buff); while (true) { c = getc (p->fp); switch (c) { case '\n': return true; case '\f': if ((c = getc (p->fp)) != '\n') ungetc (c, p->fp); if (keep_FF) print_a_FF = true; hold_file (p); return true; case EOF: close_file (p); return true; } last_input_position = input_position; chars = char_to_clump (c); if (truncate_lines && input_position > chars_per_column) { input_position = last_input_position; return false; } print_clump (p, chars, clump_buff); } } /* Print a line from buff. If this function has been called, we know we have "something to print". But it remains to be seen whether we have a real text page or an empty page (a single form feed) with/without a header only. Therefore first we set pad_vertically to true and print a header if necessary. If FF_FOUND and we are using -t|-T option we omit any newline by setting pad_vertically to false (see print_page). Otherwise we pad across if necessary, print separators if necessary and text of COLUMN *p. Return true, meaning there is no need to call read_rest_of_line. */ static bool print_stored (COLUMN *p) { COLUMN *q; int i; int line = p->current_line++; char *first = &buff[line_vector[line]]; /* FIXME UMR: Uninitialized memory read: * This is occurring while in: print_stored [pr.c:2239] * Reading 4 bytes from 0x5148c in the heap. * Address 0x5148c is 4 bytes into a malloc'd block at 0x51488 of 676 bytes * This block was allocated from: malloc [rtlib.o] xmalloc [xmalloc.c:94] init_store_cols [pr.c:1648] */ char *last = &buff[line_vector[line + 1]]; pad_vertically = true; if (print_a_header) print_header (); if (p->status == FF_FOUND) { for (i = 1, q = column_vector; i <= columns; ++i, ++q) q->status = ON_HOLD; if (column_vector->lines_to_print <= 0) { if (!extremities) pad_vertically = false; return true; /* print a header only */ } } if (padding_not_printed - col_sep_length > 0) { pad_across_to (padding_not_printed - col_sep_length); padding_not_printed = ANYWHERE; } if (use_col_separator) print_sep_string (); while (first != last) print_char (*first++); if (spaces_not_printed == 0) { output_position = p->start_position + end_vector[line]; if (p->start_position - col_sep_length == chars_per_margin) output_position -= col_sep_length; } return true; } /* Convert a character to the proper format and return the number of characters in the resulting clump. Increment input_position by the width of the clump. Tabs are converted to clumps of spaces. Nonprintable characters may be converted to clumps of escape sequences or control prefixes. Note: the width of a clump is not necessarily equal to the number of characters in clump_buff. (e.g, the width of '\b' is -1, while the number of characters is 1.) */ static int char_to_clump (char c) { unsigned char uc = c; char *s = clump_buff; int i; char esc_buff[4]; int width; int chars; int chars_per_c = 8; if (c == input_tab_char) chars_per_c = chars_per_input_tab; if (c == input_tab_char || c == '\t') { width = TAB_WIDTH (chars_per_c, input_position); if (untabify_input) { for (i = width; i; --i) *s++ = ' '; chars = width; } else { *s = c; chars = 1; } } else if (! isprint (uc)) { if (use_esc_sequence) { width = 4; chars = 4; *s++ = '\\'; sprintf (esc_buff, "%03o", uc); for (i = 0; i <= 2; ++i) *s++ = esc_buff[i]; } else if (use_cntrl_prefix) { if (uc < 0200) { width = 2; chars = 2; *s++ = '^'; *s = c ^ 0100; } else { width = 4; chars = 4; *s++ = '\\'; sprintf (esc_buff, "%03o", uc); for (i = 0; i <= 2; ++i) *s++ = esc_buff[i]; } } else if (c == '\b') { width = -1; chars = 1; *s = c; } else { width = 0; chars = 1; *s = c; } } else { width = 1; chars = 1; *s = c; } /* Too many backspaces must put us in position 0 -- never negative. */ if (width < 0 && input_position == 0) { chars = 0; input_position = 0; } else if (width < 0 && input_position <= -width) input_position = 0; else input_position += width; return chars; } /* We've just printed some files and need to clean up things before looking for more options and printing the next batch of files. Free everything we've xmalloc'ed, except 'header'. */ static void cleanup (void) { free (number_buff); free (clump_buff); free (column_vector); free (line_vector); free (end_vector); free (buff); } /* Complain, print a usage message, and die. */ void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Paginate or columnate FILE(s) for printing.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n\ begin [stop] printing with page FIRST_[LAST_]PAGE\n\ -COLUMN, --columns=COLUMN\n\ output COLUMN columns and print columns down,\n\ unless -a is used. Balance number of lines in the\n\ columns on each page\n\ "), stdout); fputs (_("\ -a, --across print columns across rather than down, used together\n\ with -COLUMN\n\ -c, --show-control-chars\n\ use hat notation (^G) and octal backslash notation\n\ -d, --double-space\n\ double space the output\n\ "), stdout); fputs (_("\ -D, --date-format=FORMAT\n\ use FORMAT for the header date\n\ -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n\ expand input CHARs (TABs) to tab WIDTH (8)\n\ -F, -f, --form-feed\n\ use form feeds instead of newlines to separate pages\n\ (by a 3-line page header with -F or a 5-line header\n\ and trailer without -F)\n\ "), stdout); fputs (_("\ -h, --header=HEADER\n\ use a centered HEADER instead of filename in page header,\n\ -h \"\" prints a blank line, don't use -h\"\"\n\ -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n\ replace spaces with CHARs (TABs) to tab WIDTH (8)\n\ -J, --join-lines merge full lines, turns off -W line truncation, no column\n\ alignment, --sep-string[=STRING] sets separators\n\ "), stdout); fputs (_("\ -l, --length=PAGE_LENGTH\n\ set the page length to PAGE_LENGTH (66) lines\n\ (default number of lines of text 56, and with -F 63)\n\ -m, --merge print all files in parallel, one in each column,\n\ truncate lines, but join lines of full length with -J\n\ "), stdout); fputs (_("\ -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n\ number lines, use DIGITS (5) digits, then SEP (TAB),\n\ default counting starts with 1st line of input file\n\ -N, --first-line-number=NUMBER\n\ start counting with NUMBER at 1st line of first\n\ page printed (see +FIRST_PAGE)\n\ "), stdout); fputs (_("\ -o, --indent=MARGIN\n\ offset each line with MARGIN (zero) spaces, do not\n\ affect -w or -W, MARGIN will be added to PAGE_WIDTH\n\ -r, --no-file-warnings\n\ omit warning when a file cannot be opened\n\ "), stdout); fputs (_("\ -s[CHAR], --separator[=CHAR]\n\ separate columns by a single character, default for CHAR\n\ is the character without -w and \'no char\' with -w\n\ -s[CHAR] turns off line truncation of all 3 column\n\ options (-COLUMN|-a -COLUMN|-m) except -w is set\n\ "), stdout); fputs (_("\ -S[STRING], --sep-string[=STRING]\n\ separate columns by STRING,\n\ without -S: Default separator with -J and \n\ otherwise (same as -S\" \"), no effect on column options\n\ -t, --omit-header omit page headers and trailers\n\ "), stdout); fputs (_("\ -T, --omit-pagination\n\ omit page headers and trailers, eliminate any pagination\n\ by form feeds set in input files\n\ -v, --show-nonprinting\n\ use octal backslash notation\n\ -w, --width=PAGE_WIDTH\n\ set page width to PAGE_WIDTH (72) characters for\n\ multiple text-column output only, -s[char] turns off (72)\n\ "), stdout); fputs (_("\ -W, --page-width=PAGE_WIDTH\n\ set page width to PAGE_WIDTH (72) characters always,\n\ truncate lines, except -J option is set, no interference\n\ with -S or -s\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n\ standard input.\n\ "), stdout); emit_ancillary_info (); } exit (status); } coreutils-8.21/src/chmod.c0000664000000000000000000003674512102337340012405 00000000000000/* chmod -- change permission modes of files Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie */ #include #include #include #include #include "system.h" #include "dev-ino.h" #include "error.h" #include "filemode.h" #include "ignore-value.h" #include "modechange.h" #include "quote.h" #include "quotearg.h" #include "root-dev-ino.h" #include "xfts.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "chmod" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") enum Change_status { CH_NOT_APPLIED, CH_SUCCEEDED, CH_FAILED, CH_NO_CHANGE_REQUESTED }; enum Verbosity { /* Print a message for each file that is processed. */ V_high, /* Print a message for each file whose attributes we change. */ V_changes_only, /* Do not be verbose. This is the default. */ V_off }; /* The desired change to the mode. */ static struct mode_change *change; /* The initial umask value, if it might be needed. */ static mode_t umask_value; /* If true, change the modes of directories recursively. */ static bool recurse; /* If true, force silence (suppress most of error messages). */ static bool force_silent; /* If true, diagnose surprises from naive misuses like "chmod -r file". POSIX allows diagnostics here, as portable code is supposed to use "chmod -- -r file". */ static bool diagnose_surprises; /* Level of verbosity. */ static enum Verbosity verbosity = V_off; /* Pointer to the device and inode numbers of '/', when --recursive. Otherwise NULL. */ static struct dev_ino *root_dev_ino; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { NO_PRESERVE_ROOT = CHAR_MAX + 1, PRESERVE_ROOT, REFERENCE_FILE_OPTION }; static struct option const long_options[] = { {"changes", no_argument, NULL, 'c'}, {"recursive", no_argument, NULL, 'R'}, {"no-preserve-root", no_argument, NULL, NO_PRESERVE_ROOT}, {"preserve-root", no_argument, NULL, PRESERVE_ROOT}, {"quiet", no_argument, NULL, 'f'}, {"reference", required_argument, NULL, REFERENCE_FILE_OPTION}, {"silent", no_argument, NULL, 'f'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return true if the chmodable permission bits of FILE changed. The old mode was OLD_MODE, but it was changed to NEW_MODE. */ static bool mode_changed (char const *file, mode_t old_mode, mode_t new_mode) { if (new_mode & (S_ISUID | S_ISGID | S_ISVTX)) { /* The new mode contains unusual bits that the call to chmod may have silently cleared. Check whether they actually changed. */ struct stat new_stats; if (stat (file, &new_stats) != 0) { if (! force_silent) error (0, errno, _("getting new attributes of %s"), quote (file)); return false; } new_mode = new_stats.st_mode; } return ((old_mode ^ new_mode) & CHMOD_MODE_BITS) != 0; } /* Tell the user how/if the MODE of FILE has been changed. CHANGED describes what (if anything) has happened. */ static void describe_change (const char *file, mode_t old_mode, mode_t mode, enum Change_status changed) { char perms[12]; /* "-rwxrwxrwx" ls-style modes. */ char old_perms[12]; const char *fmt; if (changed == CH_NOT_APPLIED) { printf (_("neither symbolic link %s nor referent has been changed\n"), quote (file)); return; } strmode (mode, perms); perms[10] = '\0'; /* Remove trailing space. */ strmode (old_mode, old_perms); old_perms[10] = '\0'; /* Remove trailing space. */ switch (changed) { case CH_SUCCEEDED: fmt = _("mode of %s changed from %04lo (%s) to %04lo (%s)\n"); break; case CH_FAILED: fmt = _("failed to change mode of %s from %04lo (%s) to %04lo (%s)\n"); break; case CH_NO_CHANGE_REQUESTED: fmt = _("mode of %s retained as %04lo (%s)\n"); printf (fmt, quote (file), (unsigned long int) (mode & CHMOD_MODE_BITS), &perms[1]); return; default: abort (); } printf (fmt, quote (file), (unsigned long int) (old_mode & CHMOD_MODE_BITS), &old_perms[1], (unsigned long int) (mode & CHMOD_MODE_BITS), &perms[1]); } /* Change the mode of FILE. Return true if successful. This function is called once for every file system object that fts encounters. */ static bool process_file (FTS *fts, FTSENT *ent) { char const *file_full_name = ent->fts_path; char const *file = ent->fts_accpath; const struct stat *file_stats = ent->fts_statp; mode_t old_mode IF_LINT ( = 0); mode_t new_mode IF_LINT ( = 0); bool ok = true; bool chmod_succeeded = false; switch (ent->fts_info) { case FTS_DP: return true; case FTS_NS: /* For a top-level file or directory, this FTS_NS (stat failed) indicator is determined at the time of the initial fts_open call. With programs like chmod, chown, and chgrp, that modify permissions, it is possible that the file in question is accessible when control reaches this point. So, if this is the first time we've seen the FTS_NS for this file, tell fts_read to stat it "again". */ if (ent->fts_level == 0 && ent->fts_number == 0) { ent->fts_number = 1; fts_set (fts, ent, FTS_AGAIN); return true; } if (! force_silent) error (0, ent->fts_errno, _("cannot access %s"), quote (file_full_name)); ok = false; break; case FTS_ERR: if (! force_silent) error (0, ent->fts_errno, "%s", quote (file_full_name)); ok = false; break; case FTS_DNR: if (! force_silent) error (0, ent->fts_errno, _("cannot read directory %s"), quote (file_full_name)); ok = false; break; case FTS_SLNONE: if (! force_silent) error (0, 0, _("cannot operate on dangling symlink %s"), quote (file_full_name)); ok = false; break; case FTS_DC: /* directory that causes cycles */ if (cycle_warning_required (fts, ent)) { emit_cycle_warning (file_full_name); return false; } break; default: break; } if (ok && ROOT_DEV_INO_CHECK (root_dev_ino, file_stats)) { ROOT_DEV_INO_WARN (file_full_name); /* Tell fts not to traverse into this hierarchy. */ fts_set (fts, ent, FTS_SKIP); /* Ensure that we do not process "/" on the second visit. */ ignore_value (fts_read (fts)); return false; } if (ok) { old_mode = file_stats->st_mode; new_mode = mode_adjust (old_mode, S_ISDIR (old_mode) != 0, umask_value, change, NULL); if (! S_ISLNK (old_mode)) { if (chmodat (fts->fts_cwd_fd, file, new_mode) == 0) chmod_succeeded = true; else { if (! force_silent) error (0, errno, _("changing permissions of %s"), quote (file_full_name)); ok = false; } } } if (verbosity != V_off) { bool changed = (chmod_succeeded && mode_changed (file, old_mode, new_mode)); if (changed || verbosity == V_high) { enum Change_status ch_status = (!ok ? CH_FAILED : !chmod_succeeded ? CH_NOT_APPLIED : !changed ? CH_NO_CHANGE_REQUESTED : CH_SUCCEEDED); describe_change (file_full_name, old_mode, new_mode, ch_status); } } if (chmod_succeeded && diagnose_surprises) { mode_t naively_expected_mode = mode_adjust (old_mode, S_ISDIR (old_mode) != 0, 0, change, NULL); if (new_mode & ~naively_expected_mode) { char new_perms[12]; char naively_expected_perms[12]; strmode (new_mode, new_perms); strmode (naively_expected_mode, naively_expected_perms); new_perms[10] = naively_expected_perms[10] = '\0'; error (0, 0, _("%s: new permissions are %s, not %s"), quotearg_colon (file_full_name), new_perms + 1, naively_expected_perms + 1); ok = false; } } if ( ! recurse) fts_set (fts, ent, FTS_SKIP); return ok; } /* Recursively change the modes of the specified FILES (the last entry of which is NULL). BIT_FLAGS controls how fts works. Return true if successful. */ static bool process_files (char **files, int bit_flags) { bool ok = true; FTS *fts = xfts_open (files, bit_flags, NULL); while (1) { FTSENT *ent; ent = fts_read (fts); if (ent == NULL) { if (errno != 0) { /* FIXME: try to give a better message */ if (! force_silent) error (0, errno, _("fts_read failed")); ok = false; } break; } ok &= process_file (fts, ent); } if (fts_close (fts) != 0) { error (0, errno, _("fts_close failed")); ok = false; } return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... MODE[,MODE]... FILE...\n\ or: %s [OPTION]... OCTAL-MODE FILE...\n\ or: %s [OPTION]... --reference=RFILE FILE...\n\ "), program_name, program_name, program_name); fputs (_("\ Change the mode of each FILE to MODE.\n\ With --reference, change the mode of each FILE to that of RFILE.\n\ \n\ "), stdout); fputs (_("\ -c, --changes like verbose but report only when a change is made\n\ -f, --silent, --quiet suppress most error messages\n\ -v, --verbose output a diagnostic for every file processed\n\ "), stdout); fputs (_("\ --no-preserve-root do not treat '/' specially (the default)\n\ --preserve-root fail to operate recursively on '/'\n\ "), stdout); fputs (_("\ --reference=RFILE use RFILE's mode instead of MODE values\n\ "), stdout); fputs (_("\ -R, --recursive change files and directories recursively\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Parse the ASCII mode given on the command line into a linked list of 'struct mode_change' and apply that to each file argument. */ int main (int argc, char **argv) { char *mode = NULL; size_t mode_len = 0; size_t mode_alloc = 0; bool ok; bool preserve_root = false; char const *reference_file = NULL; int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); recurse = force_silent = diagnose_surprises = false; while ((c = getopt_long (argc, argv, ("Rcfvr::w::x::X::s::t::u::g::o::a::,::+::=::" "0::1::2::3::4::5::6::7::"), long_options, NULL)) != -1) { switch (c) { case 'r': case 'w': case 'x': case 'X': case 's': case 't': case 'u': case 'g': case 'o': case 'a': case ',': case '+': case '=': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': /* Support nonportable uses like "chmod -w", but diagnose surprises due to umask confusion. Even though "--", "--r", etc., are valid modes, there is no "case '-'" here since getopt_long reserves leading "--" for long options. */ { /* Allocate a mode string (e.g., "-rwx") by concatenating the argument containing this option. If a previous mode string was given, concatenate the previous string, a comma, and the new string (e.g., "-s,-rwx"). */ char const *arg = argv[optind - 1]; size_t arg_len = strlen (arg); size_t mode_comma_len = mode_len + !!mode_len; size_t new_mode_len = mode_comma_len + arg_len; if (mode_alloc <= new_mode_len) { mode_alloc = new_mode_len + 1; mode = X2REALLOC (mode, &mode_alloc); } mode[mode_len] = ','; memcpy (mode + mode_comma_len, arg, arg_len + 1); mode_len = new_mode_len; diagnose_surprises = true; } break; case NO_PRESERVE_ROOT: preserve_root = false; break; case PRESERVE_ROOT: preserve_root = true; break; case REFERENCE_FILE_OPTION: reference_file = optarg; break; case 'R': recurse = true; break; case 'c': verbosity = V_changes_only; break; case 'f': force_silent = true; break; case 'v': verbosity = V_high; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (reference_file) { if (mode) { error (0, 0, _("cannot combine mode and --reference options")); usage (EXIT_FAILURE); } } else { if (!mode) mode = argv[optind++]; } if (optind >= argc) { if (!mode || mode != argv[optind - 1]) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } if (reference_file) { change = mode_create_from_ref (reference_file); if (!change) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote (reference_file)); } else { change = mode_compile (mode); if (!change) { error (0, 0, _("invalid mode: %s"), quote (mode)); usage (EXIT_FAILURE); } umask_value = umask (0); } if (recurse && preserve_root) { static struct dev_ino dev_ino_buf; root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } else { root_dev_ino = NULL; } ok = process_files (argv + optind, FTS_COMFOLLOW | FTS_PHYSICAL | FTS_DEFER_STAT); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/cu-progs.mk0000444000000000000000000000621112107175523013224 00000000000000## Automatically generated by gen-lists-of-programs.sh. DO NOT EDIT BY HAND! no_install__progs = no_install__progs += src/arch no_install__progs += src/hostname build_if_possible__progs = build_if_possible__progs += src/chroot build_if_possible__progs += src/df build_if_possible__progs += src/hostid build_if_possible__progs += src/libstdbuf.so build_if_possible__progs += src/nice build_if_possible__progs += src/pinky build_if_possible__progs += src/stdbuf build_if_possible__progs += src/stty build_if_possible__progs += src/uptime build_if_possible__progs += src/users build_if_possible__progs += src/who default__progs = default__progs += src/[ default__progs += src/base64 default__progs += src/basename default__progs += src/cat default__progs += src/chcon default__progs += src/chgrp default__progs += src/chmod default__progs += src/chown default__progs += src/cksum default__progs += src/comm default__progs += src/cp default__progs += src/csplit default__progs += src/cut default__progs += src/date default__progs += src/dd default__progs += src/dir default__progs += src/dircolors default__progs += src/dirname default__progs += src/du default__progs += src/echo default__progs += src/env default__progs += src/expand default__progs += src/expr default__progs += src/factor default__progs += src/false default__progs += src/fmt default__progs += src/fold default__progs += src/ginstall default__progs += src/groups default__progs += src/head default__progs += src/id default__progs += src/join default__progs += src/kill default__progs += src/link default__progs += src/ln default__progs += src/logname default__progs += src/ls default__progs += src/md5sum default__progs += src/mkdir default__progs += src/mkfifo default__progs += src/mknod default__progs += src/mktemp default__progs += src/mv default__progs += src/nl default__progs += src/nproc default__progs += src/nohup default__progs += src/numfmt default__progs += src/od default__progs += src/paste default__progs += src/pathchk default__progs += src/pr default__progs += src/printenv default__progs += src/printf default__progs += src/ptx default__progs += src/pwd default__progs += src/readlink default__progs += src/realpath default__progs += src/rm default__progs += src/rmdir default__progs += src/runcon default__progs += src/seq default__progs += src/sha1sum default__progs += src/sha224sum default__progs += src/sha256sum default__progs += src/sha384sum default__progs += src/sha512sum default__progs += src/shred default__progs += src/shuf default__progs += src/sleep default__progs += src/sort default__progs += src/split default__progs += src/stat default__progs += src/sum default__progs += src/sync default__progs += src/tac default__progs += src/tail default__progs += src/tee default__progs += src/test default__progs += src/timeout default__progs += src/touch default__progs += src/tr default__progs += src/true default__progs += src/truncate default__progs += src/tsort default__progs += src/tty default__progs += src/uname default__progs += src/unexpand default__progs += src/uniq default__progs += src/unlink default__progs += src/vdir default__progs += src/wc default__progs += src/whoami default__progs += src/yes coreutils-8.21/src/tac.c0000664000000000000000000005101012102337340012040 00000000000000/* tac - concatenate and print files in reverse Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jay Lepreau (lepreau@cs.utah.edu). GNU enhancements by David MacKenzie (djm@gnu.ai.mit.edu). */ /* Copy each FILE, or the standard input if none are given or when a FILE name of "-" is encountered, to the standard output with the order of the records reversed. The records are separated by instances of a string, or a newline if none is given. By default, the separator string is attached to the end of the record that it follows in the file. Options: -b, --before The separator is attached to the beginning of the record that it precedes in the file. -r, --regex The separator is a regular expression. -s, --separator=separator Use SEPARATOR as the record separator. To reverse a file byte by byte, use (in bash, ksh, or sh): tac -r -s '.\| ' file */ #include #include #include #include #include "system.h" #include #include "error.h" #include "filenamecat.h" #include "quote.h" #include "quotearg.h" #include "safe-read.h" #include "stdlib--.h" #include "xfreopen.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tac" #define AUTHORS \ proper_name ("Jay Lepreau"), \ proper_name ("David MacKenzie") #if defined __MSDOS__ || defined _WIN32 /* Define this to non-zero on systems for which the regular mechanism (of unlinking an open file and expecting to be able to write, seek back to the beginning, then reread it) doesn't work. E.g., on Windows and DOS systems. */ # define DONT_UNLINK_WHILE_OPEN 1 #endif #ifndef DEFAULT_TMPDIR # define DEFAULT_TMPDIR "/tmp" #endif /* The number of bytes per atomic read. */ #define INITIAL_READSIZE 8192 /* The number of bytes per atomic write. */ #define WRITESIZE 8192 /* The string that separates the records of the file. */ static char const *separator; /* True if we have ever read standard input. */ static bool have_read_stdin = false; /* If true, print 'separator' along with the record preceding it in the file; otherwise with the record following it. */ static bool separator_ends_record; /* 0 if 'separator' is to be matched as a regular expression; otherwise, the length of 'separator', used as a sentinel to stop the search. */ static size_t sentinel_length; /* The length of a match with 'separator'. If 'sentinel_length' is 0, 'match_length' is computed every time a match succeeds; otherwise, it is simply the length of 'separator'. */ static size_t match_length; /* The input buffer. */ static char *G_buffer; /* The number of bytes to read at once into 'buffer'. */ static size_t read_size; /* The size of 'buffer'. This is read_size * 2 + sentinel_length + 2. The extra 2 bytes allow 'past_end' to have a value beyond the end of 'G_buffer' and 'match_start' to run off the front of 'G_buffer'. */ static size_t G_buffer_size; /* The compiled regular expression representing 'separator'. */ static struct re_pattern_buffer compiled_separator; static char compiled_separator_fastmap[UCHAR_MAX + 1]; static struct re_registers regs; static struct option const longopts[] = { {"before", no_argument, NULL, 'b'}, {"regex", no_argument, NULL, 'r'}, {"separator", required_argument, NULL, 's'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Write each FILE to standard output, last line first.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -b, --before attach the separator before instead of after\n\ -r, --regex interpret the separator as a regular expression\n\ -s, --separator=STRING use STRING as the separator instead of newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Print the characters from START to PAST_END - 1. If START is NULL, just flush the buffer. */ static void output (const char *start, const char *past_end) { static char buffer[WRITESIZE]; static size_t bytes_in_buffer = 0; size_t bytes_to_add = past_end - start; size_t bytes_available = WRITESIZE - bytes_in_buffer; if (start == 0) { fwrite (buffer, 1, bytes_in_buffer, stdout); bytes_in_buffer = 0; return; } /* Write out as many full buffers as possible. */ while (bytes_to_add >= bytes_available) { memcpy (buffer + bytes_in_buffer, start, bytes_available); bytes_to_add -= bytes_available; start += bytes_available; fwrite (buffer, 1, WRITESIZE, stdout); bytes_in_buffer = 0; bytes_available = WRITESIZE; } memcpy (buffer + bytes_in_buffer, start, bytes_to_add); bytes_in_buffer += bytes_to_add; } /* Print in reverse the file open on descriptor FD for reading FILE. Return true if successful. */ static bool tac_seekable (int input_fd, const char *file) { /* Pointer to the location in 'G_buffer' where the search for the next separator will begin. */ char *match_start; /* Pointer to one past the rightmost character in 'G_buffer' that has not been printed yet. */ char *past_end; /* Length of the record growing in 'G_buffer'. */ size_t saved_record_size; /* Offset in the file of the next read. */ off_t file_pos; /* True if 'output' has not been called yet for any file. Only used when the separator is attached to the preceding record. */ bool first_time = true; char first_char = *separator; /* Speed optimization, non-regexp. */ char const *separator1 = separator + 1; /* Speed optimization, non-regexp. */ size_t match_length1 = match_length - 1; /* Speed optimization, non-regexp. */ /* Find the size of the input file. */ file_pos = lseek (input_fd, 0, SEEK_END); if (file_pos < 1) return true; /* It's an empty file. */ /* Arrange for the first read to lop off enough to leave the rest of the file a multiple of 'read_size'. Since 'read_size' can change, this may not always hold during the program run, but since it usually will, leave it here for i/o efficiency (page/sector boundaries and all that). Note: the efficiency gain has not been verified. */ saved_record_size = file_pos % read_size; if (saved_record_size == 0) saved_record_size = read_size; file_pos -= saved_record_size; /* 'file_pos' now points to the start of the last (probably partial) block in the input file. */ if (lseek (input_fd, file_pos, SEEK_SET) < 0) error (0, errno, _("%s: seek failed"), quotearg_colon (file)); if (safe_read (input_fd, G_buffer, saved_record_size) != saved_record_size) { error (0, errno, _("%s: read error"), quotearg_colon (file)); return false; } match_start = past_end = G_buffer + saved_record_size; /* For non-regexp search, move past impossible positions for a match. */ if (sentinel_length) match_start -= match_length1; while (true) { /* Search backward from 'match_start' - 1 to 'G_buffer' for a match with 'separator'; for speed, use strncmp if 'separator' contains no metacharacters. If the match succeeds, set 'match_start' to point to the start of the match and 'match_length' to the length of the match. Otherwise, make 'match_start' < 'G_buffer'. */ if (sentinel_length == 0) { size_t i = match_start - G_buffer; regoff_t ri = i; regoff_t range = 1 - ri; regoff_t ret; if (1 < range) error (EXIT_FAILURE, 0, _("record too large")); if (range == 1 || ((ret = re_search (&compiled_separator, G_buffer, i, i - 1, range, ®s)) == -1)) match_start = G_buffer - 1; else if (ret == -2) { error (EXIT_FAILURE, 0, _("error in regular expression search")); } else { match_start = G_buffer + regs.start[0]; match_length = regs.end[0] - regs.start[0]; } } else { /* 'match_length' is constant for non-regexp boundaries. */ while (*--match_start != first_char || (match_length1 && strncmp (match_start + 1, separator1, match_length1))) /* Do nothing. */ ; } /* Check whether we backed off the front of 'G_buffer' without finding a match for 'separator'. */ if (match_start < G_buffer) { if (file_pos == 0) { /* Hit the beginning of the file; print the remaining record. */ output (G_buffer, past_end); return true; } saved_record_size = past_end - G_buffer; if (saved_record_size > read_size) { /* 'G_buffer_size' is about twice 'read_size', so since we want to read in another 'read_size' bytes before the data already in 'G_buffer', we need to increase 'G_buffer_size'. */ char *newbuffer; size_t offset = sentinel_length ? sentinel_length : 1; ptrdiff_t match_start_offset = match_start - G_buffer; ptrdiff_t past_end_offset = past_end - G_buffer; size_t old_G_buffer_size = G_buffer_size; read_size *= 2; G_buffer_size = read_size * 2 + sentinel_length + 2; if (G_buffer_size < old_G_buffer_size) xalloc_die (); newbuffer = xrealloc (G_buffer - offset, G_buffer_size); newbuffer += offset; /* Adjust the pointers for the new buffer location. */ match_start = newbuffer + match_start_offset; past_end = newbuffer + past_end_offset; G_buffer = newbuffer; } /* Back up to the start of the next bufferfull of the file. */ if (file_pos >= read_size) file_pos -= read_size; else { read_size = file_pos; file_pos = 0; } if (lseek (input_fd, file_pos, SEEK_SET) < 0) error (0, errno, _("%s: seek failed"), quotearg_colon (file)); /* Shift the pending record data right to make room for the new. The source and destination regions probably overlap. */ memmove (G_buffer + read_size, G_buffer, saved_record_size); past_end = G_buffer + read_size + saved_record_size; /* For non-regexp searches, avoid unnecessary scanning. */ if (sentinel_length) match_start = G_buffer + read_size; else match_start = past_end; if (safe_read (input_fd, G_buffer, read_size) != read_size) { error (0, errno, _("%s: read error"), quotearg_colon (file)); return false; } } else { /* Found a match of 'separator'. */ if (separator_ends_record) { char *match_end = match_start + match_length; /* If this match of 'separator' isn't at the end of the file, print the record. */ if (!first_time || match_end != past_end) output (match_end, past_end); past_end = match_end; first_time = false; } else { output (match_start, past_end); past_end = match_start; } /* For non-regex matching, we can back up. */ if (sentinel_length > 0) match_start -= match_length - 1; } } } #if DONT_UNLINK_WHILE_OPEN /* FIXME-someday: remove all of this DONT_UNLINK_WHILE_OPEN junk. Using atexit like this is wrong, since it can fail when called e.g. 32 or more times. But this isn't a big deal, since the code is used only on WOE/DOS systems, and few people invoke tac on that many nonseekable files. */ static const char *file_to_remove; static FILE *fp_to_close; static void unlink_tempfile (void) { fclose (fp_to_close); unlink (file_to_remove); } static void record_or_unlink_tempfile (char const *fn, FILE *fp) { if (!file_to_remove) { file_to_remove = fn; fp_to_close = fp; atexit (unlink_tempfile); } } #else static void record_or_unlink_tempfile (char const *fn, FILE *fp ATTRIBUTE_UNUSED) { unlink (fn); } #endif /* A wrapper around mkstemp that gives us both an open stream pointer, FP, and the corresponding FILE_NAME. Always return the same FP/name pair, rewinding/truncating it upon each reuse. */ static bool temp_stream (FILE **fp, char **file_name) { static char *tempfile = NULL; static FILE *tmp_fp; if (tempfile == NULL) { char const *t = getenv ("TMPDIR"); char const *tempdir = t ? t : DEFAULT_TMPDIR; tempfile = mfile_name_concat (tempdir, "tacXXXXXX", NULL); if (tempdir == NULL) { error (0, 0, _("memory exhausted")); return false; } /* FIXME: there's a small window between a successful mkstemp call and the unlink that's performed by record_or_unlink_tempfile. If we're interrupted in that interval, this code fails to remove the temporary file. On systems that define DONT_UNLINK_WHILE_OPEN, the window is much larger -- it extends to the atexit-called unlink_tempfile. FIXME: clean up upon fatal signal. Don't block them, in case $TMPFILE is a remote file system. */ int fd = mkstemp (tempfile); if (fd < 0) { error (0, errno, _("failed to create temporary file in %s"), quote (tempdir)); goto Reset; } tmp_fp = fdopen (fd, (O_BINARY ? "w+b" : "w+")); if (! tmp_fp) { error (0, errno, _("failed to open %s for writing"), quote (tempfile)); close (fd); unlink (tempfile); Reset: free (tempfile); tempfile = NULL; return false; } record_or_unlink_tempfile (tempfile, tmp_fp); } else { if (fseeko (tmp_fp, 0, SEEK_SET) < 0 || ftruncate (fileno (tmp_fp), 0) < 0) { error (0, errno, _("failed to rewind stream for %s"), quote (tempfile)); return false; } } *fp = tmp_fp; *file_name = tempfile; return true; } /* Copy from file descriptor INPUT_FD (corresponding to the named FILE) to a temporary file, and set *G_TMP and *G_TEMPFILE to the resulting stream and file name. Return true if successful. */ static bool copy_to_temp (FILE **g_tmp, char **g_tempfile, int input_fd, char const *file) { FILE *fp; char *file_name; if (!temp_stream (&fp, &file_name)) return false; while (1) { size_t bytes_read = safe_read (input_fd, G_buffer, read_size); if (bytes_read == 0) break; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("%s: read error"), quotearg_colon (file)); goto Fail; } if (fwrite (G_buffer, 1, bytes_read, fp) != bytes_read) { error (0, errno, _("%s: write error"), quotearg_colon (file_name)); goto Fail; } } if (fflush (fp) != 0) { error (0, errno, _("%s: write error"), quotearg_colon (file_name)); goto Fail; } *g_tmp = fp; *g_tempfile = file_name; return true; Fail: fclose (fp); return false; } /* Copy INPUT_FD to a temporary, then tac that file. Return true if successful. */ static bool tac_nonseekable (int input_fd, const char *file) { FILE *tmp_stream; char *tmp_file; if (!copy_to_temp (&tmp_stream, &tmp_file, input_fd, file)) return false; bool ok = tac_seekable (fileno (tmp_stream), tmp_file); return ok; } /* Print FILE in reverse, copying it to a temporary file first if it is not seekable. Return true if successful. */ static bool tac_file (const char *filename) { bool ok; off_t file_size; int fd; bool is_stdin = STREQ (filename, "-"); if (is_stdin) { have_read_stdin = true; fd = STDIN_FILENO; filename = _("standard input"); if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { fd = open (filename, O_RDONLY | O_BINARY); if (fd < 0) { error (0, errno, _("failed to open %s for reading"), quote (filename)); return false; } } file_size = lseek (fd, 0, SEEK_END); ok = (file_size < 0 || isatty (fd) ? tac_nonseekable (fd, filename) : tac_seekable (fd, filename)); if (!is_stdin && close (fd) != 0) { error (0, errno, _("%s: read error"), quotearg_colon (filename)); ok = false; } return ok; } int main (int argc, char **argv) { const char *error_message; /* Return value from re_compile_pattern. */ int optc; bool ok; size_t half_buffer_size; /* Initializer for file_list if no file-arguments were specified on the command line. */ static char const *const default_file_list[] = {"-", NULL}; char const *const *file; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); separator = "\n"; sentinel_length = 1; separator_ends_record = true; while ((optc = getopt_long (argc, argv, "brs:", longopts, NULL)) != -1) { switch (optc) { case 'b': separator_ends_record = false; break; case 'r': sentinel_length = 0; break; case 's': separator = optarg; if (*separator == 0) error (EXIT_FAILURE, 0, _("separator cannot be empty")); break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (sentinel_length == 0) { compiled_separator.buffer = NULL; compiled_separator.allocated = 0; compiled_separator.fastmap = compiled_separator_fastmap; compiled_separator.translate = NULL; error_message = re_compile_pattern (separator, strlen (separator), &compiled_separator); if (error_message) error (EXIT_FAILURE, 0, "%s", error_message); } else match_length = sentinel_length = strlen (separator); read_size = INITIAL_READSIZE; while (sentinel_length >= read_size / 2) { if (SIZE_MAX / 2 < read_size) xalloc_die (); read_size *= 2; } half_buffer_size = read_size + sentinel_length + 1; G_buffer_size = 2 * half_buffer_size; if (! (read_size < half_buffer_size && half_buffer_size < G_buffer_size)) xalloc_die (); G_buffer = xmalloc (G_buffer_size); if (sentinel_length) { memcpy (G_buffer, separator, sentinel_length + 1); G_buffer += sentinel_length; } else { ++G_buffer; } file = (optind < argc ? (char const *const *) &argv[optind] : default_file_list); if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); { size_t i; ok = true; for (i = 0; file[i]; ++i) ok &= tac_file (file[i]); } /* Flush the output buffer. */ output ((char *) NULL, (char *) NULL); if (have_read_stdin && close (STDIN_FILENO) < 0) { error (0, errno, "-"); ok = false; } #ifdef lint size_t offset = sentinel_length ? sentinel_length : 1; free (G_buffer - offset); #endif exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/mktemp.c0000664000000000000000000002430612102337340012576 00000000000000/* Create a temporary file or directory, safely. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering and Eric Blake. */ #include #include #include #include "system.h" #include "close-stream.h" #include "error.h" #include "filenamecat.h" #include "quote.h" #include "stdio--.h" #include "tempname.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "mktemp" #define AUTHORS \ proper_name ("Jim Meyering"), \ proper_name ("Eric Blake") static const char *default_template = "tmp.XXXXXXXXXX"; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { SUFFIX_OPTION = CHAR_MAX + 1, TMPDIR_OPTION }; static struct option const longopts[] = { {"directory", no_argument, NULL, 'd'}, {"quiet", no_argument, NULL, 'q'}, {"dry-run", no_argument, NULL, 'u'}, {"suffix", required_argument, NULL, SUFFIX_OPTION}, {"tmpdir", optional_argument, NULL, TMPDIR_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [TEMPLATE]\n"), program_name); fputs (_("\ Create a temporary file or directory, safely, and print its name.\n\ TEMPLATE must contain at least 3 consecutive 'X's in last component.\n\ If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n\ "), stdout); fputs (_("\ Files are created u+rw, and directories u+rwx, minus umask restrictions.\n\ "), stdout); fputs ("\n", stdout); fputs (_("\ -d, --directory create a directory, not a file\n\ -u, --dry-run do not create anything; merely print a name (unsafe)\n\ -q, --quiet suppress diagnostics about file/dir-creation failure\n\ "), stdout); fputs (_("\ --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash.\n\ This option is implied if TEMPLATE does not end in X.\n\ "), stdout); fputs (_("\ --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n\ specified, use $TMPDIR if set, else /tmp. With\n\ this option, TEMPLATE must not be an absolute name.\n\ Unlike with -t, TEMPLATE may contain slashes, but\n\ mktemp creates only the final component\n\ "), stdout); fputs ("\n", stdout); fputs (_("\ -p DIR use DIR as a prefix; implies -t [deprecated]\n\ -t interpret TEMPLATE as a single file name component,\n\ relative to a directory: $TMPDIR, if set; else the\n\ directory specified via -p; else /tmp [deprecated]\n\ "), stdout); fputs ("\n", stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } static size_t count_consecutive_X_s (const char *s, size_t len) { size_t n = 0; for ( ; len && s[len-1] == 'X'; len--) ++n; return n; } static int mkstemp_len (char *tmpl, size_t suff_len, size_t x_len, bool dry_run) { return gen_tempname_len (tmpl, suff_len, 0, dry_run ? GT_NOCREATE : GT_FILE, x_len); } static int mkdtemp_len (char *tmpl, size_t suff_len, size_t x_len, bool dry_run) { return gen_tempname_len (tmpl, suff_len, 0, dry_run ? GT_NOCREATE : GT_DIR, x_len); } /* True if we have already closed standard output. */ static bool stdout_closed; /* Avoid closing stdout twice. Since we conditionally call close_stream (stdout) in order to decide whether to clean up a temporary file, the exit hook needs to know whether to do all of close_stdout or just the stderr half. */ static void maybe_close_stdout (void) { if (!stdout_closed) close_stdout (); else if (close_stream (stderr) != 0) _exit (EXIT_FAILURE); } int main (int argc, char **argv) { char const *dest_dir; char const *dest_dir_arg = NULL; bool suppress_stderr = false; int c; unsigned int n_args; char *template; char *suffix = NULL; bool use_dest_dir = false; bool deprecated_t_option = false; bool create_directory = false; bool dry_run = false; int status = EXIT_SUCCESS; size_t x_count; size_t suffix_len; char *dest_name; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (maybe_close_stdout); while ((c = getopt_long (argc, argv, "dp:qtuV", longopts, NULL)) != -1) { switch (c) { case 'd': create_directory = true; break; case 'p': dest_dir_arg = optarg; use_dest_dir = true; break; case 'q': suppress_stderr = true; break; case 't': use_dest_dir = true; deprecated_t_option = true; break; case 'u': dry_run = true; break; case TMPDIR_OPTION: use_dest_dir = true; dest_dir_arg = optarg; break; case SUFFIX_OPTION: suffix = optarg; break; case_GETOPT_HELP_CHAR; case 'V': /* Undocumented alias, for compatibility with the original mktemp program. */ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (suppress_stderr) { /* From here on, redirect stderr to /dev/null. A diagnostic from getopt_long, above, would still go to stderr. */ if (!freopen ("/dev/null", "wb", stderr)) error (EXIT_FAILURE, errno, _("failed to redirect stderr to /dev/null")); } n_args = argc - optind; if (2 <= n_args) { error (0, 0, _("too many templates")); usage (EXIT_FAILURE); } if (n_args == 0) { use_dest_dir = true; template = (char *) default_template; } else { template = argv[optind]; } if (suffix) { size_t len = strlen (template); if (!len || template[len - 1] != 'X') { error (EXIT_FAILURE, 0, _("with --suffix, template %s must end in X"), quote (template)); } suffix_len = strlen (suffix); dest_name = xcharalloc (len + suffix_len + 1); memcpy (dest_name, template, len); memcpy (dest_name + len, suffix, suffix_len + 1); template = dest_name; suffix = dest_name + len; } else { template = xstrdup (template); suffix = strrchr (template, 'X'); if (!suffix) suffix = strchr (template, '\0'); else suffix++; suffix_len = strlen (suffix); } /* At this point, template is malloc'd, and suffix points into template. */ if (suffix_len && last_component (suffix) != suffix) { error (EXIT_FAILURE, 0, _("invalid suffix %s, contains directory separator"), quote (suffix)); } x_count = count_consecutive_X_s (template, suffix - template); if (x_count < 3) error (EXIT_FAILURE, 0, _("too few X's in template %s"), quote (template)); if (use_dest_dir) { if (deprecated_t_option) { char *env = getenv ("TMPDIR"); dest_dir = (env && *env ? env : (dest_dir_arg ? dest_dir_arg : "/tmp")); if (last_component (template) != template) error (EXIT_FAILURE, 0, _("invalid template, %s, contains directory separator"), quote (template)); } else { if (dest_dir_arg && *dest_dir_arg) dest_dir = dest_dir_arg; else { char *env = getenv ("TMPDIR"); dest_dir = (env && *env ? env : "/tmp"); } if (IS_ABSOLUTE_FILE_NAME (template)) error (EXIT_FAILURE, 0, _("invalid template, %s; with --tmpdir," " it may not be absolute"), quote (template)); } dest_name = file_name_concat (dest_dir, template, NULL); free (template); template = dest_name; /* Note that suffix is now invalid. */ } /* Make a copy to be used in case of diagnostic, since failing mkstemp may leave the buffer in an undefined state. */ dest_name = xstrdup (template); if (create_directory) { int err = mkdtemp_len (dest_name, suffix_len, x_count, dry_run); if (err != 0) { error (0, errno, _("failed to create directory via template %s"), quote (template)); status = EXIT_FAILURE; } } else { int fd = mkstemp_len (dest_name, suffix_len, x_count, dry_run); if (fd < 0 || (!dry_run && close (fd) != 0)) { error (0, errno, _("failed to create file via template %s"), quote (template)); status = EXIT_FAILURE; } } if (status == EXIT_SUCCESS) { puts (dest_name); /* If we created a file, but then failed to output the file name, we should clean up the mess before failing. */ if (!dry_run && ((stdout_closed = true), close_stream (stdout) != 0)) { int saved_errno = errno; remove (dest_name); error (EXIT_FAILURE, saved_errno, _("write error")); } } #ifdef lint free (dest_name); free (template); #endif exit (status); } coreutils-8.21/src/printf.c0000664000000000000000000004636412102337340012613 00000000000000/* printf - format and print data Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Usage: printf format [argument...] A front end to the printf function that lets it be used from the shell. Backslash escapes: \" = double quote \\ = backslash \a = alert (bell) \b = backspace \c = produce no further output \e = escape \f = form feed \n = new line \r = carriage return \t = horizontal tab \v = vertical tab \ooo = octal number (ooo is 1 to 3 digits) \xhh = hexadecimal number (hhh is 1 to 2 digits) \uhhhh = 16-bit Unicode character (hhhh is 4 digits) \Uhhhhhhhh = 32-bit Unicode character (hhhhhhhh is 8 digits) Additional directive: %b = print an argument string, interpreting backslash escapes, except that octal escapes are of the form \0 or \0ooo. The 'format' argument is re-used as many times as necessary to convert all of the given arguments. David MacKenzie */ #include #include #include #include "system.h" #include "c-strtod.h" #include "error.h" #include "quote.h" #include "unicodeio.h" #include "xprintf.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "printf" #define AUTHORS proper_name ("David MacKenzie") #define isodigit(c) ((c) >= '0' && (c) <= '7') #define hextobin(c) ((c) >= 'a' && (c) <= 'f' ? (c) - 'a' + 10 : \ (c) >= 'A' && (c) <= 'F' ? (c) - 'A' + 10 : (c) - '0') #define octtobin(c) ((c) - '0') /* The value to return to the calling program. */ static int exit_status; /* True if the POSIXLY_CORRECT environment variable is set. */ static bool posixly_correct; /* This message appears in N_() here rather than just in _() below because the sole use would have been in a #define. */ static char const *const cfcc_msg = N_("warning: %s: character(s) following character constant have been ignored"); void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s FORMAT [ARGUMENT]...\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ FORMAT controls the output as in C printf. Interpreted sequences are:\n\ \n\ \\\" double quote\n\ "), stdout); fputs (_("\ \\\\ backslash\n\ \\a alert (BEL)\n\ \\b backspace\n\ \\c produce no further output\n\ \\e escape\n\ \\f form feed\n\ \\n new line\n\ \\r carriage return\n\ \\t horizontal tab\n\ \\v vertical tab\n\ "), stdout); fputs (_("\ \\NNN byte with octal value NNN (1 to 3 digits)\n\ \\xHH byte with hexadecimal value HH (1 to 2 digits)\n\ \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n\ \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n\ "), stdout); fputs (_("\ %% a single %\n\ %b ARGUMENT as a string with '\\' escapes interpreted,\n\ except that octal escapes are of the form \\0 or \\0NNN\n\ \n\ and all C format specifications ending with one of diouxXfeEgGcs, with\n\ ARGUMENTs converted to proper type first. Variable widths are handled.\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } static void verify_numeric (const char *s, const char *end) { if (errno) { error (0, errno, "%s", s); exit_status = EXIT_FAILURE; } else if (*end) { if (s == end) error (0, 0, _("%s: expected a numeric value"), s); else error (0, 0, _("%s: value not completely converted"), s); exit_status = EXIT_FAILURE; } } #define STRTOX(TYPE, FUNC_NAME, LIB_FUNC_EXPR) \ static TYPE \ FUNC_NAME (char const *s) \ { \ char *end; \ TYPE val; \ \ if ((*s == '\"' || *s == '\'') && *(s + 1)) \ { \ unsigned char ch = *++s; \ val = ch; \ /* If POSIXLY_CORRECT is not set, then give a warning that there \ are characters following the character constant and that GNU \ printf is ignoring those characters. If POSIXLY_CORRECT *is* \ set, then don't give the warning. */ \ if (*++s != 0 && !posixly_correct) \ error (0, 0, _(cfcc_msg), s); \ } \ else \ { \ errno = 0; \ val = (LIB_FUNC_EXPR); \ verify_numeric (s, end); \ } \ return val; \ } \ STRTOX (intmax_t, vstrtoimax, strtoimax (s, &end, 0)) STRTOX (uintmax_t, vstrtoumax, strtoumax (s, &end, 0)) STRTOX (long double, vstrtold, c_strtold (s, &end)) /* Output a single-character \ escape. */ static void print_esc_char (char c) { switch (c) { case 'a': /* Alert. */ putchar ('\a'); break; case 'b': /* Backspace. */ putchar ('\b'); break; case 'c': /* Cancel the rest of the output. */ exit (EXIT_SUCCESS); break; case 'e': /* Escape. */ putchar ('\x1B'); break; case 'f': /* Form feed. */ putchar ('\f'); break; case 'n': /* New line. */ putchar ('\n'); break; case 'r': /* Carriage return. */ putchar ('\r'); break; case 't': /* Horizontal tab. */ putchar ('\t'); break; case 'v': /* Vertical tab. */ putchar ('\v'); break; default: putchar (c); break; } } /* Print a \ escape sequence starting at ESCSTART. Return the number of characters in the escape sequence besides the backslash. If OCTAL_0 is nonzero, octal escapes are of the form \0ooo, where o is an octal digit; otherwise they are of the form \ooo. */ static int print_esc (const char *escstart, bool octal_0) { const char *p = escstart + 1; int esc_value = 0; /* Value of \nnn escape. */ int esc_length; /* Length of \nnn escape. */ if (*p == 'x') { /* A hexadecimal \xhh escape sequence must have 1 or 2 hex. digits. */ for (esc_length = 0, ++p; esc_length < 2 && isxdigit (to_uchar (*p)); ++esc_length, ++p) esc_value = esc_value * 16 + hextobin (*p); if (esc_length == 0) error (EXIT_FAILURE, 0, _("missing hexadecimal number in escape")); putchar (esc_value); } else if (isodigit (*p)) { /* Parse \0ooo (if octal_0 && *p == '0') or \ooo (otherwise). Allow \ooo if octal_0 && *p != '0'; this is an undocumented extension to POSIX that is compatible with Bash 2.05b. */ for (esc_length = 0, p += octal_0 && *p == '0'; esc_length < 3 && isodigit (*p); ++esc_length, ++p) esc_value = esc_value * 8 + octtobin (*p); putchar (esc_value); } else if (*p && strchr ("\"\\abcefnrtv", *p)) print_esc_char (*p++); else if (*p == 'u' || *p == 'U') { char esc_char = *p; unsigned int uni_value; uni_value = 0; for (esc_length = (esc_char == 'u' ? 4 : 8), ++p; esc_length > 0; --esc_length, ++p) { if (! isxdigit (to_uchar (*p))) error (EXIT_FAILURE, 0, _("missing hexadecimal number in escape")); uni_value = uni_value * 16 + hextobin (*p); } /* A universal character name shall not specify a character short identifier in the range 00000000 through 00000020, 0000007F through 0000009F, or 0000D800 through 0000DFFF inclusive. A universal character name shall not designate a character in the required character set. */ if ((uni_value <= 0x9f && uni_value != 0x24 && uni_value != 0x40 && uni_value != 0x60) || (uni_value >= 0xd800 && uni_value <= 0xdfff)) error (EXIT_FAILURE, 0, _("invalid universal character name \\%c%0*x"), esc_char, (esc_char == 'u' ? 4 : 8), uni_value); print_unicode_char (stdout, uni_value, 0); } else { putchar ('\\'); if (*p) { putchar (*p); p++; } } return p - escstart - 1; } /* Print string STR, evaluating \ escapes. */ static void print_esc_string (const char *str) { for (; *str; str++) if (*str == '\\') str += print_esc (str, true); else putchar (*str); } /* Evaluate a printf conversion specification. START is the start of the directive, LENGTH is its length, and CONVERSION specifies the type of conversion. LENGTH does not include any length modifier or the conversion specifier itself. FIELD_WIDTH and PRECISION are the field width and precision for '*' values, if HAVE_FIELD_WIDTH and HAVE_PRECISION are true, respectively. ARGUMENT is the argument to be formatted. */ static void print_direc (const char *start, size_t length, char conversion, bool have_field_width, int field_width, bool have_precision, int precision, char const *argument) { char *p; /* Null-terminated copy of % directive. */ /* Create a null-terminated copy of the % directive, with an intmax_t-wide length modifier substituted for any existing integer length modifier. */ { char *q; char const *length_modifier; size_t length_modifier_len; switch (conversion) { case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': length_modifier = PRIdMAX; length_modifier_len = sizeof PRIdMAX - 2; break; case 'a': case 'e': case 'f': case 'g': case 'A': case 'E': case 'F': case 'G': length_modifier = "L"; length_modifier_len = 1; break; default: length_modifier = start; /* Any valid pointer will do. */ length_modifier_len = 0; break; } p = xmalloc (length + length_modifier_len + 2); q = mempcpy (p, start, length); q = mempcpy (q, length_modifier, length_modifier_len); *q++ = conversion; *q = '\0'; } switch (conversion) { case 'd': case 'i': { intmax_t arg = vstrtoimax (argument); if (!have_field_width) { if (!have_precision) xprintf (p, arg); else xprintf (p, precision, arg); } else { if (!have_precision) xprintf (p, field_width, arg); else xprintf (p, field_width, precision, arg); } } break; case 'o': case 'u': case 'x': case 'X': { uintmax_t arg = vstrtoumax (argument); if (!have_field_width) { if (!have_precision) xprintf (p, arg); else xprintf (p, precision, arg); } else { if (!have_precision) xprintf (p, field_width, arg); else xprintf (p, field_width, precision, arg); } } break; case 'a': case 'A': case 'e': case 'E': case 'f': case 'F': case 'g': case 'G': { long double arg = vstrtold (argument); if (!have_field_width) { if (!have_precision) xprintf (p, arg); else xprintf (p, precision, arg); } else { if (!have_precision) xprintf (p, field_width, arg); else xprintf (p, field_width, precision, arg); } } break; case 'c': if (!have_field_width) xprintf (p, *argument); else xprintf (p, field_width, *argument); break; case 's': if (!have_field_width) { if (!have_precision) xprintf (p, argument); else xprintf (p, precision, argument); } else { if (!have_precision) xprintf (p, field_width, argument); else xprintf (p, field_width, precision, argument); } break; } free (p); } /* Print the text in FORMAT, using ARGV (with ARGC elements) for arguments to any '%' directives. Return the number of elements of ARGV used. */ static int print_formatted (const char *format, int argc, char **argv) { int save_argc = argc; /* Preserve original value. */ const char *f; /* Pointer into 'format'. */ const char *direc_start; /* Start of % directive. */ size_t direc_length; /* Length of % directive. */ bool have_field_width; /* True if FIELD_WIDTH is valid. */ int field_width = 0; /* Arg to first '*'. */ bool have_precision; /* True if PRECISION is valid. */ int precision = 0; /* Arg to second '*'. */ char ok[UCHAR_MAX + 1]; /* ok['x'] is true if %x is allowed. */ for (f = format; *f; ++f) { switch (*f) { case '%': direc_start = f++; direc_length = 1; have_field_width = have_precision = false; if (*f == '%') { putchar ('%'); break; } if (*f == 'b') { /* FIXME: Field width and precision are not supported for %b, even though POSIX requires it. */ if (argc > 0) { print_esc_string (*argv); ++argv; --argc; } break; } memset (ok, 0, sizeof ok); ok['a'] = ok['A'] = ok['c'] = ok['d'] = ok['e'] = ok['E'] = ok['f'] = ok['F'] = ok['g'] = ok['G'] = ok['i'] = ok['o'] = ok['s'] = ok['u'] = ok['x'] = ok['X'] = 1; for (;; f++, direc_length++) switch (*f) { #if (__GLIBC__ == 2 && 2 <= __GLIBC_MINOR__) || 3 <= __GLIBC__ case 'I': #endif case '\'': ok['a'] = ok['A'] = ok['c'] = ok['e'] = ok['E'] = ok['o'] = ok['s'] = ok['x'] = ok['X'] = 0; break; case '-': case '+': case ' ': break; case '#': ok['c'] = ok['d'] = ok['i'] = ok['s'] = ok['u'] = 0; break; case '0': ok['c'] = ok['s'] = 0; break; default: goto no_more_flag_characters; } no_more_flag_characters: if (*f == '*') { ++f; ++direc_length; if (argc > 0) { intmax_t width = vstrtoimax (*argv); if (INT_MIN <= width && width <= INT_MAX) field_width = width; else error (EXIT_FAILURE, 0, _("invalid field width: %s"), *argv); ++argv; --argc; } else field_width = 0; have_field_width = true; } else while (ISDIGIT (*f)) { ++f; ++direc_length; } if (*f == '.') { ++f; ++direc_length; ok['c'] = 0; if (*f == '*') { ++f; ++direc_length; if (argc > 0) { intmax_t prec = vstrtoimax (*argv); if (prec < 0) { /* A negative precision is taken as if the precision were omitted, so -1 is safe here even if prec < INT_MIN. */ precision = -1; } else if (INT_MAX < prec) error (EXIT_FAILURE, 0, _("invalid precision: %s"), *argv); else precision = prec; ++argv; --argc; } else precision = 0; have_precision = true; } else while (ISDIGIT (*f)) { ++f; ++direc_length; } } while (*f == 'l' || *f == 'L' || *f == 'h' || *f == 'j' || *f == 't' || *f == 'z') ++f; { unsigned char conversion = *f; if (! ok[conversion]) error (EXIT_FAILURE, 0, _("%.*s: invalid conversion specification"), (int) (f + 1 - direc_start), direc_start); } print_direc (direc_start, direc_length, *f, have_field_width, field_width, have_precision, precision, (argc <= 0 ? "" : (argc--, *argv++))); break; case '\\': f += print_esc (f, false); break; default: putchar (*f); } } return save_argc - argc; } int main (int argc, char **argv) { char *format; int args_used; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); exit_status = EXIT_SUCCESS; posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); /* We directly parse options, rather than use parse_long_options, in order to avoid accepting abbreviations. */ if (argc == 2) { if (STREQ (argv[1], "--help")) usage (EXIT_SUCCESS); if (STREQ (argv[1], "--version")) { version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); exit (EXIT_SUCCESS); } } /* The above handles --help and --version. Since there is no other invocation of getopt, handle '--' here. */ if (1 < argc && STREQ (argv[1], "--")) { --argc; ++argv; } if (argc <= 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } format = argv[1]; argc -= 2; argv += 2; do { args_used = print_formatted (format, argc, argv); argc -= args_used; argv += args_used; } while (args_used > 0 && argc > 0); if (argc > 0) error (0, 0, _("warning: ignoring excess arguments, starting with %s"), quote (argv[0])); exit (exit_status); } coreutils-8.21/src/ls.h0000664000000000000000000000031112050450172011713 00000000000000/* This is for the 'ls' program. */ #define LS_LS 1 /* This is for the 'dir' program. */ #define LS_MULTI_COL 2 /* This is for the 'vdir' program. */ #define LS_LONG_FORMAT 3 extern int ls_mode; coreutils-8.21/src/sleep.c0000664000000000000000000000751112102337340012410 00000000000000/* sleep - delay for a specified amount of time. Copyright (C) 1984-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "system.h" #include "c-strtod.h" #include "error.h" #include "long-options.h" #include "quote.h" #include "xnanosleep.h" #include "xstrtod.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "sleep" #define AUTHORS \ proper_name ("Jim Meyering"), \ proper_name ("Paul Eggert") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s NUMBER[SUFFIX]...\n\ or: %s OPTION\n\ Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n\ 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations\n\ that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n\ point number. Given two or more arguments, pause for the amount of time\n\ specified by the sum of their values.\n\ \n\ "), program_name, program_name); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Given a floating point value *X, and a suffix character, SUFFIX_CHAR, scale *X by the multiplier implied by SUFFIX_CHAR. SUFFIX_CHAR may be the NUL byte or 's' to denote seconds, 'm' for minutes, 'h' for hours, or 'd' for days. If SUFFIX_CHAR is invalid, don't modify *X and return false. Otherwise return true. */ static bool apply_suffix (double *x, char suffix_char) { int multiplier; switch (suffix_char) { case 0: case 's': multiplier = 1; break; case 'm': multiplier = 60; break; case 'h': multiplier = 60 * 60; break; case 'd': multiplier = 60 * 60 * 24; break; default: return false; } *x *= multiplier; return true; } int main (int argc, char **argv) { int i; double seconds = 0.0; bool ok = true; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc == 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } for (i = optind; i < argc; i++) { double s; const char *p; if (! xstrtod (argv[i], &p, &s, c_strtod) /* Nonnegative interval. */ || ! (0 <= s) /* No extra chars after the number and an optional s,m,h,d char. */ || (*p && *(p+1)) /* Check any suffix char and update S based on the suffix. */ || ! apply_suffix (&s, *p)) { error (0, 0, _("invalid time interval %s"), quote (argv[i])); ok = false; } seconds += s; } if (!ok) usage (EXIT_FAILURE); if (xnanosleep (seconds)) error (EXIT_FAILURE, errno, _("cannot read realtime clock")); exit (EXIT_SUCCESS); } coreutils-8.21/src/df.c0000664000000000000000000013166712104043357011707 00000000000000/* df - summarize free disk space Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . --human-readable and --megabyte options added by lm@sgi.com. --si and large file support added by eggert@twinsun.com. */ #include #include #include #include #include #include "system.h" #include "canonicalize.h" #include "error.h" #include "fsusage.h" #include "human.h" #include "mbsalign.h" #include "mbswidth.h" #include "mountlist.h" #include "quote.h" #include "find-mount-point.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "df" #define AUTHORS \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name ("David MacKenzie"), \ proper_name ("Paul Eggert") /* Filled with device numbers of examined file systems to avoid duplicities in output. */ struct devlist { dev_t dev_num; struct mount_entry *me; struct devlist *next; }; /* If true, show even file systems with zero size or uninteresting types. */ static bool show_all_fs; /* If true, show only local file systems. */ static bool show_local_fs; /* If true, output data for each file system corresponding to a command line argument -- even if it's a dummy (automounter) entry. */ static bool show_listed_fs; /* Human-readable options for output. */ static int human_output_opts; /* The units to use when printing sizes. */ static uintmax_t output_block_size; /* True if a file system has been processed for output. */ static bool file_systems_processed; /* If true, invoke the 'sync' system call before getting any usage data. Using this option can make df very slow, especially with many or very busy disks. Note that this may make a difference on some systems -- SunOS 4.1.3, for one. It is *not* necessary on GNU/Linux. */ static bool require_sync; /* Desired exit status. */ static int exit_status; /* A file system type to display. */ struct fs_type_list { char *fs_name; struct fs_type_list *fs_next; }; /* Linked list of file system types to display. If 'fs_select_list' is NULL, list all types. This table is generated dynamically from command-line options, rather than hardcoding into the program what it thinks are the valid file system types; let the user specify any file system type they want to, and if there are any file systems of that type, they will be shown. Some file system types: 4.2 4.3 ufs nfs swap ignore io vm efs dbg */ static struct fs_type_list *fs_select_list; /* Linked list of file system types to omit. If the list is empty, don't exclude any types. */ static struct fs_type_list *fs_exclude_list; /* Linked list of mounted file systems. */ static struct mount_entry *mount_list; /* If true, print file system type as well. */ static bool print_type; /* If true, print a grand total at the end. */ static bool print_grand_total; /* Grand total data. */ static struct fs_usage grand_fsu; /* Display modes. */ enum { DEFAULT_MODE, INODES_MODE, HUMAN_MODE, POSIX_MODE, OUTPUT_MODE }; static int header_mode = DEFAULT_MODE; /* Displayable fields. */ typedef enum { SOURCE_FIELD, /* file system */ FSTYPE_FIELD, /* FS type */ SIZE_FIELD, /* FS size */ USED_FIELD, /* FS size used */ AVAIL_FIELD, /* FS size available */ PCENT_FIELD, /* percent used */ ITOTAL_FIELD, /* inode total */ IUSED_FIELD, /* inodes used */ IAVAIL_FIELD, /* inodes available */ IPCENT_FIELD, /* inodes used in percent */ TARGET_FIELD /* mount point */ } display_field_t; /* Flag if a field contains a block, an inode or another value. */ typedef enum { BLOCK_FLD, /* Block values field */ INODE_FLD, /* Inode values field */ OTHER_FLD /* Neutral field, e.g. target */ } field_type_t; /* Attributes of a display field. */ struct field_data_t { display_field_t field; char const *arg; field_type_t field_type; const char *caption;/* NULL means to use the default header of this field. */ size_t width; /* Auto adjusted (up) widths used to align columns. */ mbs_align_t align; /* Alignment for this field. */ bool used; }; /* Header strings, minimum width and alignment for the above fields. */ static struct field_data_t field_data[] = { [SOURCE_FIELD] = { SOURCE_FIELD, "source", OTHER_FLD, N_("Filesystem"), 14, MBS_ALIGN_LEFT, false }, [FSTYPE_FIELD] = { FSTYPE_FIELD, "fstype", OTHER_FLD, N_("Type"), 4, MBS_ALIGN_LEFT, false }, [SIZE_FIELD] = { SIZE_FIELD, "size", BLOCK_FLD, N_("blocks"), 5, MBS_ALIGN_RIGHT, false }, [USED_FIELD] = { USED_FIELD, "used", BLOCK_FLD, N_("Used"), 5, MBS_ALIGN_RIGHT, false }, [AVAIL_FIELD] = { AVAIL_FIELD, "avail", BLOCK_FLD, N_("Available"), 5, MBS_ALIGN_RIGHT, false }, [PCENT_FIELD] = { PCENT_FIELD, "pcent", BLOCK_FLD, N_("Use%"), 4, MBS_ALIGN_RIGHT, false }, [ITOTAL_FIELD] = { ITOTAL_FIELD, "itotal", INODE_FLD, N_("Inodes"), 5, MBS_ALIGN_RIGHT, false }, [IUSED_FIELD] = { IUSED_FIELD, "iused", INODE_FLD, N_("IUsed"), 5, MBS_ALIGN_RIGHT, false }, [IAVAIL_FIELD] = { IAVAIL_FIELD, "iavail", INODE_FLD, N_("IFree"), 5, MBS_ALIGN_RIGHT, false }, [IPCENT_FIELD] = { IPCENT_FIELD, "ipcent", INODE_FLD, N_("IUse%"), 4, MBS_ALIGN_RIGHT, false }, [TARGET_FIELD] = { TARGET_FIELD, "target", OTHER_FLD, N_("Mounted on"), 0, MBS_ALIGN_LEFT, false } }; static char const *all_args_string = "source,fstype,itotal,iused,iavail,ipcent,size,used,avail,pcent,target"; /* Storage for the definition of output columns. */ static struct field_data_t **columns; /* The current number of output columns. */ static size_t ncolumns; /* Field values. */ struct field_values_t { uintmax_t input_units; uintmax_t output_units; uintmax_t total; uintmax_t available; bool negate_available; uintmax_t available_to_root; uintmax_t used; bool negate_used; }; /* Storage for pointers for each string (cell of table). */ static char ***table; /* The current number of processed rows (including header). */ static size_t nrows; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { NO_SYNC_OPTION = CHAR_MAX + 1, SYNC_OPTION, TOTAL_OPTION, OUTPUT_OPTION, MEGABYTES_OPTION /* FIXME: remove long opt in Aug 2013 */ }; static struct option const long_options[] = { {"all", no_argument, NULL, 'a'}, {"block-size", required_argument, NULL, 'B'}, {"inodes", no_argument, NULL, 'i'}, {"human-readable", no_argument, NULL, 'h'}, {"si", no_argument, NULL, 'H'}, {"local", no_argument, NULL, 'l'}, {"megabytes", no_argument, NULL, MEGABYTES_OPTION}, /* obsolescent, */ {"output", optional_argument, NULL, OUTPUT_OPTION}, {"portability", no_argument, NULL, 'P'}, {"print-type", no_argument, NULL, 'T'}, {"sync", no_argument, NULL, SYNC_OPTION}, {"no-sync", no_argument, NULL, NO_SYNC_OPTION}, {"total", no_argument, NULL, TOTAL_OPTION}, {"type", required_argument, NULL, 't'}, {"exclude-type", required_argument, NULL, 'x'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Replace problematic chars with '?'. Since only control characters are currently considered, this should work in all encodings. */ static char* hide_problematic_chars (char *cell) { char *p = cell; while (*p) { if (iscntrl (to_uchar (*p))) *p = '?'; p++; } return cell; } /* Dynamically allocate a row of pointers in TABLE, which can then be accessed with standard 2D array notation. */ static void alloc_table_row (void) { nrows++; table = xnrealloc (table, nrows, sizeof (char *)); table[nrows - 1] = xnmalloc (ncolumns, sizeof (char *)); } /* Output each cell in the table, accounting for the alignment and max width of each column. */ static void print_table (void) { size_t row; for (row = 0; row < nrows; row++) { size_t col; for (col = 0; col < ncolumns; col++) { char *cell = table[row][col]; /* Note the SOURCE_FIELD used to be displayed on it's own line if (!posix_format && mbswidth (cell) > 20), but that functionality was probably more problematic than helpful, hence changed in commit v8.10-40-g99679ff. */ if (col != 0) putchar (' '); int flags = 0; if (col == ncolumns - 1) /* The last one. */ flags = MBA_NO_RIGHT_PAD; size_t width = columns[col]->width; cell = ambsalign (cell, &width, columns[col]->align, flags); /* When ambsalign fails, output unaligned data. */ fputs (cell ? cell : table[row][col], stdout); free (cell); IF_LINT (free (table[row][col])); } putchar ('\n'); IF_LINT (free (table[row])); } IF_LINT (free (table)); } /* Dynamically allocate a struct field_t in COLUMNS, which can then be accessed with standard array notation. */ static void alloc_field (int f, const char *c) { ncolumns++; columns = xnrealloc (columns, ncolumns, sizeof (struct field_data_t *)); columns[ncolumns - 1] = &field_data[f]; if (c != NULL) columns[ncolumns - 1]->caption = c; if (field_data[f].used) assert (!"field used"); /* Mark field as used. */ field_data[f].used = true; } /* Given a string, ARG, containing a comma-separated list of arguments to the --output option, add the appropriate fields to columns. */ static void decode_output_arg (char const *arg) { char *arg_writable = xstrdup (arg); char *s = arg_writable; do { /* find next comma */ char *comma = strchr (s, ','); /* If we found a comma, put a NUL in its place and advance. */ if (comma) *comma++ = 0; /* process S. */ display_field_t field = -1; for (unsigned int i = 0; i < ARRAY_CARDINALITY (field_data); i++) { if (STREQ (field_data[i].arg, s)) { field = i; break; } } if (field == -1) { error (0, 0, _("option --output: field '%s' unknown"), s); usage (EXIT_FAILURE); } if (field_data[field].used) { /* Prevent the fields from being used more than once. */ error (0, 0, _("option --output: field '%s' used more than once"), field_data[field].arg); usage (EXIT_FAILURE); } switch (field) { case SOURCE_FIELD: case FSTYPE_FIELD: case USED_FIELD: case PCENT_FIELD: case ITOTAL_FIELD: case IUSED_FIELD: case IAVAIL_FIELD: case IPCENT_FIELD: case TARGET_FIELD: alloc_field (field, NULL); break; case SIZE_FIELD: alloc_field (field, N_("Size")); break; case AVAIL_FIELD: alloc_field (field, N_("Avail")); break; default: assert (!"invalid field"); } s = comma; } while (s); free (arg_writable); } /* Get the appropriate columns for the mode. */ static void get_field_list (void) { switch (header_mode) { case DEFAULT_MODE: alloc_field (SOURCE_FIELD, NULL); if (print_type) alloc_field (FSTYPE_FIELD, NULL); alloc_field (SIZE_FIELD, NULL); alloc_field (USED_FIELD, NULL); alloc_field (AVAIL_FIELD, NULL); alloc_field (PCENT_FIELD, NULL); alloc_field (TARGET_FIELD, NULL); break; case HUMAN_MODE: alloc_field (SOURCE_FIELD, NULL); if (print_type) alloc_field (FSTYPE_FIELD, NULL); alloc_field (SIZE_FIELD, N_("Size")); alloc_field (USED_FIELD, NULL); alloc_field (AVAIL_FIELD, N_("Avail")); alloc_field (PCENT_FIELD, NULL); alloc_field (TARGET_FIELD, NULL); break; case INODES_MODE: alloc_field (SOURCE_FIELD, NULL); if (print_type) alloc_field (FSTYPE_FIELD, NULL); alloc_field (ITOTAL_FIELD, NULL); alloc_field (IUSED_FIELD, NULL); alloc_field (IAVAIL_FIELD, NULL); alloc_field (IPCENT_FIELD, NULL); alloc_field (TARGET_FIELD, NULL); break; case POSIX_MODE: alloc_field (SOURCE_FIELD, NULL); if (print_type) alloc_field (FSTYPE_FIELD, NULL); alloc_field (SIZE_FIELD, NULL); alloc_field (USED_FIELD, NULL); alloc_field (AVAIL_FIELD, NULL); alloc_field (PCENT_FIELD, N_("Capacity")); alloc_field (TARGET_FIELD, NULL); break; case OUTPUT_MODE: if (!ncolumns) { /* Add all fields if --output was given without a field list. */ decode_output_arg (all_args_string); } break; default: assert (!"invalid header_mode"); } } /* Obtain the appropriate header entries. */ static void get_header (void) { size_t col; alloc_table_row (); for (col = 0; col < ncolumns; col++) { char *cell = NULL; char const *header = _(columns[col]->caption); if (columns[col]->field == SIZE_FIELD && (header_mode == DEFAULT_MODE || (header_mode == OUTPUT_MODE && !(human_output_opts & human_autoscale)))) { char buf[LONGEST_HUMAN_READABLE + 1]; int opts = (human_suppress_point_zero | human_autoscale | human_SI | (human_output_opts & (human_group_digits | human_base_1024 | human_B))); /* Prefer the base that makes the human-readable value more exact, if there is a difference. */ uintmax_t q1000 = output_block_size; uintmax_t q1024 = output_block_size; bool divisible_by_1000; bool divisible_by_1024; do { divisible_by_1000 = q1000 % 1000 == 0; q1000 /= 1000; divisible_by_1024 = q1024 % 1024 == 0; q1024 /= 1024; } while (divisible_by_1000 & divisible_by_1024); if (divisible_by_1000 < divisible_by_1024) opts |= human_base_1024; if (divisible_by_1024 < divisible_by_1000) opts &= ~human_base_1024; if (! (opts & human_base_1024)) opts |= human_B; char *num = human_readable (output_block_size, buf, opts, 1, 1); /* Reset the header back to the default in OUTPUT_MODE. */ header = N_("blocks"); /* TRANSLATORS: this is the "1K-blocks" header in "df" output. */ if (asprintf (&cell, _("%s-%s"), num, header) == -1) cell = NULL; } else if (header_mode == POSIX_MODE && columns[col]->field == SIZE_FIELD) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; char *num = umaxtostr (output_block_size, buf); /* TRANSLATORS: this is the "1024-blocks" header in "df -P". */ if (asprintf (&cell, _("%s-%s"), num, header) == -1) cell = NULL; } else cell = strdup (header); if (!cell) xalloc_die (); hide_problematic_chars (cell); table[nrows - 1][col] = cell; columns[col]->width = MAX (columns[col]->width, mbswidth (cell, 0)); } } /* Is FSTYPE a type of file system that should be listed? */ static bool _GL_ATTRIBUTE_PURE selected_fstype (const char *fstype) { const struct fs_type_list *fsp; if (fs_select_list == NULL || fstype == NULL) return true; for (fsp = fs_select_list; fsp; fsp = fsp->fs_next) if (STREQ (fstype, fsp->fs_name)) return true; return false; } /* Is FSTYPE a type of file system that should be omitted? */ static bool _GL_ATTRIBUTE_PURE excluded_fstype (const char *fstype) { const struct fs_type_list *fsp; if (fs_exclude_list == NULL || fstype == NULL) return false; for (fsp = fs_exclude_list; fsp; fsp = fsp->fs_next) if (STREQ (fstype, fsp->fs_name)) return true; return false; } /* Filter mount list by skipping duplicate entries. In the case of duplicities - based on to the device number - the mount entry with a '/' in its me_devname (i.e. not pseudo name like tmpfs) wins. If both have a real devname (e.g. bind mounts), then that with the shorter me_mountdir wins. */ static void filter_mount_list (void) { struct mount_entry *me; /* Store of already-processed device numbers. */ struct devlist *devlist_head = NULL; /* Sort all 'wanted' entries into the list devlist_head. */ for (me = mount_list; me; me = me->me_next) { struct stat buf; struct devlist *devlist; if (-1 == stat (me->me_mountdir, &buf)) { ; /* Stat failed - add ME to be able to complain about it later. */ } else { /* If the device name is a real path name ... */ if (strchr (me->me_devname, '/')) { /* ... try to find its device number in the devlist. */ for (devlist = devlist_head; devlist; devlist = devlist->next) if (devlist->dev_num == buf.st_dev) break; if (devlist) { /* Let the shorter mountdir win. */ if ( !strchr (devlist->me->me_devname, '/') || ( strlen (devlist->me->me_mountdir) > strlen (me->me_mountdir))) { /* FIXME: free ME - the others are also not free()d. */ devlist->me = me; } continue; /* ... with the loop over the mount_list. */ } } } /* Add the device number to the global list devlist. */ devlist = xmalloc (sizeof *devlist); devlist->me = me; devlist->dev_num = buf.st_dev; devlist->next = devlist_head; devlist_head = devlist; } /* Finally rebuild the mount_list from the devlist. */ mount_list = NULL; while (devlist_head) { /* Add the mount entry. */ me = devlist_head->me; me->me_next = mount_list; mount_list = me; /* Free devlist entry and advance. */ struct devlist *devlist = devlist_head->next; free (devlist_head); devlist_head = devlist; } } /* Return true if N is a known integer value. On many file systems, UINTMAX_MAX represents an unknown value; on AIX, UINTMAX_MAX - 1 represents unknown. Use a rule that works on AIX file systems, and that almost-always works on other types. */ static bool known_value (uintmax_t n) { return n < UINTMAX_MAX - 1; } /* Like human_readable (N, BUF, human_output_opts, INPUT_UNITS, OUTPUT_UNITS), except: - If NEGATIVE, then N represents a negative number, expressed in two's complement. - Otherwise, return "-" if N is unknown. */ static char const * df_readable (bool negative, uintmax_t n, char *buf, uintmax_t input_units, uintmax_t output_units) { if (! known_value (n) && !negative) return "-"; else { char *p = human_readable (negative ? -n : n, buf + negative, human_output_opts, input_units, output_units); if (negative) *--p = '-'; return p; } } /* Logical equivalence */ #define LOG_EQ(a, b) (!(a) == !(b)) /* Add integral value while using uintmax_t for value part and separate negation flag. It adds value of SRC and SRC_NEG to DEST and DEST_NEG. The result will be in DEST and DEST_NEG. See df_readable to understand how the negation flag is used. */ static void add_uint_with_neg_flag (uintmax_t *dest, bool *dest_neg, uintmax_t src, bool src_neg) { if (LOG_EQ (*dest_neg, src_neg)) { *dest += src; return; } if (*dest_neg) *dest = -*dest; if (src_neg) src = -src; if (src < *dest) *dest -= src; else { *dest = src - *dest; *dest_neg = src_neg; } if (*dest_neg) *dest = -*dest; } /* Return true if S ends in a string that may be a 36-byte UUID, i.e., of the form HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH, where each H is an upper or lower case hexadecimal digit. */ static bool _GL_ATTRIBUTE_PURE has_uuid_suffix (char const *s) { size_t len = strlen (s); return (36 < len && strspn (s + len - 36, "-0123456789abcdefABCDEF") == 36); } /* Obtain the block values BV and inode values IV from the file system usage FSU. */ static void get_field_values (struct field_values_t *bv, struct field_values_t *iv, const struct fs_usage *fsu) { /* Inode values. */ iv->input_units = iv->output_units = 1; iv->total = fsu->fsu_files; iv->available = iv->available_to_root = fsu->fsu_ffree; iv->negate_available = false; iv->used = UINTMAX_MAX; iv->negate_used = false; if (known_value (iv->total) && known_value (iv->available_to_root)) { iv->used = iv->total - iv->available_to_root; iv->negate_used = (iv->total < iv->available_to_root); } /* Block values. */ bv->input_units = fsu->fsu_blocksize; bv->output_units = output_block_size; bv->total = fsu->fsu_blocks; bv->available = fsu->fsu_bavail; bv->available_to_root = fsu->fsu_bfree; bv->negate_available = (fsu->fsu_bavail_top_bit_set && known_value (fsu->fsu_bavail)); bv->used = UINTMAX_MAX; bv->negate_used = false; if (known_value (bv->total) && known_value (bv->available_to_root)) { bv->used = bv->total - bv->available_to_root; bv->negate_used = (bv->total < bv->available_to_root); } } /* Add block and inode values to grand total. */ static void add_to_grand_total (struct field_values_t *bv, struct field_values_t *iv) { if (known_value (iv->total)) grand_fsu.fsu_files += iv->total; if (known_value (iv->available)) grand_fsu.fsu_ffree += iv->available; if (known_value (bv->total)) grand_fsu.fsu_blocks += bv->input_units * bv->total; if (known_value (bv->available_to_root)) grand_fsu.fsu_bfree += bv->input_units * bv->available_to_root; if (known_value (bv->available)) add_uint_with_neg_flag (&grand_fsu.fsu_bavail, &grand_fsu.fsu_bavail_top_bit_set, bv->input_units * bv->available, bv->negate_available); } /* Obtain a space listing for the disk device with absolute file name DISK. If MOUNT_POINT is non-NULL, it is the name of the root of the file system on DISK. If STAT_FILE is non-null, it is the name of a file within the file system that the user originally asked for; this provides better diagnostics, and sometimes it provides better results on networked file systems that give different free-space results depending on where in the file system you probe. If FSTYPE is non-NULL, it is the type of the file system on DISK. If MOUNT_POINT is non-NULL, then DISK may be NULL -- certain systems may not be able to produce statistics in this case. ME_DUMMY and ME_REMOTE are the mount entry flags. Caller must set PROCESS_ALL to true when iterating over all entries, as when df is invoked with no non-option argument. See below for details. */ static void get_dev (char const *disk, char const *mount_point, char const *stat_file, char const *fstype, bool me_dummy, bool me_remote, const struct fs_usage *force_fsu, bool process_all) { if (me_remote && show_local_fs) return; if (me_dummy && !show_all_fs && !show_listed_fs) return; if (!selected_fstype (fstype) || excluded_fstype (fstype)) return; /* If MOUNT_POINT is NULL, then the file system is not mounted, and this program reports on the file system that the special file is on. It would be better to report on the unmounted file system, but statfs doesn't do that on most systems. */ if (!stat_file) stat_file = mount_point ? mount_point : disk; struct fs_usage fsu; if (force_fsu) fsu = *force_fsu; else if (get_fs_usage (stat_file, disk, &fsu)) { error (0, errno, "%s", quote (stat_file)); exit_status = EXIT_FAILURE; return; } if (fsu.fsu_blocks == 0 && !show_all_fs && !show_listed_fs) return; if (! force_fsu) file_systems_processed = true; alloc_table_row (); if (! disk) disk = "-"; /* unknown */ char *dev_name = xstrdup (disk); char *resolved_dev; /* On some systems, dev_name is a long-named symlink like /dev/disk/by-uuid/828fc648-9f30-43d8-a0b1-f7196a2edb66 pointing to a much shorter and more useful name like /dev/sda1. It may also look like /dev/mapper/luks-828fc648-9f30-43d8-a0b1-f7196a2edb66 and point to /dev/dm-0. When process_all is true and dev_name is a symlink whose name ends with a UUID use the resolved name instead. */ if (process_all && has_uuid_suffix (dev_name) && (resolved_dev = canonicalize_filename_mode (dev_name, CAN_EXISTING))) { free (dev_name); dev_name = resolved_dev; } if (! fstype) fstype = "-"; /* unknown */ struct field_values_t block_values; struct field_values_t inode_values; get_field_values (&block_values, &inode_values, &fsu); /* Add to grand total unless processing grand total line. */ if (print_grand_total && ! force_fsu) add_to_grand_total (&block_values, &inode_values); size_t col; for (col = 0; col < ncolumns; col++) { char buf[LONGEST_HUMAN_READABLE + 2]; char *cell; struct field_values_t *v; switch (columns[col]->field_type) { case BLOCK_FLD: v = &block_values; break; case INODE_FLD: v = &inode_values; break; case OTHER_FLD: v = NULL; break; default: assert (!"bad field_type"); } switch (columns[col]->field) { case SOURCE_FIELD: cell = xstrdup (dev_name); break; case FSTYPE_FIELD: cell = xstrdup (fstype); break; case SIZE_FIELD: case ITOTAL_FIELD: cell = xstrdup (df_readable (false, v->total, buf, v->input_units, v->output_units)); break; case USED_FIELD: case IUSED_FIELD: cell = xstrdup (df_readable (v->negate_used, v->used, buf, v->input_units, v->output_units)); break; case AVAIL_FIELD: case IAVAIL_FIELD: cell = xstrdup (df_readable (v->negate_available, v->available, buf, v->input_units, v->output_units)); break; case PCENT_FIELD: case IPCENT_FIELD: { double pct = -1; if (! known_value (v->used) || ! known_value (v->available)) ; else if (!v->negate_used && v->used <= TYPE_MAXIMUM (uintmax_t) / 100 && v->used + v->available != 0 && (v->used + v->available < v->used) == v->negate_available) { uintmax_t u100 = v->used * 100; uintmax_t nonroot_total = v->used + v->available; pct = u100 / nonroot_total + (u100 % nonroot_total != 0); } else { /* The calculation cannot be done easily with integer arithmetic. Fall back on floating point. This can suffer from minor rounding errors, but doing it exactly requires multiple precision arithmetic, and it's not worth the aggravation. */ double u = v->negate_used ? - (double) - v->used : v->used; double a = v->negate_available ? - (double) - v->available : v->available; double nonroot_total = u + a; if (nonroot_total) { long int lipct = pct = u * 100 / nonroot_total; double ipct = lipct; /* Like 'pct = ceil (dpct);', but avoid ceil so that the math library needn't be linked. */ if (ipct - 1 < pct && pct <= ipct + 1) pct = ipct + (ipct < pct); } } if (0 <= pct) { if (asprintf (&cell, "%.0f%%", pct) == -1) cell = NULL; } else cell = strdup ("-"); if (!cell) xalloc_die (); break; } case TARGET_FIELD: #ifdef HIDE_AUTOMOUNT_PREFIX /* Don't print the first directory name in MOUNT_POINT if it's an artifact of an automounter. This is a bit too aggressive to be the default. */ if (STRNCMP_LIT (mount_point, "/auto/") == 0) mount_point += 5; else if (STRNCMP_LIT (mount_point, "/tmp_mnt/") == 0) mount_point += 8; #endif cell = xstrdup (mount_point); break; default: assert (!"unhandled field"); } if (!cell) assert (!"empty cell"); hide_problematic_chars (cell); columns[col]->width = MAX (columns[col]->width, mbswidth (cell, 0)); table[nrows - 1][col] = cell; } free (dev_name); } /* If DISK corresponds to a mount point, show its usage and return true. Otherwise, return false. */ static bool get_disk (char const *disk) { struct mount_entry const *me; struct mount_entry const *best_match = NULL; for (me = mount_list; me; me = me->me_next) if (STREQ (disk, me->me_devname)) best_match = me; if (best_match) { get_dev (best_match->me_devname, best_match->me_mountdir, NULL, best_match->me_type, best_match->me_dummy, best_match->me_remote, NULL, false); return true; } return false; } /* Figure out which device file or directory POINT is mounted on and show its disk usage. STATP must be the result of 'stat (POINT, STATP)'. */ static void get_point (const char *point, const struct stat *statp) { struct stat disk_stats; struct mount_entry *me; struct mount_entry const *best_match = NULL; /* Calculate the real absolute file name for POINT, and use that to find the mount point. This avoids statting unavailable mount points, which can hang df. */ char *resolved = canonicalize_file_name (point); if (resolved && resolved[0] == '/') { size_t resolved_len = strlen (resolved); size_t best_match_len = 0; for (me = mount_list; me; me = me->me_next) if (!STREQ (me->me_type, "lofs") && (!best_match || best_match->me_dummy || !me->me_dummy)) { size_t len = strlen (me->me_mountdir); if (best_match_len <= len && len <= resolved_len && (len == 1 /* root file system */ || ((len == resolved_len || resolved[len] == '/') && STREQ_LEN (me->me_mountdir, resolved, len)))) { best_match = me; best_match_len = len; } } } free (resolved); if (best_match && (stat (best_match->me_mountdir, &disk_stats) != 0 || disk_stats.st_dev != statp->st_dev)) best_match = NULL; if (! best_match) for (me = mount_list; me; me = me->me_next) { if (me->me_dev == (dev_t) -1) { if (stat (me->me_mountdir, &disk_stats) == 0) me->me_dev = disk_stats.st_dev; else { /* Report only I/O errors. Other errors might be caused by shadowed mount points, which means POINT can't possibly be on this file system. */ if (errno == EIO) { error (0, errno, "%s", quote (me->me_mountdir)); exit_status = EXIT_FAILURE; } /* So we won't try and fail repeatedly. */ me->me_dev = (dev_t) -2; } } if (statp->st_dev == me->me_dev && !STREQ (me->me_type, "lofs") && (!best_match || best_match->me_dummy || !me->me_dummy)) { /* Skip bogus mtab entries. */ if (stat (me->me_mountdir, &disk_stats) != 0 || disk_stats.st_dev != me->me_dev) me->me_dev = (dev_t) -2; else best_match = me; } } if (best_match) get_dev (best_match->me_devname, best_match->me_mountdir, point, best_match->me_type, best_match->me_dummy, best_match->me_remote, NULL, false); else { /* We couldn't find the mount entry corresponding to POINT. Go ahead and print as much info as we can; methods that require the device to be present will fail at a later point. */ /* Find the actual mount point. */ char *mp = find_mount_point (point, statp); if (mp) { get_dev (NULL, mp, NULL, NULL, false, false, NULL, false); free (mp); } } } /* Determine what kind of node NAME is and show the disk usage for it. STATP is the results of 'stat' on NAME. */ static void get_entry (char const *name, struct stat const *statp) { if ((S_ISBLK (statp->st_mode) || S_ISCHR (statp->st_mode)) && get_disk (name)) return; get_point (name, statp); } /* Show all mounted file systems, except perhaps those that are of an unselected type or are empty. */ static void get_all_entries (void) { struct mount_entry *me; if (!show_all_fs) filter_mount_list (); for (me = mount_list; me; me = me->me_next) get_dev (me->me_devname, me->me_mountdir, NULL, me->me_type, me->me_dummy, me->me_remote, NULL, true); } /* Add FSTYPE to the list of file system types to display. */ static void add_fs_type (const char *fstype) { struct fs_type_list *fsp; fsp = xmalloc (sizeof *fsp); fsp->fs_name = (char *) fstype; fsp->fs_next = fs_select_list; fs_select_list = fsp; } /* Add FSTYPE to the list of file system types to be omitted. */ static void add_excluded_fs_type (const char *fstype) { struct fs_type_list *fsp; fsp = xmalloc (sizeof *fsp); fsp->fs_name = (char *) fstype; fsp->fs_next = fs_exclude_list; fs_exclude_list = fsp; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]...\n"), program_name); fputs (_("\ Show information about the file system on which each FILE resides,\n\ or all file systems by default.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a, --all include dummy file systems\n\ -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n\ '-BM' prints sizes in units of 1,048,576 bytes.\n\ See SIZE format below.\n\ --total produce a grand total\n\ -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)\ \n\ -H, --si likewise, but use powers of 1000 not 1024\n\ "), stdout); fputs (_("\ -i, --inodes list inode information instead of block usage\n\ -k like --block-size=1K\n\ -l, --local limit listing to local file systems\n\ --no-sync do not invoke sync before getting usage info (default)\ \n\ "), stdout); fputs (_("\ --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n\ or print all fields if FIELD_LIST is omitted.\n\ -P, --portability use the POSIX output format\n\ --sync invoke sync before getting usage info\n\ -t, --type=TYPE limit listing to file systems of type TYPE\n\ -T, --print-type print file system type\n\ -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n\ -v (ignored)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_blocksize_note ("DF"); emit_size_note (); fputs (_("\n\ FIELD_LIST is a comma-separated list of columns to be included. Valid\n\ field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n\ 'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { struct stat *stats IF_LINT ( = 0); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); fs_select_list = NULL; fs_exclude_list = NULL; show_all_fs = false; show_listed_fs = false; human_output_opts = -1; print_type = false; file_systems_processed = false; exit_status = EXIT_SUCCESS; print_grand_total = false; grand_fsu.fsu_blocksize = 1; /* If true, use the POSIX output format. */ bool posix_format = false; const char *msg_mut_excl = _("options %s and %s are mutually exclusive"); while (true) { int oi = -1; int c = getopt_long (argc, argv, "aB:iF:hHklmPTt:vx:", long_options, &oi); if (c == -1) break; switch (c) { case 'a': show_all_fs = true; break; case 'B': { enum strtol_error e = human_options (optarg, &human_output_opts, &output_block_size); if (e != LONGINT_OK) xstrtol_fatal (e, oi, c, long_options, optarg); } break; case 'i': if (header_mode == OUTPUT_MODE) { error (0, 0, msg_mut_excl, "-i", "--output"); usage (EXIT_FAILURE); } header_mode = INODES_MODE; break; case 'h': human_output_opts = human_autoscale | human_SI | human_base_1024; output_block_size = 1; break; case 'H': human_output_opts = human_autoscale | human_SI; output_block_size = 1; break; case 'k': human_output_opts = 0; output_block_size = 1024; break; case 'l': show_local_fs = true; break; case MEGABYTES_OPTION: /* Distinguish between the long and the short option. As we want to remove the long option soon, give a warning when the long form is used. */ error (0, 0, "%s%s", _("warning: "), _("long option '--megabytes' is deprecated" " and will soon be removed")); case 'm': /* obsolescent, exists for BSD compatibility */ human_output_opts = 0; output_block_size = 1024 * 1024; break; case 'T': if (header_mode == OUTPUT_MODE) { error (0, 0, msg_mut_excl, "-T", "--output"); usage (EXIT_FAILURE); } print_type = true; break; case 'P': if (header_mode == OUTPUT_MODE) { error (0, 0, msg_mut_excl, "-P", "--output"); usage (EXIT_FAILURE); } posix_format = true; break; case SYNC_OPTION: require_sync = true; break; case NO_SYNC_OPTION: require_sync = false; break; case 'F': /* Accept -F as a synonym for -t for compatibility with Solaris. */ case 't': add_fs_type (optarg); break; case 'v': /* For SysV compatibility. */ /* ignore */ break; case 'x': add_excluded_fs_type (optarg); break; case OUTPUT_OPTION: if (header_mode == INODES_MODE) { error (0, 0, msg_mut_excl, "-i", "--output"); usage (EXIT_FAILURE); } if (posix_format && header_mode == DEFAULT_MODE) { error (0, 0, msg_mut_excl, "-P", "--output"); usage (EXIT_FAILURE); } if (print_type) { error (0, 0, msg_mut_excl, "-T", "--output"); usage (EXIT_FAILURE); } header_mode = OUTPUT_MODE; if (optarg) decode_output_arg (optarg); break; case TOTAL_OPTION: print_grand_total = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (human_output_opts == -1) { if (posix_format) { human_output_opts = 0; output_block_size = (getenv ("POSIXLY_CORRECT") ? 512 : 1024); } else human_options (getenv ("DF_BLOCK_SIZE"), &human_output_opts, &output_block_size); } if (header_mode == INODES_MODE || header_mode == OUTPUT_MODE) ; else if (human_output_opts & human_autoscale) header_mode = HUMAN_MODE; else if (posix_format) header_mode = POSIX_MODE; /* Fail if the same file system type was both selected and excluded. */ { bool match = false; struct fs_type_list *fs_incl; for (fs_incl = fs_select_list; fs_incl; fs_incl = fs_incl->fs_next) { struct fs_type_list *fs_excl; for (fs_excl = fs_exclude_list; fs_excl; fs_excl = fs_excl->fs_next) { if (STREQ (fs_incl->fs_name, fs_excl->fs_name)) { error (0, 0, _("file system type %s both selected and excluded"), quote (fs_incl->fs_name)); match = true; break; } } } if (match) exit (EXIT_FAILURE); } if (optind < argc) { int i; /* Open each of the given entries to make sure any corresponding partition is automounted. This must be done before reading the file system table. */ stats = xnmalloc (argc - optind, sizeof *stats); for (i = optind; i < argc; ++i) { /* Prefer to open with O_NOCTTY and use fstat, but fall back on using "stat", in case the file is unreadable. */ int fd = open (argv[i], O_RDONLY | O_NOCTTY); if ((fd < 0 || fstat (fd, &stats[i - optind])) && stat (argv[i], &stats[i - optind])) { error (0, errno, "%s", quote (argv[i])); exit_status = EXIT_FAILURE; argv[i] = NULL; } if (0 <= fd) close (fd); } } mount_list = read_file_system_list ((fs_select_list != NULL || fs_exclude_list != NULL || print_type || field_data[FSTYPE_FIELD].used || show_local_fs)); if (mount_list == NULL) { /* Couldn't read the table of mounted file systems. Fail if df was invoked with no file name arguments, or when either of -a, -l, -t or -x is used with file name arguments. Otherwise, merely give a warning and proceed. */ int status = 0; if ( ! (optind < argc) || (show_all_fs || show_local_fs || fs_select_list != NULL || fs_exclude_list != NULL)) { status = EXIT_FAILURE; } const char *warning = (status == 0 ? _("Warning: ") : ""); error (status, errno, "%s%s", warning, _("cannot read table of mounted file systems")); } if (require_sync) sync (); get_field_list (); get_header (); if (optind < argc) { int i; /* Display explicitly requested empty file systems. */ show_listed_fs = true; for (i = optind; i < argc; ++i) if (argv[i]) get_entry (argv[i], &stats[i - optind]); } else get_all_entries (); if (file_systems_processed) { if (print_grand_total) get_dev ("total", (field_data[SOURCE_FIELD].used ? "-" : "total"), NULL, NULL, false, false, &grand_fsu, false); print_table (); } else { /* Print the "no FS processed" diagnostic only if there was no preceding diagnostic, e.g., if all have been excluded. */ if (exit_status == EXIT_SUCCESS) error (EXIT_FAILURE, 0, _("no file systems processed")); } IF_LINT (free (columns)); exit (exit_status); } coreutils-8.21/src/hostname.c0000664000000000000000000000604312102337340013115 00000000000000/* hostname - set or print the name of current host system Copyright (C) 1994-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include #include #include #include "system.h" #include "long-options.h" #include "error.h" #include "quote.h" #include "xgethostname.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "hostname" #define AUTHORS proper_name ("Jim Meyering") #if !defined HAVE_SETHOSTNAME && defined HAVE_SYSINFO && \ defined HAVE_SYS_SYSTEMINFO_H # include static int sethostname (char *name, size_t namelen) { /* Using sysinfo() is the SVR4 mechanism to set a hostname. */ return (sysinfo (SI_SET_HOSTNAME, name, namelen) < 0 ? -1 : 0); } # define HAVE_SETHOSTNAME 1 /* Now we have it... */ #endif void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [NAME]\n\ or: %s OPTION\n\ Print or set the hostname of the current system.\n\ \n\ "), program_name, program_name); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { char *hostname; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc == optind + 1) { #ifdef HAVE_SETHOSTNAME /* Set hostname to operand. */ char const *name = argv[optind]; if (sethostname (name, strlen (name)) != 0) error (EXIT_FAILURE, errno, _("cannot set name to %s"), quote (name)); #else error (EXIT_FAILURE, 0, _("cannot set hostname; this system lacks the functionality")); #endif } if (argc <= optind) { hostname = xgethostname (); if (hostname == NULL) error (EXIT_FAILURE, errno, _("cannot determine hostname")); printf ("%s\n", hostname); } if (optind + 1 < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } exit (EXIT_SUCCESS); } coreutils-8.21/src/nice.c0000664000000000000000000001362312102337340012217 00000000000000/* nice -- run a program with modified niceness Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* David MacKenzie */ #include #include #include #include #include "system.h" #if ! HAVE_NICE /* Include this after "system.h" so we're sure to have definitions (from time.h or sys/time.h) required for e.g. the ru_utime member. */ # include #endif #include "error.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "nice" #define AUTHORS proper_name ("David MacKenzie") #if HAVE_NICE # define GET_NICENESS() nice (0) #else # define GET_NICENESS() getpriority (PRIO_PROCESS, 0) #endif #ifndef NZERO # define NZERO 20 #endif /* This is required for Darwin Kernel Version 7.7.0. */ #if NZERO == 0 # undef NZERO # define NZERO 20 #endif static struct option const longopts[] = { {"adjustment", required_argument, NULL, 'n'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION] [COMMAND [ARG]...]\n"), program_name); printf (_("\ Run COMMAND with an adjusted niceness, which affects process scheduling.\n\ With no COMMAND, print the current niceness. Niceness values range from\n\ %d (most favorable to the process) to %d (least favorable to the process).\n\ "), - NZERO, NZERO - 1); emit_mandatory_arg_note (); fputs (_("\ -n, --adjustment=N add integer N to the niceness (default 10)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } static bool perm_related_errno (int err) { return err == EACCES || err == EPERM; } int main (int argc, char **argv) { int current_niceness; int adjustment = 10; char const *adjustment_given = NULL; bool ok; int i; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_CANCELED); atexit (close_stdout); for (i = 1; i < argc; /* empty */) { char const *s = argv[i]; if (s[0] == '-' && ISDIGIT (s[1 + (s[1] == '-' || s[1] == '+')])) { adjustment_given = s + 1; ++i; } else { int c; int fake_argc = argc - (i - 1); char **fake_argv = argv + (i - 1); /* Ensure that any getopt diagnostics use the right name. */ fake_argv[0] = argv[0]; /* Initialize getopt_long's internal state. */ optind = 0; c = getopt_long (fake_argc, fake_argv, "+n:", longopts, NULL); i += optind - 1; switch (c) { case 'n': adjustment_given = optarg; break; case -1: break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_CANCELED); break; } if (c == -1) break; } } if (adjustment_given) { /* If the requested adjustment is outside the valid range, silently bring it to just within range; this mimics what "setpriority" and "nice" do. */ enum { MIN_ADJUSTMENT = 1 - 2 * NZERO, MAX_ADJUSTMENT = 2 * NZERO - 1 }; long int tmp; if (LONGINT_OVERFLOW < xstrtol (adjustment_given, NULL, 10, &tmp, "")) error (EXIT_CANCELED, 0, _("invalid adjustment %s"), quote (adjustment_given)); adjustment = MAX (MIN_ADJUSTMENT, MIN (tmp, MAX_ADJUSTMENT)); } if (i == argc) { if (adjustment_given) { error (0, 0, _("a command must be given with an adjustment")); usage (EXIT_CANCELED); } /* No command given; print the niceness. */ errno = 0; current_niceness = GET_NICENESS (); if (current_niceness == -1 && errno != 0) error (EXIT_CANCELED, errno, _("cannot get niceness")); printf ("%d\n", current_niceness); exit (EXIT_SUCCESS); } errno = 0; #if HAVE_NICE ok = (nice (adjustment) != -1 || errno == 0); #else current_niceness = GET_NICENESS (); if (current_niceness == -1 && errno != 0) error (EXIT_CANCELED, errno, _("cannot get niceness")); ok = (setpriority (PRIO_PROCESS, 0, current_niceness + adjustment) == 0); #endif if (!ok) { error (perm_related_errno (errno) ? 0 : EXIT_CANCELED, errno, _("cannot set niceness")); /* error() flushes stderr, but does not check for write failure. Normally, we would catch this via our atexit() hook of close_stdout, but execvp() gets in the way. If stderr encountered a write failure, there is no need to try calling error() again. */ if (ferror (stderr)) exit (EXIT_CANCELED); } execvp (argv[i], &argv[i]); { int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, "%s", argv[i]); exit (exit_status); } } coreutils-8.21/src/stdbuf.c0000664000000000000000000002327512102337340012574 00000000000000/* stdbuf -- setup the standard streams for a command Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "filenamecat.h" #include "quote.h" #include "xreadlink.h" #include "xstrtol.h" #include "c-ctype.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "stdbuf" #define LIB_NAME "libstdbuf.so" /* FIXME: don't hardcode */ #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady") static char *program_path; static struct { size_t size; int optc; char *optarg; } stdbuf[3]; static struct option const longopts[] = { {"input", required_argument, NULL, 'i'}, {"output", required_argument, NULL, 'o'}, {"error", required_argument, NULL, 'e'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Set size to the value of STR, interpreted as a decimal integer, optionally multiplied by various values. Return -1 on error, 0 on success. This supports dd BLOCK size suffixes. Note we don't support dd's b=512, c=1, w=2 or 21x512MiB formats. */ static int parse_size (char const *str, size_t *size) { uintmax_t tmp_size; enum strtol_error e = xstrtoumax (str, NULL, 10, &tmp_size, "EGkKMPTYZ0"); if (e == LONGINT_OK && tmp_size > SIZE_MAX) e = LONGINT_OVERFLOW; if (e == LONGINT_OK) { errno = 0; *size = tmp_size; return 0; } errno = (e == LONGINT_OVERFLOW ? EOVERFLOW : 0); return -1; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s OPTION... COMMAND\n"), program_name); fputs (_("\ Run COMMAND, with modified buffering operations for its standard streams.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -i, --input=MODE adjust standard input stream buffering\n\ -o, --output=MODE adjust standard output stream buffering\n\ -e, --error=MODE adjust standard error stream buffering\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\n\ If MODE is 'L' the corresponding stream will be line buffered.\n\ This option is invalid with standard input.\n"), stdout); fputs (_("\n\ If MODE is '0' the corresponding stream will be unbuffered.\n\ "), stdout); fputs (_("\n\ Otherwise MODE is a number which may be followed by one of the following:\n\ KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n\ In this case the corresponding stream will be fully buffered with the buffer\n\ size set to MODE bytes.\n\ "), stdout); fputs (_("\n\ NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n\ for e.g.) then that will override corresponding settings changed by 'stdbuf'.\n\ Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n\ and are thus unaffected by 'stdbuf' settings.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* argv[0] can be anything really, but generally it contains the path to the executable or just a name if it was executed using $PATH. In the latter case to get the path we can: search getenv("PATH"), readlink("/prof/self/exe"), getenv("_"), dladdr(), pstat_getpathname(), etc. */ static void set_program_path (const char *arg) { if (strchr (arg, '/')) /* Use absolute or relative paths directly. */ { program_path = dir_name (arg); } else { char *path = xreadlink ("/proc/self/exe"); if (path) program_path = dir_name (path); else if ((path = getenv ("PATH"))) { char *dir; path = xstrdup (path); for (dir = strtok (path, ":"); dir != NULL; dir = strtok (NULL, ":")) { char *candidate = file_name_concat (dir, arg, NULL); if (access (candidate, X_OK) == 0) { program_path = dir_name (candidate); free (candidate); break; } free (candidate); } } free (path); } } static int optc_to_fileno (int c) { int ret = -1; switch (c) { case 'e': ret = STDERR_FILENO; break; case 'i': ret = STDIN_FILENO; break; case 'o': ret = STDOUT_FILENO; break; } return ret; } static void set_LD_PRELOAD (void) { int ret; char *old_libs = getenv ("LD_PRELOAD"); char *LD_PRELOAD; /* Note this would auto add the appropriate search path for "libstdbuf.so": gcc stdbuf.c -Wl,-rpath,'$ORIGIN' -Wl,-rpath,$PKGLIBEXECDIR However we want the lookup done for the exec'd command not stdbuf. Since we don't link against libstdbuf.so add it to PKGLIBEXECDIR rather than to LIBDIR. */ char const *const search_path[] = { program_path, PKGLIBEXECDIR, NULL }; char const *const *path = search_path; char *libstdbuf; while (true) { struct stat sb; if (!**path) /* system default */ { libstdbuf = xstrdup (LIB_NAME); break; } ret = asprintf (&libstdbuf, "%s/%s", *path, LIB_NAME); if (ret < 0) xalloc_die (); if (stat (libstdbuf, &sb) == 0) /* file_exists */ break; free (libstdbuf); ++path; if ( ! *path) error (EXIT_CANCELED, 0, _("failed to find %s"), quote (LIB_NAME)); } /* FIXME: Do we need to support libstdbuf.dll, c:, '\' separators etc? */ if (old_libs) ret = asprintf (&LD_PRELOAD, "LD_PRELOAD=%s:%s", old_libs, libstdbuf); else ret = asprintf (&LD_PRELOAD, "LD_PRELOAD=%s", libstdbuf); if (ret < 0) xalloc_die (); free (libstdbuf); ret = putenv (LD_PRELOAD); if (ret != 0) { error (EXIT_CANCELED, errno, _("failed to update the environment with %s"), quote (LD_PRELOAD)); } } /* Populate environ with _STDBUF_I=$MODE _STDBUF_O=$MODE _STDBUF_E=$MODE */ static void set_libstdbuf_options (void) { unsigned int i; for (i = 0; i < ARRAY_CARDINALITY (stdbuf); i++) { if (stdbuf[i].optarg) { char *var; int ret; if (*stdbuf[i].optarg == 'L') ret = asprintf (&var, "%s%c=L", "_STDBUF_", toupper (stdbuf[i].optc)); else ret = asprintf (&var, "%s%c=%" PRIuMAX, "_STDBUF_", toupper (stdbuf[i].optc), (uintmax_t) stdbuf[i].size); if (ret < 0) xalloc_die (); if (putenv (var) != 0) { error (EXIT_CANCELED, errno, _("failed to update the environment with %s"), quote (var)); } } } } int main (int argc, char **argv) { int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_CANCELED); atexit (close_stdout); while ((c = getopt_long (argc, argv, "+i:o:e:", longopts, NULL)) != -1) { int opt_fileno; switch (c) { /* Old McDonald had a farm ei... */ case 'e': case 'i': case 'o': opt_fileno = optc_to_fileno (c); assert (0 <= opt_fileno && opt_fileno < ARRAY_CARDINALITY (stdbuf)); stdbuf[opt_fileno].optc = c; while (c_isspace (*optarg)) optarg++; stdbuf[opt_fileno].optarg = optarg; if (c == 'i' && *optarg == 'L') { /* -oL will be by far the most common use of this utility, but one could easily think -iL might have the same affect, so disallow it as it could be confusing. */ error (0, 0, _("line buffering stdin is meaningless")); usage (EXIT_CANCELED); } if (!STREQ (optarg, "L") && parse_size (optarg, &stdbuf[opt_fileno].size) == -1) error (EXIT_CANCELED, errno, _("invalid mode %s"), quote (optarg)); break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_CANCELED); } } argv += optind; argc -= optind; /* must specify at least 1 command. */ if (argc < 1) { error (0, 0, _("missing operand")); usage (EXIT_CANCELED); } /* FIXME: Should we mandate at least one option? */ set_libstdbuf_options (); /* Try to preload libstdbuf first from the same path as stdbuf is running from. */ set_program_path (program_name); if (!program_path) program_path = xstrdup (PKGLIBDIR); /* Need to init to non NULL. */ set_LD_PRELOAD (); free (program_path); execvp (*argv, argv); { int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, _("failed to run command %s"), quote (argv[0])); exit (exit_status); } } coreutils-8.21/src/sort.c0000664000000000000000000042553112102337340012275 00000000000000/* sort - sort lines of text (with all kinds of options). Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written December 1988 by Mike Haertel. The author may be reached (Email) at the address mike@gnu.ai.mit.edu, or (US mail) as Mike Haertel c/o Free Software Foundation. Ørn E. Hansen added NLS support in 1997. */ #include #include #include #include #include #include #include #include #include "system.h" #include "argmatch.h" #include "error.h" #include "fadvise.h" #include "filevercmp.h" #include "hard-locale.h" #include "hash.h" #include "heap.h" #include "ignore-value.h" #include "md5.h" #include "mbswidth.h" #include "nproc.h" #include "physmem.h" #include "posixver.h" #include "quote.h" #include "quotearg.h" #include "randread.h" #include "readtokens0.h" #include "stdio--.h" #include "stdlib--.h" #include "strnumcmp.h" #include "xmemcoll.h" #include "xnanosleep.h" #include "xstrtol.h" #ifndef RLIMIT_DATA struct rlimit { size_t rlim_cur; }; # define getrlimit(Resource, Rlp) (-1) #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "sort" #define AUTHORS \ proper_name ("Mike Haertel"), \ proper_name ("Paul Eggert") #if HAVE_LANGINFO_CODESET # include #endif /* Use SA_NOCLDSTOP as a proxy for whether the sigaction machinery is present. */ #ifndef SA_NOCLDSTOP # define SA_NOCLDSTOP 0 /* No sigprocmask. Always 'return' zero. */ # define sigprocmask(How, Set, Oset) (0) # define sigset_t int # if ! HAVE_SIGINTERRUPT # define siginterrupt(sig, flag) /* empty */ # endif #endif #if !defined OPEN_MAX && defined NR_OPEN # define OPEN_MAX NR_OPEN #endif #if !defined OPEN_MAX # define OPEN_MAX 20 #endif #define UCHAR_LIM (UCHAR_MAX + 1) #if HAVE_C99_STRTOLD # define long_double long double #else # define long_double double # undef strtold # define strtold strtod #endif #ifndef DEFAULT_TMPDIR # define DEFAULT_TMPDIR "/tmp" #endif /* Maximum number of lines to merge every time a NODE is taken from the merge queue. Node is at LEVEL in the binary merge tree, and is responsible for merging TOTAL lines. */ #define MAX_MERGE(total, level) (((total) >> (2 * ((level) + 1))) + 1) /* Heuristic value for the number of lines for which it is worth creating a subthread, during an internal merge sort. I.e., it is a small number of "average" lines for which sorting via two threads is faster than sorting via one on an "average" system. On a dual-core 2.0 GHz i686 system with 3GB of RAM and 2MB of L2 cache, a file containing 128K lines of gensort -a output is sorted slightly faster with --parallel=2 than with --parallel=1. By contrast, using --parallel=1 is about 10% faster than using --parallel=2 with a 64K-line input. */ enum { SUBTHREAD_LINES_HEURISTIC = 128 * 1024 }; verify (4 <= SUBTHREAD_LINES_HEURISTIC); /* The number of threads after which there are diminishing performance gains. */ enum { DEFAULT_MAX_THREADS = 8 }; /* Exit statuses. */ enum { /* POSIX says to exit with status 1 if invoked with -c and the input is not properly sorted. */ SORT_OUT_OF_ORDER = 1, /* POSIX says any other irregular exit must exit with a status code greater than 1. */ SORT_FAILURE = 2 }; enum { /* The number of times we should try to fork a compression process (we retry if the fork call fails). We don't _need_ to compress temp files, this is just to reduce disk access, so this number can be small. Each retry doubles in duration. */ MAX_FORK_TRIES_COMPRESS = 4, /* The number of times we should try to fork a decompression process. If we can't fork a decompression process, we can't sort, so this number should be big. Each retry doubles in duration. */ MAX_FORK_TRIES_DECOMPRESS = 9 }; enum { /* Level of the end-of-merge node, one level above the root. */ MERGE_END = 0, /* Level of the root node in merge tree. */ MERGE_ROOT = 1 }; /* The representation of the decimal point in the current locale. */ static int decimal_point; /* Thousands separator; if -1, then there isn't one. */ static int thousands_sep; /* Nonzero if the corresponding locales are hard. */ static bool hard_LC_COLLATE; #if HAVE_NL_LANGINFO static bool hard_LC_TIME; #endif #define NONZERO(x) ((x) != 0) /* The kind of blanks for '-b' to skip in various options. */ enum blanktype { bl_start, bl_end, bl_both }; /* The character marking end of line. Default to \n. */ static char eolchar = '\n'; /* Lines are held in core as counted strings. */ struct line { char *text; /* Text of the line. */ size_t length; /* Length including final newline. */ char *keybeg; /* Start of first key. */ char *keylim; /* Limit of first key. */ }; /* Input buffers. */ struct buffer { char *buf; /* Dynamically allocated buffer, partitioned into 3 regions: - input data; - unused area; - an array of lines, in reverse order. */ size_t used; /* Number of bytes used for input data. */ size_t nlines; /* Number of lines in the line array. */ size_t alloc; /* Number of bytes allocated. */ size_t left; /* Number of bytes left from previous reads. */ size_t line_bytes; /* Number of bytes to reserve for each line. */ bool eof; /* An EOF has been read. */ }; /* Sort key. */ struct keyfield { size_t sword; /* Zero-origin 'word' to start at. */ size_t schar; /* Additional characters to skip. */ size_t eword; /* Zero-origin last 'word' of key. */ size_t echar; /* Additional characters in field. */ bool const *ignore; /* Boolean array of characters to ignore. */ char const *translate; /* Translation applied to characters. */ bool skipsblanks; /* Skip leading blanks when finding start. */ bool skipeblanks; /* Skip leading blanks when finding end. */ bool numeric; /* Flag for numeric comparison. Handle strings of digits with optional decimal point, but no exponential notation. */ bool random; /* Sort by random hash of key. */ bool general_numeric; /* Flag for general, numeric comparison. Handle numbers in exponential notation. */ bool human_numeric; /* Flag for sorting by human readable units with either SI xor IEC prefixes. */ bool month; /* Flag for comparison by month name. */ bool reverse; /* Reverse the sense of comparison. */ bool version; /* sort by version number */ bool obsolete_used; /* obsolescent key option format is used. */ struct keyfield *next; /* Next keyfield to try. */ }; struct month { char const *name; int val; }; /* Binary merge tree node. */ struct merge_node { struct line *lo; /* Lines to merge from LO child node. */ struct line *hi; /* Lines to merge from HI child ndoe. */ struct line *end_lo; /* End of available lines from LO. */ struct line *end_hi; /* End of available lines from HI. */ struct line **dest; /* Pointer to destination of merge. */ size_t nlo; /* Total Lines remaining from LO. */ size_t nhi; /* Total lines remaining from HI. */ struct merge_node *parent; /* Parent node. */ struct merge_node *lo_child; /* LO child node. */ struct merge_node *hi_child; /* HI child node. */ unsigned int level; /* Level in merge tree. */ bool queued; /* Node is already in heap. */ pthread_mutex_t lock; /* Lock for node operations. */ }; /* Priority queue of merge nodes. */ struct merge_node_queue { struct heap *priority_queue; /* Priority queue of merge tree nodes. */ pthread_mutex_t mutex; /* Lock for queue operations. */ pthread_cond_t cond; /* Conditional wait for empty queue to populate when popping. */ }; /* Used to implement --unique (-u). */ static struct line saved_line; /* FIXME: None of these tables work with multibyte character sets. Also, there are many other bugs when handling multibyte characters. One way to fix this is to rewrite 'sort' to use wide characters internally, but doing this with good performance is a bit tricky. */ /* Table of blanks. */ static bool blanks[UCHAR_LIM]; /* Table of non-printing characters. */ static bool nonprinting[UCHAR_LIM]; /* Table of non-dictionary characters (not letters, digits, or blanks). */ static bool nondictionary[UCHAR_LIM]; /* Translation table folding lower case to upper. */ static char fold_toupper[UCHAR_LIM]; #define MONTHS_PER_YEAR 12 /* Table mapping month names to integers. Alphabetic order allows binary search. */ static struct month monthtab[] = { {"APR", 4}, {"AUG", 8}, {"DEC", 12}, {"FEB", 2}, {"JAN", 1}, {"JUL", 7}, {"JUN", 6}, {"MAR", 3}, {"MAY", 5}, {"NOV", 11}, {"OCT", 10}, {"SEP", 9} }; /* During the merge phase, the number of files to merge at once. */ #define NMERGE_DEFAULT 16 /* Minimum size for a merge or check buffer. */ #define MIN_MERGE_BUFFER_SIZE (2 + sizeof (struct line)) /* Minimum sort size; the code might not work with smaller sizes. */ #define MIN_SORT_SIZE (nmerge * MIN_MERGE_BUFFER_SIZE) /* The number of bytes needed for a merge or check buffer, which can function relatively efficiently even if it holds only one line. If a longer line is seen, this value is increased. */ static size_t merge_buffer_size = MAX (MIN_MERGE_BUFFER_SIZE, 256 * 1024); /* The approximate maximum number of bytes of main memory to use, as specified by the user. Zero if the user has not specified a size. */ static size_t sort_size; /* The initial allocation factor for non-regular files. This is used, e.g., when reading from a pipe. Don't make it too big, since it is multiplied by ~130 to obtain the size of the actual buffer sort will allocate. Also, there may be 8 threads all doing this at the same time. */ #define INPUT_FILE_SIZE_GUESS (128 * 1024) /* Array of directory names in which any temporary files are to be created. */ static char const **temp_dirs; /* Number of temporary directory names used. */ static size_t temp_dir_count; /* Number of allocated slots in temp_dirs. */ static size_t temp_dir_alloc; /* Flag to reverse the order of all comparisons. */ static bool reverse; /* Flag for stable sort. This turns off the last ditch bytewise comparison of lines, and instead leaves lines in the same order they were read if all keys compare equal. */ static bool stable; /* If TAB has this value, blanks separate fields. */ enum { TAB_DEFAULT = CHAR_MAX + 1 }; /* Tab character separating fields. If TAB_DEFAULT, then fields are separated by the empty string between a non-blank character and a blank character. */ static int tab = TAB_DEFAULT; /* Flag to remove consecutive duplicate lines from the output. Only the last of a sequence of equal lines will be output. */ static bool unique; /* Nonzero if any of the input files are the standard input. */ static bool have_read_stdin; /* List of key field comparisons to be tried. */ static struct keyfield *keylist; /* Program used to (de)compress temp files. Must accept -d. */ static char const *compress_program; /* Annotate the output with extra info to aid the user. */ static bool debug; /* Maximum number of files to merge in one go. If more than this number are present, temp files will be used. */ static unsigned int nmerge = NMERGE_DEFAULT; /* Report MESSAGE for FILE, then clean up and exit. If FILE is null, it represents standard output. */ static void die (char const *, char const *) ATTRIBUTE_NORETURN; static void die (char const *message, char const *file) { error (0, errno, "%s: %s", message, file ? file : _("standard output")); exit (SORT_FAILURE); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ or: %s [OPTION]... --files0-from=F\n\ "), program_name, program_name); fputs (_("\ Write sorted concatenation of all FILE(s) to standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ Ordering options:\n\ \n\ "), stdout); fputs (_("\ -b, --ignore-leading-blanks ignore leading blanks\n\ -d, --dictionary-order consider only blanks and alphanumeric characters\ \n\ -f, --ignore-case fold lower case to upper case characters\n\ "), stdout); fputs (_("\ -g, --general-numeric-sort compare according to general numerical value\n\ -i, --ignore-nonprinting consider only printable characters\n\ -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n\ "), stdout); fputs (_("\ -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n\ "), stdout); fputs (_("\ -n, --numeric-sort compare according to string numerical value\n\ -R, --random-sort sort by random hash of keys\n\ --random-source=FILE get random bytes from FILE\n\ -r, --reverse reverse the result of comparisons\n\ "), stdout); fputs (_("\ --sort=WORD sort according to WORD:\n\ general-numeric -g, human-numeric -h, month -M,\ \n\ numeric -n, random -R, version -V\n\ -V, --version-sort natural sort of (version) numbers within text\n\ \n\ "), stdout); fputs (_("\ Other options:\n\ \n\ "), stdout); fputs (_("\ --batch-size=NMERGE merge at most NMERGE inputs at once;\n\ for more use temp files\n\ "), stdout); fputs (_("\ -c, --check, --check=diagnose-first check for sorted input; do not sort\n\ -C, --check=quiet, --check=silent like -c, but do not report first bad line\ \n\ --compress-program=PROG compress temporaries with PROG;\n\ decompress them with PROG -d\n\ "), stdout); fputs (_("\ --debug annotate the part of the line used to sort,\n\ and warn about questionable usage to stderr\n\ --files0-from=F read input from the files specified by\n\ NUL-terminated names in file F;\n\ If F is - then read names from standard input\n\ "), stdout); fputs (_("\ -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n\ -m, --merge merge already sorted files; do not sort\n\ "), stdout); fputs (_("\ -o, --output=FILE write result to FILE instead of standard output\n\ -s, --stable stabilize sort by disabling last-resort comparison\ \n\ -S, --buffer-size=SIZE use SIZE for main memory buffer\n\ "), stdout); printf (_("\ -t, --field-separator=SEP use SEP instead of non-blank to blank transition\n\ -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s;\n\ multiple options specify multiple directories\n\ --parallel=N change the number of sorts run concurrently to N\n\ -u, --unique with -c, check for strict ordering;\n\ without -c, output only the first of an equal run\ \n\ "), DEFAULT_TMPDIR); fputs (_("\ -z, --zero-terminated end lines with 0 byte, not newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a\n\ field number and C a character position in the field; both are origin 1, and\n\ the stop position defaults to the line's end. If neither -t nor -b is in\n\ effect, characters in a field are counted from the beginning of the preceding\n\ whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV],\ \n\ which override global ordering options for that key. If no key is given, use\n\ the entire line as the key.\n\ \n\ SIZE may be followed by the following multiplicative suffixes:\n\ "), stdout); fputs (_("\ % 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n\ \n\ With no FILE, or when FILE is -, read standard input.\n\ \n\ *** WARNING ***\n\ The locale specified by the environment affects sort order.\n\ Set LC_ALL=C to get the traditional sort order that uses\n\ native byte values.\n\ "), stdout ); emit_ancillary_info (); } exit (status); } /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { CHECK_OPTION = CHAR_MAX + 1, COMPRESS_PROGRAM_OPTION, DEBUG_PROGRAM_OPTION, FILES0_FROM_OPTION, NMERGE_OPTION, RANDOM_SOURCE_OPTION, SORT_OPTION, PARALLEL_OPTION }; static char const short_options[] = "-bcCdfghik:mMno:rRsS:t:T:uVy:z"; static struct option const long_options[] = { {"ignore-leading-blanks", no_argument, NULL, 'b'}, {"check", optional_argument, NULL, CHECK_OPTION}, {"compress-program", required_argument, NULL, COMPRESS_PROGRAM_OPTION}, {"debug", no_argument, NULL, DEBUG_PROGRAM_OPTION}, {"dictionary-order", no_argument, NULL, 'd'}, {"ignore-case", no_argument, NULL, 'f'}, {"files0-from", required_argument, NULL, FILES0_FROM_OPTION}, {"general-numeric-sort", no_argument, NULL, 'g'}, {"ignore-nonprinting", no_argument, NULL, 'i'}, {"key", required_argument, NULL, 'k'}, {"merge", no_argument, NULL, 'm'}, {"month-sort", no_argument, NULL, 'M'}, {"numeric-sort", no_argument, NULL, 'n'}, {"human-numeric-sort", no_argument, NULL, 'h'}, {"version-sort", no_argument, NULL, 'V'}, {"random-sort", no_argument, NULL, 'R'}, {"random-source", required_argument, NULL, RANDOM_SOURCE_OPTION}, {"sort", required_argument, NULL, SORT_OPTION}, {"output", required_argument, NULL, 'o'}, {"reverse", no_argument, NULL, 'r'}, {"stable", no_argument, NULL, 's'}, {"batch-size", required_argument, NULL, NMERGE_OPTION}, {"buffer-size", required_argument, NULL, 'S'}, {"field-separator", required_argument, NULL, 't'}, {"temporary-directory", required_argument, NULL, 'T'}, {"unique", no_argument, NULL, 'u'}, {"zero-terminated", no_argument, NULL, 'z'}, {"parallel", required_argument, NULL, PARALLEL_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0}, }; #define CHECK_TABLE \ _ct_("quiet", 'C') \ _ct_("silent", 'C') \ _ct_("diagnose-first", 'c') static char const *const check_args[] = { #define _ct_(_s, _c) _s, CHECK_TABLE NULL #undef _ct_ }; static char const check_types[] = { #define _ct_(_s, _c) _c, CHECK_TABLE #undef _ct_ }; #define SORT_TABLE \ _st_("general-numeric", 'g') \ _st_("human-numeric", 'h') \ _st_("month", 'M') \ _st_("numeric", 'n') \ _st_("random", 'R') \ _st_("version", 'V') static char const *const sort_args[] = { #define _st_(_s, _c) _s, SORT_TABLE NULL #undef _st_ }; static char const sort_types[] = { #define _st_(_s, _c) _c, SORT_TABLE #undef _st_ }; /* The set of signals that are caught. */ static sigset_t caught_signals; /* Critical section status. */ struct cs_status { bool valid; sigset_t sigs; }; /* Enter a critical section. */ static struct cs_status cs_enter (void) { struct cs_status status; status.valid = (sigprocmask (SIG_BLOCK, &caught_signals, &status.sigs) == 0); return status; } /* Leave a critical section. */ static void cs_leave (struct cs_status status) { if (status.valid) { /* Ignore failure when restoring the signal mask. */ sigprocmask (SIG_SETMASK, &status.sigs, NULL); } } /* Possible states for a temp file. If compressed, the file's status is unreaped or reaped, depending on whether 'sort' has waited for the subprocess to finish. */ enum { UNCOMPRESSED, UNREAPED, REAPED }; /* The list of temporary files. */ struct tempnode { struct tempnode *volatile next; pid_t pid; /* The subprocess PID; undefined if state == UNCOMPRESSED. */ char state; char name[1]; /* Actual size is 1 + file name length. */ }; static struct tempnode *volatile temphead; static struct tempnode *volatile *temptail = &temphead; /* A file to be sorted. */ struct sortfile { /* The file's name. */ char const *name; /* Nonnull if this is a temporary file, in which case NAME == TEMP->name. */ struct tempnode *temp; }; /* Map PIDs of unreaped subprocesses to their struct tempnode objects. */ static Hash_table *proctab; enum { INIT_PROCTAB_SIZE = 47 }; static size_t proctab_hasher (void const *entry, size_t tabsize) { struct tempnode const *node = entry; return node->pid % tabsize; } static bool proctab_comparator (void const *e1, void const *e2) { struct tempnode const *n1 = e1; struct tempnode const *n2 = e2; return n1->pid == n2->pid; } /* The number of unreaped child processes. */ static pid_t nprocs; static bool delete_proc (pid_t); /* If PID is positive, wait for the child process with that PID to exit, and assume that PID has already been removed from the process table. If PID is 0 or -1, clean up some child that has exited (by waiting for it, and removing it from the proc table) and return the child's process ID. However, if PID is 0 and no children have exited, return 0 without waiting. */ static pid_t reap (pid_t pid) { int status; pid_t cpid = waitpid ((pid ? pid : -1), &status, (pid ? 0 : WNOHANG)); if (cpid < 0) error (SORT_FAILURE, errno, _("waiting for %s [-d]"), compress_program); else if (0 < cpid && (0 < pid || delete_proc (cpid))) { if (! WIFEXITED (status) || WEXITSTATUS (status)) error (SORT_FAILURE, 0, _("%s [-d] terminated abnormally"), compress_program); --nprocs; } return cpid; } /* TEMP represents a new process; add it to the process table. Create the process table the first time it's called. */ static void register_proc (struct tempnode *temp) { if (! proctab) { proctab = hash_initialize (INIT_PROCTAB_SIZE, NULL, proctab_hasher, proctab_comparator, NULL); if (! proctab) xalloc_die (); } temp->state = UNREAPED; if (! hash_insert (proctab, temp)) xalloc_die (); } /* If PID is in the process table, remove it and return true. Otherwise, return false. */ static bool delete_proc (pid_t pid) { struct tempnode test; test.pid = pid; struct tempnode *node = hash_delete (proctab, &test); if (! node) return false; node->state = REAPED; return true; } /* Remove PID from the process table, and wait for it to exit if it hasn't already. */ static void wait_proc (pid_t pid) { if (delete_proc (pid)) reap (pid); } /* Reap any exited children. Do not block; reap only those that have already exited. */ static void reap_exited (void) { while (0 < nprocs && reap (0)) continue; } /* Reap at least one exited child, waiting if necessary. */ static void reap_some (void) { reap (-1); reap_exited (); } /* Reap all children, waiting if necessary. */ static void reap_all (void) { while (0 < nprocs) reap (-1); } /* Clean up any remaining temporary files. */ static void cleanup (void) { struct tempnode const *node; for (node = temphead; node; node = node->next) unlink (node->name); temphead = NULL; } /* Cleanup actions to take when exiting. */ static void exit_cleanup (void) { if (temphead) { /* Clean up any remaining temporary files in a critical section so that a signal handler does not try to clean them too. */ struct cs_status cs = cs_enter (); cleanup (); cs_leave (cs); } close_stdout (); } /* Create a new temporary file, returning its newly allocated tempnode. Store into *PFD the file descriptor open for writing. If the creation fails, return NULL and store -1 into *PFD if the failure is due to file descriptor exhaustion and SURVIVE_FD_EXHAUSTION; otherwise, die. */ static struct tempnode * create_temp_file (int *pfd, bool survive_fd_exhaustion) { static char const slashbase[] = "/sortXXXXXX"; static size_t temp_dir_index; int fd; int saved_errno; char const *temp_dir = temp_dirs[temp_dir_index]; size_t len = strlen (temp_dir); struct tempnode *node = xmalloc (offsetof (struct tempnode, name) + len + sizeof slashbase); char *file = node->name; struct cs_status cs; memcpy (file, temp_dir, len); memcpy (file + len, slashbase, sizeof slashbase); node->next = NULL; if (++temp_dir_index == temp_dir_count) temp_dir_index = 0; /* Create the temporary file in a critical section, to avoid races. */ cs = cs_enter (); fd = mkstemp (file); if (0 <= fd) { *temptail = node; temptail = &node->next; } saved_errno = errno; cs_leave (cs); errno = saved_errno; if (fd < 0) { if (! (survive_fd_exhaustion && errno == EMFILE)) error (SORT_FAILURE, errno, _("cannot create temporary file in %s"), quote (temp_dir)); free (node); node = NULL; } *pfd = fd; return node; } /* Return a stream for FILE, opened with mode HOW. A null FILE means standard output; HOW should be "w". When opening for input, "-" means standard input. To avoid confusion, do not return file descriptors STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO when opening an ordinary FILE. Return NULL if unsuccessful. fadvise() is used to specify an access pattern for input files. There are a few hints we could possibly provide, and after careful testing it was decided that specifying POSIX_FADV_SEQUENTIAL was not detrimental to any cases. On Linux 2.6.31, this option doubles the size of read ahead performed and thus was seen to benefit these cases: Merging Sorting with a smaller internal buffer Reading from faster flash devices In _addition_ one could also specify other hints... POSIX_FADV_WILLNEED was tested, but Linux 2.6.31 at least uses that to _synchronously_ prepopulate the cache with the specified range. While sort does need to read all of its input before outputting, a synchronous read of the whole file up front precludes any processing that sort could do in parallel with the system doing read ahead of the data. This was seen to have negative effects in a couple of cases: Merging Sorting with a smaller internal buffer Note this option was seen to shorten the runtime for sort on a multicore system with lots of RAM and other processes competing for CPU. It could be argued that more explicit scheduling hints with 'nice' et. al. are more appropriate for this situation. POSIX_FADV_NOREUSE is a possibility as it could lower the priority of input data in the cache as sort will only need to process it once. However its functionality has changed over Linux kernel versions and as of 2.6.31 it does nothing and thus we can't depend on what it might do in future. POSIX_FADV_DONTNEED is not appropriate for user specified input files, but for temp files we do want to drop the cache immediately after processing. This is done implicitly however when the files are unlinked. */ static FILE * stream_open (char const *file, char const *how) { FILE *fp; if (*how == 'r') { if (STREQ (file, "-")) { have_read_stdin = true; fp = stdin; } else fp = fopen (file, how); fadvise (fp, FADVISE_SEQUENTIAL); } else if (*how == 'w') { if (file && ftruncate (STDOUT_FILENO, 0) != 0) error (SORT_FAILURE, errno, _("%s: error truncating"), quote (file)); fp = stdout; } else assert (!"unexpected mode passed to stream_open"); return fp; } /* Same as stream_open, except always return a non-null value; die on failure. */ static FILE * xfopen (char const *file, char const *how) { FILE *fp = stream_open (file, how); if (!fp) die (_("open failed"), file); return fp; } /* Close FP, whose name is FILE, and report any errors. */ static void xfclose (FILE *fp, char const *file) { switch (fileno (fp)) { case STDIN_FILENO: /* Allow reading stdin from tty more than once. */ if (feof (fp)) clearerr (fp); break; case STDOUT_FILENO: /* Don't close stdout just yet. close_stdout does that. */ if (fflush (fp) != 0) die (_("fflush failed"), file); break; default: if (fclose (fp) != 0) die (_("close failed"), file); break; } } static void move_fd_or_die (int oldfd, int newfd) { if (oldfd != newfd) { if (dup2 (oldfd, newfd) < 0) error (SORT_FAILURE, errno, _("dup2 failed")); close (oldfd); } } /* Fork a child process for piping to and do common cleanup. The TRIES parameter tells us how many times to try to fork before giving up. Return the PID of the child, or -1 (setting errno) on failure. */ static pid_t pipe_fork (int pipefds[2], size_t tries) { #if HAVE_WORKING_FORK struct tempnode *saved_temphead; int saved_errno; double wait_retry = 0.25; pid_t pid IF_LINT ( = -1); struct cs_status cs; if (pipe (pipefds) < 0) return -1; /* At least NMERGE + 1 subprocesses are needed. More could be created, but uncontrolled subprocess generation can hurt performance significantly. Allow at most NMERGE + 2 subprocesses, on the theory that there may be some useful parallelism by letting compression for the previous merge finish (1 subprocess) in parallel with the current merge (NMERGE + 1 subprocesses). */ if (nmerge + 1 < nprocs) reap_some (); while (tries--) { /* This is so the child process won't delete our temp files if it receives a signal before exec-ing. */ cs = cs_enter (); saved_temphead = temphead; temphead = NULL; pid = fork (); saved_errno = errno; if (pid) temphead = saved_temphead; cs_leave (cs); errno = saved_errno; if (0 <= pid || errno != EAGAIN) break; else { xnanosleep (wait_retry); wait_retry *= 2; reap_exited (); } } if (pid < 0) { saved_errno = errno; close (pipefds[0]); close (pipefds[1]); errno = saved_errno; } else if (pid == 0) { close (STDIN_FILENO); close (STDOUT_FILENO); } else ++nprocs; return pid; #else /* ! HAVE_WORKING_FORK */ return -1; #endif } /* Create a temporary file and, if asked for, start a compressor to that file. Set *PFP to the file handle and return the address of the new temp node. If the creation fails, return NULL if the failure is due to file descriptor exhaustion and SURVIVE_FD_EXHAUSTION; otherwise, die. */ static struct tempnode * maybe_create_temp (FILE **pfp, bool survive_fd_exhaustion) { int tempfd; struct tempnode *node = create_temp_file (&tempfd, survive_fd_exhaustion); if (! node) return NULL; node->state = UNCOMPRESSED; if (compress_program) { int pipefds[2]; node->pid = pipe_fork (pipefds, MAX_FORK_TRIES_COMPRESS); if (0 < node->pid) { close (tempfd); close (pipefds[0]); tempfd = pipefds[1]; register_proc (node); } else if (node->pid == 0) { close (pipefds[1]); move_fd_or_die (tempfd, STDOUT_FILENO); move_fd_or_die (pipefds[0], STDIN_FILENO); if (execlp (compress_program, compress_program, (char *) NULL) < 0) error (SORT_FAILURE, errno, _("couldn't execute %s"), compress_program); } } *pfp = fdopen (tempfd, "w"); if (! *pfp) die (_("couldn't create temporary file"), node->name); return node; } /* Create a temporary file and, if asked for, start a compressor to that file. Set *PFP to the file handle and return the address of the new temp node. Die on failure. */ static struct tempnode * create_temp (FILE **pfp) { return maybe_create_temp (pfp, false); } /* Open a compressed temp file and start a decompression process through which to filter the input. Return NULL (setting errno to EMFILE) if we ran out of file descriptors, and die on any other kind of failure. */ static FILE * open_temp (struct tempnode *temp) { int tempfd, pipefds[2]; FILE *fp = NULL; if (temp->state == UNREAPED) wait_proc (temp->pid); tempfd = open (temp->name, O_RDONLY); if (tempfd < 0) return NULL; pid_t child = pipe_fork (pipefds, MAX_FORK_TRIES_DECOMPRESS); switch (child) { case -1: if (errno != EMFILE) error (SORT_FAILURE, errno, _("couldn't create process for %s -d"), compress_program); close (tempfd); errno = EMFILE; break; case 0: close (pipefds[0]); move_fd_or_die (tempfd, STDIN_FILENO); move_fd_or_die (pipefds[1], STDOUT_FILENO); execlp (compress_program, compress_program, "-d", (char *) NULL); error (SORT_FAILURE, errno, _("couldn't execute %s -d"), compress_program); default: temp->pid = child; register_proc (temp); close (tempfd); close (pipefds[1]); fp = fdopen (pipefds[0], "r"); if (! fp) { int saved_errno = errno; close (pipefds[0]); errno = saved_errno; } break; } return fp; } /* Append DIR to the array of temporary directory names. */ static void add_temp_dir (char const *dir) { if (temp_dir_count == temp_dir_alloc) temp_dirs = X2NREALLOC (temp_dirs, &temp_dir_alloc); temp_dirs[temp_dir_count++] = dir; } /* Remove NAME from the list of temporary files. */ static void zaptemp (char const *name) { struct tempnode *volatile *pnode; struct tempnode *node; struct tempnode *next; int unlink_status; int unlink_errno = 0; struct cs_status cs; for (pnode = &temphead; (node = *pnode)->name != name; pnode = &node->next) continue; if (node->state == UNREAPED) wait_proc (node->pid); /* Unlink the temporary file in a critical section to avoid races. */ next = node->next; cs = cs_enter (); unlink_status = unlink (name); unlink_errno = errno; *pnode = next; cs_leave (cs); if (unlink_status != 0) error (0, unlink_errno, _("warning: cannot remove: %s"), name); if (! next) temptail = pnode; free (node); } #if HAVE_NL_LANGINFO static int struct_month_cmp (void const *m1, void const *m2) { struct month const *month1 = m1; struct month const *month2 = m2; return strcmp (month1->name, month2->name); } #endif /* Initialize the character class tables. */ static void inittables (void) { size_t i; for (i = 0; i < UCHAR_LIM; ++i) { blanks[i] = !! isblank (i); nonprinting[i] = ! isprint (i); nondictionary[i] = ! isalnum (i) && ! isblank (i); fold_toupper[i] = toupper (i); } #if HAVE_NL_LANGINFO /* If we're not in the "C" locale, read different names for months. */ if (hard_LC_TIME) { for (i = 0; i < MONTHS_PER_YEAR; i++) { char const *s; size_t s_len; size_t j, k; char *name; s = nl_langinfo (ABMON_1 + i); s_len = strlen (s); monthtab[i].name = name = xmalloc (s_len + 1); monthtab[i].val = i + 1; for (j = k = 0; j < s_len; j++) if (! isblank (to_uchar (s[j]))) name[k++] = fold_toupper[to_uchar (s[j])]; name[k] = '\0'; } qsort (monthtab, MONTHS_PER_YEAR, sizeof *monthtab, struct_month_cmp); } #endif } /* Specify how many inputs may be merged at once. This may be set on the command-line with the --batch-size option. */ static void specify_nmerge (int oi, char c, char const *s) { uintmax_t n; struct rlimit rlimit; enum strtol_error e = xstrtoumax (s, NULL, 10, &n, NULL); /* Try to find out how many file descriptors we'll be able to open. We need at least nmerge + 3 (STDIN_FILENO, STDOUT_FILENO and STDERR_FILENO). */ unsigned int max_nmerge = ((getrlimit (RLIMIT_NOFILE, &rlimit) == 0 ? rlimit.rlim_cur : OPEN_MAX) - 3); if (e == LONGINT_OK) { nmerge = n; if (nmerge != n) e = LONGINT_OVERFLOW; else { if (nmerge < 2) { error (0, 0, _("invalid --%s argument %s"), long_options[oi].name, quote (s)); error (SORT_FAILURE, 0, _("minimum --%s argument is %s"), long_options[oi].name, quote ("2")); } else if (max_nmerge < nmerge) { e = LONGINT_OVERFLOW; } else return; } } if (e == LONGINT_OVERFLOW) { char max_nmerge_buf[INT_BUFSIZE_BOUND (max_nmerge)]; error (0, 0, _("--%s argument %s too large"), long_options[oi].name, quote (s)); error (SORT_FAILURE, 0, _("maximum --%s argument with current rlimit is %s"), long_options[oi].name, uinttostr (max_nmerge, max_nmerge_buf)); } else xstrtol_fatal (e, oi, c, long_options, s); } /* Specify the amount of main memory to use when sorting. */ static void specify_sort_size (int oi, char c, char const *s) { uintmax_t n; char *suffix; enum strtol_error e = xstrtoumax (s, &suffix, 10, &n, "EgGkKmMPtTYZ"); /* The default unit is KiB. */ if (e == LONGINT_OK && ISDIGIT (suffix[-1])) { if (n <= UINTMAX_MAX / 1024) n *= 1024; else e = LONGINT_OVERFLOW; } /* A 'b' suffix means bytes; a '%' suffix means percent of memory. */ if (e == LONGINT_INVALID_SUFFIX_CHAR && ISDIGIT (suffix[-1]) && ! suffix[1]) switch (suffix[0]) { case 'b': e = LONGINT_OK; break; case '%': { double mem = physmem_total () * n / 100; /* Use "<", not "<=", to avoid problems with rounding. */ if (mem < UINTMAX_MAX) { n = mem; e = LONGINT_OK; } else e = LONGINT_OVERFLOW; } break; } if (e == LONGINT_OK) { /* If multiple sort sizes are specified, take the maximum, so that option order does not matter. */ if (n < sort_size) return; sort_size = n; if (sort_size == n) { sort_size = MAX (sort_size, MIN_SORT_SIZE); return; } e = LONGINT_OVERFLOW; } xstrtol_fatal (e, oi, c, long_options, s); } /* Specify the number of threads to spawn during internal sort. */ static size_t specify_nthreads (int oi, char c, char const *s) { unsigned long int nthreads; enum strtol_error e = xstrtoul (s, NULL, 10, &nthreads, ""); if (e == LONGINT_OVERFLOW) return SIZE_MAX; if (e != LONGINT_OK) xstrtol_fatal (e, oi, c, long_options, s); if (SIZE_MAX < nthreads) nthreads = SIZE_MAX; if (nthreads == 0) error (SORT_FAILURE, 0, _("number in parallel must be nonzero")); return nthreads; } /* Return the default sort size. */ static size_t default_sort_size (void) { /* Let SIZE be MEM, but no more than the maximum object size, total memory, or system resource limits. Don't bother to check for values like RLIM_INFINITY since in practice they are not much less than SIZE_MAX. */ size_t size = SIZE_MAX; struct rlimit rlimit; if (getrlimit (RLIMIT_DATA, &rlimit) == 0 && rlimit.rlim_cur < size) size = rlimit.rlim_cur; #ifdef RLIMIT_AS if (getrlimit (RLIMIT_AS, &rlimit) == 0 && rlimit.rlim_cur < size) size = rlimit.rlim_cur; #endif /* Leave a large safety margin for the above limits, as failure can occur when they are exceeded. */ size /= 2; #ifdef RLIMIT_RSS /* Leave a 1/16 margin for RSS to leave room for code, stack, etc. Exceeding RSS is not fatal, but can be quite slow. */ if (getrlimit (RLIMIT_RSS, &rlimit) == 0 && rlimit.rlim_cur / 16 * 15 < size) size = rlimit.rlim_cur / 16 * 15; #endif /* Let MEM be available memory or 1/8 of total memory, whichever is greater. */ double avail = physmem_available (); double total = physmem_total (); double mem = MAX (avail, total / 8); /* Leave a 1/4 margin for physical memory. */ if (total * 0.75 < size) size = total * 0.75; /* Return the minimum of MEM and SIZE, but no less than MIN_SORT_SIZE. Avoid the MIN macro here, as it is not quite right when only one argument is floating point. */ if (mem < size) size = mem; return MAX (size, MIN_SORT_SIZE); } /* Return the sort buffer size to use with the input files identified by FPS and FILES, which are alternate names of the same files. NFILES gives the number of input files; NFPS may be less. Assume that each input line requires LINE_BYTES extra bytes' worth of line information. Do not exceed the size bound specified by the user (or a default size bound, if the user does not specify one). */ static size_t sort_buffer_size (FILE *const *fps, size_t nfps, char *const *files, size_t nfiles, size_t line_bytes) { /* A bound on the input size. If zero, the bound hasn't been determined yet. */ static size_t size_bound; /* In the worst case, each input byte is a newline. */ size_t worst_case_per_input_byte = line_bytes + 1; /* Keep enough room for one extra input line and an extra byte. This extra room might be needed when preparing to read EOF. */ size_t size = worst_case_per_input_byte + 1; size_t i; for (i = 0; i < nfiles; i++) { struct stat st; off_t file_size; size_t worst_case; if ((i < nfps ? fstat (fileno (fps[i]), &st) : STREQ (files[i], "-") ? fstat (STDIN_FILENO, &st) : stat (files[i], &st)) != 0) die (_("stat failed"), files[i]); if (S_ISREG (st.st_mode)) file_size = st.st_size; else { /* The file has unknown size. If the user specified a sort buffer size, use that; otherwise, guess the size. */ if (sort_size) return sort_size; file_size = INPUT_FILE_SIZE_GUESS; } if (! size_bound) { size_bound = sort_size; if (! size_bound) size_bound = default_sort_size (); } /* Add the amount of memory needed to represent the worst case where the input consists entirely of newlines followed by a single non-newline. Check for overflow. */ worst_case = file_size * worst_case_per_input_byte + 1; if (file_size != worst_case / worst_case_per_input_byte || size_bound - size <= worst_case) return size_bound; size += worst_case; } return size; } /* Initialize BUF. Reserve LINE_BYTES bytes for each line; LINE_BYTES must be at least sizeof (struct line). Allocate ALLOC bytes initially. */ static void initbuf (struct buffer *buf, size_t line_bytes, size_t alloc) { /* Ensure that the line array is properly aligned. If the desired size cannot be allocated, repeatedly halve it until allocation succeeds. The smaller allocation may hurt overall performance, but that's better than failing. */ while (true) { alloc += sizeof (struct line) - alloc % sizeof (struct line); buf->buf = malloc (alloc); if (buf->buf) break; alloc /= 2; if (alloc <= line_bytes + 1) xalloc_die (); } buf->line_bytes = line_bytes; buf->alloc = alloc; buf->used = buf->left = buf->nlines = 0; buf->eof = false; } /* Return one past the limit of the line array. */ static inline struct line * buffer_linelim (struct buffer const *buf) { return (struct line *) (buf->buf + buf->alloc); } /* Return a pointer to the first character of the field specified by KEY in LINE. */ static char * begfield (struct line const *line, struct keyfield const *key) { char *ptr = line->text, *lim = ptr + line->length - 1; size_t sword = key->sword; size_t schar = key->schar; /* The leading field separator itself is included in a field when -t is absent. */ if (tab != TAB_DEFAULT) while (ptr < lim && sword--) { while (ptr < lim && *ptr != tab) ++ptr; if (ptr < lim) ++ptr; } else while (ptr < lim && sword--) { while (ptr < lim && blanks[to_uchar (*ptr)]) ++ptr; while (ptr < lim && !blanks[to_uchar (*ptr)]) ++ptr; } /* If we're ignoring leading blanks when computing the Start of the field, skip past them here. */ if (key->skipsblanks) while (ptr < lim && blanks[to_uchar (*ptr)]) ++ptr; /* Advance PTR by SCHAR (if possible), but no further than LIM. */ ptr = MIN (lim, ptr + schar); return ptr; } /* Return the limit of (a pointer to the first character after) the field in LINE specified by KEY. */ static char * limfield (struct line const *line, struct keyfield const *key) { char *ptr = line->text, *lim = ptr + line->length - 1; size_t eword = key->eword, echar = key->echar; if (echar == 0) eword++; /* Skip all of end field. */ /* Move PTR past EWORD fields or to one past the last byte on LINE, whichever comes first. If there are more than EWORD fields, leave PTR pointing at the beginning of the field having zero-based index, EWORD. If a delimiter character was specified (via -t), then that 'beginning' is the first character following the delimiting TAB. Otherwise, leave PTR pointing at the first 'blank' character after the preceding field. */ if (tab != TAB_DEFAULT) while (ptr < lim && eword--) { while (ptr < lim && *ptr != tab) ++ptr; if (ptr < lim && (eword || echar)) ++ptr; } else while (ptr < lim && eword--) { while (ptr < lim && blanks[to_uchar (*ptr)]) ++ptr; while (ptr < lim && !blanks[to_uchar (*ptr)]) ++ptr; } #ifdef POSIX_UNSPECIFIED /* The following block of code makes GNU sort incompatible with standard Unix sort, so it's ifdef'd out for now. The POSIX spec isn't clear on how to interpret this. FIXME: request clarification. From: kwzh@gnu.ai.mit.edu (Karl Heuer) Date: Thu, 30 May 96 12:20:41 -0400 [Translated to POSIX 1003.1-2001 terminology by Paul Eggert.] [...]I believe I've found another bug in 'sort'. $ cat /tmp/sort.in a b c 2 d pq rs 1 t $ textutils-1.15/src/sort -k1.7,1.7 skipeblanks) while (ptr < lim && blanks[to_uchar (*ptr)]) ++ptr; /* Advance PTR by ECHAR (if possible), but no further than LIM. */ ptr = MIN (lim, ptr + echar); } return ptr; } /* Fill BUF reading from FP, moving buf->left bytes from the end of buf->buf to the beginning first. If EOF is reached and the file wasn't terminated by a newline, supply one. Set up BUF's line table too. FILE is the name of the file corresponding to FP. Return true if some input was read. */ static bool fillbuf (struct buffer *buf, FILE *fp, char const *file) { struct keyfield const *key = keylist; char eol = eolchar; size_t line_bytes = buf->line_bytes; size_t mergesize = merge_buffer_size - MIN_MERGE_BUFFER_SIZE; if (buf->eof) return false; if (buf->used != buf->left) { memmove (buf->buf, buf->buf + buf->used - buf->left, buf->left); buf->used = buf->left; buf->nlines = 0; } while (true) { char *ptr = buf->buf + buf->used; struct line *linelim = buffer_linelim (buf); struct line *line = linelim - buf->nlines; size_t avail = (char *) linelim - buf->nlines * line_bytes - ptr; char *line_start = buf->nlines ? line->text + line->length : buf->buf; while (line_bytes + 1 < avail) { /* Read as many bytes as possible, but do not read so many bytes that there might not be enough room for the corresponding line array. The worst case is when the rest of the input file consists entirely of newlines, except that the last byte is not a newline. */ size_t readsize = (avail - 1) / (line_bytes + 1); size_t bytes_read = fread (ptr, 1, readsize, fp); char *ptrlim = ptr + bytes_read; char *p; avail -= bytes_read; if (bytes_read != readsize) { if (ferror (fp)) die (_("read failed"), file); if (feof (fp)) { buf->eof = true; if (buf->buf == ptrlim) return false; if (line_start != ptrlim && ptrlim[-1] != eol) *ptrlim++ = eol; } } /* Find and record each line in the just-read input. */ while ((p = memchr (ptr, eol, ptrlim - ptr))) { /* Delimit the line with NUL. This eliminates the need to temporarily replace the last byte with NUL when calling xmemcoll(), which increases performance. */ *p = '\0'; ptr = p + 1; line--; line->text = line_start; line->length = ptr - line_start; mergesize = MAX (mergesize, line->length); avail -= line_bytes; if (key) { /* Precompute the position of the first key for efficiency. */ line->keylim = (key->eword == SIZE_MAX ? p : limfield (line, key)); if (key->sword != SIZE_MAX) line->keybeg = begfield (line, key); else { if (key->skipsblanks) while (blanks[to_uchar (*line_start)]) line_start++; line->keybeg = line_start; } } line_start = ptr; } ptr = ptrlim; if (buf->eof) break; } buf->used = ptr - buf->buf; buf->nlines = buffer_linelim (buf) - line; if (buf->nlines != 0) { buf->left = ptr - line_start; merge_buffer_size = mergesize + MIN_MERGE_BUFFER_SIZE; return true; } { /* The current input line is too long to fit in the buffer. Increase the buffer size and try again, keeping it properly aligned. */ size_t line_alloc = buf->alloc / sizeof (struct line); buf->buf = x2nrealloc (buf->buf, &line_alloc, sizeof (struct line)); buf->alloc = line_alloc * sizeof (struct line); } } } /* Table that maps characters to order-of-magnitude values. */ static char const unit_order[UCHAR_LIM] = { #if ! ('K' == 75 && 'M' == 77 && 'G' == 71 && 'T' == 84 && 'P' == 80 \ && 'E' == 69 && 'Z' == 90 && 'Y' == 89 && 'k' == 107) /* This initializer syntax works on all C99 hosts. For now, use it only on non-ASCII hosts, to ease the pain of porting to pre-C99 ASCII hosts. */ ['K']=1, ['M']=2, ['G']=3, ['T']=4, ['P']=5, ['E']=6, ['Z']=7, ['Y']=8, ['k']=1, #else /* Generate the following table with this command: perl -e 'my %a=(k=>1, K=>1, M=>2, G=>3, T=>4, P=>5, E=>6, Z=>7, Y=>8); foreach my $i (0..255) {my $c=chr($i); $a{$c} ||= 0;print "$a{$c}, "}'\ |fmt */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 3, 0, 0, 0, 1, 0, 2, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 #endif }; /* Return an integer that represents the order of magnitude of the unit following the number. The number may contain thousands separators and a decimal point, but it may not contain leading blanks. Negative numbers get negative orders; zero numbers have a zero order. */ static int _GL_ATTRIBUTE_PURE find_unit_order (char const *number) { bool minus_sign = (*number == '-'); char const *p = number + minus_sign; int nonzero = 0; unsigned char ch; /* Scan to end of number. Decimals or separators not followed by digits stop the scan. Numbers ending in decimals or separators are thus considered to be lacking in units. FIXME: add support for multibyte thousands_sep and decimal_point. */ do { while (ISDIGIT (ch = *p++)) nonzero |= ch - '0'; } while (ch == thousands_sep); if (ch == decimal_point) while (ISDIGIT (ch = *p++)) nonzero |= ch - '0'; if (nonzero) { int order = unit_order[ch]; return (minus_sign ? -order : order); } else return 0; } /* Compare numbers A and B ending in units with SI or IEC prefixes < K/k < M < G < T < P < E < Z < Y */ static int human_numcompare (char const *a, char const *b) { while (blanks[to_uchar (*a)]) a++; while (blanks[to_uchar (*b)]) b++; int diff = find_unit_order (a) - find_unit_order (b); return (diff ? diff : strnumcmp (a, b, decimal_point, thousands_sep)); } /* Compare strings A and B as numbers without explicitly converting them to machine numbers. Comparatively slow for short strings, but asymptotically hideously fast. */ static int numcompare (char const *a, char const *b) { while (blanks[to_uchar (*a)]) a++; while (blanks[to_uchar (*b)]) b++; return strnumcmp (a, b, decimal_point, thousands_sep); } /* Work around a problem whereby the long double value returned by glibc's strtold ("NaN", ...) contains uninitialized bits: clear all bytes of A and B before calling strtold. FIXME: remove this function once gnulib guarantees that strtold's result is always well defined. */ static int nan_compare (char const *sa, char const *sb) { long_double a; memset (&a, 0, sizeof a); a = strtold (sa, NULL); long_double b; memset (&b, 0, sizeof b); b = strtold (sb, NULL); return memcmp (&a, &b, sizeof a); } static int general_numcompare (char const *sa, char const *sb) { /* FIXME: maybe add option to try expensive FP conversion only if A and B can't be compared more cheaply/accurately. */ char *ea; char *eb; long_double a = strtold (sa, &ea); long_double b = strtold (sb, &eb); /* Put conversion errors at the start of the collating sequence. */ if (sa == ea) return sb == eb ? 0 : -1; if (sb == eb) return 1; /* Sort numbers in the usual way, where -0 == +0. Put NaNs after conversion errors but before numbers; sort them by internal bit-pattern, for lack of a more portable alternative. */ return (a < b ? -1 : a > b ? 1 : a == b ? 0 : b == b ? -1 : a == a ? 1 : nan_compare (sa, sb)); } /* Return an integer in 1..12 of the month name MONTH. Return 0 if the name in S is not recognized. */ static int getmonth (char const *month, char **ea) { size_t lo = 0; size_t hi = MONTHS_PER_YEAR; while (blanks[to_uchar (*month)]) month++; do { size_t ix = (lo + hi) / 2; char const *m = month; char const *n = monthtab[ix].name; for (;; m++, n++) { if (!*n) { if (ea) *ea = (char *) m; return monthtab[ix].val; } if (to_uchar (fold_toupper[to_uchar (*m)]) < to_uchar (*n)) { hi = ix; break; } else if (to_uchar (fold_toupper[to_uchar (*m)]) > to_uchar (*n)) { lo = ix + 1; break; } } } while (lo < hi); return 0; } /* A randomly chosen MD5 state, used for random comparison. */ static struct md5_ctx random_md5_state; /* Initialize the randomly chosen MD5 state. */ static void random_md5_state_init (char const *random_source) { unsigned char buf[MD5_DIGEST_SIZE]; struct randread_source *r = randread_new (random_source, sizeof buf); if (! r) die (_("open failed"), random_source); randread (r, buf, sizeof buf); if (randread_free (r) != 0) die (_("close failed"), random_source); md5_init_ctx (&random_md5_state); md5_process_bytes (buf, sizeof buf, &random_md5_state); } /* This is like strxfrm, except it reports any error and exits. */ static size_t xstrxfrm (char *restrict dest, char const *restrict src, size_t destsize) { errno = 0; size_t translated_size = strxfrm (dest, src, destsize); if (errno) { error (0, errno, _("string transformation failed")); error (0, 0, _("set LC_ALL='C' to work around the problem")); error (SORT_FAILURE, 0, _("the untransformed string was %s"), quotearg_n_style (0, locale_quoting_style, src)); } return translated_size; } /* Compare the keys TEXTA (of length LENA) and TEXTB (of length LENB) using one or more random hash functions. TEXTA[LENA] and TEXTB[LENB] must be zero. */ static int compare_random (char *restrict texta, size_t lena, char *restrict textb, size_t lenb) { /* XFRM_DIFF records the equivalent of memcmp on the transformed data. This is used to break ties if there is a checksum collision, and this is good enough given the astronomically low probability of a collision. */ int xfrm_diff = 0; char stackbuf[4000]; char *buf = stackbuf; size_t bufsize = sizeof stackbuf; void *allocated = NULL; uint32_t dig[2][MD5_DIGEST_SIZE / sizeof (uint32_t)]; struct md5_ctx s[2]; s[0] = s[1] = random_md5_state; if (hard_LC_COLLATE) { char const *lima = texta + lena; char const *limb = textb + lenb; while (true) { /* Transform the text into the basis of comparison, so that byte strings that would otherwise considered to be equal are considered equal here even if their bytes differ. Each time through this loop, transform one null-terminated string's worth from TEXTA or from TEXTB or both. That way, there's no need to store the transformation of the whole line, if it contains many null-terminated strings. */ /* Store the transformed data into a big-enough buffer. */ /* A 3X size guess avoids the overhead of calling strxfrm twice on typical implementations. Don't worry about size_t overflow, as the guess need not be correct. */ size_t guess_bufsize = 3 * (lena + lenb) + 2; if (bufsize < guess_bufsize) { bufsize = MAX (guess_bufsize, bufsize * 3 / 2); free (allocated); buf = allocated = malloc (bufsize); if (! buf) { buf = stackbuf; bufsize = sizeof stackbuf; } } size_t sizea = (texta < lima ? xstrxfrm (buf, texta, bufsize) + 1 : 0); bool a_fits = sizea <= bufsize; size_t sizeb = (textb < limb ? (xstrxfrm ((a_fits ? buf + sizea : NULL), textb, (a_fits ? bufsize - sizea : 0)) + 1) : 0); if (! (a_fits && sizea + sizeb <= bufsize)) { bufsize = sizea + sizeb; if (bufsize < SIZE_MAX / 3) bufsize = bufsize * 3 / 2; free (allocated); buf = allocated = xmalloc (bufsize); if (texta < lima) strxfrm (buf, texta, sizea); if (textb < limb) strxfrm (buf + sizea, textb, sizeb); } /* Advance past NULs to the next part of each input string, exiting the loop if both strings are exhausted. When exiting the loop, prepare to finish off the tiebreaker comparison properly. */ if (texta < lima) texta += strlen (texta) + 1; if (textb < limb) textb += strlen (textb) + 1; if (! (texta < lima || textb < limb)) { lena = sizea; texta = buf; lenb = sizeb; textb = buf + sizea; break; } /* Accumulate the transformed data in the corresponding checksums. */ md5_process_bytes (buf, sizea, &s[0]); md5_process_bytes (buf + sizea, sizeb, &s[1]); /* Update the tiebreaker comparison of the transformed data. */ if (! xfrm_diff) { xfrm_diff = memcmp (buf, buf + sizea, MIN (sizea, sizeb)); if (! xfrm_diff) xfrm_diff = (sizea > sizeb) - (sizea < sizeb); } } } /* Compute and compare the checksums. */ md5_process_bytes (texta, lena, &s[0]); md5_finish_ctx (&s[0], dig[0]); md5_process_bytes (textb, lenb, &s[1]); md5_finish_ctx (&s[1], dig[1]); int diff = memcmp (dig[0], dig[1], sizeof dig[0]); /* Fall back on the tiebreaker if the checksums collide. */ if (! diff) { if (! xfrm_diff) { xfrm_diff = memcmp (texta, textb, MIN (lena, lenb)); if (! xfrm_diff) xfrm_diff = (lena > lenb) - (lena < lenb); } diff = xfrm_diff; } free (allocated); return diff; } /* Return the printable width of the block of memory starting at TEXT and ending just before LIM, counting each tab as one byte. FIXME: Should we generally be counting non printable chars? */ static size_t debug_width (char const *text, char const *lim) { size_t width = mbsnwidth (text, lim - text, 0); while (text < lim) width += (*text++ == '\t'); return width; } /* For debug mode, "underline" a key at the specified offset and screen width. */ static void mark_key (size_t offset, size_t width) { while (offset--) putchar (' '); if (!width) printf (_("^ no match for key\n")); else { do putchar ('_'); while (--width); putchar ('\n'); } } /* Return true if KEY is a numeric key. */ static inline bool key_numeric (struct keyfield const *key) { return key->numeric || key->general_numeric || key->human_numeric; } /* For LINE, output a debugging line that underlines KEY in LINE. If KEY is null, underline the whole line. */ static void debug_key (struct line const *line, struct keyfield const *key) { char *text = line->text; char *beg = text; char *lim = text + line->length - 1; if (key) { if (key->sword != SIZE_MAX) beg = begfield (line, key); if (key->eword != SIZE_MAX) lim = limfield (line, key); if (key->skipsblanks || key->month || key_numeric (key)) { char saved = *lim; *lim = '\0'; while (blanks[to_uchar (*beg)]) beg++; char *tighter_lim = beg; if (lim < beg) tighter_lim = lim; else if (key->month) getmonth (beg, &tighter_lim); else if (key->general_numeric) ignore_value (strtold (beg, &tighter_lim)); else if (key->numeric || key->human_numeric) { char *p = beg + (beg < lim && *beg == '-'); bool found_digit = false; unsigned char ch; do { while (ISDIGIT (ch = *p++)) found_digit = true; } while (ch == thousands_sep); if (ch == decimal_point) while (ISDIGIT (ch = *p++)) found_digit = true; if (found_digit) tighter_lim = p - ! (key->human_numeric && unit_order[ch]); } else tighter_lim = lim; *lim = saved; lim = tighter_lim; } } size_t offset = debug_width (text, beg); size_t width = debug_width (beg, lim); mark_key (offset, width); } /* Debug LINE by underlining its keys. */ static void debug_line (struct line const *line) { struct keyfield const *key = keylist; do debug_key (line, key); while (key && ((key = key->next) || ! (unique || stable))); } /* Return whether sorting options specified for key. */ static bool default_key_compare (struct keyfield const *key) { return ! (key->ignore || key->translate || key->skipsblanks || key->skipeblanks || key_numeric (key) || key->month || key->version || key->random /* || key->reverse */ ); } /* Convert a key to the short options used to specify it. */ static void key_to_opts (struct keyfield const *key, char *opts) { if (key->skipsblanks || key->skipeblanks) *opts++ = 'b';/* either disables global -b */ if (key->ignore == nondictionary) *opts++ = 'd'; if (key->translate) *opts++ = 'f'; if (key->general_numeric) *opts++ = 'g'; if (key->human_numeric) *opts++ = 'h'; if (key->ignore == nonprinting) *opts++ = 'i'; if (key->month) *opts++ = 'M'; if (key->numeric) *opts++ = 'n'; if (key->random) *opts++ = 'R'; if (key->reverse) *opts++ = 'r'; if (key->version) *opts++ = 'V'; *opts = '\0'; } /* Output data independent key warnings to stderr. */ static void key_warnings (struct keyfield const *gkey, bool gkey_only) { struct keyfield const *key; struct keyfield ugkey = *gkey; unsigned long keynum = 1; for (key = keylist; key; key = key->next, keynum++) { if (key->obsolete_used) { size_t sword = key->sword; size_t eword = key->eword; char tmp[INT_BUFSIZE_BOUND (uintmax_t)]; /* obsolescent syntax +A.x -B.y is equivalent to: -k A+1.x+1,B.y (when y = 0) -k A+1.x+1,B+1.y (when y > 0) */ char obuf[INT_BUFSIZE_BOUND (sword) * 2 + 4]; /* +# -# */ char nbuf[INT_BUFSIZE_BOUND (sword) * 2 + 5]; /* -k #,# */ char *po = obuf; char *pn = nbuf; if (sword == SIZE_MAX) sword++; po = stpcpy (stpcpy (po, "+"), umaxtostr (sword, tmp)); pn = stpcpy (stpcpy (pn, "-k "), umaxtostr (sword + 1, tmp)); if (key->eword != SIZE_MAX) { stpcpy (stpcpy (po, " -"), umaxtostr (eword + 1, tmp)); stpcpy (stpcpy (pn, ","), umaxtostr (eword + 1 + (key->echar == SIZE_MAX), tmp)); } error (0, 0, _("obsolescent key %s used; consider %s instead"), quote_n (0, obuf), quote_n (1, nbuf)); } /* Warn about field specs that will never match. */ if (key->sword != SIZE_MAX && key->eword < key->sword) error (0, 0, _("key %lu has zero width and will be ignored"), keynum); /* Warn about significant leading blanks. */ bool implicit_skip = key_numeric (key) || key->month; bool maybe_space_aligned = !hard_LC_COLLATE && default_key_compare (key) && !(key->schar || key->echar); bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y */ if (!gkey_only && tab == TAB_DEFAULT && !line_offset && ((!key->skipsblanks && !(implicit_skip || maybe_space_aligned)) || (!key->skipsblanks && key->schar) || (!key->skipeblanks && key->echar))) error (0, 0, _("leading blanks are significant in key %lu; " "consider also specifying 'b'"), keynum); /* Warn about numeric comparisons spanning fields, as field delimiters could be interpreted as part of the number (maybe only in other locales). */ if (!gkey_only && key_numeric (key)) { size_t sword = key->sword + 1; size_t eword = key->eword + 1; if (!sword) sword++; if (!eword || sword < eword) error (0, 0, _("key %lu is numeric and spans multiple fields"), keynum); } /* Flag global options not copied or specified in any key. */ if (ugkey.ignore && (ugkey.ignore == key->ignore)) ugkey.ignore = NULL; if (ugkey.translate && (ugkey.translate == key->translate)) ugkey.translate = NULL; ugkey.skipsblanks &= !key->skipsblanks; ugkey.skipeblanks &= !key->skipeblanks; ugkey.month &= !key->month; ugkey.numeric &= !key->numeric; ugkey.general_numeric &= !key->general_numeric; ugkey.human_numeric &= !key->human_numeric; ugkey.random &= !key->random; ugkey.version &= !key->version; ugkey.reverse &= !key->reverse; } /* Warn about ignored global options flagged above. Note if gkey is the only one in the list, all flags are cleared. */ if (!default_key_compare (&ugkey) || (ugkey.reverse && (stable || unique) && keylist)) { bool ugkey_reverse = ugkey.reverse; if (!(stable || unique)) ugkey.reverse = false; /* The following is too big, but guaranteed to be "big enough". */ char opts[sizeof short_options]; key_to_opts (&ugkey, opts); error (0, 0, ngettext ("option '-%s' is ignored", "options '-%s' are ignored", select_plural (strlen (opts))), opts); ugkey.reverse = ugkey_reverse; } if (ugkey.reverse && !(stable || unique) && keylist) error (0, 0, _("option '-r' only applies to last-resort comparison")); } /* Compare two lines A and B trying every key in sequence until there are no more keys or a difference is found. */ static int keycompare (struct line const *a, struct line const *b) { struct keyfield *key = keylist; /* For the first iteration only, the key positions have been precomputed for us. */ char *texta = a->keybeg; char *textb = b->keybeg; char *lima = a->keylim; char *limb = b->keylim; int diff; while (true) { char const *translate = key->translate; bool const *ignore = key->ignore; /* Treat field ends before field starts as empty fields. */ lima = MAX (texta, lima); limb = MAX (textb, limb); /* Find the lengths. */ size_t lena = lima - texta; size_t lenb = limb - textb; if (hard_LC_COLLATE || key_numeric (key) || key->month || key->random || key->version) { char *ta; char *tb; size_t tlena; size_t tlenb; char enda IF_LINT (= 0); char endb IF_LINT (= 0); void *allocated IF_LINT (= NULL); char stackbuf[4000]; if (ignore || translate) { /* Compute with copies of the keys, which are the result of translating or ignoring characters, and which need their own storage. */ size_t i; /* Allocate space for copies. */ size_t size = lena + 1 + lenb + 1; if (size <= sizeof stackbuf) ta = stackbuf, allocated = NULL; else ta = allocated = xmalloc (size); tb = ta + lena + 1; /* Put into each copy a version of the key in which the requested characters are ignored or translated. */ for (tlena = i = 0; i < lena; i++) if (! (ignore && ignore[to_uchar (texta[i])])) ta[tlena++] = (translate ? translate[to_uchar (texta[i])] : texta[i]); ta[tlena] = '\0'; for (tlenb = i = 0; i < lenb; i++) if (! (ignore && ignore[to_uchar (textb[i])])) tb[tlenb++] = (translate ? translate[to_uchar (textb[i])] : textb[i]); tb[tlenb] = '\0'; } else { /* Use the keys in-place, temporarily null-terminated. */ ta = texta; tlena = lena; enda = ta[tlena]; ta[tlena] = '\0'; tb = textb; tlenb = lenb; endb = tb[tlenb]; tb[tlenb] = '\0'; } if (key->numeric) diff = numcompare (ta, tb); else if (key->general_numeric) diff = general_numcompare (ta, tb); else if (key->human_numeric) diff = human_numcompare (ta, tb); else if (key->month) diff = getmonth (ta, NULL) - getmonth (tb, NULL); else if (key->random) diff = compare_random (ta, tlena, tb, tlenb); else if (key->version) diff = filevercmp (ta, tb); else { /* Locale-dependent string sorting. This is slower than C-locale sorting, which is implemented below. */ if (tlena == 0) diff = - NONZERO (tlenb); else if (tlenb == 0) diff = 1; else diff = xmemcoll0 (ta, tlena + 1, tb, tlenb + 1); } if (ignore || translate) free (allocated); else { ta[tlena] = enda; tb[tlenb] = endb; } } else if (ignore) { #define CMP_WITH_IGNORE(A, B) \ do \ { \ while (true) \ { \ while (texta < lima && ignore[to_uchar (*texta)]) \ ++texta; \ while (textb < limb && ignore[to_uchar (*textb)]) \ ++textb; \ if (! (texta < lima && textb < limb)) \ break; \ diff = to_uchar (A) - to_uchar (B); \ if (diff) \ goto not_equal; \ ++texta; \ ++textb; \ } \ \ diff = (texta < lima) - (textb < limb); \ } \ while (0) if (translate) CMP_WITH_IGNORE (translate[to_uchar (*texta)], translate[to_uchar (*textb)]); else CMP_WITH_IGNORE (*texta, *textb); } else if (lena == 0) diff = - NONZERO (lenb); else if (lenb == 0) goto greater; else { if (translate) { while (texta < lima && textb < limb) { diff = (to_uchar (translate[to_uchar (*texta++)]) - to_uchar (translate[to_uchar (*textb++)])); if (diff) goto not_equal; } } else { diff = memcmp (texta, textb, MIN (lena, lenb)); if (diff) goto not_equal; } diff = lena < lenb ? -1 : lena != lenb; } if (diff) goto not_equal; key = key->next; if (! key) break; /* Find the beginning and limit of the next field. */ if (key->eword != SIZE_MAX) lima = limfield (a, key), limb = limfield (b, key); else lima = a->text + a->length - 1, limb = b->text + b->length - 1; if (key->sword != SIZE_MAX) texta = begfield (a, key), textb = begfield (b, key); else { texta = a->text, textb = b->text; if (key->skipsblanks) { while (texta < lima && blanks[to_uchar (*texta)]) ++texta; while (textb < limb && blanks[to_uchar (*textb)]) ++textb; } } } return 0; greater: diff = 1; not_equal: return key->reverse ? -diff : diff; } /* Compare two lines A and B, returning negative, zero, or positive depending on whether A compares less than, equal to, or greater than B. */ static int compare (struct line const *a, struct line const *b) { int diff; size_t alen, blen; /* First try to compare on the specified keys (if any). The only two cases with no key at all are unadorned sort, and unadorned sort -r. */ if (keylist) { diff = keycompare (a, b); if (diff || unique || stable) return diff; } /* If the keys all compare equal (or no keys were specified) fall through to the default comparison. */ alen = a->length - 1, blen = b->length - 1; if (alen == 0) diff = - NONZERO (blen); else if (blen == 0) diff = 1; else if (hard_LC_COLLATE) { /* Note xmemcoll0 is a performance enhancement as it will not unconditionally write '\0' after the passed in buffers, which was seen to give around a 3% increase in performance for short lines. */ diff = xmemcoll0 (a->text, alen + 1, b->text, blen + 1); } else if (! (diff = memcmp (a->text, b->text, MIN (alen, blen)))) diff = alen < blen ? -1 : alen != blen; return reverse ? -diff : diff; } /* Write LINE to output stream FP; the output file's name is OUTPUT_FILE if OUTPUT_FILE is nonnull, and is the standard output otherwise. If debugging is enabled and FP is standard output, append some debugging information. */ static void write_line (struct line const *line, FILE *fp, char const *output_file) { char *buf = line->text; size_t n_bytes = line->length; char *ebuf = buf + n_bytes; if (!output_file && debug) { /* Convert TAB to '>' and EOL to \n, and then output debugging info. */ char const *c = buf; while (c < ebuf) { char wc = *c++; if (wc == '\t') wc = '>'; else if (c == ebuf) wc = '\n'; if (fputc (wc, fp) == EOF) die (_("write failed"), output_file); } debug_line (line); } else { ebuf[-1] = eolchar; if (fwrite (buf, 1, n_bytes, fp) != n_bytes) die (_("write failed"), output_file); ebuf[-1] = '\0'; } } /* Check that the lines read from FILE_NAME come in order. Return true if they are in order. If CHECKONLY == 'c', also print a diagnostic (FILE_NAME, line number, contents of line) to stderr if they are not in order. */ static bool check (char const *file_name, char checkonly) { FILE *fp = xfopen (file_name, "r"); struct buffer buf; /* Input buffer. */ struct line temp; /* Copy of previous line. */ size_t alloc = 0; uintmax_t line_number = 0; struct keyfield const *key = keylist; bool nonunique = ! unique; bool ordered = true; initbuf (&buf, sizeof (struct line), MAX (merge_buffer_size, sort_size)); temp.text = NULL; while (fillbuf (&buf, fp, file_name)) { struct line const *line = buffer_linelim (&buf); struct line const *linebase = line - buf.nlines; /* Make sure the line saved from the old buffer contents is less than or equal to the first line of the new buffer. */ if (alloc && nonunique <= compare (&temp, line - 1)) { found_disorder: { if (checkonly == 'c') { struct line const *disorder_line = line - 1; uintmax_t disorder_line_number = buffer_linelim (&buf) - disorder_line + line_number; char hr_buf[INT_BUFSIZE_BOUND (disorder_line_number)]; fprintf (stderr, _("%s: %s:%s: disorder: "), program_name, file_name, umaxtostr (disorder_line_number, hr_buf)); write_line (disorder_line, stderr, _("standard error")); } ordered = false; break; } } /* Compare each line in the buffer with its successor. */ while (linebase < --line) if (nonunique <= compare (line, line - 1)) goto found_disorder; line_number += buf.nlines; /* Save the last line of the buffer. */ if (alloc < line->length) { do { alloc *= 2; if (! alloc) { alloc = line->length; break; } } while (alloc < line->length); free (temp.text); temp.text = xmalloc (alloc); } memcpy (temp.text, line->text, line->length); temp.length = line->length; if (key) { temp.keybeg = temp.text + (line->keybeg - line->text); temp.keylim = temp.text + (line->keylim - line->text); } } xfclose (fp, file_name); free (buf.buf); free (temp.text); return ordered; } /* Open FILES (there are NFILES of them) and store the resulting array of stream pointers into (*PFPS). Allocate the array. Return the number of successfully opened files, setting errno if this value is less than NFILES. */ static size_t open_input_files (struct sortfile *files, size_t nfiles, FILE ***pfps) { FILE **fps = *pfps = xnmalloc (nfiles, sizeof *fps); int i; /* Open as many input files as we can. */ for (i = 0; i < nfiles; i++) { fps[i] = (files[i].temp && files[i].temp->state != UNCOMPRESSED ? open_temp (files[i].temp) : stream_open (files[i].name, "r")); if (!fps[i]) break; } return i; } /* Merge lines from FILES onto OFP. NTEMPS is the number of temporary files (all of which are at the start of the FILES array), and NFILES is the number of files; 0 <= NTEMPS <= NFILES <= NMERGE. FPS is the vector of open stream corresponding to the files. Close input and output streams before returning. OUTPUT_FILE gives the name of the output file. If it is NULL, the output file is standard output. */ static void mergefps (struct sortfile *files, size_t ntemps, size_t nfiles, FILE *ofp, char const *output_file, FILE **fps) { struct buffer *buffer = xnmalloc (nfiles, sizeof *buffer); /* Input buffers for each file. */ struct line saved; /* Saved line storage for unique check. */ struct line const *savedline = NULL; /* &saved if there is a saved line. */ size_t savealloc = 0; /* Size allocated for the saved line. */ struct line const **cur = xnmalloc (nfiles, sizeof *cur); /* Current line in each line table. */ struct line const **base = xnmalloc (nfiles, sizeof *base); /* Base of each line table. */ size_t *ord = xnmalloc (nfiles, sizeof *ord); /* Table representing a permutation of fps, such that cur[ord[0]] is the smallest line and will be next output. */ size_t i; size_t j; size_t t; struct keyfield const *key = keylist; saved.text = NULL; /* Read initial lines from each input file. */ for (i = 0; i < nfiles; ) { initbuf (&buffer[i], sizeof (struct line), MAX (merge_buffer_size, sort_size / nfiles)); if (fillbuf (&buffer[i], fps[i], files[i].name)) { struct line const *linelim = buffer_linelim (&buffer[i]); cur[i] = linelim - 1; base[i] = linelim - buffer[i].nlines; i++; } else { /* fps[i] is empty; eliminate it from future consideration. */ xfclose (fps[i], files[i].name); if (i < ntemps) { ntemps--; zaptemp (files[i].name); } free (buffer[i].buf); --nfiles; for (j = i; j < nfiles; ++j) { files[j] = files[j + 1]; fps[j] = fps[j + 1]; } } } /* Set up the ord table according to comparisons among input lines. Since this only reorders two items if one is strictly greater than the other, it is stable. */ for (i = 0; i < nfiles; ++i) ord[i] = i; for (i = 1; i < nfiles; ++i) if (0 < compare (cur[ord[i - 1]], cur[ord[i]])) t = ord[i - 1], ord[i - 1] = ord[i], ord[i] = t, i = 0; /* Repeatedly output the smallest line until no input remains. */ while (nfiles) { struct line const *smallest = cur[ord[0]]; /* If uniquified output is turned on, output only the first of an identical series of lines. */ if (unique) { if (savedline && compare (savedline, smallest)) { savedline = NULL; write_line (&saved, ofp, output_file); } if (!savedline) { savedline = &saved; if (savealloc < smallest->length) { do if (! savealloc) { savealloc = smallest->length; break; } while ((savealloc *= 2) < smallest->length); free (saved.text); saved.text = xmalloc (savealloc); } saved.length = smallest->length; memcpy (saved.text, smallest->text, saved.length); if (key) { saved.keybeg = saved.text + (smallest->keybeg - smallest->text); saved.keylim = saved.text + (smallest->keylim - smallest->text); } } } else write_line (smallest, ofp, output_file); /* Check if we need to read more lines into core. */ if (base[ord[0]] < smallest) cur[ord[0]] = smallest - 1; else { if (fillbuf (&buffer[ord[0]], fps[ord[0]], files[ord[0]].name)) { struct line const *linelim = buffer_linelim (&buffer[ord[0]]); cur[ord[0]] = linelim - 1; base[ord[0]] = linelim - buffer[ord[0]].nlines; } else { /* We reached EOF on fps[ord[0]]. */ for (i = 1; i < nfiles; ++i) if (ord[i] > ord[0]) --ord[i]; --nfiles; xfclose (fps[ord[0]], files[ord[0]].name); if (ord[0] < ntemps) { ntemps--; zaptemp (files[ord[0]].name); } free (buffer[ord[0]].buf); for (i = ord[0]; i < nfiles; ++i) { fps[i] = fps[i + 1]; files[i] = files[i + 1]; buffer[i] = buffer[i + 1]; cur[i] = cur[i + 1]; base[i] = base[i + 1]; } for (i = 0; i < nfiles; ++i) ord[i] = ord[i + 1]; continue; } } /* The new line just read in may be larger than other lines already in main memory; push it back in the queue until we encounter a line larger than it. Optimize for the common case where the new line is smallest. */ { size_t lo = 1; size_t hi = nfiles; size_t probe = lo; size_t ord0 = ord[0]; size_t count_of_smaller_lines; while (lo < hi) { int cmp = compare (cur[ord0], cur[ord[probe]]); if (cmp < 0 || (cmp == 0 && ord0 < ord[probe])) hi = probe; else lo = probe + 1; probe = (lo + hi) / 2; } count_of_smaller_lines = lo - 1; for (j = 0; j < count_of_smaller_lines; j++) ord[j] = ord[j + 1]; ord[count_of_smaller_lines] = ord0; } } if (unique && savedline) { write_line (&saved, ofp, output_file); free (saved.text); } xfclose (ofp, output_file); free (fps); free (buffer); free (ord); free (base); free (cur); } /* Merge lines from FILES onto OFP. NTEMPS is the number of temporary files (all of which are at the start of the FILES array), and NFILES is the number of files; 0 <= NTEMPS <= NFILES <= NMERGE. Close input and output files before returning. OUTPUT_FILE gives the name of the output file. Return the number of files successfully merged. This number can be less than NFILES if we ran low on file descriptors, but in this case it is never less than 2. */ static size_t mergefiles (struct sortfile *files, size_t ntemps, size_t nfiles, FILE *ofp, char const *output_file) { FILE **fps; size_t nopened = open_input_files (files, nfiles, &fps); if (nopened < nfiles && nopened < 2) die (_("open failed"), files[nopened].name); mergefps (files, ntemps, nopened, ofp, output_file, fps); return nopened; } /* Merge into T (of size NLINES) the two sorted arrays of lines LO (with NLINES / 2 members), and T - (NLINES / 2) (with NLINES - NLINES / 2 members). T and LO point just past their respective arrays, and the arrays are in reverse order. NLINES must be at least 2. */ static void mergelines (struct line *restrict t, size_t nlines, struct line const *restrict lo) { size_t nlo = nlines / 2; size_t nhi = nlines - nlo; struct line *hi = t - nlo; while (true) if (compare (lo - 1, hi - 1) <= 0) { *--t = *--lo; if (! --nlo) { /* HI must equal T now, and there is no need to copy from HI to T. */ return; } } else { *--t = *--hi; if (! --nhi) { do *--t = *--lo; while (--nlo); return; } } } /* Sort the array LINES with NLINES members, using TEMP for temporary space. Do this all within one thread. NLINES must be at least 2. If TO_TEMP, put the sorted output into TEMP, and TEMP is as large as LINES. Otherwise the sort is in-place and TEMP is half-sized. The input and output arrays are in reverse order, and LINES and TEMP point just past the end of their respective arrays. Use a recursive divide-and-conquer algorithm, in the style suggested by Knuth volume 3 (2nd edition), exercise 5.2.4-23. Use the optimization suggested by exercise 5.2.4-10; this requires room for only 1.5*N lines, rather than the usual 2*N lines. Knuth writes that this memory optimization was originally published by D. A. Bell, Comp J. 1 (1958), 75. */ static void sequential_sort (struct line *restrict lines, size_t nlines, struct line *restrict temp, bool to_temp) { if (nlines == 2) { /* Declare 'swap' as int, not bool, to work around a bug in the IBM xlc 6.0.0.0 compiler in 64-bit mode. */ int swap = (0 < compare (&lines[-1], &lines[-2])); if (to_temp) { temp[-1] = lines[-1 - swap]; temp[-2] = lines[-2 + swap]; } else if (swap) { temp[-1] = lines[-1]; lines[-1] = lines[-2]; lines[-2] = temp[-1]; } } else { size_t nlo = nlines / 2; size_t nhi = nlines - nlo; struct line *lo = lines; struct line *hi = lines - nlo; sequential_sort (hi, nhi, temp - (to_temp ? nlo : 0), to_temp); if (1 < nlo) sequential_sort (lo, nlo, temp, !to_temp); else if (!to_temp) temp[-1] = lo[-1]; struct line *dest; struct line const *sorted_lo; if (to_temp) { dest = temp; sorted_lo = lines; } else { dest = lines; sorted_lo = temp; } mergelines (dest, nlines, sorted_lo); } } static struct merge_node *init_node (struct merge_node *restrict, struct merge_node *restrict, struct line *, size_t, size_t, bool); /* Create and return a merge tree for NTHREADS threads, sorting NLINES lines, with destination DEST. */ static struct merge_node * merge_tree_init (size_t nthreads, size_t nlines, struct line *dest) { struct merge_node *merge_tree = xmalloc (2 * sizeof *merge_tree * nthreads); struct merge_node *root = merge_tree; root->lo = root->hi = root->end_lo = root->end_hi = NULL; root->dest = NULL; root->nlo = root->nhi = nlines; root->parent = NULL; root->level = MERGE_END; root->queued = false; pthread_mutex_init (&root->lock, NULL); init_node (root, root + 1, dest, nthreads, nlines, false); return merge_tree; } /* Destroy the merge tree. */ static void merge_tree_destroy (struct merge_node *merge_tree) { free (merge_tree); } /* Initialize a merge tree node and its descendants. The node's parent is PARENT. The node and its descendants are taken from the array of nodes NODE_POOL. Their destination starts at DEST; they will consume NTHREADS threads. The total number of sort lines is TOTAL_LINES. IS_LO_CHILD is true if the node is the low child of its parent. */ static struct merge_node * init_node (struct merge_node *restrict parent, struct merge_node *restrict node_pool, struct line *dest, size_t nthreads, size_t total_lines, bool is_lo_child) { size_t nlines = (is_lo_child ? parent->nlo : parent->nhi); size_t nlo = nlines / 2; size_t nhi = nlines - nlo; struct line *lo = dest - total_lines; struct line *hi = lo - nlo; struct line **parent_end = (is_lo_child ? &parent->end_lo : &parent->end_hi); struct merge_node *node = node_pool++; node->lo = node->end_lo = lo; node->hi = node->end_hi = hi; node->dest = parent_end; node->nlo = nlo; node->nhi = nhi; node->parent = parent; node->level = parent->level + 1; node->queued = false; pthread_mutex_init (&node->lock, NULL); if (nthreads > 1) { size_t lo_threads = nthreads / 2; size_t hi_threads = nthreads - lo_threads; node->lo_child = node_pool; node_pool = init_node (node, node_pool, lo, lo_threads, total_lines, true); node->hi_child = node_pool; node_pool = init_node (node, node_pool, hi, hi_threads, total_lines, false); } else { node->lo_child = NULL; node->hi_child = NULL; } return node_pool; } /* Compare two merge nodes A and B for priority. */ static int compare_nodes (void const *a, void const *b) { struct merge_node const *nodea = a; struct merge_node const *nodeb = b; if (nodea->level == nodeb->level) return (nodea->nlo + nodea->nhi) < (nodeb->nlo + nodeb->nhi); return nodea->level < nodeb->level; } /* Lock a merge tree NODE. */ static inline void lock_node (struct merge_node *node) { pthread_mutex_lock (&node->lock); } /* Unlock a merge tree NODE. */ static inline void unlock_node (struct merge_node *node) { pthread_mutex_unlock (&node->lock); } /* Destroy merge QUEUE. */ static void queue_destroy (struct merge_node_queue *queue) { heap_free (queue->priority_queue); pthread_cond_destroy (&queue->cond); pthread_mutex_destroy (&queue->mutex); } /* Initialize merge QUEUE, allocating space suitable for a maximum of NTHREADS threads. */ static void queue_init (struct merge_node_queue *queue, size_t nthreads) { /* Though it's highly unlikely all nodes are in the heap at the same time, the heap should accommodate all of them. Counting a NULL dummy head for the heap, reserve 2 * NTHREADS nodes. */ queue->priority_queue = heap_alloc (compare_nodes, 2 * nthreads); pthread_mutex_init (&queue->mutex, NULL); pthread_cond_init (&queue->cond, NULL); } /* Insert NODE into QUEUE. The caller either holds a lock on NODE, or does not need to lock NODE. */ static void queue_insert (struct merge_node_queue *queue, struct merge_node *node) { pthread_mutex_lock (&queue->mutex); heap_insert (queue->priority_queue, node); node->queued = true; pthread_mutex_unlock (&queue->mutex); pthread_cond_signal (&queue->cond); } /* Pop the top node off the priority QUEUE, lock the node, return it. */ static struct merge_node * queue_pop (struct merge_node_queue *queue) { struct merge_node *node; pthread_mutex_lock (&queue->mutex); while (! (node = heap_remove_top (queue->priority_queue))) pthread_cond_wait (&queue->cond, &queue->mutex); pthread_mutex_unlock (&queue->mutex); lock_node (node); node->queued = false; return node; } /* Output LINE to TFP, unless -u is specified and the line compares equal to the previous line. TEMP_OUTPUT is the name of TFP, or is null if TFP is standard output. This function does not save the line for comparison later, so it is appropriate only for internal sort. */ static void write_unique (struct line const *line, FILE *tfp, char const *temp_output) { if (unique) { if (saved_line.text && ! compare (line, &saved_line)) return; saved_line = *line; } write_line (line, tfp, temp_output); } /* Merge the lines currently available to a NODE in the binary merge tree. Merge a number of lines appropriate for this merge level, assuming TOTAL_LINES is the total number of lines. If merging at the top level, send output to TFP. TEMP_OUTPUT is the name of TFP, or is null if TFP is standard output. */ static void mergelines_node (struct merge_node *restrict node, size_t total_lines, FILE *tfp, char const *temp_output) { struct line *lo_orig = node->lo; struct line *hi_orig = node->hi; size_t to_merge = MAX_MERGE (total_lines, node->level); size_t merged_lo; size_t merged_hi; if (node->level > MERGE_ROOT) { /* Merge to destination buffer. */ struct line *dest = *node->dest; while (node->lo != node->end_lo && node->hi != node->end_hi && to_merge--) if (compare (node->lo - 1, node->hi - 1) <= 0) *--dest = *--node->lo; else *--dest = *--node->hi; merged_lo = lo_orig - node->lo; merged_hi = hi_orig - node->hi; if (node->nhi == merged_hi) while (node->lo != node->end_lo && to_merge--) *--dest = *--node->lo; else if (node->nlo == merged_lo) while (node->hi != node->end_hi && to_merge--) *--dest = *--node->hi; *node->dest = dest; } else { /* Merge directly to output. */ while (node->lo != node->end_lo && node->hi != node->end_hi && to_merge--) { if (compare (node->lo - 1, node->hi - 1) <= 0) write_unique (--node->lo, tfp, temp_output); else write_unique (--node->hi, tfp, temp_output); } merged_lo = lo_orig - node->lo; merged_hi = hi_orig - node->hi; if (node->nhi == merged_hi) { while (node->lo != node->end_lo && to_merge--) write_unique (--node->lo, tfp, temp_output); } else if (node->nlo == merged_lo) { while (node->hi != node->end_hi && to_merge--) write_unique (--node->hi, tfp, temp_output); } } /* Update NODE. */ merged_lo = lo_orig - node->lo; merged_hi = hi_orig - node->hi; node->nlo -= merged_lo; node->nhi -= merged_hi; } /* Into QUEUE, insert NODE if it is not already queued, and if one of NODE's children has available lines and the other either has available lines or has exhausted its lines. */ static void queue_check_insert (struct merge_node_queue *queue, struct merge_node *node) { if (! node->queued) { bool lo_avail = (node->lo - node->end_lo) != 0; bool hi_avail = (node->hi - node->end_hi) != 0; if (lo_avail ? hi_avail || ! node->nhi : hi_avail && ! node->nlo) queue_insert (queue, node); } } /* Into QUEUE, insert NODE's parent if the parent can now be worked on. */ static void queue_check_insert_parent (struct merge_node_queue *queue, struct merge_node *node) { if (node->level > MERGE_ROOT) { lock_node (node->parent); queue_check_insert (queue, node->parent); unlock_node (node->parent); } else if (node->nlo + node->nhi == 0) { /* If the MERGE_ROOT NODE has finished merging, insert the MERGE_END node. */ queue_insert (queue, node->parent); } } /* Repeatedly pop QUEUE for a node with lines to merge, and merge at least some of those lines, until the MERGE_END node is popped. TOTAL_LINES is the total number of lines. If merging at the top level, send output to TFP. TEMP_OUTPUT is the name of TFP, or is null if TFP is standard output. */ static void merge_loop (struct merge_node_queue *queue, size_t total_lines, FILE *tfp, char const *temp_output) { while (1) { struct merge_node *node = queue_pop (queue); if (node->level == MERGE_END) { unlock_node (node); /* Reinsert so other threads can pop it. */ queue_insert (queue, node); break; } mergelines_node (node, total_lines, tfp, temp_output); queue_check_insert (queue, node); queue_check_insert_parent (queue, node); unlock_node (node); } } static void sortlines (struct line *restrict, size_t, size_t, struct merge_node *, struct merge_node_queue *, FILE *, char const *); /* Thread arguments for sortlines_thread. */ struct thread_args { /* Source, i.e., the array of lines to sort. This points just past the end of the array. */ struct line *lines; /* Number of threads to use. If 0 or 1, sort single-threaded. */ size_t nthreads; /* Number of lines in LINES and DEST. */ size_t const total_lines; /* Merge node. Lines from this node and this node's sibling will merged to this node's parent. */ struct merge_node *const node; /* The priority queue controlling available work for the entire internal sort. */ struct merge_node_queue *const queue; /* If at the top level, the file to output to, and the file's name. If the file is standard output, the file's name is null. */ FILE *tfp; char const *output_temp; }; /* Like sortlines, except with a signature acceptable to pthread_create. */ static void * sortlines_thread (void *data) { struct thread_args const *args = data; sortlines (args->lines, args->nthreads, args->total_lines, args->node, args->queue, args->tfp, args->output_temp); return NULL; } /* Sort lines, possibly in parallel. The arguments are as in struct thread_args above. The algorithm has three phases: node creation, sequential sort, and binary merge. During node creation, sortlines recursively visits each node in the binary merge tree and creates a NODE structure corresponding to all the future line merging NODE is responsible for. For each call to sortlines, half the available threads are assigned to each recursive call, until a leaf node having only 1 available thread is reached. Each leaf node then performs two sequential sorts, one on each half of the lines it is responsible for. It records in its NODE structure that there are two sorted sublists available to merge from, and inserts its NODE into the priority queue. The binary merge phase then begins. Each thread drops into a loop where the thread retrieves a NODE from the priority queue, merges lines available to that NODE, and potentially insert NODE or its parent back into the queue if there are sufficient available lines for them to merge. This continues until all lines at all nodes of the merge tree have been merged. */ static void sortlines (struct line *restrict lines, size_t nthreads, size_t total_lines, struct merge_node *node, struct merge_node_queue *queue, FILE *tfp, char const *temp_output) { size_t nlines = node->nlo + node->nhi; /* Calculate thread arguments. */ size_t lo_threads = nthreads / 2; size_t hi_threads = nthreads - lo_threads; pthread_t thread; struct thread_args args = {lines, lo_threads, total_lines, node->lo_child, queue, tfp, temp_output}; if (nthreads > 1 && SUBTHREAD_LINES_HEURISTIC <= nlines && pthread_create (&thread, NULL, sortlines_thread, &args) == 0) { sortlines (lines - node->nlo, hi_threads, total_lines, node->hi_child, queue, tfp, temp_output); pthread_join (thread, NULL); } else { /* Nthreads = 1, this is a leaf NODE, or pthread_create failed. Sort with 1 thread. */ size_t nlo = node->nlo; size_t nhi = node->nhi; struct line *temp = lines - total_lines; if (1 < nhi) sequential_sort (lines - nlo, nhi, temp - nlo / 2, false); if (1 < nlo) sequential_sort (lines, nlo, temp, false); /* Update merge NODE. No need to lock yet. */ node->lo = lines; node->hi = lines - nlo; node->end_lo = lines - nlo; node->end_hi = lines - nlo - nhi; queue_insert (queue, node); merge_loop (queue, total_lines, tfp, temp_output); } pthread_mutex_destroy (&node->lock); } /* Scan through FILES[NTEMPS .. NFILES-1] looking for files that are the same as OUTFILE. If found, replace each with the same temporary copy that can be merged into OUTFILE without destroying OUTFILE before it is completely read. This temporary copy does not count as a merge temp, so don't worry about incrementing NTEMPS in the caller; final cleanup will remove it, not zaptemp. This test ensures that an otherwise-erroneous use like "sort -m -o FILE ... FILE ..." copies FILE before writing to it. It's not clear that POSIX requires this nicety. Detect common error cases, but don't try to catch obscure cases like "cat ... FILE ... | sort -m -o FILE" where traditional "sort" doesn't copy the input and where people should know that they're getting into trouble anyway. Catching these obscure cases would slow down performance in common cases. */ static void avoid_trashing_input (struct sortfile *files, size_t ntemps, size_t nfiles, char const *outfile) { size_t i; bool got_outstat = false; struct stat outstat; struct tempnode *tempcopy = NULL; for (i = ntemps; i < nfiles; i++) { bool is_stdin = STREQ (files[i].name, "-"); bool same; struct stat instat; if (outfile && STREQ (outfile, files[i].name) && !is_stdin) same = true; else { if (! got_outstat) { if (fstat (STDOUT_FILENO, &outstat) != 0) break; got_outstat = true; } same = (((is_stdin ? fstat (STDIN_FILENO, &instat) : stat (files[i].name, &instat)) == 0) && SAME_INODE (instat, outstat)); } if (same) { if (! tempcopy) { FILE *tftp; tempcopy = create_temp (&tftp); mergefiles (&files[i], 0, 1, tftp, tempcopy->name); } files[i].name = tempcopy->name; files[i].temp = tempcopy; } } } /* Scan the input files to ensure all are accessible. Otherwise exit with a diagnostic. Note this will catch common issues with permissions etc. but will fail to notice issues where you can open() but not read(), like when a directory is specified on some systems. Catching these obscure cases could slow down performance in common cases. */ static void check_inputs (char *const *files, size_t nfiles) { size_t i; for (i = 0; i < nfiles; i++) { if (STREQ (files[i], "-")) continue; if (euidaccess (files[i], R_OK) != 0) die (_("cannot read"), files[i]); } } /* Ensure a specified output file can be created or written to, and point stdout to it. Do not truncate the file. Exit with a diagnostic on failure. */ static void check_output (char const *outfile) { if (outfile) { int outfd = open (outfile, O_WRONLY | O_CREAT | O_BINARY, MODE_RW_UGO); if (outfd < 0) die (_("open failed"), outfile); move_fd_or_die (outfd, STDOUT_FILENO); } } /* Merge the input FILES. NTEMPS is the number of files at the start of FILES that are temporary; it is zero at the top level. NFILES is the total number of files. Put the output in OUTPUT_FILE; a null OUTPUT_FILE stands for standard output. */ static void merge (struct sortfile *files, size_t ntemps, size_t nfiles, char const *output_file) { while (nmerge < nfiles) { /* Number of input files processed so far. */ size_t in; /* Number of output files generated so far. */ size_t out; /* nfiles % NMERGE; this counts input files that are left over after all full-sized merges have been done. */ size_t remainder; /* Number of easily-available slots at the next loop iteration. */ size_t cheap_slots; /* Do as many NMERGE-size merges as possible. In the case that nmerge is bogus, increment by the maximum number of file descriptors allowed. */ for (out = in = 0; nmerge <= nfiles - in; out++) { FILE *tfp; struct tempnode *temp = create_temp (&tfp); size_t num_merged = mergefiles (&files[in], MIN (ntemps, nmerge), nmerge, tfp, temp->name); ntemps -= MIN (ntemps, num_merged); files[out].name = temp->name; files[out].temp = temp; in += num_merged; } remainder = nfiles - in; cheap_slots = nmerge - out % nmerge; if (cheap_slots < remainder) { /* So many files remain that they can't all be put into the last NMERGE-sized output window. Do one more merge. Merge as few files as possible, to avoid needless I/O. */ size_t nshortmerge = remainder - cheap_slots + 1; FILE *tfp; struct tempnode *temp = create_temp (&tfp); size_t num_merged = mergefiles (&files[in], MIN (ntemps, nshortmerge), nshortmerge, tfp, temp->name); ntemps -= MIN (ntemps, num_merged); files[out].name = temp->name; files[out++].temp = temp; in += num_merged; } /* Put the remaining input files into the last NMERGE-sized output window, so they will be merged in the next pass. */ memmove (&files[out], &files[in], (nfiles - in) * sizeof *files); ntemps += out; nfiles -= in - out; } avoid_trashing_input (files, ntemps, nfiles, output_file); /* We aren't guaranteed that this final mergefiles will work, therefore we try to merge into the output, and then merge as much as we can into a temp file if we can't. Repeat. */ while (true) { /* Merge directly into the output file if possible. */ FILE **fps; size_t nopened = open_input_files (files, nfiles, &fps); if (nopened == nfiles) { FILE *ofp = stream_open (output_file, "w"); if (ofp) { mergefps (files, ntemps, nfiles, ofp, output_file, fps); break; } if (errno != EMFILE || nopened <= 2) die (_("open failed"), output_file); } else if (nopened <= 2) die (_("open failed"), files[nopened].name); /* We ran out of file descriptors. Close one of the input files, to gain a file descriptor. Then create a temporary file with our spare file descriptor. Retry if that failed (e.g., some other process could open a file between the time we closed and tried to create). */ FILE *tfp; struct tempnode *temp; do { nopened--; xfclose (fps[nopened], files[nopened].name); temp = maybe_create_temp (&tfp, ! (nopened <= 2)); } while (!temp); /* Merge into the newly allocated temporary. */ mergefps (&files[0], MIN (ntemps, nopened), nopened, tfp, temp->name, fps); ntemps -= MIN (ntemps, nopened); files[0].name = temp->name; files[0].temp = temp; memmove (&files[1], &files[nopened], (nfiles - nopened) * sizeof *files); ntemps++; nfiles -= nopened - 1; } } /* Sort NFILES FILES onto OUTPUT_FILE. Use at most NTHREADS threads. */ static void sort (char *const *files, size_t nfiles, char const *output_file, size_t nthreads) { struct buffer buf; IF_LINT (buf.buf = NULL); size_t ntemps = 0; bool output_file_created = false; buf.alloc = 0; while (nfiles) { char const *temp_output; char const *file = *files; FILE *fp = xfopen (file, "r"); FILE *tfp; size_t bytes_per_line; if (nthreads > 1) { /* Get log P. */ size_t tmp = 1; size_t mult = 1; while (tmp < nthreads) { tmp *= 2; mult++; } bytes_per_line = (mult * sizeof (struct line)); } else bytes_per_line = sizeof (struct line) * 3 / 2; if (! buf.alloc) initbuf (&buf, bytes_per_line, sort_buffer_size (&fp, 1, files, nfiles, bytes_per_line)); buf.eof = false; files++; nfiles--; while (fillbuf (&buf, fp, file)) { struct line *line; if (buf.eof && nfiles && (bytes_per_line + 1 < (buf.alloc - buf.used - bytes_per_line * buf.nlines))) { /* End of file, but there is more input and buffer room. Concatenate the next input file; this is faster in the usual case. */ buf.left = buf.used; break; } saved_line.text = NULL; line = buffer_linelim (&buf); if (buf.eof && !nfiles && !ntemps && !buf.left) { xfclose (fp, file); tfp = xfopen (output_file, "w"); temp_output = output_file; output_file_created = true; } else { ++ntemps; temp_output = create_temp (&tfp)->name; } if (1 < buf.nlines) { struct merge_node_queue queue; queue_init (&queue, nthreads); struct merge_node *merge_tree = merge_tree_init (nthreads, buf.nlines, line); struct merge_node *root = merge_tree + 1; sortlines (line, nthreads, buf.nlines, root, &queue, tfp, temp_output); queue_destroy (&queue); pthread_mutex_destroy (&root->lock); merge_tree_destroy (merge_tree); } else write_unique (line - 1, tfp, temp_output); xfclose (tfp, temp_output); if (output_file_created) goto finish; } xfclose (fp, file); } finish: free (buf.buf); if (! output_file_created) { size_t i; struct tempnode *node = temphead; struct sortfile *tempfiles = xnmalloc (ntemps, sizeof *tempfiles); for (i = 0; node; i++) { tempfiles[i].name = node->name; tempfiles[i].temp = node; node = node->next; } merge (tempfiles, ntemps, ntemps, output_file); free (tempfiles); } reap_all (); } /* Insert a malloc'd copy of key KEY_ARG at the end of the key list. */ static void insertkey (struct keyfield *key_arg) { struct keyfield **p; struct keyfield *key = xmemdup (key_arg, sizeof *key); for (p = &keylist; *p; p = &(*p)->next) continue; *p = key; key->next = NULL; } /* Report a bad field specification SPEC, with extra info MSGID. */ static void badfieldspec (char const *, char const *) ATTRIBUTE_NORETURN; static void badfieldspec (char const *spec, char const *msgid) { error (SORT_FAILURE, 0, _("%s: invalid field specification %s"), _(msgid), quote (spec)); abort (); } /* Report incompatible options. */ static void incompatible_options (char const *) ATTRIBUTE_NORETURN; static void incompatible_options (char const *opts) { error (SORT_FAILURE, 0, _("options '-%s' are incompatible"), opts); abort (); } /* Check compatibility of ordering options. */ static void check_ordering_compatibility (void) { struct keyfield *key; for (key = keylist; key; key = key->next) if (1 < (key->numeric + key->general_numeric + key->human_numeric + key->month + (key->version | key->random | !!key->ignore))) { /* The following is too big, but guaranteed to be "big enough". */ char opts[sizeof short_options]; /* Clear flags we're not interested in. */ key->skipsblanks = key->skipeblanks = key->reverse = false; key_to_opts (key, opts); incompatible_options (opts); } } /* Parse the leading integer in STRING and store the resulting value (which must fit into size_t) into *VAL. Return the address of the suffix after the integer. If the value is too large, silently substitute SIZE_MAX. If MSGID is NULL, return NULL after failure; otherwise, report MSGID and exit on failure. */ static char const * parse_field_count (char const *string, size_t *val, char const *msgid) { char *suffix; uintmax_t n; switch (xstrtoumax (string, &suffix, 10, &n, "")) { case LONGINT_OK: case LONGINT_INVALID_SUFFIX_CHAR: *val = n; if (*val == n) break; /* Fall through. */ case LONGINT_OVERFLOW: case LONGINT_OVERFLOW | LONGINT_INVALID_SUFFIX_CHAR: *val = SIZE_MAX; break; case LONGINT_INVALID: if (msgid) error (SORT_FAILURE, 0, _("%s: invalid count at start of %s"), _(msgid), quote (string)); return NULL; } return suffix; } /* Handle interrupts and hangups. */ static void sighandler (int sig) { if (! SA_NOCLDSTOP) signal (sig, SIG_IGN); cleanup (); signal (sig, SIG_DFL); raise (sig); } /* Set the ordering options for KEY specified in S. Return the address of the first character in S that is not a valid ordering option. BLANKTYPE is the kind of blanks that 'b' should skip. */ static char * set_ordering (char const *s, struct keyfield *key, enum blanktype blanktype) { while (*s) { switch (*s) { case 'b': if (blanktype == bl_start || blanktype == bl_both) key->skipsblanks = true; if (blanktype == bl_end || blanktype == bl_both) key->skipeblanks = true; break; case 'd': key->ignore = nondictionary; break; case 'f': key->translate = fold_toupper; break; case 'g': key->general_numeric = true; break; case 'h': key->human_numeric = true; break; case 'i': /* Option order should not matter, so don't let -i override -d. -d implies -i, but -i does not imply -d. */ if (! key->ignore) key->ignore = nonprinting; break; case 'M': key->month = true; break; case 'n': key->numeric = true; break; case 'R': key->random = true; break; case 'r': key->reverse = true; break; case 'V': key->version = true; break; default: return (char *) s; } ++s; } return (char *) s; } /* Initialize KEY. */ static struct keyfield * key_init (struct keyfield *key) { memset (key, 0, sizeof *key); key->eword = SIZE_MAX; return key; } int main (int argc, char **argv) { struct keyfield *key; struct keyfield key_buf; struct keyfield gkey; bool gkey_only = false; char const *s; int c = 0; char checkonly = 0; bool mergeonly = false; char *random_source = NULL; bool need_random = false; size_t nthreads = 0; size_t nfiles = 0; bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); bool obsolete_usage = (posix2_version () < 200112); char **files; char *files_from = NULL; struct Tokens tok; char const *outfile = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (SORT_FAILURE); hard_LC_COLLATE = hard_locale (LC_COLLATE); #if HAVE_NL_LANGINFO hard_LC_TIME = hard_locale (LC_TIME); #endif /* Get locale's representation of the decimal point. */ { struct lconv const *locale = localeconv (); /* If the locale doesn't define a decimal point, or if the decimal point is multibyte, use the C locale's decimal point. FIXME: add support for multibyte decimal points. */ decimal_point = to_uchar (locale->decimal_point[0]); if (! decimal_point || locale->decimal_point[1]) decimal_point = '.'; /* FIXME: add support for multibyte thousands separators. */ thousands_sep = to_uchar (*locale->thousands_sep); if (! thousands_sep || locale->thousands_sep[1]) thousands_sep = -1; } have_read_stdin = false; inittables (); { size_t i; static int const sig[] = { /* The usual suspects. */ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, #ifdef SIGPOLL SIGPOLL, #endif #ifdef SIGPROF SIGPROF, #endif #ifdef SIGVTALRM SIGVTALRM, #endif #ifdef SIGXCPU SIGXCPU, #endif #ifdef SIGXFSZ SIGXFSZ, #endif }; enum { nsigs = ARRAY_CARDINALITY (sig) }; #if SA_NOCLDSTOP struct sigaction act; sigemptyset (&caught_signals); for (i = 0; i < nsigs; i++) { sigaction (sig[i], NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&caught_signals, sig[i]); } act.sa_handler = sighandler; act.sa_mask = caught_signals; act.sa_flags = 0; for (i = 0; i < nsigs; i++) if (sigismember (&caught_signals, sig[i])) sigaction (sig[i], &act, NULL); #else for (i = 0; i < nsigs; i++) if (signal (sig[i], SIG_IGN) != SIG_IGN) { signal (sig[i], sighandler); siginterrupt (sig[i], 1); } #endif } signal (SIGCHLD, SIG_DFL); /* Don't inherit CHLD handling from parent. */ /* The signal mask is known, so it is safe to invoke exit_cleanup. */ atexit (exit_cleanup); key_init (&gkey); gkey.sword = SIZE_MAX; files = xnmalloc (argc, sizeof *files); while (true) { /* Parse an operand as a file after "--" was seen; or if pedantic and a file was seen, unless the POSIX version predates 1003.1-2001 and -c was not seen and the operand is "-o FILE" or "-oFILE". */ int oi = -1; if (c == -1 || (posixly_correct && nfiles != 0 && ! (obsolete_usage && ! checkonly && optind != argc && argv[optind][0] == '-' && argv[optind][1] == 'o' && (argv[optind][2] || optind + 1 != argc))) || ((c = getopt_long (argc, argv, short_options, long_options, &oi)) == -1)) { if (argc <= optind) break; files[nfiles++] = argv[optind++]; } else switch (c) { case 1: key = NULL; if (optarg[0] == '+') { bool minus_pos_usage = (optind != argc && argv[optind][0] == '-' && ISDIGIT (argv[optind][1])); obsolete_usage |= minus_pos_usage && !posixly_correct; if (obsolete_usage) { /* Treat +POS1 [-POS2] as a key if possible; but silently treat an operand as a file if it is not a valid +POS1. */ key = key_init (&key_buf); s = parse_field_count (optarg + 1, &key->sword, NULL); if (s && *s == '.') s = parse_field_count (s + 1, &key->schar, NULL); if (! (key->sword || key->schar)) key->sword = SIZE_MAX; if (! s || *set_ordering (s, key, bl_start)) key = NULL; else { if (minus_pos_usage) { char const *optarg1 = argv[optind++]; s = parse_field_count (optarg1 + 1, &key->eword, N_("invalid number after '-'")); /* When called with a non-NULL message ID, parse_field_count cannot return NULL. Tell static analysis tools that dereferencing S is safe. */ assert (s); if (*s == '.') s = parse_field_count (s + 1, &key->echar, N_("invalid number after '.'")); if (!key->echar && key->eword) { /* obsolescent syntax +A.x -B.y is equivalent to: -k A+1.x+1,B.y (when y = 0) -k A+1.x+1,B+1.y (when y > 0) So eword is decremented as in the -k case only when the end field (B) is specified and echar (y) is 0. */ key->eword--; } if (*set_ordering (s, key, bl_end)) badfieldspec (optarg1, N_("stray character in field spec")); } key->obsolete_used = true; insertkey (key); } } } if (! key) files[nfiles++] = optarg; break; case SORT_OPTION: c = XARGMATCH ("--sort", optarg, sort_args, sort_types); /* Fall through. */ case 'b': case 'd': case 'f': case 'g': case 'h': case 'i': case 'M': case 'n': case 'r': case 'R': case 'V': { char str[2]; str[0] = c; str[1] = '\0'; set_ordering (str, &gkey, bl_both); } break; case CHECK_OPTION: c = (optarg ? XARGMATCH ("--check", optarg, check_args, check_types) : 'c'); /* Fall through. */ case 'c': case 'C': if (checkonly && checkonly != c) incompatible_options ("cC"); checkonly = c; break; case COMPRESS_PROGRAM_OPTION: if (compress_program && !STREQ (compress_program, optarg)) error (SORT_FAILURE, 0, _("multiple compress programs specified")); compress_program = optarg; break; case DEBUG_PROGRAM_OPTION: debug = true; break; case FILES0_FROM_OPTION: files_from = optarg; break; case 'k': key = key_init (&key_buf); /* Get POS1. */ s = parse_field_count (optarg, &key->sword, N_("invalid number at field start")); if (! key->sword--) { /* Provoke with 'sort -k0' */ badfieldspec (optarg, N_("field number is zero")); } if (*s == '.') { s = parse_field_count (s + 1, &key->schar, N_("invalid number after '.'")); if (! key->schar--) { /* Provoke with 'sort -k1.0' */ badfieldspec (optarg, N_("character offset is zero")); } } if (! (key->sword || key->schar)) key->sword = SIZE_MAX; s = set_ordering (s, key, bl_start); if (*s != ',') { key->eword = SIZE_MAX; key->echar = 0; } else { /* Get POS2. */ s = parse_field_count (s + 1, &key->eword, N_("invalid number after ','")); if (! key->eword--) { /* Provoke with 'sort -k1,0' */ badfieldspec (optarg, N_("field number is zero")); } if (*s == '.') { s = parse_field_count (s + 1, &key->echar, N_("invalid number after '.'")); } s = set_ordering (s, key, bl_end); } if (*s) badfieldspec (optarg, N_("stray character in field spec")); insertkey (key); break; case 'm': mergeonly = true; break; case NMERGE_OPTION: specify_nmerge (oi, c, optarg); break; case 'o': if (outfile && !STREQ (outfile, optarg)) error (SORT_FAILURE, 0, _("multiple output files specified")); outfile = optarg; break; case RANDOM_SOURCE_OPTION: if (random_source && !STREQ (random_source, optarg)) error (SORT_FAILURE, 0, _("multiple random sources specified")); random_source = optarg; break; case 's': stable = true; break; case 'S': specify_sort_size (oi, c, optarg); break; case 't': { char newtab = optarg[0]; if (! newtab) error (SORT_FAILURE, 0, _("empty tab")); if (optarg[1]) { if (STREQ (optarg, "\\0")) newtab = '\0'; else { /* Provoke with 'sort -txx'. Complain about "multi-character tab" instead of "multibyte tab", so that the diagnostic's wording does not need to be changed once multibyte characters are supported. */ error (SORT_FAILURE, 0, _("multi-character tab %s"), quote (optarg)); } } if (tab != TAB_DEFAULT && tab != newtab) error (SORT_FAILURE, 0, _("incompatible tabs")); tab = newtab; } break; case 'T': add_temp_dir (optarg); break; case PARALLEL_OPTION: nthreads = specify_nthreads (oi, c, optarg); break; case 'u': unique = true; break; case 'y': /* Accept and ignore e.g. -y0 for compatibility with Solaris 2.x through Solaris 7. It is also accepted by many non-Solaris "sort" implementations, e.g., AIX 5.2, HP-UX 11i v2, IRIX 6.5. -y is marked as obsolete starting with Solaris 8 (1999), but is still accepted as of Solaris 10 prerelease (2004). Solaris 2.5.1 "sort -y 100" reads the input file "100", but emulate Solaris 8 and 9 "sort -y 100" which ignores the "100", and which in general ignores the argument after "-y" if it consists entirely of digits (it can even be empty). */ if (optarg == argv[optind - 1]) { char const *p; for (p = optarg; ISDIGIT (*p); p++) continue; optind -= (*p != '\0'); } break; case 'z': eolchar = 0; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (SORT_FAILURE); } } if (files_from) { FILE *stream; /* When using --files0-from=F, you may not specify any files on the command-line. */ if (nfiles) { error (0, 0, _("extra operand %s"), quote (files[0])); fprintf (stderr, "%s\n", _("file operands cannot be combined with --files0-from")); usage (SORT_FAILURE); } if (STREQ (files_from, "-")) stream = stdin; else { stream = fopen (files_from, "r"); if (stream == NULL) error (SORT_FAILURE, errno, _("cannot open %s for reading"), quote (files_from)); } readtokens0_init (&tok); if (! readtokens0 (stream, &tok) || fclose (stream) != 0) error (SORT_FAILURE, 0, _("cannot read file names from %s"), quote (files_from)); if (tok.n_tok) { size_t i; free (files); files = tok.tok; nfiles = tok.n_tok; for (i = 0; i < nfiles; i++) { if (STREQ (files[i], "-")) error (SORT_FAILURE, 0, _("when reading file names from stdin, " "no file name of %s allowed"), quote (files[i])); else if (files[i][0] == '\0') { /* Using the standard 'filename:line-number:' prefix here is not totally appropriate, since NUL is the separator, not NL, but it might be better than nothing. */ unsigned long int file_number = i + 1; error (SORT_FAILURE, 0, _("%s:%lu: invalid zero-length file name"), quotearg_colon (files_from), file_number); } } } else error (SORT_FAILURE, 0, _("no input from %s"), quote (files_from)); } /* Inheritance of global options to individual keys. */ for (key = keylist; key; key = key->next) { if (default_key_compare (key) && !key->reverse) { key->ignore = gkey.ignore; key->translate = gkey.translate; key->skipsblanks = gkey.skipsblanks; key->skipeblanks = gkey.skipeblanks; key->month = gkey.month; key->numeric = gkey.numeric; key->general_numeric = gkey.general_numeric; key->human_numeric = gkey.human_numeric; key->version = gkey.version; key->random = gkey.random; key->reverse = gkey.reverse; } need_random |= key->random; } if (!keylist && !default_key_compare (&gkey)) { gkey_only = true; insertkey (&gkey); need_random |= gkey.random; } check_ordering_compatibility (); if (debug) { if (checkonly || outfile) { static char opts[] = "X --debug"; opts[0] = (checkonly ? checkonly : 'o'); incompatible_options (opts); } /* Always output the locale in debug mode, since this is such a common source of confusion. */ if (hard_LC_COLLATE) error (0, 0, _("using %s sorting rules"), quote (setlocale (LC_COLLATE, NULL))); else error (0, 0, _("using simple byte comparison")); key_warnings (&gkey, gkey_only); } reverse = gkey.reverse; if (need_random) random_md5_state_init (random_source); if (temp_dir_count == 0) { char const *tmp_dir = getenv ("TMPDIR"); add_temp_dir (tmp_dir ? tmp_dir : DEFAULT_TMPDIR); } if (nfiles == 0) { static char *minus = (char *) "-"; nfiles = 1; free (files); files = − } /* Need to re-check that we meet the minimum requirement for memory usage with the final value for NMERGE. */ if (0 < sort_size) sort_size = MAX (sort_size, MIN_SORT_SIZE); if (checkonly) { if (nfiles > 1) error (SORT_FAILURE, 0, _("extra operand %s not allowed with -%c"), quote (files[1]), checkonly); if (outfile) { static char opts[] = {0, 'o', 0}; opts[0] = checkonly; incompatible_options (opts); } /* POSIX requires that sort return 1 IFF invoked with -c or -C and the input is not properly sorted. */ exit (check (files[0], checkonly) ? EXIT_SUCCESS : SORT_OUT_OF_ORDER); } /* Check all inputs are accessible, or exit immediately. */ check_inputs (files, nfiles); /* Check output is writable, or exit immediately. */ check_output (outfile); if (mergeonly) { struct sortfile *sortfiles = xcalloc (nfiles, sizeof *sortfiles); size_t i; for (i = 0; i < nfiles; ++i) sortfiles[i].name = files[i]; merge (sortfiles, 0, nfiles, outfile); IF_LINT (free (sortfiles)); } else { if (!nthreads) { unsigned long int np = num_processors (NPROC_CURRENT_OVERRIDABLE); nthreads = MIN (np, DEFAULT_MAX_THREADS); } /* Avoid integer overflow later. */ size_t nthreads_max = SIZE_MAX / (2 * sizeof (struct merge_node)); nthreads = MIN (nthreads, nthreads_max); sort (files, nfiles, outfile, nthreads); } if (have_read_stdin && fclose (stdin) == EOF) die (_("close failed"), "-"); exit (EXIT_SUCCESS); } coreutils-8.21/src/tee.c0000664000000000000000000001311112102337340012046 00000000000000/* tee - read from standard input and write to standard output and files. Copyright (C) 1985-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Mike Parker, Richard M. Stallman, and David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "stdio--.h" #include "xfreopen.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tee" #define AUTHORS \ proper_name ("Mike Parker"), \ proper_name ("Richard M. Stallman"), \ proper_name ("David MacKenzie") static bool tee_files (int nfiles, const char **files); /* If true, append to output files rather than truncating them. */ static bool append; /* If true, ignore interrupts. */ static bool ignore_interrupts; static struct option const long_options[] = { {"append", no_argument, NULL, 'a'}, {"ignore-interrupts", no_argument, NULL, 'i'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]...\n"), program_name); fputs (_("\ Copy standard input to each FILE, and also to standard output.\n\ \n\ -a, --append append to the given FILEs, do not overwrite\n\ -i, --ignore-interrupts ignore interrupt signals\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If a FILE is -, copy again to standard output.\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { bool ok; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); append = false; ignore_interrupts = false; while ((optc = getopt_long (argc, argv, "ai", long_options, NULL)) != -1) { switch (optc) { case 'a': append = true; break; case 'i': ignore_interrupts = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (ignore_interrupts) signal (SIGINT, SIG_IGN); /* Do *not* warn if tee is given no file arguments. POSIX requires that it work when given no arguments. */ ok = tee_files (argc - optind, (const char **) &argv[optind]); if (close (STDIN_FILENO) != 0) error (EXIT_FAILURE, errno, _("standard input")); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* Copy the standard input into each of the NFILES files in FILES and into the standard output. Return true if successful. */ static bool tee_files (int nfiles, const char **files) { FILE **descriptors; char buffer[BUFSIZ]; ssize_t bytes_read; int i; bool ok = true; char const *mode_string = (O_BINARY ? (append ? "ab" : "wb") : (append ? "a" : "w")); descriptors = xnmalloc (nfiles + 1, sizeof *descriptors); /* Move all the names 'up' one in the argv array to make room for the entry for standard output. This writes into argv[argc]. */ for (i = nfiles; i >= 1; i--) files[i] = files[i - 1]; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); fadvise (stdin, FADVISE_SEQUENTIAL); /* In the array of NFILES + 1 descriptors, make the first one correspond to standard output. */ descriptors[0] = stdout; files[0] = _("standard output"); setvbuf (stdout, NULL, _IONBF, 0); for (i = 1; i <= nfiles; i++) { descriptors[i] = (STREQ (files[i], "-") ? stdout : fopen (files[i], mode_string)); if (descriptors[i] == NULL) { error (0, errno, "%s", files[i]); ok = false; } else setvbuf (descriptors[i], NULL, _IONBF, 0); } while (1) { bytes_read = read (0, buffer, sizeof buffer); if (bytes_read < 0 && errno == EINTR) continue; if (bytes_read <= 0) break; /* Write to all NFILES + 1 descriptors. Standard output is the first one. */ for (i = 0; i <= nfiles; i++) if (descriptors[i] && fwrite (buffer, bytes_read, 1, descriptors[i]) != 1) { error (0, errno, "%s", files[i]); descriptors[i] = NULL; ok = false; } } if (bytes_read == -1) { error (0, errno, _("read error")); ok = false; } /* Close the files, but not standard output. */ for (i = 1; i <= nfiles; i++) if (!STREQ (files[i], "-") && descriptors[i] && fclose (descriptors[i]) != 0) { error (0, errno, "%s", files[i]); ok = false; } free (descriptors); return ok; } coreutils-8.21/src/pinky.c0000664000000000000000000003507212102337340012435 00000000000000/* GNU's pinky. Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Created by hacking who.c by Kaveh Ghazi ghazi@caip.rutgers.edu */ #include #include #include #include #include #include "system.h" #include "canon-host.h" #include "error.h" #include "hard-locale.h" #include "readutmp.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "pinky" #define AUTHORS \ proper_name ("Joseph Arceneaux"), \ proper_name ("David MacKenzie"), \ proper_name ("Kaveh Ghazi") char *ttyname (int); /* If true, display the hours:minutes since each user has touched the keyboard, or blank if within the last minute, or days followed by a 'd' if not within the last day. */ static bool include_idle = true; /* If true, display a line at the top describing each field. */ static bool include_heading = true; /* if true, display the user's full name from pw_gecos. */ static bool include_fullname = true; /* if true, display the user's ~/.project file when doing long format. */ static bool include_project = true; /* if true, display the user's ~/.plan file when doing long format. */ static bool include_plan = true; /* if true, display the user's home directory and shell when doing long format. */ static bool include_home_and_shell = true; /* if true, use the "short" output format. */ static bool do_short_format = true; /* if true, display the ut_host field. */ #ifdef HAVE_UT_HOST static bool include_where = true; #endif /* The strftime format to use for login times, and its expected output width. */ static char const *time_format; static int time_format_width; static struct option const longopts[] = { {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Count and return the number of ampersands in STR. */ static size_t _GL_ATTRIBUTE_PURE count_ampersands (const char *str) { size_t count = 0; do { if (*str == '&') count++; } while (*str++); return count; } /* Create a string (via xmalloc) which contains a full name by substituting for each ampersand in GECOS_NAME the USER_NAME string with its first character capitalized. The caller must ensure that GECOS_NAME contains no ','s. The caller also is responsible for free'ing the return value of this function. */ static char * create_fullname (const char *gecos_name, const char *user_name) { size_t rsize = strlen (gecos_name) + 1; char *result; char *r; size_t ampersands = count_ampersands (gecos_name); if (ampersands != 0) { size_t ulen = strlen (user_name); size_t product = ampersands * ulen; rsize += product - ampersands; if (xalloc_oversized (ulen, ampersands) || rsize < product) xalloc_die (); } r = result = xmalloc (rsize); while (*gecos_name) { if (*gecos_name == '&') { const char *uname = user_name; if (islower (to_uchar (*uname))) *r++ = toupper (to_uchar (*uname++)); while (*uname) *r++ = *uname++; } else { *r++ = *gecos_name; } gecos_name++; } *r = 0; return result; } /* Return a string representing the time between WHEN and the time that this function is first run. */ static const char * idle_string (time_t when) { static time_t now = 0; static char buf[INT_STRLEN_BOUND (long int) + 2]; time_t seconds_idle; if (now == 0) time (&now); seconds_idle = now - when; if (seconds_idle < 60) /* One minute. */ return " "; if (seconds_idle < (24 * 60 * 60)) /* One day. */ { int hours = seconds_idle / (60 * 60); int minutes = (seconds_idle % (60 * 60)) / 60; sprintf (buf, "%02d:%02d", hours, minutes); } else { unsigned long int days = seconds_idle / (24 * 60 * 60); sprintf (buf, "%lud", days); } return buf; } /* Return a time string. */ static const char * time_string (const STRUCT_UTMP *utmp_ent) { static char buf[INT_STRLEN_BOUND (intmax_t) + sizeof "-%m-%d %H:%M"]; /* Don't take the address of UT_TIME_MEMBER directly. Ulrich Drepper wrote: "... GNU libc (and perhaps other libcs as well) have extended utmp file formats which do not use a simple time_t ut_time field. In glibc, ut_time is a macro which selects for backward compatibility the tv_sec member of a struct timeval value." */ time_t t = UT_TIME_MEMBER (utmp_ent); struct tm *tmp = localtime (&t); if (tmp) { strftime (buf, sizeof buf, time_format, tmp); return buf; } else return timetostr (t, buf); } /* Display a line of information about UTMP_ENT. */ static void print_entry (const STRUCT_UTMP *utmp_ent) { struct stat stats; time_t last_change; char mesg; #define DEV_DIR_WITH_TRAILING_SLASH "/dev/" #define DEV_DIR_LEN (sizeof (DEV_DIR_WITH_TRAILING_SLASH) - 1) char line[sizeof (utmp_ent->ut_line) + DEV_DIR_LEN + 1]; char *p = line; /* Copy ut_line into LINE, prepending '/dev/' if ut_line is not already an absolute file name. Some system may put the full, absolute file name in ut_line. */ if ( ! IS_ABSOLUTE_FILE_NAME (utmp_ent->ut_line)) p = stpcpy (p, DEV_DIR_WITH_TRAILING_SLASH); stzncpy (p, utmp_ent->ut_line, sizeof (utmp_ent->ut_line)); if (stat (line, &stats) == 0) { mesg = (stats.st_mode & S_IWGRP) ? ' ' : '*'; last_change = stats.st_atime; } else { mesg = '?'; last_change = 0; } printf ("%-8.*s", UT_USER_SIZE, UT_USER (utmp_ent)); if (include_fullname) { struct passwd *pw; char name[UT_USER_SIZE + 1]; stzncpy (name, UT_USER (utmp_ent), UT_USER_SIZE); pw = getpwnam (name); if (pw == NULL) /* TRANSLATORS: Real name is unknown; at most 19 characters. */ printf (" %19s", _(" ???")); else { char *const comma = strchr (pw->pw_gecos, ','); char *result; if (comma) *comma = '\0'; result = create_fullname (pw->pw_gecos, pw->pw_name); printf (" %-19.19s", result); free (result); } } printf (" %c%-8.*s", mesg, (int) sizeof (utmp_ent->ut_line), utmp_ent->ut_line); if (include_idle) { if (last_change) printf (" %-6s", idle_string (last_change)); else /* TRANSLATORS: Idle time is unknown; at most 5 characters. */ printf (" %-6s", _("?????")); } printf (" %s", time_string (utmp_ent)); #ifdef HAVE_UT_HOST if (include_where && utmp_ent->ut_host[0]) { char ut_host[sizeof (utmp_ent->ut_host) + 1]; char *host = NULL; char *display = NULL; /* Copy the host name into UT_HOST, and ensure it's nul terminated. */ stzncpy (ut_host, utmp_ent->ut_host, sizeof (utmp_ent->ut_host)); /* Look for an X display. */ display = strchr (ut_host, ':'); if (display) *display++ = '\0'; if (*ut_host) /* See if we can canonicalize it. */ host = canon_host (ut_host); if ( ! host) host = ut_host; if (display) printf (" %s:%s", host, display); else printf (" %s", host); if (host != ut_host) free (host); } #endif putchar ('\n'); } /* Display a verbose line of information about UTMP_ENT. */ static void print_long_entry (const char name[]) { struct passwd *pw; pw = getpwnam (name); printf (_("Login name: ")); printf ("%-28s", name); printf (_("In real life: ")); if (pw == NULL) { /* TRANSLATORS: Real name is unknown; no hard limit. */ printf (" %s", _("???\n")); return; } else { char *const comma = strchr (pw->pw_gecos, ','); char *result; if (comma) *comma = '\0'; result = create_fullname (pw->pw_gecos, pw->pw_name); printf (" %s", result); free (result); } putchar ('\n'); if (include_home_and_shell) { printf (_("Directory: ")); printf ("%-29s", pw->pw_dir); printf (_("Shell: ")); printf (" %s", pw->pw_shell); putchar ('\n'); } if (include_project) { FILE *stream; char buf[1024]; const char *const baseproject = "/.project"; char *const project = xmalloc (strlen (pw->pw_dir) + strlen (baseproject) + 1); stpcpy (stpcpy (project, pw->pw_dir), baseproject); stream = fopen (project, "r"); if (stream) { size_t bytes; printf (_("Project: ")); while ((bytes = fread (buf, 1, sizeof (buf), stream)) > 0) fwrite (buf, 1, bytes, stdout); fclose (stream); } free (project); } if (include_plan) { FILE *stream; char buf[1024]; const char *const baseplan = "/.plan"; char *const plan = xmalloc (strlen (pw->pw_dir) + strlen (baseplan) + 1); stpcpy (stpcpy (plan, pw->pw_dir), baseplan); stream = fopen (plan, "r"); if (stream) { size_t bytes; printf (_("Plan:\n")); while ((bytes = fread (buf, 1, sizeof (buf), stream)) > 0) fwrite (buf, 1, bytes, stdout); fclose (stream); } free (plan); } putchar ('\n'); } /* Print the username of each valid entry and the number of valid entries in UTMP_BUF, which should have N elements. */ static void print_heading (void) { printf ("%-8s", _("Login")); if (include_fullname) printf (" %-19s", _("Name")); printf (" %-9s", _(" TTY")); if (include_idle) printf (" %-6s", _("Idle")); printf (" %-*s", time_format_width, _("When")); #ifdef HAVE_UT_HOST if (include_where) printf (" %s", _("Where")); #endif putchar ('\n'); } /* Display UTMP_BUF, which should have N entries. */ static void scan_entries (size_t n, const STRUCT_UTMP *utmp_buf, const int argc_names, char *const argv_names[]) { if (hard_locale (LC_TIME)) { time_format = "%Y-%m-%d %H:%M"; time_format_width = 4 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2; } else { time_format = "%b %e %H:%M"; time_format_width = 3 + 1 + 2 + 1 + 2 + 1 + 2; } if (include_heading) print_heading (); while (n--) { if (IS_USER_PROCESS (utmp_buf)) { if (argc_names) { int i; for (i = 0; i < argc_names; i++) if (strncmp (UT_USER (utmp_buf), argv_names[i], UT_USER_SIZE) == 0) { print_entry (utmp_buf); break; } } else print_entry (utmp_buf); } utmp_buf++; } } /* Display a list of who is on the system, according to utmp file FILENAME. */ static void short_pinky (const char *filename, const int argc_names, char *const argv_names[]) { size_t n_users; STRUCT_UTMP *utmp_buf; if (read_utmp (filename, &n_users, &utmp_buf, 0) != 0) error (EXIT_FAILURE, errno, "%s", filename); scan_entries (n_users, utmp_buf, argc_names, argv_names); } static void long_pinky (const int argc_names, char *const argv_names[]) { int i; for (i = 0; i < argc_names; i++) print_long_entry (argv_names[i]); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [USER]...\n"), program_name); fputs (_("\ \n\ -l produce long format output for the specified USERs\n\ -b omit the user's home directory and shell in long format\n\ -h omit the user's project file in long format\n\ -p omit the user's plan file in long format\n\ -s do short format output, this is the default\n\ "), stdout); fputs (_("\ -f omit the line of column headings in short format\n\ -w omit the user's full name in short format\n\ -i omit the user's full name and remote host in short format\n\ -q omit the user's full name, remote host and idle time\n\ in short format\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ A lightweight 'finger' program; print user information.\n\ The utmp file will be %s.\n\ "), UTMP_FILE); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; int n_users; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "sfwiqbhlp", longopts, NULL)) != -1) { switch (optc) { case 's': do_short_format = true; break; case 'l': do_short_format = false; break; case 'f': include_heading = false; break; case 'w': include_fullname = false; break; case 'i': include_fullname = false; #ifdef HAVE_UT_HOST include_where = false; #endif break; case 'q': include_fullname = false; #ifdef HAVE_UT_HOST include_where = false; #endif include_idle = false; break; case 'h': include_project = false; break; case 'p': include_plan = false; break; case 'b': include_home_and_shell = false; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } n_users = argc - optind; if (!do_short_format && n_users == 0) { error (0, 0, _("no username specified; at least one must be\ specified when using -l")); usage (EXIT_FAILURE); } if (do_short_format) short_pinky (UTMP_FILE, n_users, argv + optind); else long_pinky (n_users, argv + optind); exit (EXIT_SUCCESS); } coreutils-8.21/src/stat.c0000664000000000000000000013130712102337340012254 00000000000000/* stat.c -- display file or file system status Copyright (C) 2001-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Michael Meskes. */ #include /* Keep this conditional in sync with the similar conditional in ../m4/stat-prog.m4. */ #if ((STAT_STATVFS || STAT_STATVFS64) \ && (HAVE_STRUCT_STATVFS_F_BASETYPE || HAVE_STRUCT_STATVFS_F_FSTYPENAME \ || (! HAVE_STRUCT_STATFS_F_FSTYPENAME && HAVE_STRUCT_STATVFS_F_TYPE))) # define USE_STATVFS 1 #else # define USE_STATVFS 0 #endif #include #include #include #include #include #include #if USE_STATVFS # include #elif HAVE_SYS_VFS_H # include #elif HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H /* NOTE: freebsd5.0 needs sys/param.h and sys/mount.h for statfs. It does have statvfs.h, but shouldn't use it, since it doesn't HAVE_STRUCT_STATVFS_F_BASETYPE. So find a clean way to fix it. */ /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */ # include # include # if HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H /* Ultrix 4.4 needs these for the declaration of struct statfs. */ # include # include # include # endif #elif HAVE_OS_H /* BeOS */ # include #endif #include #include "system.h" #include "areadlink.h" #include "error.h" #include "file-type.h" #include "filemode.h" #include "fs.h" #include "getopt.h" #include "mountlist.h" #include "quote.h" #include "quotearg.h" #include "stat-size.h" #include "stat-time.h" #include "strftime.h" #include "find-mount-point.h" #include "xvasprintf.h" #if USE_STATVFS # define STRUCT_STATVFS struct statvfs # define STRUCT_STATXFS_F_FSID_IS_INTEGER STRUCT_STATVFS_F_FSID_IS_INTEGER # define HAVE_STRUCT_STATXFS_F_TYPE HAVE_STRUCT_STATVFS_F_TYPE # if HAVE_STRUCT_STATVFS_F_NAMEMAX # define SB_F_NAMEMAX(S) ((S)->f_namemax) # endif # if ! STAT_STATVFS && STAT_STATVFS64 # define STATFS statvfs64 # else # define STATFS statvfs # endif # define STATFS_FRSIZE(S) ((S)->f_frsize) #else # define HAVE_STRUCT_STATXFS_F_TYPE HAVE_STRUCT_STATFS_F_TYPE # if HAVE_STRUCT_STATFS_F_NAMELEN # define SB_F_NAMEMAX(S) ((S)->f_namelen) # endif # define STATFS statfs # if HAVE_OS_H /* BeOS */ /* BeOS has a statvfs function, but it does not return sensible values for f_files, f_ffree and f_favail, and lacks f_type, f_basetype and f_fstypename. Use 'struct fs_info' instead. */ static int ATTRIBUTE_WARN_UNUSED_RESULT statfs (char const *filename, struct fs_info *buf) { dev_t device = dev_for_path (filename); if (device < 0) { errno = (device == B_ENTRY_NOT_FOUND ? ENOENT : device == B_BAD_VALUE ? EINVAL : device == B_NAME_TOO_LONG ? ENAMETOOLONG : device == B_NO_MEMORY ? ENOMEM : device == B_FILE_ERROR ? EIO : 0); return -1; } /* If successful, buf->dev will be == device. */ return fs_stat_dev (device, buf); } # define f_fsid dev # define f_blocks total_blocks # define f_bfree free_blocks # define f_bavail free_blocks # define f_bsize io_size # define f_files total_nodes # define f_ffree free_nodes # define STRUCT_STATVFS struct fs_info # define STRUCT_STATXFS_F_FSID_IS_INTEGER true # define STATFS_FRSIZE(S) ((S)->block_size) # else # define STRUCT_STATVFS struct statfs # define STRUCT_STATXFS_F_FSID_IS_INTEGER STRUCT_STATFS_F_FSID_IS_INTEGER # if HAVE_STRUCT_STATFS_F_FRSIZE # define STATFS_FRSIZE(S) ((S)->f_frsize) # else # define STATFS_FRSIZE(S) 0 # endif # endif #endif #ifdef SB_F_NAMEMAX # define OUT_NAMEMAX out_uint #else /* NetBSD 1.5.2 has neither f_namemax nor f_namelen. */ # define SB_F_NAMEMAX(S) "*" # define OUT_NAMEMAX out_string #endif #if HAVE_STRUCT_STATVFS_F_BASETYPE # define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME f_basetype #else # if HAVE_STRUCT_STATVFS_F_FSTYPENAME || HAVE_STRUCT_STATFS_F_FSTYPENAME # define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME f_fstypename # elif HAVE_OS_H /* BeOS */ # define STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME fsh_name # endif #endif /* FIXME: these are used by printf.c, too */ #define isodigit(c) ('0' <= (c) && (c) <= '7') #define octtobin(c) ((c) - '0') #define hextobin(c) ((c) >= 'a' && (c) <= 'f' ? (c) - 'a' + 10 : \ (c) >= 'A' && (c) <= 'F' ? (c) - 'A' + 10 : (c) - '0') static char const digits[] = "0123456789"; /* Flags that are portable for use in printf, for at least one conversion specifier; make_format removes unportable flags as needed for particular specifiers. The glibc 2.2 extension "I" is listed here; it is removed by make_format because it has undefined behavior elsewhere and because it is incompatible with out_epoch_sec. */ static char const printf_flags[] = "'-+ #0I"; #define PROGRAM_NAME "stat" #define AUTHORS proper_name ("Michael Meskes") enum { PRINTF_OPTION = CHAR_MAX + 1 }; static struct option const long_options[] = { {"context", no_argument, 0, 'Z'}, {"dereference", no_argument, NULL, 'L'}, {"file-system", no_argument, NULL, 'f'}, {"format", required_argument, NULL, 'c'}, {"printf", required_argument, NULL, PRINTF_OPTION}, {"terse", no_argument, NULL, 't'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Whether to follow symbolic links; True for --dereference (-L). */ static bool follow_links; /* Whether to interpret backslash-escape sequences. True for --printf=FMT, not for --format=FMT (-c). */ static bool interpret_backslash_escapes; /* The trailing delimiter string: "" for --printf=FMT, "\n" for --format=FMT (-c). */ static char const *trailing_delim = ""; /* The representation of the decimal point in the current locale. */ static char const *decimal_point; static size_t decimal_point_len; /* Return the type of the specified file system. Some systems have statfvs.f_basetype[FSTYPSZ] (AIX, HP-UX, and Solaris). Others have statvfs.f_fstypename[_VFS_NAMELEN] (NetBSD 3.0). Others have statfs.f_fstypename[MFSNAMELEN] (NetBSD 1.5.2). Still others have neither and have to get by with f_type (GNU/Linux). But f_type may only exist in statfs (Cygwin). */ static char const * ATTRIBUTE_WARN_UNUSED_RESULT human_fstype (STRUCT_STATVFS const *statfsbuf) { #ifdef STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME return statfsbuf->STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME; #else switch (statfsbuf->f_type) { # if defined __linux__ /* Compare with what's in libc: f=/a/libc/sysdeps/unix/sysv/linux/linux_fsinfo.h sed -n '/ADFS_SUPER_MAGIC/,/SYSFS_MAGIC/p' $f \ | perl -n -e '/#define (.*?)_(?:SUPER_)MAGIC\s+0x(\S+)/' \ -e 'and print "case S_MAGIC_$1: /\* 0x" . uc($2) . " *\/\n"' \ | sort > sym_libc perl -ne '/^\s+(case S_MAGIC_.*?): \/\* 0x(\S+) \*\//' \ -e 'and do { $v=uc$2; print "$1: /\* 0x$v *\/\n"}' stat.c \ | sort > sym_stat diff -u sym_stat sym_libc */ /* Also compare with the list in "man 2 statfs" using the fs-magic-compare make target. */ /* IMPORTANT NOTE: Each of the following 'case S_MAGIC_...:' statements must be followed by a hexadecimal constant in a comment. The S_MAGIC_... name and constant are automatically combined to produce the #define directives in fs.h. */ case S_MAGIC_ADFS: /* 0xADF5 local */ return "adfs"; case S_MAGIC_AFFS: /* 0xADFF local */ return "affs"; case S_MAGIC_AFS: /* 0x5346414F remote */ return "afs"; case S_MAGIC_ANON_INODE_FS: /* 0x09041934 local */ return "anon-inode FS"; case S_MAGIC_AUFS: /* 0x61756673 remote */ /* FIXME: change syntax or add an optional attribute like "inotify:no". The above is labeled as "remote" so that tail always uses polling, but this isn't really a remote file system type. */ return "aufs"; case S_MAGIC_AUTOFS: /* 0x0187 local */ return "autofs"; case S_MAGIC_BEFS: /* 0x42465331 local */ return "befs"; case S_MAGIC_BDEVFS: /* 0x62646576 local */ return "bdevfs"; case S_MAGIC_BFS: /* 0x1BADFACE local */ return "bfs"; case S_MAGIC_BINFMTFS: /* 0x42494E4D local */ return "binfmt_misc"; case S_MAGIC_BTRFS: /* 0x9123683E local */ return "btrfs"; case S_MAGIC_CEPH: /* 0x00C36400 remote */ return "ceph"; case S_MAGIC_CGROUP: /* 0x0027E0EB local */ return "cgroupfs"; case S_MAGIC_CIFS: /* 0xFF534D42 remote */ return "cifs"; case S_MAGIC_CODA: /* 0x73757245 remote */ return "coda"; case S_MAGIC_COH: /* 0x012FF7B7 local */ return "coh"; case S_MAGIC_CRAMFS: /* 0x28CD3D45 local */ return "cramfs"; case S_MAGIC_CRAMFS_WEND: /* 0x453DCD28 local */ return "cramfs-wend"; case S_MAGIC_DEBUGFS: /* 0x64626720 local */ return "debugfs"; case S_MAGIC_DEVFS: /* 0x1373 local */ return "devfs"; case S_MAGIC_DEVPTS: /* 0x1CD1 local */ return "devpts"; case S_MAGIC_ECRYPTFS: /* 0xF15F local */ return "ecryptfs"; case S_MAGIC_EFS: /* 0x00414A53 local */ return "efs"; case S_MAGIC_EXT: /* 0x137D local */ return "ext"; case S_MAGIC_EXT2: /* 0xEF53 local */ return "ext2/ext3"; case S_MAGIC_EXT2_OLD: /* 0xEF51 local */ return "ext2"; case S_MAGIC_FAT: /* 0x4006 local */ return "fat"; case S_MAGIC_FHGFS: /* 0x19830326 remote */ return "fhgfs"; case S_MAGIC_FUSEBLK: /* 0x65735546 remote */ return "fuseblk"; case S_MAGIC_FUSECTL: /* 0x65735543 remote */ return "fusectl"; case S_MAGIC_FUTEXFS: /* 0x0BAD1DEA local */ return "futexfs"; case S_MAGIC_GFS: /* 0x1161970 remote */ return "gfs/gfs2"; case S_MAGIC_GPFS: /* 0x47504653 remote */ return "gpfs"; case S_MAGIC_HFS: /* 0x4244 local */ return "hfs"; case S_MAGIC_HPFS: /* 0xF995E849 local */ return "hpfs"; case S_MAGIC_HUGETLBFS: /* 0x958458F6 local */ return "hugetlbfs"; case S_MAGIC_MTD_INODE_FS: /* 0x11307854 local */ return "inodefs"; case S_MAGIC_INOTIFYFS: /* 0x2BAD1DEA local */ return "inotifyfs"; case S_MAGIC_ISOFS: /* 0x9660 local */ return "isofs"; case S_MAGIC_ISOFS_R_WIN: /* 0x4004 local */ return "isofs"; case S_MAGIC_ISOFS_WIN: /* 0x4000 local */ return "isofs"; case S_MAGIC_JFFS: /* 0x07C0 local */ return "jffs"; case S_MAGIC_JFFS2: /* 0x72B6 local */ return "jffs2"; case S_MAGIC_JFS: /* 0x3153464A local */ return "jfs"; case S_MAGIC_KAFS: /* 0x6B414653 remote */ return "k-afs"; case S_MAGIC_LUSTRE: /* 0x0BD00BD0 remote */ return "lustre"; case S_MAGIC_MINIX: /* 0x137F local */ return "minix"; case S_MAGIC_MINIX_30: /* 0x138F local */ return "minix (30 char.)"; case S_MAGIC_MINIX_V2: /* 0x2468 local */ return "minix v2"; case S_MAGIC_MINIX_V2_30: /* 0x2478 local */ return "minix v2 (30 char.)"; case S_MAGIC_MINIX_V3: /* 0x4D5A local */ return "minix3"; case S_MAGIC_MQUEUE: /* 0x19800202 local */ return "mqueue"; case S_MAGIC_MSDOS: /* 0x4D44 local */ return "msdos"; case S_MAGIC_NCP: /* 0x564C remote */ return "novell"; case S_MAGIC_NFS: /* 0x6969 remote */ return "nfs"; case S_MAGIC_NFSD: /* 0x6E667364 remote */ return "nfsd"; case S_MAGIC_NILFS: /* 0x3434 local */ return "nilfs"; case S_MAGIC_NTFS: /* 0x5346544E local */ return "ntfs"; case S_MAGIC_OPENPROM: /* 0x9FA1 local */ return "openprom"; case S_MAGIC_OCFS2: /* 0x7461636f remote */ return "ocfs2"; case S_MAGIC_PANFS: /* 0xAAD7AAEA remote */ return "panfs"; case S_MAGIC_PIPEFS: /* 0x50495045 remote */ /* FIXME: change syntax or add an optional attribute like "inotify:no". The above is labeled as "remote" so that tail always uses polling, but this isn't really a remote file system type. */ return "pipefs"; case S_MAGIC_PROC: /* 0x9FA0 local */ return "proc"; case S_MAGIC_PSTOREFS: /* 0x6165676C local */ return "pstorefs"; case S_MAGIC_QNX4: /* 0x002F local */ return "qnx4"; case S_MAGIC_QNX6: /* 0x68191122 local */ return "qnx6"; case S_MAGIC_RAMFS: /* 0x858458F6 local */ return "ramfs"; case S_MAGIC_REISERFS: /* 0x52654973 local */ return "reiserfs"; case S_MAGIC_ROMFS: /* 0x7275 local */ return "romfs"; case S_MAGIC_RPC_PIPEFS: /* 0x67596969 local */ return "rpc_pipefs"; case S_MAGIC_SECURITYFS: /* 0x73636673 local */ return "securityfs"; case S_MAGIC_SELINUX: /* 0xF97CFF8C local */ return "selinux"; case S_MAGIC_SMB: /* 0x517B remote */ return "smb"; case S_MAGIC_SOCKFS: /* 0x534F434B local */ return "sockfs"; case S_MAGIC_SQUASHFS: /* 0x73717368 local */ return "squashfs"; case S_MAGIC_SYSFS: /* 0x62656572 local */ return "sysfs"; case S_MAGIC_SYSV2: /* 0x012FF7B6 local */ return "sysv2"; case S_MAGIC_SYSV4: /* 0x012FF7B5 local */ return "sysv4"; case S_MAGIC_TMPFS: /* 0x01021994 local */ return "tmpfs"; case S_MAGIC_UDF: /* 0x15013346 local */ return "udf"; case S_MAGIC_UFS: /* 0x00011954 local */ return "ufs"; case S_MAGIC_UFS_BYTESWAPPED: /* 0x54190100 local */ return "ufs"; case S_MAGIC_USBDEVFS: /* 0x9FA2 local */ return "usbdevfs"; case S_MAGIC_V9FS: /* 0x01021997 local */ return "v9fs"; case S_MAGIC_VMHGFS: /* 0xBACBACBC remote */ return "vmhgfs"; case S_MAGIC_VXFS: /* 0xA501FCF5 local */ return "vxfs"; case S_MAGIC_VZFS: /* 0x565A4653 local */ return "vzfs"; case S_MAGIC_XENFS: /* 0xABBA1974 local */ return "xenfs"; case S_MAGIC_XENIX: /* 0x012FF7B4 local */ return "xenix"; case S_MAGIC_XFS: /* 0x58465342 local */ return "xfs"; case S_MAGIC_XIAFS: /* 0x012FD16D local */ return "xia"; case S_MAGIC_ZFS: /* 0x2FC12FC1 local */ return "zfs"; # elif __GNU__ case FSTYPE_UFS: return "ufs"; case FSTYPE_NFS: return "nfs"; case FSTYPE_GFS: return "gfs"; case FSTYPE_LFS: return "lfs"; case FSTYPE_SYSV: return "sysv"; case FSTYPE_FTP: return "ftp"; case FSTYPE_TAR: return "tar"; case FSTYPE_AR: return "ar"; case FSTYPE_CPIO: return "cpio"; case FSTYPE_MSLOSS: return "msloss"; case FSTYPE_CPM: return "cpm"; case FSTYPE_HFS: return "hfs"; case FSTYPE_DTFS: return "dtfs"; case FSTYPE_GRFS: return "grfs"; case FSTYPE_TERM: return "term"; case FSTYPE_DEV: return "dev"; case FSTYPE_PROC: return "proc"; case FSTYPE_IFSOCK: return "ifsock"; case FSTYPE_AFS: return "afs"; case FSTYPE_DFS: return "dfs"; case FSTYPE_PROC9: return "proc9"; case FSTYPE_SOCKET: return "socket"; case FSTYPE_MISC: return "misc"; case FSTYPE_EXT2FS: return "ext2/ext3"; case FSTYPE_HTTP: return "http"; case FSTYPE_MEMFS: return "memfs"; case FSTYPE_ISO9660: return "iso9660"; # endif default: { unsigned long int type = statfsbuf->f_type; static char buf[sizeof "UNKNOWN (0x%lx)" - 3 + (sizeof type * CHAR_BIT + 3) / 4]; sprintf (buf, "UNKNOWN (0x%lx)", type); return buf; } } #endif } static char * ATTRIBUTE_WARN_UNUSED_RESULT human_access (struct stat const *statbuf) { static char modebuf[12]; filemodestring (statbuf, modebuf); modebuf[10] = 0; return modebuf; } static char * ATTRIBUTE_WARN_UNUSED_RESULT human_time (struct timespec t) { static char str[MAX (INT_BUFSIZE_BOUND (intmax_t), (INT_STRLEN_BOUND (int) /* YYYY */ + 1 /* because YYYY might equal INT_MAX + 1900 */ + sizeof "-MM-DD HH:MM:SS.NNNNNNNNN +ZZZZ"))]; struct tm const *tm = localtime (&t.tv_sec); if (tm == NULL) return timetostr (t.tv_sec, str); nstrftime (str, sizeof str, "%Y-%m-%d %H:%M:%S.%N %z", tm, 0, t.tv_nsec); return str; } /* PFORMAT points to a '%' followed by a prefix of a format, all of size PREFIX_LEN. The flags allowed for this format are ALLOWED_FLAGS; remove other printf flags from the prefix, then append SUFFIX. */ static void make_format (char *pformat, size_t prefix_len, char const *allowed_flags, char const *suffix) { char *dst = pformat + 1; char const *src; char const *srclim = pformat + prefix_len; for (src = dst; src < srclim && strchr (printf_flags, *src); src++) if (strchr (allowed_flags, *src)) *dst++ = *src; while (src < srclim) *dst++ = *src++; strcpy (dst, suffix); } static void out_string (char *pformat, size_t prefix_len, char const *arg) { make_format (pformat, prefix_len, "-", "s"); printf (pformat, arg); } static int out_int (char *pformat, size_t prefix_len, intmax_t arg) { make_format (pformat, prefix_len, "'-+ 0", PRIdMAX); return printf (pformat, arg); } static int out_uint (char *pformat, size_t prefix_len, uintmax_t arg) { make_format (pformat, prefix_len, "'-0", PRIuMAX); return printf (pformat, arg); } static void out_uint_o (char *pformat, size_t prefix_len, uintmax_t arg) { make_format (pformat, prefix_len, "-#0", PRIoMAX); printf (pformat, arg); } static void out_uint_x (char *pformat, size_t prefix_len, uintmax_t arg) { make_format (pformat, prefix_len, "-#0", PRIxMAX); printf (pformat, arg); } static int out_minus_zero (char *pformat, size_t prefix_len) { make_format (pformat, prefix_len, "'-+ 0", ".0f"); return printf (pformat, -0.25); } /* Output the number of seconds since the Epoch, using a format that acts like printf's %f format. */ static void out_epoch_sec (char *pformat, size_t prefix_len, struct stat const *statbuf ATTRIBUTE_UNUSED, struct timespec arg) { char *dot = memchr (pformat, '.', prefix_len); size_t sec_prefix_len = prefix_len; int width = 0; int precision = 0; bool frac_left_adjust = false; if (dot) { sec_prefix_len = dot - pformat; pformat[prefix_len] = '\0'; if (ISDIGIT (dot[1])) { long int lprec = strtol (dot + 1, NULL, 10); precision = (lprec <= INT_MAX ? lprec : INT_MAX); } else { precision = 9; } if (precision && ISDIGIT (dot[-1])) { /* If a nontrivial width is given, subtract the width of the decimal point and PRECISION digits that will be output later. */ char *p = dot; *dot = '\0'; do --p; while (ISDIGIT (p[-1])); long int lwidth = strtol (p, NULL, 10); width = (lwidth <= INT_MAX ? lwidth : INT_MAX); if (1 < width) { p += (*p == '0'); sec_prefix_len = p - pformat; int w_d = (decimal_point_len < width ? width - decimal_point_len : 0); if (1 < w_d) { int w = w_d - precision; if (1 < w) { char *dst = pformat; for (char const *src = dst; src < p; src++) { if (*src == '-') frac_left_adjust = true; else *dst++ = *src; } sec_prefix_len = (dst - pformat + (frac_left_adjust ? 0 : sprintf (dst, "%d", w))); } } } } } int divisor = 1; for (int i = precision; i < 9; i++) divisor *= 10; int frac_sec = arg.tv_nsec / divisor; int int_len; if (TYPE_SIGNED (time_t)) { bool minus_zero = false; if (arg.tv_sec < 0 && arg.tv_nsec != 0) { int frac_sec_modulus = 1000000000 / divisor; frac_sec = (frac_sec_modulus - frac_sec - (arg.tv_nsec % divisor != 0)); arg.tv_sec += (frac_sec != 0); minus_zero = (arg.tv_sec == 0); } int_len = (minus_zero ? out_minus_zero (pformat, sec_prefix_len) : out_int (pformat, sec_prefix_len, arg.tv_sec)); } else int_len = out_uint (pformat, sec_prefix_len, arg.tv_sec); if (precision) { int prec = (precision < 9 ? precision : 9); int trailing_prec = precision - prec; int ilen = (int_len < 0 ? 0 : int_len); int trailing_width = (ilen < width && decimal_point_len < width - ilen ? width - ilen - decimal_point_len - prec : 0); printf ("%s%.*d%-*.*d", decimal_point, prec, frac_sec, trailing_width, trailing_prec, 0); } } /* Print the context information of FILENAME, and return true iff the context could not be obtained. */ static bool ATTRIBUTE_WARN_UNUSED_RESULT out_file_context (char *pformat, size_t prefix_len, char const *filename) { char *scontext; bool fail = false; if ((follow_links ? getfilecon (filename, &scontext) : lgetfilecon (filename, &scontext)) < 0) { error (0, errno, _("failed to get security context of %s"), quote (filename)); scontext = NULL; fail = true; } strcpy (pformat + prefix_len, "s"); printf (pformat, (scontext ? scontext : "?")); if (scontext) freecon (scontext); return fail; } /* Print statfs info. Return zero upon success, nonzero upon failure. */ static bool ATTRIBUTE_WARN_UNUSED_RESULT print_statfs (char *pformat, size_t prefix_len, unsigned int m, char const *filename, void const *data) { STRUCT_STATVFS const *statfsbuf = data; bool fail = false; switch (m) { case 'n': out_string (pformat, prefix_len, filename); break; case 'i': { #if STRUCT_STATXFS_F_FSID_IS_INTEGER uintmax_t fsid = statfsbuf->f_fsid; #else typedef unsigned int fsid_word; verify (alignof (STRUCT_STATVFS) % alignof (fsid_word) == 0); verify (offsetof (STRUCT_STATVFS, f_fsid) % alignof (fsid_word) == 0); verify (sizeof statfsbuf->f_fsid % alignof (fsid_word) == 0); fsid_word const *p = (fsid_word *) &statfsbuf->f_fsid; /* Assume a little-endian word order, as that is compatible with glibc's statvfs implementation. */ uintmax_t fsid = 0; int words = sizeof statfsbuf->f_fsid / sizeof *p; int i; for (i = 0; i < words && i * sizeof *p < sizeof fsid; i++) { uintmax_t u = p[words - 1 - i]; fsid |= u << (i * CHAR_BIT * sizeof *p); } #endif out_uint_x (pformat, prefix_len, fsid); } break; case 'l': OUT_NAMEMAX (pformat, prefix_len, SB_F_NAMEMAX (statfsbuf)); break; case 't': #if HAVE_STRUCT_STATXFS_F_TYPE out_uint_x (pformat, prefix_len, statfsbuf->f_type); #else fputc ('?', stdout); #endif break; case 'T': out_string (pformat, prefix_len, human_fstype (statfsbuf)); break; case 'b': out_int (pformat, prefix_len, statfsbuf->f_blocks); break; case 'f': out_int (pformat, prefix_len, statfsbuf->f_bfree); break; case 'a': out_int (pformat, prefix_len, statfsbuf->f_bavail); break; case 's': out_uint (pformat, prefix_len, statfsbuf->f_bsize); break; case 'S': { uintmax_t frsize = STATFS_FRSIZE (statfsbuf); if (! frsize) frsize = statfsbuf->f_bsize; out_uint (pformat, prefix_len, frsize); } break; case 'c': out_uint (pformat, prefix_len, statfsbuf->f_files); break; case 'd': out_int (pformat, prefix_len, statfsbuf->f_ffree); break; default: fputc ('?', stdout); break; } return fail; } /* Return any bind mounted source for a path. The caller should not free the returned buffer. Return NULL if no bind mount found. */ static char const * ATTRIBUTE_WARN_UNUSED_RESULT find_bind_mount (char const * name) { char const * bind_mount = NULL; static struct mount_entry *mount_list; static bool tried_mount_list = false; if (!tried_mount_list) /* attempt/warn once per process. */ { if (!(mount_list = read_file_system_list (false))) error (0, errno, "%s", _("cannot read table of mounted file systems")); tried_mount_list = true; } struct mount_entry *me; for (me = mount_list; me; me = me->me_next) { if (me->me_dummy && me->me_devname[0] == '/' && STREQ (me->me_mountdir, name)) { struct stat name_stats; struct stat dev_stats; if (stat (name, &name_stats) == 0 && stat (me->me_devname, &dev_stats) == 0 && SAME_INODE (name_stats, dev_stats)) { bind_mount = me->me_devname; break; } } } return bind_mount; } /* Print mount point. Return zero upon success, nonzero upon failure. */ static bool ATTRIBUTE_WARN_UNUSED_RESULT out_mount_point (char const *filename, char *pformat, size_t prefix_len, const struct stat *statp) { char const *np = "?", *bp = NULL; char *mp = NULL; bool fail = true; /* Look for bind mounts first. Note we output the immediate alias, rather than further resolving to a base device mount point. */ if (follow_links || !S_ISLNK (statp->st_mode)) { char *resolved = canonicalize_file_name (filename); if (!resolved) { error (0, errno, _("failed to canonicalize %s"), quote (filename)); goto print_mount_point; } bp = find_bind_mount (resolved); free (resolved); if (bp) { fail = false; goto print_mount_point; } } /* If there is no direct bind mount, then navigate back up the tree looking for a device change. Note we don't detect if any of the directory components are bind mounted to the same device, but that's OK since we've not directly queried them. */ if ((mp = find_mount_point (filename, statp))) { /* This dir might be bind mounted to another device, so we resolve the bound source in that case also. */ bp = find_bind_mount (mp); fail = false; } print_mount_point: out_string (pformat, prefix_len, bp ? bp : mp ? mp : np); free (mp); return fail; } /* Map a TS with negative TS.tv_nsec to {0,0}. */ static inline struct timespec neg_to_zero (struct timespec ts) { if (0 <= ts.tv_nsec) return ts; struct timespec z = {0, 0}; return z; } /* Print stat info. Return zero upon success, nonzero upon failure. */ static bool print_stat (char *pformat, size_t prefix_len, unsigned int m, char const *filename, void const *data) { struct stat *statbuf = (struct stat *) data; struct passwd *pw_ent; struct group *gw_ent; bool fail = false; switch (m) { case 'n': out_string (pformat, prefix_len, filename); break; case 'N': out_string (pformat, prefix_len, quote (filename)); if (S_ISLNK (statbuf->st_mode)) { char *linkname = areadlink_with_size (filename, statbuf->st_size); if (linkname == NULL) { error (0, errno, _("cannot read symbolic link %s"), quote (filename)); return true; } printf (" -> "); out_string (pformat, prefix_len, quote (linkname)); free (linkname); } break; case 'd': out_uint (pformat, prefix_len, statbuf->st_dev); break; case 'D': out_uint_x (pformat, prefix_len, statbuf->st_dev); break; case 'i': out_uint (pformat, prefix_len, statbuf->st_ino); break; case 'a': out_uint_o (pformat, prefix_len, statbuf->st_mode & CHMOD_MODE_BITS); break; case 'A': out_string (pformat, prefix_len, human_access (statbuf)); break; case 'f': out_uint_x (pformat, prefix_len, statbuf->st_mode); break; case 'F': out_string (pformat, prefix_len, file_type (statbuf)); break; case 'h': out_uint (pformat, prefix_len, statbuf->st_nlink); break; case 'u': out_uint (pformat, prefix_len, statbuf->st_uid); break; case 'U': setpwent (); pw_ent = getpwuid (statbuf->st_uid); out_string (pformat, prefix_len, pw_ent ? pw_ent->pw_name : "UNKNOWN"); break; case 'g': out_uint (pformat, prefix_len, statbuf->st_gid); break; case 'G': setgrent (); gw_ent = getgrgid (statbuf->st_gid); out_string (pformat, prefix_len, gw_ent ? gw_ent->gr_name : "UNKNOWN"); break; case 't': out_uint_x (pformat, prefix_len, major (statbuf->st_rdev)); break; case 'm': fail |= out_mount_point (filename, pformat, prefix_len, statbuf); break; case 'T': out_uint_x (pformat, prefix_len, minor (statbuf->st_rdev)); break; case 's': out_int (pformat, prefix_len, statbuf->st_size); break; case 'B': out_uint (pformat, prefix_len, ST_NBLOCKSIZE); break; case 'b': out_uint (pformat, prefix_len, ST_NBLOCKS (*statbuf)); break; case 'o': out_uint (pformat, prefix_len, ST_BLKSIZE (*statbuf)); break; case 'w': { struct timespec t = get_stat_birthtime (statbuf); if (t.tv_nsec < 0) out_string (pformat, prefix_len, "-"); else out_string (pformat, prefix_len, human_time (t)); } break; case 'W': out_epoch_sec (pformat, prefix_len, statbuf, neg_to_zero (get_stat_birthtime (statbuf))); break; case 'x': out_string (pformat, prefix_len, human_time (get_stat_atime (statbuf))); break; case 'X': out_epoch_sec (pformat, prefix_len, statbuf, get_stat_atime (statbuf)); break; case 'y': out_string (pformat, prefix_len, human_time (get_stat_mtime (statbuf))); break; case 'Y': out_epoch_sec (pformat, prefix_len, statbuf, get_stat_mtime (statbuf)); break; case 'z': out_string (pformat, prefix_len, human_time (get_stat_ctime (statbuf))); break; case 'Z': out_epoch_sec (pformat, prefix_len, statbuf, get_stat_ctime (statbuf)); break; case 'C': fail |= out_file_context (pformat, prefix_len, filename); break; default: fputc ('?', stdout); break; } return fail; } /* Output a single-character \ escape. */ static void print_esc_char (char c) { switch (c) { case 'a': /* Alert. */ c ='\a'; break; case 'b': /* Backspace. */ c ='\b'; break; case 'e': /* Escape. */ c ='\x1B'; break; case 'f': /* Form feed. */ c ='\f'; break; case 'n': /* New line. */ c ='\n'; break; case 'r': /* Carriage return. */ c ='\r'; break; case 't': /* Horizontal tab. */ c ='\t'; break; case 'v': /* Vertical tab. */ c ='\v'; break; case '"': case '\\': break; default: error (0, 0, _("warning: unrecognized escape '\\%c'"), c); break; } putchar (c); } /* Print the information specified by the format string, FORMAT, calling PRINT_FUNC for each %-directive encountered. Return zero upon success, nonzero upon failure. */ static bool ATTRIBUTE_WARN_UNUSED_RESULT print_it (char const *format, char const *filename, bool (*print_func) (char *, size_t, unsigned int, char const *, void const *), void const *data) { bool fail = false; /* Add 2 to accommodate our conversion of the stat '%s' format string to the longer printf '%llu' one. */ enum { MAX_ADDITIONAL_BYTES = (MAX (sizeof PRIdMAX, MAX (sizeof PRIoMAX, MAX (sizeof PRIuMAX, sizeof PRIxMAX))) - 1) }; size_t n_alloc = strlen (format) + MAX_ADDITIONAL_BYTES + 1; char *dest = xmalloc (n_alloc); char const *b; for (b = format; *b; b++) { switch (*b) { case '%': { size_t len = strspn (b + 1, printf_flags); char const *fmt_char = b + len + 1; fmt_char += strspn (fmt_char, digits); if (*fmt_char == '.') fmt_char += 1 + strspn (fmt_char + 1, digits); len = fmt_char - (b + 1); unsigned int fmt_code = *fmt_char; memcpy (dest, b, len + 1); b = fmt_char; switch (fmt_code) { case '\0': --b; /* fall through */ case '%': if (0 < len) { dest[len + 1] = *fmt_char; dest[len + 2] = '\0'; error (EXIT_FAILURE, 0, _("%s: invalid directive"), quotearg_colon (dest)); } putchar ('%'); break; default: fail |= print_func (dest, len + 1, fmt_code, filename, data); break; } break; } case '\\': if ( ! interpret_backslash_escapes) { putchar ('\\'); break; } ++b; if (isodigit (*b)) { int esc_value = octtobin (*b); int esc_length = 1; /* number of octal digits */ for (++b; esc_length < 3 && isodigit (*b); ++esc_length, ++b) { esc_value = esc_value * 8 + octtobin (*b); } putchar (esc_value); --b; } else if (*b == 'x' && isxdigit (to_uchar (b[1]))) { int esc_value = hextobin (b[1]); /* Value of \xhh escape. */ /* A hexadecimal \xhh escape sequence must have 1 or 2 hex. digits. */ ++b; if (isxdigit (to_uchar (b[1]))) { ++b; esc_value = esc_value * 16 + hextobin (*b); } putchar (esc_value); } else if (*b == '\0') { error (0, 0, _("warning: backslash at end of format")); putchar ('\\'); /* Arrange to exit the loop. */ --b; } else { print_esc_char (*b); } break; default: putchar (*b); break; } } free (dest); fputs (trailing_delim, stdout); return fail; } /* Stat the file system and print what we find. */ static bool ATTRIBUTE_WARN_UNUSED_RESULT do_statfs (char const *filename, char const *format) { STRUCT_STATVFS statfsbuf; if (STREQ (filename, "-")) { error (0, 0, _("using %s to denote standard input does not work" " in file system mode"), quote (filename)); return false; } if (STATFS (filename, &statfsbuf) != 0) { error (0, errno, _("cannot read file system information for %s"), quote (filename)); return false; } bool fail = print_it (format, filename, print_statfs, &statfsbuf); return ! fail; } /* stat the file and print what we find */ static bool ATTRIBUTE_WARN_UNUSED_RESULT do_stat (char const *filename, char const *format, char const *format2) { struct stat statbuf; if (STREQ (filename, "-")) { if (fstat (STDIN_FILENO, &statbuf) != 0) { error (0, errno, _("cannot stat standard input")); return false; } } /* We can't use the shorter (follow_links?stat:lstat) (filename, &statbug) since stat might be a function-like macro. */ else if ((follow_links ? stat (filename, &statbuf) : lstat (filename, &statbuf)) != 0) { error (0, errno, _("cannot stat %s"), quote (filename)); return false; } if (S_ISBLK (statbuf.st_mode) || S_ISCHR (statbuf.st_mode)) format = format2; bool fail = print_it (format, filename, print_stat, &statbuf); return ! fail; } /* Return an allocated format string in static storage that corresponds to whether FS and TERSE options were declared. */ static char * default_format (bool fs, bool terse, bool device) { char *format; if (fs) { if (terse) format = xstrdup ("%n %i %l %t %s %S %b %f %a %c %d\n"); else { /* TRANSLATORS: This string uses format specifiers from 'stat --help' with --file-system, and NOT from printf. */ format = xstrdup (_(" File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n")); } } else /* ! fs */ { if (terse) { if (0 < is_selinux_enabled ()) format = xstrdup ("%n %s %b %f %u %g %D %i %h %t %T" " %X %Y %Z %W %o %C\n"); else format = xstrdup ("%n %s %b %f %u %g %D %i %h %t %T" " %X %Y %Z %W %o\n"); } else { char *temp; /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xstrdup (_("\ File: %N\n\ Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n\ ")); temp = format; if (device) { /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xasprintf ("%s%s", format, _("\ " "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n\ ")); } else { /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xasprintf ("%s%s", format, _("\ " "Device: %Dh/%dd\tInode: %-10i Links: %h\n\ ")); } free (temp); temp = format; /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xasprintf ("%s%s", format, _("\ " "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n\ ")); free (temp); if (0 < is_selinux_enabled ()) { temp = format; /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xasprintf ("%s%s", format, _("Context: %C\n")); free (temp); } temp = format; /* TRANSLATORS: This string uses format specifiers from 'stat --help' without --file-system, and NOT from printf. */ format = xasprintf ("%s%s", format, _("Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n")); free (temp); } } return format; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("\ Display file or file system status.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -L, --dereference follow links\n\ -f, --file-system display file system status instead of file status\n\ "), stdout); fputs (_("\ -c --format=FORMAT use the specified FORMAT instead of the default;\n\ output a newline after each use of FORMAT\n\ --printf=FORMAT like --format, but interpret backslash escapes,\n\ and do not output a mandatory trailing newline.\n\ If you want a newline, include \\n in FORMAT\n\ -t, --terse print the information in terse form\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\n\ The valid format sequences for files (without --file-system):\n\ \n\ %a access rights in octal\n\ %A access rights in human readable form\n\ %b number of blocks allocated (see %B)\n\ %B the size in bytes of each block reported by %b\n\ %C SELinux security context string\n\ "), stdout); fputs (_("\ %d device number in decimal\n\ %D device number in hex\n\ %f raw mode in hex\n\ %F file type\n\ %g group ID of owner\n\ %G group name of owner\n\ "), stdout); fputs (_("\ %h number of hard links\n\ %i inode number\n\ %m mount point\n\ %n file name\n\ %N quoted file name with dereference if symbolic link\n\ %o optimal I/O transfer size hint\n\ %s total size, in bytes\n\ %t major device type in hex\n\ %T minor device type in hex\n\ "), stdout); fputs (_("\ %u user ID of owner\n\ %U user name of owner\n\ %w time of file birth, human-readable; - if unknown\n\ %W time of file birth, seconds since Epoch; 0 if unknown\n\ %x time of last access, human-readable\n\ %X time of last access, seconds since Epoch\n\ %y time of last modification, human-readable\n\ %Y time of last modification, seconds since Epoch\n\ %z time of last change, human-readable\n\ %Z time of last change, seconds since Epoch\n\ \n\ "), stdout); fputs (_("\ Valid format sequences for file systems:\n\ \n\ %a free blocks available to non-superuser\n\ %b total data blocks in file system\n\ %c total file nodes in file system\n\ %d free file nodes in file system\n\ %f free blocks in file system\n\ "), stdout); fputs (_("\ %i file system ID in hex\n\ %l maximum length of filenames\n\ %n file name\n\ %s block size (for faster transfers)\n\ %S fundamental block size (for block counts)\n\ %t file system type in hex\n\ %T file system type in human readable form\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } int main (int argc, char *argv[]) { int c; int i; bool fs = false; bool terse = false; char *format = NULL; char *format2; bool ok = true; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); struct lconv const *locale = localeconv (); decimal_point = (locale->decimal_point[0] ? locale->decimal_point : "."); decimal_point_len = strlen (decimal_point); atexit (close_stdout); while ((c = getopt_long (argc, argv, "c:fLt", long_options, NULL)) != -1) { switch (c) { case PRINTF_OPTION: format = optarg; interpret_backslash_escapes = true; trailing_delim = ""; break; case 'c': format = optarg; interpret_backslash_escapes = false; trailing_delim = "\n"; break; case 'L': follow_links = true; break; case 'f': fs = true; break; case 't': terse = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (argc == optind) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (format) format2 = format; else { format = default_format (fs, terse, false); format2 = default_format (fs, terse, true); } for (i = optind; i < argc; i++) ok &= (fs ? do_statfs (argv[i], format) : do_stat (argv[i], format, format2)); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/fs.h0000444000000000000000000000641112107176113011713 00000000000000/* Define the magic numbers as given by statfs(2). Please send additions to bug-coreutils@gnu.org and meskes@debian.org. This file is generated automatically from ./src/stat.c. */ #if defined __linux__ # define S_MAGIC_ADFS 0xADF5 # define S_MAGIC_AFFS 0xADFF # define S_MAGIC_AFS 0x5346414F # define S_MAGIC_ANON_INODE_FS 0x09041934 # define S_MAGIC_AUFS 0x61756673 # define S_MAGIC_AUTOFS 0x0187 # define S_MAGIC_BEFS 0x42465331 # define S_MAGIC_BDEVFS 0x62646576 # define S_MAGIC_BFS 0x1BADFACE # define S_MAGIC_BINFMTFS 0x42494E4D # define S_MAGIC_BTRFS 0x9123683E # define S_MAGIC_CEPH 0x00C36400 # define S_MAGIC_CGROUP 0x0027E0EB # define S_MAGIC_CIFS 0xFF534D42 # define S_MAGIC_CODA 0x73757245 # define S_MAGIC_COH 0x012FF7B7 # define S_MAGIC_CRAMFS 0x28CD3D45 # define S_MAGIC_CRAMFS_WEND 0x453DCD28 # define S_MAGIC_DEBUGFS 0x64626720 # define S_MAGIC_DEVFS 0x1373 # define S_MAGIC_DEVPTS 0x1CD1 # define S_MAGIC_ECRYPTFS 0xF15F # define S_MAGIC_EFS 0x00414A53 # define S_MAGIC_EXT 0x137D # define S_MAGIC_EXT2 0xEF53 # define S_MAGIC_EXT2_OLD 0xEF51 # define S_MAGIC_FAT 0x4006 # define S_MAGIC_FHGFS 0x19830326 # define S_MAGIC_FUSEBLK 0x65735546 # define S_MAGIC_FUSECTL 0x65735543 # define S_MAGIC_FUTEXFS 0x0BAD1DEA # define S_MAGIC_GFS 0x1161970 # define S_MAGIC_GPFS 0x47504653 # define S_MAGIC_HFS 0x4244 # define S_MAGIC_HPFS 0xF995E849 # define S_MAGIC_HUGETLBFS 0x958458F6 # define S_MAGIC_MTD_INODE_FS 0x11307854 # define S_MAGIC_INOTIFYFS 0x2BAD1DEA # define S_MAGIC_ISOFS 0x9660 # define S_MAGIC_ISOFS_R_WIN 0x4004 # define S_MAGIC_ISOFS_WIN 0x4000 # define S_MAGIC_JFFS 0x07C0 # define S_MAGIC_JFFS2 0x72B6 # define S_MAGIC_JFS 0x3153464A # define S_MAGIC_KAFS 0x6B414653 # define S_MAGIC_LUSTRE 0x0BD00BD0 # define S_MAGIC_MINIX 0x137F # define S_MAGIC_MINIX_30 0x138F # define S_MAGIC_MINIX_V2 0x2468 # define S_MAGIC_MINIX_V2_30 0x2478 # define S_MAGIC_MINIX_V3 0x4D5A # define S_MAGIC_MQUEUE 0x19800202 # define S_MAGIC_MSDOS 0x4D44 # define S_MAGIC_NCP 0x564C # define S_MAGIC_NFS 0x6969 # define S_MAGIC_NFSD 0x6E667364 # define S_MAGIC_NILFS 0x3434 # define S_MAGIC_NTFS 0x5346544E # define S_MAGIC_OPENPROM 0x9FA1 # define S_MAGIC_OCFS2 0x7461636f # define S_MAGIC_PANFS 0xAAD7AAEA # define S_MAGIC_PIPEFS 0x50495045 # define S_MAGIC_PROC 0x9FA0 # define S_MAGIC_PSTOREFS 0x6165676C # define S_MAGIC_QNX4 0x002F # define S_MAGIC_QNX6 0x68191122 # define S_MAGIC_RAMFS 0x858458F6 # define S_MAGIC_REISERFS 0x52654973 # define S_MAGIC_ROMFS 0x7275 # define S_MAGIC_RPC_PIPEFS 0x67596969 # define S_MAGIC_SECURITYFS 0x73636673 # define S_MAGIC_SELINUX 0xF97CFF8C # define S_MAGIC_SMB 0x517B # define S_MAGIC_SOCKFS 0x534F434B # define S_MAGIC_SQUASHFS 0x73717368 # define S_MAGIC_SYSFS 0x62656572 # define S_MAGIC_SYSV2 0x012FF7B6 # define S_MAGIC_SYSV4 0x012FF7B5 # define S_MAGIC_TMPFS 0x01021994 # define S_MAGIC_UDF 0x15013346 # define S_MAGIC_UFS 0x00011954 # define S_MAGIC_UFS_BYTESWAPPED 0x54190100 # define S_MAGIC_USBDEVFS 0x9FA2 # define S_MAGIC_V9FS 0x01021997 # define S_MAGIC_VMHGFS 0xBACBACBC # define S_MAGIC_VXFS 0xA501FCF5 # define S_MAGIC_VZFS 0x565A4653 # define S_MAGIC_XENFS 0xABBA1974 # define S_MAGIC_XENIX 0x012FF7B4 # define S_MAGIC_XFS 0x58465342 # define S_MAGIC_XIAFS 0x012FD16D # define S_MAGIC_ZFS 0x2FC12FC1 #elif defined __GNU__ # include #endif coreutils-8.21/src/date.c0000664000000000000000000004113312102337340012213 00000000000000/* date - print or set the system date and time Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . David MacKenzie */ #include #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include "system.h" #include "argmatch.h" #include "error.h" #include "parse-datetime.h" #include "posixtm.h" #include "quote.h" #include "stat-time.h" #include "fprintftime.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "date" #define AUTHORS proper_name ("David MacKenzie") static bool show_date (const char *format, struct timespec when); enum Time_spec { /* Display only the date. */ TIME_SPEC_DATE, /* Display date, hours, minutes, and seconds. */ TIME_SPEC_SECONDS, /* Similar, but display nanoseconds. */ TIME_SPEC_NS, /* Put these last, since they aren't valid for --rfc-3339. */ /* Display date and hour. */ TIME_SPEC_HOURS, /* Display date, hours, and minutes. */ TIME_SPEC_MINUTES }; static char const *const time_spec_string[] = { /* Put "hours" and "minutes" first, since they aren't valid for --rfc-3339. */ "hours", "minutes", "date", "seconds", "ns", NULL }; static enum Time_spec const time_spec[] = { TIME_SPEC_HOURS, TIME_SPEC_MINUTES, TIME_SPEC_DATE, TIME_SPEC_SECONDS, TIME_SPEC_NS }; ARGMATCH_VERIFY (time_spec_string, time_spec); /* A format suitable for Internet RFC 2822. */ static char const rfc_2822_format[] = "%a, %d %b %Y %H:%M:%S %z"; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { RFC_3339_OPTION = CHAR_MAX + 1 }; static char const short_options[] = "d:f:I::r:Rs:u"; static struct option const long_options[] = { {"date", required_argument, NULL, 'd'}, {"file", required_argument, NULL, 'f'}, {"iso-8601", optional_argument, NULL, 'I'}, {"reference", required_argument, NULL, 'r'}, {"rfc-822", no_argument, NULL, 'R'}, {"rfc-2822", no_argument, NULL, 'R'}, {"rfc-3339", required_argument, NULL, RFC_3339_OPTION}, {"set", required_argument, NULL, 's'}, {"uct", no_argument, NULL, 'u'}, {"utc", no_argument, NULL, 'u'}, {"universal", no_argument, NULL, 'u'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; #if LOCALTIME_CACHE # define TZSET tzset () #else # define TZSET /* empty */ #endif #ifdef _DATE_FMT # define DATE_FMT_LANGINFO() nl_langinfo (_DATE_FMT) #else # define DATE_FMT_LANGINFO() "" #endif void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [+FORMAT]\n\ or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n\ "), program_name, program_name); fputs (_("\ Display the current time in the given FORMAT, or set the system date.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -d, --date=STRING display time described by STRING, not 'now'\n\ -f, --file=DATEFILE like --date once for each line of DATEFILE\n\ -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n\ TIMESPEC='date' for date only (the default),\n\ 'hours', 'minutes', 'seconds', or 'ns' for date\n\ and time to the indicated precision.\n\ "), stdout); fputs (_("\ -r, --reference=FILE display the last modification time of FILE\n\ -R, --rfc-2822 output date and time in RFC 2822 format.\n\ Example: Mon, 07 Aug 2006 12:34:56 -0600\n\ "), stdout); fputs (_("\ --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n\ TIMESPEC='date', 'seconds', or 'ns' for\n\ date and time to the indicated precision.\n\ Date and time components are separated by\n\ a single space: 2006-08-07 12:34:56-06:00\n\ -s, --set=STRING set time described by STRING\n\ -u, --utc, --universal print or set Coordinated Universal Time\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ FORMAT controls the output. Interpreted sequences are:\n\ \n\ %% a literal %\n\ %a locale's abbreviated weekday name (e.g., Sun)\n\ "), stdout); fputs (_("\ %A locale's full weekday name (e.g., Sunday)\n\ %b locale's abbreviated month name (e.g., Jan)\n\ %B locale's full month name (e.g., January)\n\ %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n\ "), stdout); fputs (_("\ %C century; like %Y, except omit last two digits (e.g., 20)\n\ %d day of month (e.g., 01)\n\ %D date; same as %m/%d/%y\n\ %e day of month, space padded; same as %_d\n\ "), stdout); fputs (_("\ %F full date; same as %Y-%m-%d\n\ %g last two digits of year of ISO week number (see %G)\n\ %G year of ISO week number (see %V); normally useful only with %V\n\ "), stdout); fputs (_("\ %h same as %b\n\ %H hour (00..23)\n\ %I hour (01..12)\n\ %j day of year (001..366)\n\ "), stdout); fputs (_("\ %k hour, space padded ( 0..23); same as %_H\n\ %l hour, space padded ( 1..12); same as %_I\n\ %m month (01..12)\n\ %M minute (00..59)\n\ "), stdout); fputs (_("\ %n a newline\n\ %N nanoseconds (000000000..999999999)\n\ %p locale's equivalent of either AM or PM; blank if not known\n\ %P like %p, but lower case\n\ %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n\ %R 24-hour hour and minute; same as %H:%M\n\ %s seconds since 1970-01-01 00:00:00 UTC\n\ "), stdout); fputs (_("\ %S second (00..60)\n\ %t a tab\n\ %T time; same as %H:%M:%S\n\ %u day of week (1..7); 1 is Monday\n\ "), stdout); fputs (_("\ %U week number of year, with Sunday as first day of week (00..53)\n\ %V ISO week number, with Monday as first day of week (01..53)\n\ %w day of week (0..6); 0 is Sunday\n\ %W week number of year, with Monday as first day of week (00..53)\n\ "), stdout); fputs (_("\ %x locale's date representation (e.g., 12/31/99)\n\ %X locale's time representation (e.g., 23:13:48)\n\ %y last two digits of year (00..99)\n\ %Y year\n\ "), stdout); fputs (_("\ %z +hhmm numeric time zone (e.g., -0400)\n\ %:z +hh:mm numeric time zone (e.g., -04:00)\n\ %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n\ %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30)\n\ %Z alphabetic time zone abbreviation (e.g., EDT)\n\ \n\ By default, date pads numeric fields with zeroes.\n\ "), stdout); fputs (_("\ The following optional flags may follow '%':\n\ \n\ - (hyphen) do not pad the field\n\ _ (underscore) pad with spaces\n\ 0 (zero) pad with zeros\n\ ^ use upper case if possible\n\ # use opposite case if possible\n\ "), stdout); fputs (_("\ \n\ After any flags comes an optional field width, as a decimal number;\n\ then an optional modifier, which is either\n\ E to use the locale's alternate representations if available, or\n\ O to use the locale's alternate numeric symbols if available.\n\ "), stdout); fputs (_("\ \n\ Examples:\n\ Convert seconds since the epoch (1970-01-01 UTC) to a date\n\ $ date --date='@2147483647'\n\ \n\ Show the time on the west coast of the US (use tzselect(1) to find TZ)\n\ $ TZ='America/Los_Angeles' date\n\ \n\ Show the local time for 9AM next Friday on the west coast of the US\n\ $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Parse each line in INPUT_FILENAME as with --date and display each resulting time and date. If the file cannot be opened, tell why then exit. Issue a diagnostic for any lines that cannot be parsed. Return true if successful. */ static bool batch_convert (const char *input_filename, const char *format) { bool ok; FILE *in_stream; char *line; size_t buflen; struct timespec when; if (STREQ (input_filename, "-")) { input_filename = _("standard input"); in_stream = stdin; } else { in_stream = fopen (input_filename, "r"); if (in_stream == NULL) { error (EXIT_FAILURE, errno, "%s", quote (input_filename)); } } line = NULL; buflen = 0; ok = true; while (1) { ssize_t line_length = getline (&line, &buflen, in_stream); if (line_length < 0) { /* FIXME: detect/handle error here. */ break; } if (! parse_datetime (&when, line, NULL)) { if (line[line_length - 1] == '\n') line[line_length - 1] = '\0'; error (0, 0, _("invalid date %s"), quote (line)); ok = false; } else { ok &= show_date (format, when); } } if (fclose (in_stream) == EOF) error (EXIT_FAILURE, errno, "%s", quote (input_filename)); free (line); return ok; } int main (int argc, char **argv) { int optc; const char *datestr = NULL; const char *set_datestr = NULL; struct timespec when; bool set_date = false; char const *format = NULL; char *batch_file = NULL; char *reference = NULL; struct stat refstats; bool ok; int option_specified_date; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, short_options, long_options, NULL)) != -1) { char const *new_format = NULL; switch (optc) { case 'd': datestr = optarg; break; case 'f': batch_file = optarg; break; case RFC_3339_OPTION: { static char const rfc_3339_format[][32] = { "%Y-%m-%d", "%Y-%m-%d %H:%M:%S%:z", "%Y-%m-%d %H:%M:%S.%N%:z" }; enum Time_spec i = XARGMATCH ("--rfc-3339", optarg, time_spec_string + 2, time_spec + 2); new_format = rfc_3339_format[i]; break; } case 'I': { static char const iso_8601_format[][32] = { "%Y-%m-%d", "%Y-%m-%dT%H:%M:%S%z", "%Y-%m-%dT%H:%M:%S,%N%z", "%Y-%m-%dT%H%z", "%Y-%m-%dT%H:%M%z" }; enum Time_spec i = (optarg ? XARGMATCH ("--iso-8601", optarg, time_spec_string, time_spec) : TIME_SPEC_DATE); new_format = iso_8601_format[i]; break; } case 'r': reference = optarg; break; case 'R': new_format = rfc_2822_format; break; case 's': set_datestr = optarg; set_date = true; break; case 'u': /* POSIX says that 'date -u' is equivalent to setting the TZ environment variable, so this option should do nothing other than setting TZ. */ if (putenv (bad_cast ("TZ=UTC0")) != 0) xalloc_die (); TZSET; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } if (new_format) { if (format) error (EXIT_FAILURE, 0, _("multiple output formats specified")); format = new_format; } } option_specified_date = ((datestr ? 1 : 0) + (batch_file ? 1 : 0) + (reference ? 1 : 0)); if (option_specified_date > 1) { error (0, 0, _("the options to specify dates for printing are mutually exclusive")); usage (EXIT_FAILURE); } if (set_date && option_specified_date) { error (0, 0, _("the options to print and set the time may not be used together")); usage (EXIT_FAILURE); } if (optind < argc) { if (optind + 1 < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } if (argv[optind][0] == '+') { if (format) error (EXIT_FAILURE, 0, _("multiple output formats specified")); format = argv[optind++] + 1; } else if (set_date || option_specified_date) { error (0, 0, _("the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'"), quote (argv[optind])); usage (EXIT_FAILURE); } } if (!format) { format = DATE_FMT_LANGINFO (); if (! *format) { /* Do not wrap the following literal format string with _(...). For example, suppose LC_ALL is unset, LC_TIME=POSIX, and LANG="ko_KR". In that case, POSIX says that LC_TIME determines the format and contents of date and time strings written by date, which means "date" must generate output using the POSIX locale; but adding _() would cause "date" to use a Korean translation of the format. */ format = "%a %b %e %H:%M:%S %Z %Y"; } } if (batch_file != NULL) ok = batch_convert (batch_file, format); else { bool valid_date = true; ok = true; if (!option_specified_date && !set_date) { if (optind < argc) { /* Prepare to set system clock to the specified date/time given in the POSIX-format. */ set_date = true; datestr = argv[optind]; valid_date = posixtime (&when.tv_sec, datestr, (PDS_TRAILING_YEAR | PDS_CENTURY | PDS_SECONDS)); when.tv_nsec = 0; /* FIXME: posixtime should set this. */ } else { /* Prepare to print the current date/time. */ gettime (&when); } } else { /* (option_specified_date || set_date) */ if (reference != NULL) { if (stat (reference, &refstats) != 0) error (EXIT_FAILURE, errno, "%s", reference); when = get_stat_mtime (&refstats); } else { if (set_datestr) datestr = set_datestr; valid_date = parse_datetime (&when, datestr, NULL); } } if (! valid_date) error (EXIT_FAILURE, 0, _("invalid date %s"), quote (datestr)); if (set_date) { /* Set the system clock to the specified date, then regardless of the success of that operation, format and print that date. */ if (settime (&when) != 0) { error (0, errno, _("cannot set date")); ok = false; } } ok &= show_date (format, when); } exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* Display the date and/or time in WHEN according to the format specified in FORMAT, followed by a newline. Return true if successful. */ static bool show_date (const char *format, struct timespec when) { struct tm *tm; tm = localtime (&when.tv_sec); if (! tm) { char buf[INT_BUFSIZE_BOUND (intmax_t)]; error (0, 0, _("time %s is out of range"), timetostr (when.tv_sec, buf)); return false; } if (format == rfc_2822_format) setlocale (LC_TIME, "C"); fprintftime (stdout, format, tm, 0, when.tv_nsec); fputc ('\n', stdout); if (format == rfc_2822_format) setlocale (LC_TIME, ""); return true; } coreutils-8.21/src/longlong.h0000664000000000000000000023212712102337340013127 00000000000000/* longlong.h -- definitions for mixed size 32/64 bit arithmetic. Copyright 1991-2013 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this file. If not, see http://www.gnu.org/licenses/. */ /* You have to define the following before including this file: UWtype -- An unsigned type, default type for operations (typically a "word") UHWtype -- An unsigned type, at least half the size of UWtype UDWtype -- An unsigned type, at least twice as large a UWtype W_TYPE_SIZE -- size in bits of UWtype SItype, USItype -- Signed and unsigned 32 bit types DItype, UDItype -- Signed and unsigned 64 bit types On a 32 bit machine UWtype should typically be USItype; on a 64 bit machine, UWtype should typically be UDItype. Optionally, define: LONGLONG_STANDALONE -- Avoid code that needs machine-dependent support files NO_ASM -- Disable inline asm CAUTION! Using this version of longlong.h outside of GMP is not safe. You need to include gmp.h and gmp-impl.h, or certain things might not work as expected. */ #define __BITS4 (W_TYPE_SIZE / 4) #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) #define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) /* This is used to make sure no undesirable sharing between different libraries that use this file takes place. */ #ifndef __MPN #define __MPN(x) __##x #endif /* Define auxiliary asm macros. 1) umul_ppmm(high_prod, low_prod, multiplier, multiplicand) multiplies two UWtype integers MULTIPLIER and MULTIPLICAND, and generates a two UWtype word product in HIGH_PROD and LOW_PROD. 2) __umulsidi3(a,b) multiplies two UWtype integers A and B, and returns a UDWtype product. This is just a variant of umul_ppmm. 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator, denominator) divides a UDWtype, composed by the UWtype integers HIGH_NUMERATOR and LOW_NUMERATOR, by DENOMINATOR and places the quotient in QUOTIENT and the remainder in REMAINDER. HIGH_NUMERATOR must be less than DENOMINATOR for correct operation. If, in addition, the most significant bit of DENOMINATOR must be 1, then the pre-processor symbol UDIV_NEEDS_NORMALIZATION is defined to 1. 4) sdiv_qrnnd(quotient, remainder, high_numerator, low_numerator, denominator). Like udiv_qrnnd but the numbers are signed. The quotient is rounded towards 0. 5) count_leading_zeros(count, x) counts the number of zero-bits from the msb to the first non-zero bit in the UWtype X. This is the number of steps X needs to be shifted left to set the msb. Undefined for X == 0, unless the symbol COUNT_LEADING_ZEROS_0 is defined to some value. 6) count_trailing_zeros(count, x) like count_leading_zeros, but counts from the least significant end. 7) add_ssaaaa(high_sum, low_sum, high_addend_1, low_addend_1, high_addend_2, low_addend_2) adds two UWtype integers, composed by HIGH_ADDEND_1 and LOW_ADDEND_1, and HIGH_ADDEND_2 and LOW_ADDEND_2 respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow (i.e. carry out) is not stored anywhere, and is lost. 8) sub_ddmmss(high_difference, low_difference, high_minuend, low_minuend, high_subtrahend, low_subtrahend) subtracts two two-word UWtype integers, composed by HIGH_MINUEND_1 and LOW_MINUEND_1, and HIGH_SUBTRAHEND_2 and LOW_SUBTRAHEND_2 respectively. The result is placed in HIGH_DIFFERENCE and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere, and is lost. If any of these macros are left undefined for a particular CPU, C macros are used. Notes: For add_ssaaaa the two high and two low addends can both commute, but unfortunately gcc only supports one "%" commutative in each asm block. This has always been so but is only documented in recent versions (eg. pre-release 3.3). Having two or more "%"s can cause an internal compiler error in certain rare circumstances. Apparently it was only the last "%" that was ever actually respected, so the code has been updated to leave just that. Clearly there's a free choice whether high or low should get it, if there's a reason to favour one over the other. Also obviously when the constraints on the two operands are identical there's no benefit to the reloader in any "%" at all. */ /* The CPUs come in alphabetical order below. Please add support for more CPUs here, or improve the current support for the CPUs below! */ /* count_leading_zeros_gcc_clz is count_leading_zeros implemented with gcc 3.4 __builtin_clzl or __builtin_clzll, according to our limb size. Similarly count_trailing_zeros_gcc_ctz using __builtin_ctzl or __builtin_ctzll. These builtins are only used when we check what code comes out, on some chips they're merely libgcc calls, where we will instead want an inline in that case (either asm or generic C). These builtins are better than an asm block of the same insn, since an asm block doesn't give gcc any information about scheduling or resource usage. We keep an asm block for use on prior versions of gcc though. For reference, __builtin_ffs existed in gcc prior to __builtin_clz, but it's not used (for count_leading_zeros) because it generally gives extra code to ensure the result is 0 when the input is 0, which we don't need or want. */ #ifdef _LONG_LONG_LIMB #define count_leading_zeros_gcc_clz(count,x) \ do { \ ASSERT ((x) != 0); \ (count) = __builtin_clzll (x); \ } while (0) #else #define count_leading_zeros_gcc_clz(count,x) \ do { \ ASSERT ((x) != 0); \ (count) = __builtin_clzl (x); \ } while (0) #endif #ifdef _LONG_LONG_LIMB #define count_trailing_zeros_gcc_ctz(count,x) \ do { \ ASSERT ((x) != 0); \ (count) = __builtin_ctzll (x); \ } while (0) #else #define count_trailing_zeros_gcc_ctz(count,x) \ do { \ ASSERT ((x) != 0); \ (count) = __builtin_ctzl (x); \ } while (0) #endif /* FIXME: The macros using external routines like __MPN(count_leading_zeros) don't need to be under !NO_ASM */ #if ! defined (NO_ASM) #if defined (__alpha) && W_TYPE_SIZE == 64 /* Most alpha-based machines, except Cray systems. */ #if defined (__GNUC__) #if __GMP_GNUC_PREREQ (3,3) #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ (ph) = __builtin_alpha_umulh (__m0, __m1); \ (pl) = __m0 * __m1; \ } while (0) #else #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ __asm__ ("umulh %r1,%2,%0" \ : "=r" (ph) \ : "%rJ" (m0), "rI" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #endif #define UMUL_TIME 18 #else /* ! __GNUC__ */ #include #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ (ph) = __UMULH (m0, m1); \ (pl) = __m0 * __m1; \ } while (0) #endif #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __di; \ __di = __MPN(invert_limb) (d); \ udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ } while (0) #define UDIV_PREINV_ALWAYS 1 #define UDIV_NEEDS_NORMALIZATION 1 #define UDIV_TIME 220 #endif /* LONGLONG_STANDALONE */ /* clz_tab is required in all configurations, since mpn/alpha/cntlz.asm always goes into libgmp.so, even when not actually used. */ #define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #if defined (__GNUC__) && HAVE_HOST_CPU_alpha_CIX #define count_leading_zeros(COUNT,X) \ __asm__("ctlz %1,%0" : "=r"(COUNT) : "r"(X)) #define count_trailing_zeros(COUNT,X) \ __asm__("cttz %1,%0" : "=r"(COUNT) : "r"(X)) #endif /* clz/ctz using cix */ #if ! defined (count_leading_zeros) \ && defined (__GNUC__) && ! defined (LONGLONG_STANDALONE) /* ALPHA_CMPBGE_0 gives "cmpbge $31,src,dst", ie. test src bytes == 0. "$31" is written explicitly in the asm, since an "r" constraint won't select reg 31. There seems no need to worry about "r31" syntax for cray, since gcc itself (pre-release 3.4) emits just $31 in various places. */ #define ALPHA_CMPBGE_0(dst, src) \ do { asm ("cmpbge $31, %1, %0" : "=r" (dst) : "r" (src)); } while (0) /* Zero bytes are turned into bits with cmpbge, a __clz_tab lookup counts them, locating the highest non-zero byte. A second __clz_tab lookup counts the leading zero bits in that byte, giving the result. */ #define count_leading_zeros(count, x) \ do { \ UWtype __clz__b, __clz__c, __clz__x = (x); \ ALPHA_CMPBGE_0 (__clz__b, __clz__x); /* zero bytes */ \ __clz__b = __clz_tab [(__clz__b >> 1) ^ 0x7F]; /* 8 to 1 byte */ \ __clz__b = __clz__b * 8 - 7; /* 57 to 1 shift */ \ __clz__x >>= __clz__b; \ __clz__c = __clz_tab [__clz__x]; /* 8 to 1 bit */ \ __clz__b = 65 - __clz__b; \ (count) = __clz__b - __clz__c; \ } while (0) #define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #endif /* clz using cmpbge */ #if ! defined (count_leading_zeros) && ! defined (LONGLONG_STANDALONE) #if HAVE_ATTRIBUTE_CONST long __MPN(count_leading_zeros) (UDItype) __attribute__ ((const)); #else long __MPN(count_leading_zeros) (UDItype); #endif #define count_leading_zeros(count, x) \ ((count) = __MPN(count_leading_zeros) (x)) #endif /* clz using mpn */ #endif /* __alpha */ #if defined (__AVR) && W_TYPE_SIZE == 8 #define umul_ppmm(ph, pl, m0, m1) \ do { \ unsigned short __p = (unsigned short) (m0) * (m1); \ (ph) = __p >> 8; \ (pl) = __p; \ } while (0) #endif /* AVR */ #if defined (_CRAY) && W_TYPE_SIZE == 64 #include #define UDIV_PREINV_ALWAYS 1 #define UDIV_NEEDS_NORMALIZATION 1 #define UDIV_TIME 220 long __MPN(count_leading_zeros) (UDItype); #define count_leading_zeros(count, x) \ ((count) = _leadz ((UWtype) (x))) #if defined (_CRAYIEEE) /* I.e., Cray T90/ieee, T3D, and T3E */ #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ (ph) = _int_mult_upper (m0, m1); \ (pl) = __m0 * __m1; \ } while (0) #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __di; \ __di = __MPN(invert_limb) (d); \ udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ } while (0) #endif /* LONGLONG_STANDALONE */ #endif /* _CRAYIEEE */ #endif /* _CRAY */ #if defined (__ia64) && W_TYPE_SIZE == 64 /* This form encourages gcc (pre-release 3.4 at least) to emit predicated "sub r=r,r" and "sub r=r,r,1", giving a 2 cycle latency. The generic code using "al>= _c; \ if (_x >= 1 << 4) \ _x >>= 4, _c += 4; \ if (_x >= 1 << 2) \ _x >>= 2, _c += 2; \ _c += _x >> 1; \ (count) = W_TYPE_SIZE - 1 - _c; \ } while (0) /* similar to what gcc does for __builtin_ffs, but 0 based rather than 1 based, and we don't need a special case for x==0 here */ #define count_trailing_zeros(count, x) \ do { \ UWtype __ctz_x = (x); \ __asm__ ("popcnt %0 = %1" \ : "=r" (count) \ : "r" ((__ctz_x-1) & ~__ctz_x)); \ } while (0) #endif #if defined (__INTEL_COMPILER) #include #define umul_ppmm(ph, pl, m0, m1) \ do { \ UWtype _m0 = (m0), _m1 = (m1); \ ph = _m64_xmahu (_m0, _m1, 0); \ pl = _m0 * _m1; \ } while (0) #endif #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __di; \ __di = __MPN(invert_limb) (d); \ udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ } while (0) #define UDIV_PREINV_ALWAYS 1 #define UDIV_NEEDS_NORMALIZATION 1 #endif #define UDIV_TIME 220 #endif #if defined (__GNUC__) /* We sometimes need to clobber "cc" with gcc2, but that would not be understood by gcc1. Use cpp to avoid major code duplication. */ #if __GNUC__ < 2 #define __CLOBBER_CC #define __AND_CLOBBER_CC #else /* __GNUC__ >= 2 */ #define __CLOBBER_CC : "cc" #define __AND_CLOBBER_CC , "cc" #endif /* __GNUC__ < 2 */ #if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add %1,%4,%5\n\taddc %0,%2,%3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "%r" (al), "rI" (bl)) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub %1,%4,%5\n\tsubc %0,%2,%3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "r" (al), "rI" (bl)) #define umul_ppmm(xh, xl, m0, m1) \ do { \ USItype __m0 = (m0), __m1 = (m1); \ __asm__ ("multiplu %0,%1,%2" \ : "=r" (xl) \ : "r" (__m0), "r" (__m1)); \ __asm__ ("multmu %0,%1,%2" \ : "=r" (xh) \ : "r" (__m0), "r" (__m1)); \ } while (0) #define udiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("dividu %0,%3,%4" \ : "=r" (q), "=q" (r) \ : "1" (n1), "r" (n0), "r" (d)) #define count_leading_zeros(count, x) \ __asm__ ("clz %0,%1" \ : "=r" (count) \ : "r" (x)) #define COUNT_LEADING_ZEROS_0 32 #endif /* __a29k__ */ #if defined (__arc__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add.f\t%1, %4, %5\n\tadc\t%0, %2, %3" \ : "=r" (sh), \ "=&r" (sl) \ : "r" ((USItype) (ah)), \ "rIJ" ((USItype) (bh)), \ "%r" ((USItype) (al)), \ "rIJ" ((USItype) (bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ : "=r" (sh), \ "=&r" (sl) \ : "r" ((USItype) (ah)), \ "rIJ" ((USItype) (bh)), \ "r" ((USItype) (al)), \ "rIJ" ((USItype) (bl))) #endif #if defined (__arm__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (al)) \ { \ if (__builtin_constant_p (ah)) \ __asm__ ("rsbs\t%1, %5, %4\n\trsc\t%0, %3, %2" \ : "=r" (sh), "=&r" (sl) \ : "rI" (ah), "r" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ else \ __asm__ ("rsbs\t%1, %5, %4\n\tsbc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ } \ else if (__builtin_constant_p (ah)) \ { \ if (__builtin_constant_p (bl)) \ __asm__ ("subs\t%1, %4, %5\n\trsc\t%0, %3, %2" \ : "=r" (sh), "=&r" (sl) \ : "rI" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ else \ __asm__ ("rsbs\t%1, %5, %4\n\trsc\t%0, %3, %2" \ : "=r" (sh), "=&r" (sl) \ : "rI" (ah), "r" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ } \ else if (__builtin_constant_p (bl)) \ { \ if (__builtin_constant_p (bh)) \ __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ else \ __asm__ ("subs\t%1, %4, %5\n\trsc\t%0, %3, %2" \ : "=r" (sh), "=&r" (sl) \ : "rI" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ } \ else /* only bh might be a constant */ \ __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\ } while (0) #if 1 || defined (__arm_m__) /* `M' series has widening multiply support */ #define umul_ppmm(xh, xl, a, b) \ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) #define UMUL_TIME 5 #define smul_ppmm(xh, xl, a, b) \ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __di; \ __di = __MPN(invert_limb) (d); \ udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ } while (0) #define UDIV_PREINV_ALWAYS 1 #define UDIV_NEEDS_NORMALIZATION 1 #define UDIV_TIME 70 #endif /* LONGLONG_STANDALONE */ #else #define umul_ppmm(xh, xl, a, b) \ __asm__ ("%@ Inlined umul_ppmm\n" \ " mov %|r0, %2, lsr #16\n" \ " mov %|r2, %3, lsr #16\n" \ " bic %|r1, %2, %|r0, lsl #16\n" \ " bic %|r2, %3, %|r2, lsl #16\n" \ " mul %1, %|r1, %|r2\n" \ " mul %|r2, %|r0, %|r2\n" \ " mul %|r1, %0, %|r1\n" \ " mul %0, %|r0, %0\n" \ " adds %|r1, %|r2, %|r1\n" \ " addcs %0, %0, #65536\n" \ " adds %1, %1, %|r1, lsl #16\n" \ " adc %0, %0, %|r1, lsr #16" \ : "=&r" (xh), "=r" (xl) \ : "r" (a), "r" (b) \ : "r0", "r1", "r2") #define UMUL_TIME 20 #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __r; \ (q) = __MPN(udiv_qrnnd) (&__r, (n1), (n0), (d)); \ (r) = __r; \ } while (0) extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); #define UDIV_TIME 200 #endif /* LONGLONG_STANDALONE */ #endif /* This is a bizarre test, but GCC doesn't define useful common symbol. */ #if defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || \ defined (__ARM_ARCH_5E__) || defined (__ARM_ARCH_5TE__)|| \ defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) || \ defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) || \ defined (__ARM_ARCH_6ZK__)|| defined (__ARM_ARCH_6T2__)|| \ defined (__ARM_ARCH_6M__) || defined (__ARM_ARCH_7__) || \ defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \ defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__) #define count_leading_zeros(count, x) \ __asm__ ("clz\t%0, %1" : "=r" (count) : "r" (x)) #define COUNT_LEADING_ZEROS_0 32 #endif #endif /* __arm__ */ #if defined (__aarch64__) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bl)) \ { \ __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ } \ else /* only bh might be a constant */ \ __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "rZ" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\ } while (0) #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ __asm__ ("umulh\t%0, %1, %2" : "=r" (ph) : "r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #define count_leading_zeros(count, x) \ __asm__ ("clz\t%0, %1" : "=r" (count) : "r" (x)) #define COUNT_LEADING_ZEROS_0 64 #endif /* __aarch64__ */ #if defined (__clipper__) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __x; \ __asm__ ("mulwux %2,%0" \ : "=r" (__x.__ll) \ : "%0" ((USItype)(u)), "r" ((USItype)(v))); \ (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) #define smul_ppmm(w1, w0, u, v) \ ({union {DItype __ll; \ struct {SItype __l, __h;} __i; \ } __x; \ __asm__ ("mulwx %2,%0" \ : "=r" (__x.__ll) \ : "%0" ((SItype)(u)), "r" ((SItype)(v))); \ (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) #define __umulsidi3(u, v) \ ({UDItype __w; \ __asm__ ("mulwux %2,%0" \ : "=r" (__w) : "%0" ((USItype)(u)), "r" ((USItype)(v))); \ __w; }) #endif /* __clipper__ */ /* Fujitsu vector computers. */ #if defined (__uxp__) && W_TYPE_SIZE == 32 #define umul_ppmm(ph, pl, u, v) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("mult.lu %1,%2,%0" : "=r" (__x.__ll) : "%r" (u), "rK" (v));\ (ph) = __x.__i.__h; \ (pl) = __x.__i.__l; \ } while (0) #define smul_ppmm(ph, pl, u, v) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("mult.l %1,%2,%0" : "=r" (__x.__ll) : "%r" (u), "rK" (v)); \ (ph) = __x.__i.__h; \ (pl) = __x.__i.__l; \ } while (0) #endif #if defined (__gmicro__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add.w %5,%1\n\taddx %3,%0" \ : "=g" (sh), "=&g" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "%1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub.w %5,%1\n\tsubx %3,%0" \ : "=g" (sh), "=&g" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "1" ((USItype)(al)), "g" ((USItype)(bl))) #define umul_ppmm(ph, pl, m0, m1) \ __asm__ ("mulx %3,%0,%1" \ : "=g" (ph), "=r" (pl) \ : "%0" ((USItype)(m0)), "g" ((USItype)(m1))) #define udiv_qrnnd(q, r, nh, nl, d) \ __asm__ ("divx %4,%0,%1" \ : "=g" (q), "=r" (r) \ : "1" ((USItype)(nh)), "0" ((USItype)(nl)), "g" ((USItype)(d))) #define count_leading_zeros(count, x) \ __asm__ ("bsch/1 %1,%0" \ : "=g" (count) : "g" ((USItype)(x)), "0" ((USItype)0)) #endif #if defined (__hppa) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add%I5 %5,%r4,%1\n\taddc %r2,%r3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rM" (ah), "rM" (bh), "%rM" (al), "rI" (bl)) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub%I4 %4,%r5,%1\n\tsubb %r2,%r3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rM" (ah), "rM" (bh), "rI" (al), "rM" (bl)) #if defined (_PA_RISC1_1) #define umul_ppmm(wh, wl, u, v) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("xmpyu %1,%2,%0" : "=*f" (__x.__ll) : "*f" (u), "*f" (v)); \ (wh) = __x.__i.__h; \ (wl) = __x.__i.__l; \ } while (0) #define UMUL_TIME 8 #define UDIV_TIME 60 #else #define UMUL_TIME 40 #define UDIV_TIME 80 #endif #define count_leading_zeros(count, x) \ do { \ USItype __tmp; \ __asm__ ( \ "ldi 1,%0\n" \ " extru,= %1,15,16,%%r0 ; Bits 31..16 zero?\n" \ " extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \ " ldo 16(%0),%0 ; Yes. Perform add.\n" \ " extru,= %1,23,8,%%r0 ; Bits 15..8 zero?\n" \ " extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \ " ldo 8(%0),%0 ; Yes. Perform add.\n" \ " extru,= %1,27,4,%%r0 ; Bits 7..4 zero?\n" \ " extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \ " ldo 4(%0),%0 ; Yes. Perform add.\n" \ " extru,= %1,29,2,%%r0 ; Bits 3..2 zero?\n" \ " extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \ " ldo 2(%0),%0 ; Yes. Perform add.\n" \ " extru %1,30,1,%1 ; Extract bit 1.\n" \ " sub %0,%1,%0 ; Subtract it.\n" \ : "=r" (count), "=r" (__tmp) : "1" (x)); \ } while (0) #endif /* hppa */ /* These macros are for ABI=2.0w. In ABI=2.0n they can't be used, since GCC (3.2) puts longlong into two adjacent 32-bit registers. Presumably this is just a case of no direct support for 2.0n but treating it like 1.0. */ #if defined (__hppa) && W_TYPE_SIZE == 64 && ! defined (_LONG_LONG_LIMB) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add%I5 %5,%r4,%1\n\tadd,dc %r2,%r3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rM" (ah), "rM" (bh), "%rM" (al), "rI" (bl)) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub%I4 %4,%r5,%1\n\tsub,db %r2,%r3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rM" (ah), "rM" (bh), "rI" (al), "rM" (bl)) #endif /* hppa */ #if (defined (__i370__) || defined (__s390__) || defined (__mvs__)) && W_TYPE_SIZE == 32 #if defined (__zarch__) || defined (HAVE_HOST_CPU_s390_zarch) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ /* if (__builtin_constant_p (bl)) \ __asm__ ("alfi\t%1,%o5\n\talcr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" (ah), "r" (bh), "%1" (al), "n" (bl) __CLOBBER_CC);\ else \ */ __asm__ ("alr\t%1,%5\n\talcr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" (ah), "r" (bh), "%1" (al), "r" (bl)__CLOBBER_CC); \ } while (0) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ /* if (__builtin_constant_p (bl)) \ __asm__ ("slfi\t%1,%o5\n\tslbr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" (ah), "r" (bh), "1" (al), "n" (bl) __CLOBBER_CC); \ else \ */ __asm__ ("slr\t%1,%5\n\tslbr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" (ah), "r" (bh), "1" (al), "r" (bl) __CLOBBER_CC); \ } while (0) #if __GMP_GNUC_PREREQ (4,5) #define umul_ppmm(xh, xl, m0, m1) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __x.__ll = (UDItype) (m0) * (UDItype) (m1); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ } while (0) #else #if 0 /* FIXME: this fails if gcc knows about the 64-bit registers. Use only with a new enough processor pretending we have 32-bit registers. */ #define umul_ppmm(xh, xl, m0, m1) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("mlr\t%0,%2" \ : "=r" (__x.__ll) \ : "%0" (m0), "r" (m1)); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ } while (0) #else #define umul_ppmm(xh, xl, m0, m1) \ do { \ /* When we have 64-bit regs and gcc is aware of that, we cannot simply use DImode for the product, since that would be allocated to a single 64-bit register, whereas mlr uses the low 32-bits of an even-odd register pair. */ \ register USItype __r0 __asm__ ("0"); \ register USItype __r1 __asm__ ("1") = (m0); \ __asm__ ("mlr\t%0,%3" \ : "=r" (__r0), "=r" (__r1) \ : "r" (__r1), "r" (m1)); \ (xh) = __r0; (xl) = __r1; \ } while (0) #endif /* if 0 */ #endif #if 0 /* FIXME: this fails if gcc knows about the 64-bit registers. Use only with a new enough processor pretending we have 32-bit registers. */ #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __x.__i.__h = n1; __x.__i.__l = n0; \ __asm__ ("dlr\t%0,%2" \ : "=r" (__x.__ll) \ : "0" (__x.__ll), "r" (d)); \ (q) = __x.__i.__l; (r) = __x.__i.__h; \ } while (0) #else #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ register USItype __r0 __asm__ ("0") = (n1); \ register USItype __r1 __asm__ ("1") = (n0); \ __asm__ ("dlr\t%0,%4" \ : "=r" (__r0), "=r" (__r1) \ : "r" (__r0), "r" (__r1), "r" (d)); \ (q) = __r1; (r) = __r0; \ } while (0) #endif /* if 0 */ #else /* if __zarch__ */ /* FIXME: this fails if gcc knows about the 64-bit registers. */ #define smul_ppmm(xh, xl, m0, m1) \ do { \ union {DItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("mr\t%0,%2" \ : "=r" (__x.__ll) \ : "%0" (m0), "r" (m1)); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ } while (0) /* FIXME: this fails if gcc knows about the 64-bit registers. */ #define sdiv_qrnnd(q, r, n1, n0, d) \ do { \ union {DItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __x.__i.__h = n1; __x.__i.__l = n0; \ __asm__ ("dr\t%0,%2" \ : "=r" (__x.__ll) \ : "0" (__x.__ll), "r" (d)); \ (q) = __x.__i.__l; (r) = __x.__i.__h; \ } while (0) #endif /* if __zarch__ */ #endif #if defined (__s390x__) && W_TYPE_SIZE == 64 /* We need to cast operands with register constraints, otherwise their types will be assumed to be SImode by gcc. For these machines, such operations will insert a value into the low 32 bits, and leave the high 32 bits with garbage. */ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ __asm__ ("algr\t%1,%5\n\talcgr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((UDItype)(ah)), "r" ((UDItype)(bh)), \ "%1" ((UDItype)(al)), "r" ((UDItype)(bl)) __CLOBBER_CC); \ } while (0) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ __asm__ ("slgr\t%1,%5\n\tslbgr\t%0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((UDItype)(ah)), "r" ((UDItype)(bh)), \ "1" ((UDItype)(al)), "r" ((UDItype)(bl)) __CLOBBER_CC); \ } while (0) #define umul_ppmm(xh, xl, m0, m1) \ do { \ union {unsigned int __attribute__ ((mode(TI))) __ll; \ struct {UDItype __h, __l;} __i; \ } __x; \ __asm__ ("mlgr\t%0,%2" \ : "=r" (__x.__ll) \ : "%0" ((UDItype)(m0)), "r" ((UDItype)(m1))); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ } while (0) #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ union {unsigned int __attribute__ ((mode(TI))) __ll; \ struct {UDItype __h, __l;} __i; \ } __x; \ __x.__i.__h = n1; __x.__i.__l = n0; \ __asm__ ("dlgr\t%0,%2" \ : "=r" (__x.__ll) \ : "0" (__x.__ll), "r" ((UDItype)(d))); \ (q) = __x.__i.__l; (r) = __x.__i.__h; \ } while (0) #if 0 /* FIXME: Enable for z10 (?) */ #define count_leading_zeros(cnt, x) \ do { \ union {unsigned int __attribute__ ((mode(TI))) __ll; \ struct {UDItype __h, __l;} __i; \ } __clr_cnt; \ __asm__ ("flogr\t%0,%1" \ : "=r" (__clr_cnt.__ll) \ : "r" (x) __CLOBBER_CC); \ (cnt) = __clr_cnt.__i.__h; \ } while (0) #endif #endif #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addl %5,%k1\n\tadcl %3,%k0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "%1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subl %5,%k1\n\tsbbl %3,%k0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "1" ((USItype)(al)), "g" ((USItype)(bl))) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mull %3" \ : "=a" (w0), "=d" (w1) \ : "%0" ((USItype)(u)), "rm" ((USItype)(v))) #define udiv_qrnnd(q, r, n1, n0, dx) /* d renamed to dx avoiding "=d" */\ __asm__ ("divl %4" /* stringification in K&R C */ \ : "=a" (q), "=d" (r) \ : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "rm" ((USItype)(dx))) #if HAVE_HOST_CPU_i586 || HAVE_HOST_CPU_pentium || HAVE_HOST_CPU_pentiummmx /* Pentium bsrl takes between 10 and 72 cycles depending where the most significant 1 bit is, hence the use of the following alternatives. bsfl is slow too, between 18 and 42 depending where the least significant 1 bit is, so let the generic count_trailing_zeros below make use of the count_leading_zeros here too. */ #if HAVE_HOST_CPU_pentiummmx && ! defined (LONGLONG_STANDALONE) /* The following should be a fixed 14 or 15 cycles, but possibly plus an L1 cache miss reading from __clz_tab. For P55 it's favoured over the float below so as to avoid mixing MMX and x87, since the penalty for switching between the two is about 100 cycles. The asm block sets __shift to -3 if the high 24 bits are clear, -2 for 16, -1 for 8, or 0 otherwise. This could be written equivalently as follows, but as of gcc 2.95.2 it results in conditional jumps. __shift = -(__n < 0x1000000); __shift -= (__n < 0x10000); __shift -= (__n < 0x100); The middle two sbbl and cmpl's pair, and with luck something gcc generates might pair with the first cmpl and the last sbbl. The "32+1" constant could be folded into __clz_tab[], but it doesn't seem worth making a different table just for that. */ #define count_leading_zeros(c,n) \ do { \ USItype __n = (n); \ USItype __shift; \ __asm__ ("cmpl $0x1000000, %1\n" \ "sbbl %0, %0\n" \ "cmpl $0x10000, %1\n" \ "sbbl $0, %0\n" \ "cmpl $0x100, %1\n" \ "sbbl $0, %0\n" \ : "=&r" (__shift) : "r" (__n)); \ __shift = __shift*8 + 24 + 1; \ (c) = 32 + 1 - __shift - __clz_tab[__n >> __shift]; \ } while (0) #define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #define COUNT_LEADING_ZEROS_0 31 /* n==0 indistinguishable from n==1 */ #else /* ! pentiummmx || LONGLONG_STANDALONE */ /* The following should be a fixed 14 cycles or so. Some scheduling opportunities should be available between the float load/store too. This sort of code is used in gcc 3 for __builtin_ffs (with "n&-n") and is apparently suggested by the Intel optimizing manual (don't know exactly where). gcc 2.95 or up will be best for this, so the "double" is correctly aligned on the stack. */ #define count_leading_zeros(c,n) \ do { \ union { \ double d; \ unsigned a[2]; \ } __u; \ ASSERT ((n) != 0); \ __u.d = (UWtype) (n); \ (c) = 0x3FF + 31 - (__u.a[1] >> 20); \ } while (0) #define COUNT_LEADING_ZEROS_0 (0x3FF + 31) #endif /* pentiummx */ #else /* ! pentium */ #if __GMP_GNUC_PREREQ (3,4) /* using bsrl */ #define count_leading_zeros(count,x) count_leading_zeros_gcc_clz(count,x) #endif /* gcc clz */ /* On P6, gcc prior to 3.0 generates a partial register stall for __cbtmp^31, due to using "xorb $31" instead of "xorl $31", the former being 1 code byte smaller. "31-__cbtmp" is a workaround, probably at the cost of one extra instruction. Do this for "i386" too, since that means generic x86. */ #if ! defined (count_leading_zeros) && __GNUC__ < 3 \ && (HAVE_HOST_CPU_i386 \ || HAVE_HOST_CPU_i686 \ || HAVE_HOST_CPU_pentiumpro \ || HAVE_HOST_CPU_pentium2 \ || HAVE_HOST_CPU_pentium3) #define count_leading_zeros(count, x) \ do { \ USItype __cbtmp; \ ASSERT ((x) != 0); \ __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)(x))); \ (count) = 31 - __cbtmp; \ } while (0) #endif /* gcc<3 asm bsrl */ #ifndef count_leading_zeros #define count_leading_zeros(count, x) \ do { \ USItype __cbtmp; \ ASSERT ((x) != 0); \ __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)(x))); \ (count) = __cbtmp ^ 31; \ } while (0) #endif /* asm bsrl */ #if __GMP_GNUC_PREREQ (3,4) /* using bsfl */ #define count_trailing_zeros(count,x) count_trailing_zeros_gcc_ctz(count,x) #endif /* gcc ctz */ #ifndef count_trailing_zeros #define count_trailing_zeros(count, x) \ do { \ ASSERT ((x) != 0); \ __asm__ ("bsfl %1,%k0" : "=r" (count) : "rm" ((USItype)(x))); \ } while (0) #endif /* asm bsfl */ #endif /* ! pentium */ #ifndef UMUL_TIME #define UMUL_TIME 10 #endif #ifndef UDIV_TIME #define UDIV_TIME 40 #endif #endif /* 80x86 */ #if defined (__amd64__) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addq %5,%q1\n\tadcq %3,%q0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \ "%1" ((UDItype)(al)), "rme" ((UDItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subq %5,%q1\n\tsbbq %3,%q0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \ "1" ((UDItype)(al)), "rme" ((UDItype)(bl))) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulq %3" \ : "=a" (w0), "=d" (w1) \ : "%0" ((UDItype)(u)), "rm" ((UDItype)(v))) #define udiv_qrnnd(q, r, n1, n0, dx) /* d renamed to dx avoiding "=d" */\ __asm__ ("divq %4" /* stringification in K&R C */ \ : "=a" (q), "=d" (r) \ : "0" ((UDItype)(n0)), "1" ((UDItype)(n1)), "rm" ((UDItype)(dx))) /* bsrq destination must be a 64-bit register, hence UDItype for __cbtmp. */ #define count_leading_zeros(count, x) \ do { \ UDItype __cbtmp; \ ASSERT ((x) != 0); \ __asm__ ("bsrq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ (count) = __cbtmp ^ 63; \ } while (0) /* bsfq destination must be a 64-bit register, "%q0" forces this in case count is only an int. */ #define count_trailing_zeros(count, x) \ do { \ ASSERT ((x) != 0); \ __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ } while (0) #endif /* x86_64 */ #if defined (__i860__) && W_TYPE_SIZE == 32 #define rshift_rhlc(r,h,l,c) \ __asm__ ("shr %3,r0,r0\;shrd %1,%2,%0" \ "=r" (r) : "r" (h), "r" (l), "rn" (c)) #endif /* i860 */ #if defined (__i960__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("cmpo 1,0\;addc %5,%4,%1\;addc %3,%2,%0" \ : "=r" (sh), "=&r" (sl) \ : "dI" (ah), "dI" (bh), "%dI" (al), "dI" (bl)) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("cmpo 0,0\;subc %5,%4,%1\;subc %3,%2,%0" \ : "=r" (sh), "=&r" (sl) \ : "dI" (ah), "dI" (bh), "dI" (al), "dI" (bl)) #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __x; \ __asm__ ("emul %2,%1,%0" \ : "=d" (__x.__ll) : "%dI" (u), "dI" (v)); \ (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) #define __umulsidi3(u, v) \ ({UDItype __w; \ __asm__ ("emul %2,%1,%0" : "=d" (__w) : "%dI" (u), "dI" (v)); \ __w; }) #define udiv_qrnnd(q, r, nh, nl, d) \ do { \ union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __nn; \ __nn.__i.__h = (nh); __nn.__i.__l = (nl); \ __asm__ ("ediv %d,%n,%0" \ : "=d" (__rq.__ll) : "dI" (__nn.__ll), "dI" (d)); \ (r) = __rq.__i.__l; (q) = __rq.__i.__h; \ } while (0) #define count_leading_zeros(count, x) \ do { \ USItype __cbtmp; \ __asm__ ("scanbit %1,%0" : "=r" (__cbtmp) : "r" (x)); \ (count) = __cbtmp ^ 31; \ } while (0) #define COUNT_LEADING_ZEROS_0 (-32) /* sic */ #if defined (__i960mx) /* what is the proper symbol to test??? */ #define rshift_rhlc(r,h,l,c) \ do { \ union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __nn; \ __nn.__i.__h = (h); __nn.__i.__l = (l); \ __asm__ ("shre %2,%1,%0" : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \ } #endif /* i960mx */ #endif /* i960 */ #if (defined (__mc68000__) || defined (__mc68020__) || defined(mc68020) \ || defined (__m68k__) || defined (__mc5200__) || defined (__mc5206e__) \ || defined (__mc5307__)) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add%.l %5,%1\n\taddx%.l %3,%0" \ : "=d" (sh), "=&d" (sl) \ : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ "%1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub%.l %5,%1\n\tsubx%.l %3,%0" \ : "=d" (sh), "=&d" (sl) \ : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ "1" ((USItype)(al)), "g" ((USItype)(bl))) /* The '020, '030, '040 and CPU32 have 32x32->64 and 64/32->32q-32r. */ #if defined (__mc68020__) || defined(mc68020) \ || defined (__mc68030__) || defined (mc68030) \ || defined (__mc68040__) || defined (mc68040) \ || defined (__mcpu32__) || defined (mcpu32) \ || defined (__NeXT__) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulu%.l %3,%1:%0" \ : "=d" (w0), "=d" (w1) \ : "%0" ((USItype)(u)), "dmi" ((USItype)(v))) #define UMUL_TIME 45 #define udiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("divu%.l %4,%1:%0" \ : "=d" (q), "=d" (r) \ : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "dmi" ((USItype)(d))) #define UDIV_TIME 90 #define sdiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("divs%.l %4,%1:%0" \ : "=d" (q), "=d" (r) \ : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "dmi" ((USItype)(d))) #else /* for other 68k family members use 16x16->32 multiplication */ #define umul_ppmm(xh, xl, a, b) \ do { USItype __umul_tmp1, __umul_tmp2; \ __asm__ ("| Inlined umul_ppmm\n" \ " move%.l %5,%3\n" \ " move%.l %2,%0\n" \ " move%.w %3,%1\n" \ " swap %3\n" \ " swap %0\n" \ " mulu%.w %2,%1\n" \ " mulu%.w %3,%0\n" \ " mulu%.w %2,%3\n" \ " swap %2\n" \ " mulu%.w %5,%2\n" \ " add%.l %3,%2\n" \ " jcc 1f\n" \ " add%.l %#0x10000,%0\n" \ "1: move%.l %2,%3\n" \ " clr%.w %2\n" \ " swap %2\n" \ " swap %3\n" \ " clr%.w %3\n" \ " add%.l %3,%1\n" \ " addx%.l %2,%0\n" \ " | End inlined umul_ppmm" \ : "=&d" (xh), "=&d" (xl), \ "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \ : "%2" ((USItype)(a)), "d" ((USItype)(b))); \ } while (0) #define UMUL_TIME 100 #define UDIV_TIME 400 #endif /* not mc68020 */ /* The '020, '030, '040 and '060 have bitfield insns. GCC 3.4 defines __mc68020__ when in CPU32 mode, check for __mcpu32__ to exclude bfffo on that chip (bitfield insns not available). */ #if (defined (__mc68020__) || defined (mc68020) \ || defined (__mc68030__) || defined (mc68030) \ || defined (__mc68040__) || defined (mc68040) \ || defined (__mc68060__) || defined (mc68060) \ || defined (__NeXT__)) \ && ! defined (__mcpu32__) #define count_leading_zeros(count, x) \ __asm__ ("bfffo %1{%b2:%b2},%0" \ : "=d" (count) \ : "od" ((USItype) (x)), "n" (0)) #define COUNT_LEADING_ZEROS_0 32 #endif #endif /* mc68000 */ #if defined (__m88000__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addu.co %1,%r4,%r5\n\taddu.ci %0,%r2,%r3" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rJ" (bh), "%rJ" (al), "rJ" (bl)) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subu.co %1,%r4,%r5\n\tsubu.ci %0,%r2,%r3" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rJ" (bh), "rJ" (al), "rJ" (bl)) #define count_leading_zeros(count, x) \ do { \ USItype __cbtmp; \ __asm__ ("ff1 %0,%1" : "=r" (__cbtmp) : "r" (x)); \ (count) = __cbtmp ^ 31; \ } while (0) #define COUNT_LEADING_ZEROS_0 63 /* sic */ #if defined (__m88110__) #define umul_ppmm(wh, wl, u, v) \ do { \ union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \ (wh) = __x.__i.__h; \ (wl) = __x.__i.__l; \ } while (0) #define udiv_qrnnd(q, r, n1, n0, d) \ ({union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x, __q; \ __x.__i.__h = (n1); __x.__i.__l = (n0); \ __asm__ ("divu.d %0,%1,%2" \ : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \ (r) = (n0) - __q.__l * (d); (q) = __q.__l; }) #define UMUL_TIME 5 #define UDIV_TIME 25 #else #define UMUL_TIME 17 #define UDIV_TIME 150 #endif /* __m88110__ */ #endif /* __m88000__ */ #if defined (__mips) && W_TYPE_SIZE == 32 #if __GMP_GNUC_PREREQ (4,4) #define umul_ppmm(w1, w0, u, v) \ do { \ UDItype __ll = (UDItype)(u) * (v); \ w1 = __ll >> 32; \ w0 = __ll; \ } while (0) #endif #if !defined (umul_ppmm) && __GMP_GNUC_PREREQ (2,7) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) #endif #if !defined (umul_ppmm) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) #endif #define UMUL_TIME 10 #define UDIV_TIME 100 #endif /* __mips */ #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 #if __GMP_GNUC_PREREQ (4,4) #define umul_ppmm(w1, w0, u, v) \ do { \ typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \ w1 = __ll >> 64; \ w0 = __ll; \ } while (0) #endif #if !defined (umul_ppmm) && __GMP_GNUC_PREREQ (2,7) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) #endif #if !defined (umul_ppmm) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) #endif #define UMUL_TIME 20 #define UDIV_TIME 140 #endif /* __mips */ #if defined (__mmix__) && W_TYPE_SIZE == 64 #define umul_ppmm(w1, w0, u, v) \ __asm__ ("MULU %0,%2,%3" : "=r" (w0), "=z" (w1) : "r" (u), "r" (v)) #endif #if defined (__ns32000__) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __x; \ __asm__ ("meid %2,%0" \ : "=g" (__x.__ll) \ : "%0" ((USItype)(u)), "g" ((USItype)(v))); \ (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) #define __umulsidi3(u, v) \ ({UDItype __w; \ __asm__ ("meid %2,%0" \ : "=g" (__w) \ : "%0" ((USItype)(u)), "g" ((USItype)(v))); \ __w; }) #define udiv_qrnnd(q, r, n1, n0, d) \ ({union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __x; \ __x.__i.__h = (n1); __x.__i.__l = (n0); \ __asm__ ("deid %2,%0" \ : "=g" (__x.__ll) \ : "0" (__x.__ll), "g" ((USItype)(d))); \ (r) = __x.__i.__l; (q) = __x.__i.__h; }) #define count_trailing_zeros(count,x) \ do { \ __asm__ ("ffsd %2,%0" \ : "=r" (count) \ : "0" ((USItype) 0), "r" ((USItype) (x))); \ } while (0) #endif /* __ns32000__ */ /* In the past we had a block of various #defines tested _ARCH_PPC - AIX _ARCH_PWR - AIX __powerpc__ - gcc __POWERPC__ - BEOS __ppc__ - Darwin PPC - old gcc, GNU/Linux, SysV The plain PPC test was not good for vxWorks, since PPC is defined on all CPUs there (eg. m68k too), as a constant one is expected to compare CPU_FAMILY against. At any rate, this was pretty unattractive and a bit fragile. The use of HAVE_HOST_CPU_FAMILY is designed to cut through it all and be sure of getting the desired effect. ENHANCE-ME: We should test _IBMR2 here when we add assembly support for the system vendor compilers. (Is that vendor compilers with inline asm, or what?) */ #if (HAVE_HOST_CPU_FAMILY_power || HAVE_HOST_CPU_FAMILY_powerpc) \ && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bh) && (bh) == 0) \ __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ else \ __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \ } while (0) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (ah) && (ah) == 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ else if (__builtin_constant_p (bh) && (bh) == 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ else \ __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \ } while (0) #define count_leading_zeros(count, x) \ __asm__ ("{cntlz|cntlzw} %0,%1" : "=r" (count) : "r" (x)) #define COUNT_LEADING_ZEROS_0 32 #if HAVE_HOST_CPU_FAMILY_powerpc #if __GMP_GNUC_PREREQ (4,4) #define umul_ppmm(w1, w0, u, v) \ do { \ UDItype __ll = (UDItype)(u) * (v); \ w1 = __ll >> 32; \ w0 = __ll; \ } while (0) #endif #if !defined (umul_ppmm) #define umul_ppmm(ph, pl, m0, m1) \ do { \ USItype __m0 = (m0), __m1 = (m1); \ __asm__ ("mulhwu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #endif #define UMUL_TIME 15 #define smul_ppmm(ph, pl, m0, m1) \ do { \ SItype __m0 = (m0), __m1 = (m1); \ __asm__ ("mulhw %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #define SMUL_TIME 14 #define UDIV_TIME 120 #else #define UMUL_TIME 8 #define smul_ppmm(xh, xl, m0, m1) \ __asm__ ("mul %0,%2,%3" : "=r" (xh), "=q" (xl) : "r" (m0), "r" (m1)) #define SMUL_TIME 4 #define sdiv_qrnnd(q, r, nh, nl, d) \ __asm__ ("div %0,%2,%4" : "=r" (q), "=q" (r) : "r" (nh), "1" (nl), "r" (d)) #define UDIV_TIME 100 #endif #endif /* 32-bit POWER architecture variants. */ /* We should test _IBMR2 here when we add assembly support for the system vendor compilers. */ #if HAVE_HOST_CPU_FAMILY_powerpc && W_TYPE_SIZE == 64 #if !defined (_LONG_LONG_LIMB) /* _LONG_LONG_LIMB is ABI=mode32 where adde operates on 32-bit values. So use adde etc only when not _LONG_LONG_LIMB. */ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bh) && (bh) == 0) \ __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ else \ __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \ } while (0) /* We use "*rI" for the constant operand here, since with just "I", gcc barfs. This might seem strange, but gcc folds away the dead code late. */ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bl) && bl > -0x8000 && bl <= 0x8000) { \ if (__builtin_constant_p (ah) && (ah) == 0) \ __asm__ ("{ai|addic} %1,%3,%4\n\t{sfze|subfze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "*rI" (-bl)); \ else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \ __asm__ ("{ai|addic} %1,%3,%4\n\t{sfme|subfme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "*rI" (-bl)); \ else if (__builtin_constant_p (bh) && (bh) == 0) \ __asm__ ("{ai|addic} %1,%3,%4\n\t{ame|addme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "*rI" (-bl)); \ else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ __asm__ ("{ai|addic} %1,%3,%4\n\t{aze|addze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "*rI" (-bl)); \ else \ __asm__ ("{ai|addic} %1,%4,%5\n\t{sfe|subfe} %0,%3,%2" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "rI" (al), "*rI" (-bl)); \ } else { \ if (__builtin_constant_p (ah) && (ah) == 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl)); \ else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl)); \ else if (__builtin_constant_p (bh) && (bh) == 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl)); \ else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl)); \ else \ __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \ : "=r" (sh), "=&r" (sl) \ : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \ } \ } while (0) #endif /* ! _LONG_LONG_LIMB */ #define count_leading_zeros(count, x) \ __asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x)) #define COUNT_LEADING_ZEROS_0 64 #if 0 && __GMP_GNUC_PREREQ (4,4) /* Disable, this results in libcalls! */ #define umul_ppmm(w1, w0, u, v) \ do { \ typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \ w1 = __ll >> 64; \ w0 = __ll; \ } while (0) #endif #if !defined (umul_ppmm) #define umul_ppmm(ph, pl, m0, m1) \ do { \ UDItype __m0 = (m0), __m1 = (m1); \ __asm__ ("mulhdu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #endif #define UMUL_TIME 15 #define smul_ppmm(ph, pl, m0, m1) \ do { \ DItype __m0 = (m0), __m1 = (m1); \ __asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) #define SMUL_TIME 14 /* ??? */ #define UDIV_TIME 120 /* ??? */ #endif /* 64-bit PowerPC. */ #if defined (__pyr__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addw %5,%1\n\taddwc %3,%0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "%1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subw %5,%1\n\tsubwb %3,%0" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "1" ((USItype)(al)), "g" ((USItype)(bl))) /* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */ #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ struct {USItype __h, __l;} __i; \ } __x; \ __asm__ ("movw %1,%R0\n\tuemul %2,%0" \ : "=&r" (__x.__ll) \ : "g" ((USItype) (u)), "g" ((USItype)(v))); \ (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) #endif /* __pyr__ */ #if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("a %1,%5\n\tae %0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "r" ((USItype)(bh)), \ "%1" ((USItype)(al)), "r" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("s %1,%5\n\tse %0,%3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((USItype)(ah)), "r" ((USItype)(bh)), \ "1" ((USItype)(al)), "r" ((USItype)(bl))) #define smul_ppmm(ph, pl, m0, m1) \ __asm__ ( \ "s r2,r2\n" \ " mts r10,%2\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " m r2,%3\n" \ " cas %0,r2,r0\n" \ " mfs r10,%1" \ : "=r" (ph), "=r" (pl) \ : "%r" ((USItype)(m0)), "r" ((USItype)(m1)) \ : "r2") #define UMUL_TIME 20 #define UDIV_TIME 200 #define count_leading_zeros(count, x) \ do { \ if ((x) >= 0x10000) \ __asm__ ("clz %0,%1" \ : "=r" (count) : "r" ((USItype)(x) >> 16)); \ else \ { \ __asm__ ("clz %0,%1" \ : "=r" (count) : "r" ((USItype)(x))); \ (count) += 16; \ } \ } while (0) #endif /* RT/ROMP */ #if (defined (__SH2__) || defined (__SH3__) || defined (__SH4__)) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ __asm__ ("dmulu.l %2,%3\n\tsts macl,%1\n\tsts mach,%0" \ : "=r" (w1), "=r" (w0) : "r" (u), "r" (v) : "macl", "mach") #define UMUL_TIME 5 #endif #if defined (__sparc__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addcc %r4,%5,%1\n\taddx %r2,%3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rI" (bh),"%rJ" (al), "rI" (bl) \ __CLOBBER_CC) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subcc %r4,%5,%1\n\tsubx %r2,%3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rI" (bh), "rJ" (al), "rI" (bl) \ __CLOBBER_CC) /* FIXME: When gcc -mcpu=v9 is used on solaris, gcc/config/sol2-sld-64.h doesn't define anything to indicate that to us, it only sets __sparcv8. */ #if defined (__sparc_v9__) || defined (__sparcv9) /* Perhaps we should use floating-point operations here? */ #if 0 /* Triggers a bug making mpz/tests/t-gcd.c fail. Perhaps we simply need explicitly zero-extend the inputs? */ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulx %2,%3,%%g1; srl %%g1,0,%1; srlx %%g1,32,%0" : \ "=r" (w1), "=r" (w0) : "r" (u), "r" (v) : "g1") #else /* Use v8 umul until above bug is fixed. */ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) #endif /* Use a plain v8 divide for v9. */ #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ USItype __q; \ __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \ : "=r" (__q) : "r" (n1), "r" (n0), "r" (d)); \ (r) = (n0) - __q * (d); \ (q) = __q; \ } while (0) #else #if defined (__sparc_v8__) /* gcc normal */ \ || defined (__sparcv8) /* gcc solaris */ \ || HAVE_HOST_CPU_supersparc /* Don't match immediate range because, 1) it is not often useful, 2) the 'I' flag thinks of the range as a 13 bit signed interval, while we want to match a 13 bit interval, sign extended to 32 bits, but INTERPRETED AS UNSIGNED. */ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) #define UMUL_TIME 5 #if HAVE_HOST_CPU_supersparc #define UDIV_TIME 60 /* SuperSPARC timing */ #else /* Don't use this on SuperSPARC because its udiv only handles 53 bit dividends and will trap to the kernel for the rest. */ #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ USItype __q; \ __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \ : "=r" (__q) : "r" (n1), "r" (n0), "r" (d)); \ (r) = (n0) - __q * (d); \ (q) = __q; \ } while (0) #define UDIV_TIME 25 #endif /* HAVE_HOST_CPU_supersparc */ #else /* ! __sparc_v8__ */ #if defined (__sparclite__) /* This has hardware multiply but not divide. It also has two additional instructions scan (ffs from high bit) and divscc. */ #define umul_ppmm(w1, w0, u, v) \ __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) #define UMUL_TIME 5 #define udiv_qrnnd(q, r, n1, n0, d) \ __asm__ ("! Inlined udiv_qrnnd\n" \ " wr %%g0,%2,%%y ! Not a delayed write for sparclite\n" \ " tst %%g0\n" \ " divscc %3,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%%g1\n" \ " divscc %%g1,%4,%0\n" \ " rd %%y,%1\n" \ " bl,a 1f\n" \ " add %1,%4,%1\n" \ "1: ! End of inline udiv_qrnnd" \ : "=r" (q), "=r" (r) : "r" (n1), "r" (n0), "rI" (d) \ : "%g1" __AND_CLOBBER_CC) #define UDIV_TIME 37 #define count_leading_zeros(count, x) \ __asm__ ("scan %1,1,%0" : "=r" (count) : "r" (x)) /* Early sparclites return 63 for an argument of 0, but they warn that future implementations might change this. Therefore, leave COUNT_LEADING_ZEROS_0 undefined. */ #endif /* __sparclite__ */ #endif /* __sparc_v8__ */ #endif /* __sparc_v9__ */ /* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */ #ifndef umul_ppmm #define umul_ppmm(w1, w0, u, v) \ __asm__ ("! Inlined umul_ppmm\n" \ " wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n" \ " sra %3,31,%%g2 ! Don't move this insn\n" \ " and %2,%%g2,%%g2 ! Don't move this insn\n" \ " andcc %%g0,0,%%g1 ! Don't move this insn\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,%3,%%g1\n" \ " mulscc %%g1,0,%%g1\n" \ " add %%g1,%%g2,%0\n" \ " rd %%y,%1" \ : "=r" (w1), "=r" (w0) : "%rI" (u), "r" (v) \ : "%g1", "%g2" __AND_CLOBBER_CC) #define UMUL_TIME 39 /* 39 instructions */ #endif #ifndef udiv_qrnnd #ifndef LONGLONG_STANDALONE #define udiv_qrnnd(q, r, n1, n0, d) \ do { UWtype __r; \ (q) = __MPN(udiv_qrnnd) (&__r, (n1), (n0), (d)); \ (r) = __r; \ } while (0) extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); #ifndef UDIV_TIME #define UDIV_TIME 140 #endif #endif /* LONGLONG_STANDALONE */ #endif /* udiv_qrnnd */ #endif /* __sparc__ */ #if defined (__sparc__) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ( \ "addcc %r4,%5,%1\n" \ " addccc %r6,%7,%%g0\n" \ " addc %r2,%3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rI" (bh), "%rJ" (al), "rI" (bl), \ "%rJ" ((al) >> 32), "rI" ((bl) >> 32) \ __CLOBBER_CC) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ( \ "subcc %r4,%5,%1\n" \ " subccc %r6,%7,%%g0\n" \ " subc %r2,%3,%0" \ : "=r" (sh), "=&r" (sl) \ : "rJ" (ah), "rI" (bh), "rJ" (al), "rI" (bl), \ "rJ" ((al) >> 32), "rI" ((bl) >> 32) \ __CLOBBER_CC) #endif #if defined (__vax__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addl2 %5,%1\n\tadwc %3,%0" \ : "=g" (sh), "=&g" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "%1" ((USItype)(al)), "g" ((USItype)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subl2 %5,%1\n\tsbwc %3,%0" \ : "=g" (sh), "=&g" (sl) \ : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ "1" ((USItype)(al)), "g" ((USItype)(bl))) #define smul_ppmm(xh, xl, m0, m1) \ do { \ union {UDItype __ll; \ struct {USItype __l, __h;} __i; \ } __x; \ USItype __m0 = (m0), __m1 = (m1); \ __asm__ ("emul %1,%2,$0,%0" \ : "=g" (__x.__ll) : "g" (__m0), "g" (__m1)); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ } while (0) #define sdiv_qrnnd(q, r, n1, n0, d) \ do { \ union {DItype __ll; \ struct {SItype __l, __h;} __i; \ } __x; \ __x.__i.__h = n1; __x.__i.__l = n0; \ __asm__ ("ediv %3,%2,%0,%1" \ : "=g" (q), "=g" (r) : "g" (__x.__ll), "g" (d)); \ } while (0) #if 0 /* FIXME: This instruction appears to be unimplemented on some systems (vax 8800 maybe). */ #define count_trailing_zeros(count,x) \ do { \ __asm__ ("ffs 0, 31, %1, %0" \ : "=g" (count) \ : "g" ((USItype) (x))); \ } while (0) #endif #endif /* __vax__ */ #if defined (__z8000__) && W_TYPE_SIZE == 16 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((unsigned int)(ah)), "r" ((unsigned int)(bh)), \ "%1" ((unsigned int)(al)), "rQR" ((unsigned int)(bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub %H1,%H5\n\tsbc %H0,%H3" \ : "=r" (sh), "=&r" (sl) \ : "0" ((unsigned int)(ah)), "r" ((unsigned int)(bh)), \ "1" ((unsigned int)(al)), "rQR" ((unsigned int)(bl))) #define umul_ppmm(xh, xl, m0, m1) \ do { \ union {long int __ll; \ struct {unsigned int __h, __l;} __i; \ } __x; \ unsigned int __m0 = (m0), __m1 = (m1); \ __asm__ ("mult %S0,%H3" \ : "=r" (__x.__i.__h), "=r" (__x.__i.__l) \ : "%1" (m0), "rQR" (m1)); \ (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ (xh) += ((((signed int) __m0 >> 15) & __m1) \ + (((signed int) __m1 >> 15) & __m0)); \ } while (0) #endif /* __z8000__ */ #endif /* __GNUC__ */ #endif /* NO_ASM */ /* FIXME: "sidi" here is highly doubtful, should sometimes be "diti". */ #if !defined (umul_ppmm) && defined (__umulsidi3) #define umul_ppmm(ph, pl, m0, m1) \ { \ UDWtype __ll = __umulsidi3 (m0, m1); \ ph = (UWtype) (__ll >> W_TYPE_SIZE); \ pl = (UWtype) __ll; \ } #endif #if !defined (__umulsidi3) #define __umulsidi3(u, v) \ ({UWtype __hi, __lo; \ umul_ppmm (__hi, __lo, u, v); \ ((UDWtype) __hi << W_TYPE_SIZE) | __lo; }) #endif /* Use mpn_umul_ppmm or mpn_udiv_qrnnd functions, if they exist. The "_r" forms have "reversed" arguments, meaning the pointer is last, which sometimes allows better parameter passing, in particular on 64-bit hppa. */ #define mpn_umul_ppmm __MPN(umul_ppmm) extern UWtype mpn_umul_ppmm (UWtype *, UWtype, UWtype); #if ! defined (umul_ppmm) && HAVE_NATIVE_mpn_umul_ppmm \ && ! defined (LONGLONG_STANDALONE) #define umul_ppmm(wh, wl, u, v) \ do { \ UWtype __umul_ppmm__p0; \ (wh) = mpn_umul_ppmm (&__umul_ppmm__p0, (UWtype) (u), (UWtype) (v)); \ (wl) = __umul_ppmm__p0; \ } while (0) #endif #define mpn_umul_ppmm_r __MPN(umul_ppmm_r) extern UWtype mpn_umul_ppmm_r (UWtype, UWtype, UWtype *); #if ! defined (umul_ppmm) && HAVE_NATIVE_mpn_umul_ppmm_r \ && ! defined (LONGLONG_STANDALONE) #define umul_ppmm(wh, wl, u, v) \ do { \ UWtype __umul_ppmm__p0; \ (wh) = mpn_umul_ppmm_r ((UWtype) (u), (UWtype) (v), &__umul_ppmm__p0); \ (wl) = __umul_ppmm__p0; \ } while (0) #endif #define mpn_udiv_qrnnd __MPN(udiv_qrnnd) extern UWtype mpn_udiv_qrnnd (UWtype *, UWtype, UWtype, UWtype); #if ! defined (udiv_qrnnd) && HAVE_NATIVE_mpn_udiv_qrnnd \ && ! defined (LONGLONG_STANDALONE) #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ UWtype __udiv_qrnnd__r; \ (q) = mpn_udiv_qrnnd (&__udiv_qrnnd__r, \ (UWtype) (n1), (UWtype) (n0), (UWtype) d); \ (r) = __udiv_qrnnd__r; \ } while (0) #endif #define mpn_udiv_qrnnd_r __MPN(udiv_qrnnd_r) extern UWtype mpn_udiv_qrnnd_r (UWtype, UWtype, UWtype, UWtype *); #if ! defined (udiv_qrnnd) && HAVE_NATIVE_mpn_udiv_qrnnd_r \ && ! defined (LONGLONG_STANDALONE) #define udiv_qrnnd(q, r, n1, n0, d) \ do { \ UWtype __udiv_qrnnd__r; \ (q) = mpn_udiv_qrnnd_r ((UWtype) (n1), (UWtype) (n0), (UWtype) d, \ &__udiv_qrnnd__r); \ (r) = __udiv_qrnnd__r; \ } while (0) #endif /* If this machine has no inline assembler, use C macros. */ #if !defined (add_ssaaaa) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ UWtype __x; \ __x = (al) + (bl); \ (sh) = (ah) + (bh) + (__x < (al)); \ (sl) = __x; \ } while (0) #endif #if !defined (sub_ddmmss) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ UWtype __x; \ __x = (al) - (bl); \ (sh) = (ah) - (bh) - ((al) < (bl)); \ (sl) = __x; \ } while (0) #endif /* If we lack umul_ppmm but have smul_ppmm, define umul_ppmm in terms of smul_ppmm. */ #if !defined (umul_ppmm) && defined (smul_ppmm) #define umul_ppmm(w1, w0, u, v) \ do { \ UWtype __w1; \ UWtype __xm0 = (u), __xm1 = (v); \ smul_ppmm (__w1, w0, __xm0, __xm1); \ (w1) = __w1 + (-(__xm0 >> (W_TYPE_SIZE - 1)) & __xm1) \ + (-(__xm1 >> (W_TYPE_SIZE - 1)) & __xm0); \ } while (0) #endif /* If we still don't have umul_ppmm, define it using plain C. For reference, when this code is used for squaring (ie. u and v identical expressions), gcc recognises __x1 and __x2 are the same and generates 3 multiplies, not 4. The subsequent additions could be optimized a bit, but the only place GMP currently uses such a square is mpn_sqr_basecase, and chips obliged to use this generic C umul will have plenty of worse performance problems than a couple of extra instructions on the diagonal of sqr_basecase. */ #if !defined (umul_ppmm) #define umul_ppmm(w1, w0, u, v) \ do { \ UWtype __x0, __x1, __x2, __x3; \ UHWtype __ul, __vl, __uh, __vh; \ UWtype __u = (u), __v = (v); \ \ __ul = __ll_lowpart (__u); \ __uh = __ll_highpart (__u); \ __vl = __ll_lowpart (__v); \ __vh = __ll_highpart (__v); \ \ __x0 = (UWtype) __ul * __vl; \ __x1 = (UWtype) __ul * __vh; \ __x2 = (UWtype) __uh * __vl; \ __x3 = (UWtype) __uh * __vh; \ \ __x1 += __ll_highpart (__x0);/* this can't give carry */ \ __x1 += __x2; /* but this indeed can */ \ if (__x1 < __x2) /* did we get it? */ \ __x3 += __ll_B; /* yes, add it in the proper pos. */ \ \ (w1) = __x3 + __ll_highpart (__x1); \ (w0) = (__x1 << W_TYPE_SIZE/2) + __ll_lowpart (__x0); \ } while (0) #endif /* If we don't have smul_ppmm, define it using umul_ppmm (which surely will exist in one form or another. */ #if !defined (smul_ppmm) #define smul_ppmm(w1, w0, u, v) \ do { \ UWtype __w1; \ UWtype __xm0 = (u), __xm1 = (v); \ umul_ppmm (__w1, w0, __xm0, __xm1); \ (w1) = __w1 - (-(__xm0 >> (W_TYPE_SIZE - 1)) & __xm1) \ - (-(__xm1 >> (W_TYPE_SIZE - 1)) & __xm0); \ } while (0) #endif /* Define this unconditionally, so it can be used for debugging. */ #define __udiv_qrnnd_c(q, r, n1, n0, d) \ do { \ UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \ \ ASSERT ((d) != 0); \ ASSERT ((n1) < (d)); \ \ __d1 = __ll_highpart (d); \ __d0 = __ll_lowpart (d); \ \ __q1 = (n1) / __d1; \ __r1 = (n1) - __q1 * __d1; \ __m = __q1 * __d0; \ __r1 = __r1 * __ll_B | __ll_highpart (n0); \ if (__r1 < __m) \ { \ __q1--, __r1 += (d); \ if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\ if (__r1 < __m) \ __q1--, __r1 += (d); \ } \ __r1 -= __m; \ \ __q0 = __r1 / __d1; \ __r0 = __r1 - __q0 * __d1; \ __m = __q0 * __d0; \ __r0 = __r0 * __ll_B | __ll_lowpart (n0); \ if (__r0 < __m) \ { \ __q0--, __r0 += (d); \ if (__r0 >= (d)) \ if (__r0 < __m) \ __q0--, __r0 += (d); \ } \ __r0 -= __m; \ \ (q) = __q1 * __ll_B | __q0; \ (r) = __r0; \ } while (0) /* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through __udiv_w_sdiv (defined in libgcc or elsewhere). */ #if !defined (udiv_qrnnd) && defined (sdiv_qrnnd) #define udiv_qrnnd(q, r, nh, nl, d) \ do { \ UWtype __r; \ (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \ (r) = __r; \ } while (0) __GMP_DECLSPEC UWtype __MPN(udiv_w_sdiv) (UWtype *, UWtype, UWtype, UWtype); #endif /* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */ #if !defined (udiv_qrnnd) #define UDIV_NEEDS_NORMALIZATION 1 #define udiv_qrnnd __udiv_qrnnd_c #endif #if !defined (count_leading_zeros) #define count_leading_zeros(count, x) \ do { \ UWtype __xr = (x); \ UWtype __a; \ \ if (W_TYPE_SIZE == 32) \ { \ __a = __xr < ((UWtype) 1 << 2*__BITS4) \ ? (__xr < ((UWtype) 1 << __BITS4) ? 1 : __BITS4 + 1) \ : (__xr < ((UWtype) 1 << 3*__BITS4) ? 2*__BITS4 + 1 \ : 3*__BITS4 + 1); \ } \ else \ { \ for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \ if (((__xr >> __a) & 0xff) != 0) \ break; \ ++__a; \ } \ \ (count) = W_TYPE_SIZE + 1 - __a - __clz_tab[__xr >> __a]; \ } while (0) /* This version gives a well-defined value for zero. */ #define COUNT_LEADING_ZEROS_0 (W_TYPE_SIZE - 1) #define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #define COUNT_LEADING_ZEROS_SLOW #endif /* clz_tab needed by mpn/x86/pentium/mod_1.asm in a fat binary */ #if HAVE_HOST_CPU_FAMILY_x86 && WANT_FAT_BINARY #define COUNT_LEADING_ZEROS_NEED_CLZ_TAB #endif #ifdef COUNT_LEADING_ZEROS_NEED_CLZ_TAB extern const unsigned char __GMP_DECLSPEC __clz_tab[129]; #endif #if !defined (count_trailing_zeros) #if !defined (COUNT_LEADING_ZEROS_SLOW) /* Define count_trailing_zeros using an asm count_leading_zeros. */ #define count_trailing_zeros(count, x) \ do { \ UWtype __ctz_x = (x); \ UWtype __ctz_c; \ ASSERT (__ctz_x != 0); \ count_leading_zeros (__ctz_c, __ctz_x & -__ctz_x); \ (count) = W_TYPE_SIZE - 1 - __ctz_c; \ } while (0) #else /* Define count_trailing_zeros in plain C, assuming small counts are common. We use clz_tab without ado, since the C count_leading_zeros above will have pulled it in. */ #define count_trailing_zeros(count, x) \ do { \ UWtype __ctz_x = (x); \ int __ctz_c; \ \ if (LIKELY ((__ctz_x & 0xff) != 0)) \ (count) = __clz_tab[__ctz_x & -__ctz_x] - 2; \ else \ { \ for (__ctz_c = 8 - 2; __ctz_c < W_TYPE_SIZE - 2; __ctz_c += 8) \ { \ __ctz_x >>= 8; \ if (LIKELY ((__ctz_x & 0xff) != 0)) \ break; \ } \ \ (count) = __ctz_c + __clz_tab[__ctz_x & -__ctz_x]; \ } \ } while (0) #endif #endif #ifndef UDIV_NEEDS_NORMALIZATION #define UDIV_NEEDS_NORMALIZATION 0 #endif /* Whether udiv_qrnnd is actually implemented with udiv_qrnnd_preinv, and that hence the latter should always be used. */ #ifndef UDIV_PREINV_ALWAYS #define UDIV_PREINV_ALWAYS 0 #endif /* Give defaults for UMUL_TIME and UDIV_TIME. */ #ifndef UMUL_TIME #define UMUL_TIME 1 #endif #ifndef UDIV_TIME #define UDIV_TIME UMUL_TIME #endif coreutils-8.21/src/expand.c0000664000000000000000000002571412102337340012564 00000000000000/* expand - convert tabs to spaces Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* By default, convert all tabs to spaces. Preserves backspace characters in the output; they decrement the column count for tab calculations. The default action is equivalent to -8. Options: --tabs=tab1[,tab2[,...]] -t tab1[,tab2[,...]] -tab1[,tab2[,...]] If only one tab stop is given, set the tabs tab1 columns apart instead of the default 8. Otherwise, set the tabs at columns tab1, tab2, etc. (numbered from 0); replace any tabs beyond the tab stops given with single spaces. --initial -i Only convert initial tabs on each line to spaces. David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "xstrndup.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "expand" #define AUTHORS proper_name ("David MacKenzie") /* If true, convert blanks even after nonblank characters have been read on the line. */ static bool convert_entire_line; /* If nonzero, the size of all tab stops. If zero, use 'tab_list' instead. */ static uintmax_t tab_size; /* Array of the explicit column numbers of the tab stops; after 'tab_list' is exhausted, each additional tab is replaced by a space. The first column is column 0. */ static uintmax_t *tab_list; /* The number of allocated entries in 'tab_list'. */ static size_t n_tabs_allocated; /* The index of the first invalid element of 'tab_list', where the next element can be added. */ static size_t first_free_tab; /* Null-terminated array of input filenames. */ static char **file_list; /* Default for 'file_list' if no files are given on the command line. */ static char *stdin_argv[] = { (char *) "-", NULL }; /* True if we have ever read standard input. */ static bool have_read_stdin; /* The desired exit status. */ static int exit_status; static char const shortopts[] = "it:0::1::2::3::4::5::6::7::8::9::"; static struct option const longopts[] = { {"tabs", required_argument, NULL, 't'}, {"initial", no_argument, NULL, 'i'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Convert tabs in each FILE to spaces, writing to standard output.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -i, --initial do not convert tabs after non blanks\n\ -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n\ "), stdout); fputs (_("\ -t, --tabs=LIST use comma separated list of explicit tab positions\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Add tab stop TABVAL to the end of 'tab_list'. */ static void add_tab_stop (uintmax_t tabval) { if (first_free_tab == n_tabs_allocated) tab_list = X2NREALLOC (tab_list, &n_tabs_allocated); tab_list[first_free_tab++] = tabval; } /* Add the comma or blank separated list of tab stops STOPS to the list of tab stops. */ static void parse_tab_stops (char const *stops) { bool have_tabval = false; uintmax_t tabval IF_LINT ( = 0); char const *num_start IF_LINT ( = NULL); bool ok = true; for (; *stops; stops++) { if (*stops == ',' || isblank (to_uchar (*stops))) { if (have_tabval) add_tab_stop (tabval); have_tabval = false; } else if (ISDIGIT (*stops)) { if (!have_tabval) { tabval = 0; have_tabval = true; num_start = stops; } /* Detect overflow. */ if (!DECIMAL_DIGIT_ACCUMULATE (tabval, *stops - '0', uintmax_t)) { size_t len = strspn (num_start, "0123456789"); char *bad_num = xstrndup (num_start, len); error (0, 0, _("tab stop is too large %s"), quote (bad_num)); free (bad_num); ok = false; stops = num_start + len - 1; } } else { error (0, 0, _("tab size contains invalid character(s): %s"), quote (stops)); ok = false; break; } } if (!ok) exit (EXIT_FAILURE); if (have_tabval) add_tab_stop (tabval); } /* Check that the list of tab stops TABS, with ENTRIES entries, contains only nonzero, ascending values. */ static void validate_tab_stops (uintmax_t const *tabs, size_t entries) { uintmax_t prev_tab = 0; size_t i; for (i = 0; i < entries; i++) { if (tabs[i] == 0) error (EXIT_FAILURE, 0, _("tab size cannot be 0")); if (tabs[i] <= prev_tab) error (EXIT_FAILURE, 0, _("tab sizes must be ascending")); prev_tab = tabs[i]; } } /* Close the old stream pointer FP if it is non-NULL, and return a new one opened to read the next input file. Open a filename of '-' as the standard input. Return NULL if there are no more input files. */ static FILE * next_file (FILE *fp) { static char *prev_file; char *file; if (fp) { if (ferror (fp)) { error (0, errno, "%s", prev_file); exit_status = EXIT_FAILURE; } if (STREQ (prev_file, "-")) clearerr (fp); /* Also clear EOF. */ else if (fclose (fp) != 0) { error (0, errno, "%s", prev_file); exit_status = EXIT_FAILURE; } } while ((file = *file_list++) != NULL) { if (STREQ (file, "-")) { have_read_stdin = true; fp = stdin; } else fp = fopen (file, "r"); if (fp) { prev_file = file; fadvise (fp, FADVISE_SEQUENTIAL); return fp; } error (0, errno, "%s", file); exit_status = EXIT_FAILURE; } return NULL; } /* Change tabs to spaces, writing to stdout. Read each file in 'file_list', in order. */ static void expand (void) { /* Input stream. */ FILE *fp = next_file (NULL); if (!fp) return; while (true) { /* Input character, or EOF. */ int c; /* If true, perform translations. */ bool convert = true; /* The following variables have valid values only when CONVERT is true: */ /* Column of next input character. */ uintmax_t column = 0; /* Index in TAB_LIST of next tab stop to examine. */ size_t tab_index = 0; /* Convert a line of text. */ do { while ((c = getc (fp)) < 0 && (fp = next_file (fp))) continue; if (convert) { if (c == '\t') { /* Column the next input tab stop is on. */ uintmax_t next_tab_column; if (tab_size) next_tab_column = column + (tab_size - column % tab_size); else while (true) if (tab_index == first_free_tab) { next_tab_column = column + 1; break; } else { uintmax_t tab = tab_list[tab_index++]; if (column < tab) { next_tab_column = tab; break; } } if (next_tab_column < column) error (EXIT_FAILURE, 0, _("input line is too long")); while (++column < next_tab_column) if (putchar (' ') < 0) error (EXIT_FAILURE, errno, _("write error")); c = ' '; } else if (c == '\b') { /* Go back one column, and force recalculation of the next tab stop. */ column -= !!column; tab_index -= !!tab_index; } else { column++; if (!column) error (EXIT_FAILURE, 0, _("input line is too long")); } convert &= convert_entire_line || !! isblank (c); } if (c < 0) return; if (putchar (c) < 0) error (EXIT_FAILURE, errno, _("write error")); } while (c != '\n'); } } int main (int argc, char **argv) { int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; exit_status = EXIT_SUCCESS; convert_entire_line = true; tab_list = NULL; first_free_tab = 0; while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) { switch (c) { case 'i': convert_entire_line = false; break; case 't': parse_tab_stops (optarg); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (optarg) parse_tab_stops (optarg - 1); else { char tab_stop[2]; tab_stop[0] = c; tab_stop[1] = '\0'; parse_tab_stops (tab_stop); } break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } validate_tab_stops (tab_list, first_free_tab); if (first_free_tab == 0) tab_size = 8; else if (first_free_tab == 1) tab_size = tab_list[0]; else tab_size = 0; file_list = (optind < argc ? &argv[optind] : stdin_argv); expand (); if (have_read_stdin && fclose (stdin) != 0) error (EXIT_FAILURE, errno, "-"); exit (exit_status); } coreutils-8.21/src/false.c0000664000000000000000000000006311624727241012400 00000000000000#define EXIT_STATUS EXIT_FAILURE #include "true.c" coreutils-8.21/src/nl.c0000664000000000000000000003762312102337340011720 00000000000000/* nl -- number lines of files Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Scott Bartram (nancy!scott@uunet.uu.net) Revised by David MacKenzie (djm@gnu.ai.mit.edu) */ #include #include #include #include #include "system.h" #include #include "error.h" #include "fadvise.h" #include "linebuffer.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "nl" #define AUTHORS \ proper_name ("Scott Bartram"), \ proper_name ("David MacKenzie") /* Line-number formats. They are given an int width, an intmax_t value, and a string separator. */ /* Right justified, no leading zeroes. */ static char const FORMAT_RIGHT_NOLZ[] = "%*" PRIdMAX "%s"; /* Right justified, leading zeroes. */ static char const FORMAT_RIGHT_LZ[] = "%0*" PRIdMAX "%s"; /* Left justified, no leading zeroes. */ static char const FORMAT_LEFT[] = "%-*" PRIdMAX "%s"; /* Default section delimiter characters. */ static char const DEFAULT_SECTION_DELIMITERS[] = "\\:"; /* Types of input lines: either one of the section delimiters, or text to output. */ enum section { Header, Body, Footer, Text }; /* Format of body lines (-b). */ static char const *body_type = "t"; /* Format of header lines (-h). */ static char const *header_type = "n"; /* Format of footer lines (-f). */ static char const *footer_type = "n"; /* Format currently being used (body, header, or footer). */ static char const *current_type; /* Regex for body lines to number (-bp). */ static struct re_pattern_buffer body_regex; /* Regex for header lines to number (-hp). */ static struct re_pattern_buffer header_regex; /* Regex for footer lines to number (-fp). */ static struct re_pattern_buffer footer_regex; /* Fastmaps for the above. */ static char body_fastmap[UCHAR_MAX + 1]; static char header_fastmap[UCHAR_MAX + 1]; static char footer_fastmap[UCHAR_MAX + 1]; /* Pointer to current regex, if any. */ static struct re_pattern_buffer *current_regex = NULL; /* Separator string to print after line number (-s). */ static char const *separator_str = "\t"; /* Input section delimiter string (-d). */ static char const *section_del = DEFAULT_SECTION_DELIMITERS; /* Header delimiter string. */ static char *header_del = NULL; /* Header section delimiter length. */ static size_t header_del_len; /* Body delimiter string. */ static char *body_del = NULL; /* Body section delimiter length. */ static size_t body_del_len; /* Footer delimiter string. */ static char *footer_del = NULL; /* Footer section delimiter length. */ static size_t footer_del_len; /* Input buffer. */ static struct linebuffer line_buf; /* printf format string for unnumbered lines. */ static char *print_no_line_fmt = NULL; /* Starting line number on each page (-v). */ static intmax_t starting_line_number = 1; /* Line number increment (-i). */ static intmax_t page_incr = 1; /* If true, reset line number at start of each page (-p). */ static bool reset_numbers = true; /* Number of blank lines to consider to be one line for numbering (-l). */ static intmax_t blank_join = 1; /* Width of line numbers (-w). */ static int lineno_width = 6; /* Line number format (-n). */ static char const *lineno_format = FORMAT_RIGHT_NOLZ; /* Current print line number. */ static intmax_t line_no; /* True if we have ever read standard input. */ static bool have_read_stdin; static struct option const longopts[] = { {"header-numbering", required_argument, NULL, 'h'}, {"body-numbering", required_argument, NULL, 'b'}, {"footer-numbering", required_argument, NULL, 'f'}, {"starting-line-number", required_argument, NULL, 'v'}, {"line-increment", required_argument, NULL, 'i'}, {"no-renumber", no_argument, NULL, 'p'}, {"join-blank-lines", required_argument, NULL, 'l'}, {"number-separator", required_argument, NULL, 's'}, {"number-width", required_argument, NULL, 'w'}, {"number-format", required_argument, NULL, 'n'}, {"section-delimiter", required_argument, NULL, 'd'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Print a usage message and quit. */ void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Write each FILE to standard output, with line numbers added.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -b, --body-numbering=STYLE use STYLE for numbering body lines\n\ -d, --section-delimiter=CC use CC for separating logical pages\n\ -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n\ "), stdout); fputs (_("\ -h, --header-numbering=STYLE use STYLE for numbering header lines\n\ -i, --line-increment=NUMBER line number increment at each line\n\ -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one\n\ -n, --number-format=FORMAT insert line numbers according to FORMAT\n\ -p, --no-renumber do not reset line numbers at logical pages\n\ -s, --number-separator=STRING add STRING after (possible) line number\n\ "), stdout); fputs (_("\ -v, --starting-line-number=NUMBER first line number on each logical page\n\ -w, --number-width=NUMBER use NUMBER columns for line numbers\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n\ two delimiter characters for separating logical pages, a missing\n\ second character implies :. Type \\\\ for \\. STYLE is one of:\n\ "), stdout); fputs (_("\ \n\ a number all lines\n\ t number only nonempty lines\n\ n number no lines\n\ pBRE number only lines that contain a match for the basic regular\n\ expression, BRE\n\ \n\ FORMAT is one of:\n\ \n\ ln left justified, no leading zeros\n\ rn right justified, no leading zeros\n\ rz right justified, leading zeros\n\ \n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Set the command line flag TYPEP and possibly the regex pointer REGEXP, according to 'optarg'. */ static bool build_type_arg (char const **typep, struct re_pattern_buffer *regexp, char *fastmap) { char const *errmsg; bool rval = true; switch (*optarg) { case 'a': case 't': case 'n': *typep = optarg; break; case 'p': *typep = optarg++; regexp->buffer = NULL; regexp->allocated = 0; regexp->fastmap = fastmap; regexp->translate = NULL; re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; errmsg = re_compile_pattern (optarg, strlen (optarg), regexp); if (errmsg) error (EXIT_FAILURE, 0, "%s", errmsg); break; default: rval = false; break; } return rval; } /* Print the line number and separator; increment the line number. */ static void print_lineno (void) { intmax_t next_line_no; printf (lineno_format, lineno_width, line_no, separator_str); next_line_no = line_no + page_incr; if (next_line_no < line_no) error (EXIT_FAILURE, 0, _("line number overflow")); line_no = next_line_no; } /* Switch to a header section. */ static void proc_header (void) { current_type = header_type; current_regex = &header_regex; if (reset_numbers) line_no = starting_line_number; putchar ('\n'); } /* Switch to a body section. */ static void proc_body (void) { current_type = body_type; current_regex = &body_regex; putchar ('\n'); } /* Switch to a footer section. */ static void proc_footer (void) { current_type = footer_type; current_regex = &footer_regex; putchar ('\n'); } /* Process a regular text line in 'line_buf'. */ static void proc_text (void) { static intmax_t blank_lines = 0; /* Consecutive blank lines so far. */ switch (*current_type) { case 'a': if (blank_join > 1) { if (1 < line_buf.length || ++blank_lines == blank_join) { print_lineno (); blank_lines = 0; } else fputs (print_no_line_fmt, stdout); } else print_lineno (); break; case 't': if (1 < line_buf.length) print_lineno (); else fputs (print_no_line_fmt, stdout); break; case 'n': fputs (print_no_line_fmt, stdout); break; case 'p': switch (re_search (current_regex, line_buf.buffer, line_buf.length - 1, 0, line_buf.length - 1, NULL)) { case -2: error (EXIT_FAILURE, errno, _("error in regular expression search")); case -1: fputs (print_no_line_fmt, stdout); break; default: print_lineno (); break; } } fwrite (line_buf.buffer, sizeof (char), line_buf.length, stdout); } /* Return the type of line in 'line_buf'. */ static enum section check_section (void) { size_t len = line_buf.length - 1; if (len < 2 || memcmp (line_buf.buffer, section_del, 2)) return Text; if (len == header_del_len && !memcmp (line_buf.buffer, header_del, header_del_len)) return Header; if (len == body_del_len && !memcmp (line_buf.buffer, body_del, body_del_len)) return Body; if (len == footer_del_len && !memcmp (line_buf.buffer, footer_del, footer_del_len)) return Footer; return Text; } /* Read and process the file pointed to by FP. */ static void process_file (FILE *fp) { while (readlinebuffer (&line_buf, fp)) { switch (check_section ()) { case Header: proc_header (); break; case Body: proc_body (); break; case Footer: proc_footer (); break; case Text: proc_text (); break; } } } /* Process file FILE to standard output. Return true if successful. */ static bool nl_file (char const *file) { FILE *stream; if (STREQ (file, "-")) { have_read_stdin = true; stream = stdin; } else { stream = fopen (file, "r"); if (stream == NULL) { error (0, errno, "%s", file); return false; } } fadvise (stream, FADVISE_SEQUENTIAL); process_file (stream); if (ferror (stream)) { error (0, errno, "%s", file); return false; } if (STREQ (file, "-")) clearerr (stream); /* Also clear EOF. */ else if (fclose (stream) == EOF) { error (0, errno, "%s", file); return false; } return true; } int main (int argc, char **argv) { int c; size_t len; bool ok = true; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; while ((c = getopt_long (argc, argv, "h:b:f:v:i:pl:s:w:n:d:", longopts, NULL)) != -1) { switch (c) { case 'h': if (! build_type_arg (&header_type, &header_regex, header_fastmap)) { error (0, 0, _("invalid header numbering style: %s"), quote (optarg)); ok = false; } break; case 'b': if (! build_type_arg (&body_type, &body_regex, body_fastmap)) { error (0, 0, _("invalid body numbering style: %s"), quote (optarg)); ok = false; } break; case 'f': if (! build_type_arg (&footer_type, &footer_regex, footer_fastmap)) { error (0, 0, _("invalid footer numbering style: %s"), quote (optarg)); ok = false; } break; case 'v': if (xstrtoimax (optarg, NULL, 10, &starting_line_number, "") != LONGINT_OK) { error (0, 0, _("invalid starting line number: %s"), quote (optarg)); ok = false; } break; case 'i': if (! (xstrtoimax (optarg, NULL, 10, &page_incr, "") == LONGINT_OK && 0 < page_incr)) { error (0, 0, _("invalid line number increment: %s"), quote (optarg)); ok = false; } break; case 'p': reset_numbers = false; break; case 'l': if (! (xstrtoimax (optarg, NULL, 10, &blank_join, "") == LONGINT_OK && 0 < blank_join)) { error (0, 0, _("invalid number of blank lines: %s"), quote (optarg)); ok = false; } break; case 's': separator_str = optarg; break; case 'w': { long int tmp_long; if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK || tmp_long <= 0 || tmp_long > INT_MAX) { error (0, 0, _("invalid line number field width: %s"), quote (optarg)); ok = false; } else { lineno_width = tmp_long; } } break; case 'n': if (STREQ (optarg, "ln")) lineno_format = FORMAT_LEFT; else if (STREQ (optarg, "rn")) lineno_format = FORMAT_RIGHT_NOLZ; else if (STREQ (optarg, "rz")) lineno_format = FORMAT_RIGHT_LZ; else { error (0, 0, _("invalid line numbering format: %s"), quote (optarg)); ok = false; } break; case 'd': section_del = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: ok = false; break; } } if (!ok) usage (EXIT_FAILURE); /* Initialize the section delimiters. */ len = strlen (section_del); header_del_len = len * 3; header_del = xmalloc (header_del_len + 1); stpcpy (stpcpy (stpcpy (header_del, section_del), section_del), section_del); body_del_len = len * 2; body_del = xmalloc (body_del_len + 1); stpcpy (stpcpy (body_del, section_del), section_del); footer_del_len = len; footer_del = xmalloc (footer_del_len + 1); stpcpy (footer_del, section_del); /* Initialize the input buffer. */ initbuffer (&line_buf); /* Initialize the printf format for unnumbered lines. */ len = strlen (separator_str); print_no_line_fmt = xmalloc (lineno_width + len + 1); memset (print_no_line_fmt, ' ', lineno_width + len); print_no_line_fmt[lineno_width + len] = '\0'; line_no = starting_line_number; current_type = body_type; current_regex = &body_regex; /* Main processing. */ if (optind == argc) ok = nl_file ("-"); else for (; optind < argc; optind++) ok &= nl_file (argv[optind]); if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/uname.c0000664000000000000000000002326612102337340012412 00000000000000/* uname -- print system information Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie */ #include #include #include #include #include #if HAVE_SYSINFO && HAVE_SYS_SYSTEMINFO_H # include #endif #if HAVE_SYS_SYSCTL_H # if HAVE_SYS_PARAM_H # include /* needed for OpenBSD 3.0 */ # endif # include # ifdef HW_MODEL # ifdef HW_MACHINE_ARCH /* E.g., FreeBSD 4.5, NetBSD 1.5.2 */ # define UNAME_HARDWARE_PLATFORM HW_MODEL # define UNAME_PROCESSOR HW_MACHINE_ARCH # else /* E.g., OpenBSD 3.0 */ # define UNAME_PROCESSOR HW_MODEL # endif # endif #endif #ifdef __APPLE__ # include # include #endif #include "system.h" #include "error.h" #include "quote.h" #include "uname.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME (uname_mode == UNAME_UNAME ? "uname" : "arch") #define AUTHORS proper_name ("David MacKenzie") #define ARCH_AUTHORS "David MacKenzie", "Karel Zak" /* Values that are bitwise or'd into 'toprint'. */ /* Kernel name. */ #define PRINT_KERNEL_NAME 1 /* Node name on a communications network. */ #define PRINT_NODENAME 2 /* Kernel release. */ #define PRINT_KERNEL_RELEASE 4 /* Kernel version. */ #define PRINT_KERNEL_VERSION 8 /* Machine hardware name. */ #define PRINT_MACHINE 16 /* Processor type. */ #define PRINT_PROCESSOR 32 /* Hardware platform. */ #define PRINT_HARDWARE_PLATFORM 64 /* Operating system. */ #define PRINT_OPERATING_SYSTEM 128 static struct option const uname_long_options[] = { {"all", no_argument, NULL, 'a'}, {"kernel-name", no_argument, NULL, 's'}, {"sysname", no_argument, NULL, 's'}, /* Obsolescent. */ {"nodename", no_argument, NULL, 'n'}, {"kernel-release", no_argument, NULL, 'r'}, {"release", no_argument, NULL, 'r'}, /* Obsolescent. */ {"kernel-version", no_argument, NULL, 'v'}, {"machine", no_argument, NULL, 'm'}, {"processor", no_argument, NULL, 'p'}, {"hardware-platform", no_argument, NULL, 'i'}, {"operating-system", no_argument, NULL, 'o'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static struct option const arch_long_options[] = { {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]...\n"), program_name); if (uname_mode == UNAME_UNAME) { fputs (_("\ Print certain system information. With no OPTION, same as -s.\n\ \n\ -a, --all print all information, in the following order,\n\ except omit -p and -i if unknown:\n\ -s, --kernel-name print the kernel name\n\ -n, --nodename print the network node hostname\n\ -r, --kernel-release print the kernel release\n\ "), stdout); fputs (_("\ -v, --kernel-version print the kernel version\n\ -m, --machine print the machine hardware name\n\ -p, --processor print the processor type or \"unknown\"\n\ -i, --hardware-platform print the hardware platform or \"unknown\"\n\ -o, --operating-system print the operating system\n\ "), stdout); } else { fputs (_("\ Print machine architecture.\n\ \n\ "), stdout); } fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Print ELEMENT, preceded by a space if something has already been printed. */ static void print_element (char const *element) { static bool printed; if (printed) putchar (' '); printed = true; fputs (element, stdout); } /* Set all the option flags according to the switches specified. Return the mask indicating which elements to print. */ static int decode_switches (int argc, char **argv) { int c; unsigned int toprint = 0; if (uname_mode == UNAME_ARCH) { while ((c = getopt_long (argc, argv, "", arch_long_options, NULL)) != -1) { switch (c) { case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, ARCH_AUTHORS); default: usage (EXIT_FAILURE); } } toprint = PRINT_MACHINE; } else { while ((c = getopt_long (argc, argv, "asnrvmpio", uname_long_options, NULL)) != -1) { switch (c) { case 'a': toprint = UINT_MAX; break; case 's': toprint |= PRINT_KERNEL_NAME; break; case 'n': toprint |= PRINT_NODENAME; break; case 'r': toprint |= PRINT_KERNEL_RELEASE; break; case 'v': toprint |= PRINT_KERNEL_VERSION; break; case 'm': toprint |= PRINT_MACHINE; break; case 'p': toprint |= PRINT_PROCESSOR; break; case 'i': toprint |= PRINT_HARDWARE_PLATFORM; break; case 'o': toprint |= PRINT_OPERATING_SYSTEM; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } } if (argc != optind) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } return toprint; } int main (int argc, char **argv) { static char const unknown[] = "unknown"; /* Mask indicating which elements to print. */ unsigned int toprint = 0; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); toprint = decode_switches (argc, argv); if (toprint == 0) toprint = PRINT_KERNEL_NAME; if (toprint & (PRINT_KERNEL_NAME | PRINT_NODENAME | PRINT_KERNEL_RELEASE | PRINT_KERNEL_VERSION | PRINT_MACHINE)) { struct utsname name; if (uname (&name) == -1) error (EXIT_FAILURE, errno, _("cannot get system name")); if (toprint & PRINT_KERNEL_NAME) print_element (name.sysname); if (toprint & PRINT_NODENAME) print_element (name.nodename); if (toprint & PRINT_KERNEL_RELEASE) print_element (name.release); if (toprint & PRINT_KERNEL_VERSION) print_element (name.version); if (toprint & PRINT_MACHINE) print_element (name.machine); } if (toprint & PRINT_PROCESSOR) { char const *element = unknown; #if HAVE_SYSINFO && defined SI_ARCHITECTURE { static char processor[257]; if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) element = processor; } #endif #ifdef UNAME_PROCESSOR if (element == unknown) { static char processor[257]; size_t s = sizeof processor; static int mib[] = { CTL_HW, UNAME_PROCESSOR }; if (sysctl (mib, 2, processor, &s, 0, 0) >= 0) element = processor; # ifdef __APPLE__ /* This kludge works around a bug in Mac OS X. */ if (element == unknown) { cpu_type_t cputype; size_t s = sizeof cputype; NXArchInfo const *ai; if (sysctlbyname ("hw.cputype", &cputype, &s, NULL, 0) == 0 && (ai = NXGetArchInfoFromCpuType (cputype, CPU_SUBTYPE_MULTIPLE)) != NULL) element = ai->name; /* Hack "safely" around the ppc vs. powerpc return value. */ if (cputype == CPU_TYPE_POWERPC && STRNCMP_LIT (element, "ppc") == 0) element = "powerpc"; } # endif } #endif if (! (toprint == UINT_MAX && element == unknown)) print_element (element); } if (toprint & PRINT_HARDWARE_PLATFORM) { char const *element = unknown; #if HAVE_SYSINFO && defined SI_PLATFORM { static char hardware_platform[257]; if (0 <= sysinfo (SI_PLATFORM, hardware_platform, sizeof hardware_platform)) element = hardware_platform; } #endif #ifdef UNAME_HARDWARE_PLATFORM if (element == unknown) { static char hardware_platform[257]; size_t s = sizeof hardware_platform; static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM }; if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0) element = hardware_platform; } #endif if (! (toprint == UINT_MAX && element == unknown)) print_element (element); } if (toprint & PRINT_OPERATING_SYSTEM) print_element (HOST_OPERATING_SYSTEM); putchar ('\n'); exit (EXIT_SUCCESS); } coreutils-8.21/src/head.c0000664000000000000000000007575312104672701012223 00000000000000/* head -- output first part of file(s) Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Options: (see usage) Reads from standard input if no files are given or when a filename of ''-'' is encountered. By default, filename headers are printed only if more than one file is given. By default, prints the first 10 lines (head -n 10). David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "full-read.h" #include "quote.h" #include "safe-read.h" #include "xfreopen.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "head" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") /* Number of lines/chars/blocks to head. */ #define DEFAULT_NUMBER 10 /* Useful only when eliding tail bytes or lines. If true, skip the is-regular-file test used to determine whether to use the lseek optimization. Instead, use the more general (and more expensive) code unconditionally. Intended solely for testing. */ static bool presume_input_pipe; /* If true, print filename headers. */ static bool print_headers; /* When to print the filename banners. */ enum header_mode { multiple_files, always, never }; /* Have we ever read standard input? */ static bool have_read_stdin; enum Copy_fd_status { COPY_FD_OK = 0, COPY_FD_READ_ERROR, COPY_FD_WRITE_ERROR, COPY_FD_UNEXPECTED_EOF }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { PRESUME_INPUT_PIPE_OPTION = CHAR_MAX + 1 }; static struct option const long_options[] = { {"bytes", required_argument, NULL, 'c'}, {"lines", required_argument, NULL, 'n'}, {"-presume-input-pipe", no_argument, NULL, PRESUME_INPUT_PIPE_OPTION}, /* do not document */ {"quiet", no_argument, NULL, 'q'}, {"silent", no_argument, NULL, 'q'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Print the first 10 lines of each FILE to standard output.\n\ With more than one FILE, precede each with a header giving the file name.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -c, --bytes=[-]K print the first K bytes of each file;\n\ with the leading '-', print all but the last\n\ K bytes of each file\n\ -n, --lines=[-]K print the first K lines instead of the first 10;\n\ with the leading '-', print all but the last\n\ K lines of each file\n\ "), stdout); fputs (_("\ -q, --quiet, --silent never print headers giving file names\n\ -v, --verbose always print headers giving file names\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ K may have a multiplier suffix:\n\ b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n\ GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n\ "), stdout); emit_ancillary_info (); } exit (status); } static void diagnose_copy_fd_failure (enum Copy_fd_status err, char const *filename) { switch (err) { case COPY_FD_READ_ERROR: error (0, errno, _("error reading %s"), quote (filename)); break; case COPY_FD_WRITE_ERROR: error (0, errno, _("error writing %s"), quote (filename)); break; case COPY_FD_UNEXPECTED_EOF: error (0, errno, _("%s: file has shrunk too much"), quote (filename)); break; default: abort (); } } static void write_header (const char *filename) { static bool first_file = true; printf ("%s==> %s <==\n", (first_file ? "" : "\n"), filename); first_file = false; } /* Copy no more than N_BYTES from file descriptor SRC_FD to O_STREAM. Return an appropriate indication of success or failure. */ static enum Copy_fd_status copy_fd (int src_fd, FILE *o_stream, uintmax_t n_bytes) { char buf[BUFSIZ]; const size_t buf_size = sizeof (buf); /* Copy the file contents. */ while (0 < n_bytes) { size_t n_to_read = MIN (buf_size, n_bytes); size_t n_read = safe_read (src_fd, buf, n_to_read); if (n_read == SAFE_READ_ERROR) return COPY_FD_READ_ERROR; n_bytes -= n_read; if (n_read == 0 && n_bytes != 0) return COPY_FD_UNEXPECTED_EOF; if (fwrite (buf, 1, n_read, o_stream) < n_read) return COPY_FD_WRITE_ERROR; } return COPY_FD_OK; } /* Print all but the last N_ELIDE lines from the input available via the non-seekable file descriptor FD. Return true upon success. Give a diagnostic and return false upon error. */ static bool elide_tail_bytes_pipe (const char *filename, int fd, uintmax_t n_elide_0) { size_t n_elide = n_elide_0; #ifndef HEAD_TAIL_PIPE_READ_BUFSIZE # define HEAD_TAIL_PIPE_READ_BUFSIZE BUFSIZ #endif #define READ_BUFSIZE HEAD_TAIL_PIPE_READ_BUFSIZE /* If we're eliding no more than this many bytes, then it's ok to allocate more memory in order to use a more time-efficient algorithm. FIXME: use a fraction of available memory instead, as in sort. FIXME: is this even worthwhile? */ #ifndef HEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD # define HEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD 1024 * 1024 #endif #if HEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD < 2 * READ_BUFSIZE "HEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD must be at least 2 * READ_BUFSIZE" #endif if (SIZE_MAX < n_elide_0 + READ_BUFSIZE) { char umax_buf[INT_BUFSIZE_BOUND (n_elide_0)]; error (EXIT_FAILURE, 0, _("%s: number of bytes is too large"), umaxtostr (n_elide_0, umax_buf)); } /* Two cases to consider... 1) n_elide is small enough that we can afford to double-buffer: allocate 2 * (READ_BUFSIZE + n_elide) bytes 2) n_elide is too big for that, so we allocate only (READ_BUFSIZE + n_elide) bytes FIXME: profile, to see if double-buffering is worthwhile CAUTION: do not fail (out of memory) when asked to elide a ridiculous amount, but when given only a small input. */ if (n_elide <= HEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD) { bool ok = true; bool first = true; bool eof = false; size_t n_to_read = READ_BUFSIZE + n_elide; bool i; char *b[2]; b[0] = xnmalloc (2, n_to_read); b[1] = b[0] + n_to_read; for (i = false; ! eof ; i = !i) { size_t n_read = full_read (fd, b[i], n_to_read); size_t delta = 0; if (n_read < n_to_read) { if (errno != 0) { error (0, errno, _("error reading %s"), quote (filename)); ok = false; break; } /* reached EOF */ if (n_read <= n_elide) { if (first) { /* The input is no larger than the number of bytes to elide. So there's nothing to output, and we're done. */ } else { delta = n_elide - n_read; } } eof = true; } /* Output any (but maybe just part of the) elided data from the previous round. */ if ( ! first) { /* Don't bother checking for errors here. If there's a failure, the test of the following fwrite or in close_stdout will catch it. */ fwrite (b[!i] + READ_BUFSIZE, 1, n_elide - delta, stdout); } first = false; if (n_elide < n_read && fwrite (b[i], 1, n_read - n_elide, stdout) < n_read - n_elide) { error (0, errno, _("write error")); ok = false; break; } } free (b[0]); return ok; } else { /* Read blocks of size READ_BUFSIZE, until we've read at least n_elide bytes. Then, for each new buffer we read, also write an old one. */ bool ok = true; bool eof = false; size_t n_read; bool buffered_enough; size_t i, i_next; char **b; /* Round n_elide up to a multiple of READ_BUFSIZE. */ size_t rem = READ_BUFSIZE - (n_elide % READ_BUFSIZE); size_t n_elide_round = n_elide + rem; size_t n_bufs = n_elide_round / READ_BUFSIZE + 1; b = xcalloc (n_bufs, sizeof *b); buffered_enough = false; for (i = 0, i_next = 1; !eof; i = i_next, i_next = (i_next + 1) % n_bufs) { if (b[i] == NULL) b[i] = xmalloc (READ_BUFSIZE); n_read = full_read (fd, b[i], READ_BUFSIZE); if (n_read < READ_BUFSIZE) { if (errno != 0) { error (0, errno, _("error reading %s"), quote (filename)); ok = false; goto free_mem; } eof = true; } if (i + 1 == n_bufs) buffered_enough = true; if (buffered_enough) { if (fwrite (b[i_next], 1, n_read, stdout) < n_read) { error (0, errno, _("write error")); ok = false; goto free_mem; } } } /* Output any remainder: rem bytes from b[i] + n_read. */ if (rem) { if (buffered_enough) { size_t n_bytes_left_in_b_i = READ_BUFSIZE - n_read; if (rem < n_bytes_left_in_b_i) { fwrite (b[i] + n_read, 1, rem, stdout); } else { fwrite (b[i] + n_read, 1, n_bytes_left_in_b_i, stdout); fwrite (b[i_next], 1, rem - n_bytes_left_in_b_i, stdout); } } else if (i + 1 == n_bufs) { /* This happens when n_elide < file_size < n_elide_round. |READ_BUF.| | | rem | |---------!---------!---------!---------| |---- n_elide ---------| | | x | | |y | |---- file size -----------| | |n_read| |---- n_elide_round ----------| */ size_t y = READ_BUFSIZE - rem; size_t x = n_read - y; fwrite (b[i_next], 1, x, stdout); } } free_mem: for (i = 0; i < n_bufs; i++) free (b[i]); free (b); return ok; } } /* Print all but the last N_ELIDE lines from the input available via file descriptor FD. Return true upon success. Give a diagnostic and return false upon error. */ /* NOTE: if the input file shrinks by more than N_ELIDE bytes between the length determination and the actual reading, then head fails. */ static bool elide_tail_bytes_file (const char *filename, int fd, uintmax_t n_elide) { struct stat stats; if (presume_input_pipe || fstat (fd, &stats) || ! S_ISREG (stats.st_mode)) { return elide_tail_bytes_pipe (filename, fd, n_elide); } else { off_t current_pos, end_pos; uintmax_t bytes_remaining; off_t diff; enum Copy_fd_status err; if ((current_pos = lseek (fd, 0, SEEK_CUR)) == -1 || (end_pos = lseek (fd, 0, SEEK_END)) == -1) { error (0, errno, _("cannot lseek %s"), quote (filename)); return false; } /* Be careful here. The current position may actually be beyond the end of the file. */ bytes_remaining = (diff = end_pos - current_pos) < 0 ? 0 : diff; if (bytes_remaining <= n_elide) return true; /* Seek back to 'current' position, then copy the required number of bytes from fd. */ if (lseek (fd, 0, current_pos) == -1) { error (0, errno, _("%s: cannot lseek back to original position"), quote (filename)); return false; } err = copy_fd (fd, stdout, bytes_remaining - n_elide); if (err == COPY_FD_OK) return true; diagnose_copy_fd_failure (err, filename); return false; } } /* Print all but the last N_ELIDE lines from the input stream open for reading via file descriptor FD. Buffer the specified number of lines as a linked list of LBUFFERs, adding them as needed. Return true if successful. */ static bool elide_tail_lines_pipe (const char *filename, int fd, uintmax_t n_elide) { struct linebuffer { char buffer[BUFSIZ]; size_t nbytes; size_t nlines; struct linebuffer *next; }; typedef struct linebuffer LBUFFER; LBUFFER *first, *last, *tmp; size_t total_lines = 0; /* Total number of newlines in all buffers. */ bool ok = true; size_t n_read; /* Size in bytes of most recent read */ first = last = xmalloc (sizeof (LBUFFER)); first->nbytes = first->nlines = 0; first->next = NULL; tmp = xmalloc (sizeof (LBUFFER)); /* Always read into a fresh buffer. Read, (producing no output) until we've accumulated at least n_elide newlines, or until EOF, whichever comes first. */ while (1) { n_read = safe_read (fd, tmp->buffer, BUFSIZ); if (n_read == 0 || n_read == SAFE_READ_ERROR) break; tmp->nbytes = n_read; tmp->nlines = 0; tmp->next = NULL; /* Count the number of newlines just read. */ { char const *buffer_end = tmp->buffer + n_read; char const *p = tmp->buffer; while ((p = memchr (p, '\n', buffer_end - p))) { ++p; ++tmp->nlines; } } total_lines += tmp->nlines; /* If there is enough room in the last buffer read, just append the new one to it. This is because when reading from a pipe, 'n_read' can often be very small. */ if (tmp->nbytes + last->nbytes < BUFSIZ) { memcpy (&last->buffer[last->nbytes], tmp->buffer, tmp->nbytes); last->nbytes += tmp->nbytes; last->nlines += tmp->nlines; } else { /* If there's not enough room, link the new buffer onto the end of the list, then either free up the oldest buffer for the next read if that would leave enough lines, or else malloc a new one. Some compaction mechanism is possible but probably not worthwhile. */ last = last->next = tmp; if (n_elide < total_lines - first->nlines) { fwrite (first->buffer, 1, first->nbytes, stdout); tmp = first; total_lines -= first->nlines; first = first->next; } else tmp = xmalloc (sizeof (LBUFFER)); } } free (tmp); if (n_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (filename)); ok = false; goto free_lbuffers; } /* If we read any bytes at all, count the incomplete line on files that don't end with a newline. */ if (last->nbytes && last->buffer[last->nbytes - 1] != '\n') { ++last->nlines; ++total_lines; } for (tmp = first; n_elide < total_lines - tmp->nlines; tmp = tmp->next) { fwrite (tmp->buffer, 1, tmp->nbytes, stdout); total_lines -= tmp->nlines; } /* Print the first 'total_lines - n_elide' lines of tmp->buffer. */ if (n_elide < total_lines) { size_t n = total_lines - n_elide; char const *buffer_end = tmp->buffer + tmp->nbytes; char const *p = tmp->buffer; while (n && (p = memchr (p, '\n', buffer_end - p))) { ++p; ++tmp->nlines; --n; } fwrite (tmp->buffer, 1, p - tmp->buffer, stdout); } free_lbuffers: while (first) { tmp = first->next; free (first); first = tmp; } return ok; } /* Output all but the last N_LINES lines of the input stream defined by FD, START_POS, and END_POS. START_POS is the starting position of the read pointer for the file associated with FD (may be nonzero). END_POS is the file offset of EOF (one larger than offset of last byte). Return true upon success. Give a diagnostic and return false upon error. NOTE: this code is very similar to that of tail.c's file_lines function. Unfortunately, factoring out some common core looks like it'd result in a less efficient implementation or a messy interface. */ static bool elide_tail_lines_seekable (const char *pretty_filename, int fd, uintmax_t n_lines, off_t start_pos, off_t end_pos) { char buffer[BUFSIZ]; size_t bytes_read; off_t pos = end_pos; /* Set 'bytes_read' to the size of the last, probably partial, buffer; 0 < 'bytes_read' <= 'BUFSIZ'. */ bytes_read = (pos - start_pos) % BUFSIZ; if (bytes_read == 0) bytes_read = BUFSIZ; /* Make 'pos' a multiple of 'BUFSIZ' (0 if the file is short), so that all reads will be on block boundaries, which might increase efficiency. */ pos -= bytes_read; if (lseek (fd, pos, SEEK_SET) < 0) { char offset_buf[INT_BUFSIZE_BOUND (pos)]; error (0, errno, _("%s: cannot seek to offset %s"), pretty_filename, offtostr (pos, offset_buf)); return false; } bytes_read = safe_read (fd, buffer, bytes_read); if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); return false; } /* Count the incomplete line on files that don't end with a newline. */ if (bytes_read && buffer[bytes_read - 1] != '\n') --n_lines; while (1) { /* Scan backward, counting the newlines in this bufferfull. */ size_t n = bytes_read; while (n) { char const *nl; nl = memrchr (buffer, '\n', n); if (nl == NULL) break; n = nl - buffer; if (n_lines-- == 0) { /* Found it. */ /* If necessary, restore the file pointer and copy input to output up to position, POS. */ if (start_pos < pos) { enum Copy_fd_status err; if (lseek (fd, start_pos, SEEK_SET) < 0) { /* Failed to reposition file pointer. */ error (0, errno, "%s: unable to restore file pointer to initial offset", quote (pretty_filename)); return false; } err = copy_fd (fd, stdout, pos - start_pos); if (err != COPY_FD_OK) { diagnose_copy_fd_failure (err, pretty_filename); return false; } } /* Output the initial portion of the buffer in which we found the desired newline byte. Don't bother testing for failure for such a small amount. Any failure will be detected upon close. */ fwrite (buffer, 1, n + 1, stdout); /* Set file pointer to the byte after what we've output. */ if (lseek (fd, pos + n + 1, SEEK_SET) < 0) { error (0, errno, _("%s: failed to reset file pointer"), quote (pretty_filename)); return false; } return true; } } /* Not enough newlines in that bufferfull. */ if (pos == start_pos) { /* Not enough lines in the file. */ return true; } pos -= BUFSIZ; if (lseek (fd, pos, SEEK_SET) < 0) { char offset_buf[INT_BUFSIZE_BOUND (pos)]; error (0, errno, _("%s: cannot seek to offset %s"), pretty_filename, offtostr (pos, offset_buf)); return false; } bytes_read = safe_read (fd, buffer, BUFSIZ); if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); return false; } /* FIXME: is this dead code? Consider the test, pos == start_pos, above. */ if (bytes_read == 0) return true; } } /* Print all but the last N_ELIDE lines from the input available via file descriptor FD. Return true upon success. Give a diagnostic and return nonzero upon error. */ static bool elide_tail_lines_file (const char *filename, int fd, uintmax_t n_elide) { if (!presume_input_pipe) { /* Find the offset, OFF, of the Nth newline from the end, but not counting the last byte of the file. If found, write from current position to OFF, inclusive. Otherwise, just return true. */ off_t start_pos = lseek (fd, 0, SEEK_CUR); off_t end_pos = lseek (fd, 0, SEEK_END); if (0 <= start_pos && start_pos < end_pos) { /* If the file is empty, we're done. */ if (end_pos == 0) return true; return elide_tail_lines_seekable (filename, fd, n_elide, start_pos, end_pos); } /* lseek failed or the end offset precedes start. Fall through. */ } return elide_tail_lines_pipe (filename, fd, n_elide); } static bool head_bytes (const char *filename, int fd, uintmax_t bytes_to_write) { char buffer[BUFSIZ]; size_t bytes_to_read = BUFSIZ; while (bytes_to_write) { size_t bytes_read; if (bytes_to_write < bytes_to_read) bytes_to_read = bytes_to_write; bytes_read = safe_read (fd, buffer, bytes_to_read); if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (filename)); return false; } if (bytes_read == 0) break; if (fwrite (buffer, 1, bytes_read, stdout) < bytes_read) error (EXIT_FAILURE, errno, _("write error")); bytes_to_write -= bytes_read; } return true; } static bool head_lines (const char *filename, int fd, uintmax_t lines_to_write) { char buffer[BUFSIZ]; while (lines_to_write) { size_t bytes_read = safe_read (fd, buffer, BUFSIZ); size_t bytes_to_write = 0; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (filename)); return false; } if (bytes_read == 0) break; while (bytes_to_write < bytes_read) if (buffer[bytes_to_write++] == '\n' && --lines_to_write == 0) { off_t n_bytes_past_EOL = bytes_read - bytes_to_write; /* If we have read more data than that on the specified number of lines, try to seek back to the position we would have gotten to had we been reading one byte at a time. */ if (lseek (fd, -n_bytes_past_EOL, SEEK_CUR) < 0) { int e = errno; struct stat st; if (fstat (fd, &st) != 0 || S_ISREG (st.st_mode)) error (0, e, _("cannot reposition file pointer for %s"), quote (filename)); } break; } if (fwrite (buffer, 1, bytes_to_write, stdout) < bytes_to_write) error (EXIT_FAILURE, errno, _("write error")); } return true; } static bool head (const char *filename, int fd, uintmax_t n_units, bool count_lines, bool elide_from_end) { if (print_headers) write_header (filename); if (elide_from_end) { if (count_lines) { return elide_tail_lines_file (filename, fd, n_units); } else { return elide_tail_bytes_file (filename, fd, n_units); } } if (count_lines) return head_lines (filename, fd, n_units); else return head_bytes (filename, fd, n_units); } static bool head_file (const char *filename, uintmax_t n_units, bool count_lines, bool elide_from_end) { int fd; bool ok; bool is_stdin = STREQ (filename, "-"); if (is_stdin) { have_read_stdin = true; fd = STDIN_FILENO; filename = _("standard input"); if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { fd = open (filename, O_RDONLY | O_BINARY); if (fd < 0) { error (0, errno, _("cannot open %s for reading"), quote (filename)); return false; } } ok = head (filename, fd, n_units, count_lines, elide_from_end); if (!is_stdin && close (fd) != 0) { error (0, errno, _("failed to close %s"), quote (filename)); return false; } return ok; } /* Convert a string of decimal digits, N_STRING, with an optional suffinx to an integral value. Upon successful conversion, return that value. If it cannot be converted, give a diagnostic and exit. COUNT_LINES indicates whether N_STRING is a number of bytes or a number of lines. It is used solely to give a more specific diagnostic. */ static uintmax_t string_to_integer (bool count_lines, const char *n_string) { strtol_error s_err; uintmax_t n; s_err = xstrtoumax (n_string, NULL, 10, &n, "bkKmMGTPEZY0"); if (s_err == LONGINT_OVERFLOW) { error (EXIT_FAILURE, 0, _("%s: %s is so large that it is not representable"), n_string, count_lines ? _("number of lines") : _("number of bytes")); } if (s_err != LONGINT_OK) { error (EXIT_FAILURE, 0, "%s: %s", n_string, (count_lines ? _("invalid number of lines") : _("invalid number of bytes"))); } return n; } int main (int argc, char **argv) { enum header_mode header_mode = multiple_files; bool ok = true; int c; size_t i; /* Number of items to print. */ uintmax_t n_units = DEFAULT_NUMBER; /* If true, interpret the numeric argument as the number of lines. Otherwise, interpret it as the number of bytes. */ bool count_lines = true; /* Elide the specified number of lines or bytes, counting from the end of the file. */ bool elide_from_end = false; /* Initializer for file_list if no file-arguments were specified on the command line. */ static char const *const default_file_list[] = {"-", NULL}; char const *const *file_list; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; print_headers = false; if (1 < argc && argv[1][0] == '-' && ISDIGIT (argv[1][1])) { char *a = argv[1]; char *n_string = ++a; char *end_n_string; char multiplier_char = 0; /* Old option syntax; a dash, one or more digits, and one or more option letters. Move past the number. */ do ++a; while (ISDIGIT (*a)); /* Pointer to the byte after the last digit. */ end_n_string = a; /* Parse any appended option letters. */ for (; *a; a++) { switch (*a) { case 'c': count_lines = false; multiplier_char = 0; break; case 'b': case 'k': case 'm': count_lines = false; multiplier_char = *a; break; case 'l': count_lines = true; break; case 'q': header_mode = never; break; case 'v': header_mode = always; break; default: error (0, 0, _("invalid trailing option -- %c"), *a); usage (EXIT_FAILURE); } } /* Append the multiplier character (if any) onto the end of the digit string. Then add NUL byte if necessary. */ *end_n_string = multiplier_char; if (multiplier_char) *(++end_n_string) = 0; n_units = string_to_integer (count_lines, n_string); /* Make the options we just parsed invisible to getopt. */ argv[1] = argv[0]; argv++; argc--; } while ((c = getopt_long (argc, argv, "c:n:qv0123456789", long_options, NULL)) != -1) { switch (c) { case PRESUME_INPUT_PIPE_OPTION: presume_input_pipe = true; break; case 'c': count_lines = false; elide_from_end = (*optarg == '-'); if (elide_from_end) ++optarg; n_units = string_to_integer (count_lines, optarg); break; case 'n': count_lines = true; elide_from_end = (*optarg == '-'); if (elide_from_end) ++optarg; n_units = string_to_integer (count_lines, optarg); break; case 'q': header_mode = never; break; case 'v': header_mode = always; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: if (ISDIGIT (c)) error (0, 0, _("invalid trailing option -- %c"), c); usage (EXIT_FAILURE); } } if (header_mode == always || (header_mode == multiple_files && optind < argc - 1)) print_headers = true; if ( ! count_lines && elide_from_end && OFF_T_MAX < n_units) { char umax_buf[INT_BUFSIZE_BOUND (n_units)]; error (EXIT_FAILURE, 0, _("%s: number of bytes is too large"), umaxtostr (n_units, umax_buf)); } file_list = (optind < argc ? (char const *const *) &argv[optind] : default_file_list); if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); for (i = 0; file_list[i]; ++i) ok &= head_file (file_list[i], n_units, count_lines, elide_from_end); if (have_read_stdin && close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/cp.c0000664000000000000000000011145412104672701011711 00000000000000/* cp.c -- file copying (main routines) Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering. */ #include #include #include #include #include #include "system.h" #include "argmatch.h" #include "backupfile.h" #include "copy.h" #include "cp-hash.h" #include "error.h" #include "filenamecat.h" #include "ignore-value.h" #include "quote.h" #include "stat-time.h" #include "utimens.h" #include "acl.h" #if ! HAVE_LCHOWN # define lchown(name, uid, gid) chown (name, uid, gid) #endif #define ASSIGN_BASENAME_STRDUPA(Dest, File_name) \ do \ { \ char *tmp_abns_; \ ASSIGN_STRDUPA (tmp_abns_, (File_name)); \ Dest = last_component (tmp_abns_); \ strip_trailing_slashes (Dest); \ } \ while (0) /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "cp" #define AUTHORS \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") /* Used by do_copy, make_dir_parents_private, and re_protect to keep a list of leading directories whose protections need to be fixed after copying. */ struct dir_attr { struct stat st; bool restore_mode; size_t slash_offset; struct dir_attr *next; }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { ATTRIBUTES_ONLY_OPTION = CHAR_MAX + 1, COPY_CONTENTS_OPTION, NO_PRESERVE_ATTRIBUTES_OPTION, PARENTS_OPTION, PRESERVE_ATTRIBUTES_OPTION, REFLINK_OPTION, SPARSE_OPTION, STRIP_TRAILING_SLASHES_OPTION, UNLINK_DEST_BEFORE_OPENING }; /* True if the kernel is SELinux enabled. */ static bool selinux_enabled; /* If true, the command "cp x/e_file e_dir" uses "e_dir/x/e_file" as its destination instead of the usual "e_dir/e_file." */ static bool parents_option = false; /* Remove any trailing slashes from each SOURCE argument. */ static bool remove_trailing_slashes; static char const *const sparse_type_string[] = { "never", "auto", "always", NULL }; static enum Sparse_type const sparse_type[] = { SPARSE_NEVER, SPARSE_AUTO, SPARSE_ALWAYS }; ARGMATCH_VERIFY (sparse_type_string, sparse_type); static char const *const reflink_type_string[] = { "auto", "always", NULL }; static enum Reflink_type const reflink_type[] = { REFLINK_AUTO, REFLINK_ALWAYS }; ARGMATCH_VERIFY (reflink_type_string, reflink_type); static struct option const long_opts[] = { {"archive", no_argument, NULL, 'a'}, {"attributes-only", no_argument, NULL, ATTRIBUTES_ONLY_OPTION}, {"backup", optional_argument, NULL, 'b'}, {"copy-contents", no_argument, NULL, COPY_CONTENTS_OPTION}, {"dereference", no_argument, NULL, 'L'}, {"force", no_argument, NULL, 'f'}, {"interactive", no_argument, NULL, 'i'}, {"link", no_argument, NULL, 'l'}, {"no-clobber", no_argument, NULL, 'n'}, {"no-dereference", no_argument, NULL, 'P'}, {"no-preserve", required_argument, NULL, NO_PRESERVE_ATTRIBUTES_OPTION}, {"no-target-directory", no_argument, NULL, 'T'}, {"one-file-system", no_argument, NULL, 'x'}, {"parents", no_argument, NULL, PARENTS_OPTION}, {"path", no_argument, NULL, PARENTS_OPTION}, /* Deprecated. */ {"preserve", optional_argument, NULL, PRESERVE_ATTRIBUTES_OPTION}, {"recursive", no_argument, NULL, 'R'}, {"remove-destination", no_argument, NULL, UNLINK_DEST_BEFORE_OPENING}, {"sparse", required_argument, NULL, SPARSE_OPTION}, {"reflink", optional_argument, NULL, REFLINK_OPTION}, {"strip-trailing-slashes", no_argument, NULL, STRIP_TRAILING_SLASHES_OPTION}, {"suffix", required_argument, NULL, 'S'}, {"symbolic-link", no_argument, NULL, 's'}, {"target-directory", required_argument, NULL, 't'}, {"update", no_argument, NULL, 'u'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [-T] SOURCE DEST\n\ or: %s [OPTION]... SOURCE... DIRECTORY\n\ or: %s [OPTION]... -t DIRECTORY SOURCE...\n\ "), program_name, program_name, program_name); fputs (_("\ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a, --archive same as -dR --preserve=all\n\ --attributes-only don't copy the file data, just the attributes\n\ --backup[=CONTROL] make a backup of each existing destination file\ \n\ -b like --backup but does not accept an argument\n\ --copy-contents copy contents of special files when recursive\n\ -d same as --no-dereference --preserve=links\n\ "), stdout); fputs (_("\ -f, --force if an existing destination file cannot be\n\ opened, remove it and try again (this option\n\ is ignored when the -n option is also used)\n\ -i, --interactive prompt before overwrite (overrides a previous -n\ \n\ option)\n\ -H follow command-line symbolic links in SOURCE\n\ "), stdout); fputs (_("\ -l, --link hard link files instead of copying\n\ -L, --dereference always follow symbolic links in SOURCE\n\ "), stdout); fputs (_("\ -n, --no-clobber do not overwrite an existing file (overrides\n\ a previous -i option)\n\ -P, --no-dereference never follow symbolic links in SOURCE\n\ "), stdout); fputs (_("\ -p same as --preserve=mode,ownership,timestamps\n\ --preserve[=ATTR_LIST] preserve the specified attributes (default:\n\ mode,ownership,timestamps), if possible\n\ additional attributes: context, links, xattr,\ \n\ all\n\ "), stdout); fputs (_("\ --no-preserve=ATTR_LIST don't preserve the specified attributes\n\ --parents use full source file name under DIRECTORY\n\ "), stdout); fputs (_("\ -R, -r, --recursive copy directories recursively\n\ --reflink[=WHEN] control clone/CoW copies. See below\n\ --remove-destination remove each existing destination file before\n\ attempting to open it (contrast with --force)\ \n"), stdout); fputs (_("\ --sparse=WHEN control creation of sparse files. See below\n\ --strip-trailing-slashes remove any trailing slashes from each SOURCE\n\ argument\n\ "), stdout); fputs (_("\ -s, --symbolic-link make symbolic links instead of copying\n\ -S, --suffix=SUFFIX override the usual backup suffix\n\ -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY\n\ -T, --no-target-directory treat DEST as a normal file\n\ "), stdout); fputs (_("\ -u, --update copy only when the SOURCE file is newer\n\ than the destination file or when the\n\ destination file is missing\n\ -v, --verbose explain what is being done\n\ -x, --one-file-system stay on this file system\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ By default, sparse SOURCE files are detected by a crude heuristic and the\n\ corresponding DEST file is made sparse as well. That is the behavior\n\ selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n\ file whenever the SOURCE file contains a long enough sequence of zero bytes.\n\ Use --sparse=never to inhibit creation of sparse files.\n\ \n\ When --reflink[=always] is specified, perform a lightweight copy, where the\n\ data blocks are copied only when modified. If this is not possible the copy\n\ fails, or if --reflink=auto is specified, fall back to a standard copy.\n\ "), stdout); fputs (_("\ \n\ The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ The version control method may be selected via the --backup option or through\n\ the VERSION_CONTROL environment variable. Here are the values:\n\ \n\ "), stdout); fputs (_("\ none, off never make backups (even if --backup is given)\n\ numbered, t make numbered backups\n\ existing, nil numbered if numbered backups exist, simple otherwise\n\ simple, never always make simple backups\n\ "), stdout); fputs (_("\ \n\ As a special case, cp makes a backup of SOURCE when the force and backup\n\ options are given and SOURCE and DEST are the same name for an existing,\n\ regular file.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Ensure that the parent directories of CONST_DST_NAME have the correct protections, for the --parents option. This is done after all copying has been completed, to allow permissions that don't include user write/execute. SRC_OFFSET is the index in CONST_DST_NAME of the beginning of the source directory name. ATTR_LIST is a null-terminated linked list of structures that indicates the end of the filename of each intermediate directory in CONST_DST_NAME that may need to have its attributes changed. The command 'cp --parents --preserve a/b/c d/e_dir' changes the attributes of the directories d/e_dir/a and d/e_dir/a/b to match the corresponding source directories regardless of whether they existed before the 'cp' command was given. Return true if the parent of CONST_DST_NAME and any intermediate directories specified by ATTR_LIST have the proper permissions when done. */ static bool re_protect (char const *const_dst_name, size_t src_offset, struct dir_attr *attr_list, const struct cp_options *x) { struct dir_attr *p; char *dst_name; /* A copy of CONST_DST_NAME we can change. */ char *src_name; /* The source name in 'dst_name'. */ ASSIGN_STRDUPA (dst_name, const_dst_name); src_name = dst_name + src_offset; for (p = attr_list; p; p = p->next) { dst_name[p->slash_offset] = '\0'; /* Adjust the times (and if possible, ownership) for the copy. chown turns off set[ug]id bits for non-root, so do the chmod last. */ if (x->preserve_timestamps) { struct timespec timespec[2]; timespec[0] = get_stat_atime (&p->st); timespec[1] = get_stat_mtime (&p->st); if (utimens (dst_name, timespec)) { error (0, errno, _("failed to preserve times for %s"), quote (dst_name)); return false; } } if (x->preserve_ownership) { if (lchown (dst_name, p->st.st_uid, p->st.st_gid) != 0) { if (! chown_failure_ok (x)) { error (0, errno, _("failed to preserve ownership for %s"), quote (dst_name)); return false; } /* Failing to preserve ownership is OK. Still, try to preserve the group, but ignore the possible error. */ ignore_value (lchown (dst_name, -1, p->st.st_gid)); } } if (x->preserve_mode) { if (copy_acl (src_name, -1, dst_name, -1, p->st.st_mode) != 0) return false; } else if (p->restore_mode) { if (lchmod (dst_name, p->st.st_mode) != 0) { error (0, errno, _("failed to preserve permissions for %s"), quote (dst_name)); return false; } } dst_name[p->slash_offset] = '/'; } return true; } /* Ensure that the parent directory of CONST_DIR exists, for the --parents option. SRC_OFFSET is the index in CONST_DIR (which is a destination directory) of the beginning of the source directory name. Create any leading directories that don't already exist. If VERBOSE_FMT_STRING is nonzero, use it as a printf format string for printing a message after successfully making a directory. The format should take two string arguments: the names of the source and destination directories. Creates a linked list of attributes of intermediate directories, *ATTR_LIST, for re_protect to use after calling copy. Sets *NEW_DST if this function creates parent of CONST_DIR. Return true if parent of CONST_DIR exists as a directory with the proper permissions when done. */ /* FIXME: Synch this function with the one in ../lib/mkdir-p.c. */ static bool make_dir_parents_private (char const *const_dir, size_t src_offset, char const *verbose_fmt_string, struct dir_attr **attr_list, bool *new_dst, const struct cp_options *x) { struct stat stats; char *dir; /* A copy of CONST_DIR we can change. */ char *src; /* Source name in DIR. */ char *dst_dir; /* Leading directory of DIR. */ size_t dirlen; /* Length of DIR. */ ASSIGN_STRDUPA (dir, const_dir); src = dir + src_offset; dirlen = dir_len (dir); dst_dir = alloca (dirlen + 1); memcpy (dst_dir, dir, dirlen); dst_dir[dirlen] = '\0'; *attr_list = NULL; if (stat (dst_dir, &stats) != 0) { /* A parent of CONST_DIR does not exist. Make all missing intermediate directories. */ char *slash; slash = src; while (*slash == '/') slash++; while ((slash = strchr (slash, '/'))) { struct dir_attr *new IF_LINT ( = NULL); bool missing_dir; *slash = '\0'; missing_dir = (stat (dir, &stats) != 0); if (missing_dir || x->preserve_ownership || x->preserve_mode || x->preserve_timestamps) { /* Add this directory to the list of directories whose modes might need fixing later. */ struct stat src_st; int src_errno = (stat (src, &src_st) != 0 ? errno : S_ISDIR (src_st.st_mode) ? 0 : ENOTDIR); if (src_errno) { error (0, src_errno, _("failed to get attributes of %s"), quote (src)); return false; } new = xmalloc (sizeof *new); new->st = src_st; new->slash_offset = slash - dir; new->restore_mode = false; new->next = *attr_list; *attr_list = new; } if (missing_dir) { mode_t src_mode; mode_t omitted_permissions; mode_t mkdir_mode; /* This component does not exist. We must set *new_dst and new->st.st_mode inside this loop because, for example, in the command 'cp --parents ../a/../b/c e_dir', make_dir_parents_private creates only e_dir/../a if ./b already exists. */ *new_dst = true; src_mode = new->st.st_mode; /* If the ownership or special mode bits might change, omit some permissions at first, so unauthorized users cannot nip in before the file is ready. */ omitted_permissions = (src_mode & (x->preserve_ownership ? S_IRWXG | S_IRWXO : x->preserve_mode ? S_IWGRP | S_IWOTH : 0)); /* POSIX says mkdir's behavior is implementation-defined when (src_mode & ~S_IRWXUGO) != 0. However, common practice is to ask mkdir to copy all the CHMOD_MODE_BITS, letting mkdir decide what to do with S_ISUID | S_ISGID | S_ISVTX. */ mkdir_mode = src_mode & CHMOD_MODE_BITS & ~omitted_permissions; if (mkdir (dir, mkdir_mode) != 0) { error (0, errno, _("cannot make directory %s"), quote (dir)); return false; } else { if (verbose_fmt_string != NULL) printf (verbose_fmt_string, src, dir); } /* We need search and write permissions to the new directory for writing the directory's contents. Check if these permissions are there. */ if (lstat (dir, &stats)) { error (0, errno, _("failed to get attributes of %s"), quote (dir)); return false; } if (! x->preserve_mode) { if (omitted_permissions & ~stats.st_mode) omitted_permissions &= ~ cached_umask (); if (omitted_permissions & ~stats.st_mode || (stats.st_mode & S_IRWXU) != S_IRWXU) { new->st.st_mode = stats.st_mode | omitted_permissions; new->restore_mode = true; } } if ((stats.st_mode & S_IRWXU) != S_IRWXU) { /* Make the new directory searchable and writable. The original permissions will be restored later. */ if (lchmod (dir, stats.st_mode | S_IRWXU) != 0) { error (0, errno, _("setting permissions for %s"), quote (dir)); return false; } } } else if (!S_ISDIR (stats.st_mode)) { error (0, 0, _("%s exists but is not a directory"), quote (dir)); return false; } else *new_dst = false; *slash++ = '/'; /* Avoid unnecessary calls to 'stat' when given file names containing multiple adjacent slashes. */ while (*slash == '/') slash++; } } /* We get here if the parent of DIR already exists. */ else if (!S_ISDIR (stats.st_mode)) { error (0, 0, _("%s exists but is not a directory"), quote (dst_dir)); return false; } else { *new_dst = false; } return true; } /* FILE is the last operand of this command. Return true if FILE is a directory. But report an error and exit if there is a problem accessing FILE, or if FILE does not exist but would have to refer to an existing directory if it referred to anything at all. If the file exists, store the file's status into *ST. Otherwise, set *NEW_DST. */ static bool target_directory_operand (char const *file, struct stat *st, bool *new_dst) { int err = (stat (file, st) == 0 ? 0 : errno); bool is_a_dir = !err && S_ISDIR (st->st_mode); if (err) { if (err != ENOENT) error (EXIT_FAILURE, err, _("failed to access %s"), quote (file)); *new_dst = true; } return is_a_dir; } /* Scan the arguments, and copy each by calling copy. Return true if successful. */ static bool do_copy (int n_files, char **file, const char *target_directory, bool no_target_directory, struct cp_options *x) { struct stat sb; bool new_dst = false; bool ok = true; if (n_files <= !target_directory) { if (n_files <= 0) error (0, 0, _("missing file operand")); else error (0, 0, _("missing destination file operand after %s"), quote (file[0])); usage (EXIT_FAILURE); } if (no_target_directory) { if (target_directory) error (EXIT_FAILURE, 0, _("cannot combine --target-directory (-t) " "and --no-target-directory (-T)")); if (2 < n_files) { error (0, 0, _("extra operand %s"), quote (file[2])); usage (EXIT_FAILURE); } /* Update NEW_DST and SB, which may be checked below. */ ignore_value (target_directory_operand (file[n_files -1], &sb, &new_dst)); } else if (!target_directory) { if (2 <= n_files && target_directory_operand (file[n_files - 1], &sb, &new_dst)) target_directory = file[--n_files]; else if (2 < n_files) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (file[n_files - 1])); } if (target_directory) { /* cp file1...filen edir Copy the files 'file1' through 'filen' to the existing directory 'edir'. */ int i; /* Initialize these hash tables only if we'll need them. The problems they're used to detect can arise only if there are two or more files to copy. */ if (2 <= n_files) { dest_info_init (x); src_info_init (x); } for (i = 0; i < n_files; i++) { char *dst_name; bool parent_exists = true; /* True if dir_name (dst_name) exists. */ struct dir_attr *attr_list; char *arg_in_concat = NULL; char *arg = file[i]; /* Trailing slashes are meaningful (i.e., maybe worth preserving) only in the source file names. */ if (remove_trailing_slashes) strip_trailing_slashes (arg); if (parents_option) { char *arg_no_trailing_slash; /* Use 'arg' without trailing slashes in constructing destination file names. Otherwise, we can end up trying to create a directory via 'mkdir ("dst/foo/"...', which is not portable. It fails, due to the trailing slash, on at least NetBSD 1.[34] systems. */ ASSIGN_STRDUPA (arg_no_trailing_slash, arg); strip_trailing_slashes (arg_no_trailing_slash); /* Append all of 'arg' (minus any trailing slash) to 'dest'. */ dst_name = file_name_concat (target_directory, arg_no_trailing_slash, &arg_in_concat); /* For --parents, we have to make sure that the directory dir_name (dst_name) exists. We may have to create a few leading directories. */ parent_exists = (make_dir_parents_private (dst_name, arg_in_concat - dst_name, (x->verbose ? "%s -> %s\n" : NULL), &attr_list, &new_dst, x)); } else { char *arg_base; /* Append the last component of 'arg' to 'target_directory'. */ ASSIGN_BASENAME_STRDUPA (arg_base, arg); /* For 'cp -R source/.. dest', don't copy into 'dest/..'. */ dst_name = (STREQ (arg_base, "..") ? xstrdup (target_directory) : file_name_concat (target_directory, arg_base, NULL)); } if (!parent_exists) { /* make_dir_parents_private failed, so don't even attempt the copy. */ ok = false; } else { bool copy_into_self; ok &= copy (arg, dst_name, new_dst, x, ©_into_self, NULL); if (parents_option) ok &= re_protect (dst_name, arg_in_concat - dst_name, attr_list, x); } if (parents_option) { while (attr_list) { struct dir_attr *p = attr_list; attr_list = attr_list->next; free (p); } } free (dst_name); } } else /* !target_directory */ { char const *new_dest; char const *source = file[0]; char const *dest = file[1]; bool unused; if (parents_option) { error (0, 0, _("with --parents, the destination must be a directory")); usage (EXIT_FAILURE); } /* When the force and backup options have been specified and the source and destination are the same name for an existing regular file, convert the user's command, e.g., 'cp --force --backup foo foo' to 'cp --force foo fooSUFFIX' where SUFFIX is determined by any version control options used. */ if (x->unlink_dest_after_failed_open && x->backup_type != no_backups && STREQ (source, dest) && !new_dst && S_ISREG (sb.st_mode)) { static struct cp_options x_tmp; new_dest = find_backup_file_name (dest, x->backup_type); /* Set x->backup_type to 'no_backups' so that the normal backup mechanism is not used when performing the actual copy. backup_type must be set to 'no_backups' only *after* the above call to find_backup_file_name -- that function uses backup_type to determine the suffix it applies. */ x_tmp = *x; x_tmp.backup_type = no_backups; x = &x_tmp; } else { new_dest = dest; } ok = copy (source, new_dest, 0, x, &unused, NULL); } return ok; } static void cp_option_init (struct cp_options *x) { cp_options_default (x); x->copy_as_regular = true; x->dereference = DEREF_UNDEFINED; x->unlink_dest_before_opening = false; x->unlink_dest_after_failed_open = false; x->hard_link = false; x->interactive = I_UNSPECIFIED; x->move_mode = false; x->one_file_system = false; x->reflink_mode = REFLINK_NEVER; x->preserve_ownership = false; x->preserve_links = false; x->preserve_mode = false; x->preserve_timestamps = false; x->explicit_no_preserve_mode = false; x->preserve_security_context = false; x->require_preserve_context = false; x->preserve_xattr = false; x->reduce_diagnostics = false; x->require_preserve_xattr = false; x->data_copy_required = true; x->require_preserve = false; x->recursive = false; x->sparse_mode = SPARSE_AUTO; x->symbolic_link = false; x->set_mode = false; x->mode = 0; /* Not used. */ x->stdin_tty = false; x->update = false; x->verbose = false; /* By default, refuse to open a dangling destination symlink, because in general one cannot do that safely, give the current semantics of open's O_EXCL flag, (which POSIX doesn't even allow cp to use, btw). But POSIX requires it. */ x->open_dangling_dest_symlink = getenv ("POSIXLY_CORRECT") != NULL; x->dest_info = NULL; x->src_info = NULL; } /* Given a string, ARG, containing a comma-separated list of arguments to the --preserve option, set the appropriate fields of X to ON_OFF. */ static void decode_preserve_arg (char const *arg, struct cp_options *x, bool on_off) { enum File_attribute { PRESERVE_MODE, PRESERVE_TIMESTAMPS, PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_CONTEXT, PRESERVE_XATTR, PRESERVE_ALL }; static enum File_attribute const preserve_vals[] = { PRESERVE_MODE, PRESERVE_TIMESTAMPS, PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_CONTEXT, PRESERVE_XATTR, PRESERVE_ALL }; /* Valid arguments to the '--preserve' option. */ static char const* const preserve_args[] = { "mode", "timestamps", "ownership", "links", "context", "xattr", "all", NULL }; ARGMATCH_VERIFY (preserve_args, preserve_vals); char *arg_writable = xstrdup (arg); char *s = arg_writable; do { /* find next comma */ char *comma = strchr (s, ','); enum File_attribute val; /* If we found a comma, put a NUL in its place and advance. */ if (comma) *comma++ = 0; /* process S. */ val = XARGMATCH ("--preserve", s, preserve_args, preserve_vals); switch (val) { case PRESERVE_MODE: x->preserve_mode = on_off; x->explicit_no_preserve_mode = !on_off; break; case PRESERVE_TIMESTAMPS: x->preserve_timestamps = on_off; break; case PRESERVE_OWNERSHIP: x->preserve_ownership = on_off; break; case PRESERVE_LINK: x->preserve_links = on_off; break; case PRESERVE_CONTEXT: x->preserve_security_context = on_off; x->require_preserve_context = on_off; break; case PRESERVE_XATTR: x->preserve_xattr = on_off; x->require_preserve_xattr = on_off; break; case PRESERVE_ALL: x->preserve_mode = on_off; x->preserve_timestamps = on_off; x->preserve_ownership = on_off; x->preserve_links = on_off; x->explicit_no_preserve_mode = !on_off; if (selinux_enabled) x->preserve_security_context = on_off; x->preserve_xattr = on_off; break; default: abort (); } s = comma; } while (s); free (arg_writable); } int main (int argc, char **argv) { int c; bool ok; bool make_backups = false; char *backup_suffix_string; char *version_control_string = NULL; struct cp_options x; bool copy_contents = false; char *target_directory = NULL; bool no_target_directory = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdin); selinux_enabled = (0 < is_selinux_enabled ()); cp_option_init (&x); /* FIXME: consider not calling getenv for SIMPLE_BACKUP_SUFFIX unless we'll actually use backup_suffix_string. */ backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX"); while ((c = getopt_long (argc, argv, "abdfHilLnprst:uvxPRS:T", long_opts, NULL)) != -1) { switch (c) { case SPARSE_OPTION: x.sparse_mode = XARGMATCH ("--sparse", optarg, sparse_type_string, sparse_type); break; case REFLINK_OPTION: if (optarg == NULL) x.reflink_mode = REFLINK_ALWAYS; else x.reflink_mode = XARGMATCH ("--reflink", optarg, reflink_type_string, reflink_type); break; case 'a': /* Like -dR --preserve=all with reduced failure diagnostics. */ x.dereference = DEREF_NEVER; x.preserve_links = true; x.preserve_ownership = true; x.preserve_mode = true; x.preserve_timestamps = true; x.require_preserve = true; if (selinux_enabled) x.preserve_security_context = true; x.preserve_xattr = true; x.reduce_diagnostics = true; x.recursive = true; break; case 'b': make_backups = true; if (optarg) version_control_string = optarg; break; case ATTRIBUTES_ONLY_OPTION: x.data_copy_required = false; break; case COPY_CONTENTS_OPTION: copy_contents = true; break; case 'd': x.preserve_links = true; x.dereference = DEREF_NEVER; break; case 'f': x.unlink_dest_after_failed_open = true; break; case 'H': x.dereference = DEREF_COMMAND_LINE_ARGUMENTS; break; case 'i': x.interactive = I_ASK_USER; break; case 'l': x.hard_link = true; break; case 'L': x.dereference = DEREF_ALWAYS; break; case 'n': x.interactive = I_ALWAYS_NO; break; case 'P': x.dereference = DEREF_NEVER; break; case NO_PRESERVE_ATTRIBUTES_OPTION: decode_preserve_arg (optarg, &x, false); break; case PRESERVE_ATTRIBUTES_OPTION: if (optarg == NULL) { /* Fall through to the case for 'p' below. */ } else { decode_preserve_arg (optarg, &x, true); x.require_preserve = true; break; } case 'p': x.preserve_ownership = true; x.preserve_mode = true; x.preserve_timestamps = true; x.require_preserve = true; break; case PARENTS_OPTION: parents_option = true; break; case 'r': case 'R': x.recursive = true; break; case UNLINK_DEST_BEFORE_OPENING: x.unlink_dest_before_opening = true; break; case STRIP_TRAILING_SLASHES_OPTION: remove_trailing_slashes = true; break; case 's': x.symbolic_link = true; break; case 't': if (target_directory) error (EXIT_FAILURE, 0, _("multiple target directories specified")); else { struct stat st; if (stat (optarg, &st) != 0) error (EXIT_FAILURE, errno, _("failed to access %s"), quote (optarg)); if (! S_ISDIR (st.st_mode)) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (optarg)); } target_directory = optarg; break; case 'T': no_target_directory = true; break; case 'u': x.update = true; break; case 'v': x.verbose = true; break; case 'x': x.one_file_system = true; break; case 'S': make_backups = true; backup_suffix_string = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (x.hard_link && x.symbolic_link) { error (0, 0, _("cannot make both hard and symbolic links")); usage (EXIT_FAILURE); } if (make_backups && x.interactive == I_ALWAYS_NO) { error (0, 0, _("options --backup and --no-clobber are mutually exclusive")); usage (EXIT_FAILURE); } if (x.reflink_mode == REFLINK_ALWAYS && x.sparse_mode != SPARSE_AUTO) { error (0, 0, _("--reflink can be used only with --sparse=auto")); usage (EXIT_FAILURE); } if (backup_suffix_string) simple_backup_suffix = xstrdup (backup_suffix_string); x.backup_type = (make_backups ? xget_version (_("backup type"), version_control_string) : no_backups); if (x.dereference == DEREF_UNDEFINED) { if (x.recursive) /* This is compatible with FreeBSD. */ x.dereference = DEREF_NEVER; else x.dereference = DEREF_ALWAYS; } if (x.recursive) x.copy_as_regular = copy_contents; /* If --force (-f) was specified and we're in link-creation mode, first remove any existing destination file. */ if (x.unlink_dest_after_failed_open && (x.hard_link || x.symbolic_link)) x.unlink_dest_before_opening = true; if (x.preserve_security_context) { if (!selinux_enabled) error (EXIT_FAILURE, 0, _("cannot preserve security context " "without an SELinux-enabled kernel")); } #if !USE_XATTR if (x.require_preserve_xattr) error (EXIT_FAILURE, 0, _("cannot preserve extended attributes, cp is " "built without xattr support")); #endif /* Allocate space for remembering copied and created files. */ hash_init (); ok = do_copy (argc - optind, argv + optind, target_directory, no_target_directory, &x); forget_all (); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/sum.c0000664000000000000000000001510612102337340012103 00000000000000/* sum -- checksum and count the blocks in a file Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Like BSD sum or SysV sum -r, except like SysV sum if -s option is given. */ /* Written by Kayvan Aghaiepour and David MacKenzie. */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "human.h" #include "safe-read.h" #include "xfreopen.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "sum" #define AUTHORS \ proper_name ("Kayvan Aghaiepour"), \ proper_name ("David MacKenzie") /* True if any of the files read were the standard input. */ static bool have_read_stdin; static struct option const longopts[] = { {"sysv", no_argument, NULL, 's'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Print checksum and block counts for each FILE.\n\ \n\ -r use BSD sum algorithm, use 1K blocks\n\ -s, --sysv use System V sum algorithm, use 512 bytes blocks\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Calculate and print the rotated checksum and the size in 1K blocks of file FILE, or of the standard input if FILE is "-". If PRINT_NAME is >1, print FILE next to the checksum and size. The checksum varies depending on sizeof (int). Return true if successful. */ static bool bsd_sum_file (const char *file, int print_name) { FILE *fp; int checksum = 0; /* The checksum mod 2^16. */ uintmax_t total_bytes = 0; /* The number of bytes. */ int ch; /* Each character read. */ char hbuf[LONGEST_HUMAN_READABLE + 1]; bool is_stdin = STREQ (file, "-"); if (is_stdin) { fp = stdin; have_read_stdin = true; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { fp = fopen (file, (O_BINARY ? "rb" : "r")); if (fp == NULL) { error (0, errno, "%s", file); return false; } } fadvise (fp, FADVISE_SEQUENTIAL); while ((ch = getc (fp)) != EOF) { total_bytes++; checksum = (checksum >> 1) + ((checksum & 1) << 15); checksum += ch; checksum &= 0xffff; /* Keep it within bounds. */ } if (ferror (fp)) { error (0, errno, "%s", file); if (!is_stdin) fclose (fp); return false; } if (!is_stdin && fclose (fp) != 0) { error (0, errno, "%s", file); return false; } printf ("%05d %5s", checksum, human_readable (total_bytes, hbuf, human_ceiling, 1, 1024)); if (print_name > 1) printf (" %s", file); putchar ('\n'); return true; } /* Calculate and print the checksum and the size in 512-byte blocks of file FILE, or of the standard input if FILE is "-". If PRINT_NAME is >0, print FILE next to the checksum and size. Return true if successful. */ static bool sysv_sum_file (const char *file, int print_name) { int fd; unsigned char buf[8192]; uintmax_t total_bytes = 0; char hbuf[LONGEST_HUMAN_READABLE + 1]; int r; int checksum; /* The sum of all the input bytes, modulo (UINT_MAX + 1). */ unsigned int s = 0; bool is_stdin = STREQ (file, "-"); if (is_stdin) { fd = STDIN_FILENO; have_read_stdin = true; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { fd = open (file, O_RDONLY | O_BINARY); if (fd == -1) { error (0, errno, "%s", file); return false; } } while (1) { size_t i; size_t bytes_read = safe_read (fd, buf, sizeof buf); if (bytes_read == 0) break; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, "%s", file); if (!is_stdin) close (fd); return false; } for (i = 0; i < bytes_read; i++) s += buf[i]; total_bytes += bytes_read; } if (!is_stdin && close (fd) != 0) { error (0, errno, "%s", file); return false; } r = (s & 0xffff) + ((s & 0xffffffff) >> 16); checksum = (r & 0xffff) + (r >> 16); printf ("%d %s", checksum, human_readable (total_bytes, hbuf, human_ceiling, 1, 512)); if (print_name) printf (" %s", file); putchar ('\n'); return true; } int main (int argc, char **argv) { bool ok; int optc; int files_given; bool (*sum_func) (const char *, int) = bsd_sum_file; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Line buffer stdout to ensure lines are written atomically and immediately so that processes running in parallel do not intersperse their output. */ setvbuf (stdout, NULL, _IOLBF, 0); have_read_stdin = false; while ((optc = getopt_long (argc, argv, "rs", longopts, NULL)) != -1) { switch (optc) { case 'r': /* For SysV compatibility. */ sum_func = bsd_sum_file; break; case 's': sum_func = sysv_sum_file; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } files_given = argc - optind; if (files_given <= 0) ok = sum_func ("-", files_given); else for (ok = true; optind < argc; optind++) ok &= sum_func (argv[optind], files_given); if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/prog-fprintf.h0000664000000000000000000000170212102337340013716 00000000000000/* prog-fprintf.h - common formating output functions and definitions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef PROG_FPRINTF_H # define PROG_FPRINTF_H # include extern void prog_fprintf (FILE *fp, char const *fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); #endif coreutils-8.21/src/copy.c0000664000000000000000000027633612104672701012274 00000000000000/* copy.c -- core functions for copying files and directories Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from cp.c and librarified by Jim Meyering. */ #include #include #include #include #include #include #if HAVE_HURD_H # include #endif #if HAVE_PRIV_H # include #endif #include "system.h" #include "acl.h" #include "backupfile.h" #include "buffer-lcm.h" #include "canonicalize.h" #include "copy.h" #include "cp-hash.h" #include "extent-scan.h" #include "error.h" #include "fadvise.h" #include "fcntl--.h" #include "fiemap.h" #include "file-set.h" #include "filemode.h" #include "filenamecat.h" #include "full-write.h" #include "hash.h" #include "hash-triple.h" #include "ignore-value.h" #include "ioblksize.h" #include "quote.h" #include "same.h" #include "savedir.h" #include "stat-size.h" #include "stat-time.h" #include "utimecmp.h" #include "utimens.h" #include "write-any-file.h" #include "areadlink.h" #include "yesno.h" #if USE_XATTR # include # include # include # include "verror.h" #endif #ifndef HAVE_FCHOWN # define HAVE_FCHOWN false # define fchown(fd, uid, gid) (-1) #endif #ifndef HAVE_LCHOWN # define HAVE_LCHOWN false # define lchown(name, uid, gid) chown (name, uid, gid) #endif #ifndef HAVE_MKFIFO static int rpl_mkfifo (char const *file, mode_t mode) { errno = ENOTSUP; return -1; } # define mkfifo rpl_mkfifo #endif #ifndef USE_ACL # define USE_ACL 0 #endif #define SAME_OWNER(A, B) ((A).st_uid == (B).st_uid) #define SAME_GROUP(A, B) ((A).st_gid == (B).st_gid) #define SAME_OWNER_AND_GROUP(A, B) (SAME_OWNER (A, B) && SAME_GROUP (A, B)) struct dir_list { struct dir_list *parent; ino_t ino; dev_t dev; }; /* Initial size of the cp.dest_info hash table. */ #define DEST_INFO_INITIAL_CAPACITY 61 static bool copy_internal (char const *src_name, char const *dst_name, bool new_dst, dev_t device, struct dir_list *ancestors, const struct cp_options *x, bool command_line_arg, bool *first_dir_created_per_command_line_arg, bool *copy_into_self, bool *rename_succeeded); static bool owner_failure_ok (struct cp_options const *x); /* Pointers to the file names: they're used in the diagnostic that is issued when we detect the user is trying to copy a directory into itself. */ static char const *top_level_src_name; static char const *top_level_dst_name; /* Set the timestamp of symlink, FILE, to TIMESPEC. If this system lacks support for that, simply return 0. */ static inline int utimens_symlink (char const *file, struct timespec const *timespec) { int err = lutimens (file, timespec); /* When configuring on a system with new headers and libraries, and running on one with a kernel that is old enough to lack the syscall, utimensat fails with ENOSYS. Ignore that. */ if (err && errno == ENOSYS) err = 0; return err; } /* Copy the regular file open on SRC_FD/SRC_NAME to DST_FD/DST_NAME, honoring the MAKE_HOLES setting and using the BUF_SIZE-byte buffer BUF for temporary storage. Copy no more than MAX_N_READ bytes. Return true upon successful completion; print a diagnostic and return false upon error. Note that for best results, BUF should be "well"-aligned. BUF must have sizeof(uintptr_t)-1 bytes of additional space beyond BUF[BUF_SIZE-1]. Set *LAST_WRITE_MADE_HOLE to true if the final operation on DEST_FD introduced a hole. Set *TOTAL_N_READ to the number of bytes read. */ static bool sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size, bool make_holes, char const *src_name, char const *dst_name, uintmax_t max_n_read, off_t *total_n_read, bool *last_write_made_hole) { *last_write_made_hole = false; *total_n_read = 0; while (max_n_read) { bool make_hole = false; ssize_t n_read = read (src_fd, buf, MIN (max_n_read, buf_size)); if (n_read < 0) { if (errno == EINTR) continue; error (0, errno, _("error reading %s"), quote (src_name)); return false; } if (n_read == 0) break; max_n_read -= n_read; *total_n_read += n_read; if (make_holes) { /* Sentinel required by is_nul(). */ buf[n_read] = '\1'; #ifdef lint typedef uintptr_t word; /* Usually, buf[n_read] is not the byte just before a "word" (aka uintptr_t) boundary. In that case, the word-oriented test below (*wp++ == 0) would read some uninitialized bytes after the sentinel. To avoid false-positive reports about this condition (e.g., from a tool like valgrind), set the remaining bytes -- to any value. */ memset (buf + n_read + 1, 0, sizeof (word) - 1); #endif if ((make_hole = is_nul (buf, n_read))) { if (lseek (dest_fd, n_read, SEEK_CUR) < 0) { error (0, errno, _("cannot lseek %s"), quote (dst_name)); return false; } } } if (!make_hole) { size_t n = n_read; if (full_write (dest_fd, buf, n) != n) { error (0, errno, _("error writing %s"), quote (dst_name)); return false; } /* It is tempting to return early here upon a short read from a regular file. That would save the final read syscall for each file. Unfortunately that doesn't work for certain files in /proc with linux kernels from at least 2.6.9 .. 2.6.29. */ } *last_write_made_hole = make_hole; } return true; } /* Perform the O(1) btrfs clone operation, if possible. Upon success, return 0. Otherwise, return -1 and set errno. */ static inline int clone_file (int dest_fd, int src_fd) { #ifdef __linux__ # undef BTRFS_IOCTL_MAGIC # define BTRFS_IOCTL_MAGIC 0x94 # undef BTRFS_IOC_CLONE # define BTRFS_IOC_CLONE _IOW (BTRFS_IOCTL_MAGIC, 9, int) return ioctl (dest_fd, BTRFS_IOC_CLONE, src_fd); #else (void) dest_fd; (void) src_fd; errno = ENOTSUP; return -1; #endif } /* Write N_BYTES zero bytes to file descriptor FD. Return true if successful. Upon write failure, set errno and return false. */ static bool write_zeros (int fd, uint64_t n_bytes) { static char *zeros; static size_t nz = IO_BUFSIZE; /* Attempt to use a relatively large calloc'd source buffer for efficiency, but if that allocation fails, resort to a smaller statically allocated one. */ if (zeros == NULL) { static char fallback[1024]; zeros = calloc (nz, 1); if (zeros == NULL) { zeros = fallback; nz = sizeof fallback; } } while (n_bytes) { uint64_t n = MIN (nz, n_bytes); if ((full_write (fd, zeros, n)) != n) return false; n_bytes -= n; } return true; } /* Perform an efficient extent copy, if possible. This avoids the overhead of detecting holes in hole-introducing/preserving copy, and thus makes copying sparse files much more efficient. Upon a successful copy, return true. If the initial extent scan fails, set *NORMAL_COPY_REQUIRED to true and return false. Upon any other failure, set *NORMAL_COPY_REQUIRED to false and return false. */ static bool extent_copy (int src_fd, int dest_fd, char *buf, size_t buf_size, off_t src_total_size, enum Sparse_type sparse_mode, char const *src_name, char const *dst_name, bool *require_normal_copy) { struct extent_scan scan; off_t last_ext_start = 0; uint64_t last_ext_len = 0; /* Keep track of the output position. We may need this at the end, for a final ftruncate. */ off_t dest_pos = 0; extent_scan_init (src_fd, &scan); *require_normal_copy = false; bool wrote_hole_at_eof = true; do { bool ok = extent_scan_read (&scan); if (! ok) { if (scan.hit_final_extent) break; if (scan.initial_scan_failed) { *require_normal_copy = true; return false; } error (0, errno, _("%s: failed to get extents info"), quote (src_name)); return false; } unsigned int i; bool empty_extent = false; for (i = 0; i < scan.ei_count || empty_extent; i++) { off_t ext_start; uint64_t ext_len; uint64_t hole_size; if (i < scan.ei_count) { ext_start = scan.ext_info[i].ext_logical; ext_len = scan.ext_info[i].ext_length; } else /* empty extent at EOF. */ { i--; ext_start = last_ext_start + scan.ext_info[i].ext_length; ext_len = 0; } hole_size = ext_start - last_ext_start - last_ext_len; wrote_hole_at_eof = false; if (hole_size) { if (lseek (src_fd, ext_start, SEEK_SET) < 0) { error (0, errno, _("cannot lseek %s"), quote (src_name)); fail: extent_scan_free (&scan); return false; } if ((empty_extent && sparse_mode == SPARSE_ALWAYS) || (!empty_extent && sparse_mode != SPARSE_NEVER)) { if (lseek (dest_fd, ext_start, SEEK_SET) < 0) { error (0, errno, _("cannot lseek %s"), quote (dst_name)); goto fail; } wrote_hole_at_eof = true; } else { /* When not inducing holes and when there is a hole between the end of the previous extent and the beginning of the current one, write zeros to the destination file. */ off_t nzeros = hole_size; if (empty_extent) nzeros = MIN (src_total_size - dest_pos, hole_size); if (! write_zeros (dest_fd, nzeros)) { error (0, errno, _("%s: write failed"), quote (dst_name)); goto fail; } dest_pos = MIN (src_total_size, ext_start); } } last_ext_start = ext_start; /* Treat an unwritten but allocated extent much like a hole. I.E. don't read, but don't convert to a hole in the destination, unless SPARSE_ALWAYS. */ /* For now, do not treat FIEMAP_EXTENT_UNWRITTEN specially, because that (in combination with no sync) would lead to data loss at least on XFS and ext4 when using 2.6.39-rc3 kernels. */ if (0 && (scan.ext_info[i].ext_flags & FIEMAP_EXTENT_UNWRITTEN)) { empty_extent = true; last_ext_len = 0; if (ext_len == 0) /* The last extent is empty and processed. */ empty_extent = false; } else { off_t n_read; empty_extent = false; last_ext_len = ext_len; if ( ! sparse_copy (src_fd, dest_fd, buf, buf_size, sparse_mode == SPARSE_ALWAYS, src_name, dst_name, ext_len, &n_read, &wrote_hole_at_eof)) goto fail; dest_pos = ext_start + n_read; } /* If the file ends with unwritten extents not accounted for in the size, then skip processing them, and the associated redundant read() calls which will always return 0. We will need to remove this when we add fallocate() so that we can maintain extents beyond the apparent size. */ if (dest_pos == src_total_size) { scan.hit_final_extent = true; break; } } /* Release the space allocated to scan->ext_info. */ extent_scan_free (&scan); } while (! scan.hit_final_extent); /* When the source file ends with a hole, we have to do a little more work, since the above copied only up to and including the final extent. In order to complete the copy, we may have to insert a hole or write zeros in the destination corresponding to the source file's hole-at-EOF. In addition, if the final extent was a block of zeros at EOF and we've just converted them to a hole in the destination, we must call ftruncate here in order to record the proper length in the destination. */ if ((dest_pos < src_total_size || wrote_hole_at_eof) && (sparse_mode != SPARSE_NEVER ? ftruncate (dest_fd, src_total_size) : ! write_zeros (dest_fd, src_total_size - dest_pos))) { error (0, errno, _("failed to extend %s"), quote (dst_name)); return false; } return true; } /* FIXME: describe */ /* FIXME: rewrite this to use a hash table so we avoid the quadratic performance hit that's probably noticeable only on trees deeper than a few hundred levels. See use of active_dir_map in remove.c */ static bool _GL_ATTRIBUTE_PURE is_ancestor (const struct stat *sb, const struct dir_list *ancestors) { while (ancestors != 0) { if (ancestors->ino == sb->st_ino && ancestors->dev == sb->st_dev) return true; ancestors = ancestors->parent; } return false; } static bool errno_unsupported (int err) { return err == ENOTSUP || err == ENODATA; } #if USE_XATTR static void copy_attr_error (struct error_context *ctx ATTRIBUTE_UNUSED, char const *fmt, ...) { if (!errno_unsupported (errno)) { int err = errno; va_list ap; /* use verror module to print error message */ va_start (ap, fmt); verror (0, err, fmt, ap); va_end (ap); } } static void copy_attr_allerror (struct error_context *ctx ATTRIBUTE_UNUSED, char const *fmt, ...) { int err = errno; va_list ap; /* use verror module to print error message */ va_start (ap, fmt); verror (0, err, fmt, ap); va_end (ap); } static char const * copy_attr_quote (struct error_context *ctx ATTRIBUTE_UNUSED, char const *str) { return quote (str); } static void copy_attr_free (struct error_context *ctx ATTRIBUTE_UNUSED, char const *str ATTRIBUTE_UNUSED) { } /* If positive SRC_FD and DST_FD descriptors are passed, then copy by fd, otherwise copy by name. */ static bool copy_attr (char const *src_path, int src_fd, char const *dst_path, int dst_fd, struct cp_options const *x) { int ret; bool all_errors = (!x->data_copy_required || x->require_preserve_xattr); bool some_errors = (!all_errors && !x->reduce_diagnostics); struct error_context ctx = { .error = all_errors ? copy_attr_allerror : copy_attr_error, .quote = copy_attr_quote, .quote_free = copy_attr_free }; if (0 <= src_fd && 0 <= dst_fd) ret = attr_copy_fd (src_path, src_fd, dst_path, dst_fd, 0, (all_errors || some_errors ? &ctx : NULL)); else ret = attr_copy_file (src_path, dst_path, 0, (all_errors || some_errors ? &ctx : NULL)); return ret == 0; } #else /* USE_XATTR */ static bool copy_attr (char const *src_path ATTRIBUTE_UNUSED, int src_fd ATTRIBUTE_UNUSED, char const *dst_path ATTRIBUTE_UNUSED, int dst_fd ATTRIBUTE_UNUSED, struct cp_options const *x ATTRIBUTE_UNUSED) { return true; } #endif /* USE_XATTR */ /* Read the contents of the directory SRC_NAME_IN, and recursively copy the contents to DST_NAME_IN. NEW_DST is true if DST_NAME_IN is a directory that was created previously in the recursion. SRC_SB and ANCESTORS describe SRC_NAME_IN. Set *COPY_INTO_SELF if SRC_NAME_IN is a parent of (or the same as) DST_NAME_IN; otherwise, clear it. Propagate *FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG from caller to each invocation of copy_internal. Be careful to pass the address of a temporary, and to update *FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG only upon completion. Return true if successful. */ static bool copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst, const struct stat *src_sb, struct dir_list *ancestors, const struct cp_options *x, bool *first_dir_created_per_command_line_arg, bool *copy_into_self) { char *name_space; char *namep; struct cp_options non_command_line_options = *x; bool ok = true; name_space = savedir (src_name_in); if (name_space == NULL) { /* This diagnostic is a bit vague because savedir can fail in several different ways. */ error (0, errno, _("cannot access %s"), quote (src_name_in)); return false; } /* For cp's -H option, dereference command line arguments, but do not dereference symlinks that are found via recursive traversal. */ if (x->dereference == DEREF_COMMAND_LINE_ARGUMENTS) non_command_line_options.dereference = DEREF_NEVER; bool new_first_dir_created = false; namep = name_space; while (*namep != '\0') { bool local_copy_into_self; char *src_name = file_name_concat (src_name_in, namep, NULL); char *dst_name = file_name_concat (dst_name_in, namep, NULL); bool first_dir_created = *first_dir_created_per_command_line_arg; ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev, ancestors, &non_command_line_options, false, &first_dir_created, &local_copy_into_self, NULL); *copy_into_self |= local_copy_into_self; free (dst_name); free (src_name); /* If we're copying into self, there's no point in continuing, and in fact, that would even infloop, now that we record only the first created directory per command line argument. */ if (local_copy_into_self) break; new_first_dir_created |= first_dir_created; namep += strlen (namep) + 1; } free (name_space); *first_dir_created_per_command_line_arg = new_first_dir_created; return ok; } /* Set the owner and owning group of DEST_DESC to the st_uid and st_gid fields of SRC_SB. If DEST_DESC is undefined (-1), set the owner and owning group of DST_NAME instead; for safety prefer lchown if the system supports it since no symbolic links should be involved. DEST_DESC must refer to the same file as DEST_NAME if defined. Upon failure to set both UID and GID, try to set only the GID. NEW_DST is true if the file was newly created; otherwise, DST_SB is the status of the destination. Return 1 if the initial syscall succeeds, 0 if it fails but it's OK not to preserve ownership, -1 otherwise. */ static int set_owner (const struct cp_options *x, char const *dst_name, int dest_desc, struct stat const *src_sb, bool new_dst, struct stat const *dst_sb) { uid_t uid = src_sb->st_uid; gid_t gid = src_sb->st_gid; /* Naively changing the ownership of an already-existing file before changing its permissions would create a window of vulnerability if the file's old permissions are too generous for the new owner and group. Avoid the window by first changing to a restrictive temporary mode if necessary. */ if (!new_dst && (x->preserve_mode || x->move_mode || x->set_mode)) { mode_t old_mode = dst_sb->st_mode; mode_t new_mode = (x->preserve_mode || x->move_mode ? src_sb->st_mode : x->mode); mode_t restrictive_temp_mode = old_mode & new_mode & S_IRWXU; if ((USE_ACL || (old_mode & CHMOD_MODE_BITS & (~new_mode | S_ISUID | S_ISGID | S_ISVTX))) && qset_acl (dst_name, dest_desc, restrictive_temp_mode) != 0) { if (! owner_failure_ok (x)) error (0, errno, _("clearing permissions for %s"), quote (dst_name)); return -x->require_preserve; } } if (HAVE_FCHOWN && dest_desc != -1) { if (fchown (dest_desc, uid, gid) == 0) return 1; if (errno == EPERM || errno == EINVAL) { /* We've failed to set *both*. Now, try to set just the group ID, but ignore any failure here, and don't change errno. */ int saved_errno = errno; ignore_value (fchown (dest_desc, -1, gid)); errno = saved_errno; } } else { if (lchown (dst_name, uid, gid) == 0) return 1; if (errno == EPERM || errno == EINVAL) { /* We've failed to set *both*. Now, try to set just the group ID, but ignore any failure here, and don't change errno. */ int saved_errno = errno; ignore_value (lchown (dst_name, -1, gid)); errno = saved_errno; } } if (! chown_failure_ok (x)) { error (0, errno, _("failed to preserve ownership for %s"), quote (dst_name)); if (x->require_preserve) return -1; } return 0; } /* Set the st_author field of DEST_DESC to the st_author field of SRC_SB. If DEST_DESC is undefined (-1), set the st_author field of DST_NAME instead. DEST_DESC must refer to the same file as DEST_NAME if defined. */ static void set_author (const char *dst_name, int dest_desc, const struct stat *src_sb) { #if HAVE_STRUCT_STAT_ST_AUTHOR /* FIXME: Modify the following code so that it does not follow symbolic links. */ /* Preserve the st_author field. */ file_t file = (dest_desc < 0 ? file_name_lookup (dst_name, 0, 0) : getdport (dest_desc)); if (file == MACH_PORT_NULL) error (0, errno, _("failed to lookup file %s"), quote (dst_name)); else { error_t err = file_chauthor (file, src_sb->st_author); if (err) error (0, err, _("failed to preserve authorship for %s"), quote (dst_name)); mach_port_deallocate (mach_task_self (), file); } #else (void) dst_name; (void) dest_desc; (void) src_sb; #endif } /* Change the file mode bits of the file identified by DESC or NAME to MODE. Use DESC if DESC is valid and fchmod is available, NAME otherwise. */ static int fchmod_or_lchmod (int desc, char const *name, mode_t mode) { #if HAVE_FCHMOD if (0 <= desc) return fchmod (desc, mode); #endif return lchmod (name, mode); } #ifndef HAVE_STRUCT_STAT_ST_BLOCKS # define HAVE_STRUCT_STAT_ST_BLOCKS 0 #endif /* Use a heuristic to determine whether stat buffer SB comes from a file with sparse blocks. If the file has fewer blocks than would normally be needed for a file of its size, then at least one of the blocks in the file is a hole. In that case, return true. */ static bool is_probably_sparse (struct stat const *sb) { return (HAVE_STRUCT_STAT_ST_BLOCKS && S_ISREG (sb->st_mode) && ST_NBLOCKS (*sb) < sb->st_size / ST_NBLOCKSIZE); } /* Copy a regular file from SRC_NAME to DST_NAME. If the source file contains holes, copies holes and blocks of zeros in the source file as holes in the destination file. (Holes are read as zeroes by the 'read' system call.) When creating the destination, use DST_MODE & ~OMITTED_PERMISSIONS as the third argument in the call to open, adding OMITTED_PERMISSIONS after copying as needed. X provides many option settings. Return true if successful. *NEW_DST is as in copy_internal. SRC_SB is the result of calling XSTAT (aka stat) on SRC_NAME. */ static bool copy_reg (char const *src_name, char const *dst_name, const struct cp_options *x, mode_t dst_mode, mode_t omitted_permissions, bool *new_dst, struct stat const *src_sb) { char *buf; char *buf_alloc = NULL; char *name_alloc = NULL; int dest_desc; int dest_errno; int source_desc; mode_t src_mode = src_sb->st_mode; struct stat sb; struct stat src_open_sb; bool return_val = true; bool data_copy_required = x->data_copy_required; source_desc = open (src_name, (O_RDONLY | O_BINARY | (x->dereference == DEREF_NEVER ? O_NOFOLLOW : 0))); if (source_desc < 0) { error (0, errno, _("cannot open %s for reading"), quote (src_name)); return false; } if (fstat (source_desc, &src_open_sb) != 0) { error (0, errno, _("cannot fstat %s"), quote (src_name)); return_val = false; goto close_src_desc; } /* Compare the source dev/ino from the open file to the incoming, saved ones obtained via a previous call to stat. */ if (! SAME_INODE (*src_sb, src_open_sb)) { error (0, 0, _("skipping file %s, as it was replaced while being copied"), quote (src_name)); return_val = false; goto close_src_desc; } /* The semantics of the following open calls are mandated by the specs for both cp and mv. */ if (! *new_dst) { int open_flags = O_WRONLY | O_BINARY | (x->data_copy_required ? O_TRUNC : 0); dest_desc = open (dst_name, open_flags); dest_errno = errno; /* When using cp --preserve=context to copy to an existing destination, use the default context rather than that of the source. Why? 1) the src context may prohibit writing, and 2) because it's more consistent to use the same context that is used when the destination file doesn't already exist. */ if (x->preserve_security_context && 0 <= dest_desc) { bool all_errors = (!x->data_copy_required || x->require_preserve_context); bool some_errors = !all_errors && !x->reduce_diagnostics; security_context_t con = NULL; if (getfscreatecon (&con) < 0) { if (all_errors || (some_errors && !errno_unsupported (errno))) error (0, errno, _("failed to get file system create context")); if (x->require_preserve_context) { return_val = false; goto close_src_and_dst_desc; } } if (con) { if (fsetfilecon (dest_desc, con) < 0) { if (all_errors || (some_errors && !errno_unsupported (errno))) error (0, errno, _("failed to set the security context of %s to %s"), quote_n (0, dst_name), quote_n (1, con)); if (x->require_preserve_context) { return_val = false; freecon (con); goto close_src_and_dst_desc; } } freecon (con); } } if (dest_desc < 0 && x->unlink_dest_after_failed_open) { if (unlink (dst_name) != 0) { error (0, errno, _("cannot remove %s"), quote (dst_name)); return_val = false; goto close_src_desc; } if (x->verbose) printf (_("removed %s\n"), quote (dst_name)); /* Tell caller that the destination file was unlinked. */ *new_dst = true; } } if (*new_dst) { open_with_O_CREAT:; int open_flags = O_WRONLY | O_CREAT | O_BINARY; dest_desc = open (dst_name, open_flags | O_EXCL, dst_mode & ~omitted_permissions); dest_errno = errno; /* When trying to copy through a dangling destination symlink, the above open fails with EEXIST. If that happens, and lstat'ing the DST_NAME shows that it is a symlink, then we have a problem: trying to resolve this dangling symlink to a directory/destination-entry pair is fundamentally racy, so punt. If x->open_dangling_dest_symlink is set (cp sets that when POSIXLY_CORRECT is set in the environment), simply call open again, but without O_EXCL (potentially dangerous). If not, fail with a diagnostic. These shenanigans are necessary only when copying, i.e., not in move_mode. */ if (dest_desc < 0 && dest_errno == EEXIST && ! x->move_mode) { struct stat dangling_link_sb; if (lstat (dst_name, &dangling_link_sb) == 0 && S_ISLNK (dangling_link_sb.st_mode)) { if (x->open_dangling_dest_symlink) { dest_desc = open (dst_name, open_flags, dst_mode & ~omitted_permissions); dest_errno = errno; } else { error (0, 0, _("not writing through dangling symlink %s"), quote (dst_name)); return_val = false; goto close_src_desc; } } } /* Improve quality of diagnostic when a nonexistent dst_name ends in a slash and open fails with errno == EISDIR. */ if (dest_desc < 0 && dest_errno == EISDIR && *dst_name && dst_name[strlen (dst_name) - 1] == '/') dest_errno = ENOTDIR; } else { omitted_permissions = 0; } if (dest_desc < 0) { /* If we've just failed due to ENOENT for an ostensibly preexisting destination (*new_dst was 0), that's a bit of a contradiction/race: the prior stat/lstat said the file existed (*new_dst was 0), yet the subsequent open-existing-file failed with ENOENT. With NFS, the race window is wider still, since its meta-data caching tends to make the stat succeed for a just-removed remote file, while the more-definitive initial open call will fail with ENOENT. When this situation arises, we attempt to open again, but this time with O_CREAT. Do this only when not in move-mode, since when handling a cross-device move, we must never open an existing destination. */ if (dest_errno == ENOENT && ! *new_dst && ! x->move_mode) { *new_dst = 1; goto open_with_O_CREAT; } /* Otherwise, it's an error. */ error (0, dest_errno, _("cannot create regular file %s"), quote (dst_name)); return_val = false; goto close_src_desc; } if (fstat (dest_desc, &sb) != 0) { error (0, errno, _("cannot fstat %s"), quote (dst_name)); return_val = false; goto close_src_and_dst_desc; } /* --attributes-only overrides --reflink. */ if (data_copy_required && x->reflink_mode) { bool clone_ok = clone_file (dest_desc, source_desc) == 0; if (clone_ok || x->reflink_mode == REFLINK_ALWAYS) { if (!clone_ok) { error (0, errno, _("failed to clone %s from %s"), quote_n (0, dst_name), quote_n (1, src_name)); return_val = false; goto close_src_and_dst_desc; } data_copy_required = false; } } if (data_copy_required) { typedef uintptr_t word; /* Choose a suitable buffer size; it may be adjusted later. */ size_t buf_alignment = lcm (getpagesize (), sizeof (word)); size_t buf_alignment_slop = sizeof (word) + buf_alignment - 1; size_t buf_size = io_blksize (sb); fdadvise (source_desc, 0, 0, FADVISE_SEQUENTIAL); /* Deal with sparse files. */ bool make_holes = false; bool sparse_src = false; if (S_ISREG (sb.st_mode)) { /* Even with --sparse=always, try to create holes only if the destination is a regular file. */ if (x->sparse_mode == SPARSE_ALWAYS) make_holes = true; /* Use a heuristic to determine whether SRC_NAME contains any sparse blocks. If the file has fewer blocks than would normally be needed for a file of its size, then at least one of the blocks in the file is a hole. */ sparse_src = is_probably_sparse (&src_open_sb); if (x->sparse_mode == SPARSE_AUTO && sparse_src) make_holes = true; } /* If not making a sparse file, try to use a more-efficient buffer size. */ if (! make_holes) { /* Compute the least common multiple of the input and output buffer sizes, adjusting for outlandish values. */ size_t blcm_max = MIN (SIZE_MAX, SSIZE_MAX) - buf_alignment_slop; size_t blcm = buffer_lcm (io_blksize (src_open_sb), buf_size, blcm_max); /* Do not bother with a buffer larger than the input file, plus one byte to make sure the file has not grown while reading it. */ if (S_ISREG (src_open_sb.st_mode) && src_open_sb.st_size < buf_size) buf_size = src_open_sb.st_size + 1; /* However, stick with a block size that is a positive multiple of blcm, overriding the above adjustments. Watch out for overflow. */ buf_size += blcm - 1; buf_size -= buf_size % blcm; if (buf_size == 0 || blcm_max < buf_size) buf_size = blcm; } /* Make a buffer with space for a sentinel at the end. */ buf_alloc = xmalloc (buf_size + buf_alignment_slop); buf = ptr_align (buf_alloc, buf_alignment); if (sparse_src) { bool normal_copy_required; /* Perform an efficient extent-based copy, falling back to the standard copy only if the initial extent scan fails. If the '--sparse=never' option is specified, write all data but use any extents to read more efficiently. */ if (extent_copy (source_desc, dest_desc, buf, buf_size, src_open_sb.st_size, S_ISREG (sb.st_mode) ? x->sparse_mode : SPARSE_NEVER, src_name, dst_name, &normal_copy_required)) goto preserve_metadata; if (! normal_copy_required) { return_val = false; goto close_src_and_dst_desc; } } off_t n_read; bool wrote_hole_at_eof; if ( ! sparse_copy (source_desc, dest_desc, buf, buf_size, make_holes, src_name, dst_name, UINTMAX_MAX, &n_read, &wrote_hole_at_eof) || (wrote_hole_at_eof && ftruncate (dest_desc, n_read) < 0)) { error (0, errno, _("failed to extend %s"), quote (dst_name)); return_val = false; goto close_src_and_dst_desc; } } preserve_metadata: if (x->preserve_timestamps) { struct timespec timespec[2]; timespec[0] = get_stat_atime (src_sb); timespec[1] = get_stat_mtime (src_sb); if (fdutimens (dest_desc, dst_name, timespec) != 0) { error (0, errno, _("preserving times for %s"), quote (dst_name)); if (x->require_preserve) { return_val = false; goto close_src_and_dst_desc; } } } /* Set ownership before xattrs as changing owners will clear capabilities. */ if (x->preserve_ownership && ! SAME_OWNER_AND_GROUP (*src_sb, sb)) { switch (set_owner (x, dst_name, dest_desc, src_sb, *new_dst, &sb)) { case -1: return_val = false; goto close_src_and_dst_desc; case 0: src_mode &= ~ (S_ISUID | S_ISGID | S_ISVTX); break; } } /* To allow copying xattrs on read-only files, temporarily chmod u+rw. This workaround is required as an inode permission check is done by xattr_permission() in fs/xattr.c of the GNU/Linux kernel tree. */ if (x->preserve_xattr) { bool access_changed = false; if (!(sb.st_mode & S_IWUSR) && geteuid () != 0) access_changed = fchmod_or_lchmod (dest_desc, dst_name, 0600) == 0; if (!copy_attr (src_name, source_desc, dst_name, dest_desc, x) && x->require_preserve_xattr) return_val = false; if (access_changed) fchmod_or_lchmod (dest_desc, dst_name, dst_mode & ~omitted_permissions); } set_author (dst_name, dest_desc, src_sb); if (x->preserve_mode || x->move_mode) { if (copy_acl (src_name, source_desc, dst_name, dest_desc, src_mode) != 0 && x->require_preserve) return_val = false; } else if (x->set_mode) { if (set_acl (dst_name, dest_desc, x->mode) != 0) return_val = false; } else if (x->explicit_no_preserve_mode) { if (set_acl (dst_name, dest_desc, 0666 & ~cached_umask ()) != 0) return_val = false; } else if (omitted_permissions) { omitted_permissions &= ~ cached_umask (); if (omitted_permissions && fchmod_or_lchmod (dest_desc, dst_name, dst_mode) != 0) { error (0, errno, _("preserving permissions for %s"), quote (dst_name)); if (x->require_preserve) return_val = false; } } close_src_and_dst_desc: if (close (dest_desc) < 0) { error (0, errno, _("failed to close %s"), quote (dst_name)); return_val = false; } close_src_desc: if (close (source_desc) < 0) { error (0, errno, _("failed to close %s"), quote (src_name)); return_val = false; } free (buf_alloc); free (name_alloc); return return_val; } /* Return true if it's ok that the source and destination files are the 'same' by some measure. The goal is to avoid making the 'copy' operation remove both copies of the file in that case, while still allowing the user to e.g., move or copy a regular file onto a symlink that points to it. Try to minimize the cost of this function in the common case. Set *RETURN_NOW if we've determined that the caller has no more work to do and should return successfully, right away. Set *UNLINK_SRC if we've determined that the caller wants to do 'rename (a, b)' where 'a' and 'b' are distinct hard links to the same file. In that case, the caller should try to unlink 'a' and then return successfully. Ideally, we wouldn't have to do that, and we'd be able to rely on rename to remove the source file. However, POSIX mistakenly requires that such a rename call do *nothing* and return successfully. */ static bool same_file_ok (char const *src_name, struct stat const *src_sb, char const *dst_name, struct stat const *dst_sb, const struct cp_options *x, bool *return_now, bool *unlink_src) { const struct stat *src_sb_link; const struct stat *dst_sb_link; struct stat tmp_dst_sb; struct stat tmp_src_sb; bool same_link; bool same = SAME_INODE (*src_sb, *dst_sb); *return_now = false; *unlink_src = false; /* FIXME: this should (at the very least) be moved into the following if-block. More likely, it should be removed, because it inhibits making backups. But removing it will result in a change in behavior that will probably have to be documented -- and tests will have to be updated. */ if (same && x->hard_link) { *return_now = true; return true; } if (x->dereference == DEREF_NEVER) { same_link = same; /* If both the source and destination files are symlinks (and we'll know this here IFF preserving symlinks), then it's usually ok when they are distinct. */ if (S_ISLNK (src_sb->st_mode) && S_ISLNK (dst_sb->st_mode)) { bool sn = same_name (src_name, dst_name); if ( ! sn) { /* It's fine when we're making any type of backup. */ if (x->backup_type != no_backups) return true; /* Here we have two symlinks that are hard-linked together, and we're not making backups. In this unusual case, simply returning true would lead to mv calling "rename(A,B)", which would do nothing and return 0. I.e., A would not be removed. Hence, the solution is to tell the caller that all it must do is unlink A and return. */ if (same_link) { *unlink_src = true; *return_now = true; return true; } } return ! sn; } src_sb_link = src_sb; dst_sb_link = dst_sb; } else { if (!same) return true; if (lstat (dst_name, &tmp_dst_sb) != 0 || lstat (src_name, &tmp_src_sb) != 0) return true; src_sb_link = &tmp_src_sb; dst_sb_link = &tmp_dst_sb; same_link = SAME_INODE (*src_sb_link, *dst_sb_link); /* If both are symlinks, then it's ok, but only if the destination will be unlinked before being opened. This is like the test above, but with the addition of the unlink_dest_before_opening conjunct because otherwise, with two symlinks to the same target, we'd end up truncating the source file. */ if (S_ISLNK (src_sb_link->st_mode) && S_ISLNK (dst_sb_link->st_mode) && x->unlink_dest_before_opening) return true; } /* The backup code ensures there's a copy, so it's usually ok to remove any destination file. One exception is when both source and destination are the same directory entry. In that case, moving the destination file aside (in making the backup) would also rename the source file and result in an error. */ if (x->backup_type != no_backups) { if (!same_link) { /* In copy mode when dereferencing symlinks, if the source is a symlink and the dest is not, then backing up the destination (moving it aside) would make it a dangling symlink, and the subsequent attempt to open it in copy_reg would fail with a misleading diagnostic. Avoid that by returning zero in that case so the caller can make cp (or mv when it has to resort to reading the source file) fail now. */ /* FIXME-note: even with the following kludge, we can still provoke the offending diagnostic. It's just a little harder to do :-) $ rm -f a b c; touch c; ln -s c b; ln -s b a; cp -b a b cp: cannot open 'a' for reading: No such file or directory That's misleading, since a subsequent 'ls' shows that 'a' is still there. One solution would be to open the source file *before* moving aside the destination, but that'd involve a big rewrite. */ if ( ! x->move_mode && x->dereference != DEREF_NEVER && S_ISLNK (src_sb_link->st_mode) && ! S_ISLNK (dst_sb_link->st_mode)) return false; return true; } return ! same_name (src_name, dst_name); } #if 0 /* FIXME: use or remove */ /* If we're making a backup, we'll detect the problem case in copy_reg because SRC_NAME will no longer exist. Allowing the test to be deferred lets cp do some useful things. But when creating hardlinks and SRC_NAME is a symlink but DST_NAME is not we must test anyway. */ if (x->hard_link || !S_ISLNK (src_sb_link->st_mode) || S_ISLNK (dst_sb_link->st_mode)) return true; if (x->dereference != DEREF_NEVER) return true; #endif /* They may refer to the same file if we're in move mode and the target is a symlink. That is ok, since we remove any existing destination file before opening it -- via 'rename' if they're on the same file system, via 'unlink (DST_NAME)' otherwise. It's also ok if they're distinct hard links to the same file. */ if (x->move_mode || x->unlink_dest_before_opening) { if (S_ISLNK (dst_sb_link->st_mode)) return true; if (same_link && 1 < dst_sb_link->st_nlink && ! same_name (src_name, dst_name)) { if (x->move_mode) { *unlink_src = true; *return_now = true; } return true; } } /* If neither is a symlink, then it's ok as long as they aren't hard links to the same file. */ if (!S_ISLNK (src_sb_link->st_mode) && !S_ISLNK (dst_sb_link->st_mode)) { if (!SAME_INODE (*src_sb_link, *dst_sb_link)) return true; /* If they are the same file, it's ok if we're making hard links. */ if (x->hard_link) { *return_now = true; return true; } } /* At this point, it is normally an error (data loss) to move a symlink onto its referent, but in at least one narrow case, it is not: In move mode, when 1) src is a symlink, 2) dest has a link count of 2 or more and 3) dest and the referent of src are not the same directory entry, then it's ok, since while we'll lose one of those hard links, src will still point to a remaining link. Note that technically, condition #3 obviates condition #2, but we retain the 1 < st_nlink condition because that means fewer invocations of the more expensive #3. Given this, $ touch f && ln f l && ln -s f s $ ls -og f l s -rw-------. 2 0 Jan 4 22:46 f -rw-------. 2 0 Jan 4 22:46 l lrwxrwxrwx. 1 1 Jan 4 22:46 s -> f this must fail: mv s f this must succeed: mv s l */ if (x->move_mode && S_ISLNK (src_sb->st_mode) && 1 < dst_sb_link->st_nlink) { char *abs_src = canonicalize_file_name (src_name); if (abs_src) { bool result = ! same_name (abs_src, dst_name); free (abs_src); return result; } } /* It's ok to remove a destination symlink. But that works only when we unlink before opening the destination and when the source and destination files are on the same partition. */ if (x->unlink_dest_before_opening && S_ISLNK (dst_sb_link->st_mode)) return dst_sb_link->st_dev == src_sb_link->st_dev; if (x->dereference == DEREF_NEVER) { if ( ! S_ISLNK (src_sb_link->st_mode)) tmp_src_sb = *src_sb_link; else if (stat (src_name, &tmp_src_sb) != 0) return true; if ( ! S_ISLNK (dst_sb_link->st_mode)) tmp_dst_sb = *dst_sb_link; else if (stat (dst_name, &tmp_dst_sb) != 0) return true; if ( ! SAME_INODE (tmp_src_sb, tmp_dst_sb)) return true; /* FIXME: shouldn't this be testing whether we're making symlinks? */ if (x->hard_link) { *return_now = true; return true; } } return false; } /* Return true if FILE, with mode MODE, is writable in the sense of 'mv'. Always consider a symbolic link to be writable. */ static bool writable_destination (char const *file, mode_t mode) { return (S_ISLNK (mode) || can_write_any_file () || euidaccess (file, W_OK) == 0); } static void overwrite_prompt (char const *dst_name, struct stat const *dst_sb) { if (! writable_destination (dst_name, dst_sb->st_mode)) { char perms[12]; /* "-rwxrwxrwx " ls-style modes. */ strmode (dst_sb->st_mode, perms); perms[10] = '\0'; fprintf (stderr, _("%s: try to overwrite %s, overriding mode %04lo (%s)? "), program_name, quote (dst_name), (unsigned long int) (dst_sb->st_mode & CHMOD_MODE_BITS), &perms[1]); } else { fprintf (stderr, _("%s: overwrite %s? "), program_name, quote (dst_name)); } } /* Initialize the hash table implementing a set of F_triple entries corresponding to destination files. */ extern void dest_info_init (struct cp_options *x) { x->dest_info = hash_initialize (DEST_INFO_INITIAL_CAPACITY, NULL, triple_hash, triple_compare, triple_free); } /* Initialize the hash table implementing a set of F_triple entries corresponding to source files listed on the command line. */ extern void src_info_init (struct cp_options *x) { /* Note that we use triple_hash_no_name here. Contrast with the use of triple_hash above. That is necessary because a source file may be specified in many different ways. We want to warn about this cp a a d/ as well as this: cp a ./a d/ */ x->src_info = hash_initialize (DEST_INFO_INITIAL_CAPACITY, NULL, triple_hash_no_name, triple_compare, triple_free); } /* When effecting a move (e.g., for mv(1)), and given the name DST_NAME of the destination and a corresponding stat buffer, DST_SB, return true if the logical 'move' operation should _not_ proceed. Otherwise, return false. Depending on options specified in X, this code may issue an interactive prompt asking whether it's ok to overwrite DST_NAME. */ static bool abandon_move (const struct cp_options *x, char const *dst_name, struct stat const *dst_sb) { assert (x->move_mode); return (x->interactive == I_ALWAYS_NO || ((x->interactive == I_ASK_USER || (x->interactive == I_UNSPECIFIED && x->stdin_tty && ! writable_destination (dst_name, dst_sb->st_mode))) && (overwrite_prompt (dst_name, dst_sb), 1) && ! yesno ())); } /* Print --verbose output on standard output, e.g. 'new' -> 'old'. If BACKUP_DST_NAME is non-NULL, then also indicate that it is the name of a backup file. */ static void emit_verbose (char const *src, char const *dst, char const *backup_dst_name) { printf ("%s -> %s", quote_n (0, src), quote_n (1, dst)); if (backup_dst_name) printf (_(" (backup: %s)"), quote (backup_dst_name)); putchar ('\n'); } /* A wrapper around "setfscreatecon (NULL)" that exits upon failure. */ static void restore_default_fscreatecon_or_die (void) { if (setfscreatecon (NULL) != 0) error (EXIT_FAILURE, errno, _("failed to restore the default file creation context")); } /* Create a hard link DST_NAME to SRC_NAME, honoring the REPLACE and VERBOSE settings. Return true upon success. Otherwise, diagnose the failure and return false. If SRC_NAME is a symbolic link it will not be followed. If the system doesn't support hard links to symbolic links, then DST_NAME will be created as a symbolic link to SRC_NAME. */ static bool create_hard_link (char const *src_name, char const *dst_name, bool replace, bool verbose) { /* We want to guarantee that symlinks are not followed. */ bool link_failed = (linkat (AT_FDCWD, src_name, AT_FDCWD, dst_name, 0) != 0); /* If the link failed because of an existing destination, remove that file and then call link again. */ if (link_failed && replace && errno == EEXIST) { if (unlink (dst_name) != 0) { error (0, errno, _("cannot remove %s"), quote (dst_name)); return false; } if (verbose) printf (_("removed %s\n"), quote (dst_name)); link_failed = (linkat (AT_FDCWD, src_name, AT_FDCWD, dst_name, 0) != 0); } if (link_failed) { error (0, errno, _("cannot create hard link %s to %s"), quote_n (0, dst_name), quote_n (1, src_name)); return false; } return true; } /* Copy the file SRC_NAME to the file DST_NAME. The files may be of any type. NEW_DST should be true if the file DST_NAME cannot exist because its parent directory was just created; NEW_DST should be false if DST_NAME might already exist. DEVICE is the device number of the parent directory, or 0 if the parent of this file is not known. ANCESTORS points to a linked, null terminated list of devices and inodes of parent directories of SRC_NAME. COMMAND_LINE_ARG is true iff SRC_NAME was specified on the command line. FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output. Set *COPY_INTO_SELF if SRC_NAME is a parent of (or the same as) DST_NAME; otherwise, clear it. Return true if successful. */ static bool copy_internal (char const *src_name, char const *dst_name, bool new_dst, dev_t device, struct dir_list *ancestors, const struct cp_options *x, bool command_line_arg, bool *first_dir_created_per_command_line_arg, bool *copy_into_self, bool *rename_succeeded) { struct stat src_sb; struct stat dst_sb; mode_t src_mode; mode_t dst_mode IF_LINT ( = 0); mode_t dst_mode_bits; mode_t omitted_permissions; bool restore_dst_mode = false; char *earlier_file = NULL; char *dst_backup = NULL; bool backup_succeeded = false; bool delayed_ok; bool copied_as_regular = false; bool dest_is_symlink = false; bool have_dst_lstat = false; if (x->move_mode && rename_succeeded) *rename_succeeded = false; *copy_into_self = false; if (XSTAT (x, src_name, &src_sb) != 0) { error (0, errno, _("cannot stat %s"), quote (src_name)); return false; } src_mode = src_sb.st_mode; if (S_ISDIR (src_mode) && !x->recursive) { error (0, 0, _("omitting directory %s"), quote (src_name)); return false; } /* Detect the case in which the same source file appears more than once on the command line and no backup option has been selected. If so, simply warn and don't copy it the second time. This check is enabled only if x->src_info is non-NULL. */ if (command_line_arg) { if ( ! S_ISDIR (src_sb.st_mode) && x->backup_type == no_backups && seen_file (x->src_info, src_name, &src_sb)) { error (0, 0, _("warning: source file %s specified more than once"), quote (src_name)); return true; } record_file (x->src_info, src_name, &src_sb); } if (!new_dst) { /* Regular files can be created by writing through symbolic links, but other files cannot. So use stat on the destination when copying a regular file, and lstat otherwise. However, if we intend to unlink or remove the destination first, use lstat, since a copy won't actually be made to the destination in that case. */ bool use_stat = ((S_ISREG (src_mode) || (x->copy_as_regular && ! (S_ISDIR (src_mode) || S_ISLNK (src_mode)))) && ! (x->move_mode || x->symbolic_link || x->hard_link || x->backup_type != no_backups || x->unlink_dest_before_opening)); if ((use_stat ? stat (dst_name, &dst_sb) : lstat (dst_name, &dst_sb)) != 0) { if (errno != ENOENT) { error (0, errno, _("cannot stat %s"), quote (dst_name)); return false; } else { new_dst = true; } } else { /* Here, we know that dst_name exists, at least to the point that it is stat'able or lstat'able. */ bool return_now; bool unlink_src; have_dst_lstat = !use_stat; if (! same_file_ok (src_name, &src_sb, dst_name, &dst_sb, x, &return_now, &unlink_src)) { error (0, 0, _("%s and %s are the same file"), quote_n (0, src_name), quote_n (1, dst_name)); return false; } if (!S_ISDIR (src_mode) && x->update) { /* When preserving time stamps (but not moving within a file system), don't worry if the destination time stamp is less than the source merely because of time stamp truncation. */ int options = ((x->preserve_timestamps && ! (x->move_mode && dst_sb.st_dev == src_sb.st_dev)) ? UTIMECMP_TRUNCATE_SOURCE : 0); if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options)) { /* We're using --update and the destination is not older than the source, so do not copy or move. Pretend the rename succeeded, so the caller (if it's mv) doesn't end up removing the source file. */ if (rename_succeeded) *rename_succeeded = true; /* However, we still must record that we've processed this src/dest pair, in case this source file is hard-linked to another one. In that case, we'll use the mapping information to link the corresponding destination names. */ earlier_file = remember_copied (dst_name, src_sb.st_ino, src_sb.st_dev); if (earlier_file) { /* Note we currently replace DST_NAME unconditionally, even if it was a newer separate file. */ if (! create_hard_link (earlier_file, dst_name, true, x->verbose)) { goto un_backup; } } return true; } } /* When there is an existing destination file, we may end up returning early, and hence not copying/moving the file. This may be due to an interactive 'negative' reply to the prompt about the existing file. It may also be due to the use of the --reply=no option. cp and mv treat -i and -f differently. */ if (x->move_mode) { if (abandon_move (x, dst_name, &dst_sb) || (unlink_src && unlink (src_name) == 0)) { /* Pretend the rename succeeded, so the caller (mv) doesn't end up removing the source file. */ if (rename_succeeded) *rename_succeeded = true; if (unlink_src && x->verbose) printf (_("removed %s\n"), quote (src_name)); return true; } if (unlink_src) { error (0, errno, _("cannot remove %s"), quote (src_name)); return false; } } else { if (! S_ISDIR (src_mode) && (x->interactive == I_ALWAYS_NO || (x->interactive == I_ASK_USER && (overwrite_prompt (dst_name, &dst_sb), 1) && ! yesno ()))) return true; } if (return_now) return true; if (!S_ISDIR (dst_sb.st_mode)) { if (S_ISDIR (src_mode)) { if (x->move_mode && x->backup_type != no_backups) { /* Moving a directory onto an existing non-directory is ok only with --backup. */ } else { error (0, 0, _("cannot overwrite non-directory %s with directory %s"), quote_n (0, dst_name), quote_n (1, src_name)); return false; } } /* Don't let the user destroy their data, even if they try hard: This mv command must fail (likewise for cp): rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c Otherwise, the contents of b/f would be lost. In the case of 'cp', b/f would be lost if the user simulated a move using cp and rm. Note that it works fine if you use --backup=numbered. */ if (command_line_arg && x->backup_type != numbered_backups && seen_file (x->dest_info, dst_name, &dst_sb)) { error (0, 0, _("will not overwrite just-created %s with %s"), quote_n (0, dst_name), quote_n (1, src_name)); return false; } } if (!S_ISDIR (src_mode)) { if (S_ISDIR (dst_sb.st_mode)) { if (x->move_mode && x->backup_type != no_backups) { /* Moving a non-directory onto an existing directory is ok only with --backup. */ } else { error (0, 0, _("cannot overwrite directory %s with non-directory"), quote (dst_name)); return false; } } } if (x->move_mode) { /* Don't allow user to move a directory onto a non-directory. */ if (S_ISDIR (src_sb.st_mode) && !S_ISDIR (dst_sb.st_mode) && x->backup_type == no_backups) { error (0, 0, _("cannot move directory onto non-directory: %s -> %s"), quote_n (0, src_name), quote_n (0, dst_name)); return false; } } if (x->backup_type != no_backups /* Don't try to back up a destination if the last component of src_name is "." or "..". */ && ! dot_or_dotdot (last_component (src_name)) /* Create a backup of each destination directory in move mode, but not in copy mode. FIXME: it might make sense to add an option to suppress backup creation also for move mode. That would let one use mv to merge new content into an existing hierarchy. */ && (x->move_mode || ! S_ISDIR (dst_sb.st_mode))) { char *tmp_backup = find_backup_file_name (dst_name, x->backup_type); /* Detect (and fail) when creating the backup file would destroy the source file. Before, running the commands cd /tmp; rm -f a a~; : > a; echo A > a~; cp --b=simple a~ a would leave two zero-length files: a and a~. */ /* FIXME: but simply change e.g., the final a~ to './a~' and the source will still be destroyed. */ if (STREQ (tmp_backup, src_name)) { const char *fmt; fmt = (x->move_mode ? _("backing up %s would destroy source; %s not moved") : _("backing up %s would destroy source; %s not copied")); error (0, 0, fmt, quote_n (0, dst_name), quote_n (1, src_name)); free (tmp_backup); return false; } /* FIXME: use fts: Using alloca for a file name that may be arbitrarily long is not recommended. In fact, even forming such a name should be discouraged. Eventually, this code will be rewritten to use fts, so using alloca here will be less of a problem. */ ASSIGN_STRDUPA (dst_backup, tmp_backup); free (tmp_backup); /* In move mode, when src_name and dst_name are on the same partition (FIXME, and when they are non-directories), make the operation atomic: link dest to backup, then rename src to dest. */ if (rename (dst_name, dst_backup) != 0) { if (errno != ENOENT) { error (0, errno, _("cannot backup %s"), quote (dst_name)); return false; } else { dst_backup = NULL; } } else { backup_succeeded = true; } new_dst = true; } else if (! S_ISDIR (dst_sb.st_mode) /* Never unlink dst_name when in move mode. */ && ! x->move_mode && (x->unlink_dest_before_opening || (x->preserve_links && 1 < dst_sb.st_nlink) || (x->dereference == DEREF_NEVER && ! S_ISREG (src_sb.st_mode)) )) { if (unlink (dst_name) != 0 && errno != ENOENT) { error (0, errno, _("cannot remove %s"), quote (dst_name)); return false; } new_dst = true; if (x->verbose) printf (_("removed %s\n"), quote (dst_name)); } } } /* Ensure we don't try to copy through a symlink that was created by a prior call to this function. */ if (command_line_arg && x->dest_info && ! x->move_mode && x->backup_type == no_backups) { bool lstat_ok = true; struct stat tmp_buf; struct stat *dst_lstat_sb; /* If we called lstat above, good: use that data. Otherwise, call lstat here, in case dst_name is a symlink. */ if (have_dst_lstat) dst_lstat_sb = &dst_sb; else { if (lstat (dst_name, &tmp_buf) == 0) dst_lstat_sb = &tmp_buf; else lstat_ok = false; } /* Never copy through a symlink we've just created. */ if (lstat_ok && S_ISLNK (dst_lstat_sb->st_mode) && seen_file (x->dest_info, dst_name, dst_lstat_sb)) { error (0, 0, _("will not copy %s through just-created symlink %s"), quote_n (0, src_name), quote_n (1, dst_name)); return false; } } /* If the source is a directory, we don't always create the destination directory. So --verbose should not announce anything until we're sure we'll create a directory. */ if (x->verbose && !S_ISDIR (src_mode)) emit_verbose (src_name, dst_name, backup_succeeded ? dst_backup : NULL); /* Associate the destination file name with the source device and inode so that if we encounter a matching dev/ino pair in the source tree we can arrange to create a hard link between the corresponding names in the destination tree. When using the --link (-l) option, there is no need to take special measures, because (barring race conditions) files that are hard-linked in the source tree will also be hard-linked in the destination tree. Sometimes, when preserving links, we have to record dev/ino even though st_nlink == 1: - when in move_mode, since we may be moving a group of N hard-linked files (via two or more command line arguments) to a different partition; the links may be distributed among the command line arguments (possibly hierarchies) so that the link count of the final, once-linked source file is reduced to 1 when it is considered below. But in this case (for mv) we don't need to incur the expense of recording the dev/ino => name mapping; all we really need is a lookup, to see if the dev/ino pair has already been copied. - when using -H and processing a command line argument; that command line argument could be a symlink pointing to another command line argument. With 'cp -H --preserve=link', we hard-link those two destination files. - likewise for -L except that it applies to all files, not just command line arguments. Also, with --recursive, record dev/ino of each command-line directory. We'll use that info to detect this problem: cp -R dir dir. */ if (x->move_mode && src_sb.st_nlink == 1) { earlier_file = src_to_dest_lookup (src_sb.st_ino, src_sb.st_dev); } else if (x->preserve_links && !x->hard_link && (1 < src_sb.st_nlink || (command_line_arg && x->dereference == DEREF_COMMAND_LINE_ARGUMENTS) || x->dereference == DEREF_ALWAYS)) { earlier_file = remember_copied (dst_name, src_sb.st_ino, src_sb.st_dev); } else if (x->recursive && S_ISDIR (src_mode)) { if (command_line_arg) earlier_file = remember_copied (dst_name, src_sb.st_ino, src_sb.st_dev); else earlier_file = src_to_dest_lookup (src_sb.st_ino, src_sb.st_dev); } /* Did we copy this inode somewhere else (in this command line argument) and therefore this is a second hard link to the inode? */ if (earlier_file) { /* Avoid damaging the destination file system by refusing to preserve hard-linked directories (which are found at least in Netapp snapshot directories). */ if (S_ISDIR (src_mode)) { /* If src_name and earlier_file refer to the same directory entry, then warn about copying a directory into itself. */ if (same_name (src_name, earlier_file)) { error (0, 0, _("cannot copy a directory, %s, into itself, %s"), quote_n (0, top_level_src_name), quote_n (1, top_level_dst_name)); *copy_into_self = true; goto un_backup; } else if (x->dereference == DEREF_ALWAYS) { /* This happens when e.g., encountering a directory for the second or subsequent time via symlinks when cp is invoked with -R and -L. E.g., rm -rf a b c d; mkdir a b c d; ln -s ../c a; ln -s ../c b; cp -RL a b d */ } else { error (0, 0, _("will not create hard link %s to directory %s"), quote_n (0, dst_name), quote_n (1, earlier_file)); goto un_backup; } } else { if (! create_hard_link (earlier_file, dst_name, true, x->verbose)) goto un_backup; return true; } } if (x->move_mode) { if (rename (src_name, dst_name) == 0) { if (x->verbose && S_ISDIR (src_mode)) emit_verbose (src_name, dst_name, backup_succeeded ? dst_backup : NULL); if (rename_succeeded) *rename_succeeded = true; if (command_line_arg) { /* Record destination dev/ino/name, so that if we are asked to overwrite that file again, we can detect it and fail. */ /* It's fine to use the _source_ stat buffer (src_sb) to get the _destination_ dev/ino, since the rename above can't have changed those, and 'mv' always uses lstat. We could limit it further by operating only on non-directories. */ record_file (x->dest_info, dst_name, &src_sb); } return true; } /* FIXME: someday, consider what to do when moving a directory into itself but when source and destination are on different devices. */ /* This happens when attempting to rename a directory to a subdirectory of itself. */ if (errno == EINVAL) { /* FIXME: this is a little fragile in that it relies on rename(2) failing with a specific errno value. Expect problems on non-POSIX systems. */ error (0, 0, _("cannot move %s to a subdirectory of itself, %s"), quote_n (0, top_level_src_name), quote_n (1, top_level_dst_name)); /* Note that there is no need to call forget_created here, (compare with the other calls in this file) since the destination directory didn't exist before. */ *copy_into_self = true; /* FIXME-cleanup: Don't return true here; adjust mv.c accordingly. The only caller that uses this code (mv.c) ends up setting its exit status to nonzero when copy_into_self is nonzero. */ return true; } /* WARNING: there probably exist systems for which an inter-device rename fails with a value of errno not handled here. If/as those are reported, add them to the condition below. If this happens to you, please do the following and send the output to the bug-reporting address (e.g., in the output of cp --help): touch k; perl -e 'rename "k","/tmp/k" or print "$!(",$!+0,")\n"' where your current directory is on one partion and /tmp is the other. Also, please try to find the E* errno macro name corresponding to the diagnostic and parenthesized integer, and include that in your e-mail. One way to do that is to run a command like this find /usr/include/. -type f \ | xargs grep 'define.*\.*\<18\>' /dev/null where you'd replace '18' with the integer in parentheses that was output from the perl one-liner above. If necessary, of course, change '/tmp' to some other directory. */ if (errno != EXDEV) { /* There are many ways this can happen due to a race condition. When something happens between the initial XSTAT and the subsequent rename, we can get many different types of errors. For example, if the destination is initially a non-directory or non-existent, but it is created as a directory, the rename fails. If two 'mv' commands try to rename the same file at about the same time, one will succeed and the other will fail. If the permissions on the directory containing the source or destination file are made too restrictive, the rename will fail. Etc. */ error (0, errno, _("cannot move %s to %s"), quote_n (0, src_name), quote_n (1, dst_name)); forget_created (src_sb.st_ino, src_sb.st_dev); return false; } /* The rename attempt has failed. Remove any existing destination file so that a cross-device 'mv' acts as if it were really using the rename syscall. */ if (unlink (dst_name) != 0 && errno != ENOENT) { error (0, errno, _("inter-device move failed: %s to %s; unable to remove target"), quote_n (0, src_name), quote_n (1, dst_name)); forget_created (src_sb.st_ino, src_sb.st_dev); return false; } new_dst = true; } /* If the ownership might change, or if it is a directory (whose special mode bits may change after the directory is created), omit some permissions at first, so unauthorized users cannot nip in before the file is ready. */ dst_mode_bits = (x->set_mode ? x->mode : src_mode) & CHMOD_MODE_BITS; omitted_permissions = (dst_mode_bits & (x->preserve_ownership ? S_IRWXG | S_IRWXO : S_ISDIR (src_mode) ? S_IWGRP | S_IWOTH : 0)); delayed_ok = true; if (x->preserve_security_context) { bool all_errors = !x->data_copy_required || x->require_preserve_context; bool some_errors = !all_errors && !x->reduce_diagnostics; security_context_t con; if (0 <= lgetfilecon (src_name, &con)) { if (setfscreatecon (con) < 0) { if (all_errors || (some_errors && !errno_unsupported (errno))) error (0, errno, _("failed to set default file creation context to %s"), quote (con)); if (x->require_preserve_context) { freecon (con); return false; } } freecon (con); } else { if (all_errors || (some_errors && !errno_unsupported (errno))) { error (0, errno, _("failed to get security context of %s"), quote (src_name)); } if (x->require_preserve_context) return false; } } if (S_ISDIR (src_mode)) { struct dir_list *dir; /* If this directory has been copied before during the recursion, there is a symbolic link to an ancestor directory of the symbolic link. It is impossible to continue to copy this, unless we've got an infinite disk. */ if (is_ancestor (&src_sb, ancestors)) { error (0, 0, _("cannot copy cyclic symbolic link %s"), quote (src_name)); goto un_backup; } /* Insert the current directory in the list of parents. */ dir = alloca (sizeof *dir); dir->parent = ancestors; dir->ino = src_sb.st_ino; dir->dev = src_sb.st_dev; if (new_dst || !S_ISDIR (dst_sb.st_mode)) { /* POSIX says mkdir's behavior is implementation-defined when (src_mode & ~S_IRWXUGO) != 0. However, common practice is to ask mkdir to copy all the CHMOD_MODE_BITS, letting mkdir decide what to do with S_ISUID | S_ISGID | S_ISVTX. */ if (mkdir (dst_name, dst_mode_bits & ~omitted_permissions) != 0) { error (0, errno, _("cannot create directory %s"), quote (dst_name)); goto un_backup; } /* We need search and write permissions to the new directory for writing the directory's contents. Check if these permissions are there. */ if (lstat (dst_name, &dst_sb) != 0) { error (0, errno, _("cannot stat %s"), quote (dst_name)); goto un_backup; } else if ((dst_sb.st_mode & S_IRWXU) != S_IRWXU) { /* Make the new directory searchable and writable. */ dst_mode = dst_sb.st_mode; restore_dst_mode = true; if (lchmod (dst_name, dst_mode | S_IRWXU) != 0) { error (0, errno, _("setting permissions for %s"), quote (dst_name)); goto un_backup; } } /* Record the created directory's inode and device numbers into the search structure, so that we can avoid copying it again. Do this only for the first directory that is created for each source command line argument. */ if (!*first_dir_created_per_command_line_arg) { remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); *first_dir_created_per_command_line_arg = true; } if (x->verbose) emit_verbose (src_name, dst_name, NULL); } else { omitted_permissions = 0; } /* Decide whether to copy the contents of the directory. */ if (x->one_file_system && device != 0 && device != src_sb.st_dev) { /* Here, we are crossing a file system boundary and cp's -x option is in effect: so don't copy the contents of this directory. */ } else { /* Copy the contents of the directory. Don't just return if this fails -- otherwise, the failure to read a single file in a source directory would cause the containing destination directory not to have owner/perms set properly. */ delayed_ok = copy_dir (src_name, dst_name, new_dst, &src_sb, dir, x, first_dir_created_per_command_line_arg, copy_into_self); } } else if (x->symbolic_link) { dest_is_symlink = true; if (*src_name != '/') { /* Check that DST_NAME denotes a file in the current directory. */ struct stat dot_sb; struct stat dst_parent_sb; char *dst_parent; bool in_current_dir; dst_parent = dir_name (dst_name); in_current_dir = (STREQ (".", dst_parent) /* If either stat call fails, it's ok not to report the failure and say dst_name is in the current directory. Other things will fail later. */ || stat (".", &dot_sb) != 0 || stat (dst_parent, &dst_parent_sb) != 0 || SAME_INODE (dot_sb, dst_parent_sb)); free (dst_parent); if (! in_current_dir) { error (0, 0, _("%s: can make relative symbolic links only in current directory"), quote (dst_name)); goto un_backup; } } if (symlink (src_name, dst_name) != 0) { error (0, errno, _("cannot create symbolic link %s to %s"), quote_n (0, dst_name), quote_n (1, src_name)); goto un_backup; } } /* POSIX 2008 states that it is implementation-defined whether link() on a symlink creates a hard-link to the symlink, or only to the referent (effectively dereferencing the symlink) (POSIX 2001 required the latter behavior, although many systems provided the former). Yet cp, invoked with '--link --no-dereference', should not follow the link. We can approximate the desired behavior by skipping this hard-link creating block and instead copying the symlink, via the 'S_ISLNK'- copying code below. LINK_FOLLOWS_SYMLINKS is tri-state; if it is -1, we don't know how link() behaves, so we use the fallback case for safety. Note gnulib's linkat module, guarantees that the symlink is not dereferenced. However its emulation currently doesn't maintain timestamps or ownership so we only call it when we know the emulation will not be needed. */ else if (x->hard_link && !(LINK_FOLLOWS_SYMLINKS && S_ISLNK (src_mode) && x->dereference == DEREF_NEVER)) { if (! create_hard_link (src_name, dst_name, false, false)) goto un_backup; } else if (S_ISREG (src_mode) || (x->copy_as_regular && !S_ISLNK (src_mode))) { copied_as_regular = true; /* POSIX says the permission bits of the source file must be used as the 3rd argument in the open call. Historical practice passed all the source mode bits to 'open', but the extra bits were ignored, so it should be the same either way. This call uses DST_MODE_BITS, not SRC_MODE. These are normally the same, and the exception (where x->set_mode) is used only by 'install', which POSIX does not specify and where DST_MODE_BITS is what's wanted. */ if (! copy_reg (src_name, dst_name, x, dst_mode_bits & S_IRWXUGO, omitted_permissions, &new_dst, &src_sb)) goto un_backup; } else if (S_ISFIFO (src_mode)) { /* Use mknod, rather than mkfifo, because the former preserves the special mode bits of a fifo on Solaris 10, while mkfifo does not. But fall back on mkfifo, because on some BSD systems, mknod always fails when asked to create a FIFO. */ if (mknod (dst_name, src_mode & ~omitted_permissions, 0) != 0) if (mkfifo (dst_name, src_mode & ~S_IFIFO & ~omitted_permissions) != 0) { error (0, errno, _("cannot create fifo %s"), quote (dst_name)); goto un_backup; } } else if (S_ISBLK (src_mode) || S_ISCHR (src_mode) || S_ISSOCK (src_mode)) { if (mknod (dst_name, src_mode & ~omitted_permissions, src_sb.st_rdev) != 0) { error (0, errno, _("cannot create special file %s"), quote (dst_name)); goto un_backup; } } else if (S_ISLNK (src_mode)) { char *src_link_val = areadlink_with_size (src_name, src_sb.st_size); dest_is_symlink = true; if (src_link_val == NULL) { error (0, errno, _("cannot read symbolic link %s"), quote (src_name)); goto un_backup; } if (symlink (src_link_val, dst_name) == 0) free (src_link_val); else { int saved_errno = errno; bool same_link = false; if (x->update && !new_dst && S_ISLNK (dst_sb.st_mode) && dst_sb.st_size == strlen (src_link_val)) { /* See if the destination is already the desired symlink. FIXME: This behavior isn't documented, and seems wrong in some cases, e.g., if the destination symlink has the wrong ownership, permissions, or time stamps. */ char *dest_link_val = areadlink_with_size (dst_name, dst_sb.st_size); if (dest_link_val && STREQ (dest_link_val, src_link_val)) same_link = true; free (dest_link_val); } free (src_link_val); if (! same_link) { error (0, saved_errno, _("cannot create symbolic link %s"), quote (dst_name)); goto un_backup; } } if (x->preserve_security_context) restore_default_fscreatecon_or_die (); if (x->preserve_ownership) { /* Preserve the owner and group of the just-'copied' symbolic link, if possible. */ if (HAVE_LCHOWN && lchown (dst_name, src_sb.st_uid, src_sb.st_gid) != 0 && ! chown_failure_ok (x)) { error (0, errno, _("failed to preserve ownership for %s"), dst_name); goto un_backup; } else { /* Can't preserve ownership of symlinks. FIXME: maybe give a warning or even error for symlinks in directories with the sticky bit set -- there, not preserving owner/group is a potential security problem. */ } } } else { error (0, 0, _("%s has unknown file type"), quote (src_name)); goto un_backup; } if (command_line_arg && x->dest_info) { /* Now that the destination file is very likely to exist, add its info to the set. */ struct stat sb; if (lstat (dst_name, &sb) == 0) record_file (x->dest_info, dst_name, &sb); } /* If we've just created a hard-link due to cp's --link option, we're done. */ if (x->hard_link && ! S_ISDIR (src_mode) && !(LINK_FOLLOWS_SYMLINKS && S_ISLNK (src_mode) && x->dereference == DEREF_NEVER)) return delayed_ok; if (copied_as_regular) return delayed_ok; /* POSIX says that 'cp -p' must restore the following: - permission bits - setuid, setgid bits - owner and group If it fails to restore any of those, we may give a warning but the destination must not be removed. FIXME: implement the above. */ /* Adjust the times (and if possible, ownership) for the copy. chown turns off set[ug]id bits for non-root, so do the chmod last. */ if (x->preserve_timestamps) { struct timespec timespec[2]; timespec[0] = get_stat_atime (&src_sb); timespec[1] = get_stat_mtime (&src_sb); if ((dest_is_symlink ? utimens_symlink (dst_name, timespec) : utimens (dst_name, timespec)) != 0) { error (0, errno, _("preserving times for %s"), quote (dst_name)); if (x->require_preserve) return false; } } /* The operations beyond this point may dereference a symlink. */ if (dest_is_symlink) return delayed_ok; /* Avoid calling chown if we know it's not necessary. */ if (x->preserve_ownership && (new_dst || !SAME_OWNER_AND_GROUP (src_sb, dst_sb))) { switch (set_owner (x, dst_name, -1, &src_sb, new_dst, &dst_sb)) { case -1: return false; case 0: src_mode &= ~ (S_ISUID | S_ISGID | S_ISVTX); break; } } set_author (dst_name, -1, &src_sb); if (x->preserve_xattr && ! copy_attr (src_name, -1, dst_name, -1, x) && x->require_preserve_xattr) return false; if (x->preserve_mode || x->move_mode) { if (copy_acl (src_name, -1, dst_name, -1, src_mode) != 0 && x->require_preserve) return false; } else if (x->set_mode) { if (set_acl (dst_name, -1, x->mode) != 0) return false; } else if (x->explicit_no_preserve_mode) { if (set_acl (dst_name, -1, 0777 & ~cached_umask ()) != 0) return false; } else { if (omitted_permissions) { omitted_permissions &= ~ cached_umask (); if (omitted_permissions && !restore_dst_mode) { /* Permissions were deliberately omitted when the file was created due to security concerns. See whether they need to be re-added now. It'd be faster to omit the lstat, but deducing the current destination mode is tricky in the presence of implementation-defined rules for special mode bits. */ if (new_dst && lstat (dst_name, &dst_sb) != 0) { error (0, errno, _("cannot stat %s"), quote (dst_name)); return false; } dst_mode = dst_sb.st_mode; if (omitted_permissions & ~dst_mode) restore_dst_mode = true; } } if (restore_dst_mode) { if (lchmod (dst_name, dst_mode | omitted_permissions) != 0) { error (0, errno, _("preserving permissions for %s"), quote (dst_name)); if (x->require_preserve) return false; } } } return delayed_ok; un_backup: if (x->preserve_security_context) restore_default_fscreatecon_or_die (); /* We have failed to create the destination file. If we've just added a dev/ino entry via the remember_copied call above (i.e., unless we've just failed to create a hard link), remove the entry associating the source dev/ino with the destination file name, so we don't try to 'preserve' a link to a file we didn't create. */ if (earlier_file == NULL) forget_created (src_sb.st_ino, src_sb.st_dev); if (dst_backup) { if (rename (dst_backup, dst_name) != 0) error (0, errno, _("cannot un-backup %s"), quote (dst_name)); else { if (x->verbose) printf (_("%s -> %s (unbackup)\n"), quote_n (0, dst_backup), quote_n (1, dst_name)); } } return false; } static bool _GL_ATTRIBUTE_PURE valid_options (const struct cp_options *co) { assert (co != NULL); assert (VALID_BACKUP_TYPE (co->backup_type)); assert (VALID_SPARSE_MODE (co->sparse_mode)); assert (VALID_REFLINK_MODE (co->reflink_mode)); assert (!(co->hard_link && co->symbolic_link)); assert (! (co->reflink_mode == REFLINK_ALWAYS && co->sparse_mode != SPARSE_AUTO)); return true; } /* Copy the file SRC_NAME to the file DST_NAME. The files may be of any type. NONEXISTENT_DST should be true if the file DST_NAME is known not to exist (e.g., because its parent directory was just created); NONEXISTENT_DST should be false if DST_NAME might already exist. OPTIONS is ... FIXME-describe Set *COPY_INTO_SELF if SRC_NAME is a parent of (or the same as) DST_NAME; otherwise, set clear it. Return true if successful. */ extern bool copy (char const *src_name, char const *dst_name, bool nonexistent_dst, const struct cp_options *options, bool *copy_into_self, bool *rename_succeeded) { assert (valid_options (options)); /* Record the file names: they're used in case of error, when copying a directory into itself. I don't like to make these tools do *any* extra work in the common case when that work is solely to handle exceptional cases, but in this case, I don't see a way to derive the top level source and destination directory names where they're used. An alternative is to use COPY_INTO_SELF and print the diagnostic from every caller -- but I don't want to do that. */ top_level_src_name = src_name; top_level_dst_name = dst_name; bool first_dir_created_per_command_line_arg = false; return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL, options, true, &first_dir_created_per_command_line_arg, copy_into_self, rename_succeeded); } /* Set *X to the default options for a value of type struct cp_options. */ extern void cp_options_default (struct cp_options *x) { memset (x, 0, sizeof *x); #ifdef PRIV_FILE_CHOWN { priv_set_t *pset = priv_allocset (); if (!pset) xalloc_die (); if (getppriv (PRIV_EFFECTIVE, pset) == 0) { x->chown_privileges = priv_ismember (pset, PRIV_FILE_CHOWN); x->owner_privileges = priv_ismember (pset, PRIV_FILE_OWNER); } priv_freeset (pset); } #else x->chown_privileges = x->owner_privileges = (geteuid () == 0); #endif } /* Return true if it's OK for chown to fail, where errno is the error number that chown failed with and X is the copying option set. */ extern bool chown_failure_ok (struct cp_options const *x) { /* If non-root uses -p, it's ok if we can't preserve ownership. But root probably wants to know, e.g. if NFS disallows it, or if the target system doesn't support file ownership. */ return ((errno == EPERM || errno == EINVAL) && !x->chown_privileges); } /* Similarly, return true if it's OK for chmod and similar operations to fail, where errno is the error number that chmod failed with and X is the copying option set. */ static bool owner_failure_ok (struct cp_options const *x) { return ((errno == EPERM || errno == EINVAL) && !x->owner_privileges); } /* Return the user's umask, caching the result. */ extern mode_t cached_umask (void) { static mode_t mask = (mode_t) -1; if (mask == (mode_t) -1) { mask = umask (0); umask (mask); } return mask; } coreutils-8.21/src/chown-core.c0000664000000000000000000004154412102337340013350 00000000000000/* chown-core.c -- core functions for changing ownership. Copyright (C) 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from chown.c/chgrp.c and librarified by Jim Meyering. */ #include #include #include #include #include #include "system.h" #include "chown-core.h" #include "error.h" #include "ignore-value.h" #include "quote.h" #include "root-dev-ino.h" #include "xfts.h" #define FTSENT_IS_DIRECTORY(E) \ ((E)->fts_info == FTS_D \ || (E)->fts_info == FTS_DC \ || (E)->fts_info == FTS_DP \ || (E)->fts_info == FTS_DNR) enum RCH_status { /* we called fchown and close, and both succeeded */ RC_ok = 2, /* required_uid and/or required_gid are specified, but don't match */ RC_excluded, /* SAME_INODE check failed */ RC_inode_changed, /* open/fchown isn't needed, isn't safe, or doesn't work due to permissions problems; fall back on chown */ RC_do_ordinary_chown, /* open, fstat, fchown, or close failed */ RC_error }; extern void chopt_init (struct Chown_option *chopt) { chopt->verbosity = V_off; chopt->root_dev_ino = NULL; chopt->affect_symlink_referent = true; chopt->recurse = false; chopt->force_silent = false; chopt->user_name = NULL; chopt->group_name = NULL; } extern void chopt_free (struct Chown_option *chopt ATTRIBUTE_UNUSED) { /* Deliberately do not free chopt->user_name or ->group_name. They're not always allocated. */ } /* Convert the numeric group-id, GID, to a string stored in xmalloc'd memory, and return it. If there's no corresponding group name, use the decimal representation of the ID. */ extern char * gid_to_name (gid_t gid) { char buf[INT_BUFSIZE_BOUND (intmax_t)]; struct group *grp = getgrgid (gid); return xstrdup (grp ? grp->gr_name : TYPE_SIGNED (gid_t) ? imaxtostr (gid, buf) : umaxtostr (gid, buf)); } /* Convert the numeric user-id, UID, to a string stored in xmalloc'd memory, and return it. If there's no corresponding user name, use the decimal representation of the ID. */ extern char * uid_to_name (uid_t uid) { char buf[INT_BUFSIZE_BOUND (intmax_t)]; struct passwd *pwd = getpwuid (uid); return xstrdup (pwd ? pwd->pw_name : TYPE_SIGNED (uid_t) ? imaxtostr (uid, buf) : umaxtostr (uid, buf)); } /* Allocate a string representing USER and GROUP. */ static char * user_group_str (char const *user, char const *group) { char *spec = NULL; if (user) { if (group) { spec = xmalloc (strlen (user) + 1 + strlen (group) + 1); stpcpy (stpcpy (stpcpy (spec, user), ":"), group); } else { spec = xstrdup (user); } } else if (group) { spec = xstrdup (group); } return spec; } /* Tell the user how/if the user and group of FILE have been changed. If USER is NULL, give the group-oriented messages. CHANGED describes what (if anything) has happened. */ static void describe_change (const char *file, enum Change_status changed, char const *old_user, char const *old_group, char const *user, char const *group) { const char *fmt; char *old_spec; char *spec; if (changed == CH_NOT_APPLIED) { printf (_("neither symbolic link %s nor referent has been changed\n"), quote (file)); return; } spec = user_group_str (user, group); old_spec = user_group_str (user ? old_user : NULL, group ? old_group : NULL); switch (changed) { case CH_SUCCEEDED: fmt = (user ? _("changed ownership of %s from %s to %s\n") : group ? _("changed group of %s from %s to %s\n") : _("no change to ownership of %s\n")); break; case CH_FAILED: if (old_spec) { fmt = (user ? _("failed to change ownership of %s from %s to %s\n") : group ? _("failed to change group of %s from %s to %s\n") : _("failed to change ownership of %s\n")); } else { fmt = (user ? _("failed to change ownership of %s to %s\n") : group ? _("failed to change group of %s to %s\n") : _("failed to change ownership of %s\n")); free (old_spec); old_spec = spec; spec = NULL; } break; case CH_NO_CHANGE_REQUESTED: fmt = (user ? _("ownership of %s retained as %s\n") : group ? _("group of %s retained as %s\n") : _("ownership of %s retained\n")); break; default: abort (); } printf (fmt, quote (file), old_spec, spec); free (old_spec); free (spec); } /* Change the owner and/or group of the FILE to UID and/or GID (safely) only if REQUIRED_UID and REQUIRED_GID match the owner and group IDs of FILE. ORIG_ST must be the result of 'stat'ing FILE. The 'safely' part above means that we can't simply use chown(2), since FILE might be replaced with some other file between the time of the preceding stat/lstat and this chown call. So here we open FILE and do everything else via the resulting file descriptor. We first call fstat and verify that the dev/inode match those from the preceding stat call, and only then, if appropriate (given the required_uid and required_gid constraints) do we call fchown. Return RC_do_ordinary_chown if we can't open FILE, or if FILE is a special file that might have undesirable side effects when opening. In this case the caller can use the less-safe ordinary chown. Return one of the RCH_status values. */ static enum RCH_status restricted_chown (int cwd_fd, char const *file, struct stat const *orig_st, uid_t uid, gid_t gid, uid_t required_uid, gid_t required_gid) { enum RCH_status status = RC_ok; struct stat st; int open_flags = O_NONBLOCK | O_NOCTTY; int fd; if (required_uid == (uid_t) -1 && required_gid == (gid_t) -1) return RC_do_ordinary_chown; if (! S_ISREG (orig_st->st_mode)) { if (S_ISDIR (orig_st->st_mode)) open_flags |= O_DIRECTORY; else return RC_do_ordinary_chown; } fd = openat (cwd_fd, file, O_RDONLY | open_flags); if (! (0 <= fd || (errno == EACCES && S_ISREG (orig_st->st_mode) && 0 <= (fd = openat (cwd_fd, file, O_WRONLY | open_flags))))) return (errno == EACCES ? RC_do_ordinary_chown : RC_error); if (fstat (fd, &st) != 0) status = RC_error; else if (! SAME_INODE (*orig_st, st)) status = RC_inode_changed; else if ((required_uid == (uid_t) -1 || required_uid == st.st_uid) && (required_gid == (gid_t) -1 || required_gid == st.st_gid)) { if (fchown (fd, uid, gid) == 0) { status = (close (fd) == 0 ? RC_ok : RC_error); return status; } else { status = RC_error; } } int saved_errno = errno; close (fd); errno = saved_errno; return status; } /* Change the owner and/or group of the file specified by FTS and ENT to UID and/or GID as appropriate. If REQUIRED_UID is not -1, then skip files with any other user ID. If REQUIRED_GID is not -1, then skip files with any other group ID. CHOPT specifies additional options. Return true if successful. */ static bool change_file_owner (FTS *fts, FTSENT *ent, uid_t uid, gid_t gid, uid_t required_uid, gid_t required_gid, struct Chown_option const *chopt) { char const *file_full_name = ent->fts_path; char const *file = ent->fts_accpath; struct stat const *file_stats; struct stat stat_buf; bool ok = true; bool do_chown; bool symlink_changed = true; switch (ent->fts_info) { case FTS_D: if (chopt->recurse) { if (ROOT_DEV_INO_CHECK (chopt->root_dev_ino, ent->fts_statp)) { /* This happens e.g., with "chown -R --preserve-root 0 /" and with "chown -RH --preserve-root 0 symlink-to-root". */ ROOT_DEV_INO_WARN (file_full_name); /* Tell fts not to traverse into this hierarchy. */ fts_set (fts, ent, FTS_SKIP); /* Ensure that we do not process "/" on the second visit. */ ignore_value (fts_read (fts)); return false; } return true; } break; case FTS_DP: if (! chopt->recurse) return true; break; case FTS_NS: /* For a top-level file or directory, this FTS_NS (stat failed) indicator is determined at the time of the initial fts_open call. With programs like chmod, chown, and chgrp, that modify permissions, it is possible that the file in question is accessible when control reaches this point. So, if this is the first time we've seen the FTS_NS for this file, tell fts_read to stat it "again". */ if (ent->fts_level == 0 && ent->fts_number == 0) { ent->fts_number = 1; fts_set (fts, ent, FTS_AGAIN); return true; } if (! chopt->force_silent) error (0, ent->fts_errno, _("cannot access %s"), quote (file_full_name)); ok = false; break; case FTS_ERR: if (! chopt->force_silent) error (0, ent->fts_errno, "%s", quote (file_full_name)); ok = false; break; case FTS_DNR: if (! chopt->force_silent) error (0, ent->fts_errno, _("cannot read directory %s"), quote (file_full_name)); ok = false; break; case FTS_DC: /* directory that causes cycles */ if (cycle_warning_required (fts, ent)) { emit_cycle_warning (file_full_name); return false; } break; default: break; } if (!ok) { do_chown = false; file_stats = NULL; } else if (required_uid == (uid_t) -1 && required_gid == (gid_t) -1 && chopt->verbosity == V_off && ! chopt->root_dev_ino && ! chopt->affect_symlink_referent) { do_chown = true; file_stats = ent->fts_statp; } else { file_stats = ent->fts_statp; /* If this is a symlink and we're dereferencing them, stat it to get info on the referent. */ if (chopt->affect_symlink_referent && S_ISLNK (file_stats->st_mode)) { if (fstatat (fts->fts_cwd_fd, file, &stat_buf, 0) != 0) { if (! chopt->force_silent) error (0, errno, _("cannot dereference %s"), quote (file_full_name)); ok = false; } file_stats = &stat_buf; } do_chown = (ok && (required_uid == (uid_t) -1 || required_uid == file_stats->st_uid) && (required_gid == (gid_t) -1 || required_gid == file_stats->st_gid)); } /* This happens when chown -LR --preserve-root encounters a symlink-to-/. */ if (ok && FTSENT_IS_DIRECTORY (ent) && ROOT_DEV_INO_CHECK (chopt->root_dev_ino, file_stats)) { ROOT_DEV_INO_WARN (file_full_name); return false; } if (do_chown) { if ( ! chopt->affect_symlink_referent) { ok = (lchownat (fts->fts_cwd_fd, file, uid, gid) == 0); /* Ignore any error due to lack of support; POSIX requires this behavior for top-level symbolic links with -h, and implies that it's required for all symbolic links. */ if (!ok && errno == EOPNOTSUPP) { ok = true; symlink_changed = false; } } else { /* If possible, avoid a race condition with --from=O:G and without the (-h) --no-dereference option. If fts's stat call determined that the uid/gid of FILE matched the --from=O:G-selected owner and group IDs, blindly using chown(2) here could lead chown(1) or chgrp(1) mistakenly to dereference a *symlink* to an arbitrary file that an attacker had moved into the place of FILE during the window between the stat and chown(2) calls. If FILE is a regular file or a directory that can be opened, this race condition can be avoided safely. */ enum RCH_status err = restricted_chown (fts->fts_cwd_fd, file, file_stats, uid, gid, required_uid, required_gid); switch (err) { case RC_ok: break; case RC_do_ordinary_chown: ok = (chownat (fts->fts_cwd_fd, file, uid, gid) == 0); break; case RC_error: ok = false; break; case RC_inode_changed: /* FIXME: give a diagnostic in this case? */ case RC_excluded: do_chown = false; ok = false; break; default: abort (); } } /* On some systems (e.g., GNU/Linux 2.4.x), the chown function resets the 'special' permission bits. Do *not* restore those bits; doing so would open a window in which a malicious user, M, could subvert a chown command run by some other user and operating on files in a directory where M has write access. */ if (do_chown && !ok && ! chopt->force_silent) error (0, errno, (uid != (uid_t) -1 ? _("changing ownership of %s") : _("changing group of %s")), quote (file_full_name)); } if (chopt->verbosity != V_off) { bool changed = ((do_chown && ok && symlink_changed) && ! ((uid == (uid_t) -1 || uid == file_stats->st_uid) && (gid == (gid_t) -1 || gid == file_stats->st_gid))); if (changed || chopt->verbosity == V_high) { enum Change_status ch_status = (!ok ? CH_FAILED : !symlink_changed ? CH_NOT_APPLIED : !changed ? CH_NO_CHANGE_REQUESTED : CH_SUCCEEDED); char *old_usr = file_stats ? uid_to_name (file_stats->st_uid) : NULL; char *old_grp = file_stats ? gid_to_name (file_stats->st_gid) : NULL; describe_change (file_full_name, ch_status, old_usr, old_grp, chopt->user_name, chopt->group_name); free (old_usr); free (old_grp); } } if ( ! chopt->recurse) fts_set (fts, ent, FTS_SKIP); return ok; } /* Change the owner and/or group of the specified FILES. BIT_FLAGS specifies how to treat each symlink-to-directory that is encountered during a recursive traversal. CHOPT specifies additional options. If UID is not -1, then change the owner id of each file to UID. If GID is not -1, then change the group id of each file to GID. If REQUIRED_UID and/or REQUIRED_GID is not -1, then change only files with user ID and group ID that match the non-(-1) value(s). Return true if successful. */ extern bool chown_files (char **files, int bit_flags, uid_t uid, gid_t gid, uid_t required_uid, gid_t required_gid, struct Chown_option const *chopt) { bool ok = true; /* Use lstat and stat only if they're needed. */ int stat_flags = ((required_uid != (uid_t) -1 || required_gid != (gid_t) -1 || chopt->affect_symlink_referent || chopt->verbosity != V_off) ? 0 : FTS_NOSTAT); FTS *fts = xfts_open (files, bit_flags | stat_flags, NULL); while (1) { FTSENT *ent; ent = fts_read (fts); if (ent == NULL) { if (errno != 0) { /* FIXME: try to give a better message */ if (! chopt->force_silent) error (0, errno, _("fts_read failed")); ok = false; } break; } ok &= change_file_owner (fts, ent, uid, gid, required_uid, required_gid, chopt); } if (fts_close (fts) != 0) { error (0, errno, _("fts_close failed")); ok = false; } return ok; } coreutils-8.21/src/env.c0000664000000000000000000001044312102337340012066 00000000000000/* env - run a program in a modified environment Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Richard Mlynarik and David MacKenzie */ #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "env" #define AUTHORS \ proper_name ("Richard Mlynarik"), \ proper_name ("David MacKenzie") static struct option const longopts[] = { {"ignore-environment", no_argument, NULL, 'i'}, {"null", no_argument, NULL, '0'}, {"unset", required_argument, NULL, 'u'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n"), program_name); fputs (_("\ Set each NAME to VALUE in the environment and run COMMAND.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -i, --ignore-environment start with an empty environment\n\ -0, --null end each output line with 0 byte rather than newline\n\ -u, --unset=NAME remove variable from the environment\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ A mere - implies -i. If no COMMAND, print the resulting environment.\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; bool ignore_environment = false; bool opt_nul_terminate_output = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXIT_CANCELED); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "+iu:0", longopts, NULL)) != -1) { switch (optc) { case 'i': ignore_environment = true; break; case 'u': break; case '0': opt_nul_terminate_output = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_CANCELED); } } if (optind < argc && STREQ (argv[optind], "-")) ignore_environment = true; if (ignore_environment) { static char *dummy_environ[] = { NULL }; environ = dummy_environ; } optind = 0; /* Force GNU getopt to re-initialize. */ while ((optc = getopt_long (argc, argv, "+iu:0", longopts, NULL)) != -1) if (optc == 'u' && unsetenv (optarg)) error (EXIT_CANCELED, errno, _("cannot unset %s"), quote (optarg)); if (optind < argc && STREQ (argv[optind], "-")) ++optind; char *eq; while (optind < argc && (eq = strchr (argv[optind], '='))) { if (putenv (argv[optind])) { *eq = '\0'; error (EXIT_CANCELED, errno, _("cannot set %s"), quote (argv[optind])); } optind++; } /* If no program is specified, print the environment and exit. */ if (argc <= optind) { char *const *e = environ; while (*e) printf ("%s%c", *e++, opt_nul_terminate_output ? '\0' : '\n'); exit (EXIT_SUCCESS); } if (opt_nul_terminate_output) { error (0, errno, _("cannot specify --null (-0) with command")); usage (EXIT_CANCELED); } execvp (argv[optind], &argv[optind]); { int exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, "%s", argv[optind]); exit (exit_status); } } coreutils-8.21/src/shuf.c0000664000000000000000000002361612102337340012251 00000000000000/* Shuffle lines of text. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Paul Eggert. */ #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "getopt.h" #include "quote.h" #include "quotearg.h" #include "randint.h" #include "randperm.h" #include "read-file.h" #include "stdio--.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "shuf" #define AUTHORS proper_name ("Paul Eggert") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]\n\ or: %s -e [OPTION]... [ARG]...\n\ or: %s -i LO-HI [OPTION]...\n\ "), program_name, program_name, program_name); fputs (_("\ Write a random permutation of the input lines to standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -e, --echo treat each ARG as an input line\n\ -i, --input-range=LO-HI treat each number LO through HI as an input line\n\ -n, --head-count=COUNT output at most COUNT lines\n\ -o, --output=FILE write result to FILE instead of standard output\n\ --random-source=FILE get random bytes from FILE\n\ -z, --zero-terminated end lines with 0 byte, not newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { RANDOM_SOURCE_OPTION = CHAR_MAX + 1 }; static struct option const long_opts[] = { {"echo", no_argument, NULL, 'e'}, {"input-range", required_argument, NULL, 'i'}, {"head-count", required_argument, NULL, 'n'}, {"output", required_argument, NULL, 'o'}, {"random-source", required_argument, NULL, RANDOM_SOURCE_OPTION}, {"zero-terminated", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {0, 0, 0, 0}, }; static bool input_numbers_option_used (size_t lo_input, size_t hi_input) { return ! (lo_input == SIZE_MAX && hi_input == 0); } static void input_from_argv (char **operand, int n_operands, char eolbyte) { char *p; size_t size = n_operands; int i; for (i = 0; i < n_operands; i++) size += strlen (operand[i]); p = xmalloc (size); for (i = 0; i < n_operands; i++) { char *p1 = stpcpy (p, operand[i]); operand[i] = p; p = p1; *p++ = eolbyte; } operand[n_operands] = p; } /* Return the start of the next line after LINE. The current line ends in EOLBYTE, and is guaranteed to end before LINE + N. */ static char * next_line (char *line, char eolbyte, size_t n) { char *p = memchr (line, eolbyte, n); return p + 1; } /* Read data from file IN. Input lines are delimited by EOLBYTE; silently append a trailing EOLBYTE if the file ends in some other byte. Store a pointer to the resulting array of lines into *PLINE. Return the number of lines read. Report an error and exit on failure. */ static size_t read_input (FILE *in, char eolbyte, char ***pline) { char *p; char *buf = NULL; size_t used; char *lim; char **line; size_t i; size_t n_lines; if (!(buf = fread_file (in, &used))) error (EXIT_FAILURE, errno, _("read error")); if (used && buf[used - 1] != eolbyte) buf[used++] = eolbyte; lim = buf + used; n_lines = 0; for (p = buf; p < lim; p = next_line (p, eolbyte, lim - p)) n_lines++; *pline = line = xnmalloc (n_lines + 1, sizeof *line); line[0] = p = buf; for (i = 1; i <= n_lines; i++) line[i] = p = next_line (p, eolbyte, lim - p); return n_lines; } static int write_permuted_output (size_t n_lines, char * const *line, size_t lo_input, size_t const *permutation, char eolbyte) { size_t i; if (line) for (i = 0; i < n_lines; i++) { char * const *p = line + permutation[i]; size_t len = p[1] - p[0]; if (fwrite (p[0], sizeof *p[0], len, stdout) != len) return -1; } else for (i = 0; i < n_lines; i++) { unsigned long int n = lo_input + permutation[i]; if (printf ("%lu%c", n, eolbyte) < 0) return -1; } return 0; } int main (int argc, char **argv) { bool echo = false; size_t lo_input = SIZE_MAX; size_t hi_input = 0; size_t head_lines = SIZE_MAX; char const *outfile = NULL; char *random_source = NULL; char eolbyte = '\n'; char **input_lines = NULL; int optc; int n_operands; char **operand; size_t n_lines; char **line; struct randint_source *randint_source; size_t *permutation; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "ei:n:o:z", long_opts, NULL)) != -1) switch (optc) { case 'e': echo = true; break; case 'i': { unsigned long int argval = 0; char *p = strchr (optarg, '-'); char const *hi_optarg = optarg; bool invalid = !p; if (input_numbers_option_used (lo_input, hi_input)) error (EXIT_FAILURE, 0, _("multiple -i options specified")); if (p) { *p = '\0'; invalid = ((xstrtoul (optarg, NULL, 10, &argval, NULL) != LONGINT_OK) || SIZE_MAX < argval); *p = '-'; lo_input = argval; hi_optarg = p + 1; } invalid |= ((xstrtoul (hi_optarg, NULL, 10, &argval, NULL) != LONGINT_OK) || SIZE_MAX < argval); hi_input = argval; n_lines = hi_input - lo_input + 1; invalid |= ((lo_input <= hi_input) == (n_lines == 0)); if (invalid) error (EXIT_FAILURE, 0, _("invalid input range %s"), quote (optarg)); } break; case 'n': { unsigned long int argval; strtol_error e = xstrtoul (optarg, NULL, 10, &argval, NULL); if (e == LONGINT_OK) head_lines = MIN (head_lines, argval); else if (e != LONGINT_OVERFLOW) error (EXIT_FAILURE, 0, _("invalid line count %s"), quote (optarg)); } break; case 'o': if (outfile && !STREQ (outfile, optarg)) error (EXIT_FAILURE, 0, _("multiple output files specified")); outfile = optarg; break; case RANDOM_SOURCE_OPTION: if (random_source && !STREQ (random_source, optarg)) error (EXIT_FAILURE, 0, _("multiple random sources specified")); random_source = optarg; break; case 'z': eolbyte = '\0'; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } n_operands = argc - optind; operand = argv + optind; if (echo) { if (input_numbers_option_used (lo_input, hi_input)) error (EXIT_FAILURE, 0, _("cannot combine -e and -i options")); input_from_argv (operand, n_operands, eolbyte); n_lines = n_operands; line = operand; } else if (input_numbers_option_used (lo_input, hi_input)) { if (n_operands) { error (0, 0, _("extra operand %s"), quote (operand[0])); usage (EXIT_FAILURE); } n_lines = hi_input - lo_input + 1; line = NULL; } else { switch (n_operands) { case 0: break; case 1: if (! (STREQ (operand[0], "-") || freopen (operand[0], "r", stdin))) error (EXIT_FAILURE, errno, "%s", operand[0]); break; default: error (0, 0, _("extra operand %s"), quote (operand[1])); usage (EXIT_FAILURE); } fadvise (stdin, FADVISE_SEQUENTIAL); n_lines = read_input (stdin, eolbyte, &input_lines); line = input_lines; } head_lines = MIN (head_lines, n_lines); randint_source = randint_all_new (random_source, randperm_bound (head_lines, n_lines)); if (! randint_source) error (EXIT_FAILURE, errno, "%s", quotearg_colon (random_source)); /* Close stdin now, rather than earlier, so that randint_all_new doesn't have to worry about opening something other than stdin. */ if (! (echo || input_numbers_option_used (lo_input, hi_input)) && (fclose (stdin) != 0)) error (EXIT_FAILURE, errno, _("read error")); permutation = randperm_new (randint_source, head_lines, n_lines); if (outfile && ! freopen (outfile, "w", stdout)) error (EXIT_FAILURE, errno, "%s", quotearg_colon (outfile)); if (write_permuted_output (head_lines, line, lo_input, permutation, eolbyte) != 0) error (EXIT_FAILURE, errno, _("write error")); #ifdef lint free (permutation); randint_all_free (randint_source); if (input_lines) { free (input_lines[0]); free (input_lines); } #endif return EXIT_SUCCESS; } coreutils-8.21/src/relpath.h0000664000000000000000000000162612102337340012745 00000000000000/* relpath - print the relative path Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #ifndef _RELPATH_H # define _RELPATH_H extern bool relpath (const char *can_fname, const char *can_reldir, char *buf, size_t len); #endif coreutils-8.21/src/mv.c0000664000000000000000000003651412104672701011734 00000000000000/* mv -- move or rename files Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Mike Parker, David MacKenzie, and Jim Meyering */ #include #include #include #include #include #include #include "system.h" #include "backupfile.h" #include "copy.h" #include "cp-hash.h" #include "error.h" #include "filenamecat.h" #include "quote.h" #include "remove.h" #include "root-dev-ino.h" #include "priv-set.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "mv" #define AUTHORS \ proper_name ("Mike Parker"), \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { STRIP_TRAILING_SLASHES_OPTION = CHAR_MAX + 1 }; /* Remove any trailing slashes from each SOURCE argument. */ static bool remove_trailing_slashes; static struct option const long_options[] = { {"backup", optional_argument, NULL, 'b'}, {"force", no_argument, NULL, 'f'}, {"interactive", no_argument, NULL, 'i'}, {"no-clobber", no_argument, NULL, 'n'}, {"no-target-directory", no_argument, NULL, 'T'}, {"strip-trailing-slashes", no_argument, NULL, STRIP_TRAILING_SLASHES_OPTION}, {"suffix", required_argument, NULL, 'S'}, {"target-directory", required_argument, NULL, 't'}, {"update", no_argument, NULL, 'u'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static void rm_option_init (struct rm_options *x) { x->ignore_missing_files = false; x->remove_empty_directories = true; x->recursive = true; x->one_file_system = false; /* Should we prompt for removal, too? No. Prompting for the 'move' part is enough. It implies removal. */ x->interactive = RMI_NEVER; x->stdin_tty = false; x->verbose = false; /* Since this program may well have to process additional command line arguments after any call to 'rm', that function must preserve the initial working directory, in case one of those is a '.'-relative name. */ x->require_restore_cwd = true; { static struct dev_ino dev_ino_buf; x->root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (x->root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } } static void cp_option_init (struct cp_options *x) { bool selinux_enabled = (0 < is_selinux_enabled ()); cp_options_default (x); x->copy_as_regular = false; /* FIXME: maybe make this an option */ x->reflink_mode = REFLINK_NEVER; x->dereference = DEREF_NEVER; x->unlink_dest_before_opening = false; x->unlink_dest_after_failed_open = false; x->hard_link = false; x->interactive = I_UNSPECIFIED; x->move_mode = true; x->one_file_system = false; x->preserve_ownership = true; x->preserve_links = true; x->preserve_mode = true; x->preserve_timestamps = true; x->explicit_no_preserve_mode= false; x->preserve_security_context = selinux_enabled; x->reduce_diagnostics = false; x->data_copy_required = true; x->require_preserve = false; /* FIXME: maybe make this an option */ x->require_preserve_context = false; x->preserve_xattr = true; x->require_preserve_xattr = false; x->recursive = true; x->sparse_mode = SPARSE_AUTO; /* FIXME: maybe make this an option */ x->symbolic_link = false; x->set_mode = false; x->mode = 0; x->stdin_tty = isatty (STDIN_FILENO); x->open_dangling_dest_symlink = false; x->update = false; x->verbose = false; x->dest_info = NULL; x->src_info = NULL; } /* FILE is the last operand of this command. Return true if FILE is a directory. But report an error if there is a problem accessing FILE, other than nonexistence (errno == ENOENT). */ static bool target_directory_operand (char const *file) { struct stat st; int err = (stat (file, &st) == 0 ? 0 : errno); bool is_a_dir = !err && S_ISDIR (st.st_mode); if (err && err != ENOENT) error (EXIT_FAILURE, err, _("failed to access %s"), quote (file)); return is_a_dir; } /* Move SOURCE onto DEST. Handles cross-file-system moves. If SOURCE is a directory, DEST must not exist. Return true if successful. */ static bool do_move (const char *source, const char *dest, const struct cp_options *x) { bool copy_into_self; bool rename_succeeded; bool ok = copy (source, dest, false, x, ©_into_self, &rename_succeeded); if (ok) { char const *dir_to_remove; if (copy_into_self) { /* In general, when copy returns with copy_into_self set, SOURCE is the same as, or a parent of DEST. In this case we know it's a parent. It doesn't make sense to move a directory into itself, and besides in some situations doing so would give highly nonintuitive results. Run this 'mkdir b; touch a c; mv * b' in an empty directory. Here's the result of running echo $(find b -print): b b/a b/b b/b/a b/c. Notice that only file 'a' was copied into b/b. Handle this by giving a diagnostic, removing the copied-into-self directory, DEST ('b/b' in the example), and failing. */ dir_to_remove = NULL; ok = false; } else if (rename_succeeded) { /* No need to remove anything. SOURCE was successfully renamed to DEST. Or the user declined to rename a file. */ dir_to_remove = NULL; } else { /* This may mean SOURCE and DEST referred to different devices. It may also conceivably mean that even though they referred to the same device, rename wasn't implemented for that device. E.g., (from Joel N. Weber), [...] there might someday be cases where you can't rename but you can copy where the device name is the same, especially on Hurd. Consider an ftpfs with a primitive ftp server that supports uploading, downloading and deleting, but not renaming. Also, note that comparing device numbers is not a reliable check for 'can-rename'. Some systems can be set up so that files from many different physical devices all have the same st_dev field. This is a feature of some NFS mounting configurations. We reach this point if SOURCE has been successfully copied to DEST. Now we have to remove SOURCE. This function used to resort to copying only when rename failed and set errno to EXDEV. */ dir_to_remove = source; } if (dir_to_remove != NULL) { struct rm_options rm_options; enum RM_status status; char const *dir[2]; rm_option_init (&rm_options); rm_options.verbose = x->verbose; dir[0] = dir_to_remove; dir[1] = NULL; status = rm ((void*) dir, &rm_options); assert (VALID_STATUS (status)); if (status == RM_ERROR) ok = false; } } return ok; } /* Move file SOURCE onto DEST. Handles the case when DEST is a directory. Treat DEST as a directory if DEST_IS_DIR. Return true if successful. */ static bool movefile (char *source, char *dest, bool dest_is_dir, const struct cp_options *x) { bool ok; /* This code was introduced to handle the ambiguity in the semantics of mv that is induced by the varying semantics of the rename function. Some systems (e.g., GNU/Linux) have a rename function that honors a trailing slash, while others (like Solaris 5,6,7) have a rename function that ignores a trailing slash. I believe the GNU/Linux rename semantics are POSIX and susv2 compliant. */ if (remove_trailing_slashes) strip_trailing_slashes (source); if (dest_is_dir) { /* Treat DEST as a directory; build the full filename. */ char const *src_basename = last_component (source); char *new_dest = file_name_concat (dest, src_basename, NULL); strip_trailing_slashes (new_dest); ok = do_move (source, new_dest, x); free (new_dest); } else { ok = do_move (source, dest, x); } return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [-T] SOURCE DEST\n\ or: %s [OPTION]... SOURCE... DIRECTORY\n\ or: %s [OPTION]... -t DIRECTORY SOURCE...\n\ "), program_name, program_name, program_name); fputs (_("\ Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --backup[=CONTROL] make a backup of each existing destination file\ \n\ -b like --backup but does not accept an argument\n\ -f, --force do not prompt before overwriting\n\ -i, --interactive prompt before overwrite\n\ -n, --no-clobber do not overwrite an existing file\n\ If you specify more than one of -i, -f, -n, only the final one takes effect.\n\ "), stdout); fputs (_("\ --strip-trailing-slashes remove any trailing slashes from each SOURCE\n\ argument\n\ -S, --suffix=SUFFIX override the usual backup suffix\n\ "), stdout); fputs (_("\ -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY\n\ -T, --no-target-directory treat DEST as a normal file\n\ -u, --update move only when the SOURCE file is newer\n\ than the destination file or when the\n\ destination file is missing\n\ -v, --verbose explain what is being done\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ The version control method may be selected via the --backup option or through\n\ the VERSION_CONTROL environment variable. Here are the values:\n\ \n\ "), stdout); fputs (_("\ none, off never make backups (even if --backup is given)\n\ numbered, t make numbered backups\n\ existing, nil numbered if numbered backups exist, simple otherwise\n\ simple, never always make simple backups\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int c; bool ok; bool make_backups = false; char *backup_suffix_string; char *version_control_string = NULL; struct cp_options x; char *target_directory = NULL; bool no_target_directory = false; int n_files; char **file; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdin); cp_option_init (&x); /* Try to disable the ability to unlink a directory. */ priv_set_remove_linkdir (); /* FIXME: consider not calling getenv for SIMPLE_BACKUP_SUFFIX unless we'll actually use backup_suffix_string. */ backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX"); while ((c = getopt_long (argc, argv, "bfint:uvS:T", long_options, NULL)) != -1) { switch (c) { case 'b': make_backups = true; if (optarg) version_control_string = optarg; break; case 'f': x.interactive = I_ALWAYS_YES; break; case 'i': x.interactive = I_ASK_USER; break; case 'n': x.interactive = I_ALWAYS_NO; break; case STRIP_TRAILING_SLASHES_OPTION: remove_trailing_slashes = true; break; case 't': if (target_directory) error (EXIT_FAILURE, 0, _("multiple target directories specified")); else { struct stat st; if (stat (optarg, &st) != 0) error (EXIT_FAILURE, errno, _("failed to access %s"), quote (optarg)); if (! S_ISDIR (st.st_mode)) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (optarg)); } target_directory = optarg; break; case 'T': no_target_directory = true; break; case 'u': x.update = true; break; case 'v': x.verbose = true; break; case 'S': make_backups = true; backup_suffix_string = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } n_files = argc - optind; file = argv + optind; if (n_files <= !target_directory) { if (n_files <= 0) error (0, 0, _("missing file operand")); else error (0, 0, _("missing destination file operand after %s"), quote (file[0])); usage (EXIT_FAILURE); } if (no_target_directory) { if (target_directory) error (EXIT_FAILURE, 0, _("cannot combine --target-directory (-t) " "and --no-target-directory (-T)")); if (2 < n_files) { error (0, 0, _("extra operand %s"), quote (file[2])); usage (EXIT_FAILURE); } } else if (!target_directory) { assert (2 <= n_files); if (target_directory_operand (file[n_files - 1])) target_directory = file[--n_files]; else if (2 < n_files) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (file[n_files - 1])); } if (make_backups && x.interactive == I_ALWAYS_NO) { error (0, 0, _("options --backup and --no-clobber are mutually exclusive")); usage (EXIT_FAILURE); } if (backup_suffix_string) simple_backup_suffix = xstrdup (backup_suffix_string); x.backup_type = (make_backups ? xget_version (_("backup type"), version_control_string) : no_backups); hash_init (); if (target_directory) { int i; /* Initialize the hash table only if we'll need it. The problem it is used to detect can arise only if there are two or more files to move. */ if (2 <= n_files) dest_info_init (&x); ok = true; for (i = 0; i < n_files; ++i) ok &= movefile (file[i], target_directory, true, &x); } else ok = movefile (file[0], file[1], false, &x); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/base64.c0000664000000000000000000002043312102337340012362 00000000000000/* Base64 encode/decode strings or files. Copyright (C) 2004-2013 Free Software Foundation, Inc. This file is part of Base64. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Simon Josefsson . */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "xstrtol.h" #include "quote.h" #include "quotearg.h" #include "xfreopen.h" #include "base64.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "base64" #define AUTHORS proper_name ("Simon Josefsson") static struct option const long_options[] = { {"decode", no_argument, 0, 'd'}, {"wrap", required_argument, 0, 'w'}, {"ignore-garbage", no_argument, 0, 'i'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]\n\ Base64 encode or decode FILE, or standard input, to standard output.\n\ "), program_name); emit_mandatory_arg_note (); fputs (_("\ -d, --decode decode data\n\ -i, --ignore-garbage when decoding, ignore non-alphabet characters\n\ -w, --wrap=COLS wrap encoded lines after COLS character (default 76).\n\ Use 0 to disable line wrapping\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE, or when FILE is -, read standard input.\n"), stdout); fputs (_("\ \n\ The data are encoded as described for the base64 alphabet in RFC 3548.\n\ When decoding, the input may contain newlines in addition to the bytes of\n\ the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n\ from any other non-alphabet bytes in the encoded stream.\n"), stdout); emit_ancillary_info (); } exit (status); } /* Note that increasing this may decrease performance if --ignore-garbage is used, because of the memmove operation below. */ #define BLOCKSIZE 3072 #define B64BLOCKSIZE BASE64_LENGTH (BLOCKSIZE) /* Ensure that BLOCKSIZE is a multiple of 3 and 4. */ #if BLOCKSIZE % 12 != 0 # error "invalid BLOCKSIZE" #endif static void wrap_write (const char *buffer, size_t len, uintmax_t wrap_column, size_t *current_column, FILE *out) { size_t written; if (wrap_column == 0) { /* Simple write. */ if (fwrite (buffer, 1, len, stdout) < len) error (EXIT_FAILURE, errno, _("write error")); } else for (written = 0; written < len;) { uintmax_t cols_remaining = wrap_column - *current_column; size_t to_write = MIN (cols_remaining, SIZE_MAX); to_write = MIN (to_write, len - written); if (to_write == 0) { if (fputs ("\n", out) < 0) error (EXIT_FAILURE, errno, _("write error")); *current_column = 0; } else { if (fwrite (buffer + written, 1, to_write, stdout) < to_write) error (EXIT_FAILURE, errno, _("write error")); *current_column += to_write; written += to_write; } } } static void do_encode (FILE *in, FILE *out, uintmax_t wrap_column) { size_t current_column = 0; char inbuf[BLOCKSIZE]; char outbuf[B64BLOCKSIZE]; size_t sum; do { size_t n; sum = 0; do { n = fread (inbuf + sum, 1, BLOCKSIZE - sum, in); sum += n; } while (!feof (in) && !ferror (in) && sum < BLOCKSIZE); if (sum > 0) { /* Process input one block at a time. Note that BLOCKSIZE % 3 == 0, so that no base64 pads will appear in output. */ base64_encode (inbuf, sum, outbuf, BASE64_LENGTH (sum)); wrap_write (outbuf, BASE64_LENGTH (sum), wrap_column, ¤t_column, out); } } while (!feof (in) && !ferror (in) && sum == BLOCKSIZE); /* When wrapping, terminate last line. */ if (wrap_column && current_column > 0 && fputs ("\n", out) < 0) error (EXIT_FAILURE, errno, _("write error")); if (ferror (in)) error (EXIT_FAILURE, errno, _("read error")); } static void do_decode (FILE *in, FILE *out, bool ignore_garbage) { char inbuf[B64BLOCKSIZE]; char outbuf[BLOCKSIZE]; size_t sum; struct base64_decode_context ctx; base64_decode_ctx_init (&ctx); do { bool ok; size_t n; unsigned int k; sum = 0; do { n = fread (inbuf + sum, 1, B64BLOCKSIZE - sum, in); if (ignore_garbage) { size_t i; for (i = 0; n > 0 && i < n;) if (isbase64 (inbuf[sum + i]) || inbuf[sum + i] == '=') i++; else memmove (inbuf + sum + i, inbuf + sum + i + 1, --n - i); } sum += n; if (ferror (in)) error (EXIT_FAILURE, errno, _("read error")); } while (sum < B64BLOCKSIZE && !feof (in)); /* The following "loop" is usually iterated just once. However, when it processes the final input buffer, we want to iterate it one additional time, but with an indicator telling it to flush what is in CTX. */ for (k = 0; k < 1 + !!feof (in); k++) { if (k == 1 && ctx.i == 0) break; n = BLOCKSIZE; ok = base64_decode_ctx (&ctx, inbuf, (k == 0 ? sum : 0), outbuf, &n); if (fwrite (outbuf, 1, n, out) < n) error (EXIT_FAILURE, errno, _("write error")); if (!ok) error (EXIT_FAILURE, 0, _("invalid input")); } } while (!feof (in)); } int main (int argc, char **argv) { int opt; FILE *input_fh; const char *infile; /* True if --decode has been given and we should decode data. */ bool decode = false; /* True if we should ignore non-base64-alphabetic characters. */ bool ignore_garbage = false; /* Wrap encoded base64 data around the 76:th column, by default. */ uintmax_t wrap_column = 76; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((opt = getopt_long (argc, argv, "diw:", long_options, NULL)) != -1) switch (opt) { case 'd': decode = true; break; case 'w': if (xstrtoumax (optarg, NULL, 0, &wrap_column, NULL) != LONGINT_OK) error (EXIT_FAILURE, 0, _("invalid wrap size: %s"), quotearg (optarg)); break; case 'i': ignore_garbage = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } if (argc - optind > 1) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } if (optind < argc) infile = argv[optind]; else infile = "-"; if (STREQ (infile, "-")) { if (O_BINARY) xfreopen (NULL, "rb", stdin); input_fh = stdin; } else { input_fh = fopen (infile, "rb"); if (input_fh == NULL) error (EXIT_FAILURE, errno, "%s", infile); } fadvise (input_fh, FADVISE_SEQUENTIAL); if (decode) do_decode (input_fh, stdout, ignore_garbage); else do_encode (input_fh, stdout, wrap_column); if (fclose (input_fh) == EOF) { if (STREQ (infile, "-")) error (EXIT_FAILURE, errno, _("closing standard input")); else error (EXIT_FAILURE, errno, "%s", infile); } exit (EXIT_SUCCESS); } coreutils-8.21/src/true.c0000664000000000000000000000427112102337340012257 00000000000000/* Exit with a status code indicating success. Copyright (C) 1999-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "system.h" /* Act like "true" by default; false.c overrides this. */ #ifndef EXIT_STATUS # define EXIT_STATUS EXIT_SUCCESS #endif #if EXIT_STATUS == EXIT_SUCCESS # define PROGRAM_NAME "true" #else # define PROGRAM_NAME "false" #endif #define AUTHORS proper_name ("Jim Meyering") void usage (int status) { printf (_("\ Usage: %s [ignored command line arguments]\n\ or: %s OPTION\n\ "), program_name, program_name); printf ("%s\n\n", _(EXIT_STATUS == EXIT_SUCCESS ? N_("Exit with a status code indicating success.") : N_("Exit with a status code indicating failure."))); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); exit (status); } int main (int argc, char **argv) { /* Recognize --help or --version only if it's the only command-line argument. */ if (argc == 2) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); if (STREQ (argv[1], "--help")) usage (EXIT_STATUS); if (STREQ (argv[1], "--version")) version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); } exit (EXIT_STATUS); } coreutils-8.21/src/fs-is-local.h0000444000000000000000000000712312107176113013415 00000000000000/* Map each S_MAGIC_* value to 1, 0 or -1. 1 if it is known to be a remote file system type, 0 if it is known to be a local file system type, or -1 otherwise. */ static inline int is_local_fs_type (unsigned long int magic) { switch (magic) { case S_MAGIC_ADFS: return 1; case S_MAGIC_AFFS: return 1; case S_MAGIC_AFS: return 0; case S_MAGIC_ANON_INODE_FS: return 1; case S_MAGIC_AUFS: return 0; case S_MAGIC_AUTOFS: return 1; case S_MAGIC_BEFS: return 1; case S_MAGIC_BDEVFS: return 1; case S_MAGIC_BFS: return 1; case S_MAGIC_BINFMTFS: return 1; case S_MAGIC_BTRFS: return 1; case S_MAGIC_CEPH: return 0; case S_MAGIC_CGROUP: return 1; case S_MAGIC_CIFS: return 0; case S_MAGIC_CODA: return 0; case S_MAGIC_COH: return 1; case S_MAGIC_CRAMFS: return 1; case S_MAGIC_CRAMFS_WEND: return 1; case S_MAGIC_DEBUGFS: return 1; case S_MAGIC_DEVFS: return 1; case S_MAGIC_DEVPTS: return 1; case S_MAGIC_ECRYPTFS: return 1; case S_MAGIC_EFS: return 1; case S_MAGIC_EXT: return 1; case S_MAGIC_EXT2: return 1; case S_MAGIC_EXT2_OLD: return 1; case S_MAGIC_FAT: return 1; case S_MAGIC_FHGFS: return 0; case S_MAGIC_FUSEBLK: return 0; case S_MAGIC_FUSECTL: return 0; case S_MAGIC_FUTEXFS: return 1; case S_MAGIC_GFS: return 0; case S_MAGIC_GPFS: return 0; case S_MAGIC_HFS: return 1; case S_MAGIC_HPFS: return 1; case S_MAGIC_HUGETLBFS: return 1; case S_MAGIC_MTD_INODE_FS: return 1; case S_MAGIC_INOTIFYFS: return 1; case S_MAGIC_ISOFS: return 1; case S_MAGIC_ISOFS_R_WIN: return 1; case S_MAGIC_ISOFS_WIN: return 1; case S_MAGIC_JFFS: return 1; case S_MAGIC_JFFS2: return 1; case S_MAGIC_JFS: return 1; case S_MAGIC_KAFS: return 0; case S_MAGIC_LUSTRE: return 0; case S_MAGIC_MINIX: return 1; case S_MAGIC_MINIX_30: return 1; case S_MAGIC_MINIX_V2: return 1; case S_MAGIC_MINIX_V2_30: return 1; case S_MAGIC_MINIX_V3: return 1; case S_MAGIC_MQUEUE: return 1; case S_MAGIC_MSDOS: return 1; case S_MAGIC_NCP: return 0; case S_MAGIC_NFS: return 0; case S_MAGIC_NFSD: return 0; case S_MAGIC_NILFS: return 1; case S_MAGIC_NTFS: return 1; case S_MAGIC_OPENPROM: return 1; case S_MAGIC_OCFS2: return 0; case S_MAGIC_PANFS: return 0; case S_MAGIC_PIPEFS: return 0; case S_MAGIC_PROC: return 1; case S_MAGIC_PSTOREFS: return 1; case S_MAGIC_QNX4: return 1; case S_MAGIC_QNX6: return 1; case S_MAGIC_RAMFS: return 1; case S_MAGIC_REISERFS: return 1; case S_MAGIC_ROMFS: return 1; case S_MAGIC_RPC_PIPEFS: return 1; case S_MAGIC_SECURITYFS: return 1; case S_MAGIC_SELINUX: return 1; case S_MAGIC_SMB: return 0; case S_MAGIC_SOCKFS: return 1; case S_MAGIC_SQUASHFS: return 1; case S_MAGIC_SYSFS: return 1; case S_MAGIC_SYSV2: return 1; case S_MAGIC_SYSV4: return 1; case S_MAGIC_TMPFS: return 1; case S_MAGIC_UDF: return 1; case S_MAGIC_UFS: return 1; case S_MAGIC_UFS_BYTESWAPPED: return 1; case S_MAGIC_USBDEVFS: return 1; case S_MAGIC_V9FS: return 1; case S_MAGIC_VMHGFS: return 0; case S_MAGIC_VXFS: return 1; case S_MAGIC_VZFS: return 1; case S_MAGIC_XENFS: return 1; case S_MAGIC_XENIX: return 1; case S_MAGIC_XFS: return 1; case S_MAGIC_XIAFS: return 1; case S_MAGIC_ZFS: return 1; default: return -1; } } coreutils-8.21/src/dirname.c0000664000000000000000000000616412102337340012722 00000000000000/* dirname -- strip suffix from file name Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie and Jim Meyering. */ #include #include #include #include #include "system.h" #include "error.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "dirname" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") static struct option const longopts[] = { {"zero", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION] NAME...\n\ "), program_name); fputs (_("\ Output each NAME with its last non-slash component and trailing slashes\n\ removed; if NAME contains no /'s, output '.' (meaning the current directory).\n\ \n\ "), stdout); fputs (_("\ -z, --zero separate output with NUL rather than newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ Examples:\n\ %s /usr/bin/ -> \"/usr\"\n\ %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n\ %s stdio.h -> \".\"\n\ "), program_name, program_name, program_name); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { static char const dot = '.'; bool use_nuls = false; char const *result; size_t len; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while (true) { int c = getopt_long (argc, argv, "z", longopts, NULL); if (c == -1) break; switch (c) { case 'z': use_nuls = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (argc < optind + 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } for (; optind < argc; optind++) { result = argv[optind]; len = dir_len (result); if (! len) { result = ˙ len = 1; } fwrite (result, 1, len, stdout); putchar (use_nuls ? '\0' :'\n'); } exit (EXIT_SUCCESS); } coreutils-8.21/src/stty.c0000664000000000000000000015442112104226365012314 00000000000000/* stty -- change and print terminal line settings Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Usage: stty [-ag] [--all] [--save] [-F device] [--file=device] [setting...] Options: -a, --all Write all current settings to stdout in human-readable form. -g, --save Write all current settings to stdout in stty-readable form. -F, --file Open and use the specified device instead of stdin If no args are given, write to stdout the baud rate and settings that have been changed from their defaults. Mode reading and changes are done on the specified device, or stdin if none was specified. David MacKenzie */ #include #ifdef TERMIOS_NEEDS_XOPEN_SOURCE # define _XOPEN_SOURCE #endif #include #include #include #if HAVE_STROPTS_H # include #endif #include #ifdef WINSIZE_IN_PTEM # include # include #endif #ifdef GWINSZ_IN_SYS_PTY # include # include #endif #include #include #include #include "system.h" #include "error.h" #include "fd-reopen.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "stty" #define AUTHORS proper_name ("David MacKenzie") #ifndef _POSIX_VDISABLE # define _POSIX_VDISABLE 0 #endif #define Control(c) ((c) & 0x1f) /* Canonical values for control characters. */ #ifndef CINTR # define CINTR Control ('c') #endif #ifndef CQUIT # define CQUIT 28 #endif #ifndef CERASE # define CERASE 127 #endif #ifndef CKILL # define CKILL Control ('u') #endif #ifndef CEOF # define CEOF Control ('d') #endif #ifndef CEOL # define CEOL _POSIX_VDISABLE #endif #ifndef CSTART # define CSTART Control ('q') #endif #ifndef CSTOP # define CSTOP Control ('s') #endif #ifndef CSUSP # define CSUSP Control ('z') #endif #if defined VEOL2 && !defined CEOL2 # define CEOL2 _POSIX_VDISABLE #endif /* Some platforms have VSWTC, others VSWTCH. In both cases, this control character is initialized by CSWTCH, if present. */ #if defined VSWTC && !defined VSWTCH # define VSWTCH VSWTC #endif /* ISC renamed swtch to susp for termios, but we'll accept either name. */ #if defined VSUSP && !defined VSWTCH # define VSWTCH VSUSP # if defined CSUSP && !defined CSWTCH # define CSWTCH CSUSP # endif #endif #if defined VSWTCH && !defined CSWTCH # define CSWTCH _POSIX_VDISABLE #endif /* SunOS 5.3 loses (^Z doesn't work) if 'swtch' is the same as 'susp'. So the default is to disable 'swtch.' */ #if defined __sparc__ && defined __svr4__ # undef CSWTCH # define CSWTCH _POSIX_VDISABLE #endif #if defined VWERSE && !defined VWERASE /* AIX-3.2.5 */ # define VWERASE VWERSE #endif #if defined VDSUSP && !defined CDSUSP # define CDSUSP Control ('y') #endif #if !defined VREPRINT && defined VRPRNT /* Irix 4.0.5 */ # define VREPRINT VRPRNT #endif #if defined VREPRINT && !defined CRPRNT # define CRPRNT Control ('r') #endif #if defined CREPRINT && !defined CRPRNT # define CRPRNT Control ('r') #endif #if defined VWERASE && !defined CWERASE # define CWERASE Control ('w') #endif #if defined VLNEXT && !defined CLNEXT # define CLNEXT Control ('v') #endif #if defined VDISCARD && !defined VFLUSHO # define VFLUSHO VDISCARD #endif #if defined VFLUSH && !defined VFLUSHO /* Ultrix 4.2 */ # define VFLUSHO VFLUSH #endif #if defined CTLECH && !defined ECHOCTL /* Ultrix 4.3 */ # define ECHOCTL CTLECH #endif #if defined TCTLECH && !defined ECHOCTL /* Ultrix 4.2 */ # define ECHOCTL TCTLECH #endif #if defined CRTKIL && !defined ECHOKE /* Ultrix 4.2 and 4.3 */ # define ECHOKE CRTKIL #endif #if defined VFLUSHO && !defined CFLUSHO # define CFLUSHO Control ('o') #endif #if defined VSTATUS && !defined CSTATUS # define CSTATUS Control ('t') #endif /* Which speeds to set. */ enum speed_setting { input_speed, output_speed, both_speeds }; /* What to output and how. */ enum output_type { changed, all, recoverable /* Default, -a, -g. */ }; /* Which member(s) of 'struct termios' a mode uses. */ enum mode_type { control, input, output, local, combination }; /* Flags for 'struct mode_info'. */ #define SANE_SET 1 /* Set in 'sane' mode. */ #define SANE_UNSET 2 /* Unset in 'sane' mode. */ #define REV 4 /* Can be turned off by prepending '-'. */ #define OMIT 8 /* Don't display value. */ /* Each mode. */ struct mode_info { const char *name; /* Name given on command line. */ enum mode_type type; /* Which structure element to change. */ char flags; /* Setting and display options. */ unsigned long bits; /* Bits to set for this mode. */ unsigned long mask; /* Other bits to turn off for this mode. */ }; static struct mode_info const mode_info[] = { {"parenb", control, REV, PARENB, 0}, {"parodd", control, REV, PARODD, 0}, {"cs5", control, 0, CS5, CSIZE}, {"cs6", control, 0, CS6, CSIZE}, {"cs7", control, 0, CS7, CSIZE}, {"cs8", control, 0, CS8, CSIZE}, {"hupcl", control, REV, HUPCL, 0}, {"hup", control, REV | OMIT, HUPCL, 0}, {"cstopb", control, REV, CSTOPB, 0}, {"cread", control, SANE_SET | REV, CREAD, 0}, {"clocal", control, REV, CLOCAL, 0}, #ifdef CRTSCTS {"crtscts", control, REV, CRTSCTS, 0}, #endif #ifdef CDTRDSR {"cdtrdsr", control, REV, CDTRDSR, 0}, #endif {"ignbrk", input, SANE_UNSET | REV, IGNBRK, 0}, {"brkint", input, SANE_SET | REV, BRKINT, 0}, {"ignpar", input, REV, IGNPAR, 0}, {"parmrk", input, REV, PARMRK, 0}, {"inpck", input, REV, INPCK, 0}, {"istrip", input, REV, ISTRIP, 0}, {"inlcr", input, SANE_UNSET | REV, INLCR, 0}, {"igncr", input, SANE_UNSET | REV, IGNCR, 0}, {"icrnl", input, SANE_SET | REV, ICRNL, 0}, {"ixon", input, REV, IXON, 0}, {"ixoff", input, SANE_UNSET | REV, IXOFF, 0}, {"tandem", input, REV | OMIT, IXOFF, 0}, #ifdef IUCLC {"iuclc", input, SANE_UNSET | REV, IUCLC, 0}, #endif #ifdef IXANY {"ixany", input, SANE_UNSET | REV, IXANY, 0}, #endif #ifdef IMAXBEL {"imaxbel", input, SANE_SET | REV, IMAXBEL, 0}, #endif #ifdef IUTF8 {"iutf8", input, SANE_UNSET | REV, IUTF8, 0}, #endif {"opost", output, SANE_SET | REV, OPOST, 0}, #ifdef OLCUC {"olcuc", output, SANE_UNSET | REV, OLCUC, 0}, #endif #ifdef OCRNL {"ocrnl", output, SANE_UNSET | REV, OCRNL, 0}, #endif #ifdef ONLCR {"onlcr", output, SANE_SET | REV, ONLCR, 0}, #endif #ifdef ONOCR {"onocr", output, SANE_UNSET | REV, ONOCR, 0}, #endif #ifdef ONLRET {"onlret", output, SANE_UNSET | REV, ONLRET, 0}, #endif #ifdef OFILL {"ofill", output, SANE_UNSET | REV, OFILL, 0}, #endif #ifdef OFDEL {"ofdel", output, SANE_UNSET | REV, OFDEL, 0}, #endif #ifdef NLDLY {"nl1", output, SANE_UNSET, NL1, NLDLY}, {"nl0", output, SANE_SET, NL0, NLDLY}, #endif #ifdef CRDLY {"cr3", output, SANE_UNSET, CR3, CRDLY}, {"cr2", output, SANE_UNSET, CR2, CRDLY}, {"cr1", output, SANE_UNSET, CR1, CRDLY}, {"cr0", output, SANE_SET, CR0, CRDLY}, #endif #ifdef TABDLY # ifdef TAB3 {"tab3", output, SANE_UNSET, TAB3, TABDLY}, # endif # ifdef TAB2 {"tab2", output, SANE_UNSET, TAB2, TABDLY}, # endif # ifdef TAB1 {"tab1", output, SANE_UNSET, TAB1, TABDLY}, # endif # ifdef TAB0 {"tab0", output, SANE_SET, TAB0, TABDLY}, # endif #else # ifdef OXTABS {"tab3", output, SANE_UNSET, OXTABS, 0}, # endif #endif #ifdef BSDLY {"bs1", output, SANE_UNSET, BS1, BSDLY}, {"bs0", output, SANE_SET, BS0, BSDLY}, #endif #ifdef VTDLY {"vt1", output, SANE_UNSET, VT1, VTDLY}, {"vt0", output, SANE_SET, VT0, VTDLY}, #endif #ifdef FFDLY {"ff1", output, SANE_UNSET, FF1, FFDLY}, {"ff0", output, SANE_SET, FF0, FFDLY}, #endif {"isig", local, SANE_SET | REV, ISIG, 0}, {"icanon", local, SANE_SET | REV, ICANON, 0}, #ifdef IEXTEN {"iexten", local, SANE_SET | REV, IEXTEN, 0}, #endif {"echo", local, SANE_SET | REV, ECHO, 0}, {"echoe", local, SANE_SET | REV, ECHOE, 0}, {"crterase", local, REV | OMIT, ECHOE, 0}, {"echok", local, SANE_SET | REV, ECHOK, 0}, {"echonl", local, SANE_UNSET | REV, ECHONL, 0}, {"noflsh", local, SANE_UNSET | REV, NOFLSH, 0}, #ifdef XCASE {"xcase", local, SANE_UNSET | REV, XCASE, 0}, #endif #ifdef TOSTOP {"tostop", local, SANE_UNSET | REV, TOSTOP, 0}, #endif #ifdef ECHOPRT {"echoprt", local, SANE_UNSET | REV, ECHOPRT, 0}, {"prterase", local, REV | OMIT, ECHOPRT, 0}, #endif #ifdef ECHOCTL {"echoctl", local, SANE_SET | REV, ECHOCTL, 0}, {"ctlecho", local, REV | OMIT, ECHOCTL, 0}, #endif #ifdef ECHOKE {"echoke", local, SANE_SET | REV, ECHOKE, 0}, {"crtkill", local, REV | OMIT, ECHOKE, 0}, #endif {"evenp", combination, REV | OMIT, 0, 0}, {"parity", combination, REV | OMIT, 0, 0}, {"oddp", combination, REV | OMIT, 0, 0}, {"nl", combination, REV | OMIT, 0, 0}, {"ek", combination, OMIT, 0, 0}, {"sane", combination, OMIT, 0, 0}, {"cooked", combination, REV | OMIT, 0, 0}, {"raw", combination, REV | OMIT, 0, 0}, {"pass8", combination, REV | OMIT, 0, 0}, {"litout", combination, REV | OMIT, 0, 0}, {"cbreak", combination, REV | OMIT, 0, 0}, #ifdef IXANY {"decctlq", combination, REV | OMIT, 0, 0}, #endif #if defined TABDLY || defined OXTABS {"tabs", combination, REV | OMIT, 0, 0}, #endif #if defined XCASE && defined IUCLC && defined OLCUC {"lcase", combination, REV | OMIT, 0, 0}, {"LCASE", combination, REV | OMIT, 0, 0}, #endif {"crt", combination, OMIT, 0, 0}, {"dec", combination, OMIT, 0, 0}, {NULL, control, 0, 0, 0} }; /* Control character settings. */ struct control_info { const char *name; /* Name given on command line. */ cc_t saneval; /* Value to set for 'stty sane'. */ size_t offset; /* Offset in c_cc. */ }; /* Control characters. */ static struct control_info const control_info[] = { {"intr", CINTR, VINTR}, {"quit", CQUIT, VQUIT}, {"erase", CERASE, VERASE}, {"kill", CKILL, VKILL}, {"eof", CEOF, VEOF}, {"eol", CEOL, VEOL}, #ifdef VEOL2 {"eol2", CEOL2, VEOL2}, #endif #ifdef VSWTCH {"swtch", CSWTCH, VSWTCH}, #endif {"start", CSTART, VSTART}, {"stop", CSTOP, VSTOP}, {"susp", CSUSP, VSUSP}, #ifdef VDSUSP {"dsusp", CDSUSP, VDSUSP}, #endif #ifdef VREPRINT {"rprnt", CRPRNT, VREPRINT}, #else # ifdef CREPRINT /* HPUX 10.20 needs this */ {"rprnt", CRPRNT, CREPRINT}, # endif #endif #ifdef VWERASE {"werase", CWERASE, VWERASE}, #endif #ifdef VLNEXT {"lnext", CLNEXT, VLNEXT}, #endif #ifdef VFLUSHO {"flush", CFLUSHO, VFLUSHO}, #endif #ifdef VSTATUS {"status", CSTATUS, VSTATUS}, #endif /* These must be last because of the display routines. */ {"min", 1, VMIN}, {"time", 0, VTIME}, {NULL, 0, 0} }; static char const *visible (cc_t ch); static unsigned long int baud_to_value (speed_t speed); static bool recover_mode (char const *arg, struct termios *mode); static int screen_columns (void); static bool set_mode (struct mode_info const *info, bool reversed, struct termios *mode); static unsigned long int integer_arg (const char *s, unsigned long int max); static speed_t string_to_baud (const char *arg); static tcflag_t *mode_type_flag (enum mode_type type, struct termios *mode); static void display_all (struct termios *mode, char const *device_name); static void display_changed (struct termios *mode); static void display_recoverable (struct termios *mode); static void display_settings (enum output_type output_type, struct termios *mode, const char *device_name); static void display_speed (struct termios *mode, bool fancy); static void display_window_size (bool fancy, char const *device_name); static void sane_mode (struct termios *mode); static void set_control_char (struct control_info const *info, const char *arg, struct termios *mode); static void set_speed (enum speed_setting type, const char *arg, struct termios *mode); static void set_window_size (int rows, int cols, char const *device_name); /* The width of the screen, for output wrapping. */ static int max_col; /* Current position, to know when to wrap. */ static int current_col; static struct option const longopts[] = { {"all", no_argument, NULL, 'a'}, {"save", no_argument, NULL, 'g'}, {"file", required_argument, NULL, 'F'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static void wrapf (const char *message, ...) __attribute__ ((__format__ (__printf__, 1, 2))); /* Print format string MESSAGE and optional args. Wrap to next line first if it won't fit. Print a space first unless MESSAGE will start a new line. */ static void wrapf (const char *message,...) { va_list args; char *buf; int buflen; va_start (args, message); buflen = vasprintf (&buf, message, args); va_end (args); if (buflen < 0) xalloc_die (); if (0 < current_col) { if (max_col - current_col < buflen) { putchar ('\n'); current_col = 0; } else { putchar (' '); current_col++; } } fputs (buf, stdout); free (buf); current_col += buflen; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n\ or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n\ or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n\ "), program_name, program_name, program_name); fputs (_("\ Print or change terminal characteristics.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a, --all print all current settings in human-readable form\n\ -g, --save print all current settings in a stty-readable form\n\ -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Optional - before SETTING indicates negation. An * marks non-POSIX\n\ settings. The underlying system defines which settings are available.\n\ "), stdout); fputs (_("\ \n\ Special characters:\n\ * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n\ eof CHAR CHAR will send an end of file (terminate the input)\n\ eol CHAR CHAR will end the line\n\ "), stdout); fputs (_("\ * eol2 CHAR alternate CHAR for ending the line\n\ erase CHAR CHAR will erase the last character typed\n\ intr CHAR CHAR will send an interrupt signal\n\ kill CHAR CHAR will erase the current line\n\ "), stdout); fputs (_("\ * lnext CHAR CHAR will enter the next character quoted\n\ quit CHAR CHAR will send a quit signal\n\ * rprnt CHAR CHAR will redraw the current line\n\ start CHAR CHAR will restart the output after stopping it\n\ "), stdout); fputs (_("\ stop CHAR CHAR will stop the output\n\ susp CHAR CHAR will send a terminal stop signal\n\ * swtch CHAR CHAR will switch to a different shell layer\n\ * werase CHAR CHAR will erase the last word typed\n\ "), stdout); fputs (_("\ \n\ Special settings:\n\ N set the input and output speeds to N bauds\n\ * cols N tell the kernel that the terminal has N columns\n\ * columns N same as cols N\n\ "), stdout); fputs (_("\ ispeed N set the input speed to N\n\ * line N use line discipline N\n\ min N with -icanon, set N characters minimum for a completed read\n\ ospeed N set the output speed to N\n\ "), stdout); fputs (_("\ * rows N tell the kernel that the terminal has N rows\n\ * size print the number of rows and columns according to the kernel\n\ speed print the terminal speed\n\ time N with -icanon, set read timeout of N tenths of a second\n\ "), stdout); fputs (_("\ \n\ Control settings:\n\ [-]clocal disable modem control signals\n\ [-]cread allow input to be received\n\ * [-]crtscts enable RTS/CTS handshaking\n\ * [-]cdtrdsr enable DTR/DSR handshaking\n\ csN set character size to N bits, N in [5..8]\n\ "), stdout); fputs (_("\ [-]cstopb use two stop bits per character (one with '-')\n\ [-]hup send a hangup signal when the last process closes the tty\n\ [-]hupcl same as [-]hup\n\ [-]parenb generate parity bit in output and expect parity bit in input\n\ [-]parodd set odd parity (or even parity with '-')\n\ "), stdout); fputs (_("\ \n\ Input settings:\n\ [-]brkint breaks cause an interrupt signal\n\ [-]icrnl translate carriage return to newline\n\ [-]ignbrk ignore break characters\n\ [-]igncr ignore carriage return\n\ "), stdout); fputs (_("\ [-]ignpar ignore characters with parity errors\n\ * [-]imaxbel beep and do not flush a full input buffer on a character\n\ [-]inlcr translate newline to carriage return\n\ [-]inpck enable input parity checking\n\ [-]istrip clear high (8th) bit of input characters\n\ "), stdout); fputs (_("\ * [-]iutf8 assume input characters are UTF-8 encoded\n\ "), stdout); fputs (_("\ * [-]iuclc translate uppercase characters to lowercase\n\ * [-]ixany let any character restart output, not only start character\n\ [-]ixoff enable sending of start/stop characters\n\ [-]ixon enable XON/XOFF flow control\n\ [-]parmrk mark parity errors (with a 255-0-character sequence)\n\ [-]tandem same as [-]ixoff\n\ "), stdout); fputs (_("\ \n\ Output settings:\n\ * bsN backspace delay style, N in [0..1]\n\ * crN carriage return delay style, N in [0..3]\n\ * ffN form feed delay style, N in [0..1]\n\ * nlN newline delay style, N in [0..1]\n\ "), stdout); fputs (_("\ * [-]ocrnl translate carriage return to newline\n\ * [-]ofdel use delete characters for fill instead of null characters\n\ * [-]ofill use fill (padding) characters instead of timing for delays\n\ * [-]olcuc translate lowercase characters to uppercase\n\ * [-]onlcr translate newline to carriage return-newline\n\ * [-]onlret newline performs a carriage return\n\ "), stdout); fputs (_("\ * [-]onocr do not print carriage returns in the first column\n\ [-]opost postprocess output\n\ * tabN horizontal tab delay style, N in [0..3]\n\ * tabs same as tab0\n\ * -tabs same as tab3\n\ * vtN vertical tab delay style, N in [0..1]\n\ "), stdout); fputs (_("\ \n\ Local settings:\n\ [-]crterase echo erase characters as backspace-space-backspace\n\ * crtkill kill all line by obeying the echoprt and echoe settings\n\ * -crtkill kill all line by obeying the echoctl and echok settings\n\ "), stdout); fputs (_("\ * [-]ctlecho echo control characters in hat notation ('^c')\n\ [-]echo echo input characters\n\ * [-]echoctl same as [-]ctlecho\n\ [-]echoe same as [-]crterase\n\ [-]echok echo a newline after a kill character\n\ "), stdout); fputs (_("\ * [-]echoke same as [-]crtkill\n\ [-]echonl echo newline even if not echoing other characters\n\ * [-]echoprt echo erased characters backward, between '\\' and '/'\n\ [-]icanon enable erase, kill, werase, and rprnt special characters\n\ [-]iexten enable non-POSIX special characters\n\ "), stdout); fputs (_("\ [-]isig enable interrupt, quit, and suspend special characters\n\ [-]noflsh disable flushing after interrupt and quit special characters\n\ * [-]prterase same as [-]echoprt\n\ * [-]tostop stop background jobs that try to write to the terminal\n\ * [-]xcase with icanon, escape with '\\' for uppercase characters\n\ "), stdout); fputs (_("\ \n\ Combination settings:\n\ * [-]LCASE same as [-]lcase\n\ cbreak same as -icanon\n\ -cbreak same as icanon\n\ "), stdout); fputs (_("\ cooked same as brkint ignpar istrip icrnl ixon opost isig\n\ icanon, eof and eol characters to their default values\n\ -cooked same as raw\n\ crt same as echoe echoctl echoke\n\ "), stdout); fputs (_("\ dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n\ kill ^u\n\ * [-]decctlq same as [-]ixany\n\ ek erase and kill characters to their default values\n\ evenp same as parenb -parodd cs7\n\ "), stdout); fputs (_("\ -evenp same as -parenb cs8\n\ * [-]lcase same as xcase iuclc olcuc\n\ litout same as -parenb -istrip -opost cs8\n\ -litout same as parenb istrip opost cs7\n\ nl same as -icrnl -onlcr\n\ -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n\ "), stdout); fputs (_("\ oddp same as parenb parodd cs7\n\ -oddp same as -parenb cs8\n\ [-]parity same as [-]evenp\n\ pass8 same as -parenb -istrip cs8\n\ -pass8 same as parenb istrip cs7\n\ "), stdout); fputs (_("\ raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n\ -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n\ -imaxbel -opost -isig -icanon -xcase min 1 time 0\n\ -raw same as cooked\n\ "), stdout); fputs (_("\ sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n\ -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n\ -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n\ isig icanon iexten echo echoe echok -echonl -noflsh\n\ -xcase -tostop -echoprt echoctl echoke, all special\n\ characters to their default values\n\ "), stdout); fputs (_("\ \n\ Handle the tty line connected to standard input. Without arguments,\n\ prints baud rate, line discipline, and deviations from stty sane. In\n\ settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n\ 127; special values ^- or undef used to disable special characters.\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { /* Initialize to all zeroes so there is no risk memcmp will report a spurious difference in an uninitialized portion of the structure. */ static struct termios mode; enum output_type output_type; int optc; int argi = 0; int opti = 1; bool require_set_attr; bool speed_was_set ATTRIBUTE_UNUSED; bool verbose_output; bool recoverable_output; int k; bool noargs = true; char *file_name = NULL; const char *device_name; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); output_type = changed; verbose_output = false; recoverable_output = false; /* Don't print error messages for unrecognized options. */ opterr = 0; /* If any new options are ever added to stty, the short options MUST NOT allow any ambiguity with the stty settings. For example, the stty setting "-gagFork" would not be feasible, since it will be parsed as "-g -a -g -F ork". If you change anything about how stty parses options, be sure it still works with combinations of short and long options, --, POSIXLY_CORRECT, etc. */ while ((optc = getopt_long (argc - argi, argv + argi, "-agF:", longopts, NULL)) != -1) { switch (optc) { case 'a': verbose_output = true; output_type = all; break; case 'g': recoverable_output = true; output_type = recoverable; break; case 'F': if (file_name) error (EXIT_FAILURE, 0, _("only one device may be specified")); file_name = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: noargs = false; /* Skip the argument containing this unrecognized option; the 2nd pass will analyze it. */ argi += opti; /* Restart getopt_long from the first unskipped argument. */ opti = 1; optind = 0; break; } /* Clear fully-parsed arguments, so they don't confuse the 2nd pass. */ while (opti < optind) argv[argi + opti++] = NULL; } /* Specifying both -a and -g gets an error. */ if (verbose_output && recoverable_output) error (EXIT_FAILURE, 0, _("the options for verbose and stty-readable output styles are\n" "mutually exclusive")); /* Specifying any other arguments with -a or -g gets an error. */ if (!noargs && (verbose_output || recoverable_output)) error (EXIT_FAILURE, 0, _("when specifying an output style, modes may not be set")); /* FIXME: it'd be better not to open the file until we've verified that all arguments are valid. Otherwise, we could end up doing only some of the requested operations and then failing, probably leaving things in an undesirable state. */ if (file_name) { int fdflags; device_name = file_name; if (fd_reopen (STDIN_FILENO, device_name, O_RDONLY | O_NONBLOCK, 0) < 0) error (EXIT_FAILURE, errno, "%s", device_name); if ((fdflags = fcntl (STDIN_FILENO, F_GETFL)) == -1 || fcntl (STDIN_FILENO, F_SETFL, fdflags & ~O_NONBLOCK) < 0) error (EXIT_FAILURE, errno, _("%s: couldn't reset non-blocking mode"), device_name); } else device_name = _("standard input"); if (tcgetattr (STDIN_FILENO, &mode)) error (EXIT_FAILURE, errno, "%s", device_name); if (verbose_output || recoverable_output || noargs) { max_col = screen_columns (); current_col = 0; display_settings (output_type, &mode, device_name); exit (EXIT_SUCCESS); } speed_was_set = false; require_set_attr = false; for (k = 1; k < argc; k++) { char const *arg = argv[k]; bool match_found = false; bool reversed = false; int i; if (! arg) continue; if (arg[0] == '-') { ++arg; reversed = true; } for (i = 0; mode_info[i].name != NULL; ++i) { if (STREQ (arg, mode_info[i].name)) { match_found = set_mode (&mode_info[i], reversed, &mode); require_set_attr = true; break; } } if (!match_found && reversed) { error (0, 0, _("invalid argument %s"), quote (arg - 1)); usage (EXIT_FAILURE); } if (!match_found) { for (i = 0; control_info[i].name != NULL; ++i) { if (STREQ (arg, control_info[i].name)) { if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } match_found = true; ++k; set_control_char (&control_info[i], argv[k], &mode); require_set_attr = true; break; } } } if (!match_found) { if (STREQ (arg, "ispeed")) { if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } ++k; set_speed (input_speed, argv[k], &mode); speed_was_set = true; require_set_attr = true; } else if (STREQ (arg, "ospeed")) { if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } ++k; set_speed (output_speed, argv[k], &mode); speed_was_set = true; require_set_attr = true; } #ifdef TIOCGWINSZ else if (STREQ (arg, "rows")) { if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } ++k; set_window_size (integer_arg (argv[k], INT_MAX), -1, device_name); } else if (STREQ (arg, "cols") || STREQ (arg, "columns")) { if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } ++k; set_window_size (-1, integer_arg (argv[k], INT_MAX), device_name); } else if (STREQ (arg, "size")) { max_col = screen_columns (); current_col = 0; display_window_size (false, device_name); } #endif #ifdef HAVE_C_LINE else if (STREQ (arg, "line")) { unsigned long int value; if (k == argc - 1) { error (0, 0, _("missing argument to %s"), quote (arg)); usage (EXIT_FAILURE); } ++k; mode.c_line = value = integer_arg (argv[k], ULONG_MAX); if (mode.c_line != value) error (0, 0, _("invalid line discipline %s"), quote (argv[k])); require_set_attr = true; } #endif else if (STREQ (arg, "speed")) { max_col = screen_columns (); display_speed (&mode, false); } else if (string_to_baud (arg) != (speed_t) -1) { set_speed (both_speeds, arg, &mode); speed_was_set = true; require_set_attr = true; } else { if (! recover_mode (arg, &mode)) { error (0, 0, _("invalid argument %s"), quote (arg)); usage (EXIT_FAILURE); } require_set_attr = true; } } } if (require_set_attr) { /* Initialize to all zeroes so there is no risk memcmp will report a spurious difference in an uninitialized portion of the structure. */ static struct termios new_mode; if (tcsetattr (STDIN_FILENO, TCSADRAIN, &mode)) error (EXIT_FAILURE, errno, "%s", device_name); /* POSIX (according to Zlotnick's book) tcsetattr returns zero if it performs *any* of the requested operations. This means it can report 'success' when it has actually failed to perform some proper subset of the requested operations. To detect this partial failure, get the current terminal attributes and compare them to the requested ones. */ if (tcgetattr (STDIN_FILENO, &new_mode)) error (EXIT_FAILURE, errno, "%s", device_name); /* Normally, one shouldn't use memcmp to compare structures that may have 'holes' containing uninitialized data, but we have been careful to initialize the storage of these two variables to all zeroes. One might think it more efficient simply to compare the modified fields, but that would require enumerating those fields -- and not all systems have the same fields in this structure. */ if (memcmp (&mode, &new_mode, sizeof (mode)) != 0) { #ifdef CIBAUD /* SunOS 4.1.3 (at least) has the problem that after this sequence, tcgetattr (&m1); tcsetattr (&m1); tcgetattr (&m2); sometimes (m1 != m2). The only difference is in the four bits of the c_cflag field corresponding to the baud rate. To save Sun users a little confusion, don't report an error if this happens. But suppress the error only if we haven't tried to set the baud rate explicitly -- otherwise we'd never give an error for a true failure to set the baud rate. */ new_mode.c_cflag &= (~CIBAUD); if (speed_was_set || memcmp (&mode, &new_mode, sizeof (mode)) != 0) #endif { error (EXIT_FAILURE, 0, _("%s: unable to perform all requested operations"), device_name); #ifdef TESTING { size_t i; printf ("new_mode: mode\n"); for (i = 0; i < sizeof (new_mode); i++) printf ("0x%02x: 0x%02x\n", *(((unsigned char *) &new_mode) + i), *(((unsigned char *) &mode) + i)); } #endif } } } exit (EXIT_SUCCESS); } /* Return false if not applied because not reversible; otherwise return true. */ static bool set_mode (struct mode_info const *info, bool reversed, struct termios *mode) { tcflag_t *bitsp; if (reversed && (info->flags & REV) == 0) return false; bitsp = mode_type_flag (info->type, mode); if (bitsp == NULL) { /* Combination mode. */ if (STREQ (info->name, "evenp") || STREQ (info->name, "parity")) { if (reversed) mode->c_cflag = (mode->c_cflag & ~PARENB & ~CSIZE) | CS8; else mode->c_cflag = (mode->c_cflag & ~PARODD & ~CSIZE) | PARENB | CS7; } else if (STREQ (info->name, "oddp")) { if (reversed) mode->c_cflag = (mode->c_cflag & ~PARENB & ~CSIZE) | CS8; else mode->c_cflag = (mode->c_cflag & ~CSIZE) | CS7 | PARODD | PARENB; } else if (STREQ (info->name, "nl")) { if (reversed) { mode->c_iflag = (mode->c_iflag | ICRNL) & ~INLCR & ~IGNCR; mode->c_oflag = (mode->c_oflag #ifdef ONLCR | ONLCR #endif ) #ifdef OCRNL & ~OCRNL #endif #ifdef ONLRET & ~ONLRET #endif ; } else { mode->c_iflag = mode->c_iflag & ~ICRNL; #ifdef ONLCR mode->c_oflag = mode->c_oflag & ~ONLCR; #endif } } else if (STREQ (info->name, "ek")) { mode->c_cc[VERASE] = CERASE; mode->c_cc[VKILL] = CKILL; } else if (STREQ (info->name, "sane")) sane_mode (mode); else if (STREQ (info->name, "cbreak")) { if (reversed) mode->c_lflag |= ICANON; else mode->c_lflag &= ~ICANON; } else if (STREQ (info->name, "pass8")) { if (reversed) { mode->c_cflag = (mode->c_cflag & ~CSIZE) | CS7 | PARENB; mode->c_iflag |= ISTRIP; } else { mode->c_cflag = (mode->c_cflag & ~PARENB & ~CSIZE) | CS8; mode->c_iflag &= ~ISTRIP; } } else if (STREQ (info->name, "litout")) { if (reversed) { mode->c_cflag = (mode->c_cflag & ~CSIZE) | CS7 | PARENB; mode->c_iflag |= ISTRIP; mode->c_oflag |= OPOST; } else { mode->c_cflag = (mode->c_cflag & ~PARENB & ~CSIZE) | CS8; mode->c_iflag &= ~ISTRIP; mode->c_oflag &= ~OPOST; } } else if (STREQ (info->name, "raw") || STREQ (info->name, "cooked")) { if ((info->name[0] == 'r' && reversed) || (info->name[0] == 'c' && !reversed)) { /* Cooked mode. */ mode->c_iflag |= BRKINT | IGNPAR | ISTRIP | ICRNL | IXON; mode->c_oflag |= OPOST; mode->c_lflag |= ISIG | ICANON; #if VMIN == VEOF mode->c_cc[VEOF] = CEOF; #endif #if VTIME == VEOL mode->c_cc[VEOL] = CEOL; #endif } else { /* Raw mode. */ mode->c_iflag = 0; mode->c_oflag &= ~OPOST; mode->c_lflag &= ~(ISIG | ICANON #ifdef XCASE | XCASE #endif ); mode->c_cc[VMIN] = 1; mode->c_cc[VTIME] = 0; } } #ifdef IXANY else if (STREQ (info->name, "decctlq")) { if (reversed) mode->c_iflag |= IXANY; else mode->c_iflag &= ~IXANY; } #endif #ifdef TABDLY else if (STREQ (info->name, "tabs")) { if (reversed) mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB3; else mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB0; } #else # ifdef OXTABS else if (STREQ (info->name, "tabs")) { if (reversed) mode->c_oflag = mode->c_oflag | OXTABS; else mode->c_oflag = mode->c_oflag & ~OXTABS; } # endif #endif #if defined XCASE && defined IUCLC && defined OLCUC else if (STREQ (info->name, "lcase") || STREQ (info->name, "LCASE")) { if (reversed) { mode->c_lflag &= ~XCASE; mode->c_iflag &= ~IUCLC; mode->c_oflag &= ~OLCUC; } else { mode->c_lflag |= XCASE; mode->c_iflag |= IUCLC; mode->c_oflag |= OLCUC; } } #endif else if (STREQ (info->name, "crt")) mode->c_lflag |= ECHOE #ifdef ECHOCTL | ECHOCTL #endif #ifdef ECHOKE | ECHOKE #endif ; else if (STREQ (info->name, "dec")) { mode->c_cc[VINTR] = 3; /* ^C */ mode->c_cc[VERASE] = 127; /* DEL */ mode->c_cc[VKILL] = 21; /* ^U */ mode->c_lflag |= ECHOE #ifdef ECHOCTL | ECHOCTL #endif #ifdef ECHOKE | ECHOKE #endif ; #ifdef IXANY mode->c_iflag &= ~IXANY; #endif } } else if (reversed) *bitsp = *bitsp & ~info->mask & ~info->bits; else *bitsp = (*bitsp & ~info->mask) | info->bits; return true; } static void set_control_char (struct control_info const *info, const char *arg, struct termios *mode) { unsigned long int value; if (STREQ (info->name, "min") || STREQ (info->name, "time")) value = integer_arg (arg, TYPE_MAXIMUM (cc_t)); else if (arg[0] == '\0' || arg[1] == '\0') value = to_uchar (arg[0]); else if (STREQ (arg, "^-") || STREQ (arg, "undef")) value = _POSIX_VDISABLE; else if (arg[0] == '^' && arg[1] != '\0') /* Ignore any trailing junk. */ { if (arg[1] == '?') value = 127; else value = to_uchar (arg[1]) & ~0140; /* Non-letters get weird results. */ } else value = integer_arg (arg, TYPE_MAXIMUM (cc_t)); mode->c_cc[info->offset] = value; } static void set_speed (enum speed_setting type, const char *arg, struct termios *mode) { speed_t baud; baud = string_to_baud (arg); if (type == input_speed || type == both_speeds) cfsetispeed (mode, baud); if (type == output_speed || type == both_speeds) cfsetospeed (mode, baud); } #ifdef TIOCGWINSZ static int get_win_size (int fd, struct winsize *win) { int err = ioctl (fd, TIOCGWINSZ, (char *) win); return err; } static void set_window_size (int rows, int cols, char const *device_name) { struct winsize win; if (get_win_size (STDIN_FILENO, &win)) { if (errno != EINVAL) error (EXIT_FAILURE, errno, "%s", device_name); memset (&win, 0, sizeof (win)); } if (rows >= 0) win.ws_row = rows; if (cols >= 0) win.ws_col = cols; # ifdef TIOCSSIZE /* Alexander Dupuy wrote: The following code deals with a bug in the SunOS 4.x (and 3.x?) kernel. This comment from sys/ttold.h describes Sun's twisted logic - a better test would have been (ts_lines > 64k || ts_cols > 64k || ts_cols == 0). At any rate, the problem is gone in Solaris 2.x. Unfortunately, the old TIOCSSIZE code does collide with TIOCSWINSZ, but they can be disambiguated by checking whether a "struct ttysize" structure's "ts_lines" field is greater than 64K or not. If so, it's almost certainly a "struct winsize" instead. At any rate, the bug manifests itself when ws_row == 0; the symptom is that ws_row is set to ws_col, and ws_col is set to (ws_xpixel<<16) + ws_ypixel. Since GNU stty sets rows and columns separately, this bug caused "stty rows 0 cols 0" to set rows to cols and cols to 0, while "stty cols 0 rows 0" would do the right thing. On a little-endian machine like the sun386i, the problem is the same, but for ws_col == 0. The workaround is to do the ioctl once with row and col = 1 to set the pixel info, and then do it again using a TIOCSSIZE to set rows/cols. */ if (win.ws_row == 0 || win.ws_col == 0) { struct ttysize ttysz; ttysz.ts_lines = win.ws_row; ttysz.ts_cols = win.ws_col; win.ws_row = 1; win.ws_col = 1; if (ioctl (STDIN_FILENO, TIOCSWINSZ, (char *) &win)) error (EXIT_FAILURE, errno, "%s", device_name); if (ioctl (STDIN_FILENO, TIOCSSIZE, (char *) &ttysz)) error (EXIT_FAILURE, errno, "%s", device_name); return; } # endif if (ioctl (STDIN_FILENO, TIOCSWINSZ, (char *) &win)) error (EXIT_FAILURE, errno, "%s", device_name); } static void display_window_size (bool fancy, char const *device_name) { struct winsize win; if (get_win_size (STDIN_FILENO, &win)) { if (errno != EINVAL) error (EXIT_FAILURE, errno, "%s", device_name); if (!fancy) error (EXIT_FAILURE, 0, _("%s: no size information for this device"), device_name); } else { wrapf (fancy ? "rows %d; columns %d;" : "%d %d\n", win.ws_row, win.ws_col); if (!fancy) current_col = 0; } } #endif static int screen_columns (void) { #ifdef TIOCGWINSZ struct winsize win; /* With Solaris 2.[123], this ioctl fails and errno is set to EINVAL for telnet (but not rlogin) sessions. On ISC 3.0, it fails for the console and the serial port (but it works for ptys). It can also fail on any system when stdout isn't a tty. In case of any failure, just use the default. */ if (get_win_size (STDOUT_FILENO, &win) == 0 && 0 < win.ws_col) return win.ws_col; #endif { /* Use $COLUMNS if it's in [1..INT_MAX]. */ char *col_string = getenv ("COLUMNS"); long int n_columns; if (!(col_string != NULL && xstrtol (col_string, NULL, 0, &n_columns, "") == LONGINT_OK && 0 < n_columns && n_columns <= INT_MAX)) n_columns = 80; return n_columns; } } static tcflag_t * _GL_ATTRIBUTE_PURE mode_type_flag (enum mode_type type, struct termios *mode) { switch (type) { case control: return &mode->c_cflag; case input: return &mode->c_iflag; case output: return &mode->c_oflag; case local: return &mode->c_lflag; case combination: return NULL; default: abort (); } } static void display_settings (enum output_type output_type, struct termios *mode, char const *device_name) { switch (output_type) { case changed: display_changed (mode); break; case all: display_all (mode, device_name); break; case recoverable: display_recoverable (mode); break; } } static void display_changed (struct termios *mode) { int i; bool empty_line; tcflag_t *bitsp; unsigned long mask; enum mode_type prev_type = control; display_speed (mode, true); #ifdef HAVE_C_LINE wrapf ("line = %d;", mode->c_line); #endif putchar ('\n'); current_col = 0; empty_line = true; for (i = 0; !STREQ (control_info[i].name, "min"); ++i) { if (mode->c_cc[control_info[i].offset] == control_info[i].saneval) continue; /* If swtch is the same as susp, don't print both. */ #if VSWTCH == VSUSP if (STREQ (control_info[i].name, "swtch")) continue; #endif /* If eof uses the same slot as min, only print whichever applies. */ #if VEOF == VMIN if ((mode->c_lflag & ICANON) == 0 && (STREQ (control_info[i].name, "eof") || STREQ (control_info[i].name, "eol"))) continue; #endif empty_line = false; wrapf ("%s = %s;", control_info[i].name, visible (mode->c_cc[control_info[i].offset])); } if ((mode->c_lflag & ICANON) == 0) { wrapf ("min = %lu; time = %lu;\n", (unsigned long int) mode->c_cc[VMIN], (unsigned long int) mode->c_cc[VTIME]); } else if (!empty_line) putchar ('\n'); current_col = 0; empty_line = true; for (i = 0; mode_info[i].name != NULL; ++i) { if (mode_info[i].flags & OMIT) continue; if (mode_info[i].type != prev_type) { if (!empty_line) { putchar ('\n'); current_col = 0; empty_line = true; } prev_type = mode_info[i].type; } bitsp = mode_type_flag (mode_info[i].type, mode); mask = mode_info[i].mask ? mode_info[i].mask : mode_info[i].bits; /* bitsp would be NULL only for "combination" modes, yet those are filtered out above via the OMIT flag. Tell static analysis tools that it's ok to dereference bitsp here. */ assert (bitsp); if ((*bitsp & mask) == mode_info[i].bits) { if (mode_info[i].flags & SANE_UNSET) { wrapf ("%s", mode_info[i].name); empty_line = false; } } else if ((mode_info[i].flags & (SANE_SET | REV)) == (SANE_SET | REV)) { wrapf ("-%s", mode_info[i].name); empty_line = false; } } if (!empty_line) putchar ('\n'); current_col = 0; } static void display_all (struct termios *mode, char const *device_name) { int i; tcflag_t *bitsp; unsigned long mask; enum mode_type prev_type = control; display_speed (mode, true); #ifdef TIOCGWINSZ display_window_size (true, device_name); #endif #ifdef HAVE_C_LINE wrapf ("line = %d;", mode->c_line); #endif putchar ('\n'); current_col = 0; for (i = 0; ! STREQ (control_info[i].name, "min"); ++i) { /* If swtch is the same as susp, don't print both. */ #if VSWTCH == VSUSP if (STREQ (control_info[i].name, "swtch")) continue; #endif /* If eof uses the same slot as min, only print whichever applies. */ #if VEOF == VMIN if ((mode->c_lflag & ICANON) == 0 && (STREQ (control_info[i].name, "eof") || STREQ (control_info[i].name, "eol"))) continue; #endif wrapf ("%s = %s;", control_info[i].name, visible (mode->c_cc[control_info[i].offset])); } #if VEOF == VMIN if ((mode->c_lflag & ICANON) == 0) #endif wrapf ("min = %lu; time = %lu;", (unsigned long int) mode->c_cc[VMIN], (unsigned long int) mode->c_cc[VTIME]); if (current_col != 0) putchar ('\n'); current_col = 0; for (i = 0; mode_info[i].name != NULL; ++i) { if (mode_info[i].flags & OMIT) continue; if (mode_info[i].type != prev_type) { putchar ('\n'); current_col = 0; prev_type = mode_info[i].type; } bitsp = mode_type_flag (mode_info[i].type, mode); mask = mode_info[i].mask ? mode_info[i].mask : mode_info[i].bits; assert (bitsp); /* See the identical assertion and comment above. */ if ((*bitsp & mask) == mode_info[i].bits) wrapf ("%s", mode_info[i].name); else if (mode_info[i].flags & REV) wrapf ("-%s", mode_info[i].name); } putchar ('\n'); current_col = 0; } static void display_speed (struct termios *mode, bool fancy) { if (cfgetispeed (mode) == 0 || cfgetispeed (mode) == cfgetospeed (mode)) wrapf (fancy ? "speed %lu baud;" : "%lu\n", baud_to_value (cfgetospeed (mode))); else wrapf (fancy ? "ispeed %lu baud; ospeed %lu baud;" : "%lu %lu\n", baud_to_value (cfgetispeed (mode)), baud_to_value (cfgetospeed (mode))); if (!fancy) current_col = 0; } static void display_recoverable (struct termios *mode) { size_t i; printf ("%lx:%lx:%lx:%lx", (unsigned long int) mode->c_iflag, (unsigned long int) mode->c_oflag, (unsigned long int) mode->c_cflag, (unsigned long int) mode->c_lflag); for (i = 0; i < NCCS; ++i) printf (":%lx", (unsigned long int) mode->c_cc[i]); putchar ('\n'); } /* NOTE: identical to below, modulo use of tcflag_t */ static int strtoul_tcflag_t (char const *s, int base, char **p, tcflag_t *result, char delim) { unsigned long ul; errno = 0; ul = strtoul (s, p, base); if (errno || **p != delim || *p == s || (tcflag_t) ul != ul) return -1; *result = ul; return 0; } /* NOTE: identical to above, modulo use of cc_t */ static int strtoul_cc_t (char const *s, int base, char **p, cc_t *result, char delim) { unsigned long ul; errno = 0; ul = strtoul (s, p, base); if (errno || **p != delim || *p == s || (cc_t) ul != ul) return -1; *result = ul; return 0; } /* Parse the output of display_recoverable. Return false if any part of it is invalid. */ static bool recover_mode (char const *arg, struct termios *mode) { tcflag_t flag[4]; char const *s = arg; size_t i; for (i = 0; i < 4; i++) { char *p; if (strtoul_tcflag_t (s, 16, &p, flag + i, ':') != 0) return false; s = p + 1; } mode->c_iflag = flag[0]; mode->c_oflag = flag[1]; mode->c_cflag = flag[2]; mode->c_lflag = flag[3]; for (i = 0; i < NCCS; ++i) { char *p; char delim = i < NCCS - 1 ? ':' : '\0'; if (strtoul_cc_t (s, 16, &p, mode->c_cc + i, delim) != 0) return false; s = p + 1; } return true; } struct speed_map { const char *string; /* ASCII representation. */ speed_t speed; /* Internal form. */ unsigned long int value; /* Numeric value. */ }; static struct speed_map const speeds[] = { {"0", B0, 0}, {"50", B50, 50}, {"75", B75, 75}, {"110", B110, 110}, {"134", B134, 134}, {"134.5", B134, 134}, {"150", B150, 150}, {"200", B200, 200}, {"300", B300, 300}, {"600", B600, 600}, {"1200", B1200, 1200}, {"1800", B1800, 1800}, {"2400", B2400, 2400}, {"4800", B4800, 4800}, {"9600", B9600, 9600}, {"19200", B19200, 19200}, {"38400", B38400, 38400}, {"exta", B19200, 19200}, {"extb", B38400, 38400}, #ifdef B57600 {"57600", B57600, 57600}, #endif #ifdef B115200 {"115200", B115200, 115200}, #endif #ifdef B230400 {"230400", B230400, 230400}, #endif #ifdef B460800 {"460800", B460800, 460800}, #endif #ifdef B500000 {"500000", B500000, 500000}, #endif #ifdef B576000 {"576000", B576000, 576000}, #endif #ifdef B921600 {"921600", B921600, 921600}, #endif #ifdef B1000000 {"1000000", B1000000, 1000000}, #endif #ifdef B1152000 {"1152000", B1152000, 1152000}, #endif #ifdef B1500000 {"1500000", B1500000, 1500000}, #endif #ifdef B2000000 {"2000000", B2000000, 2000000}, #endif #ifdef B2500000 {"2500000", B2500000, 2500000}, #endif #ifdef B3000000 {"3000000", B3000000, 3000000}, #endif #ifdef B3500000 {"3500000", B3500000, 3500000}, #endif #ifdef B4000000 {"4000000", B4000000, 4000000}, #endif {NULL, 0, 0} }; static speed_t _GL_ATTRIBUTE_PURE string_to_baud (const char *arg) { int i; for (i = 0; speeds[i].string != NULL; ++i) if (STREQ (arg, speeds[i].string)) return speeds[i].speed; return (speed_t) -1; } static unsigned long int _GL_ATTRIBUTE_PURE baud_to_value (speed_t speed) { int i; for (i = 0; speeds[i].string != NULL; ++i) if (speed == speeds[i].speed) return speeds[i].value; return 0; } static void sane_mode (struct termios *mode) { int i; tcflag_t *bitsp; for (i = 0; control_info[i].name; ++i) { #if VMIN == VEOF if (STREQ (control_info[i].name, "min")) break; #endif mode->c_cc[control_info[i].offset] = control_info[i].saneval; } for (i = 0; mode_info[i].name != NULL; ++i) { if (mode_info[i].flags & SANE_SET) { bitsp = mode_type_flag (mode_info[i].type, mode); *bitsp = (*bitsp & ~mode_info[i].mask) | mode_info[i].bits; } else if (mode_info[i].flags & SANE_UNSET) { bitsp = mode_type_flag (mode_info[i].type, mode); *bitsp = *bitsp & ~mode_info[i].mask & ~mode_info[i].bits; } } } /* Return a string that is the printable representation of character CH. */ /* Adapted from 'cat' by Torbjorn Granlund. */ static const char * visible (cc_t ch) { static char buf[10]; char *bpout = buf; if (ch == _POSIX_VDISABLE) return ""; if (ch >= 32) { if (ch < 127) *bpout++ = ch; else if (ch == 127) { *bpout++ = '^'; *bpout++ = '?'; } else { *bpout++ = 'M'; *bpout++ = '-'; if (ch >= 128 + 32) { if (ch < 128 + 127) *bpout++ = ch - 128; else { *bpout++ = '^'; *bpout++ = '?'; } } else { *bpout++ = '^'; *bpout++ = ch - 128 + 64; } } } else { *bpout++ = '^'; *bpout++ = ch + 64; } *bpout = '\0'; return (const char *) buf; } /* Parse string S as an integer, using decimal radix by default, but allowing octal and hex numbers as in C. Reject values larger than MAXVAL. */ static unsigned long int integer_arg (const char *s, unsigned long int maxval) { unsigned long int value; if (xstrtoul (s, NULL, 0, &value, "bB") != LONGINT_OK || maxval < value) { error (0, 0, _("invalid integer argument %s"), quote (s)); usage (EXIT_FAILURE); } return value; } coreutils-8.21/src/id.c0000664000000000000000000002542212102337340011675 00000000000000/* id -- print real and effective UIDs and GIDs Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Arnold Robbins. Major rewrite by David MacKenzie, djm@gnu.ai.mit.edu. */ #include #include #include #include #include #include #include #include "system.h" #include "error.h" #include "mgetgroups.h" #include "quote.h" #include "group-list.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "id" #define AUTHORS \ proper_name ("Arnold Robbins"), \ proper_name ("David MacKenzie") /* If nonzero, output only the SELinux context. -Z */ static int just_context = 0; static void print_user (uid_t uid); static void print_full_info (const char *username); /* If true, output user/group name instead of ID number. -n */ static bool use_name = false; /* The real and effective IDs of the user to print. */ static uid_t ruid, euid; static gid_t rgid, egid; /* True unless errors have been encountered. */ static bool ok = true; /* The SELinux context. Start with a known invalid value so print_full_info knows when 'context' has not been set to a meaningful value. */ static security_context_t context = NULL; static struct option const longopts[] = { {"context", no_argument, NULL, 'Z'}, {"group", no_argument, NULL, 'g'}, {"groups", no_argument, NULL, 'G'}, {"name", no_argument, NULL, 'n'}, {"real", no_argument, NULL, 'r'}, {"user", no_argument, NULL, 'u'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [USERNAME]\n"), program_name); fputs (_("\ Print user and group information for the specified USERNAME,\n\ or (when USERNAME omitted) for the current user.\n\ \n\ -a ignore, for compatibility with other versions\n\ -Z, --context print only the security context of the current user\n\ -g, --group print only the effective group ID\n\ -G, --groups print all group IDs\n\ -n, --name print a name instead of a number, for -ugG\n\ -r, --real print the real ID instead of the effective ID, with -ugG\n\ -u, --user print only the effective user ID\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Without any OPTION, print some useful set of identified information.\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; int selinux_enabled = (is_selinux_enabled () > 0); /* If true, output the list of all group IDs. -G */ bool just_group_list = false; /* If true, output only the group ID(s). -g */ bool just_group = false; /* If true, output real UID/GID instead of default effective UID/GID. -r */ bool use_real = false; /* If true, output only the user ID(s). -u */ bool just_user = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "agnruGZ", longopts, NULL)) != -1) { switch (optc) { case 'a': /* Ignore -a, for compatibility with SVR4. */ break; case 'Z': /* politely decline if we're not on a selinux-enabled kernel. */ if (!selinux_enabled) error (EXIT_FAILURE, 0, _("--context (-Z) works only on an SELinux-enabled kernel")); just_context = 1; break; case 'g': just_group = true; break; case 'n': use_name = true; break; case 'r': use_real = true; break; case 'u': just_user = true; break; case 'G': just_group_list = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } size_t n_ids = argc - optind; if (1 < n_ids) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } if (n_ids && just_context) error (EXIT_FAILURE, 0, _("cannot print security context when user specified")); if (just_user + just_group + just_group_list + just_context > 1) error (EXIT_FAILURE, 0, _("cannot print \"only\" of more than one choice")); bool default_format = (just_user + just_group + just_group_list + just_context == 0); if (default_format && (use_real || use_name)) error (EXIT_FAILURE, 0, _("cannot print only names or real IDs in default format")); /* If we are on a selinux-enabled kernel, no user is specified, and either --context is specified or none of (-u,-g,-G) is specified, and we're not in POSIXLY_CORRECT mode, get our context. Otherwise, leave the context variable alone - it has been initialized to an invalid value that will be not displayed in print_full_info(). */ if (selinux_enabled && n_ids == 0 && (just_context || (default_format && ! getenv ("POSIXLY_CORRECT")))) { /* Report failure only if --context (-Z) was explicitly requested. */ if (getcon (&context) && just_context) error (EXIT_FAILURE, 0, _("can't get process context")); } if (n_ids == 1) { struct passwd *pwd = getpwnam (argv[optind]); if (pwd == NULL) error (EXIT_FAILURE, 0, _("%s: no such user"), argv[optind]); ruid = euid = pwd->pw_uid; rgid = egid = pwd->pw_gid; } else { /* POSIX says identification functions (getuid, getgid, and others) cannot fail, but they can fail under GNU/Hurd and a few other systems. Test for failure by checking errno. */ uid_t NO_UID = -1; gid_t NO_GID = -1; if (just_user ? !use_real : !just_group && !just_group_list && !just_context) { errno = 0; euid = geteuid (); if (euid == NO_UID && errno) error (EXIT_FAILURE, errno, _("cannot get effective UID")); } if (just_user ? use_real : !just_group && (just_group_list || !just_context)) { errno = 0; ruid = getuid (); if (ruid == NO_UID && errno) error (EXIT_FAILURE, errno, _("cannot get real UID")); } if (!just_user && (just_group || just_group_list || !just_context)) { errno = 0; egid = getegid (); if (egid == NO_GID && errno) error (EXIT_FAILURE, errno, _("cannot get effective GID")); errno = 0; rgid = getgid (); if (rgid == NO_GID && errno) error (EXIT_FAILURE, errno, _("cannot get real GID")); } } if (just_user) { print_user (use_real ? ruid : euid); } else if (just_group) { if (!print_group (use_real ? rgid : egid, use_name)) ok = false; } else if (just_group_list) { if (!print_group_list (argv[optind], ruid, rgid, egid, use_name)) ok = false; } else if (just_context) { fputs (context, stdout); } else { print_full_info (argv[optind]); } putchar ('\n'); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* Convert a gid_t to string. Do not use this function directly. Instead, use it via the gidtostr macro. Beware that it returns a pointer to static storage. */ static char * gidtostr_ptr (gid_t const *gid) { static char buf[INT_BUFSIZE_BOUND (uintmax_t)]; return umaxtostr (*gid, buf); } #define gidtostr(g) gidtostr_ptr (&(g)) /* Convert a uid_t to string. Do not use this function directly. Instead, use it via the uidtostr macro. Beware that it returns a pointer to static storage. */ static char * uidtostr_ptr (uid_t const *uid) { static char buf[INT_BUFSIZE_BOUND (uintmax_t)]; return umaxtostr (*uid, buf); } #define uidtostr(u) uidtostr_ptr (&(u)) /* Print the name or value of user ID UID. */ static void print_user (uid_t uid) { struct passwd *pwd = NULL; if (use_name) { pwd = getpwuid (uid); if (pwd == NULL) { error (0, 0, _("cannot find name for user ID %s"), uidtostr (uid)); ok = false; } } char *s = pwd ? pwd->pw_name : uidtostr (uid); fputs (s, stdout); } /* Print all of the info about the user's user and group IDs. */ static void print_full_info (const char *username) { struct passwd *pwd; struct group *grp; printf (_("uid=%s"), uidtostr (ruid)); pwd = getpwuid (ruid); if (pwd) printf ("(%s)", pwd->pw_name); printf (_(" gid=%s"), gidtostr (rgid)); grp = getgrgid (rgid); if (grp) printf ("(%s)", grp->gr_name); if (euid != ruid) { printf (_(" euid=%s"), uidtostr (euid)); pwd = getpwuid (euid); if (pwd) printf ("(%s)", pwd->pw_name); } if (egid != rgid) { printf (_(" egid=%s"), gidtostr (egid)); grp = getgrgid (egid); if (grp) printf ("(%s)", grp->gr_name); } { gid_t *groups; int i; int n_groups = xgetgroups (username, (pwd ? pwd->pw_gid : -1), &groups); if (n_groups < 0) { if (username) { error (0, errno, _("failed to get groups for user %s"), quote (username)); } else { error (0, errno, _("failed to get groups for the current process")); } ok = false; return; } if (n_groups > 0) fputs (_(" groups="), stdout); for (i = 0; i < n_groups; i++) { if (i > 0) putchar (','); fputs (gidtostr (groups[i]), stdout); grp = getgrgid (groups[i]); if (grp) printf ("(%s)", grp->gr_name); } free (groups); } /* POSIX mandates the precise output format, and that it not include any context=... part, so skip that if POSIXLY_CORRECT is set. */ if (context) printf (_(" context=%s"), context); } coreutils-8.21/src/extent-scan.c0000664000000000000000000001712412102337340013532 00000000000000/* extent-scan.c -- core functions for scanning extents Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jie Liu (jeff.liu@oracle.com). */ #include #include #include #include #include #include "system.h" #include "extent-scan.h" #include "fiemap.h" #include "xstrtol.h" /* Work around Linux kernel issues on BTRFS and EXT4 before 2.6.39. FIXME: remove in 2013, or whenever we're pretty confident that the offending, unpatched kernels are no longer in use. */ static bool extent_need_sync (void) { /* For now always return true, to be on the safe side. If/when FIEMAP semantics are well defined (before SEEK_HOLE support is usable) and kernels implementing them are in use, we may relax this once again. */ return true; #if FIEMAP_BEHAVIOR_IS_DEFINED_AND_USABLE static int need_sync = -1; if (need_sync == -1) { struct utsname name; need_sync = 0; /* No workaround by default. */ # ifdef __linux__ if (uname (&name) != -1 && STRNCMP_LIT (name.release, "2.6.") == 0) { unsigned long val; if (xstrtoul (name.release + 4, NULL, 10, &val, NULL) == LONGINT_OK) { if (val < 39) need_sync = 1; } } # endif } return need_sync; #endif } /* Allocate space for struct extent_scan, initialize the entries if necessary and return it as the input argument of extent_scan_read(). */ extern void extent_scan_init (int src_fd, struct extent_scan *scan) { scan->fd = src_fd; scan->ei_count = 0; scan->ext_info = NULL; scan->scan_start = 0; scan->initial_scan_failed = false; scan->hit_final_extent = false; scan->fm_flags = extent_need_sync () ? FIEMAP_FLAG_SYNC : 0; } #ifdef __linux__ # ifndef FS_IOC_FIEMAP # define FS_IOC_FIEMAP _IOWR ('f', 11, struct fiemap) # endif /* Call ioctl(2) with FS_IOC_FIEMAP (available in linux 2.6.27) to obtain a map of file extents excluding holes. */ extern bool extent_scan_read (struct extent_scan *scan) { unsigned int si = 0; struct extent_info *last_ei = scan->ext_info; while (true) { union { struct fiemap f; char c[4096]; } fiemap_buf; struct fiemap *fiemap = &fiemap_buf.f; struct fiemap_extent *fm_extents = &fiemap->fm_extents[0]; enum { count = (sizeof fiemap_buf - sizeof *fiemap)/sizeof *fm_extents }; verify (count > 1); /* This is required at least to initialize fiemap->fm_start, but also serves (in mid 2010) to appease valgrind, which appears not to know the semantics of the FIEMAP ioctl. */ memset (&fiemap_buf, 0, sizeof fiemap_buf); fiemap->fm_start = scan->scan_start; fiemap->fm_flags = scan->fm_flags; fiemap->fm_extent_count = count; fiemap->fm_length = FIEMAP_MAX_OFFSET - scan->scan_start; /* Fall back to the standard copy if call ioctl(2) failed for the first time. */ if (ioctl (scan->fd, FS_IOC_FIEMAP, fiemap) < 0) { if (scan->scan_start == 0) scan->initial_scan_failed = true; return false; } /* If 0 extents are returned, then no more scans are needed. */ if (fiemap->fm_mapped_extents == 0) { scan->hit_final_extent = true; return scan->scan_start != 0; } assert (scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents); scan->ei_count += fiemap->fm_mapped_extents; { /* last_ei points into a buffer that may be freed via xnrealloc. Record its offset and adjust after allocation. */ size_t prev_idx = last_ei - scan->ext_info; scan->ext_info = xnrealloc (scan->ext_info, scan->ei_count, sizeof (struct extent_info)); last_ei = scan->ext_info + prev_idx; } unsigned int i = 0; for (i = 0; i < fiemap->fm_mapped_extents; i++) { assert (fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length); if (si && last_ei->ext_flags == (fm_extents[i].fe_flags & ~FIEMAP_EXTENT_LAST) && (last_ei->ext_logical + last_ei->ext_length == fm_extents[i].fe_logical)) { /* Merge previous with last. */ last_ei->ext_length += fm_extents[i].fe_length; /* Copy flags in case different. */ last_ei->ext_flags = fm_extents[i].fe_flags; } else if ((si == 0 && scan->scan_start > fm_extents[i].fe_logical) || (si && (last_ei->ext_logical + last_ei->ext_length > fm_extents[i].fe_logical))) { /* BTRFS before 2.6.38 could return overlapping extents for sparse files. We adjust the returned extents rather than failing, as otherwise it would be inefficient to detect this on the initial scan. */ uint64_t new_logical; uint64_t length_adjust; if (si == 0) new_logical = scan->scan_start; else { /* We could return here if scan->scan_start == 0 but don't so as to minimize special cases. */ new_logical = last_ei->ext_logical + last_ei->ext_length; } length_adjust = new_logical - fm_extents[i].fe_logical; /* If an extent is contained within the previous one, fail. */ if (length_adjust < fm_extents[i].fe_length) { if (scan->scan_start == 0) scan->initial_scan_failed = true; return false; } fm_extents[i].fe_logical = new_logical; fm_extents[i].fe_length -= length_adjust; /* Process the adjusted extent again. */ i--; continue; } else { last_ei = scan->ext_info + si; last_ei->ext_logical = fm_extents[i].fe_logical; last_ei->ext_length = fm_extents[i].fe_length; last_ei->ext_flags = fm_extents[i].fe_flags; si++; } } if (last_ei->ext_flags & FIEMAP_EXTENT_LAST) scan->hit_final_extent = true; /* If we have enough extents, discard the last as it might be merged with one from the next scan. */ if (si > count && !scan->hit_final_extent) last_ei = scan->ext_info + --si - 1; /* We don't bother reallocating any trailing slots. */ scan->ei_count = si; if (scan->hit_final_extent) break; else scan->scan_start = last_ei->ext_logical + last_ei->ext_length; if (si >= count) break; } return true; } #else extern bool extent_scan_read (struct extent_scan *scan ATTRIBUTE_UNUSED) { scan->initial_scan_failed = true; errno = ENOTSUP; return false; } #endif coreutils-8.21/src/unlink.c0000664000000000000000000000453012102337340012576 00000000000000/* unlink utility for GNU. Copyright (C) 2001-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Michael Stone */ /* Implementation overview: Simply call the system 'unlink' function */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "unlink" #define AUTHORS proper_name ("Michael Stone") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s FILE\n\ or: %s OPTION\n"), program_name, program_name); fputs (_("Call the unlink function to remove the specified FILE.\n\n"), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc < optind + 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (optind + 1 < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } if (unlink (argv[optind]) != 0) error (EXIT_FAILURE, errno, _("cannot unlink %s"), quote (argv[optind])); exit (EXIT_SUCCESS); } coreutils-8.21/src/local.mk0000664000000000000000000003774012102337340012566 00000000000000# Make coreutils programs. -*-Makefile-*- # This is included by the top-level Makefile.am. ## Copyright (C) 1990-2013 Free Software Foundation, Inc. ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . # FIXME: once lib/ and gnulib-tests/ are also converted, hoist to Makefile.am AM_CFLAGS = $(WERROR_CFLAGS) # The list of all programs (separated in different variables to express # the how and when they should be installed) is defined in this makefile # fragment, autogenerated by the 'gen-lists-of-programs.sh' auxiliary # script. include $(srcdir)/src/cu-progs.mk EXTRA_PROGRAMS = \ $(no_install__progs) \ $(build_if_possible__progs) \ $(default__progs) # The user can tweak these lists at configure time. bin_PROGRAMS = @bin_PROGRAMS@ pkglibexec_PROGRAMS = @pkglibexec_PROGRAMS@ # Needed by the testsuite. noinst_PROGRAMS = \ src/getlimits \ src/make-prime-list \ src/setuidgid noinst_HEADERS = \ src/chown-core.h \ src/copy.h \ src/cp-hash.h \ src/dircolors.h \ src/fiemap.h \ src/find-mount-point.h \ src/fs.h \ src/fs-is-local.h \ src/group-list.h \ src/ioblksize.h \ src/longlong.h \ src/ls.h \ src/operand2sig.h \ src/prog-fprintf.h \ src/remove.h \ src/system.h \ src/uname.h EXTRA_DIST += \ src/dcgen \ src/dircolors.hin \ src/primes.h \ src/tac-pipe.c \ src/extract-magic \ src/c99-to-c89.diff CLEANFILES += $(SCRIPTS) # Also remove these sometimes-built programs. # For example, even when excluded, they're built via 'sc_check-AUTHORS' # or 'dist'. CLEANFILES += $(no_install__progs) noinst_LIBRARIES += src/libver.a nodist_src_libver_a_SOURCES = src/version.c src/version.h # Tell the linker to omit references to unused shared libraries. AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS) # Extra libraries needed by more than one program. Will be updated later. copy_ldadd = remove_ldadd = # Sometimes, the expansion of $(LIBINTL) includes -lc which may # include modules defining variables like 'optind', so libcoreutils.a # must precede $(LIBINTL) in order to ensure we use GNU getopt. # But libcoreutils.a must also follow $(LIBINTL), since libintl uses # replacement functions defined in libcoreutils.a. LDADD = src/libver.a lib/libcoreutils.a $(LIBINTL) lib/libcoreutils.a # First, list all programs, to make listing per-program libraries easier. # See [ below. src_arch_LDADD = $(LDADD) src_base64_LDADD = $(LDADD) src_basename_LDADD = $(LDADD) src_cat_LDADD = $(LDADD) src_chcon_LDADD = $(LDADD) src_chgrp_LDADD = $(LDADD) src_chmod_LDADD = $(LDADD) src_chown_LDADD = $(LDADD) src_chroot_LDADD = $(LDADD) src_cksum_LDADD = $(LDADD) src_comm_LDADD = $(LDADD) src_nproc_LDADD = $(LDADD) src_cp_LDADD = $(LDADD) src_csplit_LDADD = $(LDADD) src_cut_LDADD = $(LDADD) src_date_LDADD = $(LDADD) src_dd_LDADD = $(LDADD) src_df_LDADD = $(LDADD) # See dir_LDADD below src_dircolors_LDADD = $(LDADD) src_dirname_LDADD = $(LDADD) src_du_LDADD = $(LDADD) src_echo_LDADD = $(LDADD) src_env_LDADD = $(LDADD) src_expand_LDADD = $(LDADD) src_expr_LDADD = $(LDADD) src_factor_LDADD = $(LDADD) src_false_LDADD = $(LDADD) src_fmt_LDADD = $(LDADD) src_fold_LDADD = $(LDADD) src_getlimits_LDADD = $(LDADD) src_ginstall_LDADD = $(LDADD) src_groups_LDADD = $(LDADD) src_head_LDADD = $(LDADD) src_hostid_LDADD = $(LDADD) src_hostname_LDADD = $(LDADD) src_id_LDADD = $(LDADD) src_join_LDADD = $(LDADD) src_kill_LDADD = $(LDADD) src_link_LDADD = $(LDADD) src_ln_LDADD = $(LDADD) src_logname_LDADD = $(LDADD) src_ls_LDADD = $(LDADD) # This must *not* depend on anything in lib/, since it is used to generate # src/primes.h. If it depended on libcoreutils.a, that would pull all lib/*.c # into BUILT_SOURCES. src_make_prime_list_LDADD = src_md5sum_LDADD = $(LDADD) src_mkdir_LDADD = $(LDADD) src_mkfifo_LDADD = $(LDADD) src_mknod_LDADD = $(LDADD) src_mktemp_LDADD = $(LDADD) src_mv_LDADD = $(LDADD) src_nice_LDADD = $(LDADD) src_nl_LDADD = $(LDADD) src_nohup_LDADD = $(LDADD) src_od_LDADD = $(LDADD) src_paste_LDADD = $(LDADD) src_pathchk_LDADD = $(LDADD) src_pinky_LDADD = $(LDADD) src_pr_LDADD = $(LDADD) src_printenv_LDADD = $(LDADD) src_printf_LDADD = $(LDADD) src_ptx_LDADD = $(LDADD) src_pwd_LDADD = $(LDADD) src_readlink_LDADD = $(LDADD) src_realpath_LDADD = $(LDADD) src_rm_LDADD = $(LDADD) src_rmdir_LDADD = $(LDADD) src_runcon_LDADD = $(LDADD) src_seq_LDADD = $(LDADD) src_setuidgid_LDADD = $(LDADD) src_sha1sum_LDADD = $(LDADD) src_sha224sum_LDADD = $(LDADD) src_sha256sum_LDADD = $(LDADD) src_sha384sum_LDADD = $(LDADD) src_sha512sum_LDADD = $(LDADD) src_shred_LDADD = $(LDADD) src_shuf_LDADD = $(LDADD) src_sleep_LDADD = $(LDADD) src_sort_LDADD = $(LDADD) src_split_LDADD = $(LDADD) src_stat_LDADD = $(LDADD) src_stdbuf_LDADD = $(LDADD) src_stty_LDADD = $(LDADD) src_sum_LDADD = $(LDADD) src_sync_LDADD = $(LDADD) src_tac_LDADD = $(LDADD) src_tail_LDADD = $(LDADD) src_tee_LDADD = $(LDADD) src_test_LDADD = $(LDADD) src_timeout_LDADD = $(LDADD) src_touch_LDADD = $(LDADD) src_tr_LDADD = $(LDADD) src_true_LDADD = $(LDADD) src_truncate_LDADD = $(LDADD) src_tsort_LDADD = $(LDADD) src_tty_LDADD = $(LDADD) src_uname_LDADD = $(LDADD) src_unexpand_LDADD = $(LDADD) src_uniq_LDADD = $(LDADD) src_unlink_LDADD = $(LDADD) src_uptime_LDADD = $(LDADD) src_users_LDADD = $(LDADD) # See vdir_LDADD below src_wc_LDADD = $(LDADD) src_who_LDADD = $(LDADD) src_whoami_LDADD = $(LDADD) src_yes_LDADD = $(LDADD) # Synonyms. Recall that Automake transliterates '[' and '/' to '_'. src___LDADD = $(src_test_LDADD) src_dir_LDADD = $(src_ls_LDADD) src_vdir_LDADD = $(src_ls_LDADD) src_cp_LDADD += $(copy_ldadd) src_ginstall_LDADD += $(copy_ldadd) src_mv_LDADD += $(copy_ldadd) src_mv_LDADD += $(remove_ldadd) src_rm_LDADD += $(remove_ldadd) # for eaccess, euidaccess copy_ldadd += $(LIB_EACCESS) remove_ldadd += $(LIB_EACCESS) src_sort_LDADD += $(LIB_EACCESS) src_test_LDADD += $(LIB_EACCESS) # for selinux use copy_ldadd += $(LIB_SELINUX) src_chcon_LDADD += $(LIB_SELINUX) src_ginstall_LDADD += $(LIB_SELINUX) src_id_LDADD += $(LIB_SELINUX) src_ls_LDADD += $(LIB_SELINUX) src_mkdir_LDADD += $(LIB_SELINUX) src_mkfifo_LDADD += $(LIB_SELINUX) src_mknod_LDADD += $(LIB_SELINUX) src_runcon_LDADD += $(LIB_SELINUX) src_stat_LDADD += $(LIB_SELINUX) # for gettime, settime, utimecmp, utimens copy_ldadd += $(LIB_CLOCK_GETTIME) src_date_LDADD += $(LIB_CLOCK_GETTIME) src_ginstall_LDADD += $(LIB_CLOCK_GETTIME) src_ls_LDADD += $(LIB_CLOCK_GETTIME) src_pr_LDADD += $(LIB_CLOCK_GETTIME) src_timeout_LDADD += $(LIB_TIMER_TIME) src_touch_LDADD += $(LIB_CLOCK_GETTIME) # for gethrxtime src_dd_LDADD += $(LIB_GETHRXTIME) # for cap_get_file src_ls_LDADD += $(LIB_CAP) # for fdatasync src_dd_LDADD += $(LIB_FDATASYNC) src_shred_LDADD += $(LIB_FDATASYNC) # for xnanosleep src_sleep_LDADD += $(LIB_NANOSLEEP) src_sort_LDADD += $(LIB_NANOSLEEP) src_tail_LDADD += $(LIB_NANOSLEEP) # for various GMP functions src_expr_LDADD += $(LIB_GMP) src_factor_LDADD += $(LIB_GMP) # for getloadavg src_uptime_LDADD += $(GETLOADAVG_LIBS) # for various ACL functions copy_ldadd += $(LIB_ACL) src_ls_LDADD += $(LIB_ACL) # for various xattr functions copy_ldadd += $(LIB_XATTR) # for print_unicode_char, proper_name_utf8 src_cat_LDADD += $(LIBICONV) src_cp_LDADD += $(LIBICONV) src_df_LDADD += $(LIBICONV) src_du_LDADD += $(LIBICONV) src_factor_LDADD += $(LIBICONV) src_getlimits_LDADD += $(LIBICONV) src_printf_LDADD += $(LIBICONV) src_ptx_LDADD += $(LIBICONV) src_realpath_LDADD += $(LIBICONV) src_split_LDADD += $(LIBICONV) src_stdbuf_LDADD += $(LIBICONV) src_timeout_LDADD += $(LIBICONV) src_truncate_LDADD += $(LIBICONV) # for canon_host src_pinky_LDADD += $(GETADDRINFO_LIB) src_who_LDADD += $(GETADDRINFO_LIB) # for gethostname, uname src_hostname_LDADD += $(GETHOSTNAME_LIB) src_uname_LDADD += $(GETHOSTNAME_LIB) # for strsignal src_kill_LDADD += $(LIBTHREAD) # for pthread src_sort_LDADD += $(LIB_PTHREAD) # Get the release year from lib/version-etc.c. RELEASE_YEAR = \ `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \ $(top_srcdir)/lib/version-etc.c` copy_sources = \ src/copy.c \ src/cp-hash.c \ src/extent-scan.c \ src/extent-scan.h # Use 'ginstall' in the definition of PROGRAMS and in dependencies to avoid # confusion with the 'install' target. The install rule transforms 'ginstall' # to install before applying any user-specified name transformations. transform = s/ginstall/install/; $(program_transform_name) src_ginstall_SOURCES = src/install.c src/prog-fprintf.c $(copy_sources) # This is for the '[' program. Automake transliterates '[' and '/' to '_'. src___SOURCES = src/lbracket.c src_cp_SOURCES = src/cp.c $(copy_sources) src_dir_SOURCES = src/ls.c src/ls-dir.c src_vdir_SOURCES = src/ls.c src/ls-vdir.c src_id_SOURCES = src/id.c src/group-list.c src_groups_SOURCES = src/groups.c src/group-list.c src_ls_SOURCES = src/ls.c src/ls-ls.c src_ln_SOURCES = src/ln.c src/relpath.c src/relpath.h src_chown_SOURCES = src/chown.c src/chown-core.c src_chgrp_SOURCES = src/chgrp.c src/chown-core.c src_kill_SOURCES = src/kill.c src/operand2sig.c src_realpath_SOURCES = src/realpath.c src/relpath.c src/relpath.h src_timeout_SOURCES = src/timeout.c src/operand2sig.c src_mv_SOURCES = src/mv.c src/remove.c $(copy_sources) src_rm_SOURCES = src/rm.c src/remove.c src_mkdir_SOURCES = src/mkdir.c src/prog-fprintf.c src_rmdir_SOURCES = src/rmdir.c src/prog-fprintf.c src_df_SOURCES = src/df.c src/find-mount-point.c src_stat_SOURCES = src/stat.c src/find-mount-point.c src_uname_SOURCES = src/uname.c src/uname-uname.c src_arch_SOURCES = src/uname.c src/uname-arch.c src_md5sum_CPPFLAGS = -DHASH_ALGO_MD5=1 $(AM_CPPFLAGS) src_sha1sum_SOURCES = src/md5sum.c src_sha1sum_CPPFLAGS = -DHASH_ALGO_SHA1=1 $(AM_CPPFLAGS) src_sha224sum_SOURCES = src/md5sum.c src_sha224sum_CPPFLAGS = -DHASH_ALGO_SHA224=1 $(AM_CPPFLAGS) src_sha256sum_SOURCES = src/md5sum.c src_sha256sum_CPPFLAGS = -DHASH_ALGO_SHA256=1 $(AM_CPPFLAGS) src_sha384sum_SOURCES = src/md5sum.c src_sha384sum_CPPFLAGS = -DHASH_ALGO_SHA384=1 $(AM_CPPFLAGS) src_sha512sum_SOURCES = src/md5sum.c src_sha512sum_CPPFLAGS = -DHASH_ALGO_SHA512=1 $(AM_CPPFLAGS) src_ginstall_CPPFLAGS = -DENABLE_MATCHPATHCON=1 $(AM_CPPFLAGS) # Ensure we don't link against libcoreutils.a as that lib is # not compiled with -fPIC which causes issues on 64 bit at least src_libstdbuf_so_LDADD = # Note libstdbuf is only compiled if GCC is available # (as per the check in configure.ac), so these flags should be available. # libtool is probably required to relax this dependency. src_libstdbuf_so_LDFLAGS = -shared src_libstdbuf_so_CFLAGS = -fPIC $(AM_CFLAGS) BUILT_SOURCES += src/dircolors.h src/dircolors.h: src/dcgen src/dircolors.hin $(AM_V_GEN)rm -f $@ $@-t $(AM_V_at)$(PERL) -w -- $(srcdir)/src/dcgen \ $(srcdir)/src/dircolors.hin > $@-t $(AM_V_at)chmod a-w $@-t $(AM_V_at)mv $@-t $@ # This file is built by maintainers. It's architecture-independent, # and it needs to be built on a widest-known-int architecture, so it's # built only if absent. It is not cleaned because we don't want to # insist that maintainers must build on hosts that support the widest # known ints (currently 128-bit). BUILT_SOURCES += $(top_srcdir)/src/primes.h $(top_srcdir)/src/primes.h: $(MAKE) src/make-prime-list$(EXEEXT) $(AM_V_GEN)rm -f $@ $@-t $(AM_V_at)src/make-prime-list$(EXEEXT) 5000 > $@-t $(AM_V_at)chmod a-w $@-t $(AM_V_at)mv $@-t $@ # false exits nonzero even with --help or --version. # test doesn't support --help or --version. # Tell automake to exempt then from that installcheck test. AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = src/false src/test # Compare fs.h with the list of file system names/magic-numbers in the # Linux statfs man page. This target prints any new name/number pairs. # Also compare against /usr/include/linux/magic.h .PHONY: src/fs-magic-compare src/fs-magic-compare: src/fs-magic src/fs-kernel-magic src/fs-def join -v1 -t@ src/fs-magic src/fs-def join -v1 -t@ src/fs-kernel-magic src/fs-def CLEANFILES += src/fs-def src/fs-def: src/fs.h grep '^# *define ' src/fs.h | $(ASSORT) > $@-t && mv $@-t $@ # Massage bits of the statfs man page and definitions from # /usr/include/linux/magic.h to be in a form consistent with what's in fs.h. fs_normalize_perl_subst = \ -e 's/MINIX_SUPER_MAGIC\b/MINIX/;' \ -e 's/MINIX_SUPER_MAGIC2\b/MINIX_30/;' \ -e 's/MINIX2_SUPER_MAGIC\b/MINIX_V2/;' \ -e 's/MINIX2_SUPER_MAGIC2\b/MINIX_V2_30/;' \ -e 's/MINIX3_SUPER_MAGIC\b/MINIX_V3/;' \ -e 's/CIFS_MAGIC_NUMBER/CIFS/;' \ -e 's/(_SUPER)?_MAGIC//;' \ -e 's/\s+0x(\S+)/" 0x" . uc $$1/e;' \ -e 's/(\s+0x)(\X{3})\b/$${1}0$$2/;' \ -e 's/(\s+0x)(\X{6})\b/$${1}00$$2/;' \ -e 's/(\s+0x)(\X{7})\b/$${1}0$$2/;' \ -e 's/^\s+//;' \ -e 's/^\043define\s+//;' \ -e 's/^_(XIAFS)/$$1/;' \ -e 's/^USBDEVICE/USBDEVFS/;' \ -e 's/NTFS_SB/NTFS/;' \ -e 's/^/\043 define S_MAGIC_/;' \ -e 's,\s*/\* .*? \*/,,;' CLEANFILES += src/fs-magic src/fs-magic: Makefile man statfs \ |perl -ne '/File system types:/.../Nobody kno/ and print' \ |grep 0x | perl -p \ $(fs_normalize_perl_subst) \ | grep -Ev 'S_MAGIC_EXT[34]|STACK_END' \ | $(ASSORT) \ > $@-t && mv $@-t $@ CLEANFILES += src/fs-kernel-magic src/fs-kernel-magic: Makefile perl -ne '/^#define.*0x/ and print' /usr/include/linux/magic.h \ | perl -p \ $(fs_normalize_perl_subst) \ | grep -Ev 'S_MAGIC_EXT[34]|STACK_END' \ | $(ASSORT) \ > $@-t && mv $@-t $@ BUILT_SOURCES += src/fs-is-local.h src/fs-is-local.h: src/stat.c src/extract-magic $(AM_V_GEN)rm -f $@ $(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \ --local $(srcdir)/src/stat.c > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ BUILT_SOURCES += src/fs.h src/fs.h: src/stat.c src/extract-magic $(AM_V_GEN)rm -f $@ $(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \ $(srcdir)/src/stat.c > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ BUILT_SOURCES += src/version.c src/version.c: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf '#include \n' > $@t $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ BUILT_SOURCES += src/version.h src/version.h: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf 'extern char const *Version;\n' > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ DISTCLEANFILES += src/version.c src/version.h MAINTAINERCLEANFILES += $(BUILT_SOURCES) all_programs = \ $(bin_PROGRAMS) \ $(bin_SCRIPTS) \ $(EXTRA_PROGRAMS) pm = progs-makefile pr = progs-readme # Ensure that the list of programs in README matches the list # of programs we can build. check-local: check-README check-duplicate-no-install .PHONY: check-README check-README: $(AM_V_GEN)rm -rf $(pr) $(pm) $(AM_V_at)echo $(all_programs) \ | tr -s ' ' '\n' \ | sed -e 's,$(EXEEXT)$$,,' \ -e 's,^src/,,' \ -e 's/^ginstall$$/install/' \ | sed /libstdbuf/d \ | $(ASSORT) -u > $(pm) && \ sed -n '/^The programs .* are:/,/^[a-zA-Z]/p' $(top_srcdir)/README \ | sed -n '/^ */s///p' | tr -s ' ' '\n' > $(pr) $(AM_V_at)diff $(pm) $(pr) && rm -rf $(pr) $(pm) # Ensure that a by-default-not-installed program (listed in # $(no_install__progs) is not also listed as another $(EXTRA_PROGRAMS) # entry, because if that were to happen, it *would* be installed # by default. .PHONY: check-duplicate-no-install check-duplicate-no-install: src/tr $(AM_V_GEN)test -z "`echo '$(EXTRA_PROGRAMS)' | tr ' ' '\n' | uniq -d`" # Use the just-built 'ginstall', when not cross-compiling. if CROSS_COMPILING cu_install_program = @INSTALL_PROGRAM@ else cu_install_program = src/ginstall endif INSTALL_PROGRAM = $(cu_install_program) coreutils-8.21/src/kill.c0000664000000000000000000002116712102337340012236 00000000000000/* kill -- send a signal to a process Copyright (C) 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "sig2str.h" #include "operand2sig.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "kill" #define AUTHORS proper_name ("Paul Eggert") #if ! (HAVE_DECL_STRSIGNAL || defined strsignal) # if ! (HAVE_DECL_SYS_SIGLIST || defined sys_siglist) # if HAVE_DECL__SYS_SIGLIST || defined _sys_siglist # define sys_siglist _sys_siglist # elif HAVE_DECL___SYS_SIGLIST || defined __sys_siglist # define sys_siglist __sys_siglist # endif # endif # if HAVE_DECL_SYS_SIGLIST || defined sys_siglist # define strsignal(signum) (0 <= (signum) && (signum) <= SIGNUM_BOUND \ ? sys_siglist[signum] \ : 0) # endif # ifndef strsignal # define strsignal(signum) 0 # endif #endif static char const short_options[] = "0::1::2::3::4::5::6::7::8::9::" "A::B::C::D::E::F::G::H::I::J::K::L::M::" "N::O::P::Q::R::S::T::U::V::W::X::Y::Z::" "ln:s:t"; static struct option const long_options[] = { {"list", no_argument, NULL, 'l'}, {"signal", required_argument, NULL, 's'}, {"table", no_argument, NULL, 't'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [-s SIGNAL | -SIGNAL] PID...\n\ or: %s -l [SIGNAL]...\n\ or: %s -t [SIGNAL]...\n\ "), program_name, program_name, program_name); fputs (_("\ Send signals to processes, or list signals.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -s, --signal=SIGNAL, -SIGNAL\n\ specify the name or number of the signal to be sent\n\ -l, --list list signal names, or convert signal names to/from numbers\n\ -t, --table print a table of signal information\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\n\ SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n\ or the exit status of a process terminated by a signal.\n\ PID is an integer; if negative it identifies a process group.\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } /* Print a row of 'kill -t' output. NUM_WIDTH is the maximum signal number width, and SIGNUM is the signal number to print. The maximum name width is NAME_WIDTH, and SIGNAME is the name to print. */ static void print_table_row (unsigned int num_width, int signum, unsigned int name_width, char const *signame) { char const *description = strsignal (signum); printf ("%*d %-*s %s\n", num_width, signum, name_width, signame, description ? description : "?"); } /* Print a list of signal names. If TABLE, print a table. Print the names specified by ARGV if nonzero; otherwise, print all known names. Return a suitable exit status. */ static int list_signals (bool table, char *const *argv) { int signum; int status = EXIT_SUCCESS; char signame[SIG2STR_MAX]; if (table) { unsigned int name_width = 0; /* Compute the maximum width of a signal number. */ unsigned int num_width = 1; for (signum = 1; signum <= SIGNUM_BOUND / 10; signum *= 10) num_width++; /* Compute the maximum width of a signal name. */ for (signum = 1; signum <= SIGNUM_BOUND; signum++) if (sig2str (signum, signame) == 0) { size_t len = strlen (signame); if (name_width < len) name_width = len; } if (argv) for (; *argv; argv++) { signum = operand2sig (*argv, signame); if (signum < 0) status = EXIT_FAILURE; else print_table_row (num_width, signum, name_width, signame); } else for (signum = 1; signum <= SIGNUM_BOUND; signum++) if (sig2str (signum, signame) == 0) print_table_row (num_width, signum, name_width, signame); } else { if (argv) for (; *argv; argv++) { signum = operand2sig (*argv, signame); if (signum < 0) status = EXIT_FAILURE; else { if (ISDIGIT (**argv)) puts (signame); else printf ("%d\n", signum); } } else for (signum = 1; signum <= SIGNUM_BOUND; signum++) if (sig2str (signum, signame) == 0) puts (signame); } return status; } /* Send signal SIGNUM to all the processes or process groups specified by ARGV. Return a suitable exit status. */ static int send_signals (int signum, char *const *argv) { int status = EXIT_SUCCESS; char const *arg = *argv; do { char *endp; intmax_t n = (errno = 0, strtoimax (arg, &endp, 10)); pid_t pid = n; if (errno == ERANGE || pid != n || arg == endp || *endp) { error (0, 0, _("%s: invalid process id"), arg); status = EXIT_FAILURE; } else if (kill (pid, signum) != 0) { error (0, errno, "%s", arg); status = EXIT_FAILURE; } } while ((arg = *++argv)); return status; } int main (int argc, char **argv) { int optc; bool list = false; bool table = false; int signum = -1; char signame[SIG2STR_MAX]; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, short_options, long_options, NULL)) != -1) switch (optc) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (optind != 2) { /* This option is actually a process-id. */ optind--; goto no_more_options; } /* Fall through. */ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': if (! optarg) optarg = argv[optind - 1] + strlen (argv[optind - 1]); if (optarg != argv[optind - 1] + 2) { error (0, 0, _("invalid option -- %c"), optc); usage (EXIT_FAILURE); } optarg--; /* Fall through. */ case 'n': /* -n is not documented, but is for Bash compatibility. */ case 's': if (0 <= signum) { error (0, 0, _("%s: multiple signals specified"), optarg); usage (EXIT_FAILURE); } signum = operand2sig (optarg, signame); if (signum < 0) usage (EXIT_FAILURE); break; case 't': table = true; /* Fall through. */ case 'l': if (list) { error (0, 0, _("multiple -l or -t options specified")); usage (EXIT_FAILURE); } list = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } no_more_options: if (signum < 0) signum = SIGTERM; else if (list) { error (0, 0, _("cannot combine signal with -l or -t")); usage (EXIT_FAILURE); } if ( ! list && argc <= optind) { error (0, 0, _("no process ID specified")); usage (EXIT_FAILURE); } return (list ? list_signals (table, optind < argc ? argv + optind : NULL) : send_signals (signum, argv + optind)); } coreutils-8.21/src/paste.c0000664000000000000000000003517212102337340012420 00000000000000/* paste - merge lines of files Copyright (C) 1997-2013 Free Software Foundation, Inc. Copyright (C) 1984 David M. Ihnat This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David Ihnat. */ /* The list of valid escape sequences has been expanded over the Unix version, to include \b, \f, \r, and \v. POSIX changes, bug fixes, long-named options, and cleanup by David MacKenzie . Options: --serial -s Paste one file at a time rather than one line from each file. --delimiters=delim-list -d delim-list Consecutively use the characters in DELIM-LIST instead of tab to separate merged lines. When DELIM-LIST is exhausted, start again at its beginning. A FILE of '-' means standard input. If no FILEs are given, standard input is used. */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "quotearg.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "paste" #define AUTHORS \ proper_name ("David M. Ihnat"), \ proper_name ("David MacKenzie") /* Indicates that no delimiter should be added in the current position. */ #define EMPTY_DELIM '\0' /* If nonzero, we have read standard input at some point. */ static bool have_read_stdin; /* If nonzero, merge subsequent lines of each file rather than corresponding lines from each file in parallel. */ static bool serial_merge; /* The delimeters between lines of input files (used cyclically). */ static char *delims; /* A pointer to the character after the end of 'delims'. */ static char const *delim_end; static struct option const longopts[] = { {"serial", no_argument, NULL, 's'}, {"delimiters", required_argument, NULL, 'd'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Set globals delims and delim_end. Copy STRPTR to DELIMS, converting backslash representations of special characters in STRPTR to their actual values. The set of possible backslash characters has been expanded beyond that recognized by the Unix version. Return 0 upon success. If the string ends in an odd number of backslashes, ignore the final backslash and return nonzero. */ static int collapse_escapes (char const *strptr) { char *strout = xstrdup (strptr); bool backslash_at_end = false; delims = strout; while (*strptr) { if (*strptr != '\\') /* Is it an escape character? */ *strout++ = *strptr++; /* No, just transfer it. */ else { switch (*++strptr) { case '0': *strout++ = EMPTY_DELIM; break; case 'b': *strout++ = '\b'; break; case 'f': *strout++ = '\f'; break; case 'n': *strout++ = '\n'; break; case 'r': *strout++ = '\r'; break; case 't': *strout++ = '\t'; break; case 'v': *strout++ = '\v'; break; case '\\': *strout++ = '\\'; break; case '\0': backslash_at_end = true; goto done; default: *strout++ = *strptr; break; } strptr++; } } done: delim_end = strout; return backslash_at_end ? 1 : 0; } /* Report a write error and exit. */ static void write_error (void) ATTRIBUTE_NORETURN; static void write_error (void) { error (EXIT_FAILURE, errno, _("write error")); abort (); } /* Output a single byte, reporting any write errors. */ static inline void xputchar (char c) { if (putchar (c) < 0) write_error (); } /* Perform column paste on the NFILES files named in FNAMPTR. Return true if successful, false if one or more files could not be opened or read. */ static bool paste_parallel (size_t nfiles, char **fnamptr) { bool ok = true; /* If all files are just ready to be closed, or will be on this round, the string of delimiters must be preserved. delbuf[0] through delbuf[nfiles] store the delimiters for closed files. */ char *delbuf = xmalloc (nfiles + 2); /* Streams open to the files to process; NULL if the corresponding stream is closed. */ FILE **fileptr = xnmalloc (nfiles + 1, sizeof *fileptr); /* Number of files still open to process. */ size_t files_open; /* True if any fopen got fd == STDIN_FILENO. */ bool opened_stdin = false; /* Attempt to open all files. This could be expanded to an infinite number of files, but at the (considerable) expense of remembering each file and its current offset, then opening/reading/closing. */ for (files_open = 0; files_open < nfiles; ++files_open) { if (STREQ (fnamptr[files_open], "-")) { have_read_stdin = true; fileptr[files_open] = stdin; } else { fileptr[files_open] = fopen (fnamptr[files_open], "r"); if (fileptr[files_open] == NULL) error (EXIT_FAILURE, errno, "%s", fnamptr[files_open]); else if (fileno (fileptr[files_open]) == STDIN_FILENO) opened_stdin = true; fadvise (fileptr[files_open], FADVISE_SEQUENTIAL); } } if (opened_stdin && have_read_stdin) error (EXIT_FAILURE, 0, _("standard input is closed")); /* Read a line from each file and output it to stdout separated by a delimiter, until we go through the loop without successfully reading from any of the files. */ while (files_open) { /* Set up for the next line. */ bool somedone = false; char const *delimptr = delims; size_t delims_saved = 0; /* Number of delims saved in 'delbuf'. */ size_t i; for (i = 0; i < nfiles && files_open; i++) { int chr IF_LINT ( = 0); /* Input character. */ int err IF_LINT ( = 0); /* Input errno value. */ size_t line_length = 0; /* Number of chars in line. */ if (fileptr[i]) { chr = getc (fileptr[i]); err = errno; if (chr != EOF && delims_saved) { if (fwrite (delbuf, 1, delims_saved, stdout) != delims_saved) write_error (); delims_saved = 0; } while (chr != EOF) { line_length++; if (chr == '\n') break; xputchar (chr); chr = getc (fileptr[i]); err = errno; } } if (line_length == 0) { /* EOF, read error, or closed file. If an EOF or error, close the file. */ if (fileptr[i]) { if (ferror (fileptr[i])) { error (0, err, "%s", fnamptr[i]); ok = false; } if (fileptr[i] == stdin) clearerr (fileptr[i]); /* Also clear EOF. */ else if (fclose (fileptr[i]) == EOF) { error (0, errno, "%s", fnamptr[i]); ok = false; } fileptr[i] = NULL; files_open--; } if (i + 1 == nfiles) { /* End of this output line. Is this the end of the whole thing? */ if (somedone) { /* No. Some files were not closed for this line. */ if (delims_saved) { if (fwrite (delbuf, 1, delims_saved, stdout) != delims_saved) write_error (); delims_saved = 0; } xputchar ('\n'); } continue; /* Next read of files, or exit. */ } else { /* Closed file; add delimiter to 'delbuf'. */ if (*delimptr != EMPTY_DELIM) delbuf[delims_saved++] = *delimptr; if (++delimptr == delim_end) delimptr = delims; } } else { /* Some data read. */ somedone = true; /* Except for last file, replace last newline with delim. */ if (i + 1 != nfiles) { if (chr != '\n' && chr != EOF) xputchar (chr); if (*delimptr != EMPTY_DELIM) xputchar (*delimptr); if (++delimptr == delim_end) delimptr = delims; } else { /* If the last line of the last file lacks a newline, print one anyhow. POSIX requires this. */ char c = (chr == EOF ? '\n' : chr); xputchar (c); } } } } free (fileptr); free (delbuf); return ok; } /* Perform serial paste on the NFILES files named in FNAMPTR. Return true if no errors, false if one or more files could not be opened or read. */ static bool paste_serial (size_t nfiles, char **fnamptr) { bool ok = true; /* false if open or read errors occur. */ int charnew, charold; /* Current and previous char read. */ char const *delimptr; /* Current delimiter char. */ FILE *fileptr; /* Open for reading current file. */ for (; nfiles; nfiles--, fnamptr++) { int saved_errno; bool is_stdin = STREQ (*fnamptr, "-"); if (is_stdin) { have_read_stdin = true; fileptr = stdin; } else { fileptr = fopen (*fnamptr, "r"); if (fileptr == NULL) { error (0, errno, "%s", *fnamptr); ok = false; continue; } fadvise (fileptr, FADVISE_SEQUENTIAL); } delimptr = delims; /* Set up for delimiter string. */ charold = getc (fileptr); saved_errno = errno; if (charold != EOF) { /* 'charold' is set up. Hit it! Keep reading characters, stashing them in 'charnew'; output 'charold', converting to the appropriate delimiter character if needed. After the EOF, output 'charold' if it's a newline; otherwise, output it and then a newline. */ while ((charnew = getc (fileptr)) != EOF) { /* Process the old character. */ if (charold == '\n') { if (*delimptr != EMPTY_DELIM) xputchar (*delimptr); if (++delimptr == delim_end) delimptr = delims; } else xputchar (charold); charold = charnew; } saved_errno = errno; /* Hit EOF. Process that last character. */ xputchar (charold); } if (charold != '\n') xputchar ('\n'); if (ferror (fileptr)) { error (0, saved_errno, "%s", *fnamptr); ok = false; } if (is_stdin) clearerr (fileptr); /* Also clear EOF. */ else if (fclose (fileptr) == EOF) { error (0, errno, "%s", *fnamptr); ok = false; } } return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Write lines consisting of the sequentially corresponding lines from\n\ each FILE, separated by TABs, to standard output.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -d, --delimiters=LIST reuse characters from LIST instead of TABs\n\ -s, --serial paste one file at a time instead of in parallel\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); /* FIXME: add a couple of examples. */ emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; bool ok; char const *delim_arg = "\t"; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; serial_merge = false; while ((optc = getopt_long (argc, argv, "d:s", longopts, NULL)) != -1) { switch (optc) { case 'd': /* Delimiter character(s). */ delim_arg = (optarg[0] == '\0' ? "\\0" : optarg); break; case 's': serial_merge = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) argv[argc++] = bad_cast ("-"); if (collapse_escapes (delim_arg)) { /* Don't use the default quoting style, because that would double the number of displayed backslashes, making the diagnostic look bogus. */ set_quoting_style (NULL, escape_quoting_style); error (EXIT_FAILURE, 0, _("delimiter list ends with an unescaped backslash: %s"), quotearg_colon (delim_arg)); } if (!serial_merge) ok = paste_parallel (argc - optind, &argv[optind]); else ok = paste_serial (argc - optind, &argv[optind]); free (delims); if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/du.c0000664000000000000000000010050012102337340011700 00000000000000/* du -- summarize disk usage Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Differences from the Unix du: * Doesn't simply ignore the names of regular files given as arguments when -a is given. By tege@sics.se, Torbjorn Granlund, and djm@ai.mit.edu, David MacKenzie. Variable blocks added by lm@sgi.com and eggert@twinsun.com. Rewritten to use nftw, then to use fts by Jim Meyering. */ #include #include #include #include #include "system.h" #include "argmatch.h" #include "argv-iter.h" #include "di-set.h" #include "error.h" #include "exclude.h" #include "fprintftime.h" #include "human.h" #include "mountlist.h" #include "quote.h" #include "quotearg.h" #include "stat-size.h" #include "stat-time.h" #include "stdio--.h" #include "xfts.h" #include "xstrtol.h" extern bool fts_debug; /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "du" #define AUTHORS \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name ("David MacKenzie"), \ proper_name ("Paul Eggert"), \ proper_name ("Jim Meyering") #if DU_DEBUG # define FTS_CROSS_CHECK(Fts) fts_cross_check (Fts) #else # define FTS_CROSS_CHECK(Fts) #endif /* A set of dev/ino pairs to help identify files and directories whose sizes have already been counted. */ static struct di_set *di_files; /* A set containing a dev/ino pair for each local mount point directory. */ static struct di_set *di_mnt; /* Keep track of the preceding "level" (depth in hierarchy) from one call of process_file to the next. */ static size_t prev_level; /* Define a class for collecting directory information. */ struct duinfo { /* Size of files in directory. */ uintmax_t size; /* Latest time stamp found. If tmax.tv_sec == TYPE_MINIMUM (time_t) && tmax.tv_nsec < 0, no time stamp has been found. */ struct timespec tmax; }; /* Initialize directory data. */ static inline void duinfo_init (struct duinfo *a) { a->size = 0; a->tmax.tv_sec = TYPE_MINIMUM (time_t); a->tmax.tv_nsec = -1; } /* Set directory data. */ static inline void duinfo_set (struct duinfo *a, uintmax_t size, struct timespec tmax) { a->size = size; a->tmax = tmax; } /* Accumulate directory data. */ static inline void duinfo_add (struct duinfo *a, struct duinfo const *b) { uintmax_t sum = a->size + b->size; a->size = a->size <= sum ? sum : UINTMAX_MAX; if (timespec_cmp (a->tmax, b->tmax) < 0) a->tmax = b->tmax; } /* A structure for per-directory level information. */ struct dulevel { /* Entries in this directory. */ struct duinfo ent; /* Total for subdirectories. */ struct duinfo subdir; }; /* If true, display counts for all files, not just directories. */ static bool opt_all = false; /* If true, rather than using the disk usage of each file, use the apparent size (a la stat.st_size). */ static bool apparent_size = false; /* If true, count each hard link of files with multiple links. */ static bool opt_count_all = false; /* If true, hash all files to look for hard links. */ static bool hash_all; /* If true, output the NUL byte instead of a newline at the end of each line. */ static bool opt_nul_terminate_output = false; /* If true, print a grand total at the end. */ static bool print_grand_total = false; /* If nonzero, do not add sizes of subdirectories. */ static bool opt_separate_dirs = false; /* Show the total for each directory (and file if --all) that is at most MAX_DEPTH levels down from the root of the hierarchy. The root is at level 0, so 'du --max-depth=0' is equivalent to 'du -s'. */ static size_t max_depth = SIZE_MAX; /* Only output entries with at least this SIZE if positive, or at most if negative. See --threshold option. */ static intmax_t opt_threshold = 0; /* Human-readable options for output. */ static int human_output_opts; /* If true, print most recently modified date, using the specified format. */ static bool opt_time = false; /* Type of time to display. controlled by --time. */ enum time_type { time_mtime, /* default */ time_ctime, time_atime }; static enum time_type time_type = time_mtime; /* User specified date / time style */ static char const *time_style = NULL; /* Format used to display date / time. Controlled by --time-style */ static char const *time_format = NULL; /* The units to use when printing sizes. */ static uintmax_t output_block_size; /* File name patterns to exclude. */ static struct exclude *exclude; /* Grand total size of all args, in bytes. Also latest modified date. */ static struct duinfo tot_dui; #define IS_DIR_TYPE(Type) \ ((Type) == FTS_DP \ || (Type) == FTS_DNR) /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { APPARENT_SIZE_OPTION = CHAR_MAX + 1, EXCLUDE_OPTION, FILES0_FROM_OPTION, HUMAN_SI_OPTION, FTS_DEBUG, TIME_OPTION, TIME_STYLE_OPTION }; static struct option const long_options[] = { {"all", no_argument, NULL, 'a'}, {"apparent-size", no_argument, NULL, APPARENT_SIZE_OPTION}, {"block-size", required_argument, NULL, 'B'}, {"bytes", no_argument, NULL, 'b'}, {"count-links", no_argument, NULL, 'l'}, /* {"-debug", no_argument, NULL, FTS_DEBUG}, */ {"dereference", no_argument, NULL, 'L'}, {"dereference-args", no_argument, NULL, 'D'}, {"exclude", required_argument, NULL, EXCLUDE_OPTION}, {"exclude-from", required_argument, NULL, 'X'}, {"files0-from", required_argument, NULL, FILES0_FROM_OPTION}, {"human-readable", no_argument, NULL, 'h'}, {"si", no_argument, NULL, HUMAN_SI_OPTION}, {"max-depth", required_argument, NULL, 'd'}, {"null", no_argument, NULL, '0'}, {"no-dereference", no_argument, NULL, 'P'}, {"one-file-system", no_argument, NULL, 'x'}, {"separate-dirs", no_argument, NULL, 'S'}, {"summarize", no_argument, NULL, 's'}, {"total", no_argument, NULL, 'c'}, {"threshold", required_argument, NULL, 't'}, {"time", optional_argument, NULL, TIME_OPTION}, {"time-style", required_argument, NULL, TIME_STYLE_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; static char const *const time_args[] = { "atime", "access", "use", "ctime", "status", NULL }; static enum time_type const time_types[] = { time_atime, time_atime, time_atime, time_ctime, time_ctime }; ARGMATCH_VERIFY (time_args, time_types); /* 'full-iso' uses full ISO-style dates and times. 'long-iso' uses longer ISO-style time stamps, though shorter than 'full-iso'. 'iso' uses shorter ISO-style time stamps. */ enum time_style { full_iso_time_style, /* --time-style=full-iso */ long_iso_time_style, /* --time-style=long-iso */ iso_time_style /* --time-style=iso */ }; static char const *const time_style_args[] = { "full-iso", "long-iso", "iso", NULL }; static enum time_style const time_style_types[] = { full_iso_time_style, long_iso_time_style, iso_time_style }; ARGMATCH_VERIFY (time_style_args, time_style_types); void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ or: %s [OPTION]... --files0-from=F\n\ "), program_name, program_name); fputs (_("\ Summarize disk usage of each FILE, recursively for directories.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -0, --null end each output line with 0 byte rather than newline\n\ -a, --all write counts for all files, not just directories\n\ --apparent-size print apparent sizes, rather than disk usage; although\ \n\ the apparent size is usually smaller, it may be\n\ larger due to holes in ('sparse') files, internal\n\ fragmentation, indirect blocks, and the like\n\ "), stdout); fputs (_("\ -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n\ '-BM' prints sizes in units of 1,048,576 bytes.\n\ See SIZE format below.\n\ -b, --bytes equivalent to '--apparent-size --block-size=1'\n\ -c, --total produce a grand total\n\ -D, --dereference-args dereference only symlinks that are listed on the\n\ command line\n\ -d, --max-depth=N print the total for a directory (or file, with --all)\n\ only if it is N or fewer levels below the command\n\ line argument; --max-depth=0 is the same as\n\ --summarize\n\ "), stdout); fputs (_("\ --files0-from=F summarize disk usage of the NUL-terminated file\n\ names specified in file F;\n\ If F is - then read names from standard input\n\ -H equivalent to --dereference-args (-D)\n\ -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)\ \n\ "), stdout); fputs (_("\ -k like --block-size=1K\n\ -L, --dereference dereference all symbolic links\n\ -l, --count-links count sizes many times if hard linked\n\ -m like --block-size=1M\n\ "), stdout); fputs (_("\ -P, --no-dereference don't follow any symbolic links (this is the default)\n\ -S, --separate-dirs do not include size of subdirectories\n\ --si like -h, but use powers of 1000 not 1024\n\ -s, --summarize display only a total for each argument\n\ "), stdout); fputs (_("\ -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n\ or entries greater than SIZE if negative\n\ --time show time of the last modification of any file in the\n\ directory, or any of its subdirectories\n\ --time=WORD show time as WORD instead of modification time:\n\ atime, access, use, ctime or status\n\ --time-style=STYLE show times using style STYLE:\n\ full-iso, long-iso, iso, +FORMAT\n\ FORMAT is interpreted like 'date'\n\ "), stdout); fputs (_("\ -X, --exclude-from=FILE exclude files that match any pattern in FILE\n\ --exclude=PATTERN exclude files that match PATTERN\n\ -x, --one-file-system skip directories on different file systems\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_blocksize_note ("DU"); emit_size_note (); emit_ancillary_info (); } exit (status); } /* Try to insert the INO/DEV pair into DI_SET. Return true if the pair is successfully inserted, false if the pair was already there. */ static bool hash_ins (struct di_set *di_set, ino_t ino, dev_t dev) { int inserted = di_set_insert (di_set, dev, ino); if (inserted < 0) xalloc_die (); return inserted; } /* FIXME: this code is nearly identical to code in date.c */ /* Display the date and time in WHEN according to the format specified in FORMAT. */ static void show_date (const char *format, struct timespec when) { struct tm *tm = localtime (&when.tv_sec); if (! tm) { char buf[INT_BUFSIZE_BOUND (intmax_t)]; char *when_str = timetostr (when.tv_sec, buf); error (0, 0, _("time %s is out of range"), when_str); fputs (when_str, stdout); return; } fprintftime (stdout, format, tm, 0, when.tv_nsec); } /* Print N_BYTES. Convert it to a readable value before printing. */ static void print_only_size (uintmax_t n_bytes) { char buf[LONGEST_HUMAN_READABLE + 1]; fputs ((n_bytes == UINTMAX_MAX ? _("Infinity") : human_readable (n_bytes, buf, human_output_opts, 1, output_block_size)), stdout); } /* Print size (and optionally time) indicated by *PDUI, followed by STRING. */ static void print_size (const struct duinfo *pdui, const char *string) { print_only_size (pdui->size); if (opt_time) { putchar ('\t'); show_date (time_format, pdui->tmax); } printf ("\t%s%c", string, opt_nul_terminate_output ? '\0' : '\n'); fflush (stdout); } /* This function is called once for every file system object that fts encounters. fts does a depth-first traversal. This function knows that and accumulates per-directory totals based on changes in the depth of the current entry. It returns true on success. */ static bool process_file (FTS *fts, FTSENT *ent) { bool ok = true; struct duinfo dui; struct duinfo dui_to_print; size_t level; static size_t n_alloc; /* First element of the structure contains: The sum of the st_size values of all entries in the single directory at the corresponding level. Although this does include the st_size corresponding to each subdirectory, it does not include the size of any file in a subdirectory. Also corresponding last modified date. Second element of the structure contains: The sum of the sizes of all entries in the hierarchy at or below the directory at the specified level. */ static struct dulevel *dulvl; const char *file = ent->fts_path; const struct stat *sb = ent->fts_statp; int info = ent->fts_info; if (info == FTS_DNR) { /* An error occurred, but the size is known, so count it. */ error (0, ent->fts_errno, _("cannot read directory %s"), quote (file)); ok = false; } else if (info != FTS_DP) { bool excluded = excluded_file_name (exclude, file); if (! excluded) { /* Make the stat buffer *SB valid, or fail noisily. */ if (info == FTS_NSOK) { fts_set (fts, ent, FTS_AGAIN); FTSENT const *e = fts_read (fts); assert (e == ent); info = ent->fts_info; } if (info == FTS_NS || info == FTS_SLNONE) { error (0, ent->fts_errno, _("cannot access %s"), quote (file)); return false; } /* The --one-file-system (-x) option cannot exclude anything specified on the command-line. By definition, it can exclude a file or directory only when its device number is different from that of its just-processed parent directory, and du does not process the parent of a command-line argument. */ if (fts->fts_options & FTS_XDEV && FTS_ROOTLEVEL < ent->fts_level && fts->fts_dev != sb->st_dev) excluded = true; } if (excluded || (! opt_count_all && (hash_all || (! S_ISDIR (sb->st_mode) && 1 < sb->st_nlink)) && ! hash_ins (di_files, sb->st_ino, sb->st_dev))) { /* If ignoring a directory in preorder, skip its children. Ignore the next fts_read output too, as it's a postorder visit to the same directory. */ if (info == FTS_D) { fts_set (fts, ent, FTS_SKIP); FTSENT const *e = fts_read (fts); assert (e == ent); } return true; } switch (info) { case FTS_D: return true; case FTS_ERR: /* An error occurred, but the size is known, so count it. */ error (0, ent->fts_errno, "%s", quote (file)); ok = false; break; case FTS_DC: if (cycle_warning_required (fts, ent)) { /* If this is a mount point, then diagnose it and avoid the cycle. */ if (di_set_lookup (di_mnt, sb->st_dev, sb->st_ino)) error (0, 0, _("mount point %s already traversed"), quote (file)); else emit_cycle_warning (file); return false; } return true; } } duinfo_set (&dui, (apparent_size ? MAX (0, sb->st_size) : (uintmax_t) ST_NBLOCKS (*sb) * ST_NBLOCKSIZE), (time_type == time_mtime ? get_stat_mtime (sb) : time_type == time_atime ? get_stat_atime (sb) : get_stat_ctime (sb))); level = ent->fts_level; dui_to_print = dui; if (n_alloc == 0) { n_alloc = level + 10; dulvl = xcalloc (n_alloc, sizeof *dulvl); } else { if (level == prev_level) { /* This is usually the most common case. Do nothing. */ } else if (level > prev_level) { /* Descending the hierarchy. Clear the accumulators for *all* levels between prev_level and the current one. The depth may change dramatically, e.g., from 1 to 10. */ size_t i; if (n_alloc <= level) { dulvl = xnrealloc (dulvl, level, 2 * sizeof *dulvl); n_alloc = level * 2; } for (i = prev_level + 1; i <= level; i++) { duinfo_init (&dulvl[i].ent); duinfo_init (&dulvl[i].subdir); } } else /* level < prev_level */ { /* Ascending the hierarchy. Process a directory only after all entries in that directory have been processed. When the depth decreases, propagate sums from the children (prev_level) to the parent. Here, the current level is always one smaller than the previous one. */ assert (level == prev_level - 1); duinfo_add (&dui_to_print, &dulvl[prev_level].ent); if (!opt_separate_dirs) duinfo_add (&dui_to_print, &dulvl[prev_level].subdir); duinfo_add (&dulvl[level].subdir, &dulvl[prev_level].ent); duinfo_add (&dulvl[level].subdir, &dulvl[prev_level].subdir); } } prev_level = level; /* Let the size of a directory entry contribute to the total for the containing directory, unless --separate-dirs (-S) is specified. */ if (! (opt_separate_dirs && IS_DIR_TYPE (info))) duinfo_add (&dulvl[level].ent, &dui); /* Even if this directory is unreadable or we can't chdir into it, do let its size contribute to the total. */ duinfo_add (&tot_dui, &dui); if ((IS_DIR_TYPE (info) && level <= max_depth) || (opt_all && level <= max_depth) || level == 0) { /* Print or elide this entry according to the --threshold option. */ if (opt_threshold < 0 ? dui_to_print.size <= -opt_threshold : dui_to_print.size >= opt_threshold) print_size (&dui_to_print, file); } return ok; } /* Recursively print the sizes of the directories (and, if selected, files) named in FILES, the last entry of which is NULL. BIT_FLAGS controls how fts works. Return true if successful. */ static bool du_files (char **files, int bit_flags) { bool ok = true; if (*files) { FTS *fts = xfts_open (files, bit_flags, NULL); while (1) { FTSENT *ent; ent = fts_read (fts); if (ent == NULL) { if (errno != 0) { error (0, errno, _("fts_read failed: %s"), quotearg_colon (fts->fts_path)); ok = false; } /* When exiting this loop early, be careful to reset the global, prev_level, used in process_file. Otherwise, its (level == prev_level - 1) assertion could fail. */ prev_level = 0; break; } FTS_CROSS_CHECK (fts); ok &= process_file (fts, ent); } if (fts_close (fts) != 0) { error (0, errno, _("fts_close failed")); ok = false; } } return ok; } /* Fill the di_mnt set with local mount point dev/ino pairs. */ static void fill_mount_table (void) { struct mount_entry *mnt_ent = read_file_system_list (false); while (mnt_ent) { struct mount_entry *mnt_free; if (!mnt_ent->me_remote && !mnt_ent->me_dummy) { struct stat buf; if (!stat (mnt_ent->me_mountdir, &buf)) hash_ins (di_mnt, buf.st_ino, buf.st_dev); else { /* Ignore stat failure. False positives are too common. E.g., "Permission denied" on /run/user//gvfs. */ } } mnt_free = mnt_ent; mnt_ent = mnt_ent->me_next; free (mnt_free->me_devname); free (mnt_free->me_mountdir); if (mnt_free->me_type_malloced) free (mnt_free->me_type); free (mnt_free); } } int main (int argc, char **argv) { char *cwd_only[2]; bool max_depth_specified = false; bool ok = true; char *files_from = NULL; /* Bit flags that control how fts works. */ int bit_flags = FTS_NOSTAT; /* Select one of the three FTS_ options that control if/when to follow a symlink. */ int symlink_deref_bits = FTS_PHYSICAL; /* If true, display only a total for each argument. */ bool opt_summarize_only = false; cwd_only[0] = bad_cast ("."); cwd_only[1] = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); exclude = new_exclude (); human_options (getenv ("DU_BLOCK_SIZE"), &human_output_opts, &output_block_size); while (true) { int oi = -1; int c = getopt_long (argc, argv, "0abd:chHklmst:xB:DLPSX:", long_options, &oi); if (c == -1) break; switch (c) { #if DU_DEBUG case FTS_DEBUG: fts_debug = true; break; #endif case '0': opt_nul_terminate_output = true; break; case 'a': opt_all = true; break; case APPARENT_SIZE_OPTION: apparent_size = true; break; case 'b': apparent_size = true; human_output_opts = 0; output_block_size = 1; break; case 'c': print_grand_total = true; break; case 'h': human_output_opts = human_autoscale | human_SI | human_base_1024; output_block_size = 1; break; case HUMAN_SI_OPTION: human_output_opts = human_autoscale | human_SI; output_block_size = 1; break; case 'k': human_output_opts = 0; output_block_size = 1024; break; case 'd': /* --max-depth=N */ { unsigned long int tmp_ulong; if (xstrtoul (optarg, NULL, 0, &tmp_ulong, NULL) == LONGINT_OK && tmp_ulong <= SIZE_MAX) { max_depth_specified = true; max_depth = tmp_ulong; } else { error (0, 0, _("invalid maximum depth %s"), quote (optarg)); ok = false; } } break; case 'm': human_output_opts = 0; output_block_size = 1024 * 1024; break; case 'l': opt_count_all = true; break; case 's': opt_summarize_only = true; break; case 't': { enum strtol_error e; e = xstrtoimax (optarg, NULL, 0, &opt_threshold, "kKmMGTPEZY0"); if (e != LONGINT_OK) xstrtol_fatal (e, oi, c, long_options, optarg); if (opt_threshold == 0 && *optarg == '-') { /* Do not allow -0, as this wouldn't make sense anyway. */ error (EXIT_FAILURE, 0, _("invalid --threshold argument '-0'")); } } break; case 'x': bit_flags |= FTS_XDEV; break; case 'B': { enum strtol_error e = human_options (optarg, &human_output_opts, &output_block_size); if (e != LONGINT_OK) xstrtol_fatal (e, oi, c, long_options, optarg); } break; case 'H': /* NOTE: before 2008-12, -H was equivalent to --si. */ case 'D': symlink_deref_bits = FTS_COMFOLLOW | FTS_PHYSICAL; break; case 'L': /* --dereference */ symlink_deref_bits = FTS_LOGICAL; break; case 'P': /* --no-dereference */ symlink_deref_bits = FTS_PHYSICAL; break; case 'S': opt_separate_dirs = true; break; case 'X': if (add_exclude_file (add_exclude, exclude, optarg, EXCLUDE_WILDCARDS, '\n')) { error (0, errno, "%s", quotearg_colon (optarg)); ok = false; } break; case FILES0_FROM_OPTION: files_from = optarg; break; case EXCLUDE_OPTION: add_exclude (exclude, optarg, EXCLUDE_WILDCARDS); break; case TIME_OPTION: opt_time = true; time_type = (optarg ? XARGMATCH ("--time", optarg, time_args, time_types) : time_mtime); break; case TIME_STYLE_OPTION: time_style = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: ok = false; } } if (!ok) usage (EXIT_FAILURE); if (opt_all && opt_summarize_only) { error (0, 0, _("cannot both summarize and show all entries")); usage (EXIT_FAILURE); } if (opt_summarize_only && max_depth_specified && max_depth == 0) { error (0, 0, _("warning: summarizing is the same as using --max-depth=0")); } if (opt_summarize_only && max_depth_specified && max_depth != 0) { unsigned long int d = max_depth; error (0, 0, _("warning: summarizing conflicts with --max-depth=%lu"), d); usage (EXIT_FAILURE); } if (opt_summarize_only) max_depth = 0; /* Process time style if printing last times. */ if (opt_time) { if (! time_style) { time_style = getenv ("TIME_STYLE"); /* Ignore TIMESTYLE="locale", for compatibility with ls. */ if (! time_style || STREQ (time_style, "locale")) time_style = "long-iso"; else if (*time_style == '+') { /* Ignore anything after a newline, for compatibility with ls. */ char *p = strchr (time_style, '\n'); if (p) *p = '\0'; } else { /* Ignore "posix-" prefix, for compatibility with ls. */ static char const posix_prefix[] = "posix-"; while (strncmp (time_style, posix_prefix, sizeof posix_prefix - 1) == 0) time_style += sizeof posix_prefix - 1; } } if (*time_style == '+') time_format = time_style + 1; else { switch (XARGMATCH ("time style", time_style, time_style_args, time_style_types)) { case full_iso_time_style: time_format = "%Y-%m-%d %H:%M:%S.%N %z"; break; case long_iso_time_style: time_format = "%Y-%m-%d %H:%M"; break; case iso_time_style: time_format = "%Y-%m-%d"; break; } } } struct argv_iterator *ai; if (files_from) { /* When using --files0-from=F, you may not specify any files on the command-line. */ if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); fprintf (stderr, "%s\n", _("file operands cannot be combined with --files0-from")); usage (EXIT_FAILURE); } if (! (STREQ (files_from, "-") || freopen (files_from, "r", stdin))) error (EXIT_FAILURE, errno, _("cannot open %s for reading"), quote (files_from)); ai = argv_iter_init_stream (stdin); /* It's not easy here to count the arguments, so assume the worst. */ hash_all = true; } else { char **files = (optind < argc ? argv + optind : cwd_only); ai = argv_iter_init_argv (files); /* Hash all dev,ino pairs if there are multiple arguments, or if following non-command-line symlinks, because in either case a file with just one hard link might be seen more than once. */ hash_all = (optind + 1 < argc || symlink_deref_bits == FTS_LOGICAL); } if (!ai) xalloc_die (); /* Initialize the set of dev,inode pairs. */ di_mnt = di_set_alloc (); if (!di_mnt) xalloc_die (); fill_mount_table (); di_files = di_set_alloc (); if (!di_files) xalloc_die (); /* If not hashing everything, process_file won't find cycles on its own, so ask fts_read to check for them accurately. */ if (opt_count_all || ! hash_all) bit_flags |= FTS_TIGHT_CYCLE_CHECK; bit_flags |= symlink_deref_bits; static char *temp_argv[] = { NULL, NULL }; while (true) { bool skip_file = false; enum argv_iter_err ai_err; char *file_name = argv_iter (ai, &ai_err); if (!file_name) { switch (ai_err) { case AI_ERR_EOF: goto argv_iter_done; case AI_ERR_READ: error (0, errno, _("%s: read error"), quotearg_colon (files_from)); ok = false; goto argv_iter_done; case AI_ERR_MEM: xalloc_die (); default: assert (!"unexpected error code from argv_iter"); } } if (files_from && STREQ (files_from, "-") && STREQ (file_name, "-")) { /* Give a better diagnostic in an unusual case: printf - | du --files0-from=- */ error (0, 0, _("when reading file names from stdin, " "no file name of %s allowed"), quote (file_name)); skip_file = true; } /* Report and skip any empty file names before invoking fts. This works around a glitch in fts, which fails immediately (without looking at the other file names) when given an empty file name. */ if (!file_name[0]) { /* Diagnose a zero-length file name. When it's one among many, knowing the record number may help. FIXME: currently print the record number only with --files0-from=FILE. Maybe do it for argv, too? */ if (files_from == NULL) error (0, 0, "%s", _("invalid zero-length file name")); else { /* Using the standard 'filename:line-number:' prefix here is not totally appropriate, since NUL is the separator, not NL, but it might be better than nothing. */ unsigned long int file_number = argv_iter_n_args (ai); error (0, 0, "%s:%lu: %s", quotearg_colon (files_from), file_number, _("invalid zero-length file name")); } skip_file = true; } if (skip_file) ok = false; else { temp_argv[0] = file_name; ok &= du_files (temp_argv, bit_flags); } } argv_iter_done: argv_iter_free (ai); di_set_free (di_files); di_set_free (di_mnt); if (files_from && (ferror (stdin) || fclose (stdin) != 0) && ok) error (EXIT_FAILURE, 0, _("error reading %s"), quote (files_from)); if (print_grand_total) print_size (&tot_dui, _("total")); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/setuidgid.c0000664000000000000000000001361712102337340013265 00000000000000/* setuidgid - run a command with the UID and GID of a specified user Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "mgetgroups.h" #include "quote.h" #include "xstrtol.h" #define PROGRAM_NAME "setuidgid" /* I wrote this program from scratch, based on the description of D.J. Bernstein's program: http://cr.yp.to/daemontools/setuidgid.html. */ #define AUTHORS proper_name ("Jim Meyering") #define SETUIDGID_FAILURE 111 void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n\ or: %s LONG-OPTION\n\ "), program_name, program_name); fputs (_("\ Drop any supplemental groups, assume the user-ID and group-ID of the specified\ \n\ USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs.\n\ Exit with status 111 if unable to assume the required user and group ID.\n\ Otherwise, exit with the exit status of COMMAND.\n\ This program is useful only when run by root (user ID zero).\n\ \n\ "), stdout); fputs (_("\ -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n\ (if specified) supplemental group IDs to GID1, ...\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { uid_t uid; GETGROUPS_T *gids = NULL; size_t n_gids = 0; size_t n_gids_allocated = 0; gid_t primary_gid; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (SETUIDGID_FAILURE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); { int c; while ((c = getopt_long (argc, argv, "+g:", NULL, NULL)) != -1) { switch (c) { case 'g': { unsigned long int tmp_ul; char *gr = optarg; char *ptr; while (true) { if (! (xstrtoul (gr, &ptr, 10, &tmp_ul, NULL) == LONGINT_OK && tmp_ul <= GID_T_MAX)) error (SETUIDGID_FAILURE, 0, _("invalid group %s"), quote (gr)); if (n_gids == n_gids_allocated) gids = X2NREALLOC (gids, &n_gids_allocated); gids[n_gids++] = tmp_ul; if (*ptr == '\0') break; if (*ptr != ',') { error (0, 0, _("invalid group %s"), quote (gr)); usage (SETUIDGID_FAILURE); } gr = ptr + 1; } break; } default: usage (SETUIDGID_FAILURE); } } } if (argc <= optind + 1) { if (argc < optind + 1) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[optind])); usage (SETUIDGID_FAILURE); } { const struct passwd *pwd; unsigned long int tmp_ul; char *user = argv[optind]; char *ptr; bool have_uid = false; if (xstrtoul (user, &ptr, 10, &tmp_ul, "") == LONGINT_OK && tmp_ul <= UID_T_MAX) { uid = tmp_ul; have_uid = true; } if (!have_uid) { pwd = getpwnam (user); if (pwd == NULL) { error (0, errno, _("unknown user-ID: %s"), quote (user)); usage (SETUIDGID_FAILURE); } uid = pwd->pw_uid; } else if (n_gids == 0) { pwd = getpwuid (uid); if (pwd == NULL) { error (0, errno, _("to use user-ID %s you need to use -g too"), quote (user)); usage (SETUIDGID_FAILURE); } } #if HAVE_SETGROUPS if (n_gids == 0) { int n = xgetgroups (pwd->pw_name, pwd->pw_gid, &gids); if (n <= 0) error (SETUIDGID_FAILURE, errno, _("failed to get groups for user %s"), quote (pwd->pw_name)); n_gids = n; } if (setgroups (n_gids, gids)) error (SETUIDGID_FAILURE, errno, _("failed to set supplemental group(s)")); primary_gid = gids[0]; #else primary_gid = pwd->pw_gid; #endif } if (setgid (primary_gid)) error (SETUIDGID_FAILURE, errno, _("cannot set group-ID to %lu"), (unsigned long int) primary_gid); if (setuid (uid)) error (SETUIDGID_FAILURE, errno, _("cannot set user-ID to %lu"), (unsigned long int) uid); { char **cmd = argv + optind + 1; int exit_status; execvp (*cmd, cmd); exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE); error (0, errno, _("failed to run command %s"), quote (*cmd)); exit (exit_status); } } coreutils-8.21/src/cp-hash.h0000664000000000000000000000031411760630450012631 00000000000000void hash_init (void); void forget_all (void); void forget_created (ino_t ino, dev_t dev); char *remember_copied (const char *node, ino_t ino, dev_t dev); char *src_to_dest_lookup (ino_t ino, dev_t dev); coreutils-8.21/src/uname-arch.c0000664000000000000000000000006011624727241013323 00000000000000#include "uname.h" int uname_mode = UNAME_ARCH; coreutils-8.21/src/expr.c0000664000000000000000000005157012102337340012262 00000000000000/* expr -- evaluate expressions. Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Author: Mike Parker. Modified for arbitrary-precision calculation by James Youngman. This program evaluates expressions. Each token (operator, operand, parenthesis) of the expression must be a separate argument. The parser used is a reasonably general one, though any incarnation of it is language-specific. It is especially nice for expressions. No parse tree is needed; a new node is evaluated immediately. One function can handle multiple operators all of equal precedence, provided they all associate ((x op x) op x). Define EVAL_TRACE to print an evaluation trace. */ #include #include #include #include "system.h" #include #include "error.h" #include "long-options.h" #include "quotearg.h" #include "strnumcmp.h" #include "xstrtol.h" /* Various parts of this code assume size_t fits into unsigned long int, the widest unsigned type that GMP supports. */ verify (SIZE_MAX <= ULONG_MAX); static void integer_overflow (char) ATTRIBUTE_NORETURN; #ifndef HAVE_GMP # define HAVE_GMP 0 #endif #if HAVE_GMP # include #else /* Approximate gmp.h well enough for expr.c's purposes. */ typedef intmax_t mpz_t[1]; static void mpz_clear (mpz_t z) { (void) z; } static void mpz_init_set_ui (mpz_t z, unsigned long int i) { z[0] = i; } static int mpz_init_set_str (mpz_t z, char *s, int base) { return xstrtoimax (s, NULL, base, z, NULL) == LONGINT_OK ? 0 : -1; } static void mpz_add (mpz_t r, mpz_t a0, mpz_t b0) { intmax_t a = a0[0]; intmax_t b = b0[0]; intmax_t val = a + b; if ((val < a) != (b < 0)) integer_overflow ('+'); r[0] = val; } static void mpz_sub (mpz_t r, mpz_t a0, mpz_t b0) { intmax_t a = a0[0]; intmax_t b = b0[0]; intmax_t val = a - b; if ((a < val) != (b < 0)) integer_overflow ('-'); r[0] = val; } static void mpz_mul (mpz_t r, mpz_t a0, mpz_t b0) { intmax_t a = a0[0]; intmax_t b = b0[0]; intmax_t val = a * b; if (! (a == 0 || b == 0 || ((val < 0) == ((a < 0) ^ (b < 0)) && val / a == b))) integer_overflow ('*'); r[0] = val; } static void mpz_tdiv_q (mpz_t r, mpz_t a0, mpz_t b0) { intmax_t a = a0[0]; intmax_t b = b0[0]; /* Some x86-style hosts raise an exception for INT_MIN / -1. */ if (a < - INTMAX_MAX && b == -1) integer_overflow ('/'); r[0] = a / b; } static void mpz_tdiv_r (mpz_t r, mpz_t a0, mpz_t b0) { intmax_t a = a0[0]; intmax_t b = b0[0]; /* Some x86-style hosts raise an exception for INT_MIN % -1. */ r[0] = a < - INTMAX_MAX && b == -1 ? 0 : a % b; } static char * mpz_get_str (char const *str, int base, mpz_t z) { (void) str; (void) base; char buf[INT_BUFSIZE_BOUND (intmax_t)]; return xstrdup (imaxtostr (z[0], buf)); } static int mpz_sgn (mpz_t z) { return z[0] < 0 ? -1 : 0 < z[0]; } static int mpz_fits_ulong_p (mpz_t z) { return 0 <= z[0] && z[0] <= ULONG_MAX; } static unsigned long int mpz_get_ui (mpz_t z) { return z[0]; } static int mpz_out_str (FILE *stream, int base, mpz_t z) { (void) base; char buf[INT_BUFSIZE_BOUND (intmax_t)]; return fputs (imaxtostr (z[0], buf), stream) != EOF; } #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "expr" #define AUTHORS \ proper_name ("Mike Parker"), \ proper_name ("James Youngman"), \ proper_name ("Paul Eggert") /* Exit statuses. */ enum { /* Invalid expression: e.g., its form does not conform to the grammar for expressions. Our grammar is an extension of the POSIX grammar. */ EXPR_INVALID = 2, /* An internal error occurred, e.g., arithmetic overflow, storage exhaustion. */ EXPR_FAILURE }; /* The kinds of value we can have. */ enum valtype { integer, string }; typedef enum valtype TYPE; /* A value is.... */ struct valinfo { TYPE type; /* Which kind. */ union { /* The value itself. */ mpz_t i; char *s; } u; }; typedef struct valinfo VALUE; /* The arguments given to the program, minus the program name. */ static char **args; static VALUE *eval (bool); static bool nomoreargs (void); static bool null (VALUE *v); static void printv (VALUE *v); void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s EXPRESSION\n\ or: %s OPTION\n\ "), program_name, program_name); putchar ('\n'); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Print the value of EXPRESSION to standard output. A blank line below\n\ separates increasing precedence groups. EXPRESSION may be:\n\ \n\ ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n\ \n\ ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n\ "), stdout); fputs (_("\ \n\ ARG1 < ARG2 ARG1 is less than ARG2\n\ ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n\ ARG1 = ARG2 ARG1 is equal to ARG2\n\ ARG1 != ARG2 ARG1 is unequal to ARG2\n\ ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n\ ARG1 > ARG2 ARG1 is greater than ARG2\n\ "), stdout); fputs (_("\ \n\ ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n\ ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n\ "), stdout); /* Tell xgettext that the "% A" below is not a printf-style format string: xgettext:no-c-format */ fputs (_("\ \n\ ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n\ ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n\ ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n\ "), stdout); fputs (_("\ \n\ STRING : REGEXP anchored pattern match of REGEXP in STRING\n\ \n\ match STRING REGEXP same as STRING : REGEXP\n\ substr STRING POS LENGTH substring of STRING, POS counted from 1\n\ index STRING CHARS index in STRING where any CHARS is found, or 0\n\ length STRING length of STRING\n\ "), stdout); fputs (_("\ + TOKEN interpret TOKEN as a string, even if it is a\n\ keyword like 'match' or an operator like '/'\n\ \n\ ( EXPRESSION ) value of EXPRESSION\n\ "), stdout); fputs (_("\ \n\ Beware that many operators need to be escaped or quoted for shells.\n\ Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n\ Pattern matches return the string matched between \\( and \\) or null; if\n\ \\( and \\) are not used, they return the number of characters matched or 0.\n\ "), stdout); fputs (_("\ \n\ Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null\n\ or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Report a syntax error and exit. */ static void syntax_error (void) { error (EXPR_INVALID, 0, _("syntax error")); } /* Report an integer overflow for operation OP and exit. */ static void integer_overflow (char op) { error (EXPR_FAILURE, ERANGE, "%c", op); abort (); /* notreached */ } static void die (int errno_val, char const *msg) ATTRIBUTE_NORETURN; static void die (int errno_val, char const *msg) { error (EXPR_FAILURE, errno_val, "%s", msg); abort (); /* notreached */ } int main (int argc, char **argv) { VALUE *v; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (EXPR_FAILURE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, VERSION, usage, AUTHORS, (char const *) NULL); /* The above handles --help and --version. Since there is no other invocation of getopt, handle '--' here. */ unsigned int u_argc = argc; if (1 < u_argc && STREQ (argv[1], "--")) { --u_argc; ++argv; } if (u_argc <= 1) { error (0, 0, _("missing operand")); usage (EXPR_INVALID); } args = argv + 1; v = eval (true); if (!nomoreargs ()) syntax_error (); printv (v); exit (null (v)); } /* Return a VALUE for I. */ static VALUE * int_value (unsigned long int i) { VALUE *v = xmalloc (sizeof *v); v->type = integer; mpz_init_set_ui (v->u.i, i); return v; } /* Return a VALUE for S. */ static VALUE * str_value (char const *s) { VALUE *v = xmalloc (sizeof *v); v->type = string; v->u.s = xstrdup (s); return v; } /* Free VALUE V, including structure components. */ static void freev (VALUE *v) { if (v->type == string) free (v->u.s); else mpz_clear (v->u.i); free (v); } /* Print VALUE V. */ static void printv (VALUE *v) { switch (v->type) { case integer: mpz_out_str (stdout, 10, v->u.i); putchar ('\n'); break; case string: puts (v->u.s); break; default: abort (); } } /* Return true if V is a null-string or zero-number. */ static bool _GL_ATTRIBUTE_PURE null (VALUE *v) { switch (v->type) { case integer: return mpz_sgn (v->u.i) == 0; case string: { char const *cp = v->u.s; if (*cp == '\0') return true; cp += (*cp == '-'); do { if (*cp != '0') return false; } while (*++cp); return true; } default: abort (); } } /* Return true if CP takes the form of an integer. */ static bool _GL_ATTRIBUTE_PURE looks_like_integer (char const *cp) { cp += (*cp == '-'); do if (! ISDIGIT (*cp)) return false; while (*++cp); return true; } /* Coerce V to a string value (can't fail). */ static void tostring (VALUE *v) { switch (v->type) { case integer: { char *s = mpz_get_str (NULL, 10, v->u.i); mpz_clear (v->u.i); v->u.s = s; v->type = string; } break; case string: break; default: abort (); } } /* Coerce V to an integer value. Return true on success, false on failure. */ static bool toarith (VALUE *v) { switch (v->type) { case integer: return true; case string: { char *s = v->u.s; if (! looks_like_integer (s)) return false; if (mpz_init_set_str (v->u.i, s, 10) != 0 && !HAVE_GMP) error (EXPR_FAILURE, ERANGE, "%s", s); free (s); v->type = integer; return true; } default: abort (); } } /* Extract a size_t value from an integer value I. If the value is negative, return SIZE_MAX. If the value is too large, return SIZE_MAX - 1. */ static size_t getsize (mpz_t i) { if (mpz_sgn (i) < 0) return SIZE_MAX; if (mpz_fits_ulong_p (i)) { unsigned long int ul = mpz_get_ui (i); if (ul < SIZE_MAX) return ul; } return SIZE_MAX - 1; } /* Return true and advance if the next token matches STR exactly. STR must not be NULL. */ static bool nextarg (char const *str) { if (*args == NULL) return false; else { bool r = STREQ (*args, str); args += r; return r; } } /* Return true if there no more tokens. */ static bool nomoreargs (void) { return *args == 0; } #ifdef EVAL_TRACE /* Print evaluation trace and args remaining. */ static void trace (fxn) char *fxn; { char **a; printf ("%s:", fxn); for (a = args; *a; a++) printf (" %s", *a); putchar ('\n'); } #endif /* Do the : operator. SV is the VALUE for the lhs (the string), PV is the VALUE for the rhs (the pattern). */ static VALUE * docolon (VALUE *sv, VALUE *pv) { VALUE *v IF_LINT ( = NULL); const char *errmsg; struct re_pattern_buffer re_buffer; char fastmap[UCHAR_MAX + 1]; struct re_registers re_regs; regoff_t matchlen; tostring (sv); tostring (pv); re_regs.num_regs = 0; re_regs.start = NULL; re_regs.end = NULL; re_buffer.buffer = NULL; re_buffer.allocated = 0; re_buffer.fastmap = fastmap; re_buffer.translate = NULL; re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; errmsg = re_compile_pattern (pv->u.s, strlen (pv->u.s), &re_buffer); if (errmsg) error (EXPR_INVALID, 0, "%s", errmsg); re_buffer.newline_anchor = 0; matchlen = re_match (&re_buffer, sv->u.s, strlen (sv->u.s), 0, &re_regs); if (0 <= matchlen) { /* Were \(...\) used? */ if (re_buffer.re_nsub > 0) { sv->u.s[re_regs.end[1]] = '\0'; v = str_value (sv->u.s + re_regs.start[1]); } else v = int_value (matchlen); } else if (matchlen == -1) { /* Match failed -- return the right kind of null. */ if (re_buffer.re_nsub > 0) v = str_value (""); else v = int_value (0); } else error (EXPR_FAILURE, (matchlen == -2 ? errno : EOVERFLOW), _("error in regular expression matcher")); if (0 < re_regs.num_regs) { free (re_regs.start); free (re_regs.end); } re_buffer.fastmap = NULL; regfree (&re_buffer); return v; } /* Handle bare operands and ( expr ) syntax. */ static VALUE * eval7 (bool evaluate) { VALUE *v; #ifdef EVAL_TRACE trace ("eval7"); #endif if (nomoreargs ()) syntax_error (); if (nextarg ("(")) { v = eval (evaluate); if (!nextarg (")")) syntax_error (); return v; } if (nextarg (")")) syntax_error (); return str_value (*args++); } /* Handle match, substr, index, and length keywords, and quoting "+". */ static VALUE * eval6 (bool evaluate) { VALUE *l; VALUE *r; VALUE *v; VALUE *i1; VALUE *i2; #ifdef EVAL_TRACE trace ("eval6"); #endif if (nextarg ("+")) { if (nomoreargs ()) syntax_error (); return str_value (*args++); } else if (nextarg ("length")) { r = eval6 (evaluate); tostring (r); v = int_value (strlen (r->u.s)); freev (r); return v; } else if (nextarg ("match")) { l = eval6 (evaluate); r = eval6 (evaluate); if (evaluate) { v = docolon (l, r); freev (l); } else v = l; freev (r); return v; } else if (nextarg ("index")) { size_t pos; l = eval6 (evaluate); r = eval6 (evaluate); tostring (l); tostring (r); pos = strcspn (l->u.s, r->u.s); v = int_value (l->u.s[pos] ? pos + 1 : 0); freev (l); freev (r); return v; } else if (nextarg ("substr")) { size_t llen; l = eval6 (evaluate); i1 = eval6 (evaluate); i2 = eval6 (evaluate); tostring (l); llen = strlen (l->u.s); if (!toarith (i1) || !toarith (i2)) v = str_value (""); else { size_t pos = getsize (i1->u.i); size_t len = getsize (i2->u.i); if (llen < pos || pos == 0 || len == 0 || len == SIZE_MAX) v = str_value (""); else { size_t vlen = MIN (len, llen - pos + 1); char *vlim; v = xmalloc (sizeof *v); v->type = string; v->u.s = xmalloc (vlen + 1); vlim = mempcpy (v->u.s, l->u.s + pos - 1, vlen); *vlim = '\0'; } } freev (l); freev (i1); freev (i2); return v; } else return eval7 (evaluate); } /* Handle : operator (pattern matching). Calls docolon to do the real work. */ static VALUE * eval5 (bool evaluate) { VALUE *l; VALUE *r; VALUE *v; #ifdef EVAL_TRACE trace ("eval5"); #endif l = eval6 (evaluate); while (1) { if (nextarg (":")) { r = eval6 (evaluate); if (evaluate) { v = docolon (l, r); freev (l); l = v; } freev (r); } else return l; } } /* Handle *, /, % operators. */ static VALUE * eval4 (bool evaluate) { VALUE *l; VALUE *r; enum { multiply, divide, mod } fxn; #ifdef EVAL_TRACE trace ("eval4"); #endif l = eval5 (evaluate); while (1) { if (nextarg ("*")) fxn = multiply; else if (nextarg ("/")) fxn = divide; else if (nextarg ("%")) fxn = mod; else return l; r = eval5 (evaluate); if (evaluate) { if (!toarith (l) || !toarith (r)) error (EXPR_INVALID, 0, _("non-integer argument")); if (fxn != multiply && mpz_sgn (r->u.i) == 0) error (EXPR_INVALID, 0, _("division by zero")); ((fxn == multiply ? mpz_mul : fxn == divide ? mpz_tdiv_q : mpz_tdiv_r) (l->u.i, l->u.i, r->u.i)); } freev (r); } } /* Handle +, - operators. */ static VALUE * eval3 (bool evaluate) { VALUE *l; VALUE *r; enum { plus, minus } fxn; #ifdef EVAL_TRACE trace ("eval3"); #endif l = eval4 (evaluate); while (1) { if (nextarg ("+")) fxn = plus; else if (nextarg ("-")) fxn = minus; else return l; r = eval4 (evaluate); if (evaluate) { if (!toarith (l) || !toarith (r)) error (EXPR_INVALID, 0, _("non-integer argument")); (fxn == plus ? mpz_add : mpz_sub) (l->u.i, l->u.i, r->u.i); } freev (r); } } /* Handle comparisons. */ static VALUE * eval2 (bool evaluate) { VALUE *l; #ifdef EVAL_TRACE trace ("eval2"); #endif l = eval3 (evaluate); while (1) { VALUE *r; enum { less_than, less_equal, equal, not_equal, greater_equal, greater_than } fxn; bool val = false; if (nextarg ("<")) fxn = less_than; else if (nextarg ("<=")) fxn = less_equal; else if (nextarg ("=") || nextarg ("==")) fxn = equal; else if (nextarg ("!=")) fxn = not_equal; else if (nextarg (">=")) fxn = greater_equal; else if (nextarg (">")) fxn = greater_than; else return l; r = eval3 (evaluate); if (evaluate) { int cmp; tostring (l); tostring (r); if (looks_like_integer (l->u.s) && looks_like_integer (r->u.s)) cmp = strintcmp (l->u.s, r->u.s); else { errno = 0; cmp = strcoll (l->u.s, r->u.s); if (errno) { error (0, errno, _("string comparison failed")); error (0, 0, _("set LC_ALL='C' to work around the problem")); error (EXPR_INVALID, 0, _("the strings compared were %s and %s"), quotearg_n_style (0, locale_quoting_style, l->u.s), quotearg_n_style (1, locale_quoting_style, r->u.s)); } } switch (fxn) { case less_than: val = (cmp < 0); break; case less_equal: val = (cmp <= 0); break; case equal: val = (cmp == 0); break; case not_equal: val = (cmp != 0); break; case greater_equal: val = (cmp >= 0); break; case greater_than: val = (cmp > 0); break; default: abort (); } } freev (l); freev (r); l = int_value (val); } } /* Handle &. */ static VALUE * eval1 (bool evaluate) { VALUE *l; VALUE *r; #ifdef EVAL_TRACE trace ("eval1"); #endif l = eval2 (evaluate); while (1) { if (nextarg ("&")) { r = eval2 (evaluate && !null (l)); if (null (l) || null (r)) { freev (l); freev (r); l = int_value (0); } else freev (r); } else return l; } } /* Handle |. */ static VALUE * eval (bool evaluate) { VALUE *l; VALUE *r; #ifdef EVAL_TRACE trace ("eval"); #endif l = eval1 (evaluate); while (1) { if (nextarg ("|")) { r = eval1 (evaluate && null (l)); if (null (l)) { freev (l); l = r; if (null (l)) { freev (l); l = int_value (0); } } else freev (r); } else return l; } } coreutils-8.21/src/extent-scan.h0000664000000000000000000000406312102337340013535 00000000000000/* core functions for efficient reading sparse files Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jie Liu (jeff.liu@oracle.com). */ #ifndef EXTENT_SCAN_H # define EXTENT_SCAN_H /* Structure used to store information of each extent. */ struct extent_info { /* Logical offset of an extent. */ off_t ext_logical; /* Extent length. */ uint64_t ext_length; /* Extent flags, use it for FIEMAP only, or set it to zero. */ uint32_t ext_flags; }; /* Structure used to reserve extent scan information per file. */ struct extent_scan { /* File descriptor of extent scan run against. */ int fd; /* Next scan start offset. */ off_t scan_start; /* Flags to use for scan. */ uint32_t fm_flags; /* How many extent info returned for a scan. */ uint32_t ei_count; /* If true, fall back to a normal copy, either set by the failure of ioctl(2) for FIEMAP or lseek(2) with SEEK_DATA. */ bool initial_scan_failed; /* If true, the total extent scan per file has been finished. */ bool hit_final_extent; /* Extent information: a malloc'd array of ei_count structs. */ struct extent_info *ext_info; }; void extent_scan_init (int src_fd, struct extent_scan *scan); bool extent_scan_read (struct extent_scan *scan); static inline void extent_scan_free (struct extent_scan *scan) { free (scan->ext_info); scan->ext_info = NULL; scan->ei_count = 0; } #endif /* EXTENT_SCAN_H */ coreutils-8.21/src/uniq.c0000664000000000000000000003720612102337340012260 00000000000000/* uniq -- remove duplicate lines from a sorted file Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Richard M. Stallman and David MacKenzie. */ #include #include #include #include "system.h" #include "argmatch.h" #include "linebuffer.h" #include "error.h" #include "fadvise.h" #include "hard-locale.h" #include "posixver.h" #include "quote.h" #include "stdio--.h" #include "xmemcoll.h" #include "xstrtol.h" #include "memcasecmp.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "uniq" #define AUTHORS \ proper_name ("Richard M. Stallman"), \ proper_name ("David MacKenzie") #define SWAP_LINES(A, B) \ do \ { \ struct linebuffer *_tmp; \ _tmp = (A); \ (A) = (B); \ (B) = _tmp; \ } \ while (0) /* True if the LC_COLLATE locale is hard. */ static bool hard_LC_COLLATE; /* Number of fields to skip on each line when doing comparisons. */ static size_t skip_fields; /* Number of chars to skip after skipping any fields. */ static size_t skip_chars; /* Number of chars to compare. */ static size_t check_chars; enum countmode { count_occurrences, /* -c Print count before output lines. */ count_none /* Default. Do not print counts. */ }; /* Whether and how to precede the output lines with a count of the number of times they occurred in the input. */ static enum countmode countmode; /* Which lines to output: unique lines, the first of a group of repeated lines, and the second and subsequented of a group of repeated lines. */ static bool output_unique; static bool output_first_repeated; static bool output_later_repeated; /* If true, ignore case when comparing. */ static bool ignore_case; enum delimit_method { /* No delimiters output. --all-repeated[=none] */ DM_NONE, /* Delimiter precedes all groups. --all-repeated=prepend */ DM_PREPEND, /* Delimit all groups. --all-repeated=separate */ DM_SEPARATE }; static char const *const delimit_method_string[] = { "none", "prepend", "separate", NULL }; static enum delimit_method const delimit_method_map[] = { DM_NONE, DM_PREPEND, DM_SEPARATE }; /* Select whether/how to delimit groups of duplicate lines. */ static enum delimit_method delimit_groups; static struct option const longopts[] = { {"count", no_argument, NULL, 'c'}, {"repeated", no_argument, NULL, 'd'}, {"all-repeated", optional_argument, NULL, 'D'}, {"ignore-case", no_argument, NULL, 'i'}, {"unique", no_argument, NULL, 'u'}, {"skip-fields", required_argument, NULL, 'f'}, {"skip-chars", required_argument, NULL, 's'}, {"check-chars", required_argument, NULL, 'w'}, {"zero-terminated", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ "), program_name); fputs (_("\ Filter adjacent matching lines from INPUT (or standard input),\n\ writing to OUTPUT (or standard output).\n\ \n\ With no options, matching lines are merged to the first occurrence.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -c, --count prefix lines by the number of occurrences\n\ -d, --repeated only print duplicate lines\n\ "), stdout); fputs (_("\ -D, --all-repeated[=delimit-method] print all duplicate lines\n\ delimit-method={none(default),prepend,separate}\n\ Delimiting is done with blank lines\n\ -f, --skip-fields=N avoid comparing the first N fields\n\ -i, --ignore-case ignore differences in case when comparing\n\ -s, --skip-chars=N avoid comparing the first N characters\n\ -u, --unique only print unique lines\n\ -z, --zero-terminated end lines with 0 byte, not newline\n\ "), stdout); fputs (_("\ -w, --check-chars=N compare no more than N characters in lines\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ A field is a run of blanks (usually spaces and/or TABs), then non-blank\n\ characters. Fields are skipped before chars.\n\ "), stdout); fputs (_("\ \n\ Note: 'uniq' does not detect repeated lines unless they are adjacent.\n\ You may want to sort the input first, or use 'sort -u' without 'uniq'.\n\ Also, comparisons honor the rules specified by 'LC_COLLATE'.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Convert OPT to size_t, reporting an error using MSGID if OPT is invalid. Silently convert too-large values to SIZE_MAX. */ static size_t size_opt (char const *opt, char const *msgid) { unsigned long int size; verify (SIZE_MAX <= ULONG_MAX); switch (xstrtoul (opt, NULL, 10, &size, "")) { case LONGINT_OK: case LONGINT_OVERFLOW: break; default: error (EXIT_FAILURE, 0, "%s: %s", opt, _(msgid)); } return MIN (size, SIZE_MAX); } /* Given a linebuffer LINE, return a pointer to the beginning of the line's field to be compared. */ static char * _GL_ATTRIBUTE_PURE find_field (struct linebuffer const *line) { size_t count; char const *lp = line->buffer; size_t size = line->length - 1; size_t i = 0; for (count = 0; count < skip_fields && i < size; count++) { while (i < size && isblank (to_uchar (lp[i]))) i++; while (i < size && !isblank (to_uchar (lp[i]))) i++; } i += MIN (skip_chars, size - i); return line->buffer + i; } /* Return false if two strings OLD and NEW match, true if not. OLD and NEW point not to the beginnings of the lines but rather to the beginnings of the fields to compare. OLDLEN and NEWLEN are their lengths. */ static bool different (char *old, char *new, size_t oldlen, size_t newlen) { if (check_chars < oldlen) oldlen = check_chars; if (check_chars < newlen) newlen = check_chars; if (ignore_case) { /* FIXME: This should invoke strcoll somehow. */ return oldlen != newlen || memcasecmp (old, new, oldlen); } else if (hard_LC_COLLATE) return xmemcoll (old, oldlen, new, newlen) != 0; else return oldlen != newlen || memcmp (old, new, oldlen); } /* Output the line in linebuffer LINE to standard output provided that the switches say it should be output. MATCH is true if the line matches the previous line. If requested, print the number of times it occurred, as well; LINECOUNT + 1 is the number of times that the line occurred. */ static void writeline (struct linebuffer const *line, bool match, uintmax_t linecount) { if (! (linecount == 0 ? output_unique : !match ? output_first_repeated : output_later_repeated)) return; if (countmode == count_occurrences) printf ("%7" PRIuMAX " ", linecount + 1); fwrite (line->buffer, sizeof (char), line->length, stdout); } /* Process input file INFILE with output to OUTFILE. If either is "-", use the standard I/O stream for it instead. */ static void check_file (const char *infile, const char *outfile, char delimiter) { struct linebuffer lb1, lb2; struct linebuffer *thisline, *prevline; if (! (STREQ (infile, "-") || freopen (infile, "r", stdin))) error (EXIT_FAILURE, errno, "%s", infile); if (! (STREQ (outfile, "-") || freopen (outfile, "w", stdout))) error (EXIT_FAILURE, errno, "%s", outfile); fadvise (stdin, FADVISE_SEQUENTIAL); thisline = &lb1; prevline = &lb2; initbuffer (thisline); initbuffer (prevline); /* The duplication in the following 'if' and 'else' blocks is an optimization to distinguish the common case (in which none of the following options has been specified: --count, -repeated, --all-repeated, --unique) from the others. In the common case, this optimization lets uniq output each different line right away, without waiting to see if the next one is different. */ if (output_unique && output_first_repeated && countmode == count_none) { char *prevfield IF_LINT ( = NULL); size_t prevlen IF_LINT ( = 0); while (!feof (stdin)) { char *thisfield; size_t thislen; if (readlinebuffer_delim (thisline, stdin, delimiter) == 0) break; thisfield = find_field (thisline); thislen = thisline->length - 1 - (thisfield - thisline->buffer); if (prevline->length == 0 || different (thisfield, prevfield, thislen, prevlen)) { fwrite (thisline->buffer, sizeof (char), thisline->length, stdout); SWAP_LINES (prevline, thisline); prevfield = thisfield; prevlen = thislen; } } } else { char *prevfield; size_t prevlen; uintmax_t match_count = 0; bool first_delimiter = true; if (readlinebuffer_delim (prevline, stdin, delimiter) == 0) goto closefiles; prevfield = find_field (prevline); prevlen = prevline->length - 1 - (prevfield - prevline->buffer); while (!feof (stdin)) { bool match; char *thisfield; size_t thislen; if (readlinebuffer_delim (thisline, stdin, delimiter) == 0) { if (ferror (stdin)) goto closefiles; break; } thisfield = find_field (thisline); thislen = thisline->length - 1 - (thisfield - thisline->buffer); match = !different (thisfield, prevfield, thislen, prevlen); match_count += match; if (match_count == UINTMAX_MAX) { if (count_occurrences) error (EXIT_FAILURE, 0, _("too many repeated lines")); match_count--; } if (delimit_groups != DM_NONE) { if (!match) { if (match_count) /* a previous match */ first_delimiter = false; /* Only used when DM_SEPARATE */ } else if (match_count == 1) { if ((delimit_groups == DM_PREPEND) || (delimit_groups == DM_SEPARATE && !first_delimiter)) putchar (delimiter); } } if (!match || output_later_repeated) { writeline (prevline, match, match_count); SWAP_LINES (prevline, thisline); prevfield = thisfield; prevlen = thislen; if (!match) match_count = 0; } } writeline (prevline, false, match_count); } closefiles: if (ferror (stdin) || fclose (stdin) != 0) error (EXIT_FAILURE, 0, _("error reading %s"), infile); /* stdout is handled via the atexit-invoked close_stdout function. */ free (lb1.buffer); free (lb2.buffer); } enum Skip_field_option_type { SFO_NONE, SFO_OBSOLETE, SFO_NEW }; int main (int argc, char **argv) { int optc = 0; bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); enum Skip_field_option_type skip_field_option_type = SFO_NONE; int nfiles = 0; char const *file[2]; char delimiter = '\n'; /* change with --zero-terminated, -z */ file[0] = file[1] = "-"; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); hard_LC_COLLATE = hard_locale (LC_COLLATE); atexit (close_stdout); skip_chars = 0; skip_fields = 0; check_chars = SIZE_MAX; output_unique = output_first_repeated = true; output_later_repeated = false; countmode = count_none; delimit_groups = DM_NONE; while (true) { /* Parse an operand with leading "+" as a file after "--" was seen; or if pedantic and a file was seen; or if not obsolete. */ if (optc == -1 || (posixly_correct && nfiles != 0) || ((optc = getopt_long (argc, argv, "-0123456789Dcdf:is:uw:z", longopts, NULL)) == -1)) { if (argc <= optind) break; if (nfiles == 2) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } file[nfiles++] = argv[optind++]; } else switch (optc) { case 1: { unsigned long int size; if (optarg[0] == '+' && posix2_version () < 200112 && xstrtoul (optarg, NULL, 10, &size, "") == LONGINT_OK && size <= SIZE_MAX) skip_chars = size; else if (nfiles == 2) { error (0, 0, _("extra operand %s"), quote (optarg)); usage (EXIT_FAILURE); } else file[nfiles++] = optarg; } break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { if (skip_field_option_type == SFO_NEW) skip_fields = 0; if (!DECIMAL_DIGIT_ACCUMULATE (skip_fields, optc - '0', size_t)) skip_fields = SIZE_MAX; skip_field_option_type = SFO_OBSOLETE; } break; case 'c': countmode = count_occurrences; break; case 'd': output_unique = false; break; case 'D': output_unique = false; output_later_repeated = true; if (optarg == NULL) delimit_groups = DM_NONE; else delimit_groups = XARGMATCH ("--all-repeated", optarg, delimit_method_string, delimit_method_map); break; case 'f': skip_field_option_type = SFO_NEW; skip_fields = size_opt (optarg, N_("invalid number of fields to skip")); break; case 'i': ignore_case = true; break; case 's': skip_chars = size_opt (optarg, N_("invalid number of bytes to skip")); break; case 'u': output_first_repeated = false; break; case 'w': check_chars = size_opt (optarg, N_("invalid number of bytes to compare")); break; case 'z': delimiter = '\0'; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (countmode == count_occurrences && output_later_repeated) { error (0, 0, _("printing all duplicated lines and repeat counts is meaningless")); usage (EXIT_FAILURE); } check_file (file[0], file[1], delimiter); exit (EXIT_SUCCESS); } coreutils-8.21/src/system.h0000664000000000000000000004357012107174572012651 00000000000000/* system-dependent definitions for coreutils Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Include this file _after_ system headers if possible. */ #include /* Include before this file. Note this doesn't warn if we're included before all system headers. */ #if 2 < __GLIBC__ || ( 2 == ___GLIBC__ && 2 <= __GLIBC_MINOR__ ) # if ! defined _SYS_TYPES_H you must include before including this file # endif #endif #include /* Commonly used file permission combination. */ #define MODE_RW_UGO (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) #if !defined HAVE_MKFIFO # define mkfifo(name, mode) mknod (name, (mode) | S_IFIFO, 0) #endif #if HAVE_SYS_PARAM_H # include #endif #include #include #include "pathmax.h" #ifndef PATH_MAX # define PATH_MAX 8192 #endif #include "configmake.h" #include #include /* Since major is a function on SVR4, we can't use 'ifndef major'. */ #if MAJOR_IN_MKDEV # include # define HAVE_MAJOR #endif #if MAJOR_IN_SYSMACROS # include # define HAVE_MAJOR #endif #ifdef major /* Might be defined in sys/types.h. */ # define HAVE_MAJOR #endif #ifndef HAVE_MAJOR # define major(dev) (((dev) >> 8) & 0xff) # define minor(dev) ((dev) & 0xff) # define makedev(maj, min) (((maj) << 8) | (min)) #endif #undef HAVE_MAJOR #if ! defined makedev && defined mkdev # define makedev(maj, min) mkdev (maj, min) #endif #include #include /* Some systems don't define this; POSIX mentions it but says it is obsolete. gnulib defines it, but only on native Windows systems, and there only because MSVC 10 does. */ #ifndef ENODATA # define ENODATA (-1) #endif #include #include #include "version.h" /* Exit statuses for programs like 'env' that exec other programs. */ enum { EXIT_TIMEDOUT = 124, /* Time expired before child completed. */ EXIT_CANCELED = 125, /* Internal error prior to exec attempt. */ EXIT_CANNOT_INVOKE = 126, /* Program located, but not usable. */ EXIT_ENOENT = 127 /* Could not find program to exec. */ }; #include "exitfail.h" /* Set exit_failure to STATUS if that's not the default already. */ static inline void initialize_exit_failure (int status) { if (status != EXIT_FAILURE) exit_failure = status; } #include #include #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif enum { NOT_AN_INODE_NUMBER = 0 }; #ifdef D_INO_IN_DIRENT # define D_INO(dp) (dp)->d_ino #else /* Some systems don't have inodes, so fake them to avoid lots of ifdefs. */ # define D_INO(dp) NOT_AN_INODE_NUMBER #endif /* include here for SIZE_MAX. */ #include /* Redirection and wildcarding when done by the utility itself. Generally a noop, but used in particular for native VMS. */ #ifndef initialize_main # define initialize_main(ac, av) #endif #include "stat-macros.h" #include "timespec.h" #include /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of 'digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Convert a possibly-signed character to an unsigned character. This is a bit safer than casting to unsigned char, since it catches some type errors that the cast doesn't. */ static inline unsigned char to_uchar (char ch) { return ch; } #include /* Take care of NLS matters. */ #include "gettext.h" #if ! ENABLE_NLS # undef textdomain # define textdomain(Domainname) /* empty */ # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) /* empty */ #endif #define _(msgid) gettext (msgid) #define N_(msgid) msgid /* Return a value that pluralizes the same way that N does, in all languages we know of. */ static inline unsigned long int select_plural (uintmax_t n) { /* Reduce by a power of ten, but keep it away from zero. The gettext manual says 1000000 should be safe. */ enum { PLURAL_REDUCER = 1000000 }; return (n <= ULONG_MAX ? n : n % PLURAL_REDUCER + PLURAL_REDUCER); } #define STREQ(a, b) (strcmp (a, b) == 0) #define STREQ_LEN(a, b, n) (strncmp (a, b, n) == 0) #define STRPREFIX(a, b) (strncmp(a, b, strlen (b)) == 0) /* Just like strncmp, but the second argument must be a literal string and you don't specify the length; that comes from the literal. */ #define STRNCMP_LIT(s, literal) \ strncmp (s, "" literal "", sizeof (literal) - 1) #if !HAVE_DECL_GETLOGIN char *getlogin (); #endif #if !HAVE_DECL_TTYNAME char *ttyname (); #endif #if !HAVE_DECL_GETEUID uid_t geteuid (); #endif #if !HAVE_DECL_GETPWUID struct passwd *getpwuid (); #endif #if !HAVE_DECL_GETGRGID struct group *getgrgid (); #endif /* Interix has replacements for getgr{gid,nam,ent}, that don't query the domain controller for group members when not required. This speeds up the calls tremendously (<1 ms vs. >3 s). */ /* To protect any system that could provide _nomembers functions other than interix, check for HAVE_SETGROUPS, as interix is one of the very few (the only?) platform that lacks it */ #if ! HAVE_SETGROUPS # if HAVE_GETGRGID_NOMEMBERS # define getgrgid(gid) getgrgid_nomembers(gid) # endif # if HAVE_GETGRNAM_NOMEMBERS # define getgrnam(nam) getgrnam_nomembers(nam) # endif # if HAVE_GETGRENT_NOMEMBERS # define getgrent() getgrent_nomembers() # endif #endif #if !HAVE_DECL_GETUID uid_t getuid (); #endif #include "xalloc.h" #include "verify.h" /* This is simply a shorthand for the common case in which the third argument to x2nrealloc would be 'sizeof *(P)'. Ensure that sizeof *(P) is *not* 1. In that case, it'd be better to use X2REALLOC, although not strictly necessary. */ #define X2NREALLOC(P, PN) ((void) verify_true (sizeof *(P) != 1), \ x2nrealloc (P, PN, sizeof *(P))) /* Using x2realloc (when appropriate) usually makes your code more readable than using x2nrealloc, but it also makes it so your code will malfunction if sizeof *(P) ever becomes 2 or greater. So use this macro instead of using x2realloc directly. */ #define X2REALLOC(P, PN) ((void) verify_true (sizeof *(P) == 1), \ x2realloc (P, PN)) #include "unlocked-io.h" #include "same-inode.h" #include "dirname.h" #include "openat.h" static inline bool dot_or_dotdot (char const *file_name) { if (file_name[0] == '.') { char sep = file_name[(file_name[1] == '.') + 1]; return (! sep || ISSLASH (sep)); } else return false; } /* A wrapper for readdir so that callers don't see entries for '.' or '..'. */ static inline struct dirent const * readdir_ignoring_dot_and_dotdot (DIR *dirp) { while (1) { struct dirent const *dp = readdir (dirp); if (dp == NULL || ! dot_or_dotdot (dp->d_name)) return dp; } } /* Return true if DIR is determined to be an empty directory. */ static inline bool is_empty_dir (int fd_cwd, char const *dir) { DIR *dirp; struct dirent const *dp; int saved_errno; int fd = openat (fd_cwd, dir, (O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NOFOLLOW | O_NONBLOCK)); if (fd < 0) return false; dirp = fdopendir (fd); if (dirp == NULL) { close (fd); return false; } errno = 0; dp = readdir_ignoring_dot_and_dotdot (dirp); saved_errno = errno; closedir (dirp); if (dp != NULL) return false; return saved_errno == 0 ? true : false; } /* Factor out some of the common --help and --version processing code. */ /* These enum values cannot possibly conflict with the option values ordinarily used by commands, including CHAR_MAX + 1, etc. Avoid CHAR_MIN - 1, as it may equal -1, the getopt end-of-options value. */ enum { GETOPT_HELP_CHAR = (CHAR_MIN - 2), GETOPT_VERSION_CHAR = (CHAR_MIN - 3) }; #define GETOPT_HELP_OPTION_DECL \ "help", no_argument, NULL, GETOPT_HELP_CHAR #define GETOPT_VERSION_OPTION_DECL \ "version", no_argument, NULL, GETOPT_VERSION_CHAR #define GETOPT_SELINUX_CONTEXT_OPTION_DECL \ "context", required_argument, NULL, 'Z' #define case_GETOPT_HELP_CHAR \ case GETOPT_HELP_CHAR: \ usage (EXIT_SUCCESS); \ break; /* Program_name must be a literal string. Usually it is just PROGRAM_NAME. */ #define USAGE_BUILTIN_WARNING \ _("\n" \ "NOTE: your shell may have its own version of %s, which usually supersedes\n" \ "the version described here. Please refer to your shell's documentation\n" \ "for details about the options it supports.\n") #define HELP_OPTION_DESCRIPTION \ _(" --help display this help and exit\n") #define VERSION_OPTION_DESCRIPTION \ _(" --version output version information and exit\n") #include "closein.h" #include "closeout.h" #define emit_bug_reporting_address unused__emit_bug_reporting_address #include "version-etc.h" #undef emit_bug_reporting_address #include "propername.h" /* Define away proper_name (leaving proper_name_utf8, which affects far fewer programs), since it's not worth the cost of adding ~17KB to the x86_64 text size of every single program. This avoids a 40% (almost ~2MB) increase in the on-disk space utilization for the set of the 100 binaries. */ #define proper_name(x) (x) #include "progname.h" #define case_GETOPT_VERSION_CHAR(Program_name, Authors) \ case GETOPT_VERSION_CHAR: \ version_etc (stdout, Program_name, PACKAGE_NAME, Version, Authors, \ (char *) NULL); \ exit (EXIT_SUCCESS); \ break; #ifndef MAX # define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif #ifndef MIN # define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif #include "intprops.h" #ifndef SSIZE_MAX # define SSIZE_MAX TYPE_MAXIMUM (ssize_t) #endif #ifndef OFF_T_MIN # define OFF_T_MIN TYPE_MINIMUM (off_t) #endif #ifndef OFF_T_MAX # define OFF_T_MAX TYPE_MAXIMUM (off_t) #endif #ifndef UID_T_MAX # define UID_T_MAX TYPE_MAXIMUM (uid_t) #endif #ifndef GID_T_MAX # define GID_T_MAX TYPE_MAXIMUM (gid_t) #endif #ifndef PID_T_MAX # define PID_T_MAX TYPE_MAXIMUM (pid_t) #endif /* Use this to suppress gcc's '...may be used before initialized' warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) /* empty */ # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif /* The warn_unused_result attribute appeared first in gcc-3.4.0 */ #undef ATTRIBUTE_WARN_UNUSED_RESULT #if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) # define ATTRIBUTE_WARN_UNUSED_RESULT /* empty */ #else # define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) #endif #if defined strdupa # define ASSIGN_STRDUPA(DEST, S) \ do { DEST = strdupa (S); } while (0) #else # define ASSIGN_STRDUPA(DEST, S) \ do \ { \ const char *s_ = (S); \ size_t len_ = strlen (s_) + 1; \ char *tmp_dest_ = alloca (len_); \ DEST = memcpy (tmp_dest_, s_, len_); \ } \ while (0) #endif #if ! HAVE_SYNC # define sync() /* empty */ #endif /* Compute the greatest common divisor of U and V using Euclid's algorithm. U and V must be nonzero. */ static inline size_t _GL_ATTRIBUTE_CONST gcd (size_t u, size_t v) { do { size_t t = u % v; u = v; v = t; } while (v); return u; } /* Compute the least common multiple of U and V. U and V must be nonzero. There is no overflow checking, so callers should not specify outlandish sizes. */ static inline size_t _GL_ATTRIBUTE_CONST lcm (size_t u, size_t v) { return u * (v / gcd (u, v)); } /* Return PTR, aligned upward to the next multiple of ALIGNMENT. ALIGNMENT must be nonzero. The caller must arrange for ((char *) PTR) through ((char *) PTR + ALIGNMENT - 1) to be addressable locations. */ static inline void * ptr_align (void const *ptr, size_t alignment) { char const *p0 = ptr; char const *p1 = p0 + alignment - 1; return (void *) (p1 - (size_t) p1 % alignment); } /* Return whether the buffer consists entirely of NULs. Note the word after the buffer must be non NUL. */ static inline bool _GL_ATTRIBUTE_PURE is_nul (const char *buf, size_t bufsize) { typedef uintptr_t word; /* Find first nonzero *word*, or the word with the sentinel. */ word *wp = (word *) buf; while (*wp++ == 0) continue; /* Find the first nonzero *byte*, or the sentinel. */ char *cp = (char *) (wp - 1); while (*cp++ == 0) continue; return cp > buf + bufsize; } /* If 10*Accum + Digit_val is larger than the maximum value for Type, then don't update Accum and return false to indicate it would overflow. Otherwise, set Accum to that new value and return true. Verify at compile-time that Type is Accum's type, and that Type is unsigned. Accum must be an object, so that we can take its address. Accum and Digit_val may be evaluated multiple times. The "Added check" below is not strictly required, but it causes GCC to return a nonzero exit status instead of merely a warning diagnostic, and that is more useful. */ #define DECIMAL_DIGIT_ACCUMULATE(Accum, Digit_val, Type) \ ( \ (void) (&(Accum) == (Type *) NULL), /* The type matches. */ \ (void) verify_true (! TYPE_SIGNED (Type)), /* The type is unsigned. */ \ (void) verify_true (sizeof (Accum) == sizeof (Type)), /* Added check. */ \ (((Type) -1 / 10 < (Accum) \ || (Type) ((Accum) * 10 + (Digit_val)) < (Accum)) \ ? false : (((Accum) = (Accum) * 10 + (Digit_val)), true)) \ ) static inline void emit_mandatory_arg_note (void) { fputs (_("\n\ Mandatory arguments to long options are mandatory for short options too.\n\ "), stdout); } static inline void emit_size_note (void) { fputs (_("\n\ SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n\ are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).\n\ "), stdout); } static inline void emit_blocksize_note (char const *program) { printf (_("\n\ Display values are in units of the first available SIZE from --block-size,\n\ and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n\ Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n\ "), program); } static inline void emit_ancillary_info (void) { printf (_("\nReport %s bugs to %s\n"), last_component (program_name), PACKAGE_BUGREPORT); printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); fputs (_("General help using GNU software: \n"), stdout); /* Don't output this redundant message for English locales. Note we still output for 'C' so that it gets included in the man page. */ const char *lc_messages = setlocale (LC_MESSAGES, NULL); if (lc_messages && STRNCMP_LIT (lc_messages, "en_")) { /* TRANSLATORS: Replace LANG_CODE in this URL with your language code to form one of the URLs at http://translationproject.org/team/. Otherwise, replace the entire URL with your translation team's email address. */ printf (_("Report %s translation bugs to " "\n"), last_component (program_name)); } printf (_("For complete documentation, run: " "info coreutils '%s invocation'\n"), last_component (program_name)); } static inline void emit_try_help (void) { fprintf (stderr, _("Try '%s --help' for more information.\n"), program_name); } #include "inttostr.h" static inline char * timetostr (time_t t, char *buf) { return (TYPE_SIGNED (time_t) ? imaxtostr (t, buf) : umaxtostr (t, buf)); } static inline char * bad_cast (char const *s) { return (char *) s; } /* Return a boolean indicating whether SB->st_size is defined. */ static inline bool usable_st_size (struct stat const *sb) { return (S_ISREG (sb->st_mode) || S_ISLNK (sb->st_mode) || S_TYPEISSHM (sb) || S_TYPEISTMO (sb)); } void usage (int status) ATTRIBUTE_NORETURN; #define emit_cycle_warning(file_name) \ do \ { \ error (0, 0, _("\ WARNING: Circular directory structure.\n\ This almost certainly means that you have a corrupted file system.\n\ NOTIFY YOUR SYSTEM MANAGER.\n\ The following directory is part of the cycle:\n %s\n"), \ quote (file_name)); \ } \ while (0) /* Like stpncpy, but do ensure that the result is NUL-terminated, and do not NUL-pad out to LEN. I.e., when strnlen (src, len) == len, this function writes a NUL byte into dest[len]. Thus, the length of the destination buffer must be at least LEN + 1. The DEST and SRC buffers must not overlap. */ static inline char * stzncpy (char *restrict dest, char const *restrict src, size_t len) { char const *src_end = src + len; while (src < src_end && *src) *dest++ = *src++; *dest = 0; return dest; } #ifndef ARRAY_CARDINALITY # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) #endif coreutils-8.21/src/numfmt.c0000664000000000000000000012120412107174572012615 00000000000000/* Reformat numbers like 11505426432 to the more human-readable 11G Copyright (C) 2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include "mbsalign.h" #include "argmatch.h" #include "error.h" #include "quote.h" #include "system.h" #include "xstrtol.h" #include "xstrndup.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "numfmt" #define AUTHORS proper_name ("Assaf Gordon") /* Exit code when some numbers fail to convert. */ enum { EXIT_CONVERSION_WARNINGS = 2 }; enum { FROM_OPTION = CHAR_MAX + 1, FROM_UNIT_OPTION, TO_OPTION, TO_UNIT_OPTION, ROUND_OPTION, SUFFIX_OPTION, GROUPING_OPTION, PADDING_OPTION, FIELD_OPTION, DEBUG_OPTION, DEV_DEBUG_OPTION, HEADER_OPTION, FORMAT_OPTION, INVALID_OPTION }; enum scale_type { scale_none, /* the default: no scaling. */ scale_auto, /* --from only. */ scale_SI, scale_IEC, scale_IEC_I /* 'i' suffix is required. */ }; static char const *const scale_from_args[] = { "none", "auto", "si", "iec", "iec-i", NULL }; static enum scale_type const scale_from_types[] = { scale_none, scale_auto, scale_SI, scale_IEC, scale_IEC_I }; static char const *const scale_to_args[] = { "none", "si", "iec", "iec-i", NULL }; static enum scale_type const scale_to_types[] = { scale_none, scale_SI, scale_IEC, scale_IEC_I }; enum round_type { round_ceiling, round_floor, round_from_zero, round_to_zero, round_nearest, }; static char const *const round_args[] = { "up", "down", "from-zero", "towards-zero", "nearest", NULL }; static enum round_type const round_types[] = { round_ceiling, round_floor, round_from_zero, round_to_zero, round_nearest }; enum inval_type { inval_abort, inval_fail, inval_warn, inval_ignore }; static char const *const inval_args[] = { "abort", "fail", "warn", "ignore", NULL }; static enum inval_type const inval_types[] = { inval_abort, inval_fail, inval_warn, inval_ignore }; static struct option const longopts[] = { {"from", required_argument, NULL, FROM_OPTION}, {"from-unit", required_argument, NULL, FROM_UNIT_OPTION}, {"to", required_argument, NULL, TO_OPTION}, {"to-unit", required_argument, NULL, TO_UNIT_OPTION}, {"round", required_argument, NULL, ROUND_OPTION}, {"padding", required_argument, NULL, PADDING_OPTION}, {"suffix", required_argument, NULL, SUFFIX_OPTION}, {"grouping", no_argument, NULL, GROUPING_OPTION}, {"delimiter", required_argument, NULL, 'd'}, {"field", required_argument, NULL, FIELD_OPTION}, {"debug", no_argument, NULL, DEBUG_OPTION}, {"-debug", no_argument, NULL, DEV_DEBUG_OPTION}, {"header", optional_argument, NULL, HEADER_OPTION}, {"format", required_argument, NULL, FORMAT_OPTION}, {"invalid", required_argument, NULL, INVALID_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* If delimiter has this value, blanks separate fields. */ enum { DELIMITER_DEFAULT = CHAR_MAX + 1 }; /* Maximum number of digits we can safely handle without precision loss, if scaling is 'none'. */ enum { MAX_UNSCALED_DIGITS = 18 }; /* Maximum number of digits we can work with. This is equivalent to 999Y. NOTE: 'long double' can handle more than that, but there's no official suffix assigned beyond Yotta (1000^8). */ enum { MAX_ACCEPTABLE_DIGITS = 27 }; static enum scale_type scale_from = scale_none; static enum scale_type scale_to = scale_none; static enum round_type _round = round_from_zero; static enum inval_type _invalid = inval_abort; static const char *suffix = NULL; static uintmax_t from_unit_size = 1; static uintmax_t to_unit_size = 1; static int grouping = 0; static char *padding_buffer = NULL; static size_t padding_buffer_size = 0; static long int padding_width = 0; static const char *format_str = NULL; static char *format_str_prefix = NULL; static char *format_str_suffix = NULL; /* By default, any conversion error will terminate the program. */ static int conv_exit_code = EXIT_CONVERSION_WARNINGS; /* auto-pad each line based on skipped whitespace. */ static int auto_padding = 0; static mbs_align_t padding_alignment = MBS_ALIGN_RIGHT; static long int field = 1; static int delimiter = DELIMITER_DEFAULT; /* if non-zero, the first 'header' lines from STDIN are skipped. */ static uintmax_t header = 0; /* Debug for users: print warnings to STDERR about possible error (similar to sort's debug). */ static bool debug; /* will be set according to the current locale. */ static const char *decimal_point; static int decimal_point_length; /* debugging for developers. Enables devmsg(). */ static bool dev_debug = false; /* Like error(0, 0, ...), but without an implicit newline. Also a noop unless the global DEV_DEBUG is set. TODO: Replace with variadic macro in system.h or move to a separate module. */ static inline void devmsg (char const *fmt, ...) { if (dev_debug) { va_list ap; va_start (ap, fmt); vfprintf (stderr, fmt, ap); va_end (ap); } } static inline int default_scale_base (enum scale_type scale) { switch (scale) { case scale_IEC: case scale_IEC_I: return 1024; case scale_none: case scale_auto: case scale_SI: default: return 1000; } } static inline int valid_suffix (const char suf) { static const char *valid_suffixes = "KMGTPEZY"; return (strchr (valid_suffixes, suf) != NULL); } static inline int suffix_power (const char suf) { switch (suf) { case 'K': /* kilo or kibi. */ return 1; case 'M': /* mega or mebi. */ return 2; case 'G': /* giga or gibi. */ return 3; case 'T': /* tera or tebi. */ return 4; case 'P': /* peta or pebi. */ return 5; case 'E': /* exa or exbi. */ return 6; case 'Z': /* zetta or 2**70. */ return 7; case 'Y': /* yotta or 2**80. */ return 8; default: /* should never happen. assert? */ return 0; } } static inline const char * suffix_power_character (unsigned int power) { switch (power) { case 0: return ""; case 1: return "K"; case 2: return "M"; case 3: return "G"; case 4: return "T"; case 5: return "P"; case 6: return "E"; case 7: return "Z"; case 8: return "Y"; default: return "(error)"; } } /* Similar to 'powl(3)' but without requiring 'libm'. */ static long double powerld (long double base, unsigned int x) { long double result = base; if (x == 0) return 1; /* note for test coverage: this is never reached, as 'powerld' won't be called if there's no suffix, hence, no "power". */ /* TODO: check for overflow, inf? */ while (--x) result *= base; return result; } /* Similar to 'fabs(3)' but without requiring 'libm'. */ static inline long double absld (long double val) { return val < 0 ? -val : val; } /* Scale down 'val', returns 'updated val' and 'x', such that val*base^X = original val Similar to "frexpl(3)" but without requiring 'libm', allowing only integer scale, limited functionality and error checking. */ static long double expld (long double val, unsigned int base, unsigned int /*output */ *x) { unsigned int power = 0; if (val >= -LDBL_MAX && val <= LDBL_MAX) { while (absld (val) >= base) { ++power; val /= base; } } if (x) *x = power; return val; } /* EXTREMELY limited 'ceil' - without 'libm'. Assumes values that fit in intmax_t. */ static inline intmax_t simple_round_ceiling (long double val) { intmax_t intval = val; if (intval < val) intval++; return intval; } /* EXTREMELY limited 'floor' - without 'libm'. Assumes values that fit in intmax_t. */ static inline intmax_t simple_round_floor (long double val) { return -simple_round_ceiling (-val); } /* EXTREMELY limited 'round away from zero'. Assumes values that fit in intmax_t. */ static inline intmax_t simple_round_from_zero (long double val) { return val < 0 ? simple_round_floor (val) : simple_round_ceiling (val); } /* EXTREMELY limited 'round away to zero'. Assumes values that fit in intmax_t. */ static inline intmax_t simple_round_to_zero (long double val) { return val; } /* EXTREMELY limited 'round' - without 'libm'. Assumes values that fit in intmax_t. */ static inline intmax_t simple_round_nearest (long double val) { return val < 0 ? val - 0.5 : val + 0.5; } static inline intmax_t simple_round (long double val, enum round_type t) { switch (t) { case round_ceiling: return simple_round_ceiling (val); case round_floor: return simple_round_floor (val); case round_from_zero: return simple_round_from_zero (val); case round_to_zero: return simple_round_to_zero (val); case round_nearest: return simple_round_nearest (val); default: /* to silence the compiler - this should never happen. */ return 0; } } enum simple_strtod_error { SSE_OK = 0, SSE_OK_PRECISION_LOSS, SSE_OVERFLOW, SSE_INVALID_NUMBER, /* the following are returned by 'simple_strtod_human'. */ SSE_VALID_BUT_FORBIDDEN_SUFFIX, SSE_INVALID_SUFFIX, SSE_MISSING_I_SUFFIX }; /* Read an *integer* INPUT_STR, but return the integer value in a 'long double' VALUE hence, no UINTMAX_MAX limitation. NEGATIVE is updated, and is stored separately from the VALUE so that signbit() isn't required to determine the sign of -0.. ENDPTR is required (unlike strtod) and is used to store a pointer to the character after the last character used in the conversion. Note locale'd grouping is not supported, nor is skipping of white-space supported. Returns: SSE_OK - valid number. SSE_OK_PRECISION_LOSS - if more than 18 digits were used. SSE_OVERFLOW - if more than 27 digits (999Y) were used. SSE_INVALID_NUMBER - if no digits were found. */ static enum simple_strtod_error simple_strtod_int (const char *input_str, char **endptr, long double *value, bool *negative) { enum simple_strtod_error e = SSE_OK; long double val = 0; unsigned int digits = 0; if (*input_str == '-') { input_str++; *negative = true; } else *negative = false; *endptr = (char *) input_str; while (*endptr && isdigit (**endptr)) { int digit = (**endptr) - '0'; /* can this happen in some strange locale? */ if (digit < 0 || digit > 9) return SSE_INVALID_NUMBER; if (digits > MAX_UNSCALED_DIGITS) e = SSE_OK_PRECISION_LOSS; ++digits; if (digits > MAX_ACCEPTABLE_DIGITS) return SSE_OVERFLOW; val *= 10; val += digit; ++(*endptr); } if (digits == 0) return SSE_INVALID_NUMBER; if (*negative) val = -val; if (value) *value = val; return e; } /* Read a floating-point INPUT_STR represented as "NNNN[.NNNNN]", and return the value in a 'long double' VALUE. ENDPTR is required (unlike strtod) and is used to store a pointer to the character after the last character used in the conversion. PRECISION is optional and used to indicate fractions are present. Note locale'd grouping is not supported, nor is skipping of white-space supported. Returns: SSE_OK - valid number. SSE_OK_PRECISION_LOSS - if more than 18 digits were used. SSE_OVERFLOW - if more than 27 digits (999Y) were used. SSE_INVALID_NUMBER - if no digits were found. */ static enum simple_strtod_error simple_strtod_float (const char *input_str, char **endptr, long double *value, size_t *precision) { bool negative; enum simple_strtod_error e = SSE_OK; if (precision) *precision = 0; /* TODO: accept locale'd grouped values for the integral part. */ e = simple_strtod_int (input_str, endptr, value, &negative); if (e != SSE_OK && e != SSE_OK_PRECISION_LOSS) return e; /* optional decimal point + fraction. */ if (STREQ_LEN (*endptr, decimal_point, decimal_point_length)) { char *ptr2; long double val_frac = 0; bool neg_frac; (*endptr) += decimal_point_length; enum simple_strtod_error e2 = simple_strtod_int (*endptr, &ptr2, &val_frac, &neg_frac); if (e2 != SSE_OK && e2 != SSE_OK_PRECISION_LOSS) return e2; if (e2 == SSE_OK_PRECISION_LOSS) e = e2; /* propagate warning. */ if (neg_frac) return SSE_INVALID_NUMBER; /* number of digits in the fractions. */ size_t exponent = ptr2 - *endptr; val_frac = ((long double) val_frac) / powerld (10, exponent); if (value) { if (negative) *value -= val_frac; else *value += val_frac; } if (precision) *precision = exponent; *endptr = ptr2; } return e; } /* Read a 'human' INPUT_STR represented as "NNNN[.NNNNN] + suffix", and return the value in a 'long double' VALUE, with the precision of the input returned in PRECISION. ENDPTR is required (unlike strtod) and is used to store a pointer to the character after the last character used in the conversion. ALLOWED_SCALING determines the scaling supported. TODO: support locale'd grouping accept scentific and hex floats (probably use strtold directly) Returns: SSE_OK - valid number. SSE_OK_PRECISION_LOSS - if more than 18 digits were used. SSE_OVERFLOW - if more than 27 digits (999Y) were used. SSE_INVALID_NUMBER - if no digits were found. SSE_VALID_BUT_FORBIDDEN_SUFFIX SSE_INVALID_SUFFIX SSE_MISSING_I_SUFFIX */ static enum simple_strtod_error simple_strtod_human (const char *input_str, char **endptr, long double *value, size_t *precision, enum scale_type allowed_scaling) { int power = 0; /* 'scale_auto' is checked below. */ int scale_base = default_scale_base (allowed_scaling); devmsg ("simple_strtod_human:\n input string: '%s'\n " "locale decimal-point: '%s'\n", input_str, decimal_point); enum simple_strtod_error e = simple_strtod_float (input_str, endptr, value, precision); if (e != SSE_OK && e != SSE_OK_PRECISION_LOSS) return e; devmsg (" parsed numeric value: %Lf\n" " input precision = %d\n", *value, (int)*precision); if (**endptr != '\0') { /* process suffix. */ /* Skip any blanks between the number and suffix. */ while (isblank (**endptr)) (*endptr)++; if (!valid_suffix (**endptr)) return SSE_INVALID_SUFFIX; if (allowed_scaling == scale_none) return SSE_VALID_BUT_FORBIDDEN_SUFFIX; power = suffix_power (**endptr); (*endptr)++; /* skip first suffix character. */ if (allowed_scaling == scale_auto && **endptr == 'i') { /* auto-scaling enabled, and the first suffix character is followed by an 'i' (e.g. Ki, Mi, Gi). */ scale_base = 1024; (*endptr)++; /* skip second ('i') suffix character. */ devmsg (" Auto-scaling, found 'i', switching to base %d\n", scale_base); } *precision = 0; /* Reset, to select precision based on scale. */ } if (allowed_scaling == scale_IEC_I) { if (**endptr == 'i') (*endptr)++; else return SSE_MISSING_I_SUFFIX; } long double multiplier = powerld (scale_base, power); devmsg (" suffix power=%d^%d = %Lf\n", scale_base, power, multiplier); /* TODO: detect loss of precision and overflows. */ (*value) = (*value) * multiplier; devmsg (" returning value: %Lf (%LG)\n", *value, *value); return e; } static void simple_strtod_fatal (enum simple_strtod_error err, char const *input_str) { char const *msgid = NULL; switch (err) { case SSE_OK_PRECISION_LOSS: case SSE_OK: /* should never happen - this function isn't called when OK. */ abort (); case SSE_OVERFLOW: msgid = N_("value too large to be converted: '%s'"); break; case SSE_INVALID_NUMBER: msgid = N_("invalid number: '%s'"); break; case SSE_VALID_BUT_FORBIDDEN_SUFFIX: msgid = N_("rejecting suffix in input: '%s' (consider using --from)"); break; case SSE_INVALID_SUFFIX: msgid = N_("invalid suffix in input: '%s'"); break; case SSE_MISSING_I_SUFFIX: msgid = N_("missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)"); break; } if (_invalid != inval_ignore) error (conv_exit_code, 0, gettext (msgid), input_str); } /* Convert VAL to a human format string in BUF. */ static void double_to_human (long double val, int precision, char *buf, size_t buf_size, enum scale_type scale, int group, enum round_type round) { devmsg ("double_to_human:\n"); if (scale == scale_none) { val *= powerld (10, precision); val = simple_round (val, round); val /= powerld (10, precision); devmsg ((group) ? " no scaling, returning (grouped) value: %'.*Lf\n" : " no scaling, returning value: %.*Lf\n", precision, val); int i = snprintf (buf, buf_size, (group) ? "%'.*Lf" : "%.*Lf", precision, val); if (i < 0 || i >= (int) buf_size) error (EXIT_FAILURE, 0, _("failed to prepare value '%Lf' for printing"), val); return; } /* Scaling requested by user. */ double scale_base = default_scale_base (scale); /* Normalize val to scale. */ unsigned int power = 0; val = expld (val, scale_base, &power); devmsg (" scaled value to %Lf * %0.f ^ %d\n", val, scale_base, power); /* Perform rounding. */ int ten_or_less = 0; if (absld (val) < 10) { /* for values less than 10, we allow one decimal-point digit, so adjust before rounding. */ ten_or_less = 1; val *= 10; } val = simple_round (val, round); /* two special cases after rounding: 1. a "999.99" can turn into 1000 - so scale down 2. a "9.99" can turn into 10 - so don't display decimal-point. */ if (absld (val) >= scale_base) { val /= scale_base; power++; } if (ten_or_less) val /= 10; /* should "7.0" be printed as "7" ? if removing the ".0" is preferred, enable the fourth condition. */ int show_decimal_point = (val != 0) && (absld (val) < 10) && (power > 0); /* && (absld (val) > simple_round_floor (val))) */ devmsg (" after rounding, value=%Lf * %0.f ^ %d\n", val, scale_base, power); snprintf (buf, buf_size, (show_decimal_point) ? "%.1Lf%s" : "%.0Lf%s", val, suffix_power_character (power)); if (scale == scale_IEC_I && power > 0) strncat (buf, "i", buf_size - strlen (buf) - 1); devmsg (" returning value: '%s'\n", buf); return; } /* Convert a string of decimal digits, N_STRING, with an optional suffix to an integral value. Upon successful conversion, return that value. If it cannot be converted, give a diagnostic and exit. */ static uintmax_t unit_to_umax (const char *n_string) { strtol_error s_err; char *end = NULL; uintmax_t n; s_err = xstrtoumax (n_string, &end, 10, &n, "KMGTPEZY"); if (s_err != LONGINT_OK || *end || n == 0) error (EXIT_FAILURE, 0, _("invalid unit size: '%s'"), n_string); return n; } static void setup_padding_buffer (size_t min_size) { if (padding_buffer_size > min_size) return; padding_buffer_size = min_size + 1; padding_buffer = realloc (padding_buffer, padding_buffer_size); if (!padding_buffer) error (EXIT_FAILURE, 0, _("out of memory (requested %zu bytes)"), padding_buffer_size); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [NUMBER]...\n\ "), program_name); fputs (_("\ Reformat NUMBER(s), or the numbers from standard input if none are specified.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --debug print warnings about invalid input\n\ "), stdout); fputs (_("\ -d, --delimiter=X use X instead of whitespace for field delimiter\n\ "), stdout); fputs (_("\ --field=N replace the number in input field N (default is 1)\n\ "), stdout); fputs (_("\ --format=FORMAT use printf style floating-point FORMAT;\n\ see FORMAT below for details\n\ "), stdout); fputs (_("\ --from=UNIT auto-scale input numbers to UNITs; default is 'none';\n\ see UNIT below\n\ "), stdout); fputs (_("\ --from-unit=N specify the input unit size (instead of the default 1)\n\ "), stdout); fputs (_("\ --grouping use locale-defined grouping of digits, e.g. 1,000,000\n\ (which means it has no effect in the C/POSIX locale)\n\ "), stdout); fputs (_("\ --header[=N] print (without converting) the first N header lines;\n\ N defaults to 1 if not specified\n\ "), stdout); fputs (_("\ --invalid=MODE failure mode for invalid numbers: MODE can be:\n\ abort (default), fail, warn, ignore\n\ "), stdout); fputs (_("\ --padding=N pad the output to N characters; positive N will\n\ right-align; negative N will left-align;\n\ padding is ignored if the output is wider than N;\n\ the default is to automatically pad if a whitespace\n\ is found\n\ "), stdout); fputs (_("\ --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n\ up, down, from-zero (default), towards-zero, nearest\n\ "), stdout); fputs (_("\ --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n\ SUFFIX in input numbers\n\ "), stdout); fputs (_("\ --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n\ "), stdout); fputs (_("\ --to-unit=N the output unit size (instead of the default 1)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ UNIT options:\n"), stdout); fputs (_("\ none no auto-scaling is done; suffixes will trigger an error\n\ "), stdout); fputs (_("\ auto accept optional single/two letter suffix:\n\ 1K = 1000,\n\ 1Ki = 1024,\n\ 1M = 1000000,\n\ 1Mi = 1048576,\n"), stdout); fputs (_("\ si accept optional single letter suffix:\n\ 1K = 1000,\n\ 1M = 1000000,\n\ ...\n"), stdout); fputs (_("\ iec accept optional single letter suffix:\n\ 1K = 1024,\n\ 1M = 1048576,\n\ ...\n"), stdout); fputs (_("\ iec-i accept optional two-letter suffix:\n\ 1Ki = 1024,\n\ 1Mi = 1048576,\n\ ...\n"), stdout); fputs (_("\n\ FORMAT must be suitable for printing one floating-point argument '%f'.\n\ Optional quote (%'f) will enable --grouping (if supported by current locale).\n\ Optional width value (%10f) will pad output. Optional negative width values\n\ (%-10f) will left-pad output.\n\ "), stdout); printf (_("\n\ Exit status is 0 if all input numbers were successfully converted.\n\ By default, %s will stop at the first conversion error with exit status 2.\n\ With --invalid='fail' a warning is printed for each conversion error\n\ and the exit status is 2. With --invalid='warn' each conversion error is\n\ diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n\ errors are not diagnosed and the exit status is 0.\n\ "), program_name); printf (_("\n\ Examples:\n\ $ %s --to=si 1000\n\ -> \"1.0K\"\n\ $ %s --to=iec 2048\n\ -> \"2.0K\"\n\ $ %s --to=iec-i 4096\n\ -> \"4.0Ki\"\n\ $ echo 1K | %s --from=si\n\ -> \"1000\"\n\ $ echo 1K | %s --from=iec\n\ -> \"1024\"\n\ $ df | %s --header --field 2 --to=si\n\ $ ls -l | %s --header --field 5 --to=iec\n\ $ ls -lh | %s --header --field 5 --from=iec --padding=10\n\ $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n"), program_name, program_name, program_name, program_name, program_name, program_name, program_name, program_name, program_name); emit_ancillary_info (); } exit (status); } /* Given 'fmt' (a printf(3) compatible format string), extracts the following: 1. padding (e.g. %20f) 2. alignment (e.g. %-20f) 3. grouping (e.g. %'f) Only a limited subset of printf(3) syntax is supported. TODO: support .precision support %e %g etc. rather than just %f NOTES: 1. This function sets the global variables: padding_width, padding_alignment, grouping, format_str_prefix, format_str_suffix 2. The function aborts on any errors. */ static void parse_format_string (char const *fmt) { size_t i; size_t prefix_len = 0; size_t suffix_pos; long int pad = 0; char *endptr = NULL; for (i = 0; !(fmt[i] == '%' && fmt[i + 1] != '%'); i += (fmt[i] == '%') + 1) { if (!fmt[i]) error (EXIT_FAILURE, 0, _("format %s has no %% directive"), quote (fmt)); prefix_len++; } i++; i += strspn (fmt + i, " "); if (fmt[i] == '\'') { grouping = 1; i++; } i += strspn (fmt + i, " "); errno = 0; pad = strtol (fmt + i, &endptr, 10); if (errno == ERANGE) error (EXIT_FAILURE, 0, _("invalid format %s (width overflow)"), quote (fmt)); if (endptr != (fmt + i) && pad != 0) { if (pad < 0) { padding_alignment = MBS_ALIGN_LEFT; padding_width = -pad; } else { padding_width = pad; } } i = endptr - fmt; if (fmt[i] == '\0') error (EXIT_FAILURE, 0, _("format %s ends in %%"), quote (fmt)); if (fmt[i] != 'f') error (EXIT_FAILURE, 0, _("invalid format %s," " directive must be %%['][-][N]f"), quote (fmt)); i++; suffix_pos = i; for (; fmt[i] != '\0'; i += (fmt[i] == '%') + 1) if (fmt[i] == '%' && fmt[i + 1] != '%') error (EXIT_FAILURE, 0, _("format %s has too many %% directives"), quote (fmt)); if (prefix_len) { format_str_prefix = xstrndup (fmt, prefix_len); if (!format_str_prefix) error (EXIT_FAILURE, 0, _("out of memory (requested %zu bytes)"), prefix_len + 1); } if (fmt[suffix_pos] != '\0') { format_str_suffix = strdup (fmt + suffix_pos); if (!format_str_suffix) error (EXIT_FAILURE, 0, _("out of memory (requested %zu bytes)"), strlen (fmt + suffix_pos)); } devmsg ("format String:\n input: %s\n grouping: %s\n" " padding width: %ld\n alignment: %s\n" " prefix: '%s'\n suffix: '%s'\n", quote (fmt), (grouping) ? "yes" : "no", padding_width, (padding_alignment == MBS_ALIGN_LEFT) ? "Left" : "Right", format_str_prefix, format_str_suffix); } /* Parse a numeric value (with optional suffix) from a string. Returns a long double value, with input precision. If there's an error converting the string to value - exits with an error. If there are any trailing characters after the number (besides a valid suffix) - exits with an error. */ static enum simple_strtod_error parse_human_number (const char *str, long double /*output */ *value, size_t *precision) { char *ptr = NULL; enum simple_strtod_error e = simple_strtod_human (str, &ptr, value, precision, scale_from); if (e != SSE_OK && e != SSE_OK_PRECISION_LOSS) { simple_strtod_fatal (e, str); return e; } if (ptr && *ptr != '\0') { if (_invalid != inval_ignore) error (conv_exit_code, 0, _("invalid suffix in input '%s': '%s'"), str, ptr); e = SSE_INVALID_SUFFIX; } return e; } /* Print the given VAL, using the requested representation. The number is printed to STDOUT, with padding and alignment. */ static int prepare_padded_number (const long double val, size_t precision) { /* Generate Output. */ char buf[128]; /* Can't reliably print too-large values without auto-scaling. */ unsigned int x; expld (val, 10, &x); if (scale_to == scale_none && x > MAX_UNSCALED_DIGITS) { if (_invalid != inval_ignore) error (conv_exit_code, 0, _("value too large to be printed: '%Lg'" " (consider using --to)"), val); return 0; } if (x > MAX_ACCEPTABLE_DIGITS - 1) { if (_invalid != inval_ignore) error (conv_exit_code, 0, _("value too large to be printed: '%Lg'" " (cannot handle values > 999Y)"), val); return 0; } double_to_human (val, precision, buf, sizeof (buf), scale_to, grouping, _round); if (suffix) strncat (buf, suffix, sizeof (buf) - strlen (buf) -1); devmsg ("formatting output:\n value: %Lf\n humanized: '%s'\n", val, buf); if (padding_width && strlen (buf) < padding_width) { size_t w = padding_width; mbsalign (buf, padding_buffer, padding_buffer_size, &w, padding_alignment, MBA_UNIBYTE_ONLY); devmsg (" After padding: '%s'\n", padding_buffer); } else { setup_padding_buffer (strlen (buf) + 1); strcpy (padding_buffer, buf); } return 1; } static void print_padded_number (void) { if (format_str_prefix) fputs (format_str_prefix, stdout); fputs (padding_buffer, stdout); if (format_str_suffix) fputs (format_str_suffix, stdout); } /* Converts the TEXT number string to the requested representation, and handles automatic suffix addition. */ static int process_suffixed_number (char *text, long double *result, size_t *precision) { if (suffix && strlen (text) > strlen (suffix)) { char *possible_suffix = text + strlen (text) - strlen (suffix); if (STREQ (suffix, possible_suffix)) { /* trim suffix, ONLY if it's at the end of the text. */ *possible_suffix = '\0'; devmsg ("trimming suffix '%s'\n", suffix); } else devmsg ("no valid suffix found\n"); } /* Skip white space - always. */ char *p = text; while (*p && isblank (*p)) ++p; const unsigned int skip_count = text - p; /* setup auto-padding. */ if (auto_padding) { if (skip_count > 0 || field > 1) { padding_width = strlen (text); setup_padding_buffer (padding_width); } else { padding_width = 0; } devmsg ("setting Auto-Padding to %ld characters\n", padding_width); } long double val = 0; enum simple_strtod_error e = parse_human_number (p, &val, precision); if (e == SSE_OK_PRECISION_LOSS && debug) error (0, 0, _("large input value '%s': possible precision loss"), p); if (from_unit_size != 1 || to_unit_size != 1) val = (val * from_unit_size) / to_unit_size; *result = val; return (e == SSE_OK || e == SSE_OK_PRECISION_LOSS); } /* Skip the requested number of fields in the input string. Returns a pointer to the *delimiter* of the requested field, or a pointer to NUL (if reached the end of the string). */ static inline char * __attribute ((pure)) skip_fields (char *buf, int fields) { char *ptr = buf; if (delimiter != DELIMITER_DEFAULT) { if (*ptr == delimiter) fields--; while (*ptr && fields--) { while (*ptr && *ptr == delimiter) ++ptr; while (*ptr && *ptr != delimiter) ++ptr; } } else while (*ptr && fields--) { while (*ptr && isblank (*ptr)) ++ptr; while (*ptr && !isblank (*ptr)) ++ptr; } return ptr; } /* Parse a delimited string, and extracts the requested field. NOTE: the input buffer is modified. TODO: Maybe support multiple fields, though can always pipe output into another numfmt to process other fields. Maybe default to processing all fields rather than just first? Output: _PREFIX, _DATA, _SUFFIX will point to the relevant positions in the input string, or be NULL if such a part doesn't exist. */ static void extract_fields (char *line, int _field, char ** _prefix, char ** _data, char ** _suffix) { char *ptr = line; *_prefix = NULL; *_data = NULL; *_suffix = NULL; devmsg ("extracting Fields:\n input: '%s'\n field: %d\n", line, _field); if (field > 1) { /* skip the requested number of fields. */ *_prefix = line; ptr = skip_fields (line, field - 1); if (*ptr == '\0') { /* not enough fields in the input - print warning? */ devmsg (" TOO FEW FIELDS!\n prefix: '%s'\n", *_prefix); return; } *ptr = '\0'; ++ptr; } *_data = ptr; *_suffix = skip_fields (*_data, 1); if (**_suffix) { /* there is a suffix (i.e. the field is not the last on the line), so null-terminate the _data before it. */ **_suffix = '\0'; ++(*_suffix); } else *_suffix = NULL; devmsg (" prefix: '%s'\n number: '%s'\n suffix: '%s'\n", *_prefix, *_data, *_suffix); } /* Convert a number in a given line of text. NEWLINE specifies whether to output a '\n' for this "line". */ static int process_line (char *line, bool newline) { char *pre, *num, *suf; long double val = 0; size_t precision = 0; int valid_number = 0; extract_fields (line, field, &pre, &num, &suf); if (!num) if (_invalid != inval_ignore) error (conv_exit_code, 0, _("input line is too short, " "no numbers found to convert in field %ld"), field); if (num) { valid_number = process_suffixed_number (num, &val, &precision); if (valid_number) valid_number = prepare_padded_number (val, precision); } if (pre) fputs (pre, stdout); if (pre && num) fputc ((delimiter == DELIMITER_DEFAULT) ? ' ' : delimiter, stdout); if (valid_number) { print_padded_number (); } else { if (num) fputs (num, stdout); } if (suf) { fputc ((delimiter == DELIMITER_DEFAULT) ? ' ' : delimiter, stdout); fputs (suf, stdout); } if (newline) putchar ('\n'); return valid_number; } int main (int argc, char **argv) { int valid_numbers = 1; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); decimal_point = nl_langinfo (RADIXCHAR); if (decimal_point == NULL || strlen (decimal_point) == 0) decimal_point = "."; decimal_point_length = strlen (decimal_point); atexit (close_stdout); while (true) { int c = getopt_long (argc, argv, "d:", longopts, NULL); if (c == -1) break; switch (c) { case FROM_OPTION: scale_from = XARGMATCH ("--from", optarg, scale_from_args, scale_from_types); break; case FROM_UNIT_OPTION: from_unit_size = unit_to_umax (optarg); break; case TO_OPTION: scale_to = XARGMATCH ("--to", optarg, scale_to_args, scale_to_types); break; case TO_UNIT_OPTION: to_unit_size = unit_to_umax (optarg); break; case ROUND_OPTION: _round = XARGMATCH ("--round", optarg, round_args, round_types); break; case GROUPING_OPTION: grouping = 1; break; case PADDING_OPTION: if (xstrtol (optarg, NULL, 10, &padding_width, "") != LONGINT_OK || padding_width == 0) error (EXIT_FAILURE, 0, _("invalid padding value '%s'"), optarg); if (padding_width < 0) { padding_alignment = MBS_ALIGN_LEFT; padding_width = -padding_width; } /* TODO: We probably want to apply a specific --padding to --header lines too. */ break; case FIELD_OPTION: if (xstrtol (optarg, NULL, 10, &field, "") != LONGINT_OK || field <= 0) error (EXIT_FAILURE, 0, _("invalid field value '%s'"), optarg); break; case 'd': /* Interpret -d '' to mean 'use the NUL byte as the delimiter.' */ if (optarg[0] != '\0' && optarg[1] != '\0') error (EXIT_FAILURE, 0, _("the delimiter must be a single character")); delimiter = optarg[0]; break; case SUFFIX_OPTION: suffix = optarg; break; case DEBUG_OPTION: debug = true; break; case DEV_DEBUG_OPTION: dev_debug = true; debug = true; break; case HEADER_OPTION: if (optarg) { if (xstrtoumax (optarg, NULL, 10, &header, "") != LONGINT_OK || header == 0) error (EXIT_FAILURE, 0, _("invalid header value '%s'"), optarg); } else { header = 1; } break; case FORMAT_OPTION: format_str = optarg; break; case INVALID_OPTION: _invalid = XARGMATCH ("--invalid", optarg, inval_args, inval_types); break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (format_str != NULL && grouping) error (EXIT_FAILURE, 0, _("--grouping cannot be combined with --format")); if (format_str != NULL && padding_width > 0) error (EXIT_FAILURE, 0, _("--padding cannot be combined with --format")); /* Warn about no-op. */ if (debug && scale_from == scale_none && scale_to == scale_none && !grouping && (padding_width == 0) && (format_str == NULL)) error (0, 0, _("no conversion option specified")); if (format_str) parse_format_string (format_str); if (grouping) { if (scale_to != scale_none) error (EXIT_FAILURE, 0, _("grouping cannot be combined with --to")); if (debug && (strlen (nl_langinfo (THOUSEP)) == 0)) error (0, 0, _("grouping has no effect in this locale")); } setup_padding_buffer (padding_width); auto_padding = (padding_width == 0 && delimiter == DELIMITER_DEFAULT); if (_invalid != inval_abort) conv_exit_code = 0; if (argc > optind) { if (debug && header) error (0, 0, _("--header ignored with command-line input")); for (; optind < argc; optind++) valid_numbers &= process_line (argv[optind], true); } else { char *line = NULL; size_t line_allocated = 0; ssize_t len; while (header-- && getline (&line, &line_allocated, stdin) > 0) fputs (line, stdout); while ((len = getline (&line, &line_allocated, stdin)) > 0) { bool newline = line[len - 1] == '\n'; if (newline) line[len - 1] = '\0'; valid_numbers &= process_line (line, newline); } IF_LINT (free (line)); if (ferror (stdin)) error (0, errno, _("error reading input")); } free (padding_buffer); free (format_str_prefix); free (format_str_suffix); if (debug && !valid_numbers) error (0, 0, _("failed to convert some of the input numbers")); int exit_status = EXIT_SUCCESS; if (!valid_numbers && _invalid != inval_warn && _invalid != inval_ignore) exit_status = EXIT_CONVERSION_WARNINGS; exit (exit_status); } coreutils-8.21/src/extract-magic0000664000000000000000000001103512102337340013603 00000000000000#!/usr/bin/perl -w # Derive #define directives from specially formatted 'case ...:' statements. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . use strict; use Getopt::Long; (my $VERSION = '$Revision: 1.5 $ ') =~ tr/[0-9].//cd; (my $ME = $0) =~ s|.*/||; END { # Nobody ever checks the status of print()s. That's okay, because # if any do fail, we're guaranteed to get an indicator when we close() # the filehandle. # # Close stdout now, and if there were no errors, return happy status. # If stdout has already been closed by the script, though, do nothing. defined fileno STDOUT or return; close STDOUT and return; # Errors closing stdout. Indicate that, and hope stderr is OK. warn "$ME: closing standard output: $!\n"; # Don't be so arrogant as to assume that we're the first END handler # defined, and thus the last one invoked. There may be others yet # to come. $? will be passed on to them, and to the final _exit(). # # If it isn't already an error, make it one (and if it _is_ an error, # preserve the value: it might be important). $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try '$ME --help' for more information.\n"; } else { print $STREAM < sub { $emit_magic = 0 }, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, ) or usage 1; my $fail = 0; @ARGV < 1 and (warn "$ME: missing FILE arguments\n"), $fail = 1; 1 < @ARGV and (warn "$ME: too many arguments\n"), $fail = 1; $fail and usage 1; my $file = $ARGV[0]; open FH, $file or die "$ME: can't open '$file' for reading: $!\n"; # For each line like this: # case S_MAGIC_ROMFS: /* 0x7275 */ # emit one like this: # # define S_MAGIC_ROMFS 0x7275 # Fail if there is a 'case S_MAGIC_.*' line without # a properly formed comment. my $map_comment = <)) { $line =~ /^[ \t]+case S_MAGIC_/ or next; $line =~ m!^[ \t]+case (S_MAGIC_\w+): /\* (0x[0-9A-Fa-f]+) (local|remote) \*/! or (warn "$ME:$file:$.: malformed case S_MAGIC_... line"), $fail = 1, next; my $name = $1; my $magic = $2; my $local = $3 eq 'local' ? 1 : 0; print $emit_magic ? "# define $name $magic\n" : " case $name: return $local;\n"; } $emit_magic and print <<\EOF; #elif defined __GNU__ # include #endif EOF $emit_magic or printf " default: return -1;\n }\n}\n"; close FH; exit $fail; } coreutils-8.21/src/pathchk.c0000664000000000000000000002705312102337340012725 00000000000000/* pathchk -- check whether file names are valid or portable Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" #include "quotearg.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "pathchk" #define AUTHORS \ proper_name ("Paul Eggert"), \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") #ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 256 #endif #ifndef _POSIX_NAME_MAX # define _POSIX_NAME_MAX 14 #endif #ifdef _XOPEN_NAME_MAX # define NAME_MAX_MINIMUM _XOPEN_NAME_MAX #else # define NAME_MAX_MINIMUM _POSIX_NAME_MAX #endif #ifdef _XOPEN_PATH_MAX # define PATH_MAX_MINIMUM _XOPEN_PATH_MAX #else # define PATH_MAX_MINIMUM _POSIX_PATH_MAX #endif #if ! (HAVE_PATHCONF && defined _PC_NAME_MAX && defined _PC_PATH_MAX) # ifndef _PC_NAME_MAX # define _PC_NAME_MAX 0 # define _PC_PATH_MAX 1 # endif # ifndef pathconf # define pathconf(file, flag) \ (flag == _PC_NAME_MAX ? NAME_MAX_MINIMUM : PATH_MAX_MINIMUM) # endif #endif static bool validate_file_name (char *, bool, bool); /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { PORTABILITY_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { {"portability", no_argument, NULL, PORTABILITY_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... NAME...\n"), program_name); fputs (_("\ Diagnose invalid or unportable file names.\n\ \n\ -p check for most POSIX systems\n\ -P check for empty names and leading \"-\"\n\ --portability check for all POSIX systems (equivalent to -p -P)\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { bool ok = true; bool check_basic_portability = false; bool check_extra_portability = false; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "+pP", longopts, NULL)) != -1) { switch (optc) { case PORTABILITY_OPTION: check_basic_portability = true; check_extra_portability = true; break; case 'p': check_basic_portability = true; break; case 'P': check_extra_portability = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } for (; optind < argc; ++optind) ok &= validate_file_name (argv[optind], check_basic_portability, check_extra_portability); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } /* If FILE contains a component with a leading "-", report an error and return false; otherwise, return true. */ static bool no_leading_hyphen (char const *file) { char const *p; for (p = file; (p = strchr (p, '-')); p++) if (p == file || p[-1] == '/') { error (0, 0, _("leading '-' in a component of file name %s"), quote (file)); return false; } return true; } /* If FILE (of length FILELEN) contains only portable characters, return true, else report an error and return false. */ static bool portable_chars_only (char const *file, size_t filelen) { size_t validlen = strspn (file, ("/" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789._-")); char const *invalid = file + validlen; if (*invalid) { mbstate_t mbstate = { 0, }; size_t charlen = mbrlen (invalid, filelen - validlen, &mbstate); error (0, 0, _("nonportable character %s in file name %s"), quotearg_n_style_mem (1, locale_quoting_style, invalid, (charlen <= MB_LEN_MAX ? charlen : 1)), quote_n (0, file)); return false; } return true; } /* Return the address of the start of the next file name component in F. */ static char * _GL_ATTRIBUTE_PURE component_start (char *f) { while (*f == '/') f++; return f; } /* Return the size of the file name component F. F must be nonempty. */ static size_t _GL_ATTRIBUTE_PURE component_len (char const *f) { size_t len; for (len = 1; f[len] != '/' && f[len]; len++) continue; return len; } /* Make sure that strlen (FILE) <= PATH_MAX && strlen (each-existing-directory-in-FILE) <= NAME_MAX If CHECK_BASIC_PORTABILITY is true, compare against _POSIX_PATH_MAX and _POSIX_NAME_MAX instead, and make sure that FILE contains no characters not in the POSIX portable filename character set, which consists of A-Z, a-z, 0-9, ., _, - (plus / for separators). If CHECK_BASIC_PORTABILITY is false, make sure that all leading directories along FILE that exist are searchable. If CHECK_EXTRA_PORTABILITY is true, check that file name components do not begin with "-". If either CHECK_BASIC_PORTABILITY or CHECK_EXTRA_PORTABILITY is true, check that the file name is not empty. Return true if all of these tests are successful, false if any fail. */ static bool validate_file_name (char *file, bool check_basic_portability, bool check_extra_portability) { size_t filelen = strlen (file); /* Start of file name component being checked. */ char *start; /* True if component lengths need to be checked. */ bool check_component_lengths; /* True if the file is known to exist. */ bool file_exists = false; if (check_extra_portability && ! no_leading_hyphen (file)) return false; if ((check_basic_portability || check_extra_portability) && filelen == 0) { /* Fail, since empty names are not portable. As of 2005-01-06 POSIX does not address whether "pathchk -p ''" should (or is allowed to) fail, so this is not a conformance violation. */ error (0, 0, _("empty file name")); return false; } if (check_basic_portability) { if (! portable_chars_only (file, filelen)) return false; } else { /* Check whether a file name component is in a directory that is not searchable, or has some other serious problem. POSIX does not allow "" as a file name, but some non-POSIX hosts do (as an alias for "."), so allow "" if lstat does. */ struct stat st; if (lstat (file, &st) == 0) file_exists = true; else if (errno != ENOENT || filelen == 0) { error (0, errno, "%s", file); return false; } } if (check_basic_portability || (! file_exists && PATH_MAX_MINIMUM <= filelen)) { size_t maxsize; if (check_basic_portability) maxsize = _POSIX_PATH_MAX; else { long int size; char const *dir = (*file == '/' ? "/" : "."); errno = 0; size = pathconf (dir, _PC_PATH_MAX); if (size < 0 && errno != 0) { error (0, errno, _("%s: unable to determine maximum file name length"), dir); return false; } maxsize = MIN (size, SSIZE_MAX); } if (maxsize <= filelen) { unsigned long int len = filelen; unsigned long int maxlen = maxsize - 1; error (0, 0, _("limit %lu exceeded by length %lu of file name %s"), maxlen, len, quote (file)); return false; } } /* Check whether pathconf (..., _PC_NAME_MAX) can be avoided, i.e., whether all file name components are so short that they are valid in any file system on this platform. If CHECK_BASIC_PORTABILITY, though, it's more convenient to check component lengths below. */ check_component_lengths = check_basic_portability; if (! check_component_lengths && ! file_exists) { for (start = file; *(start = component_start (start)); ) { size_t length = component_len (start); if (NAME_MAX_MINIMUM < length) { check_component_lengths = true; break; } start += length; } } if (check_component_lengths) { /* The limit on file name components for the current component. This defaults to NAME_MAX_MINIMUM, for the sake of non-POSIX systems (NFS, say?) where pathconf fails on "." or "/" with errno == ENOENT. */ size_t name_max = NAME_MAX_MINIMUM; /* If nonzero, the known limit on file name components. */ size_t known_name_max = (check_basic_portability ? _POSIX_NAME_MAX : 0); for (start = file; *(start = component_start (start)); ) { size_t length; if (known_name_max) name_max = known_name_max; else { long int len; char const *dir = (start == file ? "." : file); char c = *start; errno = 0; *start = '\0'; len = pathconf (dir, _PC_NAME_MAX); *start = c; if (0 <= len) name_max = MIN (len, SSIZE_MAX); else switch (errno) { case 0: /* There is no limit. */ name_max = SIZE_MAX; break; case ENOENT: /* DIR does not exist; use its parent's maximum. */ known_name_max = name_max; break; default: *start = '\0'; error (0, errno, "%s", dir); *start = c; return false; } } length = component_len (start); if (name_max < length) { unsigned long int len = length; unsigned long int maxlen = name_max; char c = start[len]; start[len] = '\0'; error (0, 0, _("limit %lu exceeded by length %lu " "of file name component %s"), maxlen, len, quote (start)); start[len] = c; return false; } start += length; } } return true; } coreutils-8.21/src/remove.h0000664000000000000000000000570712102337340012607 00000000000000/* Remove directory entries. Copyright (C) 1998-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef REMOVE_H # define REMOVE_H # include "dev-ino.h" enum rm_interactive { /* Start with any number larger than 1, so that any legacy tests against values of 0 or 1 will fail. */ RMI_ALWAYS = 3, RMI_SOMETIMES, RMI_NEVER }; struct rm_options { /* If true, ignore nonexistent files. */ bool ignore_missing_files; /* If true, query the user about whether to remove each file. */ enum rm_interactive interactive; // FIXME: remove /* If true, do not traverse into (or remove) any directory that is on a file system (i.e., that has a different device number) other than that of the corresponding command line argument. Note that even without this option, rm will fail in the end, due to its probable inability to remove the mount point. But there, the diagnostic comes too late -- after removing all contents. */ bool one_file_system; /* If true, recursively remove directories. */ bool recursive; /* If true, remove empty directories. */ bool remove_empty_directories; /* Pointer to the device and inode numbers of '/', when --recursive and preserving '/'. Otherwise NULL. */ struct dev_ino *root_dev_ino; /* If nonzero, stdin is a tty. */ bool stdin_tty; /* If true, display the name of each file removed. */ bool verbose; /* If true, treat the failure by the rm function to restore the current working directory as a fatal error. I.e., if this field is true and the rm function cannot restore cwd, it must exit with a nonzero status. Some applications require that the rm function restore cwd (e.g., mv) and some others do not (e.g., rm, in many cases). */ bool require_restore_cwd; }; enum RM_status { /* These must be listed in order of increasing seriousness. */ RM_OK = 2, RM_USER_DECLINED, RM_ERROR, RM_NONEMPTY_DIR }; # define VALID_STATUS(S) \ ((S) == RM_OK || (S) == RM_USER_DECLINED || (S) == RM_ERROR) # define UPDATE_STATUS(S, New_value) \ do \ { \ if ((New_value) == RM_ERROR \ || ((New_value) == RM_USER_DECLINED && (S) == RM_OK)) \ (S) = (New_value); \ } \ while (0) extern enum RM_status rm (char *const *file, struct rm_options const *x); #endif coreutils-8.21/src/cat.c0000664000000000000000000005430512102337340012052 00000000000000/* cat -- concatenate files and print on the standard output. Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Differences from the Unix cat: * Always unbuffered, -u is ignored. * Usually much faster than other versions of cat, the difference is especially apparent when using the -v option. By tege@sics.se, Torbjorn Granlund, advised by rms, Richard Stallman. */ #include #include #include #include #if HAVE_STROPTS_H # include #endif #include #include "system.h" #include "ioblksize.h" #include "error.h" #include "fadvise.h" #include "full-write.h" #include "quote.h" #include "safe-read.h" #include "xfreopen.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "cat" #define AUTHORS \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name ("Richard M. Stallman") /* Name of input file. May be "-". */ static char const *infile; /* Descriptor on which input file is open. */ static int input_desc; /* Buffer for line numbers. An 11 digit counter may overflow within an hour on a P2/466, an 18 digit counter needs about 1000y */ #define LINE_COUNTER_BUF_LEN 20 static char line_buf[LINE_COUNTER_BUF_LEN] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '0', '\t', '\0' }; /* Position in 'line_buf' where printing starts. This will not change unless the number of lines is larger than 999999. */ static char *line_num_print = line_buf + LINE_COUNTER_BUF_LEN - 8; /* Position of the first digit in 'line_buf'. */ static char *line_num_start = line_buf + LINE_COUNTER_BUF_LEN - 3; /* Position of the last digit in 'line_buf'. */ static char *line_num_end = line_buf + LINE_COUNTER_BUF_LEN - 3; /* Preserves the 'cat' function's local 'newlines' between invocations. */ static int newlines2 = 0; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Concatenate FILE(s), or standard input, to standard output.\n\ \n\ -A, --show-all equivalent to -vET\n\ -b, --number-nonblank number nonempty output lines, overrides -n\n\ -e equivalent to -vE\n\ -E, --show-ends display $ at end of each line\n\ -n, --number number all output lines\n\ -s, --squeeze-blank suppress repeated empty output lines\n\ "), stdout); fputs (_("\ -t equivalent to -vT\n\ -T, --show-tabs display TAB characters as ^I\n\ -u (ignored)\n\ -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE, or when FILE is -, read standard input.\n\ "), stdout); printf (_("\ \n\ Examples:\n\ %s f - g Output f's contents, then standard input, then g's contents.\n\ %s Copy standard input to standard output.\n\ "), program_name, program_name); emit_ancillary_info (); } exit (status); } /* Compute the next line number. */ static void next_line_num (void) { char *endp = line_num_end; do { if ((*endp)++ < '9') return; *endp-- = '0'; } while (endp >= line_num_start); if (line_num_start > line_buf) *--line_num_start = '1'; else *line_buf = '>'; if (line_num_start < line_num_print) line_num_print--; } /* Plain cat. Copies the file behind 'input_desc' to STDOUT_FILENO. Return true if successful. */ static bool simple_cat ( /* Pointer to the buffer, used by reads and writes. */ char *buf, /* Number of characters preferably read or written by each read and write call. */ size_t bufsize) { /* Actual number of characters read, and therefore written. */ size_t n_read; /* Loop until the end of the file. */ while (true) { /* Read a block of input. */ n_read = safe_read (input_desc, buf, bufsize); if (n_read == SAFE_READ_ERROR) { error (0, errno, "%s", infile); return false; } /* End of this file? */ if (n_read == 0) return true; /* Write this block out. */ { /* The following is ok, since we know that 0 < n_read. */ size_t n = n_read; if (full_write (STDOUT_FILENO, buf, n) != n) error (EXIT_FAILURE, errno, _("write error")); } } } /* Write any pending output to STDOUT_FILENO. Pending is defined to be the *BPOUT - OUTBUF bytes starting at OUTBUF. Then set *BPOUT to OUTPUT if it's not already that value. */ static inline void write_pending (char *outbuf, char **bpout) { size_t n_write = *bpout - outbuf; if (0 < n_write) { if (full_write (STDOUT_FILENO, outbuf, n_write) != n_write) error (EXIT_FAILURE, errno, _("write error")); *bpout = outbuf; } } /* Cat the file behind INPUT_DESC to the file behind OUTPUT_DESC. Return true if successful. Called if any option more than -u was specified. A newline character is always put at the end of the buffer, to make an explicit test for buffer end unnecessary. */ static bool cat ( /* Pointer to the beginning of the input buffer. */ char *inbuf, /* Number of characters read in each read call. */ size_t insize, /* Pointer to the beginning of the output buffer. */ char *outbuf, /* Number of characters written by each write call. */ size_t outsize, /* Variables that have values according to the specified options. */ bool show_nonprinting, bool show_tabs, bool number, bool number_nonblank, bool show_ends, bool squeeze_blank) { /* Last character read from the input buffer. */ unsigned char ch; /* Pointer to the next character in the input buffer. */ char *bpin; /* Pointer to the first non-valid byte in the input buffer, i.e. the current end of the buffer. */ char *eob; /* Pointer to the position where the next character shall be written. */ char *bpout; /* Number of characters read by the last read call. */ size_t n_read; /* Determines how many consecutive newlines there have been in the input. 0 newlines makes NEWLINES -1, 1 newline makes NEWLINES 1, etc. Initially 0 to indicate that we are at the beginning of a new line. The "state" of the procedure is determined by NEWLINES. */ int newlines = newlines2; #ifdef FIONREAD /* If nonzero, use the FIONREAD ioctl, as an optimization. (On Ultrix, it is not supported on NFS file systems.) */ bool use_fionread = true; #endif /* The inbuf pointers are initialized so that BPIN > EOB, and thereby input is read immediately. */ eob = inbuf; bpin = eob + 1; bpout = outbuf; while (true) { do { /* Write if there are at least OUTSIZE bytes in OUTBUF. */ if (outbuf + outsize <= bpout) { char *wp = outbuf; size_t remaining_bytes; do { if (full_write (STDOUT_FILENO, wp, outsize) != outsize) error (EXIT_FAILURE, errno, _("write error")); wp += outsize; remaining_bytes = bpout - wp; } while (outsize <= remaining_bytes); /* Move the remaining bytes to the beginning of the buffer. */ memmove (outbuf, wp, remaining_bytes); bpout = outbuf + remaining_bytes; } /* Is INBUF empty? */ if (bpin > eob) { bool input_pending = false; #ifdef FIONREAD int n_to_read = 0; /* Is there any input to read immediately? If not, we are about to wait, so write all buffered output before waiting. */ if (use_fionread && ioctl (input_desc, FIONREAD, &n_to_read) < 0) { /* Ultrix returns EOPNOTSUPP on NFS; HP-UX returns ENOTTY on pipes. SunOS returns EINVAL and More/BSD returns ENODEV on special files like /dev/null. Irix-5 returns ENOSYS on pipes. */ if (errno == EOPNOTSUPP || errno == ENOTTY || errno == EINVAL || errno == ENODEV || errno == ENOSYS) use_fionread = false; else { error (0, errno, _("cannot do ioctl on %s"), quote (infile)); newlines2 = newlines; return false; } } if (n_to_read != 0) input_pending = true; #endif if (!input_pending) write_pending (outbuf, &bpout); /* Read more input into INBUF. */ n_read = safe_read (input_desc, inbuf, insize); if (n_read == SAFE_READ_ERROR) { error (0, errno, "%s", infile); write_pending (outbuf, &bpout); newlines2 = newlines; return false; } if (n_read == 0) { write_pending (outbuf, &bpout); newlines2 = newlines; return true; } /* Update the pointers and insert a sentinel at the buffer end. */ bpin = inbuf; eob = bpin + n_read; *eob = '\n'; } else { /* It was a real (not a sentinel) newline. */ /* Was the last line empty? (i.e. have two or more consecutive newlines been read?) */ if (++newlines > 0) { if (newlines >= 2) { /* Limit this to 2 here. Otherwise, with lots of consecutive newlines, the counter could wrap around at INT_MAX. */ newlines = 2; /* Are multiple adjacent empty lines to be substituted by single ditto (-s), and this was the second empty line? */ if (squeeze_blank) { ch = *bpin++; continue; } } /* Are line numbers to be written at empty lines (-n)? */ if (number && !number_nonblank) { next_line_num (); bpout = stpcpy (bpout, line_num_print); } } /* Output a currency symbol if requested (-e). */ if (show_ends) *bpout++ = '$'; /* Output the newline. */ *bpout++ = '\n'; } ch = *bpin++; } while (ch == '\n'); /* Are we at the beginning of a line, and line numbers are requested? */ if (newlines >= 0 && number) { next_line_num (); bpout = stpcpy (bpout, line_num_print); } /* Here CH cannot contain a newline character. */ /* The loops below continue until a newline character is found, which means that the buffer is empty or that a proper newline has been found. */ /* If quoting, i.e. at least one of -v, -e, or -t specified, scan for chars that need conversion. */ if (show_nonprinting) { while (true) { if (ch >= 32) { if (ch < 127) *bpout++ = ch; else if (ch == 127) { *bpout++ = '^'; *bpout++ = '?'; } else { *bpout++ = 'M'; *bpout++ = '-'; if (ch >= 128 + 32) { if (ch < 128 + 127) *bpout++ = ch - 128; else { *bpout++ = '^'; *bpout++ = '?'; } } else { *bpout++ = '^'; *bpout++ = ch - 128 + 64; } } } else if (ch == '\t' && !show_tabs) *bpout++ = '\t'; else if (ch == '\n') { newlines = -1; break; } else { *bpout++ = '^'; *bpout++ = ch + 64; } ch = *bpin++; } } else { /* Not quoting, neither of -v, -e, or -t specified. */ while (true) { if (ch == '\t' && show_tabs) { *bpout++ = '^'; *bpout++ = ch + 64; } else if (ch != '\n') *bpout++ = ch; else { newlines = -1; break; } ch = *bpin++; } } } } int main (int argc, char **argv) { /* Optimal size of i/o operations of output. */ size_t outsize; /* Optimal size of i/o operations of input. */ size_t insize; size_t page_size = getpagesize (); /* Pointer to the input buffer. */ char *inbuf; /* Pointer to the output buffer. */ char *outbuf; bool ok = true; int c; /* Index in argv to processed argument. */ int argind; /* Device number of the output (file or whatever). */ dev_t out_dev; /* I-node number of the output. */ ino_t out_ino; /* True if the output file should not be the same as any input file. */ bool check_redirection = true; /* Nonzero if we have ever read standard input. */ bool have_read_stdin = false; struct stat stat_buf; /* Variables that are set according to the specified options. */ bool number = false; bool number_nonblank = false; bool squeeze_blank = false; bool show_ends = false; bool show_nonprinting = false; bool show_tabs = false; int file_open_mode = O_RDONLY; static struct option const long_options[] = { {"number-nonblank", no_argument, NULL, 'b'}, {"number", no_argument, NULL, 'n'}, {"squeeze-blank", no_argument, NULL, 's'}, {"show-nonprinting", no_argument, NULL, 'v'}, {"show-ends", no_argument, NULL, 'E'}, {"show-tabs", no_argument, NULL, 'T'}, {"show-all", no_argument, NULL, 'A'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); /* Arrange to close stdout if we exit via the case_GETOPT_HELP_CHAR or case_GETOPT_VERSION_CHAR code. Normally STDOUT_FILENO is used rather than stdout, so close_stdout does nothing. */ atexit (close_stdout); /* Parse command line options. */ while ((c = getopt_long (argc, argv, "benstuvAET", long_options, NULL)) != -1) { switch (c) { case 'b': number = true; number_nonblank = true; break; case 'e': show_ends = true; show_nonprinting = true; break; case 'n': number = true; break; case 's': squeeze_blank = true; break; case 't': show_tabs = true; show_nonprinting = true; break; case 'u': /* We provide the -u feature unconditionally. */ break; case 'v': show_nonprinting = true; break; case 'A': show_nonprinting = true; show_ends = true; show_tabs = true; break; case 'E': show_ends = true; break; case 'T': show_tabs = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } /* Get device, i-node number, and optimal blocksize of output. */ if (fstat (STDOUT_FILENO, &stat_buf) < 0) error (EXIT_FAILURE, errno, _("standard output")); outsize = io_blksize (stat_buf); /* Input file can be output file for non-regular files. fstat on pipes returns S_IFSOCK on some systems, S_IFIFO on others, so the checking should not be done for those types, and to allow things like cat < /dev/tty > /dev/tty, checking is not done for device files either. */ if (S_ISREG (stat_buf.st_mode)) { out_dev = stat_buf.st_dev; out_ino = stat_buf.st_ino; } else { check_redirection = false; #ifdef lint /* Suppress 'used before initialized' warning. */ out_dev = 0; out_ino = 0; #endif } if (! (number || show_ends || squeeze_blank)) { file_open_mode |= O_BINARY; if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); } /* Check if any of the input files are the same as the output file. */ /* Main loop. */ infile = "-"; argind = optind; do { if (argind < argc) infile = argv[argind]; if (STREQ (infile, "-")) { have_read_stdin = true; input_desc = STDIN_FILENO; if ((file_open_mode & O_BINARY) && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { input_desc = open (infile, file_open_mode); if (input_desc < 0) { error (0, errno, "%s", infile); ok = false; continue; } } if (fstat (input_desc, &stat_buf) < 0) { error (0, errno, "%s", infile); ok = false; goto contin; } insize = io_blksize (stat_buf); fdadvise (input_desc, 0, 0, FADVISE_SEQUENTIAL); /* Compare the device and i-node numbers of this input file with the corresponding values of the (output file associated with) stdout, and skip this input file if they coincide. Input files cannot be redirected to themselves. */ if (check_redirection && stat_buf.st_dev == out_dev && stat_buf.st_ino == out_ino && (input_desc != STDIN_FILENO)) { error (0, 0, _("%s: input file is output file"), infile); ok = false; goto contin; } /* Select which version of 'cat' to use. If any format-oriented options were given use 'cat'; otherwise use 'simple_cat'. */ if (! (number || show_ends || show_nonprinting || show_tabs || squeeze_blank)) { insize = MAX (insize, outsize); inbuf = xmalloc (insize + page_size - 1); ok &= simple_cat (ptr_align (inbuf, page_size), insize); } else { inbuf = xmalloc (insize + 1 + page_size - 1); /* Why are (OUTSIZE - 1 + INSIZE * 4 + LINE_COUNTER_BUF_LEN + PAGE_SIZE - 1) bytes allocated for the output buffer? A test whether output needs to be written is done when the input buffer empties or when a newline appears in the input. After output is written, at most (OUTSIZE - 1) bytes will remain in the buffer. Now INSIZE bytes of input is read. Each input character may grow by a factor of 4 (by the prepending of M-^). If all characters do, and no newlines appear in this block of input, we will have at most (OUTSIZE - 1 + INSIZE * 4) bytes in the buffer. If the last character in the preceding block of input was a newline, a line number may be written (according to the given options) as the first thing in the output buffer. (Done after the new input is read, but before processing of the input begins.) A line number requires seldom more than LINE_COUNTER_BUF_LEN positions. Align the output buffer to a page size boundary, for efficiency on some paging implementations, so add PAGE_SIZE - 1 bytes to the request to make room for the alignment. */ outbuf = xmalloc (outsize - 1 + insize * 4 + LINE_COUNTER_BUF_LEN + page_size - 1); ok &= cat (ptr_align (inbuf, page_size), insize, ptr_align (outbuf, page_size), outsize, show_nonprinting, show_tabs, number, number_nonblank, show_ends, squeeze_blank); free (outbuf); } free (inbuf); contin: if (!STREQ (infile, "-") && close (input_desc) < 0) { error (0, errno, "%s", infile); ok = false; } } while (++argind < argc); if (have_read_stdin && close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, _("closing standard input")); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/operand2sig.c0000664000000000000000000000441512102337340013515 00000000000000/* operand2sig.c -- common function for parsing signal specifications Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from kill.c/timeout.c by Pádraig Brady. FIXME: Move this to gnulib/str2sig.c */ /* Convert OPERAND to a signal number with printable representation SIGNAME. Return the signal number, or -1 if unsuccessful. */ #include #include #include #include #include "system.h" #include "error.h" #include "sig2str.h" #include "operand2sig.h" extern int operand2sig (char const *operand, char *signame) { int signum; if (ISDIGIT (*operand)) { char *endp; long int l = (errno = 0, strtol (operand, &endp, 10)); int i = l; signum = (operand == endp || *endp || errno || i != l ? -1 : WIFSIGNALED (i) ? WTERMSIG (i) : i); } else { /* Convert signal to upper case in the C locale, not in the current locale. Don't assume ASCII; it might be EBCDIC. */ char *upcased = xstrdup (operand); char *p; for (p = upcased; *p; p++) if (strchr ("abcdefghijklmnopqrstuvwxyz", *p)) *p += 'A' - 'a'; /* Look for the signal name, possibly prefixed by "SIG", and possibly lowercased. */ if (!(str2sig (upcased, &signum) == 0 || (upcased[0] == 'S' && upcased[1] == 'I' && upcased[2] == 'G' && str2sig (upcased + 3, &signum) == 0))) signum = -1; free (upcased); } if (signum < 0 || sig2str (signum, signame) != 0) { error (0, 0, _("%s: invalid signal"), operand); return -1; } return signum; } coreutils-8.21/src/md5sum.c0000664000000000000000000005647412102337340012526 00000000000000/* Compute checksums of files or strings. Copyright (C) 1995-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Ulrich Drepper . */ #include #include #include #include "system.h" #if HASH_ALGO_MD5 # include "md5.h" #endif #if HASH_ALGO_SHA1 # include "sha1.h" #endif #if HASH_ALGO_SHA256 || HASH_ALGO_SHA224 # include "sha256.h" #endif #if HASH_ALGO_SHA512 || HASH_ALGO_SHA384 # include "sha512.h" #endif #include "error.h" #include "fadvise.h" #include "stdio--.h" #include "xfreopen.h" /* The official name of this program (e.g., no 'g' prefix). */ #if HASH_ALGO_MD5 # define PROGRAM_NAME "md5sum" # define DIGEST_TYPE_STRING "MD5" # define DIGEST_STREAM md5_stream # define DIGEST_BITS 128 # define DIGEST_REFERENCE "RFC 1321" # define DIGEST_ALIGN 4 #elif HASH_ALGO_SHA1 # define PROGRAM_NAME "sha1sum" # define DIGEST_TYPE_STRING "SHA1" # define DIGEST_STREAM sha1_stream # define DIGEST_BITS 160 # define DIGEST_REFERENCE "FIPS-180-1" # define DIGEST_ALIGN 4 #elif HASH_ALGO_SHA256 # define PROGRAM_NAME "sha256sum" # define DIGEST_TYPE_STRING "SHA256" # define DIGEST_STREAM sha256_stream # define DIGEST_BITS 256 # define DIGEST_REFERENCE "FIPS-180-2" # define DIGEST_ALIGN 4 #elif HASH_ALGO_SHA224 # define PROGRAM_NAME "sha224sum" # define DIGEST_TYPE_STRING "SHA224" # define DIGEST_STREAM sha224_stream # define DIGEST_BITS 224 # define DIGEST_REFERENCE "RFC 3874" # define DIGEST_ALIGN 4 #elif HASH_ALGO_SHA512 # define PROGRAM_NAME "sha512sum" # define DIGEST_TYPE_STRING "SHA512" # define DIGEST_STREAM sha512_stream # define DIGEST_BITS 512 # define DIGEST_REFERENCE "FIPS-180-2" # define DIGEST_ALIGN 8 #elif HASH_ALGO_SHA384 # define PROGRAM_NAME "sha384sum" # define DIGEST_TYPE_STRING "SHA384" # define DIGEST_STREAM sha384_stream # define DIGEST_BITS 384 # define DIGEST_REFERENCE "FIPS-180-2" # define DIGEST_ALIGN 8 #else # error "Can't decide which hash algorithm to compile." #endif #define DIGEST_HEX_BYTES (DIGEST_BITS / 4) #define DIGEST_BIN_BYTES (DIGEST_BITS / 8) #define AUTHORS \ proper_name ("Ulrich Drepper"), \ proper_name ("Scott Miller"), \ proper_name ("David Madore") /* The minimum length of a valid digest line. This length does not include any newline character at the end of a line. */ #define MIN_DIGEST_LINE_LENGTH \ (DIGEST_HEX_BYTES /* length of hexadecimal message digest */ \ + 1 /* blank */ \ + 1 /* minimum filename length */ ) /* True if any of the files read were the standard input. */ static bool have_read_stdin; /* The minimum length of a valid checksum line for the selected algorithm. */ static size_t min_digest_line_length; /* Set to the length of a digest hex string for the selected algorithm. */ static size_t digest_hex_bytes; /* With --check, don't generate any output. The exit code indicates success or failure. */ static bool status_only = false; /* With --check, print a message to standard error warning about each improperly formatted checksum line. */ static bool warn = false; /* With --check, suppress the "OK" printed for each verified file. */ static bool quiet = false; /* With --check, exit with a non-zero return code if any line is improperly formatted. */ static bool strict = false; /* Whether a BSD reversed format checksum is detected. */ static int bsd_reversed = -1; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { STATUS_OPTION = CHAR_MAX + 1, QUIET_OPTION, STRICT_OPTION, TAG_OPTION }; static struct option const long_options[] = { { "binary", no_argument, NULL, 'b' }, { "check", no_argument, NULL, 'c' }, { "quiet", no_argument, NULL, QUIET_OPTION }, { "status", no_argument, NULL, STATUS_OPTION }, { "text", no_argument, NULL, 't' }, { "warn", no_argument, NULL, 'w' }, { "strict", no_argument, NULL, STRICT_OPTION }, { "tag", no_argument, NULL, TAG_OPTION }, { GETOPT_HELP_OPTION_DECL }, { GETOPT_VERSION_OPTION_DECL }, { NULL, 0, NULL, 0 } }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ Print or check %s (%d-bit) checksums.\n\ With no FILE, or when FILE is -, read standard input.\n\ \n\ "), program_name, DIGEST_TYPE_STRING, DIGEST_BITS); if (O_BINARY) fputs (_("\ -b, --binary read in binary mode (default unless reading tty stdin)\n\ "), stdout); else fputs (_("\ -b, --binary read in binary mode\n\ "), stdout); printf (_("\ -c, --check read %s sums from the FILEs and check them\n"), DIGEST_TYPE_STRING); fputs (_("\ --tag create a BSD-style checksum\n\ "), stdout); if (O_BINARY) fputs (_("\ -t, --text read in text mode (default if reading tty stdin)\n\ "), stdout); else fputs (_("\ -t, --text read in text mode (default)\n\ "), stdout); fputs (_("\ \n\ The following three options are useful only when verifying checksums:\n\ --quiet don't print OK for each successfully verified file\n\ --status don't output anything, status code shows success\n\ -w, --warn warn about improperly formatted checksum lines\n\ \n\ "), stdout); fputs (_("\ --strict with --check, exit non-zero for any invalid input\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ The sums are computed as described in %s. When checking, the input\n\ should be a former output of this program. The default mode is to print\n\ a line with checksum, a character indicating input mode ('*' for binary,\n\ space for text), and name for each FILE.\n"), DIGEST_REFERENCE); emit_ancillary_info (); } exit (status); } #define ISWHITE(c) ((c) == ' ' || (c) == '\t') /* Given a file name, S of length S_LEN, that is not NUL-terminated, modify it in place, performing the equivalent of this sed substitution: 's/\\n/\n/g;s/\\\\/\\/g' i.e., replacing each "\\n" string with a newline and each "\\\\" with a single backslash, NUL-terminate it and return S. If S is not a valid escaped file name, i.e., if it ends with an odd number of backslashes or if it contains a backslash followed by anything other than "n" or another backslash, return NULL. */ static char * filename_unescape (char *s, size_t s_len) { char *dst = s; for (size_t i = 0; i < s_len; i++) { switch (s[i]) { case '\\': if (i == s_len - 1) { /* File name ends with an unescaped backslash: invalid. */ return NULL; } ++i; switch (s[i]) { case 'n': *dst++ = '\n'; break; case '\\': *dst++ = '\\'; break; default: /* Only '\' or 'n' may follow a backslash. */ return NULL; } break; case '\0': /* The file name may not contain a NUL. */ return NULL; default: *dst++ = s[i]; break; } } if (dst < s + s_len) *dst = '\0'; return s; } /* Split the checksum string S (of length S_LEN) from a BSD 'md5' or 'sha1' command into two parts: a hexadecimal digest, and the file name. S is modified. Return true if successful. */ static bool bsd_split_3 (char *s, size_t s_len, unsigned char **hex_digest, char **file_name, bool escaped_filename) { size_t i; if (s_len == 0) return false; /* Find end of filename. */ i = s_len - 1; while (i && s[i] != ')') i--; if (s[i] != ')') return false; *file_name = s; if (escaped_filename && filename_unescape (s, i) == NULL) return false; s[i++] = '\0'; while (ISWHITE (s[i])) i++; if (s[i] != '=') return false; i++; while (ISWHITE (s[i])) i++; *hex_digest = (unsigned char *) &s[i]; return true; } /* Split the string S (of length S_LEN) into three parts: a hexadecimal digest, binary flag, and the file name. S is modified. Return true if successful. */ static bool split_3 (char *s, size_t s_len, unsigned char **hex_digest, int *binary, char **file_name) { bool escaped_filename = false; size_t algo_name_len; size_t i = 0; while (ISWHITE (s[i])) ++i; if (s[i] == '\\') { ++i; escaped_filename = true; } /* Check for BSD-style checksum line. */ algo_name_len = strlen (DIGEST_TYPE_STRING); if (STREQ_LEN (s + i, DIGEST_TYPE_STRING, algo_name_len)) { if (s[i + algo_name_len] == ' ') ++i; if (s[i + algo_name_len] == '(') { *binary = 0; return bsd_split_3 (s + i + algo_name_len + 1, s_len - (i + algo_name_len + 1), hex_digest, file_name, escaped_filename); } } /* Ignore this line if it is too short. Each line must have at least 'min_digest_line_length - 1' (or one more, if the first is a backslash) more characters to contain correct message digest information. */ if (s_len - i < min_digest_line_length + (s[i] == '\\')) return false; *hex_digest = (unsigned char *) &s[i]; /* The first field has to be the n-character hexadecimal representation of the message digest. If it is not followed immediately by a white space it's an error. */ i += digest_hex_bytes; if (!ISWHITE (s[i])) return false; s[i++] = '\0'; /* If "bsd reversed" format detected. */ if ((s_len - i == 1) || (s[i] != ' ' && s[i] != '*')) { /* Don't allow mixing bsd and standard formats, to minimize security issues with attackers renaming files with leading spaces. This assumes that with bsd format checksums that the first file name does not have a leading ' ' or '*'. */ if (bsd_reversed == 0) return false; bsd_reversed = 1; } else if (bsd_reversed != 1) { bsd_reversed = 0; *binary = (s[i++] == '*'); } /* All characters between the type indicator and end of line are significant -- that includes leading and trailing white space. */ *file_name = &s[i]; if (escaped_filename) return filename_unescape (&s[i], s_len - i) != NULL; return true; } /* Return true if S is a NUL-terminated string of DIGEST_HEX_BYTES hex digits. Otherwise, return false. */ static bool _GL_ATTRIBUTE_PURE hex_digits (unsigned char const *s) { unsigned int i; for (i = 0; i < digest_hex_bytes; i++) { if (!isxdigit (*s)) return false; ++s; } return *s == '\0'; } /* An interface to the function, DIGEST_STREAM. Operate on FILENAME (it may be "-"). *BINARY indicates whether the file is binary. BINARY < 0 means it depends on whether binary mode makes any difference and the file is a terminal; in that case, clear *BINARY if the file was treated as text because it was a terminal. Put the checksum in *BIN_RESULT, which must be properly aligned. Return true if successful. */ static bool digest_file (const char *filename, int *binary, unsigned char *bin_result) { FILE *fp; int err; bool is_stdin = STREQ (filename, "-"); if (is_stdin) { have_read_stdin = true; fp = stdin; if (O_BINARY && *binary) { if (*binary < 0) *binary = ! isatty (STDIN_FILENO); if (*binary) xfreopen (NULL, "rb", stdin); } } else { fp = fopen (filename, (O_BINARY && *binary ? "rb" : "r")); if (fp == NULL) { error (0, errno, "%s", filename); return false; } } fadvise (fp, FADVISE_SEQUENTIAL); err = DIGEST_STREAM (fp, bin_result); if (err) { error (0, errno, "%s", filename); if (fp != stdin) fclose (fp); return false; } if (!is_stdin && fclose (fp) != 0) { error (0, errno, "%s", filename); return false; } return true; } static bool digest_check (const char *checkfile_name) { FILE *checkfile_stream; uintmax_t n_misformatted_lines = 0; uintmax_t n_properly_formatted_lines = 0; uintmax_t n_improperly_formatted_lines = 0; uintmax_t n_mismatched_checksums = 0; uintmax_t n_open_or_read_failures = 0; unsigned char bin_buffer_unaligned[DIGEST_BIN_BYTES + DIGEST_ALIGN]; /* Make sure bin_buffer is properly aligned. */ unsigned char *bin_buffer = ptr_align (bin_buffer_unaligned, DIGEST_ALIGN); uintmax_t line_number; char *line; size_t line_chars_allocated; bool is_stdin = STREQ (checkfile_name, "-"); if (is_stdin) { have_read_stdin = true; checkfile_name = _("standard input"); checkfile_stream = stdin; } else { checkfile_stream = fopen (checkfile_name, "r"); if (checkfile_stream == NULL) { error (0, errno, "%s", checkfile_name); return false; } } line_number = 0; line = NULL; line_chars_allocated = 0; do { char *filename IF_LINT ( = NULL); int binary; unsigned char *hex_digest IF_LINT ( = NULL); ssize_t line_length; ++line_number; if (line_number == 0) error (EXIT_FAILURE, 0, _("%s: too many checksum lines"), checkfile_name); line_length = getline (&line, &line_chars_allocated, checkfile_stream); if (line_length <= 0) break; /* Ignore comment lines, which begin with a '#' character. */ if (line[0] == '#') continue; /* Remove any trailing newline. */ if (line[line_length - 1] == '\n') line[--line_length] = '\0'; if (! (split_3 (line, line_length, &hex_digest, &binary, &filename) && ! (is_stdin && STREQ (filename, "-")) && hex_digits (hex_digest))) { ++n_misformatted_lines; if (warn) { error (0, 0, _("%s: %" PRIuMAX ": improperly formatted %s checksum line"), checkfile_name, line_number, DIGEST_TYPE_STRING); } ++n_improperly_formatted_lines; } else { static const char bin2hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; bool ok; ++n_properly_formatted_lines; ok = digest_file (filename, &binary, bin_buffer); if (!ok) { ++n_open_or_read_failures; if (!status_only) { printf (_("%s: FAILED open or read\n"), filename); } } else { size_t digest_bin_bytes = digest_hex_bytes / 2; size_t cnt; /* Compare generated binary number with text representation in check file. Ignore case of hex digits. */ for (cnt = 0; cnt < digest_bin_bytes; ++cnt) { if (tolower (hex_digest[2 * cnt]) != bin2hex[bin_buffer[cnt] >> 4] || (tolower (hex_digest[2 * cnt + 1]) != (bin2hex[bin_buffer[cnt] & 0xf]))) break; } if (cnt != digest_bin_bytes) ++n_mismatched_checksums; if (!status_only) { if (cnt != digest_bin_bytes) printf ("%s: %s\n", filename, _("FAILED")); else if (!quiet) printf ("%s: %s\n", filename, _("OK")); } } } } while (!feof (checkfile_stream) && !ferror (checkfile_stream)); free (line); if (ferror (checkfile_stream)) { error (0, 0, _("%s: read error"), checkfile_name); return false; } if (!is_stdin && fclose (checkfile_stream) != 0) { error (0, errno, "%s", checkfile_name); return false; } if (n_properly_formatted_lines == 0) { /* Warn if no tests are found. */ error (0, 0, _("%s: no properly formatted %s checksum lines found"), checkfile_name, DIGEST_TYPE_STRING); } else { if (!status_only) { if (n_misformatted_lines != 0) error (0, 0, (ngettext ("WARNING: %" PRIuMAX " line is improperly formatted", "WARNING: %" PRIuMAX " lines are improperly formatted", select_plural (n_misformatted_lines))), n_misformatted_lines); if (n_open_or_read_failures != 0) error (0, 0, (ngettext ("WARNING: %" PRIuMAX " listed file could not be read", "WARNING: %" PRIuMAX " listed files could not be read", select_plural (n_open_or_read_failures))), n_open_or_read_failures); if (n_mismatched_checksums != 0) error (0, 0, (ngettext ("WARNING: %" PRIuMAX " computed checksum did NOT match", "WARNING: %" PRIuMAX " computed checksums did NOT match", select_plural (n_mismatched_checksums))), n_mismatched_checksums); } } return (n_properly_formatted_lines != 0 && n_mismatched_checksums == 0 && n_open_or_read_failures == 0 && (!strict || n_improperly_formatted_lines == 0)); } static void print_filename (char const *file) { /* Translate each NEWLINE byte to the string, "\\n", and each backslash to "\\\\". */ while (*file) { switch (*file) { case '\n': fputs ("\\n", stdout); break; case '\\': fputs ("\\\\", stdout); break; default: putchar (*file); break; } file++; } } int main (int argc, char **argv) { unsigned char bin_buffer_unaligned[DIGEST_BIN_BYTES + DIGEST_ALIGN]; /* Make sure bin_buffer is properly aligned. */ unsigned char *bin_buffer = ptr_align (bin_buffer_unaligned, DIGEST_ALIGN); bool do_check = false; int opt; bool ok = true; int binary = -1; bool prefix_tag = false; /* Setting values of global variables. */ initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Line buffer stdout to ensure lines are written atomically and immediately so that processes running in parallel do not intersperse their output. */ setvbuf (stdout, NULL, _IOLBF, 0); while ((opt = getopt_long (argc, argv, "bctw", long_options, NULL)) != -1) switch (opt) { case 'b': binary = 1; break; case 'c': do_check = true; break; case STATUS_OPTION: status_only = true; warn = false; quiet = false; break; case 't': binary = 0; break; case 'w': status_only = false; warn = true; quiet = false; break; case QUIET_OPTION: status_only = false; warn = false; quiet = true; break; case STRICT_OPTION: strict = true; break; case TAG_OPTION: prefix_tag = true; binary = 1; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } min_digest_line_length = MIN_DIGEST_LINE_LENGTH; digest_hex_bytes = DIGEST_HEX_BYTES; if (prefix_tag && !binary) { /* This could be supported in a backwards compatible way by prefixing the output line with a space in text mode. However that's invasive enough that it was agreed to not support this mode with --tag, as --text use cases are adequately supported by the default output format. */ error (0, 0, _("--tag does not support --text mode")); usage (EXIT_FAILURE); } if (prefix_tag && do_check) { error (0, 0, _("the --tag option is meaningless when " "verifying checksums")); usage (EXIT_FAILURE); } if (0 <= binary && do_check) { error (0, 0, _("the --binary and --text options are meaningless when " "verifying checksums")); usage (EXIT_FAILURE); } if (status_only && !do_check) { error (0, 0, _("the --status option is meaningful only when verifying checksums")); usage (EXIT_FAILURE); } if (warn && !do_check) { error (0, 0, _("the --warn option is meaningful only when verifying checksums")); usage (EXIT_FAILURE); } if (quiet && !do_check) { error (0, 0, _("the --quiet option is meaningful only when verifying checksums")); usage (EXIT_FAILURE); } if (strict & !do_check) { error (0, 0, _("the --strict option is meaningful only when verifying checksums")); usage (EXIT_FAILURE); } if (!O_BINARY && binary < 0) binary = 0; if (optind == argc) argv[argc++] = bad_cast ("-"); for (; optind < argc; ++optind) { char *file = argv[optind]; if (do_check) ok &= digest_check (file); else { int file_is_binary = binary; if (! digest_file (file, &file_is_binary, bin_buffer)) ok = false; else { if (prefix_tag) { if (strchr (file, '\n') || strchr (file, '\\')) putchar ('\\'); fputs (DIGEST_TYPE_STRING, stdout); fputs (" (", stdout); print_filename (file); fputs (") = ", stdout); } size_t i; /* Output a leading backslash if the file name contains a newline or backslash. */ if (!prefix_tag && (strchr (file, '\n') || strchr (file, '\\'))) putchar ('\\'); for (i = 0; i < (digest_hex_bytes / 2); ++i) printf ("%02x", bin_buffer[i]); if (!prefix_tag) { putchar (' '); putchar (file_is_binary ? '*' : ' '); print_filename (file); } putchar ('\n'); } } } if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, _("standard input")); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/cp-hash.c0000664000000000000000000001104512102337340012620 00000000000000/* cp-hash.c -- file copying (hash search routines) Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Torbjorn Granlund, Sweden (tege@sics.se). Rewritten to use lib/hash.c by Jim Meyering. */ #include #include #include "system.h" #include "hash.h" #include "cp-hash.h" /* Use ST_DEV and ST_INO as the key, FILENAME as the value. These are used e.g., in copy.c to associate the destination name with the source device/inode pair so that if we encounter a matching dev/ino pair in the source tree we can arrange to create a hard link between the corresponding names in the destination tree. */ struct Src_to_dest { ino_t st_ino; dev_t st_dev; /* Destination file name (of non-directory or pre-existing directory) corresponding to the dev/ino of a copied file, or the destination file name corresponding to a dev/ino pair for a newly-created directory. */ char *name; }; /* This table maps source dev/ino to destination file name. We use it to preserve hard links when copying. */ static Hash_table *src_to_dest; /* Initial size of the above hash table. */ #define INITIAL_TABLE_SIZE 103 static size_t src_to_dest_hash (void const *x, size_t table_size) { struct Src_to_dest const *p = x; /* Ignoring the device number here should be fine. */ /* The cast to uintmax_t prevents negative remainders if st_ino is negative. */ return (uintmax_t) p->st_ino % table_size; } /* Compare two Src_to_dest entries. Return true if their keys are judged 'equal'. */ static bool src_to_dest_compare (void const *x, void const *y) { struct Src_to_dest const *a = x; struct Src_to_dest const *b = y; return SAME_INODE (*a, *b) ? true : false; } static void src_to_dest_free (void *x) { struct Src_to_dest *a = x; free (a->name); free (x); } /* Remove the entry matching INO/DEV from the table that maps source ino/dev to destination file name. */ extern void forget_created (ino_t ino, dev_t dev) { struct Src_to_dest probe; struct Src_to_dest *ent; probe.st_ino = ino; probe.st_dev = dev; probe.name = NULL; ent = hash_delete (src_to_dest, &probe); if (ent) src_to_dest_free (ent); } /* If INO/DEV correspond to an already-copied source file, return the name of the corresponding destination file. Otherwise, return NULL. */ extern char * src_to_dest_lookup (ino_t ino, dev_t dev) { struct Src_to_dest ent; struct Src_to_dest const *e; ent.st_ino = ino; ent.st_dev = dev; e = hash_lookup (src_to_dest, &ent); return e ? e->name : NULL; } /* Add file NAME, copied from inode number INO and device number DEV, to the list of files we have copied. Return NULL if inserted, otherwise non-NULL. */ extern char * remember_copied (const char *name, ino_t ino, dev_t dev) { struct Src_to_dest *ent; struct Src_to_dest *ent_from_table; ent = xmalloc (sizeof *ent); ent->name = xstrdup (name); ent->st_ino = ino; ent->st_dev = dev; ent_from_table = hash_insert (src_to_dest, ent); if (ent_from_table == NULL) { /* Insertion failed due to lack of memory. */ xalloc_die (); } /* Determine whether there was already an entry in the table with a matching key. If so, free ENT (it wasn't inserted) and return the 'name' from the table entry. */ if (ent_from_table != ent) { src_to_dest_free (ent); return (char *) ent_from_table->name; } /* New key; insertion succeeded. */ return NULL; } /* Initialize the hash table. */ extern void hash_init (void) { src_to_dest = hash_initialize (INITIAL_TABLE_SIZE, NULL, src_to_dest_hash, src_to_dest_compare, src_to_dest_free); if (src_to_dest == NULL) xalloc_die (); } /* Reset the hash structure in the global variable 'htab' to contain no entries. */ extern void forget_all (void) { hash_free (src_to_dest); } coreutils-8.21/src/touch.c0000664000000000000000000003132712104672701012431 00000000000000/* touch -- change modification and access times of files Copyright (C) 1987-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith. */ #include #include #include #include #include #include "system.h" #include "argmatch.h" #include "error.h" #include "fd-reopen.h" #include "parse-datetime.h" #include "posixtm.h" #include "posixver.h" #include "quote.h" #include "stat-time.h" #include "utimens.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "touch" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name ("Arnold Robbins"), \ proper_name ("Jim Kingdon"), \ proper_name ("David MacKenzie"), \ proper_name ("Randy Smith") /* Bitmasks for 'change_times'. */ #define CH_ATIME 1 #define CH_MTIME 2 /* Which timestamps to change. */ static int change_times; /* (-c) If true, don't create if not already there. */ static bool no_create; /* (-r) If true, use times from a reference file. */ static bool use_ref; /* (-h) If true, change the times of an existing symlink, if possible. */ static bool no_dereference; /* If true, the only thing we have to do is change both the modification and access time to the current time, so we don't have to own the file, just be able to read and write it. On some systems, we can do this if we own the file, even though we have neither read nor write access to it. */ static bool amtime_now; /* New access and modification times to use when setting time. */ static struct timespec newtime[2]; /* File to use for -r. */ static char *ref_file; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { TIME_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { {"time", required_argument, NULL, TIME_OPTION}, {"no-create", no_argument, NULL, 'c'}, {"date", required_argument, NULL, 'd'}, {"reference", required_argument, NULL, 'r'}, {"no-dereference", no_argument, NULL, 'h'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Valid arguments to the '--time' option. */ static char const* const time_args[] = { "atime", "access", "use", "mtime", "modify", NULL }; /* The bits in 'change_times' that those arguments set. */ static int const time_masks[] = { CH_ATIME, CH_ATIME, CH_ATIME, CH_MTIME, CH_MTIME }; /* Store into *RESULT the result of interpreting FLEX_DATE as a date, relative to NOW. If NOW is null, use the current time. */ static void get_reldate (struct timespec *result, char const *flex_date, struct timespec const *now) { if (! parse_datetime (result, flex_date, now)) error (EXIT_FAILURE, 0, _("invalid date format %s"), quote (flex_date)); } /* Update the time of file FILE according to the options given. Return true if successful. */ static bool touch (const char *file) { bool ok; int fd = -1; int open_errno = 0; struct timespec const *t = newtime; if (STREQ (file, "-")) fd = STDOUT_FILENO; else if (! (no_create || no_dereference)) { /* Try to open FILE, creating it if necessary. */ fd = fd_reopen (STDIN_FILENO, file, O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY, MODE_RW_UGO); /* Don't save a copy of errno if it's EISDIR, since that would lead touch to give a bogus diagnostic for e.g., 'touch /' (assuming we don't own / or have write access to it). On Solaris 5.6, and probably other systems, it is EINVAL. On SunOS4, it's EPERM. */ if (fd == -1 && errno != EISDIR && errno != EINVAL && errno != EPERM) open_errno = errno; } if (change_times != (CH_ATIME | CH_MTIME)) { /* We're setting only one of the time values. */ if (change_times == CH_MTIME) newtime[0].tv_nsec = UTIME_OMIT; else { assert (change_times == CH_ATIME); newtime[1].tv_nsec = UTIME_OMIT; } } if (amtime_now) { /* Pass NULL to futimens so it will not fail if we have write access to the file, but don't own it. */ t = NULL; } ok = (fdutimensat (fd, AT_FDCWD, (fd == STDOUT_FILENO ? NULL : file), t, (no_dereference && fd == -1) ? AT_SYMLINK_NOFOLLOW : 0) == 0); if (fd == STDIN_FILENO) { if (close (STDIN_FILENO) != 0) { error (0, errno, _("failed to close %s"), quote (file)); return false; } } else if (fd == STDOUT_FILENO) { /* Do not diagnose "touch -c - >&-". */ if (!ok && errno == EBADF && no_create) return true; } if (!ok) { if (open_errno) { /* The wording of this diagnostic should cover at least two cases: - the file does not exist, but the parent directory is unwritable - the file exists, but it isn't writable I think it's not worth trying to distinguish them. */ error (0, open_errno, _("cannot touch %s"), quote (file)); } else { if (no_create && errno == ENOENT) return true; error (0, errno, _("setting times of %s"), quote (file)); } return false; } return true; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("\ Update the access and modification times of each FILE to the current time.\n\ \n\ A FILE argument that does not exist is created empty, unless -c or -h\n\ is supplied.\n\ \n\ A FILE argument string of - is handled specially and causes touch to\n\ change the times of the file associated with standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -a change only the access time\n\ -c, --no-create do not create any files\n\ -d, --date=STRING parse STRING and use it instead of current time\n\ -f (ignored)\n\ "), stdout); fputs (_("\ -h, --no-dereference affect each symbolic link instead of any referenced\n\ file (useful only on systems that can change the\n\ timestamps of a symlink)\n\ -m change only the modification time\n\ "), stdout); fputs (_("\ -r, --reference=FILE use this file's times instead of current time\n\ -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n\ --time=WORD change the specified time:\n\ WORD is access, atime, or use: equivalent to -a\n\ WORD is modify or mtime: equivalent to -m\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Note that the -d and -t options accept different time-date formats.\n\ "), stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int c; bool date_set = false; bool ok = true; char const *flex_date = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); change_times = 0; no_create = use_ref = false; while ((c = getopt_long (argc, argv, "acd:fhmr:t:", longopts, NULL)) != -1) { switch (c) { case 'a': change_times |= CH_ATIME; break; case 'c': no_create = true; break; case 'd': flex_date = optarg; break; case 'f': break; case 'h': no_dereference = true; break; case 'm': change_times |= CH_MTIME; break; case 'r': use_ref = true; ref_file = optarg; break; case 't': if (! posixtime (&newtime[0].tv_sec, optarg, PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS)) error (EXIT_FAILURE, 0, _("invalid date format %s"), quote (optarg)); newtime[0].tv_nsec = 0; newtime[1] = newtime[0]; date_set = true; break; case TIME_OPTION: /* --time */ change_times |= XARGMATCH ("--time", optarg, time_args, time_masks); break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (change_times == 0) change_times = CH_ATIME | CH_MTIME; if (date_set && (use_ref || flex_date)) { error (0, 0, _("cannot specify times from more than one source")); usage (EXIT_FAILURE); } if (use_ref) { struct stat ref_stats; /* Don't use (no_dereference?lstat:stat) (args), since stat might be an object-like macro. */ if (no_dereference ? lstat (ref_file, &ref_stats) : stat (ref_file, &ref_stats)) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote (ref_file)); newtime[0] = get_stat_atime (&ref_stats); newtime[1] = get_stat_mtime (&ref_stats); date_set = true; if (flex_date) { if (change_times & CH_ATIME) get_reldate (&newtime[0], flex_date, &newtime[0]); if (change_times & CH_MTIME) get_reldate (&newtime[1], flex_date, &newtime[1]); } } else { if (flex_date) { struct timespec now; gettime (&now); get_reldate (&newtime[0], flex_date, &now); newtime[1] = newtime[0]; date_set = true; /* If neither -a nor -m is specified, treat "-d now" as if it were absent; this lets "touch" succeed more often in the presence of restrictive permissions. */ if (change_times == (CH_ATIME | CH_MTIME) && newtime[0].tv_sec == now.tv_sec && newtime[0].tv_nsec == now.tv_nsec) { /* Check that it really was "-d now", and not a time stamp that just happens to be the current time. */ struct timespec notnow, notnow1; notnow.tv_sec = now.tv_sec ^ 1; notnow.tv_nsec = now.tv_nsec; get_reldate (¬now1, flex_date, ¬now); if (notnow1.tv_sec == notnow.tv_sec && notnow1.tv_nsec == notnow.tv_nsec) date_set = false; } } } /* The obsolete 'MMDDhhmm[YY]' form is valid IFF there are two or more non-option arguments. */ if (!date_set && 2 <= argc - optind && posix2_version () < 200112 && posixtime (&newtime[0].tv_sec, argv[optind], PDS_TRAILING_YEAR | PDS_PRE_2000)) { newtime[0].tv_nsec = 0; newtime[1] = newtime[0]; date_set = true; if (! getenv ("POSIXLY_CORRECT")) { struct tm const *tm = localtime (&newtime[0].tv_sec); /* Technically, it appears that even a deliberate attempt to cause the above localtime to return NULL will always fail because our posixtime implementation rejects all dates for which localtime would fail. However, skip the warning if it ever fails. */ if (tm) error (0, 0, _("warning: 'touch %s' is obsolete; use " "'touch -t %04ld%02d%02d%02d%02d.%02d'"), argv[optind], tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); } optind++; } if (!date_set) { if (change_times == (CH_ATIME | CH_MTIME)) amtime_now = true; else newtime[1].tv_nsec = newtime[0].tv_nsec = UTIME_NOW; } if (optind == argc) { error (0, 0, _("missing file operand")); usage (EXIT_FAILURE); } for (; optind < argc; ++optind) ok &= touch (argv[optind]); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/split.c0000664000000000000000000012737412102337340012445 00000000000000/* split.c -- split a file into pieces. Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* By tege@sics.se, with rms. To do: * Implement -t CHAR or -t REGEX to specify break characters other than newline. */ #include #include #include #include #include #include #include #include "system.h" #include "error.h" #include "fd-reopen.h" #include "fcntl--.h" #include "full-read.h" #include "full-write.h" #include "ioblksize.h" #include "quote.h" #include "safe-read.h" #include "sig2str.h" #include "xfreopen.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "split" #define AUTHORS \ proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund"), \ proper_name ("Richard M. Stallman") /* Shell command to filter through, instead of creating files. */ static char const *filter_command; /* Process ID of the filter. */ static int filter_pid; /* Array of open pipes. */ static int *open_pipes; static size_t open_pipes_alloc; static size_t n_open_pipes; /* Blocked signals. */ static sigset_t oldblocked; static sigset_t newblocked; /* Base name of output files. */ static char const *outbase; /* Name of output files. */ static char *outfile; /* Pointer to the end of the prefix in OUTFILE. Suffixes are inserted here. */ static char *outfile_mid; /* Generate new suffix when suffixes are exhausted. */ static bool suffix_auto = true; /* Length of OUTFILE's suffix. */ static size_t suffix_length; /* Alphabet of characters to use in suffix. */ static char const *suffix_alphabet = "abcdefghijklmnopqrstuvwxyz"; /* Numerical suffix start value. */ static const char *numeric_suffix_start; /* Additional suffix to append to output file names. */ static char const *additional_suffix; /* Name of input file. May be "-". */ static char *infile; /* stat buf for input file. */ static struct stat in_stat_buf; /* Descriptor on which output file is open. */ static int output_desc = -1; /* If true, print a diagnostic on standard error just before each output file is opened. */ static bool verbose; /* If true, don't generate zero length output files. */ static bool elide_empty_files; /* If true, in round robin mode, immediately copy input to output, which is much slower, so disabled by default. */ static bool unbuffered; /* The split mode to use. */ enum Split_type { type_undef, type_bytes, type_byteslines, type_lines, type_digits, type_chunk_bytes, type_chunk_lines, type_rr }; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { VERBOSE_OPTION = CHAR_MAX + 1, FILTER_OPTION, IO_BLKSIZE_OPTION, ADDITIONAL_SUFFIX_OPTION }; static struct option const longopts[] = { {"bytes", required_argument, NULL, 'b'}, {"lines", required_argument, NULL, 'l'}, {"line-bytes", required_argument, NULL, 'C'}, {"number", required_argument, NULL, 'n'}, {"elide-empty-files", no_argument, NULL, 'e'}, {"unbuffered", no_argument, NULL, 'u'}, {"suffix-length", required_argument, NULL, 'a'}, {"additional-suffix", required_argument, NULL, ADDITIONAL_SUFFIX_OPTION}, {"numeric-suffixes", optional_argument, NULL, 'd'}, {"filter", required_argument, NULL, FILTER_OPTION}, {"verbose", no_argument, NULL, VERBOSE_OPTION}, {"-io-blksize", required_argument, NULL, IO_BLKSIZE_OPTION}, /* do not document */ {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return true if the errno value, ERR, is ignorable. */ static inline bool ignorable (int err) { return filter_command && err == EPIPE; } static void set_suffix_length (uintmax_t n_units, enum Split_type split_type) { #define DEFAULT_SUFFIX_LENGTH 2 size_t suffix_needed = 0; /* The suffix auto length feature is incompatible with a user specified start value as the generated suffixes are not all consecutive. */ if (numeric_suffix_start) suffix_auto = false; /* Auto-calculate the suffix length if the number of files is given. */ if (split_type == type_chunk_bytes || split_type == type_chunk_lines || split_type == type_rr) { size_t alphabet_len = strlen (suffix_alphabet); bool alphabet_slop = (n_units % alphabet_len) != 0; while (n_units /= alphabet_len) suffix_needed++; suffix_needed += alphabet_slop; suffix_auto = false; } if (suffix_length) /* set by user */ { if (suffix_length < suffix_needed) { error (EXIT_FAILURE, 0, _("the suffix length needs to be at least %zu"), suffix_needed); } suffix_auto = false; return; } else suffix_length = MAX (DEFAULT_SUFFIX_LENGTH, suffix_needed); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [INPUT [PREFIX]]\n\ "), program_name); fputs (_("\ Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n\ size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT\n\ is -, read standard input.\n\ "), stdout); emit_mandatory_arg_note (); fprintf (stdout, _("\ -a, --suffix-length=N generate suffixes of length N (default %d)\n\ --additional-suffix=SUFFIX append an additional SUFFIX to file names.\n\ -b, --bytes=SIZE put SIZE bytes per output file\n\ -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n\ -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic.\n\ FROM changes the start value (default 0).\n\ -e, --elide-empty-files do not generate empty output files with '-n'\n\ --filter=COMMAND write to shell COMMAND; file name is $FILE\n\ -l, --lines=NUMBER put NUMBER lines per output file\n\ -n, --number=CHUNKS generate CHUNKS output files. See below\n\ -u, --unbuffered immediately copy input to output with '-n r/...'\n\ "), DEFAULT_SUFFIX_LENGTH); fputs (_("\ --verbose print a diagnostic just before each\n\ output file is opened\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_size_note (); fputs (_("\n\ CHUNKS may be:\n\ N split into N files based on size of input\n\ K/N output Kth of N to stdout\n\ l/N split into N files without splitting lines\n\ l/K/N output Kth of N to stdout without splitting lines\n\ r/N like 'l' but use round robin distribution\n\ r/K/N likewise but only output Kth of N to stdout\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Compute the next sequential output file name and store it into the string 'outfile'. */ static void next_file_name (void) { /* Index in suffix_alphabet of each character in the suffix. */ static size_t *sufindex; static size_t outbase_length; static size_t outfile_length; static size_t addsuf_length; if (! outfile) { bool widen; new_name: widen = !! outfile_length; if (! widen) { /* Allocate and initialize the first file name. */ outbase_length = strlen (outbase); addsuf_length = additional_suffix ? strlen (additional_suffix) : 0; outfile_length = outbase_length + suffix_length + addsuf_length; } else { /* Reallocate and initialize a new wider file name. We do this by subsuming the unchanging part of the generated suffix into the prefix (base), and reinitializing the now one longer suffix. */ outfile_length += 2; suffix_length++; } if (outfile_length + 1 < outbase_length) xalloc_die (); outfile = xrealloc (outfile, outfile_length + 1); if (! widen) memcpy (outfile, outbase, outbase_length); else { /* Append the last alphabet character to the file name prefix. */ outfile[outbase_length] = suffix_alphabet[sufindex[0]]; outbase_length++; } outfile_mid = outfile + outbase_length; memset (outfile_mid, suffix_alphabet[0], suffix_length); if (additional_suffix) memcpy (outfile_mid + suffix_length, additional_suffix, addsuf_length); outfile[outfile_length] = 0; free (sufindex); sufindex = xcalloc (suffix_length, sizeof *sufindex); if (numeric_suffix_start) { assert (! widen); /* Update the output file name. */ size_t i = strlen (numeric_suffix_start); memcpy (outfile_mid + suffix_length - i, numeric_suffix_start, i); /* Update the suffix index. */ size_t *sufindex_end = sufindex + suffix_length; while (i-- != 0) *--sufindex_end = numeric_suffix_start[i] - '0'; } #if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX /* POSIX requires that if the output file name is too long for its directory, 'split' must fail without creating any files. This must be checked for explicitly on operating systems that silently truncate file names. */ { char *dir = dir_name (outfile); long name_max = pathconf (dir, _PC_NAME_MAX); if (0 <= name_max && name_max < base_len (last_component (outfile))) error (EXIT_FAILURE, ENAMETOOLONG, "%s", outfile); free (dir); } #endif } else { /* Increment the suffix in place, if possible. */ size_t i = suffix_length; while (i-- != 0) { sufindex[i]++; if (suffix_auto && i == 0 && ! suffix_alphabet[sufindex[0] + 1]) goto new_name; outfile_mid[i] = suffix_alphabet[sufindex[i]]; if (outfile_mid[i]) return; sufindex[i] = 0; outfile_mid[i] = suffix_alphabet[sufindex[i]]; } error (EXIT_FAILURE, 0, _("output file suffixes exhausted")); } } /* Create or truncate a file. */ static int create (const char *name) { if (!filter_command) { if (verbose) fprintf (stdout, _("creating file %s\n"), quote (name)); int fd = open (name, O_WRONLY | O_CREAT | O_BINARY, MODE_RW_UGO); if (fd < 0) return fd; struct stat out_stat_buf; if (fstat (fd, &out_stat_buf) != 0) error (EXIT_FAILURE, errno, _("failed to stat %s"), quote (name)); if (SAME_INODE (in_stat_buf, out_stat_buf)) error (EXIT_FAILURE, 0, _("%s would overwrite input; aborting"), quote (name)); if (ftruncate (fd, 0) != 0) error (EXIT_FAILURE, errno, _("%s: error truncating"), quote (name)); return fd; } else { int fd_pair[2]; pid_t child_pid; char const *shell_prog = getenv ("SHELL"); if (shell_prog == NULL) shell_prog = "/bin/sh"; if (setenv ("FILE", name, 1) != 0) error (EXIT_FAILURE, errno, _("failed to set FILE environment variable")); if (verbose) fprintf (stdout, _("executing with FILE=%s\n"), quote (name)); if (pipe (fd_pair) != 0) error (EXIT_FAILURE, errno, _("failed to create pipe")); child_pid = fork (); if (child_pid == 0) { /* This is the child process. If an error occurs here, the parent will eventually learn about it after doing a wait, at which time it will emit its own error message. */ int j; /* We have to close any pipes that were opened during an earlier call, otherwise this process will be holding a write-pipe that will prevent the earlier process from reading an EOF on the corresponding read-pipe. */ for (j = 0; j < n_open_pipes; ++j) if (close (open_pipes[j]) != 0) error (EXIT_FAILURE, errno, _("closing prior pipe")); if (close (fd_pair[1])) error (EXIT_FAILURE, errno, _("closing output pipe")); if (fd_pair[0] != STDIN_FILENO) { if (dup2 (fd_pair[0], STDIN_FILENO) != STDIN_FILENO) error (EXIT_FAILURE, errno, _("moving input pipe")); if (close (fd_pair[0]) != 0) error (EXIT_FAILURE, errno, _("closing input pipe")); } sigprocmask (SIG_SETMASK, &oldblocked, NULL); execl (shell_prog, last_component (shell_prog), "-c", filter_command, (char *) NULL); error (EXIT_FAILURE, errno, _("failed to run command: \"%s -c %s\""), shell_prog, filter_command); } if (child_pid == -1) error (EXIT_FAILURE, errno, _("fork system call failed")); if (close (fd_pair[0]) != 0) error (EXIT_FAILURE, errno, _("failed to close input pipe")); filter_pid = child_pid; if (n_open_pipes == open_pipes_alloc) open_pipes = x2nrealloc (open_pipes, &open_pipes_alloc, sizeof *open_pipes); open_pipes[n_open_pipes++] = fd_pair[1]; return fd_pair[1]; } } /* Close the output file, and do any associated cleanup. If FP and FD are both specified, they refer to the same open file; in this case FP is closed, but FD is still used in cleanup. */ static void closeout (FILE *fp, int fd, pid_t pid, char const *name) { if (fp != NULL && fclose (fp) != 0 && ! ignorable (errno)) error (EXIT_FAILURE, errno, "%s", name); if (fd >= 0) { if (fp == NULL && close (fd) < 0) error (EXIT_FAILURE, errno, "%s", name); int j; for (j = 0; j < n_open_pipes; ++j) { if (open_pipes[j] == fd) { open_pipes[j] = open_pipes[--n_open_pipes]; break; } } } if (pid > 0) { int wstatus = 0; if (waitpid (pid, &wstatus, 0) == -1 && errno != ECHILD) error (EXIT_FAILURE, errno, _("waiting for child process")); if (WIFSIGNALED (wstatus)) { int sig = WTERMSIG (wstatus); if (sig != SIGPIPE) { char signame[MAX (SIG2STR_MAX, INT_BUFSIZE_BOUND (int))]; if (sig2str (sig, signame) != 0) sprintf (signame, "%d", sig); error (sig + 128, 0, _("with FILE=%s, signal %s from command: %s"), name, signame, filter_command); } } else if (WIFEXITED (wstatus)) { int ex = WEXITSTATUS (wstatus); if (ex != 0) error (ex, 0, _("with FILE=%s, exit %d from command: %s"), name, ex, filter_command); } else { /* shouldn't happen. */ error (EXIT_FAILURE, 0, _("unknown status from command (0x%X)"), wstatus); } } } /* Write BYTES bytes at BP to an output file. If NEW_FILE_FLAG is true, open the next output file. Otherwise add to the same output file already in use. */ static void cwrite (bool new_file_flag, const char *bp, size_t bytes) { if (new_file_flag) { if (!bp && bytes == 0 && elide_empty_files) return; closeout (NULL, output_desc, filter_pid, outfile); next_file_name (); if ((output_desc = create (outfile)) < 0) error (EXIT_FAILURE, errno, "%s", outfile); } if (full_write (output_desc, bp, bytes) != bytes && ! ignorable (errno)) error (EXIT_FAILURE, errno, "%s", outfile); } /* Split into pieces of exactly N_BYTES bytes. Use buffer BUF, whose size is BUFSIZE. */ static void bytes_split (uintmax_t n_bytes, char *buf, size_t bufsize, uintmax_t max_files) { size_t n_read; bool new_file_flag = true; size_t to_read; uintmax_t to_write = n_bytes; char *bp_out; uintmax_t opened = 0; do { n_read = full_read (STDIN_FILENO, buf, bufsize); if (n_read < bufsize && errno) error (EXIT_FAILURE, errno, "%s", infile); bp_out = buf; to_read = n_read; while (true) { if (to_read < to_write) { if (to_read) /* do not write 0 bytes! */ { cwrite (new_file_flag, bp_out, to_read); opened += new_file_flag; to_write -= to_read; new_file_flag = false; } break; } else { size_t w = to_write; cwrite (new_file_flag, bp_out, w); opened += new_file_flag; new_file_flag = !max_files || (opened < max_files); if (!new_file_flag && ignorable (errno)) { /* If filter no longer accepting input, stop reading. */ n_read = 0; break; } bp_out += w; to_read -= w; to_write = n_bytes; } } } while (n_read == bufsize); /* Ensure NUMBER files are created, which truncates any existing files or notifies any consumers on fifos. FIXME: Should we do this before EXIT_FAILURE? */ while (opened++ < max_files) cwrite (true, NULL, 0); } /* Split into pieces of exactly N_LINES lines. Use buffer BUF, whose size is BUFSIZE. */ static void lines_split (uintmax_t n_lines, char *buf, size_t bufsize) { size_t n_read; char *bp, *bp_out, *eob; bool new_file_flag = true; uintmax_t n = 0; do { n_read = full_read (STDIN_FILENO, buf, bufsize); if (n_read < bufsize && errno) error (EXIT_FAILURE, errno, "%s", infile); bp = bp_out = buf; eob = bp + n_read; *eob = '\n'; while (true) { bp = memchr (bp, '\n', eob - bp + 1); if (bp == eob) { if (eob != bp_out) /* do not write 0 bytes! */ { size_t len = eob - bp_out; cwrite (new_file_flag, bp_out, len); new_file_flag = false; } break; } ++bp; if (++n >= n_lines) { cwrite (new_file_flag, bp_out, bp - bp_out); bp_out = bp; new_file_flag = true; n = 0; } } } while (n_read == bufsize); } /* Split into pieces that are as large as possible while still not more than N_BYTES bytes, and are split on line boundaries except where lines longer than N_BYTES bytes occur. FIXME: Allow N_BYTES to be any uintmax_t value, and don't require a buffer of size N_BYTES, in case N_BYTES is very large. */ static void line_bytes_split (size_t n_bytes) { char *bp; bool eof = false; size_t n_buffered = 0; char *buf = xmalloc (n_bytes); do { /* Fill up the full buffer size from the input file. */ size_t to_read = n_bytes - n_buffered; size_t n_read = full_read (STDIN_FILENO, buf + n_buffered, to_read); if (n_read < to_read && errno) error (EXIT_FAILURE, errno, "%s", infile); n_buffered += n_read; if (n_buffered != n_bytes) { if (n_buffered == 0) break; eof = true; } /* Find where to end this chunk. */ bp = buf + n_buffered; if (n_buffered == n_bytes) { while (bp > buf && bp[-1] != '\n') bp--; } /* If chunk has no newlines, use all the chunk. */ if (bp == buf) bp = buf + n_buffered; /* Output the chars as one output file. */ cwrite (true, buf, bp - buf); /* Discard the chars we just output; move rest of chunk down to be the start of the next chunk. Source and destination probably overlap. */ n_buffered -= bp - buf; if (n_buffered > 0) memmove (buf, bp, n_buffered); } while (!eof); free (buf); } /* -n l/[K/]N: Write lines to files of approximately file size / N. The file is partitioned into file size / N sized portions, with the last assigned any excess. If a line _starts_ within a partition it is written completely to the corresponding file. Since lines are not split even if they overlap a partition, the files written can be larger or smaller than the partition size, and even empty if a line is so long as to completely overlap the partition. */ static void lines_chunk_split (uintmax_t k, uintmax_t n, char *buf, size_t bufsize, off_t file_size) { assert (n && k <= n && n <= file_size); const off_t chunk_size = file_size / n; uintmax_t chunk_no = 1; off_t chunk_end = chunk_size - 1; off_t n_written = 0; bool new_file_flag = true; bool chunk_truncated = false; if (k > 1) { /* Start reading 1 byte before kth chunk of file. */ off_t start = (k - 1) * chunk_size - 1; if (lseek (STDIN_FILENO, start, SEEK_CUR) < 0) error (EXIT_FAILURE, errno, "%s", infile); n_written = start; chunk_no = k - 1; chunk_end = chunk_no * chunk_size - 1; } while (n_written < file_size) { char *bp = buf, *eob; size_t n_read = full_read (STDIN_FILENO, buf, bufsize); if (n_read < bufsize && errno) error (EXIT_FAILURE, errno, "%s", infile); else if (n_read == 0) break; /* eof. */ n_read = MIN (n_read, file_size - n_written); chunk_truncated = false; eob = buf + n_read; while (bp != eob) { size_t to_write; bool next = false; /* Begin looking for '\n' at last byte of chunk. */ off_t skip = MIN (n_read, MAX (0, chunk_end - n_written)); char *bp_out = memchr (bp + skip, '\n', n_read - skip); if (bp_out++) next = true; else bp_out = eob; to_write = bp_out - bp; if (k == chunk_no) { /* We don't use the stdout buffer here since we're writing large chunks from an existing file, so it's more efficient to write out directly. */ if (full_write (STDOUT_FILENO, bp, to_write) != to_write) error (EXIT_FAILURE, errno, "%s", _("write error")); } else if (! k) cwrite (new_file_flag, bp, to_write); n_written += to_write; bp += to_write; n_read -= to_write; new_file_flag = next; /* A line could have been so long that it skipped entire chunks. So create empty files in that case. */ while (next || chunk_end <= n_written - 1) { if (!next && bp == eob) { /* replenish buf, before going to next chunk. */ chunk_truncated = true; break; } chunk_no++; if (k && chunk_no > k) return; if (chunk_no == n) chunk_end = file_size - 1; /* >= chunk_size. */ else chunk_end += chunk_size; if (chunk_end <= n_written - 1) { if (! k) cwrite (true, NULL, 0); } else next = false; } } } if (chunk_truncated) chunk_no++; /* Ensure NUMBER files are created, which truncates any existing files or notifies any consumers on fifos. FIXME: Should we do this before EXIT_FAILURE? */ while (!k && chunk_no++ <= n) cwrite (true, NULL, 0); } /* -n K/N: Extract Kth of N chunks. */ static void bytes_chunk_extract (uintmax_t k, uintmax_t n, char *buf, size_t bufsize, off_t file_size) { off_t start; off_t end; assert (k && n && k <= n && n <= file_size); start = (k - 1) * (file_size / n); end = (k == n) ? file_size : k * (file_size / n); if (lseek (STDIN_FILENO, start, SEEK_CUR) < 0) error (EXIT_FAILURE, errno, "%s", infile); while (start < end) { size_t n_read = full_read (STDIN_FILENO, buf, bufsize); if (n_read < bufsize && errno) error (EXIT_FAILURE, errno, "%s", infile); else if (n_read == 0) break; /* eof. */ n_read = MIN (n_read, end - start); if (full_write (STDOUT_FILENO, buf, n_read) != n_read && ! ignorable (errno)) error (EXIT_FAILURE, errno, "%s", quote ("-")); start += n_read; } } typedef struct of_info { char *of_name; int ofd; FILE *ofile; int opid; } of_t; enum { OFD_NEW = -1, OFD_APPEND = -2 }; /* Rotate file descriptors when we're writing to more output files than we have available file descriptors. Return whether we came under file resource pressure. If so, it's probably best to close each file when finished with it. */ static bool ofile_open (of_t *files, size_t i_check, size_t nfiles) { bool file_limit = false; if (files[i_check].ofd <= OFD_NEW) { int fd; size_t i_reopen = i_check ? i_check - 1 : nfiles - 1; /* Another process could have opened a file in between the calls to close and open, so we should keep trying until open succeeds or we've closed all of our files. */ while (true) { if (files[i_check].ofd == OFD_NEW) fd = create (files[i_check].of_name); else /* OFD_APPEND */ { /* Attempt to append to previously opened file. We use O_NONBLOCK to support writing to fifos, where the other end has closed because of our previous close. In that case we'll immediately get an error, rather than waiting indefinitely. In specialised cases the consumer can keep reading from the fifo, terminating on conditions in the data itself, or perhaps never in the case of 'tail -f'. I.E. for fifos it is valid to attempt this reopen. We don't handle the filter_command case here, as create() will exit if there are not enough files in that case. I.E. we don't support restarting filters, as that would put too much burden on users specifying --filter commands. */ fd = open (files[i_check].of_name, O_WRONLY | O_BINARY | O_APPEND | O_NONBLOCK); } if (-1 < fd) break; if (!(errno == EMFILE || errno == ENFILE)) error (EXIT_FAILURE, errno, "%s", files[i_check].of_name); file_limit = true; /* Search backwards for an open file to close. */ while (files[i_reopen].ofd < 0) { i_reopen = i_reopen ? i_reopen - 1 : nfiles - 1; /* No more open files to close, exit with E[NM]FILE. */ if (i_reopen == i_check) error (EXIT_FAILURE, errno, "%s", files[i_check].of_name); } if (fclose (files[i_reopen].ofile) != 0) error (EXIT_FAILURE, errno, "%s", files[i_reopen].of_name); files[i_reopen].ofile = NULL; files[i_reopen].ofd = OFD_APPEND; } files[i_check].ofd = fd; if (!(files[i_check].ofile = fdopen (fd, "a"))) error (EXIT_FAILURE, errno, "%s", files[i_check].of_name); files[i_check].opid = filter_pid; filter_pid = 0; } return file_limit; } /* -n r/[K/]N: Divide file into N chunks in round robin fashion. When K == 0, we try to keep the files open in parallel. If we run out of file resources, then we revert to opening and closing each file for each line. */ static void lines_rr (uintmax_t k, uintmax_t n, char *buf, size_t bufsize) { bool wrapped = false; bool wrote = false; bool file_limit; size_t i_file; of_t *files IF_LINT (= NULL); uintmax_t line_no; if (k) line_no = 1; else { if (SIZE_MAX < n) error (exit_failure, 0, "%s", _("memory exhausted")); files = xnmalloc (n, sizeof *files); /* Generate output file names. */ for (i_file = 0; i_file < n; i_file++) { next_file_name (); files[i_file].of_name = xstrdup (outfile); files[i_file].ofd = OFD_NEW; files[i_file].ofile = NULL; files[i_file].opid = 0; } i_file = 0; file_limit = false; } while (true) { char *bp = buf, *eob; /* Use safe_read() rather than full_read() here so that we process available data immediately. */ size_t n_read = safe_read (STDIN_FILENO, buf, bufsize); if (n_read == SAFE_READ_ERROR) error (EXIT_FAILURE, errno, "%s", infile); else if (n_read == 0) break; /* eof. */ eob = buf + n_read; while (bp != eob) { size_t to_write; bool next = false; /* Find end of line. */ char *bp_out = memchr (bp, '\n', eob - bp); if (bp_out) { bp_out++; next = true; } else bp_out = eob; to_write = bp_out - bp; if (k) { if (line_no == k && unbuffered) { if (full_write (STDOUT_FILENO, bp, to_write) != to_write) error (EXIT_FAILURE, errno, "%s", _("write error")); } else if (line_no == k && fwrite (bp, to_write, 1, stdout) != 1) { clearerr (stdout); /* To silence close_stdout(). */ error (EXIT_FAILURE, errno, "%s", _("write error")); } if (next) line_no = (line_no == n) ? 1 : line_no + 1; } else { /* Secure file descriptor. */ file_limit |= ofile_open (files, i_file, n); if (unbuffered) { /* Note writing to fd, rather than flushing the FILE gives an 8% performance benefit, due to reduced data copying. */ if (full_write (files[i_file].ofd, bp, to_write) != to_write && ! ignorable (errno)) error (EXIT_FAILURE, errno, "%s", files[i_file].of_name); } else if (fwrite (bp, to_write, 1, files[i_file].ofile) != 1 && ! ignorable (errno)) error (EXIT_FAILURE, errno, "%s", files[i_file].of_name); if (! ignorable (errno)) wrote = true; if (file_limit) { if (fclose (files[i_file].ofile) != 0) error (EXIT_FAILURE, errno, "%s", files[i_file].of_name); files[i_file].ofile = NULL; files[i_file].ofd = OFD_APPEND; } if (next && ++i_file == n) { wrapped = true; /* If no filters are accepting input, stop reading. */ if (! wrote) goto no_filters; wrote = false; i_file = 0; } } bp = bp_out; } } no_filters: /* Ensure all files created, so that any existing files are truncated, and to signal any waiting fifo consumers. Also, close any open file descriptors. FIXME: Should we do this before EXIT_FAILURE? */ if (!k) { int ceiling = (wrapped ? n : i_file); for (i_file = 0; i_file < n; i_file++) { if (i_file >= ceiling && !elide_empty_files) file_limit |= ofile_open (files, i_file, n); if (files[i_file].ofd >= 0) closeout (files[i_file].ofile, files[i_file].ofd, files[i_file].opid, files[i_file].of_name); files[i_file].ofd = OFD_APPEND; } } IF_LINT (free (files)); } #define FAIL_ONLY_ONE_WAY() \ do \ { \ error (0, 0, _("cannot split in more than one way")); \ usage (EXIT_FAILURE); \ } \ while (0) /* Parse K/N syntax of chunk options. */ static void parse_chunk (uintmax_t *k_units, uintmax_t *n_units, char *slash) { *slash = '\0'; if (xstrtoumax (slash + 1, NULL, 10, n_units, "") != LONGINT_OK || *n_units == 0) error (EXIT_FAILURE, 0, _("%s: invalid number of chunks"), slash + 1); if (slash != optarg /* a leading number is specified. */ && (xstrtoumax (optarg, NULL, 10, k_units, "") != LONGINT_OK || *k_units == 0 || *n_units < *k_units)) error (EXIT_FAILURE, 0, _("%s: invalid chunk number"), optarg); } int main (int argc, char **argv) { enum Split_type split_type = type_undef; size_t in_blk_size = 0; /* optimal block size of input file device */ size_t page_size = getpagesize (); uintmax_t k_units = 0; uintmax_t n_units; static char const multipliers[] = "bEGKkMmPTYZ0"; int c; int digits_optind = 0; off_t file_size IF_LINT (= 0); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Parse command line options. */ infile = bad_cast ("-"); outbase = bad_cast ("x"); while (true) { /* This is the argv-index of the option we will read next. */ int this_optind = optind ? optind : 1; char *slash; c = getopt_long (argc, argv, "0123456789C:a:b:del:n:u", longopts, NULL); if (c == -1) break; switch (c) { case 'a': { unsigned long tmp; if (xstrtoul (optarg, NULL, 10, &tmp, "") != LONGINT_OK || SIZE_MAX / sizeof (size_t) < tmp) { error (0, 0, _("%s: invalid suffix length"), optarg); usage (EXIT_FAILURE); } suffix_length = tmp; } break; case ADDITIONAL_SUFFIX_OPTION: if (last_component (optarg) != optarg) { error (0, 0, _("invalid suffix %s, contains directory separator"), quote (optarg)); usage (EXIT_FAILURE); } additional_suffix = optarg; break; case 'b': if (split_type != type_undef) FAIL_ONLY_ONE_WAY (); split_type = type_bytes; if (xstrtoumax (optarg, NULL, 10, &n_units, multipliers) != LONGINT_OK || n_units == 0) { error (0, 0, _("%s: invalid number of bytes"), optarg); usage (EXIT_FAILURE); } /* If input is a pipe, we could get more data than is possible to write to a single file, so indicate that immediately rather than having possibly future invocations fail. */ if (OFF_T_MAX < n_units) error (EXIT_FAILURE, EFBIG, _("%s: invalid number of bytes"), optarg); break; case 'l': if (split_type != type_undef) FAIL_ONLY_ONE_WAY (); split_type = type_lines; if (xstrtoumax (optarg, NULL, 10, &n_units, "") != LONGINT_OK || n_units == 0) { error (0, 0, _("%s: invalid number of lines"), optarg); usage (EXIT_FAILURE); } break; case 'C': if (split_type != type_undef) FAIL_ONLY_ONE_WAY (); split_type = type_byteslines; if (xstrtoumax (optarg, NULL, 10, &n_units, multipliers) != LONGINT_OK || n_units == 0 || SIZE_MAX < n_units) { error (0, 0, _("%s: invalid number of bytes"), optarg); usage (EXIT_FAILURE); } if (OFF_T_MAX < n_units) error (EXIT_FAILURE, EFBIG, _("%s: invalid number of bytes"), optarg); break; case 'n': if (split_type != type_undef) FAIL_ONLY_ONE_WAY (); /* skip any whitespace */ while (isspace (to_uchar (*optarg))) optarg++; if (STRNCMP_LIT (optarg, "r/") == 0) { split_type = type_rr; optarg += 2; } else if (STRNCMP_LIT (optarg, "l/") == 0) { split_type = type_chunk_lines; optarg += 2; } else split_type = type_chunk_bytes; if ((slash = strchr (optarg, '/'))) parse_chunk (&k_units, &n_units, slash); else if (xstrtoumax (optarg, NULL, 10, &n_units, "") != LONGINT_OK || n_units == 0) error (EXIT_FAILURE, 0, _("%s: invalid number of chunks"), optarg); break; case 'u': unbuffered = true; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (split_type == type_undef) { split_type = type_digits; n_units = 0; } if (split_type != type_undef && split_type != type_digits) FAIL_ONLY_ONE_WAY (); if (digits_optind != 0 && digits_optind != this_optind) n_units = 0; /* More than one number given; ignore other. */ digits_optind = this_optind; if (!DECIMAL_DIGIT_ACCUMULATE (n_units, c - '0', uintmax_t)) { char buffer[INT_BUFSIZE_BOUND (uintmax_t)]; error (EXIT_FAILURE, 0, _("line count option -%s%c... is too large"), umaxtostr (n_units, buffer), c); } break; case 'd': suffix_alphabet = "0123456789"; if (optarg) { if (strlen (optarg) != strspn (optarg, suffix_alphabet)) { error (0, 0, _("%s: invalid start value for numerical suffix"), optarg); usage (EXIT_FAILURE); } else { /* Skip any leading zero. */ while (*optarg == '0' && *(optarg + 1) != '\0') optarg++; numeric_suffix_start = optarg; } } break; case 'e': elide_empty_files = true; break; case FILTER_OPTION: filter_command = optarg; break; case IO_BLKSIZE_OPTION: { uintmax_t tmp_blk_size; if (xstrtoumax (optarg, NULL, 10, &tmp_blk_size, multipliers) != LONGINT_OK || tmp_blk_size == 0 || SIZE_MAX - page_size < tmp_blk_size) error (0, 0, _("%s: invalid IO block size"), optarg); else in_blk_size = tmp_blk_size; } break; case VERBOSE_OPTION: verbose = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (k_units != 0 && filter_command) { error (0, 0, _("--filter does not process a chunk extracted to stdout")); usage (EXIT_FAILURE); } /* Handle default case. */ if (split_type == type_undef) { split_type = type_lines; n_units = 1000; } if (n_units == 0) { error (0, 0, _("%s: invalid number of lines"), "0"); usage (EXIT_FAILURE); } set_suffix_length (n_units, split_type); /* Get out the filename arguments. */ if (optind < argc) infile = argv[optind++]; if (optind < argc) outbase = argv[optind++]; if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } /* Check that the suffix length is large enough for the numerical suffix start value. */ if (numeric_suffix_start && strlen (numeric_suffix_start) > suffix_length) { error (0, 0, _("numerical suffix start value is too large " "for the suffix length")); usage (EXIT_FAILURE); } /* Open the input file. */ if (! STREQ (infile, "-") && fd_reopen (STDIN_FILENO, infile, O_RDONLY, 0) < 0) error (EXIT_FAILURE, errno, _("cannot open %s for reading"), quote (infile)); /* Binary I/O is safer when byte counts are used. */ if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); /* Get the optimal block size of input device and make a buffer. */ if (fstat (STDIN_FILENO, &in_stat_buf) != 0) error (EXIT_FAILURE, errno, "%s", infile); if (in_blk_size == 0) in_blk_size = io_blksize (in_stat_buf); if (split_type == type_chunk_bytes || split_type == type_chunk_lines) { off_t input_offset = lseek (STDIN_FILENO, 0, SEEK_CUR); if (usable_st_size (&in_stat_buf)) file_size = in_stat_buf.st_size; else if (0 <= input_offset) { file_size = lseek (STDIN_FILENO, 0, SEEK_END); input_offset = (file_size < 0 ? file_size : lseek (STDIN_FILENO, input_offset, SEEK_SET)); } if (input_offset < 0) error (EXIT_FAILURE, 0, _("%s: cannot determine file size"), quote (infile)); file_size -= input_offset; /* Overflow, and sanity checking. */ if (OFF_T_MAX < n_units) { char buffer[INT_BUFSIZE_BOUND (uintmax_t)]; error (EXIT_FAILURE, EFBIG, _("%s: invalid number of chunks"), umaxtostr (n_units, buffer)); } /* increase file_size to n_units here, so that we still process any input data, and create empty files for the rest. */ file_size = MAX (file_size, n_units); } void *b = xmalloc (in_blk_size + 1 + page_size - 1); char *buf = ptr_align (b, page_size); /* When filtering, closure of one pipe must not terminate the process, as there may still be other streams expecting input from us. */ if (filter_command) { struct sigaction act; sigemptyset (&newblocked); sigaction (SIGPIPE, NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&newblocked, SIGPIPE); sigprocmask (SIG_BLOCK, &newblocked, &oldblocked); } switch (split_type) { case type_digits: case type_lines: lines_split (n_units, buf, in_blk_size); break; case type_bytes: bytes_split (n_units, buf, in_blk_size, 0); break; case type_byteslines: line_bytes_split (n_units); break; case type_chunk_bytes: if (k_units == 0) bytes_split (file_size / n_units, buf, in_blk_size, n_units); else bytes_chunk_extract (k_units, n_units, buf, in_blk_size, file_size); break; case type_chunk_lines: lines_chunk_split (k_units, n_units, buf, in_blk_size, file_size); break; case type_rr: /* Note, this is like 'sed -n ${k}~${n}p' when k > 0, but the functionality is provided for symmetry. */ lines_rr (k_units, n_units, buf, in_blk_size); break; default: abort (); } IF_LINT (free (b)); if (close (STDIN_FILENO) != 0) error (EXIT_FAILURE, errno, "%s", infile); closeout (NULL, output_desc, filter_pid, outfile); exit (EXIT_SUCCESS); } coreutils-8.21/src/who.c0000664000000000000000000005312612102337340012100 00000000000000/* GNU's who. Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by jla; revised by djm; revised again by mstone */ /* Output format: name [state] line time [activity] [pid] [comment] [exit] state: -T name, line, time: not -q idle: -u */ #include #include #include #include #include "system.h" #include "c-ctype.h" #include "canon-host.h" #include "readutmp.h" #include "error.h" #include "hard-locale.h" #include "quote.h" #ifdef TTY_GROUP_NAME # include #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "who" #define AUTHORS \ proper_name ("Joseph Arceneaux"), \ proper_name ("David MacKenzie"), \ proper_name ("Michael Stone") #ifdef RUN_LVL # define UT_TYPE_RUN_LVL(U) UT_TYPE_EQ (U, RUN_LVL) #else # define UT_TYPE_RUN_LVL(U) false #endif #ifdef INIT_PROCESS # define UT_TYPE_INIT_PROCESS(U) UT_TYPE_EQ (U, INIT_PROCESS) #else # define UT_TYPE_INIT_PROCESS(U) false #endif #ifdef LOGIN_PROCESS # define UT_TYPE_LOGIN_PROCESS(U) UT_TYPE_EQ (U, LOGIN_PROCESS) #else # define UT_TYPE_LOGIN_PROCESS(U) false #endif #ifdef DEAD_PROCESS # define UT_TYPE_DEAD_PROCESS(U) UT_TYPE_EQ (U, DEAD_PROCESS) #else # define UT_TYPE_DEAD_PROCESS(U) false #endif #ifdef NEW_TIME # define UT_TYPE_NEW_TIME(U) UT_TYPE_EQ (U, NEW_TIME) #else # define UT_TYPE_NEW_TIME(U) false #endif #define IDLESTR_LEN 6 #if HAVE_STRUCT_XTMP_UT_PID # define PIDSTR_DECL_AND_INIT(Var, Utmp_ent) \ char Var[INT_STRLEN_BOUND (Utmp_ent->ut_pid) + 1]; \ sprintf (Var, "%ld", (long int) (Utmp_ent->ut_pid)) #else # define PIDSTR_DECL_AND_INIT(Var, Utmp_ent) \ const char *Var = "" #endif #if HAVE_STRUCT_XTMP_UT_ID # define UT_ID(U) ((U)->ut_id) #else # define UT_ID(U) "??" #endif char *ttyname (int); /* If true, attempt to canonicalize hostnames via a DNS lookup. */ static bool do_lookup; /* If true, display only a list of usernames and count of the users logged on. Ignored for 'who am i'. */ static bool short_list; /* If true, display only name, line, and time fields. */ static bool short_output; /* If true, display the hours:minutes since each user has touched the keyboard, or "." if within the last minute, or "old" if not within the last day. */ static bool include_idle; /* If true, display a line at the top describing each field. */ static bool include_heading; /* If true, display a '+' for each user if mesg y, a '-' if mesg n, or a '?' if their tty cannot be statted. */ static bool include_mesg; /* If true, display process termination & exit status. */ static bool include_exit; /* If true, display the last boot time. */ static bool need_boottime; /* If true, display dead processes. */ static bool need_deadprocs; /* If true, display processes waiting for user login. */ static bool need_login; /* If true, display processes started by init. */ static bool need_initspawn; /* If true, display the last clock change. */ static bool need_clockchange; /* If true, display the current runlevel. */ static bool need_runlevel; /* If true, display user processes. */ static bool need_users; /* If true, display info only for the controlling tty. */ static bool my_line_only; /* The strftime format to use for login times, and its expected output width. */ static char const *time_format; static int time_format_width; /* for long options with no corresponding short option, use enum */ enum { LOOKUP_OPTION = CHAR_MAX + 1 }; static struct option const longopts[] = { {"all", no_argument, NULL, 'a'}, {"boot", no_argument, NULL, 'b'}, {"count", no_argument, NULL, 'q'}, {"dead", no_argument, NULL, 'd'}, {"heading", no_argument, NULL, 'H'}, {"login", no_argument, NULL, 'l'}, {"lookup", no_argument, NULL, LOOKUP_OPTION}, {"message", no_argument, NULL, 'T'}, {"mesg", no_argument, NULL, 'T'}, {"process", no_argument, NULL, 'p'}, {"runlevel", no_argument, NULL, 'r'}, {"short", no_argument, NULL, 's'}, {"time", no_argument, NULL, 't'}, {"users", no_argument, NULL, 'u'}, {"writable", no_argument, NULL, 'T'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return a string representing the time between WHEN and now. BOOTTIME is the time of last reboot. FIXME: locale? */ static const char * idle_string (time_t when, time_t boottime) { static time_t now = TYPE_MINIMUM (time_t); if (now == TYPE_MINIMUM (time_t)) time (&now); if (boottime < when && now - 24 * 60 * 60 < when && when <= now) { int seconds_idle = now - when; if (seconds_idle < 60) return " . "; else { static char idle_hhmm[IDLESTR_LEN]; sprintf (idle_hhmm, "%02d:%02d", seconds_idle / (60 * 60), (seconds_idle % (60 * 60)) / 60); return idle_hhmm; } } return _(" old "); } /* Return a time string. */ static const char * time_string (const STRUCT_UTMP *utmp_ent) { static char buf[INT_STRLEN_BOUND (intmax_t) + sizeof "-%m-%d %H:%M"]; /* Don't take the address of UT_TIME_MEMBER directly. Ulrich Drepper wrote: "... GNU libc (and perhaps other libcs as well) have extended utmp file formats which do not use a simple time_t ut_time field. In glibc, ut_time is a macro which selects for backward compatibility the tv_sec member of a struct timeval value." */ time_t t = UT_TIME_MEMBER (utmp_ent); struct tm *tmp = localtime (&t); if (tmp) { strftime (buf, sizeof buf, time_format, tmp); return buf; } else return timetostr (t, buf); } /* Print formatted output line. Uses mostly arbitrary field sizes, probably will need tweaking if any of the localization stuff is done, or for 64 bit pids, etc. */ static void print_line (int userlen, const char *user, const char state, int linelen, const char *line, const char *time_str, const char *idle, const char *pid, const char *comment, const char *exitstr) { static char mesg[3] = { ' ', 'x', '\0' }; char *buf; char x_idle[1 + IDLESTR_LEN + 1]; char x_pid[1 + INT_STRLEN_BOUND (pid_t) + 1]; char *x_exitstr; int err; mesg[1] = state; if (include_idle && !short_output && strlen (idle) < sizeof x_idle - 1) sprintf (x_idle, " %-6s", idle); else *x_idle = '\0'; if (!short_output && strlen (pid) < sizeof x_pid - 1) sprintf (x_pid, " %10s", pid); else *x_pid = '\0'; x_exitstr = xmalloc (include_exit ? 1 + MAX (12, strlen (exitstr)) + 1 : 1); if (include_exit) sprintf (x_exitstr, " %-12s", exitstr); else *x_exitstr = '\0'; err = asprintf (&buf, "%-8.*s" "%s" " %-12.*s" " %-*s" "%s" "%s" " %-8s" "%s" , userlen, user ? user : " .", include_mesg ? mesg : "", linelen, line, time_format_width, time_str, x_idle, x_pid, /* FIXME: it's not really clear whether the following field should be in the short_output. A strict reading of SUSv2 would suggest not, but I haven't seen any implementations that actually work that way... */ comment, x_exitstr ); if (err == -1) xalloc_die (); { /* Remove any trailing spaces. */ char *p = buf + strlen (buf); while (*--p == ' ') /* empty */; *(p + 1) = '\0'; } puts (buf); free (buf); free (x_exitstr); } /* Return true if a terminal device given as PSTAT allows other users to send messages to; false otherwise */ static bool is_tty_writable (struct stat const *pstat) { #ifdef TTY_GROUP_NAME /* Ensure the group of the TTY device matches TTY_GROUP_NAME, more info at https://bugzilla.redhat.com/454261 */ struct group *ttygr = getgrnam (TTY_GROUP_NAME); if (!ttygr || (pstat->st_gid != ttygr->gr_gid)) return false; #endif return pstat->st_mode & S_IWGRP; } /* Send properly parsed USER_PROCESS info to print_line. The most recent boot time is BOOTTIME. */ static void print_user (const STRUCT_UTMP *utmp_ent, time_t boottime) { struct stat stats; time_t last_change; char mesg; char idlestr[IDLESTR_LEN + 1]; static char *hoststr; #if HAVE_UT_HOST static size_t hostlen; #endif #define DEV_DIR_WITH_TRAILING_SLASH "/dev/" #define DEV_DIR_LEN (sizeof (DEV_DIR_WITH_TRAILING_SLASH) - 1) char line[sizeof (utmp_ent->ut_line) + DEV_DIR_LEN + 1]; char *p = line; PIDSTR_DECL_AND_INIT (pidstr, utmp_ent); /* Copy ut_line into LINE, prepending '/dev/' if ut_line is not already an absolute file name. Some systems may put the full, absolute file name in ut_line. */ if ( ! IS_ABSOLUTE_FILE_NAME (utmp_ent->ut_line)) p = stpcpy (p, DEV_DIR_WITH_TRAILING_SLASH); stzncpy (p, utmp_ent->ut_line, sizeof (utmp_ent->ut_line)); if (stat (line, &stats) == 0) { mesg = is_tty_writable (&stats) ? '+' : '-'; last_change = stats.st_atime; } else { mesg = '?'; last_change = 0; } if (last_change) sprintf (idlestr, "%.*s", IDLESTR_LEN, idle_string (last_change, boottime)); else sprintf (idlestr, " ?"); #if HAVE_UT_HOST if (utmp_ent->ut_host[0]) { char ut_host[sizeof (utmp_ent->ut_host) + 1]; char *host = NULL; char *display = NULL; /* Copy the host name into UT_HOST, and ensure it's nul terminated. */ stzncpy (ut_host, utmp_ent->ut_host, sizeof (utmp_ent->ut_host)); /* Look for an X display. */ display = strchr (ut_host, ':'); if (display) *display++ = '\0'; if (*ut_host && do_lookup) { /* See if we can canonicalize it. */ host = canon_host (ut_host); } if (! host) host = ut_host; if (display) { if (hostlen < strlen (host) + strlen (display) + 4) { hostlen = strlen (host) + strlen (display) + 4; free (hoststr); hoststr = xmalloc (hostlen); } sprintf (hoststr, "(%s:%s)", host, display); } else { if (hostlen < strlen (host) + 3) { hostlen = strlen (host) + 3; free (hoststr); hoststr = xmalloc (hostlen); } sprintf (hoststr, "(%s)", host); } if (host != ut_host) free (host); } else { if (hostlen < 1) { hostlen = 1; free (hoststr); hoststr = xmalloc (hostlen); } *hoststr = '\0'; } #endif print_line (sizeof UT_USER (utmp_ent), UT_USER (utmp_ent), mesg, sizeof utmp_ent->ut_line, utmp_ent->ut_line, time_string (utmp_ent), idlestr, pidstr, hoststr ? hoststr : "", ""); } static void print_boottime (const STRUCT_UTMP *utmp_ent) { print_line (-1, "", ' ', -1, _("system boot"), time_string (utmp_ent), "", "", "", ""); } static char * make_id_equals_comment (STRUCT_UTMP const *utmp_ent) { char *comment = xmalloc (strlen (_("id=")) + sizeof UT_ID (utmp_ent) + 1); strcpy (comment, _("id=")); strncat (comment, UT_ID (utmp_ent), sizeof UT_ID (utmp_ent)); return comment; } static void print_deadprocs (const STRUCT_UTMP *utmp_ent) { static char *exitstr; char *comment = make_id_equals_comment (utmp_ent); PIDSTR_DECL_AND_INIT (pidstr, utmp_ent); if (!exitstr) exitstr = xmalloc (strlen (_("term=")) + INT_STRLEN_BOUND (UT_EXIT_E_TERMINATION (utmp_ent)) + 1 + strlen (_("exit=")) + INT_STRLEN_BOUND (UT_EXIT_E_EXIT (utmp_ent)) + 1); sprintf (exitstr, "%s%d %s%d", _("term="), UT_EXIT_E_TERMINATION (utmp_ent), _("exit="), UT_EXIT_E_EXIT (utmp_ent)); /* FIXME: add idle time? */ print_line (-1, "", ' ', sizeof utmp_ent->ut_line, utmp_ent->ut_line, time_string (utmp_ent), "", pidstr, comment, exitstr); free (comment); } static void print_login (const STRUCT_UTMP *utmp_ent) { char *comment = make_id_equals_comment (utmp_ent); PIDSTR_DECL_AND_INIT (pidstr, utmp_ent); /* FIXME: add idle time? */ print_line (-1, _("LOGIN"), ' ', sizeof utmp_ent->ut_line, utmp_ent->ut_line, time_string (utmp_ent), "", pidstr, comment, ""); free (comment); } static void print_initspawn (const STRUCT_UTMP *utmp_ent) { char *comment = make_id_equals_comment (utmp_ent); PIDSTR_DECL_AND_INIT (pidstr, utmp_ent); print_line (-1, "", ' ', sizeof utmp_ent->ut_line, utmp_ent->ut_line, time_string (utmp_ent), "", pidstr, comment, ""); free (comment); } static void print_clockchange (const STRUCT_UTMP *utmp_ent) { /* FIXME: handle NEW_TIME & OLD_TIME both */ print_line (-1, "", ' ', -1, _("clock change"), time_string (utmp_ent), "", "", "", ""); } static void print_runlevel (const STRUCT_UTMP *utmp_ent) { static char *runlevline, *comment; unsigned char last = UT_PID (utmp_ent) / 256; unsigned char curr = UT_PID (utmp_ent) % 256; if (!runlevline) runlevline = xmalloc (strlen (_("run-level")) + 3); sprintf (runlevline, "%s %c", _("run-level"), curr); if (!comment) comment = xmalloc (strlen (_("last=")) + 2); sprintf (comment, "%s%c", _("last="), (last == 'N') ? 'S' : last); print_line (-1, "", ' ', -1, runlevline, time_string (utmp_ent), "", "", c_isprint (last) ? comment : "", ""); return; } /* Print the username of each valid entry and the number of valid entries in UTMP_BUF, which should have N elements. */ static void list_entries_who (size_t n, const STRUCT_UTMP *utmp_buf) { unsigned long int entries = 0; char const *separator = ""; while (n--) { if (IS_USER_PROCESS (utmp_buf)) { char *trimmed_name; trimmed_name = extract_trimmed_name (utmp_buf); printf ("%s%s", separator, trimmed_name); free (trimmed_name); separator = " "; entries++; } utmp_buf++; } printf (_("\n# users=%lu\n"), entries); } static void print_heading (void) { print_line (-1, _("NAME"), ' ', -1, _("LINE"), _("TIME"), _("IDLE"), _("PID"), _("COMMENT"), _("EXIT")); } /* Display UTMP_BUF, which should have N entries. */ static void scan_entries (size_t n, const STRUCT_UTMP *utmp_buf) { char *ttyname_b IF_LINT ( = NULL); time_t boottime = TYPE_MINIMUM (time_t); if (include_heading) print_heading (); if (my_line_only) { ttyname_b = ttyname (STDIN_FILENO); if (!ttyname_b) return; if (STRNCMP_LIT (ttyname_b, DEV_DIR_WITH_TRAILING_SLASH) == 0) ttyname_b += DEV_DIR_LEN; /* Discard /dev/ prefix. */ } while (n--) { if (!my_line_only || strncmp (ttyname_b, utmp_buf->ut_line, sizeof (utmp_buf->ut_line)) == 0) { if (need_users && IS_USER_PROCESS (utmp_buf)) print_user (utmp_buf, boottime); else if (need_runlevel && UT_TYPE_RUN_LVL (utmp_buf)) print_runlevel (utmp_buf); else if (need_boottime && UT_TYPE_BOOT_TIME (utmp_buf)) print_boottime (utmp_buf); /* I've never seen one of these, so I don't know what it should look like :^) FIXME: handle OLD_TIME also, perhaps show the delta? */ else if (need_clockchange && UT_TYPE_NEW_TIME (utmp_buf)) print_clockchange (utmp_buf); else if (need_initspawn && UT_TYPE_INIT_PROCESS (utmp_buf)) print_initspawn (utmp_buf); else if (need_login && UT_TYPE_LOGIN_PROCESS (utmp_buf)) print_login (utmp_buf); else if (need_deadprocs && UT_TYPE_DEAD_PROCESS (utmp_buf)) print_deadprocs (utmp_buf); } if (UT_TYPE_BOOT_TIME (utmp_buf)) boottime = UT_TIME_MEMBER (utmp_buf); utmp_buf++; } } /* Display a list of who is on the system, according to utmp file FILENAME. Use read_utmp OPTIONS to read the file. */ static void who (const char *filename, int options) { size_t n_users; STRUCT_UTMP *utmp_buf; if (read_utmp (filename, &n_users, &utmp_buf, options) != 0) error (EXIT_FAILURE, errno, "%s", filename); if (short_list) list_entries_who (n_users, utmp_buf); else scan_entries (n_users, utmp_buf); free (utmp_buf); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n"), program_name); fputs (_("\ Print information about users who are currently logged in.\n\ "), stdout); fputs (_("\ \n\ -a, --all same as -b -d --login -p -r -t -T -u\n\ -b, --boot time of last system boot\n\ -d, --dead print dead processes\n\ -H, --heading print line of column headings\n\ "), stdout); fputs (_("\ -l, --login print system login processes\n\ "), stdout); fputs (_("\ --lookup attempt to canonicalize hostnames via DNS\n\ -m only hostname and user associated with stdin\n\ -p, --process print active processes spawned by init\n\ "), stdout); fputs (_("\ -q, --count all login names and number of users logged on\n\ -r, --runlevel print current runlevel\n\ -s, --short print only name, line, and time (default)\n\ -t, --time print last system clock change\n\ "), stdout); fputs (_("\ -T, -w, --mesg add user's message status as +, - or ?\n\ -u, --users list users logged in\n\ --message same as -T\n\ --writable same as -T\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ If FILE is not specified, use %s. %s as FILE is common.\n\ If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n\ "), UTMP_FILE, WTMP_FILE); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { int optc; bool assumptions = true; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "abdlmpqrstuwHT", longopts, NULL)) != -1) { switch (optc) { case 'a': need_boottime = true; need_deadprocs = true; need_login = true; need_initspawn = true; need_runlevel = true; need_clockchange = true; need_users = true; include_mesg = true; include_idle = true; include_exit = true; assumptions = false; break; case 'b': need_boottime = true; assumptions = false; break; case 'd': need_deadprocs = true; include_idle = true; include_exit = true; assumptions = false; break; case 'H': include_heading = true; break; case 'l': need_login = true; include_idle = true; assumptions = false; break; case 'm': my_line_only = true; break; case 'p': need_initspawn = true; assumptions = false; break; case 'q': short_list = true; break; case 'r': need_runlevel = true; include_idle = true; assumptions = false; break; case 's': short_output = true; break; case 't': need_clockchange = true; assumptions = false; break; case 'T': case 'w': include_mesg = true; break; case 'u': need_users = true; include_idle = true; assumptions = false; break; case LOOKUP_OPTION: do_lookup = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (assumptions) { need_users = true; short_output = true; } if (include_exit) { short_output = false; } if (hard_locale (LC_TIME)) { time_format = "%Y-%m-%d %H:%M"; time_format_width = 4 + 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2; } else { time_format = "%b %e %H:%M"; time_format_width = 3 + 1 + 2 + 1 + 2 + 1 + 2; } switch (argc - optind) { case 2: /* who */ my_line_only = true; /* Fall through. */ case -1: case 0: /* who */ who (UTMP_FILE, READ_UTMP_CHECK_PIDS); break; case 1: /* who */ who (argv[optind], 0); break; default: /* lose */ error (0, 0, _("extra operand %s"), quote (argv[optind + 2])); usage (EXIT_FAILURE); } exit (EXIT_SUCCESS); } coreutils-8.21/src/ls-ls.c0000664000000000000000000000004511624727241012340 00000000000000#include "ls.h" int ls_mode = LS_LS; coreutils-8.21/src/test.c0000664000000000000000000005445612102337340012271 00000000000000/* GNU test program (ksb and mjb) */ /* Modified to run with the GNU shell by bfox. */ /* Copyright (C) 1987-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Define TEST_STANDALONE to get the /bin/test version. Otherwise, you get the shell builtin version. */ /* Without this pragma, gcc 4.6.2 20111027 mistakenly suggests that the advance function might be candidate for attribute 'pure'. */ #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" #endif #include #include #include #define TEST_STANDALONE 1 #ifndef LBRACKET # define LBRACKET 0 #endif /* The official name of this program (e.g., no 'g' prefix). */ #if LBRACKET # define PROGRAM_NAME "[" #else # define PROGRAM_NAME "test" #endif #include "system.h" #include "quote.h" #include "stat-time.h" #include "strnumcmp.h" #if HAVE_SYS_PARAM_H # include #endif /* Exit status for syntax errors, etc. */ enum { TEST_TRUE, TEST_FALSE, TEST_FAILURE }; #if defined TEST_STANDALONE # define test_exit(val) exit (val) #else static jmp_buf test_exit_buf; static int test_error_return = 0; # define test_exit(val) test_error_return = val, longjmp (test_exit_buf, 1) #endif /* !TEST_STANDALONE */ static int pos; /* The offset of the current argument in ARGV. */ static int argc; /* The number of arguments present in ARGV. */ static char **argv; /* The argument list. */ static bool test_unop (char const *s); static bool unary_operator (void); static bool binary_operator (bool); static bool two_arguments (void); static bool three_arguments (void); static bool posixtest (int); static bool expr (void); static bool term (void); static bool and (void); static bool or (void); static void test_syntax_error (char const *format, char const *arg) ATTRIBUTE_NORETURN; static void beyond (void) ATTRIBUTE_NORETURN; static void test_syntax_error (char const *format, char const *arg) { fprintf (stderr, "%s: ", argv[0]); fprintf (stderr, format, arg); fputc ('\n', stderr); fflush (stderr); test_exit (TEST_FAILURE); } /* Increment our position in the argument list. Check that we're not past the end of the argument list. This check is suppressed if the argument is false. */ static void advance (bool f) { ++pos; if (f && pos >= argc) beyond (); } static void unary_advance (void) { advance (true); ++pos; } /* * beyond - call when we're beyond the end of the argument list (an * error condition) */ static void beyond (void) { test_syntax_error (_("missing argument after %s"), quote (argv[argc - 1])); } /* If the characters pointed to by STRING constitute a valid number, return a pointer to the start of the number, skipping any blanks or leading '+'. Otherwise, report an error and exit. */ static char const * find_int (char const *string) { char const *p; char const *number_start; for (p = string; isblank (to_uchar (*p)); p++) continue; if (*p == '+') { p++; number_start = p; } else { number_start = p; p += (*p == '-'); } if (ISDIGIT (*p++)) { while (ISDIGIT (*p)) p++; while (isblank (to_uchar (*p))) p++; if (!*p) return number_start; } test_syntax_error (_("invalid integer %s"), quote (string)); } /* Find the modification time of FILE, and stuff it into *MTIME. Return true if successful. */ static bool get_mtime (char const *filename, struct timespec *mtime) { struct stat finfo; bool ok = (stat (filename, &finfo) == 0); #ifdef lint static struct timespec const zero; *mtime = zero; #endif if (ok) *mtime = get_stat_mtime (&finfo); return ok; } /* Return true if S is one of the test command's binary operators. */ static bool binop (char const *s) { return ((STREQ (s, "=")) || (STREQ (s, "!=")) || (STREQ (s, "==")) || (STREQ (s, "-nt")) || (STREQ (s, "-ot")) || (STREQ (s, "-ef")) || (STREQ (s, "-eq")) || (STREQ (s, "-ne")) || (STREQ (s, "-lt")) || (STREQ (s, "-le")) || (STREQ (s, "-gt")) || (STREQ (s, "-ge"))); } /* * term - parse a term and return 1 or 0 depending on whether the term * evaluates to true or false, respectively. * * term ::= * '-'('h'|'d'|'f'|'r'|'s'|'w'|'c'|'b'|'p'|'u'|'g'|'k') filename * '-'('L'|'x') filename * '-t' int * '-'('z'|'n') string * string * string ('!='|'=') string * '-'(eq|ne|le|lt|ge|gt) * file '-'(nt|ot|ef) file * '(' ')' * int ::= * '-l' string * positive and negative integers */ static bool term (void) { bool value; bool negated = false; /* Deal with leading 'not's. */ while (pos < argc && argv[pos][0] == '!' && argv[pos][1] == '\0') { advance (true); negated = !negated; } if (pos >= argc) beyond (); /* A paren-bracketed argument. */ if (argv[pos][0] == '(' && argv[pos][1] == '\0') { int nargs; advance (true); for (nargs = 1; pos + nargs < argc && ! STREQ (argv[pos + nargs], ")"); nargs++) if (nargs == 4) { nargs = argc - pos; break; } value = posixtest (nargs); if (argv[pos] == 0) test_syntax_error (_("')' expected"), NULL); else if (argv[pos][0] != ')' || argv[pos][1]) test_syntax_error (_("')' expected, found %s"), argv[pos]); advance (false); } /* Are there enough arguments left that this could be dyadic? */ else if (4 <= argc - pos && STREQ (argv[pos], "-l") && binop (argv[pos + 2])) value = binary_operator (true); else if (3 <= argc - pos && binop (argv[pos + 1])) value = binary_operator (false); /* It might be a switch type argument. */ else if (argv[pos][0] == '-' && argv[pos][1] && argv[pos][2] == '\0') { if (test_unop (argv[pos])) value = unary_operator (); else test_syntax_error (_("%s: unary operator expected"), argv[pos]); } else { value = (argv[pos][0] != '\0'); advance (false); } return negated ^ value; } static bool binary_operator (bool l_is_l) { int op; struct stat stat_buf, stat_spare; /* Is the right integer expression of the form '-l string'? */ bool r_is_l; if (l_is_l) advance (false); op = pos + 1; if ((op < argc - 2) && STREQ (argv[op + 1], "-l")) { r_is_l = true; advance (false); } else r_is_l = false; if (argv[op][0] == '-') { /* check for eq, nt, and stuff */ if ((((argv[op][1] == 'l' || argv[op][1] == 'g') && (argv[op][2] == 'e' || argv[op][2] == 't')) || (argv[op][1] == 'e' && argv[op][2] == 'q') || (argv[op][1] == 'n' && argv[op][2] == 'e')) && !argv[op][3]) { char lbuf[INT_BUFSIZE_BOUND (uintmax_t)]; char rbuf[INT_BUFSIZE_BOUND (uintmax_t)]; char const *l = (l_is_l ? umaxtostr (strlen (argv[op - 1]), lbuf) : find_int (argv[op - 1])); char const *r = (r_is_l ? umaxtostr (strlen (argv[op + 2]), rbuf) : find_int (argv[op + 1])); int cmp = strintcmp (l, r); bool xe_operator = (argv[op][2] == 'e'); pos += 3; return (argv[op][1] == 'l' ? cmp < xe_operator : argv[op][1] == 'g' ? cmp > - xe_operator : (cmp != 0) == xe_operator); } switch (argv[op][1]) { default: break; case 'n': if (argv[op][2] == 't' && !argv[op][3]) { /* nt - newer than */ struct timespec lt, rt; bool le, re; pos += 3; if (l_is_l || r_is_l) test_syntax_error (_("-nt does not accept -l"), NULL); le = get_mtime (argv[op - 1], <); re = get_mtime (argv[op + 1], &rt); return le && (!re || timespec_cmp (lt, rt) > 0); } break; case 'e': if (argv[op][2] == 'f' && !argv[op][3]) { /* ef - hard link? */ pos += 3; if (l_is_l || r_is_l) test_syntax_error (_("-ef does not accept -l"), NULL); return (stat (argv[op - 1], &stat_buf) == 0 && stat (argv[op + 1], &stat_spare) == 0 && stat_buf.st_dev == stat_spare.st_dev && stat_buf.st_ino == stat_spare.st_ino); } break; case 'o': if ('t' == argv[op][2] && '\000' == argv[op][3]) { /* ot - older than */ struct timespec lt, rt; bool le, re; pos += 3; if (l_is_l || r_is_l) test_syntax_error (_("-ot does not accept -l"), NULL); le = get_mtime (argv[op - 1], <); re = get_mtime (argv[op + 1], &rt); return re && (!le || timespec_cmp (lt, rt) < 0); } break; } /* FIXME: is this dead code? */ test_syntax_error (_("unknown binary operator"), argv[op]); } if (argv[op][0] == '=' && (!argv[op][1] || ((argv[op][1] == '=') && !argv[op][2]))) { bool value = STREQ (argv[pos], argv[pos + 2]); pos += 3; return value; } if (STREQ (argv[op], "!=")) { bool value = !STREQ (argv[pos], argv[pos + 2]); pos += 3; return value; } /* Not reached. */ abort (); } static bool unary_operator (void) { struct stat stat_buf; switch (argv[pos][1]) { default: return false; /* All of the following unary operators use unary_advance (), which checks to make sure that there is an argument, and then advances pos right past it. This means that pos - 1 is the location of the argument. */ case 'a': /* file exists in the file system? */ case 'e': unary_advance (); return stat (argv[pos - 1], &stat_buf) == 0; case 'r': /* file is readable? */ unary_advance (); return euidaccess (argv[pos - 1], R_OK) == 0; case 'w': /* File is writable? */ unary_advance (); return euidaccess (argv[pos - 1], W_OK) == 0; case 'x': /* File is executable? */ unary_advance (); return euidaccess (argv[pos - 1], X_OK) == 0; case 'O': /* File is owned by you? */ { unary_advance (); if (stat (argv[pos - 1], &stat_buf) != 0) return false; errno = 0; uid_t euid = geteuid (); uid_t NO_UID = -1; return ! (euid == NO_UID && errno) && euid == stat_buf.st_uid; } case 'G': /* File is owned by your group? */ { unary_advance (); if (stat (argv[pos - 1], &stat_buf) != 0) return false; errno = 0; gid_t egid = getegid (); gid_t NO_GID = -1; return ! (egid == NO_GID && errno) && egid == stat_buf.st_gid; } case 'f': /* File is a file? */ unary_advance (); /* Under POSIX, -f is true if the given file exists and is a regular file. */ return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISREG (stat_buf.st_mode)); case 'd': /* File is a directory? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISDIR (stat_buf.st_mode)); case 's': /* File has something in it? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && 0 < stat_buf.st_size); case 'S': /* File is a socket? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISSOCK (stat_buf.st_mode)); case 'c': /* File is character special? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISCHR (stat_buf.st_mode)); case 'b': /* File is block special? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISBLK (stat_buf.st_mode)); case 'p': /* File is a named pipe? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && S_ISFIFO (stat_buf.st_mode)); case 'L': /* Same as -h */ /*FALLTHROUGH*/ case 'h': /* File is a symbolic link? */ unary_advance (); return (lstat (argv[pos - 1], &stat_buf) == 0 && S_ISLNK (stat_buf.st_mode)); case 'u': /* File is setuid? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && (stat_buf.st_mode & S_ISUID)); case 'g': /* File is setgid? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && (stat_buf.st_mode & S_ISGID)); case 'k': /* File has sticky bit set? */ unary_advance (); return (stat (argv[pos - 1], &stat_buf) == 0 && (stat_buf.st_mode & S_ISVTX)); case 't': /* File (fd) is a terminal? */ { long int fd; char const *arg; unary_advance (); arg = find_int (argv[pos - 1]); errno = 0; fd = strtol (arg, NULL, 10); return (errno != ERANGE && 0 <= fd && fd <= INT_MAX && isatty (fd)); } case 'n': /* True if arg has some length. */ unary_advance (); return argv[pos - 1][0] != 0; case 'z': /* True if arg has no length. */ unary_advance (); return argv[pos - 1][0] == '\0'; } } /* * and: * term * term '-a' and */ static bool and (void) { bool value = true; while (true) { value &= term (); if (! (pos < argc && STREQ (argv[pos], "-a"))) return value; advance (false); } } /* * or: * and * and '-o' or */ static bool or (void) { bool value = false; while (true) { value |= and (); if (! (pos < argc && STREQ (argv[pos], "-o"))) return value; advance (false); } } /* * expr: * or */ static bool expr (void) { if (pos >= argc) beyond (); return or (); /* Same with this. */ } /* Return true if OP is one of the test command's unary operators. */ static bool test_unop (char const *op) { if (op[0] != '-') return false; switch (op[1]) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'k': case 'n': case 'o': case 'p': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'z': case 'G': case 'L': case 'O': case 'S': case 'N': return true; default: return false; } } static bool one_argument (void) { return argv[pos++][0] != '\0'; } static bool two_arguments (void) { bool value; if (STREQ (argv[pos], "!")) { advance (false); value = ! one_argument (); } else if (argv[pos][0] == '-' && argv[pos][1] != '\0' && argv[pos][2] == '\0') { if (test_unop (argv[pos])) value = unary_operator (); else test_syntax_error (_("%s: unary operator expected"), argv[pos]); } else beyond (); return (value); } static bool three_arguments (void) { bool value; if (binop (argv[pos + 1])) value = binary_operator (false); else if (STREQ (argv[pos], "!")) { advance (true); value = !two_arguments (); } else if (STREQ (argv[pos], "(") && STREQ (argv[pos + 2], ")")) { advance (false); value = one_argument (); advance (false); } else if (STREQ (argv[pos + 1], "-a") || STREQ (argv[pos + 1], "-o")) value = expr (); else test_syntax_error (_("%s: binary operator expected"), argv[pos+1]); return (value); } /* This is an implementation of a Posix.2 proposal by David Korn. */ static bool posixtest (int nargs) { bool value; switch (nargs) { case 1: value = one_argument (); break; case 2: value = two_arguments (); break; case 3: value = three_arguments (); break; case 4: if (STREQ (argv[pos], "!")) { advance (true); value = !three_arguments (); break; } if (STREQ (argv[pos], "(") && STREQ (argv[pos + 3], ")")) { advance (false); value = two_arguments (); advance (false); break; } /* FALLTHROUGH */ case 5: default: if (nargs <= 0) abort (); value = expr (); } return (value); } #if defined TEST_STANDALONE void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { fputs (_("\ Usage: test EXPRESSION\n\ or: test\n\ or: [ EXPRESSION ]\n\ or: [ ]\n\ or: [ OPTION\n\ "), stdout); fputs (_("\ Exit with the status determined by EXPRESSION.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ An omitted EXPRESSION defaults to false. Otherwise,\n\ EXPRESSION is true or false and sets exit status. It is one of:\n\ "), stdout); fputs (_("\ \n\ ( EXPRESSION ) EXPRESSION is true\n\ ! EXPRESSION EXPRESSION is false\n\ EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n\ EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n\ "), stdout); fputs (_("\ \n\ -n STRING the length of STRING is nonzero\n\ STRING equivalent to -n STRING\n\ -z STRING the length of STRING is zero\n\ STRING1 = STRING2 the strings are equal\n\ STRING1 != STRING2 the strings are not equal\n\ "), stdout); fputs (_("\ \n\ INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n\ INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n\ INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n\ INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n\ INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n\ INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n\ "), stdout); fputs (_("\ \n\ FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n\ FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n\ FILE1 -ot FILE2 FILE1 is older than FILE2\n\ "), stdout); fputs (_("\ \n\ -b FILE FILE exists and is block special\n\ -c FILE FILE exists and is character special\n\ -d FILE FILE exists and is a directory\n\ -e FILE FILE exists\n\ "), stdout); fputs (_("\ -f FILE FILE exists and is a regular file\n\ -g FILE FILE exists and is set-group-ID\n\ -G FILE FILE exists and is owned by the effective group ID\n\ -h FILE FILE exists and is a symbolic link (same as -L)\n\ -k FILE FILE exists and has its sticky bit set\n\ "), stdout); fputs (_("\ -L FILE FILE exists and is a symbolic link (same as -h)\n\ -O FILE FILE exists and is owned by the effective user ID\n\ -p FILE FILE exists and is a named pipe\n\ -r FILE FILE exists and read permission is granted\n\ -s FILE FILE exists and has a size greater than zero\n\ "), stdout); fputs (_("\ -S FILE FILE exists and is a socket\n\ -t FD file descriptor FD is opened on a terminal\n\ -u FILE FILE exists and its set-user-ID bit is set\n\ -w FILE FILE exists and write permission is granted\n\ -x FILE FILE exists and execute (or search) permission is granted\n\ "), stdout); fputs (_("\ \n\ Except for -h and -L, all FILE-related tests dereference symbolic links.\n\ Beware that parentheses need to be escaped (e.g., by backslashes) for shells.\n\ INTEGER may also be -l STRING, which evaluates to the length of STRING.\n\ "), stdout); fputs (_("\ \n\ NOTE: [ honors the --help and --version options, but test does not.\n\ test treats each of those as it treats any other nonempty STRING.\n\ "), stdout); printf (USAGE_BUILTIN_WARNING, _("test and/or [")); emit_ancillary_info (); } exit (status); } #endif /* TEST_STANDALONE */ #if !defined TEST_STANDALONE # define main test_command #endif #define AUTHORS \ proper_name ("Kevin Braunsdorf"), \ proper_name ("Matthew Bradburn") /* * [: * '[' expr ']' * test: * test expr */ int main (int margc, char **margv) { bool value; #if !defined TEST_STANDALONE int code; code = setjmp (test_exit_buf); if (code) return (test_error_return); #else /* TEST_STANDALONE */ initialize_main (&margc, &margv); set_program_name (margv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); initialize_exit_failure (TEST_FAILURE); atexit (close_stdout); #endif /* TEST_STANDALONE */ argv = margv; if (LBRACKET) { /* Recognize --help or --version, but only when invoked in the "[" form, when the last argument is not "]". Use direct parsing, rather than parse_long_options, to avoid accepting abbreviations. POSIX allows "[ --help" and "[ --version" to have the usual GNU behavior, but it requires "test --help" and "test --version" to exit silently with status 0. */ if (margc == 2) { if (STREQ (margv[1], "--help")) usage (EXIT_SUCCESS); if (STREQ (margv[1], "--version")) { version_etc (stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS, (char *) NULL); test_exit (EXIT_SUCCESS); } } if (margc < 2 || !STREQ (margv[margc - 1], "]")) test_syntax_error (_("missing ']'"), NULL); --margc; } argc = margc; pos = 1; if (pos >= argc) test_exit (TEST_FALSE); value = posixtest (argc - 1); if (pos != argc) test_syntax_error (_("extra argument %s"), quote (argv[pos])); test_exit (value ? TEST_TRUE : TEST_FALSE); } coreutils-8.21/src/link.c0000664000000000000000000000505512102337340012236 00000000000000/* link utility for GNU. Copyright (C) 2001-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Michael Stone */ /* Implementation overview: Simply call the system 'link' function */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "link" #define AUTHORS proper_name ("Michael Stone") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s FILE1 FILE2\n\ or: %s OPTION\n"), program_name, program_name); fputs (_("Call the link function to create a link named FILE2\ to an existing FILE1.\n\n"), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (argc < optind + 2) { if (argc < optind + 1) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[optind])); usage (EXIT_FAILURE); } if (optind + 2 < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind + 2])); usage (EXIT_FAILURE); } if (link (argv[optind], argv[optind + 1]) != 0) error (EXIT_FAILURE, errno, _("cannot create link %s to %s"), quote_n (0, argv[optind + 1]), quote_n (1, argv[optind])); exit (EXIT_SUCCESS); } coreutils-8.21/src/find-mount-point.c0000664000000000000000000000642112102337340014506 00000000000000/* find-mount-point.c -- find the root mount point for a file. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "system.h" #include "error.h" #include "quote.h" #include "save-cwd.h" #include "xgetcwd.h" #include "find-mount-point.h" /* Return the root mountpoint of the file system on which FILE exists, in malloced storage. FILE_STAT should be the result of stating FILE. Give a diagnostic and return NULL if unable to determine the mount point. Exit if unable to restore current working directory. */ extern char * find_mount_point (char const *file, struct stat const *file_stat) { struct saved_cwd cwd; struct stat last_stat; char *mp = NULL; /* The malloc'd mount point. */ if (save_cwd (&cwd) != 0) { error (0, errno, _("cannot get current directory")); return NULL; } if (S_ISDIR (file_stat->st_mode)) /* FILE is a directory, so just chdir there directly. */ { last_stat = *file_stat; if (chdir (file) < 0) { error (0, errno, _("cannot change to directory %s"), quote (file)); return NULL; } } else /* FILE is some other kind of file; use its directory. */ { char *xdir = dir_name (file); char *dir; ASSIGN_STRDUPA (dir, xdir); free (xdir); if (chdir (dir) < 0) { error (0, errno, _("cannot change to directory %s"), quote (dir)); return NULL; } if (stat (".", &last_stat) < 0) { error (0, errno, _("cannot stat current directory (now %s)"), quote (dir)); goto done; } } /* Now walk up FILE's parents until we find another file system or /, chdiring as we go. LAST_STAT holds stat information for the last place we visited. */ while (true) { struct stat st; if (stat ("..", &st) < 0) { error (0, errno, _("cannot stat %s"), quote ("..")); goto done; } if (st.st_dev != last_stat.st_dev || st.st_ino == last_stat.st_ino) /* cwd is the mount point. */ break; if (chdir ("..") < 0) { error (0, errno, _("cannot change to directory %s"), quote ("..")); goto done; } last_stat = st; } /* Finally reached a mount point, see what it's called. */ mp = xgetcwd (); done: /* Restore the original cwd. */ { int save_errno = errno; if (restore_cwd (&cwd) != 0) error (EXIT_FAILURE, errno, _("failed to return to initial working directory")); free_cwd (&cwd); errno = save_errno; } return mp; } coreutils-8.21/src/pwd.c0000664000000000000000000002453712102337340012101 00000000000000/* pwd - print current directory Copyright (C) 1994-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "system.h" #include "error.h" #include "quote.h" #include "root-dev-ino.h" #include "xgetcwd.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "pwd" #define AUTHORS proper_name ("Jim Meyering") struct file_name { char *buf; size_t n_alloc; char *start; }; static struct option const longopts[] = { {"logical", no_argument, NULL, 'L'}, {"physical", no_argument, NULL, 'P'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]...\n"), program_name); fputs (_("\ Print the full filename of the current working directory.\n\ \n\ "), stdout); fputs (_("\ -L, --logical use PWD from environment, even if it contains symlinks\n\ -P, --physical avoid all symlinks\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME); emit_ancillary_info (); } exit (status); } static void file_name_free (struct file_name *p) { free (p->buf); free (p); } static struct file_name * file_name_init (void) { struct file_name *p = xmalloc (sizeof *p); /* Start with a buffer larger than PATH_MAX, but beware of systems on which PATH_MAX is very large -- e.g., INT_MAX. */ p->n_alloc = MIN (2 * PATH_MAX, 32 * 1024); p->buf = xmalloc (p->n_alloc); p->start = p->buf + (p->n_alloc - 1); p->start[0] = '\0'; return p; } /* Prepend the name S of length S_LEN, to the growing file_name, P. */ static void file_name_prepend (struct file_name *p, char const *s, size_t s_len) { size_t n_free = p->start - p->buf; if (n_free < 1 + s_len) { size_t half = p->n_alloc + 1 + s_len; /* Use xnmalloc+free rather than xnrealloc, since with the latter we'd end up copying the data twice: once via realloc, then again to align it with the end of the new buffer. With xnmalloc, we copy it only once. */ char *q = xnmalloc (2, half); size_t n_used = p->n_alloc - n_free; p->start = q + 2 * half - n_used; memcpy (p->start, p->buf + n_free, n_used); free (p->buf); p->buf = q; p->n_alloc = 2 * half; } p->start -= 1 + s_len; p->start[0] = '/'; memcpy (p->start + 1, s, s_len); } /* Return a string (malloc'd) consisting of N '/'-separated ".." components. */ static char * nth_parent (size_t n) { char *buf = xnmalloc (3, n); char *p = buf; size_t i; for (i = 0; i < n; i++) { memcpy (p, "../", 3); p += 3; } p[-1] = '\0'; return buf; } /* Determine the basename of the current directory, where DOT_SB is the result of lstat'ing "." and prepend that to the file name in *FILE_NAME. Find the directory entry in '..' that matches the dev/i-node of DOT_SB. Upon success, update *DOT_SB with stat information of '..', chdir to '..', and prepend "/basename" to FILE_NAME. Otherwise, exit with a diagnostic. PARENT_HEIGHT is the number of levels '..' is above the starting directory. The first time this function is called (from the initial directory), PARENT_HEIGHT is 1. This is solely for diagnostics. Exit nonzero upon error. */ static void find_dir_entry (struct stat *dot_sb, struct file_name *file_name, size_t parent_height) { DIR *dirp; int fd; struct stat parent_sb; bool use_lstat; bool found; dirp = opendir (".."); if (dirp == NULL) error (EXIT_FAILURE, errno, _("cannot open directory %s"), quote (nth_parent (parent_height))); fd = dirfd (dirp); if ((0 <= fd ? fchdir (fd) : chdir ("..")) < 0) error (EXIT_FAILURE, errno, _("failed to chdir to %s"), quote (nth_parent (parent_height))); if ((0 <= fd ? fstat (fd, &parent_sb) : stat (".", &parent_sb)) < 0) error (EXIT_FAILURE, errno, _("failed to stat %s"), quote (nth_parent (parent_height))); /* If parent and child directory are on different devices, then we can't rely on d_ino for useful i-node numbers; use lstat instead. */ use_lstat = (parent_sb.st_dev != dot_sb->st_dev); found = false; while (1) { struct dirent const *dp; struct stat ent_sb; ino_t ino; errno = 0; if ((dp = readdir_ignoring_dot_and_dotdot (dirp)) == NULL) { if (errno) { /* Save/restore errno across closedir call. */ int e = errno; closedir (dirp); errno = e; /* Arrange to give a diagnostic after exiting this loop. */ dirp = NULL; } break; } ino = D_INO (dp); if (ino == NOT_AN_INODE_NUMBER || use_lstat) { if (lstat (dp->d_name, &ent_sb) < 0) { /* Skip any entry we can't stat. */ continue; } ino = ent_sb.st_ino; } if (ino != dot_sb->st_ino) continue; /* If we're not crossing a device boundary, then a simple i-node match is enough. */ if ( ! use_lstat || ent_sb.st_dev == dot_sb->st_dev) { file_name_prepend (file_name, dp->d_name, _D_EXACT_NAMLEN (dp)); found = true; break; } } if (dirp == NULL || closedir (dirp) != 0) { /* Note that this diagnostic serves for both readdir and closedir failures. */ error (EXIT_FAILURE, errno, _("reading directory %s"), quote (nth_parent (parent_height))); } if ( ! found) error (EXIT_FAILURE, 0, _("couldn't find directory entry in %s with matching i-node"), quote (nth_parent (parent_height))); *dot_sb = parent_sb; } /* Construct the full, absolute name of the current working directory and store it in *FILE_NAME. The getcwd function performs nearly the same task, but is typically unable to handle names longer than PATH_MAX. This function has no such limitation. However, this function *can* fail due to permission problems or a lack of memory, while GNU/Linux's getcwd function works regardless of restricted permissions on parent directories. Upon failure, give a diagnostic and exit nonzero. Note: although this function is similar to getcwd, it has a fundamental difference in that it gives a diagnostic and exits upon failure. I would have liked a function that did not exit, and that could be used as a getcwd replacement. Unfortunately, considering all of the information the caller would require in order to produce good diagnostics, it doesn't seem worth the added complexity. In any case, any getcwd replacement must *not* exceed the PATH_MAX limitation. Otherwise, functions like 'chdir' would fail with ENAMETOOLONG. FIXME-maybe: if find_dir_entry fails due to permissions, try getcwd, in case the unreadable directory is close enough to the root that getcwd works from there. */ static void robust_getcwd (struct file_name *file_name) { size_t height = 1; struct dev_ino dev_ino_buf; struct dev_ino *root_dev_ino = get_root_dev_ino (&dev_ino_buf); struct stat dot_sb; if (root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); if (stat (".", &dot_sb) < 0) error (EXIT_FAILURE, errno, _("failed to stat %s"), quote (".")); while (1) { /* If we've reached the root, we're done. */ if (SAME_INODE (dot_sb, *root_dev_ino)) break; find_dir_entry (&dot_sb, file_name, height++); } /* See if a leading slash is needed; file_name_prepend adds one. */ if (file_name->start[0] == '\0') file_name_prepend (file_name, "", 0); } /* Return PWD from the environment if it is acceptable for 'pwd -L' output, otherwise NULL. */ static char * logical_getcwd (void) { struct stat st1; struct stat st2; char *wd = getenv ("PWD"); char *p; /* Textual validation first. */ if (!wd || wd[0] != '/') return NULL; p = wd; while ((p = strstr (p, "/."))) { if (!p[2] || p[2] == '/' || (p[2] == '.' && (!p[3] || p[3] == '/'))) return NULL; p++; } /* System call validation. */ if (stat (wd, &st1) == 0 && stat (".", &st2) == 0 && SAME_INODE (st1, st2)) return wd; return NULL; } int main (int argc, char **argv) { char *wd; /* POSIX requires a default of -L, but most scripts expect -P. */ bool logical = (getenv ("POSIXLY_CORRECT") != NULL); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while (1) { int c = getopt_long (argc, argv, "LP", longopts, NULL); if (c == -1) break; switch (c) { case 'L': logical = true; break; case 'P': logical = false; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind < argc) error (0, 0, _("ignoring non-option arguments")); if (logical) { wd = logical_getcwd (); if (wd) { puts (wd); exit (EXIT_SUCCESS); } } wd = xgetcwd (); if (wd != NULL) { puts (wd); free (wd); } else { struct file_name *file_name = file_name_init (); robust_getcwd (file_name); puts (file_name->start); file_name_free (file_name); } exit (EXIT_SUCCESS); } coreutils-8.21/src/mkdir.c0000664000000000000000000001413212102337340012403 00000000000000/* mkdir -- make directories Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* David MacKenzie */ #include #include #include #include #include #include "system.h" #include "error.h" #include "mkdir-p.h" #include "modechange.h" #include "prog-fprintf.h" #include "quote.h" #include "savewd.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "mkdir" #define AUTHORS proper_name ("David MacKenzie") static struct option const longopts[] = { {GETOPT_SELINUX_CONTEXT_OPTION_DECL}, {"mode", required_argument, NULL, 'm'}, {"parents", no_argument, NULL, 'p'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... DIRECTORY...\n"), program_name); fputs (_("\ Create the DIRECTORY(ies), if they do not already exist.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n\ -p, --parents no error if existing, make parent directories as needed\n\ -v, --verbose print a message for each created directory\n\ -Z, --context=CTX set the SELinux security context of each created\n\ directory to CTX\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Options passed to subsidiary functions. */ struct mkdir_options { /* Function to make an ancestor, or NULL if ancestors should not be made. */ int (*make_ancestor_function) (char const *, char const *, void *); /* Mode for ancestor directory. */ mode_t ancestor_mode; /* Mode for directory itself. */ mode_t mode; /* File mode bits affected by MODE. */ mode_t mode_bits; /* If not null, format to use when reporting newly made directories. */ char const *created_directory_format; }; /* Report that directory DIR was made, if OPTIONS requests this. */ static void announce_mkdir (char const *dir, void *options) { struct mkdir_options const *o = options; if (o->created_directory_format) prog_fprintf (stdout, o->created_directory_format, quote (dir)); } /* Make ancestor directory DIR, whose last component is COMPONENT, with options OPTIONS. Assume the working directory is COMPONENT's parent. Return 0 if successful and the resulting directory is readable, 1 if successful but the resulting directory is not readable, -1 (setting errno) otherwise. */ static int make_ancestor (char const *dir, char const *component, void *options) { struct mkdir_options const *o = options; int r = mkdir (component, o->ancestor_mode); if (r == 0) { r = ! (o->ancestor_mode & S_IRUSR); announce_mkdir (dir, options); } return r; } /* Process a command-line file name. */ static int process_dir (char *dir, struct savewd *wd, void *options) { struct mkdir_options const *o = options; return (make_dir_parents (dir, wd, o->make_ancestor_function, options, o->mode, announce_mkdir, o->mode_bits, (uid_t) -1, (gid_t) -1, true) ? EXIT_SUCCESS : EXIT_FAILURE); } int main (int argc, char **argv) { const char *specified_mode = NULL; int optc; security_context_t scontext = NULL; struct mkdir_options options; options.make_ancestor_function = NULL; options.mode = S_IRWXUGO; options.mode_bits = 0; options.created_directory_format = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "pm:vZ:", longopts, NULL)) != -1) { switch (optc) { case 'p': options.make_ancestor_function = make_ancestor; break; case 'm': specified_mode = optarg; break; case 'v': /* --verbose */ options.created_directory_format = _("created directory %s"); break; case 'Z': scontext = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (scontext && setfscreatecon (scontext) < 0) error (EXIT_FAILURE, errno, _("failed to set default file creation context to %s"), quote (scontext)); if (options.make_ancestor_function || specified_mode) { mode_t umask_value = umask (0); options.ancestor_mode = (S_IRWXUGO & ~umask_value) | (S_IWUSR | S_IXUSR); if (specified_mode) { struct mode_change *change = mode_compile (specified_mode); if (!change) error (EXIT_FAILURE, 0, _("invalid mode %s"), quote (specified_mode)); options.mode = mode_adjust (S_IRWXUGO, true, umask_value, change, &options.mode_bits); free (change); } else options.mode = S_IRWXUGO & ~umask_value; } exit (savewd_process_files (argc - optind, argv + optind, process_dir, &options)); } coreutils-8.21/src/tac-pipe.c0000664000000000000000000001352512102337340013004 00000000000000/* tac from a pipe. Copyright (C) 1997-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* FIXME */ #include /* FIXME: this is small for testing */ #define BUFFER_SIZE (8) #define LEN(X, I) ((X)->p[(I)].one_past_end - (X)->p[(I)].start) #define EMPTY(X) ((X)->n_bufs == 1 && LEN (X, 0) == 0) #define ONE_PAST_END(X, I) ((X)->p[(I)].one_past_end) struct Line_ptr { size_t i; char *ptr; }; typedef struct Line_ptr Line_ptr; struct B_pair { char *start; char *one_past_end; }; struct Buf { size_t n_bufs; struct obstack obs; struct B_pair *p; }; typedef struct Buf Buf; static bool buf_init_from_stdin (Buf *x, char eol_byte) { bool last_byte_is_eol_byte = true; bool ok = true; #define OBS (&(x->obs)) obstack_init (OBS); while (1) { char *buf = (char *) malloc (BUFFER_SIZE); size_t bytes_read; if (buf == NULL) { /* Fall back on the code that relies on a temporary file. Write all buffers to that file and free them. */ /* FIXME */ ok = false; break; } bytes_read = full_read (STDIN_FILENO, buf, BUFFER_SIZE); if (bytes_read != buffer_size && errno != 0) error (EXIT_FAILURE, errno, _("read error")); { struct B_pair bp; bp.start = buf; bp.one_past_end = buf + bytes_read; obstack_grow (OBS, &bp, sizeof (bp)); } if (bytes_read != 0) last_byte_is_eol_byte = (buf[bytes_read - 1] == eol_byte); if (bytes_read < BUFFER_SIZE) break; } if (ok) { /* If the file was non-empty and lacked an EOL_BYTE at its end, then add a buffer containing just that one byte. */ if (!last_byte_is_eol_byte) { char *buf = malloc (1); if (buf == NULL) { /* FIXME: just like above */ ok = false; } else { struct B_pair bp; *buf = eol_byte; bp.start = buf; bp.one_past_end = buf + 1; obstack_grow (OBS, &bp, sizeof (bp)); } } } x->n_bufs = obstack_object_size (OBS) / sizeof (x->p[0]); x->p = (struct B_pair *) obstack_finish (OBS); /* If there are two or more buffers and the last buffer is empty, then free the last one and decrement the buffer count. */ if (x->n_bufs >= 2 && x->p[x->n_bufs - 1].start == x->p[x->n_bufs - 1].one_past_end) free (x->p[--(x->n_bufs)].start); return ok; } static void buf_free (Buf *x) { size_t i; for (i = 0; i < x->n_bufs; i++) free (x->p[i].start); obstack_free (OBS, NULL); } Line_ptr line_ptr_decrement (const Buf *x, const Line_ptr *lp) { Line_ptr lp_new; if (lp->ptr > x->p[lp->i].start) { lp_new.i = lp->i; lp_new.ptr = lp->ptr - 1; } else { assert (lp->i > 0); lp_new.i = lp->i - 1; lp_new.ptr = ONE_PAST_END (x, lp->i - 1) - 1; } return lp_new; } Line_ptr line_ptr_increment (const Buf *x, const Line_ptr *lp) { Line_ptr lp_new; assert (lp->ptr <= ONE_PAST_END (x, lp->i) - 1); if (lp->ptr < ONE_PAST_END (x, lp->i) - 1) { lp_new.i = lp->i; lp_new.ptr = lp->ptr + 1; } else { assert (lp->i < x->n_bufs - 1); lp_new.i = lp->i + 1; lp_new.ptr = x->p[lp->i + 1].start; } return lp_new; } static bool find_bol (const Buf *x, const Line_ptr *last_bol, Line_ptr *new_bol, char eol_byte) { size_t i; Line_ptr tmp; char *last_bol_ptr; if (last_bol->ptr == x->p[0].start) return false; tmp = line_ptr_decrement (x, last_bol); last_bol_ptr = tmp.ptr; i = tmp.i; while (1) { char *nl = memrchr (x->p[i].start, last_bol_ptr, eol_byte); if (nl) { Line_ptr nl_pos; nl_pos.i = i; nl_pos.ptr = nl; *new_bol = line_ptr_increment (x, &nl_pos); return true; } if (i == 0) break; --i; last_bol_ptr = ONE_PAST_END (x, i); } /* If last_bol->ptr didn't point at the first byte of X, then reaching this point means that we're about to return the line that is at the beginning of X. */ if (last_bol->ptr != x->p[0].start) { new_bol->i = 0; new_bol->ptr = x->p[0].start; return true; } return false; } static void print_line (FILE *out_stream, const Buf *x, const Line_ptr *bol, const Line_ptr *bol_next) { size_t i; for (i = bol->i; i <= bol_next->i; i++) { char *a = (i == bol->i ? bol->ptr : x->p[i].start); char *b = (i == bol_next->i ? bol_next->ptr : ONE_PAST_END (x, i)); fwrite (a, 1, b - a, out_stream); } } static bool tac_mem () { Buf x; Line_ptr bol; char eol_byte = '\n'; if (! buf_init_from_stdin (&x, eol_byte)) { buf_free (&x); return false; } /* Special case the empty file. */ if (EMPTY (&x)) return true; /* Initially, point at one past the last byte of the file. */ bol.i = x.n_bufs - 1; bol.ptr = ONE_PAST_END (&x, bol.i); while (1) { Line_ptr new_bol; if (! find_bol (&x, &bol, &new_bol, eol_byte)) break; print_line (stdout, &x, &new_bol, &bol); bol = new_bol; } return true; } coreutils-8.21/src/operand2sig.h0000664000000000000000000000150012102337340013512 00000000000000/* operand2sig.h -- prototype for signal specification function Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern int operand2sig (char const *operand, char *signame); coreutils-8.21/src/users.c0000664000000000000000000000703212102337340012437 00000000000000/* GNU's users. Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by jla; revised by djm */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "quote.h" #include "readutmp.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "users" #define AUTHORS \ proper_name ("Joseph Arceneaux"), \ proper_name ("David MacKenzie") static int userid_compare (const void *v_a, const void *v_b) { char **a = (char **) v_a; char **b = (char **) v_b; return strcmp (*a, *b); } static void list_entries_users (size_t n, const STRUCT_UTMP *this) { char **u = xnmalloc (n, sizeof *u); size_t i; size_t n_entries = 0; while (n--) { if (IS_USER_PROCESS (this)) { char *trimmed_name; trimmed_name = extract_trimmed_name (this); u[n_entries] = trimmed_name; ++n_entries; } this++; } qsort (u, n_entries, sizeof (u[0]), userid_compare); for (i = 0; i < n_entries; i++) { char c = (i < n_entries - 1 ? ' ' : '\n'); fputs (u[i], stdout); putchar (c); } for (i = 0; i < n_entries; i++) free (u[i]); free (u); } /* Display a list of users on the system, according to utmp file FILENAME. Use read_utmp OPTIONS to read FILENAME. */ static void users (const char *filename, int options) { size_t n_users; STRUCT_UTMP *utmp_buf; if (read_utmp (filename, &n_users, &utmp_buf, options) != 0) error (EXIT_FAILURE, errno, "%s", filename); list_entries_users (n_users, utmp_buf); free (utmp_buf); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]\n"), program_name); printf (_("\ Output who is currently logged in according to FILE.\n\ If FILE is not specified, use %s. %s as FILE is common.\n\ \n\ "), UTMP_FILE, WTMP_FILE); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); switch (argc - optind) { case 0: /* users */ users (UTMP_FILE, READ_UTMP_CHECK_PIDS); break; case 1: /* users */ users (argv[optind], 0); break; default: /* lose */ error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } exit (EXIT_SUCCESS); } coreutils-8.21/src/copy.h0000664000000000000000000002446412102337340012265 00000000000000/* core functions for copying files and directories Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from cp.c and librarified by Jim Meyering. */ #ifndef COPY_H # define COPY_H # include # include "hash.h" /* Control creation of sparse files (files with holes). */ enum Sparse_type { SPARSE_UNUSED, /* Never create holes in DEST. */ SPARSE_NEVER, /* This is the default. Use a crude (and sometimes inaccurate) heuristic to determine if SOURCE has holes. If so, try to create holes in DEST. */ SPARSE_AUTO, /* For every sufficiently long sequence of bytes in SOURCE, try to create a corresponding hole in DEST. There is a performance penalty here because CP has to search for holes in SRC. But if the holes are big enough, that penalty can be offset by the decrease in the amount of data written to disk. */ SPARSE_ALWAYS }; /* Control creation of COW files. */ enum Reflink_type { /* Default to a standard copy. */ REFLINK_NEVER, /* Try a COW copy and fall back to a standard copy. */ REFLINK_AUTO, /* Require a COW copy and fail if not available. */ REFLINK_ALWAYS }; /* This type is used to help mv (via copy.c) distinguish these cases. */ enum Interactive { I_ALWAYS_YES = 1, I_ALWAYS_NO, I_ASK_USER, I_UNSPECIFIED }; /* How to handle symbolic links. */ enum Dereference_symlink { DEREF_UNDEFINED = 1, /* Copy the symbolic link itself. -P */ DEREF_NEVER, /* If the symbolic is a command line argument, then copy its referent. Otherwise, copy the symbolic link itself. -H */ DEREF_COMMAND_LINE_ARGUMENTS, /* Copy the referent of the symbolic link. -L */ DEREF_ALWAYS }; # define VALID_SPARSE_MODE(Mode) \ ((Mode) == SPARSE_NEVER \ || (Mode) == SPARSE_AUTO \ || (Mode) == SPARSE_ALWAYS) # define VALID_REFLINK_MODE(Mode) \ ((Mode) == REFLINK_NEVER \ || (Mode) == REFLINK_AUTO \ || (Mode) == REFLINK_ALWAYS) /* These options control how files are copied by at least the following programs: mv (when rename doesn't work), cp, install. So, if you add a new member, be sure to initialize it in mv.c, cp.c, and install.c. */ struct cp_options { enum backup_type backup_type; /* How to handle symlinks in the source. */ enum Dereference_symlink dereference; /* This value is used to determine whether to prompt before removing each existing destination file. It works differently depending on whether move_mode is set. See code/comments in copy.c. */ enum Interactive interactive; /* Control creation of sparse files. */ enum Sparse_type sparse_mode; /* Set the mode of the destination file to exactly this value if SET_MODE is nonzero. */ mode_t mode; /* If true, copy all files except (directories and, if not dereferencing them, symbolic links,) as if they were regular files. */ bool copy_as_regular; /* If true, remove each existing destination nondirectory before trying to open it. */ bool unlink_dest_before_opening; /* If true, first try to open each existing destination nondirectory, then, if the open fails, unlink and try again. This option must be set for 'cp -f', in case the destination file exists when the open is attempted. It is irrelevant to 'mv' since any destination is sure to be removed before the open. */ bool unlink_dest_after_failed_open; /* If true, create hard links instead of copying files. Create destination directories as usual. */ bool hard_link; /* If true, rather than copying, first attempt to use rename. If that fails, then resort to copying. */ bool move_mode; /* Whether this process has appropriate privileges to chown a file whose owner is not the effective user ID. */ bool chown_privileges; /* Whether this process has appropriate privileges to do the following operations on a file even when it is owned by some other user: set the file's atime, mtime, mode, or ACL; remove or rename an entry in the file even though it is a sticky directory, or to mount on the file. */ bool owner_privileges; /* If true, when copying recursively, skip any subdirectories that are on different file systems from the one we started on. */ bool one_file_system; /* If true, attempt to give the copies the original files' permissions, owner, group, and timestamps. */ bool preserve_ownership; bool preserve_mode; bool preserve_timestamps; bool explicit_no_preserve_mode; /* Enabled for mv, and for cp by the --preserve=links option. If true, attempt to preserve in the destination files any logical hard links between the source files. If used with cp's --no-dereference option, and copying two hard-linked files, the two corresponding destination files will also be hard linked. If used with cp's --dereference (-L) option, then, as that option implies, hard links are *not* preserved. However, when copying a file F and a symlink S to F, the resulting S and F in the destination directory will be hard links to the same file (a copy of F). */ bool preserve_links; /* Optionally don't copy the data, either with CoW reflink files or explicitly with the --attributes-only option. */ bool data_copy_required; /* If true and any of the above (for preserve) file attributes cannot be applied to a destination file, treat it as a failure and return nonzero immediately. E.g. for cp -p this must be true, for mv it must be false. */ bool require_preserve; /* If true, attempt to preserve the SELinux security context, too. Set this only if the kernel is SELinux enabled. */ bool preserve_security_context; /* Useful only when preserve_context is true. If true, a failed attempt to preserve file's security context propagates failure "out" to the caller, along with full diagnostics. If false, a failure to preserve file's security context does not change the invoking application's exit status, but may output diagnostics. For example, with 'cp --preserve=context' this flag is "true", while with 'cp --preserve=all' or 'cp -a', it is "false". */ bool require_preserve_context; /* If true, attempt to preserve extended attributes using libattr. Ignored if coreutils are compiled without xattr support. */ bool preserve_xattr; /* Useful only when preserve_xattr is true. If true, a failed attempt to preserve file's extended attributes propagates failure "out" to the caller, along with full diagnostics. If false, a failure to preserve file's extended attributes does not change the invoking application's exit status, but may output diagnostics. For example, with 'cp --preserve=xattr' this flag is "true", while with 'cp --preserve=all' or 'cp -a', it is "false". */ bool require_preserve_xattr; /* This allows us to output warnings in cases 2 and 4 below, while being quiet for case 1 (when reduce_diagnostics is true). 1. cp -a try to copy xattrs with no errors 2. cp --preserve=all copy xattrs with all but ENOTSUP warnings 3. cp --preserve=xattr,context copy xattrs with all errors 4. mv copy xattrs with all but ENOTSUP warnings */ bool reduce_diagnostics; /* If true, copy directories recursively and copy special files as themselves rather than copying their contents. */ bool recursive; /* If true, set file mode to value of MODE. Otherwise, set it based on current umask modified by UMASK_KILL. */ bool set_mode; /* If true, create symbolic links instead of copying files. Create destination directories as usual. */ bool symbolic_link; /* If true, do not copy a nondirectory that has an existing destination with the same or newer modification time. */ bool update; /* If true, display the names of the files before copying them. */ bool verbose; /* If true, stdin is a tty. */ bool stdin_tty; /* If true, open a dangling destination symlink when not in move_mode. Otherwise, copy_reg gives a diagnostic (it refuses to write through such a symlink) and returns false. */ bool open_dangling_dest_symlink; /* Control creation of COW files. */ enum Reflink_type reflink_mode; /* This is a set of destination name/inode/dev triples. Each such triple represents a file we have created corresponding to a source file name that was specified on the command line. Use it to avoid clobbering source files in commands like this: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c For now, it protects only regular files when copying (i.e. not renaming). When renaming, it protects all non-directories. Use dest_info_init to initialize it, or set it to NULL to disable this feature. */ Hash_table *dest_info; /* FIXME */ Hash_table *src_info; }; # define XSTAT(X, Src_name, Src_sb) \ ((X)->dereference == DEREF_NEVER \ ? lstat (Src_name, Src_sb) \ : stat (Src_name, Src_sb)) /* Arrange to make rename calls go through the wrapper function on systems with a rename function that fails for a source file name specified with a trailing slash. */ # if RENAME_TRAILING_SLASH_BUG int rpl_rename (const char *, const char *); # undef rename # define rename rpl_rename # endif bool copy (char const *src_name, char const *dst_name, bool nonexistent_dst, const struct cp_options *options, bool *copy_into_self, bool *rename_succeeded); void dest_info_init (struct cp_options *); void src_info_init (struct cp_options *); void cp_options_default (struct cp_options *); bool chown_failure_ok (struct cp_options const *) _GL_ATTRIBUTE_PURE; mode_t cached_umask (void); #endif coreutils-8.21/src/make-prime-list.c0000664000000000000000000001320612102337340014276 00000000000000/* Factoring of uintmax_t numbers. Generation of needed tables. Contributed to the GNU project by Torbjörn Granlund and Niels Möller Contains code from GNU MP. Copyright 2012-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. */ #include #include #include #include #include #include #include #include /* Deactivate config.h's "rpl_"-prefixed definitions of these symbols. */ #undef fclose #undef malloc #undef strerror /* An unsigned type that is no narrower than 32 bits and no narrower than unsigned int. It's best to make it as wide as possible. For GCC 4.6 and later, use a heuristic to guess whether unsigned __int128 works on your platform. If this heuristic does not work for you, please report a bug; in the meantime compile with, e.g., -Dwide_uint='unsigned __int128' to override the heuristic. */ #ifndef wide_uint # if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) && ULONG_MAX >> 31 >> 31 >> 1 != 0 typedef unsigned __int128 wide_uint; # else typedef uintmax_t wide_uint; # endif #endif struct prime { unsigned p; wide_uint pinv; /* Inverse mod b = 2^{bitsize of wide_uint} */ wide_uint lim; /* floor ((wide_uint) -1 / p) */ }; static wide_uint _GL_ATTRIBUTE_CONST binvert (wide_uint a) { wide_uint x = 0xf5397db1 >> (4*((a/2) & 0x7)); for (;;) { wide_uint y = 2*x - x*x*a; if (y == x) return x; x = y; } } static void process_prime (struct prime *info, unsigned p) { wide_uint max = -1; info->p = p; info->pinv = binvert (p); info->lim = max / p; } static void print_wide_uint (wide_uint n, int nesting, unsigned wide_uint_bits) { /* Number of bits per integer literal. 8 is too many, because uintmax_t is 32 bits on some machines so we cannot shift by 32 bits. So use 7. */ int hex_digits_per_literal = 7; int bits_per_literal = hex_digits_per_literal * 4; unsigned remainder = n & ((1 << bits_per_literal) - 1); if (n != remainder) { int needs_parentheses = n >> bits_per_literal >> bits_per_literal != 0; if (needs_parentheses) printf ("("); print_wide_uint (n >> bits_per_literal, nesting + 1, wide_uint_bits); if (needs_parentheses) printf (")\n%*s", nesting + 3, ""); printf (" << %d | ", bits_per_literal); } else if (nesting) { printf ("(uintmax_t) "); hex_digits_per_literal = ((wide_uint_bits - 1) % bits_per_literal) % 4 + 1; } printf ("0x%0*xU", hex_digits_per_literal, remainder); } static void output_primes (const struct prime *primes, unsigned nprimes) { unsigned i; unsigned p; int is_prime; /* Compute wide_uint_bits by repeated shifting, rather than by multiplying sizeof by CHAR_BIT, as this works even if the wide_uint representation has holes. */ unsigned wide_uint_bits = 0; wide_uint mask = -1; for (wide_uint_bits = 0; mask; wide_uint_bits++) mask >>= 1; puts ("/* Generated file -- DO NOT EDIT */\n"); printf ("#define WIDE_UINT_BITS %u\n", wide_uint_bits); for (i = 0, p = 2; i < nprimes; i++) { unsigned int d8 = i + 8 < nprimes ? primes[i + 8].p - primes[i].p : 0xff; if (255 < d8) /* this happens at 668221 */ abort (); printf ("P (%u, %u,\n (", primes[i].p - p, d8); print_wide_uint (primes[i].pinv, 0, wide_uint_bits); printf ("),\n UINTMAX_MAX / %d)\n", primes[i].p); p = primes[i].p; } printf ("\n#undef FIRST_OMITTED_PRIME\n"); /* Find next prime */ do { p += 2; for (i = 0, is_prime = 1; is_prime; i++) { if (primes[i].p * primes[i].p > p) break; if (p * primes[i].pinv <= primes[i].lim) { is_prime = 0; break; } } } while (!is_prime); printf ("#define FIRST_OMITTED_PRIME %u\n", p); } static void * xalloc (size_t s) { void *p = malloc (s); if (p) return p; fprintf (stderr, "Virtual memory exhausted.\n"); exit (EXIT_FAILURE); } int main (int argc, char **argv) { int limit; char *sieve; size_t size, i; struct prime *prime_list; unsigned nprimes; if (argc != 2) { fprintf (stderr, "Usage: %s LIMIT\n" "Produces a list of odd primes <= LIMIT\n", argv[0]); return EXIT_FAILURE; } limit = atoi (argv[1]); if (limit < 3) exit (EXIT_SUCCESS); /* Make limit odd */ if ( !(limit & 1)) limit--; size = (limit-1)/2; /* sieve[i] represents 3+2*i */ sieve = xalloc (size); memset (sieve, 1, size); prime_list = xalloc (size * sizeof (*prime_list)); nprimes = 0; for (i = 0; i < size;) { unsigned p = 3+2*i; unsigned j; process_prime (&prime_list[nprimes++], p); for (j = (p*p - 3)/2; j < size; j+= p) sieve[j] = 0; while (i < size && sieve[++i] == 0) ; } output_primes (prime_list, nprimes); if (ferror (stdout) + fclose (stdout)) { fprintf (stderr, "write error: %s\n", strerror (errno)); return EXIT_FAILURE; } return EXIT_SUCCESS; } coreutils-8.21/src/od.c0000664000000000000000000015746412102337340011717 00000000000000/* od -- dump files in octal and other formats Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "ftoastr.h" #include "quote.h" #include "xfreopen.h" #include "xprintf.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "od" #define AUTHORS proper_name ("Jim Meyering") /* The default number of input bytes per output line. */ #define DEFAULT_BYTES_PER_BLOCK 16 #if HAVE_UNSIGNED_LONG_LONG_INT typedef unsigned long long int unsigned_long_long_int; #else /* This is just a place-holder to avoid a few '#if' directives. In this case, the type isn't actually used. */ typedef unsigned long int unsigned_long_long_int; #endif enum size_spec { NO_SIZE, CHAR, SHORT, INT, LONG, LONG_LONG, /* FIXME: add INTMAX support, too */ FLOAT_SINGLE, FLOAT_DOUBLE, FLOAT_LONG_DOUBLE, N_SIZE_SPECS }; enum output_format { SIGNED_DECIMAL, UNSIGNED_DECIMAL, OCTAL, HEXADECIMAL, FLOATING_POINT, NAMED_CHARACTER, CHARACTER }; #define MAX_INTEGRAL_TYPE_SIZE sizeof (unsigned_long_long_int) /* The maximum number of bytes needed for a format string, including the trailing nul. Each format string expects a variable amount of padding (guaranteed to be at least 1 plus the field width), then an element that will be formatted in the field. */ enum { FMT_BYTES_ALLOCATED = (sizeof "%*.99" - 1 + MAX (sizeof "ld", MAX (sizeof PRIdMAX, MAX (sizeof PRIoMAX, MAX (sizeof PRIuMAX, sizeof PRIxMAX))))) }; /* Ensure that our choice for FMT_BYTES_ALLOCATED is reasonable. */ verify (MAX_INTEGRAL_TYPE_SIZE * CHAR_BIT / 3 <= 99); /* Each output format specification (from '-t spec' or from old-style options) is represented by one of these structures. */ struct tspec { enum output_format fmt; enum size_spec size; /* Type of input object. */ /* FIELDS is the number of fields per line, BLANK is the number of fields to leave blank. WIDTH is width of one field, excluding leading space, and PAD is total pad to divide among FIELDS. PAD is at least as large as FIELDS. */ void (*print_function) (size_t fields, size_t blank, void const *data, char const *fmt, int width, int pad); char fmt_string[FMT_BYTES_ALLOCATED]; /* Of the style "%*d". */ bool hexl_mode_trailer; int field_width; /* Minimum width of a field, excluding leading space. */ int pad_width; /* Total padding to be divided among fields. */ }; /* Convert the number of 8-bit bytes of a binary representation to the number of characters (digits + sign if the type is signed) required to represent the same quantity in the specified base/type. For example, a 32-bit (4-byte) quantity may require a field width as wide as the following for these types: 11 unsigned octal 11 signed decimal 10 unsigned decimal 8 unsigned hexadecimal */ static unsigned int const bytes_to_oct_digits[] = {0, 3, 6, 8, 11, 14, 16, 19, 22, 25, 27, 30, 32, 35, 38, 41, 43}; static unsigned int const bytes_to_signed_dec_digits[] = {1, 4, 6, 8, 11, 13, 16, 18, 20, 23, 25, 28, 30, 33, 35, 37, 40}; static unsigned int const bytes_to_unsigned_dec_digits[] = {0, 3, 5, 8, 10, 13, 15, 17, 20, 22, 25, 27, 29, 32, 34, 37, 39}; static unsigned int const bytes_to_hex_digits[] = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32}; /* It'll be a while before we see integral types wider than 16 bytes, but if/when it happens, this check will catch it. Without this check, a wider type would provoke a buffer overrun. */ verify (MAX_INTEGRAL_TYPE_SIZE < ARRAY_CARDINALITY (bytes_to_hex_digits)); /* Make sure the other arrays have the same length. */ verify (sizeof bytes_to_oct_digits == sizeof bytes_to_signed_dec_digits); verify (sizeof bytes_to_oct_digits == sizeof bytes_to_unsigned_dec_digits); verify (sizeof bytes_to_oct_digits == sizeof bytes_to_hex_digits); /* Convert enum size_spec to the size of the named type. */ static const int width_bytes[] = { -1, sizeof (char), sizeof (short int), sizeof (int), sizeof (long int), sizeof (unsigned_long_long_int), sizeof (float), sizeof (double), sizeof (long double) }; /* Ensure that for each member of 'enum size_spec' there is an initializer in the width_bytes array. */ verify (ARRAY_CARDINALITY (width_bytes) == N_SIZE_SPECS); /* Names for some non-printing characters. */ static char const charname[33][4] = { "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel", "bs", "ht", "nl", "vt", "ff", "cr", "so", "si", "dle", "dc1", "dc2", "dc3", "dc4", "nak", "syn", "etb", "can", "em", "sub", "esc", "fs", "gs", "rs", "us", "sp" }; /* Address base (8, 10 or 16). */ static int address_base; /* The number of octal digits required to represent the largest address value. */ #define MAX_ADDRESS_LENGTH \ ((sizeof (uintmax_t) * CHAR_BIT + CHAR_BIT - 1) / 3) /* Width of a normal address. */ static int address_pad_len; /* Minimum length when detecting --strings. */ static size_t string_min; /* True when in --strings mode. */ static bool flag_dump_strings; /* True if we should recognize the older non-option arguments that specified at most one file and optional arguments specifying offset and pseudo-start address. */ static bool traditional; /* True if an old-style 'pseudo-address' was specified. */ static bool flag_pseudo_start; /* The difference between the old-style pseudo starting address and the number of bytes to skip. */ static uintmax_t pseudo_offset; /* Function that accepts an address and an optional following char, and prints the address and char to stdout. */ static void (*format_address) (uintmax_t, char); /* The number of input bytes to skip before formatting and writing. */ static uintmax_t n_bytes_to_skip = 0; /* When false, MAX_BYTES_TO_FORMAT and END_OFFSET are ignored, and all input is formatted. */ static bool limit_bytes_to_format = false; /* The maximum number of bytes that will be formatted. */ static uintmax_t max_bytes_to_format; /* The offset of the first byte after the last byte to be formatted. */ static uintmax_t end_offset; /* When true and two or more consecutive blocks are equal, format only the first block and output an asterisk alone on the following line to indicate that identical blocks have been elided. */ static bool abbreviate_duplicate_blocks = true; /* An array of specs describing how to format each input block. */ static struct tspec *spec; /* The number of format specs. */ static size_t n_specs; /* The allocated length of SPEC. */ static size_t n_specs_allocated; /* The number of input bytes formatted per output line. It must be a multiple of the least common multiple of the sizes associated with the specified output types. It should be as large as possible, but no larger than 16 -- unless specified with the -w option. */ static size_t bytes_per_block; /* Human-readable representation of *file_list (for error messages). It differs from file_list[-1] only when file_list[-1] is "-". */ static char const *input_filename; /* A NULL-terminated list of the file-arguments from the command line. */ static char const *const *file_list; /* Initializer for file_list if no file-arguments were specified on the command line. */ static char const *const default_file_list[] = {"-", NULL}; /* The input stream associated with the current file. */ static FILE *in_stream; /* If true, at least one of the files we read was standard input. */ static bool have_read_stdin; /* Map the size in bytes to a type identifier. */ static enum size_spec integral_type_size[MAX_INTEGRAL_TYPE_SIZE + 1]; #define MAX_FP_TYPE_SIZE sizeof (long double) static enum size_spec fp_type_size[MAX_FP_TYPE_SIZE + 1]; static char const short_options[] = "A:aBbcDdeFfHhIij:LlN:OoS:st:vw::Xx"; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { TRADITIONAL_OPTION = CHAR_MAX + 1 }; static struct option const long_options[] = { {"skip-bytes", required_argument, NULL, 'j'}, {"address-radix", required_argument, NULL, 'A'}, {"read-bytes", required_argument, NULL, 'N'}, {"format", required_argument, NULL, 't'}, {"output-duplicates", no_argument, NULL, 'v'}, {"strings", optional_argument, NULL, 'S'}, {"traditional", no_argument, NULL, TRADITIONAL_OPTION}, {"width", optional_argument, NULL, 'w'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n\ or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]\n\ "), program_name, program_name, program_name); fputs (_("\n\ Write an unambiguous representation, octal bytes by default,\n\ of FILE to standard output. With more than one FILE argument,\n\ concatenate them in the listed order to form the input.\n\ With no FILE, or when FILE is -, read standard input.\n\ \n\ "), stdout); fputs (_("\ If first and second call formats both apply, the second format is assumed\n\ if the last operand begins with + or (if there are 2 operands) a digit.\n\ An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n\ at first byte printed, incremented when dump is progressing.\n\ For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n\ suffixes may be . for octal and b for multiply by 512.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -A, --address-radix=RADIX output format for file offsets. RADIX is one\n\ of [doxn], for Decimal, Octal, Hex or None\n\ -j, --skip-bytes=BYTES skip BYTES input bytes first\n\ "), stdout); fputs (_("\ -N, --read-bytes=BYTES limit dump to BYTES input bytes\n\ -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars.\ \n\ 3 is implied when BYTES is not specified\n\ -t, --format=TYPE select output format or formats\n\ -v, --output-duplicates do not use * to mark line suppression\n\ -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n\ 32 is implied when BYTES is not specified\n\ --traditional accept arguments in third form above\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ \n\ Traditional format specifications may be intermixed; they accumulate:\n\ -a same as -t a, select named characters, ignoring high-order bit\n\ -b same as -t o1, select octal bytes\n\ -c same as -t c, select ASCII characters or backslash escapes\n\ -d same as -t u2, select unsigned decimal 2-byte units\n\ "), stdout); fputs (_("\ -f same as -t fF, select floats\n\ -i same as -t dI, select decimal ints\n\ -l same as -t dL, select decimal longs\n\ -o same as -t o2, select octal 2-byte units\n\ -s same as -t d2, select decimal 2-byte units\n\ -x same as -t x2, select hexadecimal 2-byte units\n\ "), stdout); fputs (_("\ \n\ \n\ TYPE is made up of one or more of these specifications:\n\ a named character, ignoring high-order bit\n\ c ASCII character or backslash escape\n\ "), stdout); fputs (_("\ d[SIZE] signed decimal, SIZE bytes per integer\n\ f[SIZE] floating point, SIZE bytes per integer\n\ o[SIZE] octal, SIZE bytes per integer\n\ u[SIZE] unsigned decimal, SIZE bytes per integer\n\ x[SIZE] hexadecimal, SIZE bytes per integer\n\ "), stdout); fputs (_("\ \n\ SIZE is a number. For TYPE in [doux], SIZE may also be C for\n\ sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n\ sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n\ for sizeof(double) or L for sizeof(long double).\n\ "), stdout); fputs (_("\ \n\ Adding a z suffix to any type displays printable characters at the end of\n\ each output line.\n\ "), stdout); fputs (_("\ \n\ \n\ BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n\ b 512\n\ KB 1000\n\ K 1024\n\ MB 1000*1000\n\ M 1024*1024\n\ and so on for G, T, P, E, Z, Y.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Define the print functions. */ #define PRINT_FIELDS(N, T, FMT_STRING, ACTION) \ static void \ N (size_t fields, size_t blank, void const *block, \ char const *FMT_STRING, int width, int pad) \ { \ T const *p = block; \ size_t i; \ int pad_remaining = pad; \ for (i = fields; blank < i; i--) \ { \ int next_pad = pad * (i - 1) / fields; \ int adjusted_width = pad_remaining - next_pad + width; \ T x = *p++; \ ACTION; \ pad_remaining = next_pad; \ } \ } #define PRINT_TYPE(N, T) \ PRINT_FIELDS (N, T, fmt_string, xprintf (fmt_string, adjusted_width, x)) #define PRINT_FLOATTYPE(N, T, FTOASTR, BUFSIZE) \ PRINT_FIELDS (N, T, fmt_string ATTRIBUTE_UNUSED, \ char buf[BUFSIZE]; \ FTOASTR (buf, sizeof buf, 0, 0, x); \ xprintf ("%*s", adjusted_width, buf)) PRINT_TYPE (print_s_char, signed char) PRINT_TYPE (print_char, unsigned char) PRINT_TYPE (print_s_short, short int) PRINT_TYPE (print_short, unsigned short int) PRINT_TYPE (print_int, unsigned int) PRINT_TYPE (print_long, unsigned long int) PRINT_TYPE (print_long_long, unsigned_long_long_int) PRINT_FLOATTYPE (print_float, float, ftoastr, FLT_BUFSIZE_BOUND) PRINT_FLOATTYPE (print_double, double, dtoastr, DBL_BUFSIZE_BOUND) PRINT_FLOATTYPE (print_long_double, long double, ldtoastr, LDBL_BUFSIZE_BOUND) #undef PRINT_TYPE #undef PRINT_FLOATTYPE static void dump_hexl_mode_trailer (size_t n_bytes, const char *block) { size_t i; fputs (" >", stdout); for (i = n_bytes; i > 0; i--) { unsigned char c = *block++; unsigned char c2 = (isprint (c) ? c : '.'); putchar (c2); } putchar ('<'); } static void print_named_ascii (size_t fields, size_t blank, void const *block, const char *unused_fmt_string ATTRIBUTE_UNUSED, int width, int pad) { unsigned char const *p = block; size_t i; int pad_remaining = pad; for (i = fields; blank < i; i--) { int next_pad = pad * (i - 1) / fields; int masked_c = *p++ & 0x7f; const char *s; char buf[2]; if (masked_c == 127) s = "del"; else if (masked_c <= 040) s = charname[masked_c]; else { buf[0] = masked_c; buf[1] = 0; s = buf; } xprintf ("%*s", pad_remaining - next_pad + width, s); pad_remaining = next_pad; } } static void print_ascii (size_t fields, size_t blank, void const *block, const char *unused_fmt_string ATTRIBUTE_UNUSED, int width, int pad) { unsigned char const *p = block; size_t i; int pad_remaining = pad; for (i = fields; blank < i; i--) { int next_pad = pad * (i - 1) / fields; unsigned char c = *p++; const char *s; char buf[4]; switch (c) { case '\0': s = "\\0"; break; case '\a': s = "\\a"; break; case '\b': s = "\\b"; break; case '\f': s = "\\f"; break; case '\n': s = "\\n"; break; case '\r': s = "\\r"; break; case '\t': s = "\\t"; break; case '\v': s = "\\v"; break; default: sprintf (buf, (isprint (c) ? "%c" : "%03o"), c); s = buf; } xprintf ("%*s", pad_remaining - next_pad + width, s); pad_remaining = next_pad; } } /* Convert a null-terminated (possibly zero-length) string S to an unsigned long integer value. If S points to a non-digit set *P to S, *VAL to 0, and return true. Otherwise, accumulate the integer value of the string of digits. If the string of digits represents a value larger than ULONG_MAX, don't modify *VAL or *P and return false. Otherwise, advance *P to the first non-digit after S, set *VAL to the result of the conversion and return true. */ static bool simple_strtoul (const char *s, const char **p, unsigned long int *val) { unsigned long int sum; sum = 0; while (ISDIGIT (*s)) { int c = *s++ - '0'; if (sum > (ULONG_MAX - c) / 10) return false; sum = sum * 10 + c; } *p = s; *val = sum; return true; } /* If S points to a single valid modern od format string, put a description of that format in *TSPEC, make *NEXT point at the character following the just-decoded format (if *NEXT is non-NULL), and return true. If S is not valid, don't modify *NEXT or *TSPEC, give a diagnostic, and return false. For example, if S were "d4afL" *NEXT would be set to "afL" and *TSPEC would be { fmt = SIGNED_DECIMAL; size = INT or LONG; (whichever integral_type_size[4] resolves to) print_function = print_int; (assuming size == INT) field_width = 11; fmt_string = "%*d"; } pad_width is determined later, but is at least as large as the number of fields printed per row. S_ORIG is solely for reporting errors. It should be the full format string argument. */ static bool decode_one_format (const char *s_orig, const char *s, const char **next, struct tspec *tspec) { enum size_spec size_spec; unsigned long int size; enum output_format fmt; void (*print_function) (size_t, size_t, void const *, char const *, int, int); const char *p; char c; int field_width; assert (tspec != NULL); switch (*s) { case 'd': case 'o': case 'u': case 'x': c = *s; ++s; switch (*s) { case 'C': ++s; size = sizeof (char); break; case 'S': ++s; size = sizeof (short int); break; case 'I': ++s; size = sizeof (int); break; case 'L': ++s; size = sizeof (long int); break; default: if (! simple_strtoul (s, &p, &size)) { /* The integer at P in S would overflow an unsigned long int. A digit string that long is sufficiently odd looking that the following diagnostic is sufficient. */ error (0, 0, _("invalid type string %s"), quote (s_orig)); return false; } if (p == s) size = sizeof (int); else { if (MAX_INTEGRAL_TYPE_SIZE < size || integral_type_size[size] == NO_SIZE) { error (0, 0, _("invalid type string %s;\nthis system" " doesn't provide a %lu-byte integral type"), quote (s_orig), size); return false; } s = p; } break; } #define ISPEC_TO_FORMAT(Spec, Min_format, Long_format, Max_format) \ ((Spec) == LONG_LONG ? (Max_format) \ : ((Spec) == LONG ? (Long_format) \ : (Min_format))) \ size_spec = integral_type_size[size]; switch (c) { case 'd': fmt = SIGNED_DECIMAL; field_width = bytes_to_signed_dec_digits[size]; sprintf (tspec->fmt_string, "%%*%s", ISPEC_TO_FORMAT (size_spec, "d", "ld", PRIdMAX)); break; case 'o': fmt = OCTAL; sprintf (tspec->fmt_string, "%%*.%d%s", (field_width = bytes_to_oct_digits[size]), ISPEC_TO_FORMAT (size_spec, "o", "lo", PRIoMAX)); break; case 'u': fmt = UNSIGNED_DECIMAL; field_width = bytes_to_unsigned_dec_digits[size]; sprintf (tspec->fmt_string, "%%*%s", ISPEC_TO_FORMAT (size_spec, "u", "lu", PRIuMAX)); break; case 'x': fmt = HEXADECIMAL; sprintf (tspec->fmt_string, "%%*.%d%s", (field_width = bytes_to_hex_digits[size]), ISPEC_TO_FORMAT (size_spec, "x", "lx", PRIxMAX)); break; default: abort (); } assert (strlen (tspec->fmt_string) < FMT_BYTES_ALLOCATED); switch (size_spec) { case CHAR: print_function = (fmt == SIGNED_DECIMAL ? print_s_char : print_char); break; case SHORT: print_function = (fmt == SIGNED_DECIMAL ? print_s_short : print_short); break; case INT: print_function = print_int; break; case LONG: print_function = print_long; break; case LONG_LONG: print_function = print_long_long; break; default: abort (); } break; case 'f': fmt = FLOATING_POINT; ++s; switch (*s) { case 'F': ++s; size = sizeof (float); break; case 'D': ++s; size = sizeof (double); break; case 'L': ++s; size = sizeof (long double); break; default: if (! simple_strtoul (s, &p, &size)) { /* The integer at P in S would overflow an unsigned long int. A digit string that long is sufficiently odd looking that the following diagnostic is sufficient. */ error (0, 0, _("invalid type string %s"), quote (s_orig)); return false; } if (p == s) size = sizeof (double); else { if (size > MAX_FP_TYPE_SIZE || fp_type_size[size] == NO_SIZE) { error (0, 0, _("invalid type string %s;\n" "this system doesn't provide a %lu-byte" " floating point type"), quote (s_orig), size); return false; } s = p; } break; } size_spec = fp_type_size[size]; { struct lconv const *locale = localeconv (); size_t decimal_point_len = (locale->decimal_point[0] ? strlen (locale->decimal_point) : 1); switch (size_spec) { case FLOAT_SINGLE: print_function = print_float; field_width = FLT_STRLEN_BOUND_L (decimal_point_len); break; case FLOAT_DOUBLE: print_function = print_double; field_width = DBL_STRLEN_BOUND_L (decimal_point_len); break; case FLOAT_LONG_DOUBLE: print_function = print_long_double; field_width = LDBL_STRLEN_BOUND_L (decimal_point_len); break; default: abort (); } break; } case 'a': ++s; fmt = NAMED_CHARACTER; size_spec = CHAR; print_function = print_named_ascii; field_width = 3; break; case 'c': ++s; fmt = CHARACTER; size_spec = CHAR; print_function = print_ascii; field_width = 3; break; default: error (0, 0, _("invalid character '%c' in type string %s"), *s, quote (s_orig)); return false; } tspec->size = size_spec; tspec->fmt = fmt; tspec->print_function = print_function; tspec->field_width = field_width; tspec->hexl_mode_trailer = (*s == 'z'); if (tspec->hexl_mode_trailer) s++; if (next != NULL) *next = s; return true; } /* Given a list of one or more input filenames FILE_LIST, set the global file pointer IN_STREAM and the global string INPUT_FILENAME to the first one that can be successfully opened. Modify FILE_LIST to reference the next filename in the list. A file name of "-" is interpreted as standard input. If any file open fails, give an error message and return false. */ static bool open_next_file (void) { bool ok = true; do { input_filename = *file_list; if (input_filename == NULL) return ok; ++file_list; if (STREQ (input_filename, "-")) { input_filename = _("standard input"); in_stream = stdin; have_read_stdin = true; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else { in_stream = fopen (input_filename, (O_BINARY ? "rb" : "r")); if (in_stream == NULL) { error (0, errno, "%s", input_filename); ok = false; } } } while (in_stream == NULL); if (limit_bytes_to_format && !flag_dump_strings) setvbuf (in_stream, NULL, _IONBF, 0); return ok; } /* Test whether there have been errors on in_stream, and close it if it is not standard input. Return false if there has been an error on in_stream or stdout; return true otherwise. This function will report more than one error only if both a read and a write error have occurred. IN_ERRNO, if nonzero, is the error number corresponding to the most recent action for IN_STREAM. */ static bool check_and_close (int in_errno) { bool ok = true; if (in_stream != NULL) { if (ferror (in_stream)) { error (0, in_errno, _("%s: read error"), input_filename); if (! STREQ (file_list[-1], "-")) fclose (in_stream); ok = false; } else if (! STREQ (file_list[-1], "-") && fclose (in_stream) != 0) { error (0, errno, "%s", input_filename); ok = false; } in_stream = NULL; } if (ferror (stdout)) { error (0, 0, _("write error")); ok = false; } return ok; } /* Decode the modern od format string S. Append the decoded representation to the global array SPEC, reallocating SPEC if necessary. Return true if S is valid. */ static bool decode_format_string (const char *s) { const char *s_orig = s; assert (s != NULL); while (*s != '\0') { const char *next; if (n_specs_allocated <= n_specs) spec = X2NREALLOC (spec, &n_specs_allocated); if (! decode_one_format (s_orig, s, &next, &spec[n_specs])) return false; assert (s != next); s = next; ++n_specs; } return true; } /* Given a list of one or more input filenames FILE_LIST, set the global file pointer IN_STREAM to position N_SKIP in the concatenation of those files. If any file operation fails or if there are fewer than N_SKIP bytes in the combined input, give an error message and return false. When possible, use seek rather than read operations to advance IN_STREAM. */ static bool skip (uintmax_t n_skip) { bool ok = true; int in_errno = 0; if (n_skip == 0) return true; while (in_stream != NULL) /* EOF. */ { struct stat file_stats; /* First try seeking. For large offsets, this extra work is worthwhile. If the offset is below some threshold it may be more efficient to move the pointer by reading. There are two issues when trying to seek: - the file must be seekable. - before seeking to the specified position, make sure that the new position is in the current file. Try to do that by getting file's size using fstat. But that will work only for regular files. */ if (fstat (fileno (in_stream), &file_stats) == 0) { /* The st_size field is valid for regular files. If the number of bytes left to skip is larger than the size of the current file, we can decrement n_skip and go on to the next file. Skip this optimization also when st_size is 0, because some kernels report that nonempty files in /proc have st_size == 0. */ if (S_ISREG (file_stats.st_mode) && 0 < file_stats.st_size) { if ((uintmax_t) file_stats.st_size < n_skip) n_skip -= file_stats.st_size; else { if (fseeko (in_stream, n_skip, SEEK_CUR) != 0) { in_errno = errno; ok = false; } n_skip = 0; } } /* If it's not a regular file with nonnegative size, position the file pointer by reading. */ else { char buf[BUFSIZ]; size_t n_bytes_read, n_bytes_to_read = BUFSIZ; while (0 < n_skip) { if (n_skip < n_bytes_to_read) n_bytes_to_read = n_skip; n_bytes_read = fread (buf, 1, n_bytes_to_read, in_stream); n_skip -= n_bytes_read; if (n_bytes_read != n_bytes_to_read) { in_errno = errno; ok = false; n_skip = 0; break; } } } if (n_skip == 0) break; } else /* cannot fstat() file */ { error (0, errno, "%s", input_filename); ok = false; } ok &= check_and_close (in_errno); ok &= open_next_file (); } if (n_skip != 0) error (EXIT_FAILURE, 0, _("cannot skip past end of combined input")); return ok; } static void format_address_none (uintmax_t address ATTRIBUTE_UNUSED, char c ATTRIBUTE_UNUSED) { } static void format_address_std (uintmax_t address, char c) { char buf[MAX_ADDRESS_LENGTH + 2]; char *p = buf + sizeof buf; char const *pbound; *--p = '\0'; *--p = c; pbound = p - address_pad_len; /* Use a special case of the code for each base. This is measurably faster than generic code. */ switch (address_base) { case 8: do *--p = '0' + (address & 7); while ((address >>= 3) != 0); break; case 10: do *--p = '0' + (address % 10); while ((address /= 10) != 0); break; case 16: do *--p = "0123456789abcdef"[address & 15]; while ((address >>= 4) != 0); break; } while (pbound < p) *--p = '0'; fputs (p, stdout); } static void format_address_paren (uintmax_t address, char c) { putchar ('('); format_address_std (address, ')'); if (c) putchar (c); } static void format_address_label (uintmax_t address, char c) { format_address_std (address, ' '); format_address_paren (address + pseudo_offset, c); } /* Write N_BYTES bytes from CURR_BLOCK to standard output once for each of the N_SPEC format specs. CURRENT_OFFSET is the byte address of CURR_BLOCK in the concatenation of input files, and it is printed (optionally) only before the output line associated with the first format spec. When duplicate blocks are being abbreviated, the output for a sequence of identical input blocks is the output for the first block followed by an asterisk alone on a line. It is valid to compare the blocks PREV_BLOCK and CURR_BLOCK only when N_BYTES == BYTES_PER_BLOCK. That condition may be false only for the last input block. */ static void write_block (uintmax_t current_offset, size_t n_bytes, const char *prev_block, const char *curr_block) { static bool first = true; static bool prev_pair_equal = false; #define EQUAL_BLOCKS(b1, b2) (memcmp (b1, b2, bytes_per_block) == 0) if (abbreviate_duplicate_blocks && !first && n_bytes == bytes_per_block && EQUAL_BLOCKS (prev_block, curr_block)) { if (prev_pair_equal) { /* The two preceding blocks were equal, and the current block is the same as the last one, so print nothing. */ } else { printf ("*\n"); prev_pair_equal = true; } } else { size_t i; prev_pair_equal = false; for (i = 0; i < n_specs; i++) { int datum_width = width_bytes[spec[i].size]; int fields_per_block = bytes_per_block / datum_width; int blank_fields = (bytes_per_block - n_bytes) / datum_width; if (i == 0) format_address (current_offset, '\0'); else printf ("%*s", address_pad_len, ""); (*spec[i].print_function) (fields_per_block, blank_fields, curr_block, spec[i].fmt_string, spec[i].field_width, spec[i].pad_width); if (spec[i].hexl_mode_trailer) { /* space-pad out to full line width, then dump the trailer */ int field_width = spec[i].field_width; int pad_width = (spec[i].pad_width * blank_fields / fields_per_block); printf ("%*s", blank_fields * field_width + pad_width, ""); dump_hexl_mode_trailer (n_bytes, curr_block); } putchar ('\n'); } } first = false; } /* Read a single byte into *C from the concatenation of the input files named in the global array FILE_LIST. On the first call to this function, the global variable IN_STREAM is expected to be an open stream associated with the input file INPUT_FILENAME. If IN_STREAM is at end-of-file, close it and update the global variables IN_STREAM and INPUT_FILENAME so they correspond to the next file in the list. Then try to read a byte from the newly opened file. Repeat if necessary until EOF is reached for the last file in FILE_LIST, then set *C to EOF and return. Subsequent calls do likewise. Return true if successful. */ static bool read_char (int *c) { bool ok = true; *c = EOF; while (in_stream != NULL) /* EOF. */ { *c = fgetc (in_stream); if (*c != EOF) break; ok &= check_and_close (errno); ok &= open_next_file (); } return ok; } /* Read N bytes into BLOCK from the concatenation of the input files named in the global array FILE_LIST. On the first call to this function, the global variable IN_STREAM is expected to be an open stream associated with the input file INPUT_FILENAME. If all N bytes cannot be read from IN_STREAM, close IN_STREAM and update the global variables IN_STREAM and INPUT_FILENAME. Then try to read the remaining bytes from the newly opened file. Repeat if necessary until EOF is reached for the last file in FILE_LIST. On subsequent calls, don't modify BLOCK and return true. Set *N_BYTES_IN_BUFFER to the number of bytes read. If an error occurs, it will be detected through ferror when the stream is about to be closed. If there is an error, give a message but continue reading as usual and return false. Otherwise return true. */ static bool read_block (size_t n, char *block, size_t *n_bytes_in_buffer) { bool ok = true; assert (0 < n && n <= bytes_per_block); *n_bytes_in_buffer = 0; if (n == 0) return true; while (in_stream != NULL) /* EOF. */ { size_t n_needed; size_t n_read; n_needed = n - *n_bytes_in_buffer; n_read = fread (block + *n_bytes_in_buffer, 1, n_needed, in_stream); *n_bytes_in_buffer += n_read; if (n_read == n_needed) break; ok &= check_and_close (errno); ok &= open_next_file (); } return ok; } /* Return the least common multiple of the sizes associated with the format specs. */ static int _GL_ATTRIBUTE_PURE get_lcm (void) { size_t i; int l_c_m = 1; for (i = 0; i < n_specs; i++) l_c_m = lcm (l_c_m, width_bytes[spec[i].size]); return l_c_m; } /* If S is a valid traditional offset specification with an optional leading '+' return true and set *OFFSET to the offset it denotes. */ static bool parse_old_offset (const char *s, uintmax_t *offset) { int radix; if (*s == '\0') return false; /* Skip over any leading '+'. */ if (s[0] == '+') ++s; /* Determine the radix we'll use to interpret S. If there is a '.', it's decimal, otherwise, if the string begins with '0X'or '0x', it's hexadecimal, else octal. */ if (strchr (s, '.') != NULL) radix = 10; else { if (s[0] == '0' && (s[1] == 'x' || s[1] == 'X')) radix = 16; else radix = 8; } return xstrtoumax (s, NULL, radix, offset, "Bb") == LONGINT_OK; } /* Read a chunk of size BYTES_PER_BLOCK from the input files, write the formatted block to standard output, and repeat until the specified maximum number of bytes has been read or until all input has been processed. If the last block read is smaller than BYTES_PER_BLOCK and its size is not a multiple of the size associated with a format spec, extend the input block with zero bytes until its length is a multiple of all format spec sizes. Write the final block. Finally, write on a line by itself the offset of the byte after the last byte read. Accumulate return values from calls to read_block and check_and_close, and if any was false, return false. Otherwise, return true. */ static bool dump (void) { char *block[2]; uintmax_t current_offset; bool idx = false; bool ok = true; size_t n_bytes_read; block[0] = xnmalloc (2, bytes_per_block); block[1] = block[0] + bytes_per_block; current_offset = n_bytes_to_skip; if (limit_bytes_to_format) { while (1) { size_t n_needed; if (current_offset >= end_offset) { n_bytes_read = 0; break; } n_needed = MIN (end_offset - current_offset, (uintmax_t) bytes_per_block); ok &= read_block (n_needed, block[idx], &n_bytes_read); if (n_bytes_read < bytes_per_block) break; assert (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); current_offset += n_bytes_read; idx = !idx; } } else { while (1) { ok &= read_block (bytes_per_block, block[idx], &n_bytes_read); if (n_bytes_read < bytes_per_block) break; assert (n_bytes_read == bytes_per_block); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); current_offset += n_bytes_read; idx = !idx; } } if (n_bytes_read > 0) { int l_c_m; size_t bytes_to_write; l_c_m = get_lcm (); /* Ensure zero-byte padding up to the smallest multiple of l_c_m that is at least as large as n_bytes_read. */ bytes_to_write = l_c_m * ((n_bytes_read + l_c_m - 1) / l_c_m); memset (block[idx] + n_bytes_read, 0, bytes_to_write - n_bytes_read); write_block (current_offset, n_bytes_read, block[!idx], block[idx]); current_offset += n_bytes_read; } format_address (current_offset, '\n'); if (limit_bytes_to_format && current_offset >= end_offset) ok &= check_and_close (0); free (block[0]); return ok; } /* STRINGS mode. Find each "string constant" in the input. A string constant is a run of at least 'string_min' ASCII graphic (or formatting) characters terminated by a null. Based on a function written by Richard Stallman for a traditional version of od. Return true if successful. */ static bool dump_strings (void) { size_t bufsize = MAX (100, string_min); char *buf = xmalloc (bufsize); uintmax_t address = n_bytes_to_skip; bool ok = true; while (1) { size_t i; int c; /* See if the next 'string_min' chars are all printing chars. */ tryline: if (limit_bytes_to_format && (end_offset < string_min || end_offset - string_min <= address)) break; for (i = 0; i < string_min; i++) { ok &= read_char (&c); address++; if (c < 0) { free (buf); return ok; } if (! isprint (c)) /* Found a non-printing. Try again starting with next char. */ goto tryline; buf[i] = c; } /* We found a run of 'string_min' printable characters. Now see if it is terminated with a null byte. */ while (!limit_bytes_to_format || address < end_offset) { if (i == bufsize) { buf = X2REALLOC (buf, &bufsize); } ok &= read_char (&c); address++; if (c < 0) { free (buf); return ok; } if (c == '\0') break; /* It is; print this string. */ if (! isprint (c)) goto tryline; /* It isn't; give up on this string. */ buf[i++] = c; /* String continues; store it all. */ } /* If we get here, the string is all printable and null-terminated, so print it. It is all in 'buf' and 'i' is its length. */ buf[i] = 0; format_address (address - i - 1, ' '); for (i = 0; (c = buf[i]); i++) { switch (c) { case '\a': fputs ("\\a", stdout); break; case '\b': fputs ("\\b", stdout); break; case '\f': fputs ("\\f", stdout); break; case '\n': fputs ("\\n", stdout); break; case '\r': fputs ("\\r", stdout); break; case '\t': fputs ("\\t", stdout); break; case '\v': fputs ("\\v", stdout); break; default: putc (c, stdout); } } putchar ('\n'); } /* We reach this point only if we search through (max_bytes_to_format - string_min) bytes before reaching EOF. */ free (buf); ok &= check_and_close (0); return ok; } int main (int argc, char **argv) { int n_files; size_t i; int l_c_m; size_t desired_width IF_LINT ( = 0); bool modern = false; bool width_specified = false; bool ok = true; size_t width_per_block = 0; static char const multipliers[] = "bEGKkMmPTYZ0"; /* The old-style 'pseudo starting address' to be printed in parentheses after any true address. */ uintmax_t pseudo_start IF_LINT ( = 0); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); for (i = 0; i <= MAX_INTEGRAL_TYPE_SIZE; i++) integral_type_size[i] = NO_SIZE; integral_type_size[sizeof (char)] = CHAR; integral_type_size[sizeof (short int)] = SHORT; integral_type_size[sizeof (int)] = INT; integral_type_size[sizeof (long int)] = LONG; #if HAVE_UNSIGNED_LONG_LONG_INT /* If 'long int' and 'long long int' have the same size, it's fine to overwrite the entry for 'long' with this one. */ integral_type_size[sizeof (unsigned_long_long_int)] = LONG_LONG; #endif for (i = 0; i <= MAX_FP_TYPE_SIZE; i++) fp_type_size[i] = NO_SIZE; fp_type_size[sizeof (float)] = FLOAT_SINGLE; /* The array entry for 'double' is filled in after that for 'long double' so that if they are the same size, we avoid any overhead of long double computation in libc. */ fp_type_size[sizeof (long double)] = FLOAT_LONG_DOUBLE; fp_type_size[sizeof (double)] = FLOAT_DOUBLE; n_specs = 0; n_specs_allocated = 0; spec = NULL; format_address = format_address_std; address_base = 8; address_pad_len = 7; flag_dump_strings = false; while (true) { uintmax_t tmp; enum strtol_error s_err; int oi = -1; int c = getopt_long (argc, argv, short_options, long_options, &oi); if (c == -1) break; switch (c) { case 'A': modern = true; switch (optarg[0]) { case 'd': format_address = format_address_std; address_base = 10; address_pad_len = 7; break; case 'o': format_address = format_address_std; address_base = 8; address_pad_len = 7; break; case 'x': format_address = format_address_std; address_base = 16; address_pad_len = 6; break; case 'n': format_address = format_address_none; address_pad_len = 0; break; default: error (EXIT_FAILURE, 0, _("invalid output address radix '%c';\ it must be one character from [doxn]"), optarg[0]); break; } break; case 'j': modern = true; s_err = xstrtoumax (optarg, NULL, 0, &n_bytes_to_skip, multipliers); if (s_err != LONGINT_OK) xstrtol_fatal (s_err, oi, c, long_options, optarg); break; case 'N': modern = true; limit_bytes_to_format = true; s_err = xstrtoumax (optarg, NULL, 0, &max_bytes_to_format, multipliers); if (s_err != LONGINT_OK) xstrtol_fatal (s_err, oi, c, long_options, optarg); break; case 'S': modern = true; if (optarg == NULL) string_min = 3; else { s_err = xstrtoumax (optarg, NULL, 0, &tmp, multipliers); if (s_err != LONGINT_OK) xstrtol_fatal (s_err, oi, c, long_options, optarg); /* The minimum string length may be no larger than SIZE_MAX, since we may allocate a buffer of this size. */ if (SIZE_MAX < tmp) error (EXIT_FAILURE, 0, _("%s is too large"), optarg); string_min = tmp; } flag_dump_strings = true; break; case 't': modern = true; ok &= decode_format_string (optarg); break; case 'v': modern = true; abbreviate_duplicate_blocks = false; break; case TRADITIONAL_OPTION: traditional = true; break; /* The next several cases map the traditional format specification options to the corresponding modern format specs. GNU od accepts any combination of old- and new-style options. Format specification options accumulate. The obsolescent and undocumented formats are compatible with FreeBSD 4.10 od. */ #define CASE_OLD_ARG(old_char,new_string) \ case old_char: \ ok &= decode_format_string (new_string); \ break CASE_OLD_ARG ('a', "a"); CASE_OLD_ARG ('b', "o1"); CASE_OLD_ARG ('c', "c"); CASE_OLD_ARG ('D', "u4"); /* obsolescent and undocumented */ CASE_OLD_ARG ('d', "u2"); case 'F': /* obsolescent and undocumented alias */ CASE_OLD_ARG ('e', "fD"); /* obsolescent and undocumented */ CASE_OLD_ARG ('f', "fF"); case 'X': /* obsolescent and undocumented alias */ CASE_OLD_ARG ('H', "x4"); /* obsolescent and undocumented */ CASE_OLD_ARG ('i', "dI"); case 'I': case 'L': /* obsolescent and undocumented aliases */ CASE_OLD_ARG ('l', "dL"); CASE_OLD_ARG ('O', "o4"); /* obsolesent and undocumented */ case 'B': /* obsolescent and undocumented alias */ CASE_OLD_ARG ('o', "o2"); CASE_OLD_ARG ('s', "d2"); case 'h': /* obsolescent and undocumented alias */ CASE_OLD_ARG ('x', "x2"); #undef CASE_OLD_ARG case 'w': modern = true; width_specified = true; if (optarg == NULL) { desired_width = 32; } else { uintmax_t w_tmp; s_err = xstrtoumax (optarg, NULL, 10, &w_tmp, ""); if (s_err != LONGINT_OK) xstrtol_fatal (s_err, oi, c, long_options, optarg); if (SIZE_MAX < w_tmp) error (EXIT_FAILURE, 0, _("%s is too large"), optarg); desired_width = w_tmp; } break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); break; } } if (!ok) exit (EXIT_FAILURE); if (flag_dump_strings && n_specs > 0) error (EXIT_FAILURE, 0, _("no type may be specified when dumping strings")); n_files = argc - optind; /* If the --traditional option is used, there may be from 0 to 3 remaining command line arguments; handle each case separately. od [file] [[+]offset[.][b] [[+]label[.][b]]] The offset and label have the same syntax. If --traditional is not given, and if no modern options are given, and if the offset begins with + or (if there are two operands) a digit, accept only this form, as per POSIX: od [file] [[+]offset[.][b]] */ if (!modern || traditional) { uintmax_t o1; uintmax_t o2; switch (n_files) { case 1: if ((traditional || argv[optind][0] == '+') && parse_old_offset (argv[optind], &o1)) { n_bytes_to_skip = o1; --n_files; ++argv; } break; case 2: if ((traditional || argv[optind + 1][0] == '+' || ISDIGIT (argv[optind + 1][0])) && parse_old_offset (argv[optind + 1], &o2)) { if (traditional && parse_old_offset (argv[optind], &o1)) { n_bytes_to_skip = o1; flag_pseudo_start = true; pseudo_start = o2; argv += 2; n_files -= 2; } else { n_bytes_to_skip = o2; --n_files; argv[optind + 1] = argv[optind]; ++argv; } } break; case 3: if (traditional && parse_old_offset (argv[optind + 1], &o1) && parse_old_offset (argv[optind + 2], &o2)) { n_bytes_to_skip = o1; flag_pseudo_start = true; pseudo_start = o2; argv[optind + 2] = argv[optind]; argv += 2; n_files -= 2; } break; } if (traditional && 1 < n_files) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); error (0, 0, "%s", _("compatibility mode supports at most one file")); usage (EXIT_FAILURE); } } if (flag_pseudo_start) { if (format_address == format_address_none) { address_base = 8; address_pad_len = 7; format_address = format_address_paren; } else format_address = format_address_label; } if (limit_bytes_to_format) { end_offset = n_bytes_to_skip + max_bytes_to_format; if (end_offset < n_bytes_to_skip) error (EXIT_FAILURE, 0, _("skip-bytes + read-bytes is too large")); } if (n_specs == 0) decode_format_string ("oS"); if (n_files > 0) { /* Set the global pointer FILE_LIST so that it references the first file-argument on the command-line. */ file_list = (char const *const *) &argv[optind]; } else { /* No files were listed on the command line. Set the global pointer FILE_LIST so that it references the null-terminated list of one name: "-". */ file_list = default_file_list; } /* open the first input file */ ok = open_next_file (); if (in_stream == NULL) goto cleanup; /* skip over any unwanted header bytes */ ok &= skip (n_bytes_to_skip); if (in_stream == NULL) goto cleanup; pseudo_offset = (flag_pseudo_start ? pseudo_start - n_bytes_to_skip : 0); /* Compute output block length. */ l_c_m = get_lcm (); if (width_specified) { if (desired_width != 0 && desired_width % l_c_m == 0) bytes_per_block = desired_width; else { error (0, 0, _("warning: invalid width %lu; using %d instead"), (unsigned long int) desired_width, l_c_m); bytes_per_block = l_c_m; } } else { if (l_c_m < DEFAULT_BYTES_PER_BLOCK) bytes_per_block = l_c_m * (DEFAULT_BYTES_PER_BLOCK / l_c_m); else bytes_per_block = l_c_m; } /* Compute padding necessary to align output block. */ for (i = 0; i < n_specs; i++) { int fields_per_block = bytes_per_block / width_bytes[spec[i].size]; int block_width = (spec[i].field_width + 1) * fields_per_block; if (width_per_block < block_width) width_per_block = block_width; } for (i = 0; i < n_specs; i++) { int fields_per_block = bytes_per_block / width_bytes[spec[i].size]; int block_width = spec[i].field_width * fields_per_block; spec[i].pad_width = width_per_block - block_width; } #ifdef DEBUG printf ("lcm=%d, width_per_block=%zu\n", l_c_m, width_per_block); for (i = 0; i < n_specs; i++) { int fields_per_block = bytes_per_block / width_bytes[spec[i].size]; assert (bytes_per_block % width_bytes[spec[i].size] == 0); assert (1 <= spec[i].pad_width / fields_per_block); printf ("%d: fmt=\"%s\" in_width=%d out_width=%d pad=%d\n", i, spec[i].fmt_string, width_bytes[spec[i].size], spec[i].field_width, spec[i].pad_width); } #endif ok &= (flag_dump_strings ? dump_strings () : dump ()); cleanup: if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, _("standard input")); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/relpath.c0000664000000000000000000000710612102337340012737 00000000000000/* relpath - print the relative path Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady. */ #include #include "error.h" #include "system.h" #include "relpath.h" /* Return the length of the longest common prefix of canonical PATH1 and PATH2, ensuring only full path components are matched. Return 0 on no match. */ static int _GL_ATTRIBUTE_PURE path_common_prefix (const char *path1, const char *path2) { int i = 0; int ret = 0; /* We already know path1[0] and path2[0] are '/'. Special case '//', which is only present in a canonical name on platforms where it is distinct. */ if ((path1[1] == '/') != (path2[1] == '/')) return 0; while (*path1 && *path2) { if (*path1 != *path2) break; if (*path1 == '/') ret = i + 1; path1++; path2++; i++; } if ((!*path1 && !*path2) || (!*path1 && *path2 == '/') || (!*path2 && *path1 == '/')) ret = i; return ret; } /* Either output STR to stdout or if *PBUF is not NULL then append STR to *PBUF and update *PBUF to point to the end of the buffer and adjust *PLEN to reflect the remaining space. Return TRUE on failure. */ static bool buffer_or_output (const char* str, char **pbuf, size_t *plen) { if (*pbuf) { size_t slen = strlen (str); if (slen >= *plen) return true; memcpy (*pbuf, str, slen + 1); *pbuf += slen; *plen -= slen; } else { fputs (str, stdout); } return false; } /* Output the relative representation if possible. If BUF is non NULL, write to that buffer rather than to stdout. */ bool relpath (const char *can_fname, const char *can_reldir, char *buf, size_t len) { bool buf_err = false; /* Skip the prefix common to --relative-to and path. */ int common_index = path_common_prefix (can_reldir, can_fname); if (!common_index) return false; const char *relto_suffix = can_reldir + common_index; const char *fname_suffix = can_fname + common_index; /* Skip over extraneous '/'. */ if (*relto_suffix == '/') relto_suffix++; if (*fname_suffix == '/') fname_suffix++; /* Replace remaining components of --relative-to with '..', to get to a common directory. Then output the remainder of fname. */ if (*relto_suffix) { buf_err |= buffer_or_output ("..", &buf, &len); for (; *relto_suffix; ++relto_suffix) { if (*relto_suffix == '/') buf_err |= buffer_or_output ("/..", &buf, &len); } if (*fname_suffix) { buf_err |= buffer_or_output ("/", &buf, &len); buf_err |= buffer_or_output (fname_suffix, &buf, &len); } } else { buf_err |= buffer_or_output (*fname_suffix ? fname_suffix : ".", &buf, &len); } if (buf_err) error (0, ENAMETOOLONG, "%s", _("generating relative path")); return !buf_err; } coreutils-8.21/src/logname.c0000664000000000000000000000432312102337340012720 00000000000000/* logname -- print user's login name Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "logname" #define AUTHORS proper_name ("FIXME: unknown") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]\n"), program_name); fputs (_("\ Print the name of the current user.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { char *cp; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } /* POSIX requires using getlogin (or equivalent code). */ cp = getlogin (); if (cp) { puts (cp); exit (EXIT_SUCCESS); } /* POSIX prohibits using a fallback technique. */ error (0, 0, _("no login name")); exit (EXIT_FAILURE); } coreutils-8.21/src/chcon.c0000664000000000000000000003773312102337340012403 00000000000000/* chcon -- change security context of files Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "system.h" #include "dev-ino.h" #include "error.h" #include "ignore-value.h" #include "quote.h" #include "quotearg.h" #include "root-dev-ino.h" #include "selinux-at.h" #include "xfts.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "chcon" #define AUTHORS \ proper_name ("Russell Coker"), \ proper_name ("Jim Meyering") /* If nonzero, and the systems has support for it, change the context of symbolic links rather than any files they point to. */ static bool affect_symlink_referent; /* If true, change the modes of directories recursively. */ static bool recurse; /* Level of verbosity. */ static bool verbose; /* Pointer to the device and inode numbers of '/', when --recursive. Otherwise NULL. */ static struct dev_ino *root_dev_ino; /* The name of the context file is being given. */ static char const *specified_context; /* Specific components of the context */ static char const *specified_user; static char const *specified_role; static char const *specified_range; static char const *specified_type; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { DEREFERENCE_OPTION = CHAR_MAX + 1, NO_PRESERVE_ROOT, PRESERVE_ROOT, REFERENCE_FILE_OPTION }; static struct option const long_options[] = { {"recursive", no_argument, NULL, 'R'}, {"dereference", no_argument, NULL, DEREFERENCE_OPTION}, {"no-dereference", no_argument, NULL, 'h'}, {"no-preserve-root", no_argument, NULL, NO_PRESERVE_ROOT}, {"preserve-root", no_argument, NULL, PRESERVE_ROOT}, {"reference", required_argument, NULL, REFERENCE_FILE_OPTION}, {"user", required_argument, NULL, 'u'}, {"role", required_argument, NULL, 'r'}, {"type", required_argument, NULL, 't'}, {"range", required_argument, NULL, 'l'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Given a security context, CONTEXT, derive a context_t (*RET), setting any portions selected via the global variables, specified_user, specified_role, etc. */ static int compute_context_from_mask (security_context_t context, context_t *ret) { bool ok = true; context_t new_context = context_new (context); if (!new_context) { error (0, errno, _("failed to create security context: %s"), quotearg_colon (context)); return 1; } #define SET_COMPONENT(C, comp) \ do \ { \ if (specified_ ## comp \ && context_ ## comp ## _set ((C), specified_ ## comp)) \ { \ error (0, errno, \ _("failed to set %s security context component to %s"), \ #comp, quote (specified_ ## comp)); \ ok = false; \ } \ } \ while (0) SET_COMPONENT (new_context, user); SET_COMPONENT (new_context, range); SET_COMPONENT (new_context, role); SET_COMPONENT (new_context, type); if (!ok) { int saved_errno = errno; context_free (new_context); errno = saved_errno; return 1; } *ret = new_context; return 0; } /* Change the context of FILE, using specified components. If it is a directory and -R is given, recurse. Return 0 if successful, 1 if errors occurred. */ static int change_file_context (int fd, char const *file) { security_context_t file_context = NULL; context_t context; security_context_t context_string; int errors = 0; if (specified_context == NULL) { int status = (affect_symlink_referent ? getfileconat (fd, file, &file_context) : lgetfileconat (fd, file, &file_context)); if (status < 0 && errno != ENODATA) { error (0, errno, _("failed to get security context of %s"), quote (file)); return 1; } /* If the file doesn't have a context, and we're not setting all of the context components, there isn't really an obvious default. Thus, we just give up. */ if (file_context == NULL) { error (0, 0, _("can't apply partial context to unlabeled file %s"), quote (file)); return 1; } if (compute_context_from_mask (file_context, &context)) return 1; } else { /* FIXME: this should be done exactly once, in main. */ context = context_new (specified_context); if (!context) abort (); } context_string = context_str (context); if (file_context == NULL || ! STREQ (context_string, file_context)) { int fail = (affect_symlink_referent ? setfileconat (fd, file, context_string) : lsetfileconat (fd, file, context_string)); if (fail) { errors = 1; error (0, errno, _("failed to change context of %s to %s"), quote_n (0, file), quote_n (1, context_string)); } } context_free (context); freecon (file_context); return errors; } /* Change the context of FILE. Return true if successful. This function is called once for every file system object that fts encounters. */ static bool process_file (FTS *fts, FTSENT *ent) { char const *file_full_name = ent->fts_path; char const *file = ent->fts_accpath; const struct stat *file_stats = ent->fts_statp; bool ok = true; switch (ent->fts_info) { case FTS_D: if (recurse) { if (ROOT_DEV_INO_CHECK (root_dev_ino, ent->fts_statp)) { /* This happens e.g., with "chcon -R --preserve-root ... /" and with "chcon -RH --preserve-root ... symlink-to-root". */ ROOT_DEV_INO_WARN (file_full_name); /* Tell fts not to traverse into this hierarchy. */ fts_set (fts, ent, FTS_SKIP); /* Ensure that we do not process "/" on the second visit. */ ignore_value (fts_read (fts)); return false; } return true; } break; case FTS_DP: if (! recurse) return true; break; case FTS_NS: /* For a top-level file or directory, this FTS_NS (stat failed) indicator is determined at the time of the initial fts_open call. With programs like chmod, chown, and chgrp, that modify permissions, it is possible that the file in question is accessible when control reaches this point. So, if this is the first time we've seen the FTS_NS for this file, tell fts_read to stat it "again". */ if (ent->fts_level == 0 && ent->fts_number == 0) { ent->fts_number = 1; fts_set (fts, ent, FTS_AGAIN); return true; } error (0, ent->fts_errno, _("cannot access %s"), quote (file_full_name)); ok = false; break; case FTS_ERR: error (0, ent->fts_errno, "%s", quote (file_full_name)); ok = false; break; case FTS_DNR: error (0, ent->fts_errno, _("cannot read directory %s"), quote (file_full_name)); ok = false; break; case FTS_DC: /* directory that causes cycles */ if (cycle_warning_required (fts, ent)) { emit_cycle_warning (file_full_name); return false; } break; default: break; } if (ent->fts_info == FTS_DP && ok && ROOT_DEV_INO_CHECK (root_dev_ino, file_stats)) { ROOT_DEV_INO_WARN (file_full_name); ok = false; } if (ok) { if (verbose) printf (_("changing security context of %s\n"), quote (file_full_name)); if (change_file_context (fts->fts_cwd_fd, file) != 0) ok = false; } if ( ! recurse) fts_set (fts, ent, FTS_SKIP); return ok; } /* Recursively operate on the specified FILES (the last entry of which is NULL). BIT_FLAGS controls how fts works. Return true if successful. */ static bool process_files (char **files, int bit_flags) { bool ok = true; FTS *fts = xfts_open (files, bit_flags, NULL); while (1) { FTSENT *ent; ent = fts_read (fts); if (ent == NULL) { if (errno != 0) { /* FIXME: try to give a better message */ error (0, errno, _("fts_read failed")); ok = false; } break; } ok &= process_file (fts, ent); } if (fts_close (fts) != 0) { error (0, errno, _("fts_close failed")); ok = false; } return ok; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... CONTEXT FILE...\n\ or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n\ or: %s [OPTION]... --reference=RFILE FILE...\n\ "), program_name, program_name, program_name); fputs (_("\ Change the security context of each FILE to CONTEXT.\n\ With --reference, change the security context of each FILE to that of RFILE.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --dereference affect the referent of each symbolic link (this is\n\ the default), rather than the symbolic link itself\n\ -h, --no-dereference affect symbolic links instead of any referenced file\n\ "), stdout); fputs (_("\ -u, --user=USER set user USER in the target security context\n\ -r, --role=ROLE set role ROLE in the target security context\n\ -t, --type=TYPE set type TYPE in the target security context\n\ -l, --range=RANGE set range RANGE in the target security context\n\ "), stdout); fputs (_("\ --no-preserve-root do not treat '/' specially (the default)\n\ --preserve-root fail to operate recursively on '/'\n\ "), stdout); fputs (_("\ --reference=RFILE use RFILE's security context rather than specifying\n\ a CONTEXT value\n\ "), stdout); fputs (_("\ -R, --recursive operate on files and directories recursively\n\ "), stdout); fputs (_("\ -v, --verbose output a diagnostic for every file processed\n\ "), stdout); fputs (_("\ \n\ The following options modify how a hierarchy is traversed when the -R\n\ option is also specified. If more than one is specified, only the final\n\ one takes effect.\n\ \n\ -H if a command line argument is a symbolic link\n\ to a directory, traverse it\n\ -L traverse every symbolic link to a directory\n\ encountered\n\ -P do not traverse any symbolic links (default)\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { security_context_t ref_context = NULL; /* Bit flags that control how fts works. */ int bit_flags = FTS_PHYSICAL; /* 1 if --dereference, 0 if --no-dereference, -1 if neither has been specified. */ int dereference = -1; bool ok; bool preserve_root = false; bool component_specified = false; char *reference_file = NULL; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "HLPRhvu:r:t:l:", long_options, NULL)) != -1) { switch (optc) { case 'H': /* Traverse command-line symlinks-to-directories. */ bit_flags = FTS_COMFOLLOW | FTS_PHYSICAL; break; case 'L': /* Traverse all symlinks-to-directories. */ bit_flags = FTS_LOGICAL; break; case 'P': /* Traverse no symlinks-to-directories. */ bit_flags = FTS_PHYSICAL; break; case 'h': /* --no-dereference: affect symlinks */ dereference = 0; break; case DEREFERENCE_OPTION: /* --dereference: affect the referent of each symlink */ dereference = 1; break; case NO_PRESERVE_ROOT: preserve_root = false; break; case PRESERVE_ROOT: preserve_root = true; break; case REFERENCE_FILE_OPTION: reference_file = optarg; break; case 'R': recurse = true; break; case 'f': /* ignore */ break; case 'v': verbose = true; break; case 'u': specified_user = optarg; component_specified = true; break; case 'r': specified_role = optarg; component_specified = true; break; case 't': specified_type = optarg; component_specified = true; break; case 'l': specified_range = optarg; component_specified = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (recurse) { if (bit_flags == FTS_PHYSICAL) { if (dereference == 1) error (EXIT_FAILURE, 0, _("-R --dereference requires either -H or -L")); affect_symlink_referent = false; } else { if (dereference == 0) error (EXIT_FAILURE, 0, _("-R -h requires -P")); affect_symlink_referent = true; } } else { bit_flags = FTS_PHYSICAL; affect_symlink_referent = (dereference != 0); } if (argc - optind < (reference_file || component_specified ? 1 : 2)) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } if (reference_file) { if (getfilecon (reference_file, &ref_context) < 0) error (EXIT_FAILURE, errno, _("failed to get security context of %s"), quote (reference_file)); specified_context = ref_context; } else if (component_specified) { /* FIXME: it's already null, so this is a no-op. */ specified_context = NULL; } else { context_t context; specified_context = argv[optind++]; context = context_new (specified_context); if (!context) error (EXIT_FAILURE, 0, _("invalid context: %s"), quotearg_colon (specified_context)); context_free (context); } if (reference_file && component_specified) { error (0, 0, _("conflicting security context specifiers given")); usage (EXIT_FAILURE); } if (recurse && preserve_root) { static struct dev_ino dev_ino_buf; root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } else { root_dev_ino = NULL; } ok = process_files (argv + optind, bit_flags | FTS_NOSTAT); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/chgrp.c0000664000000000000000000002120412102337340012376 00000000000000/* chgrp -- change group ownership of files Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #include #include #include #include #include #include "system.h" #include "chown-core.h" #include "error.h" #include "fts_.h" #include "quote.h" #include "root-dev-ino.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "chgrp" #define AUTHORS \ proper_name ("David MacKenzie"), \ proper_name ("Jim Meyering") #if ! HAVE_ENDGRENT # define endgrent() ((void) 0) #endif /* The argument to the --reference option. Use the group ID of this file. This file must exist. */ static char *reference_file; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { DEREFERENCE_OPTION = CHAR_MAX + 1, NO_PRESERVE_ROOT, PRESERVE_ROOT, REFERENCE_FILE_OPTION }; static struct option const long_options[] = { {"recursive", no_argument, NULL, 'R'}, {"changes", no_argument, NULL, 'c'}, {"dereference", no_argument, NULL, DEREFERENCE_OPTION}, {"no-dereference", no_argument, NULL, 'h'}, {"no-preserve-root", no_argument, NULL, NO_PRESERVE_ROOT}, {"preserve-root", no_argument, NULL, PRESERVE_ROOT}, {"quiet", no_argument, NULL, 'f'}, {"silent", no_argument, NULL, 'f'}, {"reference", required_argument, NULL, REFERENCE_FILE_OPTION}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Return the group ID of NAME, or -1 if no name was specified. */ static gid_t parse_group (const char *name) { gid_t gid = -1; if (*name) { struct group *grp = getgrnam (name); if (grp) gid = grp->gr_gid; else { unsigned long int tmp; if (! (xstrtoul (name, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= GID_T_MAX)) error (EXIT_FAILURE, 0, _("invalid group: %s"), quote (name)); gid = tmp; } endgrent (); /* Save a file descriptor. */ } return gid; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... GROUP FILE...\n\ or: %s [OPTION]... --reference=RFILE FILE...\n\ "), program_name, program_name); fputs (_("\ Change the group of each FILE to GROUP.\n\ With --reference, change the group of each FILE to that of RFILE.\n\ \n\ "), stdout); fputs (_("\ -c, --changes like verbose but report only when a change is made\n\ -f, --silent, --quiet suppress most error messages\n\ -v, --verbose output a diagnostic for every file processed\n\ "), stdout); fputs (_("\ --dereference affect the referent of each symbolic link (this is\n\ the default), rather than the symbolic link itself\n\ -h, --no-dereference affect symbolic links instead of any referenced file\n\ "), stdout); fputs (_("\ (useful only on systems that can change the\n\ ownership of a symlink)\n\ "), stdout); fputs (_("\ --no-preserve-root do not treat '/' specially (the default)\n\ --preserve-root fail to operate recursively on '/'\n\ "), stdout); fputs (_("\ --reference=RFILE use RFILE's group rather than specifying a\n\ GROUP value\n\ "), stdout); fputs (_("\ -R, --recursive operate on files and directories recursively\n\ "), stdout); fputs (_("\ \n\ The following options modify how a hierarchy is traversed when the -R\n\ option is also specified. If more than one is specified, only the final\n\ one takes effect.\n\ \n\ -H if a command line argument is a symbolic link\n\ to a directory, traverse it\n\ -L traverse every symbolic link to a directory\n\ encountered\n\ -P do not traverse any symbolic links (default)\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); printf (_("\ \n\ Examples:\n\ %s staff /u Change the group of /u to \"staff\".\n\ %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n\ "), program_name, program_name); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { bool preserve_root = false; gid_t gid; /* Bit flags that control how fts works. */ int bit_flags = FTS_PHYSICAL; /* 1 if --dereference, 0 if --no-dereference, -1 if neither has been specified. */ int dereference = -1; struct Chown_option chopt; bool ok; int optc; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); chopt_init (&chopt); while ((optc = getopt_long (argc, argv, "HLPRcfhv", long_options, NULL)) != -1) { switch (optc) { case 'H': /* Traverse command-line symlinks-to-directories. */ bit_flags = FTS_COMFOLLOW | FTS_PHYSICAL; break; case 'L': /* Traverse all symlinks-to-directories. */ bit_flags = FTS_LOGICAL; break; case 'P': /* Traverse no symlinks-to-directories. */ bit_flags = FTS_PHYSICAL; break; case 'h': /* --no-dereference: affect symlinks */ dereference = 0; break; case DEREFERENCE_OPTION: /* --dereference: affect the referent of each symlink */ dereference = 1; break; case NO_PRESERVE_ROOT: preserve_root = false; break; case PRESERVE_ROOT: preserve_root = true; break; case REFERENCE_FILE_OPTION: reference_file = optarg; break; case 'R': chopt.recurse = true; break; case 'c': chopt.verbosity = V_changes_only; break; case 'f': chopt.force_silent = true; break; case 'v': chopt.verbosity = V_high; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (chopt.recurse) { if (bit_flags == FTS_PHYSICAL) { if (dereference == 1) error (EXIT_FAILURE, 0, _("-R --dereference requires either -H or -L")); dereference = 0; } } else { bit_flags = FTS_PHYSICAL; } chopt.affect_symlink_referent = (dereference != 0); if (argc - optind < (reference_file ? 1 : 2)) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } if (reference_file) { struct stat ref_stats; if (stat (reference_file, &ref_stats)) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote (reference_file)); gid = ref_stats.st_gid; chopt.group_name = gid_to_name (ref_stats.st_gid); } else { char *group_name = argv[optind++]; chopt.group_name = (*group_name ? group_name : NULL); gid = parse_group (group_name); } if (chopt.recurse && preserve_root) { static struct dev_ino dev_ino_buf; chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf); if (chopt.root_dev_ino == NULL) error (EXIT_FAILURE, errno, _("failed to get attributes of %s"), quote ("/")); } bit_flags |= FTS_DEFER_STAT; ok = chown_files (argv + optind, bit_flags, (uid_t) -1, gid, (uid_t) -1, (gid_t) -1, &chopt); chopt_free (&chopt); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/install.c0000664000000000000000000007167712104672701012771 00000000000000/* install - copy files and set attributes Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie */ #include #include #include #include #include #include #include #include #include #include "system.h" #include "backupfile.h" #include "error.h" #include "cp-hash.h" #include "copy.h" #include "filenamecat.h" #include "full-read.h" #include "mkancesdirs.h" #include "mkdir-p.h" #include "modechange.h" #include "prog-fprintf.h" #include "quote.h" #include "quotearg.h" #include "savewd.h" #include "stat-time.h" #include "utimens.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "install" #define AUTHORS proper_name ("David MacKenzie") static int selinux_enabled = 0; static bool use_default_selinux_context = true; #if ! HAVE_ENDGRENT # define endgrent() ((void) 0) #endif #if ! HAVE_ENDPWENT # define endpwent() ((void) 0) #endif #if ! HAVE_LCHOWN # define lchown(name, uid, gid) chown (name, uid, gid) #endif #if ! HAVE_MATCHPATHCON_INIT_PREFIX # define matchpathcon_init_prefix(a, p) /* empty */ #endif /* The user name that will own the files, or NULL to make the owner the current user ID. */ static char *owner_name; /* The user ID corresponding to 'owner_name'. */ static uid_t owner_id; /* The group name that will own the files, or NULL to make the group the current group ID. */ static char *group_name; /* The group ID corresponding to 'group_name'. */ static gid_t group_id; #define DEFAULT_MODE (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) /* The file mode bits to which non-directory files will be set. The umask has no effect. */ static mode_t mode = DEFAULT_MODE; /* Similar, but for directories. */ static mode_t dir_mode = DEFAULT_MODE; /* The file mode bits that the user cares about. This should be a superset of DIR_MODE and a subset of CHMOD_MODE_BITS. This matters for directories, since otherwise directories may keep their S_ISUID or S_ISGID bits. */ static mode_t dir_mode_bits = CHMOD_MODE_BITS; /* Compare files before installing (-C) */ static bool copy_only_if_needed; /* If true, strip executable files after copying them. */ static bool strip_files; /* If true, install a directory instead of a regular file. */ static bool dir_arg; /* Program used to strip binaries, "strip" is default */ static char const *strip_program = "strip"; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { PRESERVE_CONTEXT_OPTION = CHAR_MAX + 1, STRIP_PROGRAM_OPTION }; static struct option const long_options[] = { {"backup", optional_argument, NULL, 'b'}, {"compare", no_argument, NULL, 'C'}, {GETOPT_SELINUX_CONTEXT_OPTION_DECL}, {"directory", no_argument, NULL, 'd'}, {"group", required_argument, NULL, 'g'}, {"mode", required_argument, NULL, 'm'}, {"no-target-directory", no_argument, NULL, 'T'}, {"owner", required_argument, NULL, 'o'}, {"preserve-timestamps", no_argument, NULL, 'p'}, {"preserve-context", no_argument, NULL, PRESERVE_CONTEXT_OPTION}, {"strip", no_argument, NULL, 's'}, {"strip-program", required_argument, NULL, STRIP_PROGRAM_OPTION}, {"suffix", required_argument, NULL, 'S'}, {"target-directory", required_argument, NULL, 't'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Compare content of opened files using file descriptors A_FD and B_FD. Return true if files are equal. */ static bool have_same_content (int a_fd, int b_fd) { enum { CMP_BLOCK_SIZE = 4096 }; static char a_buff[CMP_BLOCK_SIZE]; static char b_buff[CMP_BLOCK_SIZE]; size_t size; while (0 < (size = full_read (a_fd, a_buff, sizeof a_buff))) { if (size != full_read (b_fd, b_buff, sizeof b_buff)) return false; if (memcmp (a_buff, b_buff, size) != 0) return false; } return size == 0; } /* Return true for mode with non-permission bits. */ static bool extra_mode (mode_t input) { mode_t mask = S_IRWXUGO | S_IFMT; return !! (input & ~ mask); } /* Return true if copy of file SRC_NAME to file DEST_NAME is necessary. */ static bool need_copy (const char *src_name, const char *dest_name, const struct cp_options *x) { struct stat src_sb, dest_sb; int src_fd, dest_fd; bool content_match; if (extra_mode (mode)) return true; /* compare files using stat */ if (lstat (src_name, &src_sb) != 0) return true; if (lstat (dest_name, &dest_sb) != 0) return true; if (!S_ISREG (src_sb.st_mode) || !S_ISREG (dest_sb.st_mode) || extra_mode (src_sb.st_mode) || extra_mode (dest_sb.st_mode)) return true; if (src_sb.st_size != dest_sb.st_size || (dest_sb.st_mode & CHMOD_MODE_BITS) != mode) return true; if (owner_id == (uid_t) -1) { errno = 0; uid_t ruid = getuid (); if ((ruid == (uid_t) -1 && errno) || dest_sb.st_uid != ruid) return true; } else if (dest_sb.st_uid != owner_id) return true; if (group_id == (uid_t) -1) { errno = 0; gid_t rgid = getgid (); if ((rgid == (uid_t) -1 && errno) || dest_sb.st_gid != rgid) return true; } else if (dest_sb.st_gid != group_id) return true; /* compare SELinux context if preserving */ if (selinux_enabled && x->preserve_security_context) { security_context_t file_scontext = NULL; security_context_t to_scontext = NULL; bool scontext_match; if (getfilecon (src_name, &file_scontext) == -1) return true; if (getfilecon (dest_name, &to_scontext) == -1) { freecon (file_scontext); return true; } scontext_match = STREQ (file_scontext, to_scontext); freecon (file_scontext); freecon (to_scontext); if (!scontext_match) return true; } /* compare files content */ src_fd = open (src_name, O_RDONLY | O_BINARY); if (src_fd < 0) return true; dest_fd = open (dest_name, O_RDONLY | O_BINARY); if (dest_fd < 0) { close (src_fd); return true; } content_match = have_same_content (src_fd, dest_fd); close (src_fd); close (dest_fd); return !content_match; } static void cp_option_init (struct cp_options *x) { cp_options_default (x); x->copy_as_regular = true; x->reflink_mode = REFLINK_NEVER; x->dereference = DEREF_ALWAYS; x->unlink_dest_before_opening = true; x->unlink_dest_after_failed_open = false; x->hard_link = false; x->interactive = I_UNSPECIFIED; x->move_mode = false; x->one_file_system = false; x->preserve_ownership = false; x->preserve_links = false; x->preserve_mode = false; x->preserve_timestamps = false; x->explicit_no_preserve_mode = false; x->reduce_diagnostics=false; x->data_copy_required = true; x->require_preserve = false; x->require_preserve_context = false; x->require_preserve_xattr = false; x->recursive = false; x->sparse_mode = SPARSE_AUTO; x->symbolic_link = false; x->backup_type = no_backups; /* Create destination files initially writable so we can run strip on them. Although GNU strip works fine on read-only files, some others would fail. */ x->set_mode = true; x->mode = S_IRUSR | S_IWUSR; x->stdin_tty = false; x->open_dangling_dest_symlink = false; x->update = false; x->preserve_security_context = false; x->preserve_xattr = false; x->verbose = false; x->dest_info = NULL; x->src_info = NULL; } #ifdef ENABLE_MATCHPATHCON /* Modify file context to match the specified policy. If an error occurs the file will remain with the default directory context. */ static void setdefaultfilecon (char const *file) { struct stat st; security_context_t scontext = NULL; static bool first_call = true; if (selinux_enabled != 1) { /* Indicate no context found. */ return; } if (lstat (file, &st) != 0) return; if (first_call && IS_ABSOLUTE_FILE_NAME (file)) { /* Calling matchpathcon_init_prefix (NULL, "/first_component/") is an optimization to minimize the expense of the following matchpathcon call. Do it only once, just before the first matchpathcon call. We *could* call matchpathcon_fini after the final matchpathcon call, but that's not necessary, since by then we're about to exit, and besides, the buffers it would free are still reachable. */ char const *p0; char const *p = file + 1; while (ISSLASH (*p)) ++p; /* Record final leading slash, for when FILE starts with two or more. */ p0 = p - 1; if (*p) { char *prefix; do { ++p; } while (*p && !ISSLASH (*p)); prefix = malloc (p - p0 + 2); if (prefix) { stpcpy (stpncpy (prefix, p0, p - p0), "/"); matchpathcon_init_prefix (NULL, prefix); free (prefix); } } } first_call = false; /* If there's an error determining the context, or it has none, return to allow default context */ if ((matchpathcon (file, st.st_mode, &scontext) != 0) || STREQ (scontext, "<>")) { if (scontext != NULL) freecon (scontext); return; } if (lsetfilecon (file, scontext) < 0 && errno != ENOTSUP) error (0, errno, _("warning: %s: failed to change context to %s"), quotearg_colon (file), scontext); freecon (scontext); return; } #else static void setdefaultfilecon (char const *file) { (void) file; } #endif /* FILE is the last operand of this command. Return true if FILE is a directory. But report an error there is a problem accessing FILE, or if FILE does not exist but would have to refer to an existing directory if it referred to anything at all. */ static bool target_directory_operand (char const *file) { char const *b = last_component (file); size_t blen = strlen (b); bool looks_like_a_dir = (blen == 0 || ISSLASH (b[blen - 1])); struct stat st; int err = (stat (file, &st) == 0 ? 0 : errno); bool is_a_dir = !err && S_ISDIR (st.st_mode); if (err && err != ENOENT) error (EXIT_FAILURE, err, _("failed to access %s"), quote (file)); if (is_a_dir < looks_like_a_dir) error (EXIT_FAILURE, err, _("target %s is not a directory"), quote (file)); return is_a_dir; } /* Report that directory DIR was made, if OPTIONS requests this. */ static void announce_mkdir (char const *dir, void *options) { struct cp_options const *x = options; if (x->verbose) prog_fprintf (stdout, _("creating directory %s"), quote (dir)); } /* Make ancestor directory DIR, whose last file name component is COMPONENT, with options OPTIONS. Assume the working directory is COMPONENT's parent. */ static int make_ancestor (char const *dir, char const *component, void *options) { int r = mkdir (component, DEFAULT_MODE); if (r == 0) announce_mkdir (dir, options); return r; } /* Process a command-line file name, for the -d option. */ static int process_dir (char *dir, struct savewd *wd, void *options) { return (make_dir_parents (dir, wd, make_ancestor, options, dir_mode, announce_mkdir, dir_mode_bits, owner_id, group_id, false) ? EXIT_SUCCESS : EXIT_FAILURE); } /* Copy file FROM onto file TO, creating TO if necessary. Return true if successful. */ static bool copy_file (const char *from, const char *to, const struct cp_options *x) { bool copy_into_self; if (copy_only_if_needed && !need_copy (from, to, x)) return true; /* Allow installing from non-regular files like /dev/null. Charles Karney reported that some Sun version of install allows that and that sendmail's installation process relies on the behavior. However, since !x->recursive, the call to "copy" will fail if FROM is a directory. */ return copy (from, to, false, x, ©_into_self, NULL); } /* Set the attributes of file or directory NAME. Return true if successful. */ static bool change_attributes (char const *name) { bool ok = false; /* chown must precede chmod because on some systems, chown clears the set[ug]id bits for non-superusers, resulting in incorrect permissions. On System V, users can give away files with chown and then not be able to chmod them. So don't give files away. We don't normally ignore errors from chown because the idea of the install command is that the file is supposed to end up with precisely the attributes that the user specified (or defaulted). If the file doesn't end up with the group they asked for, they'll want to know. */ if (! (owner_id == (uid_t) -1 && group_id == (gid_t) -1) && lchown (name, owner_id, group_id) != 0) error (0, errno, _("cannot change ownership of %s"), quote (name)); else if (chmod (name, mode) != 0) error (0, errno, _("cannot change permissions of %s"), quote (name)); else ok = true; if (use_default_selinux_context) setdefaultfilecon (name); return ok; } /* Set the timestamps of file DEST to match those of SRC_SB. Return true if successful. */ static bool change_timestamps (struct stat const *src_sb, char const *dest) { struct timespec timespec[2]; timespec[0] = get_stat_atime (src_sb); timespec[1] = get_stat_mtime (src_sb); if (utimens (dest, timespec)) { error (0, errno, _("cannot set time stamps for %s"), quote (dest)); return false; } return true; } /* Strip the symbol table from the file NAME. We could dig the magic number out of the file first to determine whether to strip it, but the header files and magic numbers vary so much from system to system that making it portable would be very difficult. Not worth the effort. */ static void strip (char const *name) { int status; pid_t pid = fork (); switch (pid) { case -1: error (EXIT_FAILURE, errno, _("fork system call failed")); break; case 0: /* Child. */ execlp (strip_program, strip_program, name, NULL); error (EXIT_FAILURE, errno, _("cannot run %s"), strip_program); break; default: /* Parent. */ if (waitpid (pid, &status, 0) < 0) error (EXIT_FAILURE, errno, _("waiting for strip")); else if (! WIFEXITED (status) || WEXITSTATUS (status)) error (EXIT_FAILURE, 0, _("strip process terminated abnormally")); break; } } /* Initialize the user and group ownership of the files to install. */ static void get_ids (void) { struct passwd *pw; struct group *gr; if (owner_name) { pw = getpwnam (owner_name); if (pw == NULL) { unsigned long int tmp; if (xstrtoul (owner_name, NULL, 0, &tmp, NULL) != LONGINT_OK || UID_T_MAX < tmp) error (EXIT_FAILURE, 0, _("invalid user %s"), quote (owner_name)); owner_id = tmp; } else owner_id = pw->pw_uid; endpwent (); } else owner_id = (uid_t) -1; if (group_name) { gr = getgrnam (group_name); if (gr == NULL) { unsigned long int tmp; if (xstrtoul (group_name, NULL, 0, &tmp, NULL) != LONGINT_OK || GID_T_MAX < tmp) error (EXIT_FAILURE, 0, _("invalid group %s"), quote (group_name)); group_id = tmp; } else group_id = gr->gr_gid; endgrent (); } else group_id = (gid_t) -1; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [-T] SOURCE DEST\n\ or: %s [OPTION]... SOURCE... DIRECTORY\n\ or: %s [OPTION]... -t DIRECTORY SOURCE...\n\ or: %s [OPTION]... -d DIRECTORY...\n\ "), program_name, program_name, program_name, program_name); fputs (_("\ \n\ This install program copies files (often just compiled) into destination\n\ locations you choose. If you want to download and install a ready-to-use\n\ package on a GNU/Linux system, you should instead be using a package manager\n\ like yum(1) or apt-get(1).\n\ \n\ In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n\ the existing DIRECTORY, while setting permission modes and owner/group.\n\ In the 4th form, create all components of the given DIRECTORY(ies).\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ --backup[=CONTROL] make a backup of each existing destination file\n\ -b like --backup but does not accept an argument\n\ -c (ignored)\n\ -C, --compare compare each pair of source and destination files, and\n\ in some cases, do not modify the destination at all\n\ -d, --directory treat all arguments as directory names; create all\n\ components of the specified directories\n\ "), stdout); fputs (_("\ -D create all leading components of DEST except the last,\n\ then copy SOURCE to DEST\n\ -g, --group=GROUP set group ownership, instead of process' current group\n\ -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x\n\ -o, --owner=OWNER set ownership (super-user only)\n\ "), stdout); fputs (_("\ -p, --preserve-timestamps apply access/modification times of SOURCE files\n\ to corresponding destination files\n\ -s, --strip strip symbol tables\n\ --strip-program=PROGRAM program used to strip binaries\n\ -S, --suffix=SUFFIX override the usual backup suffix\n\ -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY\n\ -T, --no-target-directory treat DEST as a normal file\n\ -v, --verbose print the name of each directory as it is created\n\ "), stdout); fputs (_("\ --preserve-context preserve SELinux security context\n\ -Z, --context=CONTEXT set SELinux security context of files and directories\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\ The version control method may be selected via the --backup option or through\n\ the VERSION_CONTROL environment variable. Here are the values:\n\ \n\ "), stdout); fputs (_("\ none, off never make backups (even if --backup is given)\n\ numbered, t make numbered backups\n\ existing, nil numbered if numbered backups exist, simple otherwise\n\ simple, never always make simple backups\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Copy file FROM onto file TO and give TO the appropriate attributes. Return true if successful. */ static bool install_file_in_file (const char *from, const char *to, const struct cp_options *x) { struct stat from_sb; if (x->preserve_timestamps && stat (from, &from_sb) != 0) { error (0, errno, _("cannot stat %s"), quote (from)); return false; } if (! copy_file (from, to, x)) return false; if (strip_files) strip (to); if (x->preserve_timestamps && (strip_files || ! S_ISREG (from_sb.st_mode)) && ! change_timestamps (&from_sb, to)) return false; return change_attributes (to); } /* Copy file FROM onto file TO, creating any missing parent directories of TO. Return true if successful. */ static bool install_file_in_file_parents (char const *from, char *to, struct cp_options *x) { bool save_working_directory = ! (IS_ABSOLUTE_FILE_NAME (from) && IS_ABSOLUTE_FILE_NAME (to)); int status = EXIT_SUCCESS; struct savewd wd; savewd_init (&wd); if (! save_working_directory) savewd_finish (&wd); if (mkancesdirs (to, &wd, make_ancestor, x) == -1) { error (0, errno, _("cannot create directory %s"), to); status = EXIT_FAILURE; } if (save_working_directory) { int restore_result = savewd_restore (&wd, status); int restore_errno = errno; savewd_finish (&wd); if (EXIT_SUCCESS < restore_result) return false; if (restore_result < 0 && status == EXIT_SUCCESS) { error (0, restore_errno, _("cannot create directory %s"), to); return false; } } return (status == EXIT_SUCCESS && install_file_in_file (from, to, x)); } /* Copy file FROM into directory TO_DIR, keeping its same name, and give the copy the appropriate attributes. Return true if successful. */ static bool install_file_in_dir (const char *from, const char *to_dir, const struct cp_options *x) { const char *from_base = last_component (from); char *to = file_name_concat (to_dir, from_base, NULL); bool ret = install_file_in_file (from, to, x); free (to); return ret; } int main (int argc, char **argv) { int optc; int exit_status = EXIT_SUCCESS; const char *specified_mode = NULL; bool make_backups = false; char *backup_suffix_string; char *version_control_string = NULL; bool mkdir_and_install = false; struct cp_options x; char const *target_directory = NULL; bool no_target_directory = false; int n_files; char **file; bool strip_program_specified = false; security_context_t scontext = NULL; /* set iff kernel has extra selinux system calls */ selinux_enabled = (0 < is_selinux_enabled ()); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdin); cp_option_init (&x); owner_name = NULL; group_name = NULL; strip_files = false; dir_arg = false; umask (0); /* FIXME: consider not calling getenv for SIMPLE_BACKUP_SUFFIX unless we'll actually use backup_suffix_string. */ backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX"); while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pt:TvS:Z:", long_options, NULL)) != -1) { switch (optc) { case 'b': make_backups = true; if (optarg) version_control_string = optarg; break; case 'c': break; case 'C': copy_only_if_needed = true; break; case 's': strip_files = true; #ifdef SIGCHLD /* System V fork+wait does not work if SIGCHLD is ignored. */ signal (SIGCHLD, SIG_DFL); #endif break; case STRIP_PROGRAM_OPTION: strip_program = xstrdup (optarg); strip_program_specified = true; break; case 'd': dir_arg = true; break; case 'D': mkdir_and_install = true; break; case 'v': x.verbose = true; break; case 'g': group_name = optarg; break; case 'm': specified_mode = optarg; break; case 'o': owner_name = optarg; break; case 'p': x.preserve_timestamps = true; break; case 'S': make_backups = true; backup_suffix_string = optarg; break; case 't': if (target_directory) error (EXIT_FAILURE, 0, _("multiple target directories specified")); else { struct stat st; if (stat (optarg, &st) != 0) error (EXIT_FAILURE, errno, _("failed to access %s"), quote (optarg)); if (! S_ISDIR (st.st_mode)) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (optarg)); } target_directory = optarg; break; case 'T': no_target_directory = true; break; case PRESERVE_CONTEXT_OPTION: if ( ! selinux_enabled) { error (0, 0, _("WARNING: ignoring --preserve-context; " "this kernel is not SELinux-enabled")); break; } x.preserve_security_context = true; use_default_selinux_context = false; break; case 'Z': if ( ! selinux_enabled) { error (0, 0, _("WARNING: ignoring --context (-Z); " "this kernel is not SELinux-enabled")); break; } scontext = optarg; use_default_selinux_context = false; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } /* Check for invalid combinations of arguments. */ if (dir_arg && strip_files) error (EXIT_FAILURE, 0, _("the strip option may not be used when installing a directory")); if (dir_arg && target_directory) error (EXIT_FAILURE, 0, _("target directory not allowed when installing a directory")); if (x.preserve_security_context && scontext != NULL) error (EXIT_FAILURE, 0, _("cannot force target context to %s and preserve it"), quote (scontext)); if (backup_suffix_string) simple_backup_suffix = xstrdup (backup_suffix_string); x.backup_type = (make_backups ? xget_version (_("backup type"), version_control_string) : no_backups); if (scontext && setfscreatecon (scontext) < 0) error (EXIT_FAILURE, errno, _("failed to set default file creation context to %s"), quote (scontext)); n_files = argc - optind; file = argv + optind; if (n_files <= ! (dir_arg || target_directory)) { if (n_files <= 0) error (0, 0, _("missing file operand")); else error (0, 0, _("missing destination file operand after %s"), quote (file[0])); usage (EXIT_FAILURE); } if (no_target_directory) { if (target_directory) error (EXIT_FAILURE, 0, _("cannot combine --target-directory (-t) " "and --no-target-directory (-T)")); if (2 < n_files) { error (0, 0, _("extra operand %s"), quote (file[2])); usage (EXIT_FAILURE); } } else if (! (dir_arg || target_directory)) { if (2 <= n_files && target_directory_operand (file[n_files - 1])) target_directory = file[--n_files]; else if (2 < n_files) error (EXIT_FAILURE, 0, _("target %s is not a directory"), quote (file[n_files - 1])); } if (specified_mode) { struct mode_change *change = mode_compile (specified_mode); if (!change) error (EXIT_FAILURE, 0, _("invalid mode %s"), quote (specified_mode)); mode = mode_adjust (0, false, 0, change, NULL); dir_mode = mode_adjust (0, true, 0, change, &dir_mode_bits); free (change); } if (strip_program_specified && !strip_files) error (0, 0, _("WARNING: ignoring --strip-program option as -s option was " "not specified")); if (copy_only_if_needed && x.preserve_timestamps) { error (0, 0, _("options --compare (-C) and --preserve-timestamps are " "mutually exclusive")); usage (EXIT_FAILURE); } if (copy_only_if_needed && strip_files) { error (0, 0, _("options --compare (-C) and --strip are mutually " "exclusive")); usage (EXIT_FAILURE); } if (copy_only_if_needed && extra_mode (mode)) error (0, 0, _("the --compare (-C) option is ignored when you" " specify a mode with non-permission bits")); get_ids (); if (dir_arg) exit_status = savewd_process_files (n_files, file, process_dir, &x); else { /* FIXME: it's a little gross that this initialization is required by copy.c::copy. */ hash_init (); if (!target_directory) { if (! (mkdir_and_install ? install_file_in_file_parents (file[0], file[1], &x) : install_file_in_file (file[0], file[1], &x))) exit_status = EXIT_FAILURE; } else { int i; dest_info_init (&x); for (i = 0; i < n_files; i++) if (! install_file_in_dir (file[i], target_directory, &x)) exit_status = EXIT_FAILURE; } } exit (exit_status); } coreutils-8.21/src/csplit.c0000664000000000000000000011335612102337340012603 00000000000000/* csplit - split a file into sections determined by context lines Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Stuart Kemp, cpsrk@groper.jcu.edu.au. Modified by David MacKenzie, djm@gnu.ai.mit.edu. */ #include #include #include #include #include "system.h" #include #include "error.h" #include "fd-reopen.h" #include "quote.h" #include "safe-read.h" #include "stdio--.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "csplit" #define AUTHORS \ proper_name ("Stuart Kemp"), \ proper_name ("David MacKenzie") /* The default prefix for output file names. */ #define DEFAULT_PREFIX "xx" /* A compiled pattern arg. */ struct control { intmax_t offset; /* Offset from regexp to split at. */ uintmax_t lines_required; /* Number of lines required. */ uintmax_t repeat; /* Repeat count. */ int argnum; /* ARGV index. */ bool repeat_forever; /* True if '*' used as a repeat count. */ bool ignore; /* If true, produce no output (for regexp). */ bool regexpr; /* True if regular expression was used. */ struct re_pattern_buffer re_compiled; /* Compiled regular expression. */ }; /* Initial size of data area in buffers. */ #define START_SIZE 8191 /* Increment size for data area. */ #define INCR_SIZE 2048 /* Number of lines kept in each node in line list. */ #define CTRL_SIZE 80 #ifdef DEBUG /* Some small values to test the algorithms. */ # define START_SIZE 200 # define INCR_SIZE 10 # define CTRL_SIZE 1 #endif /* A string with a length count. */ struct cstring { size_t len; char *str; }; /* Pointers to the beginnings of lines in the buffer area. These structures are linked together if needed. */ struct line { size_t used; /* Number of offsets used in this struct. */ size_t insert_index; /* Next offset to use when inserting line. */ size_t retrieve_index; /* Next index to use when retrieving line. */ struct cstring starts[CTRL_SIZE]; /* Lines in the data area. */ struct line *next; /* Next in linked list. */ }; /* The structure to hold the input lines. Contains a pointer to the data area and a list containing pointers to the individual lines. */ struct buffer_record { size_t bytes_alloc; /* Size of the buffer area. */ size_t bytes_used; /* Bytes used in the buffer area. */ uintmax_t start_line; /* First line number in this buffer. */ uintmax_t first_available; /* First line that can be retrieved. */ size_t num_lines; /* Number of complete lines in this buffer. */ char *buffer; /* Data area. */ struct line *line_start; /* Head of list of pointers to lines. */ struct line *curr_line; /* The line start record currently in use. */ struct buffer_record *next; }; static void close_output_file (void); static void create_output_file (void); static void delete_all_files (bool); static void save_line_to_file (const struct cstring *line); /* Start of buffer list. */ static struct buffer_record *head = NULL; /* Partially read line. */ static char *hold_area = NULL; /* Number of bytes in 'hold_area'. */ static size_t hold_count = 0; /* Number of the last line in the buffers. */ static uintmax_t last_line_number = 0; /* Number of the line currently being examined. */ static uintmax_t current_line = 0; /* If true, we have read EOF. */ static bool have_read_eof = false; /* Name of output files. */ static char *volatile filename_space = NULL; /* Prefix part of output file names. */ static char const *volatile prefix = NULL; /* Suffix part of output file names. */ static char *volatile suffix = NULL; /* Number of digits to use in output file names. */ static int volatile digits = 2; /* Number of files created so far. */ static unsigned int volatile files_created = 0; /* Number of bytes written to current file. */ static uintmax_t bytes_written; /* Output file pointer. */ static FILE *output_stream = NULL; /* Output file name. */ static char *output_filename = NULL; /* Perhaps it would be cleaner to pass arg values instead of indexes. */ static char **global_argv; /* If true, do not print the count of bytes in each output file. */ static bool suppress_count; /* If true, remove output files on error. */ static bool volatile remove_files; /* If true, remove all output files which have a zero length. */ static bool elide_empty_files; /* The compiled pattern arguments, which determine how to split the input file. */ static struct control *controls; /* Number of elements in 'controls'. */ static size_t control_used; /* The set of signals that are caught. */ static sigset_t caught_signals; static struct option const longopts[] = { {"digits", required_argument, NULL, 'n'}, {"quiet", no_argument, NULL, 'q'}, {"silent", no_argument, NULL, 's'}, {"keep-files", no_argument, NULL, 'k'}, {"elide-empty-files", no_argument, NULL, 'z'}, {"prefix", required_argument, NULL, 'f'}, {"suffix-format", required_argument, NULL, 'b'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Optionally remove files created so far; then exit. Called when an error detected. */ static void cleanup (void) { sigset_t oldset; close_output_file (); sigprocmask (SIG_BLOCK, &caught_signals, &oldset); delete_all_files (false); sigprocmask (SIG_SETMASK, &oldset, NULL); } static void cleanup_fatal (void) ATTRIBUTE_NORETURN; static void cleanup_fatal (void) { cleanup (); exit (EXIT_FAILURE); } extern void xalloc_die (void) { error (0, 0, "%s", _("memory exhausted")); cleanup_fatal (); } static void interrupt_handler (int sig) { delete_all_files (true); signal (sig, SIG_DFL); /* The signal has been reset to SIG_DFL, but blocked during this handler. Force the default action of this signal once the handler returns and the block is removed. */ raise (sig); } /* Keep track of NUM bytes of a partial line in buffer START. These bytes will be retrieved later when another large buffer is read. */ static void save_to_hold_area (char *start, size_t num) { free (hold_area); hold_area = start; hold_count = num; } /* Read up to MAX_N_BYTES bytes from the input stream into DEST. Return the number of bytes read. */ static size_t read_input (char *dest, size_t max_n_bytes) { size_t bytes_read; if (max_n_bytes == 0) return 0; bytes_read = safe_read (STDIN_FILENO, dest, max_n_bytes); if (bytes_read == 0) have_read_eof = true; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("read error")); cleanup_fatal (); } return bytes_read; } /* Initialize existing line record P. */ static void clear_line_control (struct line *p) { p->used = 0; p->insert_index = 0; p->retrieve_index = 0; } /* Return a new, initialized line record. */ static struct line * new_line_control (void) { struct line *p = xmalloc (sizeof *p); p->next = NULL; clear_line_control (p); return p; } /* Record LINE_START, which is the address of the start of a line of length LINE_LEN in the large buffer, in the lines buffer of B. */ static void keep_new_line (struct buffer_record *b, char *line_start, size_t line_len) { struct line *l; /* If there is no existing area to keep line info, get some. */ if (b->line_start == NULL) b->line_start = b->curr_line = new_line_control (); /* If existing area for lines is full, get more. */ if (b->curr_line->used == CTRL_SIZE) { b->curr_line->next = new_line_control (); b->curr_line = b->curr_line->next; } l = b->curr_line; /* Record the start of the line, and update counters. */ l->starts[l->insert_index].str = line_start; l->starts[l->insert_index].len = line_len; l->used++; l->insert_index++; } /* Scan the buffer in B for newline characters and record the line start locations and lengths in B. Return the number of lines found in this buffer. There may be an incomplete line at the end of the buffer; a pointer is kept to this area, which will be used when the next buffer is filled. */ static size_t record_line_starts (struct buffer_record *b) { char *line_start; /* Start of current line. */ char *line_end; /* End of each line found. */ size_t bytes_left; /* Length of incomplete last line. */ size_t lines; /* Number of lines found. */ size_t line_length; /* Length of each line found. */ if (b->bytes_used == 0) return 0; lines = 0; line_start = b->buffer; bytes_left = b->bytes_used; while (true) { line_end = memchr (line_start, '\n', bytes_left); if (line_end == NULL) break; line_length = line_end - line_start + 1; keep_new_line (b, line_start, line_length); bytes_left -= line_length; line_start = line_end + 1; lines++; } /* Check for an incomplete last line. */ if (bytes_left) { if (have_read_eof) { keep_new_line (b, line_start, bytes_left); lines++; } else save_to_hold_area (xmemdup (line_start, bytes_left), bytes_left); } b->num_lines = lines; b->first_available = b->start_line = last_line_number + 1; last_line_number += lines; return lines; } /* Return a new buffer with room to store SIZE bytes, plus an extra byte for safety. */ static struct buffer_record * create_new_buffer (size_t size) { struct buffer_record *new_buffer = xmalloc (sizeof *new_buffer); new_buffer->buffer = xmalloc (size + 1); new_buffer->bytes_alloc = size; new_buffer->line_start = new_buffer->curr_line = NULL; return new_buffer; } /* Return a new buffer of at least MINSIZE bytes. If a buffer of at least that size is currently free, use it, otherwise create a new one. */ static struct buffer_record * get_new_buffer (size_t min_size) { struct buffer_record *new_buffer; /* Buffer to return. */ size_t alloc_size; /* Actual size that will be requested. */ alloc_size = START_SIZE; if (alloc_size < min_size) { size_t s = min_size - alloc_size + INCR_SIZE - 1; alloc_size += s - s % INCR_SIZE; } new_buffer = create_new_buffer (alloc_size); new_buffer->num_lines = 0; new_buffer->bytes_used = 0; new_buffer->start_line = new_buffer->first_available = last_line_number + 1; new_buffer->next = NULL; return new_buffer; } static void free_buffer (struct buffer_record *buf) { struct line *l; for (l = buf->line_start; l;) { struct line *n = l->next; free (l); l = n; } buf->line_start = NULL; free (buf->buffer); buf->buffer = NULL; } /* Append buffer BUF to the linked list of buffers that contain some data yet to be processed. */ static void save_buffer (struct buffer_record *buf) { struct buffer_record *p; buf->next = NULL; buf->curr_line = buf->line_start; if (head == NULL) head = buf; else { for (p = head; p->next; p = p->next) /* Do nothing. */ ; p->next = buf; } } /* Fill a buffer of input. Set the initial size of the buffer to a default. Fill the buffer (from the hold area and input stream) and find the individual lines. If no lines are found (the buffer is too small to hold the next line), release the current buffer (whose contents would have been put in the hold area) and repeat the process with another large buffer until at least one entire line has been read. Return true if a new buffer was obtained, otherwise false (in which case end-of-file must have been encountered). */ static bool load_buffer (void) { struct buffer_record *b; size_t bytes_wanted = START_SIZE; /* Minimum buffer size. */ size_t bytes_avail; /* Size of new buffer created. */ size_t lines_found; /* Number of lines in this new buffer. */ char *p; /* Place to load into buffer. */ if (have_read_eof) return false; /* We must make the buffer at least as large as the amount of data in the partial line left over from the last call. */ if (bytes_wanted < hold_count) bytes_wanted = hold_count; while (1) { b = get_new_buffer (bytes_wanted); bytes_avail = b->bytes_alloc; /* Size of buffer returned. */ p = b->buffer; /* First check the 'holding' area for a partial line. */ if (hold_count) { memcpy (p, hold_area, hold_count); p += hold_count; b->bytes_used += hold_count; bytes_avail -= hold_count; hold_count = 0; } b->bytes_used += read_input (p, bytes_avail); lines_found = record_line_starts (b); if (lines_found || have_read_eof) break; if (xalloc_oversized (2, b->bytes_alloc)) xalloc_die (); bytes_wanted = 2 * b->bytes_alloc; free_buffer (b); free (b); } if (lines_found) save_buffer (b); else { free_buffer (b); free (b); } return lines_found != 0; } /* Return the line number of the first line that has not yet been retrieved. */ static uintmax_t get_first_line_in_buffer (void) { if (head == NULL && !load_buffer ()) error (EXIT_FAILURE, errno, _("input disappeared")); return head->first_available; } /* Return a pointer to the logical first line in the buffer and make the next line the logical first line. Return NULL if there is no more input. */ static struct cstring * remove_line (void) { /* If non-NULL, this is the buffer for which the previous call returned the final line. So now, presuming that line has been processed, we can free the buffer and reset this pointer. */ static struct buffer_record *prev_buf = NULL; struct cstring *line; /* Return value. */ struct line *l; /* For convenience. */ if (prev_buf) { free_buffer (prev_buf); free (prev_buf); prev_buf = NULL; } if (head == NULL && !load_buffer ()) return NULL; if (current_line < head->first_available) current_line = head->first_available; ++(head->first_available); l = head->curr_line; line = &l->starts[l->retrieve_index]; /* Advance index to next line. */ if (++l->retrieve_index == l->used) { /* Go on to the next line record. */ head->curr_line = l->next; if (head->curr_line == NULL || head->curr_line->used == 0) { /* Go on to the next data block. but first record the current one so we can free it once the line we're returning has been processed. */ prev_buf = head; head = head->next; } } return line; } /* Search the buffers for line LINENUM, reading more input if necessary. Return a pointer to the line, or NULL if it is not found in the file. */ static struct cstring * find_line (uintmax_t linenum) { struct buffer_record *b; if (head == NULL && !load_buffer ()) return NULL; if (linenum < head->start_line) return NULL; for (b = head;;) { if (linenum < b->start_line + b->num_lines) { /* The line is in this buffer. */ struct line *l; size_t offset; /* How far into the buffer the line is. */ l = b->line_start; offset = linenum - b->start_line; /* Find the control record. */ while (offset >= CTRL_SIZE) { l = l->next; offset -= CTRL_SIZE; } return &l->starts[offset]; } if (b->next == NULL && !load_buffer ()) return NULL; b = b->next; /* Try the next data block. */ } } /* Return true if at least one more line is available for input. */ static bool no_more_lines (void) { return find_line (current_line + 1) == NULL; } /* Open NAME as standard input. */ static void set_input_file (const char *name) { if (! STREQ (name, "-") && fd_reopen (STDIN_FILENO, name, O_RDONLY, 0) < 0) error (EXIT_FAILURE, errno, _("cannot open %s for reading"), quote (name)); } /* Write all lines from the beginning of the buffer up to, but not including, line LAST_LINE, to the current output file. If IGNORE is true, do not output lines selected here. ARGNUM is the index in ARGV of the current pattern. */ static void write_to_file (uintmax_t last_line, bool ignore, int argnum) { struct cstring *line; uintmax_t first_line; /* First available input line. */ uintmax_t lines; /* Number of lines to output. */ uintmax_t i; first_line = get_first_line_in_buffer (); if (first_line > last_line) { error (0, 0, _("%s: line number out of range"), global_argv[argnum]); cleanup_fatal (); } lines = last_line - first_line; for (i = 0; i < lines; i++) { line = remove_line (); if (line == NULL) { error (0, 0, _("%s: line number out of range"), global_argv[argnum]); cleanup_fatal (); } if (!ignore) save_line_to_file (line); } } /* Output any lines left after all regexps have been processed. */ static void dump_rest_of_file (void) { struct cstring *line; while ((line = remove_line ()) != NULL) save_line_to_file (line); } /* Handle an attempt to read beyond EOF under the control of record P, on iteration REPETITION if nonzero. */ static void handle_line_error (const struct control *, uintmax_t) ATTRIBUTE_NORETURN; static void handle_line_error (const struct control *p, uintmax_t repetition) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; fprintf (stderr, _("%s: %s: line number out of range"), program_name, quote (umaxtostr (p->lines_required, buf))); if (repetition) fprintf (stderr, _(" on repetition %s\n"), umaxtostr (repetition, buf)); else fprintf (stderr, "\n"); cleanup_fatal (); } /* Determine the line number that marks the end of this file, then get those lines and save them to the output file. P is the control record. REPETITION is the repetition number. */ static void process_line_count (const struct control *p, uintmax_t repetition) { uintmax_t linenum; uintmax_t last_line_to_save = p->lines_required * (repetition + 1); struct cstring *line; create_output_file (); linenum = get_first_line_in_buffer (); while (linenum++ < last_line_to_save) { line = remove_line (); if (line == NULL) handle_line_error (p, repetition); save_line_to_file (line); } close_output_file (); /* Ensure that the line number specified is not 1 greater than the number of lines in the file. */ if (no_more_lines ()) handle_line_error (p, repetition); } static void regexp_error (struct control *, uintmax_t, bool) ATTRIBUTE_NORETURN; static void regexp_error (struct control *p, uintmax_t repetition, bool ignore) { fprintf (stderr, _("%s: %s: match not found"), program_name, quote (global_argv[p->argnum])); if (repetition) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; fprintf (stderr, _(" on repetition %s\n"), umaxtostr (repetition, buf)); } else fprintf (stderr, "\n"); if (!ignore) { dump_rest_of_file (); close_output_file (); } cleanup_fatal (); } /* Read the input until a line matches the regexp in P, outputting it unless P->IGNORE is true. REPETITION is this repeat-count; 0 means the first time. */ static void process_regexp (struct control *p, uintmax_t repetition) { struct cstring *line; /* From input file. */ size_t line_len; /* To make "$" in regexps work. */ uintmax_t break_line; /* First line number of next file. */ bool ignore = p->ignore; /* If true, skip this section. */ regoff_t ret; if (!ignore) create_output_file (); /* If there is no offset for the regular expression, or it is positive, then it is not necessary to buffer the lines. */ if (p->offset >= 0) { while (true) { line = find_line (++current_line); if (line == NULL) { if (p->repeat_forever) { if (!ignore) { dump_rest_of_file (); close_output_file (); } exit (EXIT_SUCCESS); } else regexp_error (p, repetition, ignore); } line_len = line->len; if (line->str[line_len - 1] == '\n') line_len--; ret = re_search (&p->re_compiled, line->str, line_len, 0, line_len, NULL); if (ret == -2) { error (0, 0, _("error in regular expression search")); cleanup_fatal (); } if (ret == -1) { line = remove_line (); if (!ignore) save_line_to_file (line); } else break; } } else { /* Buffer the lines. */ while (true) { line = find_line (++current_line); if (line == NULL) { if (p->repeat_forever) { if (!ignore) { dump_rest_of_file (); close_output_file (); } exit (EXIT_SUCCESS); } else regexp_error (p, repetition, ignore); } line_len = line->len; if (line->str[line_len - 1] == '\n') line_len--; ret = re_search (&p->re_compiled, line->str, line_len, 0, line_len, NULL); if (ret == -2) { error (0, 0, _("error in regular expression search")); cleanup_fatal (); } if (ret != -1) break; } } /* Account for any offset from this regexp. */ break_line = current_line + p->offset; write_to_file (break_line, ignore, p->argnum); if (!ignore) close_output_file (); if (p->offset > 0) current_line = break_line; } /* Split the input file according to the control records we have built. */ static void split_file (void) { size_t i; for (i = 0; i < control_used; i++) { uintmax_t j; if (controls[i].regexpr) { for (j = 0; (controls[i].repeat_forever || j <= controls[i].repeat); j++) process_regexp (&controls[i], j); } else { for (j = 0; (controls[i].repeat_forever || j <= controls[i].repeat); j++) process_line_count (&controls[i], j); } } create_output_file (); dump_rest_of_file (); close_output_file (); } /* Return the name of output file number NUM. This function is called from a signal handler, so it should invoke only reentrant functions that are async-signal-safe. POSIX does not guarantee this for the functions called below, but we don't know of any hosts where this implementation isn't safe. */ static char * make_filename (unsigned int num) { strcpy (filename_space, prefix); if (suffix) sprintf (filename_space + strlen (prefix), suffix, num); else sprintf (filename_space + strlen (prefix), "%0*u", digits, num); return filename_space; } /* Create the next output file. */ static void create_output_file (void) { bool fopen_ok; int fopen_errno; output_filename = make_filename (files_created); if (files_created == UINT_MAX) { fopen_ok = false; fopen_errno = EOVERFLOW; } else { /* Create the output file in a critical section, to avoid races. */ sigset_t oldset; sigprocmask (SIG_BLOCK, &caught_signals, &oldset); output_stream = fopen (output_filename, "w"); fopen_ok = (output_stream != NULL); fopen_errno = errno; files_created += fopen_ok; sigprocmask (SIG_SETMASK, &oldset, NULL); } if (! fopen_ok) { error (0, fopen_errno, "%s", output_filename); cleanup_fatal (); } bytes_written = 0; } /* If requested, delete all the files we have created. This function must be called only from critical sections. */ static void delete_all_files (bool in_signal_handler) { unsigned int i; if (! remove_files) return; for (i = 0; i < files_created; i++) { const char *name = make_filename (i); if (unlink (name) != 0 && !in_signal_handler) error (0, errno, "%s", name); } files_created = 0; } /* Close the current output file and print the count of characters in this file. */ static void close_output_file (void) { if (output_stream) { if (ferror (output_stream)) { error (0, 0, _("write error for %s"), quote (output_filename)); output_stream = NULL; cleanup_fatal (); } if (fclose (output_stream) != 0) { error (0, errno, "%s", output_filename); output_stream = NULL; cleanup_fatal (); } if (bytes_written == 0 && elide_empty_files) { sigset_t oldset; bool unlink_ok; int unlink_errno; /* Remove the output file in a critical section, to avoid races. */ sigprocmask (SIG_BLOCK, &caught_signals, &oldset); unlink_ok = (unlink (output_filename) == 0); unlink_errno = errno; files_created -= unlink_ok; sigprocmask (SIG_SETMASK, &oldset, NULL); if (! unlink_ok) error (0, unlink_errno, "%s", output_filename); } else { if (!suppress_count) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; fprintf (stdout, "%s\n", umaxtostr (bytes_written, buf)); } } output_stream = NULL; } } /* Save line LINE to the output file and increment the character count for the current file. */ static void save_line_to_file (const struct cstring *line) { fwrite (line->str, sizeof (char), line->len, output_stream); bytes_written += line->len; } /* Return a new, initialized control record. */ static struct control * new_control_record (void) { static size_t control_allocated = 0; /* Total space allocated. */ struct control *p; if (control_used == control_allocated) controls = X2NREALLOC (controls, &control_allocated); p = &controls[control_used++]; p->regexpr = false; p->repeat = 0; p->repeat_forever = false; p->lines_required = 0; p->offset = 0; return p; } /* Check if there is a numeric offset after a regular expression. STR is the entire command line argument. P is the control record for this regular expression. NUM is the numeric part of STR. */ static void check_for_offset (struct control *p, const char *str, const char *num) { if (xstrtoimax (num, NULL, 10, &p->offset, "") != LONGINT_OK) error (EXIT_FAILURE, 0, _("%s: integer expected after delimiter"), str); } /* Given that the first character of command line arg STR is '{', make sure that the rest of the string is a valid repeat count and store its value in P. ARGNUM is the ARGV index of STR. */ static void parse_repeat_count (int argnum, struct control *p, char *str) { uintmax_t val; char *end; end = str + strlen (str) - 1; if (*end != '}') error (EXIT_FAILURE, 0, _("%s: '}' is required in repeat count"), str); *end = '\0'; if (str+1 == end-1 && *(str+1) == '*') p->repeat_forever = true; else { if (xstrtoumax (str + 1, NULL, 10, &val, "") != LONGINT_OK) { error (EXIT_FAILURE, 0, _("%s}: integer required between '{' and '}'"), global_argv[argnum]); } p->repeat = val; } *end = '}'; } /* Extract the regular expression from STR and check for a numeric offset. STR should start with the regexp delimiter character. Return a new control record for the regular expression. ARGNUM is the ARGV index of STR. Unless IGNORE is true, mark these lines for output. */ static struct control * extract_regexp (int argnum, bool ignore, char const *str) { size_t len; /* Number of bytes in this regexp. */ char delim = *str; char const *closing_delim; struct control *p; const char *err; closing_delim = strrchr (str + 1, delim); if (closing_delim == NULL) error (EXIT_FAILURE, 0, _("%s: closing delimiter '%c' missing"), str, delim); len = closing_delim - str - 1; p = new_control_record (); p->argnum = argnum; p->ignore = ignore; p->regexpr = true; p->re_compiled.buffer = NULL; p->re_compiled.allocated = 0; p->re_compiled.fastmap = xmalloc (UCHAR_MAX + 1); p->re_compiled.translate = NULL; re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; err = re_compile_pattern (str + 1, len, &p->re_compiled); if (err) { error (0, 0, _("%s: invalid regular expression: %s"), str, err); cleanup_fatal (); } if (closing_delim[1]) check_for_offset (p, str, closing_delim + 1); return p; } /* Extract the break patterns from args START through ARGC - 1 of ARGV. After each pattern, check if the next argument is a repeat count. */ static void parse_patterns (int argc, int start, char **argv) { int i; /* Index into ARGV. */ struct control *p; /* New control record created. */ uintmax_t val; static uintmax_t last_val = 0; for (i = start; i < argc; i++) { if (*argv[i] == '/' || *argv[i] == '%') { p = extract_regexp (i, *argv[i] == '%', argv[i]); } else { p = new_control_record (); p->argnum = i; if (xstrtoumax (argv[i], NULL, 10, &val, "") != LONGINT_OK) error (EXIT_FAILURE, 0, _("%s: invalid pattern"), argv[i]); if (val == 0) error (EXIT_FAILURE, 0, _("%s: line number must be greater than zero"), argv[i]); if (val < last_val) { char buf[INT_BUFSIZE_BOUND (uintmax_t)]; error (EXIT_FAILURE, 0, _("line number %s is smaller than preceding line number, %s"), quote (argv[i]), umaxtostr (last_val, buf)); } if (val == last_val) error (0, 0, _("warning: line number %s is the same as preceding line number"), quote (argv[i])); last_val = val; p->lines_required = val; } if (i + 1 < argc && *argv[i + 1] == '{') { /* We have a repeat count. */ i++; parse_repeat_count (i, p, argv[i]); } } } /* Names for the printf format flags ' and #. These can be ORed together. */ enum { FLAG_THOUSANDS = 1, FLAG_ALTERNATIVE = 2 }; /* Scan the printf format flags in FORMAT, storing info about the flags into *FLAGS_PTR. Return the number of flags found. */ static size_t get_format_flags (char const *format, int *flags_ptr) { int flags = 0; for (size_t count = 0; ; count++) { switch (format[count]) { case '-': case '0': break; case '\'': flags |= FLAG_THOUSANDS; break; case '#': flags |= FLAG_ALTERNATIVE; break; default: *flags_ptr = flags; return count; } } } /* Check that the printf format conversion specifier *FORMAT is valid and compatible with FLAGS. Change it to 'u' if it is 'd' or 'i', since the format will be used with an unsigned value. */ static void check_format_conv_type (char *format, int flags) { unsigned char ch = *format; int compatible_flags = FLAG_THOUSANDS; switch (ch) { case 'd': case 'i': *format = 'u'; break; case 'u': break; case 'o': case 'x': case 'X': compatible_flags = FLAG_ALTERNATIVE; break; case 0: error (EXIT_FAILURE, 0, _("missing conversion specifier in suffix")); break; default: if (isprint (ch)) error (EXIT_FAILURE, 0, _("invalid conversion specifier in suffix: %c"), ch); else error (EXIT_FAILURE, 0, _("invalid conversion specifier in suffix: \\%.3o"), ch); } if (flags & ~ compatible_flags) error (EXIT_FAILURE, 0, _("invalid flags in conversion specification: %%%c%c"), (flags & ~ compatible_flags & FLAG_ALTERNATIVE ? '#' : '\''), ch); } /* Return the maximum number of bytes that can be generated by applying FORMAT to an unsigned int value. If the format is invalid, diagnose the problem and exit. */ static size_t max_out (char *format) { bool percent = false; for (char *f = format; *f; f++) if (*f == '%' && *++f != '%') { if (percent) error (EXIT_FAILURE, 0, _("too many %% conversion specifications in suffix")); percent = true; int flags; f += get_format_flags (f, &flags); while (ISDIGIT (*f)) f++; if (*f == '.') while (ISDIGIT (*++f)) continue; check_format_conv_type (f, flags); } if (! percent) error (EXIT_FAILURE, 0, _("missing %% conversion specification in suffix")); int maxlen = snprintf (NULL, 0, format, UINT_MAX); if (! (0 <= maxlen && maxlen <= SIZE_MAX)) xalloc_die (); return maxlen; } int main (int argc, char **argv) { int optc; unsigned long int val; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); global_argv = argv; controls = NULL; control_used = 0; suppress_count = false; remove_files = true; prefix = DEFAULT_PREFIX; while ((optc = getopt_long (argc, argv, "f:b:kn:sqz", longopts, NULL)) != -1) switch (optc) { case 'f': prefix = optarg; break; case 'b': suffix = optarg; break; case 'k': remove_files = false; break; case 'n': if (xstrtoul (optarg, NULL, 10, &val, "") != LONGINT_OK || MIN (INT_MAX, SIZE_MAX) < val) error (EXIT_FAILURE, 0, _("%s: invalid number"), optarg); digits = val; break; case 's': case 'q': suppress_count = true; break; case 'z': elide_empty_files = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } if (argc - optind < 2) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } size_t prefix_len = strlen (prefix); size_t max_digit_string_len = (suffix ? max_out (suffix) : MAX (INT_STRLEN_BOUND (unsigned int), digits)); if (SIZE_MAX - 1 - prefix_len < max_digit_string_len) xalloc_die (); filename_space = xmalloc (prefix_len + max_digit_string_len + 1); set_input_file (argv[optind++]); parse_patterns (argc, optind, argv); { int i; static int const sig[] = { /* The usual suspects. */ SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, #ifdef SIGPOLL SIGPOLL, #endif #ifdef SIGPROF SIGPROF, #endif #ifdef SIGVTALRM SIGVTALRM, #endif #ifdef SIGXCPU SIGXCPU, #endif #ifdef SIGXFSZ SIGXFSZ, #endif }; enum { nsigs = ARRAY_CARDINALITY (sig) }; struct sigaction act; sigemptyset (&caught_signals); for (i = 0; i < nsigs; i++) { sigaction (sig[i], NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&caught_signals, sig[i]); } act.sa_handler = interrupt_handler; act.sa_mask = caught_signals; act.sa_flags = 0; for (i = 0; i < nsigs; i++) if (sigismember (&caught_signals, sig[i])) sigaction (sig[i], &act, NULL); } split_file (); if (close (STDIN_FILENO) != 0) { error (0, errno, _("read error")); cleanup_fatal (); } exit (EXIT_SUCCESS); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... FILE PATTERN...\n\ "), program_name); fputs (_("\ Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n\ and output byte counts of each piece to standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n\ -f, --prefix=PREFIX use PREFIX instead of 'xx'\n\ -k, --keep-files do not remove output files on errors\n\ "), stdout); fputs (_("\ -n, --digits=DIGITS use specified number of digits instead of 2\n\ -s, --quiet, --silent do not print counts of output file sizes\n\ -z, --elide-empty-files remove empty output files\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Read standard input if FILE is -. Each PATTERN may be:\n\ "), stdout); fputs (_("\ \n\ INTEGER copy up to but not including specified line number\n\ /REGEXP/[OFFSET] copy up to but not including a matching line\n\ %REGEXP%[OFFSET] skip to, but not including a matching line\n\ {INTEGER} repeat the previous pattern specified number of times\n\ {*} repeat the previous pattern as many times as possible\n\ \n\ A line OFFSET is a required '+' or '-' followed by a positive integer.\n\ "), stdout); emit_ancillary_info (); } exit (status); } coreutils-8.21/src/tsort.c0000664000000000000000000003336512102337340012461 00000000000000/* tsort - topological sort. Copyright (C) 1998-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Mark Kettenis . */ /* The topological sort is done according to Algorithm T (Topological sort) in Donald E. Knuth, The Art of Computer Programming, Volume 1/Fundamental Algorithms, page 262. */ #include #include #include #include #include "system.h" #include "long-options.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "readtokens.h" #include "stdio--.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tsort" #define AUTHORS proper_name ("Mark Kettenis") /* Token delimiters when reading from a file. */ #define DELIM " \t\n" /* Members of the list of successors. */ struct successor { struct item *suc; struct successor *next; }; /* Each string is held in core as the head of a list of successors. */ struct item { const char *str; struct item *left, *right; int balance; /* -1, 0, or +1 */ size_t count; struct item *qlink; struct successor *top; }; /* The head of the sorted list. */ static struct item *head = NULL; /* The tail of the list of 'zeros', strings that have no predecessors. */ static struct item *zeros = NULL; /* Used for loop detection. */ static struct item *loop = NULL; /* The number of strings to sort. */ static size_t n_strings = 0; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION] [FILE]\n\ Write totally ordered list consistent with the partial ordering in FILE.\n\ With no FILE, or when FILE is -, read standard input.\n\ \n\ "), program_name); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Create a new item/node for STR. */ static struct item * new_item (const char *str) { struct item *k = xmalloc (sizeof *k); k->str = (str ? xstrdup (str): NULL); k->left = k->right = NULL; k->balance = 0; /* T1. Initialize (COUNT[k] <- 0 and TOP[k] <- ^). */ k->count = 0; k->qlink = NULL; k->top = NULL; return k; } /* Search binary tree rooted at *ROOT for STR. Allocate a new tree if *ROOT is NULL. Insert a node/item for STR if not found. Return the node/item found/created for STR. This is done according to Algorithm A (Balanced tree search and insertion) in Donald E. Knuth, The Art of Computer Programming, Volume 3/Searching and Sorting, pages 455--457. */ static struct item * search_item (struct item *root, const char *str) { struct item *p, *q, *r, *s, *t; int a; assert (root); /* Make sure the tree is not empty, since that is what the algorithm below expects. */ if (root->right == NULL) return (root->right = new_item (str)); /* A1. Initialize. */ t = root; s = p = root->right; while (true) { /* A2. Compare. */ a = strcmp (str, p->str); if (a == 0) return p; /* A3 & A4. Move left & right. */ if (a < 0) q = p->left; else q = p->right; if (q == NULL) { /* A5. Insert. */ q = new_item (str); /* A3 & A4. (continued). */ if (a < 0) p->left = q; else p->right = q; /* A6. Adjust balance factors. */ assert (!STREQ (str, s->str)); if (strcmp (str, s->str) < 0) { r = p = s->left; a = -1; } else { r = p = s->right; a = 1; } while (p != q) { assert (!STREQ (str, p->str)); if (strcmp (str, p->str) < 0) { p->balance = -1; p = p->left; } else { p->balance = 1; p = p->right; } } /* A7. Balancing act. */ if (s->balance == 0 || s->balance == -a) { s->balance += a; return q; } if (r->balance == a) { /* A8. Single Rotation. */ p = r; if (a < 0) { s->left = r->right; r->right = s; } else { s->right = r->left; r->left = s; } s->balance = r->balance = 0; } else { /* A9. Double rotation. */ if (a < 0) { p = r->right; r->right = p->left; p->left = r; s->left = p->right; p->right = s; } else { p = r->left; r->left = p->right; p->right = r; s->right = p->left; p->left = s; } s->balance = 0; r->balance = 0; if (p->balance == a) s->balance = -a; else if (p->balance == -a) r->balance = a; p->balance = 0; } /* A10. Finishing touch. */ if (s == t->right) t->right = p; else t->left = p; return q; } /* A3 & A4. (continued). */ if (q->balance) { t = p; s = q; } p = q; } /* NOTREACHED */ } /* Record the fact that J precedes K. */ static void record_relation (struct item *j, struct item *k) { struct successor *p; if (!STREQ (j->str, k->str)) { k->count++; p = xmalloc (sizeof *p); p->suc = k; p->next = j->top; j->top = p; } } static bool count_items (struct item *unused ATTRIBUTE_UNUSED) { n_strings++; return false; } static bool scan_zeros (struct item *k) { /* Ignore strings that have already been printed. */ if (k->count == 0 && k->str) { if (head == NULL) head = k; else zeros->qlink = k; zeros = k; } return false; } /* Try to detect the loop. If we have detected that K is part of a loop, print the loop on standard error, remove a relation to break the loop, and return true. The loop detection strategy is as follows: Realise that what we're dealing with is essentially a directed graph. If we find an item that is part of a graph that contains a cycle we traverse the graph in backwards direction. In general there is no unique way to do this, but that is no problem. If we encounter an item that we have encountered before, we know that we've found a cycle. All we have to do now is retrace our steps, printing out the items until we encounter that item again. (This is not necessarily the item that we started from originally.) Since the order in which the items are stored in the tree is not related to the specified partial ordering, we may need to walk the tree several times before the loop has completely been constructed. If the loop was found, the global variable LOOP will be NULL. */ static bool detect_loop (struct item *k) { if (k->count > 0) { /* K does not have to be part of a cycle. It is however part of a graph that contains a cycle. */ if (loop == NULL) /* Start traversing the graph at K. */ loop = k; else { struct successor **p = &k->top; while (*p) { if ((*p)->suc == loop) { if (k->qlink) { /* We have found a loop. Retrace our steps. */ while (loop) { struct item *tmp = loop->qlink; fprintf (stderr, "%s: %s\n", program_name, loop->str); /* Until we encounter K again. */ if (loop == k) { /* Remove relation. */ (*p)->suc->count--; *p = (*p)->next; break; } /* Tidy things up since we might have to detect another loop. */ loop->qlink = NULL; loop = tmp; } while (loop) { struct item *tmp = loop->qlink; loop->qlink = NULL; loop = tmp; } /* Since we have found the loop, stop walking the tree. */ return true; } else { k->qlink = loop; loop = k; break; } } p = &(*p)->next; } } } return false; } /* Recurse (sub)tree rooted at ROOT, calling ACTION for each node. Stop when ACTION returns true. */ static bool recurse_tree (struct item *root, bool (*action) (struct item *)) { if (root->left == NULL && root->right == NULL) return (*action) (root); else { if (root->left != NULL) if (recurse_tree (root->left, action)) return true; if ((*action) (root)) return true; if (root->right != NULL) if (recurse_tree (root->right, action)) return true; } return false; } /* Walk the tree specified by the head ROOT, calling ACTION for each node. */ static void walk_tree (struct item *root, bool (*action) (struct item *)) { if (root->right) recurse_tree (root->right, action); } /* Do a topological sort on FILE. Return true if successful. */ static bool tsort (const char *file) { bool ok = true; struct item *root; struct item *j = NULL; struct item *k = NULL; token_buffer tokenbuffer; bool is_stdin = STREQ (file, "-"); /* Intialize the head of the tree will hold the strings we're sorting. */ root = new_item (NULL); if (!is_stdin && ! freopen (file, "r", stdin)) error (EXIT_FAILURE, errno, "%s", file); fadvise (stdin, FADVISE_SEQUENTIAL); init_tokenbuffer (&tokenbuffer); while (1) { /* T2. Next Relation. */ size_t len = readtoken (stdin, DELIM, sizeof (DELIM) - 1, &tokenbuffer); if (len == (size_t) -1) break; assert (len != 0); k = search_item (root, tokenbuffer.buffer); if (j) { /* T3. Record the relation. */ record_relation (j, k); k = NULL; } j = k; } if (k != NULL) error (EXIT_FAILURE, 0, _("%s: input contains an odd number of tokens"), file); /* T1. Initialize (N <- n). */ walk_tree (root, count_items); while (n_strings > 0) { /* T4. Scan for zeros. */ walk_tree (root, scan_zeros); while (head) { struct successor *p = head->top; /* T5. Output front of queue. */ puts (head->str); #ifdef lint /* suppress valgrind "definitely lost" warnings. */ void *head_str = (void *) head->str; free (head_str); #endif head->str = NULL; /* Avoid printing the same string twice. */ n_strings--; /* T6. Erase relations. */ while (p) { p->suc->count--; if (p->suc->count == 0) { zeros->qlink = p->suc; zeros = p->suc; } p = p->next; } /* T7. Remove from queue. */ head = head->qlink; } /* T8. End of process. */ if (n_strings > 0) { /* The input contains a loop. */ error (0, 0, _("%s: input contains a loop:"), file); ok = false; /* Print the loop and remove a relation to break it. */ do walk_tree (root, detect_loop); while (loop); } } if (fclose (stdin) != 0) error (EXIT_FAILURE, errno, "%s", is_stdin ? _("standard input") : quote (file)); return ok; } int main (int argc, char **argv) { bool ok; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (1 < argc - optind) { error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } ok = tsort (optind == argc ? "-" : argv[optind]); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/ptx.c0000664000000000000000000021042712102337340012115 00000000000000/* Permuted index for GNU, with keywords in their context. Copyright (C) 1990-2013 Free Software Foundation, Inc. François Pinard , 1988. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . François Pinard */ #include #include #include #include "system.h" #include #include "argmatch.h" #include "diacrit.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "quotearg.h" #include "read-file.h" #include "stdio--.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "ptx" /* TRANSLATORS: Please translate "F. Pinard" to "François Pinard" if "ç" (c-with-cedilla) is available in the translation's character set and encoding. */ #define AUTHORS proper_name_utf8 ("F. Pinard", "Fran\xc3\xa7ois Pinard") /* Number of possible characters in a byte. */ #define CHAR_SET_SIZE 256 #define ISODIGIT(C) ((C) >= '0' && (C) <= '7') #define HEXTOBIN(C) ((C) >= 'a' && (C) <= 'f' ? (C)-'a'+10 \ : (C) >= 'A' && (C) <= 'F' ? (C)-'A'+10 : (C)-'0') #define OCTTOBIN(C) ((C) - '0') /* Debugging the memory allocator. */ #if WITH_DMALLOC # define MALLOC_FUNC_CHECK 1 # include #endif /* Global definitions. */ /* FIXME: There are many unchecked integer overflows in this file, that will cause this command to misbehave given large inputs or options. Many of the "int" values below should be "size_t" or something else like that. */ /* Program options. */ enum Format { UNKNOWN_FORMAT, /* output format still unknown */ DUMB_FORMAT, /* output for a dumb terminal */ ROFF_FORMAT, /* output for 'troff' or 'nroff' */ TEX_FORMAT /* output for 'TeX' or 'LaTeX' */ }; static bool gnu_extensions = true; /* trigger all GNU extensions */ static bool auto_reference = false; /* refs are 'file_name:line_number:' */ static bool input_reference = false; /* refs at beginning of input lines */ static bool right_reference = false; /* output refs after right context */ static int line_width = 72; /* output line width in characters */ static int gap_size = 3; /* number of spaces between output fields */ static const char *truncation_string = "/"; /* string used to mark line truncations */ static const char *macro_name = "xx"; /* macro name for roff or TeX output */ static enum Format output_format = UNKNOWN_FORMAT; /* output format */ static bool ignore_case = false; /* fold lower to upper for sorting */ static const char *break_file = NULL; /* name of the 'Break chars' file */ static const char *only_file = NULL; /* name of the 'Only words' file */ static const char *ignore_file = NULL; /* name of the 'Ignore words' file */ /* Options that use regular expressions. */ struct regex_data { /* The original regular expression, as a string. */ char const *string; /* The compiled regular expression, and its fastmap. */ struct re_pattern_buffer pattern; char fastmap[UCHAR_MAX + 1]; }; static struct regex_data context_regex; /* end of context */ static struct regex_data word_regex; /* keyword */ /* A BLOCK delimit a region in memory of arbitrary size, like the copy of a whole file. A WORD is something smaller, its length should fit in a short integer. A WORD_TABLE may contain several WORDs. */ typedef struct { char *start; /* pointer to beginning of region */ char *end; /* pointer to end + 1 of region */ } BLOCK; typedef struct { char *start; /* pointer to beginning of region */ short int size; /* length of the region */ } WORD; typedef struct { WORD *start; /* array of WORDs */ size_t alloc; /* allocated length */ size_t length; /* number of used entries */ } WORD_TABLE; /* Pattern description tables. */ /* For each character, provide its folded equivalent. */ static unsigned char folded_chars[CHAR_SET_SIZE]; /* End of context pattern register indices. */ static struct re_registers context_regs; /* Keyword pattern register indices. */ static struct re_registers word_regs; /* A word characters fastmap is used only when no word regexp has been provided. A word is then made up of a sequence of one or more characters allowed by the fastmap. Contains !0 if character allowed in word. Not only this is faster in most cases, but it simplifies the implementation of the Break files. */ static char word_fastmap[CHAR_SET_SIZE]; /* Maximum length of any word read. */ static int maximum_word_length; /* Maximum width of any reference used. */ static int reference_max_width; /* Ignore and Only word tables. */ static WORD_TABLE ignore_table; /* table of words to ignore */ static WORD_TABLE only_table; /* table of words to select */ /* Source text table, and scanning macros. */ static int number_input_files; /* number of text input files */ static int total_line_count; /* total number of lines seen so far */ static const char **input_file_name; /* array of text input file names */ static int *file_line_count; /* array of 'total_line_count' values at end */ static BLOCK text_buffer; /* file to study */ /* SKIP_NON_WHITE used only for getting or skipping the reference. */ #define SKIP_NON_WHITE(cursor, limit) \ while (cursor < limit && ! isspace (to_uchar (*cursor))) \ cursor++ #define SKIP_WHITE(cursor, limit) \ while (cursor < limit && isspace (to_uchar (*cursor))) \ cursor++ #define SKIP_WHITE_BACKWARDS(cursor, start) \ while (cursor > start && isspace (to_uchar (cursor[-1]))) \ cursor-- #define SKIP_SOMETHING(cursor, limit) \ if (word_regex.string) \ { \ regoff_t count; \ count = re_match (&word_regex.pattern, cursor, limit - cursor, 0, NULL); \ if (count == -2) \ matcher_error (); \ cursor += count == -1 ? 1 : count; \ } \ else if (word_fastmap[to_uchar (*cursor)]) \ while (cursor < limit && word_fastmap[to_uchar (*cursor)]) \ cursor++; \ else \ cursor++ /* Occurrences table. The 'keyword' pointer provides the central word, which is surrounded by a left context and a right context. The 'keyword' and 'length' field allow full 8-bit characters keys, even including NULs. At other places in this program, the name 'keyafter' refers to the keyword followed by its right context. The left context does not extend, towards the beginning of the file, further than a distance given by the 'left' value. This value is relative to the keyword beginning, it is usually negative. This insures that, except for white space, we will never have to backward scan the source text, when it is time to generate the final output lines. The right context, indirectly attainable through the keyword end, does not extend, towards the end of the file, further than a distance given by the 'right' value. This value is relative to the keyword beginning, it is usually positive. When automatic references are used, the 'reference' value is the overall line number in all input files read so far, in this case, it is of type (int). When input references are used, the 'reference' value indicates the distance between the keyword beginning and the start of the reference field, it is of type (DELTA) and usually negative. */ typedef short int DELTA; /* to hold displacement within one context */ typedef struct { WORD key; /* description of the keyword */ DELTA left; /* distance to left context start */ DELTA right; /* distance to right context end */ int reference; /* reference descriptor */ } OCCURS; /* The various OCCURS tables are indexed by the language. But the time being, there is no such multiple language support. */ static OCCURS *occurs_table[1]; /* all words retained from the read text */ static size_t occurs_alloc[1]; /* allocated size of occurs_table */ static size_t number_of_occurs[1]; /* number of used slots in occurs_table */ /* Communication among output routines. */ /* Indicate if special output processing is requested for each character. */ static char edited_flag[CHAR_SET_SIZE]; static int half_line_width; /* half of line width, reference excluded */ static int before_max_width; /* maximum width of before field */ static int keyafter_max_width; /* maximum width of keyword-and-after field */ static int truncation_string_length;/* length of string that flags truncation */ /* When context is limited by lines, wraparound may happen on final output: the 'head' pointer gives access to some supplementary left context which will be seen at the end of the output line, the 'tail' pointer gives access to some supplementary right context which will be seen at the beginning of the output line. */ static BLOCK tail; /* tail field */ static int tail_truncation; /* flag truncation after the tail field */ static BLOCK before; /* before field */ static int before_truncation; /* flag truncation before the before field */ static BLOCK keyafter; /* keyword-and-after field */ static int keyafter_truncation; /* flag truncation after the keyafter field */ static BLOCK head; /* head field */ static int head_truncation; /* flag truncation before the head field */ static BLOCK reference; /* reference field for input reference mode */ /* Miscellaneous routines. */ /* Diagnose an error in the regular expression matcher. Then exit. */ static void ATTRIBUTE_NORETURN matcher_error (void) { error (0, errno, _("error in regular expression matcher")); exit (EXIT_FAILURE); } /*------------------------------------------------------. | Duplicate string STRING, while evaluating \-escapes. | `------------------------------------------------------*/ /* Loosely adapted from GNU sh-utils printf.c code. */ static char * copy_unescaped_string (const char *string) { char *result; /* allocated result */ char *cursor; /* cursor in result */ int value; /* value of \nnn escape */ int length; /* length of \nnn escape */ result = xmalloc (strlen (string) + 1); cursor = result; while (*string) { if (*string == '\\') { string++; switch (*string) { case 'x': /* \xhhh escape, 3 chars maximum */ value = 0; for (length = 0, string++; length < 3 && isxdigit (to_uchar (*string)); length++, string++) value = value * 16 + HEXTOBIN (*string); if (length == 0) { *cursor++ = '\\'; *cursor++ = 'x'; } else *cursor++ = value; break; case '0': /* \0ooo escape, 3 chars maximum */ value = 0; for (length = 0, string++; length < 3 && ISODIGIT (*string); length++, string++) value = value * 8 + OCTTOBIN (*string); *cursor++ = value; break; case 'a': /* alert */ #if __STDC__ *cursor++ = '\a'; #else *cursor++ = 7; #endif string++; break; case 'b': /* backspace */ *cursor++ = '\b'; string++; break; case 'c': /* cancel the rest of the output */ while (*string) string++; break; case 'f': /* form feed */ *cursor++ = '\f'; string++; break; case 'n': /* new line */ *cursor++ = '\n'; string++; break; case 'r': /* carriage return */ *cursor++ = '\r'; string++; break; case 't': /* horizontal tab */ *cursor++ = '\t'; string++; break; case 'v': /* vertical tab */ #if __STDC__ *cursor++ = '\v'; #else *cursor++ = 11; #endif string++; break; case '\0': /* lone backslash at end of string */ /* ignore it */ break; default: *cursor++ = '\\'; *cursor++ = *string++; break; } } else *cursor++ = *string++; } *cursor = '\0'; return result; } /*--------------------------------------------------------------------------. | Compile the regex represented by REGEX, diagnose and abort if any error. | `--------------------------------------------------------------------------*/ static void compile_regex (struct regex_data *regex) { struct re_pattern_buffer *pattern = ®ex->pattern; char const *string = regex->string; char const *message; pattern->buffer = NULL; pattern->allocated = 0; pattern->fastmap = regex->fastmap; pattern->translate = ignore_case ? folded_chars : NULL; message = re_compile_pattern (string, strlen (string), pattern); if (message) error (EXIT_FAILURE, 0, _("%s (for regexp %s)"), message, quote (string)); /* The fastmap should be compiled before 're_match'. The following call is not mandatory, because 're_search' is always called sooner, and it compiles the fastmap if this has not been done yet. */ re_compile_fastmap (pattern); } /*------------------------------------------------------------------------. | This will initialize various tables for pattern match and compiles some | | regexps. | `------------------------------------------------------------------------*/ static void initialize_regex (void) { int character; /* character value */ /* Initialize the case folding table. */ if (ignore_case) for (character = 0; character < CHAR_SET_SIZE; character++) folded_chars[character] = toupper (character); /* Unless the user already provided a description of the end of line or end of sentence sequence, select an end of line sequence to compile. If the user provided an empty definition, thus disabling end of line or sentence feature, make it NULL to speed up tests. If GNU extensions are enabled, use end of sentence like in GNU emacs. If disabled, use end of lines. */ if (context_regex.string) { if (!*context_regex.string) context_regex.string = NULL; } else if (gnu_extensions && !input_reference) context_regex.string = "[.?!][]\"')}]*\\($\\|\t\\| \\)[ \t\n]*"; else context_regex.string = "\n"; if (context_regex.string) compile_regex (&context_regex); /* If the user has already provided a non-empty regexp to describe words, compile it. Else, unless this has already been done through a user provided Break character file, construct a fastmap of characters that may appear in a word. If GNU extensions enabled, include only letters of the underlying character set. If disabled, include almost everything, even punctuations; stop only on white space. */ if (word_regex.string) compile_regex (&word_regex); else if (!break_file) { if (gnu_extensions) { /* Simulate \w+. */ for (character = 0; character < CHAR_SET_SIZE; character++) word_fastmap[character] = !! isalpha (character); } else { /* Simulate [^ \t\n]+. */ memset (word_fastmap, 1, CHAR_SET_SIZE); word_fastmap[' '] = 0; word_fastmap['\t'] = 0; word_fastmap['\n'] = 0; } } } /*------------------------------------------------------------------------. | This routine will attempt to swallow a whole file name FILE_NAME into a | | contiguous region of memory and return a description of it into BLOCK. | | Standard input is assumed whenever FILE_NAME is NULL, empty or "-". | | | | Previously, in some cases, white space compression was attempted while | | inputting text. This was defeating some regexps like default end of | | sentence, which checks for two consecutive spaces. If white space | | compression is ever reinstated, it should be in output routines. | `------------------------------------------------------------------------*/ static void swallow_file_in_memory (const char *file_name, BLOCK *block) { size_t used_length; /* used length in memory buffer */ /* As special cases, a file name which is NULL or "-" indicates standard input, which is already opened. In all other cases, open the file from its name. */ bool using_stdin = !file_name || !*file_name || STREQ (file_name, "-"); if (using_stdin) block->start = fread_file (stdin, &used_length); else block->start = read_file (file_name, &used_length); if (!block->start) error (EXIT_FAILURE, errno, "%s", quote (using_stdin ? "-" : file_name)); block->end = block->start + used_length; } /* Sort and search routines. */ /*--------------------------------------------------------------------------. | Compare two words, FIRST and SECOND, and return 0 if they are identical. | | Return less than 0 if the first word goes before the second; return | | greater than 0 if the first word goes after the second. | | | | If a word is indeed a prefix of the other, the shorter should go first. | `--------------------------------------------------------------------------*/ static int compare_words (const void *void_first, const void *void_second) { #define first ((const WORD *) void_first) #define second ((const WORD *) void_second) int length; /* minimum of two lengths */ int counter; /* cursor in words */ int value; /* value of comparison */ length = first->size < second->size ? first->size : second->size; if (ignore_case) { for (counter = 0; counter < length; counter++) { value = (folded_chars [to_uchar (first->start[counter])] - folded_chars [to_uchar (second->start[counter])]); if (value != 0) return value; } } else { for (counter = 0; counter < length; counter++) { value = (to_uchar (first->start[counter]) - to_uchar (second->start[counter])); if (value != 0) return value; } } return first->size - second->size; #undef first #undef second } /*-----------------------------------------------------------------------. | Decides which of two OCCURS, FIRST or SECOND, should lexicographically | | go first. In case of a tie, preserve the original order through a | | pointer comparison. | `-----------------------------------------------------------------------*/ static int compare_occurs (const void *void_first, const void *void_second) { #define first ((const OCCURS *) void_first) #define second ((const OCCURS *) void_second) int value; value = compare_words (&first->key, &second->key); return value == 0 ? first->key.start - second->key.start : value; #undef first #undef second } /*------------------------------------------------------------. | Return !0 if WORD appears in TABLE. Uses a binary search. | `------------------------------------------------------------*/ static int _GL_ATTRIBUTE_PURE search_table (WORD *word, WORD_TABLE *table) { int lowest; /* current lowest possible index */ int highest; /* current highest possible index */ int middle; /* current middle index */ int value; /* value from last comparison */ lowest = 0; highest = table->length - 1; while (lowest <= highest) { middle = (lowest + highest) / 2; value = compare_words (word, table->start + middle); if (value < 0) highest = middle - 1; else if (value > 0) lowest = middle + 1; else return 1; } return 0; } /*---------------------------------------------------------------------. | Sort the whole occurs table in memory. Presumably, 'qsort' does not | | take intermediate copies or table elements, so the sort will be | | stabilized throughout the comparison routine. | `---------------------------------------------------------------------*/ static void sort_found_occurs (void) { /* Only one language for the time being. */ qsort (occurs_table[0], number_of_occurs[0], sizeof **occurs_table, compare_occurs); } /* Parameter files reading routines. */ /*----------------------------------------------------------------------. | Read a file named FILE_NAME, containing a set of break characters. | | Build a content to the array word_fastmap in which all characters are | | allowed except those found in the file. Characters may be repeated. | `----------------------------------------------------------------------*/ static void digest_break_file (const char *file_name) { BLOCK file_contents; /* to receive a copy of the file */ char *cursor; /* cursor in file copy */ swallow_file_in_memory (file_name, &file_contents); /* Make the fastmap and record the file contents in it. */ memset (word_fastmap, 1, CHAR_SET_SIZE); for (cursor = file_contents.start; cursor < file_contents.end; cursor++) word_fastmap[to_uchar (*cursor)] = 0; if (!gnu_extensions) { /* If GNU extensions are enabled, the only way to avoid newline as a break character is to write all the break characters in the file with no newline at all, not even at the end of the file. If disabled, spaces, tabs and newlines are always considered as break characters even if not included in the break file. */ word_fastmap[' '] = 0; word_fastmap['\t'] = 0; word_fastmap['\n'] = 0; } /* Return the space of the file, which is no more required. */ free (file_contents.start); } /*-----------------------------------------------------------------------. | Read a file named FILE_NAME, containing one word per line, then | | construct in TABLE a table of WORD descriptors for them. The routine | | swallows the whole file in memory; this is at the expense of space | | needed for newlines, which are useless; however, the reading is fast. | `-----------------------------------------------------------------------*/ static void digest_word_file (const char *file_name, WORD_TABLE *table) { BLOCK file_contents; /* to receive a copy of the file */ char *cursor; /* cursor in file copy */ char *word_start; /* start of the current word */ swallow_file_in_memory (file_name, &file_contents); table->start = NULL; table->alloc = 0; table->length = 0; /* Read the whole file. */ cursor = file_contents.start; while (cursor < file_contents.end) { /* Read one line, and save the word in contains. */ word_start = cursor; while (cursor < file_contents.end && *cursor != '\n') cursor++; /* Record the word in table if it is not empty. */ if (cursor > word_start) { if (table->length == table->alloc) { if ((SIZE_MAX / sizeof *table->start - 1) / 2 < table->alloc) xalloc_die (); table->alloc = table->alloc * 2 + 1; table->start = xrealloc (table->start, table->alloc * sizeof *table->start); } table->start[table->length].start = word_start; table->start[table->length].size = cursor - word_start; table->length++; } /* This test allows for an incomplete line at end of file. */ if (cursor < file_contents.end) cursor++; } /* Finally, sort all the words read. */ qsort (table->start, table->length, sizeof table->start[0], compare_words); } /* Keyword recognition and selection. */ /*----------------------------------------------------------------------. | For each keyword in the source text, constructs an OCCURS structure. | `----------------------------------------------------------------------*/ static void find_occurs_in_text (void) { char *cursor; /* for scanning the source text */ char *scan; /* for scanning the source text also */ char *line_start; /* start of the current input line */ char *line_scan; /* newlines scanned until this point */ int reference_length; /* length of reference in input mode */ WORD possible_key; /* possible key, to ease searches */ OCCURS *occurs_cursor; /* current OCCURS under construction */ char *context_start; /* start of left context */ char *context_end; /* end of right context */ char *word_start; /* start of word */ char *word_end; /* end of word */ char *next_context_start; /* next start of left context */ /* reference_length is always used within 'if (input_reference)'. However, GNU C diagnoses that it may be used uninitialized. The following assignment is merely to shut it up. */ reference_length = 0; /* Tracking where lines start is helpful for reference processing. In auto reference mode, this allows counting lines. In input reference mode, this permits finding the beginning of the references. The first line begins with the file, skip immediately this very first reference in input reference mode, to help further rejection any word found inside it. Also, unconditionally assigning these variable has the happy effect of shutting up lint. */ line_start = text_buffer.start; line_scan = line_start; if (input_reference) { SKIP_NON_WHITE (line_scan, text_buffer.end); reference_length = line_scan - line_start; SKIP_WHITE (line_scan, text_buffer.end); } /* Process the whole buffer, one line or one sentence at a time. */ for (cursor = text_buffer.start; cursor < text_buffer.end; cursor = next_context_start) { /* 'context_start' gets initialized before the processing of each line, or once for the whole buffer if no end of line or sentence sequence separator. */ context_start = cursor; /* If an end of line or end of sentence sequence is defined and non-empty, 'next_context_start' will be recomputed to be the end of each line or sentence, before each one is processed. If no such sequence, then 'next_context_start' is set at the end of the whole buffer, which is then considered to be a single line or sentence. This test also accounts for the case of an incomplete line or sentence at the end of the buffer. */ next_context_start = text_buffer.end; if (context_regex.string) switch (re_search (&context_regex.pattern, cursor, text_buffer.end - cursor, 0, text_buffer.end - cursor, &context_regs)) { case -2: matcher_error (); case -1: break; default: next_context_start = cursor + context_regs.end[0]; break; } /* Include the separator into the right context, but not any suffix white space in this separator; this insures it will be seen in output and will not take more space than necessary. */ context_end = next_context_start; SKIP_WHITE_BACKWARDS (context_end, context_start); /* Read and process a single input line or sentence, one word at a time. */ while (1) { if (word_regex.string) /* If a word regexp has been compiled, use it to skip at the beginning of the next word. If there is no such word, exit the loop. */ { regoff_t r = re_search (&word_regex.pattern, cursor, context_end - cursor, 0, context_end - cursor, &word_regs); if (r == -2) matcher_error (); if (r == -1) break; word_start = cursor + word_regs.start[0]; word_end = cursor + word_regs.end[0]; } else /* Avoid re_search and use the fastmap to skip to the beginning of the next word. If there is no more word in the buffer, exit the loop. */ { scan = cursor; while (scan < context_end && !word_fastmap[to_uchar (*scan)]) scan++; if (scan == context_end) break; word_start = scan; while (scan < context_end && word_fastmap[to_uchar (*scan)]) scan++; word_end = scan; } /* Skip right to the beginning of the found word. */ cursor = word_start; /* Skip any zero length word. Just advance a single position, then go fetch the next word. */ if (word_end == word_start) { cursor++; continue; } /* This is a genuine, non empty word, so save it as a possible key. Then skip over it. Also, maintain the maximum length of all words read so far. It is mandatory to take the maximum length of all words in the file, without considering if they are actually kept or rejected, because backward jumps at output generation time may fall in *any* word. */ possible_key.start = cursor; possible_key.size = word_end - word_start; cursor += possible_key.size; if (possible_key.size > maximum_word_length) maximum_word_length = possible_key.size; /* In input reference mode, update 'line_start' from its previous value. Count the lines just in case auto reference mode is also selected. If it happens that the word just matched is indeed part of a reference; just ignore it. */ if (input_reference) { while (line_scan < possible_key.start) if (*line_scan == '\n') { total_line_count++; line_scan++; line_start = line_scan; SKIP_NON_WHITE (line_scan, text_buffer.end); reference_length = line_scan - line_start; } else line_scan++; if (line_scan > possible_key.start) continue; } /* Ignore the word if an 'Ignore words' table exists and if it is part of it. Also ignore the word if an 'Only words' table and if it is *not* part of it. It is allowed that both tables be used at once, even if this may look strange for now. Just ignore a word that would appear in both. If regexps are eventually implemented for these tables, the Ignore table could then reject words that would have been previously accepted by the Only table. */ if (ignore_file && search_table (&possible_key, &ignore_table)) continue; if (only_file && !search_table (&possible_key, &only_table)) continue; /* A non-empty word has been found. First of all, insure proper allocation of the next OCCURS, and make a pointer to where it will be constructed. */ if (number_of_occurs[0] == occurs_alloc[0]) { if ((SIZE_MAX / sizeof *occurs_table[0] - 1) / 2 < occurs_alloc[0]) xalloc_die (); occurs_alloc[0] = occurs_alloc[0] * 2 + 1; occurs_table[0] = xrealloc (occurs_table[0], occurs_alloc[0] * sizeof *occurs_table[0]); } occurs_cursor = occurs_table[0] + number_of_occurs[0]; /* Define the refence field, if any. */ if (auto_reference) { /* While auto referencing, update 'line_start' from its previous value, counting lines as we go. If input referencing at the same time, 'line_start' has been advanced earlier, and the following loop is never really executed. */ while (line_scan < possible_key.start) if (*line_scan == '\n') { total_line_count++; line_scan++; line_start = line_scan; SKIP_NON_WHITE (line_scan, text_buffer.end); } else line_scan++; occurs_cursor->reference = total_line_count; } else if (input_reference) { /* If only input referencing, 'line_start' has been computed earlier to detect the case the word matched would be part of the reference. The reference position is simply the value of 'line_start'. */ occurs_cursor->reference = (DELTA) (line_start - possible_key.start); if (reference_length > reference_max_width) reference_max_width = reference_length; } /* Exclude the reference from the context in simple cases. */ if (input_reference && line_start == context_start) { SKIP_NON_WHITE (context_start, context_end); SKIP_WHITE (context_start, context_end); } /* Completes the OCCURS structure. */ occurs_cursor->key = possible_key; occurs_cursor->left = context_start - possible_key.start; occurs_cursor->right = context_end - possible_key.start; number_of_occurs[0]++; } } } /* Formatting and actual output - service routines. */ /*-----------------------------------------. | Prints some NUMBER of spaces on stdout. | `-----------------------------------------*/ static void print_spaces (int number) { int counter; for (counter = number; counter > 0; counter--) putchar (' '); } /*-------------------------------------. | Prints the field provided by FIELD. | `-------------------------------------*/ static void print_field (BLOCK field) { char *cursor; /* Cursor in field to print */ int base; /* Base character, without diacritic */ int diacritic; /* Diacritic code for the character */ /* Whitespace is not really compressed. Instead, each white space character (tab, vt, ht etc.) is printed as one single space. */ for (cursor = field.start; cursor < field.end; cursor++) { unsigned char character = *cursor; if (edited_flag[character]) { /* First check if this is a diacriticized character. This works only for TeX. I do not know how diacriticized letters work with 'roff'. Please someone explain it to me! */ diacritic = todiac (character); if (diacritic != 0 && output_format == TEX_FORMAT) { base = tobase (character); switch (diacritic) { case 1: /* Latin diphthongs */ switch (base) { case 'o': fputs ("\\oe{}", stdout); break; case 'O': fputs ("\\OE{}", stdout); break; case 'a': fputs ("\\ae{}", stdout); break; case 'A': fputs ("\\AE{}", stdout); break; default: putchar (' '); } break; case 2: /* Acute accent */ printf ("\\'%s%c", (base == 'i' ? "\\" : ""), base); break; case 3: /* Grave accent */ printf ("\\'%s%c", (base == 'i' ? "\\" : ""), base); break; case 4: /* Circumflex accent */ printf ("\\^%s%c", (base == 'i' ? "\\" : ""), base); break; case 5: /* Diaeresis */ printf ("\\\"%s%c", (base == 'i' ? "\\" : ""), base); break; case 6: /* Tilde accent */ printf ("\\~%s%c", (base == 'i' ? "\\" : ""), base); break; case 7: /* Cedilla */ printf ("\\c{%c}", base); break; case 8: /* Small circle beneath */ switch (base) { case 'a': fputs ("\\aa{}", stdout); break; case 'A': fputs ("\\AA{}", stdout); break; default: putchar (' '); } break; case 9: /* Strike through */ switch (base) { case 'o': fputs ("\\o{}", stdout); break; case 'O': fputs ("\\O{}", stdout); break; default: putchar (' '); } break; } } else /* This is not a diacritic character, so handle cases which are really specific to 'roff' or TeX. All white space processing is done as the default case of this switch. */ switch (character) { case '"': /* In roff output format, double any quote. */ putchar ('"'); putchar ('"'); break; case '$': case '%': case '&': case '#': case '_': /* In TeX output format, precede these with a backslash. */ putchar ('\\'); putchar (character); break; case '{': case '}': /* In TeX output format, precede these with a backslash and force mathematical mode. */ printf ("$\\%c$", character); break; case '\\': /* In TeX output mode, request production of a backslash. */ fputs ("\\backslash{}", stdout); break; default: /* Any other flagged character produces a single space. */ putchar (' '); } } else putchar (*cursor); } } /* Formatting and actual output - planning routines. */ /*--------------------------------------------------------------------. | From information collected from command line options and input file | | readings, compute and fix some output parameter values. | `--------------------------------------------------------------------*/ static void fix_output_parameters (void) { int file_index; /* index in text input file arrays */ int line_ordinal; /* line ordinal value for reference */ char ordinal_string[12]; /* edited line ordinal for reference */ int reference_width; /* width for the whole reference */ int character; /* character ordinal */ const char *cursor; /* cursor in some constant strings */ /* In auto reference mode, the maximum width of this field is precomputed and subtracted from the overall line width. Add one for the column which separate the file name from the line number. */ if (auto_reference) { reference_max_width = 0; for (file_index = 0; file_index < number_input_files; file_index++) { line_ordinal = file_line_count[file_index] + 1; if (file_index > 0) line_ordinal -= file_line_count[file_index - 1]; sprintf (ordinal_string, "%d", line_ordinal); reference_width = strlen (ordinal_string); if (input_file_name[file_index]) reference_width += strlen (input_file_name[file_index]); if (reference_width > reference_max_width) reference_max_width = reference_width; } reference_max_width++; reference.start = xmalloc ((size_t) reference_max_width + 1); } /* If the reference appears to the left of the output line, reserve some space for it right away, including one gap size. */ if ((auto_reference || input_reference) && !right_reference) line_width -= reference_max_width + gap_size; /* The output lines, minimally, will contain from left to right a left context, a gap, and a keyword followed by the right context with no special intervening gap. Half of the line width is dedicated to the left context and the gap, the other half is dedicated to the keyword and the right context; these values are computed once and for all here. There also are tail and head wrap around fields, used when the keyword is near the beginning or the end of the line, or when some long word cannot fit in, but leave place from wrapped around shorter words. The maximum width of these fields are recomputed separately for each line, on a case by case basis. It is worth noting that it cannot happen that both the tail and head fields are used at once. */ half_line_width = line_width / 2; before_max_width = half_line_width - gap_size; keyafter_max_width = half_line_width; /* If truncation_string is the empty string, make it NULL to speed up tests. In this case, truncation_string_length will never get used, so there is no need to set it. */ if (truncation_string && *truncation_string) truncation_string_length = strlen (truncation_string); else truncation_string = NULL; if (gnu_extensions) { /* When flagging truncation at the left of the keyword, the truncation mark goes at the beginning of the before field, unless there is a head field, in which case the mark goes at the left of the head field. When flagging truncation at the right of the keyword, the mark goes at the end of the keyafter field, unless there is a tail field, in which case the mark goes at the end of the tail field. Only eight combination cases could arise for truncation marks: . None. . One beginning the before field. . One beginning the head field. . One ending the keyafter field. . One ending the tail field. . One beginning the before field, another ending the keyafter field. . One ending the tail field, another beginning the before field. . One ending the keyafter field, another beginning the head field. So, there is at most two truncation marks, which could appear both on the left side of the center of the output line, both on the right side, or one on either side. */ before_max_width -= 2 * truncation_string_length; if (before_max_width < 0) before_max_width = 0; keyafter_max_width -= 2 * truncation_string_length; } else { /* I never figured out exactly how UNIX' ptx plans the output width of its various fields. If GNU extensions are disabled, do not try computing the field widths correctly; instead, use the following formula, which does not completely imitate UNIX' ptx, but almost. */ keyafter_max_width -= 2 * truncation_string_length + 1; } /* Compute which characters need special output processing. Initialize by flagging any white space character. Some systems do not consider form feed as a space character, but we do. */ for (character = 0; character < CHAR_SET_SIZE; character++) edited_flag[character] = !! isspace (character); edited_flag['\f'] = 1; /* Complete the special character flagging according to selected output format. */ switch (output_format) { case UNKNOWN_FORMAT: /* Should never happen. */ case DUMB_FORMAT: break; case ROFF_FORMAT: /* 'Quote' characters should be doubled. */ edited_flag['"'] = 1; break; case TEX_FORMAT: /* Various characters need special processing. */ for (cursor = "$%&#_{}\\"; *cursor; cursor++) edited_flag[to_uchar (*cursor)] = 1; /* Any character with 8th bit set will print to a single space, unless it is diacriticized. */ for (character = 0200; character < CHAR_SET_SIZE; character++) edited_flag[character] = todiac (character) != 0; break; } } /*------------------------------------------------------------------. | Compute the position and length of all the output fields, given a | | pointer to some OCCURS. | `------------------------------------------------------------------*/ static void define_all_fields (OCCURS *occurs) { int tail_max_width; /* allowable width of tail field */ int head_max_width; /* allowable width of head field */ char *cursor; /* running cursor in source text */ char *left_context_start; /* start of left context */ char *right_context_end; /* end of right context */ char *left_field_start; /* conservative start for 'head'/'before' */ int file_index; /* index in text input file arrays */ const char *file_name; /* file name for reference */ int line_ordinal; /* line ordinal for reference */ /* Define 'keyafter', start of left context and end of right context. 'keyafter' starts at the saved position for keyword and extend to the right from the end of the keyword, eating separators or full words, but not beyond maximum allowed width for 'keyafter' field or limit for the right context. Suffix spaces will be removed afterwards. */ keyafter.start = occurs->key.start; keyafter.end = keyafter.start + occurs->key.size; left_context_start = keyafter.start + occurs->left; right_context_end = keyafter.start + occurs->right; cursor = keyafter.end; while (cursor < right_context_end && cursor <= keyafter.start + keyafter_max_width) { keyafter.end = cursor; SKIP_SOMETHING (cursor, right_context_end); } if (cursor <= keyafter.start + keyafter_max_width) keyafter.end = cursor; keyafter_truncation = truncation_string && keyafter.end < right_context_end; SKIP_WHITE_BACKWARDS (keyafter.end, keyafter.start); /* When the left context is wide, it might take some time to catch up from the left context boundary to the beginning of the 'head' or 'before' fields. So, in this case, to speed the catchup, we jump back from the keyword, using some secure distance, possibly falling in the middle of a word. A secure backward jump would be at least half the maximum width of a line, plus the size of the longest word met in the whole input. We conclude this backward jump by a skip forward of at least one word. In this manner, we should not inadvertently accept only part of a word. From the reached point, when it will be time to fix the beginning of 'head' or 'before' fields, we will skip forward words or delimiters until we get sufficiently near. */ if (-occurs->left > half_line_width + maximum_word_length) { left_field_start = keyafter.start - (half_line_width + maximum_word_length); SKIP_SOMETHING (left_field_start, keyafter.start); } else left_field_start = keyafter.start + occurs->left; /* 'before' certainly ends at the keyword, but not including separating spaces. It starts after than the saved value for the left context, by advancing it until it falls inside the maximum allowed width for the before field. There will be no prefix spaces either. 'before' only advances by skipping single separators or whole words. */ before.start = left_field_start; before.end = keyafter.start; SKIP_WHITE_BACKWARDS (before.end, before.start); while (before.start + before_max_width < before.end) SKIP_SOMETHING (before.start, before.end); if (truncation_string) { cursor = before.start; SKIP_WHITE_BACKWARDS (cursor, text_buffer.start); before_truncation = cursor > left_context_start; } else before_truncation = 0; SKIP_WHITE (before.start, text_buffer.end); /* The tail could not take more columns than what has been left in the left context field, and a gap is mandatory. It starts after the right context, and does not contain prefixed spaces. It ends at the end of line, the end of buffer or when the tail field is full, whichever comes first. It cannot contain only part of a word, and has no suffixed spaces. */ tail_max_width = before_max_width - (before.end - before.start) - gap_size; if (tail_max_width > 0) { tail.start = keyafter.end; SKIP_WHITE (tail.start, text_buffer.end); tail.end = tail.start; cursor = tail.end; while (cursor < right_context_end && cursor < tail.start + tail_max_width) { tail.end = cursor; SKIP_SOMETHING (cursor, right_context_end); } if (cursor < tail.start + tail_max_width) tail.end = cursor; if (tail.end > tail.start) { keyafter_truncation = 0; tail_truncation = truncation_string && tail.end < right_context_end; } else tail_truncation = 0; SKIP_WHITE_BACKWARDS (tail.end, tail.start); } else { /* No place left for a tail field. */ tail.start = NULL; tail.end = NULL; tail_truncation = 0; } /* 'head' could not take more columns than what has been left in the right context field, and a gap is mandatory. It ends before the left context, and does not contain suffixed spaces. Its pointer is advanced until the head field has shrunk to its allowed width. It cannot contain only part of a word, and has no suffixed spaces. */ head_max_width = keyafter_max_width - (keyafter.end - keyafter.start) - gap_size; if (head_max_width > 0) { head.end = before.start; SKIP_WHITE_BACKWARDS (head.end, text_buffer.start); head.start = left_field_start; while (head.start + head_max_width < head.end) SKIP_SOMETHING (head.start, head.end); if (head.end > head.start) { before_truncation = 0; head_truncation = (truncation_string && head.start > left_context_start); } else head_truncation = 0; SKIP_WHITE (head.start, head.end); } else { /* No place left for a head field. */ head.start = NULL; head.end = NULL; head_truncation = 0; } if (auto_reference) { /* Construct the reference text in preallocated space from the file name and the line number. Find out in which file the reference occurred. Standard input yields an empty file name. Insure line numbers are one based, even if they are computed zero based. */ file_index = 0; while (file_line_count[file_index] < occurs->reference) file_index++; file_name = input_file_name[file_index]; if (!file_name) file_name = ""; line_ordinal = occurs->reference + 1; if (file_index > 0) line_ordinal -= file_line_count[file_index - 1]; sprintf (reference.start, "%s:%d", file_name, line_ordinal); reference.end = reference.start + strlen (reference.start); } else if (input_reference) { /* Reference starts at saved position for reference and extends right until some white space is met. */ reference.start = keyafter.start + (DELTA) occurs->reference; reference.end = reference.start; SKIP_NON_WHITE (reference.end, right_context_end); } } /* Formatting and actual output - control routines. */ /*----------------------------------------------------------------------. | Output the current output fields as one line for 'troff' or 'nroff'. | `----------------------------------------------------------------------*/ static void output_one_roff_line (void) { /* Output the 'tail' field. */ printf (".%s \"", macro_name); print_field (tail); if (tail_truncation) fputs (truncation_string, stdout); putchar ('"'); /* Output the 'before' field. */ fputs (" \"", stdout); if (before_truncation) fputs (truncation_string, stdout); print_field (before); putchar ('"'); /* Output the 'keyafter' field. */ fputs (" \"", stdout); print_field (keyafter); if (keyafter_truncation) fputs (truncation_string, stdout); putchar ('"'); /* Output the 'head' field. */ fputs (" \"", stdout); if (head_truncation) fputs (truncation_string, stdout); print_field (head); putchar ('"'); /* Conditionally output the 'reference' field. */ if (auto_reference || input_reference) { fputs (" \"", stdout); print_field (reference); putchar ('"'); } putchar ('\n'); } /*---------------------------------------------------------. | Output the current output fields as one line for 'TeX'. | `---------------------------------------------------------*/ static void output_one_tex_line (void) { BLOCK key; /* key field, isolated */ BLOCK after; /* after field, isolated */ char *cursor; /* running cursor in source text */ printf ("\\%s ", macro_name); putchar ('{'); print_field (tail); fputs ("}{", stdout); print_field (before); fputs ("}{", stdout); key.start = keyafter.start; after.end = keyafter.end; cursor = keyafter.start; SKIP_SOMETHING (cursor, keyafter.end); key.end = cursor; after.start = cursor; print_field (key); fputs ("}{", stdout); print_field (after); fputs ("}{", stdout); print_field (head); putchar ('}'); if (auto_reference || input_reference) { putchar ('{'); print_field (reference); putchar ('}'); } putchar ('\n'); } /*-------------------------------------------------------------------. | Output the current output fields as one line for a dumb terminal. | `-------------------------------------------------------------------*/ static void output_one_dumb_line (void) { if (!right_reference) { if (auto_reference) { /* Output the 'reference' field, in such a way that GNU emacs next-error will handle it. The ending colon is taken from the gap which follows. */ print_field (reference); putchar (':'); print_spaces (reference_max_width + gap_size - (reference.end - reference.start) - 1); } else { /* Output the 'reference' field and its following gap. */ print_field (reference); print_spaces (reference_max_width + gap_size - (reference.end - reference.start)); } } if (tail.start < tail.end) { /* Output the 'tail' field. */ print_field (tail); if (tail_truncation) fputs (truncation_string, stdout); print_spaces (half_line_width - gap_size - (before.end - before.start) - (before_truncation ? truncation_string_length : 0) - (tail.end - tail.start) - (tail_truncation ? truncation_string_length : 0)); } else print_spaces (half_line_width - gap_size - (before.end - before.start) - (before_truncation ? truncation_string_length : 0)); /* Output the 'before' field. */ if (before_truncation) fputs (truncation_string, stdout); print_field (before); print_spaces (gap_size); /* Output the 'keyafter' field. */ print_field (keyafter); if (keyafter_truncation) fputs (truncation_string, stdout); if (head.start < head.end) { /* Output the 'head' field. */ print_spaces (half_line_width - (keyafter.end - keyafter.start) - (keyafter_truncation ? truncation_string_length : 0) - (head.end - head.start) - (head_truncation ? truncation_string_length : 0)); if (head_truncation) fputs (truncation_string, stdout); print_field (head); } else if ((auto_reference || input_reference) && right_reference) print_spaces (half_line_width - (keyafter.end - keyafter.start) - (keyafter_truncation ? truncation_string_length : 0)); if ((auto_reference || input_reference) && right_reference) { /* Output the 'reference' field. */ print_spaces (gap_size); print_field (reference); } putchar ('\n'); } /*------------------------------------------------------------------------. | Scan the whole occurs table and, for each entry, output one line in the | | appropriate format. | `------------------------------------------------------------------------*/ static void generate_all_output (void) { size_t occurs_index; /* index of keyword entry being processed */ OCCURS *occurs_cursor; /* current keyword entry being processed */ /* The following assignments are useful to provide default values in case line contexts or references are not used, in which case these variables would never be computed. */ tail.start = NULL; tail.end = NULL; tail_truncation = 0; head.start = NULL; head.end = NULL; head_truncation = 0; /* Loop over all keyword occurrences. */ occurs_cursor = occurs_table[0]; for (occurs_index = 0; occurs_index < number_of_occurs[0]; occurs_index++) { /* Compute the exact size of every field and whenever truncation flags are present or not. */ define_all_fields (occurs_cursor); /* Produce one output line according to selected format. */ switch (output_format) { case UNKNOWN_FORMAT: /* Should never happen. */ case DUMB_FORMAT: output_one_dumb_line (); break; case ROFF_FORMAT: output_one_roff_line (); break; case TEX_FORMAT: output_one_tex_line (); break; } /* Advance the cursor into the occurs table. */ occurs_cursor++; } } /* Option decoding and main program. */ /*------------------------------------------------------. | Print program identification and options, then exit. | `------------------------------------------------------*/ void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [INPUT]... (without -G)\n\ or: %s -G [OPTION]... [INPUT [OUTPUT]]\n"), program_name, program_name); fputs (_("\ Output a permuted index, including context, of the words in the input files.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -A, --auto-reference output automatically generated references\n\ -G, --traditional behave more like System V 'ptx'\n\ -F, --flag-truncation=STRING use STRING for flagging line truncations\n\ "), stdout); fputs (_("\ -M, --macro-name=STRING macro name to use instead of 'xx'\n\ -O, --format=roff generate output as roff directives\n\ -R, --right-side-refs put references at right, not counted in -w\n\ -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n\ -T, --format=tex generate output as TeX directives\n\ "), stdout); fputs (_("\ -W, --word-regexp=REGEXP use REGEXP to match each keyword\n\ -b, --break-file=FILE word break characters in this FILE\n\ -f, --ignore-case fold lower case to upper case for sorting\n\ -g, --gap-size=NUMBER gap size in columns between output fields\n\ -i, --ignore-file=FILE read ignore word list from FILE\n\ -o, --only-file=FILE read only word list from this FILE\n\ "), stdout); fputs (_("\ -r, --references first field of each line is a reference\n\ -t, --typeset-mode - not implemented -\n\ -w, --width=NUMBER output width in columns, reference excluded\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /*----------------------------------------------------------------------. | Main program. Decode ARGC arguments passed through the ARGV array of | | strings, then launch execution. | `----------------------------------------------------------------------*/ /* Long options equivalences. */ static struct option const long_options[] = { {"auto-reference", no_argument, NULL, 'A'}, {"break-file", required_argument, NULL, 'b'}, {"flag-truncation", required_argument, NULL, 'F'}, {"ignore-case", no_argument, NULL, 'f'}, {"gap-size", required_argument, NULL, 'g'}, {"ignore-file", required_argument, NULL, 'i'}, {"macro-name", required_argument, NULL, 'M'}, {"only-file", required_argument, NULL, 'o'}, {"references", no_argument, NULL, 'r'}, {"right-side-refs", no_argument, NULL, 'R'}, {"format", required_argument, NULL, 10}, {"sentence-regexp", required_argument, NULL, 'S'}, {"traditional", no_argument, NULL, 'G'}, {"typeset-mode", no_argument, NULL, 't'}, {"width", required_argument, NULL, 'w'}, {"word-regexp", required_argument, NULL, 'W'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0}, }; static char const* const format_args[] = { "roff", "tex", NULL }; static enum Format const format_vals[] = { ROFF_FORMAT, TEX_FORMAT }; int main (int argc, char **argv) { int optchar; /* argument character */ int file_index; /* index in text input file arrays */ /* Decode program options. */ initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); #if HAVE_SETCHRCLASS setchrclass (NULL); #endif while (optchar = getopt_long (argc, argv, "AF:GM:ORS:TW:b:i:fg:o:trw:", long_options, NULL), optchar != EOF) { switch (optchar) { default: usage (EXIT_FAILURE); case 'G': gnu_extensions = false; break; case 'b': break_file = optarg; break; case 'f': ignore_case = true; break; case 'g': { unsigned long int tmp_ulong; if (xstrtoul (optarg, NULL, 0, &tmp_ulong, NULL) != LONGINT_OK || ! (0 < tmp_ulong && tmp_ulong <= INT_MAX)) error (EXIT_FAILURE, 0, _("invalid gap width: %s"), quotearg (optarg)); gap_size = tmp_ulong; break; } case 'i': ignore_file = optarg; break; case 'o': only_file = optarg; break; case 'r': input_reference = true; break; case 't': /* Yet to understand... */ break; case 'w': { unsigned long int tmp_ulong; if (xstrtoul (optarg, NULL, 0, &tmp_ulong, NULL) != LONGINT_OK || ! (0 < tmp_ulong && tmp_ulong <= INT_MAX)) error (EXIT_FAILURE, 0, _("invalid line width: %s"), quotearg (optarg)); line_width = tmp_ulong; break; } case 'A': auto_reference = true; break; case 'F': truncation_string = copy_unescaped_string (optarg); break; case 'M': macro_name = optarg; break; case 'O': output_format = ROFF_FORMAT; break; case 'R': right_reference = true; break; case 'S': context_regex.string = copy_unescaped_string (optarg); break; case 'T': output_format = TEX_FORMAT; break; case 'W': word_regex.string = copy_unescaped_string (optarg); if (!*word_regex.string) word_regex.string = NULL; break; case 10: output_format = XARGMATCH ("--format", optarg, format_args, format_vals); case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); } } /* Process remaining arguments. If GNU extensions are enabled, process all arguments as input parameters. If disabled, accept at most two arguments, the second of which is an output parameter. */ if (optind == argc) { /* No more argument simply means: read standard input. */ input_file_name = xmalloc (sizeof *input_file_name); file_line_count = xmalloc (sizeof *file_line_count); number_input_files = 1; input_file_name[0] = NULL; } else if (gnu_extensions) { number_input_files = argc - optind; input_file_name = xmalloc (number_input_files * sizeof *input_file_name); file_line_count = xmalloc (number_input_files * sizeof *file_line_count); for (file_index = 0; file_index < number_input_files; file_index++) { if (!*argv[optind] || STREQ (argv[optind], "-")) input_file_name[file_index] = NULL; else input_file_name[file_index] = argv[optind]; optind++; } } else { /* There is one necessary input file. */ number_input_files = 1; input_file_name = xmalloc (sizeof *input_file_name); file_line_count = xmalloc (sizeof *file_line_count); if (!*argv[optind] || STREQ (argv[optind], "-")) input_file_name[0] = NULL; else input_file_name[0] = argv[optind]; optind++; /* Redirect standard output, only if requested. */ if (optind < argc) { if (! freopen (argv[optind], "w", stdout)) error (EXIT_FAILURE, errno, "%s", argv[optind]); optind++; } /* Diagnose any other argument as an error. */ if (optind < argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } } /* If the output format has not been explicitly selected, choose dumb terminal format if GNU extensions are enabled, else 'roff' format. */ if (output_format == UNKNOWN_FORMAT) output_format = gnu_extensions ? DUMB_FORMAT : ROFF_FORMAT; /* Initialize the main tables. */ initialize_regex (); /* Read 'Break character' file, if any. */ if (break_file) digest_break_file (break_file); /* Read 'Ignore words' file and 'Only words' files, if any. If any of these files is empty, reset the name of the file to NULL, to avoid unnecessary calls to search_table. */ if (ignore_file) { digest_word_file (ignore_file, &ignore_table); if (ignore_table.length == 0) ignore_file = NULL; } if (only_file) { digest_word_file (only_file, &only_table); if (only_table.length == 0) only_file = NULL; } /* Prepare to study all the input files. */ number_of_occurs[0] = 0; total_line_count = 0; maximum_word_length = 0; reference_max_width = 0; for (file_index = 0; file_index < number_input_files; file_index++) { /* Read the file in core, than study it. */ swallow_file_in_memory (input_file_name[file_index], &text_buffer); find_occurs_in_text (); /* Maintain for each file how many lines has been read so far when its end is reached. Incrementing the count first is a simple kludge to handle a possible incomplete line at end of file. */ total_line_count++; file_line_count[file_index] = total_line_count; } /* Do the output process phase. */ sort_found_occurs (); fix_output_parameters (); generate_all_output (); /* All done. */ exit (EXIT_SUCCESS); } coreutils-8.21/src/truncate.c0000664000000000000000000002760712104672701013142 00000000000000/* truncate -- truncate or extend the length of files. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Pádraig Brady This is backwards compatible with the FreeBSD utility, but is more flexible wrt the size specifications and the use of long options, to better fit the "GNU" environment. */ #include /* sets _FILE_OFFSET_BITS=64 etc. */ #include #include #include #include "system.h" #include "error.h" #include "quote.h" #include "stat-size.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "truncate" #define AUTHORS proper_name_utf8 ("Padraig Brady", "P\303\241draig Brady") /* (-c) If true, don't create if not already there */ static bool no_create; /* (-o) If true, --size refers to blocks not bytes */ static bool block_mode; /* (-r) Reference file to use size from */ static char const *ref_file; static struct option const longopts[] = { {"no-create", no_argument, NULL, 'c'}, {"io-blocks", no_argument, NULL, 'o'}, {"reference", required_argument, NULL, 'r'}, {"size", required_argument, NULL, 's'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; typedef enum { rm_abs = 0, rm_rel, rm_min, rm_max, rm_rdn, rm_rup } rel_mode_t; /* Set size to the value of STR, interpreted as a decimal integer, optionally multiplied by various values. Return -1 on error, 0 on success. This supports dd BLOCK size suffixes + lowercase g,t,m for bsd compat Note we don't support dd's b=512, c=1, w=2 or 21x512MiB formats. */ static int parse_len (char const *str, off_t *size) { enum strtol_error e; intmax_t tmp_size; e = xstrtoimax (str, NULL, 10, &tmp_size, "EgGkKmMPtTYZ0"); if (e == LONGINT_OK && !(OFF_T_MIN <= tmp_size && tmp_size <= OFF_T_MAX)) e = LONGINT_OVERFLOW; if (e == LONGINT_OK) { errno = 0; *size = tmp_size; return 0; } errno = (e == LONGINT_OVERFLOW ? EOVERFLOW : 0); return -1; } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s OPTION... FILE...\n"), program_name); fputs (_("\ Shrink or extend the size of each FILE to the specified size\n\ \n\ A FILE argument that does not exist is created.\n\ \n\ If a FILE is larger than the specified size, the extra data is lost.\n\ If a FILE is shorter, it is extended and the extended part (hole)\n\ reads as zero bytes.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -c, --no-create do not create any files\n\ "), stdout); fputs (_("\ -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n\ "), stdout); fputs (_("\ -r, --reference=RFILE base size on RFILE\n\ -s, --size=SIZE set or adjust the file size by SIZE\n"), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_size_note (); fputs (_("\n\ SIZE may also be prefixed by one of the following modifying characters:\n\ '+' extend by, '-' reduce by, '<' at most, '>' at least,\n\ '/' round down to multiple of, '%' round up to multiple of.\n"), stdout); emit_ancillary_info (); } exit (status); } /* return true on success, false on error. */ static bool do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize, rel_mode_t rel_mode) { struct stat sb; off_t nsize; if ((block_mode || (rel_mode && rsize < 0)) && fstat (fd, &sb) != 0) { error (0, errno, _("cannot fstat %s"), quote (fname)); return false; } if (block_mode) { off_t const blksize = ST_BLKSIZE (sb); if (ssize < OFF_T_MIN / blksize || ssize > OFF_T_MAX / blksize) { error (0, 0, _("overflow in %" PRIdMAX " * %" PRIdMAX " byte blocks for file %s"), (intmax_t) ssize, (intmax_t) blksize, quote (fname)); return false; } ssize *= blksize; } if (rel_mode) { uintmax_t fsize; if (0 <= rsize) fsize = rsize; else { off_t file_size; if (usable_st_size (&sb)) { file_size = sb.st_size; if (file_size < 0) { /* Sanity check. Overflow is the only reason I can think this would ever go negative. */ error (0, 0, _("%s has unusable, apparently negative size"), quote (fname)); return false; } } else { file_size = lseek (fd, 0, SEEK_END); if (file_size < 0) { error (0, errno, _("cannot get the size of %s"), quote (fname)); return false; } } fsize = file_size; } if (rel_mode == rm_min) nsize = MAX (fsize, (uintmax_t) ssize); else if (rel_mode == rm_max) nsize = MIN (fsize, (uintmax_t) ssize); else if (rel_mode == rm_rdn) /* 0..ssize-1 -> 0 */ nsize = (fsize / ssize) * ssize; else if (rel_mode == rm_rup) /* 1..ssize -> ssize */ { /* Here ssize>=1 && fsize>=0 */ uintmax_t const overflow = ((fsize + ssize - 1) / ssize) * ssize; if (overflow > OFF_T_MAX) { error (0, 0, _("overflow rounding up size of file %s"), quote (fname)); return false; } nsize = overflow; } else { if (ssize > OFF_T_MAX - (off_t)fsize) { error (0, 0, _("overflow extending size of file %s"), quote (fname)); return false; } nsize = fsize + ssize; } } else nsize = ssize; if (nsize < 0) nsize = 0; if (ftruncate (fd, nsize) == -1) /* note updates mtime & ctime */ { error (0, errno, _("failed to truncate %s at %" PRIdMAX " bytes"), quote (fname), (intmax_t) nsize); return false; } return true; } int main (int argc, char **argv) { bool got_size = false; bool errors = false; off_t size IF_LINT ( = 0); off_t rsize = -1; rel_mode_t rel_mode = rm_abs; int c, fd = -1, oflags; char const *fname; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((c = getopt_long (argc, argv, "cor:s:", longopts, NULL)) != -1) { switch (c) { case 'c': no_create = true; break; case 'o': block_mode = true; break; case 'r': ref_file = optarg; break; case 's': /* skip any whitespace */ while (isspace (to_uchar (*optarg))) optarg++; switch (*optarg) { case '<': rel_mode = rm_max; optarg++; break; case '>': rel_mode = rm_min; optarg++; break; case '/': rel_mode = rm_rdn; optarg++; break; case '%': rel_mode = rm_rup; optarg++; break; } /* skip any whitespace */ while (isspace (to_uchar (*optarg))) optarg++; if (*optarg == '+' || *optarg == '-') { if (rel_mode) { error (0, 0, _("multiple relative modifiers specified")); /* Note other combinations are flagged as invalid numbers */ usage (EXIT_FAILURE); } rel_mode = rm_rel; } if (parse_len (optarg, &size) == -1) error (EXIT_FAILURE, errno, _("invalid number %s"), quote (optarg)); /* Rounding to multiple of 0 is nonsensical */ if ((rel_mode == rm_rup || rel_mode == rm_rdn) && size == 0) error (EXIT_FAILURE, 0, _("division by zero")); got_size = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } argv += optind; argc -= optind; /* must specify either size or reference file */ if (!ref_file && !got_size) { error (0, 0, _("you must specify either %s or %s"), quote_n (0, "--size"), quote_n (1, "--reference")); usage (EXIT_FAILURE); } /* must specify a relative size with a reference file */ if (ref_file && got_size && !rel_mode) { error (0, 0, _("you must specify a relative %s with %s"), quote_n (0, "--size"), quote_n (1, "--reference")); usage (EXIT_FAILURE); } /* block_mode without size is not valid */ if (block_mode && !got_size) { error (0, 0, _("%s was specified but %s was not"), quote_n (0, "--io-blocks"), quote_n (1, "--size")); usage (EXIT_FAILURE); } /* must specify at least 1 file */ if (argc < 1) { error (0, 0, _("missing file operand")); usage (EXIT_FAILURE); } if (ref_file) { struct stat sb; off_t file_size = -1; if (stat (ref_file, &sb) != 0) error (EXIT_FAILURE, errno, _("cannot stat %s"), quote (ref_file)); if (usable_st_size (&sb)) file_size = sb.st_size; else { int ref_fd = open (ref_file, O_RDONLY); if (0 <= ref_fd) { off_t file_end = lseek (ref_fd, 0, SEEK_END); int saved_errno = errno; close (ref_fd); /* ignore failure */ if (0 <= file_end) file_size = file_end; else { /* restore, in case close clobbered it. */ errno = saved_errno; } } } if (file_size < 0) error (EXIT_FAILURE, errno, _("cannot get the size of %s"), quote (ref_file)); if (!got_size) size = file_size; else rsize = file_size; } oflags = O_WRONLY | (no_create ? 0 : O_CREAT) | O_NONBLOCK; while ((fname = *argv++) != NULL) { if ((fd = open (fname, oflags, MODE_RW_UGO)) == -1) { /* 'truncate -s0 -c no-such-file' shouldn't gen error 'truncate -s0 no-such-dir/file' should gen ENOENT error 'truncate -s0 no-such-dir/' should gen EISDIR error 'truncate -s0 .' should gen EISDIR error */ if (!(no_create && errno == ENOENT)) { error (0, errno, _("cannot open %s for writing"), quote (fname)); errors = true; } continue; } if (fd != -1) { errors |= !do_ftruncate (fd, fname, size, rsize, rel_mode); if (close (fd) != 0) { error (0, errno, _("failed to close %s"), quote (fname)); errors = true; } } } return errors ? EXIT_FAILURE : EXIT_SUCCESS; } coreutils-8.21/src/fiemap.h0000664000000000000000000000575412050450172012556 00000000000000/* FS_IOC_FIEMAP ioctl infrastructure. Some portions copyright (C) 2007 Cluster File Systems, Inc Authors: Mark Fasheh Kalpak Shah Andreas Dilger . */ /* Copy from kernel, modified to respect GNU code style by Jie Liu. */ #ifndef _LINUX_FIEMAP_H # define _LINUX_FIEMAP_H # include struct fiemap_extent { /* Logical offset in bytes for the start of the extent from the beginning of the file. */ uint64_t fe_logical; /* Physical offset in bytes for the start of the extent from the beginning of the disk. */ uint64_t fe_physical; /* Length in bytes for this extent. */ uint64_t fe_length; uint64_t fe_reserved64[2]; /* FIEMAP_EXTENT_* flags for this extent. */ uint32_t fe_flags; uint32_t fe_reserved[3]; }; struct fiemap { /* Logical offset(inclusive) at which to start mapping(in). */ uint64_t fm_start; /* Logical length of mapping which userspace wants(in). */ uint64_t fm_length; /* FIEMAP_FLAG_* flags for request(in/out). */ uint32_t fm_flags; /* Number of extents that were mapped(out). */ uint32_t fm_mapped_extents; /* Size of fm_extents array(in). */ uint32_t fm_extent_count; uint32_t fm_reserved; /* Array of mapped extents(out). This is protected by the ifdef because it uses non standard zero length arrays. Note C99 has the equivalent flexible arrays, but we don't use those for maximum portability to older systems. */ # ifdef __linux__ struct fiemap_extent fm_extents[0]; # endif }; /* The maximum offset can be mapped for a file. */ # define FIEMAP_MAX_OFFSET (~0ULL) /* Sync file data before map. */ # define FIEMAP_FLAG_SYNC 0x00000001 /* Map extented attribute tree. */ # define FIEMAP_FLAG_XATTR 0x00000002 # define FIEMAP_FLAGS_COMPAT (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_XATTR) /* Last extent in file. */ # define FIEMAP_EXTENT_LAST 0x00000001 /* Data location unknown. */ # define FIEMAP_EXTENT_UNKNOWN 0x00000002 /* Location still pending, Sets EXTENT_UNKNOWN. */ # define FIEMAP_EXTENT_DELALLOC 0x00000004 /* Data cannot be read while fs is unmounted. */ # define FIEMAP_EXTENT_ENCODED 0x00000008 /* Data is encrypted by fs. Sets EXTENT_NO_BYPASS. */ # define FIEMAP_EXTENT_DATA_ENCRYPTED 0x00000080 /* Extent offsets may not be block aligned. */ # define FIEMAP_EXTENT_NOT_ALIGNED 0x00000100 /* Data mixed with metadata. Sets EXTENT_NOT_ALIGNED. */ # define FIEMAP_EXTENT_DATA_INLINE 0x00000200 /* Multiple files in block. Set EXTENT_NOT_ALIGNED. */ # define FIEMAP_EXTENT_DATA_TAIL 0x00000400 /* Space allocated, but not data (i.e. zero). */ # define FIEMAP_EXTENT_UNWRITTEN 0x00000800 /* File does not natively support extents. Result merged for efficiency. */ # define FIEMAP_EXTENT_MERGED 0x00001000 /* Space shared with other files. */ # define FIEMAP_EXTENT_SHARED 0x00002000 #endif coreutils-8.21/src/join.c0000664000000000000000000007611612102337340012246 00000000000000/* join - join lines of two files on a common field Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Mike Haertel, mike@gnu.ai.mit.edu. */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "hard-locale.h" #include "linebuffer.h" #include "memcasecmp.h" #include "quote.h" #include "stdio--.h" #include "xmemcoll.h" #include "xstrtol.h" #include "argmatch.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "join" #define AUTHORS proper_name ("Mike Haertel") #define join system_join #define SWAPLINES(a, b) do { \ struct line *tmp = a; \ a = b; \ b = tmp; \ } while (0); /* An element of the list identifying which fields to print for each output line. */ struct outlist { /* File number: 0, 1, or 2. 0 means use the join field. 1 means use the first file argument, 2 the second. */ int file; /* Field index (zero-based), specified only when FILE is 1 or 2. */ size_t field; struct outlist *next; }; /* A field of a line. */ struct field { char *beg; /* First character in field. */ size_t len; /* The length of the field. */ }; /* A line read from an input file. */ struct line { struct linebuffer buf; /* The line itself. */ size_t nfields; /* Number of elements in 'fields'. */ size_t nfields_allocated; /* Number of elements allocated for 'fields'. */ struct field *fields; }; /* One or more consecutive lines read from a file that all have the same join field value. */ struct seq { size_t count; /* Elements used in 'lines'. */ size_t alloc; /* Elements allocated in 'lines'. */ struct line **lines; }; /* The previous line read from each file. */ static struct line *prevline[2] = {NULL, NULL}; /* The number of lines read from each file. */ static uintmax_t line_no[2] = {0, 0}; /* The input file names. */ static char *g_names[2]; /* This provides an extra line buffer for each file. We need these if we try to read two consecutive lines into the same buffer, since we don't want to overwrite the previous buffer before we check order. */ static struct line *spareline[2] = {NULL, NULL}; /* True if the LC_COLLATE locale is hard. */ static bool hard_LC_COLLATE; /* If nonzero, print unpairable lines in file 1 or 2. */ static bool print_unpairables_1, print_unpairables_2; /* If nonzero, print pairable lines. */ static bool print_pairables; /* If nonzero, we have seen at least one unpairable line. */ static bool seen_unpairable; /* If nonzero, we have warned about disorder in that file. */ static bool issued_disorder_warning[2]; /* Empty output field filler. */ static char const *empty_filler; /* Whether to ensure the same number of fields are output from each line. */ static bool autoformat; /* The number of fields to output for each line. Only significant when autoformat is true. */ static size_t autocount_1; static size_t autocount_2; /* Field to join on; SIZE_MAX means they haven't been determined yet. */ static size_t join_field_1 = SIZE_MAX; static size_t join_field_2 = SIZE_MAX; /* List of fields to print. */ static struct outlist outlist_head; /* Last element in 'outlist', where a new element can be added. */ static struct outlist *outlist_end = &outlist_head; /* Tab character separating fields. If negative, fields are separated by any nonempty string of blanks, otherwise by exactly one tab character whose value (when cast to unsigned char) equals TAB. */ static int tab = -1; /* If nonzero, check that the input is correctly ordered. */ static enum { CHECK_ORDER_DEFAULT, CHECK_ORDER_ENABLED, CHECK_ORDER_DISABLED } check_input_order; enum { CHECK_ORDER_OPTION = CHAR_MAX + 1, NOCHECK_ORDER_OPTION, HEADER_LINE_OPTION }; static struct option const longopts[] = { {"ignore-case", no_argument, NULL, 'i'}, {"check-order", no_argument, NULL, CHECK_ORDER_OPTION}, {"nocheck-order", no_argument, NULL, NOCHECK_ORDER_OPTION}, {"header", no_argument, NULL, HEADER_LINE_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; /* Used to print non-joining lines */ static struct line uni_blank; /* If nonzero, ignore case when comparing join fields. */ static bool ignore_case; /* If nonzero, treat the first line of each file as column headers -- join them without checking for ordering */ static bool join_header_lines; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... FILE1 FILE2\n\ "), program_name); fputs (_("\ For each pair of input lines with identical join fields, write a line to\n\ standard output. The default join field is the first, delimited\n\ by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n\ \n\ -a FILENUM also print unpairable lines from file FILENUM, where\n\ FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n\ -e EMPTY replace missing input fields with EMPTY\n\ "), stdout); fputs (_("\ -i, --ignore-case ignore differences in case when comparing fields\n\ -j FIELD equivalent to '-1 FIELD -2 FIELD'\n\ -o FORMAT obey FORMAT while constructing output line\n\ -t CHAR use CHAR as input and output field separator\n\ "), stdout); fputs (_("\ -v FILENUM like -a FILENUM, but suppress joined output lines\n\ -1 FIELD join on this FIELD of file 1\n\ -2 FIELD join on this FIELD of file 2\n\ --check-order check that the input is correctly sorted, even\n\ if all input lines are pairable\n\ --nocheck-order do not check that the input is correctly sorted\n\ --header treat the first line in each file as field headers,\n\ print them without trying to pair them\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Unless -t CHAR is given, leading blanks separate fields and are ignored,\n\ else fields are separated by CHAR. Any FIELD is a field number counted\n\ from 1. FORMAT is one or more comma or blank separated specifications,\n\ each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n\ the remaining fields from FILE1, the remaining fields from FILE2, all\n\ separated by CHAR. If FORMAT is the keyword 'auto', then the first\n\ line of each file determines the number of fields output for each line.\n\ \n\ Important: FILE1 and FILE2 must be sorted on the join fields.\n\ E.g., use \"sort -k 1b,1\" if 'join' has no options,\n\ or use \"join -t ''\" if 'sort' has no options.\n\ Note, comparisons honor the rules specified by 'LC_COLLATE'.\n\ If the input is not sorted and some lines cannot be joined, a\n\ warning message will be given.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* Record a field in LINE, with location FIELD and size LEN. */ static void extract_field (struct line *line, char *field, size_t len) { if (line->nfields >= line->nfields_allocated) { line->fields = X2NREALLOC (line->fields, &line->nfields_allocated); } line->fields[line->nfields].beg = field; line->fields[line->nfields].len = len; ++(line->nfields); } /* Fill in the 'fields' structure in LINE. */ static void xfields (struct line *line) { char *ptr = line->buf.buffer; char const *lim = ptr + line->buf.length - 1; if (ptr == lim) return; if (0 <= tab && tab != '\n') { char *sep; for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1) extract_field (line, ptr, sep - ptr); } else if (tab < 0) { /* Skip leading blanks before the first field. */ while (isblank (to_uchar (*ptr))) if (++ptr == lim) return; do { char *sep; for (sep = ptr + 1; sep != lim && ! isblank (to_uchar (*sep)); sep++) continue; extract_field (line, ptr, sep - ptr); if (sep == lim) return; for (ptr = sep + 1; ptr != lim && isblank (to_uchar (*ptr)); ptr++) continue; } while (ptr != lim); } extract_field (line, ptr, lim - ptr); } static void freeline (struct line *line) { if (line == NULL) return; free (line->fields); line->fields = NULL; free (line->buf.buffer); line->buf.buffer = NULL; } /* Return <0 if the join field in LINE1 compares less than the one in LINE2; >0 if it compares greater; 0 if it compares equal. Report an error and exit if the comparison fails. Use join fields JF_1 and JF_2 respectively. */ static int keycmp (struct line const *line1, struct line const *line2, size_t jf_1, size_t jf_2) { /* Start of field to compare in each file. */ char *beg1; char *beg2; size_t len1; size_t len2; /* Length of fields to compare. */ int diff; if (jf_1 < line1->nfields) { beg1 = line1->fields[jf_1].beg; len1 = line1->fields[jf_1].len; } else { beg1 = NULL; len1 = 0; } if (jf_2 < line2->nfields) { beg2 = line2->fields[jf_2].beg; len2 = line2->fields[jf_2].len; } else { beg2 = NULL; len2 = 0; } if (len1 == 0) return len2 == 0 ? 0 : -1; if (len2 == 0) return 1; if (ignore_case) { /* FIXME: ignore_case does not work with NLS (in particular, with multibyte chars). */ diff = memcasecmp (beg1, beg2, MIN (len1, len2)); } else { if (hard_LC_COLLATE) return xmemcoll (beg1, len1, beg2, len2); diff = memcmp (beg1, beg2, MIN (len1, len2)); } if (diff) return diff; return len1 < len2 ? -1 : len1 != len2; } /* Check that successive input lines PREV and CURRENT from input file WHATFILE are presented in order, unless the user may be relying on the GNU extension that input lines may be out of order if no input lines are unpairable. If the user specified --nocheck-order, the check is not made. If the user specified --check-order, the problem is fatal. Otherwise (the default), the message is simply a warning. A message is printed at most once per input file. */ static void check_order (const struct line *prev, const struct line *current, int whatfile) { if (check_input_order != CHECK_ORDER_DISABLED && ((check_input_order == CHECK_ORDER_ENABLED) || seen_unpairable)) { if (!issued_disorder_warning[whatfile-1]) { size_t join_field = whatfile == 1 ? join_field_1 : join_field_2; if (keycmp (prev, current, join_field, join_field) > 0) { /* Exclude any trailing newline. */ size_t len = current->buf.length; if (0 < len && current->buf.buffer[len - 1] == '\n') --len; /* If the offending line is longer than INT_MAX, output only the first INT_MAX bytes in this diagnostic. */ len = MIN (INT_MAX, len); error ((check_input_order == CHECK_ORDER_ENABLED ? EXIT_FAILURE : 0), 0, _("%s:%"PRIuMAX": is not sorted: %.*s"), g_names[whatfile - 1], line_no[whatfile - 1], (int) len, current->buf.buffer); /* If we get to here, the message was merely a warning. Arrange to issue it only once per file. */ issued_disorder_warning[whatfile-1] = true; } } } } static inline void reset_line (struct line *line) { line->nfields = 0; } static struct line * init_linep (struct line **linep) { struct line *line = xcalloc (1, sizeof *line); *linep = line; return line; } /* Read a line from FP into LINE and split it into fields. Return true if successful. */ static bool get_line (FILE *fp, struct line **linep, int which) { struct line *line = *linep; if (line == prevline[which - 1]) { SWAPLINES (line, spareline[which - 1]); *linep = line; } if (line) reset_line (line); else line = init_linep (linep); if (! readlinebuffer (&line->buf, fp)) { if (ferror (fp)) error (EXIT_FAILURE, errno, _("read error")); freeline (line); return false; } ++line_no[which - 1]; xfields (line); if (prevline[which - 1]) check_order (prevline[which - 1], line, which); prevline[which - 1] = line; return true; } static void free_spareline (void) { size_t i; for (i = 0; i < ARRAY_CARDINALITY (spareline); i++) { if (spareline[i]) { freeline (spareline[i]); free (spareline[i]); } } } static void initseq (struct seq *seq) { seq->count = 0; seq->alloc = 0; seq->lines = NULL; } /* Read a line from FP and add it to SEQ. Return true if successful. */ static bool getseq (FILE *fp, struct seq *seq, int whichfile) { if (seq->count == seq->alloc) { size_t i; seq->lines = X2NREALLOC (seq->lines, &seq->alloc); for (i = seq->count; i < seq->alloc; i++) seq->lines[i] = NULL; } if (get_line (fp, &seq->lines[seq->count], whichfile)) { ++seq->count; return true; } return false; } /* Read a line from FP and add it to SEQ, as the first item if FIRST is true, else as the next. */ static bool advance_seq (FILE *fp, struct seq *seq, bool first, int whichfile) { if (first) seq->count = 0; return getseq (fp, seq, whichfile); } static void delseq (struct seq *seq) { size_t i; for (i = 0; i < seq->alloc; i++) { freeline (seq->lines[i]); free (seq->lines[i]); } free (seq->lines); } /* Print field N of LINE if it exists and is nonempty, otherwise 'empty_filler' if it is nonempty. */ static void prfield (size_t n, struct line const *line) { size_t len; if (n < line->nfields) { len = line->fields[n].len; if (len) fwrite (line->fields[n].beg, 1, len, stdout); else if (empty_filler) fputs (empty_filler, stdout); } else if (empty_filler) fputs (empty_filler, stdout); } /* Output all the fields in line, other than the join field. */ static void prfields (struct line const *line, size_t join_field, size_t autocount) { size_t i; size_t nfields = autoformat ? autocount : line->nfields; char output_separator = tab < 0 ? ' ' : tab; for (i = 0; i < join_field && i < nfields; ++i) { putchar (output_separator); prfield (i, line); } for (i = join_field + 1; i < nfields; ++i) { putchar (output_separator); prfield (i, line); } } /* Print the join of LINE1 and LINE2. */ static void prjoin (struct line const *line1, struct line const *line2) { const struct outlist *outlist; char output_separator = tab < 0 ? ' ' : tab; size_t field; struct line const *line; outlist = outlist_head.next; if (outlist) { const struct outlist *o; o = outlist; while (1) { if (o->file == 0) { if (line1 == &uni_blank) { line = line2; field = join_field_2; } else { line = line1; field = join_field_1; } } else { line = (o->file == 1 ? line1 : line2); field = o->field; } prfield (field, line); o = o->next; if (o == NULL) break; putchar (output_separator); } putchar ('\n'); } else { if (line1 == &uni_blank) { line = line2; field = join_field_2; } else { line = line1; field = join_field_1; } /* Output the join field. */ prfield (field, line); /* Output other fields. */ prfields (line1, join_field_1, autocount_1); prfields (line2, join_field_2, autocount_2); putchar ('\n'); } } /* Print the join of the files in FP1 and FP2. */ static void join (FILE *fp1, FILE *fp2) { struct seq seq1, seq2; int diff; bool eof1, eof2; fadvise (fp1, FADVISE_SEQUENTIAL); fadvise (fp2, FADVISE_SEQUENTIAL); /* Read the first line of each file. */ initseq (&seq1); getseq (fp1, &seq1, 1); initseq (&seq2); getseq (fp2, &seq2, 2); if (autoformat) { autocount_1 = seq1.count ? seq1.lines[0]->nfields : 0; autocount_2 = seq2.count ? seq2.lines[0]->nfields : 0; } if (join_header_lines && (seq1.count || seq2.count)) { struct line const *hline1 = seq1.count ? seq1.lines[0] : &uni_blank; struct line const *hline2 = seq2.count ? seq2.lines[0] : &uni_blank; prjoin (hline1, hline2); prevline[0] = NULL; prevline[1] = NULL; if (seq1.count) advance_seq (fp1, &seq1, true, 1); if (seq2.count) advance_seq (fp2, &seq2, true, 2); } while (seq1.count && seq2.count) { size_t i; diff = keycmp (seq1.lines[0], seq2.lines[0], join_field_1, join_field_2); if (diff < 0) { if (print_unpairables_1) prjoin (seq1.lines[0], &uni_blank); advance_seq (fp1, &seq1, true, 1); seen_unpairable = true; continue; } if (diff > 0) { if (print_unpairables_2) prjoin (&uni_blank, seq2.lines[0]); advance_seq (fp2, &seq2, true, 2); seen_unpairable = true; continue; } /* Keep reading lines from file1 as long as they continue to match the current line from file2. */ eof1 = false; do if (!advance_seq (fp1, &seq1, false, 1)) { eof1 = true; ++seq1.count; break; } while (!keycmp (seq1.lines[seq1.count - 1], seq2.lines[0], join_field_1, join_field_2)); /* Keep reading lines from file2 as long as they continue to match the current line from file1. */ eof2 = false; do if (!advance_seq (fp2, &seq2, false, 2)) { eof2 = true; ++seq2.count; break; } while (!keycmp (seq1.lines[0], seq2.lines[seq2.count - 1], join_field_1, join_field_2)); if (print_pairables) { for (i = 0; i < seq1.count - 1; ++i) { size_t j; for (j = 0; j < seq2.count - 1; ++j) prjoin (seq1.lines[i], seq2.lines[j]); } } if (!eof1) { SWAPLINES (seq1.lines[0], seq1.lines[seq1.count - 1]); seq1.count = 1; } else seq1.count = 0; if (!eof2) { SWAPLINES (seq2.lines[0], seq2.lines[seq2.count - 1]); seq2.count = 1; } else seq2.count = 0; } /* If the user did not specify --nocheck-order, then we read the tail ends of both inputs to verify that they are in order. We skip the rest of the tail once we have issued a warning for that file, unless we actually need to print the unpairable lines. */ struct line *line = NULL; bool checktail = false; if (check_input_order != CHECK_ORDER_DISABLED && !(issued_disorder_warning[0] && issued_disorder_warning[1])) checktail = true; if ((print_unpairables_1 || checktail) && seq1.count) { if (print_unpairables_1) prjoin (seq1.lines[0], &uni_blank); if (seq2.count) seen_unpairable = true; while (get_line (fp1, &line, 1)) { if (print_unpairables_1) prjoin (line, &uni_blank); if (issued_disorder_warning[0] && !print_unpairables_1) break; } } if ((print_unpairables_2 || checktail) && seq2.count) { if (print_unpairables_2) prjoin (&uni_blank, seq2.lines[0]); if (seq1.count) seen_unpairable = true; while (get_line (fp2, &line, 2)) { if (print_unpairables_2) prjoin (&uni_blank, line); if (issued_disorder_warning[1] && !print_unpairables_2) break; } } freeline (line); free (line); delseq (&seq1); delseq (&seq2); } /* Add a field spec for field FIELD of file FILE to 'outlist'. */ static void add_field (int file, size_t field) { struct outlist *o; assert (file == 0 || file == 1 || file == 2); assert (file != 0 || field == 0); o = xmalloc (sizeof *o); o->file = file; o->field = field; o->next = NULL; /* Add to the end of the list so the fields are in the right order. */ outlist_end->next = o; outlist_end = o; } /* Convert a string of decimal digits, STR (the 1-based join field number), to an integral value. Upon successful conversion, return one less (the zero-based field number). Silently convert too-large values to SIZE_MAX - 1. Otherwise, if a value cannot be converted, give a diagnostic and exit. */ static size_t string_to_join_field (char const *str) { size_t result; unsigned long int val; verify (SIZE_MAX <= ULONG_MAX); strtol_error s_err = xstrtoul (str, NULL, 10, &val, ""); if (s_err == LONGINT_OVERFLOW || (s_err == LONGINT_OK && SIZE_MAX < val)) val = SIZE_MAX; else if (s_err != LONGINT_OK || val == 0) error (EXIT_FAILURE, 0, _("invalid field number: %s"), quote (str)); result = val - 1; return result; } /* Convert a single field specifier string, S, to a *FILE_INDEX, *FIELD_INDEX pair. In S, the field index string is 1-based; *FIELD_INDEX is zero-based. If S is valid, return true. Otherwise, give a diagnostic and exit. */ static void decode_field_spec (const char *s, int *file_index, size_t *field_index) { /* The first character must be 0, 1, or 2. */ switch (s[0]) { case '0': if (s[1]) { /* '0' must be all alone -- no '.FIELD'. */ error (EXIT_FAILURE, 0, _("invalid field specifier: %s"), quote (s)); } *file_index = 0; *field_index = 0; break; case '1': case '2': if (s[1] != '.') error (EXIT_FAILURE, 0, _("invalid field specifier: %s"), quote (s)); *file_index = s[0] - '0'; *field_index = string_to_join_field (s + 2); break; default: error (EXIT_FAILURE, 0, _("invalid file number in field spec: %s"), quote (s)); /* Tell gcc -W -Wall that we can't get beyond this point. This avoids a warning (otherwise legit) that the caller's copies of *file_index and *field_index might be used uninitialized. */ abort (); break; } } /* Add the comma or blank separated field spec(s) in STR to 'outlist'. */ static void add_field_list (char *str) { char *p = str; do { int file_index; size_t field_index; char const *spec_item = p; p = strpbrk (p, ", \t"); if (p) *p++ = '\0'; decode_field_spec (spec_item, &file_index, &field_index); add_field (file_index, field_index); } while (p); } /* Set the join field *VAR to VAL, but report an error if *VAR is set more than once to incompatible values. */ static void set_join_field (size_t *var, size_t val) { if (*var != SIZE_MAX && *var != val) { unsigned long int var1 = *var + 1; unsigned long int val1 = val + 1; error (EXIT_FAILURE, 0, _("incompatible join fields %lu, %lu"), var1, val1); } *var = val; } /* Status of command-line arguments. */ enum operand_status { /* This argument must be an operand, i.e., one of the files to be joined. */ MUST_BE_OPERAND, /* This might be the argument of the preceding -j1 or -j2 option, or it might be an operand. */ MIGHT_BE_J1_ARG, MIGHT_BE_J2_ARG, /* This might be the argument of the preceding -o option, or it might be an operand. */ MIGHT_BE_O_ARG }; /* Add NAME to the array of input file NAMES with operand statuses OPERAND_STATUS; currently there are NFILES names in the list. */ static void add_file_name (char *name, char *names[2], int operand_status[2], int joption_count[2], int *nfiles, int *prev_optc_status, int *optc_status) { int n = *nfiles; if (n == 2) { bool op0 = (operand_status[0] == MUST_BE_OPERAND); char *arg = names[op0]; switch (operand_status[op0]) { case MUST_BE_OPERAND: error (0, 0, _("extra operand %s"), quote (name)); usage (EXIT_FAILURE); case MIGHT_BE_J1_ARG: joption_count[0]--; set_join_field (&join_field_1, string_to_join_field (arg)); break; case MIGHT_BE_J2_ARG: joption_count[1]--; set_join_field (&join_field_2, string_to_join_field (arg)); break; case MIGHT_BE_O_ARG: add_field_list (arg); break; } if (!op0) { operand_status[0] = operand_status[1]; names[0] = names[1]; } n = 1; } operand_status[n] = *prev_optc_status; names[n] = name; *nfiles = n + 1; if (*prev_optc_status == MIGHT_BE_O_ARG) *optc_status = MIGHT_BE_O_ARG; } int main (int argc, char **argv) { int optc_status; int prev_optc_status = MUST_BE_OPERAND; int operand_status[2]; int joption_count[2] = { 0, 0 }; FILE *fp1, *fp2; int optc; int nfiles = 0; int i; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); hard_LC_COLLATE = hard_locale (LC_COLLATE); atexit (close_stdout); atexit (free_spareline); print_pairables = true; seen_unpairable = false; issued_disorder_warning[0] = issued_disorder_warning[1] = false; check_input_order = CHECK_ORDER_DEFAULT; while ((optc = getopt_long (argc, argv, "-a:e:i1:2:j:o:t:v:", longopts, NULL)) != -1) { optc_status = MUST_BE_OPERAND; switch (optc) { case 'v': print_pairables = false; /* Fall through. */ case 'a': { unsigned long int val; if (xstrtoul (optarg, NULL, 10, &val, "") != LONGINT_OK || (val != 1 && val != 2)) error (EXIT_FAILURE, 0, _("invalid field number: %s"), quote (optarg)); if (val == 1) print_unpairables_1 = true; else print_unpairables_2 = true; } break; case 'e': if (empty_filler && ! STREQ (empty_filler, optarg)) error (EXIT_FAILURE, 0, _("conflicting empty-field replacement strings")); empty_filler = optarg; break; case 'i': ignore_case = true; break; case '1': set_join_field (&join_field_1, string_to_join_field (optarg)); break; case '2': set_join_field (&join_field_2, string_to_join_field (optarg)); break; case 'j': if ((optarg[0] == '1' || optarg[0] == '2') && !optarg[1] && optarg == argv[optind - 1] + 2) { /* The argument was either "-j1" or "-j2". */ bool is_j2 = (optarg[0] == '2'); joption_count[is_j2]++; optc_status = MIGHT_BE_J1_ARG + is_j2; } else { set_join_field (&join_field_1, string_to_join_field (optarg)); set_join_field (&join_field_2, join_field_1); } break; case 'o': if (STREQ (optarg, "auto")) autoformat = true; else { add_field_list (optarg); optc_status = MIGHT_BE_O_ARG; } break; case 't': { unsigned char newtab = optarg[0]; if (! newtab) newtab = '\n'; /* '' => process the whole line. */ else if (optarg[1]) { if (STREQ (optarg, "\\0")) newtab = '\0'; else error (EXIT_FAILURE, 0, _("multi-character tab %s"), quote (optarg)); } if (0 <= tab && tab != newtab) error (EXIT_FAILURE, 0, _("incompatible tabs")); tab = newtab; } break; case NOCHECK_ORDER_OPTION: check_input_order = CHECK_ORDER_DISABLED; break; case CHECK_ORDER_OPTION: check_input_order = CHECK_ORDER_ENABLED; break; case 1: /* Non-option argument. */ add_file_name (optarg, g_names, operand_status, joption_count, &nfiles, &prev_optc_status, &optc_status); break; case HEADER_LINE_OPTION: join_header_lines = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } prev_optc_status = optc_status; } /* Process any operands after "--". */ prev_optc_status = MUST_BE_OPERAND; while (optind < argc) add_file_name (argv[optind++], g_names, operand_status, joption_count, &nfiles, &prev_optc_status, &optc_status); if (nfiles != 2) { if (nfiles == 0) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } /* If "-j1" was specified and it turns out not to have had an argument, treat it as "-j 1". Likewise for -j2. */ for (i = 0; i < 2; i++) if (joption_count[i] != 0) { set_join_field (&join_field_1, i); set_join_field (&join_field_2, i); } if (join_field_1 == SIZE_MAX) join_field_1 = 0; if (join_field_2 == SIZE_MAX) join_field_2 = 0; fp1 = STREQ (g_names[0], "-") ? stdin : fopen (g_names[0], "r"); if (!fp1) error (EXIT_FAILURE, errno, "%s", g_names[0]); fp2 = STREQ (g_names[1], "-") ? stdin : fopen (g_names[1], "r"); if (!fp2) error (EXIT_FAILURE, errno, "%s", g_names[1]); if (fp1 == fp2) error (EXIT_FAILURE, errno, _("both files cannot be standard input")); join (fp1, fp2); if (fclose (fp1) != 0) error (EXIT_FAILURE, errno, "%s", g_names[0]); if (fclose (fp2) != 0) error (EXIT_FAILURE, errno, "%s", g_names[1]); if (issued_disorder_warning[0] || issued_disorder_warning[1]) exit (EXIT_FAILURE); else exit (EXIT_SUCCESS); } coreutils-8.21/src/lbracket.c0000664000000000000000000000004511624727241013075 00000000000000#define LBRACKET 1 #include "test.c" coreutils-8.21/src/comm.c0000664000000000000000000003107712102337340012237 00000000000000/* comm -- compare two sorted files line by line. Copyright (C) 1986-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Richard Stallman and David MacKenzie. */ #include #include #include #include "system.h" #include "linebuffer.h" #include "error.h" #include "fadvise.h" #include "hard-locale.h" #include "quote.h" #include "stdio--.h" #include "memcmp2.h" #include "xmemcoll.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "comm" #define AUTHORS \ proper_name ("Richard M. Stallman"), \ proper_name ("David MacKenzie") /* Undefine, to avoid warning about redefinition on some systems. */ #undef min #define min(x, y) ((x) < (y) ? (x) : (y)) /* True if the LC_COLLATE locale is hard. */ static bool hard_LC_COLLATE; /* If true, print lines that are found only in file 1. */ static bool only_file_1; /* If true, print lines that are found only in file 2. */ static bool only_file_2; /* If true, print lines that are found in both files. */ static bool both; /* If nonzero, we have seen at least one unpairable line. */ static bool seen_unpairable; /* If nonzero, we have warned about disorder in that file. */ static bool issued_disorder_warning[2]; /* If nonzero, check that the input is correctly ordered. */ static enum { CHECK_ORDER_DEFAULT, CHECK_ORDER_ENABLED, CHECK_ORDER_DISABLED } check_input_order; /* Output columns will be delimited with this string, which may be set on the command-line with --output-delimiter=STR. The default is a single TAB character. */ static char const *delimiter; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { CHECK_ORDER_OPTION = CHAR_MAX + 1, NOCHECK_ORDER_OPTION, OUTPUT_DELIMITER_OPTION }; static struct option const long_options[] = { {"check-order", no_argument, NULL, CHECK_ORDER_OPTION}, {"nocheck-order", no_argument, NULL, NOCHECK_ORDER_OPTION}, {"output-delimiter", required_argument, NULL, OUTPUT_DELIMITER_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... FILE1 FILE2\n\ "), program_name); fputs (_("\ Compare sorted files FILE1 and FILE2 line by line.\n\ "), stdout); fputs (_("\ \n\ With no options, produce three-column output. Column one contains\n\ lines unique to FILE1, column two contains lines unique to FILE2,\n\ and column three contains lines common to both files.\n\ "), stdout); fputs (_("\ \n\ -1 suppress column 1 (lines unique to FILE1)\n\ -2 suppress column 2 (lines unique to FILE2)\n\ -3 suppress column 3 (lines that appear in both files)\n\ "), stdout); fputs (_("\ \n\ --check-order check that the input is correctly sorted, even\n\ if all input lines are pairable\n\ --nocheck-order do not check that the input is correctly sorted\n\ "), stdout); fputs (_("\ --output-delimiter=STR separate columns with STR\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ Note, comparisons honor the rules specified by 'LC_COLLATE'.\n\ "), stdout); printf (_("\ \n\ Examples:\n\ %s -12 file1 file2 Print only lines present in both file1 and file2.\n\ %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n\ "), program_name, program_name); emit_ancillary_info (); } exit (status); } /* Output the line in linebuffer LINE to stream STREAM provided the switches say it should be output. CLASS is 1 for a line found only in file 1, 2 for a line only in file 2, 3 for a line in both. */ static void writeline (struct linebuffer const *line, FILE *stream, int class) { switch (class) { case 1: if (!only_file_1) return; break; case 2: if (!only_file_2) return; /* Print a delimiter if we are printing lines from file 1. */ if (only_file_1) fputs (delimiter, stream); break; case 3: if (!both) return; /* Print a delimiter if we are printing lines from file 1. */ if (only_file_1) fputs (delimiter, stream); /* Print a delimiter if we are printing lines from file 2. */ if (only_file_2) fputs (delimiter, stream); break; } fwrite (line->buffer, sizeof (char), line->length, stream); } /* Check that successive input lines PREV and CURRENT from input file WHATFILE are presented in order. If the user specified --nocheck-order, the check is not made. If the user specified --check-order, the problem is fatal. Otherwise (the default), the message is simply a warning. A message is printed at most once per input file. This function was copied (nearly) verbatim from 'src/join.c'. */ static void check_order (struct linebuffer const *prev, struct linebuffer const *current, int whatfile) { if (check_input_order != CHECK_ORDER_DISABLED && ((check_input_order == CHECK_ORDER_ENABLED) || seen_unpairable)) { if (!issued_disorder_warning[whatfile - 1]) { int order; if (hard_LC_COLLATE) order = xmemcoll (prev->buffer, prev->length - 1, current->buffer, current->length - 1); else order = memcmp2 (prev->buffer, prev->length - 1, current->buffer, current->length - 1); if (0 < order) { error ((check_input_order == CHECK_ORDER_ENABLED ? EXIT_FAILURE : 0), 0, _("file %d is not in sorted order"), whatfile); /* If we get to here, the message was just a warning, but we want only to issue it once. */ issued_disorder_warning[whatfile - 1] = true; } } } } /* Compare INFILES[0] and INFILES[1]. If either is "-", use the standard input for that file. Assume that each input file is sorted; merge them and output the result. */ static void compare_files (char **infiles) { /* For each file, we have four linebuffers in lba. */ struct linebuffer lba[2][4]; /* thisline[i] points to the linebuffer holding the next available line in file i, or is NULL if there are no lines left in that file. */ struct linebuffer *thisline[2]; /* all_line[i][alt[i][0]] also points to the linebuffer holding the current line in file i. We keep two buffers of history around so we can look two lines back when we get to the end of a file. */ struct linebuffer *all_line[2][4]; /* This is used to rotate through the buffers for each input file. */ int alt[2][3]; /* streams[i] holds the input stream for file i. */ FILE *streams[2]; int i, j; /* Initialize the storage. */ for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { initbuffer (&lba[i][j]); all_line[i][j] = &lba[i][j]; } alt[i][0] = 0; alt[i][1] = 0; alt[i][2] = 0; streams[i] = (STREQ (infiles[i], "-") ? stdin : fopen (infiles[i], "r")); if (!streams[i]) error (EXIT_FAILURE, errno, "%s", infiles[i]); fadvise (streams[i], FADVISE_SEQUENTIAL); thisline[i] = readlinebuffer (all_line[i][alt[i][0]], streams[i]); if (ferror (streams[i])) error (EXIT_FAILURE, errno, "%s", infiles[i]); } while (thisline[0] || thisline[1]) { int order; bool fill_up[2] = { false, false }; /* Compare the next available lines of the two files. */ if (!thisline[0]) order = 1; else if (!thisline[1]) order = -1; else { if (hard_LC_COLLATE) order = xmemcoll (thisline[0]->buffer, thisline[0]->length - 1, thisline[1]->buffer, thisline[1]->length - 1); else { size_t len = min (thisline[0]->length, thisline[1]->length) - 1; order = memcmp (thisline[0]->buffer, thisline[1]->buffer, len); if (order == 0) order = (thisline[0]->length < thisline[1]->length ? -1 : thisline[0]->length != thisline[1]->length); } } /* Output the line that is lesser. */ if (order == 0) writeline (thisline[1], stdout, 3); else { seen_unpairable = true; if (order <= 0) writeline (thisline[0], stdout, 1); else writeline (thisline[1], stdout, 2); } /* Step the file the line came from. If the files match, step both files. */ if (0 <= order) fill_up[1] = true; if (order <= 0) fill_up[0] = true; for (i = 0; i < 2; i++) if (fill_up[i]) { /* Rotate the buffers for this file. */ alt[i][2] = alt[i][1]; alt[i][1] = alt[i][0]; alt[i][0] = (alt[i][0] + 1) & 0x03; thisline[i] = readlinebuffer (all_line[i][alt[i][0]], streams[i]); if (thisline[i]) check_order (all_line[i][alt[i][1]], thisline[i], i + 1); /* If this is the end of the file we may need to re-check the order of the previous two lines, since we might have discovered an unpairable match since we checked before. */ else if (all_line[i][alt[i][2]]->buffer) check_order (all_line[i][alt[i][2]], all_line[i][alt[i][1]], i + 1); if (ferror (streams[i])) error (EXIT_FAILURE, errno, "%s", infiles[i]); fill_up[i] = false; } } for (i = 0; i < 2; i++) if (fclose (streams[i]) != 0) error (EXIT_FAILURE, errno, "%s", infiles[i]); } int main (int argc, char **argv) { int c; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); hard_LC_COLLATE = hard_locale (LC_COLLATE); atexit (close_stdout); only_file_1 = true; only_file_2 = true; both = true; seen_unpairable = false; issued_disorder_warning[0] = issued_disorder_warning[1] = false; check_input_order = CHECK_ORDER_DEFAULT; while ((c = getopt_long (argc, argv, "123", long_options, NULL)) != -1) switch (c) { case '1': only_file_1 = false; break; case '2': only_file_2 = false; break; case '3': both = false; break; case NOCHECK_ORDER_OPTION: check_input_order = CHECK_ORDER_DISABLED; break; case CHECK_ORDER_OPTION: check_input_order = CHECK_ORDER_ENABLED; break; case OUTPUT_DELIMITER_OPTION: if (delimiter && !STREQ (delimiter, optarg)) error (EXIT_FAILURE, 0, _("multiple delimiters specified")); delimiter = optarg; if (!*delimiter) { error (EXIT_FAILURE, 0, _("empty %s not allowed"), quote ("--output-delimiter")); } break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } if (argc - optind < 2) { if (argc <= optind) error (0, 0, _("missing operand")); else error (0, 0, _("missing operand after %s"), quote (argv[argc - 1])); usage (EXIT_FAILURE); } if (2 < argc - optind) { error (0, 0, _("extra operand %s"), quote (argv[optind + 2])); usage (EXIT_FAILURE); } /* The default delimiter is a TAB. */ if (!delimiter) delimiter = "\t"; compare_files (argv + optind); if (issued_disorder_warning[0] || issued_disorder_warning[1]) exit (EXIT_FAILURE); else exit (EXIT_SUCCESS); } coreutils-8.21/src/tail.c0000664000000000000000000020352112102337340012230 00000000000000/* tail -- output the last part of file(s) Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Can display any amount of data, unlike the Unix version, which uses a fixed size buffer and therefore can only deliver a limited number of lines. Original version by Paul Rubin . Extensions by David MacKenzie . tail -f for multiple files by Ian Lance Taylor . inotify back-end by Giuseppe Scrivano . */ #include #include #include #include #include #include #include "system.h" #include "argmatch.h" #include "c-strtod.h" #include "error.h" #include "fcntl--.h" #include "isapipe.h" #include "posixver.h" #include "quote.h" #include "safe-read.h" #include "stat-time.h" #include "xfreopen.h" #include "xnanosleep.h" #include "xstrtol.h" #include "xstrtod.h" #if HAVE_INOTIFY # include "hash.h" # include /* 'select' is used by tail_forever_inotify. */ # include /* inotify needs to know if a file is local. */ # include "fs.h" # include "fs-is-local.h" # if HAVE_SYS_STATFS_H # include # elif HAVE_SYS_VFS_H # include # endif #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "tail" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name ("David MacKenzie"), \ proper_name ("Ian Lance Taylor"), \ proper_name ("Jim Meyering") /* Number of items to tail. */ #define DEFAULT_N_LINES 10 /* Special values for dump_remainder's N_BYTES parameter. */ #define COPY_TO_EOF UINTMAX_MAX #define COPY_A_BUFFER (UINTMAX_MAX - 1) /* FIXME: make Follow_name the default? */ #define DEFAULT_FOLLOW_MODE Follow_descriptor enum Follow_mode { /* Follow the name of each file: if the file is renamed, try to reopen that name and track the end of the new file if/when it's recreated. This is useful for tracking logs that are occasionally rotated. */ Follow_name = 1, /* Follow each descriptor obtained upon opening a file. That means we'll continue to follow the end of a file even after it has been renamed or unlinked. */ Follow_descriptor = 2 }; /* The types of files for which tail works. */ #define IS_TAILABLE_FILE_TYPE(Mode) \ (S_ISREG (Mode) || S_ISFIFO (Mode) || S_ISSOCK (Mode) || S_ISCHR (Mode)) static char const *const follow_mode_string[] = { "descriptor", "name", NULL }; static enum Follow_mode const follow_mode_map[] = { Follow_descriptor, Follow_name, }; struct File_spec { /* The actual file name, or "-" for stdin. */ char *name; /* Attributes of the file the last time we checked. */ off_t size; struct timespec mtime; dev_t dev; ino_t ino; mode_t mode; /* The specified name initially referred to a directory or some other type for which tail isn't meaningful. Unlike for a permission problem (tailable, below) once this is set, the name is not checked ever again. */ bool ignore; /* See the description of fremote. */ bool remote; /* A file is tailable if it exists, is readable, and is of type IS_TAILABLE_FILE_TYPE. */ bool tailable; /* File descriptor on which the file is open; -1 if it's not open. */ int fd; /* The value of errno seen last time we checked this file. */ int errnum; /* 1 if O_NONBLOCK is clear, 0 if set, -1 if not known. */ int blocking; #if HAVE_INOTIFY /* The watch descriptor used by inotify. */ int wd; /* The parent directory watch descriptor. It is used only * when Follow_name is used. */ int parent_wd; /* Offset in NAME of the basename part. */ size_t basename_start; #endif /* See description of DEFAULT_MAX_N_... below. */ uintmax_t n_unchanged_stats; }; #if HAVE_INOTIFY /* The events mask used with inotify on files. This mask is not used on directories. */ static const uint32_t inotify_wd_mask = (IN_MODIFY | IN_ATTRIB | IN_DELETE_SELF | IN_MOVE_SELF); #endif /* Keep trying to open a file even if it is inaccessible when tail starts or if it becomes inaccessible later -- useful only with -f. */ static bool reopen_inaccessible_files; /* If true, interpret the numeric argument as the number of lines. Otherwise, interpret it as the number of bytes. */ static bool count_lines; /* Whether we follow the name of each file or the file descriptor that is initially associated with each name. */ static enum Follow_mode follow_mode = Follow_descriptor; /* If true, read from the ends of all specified files until killed. */ static bool forever; /* If true, count from start of file instead of end. */ static bool from_start; /* If true, print filename headers. */ static bool print_headers; /* When to print the filename banners. */ enum header_mode { multiple_files, always, never }; /* When tailing a file by name, if there have been this many consecutive iterations for which the file has not changed, then open/fstat the file to determine if that file name is still associated with the same device/inode-number pair as before. This option is meaningful only when following by name. --max-unchanged-stats=N */ #define DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS 5 static uintmax_t max_n_unchanged_stats_between_opens = DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS; /* The process ID of the process (presumably on the current host) that is writing to all followed files. */ static pid_t pid; /* True if we have ever read standard input. */ static bool have_read_stdin; /* If nonzero, skip the is-regular-file test used to determine whether to use the lseek optimization. Instead, use the more general (and more expensive) code unconditionally. Intended solely for testing. */ static bool presume_input_pipe; /* If nonzero then don't use inotify even if available. */ static bool disable_inotify; /* For long options that have no equivalent short option, use a non-character as a pseudo short option, starting with CHAR_MAX + 1. */ enum { RETRY_OPTION = CHAR_MAX + 1, MAX_UNCHANGED_STATS_OPTION, PID_OPTION, PRESUME_INPUT_PIPE_OPTION, LONG_FOLLOW_OPTION, DISABLE_INOTIFY_OPTION }; static struct option const long_options[] = { {"bytes", required_argument, NULL, 'c'}, {"follow", optional_argument, NULL, LONG_FOLLOW_OPTION}, {"lines", required_argument, NULL, 'n'}, {"max-unchanged-stats", required_argument, NULL, MAX_UNCHANGED_STATS_OPTION}, {"-disable-inotify", no_argument, NULL, DISABLE_INOTIFY_OPTION}, /* do not document */ {"pid", required_argument, NULL, PID_OPTION}, {"-presume-input-pipe", no_argument, NULL, PRESUME_INPUT_PIPE_OPTION}, /* do not document */ {"quiet", no_argument, NULL, 'q'}, {"retry", no_argument, NULL, RETRY_OPTION}, {"silent", no_argument, NULL, 'q'}, {"sleep-interval", required_argument, NULL, 's'}, {"verbose", no_argument, NULL, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); printf (_("\ Print the last %d lines of each FILE to standard output.\n\ With more than one FILE, precede each with a header giving the file name.\n\ With no FILE, or when FILE is -, read standard input.\n\ "), DEFAULT_N_LINES); emit_mandatory_arg_note (); fputs (_("\ -c, --bytes=K output the last K bytes; alternatively, use -c +K\n\ to output bytes starting with the Kth of each file\n\ "), stdout); fputs (_("\ -f, --follow[={name|descriptor}]\n\ output appended data as the file grows;\n\ -f, --follow, and --follow=descriptor are\n\ equivalent\n\ -F same as --follow=name --retry\n\ "), stdout); printf (_("\ -n, --lines=K output the last K lines, instead of the last %d;\n\ or use -n +K to output lines starting with the Kth\n\ --max-unchanged-stats=N\n\ with --follow=name, reopen a FILE which has not\n\ changed size after N (default %d) iterations\n\ to see if it has been unlinked or renamed\n\ (this is the usual case of rotated log files).\n\ With inotify, this option is rarely useful.\n\ "), DEFAULT_N_LINES, DEFAULT_MAX_N_UNCHANGED_STATS_BETWEEN_OPENS ); fputs (_("\ --pid=PID with -f, terminate after process ID, PID dies\n\ -q, --quiet, --silent never output headers giving file names\n\ --retry keep trying to open a file even when it is or\n\ becomes inaccessible; useful when following by\n\ name, i.e., with --follow=name\n\ "), stdout); fputs (_("\ -s, --sleep-interval=N with -f, sleep for approximately N seconds\n\ (default 1.0) between iterations.\n\ With inotify and --pid=P, check process P at\n\ least once every N seconds.\n\ -v, --verbose always output headers giving file names\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If the first character of K (the number of bytes or lines) is a '+',\n\ print beginning with the Kth item from the start of each file, otherwise,\n\ print the last K items in the file. K may have a multiplier suffix:\n\ b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n\ GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n\ \n\ "), stdout); fputs (_("\ With --follow (-f), tail defaults to following the file descriptor, which\n\ means that even if a tail'ed file is renamed, tail will continue to track\n\ its end. This default behavior is not desirable when you really want to\n\ track the actual name of the file, not the file descriptor (e.g., log\n\ rotation). Use --follow=name in that case. That causes tail to track the\n\ named file in a way that accommodates renaming, removal and creation.\n\ "), stdout); emit_ancillary_info (); } exit (status); } static bool valid_file_spec (struct File_spec const *f) { /* Exactly one of the following subexpressions must be true. */ return ((f->fd == -1) ^ (f->errnum == 0)); } static char const * pretty_name (struct File_spec const *f) { return (STREQ (f->name, "-") ? _("standard input") : f->name); } static void xwrite_stdout (char const *buffer, size_t n_bytes) { if (n_bytes > 0 && fwrite (buffer, 1, n_bytes, stdout) == 0) error (EXIT_FAILURE, errno, _("write error")); } /* Record a file F with descriptor FD, size SIZE, status ST, and blocking status BLOCKING. */ static void record_open_fd (struct File_spec *f, int fd, off_t size, struct stat const *st, int blocking) { f->fd = fd; f->size = size; f->mtime = get_stat_mtime (st); f->dev = st->st_dev; f->ino = st->st_ino; f->mode = st->st_mode; f->blocking = blocking; f->n_unchanged_stats = 0; f->ignore = false; } /* Close the file with descriptor FD and name FILENAME. */ static void close_fd (int fd, const char *filename) { if (fd != -1 && fd != STDIN_FILENO && close (fd)) { error (0, errno, _("closing %s (fd=%d)"), filename, fd); } } static void write_header (const char *pretty_filename) { static bool first_file = true; printf ("%s==> %s <==\n", (first_file ? "" : "\n"), pretty_filename); first_file = false; } /* Read and output N_BYTES of file PRETTY_FILENAME starting at the current position in FD. If N_BYTES is COPY_TO_EOF, then copy until end of file. If N_BYTES is COPY_A_BUFFER, then copy at most one buffer's worth. Return the number of bytes read from the file. */ static uintmax_t dump_remainder (const char *pretty_filename, int fd, uintmax_t n_bytes) { uintmax_t n_written; uintmax_t n_remaining = n_bytes; n_written = 0; while (1) { char buffer[BUFSIZ]; size_t n = MIN (n_remaining, BUFSIZ); size_t bytes_read = safe_read (fd, buffer, n); if (bytes_read == SAFE_READ_ERROR) { if (errno != EAGAIN) error (EXIT_FAILURE, errno, _("error reading %s"), quote (pretty_filename)); break; } if (bytes_read == 0) break; xwrite_stdout (buffer, bytes_read); n_written += bytes_read; if (n_bytes != COPY_TO_EOF) { n_remaining -= bytes_read; if (n_remaining == 0 || n_bytes == COPY_A_BUFFER) break; } } return n_written; } /* Call lseek with the specified arguments, where file descriptor FD corresponds to the file, FILENAME. Give a diagnostic and exit nonzero if lseek fails. Otherwise, return the resulting offset. */ static off_t xlseek (int fd, off_t offset, int whence, char const *filename) { off_t new_offset = lseek (fd, offset, whence); char buf[INT_BUFSIZE_BOUND (offset)]; char *s; if (0 <= new_offset) return new_offset; s = offtostr (offset, buf); switch (whence) { case SEEK_SET: error (0, errno, _("%s: cannot seek to offset %s"), filename, s); break; case SEEK_CUR: error (0, errno, _("%s: cannot seek to relative offset %s"), filename, s); break; case SEEK_END: error (0, errno, _("%s: cannot seek to end-relative offset %s"), filename, s); break; default: abort (); } exit (EXIT_FAILURE); } /* Print the last N_LINES lines from the end of file FD. Go backward through the file, reading 'BUFSIZ' bytes at a time (except probably the first), until we hit the start of the file or have read NUMBER newlines. START_POS is the starting position of the read pointer for the file associated with FD (may be nonzero). END_POS is the file offset of EOF (one larger than offset of last byte). Return true if successful. */ static bool file_lines (const char *pretty_filename, int fd, uintmax_t n_lines, off_t start_pos, off_t end_pos, uintmax_t *read_pos) { char buffer[BUFSIZ]; size_t bytes_read; off_t pos = end_pos; if (n_lines == 0) return true; /* Set 'bytes_read' to the size of the last, probably partial, buffer; 0 < 'bytes_read' <= 'BUFSIZ'. */ bytes_read = (pos - start_pos) % BUFSIZ; if (bytes_read == 0) bytes_read = BUFSIZ; /* Make 'pos' a multiple of 'BUFSIZ' (0 if the file is short), so that all reads will be on block boundaries, which might increase efficiency. */ pos -= bytes_read; xlseek (fd, pos, SEEK_SET, pretty_filename); bytes_read = safe_read (fd, buffer, bytes_read); if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); return false; } *read_pos = pos + bytes_read; /* Count the incomplete line on files that don't end with a newline. */ if (bytes_read && buffer[bytes_read - 1] != '\n') --n_lines; do { /* Scan backward, counting the newlines in this bufferfull. */ size_t n = bytes_read; while (n) { char const *nl; nl = memrchr (buffer, '\n', n); if (nl == NULL) break; n = nl - buffer; if (n_lines-- == 0) { /* If this newline isn't the last character in the buffer, output the part that is after it. */ if (n != bytes_read - 1) xwrite_stdout (nl + 1, bytes_read - (n + 1)); *read_pos += dump_remainder (pretty_filename, fd, end_pos - (pos + bytes_read)); return true; } } /* Not enough newlines in that bufferfull. */ if (pos == start_pos) { /* Not enough lines in the file; print everything from start_pos to the end. */ xlseek (fd, start_pos, SEEK_SET, pretty_filename); *read_pos = start_pos + dump_remainder (pretty_filename, fd, end_pos); return true; } pos -= BUFSIZ; xlseek (fd, pos, SEEK_SET, pretty_filename); bytes_read = safe_read (fd, buffer, BUFSIZ); if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); return false; } *read_pos = pos + bytes_read; } while (bytes_read > 0); return true; } /* Print the last N_LINES lines from the end of the standard input, open for reading as pipe FD. Buffer the text as a linked list of LBUFFERs, adding them as needed. Return true if successful. */ static bool pipe_lines (const char *pretty_filename, int fd, uintmax_t n_lines, uintmax_t *read_pos) { struct linebuffer { char buffer[BUFSIZ]; size_t nbytes; size_t nlines; struct linebuffer *next; }; typedef struct linebuffer LBUFFER; LBUFFER *first, *last, *tmp; size_t total_lines = 0; /* Total number of newlines in all buffers. */ bool ok = true; size_t n_read; /* Size in bytes of most recent read */ first = last = xmalloc (sizeof (LBUFFER)); first->nbytes = first->nlines = 0; first->next = NULL; tmp = xmalloc (sizeof (LBUFFER)); /* Input is always read into a fresh buffer. */ while (1) { n_read = safe_read (fd, tmp->buffer, BUFSIZ); if (n_read == 0 || n_read == SAFE_READ_ERROR) break; tmp->nbytes = n_read; *read_pos += n_read; tmp->nlines = 0; tmp->next = NULL; /* Count the number of newlines just read. */ { char const *buffer_end = tmp->buffer + n_read; char const *p = tmp->buffer; while ((p = memchr (p, '\n', buffer_end - p))) { ++p; ++tmp->nlines; } } total_lines += tmp->nlines; /* If there is enough room in the last buffer read, just append the new one to it. This is because when reading from a pipe, 'n_read' can often be very small. */ if (tmp->nbytes + last->nbytes < BUFSIZ) { memcpy (&last->buffer[last->nbytes], tmp->buffer, tmp->nbytes); last->nbytes += tmp->nbytes; last->nlines += tmp->nlines; } else { /* If there's not enough room, link the new buffer onto the end of the list, then either free up the oldest buffer for the next read if that would leave enough lines, or else malloc a new one. Some compaction mechanism is possible but probably not worthwhile. */ last = last->next = tmp; if (total_lines - first->nlines > n_lines) { tmp = first; total_lines -= first->nlines; first = first->next; } else tmp = xmalloc (sizeof (LBUFFER)); } } free (tmp); if (n_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); ok = false; goto free_lbuffers; } /* If the file is empty, then bail out. */ if (last->nbytes == 0) goto free_lbuffers; /* This prevents a core dump when the pipe contains no newlines. */ if (n_lines == 0) goto free_lbuffers; /* Count the incomplete line on files that don't end with a newline. */ if (last->buffer[last->nbytes - 1] != '\n') { ++last->nlines; ++total_lines; } /* Run through the list, printing lines. First, skip over unneeded buffers. */ for (tmp = first; total_lines - tmp->nlines > n_lines; tmp = tmp->next) total_lines -= tmp->nlines; /* Find the correct beginning, then print the rest of the file. */ { char const *beg = tmp->buffer; char const *buffer_end = tmp->buffer + tmp->nbytes; if (total_lines > n_lines) { /* Skip 'total_lines' - 'n_lines' newlines. We made sure that 'total_lines' - 'n_lines' <= 'tmp->nlines'. */ size_t j; for (j = total_lines - n_lines; j; --j) { beg = memchr (beg, '\n', buffer_end - beg); assert (beg); ++beg; } } xwrite_stdout (beg, buffer_end - beg); } for (tmp = tmp->next; tmp; tmp = tmp->next) xwrite_stdout (tmp->buffer, tmp->nbytes); free_lbuffers: while (first) { tmp = first->next; free (first); first = tmp; } return ok; } /* Print the last N_BYTES characters from the end of pipe FD. This is a stripped down version of pipe_lines. Return true if successful. */ static bool pipe_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes, uintmax_t *read_pos) { struct charbuffer { char buffer[BUFSIZ]; size_t nbytes; struct charbuffer *next; }; typedef struct charbuffer CBUFFER; CBUFFER *first, *last, *tmp; size_t i; /* Index into buffers. */ size_t total_bytes = 0; /* Total characters in all buffers. */ bool ok = true; size_t n_read; first = last = xmalloc (sizeof (CBUFFER)); first->nbytes = 0; first->next = NULL; tmp = xmalloc (sizeof (CBUFFER)); /* Input is always read into a fresh buffer. */ while (1) { n_read = safe_read (fd, tmp->buffer, BUFSIZ); if (n_read == 0 || n_read == SAFE_READ_ERROR) break; *read_pos += n_read; tmp->nbytes = n_read; tmp->next = NULL; total_bytes += tmp->nbytes; /* If there is enough room in the last buffer read, just append the new one to it. This is because when reading from a pipe, 'nbytes' can often be very small. */ if (tmp->nbytes + last->nbytes < BUFSIZ) { memcpy (&last->buffer[last->nbytes], tmp->buffer, tmp->nbytes); last->nbytes += tmp->nbytes; } else { /* If there's not enough room, link the new buffer onto the end of the list, then either free up the oldest buffer for the next read if that would leave enough characters, or else malloc a new one. Some compaction mechanism is possible but probably not worthwhile. */ last = last->next = tmp; if (total_bytes - first->nbytes > n_bytes) { tmp = first; total_bytes -= first->nbytes; first = first->next; } else { tmp = xmalloc (sizeof (CBUFFER)); } } } free (tmp); if (n_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); ok = false; goto free_cbuffers; } /* Run through the list, printing characters. First, skip over unneeded buffers. */ for (tmp = first; total_bytes - tmp->nbytes > n_bytes; tmp = tmp->next) total_bytes -= tmp->nbytes; /* Find the correct beginning, then print the rest of the file. We made sure that 'total_bytes' - 'n_bytes' <= 'tmp->nbytes'. */ if (total_bytes > n_bytes) i = total_bytes - n_bytes; else i = 0; xwrite_stdout (&tmp->buffer[i], tmp->nbytes - i); for (tmp = tmp->next; tmp; tmp = tmp->next) xwrite_stdout (tmp->buffer, tmp->nbytes); free_cbuffers: while (first) { tmp = first->next; free (first); first = tmp; } return ok; } /* Skip N_BYTES characters from the start of pipe FD, and print any extra characters that were read beyond that. Return 1 on error, 0 if ok, -1 if EOF. */ static int start_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes, uintmax_t *read_pos) { char buffer[BUFSIZ]; while (0 < n_bytes) { size_t bytes_read = safe_read (fd, buffer, BUFSIZ); if (bytes_read == 0) return -1; if (bytes_read == SAFE_READ_ERROR) { error (0, errno, _("error reading %s"), quote (pretty_filename)); return 1; } *read_pos += bytes_read; if (bytes_read <= n_bytes) n_bytes -= bytes_read; else { size_t n_remaining = bytes_read - n_bytes; if (n_remaining) xwrite_stdout (&buffer[n_bytes], n_remaining); break; } } return 0; } /* Skip N_LINES lines at the start of file or pipe FD, and print any extra characters that were read beyond that. Return 1 on error, 0 if ok, -1 if EOF. */ static int start_lines (const char *pretty_filename, int fd, uintmax_t n_lines, uintmax_t *read_pos) { if (n_lines == 0) return 0; while (1) { char buffer[BUFSIZ]; size_t bytes_read = safe_read (fd, buffer, BUFSIZ); if (bytes_read == 0) /* EOF */ return -1; if (bytes_read == SAFE_READ_ERROR) /* error */ { error (0, errno, _("error reading %s"), quote (pretty_filename)); return 1; } char *buffer_end = buffer + bytes_read; *read_pos += bytes_read; char *p = buffer; while ((p = memchr (p, '\n', buffer_end - p))) { ++p; if (--n_lines == 0) { if (p < buffer_end) xwrite_stdout (p, buffer_end - p); return 0; } } } } #if HAVE_INOTIFY /* Without inotify support, always return false. Otherwise, return false when FD is open on a file known to reside on a local file system. If fstatfs fails, give a diagnostic and return true. If fstatfs cannot be called, return true. */ static bool fremote (int fd, const char *name) { bool remote = true; /* be conservative (poll by default). */ # if HAVE_FSTATFS && HAVE_STRUCT_STATFS_F_TYPE && defined __linux__ struct statfs buf; int err = fstatfs (fd, &buf); if (err != 0) { /* On at least linux-2.6.38, fstatfs fails with ENOSYS when FD is open on a pipe. Treat that like a remote file. */ if (errno != ENOSYS) error (0, errno, _("cannot determine location of %s. " "reverting to polling"), quote (name)); } else { switch (is_local_fs_type (buf.f_type)) { case 0: break; case -1: { unsigned long int fs_type = buf.f_type; error (0, 0, _("unrecognized file system type 0x%08lx for %s. " "please report this to %s. reverting to polling"), fs_type, quote (name), PACKAGE_BUGREPORT); /* Treat as "remote", so caller polls. */ } break; case 1: remote = false; break; default: assert (!"unexpected return value from is_local_fs_type"); } } # endif return remote; } #else /* Without inotify support, whether a file is remote is irrelevant. Always return "false" in that case. */ # define fremote(fd, name) false #endif /* FIXME: describe */ static void recheck (struct File_spec *f, bool blocking) { /* open/fstat the file and announce if dev/ino have changed */ struct stat new_stats; bool ok = true; bool is_stdin = (STREQ (f->name, "-")); bool was_tailable = f->tailable; int prev_errnum = f->errnum; bool new_file; int fd = (is_stdin ? STDIN_FILENO : open (f->name, O_RDONLY | (blocking ? 0 : O_NONBLOCK))); assert (valid_file_spec (f)); /* If the open fails because the file doesn't exist, then mark the file as not tailable. */ f->tailable = !(reopen_inaccessible_files && fd == -1); if (fd == -1 || fstat (fd, &new_stats) < 0) { ok = false; f->errnum = errno; if (!f->tailable) { if (was_tailable) { /* FIXME-maybe: detect the case in which the file first becomes unreadable (perms), and later becomes readable again and can be seen to be the same file (dev/ino). Otherwise, tail prints the entire contents of the file when it becomes readable. */ error (0, f->errnum, _("%s has become inaccessible"), quote (pretty_name (f))); } else { /* say nothing... it's still not tailable */ } } else if (prev_errnum != errno) { error (0, errno, "%s", pretty_name (f)); } } else if (!IS_TAILABLE_FILE_TYPE (new_stats.st_mode)) { ok = false; f->errnum = -1; error (0, 0, _("%s has been replaced with an untailable file;\ giving up on this name"), quote (pretty_name (f))); f->ignore = true; } else if (!disable_inotify && fremote (fd, pretty_name (f))) { ok = false; f->errnum = -1; error (0, 0, _("%s has been replaced with a remote file. " "giving up on this name"), quote (pretty_name (f))); f->ignore = true; f->remote = true; } else { f->errnum = 0; } new_file = false; if (!ok) { close_fd (fd, pretty_name (f)); close_fd (f->fd, pretty_name (f)); f->fd = -1; } else if (prev_errnum && prev_errnum != ENOENT) { new_file = true; assert (f->fd == -1); error (0, 0, _("%s has become accessible"), quote (pretty_name (f))); } else if (f->ino != new_stats.st_ino || f->dev != new_stats.st_dev) { new_file = true; if (f->fd == -1) { error (0, 0, _("%s has appeared; following end of new file"), quote (pretty_name (f))); } else { /* Close the old one. */ close_fd (f->fd, pretty_name (f)); /* File has been replaced (e.g., via log rotation) -- tail the new one. */ error (0, 0, _("%s has been replaced; following end of new file"), quote (pretty_name (f))); } } else { if (f->fd == -1) { /* This happens when one iteration finds the file missing, then the preceding pair is reused as the file is recreated. */ new_file = true; } else { close_fd (fd, pretty_name (f)); } } if (new_file) { /* Start at the beginning of the file. */ record_open_fd (f, fd, 0, &new_stats, (is_stdin ? -1 : blocking)); xlseek (fd, 0, SEEK_SET, pretty_name (f)); } } /* Return true if any of the N_FILES files in F are live, i.e., have open file descriptors. */ static bool any_live_files (const struct File_spec *f, size_t n_files) { size_t i; for (i = 0; i < n_files; i++) if (0 <= f[i].fd) return true; return false; } /* Tail N_FILES files forever, or until killed. The pertinent information for each file is stored in an entry of F. Loop over each of them, doing an fstat to see if they have changed size, and an occasional open/fstat to see if any dev/ino pair has changed. If none of them have changed size in one iteration, sleep for a while and try again. Continue until the user interrupts us. */ static void tail_forever (struct File_spec *f, size_t n_files, double sleep_interval) { /* Use blocking I/O as an optimization, when it's easy. */ bool blocking = (pid == 0 && follow_mode == Follow_descriptor && n_files == 1 && ! S_ISREG (f[0].mode)); size_t last; bool writer_is_dead = false; last = n_files - 1; while (1) { size_t i; bool any_input = false; for (i = 0; i < n_files; i++) { int fd; char const *name; mode_t mode; struct stat stats; uintmax_t bytes_read; if (f[i].ignore) continue; if (f[i].fd < 0) { recheck (&f[i], blocking); continue; } fd = f[i].fd; name = pretty_name (&f[i]); mode = f[i].mode; if (f[i].blocking != blocking) { int old_flags = fcntl (fd, F_GETFL); int new_flags = old_flags | (blocking ? 0 : O_NONBLOCK); if (old_flags < 0 || (new_flags != old_flags && fcntl (fd, F_SETFL, new_flags) == -1)) { /* Don't update f[i].blocking if fcntl fails. */ if (S_ISREG (f[i].mode) && errno == EPERM) { /* This happens when using tail -f on a file with the append-only attribute. */ } else error (EXIT_FAILURE, errno, _("%s: cannot change nonblocking mode"), name); } else f[i].blocking = blocking; } if (!f[i].blocking) { if (fstat (fd, &stats) != 0) { f[i].fd = -1; f[i].errnum = errno; error (0, errno, "%s", name); close (fd); /* ignore failure */ continue; } if (f[i].mode == stats.st_mode && (! S_ISREG (stats.st_mode) || f[i].size == stats.st_size) && timespec_cmp (f[i].mtime, get_stat_mtime (&stats)) == 0) { if ((max_n_unchanged_stats_between_opens <= f[i].n_unchanged_stats++) && follow_mode == Follow_name) { recheck (&f[i], f[i].blocking); f[i].n_unchanged_stats = 0; } continue; } /* This file has changed. Print out what we can, and then keep looping. */ f[i].mtime = get_stat_mtime (&stats); f[i].mode = stats.st_mode; /* reset counter */ f[i].n_unchanged_stats = 0; if (S_ISREG (mode) && stats.st_size < f[i].size) { error (0, 0, _("%s: file truncated"), name); last = i; xlseek (fd, stats.st_size, SEEK_SET, name); f[i].size = stats.st_size; continue; } if (i != last) { if (print_headers) write_header (name); last = i; } } bytes_read = dump_remainder (name, fd, (f[i].blocking ? COPY_A_BUFFER : COPY_TO_EOF)); any_input |= (bytes_read != 0); f[i].size += bytes_read; } if (! any_live_files (f, n_files) && ! reopen_inaccessible_files) { error (0, 0, _("no files remaining")); break; } if ((!any_input || blocking) && fflush (stdout) != 0) error (EXIT_FAILURE, errno, _("write error")); /* If nothing was read, sleep and/or check for dead writers. */ if (!any_input) { if (writer_is_dead) break; /* Once the writer is dead, read the files once more to avoid a race condition. */ writer_is_dead = (pid != 0 && kill (pid, 0) != 0 /* Handle the case in which you cannot send a signal to the writer, so kill fails and sets errno to EPERM. */ && errno != EPERM); if (!writer_is_dead && xnanosleep (sleep_interval)) error (EXIT_FAILURE, errno, _("cannot read realtime clock")); } } } #if HAVE_INOTIFY /* Return true if any of the N_FILES files in F is remote, i.e., has an open file descriptor and is on a network file system. */ static bool any_remote_file (const struct File_spec *f, size_t n_files) { size_t i; for (i = 0; i < n_files; i++) if (0 <= f[i].fd && f[i].remote) return true; return false; } /* Return true if any of the N_FILES files in F represents stdin and is tailable. */ static bool tailable_stdin (const struct File_spec *f, size_t n_files) { size_t i; for (i = 0; i < n_files; i++) if (!f[i].ignore && STREQ (f[i].name, "-")) return true; return false; } static size_t wd_hasher (const void *entry, size_t tabsize) { const struct File_spec *spec = entry; return spec->wd % tabsize; } static bool wd_comparator (const void *e1, const void *e2) { const struct File_spec *spec1 = e1; const struct File_spec *spec2 = e2; return spec1->wd == spec2->wd; } /* Helper function used by 'tail_forever_inotify'. */ static void check_fspec (struct File_spec *fspec, int wd, int *prev_wd) { struct stat stats; char const *name = pretty_name (fspec); if (fstat (fspec->fd, &stats) != 0) { fspec->errnum = errno; close_fd (fspec->fd, name); fspec->fd = -1; return; } if (S_ISREG (fspec->mode) && stats.st_size < fspec->size) { error (0, 0, _("%s: file truncated"), name); *prev_wd = wd; xlseek (fspec->fd, stats.st_size, SEEK_SET, name); fspec->size = stats.st_size; } else if (S_ISREG (fspec->mode) && stats.st_size == fspec->size && timespec_cmp (fspec->mtime, get_stat_mtime (&stats)) == 0) return; if (wd != *prev_wd) { if (print_headers) write_header (name); *prev_wd = wd; } uintmax_t bytes_read = dump_remainder (name, fspec->fd, COPY_TO_EOF); fspec->size += bytes_read; if (fflush (stdout) != 0) error (EXIT_FAILURE, errno, _("write error")); } /* Attempt to tail N_FILES files forever, or until killed. Check modifications using the inotify events system. Return false on error, or true to revert to polling. */ static bool tail_forever_inotify (int wd, struct File_spec *f, size_t n_files, double sleep_interval) { unsigned int max_realloc = 3; /* Map an inotify watch descriptor to the name of the file it's watching. */ Hash_table *wd_to_name; bool found_watchable_file = false; bool found_unwatchable_dir = false; bool no_inotify_resources = false; bool writer_is_dead = false; int prev_wd; size_t evlen = 0; char *evbuf; size_t evbuf_off = 0; size_t len = 0; wd_to_name = hash_initialize (n_files, NULL, wd_hasher, wd_comparator, NULL); if (! wd_to_name) xalloc_die (); /* Add an inotify watch for each watched file. If -F is specified then watch its parent directory too, in this way when they re-appear we can add them again to the watch list. */ size_t i; for (i = 0; i < n_files; i++) { if (!f[i].ignore) { size_t fnlen = strlen (f[i].name); if (evlen < fnlen) evlen = fnlen; f[i].wd = -1; if (follow_mode == Follow_name) { size_t dirlen = dir_len (f[i].name); char prev = f[i].name[dirlen]; f[i].basename_start = last_component (f[i].name) - f[i].name; f[i].name[dirlen] = '\0'; /* It's fine to add the same directory more than once. In that case the same watch descriptor is returned. */ f[i].parent_wd = inotify_add_watch (wd, dirlen ? f[i].name : ".", (IN_CREATE | IN_MOVED_TO | IN_ATTRIB)); f[i].name[dirlen] = prev; if (f[i].parent_wd < 0) { if (errno != ENOSPC) /* suppress confusing error. */ error (0, errno, _("cannot watch parent directory of %s"), quote (f[i].name)); else error (0, 0, _("inotify resources exhausted")); found_unwatchable_dir = true; /* We revert to polling below. Note invalid uses of the inotify API will still be diagnosed. */ break; } } f[i].wd = inotify_add_watch (wd, f[i].name, inotify_wd_mask); if (f[i].wd < 0) { if (errno == ENOSPC) { no_inotify_resources = true; error (0, 0, _("inotify resources exhausted")); } else if (errno != f[i].errnum) error (0, errno, _("cannot watch %s"), quote (f[i].name)); continue; } if (hash_insert (wd_to_name, &(f[i])) == NULL) xalloc_die (); found_watchable_file = true; } } /* Linux kernel 2.6.24 at least has a bug where eventually, ENOSPC is always returned by inotify_add_watch. In any case we should revert to polling when there are no inotify resources. Also a specified directory may not be currently present or accessible, so revert to polling. */ if (no_inotify_resources || found_unwatchable_dir) { /* FIXME: release hash and inotify resources allocated above. */ errno = 0; return true; } if (follow_mode == Follow_descriptor && !found_watchable_file) return false; prev_wd = f[n_files - 1].wd; /* Check files again. New data can be available since last time we checked and before they are watched by inotify. */ for (i = 0; i < n_files; i++) { if (!f[i].ignore) check_fspec (&f[i], f[i].wd, &prev_wd); } evlen += sizeof (struct inotify_event) + 1; evbuf = xmalloc (evlen); /* Wait for inotify events and handle them. Events on directories ensure that watched files can be re-added when following by name. This loop blocks on the 'safe_read' call until a new event is notified. But when --pid=P is specified, tail usually waits via the select. */ while (1) { struct File_spec *fspec; struct inotify_event *ev; /* When following by name without --retry, and the last file has been unlinked or renamed-away, diagnose it and return. */ if (follow_mode == Follow_name && ! reopen_inaccessible_files && hash_get_n_entries (wd_to_name) == 0) { error (0, 0, _("no files remaining")); return false; } /* When watching a PID, ensure that a read from WD will not block indefinitely. */ if (pid) { if (writer_is_dead) exit (EXIT_SUCCESS); writer_is_dead = (kill (pid, 0) != 0 && errno != EPERM); struct timeval delay; /* how long to wait for file changes. */ if (writer_is_dead) delay.tv_sec = delay.tv_usec = 0; else { delay.tv_sec = (time_t) sleep_interval; delay.tv_usec = 1000000 * (sleep_interval - delay.tv_sec); } fd_set rfd; FD_ZERO (&rfd); FD_SET (wd, &rfd); int file_change = select (wd + 1, &rfd, NULL, NULL, &delay); if (file_change == 0) continue; else if (file_change == -1) error (EXIT_FAILURE, errno, _("error monitoring inotify event")); } if (len <= evbuf_off) { len = safe_read (wd, evbuf, evlen); evbuf_off = 0; /* For kernels prior to 2.6.21, read returns 0 when the buffer is too small. */ if ((len == 0 || (len == SAFE_READ_ERROR && errno == EINVAL)) && max_realloc--) { len = 0; evlen *= 2; evbuf = xrealloc (evbuf, evlen); continue; } if (len == 0 || len == SAFE_READ_ERROR) error (EXIT_FAILURE, errno, _("error reading inotify event")); } ev = (struct inotify_event *) (evbuf + evbuf_off); evbuf_off += sizeof (*ev) + ev->len; if (ev->len) /* event on ev->name in watched directory */ { size_t j; for (j = 0; j < n_files; j++) { /* With N=hundreds of frequently-changing files, this O(N^2) process might be a problem. FIXME: use a hash table? */ if (f[j].parent_wd == ev->wd && STREQ (ev->name, f[j].name + f[j].basename_start)) break; } /* It is not a watched file. */ if (j == n_files) continue; /* It's fine to add the same file more than once. */ int new_wd = inotify_add_watch (wd, f[j].name, inotify_wd_mask); if (new_wd < 0) { error (0, errno, _("cannot watch %s"), quote (f[j].name)); continue; } fspec = &(f[j]); /* Remove 'fspec' and re-add it using 'new_fd' as its key. */ hash_delete (wd_to_name, fspec); fspec->wd = new_wd; /* If the file was moved then inotify will use the source file wd for the destination file. Make sure the key is not present in the table. */ struct File_spec *prev = hash_delete (wd_to_name, fspec); if (prev && prev != fspec) { if (follow_mode == Follow_name) recheck (prev, false); prev->wd = -1; close_fd (prev->fd, pretty_name (prev)); } if (hash_insert (wd_to_name, fspec) == NULL) xalloc_die (); if (follow_mode == Follow_name) recheck (fspec, false); } else { struct File_spec key; key.wd = ev->wd; fspec = hash_lookup (wd_to_name, &key); } if (! fspec) continue; if (ev->mask & (IN_ATTRIB | IN_DELETE_SELF | IN_MOVE_SELF)) { /* For IN_DELETE_SELF, we always want to remove the watch. However, for IN_MOVE_SELF (the file we're watching has been clobbered via a rename), when tailing by NAME, we must continue to watch the file. It's only when following by file descriptor that we must remove the watch. */ if ((ev->mask & IN_DELETE_SELF) || ((ev->mask & IN_MOVE_SELF) && follow_mode == Follow_descriptor)) { inotify_rm_watch (wd, fspec->wd); hash_delete (wd_to_name, fspec); } if (follow_mode == Follow_name) recheck (fspec, false); continue; } check_fspec (fspec, ev->wd, &prev_wd); } } #endif /* Output the last N_BYTES bytes of file FILENAME open for reading in FD. Return true if successful. */ static bool tail_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes, uintmax_t *read_pos) { struct stat stats; if (fstat (fd, &stats)) { error (0, errno, _("cannot fstat %s"), quote (pretty_filename)); return false; } if (from_start) { if ( ! presume_input_pipe && S_ISREG (stats.st_mode) && n_bytes <= OFF_T_MAX) { xlseek (fd, n_bytes, SEEK_CUR, pretty_filename); *read_pos += n_bytes; } else { int t = start_bytes (pretty_filename, fd, n_bytes, read_pos); if (t) return t < 0; } *read_pos += dump_remainder (pretty_filename, fd, COPY_TO_EOF); } else { if ( ! presume_input_pipe && S_ISREG (stats.st_mode) && n_bytes <= OFF_T_MAX) { off_t current_pos = xlseek (fd, 0, SEEK_CUR, pretty_filename); off_t end_pos = xlseek (fd, 0, SEEK_END, pretty_filename); off_t diff = end_pos - current_pos; /* Be careful here. The current position may actually be beyond the end of the file. */ off_t bytes_remaining = diff < 0 ? 0 : diff; off_t nb = n_bytes; if (bytes_remaining <= nb) { /* From the current position to end of file, there are no more bytes than have been requested. So reposition the file pointer to the incoming current position and print everything after that. */ *read_pos = xlseek (fd, current_pos, SEEK_SET, pretty_filename); } else { /* There are more bytes remaining than were requested. Back up. */ *read_pos = xlseek (fd, -nb, SEEK_END, pretty_filename); } *read_pos += dump_remainder (pretty_filename, fd, n_bytes); } else return pipe_bytes (pretty_filename, fd, n_bytes, read_pos); } return true; } /* Output the last N_LINES lines of file FILENAME open for reading in FD. Return true if successful. */ static bool tail_lines (const char *pretty_filename, int fd, uintmax_t n_lines, uintmax_t *read_pos) { struct stat stats; if (fstat (fd, &stats)) { error (0, errno, _("cannot fstat %s"), quote (pretty_filename)); return false; } if (from_start) { int t = start_lines (pretty_filename, fd, n_lines, read_pos); if (t) return t < 0; *read_pos += dump_remainder (pretty_filename, fd, COPY_TO_EOF); } else { off_t start_pos = -1; off_t end_pos; /* Use file_lines only if FD refers to a regular file for which lseek (... SEEK_END) works. */ if ( ! presume_input_pipe && S_ISREG (stats.st_mode) && (start_pos = lseek (fd, 0, SEEK_CUR)) != -1 && start_pos < (end_pos = lseek (fd, 0, SEEK_END))) { *read_pos = end_pos; if (end_pos != 0 && ! file_lines (pretty_filename, fd, n_lines, start_pos, end_pos, read_pos)) return false; } else { /* Under very unlikely circumstances, it is possible to reach this point after positioning the file pointer to end of file via the 'lseek (...SEEK_END)' above. In that case, reposition the file pointer back to start_pos before calling pipe_lines. */ if (start_pos != -1) xlseek (fd, start_pos, SEEK_SET, pretty_filename); return pipe_lines (pretty_filename, fd, n_lines, read_pos); } } return true; } /* Display the last N_UNITS units of file FILENAME, open for reading via FD. Set *READ_POS to the position of the input stream pointer. *READ_POS is usually the number of bytes read and corresponds to an offset from the beginning of a file. However, it may be larger than OFF_T_MAX (as for an input pipe), and may also be larger than the number of bytes read (when an input pointer is initially not at beginning of file), and may be far greater than the number of bytes actually read for an input file that is seekable. Return true if successful. */ static bool tail (const char *filename, int fd, uintmax_t n_units, uintmax_t *read_pos) { *read_pos = 0; if (count_lines) return tail_lines (filename, fd, n_units, read_pos); else return tail_bytes (filename, fd, n_units, read_pos); } /* Display the last N_UNITS units of the file described by F. Return true if successful. */ static bool tail_file (struct File_spec *f, uintmax_t n_units) { int fd; bool ok; bool is_stdin = (STREQ (f->name, "-")); if (is_stdin) { have_read_stdin = true; fd = STDIN_FILENO; if (O_BINARY && ! isatty (STDIN_FILENO)) xfreopen (NULL, "rb", stdin); } else fd = open (f->name, O_RDONLY | O_BINARY); f->tailable = !(reopen_inaccessible_files && fd == -1); if (fd == -1) { if (forever) { f->fd = -1; f->errnum = errno; f->ignore = false; f->ino = 0; f->dev = 0; } error (0, errno, _("cannot open %s for reading"), quote (pretty_name (f))); ok = false; } else { uintmax_t read_pos; if (print_headers) write_header (pretty_name (f)); ok = tail (pretty_name (f), fd, n_units, &read_pos); if (forever) { struct stat stats; #if TEST_RACE_BETWEEN_FINAL_READ_AND_INITIAL_FSTAT /* Before the tail function provided 'read_pos', there was a race condition described in the URL below. This sleep call made the window big enough to exercise the problem. */ xnanosleep (1); #endif f->errnum = ok - 1; if (fstat (fd, &stats) < 0) { ok = false; f->errnum = errno; error (0, errno, _("error reading %s"), quote (pretty_name (f))); } else if (!IS_TAILABLE_FILE_TYPE (stats.st_mode)) { error (0, 0, _("%s: cannot follow end of this type of file;\ giving up on this name"), pretty_name (f)); ok = false; f->errnum = -1; f->ignore = true; } if (!ok) { close_fd (fd, pretty_name (f)); f->fd = -1; } else { /* Note: we must use read_pos here, not stats.st_size, to avoid a race condition described by Ken Raeburn: http://mail.gnu.org/archive/html/bug-textutils/2003-05/msg00007.html */ record_open_fd (f, fd, read_pos, &stats, (is_stdin ? -1 : 1)); f->remote = fremote (fd, pretty_name (f)); } } else { if (!is_stdin && close (fd)) { error (0, errno, _("error reading %s"), quote (pretty_name (f))); ok = false; } } } return ok; } /* If obsolete usage is allowed, and the command line arguments are of the obsolete form and the option string is well-formed, set *N_UNITS, the globals COUNT_LINES, FOREVER, and FROM_START, and return true. If the command line arguments are obviously incorrect (e.g., because obsolete usage is not allowed and the arguments are incorrect for non-obsolete usage), report an error and exit. Otherwise, return false and don't modify any parameter or global variable. */ static bool parse_obsolete_option (int argc, char * const *argv, uintmax_t *n_units) { const char *p; const char *n_string; const char *n_string_end; bool obsolete_usage; int default_count = DEFAULT_N_LINES; bool t_from_start; bool t_count_lines = true; bool t_forever = false; /* With the obsolete form, there is one option string and at most one file argument. Watch out for "-" and "--", though. */ if (! (argc == 2 || (argc == 3 && ! (argv[2][0] == '-' && argv[2][1])) || (3 <= argc && argc <= 4 && STREQ (argv[2], "--")))) return false; obsolete_usage = (posix2_version () < 200112); p = argv[1]; switch (*p++) { default: return false; case '+': /* Leading "+" is a file name in the non-obsolete form. */ if (!obsolete_usage) return false; t_from_start = true; break; case '-': /* In the non-obsolete form, "-" is standard input and "-c" requires an option-argument. The obsolete multidigit options are supported as a GNU extension even when conforming to POSIX 1003.1-2001, so don't complain about them. */ if (!obsolete_usage && !p[p[0] == 'c']) return false; t_from_start = false; break; } n_string = p; while (ISDIGIT (*p)) p++; n_string_end = p; switch (*p) { case 'b': default_count *= 512; /* Fall through. */ case 'c': t_count_lines = false; /* Fall through. */ case 'l': p++; break; } if (*p == 'f') { t_forever = true; ++p; } if (*p) return false; if (n_string == n_string_end) *n_units = default_count; else if ((xstrtoumax (n_string, NULL, 10, n_units, "b") & ~LONGINT_INVALID_SUFFIX_CHAR) != LONGINT_OK) error (EXIT_FAILURE, 0, _("number in %s is too large"), quote (argv[1])); /* Set globals. */ from_start = t_from_start; count_lines = t_count_lines; forever = t_forever; return true; } static void parse_options (int argc, char **argv, uintmax_t *n_units, enum header_mode *header_mode, double *sleep_interval) { int c; while ((c = getopt_long (argc, argv, "c:n:fFqs:v0123456789", long_options, NULL)) != -1) { switch (c) { case 'F': forever = true; follow_mode = Follow_name; reopen_inaccessible_files = true; break; case 'c': case 'n': count_lines = (c == 'n'); if (*optarg == '+') from_start = true; else if (*optarg == '-') ++optarg; { strtol_error s_err; s_err = xstrtoumax (optarg, NULL, 10, n_units, "bkKmMGTPEZY0"); if (s_err != LONGINT_OK) { error (EXIT_FAILURE, 0, "%s: %s", optarg, (c == 'n' ? _("invalid number of lines") : _("invalid number of bytes"))); } } break; case 'f': case LONG_FOLLOW_OPTION: forever = true; if (optarg == NULL) follow_mode = DEFAULT_FOLLOW_MODE; else follow_mode = XARGMATCH ("--follow", optarg, follow_mode_string, follow_mode_map); break; case RETRY_OPTION: reopen_inaccessible_files = true; break; case MAX_UNCHANGED_STATS_OPTION: /* --max-unchanged-stats=N */ if (xstrtoumax (optarg, NULL, 10, &max_n_unchanged_stats_between_opens, "") != LONGINT_OK) { error (EXIT_FAILURE, 0, _("%s: invalid maximum number of unchanged stats between opens"), optarg); } break; case DISABLE_INOTIFY_OPTION: disable_inotify = true; break; case PID_OPTION: { strtol_error s_err; unsigned long int tmp_ulong; s_err = xstrtoul (optarg, NULL, 10, &tmp_ulong, ""); if (s_err != LONGINT_OK || tmp_ulong > PID_T_MAX) { error (EXIT_FAILURE, 0, _("%s: invalid PID"), optarg); } pid = tmp_ulong; } break; case PRESUME_INPUT_PIPE_OPTION: presume_input_pipe = true; break; case 'q': *header_mode = never; break; case 's': { double s; if (! (xstrtod (optarg, NULL, &s, c_strtod) && 0 <= s)) error (EXIT_FAILURE, 0, _("%s: invalid number of seconds"), optarg); *sleep_interval = s; } break; case 'v': *header_mode = always; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': error (EXIT_FAILURE, 0, _("option used in invalid context -- %c"), c); default: usage (EXIT_FAILURE); } } if (reopen_inaccessible_files && follow_mode != Follow_name) error (0, 0, _("warning: --retry is useful mainly when following by name")); if (pid && !forever) error (0, 0, _("warning: PID ignored; --pid=PID is useful only when following")); else if (pid && kill (pid, 0) != 0 && errno == ENOSYS) { error (0, 0, _("warning: --pid=PID is not supported on this system")); pid = 0; } } /* Mark as '.ignore'd each member of F that corresponds to a pipe or fifo, and return the number of non-ignored members. */ static size_t ignore_fifo_and_pipe (struct File_spec *f, size_t n_files) { /* When there is no FILE operand and stdin is a pipe or FIFO POSIX requires that tail ignore the -f option. Since we allow multiple FILE operands, we extend that to say: with -f, ignore any "-" operand that corresponds to a pipe or FIFO. */ size_t n_viable = 0; size_t i; for (i = 0; i < n_files; i++) { bool is_a_fifo_or_pipe = (STREQ (f[i].name, "-") && !f[i].ignore && 0 <= f[i].fd && (S_ISFIFO (f[i].mode) || (HAVE_FIFO_PIPES != 1 && isapipe (f[i].fd)))); if (is_a_fifo_or_pipe) f[i].ignore = true; else ++n_viable; } return n_viable; } int main (int argc, char **argv) { enum header_mode header_mode = multiple_files; bool ok = true; /* If from_start, the number of items to skip before printing; otherwise, the number of items at the end of the file to print. Although the type is signed, the value is never negative. */ uintmax_t n_units = DEFAULT_N_LINES; size_t n_files; char **file; struct File_spec *F; size_t i; bool obsolete_option; /* The number of seconds to sleep between iterations. During one iteration, every file name or descriptor is checked to see if it has changed. */ double sleep_interval = 1.0; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); have_read_stdin = false; count_lines = true; forever = from_start = print_headers = false; obsolete_option = parse_obsolete_option (argc, argv, &n_units); argc -= obsolete_option; argv += obsolete_option; parse_options (argc, argv, &n_units, &header_mode, &sleep_interval); /* To start printing with item N_UNITS from the start of the file, skip N_UNITS - 1 items. 'tail -n +0' is actually meaningless, but for Unix compatibility it's treated the same as 'tail -n +1'. */ if (from_start) { if (n_units) --n_units; } if (optind < argc) { n_files = argc - optind; file = argv + optind; } else { static char *dummy_stdin = (char *) "-"; n_files = 1; file = &dummy_stdin; } { bool found_hyphen = false; for (i = 0; i < n_files; i++) if (STREQ (file[i], "-")) found_hyphen = true; /* When following by name, there must be a name. */ if (found_hyphen && follow_mode == Follow_name) error (EXIT_FAILURE, 0, _("cannot follow %s by name"), quote ("-")); /* When following forever, warn if any file is '-'. This is only a warning, since tail's output (before a failing seek, and that from any non-stdin files) might still be useful. */ if (forever && found_hyphen && isatty (STDIN_FILENO)) error (0, 0, _("warning: following standard input" " indefinitely is ineffective")); } F = xnmalloc (n_files, sizeof *F); for (i = 0; i < n_files; i++) F[i].name = file[i]; if (header_mode == always || (header_mode == multiple_files && n_files > 1)) print_headers = true; if (O_BINARY && ! isatty (STDOUT_FILENO)) xfreopen (NULL, "wb", stdout); for (i = 0; i < n_files; i++) ok &= tail_file (&F[i], n_units); if (forever && ignore_fifo_and_pipe (F, n_files)) { #if HAVE_INOTIFY /* tailable_stdin() checks if the user specifies stdin via "-", or implicitly by providing no arguments. If so, we won't use inotify. Technically, on systems with a working /dev/stdin, we *could*, but would it be worth it? Verifying that it's a real device and hooked up to stdin is not trivial, while reverting to non-inotify-based tail_forever is easy and portable. any_remote_file() checks if the user has specified any files that reside on remote file systems. inotify is not used in this case because it would miss any updates to the file that were not initiated from the local system. FIXME: inotify doesn't give any notification when a new (remote) file or directory is mounted on top a watched file. When follow_mode == Follow_name we would ideally like to detect that. Note if there is a change to the original file then we'll recheck it and follow the new file, or ignore it if the file has changed to being remote. FIXME: when using inotify, and a directory for a watched file is recreated, then we don't recheck any new file when follow_mode == Follow_name */ if (!disable_inotify && (tailable_stdin (F, n_files) || any_remote_file (F, n_files))) disable_inotify = true; if (!disable_inotify) { int wd = inotify_init (); if (0 <= wd) { /* Flush any output from tail_file, now, since tail_forever_inotify flushes only after writing, not before reading. */ if (fflush (stdout) != 0) error (EXIT_FAILURE, errno, _("write error")); if (!tail_forever_inotify (wd, F, n_files, sleep_interval)) exit (EXIT_FAILURE); } error (0, errno, _("inotify cannot be used, reverting to polling")); } #endif disable_inotify = true; tail_forever (F, n_files, sleep_interval); } if (have_read_stdin && close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/seq.c0000664000000000000000000004304212102337340012067 00000000000000/* seq - print sequence of numbers to standard output. Copyright (C) 1994-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Ulrich Drepper. */ #include #include #include #include #include "system.h" #include "c-strtod.h" #include "error.h" #include "quote.h" #include "xstrtod.h" /* Roll our own isfinite rather than using , so that we don't have to worry about linking -lm just for isfinite. */ #ifndef isfinite # define isfinite(x) ((x) * 0 == 0) #endif /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "seq" #define AUTHORS proper_name ("Ulrich Drepper") /* If true print all number with equal width. */ static bool equal_width; /* The string used to separate two numbers. */ static char const *separator; /* The string output after all numbers have been output. Usually "\n" or "\0". */ static char const terminator[] = "\n"; static struct option const long_options[] = { { "equal-width", no_argument, NULL, 'w'}, { "format", required_argument, NULL, 'f'}, { "separator", required_argument, NULL, 's'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, { NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... LAST\n\ or: %s [OPTION]... FIRST LAST\n\ or: %s [OPTION]... FIRST INCREMENT LAST\n\ "), program_name, program_name, program_name); fputs (_("\ Print numbers from FIRST to LAST, in steps of INCREMENT.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -f, --format=FORMAT use printf style floating-point FORMAT\n\ -s, --separator=STRING use STRING to separate numbers (default: \\n)\n\ -w, --equal-width equalize width by padding with leading zeroes\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); fputs (_("\ \n\ If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n\ omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n\ FIRST, INCREMENT, and LAST are interpreted as floating point values.\n\ INCREMENT is usually positive if FIRST is smaller than LAST, and\n\ INCREMENT is usually negative if FIRST is greater than LAST.\n\ "), stdout); fputs (_("\ FORMAT must be suitable for printing one argument of type 'double';\n\ it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n\ decimal numbers with maximum precision PREC, and to %g otherwise.\n\ "), stdout); emit_ancillary_info (); } exit (status); } /* A command-line operand. */ struct operand { /* Its value, converted to 'long double'. */ long double value; /* Its print width, if it were printed out in a form similar to its input form. An input like "-.1" is treated like "-0.1", and an input like "1." is treated like "1", but otherwise widths are left alone. */ size_t width; /* Number of digits after the decimal point, or INT_MAX if the number can't easily be expressed as a fixed-point number. */ int precision; }; typedef struct operand operand; /* Description of what a number-generating format will generate. */ struct layout { /* Number of bytes before and after the number. */ size_t prefix_len; size_t suffix_len; }; /* Read a long double value from the command line. Return if the string is correct else signal error. */ static operand scan_arg (const char *arg) { operand ret; if (! xstrtold (arg, NULL, &ret.value, c_strtold)) { error (0, 0, _("invalid floating point argument: %s"), arg); usage (EXIT_FAILURE); } /* We don't output spaces or '+' so don't include in width */ while (isspace (to_uchar (*arg)) || *arg == '+') arg++; ret.width = strlen (arg); ret.precision = INT_MAX; if (! arg[strcspn (arg, "xX")] && isfinite (ret.value)) { char const *decimal_point = strchr (arg, '.'); if (! decimal_point) ret.precision = 0; else { size_t fraction_len = strcspn (decimal_point + 1, "eE"); if (fraction_len <= INT_MAX) ret.precision = fraction_len; ret.width += (fraction_len == 0 /* #. -> # */ ? -1 : (decimal_point == arg /* .# -> 0.# */ || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */ } char const *e = strchr (arg, 'e'); if (! e) e = strchr (arg, 'E'); if (e) { long exponent = strtol (e + 1, NULL, 10); ret.precision += exponent < 0 ? -exponent : 0; /* Don't account for e.... in the width since this is not output. */ ret.width -= strlen (arg) - (e - arg); /* Adjust the width as per the exponent. */ if (exponent < 0) { if (decimal_point) { if (e == decimal_point + 1) /* undo #. -> # above */ ret.width++; } else ret.width++; exponent = -exponent; } ret.width += exponent; } } return ret; } /* If FORMAT is a valid printf format for a double argument, return its long double equivalent, allocated from dynamic storage, and store into *LAYOUT a description of the output layout; otherwise, report an error and exit. */ static char const * long_double_format (char const *fmt, struct layout *layout) { size_t i; size_t prefix_len = 0; size_t suffix_len = 0; size_t length_modifier_offset; bool has_L; for (i = 0; ! (fmt[i] == '%' && fmt[i + 1] != '%'); i += (fmt[i] == '%') + 1) { if (!fmt[i]) error (EXIT_FAILURE, 0, _("format %s has no %% directive"), quote (fmt)); prefix_len++; } i++; i += strspn (fmt + i, "-+#0 '"); i += strspn (fmt + i, "0123456789"); if (fmt[i] == '.') { i++; i += strspn (fmt + i, "0123456789"); } length_modifier_offset = i; has_L = (fmt[i] == 'L'); i += has_L; if (fmt[i] == '\0') error (EXIT_FAILURE, 0, _("format %s ends in %%"), quote (fmt)); if (! strchr ("efgaEFGA", fmt[i])) error (EXIT_FAILURE, 0, _("format %s has unknown %%%c directive"), quote (fmt), fmt[i]); for (i++; ; i += (fmt[i] == '%') + 1) if (fmt[i] == '%' && fmt[i + 1] != '%') error (EXIT_FAILURE, 0, _("format %s has too many %% directives"), quote (fmt)); else if (fmt[i]) suffix_len++; else { size_t format_size = i + 1; char *ldfmt = xmalloc (format_size + 1); memcpy (ldfmt, fmt, length_modifier_offset); ldfmt[length_modifier_offset] = 'L'; strcpy (ldfmt + length_modifier_offset + 1, fmt + length_modifier_offset + has_L); layout->prefix_len = prefix_len; layout->suffix_len = suffix_len; return ldfmt; } } /* Actually print the sequence of numbers in the specified range, with the given or default stepping and format. */ static void print_numbers (char const *fmt, struct layout layout, long double first, long double step, long double last) { bool out_of_range = (step < 0 ? first < last : last < first); if (! out_of_range) { long double x = first; long double i; for (i = 1; ; i++) { long double x0 = x; printf (fmt, x); if (out_of_range) break; x = first + i * step; out_of_range = (step < 0 ? x < last : last < x); if (out_of_range) { /* If the number just past LAST prints as a value equal to LAST, and prints differently from the previous number, then print the number. This avoids problems with rounding. For example, with the x86 it causes "seq 0 0.000001 0.000003" to print 0.000003 instead of stopping at 0.000002. */ bool print_extra_number = false; long double x_val; char *x_str; int x_strlen; setlocale (LC_NUMERIC, "C"); x_strlen = asprintf (&x_str, fmt, x); setlocale (LC_NUMERIC, ""); if (x_strlen < 0) xalloc_die (); x_str[x_strlen - layout.suffix_len] = '\0'; if (xstrtold (x_str + layout.prefix_len, NULL, &x_val, c_strtold) && x_val == last) { char *x0_str = NULL; if (asprintf (&x0_str, fmt, x0) < 0) xalloc_die (); print_extra_number = !STREQ (x0_str, x_str); free (x0_str); } free (x_str); if (! print_extra_number) break; } fputs (separator, stdout); } fputs (terminator, stdout); } } /* Return the default format given FIRST, STEP, and LAST. */ static char const * get_default_format (operand first, operand step, operand last) { static char format_buf[sizeof "%0.Lf" + 2 * INT_STRLEN_BOUND (int)]; int prec = MAX (first.precision, step.precision); if (prec != INT_MAX && last.precision != INT_MAX) { if (equal_width) { /* increase first_width by any increased precision in step */ size_t first_width = first.width + (prec - first.precision); /* adjust last_width to use precision from first/step */ size_t last_width = last.width + (prec - last.precision); if (last.precision && prec == 0) last_width--; /* don't include space for '.' */ if (last.precision == 0 && prec) last_width++; /* include space for '.' */ if (first.precision == 0 && prec) first_width++; /* include space for '.' */ size_t width = MAX (first_width, last_width); if (width <= INT_MAX) { int w = width; sprintf (format_buf, "%%0%d.%dLf", w, prec); return format_buf; } } else { sprintf (format_buf, "%%.%dLf", prec); return format_buf; } } return "%Lg"; } /* The NUL-terminated string S0 of length S_LEN represents a valid non-negative decimal integer. Adjust the string and length so that the pair describe the next-larger value. */ static void incr (char **s0, size_t *s_len) { char *s = *s0; char *endp = s + *s_len - 1; do { if ((*endp)++ < '9') return; *endp-- = '0'; } while (endp >= s); *--(*s0) = '1'; ++*s_len; } /* Compare A and B (each a NUL-terminated digit string), with lengths given by A_LEN and B_LEN. Return +1 if A < B, -1 if B < A, else 0. */ static int cmp (char const *a, size_t a_len, char const *b, size_t b_len) { if (a_len < b_len) return -1; if (b_len < a_len) return 1; return (strcmp (a, b)); } /* Trim leading 0's from S, but if S is all 0's, leave one. Return a pointer to the trimmed string. */ static char const * _GL_ATTRIBUTE_PURE trim_leading_zeros (char const *s) { char const *p = s; while (*s == '0') ++s; /* If there were only 0's, back up, to leave one. */ if (!*s && s != p) --s; return s; } /* Print all whole numbers from A to B, inclusive -- to stdout, each followed by a newline. If B < A, return false and print nothing. Otherwise, return true. */ static bool seq_fast (char const *a, char const *b) { /* Skip past any leading 0's. Without this, our naive cmp function would declare 000 to be larger than 99. */ a = trim_leading_zeros (a); b = trim_leading_zeros (b); size_t p_len = strlen (a); size_t q_len = strlen (b); size_t n = MAX (p_len, q_len); char *p0 = xmalloc (n + 1); char *p = memcpy (p0 + n - p_len, a, p_len + 1); char *q0 = xmalloc (n + 1); char *q = memcpy (q0 + n - q_len, b, q_len + 1); bool ok = cmp (p, p_len, q, q_len) <= 0; if (ok) { /* Buffer at least this many numbers per fwrite call. This gives a speed-up of more than 2x over the unbuffered code when printing the first 10^9 integers. */ enum {N = 40}; char *buf = xmalloc (N * (n + 1)); char const *buf_end = buf + N * (n + 1); char *z = buf; /* Write first number to buffer. */ z = mempcpy (z, p, p_len); /* Append separator then number. */ while (cmp (p, p_len, q, q_len) < 0) { *z++ = *separator; incr (&p, &p_len); z = mempcpy (z, p, p_len); /* If no place for another separator + number then output buffer so far, and reset to start of buffer. */ if (buf_end - (n + 1) < z) { fwrite (buf, z - buf, 1, stdout); z = buf; } } /* Write any remaining buffered output, and the terminator. */ *z++ = *terminator; fwrite (buf, z - buf, 1, stdout); IF_LINT (free (buf)); } free (p0); free (q0); return ok; } /* Return true if S consists of at least one digit and no non-digits. */ static bool _GL_ATTRIBUTE_PURE all_digits_p (char const *s) { size_t n = strlen (s); return ISDIGIT (s[0]) && n == strspn (s, "0123456789"); } int main (int argc, char **argv) { int optc; operand first = { 1, 1, 0 }; operand step = { 1, 1, 0 }; operand last; struct layout layout = { 0, 0 }; /* The printf(3) format used for output. */ char const *format_str = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); equal_width = false; separator = "\n"; /* We have to handle negative numbers in the command line but this conflicts with the command line arguments. So explicitly check first whether the next argument looks like a negative number. */ while (optind < argc) { if (argv[optind][0] == '-' && ((optc = argv[optind][1]) == '.' || ISDIGIT (optc))) { /* means negative number */ break; } optc = getopt_long (argc, argv, "+f:s:w", long_options, NULL); if (optc == -1) break; switch (optc) { case 'f': format_str = optarg; break; case 's': separator = optarg; break; case 'w': equal_width = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } unsigned int n_args = argc - optind; if (n_args < 1) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (3 < n_args) { error (0, 0, _("extra operand %s"), quote (argv[optind + 3])); usage (EXIT_FAILURE); } if (format_str) format_str = long_double_format (format_str, &layout); if (format_str != NULL && equal_width) { error (0, 0, _("format string may not be specified" " when printing equal width strings")); usage (EXIT_FAILURE); } /* If the following hold: - no format string, [FIXME: relax this, eventually] - integer start (or no start) - integer end - increment == 1 or not specified [FIXME: relax this, eventually] then use the much more efficient integer-only code. */ if (all_digits_p (argv[optind]) && (n_args == 1 || all_digits_p (argv[optind + 1])) && (n_args < 3 || (STREQ ("1", argv[optind + 1]) && all_digits_p (argv[optind + 2]))) && !equal_width && !format_str && strlen (separator) == 1) { char const *s1 = n_args == 1 ? "1" : argv[optind]; char const *s2 = argv[optind + (n_args - 1)]; if (seq_fast (s1, s2)) exit (EXIT_SUCCESS); /* Upon any failure, let the more general code deal with it. */ } last = scan_arg (argv[optind++]); if (optind < argc) { first = last; last = scan_arg (argv[optind++]); if (optind < argc) { step = last; last = scan_arg (argv[optind++]); } } if (first.precision == 0 && step.precision == 0 && last.precision == 0 && 0 <= first.value && step.value == 1 && 0 <= last.value && !equal_width && !format_str && strlen (separator) == 1) { char *s1; char *s2; if (asprintf (&s1, "%0.Lf", first.value) < 0) xalloc_die (); if (asprintf (&s2, "%0.Lf", last.value) < 0) xalloc_die (); if (seq_fast (s1, s2)) { IF_LINT (free (s1)); IF_LINT (free (s2)); exit (EXIT_SUCCESS); } free (s1); free (s2); /* Upon any failure, let the more general code deal with it. */ } if (format_str == NULL) format_str = get_default_format (first, step, last); print_numbers (format_str, layout, first.value, step.value, last.value); exit (EXIT_SUCCESS); } coreutils-8.21/src/uptime.c0000664000000000000000000001511212102337340012577 00000000000000/* GNU's uptime. Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Created by hacking who.c by Kaveh Ghazi ghazi@caip.rutgers.edu. */ #include #include #include #include #include "system.h" #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H # include #endif #if HAVE_OS_H # include #endif #include "c-strtod.h" #include "error.h" #include "long-options.h" #include "quote.h" #include "readutmp.h" #include "fprintftime.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "uptime" #define AUTHORS \ proper_name ("Joseph Arceneaux"), \ proper_name ("David MacKenzie"), \ proper_name ("Kaveh Ghazi") static void print_uptime (size_t n, const STRUCT_UTMP *this) { size_t entries = 0; time_t boot_time = 0; time_t time_now; time_t uptime = 0; long int updays; int uphours; int upmins; struct tm *tmn; double avg[3]; int loads; #ifdef HAVE_PROC_UPTIME FILE *fp; fp = fopen ("/proc/uptime", "r"); if (fp != NULL) { char buf[BUFSIZ]; char *b = fgets (buf, BUFSIZ, fp); if (b == buf) { char *end_ptr; double upsecs = c_strtod (buf, &end_ptr); if (buf != end_ptr) uptime = (0 <= upsecs && upsecs < TYPE_MAXIMUM (time_t) ? upsecs : -1); } fclose (fp); } #endif /* HAVE_PROC_UPTIME */ #if HAVE_SYSCTL && defined CTL_KERN && defined KERN_BOOTTIME { /* FreeBSD specific: fetch sysctl "kern.boottime". */ static int request[2] = { CTL_KERN, KERN_BOOTTIME }; struct timeval result; size_t result_len = sizeof result; if (sysctl (request, 2, &result, &result_len, NULL, 0) >= 0) boot_time = result.tv_sec; } #endif #if HAVE_OS_H /* BeOS */ { system_info si; get_system_info (&si); boot_time = si.boot_time / 1000000; } #endif #if HAVE_UTMPX_H || HAVE_UTMP_H /* Loop through all the utmp entries we just read and count up the valid ones, also in the process possibly gleaning boottime. */ while (n--) { entries += IS_USER_PROCESS (this); if (UT_TYPE_BOOT_TIME (this)) boot_time = UT_TIME_MEMBER (this); ++this; } #else (void) n; (void) this; #endif time_now = time (NULL); #if defined HAVE_PROC_UPTIME if (uptime == 0) #endif { if (boot_time == 0) error (EXIT_FAILURE, errno, _("couldn't get boot time")); uptime = time_now - boot_time; } updays = uptime / 86400; uphours = (uptime - (updays * 86400)) / 3600; upmins = (uptime - (updays * 86400) - (uphours * 3600)) / 60; tmn = localtime (&time_now); /* procps' version of uptime also prints the seconds field, but previous versions of coreutils don't. */ if (tmn) /* TRANSLATORS: This prints the current clock time. */ fprintftime (stdout, _(" %H:%M%P "), tmn, 0, 0); else printf (_(" ??:???? ")); if (uptime == (time_t) -1) printf (_("up ???? days ??:??, ")); else { if (0 < updays) printf (ngettext ("up %ld day %2d:%02d, ", "up %ld days %2d:%02d, ", select_plural (updays)), updays, uphours, upmins); else printf (_("up %2d:%02d, "), uphours, upmins); } printf (ngettext ("%lu user", "%lu users", select_plural (entries)), (unsigned long int) entries); loads = getloadavg (avg, 3); if (loads == -1) putchar ('\n'); else { if (loads > 0) printf (_(", load average: %.2f"), avg[0]); if (loads > 1) printf (", %.2f", avg[1]); if (loads > 2) printf (", %.2f", avg[2]); if (loads > 0) putchar ('\n'); } } /* Display the system uptime and the number of users on the system, according to utmp file FILENAME. Use read_utmp OPTIONS to read the utmp file. */ static void uptime (const char *filename, int options) { size_t n_users; STRUCT_UTMP *utmp_buf; #if HAVE_UTMPX_H || HAVE_UTMP_H if (read_utmp (filename, &n_users, &utmp_buf, options) != 0) error (EXIT_FAILURE, errno, "%s", filename); #endif print_uptime (n_users, utmp_buf); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... [FILE]\n"), program_name); printf (_("\ Print the current time, the length of time the system has been up,\n\ the number of users on the system, and the average number of jobs\n\ in the run queue over the last 1, 5 and 15 minutes.")); #ifdef __linux__ /* It would be better to introduce a configure test for this, but such a test is hard to write. For the moment then, we have a hack which depends on the preprocessor used at compile time to tell us what the running kernel is. Ugh. */ printf (_(" \ Processes in\n\ an uninterruptible sleep state also contribute to the load average.\n")); #else printf (_("\n")); #endif printf (_("\ If FILE is not specified, use %s. %s as FILE is common.\n\ \n"), UTMP_FILE, WTMP_FILE); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); switch (argc - optind) { case 0: /* uptime */ uptime (UTMP_FILE, READ_UTMP_CHECK_PIDS); break; case 1: /* uptime */ uptime (argv[optind], 0); break; default: /* lose */ error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); } exit (EXIT_SUCCESS); } coreutils-8.21/src/dd.c0000664000000000000000000021516412104672701011701 00000000000000/* dd -- convert a file while copying it. Copyright (C) 1985-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Rubin, David MacKenzie, and Stuart Kemp. */ #include #define SWAB_ALIGN_OFFSET 2 #include #include #include #include #include "system.h" #include "close-stream.h" #include "error.h" #include "fd-reopen.h" #include "gethrxtime.h" #include "human.h" #include "long-options.h" #include "quote.h" #include "quotearg.h" #include "xstrtol.h" #include "xtime.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "dd" #define AUTHORS \ proper_name ("Paul Rubin"), \ proper_name ("David MacKenzie"), \ proper_name ("Stuart Kemp") /* Use SA_NOCLDSTOP as a proxy for whether the sigaction machinery is present. */ #ifndef SA_NOCLDSTOP # define SA_NOCLDSTOP 0 # define sigprocmask(How, Set, Oset) /* empty */ # define sigset_t int # if ! HAVE_SIGINTERRUPT # define siginterrupt(sig, flag) /* empty */ # endif #endif /* NonStop circa 2011 lacks SA_RESETHAND; see Bug#9076. */ #ifndef SA_RESETHAND # define SA_RESETHAND 0 #endif #ifndef SIGINFO # define SIGINFO SIGUSR1 #endif /* This may belong in GNULIB's fcntl module instead. Define O_CIO to 0 if it is not supported by this OS. */ #ifndef O_CIO # define O_CIO 0 #endif /* On AIX 5.1 and AIX 5.2, O_NOCACHE is defined via and would interfere with our use of that name, below. */ #undef O_NOCACHE #if ! HAVE_FDATASYNC # define fdatasync(fd) (errno = ENOSYS, -1) #endif #define output_char(c) \ do \ { \ obuf[oc++] = (c); \ if (oc >= output_blocksize) \ write_output (); \ } \ while (0) /* Default input and output blocksize. */ #define DEFAULT_BLOCKSIZE 512 /* How many bytes to add to the input and output block sizes before invoking malloc. See dd_copy for details. INPUT_BLOCK_SLOP must be no less than OUTPUT_BLOCK_SLOP. */ #define INPUT_BLOCK_SLOP (2 * SWAB_ALIGN_OFFSET + 2 * page_size - 1) #define OUTPUT_BLOCK_SLOP (page_size - 1) /* Maximum blocksize for the given SLOP. Keep it smaller than SIZE_MAX - SLOP, so that we can allocate buffers that size. Keep it smaller than SSIZE_MAX, for the benefit of system calls like "read". And keep it smaller than OFF_T_MAX, for the benefit of the large-offset seek code. */ #define MAX_BLOCKSIZE(slop) MIN (SIZE_MAX - (slop), MIN (SSIZE_MAX, OFF_T_MAX)) /* Conversions bit masks. */ enum { C_ASCII = 01, C_EBCDIC = 02, C_IBM = 04, C_BLOCK = 010, C_UNBLOCK = 020, C_LCASE = 040, C_UCASE = 0100, C_SWAB = 0200, C_NOERROR = 0400, C_NOTRUNC = 01000, C_SYNC = 02000, /* Use separate input and output buffers, and combine partial input blocks. */ C_TWOBUFS = 04000, C_NOCREAT = 010000, C_EXCL = 020000, C_FDATASYNC = 040000, C_FSYNC = 0100000, C_SPARSE = 0200000 }; /* Status bit masks. */ enum { STATUS_NOXFER = 01, STATUS_NOCOUNTS = 02, STATUS_LAST = STATUS_NOCOUNTS, STATUS_NONE = STATUS_LAST | (STATUS_LAST - 1) }; /* The name of the input file, or NULL for the standard input. */ static char const *input_file = NULL; /* The name of the output file, or NULL for the standard output. */ static char const *output_file = NULL; /* The page size on this host. */ static size_t page_size; /* The number of bytes in which atomic reads are done. */ static size_t input_blocksize = 0; /* The number of bytes in which atomic writes are done. */ static size_t output_blocksize = 0; /* Conversion buffer size, in bytes. 0 prevents conversions. */ static size_t conversion_blocksize = 0; /* Skip this many records of 'input_blocksize' bytes before input. */ static uintmax_t skip_records = 0; /* Skip this many bytes before input in addition of 'skip_records' records. */ static size_t skip_bytes = 0; /* Skip this many records of 'output_blocksize' bytes before output. */ static uintmax_t seek_records = 0; /* Skip this many bytes in addition to 'seek_records' records before output. */ static uintmax_t seek_bytes = 0; /* Whether the final output was done with a seek (rather than a write). */ static bool final_op_was_seek; /* Copy only this many records. The default is effectively infinity. */ static uintmax_t max_records = (uintmax_t) -1; /* Copy this many bytes in addition to 'max_records' records. */ static size_t max_bytes = 0; /* Bit vector of conversions to apply. */ static int conversions_mask = 0; /* Open flags for the input and output files. */ static int input_flags = 0; static int output_flags = 0; /* Status flags for what is printed to stderr. */ static int status_flags = 0; /* If nonzero, filter characters through the translation table. */ static bool translation_needed = false; /* Number of partial blocks written. */ static uintmax_t w_partial = 0; /* Number of full blocks written. */ static uintmax_t w_full = 0; /* Number of partial blocks read. */ static uintmax_t r_partial = 0; /* Number of full blocks read. */ static uintmax_t r_full = 0; /* Number of bytes written. */ static uintmax_t w_bytes = 0; /* Time that dd started. */ static xtime_t start_time; /* True if input is seekable. */ static bool input_seekable; /* Error number corresponding to initial attempt to lseek input. If ESPIPE, do not issue any more diagnostics about it. */ static int input_seek_errno; /* File offset of the input, in bytes, along with a flag recording whether it overflowed. */ static uintmax_t input_offset; static bool input_offset_overflow; /* True if a partial read should be diagnosed. */ static bool warn_partial_read; /* Records truncated by conv=block. */ static uintmax_t r_truncate = 0; /* Output representation of newline and space characters. They change if we're converting to EBCDIC. */ static char newline_character = '\n'; static char space_character = ' '; /* Output buffer. */ static char *obuf; /* Current index into 'obuf'. */ static size_t oc = 0; /* Index into current line, for 'conv=block' and 'conv=unblock'. */ static size_t col = 0; /* The set of signals that are caught. */ static sigset_t caught_signals; /* If nonzero, the value of the pending fatal signal. */ static sig_atomic_t volatile interrupt_signal; /* A count of the number of pending info signals that have been received. */ static sig_atomic_t volatile info_signal_count; /* Whether to discard cache for input or output. */ static bool i_nocache, o_nocache; /* Function used for read (to handle iflag=fullblock parameter). */ static ssize_t (*iread_fnc) (int fd, char *buf, size_t size); /* A longest symbol in the struct symbol_values tables below. */ #define LONGEST_SYMBOL "count_bytes" /* A symbol and the corresponding integer value. */ struct symbol_value { char symbol[sizeof LONGEST_SYMBOL]; int value; }; /* Conversion symbols, for conv="...". */ static struct symbol_value const conversions[] = { {"ascii", C_ASCII | C_TWOBUFS}, /* EBCDIC to ASCII. */ {"ebcdic", C_EBCDIC | C_TWOBUFS}, /* ASCII to EBCDIC. */ {"ibm", C_IBM | C_TWOBUFS}, /* Slightly different ASCII to EBCDIC. */ {"block", C_BLOCK | C_TWOBUFS}, /* Variable to fixed length records. */ {"unblock", C_UNBLOCK | C_TWOBUFS}, /* Fixed to variable length records. */ {"lcase", C_LCASE | C_TWOBUFS}, /* Translate upper to lower case. */ {"ucase", C_UCASE | C_TWOBUFS}, /* Translate lower to upper case. */ {"sparse", C_SPARSE}, /* Try to sparsely write output. */ {"swab", C_SWAB | C_TWOBUFS}, /* Swap bytes of input. */ {"noerror", C_NOERROR}, /* Ignore i/o errors. */ {"nocreat", C_NOCREAT}, /* Do not create output file. */ {"excl", C_EXCL}, /* Fail if the output file already exists. */ {"notrunc", C_NOTRUNC}, /* Do not truncate output file. */ {"sync", C_SYNC}, /* Pad input records to ibs with NULs. */ {"fdatasync", C_FDATASYNC}, /* Synchronize output data before finishing. */ {"fsync", C_FSYNC}, /* Also synchronize output metadata. */ {"", 0} }; #define FFS_MASK(x) ((x) ^ ((x) & ((x) - 1))) enum { /* Compute a value that's bitwise disjoint from the union of all O_ values. */ v = ~(0 | O_APPEND | O_BINARY | O_CIO | O_DIRECT | O_DIRECTORY | O_DSYNC | O_NOATIME | O_NOCTTY | O_NOFOLLOW | O_NOLINKS | O_NONBLOCK | O_SYNC | O_TEXT ), /* Use its lowest bits for private flags. */ O_FULLBLOCK = FFS_MASK (v), v2 = v ^ O_FULLBLOCK, O_NOCACHE = FFS_MASK (v2), v3 = v2 ^ O_NOCACHE, O_COUNT_BYTES = FFS_MASK (v3), v4 = v3 ^ O_COUNT_BYTES, O_SKIP_BYTES = FFS_MASK (v4), v5 = v4 ^ O_SKIP_BYTES, O_SEEK_BYTES = FFS_MASK (v5) }; /* Ensure that we got something. */ verify (O_FULLBLOCK != 0); verify (O_NOCACHE != 0); verify (O_COUNT_BYTES != 0); verify (O_SKIP_BYTES != 0); verify (O_SEEK_BYTES != 0); #define MULTIPLE_BITS_SET(i) (((i) & ((i) - 1)) != 0) /* Ensure that this is a single-bit value. */ verify ( ! MULTIPLE_BITS_SET (O_FULLBLOCK)); verify ( ! MULTIPLE_BITS_SET (O_NOCACHE)); verify ( ! MULTIPLE_BITS_SET (O_COUNT_BYTES)); verify ( ! MULTIPLE_BITS_SET (O_SKIP_BYTES)); verify ( ! MULTIPLE_BITS_SET (O_SEEK_BYTES)); /* Flags, for iflag="..." and oflag="...". */ static struct symbol_value const flags[] = { {"append", O_APPEND}, {"binary", O_BINARY}, {"cio", O_CIO}, {"direct", O_DIRECT}, {"directory", O_DIRECTORY}, {"dsync", O_DSYNC}, {"noatime", O_NOATIME}, {"nocache", O_NOCACHE}, /* Discard cache. */ {"noctty", O_NOCTTY}, {"nofollow", HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0}, {"nolinks", O_NOLINKS}, {"nonblock", O_NONBLOCK}, {"sync", O_SYNC}, {"text", O_TEXT}, {"fullblock", O_FULLBLOCK}, /* Accumulate full blocks from input. */ {"count_bytes", O_COUNT_BYTES}, {"skip_bytes", O_SKIP_BYTES}, {"seek_bytes", O_SEEK_BYTES}, {"", 0} }; /* Status, for status="...". */ static struct symbol_value const statuses[] = { {"noxfer", STATUS_NOXFER}, {"none", STATUS_NONE}, {"", 0} }; /* Translation table formed by applying successive transformations. */ static unsigned char trans_table[256]; static char const ascii_to_ebcdic[] = { '\000', '\001', '\002', '\003', '\067', '\055', '\056', '\057', '\026', '\005', '\045', '\013', '\014', '\015', '\016', '\017', '\020', '\021', '\022', '\023', '\074', '\075', '\062', '\046', '\030', '\031', '\077', '\047', '\034', '\035', '\036', '\037', '\100', '\117', '\177', '\173', '\133', '\154', '\120', '\175', '\115', '\135', '\134', '\116', '\153', '\140', '\113', '\141', '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', '\370', '\371', '\172', '\136', '\114', '\176', '\156', '\157', '\174', '\301', '\302', '\303', '\304', '\305', '\306', '\307', '\310', '\311', '\321', '\322', '\323', '\324', '\325', '\326', '\327', '\330', '\331', '\342', '\343', '\344', '\345', '\346', '\347', '\350', '\351', '\112', '\340', '\132', '\137', '\155', '\171', '\201', '\202', '\203', '\204', '\205', '\206', '\207', '\210', '\211', '\221', '\222', '\223', '\224', '\225', '\226', '\227', '\230', '\231', '\242', '\243', '\244', '\245', '\246', '\247', '\250', '\251', '\300', '\152', '\320', '\241', '\007', '\040', '\041', '\042', '\043', '\044', '\025', '\006', '\027', '\050', '\051', '\052', '\053', '\054', '\011', '\012', '\033', '\060', '\061', '\032', '\063', '\064', '\065', '\066', '\010', '\070', '\071', '\072', '\073', '\004', '\024', '\076', '\341', '\101', '\102', '\103', '\104', '\105', '\106', '\107', '\110', '\111', '\121', '\122', '\123', '\124', '\125', '\126', '\127', '\130', '\131', '\142', '\143', '\144', '\145', '\146', '\147', '\150', '\151', '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', '\170', '\200', '\212', '\213', '\214', '\215', '\216', '\217', '\220', '\232', '\233', '\234', '\235', '\236', '\237', '\240', '\252', '\253', '\254', '\255', '\256', '\257', '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267', '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277', '\312', '\313', '\314', '\315', '\316', '\317', '\332', '\333', '\334', '\335', '\336', '\337', '\352', '\353', '\354', '\355', '\356', '\357', '\372', '\373', '\374', '\375', '\376', '\377' }; static char const ascii_to_ibm[] = { '\000', '\001', '\002', '\003', '\067', '\055', '\056', '\057', '\026', '\005', '\045', '\013', '\014', '\015', '\016', '\017', '\020', '\021', '\022', '\023', '\074', '\075', '\062', '\046', '\030', '\031', '\077', '\047', '\034', '\035', '\036', '\037', '\100', '\132', '\177', '\173', '\133', '\154', '\120', '\175', '\115', '\135', '\134', '\116', '\153', '\140', '\113', '\141', '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', '\370', '\371', '\172', '\136', '\114', '\176', '\156', '\157', '\174', '\301', '\302', '\303', '\304', '\305', '\306', '\307', '\310', '\311', '\321', '\322', '\323', '\324', '\325', '\326', '\327', '\330', '\331', '\342', '\343', '\344', '\345', '\346', '\347', '\350', '\351', '\255', '\340', '\275', '\137', '\155', '\171', '\201', '\202', '\203', '\204', '\205', '\206', '\207', '\210', '\211', '\221', '\222', '\223', '\224', '\225', '\226', '\227', '\230', '\231', '\242', '\243', '\244', '\245', '\246', '\247', '\250', '\251', '\300', '\117', '\320', '\241', '\007', '\040', '\041', '\042', '\043', '\044', '\025', '\006', '\027', '\050', '\051', '\052', '\053', '\054', '\011', '\012', '\033', '\060', '\061', '\032', '\063', '\064', '\065', '\066', '\010', '\070', '\071', '\072', '\073', '\004', '\024', '\076', '\341', '\101', '\102', '\103', '\104', '\105', '\106', '\107', '\110', '\111', '\121', '\122', '\123', '\124', '\125', '\126', '\127', '\130', '\131', '\142', '\143', '\144', '\145', '\146', '\147', '\150', '\151', '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', '\170', '\200', '\212', '\213', '\214', '\215', '\216', '\217', '\220', '\232', '\233', '\234', '\235', '\236', '\237', '\240', '\252', '\253', '\254', '\255', '\256', '\257', '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267', '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277', '\312', '\313', '\314', '\315', '\316', '\317', '\332', '\333', '\334', '\335', '\336', '\337', '\352', '\353', '\354', '\355', '\356', '\357', '\372', '\373', '\374', '\375', '\376', '\377' }; static char const ebcdic_to_ascii[] = { '\000', '\001', '\002', '\003', '\234', '\011', '\206', '\177', '\227', '\215', '\216', '\013', '\014', '\015', '\016', '\017', '\020', '\021', '\022', '\023', '\235', '\205', '\010', '\207', '\030', '\031', '\222', '\217', '\034', '\035', '\036', '\037', '\200', '\201', '\202', '\203', '\204', '\012', '\027', '\033', '\210', '\211', '\212', '\213', '\214', '\005', '\006', '\007', '\220', '\221', '\026', '\223', '\224', '\225', '\226', '\004', '\230', '\231', '\232', '\233', '\024', '\025', '\236', '\032', '\040', '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247', '\250', '\133', '\056', '\074', '\050', '\053', '\041', '\046', '\251', '\252', '\253', '\254', '\255', '\256', '\257', '\260', '\261', '\135', '\044', '\052', '\051', '\073', '\136', '\055', '\057', '\262', '\263', '\264', '\265', '\266', '\267', '\270', '\271', '\174', '\054', '\045', '\137', '\076', '\077', '\272', '\273', '\274', '\275', '\276', '\277', '\300', '\301', '\302', '\140', '\072', '\043', '\100', '\047', '\075', '\042', '\303', '\141', '\142', '\143', '\144', '\145', '\146', '\147', '\150', '\151', '\304', '\305', '\306', '\307', '\310', '\311', '\312', '\152', '\153', '\154', '\155', '\156', '\157', '\160', '\161', '\162', '\313', '\314', '\315', '\316', '\317', '\320', '\321', '\176', '\163', '\164', '\165', '\166', '\167', '\170', '\171', '\172', '\322', '\323', '\324', '\325', '\326', '\327', '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337', '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347', '\173', '\101', '\102', '\103', '\104', '\105', '\106', '\107', '\110', '\111', '\350', '\351', '\352', '\353', '\354', '\355', '\175', '\112', '\113', '\114', '\115', '\116', '\117', '\120', '\121', '\122', '\356', '\357', '\360', '\361', '\362', '\363', '\134', '\237', '\123', '\124', '\125', '\126', '\127', '\130', '\131', '\132', '\364', '\365', '\366', '\367', '\370', '\371', '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067', '\070', '\071', '\372', '\373', '\374', '\375', '\376', '\377' }; /* True if we need to close the standard output *stream*. */ static bool close_stdout_required = true; /* The only reason to close the standard output *stream* is if parse_long_options fails (as it does for --help or --version). In any other case, dd uses only the STDOUT_FILENO file descriptor, and the "cleanup" function calls "close (STDOUT_FILENO)". Closing the file descriptor and then letting the usual atexit-run close_stdout function call "fclose (stdout)" would result in a harmless failure of the close syscall (with errno EBADF). This function serves solely to avoid the unnecessary close_stdout call, once parse_long_options has succeeded. Meanwhile, we guarantee that the standard error stream is flushed, by inlining the last half of close_stdout as needed. */ static void maybe_close_stdout (void) { if (close_stdout_required) close_stdout (); else if (close_stream (stderr) != 0) _exit (EXIT_FAILURE); } void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPERAND]...\n\ or: %s OPTION\n\ "), program_name, program_name); fputs (_("\ Copy a file, converting and formatting according to the operands.\n\ \n\ bs=BYTES read and write up to BYTES bytes at a time\n\ cbs=BYTES convert BYTES bytes at a time\n\ conv=CONVS convert the file as per the comma separated symbol list\n\ count=N copy only N input blocks\n\ ibs=BYTES read up to BYTES bytes at a time (default: 512)\n\ "), stdout); fputs (_("\ if=FILE read from FILE instead of stdin\n\ iflag=FLAGS read as per the comma separated symbol list\n\ obs=BYTES write BYTES bytes at a time (default: 512)\n\ of=FILE write to FILE instead of stdout\n\ oflag=FLAGS write as per the comma separated symbol list\n\ seek=N skip N obs-sized blocks at start of output\n\ skip=N skip N ibs-sized blocks at start of input\n\ status=WHICH WHICH info to suppress outputting to stderr;\n\ 'noxfer' suppresses transfer stats, 'none' suppresses all\n\ "), stdout); fputs (_("\ \n\ N and BYTES may be followed by the following multiplicative suffixes:\n\ c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n\ GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n\ \n\ Each CONV symbol may be:\n\ \n\ "), stdout); fputs (_("\ ascii from EBCDIC to ASCII\n\ ebcdic from ASCII to EBCDIC\n\ ibm from ASCII to alternate EBCDIC\n\ block pad newline-terminated records with spaces to cbs-size\n\ unblock replace trailing spaces in cbs-size records with newline\n\ lcase change upper case to lower case\n\ ucase change lower case to upper case\n\ sparse try to seek rather than write the output for NUL input blocks\n\ swab swap every pair of input bytes\n\ sync pad every input block with NULs to ibs-size; when used\n\ with block or unblock, pad with spaces rather than NULs\n\ "), stdout); fputs (_("\ excl fail if the output file already exists\n\ nocreat do not create the output file\n\ notrunc do not truncate the output file\n\ noerror continue after read errors\n\ fdatasync physically write output file data before finishing\n\ fsync likewise, but also write metadata\n\ "), stdout); fputs (_("\ \n\ Each FLAG symbol may be:\n\ \n\ append append mode (makes sense only for output; conv=notrunc suggested)\n\ "), stdout); if (O_CIO) fputs (_(" cio use concurrent I/O for data\n"), stdout); if (O_DIRECT) fputs (_(" direct use direct I/O for data\n"), stdout); if (O_DIRECTORY) fputs (_(" directory fail unless a directory\n"), stdout); if (O_DSYNC) fputs (_(" dsync use synchronized I/O for data\n"), stdout); if (O_SYNC) fputs (_(" sync likewise, but also for metadata\n"), stdout); fputs (_(" fullblock accumulate full blocks of input (iflag only)\n"), stdout); if (O_NONBLOCK) fputs (_(" nonblock use non-blocking I/O\n"), stdout); if (O_NOATIME) fputs (_(" noatime do not update access time\n"), stdout); #if HAVE_POSIX_FADVISE if (O_NOCACHE) fputs (_(" nocache discard cached data\n"), stdout); #endif if (O_NOCTTY) fputs (_(" noctty do not assign controlling terminal from file\n"), stdout); if (HAVE_WORKING_O_NOFOLLOW) fputs (_(" nofollow do not follow symlinks\n"), stdout); if (O_NOLINKS) fputs (_(" nolinks fail if multiply-linked\n"), stdout); if (O_BINARY) fputs (_(" binary use binary I/O for data\n"), stdout); if (O_TEXT) fputs (_(" text use text I/O for data\n"), stdout); if (O_COUNT_BYTES) fputs (_(" count_bytes treat 'count=N' as a byte count (iflag only)\n\ "), stdout); if (O_SKIP_BYTES) fputs (_(" skip_bytes treat 'skip=N' as a byte count (iflag only)\n\ "), stdout); if (O_SEEK_BYTES) fputs (_(" seek_bytes treat 'seek=N' as a byte count (oflag only)\n\ "), stdout); { char const *siginfo_name = (SIGINFO == SIGUSR1 ? "USR1" : "INFO"); printf (_("\ \n\ Sending a %s signal to a running 'dd' process makes it\n\ print I/O statistics to standard error and then resume copying.\n\ \n\ $ dd if=/dev/zero of=/dev/null& pid=$!\n\ $ kill -%s $pid; sleep 1; kill $pid\n\ 18335302+0 records in\n\ 18335302+0 records out\n\ 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n\ \n\ Options are:\n\ \n\ "), siginfo_name, siginfo_name); } fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } static void translate_charset (char const *new_trans) { int i; for (i = 0; i < 256; i++) trans_table[i] = new_trans[trans_table[i]]; translation_needed = true; } /* Return true if I has more than one bit set. I must be nonnegative. */ static inline bool multiple_bits_set (int i) { return MULTIPLE_BITS_SET (i); } /* Print transfer statistics. */ static void print_stats (void) { char hbuf[LONGEST_HUMAN_READABLE + 1]; int human_opts = (human_autoscale | human_round_to_nearest | human_space_before_unit | human_SI | human_B); double delta_s; char const *bytes_per_second; if ((status_flags & STATUS_NONE) == STATUS_NONE) return; fprintf (stderr, _("%"PRIuMAX"+%"PRIuMAX" records in\n" "%"PRIuMAX"+%"PRIuMAX" records out\n"), r_full, r_partial, w_full, w_partial); if (r_truncate != 0) fprintf (stderr, ngettext ("%"PRIuMAX" truncated record\n", "%"PRIuMAX" truncated records\n", select_plural (r_truncate)), r_truncate); if (status_flags & STATUS_NOXFER) return; /* Use integer arithmetic to compute the transfer rate, since that makes it easy to use SI abbreviations. */ fprintf (stderr, ngettext ("%"PRIuMAX" byte (%s) copied", "%"PRIuMAX" bytes (%s) copied", select_plural (w_bytes)), w_bytes, human_readable (w_bytes, hbuf, human_opts, 1, 1)); xtime_t now = gethrxtime (); if (start_time < now) { double XTIME_PRECISIONe0 = XTIME_PRECISION; uintmax_t delta_xtime = now; delta_xtime -= start_time; delta_s = delta_xtime / XTIME_PRECISIONe0; bytes_per_second = human_readable (w_bytes, hbuf, human_opts, XTIME_PRECISION, delta_xtime); } else { delta_s = 0; bytes_per_second = _("Infinity B"); } /* TRANSLATORS: The two instances of "s" in this string are the SI symbol "s" (meaning second), and should not be translated. This format used to be: ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) but that was incorrect for languages like Polish. To fix this bug we now use SI symbols even though they're a bit more confusing in English. */ fprintf (stderr, _(", %g s, %s/s\n"), delta_s, bytes_per_second); } /* An ordinary signal was received; arrange for the program to exit. */ static void interrupt_handler (int sig) { if (! SA_RESETHAND) signal (sig, SIG_DFL); interrupt_signal = sig; } /* An info signal was received; arrange for the program to print status. */ static void siginfo_handler (int sig) { if (! SA_NOCLDSTOP) signal (sig, siginfo_handler); info_signal_count++; } /* Install the signal handlers. */ static void install_signal_handlers (void) { bool catch_siginfo = ! (SIGINFO == SIGUSR1 && getenv ("POSIXLY_CORRECT")); #if SA_NOCLDSTOP struct sigaction act; sigemptyset (&caught_signals); if (catch_siginfo) { sigaction (SIGINFO, NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&caught_signals, SIGINFO); } sigaction (SIGINT, NULL, &act); if (act.sa_handler != SIG_IGN) sigaddset (&caught_signals, SIGINT); act.sa_mask = caught_signals; if (sigismember (&caught_signals, SIGINFO)) { act.sa_handler = siginfo_handler; act.sa_flags = 0; sigaction (SIGINFO, &act, NULL); } if (sigismember (&caught_signals, SIGINT)) { act.sa_handler = interrupt_handler; act.sa_flags = SA_NODEFER | SA_RESETHAND; sigaction (SIGINT, &act, NULL); } #else if (catch_siginfo && signal (SIGINFO, SIG_IGN) != SIG_IGN) { signal (SIGINFO, siginfo_handler); siginterrupt (SIGINFO, 1); } if (signal (SIGINT, SIG_IGN) != SIG_IGN) { signal (SIGINT, interrupt_handler); siginterrupt (SIGINT, 1); } #endif } static void cleanup (void) { if (close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, _("closing input file %s"), quote (input_file)); /* Don't remove this call to close, even though close_stdout closes standard output. This close is necessary when cleanup is called as part of a signal handler. */ if (close (STDOUT_FILENO) < 0) error (EXIT_FAILURE, errno, _("closing output file %s"), quote (output_file)); } /* Process any pending signals. If signals are caught, this function should be called periodically. Ideally there should never be an unbounded amount of time when signals are not being processed. */ static void process_signals (void) { while (interrupt_signal || info_signal_count) { int interrupt; int infos; sigset_t oldset; sigprocmask (SIG_BLOCK, &caught_signals, &oldset); /* Reload interrupt_signal and info_signal_count, in case a new signal was handled before sigprocmask took effect. */ interrupt = interrupt_signal; infos = info_signal_count; if (infos) info_signal_count = infos - 1; sigprocmask (SIG_SETMASK, &oldset, NULL); if (interrupt) cleanup (); print_stats (); if (interrupt) raise (interrupt); } } static void ATTRIBUTE_NORETURN quit (int code) { cleanup (); print_stats (); process_signals (); exit (code); } /* Return LEN rounded down to a multiple of PAGE_SIZE while storing the remainder internally per FD. Pass LEN == 0 to get the current remainder. */ static off_t cache_round (int fd, off_t len) { static off_t i_pending, o_pending; off_t *pending = (fd == STDIN_FILENO ? &i_pending : &o_pending); if (len) { off_t c_pending = *pending + len; *pending = c_pending % page_size; if (c_pending > *pending) len = c_pending - *pending; else len = 0; } else len = *pending; return len; } /* Discard the cache from the current offset of either STDIN_FILENO or STDOUT_FILENO. Return true on success. */ static bool invalidate_cache (int fd, off_t len) { int adv_ret = -1; /* Minimize syscalls. */ off_t clen = cache_round (fd, len); if (len && !clen) return true; /* Don't advise this time. */ if (!len && !clen && max_records) return true; /* Nothing pending. */ off_t pending = len ? cache_round (fd, 0) : 0; if (fd == STDIN_FILENO) { if (input_seekable) { /* Note we're being careful here to only invalidate what we've read, so as not to dump any read ahead cache. */ #if HAVE_POSIX_FADVISE adv_ret = posix_fadvise (fd, input_offset - clen - pending, clen, POSIX_FADV_DONTNEED); #else errno = ENOTSUP; #endif } else errno = ESPIPE; } else if (fd == STDOUT_FILENO) { static off_t output_offset = -2; if (output_offset != -1) { if (0 > output_offset) { output_offset = lseek (fd, 0, SEEK_CUR); output_offset -= clen + pending; } if (0 <= output_offset) { #if HAVE_POSIX_FADVISE adv_ret = posix_fadvise (fd, output_offset, clen, POSIX_FADV_DONTNEED); #else errno = ENOTSUP; #endif output_offset += clen + pending; } } } return adv_ret != -1 ? true : false; } /* Read from FD into the buffer BUF of size SIZE, processing any signals that arrive before bytes are read. Return the number of bytes read if successful, -1 (setting errno) on failure. */ static ssize_t iread (int fd, char *buf, size_t size) { ssize_t nread; do { process_signals (); nread = read (fd, buf, size); } while (nread < 0 && errno == EINTR); if (0 < nread && warn_partial_read) { static ssize_t prev_nread; if (0 < prev_nread && prev_nread < size) { uintmax_t prev = prev_nread; error (0, 0, ngettext (("warning: partial read (%"PRIuMAX" byte); " "suggest iflag=fullblock"), ("warning: partial read (%"PRIuMAX" bytes); " "suggest iflag=fullblock"), select_plural (prev)), prev); warn_partial_read = false; } prev_nread = nread; } return nread; } /* Wrapper around iread function to accumulate full blocks. */ static ssize_t iread_fullblock (int fd, char *buf, size_t size) { ssize_t nread = 0; while (0 < size) { ssize_t ncurr = iread (fd, buf, size); if (ncurr < 0) return ncurr; if (ncurr == 0) break; nread += ncurr; buf += ncurr; size -= ncurr; } return nread; } /* Write to FD the buffer BUF of size SIZE, processing any signals that arrive. Return the number of bytes written, setting errno if this is less than SIZE. Keep trying if there are partial writes. */ static size_t iwrite (int fd, char const *buf, size_t size) { size_t total_written = 0; if ((output_flags & O_DIRECT) && size < output_blocksize) { int old_flags = fcntl (STDOUT_FILENO, F_GETFL); if (fcntl (STDOUT_FILENO, F_SETFL, old_flags & ~O_DIRECT) != 0) error (0, errno, _("failed to turn off O_DIRECT: %s"), quote (output_file)); /* Since we have just turned off O_DIRECT for the final write, here we try to preserve some of its semantics. First, use posix_fadvise to tell the system not to pollute the buffer cache with this data. Don't bother to diagnose lseek or posix_fadvise failure. */ invalidate_cache (STDOUT_FILENO, 0); /* Attempt to ensure that that final block is committed to disk as quickly as possible. */ conversions_mask |= C_FSYNC; } while (total_written < size) { ssize_t nwritten = 0; process_signals (); /* Perform a seek for a NUL block if sparse output is enabled. */ final_op_was_seek = false; if ((conversions_mask & C_SPARSE) && is_nul (buf, size)) { if (lseek (fd, size, SEEK_CUR) < 0) { conversions_mask &= ~C_SPARSE; /* Don't warn about the advisory sparse request. */ } else { final_op_was_seek = true; nwritten = size; } } if (!nwritten) nwritten = write (fd, buf + total_written, size - total_written); if (nwritten < 0) { if (errno != EINTR) break; } else if (nwritten == 0) { /* Some buggy drivers return 0 when one tries to write beyond a device's end. (Example: Linux kernel 1.2.13 on /dev/fd0.) Set errno to ENOSPC so they get a sensible diagnostic. */ errno = ENOSPC; break; } else total_written += nwritten; } if (o_nocache && total_written) invalidate_cache (fd, total_written); return total_written; } /* Write, then empty, the output buffer 'obuf'. */ static void write_output (void) { size_t nwritten = iwrite (STDOUT_FILENO, obuf, output_blocksize); w_bytes += nwritten; if (nwritten != output_blocksize) { error (0, errno, _("writing to %s"), quote (output_file)); if (nwritten != 0) w_partial++; quit (EXIT_FAILURE); } else w_full++; oc = 0; } /* Return true if STR is of the form "PATTERN" or "PATTERNDELIM...". */ static bool _GL_ATTRIBUTE_PURE operand_matches (char const *str, char const *pattern, char delim) { while (*pattern) if (*str++ != *pattern++) return false; return !*str || *str == delim; } /* Interpret one "conv=..." or similar operand STR according to the symbols in TABLE, returning the flags specified. If the operand cannot be parsed, use ERROR_MSGID to generate a diagnostic. */ static int parse_symbols (char const *str, struct symbol_value const *table, char const *error_msgid) { int value = 0; while (true) { char const *strcomma = strchr (str, ','); struct symbol_value const *entry; for (entry = table; ! (operand_matches (str, entry->symbol, ',') && entry->value); entry++) { if (! entry->symbol[0]) { size_t slen = strcomma ? strcomma - str : strlen (str); error (0, 0, "%s: %s", _(error_msgid), quotearg_n_style_mem (0, locale_quoting_style, str, slen)); usage (EXIT_FAILURE); } } value |= entry->value; if (!strcomma) break; str = strcomma + 1; } return value; } /* Return the value of STR, interpreted as a non-negative decimal integer, optionally multiplied by various values. Set *INVALID if STR does not represent a number in this format. */ static uintmax_t parse_integer (const char *str, bool *invalid) { uintmax_t n; char *suffix; enum strtol_error e = xstrtoumax (str, &suffix, 10, &n, "bcEGkKMPTwYZ0"); if (e == LONGINT_INVALID_SUFFIX_CHAR && *suffix == 'x') { uintmax_t multiplier = parse_integer (suffix + 1, invalid); if (multiplier != 0 && n * multiplier / multiplier != n) { *invalid = true; return 0; } n *= multiplier; } else if (e != LONGINT_OK) { *invalid = true; return 0; } return n; } /* OPERAND is of the form "X=...". Return true if X is NAME. */ static bool _GL_ATTRIBUTE_PURE operand_is (char const *operand, char const *name) { return operand_matches (operand, name, '='); } static void scanargs (int argc, char *const *argv) { int i; size_t blocksize = 0; uintmax_t count = (uintmax_t) -1; uintmax_t skip = 0; uintmax_t seek = 0; for (i = optind; i < argc; i++) { char const *name = argv[i]; char const *val = strchr (name, '='); if (val == NULL) { error (0, 0, _("unrecognized operand %s"), quote (name)); usage (EXIT_FAILURE); } val++; if (operand_is (name, "if")) input_file = val; else if (operand_is (name, "of")) output_file = val; else if (operand_is (name, "conv")) conversions_mask |= parse_symbols (val, conversions, N_("invalid conversion")); else if (operand_is (name, "iflag")) input_flags |= parse_symbols (val, flags, N_("invalid input flag")); else if (operand_is (name, "oflag")) output_flags |= parse_symbols (val, flags, N_("invalid output flag")); else if (operand_is (name, "status")) status_flags |= parse_symbols (val, statuses, N_("invalid status flag")); else { bool invalid = false; uintmax_t n = parse_integer (val, &invalid); if (operand_is (name, "ibs")) { invalid |= ! (0 < n && n <= MAX_BLOCKSIZE (INPUT_BLOCK_SLOP)); input_blocksize = n; } else if (operand_is (name, "obs")) { invalid |= ! (0 < n && n <= MAX_BLOCKSIZE (OUTPUT_BLOCK_SLOP)); output_blocksize = n; } else if (operand_is (name, "bs")) { invalid |= ! (0 < n && n <= MAX_BLOCKSIZE (INPUT_BLOCK_SLOP)); blocksize = n; } else if (operand_is (name, "cbs")) { invalid |= ! (0 < n && n <= SIZE_MAX); conversion_blocksize = n; } else if (operand_is (name, "skip")) skip = n; else if (operand_is (name, "seek")) seek = n; else if (operand_is (name, "count")) count = n; else { error (0, 0, _("unrecognized operand %s"), quote (name)); usage (EXIT_FAILURE); } if (invalid) error (EXIT_FAILURE, 0, _("invalid number %s"), quote (val)); } } if (blocksize) input_blocksize = output_blocksize = blocksize; else { /* POSIX says dd aggregates partial reads into output_blocksize if bs= is not specified. */ conversions_mask |= C_TWOBUFS; } if (input_blocksize == 0) input_blocksize = DEFAULT_BLOCKSIZE; if (output_blocksize == 0) output_blocksize = DEFAULT_BLOCKSIZE; if (conversion_blocksize == 0) conversions_mask &= ~(C_BLOCK | C_UNBLOCK); if (input_flags & (O_DSYNC | O_SYNC)) input_flags |= O_RSYNC; if (output_flags & O_FULLBLOCK) { error (0, 0, "%s: %s", _("invalid output flag"), "'fullblock'"); usage (EXIT_FAILURE); } if (input_flags & O_SEEK_BYTES) { error (0, 0, "%s: %s", _("invalid input flag"), "'seek_bytes'"); usage (EXIT_FAILURE); } if (output_flags & (O_COUNT_BYTES | O_SKIP_BYTES)) { error (0, 0, "%s: %s", _("invalid output flag"), output_flags & O_COUNT_BYTES ? "'count_bytes'" : "'skip_bytes'"); usage (EXIT_FAILURE); } if (input_flags & O_SKIP_BYTES && skip != 0) { skip_records = skip / input_blocksize; skip_bytes = skip % input_blocksize; } else if (skip != 0) skip_records = skip; if (input_flags & O_COUNT_BYTES && count != (uintmax_t) -1) { max_records = count / input_blocksize; max_bytes = count % input_blocksize; } else if (count != (uintmax_t) -1) max_records = count; if (output_flags & O_SEEK_BYTES && seek != 0) { seek_records = seek / output_blocksize; seek_bytes = seek % output_blocksize; } else if (seek != 0) seek_records = seek; /* Warn about partial reads if bs=SIZE is given and iflag=fullblock is not, and if counting or skipping bytes or using direct I/O. This helps to avoid confusion with miscounts, and to avoid issues with direct I/O on GNU/Linux. */ warn_partial_read = (! (conversions_mask & C_TWOBUFS) && ! (input_flags & O_FULLBLOCK) && (skip_records || (0 < max_records && max_records < (uintmax_t) -1) || (input_flags | output_flags) & O_DIRECT)); iread_fnc = ((input_flags & O_FULLBLOCK) ? iread_fullblock : iread); input_flags &= ~O_FULLBLOCK; if (multiple_bits_set (conversions_mask & (C_ASCII | C_EBCDIC | C_IBM))) error (EXIT_FAILURE, 0, _("cannot combine any two of {ascii,ebcdic,ibm}")); if (multiple_bits_set (conversions_mask & (C_BLOCK | C_UNBLOCK))) error (EXIT_FAILURE, 0, _("cannot combine block and unblock")); if (multiple_bits_set (conversions_mask & (C_LCASE | C_UCASE))) error (EXIT_FAILURE, 0, _("cannot combine lcase and ucase")); if (multiple_bits_set (conversions_mask & (C_EXCL | C_NOCREAT))) error (EXIT_FAILURE, 0, _("cannot combine excl and nocreat")); if (multiple_bits_set (input_flags & (O_DIRECT | O_NOCACHE)) || multiple_bits_set (output_flags & (O_DIRECT | O_NOCACHE))) error (EXIT_FAILURE, 0, _("cannot combine direct and nocache")); if (input_flags & O_NOCACHE) { i_nocache = true; input_flags &= ~O_NOCACHE; } if (output_flags & O_NOCACHE) { o_nocache = true; output_flags &= ~O_NOCACHE; } } /* Fix up translation table. */ static void apply_translations (void) { int i; if (conversions_mask & C_ASCII) translate_charset (ebcdic_to_ascii); if (conversions_mask & C_UCASE) { for (i = 0; i < 256; i++) trans_table[i] = toupper (trans_table[i]); translation_needed = true; } else if (conversions_mask & C_LCASE) { for (i = 0; i < 256; i++) trans_table[i] = tolower (trans_table[i]); translation_needed = true; } if (conversions_mask & C_EBCDIC) { translate_charset (ascii_to_ebcdic); newline_character = ascii_to_ebcdic['\n']; space_character = ascii_to_ebcdic[' ']; } else if (conversions_mask & C_IBM) { translate_charset (ascii_to_ibm); newline_character = ascii_to_ibm['\n']; space_character = ascii_to_ibm[' ']; } } /* Apply the character-set translations specified by the user to the NREAD bytes in BUF. */ static void translate_buffer (char *buf, size_t nread) { char *cp; size_t i; for (i = nread, cp = buf; i; i--, cp++) *cp = trans_table[to_uchar (*cp)]; } /* If true, the last char from the previous call to 'swab_buffer' is saved in 'saved_char'. */ static bool char_is_saved = false; /* Odd char from previous call. */ static char saved_char; /* Swap NREAD bytes in BUF, plus possibly an initial char from the previous call. If NREAD is odd, save the last char for the next call. Return the new start of the BUF buffer. */ static char * swab_buffer (char *buf, size_t *nread) { char *bufstart = buf; char *cp; size_t i; /* Is a char left from last time? */ if (char_is_saved) { *--bufstart = saved_char; (*nread)++; char_is_saved = false; } if (*nread & 1) { /* An odd number of chars are in the buffer. */ saved_char = bufstart[--*nread]; char_is_saved = true; } /* Do the byte-swapping by moving every second character two positions toward the end, working from the end of the buffer toward the beginning. This way we only move half of the data. */ cp = bufstart + *nread; /* Start one char past the last. */ for (i = *nread / 2; i; i--, cp -= 2) *cp = *(cp - 2); return ++bufstart; } /* Add OFFSET to the input offset, setting the overflow flag if necessary. */ static void advance_input_offset (uintmax_t offset) { input_offset += offset; if (input_offset < offset) input_offset_overflow = true; } /* This is a wrapper for lseek. It detects and warns about a kernel bug that makes lseek a no-op for tape devices, even though the kernel lseek return value suggests that the function succeeded. The parameters are the same as those of the lseek function, but with the addition of FILENAME, the name of the file associated with descriptor FDESC. The file name is used solely in the warning that's printed when the bug is detected. Return the same value that lseek would have returned, but when the lseek bug is detected, return -1 to indicate that lseek failed. The offending behavior has been confirmed with an Exabyte SCSI tape drive accessed via /dev/nst0 on both Linux 2.2.17 and 2.4.16 kernels. */ #ifdef __linux__ # include # define MT_SAME_POSITION(P, Q) \ ((P).mt_resid == (Q).mt_resid \ && (P).mt_fileno == (Q).mt_fileno \ && (P).mt_blkno == (Q).mt_blkno) static off_t skip_via_lseek (char const *filename, int fdesc, off_t offset, int whence) { struct mtget s1; struct mtget s2; bool got_original_tape_position = (ioctl (fdesc, MTIOCGET, &s1) == 0); /* known bad device type */ /* && s.mt_type == MT_ISSCSI2 */ off_t new_position = lseek (fdesc, offset, whence); if (0 <= new_position && got_original_tape_position && ioctl (fdesc, MTIOCGET, &s2) == 0 && MT_SAME_POSITION (s1, s2)) { error (0, 0, _("warning: working around lseek kernel bug for file (%s)\n\ of mt_type=0x%0lx -- see for the list of types"), filename, s2.mt_type); errno = 0; new_position = -1; } return new_position; } #else # define skip_via_lseek(Filename, Fd, Offset, Whence) lseek (Fd, Offset, Whence) #endif /* Throw away RECORDS blocks of BLOCKSIZE bytes plus BYTES bytes on file descriptor FDESC, which is open with read permission for FILE. Store up to BLOCKSIZE bytes of the data at a time in BUF, if necessary. RECORDS or BYTES must be nonzero. If FDESC is STDIN_FILENO, advance the input offset. Return the number of records remaining, i.e., that were not skipped because EOF was reached. If FDESC is STDOUT_FILENO, on return, BYTES is the remaining bytes in addition to the remaining records. */ static uintmax_t skip (int fdesc, char const *file, uintmax_t records, size_t blocksize, size_t *bytes, char *buf) { uintmax_t offset = records * blocksize + *bytes; /* Try lseek and if an error indicates it was an inappropriate operation -- or if the file offset is not representable as an off_t -- fall back on using read. */ errno = 0; if (records <= OFF_T_MAX / blocksize && 0 <= skip_via_lseek (file, fdesc, offset, SEEK_CUR)) { if (fdesc == STDIN_FILENO) { struct stat st; if (fstat (STDIN_FILENO, &st) != 0) error (EXIT_FAILURE, errno, _("cannot fstat %s"), quote (file)); if (usable_st_size (&st) && st.st_size < input_offset + offset) { /* When skipping past EOF, return the number of _full_ blocks * that are not skipped, and set offset to EOF, so the caller * can determine the requested skip was not satisfied. */ records = ( offset - st.st_size ) / blocksize; offset = st.st_size - input_offset; } else records = 0; advance_input_offset (offset); } else { records = 0; *bytes = 0; } return records; } else { int lseek_errno = errno; /* The seek request may have failed above if it was too big (> device size, > max file size, etc.) Or it may not have been done at all (> OFF_T_MAX). Therefore try to seek to the end of the file, to avoid redundant reading. */ if ((skip_via_lseek (file, fdesc, 0, SEEK_END)) >= 0) { /* File is seekable, and we're at the end of it, and size <= OFF_T_MAX. So there's no point using read to advance. */ if (!lseek_errno) { /* The original seek was not attempted as offset > OFF_T_MAX. We should error for write as can't get to the desired location, even if OFF_T_MAX < max file size. For read we're not going to read any data anyway, so we should error for consistency. It would be nice to not error for /dev/{zero,null} for any offset, but that's not a significant issue. */ lseek_errno = EOVERFLOW; } if (fdesc == STDIN_FILENO) error (0, lseek_errno, _("%s: cannot skip"), quote (file)); else error (0, lseek_errno, _("%s: cannot seek"), quote (file)); /* If the file has a specific size and we've asked to skip/seek beyond the max allowable, then quit. */ quit (EXIT_FAILURE); } /* else file_size && offset > OFF_T_MAX or file ! seekable */ do { ssize_t nread = iread_fnc (fdesc, buf, records ? blocksize : *bytes); if (nread < 0) { if (fdesc == STDIN_FILENO) { error (0, errno, _("error reading %s"), quote (file)); if (conversions_mask & C_NOERROR) print_stats (); } else error (0, lseek_errno, _("%s: cannot seek"), quote (file)); quit (EXIT_FAILURE); } else if (nread == 0) break; else if (fdesc == STDIN_FILENO) advance_input_offset (nread); if (records != 0) records--; else *bytes = 0; } while (records || *bytes); return records; } } /* Advance the input by NBYTES if possible, after a read error. The input file offset may or may not have advanced after the failed read; adjust it to point just after the bad record regardless. Return true if successful, or if the input is already known to not be seekable. */ static bool advance_input_after_read_error (size_t nbytes) { if (! input_seekable) { if (input_seek_errno == ESPIPE) return true; errno = input_seek_errno; } else { off_t offset; advance_input_offset (nbytes); input_offset_overflow |= (OFF_T_MAX < input_offset); if (input_offset_overflow) { error (0, 0, _("offset overflow while reading file %s"), quote (input_file)); return false; } offset = lseek (STDIN_FILENO, 0, SEEK_CUR); if (0 <= offset) { off_t diff; if (offset == input_offset) return true; diff = input_offset - offset; if (! (0 <= diff && diff <= nbytes)) error (0, 0, _("warning: invalid file offset after failed read")); if (0 <= skip_via_lseek (input_file, STDIN_FILENO, diff, SEEK_CUR)) return true; if (errno == 0) error (0, 0, _("cannot work around kernel bug after all")); } } error (0, errno, _("%s: cannot seek"), quote (input_file)); return false; } /* Copy NREAD bytes of BUF, with no conversions. */ static void copy_simple (char const *buf, size_t nread) { const char *start = buf; /* First uncopied char in BUF. */ do { size_t nfree = MIN (nread, output_blocksize - oc); memcpy (obuf + oc, start, nfree); nread -= nfree; /* Update the number of bytes left to copy. */ start += nfree; oc += nfree; if (oc >= output_blocksize) write_output (); } while (nread != 0); } /* Copy NREAD bytes of BUF, doing conv=block (pad newline-terminated records to 'conversion_blocksize', replacing the newline with trailing spaces). */ static void copy_with_block (char const *buf, size_t nread) { size_t i; for (i = nread; i; i--, buf++) { if (*buf == newline_character) { if (col < conversion_blocksize) { size_t j; for (j = col; j < conversion_blocksize; j++) output_char (space_character); } col = 0; } else { if (col == conversion_blocksize) r_truncate++; else if (col < conversion_blocksize) output_char (*buf); col++; } } } /* Copy NREAD bytes of BUF, doing conv=unblock (replace trailing spaces in 'conversion_blocksize'-sized records with a newline). */ static void copy_with_unblock (char const *buf, size_t nread) { size_t i; char c; static size_t pending_spaces = 0; for (i = 0; i < nread; i++) { c = buf[i]; if (col++ >= conversion_blocksize) { col = pending_spaces = 0; /* Wipe out any pending spaces. */ i--; /* Push the char back; get it later. */ output_char (newline_character); } else if (c == space_character) pending_spaces++; else { /* 'c' is the character after a run of spaces that were not at the end of the conversion buffer. Output them. */ while (pending_spaces) { output_char (space_character); --pending_spaces; } output_char (c); } } } /* Set the file descriptor flags for FD that correspond to the nonzero bits in ADD_FLAGS. The file's name is NAME. */ static void set_fd_flags (int fd, int add_flags, char const *name) { /* Ignore file creation flags that are no-ops on file descriptors. */ add_flags &= ~ (O_NOCTTY | O_NOFOLLOW); if (add_flags) { int old_flags = fcntl (fd, F_GETFL); int new_flags = old_flags | add_flags; bool ok = true; if (old_flags < 0) ok = false; else if (old_flags != new_flags) { if (new_flags & (O_DIRECTORY | O_NOLINKS)) { /* NEW_FLAGS contains at least one file creation flag that requires some checking of the open file descriptor. */ struct stat st; if (fstat (fd, &st) != 0) ok = false; else if ((new_flags & O_DIRECTORY) && ! S_ISDIR (st.st_mode)) { errno = ENOTDIR; ok = false; } else if ((new_flags & O_NOLINKS) && 1 < st.st_nlink) { errno = EMLINK; ok = false; } new_flags &= ~ (O_DIRECTORY | O_NOLINKS); } if (ok && old_flags != new_flags && fcntl (fd, F_SETFL, new_flags) == -1) ok = false; } if (!ok) error (EXIT_FAILURE, errno, _("setting flags for %s"), quote (name)); } } static char * human_size (size_t n) { static char hbuf[LONGEST_HUMAN_READABLE + 1]; int human_opts = (human_autoscale | human_round_to_nearest | human_base_1024 | human_space_before_unit | human_SI | human_B); return human_readable (n, hbuf, human_opts, 1, 1); } /* The main loop. */ static int dd_copy (void) { char *ibuf, *bufstart; /* Input buffer. */ /* These are declared static so that even though we don't free the buffers, valgrind will recognize that there is no "real" leak. */ static char *real_buf; /* real buffer address before alignment */ static char *real_obuf; ssize_t nread; /* Bytes read in the current block. */ /* If nonzero, then the previously read block was partial and PARTREAD was its size. */ size_t partread = 0; int exit_status = EXIT_SUCCESS; size_t n_bytes_read; /* Leave at least one extra byte at the beginning and end of 'ibuf' for conv=swab, but keep the buffer address even. But some peculiar device drivers work only with word-aligned buffers, so leave an extra two bytes. */ /* Some devices require alignment on a sector or page boundary (e.g. character disk devices). Align the input buffer to a page boundary to cover all bases. Note that due to the swab algorithm, we must have at least one byte in the page before the input buffer; thus we allocate 2 pages of slop in the real buffer. 8k above the blocksize shouldn't bother anyone. The page alignment is necessary on any Linux kernel that supports either the SGI raw I/O patch or Steven Tweedies raw I/O patch. It is necessary when accessing raw (i.e. character special) disk devices on Unixware or other SVR4-derived system. */ real_buf = malloc (input_blocksize + INPUT_BLOCK_SLOP); if (!real_buf) error (EXIT_FAILURE, 0, _("memory exhausted by input buffer of size %zu bytes (%s)"), input_blocksize, human_size (input_blocksize)); ibuf = real_buf; ibuf += SWAB_ALIGN_OFFSET; /* allow space for swab */ ibuf = ptr_align (ibuf, page_size); if (conversions_mask & C_TWOBUFS) { /* Page-align the output buffer, too. */ real_obuf = malloc (output_blocksize + OUTPUT_BLOCK_SLOP); if (!real_obuf) error (EXIT_FAILURE, 0, _("memory exhausted by output buffer of size %zu bytes (%s)"), output_blocksize, human_size (output_blocksize)); obuf = ptr_align (real_obuf, page_size); } else { real_obuf = NULL; obuf = ibuf; } /* Write a sentinel to the slop after the buffer, to allow efficient checking for NUL blocks. */ assert (sizeof (uintptr_t) <= OUTPUT_BLOCK_SLOP); memset (obuf + output_blocksize, 1, sizeof (uintptr_t)); if (skip_records != 0 || skip_bytes != 0) { uintmax_t us_bytes = input_offset + (skip_records * input_blocksize) + skip_bytes; uintmax_t us_blocks = skip (STDIN_FILENO, input_file, skip_records, input_blocksize, &skip_bytes, ibuf); us_bytes -= input_offset; /* POSIX doesn't say what to do when dd detects it has been asked to skip past EOF, so I assume it's non-fatal. There are 3 reasons why there might be unskipped blocks/bytes: 1. file is too small 2. pipe has not enough data 3. partial reads */ if (us_blocks || (!input_offset_overflow && us_bytes)) { error (0, 0, _("%s: cannot skip to specified offset"), quote (input_file)); } } if (seek_records != 0 || seek_bytes != 0) { size_t bytes = seek_bytes; uintmax_t write_records = skip (STDOUT_FILENO, output_file, seek_records, output_blocksize, &bytes, obuf); if (write_records != 0 || bytes != 0) { memset (obuf, 0, write_records ? output_blocksize : bytes); do { size_t size = write_records ? output_blocksize : bytes; if (iwrite (STDOUT_FILENO, obuf, size) != size) { error (0, errno, _("writing to %s"), quote (output_file)); quit (EXIT_FAILURE); } if (write_records != 0) write_records--; else bytes = 0; } while (write_records || bytes); } } if (max_records == 0 && max_bytes == 0) return exit_status; while (1) { if (r_partial + r_full >= max_records + !!max_bytes) break; /* Zero the buffer before reading, so that if we get a read error, whatever data we are able to read is followed by zeros. This minimizes data loss. */ if ((conversions_mask & C_SYNC) && (conversions_mask & C_NOERROR)) memset (ibuf, (conversions_mask & (C_BLOCK | C_UNBLOCK)) ? ' ' : '\0', input_blocksize); if (r_partial + r_full >= max_records) nread = iread_fnc (STDIN_FILENO, ibuf, max_bytes); else nread = iread_fnc (STDIN_FILENO, ibuf, input_blocksize); if (nread >= 0 && i_nocache) invalidate_cache (STDIN_FILENO, nread); if (nread == 0) break; /* EOF. */ if (nread < 0) { error (0, errno, _("error reading %s"), quote (input_file)); if (conversions_mask & C_NOERROR) { print_stats (); size_t bad_portion = input_blocksize - partread; /* We already know this data is not cached, but call this so that correct offsets are maintained. */ invalidate_cache (STDIN_FILENO, bad_portion); /* Seek past the bad block if possible. */ if (!advance_input_after_read_error (bad_portion)) { exit_status = EXIT_FAILURE; /* Suppress duplicate diagnostics. */ input_seekable = false; input_seek_errno = ESPIPE; } if ((conversions_mask & C_SYNC) && !partread) /* Replace the missing input with null bytes and proceed normally. */ nread = 0; else continue; } else { /* Write any partial block. */ exit_status = EXIT_FAILURE; break; } } n_bytes_read = nread; advance_input_offset (nread); if (n_bytes_read < input_blocksize) { r_partial++; partread = n_bytes_read; if (conversions_mask & C_SYNC) { if (!(conversions_mask & C_NOERROR)) /* If C_NOERROR, we zeroed the block before reading. */ memset (ibuf + n_bytes_read, (conversions_mask & (C_BLOCK | C_UNBLOCK)) ? ' ' : '\0', input_blocksize - n_bytes_read); n_bytes_read = input_blocksize; } } else { r_full++; partread = 0; } if (ibuf == obuf) /* If not C_TWOBUFS. */ { size_t nwritten = iwrite (STDOUT_FILENO, obuf, n_bytes_read); w_bytes += nwritten; if (nwritten != n_bytes_read) { error (0, errno, _("error writing %s"), quote (output_file)); return EXIT_FAILURE; } else if (n_bytes_read == input_blocksize) w_full++; else w_partial++; continue; } /* Do any translations on the whole buffer at once. */ if (translation_needed) translate_buffer (ibuf, n_bytes_read); if (conversions_mask & C_SWAB) bufstart = swab_buffer (ibuf, &n_bytes_read); else bufstart = ibuf; if (conversions_mask & C_BLOCK) copy_with_block (bufstart, n_bytes_read); else if (conversions_mask & C_UNBLOCK) copy_with_unblock (bufstart, n_bytes_read); else copy_simple (bufstart, n_bytes_read); } /* If we have a char left as a result of conv=swab, output it. */ if (char_is_saved) { if (conversions_mask & C_BLOCK) copy_with_block (&saved_char, 1); else if (conversions_mask & C_UNBLOCK) copy_with_unblock (&saved_char, 1); else output_char (saved_char); } if ((conversions_mask & C_BLOCK) && col > 0) { /* If the final input line didn't end with a '\n', pad the output block to 'conversion_blocksize' chars. */ size_t i; for (i = col; i < conversion_blocksize; i++) output_char (space_character); } if (col && (conversions_mask & C_UNBLOCK)) { /* If there was any output, add a final '\n'. */ output_char (newline_character); } /* Write out the last block. */ if (oc != 0) { size_t nwritten = iwrite (STDOUT_FILENO, obuf, oc); w_bytes += nwritten; if (nwritten != 0) w_partial++; if (nwritten != oc) { error (0, errno, _("error writing %s"), quote (output_file)); return EXIT_FAILURE; } } /* If the last write was converted to a seek, then for a regular file or shared memory object, ftruncate to extend the size. */ if (final_op_was_seek) { struct stat stdout_stat; if (fstat (STDOUT_FILENO, &stdout_stat) != 0) { error (0, errno, _("cannot fstat %s"), quote (output_file)); return EXIT_FAILURE; } if (S_ISREG (stdout_stat.st_mode) || S_TYPEISSHM (&stdout_stat)) { off_t output_offset = lseek (STDOUT_FILENO, 0, SEEK_CUR); if (output_offset > stdout_stat.st_size) { if (ftruncate (STDOUT_FILENO, output_offset) != 0) { error (0, errno, _("failed to truncate to %" PRIdMAX " bytes" " in output file %s"), (intmax_t) output_offset, quote (output_file)); return EXIT_FAILURE; } } } } if ((conversions_mask & C_FDATASYNC) && fdatasync (STDOUT_FILENO) != 0) { if (errno != ENOSYS && errno != EINVAL) { error (0, errno, _("fdatasync failed for %s"), quote (output_file)); exit_status = EXIT_FAILURE; } conversions_mask |= C_FSYNC; } if (conversions_mask & C_FSYNC) while (fsync (STDOUT_FILENO) != 0) if (errno != EINTR) { error (0, errno, _("fsync failed for %s"), quote (output_file)); return EXIT_FAILURE; } return exit_status; } int main (int argc, char **argv) { int i; int exit_status; off_t offset; install_signal_handlers (); initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); /* Arrange to close stdout if parse_long_options exits. */ atexit (maybe_close_stdout); page_size = getpagesize (); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version, usage, AUTHORS, (char const *) NULL); close_stdout_required = false; if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); /* Initialize translation table to identity translation. */ for (i = 0; i < 256; i++) trans_table[i] = i; /* Decode arguments. */ scanargs (argc, argv); apply_translations (); if (input_file == NULL) { input_file = _("standard input"); set_fd_flags (STDIN_FILENO, input_flags, input_file); } else { if (fd_reopen (STDIN_FILENO, input_file, O_RDONLY | input_flags, 0) < 0) error (EXIT_FAILURE, errno, _("failed to open %s"), quote (input_file)); } offset = lseek (STDIN_FILENO, 0, SEEK_CUR); input_seekable = (0 <= offset); input_offset = MAX (0, offset); input_seek_errno = errno; if (output_file == NULL) { output_file = _("standard output"); set_fd_flags (STDOUT_FILENO, output_flags, output_file); } else { mode_t perms = MODE_RW_UGO; int opts = (output_flags | (conversions_mask & C_NOCREAT ? 0 : O_CREAT) | (conversions_mask & C_EXCL ? O_EXCL : 0) | (seek_records || (conversions_mask & C_NOTRUNC) ? 0 : O_TRUNC)); /* Open the output file with *read* access only if we might need to read to satisfy a 'seek=' request. If we can't read the file, go ahead with write-only access; it might work. */ if ((! seek_records || fd_reopen (STDOUT_FILENO, output_file, O_RDWR | opts, perms) < 0) && (fd_reopen (STDOUT_FILENO, output_file, O_WRONLY | opts, perms) < 0)) error (EXIT_FAILURE, errno, _("failed to open %s"), quote (output_file)); if (seek_records != 0 && !(conversions_mask & C_NOTRUNC)) { uintmax_t size = seek_records * output_blocksize + seek_bytes; unsigned long int obs = output_blocksize; if (OFF_T_MAX / output_blocksize < seek_records) error (EXIT_FAILURE, 0, _("offset too large: " "cannot truncate to a length of seek=%"PRIuMAX"" " (%lu-byte) blocks"), seek_records, obs); if (ftruncate (STDOUT_FILENO, size) != 0) { /* Complain only when ftruncate fails on a regular file, a directory, or a shared memory object, as POSIX 1003.1-2004 specifies ftruncate's behavior only for these file types. For example, do not complain when Linux kernel 2.4 ftruncate fails on /dev/fd0. */ int ftruncate_errno = errno; struct stat stdout_stat; if (fstat (STDOUT_FILENO, &stdout_stat) != 0) error (EXIT_FAILURE, errno, _("cannot fstat %s"), quote (output_file)); if (S_ISREG (stdout_stat.st_mode) || S_ISDIR (stdout_stat.st_mode) || S_TYPEISSHM (&stdout_stat)) error (EXIT_FAILURE, ftruncate_errno, _("failed to truncate to %"PRIuMAX" bytes" " in output file %s"), size, quote (output_file)); } } } start_time = gethrxtime (); exit_status = dd_copy (); if (max_records == 0 && max_bytes == 0) { /* Special case to invalidate cache to end of file. */ if (i_nocache && !invalidate_cache (STDIN_FILENO, 0)) { error (0, errno, _("failed to discard cache for: %s"), quote (input_file)); exit_status = EXIT_FAILURE; } if (o_nocache && !invalidate_cache (STDOUT_FILENO, 0)) { error (0, errno, _("failed to discard cache for: %s"), quote (output_file)); exit_status = EXIT_FAILURE; } } else if (max_records != (uintmax_t) -1) { /* Invalidate any pending region less than page size, in case the kernel might round up. */ if (i_nocache) invalidate_cache (STDIN_FILENO, 0); if (o_nocache) invalidate_cache (STDOUT_FILENO, 0); } quit (exit_status); } coreutils-8.21/src/find-mount-point.h0000664000000000000000000000150412102337340014510 00000000000000/* find-mount-point.h -- find the root mount point for a file. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern char *find_mount_point (char const *, struct stat const *); coreutils-8.21/src/mkfifo.c0000664000000000000000000000712412102337340012553 00000000000000/* mkfifo -- make fifo's (named pipes) Copyright (C) 1990-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* David MacKenzie */ #include #include #include #include #include #include "system.h" #include "error.h" #include "modechange.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "mkfifo" #define AUTHORS proper_name ("David MacKenzie") static struct option const longopts[] = { {GETOPT_SELINUX_CONTEXT_OPTION_DECL}, {"mode", required_argument, NULL, 'm'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... NAME...\n"), program_name); fputs (_("\ Create named pipes (FIFOs) with the given NAMEs.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n\ "), stdout); fputs (_("\ -Z, --context=CTX set the SELinux security context of each NAME to CTX\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { mode_t newmode; char const *specified_mode = NULL; int exit_status = EXIT_SUCCESS; int optc; security_context_t scontext = NULL; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "m:Z:", longopts, NULL)) != -1) { switch (optc) { case 'm': specified_mode = optarg; break; case 'Z': scontext = optarg; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind == argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (scontext && setfscreatecon (scontext) < 0) error (EXIT_FAILURE, errno, _("failed to set default file creation context to %s"), quote (scontext)); newmode = MODE_RW_UGO; if (specified_mode) { struct mode_change *change = mode_compile (specified_mode); if (!change) error (EXIT_FAILURE, 0, _("invalid mode")); newmode = mode_adjust (newmode, false, umask (0), change, NULL); free (change); if (newmode & ~S_IRWXUGO) error (EXIT_FAILURE, 0, _("mode must specify only file permission bits")); } for (; optind < argc; ++optind) if (mkfifo (argv[optind], newmode) != 0) { error (0, errno, _("cannot create fifo %s"), quote (argv[optind])); exit_status = EXIT_FAILURE; } exit (exit_status); } coreutils-8.21/src/whoami.c0000664000000000000000000000466212102337340012570 00000000000000/* whoami -- print effective userid Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Equivalent to 'id -un'. */ /* Written by Richard Mlynarik. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "long-options.h" #include "quote.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "whoami" #define AUTHORS proper_name ("Richard Mlynarik") void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]...\n"), program_name); fputs (_("\ Print the user name associated with the current effective user ID.\n\ Same as id -un.\n\ \n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { struct passwd *pw; uid_t uid; uid_t NO_UID = -1; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version, usage, AUTHORS, (char const *) NULL); if (getopt_long (argc, argv, "", NULL, NULL) != -1) usage (EXIT_FAILURE); if (optind != argc) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } errno = 0; uid = geteuid (); pw = (uid == NO_UID && errno ? NULL : getpwuid (uid)); if (pw) { puts (pw->pw_name); exit (EXIT_SUCCESS); } fprintf (stderr, _("%s: cannot find name for user ID %lu\n"), program_name, (unsigned long int) uid); exit (EXIT_FAILURE); } coreutils-8.21/src/nproc.c0000664000000000000000000000622412102337340012421 00000000000000/* nproc - print the number of processors. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Giuseppe Scrivano. */ #include #include #include #include #include "system.h" #include "error.h" #include "nproc.h" #include "quote.h" #include "xstrtol.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "nproc" #define AUTHORS proper_name ("Giuseppe Scrivano") enum { ALL_OPTION = CHAR_MAX + 1, IGNORE_OPTION }; static struct option const longopts[] = { {"all", no_argument, NULL, ALL_OPTION}, {"ignore", required_argument, NULL, IGNORE_OPTION}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]...\n"), program_name); fputs (_("\ Print the number of processing units available to the current process,\n\ which may be less than the number of online processors\n\ \n\ "), stdout); fputs (_("\ --all print the number of installed processors\n\ --ignore=N if possible, exclude N processing units\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { unsigned long nproc, ignore = 0; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); enum nproc_query mode = NPROC_CURRENT_OVERRIDABLE; while (1) { int c = getopt_long (argc, argv, "", longopts, NULL); if (c == -1) break; switch (c) { case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); case ALL_OPTION: mode = NPROC_ALL; break; case IGNORE_OPTION: if (xstrtoul (optarg, NULL, 10, &ignore, "") != LONGINT_OK) { error (0, 0, _("%s: invalid number to ignore"), optarg); usage (EXIT_FAILURE); } break; default: usage (EXIT_FAILURE); } } if (argc != optind) { error (0, 0, _("extra operand %s"), quote (argv[optind])); usage (EXIT_FAILURE); } nproc = num_processors (mode); if (ignore < nproc) nproc -= ignore; else nproc = 1; printf ("%lu\n", nproc); exit (EXIT_SUCCESS); } coreutils-8.21/src/readlink.c0000664000000000000000000001177012102337340013073 00000000000000/* readlink -- display value of a symbolic link. Copyright (C) 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Dmitry V. Levin */ #include #include #include #include #include "system.h" #include "canonicalize.h" #include "error.h" #include "areadlink.h" /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "readlink" #define AUTHORS proper_name ("Dmitry V. Levin") /* If true, do not output the trailing newline. */ static bool no_newline; /* If true, report error messages. */ static bool verbose; static struct option const longopts[] = { {"canonicalize", no_argument, NULL, 'f'}, {"canonicalize-existing", no_argument, NULL, 'e'}, {"canonicalize-missing", no_argument, NULL, 'm'}, {"no-newline", no_argument, NULL, 'n'}, {"quiet", no_argument, NULL, 'q'}, {"silent", no_argument, NULL, 's'}, {"verbose", no_argument, NULL, 'v'}, {"zero", no_argument, NULL, 'z'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("Usage: %s [OPTION]... FILE...\n"), program_name); fputs (_("Print value of a symbolic link or canonical file name\n\n"), stdout); fputs (_("\ -f, --canonicalize canonicalize by following every symlink in\n\ every component of the given name recursively;\ \n\ all but the last component must exist\n\ -e, --canonicalize-existing canonicalize by following every symlink in\n\ every component of the given name recursively,\ \n\ all components must exist\n\ "), stdout); fputs (_("\ -m, --canonicalize-missing canonicalize by following every symlink in\n\ every component of the given name recursively,\ \n\ without requirements on components existence\n\ -n, --no-newline do not output the trailing delimiter\n\ -q, --quiet,\n\ -s, --silent suppress most error messages\n\ -v, --verbose report error messages\n\ -z, --zero separate output with NUL rather than newline\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } int main (int argc, char **argv) { /* If not -1, use this method to canonicalize. */ int can_mode = -1; int status = EXIT_SUCCESS; int optc; bool use_nuls = false; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); while ((optc = getopt_long (argc, argv, "efmnqsvz", longopts, NULL)) != -1) { switch (optc) { case 'e': can_mode = CAN_EXISTING; break; case 'f': can_mode = CAN_ALL_BUT_LAST; break; case 'm': can_mode = CAN_MISSING; break; case 'n': no_newline = true; break; case 'q': case 's': verbose = false; break; case 'v': verbose = true; break; case 'z': use_nuls = true; break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (optind >= argc) { error (0, 0, _("missing operand")); usage (EXIT_FAILURE); } if (argc - optind > 1) { if (no_newline) error (0, 0, _("ignoring --no-newline with multiple arguments")); no_newline = false; } for (; optind < argc; ++optind) { const char *fname = argv[optind]; char *value = (can_mode != -1 ? canonicalize_filename_mode (fname, can_mode) : areadlink_with_size (fname, 63)); if (value) { fputs (value, stdout); if (! no_newline) putchar (use_nuls ? '\0' : '\n'); free (value); } else { status = EXIT_FAILURE; if (verbose) error (0, errno, "%s", fname); } } return status; } coreutils-8.21/src/fold.c0000664000000000000000000002000312102337340012213 00000000000000/* fold -- wrap each input line to fit in specified width. Copyright (C) 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie, djm@gnu.ai.mit.edu. */ #include #include #include #include #include "system.h" #include "error.h" #include "fadvise.h" #include "quote.h" #include "xstrtol.h" #define TAB_WIDTH 8 /* The official name of this program (e.g., no 'g' prefix). */ #define PROGRAM_NAME "fold" #define AUTHORS proper_name ("David MacKenzie") /* If nonzero, try to break on whitespace. */ static bool break_spaces; /* If nonzero, count bytes, not column positions. */ static bool count_bytes; /* If nonzero, at least one of the files we read was standard input. */ static bool have_read_stdin; static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::"; static struct option const longopts[] = { {"bytes", no_argument, NULL, 'b'}, {"spaces", no_argument, NULL, 's'}, {"width", required_argument, NULL, 'w'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, {NULL, 0, NULL, 0} }; void usage (int status) { if (status != EXIT_SUCCESS) emit_try_help (); else { printf (_("\ Usage: %s [OPTION]... [FILE]...\n\ "), program_name); fputs (_("\ Wrap input lines in each FILE (standard input by default), writing to\n\ standard output.\n\ "), stdout); emit_mandatory_arg_note (); fputs (_("\ -b, --bytes count bytes rather than columns\n\ -s, --spaces break at spaces\n\ -w, --width=WIDTH use WIDTH columns instead of 80\n\ "), stdout); fputs (HELP_OPTION_DESCRIPTION, stdout); fputs (VERSION_OPTION_DESCRIPTION, stdout); emit_ancillary_info (); } exit (status); } /* Assuming the current column is COLUMN, return the column that printing C will move the cursor to. The first column is 0. */ static size_t adjust_column (size_t column, char c) { if (!count_bytes) { if (c == '\b') { if (column > 0) column--; } else if (c == '\r') column = 0; else if (c == '\t') column += TAB_WIDTH - column % TAB_WIDTH; else /* if (isprint (c)) */ column++; } else column++; return column; } /* Fold file FILENAME, or standard input if FILENAME is "-", to stdout, with maximum line length WIDTH. Return true if successful. */ static bool fold_file (char const *filename, size_t width) { FILE *istream; int c; size_t column = 0; /* Screen column where next char will go. */ size_t offset_out = 0; /* Index in 'line_out' for next char. */ static char *line_out = NULL; static size_t allocated_out = 0; int saved_errno; if (STREQ (filename, "-")) { istream = stdin; have_read_stdin = true; } else istream = fopen (filename, "r"); if (istream == NULL) { error (0, errno, "%s", filename); return false; } fadvise (istream, FADVISE_SEQUENTIAL); while ((c = getc (istream)) != EOF) { if (offset_out + 1 >= allocated_out) line_out = X2REALLOC (line_out, &allocated_out); if (c == '\n') { line_out[offset_out++] = c; fwrite (line_out, sizeof (char), offset_out, stdout); column = offset_out = 0; continue; } rescan: column = adjust_column (column, c); if (column > width) { /* This character would make the line too long. Print the line plus a newline, and make this character start the next line. */ if (break_spaces) { bool found_blank = false; size_t logical_end = offset_out; /* Look for the last blank. */ while (logical_end) { --logical_end; if (isblank (to_uchar (line_out[logical_end]))) { found_blank = true; break; } } if (found_blank) { size_t i; /* Found a blank. Don't output the part after it. */ logical_end++; fwrite (line_out, sizeof (char), (size_t) logical_end, stdout); putchar ('\n'); /* Move the remainder to the beginning of the next line. The areas being copied here might overlap. */ memmove (line_out, line_out + logical_end, offset_out - logical_end); offset_out -= logical_end; for (column = i = 0; i < offset_out; i++) column = adjust_column (column, line_out[i]); goto rescan; } } if (offset_out == 0) { line_out[offset_out++] = c; continue; } line_out[offset_out++] = '\n'; fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); column = offset_out = 0; goto rescan; } line_out[offset_out++] = c; } saved_errno = errno; if (offset_out) fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); if (ferror (istream)) { error (0, saved_errno, "%s", filename); if (!STREQ (filename, "-")) fclose (istream); return false; } if (!STREQ (filename, "-") && fclose (istream) == EOF) { error (0, errno, "%s", filename); return false; } return true; } int main (int argc, char **argv) { size_t width = 80; int i; int optc; bool ok; initialize_main (&argc, &argv); set_program_name (argv[0]); setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); break_spaces = count_bytes = have_read_stdin = false; while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) { char optargbuf[2]; switch (optc) { case 'b': /* Count bytes rather than columns. */ count_bytes = true; break; case 's': /* Break at word boundaries. */ break_spaces = true; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (optarg) optarg--; else { optargbuf[0] = optc; optargbuf[1] = '\0'; optarg = optargbuf; } /* Fall through. */ case 'w': /* Line width. */ { unsigned long int tmp_ulong; if (! (xstrtoul (optarg, NULL, 10, &tmp_ulong, "") == LONGINT_OK && 0 < tmp_ulong && tmp_ulong < SIZE_MAX - TAB_WIDTH)) error (EXIT_FAILURE, 0, _("invalid number of columns: %s"), quote (optarg)); width = tmp_ulong; } break; case_GETOPT_HELP_CHAR; case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); default: usage (EXIT_FAILURE); } } if (argc == optind) ok = fold_file ("-", width); else { ok = true; for (i = optind; i < argc; i++) ok &= fold_file (argv[i], width); } if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, "-"); exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); } coreutils-8.21/src/group-list.c0000664000000000000000000000604112102337340013402 00000000000000/* group-list.c --Print a list of group IDs or names. Copyright (C) 1989-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Arnold Robbins. Major rewrite by David MacKenzie, djm@gnu.ai.mit.edu. Extracted from id.c by James Youngman. */ #include #include #include #include #include #include "system.h" #include "error.h" #include "mgetgroups.h" #include "quote.h" #include "group-list.h" /* Print all of the distinct groups the user is in. */ extern bool print_group_list (const char *username, uid_t ruid, gid_t rgid, gid_t egid, bool use_names) { bool ok = true; struct passwd *pwd = NULL; if (username) { pwd = getpwuid (ruid); if (pwd == NULL) ok = false; } if (!print_group (rgid, use_names)) ok = false; if (egid != rgid) { putchar (' '); if (!print_group (egid, use_names)) ok = false; } { gid_t *groups; int i; int n_groups = xgetgroups (username, (pwd ? pwd->pw_gid : egid), &groups); if (n_groups < 0) { if (username) { error (0, errno, _("failed to get groups for user %s"), quote (username)); } else { error (0, errno, _("failed to get groups for the current process")); } return false; } for (i = 0; i < n_groups; i++) if (groups[i] != rgid && groups[i] != egid) { putchar (' '); if (!print_group (groups[i], use_names)) ok = false; } free (groups); } return ok; } /* Convert a gid_t to string. Do not use this function directly. Instead, use it via the gidtostr macro. Beware that it returns a pointer to static storage. */ static char * gidtostr_ptr (gid_t const *gid) { static char buf[INT_BUFSIZE_BOUND (uintmax_t)]; return umaxtostr (*gid, buf); } #define gidtostr(g) gidtostr_ptr (&(g)) /* Print the name or value of group ID GID. */ extern bool print_group (gid_t gid, bool use_name) { struct group *grp = NULL; bool ok = true; if (use_name) { grp = getgrgid (gid); if (grp == NULL) { error (0, 0, _("cannot find name for group ID %lu"), (unsigned long int) gid); ok = false; } } char *s = grp ? grp->gr_name : gidtostr (gid); fputs (s, stdout); return ok; } coreutils-8.21/NEWS0000664000000000000000000047640712107204062011061 00000000000000GNU coreutils NEWS -*- outline -*- * Noteworthy changes in release 8.21 (2013-02-14) [stable] ** New programs numfmt: reformat numbers ** New features df now accepts the --output[=FIELD_LIST] option to define the list of columns to include in the output, or all available columns if the FIELD_LIST is omitted. Note this enables df to output both block and inode fields together. du now accepts the --threshold=SIZE option to restrict the output to entries with such a minimum SIZE (or a maximum SIZE if it is negative). du recognizes -t SIZE as equivalent, for compatibility with FreeBSD. ** Bug fixes cp --no-preserve=mode now no longer exits non-zero. [bug introduced in coreutils-8.20] cut with a range like "N-" no longer allocates N/8 bytes. That buffer would never be used, and allocation failure could cause cut to fail. [bug introduced in coreutils-8.10] cut no longer accepts the invalid range 0-, which made it print empty lines. Instead, cut now fails and emits an appropriate diagnostic. [This bug was present in "the beginning".] cut now handles overlapping to-EOL ranges properly. Before, it would interpret "-b2-,3-" like "-b3-". Now it's treated like "-b2-". [This bug was present in "the beginning".] cut no longer prints extraneous delimiters when a to-EOL range subsumes another range. Before, "echo 123|cut --output-delim=: -b2-,3" would print "2:3". Now it prints "23". [bug introduced in 5.3.0] cut -f no longer inspects input line N+1 before fully outputting line N, which avoids delayed output for intermittent input. [bug introduced in TEXTUTILS-1_8b] factor no longer loops infinitely on 32 bit powerpc or sparc systems. [bug introduced in coreutils-8.20] install -m M SOURCE DEST no longer has a race condition where DEST's permissions are temporarily derived from SOURCE instead of from M. pr -n no longer crashes when passed values >= 32. Also, line numbers are consistently padded with spaces, rather than with zeros for certain widths. [bug introduced in TEXTUTILS-1_22i] seq -w ensures that for numbers input in scientific notation, the output numbers are properly aligned and of the correct width. [This bug was present in "the beginning".] seq -w ensures correct alignment when the step value includes a precision while the start value does not, and the number sequence narrows. [This bug was present in "the beginning".] seq -s no longer prints an erroneous newline after the first number, and outputs a newline after the last number rather than a trailing separator. Also seq no longer ignores a specified step value when the end value is 1. [bugs introduced in coreutils-8.20] timeout now ensures that blocking of ALRM signals is not inherited from its parent, which would cause timeouts to be ignored. [the bug dates back to the initial implementation] ** Changes in behavior df --total now prints '-' into the target column (mount point) of the summary line, accommodating the --output option where the target field can be in any column. If there is no source column, then df prints 'total' in the target column. df now properly outputs file system information with bind mounts present on the system by skipping duplicate entries (identified by the device number). Consequently, df also elides the early-boot pseudo file system type "rootfs". nl no longer supports the --page-increment option, which has been deprecated since coreutils-7.5. Use --line-increment instead. ** Improvements readlink now supports multiple arguments, and a complementary -z, --zero option to delimit output items with the NUL character. stat and tail now know about CEPH. stat -f --format=%T now reports the file system type, and tail -f uses polling for files on CEPH file systems. stty now supports configuring DTR/DSR hardware flow control where available. ** Build-related Perl is now more of a prerequisite. It has long been required in order to run (not skip) a significant percentage of the tests. Now, it is also required in order to generate proper man pages, via help2man. The generated man/*.1 man pages are no longer distributed. Building without perl, you would create stub man pages. Thus, while perl is not an official prerequisite (build and "make check" will still succeed), any resulting man pages would be inferior. In addition, this fixes a bug in distributed (not from clone) Makefile.in that could cause parallel build failure when building from modified sources, as is common practice for a patched distribution package. factor now builds on x86_64 with x32 ABI, 32 bit MIPS, and all HPPA systems, by avoiding incompatible asm. [bug introduced in coreutils-8.20] A root-only test predicate would always fail. Its job was to determine whether our dummy user, $NON_ROOT_USERNAME, was able to run binaries from the build directory. As a result, all dependent tests were always skipped. Now, those tests may be run once again. [bug introduced in coreutils-8.20] * Noteworthy changes in release 8.20 (2012-10-23) [stable] ** New features dd now accepts 'status=none' to suppress all informational output. md5sum now accepts the --tag option to print BSD-style output with GNU file name escaping. This also affects sha1sum, sha224sum, sha256sum, sha384sum and sha512sum. ** Bug fixes cp could read from freed memory and could even make corrupt copies. This could happen with a very fragmented and sparse input file, on GNU/Linux file systems supporting fiemap extent scanning. This bug also affects mv when it resorts to copying, and install. [bug introduced in coreutils-8.11] cp --no-preserve=mode now no longer preserves the original file's permissions but correctly sets mode specified by 0666 & ~umask du no longer emits a "disk-corrupted"-style diagnostic when it detects a directory cycle that is due to a bind-mounted directory. Instead, it detects this precise type of cycle, diagnoses it as such and eventually exits nonzero. factor (when using gmp) would mistakenly declare some composite numbers to be prime, e.g., 465658903, 2242724851, 6635692801 and many more. The fix makes factor somewhat slower (~25%) for ranges of consecutive numbers, and up to 8 times slower for some worst-case individual numbers. [bug introduced in coreutils-7.0, with GNU MP support] ls now correctly colors dangling symlinks when listing their containing directories, with orphaned symlink coloring disabled in LS_COLORS. [bug introduced in coreutils-8.14] rm -i -d now prompts the user then removes an empty directory, rather than ignoring the -d option and failing with an 'Is a directory' error. [bug introduced in coreutils-8.19, with the addition of --dir (-d)] rm -r S/ (where S is a symlink-to-directory) no longer gives the invalid "Too many levels of symbolic links" diagnostic. [bug introduced in coreutils-8.6] seq now handles arbitrarily long non-negative whole numbers when the increment is 1 and when no format-changing option is specified. Before, this would infloop: b=100000000000000000000; seq $b $b [the bug dates back to the initial implementation] ** Changes in behavior nproc now diagnoses with an error, non option command line parameters. ** Improvements factor's core has been rewritten for speed and increased range. It can now factor numbers up to 2^128, even without GMP support. Its speed is from a few times better (for small numbers) to over 10,000 times better (just below 2^64). The new code also runs a deterministic primality test for each prime factor, not just a probabilistic test. seq is now up to 70 times faster than it was in coreutils-8.19 and prior, but only with non-negative whole numbers, an increment of 1, and no format-changing options. stat and tail know about ZFS, VZFS and VMHGFS. stat -f --format=%T now reports the file system type, and tail -f now uses inotify for files on ZFS and VZFS file systems, rather than the default (for unknown file system types) of issuing a warning and reverting to polling. tail -f still uses polling for files on VMHGFS file systems. ** Build-related root-only tests now check for permissions of our dummy user, $NON_ROOT_USERNAME, before trying to run binaries from the build directory. Before, we would get hard-to-diagnose reports of failing root-only tests. Now, those tests are skipped with a useful diagnostic when the root tests are run without following the instructions in README. We now build most directories using non-recursive make rules. I.e., rather than running make in man/, lib/, src/, tests/, instead, the top level Makefile.am includes a $dir/local.mk that describes how to build the targets in the corresponding directory. Two directories remain unconverted: po/, gnulib-tests/. One nice side-effect is that the more accurate dependencies have eliminated a nagging occasional failure that was seen when running parallel "make syntax-check". * Noteworthy changes in release 8.19 (2012-08-20) [stable] ** Bug fixes df now fails when the list of mounted file systems (/etc/mtab) cannot be read, yet the file system type information is needed to process certain options like -a, -l, -t and -x. [This bug was present in "the beginning".] sort -u could fail to output one or more result lines. For example, this command would fail to print "1": (yes 7 | head -11; echo 1) | sort --p=1 -S32b -u [bug introduced in coreutils-8.6] sort -u could read freed memory. For example, this evokes a read from freed memory: perl -le 'print "a\n"."0"x900'|valgrind sort --p=1 -S32b -u>/dev/null [bug introduced in coreutils-8.6] ** New features rm now accepts the --dir (-d) option which makes it remove empty directories. Since removing empty directories is relatively safe, this option can be used as a part of the alias rm='rm --dir'. This improves compatibility with Mac OS X and BSD systems which also honor the -d option. * Noteworthy changes in release 8.18 (2012-08-12) [stable] ** Bug fixes cksum now prints checksums atomically so that concurrent processes will not intersperse their output. [the bug dates back to the initial implementation] date -d "$(printf '\xb0')" would print 00:00:00 with today's date rather than diagnosing the invalid input. Now it reports this: date: invalid date '\260' [This bug was present in "the beginning".] df no longer outputs control characters present in the mount point name. Such characters are replaced with '?', so for example, scripts consuming lines output by df, can work reliably. [This bug was present in "the beginning".] df --total now exits with an appropriate diagnostic and error code, when file system --type options do not lead to a processed file system. [This bug dates back to when --total was added in coreutils-7.0] head --lines=-N (-n-N) now resets the read pointer of a seekable input file. This means that "head -n-3" no longer consumes all of its input, and lines not output by head may be processed by other programs. For example, this command now prints the final line, 2, while before it would print nothing: seq 2 > k; (head -n-1 > /dev/null; cat) < k [This bug was present in "the beginning".] ls --color would mis-color relative-named symlinks in / [bug introduced in coreutils-8.17] split now ensures it doesn't overwrite the input file with generated output. [the bug dates back to the initial implementation] stat and df now report the correct file system usage, in all situations on GNU/Linux, by correctly determining the block size. [df bug since coreutils-5.0.91, stat bug since the initial implementation] tail -f no longer tries to use inotify on AUFS or PanFS file systems [you might say this was introduced in coreutils-7.5, along with inotify support, but even now, its magic number isn't in the usual place.] ** New features stat -f recognizes the new remote file system types: aufs, panfs. ** Changes in behavior su: this program has been removed. We stopped installing "su" by default with the release of coreutils-6.9.90 on 2007-12-01. Now, that the util-linux package has the union of the Suse and Fedora patches as well as enough support to build on the Hurd, we no longer have any reason to include it here. ** Improvements sort avoids redundant processing in the presence of inaccessible inputs, or unwritable output. Sort now diagnoses certain errors at start-up, rather than after potentially expensive processing. sort now allocates no more than 75% of physical memory by default, to better share system resources, and thus operate more efficiently. [The default max memory usage changed from 50% to 100% in coreutils-8.16] * Noteworthy changes in release 8.17 (2012-05-10) [stable] ** Bug fixes id and groups, when invoked with no user name argument, would print the default group ID listed in the password database, and sometimes that ID would be neither real nor effective. For example, when run set-GID, or in a session for which the default group has just been changed, the new group ID would be listed, even though it is not yet effective. [bug introduced in coreutils-8.1] cp S D is no longer subject to a race: if an existing D were removed between the initial stat and subsequent open-without-O_CREATE, cp would fail with a confusing diagnostic saying that the destination, D, was not found. Now, in this unusual case, it retries the open (but with O_CREATE), and hence usually succeeds. With NFS attribute caching, the condition was particularly easy to trigger, since there, the removal of D could precede the initial stat. [This bug was present in "the beginning".] split --number=C /dev/null no longer appears to infloop on GNU/Hurd [bug introduced in coreutils-8.8] stat no longer reports a negative file size as a huge positive number. [bug present since 'stat' was introduced in fileutils-4.1.9] ** New features split and truncate now allow any seekable files in situations where the file size is needed, instead of insisting on regular files. fmt now accepts the --goal=WIDTH (-g) option. stat -f recognizes new file system types: bdevfs, inodefs, qnx6 ** Changes in behavior cp,mv,install,cat,split: now read and write a minimum of 64KiB at a time. This was previously 32KiB and increasing to 64KiB was seen to increase throughput by about 10% when reading cached files on 64 bit GNU/Linux. cp --attributes-only no longer truncates any existing destination file, allowing for more general copying of attributes from one file to another. * Noteworthy changes in release 8.16 (2012-03-26) [stable] ** New features As a GNU extension, 'chmod', 'mkdir', and 'install' now accept operators '-', '+', '=' followed by octal modes; for example, 'chmod +40 FOO' enables and 'chmod -40 FOO' disables FOO's group-read permissions. Operator numeric modes can be combined with symbolic modes by separating them with commas; for example, =0,u+r clears all permissions except for enabling user-read permissions. Unlike ordinary numeric modes, operator numeric modes do not preserve directory setuid and setgid bits; for example, 'chmod =0 FOO' clears all of FOO's permissions, including setuid and setgid. Also, ordinary numeric modes with five or more digits no longer preserve setuid and setgid bits, so that 'chmod 00755 FOO' now clears FOO's setuid and setgid bits. This allows scripts to be portable to other systems which lack the GNU extension mentioned previously, and where ordinary numeric modes do not preserve directory setuid and setgid bits. dd now accepts the count_bytes, skip_bytes iflags and the seek_bytes oflag, to more easily allow processing portions of a file. dd now accepts the conv=sparse flag to attempt to create sparse output, by seeking rather than writing to the output file. ln now accepts the --relative option, to generate a relative symbolic link to a target, irrespective of how the target is specified. split now accepts an optional "from" argument to --numeric-suffixes, which changes the start number from the default of 0. split now accepts the --additional-suffix option, to append an additional static suffix to output file names. basename now supports the -a and -s options, which allow processing of more than one argument at a time. Also the complementary -z option was added to delimit output items with the NUL character. dirname now supports more than one argument. Also the complementary -z option was added to delimit output items with the NUL character. ** Bug fixes du --one-file-system (-x) would ignore any non-directory specified on the command line. For example, "touch f; du -x f" would print nothing. [bug introduced in coreutils-8.15] mv now lets you move a symlink onto a same-inode destination file that has two or more hard links. Before, it would reject that, saying that they are the same, implicitly warning you that the move would result in data loss. In this unusual case, when not moving the symlink onto its referent, there is no risk of data loss, since the symlink will typically still point to one of the hard links. "mv A B" could succeed, yet A would remain. This would happen only when both A and B were hard links to the same symlink, and with a kernel for which rename("A","B") does nothing and returns 0 (POSIX mandates this surprising rename no-op behavior). Now, mv handles this case by skipping the usually-useless rename and simply unlinking A. realpath no longer mishandles a root directory. This was most noticeable on platforms where // is a different directory than /, but could also be observed with --relative-base=/ or --relative-to=/. [bug since the beginning, in 8.15] ** Improvements ls can be much more efficient, especially with large directories on file systems for which getfilecon-, ACL-check- and XATTR-check-induced syscalls fail with ENOTSUP or similar. 'realpath --relative-base=dir' in isolation now implies '--relative-to=dir' instead of causing a usage failure. split now supports an unlimited number of split files as default behavior. * Noteworthy changes in release 8.15 (2012-01-06) [stable] ** New programs realpath: print resolved file names. ** Bug fixes du -x no longer counts root directories of other file systems. [bug introduced in coreutils-5.1.0] ls --color many-entry-directory was uninterruptible for too long [bug introduced in coreutils-5.2.1] ls's -k option no longer affects how ls -l outputs file sizes. It now affects only the per-directory block counts written by -l, and the sizes written by -s. This is for compatibility with BSD and with POSIX 2008. Because -k is no longer equivalent to --block-size=1KiB, a new long option --kibibyte stands for -k. [bug introduced in coreutils-4.5.4] ls -l would leak a little memory (security context string) for each nonempty directory listed on the command line, when using SELinux. [bug probably introduced in coreutils-6.10 with SELinux support] rm -rf DIR would fail with "Device or resource busy" on Cygwin with NWFS and NcFsd file systems. This did not affect Unix/Linux-based kernels. [bug introduced in coreutils-8.0, when rm began using fts] split -n 1/2 FILE no longer fails when operating on a growing file, or (on some systems) when operating on a non-regular file like /dev/zero. It would report "/dev/zero: No such file or directory" even though the file obviously exists. Same for -n l/2. [bug introduced in coreutils-8.8, with the addition of the -n option] stat -f now recognizes the FhGFS and PipeFS file system types. tac no longer fails to handle two or more non-seekable inputs [bug introduced in coreutils-5.3.0] tail -f no longer tries to use inotify on GPFS or FhGFS file systems [you might say this was introduced in coreutils-7.5, along with inotify support, but the new magic numbers weren't in the usual places then.] ** Changes in behavior df avoids long UUID-including file system names in the default listing. With recent enough kernel/tools, these long names would be used, pushing second and subsequent columns far to the right. Now, when a long name refers to a symlink, and no file systems are specified, df prints the usually-short referent instead. tail -f now uses polling (not inotify) when any of its file arguments resides on a file system of unknown type. In addition, for each such argument, tail -f prints a warning with the FS type magic number and a request to report it to the bug-reporting address. * Noteworthy changes in release 8.14 (2011-10-12) [stable] ** Bug fixes ls --dereference no longer outputs erroneous "argetm" strings for dangling symlinks when an 'ln=target' entry is in $LS_COLORS. [bug introduced in fileutils-4.0] ls -lL symlink once again properly prints "+" when the referent has an ACL. [bug introduced in coreutils-8.13] sort -g no longer infloops for certain inputs containing NaNs [bug introduced in coreutils-8.5] ** Improvements md5sum --check now supports the -r format from the corresponding BSD tool. This also affects sha1sum, sha224sum, sha384sum and sha512sum. pwd now works also on systems without openat. On such systems, pwd would fail when run from a directory whose absolute name contained more than PATH_MAX / 3 components. The df, stat and readlink programs are also affected due to their use of the canonicalize_* functions. ** Changes in behavior timeout now only processes the first signal received from the set it is handling (SIGTERM, SIGINT, ...). This is to support systems that implicitly create threads for some timer functions (like GNU/kFreeBSD). ** Build-related "make dist" no longer builds .tar.gz files. xz is portable enough and in wide-enough use that distributing only .tar.xz files is enough. * Noteworthy changes in release 8.13 (2011-09-08) [stable] ** Bug fixes chown and chgrp with the -v --from= options, now output the correct owner. I.E. for skipped files, the original ownership is output, not the new one. [bug introduced in sh-utils-2.0g] cp -r could mistakenly change the permissions of an existing destination directory. [bug introduced in coreutils-6.8] cp -u -p would fail to preserve one hard link for each up-to-date copy of a src-hard-linked name in the destination tree. I.e., if s/a and s/b are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b to dst/s/b rather than simply linking dst/s/b to dst/s/a. [This bug appears to have been present in "the beginning".] fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory proportional to the number of entries in each directory they process. Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory. Now, it uses less than 30MB, no matter how many entries there are. [this bug was inherent in the use of fts: thus, for rm the bug was introduced in coreutils-8.0. The prior implementation of rm did not use as much memory. du, chmod, chgrp and chown started using fts in 6.0. chcon was added in coreutils-6.9.91 with fts support. ] pr -T no longer ignores a specified LAST_PAGE to stop at. [bug introduced in textutils-1.19q] printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic. [bug introduced in sh-utils-1.16] split --number l/... no longer creates extraneous files in certain cases. [bug introduced in coreutils-8.8] timeout now sends signals to commands that create their own process group. timeout is no longer confused when starting off with a child process. [bugs introduced in coreutils-7.0] unexpand -a now aligns correctly when there are spaces spanning a tabstop, followed by a tab. In that case a space was dropped, causing misalignment. We also now ensure that a space never precedes a tab. [bug introduced in coreutils-5.3.0] ** Changes in behavior chmod, chown and chgrp now output the original attributes in messages, when -v or -c specified. cp -au (where --preserve=links is implicit) may now replace newer files in the destination, to mirror hard links from the source. ** New features date now accepts ISO 8601 date-time strings with "T" as the separator. It has long parsed dates like "2004-02-29 16:21:42" with a space between the date and time strings. Now it also parses "2004-02-29T16:21:42" and fractional-second and time-zone-annotated variants like "2004-02-29T16:21:42.333-07:00" md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. split accepts a new --filter=CMD option. With it, split filters output through CMD. CMD may use the $FILE environment variable, which is set to the nominal output file name for each invocation of CMD. For example, to split a file into 3 approximately equal parts, which are then compressed: split -n3 --filter='xz > $FILE.xz' big Note the use of single quotes, not double quotes. That creates files named xaa.xz, xab.xz and xac.xz. timeout accepts a new --foreground option, to support commands not started directly from a shell prompt, where the command is interactive or needs to receive signals initiated from the terminal. ** Improvements cp -p now copies trivial NSFv4 ACLs on Solaris 10. Before, it would mistakenly apply a non-trivial ACL to the destination file. cp and ls now support HP-UX 11.11's ACLs, thanks to improved support in gnulib. df now supports disk partitions larger than 4 TiB on MacOS X 10.5 or newer and on AIX 5.2 or newer. join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an unsorted input, rather than e.g., "join: file 1 is not in sorted order". shuf outputs small subsets of large permutations much more efficiently. For example 'shuf -i1-$((2**32-1)) -n2' no longer exhausts memory. stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types. timeout now supports sub-second timeouts. ** Build-related Changes inherited from gnulib address a build failure on HP-UX 11.11 when using /opt/ansic/bin/cc. Numerous portability and build improvements inherited via gnulib. * Noteworthy changes in release 8.12 (2011-04-26) [stable] ** Bug fixes tail's --follow=name option no longer implies --retry on systems with inotify support. [bug introduced in coreutils-7.5] ** Changes in behavior cp's extent-based (FIEMAP) copying code is more reliable in the face of varying and undocumented file system semantics: - it no longer treats unwritten extents specially - a FIEMAP-based extent copy always uses the FIEMAP_FLAG_SYNC flag. Before, it would incur the performance penalty of that sync only for 2.6.38 and older kernels. We thought all problems would be resolved for 2.6.39. - it now attempts a FIEMAP copy only on a file that appears sparse. Sparse files are relatively unusual, and the copying code incurs the performance penalty of the now-mandatory sync only for them. ** Portability dd once again compiles on AIX 5.1 and 5.2 * Noteworthy changes in release 8.11 (2011-04-13) [stable] ** Bug fixes cp -a --link would not create a hardlink to a symlink, instead copying the symlink and then not preserving its timestamp. [bug introduced in coreutils-8.0] cp now avoids FIEMAP issues with BTRFS before Linux 2.6.38, which could result in corrupt copies of sparse files. [bug introduced in coreutils-8.10] cut could segfault when invoked with a user-specified output delimiter and an unbounded range like "-f1234567890-". [bug introduced in coreutils-5.3.0] du would infloop when given --files0-from=DIR [bug introduced in coreutils-7.1] sort no longer spawns 7 worker threads to sort 16 lines [bug introduced in coreutils-8.6] touch built on Solaris 9 would segfault when run on Solaris 10 [bug introduced in coreutils-8.8] wc would dereference a NULL pointer upon an early out-of-memory error [bug introduced in coreutils-7.1] ** New features dd now accepts the 'nocache' flag to the iflag and oflag options, which will discard any cache associated with the files, or processed portion thereof. dd now warns that 'iflag=fullblock' should be used, in various cases where partial reads can cause issues. ** Changes in behavior cp now avoids syncing files when possible, when doing a FIEMAP copy. The sync is only needed on Linux kernels before 2.6.39. [The sync was introduced in coreutils-8.10] cp now copies empty extents efficiently, when doing a FIEMAP copy. It no longer reads the zero bytes from the input, and also can efficiently create a hole in the output file when --sparse=always is specified. df now aligns columns consistently, and no longer wraps entries with longer device identifiers, over two lines. install now rejects its long-deprecated --preserve_context option. Use --preserve-context instead. test now accepts "==" as a synonym for "=" * Noteworthy changes in release 8.10 (2011-02-04) [stable] ** Bug fixes du would abort with a failed assertion when two conditions are met: part of the hierarchy being traversed is moved to a higher level in the directory tree, and there is at least one more command line directory argument following the one containing the moved sub-tree. [bug introduced in coreutils-5.1.0] join --header now skips the ordering check for the first line even if the other file is empty. [bug introduced in coreutils-8.5] join -v2 now ensures the default output format prints the match field at the start of the line when it is different to the match field for the first file. [bug present in "the beginning".] rm -f no longer fails for EINVAL or EILSEQ on file systems that reject file names invalid for that file system. uniq -f NUM no longer tries to process fields after end of line. [bug introduced in coreutils-7.0] ** New features cp now copies sparse files efficiently on file systems with FIEMAP support (ext4, btrfs, xfs, ocfs2). Before, it had to read 2^20 bytes when copying a 1MiB sparse file. Now, it copies bytes only for the non-sparse sections of a file. Similarly, to induce a hole in the output file, it had to detect a long sequence of zero bytes. Now, it knows precisely where each hole in an input file is, and can reproduce them efficiently in the output file. mv also benefits when it resorts to copying, e.g., between file systems. join now supports -o 'auto' which will automatically infer the output format from the first line in each file, to ensure the same number of fields are output for each line. ** Changes in behavior join no longer reports disorder when one of the files is empty. This allows one to use join as a field extractor like: join -a1 -o 1.3,1.1 - /dev/null * Noteworthy changes in release 8.9 (2011-01-04) [stable] ** Bug fixes split no longer creates files with a suffix length that is dependent on the number of bytes or lines per file. [bug introduced in coreutils-8.8] * Noteworthy changes in release 8.8 (2010-12-22) [stable] ** Bug fixes cp -u no longer does unnecessary copying merely because the source has finer-grained time stamps than the destination. od now prints floating-point numbers without losing information, and it no longer omits spaces between floating-point columns in some cases. sort -u with at least two threads could attempt to read through a corrupted pointer. [bug introduced in coreutils-8.6] sort with at least two threads and with blocked output would busy-loop (spinlock) all threads, often using 100% of available CPU cycles to do no work. I.e., "sort < big-file | less" could waste a lot of power. [bug introduced in coreutils-8.6] sort with at least two threads no longer segfaults due to use of pointers into the stack of an expired thread. [bug introduced in coreutils-8.6] sort --compress no longer mishandles subprocesses' exit statuses, no longer hangs indefinitely due to a bug in waiting for subprocesses, and no longer generates many more than NMERGE subprocesses. sort -m -o f f ... f no longer dumps core when file descriptors are limited. ** Changes in behavior sort will not create more than 8 threads by default due to diminishing performance gains. Also the --parallel option is no longer restricted to the number of available processors. ** New features split accepts the --number option to generate a specific number of files. * Noteworthy changes in release 8.7 (2010-11-13) [stable] ** Bug fixes cp, install, mv, and touch no longer crash when setting file times on Solaris 10 Update 9 [Solaris PatchID 144488 and newer expose a latent bug introduced in coreutils 8.1, and possibly a second latent bug going at least as far back as coreutils 5.97] csplit no longer corrupts heap when writing more than 999 files, nor does it leak memory for every chunk of input processed [the bugs were present in the initial implementation] tail -F once again notices changes in a currently unavailable remote directory [bug introduced in coreutils-7.5] ** Changes in behavior cp --attributes-only now completely overrides --reflink. Previously a reflink was needlessly attempted. stat's %X, %Y, and %Z directives once again print only the integer part of seconds since the epoch. This reverts a change from coreutils-8.6, that was deemed unnecessarily disruptive. To obtain a nanosecond-precision time stamp for %X use %.X; if you want (say) just 3 fractional digits, use %.3X. Likewise for %Y and %Z. stat's new %W format directive would print floating point seconds. However, with the above change to %X, %Y and %Z, we've made %W work the same way as the others. * Noteworthy changes in release 8.6 (2010-10-15) [stable] ** Bug fixes du no longer multiply counts a file that is a directory or whose link count is 1, even if the file is reached multiple times by following symlinks or via multiple arguments. du -H and -L now consistently count pointed-to files instead of symbolic links, and correctly diagnose dangling symlinks. du --ignore=D now ignores directory D even when that directory is found to be part of a directory cycle. Before, du would issue a "NOTIFY YOUR SYSTEM MANAGER" diagnostic and fail. split now diagnoses read errors rather than silently exiting. [bug introduced in coreutils-4.5.8] tac would perform a double-free when given an input line longer than 16KiB. [bug introduced in coreutils-8.3] tail -F once again notices changes in a currently unavailable directory, and works around a Linux kernel bug where inotify runs out of resources. [bugs introduced in coreutils-7.5] tr now consistently handles case conversion character classes. In some locales, valid conversion specifications caused tr to abort, while in all locales, some invalid specifications were undiagnosed. [bugs introduced in coreutils 6.9.90 and 6.9.92] ** New features cp now accepts the --attributes-only option to not copy file data, which is useful for efficiently modifying files. du recognizes -d N as equivalent to --max-depth=N, for compatibility with FreeBSD. sort now accepts the --debug option, to highlight the part of the line significant in the sort, and warn about questionable options. sort now supports -d, -f, -i, -R, and -V in any combination. stat now accepts the %m format directive to output the mount point for a file. It also accepts the %w and %W format directives for outputting the birth time of a file, if one is available. ** Changes in behavior df now consistently prints the device name for a bind mounted file, rather than its aliased target. du now uses less than half as much memory when operating on trees with many hard-linked files. With --count-links (-l), or when operating on trees with no hard-linked files, there is no change. ls -l now uses the traditional three field time style rather than the wider two field numeric ISO style, in locales where a style has not been specified. The new approach has nicer behavior in some locales, including English, which was judged to outweigh the disadvantage of generating less-predictable and often worse output in poorly-configured locales where there is an onus to specify appropriate non-default styles. [The old behavior was introduced in coreutils-6.0 and had been removed for English only using a different method since coreutils-8.1] rm's -d now evokes an error; before, it was silently ignored. sort -g now uses long doubles for greater range and precision. sort -h no longer rejects numbers with leading or trailing ".", and no longer accepts numbers with multiple ".". It now considers all zeros to be equal. sort now uses the number of available processors to parallelize the sorting operation. The number of sorts run concurrently can be limited with the --parallel option or with external process control like taskset for example. stat now provides translated output when no format is specified. stat no longer accepts the --context (-Z) option. Initially it was merely accepted and ignored, for compatibility. Starting two years ago, with coreutils-7.0, its use evoked a warning. Printing the SELinux context of a file can be done with the %C format directive, and the default output when no format is specified now automatically includes %C when context information is available. stat no longer accepts the %C directive when the --file-system option is in effect, since security context is a file attribute rather than a file system attribute. stat now outputs the full sub-second resolution for the atime, mtime, and ctime values since the Epoch, when using the %X, %Y, and %Z directives of the --format option. This matches the fact that %x, %y, and %z were already doing so for the human-readable variant. touch's --file option is no longer recognized. Use --reference=F (-r) instead. --file has not been documented for 15 years, and its use has elicited a warning since coreutils-7.1. truncate now supports setting file sizes relative to a reference file. Also errors are no longer suppressed for unsupported file types, and relative sizes are restricted to supported file types. * Noteworthy changes in release 8.5 (2010-04-23) [stable] ** Bug fixes cp and mv once again support preserving extended attributes. [bug introduced in coreutils-8.4] cp now preserves "capabilities" when also preserving file ownership. ls --color once again honors the 'NORMAL' dircolors directive. [bug introduced in coreutils-6.11] sort -M now handles abbreviated months that are aligned using blanks in the locale database. Also locales with 8 bit characters are handled correctly, including multi byte locales with the caveat that multi byte characters are matched case sensitively. sort again handles obsolescent key formats (+POS -POS) correctly. Previously if -POS was specified, 1 field too many was used in the sort. [bug introduced in coreutils-7.2] ** New features join now accepts the --header option, to treat the first line of each file as a header line to be joined and printed unconditionally. timeout now accepts the --kill-after option which sends a kill signal to the monitored command if it's still running the specified duration after the initial signal was sent. who: the "+/-" --mesg (-T) indicator of whether a user/tty is accepting messages could be incorrectly listed as "+", when in fact, the user was not accepting messages (mesg no). Before, who would examine only the permission bits, and not consider the group of the TTY device file. Thus, if a login tty's group would change somehow e.g., to "root", that would make it unwritable (via write(1)) by normal users, in spite of whatever the permission bits might imply. Now, when configured using the --with-tty-group[=NAME] option, who also compares the group of the TTY device with NAME (or "tty" if no group name is specified). ** Changes in behavior ls --color no longer emits the final 3-byte color-resetting escape sequence when it would be a no-op. join -t '' no longer emits an error and instead operates on each line as a whole (even if they contain NUL characters). * Noteworthy changes in release 8.4 (2010-01-13) [stable] ** Bug fixes nproc --all is now guaranteed to be as large as the count of available processors, which may not have been the case on GNU/Linux systems with neither /proc nor /sys available. [bug introduced in coreutils-8.1] ** Build-related Work around a build failure when using buggy . Alternatively, configure with --disable-libcap. Compilation would fail on systems using glibc-2.7..2.9 due to changes in gnulib's wchar.h that tickled a bug in at least those versions of glibc's own header. Now, gnulib works around the bug in those older glibc headers. Building would fail with a link error (cp/copy.o) when XATTR headers were installed without the corresponding library. Now, configure detects that and disables xattr support, as one would expect. * Noteworthy changes in release 8.3 (2010-01-07) [stable] ** Bug fixes cp -p, install -p, mv, and touch -c could trigger a spurious error message when using new glibc coupled with an old kernel. [bug introduced in coreutils-6.12]. ls -l --color no longer prints "argetm" in front of dangling symlinks when the 'LINK target' directive was given to dircolors. [bug introduced in fileutils-4.0] pr's page header was improperly formatted for long file names. [bug introduced in coreutils-7.2] rm -r --one-file-system works once again. The rewrite to make rm use fts introduced a regression whereby a commmand of the above form would fail for all subdirectories. [bug introduced in coreutils-8.0] stat -f recognizes more file system types: k-afs, fuseblk, gfs/gfs2, ocfs2, and rpc_pipefs. Also Minix V3 is displayed correctly as minix3, not minux3. [bug introduced in coreutils-8.1] tail -f (inotify-enabled) once again works with remote files. The use of inotify with remote files meant that any changes to those files that was not done from the local system would go unnoticed. [bug introduced in coreutils-7.5] tail -F (inotify-enabled) would abort when a tailed file is repeatedly renamed-aside and then recreated. [bug introduced in coreutils-7.5] tail -F (inotify-enabled) could fail to follow renamed files. E.g., given a "tail -F a b" process, running "mv a b" would make tail stop tracking additions to "b". [bug introduced in coreutils-7.5] touch -a and touch -m could trigger bugs in some file systems, such as xfs or ntfs-3g, and fail to update timestamps. [bug introduced in coreutils-8.1] wc now prints counts atomically so that concurrent processes will not intersperse their output. [the issue dates back to the initial implementation] * Noteworthy changes in release 8.2 (2009-12-11) [stable] ** Bug fixes id's use of mgetgroups no longer writes beyond the end of a malloc'd buffer [bug introduced in coreutils-8.1] id no longer crashes on systems without supplementary group support. [bug introduced in coreutils-8.1] rm once again handles zero-length arguments properly. The rewrite to make rm use fts introduced a regression whereby a command like "rm a '' b" would fail to remove "a" and "b", due to the presence of the empty string argument. [bug introduced in coreutils-8.0] sort is now immune to the signal handling of its parent. Specifically sort now doesn't exit with an error message if it uses helper processes for compression and its parent ignores CHLD signals. [bug introduced in coreutils-6.9] tail without -f no longer accesses uninitialized memory [bug introduced in coreutils-7.6] timeout is now immune to the signal handling of its parent. Specifically timeout now doesn't exit with an error message if its parent ignores CHLD signals. [bug introduced in coreutils-7.6] a user running "make distcheck" in the coreutils source directory, with TMPDIR unset or set to the name of a world-writable directory, and with a malicious user on the same system was vulnerable to arbitrary code execution [bug introduced in coreutils-5.0] * Noteworthy changes in release 8.1 (2009-11-18) [stable] ** Bug fixes chcon no longer exits immediately just because SELinux is disabled. Even then, chcon may still be useful. [bug introduced in coreutils-8.0] chcon, chgrp, chmod, chown and du now diagnose an ostensible directory cycle and arrange to exit nonzero. Before, they would silently ignore the offending directory and all "contents." env -u A=B now fails, rather than silently adding A to the environment. Likewise, printenv A=B silently ignores the invalid name. [the bugs date back to the initial implementation] ls --color now handles files with capabilities correctly. Previously files with capabilities were often not colored, and also sometimes, files without capabilites were colored in error. [bug introduced in coreutils-7.0] md5sum now prints checksums atomically so that concurrent processes will not intersperse their output. This also affected sum, sha1sum, sha224sum, sha384sum and sha512sum. [the bug dates back to the initial implementation] mktemp no longer leaves a temporary file behind if it was unable to output the name of the file to stdout. [the bug dates back to the initial implementation] nice -n -1 PROGRAM now runs PROGRAM even when its internal setpriority call fails with errno == EACCES. [the bug dates back to the initial implementation] nice, nohup, and su now refuse to execute the subsidiary program if they detect write failure in printing an otherwise non-fatal warning message to stderr. stat -f recognizes more file system types: afs, cifs, anon-inode FS, btrfs, cgroupfs, cramfs-wend, debugfs, futexfs, hfs, inotifyfs, minux3, nilfs, securityfs, selinux, xenfs tail -f (inotify-enabled) now avoids a race condition. Before, any data appended in the tiny interval between the initial read-to-EOF and the inotify watch initialization would be ignored initially (until more data was appended), or forever, if the file were first renamed or unlinked or never modified. [The race was introduced in coreutils-7.5] tail -F (inotify-enabled) now consistently tails a file that has been replaced via renaming. That operation provokes either of two sequences of inotify events. The less common sequence is now handled as well. [The bug came with the implementation change in coreutils-7.5] timeout now doesn't exit unless the command it is monitoring does, for any specified signal. [bug introduced in coreutils-7.0]. ** Changes in behavior chroot, env, nice, and su fail with status 125, rather than 1, on internal error such as failure to parse command line arguments; this is for consistency with stdbuf and timeout, and avoids ambiguity with the invoked command failing with status 1. Likewise, nohup fails with status 125 instead of 127. du (due to a change in gnulib's fts) can now traverse NFSv4 automounted directories in which the stat'd device number of the mount point differs during a traversal. Before, it would fail, because such a mismatch would usually represent a serious error or a subversion attempt. echo and printf now interpret \e as the Escape character (0x1B). rm -f /read-only-fs/nonexistent now succeeds and prints no diagnostic on systems with an unlinkat syscall that sets errno to EROFS in that case. Before, it would fail with a "Read-only file system" diagnostic. Also, "rm /read-only-fs/nonexistent" now reports "file not found" rather than the less precise "Read-only file system" error. ** New programs nproc: Print the number of processing units available to a process. ** New features env and printenv now accept the option --null (-0), as a means to avoid ambiguity with newlines embedded in the environment. md5sum --check now also accepts openssl-style checksums. So do sha1sum, sha224sum, sha384sum and sha512sum. mktemp now accepts the option --suffix to provide a known suffix after the substitution in the template. Additionally, uses such as "mktemp fileXXXXXX.txt" are able to infer an appropriate --suffix. touch now accepts the option --no-dereference (-h), as a means to change symlink timestamps on platforms with enough support. * Noteworthy changes in release 8.0 (2009-10-06) [beta] ** Bug fixes cp --preserve=xattr and --archive now preserve extended attributes even when the source file doesn't have write access. [bug introduced in coreutils-7.1] touch -t [[CC]YY]MMDDhhmm[.ss] now accepts a timestamp string ending in .60, to accommodate leap seconds. [the bug dates back to the initial implementation] ls --color now reverts to the color of a base file type consistently when the color of a more specific type is disabled. [bug introduced in coreutils-5.90] ls -LR exits with status 2, not 0, when it encounters a cycle "ls -is" is now consistent with ls -lis in ignoring values returned from a failed stat/lstat. For example ls -Lis now prints "?", not "0", for the inode number and allocated size of a dereferenced dangling symlink. tail --follow --pid now avoids a race condition where data written just before the process dies might not have been output by tail. Also, tail no longer delays at all when the specified pid is not live. [The race was introduced in coreutils-7.5, and the unnecessary delay was present since textutils-1.22o] ** Portability On Solaris 9, many commands would mistakenly treat file/ the same as file. Now, even on such a system, path resolution obeys the POSIX rules that a trailing slash ensures that the preceding name is a directory or a symlink to a directory. ** Changes in behavior id no longer prints SELinux " context=..." when the POSIXLY_CORRECT environment variable is set. readlink -f now ignores a trailing slash when deciding if the last component (possibly via a dangling symlink) can be created, since mkdir will succeed in that case. ** New features ln now accepts the options --logical (-L) and --physical (-P), added by POSIX 2008. The default behavior is -P on systems like GNU/Linux where link(2) creates hard links to symlinks, and -L on BSD systems where link(2) follows symlinks. stat: without -f, a command-line argument of "-" now means standard input. With --file-system (-f), an argument of "-" is now rejected. If you really must operate on a file named "-", specify it as "./-" or use "--" to separate options from arguments. ** Improvements rm: rewrite to use gnulib's fts This makes rm -rf significantly faster (400-500%) in some pathological cases, and slightly slower (20%) in at least one pathological case. rm -r deletes deep hierarchies more efficiently. Before, execution time was quadratic in the depth of the hierarchy, now it is merely linear. However, this improvement is not as pronounced as might be expected for very deep trees, because prior to this change, for any relative name length longer than 8KiB, rm -r would sacrifice official conformance to avoid the disproportionate quadratic performance penalty. Leading to another improvement: rm -r is now slightly more standards-conformant when operating on write-protected files with relative names longer than 8KiB. * Noteworthy changes in release 7.6 (2009-09-11) [stable] ** Bug fixes cp, mv now ignore failure to preserve a symlink time stamp, when it is due to their running on a kernel older than what was implied by headers and libraries tested at configure time. [bug introduced in coreutils-7.5] cp --reflink --preserve now preserves attributes when cloning a file. [bug introduced in coreutils-7.5] cp --preserve=xattr no longer leaks resources on each preservation failure. [bug introduced in coreutils-7.1] dd now exits with non-zero status when it encounters a write error while printing a summary to stderr. [bug introduced in coreutils-6.11] dd cbs=N conv=unblock would fail to print a final newline when the size of the input was not a multiple of N bytes. [the non-conforming behavior dates back to the initial implementation] df no longer requires that each command-line argument be readable [bug introduced in coreutils-7.3] ls -i now prints consistent inode numbers also for mount points. This makes ls -i DIR less efficient on systems with dysfunctional readdir, because ls must stat every file in order to obtain a guaranteed-valid inode number. [bug introduced in coreutils-6.0] tail -f (inotify-enabled) now flushes any initial output before blocking. Before, this would print nothing and wait: stdbuf -o 4K tail -f /etc/passwd Note that this bug affects tail -f only when its standard output is buffered, which is relatively unusual. [bug introduced in coreutils-7.5] tail -f once again works with standard input. inotify-enabled tail -f would fail when operating on a nameless stdin. I.e., tail -f < /etc/passwd would say "tail: cannot watch `-': No such file or directory", yet the relatively baroque tail -f /dev/stdin < /etc/passwd would work. Now, the offending usage causes tail to revert to its conventional sleep-based (i.e., not inotify-based) implementation. [bug introduced in coreutils-7.5] ** Portability ln, link: link f z/ would mistakenly succeed on Solaris 10, given an existing file, f, and nothing named "z". ln -T f z/ has the same problem. Each would mistakenly create "z" as a link to "f". Now, even on such a system, each command reports the error, e.g., link: cannot create link `z/' to `f': Not a directory ** New features cp --reflink accepts a new "auto" parameter which falls back to a standard copy if creating a copy-on-write clone is not possible. ** Changes in behavior tail -f now ignores "-" when stdin is a pipe or FIFO. tail-with-no-args now ignores -f unconditionally when stdin is a pipe or FIFO. Before, it would ignore -f only when no file argument was specified, and then only when POSIXLY_CORRECT was set. Now, :|tail -f - terminates immediately. Before, it would block indefinitely. * Noteworthy changes in release 7.5 (2009-08-20) [stable] ** Bug fixes dd's oflag=direct option now works even when the size of the input is not a multiple of e.g., 512 bytes. dd now handles signals consistently even when they're received before data copying has started. install runs faster again with SELinux enabled [introduced in coreutils-7.0] ls -1U (with two or more arguments, at least one a nonempty directory) would print entry names *before* the name of the containing directory. Also fixed incorrect output of ls -1RU and ls -1sU. [introduced in coreutils-7.0] sort now correctly ignores fields whose ending position is specified before the start position. Previously in numeric mode the remaining part of the line after the start position was used as the sort key. [This bug appears to have been present in "the beginning".] truncate -s failed to skip all whitespace in the option argument in some locales. ** New programs stdbuf: A new program to run a command with modified stdio buffering for its standard streams. ** Changes in behavior ls --color: files with multiple hard links are no longer colored differently by default. That can be enabled by changing the LS_COLORS environment variable. You can control that using the MULTIHARDLINK dircolors input variable which corresponds to the 'mh' LS_COLORS item. Note these variables were renamed from 'HARDLINK' and 'hl' which were available since coreutils-7.1 when this feature was introduced. ** Deprecated options nl --page-increment: deprecated in favor of --line-increment, the new option maintains the previous semantics and the same short option, -i. ** New features chroot now accepts the options --userspec and --groups. cp accepts a new option, --reflink: create a lightweight copy using copy-on-write (COW). This is currently only supported within a btrfs file system. cp now preserves time stamps on symbolic links, when possible sort accepts a new option, --human-numeric-sort (-h): sort numbers while honoring human readable suffixes like KiB and MB etc. tail --follow now uses inotify when possible, to be more responsive to file changes and more efficient when monitoring many files. * Noteworthy changes in release 7.4 (2009-05-07) [stable] ** Bug fixes date -d 'next mon', when run on a Monday, now prints the date 7 days in the future rather than the current day. Same for any other day-of-the-week name, when run on that same day of the week. [This bug appears to have been present in "the beginning". ] date -d tuesday, when run on a Tuesday -- using date built from the 7.3 release tarball, not from git -- would print the date 7 days in the future. Now, it works properly and prints the current date. That was due to human error (including not-committed changes in a release tarball) and the fact that there is no check to detect when the gnulib/ git submodule is dirty. ** Build-related make check: two tests have been corrected ** Portability There have been some ACL-related portability fixes for *BSD, inherited from gnulib. * Noteworthy changes in release 7.3 (2009-05-01) [stable] ** Bug fixes cp now diagnoses failure to preserve selinux/xattr attributes when --preserve=context,xattr is specified in combination with -a. Also, cp no longer suppresses attribute-preservation diagnostics when preserving SELinux context was explicitly requested. ls now aligns output correctly in the presence of abbreviated month names from the locale database that have differing widths. ls -v and sort -V now order names like "#.b#" properly mv: do not print diagnostics when failing to preserve xattr's on file systems without xattr support. sort -m no longer segfaults when its output file is also an input file. E.g., with this, touch 1; sort -m -o 1 1, sort would segfault. [introduced in coreutils-7.2] ** Changes in behavior shred, sort, shuf: now use an internal pseudorandom generator by default. This is mainly noticeable in shred where the 3 random passes it does by default should proceed at the speed of the disk. Previously /dev/urandom was used if available, which is relatively slow on GNU/Linux systems. ** Improved robustness cp would exit successfully after copying less than the full contents of a file larger than ~4000 bytes from a linux-/proc file system to a destination file system with a fundamental block size of 4KiB or greater. Reading into a 4KiB-or-larger buffer, cp's "read" syscall would return a value smaller than 4096, and cp would interpret that as EOF (POSIX allows this). This optimization, now removed, saved 50% of cp's read syscalls when copying small files. Affected linux kernels: at least 2.6.9 through 2.6.29. [the optimization was introduced in coreutils-6.0] ** Portability df now pre-mounts automountable directories even with automounters for which stat-like syscalls no longer provoke mounting. Now, df uses open. 'id -G $USER' now works correctly even on Darwin and NetBSD. Previously it would either truncate the group list to 10, or go into an infinite loop, due to their non-standard getgrouplist implementations. [truncation introduced in coreutils-6.11] [infinite loop introduced in coreutils-7.1] * Noteworthy changes in release 7.2 (2009-03-31) [stable] ** New features pwd now accepts the options --logical (-L) and --physical (-P). For compatibility with existing scripts, -P is the default behavior unless POSIXLY_CORRECT is requested. ** Bug fixes cat once again immediately outputs data it has processed. Previously it would have been buffered and only output if enough data was read, or on process exit. [bug introduced in coreutils-6.0] comm's new --check-order option would fail to detect disorder on any pair of lines where one was a prefix of the other. For example, this would fail to report the disorder: printf 'Xb\nX\n'>k; comm --check-order k k [bug introduced in coreutils-7.0] cp once again diagnoses the invalid "cp -rl dir dir" right away, rather than after creating a very deep dir/dir/dir/... hierarchy. The bug strikes only with both --recursive (-r, -R) and --link (-l). [bug introduced in coreutils-7.1] ls --sort=version (-v) sorted names beginning with "." inconsistently. Now, names that start with "." are always listed before those that don't. pr: fix the bug whereby --indent=N (-o) did not indent header lines [bug introduced in coreutils-6.9.90] sort now handles specified key ends correctly. Previously -k1,1b would have caused leading space from field 2 to be included in the sort while -k2,3.0 would have not included field 3. ** Changes in behavior cat,cp,install,mv,split: these programs now read and write a minimum of 32KiB at a time. This was seen to double throughput when reading cached files on GNU/Linux-based systems. cp -a now tries to preserve extended attributes (xattr), but does not diagnose xattr-preservation failure. However, cp --preserve=all still does. ls --color: hard link highlighting can be now disabled by changing the LS_COLORS environment variable. To disable it you can add something like this to your profile: eval `dircolors | sed s/hl=[^:]*:/hl=:/` * Noteworthy changes in release 7.1 (2009-02-21) [stable] ** New features Add extended attribute support available on certain filesystems like ext2 and XFS. cp: Tries to copy xattrs when --preserve=xattr or --preserve=all specified mv: Always tries to copy xattrs install: Never copies xattrs cp and mv accept a new option, --no-clobber (-n): silently refrain from overwriting any existing destination file dd accepts iflag=cio and oflag=cio to open the file in CIO (concurrent I/O) mode where this feature is available. install accepts a new option, --compare (-C): compare each pair of source and destination files, and if the destination has identical content and any specified owner, group, permissions, and possibly SELinux context, then do not modify the destination at all. ls --color now highlights hard linked files, too stat -f recognizes the Lustre file system type ** Bug fixes chgrp, chmod, chown --silent (--quiet, -f) no longer print some diagnostics [bug introduced in coreutils-5.1] cp uses much less memory in some situations cp -a now correctly tries to preserve SELinux context (announced in 6.9.90), doesn't inform about failure, unlike with --preserve=all du --files0-from=FILE no longer reads all of FILE into RAM before processing the first file name seq 9223372036854775807 9223372036854775808 now prints only two numbers on systems with extended long double support and good library support. Even with this patch, on some systems, it still produces invalid output, from 3 to at least 1026 lines long. [bug introduced in coreutils-6.11] seq -w now accounts for a decimal point added to the last number to correctly print all numbers to the same width. wc --files0-from=FILE no longer reads all of FILE into RAM, before processing the first file name, unless the list of names is known to be small enough. ** Changes in behavior cp and mv: the --reply={yes,no,query} option has been removed. Using it has elicited a warning for the last three years. dd: user specified offsets that are too big are handled better. Previously, erroneous parameters to skip and seek could result in redundant reading of the file with no warnings or errors. du: -H (initially equivalent to --si) is now equivalent to --dereference-args, and thus works as POSIX requires shred: now does 3 overwrite passes by default rather than 25. ls -l now marks SELinux-only files with the less obtrusive '.', rather than '+'. A file with any other combination of MAC and ACL is still marked with a '+'. * Noteworthy changes in release 7.0 (2008-10-05) [beta] ** New programs timeout: Run a command with bounded time. truncate: Set the size of a file to a specified size. ** New features chgrp, chmod, chown, chcon, du, rm: now all display linear performance, even when operating on million-entry directories on ext3 and ext4 file systems. Before, they would exhibit O(N^2) performance, due to linear per-entry seek time cost when operating on entries in readdir order. Rm was improved directly, while the others inherit the improvement from the newer version of fts in gnulib. comm now verifies that the inputs are in sorted order. This check can be turned off with the --nocheck-order option. comm accepts new option, --output-delimiter=STR, that allows specification of an output delimiter other than the default single TAB. cp and mv: the deprecated --reply=X option is now also undocumented. dd accepts iflag=fullblock to make it accumulate full input blocks. With this new option, after a short read, dd repeatedly calls read, until it fills the incomplete block, reaches EOF, or encounters an error. df accepts a new option --total, which produces a grand total of all arguments after all arguments have been processed. If the GNU MP library is available at configure time, factor and expr support arbitrarily large numbers. Pollard's rho algorithm is used to factor large numbers. install accepts a new option --strip-program to specify the program used to strip binaries. ls now colorizes files with capabilities if libcap is available ls -v now uses filevercmp function as sort predicate (instead of strverscmp) md5sum now accepts the new option, --quiet, to suppress the printing of 'OK' messages. sha1sum, sha224sum, sha384sum, and sha512sum accept it, too. sort accepts a new option, --files0-from=F, that specifies a file containing a null-separated list of files to sort. This list is used instead of filenames passed on the command-line to avoid problems with maximum command-line (argv) length. sort accepts a new option --batch-size=NMERGE, where NMERGE represents the maximum number of inputs that will be merged at once. When processing more than NMERGE inputs, sort uses temporary files. sort accepts a new option --version-sort (-V, --sort=version), specifying that ordering is to be based on filevercmp. ** Bug fixes chcon --verbose now prints a newline after each message od no longer suffers from platform bugs in printf(3). This is probably most noticeable when using 'od -tfL' to print long doubles. seq -0.1 0.1 2 now prints 2,0 when locale's decimal point is ",". Before, it would mistakenly omit the final number in that example. shuf honors the --zero-terminated (-z) option, even with --input-range=LO-HI shuf --head-count is now correctly documented. The documentation previously claimed it was called --head-lines. ** Improvements Improved support for access control lists (ACLs): On MacOS X, Solaris 7..10, HP-UX 11, Tru64, AIX, IRIX 6.5, and Cygwin, "ls -l" now displays the presence of an ACL on a file via a '+' sign after the mode, and "cp -p" copies ACLs. join has significantly better performance due to better memory management ls now uses constant memory when not sorting and using one_per_line format, no matter how many files are in a given directory. I.e., to list a directory with very many files, ls -1U is much more efficient. od now aligns fields across lines when printing multiple -t specifiers, and no longer prints fields that resulted entirely from padding the input out to the least common multiple width. ** Changes in behavior stat's --context (-Z) option has always been a no-op. Now it evokes a warning that it is obsolete and will be removed. * Noteworthy changes in release 6.12 (2008-05-31) [stable] ** New features cp, install, mv, and touch now preserve nanosecond resolution on file timestamps, on platforms that have the 'utimensat' and 'futimens' system calls. ** Bug fixes chcon, runcon: --help output now includes the bug-reporting address cp -p copies permissions more portably. For example, on MacOS X 10.5, "cp -p some-fifo some-file" no longer fails while trying to copy the permissions from the some-fifo argument. id with no options now prints the SELinux context only when invoked with no USERNAME argument. id and groups once again print the AFS-specific nameless group-ID (PAG). Printing of such large-numbered, kernel-only (not in /etc/group) group-IDs was suppressed in 6.11 due to ignorance that they are useful. uniq: avoid subtle field-skipping malfunction due to isblank misuse. In some locales on some systems, isblank(240) (aka  ) is nonzero. On such systems, uniq --skip-fields=N would fail to skip the proper number of fields for some inputs. tac: avoid segfault with --regex (-r) and multiple files, e.g., "echo > x; tac -r x x". [bug present at least in textutils-1.8b, from 1992] ** Changes in behavior install once again sets SELinux context, when possible [it was deliberately disabled in 6.9.90] * Noteworthy changes in release 6.11 (2008-04-19) [stable] ** Bug fixes configure --enable-no-install-program=groups now works. "cp -fR fifo E" now succeeds with an existing E. Before this fix, using -fR to copy a fifo or "special" file onto an existing file would fail with EEXIST. Now, it once again unlinks the destination before trying to create the destination file. [bug introduced in coreutils-5.90] dd once again works with unnecessary options like if=/dev/stdin and of=/dev/stdout. [bug introduced in fileutils-4.0h] id now uses getgrouplist, when possible. This results in much better performance when there are many users and/or groups. ls no longer segfaults on files in /proc when linked with an older version of libselinux. E.g., ls -l /proc/sys would dereference a NULL pointer. md5sum would segfault for invalid BSD-style input, e.g., echo 'MD5 (' | md5sum -c - Now, md5sum ignores that line. sha1sum, sha224sum, sha384sum, and sha512sum are affected, too. [bug introduced in coreutils-5.1.0] md5sum -c would accept a NUL-containing checksum string like "abcd\0..." and would unnecessarily read and compute the checksum of the named file, and then compare that checksum to the invalid one: guaranteed to fail. Now, it recognizes that the line is not valid and skips it. sha1sum, sha224sum, sha384sum, and sha512sum are affected, too. [bug present in the original version, in coreutils-4.5.1, 1995] "mkdir -Z x dir" no longer segfaults when diagnosing invalid context "x" mkfifo and mknod would fail similarly. Now they're fixed. mv would mistakenly unlink a destination file before calling rename, when the destination had two or more hard links. It no longer does that. [bug introduced in coreutils-5.3.0] "paste -d'\' file" no longer overruns memory (heap since coreutils-5.1.2, stack before then) [bug present in the original version, in 1992] "pr -e" with a mix of backspaces and TABs no longer corrupts the heap [bug present in the original version, in 1992] "ptx -F'\' long-file-name" would overrun a malloc'd buffer and corrupt the heap. That was triggered by a lone backslash (or odd number of them) at the end of the option argument to --flag-truncation=STRING (-F), --word-regexp=REGEXP (-W), or --sentence-regexp=REGEXP (-S). "rm -r DIR" would mistakenly declare to be "write protected" -- and prompt about -- full DIR-relative names longer than MIN (PATH_MAX, 8192). "rmdir --ignore-fail-on-non-empty" detects and ignores the failure in more cases when a directory is empty. "seq -f % 1" would issue the erroneous diagnostic "seq: memory exhausted" rather than reporting the invalid string format. [bug introduced in coreutils-6.0] ** New features join now verifies that the inputs are in sorted order. This check can be turned off with the --nocheck-order option. sort accepts the new option --sort=WORD, where WORD can be one of general-numeric, month, numeric or random. These are equivalent to the options --general-numeric-sort/-g, --month-sort/-M, --numeric-sort/-n and --random-sort/-R, resp. ** Improvements id and groups work around an AFS-related bug whereby those programs would print an invalid group number, when given no user-name argument. ls --color no longer outputs unnecessary escape sequences seq gives better diagnostics for invalid formats. ** Portability rm now works properly even on systems like BeOS and Haiku, which have negative errno values. ** Consistency install, mkdir, rmdir and split now write --verbose output to stdout, not to stderr. * Noteworthy changes in release 6.10 (2008-01-22) [stable] ** Bug fixes Fix a non-portable use of sed in configure.ac. [bug introduced in coreutils-6.9.92] * Noteworthy changes in release 6.9.92 (2008-01-12) [beta] ** Bug fixes cp --parents no longer uses uninitialized memory when restoring the permissions of a just-created destination directory. [bug introduced in coreutils-6.9.90] tr's case conversion would fail in a locale with differing numbers of lower case and upper case characters. E.g., this would fail: env LC_CTYPE=en_US.ISO-8859-1 tr '[:upper:]' '[:lower:]' [bug introduced in coreutils-6.9.90] ** Improvements "touch -d now writable-but-owned-by-someone-else" now succeeds whenever that same command would succeed without "-d now". Before, it would work fine with no -d option, yet it would fail with the ostensibly-equivalent "-d now". * Noteworthy changes in release 6.9.91 (2007-12-15) [beta] ** Bug fixes "ls -l" would not output "+" on SELinux hosts unless -Z was also given. "rm" would fail to unlink a non-directory when run in an environment in which the user running rm is capable of unlinking a directory. [bug introduced in coreutils-6.9] * Noteworthy changes in release 6.9.90 (2007-12-01) [beta] ** New programs arch: equivalent to uname -m, not installed by default But don't install this program on Solaris systems. chcon: change the SELinux security context of a file mktemp: create a temporary file or directory (or names) runcon: run a program in a different SELinux security context ** Programs no longer installed by default hostname, su ** Changes in behavior cp, by default, refuses to copy through a dangling destination symlink Set POSIXLY_CORRECT if you require the old, risk-prone behavior. pr -F no longer suppresses the footer or the first two blank lines in the header. This is for compatibility with BSD and POSIX. tr now warns about an unescaped backslash at end of string. The tr from coreutils-5.2.1 and earlier would fail for such usage, and Solaris' tr ignores that final byte. ** New features Add SELinux support, based on the patch from Fedora: * cp accepts new --preserve=context option. * "cp -a" works with SELinux: Now, cp -a attempts to preserve context, but failure to do so does not change cp's exit status. However "cp --preserve=context" is similar, but failure *does* cause cp to exit with nonzero status. * install accepts new "-Z, --context=C" option. * id accepts new "-Z" option. * stat honors the new %C format directive: SELinux security context string * ls accepts a slightly modified -Z option. * ls: contrary to Fedora version, does not accept --lcontext and --scontext The following commands and options now support the standard size suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y: head -c, head -n, od -j, od -N, od -S, split -b, split -C, tail -c, tail -n. cp -p tries to preserve the GID of a file even if preserving the UID is not possible. uniq accepts a new option: --zero-terminated (-z). As with the sort option of the same name, this makes uniq consume and produce NUL-terminated lines rather than newline-terminated lines. wc no longer warns about character decoding errors in multibyte locales. This means for example that "wc /bin/sh" now produces normal output (though the word count will have no real meaning) rather than many error messages. ** New build options By default, "make install" no longer attempts to install (or even build) su. To change that, use ./configure --enable-install-program=su. If you also want to install the new "arch" program, do this: ./configure --enable-install-program=arch,su. You can inhibit the compilation and installation of selected programs at configure time. For example, to avoid installing "hostname" and "uptime", use ./configure --enable-no-install-program=hostname,uptime Note: currently, "make check" passes, even when arch and su are not built (that's the new default). However, if you inhibit the building and installation of other programs, don't be surprised if some parts of "make check" fail. ** Remove deprecated options df no longer accepts the --kilobytes option. du no longer accepts the --kilobytes or --megabytes options. ls no longer accepts the --kilobytes option. ptx longer accepts the --copyright option. who no longer accepts -i or --idle. ** Improved robustness ln -f can no longer silently clobber a just-created hard link. In some cases, ln could be seen as being responsible for data loss. For example, given directories a, b, c, and files a/f and b/f, we should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f However, before this change, ln would succeed, and thus cause the loss of the contents of a/f. stty no longer silently accepts certain invalid hex values in its 35-colon command-line argument ** Bug fixes chmod no longer ignores a dangling symlink. Now, chmod fails with a diagnostic saying that it cannot operate on such a file. [bug introduced in coreutils-5.1.0] cp attempts to read a regular file, even if stat says it is empty. Before, "cp /proc/cpuinfo c" would create an empty file when the kernel reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work", and create a nonempty one. [bug introduced in coreutils-6.0] cp --parents no longer mishandles symlinks to directories in file name components in the source, e.g., "cp --parents symlink/a/b d" no longer fails. Also, 'cp' no longer considers a destination symlink to be the same as the referenced file when copying links or making backups. For example, if SYM is a symlink to FILE, "cp -l FILE SYM" now reports an error instead of silently doing nothing. The behavior of 'cp' is now better documented when the destination is a symlink. "cp -i --update older newer" no longer prompts; same for mv "cp -i" now detects read errors on standard input, and no longer consumes too much seekable input; same for ln, install, mv, and rm. cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid; before, it would treat it as if it started with 1 (-f 1-2). "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-" cut now diagnoses the '-' in "cut -f -" as an invalid range, rather than interpreting it as the unlimited range, "1-". date -d now accepts strings of the form e.g., 'YYYYMMDD +N days', in addition to the usual 'YYYYMMDD N days'. du -s now includes the size of any stat'able-but-inaccessible directory in the total size. du (without -s) prints whatever it knows of the size of an inaccessible directory. Before, du would print nothing for such a directory. ls -x DIR would sometimes output the wrong string in place of the first entry. [introduced in coreutils-6.8] ls --color would mistakenly color a dangling symlink as if it were a regular symlink. This would happen only when the dangling symlink was not a command-line argument and in a directory with d_type support. [introduced in coreutils-6.0] ls --color, (with a custom LS_COLORS envvar value including the ln=target attribute) would mistakenly output the string "target" before the name of each symlink. [introduced in coreutils-6.0] od's --skip (-j) option now works even when the kernel says that a nonempty regular file has stat.st_size = 0. This happens at least with files in /proc and linux-2.6.22. "od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly the same as the length of FILE, od would skip *no* bytes. When the number of bytes to skip is exactly the sum of the lengths of the first N files, od would skip only the first N-1 files. [introduced in textutils-2.0.9] ./printf %.10000000f 1 could get an internal ENOMEM error and generate no output, yet erroneously exit with status 0. Now it diagnoses the error and exits with nonzero status. [present in initial implementation] seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003", so workarounds like "seq 0 0.000001 0.0000031" are no longer needed. seq would mistakenly reject some valid format strings containing %%, and would mistakenly accept some invalid ones. e.g., %g%% and %%g, resp. "seq .1 .1" would mistakenly generate no output on some systems Obsolete sort usage with an invalid ordering-option character, e.g., "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an invalid pointer [introduced in coreutils-6.5] sorting very long lines (relative to the amount of available memory) no longer provokes unaligned memory access split --line-bytes=N (-C N) no longer creates an empty file [this bug is present at least as far back as textutils-1.22 (Jan, 1997)] tr -c no longer aborts when translating with Set2 larger than the complement of Set1. [present in the original version, in 1992] tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1. [present in the original version] * Noteworthy changes in release 6.9 (2007-03-22) [stable] ** Bug fixes cp -x (--one-file-system) would fail to set mount point permissions The default block size and output format for df -P are now unaffected by the DF_BLOCK_SIZE, BLOCK_SIZE, and BLOCKSIZE environment variables. It is still affected by POSIXLY_CORRECT, though. Using pr -m -s (i.e. merging files, with TAB as the output separator) no longer inserts extraneous spaces between output columns. * Noteworthy changes in release 6.8 (2007-02-24) [not-unstable] ** Bug fixes chgrp, chmod, and chown now honor the --preserve-root option. Before, they would warn, yet continuing traversing and operating on /. chmod no longer fails in an environment (e.g., a chroot) with openat support but with insufficient /proc support. "cp --parents F/G D" no longer creates a directory D/F when F is not a directory (and F/G is therefore invalid). "cp --preserve=mode" would create directories that briefly had too-generous permissions in some cases. For example, when copying a directory with permissions 777 the destination directory might temporarily be setgid on some file systems, which would allow other users to create subfiles with the same group as the directory. Fix similar problems with 'install' and 'mv'. cut no longer dumps core for usage like "cut -f2- f1 f2" with two or more file arguments. This was due to a double-free bug, introduced in coreutils-5.3.0. dd bs= operands now silently override any later ibs= and obs= operands, as POSIX and tradition require. "ls -FRL" always follows symbolic links on Linux. Introduced in coreutils-6.0. A cross-partition "mv /etc/passwd ~" (by non-root) now prints a reasonable diagnostic. Before, it would print this: "mv: cannot remove `/etc/passwd': Not a directory". pwd and "readlink -e ." no longer fail unnecessarily when a parent directory is unreadable. rm (without -f) could prompt when it shouldn't, or fail to prompt when it should, when operating on a full name longer than 511 bytes and getting an ENOMEM error while trying to form the long name. rm could mistakenly traverse into the wrong directory under unusual conditions: when a full name longer than 511 bytes specifies a search-only directory, and when forming that name fails with ENOMEM, rm would attempt to open a truncated-to-511-byte name with the first five bytes replaced with "[...]". If such a directory were to actually exist, rm would attempt to remove it. "rm -rf /etc/passwd" (run by non-root) now prints a diagnostic. Before it would print nothing. "rm --interactive=never F" no longer prompts for an unwritable F "rm -rf D" would emit a misleading diagnostic when failing to remove a symbolic link within the unwritable directory, D. Introduced in coreutils-6.0. Similarly, when a cross-partition "mv" fails because the source directory is unwritable, it now gives a reasonable diagnostic. Before, this would print $ mkdir /tmp/x; touch /tmp/x/y; chmod -w /tmp/x; $ test $(stat -c %d /tmp/x) -ne $(stat -c %d .) && mv /tmp/x/y . mv: cannot remove `/tmp/x/y': Not a directory Now it prints this: mv: cannot remove `/tmp/x/y': Permission denied. ** New features sort's new --compress-program=PROG option specifies a compression program to use when writing and reading temporary files. This can help save both time and disk space when sorting large inputs. sort accepts the new option -C, which acts like -c except no diagnostic is printed. Its --check option now accepts an optional argument, and --check=quiet and --check=silent are now aliases for -C, while --check=diagnose-first is an alias for -c or plain --check. * Noteworthy changes in release 6.7 (2006-12-08) [stable] ** Bug fixes When cp -p copied a file with special mode bits set, the same bits were set on the copy even when ownership could not be preserved. This could result in files that were setuid to the wrong user. To fix this, special mode bits are now set in the copy only if its ownership is successfully preserved. Similar problems were fixed with mv when copying across file system boundaries. This problem affects all versions of coreutils through 6.6. cp --preserve=ownership would create output files that temporarily had too-generous permissions in some cases. For example, when copying a file with group A and mode 644 into a group-B sticky directory, the output file was briefly readable by group B. Fix similar problems with cp options like -p that imply --preserve=ownership, with install -d when combined with either -o or -g, and with mv when copying across file system boundaries. This bug affects all versions of coreutils through 6.6. du --one-file-system (-x) would skip subdirectories of any directory listed as second or subsequent command line argument. This bug affects coreutils-6.4, 6.5 and 6.6. * Noteworthy changes in release 6.6 (2006-11-22) [stable] ** Bug fixes ls would segfault (dereference a NULL pointer) for a file with a nameless group or owner. This bug was introduced in coreutils-6.5. A bug in the latest official m4/gettext.m4 (from gettext-0.15) made configure fail to detect gettext support, due to the unusual way in which coreutils uses AM_GNU_GETTEXT. ** Improved robustness Now, du (and the other fts clients: chmod, chgrp, chown) honor a trailing slash in the name of a symlink-to-directory even on Solaris 9, by working around its buggy fstatat implementation. * Major changes in release 6.5 (2006-11-19) [stable] ** Bug fixes du (and the other fts clients: chmod, chgrp, chown) would exit early when encountering an inaccessible directory on a system with native openat support (i.e., linux-2.6.16 or newer along with glibc-2.4 or newer). This bug was introduced with the switch to gnulib's openat-based variant of fts, for coreutils-6.0. "ln --backup f f" now produces a sensible diagnostic ** New features rm accepts a new option: --one-file-system * Major changes in release 6.4 (2006-10-22) [stable] ** Bug fixes chgrp and chown would malfunction when invoked with both -R and -H and with one or more of the following: --preserve-root, --verbose, --changes, --from=o:g (chown only). This bug was introduced with the switch to gnulib's openat-based variant of fts, for coreutils-6.0. cp --backup dir1 dir2, would rename an existing dir2/dir1 to dir2/dir1~. This bug was introduced in coreutils-6.0. With --force (-f), rm no longer fails for ENOTDIR. For example, "rm -f existing-non-directory/anything" now exits successfully, ignoring the error about a nonexistent file. * Major changes in release 6.3 (2006-09-30) [stable] ** Improved robustness pinky no longer segfaults on Darwin 7.9.0 (MacOS X 10.3.9) due to a buggy native getaddrinfo function. rm works around a bug in Darwin 7.9.0 (MacOS X 10.3.9) that would sometimes keep it from removing all entries in a directory on an HFS+ or NFS-mounted partition. sort would fail to handle very large input (around 40GB) on systems with a mkstemp function that returns a file descriptor limited to 32-bit offsets. ** Bug fixes chmod would fail unnecessarily in an unusual case: when an initially- inaccessible argument is rendered accessible by chmod's action on a preceding command line argument. This bug also affects chgrp, but it is harder to demonstrate. It does not affect chown. The bug was introduced with the switch from explicit recursion to the use of fts in coreutils-5.1.0 (2003-10-15). cp -i and mv -i occasionally neglected to prompt when the copy or move action was bound to fail. This bug dates back to before fileutils-4.0. With --verbose (-v), cp and mv would sometimes generate no output, or neglect to report file removal. For the "groups" command: "groups" no longer prefixes the output with "user :" unless more than one user is specified; this is for compatibility with BSD. "groups user" now exits nonzero when it gets a write error. "groups" now processes options like --help more compatibly. shuf would infloop, given 8KB or more of piped input ** Portability Versions of chmod, chown, chgrp, du, and rm (tools that use openat etc.) compiled for Solaris 8 now also work when run on Solaris 10. * Major changes in release 6.2 (2006-09-18) [stable candidate] ** Changes in behavior mkdir -p and install -d (or -D) now use a method that forks a child process if the working directory is unreadable and a later argument uses a relative file name. This avoids some race conditions, but it means you may need to kill two processes to stop these programs. rm now rejects attempts to remove the root directory, e.g., 'rm -fr /' now fails without removing anything. Likewise for any file name with a final './' or '../' component. tail now ignores the -f option if POSIXLY_CORRECT is set, no file operand is given, and standard input is any FIFO; formerly it did this only for pipes. ** Infrastructure changes Coreutils now uses gnulib via the gnulib-tool script. If you check the source out from CVS, then follow the instructions in README-cvs. Although this represents a large change to the infrastructure, it should cause no change in how the tools work. ** Bug fixes cp --backup no longer fails when the last component of a source file name is "." or "..". "ls --color" would highlight other-writable and sticky directories no differently than regular directories on a file system with dirent.d_type support. "mv -T --verbose --backup=t A B" now prints the " (backup: B.~1~)" suffix when A and B are directories as well as when they are not. mv and "cp -r" no longer fail when invoked with two arguments where the first one names a directory and the second name ends in a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B, now succeeds, once more. This bug was introduced in coreutils-5.3.0. * Major changes in release 6.1 (2006-08-19) [unstable] ** Changes in behavior df now considers BSD "kernfs" file systems to be dummies ** New features printf now supports the 'I' flag on hosts whose underlying printf implementations support 'I', e.g., "printf %Id 2". ** Bug fixes cp --sparse preserves sparseness at the end of a file, even when the file's apparent size is not a multiple of its block size. [introduced with the original design, in fileutils-4.0r, 2000-04-29] df (with a command line argument) once again prints its header [introduced in coreutils-6.0] ls -CF would misalign columns in some cases involving non-stat'able files [introduced in coreutils-6.0] * Major changes in release 6.0 (2006-08-15) [unstable] ** Improved robustness df: if the file system claims to have more available than total blocks, report the number of used blocks as being "total - available" (a negative number) rather than as garbage. dircolors: a new autoconf run-test for AIX's buggy strndup function prevents malfunction on that system; may also affect cut, expand, and unexpand. fts no longer changes the current working directory, so its clients (chmod, chown, chgrp, du) no longer malfunction under extreme conditions. pwd and other programs using lib/getcwd.c work even on file systems where dirent.d_ino values are inconsistent with those from stat.st_ino. rm's core is now reentrant: rm --recursive (-r) now processes hierarchies without changing the working directory at all. ** Changes in behavior basename and dirname now treat // as different from / on platforms where the two are distinct. chmod, install, and mkdir now preserve a directory's set-user-ID and set-group-ID bits unless you explicitly request otherwise. E.g., 'chmod 755 DIR' and 'chmod u=rwx,go=rx DIR' now preserve DIR's set-user-ID and set-group-ID bits instead of clearing them, and similarly for 'mkdir -m 755 DIR' and 'mkdir -m u=rwx,go=rx DIR'. To clear the bits, mention them explicitly in a symbolic mode, e.g., 'mkdir -m u=rwx,go=rx,-s DIR'. To set them, mention them explicitly in either a symbolic or a numeric mode, e.g., 'mkdir -m 2755 DIR', 'mkdir -m u=rwx,go=rx,g+s' DIR. This change is for convenience on systems where these bits inherit from parents. Unfortunately other operating systems are not consistent here, and portable scripts cannot assume the bits are set, cleared, or preserved, even when the bits are explicitly mentioned. For example, OpenBSD 3.9 'mkdir -m 777 D' preserves D's setgid bit but 'chmod 777 D' clears it. Conversely, Solaris 10 'mkdir -m 777 D', 'mkdir -m g-s D', and 'chmod 0777 D' all preserve D's setgid bit, and you must use something like 'chmod g-s D' to clear it. 'cp --link --no-dereference' now works also on systems where the link system call cannot create a hard link to a symbolic link. This change has no effect on systems with a Linux-based kernel. csplit and nl now use POSIX syntax for regular expressions, not Emacs syntax. As a result, character classes like [[:print:]] and interval expressions like A\{1,9\} now have their usual meaning, . no longer matches the null character, and \ must precede the + and ? operators. date: a command like date -d '2006-04-23 21 days ago' would print the wrong date in some time zones. (see the test for an example) df changes: df now considers "none" and "proc" file systems to be dummies and therefore does not normally display them. Also, inaccessible file systems (which can be caused by shadowed mount points or by chrooted bind mounts) are now dummies, too. df now fails if it generates no output, so you can inspect the exit status of a command like "df -t ext3 -t reiserfs DIR" to test whether DIR is on a file system of type "ext3" or "reiserfs". expr no longer complains about leading ^ in a regular expression (the anchor is ignored), or about regular expressions like A** (the second "*" is ignored). expr now exits with status 2 (not 3) for errors it detects in the expression's values; exit status 3 is now used only for internal errors (such as integer overflow, which expr now checks for). install and mkdir now implement the X permission symbol correctly, e.g., 'mkdir -m a+X dir'; previously the X was ignored. install now creates parent directories with mode u=rwx,go=rx (755) instead of using the mode specified by the -m option; and it does not change the owner or group of parent directories. This is for compatibility with BSD and closes some race conditions. ln now uses different (and we hope clearer) diagnostics when it fails. ln -v now acts more like FreeBSD, so it generates output only when successful and the output is easier to parse. ls now defaults to --time-style='locale', not --time-style='posix-long-iso'. However, the 'locale' time style now behaves like 'posix-long-iso' if your locale settings appear to be messed up. This change attempts to have the default be the best of both worlds. mkfifo and mknod no longer set special mode bits (setuid, setgid, and sticky) with the -m option. nohup's usual diagnostic now more precisely specifies the I/O redirections, e.g., "ignoring input and appending output to nohup.out". Also, nohup now redirects stderr to nohup.out (or $HOME/nohup.out) if stdout is closed and stderr is a tty; this is in response to Open Group XCU ERN 71. rm --interactive now takes an optional argument, although the default of using no argument still acts like -i. rm no longer fails to remove an empty, unreadable directory seq changes: seq defaults to a minimal fixed point format that does not lose information if seq's operands are all fixed point decimal numbers. You no longer need the '-f%.f' in 'seq -f%.f 1048575 1024 1050623', for example, since the default format now has the same effect. seq now lets you use %a, %A, %E, %F, and %G formats. seq now uses long double internally rather than double. sort now reports incompatible options (e.g., -i and -n) rather than silently ignoring one of them. stat's --format=FMT option now works the way it did before 5.3.0: FMT is automatically newline terminated. The first stable release containing this change was 5.92. stat accepts the new option --printf=FMT, where FMT is *not* automatically newline terminated. stat: backslash escapes are interpreted in a format string specified via --printf=FMT, but not one specified via --format=FMT. That includes octal (\ooo, at most three octal digits), hexadecimal (\xhh, one or two hex digits), and the standard sequences (\a, \b, \f, \n, \r, \t, \v, \", \\). With no operand, 'tail -f' now silently ignores the '-f' only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set. Formerly, it ignored the '-f' when standard input was a FIFO, pipe, or socket. ** Scheduled for removal ptx's --copyright (-C) option is scheduled for removal in 2007, and now evokes a warning. Use --version instead. rm's --directory (-d) option is scheduled for removal in 2006. This option has been silently ignored since coreutils 5.0. On systems that support unlinking of directories, you can use the "unlink" command to unlink a directory. Similarly, we are considering the removal of ln's --directory (-d, -F) option in 2006. Please write to if this would cause a problem for you. On systems that support hard links to directories, you can use the "link" command to create one. ** New programs base64: base64 encoding and decoding (RFC 3548) functionality. sha224sum: print or check a SHA224 (224-bit) checksum sha256sum: print or check a SHA256 (256-bit) checksum sha384sum: print or check a SHA384 (384-bit) checksum sha512sum: print or check a SHA512 (512-bit) checksum shuf: Shuffle lines of text. ** New features chgrp now supports --preserve-root, --no-preserve-root (default), as it was documented to do, and just as chmod, chown, and rm do. New dd iflag= and oflag= flags: 'directory' causes dd to fail unless the file is a directory, on hosts that support this (e.g., Linux kernels, version 2.1.126 and later). This has limited utility but is present for completeness. 'noatime' causes dd to read a file without updating its access time, on hosts that support this (e.g., Linux kernels, version 2.6.8 and later). 'nolinks' causes dd to fail if the file has multiple hard links, on hosts that support this (e.g., Solaris 10 and later). ls accepts the new option --group-directories-first, to make it list directories before files. rm now accepts the -I (--interactive=once) option. This new option prompts once if rm is invoked recursively or if more than three files are being deleted, which is less intrusive than -i prompting for every file, but provides almost the same level of protection against mistakes. shred and sort now accept the --random-source option. sort now accepts the --random-sort (-R) option and 'R' ordering option. sort now supports obsolete usages like "sort +1 -2" unless POSIXLY_CORRECT is set. However, when conforming to POSIX 1003.1-2001 "sort +1" still sorts the file named "+1". wc accepts a new option --files0-from=FILE, where FILE contains a list of NUL-terminated file names. ** Bug fixes cat with any of the options, -A -v -e -E -T, when applied to a file in /proc or /sys (linux-specific), would truncate its output, usually printing nothing. cp -p would fail in a /proc-less chroot, on some systems When 'cp -RL' encounters the same directory more than once in the hierarchy beneath a single command-line argument, it no longer confuses them with hard-linked directories. fts-using tools (chmod, chown, chgrp, du) no longer fail due to a double-free bug -- it could be triggered by making a directory inaccessible while e.g., du is traversing the hierarchy under it. fts-using tools (chmod, chown, chgrp, du) no longer misinterpret a very long symlink chain as a dangling symlink. Before, such a misinterpretation would cause these tools not to diagnose an ELOOP error. ls --indicator-style=file-type would sometimes stat a symlink unnecessarily. ls --file-type worked like --indicator-style=slash (-p), rather than like --indicator-style=file-type. mv: moving a symlink into the place of an existing non-directory is now done atomically; before, mv would first unlink the destination. mv -T DIR EMPTY_DIR no longer fails unconditionally. Also, mv can now remove an empty destination directory: mkdir -p a b/a; mv a b rm (on systems with openat) can no longer exit before processing all command-line arguments. rm is no longer susceptible to a few low-probability memory leaks. rm -r no longer fails to remove an inaccessible and empty directory rm -r's cycle detection code can no longer be tricked into reporting a false positive (introduced in fileutils-4.1.9). shred --remove FILE no longer segfaults on Gentoo systems sort would fail for large inputs (~50MB) on systems with a buggy mkstemp function. sort and tac now use the replacement mkstemp function, and hence are no longer subject to limitations (of 26 or 32, on the maximum number of files from a given template) on HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1 and OSF1/Tru64 V4.0F&V5.1. tail -f once again works on a file with the append-only attribute (affects at least Linux ext2, ext3, xfs file systems) * Major changes in release 5.97 (2006-06-24) [stable] * Major changes in release 5.96 (2006-05-22) [stable] * Major changes in release 5.95 (2006-05-12) [stable] * Major changes in release 5.94 (2006-02-13) [stable] [see the b5_9x branch for details] * Major changes in release 5.93 (2005-11-06) [stable] ** Bug fixes dircolors no longer segfaults upon an attempt to use the new STICKY_OTHER_WRITABLE (OWT) attribute. du no longer overflows a counter when processing a file larger than 2^31-1 on some 32-bit systems (at least some AIX 5.1 configurations). md5sum once again defaults to using the ' ' non-binary marker (rather than the '*' binary marker) by default on Unix-like systems. mkdir -p and install -d no longer exit nonzero when asked to create a directory like 'nonexistent/.' rm emits a better diagnostic when (without -r) it fails to remove a directory on e.g., Solaris 9/10 systems. tac now works when stdin is a tty, even on non-Linux systems. "tail -c 2 FILE" and "touch 0101000000" now operate as POSIX 1003.1-2001 requires, even when coreutils is conforming to older POSIX standards, as the newly-required behavior is upward-compatible with the old. The documentation no longer mentions rm's --directory (-d) option. ** Build-related bug fixes installing .mo files would fail * Major changes in release 5.92 (2005-10-22) [stable] ** Bug fixes chmod now diagnoses an invalid mode string starting with an octal digit dircolors now properly quotes single-quote characters * Major changes in release 5.91 (2005-10-17) [stable candidate] ** Bug fixes "mkdir -p /a/b/c" no longer fails merely because a leading prefix directory (e.g., /a or /a/b) exists on a read-only file system. ** Removed options tail's --allow-missing option has been removed. Use --retry instead. stat's --link and -l options have been removed. Use --dereference (-L) instead. ** Deprecated options Using ls, du, or df with the --kilobytes option now evokes a warning that the long-named option is deprecated. Use '-k' instead. du's long-named --megabytes option now evokes a warning. Use -m instead. * Major changes in release 5.90 (2005-09-29) [unstable] ** Bring back support for 'head -NUM', 'tail -NUM', etc. even when conforming to POSIX 1003.1-2001. The following changes apply only when conforming to POSIX 1003.1-2001; there is no effect when conforming to older POSIX versions. The following usages now behave just as when conforming to older POSIX: date -I expand -TAB1[,TAB2,...] fold -WIDTH head -NUM join -j FIELD join -j1 FIELD join -j2 FIELD join -o FIELD_NAME1 FIELD_NAME2... nice -NUM od -w pr -S split -NUM tail -[NUM][bcl][f] [FILE] The following usages no longer work, due to the above changes: date -I TIMESPEC (use 'date -ITIMESPEC' instead) od -w WIDTH (use 'od -wWIDTH' instead) pr -S STRING (use 'pr -SSTRING' instead) A few usages still have behavior that depends on which POSIX standard is being conformed to, and portable applications should beware these problematic usages. These include: Problematic Standard-conforming replacement, depending on usage whether you prefer the behavior of: POSIX 1003.2-1992 POSIX 1003.1-2001 sort +4 sort -k 5 sort ./+4 tail +4 tail -n +4 tail ./+4 tail - f tail f [see (*) below] tail -c 4 tail -c 10 ./4 tail -c4 touch 12312359 f touch -t 12312359 f touch ./12312359 f uniq +4 uniq -s 4 uniq ./+4 (*) "tail - f" does not conform to POSIX 1003.1-2001; to read standard input and then "f", use the command "tail -- - f". These changes are in response to decisions taken in the January 2005 Austin Group standardization meeting. For more details, please see "Utility Syntax Guidelines" in the Minutes of the January 2005 Meeting . ** Binary input and output are now implemented more consistently. These changes affect only platforms like MS-DOS that distinguish between binary and text files. The following programs now always use text input/output: expand unexpand The following programs now always use binary input/output to copy data: cp install mv shred The following programs now always use binary input/output to copy data, except for stdin and stdout when it is a terminal. head tac tail tee tr (cat behaves similarly, unless one of the options -bensAE is used.) cat's --binary or -B option has been removed. It existed only on MS-DOS-like platforms, and didn't work as documented there. md5sum and sha1sum now obey the -b or --binary option, even if standard input is a terminal, and they no longer report files to be binary if they actually read them in text mode. ** Changes for better conformance to POSIX cp, ln, mv, rm changes: Leading white space is now significant in responses to yes-or-no questions. For example, if "rm" asks "remove regular file `foo'?" and you respond with " y" (i.e., space before "y"), it counts as "no". dd changes: On a QUIT or PIPE signal, dd now exits without printing statistics. On hosts lacking the INFO signal, dd no longer treats the USR1 signal as if it were INFO when POSIXLY_CORRECT is set. If the file F is non-seekable and contains fewer than N blocks, then before copying "dd seek=N of=F" now extends F with zeroed blocks until F contains N blocks. fold changes: When POSIXLY_CORRECT is set, "fold file -3" is now equivalent to "fold file ./-3", not the obviously-erroneous "fold file ./-w3". ls changes: -p now marks only directories; it is equivalent to the new option --indicator-style=slash. Use --file-type or --indicator-style=file-type to get -p's old behavior. nice changes: Documentation and diagnostics now refer to "nicenesses" (commonly in the range -20...19) rather than "nice values" (commonly 0...39). nohup changes: nohup now ignores the umask when creating nohup.out. nohup now closes stderr if it is a terminal and stdout is closed. nohup now exits with status 127 (not 1) when given an invalid option. pathchk changes: It now rejects the empty name in the normal case. That is, "pathchk -p ''" now fails, and "pathchk ''" fails unless the current host (contra POSIX) allows empty file names. The new -P option checks whether a file name component has leading "-", as suggested in interpretation "Austin-039:XCU:pathchk:pathchk -p" . It also rejects the empty name even if the current host accepts it; see . The --portability option is now equivalent to -p -P. ** Bug fixes chmod, mkdir, mkfifo, and mknod formerly mishandled rarely-used symbolic permissions like =xX and =u, and did not properly diagnose some invalid strings like g+gr, ug,+x, and +1. These bugs have been fixed. csplit could produce corrupt output, given input lines longer than 8KB dd now computes statistics using a realtime clock (if available) rather than the time-of-day clock, to avoid glitches if the time-of-day is changed while dd is running. Also, it avoids using unsafe code in signal handlers; this fixes some core dumps. expr and test now correctly compare integers of unlimited magnitude. expr now detects integer overflow when converting strings to integers, rather than silently wrapping around. ls now refuses to generate time stamps containing more than 1000 bytes, to foil potential denial-of-service attacks on hosts with very large stacks. "mkdir -m =+x dir" no longer ignores the umask when evaluating "+x", and similarly for mkfifo and mknod. "mkdir -p /tmp/a/b dir" no longer attempts to create the '.'-relative directory, dir (in /tmp/a), when, after creating /tmp/a/b, it is unable to return to its initial working directory. Similarly for "install -D file /tmp/a/b/file". "pr -D FORMAT" now accepts the same formats that "date +FORMAT" does. stat now exits nonzero if a file operand does not exist ** Improved robustness Date no longer needs to allocate virtual memory to do its job, so it can no longer fail due to an out-of-memory condition, no matter how large the result. ** Improved portability hostid now prints exactly 8 hexadecimal digits, possibly with leading zeros, and without any spurious leading "fff..." on 64-bit hosts. nice now works on Darwin 7.7.0 in spite of its invalid definition of NZERO. 'rm -r' can remove all entries in a directory even when it is on a file system for which readdir is buggy and that was not checked by coreutils' old configure-time run-test. sleep no longer fails when resumed after being suspended on linux-2.6.8.1, in spite of that kernel's buggy nanosleep implementation. ** New features chmod -w now complains if its behavior differs from what chmod a-w would do, and similarly for chmod -r, chmod -x, etc. cp and mv: the --reply=X option is deprecated date accepts the new option --rfc-3339=TIMESPEC. The old --iso-8601 (-I) option is deprecated; it still works, but new applications should avoid it. date, du, ls, and pr's time formats now support new %:z, %::z, %:::z specifiers for numeric time zone offsets like -07:00, -07:00:00, and -07. dd has new iflag= and oflag= flags "binary" and "text", which have an effect only on nonstandard platforms that distinguish text from binary I/O. dircolors now supports SETUID, SETGID, STICKY_OTHER_WRITABLE, OTHER_WRITABLE, and STICKY, with ls providing default colors for these categories if not specified by dircolors. du accepts new options: --time[=TYPE] and --time-style=STYLE join now supports a NUL field separator, e.g., "join -t '\0'". join now detects and reports incompatible options, e.g., "join -t x -t y", ls no longer outputs an extra space between the mode and the link count when none of the listed files has an ACL. md5sum --check now accepts multiple input files, and similarly for sha1sum. If stdin is a terminal, nohup now redirects it from /dev/null to prevent the command from tying up an OpenSSH session after you logout. "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" exists and "-FOO" is not a valid option. stat -f -c %S outputs the fundamental block size (used for block counts). stat -f's default output format has been changed to output this size as well. stat -f recognizes file systems of type XFS and JFS "touch -" now touches standard output, not a file named "-". uname -a no longer generates the -p and -i outputs if they are unknown. * Major changes in release 5.3.0 (2005-01-08) [unstable] ** Bug fixes Several fixes to chgrp and chown for compatibility with POSIX and BSD: Do not affect symbolic links by default. Now, operate on whatever a symbolic link points to, instead. To get the old behavior, use --no-dereference (-h). --dereference now works, even when the specified owner and/or group match those of an affected symlink. Check for incompatible options. When -R and --dereference are both used, then either -H or -L must also be used. When -R and -h are both used, then -P must be in effect. -H, -L, and -P have no effect unless -R is also specified. If -P and -R are both specified, -h is assumed. Do not optimize away the chown() system call when the file's owner and group already have the desired value. This optimization was incorrect, as it failed to update the last-changed time and reset special permission bits, as POSIX requires. "chown : file", "chown '' file", and "chgrp '' file" now succeed without changing the uid or gid, instead of reporting an error. Do not report an error if the owner or group of a recursively-encountered symbolic link cannot be updated because the file system does not support it. chmod now accepts multiple mode-like options, e.g., "chmod -r -w f". chown is no longer subject to a race condition vulnerability, when used with --from=O:G and without the (-h) --no-dereference option. cut's --output-delimiter=D option works with abutting byte ranges. dircolors's documentation now recommends that shell scripts eval "`dircolors`" rather than `dircolors`, to avoid shell expansion pitfalls. du no longer segfaults when a subdirectory of an operand directory is removed while du is traversing that subdirectory. Since the bug was in the underlying fts.c module, it also affected chown, chmod, and chgrp. du's --exclude-from=FILE and --exclude=P options now compare patterns against the entire name of each file, rather than against just the final component. echo now conforms to POSIX better. It supports the \0ooo syntax for octal escapes, and \c now terminates printing immediately. If POSIXLY_CORRECT is set and the first argument is not "-n", echo now outputs all option-like arguments instead of treating them as options. expand and unexpand now conform to POSIX better. They check for blanks (which can include characters other than space and tab in non-POSIX locales) instead of spaces and tabs. Unexpand now preserves some blanks instead of converting them to tabs or spaces. "ln x d/" now reports an error if d/x is a directory and x a file, instead of incorrectly creating a link to d/x/x. ls no longer segfaults on systems for which SIZE_MAX != (size_t) -1. md5sum and sha1sum now report an error when given so many input lines that their line counter overflows, instead of silently reporting incorrect results. Fixes for "nice": If it fails to lower the niceness due to lack of permissions, it goes ahead and runs the command anyway, as POSIX requires. It no longer incorrectly reports an error if the current niceness happens to be -1. It no longer assumes that nicenesses range from -20 through 19. It now consistently adjusts out-of-range nicenesses to the closest values in range; formerly it sometimes reported an error. pathchk no longer accepts trailing options, e.g., "pathchk -p foo -b" now treats -b as a file name to check, not as an invalid option. 'pr --columns=N' was not equivalent to 'pr -N' when also using either -s or -w. pr now supports page numbers up to 2**64 on most hosts, and it detects page number overflow instead of silently wrapping around. pr now accepts file names that begin with "+" so long as the rest of the file name does not look like a page range. printf has several changes: It now uses 'intmax_t' (not 'long int') to format integers, so it can now format 64-bit integers on most modern hosts. On modern hosts it now supports the C99-inspired %a, %A, %F conversion specs, the "'" and "0" flags, and the ll, j, t, and z length modifiers (this is compatible with recent Bash versions). The printf command now rejects invalid conversion specifications like %#d, instead of relying on undefined behavior in the underlying printf function. ptx now diagnoses invalid values for its --width=N (-w) and --gap-size=N (-g) options. mv (when moving between partitions) no longer fails when operating on too many command-line-specified nonempty directories. "readlink -f" is more compatible with prior implementations rm (without -f) no longer hangs when attempting to remove a symlink to a file on an off-line NFS-mounted partition. rm no longer gets a failed assertion under some unusual conditions. rm no longer requires read access to the current directory. "rm -r" would mistakenly fail to remove files under a directory for some types of errors (e.g., read-only file system, I/O error) when first encountering the directory. "sort" fixes: "sort -o -" now writes to a file named "-" instead of to standard output; POSIX requires this. An unlikely race condition has been fixed where "sort" could have mistakenly removed a temporary file belonging to some other process. "sort" no longer has O(N**2) behavior when it creates many temporary files. tac can now handle regular, nonseekable files like Linux's /proc/modules. Before, it would produce no output for such a file. tac would exit immediately upon I/O or temp-file creation failure. Now it continues on, processing any remaining command line arguments. "tail -f" no longer mishandles pipes and fifos. With no operands, tail now ignores -f if standard input is a pipe, as POSIX requires. When conforming to POSIX 1003.2-1992, tail now supports the SUSv2 b modifier (e.g., "tail -10b file") and it handles some obscure cases more correctly, e.g., "tail +cl" now reads the file "+cl" rather than reporting an error, "tail -c file" no longer reports an error, and "tail - file" no longer reads standard input. tee now exits when it gets a SIGPIPE signal, as POSIX requires. To get tee's old behavior, use the shell command "(trap '' PIPE; tee)". Also, "tee -" now writes to standard output instead of to a file named "-". "touch -- MMDDhhmm[yy] file" is now equivalent to "touch MMDDhhmm[yy] file" even when conforming to pre-2001 POSIX. tr no longer mishandles a second operand with leading "-". who now prints user names in full instead of truncating them after 8 bytes. The following commands now reject unknown options instead of accepting them as operands, so that users are properly warned that options may be added later. Formerly they accepted unknown options as operands; e.g., "basename -a a" acted like "basename -- -a a". basename dirname factor hostname link nohup sync unlink yes ** New features For efficiency, 'sort -m' no longer copies input to a temporary file merely because the input happens to come from a pipe. As a result, some relatively-contrived examples like 'cat F | sort -m -o F - G' are no longer safe, as 'sort' might start writing F before 'cat' is done reading it. This problem cannot occur unless '-m' is used. When outside the default POSIX locale, the 'who' and 'pinky' commands now output time stamps like "2004-06-21 13:09" instead of the traditional "Jun 21 13:09". pwd now works even when run from a working directory whose name is longer than PATH_MAX. cp, install, ln, and mv have a new --no-target-directory (-T) option, and -t is now a short name for their --target-directory option. cp -pu and mv -u (when copying) now don't bother to update the destination if the resulting time stamp would be no newer than the preexisting time stamp. This saves work in the common case when copying or moving multiple times to the same destination in a file system with a coarse time stamp resolution. cut accepts a new option, --complement, to complement the set of selected bytes, characters, or fields. dd now also prints the number of bytes transferred, the time, and the transfer rate. The new "status=noxfer" operand suppresses this change. dd has new conversions for the conv= option: nocreat do not create the output file excl fail if the output file already exists fdatasync physically write output file data before finishing fsync likewise, but also write metadata dd has new iflag= and oflag= options with the following flags: append append mode (makes sense for output file only) direct use direct I/O for data dsync use synchronized I/O for data sync likewise, but also for metadata nonblock use non-blocking I/O nofollow do not follow symlinks noctty do not assign controlling terminal from file stty now provides support (iutf8) for setting UTF-8 input mode. With stat, a specified format is no longer automatically newline terminated. If you want a newline at the end of your output, append '\n' to the format string. 'df', 'du', and 'ls' now take the default block size from the BLOCKSIZE environment variable if the BLOCK_SIZE, DF_BLOCK_SIZE, DU_BLOCK_SIZE, and LS_BLOCK_SIZE environment variables are not set. Unlike the other variables, though, BLOCKSIZE does not affect values like 'ls -l' sizes that are normally displayed as bytes. This new behavior is for compatibility with BSD. du accepts a new option --files0-from=FILE, where FILE contains a list of NUL-terminated file names. Date syntax as used by date -d, date -f, and touch -d has been changed as follows: Dates like 'January 32' with out-of-range components are now rejected. Dates can have fractional time stamps like 2004-02-27 14:19:13.489392193. Dates can be entered via integer counts of seconds since 1970 when prefixed by '@'. For example, '@321' represents 1970-01-01 00:05:21 UTC. Time zone corrections can now separate hours and minutes with a colon, and can follow standard abbreviations like "UTC". For example, "UTC +0530" and "+05:30" are supported, and are both equivalent to "+0530". Date values can now have leading TZ="..." assignments that override the environment only while that date is being processed. For example, the following shell command converts from Paris to New York time: TZ="America/New_York" date --date='TZ="Europe/Paris" 2004-10-31 06:30' 'date' has a new option --iso-8601=ns that outputs nanosecond-resolution time stamps. echo -e '\xHH' now outputs a byte whose hexadecimal value is HH, for compatibility with bash. ls now exits with status 1 on minor problems, 2 if serious trouble. ls has a new --hide=PATTERN option that behaves like --ignore=PATTERN, except that it is overridden by -a or -A. This can be useful for aliases, e.g., if lh is an alias for "ls --hide='*~'", then "lh -A" lists the file "README~". In the following cases POSIX allows the default GNU behavior, so when POSIXLY_CORRECT is set: false, printf, true, unlink, and yes all support --help and --option. ls supports TABSIZE. pr no longer depends on LC_TIME for the date format in non-POSIX locales. printf supports \u, \U, \x. tail supports two or more files when using the obsolete option syntax. The usual '--' operand is now supported by chroot, hostid, hostname, pwd, sync, and yes. 'od' now conforms to POSIX better, and is more compatible with BSD: The older syntax "od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]" now works even without --traditional. This is a change in behavior if there are one or two operands and the last one begins with +, or if there are two operands and the latter one begins with a digit. For example, "od foo 10" and "od +10" now treat the last operand as an offset, not as a file name. -h is no longer documented, and may be withdrawn in future versions. Use -x or -t x2 instead. -i is now equivalent to -t dI (not -t d2), and -l is now equivalent to -t dL (not -t d4). -s is now equivalent to -t d2. The old "-s[NUM]" or "-s NUM" option has been renamed to "-S NUM". The default output format is now -t oS, not -t o2, i.e., short int rather than two-byte int. This makes a difference only on hosts like Cray systems where the C short int type requires more than two bytes. readlink accepts new options: --canonicalize-existing (-e) and --canonicalize-missing (-m). The stat option --filesystem has been renamed to --file-system, for consistency with POSIX "file system" and with cp and du --one-file-system. ** Removed features md5sum and sha1sum's undocumented --string option has been removed. tail's undocumented --max-consecutive-size-changes option has been removed. * Major changes in release 5.2.1 (2004-03-12) [stable] ** Bug fixes mv could mistakenly fail to preserve hard links when moving two or more arguments between partitions. 'cp --sparse=always F /dev/hdx' no longer tries to use lseek to create holes in the destination. nohup now sets the close-on-exec flag for its copy of the stderr file descriptor. This avoids some nohup-induced hangs. For example, before this change, if you ran 'ssh localhost', then 'nohup sleep 600 /dev/null takes about one hour on a 1.6 GHz Athlon 2000 XP. Now it can output 2^53-1 numbers before misbehaving. * Major changes in release 5.1.2 (2004-01-25): ** Bug fixes rmdir -p exits with status 1 on error; formerly it sometimes exited with status 0 when given more than one argument. nohup now always exits with status 127 when it finds an error, as POSIX requires; formerly it sometimes exited with status 1. Several programs (including cut, date, dd, env, hostname, nl, pr, stty, and tr) now always exit with status 1 when they find an error; formerly they sometimes exited with status 2. factor no longer reports a usage error if stdin has the wrong format. paste no longer infloops on ppc systems (bug introduced in 5.1.1) * Major changes in release 5.1.1 (2004-01-17): ** Configuration option You can select the default level of POSIX conformance at configure-time, e.g., by ./configure DEFAULT_POSIX2_VERSION=199209 ** Bug fixes fold -s works once again on systems with differing sizes for int and size_t (bug introduced in 5.1.0) ** New features touch -r now specifies the origin for any relative times in the -d operand, if both options are given. For example, "touch -r FOO -d '-5 seconds' BAR" sets BAR's modification time to be five seconds before FOO's. join: The obsolete options "-j1 FIELD", "-j2 FIELD", and "-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems. Portable scripts should use "-1 FIELD", "-2 FIELD", and "-o LIST1,LIST2..." respectively. If join was compiled on a POSIX 1003.1-2001 system, you may enable the old behavior by setting _POSIX2_VERSION=199209 in your environment. [This change was reverted in coreutils 5.3.1.] * Major changes in release 5.1.0 (2003-12-21): ** New features chgrp, chmod, and chown can now process (with -R) hierarchies of virtually unlimited depth. Before, they would fail to operate on any file they encountered with a relative name of length PATH_MAX (often 4096) or longer. chgrp, chmod, chown, and rm accept the new options: --preserve-root, --no-preserve-root (default) chgrp and chown now accept POSIX-mandated -L, -H, and -P options du can now process hierarchies of virtually unlimited depth. Before, du was limited by the user's stack size and it would get a stack overflow error (often a segmentation fault) when applied to a hierarchy of depth around 30,000 or larger. du works even when run from an inaccessible directory du -D now dereferences all symlinks specified on the command line, not just the ones that reference directories du now accepts -P (--no-dereference), for compatibility with du of NetBSD and for consistency with e.g., chown and chgrp du's -H option will soon have the meaning required by POSIX (--dereference-args, aka -D) rather then the current meaning of --si. Now, using -H elicits a warning to that effect. When given -l and similar options, ls now adjusts the output column widths to fit the data, so that output lines are shorter and have columns that line up better. This may adversely affect shell scripts that expect fixed-width columns, but such shell scripts were not portable anyway, even with old GNU ls where the columns became ragged when a datum was too wide. du accepts a new option, -0/--null, to make it produce NUL-terminated output lines ** Bug fixes printf, seq, tail, and sleep now parse floating-point operands and options in the C locale. POSIX requires this for printf. od -c -w9999999 no longer segfaults csplit no longer reads from freed memory (dumping core on some systems) csplit would mistakenly exhaust virtual memory in some cases ls --width=N (for very large N) is no longer subject to an address arithmetic bug that could result in bounds violations. ls --width=N (with -x or -C) no longer allocates more space (potentially much more) than necessary for a given directory. dd 'unblock' and 'sync' may now be combined (e.g., dd conv=unblock,sync) * Major changes in release 5.0.91 (2003-09-08): ** New features date accepts a new option --rfc-2822, an alias for --rfc-822. split accepts a new option -d or --numeric-suffixes. cp, install, mv, and touch now preserve microsecond resolution on file timestamps, on platforms that have the 'utimes' system call. Unfortunately there is no system call yet to preserve file timestamps to their full nanosecond resolution; microsecond resolution is the best we can do right now. sort now supports the zero byte (NUL) as a field separator; use -t '\0'. The -t '' option, which formerly had no effect, is now an error. sort option order no longer matters for the options -S, -d, -i, -o, and -t. Stronger options override weaker, and incompatible options are diagnosed. 'sha1sum --check' now accepts the BSD format for SHA1 message digests in addition to the BSD format for MD5 ones. who -l now means 'who --login', not 'who --lookup', per POSIX. who's -l option has been eliciting an unconditional warning about this impending change since sh-utils-2.0.12 (April 2002). ** Bug fixes Mistakenly renaming a file onto itself, e.g., via 'mv B b' when 'B' is the same directory entry as 'b' no longer destroys the directory entry referenced by both 'b' and 'B'. Note that this would happen only on file systems like VFAT where two different names may refer to the same directory entry, usually due to lower->upper case mapping of file names. Now, the above can happen only on file systems that perform name mapping and that support hard links (stat.st_nlink > 1). This mitigates the problem in two ways: few file systems appear to be affected (hpfs and ntfs are), when the bug is triggered, mv no longer removes the last hard link to a file. *** ATTENTION ***: if you know how to distinguish the following two cases without writing to the file system in question, please let me know: 1) B and b refer to the same directory entry on a file system like NTFS (B may well have a link count larger than 1) 2) B and b are hard links to the same file stat no longer overruns a buffer for format strings ending in '%' fold -s -wN would infloop for N < 8 with TABs in the input. E.g., this would not terminate: printf 'a\t' | fold -w2 -s 'split -a0', although of questionable utility, is accepted once again. 'df DIR' used to hang under some conditions on OSF/1 5.1. Now it doesn't. seq's --width (-w) option now works properly even when the endpoint requiring the larger width is negative and smaller than the other endpoint. seq's default step is 1, even if LAST < FIRST. paste no longer mistakenly outputs 0xFF bytes for a nonempty input file without a trailing newline. 'tail -n0 -f FILE' and 'tail -c0 -f FILE' no longer perform what amounted to a busy wait, rather than sleeping between iterations. tail's long-undocumented --allow-missing option now elicits a warning * Major changes in release 5.0.90 (2003-07-29): ** New features sort is now up to 30% more CPU-efficient in some cases 'test' is now more compatible with Bash and POSIX: 'test -t', 'test --help', and 'test --version' now silently exit with status 0. To test whether standard output is a terminal, use 'test -t 1'. To get help and version info for 'test', use '[ --help' and '[ --version'. 'test' now exits with status 2 (not 1) if there is an error. wc count field widths now are heuristically adjusted depending on the input size, if known. If only one count is printed, it is guaranteed to be printed without leading spaces. Previously, wc did not align the count fields if POSIXLY_CORRECT was set, but POSIX did not actually require this undesirable behavior, so it has been removed. ** Bug fixes kill no longer tries to operate on argv[0] (introduced in 5.0.1) Why wasn't this noticed? Although many tests use kill, none of them made an effort to avoid using the shell's built-in kill. '[' invoked with no arguments no longer evokes a segfault rm without --recursive (aka -r or -R) no longer prompts regarding unwritable directories, as required by POSIX. uniq -c now uses a SPACE, not a TAB between the count and the corresponding line, as required by POSIX. expr now exits with status 2 if the expression is syntactically valid, and with status 3 if an error occurred. POSIX requires this. expr now reports trouble if string comparison fails due to a collation error. split now generates suffixes properly on EBCDIC hosts. split -a0 now works, as POSIX requires. 'sort --version' and 'sort --help' fail, as they should when their output is redirected to /dev/full. 'su --version > /dev/full' now fails, as it should. ** Fewer arbitrary limitations cut requires 97% less memory when very large field numbers or byte offsets are specified. * Major changes in release 5.0.1 (2003-07-15): ** New programs - new program: '[' (much like 'test') ** New features - head now accepts --lines=-N (--bytes=-N) to print all but the N lines (bytes) at the end of the file - md5sum --check now accepts the output of the BSD md5sum program, e.g., MD5 (f) = d41d8cd98f00b204e9800998ecf8427e - date -d DATE can now parse a DATE string like May-23-2003 - chown: '.' is no longer recognized as a separator in the OWNER:GROUP specifier on POSIX 1003.1-2001 systems. If chown *was not* compiled on such a system, then it still accepts '.', by default. If chown was compiled on a POSIX 1003.1-2001 system, then you may enable the old behavior by setting _POSIX2_VERSION=199209 in your environment. - chown no longer tries to preserve set-user-ID and set-group-ID bits; on some systems, the chown syscall resets those bits, and previous versions of the chown command would call chmod to restore the original, pre-chown(2) settings, but that behavior is problematic. 1) There was a window whereby a malicious user, M, could subvert a chown command run by some other user and operating on files in a directory where M has write access. 2) Before (and even now, on systems with chown(2) that doesn't reset those bits), an unwary admin. could use chown unwittingly to create e.g., a set-user-ID root copy of /bin/sh. ** Bug fixes - chown --dereference no longer leaks a file descriptor per symlink processed - 'du /' once again prints the '/' on the last line - split's --verbose option works once again [broken in 4.5.10 and 5.0] - tail -f is no longer subject to a race condition that could make it delay displaying the last part of a file that had stopped growing. That bug could also make tail -f give an unwarranted 'file truncated' warning. - du no longer runs out of file descriptors unnecessarily - df and 'readlink --canonicalize' no longer corrupt the heap on non-glibc, non-solaris systems - 'env -u UNSET_VARIABLE' no longer dumps core on non-glibc systems - readlink's --canonicalize option now works on systems like Solaris that lack the canonicalize_file_name function but do have resolvepath. - mv now removes 'a' in this example on all systems: touch a; ln a b; mv a b This behavior is contrary to POSIX (which requires that the mv command do nothing and exit successfully), but I suspect POSIX will change. - date's %r format directive now honors locale settings - date's '-' (no-pad) format flag now affects the space-padded-by-default conversion specifiers, %e, %k, %l - fmt now diagnoses invalid obsolescent width specifications like '-72x' - fmt now exits nonzero when unable to open an input file - tsort now fails when given an odd number of input tokens, as required by POSIX. Before, it would act as if the final token appeared one additional time. ** Fewer arbitrary limitations - tail's byte and line counts are no longer limited to OFF_T_MAX. Now the limit is UINTMAX_MAX (usually 2^64). - split can now handle --bytes=N and --lines=N with N=2^31 or more. ** Portability - 'kill -t' now prints signal descriptions (rather than '?') on systems like Tru64 with __sys_siglist but no strsignal function. - stat.c now compiles on Ultrix systems - sleep now works on AIX systems that lack support for clock_gettime - rm now works around Darwin6.5's broken readdir function Before 'rm -rf DIR' would fail to remove all files in DIR if there were more than 338. * Major changes in release 5.0 (2003-04-02): - false --help now exits nonzero [4.5.12] * printf no longer treats \x specially when POSIXLY_CORRECT is set * printf avoids buffer overrun with format ending in a backslash and * printf avoids buffer overrun with incomplete conversion specifier * printf accepts multiple flags in a single conversion specifier [4.5.11] * seq no longer requires that a field width be specified * seq no longer fails when given a field width of '0' * seq now accepts " " and "'" as valid format flag characters * df now shows a HOSTNAME: prefix for each remote-mounted file system on AIX 5.1 * portability tweaks for HP-UX, AIX 5.1, DJGPP [4.5.10] * printf no longer segfaults for a negative field width or precision * shred now always enables --exact for non-regular files * du no longer lists hard-linked files more than once * du no longer dumps core on some systems due to "infinite" recursion via nftw's use of the buggy replacement function in getcwd.c * portability patches for a few vendor compilers and 64-bit systems * du -S *really* now works like it did before the change in 4.5.5 [4.5.9] * du no longer truncates file sizes or sums to fit in 32-bit size_t * work around Linux kernel bug in getcwd (fixed in 2.4.21-pre4), so that pwd now fails if the name of the working directory is so long that getcwd truncates it. Before it would print the truncated name and exit successfully. * 'df /some/mount-point' no longer hangs on a GNU libc system when another hard-mounted NFS file system (preceding /some/mount-point in /proc/mounts) is inaccessible. * rm -rf now gives an accurate diagnostic when failing to remove a file under certain unusual conditions * mv and 'cp --preserve=links' now preserve multiple hard links even under certain unusual conditions where they used to fail [4.5.8] * du -S once again works like it did before the change in 4.5.5 * stat accepts a new file format, %B, for the size of each block reported by %b * du accepts new option: --apparent-size * du --bytes (-b) works the same way it did in fileutils-3.16 and before * du reports proper sizes for directories (not zero) (broken in 4.5.6 or 4.5.7) * df now always displays under 'Filesystem', the device file name corresponding to the listed mount point. Before, for a block- or character- special file command line argument, df would display that argument. E.g., 'df /dev/hda' would list '/dev/hda' as the 'Filesystem', rather than say /dev/hda3 (the device on which '/' is mounted), as it does now. * test now works properly when invoked from a set user ID or set group ID context and when testing access to files subject to alternate protection mechanisms. For example, without this change, a set-UID program that invoked 'test -w F' (to see if F is writable) could mistakenly report that it *was* writable, even though F was on a read-only file system, or F had an ACL prohibiting write access, or F was marked as immutable. [4.5.7] * du would fail with more than one DIR argument when any but the last did not contain a slash (due to a bug in ftw.c) [4.5.6] * du no longer segfaults on Solaris systems (fixed heap-corrupting bug in ftw.c) * du --exclude=FILE works once again (this was broken by the rewrite for 4.5.5) * du no longer gets a failed assertion for certain hierarchy lay-outs involving hard-linked directories * 'who -r' no longer segfaults when using non-C-locale messages * df now displays a mount point (usually '/') for non-mounted character-special and block files [4.5.5] * ls --dired produces correct byte offset for file names containing nonprintable characters in a multibyte locale * du has been rewritten to use a variant of GNU libc's ftw.c * du now counts the space associated with a directory's directory entry, even if it cannot list or chdir into that subdirectory. * du -S now includes the st_size of each entry corresponding to a subdirectory * rm on FreeBSD can once again remove directories from NFS-mounted file systems * ls has a new option --dereference-command-line-symlink-to-dir, which corresponds to the new default behavior when none of -d, -l -F, -H, -L has been specified. * ls dangling-symlink now prints 'dangling-symlink'. Before, it would fail with 'no such file or directory'. * ls -s symlink-to-non-dir and ls -i symlink-to-non-dir now print attributes of 'symlink', rather than attributes of their referents. * Fix a bug introduced in 4.5.4 that made it so that ls --color would no longer highlight the names of files with the execute bit set when not specified on the command line. * shred's --zero (-z) option no longer gobbles up any following argument. Before, 'shred --zero file' would produce 'shred: missing file argument', and worse, 'shred --zero f1 f2 ...' would appear to work, but would leave the first file untouched. * readlink: new program * cut: new feature: when used to select ranges of byte offsets (as opposed to ranges of fields) and when --output-delimiter=STRING is specified, output STRING between ranges of selected bytes. * rm -r can no longer be tricked into mistakenly reporting a cycle. * when rm detects a directory cycle, it no longer aborts the entire command, but rather merely stops processing the affected command line argument. [4.5.4] * cp no longer fails to parse options like this: --preserve=mode,ownership * 'ls --color -F symlink-to-dir' works properly * ls is much more efficient on directories with valid dirent.d_type. * stty supports all baud rates defined in linux-2.4.19. * 'du symlink-to-dir/' would improperly remove the trailing slash * 'du ""' would evoke a bounds violation. * In the unlikely event that running 'du /' resulted in 'stat ("/", ...)' failing, du would give a diagnostic about '' (empty string) rather than '/'. * printf: a hexadecimal escape sequence has at most two hex. digits, not three. * The following features have been added to the --block-size option and similar environment variables of df, du, and ls. - A leading "'" generates numbers with thousands separators. For example: $ ls -l --block-size="'1" file -rw-rw-r-- 1 eggert src 47,483,707 Sep 24 23:40 file - A size suffix without a leading integer generates a suffix in the output. For example: $ ls -l --block-size="K" -rw-rw-r-- 1 eggert src 46371K Sep 24 23:40 file * ls's --block-size option now affects file sizes in all cases, not just for --block-size=human-readable and --block-size=si. Fractional sizes are now always rounded up, for consistency with df and du. * df now displays the block size using powers of 1000 if the requested block size seems to be a multiple of a power of 1000. * nl no longer gets a segfault when run like this 'yes|nl -s%n' [4.5.3] * du --dereference-args (-D) no longer fails in certain cases * 'ln --target-dir=DIR' no longer fails when given a single argument [4.5.2] * 'rm -i dir' (without --recursive (-r)) no longer recurses into dir * 'tail -c N FILE' now works with files of size >= 4GB * 'mkdir -p' can now create very deep (e.g. 40,000-component) directories * rmdir -p dir-with-trailing-slash/ no longer fails * printf now honors the '--' command line delimiter * od's 8-byte formats x8, o8, and u8 now work * tail now accepts fractional seconds for its --sleep-interval=S (-s) option [4.5.1] * du and ls now report sizes of symbolic links (before they'd always report 0) * uniq now obeys the LC_COLLATE locale, as per POSIX 1003.1-2001 TC1. ======================================================================== Here are the NEWS entries made from fileutils-4.1 until the point at which the packages merged to form the coreutils: [4.1.11] * 'rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10] [4.1.10] * rm once again gives a reasonable diagnostic when failing to remove a file owned by someone else in a sticky directory [introduced in 4.1.9] * df now rounds all quantities up, as per POSIX. * New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. * Any time style can be preceded by "posix-"; this causes "ls" to use traditional timestamp format when in the POSIX locale. * The default time style is now posix-long-iso instead of posix-iso. Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 through 4.1.9. * 'rm dangling-symlink' doesn't prompt [introduced in 4.1.9] * stat: remove support for --secure/-s option and related %S and %C format specs * stat: rename --link/-l to --dereference/-L. The old options will continue to work for a while. [4.1.9] * rm can now remove very deep hierarchies, in spite of any limit on stack size * new programs: link, unlink, and stat * New ls option: --author (for the Hurd). * 'touch -c no-such-file' no longer fails, per POSIX [4.1.8] * mv no longer mistakenly creates links to preexisting destination files that aren't moved [4.1.7] * rm: close a hole that would allow a running rm process to be subverted [4.1.6] * New cp option: --copy-contents. * cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the traditional (and rarely desirable) cp -r behavior. * ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format * The obsolete usage 'touch [-acm] MMDDhhmm[YY] FILE...' is no longer supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead. * cp and inter-partition mv no longer give a misleading diagnostic in some unusual cases [4.1.5] * cp -r no longer preserves symlinks * The block size notation is now compatible with SI and with IEC 60027-2. For example, --block-size=1MB now means --block-size=1000000, whereas --block-size=1MiB now means --block-size=1048576. A missing 'B' (e.g. '1M') has the same meaning as before. A trailing 'B' now means decimal, not binary; this is a silent change. The nonstandard 'D' suffix (e.g. '1MD') is now obsolescent. * -H or --si now outputs the trailing 'B', for consistency with the above. * Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2. * New df, du short option -B is short for --block-size. * You can omit an integer '1' before a block size suffix, e.g. 'df -BG' is equivalent to 'df -B 1G' and to 'df --block-size=1G'. * The following options are now obsolescent, as their names are incompatible with IEC 60027-2: df, du: -m or --megabytes (use -BM or --block-size=1M) df, du, ls: --kilobytes (use --block-size=1K) [4.1.4] * df --local no longer lists smbfs file systems whose name starts with // * dd now detects the Linux/tape/lseek bug at run time and warns about it. [4.1.3] * ls -R once again outputs a blank line between per-directory groups of files. This was broken by the cycle-detection change in 4.1.1. * dd once again uses 'lseek' on character devices like /dev/mem and /dev/kmem. On systems with the linux kernel (at least up to 2.4.16), dd must still resort to emulating 'skip=N' behavior using reads on tape devices, because lseek has no effect, yet appears to succeed. This may be a kernel bug. [4.1.2] * cp no longer fails when two or more source files are the same; now it just gives a warning and doesn't copy the file the second time. E.g., cp a a d/ produces this: cp: warning: source file `a' specified more than once * chmod would set the wrong bit when given symbolic mode strings like these: g=o, o=g, o=u. E.g., 'chmod a=,o=w,ug=o f' would give a mode of --w-r---w- rather than --w--w--w-. [4.1.1] * mv (likewise for cp), now fails rather than silently clobbering one of the source files in the following example: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c * ls -R detects directory cycles, per POSIX. It warns and doesn't infloop. * cp's -P option now means the same as --no-dereference, per POSIX. Use --parents to get the old meaning. * When copying with the -H and -L options, cp can preserve logical links between source files with --preserve=links * cp accepts new options: --preserve[={mode,ownership,timestamps,links,all}] --no-preserve={mode,ownership,timestamps,links,all} * cp's -p and --preserve options remain unchanged and are equivalent to '--preserve=mode,ownership,timestamps' * mv and cp accept a new option: --reply={yes,no,query}; provides a consistent mechanism to control whether one is prompted about certain existing destination files. Note that cp's and mv's -f options don't have the same meaning: cp's -f option no longer merely turns off '-i'. * remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for 64-bit systems) * mv now prompts before overwriting an existing, unwritable destination file when stdin is a tty, unless --force (-f) is specified, as per POSIX. * mv: fix the bug whereby 'mv -uf source dest' would delete source, even though it's older than dest. * chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works * cp now ensures that the set-user-ID and set-group-ID bits are cleared for the destination file when when copying and not preserving permissions. * 'ln -f --backup k k' gives a clearer diagnostic * ls no longer truncates user names or group names that are longer than 8 characters. * ls's new --dereference-command-line option causes it to dereference symbolic links on the command-line only. It is the default unless one of the -d, -F, or -l options are given. * ls -H now means the same as ls --dereference-command-line, as per POSIX. * ls -g now acts like ls -l, except it does not display owner, as per POSIX. * ls -n now implies -l, as per POSIX. * ls can now display dates and times in one of four time styles: - The 'full-iso' time style gives full ISO-style time stamps like '2001-05-14 23:45:56.477817180 -0700'. - The 'iso' time style gives ISO-style time stamps like '2001-05-14 ' and '05-14 23:45'. - The 'locale' time style gives locale-dependent time stamps like 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale). - The 'posix-iso' time style gives traditional POSIX-locale time stamps like 'May 14 2001' and 'May 14 23:45' unless the user specifies a non-POSIX locale, in which case it uses ISO-style dates. This is the default. You can specify a time style with an option like --time-style='iso' or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21 and later can parse ISO dates, but older Emacs versions cannot, so if you are using an older version of Emacs outside the default POSIX locale, you may need to set TIME_STYLE="locale". * --full-time is now an alias for "-l --time-style=full-iso". ======================================================================== Here are the NEWS entries made from sh-utils-2.0 until the point at which the packages merged to form the coreutils: [2.0.15] * date no longer accepts e.g., September 31 in the MMDDhhmm syntax * fix a bug in this package's .m4 files and in configure.ac [2.0.14] * nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001: - nohup no longer adjusts scheduling priority; use "nice" for that. - nohup now redirects stderr to stdout, if stderr is not a terminal. - nohup exit status is now 126 if command was found but not invoked, 127 if nohup failed or if command was not found. [2.0.13] * uname and uptime work better on *BSD systems * pathchk now exits nonzero for a path with a directory component that specifies a non-directory [2.0.12] * kill: new program * who accepts new options: --all (-a), --boot (-b), --dead (-d), --login, --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u). The -u option now produces POSIX-specified results and is the same as the long option '--users'. --idle is no longer the same as -u. * The following changes apply on systems conforming to POSIX 1003.1-2001: - 'date -I' is no longer supported. Instead, use 'date --iso-8601'. - 'nice -NUM' is no longer supported. Instead, use 'nice -n NUM'. [This change was reverted in coreutils 5.3.1.] * New 'uname' options -i or --hardware-platform, and -o or --operating-system. 'uname -a' now outputs -i and -o information at the end. New uname option --kernel-version is an alias for -v. Uname option --release has been renamed to --kernel-release, and --sysname has been renamed to --kernel-name; the old options will work for a while, but are no longer documented. * 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX. * 'expr' now requires '+' rather than 'quote' to quote tokens; this removes an incompatibility with POSIX. * date -d 'last friday' would print a date/time that was one hour off (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) when run such that the current time and the target date/time fall on opposite sides of a daylight savings time transition. This problem arose only with relative date strings like 'last monday'. It was not a problem with strings that include absolute dates. * factor is twice as fast, for large numbers [2.0.11] * setting the date now works properly, even when using -u * 'date -f - < /dev/null' no longer dumps core * some DOS/Windows portability changes [2.0j] * 'date -d DATE' now parses certain relative DATEs correctly [2.0i] * fixed a bug introduced in 2.0h that made many programs fail with a 'write error' when invoked with the --version option [2.0h] * all programs fail when printing --help or --version output to a full device * printf exits nonzero upon write failure * yes now detects and terminates upon write failure * date --rfc-822 now always emits day and month names from the 'C' locale * portability tweaks for Solaris8, Ultrix, and DOS [2.0g] * date now handles two-digit years with leading zeros correctly. * printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the required support; from Bruno Haible. * stty's rprnt attribute now works on HPUX 10.20 * seq's --equal-width option works more portably [2.0f] * fix build problems with ut_name vs. ut_user [2.0e] * stty: fix long-standing bug that caused test failures on at least HPUX systems when COLUMNS was set to zero * still more portability fixes * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [2.0d] * fix portability problem with sleep vs lib/strtod.c's requirement for -lm [2.0c] * fix portability problems with nanosleep.c and with the new code in sleep.c [2.0b] * Regenerate lib/Makefile.in so that nanosleep.c is distributed. [2.0a] * sleep accepts floating point arguments on command line * sleep's clock continues counting down when sleep is suspended * when a suspended sleep process is resumed, it continues sleeping if there is any time remaining * who once again prints whatever host information it has, even without --lookup ======================================================================== For older NEWS entries for the fileutils, textutils, and sh-utils packages, see ./old/*/NEWS. This package began as the union of the following: textutils-2.1, fileutils-4.1.11, sh-utils-2.0.15. ======================================================================== Copyright (C) 2001-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the "GNU Free Documentation License" file as part of this distribution. coreutils-8.21/ChangeLog0000664000000000000000000347132512107207542012137 000000000000002013-02-14 Pádraig Brady version 8.21 * NEWS: Record release date. tests: avoid non portable sed use of \t * tests/du/threshold.sh: use `cut` rather than sed to avoid using the non portable \t which fails on sed on openbsd 5 at least. Also remove a redundant call to `tr` and avoid explicit setting of LANG=C which is done globally. 2013-02-14 Pádraig Brady build: avoid link failure in devmsg() on older linkers On linkers that don't remove unused functions, there will be a reference to a missing dev_debug symbol in the devmsg() function. So for now ... * src/system.h: ... move devmsg() from here ... * src/numfmt.c: ... to here, and document future cleanup. * src/factor.c: Likewise. 2013-02-13 Assaf Gordon numfmt: fix strtol() return code handling src/numfmt.c (parse_format_string): On some systems, strtol() returns EINVAL if no conversion was performed. So only handle ERANGE here, and handle other format errors directly. 2013-02-11 Bernhard Voelker maint: avoid running check-root tests in gnulib * tests/local.mk (check-root): Restrict to SUBDIRS=. as traversing into gnulib-tests induces a false failure. 2013-02-11 Pádraig Brady doc: improve the numfmt man page format * src/numfmt.c (usage): Keep a single space between the "K = 1000", so that it's not displayed on a separate line. Also place ',' between each unit entry to improve readability. 2013-02-10 Benno Schulenberg doc: standardize helptext of numfmt and slice into single options * src/numfmt.c (usage): Correct synopsis and make command description clearer. Start option descriptions with lowercase letter; use semicolon instead of period where needed; indent continuation lines; gettextize single options for ease of translation and maintenance; sort options alphabetically. * doc/coreutils.texi (numfmt invocation): Sort numfmt options alphabetically. Enforce double-blank-after-period style. This addresses http://bugs.gnu.org/13681. Improved-by: Bernhard Voelker 2013-02-10 Pádraig Brady maint: consolidate developer debug messages Both factor and numfmt recently introduced debug messages for developers, enabled by --verbose and ---devdebug respectively. There were a few issues though: 1. They used different mechanisms to enable these messages. 2. factor used --verbose which might be needed for something else 3. They used different methods to output the messages, and numfmt used error() which added an unwanted newline 4. numfmt marked all these messages for translation and factor marked a couple. We really don't need these translated. So we fix the above issues here while renaming the enabling option for both commands to ---debug (still undocumented). * src/factor.c (verbose): Rename to dev_debug and change from int to bool as it's just a toggle flag. (long_options): Rename --verbose to ---debug. * src/system.h (devmsg): A new inline function to output a message if enabled by a global dev_debug variable in the compilation unit. * src/numfmt.c: Use devmsg() rather than error(). Also remove the translation tags from these messages. Also change debug flag to bool from int. * tests/misc/numfmt.pl: Adjust for the ---devdebug to ---debug change. * cfg.mk (sc_marked_devdiagnostics): Add a syntax check to ensure translations are not added to devmsg calls. Reported by Göran Uddeborg in http://bugs.gnu.org/13665 2013-02-10 Pádraig Brady tests: tail-2/inotify-rotate: fix a false failure on NFS * tests/tail-2/inotify-rotate.sh: Avoid a subshell with bash, which in turn causes the `kill` to be ineffective to the tail processes (as the SIGTERM is sent to the subshell which doesn't propagate the signal on to its children). On NFS the test cleanup will then fail as there will be .nfs files maintained in the directory for the files still opened by the tail processes. Reported by Bernhard Voelker. tests: skip numfmt grouping tests on some systems * tests/misc/numfmt.pl: When the system locale grouping doesn't match our expected format for grouping 1234 in the fr_FR locale, reset the locale to 'C' so as to skip all locale tests. 2013-02-07 Jim Meyering tests: avoid actual/expected mismatch due to changed diagnostic * tests/cp/fail-perm.sh: Adjust expected diagnostic to match just-changed cp diagnostic. * tests/ln/hard-to-sym.sh: Likewise. * .mailmap: Also map my new address. 2013-02-07 Pádraig Brady build: update gnulib submodule; also bootstrap to latest Notes tests/init.sh is still in sync with gnulib * bootstrap: update to latest * gnulib: update avoiding secure_getenv and subsequent patches as these are reported to fail on FreeBSD at least. 2013-02-06 Benno Schulenberg maint: improve error messages upon failed read, write, access, close Note we use "failed to {access,close}" for those single operations, and "error {read,writ}ing" for those partial operation failures. * src/copy.c: Improve error messages for failing read, write and close. * src/cp.c: Improve error messages for failing access. * src/dd.c: Improve error messages for failing read, write and open. * src/head.c: Improve error message for failing close. * src/install.c: Improve error messages for failing access. * src/ln.c: Likewise. * src/mv.c: Likewise. * src/touch.c: Improve error message for failing close. * src/truncate.c: Likewise. 2013-02-05 Assaf Gordon doc: fix a numfmt help section typo * src/numfmt.c (usage): Change erroneous "G" to "M". 2013-02-05 OndÅ™ej Vašík stty: add support for DTR/DSR hardware control flow Originally requested in Red Hat bugzilla #445213. * src/stty.c (mode_info): Add support for DTR/DSR hardware flow control, if available. * doc/coreutils.texi: Document it. * tests/misc/stty.sh: Add it to the list of serial options to avoid. * NEWS: Mention the improvement. 2013-02-05 Pádraig Brady numfmt: correct a printf format Prompted by the continuous integration build failure at: http://hydra.nixos.org/build/4010493 * src/numfmt.c (parse_format_string): Correct both sign and size of a printf format, which only gives a warning on 32 bit builds. 2013-02-04 Assaf Gordon numfmt: a new command to format numbers * AUTHORS: Add my name. * NEWS: Mention the new program. * README: Reference the new program. * src/numfmt.c: New file. * src/.gitignore: Ignore the new binary. * build-aux/gen-lists-of-programs.sh: Update. * scripts/git-hooks/commit-msg: Allow numfmt: commit prefix. * po/POTFILES.in: Add new c file. * tests/misc/numfmt.pl: A new test file giving >93% coverage. * tests/local.mk: Reference the new test. * man/.gitignore: Ignore the new man page. * man/local.mk: Reference the new man page. * man/numfmt.x: A new template. * doc/coreutils.texi: Document the new command. 2013-02-04 Pádraig Brady cut: fix a segfault with disjoint open ended ranges Fixes the issue introduced in unreleased commit v8.20-60-gec48bea. * src/cut.c (set_fields): Don't access the bit array if we've an open ended range that's outside any finite range. * tests/misc/cut.pl: Add tests for this case. Reported by Marcel Böhme in http://bugs.gnu.org/13627 2013-02-01 Paul Eggert doc: say how to tac char-by-char This fixes Bug#12115, reported by Reuben Thomas. * doc/coreutils.texi (tac invocation): Document how to reverse a file character by character. Break out MS-DOS into a separate section, like 'cat' does. 2013-01-28 Bernhard Voelker df: do not treat rootfs specially Like any other pseudo file system, df should show rootfs only when the -a option is specified, i.e. specifying -trootfs alone is not sufficient. As the rootfs entry is now elided by the general deduplication in filter_mount_list (commit v8.20-103-gbb116d3), all other references to rootfs can be removed again. * src/df.c (show_rootfs): Remove global variable. (ROOTFS): Remove constant. (filter_mount_list): Remove case to handle rootfs specially. (main): In the case for handling the -t option, remove setting of the show_rootfs variable. * tests/df/skip-rootfs.sh: Adapt the test case "df -t rootfs": the rootfs file system must not be printed (because no -a). * doc/coreutils.texi (df invocation): Correct the documentation about eliding mount entries: it is not the first occurrence of the the device which wins, but now rather the entry with the shortest mount point name. Also adapt the description about eliding pseudo file system types like rootfs. * NEWS (Changes in behavior): Adapt entry. 2013-01-27 Ondrej Oprala Bernhard Voelker df: prefer fullpath entries when deduplicating * src/df.c (struct devlist): Add a new element for storing pointers to mount_entry structures. (devlist_head, dev_examined): Remove. (filter_mount_list): Add new function to filter out the rootfs entry (unless -trootfs is specified), and duplicities. The function favors entries with a '/' character in me_devname or those with the shortest me_mountdir string, if multiple entries fulfill the first condition. Use struct devlist to build up a list of entries already known, and finally rebuild the global mount_list. (get_all_entries): Call the above new function unless the -a option is specified. (get_dev): Remove the code for skipping rootfs and duplicities. * tests/df/skip-duplicates.sh: Add test cases. 2013-01-26 Stephan Krempel timeout: ensure a blocked SIGALRM from the parent is unblocked * src/timeout.c (unblock_signal): A new function to unblock a specified signal, or warn if not possible. (set_timeout): Ensure SIGALRM is unblocked before we setup the timer. * tests/misc/timeout-blocked.pl: A new test for the issue. * tests/local.mk: Reference the new test. * NEWS: Mention the fix. Fixes: http://bugs.gnu.org/13535 2013-01-26 Pádraig Brady seq: fix to always honor the step value * src/seq.c (main): With 3 positive integer args we were checking the end value was == "1", rather than the step value. * tests/misc/seq.pl: Add tests for this case. Reported by Marcel Böhme in http://bugs.gnu.org/13525 seq: fix misaligment with -w when no precision for start value * src/seq.c (get_default_format): Also account for the case where '.' is auto added to the start value, which is significant when the number sequence narrows. * tests/misc/seq.pl: Add two new tests for the failing cases. * NEWS: Mention the fix. Fixes http://bugs.gnu.org/13394 cut: fix -f to work with the -d$'\n' edge case * src/cut.c (cut_fields): Handle the edge case where '\n' is the delimiter, which could be used for example to suppress the last line if it doesn't contain a '\n'. * test/misc/cut.pl: Add tests for this edge case. 2013-01-26 Pádraig Brady cut: with -f, process each line independently Previously line N+1 was inspected before line N was fully output, which causes output ordering issues at the terminal or delays from intermittent sources like tail -f. * src/cut.c (cut_fields): Adjust so that we record the previous output character so we can use that info to determine wether to output a '\n' or not. * tests/misc/cut.pl: Add tests to ensure existing functionality isn't broken. * NEWS: Mention the fix. Fixes bug http://bugs.gnu.org/13498 2013-01-24 Paul Eggert build: update gnulib submodule to latest * bootstrap.conf (gnulib_modules): Add statat. The fstatat module was split in two, and we need both halves. 2013-01-24 Pádraig Brady doc: fix an example in the od man page * man/od.x: s/-w 16/-w16/ as -w takes an optional parameter and so the space is significant. 2013-01-23 Bernhard Voelker doc: fix order of du options in usage and texinfo manual * src/du.c (usage): Bring options into alphabetical order. * doc/coreutils.texi (du invocation): Likewise. Furthermore, use the @itemx macro for the long options --max-depth and --threshold instead of @item. 2013-01-23 Bernhard Voelker maint: define usage note about mandatory args centrally Each program with at least one long option which is marked as 'required_argument' and which has also a short option for that option, should print a note about mandatory arguments. Define that well-known note centrally and use it rather than literal printf/fputs, and add it where it was missing. * src/system.h (emit_mandatory_arg_note): Add new function. * src/cp.c (usage): Use it rather than literal printf/fputs. * src/csplit.c, src/cut.c, src/date.c, src/df.c, src/du.c: * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/install.c: * src/kill.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c: * src/mknod.c, src/mv.c, src/nl.c, src/od.c, src/paste.c: * src/pr.c, src/ptx.c, src/shred.c, src/shuf.c, src/sort.c: * src/split.c, src/stdbuf.c, src/tac.c, src/tail.c, src/timeout.c: * src/touch.c, src/truncate.c, src/unexpand.c, src/uniq.c: Likewise. * src/base64.c (usage): Add call of the above new function because at least one long option has a required argument. * src/basename.c, src/chcon.c, src/date.c, src/env.c: * src/nice.c, src/runcon.c, src/seq.c, src/stat.c, src/stty.c: Likewise. 2013-01-21 Jakob Truelsen Bernhard Voelker du: add -t SIZE, --threshold=SIZE option * src/du.c (opt_threshold): Add variable to hold the value of the --threshold option specified by the user. (long_options): Add a required_argument entry for the new --threshold option. (usage): Add --threshold option. (process_file): Elide printing the entry if its size does not meet the value specified by the --threshold option. (main): In the argument parsing loop, add a case for the new -t option. Convert the given argument by permitting the well-known suffixes for megabyte, gigabytes, etc. Handle the special case "-0": give an error as this value is not permitted. * doc/coreutils.texi (du invocation): Add documentation for the above new option. * tests/du/threshold.sh: Add new test to exercise the new option. * tests/local.mk (all_tests): Mention the above test. 2013-01-20 Bernhard Voelker tests: remove test case du/slink This test tried to ensure that not all symlinks (across all file system types) have Zero size and refers to a change in system.h from 2002-08-31 (commit SH-UTILS-2_0_15-55-g62808a7). The test used to do this by working on symlinks to long file names. This assumption is dependant on the underlying file system, and in some environments like XEN does not even work on file systems known to work otherwise. The test for dereferencing and no-dereferencing symlinks is already covered by other tests (du/deref.sh, du/deref-args.sh, and du/no-deref.sh). Therefore, remove it. * tests/du/slink.sh: Remove file. * tests/local.mk (all_tests): Remove the above test. Discussed in: http://lists.gnu.org/archive/html/coreutils/2013-01/msg00053.html 2013-01-20 Bernhard Voelker maint: fix alphabetical order in .gitignore Since commit v8.20-67-g0f525b6, .gitignore sometimes showed up as changed because the entries "*.gcda" and "*.gcno" had not been in alphabetical order. * .gitignore: Exchange the entries "*.gcda" and "*.gcno". 2013-01-12 Benno Schulenberg uptime: gettextize an overlooked string, and normalize another * src/uptime.c: Add calls to gettext() and select_plural(). 2013-01-10 Benno Schulenberg doc: make a --help text fragment identical to three others * src/ln.c (usage): Move a newline to the next text fragment, so the preceding fragment about backup methods becomes the same as the ones for cp, mv, and install. A bit easier for translators. 2013-01-07 Pádraig Brady factor: apply a more general fix to enable correct assembly In addition to the previous 64 bit guards we've placed in longlong.h there are additional _LP64 guards required for mips with -mcpu >= 3, to avoid a build failure (http://bugs.gnu.org/13353) and on sparc with -mcpu >= v9 in 32 bit mode where for example, `factor 2123123123123123123123` would go into an infinite loop. Since factor.c currently operates on uintmax_t, we restrict the use of the assembly in longlong.h to when 'long' has the same width, to provide a more general guard for this code. * src/factor.c: Restrict the use of longlong.h assembly code, to when the width of intmax_t == long. * src/longlong.h: Remove the previous _LP64 guards to avoid divergence from GMP's longlong.h * NEWS: Adjust the info on build and runtime fixes. 2013-01-06 Paul Eggert doc: sync parse-datetime from gnulib * doc/coreutils.texi (Top): Sync from gnulib parse-datetime.texi menu. 2013-01-06 Karl Berry doc: avoid @sc in texinfo; it is unnecessary * doc/coreutils.texi: avoid @sc and use explicit capitals. * doc/local.mk (sc-use-small-caps-NUL): Remove, as no longer applicable. 2013-01-04 Karl Berry doc: remove stale pr news in the manual * coreutils.texi (pr invocation): remove list of ancient news items; the main documentation already covers what is needed. 2013-01-01 Jim Meyering maint: update all copyright year number ranges Run "make update-copyright", but then also run this, perl -pi -e 's/2\d\d\d-//' tests/sample-test to make that one script use the single most recent year number. build: update gnulib submodule to latest 2012-12-31 Jim Meyering maint: adjust NEWS entry wording * NEWS: Adjust wording in a few entries. 2012-12-27 Pádraig Brady doc: improve od --help and man page * src/od.c: Redorder the information output by --help to ease interpretation and so that appropriate sections are generated by help2man. * doc/coreutils.texi (od invocation): Fix an incorrect reference to @var{n}, which should be @var{bytes}. * man/od.x: Add an "Examples" section, and move the default od format to there, and add a commonly required format to generate hexdumps. Reported by Akim Demaille in http://bugs.gnu.org/13280. 2012-12-21 Mike Frysinger factor: disable x86_64 assembly code for x32 builds The current x86_64 asm code does not work for x32 (__ILP32__) ABIs, so disable it. Note simply deleting the q suffix is not enough. * src/longlong.h: Restrict x86_64 assembly to _LP64 targets, which is consistent with other checks in longlong.h and avoids this code on x32. * NEWS: Mention the build fix. 2012-12-21 Pádraig Brady tests: avoid false positive valgrind failures * init.cfg (require_valgrind_): Check the `true` program, which will check more valgrind failure cases as now detailed in the function comments. dd: fix a printf format mismatch in an error message * src/dd.c (dd_copy): To print an off_t portably we need to use PRIdMAX and cast to intmax_t, otherwise there could be a mismatch between say a 32 bit off_t and uintmax_t. This was flagged by -Wformat on a 64 bit host when compiling with CFLAGS=-m32. 2012-12-21 Pádraig Brady seq: fix newline output when -s specified This regression was introduced in commit v8.19-132-g3786fb6. * src/seq.c (seq_fast): Don't use puts() to output the first number, and instead insert it into the buffer as for other numbers. Also output the terminator unconditionally. * tests/misc/seq.pl: Add some basic tests for the -s option. * NEWS: Mention the fix. * THANKS.in: Reported by Philipp Gortan. 2012-12-20 Bernhard Voelker tests: add tests for basename's --zero option The -z option has been introduced in commit v8.15-60-ga3eb71a, i.e. in coreutils-8.16. Time to add some tests for it. * tests/misc/basename.pl: Add tests exercising the -z option. In the foreach loop to append a newline to the end of each expected 'OUT' string, skip the -z tests. 2012-12-20 Assaf Gordon doc: tweak 'lcov' in HACKING * HACKING: In the paragraph about creating coverage statistics, use the correct -b (--base-directory) parameter. 2012-12-19 Pádraig Brady maint: rewrap a long line noticed by make syntax-check * configure.ac: Wrap the recently introduced long line. doc: clarify when dd iflag=fullblock is useful * doc/coreutils.texi (dd invocation): Explain that iflag=fullblock ensures that count= will count blocks rather than reads, and reference that in both the count= and iflag=fullblock descriptions. Suggested by John Reiser. tests: avoid a race in timeout-group.sh * tests/misc/timeout-group.sh: The kernel might possibly delay signal propagation to timeout.cmd long enough, that it exits normally without running the signal handler (as sleep will be in the same process group and so get the signal too). So avoid this by explicitly checking that the signal handler is called, which should always happen under normal circumstances. Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36. build: avoid --enable-gcc-warnings on GCC <= 4.5 * configure.ac: Only enable warnings automatically when on GCC >= 4.6 (and when building from a git checkout) as that was the first GCC version to support fine-grained control of warnings, allowing them to be adjusted around certain code sections. gnulib relies on this for certain warnings, so avoid auto enabling this option lest we trigger build failures on now over two year old compilers. Reported by Zartaj Majeed with GCC 4.5.3 on cygwin. 2012-12-19 Zartaj Majeed build: fix cygwin build issues * doc/local.mk (doc/constants.texi): Ensure the doc directory is present which is needed when doing a non source dir build, when the doc/constants.texi target is built before other doc targets. * src/local.mk: Add $(EXEEXT) to the make-prime-list calls. 2012-12-17 Pádraig Brady maint: consistently use @dots{} in coreutils.texi * doc/coreutils.texi: s/\.\.\./@dots{}/ except in code and examples. 2012-12-17 Pádraig Brady readlink: support multiple command line arguments This allows efficient processing of multiple files, while also increasing compatibility with BSD's readlink(1). We also add the -z, --zero option to delimit output items with the NUL character which disambiguates output in the presence of '\n' characters. * src/readlink.c (usage): Add the --zero description, and also adjust the description of --no-newline accordingly. (main): Handle the -z option and iterate over multiple arguments. Also as in commit v8.15-24-g9d46b25 we use fputs() and putchar() rather than printf() for performance reasons. * doc/coreutils.texi (readlink invocation): Document the new --zero option, adjust the --no-newline description, and tweak the general info to indicate multiple files are supported. * tests/readlink/multi.sh: A new test for the new functionality. * tests/local.mk: Reference the new test. * man/readlink.x: Adjust the summary and also reference realpath. * NEWS: Mention the improvement. * THANKS.in: Suggested by Aaron Davies. 2012-12-15 Assaf Gordon maint: update gitignore entries * .gitignore: ignore GCC coverage data files. 2012-12-14 Assaf Gordon doc: mention "git stash" in HACKING * HACKING: In the paragraph about switching branches, mention "git stash" as a way to continue while preserving uncommitted changes. 2012-12-14 Bernhard Voelker tail,stat: improve support for the ceph file system Teach tail -f that it must use polling on ceph file systems, and let stat -f --format=%T report the file system type name, "ceph". Website: http://ceph.com/ * src/stat.c (human_fstype): Add a case: ceph, 0x00C36400, remote. * NEWS (Improvements): Mention it. * THANKS.in: Update. Reported by Konrad Wróblewski in http://bugs.gnu.org/13172. 2012-12-14 Bernhard Voelker maint: fix typos found by misspellings * doc/coreutils.texi (df invocation): s/occurence/occurrence/. * tests/df/skip-rootfs.sh: s/supressed/suppressed/ 2012-12-09 Jim Meyering tests: add test case and note that last week's cut change is a bug fix * tests/misc/cut-huge-to-eol-range.sh: New test, showing that the change in v8.20-51-g7d03466 is a bug fix after all. * tests/local.mk (all_tests): Add it. * NEWS (Bug fixes): Mention it. 2012-12-08 Bernhard Voelker cp: fix --no-preserve=mode to not exit 1 cp --no-preserve=mode exited 1 unconditionally. Furthermore, the tests which would have detected this error - namely link-preserve.sh and reserve-mode.sh - failed to test cp's exit code. * src/copy.c (copy_reg): In the case x->explicit_no_preserve_mode, do only set return_val to false iff the previous set_acl () failed. * tests/cp/link-preserve.sh: Check cp's exit code. * tests/cp/link-symlink.sh: Likewise. * tests/cp/preserve-mode.sh: Likewise. * NEWS: Mention the fix. Bug introduced in commit v8.19-145-g24ebca6. Reported by Florian Pritz in http://bugs.gnu.org/13119. 2012-12-07 Ondrej Oprala Bernhard Voelker. df: do not print duplicate entries and rootfs by default * src/df.c (struct devlist): Add new struct for storing already- examined device numbers. (devlist_head): Add new store of the above type. (show_rootfs): Add new global boolean to not skip rootfs. (dev_examined): Add new function to check if the device has already been traversed. (get_dev): Filter out rootfs unless "-t rootfs" or the -a option is specified. Filter out duplicate entries by calling the above new dev_examined unless the -a option is specified. (main): Set the show_rootfs variable appropriately when the -t option is specified for rootfs. Free device list (guarded by IF_LINT). * tests/df/skip-duplicates.sh: Add test to exercise the skipping of duplicate entries. * tests/df/skip-rootfs.sh: Add test to exercise the skipping of the rootfs pseudo file system. * tests/local.mk: Add the above new tests. * NEWS (Changes in behavior): Mention the changes. * doc/coreutils.texi (df invocation): Document df's behavior about skipping rootfs and duplicate entries. 2012-12-06 Cojocaru Alexandru cut: avoid a redundant heap allocation * src/cut.c (set_fields): Don't allocate memory for `printable_field' if there are no finite ranges. This is achieved by keeping max_range_endpoint as 0 when there are no finite ranges. max_range_endpoint is then used throughout the code to guard against allocation of, and access to the bit array. The extra allocation was introduced via commit v8.10-3-g2e636af. 2012-12-06 Pádraig Brady maint: fix a referenced coreutils version in a test comment * tests/misc/cut.pl: This particular bug existed up to v8.10. 2012-12-06 Bernhard Voelker tests: fix regex to match "-" in ipcent field in df/total-verify.sh The regular expression failed to match for file systems that do not provide inode statistics, e.g. VFAT or CIFS (depending on the underlying peer file system). * tests/df/total-verify.sh: Fix the regular expression to match a dash in the ipcent field again. Reported by Assaf Gordon in http://bugs.gnu.org/13099. Bug introduced in commit v8.20-18-gdae8d22. 2012-12-06 Assaf Gordon maint: adjust HACKING instructions to run a single test * HACKING: Adjust as per the recent changes introduced when switching to non recursive make. 2012-12-06 Pádraig Brady tests: cut.pl: adjust for changed diagnostic * tests/misc/cut.pl: Since we now output the more complete error message irrespective of running in a multi-byte locale or not, adjust the test accordingly. 2012-12-06 Cojocaru Alexandru cut: improve error reporting * src/cut.c (main): Treat a NUL delimiter (-d '') consistently with non NUL delimiters, and disallow such a delimiter option, unless a field is also specified. (set_fields): Provide a more accurate error message when a given list is invalid. * tests/misc/cut.pl: Add a test case. 2012-12-06 Pádraig Brady maint: adjust instructions to run a single test * README: Adjust as per the recent changes introduced when switching to non recursive make. 2012-12-05 Bernhard Voelker maint: remove now auto-added entry from THANKS.in The syntax-check sc_THANKS_in_duplicates complained about that excess entry. * THANKS.in (Colin Watson): Remove entry, now that it will be automatically included in the generated THANKS file. 2012-12-04 Pádraig Brady maint: remove a redundant odd sized alloc from factor.c * src/factor.c (mp_factor_init): Init the pointers with NULL, which xrealloc (or realloc) handles fine. 2012-12-04 Colin Watson factor: fix infinite loop on 32 bit powerpc Both Debian and Ubuntu builds of coreutils 8.20 hang while running the test suite on powerpc, which is reproducible using 'factor 122'. This turns out to be somewhat related to http://bugs.gnu.org/12754, but not quite the same. uintmax_t is 64 bits, but the cntlzw instruction takes 32-bit operands, and the cntlzd option is only available on 64-bit hardware. * src/longlong.h: Add an _LP64 check around the PPC64 code, so that this falls back to the C implementations. * NEWS: Mention the fix. 2012-11-24 Jim Meyering cut: do not print extraneous delimiters in some unusual cases When printing output delimiters, and when a to-EOL range subsumes at least one other range, cut would mistakenly print delimiters for the subsumed range. This bug was probably introduced via commit v5.2.1-639-g847e066. * src/cut.c (set_fields): Ignore any range that is subsumed by a to-EOL range. Also, move two declarations down. * tests/misc/cut.pl: Add tests to exercise this. * NEWS (Bug fixes): Mention it. Reported by Marcel Böhme in http://bugs.gnu.org/12966 cut: treat -b2-,3- like -b2-, not like -b3- * src/cut.c (set_fields): When two right-open-ended ranges are specified, don't blindly let the latter one take precedence over the former. Instead, use the union of the ranges. * tests/misc/cut.pl: Add tests to exercise this. * NEWS (Bug fixes): Mention it. Reported by Marcel Böhme in http://bugs.gnu.org/12966 Thanks to Berhard Voelker for catching log and NEWS typos. 2012-11-24 Bernhard Voelker doc: cp: clarify behavior of the --preserve=xattr option * doc/coreutils.texi (cp invocation): Enhance documentation of the --preserve=xattr option regarding the preservation of ACLs, SELinux contexts and capabilities: the user may notice this only when not specifying --preserve=mode and --preserve=context, too, i.e., otherwise, these attributes are preserved anyway. 2012-11-24 Pádraig Brady doc: update info cross reference to bash * doc/coreutils.texi (tee invocation): Reference the bash manual rather than bashref, as the latter is more likely to work on newer systems. tests: use sub-second timeouts to speed up a timeout test * tests/misc/timeout.sh: Take advantage of recent support for sub-second timeouts to decrease runtime from about 6s to 2s. doc: clarify that renice is needed to adjust niceness * doc/coreutils.texi (nice invocation): Ensure there is no ambiguity in the summary in relation to nice being able to adjust the niceness of an existing process. Reference the renice command. * man/nice.x: Reference renice (1) tests: accept EEXIST from rm -d * tests/rm/d-2.sh: EEXIST is a valid error on some systems. Reported by Michael Felt on AIX 6.1 tests: don't rely on sed -i being available * tests/df/df-output.sh: sed --in-place is not generally available. Also add a couple of simplifications from Bernhard Voelker. Removing all spaces, rather than just leading spaces, suffices. Searching for ' --output' in unadjusted df --help, suffices. seq: ensure correct output width for scientific notation input * src/seq.c (scan_arg): Calculate the width more accurately for numbers specified using scientific notation. * tests/misc/seq.pl: Add tests for cases that were mishandled. * NEWS: Mention the fix. * THANKS.in: Reported by Marcel Böhme. Fixes http://bugs.gnu.org/12959 2012-11-22 Bernhard Voelker df: reorder default field list of --output option As the inodes information is usually not so much of interest, and some file systems including btrfs do not even provide it, reading of the full df --output is easier when the block statistic fields come just left of the last field, the mount point. * src/df.c (all_args_string): Move the inodes fields before the block fields. (usage): Likewise. * tests/df/df-output.sh: Likewise. * doc/coreutils.texi (df invocation): Likewise. Additionally, explicitly mention the default order of the --output option. 2012-11-21 Paul Eggert install: fix security race * NEWS: Document this. 2012-11-20 Paul Eggert install: fix security race * src/copy.c (copy_internal): Use DST_MODE_BITS, not SRC_MODE. See Bernhard R. Link in and in . 2012-11-20 Bernhard Voelker nl: remove deprecated --page-increment option The above option has been deprecated since coreutils-7.5 by commit v7.4-129-g718b279. * src/nl.c (PAGE_INCREMENT_OPTION_DEPRECATED): Remove enum. (longopts): Remove "page-increment" entry. (main): Remove PAGE_INCREMENT_OPTION_DEPRECATED case. * NEWS (Changes in behavior): Mention the change. Reported by Marcel Böhme in . 2012-11-19 Bernhard Voelker doc: remove already implemented items from TODO * TODO (renice): The renice program is part of util-linux for years now. Remove entry. (dd): The option status=none has been implemented in commit v8.19-143-g7331ab5. Remove entry. 2012-11-18 Bernhard Voelker cut: do not accept the invalid range 0- The command "echo 12345 | cut -b 0-" prints an empty line while it should fail with "fields and positions are numbered from 1". * src/cut.c (set_fields): Add a diagnostic for the invalid open range which starts with Zero, i.e., the range 0-. * tests/misc/cut.pl: Add tests to ensure the range 0- fails for fields (-f) and for positions (-b, -c). * NEWS: Mention the fix. Reported by Marcel Böhme in . 2012-11-18 Daniel Schepler build: fix compilation failure on x32 * src/factor.c [HAVE_ATTRIBUTE_MODE]: Fix typo in #if test: s/HAVE_LONG_LONG/HAVE_LONG_LONG_INT/. Otherwise, factor.c would elicit assembler errors on x32: it was incorrectly defining DItype to long instead of long long. Patch and report in http://bugs.debian.org/693337; Mike Stone notified upstream. 2012-11-18 Jim Meyering maint: reenable accidentally-disabled cppi-check syntax-check rule * cfg.mk (exclude_file_name_regexp--sc_preprocessor_indentation): Fix typo that disabled the sc_preprocessor_indentation syntax-check rule by exempting all files. s/__ll/_ll/ The typo was introduced in commit v8.19-157-g759ebcb. maint: correct indentation of W_TYPE_SIZE-defining cpp directives * src/factor.c: Indent cpp directives to reflect their nesting. maint: avoid i686-specific syntax-check failure * cfg.mk (_gl_TS_unmarked_extern_vars): Define. 2012-11-17 Paul Eggert doc: explain why dd is called "dd" * doc/coreutils.texi (dd invocation): Mention JCL. factor: tidy up primes.h again See Stefano Lattarini in . * src/local.mk (BUILT_SOURCES): Put $(top_srcdir)/src/primes.h here (MAINTAINERCLEANFILES): ... instead of here. 2012-11-13 Paul Eggert factor: cleanup for primes.h * .gitignore: Add src/primes.h back, since it's no longer in the repository. 2012-11-13 Jim Meyering maint: avoid unnecessary #include to fix syntax-check failure * src/factor.c: Remove unneeded #inclusion of"verify.h". It's already included via system.h. 2012-11-13 Paul Eggert factor: improve primes.h change This follows suggestions by Jim Meyering in . * src/make-prime-list.c (print_wide_uint): Change "nested" argument to "nesting", and use it to avoid outputting lines that are too long. * src/primes.h: Remove from git. This can be generated by a maintainer. It's nicer to do so on a host with at least 128-bit arithmetic. 2012-11-12 Paul Eggert factor: maintainer builds primes.h, not builder With this change, the maintainer builds primes.h and it is part of the tarball. primes.h's contents are not architecture-specific. * .gitignore: Remove /src/primes.h. * src/factor.c: Include verify.h. (W): New constant. Verify that uintmax_t lacks holes and that W is no wider than the integers used to generate primes.h. * src/local.mk (EXTRA_DIST): Add src/primes.h. (BUILT_SOURCES, CLEANFILES): Remove src/primes.h. ($(top_srcdir)/src/primes.h): Rename from src/primes.h. Do not depend on src/make-prime-list. Instead, use sub-make to build, so that we build primes.h only if it does not exist. * src/make-prime-list.c: Include , for ULONG_MAX. (wide_uint): Define to uintmax_t or unsigned __int128 if not #defined. (struct prime, binvert, process_prime): Use it instead of uintmax_t. (print_wide_uint): New function. This generates the proper pinv value regardless of the width of uintmax_t on the target, so long as the width doesn't exceed that of the width of wide_uint on the maintainer host that generated src/primes.h. (output_primes): Use it. Output WIDE_UINT_BITS, too. Let the target compute its own lim, since its uintmax_t may be narrower than ours. (SZ): Remove. * src/primes.h: New file, generated with 128-bit integers and usable on any host where uintmax_t's width is no greater than 128 bits. factor: port to systems with rpl_malloc * src/make-prime-list.c (malloc): Undef. This fixes a problem on AIX 8.20 reported by Michael Felt in . 2012-11-09 Bernhard Voelker tests: fix factor's tests to use coreutil's own sha1sum The test used the shasum utility which seems to belong to the perl package. On SLES-10.4, perl doesn't include this yet: + seq 0 10000000 + factor + shasum -c --status exp ./tests/factor/t00.sh: line 30: shasum: command not found + Exit 1 It is better to use our own stuff anyway. * tests/factor/run.sh: s/shasum/sha1sum/. Additionally, add sha1sum to the print_ver_ call. 2012-11-09 Benno Schulenberg doc: chcon: add descriptions for three undocumented options These were missed in this related change v8.14-104-g44e20cd * src/chcon.c (usage): Mention the two --preserve-root options. * doc/coreutils.texi (chcon invocation): Plus the --dereferece option. 2012-11-09 Benno Schulenberg doc: with cp -n, option -f is not redundant but ignored * src/cp.c (usage): Replace "redundant" with "ignored". * doc/coreutils.texi (cp invocation): Likewise. 2012-11-09 Paul Eggert df: port the new df test to POSIX sed, larger file systems * tests/df/df-output.sh: For the test "df -B1K --output=size", do not assume that the file system size fits in 9 bytes; it might be larger than that, so omit leading space. Also, use portable 'sed' commands: POSIX says sed commands inside { } should all end in newline. 2012-11-08 Bernhard Voelker df: add a test for the --output option * tests/df/df-output.sh: Add a test case. * tests/local.mk (all_tests): Mention the test. * cfg.mk (sc_file_system): Exempt the test from this syntax-check. df: document the new --output option * src/df.c (usage): Add a short description of --output and its available field names for use in the optional argument. * doc/coreutils.texi (df invocation): Add the new option with more details and a few examples. * NEWS (New features): Mention the new option. (Changes in behvaior): Mention the new placeholder for fields in the "total" line. 2012-11-08 Bernhard Voelker df: add --output to select which fields to display This supports changing the order of the fields displayed, and also allows the simultaneous display of inode and block fields. src/df.c (get_dev): Factor out calling get_header to ... (main): ... here. Call print_table only if file_systems_processed. src/df.c (Displayable fields): Rename DEV_FIELD to SOURCE_FIELD. Rename TYPE_FIELD to FSTYPE_FIELD. Rename FREE_FIELD to AVAIL_FIELD. Rename MNT_FIELD to TARGET_FIELD. * src/df.c (display_field_t): Turn loose enum definition of the displayable fields into a typedef. Add the inode fields ITOTAL_FIELD, IUSED_FIELD, IAVAIL_FIELD, IPCENT_FIELD. (field_data_t): Define structure to hold the display field, the caption, the width and the alignment for each field of the above type. (field_data): Add array the values of field data for each display field. (headers, alignments, widths): Remove arrays. (columns): Add a pointer to the storage for the array of the actual output columns, i.e., fields. (ncolumns): Add counter for the current output columns. (alloc_table_row): Allocate the dynamic ncolumns value of strings. (print_table): Loop over ncolumns instead of constant NFIELDS. Rename loop variable 'field' to 'col' to avoid ambiguity with the 'field' element in the columns structure. Adjust the condition for printing the last column by comparing with the column number instead of the field name (TARGET_FIELD). Use the width and the alignment stored in the columns data. (alloc_field): Add new function to allocate a field in the columns array. (get_field_list): Add new function to fill the array of output columns for each mode. (get_header): Loop over ncolumns instead of constant NFIELDS. Rename the loop variable 'field' to 'col' to avoid ambiguity with the 'field' element in the columns structure. Remove the code for continuing the loop if the current column is the file system type and print_type is not active (which is now impossible). Store the cell in the columns store along with the new width. (get_dev): Loop over ncolumns instead of the constant NFIELDS. Rename the loop variable 'field' to 'col' to avoid ambiguity with the 'field' element in the columns structure; move the definition down to where it is used first. Add cases for the inode fields ITOTAL_FIELD, IUSED_FIELD, IAVAIL_FIELD and IPCENT_FIELD. Store the cell in the columns store along with the new width. (main): Use new get_field_list function to fill the list of output columns. * src/df.c (print_table): Instead of fputs()ing directly, apply ambsalign on the last field, too. Use the new MBA_NO_RIGHT_PAD flag for this. * src/df.c (TOTAL_OPTION): Add new enum value. (long_options): Use it for the "total" option instead of 'c'. (main): Likewise. * src/df.c (get_dev): Remove condition to copy the fstype into the FSTYPE_FIELD - based on whether print_type is non-Null. Since the introduction of get_field_list(), there are only fields added to the columns array which have to be added. * src/df.c (get_dev): Guard the summing up of the values for the grand total: only do it if we have to print the total and if the current invocation is not for processing it. * src/df.c (main): Pass a hyphen "-" for the mount point name to get_dev. (get_dev): As the mount_point is now always there, remove the condition and the else case for the TARGET_FIELD. Instead, simply copy the mount_point. All cells are now always present. Therefore, add an assertion statement if one was not. Furthermore, hide the problematic characters unconditionally. (print_table): Remove the skipping of empty cells. * tests/df/total-verify.sh: Accommodate to the new "-" in the target field of the summary line. * NEWS: Mention the change in behavior. * src/df.c (field_type_t): Add new typedef of 3 enums to distinguish between block, inode and other fields. (field_data_t): Add field_type member of the above new type. (field_data): Add default values for the above field_type, indicating whether a field contains block values, inode values or other, generic values. (field_values_t): Add this struct to store the field values, used by and factored out from get_dev to be able to define such a struct for both the inode and the block values. (get_field_values): Add this function to obtain the block values and the inode values from the file system usage, used by and factored out from get_dev. (add_to_grand_total): Add this function to sum the values of the current mount point up for the grand total, used by and factored out from get_dev. (get_dev): Move the definition of the variables fsu, buf, pct and cell down to where they are used first to give them a better scope. Factor out input_units, output_units, total, available, negate_available, available_to_root, used and negate_used into the above struct field_values_t. Factor out the mapping of the fsu values to the above variables into above function get_field_values. Factor out the summing up of the grand total values into the above function add_to_grand_total. Define block_values and inode_values of the new type and call the new get_field_values to fill them from the fsu values. Call the above function add_to_grand_total for summing up the values for the grand total. Inside the loop over all fields, define a variable 'v' to point to either the block_values or the inode_values, depending on the current field's field_type. Change the code in the cases TOTAL_FIELD/ITOTAL_FIELD, USED_FIELD/IUSED_FIELD, AVAIL_FIELD/ IAVAIL_FIELD and PCENT_FIELD/IPCENT_FIELD to use the field values where 'v' is pointing to, i.e., either the block_values or the inode_values. * src/df.c (main): Remove setting of grand_fsu.fsu_blocks in the inode_format case as this is no longer needed and would lead to wrong results once when mixed block/inode fields will be used. * src/df.c (main): Cleanup the code at the end regarding file_systems_processed to make the code clearer. * src/df.c (inode_format): Remove variable. (main): Remove initialization of the above variable. In getopts loop, directly set the header_mode to INODES_MODE instead of using the above variable. Afterwards, remove the mapping to INODES_MODE as it is already set. * src/df.c (posix_format): Move variable ... (main): ... to here. * src/df.c (print_table): Enhance the comment about 2-line format in cases where the SOURCE_FIELD exceeds 20 chars, as such behavior has been removed long ago by commit v8.10-40-g99679ff. * src/df.c (Display modes): Add OUTPUT_MODE, remove unused NMODES. (display_field_t): Remove unnecessary NFIELDS. (field_data_t): Add member 'arg' for the field name in the --output argument. Add member 'used' to remember if a field is already used in the columns array. (field_data): Add values for the above new members arg and used. (all_args_string): Add variable which represents the argument for the --output option which includes all fields. (OUTPUT_OPTION): Add enum to identify the long --output option. (long_options): Add optional-argument --output option. (alloc_field): Assert that the field is not already used. Mark the field as used. (decode_output_arg): Add function to parse the comma-separated field list passed to the --output option in order to add the appropriate fields to the columns array. (get_field_list): Add case for the new OUTPUT_MODE to add all available fields to columns in the case the --output option has been passed without any values. Use the comma-separated field list form to pass to decode_output_arg to keep the field header mapping for the OUTPUT_MODE only on one place. (main): Define format string msg_mut_excl to be used in the following checks whether the use of --output and the other option is mutually exclusive. In the getopt_long loop, add a check to the case for the -i option to issue an error message when it is used together with --output; Likewise for -T and -P. Add a new case for OUTPUT_OPTION, together with similar checks as above and eventually passing the optarg to decode_output_arg. After the getopt_long loop, consider the OUTPUT_MODE case in order not to run into -h or -P mode. * src/df.c (get_dev): Also xstrdup the dev_name, and free it afterwards to silence a valgrind warning about definitely lost memory. (main): Free the columns store to silence valgrind, guarded by the IF_LINT macro. * src/df.c (main): Pass "total" as the mount point to get_dev if the SOURCE_FIELD is not among the columns to output. * tests/df/df-output.sh: Change the test to ensure the content of the target field of the grand total line: if the source field is present, then the target should be "-", else the target field should be "target". * NEWS (Changes in behavior): Enhance the exiting NEWS entry. * doc/coreutils.texi (df invocation): Document the content of the source and target field in the grand total line. * src/df.c (main): Add another condition to the need_fs_type parameter of read_file_system_list whether the FSTYPE_FIELD is used or not. * src/df.c (get_header): Indicate the block size used, in the "size" header, when using --output without -h. * tests/df/df-output.sh: Adjust for, and add an extra test for, the new behavior. 2012-11-05 Bernhard Voelker maint: fix factor's test file name pattern in .gitignore * .gitignore: Adapt the entry for the files generated during the factor tests (see v8.20-9-g1cace4a). 2012-11-04 Ãngel González timeout: add --preserve-status to always propagate the exit status It's useful for commands that support running for an indeterminite amount of time, to not return a specific timeout exit status (124), and instead let the command handle the timeout signal and return a status for the work done so far. * doc/coreutils.texi (timeout invocation): Describe the new option. * src/timeout.c (preserve_status): A new global boolean to enable the --preserve-status behavior. (usage): Describe the new option. (main): Don't return EXIT_TIMEOUT of preserve_status is set. * tests/misc/timeout.sh: Add a test for the new option. 2012-11-04 Pádraig Brady maint: fix the error message from sc_check-I18N-AUTHORS * cfk.mk (sc_check-I18N-AUTHORS): Fix the quoting so you don't get a 'command not found' error. build: avoid build failure on some HPPA systems * src/longlong.h: Restrict some HPPA assembly variants to PA RISC V2.0. Note we also avoid this assembly for ilp32 runtimes, since even though the assembly is accepted there, it's not safe as the context can get clobbered between the 'add' and 'add,dc'. This fixes a compile failure with newer HPPA systems with default GCC CPU options. Reported by John David Anglin 2012-11-04 Pádraig Brady build: don't assume uintmax_t is 64 bits This was not seen to be an issue in practise, but to make the code more robust, don't assume uintmax_t is 64 bits. * src/factor.c (W_TYPE_SIZE): Define based on integer limits. * src/make-prime-list.c (output_primes): Define format width based on integer limits. 2012-11-04 Pádraig Brady build: don't rely on support for '%j' printf format * src/factor.c (print_uintmaxes): Replace with PRIuMAX. * src/join.c (check_order): Likewise. * cfg.mk (sc_check-j-printf-format): Add a syntax-check rule to flag new cases of this. build: don't rely on support for '%*j' printf format * src/make-prime-list.c: Hardcode the uintmax_t width to 16 hex digits (64 bit), to avoid this compile issue on HPUS systems at least. 2012-11-01 Bernhard Voelker tests: fix syntax error in setuidgid_has_perm_ An invalid sed expression lead to the following error: + sed -n 'ls/.* //p' sed: -e expression #1, char 2: extra characters after command Use "one" instead of "el". Bug introduced in v8.19-111-g51a4b04. * init.cfg (setuidgid_has_perm_): s/ls/1s/. * NEWS (Build-related): Mention the fix. 2012-10-27 Bernhard Voelker tests: shorten factor's inordinately-long test file names Besides what the subject says, this commit moves the test data for the factor tests from tests/local.mk into the directory tests/factor/ where it belongs. * tests/local.mk (EXTRA_DIST): Add new tests/factor/create-test.sh. (p,q,t1,t2) Factor out the factor-related magic numbers. (factor_tests): Rename the test names to t{00..36}.sh. Factor out the triples of test data. ($(factor_tests)): Add dependency to new tests/factor/create-factor.sh. Call that script to generate the test scripts. * tests/factor/run.sh: Turn this script into a template, and therefore remove it's executable permission bit. Add template variables START, END and CKSUM, replacing the code to split the test data from the test script's file name. Use the new template variables in the call to seq and for creating the exp file. * tests/factor/create-test.sh: Add new script to create the test scripts from the template tests/factor/run.sh. Use test data and magic numbers factored out from the above files. Let the script also change the __TEMPLATE__ line in run.sh to make clear that the test scripts are generated. * cfg.mk (sc_tests_list_consistency): Exempt the new test. (exclude_file_name_regexp--sc_prohibit_test_backticks): Likewise. Improved-by: Stefano Lattarini Improved by: Jim Meyering 2012-10-26 Stefano Lattarini build: man page generation: degrade gracefully when perl is lacking Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaked the distributed Makefile.in to make each man page 'man/foo.1' depend on the corresponding source 'src/foo.c' rather than the corresponding program 'src/foo'. That was done to accommodate systems without perl, which cannot run help2man to regenerate the manpage after its corresponding program has been built. This seems a right and proper graceful degradation, in that the man pages dependencies are still 100% correct in a git checkout, while being more lax but "more portable" in a distribution tarball. Alas, that is not the case in practice, as it turns out the tweaked Makefile makes the building of man pages unreliable and potentially incorrect! In fact, assume that instead of the correct a dependency: man/ls.1: src/ls we have the laxer one: man/ls.1: src/ls.c and think of what happens if a user modifies, say, 'src/ls.c', and then runs "make -j4" to rebuild everything. The make process will see that it has to rebuild the man page 'man/ls.1' (because its prerequisite 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls' *before* re-running 'help2man' to generate that man page; so, if 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent make), our user will get either a build error (if 'src/ls' did non exist) or, worse, a man page with an up-to-date timestamp but an out-of-date content. And what's even worse in all of this is that this problem will be present also for users who have perl installed: this is not a "graceful degradation" at all! In our situation, the best and simplest way to implement a graceful degradation it to keep the correct dependencies for man pages (that is, "man/ls.1: src/ls"), and if perl is not present, just generate dummy man pages reporting that built-time issue and redirecting the user back to either the info documentation or the '--help' output. As a consequence of this change, we also stop distributing man pages, since they will now be generated unconditionally. * Makefile.am (do-not-require-help2man): Remove. (dist-hook): Don't depend on it. * man/local.mk: Remove an obsolete comment. (EXTRA_DIST): Stop distributing generated man pages. ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs). (MAINTAINERCLEANFILES): $(ALL_MANS) Do not list it here, and ... (CLEANFILES): ... list it here, instead. (.x.1): Instead of warning if perl is missing, but then trying to run 'help2man' unconditionally, simply run ... (run_help2man): ... the command referenced by this new variable, that expands to a proper invocation of 'help2man' if perl is present, and to an invocation of a shell script generating a dummy manpage if it is not. (EXTRA_DIST): Distribute that shell script. * man/dummy-man: New shell script. * NEWS (Build-related): Mention this. Fixes coreutils http://bugs.gnu.org/12715. 2012-10-25 Jim Meyering maint: tweak sc_check-I18N-AUTHORS * cfg.mk (sc_check-I18N-AUTHORS): Remove unnecessary subshell; add a self-explanatory diagnostic. maint: remove an obsolete test comment * tests/du/bind-mount-dir-cycle.sh: Remove obsolete comment spotted by Gilles Espinasse. 2012-10-25 Pádraig Brady pr: fix -n to pad consistently and not crash * src/pr.c: Replace the code to truncate the most significant digits of line numbers, with much simpler string manipulation that supports arbitrary widths. Before this, specifying a width >= 32 to -n would result in a divide by zero error. Also remove the inconsistent padding with zeros and spaces, which would result in zero padding for widths 12 and 15. * tests/pr/pr-tests.pl: Added a test to ensure no zero padding, and also a test for the divide by zero case. * NEWS: Mentioned the fix Reported by Ondrej Oprala build: ensure factor links the iconv library * src/local.mk (src_factor_LDADD): Append $(LIBICONV). * crg.mk (sc_check-I18N-AUTHORS): A new syntax check rule to ensure we add LIBICONV where appropriate. * THANKS.in: Add the reporter. Reported by Christian Jullien Syntax check suggested by Jim Meyering maint: refactor tests/misc/pr.pl into tests/pr/pr-tests.pl * tests/misc/pr.pl: Refactor this test into ... * tests/pr/pr-tests.pl: ... here. * tests/local.mk: Remove the reference to the removed test Improved by Jim Meyering 2012-10-24 Mike Frysinger build: do not redefine _FORTIFY_SOURCE When _FORTIFY_SOURCE is defined by the compiler or via flags, as it is on Gentoo, do not override it. Otherwise we get many redefinition warnings. * configure.ac (FORTIFY_SOURCE): Check if _FORTIFY_SOURCE is defined. This addresses http://bugs.gnu.org/12714 2012-10-23 Pádraig Brady maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.20 * NEWS: Record release date. 2012-10-23 Jim Meyering factor: add comments * src/factor.c (is_square): Use active voice in comment, not passive. (factor): Add function-describing comment. (mp_factor): Likewise. 2012-10-23 Pádraig Brady build: avoid warnings about unused variables and macros src/factor.c (__GMP_DECLSPEC): Move back from longlong.h to treat consistently with other stub macros. (__GMP_GNUC_PREREQ): Reference to avoid -Wunused-macros warning. (__GMP_DECLSPEC): Likewise. (ASSERT): Likewise. (__clz_tab): Likewise. (factor_using_division): Mark a variable as unused. (mulredc): Likewise. (mulredc2): Likewise. (divexact_21): Likewise. build: avoid compile warnings in factor.c on some systems * src/factor.c (factor_using_pollard_rho2): On some systems (like sparc) we need to promote all addmod2() parameters to uintmax_t to avoid warnings. build: avoid build failure on some sparc systems * src/longlong.h: Restrict some sparc assembly variants to sparc V9. This was seen to be an issue with newer sparc systems with default gcc CPU options. tests: correctly restrict factor test without GMP * tests/misc/factor.pl: Correct the precedence and regular expression in the command to check for GMP. 2012-10-21 Jim Meyering doc: NEWS: the cp bug affects mv and install, too * NEWS (Bug fixes): Note that the copy-induced corruption but affects mv (sometimes) and install, too. Pointed out by Bernhard Voelker. 2012-10-19 Benno Schulenberg doc: remove a stray parenthesis from 'cp --force' description * doc/coreutils.texi (cp invocation): Remove Cheshire Cat. 2012-10-17 Jim Meyering build: update gnulib submodule to latest cp: avoid data-corrupting free-memory-read * src/extent-scan.c (extent_scan_read): Reset our last_ei pointer whenever the parent buffer might have just been freed. * tests/cp/fiemap-extent-FMR.sh: New test. * tests/local.mk (all_tests): Add it. * NEWS (Bug fixes): Mention it. Reported by Mike Gerth in http://bugs.gnu.org/12656, and with help from Alan Curry. Bug introduced in commit v8.10-60-g18f5a85. 2012-10-13 Nikolas Kallis (tiny change) doc: improve HACKING guidelines * HACKING: Add "cd coreutils" after the git clone command. 2012-10-09 Pádraig Brady factor: fix integer validation and GMP fallback In the recent factor rewrite, the GMP code wasn't actually used; just an error was printed on integer overflow. While fixing that it was noticed that correct input validation wasn't done in all cases when falling back to the GMP code. * src/factor.c (print_factors) Fallback to GMP on overflow. (strto2uintmax): Scan the string for invalid characters, so that case can be detected independently of overflow. Return an error when an empty string is passed. Also allow leading spaces and '+' in input numbers. * tests/misc/factor.pl: Ensure the GMP code is exercised when compiled in. Also add a test to verify leading spaces and '+' are allowed. 2012-10-08 Pádraig Brady build: support older GMP versions The new factor code introduced usage of mpz_inits() and mpz_clears(), which are only available since GMP >= 5, and will result in a compile error when missing. * m4/gmp.m4 (cu_GMP): Define HAVE_DECL_MPZ_INITS appropriately. * src/factor (mpz_inits): New function, defined where missing. (mpz_clears): Likewise. 2012-10-07 Jim Meyering maint: avoid warning from gcc's -Wunused-macros On some systems, -Wunused-macros would warn about two macros: src/factor.c:148:0: warning: macro "__clz_tab" is not used src/factor.c:126:0: warning: macro "UHWtype" is not used * src/factor.c: Add a use to placate gcc. 2012-10-05 Jim Meyering build: avoid link failure when strerror is replaced When building the new make-prime-list program on a system for which strerror is defined to rpl_strerror, we'd get a link failure. The problem is that we're including for some definitions, but do not want the rpl_ ones, since this particular program must not be linked against gnulib (aka libcoreutils.a). This did not arise on Fedora 17 or 18, but did on Debian wheezy/sid. * src/make-prime-list.c (strerror): #undef. Build failure introduced by commit v8.19-152-gcf67e4c. 2012-10-04 Jim Meyering factor: 25% speed-up, on output * src/factor.c (print_factors_single): Use fputs and umaxtostr rather than printf with "%ju". This reduced the time required to compute and print the factors of the first 10^7 integers from over 8 seconds to 5.75s. Run this command: seq $((10**7)) | env time factor > /dev/null 2012-10-04 Jim Meyering factor: merge with preexisting factor; integrate tests; avoid warnings * src/factor.c: Renamed from factor-ng.c, with the following changes: Adjust copyright header to be consistent with others. Use xmalloc and xrealloc, to avoid segv upon OOM. Switch back to using readtokens to handle input. Diagnose invalid inputs. s/fprintf+exit/error/ (print_factors): Add comments. (strto2uintmax): Return strtol_error, not int. (read_item): Remove, no longer used. (main): Use atexit(close_stdout) so that we don't ignore failed write. * cfg.mk: Exempt src/longlong.h from several tests. Exempt run.sh from the test-list-consistency test. Exempt make-prime-list.c from numerous tests, since we won't be making it conform: it must not link with libcoreutils.a. Exempt factor-ng.c from the no-upper-case error message test. * AUTHORS (factor): Add Torbjörn and Niels. * tests/local.mk (factor_tests): Encode the 37 tests. ($(factor_tests)): Rule to generate a test script for each test. * tests/factor/run.sh: New script, marked as very expensive. * .gitignore: Ignore new generated files. * src/local.mk (src/primes.h): New rule. (noinst_PROGRAMS): Add make-prime-list. (noinst_HEADERS): Add longlong.h. Remove all wheel-related rules and files. * src/wheel-gen.pl: Remove file. maint: mark set-but-not-used variables with ATTRIBUTE_UNUSED * src/factor-ng.c (redcify, prime_p, isqrt2): Mark them, so we don't have to disable -Wunused-but-set-variable. maint: use __builtin_expect only if __GNUC__ * src/factor-ng.c (LIKELY, UNLIKELY) [__GNUC__]: Add #ifdef guard. build: avoid warning about unused macro * src/factor-ng.c (__GMP_DECLSPEC): Don't define here * src/longlong.h (__GMP_DECLSPEC): Define if not already defined. 2012-10-04 Niels Möller Torbjörn Granlund factor: more improvements * src/factor-ng.c: Import some improvements from http://gmplib.org:8000/factoring 2012-10-04 Torbjörn Granlund Niels Möller factor: new much-improved implementation; not yet integrated * src/factor-ng.c: New file, from nt-factor. * src/longlong.h: New file. * NEWS (Improvements): Mention the upcoming improvements. 2012-10-04 Jim Meyering maint: make-prime-list: syntax conventions; be robust for large N * src/make-prime-list.c: Insert spaces before parens. (main): Abort if the 8-delta value ever exceeds 255. maint: make-prime-list: do not ignore write failure Even though this is just a helper program that is run solely to create primes.h, it should not ignore a write failure. Normally we would simply call atexit (close_stdout), but we cannot do that from this helper program, since it must be built before the generated header, primes.h. If we were to make the linking of make-prime-list depend on libcoreutils.a, that would add all lib/*.o files to the list of dependents of $(BUILT_HEADERS). Then, since there is currently no provision to ensure that a file like lib/stdio.h (another built header) is built before the first lib/*.o file that also includes , some lib/*.o files would be built before lib/stdio.h and some after. The former would provoke link failures due to undefined rpl_* functions. * src/make-prime-list.c: Include . (fclose): Undef, so that a definition to rpl_fclose does not cause a link failure. (main): Per the above, in this exceptional case, we check for fclose and ferror failure manually, and don't worry about the ferror-only failure case in which errno may not be relevant. maint: make-prime-list: avoid -Wsuggest-attribute=const warning * src/make-prime-list.c: Include . (binvert): Add _GL_ATTRIBUTE_CONST. 2012-10-04 Torbjörn Granlund Niels Möller factor: prepare for the new factor program * src/make-prime-list.c: New file, from nt-factor. 2012-10-03 Jim Meyering build: remove redundant dependency: $(PROGRAMS): lib/libcoreutils.a * src/local.mk: Remove the above dependency. A soon-to-be-added new program, make-prime-list, must not depend on that, since it is used to create a BUILT_SOURCES file. That dependency is already handled via the ..._LD_ADD variables, and so that redundant dependency has so far been harmless. 2012-09-30 Jim Meyering du: avoid abort on systems for which ->me_type is not malloc'd On some systems (notably, BSD-based, like at least OpenBSD 4.9), the me_type member does not come from the heap. * src/du.c (fill_mount_table): Free the ->me_type member only when it was malloc'd, i.e., when ->me_type_malloced is nonzero. Bug introduced via commit v8.19-2-gcf7e1b5. Reported as http://bugs.gnu.org/12542. 2012-09-29 Jim Meyering doc: same correction, but now in texinfo documentation * doc/coreutils.texi (nice invocation): s/nicenesses/niceness values/ 2012-09-28 Jim Meyering doc: correct an old bit of ugliness in nice --help output * src/nice.c (usage): s/Nicenesses/Niceness values/ 2012-09-28 Pádraig Brady doc: disambiguate the niceness explanation in nice --help * src/nice.c (usage): Specify the entity (process) that that relative terms are referring to. * THANKS: Update. Reported-by: David Diggles 2012-09-28 Ondrej Oprala cp: fix the --no-preserve=mode option The --no-preserve=mode option did not do what its name implies: it would mistakenly preserve permission mode bits. * NEWS: Mention the fix. * TODO: Remove an entry. * src/copy.c (copy_reg): Add a condition to properly handle the --no-preserve=mode option for files (copy_internal): Add a condition to properly handle the --no-preserve=mode option for directories. * src/copy.h (struct cp_options): Add a new boolean. * src/cp.c (cp_option_init,decode_preserve_arg): Set the new boolean value according to specified options. * src/install.c (struct cp_options): Initialize the new boolean. * src/mv.c (struct cp_options): Initialize the new boolean. * tests/cp/preserve-mode.sh: Add a new test. * tests/cp/link-preserve.sh (-a --no-preserve=mode): Adjust the expected perms: now, --no-preserve=mode overrides the --preserve=mode that is inherent in -a, as it should. * tests/local.mk: Add the new test to the list. 2012-09-24 Pádraig Brady timeout: handle signals more transparently This was originally attempted in commit v8.12-117-g5a647a0, but reverted before release because of the unreliability of disabling core dumps using setrlimit() on Linux kernels. This new version instead uses prctl() where available to more reliably disable core dumps for the timeout process. * m4/jm-macros.m4: Define HAVE_SETRLIMIT and HAVE_PRCTL. * src/timeout.c (disable_core_dumps): A new function that disables coredumps using prctl or setrlimit if available. (main): If the child exited with a signal and we can disable core dumps, then raise that signal to the timeout process itself, so that callers may also see the signal status. Also print a message indicating when the monitored command dumped core, as that information is lost in the signal propagation through timeout. 2012-09-24 Pozsár Balázs dd: new option, status=none to suppress output statistics * src/dd.c (STATUS_NONE): A new bitmask combining all STATUS_ options, thus used to suppress all informational output. (struct symbol_value statuses): Expose the "none" option, corresponding to the STATUS_NONE bitmask above. (print_stats): Return early if STATUS_NONE is specified. Also move the call to gethrxtime() down so that it's only called when needed. (usage): Describe the new options. * doc/coreutils.texi (dd invocation): Likewise. * NEWS: Mention the new feature. * tests/dd/misc.sh: Ensure the new option works. 2012-09-23 Jim Meyering tail,stat: improve support for vmhgfs Teach tail -f that it must use polling on vmhgfs file systems, and let stat -f --format=%T report the file system type name, "vmhgfs". * src/stat.c (human_fstype): Add a case: vmhgfs, 0xbacbacbc, remote. * NEWS (Improvements): Mention it. * THANKS.in: Update. Reported by Daniel Tschinder in http://bugs.gnu.org/12461. 2012-09-20 Jim Meyering build: move non-recursive-gnulib-prefix-hack to gnulib; update I've moved the non-recursive-gnulib-prefix-hack module to gnulib, with two small improvements, so remove it from here and update gnulib to the latest. * gl/build-aux/prefix-gnulib-mk: Remove file. * gl/m4/non-recursive-gnulib-prefix-hack.m4: Remove file. * gl/modules/non-recursive-gnulib-prefix-hack: Remove file. * gnulib: Update to latest. 2012-09-19 Jim Meyering rm: be even more careful when using a replacement errno value * src/remove.c (excise): The change in commit v8.19-107-gccbd3f3 made the "rm -rf D" (for unreadable dir, D) diagnostic worse on Solaris 10: -rm: cannot remove 'D': Permission denied +rm: cannot remove 'D': File exists That happened because unlinkat would fail with EEXIST there, given an unreadable directory, which made the two tests, tests/rm/unread2 and tests/rm/unreadable fail. Accommodate the EEXIST case, too. maint: fix a comment typo * cfg.mk: Fix comment typo: s/recursive/non-recursive/ make 2012-09-18 Jim Meyering tests: cp/link-heap: avoid new failure on rawhide * tests/cp/link-heap.sh: Increase virtual memory limit by 2000KiB -- from 20,000 to 22,000 KiB -- to avoid a new failure on rawhide. maint: make the tight-scope syntax-check rule work again * cfg.mk: Configure a few variable to make the tight-scope rule work. * gnulib: Update submodule to latest. 2012-09-18 Benno Schulenberg dd: remove references to the word BLOCKS from help and texi docs The renaming from BLOCKS to N was done in v8.15-38-g140eca1, and documentation for N was added again in v8.17-26-g4f2e9d5 without noticing that. Now, finally remove the word BLOCKS from the documentation. * src/dd.c (usage): Remove the word BLOCKS. * doc/coreutils.texi (dd invocation): Likewise. Improved by: Bernhard Voelker 2012-09-18 Jim Meyering doc: NEWS: mention the conversion to non-recursive make * NEWS (Build-related): Mention the non-recursive make improvement. Improved by: Pádraig Brady 2012-09-16 Pádraig Brady ls: fix coloring of dangling symlinks in default listing mode When listing a directory containing dangling symlinks, and not outputting a long format listing, and orphaned links are set to no coloring in LS_COLORS, then the symlinks would get no color rather than reverting to the standard symlink color. The issue was introduced in v8.13-19-g84457c4 * src/ls.c (print_color_indicator): Use the standard method to check if coloring is specified for orphaned symlinks. The existing method would consider 'or=00' or 'or=0' as significant in LS_COLORS. Even 'or=' was significant as in that case the string='or=' and the length=0. Also apply the same change for missing symlinks for consistency. (gobble_file): Remove the simulation of linkok, which is only tested in print_color_indicator() which now handles this directly by keying on the LS_COLORS values correctly. * tests/misc/ls-misc.pl: Add a test case. * THANKS: Add the reporter. * NEWS: Mention the fix. Reported-by: David Matei 2012-09-15 Jim Meyering doc: update seq description * doc/coreutils.texi (seq invocation): Update an example and mention that with the new constraints, seq can print arbitrarily large numbers. 2012-09-14 Pádraig Brady seq: enable the fast integer printing code in more cases * src/seq.c (main): Adjust the initial arbitrary precision seq_fast enablement checks to be more maintainable, and a little more general, by allowing single character separators to use seq_fast. Also check again after the number arguments are processed, to see if we can still use seq_fast, which while not allowing arbitarly large integers, it will handle integers of the form 10E10 etc. (seq_fast): Use a specified separator character, rather than hardcoding '\n'. 2012-09-14 Jim Meyering build: do not rely on automake's AM_TESTS_ENVIRONMENT * tests/local.mk (TESTS_ENVIRONMENT): Rename from AM_TESTS_ENVIRONMENT, since it is not honored in automake-1.11.3 after all. This reverts commit v8.19-38-g34c9c8f. For now, I'll leave the following commit that made bootstrap.conf require 1.11.2. Prompted by a report of test failure from Pádraig Brady. build: don't prefix the RHS of "GPERF = ..." with "lib/" * gl/build-aux/prefix-gnulib-mk (prefix_assignment): Exempt the RHS of a "GPERF = ..." assignment from lib/ prefixing. 2012-09-14 Jim Meyering seq: 70x faster for non-negative whole numbers and incr==1 Handle non-negative whole numbers robustly and efficiently when the increment is 1 and when no format-changing option is specified. On the correctness front, for very large numbers, seq now works fine: $ b=1000000000000000000000000000 $ src/seq ${b}09 ${b}11 100000000000000000000000000009 100000000000000000000000000010 100000000000000000000000000011 while the old one would infloop, printing garbage: $ seq ${b}09 ${b}11 | head -2 99999999999999999997315645440 99999999999999999997315645440 The new code is much more efficient, too: Old vs new: 55.81s vs 0.82s $ env time --f=%e seq $((10**8)) > /dev/null 55.81 $ env time --f=%e src/seq $((10**8)) > /dev/null 0.82 * seq.c (incr): New function, inspired by the one in cat.c. (cmp, seq_fast): New functions, inspired by code in nt-factor by Torbjörn Granlund and Niels Möller. (trim_leading_zeros): New function, without which cmp would malfunction. (all_digits_p): New function. (main): Hoist the format_str-vs-equal_width check to precede first treatment of operands, and insert code to call seq_fast when possible. * NEWS (Bug fixes): Mention the correctness fix. (Improvements): Mention the speed-up. * tests/misc/seq.pl: Exercise the new code. Improved by: Bernhard Voelker. http://thread.gmane.org/gmane.comp.gnu.coreutils.general/3340 2012-09-14 Jim Meyering tests: reenable "make -C tests ..." commands The README-documented way to run individual tests was invalidated by the conversion of tests/ to non-recursive make. Add a GNUmakefile shim to reenable that usage. * tests/GNUmakefile: New file, so that "make -C tests ..." works like it did before the conversion of tests/ to non-recursive build. Reported by Bernhard Voelker. * Makefile.am (EXTRA_DIST): Add it. * cfg.mk (sc_prohibit_tab_based_indentation): Also exempt any GNUmakefile from this syntax-check. 2012-09-12 Stefano Lattarini build: fixup: correctly recognize if perl is missing * configure.ac: Here, by adding a missing '*' to the wildcard in a 'case' construct over the contents of $PERL. Introduced in commit v8.19-41-g00f5ba1. 2012-09-12 Bernhard Voelker maint: mbsalign.h: fix typo from previous comment edit * gl/lib/mbsalign.h: Fix comment typo. 2012-09-11 Jim Meyering build: build lib/ using non-recursive make * bootstrap.conf (gnulib_modules): Use the new module. (bootstrap_post_import_hook): Invoke prefix-gnulib-mk. * configure.ac (AC_CONFIG_FILES): Remove lib/Makefile. * lib/Makefile.am: Renamed... * lib/local.mk: ...to this. * src/local.mk (CLEANFILES): Append, don't set. (noinst_LIBRARIES): Likewise. (AM_CPPFLAGS): Don't set this here. * Makefile.am (AM_CPPFLAGS): Define here instead. (noinst_LIBRARIES, CLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES): Initialize here, so we can append to them from each included local.mk (SUBDIRS): Remove "lib". 2012-09-11 Jim Meyering build: handle @ALLOCA@-vs-non-recursive make problems Here is a good reason to avoid alloca with non-recursive make. These: $ grep @ALLOCA lib/gnulib.mk lib_libcoreutils_a_LIBADD += lib/@ALLOCA@ lib_libcoreutils_a_DEPENDENCIES += lib/@ALLOCA@ would lead to this, when @ALLOCA@ expands to the empty string, which is essentially "always", now: $ grep ' lib/$' Makefile lib_libcoreutils_a_LIBADD = $(gl_LIBOBJS) lib/ lib_libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) lib/ Tell the prefix-adding script not to add a prefix when the word it's prefixing is "@ALLOCA@". That is fine for most cases, but what about when the expansion of @ALLOCA@ is nonempty? * build-aux/prefix-gnulib-mk (prefix_word): Exclude @ALLOCA@. * gl/m4/non-recursive-gnulib-prefix-hack.m4: Prefix non-empty $ALLOCA with "lib/". FIXME: I'm not sure this is required, now that we... Use AC_CONFIG_LIBOBJ_DIR([lib]). Without using AC_CONFIG_LIBOBJ_DIR([lib]), automake (not autoconf) would complain of failure to find aclocal.c, due to the use of AC_LIBSOURCES(alloca.c). 2012-09-11 Jim Meyering build: new module to convert lib/ to non-recursive make * gl/modules/non-recursive-gnulib-prefix-hack: New module. * gl/m4/non-recursive-gnulib-prefix-hack.m4: (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): This is the snippet that this module inserts near the end of configure. * gl/build-aux/prefix-gnulib-mk: New script, from bison. Changes from the code in bison: (prefix_assignment): Split a long line. (prefix): Add trailing slashes to avoid a single false match. Prefix imaxtostr.c and the other *tostr.c file names manually. Also, use $prefix in place of hard-coded "lib/". 2012-09-11 Bernhard Voelker maint: gen-lists-of-programs.sh: fix typo from previous comment edit * build-aux/gen-lists-of-programs.sh: Fix comment typo. 2012-09-11 Pádraig Brady maint: add more control flags to mbsalign * gl/lib/mbsalign.h: Add MBA_UNIBYTE_ONLY (to allow faster processing). Also add MBA_NO_LEFT_PAD, MBA_NO_RIGHT_PAD to give greater control of padding, useful with the first or last fields on a line. * gl/lib/mbsalign.c (mbsalign): Implement the new flags. * gl/tests/test-mbsalign.c (main): Test combinations of the new flags. 2012-09-10 Jim Meyering maint: allow per-directory CFLAGS settings with non-recursive make * src/local.mk (AM_CFLAGS): Don't use $(WARN_CFLAGS) here. * cfg.mk (src_CFLAGS, lib_CFLAGS, gnulib-tests_CFLAGS): Define here instead. (AM_CFLAGS): Augment using the above. * configure.ac: Note that the configure-time option, --enable-gcc-warnings now functions only when using GNU make. Well, currently it does still work in gnulib-tests, but that should soon be fixed. Improved-by: Stefano Lattarini maint: gen-lists-of-programs.sh: improve comments * build-aux/gen-lists-of-programs.sh: Improve comments. build: do not require help2man at build-from-tarball time But do retain full dependencies when building from a git clone. We do this by converting the full dependency (of the .1 file on the binary we run with --help) into a dependency on the .c file. * Makefile.am (do-not-require-help2man): New rule. (dist-hook): depend on it. build: fix a minor man-page generation dependency error * man/local.mk (man/dir.1): Depend on src/dir, not src/ls. maint: move the last coreutils-specific files from lib/ to gl/ Convert the few remaining coreutils-specific files in lib/ to gnulib-style modules under gl/, removing their corresponding .m4 files, since the information recorded in those files is better stored in module-description file in gl/modules/. * bootstrap.conf (gnulib_modules): Add new modules: fd-reopen, buffer-lcm, xfts, strnumcmp. * gl/lib/buffer-lcm.c: Renamed from the file in lib/. * gl/lib/buffer-lcm.h: Likewise. * gl/lib/fd-reopen.c: Likewise. * gl/lib/fd-reopen.h: Likewise. * gl/lib/strintcmp.c: Likewise. * gl/lib/strnumcmp-in.h: Likewise. * gl/lib/strnumcmp.c: Likewise. * gl/lib/strnumcmp.h: Likewise. * gl/lib/xfts.c: Likewise. * gl/lib/xfts.h: Likewise. * gl/modules/buffer-lcm: New module-description file. * gl/modules/fd-reopen: Likewise. * gl/modules/strnumcmp: Likewise. * gl/modules/xfts: Likewise. * m4/fd-reopen.m4: Remove, no longer needed. * m4/strnumcmp.m4: Likewise. * m4/xfts.m4: Likewise. * m4/prereq.m4: Do not AC_REQUIRE the m4 functions from our just-removed m4/*.m4 files. maint: move gl/m4/root-dev-ino.m4 contents into its module definition We can get the same effect using the modules file. * gl/m4/root-dev-ino.m4: Remove file. * gl/modules/root-dev-ino (Depends-on): Add lstat. (Files): Remove m4/root-dev-ino.m4. (Makefile.am) [lib_SOURCES]: Add root-dev-ino.c and root-dev-ino.h. (configure.ac): Remove reference to gl_ROOT_DEV_INO. 2012-09-08 Jim Meyering maint: adjust ChangeLog to correct Author * build-aux/git-log-fix: Add an entry to correct the Author: of v8.19-111-g51a4b04. It should be Ondrej Oprala, not me. 2012-09-07 Jim Meyering factor: NEWS and tests * NEWS (Bug fixes): Mention it. * tests/misc/factor.pl: Add five of Torbjörn's tests. 2012-09-07 Torbjörn Granlund factor: don't ever declare composites to be prime The multiple-precision factoring code (with HAVE_GMP) was copied from a now-obsolete version of GMP that did not pass proper arguments to the mpz_probab_prime_p function. It makes that code perform no more than 3 Miller-Rabin tests only, which is not sufficient. A Miller-Rabin test will detect composites with at least a probability of 3/4. For a uniform random composite, the probability will actually be much higher. Or put another way, of the N-3 possible Miller-Rabin tests for checking the composite N, there is no number N for which more than (N-3)/4 of the tests will fail to detect the number as a composite. For most numbers N the number of "false witnesses" will be much, much lower. Problem numbers are of the form N=pq, p,q prime and (p-1)/(q-1) = s, where s is a small integer. (There are other problem forms too, involving 3 or more prime factors.) When s = 2, we get the 3/4 factor. It is easy to find numbers of that form that cause coreutils' factor to fail: 465658903 2242724851 6635692801 17709149503 17754345703 20889169003 42743470771 54890944111 72047131003 85862644003 98275842811 114654168091 117225546301 ... There are 9008992 composites of the form with s=2 below 2^64. With 3 Miller-Rabin tests, one would expect about 9008992/64 = 140766 to be invalidly recognized as primes in that range. * src/factor.c (MR_REPS): Define to 25. (factor_using_pollard_rho): Use MR_REPS, not 3. (print_factors_multi): Likewise. * THANKS.in: Remove my name, now that it will be automatically included in the generated THANKS file. 2012-09-07 Ondrej Oprala tests: improve checks for setuidgid-using root-only tests * init.cfg (setuidgid_has_perm_): New function. (require_root_): Use it. Improved-by: Bernhard Voelker * NEWS (Build-related): Mention the improvement. 2012-09-06 Eric Blake build: default to --enable-gcc-warnings for git tree Anyone developing on coreutils can be assumed to have a new enough environment, such that enabling gcc warnings by default will be useful. Tarballs still default to no warnings, and the defaults can still be overridden with --disable-gcc-warnings. * configure.ac (gl_gcc_warnings): Set default based on environment. Suggested by Bernhard Voelker. 2012-09-06 Pádraig Brady nproc: disallow non option command line parameters * src/nproc.c (main): Error if any non option parameters. * NEWS: Mention the change in behavior. 2012-09-06 Jim Meyering tail,stat: add support for VZFS * src/stat.c (human_fstype): Add a case: vzfs, 0x565A4653 (local). Reported by Jens Rosenboom in http://bugs.gnu.org/12356 * NEWS (Improvement): Mention it. 2012-09-05 Jim Meyering rm: be more careful when using a replacement errno value * src/remove.c (excise): Tighten the test for when we defer to an old errno value: instead of relying solely on an FTS_DNR (unreadable directory) failure, also test current and replacement errno values. This change would also have solved the problem addressed by commit v8.19-106-g57dd067. For more info, see http://bugs.gnu.org/12339#113 rm: avoid bogus diagnostic for a slash-decorated symlink-to-dir These commands would evoke an invalid diagnostic: $ mkdir d && ln -s d s && env rm -r s/ rm: cannot remove 's': Too many levels of symbolic links remove.c was stripping trailing slashes from "s/" before passing the name to "rm". But a trailing slash may change the semantics, and thus should not be stripped. * src/remove.c (rm_fts): Do not strip trailing slashes. * tests/rm/v-slash.sh: Adapt to new expected output. * gnulib: Update to latest, for an improved fts.c that merely normalizes trailing slashes. Reported by Paul Eggert in discussion of http://bugs.gnu.org/12339 tests: depend on the programs we're testing * tests/local.mk ($(TEST_LOGS)): Depend on $(PROGRAMS), so that tests are rerun when any program is rebuilt. Technically, we could specify precisely which few programs are dependents of each test, but that can come later, if deemed worth the trouble and maintenance burden. Also, there is the issue of the primary program(s) being tested (i.e., those itemized via print_ver_) versus those that are tested incidentally: for example, nearly every test exercises "rm" when its clean-up code removes files. 2012-09-05 Stefano Lattarini maint: fix a spurious syntax-check failure * cfg.mk (exclude_file_name_regexp--sc_file_system): Exempt 'init.cfg', not 'tests/init.cfg'. tests: more resilient about tainted absolute srcdir path * tests/init.cfg (stty_reversible_init_): Quote '$abs_top_srcdir' properly. (fiemap_capable_): Quote '$abs_srcdir' properly. (require_dirent_d_type_): Likewise. maint: fix syntax checks 'sc_root_tests' * cfg.mk: Don't work by trying to parse the (now gone) file 'tests/Makefile.am'; rather, use the contents of the make variable, $(all_root_tests), introduced few commits ago. Fix a few unrelated cosmetic issues while at it. maint: avoid a spurious syntax-check error * cfg.mk (exclude_file_name_regexp--sc_prohibit_test_backticks): Exempt 'tests/local.mk' rather than 'tests/Makefile.am'. 2012-09-05 Stefano Lattarini maint: vc_exe_in_TESTS should actually be a syntax check Because it requires the presence of the '.git' directory, that is, can be run only for maintainers working from checked-out sources. * tests/local.mk (vc_exe_in_TESTS): Rename and move ... * cfg.mk (sc_tests_list_consistency): ... here, with minor adjustments. 2012-09-05 Stefano Lattarini build: remove two now-useless convenience targets * src/local.mk (built_programs.list, all_programs.list): These. tests: put test-suite.log back in 'tests/' * tests/local.mk (TEST_SUITE_LOGS): Define to 'tests/test-suite.log'. build: don't use recursive make for tests/ subdirectory * Makefile.am (SUBDIRS): Remove 'tests'. (include): The '$(top_srcdir)/tests/local.mk' file. (check-root): Remove this convenience target, it's no longer needed now that the "real" check-root target once in 'tests/Makefile' will land in the top-level makefile. * configure.ac (AC_CONFIG_FILES): Remove 'tests/Makefile'. * tests/Makefile.am: Rename ... * tests/local.mk: ... like this, with a lot of adjustments. * tests/init.cfg: Move ... * init.cfg: ... here. This is necessary, for a limitation of the gnulib-provided 'tests/init.sh', which unconditionally look for 'init.cfg' in the $(srcdir) directory. * tests/*/*.sh: Adjust: expect init.sh to be in '$srcdir/tests', not in '$srcdir', and extend $PATH with './src', not with '../src'. * tests/Coreutils.pm: Adjust similarly. * tests/pr/pr-tests.pl ($pfx): Likewise. 2012-09-05 Stefano Lattarini maint: list of names of built programs available in the Makefiles This is just a preparatory refactoring in view of future changes. * configure.ac (AC_SUBST): New 'built_programs'. * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Simply define the exported variable 'built_programs' to the expansion of the '$(built_programs)' AC_SUBST'd make variable. (.built-programs): Remove this now-unneeded convenience target. (CLEANFILES, check_DATA): Delete, no longer needed. 2012-09-05 Stefano Lattarini maint: remove anachronistic syntax-check * cfg.mk (sc_no_exec_perl_coreutils): This. Our new testsuite layout (perl tests having '.pl' suffix, shell tests having '.sh' suffix) makes it basically impossible to run into the issue this check guarded against. maint: remove duplicated declaration of the 'sc_check-AUTHORS' target * cfg.mk: Here. 2012-09-05 Stefano Lattarini tests: remove the unused 'root-hint' target * tests/Makefile.am (root-hint): Here. The interested user can see the reasons why some tests are skipped by looking at the messages they display on the console; here's an excerpt: ... PASS: misc/id-groups.sh id-setgid.sh: skipped test: must be run as root SKIP: misc/id-setgid.sh PASS: misc/md5sum.pl ... PASS: df/total-verify.sh 2g.sh: skipped test: very expensive: disabled by default SKIP: du/2g.sh ... Clear enough, and more specific and precise that a generic "some tests might need to be run as root" message. And if that user is interested in making those tests run anyway, he'll just take a look to the README files to look for info. So there's no reason to pollute the stdout with another "hint" that is subsumed by those messages, and that might go unnoticed anyway. Moreover, and possibly more importantly, that hint wasn't being displayed anyway, even before this change! That's because the 'root-hint' target was listed as prerequisite for the 'check-recursive' target, which however was not a dependency of the 'check' target in 'tests/Makefile.am', because that file contains no $(SUBDIRS) definition. 2012-09-05 Stefano Lattarini tests: use suffix, not exec-bit, to tell which files are tests * tests/Makefile.am (vc_exe_in_TESTS): Adjust to look, in the 'tests/' subdirectory, for files that have one of the extensions listed in $(TEST_EXTENSIONS), rather than for executable files. maint: make vc_exe_in_TESTS also work in VPATH builds * tests/Makefile.am (vc_exe_in_TESTS): It is easy to adjust this recipe to also work in VPATH setups, also thanks to modifications done by previous changes. maint: remove useless dependency for vc_exe_in_TESTS * tests/Makefile.am (vc_exe_in_TESTS): No need to depend on Makefile: this target is .PHONY, so it is always run anyway. maint: avoid parsing of Makefile.am from vc_exe_in_TESTS * tests/Makefile.am (TESTS): Rename ... (all_tests): ... like this, so that we'll still be able to know the complete list of our tests even if the user overrides TESTS from the command line (which he's allowed to do by the test harness API). (root_tests): Rename ... (all_root_tests): ... like this, for similar reasons. (TESTS, root_tests): Redefine their defaults to to $(all_tests) and $(all_root_tests) respectively. (vc_exe_in_TESTS): It can now safely use $(all_tests) to get the complete list of test cases according to the Makefile, instead of having to resort to "parsing" of Makefile.am. (EXTRA_DIST): Use $(all_tests), not $(TESTS). (v_, w_): Delete, no longer needed. build: use 'check-local' to extend the 'check' target * tests/Makefile.am (check-local): Here, by making this depend on 'vc_exe_in_TESTS' ... (check): ... rather than making this depend on them. While the old usage worked, it relied on an implementation detail rather than on documented behavior. * src/local.mk (check-local): Similarly, make this depend on 'check-README' and 'check-duplicate-no-install' ... (check): ... rather than on this. 2012-09-02 Stefano Lattarini scripts: autotools-install: allow user-specified make program * scripts/autotools-install: Honor $MAKE. This might be useful on systems where the make implementation available in $PATH by default is limited (Solaris) or broken (HP-UX). scripts: autotools-install: style and portability fixes * scripts/autotools-install: Here. 2012-09-02 Benno Schulenberg touch: line up long option in --help text * src/touch.c (usage): Indent --time=... to line up with all of the other long options. 2012-09-02 Jim Meyering maint: disable sc_proper_name_utf8_requires_ICONV test It would still pass, but would print many diagnostics like this: Can't open src/Makefile.am: No such file or directory. * cfg.mk (local-checks-to-skip): Temporarily disable a test. This test will need to be adapted to work with a non-recursive build set-up, in which there is no Makefile.am alongside each program. Reported by Bernhard Voelker. maint: accommodate upcoming, expanded list of warnings from gnulib * configure.ac: Disable a new gcc warning, -Wsuggest-attribute=format, since it triggers on copy.c (which I'm not inclined to adjust) and factor.c's use of vfprintf which would appear to require a change to stdio.h. 2012-09-01 Stefano Lattarini maint: fix build_programs definition not to use "make -C src ..." * dist-check.mk (built_programs): There's no need to issue recursive make calls in 'src/' to define this (in fact, that works no longer now that 'src/Makefile.am' is gone). Simply define this to the sorted contents of $(bin_PROGRAMS), with the 'src/' prefix and the $(EXEEXT) suffix (if any) removed. Reported by Jim Meyering. 2012-09-01 Jim Meyering build: restore handling of space-tainted build directory name * man/local.mk: With commit v8.19-84-g08cf455, man page creation would fail when using a build directory name containing e.g., spaces. build: make each man/prog.1 depend on src/prog, not src/prog.c * man/local.mk: Creating a prog.1 man page requires running src/prog --help. List the exceptions, e.g., install.1 depends on src/ginstall and arch.1 depends on src/uname. maint: check-programs-vs-x: avoid a new syntax-check failure * cfg.mk (check-programs-vs-x): The new variable, $(all-progs-but-lbracket) contains libstdbuf.so, and it does not have a corresponding .x file, so exempt it. maint: avoid distcheck failure by properly cleaning $(ALL_MANS) * man/local.mk (distclean-local): Remove $(ALL_MANS) when doing a VPATH build. If it's not done, generated manpages can be left around in the build directory after a "make distclean", causing failures in "make distcheck". 2012-09-01 Stefano Lattarini maint: port manpages generation to VPATH builds * man/local.mk (.x.1): Use '$(MKDIR_P)' rather than bare 'mkdir' where appropriate. Reported by Jim Meyering. 2012-09-01 Jim Meyering build: fix VPATH issues in C compilation * src/local.mk (AM_CPPFLAGS): Add 'src' to the directories that are searched for #include'd files. 2012-09-01 Stefano Lattarini maint: simplify declaration of "libexec" programs * configure.ac: No need to use 'gl_ADD_PROG' and an indirection variable '$optional_pkglib_progs' to declare the 'libstdbuf.so' "libexec" program; the decision to whether compile that program is not up to the user, but it only and simply depends on whether the 'stdbuf' "bin" program is to be built or not. build: $(mandeps): new, to factor out man pages dependencies * man/local.mk (mandpep): Rename ... (mandeps): ... like this. Make $(ALL_MANS) depend on its content. List 'src/system.h' in here, instead of making $(ALL_MANS) depend on it explicitly. (man/*.1): No need to list $(mandep) among the dependencies any longer. build: enhance man pages cleaning and dependencies * man/local.mk: All of the manpages should depend on 'src/system.h', and all of them should be cleaned by "make maintainer-clean", that is, added to MAINTAINERCLEANFILES. Make it be so. Some minor cosmetic tweakings and reorderings while at it. build: simplify: get rid of yet some more indirection variables * configure.ac: Adjust and improve few comments. (MAN): Rename ... (man1_MANS): ... to this. Ensure it isn't initialized in all Makefiles (which would lead to spurious errors), by calling AM_SUBST_NOTMAKE on it. Also call AM_SUBST_NOTMAKE on 'EXTRA_MANS', for consistency. * man/local.mk (man1_MANS): Simply define to '@man1_MANS@'. 2012-09-01 Stefano Lattarini build: rename dist_man1_MANS -> man1_MANS And list $(man1_MANS) directly in $(EXTRA_DIST) instead. This is similar to what is done for $(EXTRA_MANS), thus improving consistency and readability. * man/local.mk (dist_man1_MANS): Rename ... (man1_MANS): ... like this. (EXTRA_DIST): Add its contents. * cfg.mk (check-x-vs-1): Fix a botched comment. 2012-09-01 Stefano Lattarini build: one less unneeded make variable * man/local.mk (man_aux): This was used only once, so inline its expansion at its sole point of use ... (EXTRA_DIST): ... here. 2012-09-01 Stefano Lattarini build: simplify and make more portable to non-GNU make The AC_SUBST'd variable '$(NO_INSTALL_PROGS_DEFAULT)' is only used in makefile expressions expanding the list of manual pages that are not built by default (but might need to be when a distribution tarball is created). Such expressions exploited a feature of make variable expansion -- namely, $(VAR:%=dir/%.x) -- that, while seemingly quite portable in practice, is not POSIX-conforming, and could break on lesser vendor make implementations. So kill two birds with one stone, by getting rid of the $(NO_INSTALL_PROGS_DEFAULT) intermediate variable and improving makefile portability in the process. While at it, we also clean up some other minor naming inconsistency and useless indirection. * configure.ac (NO_INSTALL_PROGS_DEFAULT): Don't define or AC_SUBST anymore; instead ... (EXTRA_MANS): ... define and AC_SUBST these. * man/local.mk (extra_man_1): Rename ... (EXTRA_MANS): ... like this, explicitly making clear it's AC_SUBST'd. (extra_man_x): It's used only once, no need to define it; just inline its only expansion where needed. (EXTRA_DIST): Adjust. (ALL_MANS): New, union of $(EXTRA_MANS) and $(dist_man1_MANS). * cfg.mk (check-x-vs-1, sc_option_desc_uppercase): Rely on $(ALL_MANS) rather than on $(NO_INSTALL_PROGS_DEFAULT) and $(dist_man1_MANS). 2012-09-01 Stefano Lattarini build: simplify: get rid of some indirection variables The code deciding which coreutils programs to build (depending on defaults, system capabilities, and user requests) is overly complex and rather confusing. Let's begin simplifying it by removing some non-strictly-necessary indirection variables. * configure.ac: Adjust and improve few comments. (OPTIONAL_BIN_PROGS, OPTIONAL_PKGLIB_PROGS): Rename ... (bin_PROGRAMS, pkglibexec_PROGRAMS): ... like these, respectively. Ensure they aren't initialized in all Makefiles (which would lead to spurious errors), by calling AM_SUBST_NOTMAKE on them. * src/local.mk: Adjust and improve few comments. (bin_PROGRAMS, pkglibexec_PROGRAMS): Simply define to the corresponding '@substitution@'. 2012-09-01 Stefano Lattarini maint: update gitignore entries * src/.gitignore: Here, adding the '.dirstamp' file generated by the C compilation rules. maint: fix one stray reference to src/Makefile.am * build-aux/gen-lists-of-programs.sh: In heading comments here. 2012-09-01 Stefano Lattarini maint: fix and simplify maintainer checks Some of them can be simplified after the previous changes, some of them have been downright broken by them, and need fixing. * src/local.mk: Adjust some comments. (EXTRA_DIST): Avoid SPACE-TAB sequences. (src/dircolors.h, src/fs.h src/fs-is-local.h): Avoid 8-SPACES indentation. (_sc_check-AUTHORS): Move ... * cfg.mk (sc_check-AUTHORS): ... here (superseding the old rule with the same name, that was just a recursive invocation to it). Adjust the paths of the invoked coreutils programs, to account for the fact that this rule now runs in the top-level build dir, not in the 'src/' subdir. Other minor cosmetic adjustments. (ALL_RECURSIVE_TARGETS): Remove 'sc_option_desc_uppercase' and 'sc_man_file_correlation', since they no longer entail any recursive make invocation. (sc_option_desc_uppercase): Remove dependency from $(all_programs): it isn't actually needed. (check-programs-vs-x): Likewise. Also, fix heading comments to truly reflect what this check does. (all-progs-but-lbracket): Strip the 'src/' prefix from each entry in the list of programs; this avoids a spurious failure in the 'check-programs-vs-x' recipe. (.PHONY): No need to list targets 'sc_man_file_correlation' and 'sc_option_desc_uppercase': they are automatically declared phony by 'maint.mk', being recognized as syntax checks. 2012-09-01 Stefano Lattarini maint: remove unused target 'install-root' It was unneeded and broken since the removal of 'su' from GNU coreutils, in commit v8.17-16-g928dd73 of 2012-06-06, "su: remove program (util-linux is now the best source for it)". * Makefile.am (install-root): Remove. (ALL_RECURSIVE_TARGETS): Update. 2012-09-01 Stefano Lattarini maint: improve remake rules for maintainers This is a follow up on today's commit v8.19-60-g4f2e62b". * Makefile.am ($(top_srcdir)/m4/cu-progs.m4, $(srcdir)/src/cu-progs.mk): New, generate these files from the 'build-aux/gen-lists-of-programs.sh', the same way it's done from the bootstrap script. * bootstrap.conf (bootstrap_post_import_hook): Add comment about the necessity to keep those new rules synced with the commands here. Enhance those commands so to that the generated files are set read-only. 2012-09-01 Stefano Lattarini build: fix generation of manpages for programs not built by default * src/local.mk (dist-hook): Don't use this to ensure all the programs, even the ones disabled by default or by the user, are built (doing so is required to ensure the distributed manpages are properly built). This would build those programs too late anyway, causing errors like: $ make dist make dist-xz am__post_remove_distdir='@:' make[1]: Entering directory `~/src/coreutils' GEN man/arch.1 help2man: can't get '--help' info from man/arch.td/arch make[1]: *** [man/arch.1] Error 127 make[1]: Leaving directory `~/src/coreutils' make: *** [dist] Error 2 Instead, ... * man/local.mk (extra_man_x, extra_man_1): define these ... ($(extra_man_1)): ... and make this depend on $(all_programs). (EXTRA_DIST): Adjust. Adjust some comments as well. 2012-09-01 Stefano Lattarini build: don't use recursive make to build the 'src' subdirectory * Makefile.am (SUBDIRS): Remove 'src'. Ensure '.' is listed before 'tests' and 'gnulib-tests'. (dist-hook): Adjust: we must now tweak the top-level Makefile.in in $(distdir), not the one in the 'src/' subdir (which is gone). (include): The '$(top_srcdir)/src/local.mk' file. * build-aux/gen-lists-of-programs.sh: Adjust the generation of the automake input fragment. * tests/Makefile.am (.built-programs): Adjust. * cfg.mk (all_programs): Remove this convenience rule; it's no longer needed, now that we can rely directly on the contents of $(all_programs). (sc_option_desc_uppercase, check-programs-vs-x:): Adjust lists of prerequisites accordingly. (all-progs-but-lbracket): Simplify definition accordingly. * configure.ac ($OPTIONAL_BIN_PROGS): Adjust definition. ($OPTIONAL_PKGLIB_PROGS): Likewise. ($NO_INSTALL_PROGS_DEFAULT): Tweak definition, for consistency. (AC_CONFIG_FILES): Remove 'src/Makefile'. * src/Makefile.am: Rename ... * src/local.mk: ... like this, with a lot of adjustments. In addition ... (all_programs): ... remove this now-unneeded convenience target. 2012-09-01 Stefano Lattarini build: refactor how lists of coreutils programs are defined This is in preparation of future changes. Still, this patch leaves the build system in a better shape; true, with more indirections, but also with less convoluted and brittle hacks. Unfortunately, this commit also makes some rebuild rules incomplete; that will son be fixed by follow-up patches. * build-aux/gen-lists-of-programs.sh: New, generates autoconf and automake input fragments that define "lists" of all coreutils programs, with further distinctions about how and when these programs should be built (by default; if the system is capable enough; only if the user asks for them explicitly). This is useful to avoid duplicating the definitions of these lists among several files (at least 'configure.ac' 'src/Makefile.am'); such duplication had proved a source of inconsistencies and bugs in the past. And the pre-existing way to avoid such duplication, as implemented in 'configure.ac' before this patch, was overly complex and brittle. * Makefile.am (EXTRA_DIST): Distribute the new script. * bootstrap.conf (bootstrap_post_import_hook): Run the new script to generate 'm4/cu-progs.m4' and 'src/cu-progs.mk'. * .gitignore: Ignore those files. * configure.ac: Include 'm4/cu-progs.m4', and decidedly simplify most of the program lists definition and processing accordingly. * src/Makefile.am: Similarly include 'src/cu-progs.mk', containing definition of variables $(default__progs), $(no_install__progs) and $(build_if_possible__progs). Accordingly ... (no_install__progs, build_if_possible__progs): ... remove. (EXTRA_DIST): Adjust definition. Adjust a comment. 2012-09-01 Stefano Lattarini maint: add our 'bootstrap_post_import_hook' function This is in preparation of future changes. * bootstrap.conf (bootstrap_post_import_hook): New, will be executed by bootstrap after gnulib-tool but before the autotools. Move creation of dummy ChangeLog into it. 2012-08-31 Eric Blake build: work with new glibc when not optimizing Starting with glibc 2.15, the system headers refuse to compile unconditional use of FORTIFY_SOURCE if optimization is disabled but -Werror is in effect. * configure.ac (FORTIFY_SOURCE): Make conditional. 2012-08-31 Jim Meyering scripts: fix the Signed-off-by:-prohibiting hook to actually work * scripts/git-hooks/commit-msg: Fix new test: we're searching a multi-line buffer, so add the //m modifier. 2012-08-31 Stefano Lattarini maint: make required gettext version consistent * bootstrap.conf ($buildreq): Require gettext >= 0.18.1, consistently with the call to AM_GNU_GETTEXT_VERSION in configure.ac. 2012-08-31 Stefano Lattarini maint: get rid of obsolete script 'cvsu' It was useful only back when coreutils used CVS as its version control system. * build-aux/cvsu: Delete. * Makefile.am (EXTRA_DIST): Remove it. * cfg.mk: Remove the two exemptions for this removed file. 2012-08-31 Stefano Lattarini build: don't use '$<' in non-suffix rules * src/Makefile.am (fs-def): Here: it's not portable to some non-GNU make implementations. maint: more uses of $(ASSORT) * src/Makefile.am (fs-kernel-magic, fs-magic): Here, instead of inlining its expansion "LC_ALL=C sort". maint: remove unused variable in src/Makefile.am * src/Makefile.am (editpl): This. 2012-08-31 Stefano Lattarini build: don't use foo_LDADD if there's no foo program For example, instead of factoring out the extra linker flags needed by 'cp', 'mv' ind 'install' into a '$(copy_LDADD)' variable, factor them out in a '$(copy_ldadd)' variable. Partly a minor cleanup, partly a preparation for future changes. * src/Makefile.am (copy_LDADD): Rename ... (copy_ldadd): ... like this. (remove_LDADD): Rename ... (remove_ldadd): ... like this. All uses adjusted. Some comments updated. 2012-08-31 Stefano Lattarini build: some refactorings in cfg.mk Partly a minor cleanup, partly a preparation for future changes. * Makefile.am (all_programs): Rename ... (all-progs-but-lbracket): ... like this, and re-define it to expand at make time rather than only at recipe time (i.e., using $(shell ...) instead of `...`). (check-programs-vs-x): Adjust. 2012-08-31 Stefano Lattarini build: move definition of 'all_programs' in cfg.mk * Makefile.am: Move definition of target 'all_programs' from here ... * cfg.mk: ... to here, which is the only file where it is used. 2012-08-31 Jim Meyering build: reenable just-moved/broken syntax-check rule * cfg.mk (sc_option_desc_uppercase): Now that this rule lives in cfg.mk, we must search man/*.1, not "*.1". Reported by Bernhard Voelker. 2012-08-31 Stefano Lattarini maint: fixup: don't try to distribute a now-removed file * tests/Makefile.am (EXTRA_DIST): Drop 'check.mk', which has been removed (being merged into 'tests/Makefile.am') by recent changes. 2012-08-31 Erik Auerswald doc: escape double quotes in autotools-install --help * scripts/autotools-install: Fix --help so that we actually print the double quotes around "make check", in two places. 2012-08-31 Jim Meyering scripts: add autotools-install, for those stuck with outdated tools * scripts/autotools-install: New script, so you can always build from git-cloned sources, even when they require bleeding edge m4, autoconf, automake, etc. 2012-08-31 Bernhard Voelker build: fix syntax-check rules broken by test-added .sh/pl suffixes * cfg.mk: We exempt a few test files that would otherwise trigger false-positive matches in syntax-check rules. The recent change that added a .sh or .pl suffix to each test script made it so some of the exclusion regexps would no longer match. Include the required \.sh suffix in each such regexp, too. 2012-08-30 Stefano Lattarini tests: get rid of the 'shell-or-perl' auxiliary script It's now easier and faster to simply run the perl ans shell test scripts directly with the appropriate interpreter and options. * tests/shell-or-perl: Delete. * tests/Makefile.am (EXTRA_DIST): Remove it. (SH_LOG_COMPILER): Re-define to invoke the correct shell. (PL_LOG_COMPILER): Re-define to invoke the correct perl interpreter ... (TESTSUITE_PERL_OPTIONS): ... with the correct options. (XPL_LOG_COMPILER): Use those options instead of inlining their expansion. (LOG_COMPILER): Delete, no longer needed. 2012-08-30 Stefano Lattarini tests: add .sh and .pl suffixes to shell and perl tests, respectively Not only this shrinks the size of the generated Makefile (from > 6300 lines to ~3000), but will allow further simplifications in future changes. * tests/Makefile.am (TEST_EXTENSIONS): Add '.sh' and '.pl'. (PL_LOG_COMPILER, SH_LOG_COMPILER): New, still defined simply to $(LOG_COMPILER) for the time being. (TESTS, root_tests): Adjust as described. * All tests: Rename as described. 2012-08-30 Stefano Lattarini tests: detect missing perl at configure runtime * configure.ac (AM_CONDITIONAL): Set the conditional 'HAVE_PERL' to true if the configure-time checks (as run by gl_PERL) have been able to find a working perl. * tests/no-perl: New script, report a diagnostic about "missing perl" and exit with status 77. * tests/Makefile.am (EXTRA_DIST): Distribute it. (TESTSUITE_PERL): New, define to '$(PERL)' if a perl interpreter has been found at configure time (i.e., if the 'HAVE_PERL' automake conditional is true), and to '$(srcdir)/no-perl' otherwise. (LOG_COMPILER): Use $(TESTSUITE_PERL) instead of $(PERL). (XPL_LOG_COMPILER): Likewise. * tests/shell-or-perl: Simplify: no need to actually check whether perl is working. tests: avoid use of '-T' in shebang line to enable perl taint mode * tests/rm/fail-eperm: Rename ... * tests/rm/fail-eperm.xpl: ... like this * tests/Makefile.am (TESTS): Adjust. (TEST_EXTENSIONS): New, list '.xpl'. (XPL_TEST_LOGS): New, run a perl test in tainted mode. * tests/shell-or-perl: Simplify this script: we no longer need to parse the shebang line and adjust the flags in the perl invocation accordingly. build: require Automake >= 1.11.2 Now that we use AM_TESTS_ENVIRONMENT, we must require Automake >= 1.11.2. * configure.ac (AM_INIT_AUTOMAKE): Bump version requirement to 1.11.2. * bootstrap.conf ($buildreq): Likewise. 2012-08-30 Stefano Lattarini tests: prefer AM_TESTS_ENVIRONMENT over TESTS_ENVIRONMENT The latter should be reserved for user overrides. * tests/Makefile.am (TESTS_ENVIRONMENT): Rename ... (AM_TESTS_ENVIRONMENT): ... like this. 2012-08-30 Stefano Lattarini tests: merge tests/check.mk into tests/Makefile.am The separation has become unnecessary after all the ancient 'tests/*/Makefile.am' makefiles have been merged into the "more-top-level" one 'tests/Makefile.am'. * tests/check.mk: Merge ... * tests/Makefile.am: ... in here. Some comments tweaking while at it. 2012-08-30 Stefano Lattarini build: enable the 'subdir-objects' Automake option globally This is not strictly required now (it will be once we make more parts of the coreutils build system non-recursive), but enabling it early helps to ensure that we don't unwittingly introduce any incompatibility or subtle breakage later. * configure.ac (AM_INIT_AUTOMAKE): Add 'subdir-objects'. 2012-08-30 Stefano Lattarini maint: update gitignore entries * doc/.gitinore: Here, adding the '.dirstamp' file generated by the Texinfo rules. 2012-08-30 Jim Meyering build: factor out a little more re list of *.texi files We may well want to switch from checking all *.texi to checking only version-controlled .texi files, so encapsulate this concept in one place. * doc/local.mk (doc_srcdir): Delete. Use this instead: (texi_files): Define. All usages adjusted. 2012-08-30 Stefano Lattarini maint: adjust syntax check 'sc_option_desc_uppercase' * cfg.mk (sc_option_desc_uppercase): Here, by grafting the 'man/' prefix to the manpages obtained from $(NO_INSTALL_PROGS_DEFAULT) and listed as prerequisites for this rule. maint: adjust syntax check 'check-x-vs-1' * cfg.mk (check-x-vs-1): Here, by stripping 'man/' prefix from $(dist_man1_MANS) entries before comparing them with the list of expected programs. 2012-08-30 Stefano Lattarini maint: move man-related syntax checks in cfg.mk This is more natural, now that the top-level Makefile has access to all the variables and rules once defined only in 'man/Makefile.am' * man/local.mk (all_programs, sc_option_desc_uppercase, sc_man_file_correlation check-x-vs-1, check-programs-vs-x): Move from here ... * cfg.mk: ... to here. Adjust some comments in the process. 2012-08-30 Stefano Lattarini build: don't use recursive make to build the 'man' subdirectory * Makefile.am: Include 'man/local.mk'. (SUBDIRS): Remove 'man'. * configure.ac ($MAN): Adjust so that each of its entries has a leading 'man/' component. (AC_CONFIG_FILES): Remove 'man/Makefile'. * man/Makefile.am: Rename ... * man/local.mk: ... like this. With further adjustments: each 'foo.1' target renamed like 'man/foo.1', each '../src/foo.c' dependency as 'src/foo.c', and each '$(srcdir)' usage as '$(srcdir)/man'. Also ... (mandep): Adjust, removing the leading '../' component. Several whitespace adjustments while at it. (ASSORT): Remove, it's already defined in the top-level Makefile.am. * cfg.mk (sc_option_desc_uppercase, sc_man_file_correlation): Remove the associated recipes, they are now directly available from the included 'man/local.mk'. Actually, the other changes in this commit have made these recipes instable and not completely correct, but that will be fixed in later changes. 2012-08-30 Stefano Lattarini build: rework some recipes in man/Makefile.am, for future changes This change is merely required to make future changes easier. In particular, since we are going to merge the contents of 'man/Makefile.am' into the top-level Makefile, we need to avoid conflicts with the rules and variables in 'dist-check.mk', and to prepare for changes in the value of the '$*' variable as used in the recipe of the '.x -> .1' suffix rule. * man/Makefile.am (t, mapped_name): Delete, inlining their use ... (.1.x): ... in the recipe of this suffix rule. Other adjustments to prepare to changes in the value of the '$*' automatic variable. While at it, made more resilient about unlikely but possible failure. Adjust and reorder few comments. 2012-08-30 Stefano Lattarini build: provide convenience target 'all_programs' also at top-level This will be mostly useful in future changes. * Makefile.am (all_programs): New, simply work by delegating to the same-named target in the 'src/' subdirectory. * cfg.mk (sc_option_desc_uppercase): Take advantage of it. (sc_man_file_correlation): Likewise. 2012-08-30 Stefano Lattarini build: make a rule less dependent on exact source tree layout This is mostly a preparatory change in view of future ones. * man/Makefile.am (.x.1): Use '$(abs_top_builddir)/src' to access the 'src' directory. 2012-08-30 Stefano Lattarini build: rely on VPATH capabilities in man/Makefile * man/Makefile.am: In all the 'foo.1' targets, no need to depend explicitly on '$(srcdir)/foo.x': the '.x.1' suffix rule takes care of that automatically. maint: typofix: s/it's/its/ * man/Makefile.am: Here. 2012-08-30 Stefano Lattarini build: rename common_dep -> mandep in man/Makefile This is mostly a preparatory refactoring in view of future changes. * man/Makefile.am (common_dep): Rename ... (mandep): ... like this. All usages adjusted. 2012-08-30 Stefano Lattarini build: fix a stray usage of uninitialized $(ME) * man/Makefile.am (sc_option_desc_uppercase): Here. build: add an explanatory comment * man/Makefile.am (EXTRA_DIST): Describe portability issues of the idiom we now use. Reformat the definition a little while at it. maint: simplify definition of $MAN in configure.ac * configure.ac: Here, by making less use of 'sed' and 'tr' munging, and relying on a smarter and simpler shell loop instead. build: don't define $(SUFFIXES) explicitly * man/Makefile.am (SUFFIXES): Remove definition: Automake is smart enough to extract the list of suffixes from the '.x.1' suffix rule automatically. build: don't use recursive make to build the 'doc' subdirectory * doc/Makefile.am: Rename ... * doc/local.mk: ... like this. With further adjustments ... (info_TEXINFOS): Prepend 'doc/' to all '*.texi' files listed in here. (coreutils_TEXINFOS): Likewise, and rename ... (doc_coreutils_TEXINFOS): ... like this. (constants.texi): Rename ... (doc/constants.texi): ... like this. Adjust the recipe to avoid spurious errors. (MAINTAINERCLEANFILES): Adjust, and extend with '+=' rather than setting it with '='. (ME): Delete. (find_upper_case_var): Use '$@', not '$(ME)', in error messages. * Makefile.am: Include 'doc/local.mk'. (SUBDIRS): Remove 'doc'. * configure.ac (AC_CONFIG_FILES): Remove 'doc/Makefile'. build: use 'check-local' to extend the 'check' target * doc/Makefile.am (check-local): Here, by making this depend on 'check-texinfo' ... (check): ... rather than this. While the old usage worked, it did so for an implementation detail rather than a documented behaviour, so relying on that was riskier a "unclean". 2012-08-30 Stefano Lattarini build: prefer '$(top_srcdir)/doc' over '$(srcdir)' in doc Makefile This is just a preparatory refactoring that will become useful in a future change (in which the doc/Makefile.am makefile will be merged with the top-level one). * doc/Makefile.am (doc_srcdir): New, define to '$(top_srcdir)/doc'. Use it throughout instead of "bare" '$(srcdir)'. 2012-08-30 Stefano Lattarini build: add extra *.texi files to coreutils_TEXINFOS, not EXTRA_DIST * doc/Makefile.am (coreutils_TEXINFO): List them here, instead of ... (EXTRA_DIST): ... listing them here. This ensures the rebuild rules will be more faithful. ($(DVIS), $(INFO_DEPS)): No need to depend on $(EXTRA_DIST) now. maint: slightly improve .gitignore * .gitignore: Ignore '.deps' only when it's a directory. Ignore '*.trs' only if they are in a subdirectory of the 'tests/' directory. build: don't abuse Automake internals (with its 'check-am' rule) * tests/check.mk (check-am): Remove; obtain the same effect by moving its dependency '.built-programs' ... (check_DATA): ... to this variable. 2012-08-30 Jim Meyering scripts: git commit message hook: prohibit use of "Signed-off-by:" * scripts/git-hooks/commit-msg: Reject a commit log message that contains "Signed-off-by:". 2012-08-30 Stefano Lattarini tests: remove useless defn of REPLACE_GETCWD from TESTS_ENVIRONMENT It's last use had been removed in commit v8.12-3-g3ed91fc of 2011-04-28, "tests: remove useless test: misc/pwd-unreadable-parent". * tests/check.mk (TESTS_ENVIRONMENT): Adjust. 2012-08-30 Nick Alcock tests: fix misc/sort-exit-early to skip if root * tests/misc/sort-exit-early: skip_if_root_ as this test requires an unwritable input and an unreadable output. 2012-08-29 Jim Meyering tail,stat: improve support for ZFS This change enables tail -f to use inotify and lets stat -f --format=%T report the file system type name, "zfs". * src/stat.c (human_fstype): Add a case: zfs, 0x2fc12fc1. * NEWS (Improvements): Mention it. * THANKS.in: Update. Reported by Raimonds Miltins in http://bugs.gnu.org/12301. 2012-08-26 Jim Meyering build: update gnulib submodule to latest maint: stop using @acronym{...} in texinfo sources * doc/coreutils.texi: Remove all uses of @acronym{...}, per recommendation by Karl Berry. * doc/perm.texi: Likewise. * cfg.mk (local-checks-to-skip): Remove exemption, enabling the @acronym{-prohibiting syntax-check rule. tests: don't require @acronym{...} around POSIX * doc/Makefile.am (check-texinfo): Remove POSIX-checking part. 2012-08-26 Nguyá»…n Thái Ngá»c Duy df: allow translators to reorder "1K-blocks" header * src/df.c (get_header): Mark two "%s-%s" strings for translation and give translators a hint what each is for. 2012-08-24 Ondrej Oprala md5sum, sha*sum: add --tag to output a format indicating the algorithm The format used is the BSD traditional format which looks like: MD5 (/dev/null) = d41d8cd98f00b204e9800998ecf8427e * NEWS: Add new feature info. * doc/coreutils.texi (md5sum invocation): Add detailed information about the new --tag option. * src/md5sum.c: Add the new --tag option for BSD-style output. (bsd_split_3): Add ESCAPED_FILENAME parameter. (print_filename): New function refactored from main(). (filename_unescape): New function refactored from split_3(). * tests/misc/md5sum-bsd: Add tests for the new feature. 2012-08-23 Rob Day rm: fix the new --dir (-d) option to work with -i * src/remove.c (prompt): Hoist the computation of is_empty, since we'll need it slightly earlier. Before, this function would arrange to fail with EISDIR when processing a directory without --recursive (-r). Adjust the condition to exempt an empty directory when --dir has been specified. Improve comments. * tests/rm/d-3: New file, to ensure that rm -d -i dir works. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. * THANKS.in: Update. Reported by Michael Price in http://bugs.gnu.org/12260 2012-08-22 Bernhard Voelker tests: correct print_ver_ arguments and add a rule to enforce this We use print_ver_ to run "PROG --version" for each program under test. Some tests have been derived from others, while the argument(s) to print_ver_ have not been adapted. Add a new cfg.mk rule to prohibit this. * cfg.mk (sc_prohibit_test_calls_print_ver_with_irrelevant_argument): New rule, to prohibit a test script from calling print_env_ for a program not actually used by that test. * tests/chown/basic: s/\(print_ver_\) chgrp/\1 chown/ * tests/cp/acl: s/\(print_ver_\) mv/\1 cp/ * tests/cp/capability: s/\(print_ver_\) ls/\1 cp/ * tests/cp/cp-parents: s/(print_ver_\) mv/\1 cp/ * tests/du/bind-mount-dir-cycle: s/(print_ver_\) rm/\1 du/ * tests/misc/wc-parallel: s/(print_ver_\) md5sum/\1 wc/ 2012-08-21 Ondrej Oprala du: handle bind-mounted directory cycles gracefully Before this change, a directory cycle induced by a bind mount would be treated as a fatal error, i.e., probable disk corruption. However, such cycles are relatively common, and can be detected efficiently, so now du emits a descriptive warning and arranges to exit nonzero. * NEWS (Bug fixes): Mention it. * src/du.c: Include "mountlist.h". (di_mnt): New global set. (di_files): Rename global from di_set, now that there are two. (fill_mount_table): New function. (hash_ins): Add DI_SET parameter. (process_file): Look up each dir dev/ino pair in the new set. (main): Allocate, initialize, and free the new set. * tests/du/bind-mount-dir-cycle: Add a test for the fix. * tests/Makefile.am (TESTS): Add it. * THANKS.in: Update. This implements the proposal in http://bugs.gnu.org/11844. Originally reported in http://bugs.debian.org/563254 by Alan Jenkins and more recently as http://bugzilla.redhat.com/836557 Improved by: Jim Meyering 2012-08-20 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.19 * NEWS: Record release date. 2012-08-19 Paul Eggert tests: port df/no-mtab-status to Solaris * tests/df/no-mtab-status: Include in test program, so that the getmntent hack compilation fails on Solaris, as it should, since it's not compatible with Solaris. Reported by Stefano Lattarini in . 2012-08-19 Jim Meyering tests: avoid split/filter test failure on very low-mem system * tests/split/filter: Use xz -1 when compressing, to minimize memory usage. Otherwise, xz could fail due to insufficient virtual memory on a system with very little free memory. 2012-08-18 Jim Meyering tests: trigger the sort -u free-memory-read bug * tests/misc/sort-u-FMR: New file. * tests/Makefile.am (TESTS): Add it. * tests/misc/sort: Add the test here, too. * NEWS (Bug fixes): Mention it. tests: wrap the valgrind-requiring assertion in a function * tests/init.cfg (require_valgrind_): New function... * tests/misc/sort-stale-thread-mem: ...extracted from here. 2012-08-18 Paul Eggert sort: simpler fix for sort -u data-loss bug, and for a FMR bug This also fixes a free-memory-read (FMR) bug: when fillbuf's realloc of buf->buf frees the buffer into which saved_line.text points, the processing of that just-read longer line includes comparison against the saved line in freed memory. * src/sort.c (overlap): Remove. (fillbuf): Do not try to copy saved lines, as that is too risky in the presence of parallelism, reallocated buffers, etc. (sort): Invalidate any saved line before sorting a new batch. 2012-08-17 Jim Meyering sort: sort --unique (-u) could cause data loss sort -u could omit one or more lines of expected output. This bug arose because sort recorded the most recently printed line via reference, and if you were unlucky, the storage for that line would be reused (overwritten) as additional input was read into memory. If you were doubly unlucky, the new value of the "saved" line would not only match the very next line, but if that next line were also the first in a series of identical, not-yet-printed lines, then the corrupted "saved" line value would result in the omission of all matching lines. * src/sort.c (saved_line): New static/global, renamed and moved from... (write_unique): ...here. Old name was "saved", which was too generic for its new role as file-scoped global. (fillbuf): With --unique, when we're about to read into a buffer that overlaps the saved "preceding" line (saved_line), copy the line's .text member to a realloc'd-as-needed temporary buffer and adjust the line's key-defining members if they're set. (overlap): New function. * tests/misc/sort: New tests. * NEWS (Bug fixes): Mention it. * THANKS.in: Update. Bug introduced via commit v8.5-89-g9face83. Reported by Rasmus Borup Hansen in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/23173/focus=24647 2012-08-16 Jim Meyering tests: reverse args in Coreutils.pm-invoked diff, for consistency * tests/Coreutils.pm (_compare_files): Reverse diff arguments so that we invoke diff -c $expected $actual, which is consistent with how init.sh-using tests invoke "compare exp out". maint: correct a stale comment in sort.c * src/sort.c (fillbuf): Fix comment typo. x2nrealloc no longer doubles the size of its input buffer. maint: fix comment grammar to placate make syntax-check * src/remove.c (rm_fts): s/can not/cannot/ 2012-08-14 Krzysztof Goj rm: new option --dir (-d) to remove empty directories Add new option to rm (-d/--dir), which allows removal of empty directories, while still safely disallowing removal of non-empty ones. This improves compatibility with Mac OS X and BSD systems, which honor the -d option. * src/remove.c (rm_fts): Remove empty directories when requested. * src/remove.h (rm_options) [remove_empty_directories]: New member. * src/rm.c (long_opts, usage, main): Update usage and option parsing. (rm_option_init): Initialize the new member. * src/mv.c (rm_option_init): Initialize the new member. * tests/rm/d-1: New test case - successfully delete empty dir. * tests/rm/d-2: New test case - refuse to delete nonempty dir. * tests/Makefile.am (TESTS): Add them. 2012-08-14 Bernhard Voelker df: fail when the mount list is required but cannot be read * src/df.c (main): Add conditions to fail when the mount list cannot be read: this includes the cases when a file name argument is given and any of -a, -l, -t or -x is used. * doc/coreutils.texi: Document the additional error conditions. * tests/df/no-mtab-status: Add a new test. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. 2012-08-12 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.18 * NEWS: Record release date. 2012-08-08 Pádraig Brady tests: fix validation of local file systems * tests/init.cfg (require_mount_list_): A new function to ensure we can read the list of file systems. (require_local_dir_): Call the above function, as otherwise the check is invalid. * tests/df/total-unprocessed: Ensure df can read the list of mounted file systems so that --local can be honored. 2012-08-06 Jim Meyering build: update gnulib submodule to latest tests: printf-surprise: avoid unwarranted failure on FreeBSD 9.0 * tests/misc/printf-surprise: A VM size of 10,000KiB was too little in which to run "env printf ..." on FreeBSD 9.0-p3. Increase it to 15,000. 2012-08-05 Jim Meyering build: avoid sort link failure on Solaris 10 * src/Makefile.am (sort_LDADD): Sort uses euidaccess, which may require whatever library configure deemed necessary to resolve the eaccess function, but no one told sort to link with that library. (sort_LDADD): Add $(LIB_EACCESS). 2012-08-04 Bernhard Voelker df: fix exit code and error messages with --total When the combination of the file system options with given files or devices does not lead to output, "df --total" would exit successfully although it should not. Examples: $ df --total --type=xfs / # when / is not an XFS file system $ df --total --local -t nfs DIR # nfs is remote per se ... $ df --total -t qwerty /dev/sdb5 # typo in file system type Furthermore, "df --total" would not print the error message "no file systems processed" when the file argument does not exist or is otherwise not accessible. Example: $ df --total __not_exist__ These 2 bugs are present since --total was added by commit v6.12-166-gea2887b. * src/df.c (get_dev): Do not set file_systems_processed to true when force_fsu is true, i.e. when the row for the "total" line is processed. (main): Don't print totals unless we've processed a file system. Also only print the "no FS processed" message if there was no preceding diagnostic. * tests/df/total-unprocessed: Add a new test. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. Improved-by: Jim Meyering 2012-08-04 Jim Meyering truncate: don't leak a file descriptor with --ref=PIPE * src/truncate.c (main): For a user who makes the mistake of using a non-seekable file as a reference for the desired length, truncate would open that file, attempt to seek to its end, but upon seek failure would neglect to close the file descriptor. Close the file descriptor even when lseek fails. In addition, ignore failure to close that reference FD, since as long as the lseek succeeds, a close failure doesn't matter. Coverity spotted the potential FD leak. Improved-by: Pádraig Brady. 2012-08-04 Jim Meyering tests: avoid FP ulimit failure with valgrind-wrapped tools * tests/init.cfg (require_ulimit_): Raise VM limit from 10MiB to 20MiB, to accommodate overhead of a valgrind-wrapped date program. Also declare this function's local variables "local". 2012-08-04 Jim Meyering split: plug nominal leaks * src/split.c (lines_rr) [IF_LINT]: Plug a harmless leak. (main) [IF_LINT]: Free a usually-small (~70KB) buffer just before exit, mainly to take this off the radar of leak-detecting tools. Improved-by: Pádraig Brady. 2012-08-03 Jim Meyering tail: avoid rare error-path FD leak * src/tail.c (tail_forever): Close FD to avoid leak after a failed fstat. 2012-07-27 Jim Meyering maint: refresh stale local gnulib patch files We carry local adjustments for a few gnulib modules via the patches in gl/. Nearly all of those patches had become stale due to evolution of the originals in gnulib. To refresh them, first make sure you have no local changes in gl/ or in the gnulib submodule, then run "make refresh-gnulib-patches". 2012-07-25 Jim Meyering tail: avoid misleading diagnostic upon fstat failure * src/tail.c (check_fspec): Save fstat-induced errno *before* calling close_fd, not after. Otherwise, the close could well clobber the global errno, making tail print an invalid diagnostic. This could happen only with tail -f, and even then, only when a valid file descriptor were to provoke fstat failure. 2012-07-23 Pádraig Brady tests: add a test for a previously fixed output format bug in join Add a test and NEWS entry for a bug inadvertently fixed in a refactoring in commit v8.9-32-gd4db0cb * tests/misc/join (v2-format): Add a new test. * THANKS.in: Add the reporter. * NEWS: Mention the old bug. * cfg.mk (old_NEWS_hash): Update. Reported-by: Jean-Pierre Tosoni 2012-07-22 Pádraig Brady doc: mention gethostid(3) in hostid(1) * man/hostid.x: Add gethostid(3) to SEE ALSO section. Addresses http://bugs.gnu.org/12023 2012-07-22 Erik Auerswald doc: mention uniq(1) in sort(1) man-page and vice versa * man/sort.x: Add SEE ALSO section with entry uniq(1). * man/uniq.x: Add sort(1) to SEE ALSO section. 2012-07-21 Jim Meyering maint: stzncpy: restrict pointer parameters * src/system.h (stzncpy): Add "restrict" attribute to each pointer parameter and note in the comment that the buffers must not overlap. 2012-07-20 Joachim Schmitz maint: rm: remove two more unused static inline functions * src/remove.c (cache_stat_ok, is_nondir_lstat): Remove unused functions. 2012-07-20 Jim Meyering maint: adjust exemption to track renamed test script * cfg.mk (exclude_file_name_regexp--sc_file_system): Sync this exemption regexp to match renamed tests/df/df-P. This avoids a "make syntax-check" failure. 2012-07-20 Joachim Schmitz (tiny change) maint: rm: remove unused static-inlined functions * src/remove.c (cache_statted, is_dir_lstat): Remove unused static-inlined functions. * THANKS.in: Remove my name from this list, now that (with this commit) it is included automatically. 2012-07-18 Andrew D Warshall tests: fiemap-perf: avoid a false failure on ext2 * tests/cp/fiemap-perf: Skip the test on ext2 file systems, as we do for ext3. Also skip the test if we can't create a 1TiB file, which might not be supported on certain file systems. 2012-07-16 Pádraig Brady maint: move two df tests from tests/misc to tests/df * test/Makefile.am: Reference the moved tests. 2012-07-16 Pádraig Brady df: don't output control characters in a mount point name It's awkward to read and problematic for scripts when control characters like '\n' are output. Note other fields are already handled with mbsalign, which converts non printable chars to the replacement char. A caveat to note with that, is the replacement char takes a place in the field and so possibly truncates the field if it was the widest field in the records. Note a more general replacement function, that handles all printable, or non white space characters, would require more sophisticated support for various encodings, and the complexity vs benefit was not deemed beneficial enough at present. Perhaps in future a more general replacement function could be shared between the various utilities. Note is unaffected in any field, which could impact scripts processing the output. However any of the number fields at least could have spaces considering `LANG=fr_FR df -B\'1`, so it's probably best to leave spaces, which also allows scripts to handle mount points with spaces without change. * src/df.c (hide_problematic_chars): Replace control chars with '?'. * tests/df/problematic-chars: Add a new root only test. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. 2012-07-15 Jim Meyering pinky,who: fix bug in latest change * src/system.h (stzncpy): New function. * src/pinky.c (print_entry): Use stzncpy, not stpncpy. The latter does not NUL-terminate. I assumed that strncpy was the only function with such a horrible API. Today I learned that stpncpy also may not NUL-terminate its result. The bugs were introduced in commit v8.17-48-gf79263d. * src/who.c (print_user): Likewise. Thanks to Erik Auerswald for spotting my error. build: update gnulib submodule to latest maint: remove unwarranted uses of strncpy * src/pinky.c (print_entry): Remove unwarranted uses of strncpy. Instead, use stpcpy and stpncpy. * src/who.c (print_user): Likewise. * cfg.mk: Remove strncpy exemptions. build: shred.c: avoid i686-specific gcc -Wstrict-overflow warning * src/shred.c: Avoid gcc -Wstrict-overflow warning. Addresses http://bugs.gnu.org/11927 2012-07-13 Bruno Haible doc: clarify meaning of '-parodd' in stty help * src/stty.c (usage): Disambiguate explanation of -parodd. * THANKS.in: Add reporter. Reported by Michael Stummvoll 2012-07-12 Pádraig Brady doc: mention the improved sort memory allocation * NEWS: Mention the improvement. 2012-07-12 Stefano Lattarini doc: fix errors and warnings with Texinfo 5 Or rather, with the development version 4.13.90, which will eventually become Texinfo 5.0. * doc/coreutils.texi: Use '@item' instead of '@itemx' in several places, as Texinfo 5 refuses to process an '@itemx' that is not preceded by an '@item'. Ensure that node extended names in menus and sectioning are consistent, and that ordering and presence of nodes in menus and in the actual text are consistent as well. Fixes http://bugs.gnu.org/11828 2012-07-11 Bernhard Voelker df: warn if soon-to-be-removed --megabyte option is used * src/df.c (MEGABYTES_OPTION): Add enum and mark it for removal in August 2013. (long_options): Use MEGABYTES_OPTION for --megabytes option. (main): Add a case for it and issue a deprecation warning if the long form is used. Document the short -m option to exist only for BSD compatibility. 2012-07-11 Paul Eggert sort: by default, do not exceed 3/4 of physical memory * src/sort.c (default_sort_size): Do not exceed 3/4 of total memory. See Jeff Janes's bug report in . 2012-07-06 Pádraig Brady tests: sort-merge-fdlimit: reduce the limit by one * tests/misc/sort-merge-fdlimit: As a consequence of commit v8.17-34-g59daf05, we can reduce the descriptor limit by one. 2012-07-06 Paul Eggert doc: document leap seconds better * doc/coreutils.texi (touch invocation, Time conversion specifiers) (Options for date, Examples of date): Index "leap seconds" and improve their documentation a bit. doc: fix spacing * doc/coreutils.texi: Use right amount of spacing after punctuation. 2012-07-04 Jim Meyering date: fails to diagnose invalid input date -d "$(printf '\xb0')" would print 00:00:00 with today's date rather than diagnosing the invalid input. Now it reports this: date: invalid date '\260' * gnulib: Update submodule to latest for fixed parse-datetime.y. * tests/misc/date [invalid-high-bit-set]: New test. * NEWS (Bug fixes): Mention it. * bootstrap, tests/init.sh: Also update to latest. Reported by Peter Evans in http://bugs.gnu.org/11843 2012-07-03 Jim Meyering maint: add syntax-check rule to help avoid misuse of EXIT_FAILURE * cfg.mk (sc_some_programs_must_avoid_exit_failure): New rule, to help us avoid using EXIT_FAILURE in programs like sort, ls, nohup, timeout, env, etc. that use different exit codes in many cases. maint: fix minor bugs in helper program, setuidgid * src/setuidgid.c (main): Fix two error-before-usage calls not to exit. Exit with status SETUIDGID_FAILURE (not EXIT_FAILURE) consistently. 2012-07-03 Paul Eggert sort: fix exit-status typo * src/sort.c (stream_open): EXIT_FAILURE -> SORT_FAILURE. Suggested by Pádraig Brady in . sort: simplify -o handling to avoid fdopen, assert * src/sort.c (outfd): Remove. All uses replaced by STDOUT_FILENO. (stream_open): When writing, use stdout rather than fdopen. (move_fd_or_die): Renamed from dup2_or_die, with the added functionality of closing its first argument. All uses changed. (avoid_trashing_input): Special case for !outfile no longer needed. (check_output): Arrange for standard output to go to the file, rather than storing the fd in outfd. 2012-07-02 Pádraig Brady sort: avoid redundant processing with inaccessible inputs or output * src/sort.c (check_inputs): A new function to verify all inputs are accessible before further processing. (check_output): A new function to open or create a specified output file, before futher processing. (stream_open): Adjust to truncating the previously opened output file rather than opening directly. (avoid_trashing_input): Optimize to stat the output file descriptor, rather than the file name. (main): Call the new functions to check accessibility of inputs and output, before processing starts. * tests/misc/sort: Adjust to the changed error message. * tests/misc/sort-merge-fdlimit: Account for the earlier opened file descriptor of the specified output file. * tests/misc/sort-exit-early: A new test to exercise the improvements. * tests/Makefile.am: Reference the new test. * NEWS: Mention the improvement. Suggested-by: Bernhard Voelker 2012-07-02 Pádraig Brady maint: sc_prohibit_fail_0: update a stale comment * cfg.mk (sc_prohibit_fail_0): Following on from commit v8.0-79-g71c2f88, update the comment to match. maint: avoid a -Wunsed-but-set warning on some systems * src/stty.c (main): Mark speed_was_set as possibly unused, as is the case when CIBAUD is undefined (on ppc64 GNU/Linux for example). Reported-by: Stefano Lattarini 2012-06-30 Jim Meyering maint: avoid false-positive syntax-check failure due to fail=0 in .texi * cfg.mk (exclude_file_name_regexp--sc_prohibit_fail_0): Exempt all .texi files. stat,tail: recognize new file system type: aufs * src/stat.c (human_fstype) [__linux__]: Add a 'case' for the new remote file system type: aufs (0x61756673). * NEWS (New features): Mention stat -f. (Bug fixes): Mention it for tail -f. Reported by Michael Mol in http://bugs.gnu.org/11823 2012-06-30 Jim Meyering doc: improve sample backup script * doc/coreutils.texi (cp invocation): Make the backup script exit with an accurate reflection of any failure. Also, add --preserve=all. Improved-by: Bernhard Voelker 2012-06-26 Pádraig Brady maint: avoid a static analysis warning in csplit The Canalyze static code analyzer correctly surmised that there is a use-after-free bug in free_buffer() at the line "struct line *n = l->next", if that function is called multiple times. This is not a runtime issue since a list of lines will not be present in the !lines_found case. * src/csplit.c (free_buffer): Set list head to NULL so that this function can be called multiple times. (load_buffer): Remove a redundant call to free_buffer(). Reported-by: Xu Zhongxing 2012-06-22 Bernhard Voelker doc: document multiplier for dd number options like count=N * src/dd.c (usage): Add "N" to the description of multipliers. * doc/coreutils.texi (dd invocation): Likewise. 2012-06-22 Pádraig Brady split: ensure output doesn't overwrite input * src/split.c (create): Check if output file is the same inode as the input file. * tests/split/guard-input: New test case. * tests/Makefile.am: Reference new test case. * NEWS: Mention the fix. Improved-by: Jim Meyering Reported-by: François Pinard 2012-06-22 Pádraig Brady maint: refactor common mode bits used to create files * src/system.h (MODE_RW_UGO): The new refactored define (666). * src/mkfifo.c: Use the new define. * src/mknod.c: Likewise. * src/split.c: Likewise. * src/system.h: Likewise. * src/touch.c: Likewise. * src/truncate.c: Likewise. Suggested-by: Jim Meyering 2012-06-22 Pádraig Brady maint: suppress echoing of sc_THANKS_in_duplicates implementation * cfg.mk (sc_THANKS_in_duplicates): Suppress the echoing of these commands run during `make syntax-check` 2012-06-20 Bernhard Voelker maint: sort: style adjustment to help clarify size determination * src/sort.c (default_sort_size): Move physmem code "down" to first use. 2012-06-12 Jim Meyering stty: portability: accommodate CIL * src/stty.c (main): Declare locals "mode" and "new_mode" to be static to ensure that each is initialized to zero, *including* all padding. While gcc clears padding of a local automatic initialized to "{ 0, }", CIL does not, and the C99 standard is not clear on this issue. Reported by Edward Schwartz. See http://bugs.gnu.org/11675 for details. 2012-06-10 Sami Kerola maint: remove su testing artifact * tests/misc/help-version: Remove expected su exit code. 2012-06-10 Jim Meyering build: update gnulib to latest; correct comment grammar * tests/misc/help-version: Fix comment grammar: s/all these/all of these/ * gl/lib/tempname.c.diff: Likewise. maint: migrate strncpy-prohibiting rule to gnulib * cfg.mk (sc_prohibit_strncpy): Remove rule. Now it's in gnulib. maint: prohibit use of strncpy * cfg.mk (sc_prohibit_strncpy): New syntax-check rule. Exempt pinky.c and who.c, at least for now. 2012-06-06 Jim Meyering su: remove program (util-linux is now the best source for it) * README: Omit "su" from list of programs. * src/su.c: Remove file. * src/Makefile.am: Remove su-related rules and variables. * tests/misc/su-fail: Remove test. * tests/Makefile.am (TESTS): Remove misc/su-fail. * tests/misc/invalid-opt: Remove su-related code. * src/.gitignore: Remove su. * man/su.x: Remove file. * man/Makefile.am (su.1): Remove rule. * po/POTFILES.in: Remove su.c from the list. * TODO: Remove ancient entry. * NEWS (Changes in behavior): Mention it. * doc/coreutils.texi: Remove su-related description. * AUTHORS: Remove su. * m4/lib-check.m4 (cu_LIB_CHECK): Remove file/macro. * configure.ac: Remove su-related code and sole use of cu_LIB_CHECK. * scripts/git-hooks/commit-msg: Remove su from this list, too. maint: detect a new type of duplicate in THANKS.in * cfg.mk (sc_THANKS_in_duplicates): New rule. 2012-06-05 Jim Meyering maint: mark new diagnostic for translation * src/head.c (elide_tail_lines_seekable): Mark new diagnostic. I will look at the results of "make syntax-check", I will look... 2012-06-05 Jim Meyering head: with --lines=-N (-n-N) reset file pointer on seekable input * src/head.c (elide_tail_lines_seekable): Reset file pointer after printing up to an end-relative line-counted offset. Anoop Sharma reported the problem and suggested the fix. * tests/misc/head-pos: Add coverage via a very similar, existing test. Also add coverage for a previously untested block of code. * tests/misc/head-elide-tail ($READ_BUFSIZE): Update to 8192, to match the value of BUFSIZ I see today on Fedora 17/x86_64 (unrelated to this fix). * NEWS (Bug fixes): Mention it. Improved-by: Pádraig Brady 2012-06-01 Jim Meyering stat,tail: recognize new file system type: panfs * src/stat.c (human_fstype) [__linux__]: Add a 'case' for the new remote file system type: panfs (0xAAD7AAEA). * NEWS (New features): Mention stat -f. (Bug fixes): Mention it for tail -f. Reported by Travis Gummels in http://bugzilla.redhat.com/827199 2012-05-31 Jim Meyering maint: fix typos in test comments and old ChangeLog files Culprits identified and fixed automatically using these commands: git ls-files|misspellings -f -|perl -nl \ -e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \ -e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\ -e 'print "sed -i $q${n}s!$l!$r!$q $file"' | bash using http://github.com/lyda/misspell-check * old/fileutils/ChangeLog: Fix typos. * old/textutils/ChangeLog: Likewise. * tests/misc/truncate-fail-diag: Likewise. 2012-05-28 Pádraig Brady cksum: line-buffer the printed checksums This utility was inadvertently omitted from commit v8.0-34-g710fe41 * src/cksum.c (main): Set stdout to line buffered mode, to ensure parallel running instances don't intersperse their output. * NEWS: Mention the fix. * THANKS.in: Add Anoop. Reported by Anoop Sharma. 2012-05-21 Jim Meyering maint: remove comment that suggested to remove support for mktemp -V * src/mktemp.c (main): Don't suggest to remove support for -V, an undocumented alias for --version, since that would introduce a gratuitous incompatibility with the original mktemp program. 2012-05-21 Mike Frysinger dircolors: add st/st-256color terminal types See http://st.suckless.org/ * src/dircolors.hin: Add st and st-256color. Reported-by: Jeroen Roovers , via Mike Frysinger in http://bugs.gnu.org/11498 2012-05-20 Jim Meyering id,groups: use gidtostr/uidtostr to avoid casts * src/id.c (gidtostr, uidtostr): Define macros. (gidtostr_ptr, uidtostr_ptr): Define safer functions. Use gidtostr and uidtostr to print GID and UID without need/risk of casts. * src/group-list.c: Likewise. 2012-05-16 Jim Meyering tests: use $AWK, not awk * tests/cp/sparse-fiemap: Don't hard-code "awk". Use $AWK. * tests/init.cfg: Likewise. * tests/misc/sort-rand: Likewise. maint: tell xgettext that fputs arg "93% of..." is not a C format string * src/fmt.c (usage): Add a comment to tell xgettext that the "% o" in fputs argument string of "...93% of..." is not a C format string. Reported by Toomas Soome, Göran Uddeborg, Petr Pisar, Primoz PETERLIN and Chusslove Illich via http://bugs.gnu.org/11470 maint: add assertions to placate static analysis tools A static analysis tool (http://labs.oracle.com/projects/parfait/) produced some false positive diagnostics. Add assertions to help it understand that the code is correct. * src/stty.c: Include . (display_changed): Add an assertion to placate parfait. (display_all): Likewise. * src/sort.c: Include . (main): Add an assertion to placate parfait. * src/fmt.c: Include . (get_paragraph): Add an assertion to placate parfait. 2012-05-16 Pádraig Brady stat: report the correct block size for file system usage struct statfs has the f_frsize member since Linux 2.6, so use that rather than f_bsize which can be different. Note the related df change mentioned in NEWS is handled in gnulib by using statvfs() rather than statfs() on Linux > 2.6.36 (where statvfs doesn't hang) and the same method as stat for Linux 2.6 kernels earlier than that. stat(1) doesn't use statvfs() on GNU/Linux as the f_type member isn't available there. Note the change to not use statvfs() on GNU/Linux was introduced in gnulib commit eda39b8 16-08-2003. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Check for the f_frsize member in the statfs structure. * src/stat.c: Use (struct statfs).f_frsize if available. * NEWS (Bug fixes): Mention this stat fix, and the related df fix coming in the next gnulib update. * THANKS.in: Add Nikolaus. Reported and Tested by Nikolaus Rath 2012-05-12 Jim Meyering ls: color each symlink-to-relative-name in / properly In order for ls --color to color each symlink, it must form the name of each referent and then stat it to see if the link is dangling, to a directory, to a file, etc. When the symlink is to a relative name, ls must concatenate the starting directory name and that relative name. When, in addition, the starting directory was "/" or "/some-name", the result was ill-formed, and the subsequent stat would usually fail, making the caller color it as a dangling symlink. * src/ls.c (make_link_name): Don't botch the case in which dir_name(NAME) == "/" and LINKNAME is relative. * tests/ls/root-rel-symlink-color: New file. Test for the above. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Mike Frysinger in http://bugs.gnu.org/11453 Bug introduced by commit v8.16-23-gbcb9078. 2012-05-10 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.17 * NEWS: Record release date. tests: misc/tty-eof: increase timeout to avoid unwarranted failure * tests/misc/tty-eof: Increase timeout from 1s to 10s, to avoid unwarranted failure under heavy load. * tests/Makefile.am (TESTS): Move misc/tty-eof "up" to nearer the beginning of the list (from near the middle) so that it is started earlier in parallel test runs. Otherwise, it would frequently be among the last two tests to complete. stat,tail: recognize new FS types: bdevfs, inodefs, qnx6 * src/stat.c (human_fstype) [__linux__]: Add 'case's for these local file system types: bdevfs (0x62646576), inodefs (0x42494E4D), qnx6 (0x68191122). Now that the kernel has a name for S_MAGIC_BINFMTFS, use theirs in place of our S_MAGIC_BINFMT_MISC. * NEWS (New features): Mention it. scripts: encourage use of shorter "bugs.gnu.org" in bug URLs * scripts/git-hooks/commit-msg: Also ding debbugs.gnu.org URLs. 2012-05-10 Paul Eggert maint: handle file sizes more reliably Problem reported by Samuel Thibault in . * NEWS: Document this. * src/dd.c (skip): Handle skipping past EOF on shared or typed memory objects the same way as with regular files. (dd_copy): It's OK to truncate shared memory objects. * src/du.c (duinfo_add): Check for overflow. (print_only_size): Report overflow. (process_file): Ignore negative file sizes in the --apparent-size case. * src/od.c (skip): Fix comment about st_size. * src/split.c (main): * src/truncate.c (do_ftruncate, main): On files where st_size is not portable, fall back on using lseek with SEEK_END to determine the size. Although strictly speaking POSIX says the behavior is implementation-defined, in practice if lseek returns a nonnegative value it's a reasonable one to use for the file size. * src/system.h (usable_st_size): Symlinks have reliable st_size too. * tests/misc/truncate-dir-fail: Don't assume that getting the size of a dir is not allowed, as it's now allowed on many platforms, e.g., GNU/Linux. stat: don't report negative file size as huge positive number * src/stat.c (print_stat): Use out_int, not out_uint for stat.st_size. * NEWS (Bug fixes): Mention it. 2012-05-08 Jim Meyering split: avoid apparent infloop when splitting /dev/zero w/-n on the Hurd * src/split.c (main): Use stat.st_size only for regular files. Samuel Thibault reported in http://bugs.gnu.org/11424 that the /dev/zero-splitting tests would appear to infloop on GNU/Hurd, because /dev/zero's st_size is LONG_MAX. It was only a problem when using the --number (-n) option. * NEWS (Bug fixes): Mention it. This bug was introduced with the --number option, via commit v8.7-25-gbe10739 build: update gnulib submodule to latest; also bootstrap and init.sh * bootstrap: Update from gnulib. * tests/init.sh: Likewise. 2012-05-08 Pádraig Brady doc: clarify dd conv=sparse usage with devices * doc/coreutils.texi (dd invocation): Clarify that NUL blocks are not copied for devices either, and give examples of where it might be useful. 2012-05-08 Jim Meyering maint: new function: usable_st_size 2012-05-08 Kevin Lyda maint: fix common spelling errors These were identified using: https://github.com/lyda/misspell-check executed like: git ls-files | misspellings -f - * src/cat.c: Correct a spelling error. * src/comm.c: Likewise. * src/expr.c: Likewise. * src/pr.c: Likewise. * src/tac.c: Likewise. * src/test.c: Likewise. * src/ChangeLog-2005: Likewise. * src/ChangeLog-2007: Likewise. * src/NEWS: Likewise. * src/doc/coreutils.texi: Likewise. * src/lib/ChangeLog-2007: Likewise. * src/man/help2man: Likewise. * src/old/fileutils/ChangeLog-1997: Likewise. * src/old/fileutils/NEWS: Likewise. * src/old/sh-utils/ChangeLog.0: Likewise. * src/old/textutils/ChangeLog: Likewise. * src/tests/misc/comm: Likewise. * src/tests/misc/uniq: Likewise. * src/tests/mv/dir2dir: Likewise. * src/cfg.mk (old_NEWS_hash): update with `make update-NEWS-hash` 2012-05-07 Jim Meyering tests: avoid LD_PRELOAD lookup error for dlsym * tests/cp/nfs-removal-race: Link with -ldl. cp: handle a race condition more sensibly * src/copy.c (copy_reg): In a narrow race (stat sees dest, yet open-without-O_CREAT fails with ENOENT), retry the open with O_CREAT. * tests/cp/nfs-removal-race: New file. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Philipp Thomas and Neil F. Brown in http://bugs.gnu.org/11100 doc: NEWS: note when the id/groups bug was introduced * NEWS (Bug fixes): Note the first affected release. The id bug was introduced by commit v8.0-112-g719a95a. 2012-05-04 Jim Meyering build: update gnulib submodule to latest maint: rely on gnulib's new sys_resource module * bootstrap.conf (gnulib_modules): Add sys_resource. * src/sort.c: Remove #if HAVE_SYS_RESOURCE_H guard around inclusion of and move the inclusion "up" into the alphabetized list of its peers. This also avoids a failure of the sc_prohibit_always_true_header_tests syntax-check rule. * m4/jm-macros.m4 (gl_CHECK_ALL_HEADERS): Remove sys/resource.h. 2012-05-02 Pádraig Brady cp,mv,install: provide POSIX_FADV_SEQUENTIAL hint to input This was inadvertently omitted from v8.5-104-g47076e3, and gives the same 5% speedup when copying from an SSD. * src/copy.c (copy_internal): Apply the FADVISE_SEQUENTIAL hint. 2012-05-02 Jim Meyering maint: prohibit an operator at end of line Many coding standards, including GNU's, advocate that when splitting a line near a binary operator, one should put the operator at the beginning of the continued line, rather than at the end of the preceding one. This is for readability: such operators are relatively important to readability, and they are more apparent at the beginning of a line than at the varying-column end of line, * cfg.mk (sc_prohibit_operator_at_end_of_line): New rule. Exempt test.c and head.c. maint: adjust comments to avoid FP match on binary-operator-at-EOL * src/ls.c (print_long_format): Reformat comment to avoid "==" at end of line. Also, "sortkey" is not a word: s/sortkey/sort key/. * src/ioblksize.h: Likewise, for "|" from a shell snippet. * src/runcon.c: Likewise, for "|" in grammar-like usage. maint: with split lines, don't leave an operator at end of line * src/copy.c (copy_reg): Split an expression before a binary operator, not after it. * src/cut.c (set_fields): Likewise. * src/id.c (main): Likewise. * src/install.c (setdefaultfilecon): Likewise. * src/join.c (ignore_case): Likewise. * src/pr.c (cols_ready_to_print, init_parameters, print_page): Likewise. * src/stty.c (set_window_size): Likewise. * src/wc.c (SUPPORT_OLD_MBRTOWC): Likewise. * src/who.c (scan_entries): Likewise. * src/test.c (binary_operator): Join a split line. * src/extent-scan.c (extent_scan_read): Move an ">" from end of line to beginning of the following. Likewise for two other expressions. 2012-04-30 Pádraig Brady cat,cp,mv,install,split: Set the minimum IO block size used to 64KiB * NEWS: Mention the change in behavior. * src/ioblksize.h: Add updated test results and increase value from 32KiB to 64KiB. 2012-04-27 Jim Meyering id: -Zn/-Zr: avoid an invalid diagnostic * src/id.c (main): Using -Z with -r or -n would fail with "id: cannot print only names or real IDs in default format", in spite of that "-Z", which specifies a non-default format. Now, it succeeds and ignores the -n or -r option. The error was that the test for default_format was not updated when I added the new --context (-Z) option in commit v6.9-33-g5320d0f. id: don't call getcon unnecessarily * src/id.c (main): Invocations like "id" and "id -G" would call getcon to determine the current security context even though that result would not be used. Similarly, when POSIXLY_CORRECT is set. Rearrange conditionals and hoist the POSIXLY_CORRECT test so that we call getcon only when necessary. maint: id: minor factorization * src/id.c (main): Factor out uses of "argc - optind". Move option-consistency checks to precede the potential getcon call. 2012-04-27 Jim Meyering id,groups: with no user name, print only real and/or effective IDs, ... i.e., don't use the getpw* functions. Before this change, running groups or id with no user name argument would include a group name or ID from /etc/passwd. Thus, under unusual circumstances (default group is changed, but has not taken effect for a given session), those programs could print a name or ID that is neither real nor effective. To demonstrate, run this: echo 'for i in 1 2; do id -G; sleep 1.5; done' \ |su -s /bin/sh ftp - & sleep 1; perl -pi -e 's/^(ftp:x:\d+):(\d+)/$1:9876/' /etc/passwd Those id -G commands printed the following: 50 50 9876 With this change, they print this: 50 50 Similarly, running those programs set-GID could make them print one ID too many. * src/group-list.c (print_group_list): When username is NULL, pass egid, not getpwuid(ruid)->pw_gid), to xgetgroups, per the API requirements of xgetgroups callee, mgetgroups. When not using the password database, don't call getpwuid. * NEWS (Bug fixes): Mention it. * tests/misc/id-setgid: New file. * tests/Makefile.am (TESTS): Add it. (root_tests): It's a root-only test, so add it here, too. Originally reported by Brynnen Owen as http://bugs.gnu.org/7320. Raised again by Marc Mengel in http://bugzilla.redhat.com/816708. 2012-04-22 Stefano Lattarini maint: sync up required autoconf version in bootstrap.conf * bootstrap.conf ($buildreq): Require autoconf 2.64, not 2.62. This is consistent with what is required by AC_PREREQ in configure.ac. 2012-04-19 Jim Meyering doc: fix a grammar nit * doc/coreutils.texi (split invocation): s/are/is/ in "P or Q are". 2012-04-19 Bernhard Voelker tests: factor out expensive "pairs" code of misc/stty * tests/Makefile.am (TESTS): Add misc/stty-pairs. * tests/init.cfg (stty_reversible_init_): New function. (stty_reversible_query_): New function. * tests/misc/stty: Factor out expensive "pairs" code into new test. Use new stty_reversible_* functions instead of evaluating static REV_* variables. * tests/misc/stty-pairs: Add new test. Code added from misc/stty. Mark this as an expensive test. Skip 'parenb' and 'cread' options, as these tests are known to fail. Like in misc/stty, also use the new stty_reversible_* functions. tests: add iutf8 option to misc/stty * tests/misc/stty: Add iutf8 to the list of REV_* options. That option has been implemented in commit v5.2.1-193-g733e79e. 2012-04-19 Jim Meyering maint: tac: use memcpy, not strcpy * src/tac.c (main): Use memcpy, not strcpy, since we know the length. maint: ls: use stpncpy/stpcpy, not strncpy/strcpy * src/ls.c (gobble_file): Move a decl "down". (make_link_name): Do not hard-code '/'. Use IS_ABSOLUTE_FILE_NAME and dir_len instead. Use stpcpy/stpncpy in place of strncpy/strcpy. maint: modernize/clean-up a small function in ls.c * src/ls.c (make_link_name): Adjust comment style to refer to VARIABLE names, not 'variable'. Move each of two declarations "down" to first use. Compare pointer to NULL, not to 0. Don't reuse local, "linkbuf" for a different purpose. doc: tweak README-hacking * README-hacking: Don't say "...on your hard drive". That is unnecessary, and now, borderline anachronistic. 2012-04-17 Jim Meyering doc: use @xref{... only at start of a sentence * doc/coreutils.texi: Correct many misuses of @xref. 2012-04-16 Jim Meyering maint: replace a use of strcpy in chmod.c with memcpy * src/chmod.c (main): Use memcpy rather than strcpy, since we already have the length handy. 2012-04-14 Karl Berry doc: remove a little direntry redundancy * doc/coreutils.texi (Basics direntry): Remove 3rd "Common options." 2012-04-12 Bruce Korb fmt: accept new --goal=WIDTH (-g) option Accept -g for BSD/Plan9 compatibility. * NEWS (New features): Mention it. * tests/fmt/goal-option: New test. * tests/fmt/long-line: Rename from tests/fmt-long-line. * tests/fmt/base: Rename from tests/misc/fmt. * doc/coreutils.texi: Document it. * src/fmt.c (main): Accept the new option (check_for_goals): new function to implement the operands Based on BSD's and Plan-9's fmt programs. 2012-04-12 Pádraig Brady cp: change --attributes-only to not truncate existing files * src/copy.c (copy_reg): Don't truncate an existing file, to support copying attributes between existing files. The original use case only considered creating new files, and it would be a very unusual use case to be relying on the truncating behavior. * doc/coreutils.texi (cp invocation): Mention the non truncating behavior. * tests/cp/attr-existing: A new test to ensure O_TRUNC skipped. * tests/Makefile.am: Reference the new test. * NEWS: Mention the change in behavior. 2012-04-04 Andreas Schwab tests: avoid unnecessary subshells in misc/stty * tests/misc/stty: Don't waste a subshell to perform this: eval rev=\$REV_$opt. Fix rev1,rev2 assignments similarly. 2012-04-04 Jim Meyering build: update gnulib submodule to latest tests: correct reversed args to "compare" * tests/misc/sort-discrim: Correct reversed args to "compare". This nit was masked by a bug in maint.mk that effectively disabled many of the syntax-check rules. tests: new syntax-check rule to prohibit use of `...` in tests/ * cfg.mk (sc_prohibit_test_backticks): New rule. Exempt 3 files. tests: remove nearly all remaining backticks * tests/rm/isatty: Remove now-unneeded "# `" line. * tests/misc/ls-time: Likewise. * tests/misc/date-sec: Remove stray "`" in comment. * tests/du/long-sloop: Likewise. * tests/mv/part-symlink: Replace multi-line `...` by $(...). * tests/mv/sticky-to-xpart: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/ls/nameless-uid: Likewise. * tests/cp/perm: Likewise. * tests/cp/preserve-gid: Likewise. * tests/cp/same-file: Likewise. tests: use perl's qx!...! rather than `...` * tests/misc/expr: As above. * tests/misc/ls-misc: Likewise. * tests/misc/pwd-long: Likewise. * tests/misc/uniq: Likewise. 2012-04-04 Jim Meyering tests: convert nearly all `...` expressions to $(...) Exempt init.sh because it runs before we're assured to have a shell that groks $(...). Exempt *.mk because "$" would have to be doubled, and besides, any `...` expression in a .mk file is almost certainly evaluated before init.sh is run. Finally, also exempt the perl-based tests, because perl's `...` cannot be converted to $(...). Do that by running this command: git grep -l '`.*`' tests \ | grep -Ev 'init\.sh|\.mk$' | xargs grep -Lw perl \ | xargs perl -pi -e 's/`(.*?)`/\$($1)/g' One minor fix-up change was required after that, due to how quoting differs: diff --git a/tests/chmod/equals b/tests/chmod/equals - expected_perms=$(eval 'echo \$expected_'$dest) + expected_perms=$(eval 'echo $expected_'$dest) Another was to make these required quoting adjustments: diff --git a/tests/misc/stty b/tests/misc/stty ... - rev=$(eval echo "\\\$REV_$opt") + rev=$(eval echo "\$REV_$opt") ... - rev1=$(eval echo "\\\$REV_$opt1") - rev2=$(eval echo "\\\$REV_$opt2") + rev1=$(eval echo "\$REV_$opt1") + rev2=$(eval echo "\$REV_$opt2") Also, transform two files that were needlessly excluded above: (both use perl, but are mostly bourne shell) perl -pi -e 's/`(.*?)`/\$($1)/g' \ tests/du/long-from-unreadable tests/init.cfg 2012-04-03 Jim Meyering tests: convert one `...` expression manually * tests/ls/stat-vs-dirent: Manually convert `(...)` to $(...), to avoid automatically producing an invalid result. tests: fix quoting bug in misc/nohup * tests/misc/nohup: Fix invalid quoting. doc: identify/refer to source of each fixed bug in log and in NEWS * HACKING (Commit log requirements): Describe our policy: when you fix a bug, put the "git describe" string of the bug-introducing commit in your commit log and put the "fixed-in-release version number" in the NEWS blurb. tests: avoid spurious misc/expr failure on AIX 6.1 * tests/misc/expr: Avoid spurious failure on AIX 6.1 due to differing regexp diagnostic. Reported by Michael Felt. 2012-03-28 Paul Eggert chmod: undo previous change It's not portable; see . * src/chmod.c, NEWS: Undo previous change. chmod: fix symlink race condition * NEWS: Document this. * src/chmod.c (process_file): Don't follow symlink if we think the file is not a symlink. 2012-03-26 Jim Meyering tests: remove temporary skip for sort-stale-thread-mem failure * tests/misc/sort-stale-thread-mem: Invoke framework_failure_, now, hoping that valgrind is fixed (or we add exclusions) before the next release. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.16 * NEWS: Record release date. tests: work around F17-valgrind sort-stale-thread-mem failure * tests/misc/sort-stale-thread-mem: Skip upon known failure. doc: use $(...), not `...` in documentation and comments * doc/coreutils.texi (dircolors invocation, Examples of expr): (shred invocation, seq invocation): Use $(...), not `...`. * src/mv.c (do_move): Likewise, in a comment. 2012-03-23 Jim Meyering tests: skip ls/stat-free-color on XFS, rather than always failing * tests/init.cfg (require_dirent_d_type_): Manually skip when "." is an xfs file system. tests: skip part of dd/sparse on some file systems * tests/dd/sparse: The last two parts of this test would fail due to the underlying file system at least on Solaris 10 with NFS. That file system would report that a 3MiB file was occupying <= 1KiB of space for nearly 50 seconds after creation. Improved-by: Bernhard Voelker 2012-03-22 Pádraig Brady maint: avoid a doc syntax check failure Prompted by the continuous integration build failure at: http://hydra.nixos.org/build/2315847 * doc/coreutils.texi (ln invocation): s/path/file name/ 2012-03-22 Harald Hoyer ln: add the --relative option With the "--relative --symbolic" options, ln computes the relative symbolic link for the user. So, ln works just as cp, but creates relative symbolic links instead of copying the file. I miss this feature since the beginning of using ln. $ tree ./ / `-- usr |-- bin `-- lib `-- foo `-- foo 4 directories, 1 file $ ln -s -v --relative usr/lib/foo/foo usr/bin/foo ‘usr/bin/foo’ -> ‘../lib/foo/foo’ $ tree ./ / `-- usr |-- bin | `-- foo -> ../lib/foo/foo `-- lib `-- foo `-- foo 4 directories, 2 files $ ln -s -v --relative usr/bin/foo usr/lib/foo/link-to-foo ‘usr/lib/foo/link-to-foo’ -> ‘foo’ $ tree ./ / `-- usr |-- bin | `-- foo -> ../lib/foo/foo `-- lib `-- foo |-- link-to-foo -> foo `-- foo 4 directories, 3 files * src/Makefile.am: Reference the relpath module. * src/ln.c (usage): Mention the new option. (do_link): Call the relative conversion if specified. (convert_abs_rel): Perform the relative conversion using the relpath module. * tests/ln/relative: Add a new test. * tests/Makefile.am: Reference the new test. * doc/coreutils.texi: Document the new feature. * NEWS: Mention the new feature. 2012-03-22 Pádraig Brady maint: refactor relpath() from `realpath` for use by `ln` * src/relpath.c: Refactored from realpath.c and adjusted to support returning the relative path rather than just printing to stdout. * src/relpath.h: Export the relpath function. * src/Makefile.am: Reference the refactored relpath module. * po/POTFILES.in: Likewise. * src/realpath.c: Adjust to the refactored relpath module. 2012-03-22 Pádraig Brady maint: ensure PATH_MAX is set correctly This reverts part of commit v8.12-103-g54cbe6e. * src/system.h: Include gnulib's pathmax.h to honor system specific limits, and then we set PATH_MAX only if needed. Note pathmax.h no longer uses pathconf ("/", _PC_PATH_MAX). Note I didn't reinstate the comments about limits.h inclusion order, because pathmax.h includes limits.h anyway. 2012-03-21 Jim Meyering build: add numerous gnulib modules, mostly for improved portability * bootstrap.conf (gnulib_modules): Add numerous modules for improved portability. Reported by Eric Blake in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/2426/focus=2489 * po/POTFILES.in: Add new files. build: update gnulib submodule to latest maint: use more modern fseeko, rather than fseek * src/tac.c (temp_stream): Use fseeko, not fseek, on principle: use the more modern interface. In general it is better to avoid fseek due to its ABI-imposed 4GiB limit on the "offset", here its use was fine because the offset was always 0. Using fseeko also has the advantage of not triggering a GNULIB_POSIXCHECK warning. Reported by Eric Blake in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/2426/focus=2489 2012-03-20 Eric Blake build: speed up configure for releases Since most users won't be building with GNULIB_POSIXCHECK defined in CFLAGS, and since we can make ./configure 10% (several seconds!) faster by omitting the framework for a posix check, this patch makes it so that the framework is omitted by default, while still giving instructions for maintainers to re-enable it. It's been a while since we've used GNULIB_POSIXCHECK; see this email: https://lists.gnu.org/archive/html/coreutils/2012-03/msg00126.html Some of those failures are because we are intentionally avoiding specific gnulib modules (that is, we have chosen not to use things like fprintf-posix), but until we work with gnulib to avoid particular warnings, wiring up an automatic GNULIB_POSIXCHECK to happen during 'make my-distcheck' is not feasible. * configure.ac (gl_ASSERT_NO_GNULIB_POSIXCHECK): Conditionally define, according to whether $GNULIB_POSIXCHECK is in environment. 2012-03-20 Jim Meyering tests: avoid spurious misc/factor failure on OpenBSD 5.1 * tests/misc/factor: Map OpenBSD 5.1's "unknown option" to our expected "invalid option". Reported by Bruno Haible. maint: remove now-superfluous coreutils-path-check rule * dist-check.mk (coreutils-path-check): Now that we set PATH in TESTS_ENVIRONMENT, it seems like overkill to make "distcheck" rerun all tests just to check this. (my-distcheck): Remove sole use. 2012-03-20 Eric Blake doc: clarify current realpath --relative-base behavior For compatibility with MacOS relpath(1), as seen here: http://opensource.apple.com/source/bootstrap_cmds/\ bootstrap_cmds-79/relpath.tproj/relpath.c we implemented 'realpath --relative-base=dir1 --relative-to=dir2 file' in the same way as 'relpath -d dir1 dir2 file'. This can result in --relative-base rendering --relative-to as a no-op if dir1 is a child of dir2. Document this. * doc/coreutils.texi (realpath invocation): Mention restriction. 2012-03-20 Pádraig Brady tests: avoid spurious dd/sparse failure * tests/dd/sparse: Allow for greater variation in sparse-block counts. Reported by Nelson H. F. Beebe and Bruno Haible. 2012-03-17 Pádraig Brady tests: fix sort-discrim to work without GMP * tests/misc/sort-discrim: The expr limit is intmax_t without GMP. 2012-03-16 Pádraig Brady tests: avoid an ls-time false positive on Solaris 10 * tests/misc/ls-time: Force a ctime update as updating the atime doesn't update ctime on tmpfs on Solaris 10. 2012-03-15 Eric Blake realpath: optimize --relative-base usage There is no need to recompute for every path being visited whether the base is a prefix of the relative location. * src/realpath.c (relpath): Hoist base check... (main): ...here. Based on a suggestion by Pádraig Brady. 2012-03-15 Eric Blake realpath: let --relative-to default to --relative-base Most of the time, if someone wants to filter which paths are relative while leaving all others absolute, they also want to to the filtering based on the same --relative-to directory. Make this easier to specify. * src/realpath.c (main): Convert error to default. * doc/coreutils.texi (realpath invocation): Document this. * tests/misc/realpath: Adjust test to match. * NEWS: Document it. 2012-03-15 Eric Blake tests: cover more realpath scenarios 'realpath --relative-base --relative-to' is identical to --relative-base=--relative-to, so the test wasn't covering what it claimed. Expose recent fixes for handling of // on systems where // is distinct, and for --relative-base=/. Add test that exposes our design decision that --relative-base that is not a prefix of --relative-to is a no-op (if we later change behavior, we will also have to change that part of the test). * tests/misc/realpath: Fix typo. Add some tests. 2012-03-15 Eric Blake realpath: fix problems with root handling When --relative-base is /, all other paths should be treated as relative (except for // where it matters). Also, on platforms like Cygwin where / and // are distinct, realpath was incorrectly collapsing // into /. http://debbugs.gnu.org/10472. * src/realpath.c (path_prefix, path_common_prefix): Treat / and // as having no common match. (relpath): Allow for no match even without --relative-base. * NEWS: Document this. 2012-03-14 Eric Blake test: expose recent gnulib canonicalize bug https://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00038.html detailed a couple of bugs in gnulib's canonicalize that were visible through coreutils' readlink, but only on systems where // is distinct from /. This particular test assumes the POSIX fix which requires canonicalization of a symlink containing just slashes to behave as if slashes separating the symlink from the rest of the name are elided (see http://austingroupbugs.net/view.php?id=541), as that is the only useful (and current) behavior on Cygwin. That is, ln -s / root ls root/dev must list the contents of /dev, not //dev. * tests/misc/readlink-root: New test. * tests/Makefile.am (TESTS): Run it. 2012-03-14 Paul Eggert Drew Kutilek James Wendt tests: new discriminator-based test for sort -n and -h * tests/Makefile.am (TESTS): Add misc/sort-discrim. * tests/misc/sort-discrim: New file, which tests a discriminator-based implementation of 'sort'. Coreutils doesn't use this implementation yet, but the test is useful anyway. 2012-03-10 Jérémy Compostella dirname: support more than one argument * src/dirname.c (main): Handle new -z option and manage more than one argument. * doc/coreutils.texi (dirname invocation): Mention it. * NEWS (New features): Mention it. * tests/misc/dirname: Add a two arguments test. split: support an arbitrary number of split files by default * src/split.c (next_file_name): If `suffix_auto' is true and the first suffix character is 'z', generate a new file file name adding `z' to the prefix and increasing the suffix length by one. (set_suffix_length): Disable auto suffix width in various cases. * tests/split/suffix-auto-length: Test it. * doc/coreutils.texi (split invocation): Mention it. * NEWS (Improvements): Likewise. 2012-03-09 Jérémy Compostella doc: add missing documentation for basename -z doc/coreutils.texi (basename invocation): Add -z option documentation. 2012-03-09 Bernhard Voelker maint: fix a version number typo in NEWS * NEWS: s/8.14/8.15/ 2012-03-09 Paul Eggert chmod: add notations +40, 00440, etc. * NEWS: Document this. * doc/perm.texi (Operator Numeric Modes): New section. (Numeric Modes, Directory Setuid and Setgid): Document new behavior. * src/chmod.c (usage): Document new behavior. (main): Support new options -0, -1, etc. * tests/chmod/setgid: Test these new features. build: update gnulib submodule to latest 2012-03-08 Jim Meyering du: fix -x: don't ignore non-directory arguments Surprise! "du -x non-DIR" would print nothing. Note that the problem arises only when processing a non-directory specified on the command line. Not surprisingly, "du -x" still works as expected for any directory argument. When performing its same-file-system check, du may skip an entry only if it is at fts_level 1 or greater. Command-line arguments are at fts_level == 0 (FTS_ROOTLEVEL). * src/du.c (process_file): Don't use the top-level FTS->fts_dev when testing for --one-file-system (-x). It happens to be valid for directories, but it is always 0 for a non-directory. * tests/du/one-file-system: Add tests for this. * NEWS (Bug fixes): Mention it. Reported by Daniel Stavrovski in http://bugs.gnu.org/10967. Introduced by commit v8.14-95-gcfe1040. 2012-03-07 Jim Meyering maint: use an optimal-for-coreutils xz compression setting * cfg.mk: Set XZ_OPT = -8e (determined empirically). This sacrifices 8 KiB of compressed tarball size for a 32-MiB decrease in the memory required during decompression. I.e., using -9e would shave off only 8 KiB from the tar.xz file, yet would force every decompression process to use 32 MiB more memory. 2012-03-07 Jérémy Compostella basename: support more than one argument * src/basename.c (perform_basename): New function refactored from main() that performs the basename work on a STRING, optionally removes a trailing SUFFIX and outputs the result. (main): Handle new options. * doc/coreutils.texi (basename invocation): Mention new options. * test/misc/basename: Add new options test cases. * NEWS (New features): Mention it. 2012-03-06 Pádraig Brady maint: refactor copy to use is_nul() * src/dd.c: Move is_nul() from here to ... * src/system.h: ... here * src/copy.c (sparse_copy): Adjust to use the refactored is_nul() 2012-03-02 Pádraig Brady tests: work around a block alignment issue in dd/sparse Prompted by the continuous integration build failure at: http://hydra.nixos.org/build/2188210 (which uses XFS). * tests/dd/sparse (alloc_equal): Add a block allocation comparison function that accounts for variations due to alignment. 2012-02-29 Rodrigo Campos doc: timeout: document the exit status when run with "-s KILL" * src/timeout.c (usage): Document the exit status for this case, in --help and thus in the man page. Word so that it covers both the -s9 and -k options. * doc/coreutils.texi (timeout invocation): Document the exit status for this case. 2012-02-29 Bernhard Voelker tests: compile and link shared object with $CC to make LD_PRELOAD work * tests/ls/getxattr-speedup: Compile and link in one step with $CC. If the shared object file is created by ld (binutils), then the destructor print_call_count() may not run (seen on OpenSuSE 12.1). See http://lists.opensuse.org/opensuse/2012-02/msg01342.html Thanks to Cristian Rodríguez. 2012-02-29 Roman Rybalko dd: add support for the conv=sparse option Notes: Small seeks are not coalesced to larger ones, like is done in cache_round() for example. conv= is used rather then oflag= for FreeBSD compatibility. * src/dd.c (final_op_was_seek): A new global boolean to flag whether the final "write" was converted to a seek. (usage): Describe the new conf=sparse option. (iwrite): Convert a write of a NUL block to a seek if requested. (do_copy): Initialize the output buffer to have a sentinel, to allow for efficient testing for NUL output blocks. If the last block in the file was converted to a seek, then convert back to a write so the size is updated. * NEWS: Mention the new feature. * tests/dd/sparse: A new test for the feature. * tests/Makefile.am: Reference the new test. 2012-02-27 Jérémy Compostella doc: fix a wrong option reference in split invocation * doc/coreutils.texi (split invocation): replace `-r' reference with `-nr/n'. 2012-02-26 Jim Meyering tests: fix help-version on cygwin, where $EXEEXT is nonempty * tests/misc/help-version: Remove the $EXEEXT suffix from each program name before comparing with a literal. 2012-02-26 Bernhard Voelker tests: remove unnecessary use of -lc * tests/ls/getxattr-speedup: Remove unneeded use of -lc. 2012-02-25 Paul Eggert sort: default to physmem/8, not physmem/16 * src/sort.c (default_sort_size): Don't divide advice by 2. Just divide the hard limits by 2. This matches the comments. Reported by Rogier Wolff in http://bugs.gnu.org/10877 2012-02-24 Jim Meyering doc: clarify a comment in system.h * src/system.h (STRNCMP_LIT): Clarify comment. Suggested by Bruno Haible. 2012-02-20 Jérémy Compostella split: add the --additional-suffix option Add the --additional-suffix option, to append an additional static suffix to output file names. * src/split.c (next_file_name): Append suffix to output file names. (main): Handle new --additional-suffix option. * NEWS (New features): Mention it. * doc/coreutils.texi (split invocation): Mention it. * tests/split/additional-suffix: New file. Test --additional-suffix. * tests/Makefile.am (TESTS): Add it. Requested by Peng Yu, in bug 6554 2012-02-20 Pádraig Brady ls: adjust errnos indicating device non support for xattrs * src/ls.c (errno_unsupported): Remove EBUSY, as this caters for the case where ACLs can't be accessed because the _file_ is locked. http://lists.gnu.org/archive/html/bug-coreutils/2005-06/msg00191.html Also ENOENT is not safe to include as you get that if the _file_ is removed between the stat() and subsequent querying of xattrs. 2012-02-19 Jérémy Compostella tests: ls/getxattr-speedup: include for older headers Modern provides ssize_t, but the one from Debian's libc6-dev 2.11.2-10 apparently does not. * tests/ls/getxattr-speedup: Also include . 2012-02-18 Jérémy Compostella doc: fix file names in split --filter=command example * doc/coreutils.texi (split invocation): Output file names should be prefixed with `big-' not `big-x'. 2012-02-18 Jim Meyering tests: test for ls speed-up * tests/ls/getxattr-speedup: New test. * tests/Makefile.am (TESTS): Add it. Improved-by: Bernhard Voelker ls: cache ACL- and CAP-querying syscall failures Like the optimization to avoid always-failing getfilecon calls, this change avoids always-failing queries for whether a file has a nontrivial ACL and for whether a file has certain "capabilities". When such a query fails for one file (indicating no support), we know it will always fail that way for the affected device. With this change, we have thus eliminated nearly all failing-unsupported getxattr syscalls. * src/ls.c (has_capability) [!HAVE_CAP]: Set errno to ENOTSUP. (errno_unsupported): Expand the list of E* errno values to match that of lib/acl-internal.h's ACL_NOT_WELL_SUPPORTED macro. (file_has_acl_cache, has_capability_cache): New functions. (gobble_file): Use them in place of non-caching ones. * NEWS (Improvements): Mention it. Suggested by Sven Breuner in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/2187 While eliminating most getfilecon calls saved about 33%, eliminating these other calls can save almost all of the remaining ~67% cost, on some remote file systems. ls: optimize for when getfilecon would often fail (~33% perf. gain) On systems or file systems without SELinux support, all getfilecon and lgetfilecon calls would fail due to lack of support. We can non- invasively cache such failure (on most recently accessed device) and avoid the vast majority of the failing underlying getxattr syscalls. * src/ls.c (errno_unsupported): New function. (selinux_challenged_device): New file-scoped global. (getfilecon_cache, lgetfilecon_cache): New error-caching wrapper functions. (gobble_file): Use the caching wrappers, for when many *getfilecon calls would fail with ENOTSUP or EOPNOTSUPP. Suggested by Sven Breuner in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/2187 Improved-by: Pádraig Brady. 2012-02-18 Jérémy Compostella split: support optional start value for --numeric-suffixes Allow changing the --numeric-suffixes start number from the default of 0. * src/split.c (next_file_name): Initialize the suffix index and the output filename according to start value. (main): Check that the suffix length is large enough for the numerical suffix start value. * doc/coreutils.texi (split invocation): Mention it. * NEWS (New features): Mention it. * tests/split/numeric: New file. Test --numeric-suffixes[=FROM]. * tests/Makefile.am (TESTS): Reference the new test. 2012-02-17 Pádraig Brady doc: fix a typo about seek_bytes in NEWS * NEWS: s/count_bytes/seek_bytes/2 2012-02-16 Bernhard Voelker doc: improve 'rm -f' description * doc/coreutils.texi (rm invocation): Mention that the -f option also silences the message for missing operands, which is useful in scripts e.g., for "rm -f $file_list" when $file_list is empty. * src/rm.c (usage): Likewise. Reported by Jérémy Magrin in http://bugs.gnu.org/10819 2012-02-13 Pádraig Brady dd: fix issues in the count_bytes and seek_bytes flags change These edge cases were missed in the previous commit 140eca15c. * src/dd.c (main): Include the bytes slop when truncating without further I/O. Don't invalidate the whole file cache in the case where 0 < count < ibs. * tests/dd/bytes: Change to using the independent truncate command to generate the file for comparison. Remove a redundant test case and replace with one testing the truncation only logic. 2012-02-12 Jérémy Compostella dd: add count_bytes, skip_bytes and seek_bytes flags dd now accepts the count_bytes and skip_bytes input flag and the seek_bytes output flag, to more easily allow processing portions of a file. * src/dd.c (scanargs): Compute skip_records and skip_bytes when 'skip_bytes' iflag is used. Compute max_records and max_bytes when 'count_bytes' iflag is used. Compute seek_records and seek_bytes when 'seek_bytes' oflag is used. (skip_via_lseek): Use new 'bytes' parameter and handle potential 'records' equals to zero. Update the bytes parameter when called with 'fdesc' equal to STDOUT_FILENO. Update the header comments. (dd_copy): Skip accordingly to skip_records AND skip_bytes. Count accordingly to max_records AND max_bytes. Seek on output accordingly to seek_records AND seek_bytes. * NEWS (New features): Mention it. * doc/coreutils.texi (dd invocation): Detail new flags and behaviors. * tests/dd/bytes: New file. Tests for these new flags. * tests/Makefile.am (TESTS): Add it. 2012-02-12 Jim Meyering build: correct @@-,length values in last hunk of regcomp.c.diff * gl/lib/regcomp.c.diff: Correct invalid hunk lengths (s/1/7/g) in the last hunk's @@-line. build: update gnulib, bootstrap, gl/lib/regcomp.c.diff * gnulib: Update submodule to latest. * bootstrap: Update from gnulib. * gl/lib/regcomp.c.diff: Adapt to gnulib changes. mv: "mv A B" would sometimes succeed, yet A would remain, ... But only when both A and B were hard links to the same symlink. * src/copy.c (same_file_ok): Handle another special case: the one in which we are moving a symlink onto a hard link to itself. In this case, we must explicitly tell the caller to unlink the source file. Otherwise, at least the linux-3.x kernel rename function would do nothing, as mandated by POSIX 2008. * tests/mv/symlink-onto-hardlink-to-self: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Bernhard Voelker in http://bugs.gnu.org/10686 2012-02-06 Jérémy Compostella maint: add braces as requested by HACKING coding standard * src/dd.c (dd_copy): Braces were missing for this do/while statement. 2012-01-31 Pádraig Brady doc: clarify --help output for some optional arguments * src/pr.c (usage): Fix the -S description to indicate that the argument is optional for the short option. * doc/coreutils.texi (pr invocation): Likewise. * src/od.c (usage): Fix the -S description to indicate that the argument is required for the short option. Clarify -w takes an argument and that it is optional. 2012-01-30 Jim Meyering maint: sort: remove the last uses of "'%s'" in diagnostics * src/sort.c (key_warnings): Use quote (quote_n, since there are two) rather than literal single quotes ('%s') in diagnostic. mv: allow moving symlink onto same-inode dest with >= 2 hard links Normally, mv detects a few subtle cases in which proceeding with a same-file rename would, with very high probability, cause data loss. Here, we have found a corner case in which one of these same-inode tests makes mv refuse to perform a useful operation. Permit that corner case. * src/copy.c (same_file_ok): Detect/exempt this case. * tests/mv/symlink-onto-hardlink: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Initially reported by: Matt McCutchen in http://bugs.gnu.org/6960. Raised again by Anders Kaseorg due to http://bugs.debian.org/654596. Improved-by: Paul Eggert. build: update gnulib, for syntax-check vs canonicalize fix 2012-01-27 Jim Meyering maint: use single copyright year range Run "make update-copyright". maint: make copyright statements more consistent; update gnulib * cfg.mk (update-copyright-env): Add UPDATE_COPYRIGHT_FORCE=1 to rejoin some split lines, and UPDATE_COPYRIGHT_USE_INTERVALS=2 to make update-copyright use only one year range. * gnulib: Update to latest, for newer update-copyright script. maint: fix copyright in old fileutils ChangeLog * old/fileutils/ChangeLog-1997: Insert omitted "Free Software" in the name of the copyright holder. Compress year range. 2012-01-26 Pádraig Brady maint: remove some redundant automake _SOURCES * src/Makefile.am: Remove auto generated entries. 2012-01-25 Pádraig Brady maint: cleanup an extraneous version output in a test * test/misc/stdbuf: Fixup the minor copy & paste issue introduced in commit ff7f0ff8 2012-01-25 Pádraig Brady realpath: avoid the use of printf This was seen to give an 11% performance improvement. * src/realpath.c (relpath): Avoid using printf. (process_path): Likewise. 2012-01-25 Pádraig Brady maint: use the standard require_perl_ function * tests/cp/sparse-fiemap: Don't use a separate check. realpath: remove extraneous '/' for --relative-to edge cases * src/realpath.c (path_common_prefix): Be consistent and always include a leading '/' in the count returned. (relpath): Account for the change in path_common_prefix() and avoid outputting extra '/' chars in relative paths that span the root dir. * tests/misc/realpath: Add the two reported cases. Reported by Mike Frysinger 2012-01-23 Jim Meyering build: update gnulib to latest, for test warning fixes See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29810 for details. tests: remove crufty test=test_name code from old tests Before init.sh and similar, we would set test=test_name, and then construct temporary file names using $test. Now that each init.sh-using test is in its own directory, that practice is unwelcome. Remove bad examples. * tests/rm/f-1: Per above. * tests/rm/i-1: Likewise. * tests/rm/interactive-always: Likewise. * tests/rm/interactive-once: Likewise. * tests/rm/ir-1: Likewise. * tests/rm/r-1: Likewise. 2012-01-22 Paul Eggert maint: quote 'like this' or "like this", not `like this' * doc/coreutils.texi (Formatting the file names): coreutils now quotes 'like this'. * man/help2man: * src/timeout.c (usage): Quote 'like this' in diagnostics. * HACKING, Makefile.am, NEWS, README, README-hacking, TODO, cfg.mk: * doc/Makefile.am, doc/coreutils.texi, m4/jm-macros.m4: * man/Makefile.am, man/help2man, src/Makefile.am, src/copy.h: * src/extract-magic, src/ls.c, src/pinky.c, src/pr.c, src/sort.c: * src/split.c, src/timeout.c, src/who.c, tests/dd/skip-seek-past-file: * tests/pr/pr-tests: Quote 'like this' in commentary. * cfg.mk (old_NEWS_hash): Update due to changed old NEWS. 2012-01-20 Pádraig Brady stat: clarify the description of the %o stat format * src/stat.c (usage): Indicate this is a transfer size suggestion, rather than some persistent block size. * doc/coreutils.texi (stat invocation): Likewise. 2012-01-14 Jim Meyering doc: tweak an @uref so its alt reference text renders in info * doc/coreutils.texi (Opening the software toolbox): Remove commas from @uref argument, so the alternate text renders properly in info. Reported by Reuben Thomas. 2012-01-11 Pádraig Brady maint: fix minor whitespace issues The previous commit introduced a couple of spacing issues, luckily one of which caused a test to fail. * src/stat.c (default_format): Add a space so times are aligned. * src/tr.c (string2_extentd): Remove an extraneous space. 2012-01-11 Jim Meyering maint: adjust formatting of certain continued strings Add a rule to ding any source file that has a continued string with a word in the first column of the following line. Those tend to trigger malfunction in tools that try to map an arbitrary line number to an enclosing function name. Of course, very many strings do precisely this, *when they are part of the usage function*. So we exempt the body of each usage function. * src/dircolors.c (main): Separate a long, continued string into two separately-quoted parts. * src/od.c (decode_one_format): Likewise. (decode_one_format, main): Move a space from end of preceding line to the beginning of the continued line. * src/tr.c (unquote, string2_extend, validate): Likewise. * src/seq.c (main): Split in two and use string concatenation. * src/stat.c (default_format): Use a mix of techniques. * cfg.mk (sc_prohibit_continued_string_alpha_in_column_1): New rule. Exempt three files in src: system.h, od.c, printf.c. 2012-01-09 Jim Meyering maint: straggler *.[ch] files: convert more `...' to '...' The preceding commands ignored .[ch] files in lib/ and gl/. This is what I should have been doing from the start: git grep -l '`.*'\' $(g ls-files |grep '\.[ch]$') \ | xargs perl -pi -e 's/`(.+?'\'')/'\''$1/' 2012-01-09 Jim Meyering maint: src/*.[ch]: convert more `...' to '...' Run this (twice): git grep -E -l '`.+'\' src/*.[ch] \ |xargs perl -pi -e 's/`(.+?'\'')/'\''$1/' maint: src/*.c: change remaining quotes (without embedded spaces) Run this (twice): git grep -E -l '`[^ ]+'\' src/*.c \ |xargs perl -pi -e 's/`([^ ]+'\'')/'\''$1/' maint: convert `...' to '...' in --help output All affected lines end with \ or \n\, so run this command until it produces no new changes (4 times): git grep -E -l '`[^ ]+'\''.*\\' src \ |xargs perl -pi -e 's/`([^ ]+'\''.*\\)/'\''$1/' maint: adjust quoting: emit '...', not `...' in diagnostics * src/csplit.c (parse_repeat_count, extract_regexp): As above. * src/date.c (main): Likewise. * src/ls.c (decode_switches): Likewise. * src/od.c (decode_one_format, main): Likewise. * src/pathchk.c (no_leading_hyphen): Likewise. * src/pr.c (main, getoptarg): Likewise. * src/rm.c (diagnose_leading_hyphen): Likewise. * src/sort.c (key_warnings, incompatible_options, main): Likewise. * src/stat.c (print_esc_char): Print '\x', not `\x' in diagnostic. * src/test.c (main): Likewise. * src/touch.c (main): Likewise. * src/tr.c (build_spec_list, validate, append_range): Likewise. * tests/misc/mktemp: This is an unusual case, since the affected string contains only the ` of an `...' string. So we change the long ` to a lone '. * tests/pr/pr-tests: Manual quote adapting fix-up. * tests/ln/hard-to-sym: Likewise. * tests/split/suffix-length: Likewise. * tests/mv/part-fail: Likewise. * tests/misc/chcon: Likewise. * tests/misc/stat-printf: Likewise. 2012-01-09 Jim Meyering tests: more automated quote adjustment Relax initial regexp to match more instances, but add a filter to avoid some invalid conversions. Run this: git grep -l "\`[^']*'" tests | xargs perl -pi -e '$q=q"'\''";' \ -e '$q="$q\\$q$q"; /(= ?\`|\`expr|\`echo|\Q$q\E)/ and next;' \ -e ' s/\`([^'\''"]*?'\'')/'\''$1/g' The last disjunct in the above (...) filter is to exempt any line that contains this string: '\'' With quoting like that, converting a ` to ' is likely to cause trouble, so we'll handle those manually. Here are three examples where the exemption is required: *': `link-to-dir/'\'': hard link not allowed for directory'*) ;; printf 'creating file `%s'\''\n' $f 'mv: inter-device move failed: `%s'\'' to `%s'\'';'\ 2012-01-09 Jim Meyering tests: change `...' to '...' on lines not matching /[=\$]/ Exempt lines with '$' or '=', since those are prone to improper conversion. Run this: git grep -l "\`[^']*'" tests \ |xargs perl -pi -e '/[=\$]/ and next;s/\`([^'\''"]*?'\'')/'\''$1/g' tests: adjust \`...' quoting to '...' to adapt to latest gnulib Run this: git grep -l "\\\\\`[^']*'" tests \ |xargs perl -pi -e 's/\\\`(.*?'\'')/'\''$1/g build: update gnulib submodule to latest (quoting change) This pulls in changes to the quote and quotearg modules that render quoted strings in diagnostics. `Old' vs 'new'. maint: prep for global quoting changes: handle irregular cases manually * src/chroot.c (usage): Change ``...'' to '...', and describe the default more accurately (also adding quotes): s,/bin/sh,'/bin/sh -i', * src/join.c (usage): Change ` ...'' ' to "...''". * src/fmt.c (isopen): Change `' to '` in list of bytes, so that a subsequent change can safely perform the `...' to '...' conversion. * src/truncate.c (main): Tweak quoting in comments to use '...', not `...`, for consistency with the rest of comments in coreutils. 2012-01-07 Jim Meyering maint: update quoting of "Try `prog --help'" to "Try 'prog --help'" Automatically adjust both the source (now in only one place) and all tests that expect the resulting output via this: git grep -l 'Try.*--help' src/system.h tests \ | xargs perl -pi -e 's/Try \\?`(\S+ --help)/Try '\''$1/' 2012-01-07 Jim Meyering maint: use new emit_try_help in place of equivalent fprintf Run this command: perl -0777 -pi -e \ 's/fprintf \(stderr, _\("Try `%s --help.*\n.*;/emit_try_help ();/m'\ src/*.c maint: factor out all `Try --help'-emitting statements * src/system.h (emit_try_help): New function. 2012-01-06 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.15 * NEWS: Record release date. scripts: allow one-line summary to start with "[Vv]ersion \d" * scripts/git-hooks/commit-msg: Do not reject the commit log message generated by our automated release-and-tag process. (bad_first_line): New function, extracted from... (check_msg): ... here. Use it. build: update gnulib submodule to latest tests: adjust quoting in expected output to match new gnulib policy * tests/misc/xstrtol: Use '...' to match new quoting in most places. However, leave `9x' to match the sole comparison against output from the quote function, which still uses `...'. * tests/misc/sort-merge: Likewise, though here I had to leave `...'-quoted output to match output from four tests. * tests/pr/pr-tests: Convert a single `...' to '...'. * gnulib: Update submodule to latest. maint: adjust ChangeLog to reflect earlier df request * build-aux/git-log-fix: Credit early reporter. * THANKS.in: Add a name. 2012-01-05 Pádraig Brady tests: avoid stty icanon issues on some platforms * tests/misc/stty: Exclude 'icanon' for the list to check, as it's problematic on ppc*|sparc* platforms. tests: avoid ulimit issue on bash 3.2 on OS X * tests/misc/sort-continue: Perform the glob before the ulimit, as it was seen to make the glob fail on bash 3.2 on Mac OS X 10.6.8 at least. 2012-01-05 Pádraig Brady tests: avoid a false positive due to overflow on Linux/HPPA * tests/misc/timeout-parameters: Verify that the timer doesn't fire immediately in the problematic range, and avoid overflow checks in that case. * man/timeout.x: Mention the possible bug. Reported by Bruno Haible 2012-01-05 Jim Meyering tests: adjust setfacl usage to accommodate Solaris 10 * cfg.mk (sc_prohibit_short_facl_mode_spec): New rule. * tests/cp/acl: Extend setfacl mode spec to have length 3. * tests/ls/slink-acl: Likewise. * tests/mv/acl: Likewise. Report and analysis by Bruno Haible. 2012-01-05 Bruno Haible Jim Meyering split: avoid failure due to leftover 'errno' value * src/split.c (lines_chunk_split): Fix logic bug that led to unwarranted failure of "split -n l/2 /dev/zero" on NetBSD 5.1. The same would happen when splitting a growing file, where open/lseek-end gives one size, but by the time we read, there is more data available. (bytes_chunk_extract): Likewise. * NEWS (Bug fixes): Mention this. * tests/split/l-chunk: The latter case was not exercised. Add code to do that. Bug introduced with the chunk-selecting feature in v8.7-25-gbe10739. 2012-01-05 Jim Meyering doc: README: recommend GNU make to run tests on IRIX 6.5 and Solaris 9 * README: Document vendor "make check" failure on those two systems. Reported by Bruno Haible. 2012-01-04 Jim Meyering maint: ignore *.trs files, lib/getopt.h and build-aux/test-driver * .gitignore: Also ignore automake's new .trs files and its build-aux/test-driver, as well as lib/getopt.h. 2012-01-03 Jim Meyering doc: adjust NEWS * NEWS (New programs): Move this small section to the top. (df): Reword entry, from Pádraig Brady. 2012-01-03 Jim Meyering df: work around long-named /dev/disk/by-uuid/... symlinks On systems with recent kernel/tools, a symlink from /etc/mtab to /proc/mounts, and a by-UUID mount (i.e., soon, nearly everyone), you will see something like the following when running "df -hT": (this has been truncated to fit in a width-limited ChangeLog file) Filesystem Type Siz... rootfs rootfs 11G udev devtmpfs 3.8G tmpfs tmpfs 774M /dev/disk/by-uuid/828fc648-9f30-43d8-a0b1-f7096a2edb66 ext4 11G tmpfs tmpfs 1.6G /dev/sda2 ext3 494M /dev/sda5 ext4 12G /dev/sda6 ext4 9.9G Contrast that with what we're used to seeing (modulo the two entries mounted on "/", which is a separate problem): Filesystem Type Size Used Avail Use% Mounted on rootfs rootfs 11G 1.9G 8.0G 19% / udev devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 774M 376K 774M 1% /run /dev/sda3 ext4 11G 1.9G 8.0G 19% / tmpfs tmpfs 1.6G 8.0K 1.6G 1% /run/shm /dev/sda2 ext3 494M 78M 392M 17% /boot /dev/sda5 ext4 12G 7.6G 3.7G 68% /usr /dev/sda6 ext4 9.9G 6.6G 2.8G 71% /var When that long /dev/disk/by-uuid/... name is merely a symlink to a much shorter (and often more useful) device name like "/dev/sda3", and when it's part of a listing of all file systems, I would much prefer to see only the latter. Similarly, when using an encrypted root file system, you would see a name like /dev/mapper/luks-828fc648-9f30-43d8-a0b1-f7196a2edb66 pointing to say, /dev/dm-0, I prefer the shorter name. I.e., if I explicitly run "df -hT /dev/disk/by-uuid/828fc648-9f30-43d8-a0b1-f7096a2edb66", then, it's fine -- and expected -- to print to the long name. It was explicitly given. However, with no non-option argument, df should print the shorter name. Note that performing this translation at a lower level (via a change to gnulib's mountlist.c) would make it impossible to distinguish those two cases. * src/df.c: Include "canonicalize.h". (get_dev): Add a parameter, telling when we're in process-all- mount-points mode; update all callers. When true, resolve UUID-suffixed symlinks. * NEWS (Changes in behavior): Mention it. Reported by Nao Nishijima in http://bugzilla.redhat.com/766461 and by Dan Jacobson in http://bugs.gnu.org/10363 2012-01-03 Jim Meyering tests: adjust realpath test to avoid "make distcheck" failure * tests/misc/realpath: Quote lhs of test ... = ..., so that when $PWD contains a space (like it does via "make distcheck"), the test does not fail 2012-01-03 Pádraig Brady realpath: a new program to print the resolved path This program is compatible with other realpath(1) implementations, and also incorporates relpath like support, through the --relative options. The relpath support was suggested by Peng Yu, who also provided an initial implemenation of that functionality. * AUTHORS: Add my name. * NEWS: Mention the new command. * README: Likewise. * doc/coreutils.texi (realpath invocation): Add realpath info. * man/Makefile.am (realpath.1): Add dependency. * man/realpath.x: New template. * man/.gitignore: Ignore generated man page. * po/POTFILES.in: Add src/realpath.c. * src/.gitignore: Exclude realpath. * src/Makefile.am (EXTRA_PROGRAMS): Add realpath. * src/realpath.c: New file. * scripts/git-hooks/commit-msg: Add realpath to the list of prefixes. * tests/Makefile.am (TESTS): Add misc/realpath. * tests/misc/realpath: New file. 2012-01-03 Pádraig Brady build: update gnulib for canonicalize_filename_mode improvements This is required for the new realpath command. 2012-01-02 Jim Meyering build: tail: avoid type/format mismatch warning from gcc Without this change, gcc's -Werror=format would complain that the '%lx' format requires 'long unsigned int', not 'int'. * src/tail.c (fremote): Use a temporary variable. 2012-01-01 Jim Meyering tests: also print chmod's --version * tests/rm/many-dir-entries-vs-OOM: This test also exercises chmod. maint: update all copyright year number ranges Run "make update-copyright". tests: change copyright year from 2011 to 2012 in sample-test This file is special. We don't want to use a range, but merely the current year number. * tests/sample-test: s/2011/2012/ 2011-12-31 Jim Meyering tests: fix a missing-dependency problem * tests/check.mk (.built-programs): Depend on src/Makefile.am, so that when we add a program, this file is updated, and the new program is tested via misc/help-version. Spotted by Pádraig Brady. 2011-12-30 Jim Meyering build: avoid spurious test.c warning with -Wsuggest-attribute=pure * src/test.c: Add pragma to suppress gcc-4.6.2's warning that "advance" might be candidate for attribute 'pure'. 2011-12-28 Jim Meyering tail: avoid theoretically undefined behavior * src/tail.c (start_lines): Do not form potentially-invalid address. Use safe_read's return value as a pointer offset only after ensuring that it is not SAFE_READ_ERROR (size_t)(-1). Spotted by coverity. Also, move declaration of "p" to be closer to first use. tests: also unset _STDBUF_E, _STDBUF_I and _STDBUF_O * tests/envvar-check (vars): Add these to the list of envvars we ignore: _STDBUF_E, _STDBUF_I, _STDBUF_O, used by libstdbuf. 2011-12-26 Pádraig Brady doc: homologize ch{con,grp,mod,own} option descriptions * src/chgrp.c (usage): Group associated options together, to aid users. Also minimize the differences between individual messages across these four commands, to aid translators. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/chcon.c (usage): Likewise. Document the --dereference option. Suggested by Paul Eggert and Jari Aalto 2011-12-26 Jim Meyering stat,tail: recognize new FS type: pipefs * src/stat.c (human_fstype) [S_MAGIC_PIPEFS]: New case. * NEWS (Bug fixes): Mention this. 2011-12-24 Jim Meyering doc: stat: clarify that %t and %T expand to the file system type * src/stat.c (usage): Mention "file system type", not just "type" for %t and %T. Do not capitalize the first letter of each description. 2011-12-23 Jim Meyering tail: with -f, use polling when a file is on an FS of unknown type Before, we would use inotify in that case, which would work as long as updates were taking place locally, but not at all when remote. Move hard-coded list of known remote FS types into a more maintainable table in stat.c, alongside the list of FS names and magic numbers. Generate a new is_local_fs_type function. * src/Makefile.am (fs-is-local.h): New rule, generated file. * src/extract-magic: Revamp to parse local/remote keyword after each magic number in src/stat.c's case statements. Accept new --local option. * src/.gitignore: Ignore the generated fs-is-local.h. * src/tail.c [HAVE_INOTIFY]: Include fs-is-local.h. (fremote) [HAVE_INOTIFY]: Use the new function in place of the switch stmt with hard-coded list of FS types. Emit a warning when processing a file on a file system of unknown type. * NEWS (Changes in behavior): Mention it. Suggested by Sven Breuner. 2011-12-22 Jim Meyering doc: update README-release with process to check for new FS magic * README-release: Run the Makefile rule that checks for new file system magic numbers. tail,stat: add support for FhGFS * src/stat.c (human_fstype): Add a case: fhgfs, 0x19830326. * src/tail.c (fremote): Add S_MAGIC_FHGFS. * NEWS (Bug fixes): Update the entry for GPFS to mention FhGFS, too. Reported by Sven Breuner. 2011-12-20 Jim Meyering doc: improve factor example * doc/coreutils.texi (factor invocation): Adjust example to use $(...) consistently, not a mix of `...` and $(...). Separate the computation of the product and the actual factorization, so the timing of the latter doesn't include the cost of the former. 2011-12-17 Jim Meyering build: remove now-useless code from bootstrap.conf * bootstrap.conf (bootstrap_epilogue): Remove now-unnecessary, snippet that edited gnulib-tests/gnulib.mk. This snippet was rendered unnecessary by commit v8.14-73-g5bf2c0e. build: merge in bootstrap changes from gnulib * bootstrap: Pull in the combination of gnulib's "bootstrap: detect tools required by gnulib-tool" patch and the related fix. 2011-12-15 Paul Eggert du: -x should not count files in other file systems This fixes Bug#10293, which I guess was introduced in commit 95c948b06a dated 2003-10-02. * NEWS: Document fix. * src/du.c (process_file): Don't count files in different file systems if -x is given. * tests/du/one-file-system: Test for this bug. 2011-12-13 Paul Eggert doc: document 'touch' and timestamps better * doc/coreutils.texi (touch invocation): Explain file timestamps better. Problem reported by Nelson H.F. Beebe (Bug#7999). 2011-12-12 Jim Meyering ls: give a more useful diagnostic for a bogus --time-style arg * src/ls.c (decode_switches): Replace our use of XARGMATCH with open-coded version so that we can give a better diagnostic. * tests/ls/time-style-diag: New file. * tests/Makefile.am (TESTS): Add it. Reported by Dan Jacobson in http://bugs.gnu.org/10253 with suggestions from Eric Blake and Paul Eggert. 2011-12-09 Jim Meyering maint: remove a misleading comment from shred.c * src/shred.c: Remove obsolete TODO comment. The first two and the last item were done, adding --recursive (-r) is neither necessary nor appropriate, and I don't want to add --interactive. I don't see a need for the others. Prompted by comments from Amr Ali. 2011-12-08 Jim Meyering Eric Blake ls: be responsive to interrupts when color-listing large directories Starting with commit adc30a83, when using --color, ls inhibited interrupts to avoid corrupting the state of an output terminal. However, for very large directories, that inhibition rendered ls uninterruptible for too long, including a potentially long period even before any output is generated. * src/ls.c: Two phases of processing are time-consuming enough that they can provoke this: the readdir loop and the printing loop. The printing was supposed to be covered by a call to process_signals in (print_name_with_quoting): ... but that call was mistakenly guarded by a condition that might be false for many or even all files being processed. Call process_signals unconditionally. (print_dir): Also call process_signals in the readdir loop. * NEWS (Bug fixes): Mention it. Reported by Arkadiusz MiÅ›kiewicz in http://bugs.gnu.org/10243 2011-12-05 Paul Eggert ln: clarify usage of -L, -n, -T * src/ln.c (usage): Use clearer wording to describe the -L, -n, and -T options (Bug#9896). maint: don't assume GNU make \# syntax (fix previous) * src/Makefile.am (fs_normalize_perl_subst, fs-magic, fs-kernel-magic): Undo previous patch; it missed a \#. (fs_normalize_perl_subst): Use \043 rather than \#. \043 is portable to all ASCIIish platforms, whereas \# is portable only to platforms that are compatible with GNU make (and are incompatible with POSIX make). Porting this to EBCDIC is left as an exercise for the reader.... 2011-12-05 Jim Meyering maint: sort, stat: remove unused parameters * src/sort.c (struct thread_args) [is_lo_child]: Remove member. (sortlines): Remove unused parameter, "is_lo_child". Update callers. * src/stat.c (out_epoch_sec): Mark unused parameter. (do_statfs, do_stat): Remove unused parameter, "terse". Update callers. 2011-12-05 Paul Eggert maint: don't assume GNU make \# syntax * src/Makefile.am (fs_normalize_perl_subst): Don't make unportable assumption about \# in the right hand side of a macro definition. This works with GNU make, but not with POSIX make. Problem reported by Basavaraj B (Bug#10220). (fs-magic, fs-kernel-magic): Do the #-substitution here instead. 2011-12-04 Jim Meyering od,test: address warnings from gcc's -Wjump-misses-init * src/test.c (unary_operator): gcc reported that initializations in two case statements were skipped. Enclose in braces. * src/od.c (decode_one_format): Likewise. maint: remove redundant usage declarations (-Wredundant-decls) * src/csplit.c (usage): Remove declaration. * src/ls.c (usage): Likewise. * src/pr.c (usage): Likewise. 2011-12-03 Jim Meyering maint: add missing ":" after "License" in local gnulib module files This avoids spurious diagnostics when running our "bootstrap" script. * gl/modules/heap: Append colon after "License". * gl/modules/randint: Likewise. * gl/modules/randperm: Likewise. * gl/modules/randread: Likewise. Reported by Stefano Lattarini. Diagnosed by Bruno Haible. 2011-12-01 Eric Blake doc: fix list of GNU extension date formats I didn't check how long these were documented as GNU extensions, nor when they were added by POSIX; but since they are all part of POSIX 2008, we no longer need call them out as extensions. The next version of POSIX will standardize %s: http://austingroupbugs.net/view.php?id=169 but as that is not out yet, I didn't change %s. * doc/coreutils.texi (Time conversion specifiers): %R and %z are now POSIX. (Date conversion specifiers): Likewise for %F, %g, %G. 2011-12-01 Bernhard Voelker tests: adjust PATH to generally include /sbin and /usr/sbin Commit 5eeaca94 added /sbin to the PATH for tests using mkfs. For other tests, e.g. tests/cp-fiemap-perf using filefrag, we need /usr/sbin also. Add both directories generally for the tests, "since many of us always augment our PATH with all of the sbin paths all of the time anyway" (Bob in http://lists.gnu.org/archive/html/coreutils/2011-11/msg00107.html). The previous commit is hereby obsolete. * tests/init.cfg (sanitize_path_): Add /sbin and /usr/sbin to PATH unless already included. Needed for tests using admin tools like mkfs and filefrag on systems where the user's environment does not have these directories in the PATH. * tests/init.cfg (require_mkfs_PATH_): Remove obsolete function. * tests/cp/cp-a-selinux: Remove require_mkfs_PATH_ call. * tests/cp/cp-mv-enotsup-xattr: Likewise. * tests/cp/sparse-fiemap: Likewise. * tests/mkdir/writable-under-readonly: Likewise. * tests/rm/read-only: Likewise. 2011-11-29 Eric Blake build: simplify warnings based on last gnulib update We no longer need to exclude this warning. * configure.ac (WARN_CFLAGS): Gnulib dropped -Wunsuffixed-float-constants, as non-portable. 2011-11-29 Eric Blake build: update gnulib for syntax-check improvement Commit 5b3e538 proved useful enough to migrate to gnulib after enhancing it to be more generic, which in turn pointed out that commit a2c811db missed an offender. * gnulib: Update to latest. * cfg.mk (sc_prohibit_reversed_compare_failure): Delete, now that gnulib provides it. * tests/ls/dangle: Fix last offender. 2011-11-29 Jim Meyering build: update gnulib to fix build failure with --enable-gcc-warnings 2011-11-28 Jim Meyering build: enable -Wsuggest-attribute=pure|const in lib/,... but not in gnulib-tests/. * configure.ac (GNULIB_WARN_CFLAGS): Do not exclude -Wsuggest-attribute=pure|const, thus enabling these two warning options in lib/, since gnulib now toes the line. Continue to disable them in gnulib-tests/, since some programs there trigger these suggestions and are not worth fixing. build: update gnulib for const+pure attributes 2011-11-27 Jim Meyering tests: add a syntax check for last week's global change Last week I made a global change, commit a2c811db, `tests: use "compare exp out", not "compare out exp"', but forgot to add a corresponding syntax check rule. Without that, it is far too easy to add a new test or to merge in an old one that would be non-conforming. Obviously this is only a heuristic, since it relies on the expected-output file to have a name that starts with "exp". * cfg.mk (sc_prohibit_reversed_compare_failure): Prohibit use of compare with reversed arguments. maint: update comment gcc-4.6.2 still botches -Wsuggest-attribute=pure * configure.ac: Update the comment on which gcc versions still must not use -Wsuggest-attribute=pure option: still required on post- Fedora 16 rawhide's 4.6.2 20111027. 2011-11-24 Jim Meyering maint: bootstrap: run autopoint and libtoolize *before* gnulib-tool * bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions. Run autopoint and libtoolize *before* gnulib-tool. After it, run an abbreviated autoreconf, rather than a loop around all tools. * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink and --makefile-name=gnulib.mk. Remove stray use of $bt. * lib/Makefile.am: Initialize all of the following so that generated code in gnulib.mk may use += to append to those variables: AM_CFLAGS, AM_CPPFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MAINTAINERCLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES, SUFFIXES, noinst_LIBRARIES. maint: bootstrap: remove some now-unneeded code This bootstrap script arose back when gnulib-tool was young. Since then, it has seen improvements that render much of this script unnecessary. In particular, it can now make symlinks to the files it uses. Also, I no longer see as much value in marking files as read-only via comments. * bootstrap (slirp, bt_mark_as_generated): Remove. maint: use gnulib's gettext-h, not the gettext module * bootstrap.conf (gnulib_modules): Use gnulib's gettext-h, not the gettext module. Not only is gettext-h far smaller (it has far fewer dependencies than the gnulib module), but it does not suffer from the problem with the gettext module whereby it adds a -I.../intl option to compilation flags. That can provoke warnings, since we don't have such a directory. We used to work around that via a hack in bootstrap, but that was ugly and inefficient. maint: append many lib/ and m4/ names to .gitignore build: update gnulib submodule to latest for fixed stdalign test 2011-11-23 Jim Meyering scripts: commit-msg: tweak 72-column test to avoid a false-positive * scripts/git-hooks/commit-msg: Don't warn about a line that is longer than 72 if it is a comment. Git-generated comments would occasionally trigger this. build: update gnulib and tests/init.sh * gnulib: Update. * tests/init.sh: Update from gnulib. build: --enable-gcc-warnings: disable some new warnings * configure.ac: Disable some new warning options pulled in via an update to gnulib's manywarnings module: -Wformat-nonliteral, -Wunsuffixed-float-constants, -Wdouble-promotion. 2011-11-22 Jim Meyering tests: use "compare exp out", not "compare out exp" Likewise, when an empty file is expected, use "compare /dev/null out", not "compare out /dev/null". I.e., specify the expected/desired contents via the first file name. Prompted by a suggestion from Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154 Run these commands: git grep -l -E 'compare [^ ]+ exp' \ |xargs perl -pi -e 's/(compare) (\S+) (exp\S*)/$1 $3 $2/' git grep -l -E 'compare [^ ]+ /dev/null' \ |xargs perl -pi -e 's/(compare) (\S+) (\/dev\/null)/$1 $3 $2/' * tests/chgrp/no-x: As above. * tests/chmod/no-x: Likewise. * tests/chmod/silent: Likewise. * tests/chmod/thru-dangling: Likewise. * tests/chown/basic: Likewise. * tests/chown/deref: Likewise. * tests/chown/preserve-root: Likewise. * tests/cp/abuse: Likewise. * tests/cp/backup-is-src: Likewise. * tests/cp/cp-a-selinux: Likewise. * tests/cp/cp-mv-enotsup-xattr: Likewise. * tests/cp/fail-perm: Likewise. * tests/cp/into-self: Likewise. * tests/cp/proc-zero-len: Likewise. * tests/cp/src-base-dot: Likewise. * tests/cp/thru-dangling: Likewise. * tests/dd/reblock: Likewise. * tests/dd/unblock-sync: Likewise. * tests/du/2g: Likewise. * tests/du/8gb: Likewise. * tests/du/basic: Likewise. * tests/du/bigtime: Likewise. * tests/du/deref-args: Likewise. * tests/du/exclude: Likewise. * tests/du/files0-from-dir: Likewise. * tests/du/hard-link: Likewise. * tests/du/inacc-dest: Likewise. * tests/du/inacc-dir: Likewise. * tests/du/long-sloop: Likewise. * tests/du/max-depth: Likewise. * tests/du/move-dir-while-traversing: Likewise. * tests/du/no-deref: Likewise. * tests/du/no-x: Likewise. * tests/du/one-file-system: Likewise. * tests/du/slash: Likewise. * tests/du/trailing-slash: Likewise. * tests/install/strip-program: Likewise. * tests/ln/hard-backup: Likewise. * tests/ls/block-size: Likewise. * tests/ls/color-clear-to-eol: Likewise. * tests/ls/color-dtype-dir: Likewise. * tests/ls/color-norm: Likewise. * tests/ls/dangle: Likewise. * tests/ls/dired: Likewise. * tests/ls/file-type: Likewise. * tests/ls/follow-slink: Likewise. * tests/ls/infloop: Likewise. * tests/ls/m-option: Likewise. * tests/ls/no-arg: Likewise. * tests/ls/recursive: Likewise. * tests/ls/rt-1: Likewise. * tests/ls/stat-dtype: Likewise. * tests/ls/stat-failed: Likewise. * tests/ls/stat-free-symlinks: Likewise. * tests/ls/x-option: Likewise. * tests/misc/arch: Likewise. * tests/misc/cat-buf: Likewise. * tests/misc/cat-proc: Likewise. * tests/misc/chcon: Likewise. * tests/misc/csplit: Likewise. * tests/misc/df-P: Likewise. * tests/misc/fmt-long-line: Likewise. * tests/misc/groups-dash: Likewise. * tests/misc/groups-version: Likewise. * tests/misc/head-pos: Likewise. * tests/misc/nl: Likewise. * tests/misc/od-N: Likewise. * tests/misc/od-multiple-t: Likewise. * tests/misc/od-x8: Likewise. * tests/misc/printf: Likewise. * tests/misc/printf-hex: Likewise. * tests/misc/pwd-option: Likewise. * tests/misc/readlink-fp-loop: Likewise. * tests/misc/runcon-no-reorder: Likewise. * tests/misc/seq-long-double: Likewise. * tests/misc/sort-NaN-infloop: Likewise. * tests/misc/sort-benchmark-random: Likewise. * tests/misc/sort-debug-keys: Likewise. * tests/misc/sort-float: Likewise. * tests/misc/sort-merge-fdlimit: Likewise. * tests/misc/sort-unique-segv: Likewise. * tests/misc/stat-hyphen: Likewise. * tests/misc/stat-slash: Likewise. * tests/misc/stdbuf: Likewise. * tests/misc/sum-sysv: Likewise. * tests/misc/tac-2-nonseekable: Likewise. * tests/misc/tac-continue: Likewise. * tests/misc/tr-case-class: Likewise. * tests/misc/truncate-fail-diag: Likewise. * tests/misc/wc-files0: Likewise. * tests/mkdir/selinux: Likewise. * tests/mv/backup-dir: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/diag: Likewise. * tests/mv/dir2dir: Likewise. * tests/mv/dup-source: Likewise. * tests/mv/force: Likewise. * tests/mv/hard-verbose: Likewise. * tests/mv/i-link-no: Likewise. * tests/mv/into-self: Likewise. * tests/mv/into-self-2: Likewise. * tests/mv/into-self-3: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/perm-1: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/mv/trailing-slash: Likewise. * tests/rm/rm1: Likewise. * tests/rm/rm2: Likewise. * tests/rm/cycle: Likewise. * tests/rm/dir-no-w: Likewise. * tests/rm/dir-nonrecur: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/rm/fail-eacces: Likewise. * tests/rm/i-never: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/interactive-always: Likewise. * tests/rm/interactive-once: Likewise. * tests/rm/isatty: Likewise. * tests/rm/one-file-system: Likewise. * tests/rm/rm3: Likewise. * tests/rm/rm5: Likewise. * tests/rm/unread2: Likewise. * tests/rm/v-slash: Likewise. * tests/sample-test: Likewise. * tests/split/b-chunk: Likewise. * tests/split/fail: Likewise. * tests/split/l-chunk: Likewise. * tests/split/lines: Likewise. * tests/split/r-chunk: Likewise. * tests/split/suffix-length: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/tail-2/follow-name: Likewise. * tests/tail-2/follow-stdin: Likewise. * tests/tail-2/pipe-f: Likewise. * tests/tail-2/pipe-f2: Likewise. * tests/tail-2/start-middle: Likewise. * tests/touch/60-seconds: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/not-owner: Likewise. * tests/touch/relative: Likewise. 2011-11-22 Jim Meyering tests: use compare, not "diff", in a few stray tests * tests/install/basic-1: Use compare, not diff. * tests/mkdir/p-v: Likewise. * tests/mv/part-fail: Likewise. * tests/rm/rm1: Likewise. * tests/rm/rm2: Likewise. * tests/touch/not-owner: Likewise. 2011-11-20 Jim Meyering maint: revert "build: update gnulib submodule to latest" Don't update to latest from gnulib just yet. This reverts commit 173f4d9bd628fb771eaeca3d2fef97dcd71fedb8. In particular, manywarnings is too aggressive. build: update gnulib submodule to latest maint: make generated THANKS file read-only * Makefile.am (THANKS): Make generated file read-only. doc: clarify ln's --help output * src/ln.c (usage): Use TARGET, not "source" in description. Reported by Michael J Daniel in http://bugs.gnu.org/9896. 2011-11-20 Paul Eggert port to GNU hosts, where getuid and friends can fail * src/groups.c (main): * src/install.c (need_copy): * src/su.c (log_su): * src/test.c (unary_operator): * src/whoami.c (main): Don't assume that getuid and friends always succeed. This fixes the same problem that we recently fixed with 'id'. 2011-11-20 Jim Meyering maint: avoid gitlog-to-changelog diagnostic about unused entries * build-aux/git-log-fix: Comment out two unused entries. Each of those two entries does indicate an error in a commit log, but precedes the cut-off date, so has an actual VC'd ChangeLog entry. I.e., gitlog-to-changelog generates ChangeLog entries since 2008-02, and these two predate that. * ChangeLog-2008: Make the indicated correction. 2011-11-20 Erik Auerswald ln: fix position of --backup values description * src/ln.c (usage): A paragraph describing interactions of -s with -L and -P somehow snuck in between the description of the --backup option and the values used to control it. Fix this by moving the value description up. 2011-11-18 Jim Meyering scripts: rewrite git commit-msg hook in Perl * scripts/git-hooks/commit-msg: Rewrite in perl. This is still a work in progress in that it hard-codes coreutils- specific program names and policies that should be easy to selectively enable or disable without modifying the script. 2011-11-16 Eric Blake sort: clarify wording on -k syntax * src/sort.c (usage): Use KEYDEF instead of POS, and call out the specific OPTS that can occur in KEYDEF. Based on a report by Lars Noodén, http://bugs.gnu.org/10019 2011-11-15 Paul Eggert id: fix bug when euid != ruid * src/id.c (main): Report an error if no args are given and getuid fails, because print_full_info needs ruid. Redo code so that getuid and friends are invoked only when needed; this makes the code easier to follow, and is how I found the above bug. 2011-11-15 Ruediger Meier ls: another reword of generic size note * src/system.h (emit_size_note): Use "unit" rather than "suffix", and move multiplication to example instead of in suffix list. See additional discussion in Bug#9939. 2011-11-15 Eric Blake id: tweak comment * src/id.c (main): Replace confusing use of "etc.". 2011-11-15 Paul Eggert id: handle (uid_t) -1 more portably * src/id.c (GETID_MAY_FAIL): Remove. (main): Check for nonzero errno, rather than having a compile-time GETID_MAY_FAIL guess. Suggested by Roland McGrath in . Also, the old code was incorrect if uid_t was narrower than int. (print_full_info): Remove unnecessary cast to -1. id: undo previous commit, which was done by mistake * src/id.c (GETID_MAY_FAIL, main, print_full_info): Undo previous change. 2011-11-15 Paul Eggert doc: update for ISO/IEC 80000-13 * doc/coreutils.texi (Block size): IEC 60027-2 has been superseded by ISO/IEC 80000-13, so prefer the newer standard but also mention the old. The new standard specifies Zi and Yi, so they are no longer GNU extensions. Fix stale URL to BIPM. 2011-11-14 Paul Eggert id: handle (uid_t) -1 more portably * src/id.c (GETID_MAY_FAIL): Remove. (main): Check for negative return values, not for -1. The old code was incorrect if uid_t was narrower than int, regardless of whether we were on a GNU or a POSIX platform. The new code is simpler and doesn't need GETID_MAY_FAIL. (print_full_info): Remove unnecessary cast to -1. 2011-11-14 Ludovic Courtès id: fail when getuid, getgid, etc. fail, e.g., on GNU/Hurd POSIX-conforming getuid, geteuid, etc. functions cannot fail, but on GNU/Hurd systems and some others, they may. * src/id.c (main) [__GNU__]: Detect and diagnose any such failure. * tests/id/gnu-zero-uids: New file. * tests/Makefile.am (TESTS): Add it to the list. * tests/init.cfg (require_gnu_): New function. 2011-11-13 Nix tests: avoid rare fp failure in du/move-dir-while-traversing * tests/du/move-dir-while-traversing: Boost the mkdir iteration count yet again. 2011-11-13 Jim Meyering maint: adjust git hook to allow "copy: ..." on line 1 of commit message * scripts/git-hooks/commit-msg: Add "copy" to the list of valid command-name-like summary line prefixes. maint: id, groups: use conforming diagnostics * src/groups.c (main): Don't capitalize the first word of diagnostic. * src/id.c (main): Likewise. Reported by Ludovic Courtès. maint: avoid new syntax-check failure due to indentation with TABs * cfg.mk (tbi_2): Exempt pre-applypatch, since it too is from git. 2011-11-12 Jim Meyering maint: install customized git hooks to keep commit logs consistent * bootstrap.conf (buildreq): Copy (with backup) coreutils-supplied git hooks into .git/hooks, to help keep commit logs normalized. maint: add rule to ensure that our commit hook copies are up to date * Makefile.am (check-git-hook-script-sync): New rule -- not used anywhere, because it depends on having very recent git. * scripts/git-hooks/pre-applypatch: New file. maint: sync pre-commit script with git's * scripts/git-hooks/pre-commit (allownonascii): Remove double quotes around $(...) construct, to make this file identical to git's sample hook script. build: update gnulib for fstatat cross-compile improvement maint: adjust the URL that will appear in the generated announcement * cfg.mk (url_dir_list): Use this http://ftp.gnu.org/gnu/$(PACKAGE) for the first link listed in the generated announcement. announce-gen now provides the faster mirror link automatically. ls: plug a per-argument leak Using ls -l on an SELinux-enabled system would leak one SELinux context string per non-empty-directory command-line argument. * src/ls.c (free_ent): New function, factored out of... (clear_files): ...here. Use it. (extract_dirs_from_files): Call free_ent (f), rather than simply free (f->name). The latter failed to free the possibly-malloc'd linkname and scontext members, and thus could leak one of those strings per command-line argument. * THANKS.in: Update. * NEWS (Bug fixes): Mention it. Reported by Juraj Marko in http://bugzilla.redhat.com/751974. 2011-11-12 Paul Eggert * tests/misc/sort-continue: Port to Fedora 15. Redirect with the shell command, not in a separate 'exec'. Without this patch, Fedora 15 x86-64 /bin/sh (i.e., Bash 4.2.10) complained about running out of file descriptors in the shell. * tests/ls/block-size: Make it executable. * src/system.h (emit_size_note): Reword for clarity. See discussion in Bug#9939. ls: -k no longer affects -l's file sizes This fixes an incompatibility with POSIX 2008 and with BSD. Problem reported by Abdallah Clark (Bug#9939) via Alan Curry (Bug#10016). * NEWS: Document this. * doc/coreutils.texi (General output formatting): Document the new -k behavior, and --kibibytes. * src/ls.c (file_human_output_opts): New static var. (long_options, usage): Add --kibibytes. (decode_switches, gobble_file, print_long_format): Implement the new -k behavior. * tests/ls/block-size: New file. * tests/Makefile.am (TESTS): Add it. 2011-11-08 Eric Blake doc: fix typo in sort description * doc/coreutils.texi (sort invocation): Fix typo. 2011-11-05 Jim Meyering build: update gnulib for more openat changes 2011-11-04 Jim Meyering build: do use fstatat and unlinkat modules, now that they're separate * bootstrap.conf (gnulib_modules): Add fstatat and unlinkat. build: update gnulib to pull in openat module separation changes No semantic change. 2011-11-03 Pádraig Brady tests: avoid signal issues in timeout-group These issues were seen on an OpenSuse 10.3 system (kernel 2.6.22.5 x86_64, glibc 2.6.1-18, bash updated to 4.2), and also on a 64 bit SLES system with a 2.6.16 kernel. Both systems had 2 CPUs. There were two issues seen. 1. Occasionally the timeout.cmd shell script would block SIGINT until the sleep command exited. 2. Much less frequently the signal handler in the timeout command itself was ignored, causing SIGALRM to kill the process. * tests/misc/timeout-group: Detect the above two cases, and skip rather than fail. Note only issue 2. causes a failure unless skipped, but we skip for case 1. also, for diagnostic purposes. 2011-11-03 Pádraig Brady tests: fix a race in timeout-group This could cause a false failure, or even an infinite loop in rare circumstances. * tests/misc/timeout-group: Increase the timeouts passed to the timeout command, so that they're effectively not used. Instead the command termination is triggered by the kill commands when everything is in the correct state. Reported by Bernhard Voelker. 2011-11-02 Jim Meyering build: adapt to gnulib's recent openat/fchmodat separation * gnulib: Update to latest, pulling in the openat/fchmodat separation. * bootstrap.conf (gnulib_modules): Add fchmodat, now that gnulib has moved it into its own module. maint: fix git-log typos when generating ChangeLog * gnulib: Update to latest, for new gitlog-to-changelog. * Makefile.am (gen-ChangeLog): Use its new --amend=F option. * build-aux/git-log-fix: New file, with ChangeLog fixes. stat: avoid compilation failure with gnulib's new alignof * src/stat.c: Include , not "alignof.h" for alignof use. scripts: reject references to long-form bug URLs * scripts/git-hooks/commit-msg: Require the normalized/shortened form of bugzilla.redhat.com and bugs.gnu.org bug URLs. 2011-11-01 Pádraig Brady doc: date: mention that the hardware clock might not be set * doc/coreutils.texi (Setting the time): Reorganize slightly and mention that the hardware clock might need to be explicitly updated by the user as is the case on Fedora 16 currently. See http://bugzilla.redhat.com/749516 2011-11-01 Jim Meyering build: adapt to gnulib's recent openat/fchownat separation * bootstrap.conf (gnulib_modules): Add fchownat, now that gnulib has moved it into its own module. * gnulib: Update to latest. 2011-10-30 Jim Meyering build: update gnulib for GNUmakefile fix maint: avoid new "make syntax-check" failure due to stdalign definition * gl/modules/randread (Depends-on): Add stdalign. * gl/lib/randread.c: Include , so we can ... [!_STRING_ARCH_unaligned]: remove definition of stdalign. tests: update gnulib to latest to avoid FP DST-related test failure Otherwise, "make check" would fail after e.g., a CEST-to-CST daylight savings transition. See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28825 tests: doc: fix stale comment in new rm/many-dir-entries-vs-OOM 2011-10-29 Jim Meyering tests: don't make tail's pipe-f2 test take the full 10 seconds * tests/tail-2/pipe-f2: Don't always wait 10 seconds. Before, this test would always wait 10 seconds. Now, it stops early when it detects that tail -f has written output. BTW, the race condition that prompted changing the timeout from 1 second to 10 was that tail -f could be killed by the timeout before producing any output. 2011-10-27 Jim Meyering date: reinstate the --iso-8601 (-I) option We deprecated and undocumented the --iso-8601 (-I) option mostly because date could not parse that particular format. Now that it can, it's time to restore the documentation. * src/date.c (usage): Document it. * doc/coreutils.texi (Options for date): Reinstate documentation. Reported by Hubert Depesz Lubaczewski in http://bugs.gnu.org/7444. build: avoid bootstrap failure when using patch-2.5.8 * gl/modules/tempname.diff: Regenerate to correct bogus offsets and adjust for 1-line offset. Eric Blake reported that this patch failed to apply when using patch-2.5.8. Note that it applies fine using patch-2.6.1. 2011-10-25 Jim Meyering build: do not remove definition of ENODATA, after all * src/system.h (ENODATA): Restore definition. gnulib defines it only on native Windows systems, so removing our definition would have provoked build failure on systems that use it, like FreeBSD. Reported by Bruno Haible in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795 * gnulib: Update to latest, to get new ENODATA-exempting maint.mk rule. 2011-10-24 Eric Blake doc: NEWS: correct "bug introduced in ..." version number * NEWS: s/7.0/8.0/ 2011-10-24 Jim Meyering rm: update gnulib to get an fts fix for Cygwin+NWFS/NcFsd file systems * NEWS (Bug fixes): Mention it. As far as we know, this fix affects only Cygwin with NWFS or NcFsd file systems. See these: http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=71f13422f3e634 http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739 http://cygwin.com/ml/cygwin/2011-10/msg00365.html * src/system.h (ENODATA): Remove fall-back definition, now that gnulib provides one. Caught by the sc_prohibit_always-defined_macros syntax-check rule. Also remove now-irrelevant "Don't use bcopy..." comment. 2011-10-23 Jim Meyering maint: add git hook scripts We find it worthwhile to use consistent commit summary prefixes. To that end, the commit-msg script requires that all commits I make start with "$P: " (where $P is one of ~100 programs in coreutils) or one of a few other words, like gnulib tests maint doc build. It allows more than one word, so e.g., "cat tail head: " would also be accepted. Pádraig Brady wrote the initial version, with its 72-column and blank-if-present second line checks. The pre-commit script is the same as the git-supplied sample script, modulo a bug fix and the "exec 1>&2" redirection. * scripts/git-hooks/commit-msg: New file. * scripts/git-hooks/pre-commit: New file. * scripts/git-hooks/applypatch-msg: New file. Verbatim from .sample. * cfg.mk: Exempt two of the new scripts from the no-leading-TABs check, since they're nearly verbatim from git, and we want to stay in sync. Exempt the commit-msg script from the no-"fail=0" check. 2011-10-21 Martial Bornet tail: with -f, use nanosleep (not inotify) on a GPFS file system Because tail's fremote function did not designate GPFS as a remote file system type, tail -f would mistakenly attempt to use inotify, which cannot work with a remote file system. * src/tail.c (fremote): List GPFS as a remote file system type. * NEWS (Bug fixes): Mention it. Reported in http://bugs.debian.org/646022. 2011-10-20 Mike Frysinger build: include man-pages for non-default progs At the moment, things like man/arch.1 are not included in the tarball. This makes perl a requirement if you want to build/install the arch helper. * man/Makefile.am (EXTRA_DIST): Add $(NO_INSTALL_PROGS_DEFAULT:%=%.1). 2011-10-19 Jim Meyering maint: tac: prefer "failed to" diagnostic over "cannot" * src/tac.c: Change wording in diagnostic: "failed to open" seems clearer than "cannot open". tac: do not let failed allocation cause immediate exit * src/tac.c (temp_stream): Don't exit immediately upon failed heap allocation, here. That would inhibit processing of any additional command-line arguments. tac: use only one temporary file, with multiple nonseekable inputs * src/tac.c (temp_stream): New function, factored out of... (copy_to_temp): ...here. (tac_nonseekable): Don't free or fclose, now that we reuse the file. Suggested by Ambrose Feinstein. * THANKS.in: Update. 2011-10-18 Paul Eggert maint: make tac.c slightly cleaner * src/tac.c (copy_to_temp): Now that the template string tacXXXXXX is used in only one place, don't bother using a separate variable. Also, using three unconditional assignments seems slightly clearer. 2011-10-17 Jim Meyering tac: don't leak a file descriptor for each non-seekable input * src/tac.c (tac_nonseekable): Call fclose and free tmp_file after each successful call to copy_to_temp. tac: don't misbehave with multiple non-seekable inputs * src/tac.c (copy_to_temp): Do not reuse the template buffer. Instead, scribble only on a freshly-xstrdup'd copy each time. Free that buffer both here, upon failure, and ... (tac_nonseekable): ...free the buffer in caller, upon success. * tests/misc/tac-2-nonseekable: New file. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Ambrose Feinstein in http://debbugs.gnu.org/9762. maint: tac: remove sole use of sprintf in favor of filenamecat * src/tac.c: Include filenamecat.h. (copy_to_temp): Use filenamecat rather than xmalloc and sprintf. Move some declarations "down" to point of initialization. 2011-10-17 Pádraig Brady maint: speed up make check (vc_exe_in_TESTS) * tests/check.mk (vc_exe_in_TESTS): The main change is to not start a sed process for each file under tests/, which was taking around 2.5s on a 2.1GHz i3-2310M. Also adjust the rule to no longer use temporary files. 2011-10-12 Jim Meyering maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.14 * NEWS: Record release date. 2011-10-12 Pádraig Brady tests: avoid a false failure on systems without inotify * tests/tail-2/follow-name: Exclude the inotify warning from the comparison. Reported by Bruno Haible. 2011-10-09 Jim Meyering build: update gnulib to latest to fix MacOS X 10.5 test link failure Details here: http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1726/focus=1743 rm: do not resort to stat'ing very long names even on deficient systems This change affects only systems that have neither *at function support nor the /proc/self/fd support required to emulate those *at functions. * src/remove.c (write_protected_non_symlink): Call faccessat unconditionally. Thus we no longer need euidaccess_stat, which was the sole function used here to operate on a full relative file name. Remove full_name parameter and update caller. * lib/euidaccess-stat.h: Remove file. * lib/euidaccess-stat.c: Likewise. * m4/euidaccess-stat.m4: Likewise. * po/POTFILES.in: Remove lib/euidaccess-stat.c. * m4/prereq.m4 (gl_PREREQ): Don't require gl_EUIDACCESS_STAT. Prompted by a report from Bruno Haible that the rm/deep-2 test was failing on HP-UX 11.31. See http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1748 tests: skip rather than failing when perl is not available * tests/df/total-verify: Use require_perl_, so that this test is skipped when perl is not available. * tests/rm/deep-2: Likewise, and fix wording in a comment. Reported by Bruno Haible. 2011-10-08 Jim Meyering tests: avoid tail-2/F-vs-missing failure on NFS * tests/tail-2/F-vs-missing: This test would fail about 80% of the time on linux/powerpc when run in an NFS-mounted directory. Reported by Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1726/focus=1727 tests: avoid ls/slink-acl test failure on Solaris 10 * tests/ls/slink-acl: Use setfacl's "-m user::r" option rather than less-portable "-m m::r". The latter did not work with Solaris 10's version of setfacl. Reported by Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1726/focus=1737 tests: avoid false-positive failures on linux/sparc64 * tests/init.cfg (require_strace_): Detect a version of strace that fails on linux/sparc64 for 64-bit executables. Report and most of the suggested fix from Bruno Haible: http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1726/focus=1728 2011-10-06 Bernhard Voelker build: let bootstrap resort to wget for downloading .po files * bootstrap (download_po_files): Fallback to wget when downloading the .po files via rsync failed. This is necessary to bootstrap behind a strict firewall. 2011-10-05 Jim Meyering doc: clean up NEWS * NEWS: Mention when the sort -g infloop bug was introduced and alphabetize entries. Clarify a sentence in the pwd-improvement entry. tests: add a test to exercise today's ls-lL-vs-ACL bug * tests/ls/slink-acl: New file. * tests/Makefile.am (TESTS): Add it. * tests/init.cfg (require_setfacl_): New function. * gnulib: Update to latest, for file-has-acl changes. * NEWS (Bug fixes): Mention it. See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538. This ":>k; setfacl -m m::r k; ln -s k s; ls -Log s" should print e.g., -rw-r-----+ 1 0 Oct 5 19:22 s With the ls from coreutils-8.13, it would print this (with "." or nothing in place of the "+"): -rw-r-----. 1 0 Oct 5 19:22 s 2011-10-03 Jim Meyering build: don't use automake's obsolete AM_C_PROTOTYPES macro * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove use of AM_C_PROTOTYPES, now that automake rejects it. 2011-10-01 Jim Meyering maint: clean up m4 syntax * m4/jm-macros.m4 (coreutils_MACROS, gl_CHECK_ALL_HEADERS): Remove unnecessary backslashes and add quotes around multi-line argument lists. 2011-10-01 Markus Duft build: use getgr*_nomembers functions on Interix Interix provides faster replacements for getgr{gid,nam,ent} where group member information is not fetched from domain controllers. This makes 'id' usable on domain controlled interix boxes. * m4/jm-macros.m4: Check for _nomembers functions. * src/system.h: Redefine function to _nomembers when available. build: accommodate missing setgroups on Interix Add a dummy, non-functional, always-successful replacement setgroups function, to keep the original code untouched and simple. * src/chroot.c (setgroups) [! HAVE_SETGROUPS]: Define. 2011-10-01 Jim Meyering build: stop distributing gzip'd releases; xz is enough * configure.ac (AM_INIT_AUTOMAKE): Add no-dist-gzip. * NEWS (Build-related): Mention that we're dropping .tar.gz. build: update gnulib submodule to latest 2011-10-01 Pádraig Brady doc: mention the recent ls -L "argetm" fix in NEWS * NEWS: Mention the bug fix 2011-10-01 Pádraig Brady ls: fix output of dangling symlinks colored as target This is related to commit b7f2b51c, 2010-01-01, "ls: fix color of broken symlinks colored as target" which didn't handle the --dereference case. The simplest way to reproduce the resultant erroneous "argetm" is as follows: $ ln -s /no-such dangle $ env LS_COLORS=ln=target ls --dereference --color ls: cannot access dangle: No such file or directory argetmdangle This is also an issue with the `tree` utility, reported here: http://bugs.debian.org/586765 * src/ls.c (print_color_indicator): Move the handling of 'ln=target' in $LS_COLORS (color_symlink_as_referent == true) to a higher scope, to handle all cases where type == C_LINK. * tests/misc/ls-misc: Add a test case for the specific issue, and 2 further test cases to verify other code paths in this area. Reported by Jason Glassey. 2011-09-30 Jim Meyering ls: avoid reading beyond end of color indicator At first this looked like a buffer overrun, since there was no test to ensure that the buffer length was 6. However, since the LS_COLORS string is NUL-terminated and since settings within it are separated by ":" there was neither the risk of reading beyond end of buffer nor risk of a false-positive match. * src/ls.c (print_color_indicator): Use color_symlink_as_referent rather than manually comparing against "target" again. * src/system.h (STRNCMP_LIT): Correct description in comment. 2011-09-28 Jim Meyering tests: update gnulib to latest, to fix test link failure 2011-09-27 Jim Meyering sort: avoid a NaN-induced infloop These commands would fail to terminate: yes -- -nan | head -156903 | sort -g > /dev/null echo nan > F; sort -m -g F F That can happen with any strtold implementation that includes uninitialized data in its return value. The problem arises in the mergefps function when bubble-sorting the two or more lines, each from one of the input streams being merged: compare(a,b) returns 64, yet compare(b,a) also returns a positive value. With a broken comparison function like that, the bubble sort never terminates. Why do the long-double bit strings corresponding to two identical "nan" strings not compare equal? Because some parts of the result are uninitialized and thus depend on the state of the stack. For more details, see http://bugs.gnu.org/9612. * src/sort.c (nan_compare): New function. (general_numcompare): Use it rather than bare memcmp. Reported by Aaron Denney in http://bugs.debian.org/642557. * NEWS (Bug fixes): Mention it. * tests/misc/sort-NaN-infloop: New file. * tests/Makefile.am (TESTS): Add it. 2011-09-24 Jim Meyering build: update gnulib submodule to latest maint: avoid new syntax-check failure Pulling in the latest gnulib triggered a new false-positive syntax-check failure. * cfg.mk (exclude_file_name_regexp--sc_prohibit_always-defined_macros): Exempt remove.c; its definitions of DT_UNKNOWN, DT_DIR and DT_LNK are harmless. 2011-09-24 Bernhard Voelker tests: mention new check-expensive/check-very-expensive in test logs * tests/init.cfg: (very_expensive_): Mention toplevel make target, check-very-expensive. (expensive_): Likewise for check-expensive. tests: introduce make targets check-expensive and check-very-expensive * Makefile.am: add shortcuts to run (very) expensive tests. Use "make check-expensive" to run tests with RUN_EXPENSIVE_TESTS=yes, use "make check-very-expensive" to run tests with both RUN_EXPENSIVE_TESTS=yes and RUN_VERY_EXPENSIVE_TESTS=yes. Non-expensive tests are included in all cases. 2011-09-22 Pádraig Brady timeout: handle implicitly created threads On some systems like glibc on GNU/kFreeBSD, a thread is implicitly created when timer_settime() is used. This breaks our scheme to ignore signals we've sent ourselves. * src/timeout.c (send_sig): Change the scheme used to ignore signals we've sent ourselves, to a more robust but perhaps limited scheme of ignoring all signals of a certain type after we've sent that signal to the job. * NEWS: Mention the change in behavior. 2011-09-19 Bruno Haible tests: init.sh: support any non-GNU diff * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, Solaris 8. 2011-09-19 Jim Meyering gnulib: update for getcwd fix on systems without openat This fixes a bug in pwd and all getcwd-using applications (for some uses: df, readlink, stat) when run from a directory whose absolute name contains more than PATH_MAX / 3 components. For more details, see http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=f6fe351fc534ae1 * gnulib: Update. * NEWS (Improvements): Mention it. 2011-09-19 Reuben Thomas md5sum: clarify what is meant by binary/text flag. src/md5sum.c: Clarify that we are talking about input mode. doc/coreutils.texi: Ditto. 2011-09-19 Jim Meyering tests: cp-parents: don't let a failing chmod go unnoticed * tests/cp/cp-parents: If somehow a chmod set-up command failed, subsequent tests would fail in a harder-to-diagnose manner. 2011-09-17 Paul Eggert randread: add FIXME comment for RDRAND * gl/lib/randread.c: Add a FIXME comment suggesting how to improve performance by using the RDRAND hardware instruction. 2011-09-16 Pádraig Brady md5sum: handle BSD reversed format checksums * src/md5sum.c (split_3): Detect and handle BSD reversed format checksums. * tests/misc/md5sum-bsd: Add a new test. * tests/Makefile.am: Reference new test. * NEWS: Mention the improvement Suggested by Rimas Kudelis. 2011-09-14 Eric Blake doc: improve description of join's -a option * src/join.c (usage): Mention that -a adds to the overall output, rather than replacing the default output. * THANKS: Update. Reported by Tomas Volka. 2011-09-12 Jim Meyering build: avoid unwarranted failure w/gcc-4.6.1 and --enable-gcc-warnings * configure.ac (gl_GCC_VERSION_IFELSE): Define new macro. (WERROR_CFLAGS): With --enable-gcc-warnings, use it to add -Wsuggest-attribute=pure only with gcc 4.7 or newer. 2011-09-08 Jim Meyering doc: fix typo in test script comment * tests/d_type-check: Fix typo in comment. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.13 * NEWS: Record release date. build: update gnulib submodule to latest stat: avoid compilation failure on AIX 7.x * src/stat.c (USE_STATVFS): Adjust definition so that it is enabled also on AIX 7.x systems that provide statvfs64 and no statvfs. [USE_STATVFS && ! STAT_STATVFS && STAT_STATVFS64] (STATFS): Define to statvfs64 in that precise case. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Adjust the condition here to match the new one in stat.c, to keep them in sync. Reported by Bruno Haible. For details, see http://article.gmane.org/gmane.comp.gnu.coreutils.general/1668 2011-09-07 Bernhard Voelker tests: adjust PATH to include /sbin for mkfs-using tests * tests/init.cfg (require_mkfs_PATH_): New function to test whether mkfs is in PATH, otherwise adding /sbin to PATH. Needed for distributions (OpenSuSE, Solaris) in which sudo does not include /sbin in PATH. * tests/cp/cp-a-selinux: Use require_mkfs_PATH_. * tests/cp/cp-mv-enotsup-xattr: Likewise. * tests/cp/sparse-fiemap: Likewise. * tests/mkdir/writable-under-readonly: Likewise. * tests/rm/read-only: Likewise. 2011-09-07 Jim Meyering tests: avoid false-positive "make check" failure when perl is missing * doc/Makefile.am (sc-lower-case-var): Skip this test when $(PERL) is not usable. Reported by Bruno Haible. cp: update gnulib to get support for NFSv4 ACLs * NEWS (Improvements): Mention the cp-vs-NFSv4-ACL improvement we have inherited via gnulib. For details, see http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28100 and the following messages in that thread. * gnulib: Update to latest, for numerous ACL-related improvements. 2011-09-02 Bruno Haible tests: init.sh: work also with any non-GNU diff that supports -u * tests/init.sh: Relax check for diff -u support. Rather than checking for GNU diff via --version, simply check for support for -u itself. Useful at least on OpenBSD 4.9. 2011-09-02 Jim Meyering tests: remove require-perl script; use function instead * tests/require-perl: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove it from this list. * tests/init.cfg (require_perl_): New function. * tests/misc/pwd-long: Use the new function, not the file. * tests/ls/nameless-uid: Likewise. * tests/misc/sum-sysv: Likewise. tests: cut: exercise distro-added multibyte code paths * tests/misc/cut: Repeat each test using a multibyte locale, if the configure-time test found such a locale. Adjust the tests so that they also accept a slightly different diagnostic that is specific to the MB-patched cut. 2011-09-02 Pádraig Brady doc: describe test control variables * HACKING (Add tests): Mention the variables and default values. * README-release (Pre-release testing): Mention that setting the SHELL variable may be required. Suggested by Bruno Haible. 2011-09-01 Pádraig Brady timeout: fixup previous warning fix * src/timeout.c (settimeout): Fix the previous commit to test errno rather than the return value. tests: split/l-chunk: avoid a portability issue * tests/split/l-chunk: Don't use the `test "$var"` idiom to test that var is set to something as that's not supported by all shells. The new style matches the usage is the rest of the test in any case. Reported by Bruno Haible on AIX 6.1 and 7.1 2011-09-01 Jim Meyering tests: pwd-long: diagnose failure earlier Without this change, we'd get use-of-uninit value warnings and harder-to-diagnose failure down the road. * tests/misc/pwd-long (normalize_to_cwd_relative): Diagnose stat failure. This failed on AIX 6.1 and 7.1. Reported by Bruno Haible. tests: printf-surprise: avoid false-positive failure * tests/misc/printf-surprise: Also accept a strerror-style string after the usual 'printf: write error:' diagnostic prefix. Otherwise, this test would fail on HP-UX 11. Reported by Bruno Haible. 2011-09-01 Bernhard Voelker tests: improve message in 'require_membership_in_two_groups_' function * tests/init.cfg (require_membership_in_two_groups_): Add quotes around the suggested groups for the COREUTILS_GROUPS variable. 2011-09-01 Jim Meyering tests: misc/printf: accommodate alternate behavior * tests/misc/printf: Avoid false positive failure on MacOS X 10.5 due to a slightly differing diagnostic. Reported by Bruno Haible. tests: invoke via "env printf", rather than using an absolute name * tests/misc/printf: This results in more concise diagnostics. 2011-09-01 Pádraig Brady timeout: suppress a redundant warning on some systems * src/timeout.c (settimeout): Don't warn about ENOSYS which is returned on OpenBSD 4.9 at least. Reported by Bruno Haible stdbuf: fix helper lib identification on some platforms * src/stdbuf.c (main): Pass the path of `stdbuf` rather than the command it's running to the search function. This is significant on platforms without /proc/self/exe Reported by Bruno Haible build: avoid the use of strsignal() in split ... which is not available on some platforms, and the replacement currently requires linking with threading libraries. * src/split.c (closeout): Remove the call to strsignal() which is largely redundant anyway as sig2str() is already used to map number to name in the error. Reported by Bruno Haible on AIX 6.1 and 7.1 2011-08-31 Jim Meyering date: support parsing of ISO-8601-with-"T" dates Thanks to an improvement in gnulib's parse-datetime module, commands like this now succeed (output manually indented): $ ./date -u -d 2004-02-29T16:21:42.33+07:00 +%FT%T.%N%z 2004-02-29T09:21:42.330000000+0000 * tests/misc/date: Add a test to exercise the new-in-gnulib parsing of ISO8601-with-"T" dates. * NEWS (New features): Mention it. * gnulib: Update, to pull in this parse-datetime improvement. 2011-08-30 Pádraig Brady build: heap.c: make possible gnulib candidate c89 compatible * gl/lib/heap.c: Move declaration to the top of scope. Reported by Rob McMahon and Wolfgang Steinwender in relation to "Sun WorkShop 6 update 2 C 5.3 Patch 111679-12 2003/05/18" and "GCC 2.95.3" respectively. 2011-08-25 Pádraig Brady timeout: revert signal propagation enhancement This effectively reverts the unreleased commit 5a647a05 * src/timeout.c (main): Don't propagate signals from the monitored process, as on Linux /proc/sys/kernel/core_pattern could still handle them and cause false reports against `timeout` 2011-08-24 Jim Meyering maint: rename a test Lesson: do not include details like "4 million" in a file name. * tests/rm/many-dir-entries-vs-OOM: Renamed from ... * tests/rm/4-million-entry-dir: ...this. * tests/Makefile.am (TESTS): Reflect renaming. tests: adjust the new, very expensive rm test to be less expensive * tests/rm/4-million-entry-dir: Create only 200,000 files, rather than 4 million. The latter was overkill, and was too likely to fail due to inode exhaustion. Not everyone is using btrfs yet. Now that this test doesn't take so long, label it as merely "expensive", rather than "very expensive". Thanks to Bernhard Voelker for pointing out the risk of inode exhaustion. 2011-08-24 Pádraig Brady pr: fix so that LAST_PAGE is honored with -T Ever since the LAST_PAGE functionality was added in commit ed0923a1, 1996-12-05, "Apply big patch (patch-20) from Roland Huebner" it was ignored when -t or -T were specified or when -l <= 10. * src/pr.c (print_page): Increment the current page here. (print_header): Don't increment the current page here. * tests/pr/pr-tests: Add a test case. * NEWS: Mention the fix Reported at http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9347 2011-08-20 Erik Auerswald doc: correct typo in yesterday's NEWS entry: 30GB -> 30MB * NEWS: s/30GB/30MB/ 2011-08-19 Jim Meyering rm, du, chmod, chown, chgrp: use much less memory for large directories For details, see the gnulib commit, http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=47cb657e * tests/rm/4-million-entry-dir: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. * gnulib: Update to latest to get the required fts fixes. 2011-08-13 Bernhard Voelker maint: remove empty statement after jump label * src/head.c (elide_tail_bytes_pipe): Remove the empty statement, ";" after a jump label; it is needed only when a declaration follows. * src/kill.c (main): Likewise. * src/od.c (main): Likewise. * src/paste.c (collapse_escapes): Likewise. * src/printf.c (print_formatted): Likewise. 2011-08-12 Paul Eggert pathchk: port to hosts where mbstate_t is replaced This problem was discovered when trying to build git coreutils on Solaris 8 sparcv9 with Sun C 5.8: the 3rd argument to mbrlen was of type int * (a pointer to the gnulib replacement mbstate_t) but the system mbrlen wants the system mbstate_t *. * bootstrap.conf (gnulib_modules): Add mbrlen. * src/pathchk.c (mbrlen, mbstate_t) [!(HAVE_MBRLEN && HAVE_MBSTATE_T)]: Remove macros, which are wrong now that gnulib supplies replacements for mbstate_t and mbrlen. bootstrap: use latest gnulib bootstrap, gettext * bootstrap: Sync from gnulib. This removes an obsolescent gettext.m4 patch, along with some other changes that do not seem to affect coreutils. * bootstrap.conf (gnulib_modules): Use gettext, not gettext-h. Current gnulib gettext seems to work without needing special hacking. * configure.ac (AM_GNU_GETTEXT_VERSION): Now 0.18.1, not 0.17. * gnulib: Update to latest. 2011-08-11 Jim Meyering maint: use gnulib's new largefile modulue * bootstrap.conf (gnulib_modules): Add largefile. This is useful to Mac OS X 10.5 users if/when configure is generated using autoconf prior to v2.68-80-gdb2f2e0. * gnulib: Update to latest. 2011-08-08 Jim Meyering tests: avoid lack-of-support du test failure on HP-UX 11.31 * tests/du/inaccessible-cwd: Skip this test on systems like HP-UX 11.31 that lack both the *at functions and the /proc/self/fd-based support we might have used to emulate them. Reported by Bruno Haible in http://debbugs.gnu.org/8846 join: with --check-order print offending file name, line number and data * src/join (g_names): New global (was main's "names"). (main): Update all uses of "names". (line_no[2]): New globals. (get_line): Increment after reading each line. (check_order): Print the standard "file name:line_no: " prefix as well as the offending line when reporting disorder. Here is a sample old/new comparison: -join: file 1 is not in sorted order +join: in:4: is not sorted: contents-of-line-4 * tests/misc/join: Change the two affected tests to expect the new diagnostic. Add new tests for more coverage: mismatch in file 2, two diagnostics, zero-length out-of-order line. * NEWS (Improvements): Mention it. Suggested by David Gast in http://debbugs.gnu.org/9236 maint: use xcalloc rather than xmalloc+memset (no semantic change) * src/join.c (init_linep): Use xcalloc, not xmalloc+memset. maint: add copyright notice to init.cfg * tests/init.cfg: Add copyright. Suggested by Stefano Lattarini. maint: prevent accidental future use of the old shell function name This is especially important for an error-handling shell function like this that is actually called only rarely. * cfg.mk (sc_prohibit_framework_failure): New rule, to prevent use of the old name. 2011-08-08 Stefano Lattarini tests: complete the renaming framework_failure -> framework_failure_ These changes were mostly mechanical, made by running the following command: git grep -lw framework_failure | grep -v ChangeLog \ | xargs perl -pi -e 's/\b(framework_failure)\b/${1}_/' and then editing init.cfg and `tests/cp/cp-a-selinux' by hand. * tests/init.cfg (framework_failure): Remove, `framework_failure_' from init.sh should be used instead in the tests. Remove now-obsolete "FIXME" comment. (is_local_dir_, require_strace_, require_membership_in_two_groups_, require_sparse_support_, skip_if_mcstransd_is_running_, mkfifo_or_skip_) Use `framework_failure_', not `framework_failure'. * Many test scripts: Likewise. 2011-08-08 Paul Eggert mktemp: stir in enough entropy (Bug#6683) * gl/lib/tempname.c.diff (gen_tempname_len): Use x_suffix_len bytes' worth of entropy, not 8 bytes. 2011-08-04 Stefano Lattarini tests: remove obsolete 'error_' shell function * tests/init.cfg (framework_failure, getlimits_): Use 'fatal_' instead of 'error_'. (error_): Delete, it's not used anymore (and one is anyway advised to use 'fatal_' instead). Update heading comments. * tests/shell-or-perl (error_): Renamed ... (fatal_): ... to this, for consistency. Also, add a useful comment. 2011-07-31 Pádraig Brady doc: mention the new mirroring behavior of cp -au * NEWS: Mention the change in behavior. * doc/coreutils.texi (cp invocation): Likewise. 2011-07-31 Jim Meyering maint: accommodate old-NEWS update * cfg.mk (old_NEWS_hash): Update, to accommodate 6.12 addition. Without this change, "make syntax-check" would fail. 2011-07-31 Paul Eggert * NEWS: Say that 6.12 preserved ns-resolution timestamps. 2011-07-29 Jim Meyering build: require gnulib's fclose module * bootstrap.conf (gnulib_modules): Explicitly use the fclose module. This is required, now that gnulib's close module no longer depends on fclose. Without this module, we would be exposed to fclose bugs affecting at least glibc 2.13 and FreeBSD. Reported by Bernhard Voelker. Suggested by Eric Blake. 2011-07-29 Jim Meyering build: update gnulib, for "make syntax-check" fix Without the recent maint.mk fix, "make syntax-check" would fail like this: src/dd.c:# define SA_RESETHAND 0 src/ls.c:# define SA_RESTART 0 src/timeout.c:# define SA_RESTART 0 maint.mk: define the above via some gnulib .h file make: *** [sc_prohibit_always-defined_macros] Error 1 2011-07-27 Ivan Sichmann Freitas doc: add a vim indentation example HACKING: add a vim example showing how to configure it to follow GNU indentation in coreutils source files. 2011-07-27 Pádraig Brady maint: copy: refactor hard link creation * src/copy.c (create_hard_link): A new function refactored from existing code. (copy_internal): Call the new function from all 3 locations that create hard links. * tests/cp/same-file: Amend to match the adjusted diagnostic. tests: cp/preserve-link: test all relevant paths * tests/cp/preserve-link: Add test cases for when a missing link in the destination tree is encountered first and second. Also add cases for old and new separate files in the destination tree, both to make the clobbering behavior explicit, and to test any changes in this area in future. 2011-07-26 Jim Meyering doc: mention cp's dir-permissions fix * NEWS (Bug fixes): Mention yesterday's dir-permissions fix. maint: use consistent style in C and test scripts * src/copy.c (copy_internal): Adjust formatting style to conform with guidelines in HACKING: put braces around two one-line "else" blocks. * tests/cp/existing-perm-dir: Use $(...), not `...`, and stat rather than ls+cut to get the mode string. mode=$(stat --p=%A dst/dir) 2011-07-25 Paul Eggert cp: don't mishandle existing dir dest permissions (Bug#9170) * src/copy.c (copy_internal): If we don't create the directory, then we cannot have omitted permissions. Problem and trivial fix reported by Eric Lammerts. * tests/Makefile.am (TESTS): Add cp/existing-perm-dir. * tests/cp/existing-perm-dir: New file. 2011-07-25 Jim Meyering cp -up: preserve all hard links * src/copy.c (copy_internal): With --update (-u), this function would return early once it found that the destination is not older than the source, *without* recording the source-dev/ino--to--dest_name mapping. That mapping is required in order to preserve src hard links in the destination tree, so when using cp with --update and --preserve=links (perhaps via -p or -a), cp could fail to preserve one hard link per inode when at least one of the hard-linked names already exists in the destination tree. Reported by Odd Harry Mannsverk in http://debbugs.gnu.org/8419. * tests/cp/preserve-link: New file. Exercise the flaw/fix. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. 2011-07-25 Pádraig Brady timeout: support sub-second timeouts * src/timeout.c (settimeout): A new function to convert from a floating point duration and call alarm() or timer_settime() if that's available. (parse_duration): Return a double rather than unsigned int. (usage): Mention floating point is supported. (main): Pass the double to settimeout() rather than calling alarm() directly with the parsed int. (cleanup): Likewise. * doc/coreutils.texi (timeout invocation): Say floating point timeouts now supported, and mention the caveat with resolution. * bootstrap.conf: Include the timer-time gnulib module. * tests/misc/timeout-parameters: Add a test with nanoseconds. * NEWS: Mention the improvement. 2011-07-25 Jim Meyering build: update gnulib to fix a build warning/error in a test program 2011-07-24 Jim Meyering df: support partitions larger than 4 TiB on MacOS >= 10.5 & AIX >=5.2 This change derives from improvements to gnulib's fsusage module. * NEWS (Improvements): df now supports disk partitions larger than 4 TiB on MacOS X 10.5 or newer and on AIX 5.2 or newer. Alphabetize entries. * gnulib: Update to latest. 2011-07-22 Paul Eggert dd, shred: use fdatasync only if declared * m4/jm-macros.m4 (coreutils_MACROS): Use fdatasync only if declared. MacOS X 10.7 has an fdatasync that is not declared, and is rumored to be ineffective. (Bug#9141) 2011-07-20 Mike Frysinger dircolors: add screen.Eterm terminal type * src/dircolors.hin: Add screen.Eterm. Reported by Kfir Lavi 2011-07-20 Pádraig Brady maint: remove a redundant call to gl_CLOCK_TIME * m4/jm-macros.m4: Remove gl_CLOCK_TIME as it's already done by the gettime gnulib module. 2011-07-20 Pádraig Brady unexpand: fix misalignment when spaces span a tabstop The following dropped the space from the first field printf "1234567 \t1\n" | unexpand -a Note POSIX says that spaces should not precede tabs. Also a single trailing space should not be converted if the next field starts with non blank characters. So we enforce those rules too, with this change. * src/unexpand.c (unexpand): Implement as per POSIX rules. * tests/misc/unexpand: Add tests, and adjust existing tests as per POSIX rules. * NEWS: Mention the fix. Reported by Hallvard B Furuseth 2011-07-17 Paul Eggert * NEWS: Mention fix for Bug#9098. timeout: add regression test (Bug#9098) * tests/misc/timeout: Check that 'timeout' is not confused when starting off with a child. 2011-07-16 Paul Eggert timeout: treat seconds counts like 'sleep' does Treat fractions as a request to round up to the next representable value, and treat out-of-range values as maximal ones. This is consistent with how "sleep" works. And this way, "timeout 999999999999999999d FOO" and "timeout 4.5 foo" are more likely to do what the user wants. * src/timeout.c: Include c-strtod.h and xstrtod.h, not xstrtol.h. (apply_time_suffix): Change it to the way sleep.c's time_suffix does things. Maybe this function (identical in both programs, other than its name) should be moved to a library? (parse_duration): Return a maximal value on overflow. Return unsigned int, not unsigned long. Allow fractions, which round up to the next integer value. * tests/misc/timeout-parameters: Adjust tests to match new behavior. Add a very large number. Fix capiTalization in comments. 2011-07-16 Paul Eggert * src/timeout.c (main): Use waitpid, not wait (Bug#9098). Reported by Andreas Schwab. * src/timeout.c (SA_RESTART): Define to 0 if not defined. 2011-07-16 Paul Eggert timeout: port to NonStop (Bug#9077) * src/timeout.c (SA_RESTART): Define to 0 if not defined. (main): Don't assume signal handling uses SA_RESTART. ls: port to NonStop (Bug#9076) * src/ls.c (SA_RESTART): Define to 0 if not defined. dd: port to NonStop (Bug#9076) * src/dd.c (SA_RESETHAND): Define to 0 if not defined. csplit: don't prematurely terminate cleanup (Bug#9076) * src/csplit.c (interrupt_handler): Reset signal to SIG_DFL after deleting the files, so that a second interrupt won't prematurely terminate cleanup. (main): Don't use SA_NODEFER | SA_RESETHAND, as that might allow premature termination of cleanup. Also, this ports better to platforms like NonStop, which don't ahve SA_RESETHAND. 2011-07-15 Paul Eggert * src/dd.c: Remove obsolete comments re POSIX. 2011-07-15 Pádraig Brady build: avoid a st_blksize compile failure on some systems * src/stat.c (print_stat): Use ST_BLKSIZE() rather than accessing st_blksize directly, which is not present on NonStop at least. Reported by Joachim Schmitz. build: avoid a fiemap compile failure on some systems * src/fiemap.h (struct fiemap): Adjust the previous change to the fiemap_extents array, which would also require changes to the sizeof calculations in extent_scan_read(). Instead, only declare the fiemap_extents zero length array on linux, which is the only platform that references this member. This avoids a compilation failure on systems that don't support this non standard construct. We don't use the equivalent C99 flexible array construct so as to have maximum portability. * src/extent-scan.c: Cleanup. Remove a redundant #ifndef. 2011-07-15 Paul Eggert * src/fiemap.h (struct fiemap.fm_extents): Change size to 1. This is for portability to non-GCC C89 and C99 compilers. Original problem, on NonStop, reported by Joachim Schmitz in . 2011-07-14 Bernhard Voelker maint: fix warning 'possible use of "=" where "==" was intended' * src/mktemp.c: maint: avoid warning by using the comma operator rather than an always-true conditional (as suggested by Eric Blake). Reported by Joachim Schmitz in http://debbugs.gnu.org/9064. 2011-07-13 Benoît Knecht doc: describe the file permissions set by mktemp * src/mktemp.c (usage): As above, for --help. Reported by Jordi Pujol in http://bugs.debian.org/551093. Wording improvments from Eric Blake. 2011-07-13 Benoît Knecht doc: note the order in which wc counts are printed This information has already been added to the Texinfo manual, but was missing from the --help output. * src/wc.c (usage): As above, for --help. Reported by Vincent Lefevre in http://bugs.debian.org/395430. 2011-07-12 Jim Meyering build: update gnulib submodule to latest 2011-07-12 Eric Blake build: list makeinfo 4.13 as a build-from-git requirement * bootstrap.conf (buildreq): List 4.13 as minimum makeinfo version. Prompted by Joachim Schmitz's report in http://debbugs.gnu.org/9050. 2011-07-11 Benoît Knecht dircolors: highlight .webm multimedia files * src/dircolors.hin: Add .webm multimedia files. Suggested by Josh Triplett in http://bugs.debian.org/582403. 2011-07-08 Jim Meyering maint: add syntax-check rule to prohibit "."-terminated "SEE ALSO" * cfg.mk (sc_prohibit_man_see_also_period): Prohibit a period at the end of the first line after a "SEE ALSO" marker in man/*.x. With this, we shouldn't have to make any more changes like those in today's commit, f2dabd68. 2011-07-08 Pádraig Brady doc: list all new file system types recognized by stat -f NEWS (Improvements): Mention the MQUEUE and PSTOREFS file systems, recognized as of commit 171e1b98. 2011-07-08 Benoît Knecht doc: don't terminate SEE ALSO sections with a period man-pages(7) explicitly says about SEE ALSO sections: "Do not terminate this with a period." This is also in line with all the other man pages in coreutils. * man/cat.x: Remove period at the end of the SEE ALSO section. * man/tac.x: Likewise. 2011-07-08 Pádraig Brady timeout: handle signals more transparently * m4/jm-macros.m4: Define HAVE_SETRLIMIT. * src/timeout.c: If the child exited with a signal, raise that signal to the timeout process itself, so that callers may also see the signal status. Use setrlimit to disable core dumps for the timeout process, which would be generated by some signals. timeout: support cascaded timeouts * src/timeout.c (cleanup): Send signals directly to the child in case it has started its own process group (like a cascaded timeout command would for example). * test/misc/timeout-group: Add a test case. * NEWS: Mention the fix. 2011-07-08 Pádraig Brady timeout: add --foreground to support interactive commands Or more accurately, commands not started from the shell prompt, that are interactive, or need to receive Ctrl-C etc. from the terminal. * doc/coreutils.texi (timeout invocation): Document --foreground. * src/timeout.c (main): Set the foreground flag and don't create a separate group. (cleanup): Only send a signal directly to the monitored command when the foreground flag is set. (usage): Describe --foreground. * tests/misc/timeout-group: Add a new test. * tests/Makefile.am: Reference new test. NEWS: Mention the new option. Reported by Shay Shimony Analysis by Alan Curry Fix suggested by Paul Eggert 2011-07-08 Benoît Knecht doc: note that cp -l creates _hard_ links This fact was already noted in the Texinfo manual, but not in the output of --help. * src/cp.c (usage): As above, for --help. Reported by Jari Aalto in http://bugs.debian.org/294327. 2011-07-07 Jim Meyering tests: exercise md5sum's new --strict option * tests/misc/md5sum: Exercise new --strict option. 2011-07-07 Patrick Schoenfeld md5sum, sha1sum, etc: accept new option: --strict Use this new option with --check when the input is expected to consist solely of checksum lines. With only --check, an invalid line evokes a warning, but the program can still exit successfully. With --strict, any invalid line makes the program exit non-zero. * src/md5sum.c (strict, STRICT_OPTION): Declare/define. (long_options): Add "strict". (usage): Describe --strict. (digest_check): Count improperly_formatted lines, too, and use that number and the global "strict" to determine the return value. (main): Handle STRICT_OPTION. Reject --strict without --check. * doc/coreutils.texi: Describe it. * NEWS (New features): Mention it. 2011-07-07 Benoît Knecht doc: note date's %k, %l are space-padded and equivalent to %_H and %_I * src/date.c (usage): As above, for --help. * doc/coreutils.texi (Time conversion specifiers): Likewise. Reported by Britton Leo Kerin in http://bugs.debian.org/115833. 2011-07-07 Jim Meyering stat: recognize GPFS as a file system type * src/stat.c (human_fstype) [S_MAGIC_GPFS]: Add a case, to handle GPFS_SUPER_MAGIC/0x47504653. Prompted by this discussion: http://thread.gmane.org/gmane.comp.sysutils.autoconf.general/14007 * NEWS (Improvements): Mention it. 2011-07-02 Jim Meyering maint: use "const" and "pure" function attributes where possible * configure.ac (WARN_CFLAGS): Add -Wsuggest-attribute=const, -Wsuggest-attribute=pure and -Wsuggest-attribute=noreturn. (GNULIB_WARN_CFLAGS): But do not add them here... yet. * src/chown-core.h (chopt_free, uid_to_name): Add function attribute(s). * src/copy.c (is_ancestor, valid_options): Likewise. * src/copy.h (chown_failure_ok): Likewise. * src/dd.c (operand_matches, operand_is): Likewise. * src/df.c (selected_fstype, excluded_fstype): Likewise. * src/expr.c (null looks_like_integer): Likewise. * src/md5sum.c (hex_digits): Likewise. * src/od.c (get_lcm): Likewise. * src/pathchk.c (component_start, component_len): Likewise. * src/pinky.c (count_ampersands): Likewise. * src/pr.c (cols_ready_to_print): Likewise. * src/ptx.c (search_table): Likewise. * src/sort.c (find_unit_order): Likewise. * src/stty.c (mode_type_flag, string_to_baud, baud_to_value): Likewise. * src/system.h (gcd, lcm): Likewise. * src/tr.c (is_char_class_member, look_up_char_class): Likewise. (star_digits_closebracket): Likewise. * src/uniq.c (find_field): Likewise. * src/wc.c (compute_number_width): Likewise. * lib/xfts.h (cycle_warning_required): Likewise. * gl/lib/randint.h (randint_get_source): Likewise. * gl/lib/randperm.c (ceil_lg): Likewise. * gl/lib/randperm.h (randperm_bound): Likewise. * lib/strnumcmp.h (strintcmp): Likewise. buffer_lcm: declare with _GL_ATTRIBUTE_CONST * lib/buffer-lcm.h (buffer_lcm): Use _GL_ATTRIBUTE_CONST. * lib/buffer-lcm.c: Include . 2011-07-01 Pádraig Brady doc: detail the effect of disabling input buffering with stdbuf * docs/coreutils.texi (stdbuf invocation): Expand on the different reasons for disabling buffering on input and output. 2011-07-01 Bruno Haible doc: mention the restrictions for stdbuf more prominently * doc/coreutils.texi (stdbuf invocation): List the contraints on the command being controlled, up front. 2011-06-25 Jim Meyering doc: improve ls --help grammar * src/ls.c (usage): Improve grammar. Reported by Peng Yu. doc: clarify an improvement from coreutils-7.0 * NEWS (7.0 Improvements): Mention the command: "ls -1U". * cfg.mk (old_NEWS_hash): Update. maint: don't use gnulib's pathmax module; define PATH_MAX if needed * bootstrap.conf (gnulib_modules): Remove pathmax. * src/system.h: Don't include "pathmax.h". (PATH_MAX) [!PATH_MAX]: Define to 8192. Defining it to a constant is preferable to using a definition from pathmax.h that might expand to pathconf ("/", _PC_PATH_MAX). Prompted by discussion leading to: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/27183/focus=27269 build: bootstrap: remove obsolete gettext-related file exclusions * bootstrap.conf: Don't bother to exclude gettext/intl-related .m4 files. That exclusion is no longer necessary. 2011-06-24 Pádraig Brady stat: recognize MQUEUE and PSTOREFS file systems * src/stat.c (human_fstype): Add magic numbers for PSTOREFS and MQUEUE. 2011-06-22 Bernhard Voelker tests: stat-free-color: do not count stat calls before main * tests/ls/stat-free-color: The system may perform additional stat calls upon loading (seen on OpenSuSE-11.4). Count only the number of stat calls compared to --help. This also reduces back to "1" the number of expected calls, effectively reverting part of 2011-06-01 commit, ccf2d9a4. 2011-06-21 Bernhard Voelker tests: cp/sparse-fiemap: use "head -n99" in place of "head -99" * tests/cp/sparse-fiemap: Use "head -n99" in place of "head -99". The latter is officially obsolete. 2011-06-20 Jim Meyering tests: init.sh: use "sed 1q" in place of "head -1" * tests/init.sh (warn_): Use "sed 1q" in place of "head -1". The latter is officially obsolete but more portable than "head -n1". Reported by Bernhard Voelker. maint: update THANKS.in * THANKS.in: Remove Stefano's name. 2011-06-20 Bernhard Voelker tests: improve init.sh by removing w2_ * tests/init.sh (w2_): Remove, moving contents into... (warn_): ...here. Call self from subshell when IFS must be changed. 2011-06-19 Stefano Lattarini tests: avoid extra forks in the testsuite * tests/shell-or-perl: Prefer the `read' builtin over `grep' to look at the shebang line of test scripts. Since `read' is a special builtin, it might abort the whole program upon failures, so add extra sanity checks, verifying that the test script exists and is readable, before trying to read from it. 2011-06-19 Stefano Lattarini tests: make test runner a script, not a shell function This change implements a more correct and idiomatic use of the features of the Automake-provided 'parallel-tests' harness. Moreover, this change is required in order for the testsuite to continue to work with the new testsuite harness that is planned to be introduced in Automake 1.12 (which, as of the writing date, is still under development and in alpha state). * tests/shell-or-perl: New auxiliary script. * tests/Makefile.am (EXTRA_DIST): Distribute it. * tests/check.mk (TESTS_ENVIRONMENT): Remove definition of the `shell_or_perl_' shell function, whose code has been moved in the new script above (with a few improvements and extensions). Do not use it to run the test scripts. (LOG_COMPILER): New, properly invoking `shell-or-perl'. 2011-06-19 Jim Meyering stdbuf: fix automake variable name to work with cutting edge automake * src/Makefile.am (pkglibexec_PROGRAMS): Rename from pkglib_PROGRAMS. The latter is invalid. Without this change, automake v1.11-373-g9ca6326 and newer (on master) would fail with this: `pkglibdir' is not a legitimate directory for `PROGRAMS' This changes the default installation directory of libstdbuf.so from $prefix/lib/coreutils/ to $prefix/libexec/coreutils/ * src/stdbuf.c (set_LD_PRELOAD): Search in PKGLIBEXECDIR, not PKGLIBDIR, since that's where we install libstdbuf.so. Do not search in "", the system default search path. 2011-06-19 Pádraig Brady maint: avoid a false positive syntax check * cfg.mk (sc_strftime_check): Skip the check when there is no info to compare against. Reported by Stefano Lattarini 2011-06-19 James Youngman maint: typo: insert omitted word in test comment * tests/misc/sort-spinlock-abuse: Fix typo: s/"very expensive" are/"very expensive" tests are/ 2011-06-18 Stefano Lattarini maint: fix typo in comment in configure.ac * configure.ac ($MAN): Fix typo in explanatory comment. 2011-06-18 Jim Meyering tests: sort-debug-keys: fix a bug with translated diagnostics Ensure that English diagnostics are emitted even when using French sorting rules. * tests/misc/sort-debug-keys: Unset LC_ALL and set LC_COLLATE, LC_CTYPE and LC_NUMERIC to the fr_FR.UTF-8 locale, while setting LC_MESSAGES=C. Reported by Stefano Lattarini. 2011-06-17 Pádraig Brady maint: remove duplicate names from THANKS * .mailmap: Merge email addresses * THANKS.in: Remove a duplicate name Reported by Stefano Lattarini 2011-06-17 Jim Meyering maint: use modules/tempname.diff file, not a replacement; update gnulib Using a .diff is much more maintainable. Otherwise, changes in the gnulib module description file may not be noticed and merged promptly and may even result in subtle errors. Luckily, this time, the failure to propagate gnulib's changes to modules/tempname resulted only in an obvious link failure. * gl/modules/tempname: Remove file. * gl/modules/tempname.diff: Use a .diff file instead. * gnulib: Update submodule to latest. tests: avoid sort-spinlock-abuse false positive under heavy load * tests/misc/sort-spinlock-abuse: Classify as "very expensive" to avoid unwarranted failure once and for all. tests: remove skip_test_ function; use new skip_ instead * tests/init.cfg (skip_test_): Remove function. Use skip_ in place of skip_test_ everywhere else. * cfg.mk (sc_prohibit_skip_): Remove rule. * tests/**: Use skip_, not skip_test_, everywhere. tests: make init.sh's warn_ emit to both the tty and the log file * tests/init.sh (warn_): When $stderr_fileno_ != 2, emit the diagnostic to both the tty and the log file. tests: use printf, not echo in init.sh's warn_ function * tests/init.sh (warn_): Use printf, not echo. The latter would misbehave when given strings containing a backslash or starting with e.g., -n. James Youngman suggested setting IFS. 2011-06-14 Jim Meyering tests: accommodate HP-UX and ksh-derived shells Running "make check" normally prints a diagnostic to the outermost stderr (usually a tty) to explain why a test is skipped. It did this by redirecting FD 9 to stderr (via "exec 9>&2") before invoking the shell script. Shell scripts write skip-explanation to FD 9 via init.sh's skip_ function. However, with ksh and HP-UX's /bin/sh, the effects of "exec 9>&2" are canceled upon fork-and-exec, so we would get a "Bad file number" diagnostic and no skip explanation on those systems. * tests/check.mk (TESTS_ENVIRONMENT): Redirect more portably, via "$(SHELL) 9>&2", rather than the prior "exec 9>&2; $(SHELL) ..." Actually, we use "shell_or_perl_ 9>&2", to make this effective also for the perl-based tests. * tests/init.sh (stderr_fileno_): Update the advice in comments. See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488 for lots of discussion. Stefano Lattarini suggested the solution of putting "9>&2" after the command. Reported by Bruno Haible. 2011-06-13 Jim Meyering init.sh: sync from gnulib * tests/init.sh: Sync recent changes from gnulib. maint: revert previous commit Revert "init.sh: accommodate shells for which 1>&$stderr_fileno_ fails" This reverts commit 6fb9aeedd1b858a61d5cbf7f15782adf29ff733a. That change did not solve the problem. For details, see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846#74 init.sh: accommodate shells for which 1>&$stderr_fileno_ fails * tests/init.sh (warn_): Use eval to work around a bug in some shells, like those of Solaris 10 and HP-UX 11.11. Improved by Stefano Lattarini. doc: add NEWS items for recent gnulib fixes * NEWS (Improvements): Mention the new HP-UX 11.11 ACL support. (Build-related): Mention the cc/HP-UX 11.11 build fix. tests: avoid sort-spinlock-abuse false positive under heavy load * tests/misc/sort-spinlock-abuse: This test would frequently fail when run on a system under heavy load. Increase duration and limit. 2011-06-13 James Youngman maint: use stat-size module from gnulib * gnulib: Update to latest. * src/system.h: Definitions of ST_* macros have moved into the gnulib module stat-size (specifically, the header file stat-size.h), so remove them from here. * src/truncate.c: Include stat-size.h. * src/stat.c: Likewise. * src/shred.c: Likewise. * src/ls.c: Likewise. * src/du.c: Likewise. * src/ioblksize.h: New file. Move definition of io_blksize out of system.h so that system.h does not have to include stat-size.h. * src/cat.c: Include ioblksize.h. * src/split.c: Likewise. * src/copy.c: Include both stat-size.h and ioblksize.h. * src/Makefile.am (noinst_HEADERS): Add ioblksize.h. 2011-06-13 Pádraig Brady tests: avoid a false failure on HPUX systems * tests/dd/nocache: Relax the test, as the system may return various errors from posix_fadvise(). HPUX 11.31 returns ENOTTY for example. Reported by Bruno Haible 2011-06-11 Jim Meyering tests: inotify-rotate: avoid false positive under heavy load * tests/tail-2/inotify-rotate: Increase timeout from 10s to 40s to avoid load-induced false positive. 2011-06-09 Pádraig Brady maint: remove unneeded includes Remove unneeded includes as reported by: http://code.google.com/p/include-what-you-use/ * src/cp-hash.c: Remove unused include. * src/dd.c: Likewise. * src/du.c: Likewise. * src/head.c: Likewise. * src/kill.c: Likewise. * src/ls.c: Likewise. * src/stdbuf.c: Likewise. * src/timeout.c: Likewise. * src/truncate.c: Likewise. 2011-06-09 Pádraig Brady doc: add examples to date --help * src/date.c (usage): Add examples for TZ handling, and "seconds since epoch" parsing, neither of which was mentioned in the man page until now. * THANKS.in: Add Rick. Suggested by Rick Stanley. 2011-06-04 Jim Meyering build: require at least 2-year old autoconf-2.64 (was 2.62) * configure.ac: Require autoconf-2.64, which is nearly two years old. * src/system.h (emit_ancillary_info): Use PACKAGE_URL, now that we require autoconf-2.64. maint: remove now-spurious curly braces * src/chown-core.c (restricted_chown): Remove FIXME comment and superfluous curly braces. 2011-06-01 Jim Meyering tests: stat-free-color: accommodate stat of /selinux on rawhide * tests/ls/stat-free-color: This test recently began to fail on rawhide because dynamic library start-up code now stats "/selinux", making the total number of calls 2 rather than the prior 1. Create two more dangling symlinks, so that any erroneous stat- or lstat-calling code will get at least those three. 2011-06-01 Marek Polacek yes.c: do not use exit after error I think it would be better to exit through the error() and not to call the exit() after the error(). This way we can get rid of one function call (and curly brackets). * src/yes.c (main): Exit through the error(), remove exit() call after error(). 2011-06-01 Jim Meyering tail: fix an inconsequential bug spotted by coverity * src/tail.c (start_bytes): Increase *READ_POS (not READ_POS) by the number of bytes read. This is a real bug that happens to have no consequence in practice. First, this code is exercised only when tailing-forever a non-regular file by bytes, and with a start-relative offset, e.g., "mkfifo f; tail -f -c +3 f", but even then, the invalid READ_POS value does not influence how tail works. It is stored in the File_spec.size member, but that member is not used at all in tail_forever_inotify, and in tail_forever, it is used only when the File_spec refers to a regular file. 2011-05-31 Paul Eggert * doc/coreutils.texi (sort invocation): I/0 -> I/O (sr#107504) 2011-05-29 Jim Meyering maint: remove unnecessary gnulib .diff file * gl/modules/getloadavg.diff: Remove file. It stopped being useful back in February. * Makefile.am (EXTRA_DIST): Remove it. maint: placate -Wsign-compare when it's non-invasive * src/stdbuf.c: Declare loop index to be unsigned. 2011-05-28 Jim Meyering ls: placate gcc-4.7.0's -Wstrict-overflow * src/ls.c (enum parse_state): Define. (parse_ls_color): Use enum names in place of constants, thus avoiding the offending -1. maint: remove useless (off_t) cast of lseek arg * src/wc.c (wc): Remove unnecessary cast. * src/head.c (elide_tail_bytes_file, elide_tail_lines_file): Likewise. * src/tac.c (tac_seekable, tac_file): Likewise. tests: move tests/misc/split-* into tests/split/... * tests/split/suffix-length: Rename from tests/misc/split-a. * tests/split/b-chunk: Rename from misc/split-bchunk. * tests/split/fail: Rename from tests/misc/split-fail. * tests/split/lines: Rename from tests/misc/split-l. * tests/split/l-chunk: Rename from tests/misc/split-lchunk. * tests/split/r-chunk: Rename from tests/misc/split-rchunk. * tests/Makefile.am (TESTS): Reflect renaming. 2011-05-27 Pádraig Brady chown,chgrp: output the original ownership in -v messages * src/chown-core.c (describe_change): Output the original owner if possible. (user_group_str): Handle the case when neither owner or group are passed. * NEWS: Mention the change in behavior. chown,chgrp: output the correct ownership in -v messages * src/chown_core.c (describe_change): Accept the ownership of the original file and output that when not changing. This is significant when --from is specified as then the original and specified ownership may be different. (user_group_str): A new helper function refactored from describe_change(). (change_file_owner): Pass the original user and group strings to describe_change(). * test/chown/basic: Add a test case. * NEWS: Mention the fix. maint: fix a -Wstrict-overflow build failure with gcc 4.5 * src/ls.c (print_color_indicator): Avoid the warning by not decrementing the integer. 2011-05-26 Jim Meyering build: --enable-gcc-warnings: enable -Wstrict-overflow in src/ * configure.ac (WARN_CFLAGS): Don't turn off -Wstrict-overflow. (GNULIB_WARN_CFLAGS): Remove -Wstrict-overflow from the list of warning options used in lib/. Normally I find that -Wstrict-overflow produces too many false positives, but considering that it warns of the bug reported in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33498, I now think it is worthwhile. The lesser of two evils. Thanks to Daniel Veillard for showing me the gcc bug report. maint: accommodate gcc's -Wstrict-overflow option * src/factor.c (factor_using_pollard_rho): Change type of "i" to unsigned to avoid warning from gcc's -Wstrict-overflow. * src/expr.c: Use an unsigned intermediate. * src/dircolors.c (main): Reorder operations to avoid the risk of pointer overflow. * src/tr.c (squeeze_filter): Change NOT_A_CHAR from an anonymous "enum" to an "int", to avoid this warning: tr.c:1624:10: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] * src/pr.c (main): Make index "i" unsigned. maint: enforce cpp indentation policy * cfg.mk (sc_preprocessor_indentation): New test, from libvirt. Exempt 3 files from new cppi test. * gl/lib/randread.c: Adjust cpp indentation to comply. * src/extent-scan.c (extent_need_sync): Likewise. maint: env.c: remove unnecessary use of strchr * src/env.c (main): Remove excess (and confusing to static analyzers) use of strchr. shred: placate coverity and fix a comment * src/shred.c (incname): Add an assertion to tell static analyzers that we know this particular use of strchr never returns NULL. Finish incomplete sentence in function-describing comment. 2011-05-26 Pádraig Brady maint: split: remove --filter specific code from other paths * src/split.c (lines_chunk_split): Don't use ignore_error() which is redundant and confusing when not running with --filter. (lines_rr): Likewise. (ofile_open): Likewise. Add a comment to clarify that filters aren't restarted under file descriptor pressure. split: diagnose when --filter is used with a chunk number * src/split.c (main): Exit with a diagnostic if --filter is specified along with a specific chunk number. * test/split/filter: Ensure this combination fails. split: exit when we can no longer write to a --filter * src/split.c (bytes_split): Stop reading when we can no longer write to a child process. (lines_rr): Likewise. (lines_bytes_split): No change is made here since input is bounded by the original file size. * test/split/filter: Add test cases. split: return success even if a --filter exits src/split.c (main): Don't unblock SIGPIPE before cleanup, as then any pending signals will be sent and cause the main split process to exit with a non zero status (141). * test/split/filter: Add a test for this case. 2011-05-25 Pádraig Brady split: fix an edge case where -n l/... creates an extra file * src/split.c (lines_bytes_chunk): Handle the edge case where the file is truncated as we read. * tests/misc/split-lchunk: Cleanup; no functional change. 2011-05-25 Bernhard Voelker chmod: output the original mode in verbose mode * src/chmod.c (describe_change): Pass in the original mode, and output this in the messages. * tests/chmod/c-option: Adjust as per the new message. * THANKS.in: Remove the now auto-generated name. * NEWS: Mention the change in behavior. 2011-05-25 Jim Meyering tests: ls/stat-free-color: fix unwarranted failure on a 32-bit system * tests/ls/stat-free-color: Also check for stat64 and lstat64 syscalls. This fixes a test failure reported by Stefano Lattarini. maint: accommodate gnulib's newer tight_scope rule * cfg.mk: Include via "-include", to accommodate new tight-scope rule. (sc_check-AUTHORS): Change the name of the rule in src/Makefile.am to _sc_check-AUTHORS, so it doesn't conflict with this one when this file is included into the sub-make's context. * src/Makefile.am (_sc_check-AUTHORS): Rename from sc_check-AUTHORS. * gnulib: Update to latest. doc: make README-hacking slightly more generic * README-hacking: Remove a reference to "coreutils". touch: placate static analyzers: no NULL-deref is possible * src/touch.c (main): Avoid even the hint of possibility that we'd dereference NULL upon localtime failure. Coverity reported the potential, but it appears not to be possible, since posixtime rejects any time for which the subsequent localtime would return NULL. See http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1253 2011-05-24 Pádraig Brady split: fix cases where -n l/... creates extraneous files * src/split.c (lines_chunk_split): Ensure that data is only written to stdout when k specified. Also ensure that extra files are not created when there is more data available than reported in the file size. * tests/misc/split-lchunk: Verify that split -n l/k/n doesn't generate any files, and that -n l/n always generates n files. * NEWS: Mention the fix. 2011-05-24 Stéphane Raimbault doc: add a missing space in timeout --help * src/timeout.c (usage): Add a space to be consistent with other uses of "(the default)" in the documentation. 2011-05-24 Pádraig Brady doc: improve tail -f vs. inotify description and advice * doc/coreutils.texi (tail invocation): Adjust, and add an example. 2011-05-23 Jim Meyering maint: avoid trivial syntax-check failure * doc/coreutils.texi (tail invocation): Use @var{n}, not @var{N}. 2011-05-23 Karl Berry maint: README-hacking clarifications * README-hacking: Small getting-started clarifications. 2011-05-23 Jim Meyering doc: describe how kernel inotify support affects tail -f * doc/coreutils.texi (tail invocation) [-f]: Mention how inotify kernel support makes a difference. Prompted by http://bugzilla.redhat.com/662900 2011-05-22 Jim Meyering tests: fix typo in tac-continue * tests/misc/tac-continue: Fix typo in usually-skipped test: s/mkfifo_or_skip/mkfifo_or_skip_/ (i.e., append "_"). This test is usually skipped, because I'm probably the only one to set the FULL_PARTITION_TMPDIR envvar, and recently the one I'd been using ceased to exist, so this test was skipped even for me. Good argument for making this a root-only test and creating a full partition just for this test case. doc: fix a formatting nit in od's texinfo documentation * doc/coreutils.texi (od invocation): Typesetting of "bytes" was wrong. Fix it via s/@code/@var/ so it's consistent. 2011-05-21 Ivan Sichmann Freitas maint: fix comment typos in df.c * src/df.c: s/Optain/Obtain/ 2011-05-19 Jim Meyering maint: correct typos involving misuse of "a" and "an" * NEWS: "an misleading" * src/expr.c: "a integer * src/ptx.c (find_occurs_in_text): "a end" * src/shred.c (do_wipefd): "a infinite" * src/sort.c (SUBTHREAD_LINES_HEURISTIC): "an dual-core" (compare_random): "an checksum" * cfg.mk (old_NEWS_hash): Update, since the typo was in old news. 2011-05-18 Pádraig Brady printf: fix an out-of-bounds memory access * src/printf.c (STRTOX): Don't access memory after a string containing a single quote character. * tests/misc/printf: Add tests for various combinations of single quote characters combined with a numeric format. * THANKS.in: Add bug reporter. * NEWS: Mention the fix. Reported-by: Paul Marinescu 2011-05-17 Pádraig Brady doc: mention that ls time ordering is newest first * src/ls.c (usage): Add the "newest first" info to the -t and -c options 2011-05-14 Pádraig Brady tests: refactor more tests to use mkfifo_or_skip_ * tests/cp/existing-perm-race: s/mkfifo/mkfifo_or_skip_/ * tests/cp/file-perm-race: Likewise. * tests/cp/parent-perm-race: Likewise. * tests/cp/special-f: Likewise. * tests/dd/reblock: Likewise. * tests/ls/file-type: Likewise. * tests/misc/cat-buf: Likewise. * tests/misc/mknod: Likewise. * tests/misc/printf-surprise: Likewise. * tests/misc/selinux: Likewise. * tests/misc/sort-spinlock-abuse: Likewise. * tests/misc/stdbuf: Likewise. * tests/misc/tac-continue: Likewise. * tests/init.cfg: Improve the error message when skipping. shuf: use memory more efficiently when returning a subset * gl/lib/randperm.c (randperm_new): When the number of items to return H, is much smaller than the total number of items N, use a hash to represent the sparse permutations of the set N. This is currently enabled for N > 128K and N/H > 32. * tests/misc/shuf: Ensure shuf can quickly return 2 numbers from a large range. * gl/modules/randperm: Depend on hash. * NEWS: Mention the change. 2011-05-13 Jim Meyering maint: avoid syntax-check failure due to long line * tests/du/bigtime (future_time): Split long line. maint: add new syntax-check rule to prohibit use of skip_ * cfg.mk (sc_prohibit_skip_): New rule. * tests/init.cfg (skip_test_): Add a comment. tests: use skip_test_, not skip_ skip_test_ emits its diagnostic both to FD 9 (tty), and to FD 2 (usually the log file), whereas init.sh's skip_ emits only to FD 9. Without that, the log is slightly less useful. * tests/cp/fiemap-2: Use skip_test_, not skip_. * tests/cp/fiemap-perf: Likewise. * tests/du/bigtime: Likewise. * tests/du/files0-from-dir: Likewise. * tests/du/move-dir-while-traversing: Likewise. * tests/init.sh: Likewise. * tests/misc/sort-stale-thread-mem: Likewise. * tests/misc/stat-nanoseconds: Likewise. * tests/mv/i-3: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/split/filter: Likewise. Prompted by a report from Pádraig Brady. ls: allow stat-free use of --color Even on a system with d_type support, the default use of --color makes ls stat every file in order to be able to honor settings like EXEC, STICKY, ORPHAN, SETUID, etc., because those settings require information that is not provided by dirent.d_type. However, if for a potentially large performance gain, you are willing to disable those settings, you can now make ls --color give type-related coloring and perform no stat calls at all (other than the unavoidable call-per- command-line argument). Before this change, even with all of those attributes disabled, ls --color would still stat every directory. Now, we're down to the minimum of one stat call per command-line arg. * src/ls.c (gobble_file): With --color, don't stat a non-command-line-specified directory when no directory-coloring attribute is enabled. * tests/init.cfg (require_dirent_d_type_): New function. * tests/d_type-check: New script, mostly from Pádraig Brady. * tests/Makefile.am (EXTRA_DIST): Add it. * tests/ls/stat-free-color: New test. * tests/Makefile.am (TESTS): Add it. * doc/coreutils.texi (General output formatting): Describe how to use dircolors to make ls --color refrain from calling stat on a d_type-enabled file system. Prompted by a query from Josef Bacik. 2011-05-12 Jim Meyering maint: use , not "group-member.h" gnulib's group-member module now ensures that the group_member function is declared in , just like it is glibc. * lib/euidaccess-stat.c: Remove inclusion of "group-member.h". * src/chgrp.c: Likewise. build: update gnulib submodule to latest 2011-05-11 Jim Meyering maint: remove syntax-checking sc_tight_scope rule * src/Makefile.am (sc_tight_scope): Remove rule. Now it's provided via gnulib's maint.mk. * cfg.mk (sc_tight_scope): Likewise. maint: tail: mark a global variable as static * src/tail.c [HAVE_INOTIFY] (inotify_wd_mask): Declare static. 2011-05-08 Pádraig Brady maint: remove -Wmissing-field-initializers workarounds * configure.ac: Rather than disabling -Wmissing-field-initializers, use the fact that gnulib now disables it automatically when required (on versions of GCC older than 4.7). * src/system.h: Remove the no longer needed DECLARE_ZEROED_AGGREGATE. * src/ls.c: Likewise. * src/pathchk.c: Likewise. * src/shred.c: Likewise. * src/stty.c: Likewise. * src/wc.c: Likewise. 2011-05-07 Jim Meyering tests: don't fail the split --filter=CMD test if xz is not available * tests/split/filter: Skip if xz is not installed. 2011-05-06 Jim Meyering doc: document split's new --filter=CMD option * doc/coreutils.texi (split invocation): Describe --filter=CMD. * NEWS (New feature): Mention it. tests: test split's new --filter=CMD option * tests/Makefile.am (TESTS): Add split/filter. * tests/split/filter: New file. 2011-05-06 Karl Heuer split: accept new output --filter=CMD option * src/split.c: Include , and "sig2str.h". (FILTER_OPTION): New anonymous enum member. (filter_command, filter_pid): New globals. (open_pipes, open_pipes_alloc, n_open_pipes): Likewise. (oldblocked, newblocked): Likewise. (longopts): Add "filter". (usage): Document --filter. (create): Extend to create a pipe and fork "sh -c CMD". (closeout): Adapt to close a pipe and wait for child process. (cwrite): Call closeout, not just close. (lines_chunk_split): FIXME (bytes_chunk_extract): FIXME (opid, ofile_open, lines_rr, main): FIXME (ignorable): New function, to encapsulate EPIPE test. 2011-05-06 Jim Meyering build: update gnulib submodule to latest 2011-05-06 Pádraig Brady sort: fix a contradictory --debug warning * src/sort.c (key_warn): `sort -k2,1n --debug` would output warnings about being both "zero width" and "spanning multiple fields". Suppress the latter one. * tests/misc/sort-debug-warn: Add a couple of test cases. 2011-05-05 Pádraig Brady df: fix crash in mem exhaustion edge case * src/df.c (print_table): Don't try to output NULL if ambsalign() can't allocate memory. Instead just output the unaligned text. 2011-05-03 Jim Meyering maint: remove use of gnulib's obsolete strtol module * bootstrap.conf (gnulib_modules): Remove now-obsolete "strtol". Remove use of $obsolete_gnulib_modules: unused since commit edc69f91. maint: remove unnecessary listing of update-copyright in Makefile.am * Makefile.am (changelog_etc): Don't list update-copyright here. It is automatically included via gnulib-tool-generated lib/gnulib.mk. doc: remove a name from THANKS.in that is derived from git log * THANKS.in: Remove a now-duplicate name. 2011-05-03 Jim Meyering copy: fix my typo * src/copy.c (copy_reg): Fix my typo (mis-applied patch). The patch by Jeff Liu was fine, but I mis-applied it and introduced a compilation error in commit efa479c1. 2011-05-03 Jim Meyering 2011-05-03 Jim Meyering build: avoid bootstrap failure when $GZIP is set Running "GZIP=-9 ./bootstrap" would fail right away, because the tool-version-checking code would treat the upper-cased program name as an environment variable name and if that has a value use the result as the application name. That works fine for automake, autoconf, etc. but not for gzip. * bootstrap (check_versions): Do not treat $GZIP as a program name. If defined at all, it is supposed to list gzip options. Reported by Alan Curry in http://debbugs.gnu.org/8609 2011-05-03 Jeff Liu copy: correct misuse of quote in diagnostic * src/copy.c (copy_reg): Multiple uses of quote (s) in an argument list is erroneous. Use quote_n, instead. 2011-04-30 Jim Meyering maint: adjust split.c formatting to conform * src/split.c (usage): Correct indentation. (ofile_open): Likewise. (create): "char *name", not "char* name". (struct of_info) [ofile]: Similar. (parse_chunk): Add spaces around "+". 2011-04-29 Eric Blake build: update to latest gnulib * gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Add xgetgroups. 2011-04-29 Jim Meyering tests: distribute new file, CuSkip.pm Without this, most perl-based tests would fail in "make distcheck". * tests/Makefile.am (EXTRA_DIST): Add CuSkip.pm 2011-04-28 Jim Meyering tests: remove useless test: misc/pwd-unreadable-parent * tests/Makefile.am (TESTS): Remove misc/pwd-unreadable-parent. This test was misleading and useless (was always skipped). Inspired by a report from Bruno Haible: http://debbugs.gnu.org/8570 * tests/misc/pwd-unreadable-parent: Remove file. tests: write skip explanation from perl scripts also to outer stderr * tests/CuSkip.pm (skip): New file/module/function, to help the perl test scripts "skip" a test consistently, emitting a diagnostic both into the log file and into the outermost stderr stream that is more likely to be seen by a human. * tests/check.mk (TESTS_ENVIRONMENT): Add -MCuSkip. * tests/misc/date-next-dow: Use CuSkip::skip in place of warn+exit-77. * tests/misc/tty-eof: Likewise. * tests/misc/uniq: Likewise. * tests/rm/fail-eperm: Likewise. * tests/misc/md5sum-newline: Likewise. Also, s/program_name/ME/. * tests/misc/ls-misc (setuid_setup, main): Likewise. * tests/misc/pwd-long: Likewise, and add -I"$abs_srcdir" -MCuSkip to the $PERL invocation command. Inspired by a request from Bruno Haible regarding misc/tty-eof: http://debbugs.gnu.org/8570 2011-04-26 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.12 * NEWS: Record release date. maint: tweak sc_tight_scope rule * src/Makefile.am (sc_tight_scope): Remove useless quotes, change 1>&2 to >&2, and combine a few short lines. dd: work around compilation failure on AIX 5.1 and 5.2 * src/dd.c (O_NOCACHE): Undefine. This symbol is defined via AIX's , yet used as an enum name in dd.c. Reported by Gary V. Vaughan in http://debbugs.gnu.org/8555 * NEWS (Portability): Mention this. maint: move two small functions, so we can remove a fwd decl * src/dd.c (cleanup, quit): Move the definition of quit to follow the definition of process_signals, so we can remove the declaration of the latter. 2011-04-25 Jim Meyering maint: change some leading 8-space sequences to TABs in a Makefile.am src/Makefile.am (fs-magic, fs-kernel-magic): Change some leading 8-space sequences to TABs. stat: recognize V9FS and ECRYPTFS file systems * src/stat.c (human_fstype): Add magic numbers for V9FS and ECRYPTFS. tail --follow=name no longer implies --retry * src/tail.c (tail_forever_inotify): Just as without inotify, tail --follow=name now terminates when the last tailed-by-name file is unlinked or moved aside. This bug was introduced on 2009-06-15 via commit ae494d4b, "tail: use inotify if it is available". Reported by Tim Underwood in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22286 * NEWS (Bug fixes): Mention this. * tests/tail-2/follow-name: Test for this. * tests/Makefile.am (TESTS): Add it. 2011-04-25 Jeff Liu copy: include both src and dest names in clone failure diagnostic * src/copy.c (copy_reg): Upon btrfs clone failure, print not just the destination file name, but also the source file name. That may be useful upon failure of a cross-device clone attempt. 2011-04-25 Jim Meyering tests: tail-2/pipe-f2: avoid false-positive failure Otherwise, this would fail (albeit rarely) on a "make -j24 check" run. * tests/tail-2/pipe-f2: Increase timeout from 1 second to 10, to avoid false positive failure. maint: explicitly list full-read and full-write module names * bootstrap.conf (gnulib_modules): Include full-read and full-write explicitly. Before, we'd get them via safe-read, but with newer gnulib, that is no longer enough: link failure due to undefined references to full_write. doc: tail/inotify does use --sleep-interval=S, with --pid=P * doc/coreutils.texi (tail invocation): Mention it. * src/tail.c (usage): Likewise. (tail_forever_inotify): Clarify comment. 2011-04-22 Alan Curry tests: sparse-fiemap: adjust syntax to accommodate older awk * tests/cp/sparse-fiemap: Parenthesize ternary expression used as an argument to awk's printf. Otherwise, gawk 3.0.1 and the one from debian stable's original-awk would get a syntax error. Reported by Dennis Clarke. Copyright note: tiny change 2011-04-21 Jim Meyering tests: sparse-fiemap: with root/ext3, do not create an ext4 FS * tests/cp/sparse-fiemap: When this test was run as root on an ext3 file system, (ext3 had known problems), it would trickily create and mount a loopback ext4 file system and use that instead. However, due to a bug in 2.6.39-rc1..rc3, this loopback test (when run in another loopback FS) exposed a bug with 1k-blocksize ext4 whereby non-NUL data would be read from a hole. For details, see this: http://thread.gmane.org/gmane.comp.file-systems.ext4/24495 tests: sparse-fiemap: report more detail upon failure; ignore an FP * tests/cp/sparse-fiemap: Fail right away with details, when cmp fails. When extent maps are found to differ, display them and merely warn. 2011-04-20 Jim Meyering copy: use FIEMAP (extent_copy) only for apparently-sparse files, to avoid the expense of extent_copy's unconditional use of FIEMAP_FLAG_SYNC. * src/copy.c (copy_reg): Do not attempt extent_copy on a file that appears to have no holes. * NEWS (Changes in behavior): Document this. At first I labeled this as a bug fix, but that would be inaccurate, considering there is no documentation of FIEMAP semantics, nor even consensus among kernel FS developers. Here's hoping SEEK_HOLE/SEEK_DATA support will soon make it into the linux kernel. copy: factor out a tiny sparse-testing function * src/copy.c (HAVE_STRUCT_STAT_ST_BLOCKS): Define to 0 if undefined, so we can use it in the return expression, here: (is_probably_sparse): New function, factored out of... (copy_reg): ...here. Use the new function. copy: do not treat unwritten extents specially: avoid XFS/ext4 data loss * src/copy.c (extent_copy): Do not treat "unwritten extents" specially. Otherwise, with a release-candidate 2.6.39-rc3 kernel, XFS or ext4, when using gold as your linker, and if you forget to run "make check", you could end up installing files full of zeros instead of the expected binaries. For a lot of discussion, see http://thread.gmane.org/gmane.comp.file-systems.xfs.general/37895 * tests/cp/fiemap-empty: Disable this test. copy: always use FIEMAP_FLAG_SYNC, for now * src/extent-scan.c (extent_need_sync): Always return true, to make the sole caller always use FIEMAP_FLAG_SYNC. This will doubtless have an undesirable performance impact, but we'll mitigate that shortly, by using extent_copy only on files with holes. tests: remove spurious syntax from a perl snippet * tests/cp/sparse-fiemap: Remove spurious BEGIN {...} block. 2011-04-17 OndÅ™ej Vašík dircolors: add .ear, .war, .sar, for Java jar-like archives * src/dircolors.hin: Add .ear, .war, .sar, for Java jar-like archives Suggested by Ville Skyttä in https://bugzilla.redhat.com/616497. 2011-04-13 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.11 * NEWS: Record release date. 2011-04-13 Pádraig Brady maint: mention dd's new partial read warning in NEWS * NEWS: Mention the new feature, from commits e1788d9e and 194c1e89 tests: fix a false positive fiemap test on some file systems * tests/filefrag-extent-compare: Don't check the length of the last extent, as this was seen to vary on XFS, where it leaves trailing blocks allocated for performance reasons. * tests/cp/fiemap-empty: Though not seen as an issue in practise, try to avoid possible issues with the allocator in file systems, by requesting to allocate a power of 2. 2011-04-12 Pádraig Brady maint: correct kernel version in test comment 2011-04-12 Jim Meyering maint: remove unnecessary inclusion of * src/extent-scan.c: Don't include . It was not used. 2011-04-11 Jim Meyering build: update gnulib submodule to latest cfg.mk: remove useless semicolon and backslash * cfg.mk (sc_NEWS_two_empty_lines): Remove semicolon and backslash. doc: tweak NEWS * NEWS: Slightly obfuscate a line to avoid a false-positive doubled-word ("is-is") match. Fix a grammar error in news for 8.2. * cfg.mk (old_NEWS_hash): Resync. maint: install: remove support for --preserve_context ("_", not "-") * src/install.c: Its use has elicited a warning for two years. Use --preserve-context instead. * NEWS (changes in behavior): Mention this. maint: reorder install.c to eliminate declarations of static functions * src/install.c: Remove static function declarations. maint: rename variables for clarity... and to avoid a false-positive "TO to" in new doubled word check. * src/install.c (change_timestamps): Rename parameters for readability. Make the comment match the code. maint: remove doubled words in comments, e.g., s/to to/to/ * tests/ls/color-norm: s/to to/to/ * gl/lib/mbsalign.h (mbs_align_t): s/or or/or/ * src/extent-scan.c (extent_scan_read): s/the the/the/ * src/libstdbuf.c: s/the the/the/ * tests/misc/stdbuf: s/on on/on/ * ChangeLog-2005: s/for\n\tfor /for\n\t/ 2011-04-11 Pádraig Brady maint: misc typo fixes * src/fiemap.h: s/can not/cannot/ * NEWS: s/in/is/ * doc/coreutils.texi: Remove spurious "and". s/effect/affect/ Use matched ``...'' quotes. 2011-04-07 Pádraig Brady maint: correct kernel version in NEWS * NEWS: Adjust to match commit 1c3654cb, 2011-04-02, "copy: require fiemap sync also for 2.6.38 kernels" 2011-04-06 Pádraig Brady copy: handle mergeable extents across fiemap scans * extent-scan.h (extent_scan_free): Init the pointer to NULL, and reset the count to 0, so that we can realloc the buffer. * src/extent-scan.c (extent_scan_init): Likewise. (extent_scan_read): Loop over multiple fiemap scans, so we handle mergeable extents that span across fiemap scan boundaries. Once we have enough unique extents, return so as to minimize memory use. copy: fix an unlikely memory leak when a fiemap copy fails * src/copy.c (extent_copy): Free the extents array when sparse_copy() fails. 2011-04-04 Jim Meyering tests: avoid spurious parallel failure due to temporary disk full Running the new fiemap-empty test uses 600MB of disk space via fallocate, and in so doing caused failure in unrelated tests that were running in parallel on a small file system. Rather than simply running fallocate (which allocates the space, inducing disk full when it fails), skip the test if there is less than 800MB of free space, as computed via stat and awk. * tests/init.cfg (require_file_system_bytes_free_): New function. * tests/cp/fiemap-empty: Use it. tests: don't ever leave a backgrounded "sleep 10m" process * tests/misc/help-version: Sleep only ~30s, not 10m. The latter was a problem when somehow that sleep process would hang around and thereby prevent (for up to 10m) a normal unmount of the temporary partition in which I'd run the tests. tests: preserve-gid: don't chown temporary PATH dir to a nameless UID * tests/cp/preserve-gid: Simply chmod a+rx instead. That is safer, in case the nameless UID actually has an account, and might take advantage of root running a program in a directory under its control tests: preserve-gid: remove useless use of "env" * tests/cp/preserve-gid: Remove useless use of "env". tests: convert common root-build test failure to a "skip" * tests/mv/sticky-to-xpart: Skip rather than failing this test when run as root and the binaries are not accessible by "nobody". tests: minor improvement of sc_tight_scope rule * src/Makefile.am (sc_tight_scope): Adjust rule to use an eval-based trap-setting for-loop rather than 4x hard-coded 128+N constants. Also catch SIGQUIT (3). Tweak comments. 2011-04-04 Eric Blake docs: mention POSIX 2008 * doc/coreutils.texi (Standards conformance): Give value of _POSIX2_VERSION matching the _POSIX_C_SOURCE of POSIX 2008. 2011-04-03 Jim Meyering maint: prohibit direct use of strncmp: prefer STREQ_LEN, STRNCMP_LIT * cfg.mk (sc_prohibit_strncmp): New rule, mostly from libvirt. * src/system.h (STREQ_LEN, STRPREFIX, STRNCMP_LIT): Define. * src/df.c (get_dev, get_point): Convert. * src/extent-scan.c (extent_need_sync): Likewise. * src/ls.c (is_colored, decode_switches): Likewise. (parse_ls_color, (print_color_indicator): Likewise. * src/md5sum.c (split_3): Likewise. * src/split.c (main, emit_ancillary_info): Likewise. * src/tr.c (look_up_char_class): Likewise. * src/uname.c (main): Likewise. * src/who.c (scan_entries): Likewise. copy: require fiemap sync also for 2.6.38 kernels * src/extent-scan.c (extent_need_sync): Require sync also for 2.6.38. Without this, part of the cp/fiemap-empty test would fail both on F15-to-be (2.6.38.1-6.fc15.x86_64) and rawhide. For details, see http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22190 2011-04-02 Jim Meyering cp: always detect copy-into-self: avoid infloop w/large PATH_MAX When running the erroneous command, cp -rl A D D, and depending on the structure of directories A and D and the file system type (because that changes order of dir. entry traversal), cp would sometimes fail to detect that D was being copied into D, and would create D/D/D/D/D/... until it hit PATH_MAX or exhausted some resource. I noticed this via the occasional failure of the cp/into-self test when run using a ZFS file system. It is occasional because the bug is dependent on the order in which directory entries are traversed, and that is apparently indeterminate with ZFS. Technically, with the current recursive implementation, there is no risk of an infinite loop, due to stack limitations, but with an eventual fts-based implementation, it might have iterated until disk space or inodes are exhausted. * src/copy.c (copy_dir): Avoid copy-into-self interminable loop on systems with large PATH_MAX. On other systems, diagnose the copy-into- self error consistently. Handle the parameter, first_dir_created_per_command_line_arg, correctly when there are two or more sub-directories. maint: fix a comment typo * tests/cp/fiemap-empty: Correct typo in comment. Add "FIXME". 2011-04-01 Pádraig Brady copy: process empty extents more efficiently * src/copy.c (extent_copy): Treat an allocated but empty extent much like a hole. I.E. don't read data we know is going to be NUL. Also we convert the empty extent to a hole only when SPARSE_ALWAYS so that the source and dest have the same allocation. This will be improved soon, when we use fallocate() to do the allocation. * tests/cp/fiemap-empty: A new test for efficiency and correctness of copying empty extents. * tests/Makefile.am: Reference the new test. * NEWS: Mention the change in behavior. copy: protect against overlapping extents * src/extent-scan.c (extent_scan_read): Add a more stringent check for OFF_T overflow, to ensure subsequent code is immune. Detect overlapping extents and adjust, so as files always copied. Detection using a single scan with fallback to a standard copy was thought too expensive in memory or time. * NEWS: Mention the fix 2011-04-01 Pádraig Brady copy: link rather than copy symlinks, when --link used This bug was introduced in commit ca9e212c, 2009-09-24, "cp, mv: use linkat to guarantee semantics", which inadvertently disabled the creation of hardlinks to symlinks. However rather than implementing the intention of that commit and relying on gnulib linkat emulation, we'll revert to the previous emulation as that maintains ownership and timestamps. * src/copy.c (copy_internal): Use our existing hardlink to symlink emulation when link() might dereference the symlink. Also ensure that we copy the timestamps of the original symlink when we use the emulation. * tests/cp/link-symlink: Add a test to ensure timestamps copied. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. Reported by Ruediger Meier 2011-03-31 Jim Meyering tests: inotify-rotate: avoid race condition with overloaded disk * tests/tail-2/inotify-rotate: Wait 50% longer for grep to succeed. Without this change, this test would fail consistently when using "make -j25 check" with F15 in a virtio- and spinning-rust-backed virtual machine. 2011-03-31 Pádraig Brady copy: with fiemap copy, only sync when needed * src/extent-scan.h (struct extent_scan): Add the fm_flags member to pass to the fiemap scan. * src/extent-scan.c (extent_need_sync): A new function used to detect Linux kernels before 2.6.38. (extent_scan_init): Add FIEMAP_FLAG_SYNC when needed. * tests/cp/sparse-fiemap: Adjust comment. * NEWS: Mention the change in behavior. Indirectly suggested by Mike Frysinger 2011-03-28 Mathieu Bridon tests: avoid unwarranted failure in mock-simulated non-SELinux env. * tests/init.cfg (require_selinux_): Skip the test also when /proc/filesystems does not list selinuxfs. Add comments. * cfg.mk (exclude_file_name_regexp--sc_file_system): Exempt tests/init.cfg, with its use of /proc/filesystems. Based on the patch by Mathieu Bridon in http://debbugs.gnu.org/8359. More discussion in http://bugzilla.redhat.com/573111 2011-03-28 Jim Meyering maint: correct formatting style in a header * src/find-mount-point.h: Move "*" to where it belongs. Move "const", too. * src/find-mount-point.c: Move "const" to conform. * src/Makefile.am (sc_tight_scope): Allow `*'s before the function name. Use perl's -l option and drop the \n after (and quotes around) $1. 2011-03-23 Pádraig Brady df: fix alignment of columns * src/df.c (alloc_table_row): A new function to allocate storage for a row of strings. (print_table): A new function to interate over all stored strings in the table, and apply alignment honoring the max width of each column. (get_header): Renamed from print_header, and adjusted accordingly. (get_dev): Renamed from show_dev. Also we no longer wrap longer device names over two lines, which can be an unexpected issue for scripts parsing the output from df. (get_disk): s/show_/get_/ (get_point): Likewise. (get_entry): Likewise. (get_all_entries): Likewise. * NEWS: Mention the change. 2011-03-22 Jim Meyering build: update gnulib submodule to latest tests: exercise tests new "==" operator * tests/misc/test: Exercise the new operator. * NEWS (Changes in behavior): Mention it. 2011-03-22 David A. Wheeler test: accept "==" as a synonym for "=" Make GNU coreutils' test recognize "==" as a synonym for "=". This is already the case in GNU coreutils' expr, bash, ksh, busybox ash, FreeBSD-current /bin/sh and /bin/test, and OpenBSD's /bin/sh. Before, env test a '==' a would fail with this diagnostic: "test: ==: binary operator expected". Now, it succeeds. * src/test.c: Accept "==" as a synonym for "=". * doc/coreutils.texi (String tests): Document it. Reported as http://debbugs.gnu.org/8263 Also see http://austingroupbugs.net/view.php?id=375 2011-03-21 Jim Meyering tests: fix a bug in the cp/preserve-gid test * tests/cp/preserve-gid: Ensure that every process under test uses the cp binary we've just built. Before this fix, with a restrictive umask or build-dir permissions, the UID-changing tests would end up using whatever cp happened to be available through $PATH Analysis by arbogast.cedric@gmail.com in http://debbugs.gnu.org/8292. 2011-03-20 Paul Eggert bootstrap: do not exclude m4/message.m4 * bootstrap.conf (excluded_files): Don't exclude m4/lcmessage.m4, as it's needed with the latest gnulib. 2011-03-20 Jim Meyering maint: remove a name from THANKS.in that is derived from git log The names in THANKS are generated from two sources: the hard-coded list, THANKS.in, and the names of committers from the git log. When a contributor on the hard-coded list commits a change, we remove their now-redundant name from THANKS.in. * THANKS.in: Remove a now-duplicate name. 2011-03-19 Pádraig Brady tests: fix the sparse-fiemap test * tests/filefrag-extent-compare: Merge adjacent extents in each list before processing, so we correctly account for split extents in either list. * tests/cp/sparse-fiemap: Remove the explicit syncing, which was only changing the way extents were arranged, and thus working around the extent comparison issue that was seen on ext4 loop back. 2011-03-16 Jim Meyering sort: avoid memory pressure of 130MB/thread when reading from pipe * src/sort.c (INPUT_FILE_SIZE_GUESS): Decrease initial allocation factor used to size buffer used when reading a non-regular file. For motivation, see discussion here: http://thread.gmane.org/gmane.comp.gnu.coreutils.general/878/focus=887 maint: stop using .x-sc_* files to list syntax-check exemptions Instead, use the brand new mechanism with which you merely use a variable (derived from the rule name) defined in cfg.mk to an ERE matching the exempted file names. * gnulib: Update to latest, to get maint.mk that implements this. * Makefile.am (syntax_check_exceptions): Remove variable. (EXTRA_DIST): Remove use of the variable. * cfg.mk (sc_x_sc_dist_check): Remove rule, no longer useful. (exclude_file_name_regexp--sc_space_tab): Define variable. (exclude_file_name_regexp--sc_bindtextdomain): Likewise. (exclude_file_name_regexp--sc_unmarked_diagnostics): Likewise. (exclude_file_name_regexp--sc_error_message_uppercase): Likewise. (exclude_file_name_regexp--sc_trailing_blank): Likewise. (exclude_file_name_regexp--sc_system_h_headers): Likewise. (exclude_file_name_regexp--sc_require_config_h_first): Likewise. (exclude_file_name_regexp--sc_require_config_h): Likewise. (exclude_file_name_regexp--sc_po_check): Likewise. (exclude_file_name_regexp--sc_prohibit_always-defined_macros): Likewise. (exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF): Likewise. (exclude_file_name_regexp--sc_program_name): Likewise. (exclude_file_name_regexp--sc_file_system): Likewise. (exclude_file_name_regexp--sc_prohibit_always_true_header_tests): Likewise. (exclude_file_name_regexp--sc_prohibit_fail_0): Likewise. (exclude_file_name_regexp--sc_prohibit_atoi_atof): Likewise. (exclude_file_name_regexp--sc_prohibit_tab_based_indentation): Likewise. (exclude_file_name_regexp--sc_prohibit_stat_st_blocks): Likewise. * configure.ac [whether localtime caches TZ]: Use return 0/1, not exit (0/1) to avoid triggering a sc_prohibit_magic_number_exit failure. * .x-sc_GPL_version: Remove file. * .x-sc_bindtextdomain: Likewise. * .x-sc_error_message_uppercase: Likewise. * .x-sc_file_system: Likewise. * .x-sc_obsolete_symbols: Likewise. * .x-sc_po_check: Likewise. * .x-sc_program_name: Likewise. * .x-sc_prohibit_always-defined_macros: Likewise. * .x-sc_prohibit_always_true_header_tests: Likewise. * .x-sc_prohibit_atoi_atof: Likewise. * .x-sc_prohibit_empty_lines_at_EOF: Likewise. * .x-sc_prohibit_fail_0: Likewise. * .x-sc_prohibit_magic_number_exit: Likewise. * .x-sc_prohibit_stat_st_blocks: Likewise. * .x-sc_prohibit_strcmp: Likewise. * .x-sc_prohibit_tab_based_indentation: Likewise. * .x-sc_require_config_h: Likewise. * .x-sc_require_config_h_first: Likewise. * .x-sc_space_tab (config): Likewise. * .x-sc_sun_os_names: Likewise. * .x-sc_system_h_headers: Likewise. * .x-sc_trailing_blank: Likewise. * .x-sc_unmarked_diagnostics: Likewise. * .x-sc_useless_cpp_parens: Likewise. 2011-03-13 Pádraig Brady maint: use wcswidth from gnulib * gl/lib/mbsalign.c (rpl_wcswidth): Remove this in favor of the equivalent wcswidth replacement in gnulib. * bootstrap.conf: Depend on the wcswidth module. Suggested by Bruno Haible. 2011-03-13 Jim Meyering touch: update to latest gnulib to fix Solaris 10 touch segfault * gnulib: Update to latest, to address http://debbugs.gnu.org/8230. When built on Solaris 9 and run on Solaris 10, touch would segfault. Reported by Ben Walton. * bootstrap: Update from gnulib. * tests/init.sh: Likewise. * NEWS (Bug fixes): Mention this. sort: spawn fewer threads for small inputs * src/sort.c (SUBTHREAD_LINES_HEURISTIC): Do not spawn a new thread for every 4 lines. Increase this from 4 to 128K. 128K lines seems appropriate for a 5-year-old dual-core laptop, but it is too low for some common combinations of short lines and/or newer systems. * NEWS (Bug fixes): Mention it. 2011-03-11 Pádraig Brady copy: merge similar extents before processing * src/extent-scan.c (extent_scan_read): Merge adjacent extents that vary only in size, so that we may process them more efficiently. This will be especially useful when we introduce fallocate() so that we don't reproduce fragmentation in the destination. 2011-03-06 Paul Eggert dd: avoid or diagnose some problems with short reads * src/dd.c (warn_partial_read): New static var. (iread): Diagnose partial reads if needed. (iwrite): Don't diagnose them here; not needed any more. (scanargs): Determine whether partial reads should be diagnosted. 2011-03-05 Pádraig Brady maint: fix dd nocache test to be independent of current stdin * tests/dd/nocache: Don't assume stdin is a pipe dd: add a flag to discard cached data * src/dd.c (FFS_MASK): A new macro (Find First Set) refactored from the following enum as it's now used twice. (usage): Mention the new 'nocache' flag. (cache_round): A new function to help ignore requests to drop cache, that are less than page_size. (invalidate_cache): A new function to call posix_fadvise() with the appropriate offset and length. Note we don't use fdadvise() so we can detect errors when count=0. (dd_copy): Call invalidate_cache() for the portions read. (iwrite): Likewise for the portions written. (main): Call invalidate_cache for page_size slop or for full file when count=0. * cfg.mk (sc_dd_O_FLAGS): Adjust to pass. * doc/coreutils.texi (dd invocation): Describe the 'nocache' flag, and give some examples of how it can be used. * tests/dd/nocache: A new test. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature. doc: clarify that `dd bs=` can immediately output short reads * doc/coreutils.texi (dd invocation): Clarify that bs= can cause parital reads to be immediately written to output. * src/dd.c (usage): Hint that bs= can cause partial writes. See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8171 doc: group dd conv= options that are actually flags * src/dd.c (usage): Move 'sync' up with other data transformation options. Having it alongside 'fsync' and 'fdatasync' is particularly confusing. Also the double line description of the 'sync' option, serves as a visual break from the "flag" type options that follow. * doc/coreutils.texi (dd invocation): Apply the same grouping as above, by splitting the "conv=" table in two. 2011-03-05 Pádraig Brady dd: warn when we disable oflag=direct not at EOF An alternative to this is to auto enable iflag=fullblock when oflag=direct and bs= is specified. It was thought better though, to warn about the specific issue, and give full control of dd's options to the user. * src/dd.c (iwrite): Warn, when we write after having disabled O_DIRECT. See https://bugzilla.redhat.com/show_bug.cgi?id=614605 2011-03-03 Jim Meyering du: don't infloop for --files0-from=DIR * src/du.c (main): Fail on AI_ERR_READ error, rather than merely diagnosing and continuing. Based on a patch by Stefan Vargyas. Also move the handling of AI_ERR_EOF into the case stmt. Do not report ferror/fclose(stdin) failure when we've already diagnosed e.g., failure to read the DIR, above. Bug introduced by 2008-11-24 commit 031e2fb5, "du: read and process --files0-from= input a name at a time,". * src/wc.c: Handle read failure as with du: do not exit immediately, but rather go on to print any total and to clean-up. As above, move the handling of AI_ERR_EOF into the case stmt. * tests/du/files0-from-dir: New file, to test both du and wc. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. wc: avoid NULL dereference on out-of-memory error * src/wc.c (main): Diagnose failed argv_iter_init_* failure, rather than falling through and dereferencing NULL. Bug introduced by 2008-11-25 commit c2e56e0d, "wc: read and process --files0-from= input a name at a time,". * NEWS (Bug fixes): Mention it. 2011-02-25 Pádraig Brady tests: without filefrag, only skip part of sparse-fiemap * tests/cp/sparse-fiemap: Move the PERL check to the top, since we don't test anything without it. In the loop, don't use skip_test_ as it exits the test completely. 2011-02-19 Gilles Espinasse maint: replace spaces with tab in tests/Makefile.am * tests/Makefile.am: Replace spaces with tabs for consistency 2011-02-18 Jim Meyering stdbuf: avoid even the appearance of a possible use-after-free There was an execution path by which "libstdbuf" could be used after being freed, but that would happen only if there were no libstdbuf.so alongside the stdbuf program and there had been an installation error leading to absence of the file, PKGLIBDIR/libstdbuf.so. * src/stdbuf.c (set_LD_PRELOAD): Rearrange loop to make it perfectly clear that there is no possibility of use-after-free. Steve Grubb reported this possible use-after-free of "libstdbuf". 2011-02-18 Gilles Espinasse tests: correct racy sparse-to-pipe test * tests/cp/sparse-to-pipe: Wait for backgrounded "cat" to complete before comparing the results. 2011-02-15 Paul Eggert uptime: omit unnecessary #if * src/uptime.c (print_uptime): Omit unnecessary "#if defined HAVE_GETLOADAVG || defined C_GETLOADAVG". This #if is always true, and removing it will help us simplify the gnulib getloadavg module. 2011-02-15 Pádraig Brady tests: support more file systems in the cp fiemap tests * tests/cp/sparse-fiemap: Check for fiemap support against a file rather than a directory to enable tests on BTRFS for example. Explicity disable the test on ext3 or file systems where we can't determine the type. * tests/cp/fiemap-perf: Likewise. Also disable the test on older BTRFS (like in Fedora 14), where extents are returned for holes. * tests/init.cfg: Comment that BTRFS only supports fiemap for regular files. 2011-02-11 Pádraig Brady copy: adjust fiemap handling of sparse files Don't depend on heuristics to detect sparse files if fiemap is available. Also don't scan for new holes unless --sparse=always has been specified. * src/copy.c (extent_copy): Pass the user specified sparse mode, and handle as described above. 2011-02-11 Pádraig Brady copy: suppress redundant lseeks when using fiemap * src/copy.c (extent_copy): Suppress redundant lseek()s in both the source and dest files, when there is no hole between extents. 2011-02-10 Jim Meyering tests: fix bug in preceding check.mk change * tests/check.mk (.built-programs): Run cd'd submake in a subshell so the redirected output ends up in the current directory, not ../src. tests: print "python missing:..." diagnostic where more will see it * tests/init.cfg (fiemap_capable_): Print with warn_, so that the diagnostic shows up alongside the corresponding SKIP message. tests: avoid gross inefficiency in "make test" Do not run a sub-make to set up the environment for each and every test script. Instead, run it just once and store the result in a file. * tests/check.mk (built_programs): Remove definition. (.built-programs): New rule to create the temporary file. (CLEANFILES): Arrange to remove it. (TESTS_ENVIRONMENT): Simply cat .built-programs, rather than running the sub-make. * .gitignore: Ignore it. 2011-02-08 Pádraig Brady test: improve the cp fiemap tests * tests/cp/fiemap-2: Enable the fiemap check for files, which will enable the test for files on ext3. * tests/cp/fiemap-perf: Comment why we're not enabling for ext3. * tests/cp/sparse-fiemap: Ditto. Also sync the files before doing a fiemap which was needed for ext4 loop back at least. Add a comment that FIEMAP_FLAG_SYNC is ineffective, thus requiring the explicit syncs. * tests/fiemap-capable: A new python script to determine if a specified path supports fiemap. * tests/init.cfg (fiemap_capable_): Use the new python script. * tests/Makefile.am (EXTRA_DIST): Include the new python script. 2011-02-08 Jim Meyering tests: randread-tests: use macro.h not "#define ASSERT..." * gl/modules/randread-tests (Files): Add tests/macros.h * gl/tests/test-rand-isaac.c: Remove now-unneeded #include directives. (ASSERT): Remove definition. Instead, include "macros.h". Prompted by suggestions from Bruno Haible. 2011-02-07 Jim Meyering maint: move di-set and ino-map modules from ./gl to gnulib * gl/lib/di-set.c: Remove file. * gl/lib/di-set.h: Likewise. * gl/lib/ino-map.c: Likewise. * gl/lib/ino-map.h: Likewise. * gl/modules/di-set: Likewise. * gl/modules/di-set-tests: Likewise. * gl/modules/ino-map: Likewise. * gl/modules/ino-map-tests: Likewise. * gl/tests/test-di-set.c: Likewise. * gl/tests/test-ino-map.c: Likewise. * gnulib: Update to latest, now that these two modules are there. 2011-02-07 Jim Meyering di-set: provide a lookup method This is required for patch, and hence is about to move to gnulib. * gl/lib/di-set.c (di_set_lookup): New function. * gl/lib/di-set.h: Declare it. * gl/tests/test-di-set.c (main): Exercise it. The bug was introduced on 2004-12-04 via commit 7380cf79. 2011-02-07 Jim Meyering cut: don't segfault for large unbounded range * src/cut.c (set_fields): When computing the maximum range endpoint, take into consideration the start of any unbounded range, like "999-". * NEWS (Bug fixes): Mention it. * tests/misc/cut (big-unbounded-b,c,f): Add tests. Reported by Paul Marinescu in http://debbugs.gnu.org/7993 The bug was introduced on 2004-12-04 via commit 7380cf79. 2011-02-05 Jim Meyering copy: don't let a failed lseek go undiagnosed Upon failed lseek, sparse_copy_finalize would mistakenly return true. Admittedly, that is very unlikely, since that particular lseek is attempted only if the preceding call to sparse_copy induced a hole at EOF (via lseek on the destination FD). However, now that sparse_copy has an output parameter, N_READ, there is no longer any reason to call lseek (fd, 0, SEEK_CUR), so... * src/copy.c (sparse_copy_finalize): Remove the function. (copy_reg): Call ftruncate with n_read, rather than sparse_copy_finalize with its now-unnecessary lseek. Lasse Collin spotted the bug in sparse_copy_finalize. 2011-02-04 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.10 * NEWS: Record release date. cp: avoid spurious failure on any non-linux kernel * src/extent-scan.c (extent_scan_read) [!linux]: Always set scan->initial_scan_failed so caller knows not to report the failure. tests: skip mv/i-3 on FreeBSD to avoid spurious failure * tests/mv/i-3: Skip when uname -s reports FreeBSD. 2011-02-03 Pádraig Brady sort: fix --debug key highlighting when key start after key end This case was overlooked in commit bdde34f9, 2010-08-05, "sort: tune and refactor --debug code, and fix minor underlining bug" * src/sort.c (debug_key): Don't adjust the key end when it's before the key start. * tests/misc/sort-debug-keys: Add a test case. 2011-02-02 Jim Meyering tests: correct part of fiemap-perf * tests/cp/fiemap-perf: Correct erroneous added test. Since nonexistent names were used, the final test ended up being "test =", which would always "succeed". build: update gnulib submodule to latest 2011-01-31 Pádraig Brady cp: fix the buffer size used when writing zeros * src/copy.c (write_zeros): This bug caused 4 or 8 bytes to be written at a time which is very inefficient. One could trigger the issue with `cp --sparse=never sparse non-sparse` on a file system that supports fiemap. 2011-01-31 Jim Meyering cp: always initialize extent_copy's output parameter * src/copy.c (extent_copy): Otherwise it would be used uninitialized. tests: exercise a rarely-used corner of copy.c * tests/cp/sparse-to-pipe: New test. * tests/Makefile.am (TESTS): Add it. cp: fix copying a sparse file to a pipe The recent FIEMAP-related changes made it so the unusual case of copying a sparse file to a non-regular destination (e.g., a pipe) would erroneously write one byte too many to that destination. That happened because extent_copy assumed that it could use lseek to obtain the number of bytes written to the output file descriptor. That was valid only for regular files. * src/copy.c (sparse_copy): Add a parameter, to be used by extent_copy, but not by reg_copy. Adjust callers. (extent_copy): Maintain new local, dest_pos, using new arg, n_read. Don't call lseek on dest_fd; use new var, dest_pos, instead. (copy_reg): Add unused arg. tests: gfs2 also supports FIEMAP * tests/init.cfg (fiemap_capable_): Add gfs2. Clarify comment. maint: remove unused inclusion of "fiemap.h" * src/copy.c: Don't include "fiemap.h". tests: factor fiemap-related predicate into init.cfg * tests/init.cfg (fiemap_capable_): New function. * tests/cp/fiemap-perf: Use it. * tests/cp/sparse-fiemap: Likewise. * tests/cp/fiemap-2: Likewise. maint: update copyright year lists in new files * src/extent-scan.h: Update copyright year list. * src/extent-scan.c: Likewise. * tests/cp/sparse-fiemap: Likewise. tests: modernize sparse-fiemap test * tests/cp/sparse-fiemap: Use print_ver_, not open-coded VERBOSE test. tests: remove duplicate fiemap-perf test * tests/cp/fiemap-perf: Copy block-comparing code from sparse-fiemap. * tests/cp/sparse-fiemap: The same test was here, alongside a much more involved test. Remove it, now that it is in its own file. 2011-01-30 Jim Meyering doc: NEWS: mention cp's improvement * NEWS (New Features): cp now copies sparse files efficiently. build: update gnulib submodule to latest copy, tee: assume EINTR is always defined: remove #ifdefs Don't use "#ifdef EINTR". dd.c has been doing that since 2004. * src/copy.c (sparse_copy): Remove #ifdef...#endif around EINTR use. * src/tee.c (tee_files): Remove #ifdef...#endif around EINTR use. If we need it, add something like this in system.h: /* When EINTR is not defined, define it to an improbable value so that each use does not have to be #ifdef'd. */ #ifndef EINTR # define EINTR 999988 #endif tests: cp/fiemap: exercise previously-failing parts * tests/cp/fiemap-2: New test. * tests/Makefile.am (TESTS): Add it. copy: make extent_copy use sparse_copy, rather than its own code * src/copy.c (extent_copy): Before this change, extent_copy would fail to create holes, thus breaking --sparse=auto and --sparse=always. I.e., copying a large enough file of all zeros, cp --sparse=always should introduce a hole, but with extent_copy, it would not. copy: remove obsolete comment * src/copy.c (sparse_copy): Remove now-obsolete comment about how we used to work around lack of ftruncate. Combine nested if conditions into one. copy: factor sparse-copying code into its own function, because we're going to have to use it from within extent_copy, too. * src/copy.c (sparse_copy): New function, factored out of... (copy_reg): ...here. Remove now-unused locals. fiemap copy: avoid leak-on-error * src/copy.c (extent_copy): Don't leak an extent_scan buffer on failed lseek, read, or write. fiemap copy: avoid a performance hit due to very small buffer * src/copy.c (extent_copy): Don't let what should have been a temporary reduction of buf_size (to handle a short ext_len) become permanent and thus impact the performance of all further iterations. fiemap copy: simplify post-loop logic; improve comments * src/copy.c (extent_copy): Avoid duplication in post-loop extend-to-desired-length code. fiemap copy: rename some locals (extent_copy): Rename locals: s/*ext_logical/*ext_start/ tests: ensure that FIEMAP-enabled cp copies a sparse file efficiently * tests/cp/fiemap-perf: New file. * tests/Makefile.am (TESTS): Add it. copy: don't allocate a separate buffer just for extent-based copy * src/copy.c (copy_reg): Move use of extent_scan to just *after* we allocate the main copying buffer, so we can... (extent_scan): Take a new parameter, BUF, and use that rather than allocating a private buffer. Update caller. copy: tweak variable name; improve a comment * src/copy.c (copy_reg): Rename a variable to make more sense from caller's perspective: s/require_normal_copy/normal_copy_required/. This is an output-only variable, and the original name could make it look like an input (or i&o) variable. copy: call extent_copy also when make_holes is false, ... so that we benefit from using extents also when reading a sparse input file with --sparse=never. * src/copy.c (copy_reg): Remove erroneous test of "make_holes" so that we call extent_copy also when make_holes is false. Otherwise, what's the point of that parameter? copy: remove else-after-goto and adjust indentation * src/copy.c (copy_reg): Remove useless else-after-goto. extent-scan: adjust naming and formatting * src/extent-scan.h [struct extent_scan]: Rename member: s/hit_last_extent/hit_final_extent/. "final" is clearer, since "last" can be interpreted as "preceding". Rename extent-scan functions to start with extent_scan_. * src/Makefile.am (copy_sources): Also distribute extent-scan.h. * src/extent-scan.c: Don't include error.h or quote.h. Neither is used. * src/copy.c: shorten a comment to fit in 80 columns * src/extent-scan.c, src/extent-scan.h: Correct formatting. fiemap copy: don't let write failure go unreported; adjust style, etc. * src/copy.c (write_zeros): Add comments. (extent_copy): Move decls of "ok" and "i" down to scope where used. Adjust comments. Rename local: s/holes_len/hole_size/ Print a diagnostic upon failure to write zeros. 2011-01-30 jeff.liu fiemap copy: add extent-scan.[ch], avoid a double-free and reorganize Changes: ======== 1. fix write_zeros() per Jim's comments. 2. remove char const *fname from struct extent_scan. 3. change the signature of open_extent_scan() from "void open_extent_scan(struct extent_scan **scan)" to "void open_extent_scan(struct extent_scan *scan)" to avoid having to malloc the extent_scan variable; instead save it on the stack. 4. move close_extent_scan() from a function defined in extent-scan.c to extent-scan.h as a macro definition, but it does nothing for now, since initial extent scan defined at stack. 5. add a macro "free_extents_info()" defined at extent-scan.h to release the memory allocated to extent info which should be called combine with get_extents_info(), it just one line, so IMHO, define it as macro should be ok. * src/extent-scan.c: New file; functions to read "extents". * src/extent-scan.h: Header file of extent-scan.c. * src/Makefile.am: Reference it and link it to copy_source. * src/copy.c: Use the new functions and avoid double-free. 2011-01-30 Jim Meyering build: distribute new test script, filefrag-extent-compare * tests/Makefile.am (EXTRA_DIST): Add filefrag-extent-compare. build: distribute new file, fiemap.h * src/Makefile.am (noinst_HEADERS): Add fiemap.h. 2011-01-30 Jie Liu copy.c: add FIEMAP_FLAG_SYNC to fiemap ioctl * src/copy.c (fiemap_copy): Force kernel to sync the source file before mapping. 2011-01-30 Jim Meyering fiemap.h: include , not * src/fiemap.h: Include stdint.h, not linux/types.h, now that this file uses only portable type names. 2011-01-30 Paul Eggert copy.c: ensure proper alignment of fiemap buffer * src/copy.c (fiemap_copy): Ensure that our fiemap buffer is large enough and well-aligned. Replace "0LL" with equivalent "0" as 3rd argument to lseek. 2011-01-30 Jim Meyering copy.c: adjust comments, tweak semantics * src/copy.c (fiemap_copy): Rename from fiemap_copy_ok. Add/improve comments. Remove local, "fail". (fiemap_copy): Do not require caller to set "normal_copy_required" before calling fiemap_copy. Report ioctl failure if it's the 2nd or subsequent call. tests: relax the root-tests cross-check * cfg.mk (sc_root_tests): Allow spaces before "require_root_", now that tests/cp/sparse-fiemap has a conditional use. tests: accommodate varying filefrag -v "flags" output * tests/cp/sparse-fiemap: Accommodate values other than "eof" in the "flags" column of filefrag -v output tests: exercise more of the new FIEMAP copying code * tests/cp/sparse-fiemap: Ensure that a file with many extents (more than fit in copy.c's internal buffer) is copied properly. Don't require root access if current partition is btrfs or xfs. Use init.sh, not test-lib.sh. * tests/filefrag-extent-compare: New file. 2011-01-30 Jie Liu tests: add a new test for FIEMAP-copy * tests/cp/sparse-fiemap: Add a new test for FIEMAP-copy against a loopbacked ext4 partition. * tests/Makefile.am (sparse-fiemap): Reference the new test. cp: copy sparse files efficiently using the FIEMAP ioctl * src/fiemap.h: Add fiemap.h for fiemap ioctl(2) support. Copied from linux's include/linux/fiemap.h, with minor formatting changes. * src/copy.c (copy_reg): Now, when `cp' is invoked with --sparse=[WHEN], we will try to do FIEMAP-copy if the underlying file system supports it, and fall back to a normal copy if it fails. 2011-01-29 Pádraig Brady doc: add alternatives for field processing not supported by cut * doc/coreutils.texi (cut invocation): Remove the tr -s '[:blank:]' example, as it doesn't handle leading and trailing blanks. Add `awk` examples for common field processing operations often asked about. Also document a `join` hack, to achieve the same thing. Note the join options are ordered so as to be compatible with other systems. 2011-01-29 Pádraig Brady join: don't report disorder against an empty file This allows one to use join as a field extractor like: join -a1 -o 1.3,1.1 - /dev/null * src/join.c (join): Don't flag unpairable lines when one of the files is empty. * tests/misc/join: Add a new test for empty input, and adjust a previous test that was only checking against empty input. * doc/coreutils.texi (join invocation): Document the change. * NEWS: Likewise. 2011-01-29 Pádraig Brady join: ensure --header skips the order check with empty files * src/join.c: Skip the header even if one of the files is empty. * tests/misc/join: Add a test case. * NEWS: Mention the fix 2011-01-29 Pádraig Brady join: add -o 'auto' to output a constant number of fields per line Lines with a different number of fields than the first line, will be truncated or padded. * src/join.c (prfields): A new function refactored from prjoin(), to output all but the join field. (prjoin): Don't swap line1 and line2 when line1 is blank so that the padding is applied to the right place. (main): Handle the -o 'auto' option. * tests/misc/join: Add 6 new cases to test the auto format. * NEWS: Mention the change in behavior. Suggestion from Assaf Gordon 2011-01-28 Jim Meyering tests: remove obsolete uses of "$$" in temporary file names Those were useful when tests might have been run in the same directory and in parallel. Now, each test is run in a newly- created empty directory. * tests/cp/backup-1: Remove obsolete uses of "$$". * tests/cp/same-file: Likewise. * tests/dd/misc: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/to-symlink: Likewise. * tests/touch/fail-diag: Likewise. 2011-01-26 Jim Meyering tests: don't hide all trace of the vc_exe_in_TESTS test There was a non-negligible delay after running a single test. Now, you'll know why when you see this test's name. * tests/check.mk (vc_exe_in_TESTS): Don't @-hide commands. Use $(AM_V_GEN) instead. 2011-01-25 Andreas Schwab tests: minor correction * tests/du/move-dir-while-traversing: Ignoring SIGTSTP is enough; don't also attempt to ignore SIGSTOP, it cannot be handled or ignored. Spotted by Andreas Schwab. 2011-01-25 Jim Meyering tests: avoid FP failure due to suspension * tests/du/move-dir-while-traversing: Prohibit suspension, to avoid false-positive failure. tests: avoid rare FP failure in new du test * tests/du/move-dir-while-traversing: Create an even larger tree to avoid a false-positive failure due to du terminating before the rename is triggered. 2011-01-24 Jim Meyering split: avoid a new, spurious warning from gcc-4.6.0 * src/split.c (lines_rr) [IF_LINT]: Initialize files, now that rawhide's gcc-4.6.0 would otherwise warn about use-uninitialized. tail: avoid new diagnostic when applying -f to a pipe on linux-2.3.38 * src/tail.c (fremote): Do not print a diagnostic when fstatfs (pipe_FD, &buf) fails, as it now does on linux-2.3.38. This avoids the spurious failure of tests/misc/tail's f-pipe-1 test, when running in input-from-pipe mode. 2011-01-21 Jim Meyering doc: fix wording in warning about potential conflict with built-in * doc/coreutils.texi (mayConflictWithShellBuiltIn): Fix wording. 2011-01-21 Paul Eggert manual: document floating point better * doc/coreutils.texi (Floating point): New section. (od invocation, tail invocation, sort invocation, printf invocation): (sleep invocation, seq invocation): Refer and defer to it. See . 2011-01-20 Jim Meyering build: update gnulib submodule to latest The previous gnulib submodule reference was *still* to a non-public commit. My submodule had a stray commit, so the reference was always to a local merge commit. Reported by Rob Vermaas. build: update gnulib submodule to latest The previous gnulib submodule reference was to a non-public commit. Reported by Rob Vermaas. 2011-01-19 Jim Meyering maint: use slightly more efficient process in README-release * README-release: Run cheaper root-only tests first. Use half of processing units (not just 1) for the expensive tests. 2011-01-18 Jim Meyering tests: avoid FP failure in new du test * tests/du/move-dir-while-traversing: Create a larger tree to avoid a false-positive failure due to du terminating before the rename is triggered. build: update gnulib submodule to latest doc: update NEWS * NEWS: Note when the uniq bug was introduced. It was mine, commit 1d9b3de9, "uniq: remove redundant test". 2011-01-17 Jim Meyering doc: show how to shred more efficiently * doc/coreutils.texi (shred invocation): Give an example showing how to invoke shred in single-pass mode, and warn that -n0 --zero may be inadequate. uniq: replace a wasteful loop with simple calculation * src/uniq.c (find_field): Remove the byte-skipping loop altogether. Instead, perform the simple calculation. This results in a 10% performance improvement for large byte offsets. tests: add a test for today's uniq bug * tests/misc/uniq-perf: New file. * tests/Makefile.am (TESTS): Add it. 2011-01-17 Sami Kerola uniq: don't continue field processing after end of line * NEWS (Bug fixes): Mention it. * src/uniq.c (find_field): Stop processing loop when end of line is reached. Before this fix, 'uniq -f 10000000000 /etc/passwd' would run for a very long time. 2011-01-15 OndÅ™ej Vašík doc: specify how tr, echo, printf treat octal numbers * doc/coreutils.texi (tr's Character sets): Document how a 9-bit octal value is interpreted. tr does not ignore the ninth bit. (echo invocation, printf invocation): Document that any ninth bit in \OOO is ignored. (http://debbugs.gnu.org/7574) 2011-01-14 Pádraig Brady maint: refactor to use read-file from gnulib * bootstrap.conf: Add the read-file module * src/ptx.c: Replace the original code which would needlessly read SIZE_MAX bytes of files larger than this. * src/shuf.c: Replace the original code. 2011-01-13 Pádraig Brady maint: trivial system header file cleanups * src/system.h: Note where it should be included, and make ordering check portable to GLIBC > 2 * src/copy.c: Move along with other system headers as is done elsewhere. * src/install.c: Move along with other system headers as is done elsewhere. * src/ptx.c: Include rather than "regex.h" as is done elsewhere. Note is kept after "system.h" as per commit dba300a0. 2011-01-12 Jim Meyering doc: clean up HACKING guidelines * HACKING: Remove mention of "indent-tabs-mode: nil", since we've remove all of those directives. No longer needed. Remove dated (pre-emacs-23) reference regarding WhiteSpace mode. 2011-01-12 Paul Eggert gnulib: Also use dtoastr and ldtoastr modules. This adjusts to the recent splitting of the ftoastr module into 3 . * bootstrap.conf (gnulib_modules): Add dtoastr, ldtoastr, as coreutils needs all 3 modules now. build: update gnulib submodule to latest 2011-01-11 Nadav Har'El rm: ignore errno related to invalid file names * src/remove.c (nonexistent_file_errno): Also skip EINVAL and EILSEQ, for at least smbfs rejection of '*' in file names. * NEWS: Mention the fix. 2011-01-10 Jim Meyering build: update gnulib submodule to latest du: don't abort when a subdir is renamed during traversal * NEWS (Bug fixes): Mention it. * src/du.c (prev_level): Move declaration "up" to file-scope global. (du_files): Reset prev_level to 0 upon abnormal fts_read termination. Reported by Johathan Nieder in http://bugs.debian.org/609049 Also, improve a diagnostic. * tests/du/move-dir-while-traversing: Test for the above. * tests/Makefile.am (TESTS): Add it. 2011-01-07 Pádraig Brady maint: suppress some clang scan-build warnings * src/pr.c (char_to_clump): Remove a dead store. * src/remove.c (fts_skip_tree): Likewise. * src/sort.c (key_warnings): Likewise. (sort): Suppress an uninitialized pointer warning. maint: replace uses of ignore_ptr with ignore_value * gnulib: Update for enhanced ignore_value() * src/chcon.c (process_file): Don't use the deprecated ignore_ptr. * src/chmod.c (process_file): Likewise. * src/chown-core.c (change_file_owner): Likewise. 2011-01-04 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.9 * NEWS: Record release date. build: update gnulib to latest; portability fixes 2011-01-01 Jim Meyering maint: update all copyright year number ranges Run "make update-copyright". build: update gnulib for version-etc copyright year update * tests/sample-test: Update copyright to 2011, to appease syntax-check. 2011-01-01 Jim Meyering maint: generate much of the THANKS file Before this change, we had a tendency to manually list each contributor's name in THANKS. Now, each commit "Author" is included in the generated THANKS file automatically, and most of the old THANKS file is now a template, THANKS.in. We'll still have to manually list the names of people who report problems without a usable patch. * THANKS.in: New file, derived from THANKS, but removing names of those who are listed as git log 'Author:'s. * THANKS: Remove file. * thanks-gen: New file. * Makefile.am (THANKS): New rule. (EXTRA_DIST): Add .mailmap, THANKS.in and thanks-gen. * .gitignore: Add THANKS and THANKS-to-translators. * .mailmap: Unify on single address and name-spelling per contributor. 2010-12-31 Eric Blake maint: update to latest gnulib, for testsuite improvement * gnulib: Update to latest for init.sh fix. * bootstrap: Resync from gnulib. * tests/init.sh: Likewise. 2010-12-30 Eric Blake maint: allow gettext 0.17 again Commit 041c9c47 traded the 'gettext' module for the lighter 'gettext-h' module, so as to not require the latest gettext release (we only need the latest release if we ship gettext as a dependent library, but coreutils has long preferred to use it as an external library). But that commit overlooked two places necessary to allow the use of gettext 0.17. This does not force you to downgrade (using gettext 0.18.1.1 is still just fine), nor does it affect tarballs (once a tarball is built with a given gettext version, it can be built on other machines regardless of what gettext version is present). * bootstrap.conf (buildreq): Relax prerequisite. * configure.ac (AM_GNU_GETTEXT_VERSION): Likewise. 2010-12-30 Pádraig Brady split: fix the suffix length calculation * src/split.c (set_suffix_length): Only auto-calculate the suffix length when the number of files is specified. * tests/misc/split-a: Add a case to trigger the bug, and exercise the suffix length auto-calculation. * NEWS: Mention the fix. Reported by Dmitry V. Levin and Sergey Vlasov at https://bugzilla.altlinux.org/show_bug.cgi?id=24841 2010-12-28 Paul Eggert coreutils: keep lines within 80-column limits * cfg.mk (LINE_LEN_MAX, FILTER_LONG_LINES): New macros. (sc_long_lines): New rule. * HACKING: Use shorter URLs to the same material. * doc/Makefile.am, doc/coreutils.texi, m4/boottime.m4: * man/help2man, man/stdbuf.x, src/Makefile.am, src/cat.c, src/copy.c: * src/cp.c, src/dd.c, src/df.c, src/du.c, src/groups.c, src/install.c: * src/ls.c, src/md5sum.c, src/mv.c, src/od.c, src/pinky.c, src/ptx.c: * src/readlink.c, src/remove.c, src/rmdir.c, src/setuidgid.c: * src/sort.c, src/tail.c, src/touch.c, tests/Coreutils.pm: * tests/cp/existing-perm-race, tests/cp/perm, tests/cp/preserve-gid: * tests/du/2g, tests/du/long-from-unreadable, tests/init.sh: * tests/install/basic-1, tests/ls/nameless-uid: * tests/ls/readdir-mountpoint-inode, tests/misc/chroot-credentials: * tests/misc/cut, tests/misc/date, tests/misc/join, tests/misc/md5sum: * tests/misc/sha1sum, tests/misc/sha224sum, tests/misc/sort: * tests/misc/sort-continue, tests/misc/sort-files0-from: * tests/misc/sort-rand, tests/misc/stdbuf, tests/misc/tr: * tests/misc/uniq, tests/mv/atomic, tests/mv/part-fail: * tests/mv/part-symlink, tests/mv/sticky-to-xpart, tests/pr/pr-tests: * tests/rm/fail-2eperm, tests/rm/interactive-always: Reformat to fit within 80 columns. * doc/Makefile.am (BAD_POSIX_PERL): New macro. * doc/coreutils.texi: Reword slightly, to make menus and index lines shorter. * src/md5sum.c: Redo --help output so that it fits within 79 columns, since that's a bit more portable and all the other --help strings fit in 79 columns. 2010-12-24 Jim Meyering maint: avoid syntax-check failure due to unused #include * src/getlimits.c: Don't include "c-ctype.h"; no longer used. 2010-12-23 Paul Eggert csplit: diagnose file counter wraparound * src/csplit.c (create_output_file): Detect overflow when the file counter wraps around, and exit with a diagnostic. Formerly the code silently wrapped around and wrote to the wrong file, losing output data. sort: minor performance tweak with num_processors * src/sort.c (main): Don't invoke num_processors twice. getlimits: port to hosts with very wide int, or non-ASCII * src/getlimits.c (decimal_ascii_add): Remove, replacing with ... (decimal_absval_add_one): New function, with different signature, which does not assume ASCII. All callers changed. (print_int): Remove assumptions that integers fit in 206 bits, and that characters are ASCII. These assumptions are portable in practice but are easy to remove here. 2010-12-22 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.8 * NEWS: Record release date. csplit: update gnulib for Solaris 8,9 snprintf fix maint: correct test-related comments * tests/mv/i-3: Adjust comment to match just-changed code. Spotted by Pádraig Brady. * tests/init.cfg (retry_delay_): Correct spelling of function name in usage example. tests: adjust preceding change to handle general WERROR_CFLAGS values * gnulib-tests/Makefile.am (test_xvasprintf_CFLAGS): (test_lock_CFLAGS, test_tls_CFLAGS): Avoid a syntax error when $(WERROR_CFLAGS) expands to more than one token. 2010-12-22 Paul Eggert tests: do not assume compiler knows -Wxxx flags * gnulib-tests/Makefile.am (test_xvasprintf_CFLAGS): (test_lock_CFLAGS, test_tls_CFLAGS): Do not append GCC-specific flags like -Wno-format-security unless the GCC-specific flag -Werror is also specified. This avoids a "make check" failure on Solaris when using Sun C 5.8. 2010-12-22 Jim Meyering tests: mv/i-3: avoid false-positive failure on a slow/busy system * tests/mv/i-3: Quadruple the timeout duration. Without this, I saw an expired timeout on a heavily-loaded system. 2010-12-21 Jim Meyering tests: avoid new false-positive failure on at least FreeBSD 8.1 * tests/mv/trailing-slash: Accommodate different diagnostic on FreeBSD 8.1. 2010-12-21 Paul Eggert who: omit useless definitions of MAXHOSTNAMELEN This prevents a compilation failure on Solaris 8, GCC 4.4.2, with "configure --enable-gcc-warnings". * src/who.c (MAXHOSTNAMELEN): Remove; no longer needed. * src/pinky.c: Likewise. 2010-12-20 Pádraig Brady maint: fix a typo in sort --parallel help message Also fix up Chen Guo's contacts * src/sort.c (usage): Add a missing "of" * THANKS: Add Chen Guo * .mailmap: Add Chen Guo's UCLA address 2010-12-20 Jim Meyering build: update gnulib: ACL-vs-Solaris 8 portability etc. 2010-12-19 Paul Eggert tests: sync init.sh from gnulib * tests/init.sh (setup_): Initialize fail=0 before invoking mktempd_. Ensure that IFS is defined initially. (mktempd_): Remove fail=0 initialization; no longer needed. 2010-12-19 Pádraig Brady wc: fix a possible hang with --files0-from * src/wc.c (main): exit when we get a read error on the --files0-from file, rather than retrying and spinning the CPU cp: ensure backups are created when -T specified * src/cp.c (do_copy): When -T is specified, initialize the NEW_DST and SB variables, which are checked when running: cp -T --force --backup file file * tests/cp/backup-1: Add the -T case sort: use at most 8 threads by default * src/sort.c (main): If --parallel isn't specified, restrict the number of threads to 8 by default. If the --parallel option is specified, then allow any number of threads to be set, independent of the number of processors on the system. * doc/coreutils.texi (sort invocation): Document the changes to determining the number of threads to use. Mention the memory overhead when using multiple threads. * tests/misc/sort-spinlock-abuse: Allow single core systems that support pthreads. * tests/misc/sort-stale-thread-mem: Likewise. * tests/misc/sort-unique-segv: Likewise. * NEWS: Mention the change in behaviour. 2010-12-18 Jim Meyering doc: split: add examples showing how to use the new option * doc/coreutils.texi (split invocation): Add examples. tests: avoid spurious du/bigtime failure * tests/du/bigtime: Map nonzero block count to 0. Reported by Assaf Gordon. * THANKS: Update. 2010-12-18 Paul Eggert tests: set fail=0 by default * tests/init.sh (setup_): Set fail=0. This was the intent as per but the assignment in mktempd_ is ineffective, since mktempd_ is used inside `` and its assignments are in a subshell. 2010-12-17 Jim Meyering build: update gnulib submodule to latest 2010-12-17 Paul Eggert sort: do not generate thousands of subprocesses for 16-way merge Without this change, tests/misc/sort-compress-hang would consume more than 10,000 process slots on my RHEL 5.5 x86-64 server, making it likely for other applications to fail due to lack of process slots. With this change, the same benchmark causes 'sort' to consume at most 19 process slots. The change also improved wall-clock time by 2% and user+system time by 14% on that benchmark. * NEWS: Document this. * src/sort.c (MAX_PROCS_BEFORE_REAP): Remove. (reap_exited): Renamed from reap_some; this is a more accurate name, since "some" incorrectly implies that it reaps at least one process. All uses changed. (reap_some): New function: it *does* reap at least one process. (pipe_fork): Do not allow more than NMERGE + 2 subprocesses. (mergefps, sort): Omit check for exited processes: no longer needed, and anyway the code consumed too much CPU per line when 2 < nprocs. 2010-12-16 Paul Eggert sort: fix hang with sort --compress * NEWS: Document this. * src/sort.c (UNCOMPRESSED, UNREAPED, REAPED): New constants. (struct tempnode): New member 'state', to hold these constants. The pid member is now undefined if state == UNCOMPRESSED. (struct sortfile): Replace member 'pid' with member 'temp'. (uintptr): Remove. (proctab_hasher, proctab_comparator, register_proc, delete_proc): Proctab entries are now struct tempnode *, not pid_t, to handle the case where multiple tempnode objects correspond to the same pid. This avoids a race condition that can cause a hang. (register_proc): Arg is now struct tempnode *, not pid_t. All callers changed. (delete_proc): Set tempnode state to REAPED. (create_temp_file): No need to set pid member here; it's now done when the pid is known. (maybe_create_temp, create_temp): Remove PPID arg. Return struct tempnode *, not char *. All callers changed. (maybe_create_temp): Set node state to UNCOMPRESSED or UNREAPED. No need to set node->pid to 0. (open_temp): Replace NAME and PID args with a single TEMP arg. All callers changed. Wait only for unreaped children. (zaptemp): Wait for decompressor to finish before removing its temporary-file input. This avoids .nfsXXXX hassles with NFS and fixes a race (leading to a hang) regardless of NFS. (open_input_files): Adjust to new way of dealing with temp files and their subprocesses. * tests/Makefile.am (TESTS): Add misc/sort-compress-hang. * tests/misc/sort-compress-hang: New file. sort: don't dump core when merging from input twice * NEWS: Document this. * src/sort.c (avoid_trashing_input): The previous fix to this function didn't fix all the problems with this code. Replace it with something simpler: just copy the input file. This doesn't change the number of files, so return void instead of the updated file count. Caller changed. * tests/misc/sort-merge-fdlimit: Test for the bug. 2010-12-14 Jim Meyering doc: tail: semi-deprecate --sleep-interval and --max-unchanged-stats Those options are useful only on systems that lack inotify support and in the unusual event that a system with inotify support must resort to polling. * src/tail.c (usage): Note that the --max-unchanged-stats=N and --sleep-interval=N options are rarely useful on systems with inotify support. * doc/coreutils.texi (tail invocation): Likewise. 2010-12-14 Paul Eggert sort: fix very-unlikely buffer overrun when merging to input file * src/sort.c (avoid_trashing_input): Fix a typo that could cause a buffer overrun in theory. In practice this is extremely unlikely, as it requires running out of file descriptors in a small merge, presumably because some other process is hogging all the OS's file descriptors. sort: document --compress reaper fixes * NEWS: Document the --compress reaper fixes installed yesterday. tests: default to /tmp as the temporary directory * tests/check.mk (TESTS_ENVIRONMENT): Default TMPDIR to /tmp, rather than to the working directory; this is more common in practice, which makes the tests more real-worldish; and it is often faster. Also, it avoids some problems with NFS cleanups. * tests/misc/sort-compress: Remove unnecessary code setting TMPDIR. * tests/misc/sort-compress-proc: Likewise. Do the final sleep only if TMPDIR is relative, which should be rarely given the change to TESTS_ENVIRONMENT. sort: fix some --compress reaper bugs * src/sort.c (uintptr): New type. (enum procstate, struct procnode, update_proc): Remove. (proctab_hasher, proctab_comparator, register_proc, wait_proc): (reap_some): The proctab is now simply a hash of process-IDs rather than of pointers to objects with reference counts and states; this is smaller and faster and easier to understand. (nprocs): Now pid_t, not size_t, since one cannot have more than PID_MAX children. (reap): If the argument is -1, wait; if 0 (a new value), do not. Delete pid from proctab as needed. Ignore children that are not in proctab, as they are from the program that exec'ed us and are irrelevant to our success or failure. (delete_proc, reap_all): New functions. (open_temp): Register the child. (sort): Clean up all children afterwards; without this patch, 'sort' sometimes missed failures in children due to race conditions. * tests/Makefile.am (TESTS): Add misc/sort-compress-proc. * tests/misc/sort-compress-proc: New file, to test for the bugs fixed above. 2010-12-13 Paul Eggert tests: typo fix * tests/misc/sort-stale-thread-mem: Fix typo in comment. 2010-12-13 Jim Meyering tests: tweak basic-1 to use warn_ rather than literal "exit 77" * tests/install/basic-1 (just_built_dd): Use warn_, rather than cat and exit 77. tests: mark new test as very expensive * tests/misc/sort-stale-thread-mem: Don't initialize fail=0 here; that is done in init.sh. This avoids a syntax-check failure. Invoke "Exit $fail" at end, too. Mark as a very expensive test. 2010-12-12 Paul Eggert tests: test for access to stale thread memory * tests/misc/sort-stale-thread-mem: New tests. * tests/Makefile.am (TESTS): Add it. 2010-12-11 Jim Meyering tests: avoid FP failure when run under valgrind * tests/misc/printenv: Filter out LD_PRELOAD, as the comment said, not LD_LIBRARY. sort: avoid segfault when using two or more threads This change does not fix the actual bug. That was done by commit c9db0ac6, "sort: preallocate merge tree nodes to heap". The fix was to store each "node" structure on the heap, not on the stack. Otherwise, a node from one thread's stack could be used in another thread after the first thread had expired (via pthread_join). This bug was very hard to trigger when using spinlocks, but easier once we began using mutexes. * NEWS (Bug fixes): Mention it. For details, see http://debbugs.gnu.org/7597. sort: syntax cleanup * src/sort.c (xfopen, debug_key, sortlines, sort, main): Adjust formatting: fix misplaced braces, use consistent spacing, split a 2-stmt line. 2010-12-11 Paul Eggert sort: integer overflow checks in thread counts, etc. * src/sort.c (specify_nthreads, merge_tree_init, init_node): (queue_init, sortlines, struct thread_args, sort, main): Use size_t, not unsigned long int, for thread counts, since thread counts are now used to compute sizes. (specify_nthreads): Check for size_t overflow. (merge_tree_init, sort): Shorten name of local variable, for readability. (merge_tree_init): Move constants next to each other in product, so that the constant folding is easier to see. (init_node): Now static. Add 'restrict' only where it might be helpful for compiler optimization. (queue_init): 2nd arg is now nthreads, not "reserve", which is a bit harder to follow. All uses changed. (struct thread_args): Rename lo_child to is_lo_child, so that it's obvious to the reader when we're talking about this boolean as opposed to the new lo_child member of the other structure. All uses changed. (sort): Remove unused local variable end_node. (main): Don't allow large thread counts to cause undefined behavior later, due to integer overflow. 2010-12-11 Chen Guo sort: preallocate merge tree nodes to heap. * src/sort.c: (merge_tree_init) New function. Allocates memory for merge tree nodes. (merge_tree_destory) New function. (init_node) New function. (sortlines) Refactor node creation code to init_node. Remove now superfluous arguments. All callers changed. (sort) Initialize/destory merge tree. Refactor root node creation to merge_tree_init. 2010-12-11 Paul Eggert sort: comment fix * src/sort.c: Comment fix re spin locks. 2010-12-11 Chen Guo sort: use mutexes, not spinlocks (avoid busy loop on blocked output) Running a command like this on a multi-core system sort < big-file | less would peg all processors at near 100% utilization. * src/sort.c: (struct merge_node) Change member lock to mutex. All uses changed. * tests/Makefile.am (XFAIL_TESTS): Remove definition, now that this test passes once again. I.e., the sort-spinlock-abuse test no longer fails. * NEWS (Bug reports): Mention this. Reported by DJ Lucas in http://debbugs.gnu.org/7489. 2010-12-08 Pádraig Brady split: fix a case where --elide-empty causes invalid chunking When -n l/N is used and long lines are present that both span partitions and multiple buffers, one would get inconsistent chunk sizes. * src/split.c (main): Add a new undocumented ---io-blksize option to support full testing with varied buffer sizes. (cwrite): Refactor most handling of --elide-empty to here. (bytes_split): Remove handling of --elide-empty. (lines_chunk_split): Likewise. The specific issue here was the first handling of elide_empty_files interfered with the replenishing of the input buffer. * test/misc/split-lchunk: Add -e and the new ---io-blksize combinations to the test. 2010-12-05 Jim Meyering tests: remove useless definition of $SORT in sort-compress * tests/misc/sort-compress (SORT): Remove unused definition. 2010-12-04 Jim Meyering tests: make it harder to lose a race in spinlock-abuse * tests/misc/sort-spinlock-abuse: On a busy system, with only 12 pauses of length 0.1 seconds, the buggy (busy-spinlock blocked) sort would fail to accumulate 1 second of CPU time, and hence would mistakenly pass. Increase from 12 to 50. 2010-12-04 Paul Eggert sort: merge_queue -> queue * src/sort.c (struct thread_args, sortlines_thread, sortlines, sort): Rename "merge_queue" to "queue", for consistency with other functions that just use the name "queue" for these things. sort: clarify queue_check_insert * src/sort.c (queue_check_insert): Clarify body a bit, and remove no-longer-needed comment. sort: fix problems with merge node dest pointer * src/sort.c (mergelines_node): Return void, not size_t. All callers changed. Change *node->dest here, not in caller. Do not change node->dest: it's not needed and could cause problems on (mostly theoretical) hosts that do not allow adding integers to null pointers. (queue_check_insert_parent): Omit MERGED parameter; no longer needed. All callers changed. sort: simplify write_unique * src/sort.c (write_unique): Simplify slightly so that there is just one call to write_line, not two. sort: put queue arg first * src/sort.c (queue_check_insert, queue_check_insert_parent): Make the queue arg first, for consistency with other functions such as queue_insert that put the queue arg first. Rename from check_insert and update_parent, respectively. All callers changed. sort: tune struct_merge_node slightly * src/sort.c (struct merge_node): 'lock' is now the actual lock, not a pointer to the lock; there's no need for indirection here. Make 'level' unsigned int instead of size_t, since it is a bit-shift count; also, move it next to a bool so that it's more likely to take less space. All uses changed. (sortlines, sort): Spell out initialization instead of using an initializer. This makes the initializer a bit easier to understand, and avoids unnecessary stores into the spin lock. sort: Clarify comments * src/sort.c: Improve comments a bit. 2010-12-03 Paul Eggert tests: cleanup rm -rf fails under NFS This problem was observed on RHEL 5.5 x86-64 when running as a client of a NetApp FAS2050. * tests/cp/cp-mv-backup: Don't leave a file descriptor open to a file in a directory that will be cleaned up with "rm -rf". Under NFS, when the rm unlinks that file, it is instead renamed to .nfsXXXX and then rm cannot remove the parent directory, and the test fails. * tests/cp/same-file: Likewise. cp: fix bug with fine-grained src to nearby coarse-grained dest The actual fix is in gnulib's lib/utimecmp.c. * NEWS: Document fix. build: update gnulib submodule to latest 2010-12-02 Paul Eggert sort: fix bug on 64-bit hosts with at least 32768 processors * src/sort.c (MAX_MERGE): Avoid integer overflow when on a machine with (say) 32-bit int and 64-bit size_t and when level == 15. Without this fix, on such a machine with 32768 or more processors, the level computation could overflow on large input, and this would result in division by zero. 2010-12-01 Jim Meyering tests: add test for parallel sort -u segfault bug * tests/misc/sort-unique-segv: New file. * tests/Makefile.am (TESTS): Add it. 2010-12-01 Paul Eggert sort -u: fix a thread-race pointer corruption bug * src/sort.c (write_unique): Save the entire "struct line", not just a pointer to one. Otherwise, with a multi-thread run, sometimes, with some inputs, fillbuf would would win a race and clobber a "saved->text" pointer in one thread just before it was dereferenced in a comparison in another thread. * NEWS (Bug fixes): Mention it. 2010-11-27 Jim Meyering tests: don't let the OMP_NUM_THREADS envvar affect sort tests * tests/envvar-check (vars): Add OMP_NUM_THREADS. tests: test for parallel sort spinlock abuse * tests/misc/sort-spinlock-abuse: New file. * tests/Makefile.am (TESTS): Add it. (XFAIL_TESTS): Mark this as an expected-to-fail (for now) test. 2010-11-27 Pádraig Brady tsort: suppress a valgrind memory leak warning * src/tsort.c (tsort): Unconditionally invoking the free() doesn't increase scalability, so do it only with -Dlint 2010-11-24 Pádraig Brady maint: update the valgrind support script * README-valgrind: Include the "noinst" programs in those wrapped by valgrind. Update $PATH in check.mk rather than Makefile.am. Make wrapper scripts work when suppressions not setup. Keep lines < 80 chars. 2010-11-22 Paul Eggert cp: give a better diagnostic for nonexistent dest/ This patch was written by Jim Meyering and myself. * src/copy.c (copy_reg): Turn EISDIR to ENOTDIR to improve the quality of diagnostics for commands like "cp a nosuch/". Reported by Марк Коренберг and Alan Curry in the thread starting at: http://lists.gnu.org/archive/html/bug-coreutils/2010-11/msg00178.html * THANKS: Update. * tests/mv/trailing-slash: Add a test. 2010-11-22 Chen Guo split: add --number to generate a particular number of files * src/split.c (usage, long_options, main): New options --number, --unbuffered, --elide-empty-files. (set_suffix_length): New function to auto increase suffix length to handle a specified number of files. (create): New function. Refactored from cwrite() and ofile_open(). (bytes_split): Add max_files argument to support byte chunking. (lines_chunk_split): New function. Split file into chunks of lines. (bytes_chunk_extract): New function. Extract a chunk of file. (of_info): New struct. Used by functions lines_rr and ofile_open to keep track of file descriptors associated with output files. (ofile_open): New function. Shuffle file descriptors when there are more output files than available file descriptors. (lines_rr): New function to distribute lines round-robin to files. (chunk_parse): New function. Parses K/N syntax. * tests/misc/split-bchunk: New test for byte chunking. * tests/misc/split-lchunk: New test for line delimited chunking. * tests/misc/split-rchunk: New test for round-robin chunking. * tests/Makefile.am: Reference new tests. * tests/misc/split-fail: Add failure scenarios for new options. * tests/misc/split-l: Fix a typo. s/ln/split/. * doc/coreutils.texi (split invocation): Document --number. * NEWS: Mention the new feature. * .mailmap: Map new email address for shortlog. 2010-11-19 Jim Meyering build: update gnulib to fix a syntax error in a test 2010-11-18 Jim Meyering maint: avoid NEWS-related syntax-check failure * NEWS: Add 2nd blank line to separate latest changes from those of 8.7, to avoid syntax-check failure. 2010-11-18 Paul Eggert od: fix bugs in displaying floating-point values * NEWS: Describe patch. * bootstrap.conf (gnulib_modules): Add ftoastr. * src/od.c: Include ftoastr.h, not float.h. (FLT_DIG, DBL_DIG): Remove. No need to verify LDBL_DIG. (FMT_BYTES_ALLOCATED): No need to worry about floating point now, since this format is no longer used for floating point. (PRINT_FIELDS): New macro, with most of the guts of the old PRINT_TYPE. (PRINT_TYPE): Rewrite to use PRINT_FIELDS. (PRINT_FLOATTYPE): New macro. This uses the new functions from ftoastr. (print_float, print_double, print_long_double): Reimplement using PRINT_FLOATTYPE. (decode_one_format): Calculate field widths based on ftoastr-supplied macros. * tests/Makefile.am (TESTS): Add misc/od-float. * tests/misc/od-float: New file. build: update gnulib submodule to latest 2010-11-18 Jim Meyering maint: syntax-check: prevent new $VERBOSE/--version tests * cfg.mk (sc_prohibit_verbose_version): New rule. 2010-11-17 Jim Meyering tests: convert tests/misc/selinux manually 2010-11-17 Jim Meyering tests: convert the multi-prog $VERBOSE/--version uses E.g., -test "$VERBOSE" = yes && { env -- pwd --version; readlink --version; } +print_ver_ pwd readlink -test "$VERBOSE" = yes && { stdbuf --version; mv --version; } +print_ver_ stdbuf mv Use this command: git grep -l 'VERBOSE.*--version'|xargs perl -ni \ -e '/^test "\$VERBOSE" = yes && { .*--version/ or print,next;' \ -e 's/env -- //g;' \ -e 's/test "\$VERBOSE" = yes && { /print_ver_ /;' \ -e ' s/(\w+) --version;/$1/g; s/ *}$//; print' 2010-11-17 Jim Meyering tests: convert "... env -- prog --version" uses E.g., -test "$VERBOSE" = yes && env -- pwd --version +print_ver_ pwd git grep -l 'VERBOSE.*--version'|xargs perl -pi -e \ 's/test "\$VERBOSE" = yes && env -- (\w+) --version/print_ver_ $1/' 2010-11-17 Jim Meyering tests: substitute the single-program $VERBOSE/--version uses Automatically make all of the changes like this: -test "$VERBOSE" = yes && chgrp --version +print_ver_ chgrp git grep -l 'VERBOSE.*--version'|xargs perl -pi -e \ 's/test "\$VERBOSE" = yes && (\w+) --version/print_ver_ $1/' 2010-11-17 Jim Meyering tests: factor out VERBOSE-only --version-printing code * tests/init.cfg (print_ver_): New function. tests: remove test-lib.sh; now all tests use gnulib's init.sh * tests/test-lib.sh: Remove file. No longer used. * tests/Makefile.am (EXTRA_DIST): Remove it here, too. * tests/sample-test: Correct a comment. tests: convert remaining uses of test-lib.sh to init.sh RHS='. "\${srcdir=.}/init.sh"; path_prepend_ ../src' git grep -l test-lib.sh \ | xargs perl -pi -e 's,^\. \$srcdir/test-lib\.sh$,'"$RHS", tests: convert 'if test "$VERBOSE" = yes; then' to test ... && 2010-11-17 Jim Meyering tests: convert first batch of tests from test-lib.sh to init.sh Initially, I did this, git grep -l srcdir/test-lib.sh|xargs perl -p0i -e '~180-byte script' but that line would have been much longer than the maximum permitted by coreutils' commit hook, and wasn't readable besides, so here's a more readable version: lhs=$(printf '%s\\n' \ 'if test "$VERBOSE" = yes; then' \ ' set -x' \ ' touch --version' \ 'fi' \ '' \ '. $srcdir/test-lib.sh' \ | sed 's/\$/\\\$/g;s/touch/(\\w+)/') rhs=$(printf '%s\\n' \ '. "${srcdir=.}/init.sh"; path_prepend_ ../src' \ 'test "$VERBOSE" = yes && FIXME --version' \ | sed 's/\$/\\\$/g;s/FIXME/\$1/') git grep -l srcdir/test-lib.sh|xargs perl -p0i -e "s,$lhs,$rhs," 2010-11-17 Jim Meyering tests: move a comment so automated conversion works maint: add a NEWS-checking syntax-check rule * cfg.mk (sc_NEWS_two_empty_lines): New syntax-check rule. 2010-11-16 Pádraig Brady build: add `patch` as a bootstrap dependency * bootstrap.conf (buildreq): require `patch` as it's used by gnulib-tool to apply local diffs to gnulib modules split: fail immediately if impossible to create a large file * src/split.c (main): Error if -[bC] value > OFF_T_MAX * tests/misc/split-fail: Adjust for the new lower limits truncate: fix a very unlikely case for undiagnosed errors src/truncate.c (main): Use a bool to store if an error occurred, rather than an int, to protect against overflow. (do_ftruncate): Likewise. Also change 0/false to mean failure rather than success. maint: fix a new -Wpointer-sign gcc warning * src/csplit.c (max_out): Fix a new warning introduced with commit 6568b173, 2010-11-10, "csplit: do not rely on..." 2010-11-16 Pádraig Brady build: enable the -Wpointer-sign gcc warning ... when configured with the --enable-gcc-warnings option. This follows on from commit 34ef0a01, 2010-10-14, "sort: fix unportable cast of unsigned char * -> char *" * configure.ac: -Wall implicitly enables this warning so remove the explicit disabling. 2010-11-15 Pádraig Brady maint: add a missed fadvise-tests module * gl/modules/fadvise-tests: Add the module previously missed in commit 63b5e816, 2010-07-14, "fadvise: new module ...". * gl/tests/test-fadvise.c: Add a comment as to why we don't check return values. 2010-11-13 Paul Eggert doc: tweak NEWS and coreutils.texi * doc/coreutils.texi (stat invocation): Add sentence-ending period. * NEWS: Correct stat change description: s/floating point //. * cfg.mk (old_NEWS_hash): Update, to match this NEWS change. 2010-11-13 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.7 * NEWS: Record release date. build: update gnulib... ...to fix the failing update-copyright test, and for the openat portability fix. build: update gnulib for linux 2.6.9 nanosleep workaround Also, do the following to avoid "make syntax-check" failure induced by new rules. * .x-sc_bindtextdomain: Exempt files with an #ifdef'd "main". * Makefile.am: Add this file. maint: remove fstimeprec (variable precision time stamp) support The implementation of variable-precision time stamps relied on heuristics that made the output subtly nondeterministic, or at least hard to reproduce: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/21531/focus=21538 So, for now at least, we're removing that feature. * bootstrap.conf (gnulib_modules): Remove fstimeprec. * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h: Remove files. * gl/modules/fstimeprec, gl/modules/fstimeprec-tests: Likewise. * gl/tests/test-fstimeprec.c: Remove file. stat: do not provide variable precision time stamps * src/stat.c: Don't include fstimeprec.c. (out_epoch_sec): Don't call fstimeprec. * NEWS: Update description. * doc/coreutils.texi: Likewise. 2010-11-11 Paul Eggert csplit: do not rely on undefined behavior in printf formats * doc/coreutils.texi (csplit invocation): Say that %d and %i are aliases for %u. * src/csplit.c (FLAG_THOUSANDS, FLAG_ALTERNATIVE): New constants. (get_format_flags): Now take char const * and int * and return size_t. It now stores info about the flags instead of merely scanning them. Also, it handles '0' correctly. Drop support for the undocumented '+' and ' ' flags since the value is unsigned. Add support for the (undocumented) "'" flag. All uses changed. (get_format_width, get_format_prec): Remove. (check_format_conv_type): Renamed from get_format_conv_type, with a different signature. It now converts the format to one that is compatible with unsigned int, and checks flags. All uses changed. (max_out): Have snprintf compute the number of bytes needed rather than attempting to do it ourselves (which doesn't work portably with outlandish formats such as %4294967296d). (check_format_conv_type, main): Check for overflow in size calculations. Don't assume size_t fits in unsigned int. * tests/misc/csplit: Check for proper handling of flags, with %0#6.3x. Coreutils 8.6 mishandles this somewhat-weird example. 2010-11-11 Pádraig Brady csplit: fix a memory leak per input buffer * src/csplit.c (free_buffer): Also free the line offsets buffers (remove_line): Also free the containing structure * tests/misc/csplit-heap: A new test to trigger with leaks of this magnitude. * tests/Makefile.am: Reference the new test * NEWS: Mention the fix Reported by David Hofstee 2010-11-10 Jim Meyering tests: fix comments and --version invocation in new test * tests/misc/csplit-1000: Fix comments and --version invocation. csplit: avoid buffer overrun when writing more than 999 files Without this fix, seq 1000 | csplit - /./ '{*}' would write the NUL-terminated file name, xx1000, into a buffer of size 6. * src/csplit.c (main): Use properly sized file name buffer. * NEWS (Bug fixes): Mention it. * tests/misc/csplit-1000: New test to trigger the bug. * tests/Makefile.am (TESTS): Add misc/csplit-1000. 2010-11-09 Pádraig Brady tests: avoid portability problem with dash vs. symlinked ttys * tests/mv/i-3: Adjust so that the symlink is resolved before redirecting to the background command, as otherwise the stdin descriptor passed to the command will fail the isatty() or ttyname() test. 2010-11-08 Pádraig Brady tests: avoid portability problem with dash vs. local v=$splittable_val * tests/init.cfg (retry_delay_): Adjust awk script to print a single floating point value, rather than many. 2010-11-07 Jim Meyering tests: don't disqualify FreeBSD 8.1's /bin/sh just yet, because dash-0.5.6-2.fc14.x86_64 would also be disqualified. This reverts part of yesterday's commit 6c058b2d, "tests: avoid failure due to bug in FreeBSD 8.1's /bin/sh". Note that the offending aspect of those shells is not officially a bug, since "local" is not specified by POSIX. However, it is very unintuitive that prepending "local" to an existing, standards-compliant assignment would evoke such a fundamental change in semantics. * tests/init.sh: Remove snippet requiring sane "local" support. Upstream dash bug report: http://thread.gmane.org/gmane.comp.shells.dash/419 2010-11-07 Paul Eggert stat: do not rely on undefined behavior in printf formats * src/stat.c (digits, printf_flags): New static vars. (make_format): New function. (out_string, out_int, out_uint, out_uint_o, out_uint_x): (out_minus_zero): Use it to avoid undefined behavior when invoking printf. (print_it): Check for invalid conversion specifications such as %..X and %1-X, which would otherwise rely on undefined behavior when invoking printf. * tests/misc/stat-nanoseconds: Check that the "I" printf flag doesn't mess up in the C locale, as it formerly did on non-GNU hosts. 2010-11-06 Jim Meyering tests: avoid failure due to bug in FreeBSD 8.1's /bin/sh * tests/init.sh: Arrange not to accept FreeBSD 8.1's /bin/sh, since it fails this test: /bin/sh -c 'f(){ local s=$IFS; test -n "$s"; }; f' * tests/init.cfg (sanitize_path_): Stop-gap measure to work around a bug in FreeBSD 8.1's /bin/sh. We'll un-do this change once all 300+ tests use init.sh. build: update gnulib to latest for strtod and icc fixes 2010-11-06 Paul Eggert stat: use e.g. %.3X instead of %X.%3:X for sub-second precision * NEWS: Document this. * doc/coreutils.texi (stat invocation): Likewise. * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h, gl/modules/fstimeprec: * gl/modules/fstimeprec-tests, gl/tests/test-fstimeprec.c: New files. * bootstrap.conf (gnulib_modules): Add fstimeprec. * src/stat.c: Include fstimeprec.h. Don't include xstrtol.h. (decimal_point, decimal_point_len): New static vars. (main): Initialize them. (epoch_sec, out_ns): Remove. (out_int, out_uint): Now returns whatever printf returned. (out_minus_zero, out_epoch_secs): New functions. (print_stat): Use out_epoch_sec instead of out_ns and epoch_sec. (print_stat, print_it, usage): Remove the %:X-style formats. * tests/misc/stat-nanoseconds: Set TZ=UTC0 to avoid problems with weird time zones. Use a time stamp near the Epoch so that we don't have to worry about leap seconds. Redo test cases to match new behavior. * tests/touch/60-seconds: Change %Y.%:Y to %.9Y, to adjust to new behavior. 2010-11-04 Eric Blake cp: NEWS entry for previous fix Resolves bug#7324 * NEWS: Document the extent of the Solaris crash. 2010-11-04 Eric Blake cp, mv, touch: fix file time manipulation on Solaris 10 * gnulib: Update to latest, for futimens fix. * .gitignore: Ignore another recent gnulib-generated file. 2010-11-03 Jim Meyering build: update gnulib to latest stat: revert %X-%Y-%Z change; use e.g., %:X to print fractional seconds This reverts part of the recent commit 9069af45, "stat: print timestamps to full resolution", which made %X, %Y, %Z print floating point numbers. We prefer to retain portability of %X, %Y and %Z uses, while still providing access to full-resolution time stamps via modified format strings. Also make the new %W consistent. * src/stat.c: Include "xstrtol.h". (print_it): Accept a new %...:[XYZ] format directive, e.g., %:X, to print the nanoseconds portion of the corresponding time. For example, %3.3:Y prints the zero-padded, truncated, milliseconds part of the time of last modification. (print_it): Update print_func signature to match. (neg_to_zero): New helper function. (epoch_time): Remove function; replace with... (epoch_sec): New function; use timetostr. (out_ns): New function. Use "09" only when no other modifier is specified. (print_statfs): Change type of "m" to unsigned int, now that it must accommodate values larger than 255. (print_stat): Likewise. Map :X to a code of 'X' + 256. Likewise for Y, Z and W. (usage): Update. * tests/touch/60-seconds: Use %Y.%:Y in place of %Y. * tests/misc/stat-nanoseconds: New file. * tests/Makefile.am (TESTS): Add it. * NEWS (Changes in behavior): Mention this. With improvements by Pádraig Brady. Thanks to Andreas Schwab for raising the issue. 2010-11-01 Nix tests: fix a false positive for 32 bit on 64 bit hosts * tests/ls/stat-free-symlinks: strace currently outputs an informational message about arch difference to stdout. Therefore we need to strip that before comparison. 2010-10-28 Patrick W. Plusnick II maint: remove an unnecessary FIXME comment * src/seq.c (terminator): This does not need to be specifiable via an option. Remove the FIXME comment. 2010-10-27 Pádraig Brady cp: make --attributes-only override --reflink completely * doc/coreutils.texi (cp invocation): Change the description slightly so as users might not immediately discount using this option. Mention that --reflink is overridden by the other linking options and --attributes-only, and give an example where this might be useful. * src/copy.c (copy_internal): Bypass the reflink if --attributes-only is specifed. * tests/cp/reflink-perm: Ensure both --reflink modes are overridden by --attributes-only. * NEWS: Mention the change in behavior. Reported by Jim Meyering. 2010-10-26 Jim Meyering tests: mention that btrfs also causes failure of misc/ls-time * tests/misc/ls-time: Mention that this test also fails on btrfs, at least until http://bugzilla.redhat.com/591068 is addressed. 2010-10-25 Eric Blake maint: update THANKS * THANKS: Update. 2010-10-25 Tobias Quathamer date: correct typos in date --help * src/date.c (usage): Use "e.g." correctly. 2010-10-25 Pádraig Brady tail: support rechecking currently missing remote dirs src/tail.c (main): As an optimization, don't bother checking for stdin or remote files, when ---disable-inotify is specified. To improve the fix in commit 61b77891, set the disable_inotify flag when we fall back to polling, so that we recheck remote files. NEWS: Mention the fix 2010-10-24 Paul Eggert du: don't print junk when diagnosing out-of-range time stamps * src/du.c (show_date): Fix call to fputs with a buffer that contains some uninitialized data. * tests/Makefile.am (TESTS): Add du/big-timestamp. * tests/du/bigtime: New file, which checks for the bug. 2010-10-20 Rodrigo Campos doc: add a cross reference from cat's man page to "tac" * man/cat.x: See also "tac". 2010-10-19 Jim Meyering tests: trigger and test for md5sum's new diagnostics * tests/misc/md5sum: Test for new diagnostics. 2010-10-19 Benno Schulenberg md5sum: print a summary warning for improperly formatted lines And remove the now-superfluous totals from the other two warnings, so the plurals will also work in other languages than English. * src/md5sum.c (digest_check): Change as above. * tests/misc/md5sum (check-quiet2): Adjust accordingly. 2010-10-18 Jim Meyering build: enable -Werror for gnulib-tests, too * gnulib: Update to latest for warning-free tests. * gnulib-tests/Makefile.am (AM_CFLAGS): Uncomment $(WERROR_CFLAGS), now that these tests are warning-free. 2010-10-17 Jim Meyering maint: update bootstrap from gnulib * bootstrap: Update from gnulib. .gitignore: anchor patterns * .gitignore: Anchor most patterns. Remove .tarball-version. * doc/.gitignore: Anchor all patterns. Remove getdate.texi and get_date.texi. tests: sort-float: avoid spurious test failure on ppc/ppc64 * tests/misc/sort-float: On systems with DBL_MIN < LDBL_MIN, this test would fail because the expected output was not sorted. Detect that case, and if needed, reverse those two values. 2010-10-16 Andreas Schwab fold: fix fadvise hint * src/fold.c (fold_file): Apply fadvise to istream, not stdin. This bug would have inhibited the fadvise optimization when not reading from standard input. 2010-10-15 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.6 * NEWS: Record release date. build: update gnulib for vasnprintf fix 2010-10-14 Paul Eggert bug#7213: [PATCH] sort: fix buffer overrun on 32-bit hosts when warning re obsolete keys * src/sort.c (key_warnings): Local buffer should be of size INT_BUFSIZE_BOUND (uintmax_t), not INT_BUFSIZE_BOUND (sword). This bug was discovered by running 'make check' on a 32-bit Solaris 8 sparc host, using Sun cc. I saw several other instances of invoking umaxtostr on a buffer declared to be of size INT_BUFSIZE_BOUND (VAR), and these instances should at some point be replaced by INT_BUFSIZE_BOUND (uintmax_t) too, as that's a less error-prone style. tests: work around portability and clock-skew problems * tests/misc/ls-misc (push_ls_colors): Don't assume LS_COLORS is set. This part of the fix is by Jim Meyering. (sl-dangle2, sl-dangle3, sl-dangle4, sl-dangle5): Don't assume that newly-created files will have time stamps in the past. They might not, due to clock skew, if the file systems are remote. http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/21322/focus=21346 install: avoid warning with Solaris 10 cc * src/install.c (extra_mode): Don't assign ~S_IRWXUGO & ~S_IFMT to a mode_t variable, as the number might be too big to fit. Solaris 10 cc warns about this, and the C standard says it has undefined behavior. mbsalign: avoid warning with Solaris 10 cc * gl/lib/mbsalign.c: Include for SIZE_MAX. Use SIZE_MAX rather than (size_t) -1, to avoid warning for "size_t x = -1" on Solaris 10 cc. * gl/modules/mbsalign (Depends-on): Add stdint. sort: fix unportable cast of unsigned char * -> char * * src/sort.c (fold_toupper): Change this back from char to unsigned char, fixing a portability issue introduced in commit 59e2e55d0f154a388adc9bac37d2b45f2ba971f8 dated February 26, as the C Standard doesn't let you convert from unsigned char * to char * without a cast, and the (in theory more portable) style here is to convert char values, not pointer values. (getmonth): Convert char to unsigned char when needed for comparison. 2010-10-13 Jim Meyering build: prepare to enable -Werror also for gnulib-tests/ * configure.ac (GNULIB_WARN_CFLAGS): Define new variable, for use in gnulib-tests. * gnulib-tests/Makefile.am: Disable specific -W___ options, but only for a few specific offending tests: (test_xvasprintf_CFLAGS): Define. (test_lock_CFLAGS, test_tls_CFLAGS): Define. 2010-10-13 Paul Eggert tests: fix rand-isaac test * gl/tests/test-rand-isaac.c (main): Fix swapped arguments to strtol. 2010-10-12 Pádraig Brady tail: fix checking of currently unavailable directories * src/tail.c (tail_forever_inotify): Handle the case where tail --follow=name with inotify, is not able to add a watch on a specified directory. This may happen due to inotify resource limits or if the directory is currently missing or inaccessible. In all these cases, revert to polling which will try to reopen the file later. Note inotify returns ENOSPC when it runs out of resources, and instead we report a particular error message, lest users think one of their file systems is full. (main): Document another caveat with using inotify, where we currently don't recheck directories recreated after the initial watch is setup. * tests/tail-2/F-vs-rename: Fix the endless loop triggered by the above issue. * tests/tail-2/inotify-hash-abuse: Likewise. * tests/tail-2/wait: Don't fail in the resource exhaustion case. * tests/tail-2/F-vs-missing: A new test for this failure mode which was until now just triggered on older buggy linux kernels which returned ENOSPC constantly from inotify_add_watch(). * NEWS: Mention the fix. 2010-10-11 Jim Meyering build: update gnulib to latest; to fix failing Solaris 5.11 test maint: add new file: .mailmap * .mailmap: Map git author names and email addresses to canonical/preferred form. This file is used e.g., by "git shortlog". 2010-10-08 Jim Meyering build: update gnulib, to fix OpenBSD test failures build: update gnulib to latest; for parse-datetime.y fix build: update gnulib to latest, to avoid FreeBSD compilation failure: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/23501 2010-10-07 Pádraig Brady split: fix reporting of read errors The bug was introduced with commit 23f6d41f, 19-02-2003. * src/split.c (bytes_split, lines_split, line_bytes_split): Correctly check the return from full_read(). * tests/misc/split-fail: Ensure split fails when it can't read its input. * NEWS: Mention the fix. 2010-10-06 Jim Meyering build: update gnulib to latest, for memmem/strstr fix 2010-10-05 Jim Meyering maint: describe coreutils' policy on copyright year number ranges * README: Mention coreutils' long-standing policy on use of M-N ranges in copyright year lists. Requested by Richard Stallman. 2010-10-05 Eric Blake build: complete the rename of get_date * gnulib: Update to latest. * src/date.c (includes, batch_convert, main): Track rename. * src/touch.c (includes, get_reldate): Likewise. * doc/coreutils.texi (Top, Date input formats): Likewise. * bootstrap.conf (gnulib_modules): Likewise. * doc/Makefile.am (EXTRA_DIST): Likewise. * doc/.gitignore: Likewise. * bootstrap: Synchronize from upstream. stat: drop %C support when printing file system details * src/stat.c (print_statfs, usage): Drop %C, since it applies to files, not file systems. (out_file_context): Match style of other out_* functions. (print_stat): Update caller. * doc/coreutils.texi (stat invocation): Document %C. * NEWS: Document the change. build: fix build on Solaris 10 * gnulib: Update to latest, for reduced -lgen scope. * bootstrap: Synchronize from upstream. Reported by Clemens Brogi, as bug #7142. 2010-10-05 Pádraig Brady stat: adjust the printing of SELinux context * src/stat.c (default_format): Don't print SELinux context when in file system (-f) mode, as the context is associated with the file, not the file system. Fix logic inversion, so that in terse mode, %C is included only when is_selinux_enabled and not vice versa. 2010-10-04 Pádraig Brady tests: refactor the stat-birthtime test to use retry_delay_ * tests/misc/stat-birthtime: This recently added test fits the pattern of requiring a delay to pass, so get it to use retry_delay_() 2010-10-03 Jim Meyering maint: add a release prerequisite: check the NixOS/Hydra autobuilder * README-release: Add a note to check the autobuilder. build: update gnulib submodule to latest maint: suppress a bogus used-uninitialized warning in tr.c * src/tr.c (string2_extend): Insert an abort call to tell gcc that char_to_repeat is not used uninitialized. 2010-10-01 Eric Blake tests: output --version of program under test This touches all new tests added since commit b062bbd9, when init.cfg was added. Older tests still exist that could use conversion, but we can address those later. * tests/sample-test: Restore hint for --version output. * tests/misc/stat-birthtime: Include --version if verbose. * tests/misc/tr-case-class: Likewise. * tests/misc/stat-mount: Likewise. * tests/misc/sort-unique: Likewise. * tests/misc/sort-benchmark-random: Likewise. Suggested by Jim Meyering. 2010-10-01 Eric Blake stat: print SELinux context when available * src/stat.c (default_format): Include context when present. * NEWS: Update blurb explaining the replacement for -Z. 2010-10-01 Eric Blake stat: optimize and translate default format strings Yes, this patch intentionally leaks the results of default_format(), since it is called only twice, and since the results are in scope until main() exits. Not worth the extra code to pacify valgrind. * src/stat.c (main): Hoist default format computation out of loop. (do_statfs, do_stat): Move default format generation... (default_format): ...into new function. Allocate the result in pieces, rather than repeating mostly-similar chunks. Allow translation of verbose format. Pass a second format to do_stat, for the one aspect of the default format that is conditional on file type. * NEWS: Document the translation aspect. 2010-10-01 Eric Blake stat: print timestamps to full resolution * src/stat.c (epoch_time): New function. (print_stat): Use it for %[WXYZ]. * NEWS: Document this. * tests/touch/60-seconds: Adjust test to match. * tests/misc/stat-birthtime: Likewise. stat: support printing birthtime * src/stat.c (print_stat): New %w and %W formats. (do_stat): Include %w in default format. (usage): Document new specifiers. * doc/coreutils.texi (stat invocation): Likewise. * NEWS: Likewise. maint: update sample test template * tests/sample-test: Recommend modern idiom. 2010-10-01 Pádraig Brady maint: ensure the mbsalign module is C89 compatible This module may be moved to gnulib at some stage, so keep it C89 compatible. * gl/lib/mbsalign.c (mbsalign): Declare variables at start of scope (ambsalign): Likewise * gl/lib/mbsalign.h: Remove trailing comma from enum Reported by Andrei Suhan 2010-09-30 Eric Blake maint: update gnulib * gnulib: Update to latest. * doc/coreutils.texi (date): Reflect new module name. * doc/Makefile.am (EXTRA_DIST): Likewise. * doc/.gitignore: Likewise. maint: update gnulib * gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Reflect new module name. * bootstrap: Resync from upstream. 2010-09-30 Jim Meyering maint: mention the du-exclude--vs--cycle-dir fix * NEWS (Bug fixes): Mention the du-exclude--vs--cycle-dir fix. Reported by Graham Cobb in http://bugs.debian.org/598438, that bug was fixed by the 2010-07-24 commit, 77428214f, "du: tune, and fix some -L bugs with dangling or cyclic symlinks" 2010-09-29 Jim Meyering build: update gnulib submodule to latest 2010-09-29 Pádraig Brady tr: fix various issues with case conversion This valid translation spec aborted: LC_ALL=en_US.iso-8859-1 tr '[:upper:]- ' '[:lower:]_' This invalid translation spec aborted: LC_ALL=en_US.iso-8859-1 tr '[:upper:] ' '[:lower:]' This was caused by commit 6efd1046, 05-01-2008, "Avoid tr case-conversion failure in some locales" This misaligned conversion spec was allowed: LC_ALL=C tr 'A-Y[:lower:]' 'a-z[:upper:]' This was caused by commit af5d0c36, 21-10-2007, "tr: do not reject an unmatched [:lower:] or [:upper:] in SET1" This misaligned spec was allowed by extending the class: LC_ALL=C tr '[:upper:] ' '[:lower:]' * src/tr.c (validate_case_classes): A new function to check alignment of case conversion classes. Also it adjusts the length of the sets so that locales with different numbers of upper and lower case characters, don't cause issues. (string2_extend): Disallow extending the case conversion class as in the above example. That is locale dependent and most likely not what the user wants. (validate): Do the simple test for "restricted" char classes earlier, so we don't redundantly do more expensive validation. (main): Remove the case class validation, and simplify. * tests/misc/tr-case-class: A new test to test the various alignment and locale issues, associated with case conversion. * tests/misc/tr: Move case conversion tests to new tr-case-class. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fixes. 2010-09-21 Paul Eggert build: update gnulib submodule to latest 2010-09-20 Paul Eggert sort: destroy spin locks portably * src/sort.c (sortlines, sort): Use pthread_spin_destroy when a spin lock is no longer used. This isn't needed on GNU/Linux or Solaris, but POSIX says it may free up resources on some platforms. 2010-09-20 Pádraig Brady tests: fix a printf portability issue * tests/misc/sort-debug-keys: Don't depend on printf supporting \xhh format, which isn't supported by dash for example. Also change from double quoted strings to single quoted, when we don't need any variable interpolation. tests: fix an erroneous stat failure with bind mounts * tests/misc/stat-mount: Don't try to correlate the mount points output by df and stat, as they're similar, but sometimes different in the presence of bind mounts. * doc/coretuils.texi (stat invocation): Clarify the bind mount difference between stat and df. 2010-09-18 Jim Meyering build: update gnulib submodule to latest tests: sync tests/init.sh from gnulib * tests/init.sh: Update from gnulib. build: use gnulib's new termios module With it, we can remove the two sole tests of HAVE_TERMIOS_H. * bootstrap.conf (gnulib_modules): Add termios. * src/ls.c: Don't test HAVE_TERMIOS_H. * src/stty.c: Likewise. * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove configure-time test for termios.h. maint: don't use obsolete gnulib modules * bootstrap.conf (gnulib_modules): Use calloc-gnu, malloc-gnu and realloc-gnu modules, rather than calloc, malloc and realloc. The shorter-named modules are now deprecated. (obsolete_gnulib_modules): Remove. (gnulib_modules): Remove raise, strbprk; they're obsolete, too. Move strtod, strtol here, from obsolete_gnulib_modules. 2010-09-17 Eric Blake maint: update to latest gnulib * gnulib: Update to latest. * src/copy.c (copy_reg): Use fdutimens instead of gl_futimens. * src/touch.c (touch): Adjust parameter order. * tests/init.sh: Resync from upstream. rm: remove no-op -d option * src/rm.c (long_opts, main): Resolve a fixme. * NEWS: Document the change. Based on a report by William Plusnick. maint: update to latest gnulib * gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Add fdutimensat. * src/touch.c (touch): Use fdutimensat instead of gl_futimens. 2010-09-13 Dmitry V. Levin dircolors: add rxvt-unicode-256color terminal type rxvt-unicode introduced new terminal type: http://cvs.schmorp.de/rxvt-unicode/src/rxvt.h?r1=1.398&r2=1.399 * src/dircolors.hin: Add rxvt-unicode-256color terminal type. Reported by Alexey I. Froloff in . 2010-09-07 Pádraig Brady tests: work around a failure with dash 0.5.4 * tests/misc/env: Check that the shell can support the operation, before filtering through `env`. Note dash 0.5.5 is unaffected by this issue. tests: make various timeouts more robust * tests/init.cfg (retry_delay_): Describe the backoff method used. * tests/ls/readdir-mountpoint-inode: Add a timeout to the stat call to eliminate the chance of hangups. * tests/mv/i-3: Change the timeout required to pass from 1 second to a range of .1s - 3.1s. * tests/rm/dangling-symlink: Likewise. 2010-09-07 Pádraig Brady tests: exclude some tests when running on NFS All tests currently pass on NFS on Linux kernel 2.6.22 at least, but some fail on 2.6.9, so we exclude those here. * tests/init.cfg (is_local_dir_): A new function returning if the specified directory is on a local file system. (require_local_dir_): A new function to skip tests if the current directory is not on a local file system. * tests/cp/existing-perm-race: Skip if non local. * tests/cp/file-perm-race: Likewise. * tests/cp/parent-perm: Likewise. * tests/cp/parent-perm-race: Likewise. * tests/cp/preserve-2: Likewise. * tests/mv/part-symlink: Likewise. * tests/du/basic: Use refactored function. * tests/install/basic-1: Likewise. * tests/mkdir/p-3: Likewise. * tests/dd/skip-seek-past-dev: Likewise. * tests/du/slink: Likewise. Remove redundant test for NFS file system. * tests/misc/join: s/local/locale/. 2010-09-04 Jim Meyering build: update gnulib submodule to latest build: use gettext-h, not gettext * bootstrap.conf (gnulib_modules): Use gettext-h, not gettext. The latter is overkill for a package that uses AM_GNU_GETTEXT([external]... 2010-09-01 Jim Meyering tac: suppress technically unneeded "free" * src/tac.c (main): Guard final free with #ifdef lint. Suggested by Paul Eggert. 2010-09-01 Pádraig Brady join: improve performance when operating on whole lines Following on from commit f86bb696, 01-02-2010, "join: make -t '' operate on the whole line". Bypassing the delimiter search in this case, gives about an 8% performance boost. * src/join (xfields): Don't bother looking for '\n' in the data, which we know won't be present. 2010-08-28 Jim Meyering tac: avoid double free * src/tac.c (main): Reading a line longer than 16KiB would cause tac to realloc its primary buffer. Then, just before exit, tac would mistakenly free the original (now free'd) buffer. This bug was introduced by commit be6c13e7, "maint: always free a buffer, to avoid even semblance of a leak". * NEWS (Bug fixes): Mention it. * tests/misc/tac (double-free): New test, to exercise this. Reported by Salvo Tomaselli in . 2010-08-27 Pádraig Brady doc: clarify that stat -f implies -L (follows symlinks) * doc/coreutils.texi (stat invocation). Since there is no lstatfs, document that -L is implicit with -f. 2010-08-27 Aaron Burgemeister stat: add %m to output the mount point for a file * src/find-mount-point.c: A new file refactoring find_mount_point() out from df.c * src/find-mount-point.h: Likewise. * src/df.c: Use the new find-mount-point module. * src/stat.c (print_stat): Handle the new %m format. (find_bind_mount): A new function to return the bind mount for a file if any. (out_mount_mount): Print the bind mount for a file, or else the standard mount point given by the find-mount-point module. (usage): Document the %m format directive. * src/Makefile.am: Reference the refactored find-mount-point.c * po/POTFILES.in: Add find_mount_point.c to the translation list * doc/coreutils.texi (stat invocation): Document %m, and how it may differ from the mount point that df outputs. * test/misc/stat-mount: A new test to correlate mount points output from df and stat. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature * THANKS: Add the author 2010-08-26 Eric Blake maint: update to latest gnulib * gnulib: Update to latest, to avoid warnings with latest autoconf.git. maint: avoid a hung 'make syntax-check' in VPATH build * cfg.mk (sc_system_h_headers): Look for files in correct location. 2010-08-25 Pádraig Brady df: always print the device name for bind mounted files * src/df (show_point): Remove the optimization for comparing the specified path with the device name, as this produces inconsistent results in the presence of bind mounts. For bind mounts, the device name is populated with the bind mount target. * NEWS: Mention the change in behavior. 2010-08-23 Pádraig Brady stat: fix a small memory leak with %N * src/stat.c (print_stat): Free the buffer returned from areadlink_with_size(). 2010-08-15 Pádraig Brady maint: exclude tests from the set_program_name syntax-check * .x-sc_program_name: Exclude all current and future c files in gl/tests from this check * gl/tests/test-di-set.c: Remove the hack to work around the set_program_name syntax-check * gl/tests/test-ino-map.c: Likewise * gl/tests/test-rand-isaac.c: Likewise 2010-08-15 Ralf Wildenhues doc: avoid a warning from newer texinfo * doc/coreutils.texi (sort invocation): Use @pxref inside parentheses. 2010-08-15 Bruno Haible doc: improve the info on md5sum security weaknesses * doc/coreutils.texi (md5sum invocation): Mention currently known security problems. Don't recommend SHA-1 as alternative. * man/md5sum.x (BUGS): Warn about the vulnerabilities and reference the SHA-2 based alternatives. Reported by Simon Josefsson 2010-08-13 Paul Eggert * tests/misc/sort (use-nl): Fix comment to match the test case. 2010-08-11 Paul Eggert sort, who: prefer free+malloc to realloc when contents are irrelevant This change was prompted by the previous one: I audited the code looking for similar examples. Too bad valgrind doesn't catch this. * src/sort.c (check, mergefps): xrealloc -> free + xmalloc * src/who.c (print_user): Likewise. 2010-08-10 Paul Eggert sort: free/xmalloc rather than xrealloc * src/sort.c (compare_random): Use free/xmalloc rather than xrealloc, since the old buffer contents need not be preserved. Also, don't fail if the guessed-sized malloc fails. Suggested by Bruno Haible. 2010-08-10 Eric Blake build: update to latest gnulib Fixes bug 6053 for NFS on HP-UX not recognizing ACL operations. * gnulib: Update to latest version. 2010-08-10 Jim Meyering sort: avoid gcc warning: explicitly ignore strtold result * src/sort.c: Include "ignore-value.h". (debug_key): Use ignore_value. 2010-08-09 Eric Blake tests: silence 'make syntax-check' * gl/tests/test-rand-isaac.c (main): Avoid warnings from syntax-check. 2010-08-09 Mike Frysinger dircolors: add screen.rxvt & terminator to TERM list Resolves bug#6793. * src/dircolors.hin: Add screen.rxvt & terminator. 2010-08-09 Dan Hipschman ls: fix a test failure that should have been skipped * tests/ls/readdir-mountpoint-inode: Check to see if skip_test_ is called in a helper function via $() instead of mistakenly failing. * THANKS: Update. 2010-08-09 Paul Eggert sort: speed up -R with long lines in hard locales * src/sort.c (compare_random): Guess that the output will be 3X the input. This avoids the overhead of calling strxfrm twice on typical implementations. Suggested by Bruno Haible. 2010-08-07 Paul Eggert sort: support all combinations of -d, -f, -i, -R, and -V * NEWS: Document this. * src/sort.c (getmonth): Omit LEN arg, as MONTH is now null-terminated. (compare_random): Don't null-terminate keys, as caller now does that. (compare_version): Remove. (debug_key): Null-terminate string for getmonth. (keycompare): Support combining -R with any of -d, -f, -i, -V. Also, support combining -V with any of -d, -i. (check_ordering_compatibility): Allow newly-supported combinations. * tests/misc/sort (02q, 02r, 02s): New tests, for new combinations. (incompat2): Now test -nR, since -fR are now compatible. 2010-08-05 Paul Eggert sort: tune and refactor --debug code, and fix minor underlining bug Formerly, the 'compare' function and some of its subroutines had a debugging flag, which caused them to output underlines. This change refactors the code so that debugging output is more-separated from the actual sorting. In the process, the change fixes a minor error in the debugging output. The change shortens the source code and executable size a tad, and improves CPU performance by 2.4% on my platform with a simple benchmark (C locale, line sorting, no debug). * src/sort.c (long_double, strtold): Move back to prelude, since they're now used by multiple functions again. (unit_order): Move to file scope, since it's now used by two functions. (find_unit_order, human_numcompare, numcompare, general_numcompare): Remove endptr parameter. All callers changed. (human_numcompare): Args are now const pointers. (getmonth): Endptr is now non-const. (key_numeric): Move up, since it's needed earlier. (debug_key): Take a line and a key as argument, instead of having the caller figure out where the field is. (debug_line): New function. (keycompare, compare): Omit debug parameter; debug output now done elsewhere. All callers changed. (write_line): Renamed from write_bytes; all callers changed. Use debug_line (not 'compare') to output debug info. Use a slightly faster check for whether output file is stdout. (check): Don't do debugging output; it's not that useful here, and it confuses the code. (main): Check for incompatibility between -c and --debug. Use standard diagnostic for incompatible options. * tests/misc/sort-debug-keys: Fix test case: "--Mi-1" is not a number, so its first character should not be underlined when debugging a numeric sort. 2010-08-05 Paul Eggert sort: -R now uses less memory on long lines with internal NULs * lib/Makefile.am (libcoreutils_a_SOURCES): Remove xmemxfrm.c, xmemxfrm.h. * lib/memxfrm.c, lib/memxfrm.h, lib/xmemxfrm.c, lib/xmemxfrm.h: Remove. * m4/memxfrm.m4: Likewise. * m4/prereq.m4 (gl_PREREQ): Remove gl_MEMXFRM. * po/POTFILES.in: Remove lib/xmemxfrm.c. * src/sort.c: Don't include xmemxfrm.h. (cmp_hashes): Remove. (xstrxfrm): New function. (compare_random): If a line contains NULs, don't create a big buffer that contains the strxfrm output of each string in the line. Instead, accumulate checksums and differences as we go, so that at any one time we have to store at most the output of a single strxfrm call when processing the line. This removes the need for an memxfrm function. 2010-08-03 Paul Eggert init.sh: work around trap limitation of some shells * tests/init.sh (setup_): Move exit trap outside of shell function. This patch is imported from gnulib. sort: fix bug in --debug when \0 is followed by \t * src/sort.c (debug_width): New function, which does not stop counting tabs at \0, and also invokes mbsnwidth. Stamp out strnlen! (count_tabs): Remove. (debug_key): Use debug_width instead of mbsnwidth and count_tabs. * tests/misc/sort-debug-keys: Check that \0 and \t intermix. sort: revert recent -h changes and use a more-conservative approach * NEWS: Document changes to sort -h, which are now minor with respect to the pre-July-30th version. * doc/coreutils.texi (sort invocation): Likewise. The documentation now describes how -h comparison is done rather than being vague with border cases. * src/sort.c (long_double, strtold): Move back to general_numcompare. (LD, compute_human): Remove. (find_unit_order): Remove THOU_SEP parameter, since thousands separators are now allowed by all callers. Revert to previous behavior of sorting by suffix, and returning the order rather than 2 * order + binary, since we no longer care whether binary powers are being used. However, treat all zeros the same, instead of sorting 0M before 0G; this is more consistent with the desired behavior of sorting -1G before -1M. * tests/misc/sort (h1, h3, h6): Adjust to match mostly-reverted behavior. However, check that all zeros sort together. * tests/misc/sort-debug-keys: Omit a "_", since the trailing "i" in "1234Gi" is no longer part of the key. 2010-07-30 Paul Eggert sort: -h now handles comparisons such as 6000K vs 5M and 5MiB vs 5MB * NEWS: Document changes to sort -h. * doc/coreutils.texi (sort invocation): Likewise. * src/sort.c (long_double, strtold): Move to prelude, since they're now used by multiple functions. (LD): New macro. (struct keyfield.iec_present): Remove this member. All uses removed. (check_mixed_SI_IEC): Remove. This code was busted in the presence of multiple threads, as it had a race condition. (find_unit_order): Remove arg KEY; add arg THOU_SEP; arg ENDPTR is now char ** rather than char const **. Return an integer that distinguishes decimal from binary powers. Parse the number consistently with the intersection of strtold and strnumcmp. Set *ENDPTR unconditionally. (compute_human): New static function. (human_numcompare): Remove arg KEY. Remove 'const' from other args. Use strnumcmp if possible, but fall back on floating point if not. (numcompare, general_numcompare): Arg EA is now char ** rather than char const **. (numcompare): Adjust to new find_unit_order signature and behavior. (keycompare): Adjus to new human_numcompare signature. * tests/misc/sort (h1, h3, h4, h6): Adjust to new behavior. * tests/misc/sort-debug-keys: Likewise. 2010-07-27 Paul Eggert sort: fix --debug display with very large offsets * src/sort.c (mark_key): Don't assume offset <= INT_MAX. Make the code a bit clearer when width != 0. sort: fix bug with EOF at buffer refill * src/sort.c (fillbuf): Don't append eol unless the line is nonempty. This fixes a bug that was partly but not completely fixed by the aadc67dfdb47f28bb8d1fa5e0fe0f52e2a8c51bf commit (dated July 15). * tests/misc/sort (realloc-buf-2): New test, which catches this bug on 64-bit hosts. sort: omit some "inline"s * src/sort.c (mergelines, queue_destroy, queue_init, queue_insert): (queue_pop, write_unique, mergelines_node, check_insert): (update_parent): No longer inline; these uses of "inline" seemed unlikely to help performance much. 2010-07-26 Paul Eggert sort: don't assume ASCII when parsing K, M, G suffixes * src/sort.c (find_unit_order): Don't assume ASCII. 2010-07-26 Paul R. Eggert sort: make struct heap private * gl/lib/heap.c (struct heap): Move this here... * gl/lib/heap.h (struct heap): ... from here, as outside code no longer needs to access any of these members. sort: omit unnecessary mutex unlock+lock; simplify heap access * src/sort.c (queue_pop): Omit unnecessary unlock+lock after pthread_cond_wait returns. Don't access "count" member of the heap; any efficiency gains should be quite minor, the access complicates this code, and "count" should be private anyway. sort: omit 'restrict' in doubtful cases * src/sort.c (lock_node, unlock_node, queue_destroy, queue_init): (queue_pop): Omit 'restrict'; it shouldn't help here, as these functions have just one pointer parameter and don't access static storage. (queue_insert, check_insert, update_parent): Omit 'restrict', as the pointer types differ, and are not char * or unsigned char *, and therefore can't alias. (write_unique): Omit 'restrict', as the pointer types are all read-only. (merge_loop, sortlines): Omit 'restrict', as any performance advantages are extremely unlikely and it's not worth cluttering the code for that. (struct thread_args): Omit 'restrict': this seems to be incorrect. It's unlikely for 'restrict' to be correct inside a typedef. sort: omit unnecessary casts * src/sort.c (inittables, general_numcompare, compare_nodes): (queue_init, queue_pop): Omit casts that are not needed, typically because they are between void * and some other pointer type. sort: use more-consistent style with const * src/sort.c (proctab_hasher, proctab_comparator, stream_open, xfopen): (open_temp, zaptemp, struct_month_cmp, begfield, limfield): (find_unit_order, human_numcompare, numcompare, general_numcompare): (count_tabs, keycompare, compare, compare_nodes, lock_node): (unlock_node, queue_destroy, queue_init, queue_insert, queue_pop): (write_unique, mergelines_node, check_insert, update_parent): (merge_loop, sortlines, struct thread_args, set_ordering): Prefer the style "T const" to "const T". * gl/lib/heap.h (struct heap, heap_alloc): Likewise. * gl/lib/heap.c (heap_default_compare, heapify_down, heapify_up): (heap_alloc): Likewise. 2010-07-25 Paul Eggert du: add NEWS entry for recent du -L fixes 2010-07-24 Paul R. Eggert du: tune, and fix some -L bugs with dangling or cyclic symlinks * src/du.c (process_file): Avoid recalculation of hashes and of file-exclusion for directories. Do not descend into the same directory more than once, unless -l is given; this is faster. Calculate stat buffer lazily, since it need not be computed at all for excluded files. Count space if FTS_ERR, since stat buffer is always valid then. No need for 'print' local variable. (main): Use FTS_NOSTAT. Use FTS_TIGHT_CYCLE_CHECK only when not hashing everything, since process_file finds cycles on its own when hashing everything. * tests/du/deref: Add test cases for -L bugs. tests/misc/sort-merge-fdlimit: don't assume -R opens /dev/urandom * tests/misc/sort-merge-fdlimit: This test was written assuming that -R typically opens /dev/urandom, but that's no longer the case. Redo test to specify a random source; this resurrects the point of checking for file descriptor exhaustion. Also try plain -R, since that implementation may change in the future too. 2010-07-23 Paul R. Eggert randread: run 2x faster on 64-bit hosts, don't assume no padding bits * gl/lib/rand-isaac.c: Remove the I/O; this belongs elsewhere. Add support for ISAAC64. Port to hosts with padding bits. Add self to author list. Include , for CHAR_BIT. Don't include string.h, sys/time.h, unistd.h. (min, just): New functions. (IF32): New macros. (ind, ISAAC_STEP, isaac_refill, mix, isaac_init, isaac_seed): Add support for ISAAC64. Port to hosts with padding bits. (ind): Now an inline function rather than a macro; no need for it to be a macro with modern compilers. (ISAAC_STEP): Renamed from isaac_step, since it's not function-like. Don't bother to pass args that are always the same. All uses changed. (ISAAC_STEP, ISAAC_SEED): Move to inside the only function body that can use it. (ISAAC_MIX): Renamed from isaac_mix, since it's now a macro and is no longer function-like. Don't bother saving and restoring state; no longer needed now that we're not a function. All uses changed. (isaac_seed_start, isaac_seed_data, isaac_seed_finish): Remove. (isaac_seed): Take just the one arg; the caller now sets s->m. * gl/lib/rand-isaac.h: Use _GL_RAND_ISAAC_H to protect, instead of RAND_ISAAC_H. Try out " #" rather than "# " for indenting. (ISAAC_BITS_LOG, ISAAC_BITS): New macros. (ISAAC_WORDS_LOG): Renamed from ISAAC_LOG. (isaac_word): New type. All uses of uint32_t changed to isaac_word, to support ISAAC64. (struct isaac_state): Rename member MM to M, and make it public. (isaac_seed, isaac_refill): Adjust to new API. * gl/lib/randread.c: Include sys/time.h. (get_nonce): New function, containing the nonce stuff that used to be in rand-isaac.c but better belongs here. (randread_new): Use it. * gl/modules/randread (Depends-on): Add inline. * gl/modules/randread-tests: New file. * gl/tests/test-rand-isaac.c: New file. 2010-07-22 Pádraig Brady provide POSIX_FADV_SEQUENTIAL hint to appropriate utils Following on from commit dae35bac, 01-03-2010, "sort: inform the system about our input access pattern" apply the same hint to all appropriate utils. This currently gives around a 5% speedup for reading large files from fast flash devices on GNU/Linux. * src/base64.c: Call fadvise (..., FADVISE_SEQUENTIAL); * src/cat.c: Likewise. * src/cksum.c: Likewise. * src/comm.c: Likewise. * src/cut.c: Likewise. * src/expand.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/join.c: Likewise. * src/md5sum.c: Likewise. * src/nl.c: Likewise. * src/paste.c: Likewise. * src/pr.c: Likewise. * src/ptx.c: Likewise. * src/shuf.c: Likewise. * src/sum.c: Likewise. * src/tee.c: Likewise. * src/tr.c: Likewise. * src/tsort.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/wc.c: Likewise, unless we don't actually read(). 2010-07-22 Pádraig Brady fadvise: new module providing a simpler interface to posix_fadvise * bootstrap.conf: Include the new module * gl/lib/fadvise.c: Provide a simpler interface to posix_fadvise. (fadvise): Provide hint to the whole file associated with a stream. (fdadvise): Provide hint to the specific portion of a file associated with a file descriptor. * gl/lib/fadvise.h: Redefine POSIX_FADV_* to FADVISE_* enums. * gl/modules/fadvise: New file. * m4/jm-macros.m4: Remove the no longer needed posix_fadvise check. * .x-sc_program_name: Exclude test-fadvise.c from this check. * gl/tests/test-fadvise (main): New test program. * gl/modules/fadvise-testss: A new index to reference the tests. * src/sort.c (stream_open): Use the new interface. * src/dd.c (iwrite): Likewise. 2010-07-22 Mike Frysinger build: support fully excluding stdbuf from the build * configure.ac (optional_pkglib_progs): Only update after the main programs have been selected, so that libstdbuf.so can be excluded if stdbuf also is. 2010-07-20 Paul R. Eggert randread: use /dev/urandom to seed, not just getpid etc * gl/lib/rand-isaac.c (isaac_seed_start): New arg SEEDED. (isaac_seed): New args FD and BYTES_BOUND. Read from FD if possible. Don't bother with low-quality sources if FD has enough bytes. * gl/lib/rand-isaac.h: New size_t arg for isaac_seed. * gl/lib/randread.c: Include fcntl.h, unistd.h. (NAME_OF_NONCE_DEVICE): New #define. (nonce_device): New static var. (randread_new): Use nonce device if available. 2010-07-19 Paul R. Eggert sort: -R no longer disables multithreading * src/sort.c (random_md5_state): New static var. (random_md5_state_init): New function, to initialize random_md5_state. (random_state, randread_source): Remove. (cmp_hashes): Use random_md5_state rather than random_state. Break ties using memcmp, not by getting more randomness. If MD5 collisions turn into a problem in practice, we should simply use a better checksum. (main): If -R is given, call random_md5_state_init rather than going single-threaded. 2010-07-16 Paul R. Eggert randread: don't require -lrt Programs like 'sort' were linking to -lrt in order to get clock_gettime, but this was misguided: it wasted considerable resources while gaining at most 10 bits of entropy. Almost nobody needs the entropy, and there are better ways to get much better entropy for people who do need it. * gl/lib/rand-isaac.c (isaac_seed): Include not "gethrxtime.h". (isaac_seed): Use gettimeofday rather than gethrxtime. * gl/modules/randread (Depends-on): Depend on gettimeofday and not gethrxtime. * src/Makefile.am (mktemp_LDADD, shred_LDADD, shuf_LDADD, sort_LDADD): (tac_LDADD): Omit $(LIB_GETHRXTIME); no longer needed. sort: add a test case for the sort -u bug * tests/Makefile.am (TESTS): Add misc/sort-unique. * tests/misc/sort-unique: New file. sort: fix a bug with sort -u and xmemcoll0, and tune keycompare * src/sort.c (keycompare): Use xmemcoll0, as it avoids a couple of stores. (write_bytes): Leave the buffer the way we found it, as it might be used again for a later comparison, if -u is used. 2010-07-15 Pádraig Brady sort: fix a bug when sorting unterminated lines * src/sort.c (fillbuf): The previous commit incorrectly terminated the buffer when the last line of input didn't contain a terminating character. 2010-07-15 Chen Guo sort: speed up default full line sorting Don't write NUL after the comparison buffers on each compare, which increases performance by about 3% for short lines on a pentium-m with gcc-4.4.1 * src/sort.c: (fillbuf): Delimit input items with NUL. (write_bytes): Restore the item delimiter char which was replaced with NUL in fillbuf(). 2010-07-14 Jim Meyering heap_alloc: avoid integer overflow * gl/lib/heap.c (heap_alloc): Use xnmalloc rather than xmalloc, to avoid pathological overflow. 2010-07-14 Paul R. Eggert maint: omit $(POW_LIB) when linking, as this is no longer needed * src/Makefile.am (printf_LDADD, seq_LDADD, sleep_LDADD, sort_LDADD): (tail_LDADD, uptime_LDADD): Omit $(POW_LIB), as it's no longer needed due to recent gnulib changes, where the strtod module no longer uses the pow function. strtold needs pow only because it's sometimes aliased to strtod. See http://lists.gnu.org/archive/html/bug-gnulib/2010-07/msg00076.html 2010-07-14 Pádraig Brady build: update gnulib submodule to latest; update bootstrap, too * gnulib: Update for xmemcoll0 and fix for systems without pthreads * bootstrap: Update for translation project sync fix 2010-07-13 Pádraig Brady maint: reorganize latest NEWS * NEWS: Add another blank line before the previous version. (Bug fixes): Move to the start. (Changes in behavior): Add the item about the du mem usage change from the "New features" section. maint: heap.c: simplify dynamic allocations * gl/lib/heap.c (heap_alloc): Use the fact that the xalloc routines will not return NULL. Also remove the redundant temporary variables. (heap_insert): From Jim Meyering, use x2nrealloc() which is simpler while handling overflow and increasing the size more efficiently. This reallocation is currently unused by coreutils in any case as it preallocates enough. 2010-07-13 Chen Guo sort: parallelize internal sort This patch is by Gene Auyeung, Chris Dickens, Chen Guo, and Mike Nichols, based off of a patch by Paul Eggert, Glen Lenker, et. al., with a basic heap implementation based off of the GDSL heap, originally by Nicolas Darnis. The number of sorts done in parallel is limited to the number of available processors by default, or can be further restricted with the --parallel option. On a dual-die, 8 core Intel Xeon, results show sorting with 8 threads is almost 4 times faster than using a single thread. Timings when sorting a 96MB file: THREADS TIME (s) 1 5.10 2 2.87 4 1.75 8 1.31 Single threaded sorting has also been improved, especially for cheaper comparison operations: COMMAND BEFORE (s) AFTER (s) sort 8.822 8.716 sort -g 10.336 10.222 sort -n 3.077 2.961 LANG=C sort 2.169 2.066 * bootstrap.conf: Add heap, pthread. * coreutils.texi (sort): Describe the new --parallel option. * gl/lib/heap.c: New file. Very basic heap implementation. * gl/lib/heap.h: New file. * gl/modules/heap: New file. * src/Makefile.am: Add LIB_PTHREAD. * src/sort.c: Include heap.h, nproc.h, pthread.h. (MAX_MERGE): New macro. (SUBTHREAD_LINES_HEURISTIC, PARALLEL_OPTION): New constants. (MERGE_END, MERGE_ROOT): New constants. (struct merge_node): New struct. (struct merge_node_queue): New struct. (sortlines temp): Remove declaration. (usage, long_options, main): New option, --parallel. (specify_nthreads): New function. (mergelines): New signature, to emphasize the fact that the HI area must be part of the destination. All callers changed. (sequential_sort): New function, renamed from sortlines. Merge in the functionality of sortlines_temp. (compare_nodes): New function. (lock_node, unlock_node): New functions. (queue_destroy): New function. (queue_init): New function. (queue_insert): New function. (queue_pop): New function. (write_unique): New function. (mergelines_node): New function. (check_insert): New function. (update_parent): New function. (merge_loop): New function. (sortlines): Rewrite to support and use parallelism, with a new signature. All callers changed. (struct thread_args): New struct. (sortlines_thread): New function. (sortlines_temp): Remove. (sort): New argument NTHREADS. All uses changed. Output moved to mergelines_node. (main): disable threading if we are sorting at random. * tests/Makefile.am (TESTS): Add misc/sort-benchmark-random. * tests/misc/sort-benchmark-random: New file. 2010-07-13 Jim Meyering di-set, ino-map: adjust a type, improve readability * gl/lib/ino-map.c (ino_hash): Declare "i" as unsigned int. Use an intermediate variable for the for-loop upper bound, so it's a little more readable. Adjust comment. * gl/lib/di-set.c (di_ent_hash): Likewise. 2010-07-13 Paul R. Eggert dd: also spell out size on memory exhaustion * src/dd.c (dd_copy): Use requested blocksize (not adjusted) in diagnostic, to forestall user complaints that the numbers don't match exactly. Report both exact and human-readable sizes, using a message format that is consistent with both "BBBB bytes (N XB) copied" in dd.c and "memory exhausted" in lib/xmalloc.c. 2010-07-09 Paul Eggert chcon, chmod, chown, du: don't translate "%s" * src/chcon.c (process_file): Replace _("%s") with "%s". * src/chmod.c (process_file): Likewise. * src/chown-core.c (change_file_owner): Likewise. * src/du.c (process_file): Likewise. 2010-07-07 Paul Eggert du: avoid spurious warnings with 64-bit gcc -W Problem reported by Jim Meyering in: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6524#74 * gl/lib/di-set.c (di_ent_hash): Rework so that the compiler does not incorrectly warn about shifting by 64-bits in unreachable code. * gl/lib/ino-map.c (ino_hash): Likewise. 2010-07-06 Paul Eggert du: Hash with a mechanism that's simpler and takes less memory. * gl/lib/dev-map.c, gl/lib/dev-map.h, gl/modules/dev-map: Remove. * gl/lib/ino-map.c, gl/lib/ino-map.h, gl/modules/ino-map: New files. * gl/modules/dev-map-tests, gl/tests/test-dev-map.c: Remove. * gl/modules/ino-map-tests, gl/tests/test-ino-map.c: New files. * gl/lib/di-set.h (struct di_set): Renamed from struct di_set_state, and now private. All uses changed. (_ATTRIBUTE_NONNULL_): Don't assume C99. (di_set_alloc): Renamed from di_set_init, with no size arg. Now allocates the object rather than initializing it. For now, this no longer takes an initial size; we can put this back later if it is needed. * gl/lib/di-set.c: Include hash.h, ino-map.h, and limits.h instead of stdio.h, assert.h, stdint.h, sys/types.h (di-set.h includes that now), sys/stat.h, and verify.h. (N_DEV_BITS_4, N_INO_BITS_4, N_DEV_BITS_8, N_INO_BITS_8): Remove. (struct dev_ino_4, struct dev_ino_8, struct dev_ino_full): Remove. (enum di_mode): Remove. (hashint): New typedef. (HASHINT_MAX, LARGE_INO_MIN): New macros. (struct di_ent): Now maps a dev_t to a inode set, instead of containing a union. (struct dev_map_ent): Remove. (struct di_set): New type. (is_encoded_ptr, decode_ptr, di_ent_create): Remove. (di_ent_hash, di_ent_compare, di_ent_free, di_set_alloc, di_set_free): (di_set_insert): Adjust to new representation. (di_ino_hash, map_device, map_inode_number): New functions. * gl/modules/di-set (Depends-on): Replace dev-map with ino-map. Remove 'verify'. * gl/tests/test-di-set.c: Adjust to the above changes to API. * src/du.c (INITIAL_DI_SET_SIZE): Remove. (hash_ins, main): Adjust to new di-set API. 2010-07-05 Jim Meyering stat: getfilecon failure now evokes nonzero exit status Add comments and adjust interfaces to allow low-level failure to propagate out to callers. * src/stat.c (out_file_context): Return bool, not void, so we can tell callers about failure. (print_statfs, print_stat, print_it): Propagate failure to caller. (do_statfs): Propagate print_it failure to caller. (do_stat): Likewise. I nearly forgot to update do_stat to propagate print_it failure, and it compiled just fine in spite of that. To prevent possibility of a repeat, I've marked each function that returns non-void with ATTRIBUTE_WARN_UNUSED_RESULT. system.h: define ATTRIBUTE_WARN_UNUSED_RESULT * src/system.h (ATTRIBUTE_WARN_UNUSED_RESULT): Define. 2010-07-05 Pádraig Brady tests: make tests requiring a delay to pass, more robust * tests/init.cfg: Introduce a retry_delay_() function to repeatedly call a test function that requires a delay. This delay can now be shorter for the common case on fast systems, but will double until a configurable limit it reached before failing on slower systems. * tests/dd/reblock: Use retry_delay_. * tests/misc/cat-buf: Likewise. * tests/misc/stdbuf: Likewise. * tests/tail-2/F-vs-rename: Likewise. * tests/tail-2/flush-initial: Likewise. * tests/tail-2/tail-n0f: Likewise. * tests/tail-2/wait: Likewise. * test/dd/misc: Comment that delay is needed to trigger failure. 2010-07-04 Paul Eggert doc: Add advice about ChangeLogs and synchronizing submodules * README-hacking: Update accordingly. 2010-07-04 Jim Meyering du: increase the initial dev-inode set size * src/du.c (INITIAL_DI_SET_SIZE): Increase to the prime just under 1024. This gives a speed-up of about 2% when processing a tree containing 100,000 files, each with a link count greater than 1, all pointing to files in some other tree. 2010-07-04 Jim Meyering du: use less than half as much memory when tracking hard links When processing a hard-linked file, du must keep track of the file's device and inode numbers in order to avoid counting its storage more than once. When du would process many hard linked files -- as are created by some backup tools -- the amount of memory required for the supporting data structure could become prohibitively large. This patch takes advantage of the fact that the amount of information in the numbers of the typical dev,inode pair is far less than even 32 bits, and hence usually fits in the space of a pointer, be it 32 or 64 bits wide. A typical du traversal examines files on no more than a handful of distinct devices, so the device number can be encoded in just a few bits. Similarly, few inode numbers use all of the high bits in an ino_t. Before, we would represent the dev,inode pair using a naive struct, and allocate space for each. Thus, an entry in the hash table consisted of a pointer (to that struct) and a "next" pointer. With this change, we encode the dev,inode information and put those bits in place of the pointer, and thus do away with the need to allocate additional space for each dev,inode pair. * src/du.c: Include "di-set.h". Don't include "hash.h"; it's no longer used. (INITIAL_DI_SET_SIZE): Define. (di_set): New global, to replace "htab". (entry_hash, entry_compare, hash_init): Remove functions. (hash_ins): Use di-set functions, rather than ones from the hash module. (main): Likewise. * bootstrap.conf (gnulib_modules): Add the new di-set module. * NEWS (New features): Mention it. 2010-07-04 Jim Meyering di-set: manipulate sets of dev/inode pairs efficiently * gl/lib/di-set.c: Implementation. * gl/lib/di-set.h: Declarations. * gl/modules/di-set: Define module. * gl/modules/di-set-tests: Define test module. * gl/tests/test-di-set.c: Likewise. dev-map: map device number to small non-negative * gl/lib/dev-map.c: New file. * gl/lib/dev-map.h: Declarations. * gl/modules/dev-map: Define primary modules. * gl/modules/dev-map-tests: Define test module. * gl/tests/test-dev-map.c: Test it. 2010-07-03 Paul Eggert du: don't miscount duplicate directories or link-count-1 files * NEWS: Mention this. * src/du.c (hash_all): New static var. (process_file): Use it. (main): Set it. * tests/du/hard-link: Add a couple of test cases to help make sure this bug stays squashed. * tests/du/files0-from: Adjust existing tests to reflect change in semantics with duplicate arguments. 2010-07-02 Jim Meyering build: update gnulib submodule to latest; update bootstrap, too * gnulib: Update to latest, for hash.c improvement. * bootstrap: Update from gnulib, too. 2010-07-01 Pádraig Brady cp: add an option to only copy the file attributes * src/copy.c (copy_attr): A new function which merges copy_attr_by_fd and copy_attr_by_name. Also display all errors when --attributes-only * src/copy.c (copy_reg): Skip copying the file contents if specified. Refactor the SELinux error handling code a little and display all SELinux errors when only copying attributes. * src/copy.h (struct cp_options): Add a data_copy_required boolean * src/cp.c (main): Default to copying data but don't if specified * src/install.c: Default to copying data * src/mv.c: Likewise tests/cp/reflink-perm: Add a test to check that --attributes-only does not copy data * tests/cp/acl: Likewise. Also refactor to remove redundant acl manipulation * doc/coreutils.texi (cp invocation): Describe the new option * NEWS: Mention the new feature ls: use the POSIX date style when the locale does not specify one Previously we defaulted to "long-iso" format in locales without specific format translations, like the en_* locales for example. This reverts part of commit 6837183d, 08-11-2005, "ls ... acts like --time-style='posix-long-iso' if the locale settings are messed up" * src/ls.c (decode_switches): Only use the ISO format when specified. * NEWS: Mention the change in behavior. Reported by Daniel Qarras at http://bugzilla.redhat.com/525134 2010-06-30 Jim Meyering tests: fail rather than infloop in tail's inotify-rotate test * tests/tail-2/inotify-rotate: Switch to new init.sh-based framework. (grep_timeout): New function. Use it in place of open-coded loops that might infloop. This was prompted by my encountering an inexplicable, and so far unreproducible, infloop in the code that was waiting for "b" to appear in "out". tests: move most helper functions from test-lib.sh to new init.cfg From there, they will be used by both test-lib.sh (as we phase it out) and the newer init.sh, to which all tests will migrate. * tests/test-lib.sh: Move most functions from here, ... * tests/init.cfg: ...to here. New file. * tests/Makefile.am (EXTRA_DIST): Add init.cfg. tests: sync tests/init.sh from gnulib * tests/init.sh: Update from gnulib. 2010-06-29 Jim Meyering doc: df, du, ls: improve --blocksize description in --help * src/du.c (usage): Print better --blocksize description. Prompted by Samuel Thibault in . * src/df.c (usage): Likewise. * src/ls.c (usage): Likewise. 2010-06-29 Pádraig Brady doc: reference POS syntax in --help for sort --key * src/sort.c (usage): Reference the additional description of the POS syntax. 2010-06-27 Benno Schulenberg ln: print a clearer error message when linking fails 2010-06-22 Jim Meyering stat: remove support for deprecated --context (-Z) option * src/stat.c (main): Remove support for the --context (-Z) option. In upstream releases this option has always been a no-op. It was first ignored for compatibility, and since the June 2008 commit, 574f7614 (coreutils-7.0), its use has evoked a warning. * NEWS (Changes in behavior): Mention it. 2010-06-21 Jim Meyering doc: fix comm's --help output so we generate a better man page * src/comm.c (usage): Don't align example comments in --help output, since the extra space (sequence of two spaces) there would be interpreted by help2man and induce an unwanted line break in the resulting man page. Reported by Jari Aalto. 2010-06-14 Eric Blake maint: ignore another gnulib generated file * .gnulib: Exclude lib/c++defs.h. cat: improve documentation * src/cat.c (usage): Clarify that -b overrides -n. * doc/coreutils.texi (cat invocation): Likewise. * THANKS: Update. Suggested by Chas. Owens, in bug 6383. 2010-06-14 Jim Meyering doc: dd: discourage use of very large block sizes * doc/coreutils.texi (dd invocation): Warn against using a very large block size. Suggested by Imre Péntek. dd: print a better diagnostic for an invalid block size * src/dd.c (dd_copy): Give a better diagnostic than "dd: memory exhausted" for an over-large bs= block size setting. Same for ibs= and obs=. Reported by Imre Péntek in http://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/591969 2010-06-11 Jim Meyering build: update gnulib submodule to latest build: don't let a large sparse temporary file cause "make dist" to fail * bootstrap.conf (bootstrap_epilogue): Replace the offending grep command from po/Makefile.in.in's $(DOMAIN).pot-update rule. 2010-06-10 Jim Meyering ls: avoid just-introduced buffer overrun * src/ls.c (gobble_file): Revert part of my preceding change, to avoid clobbering stack. 2010-06-08 Jim Meyering maint: adjust INT_BUFSIZE_BOUND usage for maintainability * src/tail.c (xlseek): Give INT_BUFSIZE_BOUND a variable name, not a type name. * src/ls.c (gobble_file, format_user_or_group_width): Likewise. * src/head.c (elide_tail_bytes_pipe): Likewise. (elide_tail_lines_seekable, main): Likewise. [This change is not complete -- there are doubtless other uses that can be updated in the same way.] sort: avoid unnecessary use of sprintf sprintf is relatively heavy-weight. * src/sort.c (key_warnings): Use umaxtostr and stpcpy rather than sprintf. Also, replace each INT_BUFSIZE_BOUND "type_name" argument with the equivalent variable name. More maintainable that way. 2010-06-08 Eric Blake dirname: tweak summary wording * doc/coreutils.texi (dirname invocation): Reword to be more precise. * src/dirname.c (usage): Likewise. * THANKS: Update. Reported by Filipus Klutiero, bug 6175. 2010-06-02 Jim Meyering doc: mention the new coreutils@ mailing lists * README-package-renamed-to-coreutils: Mention the new mailing list and a mirror. touch: remove support for --file=REF_FILE option * src/touch.c (main): Remove support for the deprecated, long-named --file option, which is an alternate name for --reference (-r). That option was undocumented with the arrival of --reference, in the 1995-10-29 commit, 8b92864e1d. Since the 2009-02-09 commit, ed85df444a, use of --file has elicited a warning. Not only was this code due for removal, but the long-name-use-detecting code was buggy in that it would use a stale or uninitialized "long_idx", as reported by Robin H. Johnson in http://bugs.gentoo.org/322421. * NEWS (Changes in behavior): Mention it. 2010-05-31 Jim Meyering maint: make spacing around "=" consistent, even in IF_LINT E.g., - size_t desired_width IF_LINT (= 0); + size_t desired_width IF_LINT ( = 0); Use this command: g grep -l IF_LINT | grep '\.[ch]$' \ | xargs perl -pi -e 's/(IF_LINT \()= /$1 = /' maint: replace each "for (;;)" with "while (true)" Run this command: git ls-files | grep '\.[ch]$' \ | xargs perl -pi -e 's/for \(;;\)/while (true)/g' ...except for randint.c, which does not include stdbool.h. In that case, use "while (1)". * gl/lib/randint.c (randint_genmax): Use "while (1)" for infloops. * src/cat.c (simple_cat, cat): Use "while (true)" for infloops. * gl/lib/randread.c (readsource, readisaac): Likewise. * src/copy.c (copy_reg): Likewise. * src/csplit.c (record_line_starts, process_regexp): Likewise. * src/cut.c (set_fields): Likewise. * src/dd.c (iread, parse_symbols): Likewise. * src/df.c (find_mount_point, main): Likewise. * src/du.c (main): Likewise. * src/expand.c (expand): Likewise. * src/factor.c (factor_using_division, do_stdin): Likewise. * src/fmt.c (get_space): Likewise. * src/ls.c (decode_switches): Likewise. * src/od.c (main): Likewise. * src/pr.c (main, read_line): Likewise. * src/shred.c (dopass, genpattern): Likewise. * src/sort.c (initbuf, fillbuf, getmonth, keycompare): Likewise. * src/split.c (bytes_split, lines_split): Likewise. * src/tac.c (tac_seekable): Likewise. * src/test.c (and, or): Likewise. * src/tr.c (squeeze_filter, main): Likewise. * src/tsort.c (search_item): Likewise. * src/unexpand.c (unexpand): Likewise. * src/uniq.c (main): Likewise. * src/yes.c (main): Likewise. maint: correct indentation of case_GETOPT_* macro uses * src/base64.c (main): Correct indentation of syntactically questionable case_GETOPT_HELP_CHAR and case_GETOPT_VERSION_CHAR macros. * src/who.c (main): Likewise. stat: use gnulib's alignof module * src/stat.c (alignof): Remove definition. Instead, include "alignof.h", and sort the #include directives. And get its definition from the gnulib module by that name: * bootstrap.conf (gnulib_modules): Add alignof. tests: remove unnecessary single quotes in perl hash use: ->{'SYM'} Run this command: git grep -l "limits->{'" \ | xargs perl -pi -e "s/limits->{'(.*?)'}/limits->{\$1}/g" * cfg.mk (sc_prohibit_perl_hash_quotes): New rule to match. * tests/misc/join: Remove quotes. * tests/misc/sort: Likewise. * tests/misc/sort-merge: Likewise. * tests/misc/test: Likewise. * tests/misc/unexpand: Likewise. * tests/misc/uniq: Likewise. 2010-05-29 Pádraig Brady truncate: improve handling of non regular files Previously we copied `dd` and suppressed error messages when truncating neither regular files or shared mem objects. This was valid for `dd`, as truncation is ancillary to copying it may also do, but for `truncate` we should display all errors. Also we used the st_size from non regular files which is undefined, so we display an error when the user tries this. * src/truncate (do_truncate): Error when referencing the size of non regular files or non shared memory objects. Display all errors returned by ftruncate(). (main): Error when referencing the size of non regular files or non shared memory objects. Don't suppress error messages for any file types that can't be opened for writing. * tests/misc/truncate-dir-fail: Check that referencing the size of a directory is not supported. * tests/misc/truncate-fifo: Ensure the test doesn't hang by using the `timeout` command. Don't test the return from running ftruncate on the fifo as it's system dependent as to whether this fails or not. NEWS: Mention the change in behavior. Reported by Jim Meyering. 2010-05-28 Pádraig Brady truncate: support sizes relative to an existing file * doc/coreutils.texi (truncate invocation): Mention that --reference bases the --size rather than just setting it. * src/truncate.c (usage): Likewise. Also remove the clause describing --size and --reference as being mutually exclusive. (do_truncate): Add an extra parameter to hold the size of a referenced file, and use it if positive. (main): Pass the size of a referenced file to do_truncate(). * tests/misc/truncate-parameters: Adjust for the new combinations. * NEWS: Mention the change Suggested by Richard W.M. Jones 2010-05-26 Jim Meyering tests: update help-version to work with parted, too * tests/misc/help-version: Add init code for GNU Parted. 2010-05-25 Jim Meyering maint: don't emit an extra newline in each of two diagnostics * src/shuf.c (main): Remove a stray newline in a diagnostic. * src/od.c (main): Likewise. Detected via these: git grep -A1 'error *(.*,$' | grep -C1 '\\n"[,)]' git grep 'error *(.*;$' | grep '\\n"[,)]' maint: remove unneeded double quotes on RHS of shell assignments Run this command: git grep -l 'LC_[A-Z]*="' \ | xargs perl -pi -e 's/(LC_[A-Z]*)="(.*?)"/$1=$2/' * src/Makefile.am: Write LC_ALL=$$locale, not LC_ALL="$$locale". * src/date.c (main): Similar, in a comment. * tests/misc/sort-month: Write LC_ALL=$LOC, not LC_ALL="$LOC". 2010-05-24 Pádraig Brady maint: remove a redundant sort parameter from a test * tests/misc/sort-month: Remove the -b option which is redundant and ignored. sort: adjust the leading blanks --debug warning * src/sort.c (key_warnings): Always warn about significant leading blanks when character offsets are specified, unless they key is possibly a line offset, i.e. of the form -k1.x,1.y. Also suppress this warning if the user could be sorting right aligned indexes. 2010-05-23 Jim Meyering maint: make copyright comment consistent with all others * tests/misc/mktemp: Change punctuation to make copyright paragraph consistent with all of the others. 2010-05-21 Jim Meyering tests: fix cp-a-selinux to skip cleanly upon mkfs failure * tests/cp/cp-a-selinux: Initialize skip, to avoid a syntax error in subsequent "test". Remove redirect-to-/dev/null, now that output is always to a log file. 2010-05-19 Jon Ringuette du: recognize -d N as equivalent to --max-depth=N * NEWS (New features): Mention it. * src/du.c (DEBUG_OPT): Remove. Use long-named ---debug instead. Commented out. (MAX_DEPTH_OPTION): Remove. Use 'd' instead. (main): Insert literal "d:"; remove DEBUG_OPT. * doc/coreutils.texi (du invocation): Add -d to indices. * tests/du/max-depth: Exercise -d, too. 2010-05-19 Jim Meyering tests: exercise du's --max-depth option * tests/Makefile.am (TESTS): Add du/max-depth. * tests/du/max-depth: New file. 2010-05-18 Pádraig Brady tests: fix sort-debug-keys when fr_FR.utf8 not available * tests/misc/sort-debug-keys: Correctly check for the absence of the French UTF8 locale. 2010-05-17 Jim Meyering maint: fix the fs-magic-compare rule * src/Makefile.am (fs-def): Sort definitions. This is required by fs-magic-compare's use of join. tests: update init.sh from gnulib * tests/init.sh: Update from gnulib. build: avoid a new -Wformat-induced warning * src/sort.c (mark_key): Add a cast-to-int of a printf field width, to placate -Wformat. 2010-05-16 Pádraig Brady doc: fix sort info about version sort skipping blanks * doc/coreutils.text (sort invocation): leading blanks are significant for 'V'. sort: --debug: output data independent warnings and info * src/sort.c (usage): Mention --debug can output warnings to stderr. Also split the translatable string to aid translation. (default_key_compare): A new function refactored from main(), and now also called from the new key_warnings() function. (key_to_opts): A new function refactored from incompatible_options(), and now also called from the new key_warnings() function. (key_numeric): A new function refactored to test if key is numeric. (key_warnings): A new function to output warnings to stderr, about questionable use of various options. Currently it warns about zero length keys and ineffective global options. (incompatible_options): Refactor out key_to_opts() (main): Use key_init() to initialize gkey. Refactor out default_key_compare(). Call key_warnings() in debug mode. * doc/coreutils.texi (sort invocation): Mention that warnings are output by --debug. * tests/misc/sort-debug-warn: A new test for debug warnings. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature 2010-05-12 Pádraig Brady tests: fix sort-debug-keys when fr_FR.utf8 not available * tests/misc/sort-debug-keys: Don't verify (or even run) the fr_FR tests when that locale is not available on the system. sort: add a --debug option to highlight key extents * src/sort (usage): Add description for --debug. (write_bytes): Pass a line structure so it can subsequently be passed to compare to highlight the keys when in debug mode. Also transform TAB and NUL characters written to stdout so that the highlighting in debug mode aligns correctly. (human_numcompare): Pass an "endptr" so we can record the extent of the number matched. (general_numcompare): Likewise. (find_unit_order): Likewise. (getmonth): Likewise. (numcompare): Likewise. Note we reuse find_unit_order() for this, which is a good enough approximation, and means we don't need to change the strnumcmp() interface. (check_mixed_SI_IEC): Return whether iec_present, so that can be used to set the "endptr" in find_unit_order. Also make the key parameter optional, which will be the case from numcompare(). (count_tabs): A new function to determine how much to adjust the mbswidth() values by (TABs don't have a width). (mark_key): A new function to output the key highlighting to stdout. (debug_key): A new function to determine the offset and width of the key highlighting. (key_compare): Pass the show_debug parameter so the key highlighting is only displayed when explicitly called. For each key type, set the length (lena) and whether leading blanks are auto skipped (skipb) which are then used by debug_key() to highlight the portion of the key used in the comparison. (compare): Pass the show_debug parameter so the key highlighting is only displayed when explicitly called. Call debug_key() to highlight the last resort comparison. (check): Output highlighting for disorder line to stdout. (main): Process the --debug option and make it mutually exlusive with the -o option as I don't see it useful there, even potentially harmful if someone left a --debug in by mistake when updating a file. Also restricting debug output to stdout, simplifies the logic for dealing with temporary files. * doc/coreutils.texi (sort invocation): Describe the --debug option, and reference it from the --key description. * tests/misc/sort-debug-keys: A new test for highlighting keys. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature. 2010-05-11 Jim Meyering build: record the gettext-0.18 requirement also in configure.ac * configure.ac: Require gettext-0.18 here, too. build: update gnulib submodule to latest * tests/init.sh: Update from gnulib, to fix typo. 2010-05-10 Jim Meyering build: record that when building from git, gettext-0.18 is required * bootstrap.conf (buildreq): Require gettext-0.18. tests: avoid a new syntax-check failure * .x-sc_prohibit_fail_0: Exempt tests/init.sh. tests: provide a definition of gl_trap_ in cfg.mk * cfg.mk (gl_trap_): Define here, now that it's gone from maint.mk. * gnulib: Update to latest. tests: begin using init.sh * tests/init.sh: New file. * tests/Makefile.am (EXTRA_DIST): Add it here. 2010-05-09 Jim Meyering tests: update help-version * tests/misc/help-version: Use init.sh, rather than test-lib.sh. Add idutils' setup. tests: move sc_prohibit_always-defined_macros to gnulib's maint.mk * cfg.mk (sc_prohibit_always-defined_macros): Remove it from here. * gnulib: Update to latest, for a maint.mk that includes that rule. tests: rename a syntax-check * cfg.mk (sc_prohibit_always-defined_macros): Rename from sc_always_defined_macros. * .x-sc_prohibit_always-defined_macros: New file, renamed from... * .x-sc_always_defined_macros: ...removed. * Makefile.am (syntax_check_exceptions): Rename here, too. tests: loosen/tighten the always_defined_macros check * cfg.mk (.re-defmac): Generate better regexps: allow white space before the '#', and append a word-boundary requirement. Without the latter, #define NULL_DEV ... would evoke a false-positive. tests: improve the always_defined_macros check * cfg.mk (sc_always_defined_macros): Adjust its helpers not to depend on the existence of ./lib. Instead, extract symbols directly from gnulib/lib/*.in.h files. 2010-05-03 Jim Meyering doc: factor hard-coded project-specific bits from README-release, ... using the new --mail-headers option to gnulib's announce-gen, and the updated maint.mk rules to connect the pieces. * README-release: Remove hard-coded To:, Cc: etc. parts, now that they're emitted automatically into the announcement template. * cfg.mk (announcement_Cc_): Override the default. * gnulib: Update to latest, to get newer announce-gen and maint.mk. doc: update release procedure * README-release: Rearrange slightly: post the announcement to Savannah first, so you can include a link to that post in the email. maint: factor trap-related code out of two syntax-check rules * cfg.mk (gl_trap_): Define, using a loop and eval'd trap, rather than repeated "trap" uses. Also handle "13", SIGPIPE. (sc_always_defined_macros): Use it. (sc_system_h_headers): Likewise. maint: extend the always_defined_macros syntax-check * cfg.mk (gl_generated_headers_): Define. (headers_with_interesting_macro_defs): Remove headers covered by the above. (.re-defmac): Extract symbol names from many more files. (sc_always_defined_macros): Use VC_LIST_EXCEPT, not VC_LIST, so that we can use the usual exception mechanism. Test for $(gnulib_dir), not system.h. * .x-sc_always_defined_macros: New file. Exempt src/seq.c. * Makefile.am (syntax_check_exceptions): Add it here. maint: remove now-redundant definitions provided by signal.h * src/dd.c (SA_NODEFER, SA_RESETHAND): Remove definitions, now that gnulib guarantees they are defined in . * src/ls.c (SA_RESTART): Likewise. maint: remove now-redundant definitions provided by sys/wait.h * src/timeout.c (WIFSIGNALED, WTERMSIG): Remove definitions, now that gnulib guarantees they are defined in . * src/operand2sig.c: Likewise. * src/kill.c: Likewise. 2010-05-01 Paul Eggert sort: use long doubles only when effective * src/sort.c (general_numcompare): Don't use long double if strtold is not available, as it may introduce needless overhead. 2010-04-30 Jim Meyering build: update gnulib submodule to latest; bootstrap, too 2010-04-29 Pádraig Brady sort: use long doubles for general numeric mode * src/sort.c (general_numcompare): Use long doubles unconditionally, and strtold when available, to convert numbers with greater range and precision. Performance was seen to be on par with standard doubles. * doc/coreutils.texi (sort invocation): Amend the -g description to mention long double rather than double, and strtold rather than strtod. * src/getlimits.c (main): Output floating point limits for use in tests. * tests/misc/sort-float: A new test to ensure sort is using long doubles when possible, and that locale specific floats are handled. * tests/Makefile.am: Reference the new test. * tests/test-lib.sh (getlimits_): Normalize indenting. * NEWS: Mention the new behaviour. Reported by Nelson Beebe. 2010-04-29 Jim Meyering build: remove now-duplicate use of AC_SYS_LARGEFILE * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Don't require AC_SYS_LARGEFILE, now that gnulib does it. build: remove now-useless configure-time header checks * m4/jm-macros.m4 (gl_CHECK_ALL_HEADERS): Don't test for headers that gnulib now provides: sys/ioctl.h, sys/time.h, sys/wait.h. 2010-04-25 Jim Meyering doc: tweak factor-describing wording * doc/coreutils.texi (factor invocation): Don't say that "factoring large prime numbers is hard". A pedant might ding you, since it's trivial to factor a number that is known to be prime. Instead, say that "factoring large numbers... is hard". Reported by Andreas Eder. 2010-04-24 Jim Meyering maint: remove now-unnecessary #if HAVE_header_H tests. * .x-sc_prohibit_always_true_header_tests: New file. * Makefile.am (syntax_check_exceptions): Add it. * src/cat.c: Remove #if HAVE_SYS_IOCTL_H test. * src/copy.c: Likewise. * src/ls.c: Likewise. * src/stty.c: Likewise. * src/install.c: Remove #if HAVE_SYS_WAIT_H test. * src/kill.c: Likewise. * src/operand2sig.c: Likewise. * src/timeout.c: Likewise. * src/pathchk.c: Remove #if HAVE_WCHAR_H test. * src/stat.c: Remove #if HAVE_NETINET_IN_H test. build: enable gnulib modules for more replacement headers * bootstrap.conf (gnulib_modules): Add the following: netinet_in, sys_ioctl, sys_wait, so that we can eliminate the #if HAVE_
_H tests guarding their header inclusions. tests: clean up also upon SIGQUIT * tests/test-lib.sh: Also trap on SIGQUIT. Spotted by Dmitry V. Levin. 2010-04-23 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.5 * NEWS: Record release date. 2010-04-23 Dmitry V. Levin tests: fix exit status of signal handlers in shell scripts The value of `$?' on entrance to signal handlers in shell scripts cannot be relied upon, so set the exit code explicitly. * cfg.mk (sc_always_defined_macros, sc_system_h_headers): Set the exit code in signal handler explicitly to 128 + SIG. * src/Makefile.am (sc_tight_scope): Likewise. * tests/test-lib.sh: Likewise. 2010-04-22 Eric Blake base64: always treat input in binary mode Necessary for cygwin. Technically, this patch is not correct, in that it clobbers O_APPEND, but it is no different than any other use of xfreopen to force binary mode, so all such uses should be fixed at once in a later patch. * src/base64.c (main): Open input in binary mode. * THANKS: Update. Reported by Yutaka Amanai. 2010-04-21 Jim Meyering build: update gnulib submodule to latest 2010-04-21 Eric Blake docs: document transformation of obsolete sort syntax * doc/coreutils.texi (sort invocation): Mention the conversion. 2010-04-21 Pádraig Brady maint: update a couple of NEWS items for the pending release * NEWS: Mention that cp and mv from the previous release did not support preserving extended attributes (fixed in e489fd04). Improve the grammar for the "cp capabilities" item. 2010-04-20 Pádraig Brady sort: fix parsing of end field in obsolescent key formats This regression was introduced in commit 224a69b5, 2009-02-24, "sort: Fix two bugs with determining the end of field". The specific regression being that we include 1 field too many when an end field is specified using obsolescent key syntax (+POS -POS). * src/sort.c (struct keyfield): Clarify the description of the eword member, as suggested by Alan Curry. (main): When processing obsolescent format key specifications, normalize eword to a zero based count when no specific end char is given for an end field. This matches what's done when keys are specified with -k. * tests/misc/sort: Add a few more tests for the obsolescent key formats, with test 07i being the particular failure addressed by this change. * THANKS: Add Alan Curry who precisely identified the issue. * NEWS: Mention the fix. Reported by Santiago Rodríguez 2010-04-16 Pádraig Brady cp: preserve "capabilities" when also preserving file ownership * src/copy.c (copy_reg): Copy xattrs _after_ setting file ownership so that capabilities are not cleared when setting ownership. * tests/cp/capability: A new root test. * tests/Makefile.am (root_tests): Reference the new test. * NEWS: Mention the fix. 2010-04-16 Jim Meyering * HACKING (Add tests): Change example name, "newtest" to "new-test". Not that anyone would confuse with something newt-related, but just because it is more readable that way. doc: tweak HACKING 2010-04-16 Jim Meyering doc: tweak HACKING * HACKING (Curly braces): Tweak a sentence. Filter a few paragraphs through "fmt". 2010-04-16 Pádraig Brady maint: fix build on platforms that replace strsignal * src/Makefile.am (kill_LDADD): Add $(LIBTHREAD) so that we link with the appropriate libraries to provide Thread Local Storage on platforms that replace strsignal (like AIX for example). Tested-by: Daniel Richard G. 2010-04-16 Pádraig Brady tests: avoid spurious failure of ls/color-norm test * tests/ls/color-norm: Use the "time" output by `ls -l` to check normal style. Previously we used the size from `ls -s`, but the size of "empty" files can vary depending on whether SELinux is enabled for example. 2010-04-15 Jim Meyering doc: document our code formatting policy regarding curly braces * HACKING (Curly braces: use judiciously): New section. 2010-04-14 Jim Meyering tests: avoid spurious failure of root-only ls/capability test * tests/ls/capability: Adjust this test not to expect the no-op escape sequence that was removed from all other tests by 2010-01-30 commit 5d43617e, "ls --color: don't emit a final no-op escape sequence". 2010-04-13 Pádraig Brady cp: treat selinux warnings consistently * src/copy.c (copy_reg): Suppress SELinux ENOTSUP warnings consistently between the destination being present or not. Previously we did not suppress ENOTSUP messages when the destination was present. (copy_internal): Use the same ENOTSUP supression method as copy_reg() even though the issue was not seen in this case. * tests/cp/cp-a-selinux: Add a test case for the issue and group the other test cases in the file more coherently. * tests/cp/cp-mv-enotsup-xattr: Do the same check for xattr warnings, even though they did not have the issue. 2010-04-12 Pádraig Brady doc: clarify when cp and mv output xattr warnings The 2010-03-26 commit, 4c38625e, "doc: fix info on cp --preserve..." was not entirely correct as cp --preserve=all does produce some xattr warnings. * src/copy.h: Update and clarify the comments for reduce_diagnostics and require_preserve_{xattr,context}. * doc/coreutils.texi (cp invocation): Update the -a and --preserve=xattr,context options to say when and which xattr warnings are output. (mv invocation): Mention that some warnings are output when preserving xattrs. 2010-04-11 Pádraig Brady doc: mention that "capabilities" are preserved by cp/mv * doc/coreutils.texi (cp invocation): Mention that "capabilities" are preserved when implemented using extended attributes. (mv invocation): Mention ACLs etc. are maintained due to xattrs being copied. 2010-04-11 Jie Liu build: tell ./bootstrap to check for xz up-front * bootstrap.conf (buildreq): Add xz to the list. 2010-04-11 Jim Meyering tests: more syntax-checks * gnulib: update to latest * cfg.mk (sc_prohibit_empty_lines_at_EOF): Remove, now that it's in gnulib's maint.mk. (_hv_file): Override the default. 2010-04-10 Jim Meyering maint: new syntax-check rule: prohibit empty lines at EOF * cfg.mk (detect_empty_lines_at_EOF_): Define. (sc_prohibit_empty_lines_at_EOF): New rule. * .x-sc_prohibit_empty_lines_at_EOF: New file. Exempt pr test inputs. * Makefile.am (syntax_check_exceptions): Add it. Pádraig Brady suggested to parse the output of tail -n1. 2010-04-09 Mike Frysinger dircolors: add rxvt-256color and rxvt-unicode256 * src/dircolors.hin: Add them. 2010-04-09 Jim Meyering maint: ftruncate is always available, even without gnulib Now that even MinGW provides ftruncate, we know that all reasonable portability targets provide this function. Remove the workaround code. We nearly removed the gnulib module three years ago: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203 and it is now officially "obsolete". * bootstrap.conf (gnulib_modules): Remove ftruncate. * src/copy.c (copy_reg): Remove use of HAVE_FTRUNCATE and its no-longer-used workaround code. * src/truncate.c: Remove a comment about handling missing ftruncate. 2010-04-08 James Youngman doc: make wc --help say how it defines a 'word' * src/wc.c (usage): Add wc's definition of "word". 2010-04-08 Jim Meyering doc: adjust a header in announcement email template * README-release: Use Mail-Followup-To: rather than Reply-To:. The former works more reliably, at least with Gnus. 2010-04-07 Jim Meyering tests: add a PATH-sanity-check to help-version * tests/misc/help-version: Sync from gzip's version. * tests/check.mk (TESTS_ENVIRONMENT): Export VERSION, as required for new help-version test. 2010-04-06 Jim Meyering maint: fix a masked syntax-check violation * m4/jm-macros.m4 (ARGMATCH_DIE): Use usage(EXIT_FAILURE), not usage(1). * .x-sc_prohibit_magic_number_exit: Remove *.m4 exemption that was masking the above. build: update gnulib submodule to latest 2010-04-05 Jim Meyering build: update gnulib submodule to latest 2010-04-04 Marc Kleine-Budde tail: include sys/vfs.h (if possible) when sys/statfs.h is absent * src/tail.c [HAVE_INOTIFY && !HAVE_SYS_STATFS_H]: Include . 2010-04-02 Jim Meyering build: update gnulib submodule to latest * cfg.mk: Update to use new _sc_search_regexp interface. Run this: perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;' -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk and then adjust backslashes so they still line up. 2010-03-31 Jim Meyering doc: synchronize parts of README-release from grep's version * README-release (FIXME): Add Reply-To, use coreutils@gnu.org for announcements. Update savannah-verbatim-announcement procedure. 2010-03-29 Jim Meyering build: update gnulib submodule to latest tests: disable new texinfo-acronym syntax-check from gnulib * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it. 2010-03-29 Bruno Haible build: update after change in gnulib's lib-ignore module * src/Makefile.am (AM_LDFLAGS): Define. Use gnulib's new $(IGNORE_UNUSED_LIBRARIES_CFLAGS). 2010-03-29 Jim Meyering tests: avoid spurious sc_prohibit_test_minus_ao syntax-check failures * tests/misc/ls-time: Change comments and diagnostics. * tests/misc/xattr: Likewise. 2010-03-26 Jim Meyering tests: fix typos in envvar-check script * tests/envvar-check: Fix variable name typos. Probably harmless, since no selected shell would fail to unset. 2010-03-26 Pádraig Brady nice,chroot: use more standard option parsing Related to the 2010-03-25 commit, 88d4b346, "timeout: use more standard option parsing". * src/nice.c (main): Don't use parse_long_options() which is a helper for commands that don't have any long options specific to them. * src/chroot.c (main): Likewise. * tests/misc/nice-fail: Remove a case that now passes due to us accepting multiple instances of the --help and --version options. * tests/misc/chroot-fail: Likewise. 2010-03-26 Kim Hansen timeout: use more standard option parsing * src/timeout.c (main): Don't use parse_long_options() which is a helper for commands that don't have any long options specific to them. * tests/misc/timeout-parameters: Remove a case that now passes due to us accepting multiple instances of the --help and --version options. * THANKS: Add the author. 2010-03-26 Pádraig Brady doc: fix info on cp --preserve=all, which does _not_ give xattr warnings The info docs have been inaccurate since 2009-04-17, commit 941bd482, "mv: ignore xattr-preservation failure when not supported by filesystem" * doc/coreutils.texi (cp invocation): Say that cp --preserve=all does _not_ output errors when failing to copy xattrs. 2010-03-21 Jim Meyering cfg.mk: remove comments with sed rather than cpp -fpreprocessed * cfg.mk (_sed_remove_comments): Define, starting with gettext's moopp sed code, but factoring it to be more understandable. (sc_space_before_open_paren): Adapt. Prompted by Bruno Haible's suggestion to use gettext's moopp code. 2010-03-20 Jim Meyering cfg.mk: fix copy-paste-o in a diagnostic * cfg.mk (sc_space_before_open_paren): Mention cpp -fpreprocessed, not cppi, when cpp -fpreprocessed doesn't work. Spotted by Eric Blake. maint: enforce one small aspect of formatting style: space-before-"(" * cfg.mk (sc_space_before_open_paren): New rule. maint: code formatting nit * src/system.h (ST_NBLOCKS): Add space before paren. 2010-03-19 Pádraig Brady maint: mbsalign: fix an edge case where we truncate too much * gl/lib/mbsalign.c (mbsalign): Ensure the temporary destination buffer is big enough, as it may need to be bigger than the source buffer in the presence of single byte non printable chars. * gl/tests/test-mbsalign.c (main): Add a test to trigger the issue. maint: update the mbsalign module * gl/lib/mbsalign.c (mbsalign): Support the MBA_UNIBYTE_FALLBACK flag which reverts to unibyte mode if one can't allocate memory or if there are invalid multibyte characters present. Note memory is no longer dynamically allocated in unibyte mode so one can assume that mbsalign() will not return an error if this flag is present. Don't calculate twice, the number of spaces, when centering. Suppress a signed/unsigned comparison warning. (ambsalign): A new wrapper function to dynamically allocate the minimum memory required to hold the aligned string. * gl/lib/mbsalign.h: Add the MBA_UNIBYTE_FALLBACK flag and also document others that may be implemented in future. (ambsalign): A prototype for the new wrapper. * gl/tests/test-mbsalign.c (main): New test program. * gl/modules/mbsalign-tests: A new index to reference the tests. * .x-sc_program_name: Exclude test-mbsalign.c from this check. 2010-03-19 Paolo Bonzini tests: change help-version to per-program functions * help-version: Change each *_args variable to a *_setup function. 2010-03-19 Jim Meyering doc: tweak README-prereq again * README-prereq: Change one more: s/coreutils/This package/ doc: make README-prereq more generic * README-prereq: Adjust wording and reduce number of mentions of "coreutils", so it's easier to reuse in another package: grep. 2010-03-18 Eric Blake rm: tweak wording about loss of data warning * src/rm.c (usage): Update wording to make two points more apparent: undelete is not trivial, and partial recovery should be a consideration factor in deciding whether rm is secure enough. Initially suggested by Reuben Thomas. 2010-03-18 Ralf Wildenhues revert "maint: mark makefile "dist-hook" target as PHONY" * src/Makefile.am (dist-hook): Do not mark this target as PHONY, explicitly. Automake does it for us. 2010-03-18 Eric Blake doc: improve ls --help's description of --escape (-b) * src/ls.c (usage): Be more precise about how --escape (-b) works: say "C-style escapes", not "octal escapes". Reported by Jacky Fong. 2010-03-18 Jim Meyering maint: mark makefile "dist-hook" target as PHONY * src/Makefile.am (dist-hook): Mark target as PHONY. 2010-03-17 Jim Meyering maint: add a space before open-paren, where lacking * src/copy.c (copy_reg): Likewise. * src/cut.c (main): Likewise. * src/dd.c (main): Likewise. * src/getlimits.c (print_int): Likewise. * src/join.c (join): Likewise. * src/pwd.c (logical_getcwd): Likewise. * src/sort.c (specify_nmerge, mergefps, avoid_trashing_input): Likewise. (merge): Likewise. * src/uptime.c (usage): Likewise. 2010-03-16 Pádraig Brady timeout: add the --kill-after option Based on a report from Kim Hansen who wanted to send a KILL signal to the monitored command when `timeout` itself received a termination signal. Rather than changing such a signal into a KILL, we provide the more general mechanism of sending the KILL after the specified grace period. * src/timeout.c (cleanup): If a non zero kill delay is specified, (re)set the alarm to that delay, after which a KILL signal will be sent to the process group. (usage): Mention the new option. Separate the description of DURATION since it's now specified in 2 places. Clarify that the duration is an integer. (parse_duration): A new function refactored from main(), since this logic is now called for two parameters. (main): Parse the -k option. * doc/coreutils.texi (timeout invocation): Describe the new --kill-after option and use @display rather than @table to show the duration suffixes. Clarify that a duration of 0 disables the associated timeout. * tests/misc/timeout-parameters: Check invalid --kill-after. * tests/misc/timeout: Check a valid --kill-after works. * NEWS: Mention the new feature. 2010-03-13 Jim Meyering build: update gnulib submodule to latest The latest from gnulib once again passes all tests. revert to previous working version of gnulib This reverts commit 0c31cdc2d13a1e47106ce708ca9c94df8d21f764. 2010-03-13 Thien-Thi Nguyen doc: use mktemp, not tempfile, in a shred usage example * doc/coreutils.texi (shred invocation): Use mktemp(1) instead of Debian-specific tempfile(1). 2010-03-12 Jim Meyering build: update gnulib submodule to latest 2010-03-11 Eric Blake maint: drop *.lzma suport * .gitignore: Remove *.lzma lines. 2010-03-10 Eric Blake maint: ignore *.xz files * .gitignore: Ignore *.xz created by 'make dist', now that we no longer produce *.lzma. 2010-03-10 Jim Meyering remove: without -f, avoid unnecessary-expense/issues with euidaccess * src/remove.c (write_protected_non_symlink): If faccessat fails, return 1 or -1 directly, rather than falling back on euidaccess*. 2010-03-09 Pádraig Brady doc: Add an example for cutting fields separated by runs of blanks * doc/coreutils.texi (cut invocation): Show how tr can be used to process the input for cut in this case. Suggestion from Dan Jacobson. 2010-03-04 Pádraig Brady maint: rename the si_present variable in sort to iec_present * src/sort.c: The units containing 'i' are actually IEC not SI. 2010-03-04 Joey Degges sort: inform the system about our input access pattern Tell the system that we'll access input sequentially, so that we more efficiently process uncached files in a few cases: Reading from faster flash devices. E.g. 21 MB/s key: NORMAL 31.6s (26.8 user) SEQUENTIAL 27.7s WILLNEED 27.7s Processing in parallel with readahead when using a small 1M buffer: NORMAL 24.7s (21.1 user) SEQUENTIAL 22.7s WILLNEED 25.6s A small benefit when merging: NORMAL 25.0s (16.9 user) SEQUENTIAL 24.6s (16.6 user) WILLNEED 38.4s (13.1 user) Note WILLNEED is presented above for comparison to show it has some unwanted characteristics due to its synchronous prepopulation of the cache. It has a good benefit on a mechanical disk @ 80MB/s and a multicore system with competing processes: NORMAL 14.73s SEQUENTIAL 10.95s WILLNEED 05.22s However the scheduling differences causing this result are probably best explicitly managed using `nice` etc. * m4/jm-macros.m4 (coreutils_MACROS): check for posix_fadvise(). * src/sort.c (fadvise_input): A new function to apply the POSIX_FADV_SEQUENTIAL hint to an input stream. (stream_open): Call the above function for all input streams. 2010-03-04 Jim Meyering tests: don't let the LANGUAGE envvar perturb tests * tests/envvar-check (vars): Add LANGUAGE to the list of envvars to unset. At least in glibc (as an extension to POSIX), its value actually trumps LC_ALL: $ LC_ALL=es_ES LANGUAGE=fr_FR.UTF-8 /bin/cat no-such /bin/cat: no-such: Aucun fichier ou dossier de ce type but only when the default locale is not C: $ LC_ALL=C LANGUAGE=fr_FR.UTF-8 /bin/cat no-such /bin/cat: no-such: No such file or directory Prompted by a report from Mads Kiilerich. 2010-03-01 Pádraig Brady sort: fix issues with month sorting in some locales * src/sort.c (char fold_toupper[]): Change to unsigned so as the correct comparisons are made in getmonth(). This fixes unibyte locales where abbreviated months have characters that are > 0x7F, but it also works for multibyte locales with the caveat that multibyte characters are matched case sensitively. With this change, the following example sorts correctly: $ echo -e "1 márta\n2 Feabhra" | LANG=ga_IE.utf8 sort -k2,2M 2 Feabhra 1 márta * src/sort.c (inittables): Since we ignore blanks around months in the input, don't include them when they're present in the locale. With this change, the following example sorts correctly: $ echo -e "1 2月\n2 1月" | LANG=ja_JP.utf8 sort -k2,2M 2 1月 1 2月 * tests/misc/sort-month: A new test to exercise the above cases. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. 2010-02-25 Eric Blake bootstrap: resynchronize from gnulib * gnulib: Update to latest. * bootstrap: Copy from gnulib/build-aux/bootstrap. * README-hacking: Describe how to use GNULIB_SRCDIR. expr: clarify error message * src/expr.c (eval4, eval3): Clarify that expr expects integers, and not the broader category of numbers. * tests/misc/expr: Update test accordingly. Suggested by Dan Jacobson. 2010-02-19 Pádraig Brady maint: clean up the output from syntax-check rules * cfg.mk (sc_tight_scope): Pass the -s (silent) flag to `make` so that it doesn't report about calling sub makes. (sc_check-AUTHORS): Likewise. (sc_strftime_check): Don't display stderr from `info`. * src/Makefile.am (sc_tight_scope): Don't annotate with "GEN". (sc_check-AUTHORS): Likewise. 2010-02-17 Moritz Orbach ls: fix a regression by honoring NORMAL attributes again Output the NORMAL attribute before non file name text. This attribute will continue into file names that would not otherwise be colored unless FILE is also set. The regression was introduced with commit 483297d5, 28-02-2009, "ls --color no longer outputs unnecessary escape sequences". * src/ls.c (set_normal_color): A new function to output the NORMAL attribute sequence if it's enabled. (print_current_files): Output NORMAL before printing long format info. (print_file_name_and_frills): Output NORMAL before printing file name. (print_color_indicator): Reset the attributes before a file name with attributes so that NORMAL attributes will not combine with them. (print_name_with_quoting): Ensure attributes are reset after printing the file name if NORMAL attributes were output. * tests/ls/color-norm: A new test for NORMAL and FILE combinations. * tests/Makefile.am: Reference the new test. * NEWS: Mention the fix. Reported in https://savannah.gnu.org/bugs/?26512 2010-02-16 Pádraig Brady maint: fix the man page correlation tests These checks were not being run as distcheck-hook targets are only supported in the top-level Makefile. Instead these tests are now run during a syntax-check. * cfg.mk (sc_man_file_correlation): A new syntax check to call the 2 existing tests to check the correlation between the programs and man/*.[1x]. * man/Makefile.am (sc_man_file_correlation): Call the 2 existing man page correlation tests. (check-x-vs-1): Remove the "GEN" annotation as it's a bit verbose. (check-programs-vs-x): Likewise. * src/Makefile.am (all_programs.list): Exclude libstdbuf.so from the list of programs. This issue was not noticed as the checks were not actually being run. 2010-02-16 Pádraig Brady tests: fix an unlikely race in tail-2/inotify-hash-abuse2 * tests/tail-2/inotify-hash-abuse2: Explicitly kill the process by using cleanup_() rather than using a timeout which may trigger a failure on very slow systems (< 20 iterations of the loop per second). 2010-02-15 Pádraig Brady doc: fix inconsistent capitalization in --help output * src/base64.c (usage): Don't capitalize the first character in an --option description. * src/stdbuf.c (usage): Likewise. * src/truncate.c (usage): Likewise. * cfg.mk (sc_option_desc_uppercase): A new syntax check to stop this happening in future. * man/Makefile.am (sc_option_desc_uppercase): Ensure all man pages are generated, then search for erroneous uppercase chars. * src/Makefile.am (all_programs): Ensure all commands are built so that all man pages can be generated. 2010-02-15 Jim Meyering remove.c: remove three unnecessary #include directives * src/remove.c: Don't include hash.h, hash-pjw.h or obstack.h. They have been unused since the fts rewrite. 2010-02-15 Eric Blake build: ignore another gnulib artifact * .gitignore: Add lib/warn-on-use.h. dirname: improve man page description * doc/coreutils.texi (dirname invocation): Properly cover behavior on directory. * man/dirname.x: Likewise. * THANKS: Update. Reported by Emmanuel Lacour. 2010-02-11 Pádraig Brady doc: remove extraneous periods from --help output * src/join.c (usage): Mention "fields" rather than repeating "line" so that it's more obvious that the fields are still parsed, and thus -o is still honored for headers. Also remove an extraneous '.' reported by Stéphane Raimbault. * src/base64.c (usage): Remove extraneous blank line and order the options alphabetically. Also remove an extraneous '.' * src/chown.c (usage): Remove extraneous '.' * src/cp.c (usage): Likewise. * src/mktemp.c (usage): Likewise. * src/pr.c (usage): Likewise. * src/stat.c (usage): Likewise. * src/uniq.c (usage): Likewise. 2010-02-10 Jim Meyering doc: add a TODO item * TODO: Consider adding a col implementation. 2010-02-07 Jim Meyering copy.c: improve a comment * src/copy.c (copy_reg): The comment about POSIXLY_CORRECT refers only to cp, not to any other application that uses copy.c. 2010-02-07 James R. Van Zandt doc: add a cross reference from tac's man page to "rev" * man/tac.x: See also "rev". 2010-02-07 Jim Meyering tests: include help-version test settings used by gzip and grep * tests/misc/help-version: ...the better to keep this file in sync. doc: rewrite part of README-release * README-release (Pre-release testing): Reorganize. 2010-02-05 Jim Meyering sync with gnulib * gl/lib/regcomp.c.diff: Update to apply to changed version in gnulib. * gnulib: Update submodule to latest. 2010-02-02 Pádraig Brady tests: fix various timeout races Prompted by the continuous integration build failure at: http://hydra.nixos.org/build/277485 * tests/misc/timeout: Set all expected timeouts to 1s and all unexpected timeouts to 10s. In this way, tests normally proceed quickly but may delay up to 10s before reporting failures. * tests/ls/infloop: Likewise. * tests/tail-2/pid: Likewise. * tests/tail-2/pipe-f: Likewise. * tests/tail-2/wait: Likewise. * tests/dd/skip-seek-past-dev: Likewise. 2010-02-01 OndÅ™ej Vašík tests: cp-a-selinux: skip the test if mounting a loop device fails * tests/cp/cp-a-selinux: Skip the test (instead of fail) if we fail to mount a loop device (e.g., none available). 2010-02-01 Pádraig Brady maint: fix a typo in NEWS * NEWS: s/contains/contain/ 2010-02-01 Pádraig Brady join: make -t '' operate on the whole line Previously passing an empty parameter to -t would raise an error, but now it means to treat each line as a single field for matching. This matches the default operation of `sort` which is usually used in conjunction with join. * src/join.c (main): Set the field delimiter to '\n' if an empty parameter is passed to -t. (usage): Mention the operation of -t ''. * tests/misc/join: Add 2 new tests, for the existing -t '\0' and the new -t '' functionality. * doc/coreutils.texi (join invocation): Mention that join -t '' always operates on the whole line, while join -t '\0' usually does. * NEWS: Mention the change in behavior. 2010-02-01 Assaf Gordon join: add --header option to always output the first line This essentially allows one to use --check-order with headings. Note join without --check-order will already handle the common case where headings do match in each file, however using --check-order will fail often when the header sorts after the first line of data. Note also that this will join header lines from each file even if they don't match, with headings from the first file being used. * NEWS: Mention the new option. * doc/coreutils.texi (join invocation): Describe the new option. * src/join.c (usage): Likewise. (join): Join the header lines unconditionally. * tests/misc/join: Add 5 new tests. 2010-02-01 Pádraig Brady maint: fix an inconsequential memory leak in join * src/join.c (join): Refactor the code that checks for misorder at the tail of the files. The most significant change here is that freeline() is called thus silencing a valgrind warning about a definite but inconsequential memory leak. (freeline): Make more general by doing nothing when passed NULL, and setting freed pointers to NULL. maint: use $(CONFIG_INCLUDE) rather than the hardcoding lib/config.h * tests/check.mk (TESTS_ENVIRONMENT): Use the generated CONFIG_INCLUDE variable. Note $(abs_builddir)/$(CONFIG_HEADER) also currently works, but $(CONFIG_HEADER) is deprecated and may not be generated in future. $(CONFIG_INCLUDE) was made available by gnulib in commit, 22970f8a, "syntax-check: detect incorrect boolean macro values in config.h" 2010-02-01 Jim Meyering ls --color: don't emit a final no-op escape sequence * src/ls.c (main): With --color, avoid emitting the final color- resetting escape sequence when it would be a no-op. * tests/ls/color-clear-to-eol: Adjust expected output accordingly. * tests/ls/color-dtype-dir: Likewise. * tests/ls/multihardlink: Likewise. * tests/ls/stat-free-symlinks: Likewise. * tests/misc/ls-misc: Likewise. * NEWS (Changes in behavior): Mention it. C de-Avillez rebased and adapted four of the new sl-dangle* tests in tests/misc/ls-misc. Reported by Jim Avera in http://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/494663 2010-01-28 Jim Meyering maint: move vulnerable-Makefile.in-check to gnulib * cfg.mk (sc_vulnerable_makefile_CVE-2009-4029): Move rule to... * gnulib: Update to latest, to get updated "maint.mk". 2010-01-27 Jim Meyering maint: add a syntax-check rule to check for vulnerable Makefile.in * cfg.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule. 2010-01-25 Kamil Dudka who --mesg (-T) can use a more accurate test for TTY writability Enabled when coreutils is configured with --with-tty-group. Based on a patch written by Piotr Gackiewicz. Details at http://bugzilla.redhat.com/454261 * src/who.c (is_tty_writable): A new function returning true if a TTY device is writable by the group. Additionally it checks the group to be the same as TTY_GROUP_NAME when compiled with --with-tty-group. * m4/jm-macros.m4: Introduce a new configure option --with-tty-group. * NEWS: Mention the change. 2010-01-24 Jim Meyering tests: fix a syntax-check rule to pass in non-srcdir build * cfg.mk (sc_x_sc_dist_check): This coreutils-specific syntax-check rule would fail in a non-srcdir build, since in that case, each name from $(VC_LIST) starts with "$(srcdir)/". Fix that. * gnulib: Update to latest, to pull in a required maint.mk change. 2010-01-23 Pádraig Brady tests: make cp-mv-enotsup-xattr independent of the host file system * tests/cp-mv-enotsup-xattr: Create a file system from which to copy the xattrs so that the test is not skipped if the host file system does not have user_xattr support. Also don't erroneously fail when built without xattr support. doc: add nproc to the texinfo overview menu * doc/coreutils.texi: Add nproc to the System context command list in the overview menu. maint: ensure test independence from config macro format * tests/cp/acl: Support USE_ACL not being defined. * tests/mv/acl: Likewise. Also fix typo in skip message. * tests/cp/preserve-slink-time: Support HAVE_UTIMENSAT being 0. * tests/touch/no-dereference: Likewise. * tests/ls/capability: Normalize so 1 is not required to be last char. 2010-01-19 Eric Blake build: fix failure from bogus USE_XATTR definition * m4/xattr.m4 (gl_FUNC_ADDR): Fix regression introduced in commit 6beca4248. * THANKS: Update. Reported by Adam Sampson. 2010-01-18 Jim Meyering libstdbuf: plug a very unlikely leak * src/libstdbuf.c (apply_mode): Don't leak "buf" upon setvbuf failure. pr: avoid two over-allocations * src/pr.c (init_store_cols): Allocate N*sizeof(*VAR) bytes, not N*sizeof(int*). The latter would mistakenly allocate double the required space on a system with 8-byte pointers. 2010-01-14 Jim Meyering maint: add missing "post-release push" step to release procedure * README-release: Push the automated release and post-release NEWS-updating commits. Pádraig Brady reported that I'd pushed the tag without also pushing the followup commit. 2010-01-13 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.4 * NEWS: Record release date. 2010-01-13 Pádraig Brady tests: avoid spurious failures on older shells * tests/tail-2/inotify-hash-abuse: Use kill rather than wait to determine if the tail process is still running. * tests/tail-2/inotify-hash-abuse2: Ditto. 2010-01-13 Jim Meyering tests: work around spurious test failure with OpenBSD4.5's /bin/sh * tests/ls/infloop: OpenBSD4.5's /bin/sh would mistakenly include "set -x"-output in an application's stderr stream when stderr is redirected before stdout. This was causing one spurious test failure. The work-around: redirect stdout first. Reported by Nelson Beebe. tests: don't silently skip the sort-version tests * tests/misc/sort-version: Don't use <<- and indented here-doc contents. s/<<-/<[4]: here document `x' unclosed [Exit 1] by contrast, bash warns but still exits successfully: $ printf 'cat<<-x\n foo\n x\n'|bash && echo you lose bash: line 3: warning: here-document at line 1 delimited by \ end-of-file (wanted `x') foo x you lose 2010-01-12 Eric Blake tests: avoid spurious failure on old kernel * tests/touch/no-dereference: Skip test if utimensat doesn't support symlinks. Reported by Bernhard Voelker. 2010-01-12 Pádraig Brady maint: update info about getting the prerequisite automake * README-prereq: Now that we require automake-1.11.1 update the instructions from getting it from the git repo maint: remove an already handled item from TODO * TODO: The question regarding printf octal escapes is answered in commit 4bcefa62, 2003-04-21, "Fix printf POSIX compatibility bug ..." maint: fix tests on solaris by using /usr/xpg4/bin * tests/check.mk: Prepend /usr/xpg4/bin to the $PATH if present. Using the more standard utilities allows tests such as misc/printenv, which uses the -E option to grep, to complete. 2010-01-12 Jim Meyering build: update gnulib, to get fixed getlogin-related tests build: fix build failure due to missing libxattr Configure is supposed to detect insufficient XATTR support. However, if a system has the required headers, but no library, the configure script would mistakenly enable USE_XATTR. * m4/xattr.m4 (gl_FUNC_XATTR): If the attr_copy_file function is not found, don't set USE_XATTR. Nelson Beebe reported a link failure on RHEL 5.3. Also, do not let the combination of --disable-xattr and a stray LIB_XATTR environment setting perturb the build. * NEWS (Build-related): Mention it. doc: mention the wchar.h vs. glibc build problem * NEWS (Build-related): Mention the wchar.h issue. 2010-01-12 Pádraig Brady nproc: return a possibly more accurate total CPU count * gnulib: Update, for num_processors() improvement. * NEWS: Mention the fix. 2010-01-12 Kamil Dudka ls: reorder includes to work around broken * src/ls.c: Include later, to avoid build failure with a header from libcap-2.16-1 or earlier. See http://bugzilla.redhat.com/483548 for details. 2010-01-08 Eric Blake maint: move coreutils specific rule into cfg.mk * gnulib: Update, for maint.mk improvement. * cfg.mk (_makefile_at_at_check_excpetions): New rule, needed for latest change to maint.mk. 2010-01-07 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.3 * NEWS: Record release date. maint: change an email address in THANKS * THANKS: Adjust Denis' address. 2010-01-07 Eric Blake pr: ensure the page header line is of the required format Before this change, with too long a file name, the name would abut the date field on the left and possibly also the "Page N" field on the right, rather than leaving a one-space separator in each case. Fixes a regression introduced on Mar 6 2009, by commit a4053c5291d5797734b3e4f042f9e1adf3944fd6 * src/pr.c (print_header): Ensure that there is at least one space before and after the file name part of the header line. * NEWS: Mention it. * tests/pr/W20l24f-ll: s/xPage/ x Page/. * THANKS: Update. Reported by Denis McKeon, in https://savannah.gnu.org/bugs/?28492. 2010-01-07 Eric Blake maint: apply correct license to auxiliary files * gnulib: Update, for maint.mk improvements. * HACKING: Use GFDL 1.3, not 1.2. * NEWS: Likewise. * README: Likewise. * cfg.mk (old_NEWS_hash): Update accordingly. * .gitignore: Ignore file created by 'make update-NEWS-hash'. 2010-01-06 Jim Meyering build: require newer versions of automake and autoconf * configure.ac: Require autoconf-2.62 and automake-1.11.1 or newer. * bootstrap.conf (buildreq): Require automake-1.11.1 or newer, to ensure people use a version with the fix for CVE-2009-4029. Note that the coreutils-8.2 tarball included a fixed Makefile.in. Require autoconf-2.62, per automake. 2010-01-06 Eric Blake cp, touch: avoid problem with new glibc * gnulib: Update, for utimens fix. * NEWS: Mention the fix. Reported by Guillaume Ayoub in http://bugs.debian.org/563726. See also http://bugzilla.redhat.com/552320. 2010-01-05 Philip Rowlands doc: fix typo in NEWS * NEWS: Fix typo: s/repeated/repeatedly/ 2010-01-05 Jim Meyering build: update gnulib submodule to latest maint: always free a buffer, to avoid even semblance of a leak * src/tac.c (main): Free the input buffer in most cases. 2010-01-04 Jim Meyering maint: use more readable operator: "||" rather than "|" * src/cp.c (make_dir_parents_private): Use "||" rather than "|", so that clang understands there is no undefined pointer dereference. 2010-01-03 Jim Meyering maint: record update-copyright options for this package * cfg.mk: Next time, just run "make update-copyright". 2010-01-01 Eric Blake ls: fix color of broken symlinks colored as target * src/ls.c (print_color_indicator): When using 'LINK target' in dircolors, treat broken symlink as C_ORPHAN. * tests/misc/ls-misc (sl-dangle2, sl-dangle3, sl-dangle4) (sl-dangle5): Test for it, and add more coverage. * NEWS: Document it. * THANKS: Update. Reported by Chris Jones. 2010-01-01 Jim Meyering df: use fputs in place of printf in a few more places * src/df.c (print_header): Use fputs rather than printf in more places. Suggested by Eric Blake. build: update gnulib submodule to latest maint: add a few copyrights; remove obsolete README file * tests/README: Remove long-obsolete file. * tests/Makefile.am (EXTRA_DIST): Remove README. * tests/misc/truncate-dir-fail: Add copyright comment. * tests/misc/selinux: Likewise. * tests/misc/chcon: Likewise. * tests/misc/chcon-fail: Likewise. * tests/sample-test: Use only 2010 in this list. maint: update all FSF copyright year lists to include 2010 Use this command: git ls-files | grep -v COPYING \ | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \ build-aux/update-copyright 2010-01-01 Stéphane Raimbault pr --help: add missing space between short and long options usage message * src/pr.c (usage): Add missing space. pr --help: improve a line-break * src/pr.c (usage): Move the newline character a bit farther. df: add comments to help translators align column headers * src/df.c (print_header): Add a comment telling translators to retain the message length, and another to align header translations. 2009-12-31 Jim Meyering maint: newer gnulib; don't hard-code my GPG key ID * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it. * gnulib: Update to latest. doc: update tail's documentation to allow for new -F semantics * src/tail.c (usage): Reword tail -F description, so that it no longer mentions details specific to the non-inotify implementation. Also, join diagnostic strings (while staying under the 509-byte limit) to ease formatting of translations. The latter was prompted by a report from Stéphane Raimbault. * doc/coreutils.texi (tail invocation): Update description here, too. 2009-12-31 Eric Blake touch: work around ntfs-3g bug * gnulib: Update, for utimensat fix. * NEWS: Improve wording about touch fixes. * THANKS: Update. Reported by Stuart Citrin. 2009-12-30 Jim Meyering build: update gnulib submodule to latest doc: mention two tail -F bug fixes in NEWS * NEWS (Bug fixes): Two tail -F fixes. tail: test for a bug in inotify-enabled tail -F tail -F a b would stop tracking additions to b after "mv a b". * tests/tail-2/F-vs-rename: New file. * tests/Makefile.am (TESTS): Add it. 2009-12-30 Giuseppe Scrivano tail -F: don't stop following the target of a rename This fixes a bug whereby tail -F would fail to track changes to a file that was a target of a rename, and when the source of the rename was another tailed file. * src/tail.c (tail_forever_inotify): Ensure the wd is not already present in the hash table before trying to add it. When a new watch descriptor is added to the `wd_to_name' hash table, check that it is not already present. If it is present then remove the previous element. 2009-12-30 Pádraig Brady maint: improve the info about $PATH in README-prereq * README-prereq: It wasn't obvious that the $PATH should be set before building any of the prerequisite packages, so move that information up. 2009-12-29 Jim Meyering tail: add another test to exercise abort-inducing flaw in tail -F * tests/tail-2/inotify-hash-abuse2: New test, based on a reproducer by Rob Wortman. * tests/Makefile.am (TESTS): Add it. tail: add a test to exercise abort-inducing flaw in tail -F * tests/tail-2/inotify-hash-abuse: New file, derived from a report by Rob Wortman. * tests/Makefile.am (TESTS): Add it. Improved by: Pádraig Brady. 2009-12-29 Giuseppe Scrivano tail: remove `fdspec' from the hash table before changing its key * src/tail.c (tail_forever_inotify): Avoid modifying fdspec->wd while it is in the wd_to_name hash table. Once it is removed, it can be added using the new `wd' as key for the hash table. This fixes the abort-inducing bug reported by Rob Wortman in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19372 2009-12-29 Jim Meyering maint: quiet "make" in doc/ * doc/Makefile.am (constants.texi): Add a use of AM_V_GEN. tail: rename an internal variable * src/tail.c (tail_forever_inotify): s/wd_table/wd_to_name/ tail: avoid read-beyond-end-of-buffer error * src/tail.c (tail_forever_inotify): Do not use f[i] in a context where i may be larger than the largest valid index. In the final "if" clause in which we'd remove an inotify watch, we might have used f[n_files]. Use fspec instead, since it is guaranteed to be defined. 2009-12-26 Eric Blake maint: ignore more built files Recent gnulib changes added new built files. * .gitignore: Add arg-nonnull.h, link-warning.h, unused-parameter.h. 2009-12-26 Eric Blake tac: supply link dependency * src/Makefile.am (tac_LDADD): Add LIB_GETHRXTIME. * THANKS: Update. Reported by Robert Schwebel. 2009-12-26 Jim Meyering build: update gnulib submodule to latest tail: shrink internal struct by 8 bytes * tail.c (struct File_spec): Rearrange struct members to decrease size by 8 bytes to 76,96 on i686,x86_64 respectively. 2009-12-25 Jim Meyering maint: tail: avoid in-function #if directives * src/tail.c (fremote): Add a comment. Move definition "up" to precede first use, so we can remove its prototype and the #if..#endif around each use. (any_remote_file): Rename from any_remote_files. 2009-12-25 Pádraig Brady tail: fix --follow to not use inotify on remote files * src/tail.c (struct File_spec): Add a flag to record if file is remote. (recheck): If we're using inotify then check if the file has gone remote and if so, drop it with a warning. (any_remote_files): A new function to check for any open remote files. (tailable_stdin): A new function to refactor the check for whether a tailable file was specified through stdin. (fremote): A new function to check if a file descriptor refers to a remote file. (tail_forever_inotify): Add some comments. (tail_file): Record if a file is remote when initially opened. (main): Disable inotify if any remote files specified. Also document the caveat about remounted files not being noticed by inotify. * NEWS: Mention the fix. 2009-12-23 Pádraig Brady wc: line-buffer the printed counts * src/wc.c (main): Set stdout to line buffered mode to ensure parallel running instances don't intersperse their output. This adds 6.5% to the run time in the worst case of many zero length files, but has neglible impact for standard sized files. * tests/misc/wc-parallel: New test for atomic output. * tests/Makefile.am: Reference it. * NEWS: Mention the fix This is similar to commit 710fe413, 20-10-2009, "md5sum, sha*sum, sum: line-buffer the printed checksums" 2009-12-22 Pádraig Brady stat: Recognize k-afs, gfs, ocfs2 file system types * src/stat.c (human_fstype): Add k-afs, gfs/gfs2 and ocfs2. * NEWS: Update the stat -f entry. stat: add support for more file system types * src/stat.c (human_fstype): Add the following FS types: fuseblk, rpc_pipefs. Also fix a typo of minux3 to minix3, and mention the fs-magic-compare make target to help update the list. * NEWS: Mention the fix. 2009-12-20 Jim Meyering build: correct coreutils-specific distcheck rules * dist-check.mk (built_programs): Use $(bin_PROGRAMS), not $(PROGRAMS). Otherwise, my-instcheck would fail due to non-installation of e.g., the noinst_PROGRAMS, setuidgid and getlimits. (taint-distcheck): Correct the grep command that checks for libtool traces in configure. 2009-12-20 Eric Blake touch: fix ctime regression in 'touch -a' Regression introduced in coreutils 8.1 due to a bug in the Linux kernel implementation of utimensat with mtime of UTIME_OMIT. * gnulib: Update to latest, to pick up utimensat fix. * NEWS: Mention the change. * THANKS: Update. Reported by John Stanley. 2009-12-19 Pádraig Brady maint: don't include the strverscmp gnulib module * bootstrap.conf (gnulib_modules): Remove the strverscmp module which is not used since commit e505736f, on 03-10-2008, "ls and sort: use filevercmp instead of strverscmp" doc: enhance and reference info about version comparison * doc/coreutils.texi (sort invocation): Reference the additional info about filevercmp rather than the unused strverscmp. (Details about version sort): Add some examples that are not handled well by fileversmp. * src/ls.c: Change a comment referencing the now unused strverscmp. rm: fix --one-file-system regression due to fts conversion * src/remove.c (rm_fts): Fix incorrect comparison of device and inode numbers. * tests/rm/one-file-system2: Add a separate test so that it can be run as a normal user (It doesn't need to mount). * tests/Makefile.am: Reference it. * NEWS: Mention the fix. Reported by Jan Larres. 2009-12-14 Jim Meyering maint: improve dist-check.mk rules * dist-check.mk (null_AM_MAKEFLAGS): Remove LIBTOOL. Adding it was erroneous, since it is required when building from a distribution tarball of a libtool-using project. Reported by Ralf Wildenhues. (my-distcheck): Reorganize to use a subshell and set -e, so that failures propagate "out". Without this change, setting LIBTOOL=false would cause a failure that would then be ignored, probably due to a problem in $(install-transform-check). 2009-12-14 Thiago Farina base64: use *_OPTION_DESCRIPTION macros instead of hard-coded strings * src/base64 (usage): Use HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTION macros, not literal strings. 2009-12-13 Jim Meyering tests: unpack xz-compressed tarballs when possible, not always *.gz * dist-check.mk: Unpack compressed tarball using xz when possible, since that's faster. maint: make dist-check.mk more easily shared * dist-check.mk (built_programs): More generic, but still assumes src/. Don't set GZIP in environment when untarring. (my-distcheck): Use $(DIST_ARCHIVES), rather than assuming that there is always a .tar.gz file. nohup: if fd_repoen fails (redirecting stdin), report it * src/nohup.c (main): Don't ignore fd_reopen failure. tests: make the taint-distcheck rule easier to share with other projects * dist-check.mk (taint-distcheck): Skip this test in a project that uses libtool. stat: recognize "sockfs" file system type, ... ... now that its magic number appears in . * src/stat.c (human_fstype) [S_MAGIC_SOCKFS]: Add case. maint: move definitions from maint.mk to dist-check.mk * dist-check.mk (null_AM_MAKEFLAGS): Define here, not in maint.mk. (built_programs): Likewise. (my-distcheck): Move comments to... (coreutils-path-check): ...the code they refer to. Remove obsolete comments. (null_AM_MAKEFLAGS): Add gperf, even though it's not used here. * gnulib: Update to latest, for fixed maint.mk. 2009-12-12 Jim Meyering tests: tail-without-inotify: avoid spurious test failure * tests/tail-2/wait: Account for the possibility that the kernel lacks inotify support. Reported by Chris Clayton. factor: add a missing va_end * src/factor.c (debug): Add missing va_end. 2009-12-11 Jim Meyering build: update gnulib submodule to latest; adapt a patch * gl/lib/tempname.c.diff: Adjust patch to apply to gnulib, now that most TABs in indentation have been converted to spaces by running this command: f=tempname.c.diff; patch-xform $f > k && mv k $f post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.2 * NEWS: Record release date. tests: use a slightly better CU_TEST_NAME setting * tests/check.mk (CU_TEST_NAME): Better test names. tail: don't call fstat on an uninitialized FD This bug showed up via valgrind as a "Conditional jump or move depends on uninitialized value(s)" error. * src/tail.c (ignore_fifo_and_pipe): New function. (main): Use it only when tailing forever. The code to compute n_viable and mark some F[i] as ignored would call isapipe on an uninitialized file descriptor. But n_viable and those .ignored marks are useful/used only when tailing forever. This bug was introduced via commit f0ff8c73 (7.6), "tail: make the new piped-stdin test as portable as the old one". * NEWS (Bug fixes): Mention it. doc: NEWS: mention that gnulib's mgetgroups fix affects id * NEWS (Bug fixes): Mention the "id" bug fix inherited via this gnulib change: "mgetgroups: do not write bytes beyond end of malloc'd buffer" http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=51d5e813e9ee6cf23 2009-12-10 Jim Meyering build: update gnulib submodule to latest tests: avoid spurious failure when run via valgrind * tests/misc/printenv: Ignore LD_PRELOAD differences. 2009-12-09 Jim Meyering doc: NEWS: the "make distcheck" vulnerability dates back to 5.0 * NEWS (Bug fixes): Correct the introduced-in version number. This was introduced on 2003-04-02 by commit 722a49ea. doc: NEWS: mention the "make distcheck" vulnerability * NEWS (Bug fixes): Mention implications of the "make distcheck" change. This was introduced on 2008-07-22 by commit 9bb0d576, "tests: ensure "make check" w/tainted build dir no longer impacts $HOME". tests: don't let "umask 077" cause root-only cp/preserve-gid failure * tests/cp/preserve-gid: Use working_umask_or_skip_ to set umask to 022. 2009-12-08 Jim Meyering build: update gnulib submodule to latest 2009-12-08 Pádraig Brady maint: remove an erroneous comment * tests/misc/timeout: Remove an erroneous comment introduced through copy and paste. sort: fix failure if sort's parent has ignored SIGCHLD * src/sort.c (main): Reset the SIGCHLD handler to the default as otherwise wait() could return an error. * tests/misc/sort-compress: Set the CHLD handler in a subshell to SIG_IGN to ensure the sort command resets it to SIG_DFL. * NEWS: Mention the fix. timeout: fix failure if timeout's parent has ignored SIGCHLD * src/timeout.c (main): Reset the SIGCHLD handler to the default as otherwise wait() could return -1 and set errno to ECHILD. This condition was ignored until commit 0b1dcf33, on 31-08-2009, "timeout: defensive handling of all wait() errors" but subsequently timeout would run the command correctly but then fail with an error message. * tests/misc/timeout: In a subshell set the CHLD handler to SIG_IGN to ensure the timeout command resets it to SIG_DFL. * NEWS: Mention the fix. tests: fix stty-row-col failure on small fixed terminals * tests/misc/stty-row-col: Linux virtual consoles at least, issue an error if you try to increase their size, so skip the test if we can't increase the dimensions of the tty by 1 cell. Reported by Matthew Burgess. tests: fix stty failure with serial control settings * tests/misc/stty: Don't check the serial control settings as these are ignored by various Linux kernels. Reported by Matthew Burgess. 2009-12-07 Jim Meyering build: update gnulib submodule to latest build: distcheck: do not leave a $TMPDIR/coreutils directory behind * dist-check.mk (tmpdir): Rename from TMPDIR. Use ./tests/torture unconditionally, rather than $TMPDIR-with-default-to-/tmp. Otherwise, running "make distcheck" could leave an empty /tmp/coreutils directory behind. (tp): Simplify, now that it's always in the build-dir. (taint-distcheck): Set HOME earlier, in case $(MAKE) misbehaves. (my-instcheck, coreutils-path-check): Add diagnostics, so it's easier to diagnose when each runs. (coreutils-path-check): Run configure with --quiet, to reduce output. Inspired by Ralf Wildenhues' report of /tmp/coreutils being left behind. 2009-12-06 Jim Meyering tests: readdir-mountpoint-inode avoid false-positive w/virtualbox * tests/ls/readdir-mountpoint-inode: With some systems, stat can succeed on a mount point and report that the inode number is 0. Since ls displays "?" for those, that would otherwise show up as a difference. Skip such mount points. Reported by Sergei Steshenko in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19142 2009-12-06 Pádraig Brady tests: don't run tail-2/inotify-race by default * tests/tail-2/inotify-race: Note the caveats of the test. I.E. the intermittent skips and the gdb hang reported by Alan Curry. Add extra info to the log on why the test is skipped as it may be due to multiple reasons. Mark the test as very expensive so that it's not normally run. 2009-12-05 Eric Blake id: handle systems without getgroups support If getgroups failed with ENOSYS, mgetgroups would unnecessarily fail, and that provoked id into freeing an uninitialized pointer. Meanwhile, we were not using xalloc_die properly. Both issues are better solved in gnulib, by introducing xgetgroups; this patch uses the new interface. Regression introduced by commit 6a31fd8d7. * gnulib: Update, for mgetgroups improvments. * src/id.c (print_full_info): Adjust caller to die on allocation failure, and no longer worry about ENOSYS. * src/group-list.c (print_group_list): Likewise. * src/setuidgid.c (main): Likewise. * NEWS: Mention the fix. * THANKS: Update. Reported by Scott Harrison. 2009-12-03 Jim Meyering tests: fix a bug in sanitize_path_ that inhibited verbose output * tests/test-lib.sh (sanitize_path_): Use "set -- ...", not "set - ...", since the latter turns off the -x setting we rely on for VERBOSE=yes output. 2009-12-01 Eric Blake sort: fix link failure on Solaris Commit f9d0bb8481 made sort depend on xnanosleep. * src/Makefile.am (sort_LDADD): Add LIB_NANOSLEEP. 2009-12-01 Jim Meyering rm: fix empty-name bug introduced with conversion to use fts While "rm ''" would properly fail, "rm F1 '' F2" would fail to remove F1 and F2, due to the empty string argument. This bug was introduced on 2009-07-12, via commit 4f73ecaf, "rm: rewrite to use fts". * gnulib: Update to latest, for fixed fts.c. * NEWS (Bug fixes): Describe it. * tests/rm/empty-name: Adjust for changed diagnostic. (mk_file): Define, copied from misc/ls-misc. (empty-name-2): New test, for today's fix. * lib/xfts.c (xfts_open): Reflect the change in fts_open, now that it no longer fails immediately when one argument is the empty string. Assert that the bit flags were not the cause of failure. * po/POTFILES.in: Remove xfts.c. * THANKS: Update. Reported by Ladislav Hagara. 2009-11-30 Pádraig Brady bootstrap: fix handling of various perl --version formats * bootstrap (get_version): Don't use perl's $] special variable, as that requires updating all bootstrap.conf files to use perl's x.yyyzzz version format. Instead make the regular expression more general to support version formats from older perl-5.005_002 (5.5.2) and perl-5.11 which has other numbers in the version line. 2009-11-29 Jim Meyering bootstrap: update from gnulib, for perl-5.11.x support * bootstrap (get_version): Handle perl separately, since perl-5.11's --version output is different. build: update gnulib submodule to latest 2009-11-28 Jim Meyering maint: chown.c: remove a comment * src/chown.c: Remove old spec-like comment. 2009-11-24 Eric Blake tests: fix link failure on cygwin Counterpart to commit 8fe40b84bd8, since test-link.c uses rename, and we override gnulib with a rename() replacement that can xalloc_die. * gl/modules/link-tests.diff: New file. 2009-11-24 Eric Blake build: fix link failure on cygwin Cygwin 1.5 has a broken sleep, and the gnulib tests dragged in rpl_sleep which then caused a link failure because it wasn't in libcoreutils.a. We could solve it by using the gnulib sleep module. However, sleep and usleep may interact poorly with SIGALRM, and they have less granularity; so it is better to adopt a policy that if we must sleep, prefer xnanosleep. * src/sort.c (pipe_fork): Use xnanosleep, to avoid the need for rpl_sleep on cygwin, and to reduce granularity. (MAX_FORK_TRIES_COMPRESS, MAX_FORK_TRIES_DECOMPRESS): Increase, to account for reduction in granularity. * src/tail.c (tail_file): Use xnanosleep in debug code. * cfg.mk (sc_prohibit_sleep): New rule. 2009-11-23 Jim Meyering tests: avoid test failures when PATH contains an unsearchable directory * tests/test-lib.sh (sanitize_path_): New function. Always call it. 2009-11-22 Dmitry V. Levin tests: do not fail on read-only root file system * tests/touch/not-owner: Handle the case when the root file system is mounted read-only. Reported by Solar Designer. 2009-11-20 Jim Meyering maint: cfg.mk: remove factored-out ftp host/dir definitions * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable): (gnu_rel_host, url_dir_list): Remove definitions. The defaults, now provided by maint.mk, are the same. * gnulib: Update for latest, including those maint.mk additions. maint: correct comments in test scripts * tests/misc/pwd-long: Fix spelling of cygwin1.dll in comment. * tests/rm/fail-eperm: Likewise. Reported by Eric Blake. maint: don't list "warnings" module explicitly * bootstrap.conf (gnulib_modules): Remove "warnings", now that it's pulled in automatically via "manywarnings". maint: move xfreopen module to gnulib * gl/lib/xfreopen.c: Remove file. * gl/lib/xfreopen.h: Likewise. * gl/modules/xfreopen: Likewise. build: update gnulib submodule to latest 2009-11-19 Jim Meyering tests: avoid spurious failures due to insecure directory in PATH These tests perform no PATH search, and used to simply delete PATH from the environment. However, that is not portable, as seen on Cygwin, where cygwin.dll must be resolvable via PATH when starting a sub-shell. With commit 0cc04241, we took the alternate approach of untainting the incoming $ENV{PATH}, but that fails when it contains an other-writable directory. Instead, now we hard code it to '/bin:/usr/bin'. * tests/misc/pwd-long: Hard code $ENV{PATH} to a safe value. * tests/rm/fail-eperm: Likewise. Reported by Gilles Espinasse, Andreas Schwab, and Bauke Jan Douma. 2009-11-18 Jim Meyering build: "make stable" emitted an invalid gnupload command * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major. * README-release: Change another s/major/stable/. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.1 * NEWS: Record release date. build: update gnulib for Solaris utimens workaround build: update gnulib submodule to latest 2009-11-17 Jim Meyering maint: remove local gnulib-related patches * gl/lib/printf-args.c.diff: Remove file. No longer needed. * gl/lib/vasnprintf.c.diff: Likewise. build: update gnulib for Solaris 10 unsetenv work-around doc: mention the du/fts vs. NFSv4 mount-point work-around * NEWS (Changes in behavior): Mention it. build: update from gnulib for (un)setenv fixes 2009-11-16 Jim Meyering build: update gnulib submodule to latest true, false: perform initialization only when argc == 2 * src/true.c (main): There is no reason to examine argv[0], call atexit, etc., in the usual case in which we're about to exit. This has the side effect of making it so that these programs no longer segfault when subjected to execve abuse. Before this change, these commands would make "true" segfault: printf '%s\n' '#include ' 'int main(int c, char**v)' \ '{ execve (v[1], 0, 0); }' > k.c && gcc k.c && ./a.out $PWD/true Now it succeeds. Reported by Tetsuo Handa and Bart Van Assche via OndÅ™ej Vašík in http://bugzilla.redhat.com/537684. tail -F can fail to track a file after it's been rotated Tailing forever and by-name (--follow=name, -F), tail would sometimes fail to follow a file that had been removed via rename. If you can't apply this patch and have tail 7.6 or newer, you can work around the bug via the undocumented --disable-inotify option. * src/tail.c (tail_forever_inotify): When tailing by name (-F), do not un-watch a file upon receipt of the IN_MOVE_SELF event. Reported by Arjan Opmeer in http://bugs.debian.org/548439. * NEWS (Bug fixes): Mention it. Also see http://marc.info/?l=coreutils-bug&m=125829031916515 * tests/Makefile.am (TESTS): Add tail-2/inotify-rotate. * tests/tail-2/inotify-rotate: New test. 2009-11-14 Jim Meyering tests: help-version: exit nonzero when $built_programs is empty * tests/misc/help-version: Use "Exit 1", rather than "Exit $fail" with fail defined to 0 when $built_programs is empty. build: do use AM_GNU_GETTEXT's "need-formatstring-macros" option * configure.ac: Revert commit 49741b61 and add a comment. Reported by Eric Blake. 2009-11-14 Pádraig Brady tests: avoid a spurious failure on a loaded system * tests/misc/timeout-parameters: This test could fail due to the 1-second timeout expiring before a command of "no_such" could be exec'd and fail. Increase to 10 seconds. 2009-11-13 Jim Meyering build: require gettext-0.17 * configure.ac: Require gettext-0.17; it was released two years ago. build: correct gettext configure-time support * configure.ac: Use AM_GNU_GETTEXT([external], [need-ngettext]), rather than AM_GNU_GETTEXT([external], [need-formatstring-macros]). Reported by Martin Jacobs in http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3181 * THANKS: Add his name. build: update gnulib to latest, for fixed test-getgroups.c tests: avoid a spurious timeout on a heavily-loaded system * tests/misc/timeout-parameters: This test would fail due to the 1-second timeout expiring before a command of "." could be exec'd and fail. Increase to 10 seconds. 2009-11-13 Eric Blake build: update gnulib, for getgroups improvements A replacement getgroups is now guaranteed to exist, but it may fail with ENOSYS. mgetgroups is moved to gnulib, and now takes gid_t instead of GETGROUPS_T (but setgroups still needs GETGROUPS_T). * gnulib: Update to latest. * gl/modules/mgetgroups: Delete, moved to gnulib. * gl/m4/mgetgroups.m4: Likewise. * gl/lib/mgetgroups.h: Likewise. * gl/lib/mgetgroups.c: Likewise. * src/group-list.c (print_group_list): Adjust callers. * src/id.c (print_full_info): Likewise. 2009-11-12 Jim Meyering build: bootstrap: add a comment; generalize autoheader check * bootstrap: Sync from gnulib and diff. build: update gnulib to latest; more *BSD and Solaris work-arounds 2009-11-11 Jim Meyering bootstrap: use git_modules_config in one more place * bootstrap: Make bootstrap's --gnulib-srcdir more useful (for testing). 2009-11-10 Eric Blake doc: fix typo * doc/coreutils.texi (mktemp invocation): Quote shell variable. 2009-11-09 Jim Meyering build: update gnulib submodule to latest for its FreeBSD fixes 2009-11-09 Pádraig Brady ls: fix capability coloring Capability checking was incorrectly done on just the base name rather than on the whole path. Consequently there could be both false positives and negatives when coloring files with capabilities. Also capability checking was not done at all in certain cases for non executable files. Note passing absolute rather than relative names to cap_get_file() reduces the has_capability() overhead from around 33% to 30%. I.E. ls --color is now around 3% faster. * src/ls.c (struct fileinfo): Add a has_capability member. (print_color_indicator): Refactor to pass just a fileinfo pointer and a flag to say if we're dealing with a symlink target. (print_name_with_quoting): Likewise. (gobble_file): Set has_capability in the fileinfo struct. Also do a capability check even if executable coloring is disabled. Ditto for SETUID and SETUID coloring. Comment on how expensive has_capability() is. (print_long_format): Adjust to refactored print_name_with_quoting. (quote_name): Likewise. (print_file_name_and_frills): Likewise. * tests/ls/capability: Test the various false positive and negatives. * THANKS: Add reporter (Ivan Labath). * NEWS: Mention the fix. 2009-11-07 Eric Blake build: consistently use freopen-safer cat, head, ptx, shuf, tac, tail, tee, tr, and uniq used freopen on stdout, and were potentially vulnerable. dircolors, du, and tsort only used it on stdin, which is unaffected by freopen_safer, but this covers all uses for consistency. * cfg.mk (sc_require_stdio_safer): New rule. * gl/modules/xfreopen (Depends-on): Add freopen-safer. * gl/lib/xfreopen.c (includes): Use stdio--.h. * src/ptx.c (includes): Likewise. * src/shuf.c (includes): Likewise. * src/uniq.c (includes): Likewise. * src/dircolors.c (includes): Likewise. * src/du.c (includes): Likewise. * src/tsort.c (includes): Likewise. 2009-11-07 Eric Blake mktemp: fix bug with -q and closed stdout If stdin or stdout is closed, then freopen(,stderr) can violate the premise that STDERR_FILENO==fileno(stderr), which in turn breaks mktemp -q. * bootstrap.conf (gnulib_modules): Add freopen-safer. * src/mktemp.c (includes): Use stdio--.h. * tests/misc/close-stdout: Enhance test to catch bug. 2009-11-07 Jim Meyering maint: make du's cycle-detection code consistent * src/du.c (process_file): Revert the du.c-changing part of commit 8ba5d1a7. Use cycle_warning_required instead. chcon, chgrp, chmod and chown now diagnose a directory cycle * lib/xfts.c (cycle_warning_required): New function. * lib/xfts.h: Declare it. * src/chown-core.c (change_file_owner): Diagnose a cycle. * src/chmod.c (process_file): Likewise. * src/chcon.c (process_file): Likewise. * NEWS (Bug fixes): Mention this. 2009-11-06 Giuseppe Scrivano nproc: A new program to count the available processors * AUTHORS: Add my name. * NEWS: Mention it. * README: Likewise. * bootstrap.conf (gnulib_modules): Add nproc. * doc/coreutils.texi (nproc invocation): Add nproc info. * man/Makefile.am (nproc.1): Add dependency. * man/nproc.x: New template. * man/.gitignore: Ignore generated man page. * po/POTFILES.in: Add src/nproc.c. * src/.gitignore: Exclude nproc. * src/Makefile.am (EXTRA_PROGRAMS): Add nproc. * src/nproc.c: New file. * tests/Makefile.am (TESTS): Add misc/nproc-{avail,positive}. * tests/misc/nproc-avail: New file. * tests/misc/nproc-positive: New file. 2009-11-06 Jim Meyering build: move do-release-commit-and-tag to gnulib * bootstrap.conf (gnulib_modules): Add do-release-commit-and-tag. * build-aux/do-release-commit-and-tag: Remove file. Now it's in gnulib. * gnulib: Update submodule to the latest, to get the just-moved script. 2009-11-05 Eric Blake mktemp: use more robust means to avoid double-close of stdout Reverts earlier patch - fflush() can succeed but fclose() fail for some cases of write failures, and we want to catch those. * src/mktemp.c (stdout_closed): New variable. (maybe_close_stdout): New function, borrowed from dd.c. (main): Track whether stdout has been closed. 2009-11-05 Eric Blake mktemp: enhance test to catch just-fixed typo behavior Penance for botching the conflict resolution while rebasing my series. * tests/misc/mktemp (check_tmp): Test for the bug when wrong parameter is used. 2009-11-05 Jim Meyering mktemp: don't try to close stdout twice * src/mktemp.c (main): Rather than calling close_stream (which would make atexit-called close_stdout try to close it a second time), check for write failure via ferror and fflush. mktemp: don't use suff_len in place of #-of-`X's variable * src/mktemp.c (mkstemp_len, mkdtemp_len): Pass x_len as final argument, and not suff_len. 2009-11-05 Eric Blake mktemp: add suffix handling Now that mkstemps is supported, we might as well use it. * src/mktemp.c (TMPDIR_OPTION): New enum value. (longopts): Add new option. (usage): Document it. (count_trailing_X_s): Rename... (count_consecutive_X_s): ...to this, and add parameter. (mkstemp_len, mkdtemp_len): Add parameter. (main): Implement new option. (AUTHORS): Add myself. * AUTHORS (mktemp): Likewise. * tests/misc/mktemp: Test new option. * doc/coreutils.texi (mktemp invocation): Document it. * NEWS: Likewise. Fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548316. 2009-11-05 Eric Blake build: reflect gnulib changes to tempname In glibc 2.11 and gnulib, gen_tempname added a parameter suffixlen (unfortunately, it is typed as int rather than size_t, for historical compatibility to a poor choice by BSD). * gnulib: Import latest changes. * gl/lib/tempname.h.diff: Accommodate new suffixlen parameter. * gl/lib/tempname.c.diff (check_x_suffix): Allow for X in suffix beyond x_suffix_len. (gen_tempname_len): Add suffixlen parameter. (__gen_tempname): Update caller. * src/mktemp.c (mkstemp_len, mkdtemp_len): Update callers. 2009-11-05 Eric Blake build: override gnulib tempname via diff Diffs are more robust than wholesale replacement, because bootstrap will inform us of any incompatible changes made in upstream gnulib. * gl/lib/tempname.h: Change... * gl/lib/tempname.h.diff: ...to diff. * gl/lib/tempname.c: Change... * gl/lib/tempname.c.diff: ...to diff. 2009-11-05 Eric Blake mktemp: rearrange --help output * src/mktemp.c (usage): Align indentation and sort by long options. Describe valid templates. Suggested by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548316. tests: enhance mktemp test * tests/misc/mktemp: Add more coverage. doc: document mktemp * doc/coreutils.texi (mktemp invocation): New node. * TODO: Delete completed task. mktemp: don't leave file behind on write failure * src/mktemp.c (main): Remove just-created file if stdout had problems. * bootstrap.conf (gnulib_modules): Add remove. * tests/misc/close-stdout: Test it. * NEWS: Document it. 2009-11-05 Jim Meyering du: cleanup: remove dead-code vestige of already-removed option * src/du.c (MEGABYTES_LONG_OPTION, main): Remove vestiges of already-removed long option, --megabytes. du now diagnoses cycles, rather than ignoring them * src/du.c (symlink_deref_bits): New global, decl moved from ... (main): ...here. (process_file): When fts detects a directory cycle that can't be due to symlinks, report it and arrange to exit nonzero. * NEWS (Bug fixes): Mention it. maint: factor out cycle warning, now that du will use it, too * src/system.h (emit_cycle_warning): Define. Factored out of... * src/remove.c (rm_fts): ...here. Use the new macro. 2009-11-03 Jim Meyering tests: rm: add test for today's change in behavior * tests/Makefile.am (root_tests): Add rm/read-only to the list. * tests/rm/read-only: New file. rm -f: ignore EROFS when it's really ENOENT rm -f must not print a diagnostic for a nonexistent file. However, most linux-based kernel unlinkat functions set errno to EROFS when the named file (regardless of whether it exists) would lie on a read-only file system. remove.c now performs an extra fstatat call in that case, to determine whether the file exists. * src/remove.c (excise): Map EROFS to ENOENT, if a file is nonexistent. Reported by Steven Drake in . * NEWS (Changes in behavior): Mention it. tests: inotify-race: don't let malfunctioning gdb hang the test * tests/tail-2/inotify-race: Apply timeout to each gdb invocation. 2009-11-02 Eric Blake build: avoid some warnings * gl/lib/mbsalign.c (mbsalign): Mark unused parameter. * bootstrap.conf (gnulib_modules): Remove obsolete rename-dest-slash. * gnulib-tests/Makefile.am (AM_CFLAGS): Reduce set of warnings for gnulib tests. * gl/modules/rename-tests.diff (Makefile.am): New file, to add LIBINTL to LDADD, since we avoid canonicalize-lgpl module. * gl/lib/regcomp.c.diff (regerror, calc_next) (build_collating_symbol, parse_bracket_element, build_equiv_class) (free_tree): Mark unused parameters. * gl/lib/regex_internal.h.diff (re_string_elem_size_at): New file, to mark unused parameters. * gl/lib/printf-args.c.diff (PRINTF_FETCHARGS): New file, to avoid type mismatch. * gl/lib/vasnprintf.c (VASNPRINTF): New file, to avoid shadowing local variable name. * .gitignore: Ignore temporary build artifacts. build: update gnulib submodule to latest, for fewer compiler warnings 2009-10-31 Jim Meyering admin: automate one more part of the release process This script automates the process of updating NEWS, performs the resulting final commit (thus with a consistent log message), and applies a signed tag (v$VERSION) to the result. * build-aux/do-release-commit-and-tag: New script. * README-release: Document it. admin: fix typo in release procedure * README-release: s/gzip/coreutils/ 2009-10-30 Jim Meyering tests: prohibit fail=0 initialization * cfg.mk (sc_prohibit_fail_0): New rule. * .x-sc_prohibit_fail_0: New file. * Makefile.am (syntax_check_exceptions): Distribute the new file. tests: factor 350 fail=0 initializations into test-lib.sh Run this command to remove the factored-out "fail=0" lines. perl -ni -e '/^fail=0$/ or print' $(g grep -l '^fail=0$') * tests/test-lib.sh: Initialize fail=0 here, not in 300+ scripts. * tests/...: nearly all bourne shell scripts Suggested by Eric Blake. tests: remove the less-regular fail=0 assignments manually * tests/tail-2/assert-2: * tests/tail-2/assert: * tests/cp/file-perm-race: * tests/misc/df: * tests/misc/truncate-dir-fail: 2009-10-29 Jim Meyering tests: don't let a fail=1 env. setting induce unwarranted test failure * cfg.mk (sc_fail_is_initialized): New rule. Fix the offenders: * tests/cp/acl: Set fail=0 * tests/cp/backup-is-src: Likewise. * tests/cp/file-perm-race: Likewise. * tests/cp/reflink-auto: Likewise. * tests/cp/same-file: Likewise. * tests/ln/backup-1: Likewise. * tests/misc/su-fail: Likewise. * tests/misc/truncate-owned-by-other: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/selinux: Likewise. * tests/mkdir/special-1: Likewise. * tests/mv/acl: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/diag: Likewise. * tests/mv/force: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/into-self-3: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/touch/now-owned-by-other: Likewise. remove stray closing comment delimiter, "*/", in previous change * gl/lib/regexec.c.diff: Fix a typo. 2009-10-29 Eric Blake maint: avoid exiting with magic number Cope with gnulib's new sc_prohibit_magic_number_exit rule. * .x-sc_prohibit_magic_number_exit: New file, to add exemptions. * Makefile.am (syntax_check_exceptions): Distribute it. * lib/euidaccess-stat.c (main): Fix culprits. * src/chcon.c (main): Likewise. * src/runcon.c (main): Likewise. * src/setuidgid.c (main): Likewise. 2009-10-29 Jim Meyering build (--enable-gcc-warnings): enable gcc's -Werror also in lib/ * configure.ac (GNULIB_WARN_CFLAGS): Define. * lib/Makefile.am (AM_CFLAGS): Use $(GNULIB_WARN_CFLAGS) rather than $(WARN_CFLAGS) and add $(WERROR_CFLAGS). * gl/lib/regcomp.c.diff: New file. * gl/lib/regex_internal.c.diff: New file. * gl/lib/regexec.c.diff: New file. build: update gnulib submodule to latest build: allow whitespace violations in gl/lib/*.diff files * .gitattributes: Exempt gl/lib/*.diff. * .x-sc_prohibit_tab_based_indentation: Likewise. * .x-sc_space_tab:Likewise. 2009-10-29 Eric Blake nice, nohup, su: detect write failure to stderr These programs can print non-fatal diagnostics to stderr prior to exec'ing a subsidiary program. However, if we thought the situation warranted a diagnostic, we insist that the diagnostic be printed without error, rather than blindly exec, as it may be a security risk. For an example, try 'nice -n -1 nice 2>/dev/full'. Failure to raise priority (by lowering niceness) is not fatal, but failure to inform the user about failure to change priority is dangerous. * src/nice.c (main): Declare failure if writing advisory message to stderr fails. * src/nohup.c (main): Likewise. * src/su.c (main): Likewise. * tests/misc/nice: Test this. * tests/misc/nohup: Likewise. * NEWS: Document this. 2009-10-28 Jim Meyering doc: tell --enable-gcc-warnings users where to report problems * README-hacking: Add a caveat for --enable-gcc-warnings. build: make doc checks more user-friendly * doc/Makefile.am (check-texinfo): Begin moving each individual test into its own rules. (sc-avoid-builtin, sc-avoid-path): New rules. Extracted from check-texinfo. (syntax_checks): Add them. doc: avoid failing "make check" * doc/coreutils.texi (env invocation): s/builtin/built-in/ 2009-10-28 Pádraig Brady doc: improve the echo and printf help on escapes * src/printf.c (usage): Merge strings with echo.c to aid translators. Move the description for \NNN beside the other numeric escape codes. Don't mention "character" as that suggests character conversion. * src/echo.c (usage): Likewise. Also mention the \xHH escape sequence. echo, printf: interpret \e as the Escape character Match gcc, perl, bash, ksh, tcsh, ... in supporting \e. * src/printf.c (print_escape_char): Output \x1B when \e encountered. * src/echo.c (main): Likewise. * src/stat.c (print_escape_char): Likewise. * doc/coreutils.texi (echo invocation): Add \e to the list. * tests/misc/printf: Verify that \e outputs \x1B. * NEWS: Mention the change in behaviour. 2009-10-28 Eric Blake printenv: ignore bogus variable names Exposed by env a=b=c printenv a=b. * src/printenv.c (main): Silently reject = in names. * tests/misc/printenv: Test for it. * NEWS: Document this. 2009-10-28 Pádraig Brady maint: avoid "make syntax-check" failure * src/printenv.c: Remove unused "long-options.h" 2009-10-28 Eric Blake doc: turn env comments into documentation * src/env.c: Convert introductory comments... * doc/coreutils.texi (env invocation): ...into documentation. Suggested by Jim Meyering. 2009-10-28 Eric Blake env, printenv: add -0/--null option Allows for unambiguous processing when environment values (or even non-portable names!) contain newline. * src/env.c (longopts): Add new option. (usage): Document it. (main): Implement it. * src/printenv.c (longopts): New variable. (usage): Document new option. (main): Implement it. * doc/coreutils.texi (Common options): New macro optNull. (du invocation, env invocation, printenv invocation): Use it. * NEWS: Mention this. * tests/misc/env-null: New test. * tests/Makefile.am (TESTS): Run it. 2009-10-28 Eric Blake tests: add printenv coverage * tests/misc/printenv: New test. * tests/Makefile.am (TESTS): Run it. * .gitignore: Ignore more cruft. tests: fix PATH problems on cygwin * tests/misc/sort-compress: Remove non-portable over-restriction of PATH; besides, commit 3ea177e changed sort to no longer default to gzip. * tests/rm/fail-eperm: Untaint, rather than clear, PATH. * tests/misc/pwd-long: Likewise. Also skip test if long path cannot be created. (normalize_to_cwd_relative): Use eq rather than ==, since cygwin perl doesn't properly handle 64-bit ino_t numerically. 2009-10-27 Eric Blake tests: clean up tests of env -- handling The comment in env.c about -- handling has not matched the behavior in the code since the initial commit back in 1992. * src/env.c: Fix bogus comment. * tests/misc/env: Further tweaks, avoiding PATH problems inherent in testing -i, and testing program name containing =. * doc/coreutils.texi (env invocation): Mention that intermediate program is needed to invoke program with name containing =. 2009-10-27 Eric Blake doc: document PATH interactions with env * doc/coreutils.texi (env invocation): Mention that PATH is modified prior to exec. * tests/misc/env: Test this. env: reject bogus -u arguments * src/env.c (main): Use unsetenv rather than putenv to remove items from environ, and check for failure. * bootstrap.conf (gnulib_modules): Add unsetenv. * tests/misc/env: Test this. * NEWS: Document it. maint: let gnulib provide environ * bootstrap.conf (gnulib_modules): Add environ. * src/env.c (environ): Delete declaration. * src/printenv.c (environ): Likewise. * src/stdbuf.c (environ): Likewise. * src/su.c (environ): Likewise. 2009-10-26 Eric Blake tests: avoid file name not portable to cygwin * tests/misc/chroot-fail: Use 'no_such', not '...', since cygwin 1.5 silently strips trailing dots. * tests/misc/nice-fail: Likewise. * tests/misc/stdbuf: Likewise. * tests/misc/timeout-parameters: Likewise. 2009-10-26 Jim Meyering tests: rm/one-file-system: work around umount failure * tests/rm/one-file-system (cleanup_): Unmount a/b, rather than "$other_partition_tmpdir", to accommodate those who link /etc/mtab to /proc/mounts. Reported by Gilles Espinasse in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18508 tests: adjust new env test not to fail * tests/misc/env: Create ./-i as a link to our "echo" binary, rather than as a bourne shell script, so that env can exec it. Set PATH to ".". tests: nice: adjust new tests to work more portably * tests/misc/nice (tests): Accommodate a nice program for which "nice -n -1 nice" prints nothing. It should print -1 or (usually) 0. Otherwise, we'd get syntax errors. nice: execute program even when setpriority fails due to EACCES * src/nice.c (perm_related_errno): New function. (main): Use it, rather than testing only errno == EPERM. * NEWS (Bug fixes): Mention it. 2009-10-25 Pádraig Brady timeout: don't orphan monitored programs if they ignore specified signals * src/timeout.c (install_signal_handlers): Handle any user specified signal, so that if it does not cause the child to exit then we don't exit and orphan the child. Previously this for example, would leave an orphan dd process running: timeout -sUSR1 1s dd if=/dev/zero of=/dev/null * NEWS: Mention the fix. 2009-10-23 Eric Blake tests: test recent status changes * tests/misc/nice: Enhance test. * tests/misc/chroot-fail: New test. * tests/misc/env: Likewise. * tests/misc/nice-fail: Likewise. * tests/misc/su-fail: Likewise. * tests/Makefile.am (TESTS): Run new tests. maint: move chroot test * tests/chroot/credentials: Move... * tests/misc/chroot-credentials: ...here, to reduce number of directories. * tests/Makefile.am (root_tests): Reflect rename. tests: enhance stdbuf and timeout tests * tests/misc/timeout-parameters: Validate exact exit status. * tests/misc/stdbuf: Likewise. * tests/misc/timeout: Likewise. Use require_built_. * tests/misc/arch: Likewise. nohup: use EXIT_CANCELED if not POSIXLY_CORRECT * src/nohup.c (NOHUP_FAILURE): Rename... (POSIX_NOHUP_FAILURE): ...to this. (main): Pay attention to POSIXLY_CORRECT, to determine whether to use status 125 or 127. * doc/coreutils.texi (nohup invocation): Document this. * NEWS: Likewise. * tests/misc/invalid-opt (exit_status): Adjust expected results. * tests/misc/help-version (expected_failure_status): Likewise. * tests/misc/nohup: Likewise. chroot, env, nice, su: use EXIT_CANCELED for internal failure * src/chroot.c (main): Use EXIT_CANCELED, not EXIT_FAILURE. * src/env.c (main): Likewise. * src/nice.c (main): Likewise. * src/su.c (change_identity, main): Likewise. * doc/coreutils.texi (chroot invocation, env invocation) (nice invocation, su invocation): Document this. * NEWS: Likewise. * tests/misc/invalid-opt (exit_status): Adjust expected results. * tests/misc/help-version (expected_failure_status): Likewise. tests: accommodate BSD getopt * tests/misc/invalid-opt (err_subst): Support alternate spelling. build: prohibit improper use of stat and lstat * cfg.mk (sc_prohibit_stat_macro_address): New rule. * src/ln.c (do_link): Adjust comment to avoid false positive. * src/stat.c (do_stat): Likewise. * src/touch.c (main): Likewise. build: update gnulib submodule to latest, for test cleanups 2009-10-22 Eric Blake maint: turn on compiler warnings for gnulib tests * gnulib-tests/Makefile.am (AM_CFLAGS): Add WARN_CFLAGS. * configure.ac (enable-gcc-warnings): Also use -funit-at-a-time, to silence gcc 4.3.4 -Wdisabled-optimization. * .gitignore: Ignore some more files. 2009-10-22 Jim Meyering build: prohibit direct use of readlink or readlinkat * cfg.mk (sc_prohibit_readlink): New rule. Suggested by Eric Blake. 2009-10-22 Giuseppe Scrivano tests: add a test for the `tail -f' race condition bug If new data becomes available between the initial read and when tail registers the inotify watch descriptors, ensure that it is read before a new event happens on the file. * tests/Makefile.am (TESTS): Add tail-2/inotify-race. * tests/tail-2/inotify-race: New file. tail -f: avoid a race condition * NEWS (Bug fixes): Mention it. * src/tail.c (check_fspec): New function. (tail_forever_inotify): Ensure there is no new data before entering the inotify events wait loop. 2009-10-22 Eric Blake build: update gnulib submodule to latest, for utimens enhancements tests: ensure touch honors trailing slash * tests/touch/trailing-slash: New test. * tests/Makefile.am (TESTS): Run it. 2009-10-21 Pádraig Brady md5sum, sha*sum, sum: line-buffer the printed checksums * src/md5sum.c (main): Set stdout to line buffered mode to ensure parallel running instances don't intersperse their output. This adds 5% to the run time in the worst case of many zero length files, or 2% with standard file sizes. * src/sum.c (main): Likewise. * tests/misc/md5sum-parallel: New test for atomic output. * tests/Makefile.am: Reference it. * NEWS: Mention the fix 2009-10-20 Pádraig Brady maint: issue warnings for more missing optional libraries * README-hacking: Suggest to use ./configure --quiet so that any warnings are easily noticed. * m4/gmp.m4 (cu_GMP): Warn if libgmp is not available. * m4/jm-macros.m4 (coreutils_MACROS): Normalize the libcap warning. * m4/xattr.m4 (gl_FUNC_XATTR): Warn if libattr is not available. 2009-10-19 Jim Meyering build: use gnulib's isblank module * bootstrap.conf (gnulib_modules): Add isblank. * src/system.h (isblank): Don't define. * m4/check-decl.m4: Don't check for isblank declaration. * gnulib: Update submodule to latest. 2009-10-18 Jim Meyering maint: factor out duplication in currently unused rules * src/Makefile.am (fs_normalize_perl_subst): Define. (fs-magic, fs-kernel-magic): Use it. 2009-10-17 Eric Blake touch: add -h to change symlink timestamps, where supported * src/touch.c (no_dereference): New flag variable. (longopts): Add -h/--no-dereference. (touch): Add symlink handling. (usage): Document new option. (main): Accept new option. * NEWS: Document it. * doc/coreutils.texi (touch invocation): Likewise. Also mention birthtime. * tests/touch/no-dereference: New test. * tests/Makefile.am (TESTS): Run it. 2009-10-17 Jim Meyering tests: abmon-align: avoid test failure * tests/ls/abmon-align: Don't remove (1d;) the first line of output. That was making the test consider only 11 of 12 month names. Rewrite not to use \(.*\), as that provoked a malfunction in GNU sed on powerpc Mac OS X (though we don't know yet whether this is due to a sed bug, or to miscompilation). Nelson Beebe reported the test failure. build: update gnulib submodule to latest 2009-10-15 Jim Meyering build: don't let environment settings perturb build Setting the envvars, LIB_FDATASYNC, LIB_XATTR or LIB_CRYPT could cause a configure-time and/or build-time malfunction. Typically, a configure-time function-in-library test is performed via code like this: LIB_VAR= AC_SUBST([LIB_VAR]) prefix_saved_LIBS=$LIBS AC_SEARCH_LIBS([FUNC], [LIB_NAME], [test "$ac_cv_search_FUNC" = "none required" || LIB_VAR=$ac_cv_search_FUNC]) LIBS=$prefix_saved_LIBS However, in each of the files affected by this change, the LIB_VAR= initialization was omitted. Thus, when set in the environment, its value would propagate into generated Makefiles when FUNC is not found in LIB_NAME. * m4/jm-macros.m4 (coreutils_MACROS): Initialize AC_SUBST'd var * m4/lib-check.m4 (cu_LIB_CHECK): Likewise. * m4/xattr.m4 (gl_FUNC_XATTR): Likewise. 2009-10-13 C de-Avillez tail: add add missing backslash at the end of a line in usage * src/tail.c (usage): Add missing backslash at the end of a line. 2009-10-12 Eric Blake tail: tweak usage for more clarity * src/tail.c (usage): Spell out -n +K. * THANKS: Update. Reported by Jan-Pawel Wrozstinski. 2009-10-10 Eric Blake touch: optimize use of utimens * src/touch.c (main): Use UTIME_NOW rather than calling gettime. (touch): Use UTIME_OMIT rather than stat. copy: allow symlink timestamp preservation on more systems * src/copy.c (utimens_symlink): Simplify by using lutimens. * m4/jm-macros.m4 (coreutils_MACROS): Drop utimensat; gnulib does this for us. * tests/cp/preserve-slink-time: Recognize lutimes support. build: update gnulib submodule to latest, for utimens improvements 2009-10-10 Jim Meyering tests: adjust tail-2/pid to work around FreeBSD 6.1 failure * tests/tail-2/pid: Run tail -f --pid=... on an actual file, not on /dev/null, to avoid this failure on FreeBSD 6.1: tail: /dev/null: cannot change nonblocking mode: Inappropriate ioctl for device 2009-10-10 Eric Blake maint: touch up previous LDADD patch * src/Makefile.am (dir_LDADD): Delete; the ls_LDADD line covers this. 2009-10-10 Jim Meyering build: build uname(1) unconditionally Before, on a system without the uname function, the build system would detect that and not build/install a uname program. Now that gnulib guarantees a uname function, ... * configure.ac: Don't check for the uname function. * src/Makefile.am (build_if_possible__progs): Move uname... (EXTRA_PROGRAMS): ...to this list. maint: list program names one per line * src/Makefile.am (EXTRA_PROGRAMS): List them one per line. (build_if_possible__progs): Likewise. build: ls: fix link failure due to missing -lacl * src/Makefile.am (ls_LDADD): Re-add $(LIB_ACL). Inadvertently-removed by commit 78c93601. 2009-10-10 Eric Blake maint: touch up previous LDADD patch * src/Makefile.am (stdbuf_LDADD): Add missing primer. (hostname_LDADD, uname_LDADD): Add GETHOSTNAME_LIB. * bootstrap.conf (gnulib_modules): Add uname. maint: improve additional library tracking * src/Makefile.am (LDADD): Refactor, to make per-library additions to individual programs easier to maintain. 2009-10-09 Jim Meyering chcon: don't disable just because SELinux is disabled * src/chcon.c (main): Now that gnulib provides getfilecon wrappers, we can revert most of the 2009-10-05 commit 3a97d664, "chcon: exit immediately if SELinux is disabled", since chcon is still useful as long as the file system provides handlers for the security.* name space. gnulib's getfilecon wrappers ensure that an offending context now evokes a return value of -1. Prompted by comments from Stephen Smalley in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18378/focus=18394 * NEWS (Bug fixes): Mention it. ls: remove explicit getfilecon work-around * src/ls.c (gobble_file): Remove l?getfilecon work-around, now that the gnulib wrappers handle it for us. build: update gnulib submodule to latest, for getfilecon wrappers 2009-10-09 Eric Blake maint: use X2NREALLOC in more places * src/chroot.c (set_additional_groups): Use X2NREALLOC rather than x2nrealloc. * src/factor.c (emit_factor): Likewise. * src/setuidgid.c (main): Likewise. maint: remove unused macros and declarations * src/system.h (EDQUOT, EISDIR, ENOSYS, EOVERFLOW, F_OK, X_OK) (W_OK, R_OK): Delete; macros provided by gnulib. (includes): Gnulib guarantees both and , in either order. (free, malloc, memchr, realloc, getenv, lseek): Delete, gnulib guarantees these declarations. * m4/check-decl.m4 (gl_CHECK_DECLS): Delete checks now done by gnulib. maint: move timeout exit statuses * src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Remove as macros... * src/system.h (EXIT_TIMEDOUT, EXIT_CANCELED): ...and provide as enum values instead. * src/stdbuf.c (EXIT_CANCELED): Delete. stat: test recent patch * tests/misc/stat-slash: New test. * tests/Makefile.am (TESTS): Run it. 2009-10-08 Eric Blake stdbuf: improve path search * src/stdbuf.c (set_program_path): Use gnulib methods for better file name handling. * bootstrap.conf (gnulib_modules): Add xreadlink. stat: work with recent gnulib changes * src/stat.c (do_stat): Don't mask function-like stat macro. 2009-10-08 Jim Meyering stat: add support for many more file system types * src/stat.c (human_fstype): Add the following FS types, from : afs, anon-inode FS, btrfs, cgroupfs, cramfs-wend, debugfs, futexfs, inotifyfs, minux3, securityfs, selinux, xenfs. Also add "nilfs". * src/Makefile.am (fs-kernel-magic): New rule. * NEWS (Bug fixes): Mention this. stat: recognize CIFS and HFS file system types * src/stat.c (human_fstype) [CIFS, HFS]: Add new file system types. Prompted by a report from Stuart Kemp. Normalize the form of a few hexadecimal magic numbers. Alphabetize on S_MAGIC_ case names. * src/Makefile.am (fs-magic-compare, fs-def, fs-magic): New rules, to automate comparison of our list with that in the Linux statfs man page. * NEWS (Bug fixes): Mention it. 2009-10-07 Guenter Knauf md5sum, sha*sum: also accept openssl checksum syntax * src/md5sum.c (split_3): Accept openssl checksum syntax, which differs only by two spaces from that of the bsd checksum tools: openssl: MD5(f)= d41d8cd98f00b204e9800998ecf8427e bsd: MD5 (f) = d41d8cd98f00b204e9800998ecf8427e 2009-10-06 Jim Meyering maint: make release-making instructions more generic * README-release: Make instructions more generic. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 8.0 * NEWS: Record release date. build: update gnulib submodule to latest 2009-10-06 OndÅ™ej Vašík chcon: exit immediately if SELinux is disabled This change happens to avoid an abort in chcon when SELinux is disabled while operating on a file with an "unlabeled" context from back in 2006. However, that same abort can still be triggered by the same file when running chcon with SELinux enabled. This bug in chcon will be fixed in a subsequent commit via a getfilecon wrapper. See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18378/focus=18384 for how to correct your disk attributes to avoid triggering this bug. * src/chcon.c (main): Exit immediately if SELinux is disabled. Reported in http://bugzilla.redhat.com/527142 by Yanko Kaneti. * src/runcon.c (main): Do not hardcode program name in error message. * THANKS: Update. 2009-10-03 Jim Meyering build: update gnulib submodule to latest 2009-10-02 James R. Van Zandt dircolors: highlight .cgm and .emf as images * src/dircolors.hin: Add .cgm, .emf. * THANKS: Update. 2009-10-02 Jim Meyering maint: remove obsolete syntax-check exclusion * cfg.mk (local-checks-to-skip): Remove strftime-check. 2009-10-02 Pádraig Brady tail: avoid a race where we could miss new data with --pid * src/tail.c (tail_forever, tail_forever_inotify): Close a race in tail_forever_inotify where new data written after the file check by a now dead process, but before the pid check, is not output. We use the POSIX guarantee that read() and write() are serialized wrt each other even in separate processes, to assume full file consistency after exit() and so poll for new data _after_ the writer has exited. This also allows us to not redundantly _wait_ for new data if the process is dead. * tests/tail-2/pid: Remove the now partially invalid sub second sleep check as we now don't unconditionally wait, and replace it with a check for the redundant sleep. Also clarify some of the existing comments. * NEWS: Mention the fix. 2009-10-02 Jim Meyering maint: move gnu-web-doc-update script to gnulib * bootstrap.conf (gnulib_modules): Add gnu-web-doc-update. Remove gendocs, since gnu-web-doc-update depends on it. * gnu-web-doc-update: Remove file, now that we get it from gnulib. build: update gnulib submodule to latest 2009-09-30 Jim Meyering tests: tail-2/pid: use a 3-second timeout, not 1 * tests/tail-2/pid: When using the timeout program to ensuring that tail -s.1 --pid=$PID_T_MAX does not wait forever, use a timeout longer than 1 second. A 1-second timeout could be too short on a very busy system, and result in a timeout, and hence false-positive failure. 2009-09-30 Jim Meyering 2009-09-30 Jim Meyering build: update gnulib submodule to latest build: translate diagnostics from two new files * po/POTFILES.in: Add two new files: lib/siglist.h, lib/strsignal.c build: now that we use the lock module, don't exclude lock.m4 * bootstrap.conf: Don't exclude lock.m4. 2009-09-30 Pádraig Brady ls: always print "?" for allocated size of a dereferenced dangling symlink Previously for `ls -Ls` (but not `ls -Lsl`), we referenced the st_blocks returned from the previous failed stat() call. This undefined value was seen to be 0 for dangling symlinks at least. * src/ls.c (print_file_name_and_frills, length_of_file_name_and_frills): Don't use st_blocks if the previous stat() failed * tests/ls/dangle: Add a test case * NEWS: Mention the fix, and roll up related items into a single entry. 2009-09-30 Jim Meyering build: use gnulib's freopen module * bootstrap.conf (gnulib_modules): Add freopen, strsignal, fsync. Exposed via make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \ |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \ |sort |uniq -c|sort -nr (avoided_gnulib_modules): Don't avoid the "lock" module. Now it's required, as a dependency of the strsignal module. 2009-09-29 Jim Meyering stat: interpret "-" as standard input * src/stat.c (do_stat): Interpret a command line argument of "-" to mean "standard input", like many other tools do. (do_statfs): Fail upon any attempt to use "-". * NEWS (Changes in behavior): Mention it. * tests/misc/stat-hyphen: New test, to exercise the above. * tests/Makefile.am (TESTS): Add misc/stat-hyphen. ls: don't use an undefined struct stat after failed stat/lstat * src/ls.c (format_inode): Access f->stat only if f->stat_ok is set. * NEWS (Bug fixes): Mention it. Improved-by: Pádraig Brady ls: print "?", not "0" as inode of dereferenced dangling symlink ls prints inode numbers two ways: for long (-l) listings, and for short ones, e.g., ls -li and ls -i. The code to print long listings properly printed "?" when the inode was unknown, but the code for handling short listings would print 0 instead. Factor out the formatting code into a new function so ls prints the right string ("?") from both places: * NEWS (Bug fixes): Mention it. * src/ls.c (format_inode): New function. (print_long_format): Use it here. (print_file_name_and_frills): Use it here, too. * tests/ls/dangle: Exercise this fix. Reported by Yang Ren in http://bugzilla.redhat.com/525400 ls: with -LR, exit with status 2 upon detecting a cycle * src/ls.c (print_dir): Diagnosing the cycle is not enough. Also set exit status to 2. This is what Solaris' /bin/ls does, too. * tests/ls/infloop: Rework test: match both expected stdout and stderr. Require an exit status of 2 in this case. * doc/coreutils.texi (ls invocation): Mention that a loop provokes in an exit status of 2. * NEWS (Bug fixes): Mention it. Reported by Yang Ren in http://bugzilla.redhat.com/525402. * THANKS: Correct ordering of Yang Ren's names. 2009-09-26 Jim Meyering maint: factor coreutils-specific code out of bootstrap * bootstrap (bootstrap_epilogue): Define a default, empty function. Remove coreutils-specific code, and instead, invoke this new function at the end of this script. * bootstrap.conf (bootstrap_epilogue): Define, to override the default. 2009-09-25 Eric Blake cp, mv: use linkat to guarantee semantics * src/copy.c (copy_internal): Use linkat, not link. ln: add -L/-P options * src/ln.c (STAT_LIKE_LINK): Delete. (logical): New flag. (long_options): Add -L, -P. (usage): Mention them. (main): Choose between them. (do_link): Perform correct action. * tests/ln/misc: Move hard-to-sym portion of test... * tests/ln/hard-to-sym: ...into new test, and add more. * tests/Makefile.am (TESTS): Run new test. * NEWS: Document this. * doc/coreutils.texi (link invocation, ln invocation): Likewise. * bootstrap.conf (gnulib_modules): Add linkat. build: update gnulib submodule to latest 2009-09-23 Pádraig Brady maint: Use logical rather than bitwise operators on bools This is because bitwise operators are: - confusing and inconsistent in a boolean context - non short circuiting - brittle in C89 where bool can be an int (so > 1) maint: expr: avoid compiler warnings without GMP * src/expr.c (mpz_clear, mpz_get_str, mpz_out_str) [!HAVE_GMP]: Reference unused arguments. 2009-09-23 Eric Blake build: update gnulib submodule to latest maint: summarize gnulib changes * NEWS: Provide a blurb about recent gnulib improvements. Fix typo in readlink blurb. 2009-09-23 Jim Meyering doc: ls: further improve --help message re --color * src/ls.c (usage): Correct grammar, change voice, shorten. Inspired by a report from Bruno Schulenberg. 2009-09-23 Eric Blake readlink: pick up gnulib changes to readlink -f * bootstrap.conf (obsolete_gnulib_modules): Move rename... (gnulib_modules): ...here. Add symlink. * NEWS: Document the change in readlink. * doc/coreutils.texi (readlink invocation): Likewise. * tests/readlink/can-f: Update test to new semantics, and add test of loop. 2009-09-23 Jim Meyering maint: df.c: adapt to newer gnulib * src/df.c: Don't include "canonicalize.h". No longer needed, since canonicalize_file_name is now guaranteed to be declared in , thanks to gnulib. build: update gnulib submodule to latest 2009-09-22 Pádraig Brady doc: stdbuf: mention it can have a non standard exit status * doc/coreutils.texi (Exit status): Add stdbuf to the list maint: uptime: fix a theoretical compile warning * src/uptime.c (print_uptime) [!HAVE_UTMPX_H && !HAVE_UTMP_H]: Reference possibly unused arguments. ls: fix a performance regression * src/ls.c (print_color_indicator): This reinstates commit f3f1ccfd, 21-10-2008, "ls: make it possible to disable file capabilities checking" which was inadvertently reverted with commit 3a169f4c, 14-09-2009, "ls: handle disabling of colors consistently ...". 2009-09-22 Eric Blake build: avoid compiler warnings on cygwin 1.5 * src/copy.c (utimens_symlink): Avoid unused variables. * src/su.c (getusershell): Rely on gnulib for prototype. 2009-09-21 Jim Meyering doc: ls: add an article, "the" * src/ls.c (usage): Tweak wording. 2009-09-21 Pádraig Brady ls: handle disabling of colors consistently for all file types * src/ls.c (print_color_indicator): Use consistent syntax for all file and directory subtypes, and fall back to the color of the base type if there is no enabled color for the subtype. This allows turning off specific colors for o+w dirs for example. * tests/ls/color-dtype-dir: Add a case to test that turning off coloring for o+w directories, falls back to standard dir color. * NEWS: Mention the fix Introduced by commit ac467814, 2005-09-05, "Colorize set-user-ID ... files and sticky ... directories." doc: ls: make help for --color more concise and accurate * src/ls.c (usage): Shorten the --color ancillary info by two lines, while replacing --color=none with --color=never. Mention "always" is the default parameter of the --color option, along with the primary help for that option. Mention the ancillary --color info in the --color primary help. doc: normalize and add missing entries to texinfo menu * doc/coreutils.texi: Add the missing arch, base64, link, readlink, and unlink entries. Also remove extraneous '.' from some entries and try to align all entries on the same column. * THANKS: Add Benno Schulenberg. doc: mention the texinfo documentation in --help * src/system.h: Rename emit_bug_reporting_address() to emit_ancillary_info() and update it to not print the translation project address in en_* locales, and _do_ print it in the 'C' (and other) locales so that it's included in the default man page. Also mention how to invoke the texinfo documentation for each command. Also move the "hard-locale.h" include to the 8 files that now use it. * man/help2man: Strip the newly added texinfo reference from the --help output as a more verbose version is already added by help2man. Suggestion from C de-Avillez 2009-09-21 Jim Meyering maint: automate the web-doc updating procedure * gnu-web-doc-update: New script, destined for gnulib. * README-release: Refer to the new script. 2009-09-19 Jim Meyering dircolors: arrange to highlight names with the .lz suffix * src/dircolors.hin: Add .lz, for GNU lzip. Suggested by Matias A. Fonzo. mktemp: adapt to new, 3-argument gen_tempname_len * src/mktemp.c (mkstemp_len, mkdtemp_len): Update callers of gen_tempname_len. * gl/lib/tempname.c, gl/lib/tempname.h: Rebase against recently API-modified copy of tempname module in gnulib. Reported by Lluís Batlle. 2009-09-17 Jim Meyering build: merge bootstrap changes from gnulib * bootstrap: Update from gnulib. 2009-09-17 Eric Blake rm, rmdir: improve cross-compilation support * bootstrap.conf (gnulib_modules): Drop rmdir-errno. * src/rmdir.c (errno_rmdir_non_empty): Check both cases allowed by POSIX, rather than relying on configure-time check that might fail during cross-compilation. Reverts commit 9b6eb98d41. 2009-09-15 OndÅ™ej Vašík cp: fix a probably redundant chmod when setting xattrs * src/copy.c (copy_reg): Fix initial value of access_changed variable. This was introduced by Pádraig Brady in commit cca83faf, 2009-09-14, "cp,mv: preserve extended attributes even for read-only files" 2009-09-14 Jim Meyering doc: NEWS: mention origin of touch -t ....60 bug * NEWS: It is an old bug. doc: touch, document that it accepts .60 * doc/coreutils.texi (touch invocation): Document that SS may be 60. touch: don't reject "60" as number of seconds in a legacy time stamp A valid command like "touch -t 197101010000.60 F" would fail due to the suffix of ".60". This bug is fixed via the latest change to gnulib's posixtm module. * tests/touch/60-seconds: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. build: update gnulib submodule to latest, for fixed posixtm module maint: use #!/bin/sh consistently in shell-based test scripts * tests/misc/sort-continue: Change first line to standard #!/bin/sh, not #!/bin/bash (though it doesn't matter, since each is invoked via $(SHELL) dir/test-name. 2009-09-14 Pádraig Brady tests: fix dd/skip-seek-past-file to work on ecryptfs * tests/dd/skip-seek-past-file: Require sparse support to ensure that when we're checking if we can create an $OFF_T_MAX length file, that we don't actually allocate any space. This was an issue on ecryptfs and was reported by Bert Wesarg. 2009-09-14 OndÅ™ej Vašík cp,mv: preserve extended attributes even for read-only files * src/copy.c (copy_reg): Temporarily set u+rw on the destination file to allow GNU/Linux to set xattrs. * tests/misc/xattr: Test that change. * NEWS (Bug fixes): Mention it. Reported by Ernest N. Mamikonyan. 2009-09-14 Jim Meyering doc: improve timeout's --help message * src/timeout.c (usage): Improve --help description. 2009-09-13 Jim Meyering maint: use consistent cpp indentation in all .c files * src/stty.c: Make cpp indentation reflect nesting. * src/factor.c: Likewise. doc: NEWS: say quadratic and linear, rather than O(N^2) and O(N) * NEWS: Use a slightly less technical description. Suggested by Andreas Schwab. doc: improve NEWS * NEWS (rm -r, without -f): Mention that the N in "O(N)" represents hierarchy depth. Suggested by Ralf Wildenhues. (rm -r, standards conformance): Make wording more accurate. 2009-09-11 Jim Meyering id: don't print context=... when POSIXLY_CORRECT is set * src/id.c (print_full_info) [POSIXLY_CORRECT]: Don't print context. Reported by Ulrich Drepper. * NEWS (Changes in behavior): Mention it. * doc/coreutils.texi (id invocation): Document that id also prints the security context, when possible, and when POSIXLY_CORRECT is not set. * tests/id/no-context: New file. Test for this. * tests/Makefile.am (TESTS): Add it. 2009-09-11 Eric Blake rm: avoid compiler warning * src/remove.c (rm_fts): Don't allow fall-through when assertions are disabled. euidaccess-stat: remove unnecessary macros * lib/euidaccess-stat.c (F_OK, R_OK, W_OK, X_OK): Delete; now guaranteed by gnulib. rm: use gnulib faccessat * bootstrap.conf (gnulib_modules): Add faccessat. Replace strdup with strdup-posix. * m4/jm-macros.m4 (coreutils_MACROS): Revert previous change, now that gnulib does it for us. * src/remove.c (write_protected_non_symlink): Use faccessat in more situations. 2009-09-11 Jim Meyering rm: improve efficiency of rm -r (without -f) from O(N^2) to O(N) where N is the depth of the deepest hierarchy rm is processing. * src/remove.c (write_protected_non_symlink): Use faccessat to avoid O(N)-per-entry cost of calling euidaccess. * m4/jm-macros.m4 (coreutils_MACROS): Check for faccessat. * NEWS (Improvements): Mention it. build: placate gcc's new -Wskip-jump-init * remove.c (rm_fts): Put braces around each of the two offending blocks. * configure.ac: Don't turn off -Wjump-misses-init. With the rewrite of remove.c, it is no longer needed. rm: rewrite to use fts * remove.c: Don't include "unlinkdir.h"; no longer used. Do not include or "cycle-check.h". Likewise. Include "xfts.h". (dir_name, dir_len): Remove definitions. (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Likewise. (INODE_SORT_DIR_ENTRIES_THRESHOLD, NEED_REWIND, D_TYPE): Likewise. (struct dirstack_state, Dirstack_state): Likewise. (g_buf, g_n_allocated): Remove declarations. (hash_freer, hash_compare_strings, rm_malloc): Remove functions. (rm_free, push_dir, top_dir, pop_dir, right_justify): Likewise. (full_filename0, xfull_filename, full_filename_): Likewise. (AD_stack_height, AD_stack_top, AD_stack_pop, AD_stack_clear): Likewise. (obstack_init_minimal, ds_init, ds_clear, ds_free): Likewise. (AD_pop_and_chdir, AD_ensure_initialized, AD_mark_helper): Likewise. (AD_mark_as_unremovable, AD_mark_current_as_unremovable): Likewise. (AD_push_initial, AD_push, AD_push, AD_is_removable): Likewise. (write_protected_non_symlink): Change 3rd parameter from dirstack_state "ds" to full_name. (prompt): Adjust parameters. Now, state comes from FTS/FTSENT pair. Those replace fd_cwd and "ds". Remove "filename". Remove pdirent_type in favor of new "is_dir" parameter. Rename is_empty to is_empty_p. (DO_RMDIR, DO_UNLINK): Remove definitions. (remove_entry, fd_to_subdirp, compare_ino): Remove functions. (dirent_count, dirent_inode_sort_may_be_useful): Likewise. (preprocess_dir): Likewise. (fts_skip_tree, mark_ancestor_dirs, excise, rm_fts): New functions. (remove_cwd_entries, remove_dir, rm_1): Remove functions. (rm): Rewrite as a simple loop calling fts_read and dispatching each entry via rm_fts. * src/rm.c (main): Adapt to new signature of rm(). * bootstrap.conf (gnulib_modules): Remove unlinkdir, no longer used. * src/Makefile.am (sc_tight_scope): Also recognize an extern "enum" declaration. * tests/rm/empty-name: Adjust expected output to match new diagnostic. * NEWS (Improvements): Mention it. maint: doc: adjust README-release * README-release: Remove mention of bootstrap's old --gnulib-srcdir=/gnulib option. No longer needed, and its use can lead to subtle problems. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.6 * NEWS: Record release date. 2009-09-10 Jim Meyering link,ln: use gnulib's link module to work around Solaris 10 deficiency Before this change, :>f; ln -T f no-such/ would succeed on Solaris 10. After it, ln fails, as it should: ln: accessing `z/': Not a directory The command, link f no-such/, had the same problem on that system. * bootstrap.conf (gnulib_modules): Add "link". * tests/ln/slash-decorated-nonexistent-dest: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Portability): Mention the improvement. build: update gnulib submodule to latest 2009-09-10 OndÅ™ej Vašík doc: improve various BLOCKSIZE and SIZE help * doc/coreutils.texi (multiplierSuffixes): Mention that the suffix can be specified without a leading number * src/split.c (usage): Refactor SIZE help to within a function * src/truncate.c (usage): Likewise * src/ls.c (usage): Likewise * src/df.c (usage): Likewise. Also add a function with BLOCKSIZE help * src/du.c (usage): Likewise. * src/system.h: Define 2 functions to emit common help text This was prompted by https://bugzilla.redhat.com/show_bug.cgi?id=511188 2009-09-10 Jim Meyering dd conv=unblock: print final newline consistently * src/dd.c (dd_copy) [C_UNBLOCK]: Always print the final newline for non-empty output, not just when output size is a multiple of cbs. * doc/coreutils.texi (dd invocation) [conv=unblock]: Mention that dd prints a newline after each output record, not just when replacing trailing spaces. Reported by Ulrich Drepper. * tests/dd/unblock: New file. Test for this. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. 2009-09-09 Jim Meyering maint: make cfg.mk slightly more generic * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE). 2009-09-08 Jim Meyering * gnulib: Update submodule to latest. tail: make the new piped-stdin test as portable as the old one * src/tail.c (main): Adapt piped-stdin test to use the same isapipe, test as was used in the preceding POSIXLY_CORRECT condition. Remove the now-subsumed POSIXLY_CORRECT test. Reported by Pádraig Brady. * doc/coreutils.texi (tail invocation): Document this change. * NEWS (Changes in behavior): Reclassify, clarify. 2009-09-08 Pádraig Brady tests: tail-2/assert: reduce risk of race condition * tests/tail2/assert: This reverts commit be853120, 25-08-2009, "tests: tail-2/assert: avoid risk of race condition" kill -0 doesn't send a signal and so will only confirm that the background process was forked, which we know already because we have its pid. tests: address a race condition in misc/cat-buf * tests/misc/cat-buf: Increase the delay between writes to decrease the chance that dd will read both at once. Since the test is inherently racy, print a warning via skip_test_ rather than failing outright. Reported by Jim Meyering. 2009-09-07 Jim Meyering tail: syntax-only: use "false", rather than equivalent, 0 * src/tail.c (record_open_fd): Initialize "->ignore" to false, not 0. tail: ignore -f for piped-stdin, as POSIX requires * src/tail.c (main): Tailing a pipe "forever" is not useful, and POSIX specifies that tail ignore the -f when there is no file argument and stdin is a FIFO or pipe. So we do that. In addition, GNU tail excludes "-" arguments from the list of files to tail forever, when the associated file descriptor is connected to a FIFO or pipe. Before this change, ":|tail -f" would hang. Reported by Ren Yang and Ulrich Drepper. * tests/tail-2/pipe-f: Test for this. * tests/tail-2/pipe-f2: Ensure tail doesn't exit early for a fifo. * tests/Makefile.am (TESTS): Add these tests. * NEWS (POSIX conformance): Mention it. 2009-09-07 Pádraig Brady tests: tail-2/flush-initial should not rely on stdbuf * tests/tail-2/flush-initial: stdbuf is not built on all systems. In any case it's redundant since stdout will automatically be buffered since we're redirecting to file. So just call tail without using stdbuf. 2009-09-07 Jim Meyering tail: don't give up on inotify mode for an already-ignored "-" * src/tail.c (main): Adjust today's change to honor the F[i].ignore flag that may have been set in tail_file. tests: misc/cat-buf: clean up syntax * tests/misc/cat-buf: Don't suppress dd's stderr. Remove useless quotes. tests: ls/color-clear-to-eol: append NL to accommodate old sed * tests/ls/color-clear-to-eol: Some vendor sed programs fail to operate on lines that are not NL-terminated. This affects at least Solaris 10's /bin/sed. Reported by Pádraig Brady. tests: tail-2/infloop-1: avoid rare test failure on a busy system * tests/tail-2/infloop-1: Sleep 3 seconds, not 1, but in increments of 0.1 second. Before, this test would fail ~1 time in 20 via "make -j9 check" on a quad-core system. Correct comment. build: update gnulib submodule to latest doc: tweak NEWS * NEWS (dd): Tweak wording. Two blank lines between sections. tail -f: handle "-"/stdin once again * src/tail.c (main) [HAVE_INOTIFY]: When stdin (i.e., "-", or no args, but not /dev/stdin) is specified on the command line, don't use inotify. Reported by Bill Brelsford in . * tests/tail-2/follow-stdin: New file. Test for this. * tests/Makefile.am (TESTS): Add the test. * NEWS (Bug fixes): Mention it. This bug was introduced in coreutils-7.5 via commit ae494d4b, 2009-06-02, "tail: use inotify if it is available". 2009-09-06 Jim Meyering tests: tail-2/flush-initial: correct race avoidance code * tests/tail-2/flush-initial: Wait for the file to be nonempty, not for the process. Based on a suggestion from Pádraig Brady. tests: ls-misc: don't let a bogus umask cause test failure * tests/misc/ls-misc: Set umask to 022. A umask setting permitting world-write access, e.g., umask o+w, would cause this test to fail. Report by Mathias Brodala and analysis by Tom Fitzhenry in . tail: flush initial output before possibly blocking * src/tail.c (main): Flush any output from tail_file, before calling tail_forever_inotify, which can block. * tests/tail-2/flush-initial: New file. Test for the bug. * tests/Makefile.am (TESTS): Add tail-2/flush-initial. * NEWS (Bug fixes): Mention it. This bug was introduced in coreutils-7.5 via commit ae494d4b, 2009-06-02, "tail: use inotify if it is available". 2009-09-05 Jim Meyering maint: remove unused file: lib/fdopendir-glibc.c * lib/fdopendir-glibc.c: Remove unused file. 2009-09-05 Jim Meyering 2009-09-05 Jim Meyering tests: ls/stat-vs-dirent: avoid spurious test failure * tests/ls/stat-vs-dirent: Avoid test failure when run from a directory whose name (or ancestor directory name) starts with ".". 2009-09-05 Pádraig Brady doc: make the tail --sleep-interval help less confusing * src/tail.c (usage): I read "approximately S seconds" as "approximately 5 seconds" for approximately 5 seconds. maint: remove some tab indentation from copy.c * src/copy.c (copy_internal): Remove tabs erroneously added in commit 3346c0af. tests: test old tail -f method even on systems with inotify * src/tail.c (main): Add an undocumented ---disable-inotify option to allow disabling inotify. * tests/tail-2/pid: Run test in both normal and "disable_inotify" modes. * tests/tail-2/tail-n0f: Likewise. * tests/tail-2/wait: Likewise. * tests/tail-2/append-only: Likewise. 2009-09-05 Jim Meyering build: update gnulib submodule to latest 2009-09-05 Petr Salinger stty: use TAB0, TAB1, and TAB2 only if defined * src/stty.c (mode_info) [TAB0, TAB1, TAB2]: Guard each entry with #ifdef. Required for GNU/kFreeBSD. Reported by Petr Salinger in http://bugs.debian.org/520368. 2009-09-05 Eric Blake build: update from gnulib * gnulib: Update submodule to latest. 2009-09-04 Eric Blake ln: add comments related to POSIX 2008 * src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Delete. (do_link): Update comments per POSIX; add FIXME for -L, -P. mv, cp: tweak LINK_FOLLOWS_SYMLINKS logic * gnulib: Update to latest gnulib. * src/copy.c (copy_internal): Adjust comment in light of POSIX 2008, and deal with macro now being tri-state. 2009-09-04 Petr Salinger tests: fix a tail-2/pid failure on GNU/kFreeBSD * tests/tail-2/wait: Increase the file name recheck frequency to fix a failure on systems without inotify and a file timestamp precision of 1 second (like GNU/kFreeBSD). 2009-09-04 Pádraig Brady tests: fix a failure when running tail-2/wait as root * tests/tail-2/wait: Silently skip a portion of the test when running as root, rather than failing the whole test. This regression was introduced with commit 84b5844d, 2009-09-03, "tests: simplify and fix a race in 2 tail --follow tests". 2009-09-04 Mike Frysinger build: fix libcap configure flag handling * m4/jm-macros.m4 (coreutils_MACROS): The code to handle configure-time enabling or disabling of libcap support was broken. It would treat any libcap configure option as --disable-libcap because it doesn't check $enableval at all. This change makes sure we do the sane thing: --disable-libcap -> disable and don't run any tests --enable-libcap -> run tests and fail if not found default -> run tests and warn if not found 2009-09-03 Jim Meyering df: don't fail due to an unreadable argument * src/df.c (main): If open or fstat fails when we're trying to ensure that all arg-partitions are automounted, fall back on using stat. Inspired by the report and patch from Olivier Fourdan in http://bugzilla.redhat.com/520630. * NEWS (Bug fixes): Mention it. * tests/df/unreadable: New test for the above. * tests/Makefile.am (TESTS): Add df/unreadable. The bug was introduced in coreutils-7.3 via commit dbd17157, 2009-04-28, "df: use open(2), not stat, to trigger automounting". 2009-09-03 Kamil Dudka doc: install -C: fix bug in the texi documentation * doc/coreutils.texi: Move the documentation for install --compare (-C) from the section on fmt to that for install. Reported by Florian Schlichting. 2009-09-03 Pádraig Brady tests: simplify and fix a race in 2 tail --follow tests * tests/tail-2/pid: Use the timeout command to determine process longevity, rather than querying /proc/$pid/status. The latter was racy in any case when inotify is used, as then tail wakes up periodically even for unchanging files therefore causing the check for "S (sleeping)" state to fail intermittently. * tests/tail-2/wait: Likewise. 2009-09-03 OndÅ™ej Vašík cp: don't leak resources for each xattr preservation failure * src/copy.c (copy_reg): Don't return from the function after an unsuccessful and required preservation of extended attributes. This resulted in leaking the copy buffer and file descriptors. * NEWS (Bug fixes): Mention the fix. The bug was introduced in coreutils-7.1 via commit 0889381c, 2009-01-23, "cp/mv: add xattr support". 2009-09-01 Pádraig Brady chcon, chmod, chgrp, chown, du: report fts_close failure * src/du.c (du_files): Don't fail silently upon fts_close failure. * src/chcon.c (process_files): Likewise. * src/chmod.c (process_files): Likewise. * src/chown-core.c (chown_files): Likewise. 2009-09-01 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. chcon, chmod, chgrp, chown, du: do not ignore fts_close failure This is probably never visible, but who knows... * src/chcon.c (process_files): Don't ignore fts_close failure. * src/chmod.c (process_files): Likewise. * src/chown-core.c (chown_files): Likewise. * src/du.c (du_files): Likewise. maint: du: remove unnecessary initialization * src/du.c (main): Don't set "skip_file" unnecessarily. maint: chown, chgrp, chmod, chcon: remove unnecessary initialization * src/chown-core.c: Include "ignore-value.h". (change_file_owner): Don't set "ent" only to ignore it. * src/chcon.c (process_file): Likewise. * src/chmod.c: Include "ignore-value.h". (process_file): Don't set "ent" only to ignore it. After diagnosing root-dev/ino failure, return false immediately: Now that we don't set "ent" we must be sure not to use it uninitialized, and there's no point in issuing --verbose-related output in this case. maint: shred: remove unnecessary initialization * src/shred.c (genpattern): Value stored to "n" is never used. maint: dd: remove unnecessary initialization * src/dd.c (skip): Remove set-but-never-used variable, soffset. maint: tail: remove unnecessary initialization * src/tail.c (tail_bytes): Don't compute "diff" twice. maint: mbsalign.c: remove unnecessary assignment * gl/lib/mbsalign.c (mbsalign): Remove assignment, the result of which is never used. 2009-09-01 Pádraig Brady timeout: remove a redundant assignment * src/timeout.c (main): While keeping argc and argv in sync may be marginally useful, it is redundant to update argc, so just remove that to suppress the clang warning. timeout: defensive handling of all wait() errors * src/timeout.c (main): Handle all possible cases of unexpected failures from wait(). This was prompted by the clang tool reporting the possible non-initialization of the status variable. 2009-09-01 Jim Meyering ls -i: print consistent inode numbers also for mount points On most unix- and linux-based kernels, ls -i DIR_CONTAINING_MOUNT_POINT would print the wrong inode number for any entry that is a mount point. It would do that by relying on readdir's dirent.d_ino values, while most readdir implementations return the inode number of the underlying, inaccessible directory. Thus, it is not consistent with what you'd get when applying stat to the same entry. This bug led to surprising results like "ls -i" and "ls -i --color" printing different numbers (ls must usually "stat" a file to colorize its name). This change makes it so that on offending systems, ls must stat non-command-line-arguments for which otherwise it would be able to use "for free" dirent.d_ino values. Regardless of this change, ls is already required to stat every command-line argument. Note: versions of GNU ls prior to coreutils-6.0 did not perform the invalid optimization, and hence always printed correct inode numbers. Thus, for the sake of correctness, ls -i is forgoing the readdir optimization, for any kernel (including linux!) with POSIX-nonconforming readdir. Note that currently, only Cygwin has been agile enough to conform. * src/ls.c (RELIABLE_D_INO): Define. (print_dir): Use it. For plenty of discussion, see this long thread: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14020 This bug was introduced by the 2006-02-26 commit, 33eb3efe: "In ls, avoid calling stat for --inode (-i), when possible." * tests/ls/readdir-mountpoint-inode: New test. * tests/Makefile.am (TESTS): Add it. * tests/ls/stat-vs-dirent: Don't suppress failure of this test, now that ls -i is fixed. Though note that it doesn't test well, since it compares only the always-stat'd command-line arguments. * NEWS (Bug fixes): Mention it. 2009-08-31 Jim Meyering maint: revert my stdbuf change: the result didn't even compile This reverts commit c1e158489d88bad418d52ceadf37af0b6f5b2112. 2009-08-30 Jim Meyering maint: stdbuf: move a declaration; no-semantic-change * src/stdbuf.c (set_program_path): Move a declaration down into the scope where it's used. build: quiet "make check" in src/ * src/Makefile.am (check-duplicate-no-install): Use $(AM_V_GEN). (check-README): Likewise. And $(AM_V_at). doc: cp: update note on preserving symlink time stamps * doc/coreutils.texi (cp invocation): Now, we *do* preserve time stamps on symlinks, when possible. build: update bootstrap from gnulib * bootstrap: Merge from gnulib. 2009-08-30 Pádraig Brady tests: don't misbehave if $TMPDIR contains spaces * tests/misc/xattr: Add quotes. * tests/mv/acl: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/sticky-to-xpart: Likewise. 2009-08-29 Jim Meyering tests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIR * tests/other-fs-tmpdir: Quote uses of variables that might expand to strings containing e.g., whitespace. build: update from gnulib * gnulib: Update submodule to latest. tests: move a coreutils-specific test from maint.mk to Makefile.am * Makefile.am (distcheck-hook): Make taint-distcheck here, since it's no longer done via maint.mk. tests: cp/reflink-auto guard against a pathological $TMPDIR * tests/cp/reflink-auto: Add quotes. 2009-08-29 Pádraig Brady cp --reflink: preserve attributes on cloned files if asked * src/copy.c (copy_reg): When cloning only skip the data copying * tests/cp/reflink-perm: New test to check times and modes copied * tests/Makefile.am: Reference the new test * NEWS: Mention the fix cp --reflink: add an "auto" parameter to fall back to a normal copy * doc/coreutils.texi (cp invocation): Document the new "auto" and "always" options to --reflink. * src/copy.c (copy_reg): Fall back to a standard copy when reflink() is not supported and --reflink=auto specified. * src/copy.h [struct cp_options] (reflink): Change type s/bool/enum/. * src/cp.c (usage): Describe the --reflink={always,auto} options and expand a little on what --reflink does. (main): parse the new parameters to --reflink and allow all --sparse options with --reflink=auto. * src/install.c (cp_option_init): Init the enum instead of bool. * src/mv.c (cp_option_init): Likewise. * tests/cp/reflink-auto: A new test for falling back to normal copy. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature. 2009-08-28 Pádraig Brady stdbuf: fix a small typo in --help output * src/stdbuf.c (usage): s/then/the/ 2009-08-28 Eric Blake build: avoid unused variable warnings on cygwin * src/copy.c (clone_file, copy_attr_by_fd, copy_attr_by_name): Mark up unused variables. * src/remove.c (dirent_inode_sort_may_be_useful): Likewise. dd: detect closed stderr * src/dd.c (maybe_close_stdout): Always flush stderr; regression introduced in commit 381e69ea. * tests/misc/close-stdout (p): Use consistent style. * tests/dd/stderr: New test, borrowing from misc/close-stdout. * tests/Makefile.am (TESTS): Run it. * NEWS: Mention this. 2009-08-28 Jim Meyering maint: ignore only man/*.1, not all *.1 files * .gitignore: Ignore *.1 only in man/ 2009-08-27 Jim Meyering build: prefix a few rules with $(AM_V_GEN) * Makefile.am (.version, dist-hook, gen-ChangeLog): Use $(AM_V_GEN) and $(AM_V_at), so that automake's silent-rules option (make V=1/V=0) now controls whether the commands are printed at build time. (THANKS-to-translators, check-ls-dircolors): Likewise. 2009-08-26 Jim Meyering build: stop earlier if touching ChangeLog fails * bootstrap.conf: Exit right away if touching ChangeLog fails. Otherwise, the touch failure message is buried under configure output. tests: mkdir/selinux: avoid spurious failure on some SELinux systems * tests/test-lib.sh (require_selinux_enforcing_): New function. * tests/mkdir/selinux: Use it. Otherwise, this test would fail on Rawhide with SELinux disabled. tests: tail-2/assert: avoid risk of race condition * tests/tail-2/assert: Avoid spurious failure due to race condition. Rather than sleeping for 1 second and crossing fingers, wait explicitly for backgrounded tail process to start. Otherwise, this test would fail under heavy load. 2009-08-25 Jim Meyering maint: ensure we don't embed Emacs indent-tabs-mode setting lines Now that we prohibit indentation via TABs, there's no need for Emacs indent-tabs-mode setting lines, so prohibit those, too. * cfg.mk (sc_prohibit_emacs__indent_tabs_mode__setting): New rule. maint: remove Local Variables: indent-tabs-mode: nil from all sources * src/getlimits.c: Likewise. * src/group-list.c: Likewise. * src/groups.c: Likewise. * src/mktemp.c: Likewise. * src/setuidgid.c: Likewise. * src/stdbuf.c: Likewise. * src/timeout.c: Likewise. * src/truncate.c: Likewise. * gl/lib/mbsalign.c: Likewise. * tests/test-lib.sh: Likewise. * bootstrap: Likewise. * README-hacking: Likewise. doc: HACKING: mention the new space-only indentation policy maint: teach "make syntax-check" the space-only indentation rule * cfg.mk (sc_prohibit_tab_based_indentation): New rule. * .x-sc_prohibit_tab_based_indentation: New file. * Makefile.am (syntax_check_exceptions): Add file, .x-sc_prohibit_tab_based_indentation. global: convert indentation-TABs to spaces Transformed via this shell code: t=$'\t' git ls-files \ | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ | grep -vE 'tests/pr/|help2man' \ | xargs grep -lE "^ *$t" \ | xargs perl -MText::Tabs -ni -le \ '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_' 2009-08-24 Jim Meyering cp: ignore obscure failure to preserve symlink time stamps, ...when run on a kernel older than what was implied by headers and libraries tested at configure time. * src/copy.c (utimens_symlink): Ignore failure when errno == ENOSYS. * NEWS (Bug fixes): Mention it. Reported by Todd Zullinger and Kamil Dudka. Details in this thread: http://thread.gmane.org/gmane.linux.redhat.fedora.devel/119834 2009-08-23 Jim Meyering tests: skip (don't fail) a cp test, upon mount-related failure * tests/cp/cp-mv-enotsup-xattr: Upon a set-up failiure, rather than failing the test with a "framework failure" diagnostic, just skip it. Russell Whitaker reported that this test failed on slackware. build: update from *public* gnulib * gnulib: Update submodule to latest. Kamil Dudka reported that bootstrap was broken. 2009-08-22 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. 2009-08-20 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.5 * NEWS: Record release date. tests: skip the stdbuf tests when the abs build directory name is bogus * tests/misc/stdbuf: Avoid spurious failure when the directory name from which we'd set LD_PRELOAD contains unsafe characters. install: avoid a portability bug when compiling with non-gcc * src/install.c (extra_mode): Be careful to return only a 0 or 1 value, since this is a "bool" function, and there are still some compilers for which this is necessary. Without this change, Bernhard Voelker reported that the Forte Developer 7 C 5.4 2002/03/09 compiler would produce a malfunctioning "install" binary. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17710/focus=17760 2009-08-19 Jim Meyering tests: make install-C slightly less prone to confusion * tests/install/install-C: Invoke framework_failure, if necessary. build: avoid "make dist" failure in man/ Now that "make check" no longer builds programs like arch, ... * src/Makefile.am (dist-hook): Depend on $(all_programs), so that the subsequent build in man/ doesn't fail due to lack of a program like arch that is not going to be installed. 2009-08-18 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. 2009-08-18 Giuseppe Scrivano nl: deprecate --page-increment in favor of --line-increment * NEWS: Mention the change. * doc/coreutils.texi: Document the new --line-increment option. * src/nl.c (struct option): Add --line-increment, (usage): Describe it, (main): Use it. 2009-08-18 Jim Meyering tests: stdbuf: fix a bug in test script * tests/misc/stdbuf: Use skip_test_ only after it's defined. Reported by Berhnard Voelker. (sc_check-AUTHORS): Rename rule from check-AUTHORS. 2009-08-18 Jim Meyering build: perform check-AUTHORS via syntax-check, not via "make check" * src/Makefile.am (check): Don't depend on check-AUTHORS. That check fails on systems for which a program like stdbuf is not built. Instead, move this check to "make syntax-check". (sc_check-AUTHORS): Rename rule from check-AUTHORS. * cfg.mk (sc_check-AUTHORS): New rule. Reported by Berhnard Voelker. sort: use more portable initialization syntax * src/sort.c (find_unit_order): Spell out 256-element static initializer, rather than relying on C99 syntax. Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10. Reported by Bernhard Voelker. 2009-08-17 Jim Meyering build: suppress warnings due to gcc's new -Wjump-misses-init * configure.ac: Ignore -Wjump-misses-init violations in remove.c. build: update from gnulib * gnulib: Update submodule to latest. 2009-08-16 Jim Meyering tests: tail-2/append-only: don't discard stderr * tests/tail-2/append-only: Don't discard a diagnostic that may help explain why this test fails for some. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17621/focus=17641 2009-08-14 Jim Meyering tests: skip the misc/stdbuf test if stdbuf was not built * tests/misc/stdbuf: Skip this test when stdbuf is not built. Reported by Eric Blake. build: use gnulib's getopt-gnu module (getopt is now deprecated) * bootstrap.conf (gnulib_modules): Gnulib's getopt module is now deprecated; use the new, preferred name, getopt-gnu. * gnulib: Update to latest. 2009-08-14 Pádraig Brady cp,mv: fix issues with preserving timestamps of copied symlinks * src/copy.c (copy_internal): On systems without utimensat don't use utimens on a symlink, as that would dereference the symlink. * tests/cp/abuse: To work around possible attribute preservation failures breaking the test, use cp -dR rather than cp -a. doc: clarify the cp --reflink NEWS * NEWS: Remove the description associated with the removed experimental code which unconditionally tried to reflink() on copy. Also clarify where --reflink works exactly. 2009-08-13 Jim Meyering tests: raise ulimit virt-mem limit to avoid new failure * tests/cp/link-heap: Raise limit from 16MB to ~20MB, to avoid spurious failure on rawhide. 2009-08-13 Pádraig Brady tail: fix tail -f failure when inotify used * src/tail.c (tail_forever_inotify): Remove the redundant and incorrect error check of the return from inotify_add_watch(). Also initialize the wd member of each File_spec to an invalid value. Reported by C de-Avillez. dd: fix a signal handling race * src/dd.c (main): Install the signal handlers at startup rather than just before the copy starts. In this way signals received before the copy (like during a slow truncate for e.g.) will be deferred and handled consistently. * THANKS: Add Bernhard's email address. * NEWS: Mention the fix. Reported by Bernhard Voelker. 2009-08-12 Pádraig Brady tests: improve one of the tail --pid tests * tests/tail-2/pid: Speed up the test by specifying a timeout of 100ms rather than the default 1s. Also skip the test instead of failing in the unlikely case were the pid required to be missing pid is present. 2009-08-10 Jim Meyering nl, pinky: replace uses of strcat * src/nl.c (main): Avoid strcat, on principle. Use stpcpy instead. * src/pinky.c (print_long_entry): Likewise. build: update from gnulib, for HOST_NAME_MAX on solaris 10 * gnulib: Update submodule to latest. 2009-08-07 Giuseppe Scrivano cp: accept the --reflink option * NEWS: Mention it. * doc/coreutils.texi (cp invocation): Describe it. * src/copy.h (struct cp_options) [reflink]: New member. * src/copy.c (usage): Describe it. (copy_reg): If reflink is true try to clone the file. (main): Check for --reflink. (cp_option_init): Initialize the new member. * src/install.c (cp_option_init): Initialize the new member. * src/mv.c (cp_option_init): Likewise. * tests/cp/sparse: Add a new test case. 2009-08-07 Jim Meyering dd: preserve semantics of O_DIRECT even for final block * src/dd.c: Include "ignore-value.h" (iwrite): When disabling O_DIRECT, try to compensate via POSIX_FADV_DONTNEED and fsync. Suggested by Eric Sandeen. 2009-08-06 Jim Meyering maint: move selinux-at module from gl/ to gnulib * gl/lib/selinux-at.c: Remove file. * gl/lib/selinux-at.h: Likewise. * gl/modules/selinux-at: Likewise. * gnulib: update to latest, to get the new module. 2009-08-06 Jim Meyering dd: work around buffer length restrictions with oflag=direct (O_DIRECT) dd oflag=direct would fail to copy a file with size that is not a multiple of 512 (destination file system specific) * NEWS (Bug fixes): Mention it. * src/dd.c (iwrite): Turn off O_DIRECT for any smaller-than-obs-sized write. Don't bother to restore it. * tests/dd/direct: New test for the above. * tests/Makefile.am (TESTS): Add dd/direct. * doc/coreutils.texi (dd invocation): Mention oflag=direct buffer size restriction. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17586 Reported by Eric Sandeen. 2009-08-04 Jim Meyering dd: remove unnecessary #if HAVE_FTRUNCATE * src/dd.c (main): Remove unnecessary cpp directives. Gnulib guarantees that ftruncate is usable. cp -pP (and e.g., -a): preserve time stamps on symlinks, too * src/copy.c (utimensat_if_possible): New function. (copy_internal): Remove variable, "preserve_metadata". Replace with "dest_is_symlink". That covers all cases but one: the one in which cp --link has created hard links to non-directories. In that case, there is no need to update attributes of the links. Use utimensat_if_possible, to preserve timestamps of symlinks. * NEWS (New features): Mention this. * tests/Makefile.am (TESTS): Add cp/preserve-slink-time. * tests/cp/preserve-slink-time: New file. * m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat. Reported in http://bugzilla.redhat.com/230866 2009-08-04 Kamil Dudka install runs faster again with SELinux enabled * m4/jm-macros.m4: Pull in SELinux libraries while checking for matchpathcon_init_prefix (). Emit configure warning when not found with SELinux enabled. * NEWS (Bug fixes): Mention it. The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02, "accommodate older SELinux which lacks matchpathcon_init_prefix". 2009-08-04 Jim Meyering maint: move the update-copyright rule to gnulib's maint.mk * gnulib: Update submodule to get latest maint.mk. * Makefile.am (update-copyright): Remove rule; now it's in maint.mk. * m4/check-decl.m4: Update sole remaining copyright year list. 2009-07-31 Jim Meyering build: *really* update to a usable gnulib commit build: update to a usable gnulib commit The commit, 5ef90695, 2009-07-29, "maint: move update-copyright to gnulib" recorded a local-only commit. Reported by Pádraig Brady. 2009-07-30 Jim Meyering tests: new function: require_openat_support_ * tests/rm/inaccessible: Factor out openat-support-detection code... * tests/test-lib.sh (require_openat_support_): ...into this new function. tail: tweak indentation * src/tail.c (tail_forever_inotify): Adjust indentation of continued line. 2009-07-30 Pádraig Brady tail: properly parse fractional seconds when monitoring a pid * src/tail.c (tail_forever_inotify): The fractional part of the delay was 1000 times too large. * tests/tail-2/pid: Add a test to ensure the timeout happens for this case. 2009-07-30 Jim Meyering tests: test for just-fixed tail --pid bug * tests/tail-2/pid: Ensure tail exits successfully when PID dies. 2009-07-30 Giuseppe Scrivano tail: exit successfully upon watched process death * src/tail.c (tail_forever_inotify): If a PID is specified and the watched process dies, exit with status EXIT_SUCCESS, rather than falling through to an EXIT_FAILURE. 2009-07-29 Jim Meyering maint: move update-copyright to gnulib * build-aux/update-copyright: Remove file. * bootstrap.conf (gnulib_modules): Add update-copyright. * gnulib: Update submodule to latest. maint: make update-copyright work in yet another case * build-aux/update-copyright: Handle the case in which "\n#" appears between the final year number and the copyright holder name. * m4/lib-check.m4: Update copyright year list. Reported by Joel E. Denny. maint: update NEWS * NEWS (New features): Mention it. 2009-07-29 Giuseppe Scrivano cp: support btrfs' copy-on-write file clone operation * src/copy.c [HAVE_SYS_IOCTL_H]: Include . (BTRFS_IOCTL_MAGIC, BTRFS_IOC_CLONE): Define. (clone_file): New function. (copy_reg): Use the btrfs clone operation if possible. 2009-07-29 Jim Meyering maint: update sleep.c's copyright year list * src/sleep.c: Update copyright year list to include 2009. * tests/sort-time/rand-gen: Remove long-unused file. * tests/sort-time/README: Likewise. 2009-07-29 Joel E. Denny maint: improve update-copyright rule * Makefile.am (update-copyright): Relax the selection rule to match any file containing the word "Copyright". Correct the exclusion rule so that it also excludes ChangeLog and COPYING files that are not in the top level directory. 2009-07-29 Jim Meyering maint: update-copyright: fix just-introduced bug * build-aux/update-copyright: ... and revert-for-now the change that made this script invoke localtime only once. maint: make update-copyright handle more cases * build-aux/update-copyright: Handle cases in which the final year number and copyright holder are on separate lines. Prompted by a report from Joel E. Denny. Also, do not invoke localtime for each line we process. 2009-07-28 Pádraig Brady doc: fix the generated HTML index * doc/coreutils.texi: Move the "SELinux context" section down below the "System context" nodes so that the HTML index is generated correctly. Also some extraneous and missing '.' characters were corrected in the index. Reported by Benno Schulenberg. 2009-07-28 Giuseppe Scrivano tail: use the inotify backend also with --pid=PID * src/tail.c (tail_forever_inotify): When a PID is specified, use select to block for no more than sleep_interval seconds at a time, and check for process death upon timeout. (main): Adapt to new tail_forever_inotify interface. 2009-07-27 Jim Meyering tests: new test for bug in ls -1U dir arg ... * tests/misc/ls-misc (multi-arg-U1): New test. 2009-07-27 Kamil Dudka ls -1U dir arg ... now works again * src/ls.c (print_dir): Emit "$dir_name:\n" *before* accumulating (and possibly printing) directory entry names. The bug was introduced in coreutils-7.0 via commit 8d974b00, 2008-07-30, "ls -U1 now uses constant memory". Reported by Julian Bradfield. * NEWS (Bug fixes): Mention it. 2009-07-27 Heikki Orsila tr: improve --help's description of --complement (-c) 2009-07-27 Pádraig Brady doc: add a sort by line length example * doc/coreutils.texi (sort invocation): Add an example showing how to sort data not directly supported by the sort command. doc: mention realpath in the readlink info * doc/coreutils.texi (readlink invocation): Add realpath to the index, and also mention it in the readlink description so people searching for that functionality can easily make the connection. 2009-07-26 Jim Meyering build: use a fixed-name temporary in man/Makefile.am * man/Makefile.am (check-x-vs-1): Using a fixed-name temporary file is better than one ending in -$$, because many -$$-suffixed files may accumulate over time. 2009-07-24 Kamil Dudka doc: improve readlink description here, too * doc/coreutils.texi (readlink invocation): Update menus. Add @cindex entries. 2009-07-24 Jim Meyering readlink: improve one-line summary: prints canonical file names, too * src/readlink.c (usage): Adjust one-line summary. * man/readlink.x: Likewise. Suggested by Kamil Dudka. 2009-07-21 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. 2009-07-14 Jim Meyering doc: point to Guile's ChangeLog-writing guidelines * HACKING (Commit log requirements): Point to Guile's http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html. Mention that a bit of prose can be welcome. 2009-07-11 Jim Meyering tail: adjust type of a local variable * src/tail.c (tail_forever_inotify): Declare "len" to be of type size_t, not ssize_t, since the former is what safe_read returns. 2009-07-09 Jim Meyering tests: avoid false-positive cp/link-heap failure * tests/cp/link-heap: Increase address space limit from 14000KB to 16000KB, to avoid failure with Debian unstable's libc6-dev-2.9-19 build: avoid build warn/failure due to -Wstack-protector * configure.ac: Do not enable -Wstack-protector. Otherwise, at least df.c would provoke a warning. 2009-07-08 OndÅ™ej Vašík copy.c: remove a duplicate expression * src/copy.c (copy_attr_error): remove a redundant expression added in commit e0cf592f, 2009-04-27, "factor out test for errno ...". 2009-07-08 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. tail: use size_t for counter and index variables, ... * src/tail.c (any_live_files): ... not "int" or even unsigned int (tail_forever, tail_forever_inotify, main): Likewise. tail: declare "file descriptor" variable to be "int", not size_t * src/tail.c (tail_forever_inotify): Use "int", not size_t as the type of a file descriptor variable. 2009-07-04 Jim Meyering move argv-iter module to gnulib * gl/lib/argv-iter.c: Remove file. * gl/lib/argv-iter.h: Remove file. * gl/modules/argv-iter: Remove file. * gl/modules/argv-iter-tests: Remove file. * gl/tests/test-argv-iter.c: Remove file. * gnulib: Update submodule, to get argv-iter 2009-07-04 Giuseppe Scrivano tests: refactor code to use require_proc_pid_status_ * tests/tail-2/tail-n0f: Read the process status using the test-lib.sh require_proc_pid_status_ function. tests: use the "nobody" user's group as the default group id * tests/chroot/credentials: Use the group id, not its name. * tests/test-lib.sh (NON_ROOT_GROUP): Use the "nobody" user's group in place of "nogroup". 2009-07-03 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. 2009-07-03 Pádraig Brady sort: allow SI and IEC units on separate human sort fields * src/sort.c: Store the si_present state per key rather than globally * tests/misc/sort: Add a check that would have previously failed. Also add a test to demonstrate that invalid IEC/SI mixtures are not always noticed when they're not significant to the sort. 2009-07-03 Giuseppe Scrivano tail: avoid an inotify portability problem in kernels prior to 2.6.21 * src/tail.c (tail_forever_inotify): Handle the special case in which an old inotify watcher returns 0. Affects kernels in [2.6.13, 2.6.21). 2009-07-03 Jim Meyering tests: tail-2/wait: rename internal file name * tests/tail-2/wait: Rename file from not_accessible to unreadable, since all the test cares about is readability. 2009-07-03 Giuseppe Scrivano tests: tail-2/wait: don't fail when run as root * tests/tail-2/wait: Ensure that the unreadable file really is not readable before trying to run "tail -f" on it. 2009-07-03 Pádraig Brady doc: update the info on sort -b and -k * doc/coreutils.texi (sort invocation): Mention in the description of -b, that the locale can also affect whether blanks are significant. Update the list of ordering options for a --key that cause it to not inherit any global ordering options. Update the list of ordering options that implicitly skip whitespace. maint: generalize the development prerequisites docs * README-hacking: Add a little more high level info and merge notes on specific developer prerequisites into README-prereq * README-prereq: Remove the Fedora 8 specific information and generalize the information to be applicable to any system. 2009-06-29 Jim Meyering tail: add comments noting potential inotify-related problems * src/tail.c (tail_forever_inotify): Add two FIXME comments. 2009-06-28 Jim Meyering maint: bootstrap: merge changes from gnulib * bootstrap: Indent using spaces, not TABs. maint: bootstrap: sync submodule usage from gnulib * bootstrap: Config for git submodule use only if .gitmodules exists. maint: bootstrap: split a few long lines * bootstrap (found_aux_dir): Avoid lines longer than 80 columns. 2009-06-27 Jim Meyering maint: don't change COPYING * COPYING: Don't modify Copyright date list in imported file. This file is one of very few exceptions in that we version-control it, even though its primary source is another package. Spotted by Eric Blake. maint: add a rule to automate the annual copyright-year-update process * build-aux/update-copyright: New file. * Makefile.am (changelog_etc): Add update-copyright. (update-copyright): New rule. 2009-06-27 Pádraig Brady stdbuf: fix to stop -i option causing an assertion * src/stdbuf.c (main): Fix the array bounds check in the assert * tests/misc/stdbuf: Add a test for all standard streams 2009-06-25 Pádraig Brady doc: clarify the tail inotify NEWS * NEWS: Say why inotify was used 2009-06-23 Jim Meyering maint: update all Copyright year lists to include 2009 maint: remove old TODO files * lib/TODO: Remove file. * tests/join/TODO: Likewise. doc: README-hacking tweak * README-hacking: Move the "While building..." sentence down to where it belongs. tests: tail-2/pid: include more info upon failure * tests/tail-2/pid: Print unexpected $state upon failing. 2009-06-20 Jim Meyering doc: typo fix in README-hacking * README-hacking: Fix a typo. Don't make building from a git-cloned tree sound so hard. 2009-06-19 Jim Meyering build: update from gnulib (hash module updates; maint.mk tweak) * gnulib: Update submodule to latest. 2009-06-17 Jim Meyering doc: fix a typo * doc/coreutils.texi (stdbuf invocation): Insert missing "to". 2009-06-17 Pádraig Brady stdbuf: A new program to run a command with modified stdio buffering * AUTHORS: Register as the author. * NEWS: Mention this change. * README: Add stdbuf command to list. * configure.ac: Only enable on ELF systems with GCC. * cfg.mk (sc_system_h_headers): Use VC_LIST_EXCEPT rather than VC_LIST, so we can add an exception, if needed. * .x-sc_system_h_headers: New file. Exempt libstdbuf.c. * Makefile.am (syntax_check_exceptions): Add .x-sc_system_h_headers. * doc/coreutils.texi (stdbuf invocation): Add stdbuf info. * man/.gitignore: Ignore generated manpage. * src/.gitignore: Ignore stdbuf and libstdbuf.so binaries. * man/Makefile.am (stdbuf.1): Add dependency. * man/stdbuf.x: New file with example usage. * po/POTFILES.in: Reference new command and shared library sources. * src/Makefile.am (build_if_possible__progs): Add stdbuf and libstdbuf, (pkglib_PROGRAMS): Reference optional shared lib, (libstdbuf_so_LDADD): Ensure we don't link with non PIC libcoreutils.a. (libstdbuf_so_LDFLAGS): Add -shared GCC option, (libstdbuf_so_CFLAGS): Add -fPIC GCC option. (check-README): Exclude libstbuf. (check-AUTHORS): ditto. (sc_tight_scope): Exclude functions starting with __. * src/libstdbuf.c: The LD_PRELOAD shared library to control buffering. * src/stdbuf.c: New file to setup env variables before execing command. * tests/Makefile.am: Reference new test file. * tests/misc/help-version: Set expected exit codes. * tests/misc/invalid-opt: ditto. * tests/misc/stdbuf: Add 9 tests. 2009-06-16 Jim Meyering doc: cp: describe an oddity of combining -H/-L and --preserve=links * doc/coreutils.texi (cp invocation) [-L]: Elaborate. [--preserve=links]: Remove comments saying that we need documentation for just this situation. Provide more explanation and examples. Reported by Brian M. Carlson in http://bugs.debian.org/525048. 2009-06-15 Jim Meyering maint: revert last change: we're not ready for "local" in scripts, yet Revert "use a local var: more readable" This reverts commit c0d82452883a10911c9cbc69c84144d99b7e6b08. use a local var: more readable 2009-06-15 Giuseppe Scrivano tail: use inotify if it is available * NEWS: Document the new feature. * m4/jm-macros.m4: Check if inotify is present. * src/tail.c (tail_forever_inotify): New function. (main): Use the inotify-based function, if possible. * tests/Makefile.am: Add new tests for tail. * tests/test-lib.sh (require_proc_pid_status_, get_process_status_): New functions. * tests/tail-2/pid: New file. * tests/tail-2/wait: New file. * tests/tail-2/tail-n0f: Refactor code into the test-lib.sh require_proc_pid_status_ function. 2009-06-13 Jim Meyering diag: say "failed to...", rather than "cannot..." in a few diagnostics * src/chroot.c (main): ...it's more precise. * src/nohup.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/timeout.c (main): Likewise. 2009-06-13 Cliff Miller sort: Ignore fields where end position is before the start position * NEWS: Mention the fix * THANKS: Add Cliff Miller * src/sort.c (keycompare): Ensure lima >= texta * tests/misc/sort: Add 3 corresponding tests 2009-06-11 Pádraig Brady tests: ls --color, permissions override hardlink coloring * tests/ls/multihardlink: Add a test case to demonstrate and test this non obvious behavior. 2009-06-11 Kamil Dudka ls --color: do not colorize files with multiple hard links by default * src/ls.c: Rename hl->mh, do not colorize files with multiple hard links by default. * src/dircolors.c: Rename HARDLINK -> MULTIHARDLINK, hl -> mh. * src/dircolors.hin: Do not colorize files with multiple hard links by default. * tests/Makefile.am: Rename the test case accordingly. * tests/ls/multihardlink: Additionally test ls' default behavior and factor out some duplication. * NEWS: Mention the change in behavior. 2009-06-08 Pádraig Brady maint: Add a syntax-check to ensure all .x-sc_ files are distributed * Makefile.am: Add a couple of missing entries to syntax_check_exceptions for distribution. * cfg.mk: Add a rule to ensure the syntax_check_exceptions list stays in sync with the .x-sc_* files in the repository. 2009-06-07 Jim Meyering build: update from gnulib * gnulib: Update submodule to latest. sort: die immediately upon heap allocation failure * src/sort.c (register_proc): Handle hash_insert failure. 2009-06-04 Mike Frysinger dircolors: add screen-256color-bce to TERM list * src/dircolors.hin: Add screen-256color-bce. 2009-06-03 Jim Meyering doc: HACKING: minor adjustments, additions * HACKING (Amending...): Remove spurious "-e" used with commit --amend. (log message policy): Mention the 72-column limit. "build:" and "maint:" are common prefixes, these days. doc: adjust wording in README-prereq dircolors: recognize .xz, .txz, .tbz and .tlz suffixes * src/dircolors.hin: Add .xz, .txz, .tbz and .tlz. doc: use newer URL for XZ utils * README-hacking: Use * README-prereq: Mention xz, not lzma. 2009-06-03 MatÄ›j Cepl doc: adjust README-prereq instructions * README-prereq: Mention new requirement on automake-1.11, with its new location and updated dependency on autoconf-2.62. Remove the reference to coreutils-7.0 so that this file implicitly refers to the latest or release version of coreutils. Fix and clarify the instructions for updating the $PATH. 2009-06-02 Jim Meyering doc: HACKING: mention the GNU Coding Standards * HACKING (Add documentation): Add a link to the GCS. build: no longer list gnulib's "memchr" module as obsolete * bootstrap.conf (obsolete_gnulib_modules): Remove memchr from the list, now that it fixes a problem in some modern C libraries. (gnulib_modules): Add it here. build: make generated man/*.1 files read-only This should help people notice that they are generated. Note: each file already has a comment to that effect from help2man. * man/Makefile.am (.x.1): Make generated files read-only. Also, don't redirect directly to the target, $@. build (man/): use automake's new $(AM_V_GEN) variable * man/Makefile.am (.x.1, check-x-vs-1, check-programs-vs-x): Mark with $(AM_V_GEN), so that automake-1.11 prints "GEN $@" by default (stick with "GEN" in spite of the latter two rules not officially generating anything -- they're just tests). chroot: make --groups= work without --userspec=; be more robust * src/chroot.c (set_additional_groups): Add comments. Given an empty or all-comma group list, diagnose it and return nonzero. When more than one group is invalid, diagnose all of them, not just the first. (main): Honor --groups= also when --userspec= is not specified. Now that set_additional_groups consistently diagnoses its failures, don't diagnose it separately here. * tests/chroot/credentials: Do not invoke with an empty group list. chroot: don't set bogus user-ID or group-ID for --u=U: or --u=:G * src/chroot.c (main): Initialize both "uid" and "gid". To -1. This also allows one to set the user-ID or primary group-ID to 0, in case it's not that already. * tests/chroot/credentials: Test for the above. chroot: set-*-ID failure must provoke nonzero exit before execvp * src/chroot.c (main): Exit upon set-group-ID or set-user-ID failure. tests: use "nobody" as the default group name in chroot test * tests/test-lib.sh (NON_ROOT_GROUP): Use "nobody", not "nogroup". build: make distcheck rules use --enable-gcc-warnings * dist-check.mk (warn_cflags): Remove definition, now that it's been subsumed by --enable-gcc-warnings. (my-distcheck): Use configure with --enable-gcc-warnings and remove use of $(warn_cflags). 2009-05-29 Eric Blake head, tail: make --help less ambiguous * src/head.c (usage): Use -n K, not -n N, to avoid confusion. * src/tail.c (usage): Likewise. * doc/coreutils.texi (head invocation, tail invocation): Likewise. Reported by Christophe Lyon. 2009-05-26 Michael Speer sort: new --human-numeric-sort option to sort KiB MB etc. * NEWS: Document the new option * doc/coreutils.texi (sort invocation): ditto * src/sort.c (main): handle the new --human-numeric-sort option (-h). (human_numcompare): A new function to compare SI and IEC suffixes before falling back to the standard --numeric comparison. (find_unit_order): A new helper function to find the order of magnitude of a number string as determined by its suffix. (check_mixed_SI_IEC): A new helper function to exit with error if both SI and IEC suffixes are presented. * tests/misc/sort: Add 8 tests to test the new functionality. * THANKS: Update 2009-05-26 Giuseppe Scrivano chroot: accept new options --userspec=U:G and --groups=G1,G2,G3 * NEWS: Note chroot's new options. * doc/coreutils.texi: Document them. * src/chroot.c (main): Add support for --userspec and --groups. * tests/Makefile.am (root-tests): Add chroot/credentials. * tests/chroot/credentials: New file. * tests/test-lib.sh: Define NON_ROOT_GROUP to a default value. 2009-05-18 Pádraig Brady doc: clarify the operation of the comm -123 parameters * src/comm.c (usage): give more information on the -123 parameters, with examples to show that they can be combined. Addresses . * doc/coreutils.texi (comm invocation): Mention that the column separators are suppressed along with the column. Suggestion from Dan Jacobson. * man/comm.x: Reference other commands that match adjacent lines. * man/join.x: ditto. * man/uniq.x: ditto. 2009-05-18 Jim Meyering build: require automake-1.11 * bootstrap.conf (buildreq): Require automake-1.11, not 1.10b, for our use of AM_SILENT_RULES. * configure.ac (AM_INIT_AUTOMAKE): Likewise. 2009-05-17 Jim Meyering maint: HACKING: mention a few more useful git commands * HACKING (Miscellaneous useful git commands): Add a few. build: avoid new "make distcheck" failure with gcc 4.5.0 20090517 * dist-check.mk (warn_cflags): Add -Wno-enum-compare. build: avoid new warnings from gcc 4.5.0 20090517 * configure.ac: Add an explicit -Wno-logical-op, now that not listing -Wlogical-op is insufficient. maint: use ARRAY_CARDINALITY more * src/sort.c (main): Use ARRAY_CARDINALITY, rather than open-coding it. * src/factor.c (WHEEL_END): Likewise. * src/csplit.c (main): Likewise. * src/od.c: Likewise, * src/ls.c (main): Likewise. (N_ENTRIES): Remove definition. Use ARRAY_CARDINALITY instead. * src/dircolors.c: Likewise. (array_len): Remove definition. build: tr: avoid a warning due to newer gcc's -Wenum-compare * src/tr.c (N_CHAR_CLASSES): Remove anonymous enum definition. (look_up_char_class): Use ARRAY_CARDINALITY, rather than N_CHAR_CLASSES. maint: define ARRAY_CARDINALITY in system.h * src/system.h (ARRAY_CARDINALITY): Define if not already defined. build: turn off -Wlong-long * configure.ac: With --enable-gcc-warnings, -Wlong-long would cause compilation failure due to inclusion of lib/gethrxtime.h. Initialize "nw". 2009-05-16 Jim Meyering maint: cfg.mk: remove now-unnecessary gnulib_dir definition * cfg.mk (gnulib_dir): Remove definition, now that gnulib's maint.mk provides the default we want. * gnulib: Update submodule to latest. 2009-05-15 Pádraig Brady tests: fix date-next-dow failure on older systems * tests/misc/date-next-dow: In the strftime call use %Y-%m-%d rather than the newer %F equivalent which is not available on Solaris 8 for example. 2009-05-14 Jim Meyering build: update from gnulib, for rename.m4 fix, improved tests, etc. * gnulib: Update submodule to latest. maint: README-release: minor improvements * README-release: Mention gnu_ftp_host-{alpha,...} settings in cfg.mk. Now that XZ_OPT is set via maint.mk, don't mention it here. 2009-05-11 Eric Blake truncate: fix bug in use of isspace * src/truncate.c (main): Pass unsigned characters to isspace. * NEWS: Mention this. 2009-05-07 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.4 * NEWS (Build-related): Mention make check fixes. admin: update NEWS * NEWS (Bug fixes): Mention the date-related fixes. (Portability): Mention the ACL-related fixes on *BSD. 2009-05-05 Pádraig Brady doc: note the use of LC_COLLATE in comm, join and uniq * doc/coreutils.texi (uniq invocation): Simplify the text to remove the inconsequential mentioning of order, while implying that LC_COLLATE can alter equality comparisons. * src/comm.c (usage): Mention LC_COLLATE is significant. * src/join.c (usage): Ditto. * src/uniq.c (usage): Ditto. Also improve the summary. Suggestion from Andries Brouwer 2009-05-05 Jim Meyering tests: rm/one-file-system: umount more reliably * tests/rm/one-file-system: Run umount via trap, so it runs also upon irregular termination. 2009-05-05 Andreas Schwab tests: fix typo in check-AUTHORS rule * src/Makefile.am (check-AUTHORS): Set locale. 2009-05-04 Jim Meyering build: use a gnulib SHA1 that is not private * gnulib: Update submodule to latest *public*. build: update from gnulib, for ACL-related fixes * gnulib: Update submodule to latest. 2009-05-03 David Bartley mv, rm: adapt to new and improved gnulib interfaces Use gnulib's new priv-set module and updated write-any-file. With them, the remove-called can_write_any_file function no longer tries to drop the unlink-directory privilege, so now each caller of remove must do that separately, calling priv_set_remove_linkdir. * bootstrap.conf (gnulib_modules): Add priv-set. * src/rm.c: Include "priv-set.h". (main): Call priv_set_remove_linkdir. * src/mv.c (main): Likewise. * gnulib: Update submodule to latest. 2009-05-03 Jim Meyering tests: correct the "make check"-run check-AUTHORS test * src/Makefile.am (check-AUTHORS): Revert back to using en_US.UTF-8, to ease parsing (English-only) text around the list of names, even when .po files are not installed. Reported by Andreas Schwab. Along the way, use $(AM_V_GEN), not "@". (sc_tight_scope): Use $(AM_V_GEN) here, too. * gnulib: Update submodule to latest, for the proper_name_utf8 fix that makes --version output print the UTF-8 rendering of author names in more cases. tests: add tests of e.g., date -d 'next monday' * tests/misc/date-next-dow: New file. * tests/Makefile.am (TESTS): Add misc/date-next-dow. * gnulib: Update submodule to latest, for getdate.y that handles "next Monday" properly when run on a Monday. 2009-05-01 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.3 * NEWS: Record release date. maint: tweak release-building notes * README-release: Specify -j1 on the command to run all tests. Otherwise, running some in parallel would cause failures, e.g., for rm/ext3-perf and tail-2/assert-2. 2009-04-30 Eric Blake stdopen: remove unused code * m4/stdopen.m4: Delete now-unused file. * lib/stdopen.h: Likewise. * lib/stdopen.c: Likewise. 2009-04-30 Jim Meyering build: update from gnulib, for fixed lib/signbitl.c * gnulib: Update submodule to latest. build: "make check" now fails in a friendlier manner for missing Perl * doc/Makefile.am (sc-lower-case-var): Don't redirect stderr of $(PERL) (which is sometimes build-aux/missing) to /dev/null, so that a failing "make check" explains that Perl is not installed. Reported by James Youngman. build: doc: emit something for each "make check"-run rule * doc/Makefile.am: Use $(AM_V_GEN) in place of each leading "@". (check-texinfo): Align line-continuation backslashes. 2009-04-29 Jim Meyering build: update from gnulib, for the lib/*-state.c compilation fixes * gnulib: Update submodule to latest. 2009-04-28 Pádraig Brady misc: correct NEWS entry about id -G portability * NEWS (Portability): getgrouplist has the portability issues, not getgroups. 2009-04-28 Jim Meyering df: adjust comment to match recent code change * src/df.c (main): Update comment to match. misc: mention the df vs. automount change * NEWS (Portability): Mention that df now accommodates the new behavior of some automounters. misc: alphabetize NEWS entries 2009-04-28 Tomas Smetana df: use open(2), not stat, to trigger automounting * src/df.c (main): When iterating over command-line arguments, attempting to ensure each backing file system is mounted, use open, not stat. stat is no longer sufficient to trigger automounting, in some cases. Based on a suggestion from Ian Kent. More details in http://bugzilla.redhat.com/497830 2009-04-28 OndÅ™ej Vašík tests: ensure that cp's -a doesn't silence --preserve=context * tests/cp/cp-a-selinux: Ensure that the -a option does not silence error diagnostics from --preserve=context, when preserving context is required. tests: add test for xattr diagnostics on dest. FS lacking xattr support * tests/cp/cp-mv-enotsup-xattr: Ensure that xattr diagnostics are displayed correctly when destination filesystem lacks xattr support. * tests/Makefile.am (root_tests): Add new root-only test. 2009-04-27 Jim Meyering copy.c: factor out test for errno value indicating "unsupported" * src/copy.c (errno_unsupported): New function. (copy_attr_error, copy_internal): Use it. 2009-04-27 OndÅ™ej Vašík cp -a: diagnose failure when preserving xattr/context required * src/copy.c (copy_attr_by_fs): Always print diagnostics when preserving xattrs is required. (copy_attr_by_name): Likewise. (copy_reg): Always print diagnostics when preserving SELinux context is required. (copy_internal): Likewise. Also, do not ignore ENOTSUP and ENODATA errors when preserving SELinux context is required. * NEWS (Bug fixes): Mention it. mv: ignore xattr-preservation failure when not supported by filesystem *src/copy.c: Do not warn about xattr-preservation failure when xattrs are not supported and preservation of xattrs is not explicitly required. Reported by Eric Sandeen in http://bugzilla.redhat.com/496142 2009-04-25 Jim Meyering build: update from gnulib, for the vc-list-files fix * gnulib: Update submodule to latest. build: adjust use of automake's new $(AM_V_GEN) variable * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h): (version.c, version.h): Use $(AM_V_GEN) only as a prefix of an existing command. Otherwise, it provokes warnings from some "make" programs. Suggestion from Ralf Wildenhues. 2009-04-25 Ralf Wildenhues tests: fix check-AUTHORS skip logic * src/Makefile.am (check-AUTHORS): When this test is skipped, be sure to avoid all commands in the recipe, not just those passed to the first shell. 2009-04-25 Eric Blake cfg.mk: update to latest gnulib change * cfg.mk (bootstrap-tools): Override maint.mk default to include bison. * gnulib: Update to latest gnulib. 2009-04-24 Jim Meyering build: move coreutils-specific rules from maint.mk to new file * dist-check.mk: New file: coreutils-specific rules extracted from maint.mk, now that maint.mk has migrated to gnulib. * Makefile.am (EXTRA_DIST): Add dist-check.mk. * coreutils/cfg.mk: Include $(srcdir)/dist-check.mk. * gnulib: Update submodule to latest. tests: avoid unusual (~1-in-20) failure of a new test * tests/misc/sort: Remove one of the generated tests. 363 remain in this file alone. build: use automake's new $(AM_V_GEN) and $(AM_V_at) variables * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h): (version.c, version.h): Mark with $(AM_V_GEN) and $(AM_V_at), so that the latest automake prints "GEN $@" by default. 2009-04-24 Simon Josefsson build: use maint.mk from gnulib * maint.mk: Remove file. Now it's generated. * .gitignore: Ignore it. * bootstrap.conf (gnulib_modules): Add maintainer-makefile. * gnulib: Update submodule to latest. 2009-04-23 Jim Meyering build: make --enable-silent-rules the default * configure.ac (AM_INIT_AUTOMAKE): Remove silent-rules. Instead,... (AM_SILENT_RULES): Use this, with it's undocumented [yes] argument. Those who want verbose build output may configure with --disable-silent-rules or use "make V=1". * gnulib: Update submodule to latest. sort -m: don't segfault when output file is also an input file * src/sort.c (avoid_trashing_input): Fix an off-by-one error and guard the use of memmove. * NEWS (Bug fixes): Mention it. * tests/misc/sort: Add tests to exercise the offending code. * THANKS: Update. Reported by Otavio Salvador in http://bugs.debian.org/525048. tests: make the check-AUTHORS test more portable, now that it's... run as part of "make check". * src/Makefile.am (check-AUTHORS): Don't depend on en_US.UTF-8. Instead, use the French UTF8 locale, if configure found one. If not found, just skip the test. avoid parallel "make distcheck" failure due to two run-in-src/ rules Move the check-AUTHORS rule from "syntax-check" to "check". * maint.mk (local-checks-available): Remove check-AUTHORS. (check-AUTHORS): Remove rule. * src/Makefile.am (CLEANFILES): Add $(no_install__progs), since they too are built sometimes. (check-AUTHORS): Split a longer-than-80 sed command. (../AUTHORS): Remove obsolete rule. 2009-04-22 Jim Meyering cp: work around linux kernel bug: short-read != EOF on /proc Remove the optimization that avoided up to 50% of cp's read syscalls. Do not assume that a short read on a regular file indicates EOF. When reading from a file in /proc on linux [at least 2.6.9 - 2.6.29] into a 4k-byte buffer or larger, a short read does not always indicate EOF. For example, "cp /proc/slabinfo /tmp" copies only 4068 of the total 7493 bytes. This optimization (25719a33154f0c62ea9881f0c79ae312dd4cec7a, Improve performance a bit by optimizing away; 2005-11-24) appears to have been worth less than a 2% speed-up (and usually much less), so the impact of removing it is negligible. * src/copy.c (copy_reg): Don't exit the loop early. * tests/cp/proc-short-read: New test, lightly based on a suggestion from Mike Frysinger, to exercise this fix. * tests/Makefile.am (TESTS): Add cp/proc-short-read. * NEWS (Improve robustness): Mention this change. 2009-04-22 Jim Meyering tests: avoid new "make distcheck" failure due to newer File::Temp With newer perl (e.g., Fedora 10's 4:5.10.0-68.fc10), tests/CuTmpdir.pm stopped removing its temporary directories, with diagnostics like this: cannot remove path when cwd is /c/coreutils/tests/misc/seq.tmp-e2up \ for /c/coreutils/tests/misc/seq.tmp-e2up: at \ /usr/lib/perl5/5.10.0/File/Temp.pm line 902 Chdir out of the target directory before that code runs: * tests/CuTmpdir.pm (END): chdir '..'. (chmod_tree): Remove explicit "chdir $dir". 2009-04-19 Jim Meyering doc: update README * README: (Reporting bugs): List the bug-reporting address here, too, not just in the following more test-oriented paragraph. Reported by Tim Mooney. All changes are no longer listed in version-controlled ChangeLog files, so note that contributions are attributed in the commit logs. Mention bootstrap.conf, now that it's the authoritative source of minimal prerequisite program/version# pairs. 2009-04-19 Aurelien Jarno tests: avoid failure of install-C test on FreeBSD UFS file system * tests/install/install-C: Use 2755 (set-gid), not 1755 (sticky), to test install -C with non-permission mode bits set. At least on FreeBSD with a UFS file system, a non-root user may not set the sticky bit on a non-directory. 2009-04-19 Jim Meyering comment touch up: insert a space between "#" and text of comment * bootstrap: It's easier to read that way. 2009-04-19 Ralf Wildenhues fix comment typos * bootstrap: Fix comment typos. * src/pr.c: Likewise. 2009-04-17 Jim Meyering maint: bootstrap: sync a tiny change from gnulib * bootstrap: rename variable to sync with gnulib: s/\$depth/$shallow/ 2009-04-16 Jim Meyering * gnulib: Update submodule to latest. build: use '.'-relative name, gnulib_dir * cfg.mk (gnulib_dir): Use "gnulib", not "/gnulib", now that the former is a git submodule, and guaranteed to exist. 2009-04-15 Jim Meyering maint: clean up skipped syntax-check rules * cfg.mk (local-checks-to-skip): Remove patch-check and changelog-check. * maint.mk (patch-check): Remove rule. (local-checks-available): Remove patch-check. (changelog-check): Remove rule. 2009-04-11 Ralf Wildenhues build: avoid parallel distcheck failure * Makefile.am (ALL_RECURSIVE_TARGETS): Initialize here, too, to please automake. Add install-root, check-root, distcheck-hook. * cfg.mk (ALL_RECURSIVE_TARGETS): Add sc_tight_scope. * maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check, check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck, my-distcheck, alpha, beta, major. 2009-04-10 Jim Meyering doc: fix a typo: s/is a is a/is a/ * doc/coreutils.texi (Putting the tools together): Fix typo. build: tight-scope test: don't build excluded programs * src/Makefile.am (sc_tight_scope): Depend on $(bin_PROGRAMS), not $(all_programs) gnulib: update to latest: fix ls -v & sort -V * NEWS (Bug fixes): Mention it. maint: remove obsolete utime module * bootstrap.conf (obsolete_gnulib_modules): Remove utime. maint: put each module name on its own line; sort * bootstrap.conf (gnulib_modules): List them one per line. 2009-04-09 Jim Meyering tests: misc/ls-misc: avoid shadowing local decl of $e * tests/misc/ls-misc (make_j_d): Rename latter $e to $env 2009-04-09 Pádraig Brady id: fix infinite loop on some systems Steven Parkes reported that `id -G $USER` went into an infinite loop on Darwin systems for users in more than 10 groups: http://bugs.gentoo.org/show_bug.cgi?id=264007 * gl/lib/mgetgroups.c (mgetgroups): Work around buggy getgrouplist implementations that don't update the required size correctly, by doubling the result buffer and retrying. Also return the parameter updated by getgrouplist rather than its return value, as the documentation doesn't actually state the number of groups stored is returned by getgrouplist. * tests/misc/id-groups: Add test to exercise this logic * tests/Makefile.am: Reference new test * NEWS: Mention the fix * THANKS: Update 2009-04-07 Jim Meyering maint: avoid "make syntax-check" failure * src/install.c (main): Tweak syntax of new diagnostic. 2009-04-07 Pádraig Brady install: deprecate the --preserve_context option src/install.c: Print a warning when --preserve_context rather than --preserve-context is used as per FIXME. maint: remove compiler warnings from randint and randread modules * gl/lib/randint.c: Remove unused MAX macro * gl/lib/randread.c (randread_error): Add __attribute__((__noreturn__)) shred,sort,shuf: don't use /dev/urandom by default Suggestion from Steven Schveighoffer at: http://savannah.gnu.org/patch/?6797 to greatly speed up the random passes done by shred. * gl/lib/randread.c: Default to using the internal pseudorandom generator, rather than reading /dev/urandom * src/shred.c (usage): remove mention of /dev/urandom * src/shuf.c (usage); ditto * src/sort.c (usage): ditto * doc/coreutils.text: Document the new behaviour for aquiring random data. maint: Clarify ambiguous refs to Linux kernels or GNU/Linux systems * README-prereq: s_linux_GNU/Linux_ or s_linux_Linux kernel_ * README-valgrind: ditto * src/chown-core.c: ditto * src/dd.c: ditto * src/df.c: ditto * src/ls.c: ditto * src/mv.c: ditto * src/pwd.c: ditto * src/remove.c: ditto * src/shred.c: ditto * src/stat.c: ditto * src/su.c: ditto * src/system.h: ditto * src/timeout.c: ditto * src/truncate.c: ditto doc: add missing documentation for some SELinux options * doc/coreutils.texi (ls invocation): Describe the --context (-Z) option (install invocation): Describe the --preserve-context and -Z options (id invocation): Describe the --context (-Z) option (mkdir invocation): ditto (mknod invocation): ditto (mkfifo invocation): ditto * TODO: remove the todo item 2009-04-06 Jim Meyering * doc/code-vs-command: Remove long-unused, never-distributed file. 2009-04-04 Jim Meyering gnulib: update to latest: includes Solaris 8 portability fixes maint: clean up Makefile.am, rename remaining ChangeLog files * Makefile.am (changelog_etc, syntax_check_exceptions): Define. (EXTRA_DIST): Use. Remove names that are now automatically included: build-aux/git-version-gen, build-aux/vc-list-files. * build-aux/ChangeLog-2007: Rename from */ChangeLog. * doc/ChangeLog-2007: Likewise. * lib/ChangeLog-2007: Likewise. * m4/ChangeLog-2007: Likewise. * po/ChangeLog-2007: Likewise. tests: tweak po_check syntax check * maint.mk (sc_po_check): Don't let dangling lib/*.[ch] links cause spurious "grep: lib/file.h: No such file or directory" warnings. tests: improve ChangeLog syntax check * maint.mk (sc_changelog): Use $(VC_LIST_EXCEPT), not find. Don't hang when there are no ChangeLog files. (sc_require_config_h): For the file-name-filter, use grep -l to be slightly more efficient. (sc_require_config_h_first, _header_without_use, sc_program_name): Likewise. 2009-04-04 Ralf Wildenhues tests: make syntax-checks more robust * maint.mk (_prohibit_regexp): Add ';' at end of ':'-introduced comment so that the comment doesn't gobble up the following test for a missing regexp definition. (_header_without_use): Escape all '.'s in a header file name, not just the first one. 2009-04-03 Jim Meyering * cfg.mk (old_NEWS_hash): Regenerate once more. doc: adjust 7.2 "cat,cp,install,mv,split speed-up" NEWS item * NEWS: Reword an entry from 7.2 and change "linux" to "GNU/Linux". The latter was requested by Richard Stallman. * cfg.mk (old_NEWS_hash): Regenerate. 2009-04-03 Pádraig Brady ls: fix alignment when month names have varying widths Reported by Samuel Thibault and Stéphane Raimbault, as the glibc fr_FR locale has recently changed to use the official but variable width abbreviated month names. Other glibc locales also have variable widths. http://sourceware.org/ml/libc-locales/2008-q1/msg00035.html http://sourceware.org/bugzilla/show_bug.cgi?id=9859 * NEWS: Mention the fix * gl/lib/mbsalign.c: A new module to align and truncate a string in a specified number of screen cells, while handling multi-byte characters appropriately. * gl/lib/mbsalign.h: Ditto * gl/modules/mbsalign: Ditto * bootstrap.conf: Reference the new module * src/ls.c (abmon_init): New function, precompute the abbreviated months aligned left in a minimum width column <= 5 screen cells. (align_nstrftime): New function, replace the first %b in the format specification to strftime with the precomputed month string. Note using the cached month strings speeds up `ls -lU` by around 17% on glibc-2.7-2 on linux at least. Also if we implement this function using heap storage rather than automatic storage, and use snprintf instead of strcpy, ls will slow down by 2% and 1% respectively (i.e. a net gain of 14% rather than 17%). * tests/ls/abmon-align: A new test to test ls alignment for various formats and locales * tests/Makefile.am: Reference the new test 2009-04-02 Pádraig Brady doc: Clarify the help for version sorting in ls and sort * src/ls.c: Update the -v help description * src/sort.c: Update the -V help description 2009-04-02 Jim Meyering doc: adjust README-prereq instructions * README-prereq: Reverse order of -b/--track options. Pádraig Brady mentioned that is required with at least git-1.5.3.6. Invoke automake's own bootstrap script. 2009-04-02 C de-Avillez build: require automake-1.10b or newer * bootstrap.conf: Require at least automake-1.10b. * README-prereq: Mention 1.10b, not 1.10a. 2009-04-02 Jim Meyering tests: skip mv/i-3 if /dev/stdin is unreadable * tests/mv/i-3: Skip if /dev/stdin is unreadable. Reported by Sergei Steshenko. 2009-03-31 Jim Meyering build: set automake's silent-rules option via configure.ac * bootstrap: Revert commit 9f39fa855, 2009-03-28, "build: use automake's --silent-rules option when possible". * configure.ac (AM_INIT_AUTOMAKE): Instead, set it here. Require the just-released version of automake: 1.10b. tests: enable automake's color-tests and parallel-tests via configure.ac * gnulib-tests/Makefile.am (AUTOMAKE_OPTIONS): Don't define here. * tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise. * configure.ac (AM_INIT_AUTOMAKE): Instead, add color-tests and parallel-tests here. 2009-03-31 Ralf Wildenhues build: use Automake's new parallel-tests feature * build-aux/check.mk: Remove, not needed any more. * tests/Makefile.am (AUTOMAKE_OPTIONS): Add parallel-tests and color-tests. * tests/check.mk: Do not include build-aux/check.mk any more. (SUFFIXES, TEST_LOGS): Remove. (TESTS_ENVIRONMENT): Use $$f rather than $$tst in $PERL invocation. * gnulib-tests/Makefile.am: Do not include build-aux/check.mk. (AUTOMAKE_OPTIONS): New macro, add parallel-test and color-tests. (TEST_LOGS): Remove. 2009-03-31 Jim Meyering * README-release (savannah news): Also mention the Subject: to use. post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.2 * NEWS: Record release date. 2009-03-29 Jim Meyering tests: don't use lang-default from individual tests * tests/sample-test: Don't recommend using lang-default here. It is now run for each test automatically, via TESTS_ENVIRONMENT. * tests/dd/reblock: Don't source lang-default here. * tests/misc/truncate-fail-diag: Likewise. tests: other-fs-tmpdir: remove just-added duplicate /usr/tmp * tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Remove 2nd /usr/tmp. tests: other-fs-tmpdir: avoid bogus "skipped **********..." diagnostic * tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Add /dev/shm to the list. Don't use a line of asterisks as the first line of the "why skipped" diagnostic, now that that line is printed on 'make check's stderr. 2009-03-28 Jim Meyering build: use automake's --silent-rules option when possible * bootstrap: Use automake's --silent-rules option. 2009-03-27 Jim Meyering tests: test-argv-iter.c: avoid declaration-after-stmt * gl/tests/test-argv-iter.c: Move declaration "up", so as not to ruffle feathers of crufty compilers. We accommodate such compilers here solely because this module may migrate to gnulib. Tiny patch by Matthew Woehlke. 2009-03-27 Eric Blake tests: fix 'make sc_tight_scope' on cygwin * src/Makefile.am (sc_tight_scope): Ignore leading underscores in symbols. 2009-03-27 Jim Meyering tests: avoid spurious test failure in set-GID build dir * tests/install/install-C-root: Skip this test if in set-gid directory. Reported by Sven Joachim and C de-Avillez. tests: migrate setgid-check into test-lib.sh * tests/test-lib.sh (skip_if_setgid_): New function. * tests/setgid-check: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove setgid-check. * tests/chmod/c-option: Use the new function rather than sourcing the separate file. * tests/cp/cp-parents: Likewise. * tests/install/install-C: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. 2009-03-26 Jim Meyering tests: mark the rm/ext3-perf test as "very" expensive * tests/rm/ext3-perf: Relegate this test to the very_expensive category, since it is failing too often for me, when run in parallel (-j4) with other disk-hammering tests. This test fails when it takes too long, so the fact that it fails under pressure is an inconvenience more than a real problem. * gnulib: Update submodule to latest. 2009-03-26 Paul Eggert df: port the known-value fix to AIX as well * src/df.c (known_value): New function, which also works on AIX /proc file systems. (df_readable, show_dev): Use it instead of hardcoding comparison to UINTMAX_MAX. Suggested by Jim Meyering and Matthew Woehlke. df: fix a bug when totaling unknown values * src/df.c (show_dev): Don't add UINTMAX_MAX to grand totals, as that value indicates that the true value is unknown; adding it effectively subtracts 1 from the total, whereas we want to leave the total alone. 2009-03-25 Jim Meyering tests: don't fail "make syntax-check" on cygwin * maint.mk (NEWS_hash): Remove trailing " -" or " *-". * cfg.mk (old_NEWS_hash): Regenerate, removing " -". Reported by Eric Blake. 2009-03-25 Eric Blake pwd: support -L and -P * src/pwd.c (longopts): New variable. (logical_getcwd): New function. (main): Use it. (usage): Document new options. * doc/coreutils.texi (pwd invocation): Likewise. * NEWS: Likewise. * TODO (pwd): Mark it done. * tests/misc/pwd-option: New file. * tests/Makefile.am (TESTS): Add test. * THANKS: Update. Reported by Paul D. Smith, in savannah bug 24949. 2009-03-25 OndÅ™ej Vašík doc: update suffix regex in version sort * doc/coreutils.texi: Reflect current filevercmp regex. 2009-03-25 Ralf Wildenhues tests: CuTmpdir.pm: avoid use of undefined variable in warning * tests/CuTmpdir.pm (chmod_tree): Do not warn if $dir is undefined. 2009-03-24 Jim Meyering tests: ls -v: exercise yet another change in gnulib's new filevercmp * tests/misc/ls-misc: Add names with ~ and ~.1~ suffixes. * gnulib: Update submodule to latest. 2009-03-24 Kamil Dudka ls: make it possible to disable coloring of hard links * src/ls.c (print_color_indicator): Don't color hard links if disabled (when there is an empty hl= in the LS_COLORS environment variable). * tests/ls/hardlink: Add test case for disabled hard link highlighting. * NEWS: Mention the change. 2009-03-21 Jim Meyering tests: search only files that are under version control * maint.mk (sc_error_exit_success): Search only files that are under version control. (sc_makefile_path_separator_check): Likewise. Check *.mk files, too, not just Makefile.am files. tests: follow own advice: use $(PATH_SEPARATOR), not ":" * maint.mk (coreutils-path-check): Use the variable, not the literal. tests: modernize: use $(var) makefile notation, not @var@ * maint.mk (sc_makefile_path_separator_check): Recommend the use of $(PATH_SEPARATOR), not @PATH_SEPARATOR@. Remove an obsolete comment. 2009-03-20 Jim Meyering tests: teach sc_dd_O_FLAGS about new syntax in dd.c * cfg.mk (sc_dd_O_FLAGS): Adapt to new syntax. 2009-03-20 Eric Blake dd: use a more portable definition of O_FULLBLOCK * src/dd.c (O_FULLBLOCK): Compute its value without using a 180KB macro. This avoids triggering a compilation failure with HP-UX's cc. Reported by Matthew Woehlke. 2009-03-20 Jim Meyering tests: avoid spurious mkdir/selinux test failure on HP-UX 11.23 * tests/mkdir/selinux: Accept yet another diagnostic. Reported by Matthew Woehlke. 2009-03-19 Jim Meyering tests: df/total-verify: avoid test failure with older Perl * tests/df/total-verify: Don't use perl's -f option. Reported by Matthew Woehlke. * gnulib: Update submodule to latest. 2009-03-18 Jim Meyering tests: adjust sort-continue not to fail under valgrind * tests/misc/sort-continue: Don't run cat inside fd-limited shell. If sort fails to run in an fd-limited shell, skip the test. 2009-03-18 Paul Eggert tests: add another sort/nmerge test * tests/Makefile.am (TESTS): Add sort-merge-fdlimit. * tests/misc/sort-merge-fdlimit: New file. * doc/coreutils.texi (sort invocation): Document that we now silently lower nmerge if necessary. Patch by Paul Eggert, Nima Nikzad, Max Chang, Alexander Nguyen, Sahil Amoli, and Nick Graham. 2009-03-18 Paul Eggert sort: handle fd exhaustion better when merging This is an alternative to my 9 March patch labeled "Silently lower nmerge; don't (sometimes incorrectly) range-check" . It differs by not using 'dup' to probe for extra file descriptors; instead, it simply calls 'open' (and 'pipe') to open files and pipes, until one of these calls fails due to file descriptor exhaustion; it then backs off by 1, does a merge with the files that it has opened, and then retries with the (now-smaller) number of files. This patch requires quite a few more changes to the source code than the earlier patch, but it is in some sense "better" because it doesn't need to call "dup" ahead of time in order to decide whether "open" or "pipe" will fail. Also, it's more robust in the case where "open" or "pipe" fails with errno==EMFILE because some system-wide limit is exhausted. * src/sort.c (create_temp_file): New arg SURVIVE_FD_EXHAUSTION. (stream_open): New function, containing guts of xfopen. (xfopen): Use it. (pipe_fork): Set errno on failure. (maybe_create_temp): New function, containing guts of create_temp. (create_temp): Use it. (open_temp): Distinguish failures due to file descriptor exhaustion from other failures, and on fd exhaustion return a notice to caller rather than dying. Don't test execlp's return value; when it returns, it *always* returns -1. (open_input_files): New function. (mergefps): New arg FPS. It's now the caller's responsibility to open the input and output files. All callers changed. (mergefiles): New function. (avoid_trashing_input, merge): Handle the case where a single merge can't merge as much as we wanted due to file descriptor exhaustion, by merging as much as we can and then retrying. * tests/Makefile.am (TESTS): Add misc/sort-continue. * tests/misc/sort-continue: New file. * THANKS: Add Glen Lenker and Matt Pham who coauthored this patch. 2009-03-18 Jim Meyering maint: normalize leading-TAB indentation in Makefiles * maint.mk (sc_makefile_TAB_only_indentation): New rule. Replace each TAB+8-space sequence with two TABs. * man/Makefile.am: Likewise. * build-aux/check.mk: Likewise. I used this command (run it more than once, if needed): t=$'\t'; git grep -l -E "$t {8}"|grep -E 'Makefile|\.mk$' \ | xargs perl -pi -e 's/\t {8}/\t\t/' 2009-03-15 Jim Meyering maint: remove long-unused Makefile * tests/sort-time/Makefile: Remove long-unused file. maint: remove unused include and definitions * gl/lib/randread.c (__attribute__): Remove unused definition. (ATTRIBUTE_UNUSED): Likewise. * gl/lib/selinux-at.c (_): Remove unused definition. Don't include . No longer needed. * gnulib: Update submodule to latest. 2009-03-14 Jim Meyering system.h: correct compilation error: MAX not defined * src/system.h (io_blksize): Move definition down, so it follows that of MAX -- to avoid compilation failure on OpenSolaris. Reported by David Bartley. Details in http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00190.html * gnulib: Update to pull in select/interix work-around. 2009-03-13 Kamil Dudka doc: update "version sort" documentation * doc/coreutils.texi: Reflect current filevercmp behavior. 2009-03-12 Jim Meyering tests: groups-version: don't require that id be built * tests/misc/groups-version: groups is now independent of id. tests: skip the groups-dash test when "groups" is not built * tests/misc/groups-dash: Skip if groups is not being installed. Suggested by Mike Frysinger. Also fail if groups exits with nonzero status. 2009-03-12 Pádraig Brady maint: mention Autoconf version required to build Automake * README-prereq: coreutils currently requires an unreleased version of Automake, so mention the minimum version of Autoconf required to build that. Suggestion from James Youngman. 2009-03-12 Jim Meyering * gnulib: Update submodule to latest. 2009-03-11 OndÅ™ej Vašík cp: make -a option preserve xattrs, but with reduced diagnostics * copy.c (copy_attr_by_fd): Reduce xattr diagnostics for 'cp -a'. (copy_attr_by_name): Likewise. * cp.c (main): Preserve xattrs with -a option, when possible. * doc/coreutils.texi: Document that xattrs are preserved with cp -a, with no added diagnostics. * NEWS: Mention the change. * tests/misc/xattr: Add tests for 'cp --preserve=all' and 'cp -a'. 2009-03-11 Pádraig Brady maint: Document how to best to enable gcc warnings for developers * README-hacking: Mention --enable-gcc-warnings configure option * configure.ac: Don't scare developers away from using gcc warnings 2009-03-11 Jim Meyering maint: remove an obsolete FIXME comment * src/Makefile.am (../AUTHORS): Remove obsolete FIXME comment. There are no longer any installed *.sh programs. 2009-03-11 Pádraig Brady cat: Fix immediate output of processed data Introduced by commit 790892db, 2006-06-08 "Ensure that cat works ...". * NEWS: Mention the bugfix. * src/cat.c (cat): Fix the typo which stopped the writing of processed data before a blocking read() is done. * tests/misc/cat-buf: Add to ensure processed data is not buffered. * tests/Makefile.am: Reference the new test. cat,cp,mv,install,split: Set the minimum IO block size used to 32KiB This is following on from this change: [02c3dc9d 2008-03-06 cat: use larger buffer sizes ...] which increased the IO block size used by cat by 8 times, but also capped it at 32KiB. * NEWS: Mention the change in behavior. * src/system.h: Add a new io_blksize() function that returns the max of ST_BLKSIZE or 32KiB, as this was seen as a good value for a minimum block size to use to get good performance while minimizing system call overhead. * src/cat.c: Use it. * src/copy.c: ditto * src/split.c: ditto 2009-03-08 Jim Meyering tests: add a test for newly-fixed bug in comm --check-order * tests/misc/comm (ooo-prefix): Add a test for today's fix. * NEWS (Bug fixes): Mention it. 2009-03-08 Bruno Haible comm: fix a bug in its new --check-order option * src/comm.c: Include memcmp2.h. (check_order): Use memcmp2 instead of memcmp. * bootstrap.conf (gnulib_modules): Add memcmp2. 2009-03-08 Jim Meyering tests: ls -v: exercise the bug fixed by gnulib's new filevercmp * tests/misc/ls-misc (version-sort): New test. (mk_file): New function. Reported by Josh Triplett in . Details in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16902 * NEWS (Bug fixes): Mention it. gnulib: sync submodule to latest 2009-03-07 Jim Meyering pr: fix a bug whereby --indent=N (-o) did not indent header lines * src/pr.c (print_header): Honor chars_per_margin also for the header. Inspired by a patch from C de-Avillez. This change also adjusts two other %*s directives to be %*.*s instead, (for the padding on either side of "file_text") to correct a bug that could make pr print one space of padding instead of none. * NEWS (Bug fixes): Mention it. * tests/pr/o3Jml24f-lm-lo: Adjust for new expected output. * tests/pr/o3a3Sl24f-tn: Likewise. * tests/pr/o3a3Snl24f-tn: Likewise. * tests/pr/o3a3l24f-tn: Likewise. * tests/pr/o3b3Sl24f-tn: Likewise. * tests/pr/o3b3Snl24f-tn: Likewise. * tests/pr/o3b3l24f-tn: Likewise. * tests/pr/o3mSl24f-bl-tn: Likewise. * tests/pr/o3mSnl24fbltn: Likewise. * tests/pr/o3ml24f-bl-tn: Likewise. bootstrap: add to XGETTEXT_OPTIONS * bootstrap.conf (XGETTEXT_OPTIONS): Add c-format --flag options for verror and verror_at_line; alphabetize. maint: use a git submodule for gnulib * .gitmodules: New file, to track gnulib. * gnulib: New file, created by running this: git submodule add git://git.sv.gnu.org/gnulib.git gnulib build: allow ./bootstrap --srcdir=... to work with a git submodule * bootstrap (git_modules_config): Use GIT_CONFIG, not GIT_CONFIG_LOCAL. The latter was removed in v1.5.6.1-109-gdc87183. build: avoid "multiply defined..." warning from automake * Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS) via +=, not =, to avoid "multiply defined..." warning from automake. 2009-03-06 Jim Meyering cat: use larger buffer sizes to reduce read/write-syscall overhead * src/cat.c (max): Remove definition. Use MAX from system.h instead. (compute_buffer_size): New function to compute the input and output buffer sizes, which are now set at 8 times st_blksize with a maximum of 32KiB. Previously the typical block sizes used were 1KiB for pipes and 4KiB for files, and now will be 8KiB and 32KiB respectively. (main): Use it. This change can double throughput on modern systems. For timings, see http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/16040 Suggestion from Tzvi Rotshtein. maint: avoid new unused-macro warnings from gcc * src/ls.c (ASSERT_MATCHING_DEV_INO): Comment-out unused definition, to match commented-out use. * src/install.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): (READ_SIZE): Remove definitions of unused macros. * src/mv.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Likewise. * src/dd.c (max): Likewise. * src/expand.c (OUTPUT_BLOCK): Likewise. * src/csplit.c (ALLOC_SIZE): Likewise. * src/pr.c (NULLCOL): Likewise. * src/ptx.c (Sword): Likewise. * src/unexpand.c (OUTPUT_BLOCK): Likewise. * src/factor.c (NDEBUG): Likewise. tests: fix just-introduced typo in rm/ext3-perf * tests/rm/ext3-perf: Fix typo in commit 2b1e6636bea, 2009-02-27 "tests: rm/ext3-perf: relax this test". maint: remove spurious case-ignoring option from a test * maint.mk (sc_trailing_blank): Remove useless/harmless ignore_case=1. 2009-03-04 Ralf Wildenhues policy: use git to help avoid trailing white space * HACKING (Avoid trailing white space): Describe how git can help. 2009-03-03 Andreas Schwab Update Andreas Schwab's email address * THANKS: Update Andreas Schwab's email address. 2009-03-03 Jim Meyering maint: improve release-related process and documentation * README-release: Fix typo. it's "maintainer-clean". Refer to HACKING for full list of dependencies. Use cvs add's -ko option to inhibit $Id$-style keyword expansion. * maint.mk (web-manual): Factor out definition of $(manual_title). (vc-dist): Set XZ_OPT=-9ev for the final "make dist". * cfg.mk (manual_title): Define it here. Suggestions from Eric Blake. 2009-03-02 Jim Meyering dist: document our release procedure * README-release: New file. dist: automate the post-release web-manual update process * maint.mk (web-manual): New rule, from m4's maint.mk. * bootstrap.conf (gnulib_modules): Add gendocs. tests: rm/ext3-perf: relax this test * tests/rm/ext3-perf: If set-up takes too long, use the set-up time as the removal time limit. Otherwise, a parallel "make check" would usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes. tests: don't skip setgid-dir related tests on SELinux-enabled systems * tests/setgid-check: The change in ls (use ".", not "+") caused this check always to report the working directory as set-gid. Now, use stat, not ls. tests: reflect the s/+/./ SELinux indicator change * tests/mkdir/perm: Now that this test is no longer always skipped, make it work independently of ls: use stat, not ls, to get perm string. * test-lib.sh (rwx_to_mode_): Use stat, not ls to get perm string This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set. tests: when skipping a test, say why on screen, not just in the log * tests/test-lib.sh: Redirect also to descriptor 9. Better one-line why-skip diagnostics. * tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr. * tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag. maint: enable many gcc warnings * bootstrap.conf (gnulib_modules): Add manywarnings. * configure.ac: Use gl_MANYWARN_ALL_GCC, and exclude options I don't want or that provoke too many warnings. (WARN_CFLAGS, WERROR_CFLAGS): Define. (lint, GNULIB_PORTCHECK): Define. (_FORTIFY_SOURCE): Define to 2. maint: avoid gcc warning about missing attributes * src/prog-fprintf.h (prog_fprintf): Declare with printf attribute. * src/system.h (usage): Declare with the "noreturn" attribute. maint: avoid warnings about potentially-counterproductive "inline" * src/dd.c (quit): Remove "inline" attribute. * src/test.c (advance, unary_advance): Likewise. maint: cp: avoid gcc warning about unused macro definitions * src/cp.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Remove. dist: do not emit MD5 or SHA1 checksums into announcement template * maint.mk (announcement): Use announce-gen's new --no-print-checksums. 2009-02-28 Jim Meyering maint: detect unnecessary inclusion of signal.h * maint.mk (sc_prohibit_signal_without_use): New rule. maint: remove an unnecessary inclusion of * src/operand2sig.c: Don't include . 2009-02-28 Pádraig Brady tests: sort: Check skipping blanks in multibyte locales * tests/misc/sort: On Fedora 8 at least, sort -k1b,1 mishandles blanks in multibyte locales, so add test. 2009-02-27 Jim Meyering * HACKING: avoid trailing white space 2009-02-27 Jim Meyering cp: diagnose invalid "cp -rl dir dir" right away, once again Running "mkdir dir; cp -rl dir dir" would create dir/dir/dir/... rather than diagnosing the "copy-into-self" failure. The easy fix would have been to revert this part of the change [3ece0355 2008-11-09 cp: use far less memory in some cases] that introduced the bug: - remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); + if (!x->hard_link) + remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); However, that would have induced the failure of the new cp/link-heap test, due to the added memory pressure of recording 10k dev/ino pairs. And besides, I liked that improvement and wanted to keep it. Now that it's obvious recording the just-created-directory dev/ino needn't depend on the setting of hard_link, I realized it is necessary to record the pair only for the first directory created for each source command-line argument. I made that change, then noticed the new test, cp -rl a d d, would pass when run once, yet output the into-self diagnostic twice. Also note the side effect: it creates d/a and d/d. However, running that same command a second time, now with the modified directory, would fail. That turned out to be due to the fact that although the first into-self failure was detected in copy_dir, that function would continue copying other entries regardless -- and that would make it fail (eventually) with the unwanted recursion. * src/copy.c (copy_internal): This function needed an indicator of whether, for a give command line argument, it had already created its first directory. If so, no more need to record dev/ino pairs. If this is the first, then do record its pair. Hence, the new parameter. (copy_dir, copy): Update callers. (copy_dir): Upon any into-self failure, break out of the loop. * tests/cp/into-self: Test for the above. Reported by Mikael Magnusson. 2009-02-26 Jim Meyering tests: stty-row-col would hang when run in the background * tests/misc/stty-row-col: Don't hang when run in background at least on Solaris 10 and OpenBSD. 2009-02-26 Pádraig Brady sort: Fix two bugs with determining the end of field * src/sort.c: When no specific number of chars to skip is specified for the end field, always skip the whole field. Also never include leading spaces from next field. * tests/misc/sort: Add 2 new tests for these cases. * NEWS: Mention this bug fix. * THANKS: Add bug reporter. Reported by Davide Canova. 2009-02-26 Eric Blake argv-iter: avoid variadic macro * gl/lib/argv-iter.h (_ATTRIBUTE_NONNULL_): Don't assume C99 variadic macros are portable yet; needed for at least IRIX/MIPSpro. * THANKS: Update. Reported by Stuart Shelton. 2009-02-26 Pádraig Brady tests: Remove system specific error strings * tests/dd/skip-seek-past-file: Just check for the non system specific part of the error strings. This was causing an erroneous failure on NetBSD 1.6 at least. 2009-02-25 Jim Meyering tests: using printf with \e for ESC isn't portable * tests/ls/color-clear-to-eol: Use \33, not \e for ascii ESC. This test failed when using the built-in printf of /bin/sh from NetBSD 1.6. 2009-02-24 Pádraig Brady Ensure comment for translators is included in po file Issue reported by Göran Uddeborg. * src/system.h: Move the translator comment adjacent to the translated string. * THANKS: Update Göran's email address. 2009-02-22 Tobias Stoeckmann truncate: fix typo in man page * man/truncate.x: Fix spelling. * THANKS: Update. 2009-02-22 Andrew Church doc: describe dd's status=noxref option * doc/coreutils.texi (dd invocation): Describe status=noxref. 2009-02-22 Jim Meyering tests: reenable temporarily-disabled tests using e.g., trap '' TTOU Revert "tests: skip newly-modified tests unconditionally..." This reverts commit 773a88d33f68e50a2919c8a8310c646a7e5fabc2. * tests/misc/stty: Don't skip. * tests/misc/stty-invalid: Likewise. * tests/mv/i-3: Likewise. 2009-02-22 James Youngman update James Youngman's email address * THANKS: Update James Youngman's email address 2009-02-21 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.1 * NEWS: Record release date. * README: Mention that c99-to-c89.diff is no longer maintained. tests: skip new install-C test if working directory is set-gid * tests/install/install-C: Use setgid-check. tests: skip newly-modified tests unconditionally, just to be safe * tests/misc/stty-invalid: Skip. * tests/misc/stty: Likewise. * tests/mv/i-3: Likewise. tests: don't let SIGTTOU/TTIN hang a backgrounded "make check" Running "make check &" would hang due to SIGTTOU and SIGTTIN signals. * tests/misc/stty: Ignore SIGTTOU. * tests/misc/stty-invalid: Likewise. * tests/mv/i-3: Ignore SIGTTIN. 2009-02-20 Jim Meyering doc: ls: clarify description of -s * src/ls.c (usage): Make the description of -s mention "allocated size", so that it's less likely to be confused with an apparent byte-count. Suggested by Vito Caputo. 2009-02-19 Jim Meyering doc: dd: document that the default block size is 512 bytes * src/dd.c (usage): Document the default block size. * doc/coreutils.texi (dd invocation): Document that the default block size (bs, ibs, obs) is 512 bytes. Reported by Petr Uzel. 2009-02-18 Jim Meyering maint: changing NEWS' copyright date must not invalidate checksum * maint.mk (NEWS_hash): Don't let the Copyright date line contribute to the checksum. * cfg.mk (old_NEWS_hash): Update to reflect the new policy. doc: explain how to recover from changes committed to master * HACKING: A beginner's commit-to-master is so common, and causes enough confusion, that we describe how to recover. maint: add copyright notices * HACKING: Add copyright notice. * tests/test-lib.sh: Likewise. 2009-02-18 OndÅ™ej Vašík cp: -a now preserves SELinux context, with reduced diagnostics * copy.c (copy_reg): Reduce SELinux context diagnostics for 'cp -a'. (copy_internal): Likewise * copy.h (cp_options): Add boolean reduce_diagnostics. * cp.c (usage): Say that --archive (-a) behaves like -dR --preserve=all. (cp_option_init): Initialize added reduce_diagnostics. (main): Add reduce_diagnostics for the -a option, and preserve SELinux context, if possible. * mv.c (cp_options_init): Initialize new cp_options booleans. * install.c (cp_option_init): Likewise. * NEWS: Mention those behaviour changes. * doc/coreutils.texi: Document --preserve=context, document that diagnostics are not shown for failures of non-mandatory attributes (just SELinux at the moment). * tests/cp/cp-a-selinux: Check not only failures, but succesful use of preserving SELinux context in cp. 2009-02-18 Eric Blake add missing copyright dates * NEWS: Add 2009 to copyright. * README: Likewise. * README-hacking: Likewise. * TODO: Likewise. * doc/Makefile.am: Likewise. * m4/prereq.m4: Likewise. * src/nl.c: Likewise. * src/seq.c: Likewise. * tests/cp/cp-i: Likewise. * tests/install/install-C: Likewise. * tests/install/install-C-root: Likewise. * tests/install/install-C-selinux: Likewise. * tests/misc/seq: Likewise. * tests/mv/mv-n: Likewise. 2009-02-17 Eric Blake install: compare files in binary mode * src/install.c (need_copy): Use O_BINARY when it matters. 2009-02-17 Kamil Dudka install: add --compare (-C) option to install file only when necessary * src/install.c (have_same_content): New function to compare files content. (extra_mode): New function checking for non-permission bits in mode. (need_copy): New function to check if copy is necessary. (main): Handle new option --compare (-C). (copy_file): Skip file copying if not necessary. (usage): Show new option --compare (-C) in --help. * tests/install/install-C: Basic tests for install --compare (-C). * tests/install/install-C-root: Tests requiring root privileges. * tests/install/install-C-selinux: Tests requiring SELinux. * tests/Makefile.am: Add new tests for install --compare (-C). * doc/coreutils.texi: Document new install option --compare (-C). * NEWS: Mention the change. 2009-02-17 OndÅ™ej Vašík nl: correct long-option name for -v in usage * nl.c (usage): Use --starting-line-number, not --first-page for -v 2009-02-15 Jim Meyering doc: id: make --help and .man more descriptive * src/id.c (usage): Improve description, based on a suggestion from Brian M. Carlson in http://bugs.debian.org/514675 * man/id.x: Use a better one-liner, based on the one at top of id.c. 2009-02-14 Pádraig Brady seq: Fix equal width calculation when '.' added to last number Issue reported by Samuel Hapák. * src/seq.c: Account for '.' added to "last" number. * tests/misc/seq: Add corresponding test. * NEWS: Mention the fix. 2009-02-13 Jim Meyering du,chgrp,chmod,chown: use FTS_DEFER_STAT * src/du.c (main): Use FTS_DEFER_STAT, for better locality of inode reference. Important when traversing file systems with fake inodes. * src/chgrp.c (main): Likewise. * src/chmod.c (main): Likewise. * src/chown.c (main): Likewise. The only remaining fts client, chcon, doesn't need this, since it goes further and uses FTS_NOSTAT, which suppresses all non- directory stat calls. 2009-02-13 Pádraig Brady maint: mention how to run a single test in HACKING docs * HACKING: Give an example of how to run a test in isolation. * README: Fix/simplify example for running a single test. * README-hacking: Reference the HACKING file. 2009-02-12 Eric Blake ln: add details to --help text * src/ln.c (usage): Mention more about symlink properties. * doc/coreutils.texi (ln invocation): Likewise. * THANKS: Update. Reported by Vitali Lovich. 2009-02-10 Jim Meyering ls: clean up after wrapped+colored file names with clear-to-EOL This change addresses a relatively unusual case: ls --color, with a highlighted name being printed initially in the last row of a terminal emulator (possibly followed by other lines of output) such that it is wrapped onto the following line, as the terminal emulator scrolls the output. That would cause the entire following line to be highlighted, even if the name happened to use only one position. The least-invasive patch would have made colorized output larger for all uses. The approach taken below is more invasive, but limits the increase in overhead to only those lines that are expected to wrap. * src/ls.c (enum indicator_no): Add C_CLR_TO_EOL. (indicator_name): Add "cl". (color_indicator): Add default escape codes for "cl". (print_long_format): Propagate width to print_name_with_quoting. (print_name_with_quoting): Print new C_CLR_TO_EOL string if needed. Return the width of what we're printing. (print_file_name_and_frills): Propagate width. (print_type_indicator): Return bool (aka width). (print_many_per_line): Pass column position to print_* function. (print_current_files): Likewise. (print_horizontal): Likewise. (print_with_commas): Likewise. * src/dircolors.c (slack_codes): Add "CLRTOEOL". (ls_codes): Add "cl". * tests/ls/color-clear-to-eol: New file. Test for this fix. * tests/Makefile.am (TESTS): Add ls/color-clear-to-eol. * THANKS: Update. Reported by Alexander V. Lukyanov. See thread for details: http://thread.gmane.org/gmane.linux.kernel/740021/focus=14824 Thanks to Jan Engelhardt for helping me reproduce the problem. Demonstrate with this in an 80-column xterm: seq 200 # to start in the "bottom" row touch zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo env LS_COLORS='*.foo=0;31;42' ls -og --color=always Before the fix, you'd see something like this: (where the file name is printed in red on a green background, and each "=" denotes a space on a green background) ... -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ zzzzzzzzzzzzzz.foo=================================================== After the patch, the trailing green spaces are gone: -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ zzzzzzzzzzzzzz.foo 2009-02-10 Jim Meyering * tests/test-lib.sh: Use skip_test_... in place of echo...;exit 77. 2009-02-10 Nix tests: avoid skipping stty-* tests * tests/test-lib.sh (require_controlling_input_terminal_): Check stdout, not stdin. 2009-02-09 Jim Meyering touch: deprecate --file option: equivalent to --reference (-r) * src/touch.c: Mark long-undocumented --file for removal in 2010. (main): Warn upon use of --file. 2009-02-06 Pádraig Brady tests: fix dd skip=greater_max_file_size test on Solaris 10 * tests/dd/skip-seek-past-file: I had previously commented that on some systems lseek(> max file size) may succeed, but left the possibility of failure in that case, so that I could determine specific systems to put in the comments for both failure modes. 2009-02-05 Jim Meyering avoid spurious parentheses/arith-op-related warnings from newer gcc * src/copy.c (set_owner): Use && rather than &. * src/stty.c (main): Likewise. * src/wc.c (wc): Likewise. 2009-02-02 Jim Meyering maint: tighten atoi/atof-prohibiting regexp, clean up .x-sc- file * maint.mk (sc_prohibit_atoi_atof): Require "(" after token. * .x-sc_prohibit_atoi_atof: Remove names that no longer contain a match. doc: preserve --help line breaks in 'REPORTING BUGS' man page section * man/help2man: Insert .br between adjacent lines. * src/system.h (emit_bug_reporting_address): Remove periods. update copyright dates from recent changes * src/dd.c: Add 2009 to list of copyright years. * tests/dd/seek-skip-past-file: Likewise. * tests/dd/seek-skip-past-dev: Likewise. * m4/xattr.m4: Likewise. * src/copy.h: Likewise. * maint.mk (sc_redundant_const): Use $(_prohibit_regexp). 2009-02-02 jidanni@jidanni.org date doc: warn at -d about LC_TIME We also warn here about LC_TIME, so the user will know even if he doesn't look in the @xref{Date input formats}. document sort --ignore-case --unique interaction 2009-01-31 Jim Meyering maint: detect useless inclusion of c-ctype.h * maint.mk (sc_prohibit_c_ctype_without_use): New rule. 2009-01-29 Jim Meyering maint: teach "make syntax-check" to print each check name as it's run * maint.mk (%.m): New rules to print each syntax-checking rule name, just before running its commands. ($(syntax-check-rules)): Depend on it. maint: silence some syntax-check rules * cfg.mk (sc_strftime_check): Silence the rule. (sc_tight_scope): Likewise. * src/Makefile.am (check-AUTHORS): Likewise. maint: factor syntax-check rules * maint.mk (_ignore_case): New macro. (_prohibit_regexp): Use it. Factor many existing syntax-check rules to use $(_prohibit_regexp). 2009-01-29 Kamil Dudka cp/mv: add xattr support This patch was originally written by Andreas Grünbacher, nowadays available at http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff * bootstrap.conf: Add gnulib module verror. * po/POTFILES.in: Add lib/verror.c. * m4/xattr.m4: Check for libattr availability, new configure option --disable-xattr. * m4/prereq.m4: Require gl_FUNC_XATTR. * src/Makefile.am: Link cp, mv and ginstall with libattr. * src/copy.h: Add preserve_xattr and require_preserve_xattr to cp_options. * src/copy.c (copy_attr_error): New function to handle errors during xattr copying. (copy_attr_quote): New function to quote file name in error messages printed by libattr. (copy_attr_free): Empty function requested by libattr to free quoted string. (copy_attr_by_fd): New fd-oriented function to copy xattr. (copy_attr_by_name): New name-oriented function to copy xattr. (copy_reg, copy_internal): Call copy_extended_attributes function. * src/cp.c (usage): Mention new --preserve=xattr option. (decode_preserve_arg): Handle new --preserve=xattr option. * src/mv.c: Always attempt to preserve xattr. * src/install.c: Never attempt to preserve xattr. * tests/misc/xattr: New test for xattr support in cp, mv and install. * tests/Makefile.am: Add the new test to list. * doc/coreutils.texi: Mention xattr support, new --preserve=xattr option. * NEWS: Mention the change. 2009-01-28 Jim Meyering system.h: add a comment re autoconf's new AC_PACKAGE_URL * src/system.h (emit_bug_reporting_address): Add a comment suggesting to use AC_PACKAGE_URL once we require autoconf-2.64. 2009-01-28 Pádraig Brady tests: Fixup shred-passes test * tests/misc/shred-passes: Set the $fail variable correctly. The issue was noticed by Jim Meyering. tests: Add a test to verify shred's default operations * tests/Makefile.am: add new test * tests/misc/shred-passes: Verify the operations shred does by default to overwrite and remove a zero length file. 2009-01-28 Pádraig Brady dd: Better handle user specified offsets that are too big Following are the before and after operations for seekable files, for the various erroneous offsets handled by this patch: skip beyond end of file before: immediately exit(0); after : immediately printf("cannot skip to specified offset"); exit(0); skip > max file size before: read whole file and exit(0); after : immediately printf("cannot skip: Invalid argument"); exit(1); seek > max file size before: immediately printf("truncate error: EFBIG"); exit(1); after : immediately printf("truncate error: EFBIG"); exit(1); skip > OFF_T_MAX before: read whole device/file and exit(0); after : immediately printf("cannot skip:"); exit(1); seek > OFF_T_MAX before: immediately printf("truncate error: offset too large"); exit(1); after : immediately printf("truncate error: offset too large"); exit(1); skip > device size before: read whole device and exit(0); after : immediately printf("cannot skip: Invalid argument"); exit(1); seek > device size before: read whole device and printf("write error: ENOSPC"); exit(1); after : immediately printf("cannot seek: Invalid argument"); exit(1); * NEWS: Summarize this change in behavior. * src/dd.c (skip): Add error checking for large seek/skip offsets on seekable files, rather than deferring to using read() to advance offset. (dd_copy): Print a warning if skip past EOF, as per FIXME comment. * test/Makefile.am: Add 2 new tests. * tests/dd/seek-skip-past-file: Add tests for first 3 cases above. * tests/dd/seek-skip-past-dev: Add root only test for last case above. 2009-01-27 Jim Meyering doc: emit better bug-reporting info, to help help2man * src/system.h (emit_bug_reporting_address): End each "sentence" with period, mark URLs with <...>. Based on a suggestion from Eric Blake. Use fputs on a string without %s, not printf. doc: ensure that emit_bug_reporting_address changes propagate to *.1 * man/Makefile.am ($(MAN)): Depend on system.h. doc: restore "REPORTING BUGS" section to generated man pages * man/help2man ($PAT_BUGS): Update regexp to match the newer "Report PROG bugs ..." --help output, as well as "Report bugs...". Reported by Eric Blake. 2009-01-26 Jim Meyering tests: generalize install-transform-check * maint.mk (install-transform-check): Generalize to work also in a project that installs manuals in a section other than "1". 2009-01-23 Jim Meyering build: resolve conflict with new declaration from version-etc.h * src/system.h (emit_bug_reporting_address): Define away, now, gnulib's version-etc.h also declares this function. In this package, we choose to include each program's name in the diagnostic. Define away the conflicting declaration. (emit_bug_reporting_address): Also emit home page and "General help..." links, like the new function does. Reported by Bob Proulx. 2009-01-22 Pádraig Brady doc: shred: Correct docs on default number of overwrites. * NEWS: Mention the change to the default number of passes. * doc/Makefile.am: Update constants.texi with the default number of passes shred uses, so that the documentation will automatically reflect any future changes. * doc/coreutils.texi (shred invocation): Update the description of the --iterations option to have the correct default number, while still conveying that there are 25 internal patterns that may be useful. shred: change default number of overwrites from 25 to 3 * src/shred.c: The concensus is that a default of 3 passes is appropriate for current drive technologies. * src/TODO: Reference Paul Eggert's suggestion of enhancing shred to conform to DoD 5220 rules. 2009-01-21 Jim Meyering m4: don't use AC_REQUIRE([AC_C_BIGENDIAN]) * m4/jm-macros.m4: Use AC_REQUIRE([gl_BIGENDIAN]) instead. This avoids a subtle problem recently documented in autoconf: http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=34e2c8d5484 2009-01-19 Jim Meyering no longer define *_FILENO constants * src/system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Remove definitions. Now guaranteed by gnulib. build: use dist-xz, not dist-lzma, cont'd * README-hacking: mention XZ utils * README-prereq: Add a FIXME comment. tests: tail-2/infloop-1 is racy * tests/tail-2/infloop-1: Add a comment to that effect. 2009-01-18 Jim Meyering build: use dist-xz, not dist-lzma * configure.ac (AM_INIT_AUTOMAKE): s/dist-lzma/dist-xz/. Requires recent "xz" from git://ctrl.tukaani.org/lzma-utils.git 2009-01-16 Jim Meyering maint: remove obsolete sc_author_mark_check rule * maint.mk (sc_author_mark_check): Remove rule. "and" no longer appears in the definition of AUTHORS. Merge branch 'master' of git://git.sv.gnu.org/coreutils maint: enforce existing prohibition: no cvs $keywords$ * maint.mk (sc_prohibit_cvs_keyword): New rule. echo, printf, test: remove unused #include directives * src/echo.c: Don't include "long-options.h". No longer used. * src/printf.c: Likewise. * src/test.c: Likewise. 2009-01-16 Pádraig Brady pathchk: avoid -Wsign-compare warnings * src/pathchk.c: Compare pathconf limits to _signed_ MAX constants, as pathconf returns signed values. pr: avoid -Wsign-compare warnings * src/pr.c: Use unsigned variables in unsigned comparisons. shred: avoid -Wsign-compare warnings * src/shred.c: Use already assigned signed variable sizeof_r, rather than the unsigned sizeof(r). Don't use signed integer overflow check that contemporary compilers may remove anyway. simplify mgetgroups() and avoid -Wsign-compare warnings * gl/lib/mgetgroups.c: Avoid -Wsign-compare warning by using unsigned types for the parameters of the new function realloc_groupbuf(). mgetgroups() was refactored to use this function rather than explicitly allocating and copying from automatic storage itself. * src/group-list.c: Use int rather than size_t as variable is used in signed comparisons. * src/id.c: ditto. 2009-01-14 Eric Blake test, echo, printf: don't accept option abbreviation * src/test.c (main): Directly parse accepted options, thus avoiding abbreviations. * src/echo.c (main): Likewise. * src/printf.c (main): Likewise. 2009-01-14 Kamil Dudka cp/mv: add --no-clobber (-n) option to not overwrite target * src/cp.c (usage): Show new option -n in --help. (main): Handle new option -n. * src/mv.c (usage): Show new option -n in --help. (main): Handle new option -n. * doc/coreutils.texi: Document new cp/mv option -n. * tests/cp/cp-i: Add tests for -f, -i and -n options. * tests/mv/mv-n: New test for mv -n. * tests/Makefile.am: Add test mv/mv-n to the list. * NEWS: Mention the change. 2009-01-08 Eric Blake option handling: make exceptions more consistent * doc/coreutils.texi (Common options): Not all utilities reject option abbreviations. * src/chroot.c (main): Report correct name on failure. * src/echo.c (usage): Clarify long option usage. * src/setuidgid.c (usage): Likewise. * src/hostid.c (usage): Condense. 2009-01-07 Jim Meyering * bootstrap.conf (avoided_gnulib_modules): Add dummy. * maint.mk: align some backslashes 2009-01-05 Pádraig Brady doc: pathchk description enhancements * doc/coreutils.texi (pathchk invocation): Mention pathchk checks validity (for current system) as well as portability. Say messages go to stderr, and reorder description of checks done for the -p option, to match what's done in code. * src/pathchk.c (usage): Mention pathchk checks name validity. Suggested clarifications were from Dan Jacobson. 2009-01-03 Pádraig Brady src/.gitignore: Ignore getlimits utility * src/.gitignore: Ignore getlimits tests: refactor to use the new getlimits utility * tests/Coreutils.pm: Add function to make limits available * tests/test-lib.sh: ditto * tests/misc/join: Check for both SIZE_OFLOW and UINTMAX_OFLOW rather than using arbitrary 2^128 * tests/misc/sort: ditto * tests/misc/uniq: ditto * tests/misc/printf: Check for both INT_OFLOW and INT_UFLOW rather than using arbitrary -2^31 * tests/misc/seq-long-double: Check for INTMAX_OFLOW rather than using arbitrary 2^63 * tests/misc/split-fail: Check --lines --bytes and --line-bytes options limits on all platforms. Note getlimits obviates the need to use expr to check if 32 bit integers are supported, which I think was invalid anyway as expr now supports bignum? * tests/misc/test: Check for UINTMAX_OFLOW rather than using arbitrary 2^64 and 2^128. Check for INTMAX_UFLOW rather than using arbitrary -2^64 * tests/misc/timeout-parameters: Check for UINT_OFLOW rather than using arbitrary 2^32 * tests/misc/truncate-overflow: Don't depend on truncate to determine if we're on a 32 or 64 bit platform and instead use the various OFF_T limits * tests/misc/sort-merge: Check for UINTMAX_OFLOW rather than using arbitrary 2^64+1 * tests/misc/unexpand: ditto 2009-01-03 Michael Meskes stat: print file-system total inode count (%c) as an unsigned number * src/stat.c (print_statfs): Print statfs.f_files, the total inode count of a file system, as an unsigned number. 2009-01-01 Jim Meyering tests: factor ls-misc (no semantic change) * tests/misc/ls-misc: Factor out uses of "\e[0m". update copyright year * doc/coreutils.texi: Likewise. * tests/sample-test: Likewise. 2009-01-01 Jim Meyering improve M4 quoting * configure.ac: Add quotes. * gl/m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise. * m4/boottime.m4 (GNULIB_BOOT_TIME): Likewise. * m4/check-decl.m4 (gl_CHECK_DECLS): Likewise. * m4/gmp.m4 (cu_GMP): Likewise. * m4/jm-macros.m4 (coreutils_MACROS, gl_CHECK_ALL_HEADERS): Likewise. (gl_CHECK_ALL_TYPES): Likewise. * m4/lib-check.m4 (cu_LIB_CHECK): Likewise. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Likewise. FYI, I first ran this command: git ls-files | grep -E '\.(m4|ac)$' | xargs perl -pi \ -e 's/(AC_[A-Z_]+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_[A-Z_]+\(\[[^,]+?\], )([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_[A-Z_]+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g' Then I updated serial numbers and copyright dates manually. Also, I manually added two pairs of quotes in boottime.m4. 2009-01-01 Jim Meyering bootstrap: don't use cmp's -s option when reading from a pipe GNU cmp exits without reading all input when given the -s option, and that can cause termination of the writing process via SIGPIPE. Instead, when reading from a pipe, just redirect output to /dev/null so that all input is read. maint: factor out common code; prohibit use of HAVE_MBRTOWC * maint.mk (_prohibit_regexp): New macro. (sc_avoid_if_before_free, sc_cast_of_argument_to_free): (sc_cast_of_x_alloc_return_value, sc_cast_of_alloca_return_value): (sc_space_tab, sc_prohibit_atoi_atof, sc_prohibit_strcmp): (sc_prohibit_stat_st_blocks, sc_prohibit_S_IS_definition): Use it. (sc_prohibit_HAVE_MBRTOWC): New rule. maint: use more sc_-prefixed names * maint.mk (sc_po_check): Renamed from po-check. (sc_author_mark_check): Renamed from author_mark_check. (sc_copyright_check): Renamed from copyright-check. (sc_makefile_path_separator_check): Renamed from makefile_path_separator_check. (local-checks-available): Remove the old names. * Makefile.am (EXTRA_DIST): Reflect the renaming: .x-sc_po_check * .x-po-check: Rename to... * .x-sc_po_check: ...new file. maint: tighten m4 AC_ quoting check * maint.mk (sc_m4_quote_check): Renamed from m4-check. Also search for AC_DEFINE and AC_DEFINE_UNQUOTED. Also search in configure.ac. * configure.ac: Quote first argument of AC_DEFINE. * jm-macros.m4 (coreutils_MACROS): Quote the first argument to AC_DEFINE. maint: move coreutils-specific syntax check rules into cfg.mk * maint.mk (sc_dd_max_sym_length, sc_prohibit_jm_in_m4): (sc_root_tests, sc_always_defined_macros, sc_system_h_headers): (sc_sun_os_names, sc_tight_scope, sc_no_exec_perl_coreutils): Move rules into cfg.mk. (sc_strftime_check): Renamed from strftime-check, and moved, too. * cfg.mk: Add the above rules. portability: accommodate gnulib's getaddrinfo change * src/Makefile.am (pinky_LDADD, who_LDADD): Append $(GETADDRINFO_LIB) cleanup/modernize: don't test HAVE_MBRTOWC; now gnulib provides it * bootstrap.conf (gnulib_modules): Include mbrtowc explicitly. * src/ls.c (quote_name): Don't test HAVE_MBRTOWC, now that we're guaranteed to have the function. * src/wc.c (wc): Likewise. 2008-12-27 Eric Blake doc: mention long option abbreviation * doc/coreutils.texi (Common options): Give example of abbreviating options. * THANKS: Update. Reported by Adam Jimerson. 2008-12-26 Jim Meyering maint: ensure dd's computation of O_FULLBLOCK uses all O_ symbol names * src/dd.c (O_FULLBLOCK): Use a more uniform initializer, that makes it easier to extract all O_ symbol names. * maint.mk (syntax-check-rules): Also search for sc_ rules in cfg.mk. (sc_root_tests): Ensure that this rule sets $diff. * cfg.mk (sc_dd_O_FLAGS): New rule. 2008-12-26 Matt Harden dd: add support for opening files in Concurrent I/O (CIO) mode * src/dd.c (O_CIO): New flag. * src/dd.c (O_FULLBLOCK): Add O_CIO to the list of flags that O_FULLBLOCK should be greater than. * src/dd.c (flags): Give the name "cio" to the new O_CIO flag, mirroring the treatment of O_DIRECT. * src/dd.c (usage): Add a description of the new flag when it is available. * doc/coreutils.text (dd invocation): Describe the new flag. * NEWS: Mention the new feature. 2008-12-23 Jim Meyering build: do enable $(WERROR_CFLAGS) for src/ files. This reverts the more recent commit (of two) entitled "build: add configure-time --enable-gcc-warnings option; avoid warnings". Pádraig Brady spotted the contradiction between the log message and actual change. This reverts commit 292d68565a34b237cd2bf586ace545b7cd3dbfcf. 2008-12-23 Pádraig Brady doc: stty: Clarification of some input and output settings * doc/coreutils.texi (stty invocation): Clarify any ambiguity in regard to the direction of input and output settings. Add some notes on the case changing settings. Most of the text was supplied by Dan Jacobson. timeout: remove problematic casts * src/timeout.c (apply_time_suffix): Change input parameter from unsigned int to unsigned long, which is the type of the variable it's actually manipulating. This removes the need for the cast which was giving a warning with the gcc options: -fstrict-aliasing -Wstrict-aliasing. Also add a check for overflow possible on 16-bit platforms, and fix indents. (main): Remove a redundant cast in the alarm() call. 2008-12-21 Jim Meyering * .x-sc_require_config_h: Remove obsolete regexps. maint.mk: enforce the "include first" rule * maint.mk (sc_require_config_h_first): New rule. * .x-sc_require_config_h_first: New file. build: add configure-time --enable-gcc-warnings option; avoid warnings * bootstrap.conf (gnulib_modules): Add "warnings" module. * configure.ac: Add --enable-gcc-warnings, derived from code in bison. * src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS) * lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS) Don't use $(WERROR_CFLAGS), yet. * src/system.h (usage): Declare. * src/base64.c (usage): Declare to be global, for consistency. * src/timeout.c (usage): Likewise. * src/truncate.c (usage): Likewise. * src/getlimits.c (usage): Likewise. * src/pinky.c (ttyname): Declare with prototype, rather than an empty argument list. * src/who.c (ttyname): Likewise. * src/su.c (crypt, getusershell, setusershell, endusershell): Likewise. build: turn on $(WERROR_CFLAGS) for src/ build: add configure-time --enable-gcc-warnings option; avoid warnings * bootstrap.conf (gnulib_modules): Add "warnings" module. * configure.ac: Add --enable-gcc-warnings, derived from code in bison. * src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS) * lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS) Don't use $(WERROR_CFLAGS), yet. * src/system.h (usage): Declare. * src/base64.c (usage): Declare to be global, for consistency. * src/timeout.c (usage): Likewise. * src/truncate.c (usage): Likewise. * src/getlimits.c (usage): Likewise. * src/pinky.c (ttyname): Declare with prototype, rather than an empty argument list. * src/who.c (ttyname): Likewise. * src/su.c (crypt, getusershell, setusershell, endusershell): Likewise. 2008-12-17 Pádraig Brady doc: Remove curly quotes from shell examples in man pages Use \(aq rather than a literal ' as groff will convert apostrophe to a right quote (\u2029) in utf8 locales for example. Stepan Kasal details the issue and fix here: http://lists.gnu.org/archive/html/bug-coreutils/2008-12/msg00124.html 2008-12-16 Jim Meyering ChangeLog-2008: say ChangeLog files are no longer manually maintained and point to HACKING's policy. Suggestion from Dan Jacobson. du: -H now does what POSIX requires * src/du.c (usage): Update --help output. (main): Move -H-handling code from the --si block to the one for --dereference-args (-D). * doc/coreutils.texi (du invocation): Update description. * NEWS (Changes in behavior): Mention this. 2008-12-13 Jim Meyering doc: pr: formatting corrections * doc/coreutils.texi (pr invocation): Fix some overzealous uses of @var. Reported by Andreas Schwab. 2008-12-13 Ralf Wildenhues more portable bootstrap procedure * bootstrap (get_version): Fix portability issues in sed script. (check_versions): For buildreq apps, honor the corresponding $APP variable like $AMTAR, $AUTOCONF. (usage): Document this. (update_po_files): Honor $SHA1SUM. (main): Honor $AUTOPOINT, $ACLOCAL, $AUTOCONF, $AUTOHEADER, $AUTOMAKE, $LIBTOOLIZE. 2008-12-03 Jim Meyering tests: ensure that chmod, chgrp and chown honor --silent * tests/chmod/silent: New file, to test all three programs. * tests/Makefile.am (TESTS): Add chmod/silent. * NEWS (Bug fixes): Mention this. The bug was introduced in 96a5d2ce6a53d96cb667af78f13e56fadcdb91e6. 2008-12-03 OndÅ™ej Vašík chmod, chown, chgrp: honor --silent (-f) once again * chmod.c (process_file): Make -f suppress fts-related diagnostics. * chown-core.c (change_file_owner): Likewise. Reported via . 2008-12-02 Jim Meyering wc: read and process --files0-from= input a name at a time, when the file name list is not too large. Before, wc would always read the entire file name list into memory and *then* process each file name. wc does read the list into memory when the list is known not to be too large; this is done in order to be able to align the output numbers, as it does with arguments specified on the command-line * src/wc.c: Include "argv-iter.h". (main): Rewrite to use argv-iter when the input file name list is known to be too large. * NEWS (Bug fixes): Mention it. du: read and process --files0-from= input a name at a time, rather than by reading the entire input into memory and *then* processing each file name. * src/du.c: Include "argv-iter.h", not "readtokens0.h". (main): Rewrite to use argv-iter. Call xfts_open on each argument, rather than on the entire argv list at once. Call print_size here, not from du_files. Diagnose read failure. * NEWS (Bug fixes): Mention it. * THANKS: update. Reported by Barry Kelly. More details in http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/15159/ 2008-12-01 Jim Meyering factor: plug a leak * src/factor.c (emit_ul_factor): Call mpz_clear. avoid warnings about initialization of automatic aggregates * src/system.h (DZA_CONCAT0, DZA_CONCAT): New macros. (DECLARE_ZEROED_AGGREGATE): New macro. * src/ls.c (quote_name): Use it. * src/pathchk.c (portable_chars_only): Use it. * src/shred.c (main): Use it. * src/stty.c (main): Use it. * src/wc.c (SUPPORT_OLD_MBRTOWC): Use it. * bootstrap.conf (gnulib_modules): Add argv-iter. argv-iter: add tests * gl/modules/argv-iter-tests: New module. * gl/tests/test-argv-iter.c: New file. argv-iter: new module * gl/lib/argv-iter.h: New file. * gl/lib/argv-iter.c: New file. * gl/modules/argv-iter: New file. With a suggestion for improved memory management by Pádraig Brady. * src/hostname.c (sethostname) [!HAVE_SETHOSTNAME]: Remove declaration. cp, mv: remove 3-year-deprecated+warned-about --reply option * src/cp.c (reply_args, reply_vals): Remove globals. [REPLY_OPTION]: Remove enum. (long_opts) ["reply"]: Remove initializer. (main): Remove case stmt. * src/mv.c: Likewise. Don't include "argmatch.h". No longer used. * NEWS (Changes in behavior): Mention this. * tests/Makefile.am (TESTS): Remove mv/reply-no. * tests/mv/reply-no: Remove file. * tests/mv/i-link-no: Update, now that --reply= is gone. 2008-12-01 Pádraig Brady doc: Make descriptions of ASCII NUL and --zero-terminated option consistent doc/coretuils.texi: Refactor shuf, sort and uniq --zero-terminated option to use the same text. Also refer to NUL characters as @acronym{ASCII} @sc{nul} consistently. 2008-12-01 Jim Meyering doc: enforce @var{lower} policy * doc/coreutils.texi: Fix remaining violations. * doc/Makefile.am (sc-lower-case-var): New rule. Add some command-suppressing "@" directives so that a successful "make check" run is less noisy. 2008-12-01 Pádraig Brady doc: Tweak info docs to standarise on lower-case @var{file} * doc/coreutils.texi: s/@var{FILE}/@var{file}/ doc: Improve description of --files0-from option * doc/coreutils.texi: Describe the most common usage of --files0-from=- to read names from stdin. * src/du.c: Likewise. * src/sort.c: Likewise. * src/wc.c: Likewise. tests: dd/reblock: Reduce chance of timing related failures * tests/dd/reblock: Change the IPC mechanism to the dd process under test, from pipes to fifos. Also change the delay between data writes to 0.2s for both tests. This should increase the chance that the dd process will read the data chunks separately. 2008-11-30 Jim Meyering m4: avoid a warning from gcc's -Wstrict-prototypes * m4/jm-macros.m4 (ARGMATCH_DIE_DECL): Use proper prototype for usage. tests: df: skip total-verify if df fails * tests/df/total-verify: Skip the test if df fails. build: don't reject definition of STREQ * maint.mk (sc_prohibit_strcmp): Tighten rule: exclude macro definitions like the one in system.h. * .x-sc_prohibit_strcmp: Don't exempt src/system.h. tests: start long-running cp/link-heap earlier * tests/Makefile.am (TESTS): Move cp/link-heap nearer the start of the list, so that its termination doesn't delay a parallel "make check". tests: avoid failure of cp/link-heap on some systems * tests/cp/link-heap: Raise virtual memory limit from 10,000 to 14,000, to avoid failure on Debian/unstable (libc6 2.7-16). remove explicit declaration of putenv, ... * src/date.c: ... now that gnulib guarantees that it's in . * src/env.c: Likewise. tests: dd/reblock: avoid occasional failure * tests/dd/reblock: Sleep longer to avoid a race condition. Reported by Bob Proulx. 2008-11-27 James Youngman pwd: add pwd -P, -L to TODO * TODO: Add to-do entry for -P and -L options of pwd. 2008-11-26 OndÅ™ej Vašík doc: fix typo in units factorization, removed TODO items * doc/coreutils: switch typo (switched gibibytes/gigabytes) * TODO: removed missing chcon and runcon documentation from list 2008-11-26 Jim Meyering doc: factor out list of suffix-to-number (e.g., KB->1000B) mappings * coreutils.texi (multiplierSuffixes, multiplierSuffixesNoBlocks): New macros. (od invocation, head invocation, tail invocation, split invocation): (truncate invocation): Use them. doc: tail: one more s/bytes/n/ change * doc/coreutils.texi (tail invocation): Make one more @var{bytes} -> @var{n} change. 2008-11-26 Pádraig Brady doc: tail: fix description of --bytes=N (-c) * doc/coreutils.texi (tail invocation): Use @var{n} consistently, not a mix of that and @var{bytes}. Reported by anonymous in . 2008-11-23 Karl Berry doc: move @shortcontents and @contents from end to start * doc/coreutils.texi: Move @shortcontents and @contents from the end to the beginning, just after "@end titlepage". 2008-11-23 Jim Meyering doc (stat): clarify: there are two sets of format directives * doc/coreutils.texi (stat invocation): Clarify description of --file-system format directives. 2008-11-23 Karl Berry doc (stat): correct formatting in coreutils.texi * doc/coreutils.texi (stat invocation): Move the list of regular, non-file-system, format directives from the description of --terse, out of the enclosing table. 2008-11-22 Jim Meyering tests: dd: add a test for the required behavior * tests/dd/reblock: New file. Test for the required functionality. Based on an example and discussion from this thread: http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html * tests/Makefile.am (TESTS): Add dd/reblock. 2008-11-22 Pádraig Brady Revert part of "dd: avoid unnecessary memory copies" This reverts part of commit fbd87029cfc494a72bb73ade27ef46382c5bc832. Paul Eggert noticed the problem in http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html * doc/coreutils.texi (dd invocation): Clarify. 2008-11-21 Pádraig Brady getlimits: A new utility for use in coreutils' tests * src/getlimits.c: A utility to print platform dependent limits in a format suitable for use in shell scripts. * src/Makefile.am: Add getlimits to list of utilities to build but not install. Also add it to the list linked with libiconv * po/POTFILES.in: Add getlimits to translation list. dd: avoid unnecessary memory copies * src/dd.c (scanargs): When not otherwise required (e.g. for conversion), use two-buffer mode only when the input and output buffer sizes differ. Before, some of the most basic invocations of dd, e.g., dd < in > out, would unnecessarily use separate buffers and perform memory copies between them. 2008-11-20 Jim Meyering cp: use far less memory in some cases cp --link was "remembering" many name,dev,inode triples unnecessarily. cp was doing the same, even without --link, for every directory in the source hierarchy, while it can do its job with entries merely for the command-line arguments. Prompted by a report from Patrick Shoenfeld. Details . * src/copy.c (copy_internal): Refrain from remembering name,dev,inode for most files, when invoked via cp --link. Record an infloop-avoidance triple for each directory specified on the command line, not for each directory in the source tree. Don't record a dir-triple when x->hard_link is set. * NEWS (Buf fixes): Mention it. * tests/cp/link-heap: New file. Test for cp's lowered memory usage. * tests/Makefile.am (TESTS): Add link-heap. tests: add a test of cp --preserve=links * tests/cp/link-preserve: Add a case and comments. cp: remove unused code * src/cp-hash.c (remember_created): Remove unused function. Remove thus-obviated headers: , "quote.h", "error.h". * src/cp-hash.h (remember_created): Remove declaration. 2008-11-17 Jim Meyering doc: HACKING: reference http://www.gnu.org/licenses/why-assign.html Suggestion from Patrick Schoenfeld. 2008-11-16 Jim Meyering tests: remove debug code that would try to write into /t/k-env * tests/ls/no-cap: Remove debugging "tee". tests: change misc/printf-surprise so that it doesn't segfault anymore * tests/misc/printf-surprise: Disable MALLOC_PERTURB_, so that "make check" no longer provokes a segfault from printf(1). Before, that would be detected as a known problem and cause the test to be skipped. Adjust the test so that a segfault once again results in test failure. 2008-11-12 Jim Meyering tests: remove df/total * tests/df/total: Remove file. * tests/Makefile.am (TESTS): Remove df/total. It is subsumed by df/total-verify. 2008-11-12 OndÅ™ej Vašík * tests/df/total-verify [VERBOSE]: Run df --version, not ls --version. 2008-11-12 Jim Meyering avoid spurious test failure when df always fails * tests/df/total-verify: Skip upon _df_ failure, not tee failure. Reported by OndÅ™ej Vašík. Details in . 2008-11-11 Eric Blake jm-macros.m4: avoid syntax issue with newer autoconf * jm-macros.m4 (coreutils_MACROS): Make LIB_CAP assignment persistent. 2008-11-11 Jim Meyering Update references to GFDL: 1.2 -> 1.3 * doc/coreutils.texi: Likewise. * doc/perm.texi: Likewise. * old/fileutils/NEWS: Likewise. * old/sh-utils/NEWS: Likewise. * old/textutils/NEWS: Likewise. 2008-11-10 Jim Meyering make --help print "Report PROGRAM translation bugs to <...>." for all but the C/POSIX locale. * src/system.h: Include "hard-locale.h". (emit_bug_reporting_address): Tell where to report translation bugs. don't include "hard-locale.h", now that system.h does * src/comm.c: Likewise. * src/join.c: Likewise. * src/ls.c: Likewise. * src/pinky.c: Likewise. * src/pr.c: Likewise. * src/sort.c: Likewise. * src/uniq.c: Likewise. * src/who.c: Likewise. 2008-11-10 Jim Meyering avoid warnings about discarding "qualifiers from pointer target type" Use the new "bad_cast" function or an actual cast-to-"(char *)" to avoid warnings. * src/system.h (bad_cast): Define. * src/chown.c (main): * src/chroot.c (main): * src/date.c (main): * src/du.c (main): * src/expand.c (stdin_argv): * src/ls.c (decode_switches): * src/md5sum.c (main): * src/paste.c (main): * src/pr.c (col_sep_string, column_separator, line_separator, main): * src/sort.c (main): * src/split.c (main): * src/tail.c (main): * src/unexpand.c (stdin_argv): * src/yes.c (main): avoid a compiler warning (strip_program): Declare to be const. use xfreopen in place of unchecked freopen * bootstrap.conf (modules): Add xfreopen. * src/cat.c (main): Include "xfreopen.h". Use xfreopen. * src/cksum.c (cksum): Likewise. * src/head.c (head_file, main): Likewise. * src/md5sum.c (digest_file): Likewise. * src/od.c (open_next_file): Likewise. * src/split.c (type_undef): Likewise. * src/sum.c (bsd_sum_file, sysv_sum_file): Likewise. * src/tac.c (tac_file, main): Likewise. * src/tail.c (tail_file, main): Likewise. * src/tee.c (tee_files): Likewise. * src/tr.c (main): Likewise. * src/wc.c (wc_file): Likewise. * po/POTFILES.in: Add lib/xfreopen.c xfreopen: new module * gl/lib/xfreopen.c: New file. * gl/lib/xfreopen.h: New file. * gl/modules/xfreopen: New file. 2008-11-09 Jim Meyering Update URL: s!www.iro.umontreal.ca!translationproject.org/team/...! * Makefile.am (THANKS-to-translators): Update URL template. 2008-11-09 James Youngman install: indicate clearly it's not for installing packages * src/install.c (usage): Indicate the program copies files, as opposed to installing packages. 2008-11-08 Jim Meyering emit more precise bug-reporting instructions Hoping that this will decrease the volume of bug reports mistakenly directed to the coreutils mailing list. * src/system.h (emit_bug_reporting_address): Specify the program name in the "Report bugs to <...>." line in each program's --help output and man page. Now, it will say "Report PROGRAM_NAME bugs to <...>." Suggestion from OndÅ™ej Vašík. 2008-11-05 Jim Meyering include gnulib's strdup module explicitly * bootstrap.conf (gnulib_modules): Include strdup explicitly, to keep the latest version of gnulib-tool from omitting this now-marked- as-obsolete module. 2008-10-28 Kamil Dudka ls: --color now highlights hard linked files, too * src/ls.c (print_color_indicator): Colorize hard linked files. * src/dircolors.c: Add color for hard link. * src/dircolors.hin: Add color for hard link. * tests/ls/hardlink: Test for ls - colorize hard linked files. * tests/Makefile.am (TESTS): Add ls/hardlink. * NEWS: Mention the change. 2008-10-28 Jim Meyering tests: ls/stat-failed: don't discard stderr. * tests/ls/stat-failed: Let stderr be recorded, to ease debugging. 2008-10-26 Jim Meyering tests: seq: check for today's extended long double fix * tests/misc/seq-long-double: New file. Test for today's bug fix. * tests/check.mk (TESTS_ENVIRONMENT): Export CC definition. * tests/Makefile.am (TESTS): Add misc/seq-long-double. * NEWS (Bug fixes): Mention it. 2008-10-26 Paul Eggert seq: improve quality of format-checking code * src/seq.c (validate_format): Remove. Migrate its checks into... (long_double_format): Report an error and exit if an error is found, instead of returning NULL. All callers changed. Use a more-consistent format for diagnostics. * tests/misc/seq: Adjust to the more-consistent format for diagnostics. 2008-10-25 Jim Meyering factor: avoid compilation failure without libgmp * src/factor.c (debug) [!HAVE_GMP]: Define. Reported by Bob Proulx. 2008-10-25 Paul Eggert factor: remove --bignum and --no-bignum options Here's a patch to remove the --bignum and --no-bignum options from 'factor'. The case for removing --bignum isn't as strong as that for 'expr', but still, it seems to me that these options are not needed and complicate the documentation unnecessarily. * doc/coreutils.texi (factor invocation): Remove --bignum, --no-bignum. * src/factor.c (algorithm, ALGORITHM_CHOICE, USE_BIGNUM, NO_USE_BIGNUM): Remove; all uses removed. (extract_factors_multi): Remove, replacing with.... (print_factors_multi): New function, with signature similar to that of new signature of print_factors_single. (print_factors_single): Migrate checking code to caller. (print_factors): Use GMP if it's available; don't bother asking user. Improve accuracy of check for "large" numbers. (long_options, main): Remove support for --bignum. 2008-10-25 Jim Meyering tests: df/total: don't fail for an inaccessible mount point * tests/df/total: Ignore nonzero exit status from df. 2008-10-25 Paul Eggert seq: revert Solaris 8 work-around that caused x86 regression * src/seq.c: Don't include , . (abs_rel_diff): Remove. (print_numbers): Test for equality, not for an epsilonish value. This reverts 4827dd27b0c655a685947aaa01426a5ecba179f3, aka v6.10-185-g4827dd2, which broke 'seq' on the x86; for example, it causes "seq 9223372036854775807 9223372036854775808" to incorrectly output 3 numbers instead of 2. It's better to punish obsolescent hosts that have incorrectly-working floating-point than to punish correctly-working hosts. * tests/misc/seq: Use 0.9000000000000, rather than 0.90000000000000000000, to avoid tickling a bug in Solaris 8 strtold, which converts "0.9" and "0.9000000000000" correctly, but incorrectly converts "0.90000000000000000000" to a smaller value. 2008-10-24 Eric Blake group-list: avoid compiler warning * src/group-list.c (print_group_list) [!HAVE_GETGROUPS]: Always return value. 2008-10-23 Jim Meyering ls: use '.' (not +) as SELinux-only alt. access flag in ls -l output * src/ls.c (gobble_file) [long_format]: Map SELinux-only to '.', any other nonempty combination of MAC and ACL to '+', and all else to the usual ' '. Suggested by Michael Stone. * tests/misc/selinux: Adapt: expect '.', not '+'. * doc/coreutils.texi (What information is listed): Document this. * NEWS (Changes in behavior): Mention it. 2008-10-22 Pádraig Brady Remove lzma as a specific build requirement * bootstrap.conf: lzma was added as a build requirement in the recently added build tools requirements check. Remove that as it's quite new and also only required for the make dist stage. 2008-10-22 Paul Eggert * src/ls.c (usage): Describe exit statuses more concisely. 2008-10-22 Pádraig Brady Add better checks and docs for build tools Prompted by a report from Ed Avis: * README-hacking: Organise LZMA and Valgrind as as optional requirements rather than in their own sections. Mention bootstrap will now check tool versions. * README-prereq: Make a start on specific instructions for optaining build tools. Currently we just have notes for Fedora linux. * bootstrap.conf: Add the list of tools and versions required. * bootstrap: Add the logic to check for the required tools, and list all required tools and versions if any are missing. 2008-10-22 Jim Meyering clean up gl/modules/selinux-at * gl/modules/selinux-at: Ensure that LIB_SELINUX is cleared, in case it's set in the environment. m4-quote the first two args to AC_SEARCH_LIBS. Don't violate autoconf's ac_ namespace: s/ac_save/gl_save/ Drop the useless double quotes around a simple assignment RHS. 2008-10-21 Jim Meyering move selinux-h module from gl/ to gnulib * gl/lib/se-context.in.h: Remove file. * gl/lib/se-selinux.in.h: Likewise. * gl/m4/selinux-context-h.m4: Likewise. * gl/m4/selinux-selinux-h.m4: Likewise. * gl/modules/selinux-h: Likewise. prepare to move selinux-h module to gnulib * gl/modules/selinux-h (Makefile.am) [selinux/selinux.h, selinux/context.h]: Remove temporary file and target, in case they're read-only. Use $(MKDIR_P), not mkdir -p. (License): Relax to LGPLv2+. Remove vestigial comments. tests: test today's ls-vs-capability fix Test for this fix: f3f1ccfd871ee395e7fafc051c1b7dedb39fdfc9. * tests/Makefile.am (TESTS): Add ls/no-cap. * tests/ls/no-cap: New file. 2008-10-21 Kamil Dudka ls: make it possible to disable file capabilities checking * ls.c (print_color_indicator): Do not check for file capability if that attribute is not being colored. Since 84f6abfe00b4ab533145623638b417a2221f9c75, ls --color would check each file for "capabilities". In , James Antill reported that ls --color seemed slower with capabilities detection. 2008-10-21 Jim Meyering reflect gnulib's removal of lstat.h * src/copy.h: Don't include "lstat.h". * src/ls.c: Likewise. * src/remove.c: Likewise. * src/rm.c: Likewise. 2008-10-20 Pádraig Brady expr: Fixup authors * src/expr.c: Standardise the format of AUTHORS to that used in other utils with multiple authors. Also add Paul Eggert since he basically rewrote it with his bignum fixes. * AUTHORS (expr): Add Paul Eggert. 2008-10-19 Jim Meyering accommodate gnulib header removals * src/copy.c: Don't include "euidaccess.h" or "lchmod.h". * src/cp.c: Don't include "lchmod.h". * src/ls.c: Don't include "dirfd.h". * src/mkdir.c: Don't include "lchmod.h". * src/pwd.c: Don't include "dirfd.h". * src/remove.c: Don't include "dirfd.h" or "euidaccess.h". * src/test.c: Don't include "euidaccess.h". * gl/modules/getloadavg.diff: Adjust diff for changed context. * src/uptime.c (uptime): Remove declaration. 2008-10-18 Jim Meyering * maint.mk (coreutils-path-check): New definition, now run only if src/true.c exists. Factored out of... (my-distcheck): ...here. 2008-10-17 Jim Meyering maint: avoid warning in ls.c * src/ls.c (has_capability) [!HAVE_CAP]: Add unused attribute. maint: avoid warnings due to attribute warn_unused_result Now that a (void) cast no longer suffices to ignore warnings from gcc about uses of functions marked with the warn_unused_result attribute, we need an alternative. For the record, here's one of the ignorable warnings: "copy.c:233: warning: ignoring return value of 'fchown', declared with attribute warn_unused_result" * bootstrap.conf (gnulib_modules): Import ignore-value. * src/copy.c: Include "ignore-value.h". (set_owner): Use ignore_value in place of "(void)" casts, to ignore lchown and fchown failures. * src/cp.c (re_protect): Likewise, to ignore lchown failure. * src/remove.c (preprocess_dir): Remove unnecessary "(void)" cast. 2008-10-16 Jim Meyering mktemp: diagnose freopen failure * src/mktemp [--quiet]: Don't ignore freopen failure. 2008-10-16 Paul Eggert * src/mktemp.c (main): Add 'const' twice to avoid GCC warning. 2008-10-16 Jim Meyering build: when po-check fails, say why and suggest a fix * maint.mk (po-check): Before, when this check failed, it just spat out a diff mentioning two temporary files. Now, it tells you what's wrong and suggests a fix with a patch using the name of the affected file (rather than temporary file names) in the diff output. 2008-10-16 Eric Blake csplit: prefer sigaction over signal * bootstrap.conf (gnulib_modules): Import sigaction. * src/csplit.c (sigprocmask, siginterrupt) [SA_NOCLDSTOP]: Delete workarounds. (interrupt_handler, main): Drop use of signal. Rely on sigaction to block fatal signal during cleanup, and to restore it to default in case of nested signals. 2008-10-15 Pádraig Brady tests: add option processing tests for 'expr' * tests/misc/expr: Add tests for various combinations of options where the first part of the expression could be confused with an option. 2008-10-15 Paul Eggert expr: remove --bignum and --no-bignum options * doc/coreutils.texi (expr invocation): Remove the --bignum and --no-bignum options. They weren't really needed, and they broke longstanding (albeit nonportable) scripts. * src/expr.c: Don't include . Include "inttostr.h", "long-options.h", "verify.h". Check at compile-time that size_t fits in unsigned long int, as the code assumes this in several places. (HAVE_GMP): Define to 0 if not defined, for convenience. (mpz_t, mpz_clear, mpz_init_set_ui, mpz_init_set_str, mpz_add): (mpz_sub, mpz_mul, mpz_tdiv_q, mpz_tdiv_r, mpz_get_str, mpz_sgn): (mpz_fits_ulong_p, mpz_get_ui, mpz_out_str): Supply substitutes when !HAVE_GMP, which work well enough for expr's purposes. (mp_integer): Remove. All integers are gmp, if gmp is available. (struct valinfo): Remove 'z' member; no longer needed. The 'i' member is always of type mpz_t. (enum arithmetic_mode, MP_NEVER, MP_ALWAYS, MP_AUTO, mode): Remove; no longer needed. (usage): Remove documentation of --bignum and --no-bignum. (integer_overflow): Abort if error misbehaves, to pacify GCC. Restore old message on arithmetic overflow, to be conservative. (die): Omit exit_status parameter; not needed (is always EXPR_FAILURE). (string_too_long, USE_BIGNUM, NO_USE_BIGNUM, long_options): Remove; no longer needed. (main): Don't use getopt_long; this breaks old nonportable scripts. (int_value): Arg is unsigned, in case we have strings whose length exceeds LONG_MAX (!). (int_value, freev, printv, null, tostring, toarith): (eval6, eval4, eval3): Always use mpz_ functions, to simplify the code. (substr_value): Remove; no longer needed. (getsize): Simplify the API: one arg rather than 3. Don't assume unsigned long int fits in size_t. (promote, domult, dodivide, doadd): Remove; no longer needed. * tests/misc/expr: Don't use --bignum to test for bignum support. Instead, use big numbers to test this. 2008-10-15 Jim Meyering expr: don't interpret argv[0] as an operand * src/expr.c (main): Given a first argument like -22 (negative, with two or more digits), expr would decrement optind to 0 and then attempt to evaluate argv[0]. doc: cp, mv: remove mention of deprecated --reply= option * doc/coreutils.texi (cp invocation, mv invocation): Don't mention it. 2008-10-13 Jim Meyering doc: adjust spacing in ls --help output, for better man formatting * src/ls.c (usage): Adjust spacing so the "Exit status:" list renders well in the help2man-generated man page. 2008-10-13 OndÅ™ej Vašík doc: ls: clarify exit status description * src/ls.c (exit_status): Clarify comments. (usage): Clarify exit status description in --help output. * doc/coreutils.texi (ls invocation): Clarify exit status documentation Reported by Greg Metcalfe in . 2008-10-12 Jim Meyering doc: reorder tsort/ptx nodes so body and menu ordering are consistent * doc/coreutils.texi (tsort invocation, tsort background): Move these nodes "down", so that they follow the ptx nodes, thus matching the alphabetized order in the menu. (tsort background): Make this a subsection. Suggested by Karl Berry. tests: move check-misc targets from src/Makefile.am to maint.mk * src/Makefile.am (check): Remove check-misc. (check-misc): Remove target. * maint.mk (sc_prohibit_stat_st_blocks): New target. (sc_prohibit_S_IS_definition): New target. * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_stat_st_blocks. * .x-sc_prohibit_stat_st_blocks: New file. Andreas Schwab reported that "make check" could fail to detect violation of the no-S_IS*-definition policy. tests: df: avoid test failure when using mawk * tests/df/total-awk: Rewrite to use $PERL, not $AWK. mawk can't even count above 2^31. Reported by Ed Avis. http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14792/focus=14802 * tests/df/total-verify: Rename from total-awk. * tests/Makefile.am (TESTS): Reflect renaming. 2008-10-10 Jim Meyering bootstrap: merge from gnulib 2008-10-07 OndÅ™ej Vašík doc: document runcon and chcon in SELinux context section * doc/coreutils.texi: Document runcon and chcon. Add minimal SELinux context section. 2008-10-06 OndÅ™ej Vašík chcon: remove traces of unimplemented --change (-c) option This option was never supported in upstream coreutils. * chcon.c (usage): Remove --change (-c) from help message. (main): Remove 'c' from getopt string. Remove related and now-unused enums. 2008-10-06 Andreas Dilger stat: add lustre filesystem type * src/stat.c (human_fstype) [S_MAGIC_LUSTRE]: Add case. Make "stat -f" recognize the "Lustre" filesystem type. * NEWS: Mention this feature. 2008-10-06 Jim Meyering remove.c: avoid compile failure on OS/2 * src/remove.c (dirent_inode_sort_may_be_useful): Guard also with "#if defined __linux__". Reported by Elbert Pol. 2008-10-05 Jim Meyering post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 7.0 * NEWS: Record release date. * maint.mk (alpha beta major): Add "-a" to git commit ... command. 2008-10-04 Jim Meyering tests: fix the install/strip-program test * tests/install/strip-program: Use $PREFERABLY_POSIX_SHELL, not POSIX_SHELL. The latter may be empty, and would fail on OpenBSD 3.9. * tests/check.mk (TESTS_ENVIRONMENT): Propagate PREFERABLY_POSIX_SHELL to tests. 2008-10-03 Jim Meyering timeout.c: don't use perror; exit 125 upon failed fork * src/timeout.c (main): Use "error", not perror. Elbert Pol noticed a build failure on OS/2. * src/timeout.c (main): Exit 125 (not errno) upon failed fork. Make the failed fork diagnostic match the one from install.c. 2008-10-03 Kamil Dudka ls and sort: use filevercmp instead of strverscmp * src/ls.c (cmp_version): Use filevercmp instead of strverscmp. * src/sort.c (usage): Remove mna reference to strverscmp(3). (compare_version): Use filevercmp instead of strverscmp. * bootstrap.conf: Add filevercmp to list of gnulib modules. * tests/misc/sort-version: Remove conflicting string and enhance test. * NEWS: Mention the change. 2008-10-02 Jim Meyering tests: skip a root-only test when configured without libcap * tests/ls/capability: Test for HAVE_CAP definition in config.h. 2008-10-02 Eric Blake ignore additional built file remove.c: allow compilation on cygwin * src/remove.c (dirent_inode_sort_may_be_useful) [!HAVE_STRUCT_DIRENT_D_TYPE]: Elide definition when there is no point in trying to use it. 2008-10-02 Jim Meyering bootstrap: merge from gnulib * bootstrap: add submodule support, git-merge-changelog 2008-10-01 Jim Meyering remove.c: combine two helper functions, to avoid sign-extension * src/remove.c (fs_handles_readdir_ordered_dirents_efficiently): Remove function, so as not to have to worry about the type of statfs.f_type and sign extension. (dirent_inode_sort_may_be_useful): Adjust comment. Perform the switch directly on the struct.member here, instead. Andreas Schwab spotted the potential for a sign-extension bug, that happens not to bite for the S_* f_type values currently used. rm: don't preprocess a directory on a file system of type tmpfs or nfs The preprocessing phase is not necessary on tmpfs, and induces a 20% performance decrease when removing a 2M-entry directory. * src/remove.c (fs_handles_readdir_ordered_dirents_efficiently): (dirent_inode_sort_may_be_useful): New functions from gnulib/fts.c. They'll probably become a gnulib module -- eventually. (preprocess_dir): Use dirent_inode_sort_may_be_useful. tests: use our new timeout program * tests/rm/ext3-perf: Also, record set-up duration and FS type. 2008-09-29 Ralf Wildenhues fix make variable quotation error * tests/check.mk (TESTS_ENVIRONMENT): Quote shell variable $tmp__, fix expansion. 2008-09-29 Jim Meyering seq: solve e13188e7ef7bbd609c1586332a335b4194b881aa more cleanly * src/seq.c (print_numbers): Don't switch c_strtold -> strtold in order to accommodate the locale-dependent behavior of our internal asprintf use. Instead, simply set the locale to C before calling asprintf, and then set it back afterwards. 2008-09-28 Jim Meyering build: avoid spurious valgrind warning about uses of touch * .vg-suppressions (utimensat-NULL): Avoid bogus valgrind warning that appears on at least Fedora 9. mktemp: plug an inconsequential leak * src/mktemp.c (main) [lint]: Free template. THANKS: add Erik Auerswald 2008-09-28 Eric Blake remove.c: avoid compiler warning * src/remove.c (compare_ino, dirent_count) [!HAVE_STRUCT_DIRENT_D_TYPE]: Mask declaration when unused. 2008-09-26 Jim Meyering rm -r: avoid O(n^2) performance for a directory with very many entries This enhancement works around a problem that is specific to at least ext3 and ext4 file systems. With them, it would take hours to remove a two-million-entry directory. RAM-backed file systems (tmpfs) are not affected, since there is no seek penalty. * remove.c (rm_malloc, rm_free, compare_ino): New functions. (dirent_count, preprocess_dir): New function. [struct readdir_data]: New struct. (remove_cwd_entries): Call preprocess_dir. * tests/rm/ext3-perf: New file. Test for the performance fix. * NEWS: mention the new feature 2008-09-26 Jim Meyering remove.c: don't use xmalloc; don't let obstack call exit on failure (obstack_chunk_alloc, obstack_chunk_free): Don't define. (top_dir): Param is no longer "const". Use malloc, not xmalloc, and call longjmp upon failed malloc. (obstack_init_minimal): New function. (ds_init): Don't use xmalloc. Instead, use caller-supplied buffer. Use obstack_specify_allocation_with_arg, not obstack_init, so that we control what happens upon allocation failure. Arrange for ds_free not to free uninitialized if/when any obstack_specify_allocation_with_arg allocation fails. (ds_free): Don't free DS, now that it's no longer malloc'd. (rm): Allocate DS on the stack. Arrange to handle ds_init allocation failure. step1 2008-09-26 Jim Meyering * maint.mk (my-distcheck): remove duplicate c99-related test code maint: allow more C99 constructs; stop maintaining c99-to-c89 patch set * cfg.mk (local-checks-to-skip): Add patch-check. With the recent changes to remove.c, I no longer wish to maintain the c99-to-c89 patch set. 2008-09-26 Jim Meyering seq -0.1 0.1 2: print final number when locale's decimal point is "," * src/seq.c (print_numbers): Use strtold, not c_strtold to convert from just-formatted-using-asprintf string back to double, since asprintf may have used something other than "." as the decimal point. Reported by lsof@nodata.co.uk as . Thanks to OndÅ™ej Vašík for discovering that the bug was locale-related. $ LC_ALL=cs_CZ.UTF-8 seq -0.1 0.1 2|grep 2.0 [Exit 1] $ seq -0.1 0.1 2|grep 2.0 2.0 * tests/check.mk (TESTS_ENVIRONMENT): Add LOCALE_FR_UTF8, for... * tests/misc/seq [locale-dec-pt]: New test for the above. * NEWS (bug fix): Mention it. 2008-09-26 Jim Meyering maint: relax a check so "make distcheck" succeeds again * maint.mk (makefile-check): Relax the check, in order to exempt the necessary use of a sole @...@-delimited Makefile.am variable. 2008-09-24 Jim Meyering maint: avoid using find -name Makefile.am; could get false positives * maint.mk (makefile-check): Instead, search for the offending @...@ construct only in version-controlled files. 2008-09-24 Benno Schulenberg pinky: gettextize two missed strings Additionally differentiate the strings for unknown idle time and unknown real name so they can be translated differently. 2008-09-24 Jim Meyering cp.c: adjust a comment to make it consistent with documentation '-a' is equivalent to -dpR, so s/-dpPR/-dpR/; the -P is redundant, since -d already implies -P, and both --help and "info cp" say -dpR: Corresponding doc changes: 080ac7785071c7f135711a39e57c71d9057d9bd7 b7c2db676635518c06add0dd570543ae83e21f2e. 2008-09-22 Ralf Wildenhues fix installation with ./ginstall in src * src/Makefile.am (cu_install_program): New variable, set to either ./ginstall or @INSTALL_PROGRAM@ (for cross compilation). (INSTALL_PROGRAM): Override AC_SUBST unconditionally, to avoid warning, and wrong initialization order. 2008-09-22 Benno Schulenberg doc: alphabetize 'who's option descriptions * doc/coreutils.texi (who invocation): Alphabetize. 2008-09-19 Benno Schulenberg who --help: add a general description uptime --help: put together message parts that belong together tr --help: gettextize a single paragraph as a single string Breaking a paragraph into several strings is awkward for translators. tail: gettextize the string, "standard input" tail --help: move the --retry entry into alphabetical order * src/tail.c (usage): Also simplify --retry description, split a long string in two, remove a stray period, and add the usual indent. shred --help: lowercase a stray capital stty --help: correct the alignment of an entry * src/stty.c (usage): Also remove a stray period, and ungettextize a debugging message. sort --help: sort the options better alphabetically Take the opportunity to split the long message into three parts. rmdir --help: use lower case in option description; adjust indentation remove.c: move comment to right before string, so gettext will pick it up pr --help: elide arguments after short options that allow a space * src/pr.c (usage): Also, put the -S option with its description. od: ungettextize debugging messages nohup, remove, tr: also gettextize the alternative messages od --help: avoid concatening two messages without a newline src/od.c (usage): Better: make them into two separate paragraphs. mkfifo, mknod --help: put -Z option in its alphabetical position Options are normally sorted by their short form, not their long form. Also line up their descriptions. 2008-09-19 Jim Meyering doc: coreutils.texi (csplit invocation): Add an example. 2008-09-14 Ralf Wildenhues various VPATH-related fixes * maint.mk (VC_LIST): Prepend '$(srcdir)/'. (patch-check): Fix to make it work with a VPATH build. * src/Makefile.am (sc_tight_scope): Likewise. * man/Makefile.am (.x.1): Do not make outputs unwritable. 2008-09-14 Jim Meyering stat: remove obsolete and undocumented option, --filesystem * src/stat.c: Remove obsolete and undocumented --filesystem. 2008-09-13 Jim Meyering tests: reenable disabled test, now that automake can handle it This reverts the change in ae1c205fc473589d028ef63785926263843555cd. 2008-09-11 Jim Meyering tests: temporarily disable part of "make distcheck" * maint.mk (install-transform-check): Temporarily disable. tweak wording and check to avoid failure * doc/coreutils.texi (printf invocation): Tweak wording. * doc/Makefile.am (check-texinfo): Allow "search path". 2008-09-10 Jim Meyering doc: mention which commands may be built-in functions * doc/coreutils.texi (mayConflictWithShellBuiltIn): New macro. (mknod invocation, stat invocation, echo invocation) (printf invocation, test invocation, pwd invocation) (nice invocation, kill invocation, sleep invocation): Use it. (printf invocation): Invoke via "env" rather than using a literal /usr/local/bin/ prefix in examples. 2008-09-10 Ralf Wildenhues simplify installation rules, using new Automake This relies on development Automake to provide multi-file installation, and avoids relying on undocumented Automake interfaces. It also removes special-casing for `['. * configure.ac (AM_INIT_AUTOMAKE): Depend on 1.10a. (CROSS_COMPILING): New Automake conditional. * src/Makefile.am (install-exec-am, filtered_PROGS) (d_bindir, cu-install-binPROGRAMS): Remove. (INSTALL_PROGRAM) [!CROSS_COMPILING]: Set to `./ginstall'. fix minor shell issues in test suite * tests/misc/help-version: Fix bad quoting. * tests/cp/same-file: Fix unportable shell quoting. * tests/mv/part-symlink: Likewise. 2008-09-10 Jim Meyering tests: don't use "local" in bourne shell scripts * tests/test-lib.sh (remove_tmp_, skip_if_mcstransd_is_running_): Avoid failure on Solaris 11, since their /bin/sh passes the tests in posix-shell.m4, yet does not support "local" (which is not POSIX). 2008-09-10 Jim Meyering tests: use "Exit $fail", not (exit $fail); exit $fail * tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63 * tests/**: Convert all uses: This restrictive change converted the vast majority: git grep -l '^(exit \$fail); exit \$fail$' \ | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/' And this did the rest, plus a few undesirable ones, so I manually backed out the changes to ChangeLog-* and build-aux/check.mk: git grep -l -E '\(exit [^)]+\); exit ' \ | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/' 2008-09-08 Jim Meyering tests: move input-tty into a test-lib.sh function * tests/test-lib.sh (require_controlling_input_terminal_): New function, from * tests/input-tty: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Remove input-tty. * tests/mv/i-3: Use the function, not the file. * tests/misc/stty: Likewise. * tests/misc/stty-row-col: Likewise. * tests/misc/stty-invalid: Likewise. 2008-09-07 Jim Meyering tests: work around Solaris 11 bug * tests/misc/printf-surprise: Accept bogus prefix on stderr output. tests: don't let rounding-to-1KB blocks provoke a failure * tests/df/total-awk: Use df's --block-size=512 option. tests: don't fail due to built-in sleep from Solaris 11's /bin/sh * tests/misc/help-version (id_args): Invoke via env to ensure we run the just-built version of sleep. 2008-09-06 Kamil Dudka install: new option: --strip-program, ...to specify the program used to strip binaries * src/install.c (main): Handle new option --strip-program. (strip): Use strip program from global variable strip_program. (usage): Mention new option --strip-program in --help. * tests/tests/strip-program: Test case for new option --strip-program. * tests/Makefile.am: Add new test case to test set. * doc/coreutils.texi: Mention new option --strip-program. * NEWS: Mention the change. * TODO: Remove completed task. 2008-09-03 Kamil Dudka df: new option: --total to print grand totals * src/df.c (add_uint_with_neg_flag): New function to add two integral values with separate negation flag. (show_dev): New parameter force_fsu to display numbers directly. Collect summary statistics on each printed device. (usage): Mention new option --total in --help. (main): Initialize summary on program start. Handle new option --total. * tests/df/total: Dummy test case for new --total option. * tests/df/total-awk: Better test case for new --total option (requires awk). * doc/coreutils.texi: Mention new parameter --total. * NEWS: Mention the change. * TODO: Removed completed task. 2008-09-03 Jim Meyering TODO: add an item for a chmod optimization 2008-08-31 Jerry Snitselaar env, groups: remove duplicate inclusion of * src/env.c: Remove redundant #include. * src/groups.c: Likewise. Tiny change. 2008-08-26 Jim Meyering generate version.c and version.h * src/Makefile.am (version.c, version.h): New rules. Generate. (nodist_libver_a_SOURCES): Define * .gitignore: Add src/version.c and src/version.h. (DISTCLEANFILES): Add version.c and version.h. use new global, "Version", rather than macro, VERSION With this change, a version-string update no longer forces recompilation of 100+ src/*.o files. * src/version.c (Version): New global. New file. * src/version.h: Declare it. * src/Makefile.am: Put it in a library that everyone links to. (noinst_LIBRARIES, libver_a_SOURCES): Define. (LDADD): Add libver.a. (sc_tight_scope): Use perl (was sed), and a more relaxed regexp to build the global-variable-name-recognizing regexp list. * src/system.h: Include "version.h". (case_GETOPT_VERSION_CHAR): Use Version rather than VERSION. * src/basename.c (main): Use Version rather than VERSION. * src/chroot.c (main): Likewise. * src/cksum.c (main): Likewise. * src/dd.c (main): Likewise. * src/dirname.c (main): Likewise. * src/echo.c (main): Likewise. * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/link.c (main): Likewise. * src/logname.c (main): Likewise. * src/nice.c (main): Likewise. * src/nohup.c (main): Likewise. * src/printenv.c (main): Likewise. * src/printf.c (main): Likewise. * src/pwd.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/sleep.c (main): Likewise. * src/sync.c (main): Likewise. * src/test.c (main): Likewise. * src/timeout.c (main): Likewise. * src/true.c (main): Likewise. * src/tsort.c (main): Likewise. * src/unlink.c (main): Likewise. * src/uptime.c (main): Likewise. * src/users.c (main): Likewise. * src/whoami.c (main): Likewise. * src/yes.c (main): Likewise. bootstrap: preserve permissions of more copied files * bootstrap (cp_mark_as_generated): Preserve perms of copied files. Remove a kludge, now that this is fixed. 2008-08-23 Bruno Haible doc: clarify wc -L documentation * doc/coreutils.texi (wc invocation): Explain what the -L option measures. 2008-08-20 Eric Blake ls: adjust to gnulib change * src/ls.c (includes): "strverscmp.h" no longer exists. 2008-08-19 Eric Blake .gitignore: ignore more files * .gitignore: Ignore directories created by gnulib. .gitattributes: generalize * .gitattributes: Relax the glob pattern, so it matches *.texinfo, too. Suggest a POSIX BRE, rather than one that uses the GNU extension, \\+. sort: improve usage wording * src/sort.c (usage): Mention that -k defaults to end of line if POS2 omitted. * THANKS: Update. Reported by Tim Ryan. 2008-08-15 Jim Meyering adjust 2008-08-15 Bruce Korb sort: new option, --sort=version, for version number ordering * src/sort.c [struct keyfield] (version): New member. (usage): Describe --version-sort. (sort_options): Add 'V'. (long_options): Add "version-sort". (CHECK_TABLE, _ct_, SORT_TABLE, _st_): Define new macros. (check_args, sort_args, sort_types): Use these new macros in declarations. (ARGMATCH_VERIFY): Remove use. No longer needed. (compare_version): New function. (key_compare): Add a case. (check_ordering_compatibility): Handle new type. (main): Likewise. Reformat two expressions for readability. * tests/misc/sort-version: new test file * tests/Makefile.am: add it to the list * doc/coreutils.texi (sort invocation): Document it. * NEWS: Mention the new feature. 2008-08-14 Jim Meyering set envvars via "env" to avoid spurious set -x output from bad shells * tests/dd/misc: Set LC_ALL=C via env. * tests/cp/thru-dangling: Set POSIXLY_CORRECT via env. This is necessary at least on AIX 5.3. Reported by Jeph Cowan and Ralf Wildenhues. Details here: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257 "expr --bignum 1" now fails when expr is built without libgmp * src/expr.c (main): When --bignum is requested, yet expr was built without libgmp, exit nonzero (3) in addition to giving a diagnostic. mktemp, sort, tac: don't use undefined after mkstemp failure When mkstemp fails, the template buffer may have undefined contents, so we must not print it. * src/sort.c (create_temp_file): Use temp_dir, not "file" when diagnosing failed mkstemp, because "file" may be undefined. * tests/misc/sort-merge: Adjust for new expected output. Jeph Cowan and Ralf Wildenhues reported the test failure: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257 * src/tac.c (copy_to_temp): Don't use template buffer after failed mkstemp call, since its contents may be undefined. * tests/misc/tac (pipe-bad-tmpdir): New test for the above. * src/mktemp.c (main): Save a copy of the template string, solely for use in case mkstemp fails. * tests/misc/mktemp (pipe-bad-tmpdir): New test for the above. 2008-08-12 Benno Schulenberg kill: micro grammar nit in description of SIGNAL groups: let synopsis show that the command allows multiple usernames Also make the docstring say so. id: remove superfluous condition test; it is caught at -Z above id: gettextize a few missed tiny strings fmt: remove the 'no file' sentence; the standard phrase is given below Replace the sentence with a more useful explanation of -DIGITS. 2008-08-11 Benno Schulenberg echo: correct description of \c * src/echo.c (usage): Correct description of \c. * coreutils.texi (echo invocation): Likewise. * src/echo.c: Remove --help-duplicating comment. doc: the quote operator for expr is '+', not 'quote' factor: remove duplicate docstring; use the more detailed one echo: gettextize the alternative option description too dd: clarify meaning of multiplication factors; put xM in order doc: remove stray word from date's field width description date: remove confusing and unneeded sentence from --help It makes it unclear what 'sequences' refers to, and the -u option already says enough. printenv: say what it does when variables are specified doc: put the exitstatus paragraph in a better place * doc/coreutils.texi (tsort invocation): move two lines cp: move a newline to make second message identical to others who: Gettextize two forgotten strings 2008-08-10 Jim Meyering sort: remove unnecessary declaration of strtod * src/sort.c (STDC_HEADERS): Remove declaration of strtod. sort: avoid erroneous cast * src/sort.c (OPEN_MAX): Define if not already defined. (MAX_NMERGE): Remove definition. (specify_nmerge): Don't cast MAX_NMERGE (of type size_t) to unsigned int. Instead, use OPEN_MAX as the fall-back value. sort: don't print uninitialized in diagnostic * src/sort.c (specify_nmerge): Do use uinttostr value. Provoke with e.g., sort -m --batch-size=18446744073709551617 Omit quotes around known-numeric value in diagnostic. * tests/misc/sort-merge [nmerge-big]: Tighten ERR_SUBST regexp to require a numeric value in that diagnostic, so this particular failure cannot reappear. 2008-08-09 Jim Meyering * .gitattributes: Better diff output for texinfo sources. dd.c: reduce duplication in new O_FULLBLOCK-defining code * src/dd.c (MULTIPLE_BITS_SET): New macro, extracted from... (multiple_bits_set): ...this function. Use a single-line, and far simpler expression (no need to list all O_* symbols again) to validate the derived O_FULLBLOCK value. * coreutils.texi (factor invocation, expr invocation): Adjust wording. expr: avoid compiler warnings * src/expr.c (die): New "noreturn" function to wrap one-arg use of error (string_too_long): Use die rather than error. (toint): Remove definition of now-unused function. (eval6): Remove a little duplication. Use die rather than error. (dodivide): Remove declaration of now-unused variable. * tests/misc/expr: Add tests of the new GMP-based code. 2008-08-06 James Youngman expr: support arbitrary-precision arithmetic * src/Makefile.am (expr_LDADD): Link expr against GNU MP. * doc/coreutils.texi (expr invocation): Describe --bignum, --no-bignum. Explain the new arbitrary-precision functionality. * NEWS: Indicate that arbitrary-precision arithmetic is now supported in expr. * src/expr.c (enum valtype): Added mp_integer, signifying a GNU MP number. (usage): Document the new options --bignum and --no-bignum which force and prohibit the use of arbitrary-precision arithmetic, respectively. (long_options): data structure for getopt_long, which we need to use to parse the options mentioned above. (main): parse these options with getopt_long instead of parse_long_options. (valinfo): Downgrade the numeric member of the union from intmax_t to signed long, since MP lacks functions for promoting an intmax_t to an arbitrary-precision quantity. (enum arithmetic_mode): Represents the current choice between --bignum, --no-bignum and the default (automatically switch from one to the other if needed). (integer_overflow): issue a more explicit error message indicating that MP is not available. (string_too_long): new function, emits a fatal error message for the case where an argument to the 'index' expression is too long for a string offset to be represented. (int_value): With --bignum, create the value as mp_integer rather than plain integer. (substr_value): factored out of eval6; implements "substr". (freev): also destroy mp_integer values. Check that no mp_integer values exist if --no-bignum was specified. (printv, null, tostring): support mp_integer. (toint): new funtion for converting from string or mp_integer to integer. (getsize): extracts a size_t value from a VALUE object; used to implement substr. (promote): promotes a value from integer to mp_integer. (domult, dodivide): functions for multiplication and division, factored out of eval4. (doadd): addition/subraction function, factpred out of eval3. (eval3): support mp_integer types; call doadd. (eval4): support mp_integer types; call domult, dodivide. (eval6): support mp_integer offsets and lengths for "substr" and "index". * TODO: Mention that expr supports arbitrary-precision arithmetic, and suggest that this might also be a good idea for seq. * AUTHORS (expr): Add James Youngman. doc: mv,cp: undocument the --reply option * doc/coreutils.texi (mv invocation): Remove documentation for mv --reply. (cp invocation): Likewise. * NEWS: mention this. document the supported baud rates beyond 38400 * doc/coreutils.texi (Special): Document the supported baud rates beyond 38400. 2008-08-05 John David Anglin ls: ignore spurious getfilecon failure due to lack of SELinux support * src/ls.c (gobble_file): Upon failed getfilecon, treat an errno value of EOPNOTSUPP just like ENOTSUP. See . 2008-08-05 James Youngman Document uptime. * doc/coreutils.texi (uptime invocation): document uptime. * TODO: uptime is documented now. * src/uptime.c (print_uptime): Use fprintftime to print the time, rather than printf. This should make the situation better for translations. 2008-08-04 Benno Schulenberg doc: correct and normalize --help output of several tools * src/chroot.c (usage): Add "[ARG]" to synopsis. * src/cut.c (usage): Remove an inconsistent period in an option description. * src/du.c (usage): Remove superfluous argument after short option -X. Also remove inconsistent uppercase and final period. Use a single indent level for prettiness. * src/shred.c (usage): Normalize the synopsis. * src/stty.c (usage): Options -F and --file are alternatives, cannot both be used. * src/sum.c (usage): -r does not overrule -s; the last one counts. * src/uptime.c (usage): Remove inconsistent space from the synopsis. * src/users.c: Likewise. 2008-08-04 Jim Meyering false: mark "false" description for translation * src/true.c (usage): Mark both strings with N_, so that the one for "false" is also extracted for translation. For consistency, mark both, although only the latter one needed it. Inspired by a patch from Benno Schulenberg. 2008-08-04 James Youngman factor: credit Torbjörn Granlund * src/factor.c: Credit Torbjörn Granlund as the author of the arbitrary-precision factorization code. 2008-08-03 Jim Meyering doc: make it clear we're talking about the Linux kernel * doc/coreutils.texi (mv invocation): tweak wording 2008-08-02 Ralf Wildenhues tests: fix build-aux/check.mk for non-GNU make * build-aux/check.mk ($(TEST_LOGS)) [!GNU_MAKE]: Check for a $(TESTS) test in the build dir, before one in srcdir. For details, see . * bootstrap: Fix unportable expr usage. 2008-08-01 Kamil Dudka ls: --color now highlights files with capabilities, too * src/ls.c: [HAVE_CAP] Include . (has_capability): New function for capability detection. (print_color_indicator): Colorize file with capability. * m4/jm-macro.m4: New configure option: --disable-libcap. Check for libcap usability. * src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP). * src/dircolors.c: Update color lists. * src/dircolors.hin: Mention new CAPABILITY color attribute. * tests/ls/capability: Test for ls - colorize file with capability. * tests/Makefile.am (root_tests): Add ls/capability. * NEWS: Mention the change. 2008-08-01 James Youngman factor arbitrarily large numbers * m4/gmp.m4: New file; adds cu_GMP, which detects GNU MP. * configure.ac: Use cu_GMP. * src/Makefile.am: Link factor against libgmp if available. * src/factor.c: Use GNU MP if it is available. (emit_factor, emit_ul_factor, factor_using_division, factor_using_pollard_rho, extract_factors_multi, sort_and_print_factors, free_factors): new functions for the arbitrary-precision implementation, taken from an example in GNU MP. (factor_wheel): Renamed; was called factor. (print_factors_single): Renamed; was called print_factors. (print_factors): New function, chooses between the single- and arbitrary-precision algorithms according to availability of GNU MP and the length of the number to be factored. (usage, main): New options --bignum and --no-bignum. * coreutils.texi (factor invocation): Document new command-line options for the MP implementation and update the performance numbers to take into account the asymptotically faster algorithm. * TODO: Remove item about factoring large primes (it's done). * m4/gmp.m4: Add support for --without-gmp. * NEWS: Mention the new feature. 2008-08-01 Kamil Dudka ls -U1 now uses constant memory When printing one name per line and not sorting, ls now uses constant memory per directory, no matter how many files are in the directory. * ls.c (print_dir): Print each file name immediately, when possible. * NEWS: Mention the improvement. 2008-07-30 Jim Meyering * timeout.c: Fix grammar in a comment. Normalize comment syntax. 2008-07-28 Jim Meyering bootstrap: work also when there are no .po files in po/ * bootstrap (update_po_files): Complete the change that I began in 7ba2dd808232cff3ee76aaceb97f4381c3c9cde4. 2008-07-27 Jim Meyering * NEWS: Move shuf --zero-terminated item into bug-fixes section. 2008-07-27 Mikael Magnusson shuf: correctly document --head-count * src/shuf.c (usage): Correct --help output. * doc/coreutils.texi: Correct option listing. * NEWS: Mention correction. 2008-07-27 Jim Meyering shuf: honor --zero-terminated option even with --input-range=LO-HI * src/shuf.c (write_permuted_output): Add EOLBYTE parameter and use it rather than hard-coding "\n". (main): Adjust sole caller. * tests/misc/shuf: Add a test to exercise this bug fix. * NEWS: Mention it. 2008-07-23 Jim Meyering dd: minor fullblock changes * src/dd.c (O_FULLBLOCK): Define using an enum, not #define. Derive the value, rather than hard-coding to one that might conflict. (usage): Mention iflag=fullblock in --help output. (scanargs): Reset the O_FULLBLOCK bit, so that we don't try to set an undefined attribute via fcntl (fd, F_SETFL, ... * tests/dd/misc: Signal framework_failure when necessary. Use "compare actual expected", so any diffs look "right". * NEWS (dd): Alphabetize and reword. * coreutils.texi (dd invocation): Adjust wording. 2008-07-23 Kamil Dudka dd: new option: iflag=fullblock to accumulate full input blocks * src/dd.c (iread_fullblock): New function for reading full blocks. (scanargs): Check for new parameter iflag=fullblock. (skip): Use iread_fnc pointer instead of iread function. (dd_copy): Use iread_fnc pointer instead of iread function. * tests/dd/misc: Add test for dd - read full blocks. * doc/coretuils.texi: Mention new parameter iflag=fullblock. * NEWS: Mentioned the change. 2008-07-23 Jim Meyering dd: adjust --help output so help2man formats the man page properly * src/dd.c (usage): Use two spaces (not one) to separate "directory" from its description, so help2man formats the derived man page properly. 2008-07-23 Reuben Thomas doc: add example .bashrc code for a ~/.dircolors file * coreutils.texi: Add tip for .bashrc use from Jim Meyering. 2008-07-22 Jim Meyering tests: do not run chmod on a prefix of space-embedded tmpdir * TESTS/test-lib.sh (remove_tmp_): New function. (trap 0): Use it instead of open-coded (and misquoted) version. tests: ensure "make check" w/tainted build dir no longer impacts $HOME * maint.mk (taint-distcheck): New rule. (maintainer-distcheck): Make it. 2008-07-22 Ralf Wildenhues tests: again, do not change the mode of all directories below $HOME * tests/CuTmpdir.pm (chmod_tree): Do not run chmod on undefined argument, can happen when the build path contains spaces. 2008-07-19 Jim Meyering * THANKS: Update, now that I have a name for jemm4jemm. 2008-07-18 Andreas Schwab mknod: correct misplaced -Z description in --help output * src/mknod.c (usage): Put it after the "Mandatory arguments..." line. 2008-07-16 Jim Meyering dircolors.hin: add Ogg/Theora-related extensions * dircolors.hin: Add extensions from http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions Suggestion from jemm4jemm@yahoo.com. * HACKING: describe how to find a misplaced change-set 2008-07-15 Jim Meyering fix two bugs in ptx * src/ptx.c (fix_output_parameters): Don't let before_max_width go negative -- that would cause an infloop in define_all_fields. (main): Don't clobber name[0] with lists of two or more input files. * tests/misc/ptx: New file. Test for the above. * tests/Makefile.am (TESTS): Add misc/ptx. 2008-07-11 Pádraig Brady tests: expand: test for lines starting with both spaces and tabs The expand released in current distributions (Fedora Core 4 - Fedora 9 at least), doesn't expand --initial tabs if spaces are present. tests/misc/expand: Add test to verify --initial works correctly with lines starting with both spaces and tabs. 2008-07-10 Jim Meyering make check: accommodate stricter POSIX-conforming shells Without this, test-related variable settings were not exported to the shell_or_perl_ function when using dash or Solaris 11's /bin/sh. * tests/check.mk (TESTS_ENVIRONMENT): Use an explicit "export", so as not to rely on non-POSIX behavior of some /bin/sh (e.g., bash-based ones). 2008-07-06 Jim Meyering * bootstrap: Remove $bt and $bt2 also when not using gettext. 2008-07-04 Jim Meyering who -r: don't print "last=" when the corresponding byte is unprintable * src/who.c (print_runlevel): Print last=%c only when the "preceding run-level" byte is printable. Reported by Gian Piero De Lolliis in . 2008-07-04 OndÅ™ej Vašík doc: describe who's -p, -r, and -t options * doc/coreutils.texi (who invocation): 2008-07-04 Jim Meyering install with just-built ./ginstall only when not cross-compiling * src/Makefile.am (install-exec-am): ...otherwise, use the default value, $(INSTALL_PROGRAM). Reported by Brian Silverman. * README-hacking: Update the section on LZMA. 2008-06-30 Pádraig Brady truncate: ignore whitespace in --size parameters Without this, `truncate -s '> -1' F` would truncate F to length 0, and `truncate -s " +1" F` would truncate F to 1 byte. Now, the first elicits a diagnostic, and the second works properly. * src/truncate.c: Skip leading white space in the --size option argument and any white space after one of the relative modifiers, so that the presence of a +/- modifier can be detected reliably. * tests/misc/truncate-parameters: Add tests for the above. 2008-06-28 Jim Meyering doc: add "..." to Usage, to indicate there may be multiple OPTIONs * src/base64.c (usage): Likewise. * src/cat.c (usage): Likewise. * src/md5sum.c (usage): Likewise. * src/mkdir.c (usage): Likewise. * src/mkfifo.c (usage): Likewise. * src/split.c (usage): Likewise. * src/stat.c (usage): Likewise. Heiko Marr reported the problem with mkdir. mkfifo: correct misplaced -Z description in --help output * src/mkfifo.c (usage): Put it *after* the "Mandatory arguments..." line. 2008-06-27 Jim Meyering uniq: remove redundant test * src/uniq.c (find_field): Remove redundant test in outer loop- termination expression. Also, add a "const" attribute. 2008-06-27 Pádraig Brady timeout: fix invalid argument tests * tests/misc/timeout-parameters: Remove test for invalid signal number (we don't know what signal numbers are invalid on all systems). Also tweak the other invalid signal check so that the rest of the arguments are correct. 2008-06-27 Jim Meyering avoid a -Wsign-compare warning * src/tee.c (tee_files): Swap fwrite's size/n_elem args and compare the return value against "1". base64: don't rely on feof returning 0/1 * src/base64.c (do_decode): feof is specified to return nonzero, not 0/1, so use "k < 1 + !!feof(in)" as the loop termination test. 2008-06-27 Pádraig Brady truncate: silence -Wsign-compare warnings * src/truncate.c: Cast signed to unsigned to confirm intent which will silence -Wsign-compare warnings 2008-06-27 Jim Meyering factor out time_t-to-string conversion idiom * src/system.h: Include "inttostr.h". (timetostr): New function, factored out of... * src/date.c (show_date): Use timetostr. * src/du.c (show_date): Likewise. * src/ls.c (print_long_format): Likewise. * src/pinky.c (time_string): Likewise. * src/stat.c (human_time): Likewise. * src/*.c: Don't include inttostr.h, since system.h does. * src/c99-to-c89.diff: Adjust offsets. 2008-06-27 Pádraig Brady truncate: Fix integer portability issues * src/truncate.c: Explicitly convert from off_t to intmax_t when printing numbers as they may be different types. Also don't mix size_t and off_t types in operations as the latter will be promoted to unsigned when these types are the same size. 2008-06-26 Jim Meyering tests: adjust c99-to-c89 patch as well as the code to generate it * maint.mk (patch-check) [REGEN_PATCH]: Trim some trailing blanks. * src/c99-to-c89.diff: Adjust shred.c offsets. tests: fix make distcheck failure due to TODO change * maint.mk (po-check): Limit check for e.g., _(...)-marked messages to files matching *.? and *.??, thus excluding TODO and *.diff. * TODO: Add item: remove uses of imaxtostr. 2008-06-26 Peter O'Gorman tests: accommodate difference in an AIX 5.3 diagnostic * tests/mkdir/selinux: Handle different strerror (ENOTSUP) spelling. 2008-06-26 Jim Meyering shred: also ignore EISDIR upon failed fsync/fdatasync on HP-UX * src/shred.c (ignorable_sync_errno): New function. (dosync): Use it. Based on a patch from Peter O'Gorman. * HACKING: use shorter "-1" (over HEAD~1) with git format-patch bootstrap.conf: don't list "open" specifically It is no longer necessary to list it specifically, now that several gnulib modules depend on the "open" module. This reverts commit 3ea1fe588e20f196cc9b9907d5943bd620c6b944. truncate: handle the case in which off_t != intmax_t * src/truncate.c (parse_len): Use a temporary of type intmax_t, rather than off_t; detect out of range [OFF_T_MIN..OFF_T_MAX]. (main) [IF_LINT]: Initialize, to avoid an unwarranted "may be used uninitialized" warning. Reported by Michael Geng. 2008-06-23 Jim Meyering basename: List David MacKenzie as the author. * src/basename.c (AUTHORS): List David as the author. * AUTHORS: Update here, too. 2008-06-23 OndÅ™ej Vašík echo: use AUTHORS from bash's built-in echo * AUTHORS,src/echo.c: Use bash builtin echo authors instead of FIXME unknown 2008-06-22 Jim Meyering use gnulib's "open" module * bootstrap.conf (gnulib_modules): Add open. This is required at least for Solaris 9 and HP-UX 11, to avoid a truncate test failure. For details, see this thread: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13755 stat: warn that the --context (-Z) option (a no-op) is obsolete * src/stat.c (main): It will be removed in a couple years. * NEWS (Change in behavior): Mention this. 2008-06-20 Jim Meyering make "make syntax-check" quieter * maint.mk (po-check, makefile-check, sc_proper_name_utf8_requires_ICONV): Add "@" prefix. 2008-06-20 Bo Borgerson sort: Fix bug where --batch-size option shrank SORT_SIZE. * src/sort.c (specify_nmerge, main): Only adjust SORT_SIZE if it's already set. * tests/misc/sort-merge: Test bug fix. 2008-06-19 Jim Meyering tests: avoid test failure when root's primary group-ID is not 0 * tests/cp/preserve-gid: Expect a cp-without-`-p'-created file to have a group ID of $(id -g). Reported by Jarod Wilson. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837 tests: avoid root-only test failure when run in a chroot * tests/misc/runcon-no-reorder: Accept the diagnostic that is produced when running in a chroot without /selinux/context. Reported by Jarod Wilson. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837 2008-06-18 Jim Meyering * tests/check.mk: Fix a typo in a comment. 2008-06-17 Jim Meyering doc: fix a syntax error * coreutils.texi (du invocation): Add missing comma. 2008-06-17 Bo Borgerson sort: accept new option --batch-size=NMERGE * src/sort.c: (static unsigned int nmerge) Replace constant NMERGE. (specify_nmerge) Validate and apply new option. (mergefps) Replace some arrays with pointers to xnmalloc'd storage. * tests/misc/sort-merge: Test new option. * doc/coreutils.texi: Describe new option. * NEWS: Advertise new option. sort: add new option --files0-from=F * src/sort.c: Support new option. * tests/misc/sort-files0-from: Test new option. * tests/misc/Makefile.am: Indicate new test. * docs/coreutils.texi: Explain new option. * NEWS: Advertise new option. HACKING: Add section for tips on reducing translator workload. * HACKING (Be nice to translators): New section. Add Jim's suggestion to avoid changing translatable strings if possible. 2008-06-17 Jim Meyering * THANKS: Add name and email for Carl Roth. 2008-06-17 Eric Blake ls, od: avoid redundant const * src/ls.c (long_time_format, sort_functions): Avoid redundant const. * src/od.c (charname): Likewise. * maint.mk (sc_redundant_const): Add rule to detect this. 2008-06-16 Bo Borgerson join: improve memory management * src/join.c (struct seq): Use a (struct line **) for `lines' rather than one long (struct line *). This allows individual lines to be swapped out if necessary. (reset_line): Get a line ready for new input. (init_linep): Create a new line and assign it to the the pointer passed in. (spareline[2]): Hold a spare line for each input file. (free_spareline): Clean up. (get_line): Take a (struct line **) instead of a (struct line *). If the line to be overwritten is the previous line for the current file then swap it out for the spare. (join): Accomodate new structure of SEQs and new parameters to get_line; Don't free stale lines until the end -- they're re-usable now. (dup_line): Remove function. * NEWS: Mention the performance improvement. 2008-06-16 Ralf Wildenhues * doc/coreutils.texi (join invocation): Drop leading blanks. 2008-06-16 Jim Meyering remove redundant const directives In 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c, I added some missing "const" directives, as well as some new, redundant ones. This removes the redundant ones. Pointed out by Eric Blake. * base64.c, cat.c, chcon.c, chgrp.c, chmod.c, chown.c, comm.c: * cp.c, csplit.c, cut.c, date.c, dd.c, df.c, dircolors.c, du.c: * env.c, expand.c, fmt.c, fold.c, groups.c, head.c, id.c: * install.c, join.c, kill.c, ln.c, ls.c, md5sum.c, mkdir.c: * mkfifo.c, mknod.c, mktemp.c, mv.c, nice.c, nl.c, od.c: * paste.c, pathchk.c, pinky.c, pr.c, ptx.c, readlink.c, rm.c: * rmdir.c, runcon.c, seq.c, shred.c, shuf.c, sort.c, split.c: * stat.c, stty.c, su.c, sum.c, tac.c, tail.c, tee.c, timeout.c: * touch.c, tr.c, truncate.c, tty.c, uname.c, unexpand.c, uniq.c: * wc.c, who.c: Remove redundant const directives. * maint.mk (sc_const_long_option): Don't require redundant "const". chcon: correct --verbose output to include newlines * src/chcon.c (process_file): Append "\n" to --verbose diagnostic. * tests/misc/chcon: Add a test for the above. * NEWS: mention the bug fix Reported by Carl D. Roth in http://bugzilla.redhat.com/451478. 2008-06-15 Jim Meyering address root cause of compilation failures: The affected code wasn't even being compiled on my system, because HAVE_NL_LANGINFO was not defined. On other systems, where vasnprintf.m4 determines it needs %A or %a replacement support, it _would_ check for nl_langinfo, and expose the compilation failure. * m4/jm-macros.m4: Check for nl_langinfo, required by sort.c. fix the compilation failure for real * src/sort.c (monthtab): Neither "const" may be added. fix a const-related compilation failure in sort.c * src/sort.c (monthtab): Remove overzealous "const". Table entries are modified in an #if HAVE_NL_LANGINFO block. Introduced by 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c. update HACKING guidelines * HACKING: Don't suggest --signoff; it's redundant. (log requirements): Specify preferred forms. Mention preference for "<" over ">". Mention the "const placement" preference. 2008-06-14 Jim Meyering run gnulib-tests in parallel * tests/Makefile.am: Define AUTOMAKE_OPTIONS, so check.mk can append. * tests/check.mk: Define SUFFIXES, so check.mk can append. * build-aux/check.mk (SUFFIXES): Append, so as not to evoke automake warning the prior definition in gnulib-tests/gnulib.mk. (AUTOMAKE_OPTIONS): Likewise. * gnulib-tests/Makefile.am (TEST_LOGS): Define. Include build-aux/check.mk * maint.mk (sc_proper_name_utf8_requires_ICONV) Fix typo in diagnostic. add "const" attribute, where possible * maint.mk (sc_const_long_option): New rule. Enforce global change. * src/base64.c (long_options): Use "const" where possible. * src/cat.c (main): Likewise. * src/chcon.c (long_options): Likewise. * src/chgrp.c (long_options): Likewise. * src/chmod.c (long_options): Likewise. * src/chown.c (long_options): Likewise. * src/comm.c (long_options, OUTPUT_DELIMITER_OPTION): Likewise. * src/cp.c (long_opts): Likewise. * src/csplit.c (longopts): Likewise. * src/cut.c (longopts): Likewise. * src/date.c (long_options): Likewise. * src/dd.c (conversions, flags, statuses): Likewise. * src/df.c (long_options): Likewise. * src/dircolors.c (long_options): Likewise. * src/du.c (long_options): Likewise. * src/env.c (longopts): Likewise. * src/expand.c (longopts): Likewise. * src/fmt.c (long_options): Likewise. * src/fold.c (longopts): Likewise. * src/groups.c (longopts): Likewise. * src/head.c (long_options): Likewise. * src/id.c (longopts): Likewise. * src/install.c (long_options): Likewise. * src/join.c (longopts): Likewise. * src/kill.c (long_options): Likewise. * src/ln.c (long_options): Likewise. * src/ls.c (long_time_format, long_options, sort_functions): Likewise. * src/md5sum.c (long_options): Likewise. * src/mkdir.c (longopts): Likewise. * src/mkfifo.c (longopts): Likewise. * src/mknod.c (longopts): Likewise. * src/mktemp.c (longopts): Likewise. * src/mv.c (long_options): Likewise. * src/nice.c (longopts): Likewise. * src/nl.c (longopts): Likewise. * src/od.c (charname, long_options): Likewise. * src/paste.c (longopts): Likewise. * src/pathchk.c (longopts): Likewise. * src/pinky.c (longopts): Likewise. * src/pr.c (long_options): Likewise. * src/ptx.c (long_options): Likewise. * src/readlink.c (longopts): Likewise. * src/rm.c (long_opts): Likewise. * src/rmdir.c (longopts): Likewise. * src/runcon.c (long_options): Likewise. * src/seq.c (long_options): Likewise. * src/shred.c (long_opts): Likewise. * src/shuf.c (long_opts): Likewise. * src/sort.c (monthtab, long_options): Likewise. * src/split.c (longopts): Likewise. * src/stat.c (long_options): Likewise. * src/stty.c (mode_info, control_info, longopts, set_mode) Likewise. (set_control_char, speeds): Likewise. * src/su.c (longopts): Likewise. * src/sum.c (longopts): Likewise. * src/tac.c (longopts): Likewise. * src/tail.c (long_options): Likewise. * src/tee.c (long_options): Likewise. * src/timeout.c (long_options): Likewise. * src/touch.c (longopts): Likewise. * src/tr.c (long_options): Likewise. * src/truncate.c (longopts): Likewise. * src/tty.c (longopts): Likewise. * src/uname.c (uname_long_options, arch_long_options): Likewise. * src/unexpand.c (longopts): Likewise. * src/uniq.c (longopts): Likewise. * src/wc.c (longopts): Likewise. * src/who.c (longopts): Likewise. revert previous change, "don't use "const" with scalar types" * src/truncate.c: There is nothing wrong with that construct. This reverts commit d7d80c5b7b122377fe250357a3ab182e8fbde20a. don't use "const" with scalar types * src/truncate.c: Several vendor compilers reject that. See http://article.gmane.org/gmane.comp.lib.gnulib.bugs/13876 2008-06-13 Eric Blake od: improve handling of padding * src/od.c (decode_one_format): Alter the format, again. (FMT_BYTES_ALLOCATED): Reduce size by adjusting to new format. (MAX_INTEGRAL_TYPE_SIZE): Move earlier in the file. (charname): Turn it into a 2D array, since there's no need for pointers now. (PRINT_TYPE, print_named_ascii, print_ascii): Add a width parameter. (write_block): Account for width parameter. Using ideas from Paul Eggert. od: align multiple -t specs * src/od.c (struct tspec): Add pad_width field, and adjust print_function prototype. (decode_one_format): Rewrite all fmt_string values to account for pad width. (FMT_BYTES_ALLOCATED): Adjust to new format style. (main): Compute pad width per spec. (write_block): Account for pad width. (dump): Don't print padding-only fields. (PRINT_TYPE, print_named_ascii, print_ascii): All print functions adjusted to use variable pad width. * tests/Makefile.am (TESTS): Add test. * tests/misc/od-multiple-t: New file. * THANKS: Update. * NEWS: Mention the improvement. Reported by Gary Johnson. od: use gnulib printf replacement as necessary * src/od.c (includes): Add xprintf.h. (PRINT_TYPE): New macro, using xprintf instead of printf. (print_s_char, print_char, print_s_short, print_short, print_int) (print_long, print_long_long, print_float, print_double) (print_long_double): Factor into PRINT_TYPE macro. (print_named_ascii, print_ascii): Use xprintf. * NEWS: Mention this as a bug fix. od: simplify long double support * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove obsolete check for AC_C_LONG_DOUBLE. * src/od.c (LONG_DOUBLE): Delete. (width_bytes, MAX_FP_TYPE_SIZE, decode_one_format, main): Just use 'long double' directly. (print_long_double): No longer protect by HAVE_LONG_DOUBLE. doc: od defaults to -toS, not -td2 * src/od.c (usage): Correct description of default. 2008-06-13 Jim Meyering skip (don't fail) root-only tests for common set-up failures Address 2 of 4 failures reported by Jarod Wilson in http://bugzilla.redhat.com/442352. More details here: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803 * tests/cp/cp-a-selinux: Skip the test if "mkfs -t ext2" fails. * tests/rm/fail-2eperm: Skip the test if "rm" is not accessible. 2008-06-12 Jim Meyering tweak to conform with syntax policy Use "<" or "<=" rather than ">" or ">=". Use "Type const *", rather than "const Type *". 2008-06-12 Bo Borgerson comm: accept new option: --output-delimiter=STR * src/comm.c (delimiter): New global. (writeline): Use delimiter string instead of single TAB character. (main): Initialize delimiter. * tests/misc/comm: Add tests for comm output delimiter specification. * doc/coreutils.texi: Document new option. * NEWS: Advertise new option. * TODO: Remove associated item. comm: ensure that input files are sorted * NEWS: List new behavior. * doc/coreutils.texi (checkOrderOption) New macro for describing `--check-order' and `--nocheck-order', used in both join and comm. * src/comm.c (main): Initialize new options. (usage): Describe new options. (compare_files): Keep an extra pair of buffers for the previous line from each file to check the internal order. (check_order): If an order-check is required, compare and handle the result appropriately. (copylinebuffer): Copy a linebuffer; used for copy before read. * tests/misc/Makefile.am: List new test. * tests/misc/comm: Tests for the comm program, including the new order-checking functionality and attendant command-line options. 2008-06-11 Jim Meyering fix another unportable use of 'tr' * configure.ac [EXTRA_PROGRAMS]: Add omitted space in tr's STRING2. Spotted by Denis Excoffier, upon Solaris 8 build failure. tests: skip a chown test on FreeBSD 6.x * tests/chown/separator: Skip this test if is likely to fail due to the combination of a bogus group name and a broken getgrnam function. tests: remove duplicate mention of misc/selinux * tests/Makefile.am (TESTS): Remove misc/selinux, since it's already listed in $(root_tests). 2008-06-11 Bruno Haible fix build failure on AIX 4 * configure.ac: Fix unportable invocation of 'tr', introduced on 2008-04-22. Affects tr from at least AIX 4.3.2. 2008-06-10 Pádraig Brady remove test for specific diagnostic when truncating missing directory Solaris 10 returns ENOTDIR when truncating a nonexistent directory, whereas Linux returns EISDIR (because it has a trailing /). * tests/misc/truncate-fail-diag: Remove the test for the specific error. timeout: use system-independent exit values Change exit values from ETIMEDOUT and ECANCELED, the values of which are system dependent, to 124 and 125 respectively. * src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Define. (usage, main): Adjust. * coreutils.texi (timeout invocation): Update. * tests/misc/timeout: Adjust. 2008-06-09 Jim Meyering enforce the proper_name_utf8-requires-ICONV link rule * maint.mk (sc_proper_name_utf8_requires_ICONV): New rule. * src/Makefile.am (timeout_LDADD, truncate_LDADD): Add $(LIBICONV). 2008-06-09 Bruno Haible * NEWS (Improvements): Mention improved (via gnulib) ACL support. 2008-06-08 Jim Meyering maint.mk: my-distcheck runs $(MAKE) syntax-check once again * maint.mk (my-distcheck): Run $(MAKE) syntax-check once again. Run "$(MAKE) check" _after_ the less expensive syntax-check. 2008-06-08 Bo Borgerson standardize some error messages * maint.mk: (sc_error_message_warn_fatal, sc_error_message_uppercase): (sc_error_message_period): Add automatic checks for non-standard error messages. * .x-sc_error_message_uppercase: explicit exclusion for this check * src/cp.c: Standardize some error messages. * src/date.c: Likewise. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/expr.c: Likewise. * src/install.c: Likewise. * src/join.c: Likewise. * src/ln.c: Likewise. * src/mv.c: Likewise. * src/od.c: Likewise. * src/pr.c: Likewise. * src/split.c: Likewise. * src/truncate.c: Likewise. * src/wc.c: Likewise. * tests/du/files0-from: Expect new error message. * tests/misc/join: Likewise. * tests/misc/split-a: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/misc/xstrtol: Likewise. * lib/xmemxfrm.c: Likewise. 2008-06-08 Jim Meyering syntax-check: detect anachronistic Perl-based tests * maint.mk (sc_no_exec_perl_coreutils): Rename and rewrite. 2008-06-06 Pádraig Brady Add new program: truncate * AUTHORS: Register as the author * NEWS: Mention this change * README: Add truncate command to list * src/truncate.c: New command * src/Makefile.am: Add truncate command to list to build * src/.gitignore: Add truncate binary to list to ignore * doc/coreutils.texi (truncate invocation): Add truncate info * man/Makefile.am: Add truncate man page to list to build * man/truncate.x: Add truncate man page template * po/POTFILES.in: Add truncate to list to translate * tests/Makefile.am: Add truncate tests * tests/misc/help-version: Add support for new truncate command * tests/misc/truncate-dangling-symlink: check dangling link ok * tests/misc/truncate-dir-fail: ensure dirs fail * tests/misc/truncate-fail-diag: validate messages for missing paths * tests/misc/truncate-fifo: ensure fifos ignored * tests/misc/truncate-no-create-missing: ensure -c option honoured * tests/misc/truncate-overflow: check signed integer overflows * tests/misc/truncate-owned-by-other: root permissions check * tests/misc/truncate-parameters: check invalid parameter combinations * tests/misc/truncate-relative: check invalid relative sizes 2008-06-06 Eric Blake improve 'date +%C' documentation * src/date.c (usage): Use 20, not 21, for current century. * THANKS: Update. Reported by Dameon G. Rogers, fix suggested by Philip Rowlands. 2008-06-03 Jim Meyering nice.c: avoid a cast * src/nice.c (main): Use argv[0], rather than "program_name with a cast". Suggestion from Eric Blake. adjust c99-to-c89 patch as well as the code to generate it * maint.mk (patch-check) [REGEN_PATCH]: Eliminate date-related differences in generated diffs. * src/c99-to-c89.diff: Adjust offsets. use gnulib's progname module * bootstrap.conf (gnulib_modules): Add progname. * src/*.c (program_name): Remove declaration. * (main): Call set_program_name rather than setting program_name. * src/nice.c (main): Cast program_name to "(char *)". * src/prog-fprintf.c: Include "system.h" * src/system.h: Include "progname.h". * maint.mk (sc_program_name): Adjust rule. Suggestion from Eric Blake. remove duplicate definition of matchpathcon_init_prefix * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Remove definition. It is already defined there. Reported by Eric Blake. 2008-06-02 Jim Meyering fix cpp indentation policy violations * src/copy.c (mkfifo): Indent nested "# define". * src/timeout.c (ECANCELED): Likewise. accommodate older SELinux which lacks matchpathcon_init_prefix * m4/jm-macros.m4: Check for matchpathcon_init_prefix. * src/install.c [!HAVE_MATCHPATHCON_INIT_PREFIX] (matchpathcon_init_prefix): Define away. * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. Reported by Ilya N. Golubev in . each file with a "main" must also declare program_name * maint.mk (sc_program_name): New rule. * .x-sc_program_name: New file. * Makefile.am (EXTRA_DIST): Add .x-sc_program_name. declare program_name consistently * src/base64.c: Likewise. * src/basename.c: Likewise. * src/cat.c: Likewise. * src/chcon.c: Likewise. * src/chgrp.c: Likewise. * src/chmod.c: Likewise. * src/chown.c: Likewise. * src/chroot.c: Likewise. * src/cksum.c: Likewise. * src/comm.c: Likewise. * src/cp.c: Likewise. * src/csplit.c: Likewise. * src/cut.c: Likewise. * src/date.c: Likewise. * src/dd.c: Likewise. * src/df.c: Likewise. * src/dircolors.c: Likewise. * src/dirname.c: Likewise. * src/du.c: Likewise. * src/echo.c: Likewise. * src/env.c: Likewise. * src/expand.c: Likewise. * src/expr.c: Likewise. * src/factor.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/groups.c: Likewise. * src/head.c: Likewise. * src/hostid.c: Likewise. * src/hostname.c: Likewise. * src/id.c: Likewise. * src/install.c: Likewise. * src/join.c: Likewise. * src/kill.c: Likewise. * src/link.c: Likewise. * src/ln.c: Likewise. * src/logname.c: Likewise. * src/ls.c: Likewise. * src/md5sum.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise. * src/mktemp.c: Likewise. * src/mv.c: Likewise. * src/nice.c: Likewise. * src/nl.c: Likewise. * src/nohup.c: Likewise. * src/od.c: Likewise. * src/paste.c: Likewise. * src/pathchk.c: Likewise. * src/pinky.c: Likewise. * src/pr.c: Likewise. * src/printenv.c: Likewise. * src/printf.c: Likewise. * src/ptx.c: Likewise. * src/pwd.c: Likewise. * src/readlink.c: Likewise. * src/rm.c: Likewise. * src/rmdir.c: Likewise. * src/runcon.c: Likewise. * src/seq.c: Likewise. * src/setuidgid.c: Likewise. * src/shuf.c: Likewise. * src/sleep.c: Likewise. * src/sort.c: Likewise. * src/split.c: Likewise. * src/stat.c: Likewise. * src/stty.c: Likewise. * src/su.c: Likewise. * src/sum.c: Likewise. * src/sync.c: Likewise. * src/tac.c: Likewise. * src/tail.c: Likewise. * src/tee.c: Likewise. * src/test.c: Likewise. * src/timeout.c: Likewise. * src/touch.c: Likewise. * src/tr.c: Likewise. * src/true.c: Likewise. * src/tsort.c: Likewise. * src/tty.c: Likewise. * src/uname.c: Likewise. * src/unexpand.c: Likewise. * src/uniq.c: Likewise. * src/unlink.c: Likewise. * src/uptime.c: Likewise. * src/users.c: Likewise. * src/wc.c: Likewise. * src/who.c: Likewise. * src/whoami.c: Likewise. * src/yes.c: Likewise. 2008-06-02 Eric Blake export program_name, required by gnulib * src/timeout.c (program_name): Export. 2008-06-02 Jim Meyering revert inadvertent change in last patch * configure.ac (AM_INIT_AUTOMAKE): Restore accidentally-modified options. Spotted by Eric Blake. 2008-06-02 Pádraig Brady new program: timeout * AUTHORS: Register as the author. * NEWS: Mention this change. * README: Add timeout command to list. * src/timeout.c: New file. * src/kill.c (operand2sig): Move function to its own file, now that timeout.c will also use it. * src/operand2sig.c (operand2sig): New file, extracted from kill.c. * src/operand2sig.h (operand2sig): Declare. * src/Makefile.am (EXTRA_PROGRAMS): Add timeout. * src/.gitignore: Add timeout binary to list to ignore. * doc/coreutils.texi (timeout invocation): Add timeout info. (Signal specifications): New section, also referenced by kill. * man/Makefile.am (timeout.1): Add dependency. * man/timeout.x: New file. * po/POTFILES.in: Add timeout.c and operand2sig.c to list to translate. * tests/Makefile.am (TESTS): Add the two new tests. * tests/misc/help-version: Add support for new timeout command. * tests/misc/invalid-opt: Add support for new timeout command. * tests/misc/timeout: New file: check basic timeout operation. * tests/misc/timeout-parameters: New file: check invalid parameter combinations. 2008-06-02 Jim Meyering spell author names consistently * src/comm.c (AUTHORS): Use RMS' middle initial. * src/ls.c (AUTHORS): Likewise. * src/rm.c (AUTHORS): Likewise. * src/uniq.c (AUTHORS): Likewise. * src/cut.c (AUTHORS): Use David M. Ihnat's middle initial. * AUTHORS: Update to match. Reported by Michael Piefel. 2008-06-01 Simon Josefsson doc: adjust base64 documentation * coreutils.texi (base64 invocation): Use RFC 4648 as the specification. Move the URL down a bit in the text. 2008-06-01 Erik Auerswald md5sum: new option, --quiet, to suppress OK messages sha1sum, sha224sum, sha384sum, and sha512sum accept it, too. * src/md5sum.c: add option --quiet to suppress OK messages * doc/coreutils.texi: document option --quiet * tests/misc/md5sum: add test for option --quiet * NEWS: mention new option --quiet for md5sum+sha*sum in "New features" section 2008-06-01 Jim Meyering add rules to commit three post-release changes automatically * maint.mk (noteworthy): Define. (emit-commit-log): Define. (alpha beta major): Also update NEWS and cfg.mk automatically, and commit all three changes at once. update old_NEWS_hash * cfg.mk (old_NEWS_hash): Update by running "make update-NEWS-hash". Reported by Erik Auerswald. 2008-06-01 Simon Josefsson src/base64.c: Improve comments. 2008-06-01 Jim Meyering * NEWS: add header line for next release adjust format of .prev-version commit message * maint.mk (alpha beta major): Start with "*", omit version number. * .prev-version: Record previous version. 2008-05-31 Jim Meyering Version 6.12. * NEWS: Record release date. install: reenable matchpathcon-related code The underlying performance problem is being dealt with in Automake by limiting the number of install invocations, and in SELinux with incremental changes as well as a potential new implementation. * src/Makefile.am (ginstall_CPPFLAGS) [ENABLE_MATCHPATHCON]: Define. * src/install.c [ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]: Rename to ENABLE_MATCHPATHCON. * NEWS: mention this change 2008-05-30 Jim Meyering configure.ac: remove explicit use of AB_INIT * configure.ac: Don't invoke AB_INIT directly, now that it's done automatically via gl_INIT. tests: ignore known failure on all Darwin 8.x / Mac OS X v10.4.x * tests/chgrp/basic: Update comment and host_triplet version test. tests: avoid failure with older version of Perl's File::Temp * tests/CuTmpdir.pm (import): Use &File::Temp::cleanup only if it is defined. Reported by Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13652 NEWS: mention that cp -p copies permissions more portably Based on wording suggested by Bruno Haible. 2008-05-29 Jim Meyering improve description of du's--separate-dirs option * coreutils.texi (du invocation): Prompted by Volker Badziong's report in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13646 du.c: tiny cleanup (no semantic change) * src/du.c (process_file): Use "file", rather than equivalent "ent->fts_path". 2008-05-27 Jim Meyering in 280+ tests/* files, use $srcdir, not $top_srcdir/tests prefer abs_srcdir over abs_top_srcdir, ... so that e.g., tests/* may refer to absolute names without hard-coding the name of the containing directory (tests/, here). * tests/check.mk (TESTS_ENVIRONMENT): Define abs_srcdir. * tests/pr/pr-tests: Use $abs_srcdir/pr not $abs_top_srcdir/tests/pr. * tests/chmod/c-option: Use $abs_srcdir, not $abs_top_srcdir/tests. * tests/cp/cp-parents: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/mv/acl: Likewise. * tests/mv/backup-is-src: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/into-self-2: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/mv/to-symlink: Likewise. * tests/rm/one-file-system: Likewise. * tests/sample-test: Likewise. tests: generalize my-distcheck * maint.mk (my-distcheck): Accommodate missing gnulib-tests. 2008-05-26 Jim Meyering reflect renaming of acl.c in gnulib * POTFILES.in: s/acl.c/set-mode-acl.c/ test installation results more thoroughly * maint.mk (my-distcheck): Ensure that properly-named binaries are installed. Also check all man pages, except [.1. Move configure-time --prefix= to install-time prefix=. (my-instcheck, install-transform-check): Define. install many binaries at once, when possible * src/Makefile.am (install-exec-am): Override the standard automake-generated target, so we can decide whether to use the usual install-one-by-one rule, or whether we can use the new install-many-at-once rule: (cu-install-binPROGRAMS): New rule. * src/runcon.c: Add copyright comment. adjust AUTHORS and check-AUTHORS rule to accommodate * AUTHORS: Add coding: utf-8 comment at end. Spell François' and Torbjörn's names properly. * src/Makefile.am: Parse AUTHORS file more carefully. Use perl to join now-split lines. Use en_US.UTF-8 to generate --version output. * src/c99-to-c89.diff: Adjust offsets. adjust copyright dates convert the rest to use proper_name -- manually * src/base64.c (AUTHORS): Rename from AUTHOR, for consistency. convert 3-author programs to use proper_name g grep -E -l 'define AUTHORS "[^,]+", "[^,]+", "[^,]+"$'|xargs perl -pi -e \ 's/(define AUTHORS) ("[^,]+"), ("[^,]+"), ("[^,]+")$/$1 \\\n proper_name ($2), \\\n proper_name ($3), \\\n proper_name ($4)/' convert 2-author programs to use proper_name g grep -E -l 'define AUTHORS "[^,]+", "[^,]+"$'|xargs perl -pi -e \ 's/(define AUTHORS) ("[^,]+"), ("[^,]+")$/$1 \\\n proper_name ($2), \\\n proper_name ($3)/' convert single-author programs to use proper_name g grep -E -l 'define AUTHORS "[^,]+"$'|xargs perl -pi -e \ 's/(define AUTHORS) ("[^,]+")$/$1 proper_name ($2)/' use gnulib's proper_name_utf8 function, but *not* proper_name * bootstrap.conf (gnulib_modules): Add propername. (XGETTEXT_OPTIONS): Add options to tell xgettext about the functions. * src/cat.c, src/cp.c, src/df.c, src/du.c, src/split.c: Mark Torbjörn Granlund's name. * src/ptx.c: Mark François Pinard's name. Use "TRANSLATORS:" comment marker, rather than "Note to translators:". * src/system.h: Include propername.h. (proper_name): Define away. * src/Makefile.am (cat_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD): Initialize, so we can... (cat_LDADD, cp_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD): ...Use "+=" to append $(LIBICONV) for each program that uses proper_name_utf8. 2008-05-24 Jim Meyering * POTFILES.in: Add lib/copy-acl.c. 2008-05-20 Jim Meyering install: avoid a leak in currently-ifdef'd-out code * src/install.c (setdefaultfilecon) [ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]: Call matchpathcon_init_prefix only once. Suggestion from Stephen Smalley. Reported by Ben Webb in . 2008-05-19 Jim Meyering use gnulib's base64 module, now that it's sync'd to match this one * gl/lib/base64.c: Remove file. * gl/lib/base64.h: Remove file. 2008-05-19 Pádraig Brady doc: clarify field delimiter description in uniq --help output * src/uniq.c: Clarify in help output that field delimiters are blanks and not the larger set of whitespace characters. 2008-05-17 Jim Meyering tests: skip when a debian libc6-2.7-11 bug makes printf segfault * tests/misc/printf-surprise: Detect case of a low-memory-provoked segfault and skip the test (this is actually a bug in snprintf). For details, see http://bugs.debian.org/481543 tests: sync and update wc and du --files0-from tests * tests/du/files0-from: Sync from tests/misc/wc-files0-from. (minus-in-minus): New test. Adjust for new diagnostics. * tests/misc/wc-files0-from: Adjust for new diagnostics. du, wc: merge improved --files0-from=F-related diagnostics du gave a better diagnostic for one unusual case, and wc gave a better diagnostic for a different one. Now each diagnoses both unusual cases. * src/du.c (main): Disallow '-' as file name when reading from stdin. * src/wc.c (main): Give a better diagnostic for a zero-length file name. test invalid-option handling in all programs * tests/Makefile.am (TESTS): Add misc/invalid-opt. * tests/misc/invalid-opt: New file. 2008-05-17 Jim Meyering tests: remove ugly /bin/sh wrapper around each perl-based test script * tests/check.mk (TESTS_ENVIRONMENT): Save and restore TMPDIR around envvar-check, so that the few scripts that require $TMPDIR don't fail. This is also good to let a user's default TMPDIR setting be used e.g., in the search for an 'other-partition'. FIXME: this is pretty ugly. maybe undo it and find a better way. (TESTS_ENVIRONMENT): Invoke perl scripts with $(PERL), and use -T if the script requires that. Otherwise, use $(SHELL). * tests/misc/md5sum-newline: Create a file whose name contains a newline in Perl (resort to using "system", since open refuses). Fix old brokenness exposed by this change: * tests/du/files0-from: Correct test not to rely on stdin being attached to a non-tty. * tests/misc/sort (3g, 3h, 3i): Likewise: add explicit empty input file. Avoid warnings about using qw()-around-commas. * tests/rm/fail-eperm: Now that this test is run from a temporary subdirectory, adjust the full name of the "rm" program we're going to run. Change #!/bin/sh to #!/usr/bin/perl, and factor out the few lines of boilerplate code to invoke perl. Do not "require 5.00x"; a configure-time Perl test handles that * tests/dd/skip-seek: * tests/misc/base64: * tests/misc/basename: * tests/misc/cut: * tests/misc/date: * tests/misc/dircolors: * tests/misc/dirname: * tests/misc/expand: * tests/misc/expr: * tests/misc/factor: * tests/misc/fmt: * tests/misc/fold: * tests/misc/head: * tests/misc/head-elide-tail: * tests/misc/join: * tests/misc/ls-misc: * tests/misc/md5sum: * tests/misc/md5sum-newline: * tests/misc/mktemp: * tests/misc/od: * tests/misc/paste: * tests/misc/pr: * tests/misc/printf-cov: * tests/misc/seq: * tests/misc/sha1sum: * tests/misc/sha1sum-vec: * tests/misc/sha224sum: * tests/misc/sha256sum: * tests/misc/sha384sum: * tests/misc/sha512sum: * tests/misc/sort-merge: * tests/misc/stat-printf: * tests/misc/sum: * tests/misc/tac: * tests/misc/tail: * tests/misc/test: * tests/misc/test-diag: * tests/misc/tr: * tests/misc/tsort: * tests/misc/tty-eof: * tests/misc/unexpand: * tests/misc/uniq: * tests/misc/wc: * tests/misc/wc-files0-from: * tests/misc/xstrtol: * tests/mv/i-1: * tests/pr/pr-tests: * tests/rm/empty-name: * tests/rm/fail-eperm: * tests/rm/unreadable: 2008-05-16 Jim Meyering tests: allow to run Perl tests more cleanly Before this change, perl tests were run via a #!/bin/sh script in which perl was invoked via $(PERL) ... -- - <<\EOF. That made some stty tests fail due to the way stdin was usurped. * build-aux/check.mk (am__check_pre): Don't append $(SHELL) to this nominally automake-internal variable. * tests/check.mk (TESTS_ENVIRONMENT): Instead, define a shell function here, and append it to the more user-visible $(TESTS_ENVIRONMENT). tests: env-related clean up * tests/Coreutils.pm: tiny clean-up: s/env/env --/ * tests/misc/help-version: Use "env" rather than an absolute file name prefix. * tests/misc/printf-surprise: Likewise. tests: improve coverage of printf.c * tests/misc/printf-cov: New file. * tests/Makefile.am (TESTS): Add misc/printf-cov. * tests/misc/help-version: Use env rather than abs file name prefix. make HACKING slightly more generic * HACKING: remove some uses of "coreutils" Point to git's own SubmittingPatches URL. 2008-05-15 Bruno Haible doc: some Unicode characters cannot be specified via \u or \U * doc/coreutils.texi (printf invocation): Clarify invalid ranges for Unicode character escape syntax. 2008-05-11 Jim Meyering move sha256 and sha512 modules to gnulib * bootstrap.conf (gnulib_modules) [sha256, sha512]: Add "crypto/" prefix to module name, now that they come from gnulib. * gl/lib/sha256.c: Remove file. * gl/lib/sha256.h: Likewise. * gl/lib/sha512.c: Likewise. * gl/lib/sha512.h: Likewise. * gl/lib/u64.h: Likewise. * gl/m4/sha256.m4: Likewise. * gl/m4/sha512.m4: Likewise. * gl/modules/sha256: Likewise. * gl/modules/sha512: Likewise. 2008-05-10 Jim Meyering now that the last of the mk-script-using tests is gone... * tests/Makefile.am (EXTRA_DIST): Remove Makefile.am.in and mk-script. Move/adjust SUBDIRS-related comments. * tests/Makefile.am.in: Remove file, no longer used. * tests/mk-script: Likewise. * bootstrap: Remove coreutils-specific SUBDIRS-related code. tests: remove directory, tests/join/ * configure.ac (AC_CONFIG_FILES): Remove tests/join/Makefile. * tests/misc/join: New file, with tests from... * tests/join/Test.pm: ...here. Remove file. * tests/Makefile.am (SUBDIRS): Remove definition. * tests/misc/tac: Also perform stdin and piped tests. tests: convert pr tests * configure.ac (AC_CONFIG_FILES): Remove tests/pr/Makefile. * tests/Makefile.am (SUBDIRS): Remove pr. * tests/pr/pr-tests: New file, with tests from... * tests/pr/Test.pm: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Add $(pr_data). (pr_data): List all of the pr's test-related data files. tests: remove directory, tests/tail/ * configure.ac (AC_CONFIG_FILES): Remove tests/tail/Makefile. * tests/Makefile.am (SUBDIRS): Remove tail. * tests/misc/tail: New file, with tests from... * tests/tail/Test.pm: ...here. Remove file. 2008-05-09 Bernhard Marx doc: improve description of "niceness" values * doc/coreutils.texi (nice invocation): 2008-05-09 Jim Meyering tests: remove directory, tests/sort/ * configure.ac (AC_CONFIG_FILES): Remove tests/sort/Makefile. * tests/Makefile.am (SUBDIRS): Remove sort. * tests/misc/sort: New file, with tests from... * tests/sort/Test.pm: ...here. Remove file. 2008-05-08 Bruno Haible Speed up "wc -m" and "wc -w" in multibyte case. * src/wc.c: Include mbchar.h. (wc): New variable in_shift. Use it to avoid calling mbrtowc for most ASCII characters. Reported via Jan Engelhardt in http://bugzilla.novell.com/381873 with discussion here http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13520 2008-05-08 Jim Meyering tests: remove directory, tests/tac/ * configure.ac (AC_CONFIG_FILES): Remove tests/tac/Makefile. * tests/Makefile.am (SUBDIRS): Remove tac. * tests/misc/tac: Many new tests, from... * tests/tac/Test.pm: ...here. Remove file. tests: remove directory, tests/test/ * configure.ac (AC_CONFIG_FILES): Remove tests/test/Makefile. * tests/Makefile.am (SUBDIRS): Remove test. * tests/misc/test: Many new tests, from... * tests/test/Test.pm: ...here. Remove file. tests: Coreutils.pm: support running a program that is a shell built-in * tests/Coreutils.pm (run_tests): Add support for running a program like 'test', that is a shell built-in. 2008-05-06 Jim Meyering * TODO: Bo Borgerson is rewriting support for cp --recursive tests: remove directory, tests/tr/ * configure.ac (AC_CONFIG_FILES): Remove tests/tr/Makefile. * tests/Makefile.am (SUBDIRS): Remove tr. * tests/misc/tr: Many new tests, from... * tests/tr/Test.pm: ...here. Remove file. * tests/tr/failures: Remove file. * tests/tr/TODO: Remove file. tests: skip another test if mcstransd is running * tests/test-lib.sh (skip_if_mcstransd_is_running_): New function, extracted from... * tests/misc/chcon: ...here. Use function, not open-coded test. * tests/misc/selinux: Use the function here, too. Require root, not non-root. * tests/Makefile.am (root_tests): Add misc/selinux. tests: translate uniq-z-test-adding code to new framework * tests/misc/uniq (add-z-variants): New function. Use it. tests: remove directory, tests/uniq/ * configure.ac (AC_CONFIG_FILES): Remove tests/uniq/Makefile. * tests/Makefile.am (SUBDIRS): Remove uniq. * tests/misc/uniq: Many new tests, from... * tests/uniq/Test.pm: ...here. Remove file. tests: remove directory, tests/cut/ * configure.ac (AC_CONFIG_FILES): Remove tests/cut/Makefile. * tests/Makefile.am (SUBDIRS): Remove cut. * tests/misc/cut: Many new tests, from... * tests/cut/Test.pm: ...here. Remove file. tests: remove directory, tests/head/ * configure.ac (AC_CONFIG_FILES): Remove tests/head/Makefile. * tests/Makefile.am (SUBDIRS): Remove head. * tests/misc/head: New file, derived from ... * tests/head/Test.pm: ...this. Remove file. * tests/head/in: Remove file. * tests/head/in-1024: Remove file. * tests/Coreutils.pm (triple_test): New function. 2008-05-06 Jim Meyering tests: Coreutils.pm improvements * tests/Coreutils.pm: Allow test names longer than 12. Print a useful diagnostic for bogus spec entry. Handle the combination of IN_PIPE and ENV properly. * tests/Coreutils.pm (run_tests): Put ENV right before command, not before the "cat INPUT_FILE |" prefix. 2008-05-06 Jim Meyering tests: move "sparse-file" into test-lib.sh * tests/sparse-file: Remove file Move contents into ... * tests/test-lib.sh (require_sparse_support_): ...here. New function. * tests/cp/sparse: Use the function, not the file. * tests/du/8gb: Likewise. * tests/Makefile.am (EXTRA_DIST): Remove sparse-file. tests: move "group-names" into test-lib.sh * tests/group-names: Remove file Move contents into ... * tests/test-lib.sh (require_membership_in_two_groups_): ...here. New function. * tests/chgrp/basic: Use the function, not the file. * tests/chgrp/default-no-deref: Likewise. * tests/chgrp/deref: Likewise. * tests/chgrp/no-x: Likewise. * tests/chgrp/posix-H: Likewise. * tests/chgrp/recurse: Likewise. * tests/cp/existing-perm-race: Likewise. * tests/Makefile.am (EXTRA_DIST): Remove group-names. tests: use printf+sed rather than yes+head+tr * tests/misc/fmt-long-line: Minor clean-up. Using "yes" like that has caused trouble in the past. tests: save and restore TERM around use of TESTS_ENVIRONMENT, now that TESTS_ENVIRONMENT unsets it. * check.mk (am__check_pre): Save $TERM. (am__check_post): Restore saved value of TERM and export. tests: hoist the sourcing of "lang-default" * tests/check.mk (TESTS_ENVIRONMENT): Source lang-default here, ... ... rather than in each of 100+ test scripts. * tests/chgrp/basic: * tests/chgrp/no-x: * tests/chmod/c-option: * tests/chmod/no-x: * tests/chmod/setgid: * tests/chmod/thru-dangling: * tests/chmod/umask-x: * tests/chmod/usage: * tests/chown/basic: * tests/chown/deref: * tests/chown/preserve-root: * tests/cp/abuse: * tests/cp/acl: * tests/cp/backup-is-src: * tests/cp/cp-a-selinux: * tests/cp/cp-i: * tests/cp/cp-mv-backup: * tests/cp/deref-slink: * tests/cp/fail-perm: * tests/cp/into-self: * tests/cp/link-preserve: * tests/cp/preserve-gid: * tests/cp/same-file: * tests/cp/slink-2-slink: * tests/cp/special-f: * tests/cp/symlink-slash: * tests/cp/thru-dangling: * tests/du/basic: * tests/du/hard-link: * tests/du/inacc-dest: * tests/du/long-sloop: * tests/du/no-x: * tests/install/basic-1: * tests/ln/hard-backup: * tests/ln/sf-1: * tests/ls/file-type: * tests/ls/infloop: * tests/ls/nameless-uid: * tests/ls/rt-1: * tests/ls/stat-failed: * tests/ls/symlink-slash: * tests/ls/x-option: * tests/misc/chcon: * tests/misc/chcon-fail: * tests/misc/csplit: * tests/misc/df-P: * tests/misc/groups-dash: * tests/misc/groups-version: * tests/misc/nohup: * tests/misc/printf-surprise: * tests/misc/runcon-no-reorder: * tests/misc/selinux: * tests/misc/split-a: * tests/misc/split-fail: * tests/misc/tac-continue: * tests/misc/wc-files0: * tests/mkdir/p-v: * tests/mkdir/selinux: * tests/mv/acl: * tests/mv/backup-dir: * tests/mv/backup-is-src: * tests/mv/childproof: * tests/mv/diag: * tests/mv/dir2dir: * tests/mv/dup-source: * tests/mv/force: * tests/mv/hard-link-1: * tests/mv/hard-verbose: * tests/mv/i-2: * tests/mv/i-3: * tests/mv/i-4: * tests/mv/i-5: * tests/mv/i-link-no: * tests/mv/into-self: * tests/mv/into-self-2: * tests/mv/into-self-3: * tests/mv/mv-special-1: * tests/mv/part-fail: * tests/mv/part-symlink: * tests/mv/partition-perm: * tests/mv/perm-1: * tests/mv/reply-no: * tests/mv/sticky-to-xpart: * tests/mv/update: * tests/rm/cycle: * tests/rm/dir-no-w: * tests/rm/dir-nonrecur: * tests/rm/fail-2eperm: * tests/rm/fail-eacces: * tests/rm/inaccessible: * tests/rm/interactive-always: * tests/rm/interactive-once: * tests/rm/isatty: * tests/rm/one-file-system: * tests/rm/r-1: * tests/rm/r-2: * tests/rm/rm1: * tests/rm/rm2: * tests/rm/rm3: * tests/rm/rm4: * tests/rm/rm5: * tests/rm/unread2: * tests/rm/v-slash: * tests/touch/fail-diag: * tests/touch/not-owner: tests: hoist envvar-check so it is run for every test I.e., also for Perl-based tests; not just the ones using test-lib.sh. * tests/check.mk (TESTS_ENVIRONMENT): Source envvar-check here, ... * tests/test-lib.sh: ...not here. fix typo in comments: s/ouput/output/ adjust spelling in that same comment: s/localisation/localization/ * tests/touch/Makefile.am: Remove now-unused file. tests: test split more thoroughly * tests/misc/split-a: Clean up. Catch more failures. * tests/misc/wc: Remove an unused variable. tests: detect and check more uses of strcmp * maint.mk (sc_prohibit_strcmp): Relax regexp to recognize other formatting styles. 2008-05-06 Jim Meyering avoid problems with sign-extended "char" operand to is* functions * src/cut.c (set_fields): Apply to_uchar to isblank operands. * src/uniq.c (find_field): Likewise. * src/seq.c (scan_arg): Likewise, for isblank. * tests/misc/uniq: New file. Test for the above, but only when isspace(0240). * tests/Makefile.am (TESTS): Add misc/uniq. * configure.ac: Use gt_LOCALE_FR. * tests/check.mk (TESTS_ENVIRONMENT): Propagate LOCALE_FR to scripts. * NEWS: Mention the bug fixes. Before this patch, on FreeBSD 6: $ printf 'x y z\nx \xa0 y z\n' > in $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' . x.y.z x. .y.z With the patch: $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' . x.y.z This also affected many other locales: for i in $(locale -a); do test $(LC_ALL=$i ./uniq -f1 in|wc -l) = $(LC_ALL=$i uniq -f1 in|wc -l) || echo $i ; done ... en_GB.ISO8859-1 en_GB.ISO8859-15 en_GB.UTF-8 en_IE.UTF-8 en_NZ.ISO8859-1 en_NZ.ISO8859-15 en_NZ.UTF-8 en_US.ISO8859-1 en_US.ISO8859-15 en_US.UTF-8 ... 2008-05-06 Bo Borgerson base64: remove some unused/redundant getopt code * src/base64.c (struct option long_option): Remove redundant help/version option items. (main): Remove unused 'q' from short options. 2008-05-05 Jim Meyering help2man: fix perl 5.10 problem properly * man/help2man: Do pull LC_ALL via "use POSIX". Instead, limit the importing of gettext-related symbols to just those two we'll use: gettext and textdomain. help2man: avoid failure with Debian unstable's Perl 5.10.0 Avoid failure that produced this diagnostic: Constant subroutine main::LC_ALL redefined at /.../Exporter.pm * man/help2man: Don't include LC_ALL in the "use POSIX" list, since Locale::gettext->import will get it. 2008-05-05 Bo Borgerson base64 module: adjust API so it's compatible with gnulib's * gl/lib/base64.c (base64_decode_ctx): If no context structure was passed in, treat newlines as garbage (this is the historical behavior). Formerly base64_decode. (base64_decode_alloc_ctx): Formerly base64_decode_alloc. * gl/lib/base64.h (base64_decode): Macro for four-argument calls. (base64_decode_alloc): Likewise. * src/base64.c (do_decode): Call base64_decode_ctx instead of base64_decode. 2008-05-05 Jim Meyering * tests/misc/tac: Set execute bit. tac: avoid segfault for e.g., "echo > x; tac -r x x" * src/tac.c (tac_seekable): Move local "regs" declaration out to file scope, so its values aren't clobbered between calls. Discovered by Cristian Cadar, Daniel Dunbar and Dawson Engler, reported in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13501 * NEWS: Mention the bug fix. * tests/Makefile.am (TESTS): Add misc/tac. * tests/misc/tac: New file. Test for the above. 2008-04-30 Jim Meyering tests: avoid a "make check-root" failure when mcstransd is running * tests/misc/chcon: Skip this test if mcstransd seems to be running. tests: avoid spurious "make check-root" failure * README (Running tests as root): Also set PATH in suggested "sudo" command. This avoids failure of at least tests/cp/cp-a-selinux when the default PATH does not contain /sbin. * tests/cp/cp-a-selinux: Don't redirect stderr to /dev/null. "mkfs" was failing due to /sbin not being in PATH. 2008-04-30 Bo Borgerson Add Daniel Dunbar's lcov instructions to HACKING * HACKING: New section `Finding things to do', points to TODO file and gives instructions on generating an html coverage report as provided by Daniel Dunbar. * TODO: Add item for improving test coverage. Point back to HACKING. 2008-04-29 Jim Meyering chcon, runcon: make --help print the bug-reporting address * src/chcon.c (usage): Use emit_bug_reporting_address. * src/runcon.c (usage): Likewise. * tests/misc/help-version: Don't exempt chcon and runcon. * NEWS: Mention this. 2008-04-28 Jim Meyering tests: don't hard-code coreutils list of tests/ SUBDIRS in bootstrap * bootstrap: Extract the list from tests/Makefile.am, and die when it is empty -- it will be, eventually. 2008-04-28 Bo Borgerson tests: remove references to tests/wc from bootstrap * bootstrap: Don't try to initialize anything in tests/wc. 2008-04-28 Jim Meyering tests: slightly relax sc_cast_of_argument_to_free syntax check * maint.mk (sc_cast_of_argument_to_free): Relax regexp slightly. (sc_no_have_config_h): Add a comment. 2008-04-28 Bo Borgerson tests: don't chmod after a failed chdir in cleanup * tests/CuTmpdir.pm (chmod_tree): Don't chmod if chdir failed. Only cleanup test dirs from the process that created them. * tests/CuTmpdir.pm (import): Use closure around current PID to avoid cleanup races. 2008-04-27 Jim Meyering move wc tests from own subdir into a single script * configure.ac (AC_CONFIG_FILES): Remove wc/Makefile from the list. * tests/Makefile.am (SUBDIRS): Remove wc from the list. (TESTS): Add misc/wc. * tests/misc/wc: New file, derived from tests/wc/Tests.pm. * tests/wc/Test.pm: Remove file. tests: remove temporary log file upon catchable signal * check.mk (am__check_pre): Add signal handler to remove $@-t. tests: don't source envvar-check manually, test-lib.sh does it * tests/cp/abuse: Remove ". $top_srcdir/tests/envvar-check". * tests/cp/parent-perm: Likewise. * tests/cp/special-f: Likewise. * tests/ls/proc-selinux-segfault: Likewise. * tests/misc/help-version: Likewise. * tests/mkdir/selinux: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/touch/now-owned-by-other: Likewise. * tests/sample-test: Remove commented out suggestion. tests: ensure at least one failure when $built_programs is empty Before, this test and others would pass with empty $built_programs. * tests/misc/help-version: Fail if built_programs is empty. tests: improve perl-based tempdir handling Before, upon interrupt, directories would be left behind. * tests/CuTmpdir.pm: Remove temporary directory on interrupt. tests: reorder some tests in the long list * tests/Makefile.am (TESTS): Move some tests that use sleep "up" in the list so that they don't delay even a little the completion of "make check". Also run a chmod test early. tests: put root-only (usually skipped) tests at the end * tests/Makefile.am (TESTS): Don't list root-only tests explicitly. Instead, just use $(root_tests). * tests/check.mk (vc_exe_in_TESTS): Now that root_tests are separate, parse out the union of $(TESTS) and $(root_tests). tests: move another file (expensive) into test-lib.sh * tests/expensive: Remove file. Move contents into ... * tests/test-lib.sh (expensive_): ...here. New function. * tests/du/fd-leak: Update caller to use the new function. * tests/mv/leak-fd: Likewise. * tests/rm/hash: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/Makefile.am (EXTRA_DIST): Remove its name. tests: cp/perm (usually not run) was failing on systems with SELinux * tests/cp/perm: Use stat to get the permission string, not ls. This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set in the environment. It would fail on SELinux-enable systems because ls-generated permission strings would not match, e.g., "test _-rw-r--r--+ = _-rw-r--r--" would fail. tweak HACKING advice 2008-04-24 Jim Meyering tests: do define built_programs * tests/check.mk (built_programs): Define here, where it's used. This definition was in now-removed tests/misc/Makefile.am. 2008-04-23 Jim Meyering tests: update commented-out examples in sample-test, too * tests/sample-test: Use $top_srcdir/tests/SCRIPT_NAME, not $top_srcdir/../SCRIPT_NAME here, too. 2008-04-23 OndÅ™ej Vašík tests: don't fail in a non-English locale * tests/chmod/thru-dangling: Source lang-default. * tests/cp/thru-dangling: Likewise. * tests/misc/printf-surprise: Likewise. 2008-04-23 Jim Meyering tests: remove now-unused Makefile.am * tests/misc/Makefile.am: Remove file. 2008-04-23 OndÅ™ej Vašík id: do not print SELinux context when invoked with a USERNAME argument * NEWS: Mention new behaviour. * src/id.c (main): Do not print SELinux context when user is specified. * tests/Makefile.am: Add the new test. * tests/misc/id-context: New file. Test for the fix. Problem reported by Ronny Buchmann in http://bugzilla.redhat.com/443485. 2008-04-23 Jim Meyering id: do print the AFS-specific nameless group ID (called a PAG) In 6.11, we mistakenly suppressed the printing of certain group IDs, thinking they were useless AFS-specific artifacts. This change reverts that, so now they are printed once again. http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13345 This also reverts the bug-fix that applied solely to the new code used to avoid printing those IDs Revert "id bug fix: don't point to potentially clobbered static storage" This reverts commit f7d1c59c224f81a8bab5fa2afcaf815988f50467. Revert "Work around AFS bug: id and groups would print invalid group number." This reverts commit b7a836c0a3524cda8ef79c30c3fe7ea759ae4656. Revert "* src/c99-to-c89.diff: Accommodate a C99-ism in id.c." This reverts commit d44893c5dba4150b4ded9cf6aad316c1ef620c9f. 2008-04-22 Jim Meyering build: move a project-specific definition to cfg.mk * cfg.mk (old_NEWS_hash): Define here, ... * maint.mk: ... not here. (update-NEWS-hash): Update comment. Suggestion from Eric Blake. Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4) * configure.ac: Filter out carriage returns in more places. Reported by Elbert Pol, details here: http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13332 guard against inserting a NEWS entry into a block for a prior release Without a guard like this, it is far too easy to apply a patch prepared against a preceding release, and not notice that a NEWS entry is inserted into the wrong block. * maint.mk (sc_immutable_NEWS): New rule. (update-NEWS-hash): New rule to update the hard-coded hash. tests: ensure that all exec-$PERL lines are the same * maint.mk (sc_perl_coreutils_test): New rule. 2008-04-21 Jim Meyering tests: skip (don't fail) rm/one-file-system when mount --bind fails * tests/rm/one-file-system: Reported by Allen Hewes. 2008-04-20 Jim Meyering tests: convert umask-check to a function * tests/test-lib.sh (working_umask_or_skip_): New function, from... * tests/umask-check: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Remove umask-check. * tests/mkdir/perm: Use the function rather than sourcing the file. * tests/cp/cp-parents: Likewise. * tests/cp/parent-perm: Likewise. Bruno Haible reported that parent-perm was failing to run umask-check. tests: adjust perl -I to use $top_srcdir/tests, not $srcdir/.. tests: clean up root tests; adapt to new layout * tests/Makefile.am (root_tests): New list. (check-root): Add 'SUBDIRS='. (root-hint): Point to README. * Makefile.am (check-root): Add 'SUBDIRS=' here, too. * maint.mk (sc_root_tests): Adapt rule to new syntax used in tests/Makefile.am. 2008-04-20 Jim Meyering Revamp test-related Makefiles. One side-effect of this change is that "make check" now works even if you put "." early in your shell's search PATH (don't do that!). Remove all test-related Makefile.am files, except those generated by mk-script. Instead, tests/Makefile.am now lists not only the tests directly under tests/, but also those in tests/*/ that are not generated by mk-script, e.g., cp/abuse, cp/acl, mv/i-1, etc. A lot of these changes are like this: -. $srcdir/../lang-default +. $top_srcdir/tests/lang-default -. $srcdir/../test-lib.sh +. $top_srcdir/tests/test-lib.sh * configure.ac (AC_CONFIG_FILES): Remove corresponding Makefiles. * tests/check.mk (vc_exe_in_TESTS): Relax syntax requirements. * tests/rwx-to-mode: Remove file. Rewritten as... * tests/test-lib.sh (rwx_to_mode_): ...this new function. * tests/Makefile.am (EXTRA_DIST): Remove rwx-to-mode. (SUBDIRS): Remove each dir with a removed Makefile.am. (EXTRA_DIST): Add $(TESTS). (TESTS): Add over 300 entries. 2008-04-20 Jim Meyering * tests/misc/Makefile.am (built_programs): Remove. Unused. Use "env" to invoke potential built-ins. * tests/misc/pwd-unreadable-parent: Invoke pwd via "env -- pwd", rather than via an absolute name. * tests/touch/not-owner: Likewise for test. * tests/chmod/setgid: Likewise. 2008-04-19 Jim Meyering * .prev-version: Record previous version: 6.11. Version 6.11. * NEWS: Record release date. * maint.mk (writable-files): Fix syntax error. * doc/.gitignore: Add texinfo-related outputs. 2008-04-19 Sven Joachim * THANKS: Update my address, correct encoding for a name. 2008-04-19 Jim Meyering pr -e, with a mix of backspaces and TABs, could corrupt the heap * tests/pr/Test.pm: New tests for the above. * src/pr.c (char_to_clump): Ensure that "input_position" never goes below 0. Also, elide any backspace encountered when input_position is 0, to be compatible at least with /bin/pr from Solaris 10. This bug is present in the original version: b25038ce9a234ea0906ddcbd8a0012e917e6c661 * NEWS [Bug fixes]: Mention this. Report and diagnosis by Cristian Cadar, Daniel Dunbar and Dawson Engler in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13272 2008-04-19 Mike Frysinger * src/dircolors.hin: Add .flv. Move .svgz to "image formats". 2008-04-18 Jim Meyering md5sum -c: ignore a line with a NUL byte among checksum hex digits * src/md5sum.c (hex_digits): Require that all "digest_hex_bytes" be hexadecimal digits, not just those before the first NUL byte. This bug dates back to the original version: 3763a4f24eb21be40674d13ff7b04e078f473e85 * tests/misc/md5sum (nul-in-cksum): Test for the above. * NEWS [Bug fixes]: Mention this. Prompted by a report from Flóki Pálsson in http://bugzilla.redhat.com/439531 2008-04-16 Matthew Woehlke tests: accommodate built-in mknod more cleanly still * tests/mkdir/selinux: Use "env" rather than "nice". 2008-04-16 Jim Meyering tests: accommodate built-in mknod more cleanly * tests/mkdir/selinux: Undo most of previous change, bc22dbbf844f31ddaf2e68b167d0128a985d73ab, and instead invoke the command via "nice". Using "exec" should be enough, but isn't with OpenBSD's PD KSH v5.2.14 99/07/13.2. Eric Blake suggested using nice. mknod --help: note that this command may be a shell built-in * src/mknod.c (usage): Print USAGE_BUILTIN_WARNING. Suggestion from Eric Blake. avoid "may be used uninitialized" warning from newer gcc * src/md5sum.c (digest_check) [lint]: Initialize local, "filename". tests: add a comment explaining the potential failure tests: avoid mkdir/selinux failure when mknod is a shell built-in * tests/mkdir/selinux: Skip the mknod test if it's a built-in. 2008-04-15 Jim Meyering md5sum, sha1sum, etc: handle invalid input (i.e., don't segfault) * src/md5sum.c (bsd_split_3): Return right away if s_len == 0. * tests/misc/md5sum (bsd-segv): New test for the above. * tests/misc/sha1sum (bsd-segv): Likewise. * NEWS: Mention the bug fix. Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. 2008-04-14 Jim Meyering tests: don't fail on systems without a "stat" syscall * tests/test-lib.sh (require_strace_): Add a syscall parameter. * tests/ls/stat-free-symlinks: Update caller. * tests/mv/atomic: Likewise. * tests/mv/atomic2: Likewise. Reported by Mike Frysinger in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13222 tests: accommodate a different errno string on Irix 6.5 * tests/mkdir/selinux: Also handle "Not supported". Reported by Peter Fales. seq: work around floating point inaccuracies on more systems * src/seq.c: Include for fabs. Include for DBL_EPSILON. (abs_rel_diff): New function. (print_numbers): Use abs_rel_diff rather than a strict equality test. Without this change, Solaris 8 and Irix 6.2 would fail the float-6 test. Reported by Peter Fales in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13183 * src/c99-to-c89.diff: Adjust seq.c offsets. doc: fix typo * coreutils.texi (sort invocation): s/Whitespace/White space/ 2008-04-12 Jim Meyering tests: Accommodate a different errno value on OSF/1 4.0F. * tests/mkdir/selinux: Also handle "Function not implemented". Avoid link failure when using mkstemp replacement. * src/Makefile.am (tac_LDADD): Add $(LIB_CLOCK_GETTIME). This is necessary at least on a DEC Alpha OSF/1 4.0F. tests: always enable VERBOSE output, now that test framework works better * cfg.mk: Set VERBOSE=yes. * tests/check.mk: Likewise. 2008-04-11 Jim Meyering doc: avoid "make pdf" failure (due to texi2dvi bug?) * doc/coreutils.texi (filesZeroFromOption): Comment out @cindex-in-@macro use. doc: use a valid texinfo macro name * doc/coreutils.texi (filesZeroFromOption): s/0/Zero/ 2008-04-08 Jim Meyering tests: accommodate a different errno value on HPUX-10.20 * tests/mkdir/selinux: Also handle "Unknown system error". Reported by Peter Fales. 2008-04-06 Jim Meyering doc: factor out --files0-from duplication * coreutils.texi (wc invocation) [files0fromOption]: New macro. Use it. (du invocation): Use it here, too. * src/c99-to-c89.diff: Adjust remove.c diffs. 2008-04-06 Jim Meyering remove.c: accommodate systems with negative errno values This is required at least on Haiku and BeOS. * src/remove.c (write_protected_non_symlink): Return 1 for a write- protected non-symlink, 0 if we determine it's not, and -1 upon error (setting errno accordingly only in this final case). (prompt): Deal with the changed semantics of the above function. Based on this patch from Axel Dörfler: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071 2008-04-05 Jim Meyering Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4) * configure.in: Also filter out carriage returns from the value of $no_install_progs_default. Reported by Elbert Pol. 2008-04-02 Jim Meyering "touch E; mkfifo F; cp -fR F E" no longer fails due to existing E * src/copy.c (copy_internal): Revert change of 2005-03-01, 4303f0454592421eea48be87777d32a49e1d5e5b Prompted by Michael Stone, who pointed me to an old bug report from Ian Jackson: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/7504 * tests/cp/special-f: New file. Test for the above. * tests/cp/Makefile.am (TESTS): Add special-f. * NEWS: mention this bug fix. copy.c: remove an in-function #ifdef * src/copy.c (rpl_mkfifo) [! HAVE_MKFIFO]: New function. (mkfifo) [! HAVE_MKFIFO]: Define to rpl_mkfifo. (copy_internal): Remove #ifdef. HACKING: rename README-contribution-guidelines README-contribution-guidelines: Rename to .. HACKING: ...this. 2008-04-01 Jim Meyering bootstrap: remove dangling *.[ch] symlinks from lib * bootstrap [dangling symlink removal]: Match *.[ch] files, too. Suggestion from Eric Blake. bootstrap: make find's -depth option be the first. * bootstrap [dangling symlink removal]: Move find's -depth option to precede all others, to avoid a warning. * bootstrap: Remove dangling symlinks from lib (aka $source_base), too. Avoid root-only SELinux-related test failures w/o mcstransd. When mcstransd is not running (i.e., after service mcstrans stop), "make check" as root would provoke two test failures. * tests/cp/cp-a-selinux: Use the context, root:object_r:tmp_t:s0, that works both with and without mcstransd. Thanks to Eric Paris for the tip and to OndÅ™ej Vašík for alerting me to the problem. Reported by Robert Scheck in . root tests: Set NON_ROOT_USERNAME if not set already. * tests/test-lib.sh (require_root_): This avoids failure of a couple of root-only tests that require a value for that envvar. texinfo formatting tweaks * coreutils.texi: Avoid some overfull hbox warnings. (Treating / specially): Use @file{/} rather than a bare /. printf doc: xref print(3) and libc's "Output Conversion Syntax" node * coreutils.texi (printf invocation): Add xref. Use "The GNU C Library Reference Manual" as the name of the 'libc' document consistently. * man/printf.x: Add See also: printf(3). Suggested by A. Costa in http://bugs.debian.org/465522 2008-03-31 Jim Meyering Emit "#line 1" right after the two 'read-only/GENERATED' lines. * bootstrap (cp_mark_as_generated): This preserves line numbering e.g., in assertions, which is important when correlating between coreutils test failures and the original files in gnulib/tests. Suggested by Eric Blake. * README-contribution-guidelines: Mention how to amend a commit. Suggestion from Pádraig Brady. Begin documenting contribution guidelines. * README-contribution-guidelines: New file. For now, not distributed. "rm -r DIR" would mistakenly prompt about very long names * src/remove.c (write_protected_non_symlink): Return 0(-1) when euidaccess_stat pronounces a writable(not-writable) file, not -1(0). * tests/rm/deep-2: New file. Test for the above-fixed bug. * tests/rm/Makefile.am (TESTS): Add deep-2. Discovered while reviewing this change: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071 * NEWS: Note the dd bug fix. The bug was introduced over 8 years ago: 9fca49f67c16c8b42c32e185808fe187cedb0fa7 2008-03-31 Paul Eggert dd bug fix: accept e.g., if=/dev/stdin and of=/dev/stdout * lib/fd-reopen.c: Work even if FILE is "/dev/stdin". Problem reported by Geoffrey Lee in . * tests/dd/misc: Check for this bug. 2008-03-29 Jim Meyering avoid failure of new test on kernel without SELinux support * tests/mkdir/selinux: Also accept ENOENT. Reported by Sven Joachim. tests: accept ENOTSUP message as well as the EINVAL one This test would fail on most non-Linux systems because the original expected an "Invalid argument" diagnostic, yet they all produced "Operation not supported". * tests/mkdir/selinux: Accept both strings. Factor out duplication. 2008-03-28 Jim Meyering Work around a recent glibc/getopt.c diagnostic change. * tests/misc/factor: Map new "-- '1'" to expected "-- 1". mknod, mkfifo: don't segfault when diagnosing invalid SELinux context Identical to the bug fixed by 72d052896a9092b811961a8f3e6ca5d151a59be5. * src/mkfifo.c (main): Use "scontext", not NULL optarg in diagnostic. * src/mknod.c (main): Likewise. Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. * tests/mkdir/selinux: Test for the above fixes. * NEWS: Mention the fixes. Fix typo in old NEWS and ChangeLog: s/commmand/command/. * ChangeLog-2007: Likewise. * NEWS: Likewise. Prompted by http://bugzilla.redhat.com/439410 2008-03-28 Pádraig Brady tests: Factor out code that's going to be reused. * tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of... * tests/touch/fifo: ...here. 2008-03-28 Jim Meyering Require that "(exit $fail); exit $fail" be last line of each test. * maint.mk (sc_require_test_exit_idiom): New rule to enforce policy. * tests/cp/acl: Adhere to the new policy. * tests/cp/preserve-gid: Likewise. * tests/dd/misc: * tests/install/create-leading: * tests/ln/sf-1: * tests/ls/symlink-slash: * tests/misc/help-version: * tests/misc/ls-time: * tests/misc/nice: * tests/misc/shred-remove: * tests/misc/stty: * tests/misc/stty-row-col: * tests/mkdir/p-1: * tests/mkdir/p-2: * tests/mkdir/p-3: * tests/mkdir/p-v: * tests/mkdir/special-1: * tests/mkdir/writable-under-readonly: * tests/mv/acl: * tests/mv/backup-is-src: * tests/mv/diag: * tests/mv/dir-file: * tests/mv/force: * tests/mv/hard-link-1: * tests/mv/i-2: * tests/mv/i-4: * tests/mv/into-self: * tests/mv/into-self-2: * tests/mv/into-self-3: * tests/mv/partition-perm: * tests/mv/to-symlink: * tests/rmdir/ignore: * tests/tail-2/assert: * tests/tail-2/assert-2: * tests/touch/dangling-symlink: * tests/touch/dir-1: * tests/touch/empty-file: * tests/touch/fifo: * tests/touch/no-rights: Likewise. Perform explicit exit-nonzero if the embedded Perl script fails. * tests/misc/pwd-long: Add canonical '(exit $fail); exit $fail'. 2008-03-27 Jim Meyering paste -d\\: avoid heap overrun for backslash at end of delim list * src/paste.c: Include "quotearg.h". (collapse_escapes): Handle backslash-escaped backslash explicitly. Handle unescaped backslash at end of string by returning nonzero, rather than by overrunning memory. (main): Diagnose an invalid delimiter list -- carefully. Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. * tests/misc/paste-no-nl (delim-bs): Add a test to demonstrate the heap-smashing capability. (delim-bs2): Prior to coreutils-5.1.2, this bug was a little harder to demonstrate: it would corrupt a first-argument containing e.g., \b * NEWS: Mention the bug fix. * tests/misc/Makefile.am (TESTS): Reflect renaming. * tests/misc/paste: Rename from paste-no-nl. 2008-03-26 Jim Meyering * src/join.c (keycmp): Document new parameters. Test for mkdir bug fix. * tests/mkdir/selinux: New file: test for today's fix. * tests/mkdir/Makefile.am (TESTS): Add selinux. 2008-03-25 Daniel Dunbar mkdir -Z x d: don't segfault when diagnosing invalid context "x" (tiny change) * src/mkdir.c (main): Use "scontext", not NULL optarg in diagnostic. Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. * NEWS: Mention the bug fix. 2008-03-25 Peter Fales id bug fix: don't point to potentially clobbered static storage On at least Mac OS, when calling getpwuid twice with the same UID, the static storage containing results from the first call is invalidated by the second call. * src/id.c (main): Point to a copy of the user name string. 2008-03-25 Eric Blake Use new gnulib gnumakefile module. * bootstrap.conf (gnulib_modules): Pull in new module. * GNUmakefile: Remove from version control. * .gitignore: Update. * configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do this now. * Makefile.am (EXTRA_DIST, distclean-local): Likewise. 2008-03-25 Jim Meyering join bug fix: adapt keycmp to work with new order-checking feature * src/join.c (keycmp): Add two join-field parameters. (check_order, join): Update callers. Reported by Dmitry V. Levin in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12731/focus=13017 * tests/join/Test.pm (chkodr-7): New test for this fix. 2008-03-23 Jim Meyering join.c: syntax/style tweaks * src/join.c (check_order): Rename from checkorder. Move definition to precede first use and remove prototype. Use EXIT_FAILURE, rather than "1". (key_cmp): Move definition to precede first use. 2008-03-22 Jim Meyering portability: work around a "busybox sed" limitation * configure.ac: While every other sed tested supports usage like '/\(re\)/{s//\1/;...}', and POSIX appears to requires this, busybox's sed does not support it. So duplicate the regexp: '/\(re\)/{s/\(re\)/\1/;...}'. Reported by Vincent Lefevre: . 2008-03-21 Jim Meyering * src/c99-to-c89.diff: Adjust seq.c offsets. ptx: avoid heap overrun for backslash at end of optarg string * src/ptx.c (copy_unescaped_string): Ignore a lone backslash at end of string. Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. Details here: . * tests/misc/Makefile.am (TESTS): Add ptx-overrun. * tests/misc/ptx-overrun: New file. Test for the above fix. * NEWS: Mention the fix. ptx.c readability * src/ptx.c (copy_unescaped_string): Add braces around 80+-line single-stmt while-loop body. Write NEWS and update c99-to-c89 patch for today's rm improvement. * NEWS: call this a "portability improvement" ;-) * src/c99-to-c89.diff: Adjust remove.c offsets. 2008-03-21 Ingo Weinhold remove.c: Accommodate systems with negative errno values. * src/remove.c (cache_fstatat): Store errno value directly in the st_ino field, rather than trying to shoehorn it into st_size. This is required at least on BeOS and Haiku. 2008-03-21 Jim Meyering * src/seq.c (long_double_format): Add a comment. 2008-03-20 Jim Meyering * GNUmakefile: Update from gnulib. Remove today's automake kludge, altogether. Fix properly. * man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS. Suggestion from Ralf Wildenhues. Add a check to detect this problem, in case it reappears. * maint.mk (my-distcheck): Run "make install", and then ensure that ls.1 is installed. Kludge to make automake generate install-man rules * man/Makefile.am (dist_man_MANS): Add a literal, rm.1. Without this, "make install" would not install man pages. However, with this kludge, the rm.1 man page is installed even when you configure with --enable-no-install-program=rm. Revert recent man/Makefile.am change. Revert 4b544e447eb78fd1f031a026a499f6aed177808a. * man/Makefile.am: That change was only a band-aid. It solved the stated problem, but not a deeper one: that "make install" would no longer man pages. Reported by Dmitry V. Levin. The latter problem arose in 167b8025aca487de001da2448c1aebc2747bc1d3 with the removal of the sole literal from the definition of dist_man_MANS. When automake perceives dist_man_MANS as empty, it no longer emits the install-man* rules. 2008-03-20 Eric Blake Sync GNUmakefile with gnulib. * GNUmakefile (Makefile.cfg): Rename... (cfg.mk): ...to this, and make optional. (GNUmakefile.cfg): Delete, redundant with cfg.mk. (Makefile.maint): Rename... (maint.mk): ...to this. (all) [!_have-Makefile]: Rename... (abort-due-to-no-makefile): ...to this, and invoke via .DEFAULT_GOAL to pick up all targets. * Makefile.cfg: Rename... * cfg.mk: ...to this. * Makefile.maint: Rename... * maint.mk ...to this. (ME): Reflect rename. (makefile-check, m4-check, author_mark_check, msg): Use $(ME) rather than hard-coded name. * Makefile.am (EXTRA_DIST): Distribute renamed files. * .x-sc_file_system: Remove Makefile.maint along with others. No longer needed. * .x-sc_obsolete_symbols: Likewise. * .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names. * TODO: Likewise. 2008-03-19 Bob Proulx make check: Remove /tmp/ls-creating debug code. * tests/misc/ls-misc: Remove debug code creating /tmp/ls. 2008-03-19 Jim Meyering bootstrap: restore kludge removed on 2008-03-12: it's still necessary. * bootstrap: Make the gnulib-tests/test-*.sh scripts executable. This restores code removed by dec8bb25bb6da2fe9fe6dd63c0fbbd593a0e94cb. Reported by Bob Proulx. Check for -- and remove -- some unnecessarily included header files. * Makefile.maint: Add checks for a handful of additional header files. * src/mktemp.c: Don't include "long-options.h". Not used. * src/pr.c: Don't include "inttostr.h". Not used. * src/printenv.c: Don't include "error.h". Not used. * src/test.c: Don't include "error.h". Not used. * src/touch.c: Don't include "safe-read.h". Not used. Remove more vestiges of CVS. * Makefile.maint (VC_LIST): Rename from CVS_LIST. (VC_LIST_EXCEPT): Rename from CVS_LIST_EXCEPT. mv: never unlink a destination file before calling rename While cp --preserve=links must unlink certain destination files, mv must never do that. * src/copy.c (copy_internal): Pull the '! x->move_mode' test "up", so it affects the entire condition, and not just DEREF_NEVER mode. Reported by James Ralston in . * tests/mv/atomic2: New file. Test for the above fix. * tests/mv/Makefile.am (TESTS): Add atomic2. * NEWS: Mention the bug-fix. [Bug introduced in 367719ba5f1dbd5e2f7fa2466c441f23f66a7c9e] "make" would not always update man/*.1 files (but "make dist" would) * man/Makefile.am (BUILT_SOURCES): Define, so that "make" always updates man/*.1 files. Reported by Bob Proulx. 2008-03-18 Jim Meyering syntax-check: Make the space-before-open-paren optional. * Makefile.maint (sc_prohibit_assert_without_use): Match also when there is no space before the opening parenthesis. (sc_prohibit_getopt_without_use): Likewise. (sc_prohibit_quotearg_without_use): Likewise. (sc_prohibit_quote_without_use): Likewise. * Makefile.maint (sc_no_have_config_h): Use a more precise regexp. * Makefile.maint (CVS): Remove now-unused definition. Factor out duplication in sc_prohibit_*_without_use rules. * Makefile.maint (_header_without_use): New "command", factored out of four sc_prohibit_HEADER_without_use rules. (sc_prohibit_assert_without_use): Rewrite using $(_header_without_use). (sc_prohibit_getopt_without_use): Likewise. (sc_prohibit_quotearg_without_use): Likewise. (sc_prohibit_quote_without_use): Likewise. 2008-03-18 Dmitry V. Levin Correct typo in "make syntax-check" diagnostic. * Makefile.maint (sc_prohibit_getopt_without_use): s/assert.h/getopt.h/ 2008-03-16 Jim Meyering Prohibit inclusion of getopt.h without use. * Makefile.maint (sc_prohibit_getopt_without_use): New rule. Include only if used. * src/group-list.c: Don't include . * src/printf.c: Likewise. 2008-03-16 J. Scott Edwards sha512_process_bytes: fix a bug in processing a buffer where length&64 != 0 * gl/lib/sha512.c (sha512_process_bytes): s/63/127/. 2008-03-12 Jim Meyering Generalize GNUmakefile, ... ...so that it can be used unmodified by autoconf. * GNUmakefile: Include optional file, GNUmakefile.cfg. Autoconf will use this to override _autoreconf and to export PATH. (_autoreconf): Define. (_dummy): cd to $(srcdir) before removing autom4te.cache. * bootstrap: Sync from gnulib and remove part of a local kludge. 2008-03-10 OndÅ™ej Vašík install, rmdir: write --verbose output to stdout, not to stderr. * src/install.c (announce_mkdir): Write verbose output to stdout, not to stderr. * src/mkdir.c (announce mkdir): Use prog_fprintf for verbose output. * src/prog-fprintf.c (prog_fprintf): New function and file. * src/prog-fprintf.h: New file. * src/rmdir.c (main): Write verbose output to stdout, not to stderr. Quote directory name in a diagnostic. * src/rmdir.c (remove_parents): Write verbose output to stdout, not to stderr. * doc/coreutils.texi: Mention that shred verbose output is to stderr. * NEWS: Mention the changes. 2008-03-10 Jim Meyering make syntax-check: also check src/*.h files for extern functions, * src/Makefile.am (sc_tight_scope): ... now that there is one. 2008-03-07 Jim Meyering dd: avoid unnecessary, but harmless close_stdout call. * src/dd.c (close_stdout_required): New global. (maybe_close_stdout): New function. (main): Set the global. Reported by Ulrich Drepper in http://bugzilla.redhat.com/436368 2008-03-06 Jim Meyering Now that ChangeLog is no longer under version control, ... * Makefile.maint (alpha beta major): Don't make changelog-check. (changelog-version-check): Rename from changelog-check. 2008-03-05 Jim Meyering * src/c99-to-c89.diff: Accommodate a C99-ism in id.c. 2008-03-05 ribalba Work around AFS bug: id and groups would print invalid group number. * src/id.c (main): Call print_group_list with a user name, if possible. * src/groups.c (main): Likewise. * NEWS: Mention this. For details, see http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12852 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12875 2008-03-05 Jim Meyering Now that Makefile.maint is used in VPATH builds, too... * Makefile.maint (prev_version_file): Prefix with $(srcdir)/. (syntax-check-rules): Prefix $(ME) with $(srcdir)/. Avoid new "make distcheck" failure, now that VPATH has GNUmakefile. * GNUmakefile: Remove commands to create ".version". They were unnecessary, and caused creation of a newer .version file in a VPATH build, which in turn caused creation of updated man/*.1 files reflecting the newer time stamp on .version. Those *.1 files were not removed (since they're distributed), and the fact that they remained after "distclean" triggered the failure. 2008-03-04 Eric Blake Reinstate GNUmakefile patch, but with workaround for automake. * configure.ac (AC_CONFIG_LINKS): Use shell variable to bypass automake distclean rules. * Makefile.am (distclean-local): Clean GNUmakefile in VPATH builds, since we are bypassing automake. * GNUmakefile (_is-dist-target): 'distclean' is not a dist target. 2008-03-04 Jim Meyering Clarify comment and attribute preceding change: Reported by Ralf Wildenhues. Comment out yesterday's VPATH-friendly addition, for now. * configure.ac: ...while we wait for a fixed version of automake. 2008-03-03 Eric Blake Use m4_PACKAGE_VERSION, not AC_AUTOCONF_VERSION. * configure.ac: The latter is only in post-2.61 autoconf. GNUmakefile build tweaks. * GNUmakefile: When Makefile is not present, make common targets depend on "all" in order to trigger nicer error message. * configure.ac: If autoconf is new enough, link GNUmakefile into VPATH builds. For more details, see . 2008-03-03 Simon Josefsson Define SHA*_DIGEST_SIZE symbols. * gl/lib/sha256.h (SHA224_DIGEST_SIZE, SHA256_DIGEST_SIZE): Define. * gl/lib/sha512.h (SHA384_DIGEST_SIZE, SHA512_DIGEST_SIZE): Define. 2008-03-02 Ralf Wildenhues Fix so that out-of-tree VPATH "make dist" works, too. * GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument. 2008-03-02 Jim Meyering One more for non-srcdir "make dist". * GNUmakefile: Also cd $(srcdir) before running autoreconf. Adjust so that non-srcdir "make dist" works, too. * GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument. Don't infringe namespace of "sub"-Makefiles. * GNUmakefile (_dummy, _have-Makefile): Add "_" prefix. Create sha256 and sha512 modules and move files into gl/. * bootstrap.conf (gnulib_modules): Add sha256 and sha512. * m4/prereq.m4: Don't require gl_SHA256 or gl_SHA512. * gl/modules/sha512: New file. * gl/modules/sha256: New file. * m4/sha256.m4: Move to ... * gl/m4/sha256.m4: ...here, removing use of AC_SOURCES. * m4/sha512.m4: Move to ... * gl/m4/sha512.m4: ...here, removing use of AC_SOURCES. * lib/sha256.c, lib/sha256.h: Move to ... * gl/lib/sha256.c, gl/lib/sha256.h: ...here. * lib/sha512.c, lib/sha512.h: Move to ... * gl/lib/sha512.c, gl/lib/sha512.h: ...here. * lib/u64.h: Move to ... * gl/lib/u64.h: ...here. * bootstrap: Remove only *.m4, and only from $m4_base/. Rewrite the comment. * bootstrap: Sync from gnulib. 2008-03-01 Jim Meyering Don't skip the groups-version test. * tests/Makefile.am (built_programs): Remove unused definition. * src/Makefile.am (built_programs.list): Print a space-separated list of program names, not NL-separated, since all clients now expect a space-separated list. Don't exempt "groups" from write-failure test, now that it's a C program. * tests/misc/help-version: Since groups is no longer a shell script, a buggy bourne shell can't cause trouble. * configure.ac (AC_INIT): Use .tarball-version, not .version. Don't depend on gnulib's deprecated "free" module. * bootstrap.conf (obsolete_gnulib_modules): Remove free. * gl/modules/mgetgroups (Depends-on): Remove free. 2008-02-29 Jim Meyering Merge bootstrap changes from gnulib. * bootstrap (MSGID_BUGS_ADDRESS): Define and use. (version_controlled_file): Use "git rm", not "git-rm". Use "git tag", not "git-tag", in preparation for git-1.6.0. * Makefile.maint (VC-tag): Remove '-': s/git-tag/git tag/ 2008-02-28 Jim Meyering Make copyright comments consistent. * src/mktemp.c: Update copyright to use newer form. Make first copyright lines consistent. Some did not end in ", Inc.". Due to that missing ", Inc" at end of line, emacs' copyright-updating code missed some opportunities. This corrects most of those, and adds some mistakenly omitted years. * src/chown-core.c: Adjust. * src/chown-core.h: Likewise. * src/copy.c: Likewise. * src/copy.h: Likewise. * src/cp-hash.c: Likewise. * src/cp.c: Likewise. * src/group-list.h: Likewise. * src/mktemp.c: Likewise. * src/stat.c: Likewise. * tests/chmod/equal-x: Likewise. * tests/dd/skip-seek: Likewise. * tests/envvar-check: Likewise. * tests/mv/into-self-2: Likewise. 2008-02-25 Bob Proulx Fix test failure where rm would appear to succeed incorrectly. * tests/rm/fail-eperm: Ignore files that were opportunistically chosen to test permission failures but disappear before we can finish the test. 2008-02-24 Jim Meyering * gl/lib/mgetgroups.c (mgetgroups): Parenthesize correctly. * gl/lib/mgetgroups.c: Include . 2008-02-23 Jim Meyering Avoid test failures when root (/) is not readable. * tests/test-lib.sh (require_readable_root_): New function. * tests/misc/pwd-long: Skip this test when / is unreadable. * tests/du/slash: Likewise. This is required at least for Mandrake/Mandriva in "secure" mode. Reported by Theodoros V. Kalamatianos in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12800 2008-02-22 Jim Meyering id: avoid race when a group is added between getgrouplist calls * gl/lib/mgetgroups.c (mgetgroups) [N_GROUPS_INIT]: Rename enum. Use a larger value. Update *groups only upon success. Iterate upon failed getgrouplist. 2008-02-21 James Youngman id: use getgrouplist when possible * gl/m4/mgetgroups.m4: Check for getgrouplist. * gl/lib/mgetgroups.c (mgetgroups): Use getgrouplist, if available. * TODO: Remove the item about switching to getgrouplist. * NEWS: mention this 2008-02-21 Paul Eggert du vs. hard links and argument order: improve documentation * doc/coreutils.texi (du invocation): Document default behavior on hard links, and why argument order matters. 2008-02-20 James Youngman join: avoid new leaks * src/join.c (prevline): Make prevline module-level static, so that the allocated items can be freed at exit. (free_prevline): new atexit function; frees items in prevline[]. Use ARRAY_CARDINALITY, so include "argmatch.h" to get that. (main): Arrange for free_prevline to be called during exit. (get_line): Free prevline[which - 1] also, as that will have been allocated by dup_line. 2008-02-20 Jim Meyering Remove xdelta support, clean up distcheck process. * Makefile.maint (writable-files): Don't create $(release_archive_dir). (my-distcheck): Don't depend on prev-tgz. Remove xdelta-related variables and uses. (alpha beta major): Skip steps if $(release_archive_dir) doesn't exist. * bootstrap: Remove dangling symlinks before invoking aclocal. 2008-02-20 Andreas Schwab sort: add --sort=... option. * src/sort.c (SORT_OPTION): New enum. (sort_args, sort_types): Define. (usage, long_options, main): New option --sort. * tests/sort/Test.pm: Test it. * doc/coreutils.texi (sort invocation): Document --sort option. * NEWS: Mention this. 2008-02-19 Jim Meyering 2008-02-19 Jim Meyering * TODO: Remove final seq-related item. * src/c99-to-c89.diff: Adjust seq.c offsets. Accommodate a new C99-ism. 2008-02-19 Steven Schubiger seq: give better diagnostics for invalid formats. * src/seq.c: (validate_format): New function. (main): Use it. * tests/misc/seq (fmt-d, fmt-e): Test for expected diagnostics with invalid formats. * NEWS: Mention this change. * TODO: Remove this item. [jm: src/seq.c: make diagnostics more consistent tests/misc/seq (fmt-eos1): adjust the expected diagnostic ] 2008-02-19 James Youngman join: new options: --check-order and --nocheck-order. * src/join.c: Support --check-order and --nocheck-order. New variables check_input_order, seen_unpairable and issued_disorder_warning[]. For --check-order, verify that the input files are in sorted order. For the default case, check the order only if there are unpairable lines. (join): Perform ordering checks after reaching EOF on either input. (usage): Mention --check-order and --nocheck-order. (dupline): Save a copy of the previously-read input line so that we can detect disorder on the input. (get_line): Temporarily save a copy of the previous line (by calling dupline) and check relative ordering (by calling checkorder) before returning the newly-read line. (getseq, join): Tell get_line which file we are reading from. (advance_seq): New function, factoring out some of the code commonly surrounding calls to getseq. (checkorder): New function. Verifies that a pair of consecutive input lines are in sorted order. * doc/coreutils.texi (join invocation): Document the new options --check-order and --nocheck-order. * tests/join/Test.pm (tv): Added tests for --check-order and --nocheck-order. * NEWS: Mention this new feature. Fix non-srcdir "make distcheck" failure. * Makefile.am (check-ls-dircolors): Look for sources under $(srcdir), not under ".". 2008-02-18 Jim Meyering seq: give a proper diagnostic for an invalid --format=% option * src/seq.c (long_double_format): Handle '%' at end of string. * tests/misc/seq [fmt-eos1, fmt-eos2]: New tests for the bug. * NEWS: Mention this. Reported by Pádraig Brady. 2008-02-17 Jim Meyering .gitignore, src/.gitignore: ignore more Clean up Makefile.maint. * Makefile.maint: Remove obsolete comments. (local-checks-available): Remove changelog-check. Clean up ls.c. * src/ls.c (put_indicator): Use fwrite, not a loop. Ensure that dircolors.c and ls.c remain in sync. * Makefile.am (check-ls-dircolors): New rule. (distcheck-hook): Depend on it. 2008-02-17 Jim Meyering Expand "ls --color" tests to also use the dircolors defaults. * tests/misc/ls-misc: Adjust this test so each is run twice. First, as usual, and the second time with LS_COLORS set using the default settings produced by running dircolors. * tests/Coreutils.pm: See below. This required some changes: - save and restore $ENV{LS_COLORS} for each individual test that requires a specific value. - Since this is the first test to call the run_tests command more than once, it has exposed that that function erroneously modifies the \@Tests array. Fix that in tests/Coreutils.pm. 2008-02-17 Jim Meyering Adjust dircolors to match ls.c. * src/dircolors.hin: comment out NORMAL and FILE, define RESET. * src/dircolors.c (slack_codes) Add "RESET". (ls_codes): Add "rs". 2008-02-17 Ed Avis ls --color no longer outputs unnecessary escape sequences In --color mode, plain files do not get any color, not even white. When no highlighting is required, ls outputs no escape sequence at all. * src/ls.c (print_with_color): (used_color): New global. (indicator_no) [C_RESET]: New enum value. (indicator_name) ["rs"]: Corresponding new string. (color_indicator): Make the 'normal' and 'file' markers be NULL. Use "rs" (C_RESET) to reset to ordinary colors. (process_signals): Restore default colors only if necessary. (main): Don't call prep_non_filename_text here. (print_name_with_quoting): Call it here, instead. (prep_non_filename_text): Use C_RESET, not C_NORM. (print_color_indicator): Return bool, not void. Print nothing, when possible. (put_indicator): Call prep_non_filename_text the first time. * tests/misc/ls-misc: Test for above. * tests/ls/color-dtype-dir: Adapt: no escapes around regular file name. * TODO: Remove item. * NEWS: Mention this. 2008-02-17 Dan Jacobson ls: Improve description of --group-directories-first. * src/ls.c (usage) [--group-directories-first]: Improve description. * doc/coreutils.texi (Which files are listed): Likewise. 2008-02-16 Jim Meyering Avoid tests/cp/acl test failure. * tests/check.mk (TESTS_ENVIRONMENT) [CONFIG_HEADER]: Define to an absolute name, so it can be used from any point in the test hierarchy. Reported by James Youngman. 2008-02-16 James Youngman Use the gettime module in ls.c. Implement TODO list item to make ls.c use the gettime module. * TODO (ls): Now that we use gettime, remove the TODO entry. * src/ls.c: Use timespec.h and the gettime module. (current_time): Change type from time_t to struct timespec. (current_time_ns): Removed. (get_current_time): Removed. (print_long_format): Remove when and when_ns, since we have when_timespec anyway. Change type of variable six_months_ago from time_t to struct timespec. 2008-02-14 Jim Meyering groups: don't test printf and putchar calls for failure They are unnecessary, since we use gnulib's closeout module. * src/group-list.c (print_group): Remove explicit error tests. * src/groups.c (main): Likewise. (write_error): Remove function. 2008-02-13 James Youngman Replace groups.sh with groups.c. * src/groups.c (main): New file, replacing groups.sh. * src/group-list.c, src/group-list.h: New files, factored out of id.c, implementing the functionality that "id" and "groups" have in common. * src/id.c (print_full_info): Avoid a segfault when trying to print an error message if getgroups fails. (print_group_list): Move to group-list.c. (print_group): Likewise. * man/Makefile.am: When building groups.1, obtain the help text from src/groups.c, not src/groups.sh. (noinst_HEADERS): Add group-list.h. (group): Remove rule. (dist_man_MANS): Remove groups.1. * doc/coreutils.texi (groups: Print group names a user is in): Explain why "groups" and "groups $(id -un)" give different results in existing login sessions after you change the group database. (id: Print user identity): Likewise for "id". * po/POTFILES.in: Add src/group-list.c and src/groups.c. * NEWS: mention this. * AUTHORS: Update. 2008-02-12 Jim Meyering Move more test_skip_-using code to follow ". test-lib.sh". * tests/mv/acl: Likewise. * tests/cp/acl: Likewise. 2008-02-12 Peter Fales tests/touch/not-owner: Source test-lib.sh before using skip_test_. 2008-02-11 Jim Meyering * tests/Makefile.am (EXTRA_DIST): Remove strace. tests: Migrate sourced strace file into a function, require_strace_. * tests/strace: Remove file. * tests/test-lib.sh (require_strace_): New function. * tests/mv/atomic: Use require_strace_, rather than ". strace". * tests/ls/stat-free-symlinks: Likewise. Peter Fales reported that stat-free-symlinks failed without strace. * tests/rm/inaccessible: Source test-lib.sh *before* using skip_test_. Reported by Peter Fales. 2008-02-10 Jim Meyering Ensure there are no removable (useless) if-before-free tests. * bootstrap.conf (gnulib_modules): Add useless-if-before-free. * Makefile.maint (sc_avoid_if_before_free): New rule. Use a better dirname emulation. * build-aux/check.mk (_dirname): Define. (am__check_pre): Use it. Avoid test failure when run with risky PATH ("." before /usr/bin). * build-aux/check.mk (approx_dirname_filter): Define. (am__check_pre): Emulate dirname using sed. Report and suggested fix from Bruno Haible in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12587/focus=12590 * build-aux/.gitignore: Remove file from version control. It's generated. Generate ChangeLog from git log. * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. Ensure that ChangeLog exists, for automake. * Makefile.am (gen-ChangeLog): New rule. (dist-hook): Depend on it. (EXTRA_DIST): Add ChangeLog-2006, ChangeLog-2007, ChangeLog-2008. Remove ChangeLog, dividing its content into ChangeLog-200? * ChangeLog: Remove file. * ChangeLog-2005: Prepend the 2005 entries. * ChangeLog-2006: New file. * ChangeLog-2007: New file. * ChangeLog-2008: New file. * ChangeLog: Manually update copyright notice at *bottom*. 2008-02-09 Jim Meyering tests: rm/fail-eperm: require-non-root in perl, not sh Since it creates no temporaries and since it requires non-root, do the require-non-root bit in perl, rather than using test-lib.sh. tests: Remove priv-check. Use new require_root_ function instead. * tests/priv-check: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove priv-check. * tests/test-lib.sh (require_root_): New function. Use this function rather than sourcing the priv-check file. * tests/sample-test: Use require_root_ rather than priv-check. * tests/chown/basic: Likewise. * tests/cp/cp-a-selinux: Likewise. * tests/cp/preserve-gid: Likewise. * tests/cp/special-bits: Likewise. * tests/ls/nameless-uid: Likewise. * tests/misc/chcon: Likewise. * tests/mkdir/writable-under-readonly: Likewise. * tests/mv/sticky-to-xpart: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/rm/no-give-up: Likewise. * tests/rm/one-file-system: Likewise. * tests/tail-2/append-only: Likewise. * tests/touch/now-owned-by-other: Likewise. * tests/rm/fail-eperm: Use skip_if_root_ rather than priv-check. * Makefile.maint (sc_root_tests): Reflect this change: search for the new function name. 2008-02-09 Jim Meyering tests: factor out the perl-requiring code in many test scripts * tests/require-perl: New file. * tests/Makefile.am (EXTRA_DIST): Add require-perl. * tests/dd/skip-seek: Use it, and remove manual tests. * tests/du/files0-from: Likewise. * tests/ls/nameless-uid: Likewise. * tests/misc/base64: Likewise. * tests/misc/basename: Likewise. * tests/misc/cut: Likewise. * tests/misc/date: Likewise. * tests/misc/dircolors: Likewise. * tests/misc/dirname: Likewise. * tests/misc/expand: Likewise. * tests/misc/expr: Likewise. * tests/misc/factor: Likewise. * tests/misc/fmt: Likewise. * tests/misc/fold: Likewise. * tests/misc/head-elide-tail: Likewise. * tests/misc/ls-misc: Likewise. * tests/misc/md5sum: Likewise. * tests/misc/md5sum-newline: Likewise. * tests/misc/mktemp: Likewise. * tests/misc/od: Likewise. * tests/misc/paste-no-nl: Likewise. * tests/misc/pr: Likewise. * tests/misc/pwd-long: Likewise. * tests/misc/seq: Likewise. * tests/misc/sha1sum: Likewise. * tests/misc/sha1sum-vec: Likewise. * tests/misc/sha224sum: Likewise. * tests/misc/sha256sum: Likewise. * tests/misc/sha384sum: Likewise. * tests/misc/sha512sum: Likewise. * tests/misc/sort-merge: Likewise. * tests/misc/stat-printf: Likewise. * tests/misc/sum: Likewise. * tests/misc/sum-sysv: Likewise. * tests/misc/test-diag: Likewise. * tests/misc/tsort: Likewise. * tests/misc/tty-eof: Likewise. * tests/misc/unexpand: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/misc/xstrtol: Likewise. * tests/mv/i-1: Likewise. * tests/rm/empty-name: Likewise. * tests/rm/fail-eperm: Likewise. * tests/rm/unreadable: Likewise. (EXTRA_DIST): *do* require require-perl as a stand-alone, 'source'able script. 2008-02-09 Jim Meyering tests: call skip_test_ in place of echo+exit 77 * tests/mv/no-target-dir: Likewise. * tests/other-fs-tmpdir: Likewise. * tests/rm/empty-name: Likewise. * tests/rm/fail-eperm: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/isatty: Likewise. * tests/rm/unreadable: Likewise. * tests/setgid-check: Likewise. * tests/sparse-file: Likewise. * tests/strace: Likewise. * tests/tail-2/append-only: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/tail-2/tail-n0f: Likewise. * tests/touch/dangling-symlink: Likewise. * tests/touch/fifo: Likewise. * tests/touch/not-owner: Likewise. * tests/mv/i-3: Likewise. * tests/umask-check: Likewise. * tests/mv/acl: Likewise. * tests/cp/acl: Likewise. * tests/chgrp/deref: Likewise. * tests/chmod/setgid: Likewise. * tests/cp/existing-perm-race: Likewise. * tests/cp/file-perm-race: Likewise. * tests/cp/parent-perm-race: Likewise. * tests/du/2g: Likewise. * tests/du/8gb: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/du/long-sloop: Likewise. * tests/du/slink: Likewise. * tests/ls/nameless-uid: Likewise. * tests/ls/stat-dtype: Likewise. * tests/misc/cat-proc: Likewise. * tests/misc/md5sum-newline: Likewise. * tests/misc/nice: Likewise. * tests/misc/od-x8: Likewise. * tests/misc/pwd-unreadable-parent: Likewise. * tests/misc/selinux: Likewise. * tests/misc/stty-row-col: Likewise. * tests/misc/tac-continue: Likewise. * tests/misc/arch: Likewise, and source $srcdir/../test-lib.sh *before* the use of skip_test_. tests: move the very-expensive file into test-lib.sh * tests/very-expensive: Remove file. * tests/test-lib.sh (very_expensive_): New function. * tests/Makefile.am (EXTRA_DIST): Remove very-expensive. * tests/cp/perm: Call the new function, rather than sourcing the file. * tests/tail-2/assert: Likewise. * tests/tail-2/assert-2: Likewise. * tests/du/2g: Likewise. tests: start migrating sourced-file function-like tests into test-lib.sh. * tests/acl: Remove file. * tests/test-lib.sh (require_acl_): New function. * tests/cp/acl: Use require_acl_ instead. * tests/mv/acl: Likewise. * tests/Makefile.am (EXTRA_DIST): Remove acl. tests: mv/acl: Don't mention "yes" as a partition name in diagnostic. coreutils-8.21/build-aux/0000775000000000000000000000000012107207523012317 500000000000000coreutils-8.21/build-aux/texinfo.tex0000664000000000000000000116703612104754777014472 00000000000000% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2013-02-01.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation, either version 3 of the % License, or (at your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be % useful, but WITHOUT ANY WARRANTY; without even the implied warranty % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program. If not, see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. This Exception is an additional permission under section 7 % of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or % http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or % http://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Since the category of space is not known, we have to be careful. \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. \chardef\ampChar = `\& \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! \chardef\hashChar = `\# \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\slashChar = `\/ \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\thisisundefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % @errormsg{MSG}. Do the index-like expansions on MSG, but if things % aren't perfect, it's not the end of the world, being an error message, % after all. % \def\errormsg{\begingroup \indexnofonts \doerrormsg} \def\doerrormsg#1{\errmessage{#1}} % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. The solution is % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 \noexpand\or \the\toks4 \the\toks6 \noexpand\else \the\toks8 }% } % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} % % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my % favourite TeX trick. --kasal, 16nov03 \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty outside of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal. \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox \prevdepth = \dimen1 \checkinserts } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. Not documented, written for gawk manual. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). This command % is not documented, not supported, and doesn't work. % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. \wlog{texinfo.tex: doing @include of #1^^J}% \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other \catcode`\`=\other \catcode`\'=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} % \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\centersub\centerH \else \let\centersub\centerV \fi \centersub{\hfil \ignorespaces#1\unskip \hfil}% \let\centersub\relax % don't let the definition persist, just in case } \def\centerH#1{{% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }} % \newcount\centerpenalty \def\centerV#1{% % The idea here is the same as in \startdefun, \cartouche, etc.: if % @center is the first thing after a section heading, we need to wipe % out the negative parskip inserted by \sectionheading, but still % prevent a page break here. \centerpenalty = \lastpenalty \ifnum\centerpenalty>10000 \vskip\parskip \fi \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi \line{\kern\leftskip #1\kern\rightskip}% } % @sp n outputs n lines of vertical space % \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment % \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} % \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent{% \restorefirstparagraphindent \indent }% \gdef\noindent{% \restorefirstparagraphindent \noindent }% \global\everypar = {% \kern -\parindent \restorefirstparagraphindent }% } \gdef\restorefirstparagraphindent{% \global \let \indent = \ptexindent \global \let \noindent = \ptexnoindent \global \everypar = {}% } % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. \openin 1 texinfo.cnf \ifeof 1 \else \input texinfo.cnf \fi \closein 1 % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as being undefined. \ifx\pdfoutput\thisisundefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and % related messages. The final outcome is that it is up to the TeX user % to double the backslashes and otherwise make the string valid, so % that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to % do this reliably, so we use it. % #1 is a control sequence in which to do the replacements, % which we \xdef. \def\txiescapepdf#1{% \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. \else % The expandable \pdfescapestring primitive escapes parentheses, % backslashes, and other special chars. \xdef#1{\pdfescapestring{#1}}% \fi } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros based on pdfcolor.tex, % except using rgb instead of cmyk; the latter is said to render as a % very dark gray on-screen and a very dark halftone in print, instead % of actual black. \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % % k sets the color for filling (usual text, etc.); % K sets the color for stroking (thin rules, e.g., normal _'s). \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .pdf, .png, .jpg (among % others). Let's try in that order, PDF first since if % someone has a scalable image, presumably better to use that than a % bitmap. \let\pdfimgext=\empty \begingroup \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \pdfimagewidth \fi \ifdim \wd2 >0pt height \pdfimageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive \makevalueexpandable \def\pdfdestname{#1}% \txiescapepdf\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. \def\urlcolor{\rgbDarkRed} \def\linkcolor{\rgbDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \edef\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else \txiescapepdf\pdfoutlinedest \fi % % Also escape PDF chars in the display string. \edef\pdfoutlinetext{#1}% \txiescapepdf\pdfoutlinetext % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Read toc silently, to get counts of subentries for \pdfoutline. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % TODO this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Too % much work for too little return. Just use the ASCII equivalents % we use for the index sort strings. % \indexnofonts \setupdatafile % We can have normal brace characters in the PDF outlines, unlike % Texinfo index files. So set that up. \def\{{\lbracecharliteral}% \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } {\catcode`[=1 \catcode`]=2 \catcode`{=\other \catcode`}=\other \gdef\lbracecharliteral[{]% \gdef\rbracecharliteral[}]% ] % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \nextsp} \def\getfilename#1{% \filenamelength=0 % If we don't expand the argument now, \skipspaces will get % snagged on things like "@value{foo}". \edef\temp{#1}% \expandafter\skipspaces\temp|\relax } \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable % do we want to go so far as to use \indexnofonts instead of just % special-casing \var here? \def\var##1{##1}% % \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput \message{fonts,} % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname ten#1\endcsname % change the current font } % Select #1 fonts with the current style. % \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Unfortunately, we have to override this for titles and the like, since % in those cases "rm" is bold. Sigh. \def\rmisbold{\rm\def\curfontstyle{bf}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\thisisundefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). % Example: % #1 = \textrm % #2 = \rmshape % #3 = 10 % #4 = \mainmagstep % #5 = OT1 % \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % % (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\thisisundefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. (The default in Texinfo.) % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm } % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acro in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} \divide\parskip by 2 % reduce space between paragraphs \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm } % end of 10pt text font size definitions, \definetextfontsizex % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xiword{11} \def\xword{10} \def\xwordpt{10pt} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% %\wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this because \STYLE needs to also set the % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used in % the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{27pt}} \def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts \def\reducedfonts{% \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} % Define these just so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi \message{markup,} % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will % define and register \INITMACRO to be called on markup style changes. % \INITMACRO can check \currentmarkupstyle for the innermost % style and the set of \ifmarkupSTYLE switches for all styles % currently in effect. \newif\ifmarkupvar \newif\ifmarkupsamp \newif\ifmarkupkey %\newif\ifmarkupfile % @file == @samp. %\newif\ifmarkupoption % @option == @samp. \newif\ifmarkupcode \newif\ifmarkupkbd %\newif\ifmarkupenv % @env == @code. %\newif\ifmarkupcommand % @command == @code. \newif\ifmarkuptex % @tex (and part of @math, for now). \newif\ifmarkupexample \newif\ifmarkupverb \newif\ifmarkupverbatim \let\currentmarkupstyle\empty \def\setupmarkupstyle#1{% \csname markup#1true\endcsname \def\currentmarkupstyle{#1}% \markupstylesetup } \let\markupstylesetup\empty \def\defmarkupstylesetup#1{% \expandafter\def\expandafter\markupstylesetup \expandafter{\markupstylesetup #1}% \def#1% } % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } { \catcode`\'=\active \catcode`\`=\active \gdef\markupsetuplqdefault{\let`\lq} \gdef\markupsetuprqdefault{\let'\rq} \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} } \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright % \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % \let\markupsetuplqkbd \markupsetcodequoteleft \let\markupsetuprqkbd \markupsetcodequoteright % \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright % \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it % works for pasting with more pdf viewers (at least evince), the % lilypond developers report. xpdf does work with the regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax % [Knuth] pp. 380,381,391 % \relax disables Spanish ligatures ?` and !` of \tt font. \relax`% \else \char'22 \fi \else \char'22 \fi } % Commands to set the quote options. % \parseargdef\codequoteundirected{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxicodequoteundirected\endcsname = t% \else\ifx\temp\offword \expandafter\let\csname SETtxicodequoteundirected\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% \fi\fi } % \parseargdef\codequotebacktick{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxicodequotebacktick\endcsname = t% \else\ifx\temp\offword \expandafter\let\csname SETtxicodequotebacktick\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% \fi\fi } % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Font commands. % #1 is the font command (\sl or \it), #2 is the text to slant. % If we are in a monospaced environment, however, 1) always use \ttsl, % and 2) do not add an italic correction. \def\dosmartslant#1#2{% \ifusingtt {{\ttsl #2}\let\next=\relax}% {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% \next } \def\smartslanted{\dosmartslant\sl} \def\smartitalic{\dosmartslant\it} % Output an italic correction unless \next (presumed to be the following % character) is such as not to need one. \def\smartitaliccorrection{% \ifx\next,% \else\ifx\next-% \else\ifx\next.% \else\ptexslash \fi\fi\fi \aftersmartic } % Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} \def\aftersmartic{} \def\var#1{% \let\saveaftersmartic = \aftersmartic \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% \smartslanted{#1}% } \let\i=\smartitalic \let\slanted=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @b, explicit bold. Also @strong. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default % @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} % @indicateurl is \samp, that is, with quotes. \let\indicateurl=\samp % @code (and similar) prints in typewriter, but with spaces the same % size as normal in the surrounding text, without hyphenation, etc. % This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null % reset spacefactor to 1000 } % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup \setupmarkupstyle{code}% % The following should really be moved into \setupmarkupstyle handlers. \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\normaldash \let_\realunder \fi \codex } } \def\codex #1{\tclose{#1}\endgroup} \def\normaldash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is bad. % @allowcodebreaks provides a document-level way to turn breaking at - % and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% \fi\fi } % For @command, @env, @file, @option quotes seem unnecessary, % so use \code rather than \samp. \let\command=\code \let\env=\code \let\file=\code \let\option=\code % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. % (This \urefnobreak definition isn't used now, leaving it for a while % for comparison.) \def\urefnobreak#1{\dourefnobreak #1,,,\finish} \def\dourefnobreak#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % This \urefbreak definition is the active one. \def\urefbreak{\begingroup \urefcatcodes \dourefbreak} \let\uref=\urefbreak \def\dourefbreak#1{\urefbreakfinish #1,,,\finish} \def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url \fi \else \urefcode{#1}% only url given, so show it \fi \fi \endlink \endgroup} % Allow line breaks around only a few characters (only). \def\urefcatcodes{% \catcode\ampChar=\active \catcode\dotChar=\active \catcode\hashChar=\active \catcode\questChar=\active \catcode\slashChar=\active } { \urefcatcodes % \global\def\urefcode{\begingroup \setupmarkupstyle{code}% \urefcatcodes \let&\urefcodeamp \let.\urefcodedot \let#\urefcodehash \let?\urefcodequest \let/\urefcodeslash \codex } % % By default, they are just regular characters. \global\def&{\normalamp} \global\def.{\normaldot} \global\def#{\normalhash} \global\def?{\normalquest} \global\def/{\normalslash} } % we put a little stretch before and after the breakable chars, to help % line breaking of long url's. The unequal skips make look better in % cmtt at least, especially for dots. \def\urefprestretch{\urefprebreak \hskip0pt plus.13em } \def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em } % \def\urefcodeamp{\urefprestretch \&\urefpoststretch} \def\urefcodedot{\urefprestretch .\urefpoststretch} \def\urefcodehash{\urefprestretch \#\urefpoststretch} \def\urefcodequest{\urefprestretch ?\urefpoststretch} \def\urefcodeslash{\futurelet\next\urefcodeslashfinish} { \catcode`\/=\active \global\def\urefcodeslashfinish{% \urefprestretch \slashChar % Allow line break only after the final / in a sequence of % slashes, to avoid line break between the slashes in http://. \ifx\next/\else \urefpoststretch \fi } } % One more complication: by default we'll break after the special % characters, but some people like to break before the special chars, so % allow that. Also allow no breaking at all, for manual control. % \parseargdef\urefbreakstyle{% \def\txiarg{#1}% \ifx\txiarg\wordnone \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordbefore \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordafter \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak} \else \errhelp = \EMsimple \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% \fi\fi\fi } \def\wordafter{after} \def\wordbefore{before} \def\wordnone{none} \urefbreakstyle after % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct'. \kbdinputstyle distinct % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. \def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} \def\xkey{\key} \def\kbdsub#1#2#3\par{% \def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi } % definition of @key that produces a lozenge. Doesn't adjust to text size. %\setfont\keyrm\rmshape{8}{1000}{OT1} %\font\keysy=cmsy9 %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% % \vbox{\hrule\kern-0.4pt % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% % \kern-0.4pt\hrule}% % \kern-.06em\raise0.4pt\hbox{\angleright}}}} % definition of @key with no lozenge. If the current font is already % monospace, don't change it; that way, we respect @kbdinputstyle. But % if it isn't monospace, then use \tt. % \def\key#1{{\setupmarkupstyle{key}% \nohyphenation \ifmonospace\else\tt\fi #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi \null % reset \spacefactor=1000 } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi \null % reset \spacefactor=1000 } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a math (or tt) \. % FYI, plain.tex uses \\ as a temporary control sequence (for no % particular reason), but this is not advertised and we don't care. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus \let' = \ptexquoteright } } % ctrl is no longer a Texinfo command, but leave this definition for fun. \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. % \def\outfmtnametex{tex} % \long\def\inlinefmt#1{\doinlinefmt #1,\finish} \long\def\doinlinefmt#1,#2,\finish{% \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } % For raw, must switch into @tex before parsing the argument, to avoid % setting catcodes prematurely. Doing it this way means that, for % example, @inlineraw{html, foo{bar} gets a parse error instead of being % ignored. But this isn't important because if people want a literal % *right* brace they would have to use a command anyway, so they may as % well use a command to get a left brace too. We could re-use the % delimiter character idea from \verb, but it seems like overkill. % \long\def\inlineraw{\tex \doinlineraw} \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} \def\doinlinerawtwo#1,#2,\finish{% \def\inlinerawname{#1}% \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi \endgroup % close group opened by \tex. } \message{glyphs,} % and logos. % @@ prints an @, as does @atchar{}. \def\@{\char64 } \let\atchar=\@ % @{ @} @lbracechar{} @rbracechar{} all generate brace characters. % Unless we're in typewriter, use \ecfont because the CM text fonts do % not have braces, and we don't want to switch into math. \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} \let\{=\mylbrace \let\lbracechar=\{ \let\}=\myrbrace \let\rbracechar=\} \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other !gdef!lbracecmd[\{]% !gdef!rbracecmd[\}]% !gdef!lbraceatcmd[@{]% !gdef!rbraceatcmd[@}]% !endgroup % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \ptexc \let\dotaccent = \ptexdot \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \ptext \let\ubaraccent = \ptexb \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{% \ifx\textnominalsize\xwordpt % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX. % Revert to plain's \scriptsize, which is 7pt. \count255=\the\fam $\fam\count255 \scriptstyle A$% \else % For 11pt, we can use our lllsize. \selectfonts\lllsize A% \fi }% \vss }}% \kern-.15em \TeX } % Some math mode symbols. \def\bullet{$\ptexbullet$} \def\geq{\ifmmode \ge\else $\ge$\fi} \def\leq{\ifmmode \le\else $\le$\fi} \def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Glyphs from the EC fonts. We don't use \let for the aliases, because % sometimes we redefine the original macro, and the alias should reflect % the redefinition. % % Use LaTeX names for the Icelandic letters. \def\DH{{\ecfont \char"D0}} % Eth \def\dh{{\ecfont \char"F0}} % eth \def\TH{{\ecfont \char"DE}} % Thorn \def\th{{\ecfont \char"FE}} % thorn % \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % % This positioning is not perfect (see the ogonek LaTeX package), but % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer % dummy definitions to worry about for index entries, etc. % % ogonek is also used with other letters in Lithuanian (IOU), but using % the precomposed glyphs for those is not so easy since they aren't in % the same EC font. \def\ogonek#1{{% \def\temp{#1}% \ifx\temp\macrocharA\Aogonek \else\ifx\temp\macrochara\aogonek \else\ifx\temp\macrocharE\Eogonek \else\ifx\temp\macrochare\eogonek \else \ecfont \setbox0=\hbox{#1}% \ifdim\ht0=1ex\accent"0C #1% \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% \fi \fi\fi\fi\fi }% } \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % % Use the ec* fonts (cm-super in outline format) for non-CM glyphs. \def\ecfont{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifmonospace % typewriter: \font\thisecfont = ectt\ecsize \space at \nominalsize \else \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\thisisundefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{% \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } % Settings used for typesetting titles: no hyphenation, no indentation, % don't worry much about spacing, ragged right. This should be used % inside a \vbox, and fonts need to be set appropriately first. Because % it is always used for titles, nothing else, we call \rmisbold. \par % should be specified before the end of the \vbox, since a vbox is a group. % \def\raggedtitlesettings{% \rmisbold \hyphenpenalty=10000 \parindent=0pt \tolerance=5000 \ptexraggedright } % Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\secfonts\rmisbold \leftline{#1}}% \fi } % Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\headingsoff{% non-global headings elimination \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% } \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting \HEADINGSoff % it's the default % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\thisisundefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil\relax \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi % % Try typesetting the item mark that if the document erroneously says % something like @itemize @samp (intending @table), there's an error % right away at the @itemize. It's not the best error message in the % world, but it's better than leaving it to the @item. This means if % the user wants an empty mark, they have to say @w{} not just @w. \def\itemcontents{#1}% \setbox0 = \hbox{\itemcontents}% % % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi % \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% % \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group % of an alignment entry. \everycr resets \everytab so we don't have to % undo it ourselves. \def\headitemfont{\b}% for people to use in the template row; not changeable \def\headitem{% \checkenv\multitable \crcr \global\everytab={\bf}% can't use \headitemfont since the parsing differs \the\everytab % for the first item }% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we again encounter the problem the 1sp was intended to solve. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% \global\colcount=0 % Reset the column counter. % Check for saved footnotes, etc. \checkinserts % Keeps underfull box messages off when table breaks over pages. %\filbreak % Maybe so, but it also creates really weird page breaks when the % table breaks over pages. Wouldn't \vfil be better? Wait until the % problem manifests itself, so it can be fixed for real --karl. }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi % Test to see if parskip is larger than space between lines of % table. If not, do nothing. % If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller % than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller % than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\- = \active \catcode`\_ = \active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\normaldash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get special treatment of `@end ifset,' call \makeond and the redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @ifcommandisdefined CMD ... @end executes the `...' if CMD (written % without the @) is in fact defined. We can only feasibly check at the % TeX level, so something like `mathcode' is going to considered % defined even though it is not a Texinfo command. % \makecond{ifcommanddefined} \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} % \def\doifcmddefined#1#2{{% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname #2\endcsname\relax #1% If not defined, \let\next as above. \fi \expandafter }\next } \def\ifcmddefinedfail{\doignore{ifcommanddefined}} % @ifcommandnotdefined CMD ... handled similar to @ifclear above. \makecond{ifcommandnotdefined} \def\ifcommandnotdefined{% \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} \def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} % Set the `txicommandconditionals' variable, so documents have a way to % test if the @ifcommand...defined conditionals are available. \set txicommandconditionals % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \relax % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % % Need these unexpandable (because we define \tt as a dummy) % definitions when @{ or @} appear in index entry text. Also, more % complicated, when \tex is in effect and \{ is a \delimiter again. % We can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. Perhaps we % should define @lbrace and @rbrace commands a la @comma. \def\{{{\tt\char123}}% \def\}{{\tt\char125}}% % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts % causes processing to be prematurely terminated. This is, % apparently, because \indexsorttmp is fully expanded, and \endinput % is an expandable command. The redefinition below makes \endinput % disappear altogether for that purpose -- although logging shows that % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} % @findex xyz % @end macro % ... % @funindex commtest % % The above is not enough to reproduce the bug, but it gives the flavor. % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} % % So: \let\endinput = \empty % % Do the redefinitions. \commondummies } % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, % this will be simpler. % \def\atdummies{% \def\@{@@}% \def\ {@ }% \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % % Do the redefinitions. \commondummies \otherbackslash } % Called from \indexdummies and \atdummies. % \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % For control letters, we have \definedummyletter, which omits the % space. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % \def\definedummyword ##1{\def##1{\string##1\space}}% \def\definedummyletter##1{\def##1{\string##1}}% \let\definedummyaccent\definedummyletter % \commondummiesnofonts % \definedummyletter\_% \definedummyletter\-% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\DH \definedummyword\L \definedummyword\O \definedummyword\OE \definedummyword\TH \definedummyword\aa \definedummyword\ae \definedummyword\dh \definedummyword\exclamdown \definedummyword\l \definedummyword\o \definedummyword\oe \definedummyword\ordf \definedummyword\ordm \definedummyword\questiondown \definedummyword\ss \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\arrow \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\entrybreak \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\expansion \definedummyword\geq \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\lbracechar \definedummyword\leq \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\rbracechar \definedummyword\result \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist % \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable } % \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. \definedummyletter\!% \definedummyaccent\"% \definedummyaccent\'% \definedummyletter\*% \definedummyaccent\,% \definedummyletter\.% \definedummyletter\/% \definedummyletter\:% \definedummyaccent\=% \definedummyletter\?% \definedummyaccent\^% \definedummyaccent\`% \definedummyaccent\~% \definedummyword\u \definedummyword\v \definedummyword\H \definedummyword\dotaccent \definedummyword\ogonek \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent \definedummyword\udotaccent \definedummyword\dotless % % Texinfo font commands. \definedummyword\b \definedummyword\i \definedummyword\r \definedummyword\sansserif \definedummyword\sc \definedummyword\slanted \definedummyword\t % % Commands that take arguments. \definedummyword\abbr \definedummyword\acronym \definedummyword\anchor \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn \definedummyword\dmn \definedummyword\email \definedummyword\emph \definedummyword\env \definedummyword\file \definedummyword\image \definedummyword\indicateurl \definedummyword\inforef \definedummyword\kbd \definedummyword\key \definedummyword\math \definedummyword\option \definedummyword\pxref \definedummyword\ref \definedummyword\samp \definedummyword\strong \definedummyword\tie \definedummyword\uref \definedummyword\url \definedummyword\var \definedummyword\verb \definedummyword\w \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% % All control words become @asis by default; overrides below. \let\definedummyword\definedummyaccent % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% \def\_{\normalunderscore}% \def\-{}% @- shouldn't affect sorting % % Unfortunately, texindex is not prepared to handle braces in the % content at all. So for index sorting, we map @{ and @} to strings % starting with |, since that ASCII character is between ASCII { and }. \def\{{|a}% \def\lbracechar{|a}% % \def\}{|b}% \def\rbracechar{|b}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% \def\dh{dzz}% \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% \def\ordf{a}% \def\ordm{o}% \def\o{o}% \def\questiondown{?}% \def\ss{ss}% \def\th{zzz}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) \def\arrow{->}% \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\expansion{==>}% \def\geq{>=}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% \def\leq{<=}% \def\minus{-}% \def\point{.}% \def\pounds{pounds}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% \def\quotedblright{"}% \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% \def\registeredsymbol{R}% \def\result{=>}% \def\textdegree{o}% % \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax \else \indexlquoteignore \fi % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist } % Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us % ignore left quotes in the sort term. {\catcode`\`=\active \gdef\indexlquoteignore{\let`=\empty}} \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % % Process the index entry with all font commands turned off, to % get the string to sort by. {\indexnofonts \edef\temp{\the\toks0}% need full expansion \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{\ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \nobreak \vskip 0pt plus 3\baselineskip \penalty 0 \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip }} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % % A straightforward implementation would start like this: % \def\entry#1#2{... % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% \begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing % columns. \vskip 0pt plus1pt % % When reading the text of entry, convert explicit line breaks % from @* into spaces. The user might give these in long section % titles, for instance. \def\*{\unskip\space\ignorespaces}% \def\entrybreak{\hfil\break}% % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. } \def\finishentry#1{% % #1 is the page number. % % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \setbox\boxA = \hbox{#1}% \ifdim\wd\boxA = 0pt \ % \else % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#1.% \ \the\toksA \else \ #1% \fi \fi \par \endgroup } % Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % Let's start with @part. \outer\parseargdef\part{\partzzz{#1}} \def\partzzz#1{% \chapoddpage \null \vskip.3\vsize % move it down on the page a bit \begingroup \noindent \titlefonts\rmisbold #1\par % the text \let\lastnode=\empty % no node to associate with \writetocentry{part}{#1}{}% but put it in the toc \headingsoff % no headline or footline on the part page \chapoddpage \endgroup } % \unnumberedno is an oxymoron. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achieve this, remember the "biggest" unnum. sec. we are currently in: \chardef\unnlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unnlevel \chardef\unnlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unnlevel \def\headtype{U}% \else \chardef\unnlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % % \putwordChapter can contain complex things in translations. \toks0=\expandafter{\putwordChapter}% \message{\the\toks0 \space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz % \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % % \putwordAppendix can contain complex things in translations. \toks0=\expandafter{\putwordAppendix}% \message{\the\toks0 \space \appendixletter}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } % normally unnmhead0 calls unnumberedzzz: \outer\parseargdef\unnumbered{\unnmhead0{#1}} \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% % Well, we could do the following in a group, but that would break % an assumption that \chapmacro is called at the outermost level. % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. % \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } % normally calls appendixsectionzzz: \outer\parseargdef\appendixsection{\apphead1{#1}} \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection % normally calls unnumberedseczzz: \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. % % normally calls numberedsubseczzz: \outer\parseargdef\numberedsubsec{\numhead2{#1}} \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } % normally calls appendixsubseczzz: \outer\parseargdef\appendixsubsec{\apphead2{#1}} \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } % normally calls unnumberedsubseczzz: \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. % % normally numberedsubsubseczzz: \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } % normally appendixsubsubseczzz: \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } % normally unnumberedsubsubseczzz: \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% \vbox{\chapfonts \raggedtitlesettings #1\par}% \nobreak\bigskip \nobreak \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. % Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip % Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \headingsoff \null \chappager \endgroup \fi } \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% % \noexpand\putwordAppendix avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% % \noexpand\putwordChapter avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rmisbold % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % I don't think this chapter style is supported any more, so I'm not % updating it with the new noderef stuff. We'll see. --karl, 11aug03. % \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% \chapoddpage \vbox{\chapfonts \raggedtitlesettings #1\par}% \nobreak\bigskip\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% \nobreak\bigskip \nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% \checkenv{}% should not be in an environment. % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % \def\sectionlevel{#2}% \def\temptype{#3}% % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Go into vertical mode. Usually we'll already be there, but we % don't want the following whatsit to end up in a preceding paragraph % if the document didn't happen to have a blank line. \par % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) However, when a paragraph is not started next % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out % or the negative glue will cause weirdly wrong output, typically % obscuring the section heading with something else. \vskip-\parskip % % This is so the last item on the main vertical list is a known % \penalty > 10000, so \startdefun, etc., can recognize the situation % and do the needful. \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\partentry = \shortpartentry \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Parts, in the main contents. Replace the part number, which doesn't % exist, with an empty box. Let's hope all the numbers have the same width. % Also ignore the page number, which is conventionally not printed. \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} \def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}} % % Parts, in the short toc. \def\shortpartentry#1#2#3#4{% \penalty-300 \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip \shortchapentry{{\bf #1}}{\numeralbox}{}{}% } % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @tex ... @end tex escapes into raw TeX temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain @ character. \envdef\tex{% \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \catcode`\`=\other \catcode`\'=\other \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our % other math active characters (just in case), to plain's definitions. \mathactive % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% % % If this cartouche directly follows a sectioning command, we need the % \parskip glue (backspaced over by default) or the cartouche can % collide with the section heading. \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt % Turn off paragraph indentation but redefine \indent to emulate % the normal \indent. \nonfillparindent=\parindent \parindent = 0pt \let\indent\nonfillindent % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } \begingroup \obeyspaces % We want to swallow spaces (but not other tokens) after the fake % @indent in our nonfill-environments, where spaces are normally % active and set to @tie, resulting in them not being ignored after % @indent. \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% \gdef\nonfillindentcheck{% \ifx\temp % \expandafter\nonfillindentgobble% \else% \leavevmode\nonfillindentbox% \fi% }% \endgroup \def\nonfillindentgobble#1{\nonfillindent} \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it in one command. #1 is the env name, #2 the definition. \def\makedispenvdef#1#2{% \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two environment synonyms (#1 and #2) for an environment. \def\maketwodispenvdef#1#2#3{% \makedispenvdef{#1}{#3}% \makedispenvdef{#2}{#3}% } % % @lisp: indented, narrowed, typewriter font; % @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvdef{lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenvdef{display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenvdef{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill\relax \gobble } \let\Eflushright = \afterenvbreak % @raggedright does more-or-less normal line breaking but no right % justification. From plain.tex. \envdef\raggedright{% \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax } \let\Eraggedright\par \envdef\raggedleft{% \parindent=0pt \leftskip0pt plus2em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedleft\par \envdef\raggedcenter{% \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedcenter\par % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax \advance\rightskip by \lispnarrowing \fi \parsearg\quotationlabel } % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\thisisundefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } \def\Esmallquotation{\Equotation} % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % @indentedblock is like @quotation, but indents only on the left and % has no optional argument. % \makedispenvdef{indentedblock}{\indentedblockstart} % \def\indentedblockstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi } % Keep a nonzero parskip for the environment, since we're doing normal filling. % \def\Eindentedblock{% \par {\parskip=0pt \afterenvbreak}% } \def\Esmallindentedblock{\Eindentedblock} % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% % Don't do the quotes -- if we do, @set txicodequoteundirected and % @set txicodequotebacktick will not have effect on @verb and % @verbatim, and ?` and !` ligatures won't get disabled. %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \setupmarkupstyle{verb}% \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion. \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % % We typeset each line of the verbatim in an \hbox, so we can handle % tabs. The \global is in case the verbatim line starts with an accent, % or some other command that starts with a begin-group. Otherwise, the % entire \verbbox would disappear at the corresponding end-group, before % it is typeset. Meanwhile, we can't have nested verbatim commands % (can we?), so the \global won't be overwriting itself. \newbox\verbbox \def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab \divide\dimen\verbbox by\tabw \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox }% } \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart \tt % easiest (and conventionally used) font for verbatim % The \leavevmode here is for blank lines. Otherwise, we would % never \starttabox and the \egroup would end verbatim mode. \def\par{\leavevmode\egroup\box\verbbox\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and % make each space count. % Must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a further refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil\relax \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \doingtypefnfalse % distinguish typed functions from all else \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } \newif\ifdoingtypefn % doing typed function? \newif\ifrettypeownline % typeset return type on its own line? % @deftypefnnewline on|off says whether the return type of typed functions % are printed on their own line. This affects @deftypefn, @deftypefun, % @deftypeop, and @deftypemethod. % \parseargdef\deftypefnnewline{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxideftypefnnl\endcsname = \empty \else\ifx\temp\offword \expandafter\let\csname SETtxideftypefnnl\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @txideftypefnnl value `\temp', must be on|off}% \fi\fi } % Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } % Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \doingtypefntrue \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } % Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } % Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } % Types: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% \par % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % Determine if we are typesetting the return type of a typed function % on a line by itself. \rettypeownlinefalse \ifdoingtypefn % doing a typed function specifically? % then check user option for putting return type on its own line: \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else \rettypeownlinetrue \fi \fi % % How we'll format the category name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. We'll always have at % least two. \tempnum = 2 % % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % % If doing a return type on its own line, we'll have another line. \ifrettypeownline \advance\tempnum by 1 \def\maybeshapeline{0in \hsize}% \else \def\maybeshapeline{}% \fi % % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % % The final paragraph shape: \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 % % Put the category name at the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% text of the return type \ifx\temp\empty\else \tclose{\temp}% typeset the return type \ifrettypeownline % put return type on its own line; prohibit line break following: \hfil\vadjust{\nobreak}\break \else \space % type on same line, so just followed by a space \fi \fi % no return type #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. We used to recommend @var for that, so % leave the code in, but it's strange for @var to lead to typewriter. % Nowadays we recommend @code, since the difference between a ttsl hyphen % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\thisisundefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi \def\scanmacro#1{\begingroup \newlinechar`\^^M \let\xeatspaces\eatspaces % % Undo catcode changes of \startcontents and \doprintindex % When called from @insertcopying or (short)caption, we need active % backslash to get it printed correctly. Previously, we had % \catcode`\\=\other instead. We'll see whether a problem appears % with macro expansion. --kasal, 19aug04 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % % ... and for \example: \spaceisspace % % The \empty here causes a following catcode 5 newline to be eaten as % part of reading whitespace after a control sequence. It does not % eat a catcode 13 newline. There's no good way to handle the two % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX % would then have different behavior). See the Macro Details node in % the manual for the workaround we recommend for macros and % line-oriented commands. % \scantokens{#1\empty}% \endgroup} \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% \temp } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \definedummyword\macro1\definedummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\definedummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \ % to recognize macro arguments; this is the job of \mbodybackslash. % % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. % \def\scanctxt{% used as subroutine \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% used for copying and captions, not macros. \scanctxt \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% used for @macro definitions \scanctxt \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } \def\macroargctxt{% used when scanning invocations \scanctxt \catcode`\\=0 } % why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" % for the single characters \ { }. Thus, we end up with the "commands" % that would be written @\ @{ @} in a Texinfo document. % % We already have @{ and @}. For @\, we define it here, and only for % this purpose, to produce a typewriter backslash (so, the @\ that we % define for @math can't be used with @macro calls): % \def\\{\normalbackslash}% % % We would like to do this for \, too, since that is what makeinfo does. % But it is not possible, because Texinfo already has a command @, for a % cedilla accent. Documents must use @comma{} instead. % % \anythingelse will almost certainly be an error of some kind. % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. % {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\margbackslash#1{\char`\#1 } \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0\relax \else \expandafter\parsemargdef \argl;% \if\paramno>256\relax \ifx\eTeXversion\thisisundefined \errhelp = \EMsimple \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} \fi \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\definedummyword \noexpand#1% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % For macro processing make @ a letter so that we can make Texinfo private macro names. \edef\texiatcatcode{\the\catcode`\@} \catcode `@=11\relax % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.BLAH for each BLAH % in the params list to some hook where the argument si to be expanded. If % there are less than 10 arguments that hook is to be replaced by ##N where N % is the position in that list, that is to say the macro arguments are to be % defined `a la TeX in the macro body. % % That gets used by \mbodybackslash (above). % % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. % % If there are 10 or more arguments, a different technique is used, where the % hook remains in the body, and when macro is to be expanded the body is % processed again to replace the arguments. % % In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the % argument N value and then \edef the body (nothing else will expand because of % the catcode regime underwhich the body was input). % % If you compile with TeX (not eTeX), and you have macros with 10 or more % arguments, you need that no macro has more than 256 arguments, otherwise an % error is produced. \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax \let\xeatspaces\relax \parsemargdefxxx#1,;,% % In case that there are 10 or more arguments we parse again the arguments % list to set new definitions for the \macarg.BLAH macros corresponding to % each BLAH argument. It was anyhow needed to parse already once this list % in order to count the arguments, and as macros with at most 9 arguments % are by far more frequent than macro with 10 or more arguments, defining % twice the \macarg.BLAH macros does not cost too much processing power. \ifnum\paramno<10\relax\else \paramno0\relax \parsemmanyargdef@@#1,;,% 10 or more arguments \fi } \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} \def\parsemmanyargdef@@#1,{% \if#1;\let\next=\relax \else \let\next=\parsemmanyargdef@@ \edef\tempb{\eatspaces{#1}}% \expandafter\def\expandafter\tempa \expandafter{\csname macarg.\tempb\endcsname}% % Note that we need some extra \noexpand\noexpand, this is because we % don't want \the to be expanded in the \parsermacbody as it uses an % \xdef . \expandafter\edef\tempa {\noexpand\noexpand\noexpand\the\toks\the\paramno}% \advance\paramno by 1\relax \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) % \catcode `\@\texiatcatcode \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \catcode `\@=11\relax \let\endargs@\relax \let\nil@\relax \def\nilm@{\nil@}% \long\def\nillm@{\nil@}% % This macro is expanded during the Texinfo macro expansion, not during its % definition. It gets all the arguments values and assigns them to macros % macarg.ARGNAME % % #1 is the macro name % #2 is the list of argument names % #3 is the list of argument values \def\getargvals@#1#2#3{% \def\macargdeflist@{}% \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. \def\paramlist{#2,\nil@}% \def\macroname{#1}% \begingroup \macroargctxt \def\argvaluelist{#3,\nil@}% \def\@tempa{#3}% \ifx\@tempa\empty \setemptyargvalues@ \else \getargvals@@ \fi } % \def\getargvals@@{% \ifx\paramlist\nilm@ % Some sanity check needed here that \argvaluelist is also empty. \ifx\argvaluelist\nillm@ \else \errhelp = \EMsimple \errmessage{Too many arguments in macro `\macroname'!}% \fi \let\next\macargexpandinbody@ \else \ifx\argvaluelist\nillm@ % No more arguments values passed to macro. Set remaining named-arg % macros to empty. \let\next\setemptyargvalues@ \else % pop current arg name into \@tempb \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% \expandafter\@tempa\expandafter{\paramlist}% % pop current argument value into \@tempc \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% \expandafter\@tempa\expandafter{\argvaluelist}% % Here \@tempb is the current arg name and \@tempc is the current arg value. % First place the new argument macro definition into \@tempd \expandafter\macname\expandafter{\@tempc}% \expandafter\let\csname macarg.\@tempb\endcsname\relax \expandafter\def\expandafter\@tempe\expandafter{% \csname macarg.\@tempb\endcsname}% \edef\@tempd{\long\def\@tempe{\the\macname}}% \push@\@tempd\macargdeflist@ \let\next\getargvals@@ \fi \fi \next } \def\push@#1#2{% \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter#2% \expandafter\expandafter\expandafter{% \expandafter#1#2}% } % Replace arguments by their values in the macro body, and place the result % in macro \@tempa \def\macvalstoargs@{% % To do this we use the property that token registers that are \the'ed % within an \edef expand only once. So we are going to place all argument % values into respective token registers. % % First we save the token context, and initialize argument numbering. \begingroup \paramno0\relax % Then, for each argument number #N, we place the corresponding argument % value into a new token list register \toks#N \expandafter\putargsintokens@\saveparamlist@,;,% % Then, we expand the body so that argument are replaced by their % values. The trick for values not to be expanded themselves is that they % are within tokens and that tokens expand only once in an \edef . \edef\@tempc{\csname mac.\macroname .body\endcsname}% % Now we restore the token stack pointer to free the token list registers % which we have used, but we make sure that expanded body is saved after % group. \expandafter \endgroup \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% } \def\macargexpandinbody@{% %% Define the named-macro outside of this group and then close this group. \expandafter \endgroup \macargdeflist@ % First the replace in body the macro arguments by their values, the result % is in \@tempa . \macvalstoargs@ % Then we point at the \norecurse or \gobble (for recursive) macro value % with \@tempb . \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname % Depending on whether it is recursive or not, we need some tailing % \egroup . \ifx\@tempb\gobble \let\@tempc\relax \else \let\@tempc\egroup \fi % And now we do the real job: \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% \@tempd } \def\putargsintokens@#1,{% \if#1;\let\next\relax \else \let\next\putargsintokens@ % First we allocate the new token list register, and give it a temporary % alias \@tempb . \toksdef\@tempb\the\paramno % Then we place the argument value into that token list register. \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname \expandafter\@tempb\expandafter{\@tempa}% \advance\paramno by 1\relax \fi \next } % Save the token stack pointer into macro #1 \def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} % Restore the token stack pointer from number in macro #1 \def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} % newtoks that can be used non \outer . \def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} % Tailing missing arguments are set to empty \def\setemptyargvalues@{% \ifx\paramlist\nilm@ \let\next\macargexpandinbody@ \else \expandafter\setemptyargvaluesparser@\paramlist\endargs@ \let\next\setemptyargvalues@ \fi \next } \def\setemptyargvaluesparser@#1,#2\endargs@{% \expandafter\def\expandafter\@tempa\expandafter{% \expandafter\def\csname macarg.#1\endcsname{}}% \push@\@tempa\macargdeflist@ \def\paramlist{#2}% } % #1 is the element target macro % #2 is the list macro % #3,#4\endargs@ is the list value \def\pop@#1#2#3,#4\endargs@{% \def#1{#3}% \def#2{#4}% } \long\def\longpop@#1#2#3,#4\endargs@{% \long\def#1{#3}% \long\def#2{#4}% } % This defines a Texinfo @macro. There are eight cases: recursive and % nonrecursive macros of zero, one, up to nine, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. % \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else \ifnum\paramno<10\relax % at most 9 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \else % 10 or more \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% }% \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble \fi \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % at most 9 \ifnum\paramno<10\relax \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % 10 or more: \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% }% \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse \fi \fi \fi} \catcode `\@\texiatcatcode\relax \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg). % \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Make them active and then expand them all to nothing. % \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{% \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \atdummies % preserve commands, but don't expand them \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout }% \fi } % @xrefautosectiontitle on|off says whether @section(ing) names are used % automatically in xrefs, if the third arg is not explicitly specified. % This was provided as a "secret" @set xref-automatic-section-title % variable, now it's official. % \parseargdef\xrefautomaticsectiontitle{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETxref-automatic-section-title\endcsname = \empty \else\ifx\temp\offword \expandafter\let\csname SETxref-automatic-section-title\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', must be on|off}% \fi\fi } % % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} % \newbox\toprefbox \newbox\printedrefnamebox \newbox\infofilenamebox \newbox\printedmanualbox % \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces % % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% % \def\infofilename{\ignorespaces #4}% \setbox\infofilenamebox = \hbox{\infofilename\unskip}% % \def\printedmanual{\ignorespaces #5}% \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% % % If the printed reference name (arg #3) was not explicitly given in % the @xref, figure out what we want to use. \ifdim \wd\printedrefnamebox = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax % Not auto section-title: use node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Auto section-title: use chapter/section title inside % the square brackets if we have it. \ifdim \wd\printedmanualbox > 0pt % It is in another manual, so we don't have it; use node name. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We (should) know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf {\indexnofonts \turnoffactive \makevalueexpandable % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. This ignores all spaces in % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % % This (wrongly) does not take account of leading or trailing % spaces in #1, which should be ignored. \edef\pdfxrefdest{#1}% \ifx\pdfxrefdest\empty \def\pdfxrefdest{Top}% no empty targets \else \txiescapepdf\pdfxrefdest % escape PDF special chars \fi % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfxrefdest}% \else goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". We distinguish them by the % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd\printedrefnamebox = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox to print the node names, TeX does not insert % empty discretionaries after hyphens, which means that it will not % find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, % this is a loss. Therefore, we give the text of the node name % again, so it is as if TeX is seeing it for the first time. % \ifdim \wd\printedmanualbox > 0pt % Cross-manual reference with a printed manual name. % \crossmanualxref{\cite{\printedmanual\unskip}}% % \else\ifdim \wd\infofilenamebox > 0pt % Cross-manual reference with only an info filename (arg 4), no % printed manual name (arg 5). This is essentially the same as % the case above; we output the filename, since we have nothing else. % \crossmanualxref{\code{\infofilename\unskip}}% % \else % Reference within this manual. % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via the macro below so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi\fi \fi \endlink \endgroup} % Output a cross-manual xref to #1. Used just above (twice). % % Only include the text "Section ``foo'' in" if the foo is neither % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply % "see The Foo Manual", the idea being to refer to the whole manual. % % But, this being TeX, we can't easily compare our node name against the % string "Top" while ignoring the possible spaces before and after in % the input. By adding the arbitrary 7sp below, we make it much less % likely that a real node name would have the same width as "Top" (e.g., % in a monospaced font). Hopefully it will never happen in practice. % % For the same basic reason, we retypeset the "Top" at every % reference, since the current font is indeterminate. % \def\crossmanualxref#1{% \setbox\toprefbox = \hbox{Top\kern7sp}% \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% \ifdim \wd2 > 7sp % nonempty? \ifdim \wd2 = \wd\toprefbox \else % same as Top? \putwordSection{} ``\printedrefname'' \putwordin{}\space \fi \fi #1% } % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. % \def\refx#1#2{% {% \indexnofonts \otherbackslash \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs {\toks0 = {#1}% avoid expansion of possibly-complex value \message{\linenumber Undefined cross reference `\the\toks0'.}}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Usually it's % just a \def (we prepend XR to the control sequence name to avoid % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% {% The node name might contain 8-bit characters, which in our current % implementation are changed to commands like @'e. Don't let these % mess up the control sequence name. \indexnofonts \turnoffactive \xdef\safexrefname{#1}% }% % \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % Make the characters 128-255 be printing characters. {% \count1=128 \def\loop{% \catcode\count1=\other \advance\count1 by 1 \ifnum \count1<256 \loop \fi }% }% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for Info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \let\indent=\ptexindent \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut % % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\thisisundefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \else \ifx\centersub\centerV % for @center @image, we need a vbox so we can have our vertical space \imagevmodetrue \vbox\bgroup % vbox has better behavior than vtop herev \fi\fi % \ifimagevmode \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. % However, if we're at the top level, we don't want the % normal paragraph indentation. % On the other hand, if we are in the case of @center @image, we don't % want to start a paragraph, which will create a hsize-width box and % eradicate the centering. \ifx\centersub\centerV\else \noindent \fi % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \medskip % space after a standalone image \fi \ifx\centersub\centerV \egroup \fi \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \atdummies % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. \scanexp{% \xdef\noexpand\gtemp{% \ifx\thisshortcaption\empty \thiscaption \else \thisshortcaption \fi }% }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % % place the captured inserts % % BEWARE: when the floats start floating, we have to issue warning % whenever an insert appears inside a float which could possibly % float. --kasal, 26may04 % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % For single-language documents, @documentlanguage is usually given very % early, just after @documentencoding. Single argument is the language % (de) or locale (de_DE) abbreviation. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{\begingroup \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 \endgroup % end raw TeX \endgroup} % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 } }% end of special _ catcode % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? Putting it in the current directory should work if nowhere else does.} % This macro is called from txi-??.tex files; the first argument is the % \language name to set (without the "\lang@" prefix), the second and % third args are \{left,right}hyphenmin. % % The language names to pass are determined when the format is built. % See the etex.log file created at that time, e.g., % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. % % With TeX Live 2008, etex now includes hyphenation patterns for all % available languages. This means we can support hyphenation in % Texinfo, at least to some extent. (This still doesn't solve the % accented characters problem.) % \catcode`@=11 \def\txisetlanguage#1#2#3{% % do not set the language if the name is undefined in the current TeX. \expandafter\ifx\csname lang@#1\endcsname \relax \message{no patterns for #1}% \else \global\language = \csname lang@#1\endcsname \fi % but there is no harm in adjusting the hyphenmin values regardless. \global\lefthyphenmin = #2\relax \global\righthyphenmin = #3\relax } % Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active \utfeightchardefs % \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii } % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdef^^a0{\tie} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\guillemetleft} \gdef^^ac{$\lnot$} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} \gdef^^b1{$\pm$} \gdef^^b2{$^2$} \gdef^^b3{$^3$} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} % \gdef^^b7{$^.$} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} % \gdef^^bb{\guillemetright} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} \gdef^^bf{\questiondown} % \gdef^^c0{\`A} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} \gdef^^c9{\'E} \gdef^^ca{\^E} \gdef^^cb{\"E} \gdef^^cc{\`I} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\"I} % \gdef^^d0{\DH} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\~O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\O} \gdef^^d9{\`U} \gdef^^da{\'U} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\TH} \gdef^^df{\ss} % \gdef^^e0{\`a} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\~a} \gdef^^e4{\"a} \gdef^^e5{\ringaccent a} \gdef^^e6{\ae} \gdef^^e7{\cedilla c} \gdef^^e8{\`e} \gdef^^e9{\'e} \gdef^^ea{\^e} \gdef^^eb{\"e} \gdef^^ec{\`{\dotless i}} \gdef^^ed{\'{\dotless i}} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % \gdef^^f0{\dh} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\~o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\o} \gdef^^f9{\`u} \gdef^^fa{\'u} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\th} \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdef^^a4{\euro} \gdef^^a6{\v S} \gdef^^a8{\v s} \gdef^^b4{\v Z} \gdef^^b8{\v z} \gdef^^bc{\OE} \gdef^^bd{\oe} \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{\tie} \gdef^^a1{\ogonek{A}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\v L} \gdef^^a6{\'S} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\v S} \gdef^^aa{\cedilla S} \gdef^^ab{\v T} \gdef^^ac{\'Z} \gdef^^ad{\-} \gdef^^ae{\v Z} \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} \gdef^^b1{\ogonek{a}} \gdef^^b2{\ogonek{ }} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} \gdef^^b6{\'s} \gdef^^b7{\v{}} \gdef^^b8{\cedilla\ } \gdef^^b9{\v s} \gdef^^ba{\cedilla s} \gdef^^bb{\v t} \gdef^^bc{\'z} \gdef^^bd{\H{}} \gdef^^be{\v z} \gdef^^bf{\dotaccent z} % \gdef^^c0{\'R} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\u A} \gdef^^c4{\"A} \gdef^^c5{\'L} \gdef^^c6{\'C} \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} \gdef^^ca{\ogonek{E}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % \gdef^^d0{\DH} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\H O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\cedilla T} \gdef^^df{\ss} % \gdef^^e0{\'r} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\u a} \gdef^^e4{\"a} \gdef^^e5{\'l} \gdef^^e6{\'c} \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} \gdef^^ea{\ogonek{e}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'{\dotless{i}}} \gdef^^ee{\^{\dotless{i}}} \gdef^^ef{\v d} % \gdef^^f0{\dh} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\H o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\v r} \gdef^^f9{\ringaccent u} \gdef^^fa{\'u} \gdef^^fb{\H u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\cedilla t} \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } \begingroup \catcode`\~13 \catcode`\"12 \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% \csname u8:##1\string ##2\endcsname}% \def\UTFviiiThreeOctets##1##2##3{% \csname u8:##1\string ##2\string ##3\endcsname}% \def\UTFviiiFourOctets##1##2##3##4{% \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% \endgroup} \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz \multiply\countUTFz by 64 \advance\countUTFx by -\countUTFz \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} \DeclareUnicodeCharacter{00A3}{\pounds} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} \DeclareUnicodeCharacter{00B4}{\'{ }} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} \DeclareUnicodeCharacter{00C1}{\'A} \DeclareUnicodeCharacter{00C2}{\^A} \DeclareUnicodeCharacter{00C3}{\~A} \DeclareUnicodeCharacter{00C4}{\"A} \DeclareUnicodeCharacter{00C5}{\AA} \DeclareUnicodeCharacter{00C6}{\AE} \DeclareUnicodeCharacter{00C7}{\cedilla{C}} \DeclareUnicodeCharacter{00C8}{\`E} \DeclareUnicodeCharacter{00C9}{\'E} \DeclareUnicodeCharacter{00CA}{\^E} \DeclareUnicodeCharacter{00CB}{\"E} \DeclareUnicodeCharacter{00CC}{\`I} \DeclareUnicodeCharacter{00CD}{\'I} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} \DeclareUnicodeCharacter{00D0}{\DH} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} \DeclareUnicodeCharacter{00DE}{\TH} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} \DeclareUnicodeCharacter{00E1}{\'a} \DeclareUnicodeCharacter{00E2}{\^a} \DeclareUnicodeCharacter{00E3}{\~a} \DeclareUnicodeCharacter{00E4}{\"a} \DeclareUnicodeCharacter{00E5}{\aa} \DeclareUnicodeCharacter{00E6}{\ae} \DeclareUnicodeCharacter{00E7}{\cedilla{c}} \DeclareUnicodeCharacter{00E8}{\`e} \DeclareUnicodeCharacter{00E9}{\'e} \DeclareUnicodeCharacter{00EA}{\^e} \DeclareUnicodeCharacter{00EB}{\"e} \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} \DeclareUnicodeCharacter{00F0}{\dh} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} \DeclareUnicodeCharacter{00FE}{\th} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} \DeclareUnicodeCharacter{0104}{\ogonek{A}} \DeclareUnicodeCharacter{0105}{\ogonek{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} \DeclareUnicodeCharacter{0118}{\ogonek{E}} \DeclareUnicodeCharacter{0119}{\ogonek{e}} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} \DeclareUnicodeCharacter{011D}{\^g} \DeclareUnicodeCharacter{011E}{\u{G}} \DeclareUnicodeCharacter{011F}{\u{g}} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} \DeclareUnicodeCharacter{0132}{IJ} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} \DeclareUnicodeCharacter{014F}{\u{o}} \DeclareUnicodeCharacter{0150}{\H{O}} \DeclareUnicodeCharacter{0151}{\H{o}} \DeclareUnicodeCharacter{0152}{\OE} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} \DeclareUnicodeCharacter{015B}{\'s} \DeclareUnicodeCharacter{015C}{\^S} \DeclareUnicodeCharacter{015D}{\^s} \DeclareUnicodeCharacter{015E}{\cedilla{S}} \DeclareUnicodeCharacter{015F}{\cedilla{s}} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} \DeclareUnicodeCharacter{0162}{\cedilla{t}} \DeclareUnicodeCharacter{0163}{\cedilla{T}} \DeclareUnicodeCharacter{0164}{\v{T}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} \DeclareUnicodeCharacter{016B}{\=u} \DeclareUnicodeCharacter{016C}{\u{U}} \DeclareUnicodeCharacter{016D}{\u{u}} \DeclareUnicodeCharacter{016E}{\ringaccent{U}} \DeclareUnicodeCharacter{016F}{\ringaccent{u}} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} \DeclareUnicodeCharacter{0177}{\^y} \DeclareUnicodeCharacter{0178}{\"Y} \DeclareUnicodeCharacter{0179}{\'Z} \DeclareUnicodeCharacter{017A}{\'z} \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} \DeclareUnicodeCharacter{01C6}{d\v{z}} \DeclareUnicodeCharacter{01C7}{LJ} \DeclareUnicodeCharacter{01C8}{Lj} \DeclareUnicodeCharacter{01C9}{lj} \DeclareUnicodeCharacter{01CA}{NJ} \DeclareUnicodeCharacter{01CB}{Nj} \DeclareUnicodeCharacter{01CC}{nj} \DeclareUnicodeCharacter{01CD}{\v{A}} \DeclareUnicodeCharacter{01CE}{\v{a}} \DeclareUnicodeCharacter{01CF}{\v{I}} \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} \DeclareUnicodeCharacter{01D1}{\v{O}} \DeclareUnicodeCharacter{01D2}{\v{o}} \DeclareUnicodeCharacter{01D3}{\v{U}} \DeclareUnicodeCharacter{01D4}{\v{u}} \DeclareUnicodeCharacter{01E2}{\={\AE}} \DeclareUnicodeCharacter{01E3}{\={\ae}} \DeclareUnicodeCharacter{01E6}{\v{G}} \DeclareUnicodeCharacter{01E7}{\v{g}} \DeclareUnicodeCharacter{01E8}{\v{K}} \DeclareUnicodeCharacter{01E9}{\v{k}} \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} \DeclareUnicodeCharacter{01F1}{DZ} \DeclareUnicodeCharacter{01F2}{Dz} \DeclareUnicodeCharacter{01F3}{dz} \DeclareUnicodeCharacter{01F4}{\'G} \DeclareUnicodeCharacter{01F5}{\'g} \DeclareUnicodeCharacter{01F8}{\`N} \DeclareUnicodeCharacter{01F9}{\`n} \DeclareUnicodeCharacter{01FC}{\'{\AE}} \DeclareUnicodeCharacter{01FD}{\'{\ae}} \DeclareUnicodeCharacter{01FE}{\'{\O}} \DeclareUnicodeCharacter{01FF}{\'{\o}} \DeclareUnicodeCharacter{021E}{\v{H}} \DeclareUnicodeCharacter{021F}{\v{h}} \DeclareUnicodeCharacter{0226}{\dotaccent{A}} \DeclareUnicodeCharacter{0227}{\dotaccent{a}} \DeclareUnicodeCharacter{0228}{\cedilla{E}} \DeclareUnicodeCharacter{0229}{\cedilla{e}} \DeclareUnicodeCharacter{022E}{\dotaccent{O}} \DeclareUnicodeCharacter{022F}{\dotaccent{o}} \DeclareUnicodeCharacter{0232}{\=Y} \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} \DeclareUnicodeCharacter{02DB}{\ogonek{ }} \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} \DeclareUnicodeCharacter{1E20}{\=G} \DeclareUnicodeCharacter{1E21}{\=g} \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} \DeclareUnicodeCharacter{1E26}{\"H} \DeclareUnicodeCharacter{1E27}{\"h} \DeclareUnicodeCharacter{1E30}{\'K} \DeclareUnicodeCharacter{1E31}{\'k} \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} \DeclareUnicodeCharacter{1E3E}{\'M} \DeclareUnicodeCharacter{1E3F}{\'m} \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} \DeclareUnicodeCharacter{1E54}{\'P} \DeclareUnicodeCharacter{1E55}{\'p} \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} \DeclareUnicodeCharacter{1E7C}{\~V} \DeclareUnicodeCharacter{1E7D}{\~v} \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} \DeclareUnicodeCharacter{1E80}{\`W} \DeclareUnicodeCharacter{1E81}{\`w} \DeclareUnicodeCharacter{1E82}{\'W} \DeclareUnicodeCharacter{1E83}{\'w} \DeclareUnicodeCharacter{1E84}{\"W} \DeclareUnicodeCharacter{1E85}{\"w} \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} \DeclareUnicodeCharacter{1E8C}{\"X} \DeclareUnicodeCharacter{1E8D}{\"x} \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} \DeclareUnicodeCharacter{1E90}{\^Z} \DeclareUnicodeCharacter{1E91}{\^z} \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} \DeclareUnicodeCharacter{1E97}{\"t} \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} \DeclareUnicodeCharacter{1EBC}{\~E} \DeclareUnicodeCharacter{1EBD}{\~e} \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} \DeclareUnicodeCharacter{1EF2}{\`Y} \DeclareUnicodeCharacter{1EF3}{\`y} \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} \DeclareUnicodeCharacter{1EF8}{\~Y} \DeclareUnicodeCharacter{1EF9}{\~y} \DeclareUnicodeCharacter{2013}{--} \DeclareUnicodeCharacter{2014}{---} \DeclareUnicodeCharacter{2018}{\quoteleft} \DeclareUnicodeCharacter{2019}{\quoteright} \DeclareUnicodeCharacter{201A}{\quotesinglbase} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} \DeclareUnicodeCharacter{203A}{\guilsinglright} \DeclareUnicodeCharacter{20AC}{\euro} \DeclareUnicodeCharacter{2192}{\expansion} \DeclareUnicodeCharacter{21D2}{\result} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be very finicky about underfull hboxes, either. \hbadness = 6666 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize \advance\dimen2 by \normaloffset % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} \def^^L{\par} % remove \outer, so ^L can appear in an @comment % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \def\normaldoublequote{"} \catcode`\$=\other \def\normaldollar{$}%$ font-lock fix \catcode`\+=\other \def\normalplus{+} \catcode`\<=\other \def\normalless{<} \catcode`\>=\other \def\normalgreater{>} \catcode`\^=\other \def\normalcaret{^} \catcode`\_=\other \def\normalunderscore{_} \catcode`\|=\other \def\normalverticalbar{|} \catcode`\~=\other \def\normaltilde{~} % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active % @ for escape char from now on. % The story here is that in math mode, the \char of \backslashcurfont % ends up printing the roman \ from the math symbol font (because \char % in math mode uses the \mathcode, and plain.tex sets % \mathcode`\\="026E). It seems better for @backslashchar{} to always % print a typewriter backslash, hence we use an explicit \mathchar, % which is the decimal equivalent of "715c (class 7, e.g., use \fam; % ignored family value; char position "5C). We can't use " for the % usual hex value because it has already been made active. @def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} @let@backslashchar = @normalbackslash % @backslashchar{} is for user documents. % On startup, @fixbackslash assigns: % @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. We switch back and forth between these. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. Also revert - to its normal character, in % case the active - from code has slipped in. % {@catcode`- = @active @gdef@normalturnoffactive{% @let-=@normaldash @let"=@normaldoublequote @let$=@normaldollar %$ font-lock fix @let+=@normalplus @let<=@normalless @let>=@normalgreater @let\=@normalbackslash @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let~=@normaltilde @markupsetuplqdefault @markupsetuprqdefault @unsepspaces } } % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These (along with & and #) are made active for url-breaking, so need % active definitions as the normal characters. @def@normaldot{.} @def@normalquest{?} @def@normalslash{/} % These look ok in all fonts, so just make them not special. % @hashchar{} gets its own user-level command, because of #line. @catcode`@& = @other @def@normalamp{&} @catcode`@# = @other @def@normalhash{#} @catcode`@% = @other @def@normalpercent{%} @let @hashchar = @normalhash @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @c don't make ` and ' active, @code will not get them as active chars. @c Do this last of all since we use ` in the previous @catcode assignments. @catcode`@'=@active @catcode`@`=@active @markupsetuplqdefault @markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: @ignore arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 @end ignore coreutils-8.21/build-aux/config.guess0000775000000000000000000012706012104754777014604 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-02-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: coreutils-8.21/build-aux/mdate-sh0000775000000000000000000001363712100637437013705 00000000000000#!/bin/sh # Get modification time of a file or directory and pretty-print it. scriptversion=2010-08-21.06; # UTC # Copyright (C) 1995-2013 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST fi case $1 in '') echo "$0: No file. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: mdate-sh [--help] [--version] FILE Pretty-print the modification day of FILE, in the format: 1 January 1970 Report bugs to . EOF exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" exit $? ;; esac error () { echo "$0: $1" >&2 exit 1 } # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso export TIME_STYLE fi save_arg1=$1 # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi # Avoid user/group names that might have spaces, when possible. if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi # A 'ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a # user named "Jan", or "Feb", etc. However, it's unlikely that '/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. set x`$ls_command /` # Find which argument is the month. month= command= until test $month do test $# -gt 0 || error "failed parsing '$ls_command /' output" shift # Add another shift to the command. command="$command shift;" case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done test -n "$month" || error "failed parsing '$ls_command /' output" # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\\\$save_arg1\""` # Remove all preceding arguments eval $command # Because of the dummy argument above, month is in $2. # # On a POSIX system, we should have # # $# = 5 # $1 = file size # $2 = month # $3 = day # $4 = year or time # $5 = filename # # On Darwin 7.7.0 and 7.6.0, we have # # $# = 4 # $1 = day # $2 = month # $3 = year or time # $4 = filename # Get the month. case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac case $3 in ???*) day=$1;; *) day=$3; shift;; esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/config.rpath0000775000000000000000000004443512071024545014562 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2013 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; nagfor*) wl='-Wl,-Wl,,' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; xl* | bgxl* | bgf* | mpixl*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) wl= ;; *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; newsos6) ;; *nto* | *qnx*) ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) wl='-Qoption ld ' ;; *) wl='-Wl,' ;; esac ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; haiku*) ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) case "$host_cpu" in powerpc*) library_names_spec='$libname$shrext' ;; m68k) library_names_spec='$libname.a' ;; esac ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; haiku*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; tpf*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # Written by Jim Meyering and Joel E. Denny # The arguments to this script should be names of files that contain # copyright statements to be updated. The copyright holder's name # defaults to "Free Software Foundation, Inc." but may be changed to # any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment # variable. # # For example, you might wish to use the update-copyright target rule # in maint.mk from gnulib's maintainer-makefile module. # # Iff a copyright statement is recognized in a file and the final # year is not the current year, then the statement is updated for the # new year and it is reformatted to: # # 1. Fit within 72 columns. # 2. Convert 2-digit years to 4-digit years by prepending "19". # 3. Expand copyright year intervals. (See "Environment variables" # below.) # # A warning is printed for every file for which no copyright # statement is recognized. # # Each file's copyright statement must be formatted correctly in # order to be recognized. For example, each of these is fine: # # Copyright @copyright{} 1990-2005, 2007-2009 Free Software # Foundation, Inc. # # # Copyright (C) 1990-2005, 2007-2009 Free Software # # Foundation, Inc. # # /* # * Copyright © 90,2005,2007-2009 # * Free Software Foundation, Inc. # */ # # However, the following format is not recognized because the line # prefix changes after the first line: # # ## Copyright (C) 1990-2005, 2007-2009 Free Software # # Foundation, Inc. # # However, any correctly formatted copyright statement following # a non-matching copyright statements would be recognized. # # The exact conditions that a file's copyright statement must meet # to be recognized are: # # 1. It is the first copyright statement that meets all of the # following conditions. Subsequent copyright statements are # ignored. # 2. Its format is "Copyright (C)", then a list of copyright years, # and then the name of the copyright holder. # 3. The "(C)" takes one of the following forms or is omitted # entirely: # # A. (C) # B. (c) # C. @copyright{} # D. © # # 4. The "Copyright" appears at the beginning of a line, except that it # may be prefixed by any sequence (e.g., a comment) of no more than # 5 characters -- including white space. # 5. Iff such a prefix is present, the same prefix appears at the # beginning of each remaining line within the FSF copyright # statement. There is one exception in order to support C-style # comments: if the first line's prefix contains nothing but # whitespace surrounding a "/*", then the prefix for all subsequent # lines is the same as the first line's prefix except with each of # "/" and possibly "*" replaced by a " ". The replacement of "*" # by " " is consistent throughout all subsequent lines. # 6. Blank lines, even if preceded by the prefix, do not appear # within the FSF copyright statement. # 7. Each copyright year is 2 or 4 digits, and years are separated by # commas or dashes. Whitespace may appear after commas. # # Environment variables: # # 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement # is reformatted even if it does not need updating for the new # year. If unset or set to 0, only updated FSF copyright # statements are reformatted. # 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive # copyright years (such as 90, 1991, 1992-2007, 2008) in a # reformatted FSF copyright statement is collapsed to a single # interval (such as 1990-2008). If unset or set to 0, all existing # copyright year intervals in a reformatted FSF copyright statement # are expanded instead. # If UPDATE_COPYRIGHT_USE_INTERVALS=2, convert a sequence with gaps # to the minimal containing range. For example, convert # 2000, 2004-2007, 2009 to 2000-2009. # 3. For testing purposes, you can set the assumed current year in # UPDATE_COPYRIGHT_YEAR. # 4. The default maximum line length for a copyright line is 72. # Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length. # 5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other # than "Free Software Foundation, Inc.". use strict; use warnings; my $copyright_re = 'Copyright'; my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; $holder ||= 'Free Software Foundation, Inc.'; my $prefix_max = 5; my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH}; !$margin || $margin !~ m/^\d+$/ and $margin = 72; my $tab_width = 8; my $this_year = $ENV{UPDATE_COPYRIGHT_YEAR}; if (!$this_year || $this_year !~ m/^\d{4}$/) { my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ()); $this_year = $year + 1900; } # Unless the file consistently uses "\r\n" as the EOL, use "\n" instead. my $eol = /(?:^|[^\r])\n/ ? "\n" : "\r\n"; my $leading; my $prefix; my $ws_re; my $stmt_re; while (/(^|\n)(.{0,$prefix_max})$copyright_re/g) { $leading = "$1$2"; $prefix = $2; if ($prefix =~ /^(\s*\/)\*(\s*)$/) { $prefix =~ s,/, ,; my $prefix_ws = $prefix; $prefix_ws =~ s/\*/ /; # Only whitespace. if (/\G(?:[^*\n]|\*[^\/\n])*\*?\n$prefix_ws/) { $prefix = $prefix_ws; } } $ws_re = '[ \t\r\f]'; # \s without \n $ws_re = "(?:$ws_re*(?:$ws_re|\\n" . quotemeta($prefix) . ")$ws_re*)"; my $holder_re = $holder; $holder_re =~ s/\s/$ws_re/g; my $stmt_remainder_re = "(?:$ws_re$circle_c_re)?" . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|-))*" . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; if (/\G$stmt_remainder_re/) { $stmt_re = quotemeta($leading) . "($copyright_re$stmt_remainder_re)"; last; } } if (defined $stmt_re) { /$stmt_re/ or die; # Should never die. my $stmt = $1; my $final_year_orig = $2; # Handle two-digit year numbers like "98" and "99". my $final_year = $final_year_orig; $final_year <= 99 and $final_year += 1900; if ($final_year != $this_year) { # Update the year. $stmt =~ s/\b$final_year_orig\b/$final_year, $this_year/; } if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) { # Normalize all whitespace including newline-prefix sequences. $stmt =~ s/$ws_re/ /g; # Put spaces after commas. $stmt =~ s/, ?/, /g; # Convert 2-digit to 4-digit years. $stmt =~ s/(\b\d\d\b)/19$1/g; # Make the use of intervals consistent. if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) { $stmt =~ s/(\d{4})-(\d{4})/join(', ', $1..$2)/eg; } else { $stmt =~ s/ (\d{4}) (?: (,\ |-) ((??{ if ($2 eq '-') { '\d{4}'; } elsif (!$3) { $1 + 1; } else { $3 + 1; } })) )+ /$1-$3/gx; # When it's 2, emit a single range encompassing all year numbers. $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2 and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1-$2/; } # Format within margin. my $stmt_wrapped; my $text_margin = $margin - length($prefix); if ($prefix =~ /^(\t+)/) { $text_margin -= length($1) * ($tab_width - 1); } while (length $stmt) { if (($stmt =~ s/^(.{1,$text_margin})(?: |$)//) || ($stmt =~ s/^([\S]+)(?: |$)//)) { my $line = $1; $stmt_wrapped .= $stmt_wrapped ? "$eol$prefix" : $leading; $stmt_wrapped .= $line; } else { # Should be unreachable, but we don't want an infinite # loop if it can be reached. die; } } # Replace the old copyright statement. s/$stmt_re/$stmt_wrapped/; } } else { print STDERR "$ARGV: warning: copyright statement not found\n"; } # Local variables: # mode: perl # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d.%02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: coreutils-8.21/build-aux/compile0000755000000000000000000001615212107175572013630 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-03-05.13; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free # Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/gnupload0000775000000000000000000002654312071561002014003 00000000000000#!/bin/sh # Sign files and upload them. scriptversion=2012-12-11.16; # UTC # Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Originally written by Alexandre Duret-Lutz . # The master copy of this file is maintained in the gnulib Git repository. # Please send bug reports and feature requests to bug-gnulib@gnu.org. set -e GPG='gpg --batch --no-tty' conffile=.gnuploadrc to= dry_run=false replace= symlink_files= delete_files= delete_symlinks= collect_var= dbg= nl=' ' usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...] Sign all FILES, and process them at selected destinations according to CMD. explains further. Commands: --delete delete FILES from destination --symlink create symbolic links --rmsymlink remove symbolic links -- treat the remaining arguments as files to upload Options: --help print this help text and exit --to DEST specify one destination for FILES (multiple --to options are allowed) --user NAME sign with key NAME --replace allow replacements of existing files --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names --dry-run do nothing, show what would have been done (including the constructed directive file) --version output version information and exit If --symlink-regex is given without EXPR, then the link target name is created by replacing the version information with '-latest', e.g.: foo-1.3.4.tar.gz -> foo-latest.tar.gz Recognized destinations are: alpha.gnu.org:DIRECTORY savannah.gnu.org:DIRECTORY savannah.nongnu.org:DIRECTORY ftp.gnu.org:DIRECTORY build directive files and upload files by FTP download.gnu.org.ua:{alpha|ftp}/DIRECTORY build directive files and upload files by SFTP [user@]host:DIRECTORY upload files with scp Options and commands are applied in order. If the file $conffile exists in the current working directory, its contents are prepended to the actual command line options. Use this to keep your defaults. Comments (#) and empty lines in $conffile are allowed. Examples: 1. Upload foobar-1.0.tar.gz to ftp.gnu.org: gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz 2. Upload foobar-1.0.tar.gz and foobar-1.0.tar.xz to ftp.gnu.org: gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz foobar-1.0.tar.xz 3. Same as above, and also create symbolic links to foobar-latest.tar.*: gnupload --to ftp.gnu.org:foobar \\ --symlink-regex \\ foobar-1.0.tar.gz foobar-1.0.tar.xz 4. Upload foobar-0.9.90.tar.gz to two sites: gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ foobar-0.9.90.tar.gz 5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz (the -- terminates the list of files to delete): gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ --delete oopsbar-0.9.91.tar.gz \\ -- foobar-0.9.91.tar.gz gnupload uses the ncftpput program to do the transfers; if you don't happen to have an ncftp package installed, the ncftpput-ftp script in the build-aux/ directory of the gnulib package (http://savannah.gnu.org/projects/gnulib) may serve as a replacement. Send patches and bug reports to ." # Read local configuration file if test -r "$conffile"; then echo "$0: Reading configuration file $conffile" conf=`sed 's/#.*$//;/^$/d' "$conffile" | tr "\015$nl" ' '` eval set x "$conf \"\$@\"" shift fi while test -n "$1"; do case $1 in -*) collect_var= case $1 in --help) echo "$usage" exit $? ;; --to) if test -z "$2"; then echo "$0: Missing argument for --to" 1>&2 exit 1 else to="$to $2" shift fi ;; --user) if test -z "$2"; then echo "$0: Missing argument for --user" 1>&2 exit 1 else GPG="$GPG --local-user $2" shift fi ;; --delete) collect_var=delete_files ;; --replace) replace="replace: true" ;; --rmsymlink) collect_var=delete_symlinks ;; --symlink-regex=*) symlink_expr=`expr "$1" : '[^=]*=\(.*\)'` ;; --symlink-regex) symlink_expr='s|-[0-9][0-9\.]*\(-[0-9][0-9]*\)\{0,1\}\.|-latest.|' ;; --symlink) collect_var=symlink_files ;; --dry-run|-n) dry_run=: ;; --version) echo "gnupload $scriptversion" exit $? ;; --) shift break ;; -*) echo "$0: Unknown option '$1', try '$0 --help'" 1>&2 exit 1 ;; esac ;; *) if test -z "$collect_var"; then break else eval "$collect_var=\"\$$collect_var $1\"" fi ;; esac shift done dprint() { echo "Running $* ..." } if $dry_run; then dbg=dprint fi if test -z "$to"; then echo "$0: Missing destination sites" >&2 exit 1 fi if test -n "$symlink_files"; then x=`echo "$symlink_files" | sed 's/[^ ]//g;s/ //g'` if test -n "$x"; then echo "$0: Odd number of symlink arguments" >&2 exit 1 fi fi if test $# = 0; then if test -z "${symlink_files}${delete_files}${delete_symlinks}"; then echo "$0: No file to upload" 1>&2 exit 1 fi else # Make sure all files exist. We don't want to ask # for the passphrase if the script will fail. for file do if test ! -f $file; then echo "$0: Cannot find '$file'" 1>&2 exit 1 elif test -n "$symlink_expr"; then linkname=`echo $file | sed "$symlink_expr"` if test -z "$linkname"; then echo "$0: symlink expression produces empty results" >&2 exit 1 elif test "$linkname" = $file; then echo "$0: symlink expression does not alter file name" >&2 exit 1 fi fi done fi # Make sure passphrase is not exported in the environment. unset passphrase unset passphrase_fd_0 GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg} # Reset PATH to be sure that echo is a built-in. We will later use # 'echo $passphrase' to output the passphrase, so it is important that # it is a built-in (third-party programs tend to appear in 'ps' # listings with their arguments...). # Remember this script runs with 'set -e', so if echo is not built-in # it will exit now. if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else PATH=/empty echo -n "Enter GPG passphrase: " stty -echo read -r passphrase stty echo echo passphrase_fd_0="--passphrase-fd 0" fi if test $# -ne 0; then for file do echo "Signing $file ..." rm -f $file.sig echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file done fi # mkdirective DESTDIR BASE FILE STMT # Arguments: See upload, below mkdirective () { stmt="$4" if test -n "$3"; then stmt=" filename: $3$stmt" fi cat >${2}.directive<&2 fi $dbg ncftpput savannah.gnu.org /incoming/savannah/$destdir $files ;; savannah.nongnu.org:*) if test -z "$files"; then echo "$0: warning: standalone directives not applicable for $dest" >&2 fi $dbg ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files ;; download.gnu.org.ua:alpha/*|download.gnu.org.ua:ftp/*) destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` mkdirective "$destdir_p1" "$base" "$file" "$stmt" echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive for f in $files $base.directive.asc do echo put $f done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir ;; /*) dest_host=`echo "$dest" | sed 's,:.*,,'` mkdirective "$destdir" "$base" "$file" "$stmt" echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive $dbg cp $files $base.directive.asc $dest_host ;; *) if test -z "$files"; then echo "$0: warning: standalone directives not applicable for $dest" >&2 fi $dbg scp $files $dest ;; esac rm -f $base.directive $base.directive.asc } ##### # Process any standalone directives stmt= if test -n "$symlink_files"; then stmt="$stmt `mksymlink $symlink_files`" fi for file in $delete_files do stmt="$stmt archive: $file" done for file in $delete_symlinks do stmt="$stmt rmsymlink: $file" done if test -n "$stmt"; then for dest in $to do destdir=`echo $dest | sed 's/[^:]*://'` upload "$dest" "$destdir" "`hostname`-$$" "" "$stmt" done fi # Process actual uploads for dest in $to do for file do echo "Uploading $file to $dest ..." stmt= # # allowing file replacement is all or nothing. if test -n "$replace"; then stmt="$stmt $replace" fi # files="$file $file.sig" destdir=`echo $dest | sed 's/[^:]*://'` if test -n "$symlink_expr"; then linkname=`echo $file | sed "$symlink_expr"` stmt="$stmt symlink: $file $linkname symlink: $file.sig $linkname.sig" fi upload "$dest" "$destdir" "$file" "$file" "$stmt" "$files" done done exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/gen-lists-of-programs.sh0000775000000000000000000000751612104210261016734 00000000000000#!/bin/sh # Generate lists of all coreutils programs, to be fed both to Autoconf # and Automake, and with further distinctions about how and when these # programs should be built. This is useful to avoid duplicating these # list definitions among several files ('configure.ac' and # 'src/local.mk' at least); such duplication had proved a source of # inconsistencies and bugs in the past. set -u set -e # These are the names of programs that are neither built nor installed # by default. This list is *not* intended for programs like 'who', # 'nice', 'chroot', etc., that are built only when certain requisite # system features are detected. # If you would like to install programs from this list anyway, say A and B, # use "--enable-install-program=A,B" when invoking configure. disabled_by_default_progs=' arch hostname ' # Programs that can be built only when certain requisite system # features are detected at configure time. build_if_possible_progs=' chroot df hostid libstdbuf.so nice pinky stdbuf stty uptime users who ' # All the other programs, to be built by default, and that should # be buildable without problems on any target system. normal_progs=' [ base64 basename cat chcon chgrp chmod chown cksum comm cp csplit cut date dd dir dircolors dirname du echo env expand expr factor false fmt fold ginstall groups head id join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nl nproc nohup numfmt od paste pathchk pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink vdir wc whoami yes ' me=`echo "$0" | sed 's,.*/,,'` msg="Automatically generated by $me. DO NOT EDIT BY HAND!" case $#,$1 in 1,--autoconf|1,--for-autoconf) echo "dnl $msg" for p in $normal_progs; do test x"$p" = x"[" && p='@<:@' echo "gl_ADD_PROG([optional_bin_progs], [$p])" done # Extra 'echo' to normalize whitespace. echo "no_install_progs_default='`echo $disabled_by_default_progs`'" sed 's/^ *//' <&2; exit 2 ;; esac exit 0 coreutils-8.21/build-aux/announce-gen0000775000000000000000000003700312071024545014546 00000000000000eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' & eval 'exec perl -wS "$0" $argv:q' if 0; # Generate a release announcement message. my $VERSION = '2012-06-08 06:53'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use Getopt::Long; use Digest::MD5; eval { require Digest::SHA; } or eval 'use Digest::SHA1'; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; my %valid_release_types = map {$_ => 1} qw (alpha beta stable); my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz'); my $srcdir = '.'; sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try '$ME --help' for more information.\n"; } else { my @types = sort keys %valid_release_types; print $STREAM < = C Compute the sizes of the C<@file> and return them as a hash. Return C if one of the computation failed. =cut sub sizes (@) { my (@file) = @_; my $fail = 0; my %res; foreach my $f (@file) { my $cmd = "du -h $f"; my $t = `$cmd`; # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS $@ and (warn "command failed: '$cmd'\n"), $fail = 1; chomp $t; $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/; $res{$f} = $t; } return $fail ? undef : %res; } =item C dedicated to the list of <@file>, which sizes are stored in C<%size>, and which are available from the C<@url>. =cut sub print_locations ($\@\%@) { my ($title, $url, $size, @file) = @_; print "Here are the $title:\n"; foreach my $url (@{$url}) { for my $file (@file) { print " $url/$file"; print " (", $$size{$file}, ")" if exists $$size{$file}; print "\n"; } } print "\n"; } =item C. =cut sub print_checksums (@) { my (@file) = @_; print "Here are the MD5 and SHA1 checksums:\n"; print "\n"; foreach my $meth (qw (md5 sha1)) { foreach my $f (@file) { open IN, '<', $f or die "$ME: $f: cannot open for reading: $!\n"; binmode IN; my $dig = ($meth eq 'md5' ? Digest::MD5->new->addfile(*IN)->hexdigest : Digest::SHA1->new->addfile(*IN)->hexdigest); close IN; print "$dig $f\n"; } } print "\n"; } =item C addressing changes between versions C<$prev_version> and C<$curr_version>. =cut sub print_news_deltas ($$$) { my ($news_file, $prev_version, $curr_version) = @_; my $news_name = $news_file; $news_name =~ s|^\Q$srcdir\E/||; print "\n$news_name\n\n"; # Print all lines from $news_file, starting with the first one # that mentions $curr_version up to but not including # the first occurrence of $prev_version. my $in_items; my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/; my $found_news; open NEWS, '<', $news_file or die "$ME: $news_file: cannot open for reading: $!\n"; while (defined (my $line = )) { if ( ! $in_items) { # Match lines like these: # * Major changes in release 5.0.1: # * Noteworthy changes in release 6.6 (2006-11-22) [stable] $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o or next; $in_items = 1; print $line; } else { # This regexp must not match version numbers in NEWS items. # For example, they might well say "introduced in 4.5.5", # and we don't want that to match. $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o and last; print $line; $line =~ /\S/ and $found_news = 1; } } close NEWS; $in_items or die "$ME: $news_file: no matching lines for '$curr_version'\n"; $found_news or die "$ME: $news_file: no news item found for '$curr_version'\n"; } sub print_changelog_deltas ($$) { my ($package_name, $prev_version) = @_; # Print new ChangeLog entries. # First find all CVS-controlled ChangeLog files. use File::Find; my @changelog; find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' and push @changelog, $File::Find::name}}, '.'); # If there are no ChangeLog files, we're done. @changelog or return; my %changelog = map {$_ => 1} @changelog; # Reorder the list of files so that if there are ChangeLog # files in the specified directories, they're listed first, # in this order: my @dir = qw ( . src lib m4 config doc ); # A typical @changelog array might look like this: # ./ChangeLog # ./po/ChangeLog # ./m4/ChangeLog # ./lib/ChangeLog # ./doc/ChangeLog # ./config/ChangeLog my @reordered; foreach my $d (@dir) { my $dot_slash = $d eq '.' ? $d : "./$d"; my $target = "$dot_slash/ChangeLog"; delete $changelog{$target} and push @reordered, $target; } # Append any remaining ChangeLog files. push @reordered, sort keys %changelog; # Remove leading './'. @reordered = map { s!^\./!!; $_ } @reordered; print "\nChangeLog entries:\n\n"; # print join ("\n", @reordered), "\n"; $prev_version =~ s/\./_/g; my $prev_cvs_tag = "\U$package_name\E-$prev_version"; my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; open DIFF, '-|', $cmd or die "$ME: cannot run '$cmd': $!\n"; # Print two types of lines, making minor changes: # Lines starting with '+++ ', e.g., # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 # and those starting with '+'. # Don't print the others. my $prev_printed_line_empty = 1; while (defined (my $line = )) { if ($line =~ /^\+\+\+ /) { my $separator = "*"x70 ."\n"; $line =~ s///; $line =~ s/\s.*//; $prev_printed_line_empty or print "\n"; print $separator, $line, $separator; } elsif ($line =~ /^\+/) { $line =~ s///; print $line; $prev_printed_line_empty = ($line =~ /^$/); } } close DIFF; # The exit code should be 1. # Allow in case there are no modified ChangeLog entries. $? == 256 || $? == 128 or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n"; } sub get_tool_versions ($$) { my ($tool_list, $gnulib_version) = @_; @$tool_list or return (); my $fail; my @tool_version_pair; foreach my $t (@$tool_list) { if ($t eq 'gnulib') { push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; next; } # Assume that the last "word" on the first line of # 'tool --version' output is the version string. my ($first_line, undef) = split ("\n", `$t --version`); if ($first_line =~ /.* (\d[\w.-]+)$/) { $t = ucfirst $t; push @tool_version_pair, "$t $1"; } else { defined $first_line and $first_line = ''; warn "$t: unexpected --version output\n:$first_line"; $fail = 1; } } $fail and exit 1; return @tool_version_pair; } { # Neutralize the locale, so that, for instance, "du" does not # issue "1,2" instead of "1.2", what confuses our regexps. $ENV{LC_ALL} = "C"; my $mail_headers; my $release_type; my $package_name; my $prev_version; my $curr_version; my $gpg_key_id; my @url_dir_list; my @news_file; my $bootstrap_tools; my $gnulib_version; my $print_checksums_p = 1; # Reformat the warnings before displaying them. local $SIG{__WARN__} = sub { my ($msg) = @_; # Warnings from GetOptions. $msg =~ s/Option (\w)/option --$1/; warn "$ME: $msg"; }; GetOptions ( 'mail-headers=s' => \$mail_headers, 'release-type=s' => \$release_type, 'package-name=s' => \$package_name, 'previous-version=s' => \$prev_version, 'current-version=s' => \$curr_version, 'gpg-key-id=s' => \$gpg_key_id, 'url-directory=s' => \@url_dir_list, 'news=s' => \@news_file, 'srcdir=s' => \$srcdir, 'bootstrap-tools=s' => \$bootstrap_tools, 'gnulib-version=s' => \$gnulib_version, 'print-checksums!' => \$print_checksums_p, 'archive-suffix=s' => \@archive_suffixes, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, ) or usage 1; my $fail = 0; # Ensure that each required option is specified. $release_type or (warn "release type not specified\n"), $fail = 1; $package_name or (warn "package name not specified\n"), $fail = 1; $prev_version or (warn "previous version string not specified\n"), $fail = 1; $curr_version or (warn "current version string not specified\n"), $fail = 1; $gpg_key_id or (warn "GnuPG key ID not specified\n"), $fail = 1; @url_dir_list or (warn "URL directory name(s) not specified\n"), $fail = 1; my @tool_list = split ',', $bootstrap_tools; grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version and (warn "when specifying gnulib as a tool, you must also specify\n" . "--gnulib-version=V, where V is the result of running git describe\n" . "in the gnulib source directory.\n"), $fail = 1; exists $valid_release_types{$release_type} or (warn "'$release_type': invalid release type\n"), $fail = 1; @ARGV and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"), $fail = 1; $fail and usage 1; my $my_distdir = "$package_name-$curr_version"; my $xd = "$package_name-$prev_version-$curr_version.xdelta"; my @candidates = map { "$my_distdir.$_" } @archive_suffixes; my @tarballs = grep {-f $_} @candidates; @tarballs or die "$ME: none of " . join(', ', @candidates) . " were found\n"; my @sizable = @tarballs; -f $xd and push @sizable, $xd; my %size = sizes (@sizable); %size or exit 1; my $headers = ''; if (defined $mail_headers) { ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g; $headers .= "\n"; } # The markup is escaped as <\# so that when this script is sent by # mail (or part of a diff), Gnus is not triggered. print < FIXME: put comments here EOF if (@url_dir_list == 1 && @tarballs == 1) { # When there's only one tarball and one URL, use a more concise form. my $m = "$url_dir_list[0]/$tarballs[0]"; print "Here are the compressed sources and a GPG detached signature[*]:\n" . " $m\n" . " $m.sig\n\n"; } else { print_locations ("compressed sources", @url_dir_list, %size, @tarballs); -f $xd and print_locations ("xdelta diffs (useful? if so, " . "please tell bug-gnulib\@gnu.org)", @url_dir_list, %size, $xd); my @sig_files = map { "$_.sig" } @tarballs; print_locations ("GPG detached signatures[*]", @url_dir_list, %size, @sig_files); } if ($url_dir_list[0] =~ "gnu\.org") { print "Use a mirror for higher download bandwidth:\n"; if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!) { (my $m = "$url_dir_list[0]/$tarballs[0]") =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!; print " $m\n" . " $m.sig\n\n"; } else { print " http://www.gnu.org/order/ftp.html\n\n"; } } $print_checksums_p and print_checksums (@sizable); print <. # Written by Jim Meyering use strict; use warnings; use Getopt::Long; (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try '$ME --help' for more information.\n"; } else { print $STREAM < sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, list => \$list, 'name=s@' => \@name, ) or usage 1; # Make sure we have the right number of non-option arguments. # Always tell the user why we fail. @ARGV < 1 and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; my $or = join '|', @name; my $regexp = qr/(?:$or)/; # Set the input record separator. # Note: this makes it impractical to print line numbers. $/ = '"'; my $found_match = 0; FILE: foreach my $file (@ARGV) { open FH, '<', $file or (warn "$ME: can't open '$file' for reading: $!\n"), $err = EXIT_ERROR, next; while (defined (my $line = )) { while ($line =~ /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) # 1 2 3 (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;| \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) { my $all = $1; my ($lhs, $rhs) = ($2, $3); my ($free_opnd, $braced_free_opnd) = ($4, $5); my $non_NULL; if (!defined $rhs) { $non_NULL = $lhs } elsif (is_NULL $rhs) { $non_NULL = $lhs } elsif (is_NULL $lhs) { $non_NULL = $rhs } else { next } # Compare the non-NULL part of the "if" expression and the # free'd expression, without regard to white space. $non_NULL =~ tr/ \t//d; my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; $e2 =~ tr/ \t//d; if ($non_NULL eq $e2) { $found_match = 1; $list and (print "$file\0"), next FILE; print "$file: $all\n"; } } } } continue { close FH; } $found_match && $err == EXIT_NO_MATCH and $err = EXIT_MATCH; exit $err; } my $foo = <<'EOF'; # The above is to *find* them. # This adjusts them, removing the unnecessary "if (p)" part. # FIXME: do something like this as an option (doesn't do braces): free=xfree git grep -l -z "$free *(" \ | xargs -0 useless-if-before-free -l --name="$free" \ | xargs -0 perl -0x3b -pi -e \ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s' # Use the following to remove redundant uses of kfree inside braces. # Note that -0777 puts perl in slurp-whole-file mode; # but we have plenty of memory, these days... free=kfree git grep -l -z "$free *(" \ | xargs -0 useless-if-before-free -l --name="$free" \ | xargs -0 perl -0777 -pi -e \ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' Be careful that the result of the above transformation is valid. If the matched string is followed by "else", then obviously, it won't be. When modifying files, refuse to process anything other than a regular file. EOF ## Local Variables: ## mode: perl ## indent-tabs-mode: nil ## eval: (add-hook 'write-file-hooks 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC" ## time-stamp-end: "'; # UTC" ## End: coreutils-8.21/build-aux/depcomp0000775000000000000000000005356512100637437013636 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2012-10-18.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/gnu-web-doc-update0000775000000000000000000001241512071024545015560 00000000000000#!/bin/sh # Run this after each non-alpha release, to update the web documentation at # http://www.gnu.org/software/$pkg/manual/ VERSION=2012-12-16.14; # UTC # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . ME=$(basename "$0") warn() { printf '%s: %s\n' "$ME" "$*" >&2; } die() { warn "$*"; exit 1; } help() { cat <. EOF exit } version() { year=$(echo "$VERSION" | sed 's/[^0-9].*//') cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit } # find_tool ENVVAR NAMES... # ------------------------- # Search for a required program. Use the value of ENVVAR, if set, # otherwise find the first of the NAMES that can be run (i.e., # supports --version). If found, set ENVVAR to the program name, # die otherwise. # # FIXME: code duplication, see also bootstrap. find_tool () { find_tool_envvar=$1 shift find_tool_names=$@ eval "find_tool_res=\$$find_tool_envvar" if test x"$find_tool_res" = x; then for i do if ($i --version /dev/null 2>&1; then find_tool_res=$i break fi done else find_tool_error_prefix="\$$find_tool_envvar: " fi test x"$find_tool_res" != x \ || die "one of these is required: $find_tool_names" ($find_tool_res --version /dev/null 2>&1 \ || die "${find_tool_error_prefix}cannot run $find_tool_res --version" eval "$find_tool_envvar=\$find_tool_res" eval "export $find_tool_envvar" } ## ------ ## ## Main. ## ## ------ ## # Requirements: everything required to bootstrap your package, plus # these. find_tool CVS cvs find_tool GIT git find_tool RSYNC rsync find_tool XARGS gxargs xargs builddir=. dryrun= while test $# != 0 do # Handle --option=value by splitting apart and putting back on argv. case $1 in --*=*) opt=$(echo "$1" | sed -e 's/=.*//') val=$(echo "$1" | sed -e 's/[^=]*=//') shift set dummy "$opt" "$val" ${1+"$@"}; shift ;; esac case $1 in --help|--version) ${1#--};; -C|--builddir) shift; builddir=$1; shift ;; -n|--dry-run) dryrun=echo; shift;; --*) die "unrecognized option: $1";; *) break;; esac done test $# = 0 \ || die "too many arguments" prev=.prev-version version=$(cat $prev) || die "no $prev file?" pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \ || die "no Makefile?" tmp_branch=web-doc-$version-$$ current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}') cleanup() { __st=$? $dryrun rm -rf "$tmp" $GIT checkout "$current_branch" $GIT submodule update --recursive $GIT branch -d $tmp_branch exit $__st } trap cleanup 0 trap 'exit $?' 1 2 13 15 # We must build using sources for which --version reports the # just-released version number, not some string like 7.6.18-20761. # That version string propagates into all documentation. set -e $GIT checkout -b $tmp_branch v$version $GIT submodule update --recursive ./bootstrap srcdir=$(pwd) cd "$builddir" ./config.status --recheck ./config.status make make web-manual cd "$srcdir" set +e tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1 ( cd $tmp \ && $CVS -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) $RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual ( cd $tmp/$pkg/manual # Add all the files. This is simpler than trying to add only the # new ones because of new directories: it would require iterating on # adding the outer directories, and then their contents. # # find guarantees that we add outer directories first. find . -name CVS -prune -o -print \ | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko $dryrun $CVS ci -m $version ) # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/missing0000755000000000000000000002415212107175572013650 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/do-release-commit-and-tag0000775000000000000000000001232712071024545017012 00000000000000#!/bin/sh # In a git/autoconf/automake-enabled project with a NEWS file and a version- # controlled .prev-version file, automate the procedure by which we record # the date, release-type and version string in the NEWS file. That commit # will serve to identify the release, so apply a signed tag to it as well. VERSION=2012-08-01.09 # UTC # Note: this is a bash script (could be zsh or dash) # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering ME=$(basename "$0") warn() { printf '%s: %s\n' "$ME" "$*" >&2; } die() { warn "$*"; exit 1; } help() { cat <. EOF exit } version() { year=$(echo "$VERSION" | sed 's/[^0-9].*//') cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit } ## ------ ## ## Main. ## ## ------ ## # Constants. noteworthy='* Noteworthy changes in release' noteworthy_stub="$noteworthy ?.? (????-??-??) [?]" # Variables. branch=$(git branch | sed -ne '/^\* /{s///;p;q;}') builddir=. while test $# != 0 do # Handle --option=value by splitting apart and putting back on argv. case $1 in --*=*) opt=$(echo "$1" | sed -e 's/=.*//') val=$(echo "$1" | sed -e 's/[^=]*=//') shift set dummy "$opt" "$val" ${1+"$@"}; shift ;; esac case $1 in --help|--version) ${1#--};; --branch) shift; branch=$1; shift ;; -C|--builddir) shift; builddir=$1; shift ;; --*) die "unrecognized option: $1";; *) break;; esac done test $# = 2 \ || die "Usage: $ME [OPTION...] VERSION TYPE" ver=$1 type=$2 ## ---------------------- ## ## First, sanity checks. ## ## ---------------------- ## # Verify that $ver looks like a version number, and... echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \ || die "invalid version: $ver" prev_ver=$(cat .prev-version) \ || die 'failed to determine previous version number from .prev-version' # Verify that $ver is sensible (> .prev-version). case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in "$prev_ver:$ver:") ;; *) die "invalid version: $ver (<= $prev_ver)";; esac case $type in alpha|beta|stable) ;; *) die "invalid release type: $type";; esac # No local modifications allowed. case $(git diff-index --name-only HEAD) in '') ;; *) die 'this tree is dirty; commit your changes first';; esac # Ensure the current branch name is correct: curr_br=$(git rev-parse --symbolic-full-name HEAD) test "$curr_br" = refs/heads/$branch || die not on branch $branch # Extract package name from Makefile. Makefile=$builddir/Makefile pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' "$Makefile") \ || die "failed to determine package name from $Makefile" # Check that line 3 of NEWS is the stub line about to be replaced. test "$(sed -n 3p NEWS)" = "$noteworthy_stub" \ || die "line 3 of NEWS must be exactly '$noteworthy_stub'" ## --------------- ## ## Then, changes. ## ## --------------- ## # Update NEWS to have today's date, plus desired version number and $type. perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \ -e 'my ($type, $ver) = qw('"$type $ver"');' \ -e 'my $pfx = "'"$noteworthy"'";' \ -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ NEWS || die 'failed to update NEWS' printf "version $ver\n\n* NEWS: Record release date.\n" \ | git commit -F - -a || die 'git commit failed' git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' # Local variables: # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "VERSION=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: " # UTC" # End: coreutils-8.21/build-aux/ChangeLog-20070000664000000000000000000001467612102337340014411 000000000000002007-09-29 Eric Blake * check.mk (%.log): Also allow suffix-less tests, on platforms where $(EXEEXT) is not empty. 2007-09-15 Jim Meyering * vc-list-files: Remove mercurial support. Check for CVS first. Adjust comments. 2007-01-30 Jim Meyering * vc-list-files: Select column 2, not 3 (hg-0.9.3's manifest format now has only two columns). 2006-10-14 Jim Meyering * vc-list-files: Don't filter git-ls-files output through cut. Add a comment about cvsu. 2006-08-22 Paul Eggert * .cvsignore: New file. 2006-08-20 Paul Eggert * compile, config.guess, config.rpath, config.sub, depcomp: * install-sh, mdate-sh, missing, texinfo.tex: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-15 Paul Eggert * ChangeLog: Add copyright notice. * vc-list-files: Likewise. * mkinstalldirs: Remove; no longer needed. 2006-08-09 Paul Eggert * texinfo.tex: Update from gnulib. 2006-07-25 Jim Meyering * vc-list-files: Handle git repositories, too. 2006-07-19 Jim Meyering * vc-list-files: Command line args correspond to an "include" list, not an exclude list. 2006-07-14 Jim Meyering * vc-list-files: New file. 2006-07-08 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Update from gnulib. 2006-05-29 Jim Meyering * config.guess, config.rpath, config.sub, install-sh: * mkinstalldirs, texinfo.tex: Update from gnulib. 2006-02-14 Paul Eggert * install-sh: Update from gnulib. 2006-01-31 Jim Meyering * config.guess, missing, texinfo.tex: Update from gnulib. 2006-01-10 Paul Eggert * config.guess, config.sub, depcomp, texinfo.tex: Sync from gnulib. 2005-12-13 Paul Eggert * config.guess: Sync from gnulib. 2005-12-07 Jim Meyering * cvsu: New file. 2005-11-12 Jim Meyering * config.guess, install-sh: Update from gnulib. 2005-10-23 Jim Meyering * compile: New file, used to build sha* programs from md5sum.c. 2005-10-13 Jim Meyering * texinfo.tex: Sync from gnulib. 2005-09-21 Paul Eggert * install-sh, config.guess: Sync from gnulib. 2005-07-01 Jim Meyering * config.guess, config.sub, mdate-sh, missing, mkinstalldirs: * texinfo.tex: Update from gnulib. 2005-06-02 Paul Eggert * config.guess, config.sub, texinfo.tex: Sync from gnulib. 2005-05-20 Paul Eggert * config.guess: Sync from gnulib. 2005-05-15 Paul Eggert * depcomp, install-sh, mdate-sh, missing, pmkinstalldirs: Sync from gnulib (scriptversion change only). 2005-05-14 Paul Eggert * config.guess, config.sub: Sync from gnulib. 2005-05-01 Paul Eggert * config.guess, config.sub, texinfo.tex: Sync from gnulib. 2005-03-20 Paul Eggert * config.rpath: Sync from gnulib. 2005-02-25 Paul Eggert * config.guess, config.sub, depcomp, install-sh, mdate-sh, missing, mkinstalldirs: Sync from gnulib. 2005-01-21 Paul Eggert * config.sub: Sync from gnulib. 2004-12-17 Jim Meyering * install-sh: Sync from gnulib. 2004-12-16 Paul Eggert * mdate-sh: Sync from gnulib. 2004-11-23 Paul Eggert * config.sub, texinfo.tex: Sync from gnulib. 2004-11-17 Paul Eggert * config.guess, config.sub: Sync from gnulib. 2004-11-10 Paul Eggert * texinfo.tex: Sync from gnulib. 2004-11-02 Paul Eggert * texinfo.tex: Sync from gnulib. 2004-10-29 Paul Eggert * config.guess, install-sh, texinfo.tex: Sync from gnulib. 2004-10-03 Paul Eggert * config.guess, config.sub, install-sh, missing, texinfo.tex: Sync from gnulib. 2004-09-24 Jim Meyering * cvsu: Remove file. The version of cvsu from the cvsutils package does the same job with --find --type=... options. * cvsu: New file, used by rules in coreutils' Makefile.maint. 2004-08-05 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib. 2004-03-30 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib. 2003-08-16 Paul Eggert * config.rpath, texinfo.tex: Sync with gnulib. 2003-04-21 Jim Meyering * depcomp: New version, now that this file is on the list in ../Makefile.cfg. 2003-01-12 Jim Meyering Lots of syntactic clean-up, mostly from Karl Berry. * install-sh: Use consistent indentation, two spaces per level. (scriptversion): New variable. Change initializations like `variable=""' to `variable='. (usage): New variable. Use `test', not `['. Use `test -z "$var"', not `[ x"$var" = x ]'. Use `test -n "$var"', not `[ x"$var" != x ]'. Alphabetize case entries. Accept --help and --version options. Remove unnecessary `else :' clauses. Add a `Local variables' eval block to help emacs users update the time-stamp variable added above. 2002-12-20 Jim Meyering * install-sh: Set the execute bit on this file. Reported by Vin Shelton. 2002-11-09 Jim Meyering Make it work even when names contain spaces or shell metachars. * install-sh: Write diagnostics to stderr, not stdout. Normalize spacing in diagnostics: use one space (not two, and not a TAB) after the leading `install:'. Add double quotes around `$src' here: $doit $instcmd "$src" "$dsttmp" Merge in some changes from the version in automake. * install-sh: Remove unnecessary quotes around `case' argument. Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'. Use `:' rather than `true'. 2002-02-17 Jim Meyering * config.guess (main): Don't use `head -1'; it's no longer portable. Use `sed 1q' instead. ----- Copyright (C) 2002-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. coreutils-8.21/build-aux/vc-list-files0000775000000000000000000000734312071024545014656 00000000000000#!/bin/sh # List version-controlled file names. # Print a version string. scriptversion=2011-05-16.22; # UTC # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # List the specified version-controlled files. # With no argument, list them all. With a single DIRECTORY argument, # list the version-controlled files in that directory. # If there's an argument, it must be a single, "."-relative directory name. # cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ postprocess= case $1 in --help) cat <. EOF exit ;; --version) year=`echo "$scriptversion" | sed 's/[^0-9].*//'` cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit ;; -C) test "$2" = . || postprocess="| sed 's|^|$2/|'" cd "$2" || exit 1 shift; shift ;; esac test $# = 0 && set . for dir do if test -d .git; then test "x$dir" = x. \ && dir= sed_esc= \ || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } # Ignore git symlinks - either they point into the tree, in which case # we don't need to visit the target twice, or they point somewhere # else (often into a submodule), in which case the content does not # belong to this package. eval exec git ls-tree -r 'HEAD:"$dir"' \ \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess elif test -d .hg; then eval exec hg locate '"$dir/*"' $postprocess elif test -d .bzr; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" eval exec bzr ls -R --versioned '"$dir"' $postprocess elif test -d CVS; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" if test -x build-aux/cvsu; then eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess elif (cvsu --help) >/dev/null 2>&1; then eval cvsu --find --types=AFGM '"$dir"' $postprocess else eval awk -F/ \''{ \ if (!$1 && $3 !~ /^-/) { \ f=FILENAME; \ if (f ~ /CVS\/Entries$/) \ f = substr(f, 1, length(f)-11); \ print f $2; \ }}'\'' \ `find "$dir" -name Entries -print` /dev/null' $postprocess fi elif test -d .svn; then eval exec svn list -R '"$dir"' $postprocess else echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 exit 1 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/config.sub0000775000000000000000000010522012104754777014241 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-02-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: coreutils-8.21/build-aux/install-sh0000775000000000000000000003325511777552746014301 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/prefix-gnulib-mk0000775000000000000000000001440512071024545015352 00000000000000eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' & eval 'exec perl -wS "$0" $argv:q' if 0; use strict; use IO::File; use Getopt::Long; use File::Basename; # for dirname my $VERSION = '2012-01-21 17:13'; # UTC (my $ME = $0) =~ s|.*/||; my $prefix; my $lib_name; sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try '$ME --help' for more information.\n"; } else { print $STREAM <getline or die "$file"; $f->close; return $contents; } # prefix_word ($WORD) # ------------------- # Do not prefix special words such as variable dereferences. Also, # "Makefile" is really "Makefile", since precisely there is no # lib/Makefile. sub prefix_word ($) { local ($_) = @_; $_ = $prefix . $_ unless (/^-/ || m{^\$\(\w+\)} || $_ eq "Makefile" || $_ eq '\\' || $_ eq '@ALLOCA@'); return $_; } # prefix_words ($TEXT) # -------------------- sub prefix_words ($) { local ($_) = @_; s{(\S+)}{prefix_word($1)}gem; return $_; } # prefix_assignment ($LHS-AND-ASSIGN-OP, $RHS) # -------------------------------------------- sub prefix_assignment ($$) { my ($lhs_and_assign_op, $rhs) = @_; my $res; # Some variables are initialized by gnulib.mk, and we don't want # that. Change '=' to '+='. if ($lhs_and_assign_op =~ /^GPERF =$/) { # Do not change the RHS, which specifies the GPERF program. } elsif ($lhs_and_assign_op =~ /^(SUBDIRS|EXTRA_DIST|BUILT_SOURCES|SUFFIXES|MOSTLYCLEANFILES |CLEANFILES|DISTCLEANFILES|MAINTAINERCLEANFILES|AM_CFLAGS |AM_CPPFLAGS|AM_GNU_GETTEXT)\ =/x) { $lhs_and_assign_op =~ s/=/+=/; } # We don't want to inherit gnulib's AUTOMAKE_OPTIONS, comment them. elsif ($lhs_and_assign_op =~ /^AUTOMAKE_OPTIONS =/) { $lhs_and_assign_op =~ s/^/# /; } elsif ($lhs_and_assign_op =~ /^SUFFIXES /) { # Elide any SUFFIXES assignment or concatenation. $lhs_and_assign_op =~ s/^/# /; } # The words are (probably) paths to files in lib/: prefix them. else { $rhs = prefix_words($rhs) } # Variables which name depend on the location: libbison_a_SOURCES => # lib_libbison_a_SOURCES. $lhs_and_assign_op =~ s/($lib_name)/lib_$1/g; return $lhs_and_assign_op . $rhs; } # prefix $CONTENTS # ---------------- # $CONTENTS is a Makefile content. Post-process it so that each file-name # is prefixed with $prefix (e.g., "lib/"). # # Relies heavily on the regularity of the file generated by gnulib-tool. sub prefix ($) { # Work on $_. local ($_) = @_; # Prefix all the occurrence of files in rules. If there is nothing # after in the :, it's probably a phony target, or a suffix rule. # Don't touch it. s{^([-\w+/]+\.[-\w.]+ *: *\S.*)$} {prefix_words($1)}gem; # Prefix files in variables. s{^([\w.]+\s*\+?=)(.*)$} {prefix_assignment($1, $2)}gem; # These three guys escape all the other regular rules. # Require the leading white space to avoid inserting the prefix # on a line like this: # charset_alias = $(DESTDIR)$(libdir)/charset.alias # With $(libdir), it would be erroneous. s{(\s)(charset\.alias|ref-add\.sed|ref-del\.sed)}{$1$prefix$2}g; # Unfortunately, as a result we sometimes have lib/lib. s{($prefix){2}}{$1}g; # lib_libcoreutils_a_SOURCES += \ # imaxtostr.c \ # inttostr.c \ # offtostr.c \ # uinttostr.c \ # umaxtostr.c # The above are not handled since they're on continued lines, so # deal with them manually: s{^(\s*)((?:[ui]max|u?int|off)tostr\.c(:? \\)?)$}{$1$prefix$2}gm; # $(srcdir)/ is actually $(top_srcdir)/$prefix/. # The trailing slash is required to avoid matching this rule: # test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile s{\$\(srcdir\)/}{\$(top_srcdir)/$prefix}g; # Sometimes, t-$@ is used instead of $@-t, which, of course, does # not work when we have a $@ with a directory in it. s{t-\$\@}{\$\@-t}g; # Some AC_SUBST patterns remain and would better be Make macros. s{\@(MKDIR_P)\@}{\$($1)}g; # Adjust paths in mkdir. s{(\$\(MKDIR_P\))\s*(\w+)}{$1 $prefix$2}g; return $_; } # process ($IN) # ------------- sub process ($) { my ($file) = @_; my ($bak) = "$file.bak"; rename ($file, $bak) or die; my $contents = contents ($bak); $contents = prefix ($contents); my $out = new IO::File(">$file") or die; print $out $contents; } { GetOptions ( 'lib-name=s' => \$lib_name, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, ) or usage 1; my $fail = 0; defined $lib_name or (warn "$ME: no library name; use --lib-name=NAME\n"), $fail = 1; # There must be exactly one argument. @ARGV == 0 and (warn "$ME: missing FILE argument\n"), $fail = 1; 1 < @ARGV and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"), $fail = 1; $fail and usage 1; my $file = $ARGV[0]; $prefix = (dirname $file) . '/'; warn "prefix=$prefix\n"; process $file; } ### Setup "GNU" style for perl-mode and cperl-mode. ## Local Variables: ## perl-indent-level: 2 ## perl-continued-statement-offset: 2 ## perl-continued-brace-offset: 0 ## perl-brace-offset: 0 ## perl-brace-imaginary-offset: 0 ## perl-label-offset: -2 ## cperl-indent-level: 2 ## cperl-brace-offset: 0 ## cperl-continued-brace-offset: 0 ## cperl-label-offset: -2 ## cperl-extra-newline-before-brace: t ## cperl-merge-trailing-else: nil ## cperl-continued-statement-offset: 2 ## eval: (add-hook 'write-file-hooks 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC" ## time-stamp-end: "'; # UTC" ## End: coreutils-8.21/build-aux/snippet/0000775000000000000000000000000012107207523014001 500000000000000coreutils-8.21/build-aux/snippet/warn-on-use.h0000664000000000000000000001200712071561002016240 00000000000000/* A C macro for emitting warnings if a function is used. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* _GL_WARN_ON_USE (function, "literal string") issues a declaration for FUNCTION which will then trigger a compiler warning containing the text of "literal string" anywhere that function is called, if supported by the compiler. If the compiler does not support this feature, the macro expands to an unused extern declaration. This macro is useful for marking a function as a potential portability trap, with the intent that "literal string" include instructions on the replacement function that should be used instead. However, one of the reasons that a function is a portability trap is if it has the wrong signature. Declaring FUNCTION with a different signature in C is a compilation error, so this macro must use the same type as any existing declaration so that programs that avoid the problematic FUNCTION do not fail to compile merely because they included a header that poisoned the function. But this implies that _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already have a declaration. Use of this macro implies that there must not be any other macro hiding the declaration of FUNCTION; but undefining FUNCTION first is part of the poisoning process anyway (although for symbols that are provided only via a macro, the result is a compilation error rather than a warning containing "literal string"). Also note that in C++, it is only safe to use if FUNCTION has no overloads. For an example, it is possible to poison 'getline' by: - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]], [getline]) in configure.ac, which potentially defines HAVE_RAW_DECL_GETLINE - adding this code to a header that wraps the system : #undef getline #if HAVE_RAW_DECL_GETLINE _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but" "not universally present; use the gnulib module getline"); #endif It is not possible to directly poison global variables. But it is possible to write a wrapper accessor function, and poison that (less common usage, like &environ, will cause a compilation error rather than issue the nice warning, but the end result of informing the developer about their portability problem is still achieved): #if HAVE_RAW_DECL_ENVIRON static char ***rpl_environ (void) { return &environ; } _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); # undef environ # define environ (*rpl_environ ()) #endif */ #ifndef _GL_WARN_ON_USE # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) /* A compiler attribute is available in gcc versions 4.3.0 and later. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function __attribute__ ((__warning__ (message))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE(function, message) \ extern __typeof__ (function) function # else /* Unsupported. */ # define _GL_WARN_ON_USE(function, message) \ _GL_WARN_EXTERN_C int _gl_warn_on_use # endif #endif /* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") is like _GL_WARN_ON_USE (function, "string"), except that the function is declared with the given prototype, consisting of return type, parameters, and attributes. This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does not work in this case. */ #ifndef _GL_WARN_ON_USE_CXX # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ extern rettype function parameters_and_attributes \ __attribute__ ((__warning__ (msg))) # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING /* Verify the existence of the function. */ # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ extern rettype function parameters_and_attributes # else /* Unsupported. */ # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ _GL_WARN_EXTERN_C int _gl_warn_on_use # endif #endif /* _GL_WARN_EXTERN_C declaration; performs the declaration with C linkage. */ #ifndef _GL_WARN_EXTERN_C # if defined __cplusplus # define _GL_WARN_EXTERN_C extern "C" # else # define _GL_WARN_EXTERN_C extern # endif #endif coreutils-8.21/build-aux/snippet/_Noreturn.h0000664000000000000000000000046211777552746016075 00000000000000#if !defined _Noreturn && __STDC_VERSION__ < 201112 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn # endif #endif coreutils-8.21/build-aux/snippet/arg-nonnull.h0000664000000000000000000000230012071561002016314 00000000000000/* A C macro for declaring that specific arguments must not be NULL. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools that the values passed as arguments n, ..., m must be non-NULL pointers. n = 1 stands for the first argument, n = 2 for the second argument etc. */ #ifndef _GL_ARG_NONNULL # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) # else # define _GL_ARG_NONNULL(params) # endif #endif coreutils-8.21/build-aux/snippet/c++defs.h0000664000000000000000000002675312071561002015314 00000000000000/* C++ compatible function declaration macros. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_CXXDEFS_H #define _GL_CXXDEFS_H /* The three most frequent use cases of these macros are: * For providing a substitute for a function that is missing on some platforms, but is declared and works fine on the platforms on which it exists: #if @GNULIB_FOO@ # if !@HAVE_FOO@ _GL_FUNCDECL_SYS (foo, ...); # endif _GL_CXXALIAS_SYS (foo, ...); _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif * For providing a replacement for a function that exists on all platforms, but is broken/insufficient and needs to be replaced on some platforms: #if @GNULIB_FOO@ # if @REPLACE_FOO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef foo # define foo rpl_foo # endif _GL_FUNCDECL_RPL (foo, ...); _GL_CXXALIAS_RPL (foo, ...); # else _GL_CXXALIAS_SYS (foo, ...); # endif _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif * For providing a replacement for a function that exists on some platforms but is broken/insufficient and needs to be replaced on some of them and is additionally either missing or undeclared on some other platforms: #if @GNULIB_FOO@ # if @REPLACE_FOO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef foo # define foo rpl_foo # endif _GL_FUNCDECL_RPL (foo, ...); _GL_CXXALIAS_RPL (foo, ...); # else # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ _GL_FUNCDECL_SYS (foo, ...); # endif _GL_CXXALIAS_SYS (foo, ...); # endif _GL_CXXALIASWARN (foo); #elif defined GNULIB_POSIXCHECK ... #endif */ /* _GL_EXTERN_C declaration; performs the declaration with C linkage. */ #if defined __cplusplus # define _GL_EXTERN_C extern "C" #else # define _GL_EXTERN_C extern #endif /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); declares a replacement function, named rpl_func, with the given prototype, consisting of return type, parameters, and attributes. Example: _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); */ #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ _GL_EXTERN_C rettype rpl_func parameters_and_attributes /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); declares the system function, named func, with the given prototype, consisting of return type, parameters, and attributes. Example: _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); */ #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C rettype func parameters_and_attributes /* _GL_CXXALIAS_RPL (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to rpl_func, if GNULIB_NAMESPACE is defined. Example: _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); */ #define _GL_CXXALIAS_RPL(func,rettype,parameters) \ _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ rettype (*const func) parameters = ::rpl_func; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); except that the C function rpl_func may have a slightly different declaration. A cast is used to silence the "invalid conversion" error that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ rettype (*const func) parameters = \ reinterpret_cast(::rpl_func); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS (func, rettype, parameters); declares a C++ alias called GNULIB_NAMESPACE::func that redirects to the system provided function func, if GNULIB_NAMESPACE is defined. Example: _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); */ #if defined __cplusplus && defined GNULIB_NAMESPACE /* If we were to write rettype (*const func) parameters = ::func; like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls better (remove an indirection through a 'static' pointer variable), but then the _GL_CXXALIASWARN macro below would cause a warning not only for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ # define _GL_CXXALIAS_SYS(func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = ::func; \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS(func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); is like _GL_CXXALIAS_SYS (func, rettype, parameters); except that the C function func may have a slightly different declaration. A cast is used to silence the "invalid conversion" error that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = \ reinterpret_cast(::func); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); is like _GL_CXXALIAS_SYS (func, rettype, parameters); except that the C function is picked among a set of overloaded functions, namely the one with rettype2 and parameters2. Two consecutive casts are used to silence the "cannot find a match" and "invalid conversion" errors that would otherwise occur. */ #if defined __cplusplus && defined GNULIB_NAMESPACE /* The outer cast must be a reinterpret_cast. The inner cast: When the function is defined as a set of overloaded functions, it works as a static_cast<>, choosing the designated variant. When the function is defined as a single variant, it works as a reinterpret_cast<>. The parenthesized cast syntax works both ways. */ # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ namespace GNULIB_NAMESPACE \ { \ static rettype (*func) parameters = \ reinterpret_cast( \ (rettype2(*)parameters2)(::func)); \ } \ _GL_EXTERN_C int _gl_cxxalias_dummy #else # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIASWARN (func); causes a warning to be emitted when ::func is used but not when GNULIB_NAMESPACE::func is used. func must be defined without overloaded variants. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIASWARN(func) \ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_WARN_ON_USE (func, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING # define _GL_CXXALIASWARN_2(func,namespace) \ extern __typeof__ (func) func # else # define _GL_CXXALIASWARN_2(func,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy # endif #else # define _GL_CXXALIASWARN(func) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); causes a warning to be emitted when the given overloaded variant of ::func is used but not when GNULIB_NAMESPACE::func is used. */ #if defined __cplusplus && defined GNULIB_NAMESPACE # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) /* To work around GCC bug , we enable the warning only when not optimizing. */ # if !__OPTIMIZE__ # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ "The symbol ::" #func " refers to the system function. " \ "Use " #namespace "::" #func " instead.") # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ extern __typeof__ (func) func # else # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ _GL_EXTERN_C int _gl_cxxalias_dummy # endif #else # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C int _gl_cxxalias_dummy #endif #endif /* _GL_CXXDEFS_H */ coreutils-8.21/build-aux/snippet/unused-parameter.h0000664000000000000000000000304212071561002017345 00000000000000/* A C macro for declaring that specific function parameters are not used. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter declarations for parameters that are not used. This helps to reduce warnings, such as from GCC -Wunused-parameter. The syntax is as follows: type param _GL_UNUSED_PARAMETER or more generally param_decl _GL_UNUSED_PARAMETER For example: int param _GL_UNUSED_PARAMETER int *(*param)(void) _GL_UNUSED_PARAMETER Other possible, but obscure and discouraged syntaxes: int _GL_UNUSED_PARAMETER *(*param)(void) _GL_UNUSED_PARAMETER int *(*param)(void) */ #ifndef _GL_UNUSED_PARAMETER # if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) # else # define _GL_UNUSED_PARAMETER # endif #endif coreutils-8.21/build-aux/ylwrap0000755000000000000000000001435712107175574013525 00000000000000#! /bin/sh # ylwrap - wrapper for lex/yacc invocations. scriptversion=2011-08-25.18; # UTC # Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, # 2007, 2009, 2010, 2011 Free Software Foundation, Inc. # # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case "$1" in '') echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 exit 1 ;; --basedir) basedir=$2 shift 2 ;; -h|--h*) cat <<\EOF Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... Wrapper for lex/yacc invocations, renaming files as desired. INPUT is the input file OUTPUT is one file PROG generates DESIRED is the file we actually want instead of OUTPUT PROGRAM is program to run ARGS are passed to PROG Any number of OUTPUT,DESIRED pairs may be used. Report bugs to . EOF exit $? ;; -v|--v*) echo "ylwrap $scriptversion" exit $? ;; esac # The input. input="$1" shift case "$input" in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input="`pwd`/$input" ;; esac pairlist= while test "$#" -ne 0; do if test "$1" = "--"; then shift break fi pairlist="$pairlist $1" shift done # The program to run. prog="$1" shift # Make any relative path in $prog absolute. case "$prog" in [\\/]* | ?:[\\/]*) ;; *[\\/]*) prog="`pwd`/$prog" ;; esac # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname case $# in 0) "$prog" "$input" ;; *) "$prog" "$@" "$input" ;; esac ret=$? if test $ret -eq 0; then set X $pairlist shift first=yes # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot="no" if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot="yes" fi # The directory holding the input. input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` # Quote $INPUT_DIR so we can use it in a regexp. # FIXME: really we should care about more than `.' and `\'. input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` while test "$#" -ne 0; do from="$1" # Handle y_tab.c and y_tab.h output by DOS if test $y_tab_nodot = "yes"; then if test $from = "y.tab.c"; then from="y_tab.c" else if test $from = "y.tab.h"; then from="y_tab.h" fi fi fi if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend `../'. case "$2" in [\\/]* | ?:[\\/]*) target="$2";; *) target="../$2";; esac # We do not want to overwrite a header file if it hasn't # changed. This avoid useless recompilations. However the # parser itself (the first file) should always be updated, # because it is the destination of the .y.c rule in the # Makefile. Divert the output of all other files to a temporary # file so we can compare them to existing versions. if test $first = no; then realtarget="$target" target="tmp-`echo $target | sed s/.*[\\/]//g`" fi # Edit out `#line' or `#' directives. # # We don't want the resulting debug information to point at # an absolute srcdir; it is better for it to just mention the # .y file with no path. # # We want to use the real output file name, not yy.lex.c for # instance. # # We want the include guards to be adjusted too. FROM=`echo "$from" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` TARGET=`echo "$2" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? # Check whether header files must be updated. if test $first = no; then if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then echo "$2" is unchanged rm -f "$target" else echo updating "$2" mv -f "$target" "$realtarget" fi fi else # A missing file is only an error for the first file. This # is a blatant hack to let us support using "yacc -d". If -d # is not specified, we don't want an error when the header # file is "missing". if test $first = yes; then ret=1 fi fi shift shift first=no done else ret=$? fi # Remove the directory. cd .. rm -rf $dirname exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/gitlog-to-changelog0000775000000000000000000003212412071024545016022 00000000000000eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' & eval 'exec perl -wS "$0" $argv:q' if 0; # Convert git log output to ChangeLog format. my $VERSION = '2012-07-29 06:11'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use warnings; use Getopt::Long; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try '$ME --help' for more information.\n"; } else { print $STREAM < ChangeLog $ME -- -n 5 foo > last-5-commits-to-branch-foo SPECIAL SYNTAX: The following types of strings are interpreted specially when they appear at the beginning of a log message line. They are not copied to the output. Copyright-paperwork-exempt: Yes Append the "(tiny change)" notation to the usual "date name email" ChangeLog header to mark a change that does not require a copyright assignment. Co-authored-by: Joe User List the specified name and email address on a second ChangeLog header, denoting a co-author. Signed-off-by: Joe User These lines are simply elided. In a FILE specified via --amend, comment lines (starting with "#") are ignored. FILE must consist of pairs where SHA is a 40-byte SHA1 (alone on a line) referring to a commit in the current project, and CODE refers to one or more consecutive lines of Perl code. Pairs must be separated by one or more blank line. Here is sample input for use with --amend=FILE, from coreutils: 3a169f4c5d9159283548178668d2fae6fced3030 # fix typo in title: s/all tile types/all file types/ 1379ed974f1fa39b12e2ffab18b3f7a607082202 # Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself. # Change the author to be Paul. Note the escaped "@": s,Jim .*>,Paul Eggert , EOF } exit $exit_code; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } sub quoted_cmd(@) { return join (' ', map {shell_quote $_} @_); } # Parse file F. # Comment lines (starting with "#") are ignored. # F must consist of pairs where SHA is a 40-byte SHA1 # (alone on a line) referring to a commit in the current project, and # CODE refers to one or more consecutive lines of Perl code. # Pairs must be separated by one or more blank line. sub parse_amend_file($) { my ($f) = @_; open F, '<', $f or die "$ME: $f: failed to open for reading: $!\n"; my $fail; my $h = {}; my $in_code = 0; my $sha; while (defined (my $line = )) { $line =~ /^\#/ and next; chomp $line; $line eq '' and $in_code = 0, next; if (!$in_code) { $line =~ /^([0-9a-fA-F]{40})$/ or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"), $fail = 1, next; $sha = lc $1; $in_code = 1; exists $h->{$sha} and (warn "$ME: $f:$.: duplicate SHA1\n"), $fail = 1, next; } else { $h->{$sha} ||= ''; $h->{$sha} .= "$line\n"; } } close F; $fail and exit 1; return $h; } # git_dir_option $SRCDIR # # From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR # is undef). Return as a list (0 or 1 element). sub git_dir_option($) { my ($srcdir) = @_; my @res = (); if (defined $srcdir) { my $qdir = shell_quote $srcdir; my $cmd = "cd $qdir && git rev-parse --show-toplevel"; my $qcmd = shell_quote $cmd; my $git_dir = qx($cmd); defined $git_dir or die "$ME: cannot run $qcmd: $!\n"; $? == 0 or die "$ME: $qcmd had unexpected exit code or signal ($?)\n"; chomp $git_dir; push @res, "--git-dir=$git_dir/.git"; } @res; } { my $since_date; my $format_string = '%s%n%b%n'; my $amend_file; my $append_dot = 0; my $cluster = 1; my $strip_tab = 0; my $strip_cherry_pick = 0; my $srcdir; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, 'format=s' => \$format_string, 'amend=s' => \$amend_file, 'append-dot' => \$append_dot, 'cluster!' => \$cluster, 'strip-tab' => \$strip_tab, 'strip-cherry-pick' => \$strip_cherry_pick, 'srcdir=s' => \$srcdir, ) or usage 1; defined $since_date and unshift @ARGV, "--since=$since_date"; # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/) # that makes a correction in the log or attribution of that commit. my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {}; my @cmd = ('git', git_dir_option $srcdir, qw(log --log-size), '--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV); open PIPE, '-|', @cmd or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n" . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); my $prev_multi_paragraph; my $prev_date_line = ''; my @prev_coauthors = (); while (1) { defined (my $in = ) or last; $in =~ /^log size (\d+)$/ or die "$ME:$.: Invalid line (expected log size):\n$in"; my $log_nbytes = $1; my $log; my $n_read = read PIPE, $log, $log_nbytes; $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; # Extract leading hash. my ($sha, $rest) = split ':', $log, 2; defined $sha or die "$ME:$.: malformed log entry\n"; $sha =~ /^[0-9a-fA-F]{40}$/ or die "$ME:$.: invalid SHA1: $sha\n"; # If this commit's log requires any transformation, do it now. my $code = $amend_code->{$sha}; if (defined $code) { eval 'use Safe'; my $s = new Safe; # Put the unpreprocessed entry into "$_". $_ = $rest; # Let $code operate on it, safely. my $r = $s->reval("$code") or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n"; # Note that we've used this entry. delete $amend_code->{$sha}; # Update $rest upon success. $rest = $_; } # Remove lines inserted by "git cherry-pick". if ($strip_cherry_pick) { $rest =~ s/^\s*Conflicts:\n.*//sm; $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m; } my @line = split "\n", $rest; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; $author_line =~ /^(\d+) (.*>)$/ or die "$ME:$.: Invalid line " . "(expected date/author/email):\n$author_line\n"; # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog # `(tiny change)' annotation. my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line) ? ' (tiny change)' : ''); my $date_line = sprintf "%s %s$tiny\n", strftime ("%F", localtime ($1)), $2; my @coauthors = grep /^Co-authored-by:.*$/, @line; # Omit meta-data lines we've already interpreted. @line = grep !/^(?:Signed-off-by:[ ].*>$ |Co-authored-by:[ ] |Copyright-paperwork-exempt:[ ] )/x, @line; # Remove leading and trailing blank lines. if (@line) { while ($line[0] =~ /^\s*$/) { shift @line; } while ($line[$#line] =~ /^\s*$/) { pop @line; } } # Record whether there are two or more paragraphs. my $multi_paragraph = grep /^\s*$/, @line; # Format 'Co-authored-by: A U Thor ' lines in # standard multi-author ChangeLog format. for (@coauthors) { s/^Co-authored-by:\s*/\t /; s/\s*/ or warn "$ME: warning: missing email address for " . substr ($_, 5) . "\n"; } # If clustering of commit messages has been disabled, if this header # would be different from the previous date/name/email/coauthors header, # or if this or the previous entry consists of two or more paragraphs, # then print the header. if ( ! $cluster || $date_line ne $prev_date_line || "@coauthors" ne "@prev_coauthors" || $multi_paragraph || $prev_multi_paragraph) { $prev_date_line eq '' or print "\n"; print $date_line; @coauthors and print join ("\n", @coauthors), "\n"; } $prev_date_line = $date_line; @prev_coauthors = @coauthors; $prev_multi_paragraph = $multi_paragraph; # If there were any lines if (@line == 0) { warn "$ME: warning: empty commit message:\n $date_line\n"; } else { if ($append_dot) { # If the first line of the message has enough room, then if (length $line[0] < 72) { # append a dot if there is no other punctuation or blank # at the end. $line[0] =~ /[[:punct:]\s]$/ or $line[0] .= '.'; } } # Remove one additional leading TAB from each line. $strip_tab and map { s/^\t// } @line; # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; print "\n", join ("\n", @line), "\n"; } defined ($in = ) or last; $in ne "\n" and die "$ME:$.: unexpected line:\n$in"; } close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic # Complain about any unused entry in the --amend=F specified file. my $fail = 0; foreach my $sha (keys %$amend_code) { warn "$ME:$amend_file: unused entry: $sha\n"; $fail = 1; } exit $fail; } # Local Variables: # mode: perl # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: coreutils-8.21/build-aux/git-version-gen0000775000000000000000000001751412071024545015213 00000000000000#!/bin/sh # Print a version string. scriptversion=2012-12-31.23; # UTC # Copyright (C) 2007-2013 Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. # It may be run two ways: # - from a git repository in which the "git describe" command below # produces useful output (thus requiring at least one signed tag) # - from a non-git-repo directory containing a .tarball-version file, which # presumes this script is invoked like "./git-version-gen .tarball-version". # In order to use intra-version strings in your project, you will need two # separate generated version string files: # # .tarball-version - present only in a distribution tarball, and not in # a checked-out repository. Created with contents that were learned at # the last time autoconf was run, and used by git-version-gen. Must not # be present in either $(srcdir) or $(builddir) for git-version-gen to # give accurate answers during normal development with a checked out tree, # but must be present in a tarball when there is no version control system. # Therefore, it cannot be used in any dependencies. GNUmakefile has # hooks to force a reconfigure at distribution time to get the value # correct, without penalizing normal development with extra reconfigures. # # .version - present in a checked-out repository and in a distribution # tarball. Usable in dependencies, particularly for files that don't # want to depend on config.h but do want to track version changes. # Delete this file prior to any autoconf run where you want to rebuild # files to pick up a version string change; and leave it stale to # minimize rebuild time after unrelated changes to configure sources. # # As with any generated file in a VC'd directory, you should add # /.version to .gitignore, so that you don't accidentally commit it. # .tarball-version is never generated in a VC'd directory, so needn't # be listed there. # # Use the following line in your configure.ac, so that $(VERSION) will # automatically be up-to-date each time configure is run (and note that # since configure.ac no longer includes a version string, Makefile rules # should not depend on configure.ac for version updates). # # AC_INIT([GNU project], # m4_esyscmd([build-aux/git-version-gen .tarball-version]), # [bug-project@example]) # # Then use the following lines in your Makefile.am, so that .version # will be present for dependencies, and so that .version and # .tarball-version will exist in distribution tarballs. # # EXTRA_DIST = $(top_srcdir)/.version # BUILT_SOURCES = $(top_srcdir)/.version # $(top_srcdir)/.version: # echo $(VERSION) > $@-t && mv $@-t $@ # dist-hook: # echo $(VERSION) > $(distdir)/.tarball-version me=$0 version="git-version-gen $scriptversion Copyright 2011 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." usage="\ Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] Print a version string. Options: --prefix prefix of git tags (default 'v') --fallback fallback version to use if \"git --version\" fails --help display this help and exit --version output version information and exit Running without arguments will suffice in most cases." prefix=v fallback= while test $# -gt 0; do case $1 in --help) echo "$usage"; exit 0;; --version) echo "$version"; exit 0;; --prefix) shift; prefix="$1";; --fallback) shift; fallback="$1";; -*) echo "$0: Unknown option '$1'." >&2 echo "$0: Try '--help' for more information." >&2 exit 1;; *) if test "x$tarball_version_file" = x; then tarball_version_file="$1" elif test "x$tag_sed_script" = x; then tag_sed_script="$1" else echo "$0: extra non-option argument '$1'." >&2 exit 1 fi;; esac shift done if test "x$tarball_version_file" = x; then echo "$usage" exit 1 fi tag_sed_script="${tag_sed_script:-s/x/x/}" nl=' ' # Avoid meddling by environment variable of the same name. v= v_from_git= # First see if there is a tarball-only version file. # then try "git describe", then default. if test -f $tarball_version_file then v=`cat $tarball_version_file` || v= case $v in *$nl*) v= ;; # reject multi-line output [0-9]*) ;; *) v= ;; esac test "x$v" = x \ && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2 fi if test "x$v" != x then : # use $v # Otherwise, if there is at least one git commit involving the working # directory, and "git describe" output looks sensible, use that to # derive a version string. elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \ || git describe --abbrev=4 HEAD 2>/dev/null` \ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ && case $v in $prefix[0-9]*) ;; *) (exit 1) ;; esac then # Is this a new git that lists number of commits since the last # tag or the previous older version that did not? # Newer: v6.10-77-g0f8faeb # Older: v6.10-g0f8faeb case $v in *-*-*) : git describe is okay three part flavor ;; *-*) : git describe is older two part flavor # Recreate the number of commits and rewrite such that the # result is the same as if we were using the newer version # of git describe. vtag=`echo "$v" | sed 's/-.*//'` commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \ || { commit_list=failed; echo "$0: WARNING: git rev-list failed" 1>&2; } numcommits=`echo "$commit_list" | wc -l` v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; test "$commit_list" = failed && v=UNKNOWN ;; esac # Change the first '-' to a '.', so version-comparing tools work properly. # Remove the "g" in git describe's output string, to save a byte. v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; v_from_git=1 elif test "x$fallback" = x || git --version >/dev/null 2>&1; then v=UNKNOWN else v=$fallback fi v=`echo "$v" |sed "s/^$prefix//"` # Test whether to append the "-dirty" suffix only if the version # string we're using came from git. I.e., skip the test if it's "UNKNOWN" # or if it came from .tarball-version. if test "x$v_from_git" != x; then # Don't declare a version "dirty" merely because a time stamp has changed. git update-index --refresh > /dev/null 2>&1 dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty= case "$dirty" in '') ;; *) # Append the suffix only if there isn't one already. case $v in *-dirty) ;; *) v="$v-dirty" ;; esac ;; esac fi # Omit the trailing newline, so that m4_esyscmd can use the result directly. echo "$v" | tr -d "$nl" # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: coreutils-8.21/build-aux/gendocs.sh0000775000000000000000000003447412071024545014235 00000000000000#!/bin/sh -e # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. scriptversion=2012-10-27.11 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Original author: Mohit Agarwal. # Send bug reports and any other correspondence to bug-texinfo@gnu.org. # # The latest version of this script, and the companion template, is # available from Texinfo CVS: # http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh # http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template # # An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib). # TODO: # - image importation was only implemented for HTML generated by # makeinfo. But it should be simple enough to adjust. # - images are not imported in the source tarball. All the needed # formats (PDF, PNG, etc.) should be included. prog=`basename "$0"` srcdir=`pwd` scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh" templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template" : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} : ${MAKEINFO="makeinfo"} : ${TEXI2DVI="texi2dvi -t @finalout"} : ${DOCBOOK2HTML="docbook2html"} : ${DOCBOOK2PDF="docbook2pdf"} : ${DOCBOOK2TXT="docbook2txt"} : ${GENDOCS_TEMPLATE_DIR="."} : ${PERL='perl'} : ${TEXI2HTML="texi2html"} unset CDPATH unset use_texi2html version="gendocs.sh $scriptversion Copyright 2012 Free Software Foundation, Inc. There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING." usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE Generate output in various formats from PACKAGE.texinfo (or .texi or .txi) source. See the GNU Maintainers document for a more extensive discussion: http://www.gnu.org/prep/maintain_toc.html Options: -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi} -o OUTDIR write files into OUTDIR, instead of manual/. -I DIR append DIR to the Texinfo search path. --email ADR use ADR as contact in generated web pages. --docbook convert through DocBook too (xml, txt, html, pdf). --html ARG pass indicated ARG to makeinfo or texi2html for HTML targets. --info ARG pass indicated ARG to makeinfo for Info, instead of --no-split. --texi2html use texi2html to generate HTML targets. --help display this help and exit successfully. --version display version information and exit successfully. Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" Typical sequence: cd PACKAGESOURCE/doc wget \"$scripturl\" wget \"$templateurl\" $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" Output will be in a new subdirectory \"manual\" (by default; use -o OUTDIR to override). Move all the new files into your web CVS tree, as explained in the Web Pages node of maintain.texi. Please do use the --email ADDRESS option to specify your bug-reporting address in the generated HTML pages. MANUAL-TITLE is included as part of the HTML of the overall manual/index.html file. It should include the name of the package being documented. manual/index.html is created by substitution from the file $GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the generic template for your own purposes.) If you have several manuals, you'll need to run this script several times with different MANUAL values, specifying a different output directory with -o each time. Then write (by hand) an overall index.html with links to them all. If a manual's Texinfo sources are spread across several directories, first copy or symlink all Texinfo sources into a single directory. (Part of the script's work is to make a tar.gz of the sources.) As implied above, by default monolithic Info files are generated. If you want split Info, or other Info options, use --info to override. You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and PERL to control the programs that get executed, and GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is looked for. With --docbook, the environment variables DOCBOOK2HTML, DOCBOOK2PDF, and DOCBOOK2TXT are also respected. By default, makeinfo and texi2dvi are run in the default (English) locale, since that's the language of most Texinfo manuals. If you happen to have a non-English manual and non-English web site, see the SETLANG setting in the source. Email bug reports or enhancement requests to bug-texinfo@gnu.org. " MANUAL_TITLE= PACKAGE= EMAIL=webmasters@gnu.org # please override with --email commonarg= # Options passed to all the tools (-I dir). dirs= # -I's directories. htmlarg= infoarg=--no-split outdir=manual srcfile= while test $# -gt 0; do case $1 in --email) shift; EMAIL=$1;; --help) echo "$usage"; exit 0;; --version) echo "$version"; exit 0;; -s) shift; srcfile=$1;; -o) shift; outdir=$1;; -I) shift; commonarg="$commonarg -I '$1'"; dirs="$dirs $1";; --docbook) docbook=yes;; --html) shift; htmlarg=$1;; --info) shift; infoarg=$1;; --texi2html) use_texi2html=1;; -*) echo "$0: Unknown option \`$1'." >&2 echo "$0: Try \`--help' for more information." >&2 exit 1;; *) if test -z "$PACKAGE"; then PACKAGE=$1 elif test -z "$MANUAL_TITLE"; then MANUAL_TITLE=$1 else echo "$0: extra non-option argument \`$1'." >&2 exit 1 fi;; esac shift done # For most of the following, the base name is just $PACKAGE base=$PACKAGE if test -n "$srcfile"; then # but here, we use the basename of $srcfile base=`basename "$srcfile"` case $base in *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;; esac PACKAGE=$base elif test -s "$srcdir/$PACKAGE.texinfo"; then srcfile=$srcdir/$PACKAGE.texinfo elif test -s "$srcdir/$PACKAGE.texi"; then srcfile=$srcdir/$PACKAGE.texi elif test -s "$srcdir/$PACKAGE.txi"; then srcfile=$srcdir/$PACKAGE.txi else echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2 exit 1 fi if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2 echo "$0: it is available from $templateurl." >&2 exit 1 fi # Function to return size of $1 in something resembling kilobytes. calcsize() { size=`ls -ksl $1 | awk '{print $1}'` echo $size } # copy_images OUTDIR HTML-FILE... # ------------------------------- # Copy all the images needed by the HTML-FILEs into OUTDIR. Look # for them in the -I directories. copy_images() { local odir odir=$1 shift $PERL -n -e " BEGIN { \$me = '$prog'; \$odir = '$odir'; @dirs = qw($dirs); } " -e ' /<img src="(.*?)"/g && ++$need{$1}; END { #print "$me: @{[keys %need]}\n"; # for debugging, show images found. FILE: for my $f (keys %need) { for my $d (@dirs) { if (-f "$d/$f") { use File::Basename; my $dest = dirname ("$odir/$f"); # use File::Path; -d $dest || mkpath ($dest) || die "$me: cannot mkdir $dest: $!\n"; # use File::Copy; copy ("$d/$f", $dest) || die "$me: cannot copy $d/$f to $dest: $!\n"; next FILE; } } die "$me: $ARGV: cannot find image $f\n"; } } ' -- "$@" || exit 1 } case $outdir in /*) abs_outdir=$outdir;; *) abs_outdir=$srcdir/$outdir;; esac echo "Generating output formats for $srcfile" cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" echo "Generating info file(s)... ($cmd)" eval "$cmd" mkdir -p "$outdir/" tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info* info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"` # do not mv the info files, there's no point in having them available # separately on the web. cmd="$SETLANG $TEXI2DVI $commonarg \"$srcfile\"" echo "Generating dvi ... ($cmd)" eval "$cmd" # compress/finish dvi: gzip -f -9 $PACKAGE.dvi dvi_gz_size=`calcsize $PACKAGE.dvi.gz` mv $PACKAGE.dvi.gz "$outdir/" cmd="$SETLANG $TEXI2DVI --pdf $commonarg \"$srcfile\"" echo "Generating pdf ... ($cmd)" eval "$cmd" pdf_size=`calcsize $PACKAGE.pdf` mv $PACKAGE.pdf "$outdir/" opt="-o $PACKAGE.txt --no-split --no-headers $commonarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" echo "Generating ASCII... ($cmd)" eval "$cmd" ascii_size=`calcsize $PACKAGE.txt` gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz" ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"` mv $PACKAGE.txt "$outdir/" html_split() { opt="--split=$1 $commonarg $htmlarg --node-files" cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" echo "Generating html by $1... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html ( cd ${split_html_dir} || exit 1 ln -sf ${PACKAGE}.html index.html tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html ) eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"` rm -f "$outdir"/html_$1/*.html mkdir -p "$outdir/html_$1/" mv ${split_html_dir}/*.html "$outdir/html_$1/" rmdir ${split_html_dir} } if test -z "$use_texi2html"; then opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` copy_images "$outdir/" $PACKAGE.html mv $PACKAGE.html "$outdir/" opt="--html -o $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" echo "Generating html by node... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html copy_images $split_html_dir/ $split_html_dir/*.html ( cd $split_html_dir || exit 1 tar -czf "$abs_outdir/$PACKAGE.html_node.tar.gz" -- * ) html_node_tgz_size=`calcsize "$outdir/$PACKAGE.html_node.tar.gz"` rm -rf "$outdir/html_node/" mv $split_html_dir "$outdir/html_node/" else opt="--output $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" echo "Generating monolithic html... ($cmd)" rm -rf $PACKAGE.html # in case a directory is left over eval "$cmd" html_mono_size=`calcsize $PACKAGE.html` gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` mv $PACKAGE.html "$outdir/" html_split node html_split chapter html_split section fi echo Making .tar.gz for sources... d=`dirname $srcfile` ( cd "$d" srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null` || true tar cvzfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles ) texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"` if test -n "$docbook"; then opt="-o - --docbook $commonarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" echo "Generating docbook XML... ($cmd)" eval "$cmd" docbook_xml_size=`calcsize $PACKAGE-db.xml` gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz" docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"` mv $PACKAGE-db.xml "$outdir/" split_html_db_dir=html_node_db opt="$commonarg -o $split_html_db_dir" cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\"" echo "Generating docbook HTML... ($cmd)" eval "$cmd" ( cd ${split_html_db_dir} || exit 1 tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html ) html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"` rm -f "$outdir"/html_node_db/*.html mkdir -p "$outdir/html_node_db" mv ${split_html_db_dir}/*.html "$outdir/html_node_db/" rmdir ${split_html_db_dir} cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\"" echo "Generating docbook ASCII... ($cmd)" eval "$cmd" docbook_ascii_size=`calcsize $PACKAGE-db.txt` mv $PACKAGE-db.txt "$outdir/" cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" echo "Generating docbook PDF... ($cmd)" eval "$cmd" docbook_pdf_size=`calcsize $PACKAGE-db.pdf` mv $PACKAGE-db.pdf "$outdir/" fi echo "Writing index file..." if test -z "$use_texi2html"; then CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" else CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" fi curdate=`$SETLANG date '+%B %d, %Y'` sed \ -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ -e "s!%%EMAIL%%!$EMAIL!g" \ -e "s!%%PACKAGE%%!$PACKAGE!g" \ -e "s!%%DATE%%!$curdate!g" \ -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \ -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \ -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ -e "s!%%PDF_SIZE%%!$pdf_size!g" \ -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ -e "s,%%SCRIPTURL%%,$scripturl,g" \ -e "s!%%SCRIPTNAME%%!$prog!g" \ -e "$CONDS" \ $GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html" echo "Done, see $outdir/ subdirectory for new files." # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/����������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207537�011050� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pl.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001507147�12107204512�011750� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Polish translation of GNU coreutils messages # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Contributions: # RafaÅ‚ Maszkowski <rzm@icm.edu.pl> 1996-2001, 2003-2013. # ptx: PaweÅ‚ Krawczyk <kravietz@pipeta.chemia.pk.edu.pl>, 1996. # sh-utils: PaweÅ‚ Krawczyk <kravietz@ceti.pl>, 1997, 1998, 1999. # fileutils: Thanks for help to Marta Bartnicka, 1999. # fileutils: Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>, 2002. # Thanks for help and 246+ remarks to Jakub Bogusz, 2003. # 4 corrections: jurget@infocoig.pl via garski@poczta.onet.pl, 2004. # 3 corrections: Andrzej Krzysztofowicz <ankry@green.mif.pg.gda.pl>, 2006. # 1 correction: Daniel Janus <dj189395@students.mimuw.edu.pl>, 2007. # 2 format strings: Jakub Bogusz <qboosh@pld-linux.org>, 2007. msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-13 15:30+0100\n" "Last-Translator: RafaÅ‚ Maszkowski <rzm@icm.edu.pl>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "błędny argument %s opcji %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "niejednoznaczny argument %s opcji %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "PrawidÅ‚owe argumenty to:" #: lib/closein.c:100 msgid "error closing file" msgstr "błąd zamkniÄ™cia pliku" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "błąd zapisu" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "zachowanie uprawnieÅ„ %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Nieznany błąd systemu" #: lib/file-type.c:38 msgid "regular empty file" msgstr "pusty zwykÅ‚y plik" #: lib/file-type.c:38 msgid "regular file" msgstr "zwykÅ‚y plik" #: lib/file-type.c:41 msgid "directory" msgstr "katalog" #: lib/file-type.c:44 msgid "block special file" msgstr "blokowy plik specjalny" #: lib/file-type.c:47 msgid "character special file" msgstr "znakowy plik specjalny" #: lib/file-type.c:50 msgid "fifo" msgstr "potok" #: lib/file-type.c:53 msgid "symbolic link" msgstr "dowiÄ…zanie symboliczne" #: lib/file-type.c:56 msgid "socket" msgstr "gniazdo" #: lib/file-type.c:59 msgid "message queue" msgstr "kolejka komunikatów" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "obiekt w pamiÄ™ci współdzielonej" #: lib/file-type.c:68 msgid "typed memory object" msgstr "obiekt z typem w pamiÄ™ci" #: lib/file-type.c:70 msgid "weird file" msgstr "dziwny plik" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Rodzina adresów nie obsÅ‚ugiwana przez ten system" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Tymczasowy błąd rozwiÄ…zywania nazw" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "ZÅ‚a wartość ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Nienaprawialny błąd w rozwiÄ…zywaniu nazw" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family nie jest obsÅ‚ugiwana" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Błąd przydziaÅ‚u pamiÄ™ci" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Z nazwÄ… nie jest zwiÄ…zany żaden adres" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nieznana nazwa lub usÅ‚uga" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname nie obsÅ‚ugiwany przez ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype nie jest obsÅ‚ugiwane" #: lib/gai_strerror.c:67 msgid "System error" msgstr "błąd systemu" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Za maÅ‚y bufor argumentów" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "W trakcie przetwarzania żądania" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Żądanie skasowane" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Żądnie nie skasowane" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Wszystkie żądania wypeÅ‚nione" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "PRzerwany przez sygnaÅ‚" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Źle zakodowana specyfikacja parametrów" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Nieznany błąd" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opcja „%s†jest niejednoznaczna; możliwoÅ›ci:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opcja „--%s†nie może mieć argumentu\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opcja „%c%s†nie może mieć argumentu\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opcja „--%s†wymaga argumentu\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nierozpoznana opcja „--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nierozpoznana opcja „--%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: błędna opcja -- „%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcja wymaga argumentu -- „%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opcja „-W %s†jest niejednoznaczna\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opcja „-W %s†nie może mieć argumentu\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opcja „-W %s†wymaga argumentu\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "nie można zmienić uprawnieÅ„ do %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "nie można utworzyć katalogu %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "brak pamiÄ™ci" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "nie udaÅ‚o siÄ™ zapisać bieżącego katalogu roboczego" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "nie udaÅ‚o siÄ™ wrócić do poczÄ…tkowego katalogu roboczego" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: koniec pliku" #: lib/regcomp.c:131 msgid "Success" msgstr "Sukces" #: lib/regcomp.c:134 msgid "No match" msgstr "Brak dopasowania" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Błędne wyrażenie regularne" # ? - rzm #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Znak błędny dla bieżącego uporzÄ…dkowania" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Błędna nazwa klasy znaków" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "KoÅ„cowy ukoÅ›nik odwrotny" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Błędne odwoÅ‚anie" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Niesparowany [ lub [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Niesparowany ( lub \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Niedopasowany \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Błędna zawartość \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Błędny koniec zakresu" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Brak pamiÄ™ci" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Błędne wyrażenie regularne" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Przedwczesny koniec szukania wyrażenia regularnego" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Za duże wyrażenie regularne" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Niesparowany ) lub \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Brak poprzedniego wyrażenia regularnego" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "dziaÅ‚anie rekurencyjne na %s jest niebezpieczne" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "dziaÅ‚anie rekurencyjne na %s jest niebezpieczne (to samo co %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "użyj --no-preserve-root do wyłączenia tego zabezpieczenia" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYtT]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "nie można ustawić uprawnieÅ„ do %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Zawieszenie" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Przerwanie" #: lib/siglist.h:37 msgid "Quit" msgstr "ZakoÅ„czenie zwykÅ‚e" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Nielegalna instrukcja" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Zatrzymanie na trace/brakepoincie" #: lib/siglist.h:46 msgid "Aborted" msgstr "Skasowane" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "WyjÄ…tej operacji zmiennoprzecinkowej" #: lib/siglist.h:52 msgid "Killed" msgstr "Zabity" #: lib/siglist.h:55 msgid "Bus error" msgstr "Błąd szyny" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Błąd segmentacji" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Urwany potok" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Zegar alarmowy" #: lib/siglist.h:67 msgid "Terminated" msgstr "ZakoÅ„czenie" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Pilny warunek wejÅ›cia/wyjÅ›cia" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Zatrzymany (sygnaÅ‚)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Zatrzymany" #: lib/siglist.h:79 msgid "Continued" msgstr "Kontynuacja" #: lib/siglist.h:82 msgid "Child exited" msgstr "Koniec dziaÅ‚ania procesu potomnego" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Zatrzymane (wejÅ›cie z terminala)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Zatrzymane (wyjÅ›cie na terminal)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "WejÅ›cie/wyjÅ›cie możliwe" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Przekroczony limit czasu procesora" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Przekroczony limit rozmiaru plików" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "UpÅ‚ynÄ…Å‚ czas zegara wirtualnego" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "UpÅ‚ynÄ…Å‚ czas zegara profilingu" #: lib/siglist.h:106 msgid "Window changed" msgstr "Zmiana rozmiaru okna" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "SygnaÅ‚ 1 definiowany przez użytkownika" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "SygnaÅ‚ 2 definiowany przez użytkownika" #: lib/siglist.h:117 msgid "EMT trap" msgstr "PuÅ‚apka EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Błędne wywoÅ‚anie systemowe" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Błąd stosu" #: lib/siglist.h:126 msgid "Information request" msgstr "Żądanie informacji" #: lib/siglist.h:128 msgid "Power failure" msgstr "Brak zasilania" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Utracony zasób" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "nie można utworzyć potoku" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "%s: błąd procesu potomnego" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "SygnaÅ‚ czasu rzeczywistego nr %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Nieznany sygnaÅ‚ nr %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "nie można użyć funkcji iconv" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funkcja iconv nie jest dostÄ™pna" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "znak spoza zakresu" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "nie można przeksztaÅ‚cić U+%04X do lokalnego zestawu znaków" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "nie można przeksztaÅ‚cić U+%04X do lokalnego zestawu znaków: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "błędny użytkownik" #: lib/userspec.c:107 msgid "invalid group" msgstr "błędna grupa" #: lib/userspec.c:108 msgid "invalid spec" msgstr "błędna specyfikacja" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "nie udaÅ‚o siÄ™ wypisać komunikatu o błędzie" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakowane przez %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakowane przez %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencja GPLv3+: GNU GPL wersja 3 albo późniejsza http://gnu.org/licenses/" "gpl.html\n" "To jest wolne oprogramowanie: masz prawo je zmieniać i rozpowszechniać.\n" "Autorzy nie dajÄ… Å»ADNYCH GWARANCJI w granicach dozwolonych prawem.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napisany przez %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Autorzy: %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Autorzy: %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Autorzy: %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Autorzy: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s i inni.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "O błędach programu poinformuj %s\n" "O błędach tÅ‚umaczenia poinformuj translation-team-pl@lists.sourceforge.net\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Raporty o błędach %s wysyÅ‚aj do %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "strona domowa %s: %s\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "strona domowa %s: http://www.gnu.org/software/%s/\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Pomoc w używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "błąd _open_osfhandle" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "nie można odtworzyć deskryptora %d: błąd dup2" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "proces potomny %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "proces potomny %s otrzymaÅ‚ fatalny sygnaÅ‚ %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "nieznany strumieÅ„" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "nie udaÅ‚o siÄ™ ponownie otworzyć %s z uprawnieniami %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "nie udaÅ‚o siÄ™ porównanie napisów" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Ustaw LC_ALL=C żeby obejść problem" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Porównywane byÅ‚y napisy %s i %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "nie można wykonać formatowanych danych wyjÅ›ciowych" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "%s%s - błędny argument „%sâ€" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "%s%s - błędny przyrostek „%sâ€" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s - argument „%s†jest za duży" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [PLIK]\n" "Zakodowane lub zdekodowanie kodem 64-znakowym (base64) PLIKU albo danych\n" "miÄ™dzy standardowym wejÅ›ciem i wyjÅ›ciem.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode rozkodowanie danych\n" " -i, --ignore-garbage zignorowanie znaków niealfabetycznych przy " "dekodowaniu\n" " -w, --wrap=KOLUMNY zawijanie zakodowanych linii po KOLUMNACH " "(domyÅ›lnie\n" " 76), 0 wyłącza zawijanie\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Jeżeli nie zostaÅ‚ podany PLIK albo podany jest jako -, czytane jest\n" "standardowe wejÅ›cie.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Dane sÄ… kodowane wedÅ‚ug opisu dla alfabetu o podstawie 64 (base64) w\n" "RFC 3548. Przy dekodowaniu oprócz znaków formalnego alfabetu base64 można\n" "napotkać znaki nowej linii. Program wywoÅ‚any z opcjÄ… --ignore-garbage " "bÄ™dzie\n" "próbowaÅ‚ opuÅ›cić jakiekolwiek inne znaki nie z alfabetu base64.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "błąd czytania" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "błędne dane wejÅ›ciowe" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "błędny rozmiar zawijania: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "nadmiarowy argument %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "zamkniÄ™cie standardowego wejÅ›cia" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "SkÅ‚adnia: %s NAZWA [PRZYROSTEK]\n" " albo: %s OPCJA... NAZWA...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "WyÅ›wietla NAZWĘ, usuwajÄ…c wszystkie poprzedzajÄ…ce skÅ‚adniki Å›cieżki.\n" "JeÅ›li jest podany, usuwa również PRZYROSTEK.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple traktowanie każdego z wielu argumentów jako NAZWY\n" " -s, --suffix=PRZYROSTEK usuniÄ™cie PRZYROSTKA z koÅ„ca\n" " -z, --zero oddzielanie danych wyjÅ›ciowych znakiem NUL, a nie\n" " znakiem nowej linii\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s /usr/bin/sort -> \"/sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\", a po nim \"str2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "brakujÄ…cy argument" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [PLIK]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Połączenie PLIKU(ÓW) albo standardowego wejÅ›cia i przekazanie na wyjÅ›cie.\n" "\n" " -A, --show-all równoważne -vET\n" " -b, --number-nonblank numerowanie niepustych linii na wyjÅ›ciu\n" " -e równoważne -vE\n" " -E, --show-ends wypisanie $ na koÅ„cu każdej linii\n" " -n, --number numerowanie wszystkich linii na wyjÅ›ciu\n" " -s, --squeeze-blank nigdy wiÄ™cej niż jedna pusta linia\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t równoważne -vT\n" " -T, --show-tabs wypisanie znaków TAB jako ^I\n" " -u (ignorowane)\n" " -v, --show-nonprinting użycie zapisu ^ i M-, oprócz LFD i TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s f - g Skopiowanie zawartoÅ›ci f na standardowe wyjÅ›cie, potem\n" " zawartoÅ›ci g.\n" " %s Skopiowanie standardowego wejÅ›cia na standardowe wyjÅ›cie.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "nie można wykonać ioctl na %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standardowe wyjÅ›cie" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: plik wejÅ›ciowy jest plikiem wyjÅ›ciowym" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "błąd tworzenia kontekstu bezpieczeÅ„stwa: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "błąd przy ustawiania kontekstu bezpieczeÅ„stwa %s jako %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "nie udaÅ‚o siÄ™ odczytać kontekstu bezpieczeÅ„stwa %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "nie można zastosować częściowego kontekstu do pliku %s bez etykiety" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "nie można zmienić konteksty %s na %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "nie ma dostÄ™pu do %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "nie można przeczytać katalogu %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "zmiana kontekstu bezpieczeÅ„stwa %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "błąd fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "błąd fts_close" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... KONTEKST PLIK...\n" " albo: %s [OPCJA]... [-u UÅ»YTKOWNIK] [-r ROLA] [-l ZAKRES] [-t TYP] " "PLIK...\n" " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Zmiana kontekstu bezpieczeÅ„stwa każdego PLIKU na KONTEKST. Z opcjÄ… --" "reference:\n" "zmiana kontekstu bezpieczeÅ„stwa każdego PLIKU na taki jaki ma PLIK_WZ.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference zmiany majÄ… dotyczyć obiektów wskazywanych przez\n" " dowiÄ…zania symboliczne (zachowanie domyÅ›lne), a " "nie\n" " samych dowiÄ…zaÅ„\n" " -h, --no-dereference zmiany majÄ… dotyczyć samych dowiÄ…zaÅ„ " "symbolicznych,\n" " a nie plików przez nie wskazywanych\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UÅ»YTKOWNIK ustawienie UÅ»YTKOWNIKA w docelowym kontekscie\n" " bezpieczeÅ„stwa\n" " -r, --role=ROLA ustawienie ROLI w docelowym kontekscie\n" " bezpieczeÅ„stwa\n" " -t, --type=TYP ustawienie TYPU w docelowym kontekscie\n" " bezpieczeÅ„stwa\n" " -l, --range=ZAKRES ustawienie ZAKRESU w docelowym kontekscie\n" " bezpieczeÅ„stwa\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root bez traktowania katalogu „/†w specjalny sposób\n" " (domyÅ›lnie)\n" " --preserve-root odmowa rekusywnego dziaÅ‚ania na „/â€\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=PLIK_WZ użycie kontekstu bezpieczeÅ„stwa pliku PLIK_WZ\n" " zamiast podanego KONTEKSTU\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive zmiany też w plikach w podkatalogach\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose wypisanie informacji o każdym przetwarzanym pliku\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "NastÄ™pujÄ…ce opcje zmieniajÄ… sposób przeglÄ…dania katalogów gdy jest podana\n" "opcja -R. Jeżeli podane jest wiÄ™cej opcji, używana jest tylko ostatnia.\n" " -H jeżeli argumentem jest dowiÄ…zanie symboliczne do\n" " katalogu - bÄ™dzie przetworzony\n" " -L przetworzenie każdego katalogu, do którego jest\n" " dowiÄ…zanie symboliczne\n" " -P bez przetwarzania dowiÄ…zaÅ„ symbolicznych " "(domyÅ›lnie)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference wymaga -H albo -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h wymagajÄ… podania -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "brakujÄ…cy argument po %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "błędny kontekst: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "podano sprzeczne specyfikacje kontekstów bezpieczeÅ„stwa" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "nie udaÅ‚o siÄ™ odczytać atrybutów %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "błędna grupa: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... GRUPA PLIK...\n" " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Zmiana grupy każdego PLIKU na GRUPĘ.\n" "Z opcjÄ… --reference zmiana grupy każdego PLIKU na takÄ…, jakÄ… ma PLIK_WZ.\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes jak verbose, ale informowanie tylko gdy zaszÅ‚a " "zmiana\n" " -f, --silent, --quiet wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach\n" " -v, --verbose wypisanie informacji o każdym przetwarzanym pliku\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (tylko dla systemów, które umiejÄ… zmienić\n" " wÅ‚aÅ›ciciela dowiÄ…zania symbolicznego)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=PLIK_WZ użycie grupy pliku PLIK_WZ zamiast podania\n" " nazwy GRUPY\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s staff /u Zmiana grupy /u na \"staff\".\n" " %s -hR staff /u Zmiana grupy /u i zawartoÅ›ci na \"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "pobranie nowych atrybutów %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "nie zostaÅ‚o zmienione ani dowiÄ…zanie symboliczne %s ani wskazywany plik\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "uprawnienia do %s zmienione z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "nie udaÅ‚o siÄ™ zmienić uprawnieÅ„ do %s z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "uprawnienia do %s zachowane jako %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" "operacji nie można wykonać na dowiÄ…zaniu symbolicznym %s, które nie wskazuje " "na istniejÄ…cy plik" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "nie można zmienić uprawnieÅ„ do %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nowe uprawnienia to %s, nie %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... UPRAWN[,UPRAWN]... PLIK...\n" " albo: %s [OPCJA]... UPRAWN_ÓS PLIK...\n" " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Zmiana uprawnieÅ„ do każdego PLIKU na UPRAWN.\n" "Z opcjÄ… --reference zmiana uprawnieÅ„ każdego PLIKU na takie, jakie ma " "PLIK_WZ.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=PLIK_WZ użycie uprawnieÅ„ pliku PLIK_WZ zamiast wartoÅ›ci " "UPRAWN\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" " -R, --recursive zmiany też w katalogach i plikach w podkatalogach\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "UPRAWNIENIA majÄ… formÄ™ „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+â€.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "nie można równoczeÅ›nie podawać uprawnieÅ„ i opcji --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "błędne uprawnienia %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "wÅ‚aÅ›ciciel %s zmieniony z %s na %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "grupa %s zmieniona z %s na %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "nie można zmienić wÅ‚aÅ›ciciela %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "nie można zmienić wÅ‚aÅ›ciciela %s z %s na %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "nie udaÅ‚o siÄ™ zmienić grupy %s z %s na %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "nie można zmienić wÅ‚aÅ›ciciela %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "nie można zmienić wÅ‚aÅ›ciciela %s na %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "nie udaÅ‚o siÄ™ zmienić grupy z %s na %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "wÅ‚aÅ›ciciel %s zachowany jako %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupa %s zachowana jako %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "wÅ‚aÅ›ciciel %s zachowany\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "nie można usunąć %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "zmiana wÅ‚aÅ›ciciela %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "nie można zmienić grupy %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [WÅAÅšCICIEL][:[GRUPA]] PLIK...\n" " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Zmiana wÅ‚aÅ›ciciela i/lub grupy każdego PLIKU na WÅAÅšCICIELA i/lub GRUPĘ.\n" "Z opcjÄ… --reference zmiana wÅ‚aÅ›ciciela i grupy każdego PLIKU na takÄ…, jakÄ…\n" "ma PLIK_WZ.\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=BIEŻĄCY_WÅAÅšCICIEL:BIEŻĄCA_GRUPA\n" " zmiana wÅ‚aÅ›ciciela i/lub grupy każdego pliku, " "jeżeli\n" " bieżący wÅ‚aÅ›ciciel i /lub grupa sÄ… takie jak " "podane.\n" " Atrybut nie jest porównywany jeżeli zostaÅ‚ " "pominiÄ™ty\n" " w opcji.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=PLIK_WZ użycie wÅ‚aÅ›ciciela i grupy PLIK_WZ zamiast " "podawania\n" " wartoÅ›ci WÅAÅšCICIEL:GRUPA\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "WÅ‚aÅ›ciciel nie bÄ™dzie zmieniony, jeżeli nie zostaÅ‚ podany. Grupa nie bÄ™dzie\n" "zmieniona, jeżeli nie zostaÅ‚a podana; bÄ™dzie zmieniona na grupÄ™ głównÄ…, " "jeżeli\n" "po WÅAÅšCICIELU zostaÅ‚ podany „:â€. WÅAÅšCICIEL i GRUPA mogÄ… być podane " "zarówno\n" "numerycznie jak symbolicznie.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s root /u Zmiana wÅ‚aÅ›ciciela /u na \"root\".\n" " %s root:staff /u Podobnie, ale również zmiana grupy na \"staff\".\n" " %s -hR root /u Zmiana wÅ‚aÅ›ciciela /u i zawartoÅ›ci na \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "błędna grupa %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "błędna lista grup %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "nie udaÅ‚o siÄ™ ustawić grup dodatkowych" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s [OPCJA] NOWY_ROOT [POLECENIE [ARGUMENT]...]\n" " albo: %s OPCJA\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Uruchomienie polecenia w katalogiem root ustawionym na NOWY_ROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UÅ»YTK:GRUPA podanie użytkownika i grupy (liczbowo lub przez\n" " nazwÄ™)\n" " --groups=LISTA_GRUP podanie grup dodatkowych w postaci g1,g2,..,gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Jeżeli nie jest podane żadne polecenie, uruchamiany jest „${SHELL} -iâ€\n" "(domyÅ›lnie: „/bin/sh -iâ€).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "nie można zmienić katalogu root na %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nie można przejść do katalogu root" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "nie udaÅ‚o siÄ™ ustawić identyfikatora grupy" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "nie udaÅ‚o siÄ™ ustawić identyfikatora użytkownika" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "nie udaÅ‚o siÄ™ uruchomić polecenia %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: za dÅ‚ugi plik" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "SkÅ‚adnia: %s [PLIK]...\n" " albo: %s [OPCJA]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "Wypisanie sumy CRC i liczby bajtów każdego PLIKU.\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "SkÅ‚adnia: %s [OPCJA]... PLIK1 PLIK2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Porównanie posortowanych plików PLIK1 i PLIK2 linia po linii.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Bez opcji wypisuje wyniki w trzech kolumnach. Pierwsza zawiera linie\n" "wystÄ™pujÄ…ce tylko w PLIKU1, druga - tylko w PLIKU2, trzecia - wystÄ™pujÄ…ce w\n" "obu plikach.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 bez kolumny 1 (linii, które sÄ… tylko w PLIKU1\n" " -2 bez kolumny 2 (linii, które sÄ… tylko w PLIKU2\n" " -3 bez kolumny 3 (linii, które sÄ… w obu plikach\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order sprawdzenie czy dane wejÅ›ciowe sÄ… prawidÅ‚owo " "posortowane,\n" " nawet jeżeli wszystkie linie mogÄ… być sparowane\n" " --nocheck-order bez sprawdzenia czy dane wejÅ›ciowe sÄ… prawidÅ‚owo\n" " posortowane\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=NAPIS oddzielenie kolumn przez NAPIS\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Zauważ, że porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami podanymi\n" "przez „LC_COLLATEâ€.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s -12 plik1 plik2 Wypisanie tylko linii obecnych zarówno w pliku1, jak " "w\n" " pliku2\n" " %s -3 plik1 plik2 Wypisanie linii, które sÄ… w pliku1, a nie ma ich w\n" " pliku2 i odwrotnie\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "plik %d nie jest posortowany" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "podano wiele ograniczników" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "pusty %s nie jest dozwolony" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "błąd czytania %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nie można wykonać lseek na %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "błąd zapisu %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: nie udaÅ‚o siÄ™ odczytać informacji o rozszerzeniach" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: błąd zapisu" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "nie udaÅ‚o siÄ™ rozszerzyć %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "kasowanie uprawnieÅ„ dla %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "nie udaÅ‚o siÄ™ zachować wÅ‚asnoÅ›ci %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "nie udaÅ‚o siÄ™ znaleźć pliku %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "nie udaÅ‚o siÄ™ zachować autorstwa %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "nie można otworzyć %s do czytania" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "nie można wykonać fstat na %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "plik %s zostaÅ‚ ominiÄ™ty, bo zostaÅ‚ zmieniony w trakcie kopiowania" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "nie udaÅ‚o siÄ™ odczytać kontekstu utworzenia systemu plików" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "nie udaÅ‚o siÄ™ ustawić kontekstu bezpieczeÅ„stwa %s jako %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "nie można usunąć %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "usuniÄ™ty %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" "bez zapisu przez dowiÄ…zanie symboliczne %s, które nie wskazuje na istniejÄ…cy " "plik" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "nie można utworzyć zwykÅ‚ego pliku %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "nie udaÅ‚o siÄ™ sklonować %s z %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "zachowanie czasu %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "nie udaÅ‚o siÄ™ zamknąć %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: zamazywanie %s, obejść uprawnienia %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: zamazać %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (kopia zapasowa: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" "nie udaÅ‚o siÄ™ odtworzyć domyÅ›lnego kontekstu bezpieczeÅ„stwa tworzenia pliku" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "nie można utworzyć dowiÄ…zania zwykÅ‚ego %s do %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "nie można wykonać stat na %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "katalog %s zostaÅ‚ pominiÄ™ty" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "uwaga: plik źródÅ‚owy %s pojawiÅ‚ siÄ™ wiÄ™cej niż raz" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s i %s to ten sam plik" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "nie można zamazać nie-katalogu %s katalogiem %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "nie można zamazać wÅ‚aÅ›nie utworzonego %s plikiem %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "nie można zamazać katalogu %s nie-katalogiem" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "nie można przenieść katalogu do nie-katalogu: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "utworzenie kopii zapasowej %s zniszczyÅ‚oby żródÅ‚o; %s nie zostaÅ‚ " "przeniesiony" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "utworzenie kopii zapasowej %s zniszczyÅ‚oby żródÅ‚o; %s nie zostaÅ‚ skopiowany" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "nie można utworzyć kopii zapasowej %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "plik %s nie bÄ™dzie skopiowany poprzez wÅ‚aÅ›nie utworzone dowiÄ…zanie " "symboliczne %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "nie można skopiować katalogu %s do siebie samego %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "nie można utworzyć dowiÄ…zania zwykÅ‚ego %s do katalogu %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "nie można przenieść %s do wÅ‚asnego podkatalogu %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "nie można przenieść %s do %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "nie udaÅ‚o siÄ™ przeniesienie miÄ™dzy urzÄ…dzeniami: %s do %s; nie udaÅ‚o siÄ™ " "usunać pliku docelowego" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "nie udaÅ‚o siÄ™ ustawić domyÅ›lnego kontekstu tworzenia pliku %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "nie można skopiować cyklicznego dowiÄ…zania symbolicznego %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: można zrobić tylko wzglÄ™dne dowiÄ…zanie symboliczne w bieżącym katalogu" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "nie można utworzyć dowiÄ…zania symbolicznego %s do %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "nie można utworzyć potoku %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "nie można utworzyć pliku specjalnego %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "nie można przeczytać dowiÄ…zania symbolicznego %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "nie można utworzyć dowiÄ…zania symbolicznego %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s to nieznany typ pliku" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "nie można przywrócić kopii zapasowej %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (przywrócenie kopii zapasowej)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [-T] ŹRÓDÅO CEL\n" " albo: %s [OPCJA]... ŹRÓDÅO... KATALOG\n" " albo: %s [OPCJA]... -t KATALOG ŹRÓDÅO...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Skopiowanie ŹRÓDÅA do CELU lub ŹRÓDÅA/ŹRÓDEÅ do KATALOGU.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive to samo co -dR --preserve=all\n" " --attributes-only bez kopiowania danych, same atrybuty\n" " --backup[=TRYB] robienie kopii zapasowej każdego " "istniejÄ…cego\n" " pliku docelowego\n" " -b jak --backup, ale bez podawania argumentu\n" " --copy-contents kopiowanie zawartoÅ›ci pliku specjalnego w\n" " przypadku rekursji\n" " -d to samo co --no-dereference --preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force jeżeli istniejÄ…cy plik docelowy nie daje siÄ™\n" " otworzyć, bÄ™dzie skasowany i otwierany\n" " ponownie (ignorowane jeżeli użyta jest\n" " też opcja -n)\n" " -i, --interactive pytanie przed zamazaniem (wyłącza opcjÄ™ -n)\n" " -H podążanie za dowiÄ…zaniami symbolicznymi w\n" " ŹRÓDLE podanymi jako argumenty polecenia\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link dowiÄ…zania zwykÅ‚e zamiast kopiowania\n" " -L, --dereference podążanie za wszystkimi dowiÄ…zaniami\n" " symbolicznymi w ŹRÓDLE\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber bez nadpisywania istniejÄ…cych plików " "(wyłącza\n" " opcjÄ™ -i)\n" " -P, --no-dereference bez podążania za dowiÄ…zaniami symbolicznymi " "w\n" " ŹRÓDLE\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p to samo co --preserve=mode,ownership," "timestamps\n" " --preserve[=LISTA_ATR] zachowanie podanych atrybutów (domyÅ›lnie: " "mode\n" " (uprawnienia), ownership (wÅ‚aÅ›ciciel, " "grupa),\n" " timestamps (czasy)); jeżeli możliwe, to\n" " również dodatkowych atrybutów: context, " "links\n" " (dowiÄ…zania), xattr (rozszerzone " "atrybuty),\n" " all (wszystkie)\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LISTA_ATR bez zachowania podanych atrybutów\n" " --parents użycie peÅ‚nej Å›cieżki źródÅ‚owej KATALOG\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive rekursywnie kopiowanie podkatalogów\n" " --reflink ustawienia kopiowania CoW/clone. Zobacz " "poniżej.\n" " --remove-destination usuniÄ™cie każdego istniejÄ…cego pliku " "docelowego\n" " przed próbÄ… jego otwarcia (por. z --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=GDY sterowanie tworzeniem plików rzadkich. " "Zobacz\n" " poniżej.\n" " --strip-trailing-slashes skasowanie ewentualnych koÅ„cowych ukoÅ›ników " "z\n" " nazw argumentów ŹRÓDÅOWYCH\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link dowiÄ…zywanie symboliczne zamiast kopiowania\n" " -S, --suffix=ROZSZERZENIE zmiana domyÅ›lnego ROZSZERZ. kopii zapasowej\n" " -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEÅ do KATALOGU\n" " -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopiowanie tylko plików, dla których ŹRÓDÅO\n" " jest nowsze niż CEL albo brakuje CELU\n" " -v, --verbose wyjaÅ›nianie co siÄ™ dzieje\n" " -x, --one-file-system pozostanie w jednym systemie plików\n" "\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "DomyÅ›lnie ŹRÓDÅOWE pliki rzadkie sÄ… wykrywane prostÄ… heurystykÄ… i " "odpowiedni\n" "plik CEL jest tworzony też jako rzadki. Takie zachowanie jest wybierane\n" "przez --sparse=auto. Podaj --sparse=always (zawsze) żeby utworzyć rzadki\n" "plik CEL zawsze gdy plik ŹRÓDÅOWY zawiera wystarczajÄ…co dÅ‚ugÄ… sekwencjÄ™ " "zer.\n" "Użyj --sparse=never (nigdy) żeby zakazać tworzenia plików rzadkich.\n" "\n" "Jeżeli podane jest --reflink[=always] zostanie wykonane lekkie kopiowanie, " "co\n" "oznacza, że bloki z danymi bÄ™dÄ… skopiowane w inne miejsce tylko gdy zostanÄ…\n" "później zmodyfikowane. Jeżeli takie kopiowanie nie jest możliwe, polecenie " "nie\n" "wykona kopiowania i zwróci błąd. Jeżeli podane jest --reflink=auto, w razie\n" "niemożnoÅ›ci wykonania lekkiego kopiowania zostanie wykonane kopiowanie " "zwykÅ‚e.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Rozszerzenie nazwy kopii zapasowej to „~â€, jeżeli nie jest ustawione\n" "inaczej przez --suffix albo SIMPLE_BACKUP_SUFFIX. Traktowanie wersji może " "być\n" "ustawione przez opcjÄ™ --backup albo przez zmiennÄ… Å›rodowiska " "VERSION_CONTROL.\n" "Możliwe wartoÅ›ci:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nigdy nie sÄ… tworzone kopie zapasowe (nawet gdy jest " "podana\n" " opcja --backup)\n" " numbered, t tworzenie numerowanych kopii zapasowych\n" " existing, nil numerowane jeżeli takie już istniejÄ…, jeżeli nie - proste\n" " simple, never tworzenie zawsze prostych kopii zapasowych\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "W przypadku specjalnym cp robi kopiÄ™ zapasowÄ… ŹRÓDÅA jeżeli sÄ… podane\n" "opcje force i backup, a ŹRÓDÅO i CEL sÄ… tÄ… samÄ… nazwÄ… istniejÄ…cego pliku\n" "zwykÅ‚ego\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "nie udaÅ‚o siÄ™ zachować czasu %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "nie udaÅ‚o siÄ™ zachować uprawnieÅ„ do %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "nie można utworzyć katalogu %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s istnieje, ale nie jest katalogiem" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "nie udaÅ‚o siÄ™ uzyskać dostÄ™pu do %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "brakujÄ…cy argument plikowy" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "brakujÄ…cy plik docelowy po %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "nie można używać razem --target-directory (-t) i --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "cel %s nie jest katalogiem" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "z opcjÄ… --parents cel musi być katalogiem" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "podano wiele katalogów docelowych" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "nie można zrobić dowiÄ…zania symbolicznego i zwykÅ‚ego równoczeÅ›nie" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "opcje --backup i --no-clobber wzajemnie siÄ™ wykluczajÄ…" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "opcji --reflink można użyć tylko ze --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "rodzaj kopii zapasowej" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "nie można zachować kontekstu bezpieczeÅ„stwa bez jÄ…dra systemu z włączonym " "SELinuksem" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "nie można zachować atrybutów rozszerzonych, cp jest zbudowane bez obsÅ‚ugi " "xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "dane wejÅ›ciowe zniknęły" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: numer linii spoza zakresu" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: numer linii spoza zakresu" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " przy powtórzeniu %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: nie pasuje" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "błąd szukania wyrażenia regularnego" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "błąd pisania dla %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: po ograniczniku powinna być liczba caÅ‚kowita" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: „}†jest wymagany w liczniku powtórzeÅ„" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: miÄ™dzy „{†a „}†musi być liczba caÅ‚kowita" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: brak zamykajÄ…cego ogranicznika „%câ€" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: błędne wyrażenie regularne: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: błędny wzorzec" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: numer linii musi być wiÄ™kszy od zera" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "numer linii %s jest mniejszy niż numer linii poprzedzajÄ…cej, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "uwaga: numer linii %s jest taki sam jak numer linii poprzedzajÄ…cej" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "brak okreÅ›lenia konwersji w rozszerzeniu" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "błędne okreÅ›lenie konwersji w rozszerzeniu: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "błędne okreÅ›lenie konwersji w rozszerzeniu: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "błędne flagi w specyfikacji przeksztaÅ‚cenia: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "za dużo okreÅ›leÅ„ konwersji %% w rozszerzeniu" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "brak okreÅ›lenia konwersji %% w rozszerzeniu" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: błędna liczba" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... PLIK WZORZEC...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Zapisanie kawaÅ‚ków PLIKU oddzielonych przez WZORCE do plików „xx01â€, " "„xx02,â€\n" "..., i podanie na standardowym wyjÅ›ciu liczby bajtów w każdym kawaÅ‚ku.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT użycie FORMATU sprintf zamiast %02d\n" " -f, --prefix=PRZEDROSTEK użycie PRZEDROSTKA zamiast 'xx'\n" " -k, --keep-files bez kasowania plików wyjÅ›ciowych w razie " "błędów\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CYFRY użycie podanej liczby CYFR zamiast dwóch\n" " -s, --quiet, --silent bez podawania liczby bajtów w plikach " "wyjÅ›ciowych\n" " -z, --elide-empty-files usuniÄ™cie pustych plików wyjÅ›ciowych\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Jeżeli PLIK jest podany jako -, czytane jest standardowe wejÅ›cie.\n" "Możliwe WZORCE:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " LICZBA_CAÅKOWITA kopiowanie do podanej linii o numerze " "LICZBA_CAÅKOWITA,\n" " oprócz tej linii\n" " /REGEXP/[PRZESUNIĘCIE] kopiowanie do pasujÄ…cej linii, oprócz tej linii\n" " %REGEXP%[PRZESUNIĘCIE] przeskoczenie do pasujÄ…cej linii, ale bez niej " "samej\n" " {LICZBA_CAÅKOWITA} powtórzenie poprzedniego wzorca podanÄ… liczbÄ™ " "razy\n" " {*} powtórzenie poprzedniego wzorca tyle razy ile siÄ™ " "da\n" "\n" "PRZESUNIĘCIE linii musi siÄ™ skÅ‚adać z „+†albo „-†oraz liczby caÅ‚kowitej.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "pola i pozycje sÄ… numerowane od 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "SkÅ‚adnia: %s OPCJA... [PLIK]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Wypisywanie wybranych części linii z każdego PLIKU na standardowe wyjÅ›cie.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA wypisanie tylko tych bajtów\n" " -c, --characters=LISTA wypisanie tylko tych znaków\n" " -d, --delimiter=OGRANICZNIK użycie OGRANICZNIKA zamiast TABa jako " "separatora\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA wypisanie tylko tych pól oraz linii, które nie\n" " zawierajÄ… znaku ogranicznika, chyba że podana " "jest\n" " opcja -s\n" " -n (ignorowane)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement użycie dopeÅ‚nienia zbioru wybranych bajtów, " "znaków\n" " albo pól\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited bez wypisywania linii nie zawierajÄ…cych " "ogranicznika\n" " --output-delimiter=NAPIS użycie NAPISU jako separatora danych\n" " wyjÅ›ciowych, domyÅ›lnie używany jest separator\n" " danych wejÅ›ciowych\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Użyć można tylko jednej z opcji -b, -c albo -f. Każda LISTA skÅ‚ada siÄ™ z\n" "jednego zakresu lub wielu zakresów oddzielonych przecinkami. Przefiltrowane\n" "dane wejÅ›ciowe sÄ… wypisywane w tym samym porzÄ…dku, w jakim sÄ… czytane i sÄ…\n" "wypisywane tylko raz.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Każdy zakres to:\n" "\n" " N N-ty bajt, znak lub pole, liczone od 1\n" " N- od N-tego bajtu, znaku lub pola do koÅ„ca linii\n" " N-M od N-tego do M-tego (włącznie) bajtu, znaku lub pola\n" " -M od pierwszego do M-tego (włącznie) bajtu, znaku lub pola\n" "\n" "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest\n" "standardowe wejÅ›cie.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "błędna lista bajtów, znaków lub pól" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "błędny zakres bez podania koÅ„ca: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "błędny zakres od wiÄ™kszego do mniejszego" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "przesuniÄ™cie bajtowe %s jest za duże" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "numer pola %s jest za duży" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "można podać tylko jeden typ listy" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "ogranicznik musi być pojedynczym znakiem" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "musisz podać listÄ™ bajtów, znaków albo pól" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "ogranicznik może być podany tylko dla operacji na polach" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "blokowanie wyÅ›wietlania linii bez ograniczników jest sensowne\n" "\ttylko dla operacji na polach" #: src/cut.c:870 msgid "missing list of fields" msgstr "brakujÄ…ca lista pól" #: src/cut.c:872 msgid "missing list of positions" msgstr "brakujÄ…ca lista pozycji" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [+FORMAT]\n" " albo: %s [-u|--utc|--universal] [MMDDggmm[[CC]RR][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Wypisanie bieżącego czasu w podanym formacie albo ustawienie czasu " "systemowego.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=SPECYFIKACJA wypisanie czasu podanego przez SPECYFIKACJĘ, " "nie\n" " bieżącego (now)\n" " -f, --file=PLIKDAT jak --date, dla każdej linii PLIKUDAT\n" " -I[SPECYF_CZASU], --iso-8601[=SPECYF_CZASU] wypisani daty/czasu w " "formacie\n" " ISO 8601. SPECYF_CZASU=date dla podania samej\n" " daty (tryb domyÅ›lny), „hours†(godziny), " "„minutesâ€,\n" " „seconds†albo „ns†dla podania daty i czasu z\n" " pożądanÄ… dokÅ‚adnoÅ›ciÄ….\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=PLIK wyÅ›wietla czas ostatniej modyfikacji PLIKU\n" " -R, --rfc-822 wypisuje datÄ™ i czas zgodnie z RFC 2822\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=CZAS wypisuje data i czas w formacie RFC 3339.\n" " Dla osiÄ…gniÄ™cia żądanej dokÅ‚adnoÅ›ci należy\n" " podać CZAS=date, „seconds†albo „nsâ€.\n" " SkÅ‚adniki data i czas sÄ… oddzielone przez\n" " pojedynczÄ… spacjÄ™: 2006-08-07 12:34:56-06:00\n" " -s, --set=SPECYFIKACJA ustawia czas podany w SPECYFIKACJI\n" " -u, --utc, --universal wyÅ›wietla lub ustawia czas uniwersalny\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT steruje wyjÅ›ciem. Rozpoznawane sekwencje:\n" "\n" " %% znak procenta %\n" " %a lokalny skrót nazwy dnia tygodnia (np. pon)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokalna peÅ‚na nazwa dnia tygodnia (np. poniedziaÅ‚ek)\n" " %b lokalny skrót nazwy miesiÄ…ca (np. sty)\n" " %B lokalna peÅ‚na nazwa miesiÄ…ca (np. styczeÅ„)\n" " %c lokalna data i czas (np. czw mar 03 23:05:25 MEST 2005)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C stulecie; jak %Y, ale bez dwóch ostatnich cyfr (np. 20)\n" " %d dzieÅ„ miesiÄ…ca (np. 01)\n" " %D data; to samo co %m/%d/%y\n" " %e dzieÅ„ miesiÄ…ca uzupeÅ‚niony spacjami; to samo co %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F peÅ‚na data; to samo co %Y-%m-%d\n" " %g dwie ostatnie cyfry roku odpowiadajÄ…ce numerowi tygodnia ISO (zobacz\n" " %G)\n" " %G rok odpowiadajÄ…cy numerowi tygodnia ISO (zob. %V); zwykle użyteczne\n" " tylko z %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h to samo co %b\n" " %H godzina (00...23)\n" " %I godzina (01...12)\n" " %j dzieÅ„ roku (001...366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k godzina, dopeÅ‚niana spacjÄ… ( 0..23); to samo co %_H\n" " %l godzina, dopeÅ‚niana spacjÄ… ( 1..12); to samo co %_I\n" " %m miesiÄ…c (01...12)\n" " %M minuta (00...59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n znak nowej linii\n" " %N nanosekundy (000000000..999999999)\n" " %p lokalny odpowiednik AM lub PM; pusty jeżlei nieznany\n" " %P jak %p, ale maÅ‚ymi literami\n" " %r czas w formacie 12-godzinnym (np. 11:11:04 PM)\n" " %R czas w formacie 24-godzinnym; to samo co %H:%M\n" " %s liczba sekund od godz. 00:00:00, 1 stycznia 1970 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekunda (00...60)\n" " %t tabulator poziomy\n" " %T czas; to samo co %H:%M:%S\n" " %u dzieÅ„ tygodnia (1..7); 1 to poniedziaÅ‚ek\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U numer tygodnia w roku, niedziela zaczyna tydzieÅ„ (00...53)\n" " %V numer tygodnia ISO, poniedziaÅ‚ek zaczyna tydzieÅ„ (01...53)\n" " %w numer dnia tygodnia (0...6), 0 oznacza niedzielÄ™\n" " %W numer tygodnia w roku, poniedziaÅ‚ek zaczyna tydzieÅ„ (00...53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x lokalna reprezentacja daty (np. 12/31/99)\n" " %X lokalna reprezentacja czasu (np. 21:13:48)\n" " %y dwie ostatnie cyfry roku (00...99)\n" " %Y rok\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z strefa czasowa liczbowo +hhmm (np. -0400)\n" " %:z strefa czasowa liczbowo +hh:mm (np. -04:00)\n" " %::z strefa czasowa liczbowo +hh:mm:ss (np. -04:00:00)\n" " %:::z strefa czasowa liczbowo z : dla sprecyzowania dokÅ‚adnoÅ›ci (np. " "-04,\n" " +05:30)\n" " %Z literowy skrót strefy czasowej (np. EDT)\n" "\n" "DomyÅ›lnie numeryczne pola daty sÄ… dopeÅ‚niane zerami.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "NastÄ™pujÄ…ce opcjonalne flagi mogÄ… być podane po „%â€:\n" "\n" " - (myÅ›lnik) bez dopeÅ‚niania\n" " _ (podkreÅ›lenie) dopeÅ‚nienie odstÄ™pami\n" " 0 (zero) dopeÅ‚nienie zerami\n" " ^ używanie wielkich liter jeżeli to możliwe\n" " # użycie maÅ‚ych liter zamiast wielkich i odwrotnie, jeżeli to możliwe\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Po dowolnej fladze może opcjonalnie wystÄ…pić szerokość pola w postaci " "liczby\n" "dziesiÄ™tnej, potem opcjonalny modyfikator:\n" "E - żeby użyć alternatywnej reprezentacji lokalnej albo\n" "O - żeby użyć alternatywnych symboli numerycznych, jeżeli sÄ… dostepne\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "PrzykÅ‚ady:\n" "Zamiana liczby sekund od epoki (1970-01-01 UTC) na datÄ™:\n" " $ date --date='@2147483647'\n" "\n" "Pokazywanie czasu na zachodnim wybrzeżu USA (strefÄ™ czasowÄ… można znaleźć\n" "w manualu tzselect(1)):\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Pokazanie czasu lokalnego dla 9 w najbliższy piÄ…tek na zachodnim wybrzeżu " "USA:\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standardowe wejÅ›cie" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "błędna data: %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "podano wiele formatów wyjÅ›ciowych" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "opcje specyfikujÄ…ce daty do wyÅ›wietlenia wzajemnie siÄ™ wykluczajÄ…" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "opcje wyÅ›wietlajÄ…ce i ustawiajÄ…ce czas nie mogÄ… być używane razem" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "brak znaku „+†na poczÄ…tku argumentu %s;\n" "jeÅ›li użyto opcji okreÅ›lajÄ…cych datÄ™/y, każdy argument nie bÄ™dÄ…cy\n" "opcjÄ… musi być specyfikacjÄ… formatu i zaczynać siÄ™ od „+â€" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "ustawienie daty niemożliwe" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "czas %s jest spoza zakresu" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s [ARGUMENT]...\n" " albo: %s OPCJA\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopiowanie pliku z przeksztaÅ‚caniem i formatowaniem zgodnie z argumentami.\n" "\n" " bs=BAJTÓW czytanie i zapisywanie tylu BAJTÓW za jednym razem\n" " (zobacz też ibs= i obs=)\n" " cbs=BAJTÓW przeksztaÅ‚cenie tylu BAJTÓW za jednym razem\n" " conv=KONWERSJE przeksztaÅ‚cenie pliku wg listy symboli\n" " oddzielonych przecinkami\n" " count=ILE skopiowanie tylko ILU bloków z wejÅ›cia\n" " ibs=BAJTÓW czytanie tylu BAJTÓW naraz (domyÅ›lnie: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=PLIK czytanie z PLIKU zamiast ze standardowego wejÅ›cia\n" " iflag=FLAGI czytanie zgodnie z podanÄ… listÄ… słów kluczowych\n" " oddzielonych przecinkami\n" " obs=BAJTÓW zapisanie tylu BAJTÓW naraz (domyÅ›lnie: 512)\n" " of=PLIK zapisanie do PLIKU zamiast do standardowego wyjÅ›cia\n" " oflag=FLAGI pisanie zgodnie z podanÄ… listÄ… słów kluczowych\n" " oddzielonych przecinkami\n" " seek=ILE przeskoczenie ILU bloków o rozmiarze obs na wyjÅ›ciu\n" " skip=ILE przeskoczenie ILU bloków o rozmiarze ibs na wejÅ›ciu\n" " status=JAKIE JAKIE informacje nie bÄ™dÄ… wysyÅ‚ane na standardowe\n" " wyjÅ›cie błędu: „noxfer†- bez statystyki kopiowania,\n" " „none†- żadnych informacji\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N i BAJTY mogÄ… mieć nastÄ™pujÄ…ce przyrostki mnożące:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, itd. dla T, P, E, Z, Y.\n" "\n" "Każde SÅOWO_KL może być:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii z EBCDIC do ASCII\n" " ebcdic z ASCII do EBCDIC\n" " ibm z ASCII do alternatywnego EBCDIC\n" " block wyrównanie rekordów zakoÅ„czonych znakami nowej linii spacjami\n" " do rozmiaru cbs\n" " unblock zamiana koÅ„cowych spacji w rekordach o rozmiarze cbs na znak\n" " nowej linii\n" " lcase zamiana wielkich liter na maÅ‚e\n" " ucase zamiana maÅ‚ych liter na wielkie\n" " sparse usiÅ‚owanie przesuniÄ™cia wskaźnika zamiast pisania bloków\n" " wyjÅ›ciowych gdy bloki wejÅ›ciowe skÅ‚adajÄ… siÄ™ ze znaków NUL\n" " swab zamiana każdej pary bajtów\n" " sync dopeÅ‚nienie każdego bloku wejÅ›ciowego zerami do rozmiaru ibs,\n" " jeżeli użyte z block albo unblock, dopeÅ‚nienie spacjami zamiast\n" " NULami\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl zakoÅ„czenie jeżeli plik wyjÅ›ciowy już istnieje\n" " nocreat bez tworzenia pliku wyjÅ›ciowego\n" " notrunc bez skrócenia pliku wyjÅ›ciowego\n" " noerror kontynuowanie mimo błędów czytania\n" " fdatasync wymuszenie fizycznego zapisu danych przed zakoÅ„czeniem\n" " fsync jak fdatasync, ale też dla metadanych\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Do FLAG należą:\n" "\n" " append tryb dopisywania (ma sens tylko dla wyjÅ›cia)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio użycie równolegÅ‚ego I/O dla danych\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct dane zapisywane przez bezpoÅ›rednie I/O\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory błąd jeżeli nie katalog\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync dane zapisywane przez synchronizowane I/O\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync podobnie, ale też dla metadanych\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock odczekiwanie na peÅ‚ne bloki na wejÅ›ciu (tylko iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock użycie nie blokujÄ…cego I/O\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime bez aktualizacji czasu dostÄ™pu\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache skasowanie pamiÄ™ci podrÄ™cznej\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty bez przyporzÄ…dkowywania terminala sterujÄ…cego - pliku\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow bez rozwijania dowiÄ…zaÅ„ symbolicznych\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks błąd jeżeli wielokrotnie dołączony\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary użycie binarnego I/O dla danych\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text użycie tekstowego I/O dla danych\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes traktowanie „count=N†jak liczby najtów (tylko iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes traktowanie „skip=N†jak liczby bajtów (tylko iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes traktowanie „seek=N†jak liczby bajtów (tylko oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "WysÅ‚anie sygnaÅ‚u %s do dziaÅ‚ajÄ…cego programu „dd†powoduje wypisanie\n" "statystyki wejÅ›cia i wyjÅ›cia na standardowym wyjÅ›ciu błędów i kontynuacjÄ™\n" "kopiowania.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> przeczytanych recordów\n" "%<PRIuMAX>+%<PRIuMAX> zapisanych recordów\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> obciÄ™ty rekord\n" msgstr[1] "%<PRIuMAX> obciÄ™te rekordy\n" msgstr[2] "%<PRIuMAX> obciÄ™tych rekordów\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "skopiowany %<PRIuMAX> bajt (%s)" msgstr[1] "skopiowane %<PRIuMAX> bajty (%s)" msgstr[2] "skopiowane %<PRIuMAX> bajtów (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "nieskoÅ„czenie wiele B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "zamykanie pliku wejÅ›ciowego %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "zamkniÄ™cie pliku wyjÅ›ciowego %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "nie udaÅ‚o siÄ™ wyłączyć O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "zapis do %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "nierozpoznany argument %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "błędna konwersja" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "błędna flaga wejÅ›ciowa" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "błędna flaga wyjÅ›ciowa" #: src/dd.c:1227 msgid "invalid status flag" msgstr "błędna flaga stanu" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "błędna liczba %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "nie można podawać równoczeÅ›nie ascii, ebcdic, ibm" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "nie można użyć block i unblock równoczeÅ›nie" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "nie można użyć razem lcase i ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "nie można użyć razem excl i nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "nie można użyć razem direct i nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "uwaga: ominiÄ™cie błędu dziaÅ‚ania lseek w jÄ…drze dla pliku (%s)\n" " o mt_type=0x%0lx - zobacz listÄ™ typów w <sys/mtio.h>" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: nie przeskoczyć na wejÅ›ciu" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: nie można ustawić pozycji na wyjÅ›ciu" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "przepeÅ‚nienie licznika pozycji w czasie czytanie pliku %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "uwaga: błędna pozycja w pliku po nieudanym czytaniu" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "nie udaÅ‚o siÄ™ obejść błędu jÄ…dra" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "ustawienie flag dla %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "pamieć wyczerpana przez bufor wejÅ›ciowy o rozmiarze %zu bajtów (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "pamieć wyczerpana przez bufor wyjÅ›ciowy o rozmiarze %zu bajtów (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: nie można przeskoczyć do podanej pozycji na wejÅ›ciu" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "nie udaÅ‚o siÄ™ obciąć pliku do %<PRIdMAX> bajtów w pliku wyjÅ›ciowym %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "nieudany fdatasync dla %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "nieudany fsync dla %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "nie udaÅ‚o siÄ™ otworzyć %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "za duża wartoÅ›c pozycji w pliku: nie można obciąć pliku do dÅ‚ugoÅ›ci seek=" "%<PRIuMAX> (%lu bajtowych) bloków" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "nie udaÅ‚o siÄ™ obciąć pliku do %<PRIuMAX> bajtów w pliku wyjÅ›ciowym %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "nie udaÅ‚o siÄ™ skasować pamiÄ™ci podrÄ™cznej dla %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "System plików" #: src/df.c:175 msgid "Type" msgstr "Typ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bl" #: src/df.c:181 msgid "Used" msgstr "użyte" #: src/df.c:184 msgid "Available" msgstr "dostÄ™pne" #: src/df.c:187 msgid "Use%" msgstr "%uż." #: src/df.c:190 msgid "Inodes" msgstr "iwÄ™zÅ‚y" #: src/df.c:193 msgid "IUsed" msgstr "użyteI" #: src/df.c:196 msgid "IFree" msgstr "wolneI" #: src/df.c:199 msgid "IUse%" msgstr "%uż.I" #: src/df.c:202 msgid "Mounted on" msgstr "zamont. na" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "opcja --output: nieznane pole „%sâ€" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "opcja --output: pole „%s†pojawiÅ‚o siÄ™ wiÄ™cej niż raz" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "rozm." #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "dost." #: src/df.c:474 msgid "Capacity" msgstr "pojemność" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Pokazuje informacje o systemie plików, w którym jest każdy z PLIKÓW, " "domyÅ›lnie\n" "o wszystkich systemach plików.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all pokazanie też specjalnych systemów plików\n" " -B, --block-size=ROZMIAR Skala rozmiarów, np. „-BM†powoduje wypisanie\n" " rozmiarów w jednostkach po 1048576 bajtów.\n" " Zobacz infomacje o formacie ROZMIARÓW poniżej.\n" " --total wypisanie podsumowania caÅ‚oÅ›ci\n" " -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K 234M " "2G)\n" " -H, --si podobnie, ale z użyciem potÄ™g 1000, nie 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes wypisanie informacji o i-wÄ™zÅ‚ach zamiast o blokach\n" " -k jak --block-size=1K\n" " -l, --local ograniczenie spisu do lokalnych systemów plików\n" " --no-sync bez wywoÅ‚ania sync przed pobraniem informacji o\n" " systemach plików (domyÅ›lnie)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=LISTA_PÓL] użycie formatu zdefiniowanego przez LISTĘ_PÓL\n" " albo wypisanie wszystkich pól, jeżeli " "LISTA_PÓL\n" " zostaÅ‚a pominiÄ™ta\n" " -P, --portability użycie formatu zgodnego z POSIX-em\n" " --sync wywoÅ‚anie sync przed pobraniem informacji\n" " -t, --type=TYP pokazanie tylko systemów plików tego TYPU\n" " -T, --print-type wypisanie typów systemów plików\n" " -x, --exclude-type=TYP pokazanie tylko systemów plików nie tego TYPU\n" " -v (ignorowane)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "LISTA_PÓL zawiera oddzielone przecinaki nazwy pól do uwzglÄ™dnienia. Możliwe\n" "nazwy pól to „sourceâ€, „fstypeâ€, „itotalâ€, „iusedâ€, „iavailâ€, „ipcentâ€,\n" "„sizeâ€, „usedâ€, „availâ€, „pcent†i „target†(zobacz dokumentacjÄ™ info).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "opcje %s i %s wzajemnie siÄ™ wykluczajÄ…" #: src/df.c:1335 msgid "warning: " msgstr "uwaga: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "dÅ‚uga opcja „--megabytes†jest przestarzaÅ‚a i wkrótce bÄ™dzie usuniÄ™ta" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "typ systemu plików %s równoczeÅ›nie wybrany i wykluczony" #: src/df.c:1500 msgid "Warning: " msgstr "Uwaga: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "nie można przeczytać tablicy zamontowanych systemów plików" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "nie zostaÅ‚y przetworzone żadne systemy plików" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [PLIK]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Wypisanie poleceÅ„ ustawiajÄ…cych zmiennÄ… Å›rodowiskowÄ… LS_COLORS.\n" "\n" "Ustalenie formatu:\n" " -b, --sh, --bourne-shell w kodzie powÅ‚oki Bourne'a\n" " -c, --csh, --c-shell w kodzie powÅ‚oki C\n" " -p, --print-database wypisanie wartoÅ›ci domyÅ›lnych\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Jeżeli jest podany PLIK, jest czytany dla okreÅ›lenia jakie kolory sÄ… użyte\n" "z jakimi rozszerzeniami. W przeciwnym wypadku użyta jest wkompilowana baza\n" "danych. Szczegóły formatu tych plików można zobaczyć przez\n" "„dircolors --print-databaseâ€.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: błędna linia, brakuje drugiego sÅ‚owa" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: nierozpoznane sÅ‚owo kluczowe %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<wewnÄ™trzne>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "opcje włączajÄ…ce wyÅ›wietlanie wewnÄ™trznej bazy dircolors i wybranie skÅ‚adni\n" "powÅ‚oki wykluczajÄ… siÄ™ wzajemnie" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "argumenty plikowe nie mogÄ… być użyte razem z opcjÄ… --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "Brak zmiennej Å›rodowiskowej SHELL i opcji typu powÅ‚oki" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "SkÅ‚adnia: %s [OPCJA] NAZWA...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "WyÅ›wietlenie NAZWY bez ostatniego skÅ‚adnika bez ukoÅ›nika albo bez koÅ„cowego\n" "ukoÅ›nika; jeÅ›li NAZWA nie zawiera znaków „/â€, wyÅ›wietlenie „.†(co oznacza\n" "katalog bieżący).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero oddzielanie danych wyjÅ›ciowych znakiem NUL zamiast znakiem\n" " nowej linii\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " %s /usr/bin/ Wynik: \"/usr\".\n" " %s dir1/str dir2/str -> \"dir1\", a po nim \"dir2\"\n" " %s stdio.h Wynik: \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [PLIK]...\n" " albo: %s [OPCJA]... --files0-from=P\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Podsumowuje zajÄ™tość dysku przez każdy PLIK, rekursywnie dla katalogów.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null zakoÅ„czenie każdej linii na wyjÅ›ciu bajtem 0 " "zamiast\n" " znakiem nowej linii\n" " -a, --all podanie podliczenia dla plików, nie samych " "katalogów\n" " --apparent-size podanie rozmiarów pozornych zamiast zużycia dysku;\n" " chociaż rozmiar pozorny jest zwykle mniejszy, " "może\n" " być też wiÄ™kszy z powodu dziur (plików rzadkich -\n" " sparse), wewnÄ™trznej fragmentacji, bloków " "poÅ›rednich\n" " itp.\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=ROZMIAR Skala rozmiarów, np. „-BM†powoduje wypisanie\n" " rozmiarów w jednostkach po 1048576 bajtów.\n" " Zobacz infomacje o formacie ROZMIARÓW poniżej.\n" " -b, --bytes równoważne „--apparent-size --block-size=1â€\n" " -c, --total wypisanie podsumowania caÅ‚oÅ›ci\n" " -D, --dereference-args rozwijanie dowiÄ…zaÅ„ symbolicznych podanych jako\n" " argumenty\n" " -d, --max-depth=N wypisanie sumy dla katalogu (albo pliku - z --all)\n" " tylko jeżeli jest N lub mniej poziomów poniżej\n" " argumentu polecenia; --max-depth=0 jest " "równoważne\n" " --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=PLIK podsumowanie zajÄ™toÅ›ci dysku przez pliki podane w\n" " PLIKU (nazwy zakoÅ„czone przez NUL)\n" " Jeżeli PLIK to -, nazwy czytane sÄ… ze " "standardowego\n" " wejÅ›cia\n" " -H to samo co --dereference-args (-D)\n" " -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K " "234M\n" " 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k, --kilobytes to samo co --block-size=1K\n" " -L, --dereference rozwiniÄ™cie wszystkich dowiÄ…zaÅ„ symbolicznych\n" " -l, --count-links liczenie rozmiaru wielokrotnie jeżeli plik ma\n" " dowiÄ…zania zwykÅ‚e\n" " -m jak dla --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference bez rozwijania dowiÄ…zaÅ„ symbolicznych (domyÅ›lnie)\n" " -S, --separate-dirs bez uwzglÄ™dniania rozmiarów podkatalogów\n" " --si jak -h, ale z użyciem potÄ™g 1000 nie 1024\n" " -s, --summarize wypisanie tylko podsumowaÅ„ dla każdego argumentu\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=ROZMIAR wykluczenie elementów mniejszych niż ROZMIAR, " "jeżeli\n" " jest dodatni, albo wiÄ™kszych niż ROZMIAR, " "jeżeli\n" " jest ujemny\n" " --time pokazanie czasu ostatniej modyfikacji dowolnego " "pliku\n" " w katalogu albo dowolnego podkatalogu tego " "katalogu\n" " --time=SÅOWO zamiast czasu modyfikacji pokazuje czas wg SÅOWA:\n" " atime, access, use, ctime albo status\n" " --time-style=STYL pokazanie czasu w STYLU:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT jest interpretowany jak dla „dateâ€\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X --exclude-from=PLIK pominiÄ™cie plików pasujÄ…cych do wzorców w PLIKU\n" " --exclude=WZÓR pominiÄ™cie plików pasujÄ…cych do WZORU\n" " -x, --one-file-system ominiÄ™cie katalogów bÄ™dÄ…cych w innych systemach\n" " plików\n" #: src/du.c:386 msgid "Infinity" msgstr "nieskoÅ„czoność" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "punkt montowania %s byÅ‚ już odwiedzony" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "błąd fts_read %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "błędny maksymalny poziom zagłębienia %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "błędny argument opcji --threshold: „-0â€" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "nie można równoczeÅ›nie tylko podsumować i wypisać wszystkich danych" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "uwaga: --summarize jest tym samym co --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "uwaga: --summarize nie może być użyte razem z --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" "nie można podawać argumentów plikowych i opcji --files0-from równoczeÅ›nie" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: błąd odczytu" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "przy czytaniu nazw na wejÅ›ciu plik nie może mieć nazwy %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "błędna nazwa pliku o zerowej dÅ‚ugoÅ›ci" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "razem" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "SkÅ‚adnia: %s [KRÓTKA-OPCJA]... [NAPIS]...\n" " albo: %s [DÅUGA-OPCJA]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Powtórzenie NAPISU na standardowym wyjÅ›ciu.\n" "\n" " -n bez powtarzania koÅ„cowego znaku nowej linii\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e włączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym\n" " (domyÅ›lnie)\n" " -E wyłączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e włączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym\n" " -E wyłączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym\n" " (domyÅ›lnie)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Jeżeli jest włączona opcja -e, rozpoznawane sÄ… nastÄ™pujÄ…ce sekwencje:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ ukoÅ›nik odwrotny (backslash)\n" " \\a dzwonek (BEL)\n" " \\b znak cofania (backspace)\n" " \\c zatrzymanie dalszego wyÅ›wietlania\n" " \\e escape\n" " \\f wysuniÄ™cie strony (FF)\n" " \\n znak nowej linii\n" " \\r znak powrotu karetki (CR)\n" " \\t tabulator poziomy\n" " \\v tabulator pionowy\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN znak o kodzie ASCII wynoszÄ…cym NNN (ósemkowo, 1 do 3 cyfr)\n" " \\xHH znak o kodzie ASCII wynoszÄ…cym HH (szestnastkowo, 1 do 2 cyfr)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [-] [NAZWA=WARTOŚĆ]... [POLECENIE [ARGUMENT]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "Ustawienie każdej zmiennej Å›rodowiskowej NAZWA wartoÅ›ci WARTOŚĆ i wykonanie\n" "POLECENIA.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment zaczÄ™cie z pustym Å›rodowiskiem\n" " -0, --null każda linia wyjÅ›ciowa zakoÅ„czona bajtem 0, a nie\n" " znakiem nowej linii\n" " -u, --unset=NAZWA usuniÄ™cie zmiennej ze Å›rodowiska\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Argument - implikuje -i. JeÅ›li nie podano POLECENIA, wyÅ›wietla otrzymane " "Å›rodowisko.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "nie udaÅ‚o siÄ™ usunąć %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "nie można ustawić %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "nie można podać --null (-0) razem z poleceniem" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Zamiana TAB-ów we wszystkich PLIKACH na spacje, wynik na standardowym " "wyjÅ›ciu.\n" "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe\n" "wejÅ›cie.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial bez zamiany znaków tabulacji po znaku innym niż " "odstÄ™p\n" " -t, --tabs=ILE użycie znaków tabulacji co ILE znaków, nie co 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA użycie listy pozycji TABów oddzielanych przecinkami\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "pozycja TABa %s jest za duża" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "rozmiar TABa zawiera błędny znak(i): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "rozmiar TABa nie może wynosić 0" # sizes or positions? - rzm #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "kolejne pozycje TABa muszÄ… rosnąć" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "za dÅ‚uga linia wejÅ›ciowa" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s WYRAÅ»ENIE\n" " albo: %s OPCJA\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Wypisanie wartoÅ›ci WYRAÅ»ENIA na standardowym wyjÅ›ciu. Puste linie poniżej\n" "rozdzielajÄ… grupy o wzrastajÄ…cym pierwszeÅ„stwie. WYRAÅ»ENIE ma postać:\n" "\n" " ARG1 | ARG2 ARG1 jeÅ›li nie jest pusty ani równy 0, inaczej ARG2\n" "\n" " ARG1 & ARG2 ARG1 jeÅ›li żaden argument nie jest pusty ani 0, inaczej " "0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 jest mniejszy od ARG2\n" " ARG1 <= ARG2 ARG1 jest mniejszy lub równy ARG2\n" " ARG1 = ARG2 ARG1 jest równy ARG2\n" " ARG1 != ARG2 ARG1 nie jest równy ARG2\n" " ARG1 >= ARG2 ARG1 jest wiÄ™kszy lub równy ARG2\n" " ARG1 > ARG2 ARG1 jest wiÄ™kszy od ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 arytmetyczna suma ARG1 i ARG2\n" " ARG1 - ARG2 arytmetyczna różnica ARG1 i ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 arytmetyczny iloczyn ARG1 i ARG2\n" " ARG1 / ARG2 arytmetyczny iloraz ARG1 przez ARG2\n" " ARG1 % ARG2 arytmetyczna reszta z dzielenia ARG1 przez ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " NAPIS : WYR_REG dopasowanie wyrażenia regularnego WYR_REG do NAPISU\n" "\n" " match NAPIS WYR_REG tak jak NAPIS : WYR_REG\n" " substr NAPIS POZ DÅUGOŚĆ część NAPISU od POZYCJI liczonej od 1\n" " index NAPIS ZNAKI\t poÅ‚ożenie jednego ze ZNAKÓW w NAPISIE, lub 0\n" " length NAPIS dÅ‚ugość NAPISU\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SÅOWO SÅOWO interpretowane jako napis, nawet jeżeli\n" " jest to sÅ‚owo kluczowe, jak „match†albo\n" " operator jak „/â€\n" "\n" " ( WYRAÅ»ENIE ) wartość WYRAÅ»ENIA\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "WiÄ™kszość operatorów musi być chroniona przed interpretacjÄ… przez powÅ‚okÄ™\n" "znakiem „\\†lub cudzysÅ‚owami. Porównania sÄ… arytmetyczne, jeÅ›li obydwa\n" "ARGUMENTY sÄ… liczbami, w przeciwnym wypadku - leksykograficzne.\n" "Dopasowania zwracajÄ… napis zgodny ze wzorcem zawartym pomiÄ™dzy \\( i \\)\n" "lub 0; jeÅ›li \\( i \\) nie zostaÅ‚y użyte, dopasowanie zwraca liczbÄ™ " "zgodnych\n" "znaków lub 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Status wyjÅ›ciowy jest zerem jeżeli WYRAÅ»ENIE nie ma wartoÅ›ci null ani 0, 1 " "-\n" "jeżeli WYRAÅ»ENIE ma wartoÅ›c null albo 0, 2 - jeżeli WYRAÅ»ENIE ma błąd " "skÅ‚adni,\n" "3 - jeżeli zostaÅ‚ wykryty inny błąd\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "błąd skÅ‚adni" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "błąd procedury dopasowywania wyrażeÅ„ regularnych" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argument niecaÅ‚kowity" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "dzielenie przez zero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Ustaw LC_ALL=C żeby obejść problem" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "Porównywane napisy %s i %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Błąd testu Lucasa na liczby pierwsze. To nie powinno siÄ™ byÅ‚o zdarzyć" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "przepeÅ‚nienie kolejki squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s nie jest poprawnÄ… dodatniÄ… liczbÄ… caÅ‚kowitÄ…" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s jest za duża" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s [LICZBA]...\n" " albo: %s OPCJA\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Wypisuje rozkÅ‚ad każdej z podanych LICZB caÅ‚kowitych na czynniki pierwsze.\n" "Jeżeli argumenty nie sÄ… podane, czyta je ze standardowego wejÅ›cia.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "nie można odczytać bieżącego katalogu" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "nie można przejść do katalogu %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nie można odczytać danych bieżącego katalogu (obecnie %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "SkÅ‚adnia: %s [-SZEROKOŚĆ] [OPCJA]... [PLIK]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Przeformatowanie akapitów w PLIKU(ACH), wynik na standardowym wyjÅ›ciu.\n" "Opcja -SZEROKOŚĆ jest skróconÄ… formÄ… -width=SZEROKOŚĆ.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin zachowanie wcięć w pierwszych dwóch liniach\n" " -p, --prefix=ZNAKI przeformatowanie tylko linii majÄ…cych " "przedrostek\n" " ZNAKI, dołączenie ZNAKÓW do przeformatowych " "linii\n" " -s, --split-only podzielenie dÅ‚ugich linii, ale bez wyrównania\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph wciÄ™cie pierwszej linii inne niż drugiej\n" " -u, --uniform-spacing jedna spacja miÄ™dzy sÅ‚owami, dwie miÄ™dzy " "zdaniami\n" " -w, --width=SZEROKOŚĆ maksymalna SZEROKOŚĆ linii (domyÅ›lnie 75 " "kolumn)\n" " -g, --goal=SZEROKOŚĆ docelowa SZEROKOŚĆ (domyÅ›lnie 93% of szerokoÅ›ci\n" " linii)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "błędna opcja -- %c; opcja -WIDTH jest rozpoznawana tylko jako pierwsza, " "użyj\n" "-w N zamiast" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "błędna szerokość: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Åamanie linii w każdym PLIKU wejÅ›ciowym (domyÅ›lnie standardowym wejÅ›ciu),\n" "wynik na standardowym wyjÅ›ciu.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes liczenie bajtów zamiast kolumn\n" " -s, --spaces Å‚amanie na spacjach\n" " -w, --width=SZER użycie SZER kolumn zamiast 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "błędna liczba kolumn: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "SkÅ‚adnia: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Wypisanie limitów zależnych od systemu w formacie wygodnym dla skryptów\n" "powÅ‚oki.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "nie udaÅ‚o siÄ™ odczytać grupy użytkownika %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "nie udaÅ‚o siÄ™ odczytać grupy bieżącego procesu" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "nie można znaleźć nazwy grupy o ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Wypisuje przynależność do grup każdego UÅ»YTKOWNIKA, a gdy UÅ»YTKOWNIK nie\n" "jest podany - dla bieżącego procesu (po zmianach bazy danych grup mogÄ…\n" "wystÄ…pić różnice).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "nie można ustalić prawdziwego identyfikatora użytkownika" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "nie można ustalić efektywnego identyfikatora grupy" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "nie można ustalić prawdziwego identyfikatora grupy" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: nie ma takiego użytkownika" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Wypisanie 10 pierwszych linii każdego PLIKU na standardowym wyjÅ›ciu.\n" "Dla wiÄ™kszej liczby PLIKÓW każdy kawaÅ‚ek ma nagłówek z nazwÄ….\n" "Jeżeli PLIK nie jest podany albo podany jest jako -, czytane jest\n" "standardowe wejÅ›cie.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]ILE wypisanie pierwszych ILE bajtów z każdego pliku;\n" " ILE z „-†na poczÄ…tku - wypisanie wszystkich\n" " oprócz ostatnich ILE bajtów każdego pliku\n" " -n, --lines=[-]ILE wypisanie pierwszych ILE linii zamiast 10\n" " ILE z „-†na poczÄ…tku - wypisanie wszystkich\n" " oprócz ostatnich ILE linii każdego pliku\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików\n" " -v, --verbose zawsze wypisywane sÄ… nagłówki z nazwami plików\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "N może mieć przyrostek mnożący:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: plik siÄ™ za bardzo zmniejszyÅ‚" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: ilość bajtów jest za duża" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: nie można ustawić pozycji wyjÅ›ciowej" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nie można ustawić pozycji %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: błąd przy ustawianiu wskaźnika do pliku" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "nie można zmienić pozycji w pliku %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s jest tak duża, że nie może zostać wyrażona" #: src/head.c:886 msgid "number of lines" msgstr "liczba linii" #: src/head.c:886 msgid "number of bytes" msgstr "liczba bajtów" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "błędna liczba linii" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "błędna liczba bajtów" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "błędna opcja na koÅ„cu -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]\n" "WyÅ›wietla numeryczny (szesnastkowo) identyfikator tej maszyny.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "SkÅ‚adnia: %s [NAZWA]\n" " albo: %s OPCJA\n" "WyÅ›wietlenie lub ustawienie nazwy tego systemu.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "nie można ustawić nazwy systemu jako %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "ustawienie nazwy systemu jest niemożliwe; ten system nie ma takiej możliwoÅ›ci" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "uzyskanie nazwy systemu jest niemożliwe" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "WyÅ›wietla informacjÄ™ o UÅ»YTKOWNIKU lub o aktualnym użytkowniku albo\n" "o bieżącym użytkowniku, jeżeli nie podano identyfikatora.\n" "\n" " -a ignorowane, dla zachowania kompatybilnoÅ›ci z innymi " "wersjami\n" " -Z, --context wypisanie tylko kontekstu bezpieczeÅ„stwa bieżącego " "użytkownika\n" " -g, --group wypisanie tylko efektywnego identyfikatora grupy\n" " -G, --groups wypisanie peÅ‚nej listy grup\n" " -n, --name wypisanie nazw zamiast numerów, dla -ugG\n" " -r, --real wypisanie rzeczywistego ID zamiast efektywnego, dla -ugG\n" " -u, --user wypisanie tylko efektywnego identyfikatora użytkownika\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Bez żadnych OPCJI wyÅ›wietla zestaw użytecznych informacji, które udaÅ‚o siÄ™\n" "zidentyfikować.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" "opcja --context (-Z) dziaÅ‚a tylko z jÄ…drem systemu z włączonym SELinuksem." #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "nie można wypisać kontekstu bezpieczeÅ„stwa gdy zostaÅ‚ podany użytkownik" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "wybrano wiÄ™cej niż jednÄ… z wyłączajÄ…cych siÄ™ opcji" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "nie da siÄ™ wypisać tylko nazw lub rzeczywistych ID w domyÅ›lnym formacie" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "nie można odczytać kontekstu bezpieczeÅ„stwa procesu" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "nie można ustalić efektywnego identyfikatora użytkownika" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "nie można znaleźć nazwy użytkownika o ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " grupy=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontekst=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "uwaga: %s: nie udaÅ‚o siÄ™ zmienić kontekstu na %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "tworzenie katalogu %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "nie można zmienić wÅ‚aÅ›ciciela na %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "nie można ustawić czasów %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "nie powiodÅ‚o siÄ™ wywoÅ‚anie systemowe fork" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "nie udaÅ‚o siÄ™ uruchomić programu %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "czekanie na program strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "program strip zakoÅ„czony nieprawidÅ‚owo" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "błędny użytkownik %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... -T ŹRÓDÅO CEL\n" " albo: %s [OPCJA]... ŹRÓDÅO... KATALOG\n" " albo: %s [OPCJA]... -t KATALOG ŹRóDÅO...\n" " albo: %s [OPCJA]... -d KATALOG...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Program install kopiuje pliki (czÄ™sto dopiero co skompilowane) do " "docelowych\n" "lokalizacji wybranych przez użytkownika. Zamiast programu install można " "użyć\n" "programu do zarzÄ…dzania pakietami takiego jak np. yum(1) albo apt-get(1), " "który\n" "może skopiować z sieci i zainstalować gotowy do użytku pakiet programów.\n" "\n" "W pierwszych trzech formatach kopiowane jest ŹRÓDÅO do CELU lub wiele " "ŹRÓDEÅ\n" "do istniejÄ…cego KATALOGU i ustawiane sÄ… uprawnienia oraz wÅ‚aÅ›ciciel i " "grupa.\n" "W czwartym formacie tworzone sÄ… wszystkie katalogi skÅ‚adowe podanej Å›cieżki\n" "KATALOGU/ÓW.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=TRYB] robienie kopii zapasowej przed zamazaniem pliku\n" " -b jak --backup, ale bez podawania argumentu\n" " -c (ignorowane)\n" " -C, --compare porównanie wszystkich par plików źródÅ‚owych i\n" " docelowych i, w niektórych przypadkach, odstapienie\n" " od modyfikacji pliku docelowego\n" " -d, --directory traktowanie wszystkich argumentów jako nazw " "katalogów;\n" " tworzenie katalogów skÅ‚adowych podanych katalogów\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D tworzenie wszystkich części skÅ‚adowych CELU, oprócz\n" " ostatniej, potem skopiowanie ŹRÓDÅA do CELU\n" " -g, --group=GRUPA ustawienie GRUPY zamiast bieżącej grupy\n" " -m, --mode=UPRAWNIENIA ustawienie UPRAWNIEŃ (jak w chmod) zamiast rwxr-" "xr-x\n" " -o, --owner=WÅAÅšCICIEL ustawienie WÅAÅšCICIELA (tylko super-user)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps ustawienie plikom docelowym czasów dostÄ™pu i\n" " modyfikacji, jak w odpowiednich plikach ŹRÓDÅOWYCH\n" " -s, --strip skasowanie tablicy symboli\n" " --strip-program=PROGRAM program do kasowania tablicy symboli\n" " -S, --suffix=ROZSZERZ zmiana domyÅ›lnego ROZSZERZENIA kopii zapasowej\n" " -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEÅ do KATALOGU\n" " -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku\n" " -v, --verbose wypisanie nazwy każdego tworzonego katalogu\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context zachowanie kontekstu bezpieczeÅ„stwa SELinux\n" " -Z, --context=KONTEKST ustawienie kontekstu bezpieczeÅ„stwa SELinux dla\n" " plików i katalogów\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "UWAGA: zignorowana opcja --preserve-context, to jÄ…dro nie ma włączonego " "SELinuksa" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "UWAGA: zignorowana opcja --context (-Z), to jÄ…dro nie ma włączonego SELinuksa" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "opcja obcinania (strip) nie może być użyta przy instalowaniu katalogu" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "katalog docelowy nie może być podany przy instalowaniu katalogu" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "nie można wymusić ustawienia kontekstu pliku docelowego na %s i go zachować" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "błędne uprawnienia %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "UWAGA: opcja --strip-program zostaÅ‚a zignorowana, bo nie zostaÅ‚a podana " "opcja -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "opcje --compare (-C) i --preserve-timestamps wzajemnie siÄ™ wykluczajÄ…" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "opcje --compare (-C) i --strip wzajemnie siÄ™ wykluczajÄ…" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "opcja --compare (-C) jest ignorowana jeżeli zostaÅ‚ podany tryb z bitami nie " "bÄ™dÄ…cymi bitami praw dostÄ™pu" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Dla każdej pary linii z identycznymi polami łączÄ…cymi wypisywana jest linia\n" "na standardowym wyjÅ›ciu. DomyÅ›lnie pole łączÄ…ce jest pierwsze i oddzielone\n" "odstÄ™pem. Gdy PLIK1 albo PLIK2 (nie oba) to -, czytane jest standardowe\n" "wejÅ›cie.\n" "\n" " -a NUMER wypisanie również linii nie do pary z pliku NUMER,\n" " gdzie numer to 1 albo 2, odpowiadajÄ…cy PLIKOWI1 albo\n" " PLIKOWI2\n" " -e PUSTE zamiana brakujÄ…cych pól na wejÅ›ciu na PUSTE\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case porównujÄ…c pola ignoruje różnice miÄ™dzy maÅ‚ymi i " "wielkimi\n" " literami\n" " -j POLE równoważne „-j 1 POLE -j 2 POLEâ€\n" " -o FORMAT zachowanie FORMATU przy tworzeniu linii wyjÅ›ciowej\n" " -t ZNAK użycie ZNAKU jako separatora pól linii wej. i wyj.\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMER jak -a NUMER, ale bez wypisania połączonych linii " "wyjÅ›c.\n" " -1 POLE połączenie plików na tym POLU pliku 1\n" " -2 POLE połączenie plików na tym POLU pliku 2\n" " --check-order sprawdzenie czy dane wejÅ›ciowe sÄ… prawidÅ‚owo " "posortowane,\n" " nawet jeżeli wszystkie linie mogÄ… być sparowane\n" " --nocheck-order bez sprawdzenia czy dane wejÅ›ciowe sÄ… prawidÅ‚owo\n" " posortowane\n" " --header traktowanie pierwszych linii plików jako nagłówków, bez\n" " prób ich sparowania\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Jeżeli nie jest podana opcja -t ZNAK, spacje na poczÄ…tku linii oddzielajÄ…\n" "pola i sÄ… ignorowane, w przeciwnym wypadku pola sÄ… oddzielane przez\n" "ZNAK. POLE jest numerem pola liczonym od 1. FORMAT to jedna lub wiÄ™cej\n" "specyfikacji „NUMER.POLE†albo „0â€. DomyÅ›lny FORMAT wypisuje pole łączÄ…ce,\n" "pozostaÅ‚e pola z PLIKU1 i pozostaÅ‚e pola z PLIKU2, wszystkie oddzielone\n" "ZNAKIEM. Jeżeli FORMAT to sÅ‚owo kluczowe „autoâ€, to pierwsza linia każdego\n" "z plików okreÅ›la liczbÄ™ pól wypisywanych w każdej linii\n" "\n" "Ważne: PLIK1 i PLIK2 muszÄ… być posortowane po polu łączÄ…cym.\n" "Np. jeżeli „join†zostaÅ‚ uruchomiony bez opcji użyj przedtem „sort -k " "1b,1â€,\n" "a jeżeli „sort†byÅ‚ uruchomiony bez opcji użyj „join -t ''â€.\n" "Zauważ, że porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami okreÅ›lonymi w \n" "„LC_COLLATEâ€.\n" "Jeżeli dane wejÅ›ciowe nie sÄ… posortowane i niektóre linie nie mogÄ… być\n" "połączone, zostanie wypisane ostrzeżenie.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: nie jest posortowany: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "błędny numer pola: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "błędna specyfikacja pola: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "błędny numer pliku w specyfikacji pola: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "niekompatybilne pola łączenia %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "konflikt napisów zastÄ™pujÄ…cych puste pola" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "wieloznakowy TAB %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "niekompatybilne TABy" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "oba pliki nie mogÄ… być standardowym wejÅ›ciem" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "SkÅ‚adnia: %s [-s SYGNAÅ | -SYGNAÅ] PID...\n" " albo: %s -l [SYGNAÅ]...\n" " albo: %s -t [SYGNAÅ]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "WysyÅ‚a sygnaÅ‚y do procesów albo pokazuje listÄ™ sygnałów.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SYGNAÅ, -SYGNAÅ\n" " nazwa albo numer SYGNAÅU do wysÅ‚ania\n" " -l, --list lista nazw sygnałów albo konwersja nazw na/z numery\n" " -t, --table tablica informacji o sygnaÅ‚ach\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SYGNAÅ może być podany przez nazwÄ™ jak „HUPâ€, numer jak „1†albo jako\n" "status wyjÅ›ciowy procesu zakoÅ„czonego przez sygnaÅ‚.\n" "PID jest liczbÄ… caÅ‚kowitÄ…, jeżeli ujemnÄ…, to oznacza grupÄ™ procesów.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: błędny identyfikator procesu" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "błędna opcja -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: podano wiele sygnałów" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "podano wiele opcji -l lub -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "nie można podać sygnaÅ‚u równoczeÅ›nie z opcjami -l lub -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "brak identyfikatora procesu" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" "nie udaÅ‚o siÄ™ zaalokować %<PRIuMAX> bajtu bufora standardowego wejÅ›cia\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "błędny tryb buforowania %s dla %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "nie udaÅ‚o siÄ™ przestawić buforowania %s do trybu %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s PLIK1 PLIK2\n" " albo: %s OPCJA\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Użycie funkcji link do utworzenia dowiÄ…zania o nazwie PLIK2 do istniejÄ…cego " "PLIKU1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "nie można utworzyć dowiÄ…zania %s do %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: nie można zrobić dowiÄ…zania zwykÅ‚ego do katalogu" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: nie można zamazać katalogu" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: zastÄ…pić %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania symbolicznego %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania symbolicznego %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego do %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [-T] CEL NAZ_DOWIÄ„Z (format pierwszy)\n" " albo: %s [OPCJA]... CEL (format drugi)\n" " albo: %s [OPCJA]... CEL... KATALOG (format trzeci)\n" " albo: %s [OPCJA]... -t KATALOG... CEL... (format czwarty)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "W pierwszej formie - utworzenie dowiÄ…zania do CELU z nazwÄ…\n" "NAZWA_DOWIÄ„ZANIA. W drugiej formie - utworzenie dowiÄ…zania do CELU\n" "w bieżącym katalogu. W trzeciej i czwartej formie - utworzenie dowiÄ…zania\n" "do każdego CELU w KATALOGU.\n" "DomyÅ›lnie tworzone sÄ… zwykÅ‚e dowiÄ…zania (hard links), symboliczne gdy\n" "jest użyta opcja --symbolic.]\n" "DomyÅ›lnie każdy cel (nazwa nowego dowiÄ…zania) nie może jeszcze istnieć.\n" "Przy tworzeniu zwykÅ‚ych dowiÄ…zaÅ„ każdy CEL musi istnieć. DowiÄ…zania\n" "symboliczne mogÄ… zawierać dowolny tekst. Gdy sÄ… później rozwijane,\n" "dowiÄ…zanie ze Å›cieżkÄ… wzglÄ™dnÄ… jest interpretowane wzglÄ™dem katalogu, w\n" "którym siÄ™ znajduje.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=TRYB] zrobienie kopii zapasowej przed skasowaniem\n" " -b jak --backup, ale bez argumentu\n" " -d, -F, --directory administrator może robić dowiÄ…zania zwykÅ‚e do\n" " katalogów (uwaga: prawdopodobnie bez\n" " powodzenia ze wzglÄ™du na ograniczenia\n" " systemowe obowiÄ…zujÄ…ce nawet " "administratora)\n" " -f, --force skasowanie istniejÄ…cych CELÓW bez pytania\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive program pyta czy usunąć CELE\n" " -L, --logical użyj CELÓW, które sÄ… dowiÄ…zaniami " "symbolicznymi\n" " -n, --no-dereference jeżeli NAZWA_DOWIÄ„ZANIA jest dowiÄ…zaniem\n" " symbolicznym do katalogu, traktowany jest " "jak\n" " zwykÅ‚y plik\n" " -r, --relative tworzenie dowiÄ…zaÅ„ symbolicznych wzglÄ™dem ich\n" " poÅ‚ożenia\n" " -s, --symbolic tworzenie dowiÄ…zaÅ„ symbolicznych zamiast " "zwykÅ‚ych\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=ROZSZERZENIE zmiana domyÅ›lnego ROZSZERZENIA kopii " "zapasowej\n" " -t, --target-directory=KATALOG podanie KATALOGU, w którym majÄ… być\n" " tworzone dowiÄ…zania\n" " -T, --no-target-directory traktowanie NAZWY_DOWIAZANIA zawsze jak\n" " zwykÅ‚ego pliku\n" " -v, --verbose wypisanie nazw plików przed dowiÄ…zaniem\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "Jeżeli jest użyta opcja -s, to ignorowane sÄ… opcje -L i -P. W przeciwnym\n" "przypadku ostatnia podana opcja wpÅ‚ywa na zachowanie programu kiedy CELEM\n" "jest dowiÄ…zanie symboliczne, domyÅ›lnie jest to %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "nie można używać równoczeÅ›nie --target-directory i --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "nie można użyć --relative bez --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: nieznany" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "SkÅ‚adnia: %s [OPCJA]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Wypisuje nazwÄ™ aktualnego użytkownika.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "brak nazwy użytkownika" # XXX dyskusyjne - rzm # msgstr "%d.%m.%Y " #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%Y-%m-%d " # XXX dyskusyjne - rzm # msgstr "%d.%m %H:%M" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%m-%d %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignorujÄ™ błędny rozmiar zmiennej Å›rodowiskowej QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorujÄ™ błędnÄ… dÅ‚ugość w zmiennej Å›rodowiskowej COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "ignorujÄ™ błędny rozmiar tab-a w zmiennej Å›rodowiska TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "błędna szerokość linii: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "błędny rozmiar TAB-a: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "błędny format stylu czasu %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "PrawidÅ‚owe argumenty to:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (np., +%H:%M) żeby podać format w stylu „dateâ€\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "błąd inicjalizacji nazw miesiÄ™cy" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "nierozpoznany prefiks: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "niezrozumiaÅ‚a wartość zmiennej Å›rodowiska LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "nie można otworzyć katalogu %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "nie można ustalić urzÄ…dzenia i i-wÄ™zÅ‚a %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: nie bÄ™dzie wylistowany katalog już wylistowany poprzednio" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "czytanie katalogu %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "zamykanie katalogu %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "nie można porównać nazw plików %s i %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Wypisanie informacji o PLIKACH (domyÅ›lnie w katalogu bieżącym). Sortowane\n" "alfabetyczne, jeżeli nie jest podana żadna z opcji -cftuvSUX ani --sort.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all bez ukrywania plików zaczynajÄ…cych siÄ™ od .\n" " -A, --almost-all bez pokazywania . ani ..\n" " --author z -l: wypisanie autora każdego pliku\n" " -b, --escape wypisanie znaków niegraficznych ósemkowo (w " "stylu\n" " jÄ™zyka C, np. \\012)\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=ROZMIAR Skala rozmiarów, np. „--block-size=M†powoduje\n" " wypisanie rozmiarów w jednostkach po 1048576\n" " bajtów.\n" " Zobacz infomacje o formacie ROZMIARÓW " "poniżej.\n" " -B, --ignore-backups bez pokazania plików koÅ„czÄ…cych siÄ™ na ~\n" " -c z -lt: sortowanie wg i wypisanie ctime (czasu\n" " ostatniej modyfikacji danych o pliku)\n" " z -l: wypisanie ctime i sortowanie wg nazw\n" " w przeciwnym przypadku: sortowanie wg ctime,\n" " najnowsze pliki na poczÄ…tku\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C wypisanie plików w kolumnach\n" " --color[=GDY] kolorowanie informacji. GDY to domyslnie " "„alwaysâ€\n" " (zawsze), może być też „never†(nigdy), albo\n" " „auto†(automatyczne)\n" " -d, --directory pokazanie katalogów zamiast ich zawartoÅ›ci, " "bez\n" " rozwiÄ…zywania dowiÄ…zaÅ„ symbolicznych\n" " -D, --dired dane wyjÅ›ciowe dla trybu dired Emacsa\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f bez sortowania, włączenie -aU, wyłączenie -lst\n" " -F, --classify dopisanie znaków wskazujÄ…cych typ każdego\n" " elementu (jednego z */=>@|)\n" " --file-type podobnie, ale oprócz „*â€\n" " --format=SÅOWO across (poziomo), odpowiada opcji -x, commas\n" " (oddzielone przecinkami) -m, horizontal\n" " (poziomo) -x, long (dÅ‚ugi, z dodatkowymi\n" " informacjami) -l, single-column (w jednej\n" " kolumnie) -1, verbose (dÅ‚ugi, z dodatkowymi\n" " informacjami) -l, vertical (pionowy, w\n" " kolumnach) -C\n" " --full-time jak -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g jak -l, ale nie pokazuje wÅ‚aÅ›ciciela\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " wypisanie wszystkich katalogów przed plikami;\n" " ta opcja może być uzupeÅ‚niona opcjÄ… --sort,\n" " ale wyłącza jÄ… użycie opcji --sort=none (-U)\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group bez pokazania informacji o grupach\n" " -h, --human-readable z opcjÄ… -l podaje rozmiary w formacie " "czytelnym\n" " dla ludzi (np. 1K 234M 2G)\n" " --si podobnie, ale z użyciem potÄ™g 1000, nie 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " rozwiÄ…zywanie dowiÄ…zaÅ„ symbolicznych podanych\n" " jako argumenty\n" " --dereference-command-line-symlink-to-dir\n" " rozwiÄ…zywanie dowiÄ…zaÅ„ symbolicznych podanych\n" " jako argumenty jeżeli wskazujÄ… na katalogi\n" " --hide=WZÓR bez wypisywania nazw pasujÄ…cych do WZORU\n" " (wyłączane przez -a albo -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=SÅOWO dodanie wskaźników typów plików w stylu " "SÅOWO:\n" " none (domyÅ›lnie), slash (-p), file-type\n" " (--file-type), classify (-F)\n" " -i, --inode pokazywanie numeru i-wÄ™zÅ‚a każdego pliku\n" " -I, --ignore=WZÓR bez pokazywania plików pasujÄ…cych do shellowego " "WZORU\n" " -k, --kibibytes użycie bloków o rozmiarze 1024 bajtów\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l użycie dÅ‚ugiego formatu wyjÅ›ciowego\n" " -L, --dereference pokazanie informacji o pliku wskazywanym przez\n" " dowiÄ…zanie symboliczne zamiast informacji o\n" " samym dowiÄ…zaniu\n" " -m pisanie do peÅ‚nej szerokoÅ›ci, oddzielanie " "przecinkami\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid jak -l, ale pokazanie UID i GID liczbowo\n" " -N, --literal wypisanie nazwy dokÅ‚adnie (bez specjalnego\n" " traktowania np. znaków sterujÄ…cych)\n" " -o jak -l, ale bez informacji o grupie\n" " -p, --indicator-style=slash dodanie / do nazw katalogów\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars pisanie ? zamiast znaków sterujÄ…cych\n" " --show-control-chars pokazanie znaków niedrukowalnych (domyÅ›lnie, " "chyba\n" " że program nazywa siÄ™ „ls†i pisze na " "terminalu)\n" " -Q, --quote-name ujÄ™cie nazw w cudzysÅ‚owy\n" " --quoting-style=SÅOWO zabezpieczenie znaków specjalnych w stylu " "SÅOWO:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse odwrotny porzÄ…dek sortowania\n" " -R, --recursive rekursywne listowanie katalogów\n" " -s, --size wypisanie liczby bloków zajÄ™tych przez każdy " "plik\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S sortowanie wedÅ‚ug rozmiaru\n" " --sort=SÅOWO sortowanie wg SÅOWA zamiast wg nazw: none -U\n" " (wcale), extension -X (rozszerzenia), size -S\n" " (rozmiaru), time -t (czasu), version -v " "(wersji)\n" " --time=SÅOWO z opcjÄ… -l: pokazanie czasu okreÅ›lonego SÅOWEM, " "a\n" " nie czasu modyfikacji: czas odczytu - atime,\n" " access, use - -u, czas zmiany informacji o " "pliku\n" " - ctime, status - -c; użycie podanego czasu do\n" " sortowania gdy podano --sort=time\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STYL z opcjÄ… -l: pokazanie czasu przy użyciu STYLU:\n" " full-iso, long-iso, iso, locale, +FORMAT\n" " FORMAT jest interpretowany jak w „dateâ€. " "Jeżeli\n" " FORMAT to FORMAT1<znak nowej linii>FORMAT2,\n" " FORMAT1 dotyczy dawniejszych plików, FORMAT2\n" " nowszych. Jeżeli STYL zaczyna siÄ™ od „posix-â€,\n" " STYL jest używany tylko dla locale nie POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t sortowanie wg czasu modyfikacji, najnowsze\n" " na poczÄ…tku\n" " -T, --tabsize=KOLUMNA TAB co tyle KOLUMN, zamiast co 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u z -lt: sortowanie wg czasu i wypisanie czasu\n" " ostatniego dostÄ™pu; z -l: wypisanie czasu\n" " dostÄ™pu i sortowanie wg nazw; w przeciwnym\n" " przypadku: sortowanie wg czasu dostÄ™pu\n" " -U bez sortowania, wypisanie kolejnoÅ›ci jak w\n" " katalogu\n" " -v sortowanie wg liczb (numerów wersji) zawartych\n" " w nazwach plików\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=KOLUMNY przyjÄ™cie takiej szerokoÅ›ci ekranu zamiast\n" " wartoÅ›ci bieżącej\n" " -x wypisanie nazw w kolejnych liniach, nie " "kolumnach\n" " -X sortowanie alfabetyczne wg rozszerzeÅ„\n" " -Z, --context wypisanie kontekstu bezpieczeÅ„stwa SELinuksa\n" " -1 listowanie po jednym pliku w linii\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Używanie kolorów do wyróżnienia typów plików jest wyłączone domyÅ›lnie\n" "albo jeżeli użyta jest opcja --color=never. Przy --color-auto polecenie\n" "ls wysyÅ‚a kody kolorów tylko jeżeli jest połączone z terminalem. Zmienna\n" "Å›rodowiskowa LS_COLORS może zmienić te ustawienia. Można jÄ… ustawić\n" "przy pomocy polecenia dircolors.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Kod wyjÅ›ciowy:\n" " 0 jeżeli bez błędów,\n" " 1 przy drobnych problemach (np. brak dostÄ™pu do podkatalogu),\n" " 2 przy poważnych problemach (np. brak dostÄ™pu do podanego argumentu).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [PLIK]...\n" "Wypisuje albo sprawdza sumy kontrolne %s (%d-bitowe).\n" "Bez podanego PLIKU albo gdy jest podany jako -, czyta standardowe wejÅ›cie.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary czytanie plików w trybie binarnym (domyÅ›lne jeżeli\n" " nie jest czytane tty przez standardowe wejÅ›cie)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary czytanie w trybie binarnym.\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check sprawdzanie sum %s zapisanych w PLIKACH\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag wyliczenie sumy kontrolnej w stylu BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text czytanie plików w trybie tekstowym (domyÅ›lne jeżeli\n" " czytane jest tty przez standardowe wejÅ›cie)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" " -t, --text czytanie plików w trybie tekstowym (domyÅ›lnie)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "NastÄ™pujÄ…ce opcje sÄ… przydatne tylko przy sprawdzaniu sum kontrolnych:\n" " --quiet bez wypisywania OK dla każdego pozytywnie\n" " zweryfikowanego pliku\n" " --status bez wypisywania niczego, kod wyjÅ›cia przekazuje " "wynik\n" " -w, --warn ostrzeganie o niepoprawnie sformatowanych liniach " "sum\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict z --check bÄ™dzie zwracany niezerowy status wyjÅ›cia\n" " jeżeli dane wejÅ›ciowe sÄ… błędne\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Sumy sÄ… liczone wg opisu w %s. Przy sprawdzaniu dane wejÅ›ciowe powinny\n" "być takie jak wygenerowane przez ten program na wyjÅ›ciu. DomyÅ›lny tryb to\n" "wypisanie linii z sumÄ… kontrolnÄ…, znaku wskazujÄ…cego typ („*†- binarny,\n" "spacja - tekstowy) i nazwy każdego PLIKU.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: za dużo linii z sumami kontrolnymi" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: nieprawidÅ‚owo sformatowana linia sumy kontrolnej %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: NIEPOWODZENIE otwarcia lub odczytu\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "NIEPOWODZENIE" #: src/md5sum.c:597 msgid "OK" msgstr "DOBRZE" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: brak poprawnie sformatowanych linii sumy kontrolnej %s" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "UWAGA: %<PRIuMAX> linia jest nieprawidÅ‚owo sformatowana" msgstr[1] "UWAGA: %<PRIuMAX> linie sÄ… nieprawidÅ‚owo sformatowane" msgstr[2] "UWAGA: %<PRIuMAX> linii jest nieprawidÅ‚owo sformatowanych" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "UWAGA: %<PRIuMAX> podany plik nie mógÅ‚ być odczytany" msgstr[1] "UWAGA: %<PRIuMAX> podane pliki nie mogÅ‚y być odczytane" msgstr[2] "UWAGA: %<PRIuMAX> podanych plików nie mogÅ‚o być odczytane" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "UWAGA: %<PRIuMAX> policzona suma siÄ™ NIE zgadza" msgstr[1] "UWAGA: %<PRIuMAX> policzone sumy siÄ™ NIE zgadzajÄ…" msgstr[2] "UWAGA: %<PRIuMAX> policzonych sum siÄ™ NIE zgadza" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag nie może być łączony z trybem --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "opcja --tag nie ma znaczenia przy weryfikacji sum kontrolnych" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "opcje --binary i --text nie majÄ… znaczenia przy weryfikacji sum\n" "kontrolnych" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "opcja --status ma znaczenie tylko przy weryfikacji sum kontrolnych" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "opcja --warn ma znaczenie tylko przy weryfikacji sum kontrolnych" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "opcja --quiet ma znaczenie tylko przy weryfikacji sum kontrolnych" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "opcja --strict ma znaczenie tylko przy weryfikacji sum kontrolnych" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... KATALOG...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Utworzenie KATALOGU/ÓW, jeżeli jeszcze nie istniejÄ….\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=UPRAWN ustawienie uprawnieÅ„ (jak w chmod), nie a=rwx - umask\n" " -p, --parents bez błędu gdy istnieje, utworzenie caÅ‚ej Å›cieżki " "katalogów\n" " -v, --verbose wypisanie komunikatu o każdym utworzonym katalogu\n" " -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinuksa dla\n" " każdego tworzonego katalogu\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "utworzony katalog %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... NAZWA...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Tworzenie nazwanych potoków (pipes, FIFOs) o podanych NAZWACH.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=UPRAWN ustawienie UPRAWNIEŃ zamiast a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinux dla każdej\n" " NAZWY jako KONT\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "błędne uprawnienia" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "mogÄ… być podane ylko bity uprawnieÅ„" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... NAZWA TYP [WIĘKSZY MNIEJSZY]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Utworzenie pliku specjalnego o podanej NAZWIE i TYPIE.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinux dla\n" " NAZWY jako KONT\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Dla TYPÓW b, c i u musi być podany zarówno WIĘKSZY jak MNIEJSZY numer\n" "urzÄ…dzenia. Oba numery muszÄ… być pominiÄ™te jeżeli TYP to p. Jeżeli WIĘKSZY\n" "lub MNIEJSZY zaczyna siÄ™ od 0x albo 0X, jest interpretowany jako liczba\n" "szesnastkowa. Jeżeli zaczyna siÄ™ od 0 - jako ósemkowa. W innych wypadkach -\n" "jako dziÄ™siÄ…tkowa. TYP może być:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b specjalny plik blokowy (buforowany)\n" " c, u specjalny plik znakowy (niebuforowany)\n" " p potok (FIFO)\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Plik specjalny powinien mieć podane wiÄ™kszy i mniejszy numer urzÄ…dzenia" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Potoki nie majÄ… numerów wiÄ™kszych ani mniejszych." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "specjalne pliki blokowe nie sÄ… obsÅ‚ugiwane" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "specjalne pliki znakowe nie sÄ… obsÅ‚ugiwane" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "błędny wiÄ™kszy numer urzÄ…dzenia %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "błędny mniejszy numer urzÄ…dzenia %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "błędne urzÄ…dzenie %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "błędne typ urzÄ…dzenia %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [WZORZEC]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Bezpieczne utworzenie tymczasowego pliku albo katalogu i wypisanie jego " "nazwy.\n" "WZORZEC musi zawierać co najmniej trzy kolejne znaki „X†w ostatniej " "części.\n" "Jeżeli WZORZEC nie jest podany, użyty bÄ™dzie wzorzec tmp.XXXXXXXXXX i " "domyÅ›lna\n" "wartość --tmpdir .\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Pliki sÄ… tworzone z uprawnieniami u+rw, a katalogi z u+rwx minus " "uprawnienia\n" "umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory utworzenie katalogu, nie pliku\n" " -u, --dry-run bez tworzenia pliku/katalogu, tylko wypisanie nazwy\n" " (niebezpieczne)\n" " -q, --quiet wyłączenie komunikatów o błędach tworzenia\n" " plików/katalogów\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=PRZYR dodanie PRZYROSTKA do WZORCA. PRZYROSTEK nie może\n" " zawierać ukoÅ›nika. Ta opcja jest domyÅ›lnie używana\n" " gdy WZORZEC nie koÅ„czy siÄ™ znakiem X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=KATALOG] WZORZEC bÄ™dzie interpretowany wzglÄ™dem KATALOGU. " "Jeżeli\n" " KATALOG nie jest podany, zostanie użyty $TMPDIR, a\n" " jeżeli ta zmienna nie jest ustawiona - /tmp. Jeżeli\n" " jest użyta ta opcja, WZORZEC nie może być Å›cieżkÄ…\n" " bezwzglÄ™dnÄ…. Inaczej niż przy użyciu opcji -t, " "WZORZEC\n" " może zawierać ukoÅ›niki, ale mktemp i tak tworzy " "tylko\n" " ostatni skÅ‚adnik nazwy.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p KATALOG użycie KATALOGU jako przedrostka, włącza opcjÄ™ -t\n" " [przestarzałą]\n" " -t interpretowanie WZORCA jako nazwy podanej wzglÄ™dem\n" " katalogu $TMPDIR, a jeżeli nie jest ustawiony,\n" " katalogu podanego przez opcjÄ™ -p, w innym przypadku\n" " - /tmp [przestarzaÅ‚e]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "nie udaÅ‚o siÄ™ przekierować standardowego wyjÅ›cia błędów do /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "za dużo wzorców" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "przy ożyciu opcjia --suffix wzorzec %s musi koÅ„czyć siÄ™ znakiem X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "błędny przyrostek %s - zawiera separator nazw podkatalogów" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "za maÅ‚o X-ów we wzorcu %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "błędny wzorzec %s - zawiera separator nazw podkatalogów" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "błędny wzorzec %s; nie może być Å›cieżkÄ… bezwzglÄ™dnÄ… jeżeli zostaÅ‚a użyta " "opcja --tmpdir" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "nie udaÅ‚o siÄ™ utworzyć katalogu przy pomocy wzorca %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "nie udaÅ‚o siÄ™ utworzyć pliki przy pomocy wzorca %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Przemianowanie ŹRÓDÅA na CEL albo przeniesienie jednego lub wielu ŹRÓDEÅ\n" "do KATALOGU.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=TRYB] zrobienie kopii zapasowej każdego " "istniejÄ…cego\n" " pliku docelowego\n" " -b jak --backup, ale bez podawania argumentu\n" " -f, --force bez pytania przed zamazaniem pliku\n" " -i, --interactive pytanie przed zamazaniem\n" " -n, --no-clobber bez nadpisywania istniejÄ…cych plików\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes usuniÄ™cie koÅ„cowych ukoÅ›ników z każdego\n" " argumentu ZRÓDÅOWEGO\n" " -S, --suffix=ROZSZERZ zmiana domyÅ›lnego rozszerzenia kopii " "zapasowej\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=KATALOG przeniesienie wszystkich argumentów\n" " ŹRÓDÅOWYCH do KATALOGU\n" " -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku\n" " -u, --update przenoszenie tylko gdy ŹRÓDÅO jest nowsze od\n" " CELU albo nie ma CELU\n" " -v, --verbose wyjaÅ›nianie co siÄ™ dzieje\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "SkÅ‚adnia: %s [OPCJA] [POLECENIE [ARGUMENT]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Uruchomienie POLECENIA ze zmienionym priorytetem, co wpÅ‚ywa na przydziaÅ‚\n" "czasu procesora. Bez POLECENIA wypisuje bieżący priorytet. Priorytet może\n" "mieć wartość od %d (najwiÄ™ksze przydziaÅ‚y czasu) do %d (najmniejsze).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr " -n, --adjustment=N dodanie N do priorytetu (domyÅ›lnie 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "błędny poprawka %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "razem z priorytetem musi być podane polecenie" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "nie można ustalić ile wynosi poprawka" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "ustawienie poprawki niemożliwe" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Wypisanie każdego PLIKU na standardowe wyjÅ›cie z numerami linii.\n" "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest\n" "standardowe wejÅ›cie.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STYL użycie STYLU do numerowania linii treÅ›ci\n" " -d, --section-delimiter=CC użycie CC do oddzielania stron logicznych\n" " -f, --footer-numbering=STYL użycie STYLU do numerowania linii stopek\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STYL użycie STYLU do numeracji linii nagłówka\n" " -i, --page-increment=ILE przyrost numeracji linii dla każdej linii\n" " -l, --join-blank-lines=ILE grupa ILU pustych linii liczona jako " "jedna\n" " -n, --number-format=FORMAT dopisanie numerów linii zgodnie z " "FORMATEM\n" " -p, --no-renumber bez zerowania numeracji na poczÄ…tkach " "stron\n" " logicznych\n" " -s, --number-separator=NAPIS dodanie NAPISU po ewentualnym numerze " "linii\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NUMER NUMER pierwszej linii na stronie " "logicznej\n" " -w, --number-width=ILE ILE kolumn na numery linii\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "DomyÅ›lnie wybrane sÄ… -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC to\n" "dwa ograniczniki oddzielajÄ…ce strony logiczne. Jeżeli brakuje drugiego\n" "przyjmowana jest wartość :. Napisz \\\\ żeby uzyskać \\. STYL to jeden z:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numerowanie wszystkich linii\n" " t numerowanie tylko niepustych linii\n" " n bez numerowania linii\n" " pPODST_WYR_REG numerowanie tylko linii pasujÄ…cych do\n" " PODSTAWOWEGO_WYRAÅ»ENIA_REGULARNAEGO\n" "\n" "FORMAT to jeden z:\n" "\n" " ln dosuniÄ™te do lewej, bez zer na poczÄ…tku\n" " rn dosuniÄ™te do prawej, bez zer na poczÄ…tku\n" " rz dosuniÄ™te do prawej, z zerami na poczÄ…tku\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "przepeÅ‚nienie licznika wierszy" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "błędny styl numerowania nagłówka: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "błędny styl numerownaia treÅ›ci: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "błędny styl numerowania stopek: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "błędny poczÄ…tkowy numer linii: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "błędny przyrost numeru linii: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "błędna liczba pustych linii: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "błędna szerokość pola numeru linii: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "błędny przyrost numeru linii: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s POLECENIE [ARGUMENT]...\n" " albo: %s OPCJA\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "Uruchomienie POLECENIA ignorujÄ…cego sygnaÅ‚y HUP.\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Jeżeli standardowym wejÅ›ciem jest terminal, przekierowany jest do niego\n" "/dev/null .\n" "Jeżeli standardowym wyjÅ›ciem jest terminal, dane wyjÅ›ciowe, bÄ™dÄ… dołączone\n" "do „nohup.out†a jeżeli to niemożliwe, do „$HOME/nohup.outâ€.\n" "Jeżeli standardowe wyjÅ›cie błędów jest terminalem, zostanie przekierowane\n" "na standardowe wyjÅ›cie.\n" "Å»eby zapisać dany wyjÅ›ciowe do PLIKU należy użyć „%s POLECENIE > PLIKâ€.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "nie udaÅ‚o siÄ™ uczynić standardowego wejÅ›cia bezużytecznym" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "zignorowane dane wejÅ›ciowe" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "zignorowanie wejÅ›cia i dołączenie wyników do %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "dołączenie wyników do %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "nie udaÅ‚o siÄ™ zamknąć kopii standardowego wyjÅ›cia przy wykonywaniu exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "zignorowanie wejÅ›cia i przekierowanie standardowego błędu do standardowego " "wyjÅ›cia" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "przekierowanie standardowego wyjÅ›cia błędów do standardowego wyjÅ›cia" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "nie udaÅ‚o siÄ™ przekierować wyjÅ›cia standardowego błędu" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "SkÅ‚adnia: %s [OPCJA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Wypisanie liczby procesorów dostÄ™pnych dla bieżącego procesu. Może być\n" "mniejsza niż liczba włączonych procesorów\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all liczba zainstalowanych procesorów\n" " --ignore=N jeżeli to możliwe, wyłączenie N procesorów\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: błędna liczba do zignorowania" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "wartość za duża żeby mogÅ‚a być przeksztaÅ‚cona: „%sâ€" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "błędna liczba „%sâ€" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "odrzucony przyrostek na wejÅ›ciu: „%s†(rozważ użycie --from)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "błędny przyrostek na wejÅ›ciu: „%sâ€" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "brakujÄ…cy przyrostek „i†na wejÅ›ciu: „%s†(np. Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "błąd przygotowania wartoÅ›ci „%Lf†do drukowania" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "błędny rozmiar jednostki: „%sâ€" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "brak pamiÄ™ci (żądano %zu bajtów)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [LICZBA]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" "Przeformatowanie LICZB/Y ze standardowego wejÅ›cia albo podanych jako " "argumenty.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" " --debug wypisywanie ostrzeżeÅ„ o błędnych danych wejÅ›ciowych\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr " -d, --delimiter=X użycie X zamiast spacji jako separatora pól\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field=N zastÄ™powanie liczby w wejÅ›ciowym polu N (zamiast 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMAT użycie FORMATU w stylu zmiennoprzecinkowego formatu\n" " funkcji printf. Szczegóły w opisie FORMATÓW niżej\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=JEDNOSTKI samoczynne przeskalowanie liczb wejÅ›ciowych do\n" " JEDNOSTEK. DomyÅ›lnie: „none†(„żadneâ€). Zobacz " "spis\n" " JEDNOSTEK poniżej.\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N rozmiar jednostki wejÅ›ciowej (zamiast domyÅ›lnego 1).\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping grupowanie cyfr wg ustawieÅ„ regionalnych (np.\n" " 1.000.000). (wiÄ™c nie dziaÅ‚a dla ustawieÅ„ C/POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] pierwsze N linii zostanie przepisanych bez konwersji.\n" " Jeżeli N nie jest podane, domyslnie jedna.\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=TRYB reakcja na błędne liczby. TRYB to:\n" " abort (zakoÅ„cz; domyÅ›lnie), fail (błąd),\n" " warn (ostrzeżenie), ignore (ignorowanie)\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N dopeÅ‚nienie danych wyjÅ›ciowych do N znaków.\n" " Dodatnie N oznacza dosuniÄ™cie do prawej. Ujemne - " "do\n" " lewej. Jeżeli dane sÄ… szersze niż N znaków, nie sÄ…\n" " dopeÅ‚niane. DomyÅ›lnie dopeÅ‚nienie jest " "automatyczne,\n" " jeżeli napotkane sÄ… odstÄ™py\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=METODA METODA zaokrÄ…glania przy skalowaniu: up (w górÄ™), " "down\n" " (w dół), from-zero (od zera; domyÅ›lnie), towards-" "zero\n" " (w kierunku zera), nearest (najbliższa)\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=PRZYROSTEK dodanie PRZYROSTKA do liczb wyjÅ›ciowych i\n" " akceptowanie opcjonalnego PRZYROSTKA w liczbach\n" " wejÅ›ciowych\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=JEDNOSTKI samoczynne przeskalowanie liczb wyjÅ›ciowych do\n" " JEDNOSTEK. Zobacz opis JEDNOSTEK poniżej.\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" " --to-unit=N rozmiar jednostki wyjÅ›ciowej (zamiast domyÅ›lnego 1).\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "Inne opcje:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" " none bez automatycznego skalowania; przyrostki spowodujÄ… błąd\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto akceptowanie opcjonalnego jedno-dwuliterowago przyrostka:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si akceptowanie opcjonalnego jednoliterowago przyrostka:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec akceptowanie opcjonalnego jednego jednoliterowego przyrostka:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i akcpetowanie opcjonalnego dwuliterowego przyrostka:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "FORMAT musi umożliwiać wypisanie jednego argumentu zmiennoprzecinkowego\n" "„%fâ€. Opcjonalny cudzysłów (%'f) włączy --grouping (grupowanie; jeżeli\n" "umożliwiajÄ… to bieżące ustawienia regionalne). Opcjonalna szerokość (%10f)\n" "dopeÅ‚ni dane wyjÅ›ciowe spacjami. Opcjonalna ujemna szerokość (%-10f) " "dopeÅ‚ni\n" "spacjami od lewej.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Stan wyjÅ›ciowy to 0, jeżeli udaÅ‚o siÄ™ prawidÅ‚owo przeksztaÅ‚cić wszystkie\n" "liczby. DomyÅ›lnie %s zatrzyma siÄ™ przy pierwszym błędzie przeksztaÅ‚cania\n" "ze stanem wyjÅ›ciowym 2. Z opcjÄ… --invalid=fail jest tylko wypisywane\n" "ostrzeżenie dla każdego błędu przeksztaÅ‚cania, a stan wyjÅ›ciowy to 2. Z " "opcjÄ…\n" "--invalid=warn podawane sÄ… informacje diagnostyczne o każdym błędzie\n" "przeksztaÅ‚cania, a stan wyjÅ›ciowy bÄ™dzie miaÅ‚ wartość 0. Z opcjÄ…\n" "--invalid=ignore nie sÄ… podawane informacje diagnostyczne, stan wyjÅ›ciowy\n" "wynosi 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "PrzykÅ‚ady:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "format %s nie ma dyrektywy %%" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "błędny format %s (przepeÅ‚nienie szerokoÅ›ci)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "format %s koÅ„czy siÄ™ %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "błędny format %s, dyrektywa powinna być w postaci %%['][-][N]f" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "format %s ma za dużo dyrektyw %%" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "błędny przyrostek na wejÅ›ciu „%sâ€: „%sâ€" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "wartość zbyt duża żeby jÄ… wypisać: „%Lg†(rozważ użycie --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "wartość zbyt duża żeby jÄ… wypisać: „%Lg†(program nie przetwarza wartoÅ›ci > " "999Y)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "duża wartość wejÅ›ciowa „%sâ€: możliwa utrata precyzji" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "za krótka linia na wejÅ›ciu, w polu %ld nie znaleziono liczb do " "przeksztaÅ‚cenia" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "błędna wartość wypeÅ‚niania „%sâ€" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "błędny numer pola: „%sâ€" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "błędna zawartość nagłówka „%sâ€" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "opcja --grouping nie może być użyta razem z --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "opcja --padding nie może być użyta razem z --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "nie podano opcji przeksztaÅ‚cenia" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "opcja --grouping nie może być użyta razem z --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "grupowanie nie dziaÅ‚a dla tych ustawieÅ„ regionalnych" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" "opcja --header zignorowana w obenoÅ›ci danych wejÅ›ciowych w linii polecenia" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "błąd czytania danych wejÅ›ciowych" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "nie udaÅ‚o siÄ™ przeksztaÅ‚cić niektórych liczb wejÅ›ciowych" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [PLIK]...\n" " albo: %s [-abcdfilosx]... [PLIK] [[+]PRZESUNIĘCIE[.][b]]\n" " albo: %s --traditional [OPCJA]... [PLIK] [[+]PRZESUNIĘCIE[.][b]\n" " [[+]ETYKIETA]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Wypisanie jednoznacznej reprezentacji PLIKU, domyÅ›lnie bajty ósemkowo, na\n" "standardowe wyjÅ›cie. Jeżeli PLIK nie jest podany albo podany jako -,\n" "czytane jest standardowe wejÅ›cie.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Jeżeli i pierwszy i drugi format pasuje do użytej skÅ‚adni, a ostatni " "argument\n" "zaczyna siÄ™ od + albo (w przypadku dwóch argumentów) od cyfry, zakÅ‚ada siÄ™, " "że\n" "zostaÅ‚ użyty format trzeci. PRZESUNIĘCIE oznacza to samo co -j " "PRZESUNIĘCIE.\n" "ETYKIETA to pseudo-adres wypisanego bajtu, zwiÄ™ksza siÄ™ w trakcie pracy\n" "programu. Dla PRZESUNIĘCIA i ETYKIETY przedrostek 0x lub 0X oznacza zapis\n" "szesnastkowy, zapis ósemkowy jest oznaczany przez przyrostek . , a " "przyrostek\n" "b oznacza wielokrotność 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BAZA postać wypisywania pozycji w pliku. BAZA to\n" " jedno z [doxn] dla bazy dziesiÄ™tnej,\n" " ósemkowej, szestnastkowej albo żadnej\n" " -j, --skip-bytes=BAJTY ominiÄ™cie tylu poczÄ…tkowych BAJTÓW każdego " "pliku\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BAJTY ograniczenie wielkoÅ›ci do BAJTÓW\n" " -S BAJTY, --strings[=BAJTY] wypisanie przynajmniej tylu BAJTÓW znaków\n" " graficznych. Trzech, jeżeli nie jest " "podana\n" " liczba BAJTÓW.\n" " -t, --format=TYP wybranie formatu/formatów danych wyjÅ›ciowych\n" " -v, --output-duplicates bez używania * do zaznaczania powtórzonych " "linii\n" " -w, --width[=BAJTY] wypisanie tylu BAJTÓW w każdej linii " "wyjÅ›ciowej.\n" " Jeżeli liczba BAJTÓW jest pominiÄ™ta: 32\n" " --traditional akceptowanie argumentów w tradycyjnym " "formacie\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Tradycyjne specyfikacje formatu mogÄ… być mieszane, akumulujÄ… siÄ™:\n" " -a to samo co -t a, nazwy znaków po zignorowaniu najstarszego bitu\n" " -b to samo co -t o1, bajty ósemkowo\n" " -c to samo co -t c, znaki ASCII lub kody znaków z ukoÅ›nikiem odwrotnym\n" " -d to samo co -t u2, dziesiÄ™tnie liczby 2-bajtowe bez znaku\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f to samo co -t fF, zmiennoprzecinkowo float\n" " -i to samo co -t dI, dziesiÄ™tnie integer\n" " -l to samo co -t dL, dziesiÄ™tnie long\n" " -o to samo co -t o2, ósemkowo 2-bajtowo\n" " -s to samo co -t d2, dziesiÄ™tnie 2-bajtowo\n" " -x to samo co -t x2, szesnastkowo 2-bajtowo\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYP skÅ‚ada siÄ™ z jednej lub wiÄ™cej nastÄ™pujÄ…cych specyfikacji:\n" " a nazwy znaków po zignorowaniu najstarszego bitu\n" " c znaki ASCII lub kody znaków z ukoÅ›nikiem odwrotnym\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[ROZMIAR] dziesiÄ™tny ze znakiem, liczba o takim ROZMIARZE w bajtach\n" " f[ROZMIAR] zmiennoprzecinkowy, liczba o takim ROZMIARZE w bajtach\n" " o[ROZMIAR] ósemkowy, liczba o takim ROZMIARZE w bajtach\n" " u[ROZMIAR] dziesiÄ™tny bez znaku, liczba o takim ROZMIARZE w bajtach\n" " x[ROZMIAR] szesnastkowy, liczba o takim ROZMIARZE w bajtach\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "ROZMIAR jest liczbÄ…. Dla TYPÓW [doux] ROZMIAR może być też C dla\n" "sizeof(char), S dla sizeof(short), I dla sizeof(int) albo L dla\n" "sizeof(long). Jeżeli TYP to f, ROZMIAR może być też F dla sizeof(float), D\n" "dla sizeof(double) albo L dla sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "Dodanie przyrostka do dowolnego typu powoduje pokazanie drukowalnych znaków\n" "na koÅ„cu każdej linii danych wyjÅ›ciowych.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "BAJTY sÄ… podawane jak wartość szestnastkowa z przedrostkiem 0x albo 0X\n" "i może mieć przyrostek mnożący:\n" " b 512\n" " kB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "i tak dalej dla G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "błędna specyfikacja typu %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "błędna specyfikacja typu %s;\n" "ten system nie ma %lu-bajtowych liczb caÅ‚kowitych" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "błędna specyfikacja typu %s;\n" "ten system nie ma %lu-bajtowych liczb zmiennoprzecinkowych" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "błędny znak „%c†w specyfikacji typu %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "nie można przeskoczyć poza koniec połączonych danych wejÅ›ciowych" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "błędna baza danych wyjÅ›ciowych „%câ€; musi to być jeden ze znaków [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "nie można podawać typu przy wypisywaniu napisów" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "tryb zgodny ze starÄ… wersjÄ… może mieć podany najwyżej jeden plik" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "za duże skip-bytes + read-bytes" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "uwaga: błędna szerokość %lu; używam %d zamiast" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: błędny sygnaÅ‚" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standardowe wejÅ›cie jest zamkniÄ™te" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Wypisywanie linii zÅ‚ożonych ze sklejonych kolejnych odpowiadajÄ…cych sobie\n" "linii z każdego PLIKU oddzielonych TABami, na standardowe wyjÅ›cie.\n" "Bez PLIKU albo gdy jest podany jako -, czytane jest standardowe wejÅ›cie.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA użycie kolejnych znaków z LISTY zamiast TABów\n" " -s, --serial przepisanie plików po kolei zamiast równolegle\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "ograniczenie koÅ„ców listy przez ukoÅ›nik odwrotny: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnozowanie błędnych i nieprzenoÅ›nych nazw plików.\n" "\n" " -p sprawdzenie dla wiÄ™kszoÅ›ci systemów POSIX\n" " -P sprawdzenie pustych nazw i poczÄ…tkowych \"-\"\n" " --portability sprawdzenie dla wszystkich systemów POSIX\n" " (równoważne -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "„-†na poczÄ…tku skÅ‚adnika nazwy pliku %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "nieprzenoÅ›ny znak %s w nazwie pliku %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "pusta nazwa pliku" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: nie można ustalić maksymalnej dÅ‚ugoÅ›ci nazwy pliku" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "ograniczenie do %lu przekroczone przez dÅ‚ugość %lu nazwy pliku %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "ograniczenie do %lu przekroczone przez dÅ‚ugość %lu skÅ‚adnika nazwy pliku %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Użytkownik: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "ImiÄ™ i nazwisko: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Katalog: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "PowÅ‚oka: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Użytkownik" #: src/pinky.c:407 msgid "Name" msgstr "Nazwisko" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Bezczynny" #: src/pinky.c:411 msgid "When" msgstr "Kiedy" #: src/pinky.c:414 msgid "Where" msgstr "SkÄ…d" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l wyÅ›wietlenie szczegółowych informacji o UÅ»YTKOWNIKU\n" " -b pominiÄ™cie katalogu domowego i powÅ‚oki użytkownika w\n" " formacie szczegółowym\n" " -h pominiÄ™cie projektu użytkownika w formacie szczegółowym\n" " -p pominiÄ™cie planu użytkownika w formacie szczegółowym\n" " -s wyÅ›wietlenie informacji w formacie skróconym (domyÅ›lnie)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f pominiÄ™cie nagłówków kolumn w formacie skróconym\n" " -w pominiÄ™cie nazwiska użytkownika w formacie skróconym\n" " -i pominiÄ™cie nazwiska i zdalnego systemu w formacie " "skróconym\n" " -q pominiÄ™cie nazwiska, zdalnego system oraz czasu " "bezczynnoÅ›ci\n" " w formacie skróconym\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Uproszczona wersja programu „fingerâ€. WyÅ›wietla informacje o użytkownikach.\n" "Åšcieżka do pliku utmp: %s .\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "brak nazwy użytkownika - musi być podana chociaż jedna, jeżeli użyto opcji -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "„--pages=PIERWSZA_STRONA[:OSTATNIA_STRONA]†- brakujÄ…cy argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "błędny zakres stron %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "„-l DÅ_STRONY†błędna liczba linii: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "„-N LICZBA†błędny numer linii poczÄ…tkowej: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "„-o MARGINES†błędne przesuniÄ™cie linii: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "„-w SZEROKOŚĆ_STRONY†błędna liczba znaków: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "„-W SZEROKOŚĆ_STRONY†błędna liczba znaków: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "przy wypisywaniu równolegÅ‚ym nie można podawać liczby kolumn" # wzdÅ‚uż? - rzm #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "nie można wypisywać równoczeÅ›nie w kolejnych kolumnach i równolegle" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "„-%c†nadmiarowe znaki lub błędna liczba w argumencie: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "szerokość strony za maÅ‚a" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "poczÄ…tkowy numer strony %<PRIuMAX> przekracza liczbÄ™ stron %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "przepeÅ‚nienie licznika stron" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Strona %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Podzielenie na strony lub uÅ‚ożenie w kolumny PLIKU/ÓW do drukowania.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PIERWSZA_STRONA[:OSTATNIA_STRONA], --pages=PIERWSZA_STRONA[:" "OSTATNIA_STRONA]\n" " zaczÄ™cie [zakoÅ„czenie] od strony PIERWSZA_[OSTATNIA_]" "STRONA\n" " -COLUMN, --columns=KOLUMNY\n" " wypisywanie danych w tylu KOLUMNACH i drukowanie kolumn " "od\n" " góry do doÅ‚u, chyba że użyte jest -a. Wyrównanie liczby\n" " linii w kolumnach na każdej stronie.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across kolejne linie bÄ™dÄ… wypisane w kolejnych kolumnach, nie " "po\n" " kolei od góry do doÅ‚u; używa siÄ™ razem z -KOLUMNY\n" " -c, --show-control-chars\n" " użycie zapisu z daszkiem (np. ^G) i ósemkowych numerów\n" " znaków z backslashem\n" " -d, --double-space\n" " podwójny odstÄ™p na wyjÅ›ciu\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " FORMAT daty w nagłówku\n" " -e[ZNAK[SZER]], --expand-tabs[=ZNAK[SZER]]\n" " rozwijanie ZNAKÓW wejÅ›ciowych (TABów) do tej SZERokoÅ›ci " "(8)\n" " -F, -f, --form-feed\n" " do odzielania stron bÄ™dzie użyty znak nowej strony " "zamiast\n" " znaku nowej linii (przez 3-liniowy nagłówek strony z -F\n" " lub 5-liniowy nagłówek i stopkÄ™ bez -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=NAGÅÓWEK\n" " użycie wycentrowanego NAGÅÓWKA zamiast nazwy pliku w\n" " nagłówkach, -h \"\" drukuje pustÄ… linie, nie używaj -h" "\"\"\n" " -i[ZNAK[SZER]], --output-tabs[=ZNAK[SZER]]\n" " zamiana spacji na ZNAKI (TABy) do tej SZEROKOÅšCI (8)\n" " -J, --join-lines\n" " połączenie peÅ‚nych linii, wyłącza obcinanie linii przez\n" " -W, bez wyrównania kolumn, -sep-string[-NAPIS] ustawia\n" " separatory\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=DÅUGOŚĆ_STRONY\n" " ustawienie takiej DÅUGOÅšCI_STRONY w liniach (66)\n" " (domyÅ›lna liczba linii tekstu: 56; dla -F 63)\n" " -m, --merge wypisanie wszystkich plików równolegle, każdy w jednej\n" " kolumnie, linie sÄ… obcinane, ale linie o peÅ‚nej " "dÅ‚ugoÅ›ci\n" " sÄ… łączone przez -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[CYFRY]], --number-lines[=SEP[CYFRY]]\n" " numerowanie linii tyloma CYFRAMI (5), potem SEPARATOREM\n" " (TAB), domyÅ›lnie liczone od pierwszej linii pliku\n" " wejÅ›ciowego\n" " -N, --first-line-number=LICZBA\n" " poczÄ…tek liczenia od LICZBY przy pierwszej linii " "pierwszej\n" " drukowanej strony (zob. +PIERWSZA_STRONA)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGINES\n" " PrzesuniÄ™cie każdej linii o MARGINES (zero) spacji, nie\n" " wpÅ‚ywa na -w ani -W, MARGINES zostanie dodany do\n" " SZEROKOÅšCI_STRONY\n" " -r, --no-file-warnings\n" " bez ostrzeżeÅ„ kiedy plik nie może być otwarty\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ZNAK], --separator[=ZNAK]\n" " oddzielanie kolumn pojedynczym ZNAKIEM, domyÅ›lnie " "TABem,\n" " jeżeli bez opcji -w, „no char†z opcjÄ… -w\n" " -s[ZNAK] wyłącza obcinanie linii we wszystkich 3 " "ukÅ‚adach\n" " kolumn (-COLUMN|-a -COLUMN|-m), chyba że użyto opcji -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[STRING], --sep-string[=STRING]\n" " oddzielenie kolumn przez NAPIS,\n" " bez -S: z opcjÄ… -J domyÅ›lny separator to TAB, bez -J -\n" " spacja (to samo co -S\" \"), nie wpÅ‚ywa na opcje " "dotyczÄ…ce\n" " kolumn\n" " -t, --omit-header bez wypisywania nagłówków i stopek stron\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " bez wypisywania nagłówków i stopek stron, wyłączenie\n" " formatowania stron przez znaki nowej strony w plikach\n" " wejÅ›ciowych\n" " -v, --show-nonprinting\n" " użycie zapisu ósemkowego z backslashem\n" " -w, --width=SZEROKOŚĆ_STRONY\n" " ustawienie SZEROKOÅšCI_STRONY w kolumnach (72), tylko " "dla\n" " wydruku wielokolumnowego, -s[ZNAK] wyłącza wartość\n" " domyÅ›lnÄ… (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=SZEROKOŚĆ_STRONY\n" " ustawienie szerokoÅ›ci strony zawsze do " "SZEROKOÅšCI_STRONY\n" " (72), obcinanie linii, chyba że jest użyta opcja -J; " "nie\n" " przeszkadza opcjom -S ani -s.\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t jest włączane jeżeli DÅUGOŚĆ_STRONY <= 10. Jeżeli PLIK nie jest podany\n" "albo podany jako -, czytane jest standardowe wejÅ›cie.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [ZMIENNA]...\n" "Wypisuje wartoÅ›ci podanych ZMIENNYCH Å›rodowiska.\n" "Jeżeli nie jest podana żadna ZMIENNA Å›rodowiskowa, wypisywane sÄ… nazwy i\n" "wartoÅ›ci wszystkich.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null zakoÅ„czenie linii bajtem 0 zamiast znakiem nowej linii\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "uwaga: %s: znaki nastÄ™pujÄ…ce po staÅ‚ej znakowej zostaÅ‚y zignorowane" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s FORMAT [ARGUMENT]...\n" " albo: %s OPCJA\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Wypisuje ARGUMENT(Y) zgodnie z FORMATEM albo wykonuje zgodnie z OPCJÄ„:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT wyjÅ›cia jak w funkcji C printf. Rozpoznawane sekwencje:\n" "\n" " \\\" cudzysłów\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN bajt o ósemkowej wartoÅ›ci NNN (1 do 3 cyfr)\n" " \\xHH bajt szesnastkowej wartoÅ›ci HH (1 do 2 cyfr)\n" " \\uHHHH znak Unicode (ISO/IEC 10646) o szesnastkowej wartoÅ›ci HHHH (4 " "cyfry)\n" " \\UHHHHHHHH znak Unicode o szesnastkowej wartoÅ›ci HHHHHHHH (8 cyfr)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% pojedynczy %\n" " %b ARGUMENT ze zinterpretowanymi sekwencjami „\\†oprócz\n" " sekwencji ósemkowych, które majÄ… formÄ™ \\0 albo \\0NNN\n" "\n" "i wszystkie specyfikacje formatu C zakoÅ„czone jednym ze znaków\n" "diouxXfeEgGcs z ARGUMENTAMI przeksztaÅ‚conymi najpierw do odpowiednich\n" "typów. SÄ… obsÅ‚ugiwane zmienne szerokoÅ›ci.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: spodziewana wartość liczbowa" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: wartość nie przeksztaÅ‚cona w caÅ‚oÅ›ci" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "brak liczby szesnastkowej w sekwencji" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "błędna nazwa znaku uniwersalnego \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "błędna szerokość pola: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "błąd specyfikacji precyzji: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: błędna specyfikacja przeksztaÅ‚cenia" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "uwaga: nadmiarowe argumenty poczÄ…wszy od %s zostaÅ‚y zignorowane" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (dla wyr. regularnego %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [WEJÅšCIE]... (bez -G)\n" " albo: %s -G [OPCJA]... [WEJÅšCIE [WYJÅšCIE]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "Pokazanie indeksu słów z plików wejÅ›ciowych razem z kontekstem.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference wypisanie automatycznie wygenerowanych\n" " odnoÅ›ników\n" " -G, --traditional zachowanie zgodnoÅ›ci z wersjÄ… „ptx†z " "Systemu V\n" " -F, --flag-truncation=NAPIS użycie NAPISU do zaznaczania wyciÄ™tych " "linii\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=NAZWA NAZWA makra używanego zamiast 'xx'\n" " -O, --format=roff wyjÅ›cie w postaci dyrektyw roff-a\n" " -R, --right-side-refs umieszczenie odnoÅ›ników po prawej, nie\n" " liczone w -w\n" " -S, --sentence-regexp=REGEXP REGEXP dla okreÅ›lenia koÅ„ców linii lub " "zdaÅ„\n" " -T, --format=tex generowanie wyjÅ›cia w postaci dyrektyw TeX-" "a\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP użycie REGEXPa do rozpoznawania słów\n" " kluczowych\n" " -b, --break-file=PLIK znaki rozdzielajÄ…ce sÅ‚owa sÄ… w tym PLIKU\n" " -f, --ignore-case traktowanie maÅ‚ych liter jak wielkich przy\n" " sortowaniu\n" " -g, --gap-size=LICZBA odstÄ™p w kolumnach miÄ™dzy polami " "wyjÅ›ciowymi\n" " -i, --ignore-file=PLIK czytanie listy ignorowanych słów z PLIKU\n" " -o, --only-file=FILE uwzglÄ™dnienie tylko słów z PLIKU\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references pierwsze pole każdej linii jest " "odnoÅ›nikiem\n" " -t, --typeset-mode - nie zaimplementowane -\n" " -w, --width=NUMBER szerokość wyjÅ›cia w kolumnach, bez " "odnoÅ›ników\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe\n" "wejÅ›cie. DomyÅ›lnie użyta jest opcja „-F /â€.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "błędna szerokość odstÄ™pu: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Wypisanie peÅ‚nej nazwy bieżącego katalogu.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical użycie katalogu ze zmiennej Å›rodowiskowej, nawet jeżeli\n" " zawiera dowiÄ…zania symboliczne\n" " -P, --physical unikanie dowiÄ…zaÅ„ symbolicznych\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "nie udaÅ‚o siÄ™ chdir do %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "nie udaÅ‚o siÄ™ stat %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "w %s nie można odnaleźć katalogu z pasujÄ…cym i-wÄ™zÅ‚em" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "zignorowano argumenty nie bÄ™dÄ…ce opcjami" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "SkÅ‚adnia: %s [OPCJA]... PLIK...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Wypisanie dowiÄ…zania symbolicznego albo pierwotnej nazwy pliku\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize doprowadzenie do postaci kanonicznej przez\n" " rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„\n" " symbolicznych we wszystkich skÅ‚adnikach " "danej\n" " nazwy; muszÄ… istnieć wszystkie skÅ‚adniki\n" " oprócz ostatniego\n" " -e, --canonicalize-existing doprowadzenie do postaci kanonicznej przez\n" " rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„\n" " symbolicznych we wszystkich skÅ‚adnikach " "danej\n" " nazwy; muszÄ… istnieć wszystkie skÅ‚adniki\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing doprowadzenie do postaci kanonicznej przez\n" " rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„\n" " symbolicznych we wszystkich skÅ‚adnikach " "danej\n" " nazwy; skÅ‚adniki nie muszÄ… istnieć\n" " -n, --no-newline bez wypisania koÅ„cowego znaku nowej linii\n" " -q, --quiet,\n" " -s, --silent wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach\n" " -v, --verbose wypisywanie komunikatów o błędach\n" " -z, --zero zakoÅ„czenie linii wyjÅ›ciowych znakiem NUL\n" " zamiast znakiem nowej linii\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "zignorowano --no-newline z wielona argumentami" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Wypisuje znalezionÄ… bezwzglÄ™dnÄ… nazwÄ™ pliku;\n" "muszÄ… istnieć wszystkie skÅ‚adowe, poza ostatniÄ…\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing wszystkie elementy Å›cieżki musza istnieć\n" " -m, --canonicalize-missing elementy Å›cieżki nie muszÄ… istnieć\n" " -L, --logical rozwiniÄ™cie elementów „..†przed " "dowiÄ…zaniami\n" " symbolicznymi\n" " -P, --physical rozwiniÄ™cie dowiÄ…zaÅ„ symbolicznych w " "kolejnoÅ›ci\n" " napotkania (zachowanie domyÅ›lne)\n" " -q, --quiet wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach\n" " --relative-to=PLIK wypisanie rozwiniÄ™tych Å›cieżek wzglÄ™dem " "PLIKU\n" " --relative-base=PLIK wypisanie Å›cieżek bezwzglÄ™dnych, chyba że sÄ…\n" " poniżej Å›cieżki PLIKU\n" " -s, --strip, --no-symlinks bez rozwijania dowiÄ…zaÅ„ symbolicznych\n" " -z, --zero separatorem wyjÅ›cia ma być NUL, nie znak\n" " nowej linii\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "tworzenie Å›cieżki wzglÄ™dnej" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: wejść w katalog %s, zabezpieczony przed zapisem? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: przejść do katalogu %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: usunąć zabezpieczony przed zapisem %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: usunąć %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "usuniÄ™ty katalog %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "nie można usunąć katalogu: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "pominiÄ™to %s, bo jest na innym urzÄ…dzeniu" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "błąd przeglÄ…dania: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "nieoczekiwany błąd: fts_info=%d: %s\n" "prosimy o wysÅ‚anie raportu do %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Użyj „%s ./%s†żeby usunąć plik %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Kasowanie (unlink) PLIKU/PLIKÓW.\n" "\n" " -f, --force ignorowanie nieistniejÄ…cych plików i argumentów,\n" " bez pytaÅ„\n" " -i pytanie przez każdym kasowaniem\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I pojedyncze pytanie przez usuniÄ™ciem wiÄ™cej niż " "trzech\n" " plików przy usuwaniu rekursywnym. Mniej\n" " przeszkadzajÄ…ce niż -i, ale nadal zabezpieczajÄ…ce\n" " przed wiÄ™kszoÅ›ciÄ… błędów\n" " --interactive[=KIEDY] pytania zależnie od KIEDY: never (nigdy), once\n" " (raz, -I) albo always (zawsze, -i). Bez KIEDY " "zawsze\n" " jest zadawane pytanie\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system poddczas rekurencyjnego usuwania katalogu pomijane\n" " sÄ… katalogi znajdujÄ…ce siÄ™ na innym systemie " "plików\n" " niż ten, na którym znajduje siÄ™ argument " "polecenia\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root bez traktowania katalogu „/†w specjalny sposób\n" " --preserve-root odmowa usuniÄ™cia „/†(domyslnie)\n" " -r, -R, --recursive usuwanie katalogów z zawartoÅ›ciÄ… rekursywnie\n" " -d, --dir usuwanie pustych katalogów\n" " -v, --verbose wyjaÅ›nianie co siÄ™ dzieje\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "DomyÅ›lnie rm nie usuwa katalogów. Użyj opcji --recursive (albo -r albo -R)\n" "żeby skasować również wszystkie podane katalogi z zawartoÅ›ciÄ….\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Å»eby usunąć plik z nazwÄ… zaczynajÄ…ca siÄ™ od „-â€, np. „-fooâ€, można użyć\n" "jednego z poleceÅ„:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Warto zauważyć, że po usuniÄ™ciu plku przy użyciu „rmâ€, jeżeli dysponuje siÄ™\n" "dostatecznÄ… wiedzÄ… i czasem istnieje możliwość odtworzenia jego zawartoÅ›ci\n" "lub jej części. Jeżeli chcemy mieć wiÄ™kszÄ… pewność, że zawartość pliku " "bÄ™dzie\n" "rzeczywiÅ›cie nie do odtworzenia, należy rozważyć użycie programu shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: usunąć wszystkie argumenty rekursywnie? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: usunąć wszystkie argumenty? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "usuwany katalog %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "nie udaÅ‚o siÄ™ usunąć katalogu %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Usuwanie pustych KATALOGÓW.\n" "\n" " --ignore-fail-on-non-empty\n" " zignorowanie błędów spowodowanych wyłącznie tym, że " "katalog\n" " nie jest pusty\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents usuniÄ™cie KATALOGU, potem próba usuniÄ™cia każdego " "katalogu\n" " nadrzÄ™dnego tej Å›cieżki. Np. „rmdir -p a/b/c†jest " "podobne\n" " do „rmdir a/b/c a/b aâ€.\n" " -v, --verbose informacja diagnostyczna o każdym przetworzonym katalogu\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "nie udaÅ‚o siÄ™ usunąć %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "SkÅ‚adnia: %s KONTEKST POLECENIE [argumenty]\n" " albo: %s [ -c ] [-u UÅ»YTKOWNIK] [-r ROLA] [-t TYP] [-l ZAKRES]\n" " POLECENIE [argumenty]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Uruchomienie programu w innym kontekscie bezpieczeÅ„stwa\n" "Bez KONTEKSTU ani POLECENIA - wypisanie bieżącego kontekstu bezpieczeÅ„stwa.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " KONTEKST peÅ‚ny kontekst bezpieczeÅ„stwa\n" " -c, --compute wyliczenie przejÅ›ciowego kontekstu procesu przez\n" " zmodyfikowaniem kontekstu\n" " -t, --type=TYP typ (dla tej samej roli, w której jest proces\n" " rodzicielski)\n" " -u, --user=UÅ»YTKOWNIK identyfikacja użytkownika\n" " -r, --role=ROLA rola\n" " -l, --range=ZAKRES zakres poziomów\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "wiele ról" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "wiele typów" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "wielu użytkowników" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "wiele zakresów" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "nie udaÅ‚o siÄ™ odczytać bieżącego kontekstu" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "musisz użyć -c, -t -u, -l, -r albo kontekstu" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "brak polecenia" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s może być użyty tylko z jÄ…drem SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "nie udaÅ‚o siÄ™ obliczyć nowego kontekstu" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "nie udaÅ‚o siÄ™ ustawić nowego użytkownika %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "nie udaÅ‚o siÄ™ ustawić nowego typu %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "nie udaÅ‚o siÄ™ ustawić nowego zakresu %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "nie udaÅ‚o siÄ™ ustawić nowej roli %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "nie udaÅ‚o siÄ™ ustawić kontekstu bezpieczeÅ„stwa %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... OSTATNIA\n" " albo: %s [OPCJA]... PIERWSZA OSTATNIA\n" " albo: %s [OPCJA]... PIERWSZA KROK OSTATNIA\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "WyÅ›wietlenie liczb od PIERWSZEJ do OSTATNIEJ z krokiem KROK.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=FORMAT użycie FORMATU w stylu zmiennoprzecinkowego " "formatu\n" " funkcji printf\n" " -s, --separator=NAPIS rozdzielenie liczb NAPISEM (domyÅ›lnie: \\n)\n" " -w, --equal-width wypeÅ‚nienie zerami do równej szerokoÅ›ci\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Jeżeli PIERWSZA lub KROK sÄ… pominiÄ™te, majÄ… domyÅ›lnÄ… wartość 1. Tzn. jeżeli\n" "KROK jest pominiÄ™ty, domyÅ›lnie ma wartość 1, nawet jeżeli OSTATNIA jest\n" "mniejsza od PIERWSZEJ. PIERWSZA, KROK i OSTATNIA sÄ… interpretowane jako\n" "liczby zmiennoprzecinkowe. KROK zwykle jest dodatni, jeÅ›li PIERWSZA jest\n" "mniejsza od OSTATNIEJ, KROK jest zwykle ujemny, jeÅ›li PIERWSZA jest wiÄ™ksza\n" "od OSTATNIEJ.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT musi umożliwiać wypisanie jednego argumentu typu „doubleâ€; domyÅ›lnie\n" "jest to %.DOKÅf jeżeli PIERWSZA, KROK i OSTATNIA sÄ… wszystkie caÅ‚kowite, z\n" "maksymalnÄ… dokÅ‚adnoÅ›ciÄ… DOKÅ albo %g w przeciwnym przypadku.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "błędny argument zmiennoprzecinkowy: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "format %s zawiera nieznanÄ… dyrektywÄ™ %%%c" # ? - rzm #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "nie można podawać formatu, gdy wypisywane sÄ… napisy o równej dÅ‚ugoÅ›ci" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "SkÅ‚adnia: %s [KRÓTKA-OPCJA]... UÅ»YTKOWNIK POLECENIE [ARGUMENT]...\n" " albo: %s DÅUGA-OPCJA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Pozbycie siÄ™ wszystkich dodatkowych grup, przyjÄ™cie identyfikatora i grupy\n" "UÅ»YTKOWNIKA (numerycznego albo nazwy) i wykonanie POLECENIA z podanymi\n" "ARGUMENTAMI. WyjÅ›cie ze statusem 111, jeżeli nie da siÄ™ przyjąć wymaganych\n" "identyfikatorów użytkownika i grupy. W przeciwnym przypadku wyjÅ›cie ze\n" "statusem wyjÅ›ciowym POLECENIA. Ten program jest przydatny tylko jeżeli jest\n" "uruchomiony przez roota (użytkownika o identyfikatorze zero)\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] również ustawienie identyfikatora grupy głównej zgodnie\n" " z numerycznym GID, a identyfikatorów dodatkowych grup -\n" " jeżeli podane - jako GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "nieznany identyfikator użytkownika %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "żeby użyć identyfikatora użytkownika %s trzeba użyć też opcji -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "nie udaÅ‚o siÄ™ ustawić grup dodatkowych" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "nie można ustawić identyfikatora grupy %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "nie można ustawić identyfikatora użytkownika %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Wielokrotne zamazanie podanego PLIKU w celu utrudnienia odzyskania jego\n" "zawartoÅ›ci nawet przy użyciu drogich urzÄ…dzeÅ„ do odzyskiwania danych.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force zmiana uprawnieÅ„ w razie potrzeby, żeby pozwolić na zapis\n" " -n, --iterations=N zamazanie N razy zamiast domyÅ›lnych %d razy\n" " --random-source=PLIK pobranie losowych bajtów z PLIKU\n" " -s, --size=N zamazanie N bajtów (można używać przyrostków takich jak K,\n" " M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove skrócenie i skasowanie pliku po zamazaniu\n" " -v, --verbose pokazywanie przebiegu zamazywania\n" " -x, --exact bez zaokrÄ…glania rozmiarów plików w górÄ™ do peÅ‚nych " "bloków,\n" " domyÅ›lnie dla plików innych niż zwykÅ‚e\n" " -z, --zero dodatkowe zamazanie zerami, aby ukryć zamazywanie\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Jeżeli PLIK jest podany jako -, zamazywane jest standardowe wyjÅ›cie.\n" "\n" "Jeżeli podana jest opcja --remove (-u) PLIK jest kasowany. DomyÅ›lnie PLIK\n" "nie jest kasowany, ponieważ czÄ™sto operacje dotyczÄ… plików urzÄ…dzeÅ„, jak\n" "/dev/hda, a takie pliki zwykle nie powinny być usuwane. Przy zamazywaniu\n" "zwykÅ‚ych plików zwykle używa siÄ™ opcji --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "UWAGA: Należy pamiÄ™tać, że shred opiera siÄ™ na ważnym zaÅ‚ożeniu: że system\n" "plików zamazuje dane w tym samym miejscu, gdzie je pierwotnie zapisaÅ‚. Tak\n" "dzieje siÄ™ tradycyjnie, ale wiele nowoczesnych systemów plików tak nie " "robi.\n" "Z nastÄ™pujÄ…cymi systemami plików shred nie dziaÅ‚a efektywnie albo nie ma\n" "gwarancji, że dziaÅ‚a efektywnie we wszystkich trybach pracy systemu plików:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* opartymi na logowaniu i journalingu, jak dostarczane z AIXem i Solarisem\n" " (oraz JFS, ReiserFS, XFS, Ext3 itd.)\n" "\n" "* takimi, które zapisujÄ… dane na dodatkowych dyskach i kontynuujÄ… pracÄ™,\n" " nawet jeżeli nie udajÄ… siÄ™ niektóre operacje zapisu, jak systemy plików\n" " oparte na RAID\n" "\n" "* które zapisujÄ… stan chwilowy, jak serwer NFS Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* używajÄ…cymi tymczasowego cache'a, jak klient wersji 3 NFS\n" "\n" "* kompresowanymi\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "W przypadku systemu plików ext3 powyższe uwagi majÄ… znaczenie (a shred ma\n" "wtedy ograniczona efektywność) tylko w trybie data=journal, w którym\n" "journallingowi podlega oprócz metadanych również zawartość pliku. Zarówno w\n" "trybie data=ordered (domyÅ›lny) jak data=writeback shred dziaÅ‚a jak " "zazwyczaj.\n" "Tryb jourinallingu ext3 może byc zmieniony przez dodanie opcji data=opcja " "do\n" "opcji mount-a dla danego systemu plików w pliku /etc/fstab, jak podaje " "manual\n" "(man mount)\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Dodatkowo backupy i zdalne kopie mogÄ… zawierać egzemplarze tego samego " "pliku,\n" "które nie mogÄ… zostać usuniÄ™te i plik zamazany schredem może zostać\n" "odtworzony.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: błąd fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: błąd fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: nie można przewinąć" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: przebieg %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: błąd zapisu na pozycji %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: nie udaÅ‚o siÄ™ ustawienie pozycji lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: plik jest za duży" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: przebieg %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: przebieg %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: błąd fstat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: błędny typ pliku" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: plik ma ujemny rozmiar" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: błąd obcinania" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: błąd fcntl" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: nie można zamazywać pliku tylko do dopisywania" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: usuwanie" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: przemianowany na %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: błąd przy kasowaniu pliku" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: skasowany" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: błąd przy zamykaniu pliku" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: błąd przy otwieraniu do zapisu" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: błędna liczba przebiegów" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "podano wiele źródeÅ‚ losowych bajtów" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: błędny rozmiar pliku" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "SkÅ‚adnia: %s [OPCJA]... [PLIK]\n" " albo: %s -e [OPCJA]... [ARGUMENT]\n" " albo: %s -i LO-HI [OPCJA]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Wypisanie losowej permutacji linii wejÅ›ciowych na standardowym wyjÅ›ciu.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo traktowanie każdego argumentu jako linii\n" " wejÅ›ciowej\n" " -i, --input-range=LO-HI traktowanie każdej liczby od LO do HI jako " "linii\n" " wejÅ›ciowej\n" " -n, --head-lines=LICZBA najwyżej taka LICZBA linii bÄ™dzie zapisana na\n" " wyjÅ›ciu\n" " -o, --output=PLIK zapis wyników do PLIKU zamiast do standardowego\n" " wyjÅ›cia\n" " --random-source=PLIK pobranie losowych bajtów z PLIKU\n" " -z, --zero-terminated zakoÅ„czenie linii przez bajt 0, nie przez znak\n" " nowej linii\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "podano wiele opcji -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "błędny zakres wejÅ›ciowy: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "błędna liczba linii %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "podano wiele plików wyjÅ›ciowych" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "SkÅ‚adnia: %s ILE[PRZYROSTEK]...\n" " albo: %s OPCJA\n" "Czekanie przez okreÅ›lonÄ… LICZBĘ sekund. PRZYROSTKIEM może być „s†dla\n" "oznaczenia sekund (domyÅ›lnie), „m†- minut, „h†- godzin i „d†- dni. " "Inaczej\n" "niż w wiÄ™kszoÅ›ci implementacji, w których ILE musi być liczbÄ… caÅ‚kowitÄ…, " "tutaj\n" "ILE może być dowolnÄ… liczbÄ… zmiennoprzecinkowÄ…. Jeżeli podane sÄ… dwa lub\n" "wiÄ™cej argumenty, przerwa trwa tyle ile suma ich wartoÅ›ci.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "błędny odstÄ™p czasowy %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "nie można odczytać zegara systemowego" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Wypisanie posortowanego połączenia wszystkich PLIK(ÓW) na standardowym " "wyjÅ›ciu\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opcje porzÄ…dkowania:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks zignorowanie poczÄ…tkowych spacji\n" " -d, --dictionary-order branie pod uwagÄ™ tylko znaków odstÄ™pu i\n" " alfanumerycznych\n" " -f, --ignore-case traktowanie maÅ‚ych liter jak wielkich\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort porównywanie wedÅ‚ug wartoÅ›ci liczbowej\n" " -i, --ignore-nonprinting branie pod uwagÄ™ tylko znaków drukowalnych\n" " -M, --month-sort porzÄ…dek: (nieznany) < „JAN†< ... < „DECâ€\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort porównanie liczb z przyrostkami (np. 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort porównywanie wedÅ‚ug wartoÅ›ci liczbowych " "napisów\n" " -R, --random-sort sortowanie wg losowego skrótu kluczy\n" " --random-source=PLIK losowe bajty z PLIKU\n" " -r, --reverse odwrotny porzÄ…dek sortowania\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=SÅOWO sortowanie wg SÅOWA:\n" " general-numeric (liczbowe) -g, human-" "numeric\n" " (liczbowe ludzkie) -h, month (miesiÄ™cy) -M,\n" " numeric (liczbowe) -n, random (losowe) -R,\n" " version (wersji) -V\n" " -V, --version-sort sortowanie wg liczb (numerów wersji) " "zawartych\n" " w tekÅ›cie\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Inne opcje:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=POÅÄ„CZN łączenie najwyżej POÅÄ„CZN plików wejÅ›ciowych\n" " naraz; dla wiÄ™kszej liczby użyte bÄ™dÄ… pliki\n" " tymczasowe\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first sprawdzenie czy dane sÄ…\n" " posortowane, ale bez sortowania\n" " -C, --check=quiet, --check=silent jak -c, ale bez informowania o\n" " pierwszej zÅ‚ej linii\n" " --compress-program=PROG kompresowanie plików tymczasowych przez " "PROG;\n" " dekompresowanie przez PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug zanotowanie która część linii zostaÅ‚a użyta do\n" " posortowania i ostrzeganie o niewÅ‚aÅ›ciwym\n" " użyciu przez standardowe wyjÅ›cie błędu\n" " --files0-from=P dane wejÅ›ciowe bÄ™dÄ… czytane z plików\n" " rozdzielonych znakiem NUL, podanych w pliku P\n" " Jeżeli PLIK to -, nazwy czytane sÄ… ze\n" " standardowego wejÅ›cia\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KLUCZ sortowanie wg KLUCZA okreÅ›lajÄ…cego pola i typ\n" " -m, --merge połączenie już posortowanych plików, bez " "sortowania\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=PLIK zapisanie wyniku w PLIKU zamiast na " "standardowym\n" " wyjÅ›ciu\n" " -s, --stable stabilizacja sortowania przez zablokowanie\n" " porównania koÅ„cowego\n" " -S, --buffer-size=ROZM ROZMIAR głównego bufora pamiÄ™ci\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP użycie SEPARATORA zamiast przejÅ›cia\n" " odstÄ™p - nie-odstÄ™p\n" " -T, --temporary-directory=KATALOG użycie KATALOGU na pliki tymczasowe\n" " zamiast $TMPDIR lub %s; opcja użyta\n" " wiÄ™cej razy definiuje wiÄ™cej katalogów\n" " --parallel=N zmiana liczby równolegÅ‚ych sortowaÅ„ na N\n" " -u, --unique z -c: sprawdzenie uporzÄ…dkowania; bez -c:\n" " wypisanie tylko pierwszej z identycznych " "linii\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated zakoÅ„czenie linii bajtem 0 zamiast znakiem " "nowej\n" " linii\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "KLUCZ okreÅ›lajÄ…cy poczÄ…tkowe i koÅ„cowe pole to P[.Z][OPCJE][,P[.Z][OPCJE]],\n" "gdzie P jest numerem pola, a Z pozycjÄ… znaku w polu; oba liczone od " "jedynki,\n" "a pole koÅ„cowe to koniec linii. Jeżeli nie jest użyta opcja -t ani -b, " "znaki\n" " w polu sÄ… liczone do poczÄ…tku poprzedzajÄ…cego odstÄ™pu. OPCJE zawierajÄ… " "jednÄ…\n" "lub wiÄ™cej jednoliterowych opcji porzÄ…dkujÄ…cych [bdfgiMhnRrV], które dla " "tego\n" "klucza sÄ… ważniejsze niż opcje globalne. Jeżeli nie jest podany klucz, caÅ‚a\n" "linia jest używana jako klucz.\n" "\n" "ROZMIAR może być uzupeÅ‚niony o nastÄ™pujÄ…ce mnożniki:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% - 1% pamiÄ™ci, b - 1, K - 1024 (domyÅ›lnie) itd. dla M, G, T, P, E, Z, Y.\n" "\n" "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe\n" "wejÅ›cie\n" "\n" "*** UWAGA ***\n" "Locale ustawione przez zmienne Å›rodowiskowe wpÅ‚ywa na porzÄ…dek sortowania.\n" "Ustaw LC_ALL=C żeby przywrócić tradycyjny porzÄ…dek sortowania, który używa\n" "dosÅ‚ownych wartoÅ›ci bajtów.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "czekanie na %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] zakoÅ„czone nieprawidÅ‚owo" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "nie można utworzyć pliku tymczasowego w %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "błąd otwierania pliku" #: src/sort.c:970 msgid "fflush failed" msgstr "błąd fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "błąd zamykania pliku" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "błąd dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nie udaÅ‚o siÄ™ uruchomić %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "nie udaÅ‚o siÄ™ utworzyć pliku tymczasowego" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "nie udaÅ‚o siÄ™ uruchomić procesu %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nie udaÅ‚o siÄ™ uruchomić %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "uwaga: nie udaÅ‚o siÄ™ usunąć %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "błędny argument opcji --%s: %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "minimalna wartość argumentu opcji --%s to %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "opcja --%s ma za duży argument %s" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "przy aktualnej wartoÅ›ci rlimit maksymalny argument opcji --%s to %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "liczba równolegÅ‚ych sortowaÅ„ (parallel) musi byc niezerowy" #: src/sort.c:1494 msgid "stat failed" msgstr "błąd stat" #: src/sort.c:1755 msgid "read failed" msgstr "błąd czytania" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "nie udaÅ‚o siÄ™ przeksztaÅ‚cenie napisu" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "nieprzeksztaÅ‚conym napisem byÅ‚ %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ brak dopasowania klucza\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" "zostaÅ‚ użyty zdezaktualizowany klucz %s, rozważ użycie %s zamiast niego" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "klucz %lu ma zerowÄ… dÅ‚ugość i bÄ™dzie zignorowany" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "poczÄ…tkowe odstÄ™py sÄ… znaczÄ…ce w kluczu %lu, rozważ podanie „bâ€" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "klucz %lu jest numeryczny i rozciÄ…ga siÄ™ na wiele pól" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "opcja „-%s†zostaÅ‚a zignorowana" msgstr[1] "opcje „-%s†zostaÅ‚y zignorowane" msgstr[2] "opcji „-%s†zostaÅ‚o zignorowanych" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "opcja „-r†ma zastosowanie tylko do porównaÅ„ ostatniej szansy" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "błąd zapisu" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: nieuporzÄ…dkowanie: " #: src/sort.c:2786 msgid "standard error" msgstr "standardowe wyjÅ›cie błędów" #: src/sort.c:3698 msgid "cannot read" msgstr "nie można przeczytać" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: błędna specyfikacja pola %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "opcje „-%s†nie pasujÄ… do siebie" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: błędna liczba na poczÄ…tku %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "błędna liczba po „-â€" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "błędna liczba po „.â€" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "nieprawidÅ‚owy znak w specyfikacji pola" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "podano wiele programów kompresujÄ…cych" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "błędna liczba na poczÄ…tku pola" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "numer pola wynosi zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "numer znaku wynosi zero" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "błędna liczba po „,â€" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "pusty TAB" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "nie można wczytać nazw plików z %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: błędna nazwa pliku - o zerowej dÅ‚ugoÅ›ci" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "brak danych z %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "użycie reguÅ‚ sortowania %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "użycie prostego porównywania bajtów" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "dodatkowy argument %s nie może być użyty z opcjÄ… -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "przystek musi mieć co najmniej %zu znaków" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [PLIK [PRZEDROSTEK]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Zapisanie równych kawaÅ‚ków PLIKU do PRZEDROSTEKaa, PRZEDROSTEKab, ...;\n" "domyÅ›lny rozmiar to 1000 linii, domyslny PRZEDROSTEK to „xâ€. Jeżeli PLIK " "nie\n" "jest podany albo podany jako -, czytane jest standardowe wejÅ›cie\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N tworzenie przyrostków o dÅ‚ugoÅ›ci N (domyÅ›lnie %d)\n" " --additional-suffix=PRZYROSTEK dodatkowy PRZYROSTEK nazm plików\n" " -b, --bytes=ROZMIAR zapisanie po ROZMIAR bajtów do plików wyjÅ›ciowych\n" " -C, --line-bytes=ROZMIAR zapisanie najwyżej ROZMIAR bajtów peÅ‚nych linii\n" " -d, --numeric-suffixes[=OD] użycie przyrostków liczbowych zamiast\n" " literowych, OD zmienia wartość poczÄ…tkowÄ…\n" " (domyÅ›lnie 0)\n" " -e, --elide-empty-files nie generowanie pustych plików przy opcji „-nâ€\n" " --filter=POLECENIE pisanie do POLECENIA powÅ‚oki; nazwa pliku to " "$FILE\n" " -l, --lines=ILE zapis po ILE linii do każdego pliku wyjÅ›ciowego\n" " -n, --number=CZĘŚCI podzielenie na tyle CZĘŚCI. Zob. poniżej\n" " -u, --unbuffered natychmiastowe kopiowanie wejÅ›cia na wyjÅ›cie po\n" " użyciu „-n r/...â€\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose przed otwarciem każdego pliku wypisanie " "komunikatów\n" " diagnostycznych\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "Sposób podziaÅ‚u na CZĘŚCI:\n" "N podziaÅ‚ na N plików na podstawie rozmiaru danych\n" "K/N K-ta CZĘŚĆ z N wysÅ‚ana na standardowe wyjÅ›cie\n" "l/N podziaÅ‚ na N plików bez dzielenia linii\n" "l/K/N K-ta CZĘŚĆ z N wysÅ‚ana na standardowe wyjÅ›cie,\n" " podziaÅ‚ bez dzielenia linii\n" "r/N jak „lâ€, ale kolejne linie wysyÅ‚ane do kolejnych plików\n" "r/K/N jak wyżej, ale tylko K-ta część N wysÅ‚ana na standardowe\n" " wyjÅ›cie\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "zabrakÅ‚o przyrostków plików wyjÅ›ciowych" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "tworzenie pliku %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s nadpisaÅ‚by dane wejÅ›ciowe; zatrzymanie pracy" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "nie udaÅ‚o siÄ™ ustawić zmiennej Å›rodowiskowej FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "wykonywanie z FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "nie udaÅ‚o siÄ™ utworzyć potoku" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "zamykanie potoku" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "zamkniÄ™cie potoku wyjÅ›ciowego" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "zamykanie potoku wejÅ›ciowego" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "zamykanie potoku wejÅ›ciowego" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "nie udaÅ‚o siÄ™ uruchomić polecenia \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "nie udaÅ‚o siÄ™ zamknąć potoku wejÅ›ciowego" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "czekanie na proces potomny" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "podczas gdy FILE=%s, sygnaÅ‚ %s z polecenia %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "podczas gdy FILE=%s, status wyjÅ›cia %d polecenia %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "nieznany kod wyjÅ›ciowe polecenia (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "nie można podzielić na wiÄ™cej niż jeden sposób" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: błędna liczba części" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: błędny numer części" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: błędna dÅ‚ugość przyrostka" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: błędna liczba bajtów" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: błędna liczba linii" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "za duża ilość linii w opcji -%s%c..." #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: błędna poczÄ…tkowa wartość przyrostka liczbowego" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: błędny rozmiar bloku IO" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter nie przekazaÅ‚ przetworzonego fragmentu do wyjÅ›cia" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "poczÄ…tkowa wartość przyrostka liczbowego jest za duża jak na jego dÅ‚ugość" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: niemożliwe ustalenie rozmiaru pliku" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "nie udaÅ‚o siÄ™ kanonizować %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "uwaga: nierozpoznana sekwencja „\\%câ€" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: błędna dyrektywa" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "uwaga: ukoÅ›nik odwrotny na koÅ„cu formatu" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "użycie %s jako oznaczenia standardowego wejÅ›cia nie dziaÅ‚a w trybie systemu " "plików" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "nie można przeczytać informacji systemowych o %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "nie można pobrać informacji o standardowym wejÅ›ciu" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Plik: \"%n\"\n" " ID: %-8i dÅ‚ugość nazwy: %-7l typ: %T\n" "rozmiar bloku: %-10s podstawowy rozmiar bloku: %S\n" "bloków: Razem: %-10b wolnych: %-10f dostÄ™pnych: %a\n" "Inody: razem: %-10c wolnych: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Plik: %N\n" " rozmiar: %-10s\tbloków: %-10b bloki I/O: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "UrzÄ…dzenie: %Dh/%dd\tinody: %-10i dowiÄ…zaÅ„: %-5h typ: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "UrzÄ…dzenie: %Dh/%dd\tinody: %-10i dowiÄ…zaÅ„: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "DostÄ™p: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontekst: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "DostÄ™p: %x\n" "Modyfikacja: %y\n" "Zmiana: %z\n" "Utworzenie: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Wypisanie stanu pliku albo systemu plików\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Pokazanie danych pliku albo systemu plików\n" " -L, --dereference podążanie za dowiÄ…zaniami symbolicznymi\n" " -f, --file-system pokazanie danych systemu plików, a nie pliku\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT użycie podanego FORMATU zamiast domyÅ›lnego; po\n" " użyciu każdego nowego FORMATU wypisywany jest " "znak\n" " nowej linii\n" " --printf=FORMAT jak --format, ale z interpretacjÄ… sekwencji z\n" " ukoÅ›nikiem odwrotnym i bez wypisywania znaku " "nowej\n" " linii. Å»eby go wypisać użyj \\n w FORMACIE.\n" " -t, --terse wypisywanie informacji w skróconej formie\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "PrawidÅ‚owe specyfikacje formatu dla plików (bez opcji --file-system):\n" "\n" " %a prawa dostÄ™pu ósemkowo\n" " %A prawa dostÄ™pu w postaci czytelnej dla czÅ‚owieka\n" " %b liczba zajÄ™tych bloków (zobacz %B)\n" " %B rozmiar w bajtach każdego bloku podanego przez %b\n" " %C kontekst bezpieczeÅ„stwa SELinuksa\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d numer urzÄ…dzenia dziesiÄ™tnie\n" " %D numer urzÄ…dzenia szesnastkowo\n" " %f tryb surowy, szesnastkowo\n" " %F typ pliku\n" " %g numer grupy wÅ‚aÅ›ciciela pliku\n" " %G nazwa grupy wÅ‚aÅ›ciciela pliku\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h liczba dowiÄ…zaÅ„ zwykÅ‚ych\n" " %i numer i-wÄ™zÅ‚a\n" " %m miejsce zamontowania\n" " %n nazwa pliku\n" " %N nazwa pliku w cudzysÅ‚owach, rozwiÄ…zana jeżeli dowiÄ…zanie symboliczne\n" " %o optymalny rozmiar rozmiar wiekoÅ›ci transferu wejÅ›cia/wyjÅ›cia\n" " %s caÅ‚kowity rozmiar w bajtach\n" " %t wiÄ™kszy numer urzÄ…dzenia szesnastkowo\n" " %T mniejszy numer urzÄ…dzenia szesnastkowo\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u identyfikator wÅ‚aÅ›ciciela\n" " %U nazwa wÅ‚aÅ›ciciela\n" " %w czytelny dla czÅ‚owieka czas utworzenia pliku albo - jeżeli nieznany\n" " %W czas utworzenia pliku w sekundach od Epoki albo - jeżeli nieznany\n" " %x czytelny dla czÅ‚owieka czas ostatniego czytania\n" " %X czas ostatniego czytania w sekundach od Epoki\n" " %y czytelny dla czÅ‚owieka czas ostatniej modyfikacji\n" " %Y czas ostatniej modyfikacji w sekundach od Epoki\n" " %z czytelny dla czÅ‚owieka czas ostatniej zmiany czasu\n" " %Z czas ostatniej zmiany czasu w sekundach od Epoki\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "PrawidÅ‚owe specyfikacje formatu dla systemów plików:\n" "\n" " %a liczba wolnych bloków dostÄ™pnych dla zwykÅ‚ego użytkownika\n" " %b caÅ‚kowita liczba bloków danych w systemie plików\n" " %c caÅ‚kowita liczba i-wÄ™złów w systemie plików\n" " %d liczba wolnych i-wÄ™złów w systemie plików\n" " %f liczba wolnych bloków w systemie plików\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i identyfikator systemu plików szesnastkowo\n" " %l maksymalna dÅ‚ugość nazw plików\n" " %n nazwa pliku\n" " %s optymalny rozmiar bloku przy zapisie/odczycie\n" " %S Podstawowy rozmiar bloku (dla zliczeÅ„ bloków)\n" " %t rodzaj systemu plików szesnastkowo\n" " %T rodzaj systemu plików w formie czytelnej dla czÅ‚owieka\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "SkÅ‚adnia: %s OPCJA... POLECENIE\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Uruchamia POLECENIE ze zmodyfikowanymi operacjami buforowania jego " "standardowych strumieni.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=TRYB modyfikacja buforowania standardowego wejÅ›cia\n" " -o, --output=TRYB modyfikacja buforowania standardowego wyjÅ›cia\n" " -e, --error=TRYB modyfikacja buforowania standardowego wyjÅ›cia błędu\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Jeżeli TRYB to „Lâ€, odpowiedni strumieÅ„ bÄ™dzie buforowany liniami. Opcja\n" "jest błędna dla standardowego wejÅ›cia.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Jeżeli TRYB to „0â€, odpowiedni strumieÅ„ nie bÄ™dzie buforowany.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "W przeciwnym przypadku TRYB jest liczbÄ…, do której można dodać jeden z\n" "przyrostków: KB 1000, K 1024, MB 1000*1000, M 1024*1024 itd. dla G, T,\n" "P, E, Z, Y. W tym przypadku odpowiedni strumieÅ„ bÄ™dzie buforowany w\n" "buforze o rozmiarze MODE bajtów.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "UWAGA: Jeżeli POLECENIE zmienia sposób buforowania swoich standardowych\n" "strumieni (robi to np. „teeâ€), przestawi wtedy ustawienia zmienione przez\n" "„stdbufâ€. Niektóre filtry (jak „ddâ€, „cat†itp.) nie używajÄ… strumienia dla\n" "operacji wejÅ›cia/wyjÅ›cia i ich parametry nie bedÄ… zmienione przez „stdbufâ€.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "nie udaÅ‚o siÄ™ znaleźć %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "nie udaÅ‚o siÄ™ zaktualizować Å›rodowiska %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "buforowanie liniowe standardowego wejÅ›cia nie ma znaczenia" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "SkÅ‚adnia: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [USTAWIENIA]...\n" " albo: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [-a|--all]\n" " albo: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Wypisanie lub zmiana ustawieÅ„ terminala.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all wyÅ›wietlenie wszystkich aktualnych ustawieÅ„ w postaci\n" " czytelnej dla czÅ‚owieka\n" " -g, --save wyÅ›wietlenie wszystkich aktualnych ustawieÅ„ w formacie\n" " czytelnym dla stty\n" " -F, --file=URZÄ„DZENIE otwarcie i używanie podanego URZÄ„DZENIA zamiast\n" " standardowego wejÅ›cia\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Opcjonalny minus przed USTAWIENIEM oznacza zaprzeczenie. Gwiazdka * oznacza\n" "ustawienia spoza POSIX. System sam okreÅ›la, które ustawienia sÄ… dostÄ™pne.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Znaki specjalne:\n" " * dsusp ZNAK ZNAK wysyÅ‚a do terminala sygnaÅ‚ stopu po opróżnieniu " "wejÅ›cia\n" " eof ZNAK ZNAK wysyÅ‚a znak koÅ„ca pliku (koÅ„ca wejÅ›cia)\n" " eol ZNAK ZNAK wysyÅ‚a znak koÅ„ca linii\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 ZNAK alternatywny ZNAK koÅ„ca linii\n" " erase ZNAK ZNAK kasuje ostatni wprowadzony znak\n" " intr ZNAK ZNAK wysyÅ‚a sygnaÅ‚ przerwania\n" " kill ZNAK ZNAK kasuje bieżącÄ… liniÄ™\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext ZNAK ZNAK wprowadza nastÄ™pny znak w cudzysÅ‚owie\n" " quit ZNAK ZNAK wysyÅ‚a sygnaÅ‚ wyjÅ›cia\n" " * rprnt ZNAK ZNAK powtarza bieżącÄ… liniÄ™\n" " start ZNAK ZNAK wznawia wyÅ›wietlanie\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop ZNAK ZNAK wstrzymuje wyÅ›wietlanie\n" " susp ZNAK ZNAK wysyÅ‚a do terminala sygnaÅ‚ stop\n" " * swtch ZNAK ZNAK włącza innÄ… warstwÄ™ powÅ‚oki\n" " * werase ZNAK ZNAK kasuje ostatnie wprowadzone sÅ‚owo\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Ustawienia specjalne:\n" " N ustawienie prÄ™dkoÅ›ci wyjÅ›ciowej i wejÅ›ciowej na N bodów\n" " * cols N ustawienie szerokoÅ›ci terminala na N kolumn\n" " * columns N to samo co cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N ustawienie prÄ™dkoÅ›ci wejÅ›ciowej na N\n" " * line N użycie rygoru linii (line discipline) N\n" " min N z -icanon ustawienie minimum N znaków peÅ‚nego odczytu\n" " ospeed N ustawienie prÄ™dkoÅ›ci wyjÅ›ciowej na N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N ustawienie dÅ‚ugoÅ›ci terminala na N wierszy\n" " * size wyÅ›wietlenie liczby wierszy i kolumn wedÅ‚ug ustawieÅ„ jÄ…dra\n" " speed wyÅ›wietlenie prÄ™dkoÅ›ci terminala\n" " time N z -icanon ustawienie timeout na N dziesiÄ…tych sekundy\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Ustawienia sterujÄ…ce:\n" " [-]clocal wyłączenie sygnałów sterowania modemu\n" " [-]cread włączenie odbioru z wejÅ›cia\n" " * [-]crtscts włączenie sterowania przepÅ‚ywem przez RTS/CTS\n" " * [-]cdtrdsr włączenie sterowania przepÅ‚ywem przez DTR/DSR\n" " csN ustawienie wielkoÅ›ci znaku na N bitów, N w zakresie [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb użycie dwóch bitów stopu na znak (jeden z „-â€)\n" " [-]hup wysÅ‚anie sygnaÅ‚u rozłączenia gdy ostatni proces zamknie\n" " terminal\n" " [-]hupcl to samo co [-]hup\n" " [-]parenb włączenie ustawiania i sprawdzania bitu parzystoÅ›ci\n" " [-]parodd włączenie parzystoÅ›ci nieparzystej (parzystej z „-â€)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Ustawienia wejÅ›cia:\n" " [-]brkint znaki break powodujÄ… wysÅ‚anie sygnaÅ‚u przerwania\n" " [-]icrnl zamienianie znaków CR na NL\n" " [-]ignbrk ignorowanie znaku break\n" " [-]igncr ignorowanie znaku CR\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignorowanie znaków z błędami parzystoÅ›ci\n" " * [-]imaxbel piszczenie przy peÅ‚nym buforze (bez jego opróżniania) po\n" " wprowadzeniu znaku\n" " [-]inlcr zamienianie znaków NL na CR\n" " [-]inpck włączenie kontroli parzystoÅ›ci na wejÅ›ciu\n" " [-]istrip zerowanie najstarszego (ósmego) bitu znaków na wejÅ›ciu\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 program zakÅ‚ada, że znaki wejÅ›ciowe sÄ… zakodowane w UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc zamienianie wielkich liter na maÅ‚e\n" " * [-]ixany każdy znak wznawia transmisjÄ™, nie tylko start\n" " [-]ixoff włączenie wysyÅ‚ania znaków start/stop\n" " [-]ixon włączenie protokoÅ‚u sterowania przepÅ‚ywem XON/XOF\n" " [-]parmrk zaznaczanie błędów parzystoÅ›ci sekwencjÄ… 255-0-znak\n" " [-]tandem to samo co [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Ustawienia dla wyjÅ›cia:\n" " * bsN styl opóźnienia po znaku BS, N w zakresie [0..1]\n" " * crN styl opóźnienia po znaku CR, N w zakresie [0..3]\n" " * ffN styl opóźnienia po znaku FF, N w zakresie [0..1]\n" " * nlN styl opóźnienia po znaku NL, N w zakresie [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl zamienianie znaku CR na NL\n" " * [-]ofdel używanie znaku DEL zamiast NUL jako znaku wypeÅ‚niajÄ…cego\n" " * [-]ofill używanie znaków wypeÅ‚niajÄ…cych zamiast opóźnieÅ„ transmisji\n" " * [-]olcuc zamienianie maÅ‚ych liter na wielkie\n" " * [-]onlcr zamienianie znaków NL na sekwencje CR-NL\n" " * [-]onlret znak NL powoduje powrót karetki (carriage return)\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr bez wysyÅ‚ania znaków CR w pierwszej kolumnie\n" " [-]opost przetwarzanie znaków wyjÅ›ciowych\n" " * tabN styl opóźnienia po tabulatorze poziomym, N w zakresie " "[0..3]\n" " * tabs to samo co tab0\n" " * -tabs to samo co tab3\n" " * vtN styl opóźnienia po tabulatorze pionowym, N w zakresie " "[0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Ustawienia lokalne:\n" " [-]crterase wyÅ›wietlanie znaku erase jako BS-spacja-BS\n" " * crtkill kasowanie caÅ‚ej linii zgodnie z ustawieniami echoprt i " "echoe\n" " * -crtkill kasowanie caÅ‚ej linii zgodnie z ustawieniami echoctl i " "echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho wyÅ›wietlanie znaków kontrolnych jako „^c†itp.\n" " [-]echo wyÅ›wietlanie każdego znaku z wejÅ›cia\n" " * [-]echoctl to samo co [-]ctlecho\n" " [-]echoe to samo co [-]crterase\n" " [-]echok wyÅ›wietlanie znaku nowej linii po znaku kill\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke to samo co [-]crtkill\n" " [-]echonl wyÅ›wietlanie znaku NL nawet jeÅ›li inne nie sÄ… wyÅ›wietlane\n" " * [-]echoprt wyÅ›wietlanie skasowanych znaków wstecz miÄ™dzy „\\†i „/â€\n" " [-]icanon wyÅ›wietlanie znaków erase, kill, werase i rprnt\n" " [-]iexten wyÅ›wietlanie znaków spoza specyfikacji POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig wyÅ›wietlanie znaków intr, quit i susp\n" " [-]noflsh bez opróżniania bufora po znakach intr i quit\n" " * [-]prterase to samo co [-]echoprt\n" " * [-]tostop zatrzymywanie procesów w tle, próbujÄ…cych pisać na " "terminal\n" " * [-]xcase z icanon: wyÅ›wietlanie wielkich liter jako „\\maÅ‚a-literaâ€\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinacje ustawieÅ„:\n" " * [-]LCASE jak [-]lcase\n" " cbreak jak -icanon\n" " -cbreak jak icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked jak brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof i eol ustawione na wartoÅ›ci domyÅ›lne\n" " -cooked jak raw\n" " crt jak echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec jak echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq jak [-]ixany\n" " ek ustawienie znaków erase i kill na wartoÅ›ci domyÅ›lne\n" " evenp jak parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp jak -parenb cs8\n" " * [-]lcase jak xcase iuclc olcuc\n" " litout jak -parenb -istrip -opost cs8\n" " -litout jak parenb istrip opost cs7\n" " nl jak -icrnl -onlcr\n" " -nl jak icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp jak parenb parodd cs7\n" " -oddp jak -parenb cs8\n" " [-]parity jak [-]evenp\n" " pass8 jak -parenb -istrip cs8\n" " -pass8 jak parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw jak -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw jak cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane jak cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, wszystkie znaki\n" " specjalne przybierajÄ… standardowe wartoÅ›ci\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "ObsÅ‚uga linii terminalowej podłączonej do standardowego wejÅ›cia.\n" "Bez argumentów wyÅ›wietla prÄ™dkość transmisji, rygor linii i odchylenia\n" "od stty sane. W ustawieniach ZNAK powinien być podany dosÅ‚ownie lub\n" "zakodowany np. ^c, 0x37, 0177 lub 127; wartość ^- lub sÅ‚owo undef sÄ…\n" "używane do wyłączania znaków specjalnych.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "może być podane tylko jedno urzÄ…dzenie" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "opcje --all i --save wzajemnie siÄ™ wykluczajÄ…" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "tryb nie może być ustawiany, gdy podany jest format wyjÅ›cia" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: zresetowanie trybu nie blokujÄ…cego nie byÅ‚o możliwe" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "błędny argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "brakujÄ…cy argument %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "błędna dyscyplina linii: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: wykonanie wszystkich żądanych operacji byÅ‚o niemożliwe" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: brak informacji o wielkoÅ›ci tego urzÄ…dzenia" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "błędny argument caÅ‚kowity %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Wypisanie sumy kontrolnej i liczby bloków dla każdego PLIKU.\n" "\n" " -r użycie algorytmu BSD i bloków po 1 KB\n" " -s, --sysv użycie algorytmu Systemu V i bloków po 512 bajtów\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Wymuszenie zapisu zmienionych bloków na dysk, aktualizacja super-bloku.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "wszystkie argumenty zostaÅ‚y zignorowane" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "UWAGA: używana przez ciebie powÅ‚oka systemowa może mieć wÅ‚asnÄ… wersjÄ™ %s,\n" "która zwykle zasÅ‚ania wersjÄ™ tu opisanÄ…. Szczegóły opcji tego polecenia\n" "opisuje dokumentacja.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help wyÅ›wietlenie tego opisu i zakoÅ„czenie\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version wyÅ›wietlenie informacji o wersji i zakoÅ„czenie\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Argumenty obowiÄ…zkowe dla opcji dÅ‚ugich obowiÄ…zujÄ… również dla krótkich.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "ROZMIAR jest liczbÄ… caÅ‚kowitÄ… z dodanÄ… opcjonalnie jednostkÄ… (przykÅ‚ad: 10M " "to\n" "10*1024*1024). Jednostki to K, M, G, T, P, E, Z, Y (potÄ™gi 1024) albo KB, " "MB,\n" "... (potÄ™gi 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "WartoÅ›ci sÄ… wypisywane w jednostkach pierwszego dostÄ™pnego ROZMIARU z opcji\n" "--block-size i ze zmiennych Å›rodowiskowych %s_BLOCK_SIZE, BLOCK_SIZE i\n" "BLOCKSIZE. Jeżeli jednostka nie jest dostÄ™pna to domyÅ›lnie wynosi 1024 " "bajty\n" "albo 512 bajtów jeżeli ustawiona jest zmienna POSIXLY_CORRECT.\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Raporty o błędach %s wysyÅ‚aj do %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "O błędach tÅ‚umaczenia %s poinformuj przez http://translationproject.org/" "team/\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Å»eby przeczytać kompletnÄ… dokumentacjÄ™ uruchom: info coreutils „%s " "invocationâ€\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Napisz „%s --help†dla uzyskania informacji.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "UWAGA: Cykliczna struktura katalogów.\n" "Prawie na pewno oznacza to, że system plików jest uszkodzony.\n" "NALEÅ»Y ZAWIADOMIĆ ADMINISTRATORA SYSTEMU.\n" "NastÄ™pujÄ…cy katalog jest częściÄ… cyklu:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Przepisanie każdego PLIKU na standardowe wyjÅ›cie, w odwrotnym porzÄ…dku:\n" "ostatnia linia pierwsza. Jeżeli PLIK nie jest podany albo podany jako -,\n" "czytane jest standardowe wejÅ›cie.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before dołączenie separatora przed zamiast po\n" " -r, --regex interpretowanie separatora jako wyr. regularnego\n" " -s, --separator=NAPIS użycie NAPISU jako separatora zamiast nowej " "linii\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: nie udaÅ‚o siÄ™ ustawienie pozycji" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "rekord jest za duży" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "nie udaÅ‚o siÄ™ utworzyć pliku tymczasowego w %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "błąd przy otwieraniu %s do zapisu" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "nie udaÅ‚o siÄ™ zmienić pozycji w strumieniu %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: błąd zapisu" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "nie udaÅ‚o siÄ™ otworzyć %s do czytania" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "separator nie może być pusty" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Wypisanie %d ostatnich linii każdego PLIKU na standardowym wyjÅ›ciu.\n" "Dla wiÄ™kszej liczby PLIKÓW każda porcja ma nagłówek z nazwÄ…. Jeżeli PLIK " "nie\n" "jest podany albo podany jako -, czytane jest standardowe wejÅ›cie.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=N wypisanie ostatnich N bajtów; alternatywnie użyj\n" " -c +K aby wypisać od N-tego bajtu z każdego z\n" " plików\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " wypisywanie nowych danych kiedy plik roÅ›nie;\n" " -f, --follow i --follow=descriptor sÄ…\n" " równoważne\n" " -F to samo co --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K wypisanie ostatnich K linii zamiast ostatnich %d\n" " albo użyj -n +K dla wypisania linii od N-tej\n" " --max-unchanged-stats=N\n" " z --follow=name powoduje ponowne otwieranie " "PLIKU,\n" " który nie zmieniÅ‚ rozmiaru po N (domyÅ›lnie %d)\n" " iteracjach, dla sprawdzenia czy zostaÅ‚ usuniÄ™ty\n" " albo przemianowany (czÄ™sty przypadek dla logów)\n" " Ta opcja jest rzadko przydatna jeżeli dostÄ™pne\n" " jest inotify\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID z -f - zakoÅ„czenie pracy po zakoÅ„czeniu procesu " "o\n" " numerze PID\n" " -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików\n" " --retry staÅ‚e ponawianie próby otwierania pliku, nawet\n" " jeżeli jest niedostÄ™pny albo staje siÄ™\n" " niedostÄ™pny później; użyteczne do Å›ledzenia wg\n" " nazwy, np. z --follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N z -f - odczekanie po N sekund (domyÅ›lnie 1,0 s)\n" " miÄ™dzy iteracjami\n" " Z inotify i --pid=P - sprawdzanie procesu P co\n" " najmniej co N sekund.\n" " -v, --verbose wypisywanie zawsze nagłówków z nazwami plików\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Jeżeli pierwszy znak N (liczby bajtów lub linii) to „+â€, pisanie zaczyna\n" "siÄ™ od N-tego elementu od poczÄ…tku każdego pliku. W przeciwnym wypadku\n" "wypisywane jest ostatnich N elementów pliku. N może mieć przyrostek\n" "mnożący: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 itd. dla T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Z --follow (-f) tail domyÅ›lnie Å›ledzi przyrosty zawartoÅ›ci pliku o\n" "okreÅ›lonym deskryptorze, wiÄ™c nawet po zmianie nazwy Å›ledzi ten sam plik.\n" "To domyÅ›lne zachowanie jest niepożądane, jeżeli Å›ledzony ma być plik o\n" "okreÅ›lonej nazwie (np. plik logu podlegajÄ…cy rotacji). W tym przypadku " "należy\n" "użyć --follow=name, co powoduje, że tail Å›ledzi podany plik, otwierajÄ…c go " "co\n" "jakiÅ› czas ponownie, żeby sprawdzić, czy nie zostaÅ‚ przemianowany albo\n" "usuniÄ™ty i ponownie utworzony przez jakiÅ› inny program.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "zamykanie %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: nie można ustawić pozycji wzglÄ™dnej %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: nie można ustawić pozycji %s wzglÄ™dem koÅ„ca pliku" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "nie można odszukać %s; powrót do cyklicznego sprawdzania" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "nierozpoznany system pliów typu 0x%08lx w %s; proszÄ™ wysÅ‚ać raport do %s; " "powrót do cyklicznego sprawdzania" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s staÅ‚ siÄ™ niedostÄ™pny" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s zostaÅ‚ zamieniony na plik, którego nie można Å›ledzić tailem; koniec " "Å›ledzenia" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s zostaÅ‚ zamieniony na plik zdalny. koniec Å›ledzenia tej nazwy" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s staÅ‚ siÄ™ dostÄ™pny" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s pojawiÅ‚ siÄ™; Å›ledzenie koÅ„ca nowego pliku" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s zostaÅ‚ podmieniony; Å›ledzenie koÅ„ca nowego pliku" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: zresetowanie trybu nie blokujÄ…cego nie byÅ‚o możliwe" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: plik obciÄ™ty" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nie ma wiÄ™cej plików" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "nie można Å›ledzić katalogu nadrzÄ™dnego %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "zabrakÅ‚o zasobów inotify" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "nie można Å›ledzić %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "błąd monitorowanie zdarzenia inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "błąd czytania zdarzenia inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: pliku tego typu nie można Å›ledzić" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "liczba w %s jest za duża" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: błędna maksymalna liczba braków zmian stanów miÄ™dzy otwarciami pliku" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: błędny PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: błędna liczba sekund" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opcja użyta w błędnym kontekÅ›cie -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "uwaga: opcja --retry jest przydatna głównie przy Å›ledzeniu nazwy" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "uwaga: zignorowany PID; opcja --pid=PID jest przydatna tylko przy Å›ledzeniu" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "uwaga: opcja --pid=PID nie dziaÅ‚a w tym systemie" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "nie można pokazywać pliku %s wg nazwy" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "warning: staÅ‚e podążanie za standardowym wejÅ›ciem może sie nie udać" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "nie można użyć inotify, powrót do cyklicznego sprawdzania" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopiuje standardowe wejÅ›cie do każdego PLIKU oraz na standardowe wyjÅ›cie.\n" "\n" " -a, --append dopisywanie do PLIKU, nie nadpisywanie\n" " -i, --ignore-interrupts ignorowanie sygnałów przerwania\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Jeżeli PLIK podany jest jako -, dane sÄ… kopiowane na standardowe wyjÅ›cie.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "brakujÄ…cy argument %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "błędna liczba caÅ‚kowita %s" #: src/test.c:241 msgid "')' expected" msgstr "spodziewany „)â€" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "spodziewany „)â€, napotkany %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: spodziewany operator jednoargumentowy" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt nie dopuszcza -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef nie dopuszcza -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot nie dopuszcza -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "nieznany operator dwuargumentowy" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: spodziewany operator dwuargumentowy" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "SkÅ‚adnia: test WYRAÅ»ENIE\n" " albo: test\n" " albo: [ WYRAÅ»ENIE ]\n" " albo: []\n" " albo: [ OPCJA\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "ZakoÅ„czenie pracy z kodem wyjÅ›cia zależnym od WYRAÅ»ENIA.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Jeżeli brakuje WYRAÅ»ENIA, domyÅ›lna wartość to faÅ‚sz. W przeciwnym przypadku\n" "WYRAÅ»ENIE jest prawdziwe lub faÅ‚szywe i wynika z niego kod stanu - jeden z:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( WYRAÅ»ENIE ) WYRAÅ»ENIE jest prawdziwe\n" " ! WYRAÅ»ENIE WYRAÅ»ENIE jest faÅ‚szywe\n" " WYRAÅ»ENIE1 -a WYRAÅ»ENIE2 WYRAÅ»ENIE1 i WYRAÅ»ENIE2 sÄ… prawdziwe\n" " WYRAÅ»ENIE1 -o WYRAÅ»ENIE2 WYRAÅ»ENIE1 lub WYRAÅ»ENIE2 jest prawdziwe\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] NAPIS NAPIS ma dÅ‚ugość różnÄ… od zera\n" " NAPIS równoważne z -n NAPIS \n" " -z NAPIS NAPIS ma dÅ‚ugość równÄ… zero\n" " NAPIS1 = NAPIS2 napisy sÄ… równe\n" " NAPIS1 != NAPIS2 napisy sÄ… różne\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " LICZBA1 -eq LICZBA2 LICZBA1 równa LICZBIE2 (liczby caÅ‚kowite)\n" " LICZBA1 -ge LICZBA2 LICZBA1 wiÄ™ksza lub równa LICZBIE2\n" " LICZBA1 -gt LICZBA2 LICZBA1 wiÄ™ksza od LICZBY2\n" " LICZBA1 -le LICZBA2 LICZBA1 mniejsza lub równa LICZBIE2\n" " LICZBA1 -lt LICZBA2 LICZBA1 mniejsza od LICZBY2\n" " LICZBA1 -ne LICZBA2 LICZBA1 jest różna od LICZBY2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " PLIK1 -ef PLIK2 PLIK1 i PLIK2 majÄ… ten sam numer urzÄ…dzenia i i-wÄ™zÅ‚a\n" " PLIK1 -nt PLIK2 PLIK1 jest nowszy niż PLIK2 (wg daty modyfikacji)\n" " PLIK1 -ot PLIK2 PLIK1 jest starszy niż PLIK2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b PLIK PLIK istnieje i jest urzÄ…dzeniem blokowym\n" " -c PLIK PLIK istnieje i jest urzÄ…dzeniem znakowym\n" " -d PLIK PLIK istnieje i jest katalogiem\n" " -e PLIK PLIK istnieje\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f PLIK PLIK istnieje i jest zwykÅ‚ym plikiem\n" " -g PLIK PLIK istnieje i ma atrybut set-group-id\n" " -G PLIK PLIK istnieje i jego wÅ‚aÅ›cicielem jest efektywna grupa\n" " -h PLIK PLIK istnieje i jest dowiÄ…zaniem symbolicznym (to samo co -" "L)\n" " -k PLIK PLIK istnieje i ma ustawiony bit ochrony (sticky bit)\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L PLIK PLIK istnieje i jest dowiÄ…zaniem symbolicznym (to samo co -h)\n" " -O PLIK PLIK istnieje i jego wÅ‚aÅ›cicielem jest efektywny użytkownik\n" " -p PLIK PLIK istnieje i jest potokiem z nazwÄ… (named pipe)\n" " -r PLIK PLIK istnieje i może być czytany\n" " -s PLIK PLIK istnieje i ma dÅ‚ugość wiÄ™kszÄ… od zera\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S PLIK PLIK istnieje i jest gniazdem\n" " -t DP deskryptor pliku DP jest otwarty na terminalu\n" " -u PLIK PLIK istnieje i ma atrybut set-user-id\n" " -w PLIK PLIK istnieje i może być zapisywany\n" " -x PLIK PLIK istnieje i jest wykonywalny albo przeszukiwalny\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Wszystkie testy dotyczÄ…ce PLIKÓW oprócz -h i -L rozwijajÄ… dowiÄ…zania\n" "symboliczne.\n" "Należy zwrócić uwagÄ™ na to, że nawiasy muszÄ… być chronione przed " "interpretacjÄ…\n" "przez powÅ‚okÄ™, np. przez „\\â€. LICZBA musi być caÅ‚kowita i może mieć także\n" "postać -l NAPIS czyli dÅ‚ugość NAPISU.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "UWAGA: [ interpretuje opcje --help i --version, ale test tego nie robi.\n" "test traktuje je jak każdy inny niepusty NAPIS.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test i/lub [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "brak „]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "nadmiarowy argument: %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "uwaga: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "uwaga: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "uwaga: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "SkÅ‚adnia: %s [OPCJA] CZAS POLECENIE [ARGUMENT]...\n" " albo: %s [OPCJA]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Uruchomienie POLECENIA i zabicie go, jeżeli nadal dziaÅ‚a po podanym\n" "okresie CZASU.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " zakoÅ„czenie z podaniem statusu POLECENIA, nawet jeżeli\n" " polecenie przekroczy czas\n" " --foreground\n" " Gdy polecenie timeout nie jest uruchomione bezpoÅ›rednio\n" " z interaktywnej powÅ‚oki, pozwolenie POLECENIU na czytanie\n" " z TTY i odbierania sygnałów TTY. W tym trybie procesy\n" " potomne POLECENIA nie bedÄ… podlegać ograniczeniu czasu.\n" " -k, --kill-after=CZAS\n" " wysÅ‚anie również sygnaÅ‚u KILL (zabij) jeżeli POLECENIE\n" " nadal dziaÅ‚a po wysÅ‚aniu pierwszego sygnaÅ‚u\n" " -s, --signal=SYGNAÅ\n" " podanie sygnaÅ‚u do wysÅ‚ania po upÅ‚ywie CZASU.\n" " SYGNAÅ może być podany przez nazwÄ™, jak „HUPâ€, albo\n" " przez numer. Lista sygnałów: „kill -lâ€\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "CZAS jest liczbÄ… rzeczywistÄ… z opcjonalnym przyrostkiem:\n" "to „s†dla sekund (domyÅ›lnie), „m†dla minut, „h†dla godzin, „d†dla dni.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Jeżeli polecenie wyczerpie czas, a nie zostaÅ‚a użyta opcja --preserve-" "status,\n" "program podaje status wyjÅ›ciowy 124. W przeciwnym przypadku zwraca status\n" "POLECENIA. Jeżeli nie jest podany sygnaÅ‚, wysyÅ‚any jest sygnaÅ‚ TERM. TERM\n" "zabija procesy, które nie przechwytujÄ… tego sygnaÅ‚u. Dla innych procesów " "może\n" "być konieczne użycie sygnaÅ‚u KILL (9), który nie może być przechwycony. Po\n" "wysÅ‚aniu sygnaÅ‚u KILL (9), kod wyjÅ›cia to 128+9, a nie 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "uwaga: nie udaÅ‚o siÄ™ wyłączenie zrzutów pamiÄ™ci" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "błąd zapisu w czasie czekania na polecenie" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "monitowane polecenie zrobiÅ‚o zrzut pamiÄ™ci" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "błędny format daty %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "nie można dotknąć %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "ustawienie czasu %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Uaktualnienie czasu ostatniego odczytu albo modyfikacji każdego PLIKU do\n" "bieżącego czasu.\n" "\n" "Jeżeli argument PLIK nie istnieje, jest tworzony jako pusty PLIK, chyba że\n" "podana jest opcja -c albo -h.\n" "\n" "PLIK o nazwie „-†jest traktowany specjalnie: touch ustawia czas pliku\n" "zwiÄ…zanego ze standardowym wyjÅ›ciem.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a zmiana tylko czasu dostÄ™pu\n" " -c, --no-create bez tworzenia nowych plików\n" " -d, --date=SPECYFIKACJA użycie SPECYFIKACJI zamiast bieżącego czasu\n" " -f (ignorowane)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference operowanie na dowiÄ…zaniach symbolicznych zamiast " "na\n" " wskazywanych plikach (tylko dla systemów, które\n" " umiejÄ… zmienić wÅ‚aÅ›ciciela dowiÄ…zania " "symbolicznego)\n" " -m zmiana tylko czasu modyfikacji\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=PLIK użycie czasu tego PLIKU zamiast czasu bieżącego\n" " -t CZAS użycie [[CC]YY]MMDDhhmm[.ss] zamiast bieżącego " "czasu\n" " --time=SÅOWO ustawienie czasu wg SÅOWA: access atime use (czas\n" " dostÄ™pu, to samo co -a), modify mtime (czas\n" " modyfikacji, to samo co -m)\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Należy zauważyć, że opcje -d i -t akceptujÄ… różne formaty daty/czasu.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "nie można podać czasu z wiÄ™cej niż jednego źródÅ‚a" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "uwaga: „touch %s†jest formÄ… przestarzałą; używaj „touch -t %04ld%02d%02d%02d" "%02d.%02dâ€" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... ZBIÓR1 [ZBIÓR2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Zamiana, usuniÄ™cie wielokrotnych i/lub skasowanie znaków ze standardowego\n" "wejÅ›cia. Wyniki sÄ… wypisywane na standardowym wyjÅ›ciu.\n" "\n" " -c, -C, --complement zbiór znaków komplementarny do ZBIORU1\n" " -d, --delete skasowanie znaków ze ZBIORU1, bez zamian\n" " -s, --squeeze-repeats zamiana ciÄ…gu takich samych znaków ze ZBIORU1 na\n" " pojedyncze wystÄ…pienia takich znaków\n" " -t, --truncate-set1 najpierw ZBIÓR1 jest obcinany do dÅ‚ugoÅ›ci ZBIORU2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "ZBIORY sÄ… podawane jako ciÄ…gi znaków. WiÄ™kszość znaków reprezentuje same\n" "siebie. Specjalnie interpretowane ciÄ…gi to:\n" "\n" " \\NNN znak o wartoÅ›ci ósemkowej NNN (od 1 do 3 cyfr " "ósemkowych)\n" " \\\\ ukoÅ›nik odwrotny\n" " \\a znak BEL\n" " \\b backspace\n" " \\f nowa strona\n" " \\n nowa linia\n" " \\r powrót karetki\n" " \\t tabulacja pozioma\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tabulacja pionowa\n" " ZNAK1-ZNAK2 wszystkie znaki od ZNAK1 do ZNAK2, rosnÄ…co\n" " [ZNAK*] w ZBIORZE2 kopiuje ZNAK uzupeÅ‚niajÄ…c do dÅ‚ugoÅ›ci ZBIORU1\n" " [ZNAK*POWTÓRZ] POWTÓRZ kopii ZNAKU, ósemkowo gdy zaczyna siÄ™ od 0\n" " [:alnum:] wszystkie litery i cyfry\n" " [:alpha:] wszystkie litery\n" " [:blank:] wszystkie odstÄ™py poziome\n" " [:cntrl:] wszystkie znaki sterujÄ…ce\n" " [:digit:] wszystkie cyfry\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] wszystkie znaki drukowalne oprócz spacji\n" " [:lower:] wszystkie maÅ‚e litery\n" " [:print:] wszystkie znaki drukowalne włącznie ze spacjÄ…\n" " [:punct:] wszystkie znaki przestankowe\n" " [:space:] wszystkie odstÄ™py poziome i pionowe\n" " [:upper:] wszystkie wielkie litery\n" " [:xdigit:] wszystkie cyfry szesnastkowe\n" " [=ZNAK=] wszystkie znaki równoważne ZNAKOWI\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Zamiana nastÄ™puje gdy nie jest podana opcja -d i sÄ… podane oba zbiory,\n" "ZBIÓR1 i ZBIÓR2. Opcja -t może być użyta tylko przy zamianie. W razie\n" "potrzeby ZBIÓR2 jest uzupeÅ‚niany do dÅ‚ugoÅ›ci ZBIORU1 przez powtórzenie\n" "ostatniego znaku. Nadmiarowe znaki ZBIORU2 sÄ… ignorowane. Tylko\n" "[:lower:] i [:upper:] bÄ™dÄ… na pewno rozwiniÄ™te w porzÄ…dku rosnÄ…cym;\n" "użyte w ZBIORZE2 przy zamianie, mogÄ… być tylko zestawione w parach dla\n" "konwersji maÅ‚e-wielkie litery. Jeżeli operacjÄ… nie jest ani zamiana\n" "ani kasowanie, -s używa ZBIORU1. W przeciwnym wypadku używa ZBIORU2\n" "i kompresja powtórzeÅ„ zachodzi po zamianie i kasowaniu.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "uwaga: niejednoznaczny zapis ósemkowy \\%c%c%c zostanie\n" "\tzinterpretowany jako sekwencja 2-bajtowa \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "uwaga: ukoÅ›nik odwrotny bez poprzedzajÄ…cego znaku cytowania na koÅ„cu formatu " "jest nieprzenoÅ›ny" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "koÅ„ce zakresu „%s-%s†sÄ… w odwrotnym porzÄ…dku sortowania" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "błędna liczba powtórzeÅ„ %s w specyfikacji [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "brakujÄ…ca nazwa klasy znaków „[::]â€" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "brakujÄ…cy znak dla klasy równoważnoÅ›ci „[==]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "błędna klasa znaków %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: operand klasy równoważnoÅ›ci musi być pojedynczym znakiem" # ? - rzm #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "nie pasujÄ…ce [:upper:] i/lub [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "za dużo znaków w zbiorze" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "jeżeli translacja jest robiona ze ZBIOREM1 dÅ‚uższym niż\n" "ZBIÓR2, ten ostatni nie może koÅ„czyć siÄ™ klasÄ… znaków" # should it be string1 or SET1? #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "specyfikacja powtarzania [c*] nie może być w ZBIORZE1" # string2 or SET2? #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "tylko jedna specyfikacja powtarzania [c*] może być w ZBIORZE2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "wyrażenia [=c=] nie mogÄ… być w ZBIORZE2 przy zamianie" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "przy zamianie w ZBIORZE2 mogÄ… siÄ™ pojawić tylko klasy znaków\n" "„upper†(wielkie litery) i „lower†(maÅ‚e litery)" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "jeżeli nie jest obcinany ZBIÓR1, ZBIÓR2 musi być niepusty" # ? - rzm #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "przy zamianie z użyciem dopeÅ‚nieÅ„ klas znaków,\n" "ZBIÓR2 musi odwzorowywać wszystkie znaki z dziedziny na jeden" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "specyfikacja [c*] może siÄ™ pojawić w ZBIORZE2 tylko przy zamianie" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "Przy kasowaniu z kompresjÄ… powtórzeÅ„ muszÄ… być podane dwa zbiory." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Przy zamianie muszÄ… być podane dwa zbiory" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Przy kasowaniu bez kompresji powtórzeÅ„ może być podany tylko jeden zbiór." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s [argumenty sÄ… ignorowane]\n" " albo: %s OPCJA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "WyjÅ›cie z kodem oznaczajÄ…cym powodzenie." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "WyjÅ›cie z kodem oznaczajÄ…cym błąd." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "SkÅ‚adnia: %s OPCJA... PLIK...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "ObciÄ™cie albo rozciÄ…gniÄ™cie każdego PLIKU do podanego rozmiaru\n" "\n" "PLIK, który nie istnieje jest tworzony.\n" "\n" "Jeżeli PLIK jest wiÄ™kszy od podanego rozmiaru, nadmiarowe dane sÄ…\n" "tracone. Jeżeli jest krótszy, dodana część (dziura) jest\n" "odczytywana jako bajty zerowe.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create bez tworzenia nowych plików\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks ROZMIAR traktowany jako liczba bloków, nie bajtów\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=PLIKODN użycie rozmiaru tego PLIKU ODNIESIENIA\n" " -s, --size=ROZMIAR użycie tego ROZMIARU\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "ROZMIAR może być też poprzedzony przez jeden z nastÄ™pujÄ…cych\n" "przedrostków: „+†zwiÄ™ksz o, „-†zmniejsz o, „<†najwyżej, „>†co najmniej,\n" "„/†zaokrÄ…gl w dół do wielokrotnoÅ›ci, „%†zaokrÄ…gl w górÄ™ do " "wielokrotnoÅ›ci.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "przepeÅ‚nienie przy %<PRIdMAX> * %<PRIdMAX> bajtach dla pliku %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "plik %s ma zÅ‚y rozmiar, wyglÄ…dajÄ…cy na ujemny" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "nie można ustalić rozmiaru %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "przepeÅ‚nienie przy zaokrÄ…glaniu rozmiaru pliku %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "przepeÅ‚nienie przy zwiÄ™kszaniu rozmiaru pliku %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "nie udaÅ‚o siÄ™ obciąć pliku %s do %<PRIdMAX> bajtów" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "podano wiele modyfikatorów wzglÄ™dnych" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "musisz podać albo %s albo %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "musisz podać wzglÄ™dy %s z %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "zostaÅ‚ podany %s, ale nie %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "nie można otworzyć %s do pisania" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "SkÅ‚adnia: %s [OPCJA] [PLIK]\n" "Wypisanie caÅ‚kowicie uporzÄ…dkowanej listy zgodnie z częściowym porzÄ…dkiem\n" "w PLIKU. Gdy nie podano PLIKU albo podano jako -, czytane jest standardowe\n" "wejÅ›cie.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: dane wejÅ›ciowe zawierajÄ… nieparzystÄ… liczbÄ™ elementów" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: dane wejÅ›ciowe zawierajÄ… pÄ™tlÄ™:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Napisanie nazwy terminala zwiÄ…zanego ze standardowym wejÅ›ciem.\n" "\n" " -s, --silent, --quiet nic nie jest wypisywane, zwracany jest kod " "powrotu\n" #: src/tty.c:120 msgid "not a tty" msgstr "to nie jest terminal" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Napisanie informacji o systemie. Bez opcji dziaÅ‚a jak z -s.\n" "\n" " -a, --all pokazanie wszystkich informacji w nastÄ™pujÄ…cej\n" " kolejnoÅ›ci, oprócz -p i -i, jeżeli nieznane:\n" " -s, --kernel-name pokazanie nazwy jÄ…dra systemu operacyjnego\n" " -n, --nodename pokazanie sieciowej nazwy systemu\n" " -r, --kernel-release pokazanie numeru edycji jÄ…dra systemu\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version pokazanie numeru wersji jÄ…dra systemu\n" " -m, --machine pokazanie nazwy sprzÄ™tu (architektury)\n" " -p, --processor pokazanie typu procesora albo \"unknown" "\" (nieznany)\n" " -i, --hardware-platform pokazanie platformy sprzÄ™towej albo \"unknown\"\n" " -o, --operating-system pokazanie nazwy systemu operacyjnego\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Wypisanie architektury komputera.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nie można ustalić nazwy systemu" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "W każdym PLIKU spacje zamieniane sÄ… na TABy, wynik jest wypisywany na\n" "standardowe wyjÅ›cie. Jeżeli PLIK nie jest podany albo podany jako -,\n" "czytane jest standardowe wejÅ›cie.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all zamiana wszystkich odstÄ™pów, nie tylko poczÄ…tkowych\n" " --first-only zamiana tylko poczÄ…tkowych odstÄ™pów (wyłącza -a)\n" " -t, --tabs=N kolejne TABy co N znaków zamiast 8 (włącza -a)\n" " -t, --tabs=LISTA użycie oddzielanej przecinkami LISTY pozycji TABów\n" " (włącza -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "znaki tabulacji zbyt odlegÅ‚e od siebie" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "za duża wartość pozycji koÅ„ca TABów" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [WEJÅšCIE [WYJÅšCIE]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Odfiltrowanie sÄ…siadujÄ…cych identycznych linii z WEJÅšCIA (albo " "standardowego\n" "wejÅ›cia), wynik zapisywany do WYJÅšCIA (albo standardowego wyjÅ›cia).\n" "\n" "Jeżeli nie sÄ… podane żadne opcje, pozostawiana jest tylko pierwsza z\n" "identycznych linii.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count poprzedzenie linii liczbÄ… powtórzeÅ„\n" " -d, --repeated wypisanie tylko powtórzonych linii\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=metoda-oddzielenia] wypisanie wszystkich\n" " powtarzajÄ…cych siÄ™ linii.\n" " metoda-oddzielenia={none(domyÅ›lna),prepend," "separate}\n" " (żadna, przed, pomiÄ™dzy).\n" " Do oddzielania używane sÄ… puste linie.\n" " -f, --skip-fields=N bez porównania pierwszych N pól\n" " -i, --ignore-case ignorowanie różnic miÄ™dzy maÅ‚ymi i wielkimi " "literami\n" " -s, --skip-chars=N bez porównania pierwszych N znaków\n" " -u, --unique wypisanie tylko linii unikalnych\n" " -z, --zero-terminated na koÅ„cach linii bajty 0, nie znak nowej linii\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N porównanie najwyżej N znaków w liniach\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Pole to ciÄ…g znaków odstÄ™pu (zwykle spacji i/lub znaków TAB), za którym sÄ…\n" "znaki nie bÄ™dÄ…ce znakami odstepu. Pola sÄ… przeskakiwane przed " "przeskakiwaniem\n" "znaków.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Uwaga: „uniq†nie wykrywa powtórzeÅ„ linii, które nie nastÄ™pujÄ… bezpoÅ›rednio\n" "po sobie. Dane wejÅ›ciowe można najpierw posortować albo użyć „sort -uâ€\n" "zamiast „uniqâ€. Porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami podanymi przez\n" "„LC_COLLATEâ€.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "za dużo powtórzonych linii" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "błędna liczba pól do przeskoczenia" # bytes to skip? we were talking about chars? - rzm #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "błędna liczba bajtów do przeskoczenia" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "błędna liczba bajtów do porównania" # ? rzm #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "wypisywanie wszystkich powtórzonych linii i iloÅ›ci powtórzeÅ„ nie ma sensu" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s PLIK\n" " albo: %s OPCJA\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "WywoÅ‚anie funkcji unlink (usuÅ„) aby usunąć podany PLIK.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "nie można usunąć %s" # pola tabelki wymagaja poprawienia szerokosci -pk #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "sprawdzenie czasu startu systemu jest niemożliwe" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " # msgid_plural? - 20051029 rzm #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "dziaÅ‚a ???? dni ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "dziaÅ‚a %ld dzieÅ„ %2d:%02d, " msgstr[1] "dziaÅ‚a %ld dni %2d:%02d, " msgstr[2] "dziaÅ‚a %ld dni %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "dziaÅ‚a %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu użytkownik" msgstr[1] "%lu użytkownicy" msgstr[2] "%lu użytkowników" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", Å›rednie obciążenie: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Wypisanie aktualnej godziny, czasu od startu systemu, liczby\n" "użytkowników zalogowanych w systemie oraz Å›redniej liczby\n" "procesów uruchamianych w ciÄ…gu ostatnich 1, 5 i 15 minut." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Procesy w\n" "stanie nieprzrywalnego snu też wpÅ‚ywajÄ… na Å›rednie obciążenie.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "JeÅ›li nie podano PLIKU, używa %s. %s jest zwykle podawane jako PLIK.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "WyÅ›wietla kto jest zalogowany wedÅ‚ug informacji w PLIKU.\n" "JeÅ›li brak PLIKU, używa %s. CzÄ™sto podaje siÄ™ też %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Dla każdego PLIKU wypisywana jest liczba znaków nowej linii, słów i bajtów\n" "oraz podsumowanie jeżeli podany jest wiÄ™cej niż jeden PLIK. Jeżeli PLIK nie\n" "jest podany albo podany jest jako -, czytane jest standardowe wejÅ›cie.\n" "SÅ‚owo to niezerowej dÅ‚ugoÅ›ci napis ograniczony przez znaki odstÄ™pu.\n" "Poniższe opcje mogÄ… być użyte do wybrania liczników, które zawsze sÄ…\n" "podawane w nastÄ™pujÄ…cym porzÄ…dku: znak nowej linii, liczba słów, znaków,\n" "bajtów, maksymalna dÅ‚ugość linii.\n" " -c, --bytes wypisanie liczby bajtów\n" " -m, --chars wypisanie liczby znaków\n" " -l, --lines wypisanie liczby znaków nowej linii\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=PLIK pliki wejÅ›ciowe sÄ… PLIKU, oddzielone NUL-ami\n" " Jeżeli PLIK to -, nazwy czytane sÄ… ze\n" " standardowego wejÅ›cia\n" " -L, --max-line-length wypisanie dÅ‚ugoÅ›ci najdÅ‚uższej linii\n" " -w, --words wypisanie liczby słów\n" #: src/who.c:210 msgid " old " msgstr "dawno" #: src/who.c:440 msgid "system boot" msgstr "start systemu" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "zakoÅ„czenie=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "wyjÅ›cie=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "zmiana czasu" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "run-level" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "ostatni=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "liczba użytkowników=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "UÅ»YTKOWNIK" #: src/who.c:559 msgid "LINE" msgstr "TERM" #: src/who.c:559 msgid "TIME" msgstr "CZAS" #: src/who.c:559 msgid "IDLE" msgstr "BEZCZYNNY" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTARZ" #: src/who.c:560 msgid "EXIT" msgstr "WYJÅšCIE" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "SkÅ‚adnia: %s [OPCJA]... [ PLIK | ARGUMENT1 ARGUMENT2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Wypisuje informacjÄ™ o aktualnie zalogowanych użytkownikach.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all to samo co -b -d --login -p -r -t -T -u\n" " -b, --boot czas ostatniego uruchomienia systemu\n" " -d, --dead wypisanie martwych procesów\n" " -H, --heading wypisanie linii nagłówków kolumn\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login wypisanie systemowych procesów login\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup rozwiÄ…zywanie nazw systemów poprzez DNS\n" " -m wyÅ›wietlenie tylko nazwy systemu i użytkownika " "zwiÄ…zanego\n" " ze standardowym wejÅ›ciem\n" " -p, --process aktywne procesy uruchomione przez init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count wszystkie nazwy i liczba zalogowanych użytkowników\n" " -r, --runlevel bieżący runlevel\n" " -s, --short wypisanie tylko użytkownika, terminala i czasu " "(domyÅ›lnie)\n" " -t, --time podanie ostatniej zmiany zegara systemowego\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg zaznaczenie czy użytkownik przyjmuje komunikaty: +, - " "lub ?\n" " -u, --users wypisanie zalogowanych użytkowników\n" " --message to samo co -T\n" " --writable to samo co -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "JeÅ›li nie podano PLIKU, używany jest %s. CzÄ™sto podaje siÄ™ %s.\n" "Obecność ARG1 ARG2 implikuje -m. Typowe wywoÅ‚ania: „am iâ€, „mom likesâ€.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Wypisanie nazwy użytkownika zwiÄ…zanego z aktualnym efektywnym\n" "idetyfikatorem użytkownika. DziaÅ‚a jak id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: nie można znaleźć nazwy użytkownika o ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "SkÅ‚adnia: %s [NAPIS]\n" " albo: %s OPCJA\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Powtarzanie na wyjÅ›ciu linii ze wszystkimi podanymi NAPIS(AMI) albo „yâ€\n" "\n" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/et.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001176205�12107204516�012112� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������$Š�����%Š��¬���'Š��¡���ÔŠ��6��v‹��ø���­Œ��¾���¦��¿���eŽ��Â���%��ª���è��G��“��ù���Û‘��º���Õ’��p���“��!��”��¼���#•��©��à•��w��Š—��5��™��R��8š��~���‹›�� ��� œ��\���œ��w���uœ��T���íœ��G���B��]���Š��ï���è��w���Øž��¡���PŸ��#��òŸ����¡��š���¢��Ä���¶¢��D��{£��7��À¥��z���ø¦����s§�����u¨��Þ���©��i���â©��J���Lª��·��—ª��›���O¬�����ë¬��¸���m­��ˆ���&®��È���¯®��„���x¯��M��ý¯��à���K±��›���,²��š��Ȳ��—���c´��Ó���û´��`���ϵ��‚���0¶�����³¶����´·��>���ɸ��3��¹��|���<º��Ý���¹º��K��—»��=���ã¼��l���!½��0���޽��D���¿½����¾��ž��¿��K��½À��Ê��� Â��–���ÔÂ��-��kÃ��Ê���™Å��ç���dÆ��J���LÇ��ð���—Ç����ˆÈ��‡���™É��¾���!Ê��á���àÊ��E���ÂË��>���Ì��Ë���GÌ��Œ���Í��ü��� Í��æ���Î��¿���„Ï����DÐ��9���VÑ�����Ñ�����§Ñ��t��¼Ñ��¼���1Ó��ó���îÓ��š���âÔ��¾���}Õ��F��<Ö��Ì���ƒ×��°���PØ��Ü���Ù����ÞÙ��Ð��òÚ�� ��ÃÜ�����äÝ����åÞ��Ð��øß��y���Éá��þ��Câ�����Bä��1��Rä��Ë���„ç��‰���Pè����Úè��H���øé��7���Aê��¼���yê��F���6ë��ì���}ë��v���jì�� ���áì��¡��íì��¾��î��Ð��Nð��u���ò��F��•ò��q���Üô��[��Nõ��:���ªö��æ���åö��J���Ì÷��1��ø��S��Iù��u���ú��N���û��S��bû��u���¶ü��ë���,ý��›���þ��†���´þ��,���;ÿ��“��hÿ��ƒ���ü��º���€���;����S����Ó�ß���d�è��D�C��-�\��q�‹���Î �Õ��Z �i���0 �A���š �x���Ü �v���U�Ø��Ì�š���¥���@�Â���V�I����·���c�›����z���·�3���2�û��f�g��b�G���Ê�J����p���]�5���Î�s������x�3��—���Ë�I��ê�×���4�ò��� �É���ÿ �Ê���É!�ð���”"�–��…#�Ô���%�"��ñ%�Ó���'�¬���è'�¤���•(�i���:)�õ���¤)�˜���š*���3+�Z���D,�ù���Ÿ,����™-�.��'.�Å��V/�ž���1�G��»1�È���3�M��Ì3�5���5�4���P5�‰���…5�Â��6�F���Ò7�Ò���8�Ö���ì8�µ��Ã9�©��y<�O��#>�í��s?���aA� ��ñB�£��þC�y��¢E� ��G�o���=H�n���­H�\��I�'��yJ� ��¡L�B���®M�F���ñM���8N�Ë��SO���Q�9��>R���xS���˜T�¢���)V�Ö���ÌV�¡��£W�Ê���EY�E���Z�J���VZ�Ò���¡Z� ��t[���‚\�º��‘]�×���L_�&��$`�¹��Ka�¿���c���Åc�Ý���Ëf�+���©g�N���Õg�Ò���$h�’���÷h�°���Ši�Ë���;j�»���k�¡��Ãk�›���em�…��n�È���‡o�B���Pp���“p�u���¨q���r�1���4s�±��fs�ò���u�G��� v����Sv�Ë���ãv�ƒ���¯w�ƒ���3x�k��·x�‚��#{�¢��¦|�4��I~���~���€�´��£�í���Xƒ� ��F„�ª��Q…���ü†�Ó���ˆ�<���Öˆ�‘���‰�Ò���¥‰�º��xŠ�ª��3Œ�K���Þ���*Ž�ü���/�Ä���,�z���ñ�þ���l‘�µ���k’�ô��!“�Ï���•����æ•�f��v–�5��Ý—�ˆ���™�1���œ™�û��Ι�H���Ê›�;��œ�B���O�Æ���’�!��Yž�È���{ �ý���D¡�q��B¢�Y��´£�ü���¥�L��� ¦�×���X¦�T��0§�#��…¨�Ç���©©�÷��qª�Þ���i¬�³��H­�ƒ���ü®�Ñ���€¯�V��R°�i���©±�Í���²�Ä���á²�Ñ���¦³�ë���x´�K��dµ���°¶�D��¿·����¹�Ó���’¹�Ä��fº�I���+¼���u¼���“½�H���!¿�3���j¿�O��ž¿�c��îÁ� ��RÃ�=��sÄ���±Å�ê��ÌÆ�*��·È�’���âÉ�F���uÊ�C���¼Ê�X���Ë�>���YÌ�?���˜Ì� ��ØÌ�«���ãÍ�9���Î�S���ÉÎ�š��Ï�m���¸Ð�û���&Ñ�ä���"Ò�¨��Ó�I��°Ô�§���úÖ�$���¢×�(���Ç×�<���ð×�ú���-Ø�$���(Ù�%���MÙ�*���sÙ���žÙ�:���½Ú�}���øÚ�|���vÛ�"��óÛ�&���Þ� ���=Þ�9���^Þ�#���˜Þ�$���¼Þ�!���áÞ�E���ß�Ý���Iß�:���'à�}���bà�:���àà�,���á�"���Há� ���ká� ���vá�ç���„á�,��lâ�X��™ã�;���òä�|��.å���«æ�Ô���¿ç�Ü���”è�þ���qé� ���pê����{ê� ���€ê����Œê����•ê����žê����¦ê����¯ê����µê���Èê�&���äë� ��� ì� ���ì����!ì����4ì����Gì����\ì����zì� ���–ì�+���·ì����ãì����üì�?���í�D���Wí�0���œí����Íí�)���æí����î�0���$î�"���Uî����xî�'���ˆî� ���°î����¾î�!���Óî����õî�"���ï����8ï����Uï�/���[ï� ���‹ï����¬ï����Äï�#���Úï����þï����ð�>���4ð�"���sð����–ð�%���µð�B���Ûð�*���ñ����Iñ����hñ����zñ�)���Šñ����´ñ�%���Ññ�,���÷ñ����$ò�#���4ò�"���Xò�$���{ò���� ò�/���Àò����ðò�8����ó����9ó����Nó����mó����Šó����žó����½ó����Üó� ���ñó����ô����#ô����8ô����Sô����pô����ƒô����•ô����¨ô����¹ô�'���Êô����òô�*��� õ����8õ�$���Võ����{õ����•õ����¥õ� ���¾õ����ßõ�"���õõ����ö����.ö�;���Dö����€ö����“ö����¯ö����Ìö����èö����÷����#÷����@÷����\÷����p÷�"���‡÷����ª÷�,���½÷����ê÷�)���ø����.ø����Kø����\ø�"���{ø�1���žø�'���Ðø����øø�(��� ù� ���2ù�,���Sù�,���€ù�,���­ù�'���Úù�-���ú� ���0ú�(���Qú�(���zú����£ú����¶ú����Ïú�"���êú���� û����û�&���/û����Vû�"���qû� ���”û� ��� û����­û����¿û����Ðû����àû�5���üû�0���2ü�.���cü����’ü����®ü����Îü�"���îü����ý����!ý�+���2ý�%���^ý����„ý�)���¤ý����Îý� ���Ðý����Ýý�<���ôý�1���1þ�,���cþ�0���þ�,���Áþ�#���îþ�0���ÿ����Cÿ�l���Gÿ�;��´ÿ����ð�� ��������6���/�5���f�+���œ�(���È�*���ñ�-����"���J�)���m����—����©����À����×� ���î����ù����þ�����,��� �8���9�)���r� ���œ����¨����º����Ô� ���ã����ð� ���ö���������� ���'� ���1� ���=�k��G����³����»�K���Ó�8�������X�k���a�h���Í����6�‚���Ç� ���J� ���U� ���b�3���n�Š��¢� ���- � ���: �w���D �w���¼ �9���4 �g��n �½���Ö �Ò���” �1���g�9���™�0���Ó��������� ���#�=���0�(���n�ã���—� ���{�$���‡�F���¬����ó�U������Y����b�<��g�\���¤� ����+��� �+���8�0���d� ���•����Ÿ����¦�Ï���µ�1���…����·�I���Ð� ����¬���%����Ò�@���ë�£��,�7���Ð�?�������H����Z����i� ���p����}����‚����ˆ����Ž����”����¥�:���ª�…��å����k�¦�������&���5�×��9���� � ��� ����% ����9 � ���@ ����J ����b ����y ����– ����² �$���Ê ����ï ����!����!� ���+!� ���7!� ���C!����P!� ���a!����m!����!����!����—!����œ!����¢!����2"� ���8"�1���E"� ���w"����…"����–"����°"����Á"� ���Ð"� ���Þ"� ���ë"� ���÷"����#����#���� #� ���&#�#���3#����W#����`#�*���#����ª#�E���­#����ó#����$�M���$���f$�—���x%�®���&�…���¿&�H���E'�o���Ž'�…���þ'����„(����ˆ(����˜(� ���­(�,���»(�&���è(� ���)� ���)� ���&)����3)� ���:)�#���H)�H���l)�2���µ)�g���è)�i��P*�ª���º+�š���e,�;����-����<-���Z-�9���t/�*���®/�A���Ù/�¸���0�†���Ô0�º���[1�;���2�¹���R2�%��� 3����23�†���²3�N���94�T���ˆ4� ��Ý4�7���è6���� 7����?7� ���W7� ���a7����n7� ���s7����7�N���“7�€���â7����c8�Ÿ���~8�º���9�7���Ù9�@���:����R:�D���i:����®:����¿:� ���Ô:����â:����ö:����;����;� ���%;�Ý���3;�1���<�'���C<�J���k<�u���¶<� ���,=� ���:=� ���H=����U=�,���h=�&���•=�*���¼=�;���ç=����#>�c���+>� ��>����›?����«?�5���°?� ���æ?�<���ò?����/@����7@����H@����\@� ���q@����}@�@���…@� ���Æ@����Ó@�$���Ø@� ���ý@�Ñ���A�$���ÚA����ÿA����B����'B�â��:B�&���D�%���DD�C���jD�+���®D����ÚD����ßD� ���îD����üD����E����#E����5E����GE� ���YE�#��fE����ŠF� ���ŸF�,���ªF�j���×F�&���BG� ���iG�'���ŠG�0���²G�4���ãG�~��H����—I����´I����ÑI�–���ðI�)���‡J�Y���±J�'��� K�T���3K�'���ˆK�(���°K����ÙK�X���íK�@���FL����‡L�?���£L�&���ãL�š��� M����¥M����¼M�#���ZN�&���~N����¥N�"���ÄN�T���çN�g���<O�†���¤O�.���+P����ZP�"���yP�+���œP�Y���ÈP�~���"Q�¤���¡Q�ä���FR�=���+S����iS�^���‡S�b���æS� ���IT�¢���jT�F��� U�}���TU�'���ÒU�'���úU�Z���"V�"���}V�`��� V�!���W�!���#W�$���EW� ���jW�¦���‹W�M���2X�>���€X�'���¿X�<���çX�T���$Y����yY����~Y����ƒY����™Y����¯Y����ÄY�ï���ÚY����ÊZ�¹���àZ�D���š[�H���ß[�G���(\� ���p\����z\����\����…\�´��”\�W���I^�B���¡^�k���ä^�s���P_�¬���Ä_�>���q`����°`�;���Ç`�3���a�/���7a�+���ga�'���“a�#���»a����ßa����ÿa����b�<���+b����hb����|b����‚b����ˆb����Ÿb�*���¡b����Ìb����äb����þb�A���c����]c�2���tc�1���§c� ���Ùc����åc�!���øc����d�#���!d����Ed�0���ad����’d����¬d����½d�*���Îd����ùd����e�"���7e����Ze����xe�E���—e�;���Ýe� ���f�,���:f� ���gf�!���ˆf����ªf����Êf�+���éf�#���g�#���9g�,���]g�0���Šg�,���»g�#���èg���� h����'h� ���=h����^h����zh����h����«h����Éh�$���èh�"��� i����0i�'���Fi����ni�5���ˆi�'���¾i����æi�!���üi����j����>j�1���Wj����‰j����™j����¶j����Ïj����èj����üj����k����$k����;k����Uk�(���ek����Žk����§k�.���¼k�2���ëk����l����9l����Tl�%���ml�0���“l�3���Äl����øl�F���m�B���_m�+���¢m�5���Îm�1���n� ���6n����Bn����[n�*���zn����¥n����Àn�)���Ýn����o����o�%���4o�!���Zo� ���|o� ���Šo����˜o����¨o�8���Ão����üo����p����&p����Dp�&���^p�'���…p�<���­p�:���êp�.���%q�!���Tq����vq�&���…q����¬q����Çq����×q����ëq����üq���� r�#���r�'���@r�"���hr�&���‹r����²r����Çr����àr� ���ûr����s����5s����Ls�%���cs����‰s� ���¥s� ���²s����¿s����Òs����çs����ýs����t����'t����;t����Nt�,���et�+���’t�-���¾t�)���ìt�!���u����8u����Wu����ku�8���‚u����»u����Òu����çu����ýu�3���v� ���Cv����Mv� ���^v����jv����v� ���v����™v�#���¬v�"���Ðv� ���óv����w����3w����Dw����`w����tw����Žw����Ÿw����·w����½w����Ïw�%���àw����x����x�$���4x�+���Yx�#���…x�:���©x�!���äx�/���y�'���6y����^y����ty����y����¢y����½y�+���Ýy�*��� z�%���4z����Zz�#���xz�$���œz����Áz�%���×z�!���ýz�'���{�%���G{����m{����{����¡{����³{����Ò{�(���ð{�,���|� ���F|�$���g|����Œ|����¥|����·|����Õ|�*���ó|�$���}�#���C}�%���g}����}�!���­}�&���Ï}����ö}���� ~�(���(~� ���Q~�3���r~�-���¦~����Ô~����ó~�!��� �1���.�'���`����ˆ�1���¨����Ú����ñ���� €����&€����@€�#���Z€�1���~€�.���°€����߀����õ€�����(���'����P� ���h����v����“�(���¨����Ñ����Ö�3���õ�;���)‚�.���e‚����”‚����¬‚����Á‚�$���ß‚�$���ƒ�D���)ƒ����nƒ����‚ƒ����“ƒ����£ƒ����·ƒ����Ѓ����íƒ�%��� „�%���/„����U„����r„����Œ„�-���„����¾„����Õ„�)���ä„�/���…�=���>…�@���|…�:���½…����ø…�!���†����8†�,���J†����w†����“†����¥†�A���¼†�;���þ†����:‡����U‡�!���n‡����‡����¦‡����º‡� ���Õ‡�!���ö‡�%���ˆ�(���>ˆ����gˆ����‚ˆ����–ˆ�*���©ˆ�-���Ôˆ����‰����‰����)‰����B‰����W‰����n‰����‡‰����£‰����¼‰�%���Ô‰�1���ú‰�#���,Š�"���PŠ�"���sŠ�1���–Š����ÈŠ� ���ÞŠ����ìŠ����ýŠ����‹�"���%‹����H‹� ���b‹����p‹����ƒ‹����š‹����­‹����É‹����ß‹�#���ú‹�!���Œ�!���@Œ����bŒ����yŒ����˜Œ����±Œ� ���ÐŒ����ÝŒ����íŒ����þŒ��������)����B����[�!���y����›�"���³����Ö����ö� ���Ž����5Ž����MŽ����bŽ�]���wŽ�G���ÕŽ��������1����L����b�!���x�*���š� ���Å� ���Ò����ó�/����$���7�"���\���������2���²�;���å����!‘����:‘����W‘����u‘�R���Œ‘�L���ß‘����,’�(���D’� ���m’����z’����Š’����œ’����²’�,���Ð’�9���ý’�*���7“�,���b“�/���“����¿“�*���Å“�G���ð“�0���8”�:���i”�#���¤”�'���È”�8���ð”����)•�@���>•�/���•����¯•�7���À•�8���ø•� ���1–����?–�/���[–�-���‹–� ���¹–�0���Å–����ö–����—�#���'—�&���K—�)���r—�*���œ—����Ç—�$���Ü—����˜����˜����2˜����B˜�+���[˜�1���‡˜�"���¹˜� ���ܘ����ý˜����™����&™�#���D™�$���h™����™����«™����À™�!���à™�!���š�%���$š����Jš�%���Yš����š����Žš�7���š�=���Õš����›����1›����F›����e›����›����’›� ���£›����±›�-���É›�C���÷›����;œ�(���Pœ� ���yœ�'���ƒœ����«œ�"���Åœ����èœ����øœ�?����,���H�%���u����›�4���±� ���æ�&���ž� ���.ž�1���:ž�2���lž�#���Ÿž�/���Þ�$���óž�(���Ÿ����AŸ�8���`Ÿ�G���™Ÿ�9���áŸ�#��� ����? �"���^ �$��� ����¦ ����À ����à ����õ ���� ¡����)¡�>���A¡�B���€¡� ���á� ���Ρ����Ú¡����ï¡�����¢����¢� ���0¢�7���=¢� ���u¢����¢����˜¢� ���¯¢� ���¹¢����â�)���Ý¢����£����£����7£����K£�$���`£�-���…£�7���³£����ë£����ò£����¤����¤����&¤����?¤� ���O¤����[¤����b¤����h¤����o¤����¤����¦¤�#���ä�J���ç¤� ���2¥� ���@¥� ���M¥����Y¥�*���n¥����™¥����µ¥����Î¥����ê¥����¦�8���¦����W¦� ���]¦�H���k¦�U���´¦�>��� §�?���I§�?���‰§�8���ɧ�=���¨�>���@¨�3���¨����³¨�(���D©�!���m©�N���©�f���Þ©�>���Eª�@���„ª�#���Ū�<���éª�*���&«����Q«����q«�(���‰«����²«�/���Í«����ý«����¬����0¬����C¬����I¬����^¬����r¬����y¬�*���™¬�!���Ĭ�7���æ¬����­�"���6­����Y­����h­�3���|­�\���°­���� ®����%®����=®�.���M®����|®�0���’®����î�C���Ú®����¯�%���;¯�B���a¯�:���¤¯����߯����ó¯���� °� ���°�H���)°�+���r°�J���ž°�2���é°�8���±�=���U±�@���“±�#���Ô±����ø±�$���²�=���8²�4���v²�.���«²�,���Ú²�<���³����D³�0���Y³�3���г�7���¾³�c���ö³����Z´����p´�"���‡´�t���ª´� ���µ�3���*µ�>���^µ�5���µ�j���Óµ�h���>¶�_���§¶�0���·�,���8·�*���e·�3���·�(���Ä·�&���í·�(���¸� ���=¸����I¸� ���\¸� ���i¸�/���w¸�7���§¸�&���߸� ���¹�¤��'¹����̺�Ì���κ�ž���›»�J��:¼�ï���…½�·���u¾�Ï���-¿�À���ý¿�¨���¾À�G��gÁ�ë���¯Â�•���›Ã�j���1Ä�1��œÄ�´���ÎÅ�³��ƒÆ�m��7È�,��¥É�v��ÒÊ�b���IÌ����¬Ì�Y���½Ì� ���Í�W���¸Í�L���Î�`���]Î�Ö���¾Î�š���•Ï�›���0Ð�c��ÌÐ�.��0Ò�v���_Ó�æ���ÖÓ�U��½Ô�g��×�€���{Ø�þ���üØ�€���ûÙ�å���|Ú�i���bÛ�C���ÌÛ�¶��Ü�˜���ÇÝ�ˆ���`Þ�¼���éÞ�…���¦ß�ª���,à�v���×à�=��Ná���Œâ�“���ã�´��1ä�œ���æå�¿���ƒæ�f���Cç����ªç�<��:è�T��wé�;���Ìê�2��ë�Œ���;ì�½���Èì�?��†í�6���Æî�v���ýî�5���tï�L���ªï�=��÷ï�¸��5ñ�<��îò�Ü���+ô�°���õ�<��¹õ�È���ö÷�ñ���¿ø�Q���±ù�ù���ú�ã���ýú�z���áû�É���\ü�»���&ý�H���âý�6���+þ�Ë���bþ�¤���.ÿ�Ç���Óÿ����›��Ù���œ���v�=���†�(���Ä�&���í�Ž���¿���£�D��c�›���¨�¬���D�p��ñ�Ù���b �ª���< �þ���ç �÷���æ �c��Þ �!��B���d���{�€��€�ˆ������Š����¦�©��¸�Ë���b�w���.�:��¦�H���á�2���*�»���]�I����ò���c�n���V� ���Å�¢��Ñ�½��t!�§��2#�‡���Ú$�O��b%�T���²'�V��(�@���^)�»���Ÿ)�C���[*�*��Ÿ*���Ê+�q���é,�E���[-�_��¡-�‡���/�á���‰/�q���k0�q���Ý0�8���O1�–��ˆ1�‘���3�Ê���±3� ��|4�|���ˆ5�{���6�x���6�²��ú6�W��­8�L��:�ˆ���R;�°��Û;�3���Œ>�2���À>�?���ó>�J���3?���~?�¿���˜@�!��XA�Í���zB�M���HC�¾���–C�È���UD����E�5��� E�C��ÖE�Œ��H�G���§I�y���ïI�}���iJ�:���çJ�t���"K�*��—K�7��ÂL���úM�C��O�ä���ZP�ÿ���?Q�Ë���?R�Ô��� S�ô���àS�£��ÕT�â���yV�C��\W�æ��� X�À���‡Y�³���HZ�y���üZ���v[�Ç���}\�)��E]�\���o^���Ì^�¢���Ó_�A��v`�ã��¸a����œc�<��-d�À���je�g��+f�1���“g�?���Åg� ���h�Ä��¦h�;���kj�!��§j�Ñ���Ék�W��›l�ý��ón�9��ñp�ç��+r�º��t�×���Îu�|��¦v�„��#x���¨y�l���½z�y���*{�L��¤{�ó��ñ|�4��å~�@���€�C���[€���Ÿ€�ë��²���žƒ��� „�=��²…�Ž��ð†�¾���ˆ�ä���>‰���#Š�Í���Á‹�5���Œ�9���ÅŒ�Ý���ÿŒ�&��Ý�7���Æ��<�à���’�)��ä’�¯��”�¾���¾•�ð��}–�Í���n™�(���<š�L���eš�×���²š�™���Š›�°���$œ�Ä���Õœ�É���š�ƒ��dž�—���èŸ�¢��€ �ª���#¢�<���΢�F�� £�t���R¤�ø���Ǥ�0���À¥�¥��ñ¥�5��—§�C���ͨ�‹���©�Ã���©�‰���aª�‰���ëª�n��u«���ä­�ž��r¯�/��±�2��A²���t³�›��Œ´���(¶�ë���.·�˜��¸���³¹�Ý���ºº�=���˜»�‡���Ö»�Û���^¼�«��:½�»��æ¾�O���¢À�ì���òÀ�ò���ßÁ�»���ÒÂ�”���ŽÃ�ú���#Ä�¬���Å�o��ËÅ�Ç���;Ç�¿���È� ��ÃÈ�K��ÍÉ����Ë�=���›Ë�Õ��ÙË�:���¯Í�A��êÍ�C���,Ï�¿���pÏ�]��0Ð�Ø���ŽÒ���gÓ�V��pÔ�š��ÇÕ�ð���b×�N���SØ�Ñ���¢Ø�.��tÙ�#��£Ú�Ö���ÇÛ�Ö��žÜ���uÞ�Ø��yß�ƒ���Rá�Í���Öá�B��¤â�j���çã�¿���Rä�¿���å�À���Òå�Þ���“æ�"��rç�ý���•è�Ÿ��“é�š���3ë�Ø���Îë�â��§ì�M���Šî�&��Øî�F��ÿï�O���Fñ�4���–ñ�K��Ëñ�›��ô�4��³õ�ø���èö�à���á÷�Ú��Âø�H��ú�“���æû�F���zü�?���Áü�N��ý�@���Pþ�F���‘þ���Øþ�®���ïÿ�<���ž��H���Û��¬��$����Ñ�3��Q�ò���…�Ò��x�l��K�¤���¸ �5���] �8���“ �B���Ì �ã��� �:���ó �,���. �<���[ ���˜ �<���µ �x���ò �z���k�9��æ�(��� �,���I�-���v�"���¤�%���Ç�(���í�B����æ���Y�@���@�x����@���ú�)���;�5���e� ���›����¦�ö���¸�?��¯�O��ï�G���?�€��‡�A���ß���J�ë���*����� �������"� ���'����4����=����F����N����W����^� ��n�!���� ���±� ���¼����É����ä����ÿ���� ����6 �#���T �$���x ���� ����´ �7���Ë �9���!�&���=!����d!�$���!����¦!�/���¹!�'���é!����"�'���""����J"����Y"�(���q"����š"�#���´"� ���Ø"����ù"�*���ÿ"�)���*#����T#����n#�%���ƒ#�'���©#� ���Ñ#�>���ò#�-���1$�'���_$�*���‡$�9���²$�5���ì$�#���"%����F%����_%�4���u%�"���ª%�.���Í%�;���ü%����8&�%���N&����t&�1���”&����Æ&�.���à&����'�5���'����U'�#���l'�!���'����²'�)���Í'�$���÷'����(�*���9(����d(����{(� ���–(�"���·(����Ú(����ñ(����)���� )����7)�%���N)����t)�)���’)����¼)�$���Û)�����*����*����**����@*����^*����s*����’*����ª*�>���Á*�����+����+����)+����>+����T+����n+�!���‡+����©+����Ã+����Õ+����í+���� ,�$���,����D,�)���^,�%���ˆ,����®,����Å,�!���Ü,�6���þ,�,���5-����b-�&���}-����¤-�,���Â-�$���ï-�,���.� ���A.�-���b.����.�#���­.�#���Ñ.����õ.���� /����*/�'���J/����r/����…/�.���š/����É/�%���é/����0� ���0����+0����;0����L0�"���b0�<���…0�8���Â0�8���û0����41����T1����o1�)���Š1����´1����Ê1�)���ç1�(���2����:2�)���Z2����„2� ���†2����‘2�9���¨2�+���â2�,���3�)���;3�&���e3����Œ3�)���«3����Õ3�e���Ø3�_��>4� ���ž5� ���¿5����Í5�A���ì5�;���.6�1���j6�6���œ6�0���Ó6�5���7����:7�&���V7����}7����7����œ7����«7� ���º7����Å7����Ê7����Ð7�<���Ø7�>���8�+���T8� ���€8����‹8����¥8����Å8� ���Ô8����á8����æ8�'���ë8����9� ���-9� ���79� ���D9�"��O9� ���r:����}:�?���š:�7���Ú:����;�_���;�e���w;�a���Ý;�n���?<� ���®<� ���¹<� ���Æ<�7���Ò<�„�� =� ���>� ���œ>����¦>����(?�G���ª?�a��ò?�¹���TA�Ì���B� ���ÛB�$���üB�(���!C����JC����YC� ���iC�>���vC�'���µC�ð���ÝC� ���ÎD�)���ÙD�:���E����>E�F��NE����•F� ���žF�j��ªF�\���H� ���rH�$���}H�,���¢H�*���ÏH����úH� ��� I����I�¹���(I�3���âI�"���J�@���9J� ���zJ�£���ˆJ����,K�I���EK�}��K�0��� M�B���>M����M����“M����¢M����©M����ºM����ÀM����ÆM����ÌM����ÓM����äM�D���êM�œ��/N����ÌO�®���ãO����’P�§��¡P�´��IR����þS� ���T� ���T� ���T� ���&T����0T����GT����ZT����xT����•T����ªT����ÈT����ÞT����õT� ���U� ���U� ���U����)U� ���:U����FU����XU����iU����qU����zU����€U����V����V�1���(V� ���ZV����hV����yV����‘V���� V� ���¯V� ���½V� ���ÊV����ÖV����ßV����äV����éV� ���W�&���W� ���:W����DW�)���bW����ŒW�M���W����ÝW����øW�2���X�"��;X����^Y�Â���üY�Œ���¿Z�P���L[�~���[�m���\����Š\� ���Ž\����œ\� ���¯\�?���½\�-���ý\� ���+]� ���7]� ���B]����O]� ���W]� ���c]�P���„]�=���Õ]�Q���^�o��e^�Ä���Õ_�^���š`�5���ù`����/a���Na�G���dc�(���¬c�;���Õc�Œ���d�‰���žd�¨���(e�1���Ñe�µ���f�"���¹f�†���Üf�j���cg�`���Îg�Y���/h�à��‰h�<���jj����§j����Ãj� ���âj� ���ìj����ùj� ���þj���� k�4���k�€���Sk����Ôk����òk�¡���€l�;���"m�4���^m�(���“m�J���¼m����n����n����3n����Fn����Zn����kn����zn� ���‰n�¤���—n�=���<o�/���zo�?���ªo�t���êo� ���_p� ���mp� ���{p����ˆp�=���›p�!���Ùp�(���ûp�5���$q����Zq�{���pq����ìq����ír����ýr�M���s� ���Ps�K���\s����¨s����±s����Äs����Ús� ���òs� ���þs�;��� t����Gt����Wt� ���[t� ���|t�ã���‡t����ku����ˆu����šu����°u�¥��Äu�)���jw�+���”w�C���Àw�&���x����+x����2x� ���Ax����Ox����cx����|x����x����žx� ���¯x�Ø���¹x����’y����§y�<���·y�ƒ���ôy�-���xz�*���¦z�1���Ñz�;���{�>���?{�T��~{�#���Ó|�"���÷|�"���}� ���=}�/���Þ}�n���~�1���}~�R���¯~�1����2���4����g�^����M���Þ����,€�G���L€�-���”€�£���€����f�´����&���6‚�)���]‚�$���‡‚�&���¬‚�Z���Ó‚�}���.ƒ�•���¬ƒ�3���B„�"���v„�+���™„�/���Å„�d���õ„����Z…�«���Ü…�ï���ˆ†�H���x‡�!���Á‡�p���ã‡�}���Tˆ�$���Òˆ�µ���÷ˆ�O���­‰����ý‰�.���Š�-���¼Š�_���êŠ�&���J‹�j���q‹�%���Ü‹�)���Œ�,���,Œ�(���YŒ����‚Œ�Z��� �@���{�0���¼�F���í�j���4Ž����ŸŽ����¤Ž����ªŽ����ÊŽ����éŽ�������������¸���9�H���ò�L���;‘�F���ˆ‘� ���Ï‘����Ù‘����à‘� ���å‘�ß��ñ‘�Q���Ñ“�L���#”�p���p”�m���á”�®���O•�:���þ•����9–�9���O–�1���‰–�.���»–�)���ê–�%���—�!���:—����\—����z—����”—�2���¤—����×—����ë—����ñ—����÷—����˜�'���˜����>˜����S˜� ���j˜�I���‹˜����Õ˜�1���î˜�2��� ™����S™����e™����v™����“™�,���š™����Ç™�;���ã™�)���š����Iš����\š�,���|š����©š����Çš�$���äš���� ›����(›�J���C›�@���Ž›�%���Ï›�8���õ›�%���.œ�&���Tœ�$���{œ�#��� œ�1���Äœ�2���öœ�.���)�3���X�7���Œ�-���Ä�.���ò����!ž����Až� ���[ž� ���|ž����ž�"���³ž����Öž����öž�$���Ÿ�&���:Ÿ����aŸ�2���uŸ�$���¨Ÿ�4���ÍŸ�.��� ����1 ����K �,���k � ���˜ �2���¹ ����ì �$���¡�"���&¡�"���I¡����l¡����‹¡����«¡� ���Ë¡����ì¡���� ¢�*���¢����J¢����h¢�)���„¢�1���®¢����à¢�"����£����#£�9���=£�4���w£�9���¬£�"���æ£�K��� ¤�0���U¤�2���†¤�O���¹¤�B��� ¥� ���L¥����Z¥�-���z¥�3���¨¥�!���Ü¥� ���þ¥�4���¦����T¦�#���h¦����Œ¦�(���¬¦����Õ¦����ñ¦�(��� §����2§�@���Q§����’§����®§� ���̧�!���í§�6���¨�(���F¨�7���o¨�<���§¨�6���ä¨�'���©����C©�:���W©�%���’©����¸©����Щ����ã©����÷©����ª�&���*ª�%���Qª�!���wª�"���™ª����¼ª����ͪ����àª����òª���� «����"«����A«����T«����s«� ���ˆ«����”«����§«����¸«����Ë«����á«����ó«���� ¬����¬����2¬�,���H¬�+���u¬����¡¬�$���¿¬�)���ä¬����­����-­����G­�1���d­�$���–­����»­����Ñ­����ã­�7���ò­����*®����3®����D®����V®����l®����|®����®� ���£®� ���Ä®�$���å®�%��� ¯����0¯� ���B¯����c¯����z¯����—¯����¬¯����ɯ����ϯ����ã¯�.���õ¯����$°����?°�$���_°�-���„°�*���²°�H���ݰ����&±�2���E±�"���x±����›±�*���±±����ܱ�!���ö±�%���²�.���>²�,���m²�(���š²����ò� ���Þ²�)���ÿ²����)³�'���?³����g³�$���†³�&���«³�"���Ò³����õ³� ���´�$���´�'���C´�3���k´�0���Ÿ´�*���д�'���û´����#µ����>µ����Vµ�#���vµ�>���šµ�!���Ùµ�"���ûµ�!���¶����@¶�,���_¶�<���Œ¶����ɶ�%���å¶�7��� ·�!���C·�9���e·�3���Ÿ·����Ó·����ê·���� ¸�5���(¸�5���^¸�+���”¸�:���À¸����û¸�%���¹�"���@¹�$���c¹�%���ˆ¹�(���®¹�9���×¹�*���º�!���<º����^º�,���sº�1��� º����Òº����ìº�����»����»�7���5»����m»����r»�:���Ž»�=���É»�I���¼�%���Q¼����w¼� ���¼�)���±¼�'���Û¼�J���½����N½����d½����{½����‘½����«½����Ľ����Û½�*���÷½�%���"¾����H¾�!���`¾����‚¾�5���†¾����¼¾����ؾ�/���ì¾�9���¿�A���V¿�:���˜¿�<���Ó¿�(���À����9À����WÀ�*���tÀ����ŸÀ� ���»À����ÈÀ�G���ãÀ�O���+Á����{Á����•Á� ���­Á����ÎÁ����áÁ����ôÁ�"���Â�*���7Â�.���bÂ�$���‘Â����¶Â����ÑÂ����åÂ�(���öÂ�+���Ã����KÃ����^Ã����zÃ����’Ã����¥Ã����½Ã����ÖÃ����òÃ����Ä�*���(Ä�,���SÄ����€Ä�$���“Ä�'���¸Ä�4���àÄ����Å� ���0Å����=Å����MÅ����fÅ�$���wÅ����œÅ� ���¹Å����ÇÅ����ÛÅ����öÅ���� Æ����'Æ����=Æ�"���WÆ����zÆ����•Æ����³Æ����ÈÆ����åÆ����Ç� ��� Ç����,Ç����;Ç����KÇ����\Ç����tÇ����ŽÇ����¦Ç����ÃÇ����âÇ� ���õÇ�#���È����:È�$���RÈ����wÈ����‰È����È�a���°È�O���É����bÉ����xÉ����˜É����·É����ÊÉ�-���êÉ� ���Ê� ���%Ê����FÊ�.���XÊ� ���‡Ê�!���¨Ê����ÊÊ����çÊ�1���Ë�B���7Ë����zË����‘Ë����¨Ë����ÂË�N���ÙË�J���(Ì����sÌ�'���ŽÌ����¶Ì����ÆÌ����ÙÌ����êÌ� ���Í�'���%Í�5���MÍ�*���ƒÍ�.���®Í�5���ÝÍ����Î�%���Î�G���BÎ�7���ŠÎ�G���ÂÎ�(��� Ï�(���3Ï�5���\Ï����’Ï�@���¬Ï�:���íÏ����(Ð�D���7Ð�F���|Ð����ÃÐ����ÖÐ�7���óÐ�'���+Ñ� ���SÑ�.���^Ñ����Ñ����¡Ñ�$���µÑ�$���ÚÑ����ÿÑ�(���Ò����BÒ�(���`Ò����‰Ò����ŸÒ����·Ò����ÆÒ�(���ßÒ�9���Ó����BÓ����aÓ����€Ó� ���”Ó����µÓ� ���ÎÓ� ���ïÓ����Ô����)Ô����?Ô� ���\Ô�!���}Ô�'���ŸÔ� ���ÇÔ����ÒÔ� ���ïÔ����üÔ�6��� Õ�F���BÕ����‰Õ����¨Õ����¸Õ�%���ÕÕ����ûÕ���� Ö����Ö����0Ö�2���DÖ�J���wÖ����ÂÖ�'���ÜÖ� ���×�%���×����8×�)���P×����z×����€×�D���…×�4���Ê×�&���ÿ×����&Ø�A���AØ����ƒØ�$��� Ø����ÅØ�9���ר�3���Ù�&���EÙ�5���lÙ�&���¢Ù�)���ÉÙ����óÙ�9���Ú�L���IÚ�>���–Ú�"���ÕÚ�"���øÚ�,���Û�3���HÛ����|Û����’Û� ���¯Û����ÐÛ����åÛ����ûÛ�E���Ü�0���YÜ����ŠÜ����™Ü����¯Ü����ÁÜ�*���ÕÜ�����Ý� ���Ý�<���"Ý����_Ý����nÝ����‡Ý� ���žÝ����©Ý����±Ý�(���ÍÝ� ���öÝ����Þ����Þ����'Þ�%���<Þ�*���bÞ�4���Þ����ÂÞ�!���ÉÞ����ëÞ����üÞ���� ß����!ß����2ß����Dß����Uß����dß�#���uß����™ß�!���·ß����Ùß�O���÷ß� ���Gà����Qà����`à� ���oà�0���à�*���Áà�#���ìà� ���á����1á����Ná�9���ná����¨á����®á�G���½á�L���â�G���Râ�H���šâ�H���ãâ�8���,ã�F���eã�=���¬ã�6���êã�›���!ä� ���½ä�$���Þä�R���å�l���Vå�;���Ãå�:���ÿå����:æ�7���Væ�'���Žæ����¶æ����Ñæ�6���ïæ�)���&ç�2���Pç� ���ƒç����¤ç����¿ç����×ç����Ýç����÷ç����è����è�1���5è����gè�;���†è����Âè����Þè� ���ûè���� é�5���"é�[���Xé����´é����Èé����Ýé�:���ðé����+ê�B���Gê�!���Šê�D���¬ê����ñê�,���ë�R���=ë�H���ë����Ùë����îë����ì� ���,ì�A���6ì�(���xì�N���¡ì�4���ðì�E���%í�L���kí�;���¸í�#���ôí����î�:���6î�5���qî�>���§î�9���æî�2��� ï�6���Sï����Šï�1���Ÿï�<���Ñï�9���ð�^���Hð����§ð����½ð����Ôð����ñð� ���‚ñ�6���Žñ�M���Åñ�=���ò�n���Qò�a���Àò�X���"ó�2���{ó����®ó�/���Îó�9���þó�6���8ô�0���oô�'��� ô����Èô����Úô����ïô����õ�1���õ�8���Lõ�,���…õ�$���²õ����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����×õ����ßõ�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��܈��øˆ�� ‰�� ‰��4‰��H‰��\‰��p‰��Œ‰��¨‰��ĉ��à‰��ô‰��Š��çõ��������������� �����������������ÿÿÿÿö��������1���ÿÿÿÿ9ö��������/���ÿÿÿÿiö����������ÿÿÿÿ™ö�7����������ÿÿÿÿãö�����������ÿÿÿÿ÷�����������ÿÿÿÿ-÷�����������ÿÿÿÿW÷��������(���ÿÿÿÿ„÷� �������Q���ÿÿÿÿß÷� �������R���ÿÿÿÿ;ø� �������V���ÿÿÿÿ›ø������������������ÿÿÿÿÇø�����������ÿÿÿÿÎø� ���������������ÿÿÿÿøø����������ÿÿÿÿù��������������������������������ÿÿÿÿ=ù������������������ÿÿÿÿhù������������������ÿÿÿÿ—ù�������5���ÿÿÿÿÍù�=����������ÿÿÿÿú��������3���ÿÿÿÿRú�����������ÿÿÿÿrú�����������ÿÿÿÿŸú��������-���ÿÿÿÿÑú� �������4�������*���ÿÿÿÿ9û� �������,�������"���ÿÿÿÿ‘û� �������0�������'���ÿÿÿÿòû������������������ÿÿÿÿ!ü� ����������ÿÿÿÿ-ü����������������ÿÿÿÿ^ü����������ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-12 13:06+0200 Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee> Language-Team: Estonian <linux-ee@lists.eenet.ee> Language: et MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); � � BAITE on kuueteistkümnend number prefiksi 0x või 0X korral, ja võib omada kordaja sufiksit: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 ja nii edasi G, T, P, E, Z, Y korral. � TÜÜP on üks või enam järgnevaid: a sümbolid nimedega, ülemist bitti ignoreeritakse" c ASCII sümbol või langkriipsuga paojada � Traditsioonilisi vormingu määranguid võib koos kasutada; need on: -a sama, kui -t a, vali nimedega sümbolid, ülemist bitti ignoreeritakse -b sama, kui -t o1, vali kaheksandbaidid -c sama, kui -t c, vali ASCII sümbolid või langkriipsuga paojada -d sama, kui -t u2, vali märgita 2-baidised kümnendarvud � ( AVALDIS ) AVALDIS on tõene ! AVALDIS AVALDIS on väär AVALDIS1 -a AVALDIS2 nii AVALDIS1, kui ka AVALDIS2 on tõesed AVALDIS1 -o AVALDIS2 kas AVALDIS1 või AVALDIS2 on tõene � --check-order kontrolli et sisend on korrektselt järjestatud, isegi kui kõik sisendread on paaris --nocheck-order ära kontrolli sisendi järjestatud � -1 blokeeri veerg 1 (read, mis on ainult failis FAIL1) -2 blokeeri veerg 2 (read, mis on ainult failis FAIL2) -3 blokeeri veerg 3 (read, mis on mõlemas failis) � -a, --all sama, kui -b -d --login -p -r -t -T -u -b, --boot viimase alglaadimise aeg -d, --dead esita surnud protsessid -H, --heading esita veergude päised � -b FAIL FAIL on olemas ja on blokkseade -c FAIL FAIL on olemas ja on sümbolseade -d FAIL FAIL on olemas ja on kataloog -e FAIL FAIL on olemas � -l väljasta antud kasutajate kohta kogu info -b ära esita kogu infos kasutaja kodukataloogi ja shelli -h ära esita kogu infos kasutaja projekti faili -p ära esita kogu infos kasutaja plaani faili -s väljasta lühiinfo, seda kasutatakse vaikimisi � -n SÕNE SÕNE pikkus on nullist erinev SÕNE sama kui -n SÕNE -z SÕNE SÕNE pikkus on null SÕNE1 = SÕNE2 sõned on võrdsed SÕNE1 != SÕNE2 sõned ei ole võrdsed � ARG1 * ARG2 ARG1 ja ARG2 aritmeetiline korrutis ARG1 / ARG2 ARG1 jagatud ARG2 täisosa ARG1 % ARG2 ARG1 jagatud ARG2 jääk � ARG1 + ARG2 ARG1 ja ARG2 aritmeetiline summa ARG1 - ARG2 ARG1 ja ARG2 aritmeetiline vahe � ARG1 < ARG2 ARG1 on väiksem, kui ARG2 ARG1 <= ARG2 ARG1 on väiksem või võrdne, kui ARG2 ARG1 = ARG2 ARG1 ja ARG2 on võrdsed ARG1 != ARG2 ARG1 ja ARG2 ei ole võrdsed ARG1 >= ARG2 ARG1 on suurem või võrdne, kui ARG2 ARG1 > ARG2 ARG1 on suurem, kui ARG2 � FAIL1 -ef FAIL2 FAIL1 ja FAIL2 omavad samu seadme ja ikirje numbreid FAIL1 -nt FAIL2 FAIL1 on uuem (muutmise aeg), kui FAIL2 FAIL1 -ot FAIL2 FAIL1 on vanem, kui FAIL2 � TÄISARV kopeeri kuni, aga mitte kaasa arvatud, antud reanumbrini /REGAV/[NIHE] kopeeri kuni, aga mitte kaasa arvatud, sobiva reani %REGAV%[NIHE] jäta vahele kuni, aga mitte kaasa arvatud, sobiva reani {TÄISARV} korda eelmist mustrit antud arv kordi {*} korda eelmist mustrit niipalju kui võimalik Rea NIHE peab olema kujul '+' või'-', millele järgneb positiivne täisarv. � NUMBER1 -eq NUMBER2 NUMBER1 ja NUMBER2 on võrdsed NUMBER1 -ge NUMBER2 NUMBER1 on suurem või võrdne, kui NUMBER2 NUMBER1 -gt NUMBER2 NUMBER1 on suurem, kui NUMBER2 NUMBER1 -le NUMBER2 NUMBER1 on väiksem või võrdne, kui NUMBER2 NUMBER1 -lt NUMBER2 NUMBER1 on väiksem, KUI NUMBER2 NUMBER1 -ne NUMBER2 NUMBER1 ja NUMBER2 ei ole võrdsed � SÕNE : REGEXP mustri REGEXP otsing SÕNEst match SÕNE REGEXP sama, kui SÕNE : REGEXP substr SÕNE POS LENGTH SÕNE alamsõne, POS algab väärtuselt 1 index SÕNE SÜMBOLID SÕNE indeks, kust leiti SÜMBOLID, või 0 length SÕNE SÕNE pikkus � a nummerda kõik read t nummerda ainult mittetühjad read n ära nummerda ridu pBRE nummerda ainult read, mis sobivad antud lihtsa regulaaravaldisega, BRE VORMING on üks järgnevaist: ln vasakule joondatud, nulle ees pole rn paremale joondatud, nulle ees pole rz paremale joondatud, eest täidetud nullidega � b loo plokkseade (puhverdatud) c, u loo sümbolseade (puhverdamata) p loo FIFO � kasutajaid=%lu � Kui LEHE_PIKKUS <= 10, kasutatakse -t. Kui FAIL puudub või on -, loe standardsisendit. � Väli on komplekt tühimikke (tavaliselt tühikud ja/või tabulaatorid), millele järgnevad mittetühimik sümbolid. Väljad jäetakse vahele enne sümboleid. � Kerge 'finger' programm; väljastab kasutaja kohta infot. Kasutatakse utmp faili %s. � Ainult - rakendab võtme -i. Kui käsku ei ole antud, väljasta keskkond. � Lisades igale tüübile sufiksi z, väljastatakse iga rea lõpus olevad prinditavad sümbolid. � Peale lippe võib kasutada välja laiuse määramiseks veel numbrit; seejärel täiendajat, mis võib olla kas E et kasutada lokaadi alternatiivesitust või O et kasutada lokaadi alternatiivset numbrilist esitust � Puuduva AVALDIS korral kasutatakse väärtust väär. Muidu, AVALDIS on kas tõene või väär ja seab lõpetamise oleku. Avaldis on üks järgnevaist: � Erijuhuna loob cp varukoopia ka kopeeritavast, kui on kasutatud võtmeid force ja backup ning ALLIKAS ja SIHT on sama nimi olemasoleval tavalisel failil. � Pange tähele, et paljud operaatorid vajavad käsuinterpretaatori eest kaitset kvootimise või langkriipsuga kaitsmise näol. Võrdlused on aritmeetilised, kui mõlemas argumendid on numbrid, muidu leksikograafilised. Mustri otsing tagastab teksti, mis leiti \( ja \) vahel või null; kui \( ja \) ei kasutata, tagastatakse leitud sümbolite arv või 0. � Kui TÜÜP on b, c või u, peavad olema antud nii KLASS kui ESINDAJA ja neid ei tohi kasutada, kui TÜÜP on p. Kui KLASS või ESINDAJA algab 0x või 0X, käsitletakse seda kuueteistkümnendarvuna. Kui See algab numbriga 0, käsitletakse seda kaheksandarvuna, muidu kümnendarvuna. TÜÜP võib olla: � Vaikimisi ei kustuta rm katalooge. Kataloogide ja nende sisu kustutamiseks kasutage võtit --recursive (-r või -R). � Vaikimisi kasutatakse -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. SE on kaks eraldussümbolit loogiliste lehekülgede eraldamiseks, puuduva teise sümboli asemel kasutatakse :. \ esitamiseks kirjutage \\. STIIL on üks järgnevaist: � Vaikimisi üritatakse tuvastada aukudega faile robustse heuristilise meetodiga ning vastav sihtfail luuakse samuti aukudega. Sellise käitumise määrab võti --sparse=auto. Kasutage --sparse=always, et luua aukudega sihtfail alati, kui lähefail sisaldab piisavalt pika järjendi null baite. --sparse=never blokeerib aukudega failide loomise. Kui kasutada --reflink[=always], teostatakse kiire kopeerimine, kus andmeblokid kopeeritakse ainult juhul, kui neid muudetakse. Kui see pole võimalik, kopeerimine ebaõnnestub, või kui kasutati --reflink=auto, siis kasutatakse tavalist kopeerimist. � TÜKKI võib olla: N tükelda N failiks vastavalt sisendi mahule K/N väljasta standardväljundisse N'i K's osa l/N tükelda N failiks ridasid poolitamata l/K/N väljasta standardväljundisse N'i K's osa ridasid poolitamata r/N nagu 'l' aga kasuta "round robin" jaotust r/K/N sama, aga väljasta standardväljundisse ainult N'i K's osa � Kombineeritud seaded: * [-]LCASE sama, kui [-]lcase cbreak sama, kui -icanon -cbreak sama, kui icanon � Kontrollseaded: [-]clocal blokeeri modemi kontrolli signaalid [-]cread luba sisendit * [-]crtscts luba RTS/CTS vookontroll * [-]cdtrdsr luba DRT/DSR vookontroll csN sea sümboli suuruseks N bitti, N vahemikust [5..8] � KESTUS on ujukomaarv järgneva võimaliku sufiksiga: 's' on sekundit(vikimisi), 'm' on minutit, 'h' on tunde ja 'd' on päevi. � Esitatavad väärtused on ühikud esimesest kasutatavast --block-size SIZE väärtusest ja %s_BLOCK_SIZE, BLOCK_SIZE ning BLOCKSIZE keskkonnamuutujatest. Muidu on ühik vaikimisi 1024 (või 512, kui POSIXLY_CORRECT on seatud). � Iga lipp võib olla: append lisamise mood (omab mõtet ainult väljundil; soovitame conv=notrunc) � Iga MOOD on kujul '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Näited: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 fail1 fail2 Väljasta ainult read mis on olemas mõlemas failis. %s -3 fail1 fail2 Väljasta read, mis on ainult ühes failis. � Näited: %s /usr/bin/ -> "/usr". %s dir1/str dir2/str -> "dir1" millele järgneb "dir2" %s stdio.h -> ".". � Näited: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" millele järgneb "str2" � Näited: %s f - g Väljasta f'i sisu, siis standardsisend, siis g sisu. %s Kopeeri standardsisend standardväljundisse. � Näited: %s root /u Sea /u omanikuks "root". %s root:staff /u Sama, kui eelmine aga sea ka grupp. %s -hR root /u Sea /u ja selle sisu omanikuks "root". � Näited: %s staff /u Sea /u grupi "staff" omaks. %s -hR staff /u Sea /u ja selle sisu grupi "staff" omaks. � Näited: Teisenda sekundid epohhist (1970-01-01 UTC) kuupäevaks $ date --date='@2147483647' Näita USA läänekalda aega (TZ leidmiseks kasutage tzselect(1)) $ TZ='America/Los_Angeles' date Näita USA läänekalda ajas järgmise reede kell 9 hommikul $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Välja arvatud -h ja -L korral, kõik failidega seotud operatsioonid lahendavad nimeviiteid. Pange tähele, et sulud vajavad käsuinterpretaatori eest kaitset kvootimise või langkriipsuga kaitsmise näol. NUMBER võib olla ka -l SÕNE, mis tähistab siis SÕNE pikkust. � Lõpetamise kood on 0 kui AVALDIS pole ei null ega 0, 1 kui AVALDIS on null või 0, 2 kui AVALDIS on süntaktiliselt vigane ja 3 kui tekkis viga. � Lõpetamise kood on 0, kui kõik sisendi numbrid õnnestus edukalt teisendada. Vaikimisi lõpetab %s esimese teisendamise vea peale koodiga 2. Võtmega --invalid='fail' väljastatakse iga teisendamise vea korral hoiatus ja lõpetamise kood on 2. Võtme --invalid='warn' korral väljastatakse iga teisendamise vea korral hoiatus, aga lõpetamise kood on 0. Võtme --invalid='ignore' korral vigadest ei teatata ja lõpetamise kood on 0. � Lõpetamise kood: 0 korras, 1 väiksemad probleemid (n., ei saa kasutada alamkataloogi), 2 suurem probleem (n., käsurea argumenti ei saa kasutada). � VÄLJAD on komadega eraldatud veergude loend, lubatud nimed on: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' ja 'target' (vaadake info lehte). � FORMAAT kontrollib väljundit nagu C printf. Interpreteeritavad järjendid on: \" jutumärk � FORMAAT kontrollib väljundit. Interpreteeritavad järjendid on: %% sümbol % %a lokaadi lühendatud nädalapäeva nimi (näiteks P) � VORMING peab olema sobiv ühe ujukoma argumendi väljastamiseks '%f'. Mittekohustuslik kvoot (%'f) lülitab võtme --grouping (kui lokaat seda toetab). Mittekohustuslik laiuse väärtus (%10f) määrab väljundi täitmise. Mittekohustuslik negatiivne laiuse väärtus (%-10f) määrab väljundi vasakult täitmise. � Käsitle terminali, mis on ühendatud standardsisendiga. Kui argumente ei antud, väljasta terminali kiirus, liini seaded ja erinevused seadest `stty sane'. Terminali seadete muutmisel käsitletakse SÜMBOLit kas literalina või kui ^c, 0x37, 0177 või 127; spetsiaalväärtuseid ^- või undef kasutatakse vastava sümboli blokeerimiseks. � Võtmega -e on võimalik kasutada järgmisi järjendeid: � Kui FAIL on -, töötle standardväljundit. Kustuta failid, kui kasutati võtit --remove (-u). Vaikimisi faile ei kustutata, kuna enamasti töötatakse seadmefailidega, näiteks /dev/hda, ja enamasti ei soovita nende eemaldamist. Tavaliste failidega töötamisel kasutab enamus inimesi võtit --remove. � Kui FAILi ei antud, kasuta %s. %s on sel puhul tavaline. Kui antakse ARG1 ARG2, eeldatakse võtit -m: tavaline on 'am i' või 'mom likes'. � Kui on antud FAIL, loe sealt failitüüpide ja laienditega kasutatavad värvid. Muidu kasuta vaikimisi andmebaasi. Infot failide vormingu kohta saate käsuga 'dircolors --print-database'. � Kui ESIMENE või SAMM puudub, kasutatakse väärtust 1. Puuduva SAMMU asemel kasutatakse väärtust 1 isegi kui VIIMANE on väiksem, kui ESIMENE. ESIMENE, SAMM, VIIMANE interpreteeritakse, kui murdarve. SAMM on tavaliselt positiivne, kui ESIMENE on VIIMASEST väiksem ja negatiivne, kui VIIMANE on ESIMESEST väiksem. � Kui MOOD on '0', siis vastavaid vooge ei puhverdata. � Kui MOOD on 'L', siis kasutatakse vastava voo korral reapuhvrit. See parameeter pole standardsisendi korral lubatud. � Kui FAIL on -, kopeeri uuesti standardväljundisse. � Kui käsklust ei antud, käivita '${SHELL} -i'' (vaikimisi: '/bin/sh -i'). � Kui standardsisend on terminal, suuna see ümber /dev/null pealt. Kui standard väljund on terminal, saada väljund faili 'nohup.out', kui see võimalik pole, siis faili '$HOME/nohup.out'. Kui standard veavoog on terminal, suuna see standard väljundisse. Väljundi faili suunamiseks, kasutage '%s KÄSKLUS > FAIL'. � Kui käsklus ei lõpeta õigeaegselt ja --preserve-status ei kasutatud, lõpetab koodiga 124. Muidu lõpetab käsu lõpetamise koodiga. Kui signaali ei määratud, saadab TERM signaali. TERM signaal tapab iga protsessi, mis seda signaali ei blokeeri või kinni ei püüa. Muude protsesside korral võib olla vajalik kasutada KILL (9) signaali, sest seda signaali ei saa kinni püüda. KILL (9) korral on lõpetamise kood 128+9, mitte 124. � Kui N esimene sümbol (baitide või ridade arv) on '+', väljasta alustades faili algusest Ninda elemendiga, muidu väljasta failist viimased N elementi. N võib omada kordavat sufiksit: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi tähtedega T, P, E, Z, Y. � Sisendiseaded: [-]brkint break põhjustab katkestuse signaali [-]icrnl tõlgi rea algusse sümbol reavahetuseks [-]ignbrk ignoreeri break sümbolit [-]igncr ignoreeri rea algusse sümbolit � K võib omada järgnevaid kordavaid sufikseid: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, Y. � KEYDEF on V[.S][VÕTMED][,V[.S][VÕTMED]] alguse ja lõpu määramiseks, kus V on välja number ja S on sümboli positsioon väljal, mõlemad algavad kohalt 1 ning lõpuks on vaikimisi realõpp. Kui võtmeid -t ega -b ei kasutata, loetakse sümboleid tekstile eelneva tühemiku algusest. VÕTMED on üks või enam ühe tähelisi järjestamise võtmeid [bdfgiMhnRrV], mis määravad antud võtme jaoks ümber globaalselt seatud järjestamise reegleid. Kui võtit ei ole antud, kasutatakse võtmena tervet rida. MAHT järel võib kasutada järgnevaid kordavaid sufikseid: � Litsents GPLv3+: GNU GPL versioon 3 ja uuem <http://gnu.org/licenses/gpl.html>. See on vaba tarkvara: teil on lubatud seda muuta ja levitada. GARANTII PUUDUB, vastavalt seadusega lubatud piiridele. � Lokaalsed seaded: [-]crterase korda kustutamise sümbolit kui samm tagasi-tühik-samm tagasi * crtkill surma terve rida vastavalt echoprt ja echoe seadetele * -crtkill surma terve rida vastavalt echoctl ja echok seadetele � Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka lühikestele. � N ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, Y. Iga VÕTMESÕNA võib olla: � MÄRKUS: Kui KÄSKLUS kohendab oma standardvoogude puhvreid (n. 'tee'), siis need seaded kirjutavad 'stdbuf' seaded üle. Samuti osad filtrid (nagu 'dd' ja 'cat' jne.) ei kasuta vooge ja seega 'stdbuf' seaded neid ei mõjuta. � MÄRKUS: [ arvestab --help ja --version võtmeid, aga test mitte. test käsitleb neid nagu igat teist mittetühja sõne. � MÄRKUS: teie käsuinterpretaator võib omada oma versiooni %s, millist tavaliselt eelistatakse siinkirjeldatule. Täpsemat infot ja kasutusjuhendi leiate oma käsuinterpretaatori dokumentatsioonist. � Kui te kasutate faili kustutamiseks käsku rm, võib olla võimalik siiski faili sisu taastada. Kui teil on vaja suuremat kindlust, et faili sisu ei saa taastada, proovige käsku shred. � Pange tähele, et võtmed -d ja -t kasutavad erinevaid aja vorminguid. � Märkus, võrdlused kasutavad 'LC_COLLATE' reegleid. � Märkus: 'uniq' ei tuvasta kordusi, kui need ei järgne üksteisele. Esmalt tuleb sisend järjestada, või kasutage 'uniq' asemel 'sort -u'. Võrdlused kasutavad 'LC_COLLATE' poolt määratud reegleid. � Võimalik - enne seadet tähistab eitust. Sümbol * märgib POSIX standardile mittevastavat seadet. Seadete kasutatavuse määrab kasutatav operatsioonisüsteem. � Muidu on MOOD number, mis võib olla täiendatud järgnevalt: KB 1000, K 1024, MB 1000*1000, M 1024*1024 ja nii edasi G, T, P, E, Z, Y. Sellise seadega on voog puhverdatud ja MOOD on puhvri suurus. � Väljundi seaded: * bsN samm tagasi viivitus, N vahemikust [0..1] * crN rea algusse viivitus, N vahemikust [0..3] * ffN lehevahetuse viivitus, N vahemikust [0..1] * nlN reavahetuse viivitus, N vahemikust [0..1] � Omanikku ei muudeta, kui ei ole määratud. Gruppi ei muudeta, kui ei ole määratud, kui muudetakse primaarseks grupiks, kui kasutatakse sümbolit ':'. Omanik ja grupp võivad olla antud nii numbrina kui ka nimena. � Trüki AVALDISe väärtus standardväljundisse. Tühi rida loendis allpool eraldab kasvava prioriteediga gruppe. AVALDIS võib olla: ARG1 | ARG2 ARG1 kui see pole null ega 0, muidu ARG2 ARG1 & ARG2 ARG1 kui kumbki argument ei ole null või 0, muidu 0 � Kui FAIL on -, loe standardsisendit. Iga MUSTER võib olla: � %s vigadest teatage palun aadressil %s � Vigadest teatage palun aadressil: %s � HULGAD esitatakse sümbolite jadana. Enamus esitab iseennast. Interpreteeritavad järjendid on: \NNN sümbol kaheksandväärtusega NNN (1 kuni 3 kaheksandnumbrit) \\ langkriips \a kuuldav piiks \b samm tagasi \f lehevahetus \n uus rida \r reavahetus \t horisontaalne tabulaator � SIGNAAL võib olla signaali nimi, nagu 'HUP', või signaali number, nagu '1', või signaaliga katkestatud programmi lõpetamise kood. PID on täisarv, negatiivne tähendab protsessi gruppi. � SUURUS on number. TÜÜPIDE [doux] korral võib SUURUS olla ka C, tähistamaks sizeof(char), S tähistamaks sizeof(short), I tähistamaks sizeof(int) või L tähistamaks sizeof(long). Kui TÜÜP on f võib SUURUS olla ka F tähistamaks sizeof(float), D tähistamaks sizeof(double) või L tähistamaks sizeof(long double). � SUURUS on täisarv ja võimalik ühik (näiteks: 10M on 10*1024*1024). Ühikud on K, M, G, T, P, E, Z, Y (1024 kordsed) või KB, MB, ... (1000 kordsed). � SUURUS võib olla prefiksiga ühest järgnevaist sümbolitest: '+' suurenda, '-' vähenda, '<' kuni, '>' vähemalt, '/' ümarda alla kordseks, '%' ümarda üles kordseks. � Kui saadate töötavale 'dd' protsessile signaali %s, kirjutab dd standard veavoogu seni loetud ja kirjutatud kirjete arvud ja jätkab kopeerimist. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 kirjet loetud 18335302+0 kirjet kirjutatud 9387674624 baiti (9.4 GB) kopeeritud, 34.6279 sekundit, 271 MB/s Võtmed on: � Spetsiaalsümbolid:\n" * dsusp SÜMBOL SÜMBOL saadab terminali peatamise signaali, kui sisend on loetud eof SÜMBOL SÜMBOL saadab faili lõpu teate (lõpetab sisendi) eol SÜMBOL SÜMBOL lõpetab rea � Spetsiaalseaded: N sea sisendi ja väljundi kiiruseks N boodi * cols N teata tuumale, et terminalil on N veergu * columns N sama, kui cols N � Varukoopia sufiks on '~', kui seda ei ole muudetud võtmega --suffix või keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX. Versioonikontrolli meetodit saab valida võtmega --backup või keskonnamuutujaga VERSION_CONTROL. Võimalikud väärtused on järgnevad: � Andmed kodeeritakse vastavalt RFC 3548 kirjeldatud base64 tähestikule. Dekodeerimisel võib sisend sisaldada lisaks formaalsele base64 tähestikule ka reavahetusi. Andmevoos tähestikuväliste sümbolite eemaldamiseks kasutage --ignore-garbage. � Järgnevad võtmed muudavad hierarhia läbimist juhul, kui on kasutatud võtit -R. Kui kasutatakse enam kui üht võtit, kehtib viimane. -H kui argument on nimeviide kataloogile, lahenda see -L lahenda kõik ette tulevad nimiviidad kataloogidele -P ära lahenda nimeviiteid (vaikimisi) � Järgmised võtmed on kasulikud ainult kontrollsummade kontrollimisel: --quiet ära väljasta OK iga eduka kontrolli kohta --status ära väljasta midagi, tulemust näitab lõpetamise kood -w, --warn hoiata vigaselt vormindatud kontrollsummadest � Summad arvutatakse vastavalt %s kirjeldusele. Summade kontrollimisel tuleb kasutada selle programmi väljundit. Vaikimisi mood on väljastada rida kontrollsummaga, seejärel sümbol, mis märgib faili tüüpi ('*' kahend- ja tühik tekstifaili korral) ja seejärel faili nimi. � Lubatud vormingu järjendid failidele (ei kasuta --file-system): %a õigused kaheksandesituses %A õigused inimesele loetaval kujul %b kasutatud blokkide arv (vaata %B) %B iga `%b' poolt antud bloki maht baitides %C SELinux turvakontekst � See installi programm kopeerib (tihti just kompileeritud) failid valitud sihtkohta. Kui te soovite GNU/Linux süsteemis alla laadida ja paigaldada pakette, kasutage vastavat paketi haldurit nagu yum(1) või apt-get(1). Esimesed kolm varianti kopeerivad allika sihtkohta või allikad olemasolevasse kataloogi seades õigused ja omaniku/grupi. Neljas variant loob antud kataloogi(d). � Et eemaldada faili, mille nimi algab sümboliga '-', näiteks '-foo', kasutage üht järgnevaist käskudest: %s -- -foo %s ./-foo � Tõlkimine toimub, kui -d ei kasutatud ja HULK1 ja HULK2 on määratud. -t saab kasutada ainult tõlkimisel. HULK2 täiendatakse vajadusel HULK1 pikkuseni, korrates vajadusel viimast HULK2 sümbolit. Liigseid sümboleid HULK2s ignoreeritakse vajadusel. Ainult [:lower:] ja [:upper:] on garanteeritult kasvavas järjestuses. Kasutatuna HULK2 koosseisus tõlkimisel, saab seda kasutada ainult tähesuuruse tõlkimisel. -s kasutab HULK1 kui ei tõlgi või kustuta; tihendamine kasutab HULK2 ja teostatakse peale tõlkimist või kustutamist. � Ühiku võtmed: � Kui võtit -t SÜMBOL ei kasutata, ignoreeritakse väljade ees olevaid tühikuid, muidu kasutatakse väljade eraldajana võtmega -t määratud sümbolit. Välja tähistatakse välja numbriga, loendamist alustatakse ühest. Vorming on üks või enam komade või tühikutega eraldatud määranguid kujul 'FAILINUM.VÄLI' või `0'. Vaikimisi vorming väljastab ühendatud väljad, siis ülejäänud väljad failist FAIL1, siis ülejäänud väljad failist FAIL2. Väljad eraldatakse SÜMBOLiga. Kui vorming on võtmesõna 'auto', siis iga faili esimene rida määrab igal real väljastatavate väljade arvu. Tähtis: FAIL1 ja FAIL2 peab olema join väljade järgi järjestatud. N. kasutage "sort -k 1b,1" kui 'join' parameetreid pole või kasutage "join -t ''" kui 'sort' parameetreid pole. Märkus, võrdlemisel kasutatakse 'LC_COLLATE' reegleid. Kui sisend pole järjestatud ja mõningaid ridu ei saa ühendada, väljastatakse hoiatus. � Kasutage ühte ja ainult ühte võtit järgnevaist -b, -c või -f. Iga LOEND koosneb vahemikust või komadega eraldatud vahemikest. Valitud sisend kirjutatakse täpselt üks kord lugemise järjekorras. � Võti -s ignoreerib -L ja -P. Muidu, viimane võti kontrollib kuidas käituda nimeviidetega, kasutades vaikimisi %s. � Failitüüpide eristamiseks värvide kasutamine on vaikimisi blokeeritud ja saab blokeerida võtmega --color=never. Võtmega --color=auto, ls kasutab värvikoode ainult juhul, kui väljund läheb terminalile. Keskkonnamuutuja LS_COLORS mõjutab värviseadeid. Selle muutuja seadmiseks kasutage dircolors käsku. � Kui FAIL puudub või on -, loe standardsisendit. '-F /' on vaikimisi. � Kui FAIL puudub või on -, loe standardsisendit. � Võtmeteta väljastatakse kolm veergu. Esimeses veerus on faili FAIL1 unikaalsed read, teises veerus on faili FAIL2 unikaalsed read ja kolmandas veerus on nende kahe faili ühised read. � Kui võtmeid pole antud, väljasta komplekt kasutatavat informatsiooni. � Väljasta faili üheselt mõistetav esitus (vaikimisi kaheksandbaidid) standardväljundisse. Enam, kui ühe faili korral väljastatakse nende sisud järjest vastavalt esitatud järjekorrale. Kui FAIL puudub või on -, loe standardsisendit. � (kasutatav süsteemides, kus saab muuta nimeviite omanikku) � ???� --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia -b nagu --backup aga ei kasuta argumenti -f, --force ära küsi enne ülekirjutamist -i, --interactive küsi enne ülekirjutamist -n, --no-clobber ära kirjuta olemasolevat faili üle Kui te annate enam kui ühe võtmetest -i, -f, -n, ainult viimane jääb kehtima. � --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia -b nagu --backup, aga ei võta argumenti -d, -F, --directory lubab superkasutajal luua viidet kataloogile (märkus: tõenäoliselt ebaõnnestub, kuna reeglina süsteemid ei luba kataloogidele viiteid luua) -f, --force eemalda olemasolevad sihtfailid � --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia -b nagu --backup, aga ei võta argumenti -c (ignoreeritakse) -C, --compare võrdle iga lähte ja sihtfaili paari ja, mõnel juhul, ei muuda sihtfaili üldse -d, --directory käsitle kõiki argumente kataloogidena; loo kõik antud kataloogide komponendid � --batch-size=NMESTI mesti korraga ülimalt NMESTI sisendit; paremaks ajutiste failide kasutamiseks � --block-size=SUURUS kasuta määratud ploki suurust. Näiteks '--block-size=M' väljastab suurused 1 048 576 baidiste blokkidena. SUURUS vorming on allpool. -B, --ignore-backups ära näita nimesid, mille lõpus on ~ -c võtmega -lt: järjesta ja näita ctime (faili oleku viimase muutmise aeg) võtmega -l: näita ctime ja järjesta nime järgi muidu: järjesta ctime järgi, uusim esimesena � --complement täienda valitud baitide, sümbolite või väljade hulka. � --debug teata järjestamiseks kasutatud rea osa, ja hoiata küsitavast kasutamisest stderr voogu --files0-from=F loe sisend failidest NUL sümboliga lõpetatud nimedega failist F; Kui F on - siis loe nimed standardsisendist � --debug väljasta hoiatused vigase sisendi kohta � --dereference muuda nimeviite poolt viidatavat (see on vaikimisi), mitte nimeviidet ennast -h, --no-dereference muuda nimeviidet, mitte viidatavat � --field=N asenda number sisendväljal N (vaikimisi 1) � --files0-from=F loe sisend failidest, mille NUL-sümboliga lõpetatud nimed on failis F. Kui F on -, siis loetakse nimed standardsisendist -L, --max-line-length väljasta pikima rea pikkus -w, --words väljasta sõnade arv � --files0-from=F summeeri failist F loetud failide kettakasutus failinimed failis F on eraldatud sümboliga NUL -H sama, kui võti --dereference-args (-D) -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M 2G) � --format=FORMAT kasuta printf stiilis ujukoma vormingut; detailid leiate allpool � --from-unit=N määra sisend ühiku suurus (vaimimisi on 1) � --from=PRAEGUNE_OMANIK:PRAEGUNE_GRUPP muuda iga antud faili omanikku ja/või gruppi ainult juhul, kui kehtiv omanik ja/või grupp on samad siin esitatutega. Emb-kumb võib olla ära jäetud, sellisel juhul ei nõuta puuduva attribuudi sobivust. � --from=UNIT määra sisendnumbritele ühiku suurus; vaikimisi 'none' ühikute kirjeldus on allpool � --group-directories-first grupeeri kataloogid enne faile. täienda võtmega --sort, aga --sort=none (-U) blokeerib grupeerimise � --grouping grupeeri numbrid kasutades lokaadi reegleid, näiteks. 1,000,000 � --header[=N] väljastab (teisendamata) esimesed N päiserida vaikimisi N on 1 � --help väljasta see abiinfo ja lõpeta töö � --indicator-style=SÕNA lisa nimedele indikaator, vastavalt antud stiilile: none (vaikimisi), slash (-p), file-type (--file-type), classify (-F) -i, --inode väljasta iga faili i-kirje number -I, --ignore=MUSTER ära näita shelli mustrile vastavaid nimesid -k, --kibibytes kasuta 1024 baidiseid blokke � --invalid=MOOD vigaste numbrite korral kasutatav reaktsioon, väärtused: abort (vaikimisi), fail, warn, ignore � --lookup ürita lahendada masinate nimesid DNS abil -m ainult standardsisendiga seotud masin ja kasutaja -p, --process väljasta init poolt loodud aktiivsed protsessid � --no-preserve-root ära käsitle '/' eriliselt --preserve-root ära kustuta '/' (vaikimisi) -r, -R, --recursive eemalda kataloogide sisu rekursiivselt -d, --dir kustuta tühjad kataloogid -v, --verbose selgita mis on teoksil � --no-preserve-root ära käsitle '/' eriliselt (vaikimisi) --preserve-root ära töötle '/' rekursiivselt � --no-preserve=ATR_LOEND ära säilita antud atribuute --parents lisa allika tee kataloogi ette � --one-file-system kustutades kataloogipuud, kustuta ainult samal seadmel olevaid faile � --output[=VÄLJAD] väljasta kõik või ette antud väljad. -P, --portability kasuta POSIX väljundi vormingut --sync enne info lugemist käivita sync -t, --type=TÜÜP väljasta info antud tüüpi failisüsteemidest -T, --print-type väljasta failisüsteemi tüüp -x, --exclude-type=TÜÜP ära väljasta infot antud tüüpi failisüsteemidest -v (ignoreeritakse) � --padding=N täida väljundnumbrid N sümbolini; positiivne N joondatakse paremale; negatiivne N joondatakse vasakule; kui väljund on laiem kui N, täitmist ei toimu; vaikimisi täidetakse automaatselt juhul, kui leitakse tühemik � --pid=PID võtmega -f, lõpeta töö, kui protsess PID lõpetab -q, --quiet, --silent ära väljasta päiseid faili nimega --retry jätka faili avamise üritamist, isegi kui see muutub mittekasutatavaks; kasutatav võtmega --follow=nimi � --preserve-context säilita SELinux turvakontekst -Z, --context=KONTEKST sea SELinux turvakontekst failidele ja kataloogidele � --preserve-status lõpeta sama koodiga kui käsklus, isegi juhul kui programm tapeti --foreground Kui ei tööta esiplaanil, luba käsul lugeda terminali ja saada terminali signaale. Selles moodis käsu alamprotsessid timeout ei saa. -k, --kill-after=KESTUS saada KILL signaal, kui käsklus on nii kaua käinud peale esimese signaali saatmist. -s, --signal=SIGNAAL määra taimouti korral saadetav signaal. SIGNAAL võib olla nimi, nagu 'HUP', või number. Signaalide nimekirja saate käsuga 'kill -l` � --reference=VFAIL kasuta faili VFAIL gruppi � --reference=VFAIL kasuta faili VFAIL moodi � --reference=VFAIL kasuta faili VFAIL omanikku ja gruppi � --reference=VFAIL kasuta esitatud konteksti asemel VFAIL konteksti � --rfc-3339=MÄÄRANG väljasta RFC-3339 ühilduv kuupäeva sõne. MÄÄRANG võib olla 'date', 'seconds' või 'ns'. -s, --set=SÕNE sea SÕNEga määratud aeg -u, --utc, --universal esita või sea koordineeritud universaalaeg � --round=MEETOD skaleerimisel kasutatav ümardamise meetod; meetod võib olla: up, down, from-zero (vaikimisi), towards-zero, nearest � --sort=SÕNA järjesta vastavalt SÕNALE: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort loomulik (versiooni) numbrite järjestamine tekstis � --sparse=MILLAL aukudega failide loomise tingimused --strip-trailing-slashes eemalda igalt käsureal antud kopeeritava nime lõpus olevad kaldkriipsud � --strict võtmega --check, lõpeta vigase sisendi korral veaga � --strip-trailing-slashes eemalda igalt käsureal antud nimelt lõpus olevad kaldkriipsud -S, --suffix=SUFIKS määra varukoopia järelliide � --suffix=SUF lisa maatriksile SUF. SUF ei tohi sisaldada kaldkriipsu. Seda parameetrit eeldadakse juhul, kui maatriks ei lõppe sümboliga X. � --suffix=SUFIKS lisa väljundi numbritele sufiks ja luba mittekohustuslik sufiks sisendnumbritel � --tag loo BSD-stiilis kontrollsumma � --time-style=SÕNA võtmega -l, näita aegu kasutades stiili SÕNA: full-iso, long-iso, iso, locale, +VORMING VORMINGut käsitletakse kui 'date'; kui VORMING on VORMING1<reavahetus>VORMING2, rakendub VORMING1 vanematele failidele ja VORMING2 uuematele. Kui SÕNE omab eesliidet 'posix-', kasutatakse SONA ainult mitte-POSIX lokaadi muutmise aegade järjestamisel � --tmpdir[=KAT] interpreteeri maatriksit kataloogi suhtes. Kui KAT pole antud, kasuta $TMPDIR, kui seda pole seatud, siis /tmp. Selle võtme kasutamisel ei saa maatriks olla absoluutne nimi. Erinevalt võtmest -t, võib maatriks sisaldada kaldkriipse, aga mktemp loob ainult viimase komponendi � --to-unit=N määra väljund ühiku suurus (vaimimisi on 2) � --to=UNIT teisenda väljundnumbrid antud ühikutesse ühikute kirjeldus on allpool � --verbose väljasta enne iga faili avamist standard veavoogu diagnostilist infot � --version väljasta versiooniinfo ja lõpeta töö � --all väljasta installeeritud protsessorite arv --ignore=N kui võimalik, välista N protsessorit � -evenp sama, kui -parenb cs8 * [-]lcase sama, kui xcase iuclc olcuc litout sama, kui -parenb -istrip -opost cs8 -litout sama, kui parenb istrip opost cs7 nl sama, kui -icrnl -onlcr -nl sama, kui icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb kasuta sümboli kohta kaht stop bitti (üks '-' korral) [-]hup saada hangup signaal, kui viimane protsess suleb tty [-]hupcl sama, kui [-]hup [-]parenb genereeri väljundis paarsusbitt ja eelda paarsust sisendis [-]parodd sea paaritu paarsus (paaris '-' korral) � [-]ignpar ignoreeri paarsusveaga sümboleid * [-]imaxbel piiksu ja ära tühjenda täis sisendpuhvrit [-]inlcr tõlgi reavahetus rea algusse sümboliks [-]inpck luba sisendi paarsuse kontroll [-]istrip eemalda sisendsümbolitelt ülemine (8-s) bitt � [-]isig luba spetsiaalsümbolid interrupt, quit ja suspend [-]noflsh keela tühjendamine peale katkestamise ja väljumise sümboleid * [-]prterase sama, kui [-]echoprt * [-]tostop peata taustatööd, mis üritavad terminalile kirjutada * [-]xcase icanon omadusega, kasuta suurtähtede ees '\' � cooked sama, kui brkint ignpar istrip icrnl ixon opost isig icanon, eof ja eol sümbolid seatakse vaikimisi väärtustele -cooked sama, kui raw crt sama, kui echoe echoctl echoke � dec sama, kui echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq sama, kui [-]ixany ek erase ja kill sümbolid seatakse vaikimisi väärtustele evenp sama, kui parenb -parodd cs7 � ispeed N sea sisendi kiiruseks N * line N kasuta liiniseadeid N min N -icanon omadusega, sea lugemise lõpetamiseks min, N sümbolit ospeed N sea väljundi kiiruseks N � oddp sama, kui parenb parodd cs7 -oddp sama, kui -parenb cs8 [-]parity sama, kui [-]evenp pass8 sama, kui -parenb -istrip cs8 -pass8 sama, kui parenb istrip cs7 � raw sama, kui -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw sama, kui cooked � sane sama, kui cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, kõik spetsiaalsümbolid seatakse vaikimisi väärtustele � stop SÜMBOL SÜMBOL peatab väljundi susp SÜMBOL SÜMBOL saadab terminali peatamise signaali * swtch SÜMBOL SÜMBOL vahetab käsuinterpretaatori taset * werase SÜMBOL SÜMBOL kustutab viimati kirjutatud sõna � %% sümbol % %b ARGUMENT sõnena, mille '\' järjendeid interpreteeritakse, kaheksand järjendid on kujul \0 või \0NNN ja samuti kõik C formaadi määrangud, mis lõppevad ühega sümboleist diouxXfeEgGcs, ja ARGUMENdid teisendatuna esmalt õigesse tüüpi. Käsitletakse ka muutuvaid pikkuseid. � %A lokaadi nädalapäeva nimi, muutuv pikkus (nt. pühapäev) %b lokaadi lühendatud kuu nimi (nt. jaan) %B lokaadi kuu nimi (nt. jaanuar) %c lokaadi kuupäev ja aeg (nt. teisipäev, 25. juuni 2002. 12:11:55 EEST) � %C sajand; nagu %Y, aga viimased kaks numbrit on ära jäetud (nt. 20) %d päev kuus (nt. 01) %D kuupäev, sama kui %m/%d/%y %e päev kuus, täiendatud tühikuga; sama kui %_d � %F kuupäev; sama kui %Y-%m-%d %g aasta 2-numbriga, mis vastab ISO nädala numbrile (vaata %G) %G aasta, mis vastab ISO nädala numbrile (vaata %V); kasutatav koos %V � %S sekund (00..60) %t tabulaator %T aeg, sama kui %H:%M:%S %u nädalapäev (1..7); 1 esitab esmaspäeva � %U nädala number aastas, pühapäev nädala esimene päev (00..53) %V ISO nädala number, esmaspäev on nädala esimene päev (01..53) %w päev nädalas (0..6); 0 esitab pühapäeva %W nädala number aastas, esmaspäev nädala esimene (00..53) � %d seadme number kümnendsüsteemis %D seadme number kuueteistkümnendsüsteemis %f mood kuueteistkümnendsüsteemis %F faili tüüp %g omaniku grupi ID %G omaniku grupi nimi � %h viidete arv %i ikirje number %m haakepunkt %n faili nimi %N jutumärkides faili nimi, nimeviite korral viidatav nimi %o S/V bloki suurus %s kogumaht, baitides %t seadme kuueteistkümnendsüsteemis põhinumber %T seadme kuueteistkümnendsüsteemis alamnumber � %h sama kui %b %H tund (00..23) %I tund (01..12) %j päev aastas (001..366) � %i failisüsteemi kuueteistkümnend id %l failinimede maksimaalne pikkus %n faili nimi %s optimaalne ülekande bloki suurus %S bloki suurus (blokkide arvu jaoks) %t tüüp kuueteistkümnend esituses %T inimesele loetaval kujul tüüp � %k tund, tühikutega täiendatud ( 0..23); sama kui %_H %l tund, tühikutega täiendatud ( 1..12); sama kui %_I %m kuu (01..12) %M minut (00..59) � %n reavahetus %N nanosekundeid (000000000..999999999) %p lokaadi suurtähtedega AM või PM tähis (paljudes lokaatides tühi) %P nagu %p, aga väiketähtedega %r aeg, 12-tunni esitus (tt:mm:ss [AP]M) %R aeg, 24-tunni esitus (tt:mm) %s sekundeid alates `00:00:00 1970-01-01 UTC' (GNU laiendus) � %u omaniku kasutaja ID %U omaniku kasutaja nimi %w faili loomise aeg, inimesele loetav; - kui pole teada %W faili loomise aeg, sekundites alates epohhist; 0 kui pole teada %x viimane kasutamine, inimesele loetav %X viimane kasutamine, sekundites alates epohhist %y viimane täiendamine, inimesele loetav %Y viimane täiendamine, sekundites alates epohhist %z viimane muutmine, inimesele loetav %Z viimane muutmine, sekundites alates epohhist � %x lokaadi kuupäeva esitus (nt. kk.pp.aa) %X lokaadi aja esitus (nt. 23:13:48) %y aasta kaks viimast numbrit (00..99) %Y aasta � %z +ttmm numbriline ajatsoon (nt., -0400) %:z +tt:mm numbriline ajatsoon (nt., -04:00) %::z +tt:mm:ss numbriline ajatsoon (nt., -04:00:00) %:::z numbriline ajatsoon koos : vastava täpsuseni (nt., -04, +05:30) %Z ajatsooni tähis tähtedega (nt., EET) Vaikimisi täidab date numbriväljad nullidega. � + MÄRK interpreteeri MÄRKi sõnena, isegi kui see on võtmesõna, nagu 'match' või operaator, nagu '/' ( AVALDIS ) AVALDISe väärtus � +ESIMENE_LEHT[:VIIMANE], --pages=ESIMENE_LEHT[:VIIMANE] alusta [lõpeta] trükkimine lehelt ESIMENE_[VIIMANE]_LEHT -N, --columns=N väljasta N veergu ja väljasta veerud ülalt alla, välja arvatud juhul, kui kasutatakse võtit -a. Ühtlusta ridade arv veergudes igal lehel. � - +VORMING (n., +%H:%M) 'date'-stiilis vorming � --output-delimiter=SÕNE kasuta veergude eraldamiseks sõne � --userspec=KASUTAJA:GRUPP määra kasutatav kasutaja ja grupp (ID või nimi) --groups=G_LOEND määra täiendav gruppide nimekiri kujul g1,g2,..,gN � -0, --null eralda väljundread reavahetuse asemel baidiga 0 -a, --all väljasta loendurid kõikidele failidele --apparent-size väljasta ketta kasutamise asemel nähtav suurus; kuigi nähtav suurus on tavaliselt väiksem, võib see olla tegelikkuses ka suurem tänu aukudega failidele, sise- misele fragmenteerumisele, kaudsetele blokkidele jms � -0, --null lõpeta read reavahetuse asemel baidiga 0 � -A, --address-radix=RAADIKS kuidas väljastada faili positsioonid. RAADIKS on üks [doxn], tähendades kümnende, kaheksand, kuueteiskümnend süsteemi või None -j, --skip-bytes=BAIDID jäta esimesed BAIDID baiti vahele � -A, --auto-reference väljasta automaatselt loodud viited -G, --traditional käitu kui System V 'ptx' -F, --flag-truncation=SÕNE kasuta ridade lühendamise märkimiseks SÕNE � -B, --block-size=MAHT kasuta määratud ploki suurust. Näiteks `-BM' väljastab mahud 1 048 576 baidiste blokkidena. MAHT vorming on kirjeldatud allpool. -b, --bytes sama kui '--apparent-size --block-size=1' -c, --total väljasta kogumaht -D, --dereference-args kasuta käsureal antud nimeviidete korral viidatavaid -d, --max-depth=N väljasta kataloogi (võtme --all korral faili) kogumaht ainult kui see pole sügavam, kui N; --max-depth=0 on sama, kui --summarize � -C esita väljund veergudena --color[=MILLAL] määra, millal kasutada failitüüpide eristamiseks värve. MILLAL on vaikimisi 'always', võib olla ka 'never' või 'auto', Rohkem infot allpool -d, --directory näita kataloogide sisu asemel neid endid, ei lahenda nimeviiteid -D, --dired vorminda väljund Emacs dired moodile � -D loo kõik SIHTKOHAD välja arvatud viimane, seejärel kopeeri allikas sihiks -g, --group=GRUPP sea protsessi grupi asemel määratud grupp -m, --mode=MOOD sea rwxr-xr-x õiguste asemel antud õigused -o, --owner=OMANIK sea omanik (ainult super-kasutaja) � -D, --all-repeated[=eraldaja-meetod] väljasta kõik duplikaat read eraldaja-meetod={none(vaikimisi),prepend,separate} Eraldatatakse tühjade ridadega. -f, --skip-fields=N ära võrdle esimest N välja -i, --ignore-case võrdle tõstutundetult -s, --skip-chars=N ära võrdle esimest N sümbolit -u, --unique väljasta ainult dubleerimata read -z, --zero-terminated lõpeta read reavahetuse asemel baidiga 0 � -D, --date-format=VORMING määra päise kuupäeva VORMING -e[SÜMB[LAIUS]], --expand-tabs[=SÜMB[LAIUS]] laienda sisendi sümbolid (TAB) tabulaatori laiuseni (8) -F, -f, --form-feed kasuta lehekülgede eraldamisel reavahetuste asemel lehevahetuse sümboleid (3-realine lehe päis võtmega -F või 5-realine päis ja jalus võtmata -F) � -G, --no-group pikas loetelus ei väljasta gruppide nimesid -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M 2G) --si sama, kui kasuta 1000 kordseid, mitte 1024 � -H, --dereference-command-line kui käsureal on nimeviited näita viidatavaid --dereference-command-line-symlink-to-dir järgne igale käsureal olevale nimeviitele, kui see viitab kataloogile --hide=MUSTER ära näita mustrile vastavaid elemente (-a või -A tühistab) � -I küsi korra enne enam kui kolme faili eemaldamist või kui eemaldatakse rekursiivselt. Vähem pealetükkiv kui -i, aga pakub siiski kaitset enamus vigade vastu --interactive[=MILLAL] küsi vastavalt määrangule: never, once (-I) või always (-i). Kui MILLAL puudub, küsi alati � -L FAIL FAIL on olemas ja on nimeviit (sama, kui -h) -O FAIL FAIL on olemas ja omanik on efektiivne kasutaja ID -p FAIL FAIL on olemas ja on nimega toru -r FAIL FAIL on olemas ja on loetav -s FAIL FAIL on olemas ja tema suurus on suurem kui null � -L, --dereference järgi viiteid -f, --filesystem esita faili oleku asemel failisüsteemi olek � -L, --logical kasuta keskkonnast PWD, isegi kui see sisaldab nimeviiteid -P, --physical väldi kõiki nimeviiteid � -M, --macro-name=SÕNE kasuta 'xx' asemel makro nime -O, --format=roff loo väljund roff käskudena -R, --right-side-refs paiguta viited paremale, ei loendata võtmega -w -S, --sentence-regexp=REGAV realõpud või lausete lõpud -T, --format=tex loo väljund TeX käskudena � -N, --read-bytes=BAITE väljasta ainult antud arv baite -S BAITE, --strings[=BAITE] väljasta vähemalt BAITE pikkusega sõned vaikimisi 3 -t, --format=TÜÜP määra väljundvorming või vormingud -v, --output-duplicates ära kasuta korduvate ridade märkimiseks * -w[BAITE], --width[=BAITE] väljasta BAITE baiti rea kohta vaikimisi 32 --traditional kasuta traditsioonilisel kujul argumente � -P, --no-dereference ära järgne nimeviidetele (vaikimisi) -O, --null lõpeta iga rida reavahetuse asemel baidiga 0 -S, --separate-dirs ära arvesta kataloogide suurusi --si nagu -h, aga kasuta 1000 kordseid -s, --summarize väljasta iga argumendi kohta summa � -R, --recursive muuda faile ja katalooge rekursiivselt � -R, --recursive töötle faile ja katalooge rekursiivselt � -R, -r, --recursive kopeeri kataloogid rekursiivselt --reflink[=MILLAL] kloon/CoW koopiate kontroll. Vaata allpoolt --remove-destination eemalda iga sihtfail enne selle avamist (vastupidiselt võtmele --force) � -S järjesta faili suuruse järgi --sort=SÕNA kasuta järjestamisel nime asemel sõna: none -U, extension -X, size -S, time -t, version -v --time=SÕNA võtmega -l, näita muutmise aja asemel: atime -u, access -u, use -u, ctime -c või status -c; kasuta antud aega järjestamise võtmena, kui kasutati --sort=time � -S FAIL FAIL on olemas ja on pesa -t FP terminalil on avatud failipide FP -u FAIL FAIL on olemas ja omab sea-kasutaja-ID õigust -w FAIL FAIL on olemas ja on kirjutatav -x FAIL FAIL on olemas ja on käivitatav (või otsitav) � -S, --suffix=SUFIKS määra varukoopia järelliide -t, --target-directory=KATALOOG määra kataloog, milles luuakse viited -T, --no-target-directory käsitle viite nime tavalise failina -v, --verbose väljasta faili nimi enne viite loomist � -S[SÕNE], --sep-string[=SÕNE] eralda veerud SÕNEga, võtmeta -S: -J ja <tühik> korral on vaikimisi eraldaja <TAB> muidu (sama, kui -S" "), ei kasutata veergudega seotud võtmetega -t, --omit-header blokeeri lehe päised ja sabad � -T, --omit-pagination keela päised ja jalused, eemalda sisendfailidest kõik lehevahetused -v, --show-nonprinting kasuta langkriipsuga kaheksandkoodide notatsiooni -w, --width=LEHE_LAIUS sea lehe laius LEHE_LAIUS (72) sümbolit mitme tekstiveeru väljundis, -s[sümbol] lülitab välja (72) � -T, -w, --mesg lisa kasutaja teadete olek kujul +, - või ? -u, --users väljasta süsteemi meldinud kasutajad --message sama, kui -T --writable sama, kui -T � -W, --page-width=LEHE_LAIUS määra lehe laiuseks LEHE_LAIUS (72) sümbolit, lühenda ridu, välja arvatud juhul, kui on seatud võti -J, ei sega võtmeid -S või -s � -W, --word-regexp=REGAV kasuta võtmesõnade leidmiseks REGAV -b, --break-file=FAIL sõnu eraldavad sümbolid on selles failis -f, --ignore-case järjesta tõstutundetult -g, --gap-size=NUMBER veergude vahe suurus väljundis -i, --ignore-file=FAIL loe ignoreeritavate sõnade nimekiri -o, --only-file=FAIL ainult lugemiseks olevate sõnade fail � -X, --exclude-from=FILE välista failist loetud mustritele vastavad failid --exclude=PATTERN välista mustrile vastavad failid -x, --one-file-system ära mine muudesse failisüsteemidesse � -Z, --context=KTST sea nime SELinux turvakontekst � -Z, --context=KTST sea iga nime SELinux turvakontekst � -a muuda ainult kasutamise (access) aeg -c, --no-create ära loo faile -d, --date=SÕNE analüüsi SÕNE ja kasuta seda jooksva aja asemel -f (ignoreeritakse) � -a, --across väljasta veerud risti üle leha, mitte ülalt alla, kasutatakse koos võtmega -VEERGE -c, --show-control-chars kasuta katus (^G) ja kaheksand langkriips notatsiooni -d, --double-space topeltreavahe väljundis � -a, --all ära peida kirjed, mis algavad sümboliga . -A, --almost-all ära näita nimesid . ja .. --author võtmega -l, väljasta iga faili autor -b, --escape väljasta mitte-esitatavad sümbolid C-style vormingus � -a, --all väljasta kõik failisüsteemid -B --block-size=MAHT kasuta määratud ploki suurust. Näiteks '-BM' väljastab suurused 1 048 576 baidiste blokkidena. MAHT vorming on kirjeldatud allpool. --total väljasta kogusumma -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M 2G) -H, --si sama, kui kasuta 1000 kordseid, mitte 1024 � -a, --all väljasta kõik kehtivad seaded inimesele loetavalt -g, --save väljasta kõik kehtivad seaded stty programmile loetavalt -F, --file=SEADE ava ja kasuta standardsisendi asemel antud seadet � -a, --all teisenda kõik tühemikud, mitte ainult esimene --first-only teisenda ainult eesmised tühemikud (blokeerib -a) -t, --tabs=NUMBER tabulaatori laius 8 asemel NUMBER sümbolit (lubab -a) -t, --tabs=LOEND komadega eraldatud tabulaatori positsioonid (lubab -a) � -a, --archive sama kui -dpR --preserve=all --attributes-only kopeeri ainult atribuudid, mitte andmeid --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia -b nagu --backup aga ei kasuta argumenti --copy-contents rekursiivses moodis kopeeri spets failide sisu -d sama kui --no-dereference --preserve=links � -a, --multiple luba mitut argumenti ja käsitle neid kui NIMI -s, --suffix=SUFIKS eemalda lõpetav SUFIKS -z, --zero eralda väljund reavahetuse asemel sümboliga NUL � -a, --suffix-length=N kasuta sufikseid pikkusega N (vaikimisi %d) --additional-suffix=SUFIKS lisa faili nimele täiendav sufiks -b, --bytes=MAHT pane väljundi ritta MAHT baiti -C, --line-bytes=MAHT väljasta faili ülimalt MAHT baidiseid ridu -d, --numeric-suffixes[=ALG] kasuta tähtedega sufiksite asemel numbrilisi. ALG määrab alguse (vaikimisi 0) -e, --elide-empty-files ära loo tühje faile võtmega '-n' --filter=KÄSKLUS saada programmi; faili nimi on $FILE -l, --lines=NUMBER väljasta väljundfaili kohta NUMBER rida -n, --number=TÜKKI loo TÜKKI väljundfaili. Vaata allpoolt -u, --unbuffered kopeeri sisend kohe väljundiks võtmega '-n r/...' � -b, --before kasuta eraldajat enne, mitte pärast -r, --regex interpreteeri eraldajat regulaaravaldisena -s, --separator=SÕNE kasuta reavahetuse asemel eraldajana SÕNE � -b, --binary loe binaarmoodis � -b, --binary loe binaarmoodis (vaikimisi, kui ei loeta tty stdin) � -b, --body-numbering=STIIL kasuta ridade nummerdamisel STIILI -d, --section-delimiter=SE kasuta loogiliste lehtede eraldamiseks SE -f, --footer-numbering=STIIL kasuta jaluste nummerdamisel STIILI � -b, --bytes loe veergude asemel baite -s, --spaces poolita tühikute kohal -w, --width=LAIUS kasuta 80 asemel use LAIUS sümbolit � -b, --bytes=LOEND väljasta ainult need baidid -c, --characters=LOEND väljasta ainult need sümbolid -d, --delimiter=ERALD määra TAB asemel väljade eraldaja � -b, --ignore-leading-blanks ignoreeri ees olevaid tühimikke -d, --dictionary-order kasuta ainult tühemikke ja tähti ning numbreid -f, --ignore-case tööta tõstutundetult � -b, --suffix-format=VORMING kasuta %02d asemel sprintf VORMINGUT -f, --prefix=PREFIKS kasuta 'xx' asemel PREFIKS -k, --keep-files vigade korral jäta väljundfailid kustutamata � -c --format=VORMING määra uus vorming; peale iga VORMING kasutamist väljastatakse reavahetus --printf=VORMING nagu --format, aga töötleb ka langkriipsu paojadasid, ja ei väljasta automaatselt reavahetusi. Kui soovite reavahetust, kasutage \n. -t, --terse esita info lakooniliselt � -c, --bytes=K väljasta viimased K baiti; alternatiiv, kasutage K-nda baidiga alustades baidid võtmega -c +K � -c, --bytes=[-]K Väljasta igast failist esimesed K baiti; kui ees on '-', väljasta igast failist kõik, välja arvatud viimased K baiti -n, --lines=[-]K väljasta esimese 10 rea asemel esimesed K rida; kui ees on '-', väljasta igast failist kõik, välja arvatud viimased K rida � -c, --changes anna infot ainult muudatustest -f, --silent, --quiet blokeeri enamus veateateid -v, --verbose anna infor igast töödeldud failist � -c, --check loe %s summad failidest ja kontrolli � -c, --check, --check=diagnose-first kontrolli kas sisend on järjestatud; ei järjesta -C, --check=quiet, --check=silent nagu -c, aga ei teata halvast reast --compress-program=PROG tihenda ajutised failid programmiga PROG; taastamiseks PROG -d � -c, --count lisa rea algusse esinemise number -d, --repeated väljasta ainult dubleeritud read � -c, --crown-margin säilita esimese kahe rea taane -p, --prefix=SÕNE kombineeri ainult ühise prefiksiga read, prefiks säilitatakse -s, --split-only tükelda pikad read, aga ära täida � -c, --no-create ära loo ühtegi faili � -d, --date=SÕNE näita aega vastavalt sõnele, mitte 'now' -f, --file=FAIL nagu --date, sõned on failis eraldi ridadel -I[TIMESPEC], --iso-8601[=TIMESPEC] väljasta aeg in ISO 8601 vormingus. TIMESPEC='date' näitab kuupäeva (vaikimisi), 'hours', 'minutes', 'seconds' või 'ns' määravad vastava täpsuse. � -d, --decode dekodeeri andmed -i, --ignore-garbage ignoreeri dekodeerimisel sõnastiku väliseid sümboleid -w, --wrap=VEERGE murra kodeeritud read peale VEERGE sümbolit (vaikimisi 76). Ridade murdmise blokeerimiseks kasutage väärtust 0 � -d, --delimiter=X kasuta väljade eraldajana tühiku asemel X � -d, --delimiters=LOEND kasuta TAB asemel sümboleid LOENDist -s, --serial väljasta üks fail korraga, mitte paralleelselt � -d, --directory loo faili asemel kataloog -u, --dry-run ära loo midagi, ainult väljasta nimi (ebaturvaline) -q, --quiet blokeeri faili/kataloogi loomise vea diagnostika � -e luba langkriipsude paojada interpreteerimine -E keela langkriipsude paojada interpreteerimine (vaikimisi) � -e luba langkriipsude paojada interpreteerimine (vaikimisi) -E keela langkriipsude paojada interpreteerimine � -e, --canonicalize-existing kõik tee komponendid peavad olemas olema -m, --canonicalize-missing tee komponente ei pruugi olemas olla -L, --logical lahenda '..' komponendid enne nimeviiteid -P, --physical lahenda nimeviited (vaikimisi) -q, --quiet blokeeri enamus veateateid --relative-to=FAIL väljasta lahendatud tee antud faili suhtes --relative-base=FAIL väljasta absoluutne tee alates faili teest -s, --strip, --no-symlinks ära laienda nimeviiteid -z, --zero eralda väljund reavahetuse asemel sümboliga NUL � -e, --echo käsitle iga ARG kui sisendi rida -i, --input-range=ALG-LÕPP käsitle iga numbrit vahemikust sisendreana -n, --head-lines=RIDU väljasta maksimaalselt RIDU rida -o, --output=FAIL kirjuta tulemu standardväljundi asemel faili --random-source=FAIL loe juhuslikud baidid FAIList -z, --zero-terminated ridade lõppu bait 0, mitte reavahetus � -f ära järjesta, kasuta -aU, blokeeri -ls --color -F, --classify lisa tähis (üks järgnevaist */=>@|) nimedele --file-type sama, aga ei lisa '*' --format=SÕNA across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time nagu -l --time-style=full-iso � -f ära väljasta lühiinfo väljade päiseid -w ära väljasta lühiinfos kasutaja täisnime -i ära väljasta lühiinfos kasutaja täisnime ja masinat -q ära väljasta lühiinfos kasutaja täisnime, masinat ja eemalolekut � -f sama, kui -t fF, vali ujukomaarvud -i sama, kui -t dI, vali kümnendarvud -l sama, kui -t dL, vali pikad kümnendarvud -o sama, kui -t o2, vali 2-baidised kaheksandarvud -s sama, kui -t d2, vali 2-baidised kümnendarvud -x sama, kui -t x2, vali 2-baidised kuueteistkümnendarvud � -f FAIL FAIL on olemas ja on tavaline fail -g FAIL FAIL on olemas ja omab sea-grupi-ID õigust -G FAIL FAIL on olemas grupp on efektiivne grupi ID -h FAIL FAIL on olemas ja on nimeviide (sama, kui -L) -k FAIL FAIL on olemas ja omab kleepimisõigust � -f, --canonicalize õgvenda järgides iga nimeviidet igas nime komponendis rekursiivselt; kõik osad, peale viimase peavad olemas olema -e, --canonicalize-existing õgvenda järgides iga nimeviidet igas nime komponendis rekursiivselt, kõik osad peavad olemas olema � -f, --fields=LOEND väljasta ainult need väljad; väljasta samuti kõik read, mis ei sisalda eraldavat sümbolit, välja arvatu juhul, kui kasutati võtit -s -n (ignoreerin) � -f, --follow[={nimi|pide}] väljasta faili kasvamisel lisanduvad andmed; -f, --follow ja --follow=pide on samaväärsed -F sama, kui --follow=nimi --retry � -f, --force kui olemasolevat sihtfaili ei saa avada, eemalda see ja proovi uuesti (ignoreeritakse kui võti -n on kasutusel) -i, --interactive küsi enne ülekirjutamist (kirjutab eelmise -n võtme üle) -H järgi käsureal antud nimeviiteid kopeeritavas � -f, --force vajadusel lisa kirjutamisõigus -n, --iterations=N kirjuta üle vaikimisi (%d) korra asemel N korda --random-source=FAIL loe juhuarvudjuhuslikud baidid failist -s, --size=N töötle N baiti (lubatud on kasutada ka sufiksit K, M, G) � -f, --format FORMAAT kasuta printf stiilis ujukoma formaati -s, --separator=SÕNE kasuta numbrite eraldamiseks SÕNE (vaikimisi: \n) -w, --equal-width kasuta võrdse laiusega välju, täida nullidega � -g nagu -l, aga ei näita omanikku � -g GID[,GID1...] samuti sea primaarseks grupiks GID ja (kui on antud), täiendavate gruppide nimekiri GID1, ... � -g, --general-numeric-sort võrdle vastavaid üldisi numbrilisi väärtusi -i, --ignore-nonprinting kasuta ainult trükitavaid sümboleid -M, --month-sort võrdle (tundmatu) < 'JAAN' < ... < 'DETS' � -h, --header-numbering=STIIL kasuta päiste nummerdamisel STIILI -i, --line-increment=NUMBER rea numbri suurendamise samm -l, --join-blank-lines=NUMBER grupeeri NUMBER tühja rida üheks reaks -n, --number-format=VORMING lisa rea numbrid vastavalt VORMINGule -p, --no-renumber jätka reanumbreid järgmisel lehel -s, --number-separator=SÕNE lisa SÕNE peale (võimalikku) reanumbrit � -h PÄIS, --header=PÄIS kasuta lehe päises faili nime asemel PÄIS, -h "" väljastab tühja rea, ärge kasutage -h"" -i[SÜMB[LAIUS]], --output-tabs[=SÜMB[LAIUS]] asenda tühikud sümboliga (TAB) tabulatsiooni laiusega (8) -J, --join-lines mesti täisread, lülitab välja -W rea lühendamise, veerge ei joondata, --sep-string[=SÕNE] määrab eraldaja � -h, --human-numeric-sort võrdle inimesele loetavaid numbreid (n., 2K 1G) � -h, --no-dereference muuda viidatava asemel nimeviidet (kasutatav süsteemides, kus saab muuta nimeviite omanikku) -m muuda ainult muutmise (modification) aega � -i, --ignore-case kasuta tõstutundetut väljade võrdlemist -j VÄLI sama, kui '-1 VÄLI -2 VÄLI' -o VORMING väljundrea koostamise VORMING -t SÜMBOL kasuta SÜMBOLit sisend- ja väljundväljade eraldajana � -i, --ignore-environment alusta tühja keskkonnaga -0, --null lõpeta iga rida reavahetuse asemel baidiga 0 -u, --unset=NIMI eemalda muutuja keskkonnast � -i, --initial ära teisenda TABe peale mittetühje sümboleid -t, --tabs=NUMBER kasuta vaikimisi 8 asemel tabulaatoris NUMBER sümbolit � -i, --inodes väljasta plokkide asemel i-kirjete info -k sama kui --block-size=1K -l, --local näita ainult lokaalseid failisüsteeme --no-sync enne info lugemist ära kasuta synci (vikimisi) � -i, --input=MOOD kohenda standard sisendi puhverdust -o, --output=MOOD kohenda standard väljundi puhverdust -e, --error=MOOD kohenda standard veavoo puhverdust � -i, --interactive küsi enne sihtfaili eemaldamist -L, --logical lahenda viidatavad nimeviited -n, --no-dereference kui sihtfail on nimeviide kataloogile, käsitle seda kui tavalist faili -P, --physical loo viide nimeviitele -s, --symbolic loo viidete asemel nimeviited � -k, --kilobytes sama, kui --block-size=1K -L, --dereference järgi nimeviiteid -l, --count-links loenda viiteid eraldi failidena -m sama, kui --block-size=1M � -k, --key=KEYDEF kasuta järjestamisel võtit; võti annab asukoha ja tüübi. -m, --merge mesti juba järjestatud failid; ei järjesta � -l väljasta info pikas vormingus -L, --dereference väljastades infot nimeviite kohta, näita viite asemel infot viidatavast failist -m väljasta nimed komadega eraldatult � -l, --length=LEHE_PIKKUS sea lehe pikkuseks LEHE_PIKKUS (66) rida (vaikimisi on teksti ridu 56, võtmega -F 63) -m, --merge väljasta kõik failid paralleelselt, üks veeru kohta, lühenda read, ridade kogupikkuses ühendamiseks kasutage -J � -l, --link kopeerimise asemel loo viited -L, --dereference järgi alati nimeviited kopeeritavas � -l, --login väljasta süsteemi meldimise protsessid � -m, --canonicalize-missing õgvenda järgides iga nimeviidet igas nime komponendis rekursiivselt, osad ei pea olemas olema -n, --no-newline ei väljasta lõpetavaid reavahetusi -q, --quiet, -s, --silent blokeeri enamus veateateid -v, --verbose raporteeri vigadest -z, --zero eralda väljund reavahetuse asemel sümboliga NUL � -m, --mode=MOOD sea õigused MOOD, mitte a=rw - umask � -m, --mode=MOOD seab õigused (nagu chmod), mitte a=rwx - umask -p, --parents loob vajadusel ülemised kataloogid, kui need on olemas, siis veateadet ei väljasta -v, --verbose teavitab igast loodud kataloogist -Z, --context=CTX sea iga loodud kataloogi SELinux turvakontekstiks CTX � -n, --adjustment=N liida prioriteedile number N (vaikimisi 10) � -n, --digits=NUMBREID kasuta 2 asemel antud arvu numbreid -s, --quiet, --silent ära väljasta väljundfailide mahte -z, --elide-empty-files kustuta tühjad väljundfailid � -n, --lines=K väljasta vaikimisi %d viimase rea asemel K rida või kasuta -n +K et väljastatda read alates Kndast --max-unchanged-stats=N võtmega --follow=nimi, ava FAIL, mis ei ole N iteratsiooni (vaikimisi %d) järel muutunud, uuesti tegemaks kindlaks, et seda faili ei ole kustutatud või ümber nimetatud (nagu seda võib juhtuda logifailidega). inotify korral pole seda võtit eriti vaja. � -n, --no-clobber ära kirjuta olemasolvevaid faile üle (muudab kehtetuks eelmise -i võtme) -P, --no-dereference ära kunagi järgi nimeviiteid kopeeeritavas � -n, --numeric-sort võrdle vastavaid sõnede numbrilisi väärtusi -R, --random-sort järjesta juhuslike arvude paisktabeli järgi --random-source=FAIL loe juhuarvud failist -r, --reverse pööra võrdluste tulemus � -n, --numeric-uid-gid nagu -l, aga väljasta numbrilised UID ja GID -N, --literal väljasta nimed nagu on (ära käsitle n. kontroll sümboleid eriliselt) -o nagu -l, aga ära väljasta grupi infot -p, --indicator-style=slash lisa kataloogide nimedele lõppu / � -n[ERALD[NUM]], --number-lines[=ERALD[NUM]] nummerda read, kasuta NUM (5) numbrit, seejärel ERALD (TAB), vaikimisi alustatakse loendamist sisendfaili esimesest reast -N, --first-line-number=NUMBER alusta loendamist ühe asemel antud numbrist esimese trükitava lehe esimesel real (vaata ka +ESIMENE_LEHT) � -o, --indent=SERV nihuta iga rida SERV (null) tühikut, ei mõjuta võtmeid -w või -W, SERV lisatakse LEHE_LAIUSele -r, --no-file-warnings ära hoiata, kui faili ei saa avada � -o, --io-blocks käsitle SUURUS kui IO blokkide arvu, baitide asemel � -o, --output=FAIL kirjuta tulemus standardväljundi asemel FAILi -s, --stable stabiliseeri sort blokeerides last-resort võrdlus -S, --buffer-size=MAHT määra mälupuhvri suurus � -p sama kui --preserve=mode,ownership,timestamps --preserve[=ATR_LOEND] säilita, kui võimalik, antud atribuudid (vaikimisi: mode,ownership,timestamps) täiendavad atribuudid: context, links, xattr, all � -p KAT kasuta prefiksina KAT; eeldab -t [mittesoovitatav] -t interpreteeri maatriksit nime komponendina kataloogi suhtes: $TMPDIR, kui on seatud või -p võtmega näidatud kataloog või /tmp [mittesoovitatav] � -p, --parents eemaldab KATALOOGI ja selle eellased. Näiteks 'rmdir -p a/b/c' on sarnane käsule 'rmdir a/b/c a/b a'. -v, --verbose väljastab diagnostika iga töödeldud kataloogi kohta � -p, --preserve-timestamps sea algfailide kasutamise/muutmise ajad vastavatele sihtfailidele -s, --strip puhasta sümboltabelid --strip-program=PROGRAMM määra strip programm -S, --suffix=SUFIKS määra uus varukoopia järelliide -t, --target-directory=KATALOOG kopeeri kõik sihtfailid antud kataloogi -T, --no-target-directory käsitle SIHT tavalise failina -v, --verbose väljasta iga loodava kataloogi nimi � -q, --count kõik kasutajanimed ja süsteemi meldinud kasutajate arv -r, --runlevel väljasta jooksev töö-tase -s, --short väljasta ainult nimi, tyerminal ja aeg (vaikimisi) -t, --time väljasta viimane süsteemi kella muutus � -q, --hide-control-chars väljasta ? mitte-esitatava sümboli asemel --show-control-chars näita mitte-esitatavat sümbolit, nagu on (vaikimisi, kui programm on 'ls' ja väljund ei ole terminal) -Q, --quote-name väljasta nimed jutumärkide vahel --quoting-style=SÕNA kasuta nimede kvootimisel stiili: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent ära väljasta päiseid failide nimega -v, --verbose väljasta alati ka päis faili nimega � -r, --reference=FAIL näita FAILi viimast muutmise aega -R, --rfc-2822 väljasta RFC-2822 ühilduv kuupäeva sõne Näiteks: Fri, 06 Aug 2010 14:15:31 +0300 � -r, --reference=FAIL kasuta jooksva aja asemel selle faili aegu -t TEMPEL kasuta jooksva aja asemel [[SS]AA]KKPPttmm[.ss] --time=SÕNA sea antud aeg, SÕNA võib olla: access, atime või use: sama kui -a modify või mtime: sama kui -m � -r, --reference=FAIL kasuta selle faili suurust -s, --size=SUURUS sea või muuda faili suurust � -r, --references esimene väli igal real on viide -t, --typeset-mode - ei ole realiseeritud - -w, --width=NUMBER väljasta veergudena, viideteta � -r, --reverse kasuta pööratud järjestamist -R, --recursive esita alamkataloogid rekursiivselt -s, --size väljasta iga faili suurus plokkides � -s, --only-delimited ära väljasta eraldajata ridu --output-delimiter=SÕNE kasuta väljundis eraldajana SÕNE vaikimisi kasutatakse sisendi eraldajat � -s, --signal SIGNAAL, -SIGNAAL Saadetava signaali nimi või number. -l, --list Esita signaalide nimed või tõlgi nimeks/numbriks. -t, --table Väljasta tabel infoga signaalidest. � -s, --sleep-interval=N võtmega -f, maga jälgimiste vahel umbes N sekundit (vaikimisi 1.0). Koos inotify ja --pid=P, kontrolli protsessi P vähemalt N sekundi järel. -v, --verbose väljasta alati päised faili nimega � -s, --symbolic-link loo kopeerimise asemel nimeviited -S, --suffix=SUFIKS määra varukoopia järelliide -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi -T, --no-target-directory käsitle sihti failina � -s[SÜMBOL],--separator[=SÜMBOL] erlda veerud antud sümboliga, võtmeta -w kasutatakse vaikimisi sümbolit <TAB> ja 'sümbol puudub' võtmega -w. -s[SÜMBOL] lülitab välja ridade lühendamise kõigi kolme veergudega seotud võtmete puhul (-VEERG|-a -VEERG|-m), välja arvatud juhul, kui kasutatakse võtit -w � -t kasuta järjestamisel muutmise aega, uuem esimesena -T, --tabsize=VEERGE sea tabulaatori pikkus (vaikimisi 8 veergu) � -t sama, kui -vT -T, --show-tabs esita TAB süboleid kui ^I -u (ignoreeritakse) -v, --show-nonprinting kasuta ^ ja M- notatsiooni, v.a LFD ja TAB korral � -t, --field-separator=ERA määra tühemiku asemele uus väljade eraldaja -T, --temporary-directory=KAT kasuta ajutiste failide jaoks $TMPDIR või %s asemel KAT. Korduv kasutamine määrab mitu kataloogi. --parallel=N määra järjestamise paralleelsuse aste -u, --unique võtmega -c: kontrolli ranget järjestatust muidu: väljasta võrdsetest ainult üks � -t, --tabs=LOEND kasuta komadega eraldatud loendit tab positsioonidest � -t, --tagged-paragraph esimese rea taane on teise rea omast erinev -u, --uniform-spacing üks tühik sõnade vahel, kaks lausete vahel -w, --width=NUMBER maksimaalne rea pikkus (vaikimisi 75 veergu) -g, --goal=NUMBER eelistatav laius (vaikimisi 93% rea pikkusest) � -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi -T, --no-target-directory käsitle sihtkohta tavalise failina -u, --update tõsta ainult kui allikas on uuem, kui sihtfail või kui sihtfail puudub -v, --verbose selgita mida tehakse � -t, --text loe tekstimoodis (vaikimisi, kui kasutatakse terminali) � -t, --text loe tekstimoodis (vaikimisi) � -t, --threshold=SUURUS positiivse väärtuse korral välista väiksemad, negatiivse korral suuremad kui SUURUS. --time näita kataloogis ja selle alamkataloogides kõikide failide muutmise aega --time=SÕNA muutmise aja asemel näita üht järgnevaist: atime, access, use, ctime või status --time-style=STIIL esita aeg kasutades järgnevat stiili full-iso, long-iso, iso, +VORMING VORMING on sama mis 'date' käsu korral � -u võtmega -lt: järjesta ja näita kasutamise aega võtmega -l: näita kasutamise aega ja järjesta nime järgi muidu: järjesta kasutamise aja järgi -U ära järjesta; väljasta kirjed nagu on kataloogis -v järjesta versiooni järgi � -u, --remove lühenda ja eemalda fail peale ülekirjutamisi -v, --verbose näita töö käiku -x, --exact ära ümarda failisuurusi üles täisplokini; see on mitte-tavafailide puhul vaikimisi käitumine -z, --zero varja töötlemist, kirjutades viimase tegevusena nulle � -u, --update kopeeri ainult, kui allikas on uuem, kui sihtfail või kui sihtfail puudub -v, --verbose selgita, mis toimub -x, --one-file-system püsi selles failisüsteemis � -u, --user=KASUTAJA määra turvakonteksti kasutaja -r, --role=ROLL määra turvakonteksti roll -t, --type=TÜÜP määra turvakonteksti tüüp -l, --range=VAHEMIK määra turvakonteksti vahemik � -v FAILINUM nagu -a FAILINUM, aga ei väljasta ühendatud väljundit -1 VÄLI ühenda see väli failist 1 -2 VÄLI ühenda see väli failist 2 --check-order kontrolli et sisend on korrektselt järjestatud, isegi kui kõik sisendread on paaris --nocheck-order ära kontrolli sisendi järjestatust --header käsitle iga faili esimest rida väljade päistena, väljasta need muutmata � -v, --kernel-version väljasta tuuma versioon -m, --machine väljasta masina (riistvara) tüüp -p, --processor väljasta arvuti protsessori tüüp või "unknown" -i, --hardware-platform väljasta riistvara platvorm või "unknown" -o, --operating-system väljasta operatsioonisüsteemi nimi � -v, --starting-line-number=NUMBER esimene rea number igal loogilisel lehel -w, --number-width=NUMBER kasuta reanumbritele NUMBER veergu � -v, --verbose väljasta infot iga töödeldava faili kohta � -w, --check-chars=N ära võrdle real enam kui N sümbolit � -w, --width=VEERGE määra ekraani laius -x väljasta nimed ridadesse, mitte veergusesse -X järjesta tähestikuliselt laiendite järgi -Z, --context väljasta iga faili kohta SELinux turvakontekst -1 väljasta üks nimi rea kohta � -z, --zero lõpeta read reavahetuse asemel sümboliga NUL � -z, --zero-terminated lõpeta read reavahetuse asemel baidiga 0 � KONTEKST Täielik turvakontekst -c, --compute enne muutmist arvuta protsessi ülemineku kontekst -t, --type=TÜÜP tüüp (vanemaga samas rollis) -u, --user=KASUTAJA kasutaja identiteet -r, --role=ROLL roll -l, --range=VAHEMIK taseme vahemik � Fail: "%n" ID: %-8i Nimepikkus: %-7l Tüüp: %T Bloki suurus: %-10s Alus bloki suurus: %S Blokke: Kokku: %-10b Vabu: %-10f Kasutada: %a Inodesid: Kokku: %-10c Vabu: %d � Fail: %N Suurus: %-10s Blokke: %-10b IO Blokke: %-6o %F � Protsess mittekatkestatava magamise olekus suurendab samuti koormust. � [:graph:] kõik trükitavad sümbolid, aga mitte tühik [:lower:] kõik väiketähed [:print:] kõik trükitavad sümbolid, ka tühik [:punct:] kõik punktuatsiooni sümbolid [:space:] kõik horisontaal või vertikaal tühemikud [:upper:] kõik suurtähed [:xdigit:] kõik kuueteistkümnend numbrid [=SÜMBOL=] all sümbolid, mis on ekvivalentsed sümboliga SÜMBOL � \0NNN bait kaheksandväärtusega NNN (1 kuni 3 numbrit) \xHH bait kuueteistkümnendväärtusega HH (1 kuni 2 numbrit) � \NNN sümbol kaheksandkoodiga NNN (1 kuni 3 numbrit) \xHH bait kuueteistkümnendväärtusega HH (1 kuni 2 numbrit) \uHHHH Unikoodi (ISO/IEC 10646) sümbol kuueteistkümnendväärtusega HHHH (4 numbrit) \UHHHHHHHH Unikoodi sümbol kuueteistkümnendväärtusega HHHHHHHH (8 numbrit) � \\ langkriips \a alert (BEL) \b backspace \c blokeeri lõpetav reavahetus \e escape \f lehevahetus \n uus rida \r rea algusesse \t horisontaalne tabulaator \v vertikaalne tabulaator � \v vertikaalne tabulaator SÜMB1-SÜMB2 kõik sümbolid alates SÜMB1 kuni SÜMB2 kasvavas järjekorras [SÜMB*] HULGAS2, kopeerib sümbolit kuni HULK1 pikkuseni [SÜMB*KORD] korda sümbolit, KORD on kaheksandnumber, kui algab nulliga [:alnum:] kõik tähed ja numbrid [:alpha:] kõik tähed [:blank:] kõik horisontaal tühemikud [:cntrl:] kõik kontrollsümbolid [:digit:] kõik numbrid � ascii tabelist EBCDIC tabelisse ASCII ebcdic tabelist ASCII tabelisse EBCDIC ibm tabelist ASCII alternatiivsesse EBCDIC tabelisse block täienda reavahetusega lõpetatud kirjed tühikutega cbs-mahtu unblock asenda cbs-mahus blokkides lõpetavad tühikud reavahetusega lcase asenda suurtähed väiketähtedega ucase asenda väiketähed suurtähtedega sparse kasuta NUL sisendblokkide asemel seek operatsiooni swab vaheta iga sisenbaidi paar sync täienda iga sisendplokk nullidega ibs-mahtu; kui kasutatakse block või unblock, täienda tühikutega � auto luba ühe/kahe sümbolilisi sufikseid: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary kasuta andmete käsitlemisel binaarmoodi � cio kasuta andmete käsitlemisel samaaegset S/V � count_bytes käsitle 'count=N' kui baitide arvu (ainult iflag) � d[SUURUS] märgiga kümnendarv, SUURUS baiti f[SUURUS] ujukoma arv, SUURUS baiti o[SUURUS] kaheksandarv, SUURUS baiti u[SUURUS] märgita kümnendarv, SUURUS baiti x[SUURUS] kuueteiskümnendarv, SUURUS baiti � direct kasuta andmete käsitlemisel puhverdamata S/V � directory katkesta kui ei ole kataloog � dsync kasuta andmete käsitlemisel sünkroonmoodi S/V � excl katkesta, kui väljundfail on juba olemas nocreat ära loo väljundfaili notrunc ära lühenda väljundfaili noerror jätka ka peale lugemisvigu fdatasync enne lõpetamist kindlusta andmete faili kirjutamine fsync nagu eelmine, aga kirjuta ka metainfo � fullblock kasuta sisendit täisblokkidena (ainult iflag) � iec luba ühe sümbolilist sufiksit: 1K = 1024, 1M = 1048576, ... � iec-i luba kahe sümbolilist sufiksit: 1Ki = 1024, 1Mi = 1048576, ... � if=FAIL loe standardsisendi asemel faili iflag=LIPUD loe vastavalt komadega eraldatud võtmetele obs=BAITI kirjuta BAITI baiti korraga (vaikimisi: 512) of=FAIL kirjuta standardväljundi asemel faili oflag=LIPUD kirjuta vastavalt komadega eraldatud võtmetele seek=N jäta N obs mahus plokke väljundisse kirjutamata skip=N jäta N ibs mahus plokke sisendist lugemata status=MIS MIS infot standarveavoogu ei kirjutata; 'noxfer' blokeerib ülekande statistika, 'none' blokeerib kõik � noatime ära uuenda kasutamise aega � nocache ära kasuta puhverdatud andmeid � noctty ei seosta kontrollivat terminali � nofollow ei järgi nimeviiteid � nolinks katkesta, kui on viiteid � nonblock kasuta mitteblokeeruvat S/V � none teisendamist ei toimu, esinevad sufiksid annavad vea � none, off varukoopiaid ei looda (isegi kui kasutati võtit --backup) numbered, t loo nummerdatud varukoopiad existing, nil nummerdatud, kui neid on, muidu lihtne simple, never loo alati lihtsaid varukoopiaid � seek_bytes käsitle 'seek=N' kui baitide arvu (ainult oflag) � si luba ühe sümbolilist sufiksit: 1K = 1000, 1M = 1000000, ... � skip_bytes käsitle 'skip=N' kui baitide arvu (ainult iflag) � sync sama, aga ka metainfo korral � text kasuta andmete käsitlemisel tekstimoodi � %H:%M%P � (varukoopia: %s)� * [-]ctlecho korda kontrollsümboleid katus notatsioonis ('^c') [-]echo korda sisendi sümboleid * [-]echoctl sama, kui [-]ctlecho [-]echoe sama, kui [-]crterase [-]echok väljasta kill sümboli järel reavahetus � * [-]echoke sama, kui [-]crtkill [-]echonl korda reavahetust isegi, kui teisi sümboleid ei korrata * [-]echoprt korda kustutatud sümboleid esitades neid '\' ja '/' vahel [-]icanon luba spetsiaalsümbolid erase, kill, werase ja rprnt [-]iexten luba POSIX mittevastavad spetsiaalsümbolid � * [-]iuclc tõlgi suurtähed väiketähtedeks * [-]ixany luba väljundit alustada igal, mitte ainult start sümbolil [-]ixoff luba start/stop sümbolite edastus [-]ixon luba XON/XOFF vookontroll [-]parmrk märgi paarsusvead (kasutatakse 255-0-sümbol järjendis) [-]tandem sama, kui [-]ixoff � * [-]iutf8 eelda et sisendsümbolid kasutavad UTF-8 kooditabelit � * [-]ocrnl tõlgi rea algusse sümbol reavahetuseks * [-]ofdel kasuta täitesümbolitena null asemel kustutamise sümbolit * [-]ofill kasuta viivitustel ootamise asemel täitesümboleid * [-]olcuc tõlgi väiketähed suurtähtedeks * [-]onlcr tõlgi reavahetus paariks rea algusse-reavahetus * [-]onlret reavahetus käitub, nagu rea algusse sümbol � * [-]onocr ära väljasta esimesel veerul rea algusse sümbolit [-]opost väljundi järeltöötlus * tabN horisontaalse tabulaatori viivitus, N vahemikust [0..3] * tabs sama, kui tab0 * -tabs sama, kui tab3 * vtN vertikaalse tabulaatori viivitus, N vahemikust [0..1] � * eol2 SÜMBOL alternatiivne SÜMBOL rea lõpetamiseks erase SÜMBOL SÜMBOL kustutab viimati kirjutatud sümboli intr SÜMBOL SÜMBOL saadab katkestamise signaali kill SÜMBOL SÜMBOL kustutab jooksva rea � * lnext SÜMBOL SÜMBOL sisestab järgmise sümboli kvoodituna quit SÜMBOL SÜMBOL saadab väljumise signaali * rprnt SÜMBOL SÜMBOL joonistab jooksva rea uuesti start SÜMBOL SÜMBOL käivitab väljundi peale peatamist � * rows N teata tuumale, et terminalil on N rida * size väljasta terminali veerud ja read, vastavalt tuuma infole speed väljasta terminali kiirus time N -icanon omadusega, sea lugemise taimout N sekundi kümnendikku � ??:???? � TTY� kontekst=%s� egid=%s� euid=%s� gid=%s� grupid=� vana � %s kordamisel �% 1% mälust, b 1, K 1024 (vaikimisi), jne tähtedega M, G, T, P, E, Z, Y. Kui FAIL puudub või on -, loe standardsisendit. *** HOIATUS *** Keskkonna poolt määratud lokaat mõjutab järjestamist. Traditsioonilise, baitide väärtusel põhineva järjestuse saamiseks seadke LC_ALL=C. �%.*s: vigane teisenduse määrang�%e. %b %Y�%e. %b %H:%M�%lu kasutaja�%lu kasutajat�%s (regulaaravaldisele %s)�%s -> %s (taastamine) �%s [-d] lõpetas ebanormaalselt�%s ja %s on üks ja sama fail�`%s' on olemas, aga ei ole kataloog�%s tekkis; järgin uue faili lõppu�%s on jälle kasutatav�%s pole enam kasutatav�%s asendati mitte-lokaalse failiga; ei jälgi seda enam�%s asendati mitte-jälgitava failiga; ei jälgi seda enam�%s asendati; järgin uue faili lõppu�%s on tundmatut tüüpi fail�%s pole kasutatav, negatiivne suurus�%s koduleht: <%s> �%s koduleht: <http://www.gnu.org/software/%s/> �%s ei ole korrektne positiivne täisarv�%s on liiga suur�%s saab kasutada ainult SELinux tuumaga�%s alamprosess�%s alamprotsess sai vea�%s alamprotsess sai fataalse signaali %d�%s on antud, aga %s mitte�%s kirjutab sisendi üle; katkestan�%s%s argument '%s' on liiga suur�%s-%s�%s: %s on nii suur, et seda ei saa esitada�%s: %s: rea number on piirkonnast väljas�%s: %s: sobivat ei leitud�%s: %s:%s: korratu: �%s: korduste arvuga peab kasutama '}'�%s: avamine või lugemine ebaõnnestus �%s: oodati binaarset operaatorit�%s: suhtelisi nimeviiteid saab luua ainult jooksvas kataloogis�%s: ei õnnestu muuta mitte-blokeeruvat moodi�%s: ei õnnestu tuvastada faili suurust�%s: ei leia UID %lu vastavat kasutajanime �%s: seda tüüpi faili lõppu ei saa järgida; annan alla�%s: ei õnnestu liikuda (lseek) algsele positsioonile�%s: kataloogi ei saa üle kirjutada�%s: ei saa ümber kerida�%s: seek ebaõnnestus�%s: ei õnnestu liikuda lõpu-suhtelisele nihkele %s�%s: ei õnnestu liikuda nihkele %s�%s: ei õnnestu liikuda suhtelisele nihkele %s�%s: ei õnnestu töödelda ainult lisamiseks mõeldud faili�%s: skip ebaõnnestus�%s: ei õnnestu liikuda antud nihkele�%s: puudub sulgev eraldaja '%c'�%s: ei õnnestu eemaldada mitte-blokeeruvat moodi�%s: laskun kataloogi %s? �%s: laskun kirjutamise kaitsega kataloogi %s? �%s: faili lõpp�%s: ekvivalentsiklassi operand peab olema yks sümbol�%s: viga lühendamisel�%s: viga kirjutamisel aadressile %s�%s: ootasin numbrilist väärtust�%s: sulgemine ebaõnnestus�%s: laienduste info lugemine ebaõnnestus�%s: faili ei saa kirjutamiseks avada�%s: kustutamine ebaõnnestus�%s: failiviida ümberseadmine ebaõnnestus�%s: fcntl ebaõnnestus�%s: fdatasync ebaõnnestus�%s: fail on negatiivse suurusega�%s: fail on liiga palju lühenenud�%s: fail on liiga suur�%s: fail on liiga suur�%s: fail on lühendatud�%s: fstat ebaõnnestus�%s: fsync ebaõnnestus�%s: kataloogidele ei saa luua viiteid�%s: sisend sisaldab tsüklit:�%s: sisend sisaldab juhusliku arvu märke�%s: sisendfail on väljundfail�%s: eraldaja järel oodati täisarvu�%s: vigane IO bloki suurus�%s: vigane PID�%s: vigane osa number�%s: vigane loendur %s alguses�%s: vigane direktiiv�%s: vigane välja määrang %s�%s: vigane faili suurus�%s: vigane failitüüp�%s: vigane maksimum arv mittemuutunud atribuute avamiste vahel�%s: vigane number�%s: vigane baitide arv�%s: vigane osade arv�%s: vigane ridade arv�%s: vigane läbimiste arv�%s: vigane arv sekundeid�%s: vigane number ignoreerimiseks�%s: vigane võti -- '%c' �%s: vigane muster�%s: vigane protsessi id�%s: vigane regulaaravaldis: %s�%s: vigane signaal�%s: vigane sufiksi alustamise number�%s: vigane sufiksi pikkus�%s: rea number peab olema suurem kui null�%s: rea number on piirkonnast väljas�%s: lseek ebaõnnestus�%s: anti mitu signaali�%s: uued õigused on %s, mitte %s�%s: korrektselt vormindatud %s kontrollsumma ridu pole�%s: sellel seadmel puudub info suuruse kohta�%s: sellist kasutajat pole�%s: ei näita juba näidatud kataloogi�%s: baitide arv on liiga suur�%s: võti '%c%s' ei luba kasutada argumenti �%s: võti '%s' on segane; variandid:�%s: võti '--%s' ei luba kasutada argumenti �%s: võti '%s' nõuab argumenti �%s: võti '-W %s' ei luba kasutada argumenti �%s: võti '-W %s' on segane �%s: võti '-W %s' nõuab argumenti �%s: võti nõuab argumenti -- '%c' �%s: kirjutan %s üle? �%s: läbimine %lu/%lu (%s)...�%s: läbimine %lu/%lu (%s)...%s�%s: läbimine %lu/%lu (%s)...%s/%s %d%%�%s: viga lugemisel�%s: eemaldan %s %s? �%s: eemaldada kõik argumendid rekursiivselt? �%s: eemaldan kõik argumendid? �%s: eemaldan kirjutuskaitsega %s %s? �%s: eemaldatud�%s: eemaldan�%s: uus nimi %s�%s: asendan %s? �%s: seek ebaõnnestus�%s: liiga palju kontrollsumma ridu�%s: kirjutan %s üle, kirjutan üle ka õigused %04lo (%s)? �%s: ei õnnestu tuvastada maksimaalset failinime pikkust�%s: kõiki nõutud operatsioone ei õnnestunud sooritada�%s: oodati unaarset operaatorit�%s: tundmatu võti '%c%s' �%s: tundmatu võti '--%s' �%s: väärtust ei teisendatud täielikult�%s: viga kirjutamisel�%s: kirjutamine ebaõnnestus�%s:%lu: vigane rida; teine märgis puudub�%s:%lu: vigane null-pikkusega faili nimi�%s:%lu: tundmatu võtmesõna %s�%s}: '{' ja '}' vahel peab olema täisarv�'�')' puudub�')' puudub, leidsin %s�'-%c' liigsed sümbolid või vigane number argumendis: %s�'--pages=ESIMENE[:VIIMANE]' puudub argument�'-N NUMBER' vigane alustamise rea number: %s�'-W LEHE_LAIUS' vigane arv sümboleid: %s�'-l LEHE_PIKKUS' vigane ridade arv: %s�'-o ÄÄR' vigane rea nihe: %s�'-w LEHE_LAIUS' vigane arv sümboleid: %s�©�* failisüsteemid, mis kasutavad ajutisi puhvreid, nagu NFSv3 kliendid * tihendavad failisüsteemid �* logi-struktuuriga või "journaled" failisüsteemid, näiteks nagu pakuvad AIX ja Solaris (ja JFS, ReiserFS, XFS, Ext3 jne.) * failisüsteemid, mis kirjutavad taastatavaid andmeid, näiteks RAID tehnoloogial põhinevad failisüsteemid * failisüsteemid, mis teevad andmetest väljavõtteid (snapshots), näiteks Network Appliance NFS server �, tööjärjekorra koormus: %.2f�, %g s, %s/s �--%s argument %s on liiga suur�--context (-Z) töötab ainult SELinux funktsionaalsusega tuumaga�--filter ei töötle standardväljundisse kirjutatud tükki�--grouping ei saa võtmega --format koos kasutada�käsurea sisendi korral ignoreetitakse võtit --header�--padding ei saa võtmega --format koos kasutada�--reflink saab kasutada ainult võtmega --sparse=auto�--tag ei toeta --text moodi�-R --dereference nõuab kas -H või -L�-R -h nõuab -P�-ef ei luba -l�-nt ei luba -l�-ot ei luba -l�<sisemine>�??? �?????�Aborted�Kasutamine: %x Modifitseerimine: %y Muutmine: %z Sünd: %w �Juurdepääs: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Aadressiperekonda või hostinime ei toetata�Alarm kell�Kõik päringud täidetud�Argument puhver on liiga väike�Arnold Robbins�Assaf Gordon�Vaba�Vaba�Vigane süsteemifunktsiooni väljakutse�Vigane ai_flags väärtus�Brian Fox�Katkine toru�Siini viga�HOIATUS: shred omab oma tööks tähtsat eeldust: failisüsteem kirjutab andmeid üle. See on traditsiooniline lähenemine, aga paljud süsteemid tänapäeval ei toeta seda eeldust. Näiteks järgnevatel failisüsteemidel ei ole shred efektiivne või ei ole efektiivne kõikides moodides: �KOMMENTAAR�CPU aja piirang on ületatud�Kasutan viite FAIL2 loomiseks failile FAIL1 funktsiooni link. �Kasutan antud FAILI kustutamiseks unlink funktsiooni. �Maht�Sea igale failile grupp. Võtmega --reference, sea igale failile grupp viidatud faili järgi. �Sea igale failile õigused. Võtmega --reference, sea igale failile õigused viidatud faili järgi. �Muuda iga faili omanikku ja/või gruppi. Võtmega --reference, kasuta VFAIL omanikku ja gruppi. �Sea igale failile turvakontekst. Võtmega --reference, sea igale failile turvakontekst viidatud faili järgi. �Chet Ramey�Child exited�Colin Plumb�Võrdle järjestatud faile FAIL1 ja FAIL2 rida haaval. �Liida FAILID või standardsisend standardväljundisse. -A, --show-all sama, kui -vET -b, --number-nonblank mittetühjade väljundridade arv, tühistab -n -e sama, kui -vE -E, --show-ends näita iga rea lõpus $ -n, --number kõikide väljundridade arv -s, --squeeze-blank korraga ei väljasta üle ühe tühja rea �Kontekst=%C �Continued�Teisenda igas FAILis tühikud tabulaatoriteks, väljasta standardväljundisse. Kui FAIL puudub, või on -, loe standardsisendit. �Teisenda igas FAILIS tabulaatorid tühikuteks, väljasta standardväljundisse. Kui FAIL puudub või on -, loeb standardsisendit. �Kopeeri allikas sihtpunkti või kataloogi või mitu allikat kataloogi. �Kopeeri fail, teisendades ja vormindades seda vastavalt operaatoritele. bs=BAITI loe ja kirjuta kuni BAITI korraga cbs=BAITI teisenda BAITI baiti korraga conv=VÕTMESÕNAD teisenda fail vastavalt komadega eraldatud võtmetele count=N kopeeri ainult N sisendplokki ibs=BAITI loe BAITI baiti korraga (vaikimisi: 512) �Kopeeri standardsisend igasse FAILi, samuti standardväljundisse. -a, --append lisa antud FAILidesse, ära kirjuta üle -i, --ignore-interrupts ignoreeri katkestusi �Loo turvaliselt ajutine fail või kataloog ja väljasta selle nimi. MAATRIKS peab sisaldama lõpus vähemalt kolm järjestikulist 'X'. Kui maatriksit ei näidatud, kasutatakse tmp.XXXXXXXXXX ja --tmpdir. �Loo antud NIMega torud (FIFOd). �Loo KATALOOGid, kui neid juba pole. �Loo antud NIMEga ja TÜÜPi seadmefail. �David M. Ihnat�David MacKenzie�David Madore�Seade: %Dh/%dd Inode: %-10i Linke: %-5h Seadme tüüp: %t,%T �Seade: %Dh/%dd Inode: %-10i Linke: %h �Diagnoosi failide nimede mitteporditavaid konstruktsioone. -p testi enamus POSIX süsteeme -P testi tühje nimesid ja alustavat "-" --portability testi kõiki POSIX süsteeme (sama, kui -p -P) �Kataloog: �Näita faili või failisüsteemi olekut. �Näita hetke aega antud vormingus või sea süsteemi aeg. �Dmitry V. Levin�Eemalda täiendavad grupiõigused, võta antud KASUTAJA ID ja tema grupi ID ja käivita KÄSKLUS koos määratud argumentidega. Kui kasutaja ja grupi ID ei ole võimalik seada, lõpeta koodiga 111, muidu lõpeta sama koodiga, millega lõpetab KÄSKLUS. See programm on kasulik ainult juhul, kui käivitajaks on root (UID=0). �EMT trap�LÕPETAMINE�Iga vahemik on üks järgnevaist: N N-is bait, sümbol või väli, loendamist alustatakse ühest N- N-indast baidist, sümbolist või väljast rea lõpuni N-M alates N kuni M (kaasa arvatud) baiti, sümbolit või välja -M esimesest kuni M-nda (kaasa arvatud) baidi, sümboli või väljani Kui FAIL puudub või on -, loeb standardsisendit. �Väljasta SÕNE standardväljundisse. -n ei väljasta lõpetavat reavahetust �Eric Blake�Lõpeta koodiga, mis tähistab viga.�Lõpeta koodiga, mis tähistab õnnestumist.�Lõpeta olekuga, mille määrab AVALDIS. �François Pinard�EBAÕNNESTUS�FIXME: tundmatu�FORMAAT peab olema esitatud tüübiga 'double'. Kui ESIMENE, SAMM ja VIIMANE on fikseeritud punktiga kümnendnumbrid maksimum täpsusega PREC, kasutatakse formaadina %.PRECf, muidu %g. �Fifodel puuduvad seadme klassi ja esindaja numbrid.�Faili suuruse piirang on ületatud�Failis luuakse u+rw, kataloogid u+rwx, miinus umaski piirangud. �Failisüsteem�Filtreeri sisendis (standard sisend) järgnevad kordused, väljastades väljundisse (standardväljund). Võtmeteta, sobivad read mestitakse esimese esinemiseni. �Floating point exception�Täieliku dokumentatsiooni saate käsuga: info coreutils '%s invocation' �Iga identsete ühendatavate väljadega sisendrea paari korral väljastab rea standardväljundisse. Vaikimisi ühendatav väli on esimene, väljad eraldatakse tühemikuga. Kui FAIL1 või FAIL2 (aga mitte mõlemad) on -, loe standard- sisendit. -a FAILINUM samuti väljasta paariliseta read failist FAILINUM -e TÜHI asenda puuduvad sisendväljad sõnaga TÜHI �Salvesta muutused kettale, uuenda superplokki. �Üldine abiinfo GNU tarkvara kohta: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O on võimalik�EEMAL�IVaba�IKas%�IKasut�Ian Lance Taylor�Eemal�Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s. �Kui on määratud nii esimene kui teine vorming, eeldatakse teist kui viimane operand algab sümboliga + või (kui on 2 operandi) numbriga. Operand INDEKS tähendab -j INDEKS. MÄRGEND on esimese väljastatava baidi pseudoaadress, mida suurendatakse töö käigus. Indeksi ja märgendi puhul tähistab 0x või 0X kuueteistkümnendesitust, sufiks võib olla . kaheksandesituse korral ja b tähistab 512 kordseid. �Lubamatu instruktsioon�Lisaks, failisüsteemide varukoopiad ja kaugkoopiad võivad sisaldada faili koopiaid, mida ei saa eemaldada ja see kõik võib võimaldada siiski seda faili hiljem taastada. �Reaalne nimi: �Esimesel kujul loo viide antud nimele. Teisel kujul loo viide jooksvasse kataloogi. Kolmandal ja neljandal kujul luuakse viited kõikidele kataloogi elementidele. Vaikimisi luuakse viited, nimeviidete loomiseks on võti --symbolic. Viidete loomisel peavad viidatavad failid olemas olema. Nimeviite puhul võib kasutada suvalist teksti; hilisemal lahendamisel interpreteeritakse suhtelist viidet tema vanemkataloogi suhtes. �Ext3 failisüsteemi korral kehtib ülaltoodu (ja seega on shred piiratud efektiivsusega) juhul, kui kasutatakse moodi data=journal, mis logib lisaks metainfole ka faili sisu. Nii data=ordered (vaikimisi), kui ka data=writeback moodis töötab shred nagu harilikult. Ext3 þhurnaali moode saab muuta, kasutades data=midagi parameetrit failisüsteemi haakimisel /etc/fstab failis, täpsemat infot saab mount käsu manualist (man mount). �Lõpmatu�Lõpmatu B�Infonõue�I-kirjeid�Interrupt�Katkestatud signaaliga�Vigane tagasiviide�Vigane sümbolite klassi nimi�Vigane järjestamise sümbol�Vigane \{\} kontekst�Vigane eelnev regulaaravaldis�Vigane vahemiku lõpp�Vigane regulaaravaldis�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Tapetud�TERMINAL�LOGIN�Esita infot failidest (vaikimisi jooksvas kataloogis). Kui ei ole kasutatud võtmeid -cftuvSUX ega --sort, järjesta väljund tähestikuliselt �Kasutaja�Kasutajanimi: �Lucas algarvu testi tõrge. Seda et peaks juhtuma�Mark Kettenis�Matthew Bradburn�Tõrge mälu haaramisel�Mälu on otsas�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Haagitud�NIMI�Nimi�Nimi või teenus on tundmatu�Niels Moller�Hosti nimega ei ole aadresse seostatud�Ei leitud�Eelmist regulaaravaldist pole�nime lahendamisl tekkis taastumatu tõrge�OK�Kui kordusi kustutatakse tühjendamiseta, peab olema antud ainult üks sõne.�Võtmed järjestamiseks: �Muud võtmed: �Väljasta sisendfailide sõnade kontekstregister. �LS_COLORS keskkonnamuutujat seadvad väljundkäsud. Määra väljundi vorming: -b, --sh, --bourne-shell väljasta LS_COLORS seadmiseks Bourne shell kood -c, --csh, --c-shell väljasta LS_COLORS seadmiseks C shell kood -p, --print-database väljasta vaikeväärtused �Väljasta NIMI, millest on viimane komponent ja kaldkriipsud eemaldatud; kui nimes ei ole sümboleid '/', väljasta '.' (mis tähistab jooksvat kataloogi). �Väljasta antud suurusega tükid sisendist failidesse PREFIKSaa, PREFIKSab, ...; vaikimisi kirjutatakse 1000 rida ja vaikimisi prefiks on 'x'. Kui sisend puudub või on -, loe standardsisendit. �Väljasta MUSTRI põhjal tükeldatud FAILi tükid failidesse 'xx01', 'xx02', ... ja väljasta standardväljundisse iga osa suurus baitides. �Väljasta platvormist sõltuvad piirangud shelli sktiptides kasutataval kujul. �Väljasta kasutajad, kes on parasjagu arvutisse meldinud. Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s. �Kirjuta antud failid korduvalt üle, et muuta raskemaks andmete taastamine isegi väga kalli riistvara abil. �PID�Pakendaja %s �Pakendaja %s (%s) �Padraig Brady�Küljenda FAILid trükkimiseks lehekülgedeks või veergudeks. �Parameetersõne ei ole korrektselt kodeeritud�Paul Eggert�Paul Rubin�Pete TerMaat�Plaan: �Voolutõrge�Enneaegne regulaaravaldise lõpp�Väljasta ARGUMENT kasutades antud FORMAATI, või täida vastavalt võtmetele: �Väljasta iga FAILI kohta CRC kontrollsumma ja baitide arv. �Väljasta NIMI ilma eelnevate kataloogideta. Kui määratud, eelmalda ka sufiks. �Väljasta informatsiooni süsteemist. Kui võtmeid ei ole antud, kasutab -s. -a, --all kogu info järgnevas järjestuses, välja arvatud -p ja -i, kui on tundmatud: -s, --kernel-name väljasta tuuma nimi -n, --nodename väljasta masina võrgunimi -r, --release väljasta tuuma väljalase �Väljasta iga faili kohta kontrollsumma ja blokkide arv. -r kasuta BSD sum algoritmi, kasuta 1K blokke -s, --sysv kasuta System V sum algoritmi, kasuta 512 baidiseid blokke �Väljasta iga kasutaja või kui seda pole määratud, siis protsessi kasutaja, gruppide info. �Väljast info hetkel masinasse loginud kasutajatest. �Väljasta masina arhitektuur. �Väljasta iga FAILi baitide, sõnade ja ridade arv ning kui faile oli antud enam kui üks, siis ka kõikide summa. Kui fail puudub või on -, loe standardsisendit. Sõna on mittetühi sümbolite järjend, mis on eraldatud tühemikuga. Järgnevad võtmed määravad milliseid loendureid väljastatakse, alati järgnevas järjestuses: reavahetus, sõna, sümbol, bait, maksimaalne reapikkus. -c, --bytes väljasta baitide arv -m, --chars väljasta sümbolite arv -l, --lines väljasta ridade arv �Väljasta numbrite jada ESIMENE kuni VIIMANE, vastavalt antud sammule. �Näita või muuda terminali seadistust. �Väljasta igast FAIList valitud osad standardväljundisse. �Väljasta praegune aeg, süsteemi töötamise aeg, kasutajate arv süsteemis, ja tööjärjekorra koormus viimase 1, 5 ja 15 minuti vältel.�Väljasta standardsisendiga ühendatud terminali nimi. -s, --silent, --quiet ära väljasta midagi, tagasta ainult lõpetamise olek �Väljasta igast FAIList esimesed 10 rida standardväljundisse. Enam, kui ühe faili korral lisa ka päis faili nimega. Kui FAIL puudub või on -, loe standardsisendit. �Väljasta jooksva töökataloogi täielik nimi. �Väljasta viimased %d rida igast FAILIST standardväljundisse. Enam, kui ühe FAILI korral, lisa iga faili ette päis faili nimega. Kui FAIL puudub või on -, loe standardsisendit. �Väljasta jooksva kasutaja nimi. �Väljasta jooksvale protsessile kätte saadavate protsessorite arv, mis võib olla võiksem kui hetkel töötavate protsessorite arv �Väljasta iga NUMBRI algarvulised tegurid. Kui käsureal argumente pole, loetakse need standardsisendist. �Väljasta lahendatud absoluutne faili nimi; kõik peale viimase komponendi peavad olemas olema �Väljasta efektiivsele kasutajaidentifikaatorile vastav kasutajanimi. Sama, kui id -un. �Väljasta informatsiooni KASUTAJA või käsu kasutaja kohta. -a ignoreeri, võti on ühilduvuseks vanemate versioonidega -Z, --context väljasta ainult jooksva kasutaja turvakontekst -g, --group väljasta ainult grupi ID -G, --groups väljasta ainult lisagupid -n, --name väljasta numbri asemel nimi, võtmetele -ugG -r, --real väljasta efektiivse ID asemel reaalne ID, võtmetega -ugG -u, --user väljasta ainult kasutaja ID �Väljasta nimeviite väärtus või kanooniline faili nimi. �Päringu töötlemine käib�Profileerimise taimer on otsas�Projekt: �Q. Frank Xia�Quit�Randy Smith�Reaalaja signaal %d�Vorminda numbrid standardsisendist või käsurealt. �Vormista ümber iga lõik FAILides, kirjuta tulemus standardväljundisse. Võti -NUMBRID on lühivorm võtmest --width=NUMBRID. �Regulaaravaldis on liiga suur�Eemalda (unlink) FAIL(id). -f, --force ignoreeri puuduvaid faile, ära küsi -i küsi enne iga eemaldamist �Eemalda tühjad kataloogid. --ignore-fail-on-non-empty ignoreeri vigu mis on tingitud sellest, et kataloog pole tühi �Nimeta fail ümber või tõsta argumendid antud kataloogi. �Väljasta korduvalt rida antud sõnedega või 'y'. �%s vigadest teatage palun aadressil: %s �Teatage %s tõlkevigadest aadressil <http://translationproject.org/team/> �Päring katkestati�Päringut ei katkestatud�Resurss on kadunud�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Käivita KÄSK muudetud prioriteediga. Kui käsku ei antud, väljasta kehtiv prioriteet. Sammude vahemik on %d (kõrgeim prioriteet) kuni %d (madalaim prioriteet). �Käivita KÄSK kasutades juurkataloogina kataloogi UUSJUUR. �Käivita KÄSKLUS, ignoreeri hangup signaale. �Käivita KÄSKLUS, kasutades standardvoogude muudetud seadeid. �Käivitab programmi teises turvakontekstis. Kui kontekst ja käsk puudub, väljastab hetkel kehtiva turvakonteksti. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Saada protsessidele signaale või esita signaalide nimekiri. �ai_socktype ei toeta teenuse nime�Probleemi lahendamiseks seadke LC_ALL=C.�Sea keskkonnas iga NIMI=VÄÄRTUS ja käivita käsk. �Käsuinterpretaator: �Esita informatsioon failisüsteemidest, milles iga antud fail asub. Vaikimisi esita infot igast haagitud failisüsteemist. �Lühenda või kasvata iga faili antud suuruseni Kui argumendina näidatud fail puudub, siis see luuakse. Kui fail on suurem, kui antud suurus, liigsed andmed kustutatakse. Kui fail on väiksem, seda kasvatatakse ja täiendav osa loetakse null baitidena. �Simon Josefsson�Maht�Seadmefailide loomisel peab olema määratud nii klassi, kui esindaja number.�Vigane pinu�Käivita käsk ja tapa see, kui see pole peale antud aega veel lõpetanud. �Peatatud�Peatatud (signaal)�Peatatud (tty sisend)�Peatatud (tty väljund)�Stuart Kemp�Õnnestumine�Summeeri iga faili kettakasutus, kataloogid rekursiivselt. �Süsteemne viga�AEG�Ajutine tõrge nime lahendamisel�Terminated�'%' järel võib kasutada järgnevaid lippe: - (miinus) ära täida välju _ (alakriips) täida tühikutega 0 (null) täida nullidega ^ kui võimalik, kasuta suurtähti # kui võimalik, kasuta vastupidi tähesuurust �Võrreldi sõnesid %s ja %s.�Torbjorn Granlund�Trace/breakpoint trap�Lõpetav langkriips�Tõlgi, tihenda ja/või kustuta sümboleid standardsisendist väljastades standardväljundisse. -c, -C, --complement täienda HULK1 -d, --delete kustuta sümbolid HULK1, ei tõlgi -s, --squeeze-repeats asenda iga korduv sümbol sisendi järjendis, mis on märgitud HULK1 selle sümboli ühekordse esitusega -t, --truncate-set1 esmalt lühenda HULK1 HULK2 pikkuseks �Lisainfo saamiseks proovige '%s --help'. �Kasutage '%s ./%s' faili %s kustutamiseks. �Korduste kustutataks ja tihendamiseks peab olema antud kaks sõnet.�Tõlkimisel tuleb näidata kaks sõne.�Tüüp�Ulrich Drepper�Tundmatu viga�Tundmatu signaal %d�Tundmatu süsteemne viga�Puudub ( või \(�Puudub ) või \)�Puudub [ või [^�Puudub \{�Sea iga faili kasutamise ja muutmise ajad antud ajahetkele. Kui faili pole, see luuakse tühjana, välja arvatud võtmete -c või -h kasutamisel. Kui fail on -, muudetakse faili, mis on seotud standardväljundiga. �Urgent I/O condition�Kasutamine: %s �Kasutamine: %s KÄSKLUS [ARGUMENT]... või: %s VÕTI �Kasutamine: %s KONTEKST KÄSKLUS [argumendid] või: %s [ -c ] [-u KASUTAJA] [-r ROLL] [-t TÜÜP] [-l VAHEMIK] KÄSKLUS [arg..] �Kasutamine: %s AVALDIS või: %s VÕTI �Kasutamine: %s FAIL või: %s VÕTI �Kasutamine: %s FAIL1 FAIL2 või: %s VÕTI �Kasutamine: %s FORMAAT [ARGUMENT]... või: %s VÕTI �Kasutamine: %s NIMI [SUFIKS] või: %s VÕTI... NIMI... �Kasutamine: %s NUMBER[SUFIKS]... või: %s VÕTI Paus pikkusega NUMBER sekundit. SUFIKS võib olla 's', tähistamaks sekundeid (vaikimisi), 'm' minuteid, 'h' tunde või 'd' päevi. Erinevalt enamusest realisatsioonidest võib NUMBER olla ka murdarv. Kui on antud kaks või enam argumenti, on pausi pikkus kõikide argumentide summa. �Kasutamine: %s [VÕTI]... KÄSKLUS �Kasutamine: %s VÕTI... [FAIL]... �Kasutamine: %s VÕTI... [FAIL]... �Kasutamine: %s [-F SEADE] [--file=SEADE] [OMADUS]... või: %s [-F SEADE] [--file=SEADE] [-a|--all] või: %s [-F SEADE] [--file=SEADE] [-g|--save] �Kasutamine: %s [-NUMBRID] [VÕTI]... [FAIL]... �Kasutamine: %s [-s SIGNAAL | -SIGNAAL] PID... või: %s -l [SIGNAAL]... või: %s -t [SIGNAAL]... �Kasutamine: %s [FAIL]... või: %s [VÕTI] �Kasutamine: %s [NIMI] või: %s VÕTI Esita või sea antud süsteemi nimi. �Kasutamine: %s [NUMBER]... või: %s VÕTI �Kasutamine: %s [OPERAND]... või: %s VÕTI �Kasutamine: %s [VÕTI] �Kasutamine: %s [VÕTI] Väljasta antud arvuti (kuueteistkümnend) numbriline identifikaator. �Kasutamine: %s [VÕTI] KESTUS KÄSKLUS [ARGUMENT]... või: %s [VÕTI] �Kasutamine: %s [VÕTI] NIMI... �Kasutamine: %s [VÕTI] UUSJUUR [KÄSK [ARG]...] või: %s VÕTI �Kasutamine: %s [VÕTI] [KÄSK [ARGUMENT]...] �Kasutamine: %s [VÕTI] [FAIL] Väljasta FAIL totaalses järjestuses kooskõlas elementide osalise järjestusega. Kui FAIL puudub või on -, loe standardsisendit. �Kasutamine: %s [VÕTI]... �Kasutamine: %s [VÕTI]... KONTEKST FAIL... või: %s [VÕTI]... [-u KASUTAJA] [-r ROLL] [-l VAHEMIK] [-t TÜÜP] FAIL... või: %s [VÕTI]... --reference=VFAIL FAIL... �Kasutamine: %s [VÕTI]... KATALOOG... �Kasutamine: %s [VÕTI]... FAIL MUSTER... �Kasutamine: %s [VÕTI]... [FAIL]... �Kasutamine: %s [VÕTI]... FAIL1 FAIL2 �Kasutamine: %s [VÕTI]... GRUPP FAIL või: %s [VÕTI]... --reference=VFAIL FAIL... �Kasutamine: %s [VÕTI]... VIIMANE või: %s [VÕTI]... ESIMENE VIIMANE või: %s [VÕTI]... ESIMENE SAMM VIIMANE �Kasutamine: %s [VÕTI]... MOOD[,MOOD]... FAIL või: %s [VÕTI]... KAHEKSAND-MOOD FAIL... või: %s [VÕTI]... --reference=VFAIL FAIL... �Kasutamine: %s [VÕTI]... NIMI TÜÜP [PÕHI ALAM] �Kasutamine: %s [VÕTI]... NIMI... �Kasutamine: %s [VÕTI]... HULK1 [HULK2]... �Kasutamine: %s [VÕTI]... [ FAIL | ARG1 ARG2 ] �Kasutamine: %s [VÕTI]... [+FORMAAT] või: %s [-u|--utc|--universal] [KKPPttmm[[SS]AA][.ss]] �Kasutamine: %s [VÕTI]... [-T] ALG SIHT või: %s [VÕTI]... ALG... KATALOOG või: %s [VÕTI]... -t KATALOOG ALG... �Kasutamine: %s [VÕTI]... [-T] ALG SIHT või: %s [VÕTI]... ALG... KATALOOG või: %s [VÕTI]... -t KATALOOG ALG... või: %s [VÕTI]... -d KATALOOG... �Kasuta: %s [VÕTI]... [-T] ALLIKAS VIITE_NIMI (1. vorm) või: %s [VÕTI]... SIHT (2. vorm) või: %s [VÕTI]... SIHT... KATALOOG (3. vorm) või: %s [VÕTI]... -t KATALOOG SIHT... (4. vorm) �Kasutamine: %s [VÕTI]... [-] [NIMI=VÄÄRTUS]... [KÄSK [ARGUMENT]...] �Kasutamine: %s [VÕTI]... [FAIL] �Kasutamine: %s [VÕTI]... [FAIL] või: %s -e [VÕTI]... [ARG]... või: %s -i ALG-LÕPP [VÕTI]... �Kasutamine: %s [VÕTI]... [FAIL] Base64 kodeeri või dekodeeri faile või standardsisenit väljastades standardväljundisse. �Kasutamine: %s [VÕTI]... [FAIL]... �Kasutamine: %s [VÕTI]... [FAIL]... või: %s [-abcdfilosx]... [FAIL] [[+]INDEKS[.][b]]\n" või: %s --traditional [VÕTI]... [FAIL] [[+]INDEKS[.][b] [+]MÄRGEND[.][b]] �Kasutamine: %s [VÕTI]... [FAIL]... või: %s [VÕTI]... --files0-from=F �Kasutamine: %s [VÕTI]... [FAIL]... Väljasta või kontrolli %s (%d-bitti) kontrollsummasid. Kui FAIL puudub või on -, loe standardsisendit. �Kasutamine: %s [VÕTI]... [SISEND [VÄLJUND]] �Kasutamine: %s [VÕTI]... [SISEND [PREFIKS]] �Kasutamine: %s [VÕTI]... [SISEND]... (ilma -G) või: %s [VÕTI]... [SISEND [VÄLJUND]] �Kasutamine: %s [VÕTI]... [NUMBER]... �Kasutamine: %s [VÕTI]... [OMANIK][:[GRUPP]] FAIL... või: %s [VÕTI]... --reference=VFAIL FAIL... �Kasutamine: %s [VÕTI]... [MAATRIKS] �Kasutamine: %s [VÕTI]... [KASUTAJANIMI] �Kasutamine: %s [VÕTI]... [KASUTAJANIMI]... �Kasutamine: %s [VÕTI]... [KASUTAJA]... �Kasutamine: %s [VÕTI]... [MUUTUJA]... Väljasta näidatud keskkonnamuutujate väärtused. Kui keskkonnamuutujat MUUTUJA ei ole antud, väljasta nad kõik. �Kasutamine: %s [LÜHIVÕTI]... KASUTAJA KÄSKLUS [ARGUMENT]... või: %s PIKK-VÕTI �Kasutamine: %s [VÕTI]... [SÕNE]... või: %s PIKK-VÕTI �Kasutamine: %s [SÕNE]... või: %s VÕTI �Kasutamine: %s NIMI [ignoreeritavad argumendid] või: %s VÕTI �Kasutamine: test AVALDIS või: test või: [ AVALDIS ] või: [ ] või: [ VÕTI �Kas%�Kasut�Kasutaja defineeritud signaal 1�Kasutaja defineeritd signaal 2�Lubatud argumendid on:�Lubatud argumendid on: �Lubatud vormingu järjendid failisüsteemidele: %a vabu blokke mittepriviligeeritud kasutajatele %b andmeblokke kokku failisüsteemis %c failikirjeid kokku failisüsteemis %d vabu failikirjeid failisüsteemis %f vabu blokke failisüsteemis �Virtuaalne taimer on otsas�HOIATUS: Tsükliline kataloogide struktuur. See tähendab peaaegu alati, et failisüsteem on viga saanud. TEAVITA OMA SÜSTEEMIADMINISTRAATORIT. Järgnev kataloog on tsükli osa: %s �HOIATUS: ignoreerin --context (-Z); see tuum ei kasuta SELinux laiendusi�HOIATUS: ignoreerin --preserve-context; see tuum ei kasuta SELinux laiendusi�HOIATUS: ignoreerin võtit --strip-program, kuna võtit -s ei kasutata�Hoiatus: �Millal�Kust�Aken muutus�Võtmega --follow (-f), tail jälgib failipidet, mis tähendab et isegi juhul, kui fail nimetatakse ümber, tail jätkab faili muudatuste jälgimist. Selline vaikimisi käitumine ei ole kasulik, kui teil on vaja faili jälgida nime järgi, mitte failipideme (n. logide roteerumisel). Viimasel juhul kasutage võtit --follow=nimi. Siis jälgib tail faili nime põhjal, avades seda perioodiliselt uuesti, millega testitakse faili ümber nimetatmist, kustutamist ja uuesti loomist. �Murra iga FAILI (vaikimisi standardsisend) rida, väljasta standardväljundisse. �Kirjuta sisendfailide read juhuslikus permutatsioonis standardväljundisse. �Kirjuta iga FAIL standardväljundisse, viimane rida esimesena. Kui FAIL puudub või on -, loe standardsisendit. �Väljasta iga FAIL standardväljundisse lisades reanumbrid. Kui FAIL puudub või on -, loe standardsisendit. �Kirjuta read, mis koosnevad tabulaatoriga eraldatud igast failist kokku liidetud vastavatest ridadest, standardväljundisse. Kui FAIL puudub või on -, loe standardsisendit. �Kirjuta järjestatud FAILide ühend standardväljundisse. �Kirjutanud %s ja %s. �Kirjutanud %s, %s, %s, %s, %s, %s, %s, %s, %s ja teised. �Kirjutanud %s, %s, %s, %s, %s, %s, %s, %s ja %s. �Kirjutanud %s, %s, %s, %s, %s, %s, %s, ja %s. �Kirjutanud %s, %s, %s, %s, %s, %s ja %s. �Kirjutanud %s, %s, %s, %s, %s ja %s. �Kirjutanud %s, %s, %s, %s ja %s. �Kirjutanud %s, %s, %s ja %s. �Kirjutanud %s, %s ja %s. �Kirjutanud %s. �tõlkimisel ei saa sõnes2 [=c=] avaldisi kasutada�^ võtit ei leitud �^[eE]�^[jJ]�_open_osfhandle ebaõnnestus�`�koos parandusega peab olema antud käsk�ai_family ei toetata�ai_socktype ei toetata�segane argument %s võtmele `%s'�sisendi eraldajat saab määrata ainult juhul kui töötatakse väljadega�lisan väljundi faili %s�%s varundamine hävitaks allika; %s ei kopeeritud�%s varundamine hävitaks allika; %s ei teisaldatud�varukoopia tüüp�blokkseadme fail�blokkseadme faile ei toetata�blokke�mõlemad failid ei saa olla standardsisendid�baidi nihe %s on liiga suur�osalist konteksti ei saa rakendada märgendamata failile %s�protsessi konteksti ei õnnestu tuvastada�%s ei saa kasutada�ei õnnestu luua %s varukoopiat�korraga ei saa summeerida ja näidata kõiki�ei õnnestu muuta %s omanikku�ei õnnestu muuta %s õigusi�%s ei õnnestu juurkataloogiks seada�ei õnnestu minna kataloogi %s�ei saa minna juurkataloogi�--target-directory (-t) ja --no-target-directory (-T) ei saa koos kasutada�--target-directory ja --no-target-directory ei saa koos kasutada�-e ja -i võtmeid ei saa kombineerida�hulgast {ascii,ebcdic,ibm} ei saa ühtegi paari kasutada�block ja unblock ei saa koos kasutada�direct ja nocache ei saa koos kasutada�excl ja nocreat ei saa koos kasutada�lcase ja ucase ei saa koos kasutada�moodi ja --reference võtmeid ei saa kombineerida�signaali ei saa kombineerida võtmetega -l või -t�failide %s ja %s nimesid ei õnnestu võrrelda�U+%04X ei saa lokaalsesse kooditabelisse teisendada�U+%04X ei saa lokaalsesse kooditabelisse teisendada: %s�kataloogi %s ei saa iseendasse, %s, kopeerida�tsüklilist nimeviita %s ei õnnestu kopeerida�kataloogi `%s' ei õnnestu luua�ei õnnestu luua fifot %s�ei õnnestu luua viidet %s -> %s�ei õnnestu luua viidet %s -> %s�ei õnnestu luua toru�ei õnnestu luua tavalist faili %s�ei õnnestu luua seadmefaili %s�ei õnnestu luua nimeviidet %s�ei õnnestu luua nimeviidet %s -> %s�%s sees ei õnnestu ajutist faili luua�%s ei saa lahendada�ei õnnestu tuvastada %s seadet ja i-kirje numbrit�ei õnnestu tuvastada süsteemi nime�%s asukohta ei õnnestu tuvastada. kasutan pollimist�--relative ei saa kasutada võtmeta --symbolic�%s peal ioctl ei õnnestu�ei leia GID %lu vastavat gruppi�ei leia kasutaja ID %s vastavat kasutajanime�ei õnnestu %s nime järgi leida�ei saa määrata kontekstiks %s ja seda säilitada�fstat %s ei õnnestu�ei õnnestu leida jooksvat kataloogi�ei õnnestu lugeda efektiivset GID�ei õnnestu lugeda efektiivset UID�prioriteeti ei õnnestu lugeda�ei õnnestu lugeda reaalset GID�ei õnnestu lugeda reaalset UID�ei õnnestu leida süsteemi nime�ei õnnestu lugeda %s suurust�lseek %s ei õnnestu�ei õnnestu luua ei tavalist ega nimeviita�kataloogi %s ei õnnestu luua�ei õnnestu tõsta %s -> %s�%s ei saa tõsta iseenda alamkataloogi %s�kataloogi ei saa tõsta mitte-kataloogi: %s -> %s�ei õnnestu avada %s lugemiseks�%s ei õnnestu kirjutamiseks avada�kataloogi %s ei saa avada�nimeviitega %s, millel viidatav puudub, ei saa opereerida�kataloogi %s ei saa üle kirjutada mitte kataloogiga�ei saa üle kirjutada mitte-katataloogi %s kataloogiga %s�vormindatud väljundit ei saa luua�laiendatud atribuute ei saa säilitada kuna cp on kompileeritud xattr toeta�SELinux tuumata ei saa turvakonteksti säilitada�ei saa väljastada enam kui ühte "ainult" valikut�vaikimisi formaati kasutades ei saa väljastada ainult nimesid või reaalset ID�kui on kasutaja määratud, siis ei saa turvakonteksti väljastada�ei saa lugeda�kataloogi %s ei õnnestu lugeda�failist %s ei õnnestu failide nimesid lugeda�ei õnnestu lugeda %s failisüsteemi informatsiooni�ei õnnestu lugeda reaalaja kella�ei õnnestu lugeda nimeviidet %s�ei õnnestu lugeda haagitud failisüsteemide tabelit�%s ei saa kustutada�ei õnnestu kustutada kataloogi: %s�ei õnnestu muuta %s failiviita�fd %d ei saa taastada: dup2 ebaõnnestus�käsku %s ei saa käivitada�%s seadmine ei õnnestu�kuupäeva ja kellaaega ei õnnestu seada�ei õnnestu seada grupi ID %lu�nime ei õnnestu seada; süsteemil pole sellist funktsionaalsust�ei õnnestu seada nimeks %s�prioriteeti ei õnnestu seada�ei õnnestu seada %s ajatempleid�ei õnnestu seada kasutaja ID %lu�kombineeritud sisendi lõpust kaugemale liikuda ei saa�käsuga koos ei saa --null (-0) kasutada�ei saa trükkida korraga järjestikku ja paralleelselt.�paralleelselt väljastamisel ei saa veergude arvu määrata.�ei õnnestu kirjeldada aegu rohkem kui ühest allikast�ei saa tükeldada enam kui ühel viisil�stat %s ei õnnestu�ei õnnestu lugeda jooksva kataloogi atribuute (nüüd %s)�stat ei saa standardsisendil kasutada�%s ei õnnestu kasutada�%s ei saa taastada�%s ei saa kustutada�%s kustutamine ei õnnestu�%s ei õnnestu jälgida�ei õnnestu jälgida %s vanemkataloogi�ei õnnestu tuuma veast mööda minna�muutsin %s grupiga %s grupiks %s �muutsin %s omanik %s omanikuks %s �muudan %s gruppi�muudan %s omanikku�muudan %s õigusi�muudan %s turvakonteksti �sümboli nihe on null�sümbol on piirkonnast väljas�sümbolseadme fail�sümbolseadme faile ei toetata�puhastan %s õigused�kell muutus�close ebaõnnestus�sulen %s (fd=%d)�sulen kataloogi %s�sulgen sisendfaili %s�sulgen sisendtoru�sulgen väljundfaili %s�sulgen väljundtoru�sulen eelneva toru�sulen standardsisendi�ühilduvuse mood toetab ülimalt ühte faili�konfliktsed tühja-välja asendamise sõned�anti konfliktne turvakontekst�%s puhverdust ei saa seada moodi %s �%s -d jaoks ei õnnestunud protsessi luua�ajutist faili ei õnnestu luua�%s ei õnnestu käivitada�%s -d ei õnnestu käivitada�ei leia %s kataloogi kirjet, mille i-kirje sobiks�ei õnnestu lugeda alglaadimise aega�kataloog %s on loodud�loon kataloogi %s�loon faili %s �eraldajate nimekirja lõpus on kaitsmata langkriips: %s�Kataloog�nulliga jagamine�dup2 ebaõnnestus�tühi %s pole lubatud�tühi failinimi�tühi tabulaator�viga faili sulgemisel�viga regulaaravaldisega otsingul�viga regulaaravaldisega otsingul�viga kuu sõnede initsialiseerimisel�viga inotify sündmuse monitoorimisel�viga %s lugemisel�viga inotify sündmuse lugemisel�viga sisendi lugemisel�viga käsu järele ootamisel�viga %s kirjutamisel�käivitan muutujaga FILE=%s �exit=�liigne argument: %s�liigne operand %s�täiendav operand %s pole võtmega -%c lubatud�%s kasutamine ebaõnnestus�%s kanoniseerimine ebaõnnestus�%s konteksti seadmine %s ei õnnestu�%s grupi %s muutmine grupiks %s ebaõnnestus �%s grupi muutmine grupiks %s ebaõnnestus �faili %s õiguste %04lo (%s) muutmine õigusteks %04lo (%s) ei õnnestu �ei õnnestu muuta %s omanikku �ei õnnestu seada %s omanik %s uueks omanikuks %s �ei õnnestu seada %s omanikuks %s �chdir %s ebaõnnestus�%s kloonimine kloonitavast %s ebaõnnestus�%s sulgemine ebaõnnestus�sisendtoru sulgemine ebaõnnestus�uue konteksti arvutamine ebaõnnestus�osade sisendnumbrite teisendamine ebaõnnestus�maatriksiga %s ei õnnestunud kataloogi luua�maatriksiga %s ei õnnestunud faili luua�ei õnnestu luua viidet %s�ei õnnestu luua viidet %s => %s�viite loomine failile %.0s%s ebaõnnestus�ei õnnestu luua toru�turvakonteksti loomine ebaõnnestus: %s�ei õnnestu luua nimeviidet %s�ei õnnestu luua nimeviidet %s -> %s�%s sees ei õnnestu ajutist faili luua�puhvist loobumine ebaõnnestus: %s�%s laiendamine ebaõnnestus�%s ei leitud�%s atribuutide lugemine ebaõnnestus�jooksva konteksti lugemine ebaõnnestus�failisüsteemi loomise konteksti ei õnnestu lugeda�jooksva protsessi gruppide lugemine ebaõnnestus�kasutaja %s gruppide lugemine ebaõnnestus�%s turvakonteksti lugemine ebaõnnestus�ei õnnestu leida faili %s�%s avamine ebaõnnestus�%s ei õnnestu lugemiseks avada�faili %s ei saa kirjutamiseks avada�väärtuse '%Lf' väljastamiseks ettevalmistamine ebaõnnestus�%s autorit ei õnnestu säilitada�%s omanikku ei õnnestu säilitada�%s õigusi ei õnnestu säilitada�%s aegu ei õnnestu säilitada�standard veavoo ümbersuunamine ebaõnnestus�standard veavoo ümbersuunamine /dev/null peale ebaõnnestus�%s kustutamine ebaõnnestus�kataloogi %s ei õnnestunud kustutada�standardsisendi muutmine mittekasutatavaks ebaõnnestus�reopen %s moodiga %s ebaõnnestus�vaikimisi faili loomise konteksti ei õnnestunud taastada�esialgsesse töökataloogi ei õnnestu tagasi minna�%s voogu ei saa kerida�käsklust %s ei saa käivitada�viga käivitamisel: "%s -c %s"�turvakonteksti %s komponendi %s seadmine ebaõnnestus�keskkonna muutuja FILE väärtustamine ei õnnestunud�täiendavate gruppide seadmine ebaõnnestus�vaikimisi faili loomise konteksti %s seadmine ebaõnnestus�grupi ID seadmine ebaõnnestus�uue vahemiku %s seadmine ebaõnnestus�uue rolli %s seadmine ebaõnnestus�uue tüübi %s seadmine ebaõnnestus�uue kasutaja %s seadmine ebaõnnestus�lisagruppide nimekirja ei õnnestu seada�stderr koopiale ei õnnestu seada omadust 'close on exec'�%s turvakonteksti seadmine %s ebaõnnestus�kasutaja ID seadmine ebaõnnestus�stat %s ebaõnnestus�O_DIRECT välja lülitamine ebaõnnestus: %s�keskkonna muutmine väärtusega %s ei õnnestunud�fdatasync %s ebaõnnestus�fflush ebaõnnestus�välja number %s on liiga suur�välja number on null�väljad ja positsioonid nummerdatakse alates numbrist 1�fifo�fail %d ei ole järjestatud�faili operande ei saa võtmega --files0-from koos kasutada�faili operande ei saa võtmega --print-database (-p) kasutada�failisüsteemi tüüp %s on nii valitute kui ka väljaarvatute nimekirjas�süsteemifunktsioon fork ebaõnnestus�vormingu %s lõpus on %%�vormingus %s puudub %% direktiiv�vormingus %s on liiga palju %% direktiive�vormingus %s on tundmatu %%%c direktiiv�kui trükitakse võrdse pikkusega sõnesid, ei saa formaadisõnet kasutada�fsync %s ebaõnnestus�fts_close ebaõnnestus�fts_read ebaõnnestus�fts_read ebaõnnestus: %s�genereerin suhtelise tee�loen %s uusi atribuute�%s grupp säilitati kui %s �grupeerimist ei saa kasutada võtmega --to�selles lokaadis grupeerimine ei mõju�iconv funktsioon puudub�iconv funktsioon ei ole kasutatav�id=�mitme argumendi korral ignoreerin võtit --no-newline�ignoreerin kõiki argumente�ignoreerin sisendit�ignoreerin sisendit ja lisan väljundi faili %s�ignoreerin sisendit ja suunan stderr standardväljundisse�eiran vigast tabulaatori kirjeldust keskkonnamuutujas TABSIZE: %s�eiran vigast keskkonnamuutuja QUOTING_STYLE väärtust: %s�eiran vigast laiuse kirjeldust keskkonnamuutujas COLUMNS: %s�ignoreerin argumente, mis ei ole võtmed�ühildamatud väljad %lu, %lu�mitteühilduvad tabulaatorid�inotify ei saa kasutada, kasutan pollimist�inotify ressursid said otsa�sisend kadus�sisendi rida on liiga pikk�sisendrida on liiga lühike, väljal %ld ei ole teisendatavaid numbreid�seadmete-vaheline teisaldamine ebaõnnestus: %s -> %s; allikat ei saa kustutada�vigane %s%s argument '%s'�vigane --%s argument %s�vigane --threshold argument '-0'�vigane muudatus %s�vigane argument %s�vigane argument %s võtmel `%s'�vigane keha nummerdamise stiil: %s�vigane puhverdamise mood %s argumendil %s �vigane baitide, sümbolite või väljade loend�vigane sümbol '%c' tüübisõnes %s�vigane sümbolite klass %s�vigane kontekst: %s�vigane teisendus�vigane teisenduse määraja sufiksis: %c�vigane teisenduse määraja sufiksis: \%.3o�vigane kuupäev %s�vigane kuupäeva vorming %s�vigane vähenev vahemik�vigane seade %s %s�vigane seadme tüüp %s�vigane välja number: %s�vigane välja määrang: %s�vigane välja väärtus: '%s'�vigane välja laius: %s�vigane faili number välja määrangus: %s�vigased lipud teisenduse määrangus: %%%c%c�vigane murdarv: %s�vigane jaluse nummerdamise stiil: %s�vigane vorming %s (laius on liiga suur)�vigane vorming %s, direktiiv peab olema %%['][-][N]f�vigane tühemiku laius: %s�vigane grupp�vigane grupp %s�vigane grupi nimekiri %s�vigane grupp: %s�vigane päise nummerdamise stiil: %s�vigane päise väärtus '%s'�vigane sisend�vigane sisendi lipp�vigane sisendi vahemik: %s�vigane täisarv %s�vigane numbriline argument %s�vigane ridade arv: %s�vigane liini määrang %s�vigane rea numbri välja laius: %s�vigane rea numbri samm: %s�vigane rea numbri vorming: %s�vigane rea laius: %s�vigane seadme põhinumber %s�vigane maksimaalne sügavus %s�vigane seadme alamnumber %s�vigane mood�vigane mood %s�vigane mood: %s�vigane number %s�vigane number peale ','�vigane kuupäev peale '-'�vigane number peale '.'�vigane number välja alguses�vigane tühjade ridade arv: %s�vigane baitide arv�vigane võrreldavate baitide arv�vigane vahelejäetavate baitide arv�vigane veergude arv: %s�vigane vahelejäetavate väljade arv�vigane ridade arv�vigane number: '%s'�vigane võti -- %c�vigane võti -- %c; -NUMBRID tuntakse ainult juhul, kui see on esimene võti; kasutage parem -w N�vigane väljundi aadressi raadiks '%c'; see peab olema üks sümbolitest [doxn]�vigane väljundi lipp�vigane täitmise väärtus '%s'�vigane lehekülgede vahemik %s�vigane täpsus: %s�vigane vahemik, lõpp puudub: -�vigane korduste arv %s [c*n] konstruktsioonis�vigane seade�vigane alustamise rea number: %s�vigane oleku lipp�vigane sufiks %s, sisaldab kataloogi eraldajat�vigane sufiks %s%s argument '%s'�vigane sufiks sisendis '%s': '%s'�vigane sufiks sisendis: '%s'�vigane tabulaatori suurus: %s�vigane maatriks %s, sisaldab kataloogi eraldajaid�vigane maatriks, %s; võtmega --tmpdir, ei saa see olla absoluutne�vigane ajaintervall %s�vigane ajamäärang %s�vigane võti lõpus -- %c�vigane tüübisõne %s�vigane tüübisõne %s; see süsteem ei realiseeri %lu-baidist ujukoma tüüpi�vigane tüübisõne %s; see süsteem ei realiseeri %lu-baidist sisetüüpi�vigane ühiku suurus: '%s'�vigane universaal sümboli nimi \%c%0*x�vigane kasutaja�vigane kasutaja %s�vigane laius: %s�vigane murdmise veerg: %s�vigane null-pikkusega faili nimi�%s rekursiivselt töötlemine on ohtlik�%s (sama kui %s) rekursiivselt töötlemine on ohtlik�võtme %lu laius on null ja ignoreeritakse�võti %lu on numbriline ja haarab mitut välja�suur sisendväärtus '%s': võimalik on täpsuse kadu�viimane=�alustav '-' faili nime %s komponendis�võtme %lu ees olevad tühemikud on olulised; kaaluge ka 'b' kasutamist�piirang %lu on ületatud, failinime pikkus %lu, fail %s�piirang %lu on ületatud, failinime komponendi pikkus %lu, komponent %s�reapuhver standardsisendil ei oma mõtet�ridade arvu võti -%s%c... on liiga suur�rea number %s on väiksem, kui eelneva rea number, %s�rea numbri ületäitumine�pikk võti '--megabytes' ei ole soovitatav ja eemaldatakse peagi�maksimaalne --%s argument praeguse rlimit piiranguga on %s�mälu on otsas�sisendpuhver suurusega %zu baiti (%s) põhjustas mälu täis saamise�väljundpuhver suurusega %zu baiti (%s) põhjustas mälu täis saamise�teadete järjekord�miinimum --%s argument on %s�joondamata [:upper:] ja/või [:lower:] konstruktsioonid�sufiksis puudub %% teisenduse määrang�puudub ']'�sisendis puudub sufiks 'i': '%s' (n. Ki/Mi/Gi)�%s nõuab argumenti�%s nõuab argumenti�puudub sümbolite klassi nimi '[::]'�sufiksis puudub teisenduse määrang�%s järel puudub sihtfail�puudub ekvivalentsiklassi sümbol '[==]'�argumentides puudub failinimi�paojadas puudub kuueteistkümnend number�puudub väljade loend�puudub asukohtade loend�puudub operand�%s järel puudub operand�mood peab määrama ainult failiõigused�%s õigused muutusid, enne %04lo (%s), nüüd %04lo (%s) �%s õigused jäeti %04lo (%s) �haakepunkt %s on juba läbitud�liigutan sisendtoru�mitme-sümboliline tabulaator %s�kasutati mitut -i võtit�kasutati mitud -l või -t võtit�määrati mitu tihendusprogrammi�kasutati mitut eraldajat�mitu taseme vahemikku�määrati mitu väljundfaili�määrati mitu väljundvormingut�määrati mitu juhuarvude allikat�määrati mitu suhtelist modifikaatorit�mitu rolli�määrati mitu sihtkataloogi�mitu tüüpi�mitu kasutajat�nii nimeviide %s kui ka viidatav fail jäeti muutmata �puudub keskkonnamuutuja SHELL, samuti ei ole määratud shelli tüüpi�ei õnnestu muuta %s omanikku �puudub käsklus�teisendamise võtit ei antud�ühtegi failisüsteemi ei töödeldud�rohkem faile pole�%s sisend puudub�kasutajanime pole�puudub protsessi ID�tüüpi ei saa määrata, kui trükitakse sõnesid�kasutajanimi puudub; -l kasutamisel peab olema vähemalt üks kasutajanimi�mitte-numbriline argument�mitteporditav sümbol %s faili nimes %s�pole terminal�ei kirjuta läbi rippuva nimeviite %s�%s number on liiga suur�paralleelsuse number peab olema mittenull�baite�ridu�numbriline sufikisi algväärtus on sufiksi pikkuse jaoks liiga suur�kasutati aeguvat võtit %s; kasutage selle asemel %s�failiviida ületäitumine %s lugemisel�jätan kataloogi %s vahele�sõnes2 saab kasutada ainult ühte kordamise konstruktsiooni [c*]�lubatud on ainult üks seade�lubatud on ainult sama tüüpi loend�open ebaõnnestus�võtit '-%s' ignoreeritakse�võtmeid '-%s' ignoreeritakse�võti '-r' rakendub ainult viimase võrdluse korral�võti --output: väli '%s' on tundmatu�võti --option: väli '%s' on esitatud enam kui korra�võtit kasutati vales kontekstis -- %c�võtmed %s ja %s on üksteist välistavad�võtmed '-%s' ei sobi kokku�võtmed --backup ja --no-clobber on üksteist välistavad�parameetrid --compare (-C) ja --preserve-timestamps on üksteist välistavad�parameetrid --compare (-C) ja --strip on üksteist välistavad�mälu on otsas (küsiti %zu baiti)�väljundfailide sufiksid said otsa�faili %s suurendamisel tekkis ületäitumine�faili %s suuruse ümardamisel tekkis ületäitumine�%s omanik säilitati �%s omanik säilitati kui %s �lehekülje numbri ületäitumine�leht on liiga kitsas�säilitan %s õigused�jätan %s ajad muutmata�kõikide duplikaat ridade ja korduste arvu ei saa korraga väljastada�vahemiku otsad '%s-%s' on tagurpidi järjestuses�viga lugemisel�lugemine ebaõnnestus�loen kataloogi %s�kirje on liiga suur�suunan standardveavoo standardväljundisse�tavaline tühi fail�tavaline fail�ei kasuta sisendi sufiksit: '%s' (kaaluge --from kasutamist)�%s eemaldatud �kustutatud kataloog: %s �kustutan kataloogi, %s�töö-olek�semafor�eraldaja ei või olla tühi�probleemi lahendamiseks seadke LC_ALL=C.�sean %s lipud�sean %s õigusi�sean faili %s aegu�jagatud mälu objekt�skip-bytes + read-bytes on liiga suur�jätan %s vahele, kuna asub teisel seadmel�jätan %s vahele, kuna see asendati kopeerimise ajal�sokkel�squfof järjekorra ületäitumine�standard veavoog�standardsisend�standardsisend suleti�standardväljund�stat ebaõnnestus�standard veavoog�standardsisend�standardväljund�juhuslik sümbol välja määrangus�sõnede võrdlus ebaõnnestus�sõnede teisendamine ebaõnnestus�strip protsess lõpetas veaga�eraldamata ridade blokeerimine omab mõtet ainult väljadega töötamise puhul�nimeviide�süntaksi viga�süsteemi boot�tabulaatori suurus ei saa olla 0�tabulaatori suurus sisaldab vigast sümbolit: %s�tabulaatori suurused peavad olema kasvavad�tabulaatori peatus on liiga suur %s�tabulaatori peatus on liiga suur�tabulaatorid on liiga kaugel�antud siht, %s, ei ole kataloog�kataloogi installeerimisel ei saa sihtkataloogi määrata�term=�test ja/või [�võtmed --binary ja --text ei oma kontrollsummade kontrollimisel mõtet�võtit --compare (-C) ignoreeritakse, kui te annate moodi õiguste bittideta�võtit --quiet on mõtet kasutada ainult kontrollsummade kontrollimisel�võtit --status on mõtet kasutada ainult kontrollsummade kontrollimisel�võtit --strict on mõtet kasutada ainult kontrollsummade kontrollimisel�võti --tag ei oma mõtet kontrollsummade kontrollimisel�võtit --warn on mõtet kasutada ainult kontrollsummade kontrollimisel�[c*] konstruktsioon võib olla sõne2 sees ainult tõlkimisel�kordamise konstruktsiooni [c*] ei saa kasutada sõnes1�argumendil %s puudub ees '+'; Kui soovite väljastada aega, peavad argumendid, mis ei ole võtmed, olema formaati määravad sümboliga '+' algavad sõned.�eraldaja peab olema üks sümbol�jälgitav käsk salvestas core faili�inimesele loetava ja programmile loetava väljundi seaded on üksteist välistavad�võtmed dircolor sisemise andmebaasi väljastamiseks ja shelli süntaksi valimiseks on üksteist välistavad�aja seadmise ja väljastamise võtmeid ei saa koos kasutada�väljastatava ajaformaadi võtmed on üksteist välistavad�võrreldi sõnesid %s ja %s�kataloogi installeerimisel ei saa kasutada võtit strip�sufiksi pikkus peab olema vähemalt %zu�teisendamata sõne oli %s.�aeg %s on piirkonnast väljas�et kasutada kasutaja-ID %s, on vaja samuti kasutada -g�maatriks %s sisaldab liiga vähe X tähti�sufiksis on liiga palju %% teisenduse määranguid�hulgas on liiga palju sümboleid�liiga palju korduvaid ridu�liiga palju maatrikseid�kokku�lugemine ebaõnnestus: %s�tüübitud mälu objekt�uid=%s�veateadet ei õnnestu näidata�ei õnnestu registreerida jooksvat töökataloogi�turvakonteksti %s ei saa seada�ootamatu tõrge: fts_info=%d: %s palun teatage aadressil %s�tundmatu binaarne operaator�tundmatu olek käsult (0x%X)�tundmatu voog�tundmatu kasutaja-ID: %s�arusaamatu väärtus keskkonnamuutuja LS_COLORS jaoks�tundmatu failisüsteemi tüüp 0x%08lx %s jaoks. Palun saatke raport: %s. kasutan pollimist�tundmatu operand %s�tundmatu prefiks: %s�püsti %2d:%02d, �püsti %ld päev %2d:%02d, �püsti %ld päeva %2d:%02d, �püsti ???? päeva ??:??, �selle ettevaatusabinõu blokeerimiseks kasutage --no-preserve-root�kasutan %s järjestamise reegleid�%s standard sisendi tähistamiseks ei tööta faili süsteemi moodis�kasutan lihtsat baidivõrdlust�väärtus on teisendamiseks liiga suur: '%s'�väärtus on väljastamiseks liiga suur: '%Lg' (ei saa kasutada väärtusi > 999Y)�väärtus on väljastamiseks liiga suur: '%Lg' (kaaluge --to kasutamist)�ootan %s [-d] järel�ootan alamprotsessi lõpetamist�ootan strip käsu lõpetamist�hoiatus: �hoiatus: %s: ignoreerin sümbolkonstandile järgnevaid sümboleid�hoiatus: %s: ei saa muuta kontekstiks %s�hoiatus: 'touch %s' on aegunud; kasutage `touch -t %04ld%02d%02d%02d%02d.%02d'�hoiatus: --pid=PID ei ole selles süsteemis toetatud�hoiatus: --retry on kasutatav ainult failide jälgimisel nime põhjal�hoiatus: PID ignoreeritakse; --pid=PID on kasulik ainult failide jälgimisel�hoiatus: kaitsmata langkriips vormingu lõpus pole porditav�hoiatus: langkriips vormingu lõpus�hoiatus: ei saa kustutada: %s�hoiatus: mälupildi salvaestamise keelamine ei õnnestunud�hoiatus: standardsisendi lõpmatu jälgimine ei toimi�hoiatus: ignoreerin liigseid argumente, alustan argumendist %s�hoiatus: peale lugemisviga ei pruugi failiviit olla õige�hoiatus: vigane laius %lu; kasutan selle asemel %d�hoiatus: rea number %s on sama, kui eelneva rea number�hoiatus: sigprocmask�hoiatus: lähtefail %s on esitatur enam kui korra�hoiatus: summeerimine on konfliktne võtmega --max-depth=%lu�hoiatus: summeerimine on sama, kui kasutada --max-depth=0�hoiatus: segast kaheksand paojada \%c%c%c interpreteeritakse 2-baidise järjendina \0%c%c, %c�hoiatus: timer_create�hoiatus: timer_settime�hoiatus: tundmatu jada '\%c'�hoiatus: kasutan lseek funktsiooni tuuma vea tõttu alternatiivset meetodit, fail (%s) mt_type=0x%0lx -- tüüpide nimekirja leiate <sys/mtio.h>�veider fail�kui hulka1 ei lühendata, peab sõne2 olema mittetühi�kui failide nimesid loetakse standardsisendist, pole failide nimed %s lubatud�kui määrate väljundi moodi, siis ei saa seadme moodi seada�kui tõlkida kasutades täiendatud sümbolklasse, peab sõne2 seostama kõik doomeni sümbolid ühe sümboliga�tõlkides olukorras kus sõne1 on pikem, kui sõne2, ei tohi viimane lõppeda sümbolite klassiga�tõlkimisel saab sõne2 sees kasutada sümbolklassidena ainult klasse 'upper' ja 'lower'�ei kopeeri faili %s üle just loodud nimeviite %s �ei loo viidet %s kataloogile %s�ei kirjuta üle just loodud faili %s failiga %s�võtme --parents kasutamisel peab sihtkoht olema kataloog�võtmega --suffix, maatriks %s peab lõppema tähega X�failiga FILE=%s, lõpetamise kood %d käsult: %s�failiga FILE=%s, signaal %s käsult: %s�viga kirjutamisel�viga %s kirjutamisel�kirjutamine ebaõnnestus�kirjutan faili %s�peab olema antud -c, -t, -u, -l, -r või kontekst�peate määrama baitide, sümbolite või väljade loendi�peab olema määratud suhteline %s %s korral�peab olema määratud kas %s või %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% kirjet sisse %+% kirjet välja �% lühendatud kirje �% lühendatud kirjet �% bait (%s) kopeeritud�% baiti (%s) kopeeritud�% baidini väljundfailis %s lühendamine ebaõnnestus�indeks on liiga suur: ei õnnestu lühendada pikkuseni seek=% (%lu-baiti) blokki�% baiti väljundfailis %s lühendamine ebaõnnestus�%s:%: ei ole järjestatud: %.*s�stdio puhvri haaramine mahus % ebaõnnestus �%s: %: vigaselt vormindatud %s kontrollsumma rida�HOIATUS: %: vigaselt vormindatud kontrollsumma rida�HOIATUS: %: vigaselt vormindatud kontrollsumma read�HOIATUS: % näidatud faili ei saanud lugeda�HOIATUS: % näidatud faile ei saanud lugeda�HOIATUS: % arvutatud kontrollsumma EI klappinud�HOIATUS: % arvutatud kontrollsummad EI klappinud�alguslege number % ületab lehekülgede arvu %�Lehekülg %�ületäitumine % * % baiti blokke faili %s kohta�%s lühendamine % baidile ebaõnnestus��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/tr.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001526142�12107204514�011760� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-5.3.0.tr.po to Turkish # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # Ali Devin Sezer <Ali_Sezer@brown.edu>, 2002. # Nilgün Belma Bugüner <nilgun@superonline.com>, 2001, 2002. # Onur Tolga ÅžEHİTOÄžLU <onur@lcsl.metu.edu.tr>, 1998. # Deniz Akkus Kanca <deniz@arayan.com>, 2001,2003, 2004. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2005-03-14 04:17+0200\n" "Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.9.1\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%s argümanı `%s' için geçersiz" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%s argümanı `%s' için belirsiz" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Geçerli argümanlar:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "girdi dosyası %s kapatılıyor" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "yazma hatası" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "%s'in izinleri ayarlanıyor" #: lib/error.c:188 msgid "Unknown system error" msgstr "Bilinmeyen sistem hatası" # #: lib/file-type.c:38 msgid "regular empty file" msgstr "normal boÅŸ dosya" # #: lib/file-type.c:38 msgid "regular file" msgstr "normal dosya" #: lib/file-type.c:41 msgid "directory" msgstr "dizin" # #: lib/file-type.c:44 msgid "block special file" msgstr "blok özel dosyası" # #: lib/file-type.c:47 msgid "character special file" msgstr "karakter özel dosyası" # #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "sembolik baÄŸ" #: lib/file-type.c:56 msgid "socket" msgstr "soket" #: lib/file-type.c:59 msgid "message queue" msgstr "ileti kuyruÄŸu" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" # #: lib/file-type.c:65 msgid "shared memory object" msgstr "paylaşımlı bellek nesnesi" # #: lib/file-type.c:68 msgid "typed memory object" msgstr "türlenmiÅŸ bellek nesnesi" # #: lib/file-type.c:70 msgid "weird file" msgstr "garip dosya" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fifo dosyaları desteklenmiyor" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "fifo dosyaları desteklenmiyor" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "fifo dosyaları desteklenmiyor" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "yazma hatası" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "Bilinmeyen sistem hatası" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' seçeneÄŸi argümansız kullanılır\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: seçenek `%c%s' argümansız kullanılır\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' seçeneÄŸi bir argümanla kullanılır\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: `--%s' seçeneÄŸi bilinmiyor\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: `%c%s' seçeneÄŸi bilinmiyor\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: geçersiz seçenek -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: seçenek bir argümanla kullanılır -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s' seçeneÄŸi belirsiz\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' seçeneÄŸi argümansız kullanılır\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' seçeneÄŸi bir argümanla kullanılır\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "%s'in eriÅŸim izinleri deÄŸiÅŸtirilemiyor" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "%s dizini oluÅŸturulamıyor" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "bellek tükendi" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "openat: çalışılan dizini kaydedemedi" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "baÅŸlangıç çalışma dizinine geri dönülemedi" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: arama (seek) baÅŸarısız" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "geçersiz karakter sınıfı `%s'" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 #, fuzzy msgid "Invalid range end" msgstr "Geçersiz sayfa aralığı `%s'" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "bellek tükendi" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "düzenli ifade (regular expression) aramasında hata oluÅŸtu" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "düzenli ifade (regular expression) aramasında hata oluÅŸtu" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "düzenli ifade (regular expression) aramasında hata oluÅŸtu" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "%s üzerinde döngüsel iÅŸlem yapmak tehlikelidir" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "%s üzerinde döngüsel iÅŸlem yapmak tehlikelidir (%s gibi)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "--no-preserver-root seçeneÄŸini kullanarak bu güvenlik tedbirini aşın" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[eE]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[hH]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "%s'in izinleri ayarlanıyor" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "sözdizimi hatası" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "saat deÄŸiÅŸikliÄŸi" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: geçersiz sinyal" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: geçersiz sinyal" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "fork sistem çaÄŸrısı baÅŸarısız" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "açma iÅŸlemi baÅŸarısız" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "%s fifosu oluÅŸturulamadı" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: arama (seek) baÅŸarısız" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" # #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv iÅŸlevi kullanılabilir deÄŸil" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv iÅŸlevi yok" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "karakter kapsamdışı" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04X yerel karakter kümesine dönüştürülemiyor" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04X yerel karakter kümesine dönüştürülemiyor: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "kullanıcı geçersiz" #: lib/userspec.c:107 msgid "invalid group" msgstr "grup geçersiz" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "kullanıcı geçersiz" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "%s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "%s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "%s, %s, %s \n" "ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%s, %s, %s, %s \n" "ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "%s, %s, %s, %s, \n" "%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "%s, %s, %s, %s, \n" "%s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "%s, %s, %s, \n" "%s, %s, %s, \n" "%s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%s, %s, %s, \n" "%s, %s, %s, \n" "%s, %s ve %s tarafından yazıldı.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "%s, %s, %s, \n" "%s, %s, %s, \n" "%s, %s, %s ve baÅŸkaları tarafından yazıldı.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "açma iÅŸlemi baÅŸarısız" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Bilinmeyen sistem hatası" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "%s açılamadı" # #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "dizge karşılaÅŸtırması baÅŸarısız" # #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Problemi devre dışı bırakmak için LC_ALL='C' tanımlayın." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "KarşılaÅŸtırılan dizgeler %s ve %s idi." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "`%s' argümanı geçersiz" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "tamsayı argüman olarak `%s' geçersiz" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: `%.*s' sayımı fazla büyük" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Kullanım: %s [SECENEK] [DOSYA]...\n" " veya: %s [SECENEK] --check [DOSYA]\n" "%s (%d-bit) saÄŸlama toplamlarını kontrol eder veya yazar.\n" "DOSYA adı verilmediÄŸinde veya - olduÄŸunda standart girdiden okur.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "DOSYA verilmemiÅŸse veya DOSYA - ise, standart girdi okunur.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "okuma hatası" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "geçersiz girdi bayrağı: %s" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "geçersiz sekme boyutu: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "`%s' operandı fazla" # #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "standart girdi kapatılıyor" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin ve David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Kullanımı: %s İSİM [SONEK]\n" " veya: %s SEÇENEK\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Dizinlerle ilgili kısımlar kaldırılarak İSİM basılır.\n" "BelirtilmiÅŸse, SONEK de kaldırılır.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "eksik iÅŸlenen" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund ve Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "DOSYA(ları)yı (veya standart girdiyi) standart çıktıya yazar.\n" "\n" " -A, --show-all -vET ile aynı\n" " -b, --number-nonblank boÅŸ olmayan çıktı satırlarını numaralandırır\n" " -e -vE ile aynı\n" " -E, --show-ends her satırın sonuna bir $ koyar\n" " -n, --number tüm çıktı satırlarını numaralandırır\n" " -s, --squeeze-blank arka arkaya gelen boÅŸ satırları bire indirger\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t -vT ile aynı\n" " -T, --show-tabs TAB karakterlerini ^I olarak gösterir\n" " -u (yoksayılır)\n" " -v, --show-nonprinting LFD ve TAB hariç ^ ve M- nitelemesini kullanır\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "`%s üzerinde ioctl baÅŸarısız" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standart çıktı" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: girdi dosyası çıktı dosyası ile aynı" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 #, fuzzy msgid "Jim Meyering" msgstr "Jim Meyering ve Paul Eggert" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "%s'nın sahipliÄŸi deÄŸiÅŸtirilemedi\n" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "%s'nın öznitelikleri alınamadı" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "%s'nın sahipliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "%s'e eriÅŸilemedi" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "%s dizini okunamıyor" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "%s'nın eriÅŸim izinleri deÄŸiÅŸtiriliyor" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read baÅŸarısız oldu" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "kapatma iÅŸlemi baÅŸarısız" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kullanım: %s [SEÇENEK]... SAHİBİ[:[GRUP]] DOSYA...\n" " veya: %s [SEÇENEK]... : GRUP DOSYA...\n" " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root `/' için özel iÅŸlem yapma (öntanımlı)\n" " --preserve-root `/' üzerinde döngüsel iÅŸlem yapma\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet çoÄŸu hata iletisini bastırır.\n" " --reference=RDOSYA RDOSYA'nın grup deÄŸerini kullanır, GRUP deÄŸerini\n" " deÄŸil.\n" " -R, --recursive dizin ve dosyalar üzerinde çevrimli iÅŸlem yapar.\n" " -v, --verbose iÅŸlenen her dosya için bir durum iletisi gösterir.\n" "\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "AÅŸağıdaki seçenekler, -R seçeneÄŸi var iken hiyerarÅŸilerin nasıl gezildiÄŸini\n" "etkiler. EÄŸer birden fazla seçenek kullanılır ise, ancak sonuncusu etkin\n" "olur.\n" "\n" " -H eÄŸer bir komut satırı seçeneÄŸi, bir dizine verilen\n" " sembolik baÄŸ ise, o dizini gezer\n" " -L bir dizine giden bütün sembolik baÄŸları gezer\n" " -P hiç bir sembolik bağı gezmez (öntanımlı)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference ile ya -H veya -L kullanılmalıdır" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h ile -P kullanılmalıdır" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "`%s'den sonra eksik iÅŸlenen" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "geçersiz kip: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "%s'nın öznitelikleri alınamadı" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "geçersiz grup %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kullanım: %s [SEÇENEK]... GRUP DOSYASI\n" " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference her sembolik bağın kendisini etkiler, bağın " "imlediÄŸi\n" " dosyayı deÄŸil. (yalnızca sembolik baÄŸ sahibiyetini\n" " deÄŸiÅŸtirebilen sistemlerde bulunur.\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "%s'nın yeni öznitelikleri alınıyor" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ne sembolik baÄŸ %s ne de imlediÄŸi dosya deÄŸiÅŸtirilmedi\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s'nin kipi %04lo (%s) olarak deÄŸiÅŸtirildi\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "%s'nın kipi %04lo (%s) olarak deÄŸiÅŸtirilemedi\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s'nin kipi %04lo (%s) olarak korundu\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "%s sembolik bağı oluÅŸturulamadı" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "%s'nın eriÅŸim izinleri deÄŸiÅŸtiriliyor" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s'in izinleri ayarlanıyor" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kullanım: %s [SEÇENEK]... KİP[,KİP]... DOSYA...\n" " veya: %s [SEÇENEK]... SEKİZLİK-KİP DOSYA\n" " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet çoÄŸu hata iletisini bastırır.\n" " --reference=RDOSYA RDOSYA'nın grup deÄŸerini kullanır, GRUP deÄŸerini\n" " deÄŸil.\n" " -R, --recursive dizin ve dosyalar üzerinde çevrimli iÅŸlem yapar.\n" " -v, --verbose iÅŸlenen her dosya için bir durum iletisi gösterir.\n" "\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "kip ve --reference seçenekleri birleÅŸtirilemez" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "geçersiz kip: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s'nin sahipliÄŸi %s'e deÄŸiÅŸtirildi\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s'nin grup üyeliÄŸi %s'e deÄŸiÅŸtirildi\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "%s'in sahipliÄŸi deÄŸiÅŸmedi\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "%s'nın sahipliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "%s'nın sahipliÄŸi deÄŸiÅŸtirilemedi\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "%s'nın sahipliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s'nin sahipliÄŸi %s olarak korundu\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s'in grubu %s olarak korundu\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s'nin sahipliÄŸi korundu\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s izlenemedi" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "%s'in sahipliÄŸi deÄŸiÅŸtiriliyor" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "%s'in grup üyeliÄŸi deÄŸiÅŸtiriliyor" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kullanım: %s [SEÇENEK]... [SAHİP][:[GRUP]] DOSYA...\n" " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ŞİMDİKİ_SAHİP:ŞİMDİKİ_GRUP\n" " her dosyanın sahibini ve/veya grubunu eÄŸer ÅŸimdiki\n" " sahip ve/veya grup burada verilen deÄŸerlere eÅŸ ise\n" " deÄŸiÅŸtirir. Bu deÄŸerlerin biri verilmeyebilir, o \n" " takdirde, verilmeyen deÄŸere eÅŸleme yapılmaz.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Sahip deÄŸeri yok ise sahip deÄŸiÅŸtirilmez. Grup deÄŸeri yok ise \n" "deÄŸiÅŸtirilmez, fakat bir sembolik bir SAHİP'ten sonra':' ile iÅŸaret edilmiÅŸ\n" "ise kullanıcının grubuna deÄŸiÅŸtirilir. SAHİP ve GRUP deÄŸerleri \n" "sembolik olabileceÄŸi gibi sayısal deÄŸerler de olabilir.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "geçersiz grup %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "geçersiz grup %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "%s durumlanamadı" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s [SEÇENEK] YENİKÖK [KOMUT...]\n" " veya: %s SEÇENEK\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "KOMUT'u kök dizin YENİKÖK olarak çalıştırır.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "EÄŸer komut verilmemiÅŸse, ``${SHELL} -i''yi çalıştırır (öntanımlı: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "kök dizini %s olarak deÄŸiÅŸtirilemedi" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "kök dizinine geçilemedi" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "%s durumlanamadı" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "%s durumlanamadı" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "%s komutu çalıştırılamadı" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: dosya fazla uzun" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Kullanım: %s [DOSYA]...\n" " veya: %s [SEÇENEK]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Her DOSYA'nın CRC saÄŸlama toplamlarını ve bayt sayılarını yazdırır.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Kullanım: %s [SEÇENEK]... DOSYA1 DOSYA2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Sıralı dosyalar DOSYA1 ve DOSYA2'yi satır satır karşılaÅŸtırır.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Seçenek verilmemiÅŸse üç sütuna çıktı verir. Birinci sütun yalnızca " "DOSYA1'de\n" "bulunan satırları, ikinci sütun yalnızca DOSYA2'de bulunan satırları,\n" "üçüncü sütun her iki dosyada da bulunan satırları içerir.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 salt DOSYA1'de yer alan satırları yazmaz\n" " -2 salt DOSYA2'de yer alan satırları yazmaz\n" " -3 her iki dosyada da yer alan satırları yazmaz\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "birden fazla çıktı dosyası belirtilmiÅŸ" #: src/comm.c:411 #, fuzzy, c-format msgid "empty %s not allowed" msgstr "-c seçeneÄŸi ile ekstra iÅŸlenen %s kullanılamaz" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "%s'i okunurken hata" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "%s'de lseek yapılamadı" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "%s'e yazarken hata" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s: silinemedi" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "yazma baÅŸarısız oldu" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "%s açılamadı" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "%s'in izinleri ayarlanıyor" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "%s'nin sahiplik bilgileri korunamadı" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "%s dosyasına bakılamadı" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "%s'nin yazar bilgileri korunamadı" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s okumak için açılamadı" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "%s'nin dosya durumu (fstat) alınamadı" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "kopyalandığı esnada deÄŸiÅŸtirildiÄŸi için %s dosyası atlandı" #: src/copy.c:850 #, fuzzy, c-format msgid "failed to get file system create context" msgstr "standart hatanın kopyası, exec sonunda kapanmaya ayarlanamadı" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "%s silinemedi" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s silindi\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "normal dosya %s oluÅŸturulamadı" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "%s açılamadı" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "%s'in zaman damgaları korundu" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "%s açılamadı" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: %s'ın, %04lo kipi gözardı edilerek, üzerine yazılsın mı?" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s'ın üzerine yazılsın mı?" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (yedek: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "%s sabit bağı %s'e baÄŸlanamadı" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "%s durumlanamadı" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "%s dizini atlanıyor" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "uyarı: %s kaynak dosyası bir defadan çok belirtilmiÅŸ" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s ve %s aynı dosya" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "Dizin olmayan %s'un üzerine dizin %s yazılamaz" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "yeni oluÅŸturulmuÅŸ %s'un üzerine %s yazılamaz" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "Dizin %s'ın üzerine dizin olmayan bir dosya yazılamaz" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "bir dizin, dizin olmayanın üzerine taşınamaz: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "%s'ı yedeklemek kaynağı yok eder; %s taşınmadı" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "%s'ı yedeklemek kaynağı yok eder; %s kopyalanmadı" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "%s yedeklenemedi" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "yeni oluÅŸturulmuÅŸ %s'un üzerine %s yazılamaz" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "bir dizin, %s, kendi içine kopyalanamaz, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "Dizine sabit baÄŸ oluÅŸturulmayacak: sabit baÄŸ %s, dizin %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s kendi alt dizinine taşınamaz, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "%s %s'e taşınamadı" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "aygıt arası taşıma baÅŸarısız: %s'yı %s'a; hedef silinemedi" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "%s'nın öznitelikleri alınamadı" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "çevrimli sembolik baÄŸ %s kopyalanamaz" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: göreceli sembolik baÄŸlar yalnızca mevcut dizinde oluÅŸturulabilir" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "sembolik baÄŸ %s, %s'e baÄŸlanamadı" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "%s fifosu oluÅŸturulamadı" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "özel dosya %s oluÅŸturulamadı" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "%s sembolik bağı okunamadı" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "%s sembolik bağı oluÅŸturulamadı" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s bilinmeyen dosya türüne sahip" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "%s yedeklemesi geri alınamadı" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (yedeklemeyi geri al)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Kullanım: %s [SEÇENEK]... [-T] KAYNAK HEDEF\n" " veya: %s [SEÇENEK]... KAYNAK... DİZİN\n" " veya: %s [SEÇENEK]... -t DİZİN KAYNAK...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "KAYNAK'ı HEDEF'e kopyalar veya birden fazla KAYNAK'ı DİZİN'e kopyalar.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive -dpR ile aynı\n" " --backup[=KONTROL] mevcut olan her hedef dosyanın yedeÄŸini " "alır.\n" " -b --backup gibi, fakat argüman kabul etmez.\n" " --copy-contents çevrimli olduÄŸu zaman özel dosyaların " "içeriÄŸini kopyalar\n" " -d --no-dereference --preserve=link ile aynı\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " --no-dereference sembolik baÄŸları izlemez\n" " -f, --force eÄŸer mevcut bir hedef dosya açılamaz ise, " "onu\n" " siler ve tekrar dener\n" " -i, --interactive üzerine yazmadan önce sorar\n" " -H komut satırında sembolik baÄŸları izler\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -l, --link dosyaları kopyalamak yerine sembolik baÄŸ\n" " oluÅŸturur.\n" " -L, --dereference sembolik baÄŸları hep izler\n" " -p --preserve=mode,ownership,timestamps ile " "aynı\n" " --preserve[=ÖZNİT_LST] belirtilen öznitelikleri korur\n" " öntanımlı öznitelikler:\n" " mode,ownership,timestamps\n" " (kip,sahibi,zaman damgaları)\n" " diÄŸer öznitelikler:\n" " links,all\n" #: src/cp.c:203 #, fuzzy msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ÖZNT_LİST belirtilen öznitelikleri korumaz\n" " --parents kaynak yolunu DİZİN'in sonuna ekler\n" " -P --no-dereference ile aynı\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive yinelemeli kopyalar\n" " --remove-destination bütün mevcut hedef dosyaları açmayı " "denemeden\n" " siler (--force ile karşılaÅŸtır)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --reply={yes,no,query} mevcut bir hedef dosya için sorgulamanın " "nasıl\n" " yapılacağını ayarlar: \n" " yes=evet, no=hayır, query=sor\n" " --sparse=ZAMAN seyrek dosyaların oluÅŸumunu kontrol eder\n" " --strip-trailing-slashes bütün KAYNAK argümanlarının sonundan " "kesmeleri\n" " (/) kaldırır\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link kopyalama yerine sembolik baÄŸ oluÅŸturur\n" " -S, --suffix=SONEK normal yedekleme soneki yerine SONEK'i\n" " kullanır\n" " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır\n" " -T, --no-target-directory HEDEF'i normal bir dosya kabul eder\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update yalnızca KAYNAK dosya hedef dosyadan daha " "yeni\n" " olduÄŸu veya hedef dosya mevcut olmadığı " "zaman\n" " kopyalar\n" " -v, --verbose ne yapıldığını anlatır\n" " -x, --one-file-system bu dosya sisteminde kalır\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Öntanımlı olarak seyrek KAYNAK dosyalar kaba bir yöntemle bulunur \n" "ve ilgili HEDEF dosya da seyrek olarak oluÅŸturulur. \n" "Bu davranış --sparse=auto seçeneÄŸi ile belirtilir. \n" "EÄŸer --sparse=always seçilir ise KAYNAK dosya yeterli \n" "uzunlukta sıfır bayt dizisi içerdiÄŸi zaman seyrek HEDEF dosya \n" "oluÅŸturulur\n" "Hiçbir zaman seyrek dosya oluÅŸturmamak için --sparse=never seçeneÄŸini \n" "kullanın.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Yedekleme soneki eÄŸer --suffix veya SIMPLE_BACKUP_SUFFIX ile belirtilmemiÅŸ " "ise\n" "'~'dir. Yedekleme kontrol metodu --backup seçeneÄŸi ile veya \n" "VERSION_CONTROL çevre deÄŸiÅŸkeninden belirlenebilir. Geçerli deÄŸerler:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off hiç yedekleme yapma (--backup kullanılsa bile)\n" " numbered, t numaralanmış yedekleme yap\n" " existing, nil eÄŸer numaralanmış yedekler var ise numaralanmış, yoksa " "basit\n" " simple, never her zaman basit yedekleme yap\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Özel bir durum olarak, cp force ve backup seçenekleri verilmiÅŸ ve \n" "KAYNAK ve HEDEF deÄŸiÅŸkenleri birbirine eÅŸit olup\n" "mevcut, normal bir dosyayı gösteriyorlarsa KAYNAK'ın bir yedeÄŸini alır.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "%s'in zaman damgaları korunamadı" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "%s'in izinleri korunamadı" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "dizin %s oluÅŸturulamadı" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s var ama bir dizin deÄŸil" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "%s açılamadı" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "dosya iÅŸleyeni eksik" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "%s sonrasında hedef dosya iÅŸleyeni eksik" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "--target-directory (-t) ve --no-target-directory (-T) birleÅŸtirilemez" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "hedef %s bir dizin deÄŸil" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "dosya yolları korunurken hedef bir dizin olmalı" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "birden fazla hedef dizin belirtilmiÅŸ" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "hem sabit hem sembolik baÄŸ oluÅŸturulamaz" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "--string ve --check seçenekleri aynı anda kullanılamaz" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "yedekleme türü" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "girdi yok oldu" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: satır sayısı kapsam dışı" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: `%s': satır sayısı kapsam dışı" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " %s tekrarda\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: `%s': eÅŸleÅŸme bulunamadı" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "düzenli ifade (regular expression) aramasında hata oluÅŸtu" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "`%s' için yazım hatası" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: ayraçtan sonra tamsayı olmalı" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: tekrar sayımında `}' gerekli" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: `{' ve `}' arasına tamsayı yazılmalı" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: kapatan ayraç `%c' eksik" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: geçersiz kalıp" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: satır sayısı 0'dan büyük olmalı" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "satır numarası `%s' bir önceki satır numarası %s den daha küçük" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "uyarı: satır numarası `%s' bir önceki satır numarası ile aynı" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "sonekte dönüşüm belirleyicisi eksik" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "sonekte geçersiz dönüşüm belirleyicisi: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "sonekte geçersiz dönüşüm belirleyicisi: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: geçersiz çevrim tanımı" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "sonekte gereÄŸinden fazla %% dönüşüm belirleyicisi var" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "sonekte %% dönüşüm belirleyicisi eksik" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: geçersiz sayı" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Kullanım: %s [SEÇENEK]... DOSYA KALIP...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "KALIP(lar)la ayrılmış DOSYA parçalarını `xx01', `xx02', ... isimli " "dosyalara,\n" "her parçanın bayt sayısını standart çıktıya yazar.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=BİÇEM %02d yerine sprintf BİÇEM'ini kullanır\n" " -f, --prefix=ÖNEK `xx' yerine ÖNEKi kullanır\n" " -k, --keep-files hata olduÄŸunda çıktı dosyalarını silmez\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=BASAMAK BASAMAK sayısında basamak kullanır (-n \n" " kullanılmadıkça 2 ) \n" " -s, --quiet, --silent çıktı dosyalarının bayt büyüklüklerini vermez\n" " -z, --elide-empty-files boÅŸ çıktı dosyalarını siler\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "EÄŸer DOSYA - olarak verilmiÅŸse, standart girdiyi okur. Her KALIP, aÅŸağıdaki\n" "seçeneklerden olabilir:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " SAYI verilen SAYI satırına kadar (SAYI satırı hariç) " "kopyalar\n" " /DÜZİF/[GÖRELİ] kalıba uyan satıra kadar (uyan satır hariç) kopyalar\n" " (DÜZİF = düzenli ifade(regular expression)) \n" " %DÜZİF%[GÖRELİ] uyan satıra kadar (uyan satır hariç) atlar\n" " {SAYI} bir önceki kalıbı SAYI kere tekrar eder\n" " {*} bir önceki kalıbı mümkün olduÄŸu kadar tekrar eder\n" "\n" "Bir satır GÖRELİ konumu, `+' veya `-' ve ardından bir pozitif sayıdan " "oluÅŸur.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Her DOSYA'daki satırların seçilen bölümlerini standart çıktıya yazdırır.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LİSTE sadece bu baytları gösterir\n" " -c, --characters=LİSTE sadece bu karakterleri gösterir\n" " -d, --delimiter=AYRAÇ Alan ayracı olarak TAB yerine AYRAÇ'ı kullanır\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LİSTE sadece bu alanları gösterir; ayrıca, eÄŸer -s\n" " seçeneÄŸi belirtilmemiÅŸse, içinde ayraç olmayan " "tüm\n" " satırları yazdırır.\n" " -n (yoksayılır)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement seçili bayt, karakter veya alan kümelerini tümler\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited içinde ayraç olmayan alanları yazdırmaz\n" " --output-delimeter=DİZGE\n" " çıktı ayracı olarak DİZGE'yi kullanır \n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "-f -b ve -c den yalnız biri kullanılabilir. Her LİSTE bir aralık, veya \n" "virgüllerle ayrılmış birden fazla aralıktan oluÅŸmalıdır. Seçilen girdi\n" "okunduÄŸu sırada yazılır ve yalnızca bir defa yazılır. Her aralık\n" "aÅŸağıdakilerden biri olmalıdır:\n" "\n" " N birden baÅŸlanarak sayıldığında N. bayt, karakter veya alan\n" " N- N. bayt, karakter, veya alandan satırın sonuna kadar\n" " N-M N ile M (dahil) arasında olan bayt, karakter veya alanlar\n" " -M 1 ile M (dahil) arasında olan bayt, karakter veya alanlar\n" "\n" "DOSYA belirtilmediÄŸinde veya - olarak verildiÄŸinde standart girdiden okur.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "geçersiz bayt veya alan listesi" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "geçersiz geniÅŸlik seçeneÄŸi: %s" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "Geçersiz sayfa aralığı `%s'" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "bayt görecesi %s çok büyük" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "alan numarası %s çok büyük" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "sadece bir liste türü belirtilebilir" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "ayraç tek karakter olmalıdır" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "bayt, karakter ya da alan listesi belirtilmelidir" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "sadece alanlar üzerinde iÅŸlem yaparken bir ayraç belirtilebilir" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "ayrılmamış alanları atlamak sadece alanlar üzerinde iÅŸlem\n" "\tyapılırken anlamlı" #: src/cut.c:870 msgid "missing list of fields" msgstr "alan listesi eksik" #: src/cut.c:872 msgid "missing list of positions" msgstr "konum listesi eksik" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Kullanımı: %s [SEÇENEK]... [+BİÇEM]\n" " veya: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 #, fuzzy msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=DOSYA DOSYAnın son deÄŸiÅŸtirildiÄŸi zamanı gösterir\n" " -R, --rfc-822 RFC-2822 uyumlu tarih ve zaman gösterir\n" " -s, --set=DİZGE sistem zamanını DİZGE ile belirtilen zamana " "ayarlar\n" " -u, --utc, --universal zamanı Greenwich saatiyle gösterir ya da " "deÄŸiÅŸtirir\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "BİÇEM çıktıyı kontrol eder. İkinci biçem için tek geçerli seçenek\n" "Greenwich saatini belirtir. Bilinen biçemler:\n" "\n" " %% sabit %\n" " %a yerelin kısaltılmış gün adı (Paz..Cmt)\n" #: src/date.c:165 #, fuzzy msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A yerelin uzun gün adı, deÄŸiÅŸken uzunluk (Pazar..Cumartesi)\n" " %b yerelin kısaltılmış ay adı (Oca..Ara)\n" " %B yerelin uzun ay adı, deÄŸiÅŸken uzunluk (Ocak..Aralık)\n" " %c yerelin tarih ve zamanı (Cmt Kas 04 12:02:33 EEST 1989)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C yüzyıl (yıl yüze bölünüp tamsayıya budanır) [00-99]\n" " %d ayın günü (01..31)\n" " %D tarih (aa/gg/yy)\n" " %e boÅŸlukla yastıklanmış ayın günü ( 1..31)\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h %b ile aynı\n" " %H saat (00..23)\n" " %I saat (01..12)\n" " %j yılın günü (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k saat ( 0..23)\n" " %l saat ( 1..12)\n" " %m ay (01..12)\n" " %M dakika (00..59)\n" #: src/date.c:194 #, fuzzy msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n satırsonu karakteri\n" " %N nanosaniye (000000000..999999999)\n" " %p büyük harfli yerel ÖÖ/öS belirteci\n" " %P küçük harfli yerel öö/ös belirteci\n" " %r 12 saatlik zaman (ss:dd:SS [ÖÖ]S])\n" " %R 24 saatlik zaman (ss:dd)\n" " %s `00:00:00 1970-01-01 UTC' saatinden beri saniye sayısı (bir GNU " "eklentisi)\n" # #: src/date.c:203 #, fuzzy msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S saniye (00..60); 60, fazla bir saniyeyi belirtebilmek için " "gereklidir\n" " %t yatay sekme\n" " %T 24 saatlik zaman (ss:dd:SS)\n" " %u haftanın günü (1..7); 1, pazartesiye tekabül eder\n" #: src/date.c:209 #, fuzzy msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U yılın haftası, pazar günü haftanın ilk günü kabul edilir (00..53)\n" " %V yılın haftası, pazartesi günü haftanın ilk günü kabul edilir " "(01..53)\n" " %w haftanın günü (0..6); 0, pazar gününe tekabül eder\n" " %W yılın haftası, pazartesi günü haftanın ilk günü kabul edilir " "(00..53)\n" #: src/date.c:215 #, fuzzy msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x yerelin tarih betimlemesi (gg/aa/yy)\n" " %X yerelin zaman betimlemesi (%H:%M:%S)\n" " %y yılın son iki basamağı (00..99)\n" " %Y yıl (1970...)\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standart girdi" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "`%s' geçerli bir zaman dizgesi deÄŸil" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "birden fazla çıktı dosyası belirtilmiÅŸ" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "tarih belirten bu seçenekler birlikte kullanılamaz" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "zamanı ayarlamak ve göstermek için bu seçenekler birlikte kullanılamaz" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "`%s' argümanı bir `+' ile baÅŸlamalı;\n" "Zamanı belirtmek için bir seçenek kullanırken, seçenek olmayan\n" "her argüman `+' ile baÅŸlayan bir biçem dizgesi olmalıdır." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "tarih ayarlanamadı" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "%s zamanı aralık dışı" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s [İŞLEYEN]...\n" " veya: %s SEÇENEK\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Seçeneklere göre biçemleme ve dönüştürme yaparak bir dosya kopyalar.\n" "\n" " bs=BAYT ibs=BAYT ve obs=BAYT anlamına gelir \n" " cbs=BYTES bir seferde BAYT dönüştürür\n" " conv=ANAHTAR_KELİMELER dosyayı virgülle ayrılmış\n" " anahtar kelime listesine uygun olarak dönüştürür\n" " count=BLOK yalnızca BLOK sayıda girdi bloÄŸu kopyalar\n" " ibs=BAYT bir seferde BAYT bayt okur\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=DOSYA standart girdi yerine DOSYA'dan okur\n" " iflag=BAYRAK virgülle ayrılmış sembol listesine uygun olarak okur\n" " obs=BAYT bir seferde BAYT bayt yazdırır\n" " of=DOSYA standart çıktı yerine DOSYA'ya yazdırır\n" " oflag=BAYRAK virgülle ayrılmış sembol listesine uygun olarak yazdırır\n" " seek=BLOK çıktının başında obs boyunda BLOK sayısında blok atlar\n" " skip=BLOK girdinin başında ibs boyunda BLOK sayısında blok atlar\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOK ve BAYTlar aÅŸağıdaki çarpan sonekleri ile bitebilirler:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diÄŸerleri\n" "\n" "Her CONV sembolü:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii EBCDIC'den ASCII'ye\n" " ebcdic ASCII'den EBCDIC'ye\n" " ibm ASCII'den alternatifli EBCDIC'ye\n" " block satırsonu karakteri ile biten kayıtları cbs boyutuna getirmek\n" " için boÅŸlukla doldurur\n" " unblock cbs boyutundaki kayıtlarda sonda yer alan boÅŸlukları yenisatır \n" " ile deÄŸiÅŸtirir\n" " lcase büyük harfleri küçük harfe dönüştürür\n" " ucase küçük harfleri büyük harfe dönüştürür\n" " swab her girdi bayt çiftini takas eder\n" " sync her girdi bloÄŸunu NUL karakterle doldurarak ibs boyutuna " "getirir\n" " block veya unblock seçenekleri ile kullanıldığı zaman NUL " "yerine\n" " boÅŸlukla doldurur\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl çıktı dosyası var ise baÅŸarısız olur\n" " nocreat çıktı dosyasını oluÅŸturmaz\n" " notrunc çıktı dosyasını budamaz\n" " noerror okuma hatalarından sonra da devam eder\n" " fdatasync bitirmeden önce çıktı dosya verisini fiziken yazdırır\n" " fsync fdatasync gibi fakat ek olarak meta veriyi de yazdırır\n" #: src/dd.c:576 #, fuzzy msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Her BAYRAK sembolü:\n" "\n" " append ekleme kipi (yalnız çıktı için geçerli)\n" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync veri için senkron I/O kullanır\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync önceki gibi fakat meta veri için de geçerli\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock bloklamayan I/O kullanır\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" " noctty dosyadan kontrol eden terminali ayarlamaz\n" " terminal from file\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow sembolik baÄŸları izlemez\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 #, fuzzy msgid " binary use binary I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dd.c:612 #, fuzzy msgid " text use text I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Çalışan bir `dd' sürecine SIGUSR1 sinyali göndermek, sürecin I/O\n" " istatistiklerini standart hataya yazdırmasını ve kopyalamaya\n" "devam etmesini saÄŸlar.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -USR1 $pid; sleep 1; kill $pid\n" " 18335302+0 kayıt girdi\n" " 18335302+0 kayıt çıktı\n" " 9387674624 bayt (9.4 GB) kopyalandı, 34.6279 saniye, 271 MB/s\n" "\n" "Seçenekler:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "budanmış kayıt" msgstr[1] "budanmış kayıt" #: src/dd.c:701 #, fuzzy, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%s bayt (%s) kopyalandı" msgstr[1] "%s bayt (%s) kopyalandı" #: src/dd.c:720 #, fuzzy msgid "Infinity B" msgstr "Sonsuz" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ", %g saniye, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "girdi dosyası %s kapatılıyor" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "çıktı dosyası %s kapatılıyor" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "%s dizinine chdir baÅŸarısız" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "%s'e yazılıyor" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "geçersiz iÅŸleyen %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "geçersiz dönüşüm: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "geçersiz girdi bayrağı: %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "geçersiz çıktı bayrağı: %s" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "geçersiz durum bayrağı: %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "geçersiz sayı %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "{ascii, ebcdic, ibm} deÄŸerlerinin herhangi ikisi birleÅŸtirilemez" # #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "`block' ve `unblock' seçenekleri aynı anda kullanılamaz" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" "`lcase' (küçük harf) ve `ucase' (büyük harf) seçenekleri aynı anda " "kullanılamaz" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "`excl' ve `nocreat' seçenekleri birleÅŸtirilemez" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "`excl' ve `nocreat' seçenekleri birleÅŸtirilemez" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "uyarı: mt_type=0x%2$0lx, %1$s dosyası için lseek çekirdek hatasına " "alternatifler\n" " kullanılıyor -- tür listesi için <sys/mtio.h>'e bakın" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: aranamadı" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: aranamadı" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "%s dosya okunurken görece taÅŸması" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "uyarı: baÅŸarısız okumadan sonra garip dosya atlaması" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "çekirdek hatası bertaraf edilemedi" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "%s için seçenekler belirtiliyor" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: görece %s'ye ilerlenemiyor (seek)" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "çıktı dosyasında %s bayt ileriye gidildi %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "%s için fdatasync baÅŸarısız" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "%s için fsync baÅŸarısız" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "%s açılamadı" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "çıktı dosyasında %s bayt ileriye gidildi %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "%s dizinine chdir baÅŸarısız" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Dosyasistemi" #: src/df.c:175 msgid "Type" msgstr "Tür" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blok" #: src/df.c:181 msgid "Used" msgstr "Dolu" #: src/df.c:184 msgid "Available" msgstr "BoÅŸ" #: src/df.c:187 msgid "Use%" msgstr "Kull%" #: src/df.c:190 msgid "Inodes" msgstr "Dosyaindeksi" #: src/df.c:193 msgid "IUsed" msgstr "Dolu" #: src/df.c:196 msgid "IFree" msgstr "BoÅŸ" #: src/df.c:199 msgid "IUse%" msgstr "IKull%" #: src/df.c:202 msgid "Mounted on" msgstr "BaÄŸlanılan yer" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "uyarı: %s kaynak dosyası bir defadan çok belirtilmiÅŸ" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Boy" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "BoÅŸ" #: src/df.c:474 msgid "Capacity" msgstr "Kapasite" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Üzerinde DOSYA'ların bulunduÄŸu dosyasistemi hakkında bilgi gösterir,\n" "veya öntanımlı olarak bütün dosyasistemleri hakkında bilgi gösterir.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 0 bloÄŸa sahip dosyasistemlerini de dahil eder.\n" " -b --block-size=BOY BOY baytlık bloklar kullanır\n" " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" " (örn., 1K 234M 2G)\n" " -H, --si yukarıdaki gibi fakat 1000'in katlarını kullanır,\n" " 1024'ün deÄŸil.\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes blok kullanımı yerine idüğüm bilgilerini gösterir\n" " -k, --block-size=1024 gibi\n" " -l, --local listelemeyi yerel dosyasistemleri ile sınırlar\n" " --no-sync (öntanımlı) kullanım bilgisini almadan önce sync\n" " yapmaz\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability POSIX çıktı biçemini kullanır\n" " --sync kullanım bilgisini almadan önce sync yapar\n" " -t, --type=TÜR bilgi göstermeyi TÜR türünde dosyasistemleri ile\n" " sınırlar\n" " -T, --print-type dosyasistemi türünü gösterir\n" " -x, --exclude-type=TÜR bilgi göstermeyi TÜR türünde olmayan\n" " dosyasistemleri ile sınırlar\n" " -v (yoksayılır)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "tarih belirten bu seçenekler birlikte kullanılamaz" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Uyarı: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "dosyasistem türü %s hem seçili hem dışarlanmış" #: src/df.c:1500 msgid "Warning: " msgstr "Uyarı: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%s baÄŸlanmış dosyasistemleri tablosu okunamadı" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "LS_COLORS çevre deÄŸiÅŸkenini deÄŸiÅŸtirmek için çıktı komutları.\n" "\n" "Çıktı formatını belirler:\n" " -b, --sh, --bourne-shell LS_COLORS'u belirlemek için Bourne kabuk " "komutları\n" " çıktılar\n" " -c, --csh, --c-shell LS_COLORS'u belirlemek için C kabuk komutları\n" " çıktılar\n" " -p, --print-database öntanımlıları çıktılar\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "EÄŸer DOSYA belirtilmiÅŸ ise, hangi dosya türü ve uzantılar için hangi " "renklerin\n" "kullanılacağı dosyadan okunur. EÄŸer DOSYA belirtilmemiÅŸ ise önceden " "derlenmiÅŸ\n" "bir veritabanı kullanılır. Bu dosyaların biçemi için, \n" "'dircolors --print-database' komutunu çalıştırın.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: %lu geçersiz satır; ikinci dizgecik yok" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s: %lu: tanınmayan anahtar kelime %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<içsel>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "dircolors çıktısının hem içsel veritabanına, hem de bir kabuk sentaksına\n" "göre olması çeliÅŸkili" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "Dosya iÅŸleyenleri --print-database (-p) ile birleÅŸtirilemez" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "SHELL çevre deÄŸiÅŸkeni yok ve kabuk türü seçeneÄŸi verilmemiÅŸ" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Kullanım: %s [SEÇENEK] İSİM...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "İSİM'min sonundaki / kaldırılarak yazdırılır; eÄŸer İSİM içinde herhangi\n" "bir / içermiyorsa, `.' basılır (içinde bulunulan dizin anlamında).\n" "\n" " --help bu iletiyi gösterir ve çıkar\n" " --version sürüm bilgilerini gösterir ve çıkar\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated satırları satır-sonu karakteri (\\n) \n" " yerine 0'la (0 baytı) bitirir\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Kullanım: %s [SEÇENEK]... DOSYA\n" " veya: %s [SEÇENEK]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Her DOSYA'nın disk kullanımını özetler, dizinler için çevrimli çalışır.\n" "\n" # #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all sayıları bütün dosyalar için yazar, yalnız dizinler\n" " için deÄŸil\n" " --apparent-size dosya boylarının görünen boylarını yazar, diskte\n" " kapladığı alanı deÄŸil. Görünen boy genelde daha \n" " küçüktür, fakat `seyrek' dosyalarda boÅŸluklar, iç\n" " parçalanmalar, endirekt bloklar gibi ÅŸeyler " "yüzünden\n" " daha büyük olabilir.\n" " -B, --block-size=BOY BOY boyunda bloklar kullanır\n" " -b, --bytes boyları bayt cinsinden yazar\n" " -c, --total toplam hesaplar\n" " -D, --dereference-args sembolik baÄŸ olduÄŸu zaman DOSYA'ları takip eder\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -x, --one-file-system baÅŸka dosyasistemlerinde olan dizinleri atlar\n" " -X DOSYA, --exclude-from=DOSYA DOSYA'da bulunan kalıplara uyan dosyaları\n" " iÅŸlemden hariç tutar.\n" " --exclude=KAL KAL kalıbına uyan dosyaları iÅŸlemden hariç tutar.\n" " --max-depth=N bir dizin için toplamı (veya dosya için, --all " "ile),\n" " yalnızca komut satırı argümanından N veya daha az\n" " seviye aÅŸağıda ise gösterir. \n" " --max-depth=0, --summarize ile aynıdır.\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F F dosyasında isimleri belirtilen, sonu NUL ile " "biten\n" " dosyaların disk kullanımı hakkında bilgi verir\n" " -H --si gibi, fakat yakında --dereference-args (-D) " "ile\n" " aynı hale geleceÄŸine dair uyarı verir\n" " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" " (örn., 1K 234M 2G)\n" " --si -h gibi fakat 1000'in katlarını kullanır, 1024'ün\n" " deÄŸil.\n" " -k --block-size=1K gibi\n" " -l, --count-links EÄŸer sabit baÄŸ var ise, boyları toplama tekrar alır\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference bütün sembolik baÄŸları takip eder\n" " -P, --no-dereference sembolik baÄŸları takip etmez (öntanımlı)\n" " -0, --null her çıktı satırını yenisatır yerine 0 bayt \n" " ile sonlandırır\n" " -S, --separate-dirs altdizinlerin boyutunu dahil etmez\n" " -s, --summarize her argüman için yalnızca toplamı gösterir\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -S dosya büyüklüğüne göre sıralar\n" " --sort=SÖZCÜK sözcükte belirtilen deÄŸere göre sıralar: \n" " extension -X (uzantı), none -U (boÅŸ), \n" " size -S (büyüklük), time -t (zaman),\n" " version -v (sürüm), status -c (durum)\n" " time -t (deÄŸiÅŸim zamanı),\n" " atime -u (eriÅŸim zaman damgası),\n" " access -u (eriÅŸim zamanı),\n" " use -u (kullanım zamanı)\n" " --time=SÖZCÜK -l ile zamanı SÖZCÜKte belirtilen deÄŸer olarak\n" " gösterir\n" " atime (eriÅŸim zaman damgası), \n" " access (eriÅŸim), use (kullanım zamanı), \n" " ctime (dosya durum bilgisi deÄŸiÅŸim zamanı) veya\n" " status (durum); eÄŸer --sort=time belirtilmiÅŸse\n" " seçilen zaman deÄŸerine göre sıralar.\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Sonsuz" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read baÅŸarısız oldu" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "geçersiz maksimum derinlik %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "%s argümanı geçersiz" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "hem özetleyip hem bütün girdiler gösterilemez" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "uyarı: özetlemek --max-depth=0 ile aynı" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "uyarı: özetlemek --max-depth=%lu ile çakışıyor" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Dosya iÅŸleyenleri --files0-from ile birleÅŸtirilemez" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: okuma hatası" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "geçersiz sıfır uzunluklu dosya adı" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "toplam" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Kullanımı: %s [DİZGE]...\n" " veya: %s SEÇENEK\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "DİZGE(leri) standart çıktıya yazdırır.\n" "\n" " -n sonlayan yenisatırı yazdırmaz\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e (öntanımlı) terskesme kaçışlarını yorumlar\n" " -E terskesme kaçışlarını yorumlamaz\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e terskesme kaçışlarını yorumlar\n" " -E (öntanımlı) terskesme kaçışlarını yorumlamaz\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c sonlayan yenisatırı bastırır\n" " \\f sayfa sonuna kadar imleci ilerletir\n" " \\n alt satıra geçer\n" " \\r imleci satır başına taşır\n" " \\t imleci yatay sekme kadar ilerletir\n" " \\v imleci düşey sekme kadar ilerletir\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Mlynarik ve David MacKenzie" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Kullanımı: %s [SEÇENEK]... [-] [İSİM=DEÄžER]... [KOMUT [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Her çevre deÄŸiÅŸkeni İSİM için bir DEÄžER atar ve KOMUTu çalıştırır.\n" "\n" " -i, --ignore-environment bir boÅŸ çevre ile baÅŸlatır\n" " -u, --unset=İSİM İSİM ile belirtilen çevre deÄŸiÅŸkenini kaldırır\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Sadece -, -i uygular. KOMUT verilmezse mevcut çevre deÄŸiÅŸkenlerini " "listeler.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "%s durumlanamadı" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "%s durumlanamadı" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Her DOSYA'daki tabları boÅŸluÄŸa çevirerek standart çıktıya yazar.\n" "DOSYA belirtilmediÄŸinde, veya - olduÄŸunda, standart girdiden okur.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial BoÅŸluktan sonra gelmeyen tabları deÄŸiÅŸtirmez\n" " -t, --tabs=N tabların yerine 8 deÄŸil N boÅŸluk koyar\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LİSTE LİSTE virgülle ayrılmış sayılardır. Listedeki \n" " sayılar tabların satırdaki yerlerine karşılık gelir.\n" " Satırda listenin uzunluÄŸundan fazla tab varsa, fazla\n" " olan tablar yerine bir boÅŸluk koyar\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "sekme boyu %s çok büyük" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "sekme boyunda geçersiz karakter(ler): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tab boyu 0 olamaz" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tab boyları küçükten büyüğe sıralı olmalı" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "girdi satırı fazla uzun" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s İFADE\n" " veya: %s SEÇENEK\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "İFADE'nin deÄŸerini standart çıktıya yazdırır. AÅŸağıda boÅŸ satır\n" "artan öncelik gruplarını ayırır. İFADE:|n\n" " ARG1 | ARG2 eÄŸer ARG1 boÅŸ veya 0 ise ARG2, deÄŸil ise ARG1\n" " ARG1 & ARG2 eÄŸer iki argüman da 0 veya boÅŸ ise ARG2, deÄŸil ise ARG1\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 küçüktür ARG2\n" " ARG1 <= ARG2 ARG1 küçük ya da eÅŸittir ARG2\n" " ARG1 = ARG2 ARG1 eÅŸittir ARG2\n" " ARG1 != ARG2 ARG1 farklıdır ARG2\n" " ARG1 >= ARG2 ARG1 büyük ya da eÅŸittir ARG2\n" " ARG1 > ARG2 ARG1 büyüktür ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetik toplama iÅŸlemi\n" " ARG1 - ARG2 aritmetik çıkarma iÅŸlemi\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetik çarpma iÅŸlemi\n" " ARG1 / ARG2 aritmetik bölme iÅŸleminde bölümü verir\n" " ARG1 % ARG2 aritmetik bölme iÅŸleminde kalanı verir\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " DİZGE : DÜZİFD ilk karakterinden itibaren DİZGE içindeki\n" " DÜZenliİFaDe ile eÅŸleÅŸen kısım\n" "\n" " match DİZGE DÜZİFD DİZGE : DÜZİFD ile aynı\n" " substr DİZGE KONUM UZNLK DİZGEnin KONUMdan baÅŸlayan UZuNLuKtaki alt " "dizgesi\n" " index DİZGE KARKTR DİZGE içinde KARaKTeRlerin ilk rastlandığı " "konum\n" " length DİZGE DİZGEnin karakter sayısı\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + ANDAÇ ANDAÇ `match' gibi bir anahtar sözcük ya da " "`/'\n" " gibi bir iÅŸlemimi bile olsa bir dizge olarak\n" " yorumlar.\n" "\n" " ( İFADE ) İFADEnin deÄŸeri\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Kabukta yorumlanması için öncelenmesi ya da yorumlanmaması için tırnak " "içine\n" "alınması gereken iÅŸlemimlerinden sakının. KarşılaÅŸtırmalar her ikisi de " "sayısal\n" "ise sayısal, deÄŸilse sözlük sırasına göredir. Örgüsel eÅŸleÅŸmeler \\(ve \\)\n" "arasındaki eÅŸleÅŸen dizge ile ya da null ile sonuçlanır; eÄŸer \\(ve \\)\n" "kullanılmamışsa eÅŸleÅŸen karakter sayısıyla ya da 0 ile sonuçlanır.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "EÄŸer İFADE boÅŸ veya 0 deÄŸil ise, çıkış durumu 0, eÄŸer İFADE boÅŸ veya 0 ise " "1,\n" "eÄŸer İFADE sözdizim hatası içeriyor ise 2, bir hata var ise 3 olur.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sözdizimi hatası" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "düzenli ifade (regular expression) aramasında hata oluÅŸtu" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "nümerik olmayan argüman" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "sıfırla bölüm" # #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Problemi devre dışı bırakmak için LC_ALL='C' tanımlayın." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "KarşılaÅŸtırılan dizgeler %s ve %s idi." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "`%s' bir pozitif tamsayı deÄŸil." #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s çok büyük" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s [SAYI]...\n" " veya: %s SEÇENEK\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " Belirtilen tamsayıların asal çarpanlarını gösterir. Argüman belirtilmezse\n" " doÄŸrudan standart çıktıyı okuyarak sonucu verir.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "çalışılan dizin alınamadı" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "%s dizinine geçilemedi" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "ÅŸimdiki dizin durumlanamadı (ÅŸimdi %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Kullanım: %s [-BASAMAKLAR] [SEÇENEK]... [DOSYA]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "DOSYA(lar)daki tüm paragrafları yeniden biçemlendirir ve standart çıktıya\n" "yazar. EÄŸer DOSYA adı yoksa veya `-' ise, standart girdiden okur.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin paragrafın ilk iki satırını deÄŸiÅŸtirmez\n" " -p, --prefix=DİZGE sadece DİZGE ile baÅŸlayan satırları yeniden\n" " biçemler\n" " -s, --split-only uzun satırları böler fakat kısaları " "birleÅŸtirmez\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph paragrafın ilk satırı ikinci satırından farklı\n" " girintilenir\n" " -u, --uniform-spacing sözcük arası bir, noktadan sonra iki boÅŸluk " "koyar.\n" " -w, --width=GENİŞLİK maksimum satır geniÅŸliÄŸi (öntanımlı 75 sütun) \n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "geçersiz seçenek -- %c; GENİŞLİK yalnızca ilk seçenek olduÄŸu zaman kabul\n" "edilir; bunun yerine -w N kullanın" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "geçersiz geniÅŸlik: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "DOSYA'daki (DOSYA belirtilmediÄŸinde standart girdi'deki) satırları \n" "katlar ve standart çıktıya yazar\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes sütunlar yerine baytları sayar\n" " -s, --spaces satırı boÅŸluklarda böler\n" " -w, --width=N 80 yerine N sütun kullanır\n" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "geçersiz sütun sayısı: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Kullanım: %s [SEÇENEK]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "%u grup kimliÄŸinin ismi bulunamıyor" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI-İSMİ]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "kullanıcı kimliÄŸi atanamıyor" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "%s izlenemedi" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "kullanıcı kimliÄŸi atanamıyor" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Böyle bir kullanıcı yok" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Her DOSYA'nın ilk on satırını standart çıktıya yazar.\n" "Birden fazla DOSYA verildiÄŸinde, her dosyadan önce dosya adını yazar.\n" "DOSYA adı verilmediÄŸinde, veya - olduÄŸunda standart girdiden okur.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N her dosyanın ilk N baytını yazdırır;\n" " başında `-' verilirse her dosyanın son N baytı\n" " haricindeki bütün içeriÄŸini yazdırır\n" " -n, --lines=[-]N ilk 10 yerine ilk N satırı yazdırır;\n" " başında `-' verilirse her dosyanın son N " "satırı\n" " haricindeki bütün içeriÄŸini yazdırır\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent dosya isimlerini göstermez\n" " -v, --verbose dosya isimlerini gösterir\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "BLOK ve BAYTlar aÅŸağıdaki çarpan sonekleri ile bitebilirler:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diÄŸerleri\n" "\n" "Her CONV sembolü:\n" "\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: dosya fazla küçülmüş" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: bayt sayısı fazla büyük" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: orjinal konuma geri gidilemiyor (lseek)" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: %s görecesine ilerleme (seek) yapılamıyor" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: silinemedi" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "%s üzerinde lseek baÅŸarısız" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s bu bilgisayarda kullanılamayacak kadar büyük bir sayı" #: src/head.c:886 msgid "number of lines" msgstr "satır sayısı" #: src/head.c:886 msgid "number of bytes" msgstr "bayt sayısı" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "geçersiz satır sayısı" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "geçersiz bayt sayısı" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "geçersiz seçenek -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Kullanımı: %s\n" " veya: %s SEÇENEK\n" "Çalıştırıldığı makinanın kimliÄŸini onaltılık tabanda gösterir.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Kullanımı: %s [İSİM]\n" " veya: %s SEÇENEK\n" "Çalıştırıldığı sistemin makina ismini deÄŸiÅŸtirir ya da gösterir.\n" "\n" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "isim`%s' yapılamadı" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "makina ismi deÄŸiÅŸtirilemedi; bu sistemde bu yetenek yok" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "makina ismi saptanamadı" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI-İSMİ]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "KULLANICI-İSMİ ya da çalıştıran kullanıcı hakkındaki bilgileri gösterir.\n" "\n" " -a eski sürümlere uyumluluk için var. Yoksayılır.\n" " -g, --group sadece grup kimliÄŸini gösterir\n" " -G, --groups sadece ek grupları gösterir\n" " -n, --name -ugG için bir sayı yerine bir isim gösterir\n" " -r, --real -ugG için etkin kimlik yerine gerçek kimliÄŸi gösterir\n" " -u, --user sadece kullanıcı kimliÄŸini gösterir\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "SEÇENEK belirtilmeksizin bazı yararlı kullanıcı bilgileri gösterir.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "-C -l -b seçenekleri beraber kullanılmaz" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "öntanımlı biçemde gerçek kimlikler veya gerçek isimler gösterilemez" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "%s izlenemedi" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%u kullanıcı kimliÄŸinin ismi bulunamıyor" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " gruplar=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "uyarı: %s dizinine geçilemiyor" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "dizin %s oluÅŸturuluyor" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "%s'in sahipliÄŸi deÄŸiÅŸtirilemiyor" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "%s için zaman damgalama yapılamadı" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "fork sistem çaÄŸrısı baÅŸarısız" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "strip çalıştırılamadı" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "%s'e yazılıyor" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "geçersiz kullanıcı %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Kullanım: %s [SEÇENEK]... [T] KAYNAK HEDEF\n" " veya: %s [SEÇENEK]... KAYNAK... DİZİN\n" " veya: %s [SEÇENEK]... -t DİZİN KAYNAK...\n" " veya: %s [SEÇENEK]... -d DİZİN...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "İlk üç biçemde KAYNAK'ı HEDEF'e veya birden fazla KAYNAK'ı mevcut DİZİN'e\n" "kopyalar, aynı zamanda izin kiplerini ve sahip/grup bilgilerini atar.\n" "Dördüncü biçemde, ilgili DİZİN(ler)in bütün öğelerini oluÅŸturur.\n" "\n" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=KONTROL] her mevcut hedef dosyasının bir yedeÄŸini alır\n" " -b --backup gibi ama argüman kabul etmez\n" " -c (yoksayılır)\n" " -d, --directory bütün argümanları dizin adı olarak alır; belirtilen\n" " dizinlerin tüm öğelerini oluÅŸturur\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D HEDEF'in en sondaki hariç tüm öğelerini oluÅŸturur,\n" " sonra KAYNAK'ı HEDEF'e kopyalar\n" " -g, --group=GRUP İşlemin ÅŸimdiki grubu yerine grup üyeliÄŸini GRUP'a " "atar\n" " -m, --mode=KİP izin kipini rwxr-xr-x yerine KİP olarak atar (chmod\n" " gibi)\n" " -o, --owner=SAHİP sahibi atar (yalnızca süper-kullanıcı)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps KAYNAK dosyalarının eriÅŸim/deÄŸiÅŸim zaman\n" " damgalarını ilgili hedef dosyalarına uygular\n" " -s, --strip sembol tablolarını soyar\n" " -S, --suffix=SONEK öntanımlı yedek soneki yerine SONEK'i kullanır\n" " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e kopyalar " "-T, --no-target-directory HEDEF'i normal bir dosya kabul eder\n" " -v, --verbose oluÅŸturuldukça her dizinin adını gösterir\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "bir dizin kurulurken strip seçeneÄŸi kullanılamaz" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "bir dizin kurulurken hedef dizin belirlenemez" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "geçersiz kip %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "--string ve --check seçenekleri aynı anda kullanılamaz" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "tarih belirten bu seçenekler birlikte kullanılamaz" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 #, fuzzy msgid "Mike Haertel" msgstr "Mike Haertel ve Paul Eggert" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Her birleÅŸtirme (join) alanı aynı olan girdi satırı çifti için standart\n" "çıktıya bir satır yazar. Öntanımlı birleÅŸtırme alanı, boÅŸlukla ayrılmış ilk\n" "alandır. DOSYA1 veya DOSYA2 - olduÄŸunda (ikisi birden - olamaz), standart \n" "girdiden okur.\n" "\n" " -a DOSYANUM DOSYANUM dosyasından gelen eÅŸleÅŸtirilememiÅŸ satırları \n" " yazdırır. DOSYANUM, DOSYA1 veya DOSYA2 dosyasından\n" " gelinmesine göre 1 veya 2 olabilir.\n" " -e YAZI eksik girdi alanlarını YAZI ile deÄŸiÅŸtirir\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case karşılaÅŸtırma yaparken küçük/büyük harf ayrımı yapmaz\n" " -j ALAN (eski kullanım)`-1 ALAN -2 ALAN' ile aynı\n" " -o BİÇEM çıktı satırını oluÅŸtururken BİÇEM'i kullanır\n" " -t HARF HARFi girdi ve çıktı alanlarını ayırmakta kullanır\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "EÄŸer -t HARF verilmemiÅŸ ise, baÅŸlangıçtaki boÅŸluklar alan ayracıdır ve\n" "yoksayılırlar. EÄŸer -t HARF verilmiÅŸ ise, ayraç olarak HARF kullanılır.\n" "ALAN, 1'den baÅŸlayarak sayılan alan numarasıdır. BİÇEM, bir veya daha " "fazla,\n" "virgül veya boÅŸlukla ayrılmış biçemdir. Biçem, `DOSYANUM.ALAN' veya `0' " "olarak\n" "verilir. Öntanımlı BİÇEM, HARF ile ayrılmış olarak, birleÅŸtirme alanını,\n" "DOSYA1'de kalan alanları ve DOSYA2'de kalan alanları gösterir.\n" "\n" "Önemli: DOSYA1 ve DOSYA2 birleÅŸtirme alanına göre sıralı olmalıdır.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "geçersiz alan numarası: %s" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "geçersiz alan belirleyicisi: `%s'" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "alan tanımlamasında geçersiz dosya numarası: `%s'" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "tab yerine kullanılacak `%s' bir karakterden oluÅŸmalı" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "uyumsuz sekme" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "her iki dosya da standart girdi olamaz" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Kullanımı: %s [-s SİNYAL] | -SİNYAL] PID...\n" " ya da: %s -l [SİNYAL]...\n" " ya da: %s -t [SİNYAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "İşlemlere sinyal yollar veya sinyalleri listeler.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SİNYAL, -SİNYAL\n" " Gönderilecek sinyalin adı veya numarası.\n" " -l, --list Sinyal adlarını listeler ya da sinyal isimleri ile " "sinyal\n" " numaraları arasında dönüşüm yapar.\n" " -t, --table Sinyal bilgileri tablosu gösterir.\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SİNYAL, `HUP' gibi bir sinyal adı veya `1' gibi bir sinyal numarası, \n" "veya bir sinyalle sonlanmış iÅŸlemin çıkış durumu olabilir.\n" "PID bir tamsayıdır; eÄŸer negatif ise bir iÅŸlem grubunu tanımlar.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: geçersiz iÅŸlem kimlik no" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "geçersiz seçenek -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: birden fazla sinyal belirtilmiÅŸ" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "birden fazla -l veya -t seçeneÄŸi belirtilmiÅŸ" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "sinyal, -l veya -t ile birleÅŸtirilemez" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "süreç kimliÄŸi belirtilmemiÅŸ" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%s argümanı `%s' için geçersiz" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Kullanım: %s DOSYA1 DOSYA2\n" " veya: %s SEÇENEK\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Mevcut olan DOSYA1'e DOSYA2 adında bir baÄŸ oluÅŸturmak için 'link' (baÄŸ)\n" "iÅŸlevini çağırın.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "%s sabit bağı %s'e baÄŸlanamadı" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: dizinde sabit baÄŸa izin verilmiyor" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: dizinin üzerine yazılamaz" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s'un üzerine yazılsın mı?" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "%s sembolik bağı oluÅŸturulamadı" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "sembolik baÄŸ %s, %s'e baÄŸlanamadı" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "%s sabit bağı %s'e baÄŸlanamadı" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "%s sabit bağı %s'e baÄŸlanamadı" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "%s sabit bağı %s'e baÄŸlanamadı" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Kullanım: %s [SEÇENEK]... [-T] KAYNAK BAÄž_ADI (1. biçem)\n" " veya: %s [SEÇENEK]... HEDEF (2. biçem)\n" " veya: %s [SEÇENEK]... HEDEF...DİZİN (3. biçem)\n" " veya: %s [SEÇENEK]... -t DİZİN HEDEF... (4. biçem)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "1. formda, belirlenen HEDEF'e, opsiyonel BAÄž_ADI ile bir baÄŸ oluÅŸturur.\n" "2. formda, HEDEF'e mevcut dizinde bir baÄŸ oluÅŸturur.\n" "3. ve 4. formlarda, DİZİN içindeki her HEDEF'e bir baÄŸ oluÅŸturur.\n" "Öntanımlı olarak sabit baÄŸ oluÅŸturulur, --symbolic seçeneÄŸi kullanıldığı\n" "zaman sembolik baÄŸ oluÅŸturulur. Sabit baÄŸ oluÅŸturulduÄŸu zaman, her HEDEF\n" "mevcut olmak zorundadır.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=KONTROL] her mevcut hedef dosyanın bir yedeÄŸini alır\n" " -b --backup gibi fakat argüman almaz\n" " -d, -F, --directory süper kullanıcının dizinleri sabit " "baÄŸlamasına\n" " izin verir (not: sistem kısıtlamaları " "yüzünden\n" " büyük ihtimal ile süper kullanıcı için dahi\n" " bu iÅŸlem baÅŸarısız olacaktır)\n" " -f, --force önceden var olan hedef dosyaları siler\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference bir dizine sembolik baÄŸ olan hedefi sanki " "normal\n" " bir dosyaymış gibi iÅŸler\n" " -i, --interactive hedefleri silmeden önce sorar\n" " -s, --symbolic sabit baÄŸ yerine sembolik baÄŸ oluÅŸturur\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SONEK yedekleme soneki yerine SONEK'i kullanır\n" " -t, --target-directory=DİZİN baÄŸların oluÅŸturulacağı DİZİN'i belirtir\n" " -T, --no-target-directory BAÄž_ADI'nı normal bir dosya gibi kullanır\n" " -v, --verbose baÄŸlamadan önce her dosyanın adını gösterir\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "--target-directory ve --no-target-directory birleÅŸtirilemez" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "%s sembolik bağı oluÅŸturulamadı" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Kullanım: %s [SEÇENEK]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Çalıştıran kullanıcının ismini gösterir.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "kullanıcı ismi yok" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "çevre deÄŸiÅŸkeni QUOTING_STYLE'da bulunan geçersiz deÄŸer yoksayıldı: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" "çevre deÄŸiÅŸkeni COLUMNS'da belirtilen geçersiz geniÅŸlik deÄŸeri yoksayıldı: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "çevre deÄŸiÅŸkeni TABSIZE'da bulunan geçersiz sekme boyutu yoksayıldı: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "geçersiz satır geniÅŸliÄŸi: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "geçersiz sekme boyutu: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "geçersiz tarih biçemi %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Geçerli argümanlar:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "tanımlanmamış önek: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "çevre deÄŸiÅŸkeni LS_COLORS'da taranamaz deÄŸer" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "dizin %s açılamadı" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "%s'nın aygıtı ve i-düğümü belirlenemedi" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: önceden listelenmiÅŸ dizin tekrar listelenmedi" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "dizin %s okunuyor" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "%s dizini kapatılıyor" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "%s ve %s dosya adları karşılaÅŸtırılamaz" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "DOSYA(lar) hakkında bilgileri listeler (öntanımlı olarak ÅŸimdiki dizinde).\n" "EÄŸer -cftuSUX veya --sort seçenekleri verilmemiÅŸ ise girdileri alfabetik\n" "sıralar.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all . ile baÅŸlayan girdileri saklamaz\n" " -A, --almost-all örtük . ve .. deÄŸerlerini göstermez\n" " --author -l ile her dosyanın yazarını gösterir\n" " -b, --escape grafik olmayan karakterleri sekizlik\n" " deÄŸerlerle gösterir\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=BOY BOY baytta bloklar kullanır\n" " -B, --ignore-backups sonu ~ ile biten örtük yedekleri göstermez\n" " -c -lt ile: ctime'a (son dosya durum bilgisi\n" " deÄŸiÅŸikliÄŸi zamanı) göre sıralar ve ctime'ı\n" " gösterir\n" " -l ile: ctime'ı göster ve isme göre sıralar\n" " tek başına: ctime'a göre sıralar\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C Çıktıyı sütunlar halinde gösterir\n" " --color[=NEZAMAN] Dosya tiplerini belirtmek için deÄŸiÅŸik renkler\n" " kullanılıp kullanılmamasını belirler. " "NEZAMAN\n" " deÄŸerleri never (asla), always (her zaman) " "veya\n" " auto (otomatik) olabilir.\n" " -d, --directory içindekiler yerine dizin bilgilerini gösterir " "ve\n" " sembolik baÄŸları izlemez.\n" " -D, --dired Emacs dired kipine uygun çıktı verir\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f sıralama yapmaz, -aU seçeneÄŸini etkinleÅŸtirir,\n" " -lst seçeneÄŸini etkinsizleÅŸtir\n" " -F, --classify çıktı bilgilerine belirteç ( */=@| " "seçeneklerinden\n" " birini) ekler\n" " --format=SÖZCÜK -x yatay, -m virgüllü, -l uzun,\n" " -1 tek sütun, -l uzun, -C dikey\n" " --full-time -l --time-style=full-iso gibi\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 0 bloÄŸa sahip dosyasistemlerini de dahil eder.\n" " -b --block-size=BOY BOY baytlık bloklar kullanır\n" " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" " (örn., 1K 234M 2G)\n" " -H, --si yukarıdaki gibi fakat 1000'in katlarını kullanır,\n" " 1024'ün deÄŸil.\n" #: src/ls.c:4775 #, fuzzy msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -g -l gibi fakat sahibi listelemez\n" " -G, --no-group -l gibi fakat grup bilgisini göstermez\n" " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" " (örn., 1K 234M 2G)\n" " --si benzer ama 1000'in katlarını kullanır,\n" " 1024'ün deÄŸil\n" " -H, --dereference-command-line\n" " komut satırındaki sembolik baÄŸları izler\n" " --dereference-command-line-symlink-to-dir\n" " dizine iÅŸaret eden komut satırı sembolik\n" " baÄŸları izler.\n" " --hide=KALIP KALIP'a uyan örtük girdileri göstermez\n" " (-a veya -A ile etkisizleÅŸtirilir)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=SÖZCÜK girdi isimlerine SÖZCÜK tarzında belirteç\n" " ekler: none (boÅŸ -- öntanımlı),\n" " classify (-F kipi gibi),\n" " file-type (-p kipi gibi)\n" " -i, --inode -l ile her dosyanın indeks numarasını gösterir\n" " -I, --ignore=KALIP kabuk KALIP'ıyla eÅŸleÅŸen örtük girdileri\n" " göstermez\n" " -k --block-size=1K gibi\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l uzun listeleme biçemi kullanır\n" " -L, --dereference bir sembolik baÄŸ için dosya bilgilerini\n" " gösterirken, sembolik bağın imlediÄŸi " "dosyanın\n" " bilgilerini gösterir, sembolik bağın kendi\n" " bilgilerini deÄŸil\n" " -m satırı virgül ayraçlı girdilerle doldurur\n" #: src/ls.c:4803 #, fuzzy msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid İsim yerine sayısal grup ve kullanıcı " "kimliklerini\n" " (UID ve GID) gösterir\n" " -N, --literal ham isimleri gösterir (kontrol karakterlerini\n" " ayrıca iÅŸlemez)\n" " -o grup bilgisi olmaksızın uzun listeleme biçemi\n" " kullanır\n" " -p, --file-type bilgilere belirteç ekler ( /=@| dan biri) \n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars grafik olmayan karakterler yerine ? çıktılar\n" " --show-control-chars grafik olmayan karakterleri olduÄŸu gibi " "gösterir\n" " (program 'ls' ve çıktı bir terminal deÄŸil ise\n" " öntanımlı seçenek)\n" " -Q, --quote-name çıktı adlarını çift tırnak içinde gösterir\n" " --quoting-style=SÖZCÜK tırnaklama biçemi için SÖZCÜK'te belirtilen \n" " deÄŸeri kullanır:\n" " literal (olduÄŸu gibi), locale (yerel),\n" " shell (kabuk), \n" " shell-always (her zaman kabuk), c (C dili), \n" " escape (kaçış karakterli)\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse ters sıralar\n" " -R, --recursive alt dizinleri çevrimli listeler\n" " -s, --size -l ile her dosyanın boyutunu blok olarak\n" " gösterir\n" #: src/ls.c:4825 #, fuzzy msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S dosya büyüklüğüne göre sıralar\n" " --sort=SÖZCÜK sözcükte belirtilen deÄŸere göre sıralar: \n" " extension -X (uzantı), none -U (boÅŸ), \n" " size -S (büyüklük), time -t (zaman),\n" " version -v (sürüm), status -c (durum)\n" " time -t (deÄŸiÅŸim zamanı),\n" " atime -u (eriÅŸim zaman damgası),\n" " access -u (eriÅŸim zamanı),\n" " use -u (kullanım zamanı)\n" " --time=SÖZCÜK -l ile zamanı SÖZCÜKte belirtilen deÄŸer olarak\n" " gösterir\n" " atime (eriÅŸim zaman damgası), \n" " access (eriÅŸim), use (kullanım zamanı), \n" " ctime (dosya durum bilgisi deÄŸiÅŸim zamanı) veya\n" " status (durum); eÄŸer --sort=time belirtilmiÅŸse\n" " seçilen zaman deÄŸerine göre sıralar.\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=BİÇEM zamanı BİÇEM biçeminde gösterir:\n" " full-iso, long-iso, iso, locale, +BİÇEM\n" " BİÇEM `date' gibi tanınır; eÄŸer BİÇEM,\n" " BİÇEM1<yenisatır>BİÇEM2 ÅŸeklinde ise, BİÇEM1\n" " eski dosyalara, BİÇEM2, yeni dosyalara " "uygulanır\n" " eÄŸer BİÇEM'in başında posix- var ise, BİÇEM\n" " yalnızca POSIX yerelinin haricinde geçerli " "olur.\n" " -t deÄŸiÅŸim zamanına göre sıralar\n" " -T, --tabsize=SÜT öntanımlı 8 deÄŸeri yerine her SÜT deÄŸerinde\n" " sekme olduÄŸunu varsayar.\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u -lt ile: eriÅŸim zamanını gösterir ve buna göre\n" " sıralar\n" " -l ile: eriÅŸim zamanını gösterir ve isme göre\n" " sıralar\n" " tekbaşına: eriÅŸim zamanına göre sıralar\n" " -U sıralamaz, girdileri dizin sırasına göre " "gösterir\n" " -v sürüme göre sıralar\n" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=SÜTUN ekran geniÅŸliÄŸini SÜTUNa ayarlar\n" " -x girdileri satır olarak çıktılar, sütun deÄŸil\n" " -X girdi sonekine göre alfabetik sıralar\n" " -1 her satıra bir dosya olarak listeler\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper ve Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Kullanım: %s [SECENEK] [DOSYA]...\n" " veya: %s [SECENEK] --check [DOSYA]\n" "%s (%d-bit) saÄŸlama toplamlarını kontrol eder veya yazar.\n" "DOSYA adı verilmediÄŸinde veya - olduÄŸunda standart girdiden okur.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary konsol aygıtına yazarken ikilik yazma kullanır.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "AÅŸağıdaki iki seçenek sadece saÄŸlama toplamlarını kontrol ederken iÅŸe " "yarar:\n" " --status çıktı vermez, durum kodu, baÅŸarı bilgisini verir\n" " -w, --warn yanlış formatlı çemlenmiÅŸ saÄŸlama toplam satırları " "hakkında\n" " uyarı verir\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Toplamlar %s'de belirtildiÄŸi gibi hesaplanır. Toplamlar kontrol edilirken,\n" "girdi, bu yazılımdan önceden elde edilmiÅŸ bir çıktı olmalıdır. Öntanımlı\n" "olarak, her satırı bir saÄŸlama toplamı ile yazdırır, tür belirtir (ikilik\n" "için `*' , metin için ` ') ve DOSYA'nın ismini yazar.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: çok fazla saÄŸlama satırı" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: yanlış biçemlenmiÅŸ %s saÄŸlama satırı" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s:açma veya okuma BAÅžARISIZ\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "BAÅžARISIZ" #: src/md5sum.c:597 msgid "OK" msgstr "Tamam" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: doÄŸru biçemlenmiÅŸ %s saÄŸlama toplam satırı bulunamadı" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: yanlış biçemlenmiÅŸ %s saÄŸlama satırı" msgstr[1] "%s: %<PRIuMAX>: yanlış biçemlenmiÅŸ %s saÄŸlama satırı" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "Uyarı: listelenmiÅŸ dosyanın %<PRIuMAX> / %<PRIuMAX> kısmı okunamadı" msgstr[1] "Uyarı: listelenmiÅŸ dosyanın %<PRIuMAX> / %<PRIuMAX> kısmı okunamadı" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "UYARI: Hesaplanmış saÄŸlamaların %<PRIuMAX> / %<PRIuMAX> kısmı eÅŸleÅŸmedi" msgstr[1] "" "UYARI: Hesaplanmış saÄŸlamaların %<PRIuMAX> / %<PRIuMAX> kısmı eÅŸleÅŸmedi" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "--status seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" " --binary ve --text seçenekleri saÄŸlama toplamlarını kontrol ederken geçersiz" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "--status seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "--warn seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "--status seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "--status seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Kullanım: %s [SEÇENEK]... DİZİN...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "EÄŸer yoksa, ilgili DİZİN(ler)i oluÅŸturur.\n" "\n" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=KİP izin kipini belirtir (chmod gibi), \n" " rwxrwxrwx öntanımlı deÄŸer\n" " -p, --parents eÄŸer üst dizinler var ise hata vermeden \n" " gerektiÄŸi ÅŸekilde üst dizinleri oluÅŸturur\n" " -v, --verbose oluÅŸturulan her dizin için bir ileti çıktılar\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "dizin %s oluÅŸturuldu" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Kullanımı: %s [SEÇENEK]... İSİM...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "İsimli veri yollarını (FIFO) belirtilen İSİM'lerle oluÅŸturur.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=KİP izin kipini belirtilen deÄŸere deÄŸiÅŸtirir\n" " (chmod gibi) varsayılan deÄŸer: rw\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "geçersiz kip" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Kullanım: %s [SEÇENEK]...İSİM TİP [MAJÖR MİNÖR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Belirtilen TÜR'de belirtilen İSİM'de özel dosya oluÅŸturur.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "TÜR b,c veya u olduÄŸu zaman hem MAJÖR, hem de MİNÖR belirtilmelidir.\n" "TÜR p olduÄŸu zaman ne MAJÖR ne de MİNÖR belirtilmelidir. EÄŸer MAJÖR veya\n" "MİNÖR 0x veya 0X ile baÅŸlarsa, onaltılık olarak algılanır. EÄŸer 0 ile\n" "baÅŸlarlarsa, sekizlik olarak algılanır. Bütün diÄŸer deÄŸerler onluk olarak\n" "algılanır. TÜR, aÅŸağıdaki deÄŸerlerde olabilir:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b özel blok (önbellekli) dosyası oluÅŸturur\n" " c, u özel karakter (önbellekli) dosyası oluÅŸturur\n" " p FIFO oluÅŸturur\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Özel dosyalar, majör ve minör aygıt numaraları gerektirir." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifoların majör ve minör aygıt numarası bulunmaz. %s" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "özel blok dosyalar desteklenmiyor" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "özel karakter dosyaları desteklenmiyor" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "geçersiz majör aygıt numarası %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "geçersiz minör aygıt numarası %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "geçersiz aygıt %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "geçersiz aygıt türü %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "standart hata yeniden yönlendirilemedi" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "çok fazla tekrar eden satır" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "%s dizini oluÅŸturulamıyor" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "%s'in zaman damgaları korunamadı" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "KAYNAK'ı HEDEF olarak yeniden adlandırır veya KAYNAK'ları DİZİN'e taşır.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=KONTROL] mevcut her hedef dosyanın bir yedeÄŸini alır.\n" " -b --backup gibi ama argüman almaz.\n" " -f, --force üzerine yazmadan önce sormaz\n" " --reply=yes ile aynı\n" " -i, --interactive üzerine yazmadan önce sorar\n" " --reply=query ile aynı\n" #: src/mv.c:307 #, fuzzy msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --reply={yes,no,query} mevcut bir hedef dosya için sorgulamanın " "nasıl\n" " yapılacağını ayarlar: \n" " yes=evet, no=hayır, query=sor\n" " --strip-trailing-slashes bütün KAYNAK argümanlarının sonundan " "kesmeleri\n" " (/) kaldırır\n" " -S, --suffix=SONEK öntanımlı sonek yerine SONEK deÄŸerini " "kullanır.\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır\n" " -T, --no-target-directory HEDEF'i normal bir dosya kabul eder\n" " -u, --update taşıma iÅŸlemini yalnızca KAYNAK dosyası\n" " hedeften daha yeni ise, veya hedef dosya " "yok\n" " ise yapar\n" " -v, --verbose ne yapıldığını anlatır\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Kullanımı: %s [SEÇENEK] [KOMUT [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "KOMUTu ayarlanan iÅŸlem önceliÄŸinde çalıştırır.\n" "KOMUT verilmezse, mevcut iÅŸlem önceliÄŸini gösterir. Öncelik sıralaması\n" "%d (en yüksek öncelik) ve %d (en düşük öncelik) arasında deÄŸiÅŸir.\n" "\n" " -n, --adjustment=AYAR AYAR deÄŸerini ÅŸimdiki öncelik deÄŸerine ekler\n" " (öntanımlı 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "`%s' geçersiz ayar" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "komut ayarlama ile birlikte verilmeli" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "sistem ismi alınamadı" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "tarih ayarlanamadı" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Satır baÅŸlarına satır numarası koyarak her DOSYA'yı standart çıktıya " "yazdırır.\n" "DOSYA adı verilmemiÅŸse, veya - olarak verilmiÅŸse, standart girdiden okur.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=TARZ satırları TARZ tarzında numaralandırır.\n" " -d, --section-delimiter=KK mantıksal sayfaları ayırırken KK'yi " "kullanır\n" " -f, --footer-numbering=TARZ altyazıları TARZ tarzında numaralandırır\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=TARZ üstyazıları TARZ tarzında numaralandırır\n" " -i, --page-increment=SAYI satır numarası artış miktarı\n" " -l, --join-blank-lines=SAYI SAYI kadar boÅŸ satır grubunu bir satır " "olarak\n" " okur\n" " -n, --number-format=FORMAT satır numaralarını FORMAT ÅŸeklinde yazar\n" " -p, --no-renumber yeni mantıksal sayfaya baÅŸladığında satır\n" " numaralarını baÅŸtan baÅŸlatmaz\n" " -s, --number-separator=DİZGE satır numarasından sonra DİZGE yazdırır\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=SAYI her mantıksal sayfanın ilk satır numarası\n" " -w, --number-width=SAYI satır numarası geniÅŸliÄŸini SAYI yapar\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "aksi belirtilmedikçe otomatik olarak kullanılan seçenekler: \n" "-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn\n" "KK, mantıksal sayfaları ayırmak için kullanılan iki ayraç karakteridir. " "İkinci\n" "karakter verilmemiÅŸse :. kabul edilir. \\. elde etmek için \\\\ yazılır. \n" "TARZ, aÅŸağıdaki deÄŸerlerden biri olarak belirtilmelidir: \n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a bütün satırları numaralandırır\n" " t sadece boÅŸ olmayan satırları numaralandırır\n" " n hiç bir satırı numaralandırmaz\n" " pDÜZİF sadece DÜZİF düzenli ifadesi ile eÅŸleÅŸen satırları " "numaralandırır\n" " (DÜZİF: düzenli ifade = regular expression) \n" "\n" "FORMAT aÅŸağıdakilerden biri olabilir:\n" "\n" " ln sola dayalı yazdırır, numaraların baÅŸlarına sıfır koymaz\n" " rn saÄŸa dayalı yazdırır, numaraların baÅŸlarına sıfır koymaz\n" " rz saÄŸa dayalı yazdırır, numaraların baÅŸlarına sıfır koyar\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "satır numarası taÅŸması" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "geçersiz baÅŸlık numaralama tarzı: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "geçersiz gövde numaralama tarzı: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "geçersiz altbilgi numaralama tarzı: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "geçersiz baÅŸlangıç satır numarası: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "geçersiz satır numarası artışı: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "geçersiz boÅŸ satır sayısı: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "geçersiz satır numarası alan geniÅŸliÄŸi: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "geçersiz satır numaralama biçemi: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s BİÇEM [ARGÜMAN]...\n" " veya: %s SEÇENEK\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "KOMUTu çalıştırır, ve bitir sinyallerini yoksayar.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" # #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "standart çıktı yeniden yönlendirilemedi" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "argümanların tamamı yoksayılıyor" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "çıktı, %s'nin sonuna ekleniyor" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "çıktı, %s'nin sonuna ekleniyor" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "standart hatanın kopyası, exec sonunda kapanmaya ayarlanamadı" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "standart hata yeniden yönlendirilemedi" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Kullanım: %s [SEÇENEK]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: geçersiz satır sayısı" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: deÄŸer tamamen dönüştürülmedi" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "geçersiz sayı %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "tamsayı argüman olarak `%s' geçersiz" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: yazmak için açılamadı" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "geçersiz sekme boyutu: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "hedef %s bir dizin deÄŸil" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "geçersiz biçem geniÅŸliÄŸi" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "tamsayı argüman olarak `%s' geçersiz" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "Geçersiz sayfa aralığı `%s'" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "geçersiz alan numarası: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "`%s' geçerli bir zaman dizgesi deÄŸil" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Dosya iÅŸleyenleri --files0-from ile birleÅŸtirilemez" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Dosya iÅŸleyenleri --files0-from ile birleÅŸtirilemez" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "birden fazla -l veya -t seçeneÄŸi belirtilmiÅŸ" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Dosya iÅŸleyenleri --files0-from ile birleÅŸtirilemez" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "%s'i okunurken hata" # #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "standart çıktı yeniden yönlendirilemedi" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" "veya: %s [-abcdfilosx]... [DOSYA] [[+]GÖRELİ[.][b]]\n" "veya: %s --traditional [SEÇENEK] [DOSYA] [[+]GÖRELİ[.][b] [[+]ETİKET]][.]" "[b]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "DOSYA'yı, (hiçbir seçenek belirtilmediÄŸinde sekizlik sayı sisteminde), \n" "standart çıktıya yazar. DOSYA adı verilmemiÅŸse veya - olarak verilmiÅŸse, \n" "standart girdiden okur.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "EÄŸer birinci ve ikinci çağırış ÅŸekilleri beraber kullanılmış ise, son " "iÅŸlenenin +\n" "ile veya bir sayı ile baÅŸlaması veya iki iÅŸlenen olması halinde, 2. çağırış " "ÅŸekli\n" "varsayılır.\n" "GORELI iÅŸleneni, -j GORELI anlamına gelir. ETİKET, ilk bayttaki sanal " "adrestir, ve\n" "yazdırma devam ettikçe artar.\n" "GÖRELİ ve ETİKET için, 0x veya 0X öneki, 16'lık sayı anlamına gelir;\n" "sonekler sekizlik sayılar için . ve 512 ile çarpılması için b olabilir.\n" "\n" "FORMAT aÅŸağıdaki kısaltmalar kullanılarak oluÅŸturulur:\n" "\n" " a karakter isimlerini yazar\n" " (Örnek:'od -t a' tab karakteri gördüğünde 'ht' yazar)\n" " c ASCII karakterler veya terskesme ile kaçışlar\n" " c alfabe elemanlarını olduÄŸu gibi kontrol karakterlerini\n" " terskesikle gösteririldikleri gibi yazar\n" " (Örnek: 'od -t c' tab karakteri gördüğünde '\t' yazar)\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX adresleri RADIX sayı sisteminde yazar\n" " -j, --skip-bytes=BAYT her dosyanın ilk BAYT baytını atlar\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BAYT çıktıyı dosya başına BAYT baytla sınırlar\n" " -s, --strings[=SAYI] en az SAYI grafik karakter içeren dizgeler\n" " yazdırır.\n" " -t, --format=FORMAT çıktı formatını FORMAT olarak belirler\n" " -v, --output-duplicates birbirinin aynı art arda gelen satırları * \n" " kullanmadan yazar\n" " -w, --width[=BAYT] her satıra BAYT bayt yazar\n" " --traditional geleneksel formda argüman kabul eder\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Geleneksel formatlar karışık kullanılabilir:\n" " -a veya -t a , isimli karakterleri seçer (isimli karakterlerin [named\n" " characters] ne olduÄŸunu öğrenmek için : man od)\n" " -b veya -t o1, sekizlik baytlar seçer\n" " -c veya -t c, ASCII karakterleri ve terskesmeyle belirtilmiÅŸ kaçış\n" " karakterlerini seçer\n" " -d veya -t u2, iÅŸsaretsiz (unsigned) ondalık kısa sayıları seçer\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f veya -t fF, gerçel sayıları seçer\n" " -i veya -t dI, 10luk kısa sayıları seçer\n" " -l veya -t dL, 10luk uzun sayıları seçer\n" " -o veya -t o2, 8lik 2 bayt sayıları seçer\n" " -x veya -t x2, 16lik 2 bayt sayıları seçer\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[SAYI] iÅŸaretli (signed) ondalık sayı olarak yazar, her sayı \n" " için SAYI bayt kullanır\n" " f[SAYI] gerçel sayı olarak yazar, her sayı için SAYI bayt kullanır\n" " o[SAYI] sekizlik sayı olarak yazar, her sayı için SAYI bayt kullanır\n" " u[SAYI] iÅŸaretsiz (unsigned) ondalık sayı olarak yazar, her sayı\n" " için SAYI bayt kullanır\n" " x[SAYI] 16lik sayı olarak yazar, her sayı için SAYI bayt kullanır\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "SAYI yerine genelde bir sayı yazılır ( örnek : od -t d1 ), ancak \n" "FORMAT d,o,u,x den biri olduÄŸunda SAYI yerine sizeof(char) anlamına gelen\n" "C, sizeof(short) anlamına gelen S veya sizeof(long) anlamana gelen L de\n" "gelebilir. EÄŸer FORMAT f ise, SAYI yerine sizeof(float) anlamına gelen\n" "F, sizeof(double) anlamına gelen D veya sizeof(long double) anlamına\n" "gelen L de gelebilir.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "BLOK ve BAYTlar aÅŸağıdaki çarpan sonekleri ile bitebilirler:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diÄŸerleri\n" "\n" "Her CONV sembolü:\n" "\n" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "geçersiz format `%s'" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "geçersiz format `%s';\n" "bu sistem, yerleÅŸik %lu baytlık tamsayı türü desteklemiyor" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "geçersiz format `%s';\n" "bu sistem %lu baytlık bir kayan ondalık (floating point) türü desteklemiyor" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "format `%2$s' içinde geçersiz `%1$c' karakteri" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" "girdinin dikkate alınmayacak bölümü toplam girdiden \n" "daha büyük verilmiÅŸ" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "geçersiz çıktı adres radix'i `%c'; [doxn] harflerinden biri olmalı" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "dizgeler çıktılanırken tür belirtilemez" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "Eski kullanım kipi en fazla bir dosya destekler." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "atlanacak baytlar + okunacak baytlar çok büyük" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "uyarı: geçersiz geniÅŸlik %lu; %d kullanılıyor" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: geçersiz sinyal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standart girdi kapalı" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Standart çıktıya her DOSYAdan aynı sırada olan satırları aralarına \n" "tablar koyarak yazar. DOSYA adı verilmediÄŸinde veya - olduÄŸunda standart\n" "girdiden okur\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTE TABlar yerine LISTE'deki karakterleri kullanır\n" " -s, --serial Her dosyayı (paralel olarak yazmak yerine) \n" " arka arkaya yazar\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "%2$s dosya adında taşınmaz karakter %1$s bulundu" # #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "normal boÅŸ dosya" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: maksimum dosya adı uzunluÄŸu belirlenemedi" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "%1$lu limiti, %3$s dosya adının %2$lu uzunluÄŸu ile aşıldı" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "%1$lu limiti, %3$s dosya adı bileÅŸeninin %2$lu uzunluÄŸu ile aşıldı" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux ve David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Kullanıcı ismi:" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Gerçekte:" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Dizin:" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Kabuk:" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Proje:" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "GiriÅŸ" #: src/pinky.c:407 msgid "Name" msgstr "İsim" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "BoÅŸta" #: src/pinky.c:411 msgid "When" msgstr " zaman" #: src/pinky.c:414 msgid "Where" msgstr " yer" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l belirtilen KULLANICIlar için uzun biçemde çıktı üretir\n" " -b uzun biçemde kullanıcının ev dizini ve kabuÄŸunu göstermez\n" " -h uzun biçemde kullanıcının proje dosyasını göstermez\n" " -p uzun biçemde kullanıcının plan dosyasını göstermez\n" " -s kısa biçemde çıktı üretir, öntanımlı\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f kısa biçemde sütun baÅŸlığı satırını göstermez\n" " -w kısa biçemde kullanıcının tam adını göstermez\n" " -i kısa biçemde kullanıcının tam adı ve uzak makinayı " "göstermez\n" " -q kısa biçemde kullanıcının tam adı, uzak makina ve atıl " "zamanını\n" " göstermez\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Basit bir`finger' uygulaması; kullanıcı bilgilerini gösterir.\n" "utmp dosyası olarak %s kullanılacaktır.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "kullanıcı adı belirtilmemiÅŸ; -l kullanırken en az bir tane belirtilmeli" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Pete TerMaat ve Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=İLK_SAYFA[:SON_SAYFA]' argüman eksik" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "Geçersiz sayfa aralığı `%s'" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l SAYFA_UZUNLUÄžU' geçersiz satır sayısı: `%s'" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N SAYI' geçersiz baÅŸlangıç satır numarası: `%s'" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o KENAR' geçersiz satır göreli konumu: `%s'" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w SAYFA_GENİŞLİĞİ' geçersiz harf sayısı: `%s'" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W SAYFA_GENİŞLİĞİ' geçersiz harf sayısı: `%s'" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Paralel yazdırma yapılırken sütun sayısı belirtilemez." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Hem paralel yazım, hem altalta yazım yapılamaz." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' argüman içinde fazla harf veya geçersiz sayı: `%s'" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "sayfa geniÅŸliÄŸi çok dar" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "baÅŸlangıç sayfa numarası %<PRIuMAX> sayfa sayısı %<PRIuMAX> deÄŸerini aşıyor" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "Sayfa numarası taÅŸması" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Sayfa %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "DOSYA(ları)yı kolonlara ayırır veya sayfalandırır ve yazar .\n" "\n" # #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ILK_SAYFA[:SON_SAYFA], --pages=ILK_SAYFA[:SON_SAYFA]\n" " yazmaya ILK_SAYFA'dan baÅŸlar (SON_SAYFA \n" " belirtilmiÅŸse SON_SAYFA'da durur)\n" " -SÜTUN, -columns=SÜTUN\n" " yazıyı SÜTUN sütuna ayırır , ve -a seçeneÄŸi \n" " verilmemiÅŸse sütunları yukardan aÅŸağı yazar. \n" " Her sayfada tüm sütunların satır sayılarını \n" " aynı yapar\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across satırları yukardan aÅŸağı yerine soldan saÄŸa yazar.\n" " bu seçenek -KOLON ile kullanılır\n" " -c, --show-control-chars\n" " ÅŸapka(^G) ve sekizli ters kesik notasyonunu \n" " kullanarak kontrol karakterlerini de gösterir\n" " -d, --double-space\n" " çift aralık bırakarak yazar\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " baÅŸlık tarihini yazarken FORMAT'ı kullanır\n" " -e[KARAKTER[GENISLIK]], --expand-tabs[=KARAKTER[GENISLIK]]\n" "\t\t KARAKTER(KARAKTER belirtilmediÄŸinde TAB) yerine \n" " GENISLIK(GENISLIK belirtilmediÄŸinde 8) tane \n" " boÅŸluk koyar\n" " -F, -f, --form-feed\n" " yenisatır karakteri yerine (\\n) formfeed (\\f) \n" " karakteri kullanarak sayfaları ayırır\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h BASLIK, --header=BASLIK\n" " BaÅŸlık olarak dosya ismi yerine BASLIK'ı\n" " kullanır ( baÅŸlık ortalanarak yazılır),\n" " -h \"\" boÅŸ bir satır yazar, -h\"\" kullanmayın\n" " -i[KAR[GEN]], --output-tabs[=KAR[GEN]]\n" " boÅŸluk gördüğü yere GEN tane KAR koyar. GEN belirtil-\n" " mediÄŸinde 8 , KAR belirtilmediÄŸinde TAB\n" " kullanır\n" " -J, --join-lines birden fazla kolondan oluÅŸan çıktılarda \n" " kolonları birleÅŸtirip bir satır oluÅŸturur\n" " -W seçeneÄŸinin satırları kısaltmasına izin vermez,\n" " kolonları hizalamaz, --sep-string[=KAR] ayraçları\n" " belirler\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l SAYFA_UZUNLUGU, --length=SAYFA_UZUNLUGU\n" " sayfa uzunluÄŸunu SAYFA_UZUNLUGU yapar. Bu seçenek " "kullanıl-\n" " madıkca sayfa uzunluÄŸu 56 satırdır. -F seçeneÄŸi " "kullanıl-\n" " dığında sayfa uzunluÄŸu 63 tür.\n" " -m, --merge tüm dosyaları yan yana yazar, her biri bir kolona, çok " "uzun\n" " satırları keser, ve yan yana gelen kolonlar tam bir " "satır\n" " oluÅŸturuyorlarsa, onları da büyük tek bir kolonda " "toplar \n" " ( -J deki gibi)\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[AYIR[SAY]], --number-lines[=AYIR[SAY]]\n" " satırları SAY basamak kullanarak numaralandırır\n" " ve satır numarasını satırdan AYIR ile ayırır. (AYIR \n" " belirtilmediÄŸinde TAB kullanır, SAY belirtilmediÄŸinde \n" " 5 kullanır)\n" " -N SAYI, --first-line-number=SAYI\n" " satır numaralandırmaya SAYI'dan baÅŸlar(örnek: pr -N 5 " "ilk\n" " satıra 5 , ikinci satıra 6,... numaralarını verir)\n" " (+ILK_SAYFA seçeneÄŸine de bakınız)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o KENAR, --indent=KENAR\n" " her sayfanın başında KENAR boÅŸluk bırakır. Bu seçenek\n" " -w veya -W yu etkilemez, bırakılan boÅŸluk \n" " SAYFA_GENISLIGI'ne eklenir\n" " -r, --no-file-warnings\n" " belirtilen dosyayı açamadığında hata mesajı vermez\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[KAR], --seperator[=KAR]\n" " kolonları tek bir karakterle (KAR) ayır, bu seçenek\n" " kullanılmadığında kolonlar TAB ile ayrılır. Bu seçenek\n" " diÄŸer hiçbir seçeneÄŸin satırları kısaltmasına\n" " izin vermez\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " kolonları DIZI ile ayır. DIZI'yi \"\" isaretleri\n" " arasında yazmayın. DIZI belirtilmediÄŸinde kolonları \n" " birbirinden ayırmaz\n" " bu seçenek diÄŸer kolon seçeneklerini etkilemez\n" " -t, --omit-header sayfalara baÅŸlık ve bitiÅŸ koymaz\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " dosyaları sayfalandırmaz, baÅŸlık ve bitiÅŸ koymaz\n" " -v, --show-nonprinting\n" " sekizli terskesik notasyonunu kullanarak ekranda\n" " normalde gözükmeyecek karakterleri de yazar\n" " -w SAYFA_GENISLIGI, --width=SAYFA_GENISLIGI\n" " sayfa geniÅŸliÄŸini birden fazla kolon olan çıktılar için\n" " SAYFA_GENISLIGI yapar. Sayfa geniÅŸliÄŸi -w kullanıl-\n" " madığında 72 dir. -s[KAR] seçeneÄŸi kullanıldığında " "sayfa\n" " geniÅŸliÄŸi otomatik olarak 72 olmaz. Hem -s seçeneÄŸini\n" " kullanmak hem de sayfa geniÅŸliÄŸinin ayarlı olmasını " "istiyor-\n" " sanız -w seçeneÄŸini mutlaka kullanın\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W SAYFA_GENISLIGI, --page-width=SAYFA_GENISLIGI\n" " sayfa geniÅŸliÄŸini her çeÅŸit çıktı için SAYFA_GENISLIGI\n" " yapar( -W kullanılmadığında sayfa geniÅŸliÄŸi 72'dir ). -" "J \n" " seçeneÄŸi belirtilmedikçe uzun satırları keser. Bu " "seçenek\n" " ve -s ,-S seçenekleri birbirlerini etkilemezler\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "DOSYA verilmemiÅŸse veya DOSYA - ise, standart girdi okunur.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Kullanımı: %s [DEĞİŞKEN]...\n" " veya: %s SEÇENEK\n" "Çevre DEĞİŞKENi verilmezse tümünü listeler.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated satırları satır-sonu karakteri (\\n) \n" " yerine 0'la (0 baytı) bitirir\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "uyarı: %s: karakter sabitini izleyen karakter(ler) yoksayıldı" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s BİÇEM [ARGÜMAN]...\n" " veya: %s SEÇENEK\n" #: src/printf.c:93 #, fuzzy msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "ARGÜMAN(lar)ı BİÇEM'e göre gösterir.\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "BİÇEM çıktıyı, C printf iÅŸlevindeki gibi biçemler. Yorumlanan iÅŸlemimleri:\n" "\n" " \\\" çift tırnak karakterini gösterir\n" " \\NNN Sekizlik deÄŸeri NNN olan karakteri gösterir (3 haneye kadar)\n" " \\\\ tersbölü karakterini gösterir\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xHH onaltılık deÄŸeri HH olan bayt (2 haneye kadar)\n" " \\uHHHH onaltılık deÄŸeri HHHH olan Unicode (ISO/IEC 10646) karakteri (4 " "haneli)\n" " \\UHHHHHHHH onaltılık deÄŸeri HHHHHHHH olan Unicode karakteri (8 hane)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% tek bir % iÅŸaretini gösterir\n" " %b ARGÜMAN `\\' öncelemeli bir dizge olarak yorumlanır\n" "\n" "ve ARGÜMANlar önce uygun bir türe dönüştürülerek diouxXfeEgGcs\n" "karakterlerinden biri ile biten tüm C biçem tanımlamaları kullanılır.\n" "DeÄŸiÅŸken geniÅŸlikler de desteklenmiÅŸtir.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: bir sayısal argüman gerekli" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: deÄŸer tamamen dönüştürülmedi" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "öncelemde onaltılık sayı yok" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "evrensel karakter ismi \\%c%0*x geçersiz" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "geçersiz satır geniÅŸliÄŸi: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "geçersiz kesinlik: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: geçersiz çevrim tanımı" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "uyarı: `%s'den baÅŸlayarak fazladan argümanlar yoksayıldı" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (`%s' düzenli ifadesi için)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Kullanım: %s [SEÇENEK]... [GİRDİ]... (-G olmaksızın)\n" " veya: %s -G [SEÇENEK]... [GİRDİ [ÇIKTI]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "girdi dosyasındaki kelimelerin (contextleriyle beraber),bir permutasyonunu \n" " oluÅŸturur.\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference SatırbaÅŸlarına referans bilgileri koyar\n" " -C, --copyright Kopyalama hakkı bilgilerine ve ÅŸartlarını\n" " gösterir\n" " -G, --traditional System V'deki ptx gibi davranır\n" " -F, --flag-truncation=DİZGE Satırları kesmesi gerektiÄŸinde satırı \n" " kestiÄŸi yeri DİZGE (string) ile belirtir\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=DİZGE TeX formatında çıktı oluÅŸtururken `xx' " "yerine\n" " DİZGE makrosunu kullanır\n" " -O, --format=roff roff direktifleri formatında çıktı " "oluÅŸturur\n" " -R, --right-side-refs -A seçeneÄŸinde oluÅŸturulan referansları \n" " satırbaşına deÄŸil, satırsonuna koyar( -A \n" " ile beraber kullanımı anlamlı bir seçenek)\n" " -S, --sentence-regexp=REGEXP satır sonlarını REGEXP'i (REGEXP = regular\n" " expression (düzenli ifade) ) \n" " -T, --format=tex TeX formatında çıktı oluÅŸtur\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP anahtar kelimeleri REGEXP'i kullanarak \n" " belirler\n" " -b, --break-file=DOSYA DOSYA'daki karakterlere bakarak kelime \n" " sonlarını belirler\n" " -f, --ignore-case büyük/küçük harf ayrımı yapmaz\n" " -g, --gap-size=SAYI çıktının kolonları arasındaki boÅŸluk " "geniÅŸliÄŸi\n" " SAYI olur\n" " -i, --ignore-file=DOSYA girdi üzerinde çalışırken DOSYA daki \n" " kelimeleri dikkate almaz\n" " -o, --only-file=DOSYA girdide sadece DOSYA'daki kelimeleri\n" " dikkate alır\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references her satırın ilk alanını referans olarak \n" " kullanır\n" " -t, --typeset-mode [henüz çalışmayan bir seçenek]\n" " -w, --width=SAYI çıktıdaki kolon sayısı SAYI olur \n" " (referans hariç)\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "DOSYA belirtilmediÄŸinde veya - olduÄŸunda standart girdiden okur. \n" "`-F /' seçeneÄŸi verilmiÅŸ gibi çalışır\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "geçersiz boÅŸluk geniÅŸliÄŸi: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Çalışılan dizinin tam dosya yolunu gösterir.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "%s dizinine chdir baÅŸarısız" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "%s durumlanamadı" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "%s içinde eÅŸleÅŸen i-düğümlü dizin girdisi bulunamadı" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "seçenek olmayan argümanlar yoksayılıyor" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Kullanım: %s [SEÇENEK]... DOSYA...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Bir sembolik bağın deÄŸerini standart çıktıda gösterir.\n" "\n" #: src/readlink.c:65 #, fuzzy msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize verilen yoldaki her bileÅŸende her sembolik\n" " bağı döngüsel olarak izler;\n" " en son yol bileÅŸeni haricindeki herÅŸey var\n" " olmalıdır.\n" " -e, --canonicalize-existing verilen yoldaki her bileÅŸende her sembolik\n" " bağı döngüsel olarak izler;\n" " bütün yol bileÅŸenleri var olmalıdır.\n" " -m, --canonicalize-missing verilen yoldaki her bileÅŸende her sembolik\n" " bağı döngüsel olarak izler;\n" " bileÅŸenlerin var olması gerekmez.\n" " -n, --no-newline sonlayan yeni satırı yazdırmaz.\n" " -q, --quiet,\n" " -s, --silent çoÄŸu hata iletisini bastırır\n" " -v, --verbose hata iletilerini verir\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -f, --canonicalize verilen yolun bileÅŸenlerinde yer alan her " "sembolik\n" " bağı döngüsel olarak takip eder.\n" " -n, --no-newline en sonuna yenisatır eklemez.\n" " -q, --quiet,\n" " -s, --silent pek çok hata iletisini göstermez.\n" " -v, --verbose hata iletilerini gösterir.\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "seçenek olmayan argümanlar yoksayılıyor" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: korumalı dizin %s'nin içine inilsin mi?" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: %s dizininin içine inilsin mi?" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: korumalı %s %s silinsin mi?" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: %s %s silinsin mi?" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "%s dizini silindi\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "dizin %s silinemiyor" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "okuma baÅŸarısız oldu" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root `/' için özel iÅŸlem yapma (öntanımlı)\n" " --preserve-root `/' üzerinde döngüsel iÅŸlem yapma\n" " -r, -R, --recursive yinelemeli olarak dizinlerin içlerindekileri siler\n" " -v, --verbose ne yapıldığını anlatır\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Adı '-' ile baÅŸlayan bir dosyayı silmek için, örneÄŸin '-foo' \n" "aÅŸağıdaki komutlardan birini kullanın:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Not: EÄŸer bir dosyayı silerken rm kullandıysanız, genelde o dosyanın\n" "içindekileri geri almanız mümkündür. EÄŸer dosya içeriÄŸinin gerçekten geri\n" "alınamaz olarak silinmesini istiyorsanız, shred komutunu kullanın.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: %s %s silinsin mi?" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "dizin %s siliniyor" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "dizin %s silinemiyor" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "DİZİN(ler) boÅŸ ise siler.\n" "\n" " --ignore-fail-on-non-empty\n" " yalnızca bir dizinin boÅŸ olmamasından kaynaklanan \n" " hataları dikkate almaz\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents DİZİN'i siler, ondan sonra o yolun her bileÅŸenindeki\n" " dizinleri silmeye çalışır. Örnek: 'rmdir -p a/b/c'\n" " rmdir a/b/c a/b a' komutuna eÅŸittir.\n" " -v, --verbose iÅŸlenen her dizin için durum çıktılar\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "%s açılamadı" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "%s'nın öznitelikleri alınamadı" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "süreç kimliÄŸi belirtilmemiÅŸ" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "%s açılamadı" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "%s durumlanamadı" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "%s durumlanamadı" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "%s durumlanamadı" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "%s durumlanamadı" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "%s'in izinleri eski haline getirilemedi" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Kullanımı: %s [SEÇENEK]... SON\n" " veya: %s [SEÇENEK]... İLK SON\n" " ya da: %s [SEÇENEK]... İLK ARTIÅž SON\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "İLK'ten SON'a kadar rakamları, ARTIÅž atlayarak yazar.\n" "\n" " -f, --format=BİÇEM printf tarzı gerçel sayı BİÇEMi kullanır " "(öntanımlı: %g)\n" " -s, --separator=DİZGE rakamları DİZGE ile ayırır (öntanımlı:\\n)\n" " -w, --equal-width rakamları sıfırla yastıklayarak eÅŸit geniÅŸliÄŸe " "getirir\n" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "İLK ve ARTIÅž belirtilmemiÅŸse öntanımlı olarak 1 kabul edilir.\n" "EÄŸer ARTIÅž verilmemiÅŸ ise, SON, İLK'den küçük dahi olsa, 1 olarak kabul " "edilir.\n" "İLK, ARTIÅž ve SON gerçel sayılar olarak yorumlanır.\n" "İLK SONdan küçükse ARTIÅž pozitif, aksi takdirde negatif olmalıdır.\n" "BelirtildiÄŸi takdirde BİÇEM en azından bir tane printf tarzı gerçel\n" "sayı çıktı biçemi (%e, %f, %g den birini) içermelidir.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "gerçel sayı argüman geçersiz: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s bilinmeyen dosya türüne sahip" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "eÅŸ geniÅŸlikli dizgeler için biçem dizgesi belirtilmeyebilir" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Kullanımı: %s KULLANICIADI BİÇEM [ARGÜMAN]...\n" " veya: %s SEÇENEK\n" #: src/setuidgid.c:55 #, fuzzy msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Ek grupları bırakır, belirtilen KULLANICIADI'nın kullanıcı ve grup\n" "kimliklerini alır ve KOMUT'u belirtilen ARGÜMAN'larla çalıştırır.\n" "EÄŸer gereken UID ve GID'i alamamışsa 111 durumu ile çıkar.\n" "Aksi halde, KOMUT'un çıkış durumu ile çıkar.\n" "Bu program yalnızca root (UID=0) tarafından çalıştırıldığı zaman " "faydalıdır.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "bilinmeyen kullanıcı kimliÄŸi: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "ek grup atanamadı" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "grup kimliÄŸi %lu olarak atanamıyor" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "kullanıcı kimliÄŸi %lu olarak atanamıyor" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Belirtilen DOSYA(ların) üzerine bir kaç defa yazarak pahalı donanım \n" "çözümleri ile bile dosya içeriÄŸinin kurtarılabilmesini zorlaÅŸtırır.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force eÄŸer gerekli olursa yazma izni verir\n" " -n, --iterations=N Öntanımlı (%d) defa üzerine yazma yerine N defa " "üzerine\n" " yazar\n" " -s, --size=N N sayıda baytı bu iÅŸlemden geçirir\n" " (k, M, G gibi sonekler kabul edilir)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove üzerine yazdıktan sonra dosyayı sıfırlar ve siler\n" " -v, --verbose ilerlemeyi gösterir\n" " -x, --exact dosya boyutunu sonraki tam bloÄŸa yuvarlamaz\n" " bu iÅŸlem, normal dosya olmayan dosyalar için öntanımlıdır\n" " -z, --zero iÅŸlemi gizlemek için en son olarak üzerine sıfırlarla " "yazar\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "EÄŸer DOSYA - ise, standart çıktıyı bu iÅŸleme tabi tutar\n" "\n" "EÄŸer --remove (-u) belirtilmiÅŸse DOSYA(ları) siler. Öntanımlı deÄŸer " "dosyaları\n" "silmez çünkü bu komut genelde /dev/hda gibi aygıt dosyaları üzerinde \n" "çalıştırılır ve o dosyalar genelde silinmemelidir. Normal dosyalar " "üzerinde\n" "çalıştırıldığı zaman genelde --remove seçeneÄŸi kullanılır.\n" "\n" #: src/shred.c:180 #, fuzzy msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "DİKKAT: shred komutu dosya sisteminin datayı yerinde \n" "üzerine yazdığı varsayımına dayanır. Bu genelde yapılan iÅŸlemdir, \n" "fakat pek çok modern dosya sistemi bu varsayıma uymaz. AÅŸağıda shred\n" "komutunun iÅŸe yaramadığı dosya sistemleri örneklenmiÅŸtir:\n" "\n" #: src/shred.c:188 #, fuzzy msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* AIX ve Solaris ile gelen (ve JFS, ReiserFS, XFS vs.) gibi kayıt düzenli " "veya\n" " jurnalli dosya sistemleri\n" "\n" "* RAID gibi çoklu data yazan ve bazı yazma iÅŸlemleri baÅŸarısız olsa bile " "devam\n" " edebilen dosya sistemleri\n" "\n" "* Network Appliance'ın NFS sunucusu gibi dosya sisteminin bir görüntüsünü \n" " kaydeden dosya sistemleri\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 #, fuzzy msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "* geçici yerlerde arabellek oluÅŸturan dosya sistemleri (NFS sürüm 3 \n" " istemcileri gibi)\n" "\n" "* sıkıştırılmış dosya sistemleri\n" "\n" "Buna ek olarak, dosyasistem yedekleri ve uzak yansılar dosyanın\n" "silinemeyen kopyalarını taşıyabilir ve bu shred iÅŸleminden geçirilmiÅŸ\n" "bir dosyanın tekrar oluÅŸturulabilmesini saÄŸlayabilir.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync baÅŸarısız" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync baÅŸarısız" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: geri gelinemiyor" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: geçiÅŸ %lu/%lu (%s)" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s %s göreli konumunda yazdırma hatası" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: arama (lseek) baÅŸarısız" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: dosya çok büyük" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: geçiÅŸ %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: geçiÅŸ %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat baÅŸarısız" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: geçersiz dosya tipi" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: dosya büyüklüğü negatif" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: kısaltmada hata" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl baÅŸarısız" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: yalnızca eklenebilir kipte dosya belirteçine shred uygulanamaz" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: siliniyor" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: %s olarak yeniden adlandırıldı" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: silinemedi" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: silindi" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: kapatılamadı" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: yazmak için açılamadı" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s geçersiz sayıda geçiÅŸ" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "birden fazla çıktı dosyası belirtilmiÅŸ" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: geçersiz dosya büyüklüğü" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Kullanımı: %s [SEÇENEK]... SON\n" " veya: %s [SEÇENEK]... İLK SON\n" " ya da: %s [SEÇENEK]... İLK ARTIÅž SON\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Her DOSYA'daki satırların seçilen bölümlerini standart çıktıya yazdırır.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "birden fazla -l veya -t seçeneÄŸi belirtilmiÅŸ" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "geçersiz girdi bayrağı: %s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "geçersiz satır geniÅŸliÄŸi: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "birden fazla çıktı dosyası belirtilmiÅŸ" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "kip ve --reference seçenekleri birleÅŸtirilemez" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Kullanımı: %s SAYI[SONEK]...\n" " veya: %s SEÇENEK\n" "SAYI saniye kadar bekletir.\n" "SONEK saniye için `s' (öntanımlı), dakika için `m', saat için `h' ve \n" "gün için `d' olabilir. Birçok benzerinde SAYI için bir tamsayı\n" "deÄŸer gerekirken, burada SAYI bir gerçel sayı olabilir.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "`%s' zaman aralığı geçersiz" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "gerçekzaman saati okunamıyor" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "DOSYA(ların)nın sıralanmış halini standart çıktıya yazar.\n" "sort sıralama yaparken her satırın belli bir bölümune bakarak sıralama\n" "yapar. Baktığı bölüme sıralama anahtarı denir. Bu anahtarı aÅŸağıdaki\n" "seçenekleri kullanarak belirtebilirsiniz. Seçeneklerden sonra anahtarların\n" "nasıl oluÅŸturulduÄŸuyla ilgili bilgi bulabilirsiniz.\n" "\n" "Sıralama seçenekleri:\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks sıralanacak alanlarda ve sıralama \n" " anahtarlarından önce gelen boÅŸlukları " "dikkate \n" " almaz\n" " -d, --dictionary-order anahtarlarda sadece [a-zA-Z0-9] " "karakterlerini\n" " dikkate alır\n" " -f, --ignore-case sıralarken büyük/küçük harf farklılıklarını \n" " dikkate almaz \n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort sayısal deÄŸere bakarak sıralar, -n seçeneÄŸini " "de\n" " de verilmiÅŸ kabul eder \n" " ( -n seçeneÄŸinden farkı : 1.e-3 gibi \n" " sayıları da okuyabilir. -n seçeneÄŸinden çok \n" " daha yavaÅŸ çalışır, gerekmedikçe bu seçeneÄŸi \n" " kullanmayın)\n" " -i, --ignore-nonprinting anahtarlarda sadece yazılabilir yazılabilir =\n" " printable, Örnekler: a ? < , ...) \n" " karakterleri dikkate alır\n" " -M, --month-sort anahtarın ilk üç harfini alır, bir ay ismi\n" " nin kısaltmasıysa, ayların sırasına göre\n" " sıralar. Ay isimlerinin kısa yazılış-\n" " larını LC_TIME çevre deÄŸiskeninin\n" " belirttigi locale dosyasından bakar\n" " (çevre deÄŸiÅŸkeni = environment variable)\n" " -n, --numeric-sort sayısal deÄŸerlere göre sıralar\n" " -r, --reverse tersine sıralar\n" "\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort sayısal deÄŸere bakarak sıralar, -n seçeneÄŸini " "de\n" " de verilmiÅŸ kabul eder \n" " ( -n seçeneÄŸinden farkı : 1.e-3 gibi \n" " sayıları da okuyabilir. -n seçeneÄŸinden çok \n" " daha yavaÅŸ çalışır, gerekmedikçe bu seçeneÄŸi \n" " kullanmayın)\n" " -i, --ignore-nonprinting anahtarlarda sadece yazılabilir yazılabilir =\n" " printable, Örnekler: a ? < , ...) \n" " karakterleri dikkate alır\n" " -M, --month-sort anahtarın ilk üç harfini alır, bir ay ismi\n" " nin kısaltmasıysa, ayların sırasına göre\n" " sıralar. Ay isimlerinin kısa yazılış-\n" " larını LC_TIME çevre deÄŸiskeninin\n" " belirttigi locale dosyasından bakar\n" " (çevre deÄŸiÅŸkeni = environment variable)\n" " -n, --numeric-sort sayısal deÄŸerlere göre sıralar\n" " -r, --reverse tersine sıralar\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Diger seçenekler:\n" "\n" " -c, --check dosyalar sıralı mı kontrol eder; sıralamaz\n" " -k, --key=POS1[,POS2] Sıralama anahtarı belirtmek için kullanılan \n" " seçenek:\n" " POS1 de baÅŸlayan POS2 de biten bir anahtar \n" " belirler (alan numarasını ve karakterin\n" " kelime içindeki yerini 1'den baÅŸlayarak sayar)\n" " -m, --merge sıralama yapma; daha önceden sıralanmış \n" " dosyaları birleÅŸtirir\n" " -o, --output=DOSYA sonucu DOSYA'ya yazar\n" " -s, --stable EÄŸer tüm satırlar karşılaÅŸtırıldıklarında eÅŸit\n" " gözüküyorlarsa dosyayı aynı bırakır\n" " (bu seçenek kullanılmadığında sort yukarda \n" " belirtilen durumla karşılaÅŸtığında satırları \n" " baÅŸtan sona bayt bayt karşılaÅŸtırır)\n" " -S, --buffer-size=SAYI ana bellekten SAYI geniÅŸliÄŸinde alan kullanır\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-seperator=SEP kelimeleri boÅŸluk yerine SEP ile ayrılmış \n" " kabul eder\n" " -T, --temporary-directory=DIR geçici dizin olarak $TMPDIR veya %s " "yerine \n" " DIR'ı kullanır. \n" " -u, --unique -c ile kullanıldığında girdide her satırın \n" " özgün olup olmadığını da kontrol eder. -c ile\n" " kullanılmadığında sıralama yaparken aynı olan \n" " satırlardan sadece birini yazar \n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated satırları satır-sonu karakteri (\\n) \n" " yerine 0'la (0 baytı) bitirir\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "Sıralama anahtarları POS1, POS2 argümanları F[.C][SEC] ile belirtilir.\n" "Burda F alan numarası C de karakterin alandaki yeridir.-k seçeneÄŸi " "verildiÄŸinde\n" "alan numarası ve karakterine alandaki yeri 1'den baÅŸlanarak sayılır (eski \n" "kullanım ÅŸeklinde 0'dan baÅŸlanarak sayılır). SEC ise yukarda belirtilen\n" "sıralama seçeneklerinden oluÅŸur. (Hem en baÅŸta hem POS1 veya POS2 nin \n" "içinde sıralama seçeneÄŸi belirtilmiÅŸse POS1, POS2 nin içindekiler " "kullanır).\n" "Anahtar belirtilmemiÅŸse sort bütün satırı anahtar olarak kullanır.\n" "\n" "SAYI'dan sonra aÅŸağıdaki soneklerden biri gelebilir:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "%%(hafızayı yüzdeyle belirtmek için) , b, k (varsayılan), M, G, T, P, E, Z, " "Y.\n" "\n" "DOSYA verilmediÄŸinde veya - olduÄŸunda standart girdiden okur.\n" "\n" "*** UYARI ***\n" "Çevre deÄŸiÅŸkenlerince belirlenen locale dosyası sıralamayı etkiler.\n" "bayt deÄŸerlerine göre sıralama için LC_ALL çevre deÄŸiÅŸkenine C deÄŸerini " "atayın.\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "%s'e yazılıyor" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "geçici dosya %s oluÅŸturulamadı" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "açma iÅŸlemi baÅŸarısız" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush baÅŸarısız" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "kapatma iÅŸlemi baÅŸarısız" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "açma iÅŸlemi baÅŸarısız" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "geçici dosya oluÅŸturulamadı" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "%s dizini oluÅŸturulamıyor" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "uyarı: %s silinemedi" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "%s argümanı geçersiz" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "%s argümanı `%s' için belirsiz" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: `%.*s' sayımı fazla büyük" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat baÅŸarısız" #: src/sort.c:1755 msgid "read failed" msgstr "okuma baÅŸarısız oldu" # #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "dizge karşılaÅŸtırması baÅŸarısız" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: `%s' seçeneÄŸi belirsiz\n" msgstr[1] "%s: `%s' seçeneÄŸi belirsiz\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "yazma baÅŸarısız oldu" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: sırasız: " #: src/sort.c:2786 msgid "standard error" msgstr "standart hata" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: geri gelinemiyor" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: geçersiz alan tanımı `%s'" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: `%s' seçeneÄŸi belirsiz\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: `%s' baÅŸlangıcında geçersiz sayım" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "`-' den sonra geçersiz sayı" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "`.' dan sonra geçersiz sayı" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "alan tanımında fazla harf" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "birden fazla hedef dizin belirtilmiÅŸ" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "alan baÅŸlangıcında geçersiz sayı" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "alan numarası sıfır" #: src/sort.c:4392 msgid "character offset is zero" msgstr "sıralama anahtarında belirtilen karakter yeri sıfır" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "`,' den sonra geçersiz sayı" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "boÅŸ sekme" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "%s'den dosya adları okunamadı" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "geçersiz sıfır uzunluklu dosya adı" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "girdi dosyası %s kapatılıyor" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "-c seçeneÄŸi ile ekstra iÅŸlenen %s kullanılamaz" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Kullanım: %s [SEÇENEK] [GİRDİ [ÖNEK]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "GIRDI'yi eÅŸit büyüklükte parçalara bölüp ONEKaa, ONEKab, ... isimli\n" "dosyalara kor. Ötanımlı boy 1000 satır ve öntanımlı ONEK `x'tir.\n" "GIRDI belirtilmediÄŸinde veya - olduÄŸunda standart girdiyi kullanır\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N parça isimlerinin ONEK'ten sonraki bölümlerinin \n" " uzunluÄŸu N olur ( -a kullanılmadıkça %d) \n" " -b, --bytes=SAYI dosyayı N bayt parçalara böler\n" " -C, --line-bytes=SAYI parçaların her satırında en fazla N bayt olur\n" " -d, --numeric-suffixes alfabetik deÄŸil, nümerik sonekler kullanır\n" " -l, --lines=SAYI her parçada N tane satır olur\n" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose her parçayı dosyasına koymadan önce \n" " ne yaptığına dair bilgi verir (bilgi standart " "hata'ya\n" " yazılır)\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "kullanacak parça ismi kalmadı" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "`%s' dosyası oluÅŸturuluyor\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "çevre deÄŸiÅŸkeni LS_COLORS'da taranamaz deÄŸer" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "%s durumlanamadı" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "%s dizini kapatılıyor" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "çıktı dosyası %s kapatılıyor" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "girdi dosyası %s kapatılıyor" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "girdi dosyası %s kapatılıyor" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "%s komutu çalıştırılamadı" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "%s: kapatılamadı" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "-C -l -b seçenekleri beraber kullanılmaz" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: geçersiz saniye sayısı" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: geçersiz sayı" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: -a seçeneÄŸine verilen arguman geçersiz" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: geçersiz bayt sayısı" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: geçersiz satır sayısı" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "satır sayma seçeneÄŸi -%s%c... fazla büyük" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "geçersiz baÅŸlangıç satır numarası: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: geçersiz dosya büyüklüğü" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "makina ismi saptanamadı" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "%s açılamadı" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: `%c%s' seçeneÄŸi bilinmiyor\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%%%c: yönerge geçersiz" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "dizge sonunda geçersiz terskesik gösterimi" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "%s için dosyasistem bilgisi okunamadı" # #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "standart girdi kapatılıyor" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Dosyalar için geçerli sözdizimler (--file-system seçeneÄŸi olmaksızın)\n" "\n" " %A İnsan tarafından okunabilir biçemde eriÅŸim hakları\n" " %a Sekizlik deÄŸer halinde eriÅŸim hakları\n" " %B `%b' ile verilen her bloÄŸun bayt cinsinden boyu\n" " %b Ayrılan blok sayısı (bkz. %B)\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %D Onaltılık düzende aygıt numarası\n" " %d Onluk düzende aygıt numarası\n" " %F Dosya türü\n" " %f Onaltılık düzende ham (raw) kip\n" " %G Sahibin grup adı\n" " %g Sahibin grup kimlik no'su\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Sabit baÄŸ sayısı\n" " %i Idüğüm sayısı\n" " %N EÄŸer sembolik baÄŸ ise çözümlenmiÅŸ ve tırnak içine alınmış dosya adı\n" " %n Dosya adı\n" " %o IO blok büyüklüğü\n" " %s Bayt cinsinden toplam büyüklük\n" " %T Onaltılık minör aygıt türü\n" " %t Onaltılık majör aygıt türü\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %U Sahibin kullanıcı adı\n" " %u Sahibin kimlik no\n" " %X BaÅŸlangıçtan beri saniye cinsinden son eriÅŸim zamanı\n" " %x Son eriÅŸim zamanı\n" " %Y BaÅŸlangıçtan beri saniye cinsinden son deÄŸiÅŸim zamanı\n" " %y Son deÄŸiÅŸim zamanı\n" " %Z BaÅŸlangıçtan beri saniye cinsinden son dosya deÄŸiÅŸim zamanı\n" " %z Son dosya deÄŸiÅŸim zamanı\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Dosya sistemleri için geçerli biçem dizileri:\n" "\n" " %a Normal kullanıcıya izin verilen boÅŸ bloklar\n" " %b Dosya sistemindeki toplam veri blokları\n" " %c Dosya sistemindeki toplam dosya düğümleri\n" " %d Dosya sisteminde boÅŸ dosya düğümleri\n" " %f Dosya sisteminde boÅŸ bloklar\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Dosya sistem kimlik no (onaltılık)\n" " %l Dosya isimlerinin maksimum uzunluÄŸu\n" " %n Dosya ismi\n" " %s Optimal transfer blok büyüklüğü\n" " %T İnsan okuyabilir ÅŸekilde tür\n" " %t Onaltılık düzende tür\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Kullanım: %s [SEÇENEK]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "%s açılamadı" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Kullanımı: %s [-F AYGIT] [--file=AYGIT] [AYAR]...\n" " veya: %s [-F AYGIT] [--file=AYGIT] [-a|--all]\n" " ya da: %s [-F AYGIT] [--file=AYGIT] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Terminal karakteristiklerini deÄŸiÅŸtirir ve gösterir.\n" "\n" " -a, --all tüm ayarları okunabilir biçimde gösterir\n" " -g, --save tüm ayarları stty-okuyabilir biçimde gösterir\n" " -F, --file=AYGIT stdGirdi yerine belirtilen AYGITI açar ve kullanır\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "AYARdan önceki seçimlik `-' anlamı ters çevirir. * karakteri POSIX olmayan\n" "ayarları gösterir. Hangi ayarların kullanılabileceÄŸi sisteme göre deÄŸiÅŸir.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Özel karakterler\n" "* dsusp KRKT KRKT okuma sırasında dur (SIGSTOP) sinyali gönderecektir\n" " eof KRKT KRKT dosya sonu karakteri olacak (girdiyi sonlandırır)\n" " eol KRKT KRKT satır sonu karakteri olacak\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" "* eol2 KRKT satır sonu için diÄŸer bir KRKT olacaktır\n" " erase KRKT KRKT yazılan son karakteri silecektir\n" " intr KRKT KRKT bir kesme (SIGINT) sinyali gönderecektir\n" " kill KRKT KRKT bulunulan satırı silecektir\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" "* lnext KRKT KRKT izleyen özel karakterin yorumlanmasını engelleyecektir\n" " quit KRKT KRKT bir çıkış (SIGQUIT) sinyali gönderecektir\n" "* rprnt KRKT KRKT bulunulan satırı yeniden yazacaktır\n" " start KRKT KRKT durdurulduktan sonra çıktıyı yeniden baÅŸlatacaktır\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop KRKT KRKT çıktıyı durduracaktır\n" " susp KRKT KRKT bir terminal dur (SIGSTOP) sinyali gönderecektir\n" "* swtch KRKT KRKT baÅŸka bir kabuk katmanına geçecektir\n" "* werase KRKT KRKT son sözcüğü silecektir\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Özel ayarlar:\n" " N girdi/çıktı hızlarını N bit/s olarak ayarlar\n" " * cols N çekirdeÄŸe terminal geniÅŸliÄŸini N karakter olarak bildirir\n" "* columns N cols N ile aynı\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N girdi hızını N olarak ayarlar\n" "* line N terminal hat disiplinini N yapar\n" " min N -icanon ile okumanın tamamlanması için gereken en az " "karakter\n" " sayısını N yapar\n" " ospeed N çıktı hızını N olarak ayarlar\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" "* rows N çekirdeÄŸe terminal satır sayısını N olarak bildirir\n" "* size çekirdeÄŸe uygun satır ve sütun sayısını gösterir\n" " speed terminal hızını gösterir\n" " time N -icanon ile okuma zaman aşımını N/10 saniyeye ayarlar\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Denetim ayarları:\n" " [-]clocal modem denetim sinyallerini geçersiz kılar\n" " [-]cread girdi alımına izin verir\n" "* [-]crtscts RTS/CTS uzlaÅŸmasını etkinleÅŸtirir\n" " csN karakter bit sayısını N olarak ayarlar, [5..8 bit arasında]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb her karakter için iki durma biti kullanılır (`-' ile bir)\n" " [-]hup son iÅŸlem tty'yi kapatırken kapatma (SIGHUP) sinyali " "gönderilir\n" " [-]hupcl [-]hup ile aynı\n" " [-]parenb çıktı için eÅŸlik biti üretilir, girdi için eÅŸlik biti " "beklenir\n" " [-]parodd tek eÅŸlik biti kullanılır (`-' ile çift)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Girdi ayarları:\n" " [-]brkint kırma karakterleri kesme sinyali üretir\n" " [-]icrnl satır başı karakterini alt satıra geçme\n" " karakteri olarak yorumlar\n" " [-]ignbrk kırma karakterlerini yoksayar\n" " [-]igncr satır başı karakterlerini yoksayar\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar eÅŸlik hataları olan karakterleri yoksayar\n" "* [-]imaxbel girdi tamponu taÅŸtığında uyarı sesi üretir\n" " [-]inlcr alt satıra geçme karakterini satır başı\n" " karakteri olarak yorumlar\n" " [-]inpck girdi eÅŸlik denetimini etkinleÅŸtirir\n" " [-]istrip girdi karakterlerinin yüksek (8.) bitini temizler\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 girdi karakterlerinin UTF-8 kodlu olduÄŸunu varsayar\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" "* [-]iuclc büyük harfleri küçük harf olarak yorumlar\n" "* [-]ixany sadece baÅŸla karakteri deÄŸil herhangi bir karakter\n" " girdiyi baÅŸlatır\n" " [-]ixoff baÅŸla/dur karakterlerinin gönderimini etkinleÅŸtirir\n" " [-]ixon XON/XOFF akış denetimini etkinleÅŸtirir\n" " [-]parmrk eÅŸlik hatalarını imler (255-0-karakter sıralamasıyla)\n" " [-]tandem [-]ixoff ile aynı\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Çıktı ayarları:\n" "* bsN geri silme tarzı gecikme, N [0..1] arasında\n" "* crN satır başı tarzı gecikme, N [0..3] arasında\n" "* ffN sayfa başı tarzı gecikme, N [0..1] arasında\n" "* nlN alt satıra geçiÅŸ tarzı gecikme, N [0..1] arasında\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "* [-]ocrnl satır başını alt satıra geçiÅŸ olarak yorumlar\n" "* [-]ofdel 0 karakteri yerine dolgu için silme karakterini kullanır\n" "* [-]ofill gecikmeler için zamanlama yapmak yerine dolgu\n" " karakterlerini kullanır\n" "* [-]olcuc küçük harfleri büyük harf olarak yorumlar\n" "* [-]onlcr alt satıra geçiÅŸi satır başı olarak yorumlar\n" "* [-]onlret alt satıra geçiÅŸ karakteri satır başı yapar\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" "* [-]onocr satır başı karakterini ilk karakter olarak basmaz\n" " [-]opost iÅŸlem sonrası çıktı\n" "* tabN yatay sekme tarzı gecikme, N [0..3] arasında\n" "* tabs tab0 ile aynı\n" "* -tabs tab3 ile aynı\n" "* vtN düşey sekme tarzı gecikme, N [0..1] arasında\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Yerel ayarlar:\n" " [-]crterase silme karakterlerini gerisilme-boÅŸluk-gerisilme olarak " "yansılar\n" "* crtkill satırları echoprt ve echoe ayarlarına uygun olarak siler\n" "* -crtkill satırları echoctl ve echok ayarlarına uygun olarak siler\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" "* [-]ctlecho denetim karakterlerini ÅŸapkalı gösterim (`^c') ile yansılar\n" " [-]echo girdi karakterlerini yansılar\n" "* [-]echoctl [-]ctlecho ile aynı\n" " [-]echoe [-]crterase ile aynı\n" " [-]echok karakteri sildikten sonra bir alt satıra geçiÅŸ yansılar\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" "* [-]echoke [-]crtkill ile\n" " [-]echonl diÄŸer karakterler yansılanmamış olsa bile\n" " alt satıra geçiÅŸi yansılar\n" "* [-]echoprt geriye doÄŸru silinmiÅŸ karakterleri `\\' ve '/'\n" " arasında yansılar\n" " [-]icanon karakter, satır, sözcük silmeleri ve satır yenileme özel\n" " karakterlerini etkinleÅŸtirir\n" " [-]iexten POSIX olmayan özel karakterleri etkinleÅŸtirir\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig kesme, çıkış ve dondurma özel karakterlerini etkinleÅŸtirir\n" " [-]noflsh kesme ve çıkış özel karakterlerinden sonra güncellemeyi\n" " geçersiz kılar\n" "* [-]prterase [-]echoprt ile aynı\n" "* [-]tostop terminale yazmaya çalışan artalandaki iÅŸleri durdurur\n" "* [-]xcase icanon ile, büyük harfleri `\\' ile önceleyerek gösterir\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "BirleÅŸik ayarlar:\n" "* [-]LCASE [-]lcase ile aynı\n" " cbreak -icanon ile aynı\n" " -cbreak icanon ile aynı\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked brkint ignpar istrip icrnl ixon opost isig icanon eof ve " "eol\n" " karakterlerinin öntanımlı deÄŸerleri ile aynı\n" " -cooked raw ile aynı\n" " crt echoe echoctl echoke ile aynı\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u ile aynı\n" "* [-]decctlq [-]ixany ile aynı\n" " ek karakter ve satır silme karakterlerinin öntanımlı\n" " deÄŸerleriyle aynı\n" " evenp parenb -parodd cs7 ile aynı\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp -parenb cs8 ile aynı\n" "* [-]lcase xcase iuclc olcuc ile aynı\n" " litout -parenb -istrip -opost cs8 ile aynı\n" " -litout parenb istrip opost cs7 ile aynı\n" " nl -icrnl -onlcr ile aynı\n" " -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret ile aynı\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp parenb parodd cs7 ile aynı\n" " -oddp -parenb cs8 ile aynı\n" " [-]parity [-]evenp ile aynı\n" " pass8 -parenb -istrip cs8 ile aynı\n" " -pass8 parenb istrip cs7 ile aynı\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0 ile aynı\n" " -raw cooked ile aynı\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, tüm özel\n" " karakterlerin öntanımlı deÄŸerleriyle aynı.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Standart girdiye baÄŸlı olan tty hattını yönetir. Argümansız\n" "çalıştırıldığında iletiÅŸim hızını, hat disiplinini, stty sane ayarından\n" "farklı ayarları gösterir. Ayarlarda KRKT yazıldığı gibi ya da ^c, 0x37, " "0177\n" "ya da 127 olarak gösterilmiÅŸ bir karakter olabilir. ^- veya undef deÄŸerleri\n" "bu özel karakteri geçersiz kılar\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "sadee tek aygıt belirtilebilir" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "ayrıntılı çıktı seçenekleri ile stty-okuyabilir tarzı çıktı\n" "seçenekleri birlikte kullanılamaz" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "bir çıktı tarzı belirtildiÄŸinde kipler ayarlanamaz" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: bloklamayan kip sıfırlanamadı" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "%s argümanı geçersiz" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "`%s'de argüman kayıp" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "geçersiz satır belirleyicisi `%s'" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: istenen iÅŸlemlerin tümü yapılamıyor" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: bu aygıt için boyut bilgileri yok" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "tamsayı argüman olarak `%s' geçersiz" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour ve David MacKenzie" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Her DOSYA'nın saÄŸlama toplamını ve blok sayısını yazar.\n" "\n" " -r BSD toplama algoritmasını kullanır, blok geniÅŸliÄŸini 1K " "alır\n" " -s, --sysv System V toplama algoritmasını kullanır, blok geniÅŸliÄŸini\n" " 512 bayt alır\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "DeÄŸiÅŸen blokları diske yazılmaya zorlar ve süper bloÄŸu günceller.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "argümanların tamamı yoksayılıyor" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help bu yardımı gösterir ve çıkar\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version sürüm bilgisini gösterir ve çıkar\n" # #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Uzun seçenekler için zorunlu olan argümanlar kısa seçenekler için de " "zorunludur.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Yazılım hatalarını <%s> adresine,\n" "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "Uyarı: Döngülü dizin yapısı\n" "Bu hemen her zaman bozulmuÅŸ bir dosya sisteminiz olduÄŸunu gösterir.\n" "SİSTEM YÖNETİCİNİZE HABER VERİN.\n" "AÅŸağıdaki dizin bu çevrimin bir parçası:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "DOSYAları baÅŸtan sona yazar ( son satır ilk).\n" "DOSYA belirtilmediÄŸinde veya - olduÄŸunda standart girdiden okur.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before ayracı satırdan sonra deÄŸil, satırdan önce koyar\n" " -r, --regex ayracı düzenli ifade olarak kabul eder\n" " (regex = regular expression (düzenli ifade))\n" " -s, --seperator=AYRAC satırları `\\n' yerine AYRAC ile ayır\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: arama (seek) baÅŸarısız" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "kayıt çok büyük" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "geçici dosya %s oluÅŸturulamadı" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: yazmak için açılamadı" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "%s'in zaman damgaları korunamadı" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: yazma hatası" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "%s okumak için açılamadı" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "-s 'ten sonra AYRAC belirtilmeli" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Belirtilen her DOSYA'nın son %d satırını standart çıktıya yazar.\n" "Dosya ismi belirtilmediÄŸinde veya - olduÄŸunda standart girdiden okur.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " dosyayı sürekli izler, yeni satırlar\n" " eklendikçe onları da çıktıya yazar. --" "follow=name\n" " dosya ismini kullanarak izler,--" "follow=descriptor\n" " dosya açıldığında sistemin döndüğü dosya\n" " descriptor'ını kullanarak izler.\n" " -F --follow=name --retry 'ın aynısı \n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=SAYI son %d satır yerine son SAYI satırı yazar\n" " --max-unchanged-stats=N\n" " --follow=name seçeneÄŸi kullanıldığında N " "denemeden\n" " sonra DOSYA'da bir deÄŸisiklik gözlemlememiÅŸse\n" " silinip silinmediÄŸini veya isminin deÄŸistiril-\n" " mediÄŸinden emin olmak için DOSYA'yı tekrar açar\n" " (bu seçenek kullanılmadığında %d defa bu iÅŸi " "yapar)\n" # #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID -f ile kullanılır. Proses numarası PID olan " "proses\n" " öldükten sonra çıkar\n" " -q, --quiet, --silent dosya isimlerini gösteren baÅŸlıklar yazmaz\n" " -s, --sleep-interval=S -f ile kullanıldığı zaman dosyaya birÅŸey yazılıp " "yazıl-\n" " madığını S saniyede bir (öntanımlı 1.0) kontrol " "eder \n" " -v, --verbose dosya isimlerini gösteren baÅŸlıklar yazar\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "SAYI'nin (bayt veya satır sayısı) ilk karakteri `+' ise, \n" "SAYI'ncı satır veya bayttan itibaren dosyanın içeriÄŸini yazar, aksi halde\n" "dosyadaki son SAYI girdiyi yazar. SAYI, çarpım soneki alabilir:\n" "b = 512, k = 1024, m = 1024*1024.\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Bazı durumlarda belli bir dosya adını\n" "izlemek istiyor olabilirsiniz, o zaman --follow=name seçeneÄŸini kullanın\n" "(örneÄŸin `tail --follow=name deneme' dediÄŸinizde, deneme dosyası arada\n" "silinse, sonra yerine baÅŸka bir deneme dosyası oluÅŸsa bütün bunlardan\n" "sonra tail `deneme' dosyasının içinde olanları göstermeye devam eder).\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s kapatılıyor (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: görece %s'ye ilerlenemiyor (seek)" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: dosyanın sonundan %s görecesine geri gidilemiyor (seek)" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "`%s' dosyası okunamaz hale geldi" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "`%s' ismi artık izlenemeyecek bir dosyaya ait" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "`%s' ismi artık izlenemeyecek bir dosyaya ait" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "`%s' dosyası tekrar okunabilir hale geldi" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "`%s' ortaya çıktı; yeni dosyanın sonu takip ediliyor" #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "`%s' tekrar okunabilir hale geldi; yeni dosyayı izlemeye devam" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: bloklamayan kip deÄŸiÅŸtirilemedi" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: dosya kısaldı" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "üzerinde çalışabilecek dosya kalmadı" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "ÅŸimdiki dizin durumlanamadı (ÅŸimdi %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "bellek tükendi" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "`touch' %s yapılamadı" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "%s'i okunurken hata" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: tail bu çeÅŸit dosyayı takip edemez" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "`%s' içindeki sayı çok büyük" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s:--max-unchanged-stats seçeneÄŸiyle verilen argüman geçersiz" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: geçersiz PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: geçersiz saniye sayısı" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "uyarı: --retry seçeneÄŸi sadece --follow=name seçeneÄŸiyle kullanıldığında \n" " bir anlam taşır" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "uyarı: --pid=PID sadece -f seçeneÄŸiyle kullanıldığında bir anlam taşır" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "uyarı: --pid=PID bu sistemde desteklenmiyor" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "%s adı ile takip edilemiyor" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "uyarı: standart girdiyi sonsuza dek takip etmek verimli deÄŸildir" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Standart girdiyi verilen DOSYAlara ve ayrıca standart çıktıya kopyalar.\n" "\n" " -a, --append DOSYAların üzerine yazmaz sonuna ekler\n" " -i, --ignore-interrupts kesme sinyallerini yoksayar\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "DOSYA verilmemiÅŸse veya DOSYA - ise, standart girdi tekrar kopyalanır.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s sonrasında eksik argüman" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "geçersiz sayı %s" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "')' gerekli\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "')' gerekirken, %s bulundu\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: bir terimli iÅŸlemimi olabilir\n" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt -l ile kullanılmaz\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef -l ile kullanılmaz\n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-ot -l ile kullanılmaz\n" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "bilinmeyen ikilik iÅŸlemimi\n" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: iki terimli iÅŸlemimi olabilir\n" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Kullanımı: test İFADE\n" " veya: test\n" " veya: [ İFADE ]\n" " veya: [ ]\n" " ya da: [ SEÇENEK\n" "İFADE ile belirtilen durum ile çıkar.\n" "\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "İFADEye göre üretilen durum kodu ile çıkar.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "İFADE yok ise, çıkış durumu öntanımlı olarak yanlış (false) olur.\n" "İFADEnin sonucunun doÄŸru ya da yanlış olmasına göre aÅŸağıdaki\n" "çıkış durumlarından biri belirlenir:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( İFADE ) İFADE doÄŸrudur\n" " ! İFADE İFADE yanlıştır\n" " İFADE1 -a İFADE2 İFADE1 ve İFADE2 her ikisi de doÄŸrudur\n" " İFADE1 -o İFADE2 ya İFADE1 ya da İFADE2 doÄŸrudur\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n DİZGE DİZGEnin uzunluÄŸu sıfırdan farklıdır\n" " DİZGE -n DİZGE ile aynıdır\n" " -z DİZGE DİZGEnin uzunluÄŸu sıfırdır\n" " DİZGE1 = DİZGE2 DİZGEler eÅŸittir\n" " DİZGE1 != DİZGE2 DİZGEler farklıdır\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " TAMSAYI1 -eq TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸittir\n" " TAMSAYI1 -ge TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸit ya da büyüktür\n" " TAMSAYI1 -gt TAMSAYI2 TAMSAYI1 TAMSAYI2den büyüktür\n" " TAMSAYI1 -le TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸit ya da küçüktür\n" " TAMSAYI1 -lt TAMSAYI2 TAMSAYI1 TAMSAYI2den küçüktür\n" " TAMSAYI1 -ne TAMSAYI2 TAMSAYI1 TAMSAYI2den farklıdır\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " DOSYA1 -ef DOSYA2 DOSYA1 ve DOSYA2 aynı aygıtta ve aynı uzunluktadır\n" " DOSYA1 -nt DOSYA2 DOSYA1 DOSYA2den daha yenidir\n" " DOSYA1 -ot DOSYA2 DOSYA1 DOSYA2den daha eskidir\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b DOSYA DOSYA vardır ve blok özeldir\n" " -c DOSYA DOSYA vardır ve karakter özeldir\n" " -d DOSYA DOSYA vardır ve bir dizindir\n" " -e DOSYA DOSYA vardır\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f DOSYA DOSYA vardır ve normal bir dosyadır\n" " -g DOSYA DOSYA vardır ve grup-kimliÄŸi belirlidir\n" " -G DOSYA DOSYA vardır ve etkin grup kimliÄŸine aittir\n" " -h DOSYA DOSYA vardır ve sembolik baÄŸdır (-L ile aynı)\n" " -k DOSYA DOSYA vardır ve kalıcı biti ayarlıdır\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L DOSYA DOSYA vardır ve bir sembolik baÄŸdır\n" " -O DOSYA DOSYA vardır ve etkin kullanıcı kimliÄŸine aittir\n" " -p DOSYA DOSYA vardır ve bir isimli veri yoludur\n" " -r DOSYA DOSYA vardır ve okunabilirdir\n" " -s DOSYA DOSYA vardır ve uzunluÄŸu sıfırdan büyüktür\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S DOSYA DOSYA vardır ve bir sokettir\n" " -t [DB] dosya belirteci DB (öntanımlı:stdÇıktı) bir terminalde " "açıktır\n" " -u DOSYA DOSYA vardır ve kullanıcı-kimlik belirleme biti ayarlıdır\n" " -w DOSYA DOSYA vardır ve yazılabilirdir\n" " -x DOSYA DOSYA vardır ve çalıştırılma (veya arama) izni verilmiÅŸtir\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "-h ve -L haricinde bütün DOSYA ile ilgili testler sembolik baÄŸları izler.\n" "Parantezlerin kabukta öncelem (örn. tersbölü ile) gerektirdiÄŸini unutmayın.\n" "TAMSAYI yerine DİZGE uzunluÄŸuna karşılık olarak -l DİZGE kullanılabilir.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 #, fuzzy msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf ve Matthew Bradburn" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 #, fuzzy msgid "Matthew Bradburn" msgstr "Kevin Braunsdorf ve Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "`]' eksik\n" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "%s argümanı fazla" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Kullanımı: %s BİÇEM [ARGÜMAN]...\n" " veya: %s SEÇENEK\n" # #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Uzun seçenekler için zorunlu olan argümanlar kısa seçenekler için de " "zorunludur.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "%s'e yazarken hata" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "geçersiz tarih biçemi %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "`touch' %s yapılamadı" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "%s'in zamanları deÄŸiÅŸtiriliyor" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a yalnız eriÅŸim zamanını günceller\n" " -c, --no-create dosya oluÅŸturmaz\n" " -d, --date=DİZGİ DİZGİyi tarar ve ÅŸimdiki zaman yerine kullanır\n" " -f (yoksayılıyor)\n" " -m yalnız deÄŸiÅŸim tarihini günceller\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference her sembolik bağın kendisini etkiler, bağın " "imlediÄŸi\n" " dosyayı deÄŸil. (yalnızca sembolik baÄŸ sahibiyetini\n" " deÄŸiÅŸtirebilen sistemlerde bulunur.\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=DOSYA ÅŸimdiki zaman yerine bu DOSYAnın zaman damgalarını\n" " kullanır\n" " -t DAMGA ÅŸimdiki zaman yerine [[YY]YY]AAGGssdd[ss] deÄŸerini\n" " kullanır\n" " --time=SÖZCÜK SÖZCÜKle belirtilen zaman damgasını deÄŸiÅŸtirir:\n" " access (eriÅŸim) atime (eriÅŸim) use (kullanım, -a " "ile\n" " aynı) modify (deÄŸiÅŸim) mtime (deÄŸiÅŸim, -m ile " "aynı)\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Dikkat: -d ve -t seçenekleri farklı zaman/tarih biçemleri kabul ederler.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "zaman birden fazla kaynaktan belirtilemez" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "uyarı: `touch %s' artık kullanılmıyor; `touch -t %04ld%02d%02d%02d%02d." "%02d'\n" " kullanılmalı" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Kullanım: %s [SEÇENEK]... KÜME1 [KÜME2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Standart girdiden okuduÄŸu karakterleri çevirerek, sıkıştırarak ve/veya\n" "silerek standart çıktıya yazar\n" "\n" " -c, -C, --complement KUME1'in tümleyicisi\n" " -d, --delete KUME1'deki karakterleri siler, çeviri yapmaz\n" " -s, --squeeze-repeats aynı karakterden oluÅŸmus sırayi siler yerine \n" " o karakterden bir tane koyar\n" " -t, --truncate-set1 ilk önce KUME1'i, KUME2'nin boyuna eÅŸit olacak \n" " ÅŸekilde kısaltır\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "KUMEler burada karakter dizgeleri anlamındadır.\n" "anlamlı olan sıralamalar aÅŸağıdadır:\n" " \\NNN NNN (1-3 tane sekizlik basamak ) sekizlik deÄŸeri \n" " olan karakter\n" " \\\\ ters kesik\n" " \\a bip sesi\n" " \\b geri git\n" " \\f form ilerletme\n" " \\n yeni satır\n" " \\r satır başı\n" " \\t enine tab\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v boyuna tab\n" " KAR1-KAR2 büyükten küçüğe KAR1 den KAR2 ye kadarki tüm \n" " karakterler \n" " [KAR*] KUME2'de kullanılır:KUME1'in boyuna gelene kadar \n" " KAR'ın tekrarı\n" " [KAR*TEKRAR] KAR'ın TEKRAR kere tekrarı, TEKRAR 0 ile baÅŸlıyorsa\n" " sekizlik sayı olarak algılanır\n" " [:alnum:] tüm harf ve rakamlar\n" " [:alpha:] tüm harfler\n" " [:blank:] tüm enine boÅŸluklar\n" " [:cntrl:] tüm kontrol karakterleri\n" " [:digit:] tüm rakamlar\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] boÅŸluk hariç, tüm yazılabilir karakterler\n" " [:lower:] tüm küçük harfler\n" " [:print:] boÅŸluk dahil, tüm yazılabilir karakterler\n" " [:punct:] tüm noktalama isaretleri\n" " [:space:] tüm enine veya boyuna boÅŸluklar\n" " [:upper:] tüm büyük harfler\n" " [:xdigit:] tüm onaltılık sistem rakamları\n" " [=KAR=] KAR'a eÅŸ olan tüm karakterler\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "uyarı: net olmayan \\%c%c%c sekizlik ters kesik gösteririmi \n" "\t \\0%c%c,`%c' sırası olarak algılanıyor " #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "%s: uyarı: sembolik baÄŸa sabit baÄŸ oluÅŸturmak taşınabilirliÄŸi bozar" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "alan sınırları '%s-%s' ters sıralılar" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "'%s' de geçersiz [c*n] tekrar yapısı" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "`[:' ile `:]' arasında bir eÅŸitlik sınıfı belirtilmeli" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "`[=' ile `=]' arasında bir eÅŸitlik sınıfı belirtilmeli" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "geçersiz karakter sınıfı `%s'" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" "%s: eÅŸitlik sınıfı (equivalance class)operandı tek karakterden oluÅŸmalıdır" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "ayarlanmamış veya uymayan [:upper:] ve/veya [:lower:] ifadesi" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "kümede çok fazla karakter" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "[c*] tekrar yapısı KUME1'de bulunamaz" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "KUME2'de yalnızca bir [c*] tekrar yapısı olabilir" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "KUME2'de çeviri yaparken [=c=] ifadeleri yer alamaz" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "çeviri yaparken, KUME2'de kullanılabilecek karakter sınıfları:\n" " upper, lower" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "KUME1 kısaltılmıyorsa KUME2 boÅŸ olamaz" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "karakter sınıflarının tümleyicileri (küme tümleyen=set complement)\n" "kullanıldığında KUME2 sadece bir karakter kullanan ifadeler içerebilir" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*] ifadesi KUME2'de sadece çeviri yaparken kullanılabilir" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "tekrar edilen karakterler bire indirgeme ve silme beraber yapılılrken\n" " iki KUME verilmeli" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "çevrim için iki dizge verilmelidir." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "tekrar edilen karakterler bire indirgenMEden silme yapılıyorsa\n" "sadece bir dizge verilmeli." #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s İSİM\n" " veya: %s SEÇENEK\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Kullanım: %s [SEÇENEK]... DOSYA...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: dosya büyüklüğü negatif" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "günün zamanı belirlenemedi" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "%s dosya okunurken görece taÅŸması" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "%s dosya okunurken görece taÅŸması" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "birden fazla hedef dizin belirtilmiÅŸ" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "bayt, karakter ya da alan listesi belirtilmelidir" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s yazmak için açılamadı" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Kullanım: %s [SECENEK] [DOSYA] \n" "DOSYA'daki kısmi sıralamayı (kısmi sıralama=partial ordering, \n" "matematiksel bir terim) göz önüne alarak DOSYA'nın tam sıralı\n" "(tam sıralı = totally ordered, matematiksel terim) halini çıktıya yazar.\n" "(tsort = topological sort, topolojik sıralama)\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: girdide tek sayılı andaç var" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: girdide bir döngü (döngü=loop, Graph Teorideki anlamında) var" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Standart girdiye baÄŸlı terminalin dosya ismini gösterir.\n" "\n" " -s, --silent, --quiet hiçbir ÅŸey göstermez, sadece çıkış durumu ile " "döner\n" #: src/tty.c:120 msgid "not a tty" msgstr "bir tty deÄŸil" #: src/uname.c:124 #, fuzzy msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Sistem hakkında bazı bilgiler gösterir. SEÇENEKsiz -s ile aynıdır.\n" "\n" " -a, --all tüm bilgileri gösterir\n" " -m, --machine makina türünü (donanımı) gösterir\n" " -n, --nodename makinanın aÄŸ ismini gösterir\n" " -r, --release iÅŸletim sisteminin dağıtım numarasını gösterir\n" #: src/uname.c:133 #, fuzzy msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version çekirdek sürümünü gösterir\n" " -p, --processor makinanın iÅŸlemci türünü gösterir\n" " -i, --hardware-platform makinanın donanım türünü gösterir\n" " -o, --operating-system iÅŸletim sistemi türünü gösterir\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "sistem ismi alınamadı" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "DOSYA'daki boÅŸlukları sekmeye çevirir ve standard çıktıya yazar.\n" "DOSYA belirtilmediÄŸinde veya - olduÄŸunda standard girdiden okur.\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all tüm boÅŸlukları dikkate alır, yalnızca baÅŸtaki " "boÅŸlukları\n" " deÄŸil\n" " --first-only yalnızca baÅŸtaki boÅŸlukları çevirir\n" " (-a'yı etkisizleÅŸtirir)\n" " -t, --tabs=SAYI sekme geniÅŸliÄŸini 8 deÄŸil SAYI olarak alır (-a'yı \n" " etkinleÅŸtirir)\n" " -t, --tabs=LİSTE virgüllerle ayrılmış sekme pozisyonları LİSTEsini\n" " kullanır (-a'yı etkinleÅŸtirir)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "sekmeler fazla aralı" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "sekme boyu %s çok büyük" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Kullanım: %s [SEÇENEK]... [GİRDİ [ÇIKTI]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count her satır başına tekrar sayısını yazar\n" " -d, --repeated sadece aynısından iki tane olan satırları gösterir\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D --all-repeated[=delimit-method] sadece birden fazla olan satırları " "yazar\n" " delimit-method ÅŸu deÄŸerleri alabilir:\n" " none: satırları ayırmaz \n" " (delimit-method belirtilmediÄŸinde none \n" " kullanılır)\n" " prepend: her satır grubunun başına boÅŸluk koyar\n" " separate: satır gruplarının arasına boÅŸluk koyar\n" " -f, --skip-fields=N ilk N alanı karşılaÅŸtırmaz\n" " -i, --ignore-case büyük/küçük harf farklılıklarını dikkate almaz\n" " -s, --skip-chars=N ilk N karakteri karşılaÅŸtırmaz\n" " -u, --unique sadece özgün satırları karşılaÅŸtır\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N her satırda N'den fazla karakter karşılaÅŸtırmaz\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Aralıksız devam eden boÅŸluklara alan denir\n" "-s ve -f seçenekleri kullanıldığında alanlar karakterlerden önce atlanır.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "çok fazla tekrar eden satır" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "atlanacak alan sayısı geçersiz" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "atlanacak bayt sayısı geçersiz" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "karşılaÅŸtırılacak bayt sayısı geçersiz" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "hem aynı olan satırların yazılmasına izin vermek hem de aynı\n" " olan satırların sayısını yazdırmak anlamsız" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Kullanım: %s DOSYA\n" " veya: %s SEÇENEK\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Belirtilen DOSYA'yı silmek için 'unlink' (baÄŸ çöz) iÅŸlevini çağırın.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "%s bağı çözülemedi" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "sistemin baÅŸlama zamanı alınamadı" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? yukarı " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? gün ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "Åžu an %2d:%02d%s, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu kullanıcı" msgstr[1] "%lu kullanıcı" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr " çalışıyor, yük ortalaması: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Åžimdiki zamanı, sistemin çalışır durumda olduÄŸu süreyi, sistemdeki " "kullanıcı\n" "sayısını, ve son 1, 5 ve 15 dakika içerisinde kuyruktaki ortalama iÅŸ\n" "sayısını gösterir.\n" "DOSYA belirtilmezse %s kullanılır. Dosya olarak %s kullanımı yaygındır.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "DOSYAya göre çalışmakta olan kullanıcıları gösterir.\n" "DOSYA verilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "DOSYAya göre çalışmakta olan kullanıcıları gösterir.\n" "DOSYA verilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Her DOSYA için satır, kelime ve bayt sayılarını, ve birden fazla DOSYA \n" "verilmiÅŸse toplam deÄŸerlerini yazar. EÄŸer hiç DOSYA ismi verilmemiÅŸ veya \n" "DOSYA - ise standart girdiden okur.\n" " -c, --bytes bayt sayısını yazar\n" " -m, --chars karakter sayısını yazar\n" " -l, --lines satır sayısını (\\n sayısı) yazar\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " eski " #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "kimlik=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "terminal=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "çıkış=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "saat deÄŸiÅŸikliÄŸi" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "açılış-seviyesi" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "son=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "kullanıcı sayısı: %lu\n" #: src/who.c:559 msgid "NAME" msgstr "İSİM" #: src/who.c:559 msgid "LINE" msgstr "HAT" #: src/who.c:559 msgid "TIME" msgstr "SAAT" #: src/who.c:559 msgid "IDLE" msgstr "ATIL " #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "AÇIKLAMA" #: src/who.c:560 msgid "EXIT" msgstr "ÇIKIÅž" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Kullanımı: %s [SEÇENEK]... [ DOSYA | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all -b -d --login -p -r -t -T -u ile aynı\n" " -b, --boot son sistem açılış zamanı\n" " -d, --dead ölü iÅŸlemleri yazdırır\n" " -H, --heading sütun baÅŸlığı satırı yazdırır\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup makina isimlerini DNS üzerinden IP ile eÅŸleÅŸtirmeye " "çalışır\n" " -m stdGirdi'deki kullanıcı ve makina ismini gösterir\n" " -p, --process init tarafından baÅŸlatılan aktif iÅŸlemleri listeler\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count tüm çalışan kullanıcı isimlerini ve sayısını gösterir\n" " -r, --runlevel ÅŸimdiki açılış seviyesini gösterir\n" " -s, --short yalnız isim, satır ve zamanı gösterir (öntanımlı)\n" " -t, --time son sistem saat deÄŸiÅŸikliÄŸini gösterir\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg kullanıcının ileti durumunu +, - veya ? olarak gösterir\n" " -u, --users sistemde olan kullanıcıları listeler\n" " --message -T ile aynı\n" " --writable -T ile aynı\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "DOSYA belirtilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır.\n" "ARG1 ARG2 verilmiÅŸse, -m varsayılır: `who am i' (ben kimim) ya da\n" "`who mom likes' (annem kimi sever) gibi kullanımlar mümkündür.\n" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Geçerli olan etkin kullanıcı kimliÄŸine karşılık gelen ismi yazar.\n" "`id -un' ile aynıdır.\n" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%u kullanıcı kimliÄŸinin ismi bulunamıyor" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s [DİZGE]...\n" " veya: %s SEÇENEK\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "BelirtilmiÅŸse DİZGE(ler)den, yoksa `y'den oluÅŸan satırları sürekli üretir.\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "`%s' dosyası oluÅŸturuluyor\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Kullanım: %s [SEÇENEK] İSİM...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: -a seçeneÄŸine verilen arguman geçersiz" #~ msgid "reading %s" #~ msgstr "%s okunuyor" #~ msgid "writing %s" #~ msgstr "%s yazılıyor" #~ msgid "closing %s" #~ msgstr "%s kapatılıyor " #~ msgid "accessing %s" #~ msgstr "%s'e eriÅŸiliyor" #~ msgid "opening %s" #~ msgstr "%s açılıyor" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s İSİM\n" #~ " veya: %s SEÇENEK\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off hiç yedekleme yapma (--backup kullanılsa bile)\n" #~ " numbered, t numaralanmış yedekleme yap\n" #~ " existing, nil eÄŸer numaralanmış yedekler var ise numaralanmış, yoksa " #~ "basit\n" #~ " simple, never her zaman basit yedekleme yap\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "--allow-missing seçeneÄŸi kaldırılacaktır; yerine --retry kullanın" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Uzun seçenekler için zorunlu argümanlar kısa seçenekler için de " #~ "zorunludur.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX yerine sayı sistemini belirtmek için bir harf yazılır:\n" #~ "onluk sistem için d, sekizlik sistem için o, 16lik sistem için x ve " #~ "hiçbiri\n" #~ "için n. BAYT'ın başına 0x veya 0X koyarak bu sayının 16lik sistemde \n" #~ "olduÄŸunu belirtebilirsiniz. Sonuna b koyarsanız 512 ile, k koyarsanız\n" #~ "1024 ile, m koyarsanız 1048576 ile çarpılmasını istediÄŸinizi belirtmis\n" #~ "olursunuz. Herhangi bir ÅŸekilin sonuna ( ÅŸekiller: a,c,d,f,o,u,x) z\n" #~ "eklerseniz od her satırın sonuna o satırdaki tüm okunabilir karakterleri\n" #~ "yazar." #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string in ardından bir sayı belirtilmemiÅŸse 3 belirtilmiÅŸ gibi kabul\n" #~ "eder. --width in ardından bir sayı belirtilmemiÅŸse 32 belirtilmiÅŸ kabul " #~ "eder.\n" #~ "Aksi belirtilmedikçe od -A o -t d2 -w 16 seçeneklerini kullanır\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #~ msgid "Password:" #~ msgstr "Parola:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: dev/tty açılamıyor" #~ msgid "cannot set groups" #~ msgstr "gruplar atanamıyor" #~ msgid "cannot set group id" #~ msgstr "grup kimliÄŸi atanamıyor" #~ msgid "cannot set user id" #~ msgstr "kullanıcı kimliÄŸi atanamıyor" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [-] [KULLANICI [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Etkin kullanıcı ve grup kimliklerini KULLANICI olarak deÄŸiÅŸtirir.\n" #~ "\n" #~ " -, -l, --login kabuÄŸu bir giriÅŸ kabuÄŸu yapar\n" #~ " -c, --command=KOMUT -c ile kabukta tek bir KOMUT çalıştırır\n" #~ " -f, --fast kabuÄŸu -f ile çalıştırır (csh veya tcsh " #~ "için)\n" #~ " -m, --preserve-environment çevre deÄŸiÅŸkenlerini sıfırlamaz\n" #~ " -p -m ile aynı\n" #~ " -s, --shell=KABUK /etc/shells dosyasında varsa KABUÄžU " #~ "çalıştırır\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Sadece - ile -l uygulanır. KULLANICI verilmezse root varsayılır.\n" #~ msgid "user %s does not exist" #~ msgstr "%s diye bir kullanıcı yok" #~ msgid "incorrect password" #~ msgstr "parola yanlış" #~ msgid "using restricted shell %s" #~ msgstr "kısıtlı kabuk %s kullanılıyor" #~ msgid "warning: cannot change directory to %s" #~ msgstr "uyarı: %s dizinine geçilemiyor" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Her DOSYA'nın grup üyeliÄŸini GRUP olarak deÄŸiÅŸtirir.\n" #~ "--reference ile, her DOSYA'nın grup üyeliÄŸini RDOSYA'nınkine deÄŸiÅŸtirir.\n" #~ "\n" #~ " -c, --changes verbose seçeneÄŸi gibi fakat yalnızca bir " #~ "deÄŸiÅŸiklik\n" #~ " olduÄŸu zaman bilgi verir.\n" #~ " --dereference her sembolik bağın imlediÄŸi dosyayı deÄŸiÅŸtirir,\n" #~ " sembolik bağı deÄŸil (öntanımlı).\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel iÅŸlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel iÅŸlem yapma\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet çoÄŸu hata iletisini bastırır.\n" #~ " --reference=RDOSYA RDOSYA'nın grup deÄŸerini kullanır, GRUP " #~ "deÄŸerini\n" #~ " deÄŸil.\n" #~ " -R, --recursive dizin ve dosyalar üzerinde çevrimli iÅŸlem " #~ "yapar.\n" #~ " -v, --verbose iÅŸlenen her dosya için bir durum iletisi " #~ "gösterir.\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Her DOSYA'nın kipini KİP olarak deÄŸiÅŸtirir.\n" #~ "\n" #~ " -c, --changes verbose gibi, fakat yalnızca deÄŸiÅŸiklikleri " #~ "bildirir\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet çoÄŸu hata mesajını bastırır\n" #~ " -v, --verbose iÅŸlenen her dosya için bir durum belirtir\n" #~ " --reference=REFDOSYA belirtilen KİP deÄŸerini deÄŸil,\n" #~ " REFDOSYA'nın kipini kullanır\n" #~ " -R, --recursive Yinelemeli olarak dosya ve dizinleri iÅŸler\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Her DOSYA'nın sahibi ve/veya grubunu SAHİP ve/veya GRUP olarak " #~ "deÄŸiÅŸtirir.\n" #~ "--reference ile, her DOSYA'nın sahibini ve grup üyeliÄŸini RDOSYA'nınkine\n" #~ "deÄŸiÅŸtirir.\n" #~ "\n" #~ " -c, --changes verbose seçeneÄŸi gibi fakat yalnızca bir " #~ "deÄŸiÅŸiklik\n" #~ " olduÄŸu zaman bilgi verir.\n" #~ " --dereference her sembolik bağın imlediÄŸi dosyayı deÄŸiÅŸtirir,\n" #~ " sembolik bağı deÄŸil (öntanımlı).\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet çoÄŸu hata iletisini bastırır.\n" #~ " --reference=RDOSYA RDOSYA'nın sahip ve grup deÄŸerini kullanır, " #~ "belirtilen\n" #~ " SAHİP:GRUP deÄŸerlerini deÄŸil\n" #~ " -R, --recursive dizin ve dosyalar üzerinde çevrimli iÅŸlem " #~ "yapar.\n" #~ " -v, --verbose iÅŸlenen her dosya için bir durum iletisi " #~ "gösterir.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Verilen BİÇEMde zamanı gösterir, ya da sistem zamanını deÄŸiÅŸtirir.\n" #~ "\n" #~ " -d, --date=DİZGE DIZGE ile tanımlanan zamanı gösterir, ÅŸimdiki " #~ "zamanı\n" #~ " deÄŸil\n" #~ " -f, --file=DOSYA DOSYAnın her satırı için --date uygulanır\n" #~ " --iso-8601[=BİRİM] ISO-8601 uyumlu tarih/zaman dizgesi gösterir.\n" #~ " BİRİM=`date' sadece tarihi (öntanımlı),\n" #~ " `hours', `minutes', `seconds' veya `ns' ile " #~ "tarih ve\n" #~ " zaman 'saat', 'dakika', 'saniye' veya " #~ "nanosaniye\n" #~ " hassasiyetinde gösterilir.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "BOY aÅŸağıdakilerin biri (veya aÅŸağıdakilerin biri ile sonlanan bir " #~ "tamsayı)\n" #~ "olabilir:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, ve G, T, P, E, Z, Y için " #~ "diÄŸerleri.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: kuraldışı seçenek -- %c\n" #~ msgid "block size" #~ msgstr "blok uzunluÄŸu" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "%s'in sahibi ve/veya grubu deÄŸiÅŸtirilemiyor" #~ msgid "cannot chdir to directory %s" #~ msgstr "%s dizinine geçilemedi" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: çalışma dizinine geri dönülemedi" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "bir sayısal kullanıcı-kimliÄŸin grubu alınamıyor" # #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Bu bir serbest yazılımdır; kopyalama koÅŸulları için kaynak koduna " #~ "bakınız.\n" #~ "Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA\n" #~ "UYGUNLUÄžU için bile garanti verilmez.\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Kullanım: %s [SEÇENEK] [DOSYA]...\n" # #~ msgid "closing standard output" #~ msgstr "standart çıktı kapatılıyor" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel iÅŸlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel iÅŸlem yapma\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Her KİP ugoa harflerinden biri veya bir kaçından, +-= sembollerinden " #~ "birinden\n" #~ "ve rwxXstugo harflerinden biri veya bir kaçından oluÅŸur.\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "%s dizininin üzerine yazılamaz" #~ msgid "cannot create link %s" #~ msgstr "%s bağı oluÅŸturulamadı" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Yedekleme soneki eÄŸer --suffix veya SIMPLE_BACKUP_SUFFIX ile " #~ "belirtilmemiÅŸ ise\n" #~ " '~'dir. Yedekleme kontrol metodu --backup seçeneÄŸi ile veya \n" #~ "VERSION_CONTROL çevre deÄŸiÅŸkeninden belirlenebilir. Geçerli deÄŸerler:\n" #~ "\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "uyarı: --version-control (-V) artık kullanılmıyor; ileride \n" #~ "bunun desteÄŸi kaldırılacak. --backup=%s seçeneÄŸini kullanın" #~ msgid "symbolic links are not supported on this system" #~ msgstr "bu sistemde sembolik baÄŸlar desteklenmiyor" #~ msgid "invalid format precision" #~ msgstr "geçersiz biçem kesinliÄŸi" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F %Y-%m-%d ile aynı\n" #~ " %g %V hafta sayısıyla eÅŸleÅŸen 2 basamaklı yıl\n" #~ " %G %V hafta sayısıyla eÅŸleÅŸen 4 basamaklı yıl\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822 tarzı nümerik zaman dilimi (-0500) (standart dışı " #~ "eklenti)\n" #~ " %Z zaman dilimi (örn. EEST), veya eÄŸer zaman dilimi " #~ "belirlenebiliyorsa, hiç bir ÅŸey\n" #~ "\n" #~ "Öntanımlı olarak `date', nümerik alanları sıfırla yastıklar. GNU date `%' " #~ "ile nümerik\n" #~ "yönergeler arasında aÅŸağıdaki belirteçleri kabul eder.\n" #~ "\n" #~ " `-' (tire) alanı yastıklamaz\n" #~ " `_' (alt tire) alanı boÅŸlukla yastıklar\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "--rfc-822 (-R) seçeneÄŸi ile birlikte bir biçem dizgisi belirtilemez" #~ msgid "undefined" #~ msgstr "atanmamış" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s kayıt girdi\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s kayıt çıktı\n" #~ msgid "truncated records" #~ msgstr "budanmış kayıtlar" #~ msgid "unrecognized operand %s=%s" #~ msgstr "geçersiz iÅŸleyen %s=%s" #~ msgid "file offset out of range" #~ msgstr "dosya göreli konumu aralık dışı" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "UYARI: -H yerine -si seçeneÄŸini kullanın; -H seçeneÄŸinin anlamı yakında\n" #~ "--dereference-args (-D) ile aynı hale gelecektir" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [DİZGE]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "-e kullanıldığı zaman, aÅŸağıdaki kaçışlar tanınır ve kullanılır:\n" #~ "\n" #~ " \\0NNN ASCII kodu NNN (8lik) olan karakter\n" #~ " \\\\ ters kesme\n" #~ " \\a zil (BEL)\n" #~ " \\b geri silme\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-LİSTE' seçeneÄŸi eski; yerine `-t LİSTE' kullanın" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "uyarı: taşınamaz düzgün ifade: `%s':`^' ile baÅŸlayan temel düzenli\n" #~ "ifadeler taşınamadığından`^' yoksayılıyor." #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Her SAYInın asal çarpanlarını gösterir\n" #~ "\n" #~ msgid "`%s' is too large" #~ msgstr "`%s' çok büyük" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [yoksayılan komut satırı argümanları]\n" #~ " veya: %s SEÇENEK\n" #~ "Saptanan bozukluk ile ilgili durum kodunu göstererek çıkar.\n" #~ "\n" #~ "Bu seçenek isimleri kısaltılmış olarak kullanılamaz.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s' seçeneÄŸi eski: yerine `%s' kullanın" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N, bir katsayı soneki içerebilir: 512 için b, 1024 için k, 1024*1024 için " #~ "m.\n" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: bayt sayısı büyük" #~ msgid "unrecognized option `-%c'" #~ msgstr "bilinmeyen seçenek `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s' seçeneÄŸi eski; yerine `-%c %.*s%.*s%s' kullanın" #~ msgid "cannot print only user and only group" #~ msgstr "sadece kullanıcı ya da sadece grup gösterilemez" #~ msgid "cannot get supplemental group list" #~ msgstr "ek grup listesi alınamadı" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "%s için zaman damgaları alınamadı" #~ msgid "strip failed" #~ msgstr "strip baÅŸarısız" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v DOSYANUM -a DOSYANUM gibi, fakat birleÅŸtirilmiÅŸ satırları " #~ "göstermez\n" #~ " -1 ALAN DOSYA1'in bu ALAN'ını kullanarak birleÅŸtirir\n" #~ " -2 ALAN DOSYA2'nin bu ALAN'ını kullanarak birleÅŸtirir \n" #~ msgid "value %s is so large that it is not representable" #~ msgstr "%s deÄŸeri gösterilemeyece kadar büyük" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "dosya 1 icin geçersiz alan numarası : `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "dosya 2 için geçersiz alan numarası: `%s'" #~ msgid "create symbolic link %s to %s" #~ msgstr "%s -> %s sembolik bağı oluÅŸtur" #~ msgid "create hard link %s to %s" #~ msgstr "%s -> %s sabit bağı oluÅŸtur" #~ msgid "creating symbolic link %s to %s" #~ msgstr "Sembolik baÄŸ %s %s'e baÄŸlanıyor" #~ msgid "creating hard link %s to %s" #~ msgstr "Sabit baÄŸ %s %s'e baÄŸlanıyor" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ "\n" #~ "Öntanımlı olarak dosya tipleri renkle ayırdedilmezler. Bu, --color=none \n" #~ "seçeneÄŸine eÅŸittir. --color seçeneÄŸini NEZAMAN seçeneÄŸini belirtmeden " #~ "kullanmak\n" #~ "her zaman kullanılacağı manasına --color=always deÄŸerine eÅŸittir. --" #~ "color=auto\n" #~ "seçeneÄŸi ile eÄŸer standart çıktı bir terminale (tty) baÄŸlı ise renk " #~ "ayırdetmesi\n" #~ "kullanılır.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Çıkış durumu, her ÅŸey normal ise 0, ufak problemler var ise 1, önemli\n" #~ "problemler var ise 2 olur.\n" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary dosyaları binary (ikilik) olarak okur(DOS/" #~ "Windows üzerinde\n" #~ " md5sum otomatik olarak bu seçeneÄŸi çalıştırır)\n" #~ " -c, --check %s toplamlarını verilen liste ile " #~ "karşılaÅŸtırır\n" #~ " -t, --text dosyaları metin (text) olarak okur (md5sum -b\n" #~ " belirtilmedikçe otomatik olarak bu seçeneÄŸi\n" #~ " çalıştırır)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "--check seçeneÄŸi kullanılırken sadece bir iÅŸleyen verilebilir" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Kullanım: %s [SEÇENEK] DİZİN...\n" #~ msgid "cannot set permissions of directory %s" #~ msgstr "%s dizininin izinleri deÄŸiÅŸtirilemedi" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "'%s' fifosunun izinleri deÄŸiÅŸtirilemedi" #~ msgid "cannot set permissions of %s" #~ msgstr "'%s'nın izinleri belirtilemedi" #~ msgid "cannot get priority" #~ msgstr "öncelik alınamadı" #~ msgid "cannot set priority" #~ msgstr "öncelik ayarlanamadı" #~ msgid "skip argument" #~ msgstr "atlanacak bayt sayısı olarak verilen deÄŸer hatalı (-j nin argümanı)" #~ msgid "limit argument" #~ msgstr "" #~ "maksimum okunacak bayt sayısı olarak verilen deÄŸer hatalı (-N nin " #~ "argümanı)" #~ msgid "minimum string length" #~ msgstr "minimum dizge uzunluÄŸu olarak verilen deÄŸer hatalı (-s in argümanı)" #~ msgid "width specification" #~ msgstr "geniÅŸlik olarak verilen deÄŸer hatalı (-w nun argümanı)" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: bçm=\"%s\" geniÅŸlik=%d\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Dosya İSİMlerinin geçerliliÄŸini ve taşınabilirliÄŸini denetler.\n" #~ "\n" #~ " -p, --portability yalnız bu sistem için deÄŸil tüm POSIX\n" #~ " sistemler için denetler\n" #~ msgid "Page range `%s'" #~ msgstr "Dosya aralığı `%s'" #~ msgid "column count too large" #~ msgstr "sütun sayısı fazla büyük" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=SÜTUN' geçersiz sütun sayısı: `%s'" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SDIZI, --sep-string[=DIZI]\n" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "pr -l nn seçeneÄŸi nn 11 den küçükse -T seçeneÄŸi de verilmiÅŸ gibi kabul " #~ "eder\n" #~ "nn üçten küçükse ve -F de verilmiÅŸse -T gene verilmiÅŸ kabul edilir. " #~ "DOSYA \n" #~ "belirtilmediÄŸinde veya - olduÄŸunda standart girdiden okur\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a uyarı zili (BEL)\n" #~ " \\b bir önceki karakteri siler\n" #~ " \\c alt satıra geçme karakterini engeller\n" #~ " \\f sayfa sonuna kadar imleci ilerletir\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n alt satıra geçer\n" #~ " \\r imleci satır başına taşır\n" #~ " \\t imleci yatay sekme kadar ilerletir\n" #~ " \\v imleci düşey sekme kadar ilerletir\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Bu, bir serbest yazılımdır; Free Software Foundation tarafından " #~ "yayınlanan\n" #~ "GNU Genel Kamu Lisansı, 2. sürüm (veya sizin seçiminize baÄŸlı olarak) " #~ "daha üst \n" #~ "sürüm koÅŸulları altında deÄŸiÅŸiklik yapabilir ve/veya yeniden " #~ "dağıtabilirsiniz. \n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Bu program kullanışlı olabileceÄŸi umularak dağıtılmaktadır. Ancak,\n" #~ "hiçbir GARANTİSİ YOKTUR; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR\n" #~ "AMACA UYGUNLUÄžU için bile garanti verilmez. Daha ayrıntılı bilgi\n" #~ "edinmek için GNU Genel Kamu Lisansına bakınız.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "GNU Genel Kamu Lisansının bir kopyasını bu yazılımla birlikte almış\n" #~ "olacaksınız; yoksa Free Software Foundation, Inc., 59 Temple Place\n" #~ "Suite 330, Boston, MA 02111-1307, USA. adresinden isteyebilirsiniz.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "%s dizininden ..'ye geçilemedi" #~ msgid "cannot lstat `.' in %s" #~ msgstr "%s'de '.' durumlanamadı" #~ msgid "%s changed dev/ino" #~ msgstr "%s dev/ino'yu deÄŸiÅŸtirdi" #~ msgid "cannot lstat %s" #~ msgstr "%s durumlanamadı" #~ msgid "cannot chdir from %s to %s" #~ msgstr "%s dizininden %s dizinine geçilemedi" #~ msgid "cannot remove `.' or `..'" #~ msgstr "'.' veya '..' silinemiyor" #~ msgid "cannot restore current working directory" #~ msgstr "çalışılan dizine geri dönülemedi" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "DOSYA(lar)ı siler (baÄŸlarını kaldırır).\n" #~ "\n" #~ " -d, --directory DOSYA, boÅŸ olmayan bir dizin olsa bile bağını " #~ "kaldırır\n" #~ " (yalnızca süper kullanıcı; bu, yalnızca " #~ "sisteminiz\n" #~ " boÅŸ olmayan dizinler için `unlink' " #~ "destekliyorsa\n" #~ " çalışır)\n" #~ " -f, --force mevcut olmayan dosyaları yok varsayar, hiç " #~ "sormaz\n" #~ " -i, --interactive silmeden önce sorar\n" #~ msgid "invalid format string: `%s'" #~ msgstr "biçem dizgesi geçersiz: `%s'" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Kullanım: %s [SEÇENEK] DOSYA [...]\n" #~ msgid "sort size" #~ msgstr "sıralama boyu" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "SAYI, bir katsayı soneki içerebilir: 512 için b, 1K için k, 1 Meg için " #~ "m.\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "`-%s' seçeneÄŸi eski; yerine `-l %s' kullanın" #~ msgid "invalid number of lines: 0" #~ msgstr "geçersiz satır sayısı: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Kullanım: %s [SEÇENEK] DOSYA...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Dosya veya dosya sistemi durumunu gösterir.\n" #~ "\n" #~ " -f, --filesystem dosya durumu yerine dosya sistemi durumunu " #~ "gösterir\n" #~ " -c --format=BİÇEM öntanımlı biçem yerine belirtilen BİÇEM'i " #~ "kullanır\n" #~ " -L, --dereference baÄŸları takip eder\n" #~ " -t, --terse bilgileri kısa biçemde gösterir\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Uyarı: `-l' sonraki sürümlerde kaldırılacaktır; `-L' kullanın" #~ msgid "new_mode: mode\n" #~ msgstr "yeni_kip: kip\n" #~ msgid "stdin: read error" #~ msgstr "standart girdi: okuma hatası" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry belirtilen dosya tail baÅŸlatıldığında " #~ "ulaşılamaz\n" #~ " ise veya daha sonra ulaşılamaz hale " #~ "geldiÄŸinde\n" #~ " dosya tekrar okunabilir olana kadar yeniden " #~ "dener\n" #~ " özellikle isim kullanıldığı zaman faydalıdır,\n" #~ " örneÄŸin --follow=İSİM seçeneÄŸi ile birlikte.\n" #~ " -c, --bytes=SAYI son SAYI baytı gösterir\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "--follow (-f) seçeneÄŸinde [=name] belirtilmedikçe, dosya descriptor'ını\n" #~ "kullanarak dosyayı izler. Böylelikle dosyanın ismi deÄŸiÅŸse bile \n" #~ "dosyayı izlemeye devam eder. " #~ msgid "`%s' option is obsolete; use `%s-%c %<PRIuMAX>'" #~ msgstr "`%s' seçeneÄŸi eski: yerine `%s -%c %<PRIuMAX>' kullanın" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: tamsayı ifade beklendi\n" #~ msgid "before -lt" #~ msgstr "-lt öncesinde" #~ msgid "after -lt" #~ msgstr "-lt sonrasında" #~ msgid "before -le" #~ msgstr "-le öncesinde" #~ msgid "after -le" #~ msgstr "-le sonrasında" #~ msgid "before -gt" #~ msgstr "-gt öncesinde" #~ msgid "after -gt" #~ msgstr "-gt sonrasında" #~ msgid "before -ge" #~ msgstr "-ge öncesinde" #~ msgid "after -ge" #~ msgstr "-ge sonrasında" #~ msgid "before -ne" #~ msgstr "-ne öncesinde" #~ msgid "after -ne" #~ msgstr "-ne sonrasında" #~ msgid "before -eq" #~ msgstr "-eq öncesinde" #~ msgid "after -eq" #~ msgstr "-eq sonrasında" #~ msgid "after -t" #~ msgstr "-t sonrasında" #~ msgid "creating %s" #~ msgstr "%s oluÅŸturuluyor" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'nın eriÅŸim ve deÄŸiÅŸim zamanlarını ÅŸimdiki zamana günceller.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Çeviri,-d seçeneÄŸi kullanılmadığında ve KUME1 ve KUME2 nin her ikisi de\n" #~ "verildiÄŸinde gerçekleÅŸir.-t sadece çeviri yaparken kullanılabilir.\n" #~ "KUME2 gerektiÄŸinde son karakteri tekrar edilerek KUME1 ile aynı " #~ "uzunluÄŸa\n" #~ "getirilir." #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "SET2'deki gereÄŸinden fazla karakterler dikkate alınmaz. Çeviri " #~ "yapılılırken\n" #~ "KUME2 de kullanılan karakter sınıflarından sadece [:lower:] ve [:upper:]\n" #~ "kesin olarak büyükten küçüğe açılırlar, bu ikisi beraberce sadece büyük\n" #~ "harf küçük harf deÄŸisimi yapılılrken kullanılabilir. -s sadece KUME1'i\n" #~ "kullanır." #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s sadece çeviri veya sıkıştırmayla beraber çalışıyorsa\n" #~ "KUME2 yi kullanır ve çeviri veya sıkıştırma bittikten sonra devreye " #~ "girer.\n" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [argümanlar yoksayılır]\n" #~ " veya: %s SEÇENEK\n" #~ "BaÅŸarılı durum kodu ile çıkar.\n" #~ "\n" #~ "Bu seçenek isimleri kısaltılamaz.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "`-LISTE' seçeneÄŸi eski; yerine `--first-only -t LISTE' kullanın" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "GIRDI'deki (veya standart girdi) arka arkaya gelen aynı satırlardan\n" #~ "sadece ilkini CIKTI'ya (veya standart çıktı) yazar\n" #~ "\n" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' seçeneÄŸi eski; yerine `-f %lu' kullanın" #~ msgid "am" #~ msgstr "öö" #~ msgid "pm" #~ msgstr "ös" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld gün" #~ msgstr[1] "%ld gün" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [ DOSYA ]\n" #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length en uzun satırın uzunluÄŸunu yazar\n" #~ " -w, --words kelime sayısını yazar\n" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle atıl zamanı SAAT:DAKİKA, . veya eski olarak\n" #~ " ekler (kullanımdan kalkacak, -u kullanın)\n" #~ " -l, --login sisteme giriÅŸ iÅŸlemlerini yazdırır\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Uyarı: -i sonraki sürümlerde kaldırılacaktır; -u kullanın" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: kullanıcı-kimlik %lu için kullanıcı ismi bulunamadı\n" #~ msgid "too few arguments" #~ msgstr "argüman sayısı yetersiz" #~ msgid "cannot change to null group" #~ msgstr "boÅŸ gruba deÄŸiÅŸilemez" #~ msgid "group number" #~ msgstr "grup sayısı" #~ msgid "invalid group number %s" #~ msgstr "geçersiz grup sayısı %s" #~ msgid "invalid mode string: %s" #~ msgstr "geçersiz kip dizgesi: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: belirtilen hedef dizin yok" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: belirtilen hedef bir dizin deÄŸil" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "birden çok dosya kopyalanıyor fakat son argüman %s bir dizin deÄŸil" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "çok sayıda seçenek olmayan argüman var: %s%s" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\t{ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock,sync} \n" #~ "seçenek kümelerinden her birinden birer tane kullanılabilir" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolors'un içsel veritabanını listelemek seçeneÄŸi ile \n" #~ "beraber DOSYA argümanı kullanılamaz" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "DİZGE(ler)i standart çıktıya yansılar.\n" #~ "\n" #~ " -n sonuna yenisatır eklemez\n" #~ " -e aÅŸağıda belirtilen ters kesme kaçışlı karakterleri " #~ "yorumlar\n" #~ " -E DİZGE'lerde bu karakterlerin yorumlamasını durdurur\n" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "birden çok dosya kuruluyor fakat son argüman %s bir dizin deÄŸil" #~ msgid "%s is a directory" #~ msgstr "%s bir dizin" #~ msgid "too many non-option arguments" #~ msgstr "çok sayıda `seçenek olmayan' argüman var" #~ msgid "too few non-option arguments" #~ msgstr "çok az `seçenek olmayan' argüman var" #~ msgid "%s: File exists" #~ msgstr "%s: Dosya mevcut" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... HEDEF [BAÄž_ADI]\n" #~ " veya: %s [SEÇENEK]... HEDEF... DİZİN\n" #~ " veya: %s [SEÇENEK]... --target-directory=HEDEF DİZİN...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "birden fazla baÄŸ yaratırken son argüman bir dizin olmalı" #~ msgid "User name too long" #~ msgstr "Kullanıcı adı fazla uzun" #~ msgid "file" #~ msgstr "dosya" #~ msgid "files" #~ msgstr "dosyalar" #~ msgid "checksum" #~ msgstr "saÄŸlama toplamı" #~ msgid "checksums" #~ msgstr "saÄŸlama toplamları" #~ msgid "no files may be specified when using --string" #~ msgstr "--string seçeneÄŸi kullanılırken dosya adı belirtilemez" #~ msgid "wrong number of arguments" #~ msgstr "argüman sayısı hatalı" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "fifo dosyaları için majör ve minör aygıt numaraları belirtilemez" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "birden fazla dosya taşınırken son argüman dizin olmalıdır" #~ msgid "invalid option `%s'" #~ msgstr "`%s' seçeneÄŸi geçersiz" #~ msgid "invalid priority `%s'" #~ msgstr "öncelik olarak `%s' geçersiz" #~ msgid "old-style offset" #~ msgstr "eski tarz göreli konum" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "`%s' eski kullanımda fazladan belirtilmiÅŸ ikinci dosya" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "eski kullanımda son iki argüman göreli konum olmalı" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "`%s' dosya yolu `%c' taşınamayan karakterini içeriyor" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' bir dizin deÄŸil" #~ msgid "directory `%s' is not searchable" #~ msgstr "`%s' dizine eriÅŸilemiyor" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "`%s' ismi, %ld uzunluÄŸunda ve %ld karakterlik sınırdan uzun" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "`%s' yolu, %lu uzunluÄŸunda ve %ld sınırını geçiyor" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' geçersiz sayfa numara aralığı: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' geçersiz baÅŸlangıç sayfa numarası: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' geçersiz son sayfa numarası: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' baÅŸlangıç sayfa numarası son sayfa numarasından daha büyük" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "baÅŸlangıç sayfa sayısı toplam sayfa sayısından daha büyük: `%d'" #~ msgid "Page %d" #~ msgstr "Sayfa %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Kullanımı: %s BİÇEM [ARGÜMAN...]\n" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: eski kullanım ÅŸeklindeki seçenekte geçersiz ek" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "gereÄŸinden fazla argüman; eski kullanım ÅŸeklindeki seçenekle (%s) " #~ "beraber\n" #~ "sadece bir dosya ismi verilebilir. Eski ÅŸekil yerine -n veya -c\n" #~ "seçeneklerini kullanın." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Uyarı: eski kullanım ÅŸeklindeki seçenekle (%s) beraber\n" #~ "sadece bir dosya ismi verilebilir. Eski ÅŸekil yerine -n veya -c\n" #~ "seçeneklerini kullanın." #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "" #~ "%s: --max-consecutive-size-changes seçeneÄŸiyle verilen argüman geçersiz" #~ msgid "argument expected\n" #~ msgstr "argüman gerekli\n" #~ msgid "too many arguments\n" #~ msgstr "argüman sayısı çok fazla\n" #~ msgid "file arguments missing" #~ msgstr "dosya argümanları eksik" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "geçersiz terskesik gösterimi `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "tekrar eden karakterler bire indirgenirken en azından bir KUME verilmeli" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "çeviri yaparken KUME1'de [:lower:] kullanmışsanız KUME2'de [:upper:]\n" #~ "KUME1'de [:upper:] kullanmışsanız KUME2'de [:lower:] kullanmanız lazım" #~ msgid "only one argument may be specified" #~ msgstr "yalnız bir argüman verilebilir" #~ msgid "tab size contains an invalid character" #~ msgstr "tab boyunda geçersiz karakter" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman ve David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Kullanım: %s [SEÇENEK]...SOL-DOSYA SAÄž-DOSYA\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie ve Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp ve David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: ayraçtan sonra `+' veya `-' olmalı" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie ve Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie ve Stuart Kemp" # #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy ve Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie ve Jim Meyering" # #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert ve Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "%s dizininin kök dizinine geçilemedi" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins ve David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker ve David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie ve Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram ve David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat ve David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie ve Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie ve Richard Mlynarik" # #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman ve Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "baÅŸlangıç deÄŸeri sonuncudan büyükse,\n" #~ "artış negatif olmalıdır." #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "baÅŸlangıç deÄŸeri sonuncudan küçükse,\n" #~ "artış pozitif olmalıdır." #~ msgid "*** invalid date/time ***" #~ msgstr "*** geçersiz tarih/zaman ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau ve David MacKenzie" # #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor ve Jim Meyering" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman ve David MacKenzie" # #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie ve Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie ve Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Uyarı: '-l'nin anlamı sonraki sürümlerde deÄŸiÅŸerek POSIX uyumlu hale " #~ "gelecektir" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "-wSAYI seçeneÄŸinde, `w' harfi yazılmayabilir.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=SAYI ilk SAYI baytı gösterir\n" #~ " -n, --lines=N ilk 10 yerine ilk N satırı gösterir\n" #~ msgid "invalid number" #~ msgstr "geçersiz sayı" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s bu sistemdeki maksimum dosya boyundan daha büyük" #~ msgid "FIXME: ksb and mjb" #~ msgstr "DÜZELT: ksb ve mjb" #~ msgid "program error" #~ msgstr "yazılım hatası" # #~ msgid "stack overflow" #~ msgstr "yığıt taÅŸması" #~ msgid "missing file arguments" #~ msgstr "dosya argümanları eksik" #~ msgid " Type" #~ msgstr " Tür" #~ msgid "cannot change to `..' from directory %s" #~ msgstr "'..''e %s dizininden çıkılamaz" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: öncelem geçersiz" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/et.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001417453�12107204506�011750� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is distributed under the same license as the coreutils package. # Estonian translations for coreutils # Copyright (C) 2000 Free Software Foundation, Inc. # Toomas Soome <Toomas.Soome@microlink.ee>, 2013. # msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-12 13:06+0200\n" "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n" "Language-Team: Estonian <linux-ee@lists.eenet.ee>\n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "vigane argument %s võtmel `%s'" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "segane argument %s võtmele `%s'" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Lubatud argumendid on:" #: lib/closein.c:100 msgid "error closing file" msgstr "viga faili sulgemisel" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "viga kirjutamisel" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "säilitan %s õigused" #: lib/error.c:188 msgid "Unknown system error" msgstr "Tundmatu süsteemne viga" #: lib/file-type.c:38 msgid "regular empty file" msgstr "tavaline tühi fail" #: lib/file-type.c:38 msgid "regular file" msgstr "tavaline fail" #: lib/file-type.c:41 msgid "directory" msgstr "Kataloog" #: lib/file-type.c:44 msgid "block special file" msgstr "blokkseadme fail" #: lib/file-type.c:47 msgid "character special file" msgstr "sümbolseadme fail" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "nimeviide" #: lib/file-type.c:56 msgid "socket" msgstr "sokkel" #: lib/file-type.c:59 msgid "message queue" msgstr "teadete järjekord" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "jagatud mälu objekt" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tüübitud mälu objekt" #: lib/file-type.c:70 msgid "weird file" msgstr "veider fail" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Aadressiperekonda või hostinime ei toetata" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Ajutine tõrge nime lahendamisel" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Vigane ai_flags väärtus" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "nime lahendamisl tekkis taastumatu tõrge" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family ei toetata" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Tõrge mälu haaramisel" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Hosti nimega ei ole aadresse seostatud" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nimi või teenus on tundmatu" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "ai_socktype ei toeta teenuse nime" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype ei toetata" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Süsteemne viga" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argument puhver on liiga väike" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Päringu töötlemine käib" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Päring katkestati" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Päringut ei katkestatud" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Kõik päringud täidetud" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Katkestatud signaaliga" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parameetersõne ei ole korrektselt kodeeritud" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Tundmatu viga" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: võti '%s' on segane; variandid:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: võti '--%s' ei luba kasutada argumenti\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: võti '%c%s' ei luba kasutada argumenti\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: võti '%s' nõuab argumenti\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tundmatu võti '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tundmatu võti '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: vigane võti -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: võti nõuab argumenti -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: võti '-W %s' on segane\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: võti '-W %s' ei luba kasutada argumenti\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: võti '-W %s' nõuab argumenti\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "ei õnnestu muuta %s õigusi" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "kataloogi `%s' ei õnnestu luua" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "mälu on otsas" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ei õnnestu registreerida jooksvat töökataloogi" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "esialgsesse töökataloogi ei õnnestu tagasi minna" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: faili lõpp" #: lib/regcomp.c:131 msgid "Success" msgstr "Õnnestumine" #: lib/regcomp.c:134 msgid "No match" msgstr "Ei leitud" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Vigane regulaaravaldis" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Vigane järjestamise sümbol" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Vigane sümbolite klassi nimi" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Lõpetav langkriips" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Vigane tagasiviide" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Puudub [ või [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Puudub ( või \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Puudub \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Vigane \\{\\} kontekst" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Vigane vahemiku lõpp" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Mälu on otsas" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Vigane eelnev regulaaravaldis" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Enneaegne regulaaravaldise lõpp" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regulaaravaldis on liiga suur" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Puudub ) või \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Eelmist regulaaravaldist pole" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "%s rekursiivselt töötlemine on ohtlik" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "%s (sama kui %s) rekursiivselt töötlemine on ohtlik" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "selle ettevaatusabinõu blokeerimiseks kasutage --no-preserve-root" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[eE]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "sean %s õigusi" #: lib/siglist.h:31 msgid "Hangup" msgstr "Hangup" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interrupt" #: lib/siglist.h:37 msgid "Quit" msgstr "Quit" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Lubamatu instruktsioon" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trace/breakpoint trap" #: lib/siglist.h:46 msgid "Aborted" msgstr "Aborted" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Floating point exception" #: lib/siglist.h:52 msgid "Killed" msgstr "Tapetud" #: lib/siglist.h:55 msgid "Bus error" msgstr "Siini viga" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmentation fault" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Katkine toru" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Alarm kell" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminated" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Urgent I/O condition" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Peatatud (signaal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Peatatud" #: lib/siglist.h:79 msgid "Continued" msgstr "Continued" #: lib/siglist.h:82 msgid "Child exited" msgstr "Child exited" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Peatatud (tty sisend)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Peatatud (tty väljund)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O on võimalik" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "CPU aja piirang on ületatud" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Faili suuruse piirang on ületatud" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuaalne taimer on otsas" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profileerimise taimer on otsas" #: lib/siglist.h:106 msgid "Window changed" msgstr "Aken muutus" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Kasutaja defineeritud signaal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Kasutaja defineeritd signaal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT trap" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Vigane süsteemifunktsiooni väljakutse" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Vigane pinu" #: lib/siglist.h:126 msgid "Information request" msgstr "Infonõue" #: lib/siglist.h:128 msgid "Power failure" msgstr "Voolutõrge" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Resurss on kadunud" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "ei õnnestu luua toru" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "%s alamprotsess sai vea" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Reaalaja signaal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Tundmatu signaal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv funktsioon ei ole kasutatav" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv funktsioon puudub" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "sümbol on piirkonnast väljas" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04X ei saa lokaalsesse kooditabelisse teisendada" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04X ei saa lokaalsesse kooditabelisse teisendada: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "vigane kasutaja" #: lib/userspec.c:107 msgid "invalid group" msgstr "vigane grupp" #: lib/userspec.c:108 msgid "invalid spec" msgstr "vigane seade" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "veateadet ei õnnestu näidata" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakendaja %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakendaja %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Litsents GPLv3+: GNU GPL versioon 3 ja uuem <http://gnu.org/licenses/gpl." "html>.\n" "See on vaba tarkvara: teil on lubatud seda muuta ja levitada.\n" "GARANTII PUUDUB, vastavalt seadusega lubatud piiridele.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Kirjutanud %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Kirjutanud %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Kirjutanud %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjutanud %s, %s, %s\n" "ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s, %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s, %s, %s, %s,\n" "ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Kirjutanud %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s ja teised.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Vigadest teatage palun aadressil: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s vigadest teatage palun aadressil: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s koduleht: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s koduleht: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Üldine abiinfo GNU tarkvara kohta: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle ebaõnnestus" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "fd %d ei saa taastada: dup2 ebaõnnestus" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "%s alamprosess" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "%s alamprotsess sai fataalse signaali %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standardsisend" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standardväljund" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standard veavoog" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "tundmatu voog" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "reopen %s moodiga %s ebaõnnestus" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "sõnede võrdlus ebaõnnestus" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Probleemi lahendamiseks seadke LC_ALL=C." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Võrreldi sõnesid %s ja %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "vormindatud väljundit ei saa luua" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "vigane %s%s argument '%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "vigane sufiks %s%s argument '%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s argument '%s' on liiga suur" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Kasutamine: %s [VÕTI]... [FAIL]\n" "Base64 kodeeri või dekodeeri faile või standardsisenit väljastades\n" "standardväljundisse.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode dekodeeri andmed\n" " -i, --ignore-garbage ignoreeri dekodeerimisel sõnastiku väliseid " "sümboleid\n" " -w, --wrap=VEERGE murra kodeeritud read peale VEERGE sümbolit\n" " (vaikimisi 76). Ridade murdmise blokeerimiseks\n" " kasutage väärtust 0\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Andmed kodeeritakse vastavalt RFC 3548 kirjeldatud base64 tähestikule.\n" "Dekodeerimisel võib sisend sisaldada lisaks formaalsele base64 tähestikule\n" "ka reavahetusi. Andmevoos tähestikuväliste sümbolite eemaldamiseks\n" "kasutage --ignore-garbage.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "viga lugemisel" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "vigane sisend" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "vigane murdmise veerg: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "liigne operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "sulen standardsisendi" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Kasutamine: %s NIMI [SUFIKS]\n" " või: %s VÕTI... NIMI...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Väljasta NIMI ilma eelnevate kataloogideta.\n" "Kui määratud, eelmalda ka sufiks.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple luba mitut argumenti ja käsitle neid kui NIMI\n" " -s, --suffix=SUFIKS eemalda lõpetav SUFIKS\n" " -z, --zero eralda väljund reavahetuse asemel sümboliga NUL\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Näited:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" millele järgneb \"str2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "puudub operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Liida FAILID või standardsisend standardväljundisse.\n" "\n" " -A, --show-all sama, kui -vET\n" " -b, --number-nonblank mittetühjade väljundridade arv, tühistab -n\n" " -e sama, kui -vE\n" " -E, --show-ends näita iga rea lõpus $\n" " -n, --number kõikide väljundridade arv\n" " -s, --squeeze-blank korraga ei väljasta üle ühe tühja rea\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t sama, kui -vT\n" " -T, --show-tabs esita TAB süboleid kui ^I\n" " -u (ignoreeritakse)\n" " -v, --show-nonprinting kasuta ^ ja M- notatsiooni, v.a LFD ja TAB " "korral\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Näited:\n" " %s f - g Väljasta f'i sisu, siis standardsisend, siis g sisu.\n" " %s Kopeeri standardsisend standardväljundisse.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "%s peal ioctl ei õnnestu" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standardväljund" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: sisendfail on väljundfail" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "turvakonteksti loomine ebaõnnestus: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "turvakonteksti %s komponendi %s seadmine ebaõnnestus" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "%s turvakonteksti lugemine ebaõnnestus" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "osalist konteksti ei saa rakendada märgendamata failile %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "%s konteksti seadmine %s ei õnnestu" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "%s ei saa kasutada" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "kataloogi %s ei õnnestu lugeda" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "muudan %s turvakonteksti\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read ebaõnnestus" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close ebaõnnestus" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kasutamine: %s [VÕTI]... KONTEKST FAIL...\n" " või: %s [VÕTI]... [-u KASUTAJA] [-r ROLL] [-l VAHEMIK] [-t TÜÜP] " "FAIL...\n" " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Sea igale failile turvakontekst.\n" "Võtmega --reference, sea igale failile turvakontekst viidatud faili järgi.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference muuda nimeviite poolt viidatavat (see on " "vaikimisi),\n" " mitte nimeviidet ennast\n" " -h, --no-dereference muuda nimeviidet, mitte viidatavat\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=KASUTAJA määra turvakonteksti kasutaja\n" " -r, --role=ROLL määra turvakonteksti roll\n" " -t, --type=TÜÜP määra turvakonteksti tüüp\n" " -l, --range=VAHEMIK määra turvakonteksti vahemik\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root ära käsitle '/' eriliselt (vaikimisi)\n" " --preserve-root ära töötle '/' rekursiivselt\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=VFAIL kasuta esitatud konteksti asemel VFAIL konteksti\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive töötle faile ja katalooge rekursiivselt\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr " -v, --verbose väljasta infot iga töödeldava faili kohta\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Järgnevad võtmed muudavad hierarhia läbimist juhul, kui on kasutatud võtit -" "R.\n" "Kui kasutatakse enam kui üht võtit, kehtib viimane.\n" "\n" " -H kui argument on nimeviide kataloogile, lahenda see\n" " -L lahenda kõik ette tulevad nimiviidad kataloogidele\n" " -P ära lahenda nimeviiteid (vaikimisi)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference nõuab kas -H või -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h nõuab -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "%s järel puudub operand" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "vigane kontekst: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "anti konfliktne turvakontekst" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "%s atribuutide lugemine ebaõnnestus" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "vigane grupp: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kasutamine: %s [VÕTI]... GRUPP FAIL\n" " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Sea igale failile grupp.\n" "Võtmega --reference, sea igale failile grupp viidatud faili järgi.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes anna infot ainult muudatustest\n" " -f, --silent, --quiet blokeeri enamus veateateid\n" " -v, --verbose anna infor igast töödeldud failist\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (kasutatav süsteemides, kus saab muuta nimeviite\n" " omanikku)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr " --reference=VFAIL kasuta faili VFAIL gruppi\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Näited:\n" " %s staff /u Sea /u grupi \"staff\" omaks.\n" " %s -hR staff /u Sea /u ja selle sisu grupi \"staff\" omaks.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "loen %s uusi atribuute" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "nii nimeviide %s kui ka viidatav fail jäeti muutmata\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s õigused muutusid, enne %04lo (%s), nüüd %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "faili %s õiguste %04lo (%s) muutmine õigusteks %04lo (%s) ei õnnestu\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s õigused jäeti %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "nimeviitega %s, millel viidatav puudub, ei saa opereerida" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "muudan %s õigusi" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: uued õigused on %s, mitte %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kasutamine: %s [VÕTI]... MOOD[,MOOD]... FAIL\n" " või: %s [VÕTI]... KAHEKSAND-MOOD FAIL...\n" " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Sea igale failile õigused.\n" "Võtmega --reference, sea igale failile õigused viidatud faili järgi.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr " --reference=VFAIL kasuta faili VFAIL moodi\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive muuda faile ja katalooge rekursiivselt\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Iga MOOD on kujul '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "moodi ja --reference võtmeid ei saa kombineerida" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "vigane mood: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "muutsin %s omanik %s omanikuks %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "muutsin %s grupiga %s grupiks %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "ei õnnestu muuta %s omanikku\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "ei õnnestu seada %s omanik %s uueks omanikuks %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "%s grupi %s muutmine grupiks %s ebaõnnestus\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "ei õnnestu muuta %s omanikku\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "ei õnnestu seada %s omanikuks %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "%s grupi muutmine grupiks %s ebaõnnestus\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s omanik säilitati kui %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s grupp säilitati kui %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s omanik säilitati\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s ei saa lahendada" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "muudan %s omanikku" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "muudan %s gruppi" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Kasutamine: %s [VÕTI]... [OMANIK][:[GRUPP]] FAIL...\n" " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Muuda iga faili omanikku ja/või gruppi.\n" "Võtmega --reference, kasuta VFAIL omanikku ja gruppi.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=PRAEGUNE_OMANIK:PRAEGUNE_GRUPP\n" " muuda iga antud faili omanikku ja/või gruppi " "ainult\n" " juhul, kui kehtiv omanik ja/või grupp on samad\n" " siin esitatutega. Emb-kumb võib olla ära jäetud,\n" " sellisel juhul ei nõuta puuduva attribuudi " "sobivust.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr " --reference=VFAIL kasuta faili VFAIL omanikku ja gruppi\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Omanikku ei muudeta, kui ei ole määratud. Gruppi ei muudeta, kui ei ole\n" "määratud, kui muudetakse primaarseks grupiks, kui kasutatakse sümbolit ':'.\n" "Omanik ja grupp võivad olla antud nii numbrina kui ka nimena.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Näited:\n" " %s root /u Sea /u omanikuks \"root\".\n" " %s root:staff /u Sama, kui eelmine aga sea ka grupp.\n" " %s -hR root /u Sea /u ja selle sisu omanikuks \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "vigane grupp %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "vigane grupi nimekiri %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "täiendavate gruppide seadmine ebaõnnestus" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s [VÕTI] UUSJUUR [KÄSK [ARG]...]\n" " või: %s VÕTI\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Käivita KÄSK kasutades juurkataloogina kataloogi UUSJUUR.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=KASUTAJA:GRUPP määra kasutatav kasutaja ja grupp (ID või " "nimi)\n" " --groups=G_LOEND määra täiendav gruppide nimekiri kujul g1,g2,..," "gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Kui käsklust ei antud, käivita '${SHELL} -i'' (vaikimisi: '/bin/sh -i').\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "%s ei õnnestu juurkataloogiks seada" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "ei saa minna juurkataloogi" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "grupi ID seadmine ebaõnnestus" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "kasutaja ID seadmine ebaõnnestus" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "käsklust %s ei saa käivitada" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fail on liiga suur" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Kasutamine: %s [FAIL]...\n" " või: %s [VÕTI]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Väljasta iga FAILI kohta CRC kontrollsumma ja baitide arv.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Kasutamine: %s [VÕTI]... FAIL1 FAIL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Võrdle järjestatud faile FAIL1 ja FAIL2 rida haaval.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Võtmeteta väljastatakse kolm veergu. Esimeses veerus on faili FAIL1\n" "unikaalsed read, teises veerus on faili FAIL2 unikaalsed read ja\n" "kolmandas veerus on nende kahe faili ühised read.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 blokeeri veerg 1 (read, mis on ainult failis FAIL1)\n" " -2 blokeeri veerg 2 (read, mis on ainult failis FAIL2)\n" " -3 blokeeri veerg 3 (read, mis on mõlemas failis)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order kontrolli et sisend on korrektselt järjestatud, isegi " "kui\n" " kõik sisendread on paaris\n" " --nocheck-order ära kontrolli sisendi järjestatud\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=SÕNE kasuta veergude eraldamiseks sõne\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Märkus, võrdlused kasutavad 'LC_COLLATE' reegleid.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Examples:\n" " %s -12 fail1 fail2 Väljasta ainult read mis on olemas mõlemas failis.\n" " %s -3 fail1 fail2 Väljasta read, mis on ainult ühes failis.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "fail %d ei ole järjestatud" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "kasutati mitut eraldajat" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "tühi %s pole lubatud" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "viga %s lugemisel" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "lseek %s ei õnnestu" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "viga %s kirjutamisel" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: laienduste info lugemine ebaõnnestus" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: kirjutamine ebaõnnestus" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "%s laiendamine ebaõnnestus" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "puhastan %s õigused" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "%s omanikku ei õnnestu säilitada" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "ei õnnestu leida faili %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "%s autorit ei õnnestu säilitada" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "ei õnnestu avada %s lugemiseks" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "fstat %s ei õnnestu" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "jätan %s vahele, kuna see asendati kopeerimise ajal" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "failisüsteemi loomise konteksti ei õnnestu lugeda" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "%s turvakonteksti seadmine %s ebaõnnestus" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "%s ei saa kustutada" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s eemaldatud\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ei kirjuta läbi rippuva nimeviite %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "ei õnnestu luua tavalist faili %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "%s kloonimine kloonitavast %s ebaõnnestus" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "jätan %s ajad muutmata" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "%s sulgemine ebaõnnestus" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: kirjutan %s üle, kirjutan üle ka õigused %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: kirjutan %s üle? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (varukoopia: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "vaikimisi faili loomise konteksti ei õnnestunud taastada" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "ei õnnestu luua viidet %s -> %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "stat %s ei õnnestu" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "jätan kataloogi %s vahele" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "hoiatus: lähtefail %s on esitatur enam kui korra" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s ja %s on üks ja sama fail" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ei saa üle kirjutada mitte-katataloogi %s kataloogiga %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "ei kirjuta üle just loodud faili %s failiga %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "kataloogi %s ei saa üle kirjutada mitte kataloogiga" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "kataloogi ei saa tõsta mitte-kataloogi: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "%s varundamine hävitaks allika; %s ei teisaldatud" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "%s varundamine hävitaks allika; %s ei kopeeritud" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "ei õnnestu luua %s varukoopiat" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ei kopeeri faili %s üle just loodud nimeviite %s " #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kataloogi %s ei saa iseendasse, %s, kopeerida" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ei loo viidet %s kataloogile %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s ei saa tõsta iseenda alamkataloogi %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "ei õnnestu tõsta %s -> %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "seadmete-vaheline teisaldamine ebaõnnestus: %s -> %s; allikat ei saa " "kustutada" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "vaikimisi faili loomise konteksti %s seadmine ebaõnnestus" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "tsüklilist nimeviita %s ei õnnestu kopeerida" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: suhtelisi nimeviiteid saab luua ainult jooksvas kataloogis" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "ei õnnestu luua nimeviidet %s -> %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "ei õnnestu luua fifot %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "ei õnnestu luua seadmefaili %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "ei õnnestu lugeda nimeviidet %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "ei õnnestu luua nimeviidet %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s on tundmatut tüüpi fail" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "%s ei saa taastada" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (taastamine)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Kasutamine: %s [VÕTI]... [-T] ALG SIHT\n" " või: %s [VÕTI]... ALG... KATALOOG\n" " või: %s [VÕTI]... -t KATALOOG ALG...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Kopeeri allikas sihtpunkti või kataloogi või mitu allikat kataloogi.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive sama kui -dpR --preserve=all\n" " --attributes-only kopeeri ainult atribuudid, mitte andmeid\n" " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " "varukoopia\n" " -b nagu --backup aga ei kasuta argumenti\n" " --copy-contents rekursiivses moodis kopeeri spets failide " "sisu\n" " -d sama kui --no-dereference --preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force kui olemasolevat sihtfaili ei saa avada,\n" " eemalda see ja proovi uuesti (ignoreeritakse\n" " kui võti -n on kasutusel)\n" " -i, --interactive küsi enne ülekirjutamist (kirjutab eelmise -" "n\n" " võtme üle)\n" " -H järgi käsureal antud nimeviiteid " "kopeeritavas\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link kopeerimise asemel loo viited\n" " -L, --dereference järgi alati nimeviited kopeeritavas\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber ära kirjuta olemasolvevaid faile üle (muudab\n" " kehtetuks eelmise -i võtme)\n" " -P, --no-dereference ära kunagi järgi nimeviiteid kopeeeritavas\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p sama kui --preserve=mode,ownership," "timestamps\n" " --preserve[=ATR_LOEND] säilita, kui võimalik, antud atribuudid\n" " (vaikimisi: mode,ownership,timestamps)\n" " täiendavad atribuudid: context, links, xattr, " "all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATR_LOEND ära säilita antud atribuute\n" " --parents lisa allika tee kataloogi ette\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive kopeeri kataloogid rekursiivselt\n" " --reflink[=MILLAL] kloon/CoW koopiate kontroll. Vaata allpoolt\n" " --remove-destination eemalda iga sihtfail enne selle avamist\n" " (vastupidiselt võtmele --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=MILLAL aukudega failide loomise tingimused\n" " --strip-trailing-slashes eemalda igalt käsureal antud kopeeritava " "nime\n" " lõpus olevad kaldkriipsud\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link loo kopeerimise asemel nimeviited\n" " -S, --suffix=SUFIKS määra varukoopia järelliide\n" " -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi\n" " -T, --no-target-directory käsitle sihti failina\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopeeri ainult, kui allikas on uuem, kui\n" " sihtfail või kui sihtfail puudub\n" " -v, --verbose selgita, mis toimub\n" " -x, --one-file-system püsi selles failisüsteemis\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Vaikimisi üritatakse tuvastada aukudega faile robustse heuristilise\n" "meetodiga ning vastav sihtfail luuakse samuti aukudega. Sellise käitumise\n" "määrab võti --sparse=auto. Kasutage --sparse=always, et luua aukudega\n" "sihtfail alati, kui lähefail sisaldab piisavalt pika järjendi null baite.\n" "--sparse=never blokeerib aukudega failide loomise.\n" "\n" "Kui kasutada --reflink[=always], teostatakse kiire kopeerimine, kus " "andmeblokid\n" "kopeeritakse ainult juhul, kui neid muudetakse. Kui see pole võimalik,\n" "kopeerimine ebaõnnestub, või kui kasutati --reflink=auto, siis kasutatakse\n" "tavalist kopeerimist.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Varukoopia sufiks on '~', kui seda ei ole muudetud võtmega --suffix või\n" "keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX. Versioonikontrolli meetodit saab\n" "valida võtmega --backup või keskonnamuutujaga VERSION_CONTROL. Võimalikud\n" "väärtused on järgnevad:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off varukoopiaid ei looda (isegi kui kasutati võtit --backup)\n" " numbered, t loo nummerdatud varukoopiad\n" " existing, nil nummerdatud, kui neid on, muidu lihtne\n" " simple, never loo alati lihtsaid varukoopiaid\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Erijuhuna loob cp varukoopia ka kopeeritavast, kui on kasutatud võtmeid\n" "force ja backup ning ALLIKAS ja SIHT on sama nimi olemasoleval tavalisel\n" "failil.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "%s aegu ei õnnestu säilitada" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "%s õigusi ei õnnestu säilitada" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "kataloogi %s ei õnnestu luua" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "`%s' on olemas, aga ei ole kataloog" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "%s kasutamine ebaõnnestus" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "argumentides puudub failinimi" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "%s järel puudub sihtfail" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "--target-directory (-t) ja --no-target-directory (-T) ei saa koos kasutada" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "antud siht, %s, ei ole kataloog" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "võtme --parents kasutamisel peab sihtkoht olema kataloog" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "määrati mitu sihtkataloogi" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "ei õnnestu luua ei tavalist ega nimeviita" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "võtmed --backup ja --no-clobber on üksteist välistavad" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink saab kasutada ainult võtmega --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "varukoopia tüüp" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "SELinux tuumata ei saa turvakonteksti säilitada" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "laiendatud atribuute ei saa säilitada kuna cp on kompileeritud xattr toeta" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "sisend kadus" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: rea number on piirkonnast väljas" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: rea number on piirkonnast väljas" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " %s kordamisel\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: sobivat ei leitud" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "viga regulaaravaldisega otsingul" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "viga %s kirjutamisel" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: eraldaja järel oodati täisarvu" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: korduste arvuga peab kasutama '}'" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: '{' ja '}' vahel peab olema täisarv" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: puudub sulgev eraldaja '%c'" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: vigane regulaaravaldis: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: vigane muster" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: rea number peab olema suurem kui null" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "rea number %s on väiksem, kui eelneva rea number, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "hoiatus: rea number %s on sama, kui eelneva rea number" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "sufiksis puudub teisenduse määrang" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "vigane teisenduse määraja sufiksis: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "vigane teisenduse määraja sufiksis: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "vigased lipud teisenduse määrangus: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "sufiksis on liiga palju %% teisenduse määranguid" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "sufiksis puudub %% teisenduse määrang" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: vigane number" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Kasutamine: %s [VÕTI]... FAIL MUSTER...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Väljasta MUSTRI põhjal tükeldatud FAILi tükid failidesse 'xx01', " "'xx02', ...\n" "ja väljasta standardväljundisse iga osa suurus baitides.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=VORMING kasuta %02d asemel sprintf VORMINGUT\n" " -f, --prefix=PREFIKS kasuta 'xx' asemel PREFIKS\n" " -k, --keep-files vigade korral jäta väljundfailid kustutamata\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=NUMBREID kasuta 2 asemel antud arvu numbreid\n" " -s, --quiet, --silent ära väljasta väljundfailide mahte\n" " -z, --elide-empty-files kustuta tühjad väljundfailid\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Kui FAIL on -, loe standardsisendit. Iga MUSTER võib olla:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " TÄISARV kopeeri kuni, aga mitte kaasa arvatud, antud " "reanumbrini\n" " /REGAV/[NIHE] kopeeri kuni, aga mitte kaasa arvatud, sobiva reani\n" " %REGAV%[NIHE] jäta vahele kuni, aga mitte kaasa arvatud, sobiva " "reani\n" " {TÄISARV} korda eelmist mustrit antud arv kordi\n" " {*} korda eelmist mustrit niipalju kui võimalik\n" "\n" "Rea NIHE peab olema kujul '+' või'-', millele järgneb positiivne täisarv.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "väljad ja positsioonid nummerdatakse alates numbrist 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Kasutamine: %s VÕTI... [FAIL]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "Väljasta igast FAIList valitud osad standardväljundisse.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LOEND väljasta ainult need baidid\n" " -c, --characters=LOEND väljasta ainult need sümbolid\n" " -d, --delimiter=ERALD määra TAB asemel väljade eraldaja\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LOEND väljasta ainult need väljad; väljasta samuti\n" " kõik read, mis ei sisalda eraldavat sümbolit,\n" " välja arvatu juhul, kui kasutati võtit -s\n" " -n (ignoreerin)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement täienda valitud baitide, sümbolite või väljade " "hulka.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ära väljasta eraldajata ridu\n" " --output-delimiter=SÕNE kasuta väljundis eraldajana SÕNE\n" " vaikimisi kasutatakse sisendi eraldajat\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Kasutage ühte ja ainult ühte võtit järgnevaist -b, -c või -f. Iga LOEND\n" "koosneb vahemikust või komadega eraldatud vahemikest. Valitud sisend\n" "kirjutatakse täpselt üks kord lugemise järjekorras.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Iga vahemik on üks järgnevaist:\n" "\n" " N N-is bait, sümbol või väli, loendamist alustatakse ühest\n" " N- N-indast baidist, sümbolist või väljast rea lõpuni\n" " N-M alates N kuni M (kaasa arvatud) baiti, sümbolit või välja\n" " -M esimesest kuni M-nda (kaasa arvatud) baidi, sümboli või väljani\n" "\n" "Kui FAIL puudub või on -, loeb standardsisendit.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "vigane baitide, sümbolite või väljade loend" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "vigane vahemik, lõpp puudub: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "vigane vähenev vahemik" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "baidi nihe %s on liiga suur" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "välja number %s on liiga suur" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "lubatud on ainult sama tüüpi loend" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "eraldaja peab olema üks sümbol" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "peate määrama baitide, sümbolite või väljade loendi" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "sisendi eraldajat saab määrata ainult juhul kui töötatakse väljadega" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "eraldamata ridade blokeerimine omab mõtet ainult\n" "\tväljadega töötamise puhul" #: src/cut.c:870 msgid "missing list of fields" msgstr "puudub väljade loend" #: src/cut.c:872 msgid "missing list of positions" msgstr "puudub asukohtade loend" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Kasutamine: %s [VÕTI]... [+FORMAAT]\n" " või: %s [-u|--utc|--universal] [KKPPttmm[[SS]AA][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "Näita hetke aega antud vormingus või sea süsteemi aeg.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=SÕNE näita aega vastavalt sõnele, mitte 'now'\n" " -f, --file=FAIL nagu --date, sõned on failis eraldi ridadel\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] väljasta aeg in ISO 8601 vormingus.\n" " TIMESPEC='date' näitab kuupäeva (vaikimisi),\n" " 'hours', 'minutes', 'seconds' või 'ns' määravad\n" " vastava täpsuse.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FAIL näita FAILi viimast muutmise aega\n" " -R, --rfc-2822 väljasta RFC-2822 ühilduv kuupäeva sõne\n" " Näiteks: Fri, 06 Aug 2010 14:15:31 +0300\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=MÄÄRANG väljasta RFC-3339 ühilduv kuupäeva sõne.\n" " MÄÄRANG võib olla 'date', 'seconds' või 'ns'.\n" " -s, --set=SÕNE sea SÕNEga määratud aeg\n" " -u, --utc, --universal esita või sea koordineeritud universaalaeg\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAAT kontrollib väljundit. Interpreteeritavad järjendid on:\n" "\n" " %% sümbol %\n" " %a lokaadi lühendatud nädalapäeva nimi (näiteks P)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokaadi nädalapäeva nimi, muutuv pikkus (nt. pühapäev)\n" " %b lokaadi lühendatud kuu nimi (nt. jaan)\n" " %B lokaadi kuu nimi (nt. jaanuar)\n" " %c lokaadi kuupäev ja aeg (nt. teisipäev, 25. juuni 2002. 12:11:55 " "EEST)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C sajand; nagu %Y, aga viimased kaks numbrit on ära jäetud (nt. 20)\n" " %d päev kuus (nt. 01)\n" " %D kuupäev, sama kui %m/%d/%y\n" " %e päev kuus, täiendatud tühikuga; sama kui %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F kuupäev; sama kui %Y-%m-%d\n" " %g aasta 2-numbriga, mis vastab ISO nädala numbrile (vaata %G)\n" " %G aasta, mis vastab ISO nädala numbrile (vaata %V); kasutatav koos %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h sama kui %b\n" " %H tund (00..23)\n" " %I tund (01..12)\n" " %j päev aastas (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k tund, tühikutega täiendatud ( 0..23); sama kui %_H\n" " %l tund, tühikutega täiendatud ( 1..12); sama kui %_I\n" " %m kuu (01..12)\n" " %M minut (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n reavahetus\n" " %N nanosekundeid (000000000..999999999)\n" " %p lokaadi suurtähtedega AM või PM tähis (paljudes lokaatides tühi)\n" " %P nagu %p, aga väiketähtedega\n" " %r aeg, 12-tunni esitus (tt:mm:ss [AP]M)\n" " %R aeg, 24-tunni esitus (tt:mm)\n" " %s sekundeid alates `00:00:00 1970-01-01 UTC' (GNU laiendus)\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekund (00..60)\n" " %t tabulaator\n" " %T aeg, sama kui %H:%M:%S\n" " %u nädalapäev (1..7); 1 esitab esmaspäeva\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U nädala number aastas, pühapäev nädala esimene päev (00..53)\n" " %V ISO nädala number, esmaspäev on nädala esimene päev (01..53)\n" " %w päev nädalas (0..6); 0 esitab pühapäeva\n" " %W nädala number aastas, esmaspäev nädala esimene (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x lokaadi kuupäeva esitus (nt. kk.pp.aa)\n" " %X lokaadi aja esitus (nt. 23:13:48)\n" " %y aasta kaks viimast numbrit (00..99)\n" " %Y aasta\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +ttmm numbriline ajatsoon (nt., -0400)\n" " %:z +tt:mm numbriline ajatsoon (nt., -04:00)\n" " %::z +tt:mm:ss numbriline ajatsoon (nt., -04:00:00)\n" " %:::z numbriline ajatsoon koos : vastava täpsuseni (nt., -04, +05:30)\n" " %Z ajatsooni tähis tähtedega (nt., EET)\n" "\n" "Vaikimisi täidab date numbriväljad nullidega.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "'%' järel võib kasutada järgnevaid lippe:\n" "\n" " - (miinus) ära täida välju\n" " _ (alakriips) täida tühikutega\n" " 0 (null) täida nullidega\n" " ^ kui võimalik, kasuta suurtähti\n" " # kui võimalik, kasuta vastupidi tähesuurust\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Peale lippe võib kasutada välja laiuse määramiseks veel numbrit;\n" "seejärel täiendajat, mis võib olla kas\n" "E et kasutada lokaadi alternatiivesitust või\n" "O et kasutada lokaadi alternatiivset numbrilist esitust\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Näited:\n" "Teisenda sekundid epohhist (1970-01-01 UTC) kuupäevaks\n" " $ date --date='@2147483647'\n" "\n" "Näita USA läänekalda aega (TZ leidmiseks kasutage tzselect(1))\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Näita USA läänekalda ajas järgmise reede kell 9 hommikul\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standardsisend" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "vigane kuupäev %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "määrati mitu väljundvormingut" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "väljastatava ajaformaadi võtmed on üksteist välistavad" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "aja seadmise ja väljastamise võtmeid ei saa koos kasutada" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumendil %s puudub ees '+';\n" "Kui soovite väljastada aega, peavad argumendid, mis ei ole võtmed,\n" "olema formaati määravad sümboliga '+' algavad sõned." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "kuupäeva ja kellaaega ei õnnestu seada" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "aeg %s on piirkonnast väljas" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s [OPERAND]...\n" " või: %s VÕTI\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopeeri fail, teisendades ja vormindades seda vastavalt operaatoritele.\n" "\n" " bs=BAITI loe ja kirjuta kuni BAITI korraga\n" " cbs=BAITI teisenda BAITI baiti korraga\n" " conv=VÕTMESÕNAD teisenda fail vastavalt komadega eraldatud võtmetele\n" " count=N kopeeri ainult N sisendplokki\n" " ibs=BAITI loe BAITI baiti korraga (vaikimisi: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FAIL loe standardsisendi asemel faili\n" " iflag=LIPUD loe vastavalt komadega eraldatud võtmetele\n" " obs=BAITI kirjuta BAITI baiti korraga (vaikimisi: 512)\n" " of=FAIL kirjuta standardväljundi asemel faili\n" " oflag=LIPUD kirjuta vastavalt komadega eraldatud võtmetele\n" " seek=N jäta N obs mahus plokke väljundisse kirjutamata\n" " skip=N jäta N ibs mahus plokke sisendist lugemata\n" " status=MIS MIS infot standarveavoogu ei kirjutata;\n" " 'noxfer' blokeerib ülekande statistika, 'none' blokeerib " "kõik\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, " "Y.\n" "\n" "Iga VÕTMESÕNA võib olla:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii tabelist EBCDIC tabelisse ASCII\n" " ebcdic tabelist ASCII tabelisse EBCDIC\n" " ibm tabelist ASCII alternatiivsesse EBCDIC tabelisse\n" " block täienda reavahetusega lõpetatud kirjed tühikutega cbs-mahtu\n" " unblock asenda cbs-mahus blokkides lõpetavad tühikud reavahetusega\n" " lcase asenda suurtähed väiketähtedega\n" " ucase asenda väiketähed suurtähtedega\n" " sparse kasuta NUL sisendblokkide asemel seek operatsiooni\n" " swab vaheta iga sisenbaidi paar\n" " sync täienda iga sisendplokk nullidega ibs-mahtu; kui kasutatakse\n" " block või unblock, täienda tühikutega\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl katkesta, kui väljundfail on juba olemas\n" " nocreat ära loo väljundfaili\n" " notrunc ära lühenda väljundfaili\n" " noerror jätka ka peale lugemisvigu\n" " fdatasync enne lõpetamist kindlusta andmete faili kirjutamine\n" " fsync nagu eelmine, aga kirjuta ka metainfo\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Iga lipp võib olla:\n" "\n" " append lisamise mood (omab mõtet ainult väljundil; soovitame " "conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio kasuta andmete käsitlemisel samaaegset S/V\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct kasuta andmete käsitlemisel puhverdamata S/V\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory katkesta kui ei ole kataloog\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync kasuta andmete käsitlemisel sünkroonmoodi S/V\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync sama, aga ka metainfo korral\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock kasuta sisendit täisblokkidena (ainult iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock kasuta mitteblokeeruvat S/V\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime ära uuenda kasutamise aega\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache ära kasuta puhverdatud andmeid\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ei seosta kontrollivat terminali\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ei järgi nimeviiteid\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks katkesta, kui on viiteid\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary kasuta andmete käsitlemisel binaarmoodi\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text kasuta andmete käsitlemisel tekstimoodi\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes käsitle 'count=N' kui baitide arvu (ainult iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes käsitle 'skip=N' kui baitide arvu (ainult iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes käsitle 'seek=N' kui baitide arvu (ainult oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Kui saadate töötavale 'dd' protsessile signaali %s,\n" "kirjutab dd standard veavoogu seni loetud ja kirjutatud kirjete arvud\n" "ja jätkab kopeerimist.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 kirjet loetud\n" " 18335302+0 kirjet kirjutatud\n" " 9387674624 baiti (9.4 GB) kopeeritud, 34.6279 sekundit, 271 MB/s\n" "\n" "Võtmed on:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> kirjet sisse\n" "%<PRIuMAX>+%<PRIuMAX> kirjet välja\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> lühendatud kirje\n" msgstr[1] "%<PRIuMAX> lühendatud kirjet\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> bait (%s) kopeeritud" msgstr[1] "%<PRIuMAX> baiti (%s) kopeeritud" #: src/dd.c:720 msgid "Infinity B" msgstr "Lõpmatu B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "sulgen sisendfaili %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "sulgen väljundfaili %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "O_DIRECT välja lülitamine ebaõnnestus: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "kirjutan faili %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "tundmatu operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "vigane teisendus" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "vigane sisendi lipp" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "vigane väljundi lipp" #: src/dd.c:1227 msgid "invalid status flag" msgstr "vigane oleku lipp" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "vigane number %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "hulgast {ascii,ebcdic,ibm} ei saa ühtegi paari kasutada" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "block ja unblock ei saa koos kasutada" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "lcase ja ucase ei saa koos kasutada" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "excl ja nocreat ei saa koos kasutada" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "direct ja nocache ei saa koos kasutada" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "hoiatus: kasutan lseek funktsiooni tuuma vea tõttu alternatiivset meetodit,\n" "fail (%s) mt_type=0x%0lx -- tüüpide nimekirja leiate <sys/mtio.h>" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: skip ebaõnnestus" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: seek ebaõnnestus" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "failiviida ületäitumine %s lugemisel" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "hoiatus: peale lugemisviga ei pruugi failiviit olla õige" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "ei õnnestu tuuma veast mööda minna" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "sean %s lipud" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "sisendpuhver suurusega %zu baiti (%s) põhjustas mälu täis saamise" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "väljundpuhver suurusega %zu baiti (%s) põhjustas mälu täis saamise" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: ei õnnestu liikuda antud nihkele" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "%<PRIdMAX> baidini väljundfailis %s lühendamine ebaõnnestus" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync %s ebaõnnestus" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync %s ebaõnnestus" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "%s avamine ebaõnnestus" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "indeks on liiga suur: ei õnnestu lühendada pikkuseni seek=%<PRIuMAX> (%lu-" "baiti) blokki" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "%<PRIuMAX> baiti väljundfailis %s lühendamine ebaõnnestus" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "puhvist loobumine ebaõnnestus: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Failisüsteem" #: src/df.c:175 msgid "Type" msgstr "Tüüp" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokke" #: src/df.c:181 msgid "Used" msgstr "Kasut" #: src/df.c:184 msgid "Available" msgstr "Vaba" #: src/df.c:187 msgid "Use%" msgstr "Kas%" #: src/df.c:190 msgid "Inodes" msgstr "I-kirjeid" #: src/df.c:193 msgid "IUsed" msgstr "IKasut" #: src/df.c:196 msgid "IFree" msgstr "IVaba" #: src/df.c:199 msgid "IUse%" msgstr "IKas%" #: src/df.c:202 msgid "Mounted on" msgstr "Haagitud" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "võti --output: väli '%s' on tundmatu" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "võti --option: väli '%s' on esitatud enam kui korra" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Maht" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Vaba" #: src/df.c:474 msgid "Capacity" msgstr "Maht" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Esita informatsioon failisüsteemidest, milles iga antud fail asub.\n" "Vaikimisi esita infot igast haagitud failisüsteemist.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all väljasta kõik failisüsteemid\n" " -B --block-size=MAHT kasuta määratud ploki suurust. Näiteks '-BM' " "väljastab\n" " suurused 1 048 576 baidiste blokkidena. MAHT " "vorming\n" " on kirjeldatud allpool.\n" " --total väljasta kogusumma\n" " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " "2G)\n" " -H, --si sama, kui kasuta 1000 kordseid, mitte 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes väljasta plokkide asemel i-kirjete info\n" " -k sama kui --block-size=1K\n" " -l, --local näita ainult lokaalseid failisüsteeme\n" " --no-sync enne info lugemist ära kasuta synci (vikimisi)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=VÄLJAD] väljasta kõik või ette antud väljad.\n" " -P, --portability kasuta POSIX väljundi vormingut\n" " --sync enne info lugemist käivita sync\n" " -t, --type=TÜÜP väljasta info antud tüüpi failisüsteemidest\n" " -T, --print-type väljasta failisüsteemi tüüp\n" " -x, --exclude-type=TÜÜP ära väljasta infot antud tüüpi failisüsteemidest\n" " -v (ignoreeritakse)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "VÄLJAD on komadega eraldatud veergude loend, lubatud nimed on:\n" "'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' ja 'target' (vaadake info lehte).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "võtmed %s ja %s on üksteist välistavad" #: src/df.c:1335 msgid "warning: " msgstr "hoiatus: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "pikk võti '--megabytes' ei ole soovitatav ja eemaldatakse peagi" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "failisüsteemi tüüp %s on nii valitute kui ka väljaarvatute nimekirjas" #: src/df.c:1500 msgid "Warning: " msgstr "Hoiatus: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "ei õnnestu lugeda haagitud failisüsteemide tabelit" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "ühtegi failisüsteemi ei töödeldud" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Kasutamine: %s [VÕTI]... [FAIL]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "LS_COLORS keskkonnamuutujat seadvad väljundkäsud.\n" "\n" "Määra väljundi vorming:\n" " -b, --sh, --bourne-shell väljasta LS_COLORS seadmiseks Bourne shell " "kood\n" " -c, --csh, --c-shell väljasta LS_COLORS seadmiseks C shell kood\n" " -p, --print-database väljasta vaikeväärtused\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Kui on antud FAIL, loe sealt failitüüpide ja laienditega kasutatavad\n" "värvid. Muidu kasuta vaikimisi andmebaasi. Infot failide vormingu kohta\n" "saate käsuga 'dircolors --print-database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: vigane rida; teine märgis puudub" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: tundmatu võtmesõna %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<sisemine>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "võtmed dircolor sisemise andmebaasi väljastamiseks ja shelli süntaksi\n" "valimiseks on üksteist välistavad" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "faili operande ei saa võtmega --print-database (-p) kasutada" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "puudub keskkonnamuutuja SHELL, samuti ei ole määratud shelli tüüpi" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Kasutamine: %s [VÕTI] NIMI...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Väljasta NIMI, millest on viimane komponent ja kaldkriipsud eemaldatud;\n" "kui nimes ei ole sümboleid '/', väljasta '.' (mis tähistab jooksvat " "kataloogi).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero lõpeta read reavahetuse asemel sümboliga NUL\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Näited:\n" " %s /usr/bin/ -> \"/usr\".\n" " %s dir1/str dir2/str -> \"dir1\" millele järgneb \"dir2\" \n" " %s stdio.h -> \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Kasutamine: %s [VÕTI]... [FAIL]...\n" " või: %s [VÕTI]... --files0-from=F\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "Summeeri iga faili kettakasutus, kataloogid rekursiivselt.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null eralda väljundread reavahetuse asemel baidiga 0\n" " -a, --all väljasta loendurid kõikidele failidele\n" " --apparent-size väljasta ketta kasutamise asemel nähtav suurus; " "kuigi\n" " nähtav suurus on tavaliselt väiksem, võib see olla\n" " tegelikkuses ka suurem tänu aukudega failidele, " "sise-\n" " misele fragmenteerumisele, kaudsetele blokkidele " "jms\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=MAHT kasuta määratud ploki suurust. Näiteks `-BM' " "väljastab\n" " mahud 1 048 576 baidiste blokkidena. MAHT vorming " "on\n" " kirjeldatud allpool.\n" " -b, --bytes sama kui '--apparent-size --block-size=1'\n" " -c, --total väljasta kogumaht\n" " -D, --dereference-args kasuta käsureal antud nimeviidete korral " "viidatavaid\n" " -d, --max-depth=N väljasta kataloogi (võtme --all korral faili) " "kogumaht\n" " ainult kui see pole sügavam, kui N; --max-depth=0 " "on\n" " sama, kui --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F summeeri failist F loetud failide kettakasutus\n" " failinimed failis F on eraldatud sümboliga NUL\n" " -H sama, kui võti --dereference-args (-D)\n" " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " "2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k, --kilobytes sama, kui --block-size=1K\n" " -L, --dereference järgi nimeviiteid\n" " -l, --count-links loenda viiteid eraldi failidena\n" " -m sama, kui --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference ära järgne nimeviidetele (vaikimisi)\n" " -O, --null lõpeta iga rida reavahetuse asemel baidiga 0\n" " -S, --separate-dirs ära arvesta kataloogide suurusi\n" " --si nagu -h, aga kasuta 1000 kordseid\n" " -s, --summarize väljasta iga argumendi kohta summa\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=SUURUS positiivse väärtuse korral välista väiksemad,\n" " negatiivse korral suuremad kui SUURUS.\n" " --time näita kataloogis ja selle alamkataloogides\n" " kõikide failide muutmise aega\n" " --time=SÕNA muutmise aja asemel näita üht järgnevaist:\n" " atime, access, use, ctime või status\n" " --time-style=STIIL esita aeg kasutades järgnevat stiili\n" " full-iso, long-iso, iso, +VORMING\n" " VORMING on sama mis 'date' käsu korral\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=FILE välista failist loetud mustritele vastavad " "failid\n" " --exclude=PATTERN välista mustrile vastavad failid\n" " -x, --one-file-system ära mine muudesse failisüsteemidesse\n" #: src/du.c:386 msgid "Infinity" msgstr "Lõpmatu" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "haakepunkt %s on juba läbitud" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read ebaõnnestus: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "vigane maksimaalne sügavus %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "vigane --threshold argument '-0'" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "korraga ei saa summeerida ja näidata kõiki" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "hoiatus: summeerimine on sama, kui kasutada --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "hoiatus: summeerimine on konfliktne võtmega --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "faili operande ei saa võtmega --files0-from koos kasutada" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: viga lugemisel" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "kui failide nimesid loetakse standardsisendist, pole failide nimed %s lubatud" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "vigane null-pikkusega faili nimi" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "kokku" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Kasutamine: %s [VÕTI]... [SÕNE]...\n" " või: %s PIKK-VÕTI\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Väljasta SÕNE standardväljundisse.\n" "\n" " -n ei väljasta lõpetavat reavahetust\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e luba langkriipsude paojada interpreteerimine (vaikimisi)\n" " -E keela langkriipsude paojada interpreteerimine\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e luba langkriipsude paojada interpreteerimine\n" " -E keela langkriipsude paojada interpreteerimine (vaikimisi)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Võtmega -e on võimalik kasutada järgmisi järjendeid:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ langkriips\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c blokeeri lõpetav reavahetus\n" " \\e escape\n" " \\f lehevahetus\n" " \\n uus rida\n" " \\r rea algusesse\n" " \\t horisontaalne tabulaator\n" " \\v vertikaalne tabulaator\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN bait kaheksandväärtusega NNN (1 kuni 3 numbrit)\n" " \\xHH bait kuueteistkümnendväärtusega HH (1 kuni 2 numbrit)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Kasutamine: %s [VÕTI]... [-] [NIMI=VÄÄRTUS]... [KÄSK [ARGUMENT]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "Sea keskkonnas iga NIMI=VÄÄRTUS ja käivita käsk.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment alusta tühja keskkonnaga\n" " -0, --null lõpeta iga rida reavahetuse asemel baidiga 0\n" " -u, --unset=NIMI eemalda muutuja keskkonnast\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Ainult - rakendab võtme -i. Kui käsku ei ole antud, väljasta keskkond.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "%s kustutamine ei õnnestu" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "%s seadmine ei õnnestu" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "käsuga koos ei saa --null (-0) kasutada" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Teisenda igas FAILIS tabulaatorid tühikuteks, väljasta standardväljundisse.\n" "Kui FAIL puudub või on -, loeb standardsisendit.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ära teisenda TABe peale mittetühje sümboleid\n" " -t, --tabs=NUMBER kasuta vaikimisi 8 asemel tabulaatoris NUMBER " "sümbolit\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LOEND kasuta komadega eraldatud loendit tab " "positsioonidest\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tabulaatori peatus on liiga suur %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tabulaatori suurus sisaldab vigast sümbolit: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tabulaatori suurus ei saa olla 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tabulaatori suurused peavad olema kasvavad" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "sisendi rida on liiga pikk" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s AVALDIS\n" " või: %s VÕTI\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Trüki AVALDISe väärtus standardväljundisse. Tühi rida loendis allpool\n" "eraldab kasvava prioriteediga gruppe. AVALDIS võib olla:\n" "\n" " ARG1 | ARG2 ARG1 kui see pole null ega 0, muidu ARG2\n" "\n" " ARG1 & ARG2 ARG1 kui kumbki argument ei ole null või 0, muidu 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 on väiksem, kui ARG2\n" " ARG1 <= ARG2 ARG1 on väiksem või võrdne, kui ARG2\n" " ARG1 = ARG2 ARG1 ja ARG2 on võrdsed\n" " ARG1 != ARG2 ARG1 ja ARG2 ei ole võrdsed\n" " ARG1 >= ARG2 ARG1 on suurem või võrdne, kui ARG2\n" " ARG1 > ARG2 ARG1 on suurem, kui ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 ARG1 ja ARG2 aritmeetiline summa\n" " ARG1 - ARG2 ARG1 ja ARG2 aritmeetiline vahe\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 ARG1 ja ARG2 aritmeetiline korrutis\n" " ARG1 / ARG2 ARG1 jagatud ARG2 täisosa\n" " ARG1 % ARG2 ARG1 jagatud ARG2 jääk\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " SÕNE : REGEXP mustri REGEXP otsing SÕNEst\n" "\n" " match SÕNE REGEXP sama, kui SÕNE : REGEXP\n" " substr SÕNE POS LENGTH SÕNE alamsõne, POS algab väärtuselt 1\n" " index SÕNE SÜMBOLID SÕNE indeks, kust leiti SÜMBOLID, või 0\n" " length SÕNE SÕNE pikkus\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + MÄRK interpreteeri MÄRKi sõnena, isegi kui see on\n" " võtmesõna, nagu 'match' või operaator, nagu '/'\n" "\n" " ( AVALDIS ) AVALDISe väärtus\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Pange tähele, et paljud operaatorid vajavad käsuinterpretaatori eest\n" "kaitset kvootimise või langkriipsuga kaitsmise näol. Võrdlused on\n" "aritmeetilised, kui mõlemas argumendid on numbrid, muidu " "leksikograafilised.\n" "Mustri otsing tagastab teksti, mis leiti \\( ja \\) vahel või null; kui\n" "\\( ja \\) ei kasutata, tagastatakse leitud sümbolite arv või 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Lõpetamise kood on 0 kui AVALDIS pole ei null ega 0, 1 kui AVALDIS on null\n" "või 0, 2 kui AVALDIS on süntaktiliselt vigane ja 3 kui tekkis viga.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "süntaksi viga" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "viga regulaaravaldisega otsingul" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "mitte-numbriline argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "nulliga jagamine" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "probleemi lahendamiseks seadke LC_ALL=C." #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "võrreldi sõnesid %s ja %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Lucas algarvu testi tõrge. Seda et peaks juhtuma" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "squfof järjekorra ületäitumine" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ei ole korrektne positiivne täisarv" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s on liiga suur" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s [NUMBER]...\n" " või: %s VÕTI\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Väljasta iga NUMBRI algarvulised tegurid. Kui käsureal argumente pole,\n" "loetakse need standardsisendist.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "ei õnnestu leida jooksvat kataloogi" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "ei õnnestu minna kataloogi %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "ei õnnestu lugeda jooksva kataloogi atribuute (nüüd %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Kasutamine: %s [-NUMBRID] [VÕTI]... [FAIL]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Vormista ümber iga lõik FAILides, kirjuta tulemus standardväljundisse.\n" "Võti -NUMBRID on lühivorm võtmest --width=NUMBRID.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin säilita esimese kahe rea taane\n" " -p, --prefix=SÕNE kombineeri ainult ühise prefiksiga read,\n" " prefiks säilitatakse\n" " -s, --split-only tükelda pikad read, aga ära täida\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph esimese rea taane on teise rea omast erinev\n" " -u, --uniform-spacing üks tühik sõnade vahel, kaks lausete vahel\n" " -w, --width=NUMBER maksimaalne rea pikkus (vaikimisi 75 veergu)\n" " -g, --goal=NUMBER eelistatav laius (vaikimisi 93% rea pikkusest)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "vigane võti -- %c; -NUMBRID tuntakse ainult juhul, kui see on esimene võti;\n" "kasutage parem -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "vigane laius: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Murra iga FAILI (vaikimisi standardsisend) rida, väljasta " "standardväljundisse.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes loe veergude asemel baite\n" " -s, --spaces poolita tühikute kohal\n" " -w, --width=LAIUS kasuta 80 asemel use LAIUS sümbolit\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "vigane veergude arv: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Kasutamine: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Väljasta platvormist sõltuvad piirangud shelli sktiptides kasutataval " "kujul.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "kasutaja %s gruppide lugemine ebaõnnestus" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "jooksva protsessi gruppide lugemine ebaõnnestus" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "ei leia GID %lu vastavat gruppi" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Kasutamine: %s [VÕTI]... [KASUTAJANIMI]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Väljasta iga kasutaja või kui seda pole määratud, siis protsessi kasutaja,\n" "gruppide info.\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "ei õnnestu lugeda reaalset UID" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "ei õnnestu lugeda efektiivset GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "ei õnnestu lugeda reaalset GID" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: sellist kasutajat pole" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Väljasta igast FAIList esimesed 10 rida standardväljundisse.\n" "Enam, kui ühe faili korral lisa ka päis faili nimega.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K Väljasta igast failist esimesed K baiti;\n" " kui ees on '-', väljasta igast failist kõik,\n" " välja arvatud viimased K baiti\n" " -n, --lines=[-]K väljasta esimese 10 rea asemel esimesed K rida;\n" " kui ees on '-', väljasta igast failist kõik,\n" " välja arvatud viimased K rida\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent ära väljasta päiseid failide nimega\n" " -v, --verbose väljasta alati ka päis faili nimega\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K võib omada järgnevaid kordavaid sufikseid:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: fail on liiga palju lühenenud" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: baitide arv on liiga suur" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: ei õnnestu liikuda (lseek) algsele positsioonile" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: ei õnnestu liikuda nihkele %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: failiviida ümberseadmine ebaõnnestus" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "ei õnnestu muuta %s failiviita" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s on nii suur, et seda ei saa esitada" #: src/head.c:886 msgid "number of lines" msgstr "ridu" #: src/head.c:886 msgid "number of bytes" msgstr "baite" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "vigane ridade arv" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "vigane baitide arv" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "vigane võti lõpus -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Kasutamine: %s [VÕTI]\n" "Väljasta antud arvuti (kuueteistkümnend) numbriline identifikaator.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Kasutamine: %s [NIMI]\n" " või: %s VÕTI\n" "Esita või sea antud süsteemi nimi.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "ei õnnestu seada nimeks %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "nime ei õnnestu seada; süsteemil pole sellist funktsionaalsust" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "ei õnnestu tuvastada süsteemi nime" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Kasutamine: %s [VÕTI]... [KASUTAJANIMI]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Väljasta informatsiooni KASUTAJA või käsu kasutaja kohta.\n" "\n" " -a ignoreeri, võti on ühilduvuseks vanemate versioonidega\n" " -Z, --context väljasta ainult jooksva kasutaja turvakontekst\n" " -g, --group väljasta ainult grupi ID\n" " -G, --groups väljasta ainult lisagupid\n" " -n, --name väljasta numbri asemel nimi, võtmetele -ugG\n" " -r, --real väljasta efektiivse ID asemel reaalne ID, võtmetega -ugG\n" " -u, --user väljasta ainult kasutaja ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Kui võtmeid pole antud, väljasta komplekt kasutatavat informatsiooni.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) töötab ainult SELinux funktsionaalsusega tuumaga" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "kui on kasutaja määratud, siis ei saa turvakonteksti väljastada" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "ei saa väljastada enam kui ühte \"ainult\" valikut" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "vaikimisi formaati kasutades ei saa väljastada ainult nimesid või reaalset ID" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "protsessi konteksti ei õnnestu tuvastada" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "ei õnnestu lugeda efektiivset UID" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "ei leia kasutaja ID %s vastavat kasutajanime" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " grupid=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontekst=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "hoiatus: %s: ei saa muuta kontekstiks %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "loon kataloogi %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "ei õnnestu muuta %s omanikku" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "ei õnnestu seada %s ajatempleid" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "süsteemifunktsioon fork ebaõnnestus" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "käsku %s ei saa käivitada" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "ootan strip käsu lõpetamist" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "strip protsess lõpetas veaga" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "vigane kasutaja %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Kasutamine: %s [VÕTI]... [-T] ALG SIHT\n" " või: %s [VÕTI]... ALG... KATALOOG\n" " või: %s [VÕTI]... -t KATALOOG ALG...\n" " või: %s [VÕTI]... -d KATALOOG...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "See installi programm kopeerib (tihti just kompileeritud) failid valitud\n" "sihtkohta. Kui te soovite GNU/Linux süsteemis alla laadida ja paigaldada\n" "pakette, kasutage vastavat paketi haldurit nagu yum(1) või apt-get(1).\n" "\n" "Esimesed kolm varianti kopeerivad allika sihtkohta või allikad\n" "olemasolevasse kataloogi seades õigused ja omaniku/grupi.\n" "Neljas variant loob antud kataloogi(d).\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia\n" " -b nagu --backup, aga ei võta argumenti\n" " -c (ignoreeritakse)\n" " -C, --compare võrdle iga lähte ja sihtfaili paari ja, mõnel juhul,\n" " ei muuda sihtfaili üldse\n" " -d, --directory käsitle kõiki argumente kataloogidena; loo kõik\n" " antud kataloogide komponendid\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D loo kõik SIHTKOHAD välja arvatud viimane, seejärel\n" " kopeeri allikas sihiks\n" " -g, --group=GRUPP sea protsessi grupi asemel määratud grupp\n" " -m, --mode=MOOD sea rwxr-xr-x õiguste asemel antud õigused\n" " -o, --owner=OMANIK sea omanik (ainult super-kasutaja)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps sea algfailide kasutamise/muutmise ajad \n" " vastavatele sihtfailidele\n" " -s, --strip puhasta sümboltabelid\n" " --strip-program=PROGRAMM määra strip programm\n" " -S, --suffix=SUFIKS määra uus varukoopia järelliide\n" " -t, --target-directory=KATALOOG kopeeri kõik sihtfailid antud kataloogi\n" " -T, --no-target-directory käsitle SIHT tavalise failina\n" " -v, --verbose väljasta iga loodava kataloogi nimi\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context säilita SELinux turvakontekst\n" " -Z, --context=KONTEKST sea SELinux turvakontekst failidele ja " "kataloogidele\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "HOIATUS: ignoreerin --preserve-context; see tuum ei kasuta SELinux laiendusi" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "HOIATUS: ignoreerin --context (-Z); see tuum ei kasuta SELinux laiendusi" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "kataloogi installeerimisel ei saa kasutada võtit strip" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "kataloogi installeerimisel ei saa sihtkataloogi määrata" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "ei saa määrata kontekstiks %s ja seda säilitada" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "vigane mood %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "HOIATUS: ignoreerin võtit --strip-program, kuna võtit -s ei kasutata" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "parameetrid --compare (-C) ja --preserve-timestamps on üksteist välistavad" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "parameetrid --compare (-C) ja --strip on üksteist välistavad" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "võtit --compare (-C) ignoreeritakse, kui te annate moodi õiguste bittideta" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Iga identsete ühendatavate väljadega sisendrea paari korral väljastab rea \n" "standardväljundisse. Vaikimisi ühendatav väli on esimene, väljad " "eraldatakse\n" "tühemikuga. Kui FAIL1 või FAIL2 (aga mitte mõlemad) on -, loe standard-\n" "sisendit.\n" "\n" " -a FAILINUM samuti väljasta paariliseta read failist FAILINUM\n" " -e TÜHI asenda puuduvad sisendväljad sõnaga TÜHI\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case kasuta tõstutundetut väljade võrdlemist\n" " -j VÄLI sama, kui '-1 VÄLI -2 VÄLI'\n" " -o VORMING väljundrea koostamise VORMING\n" " -t SÜMBOL kasuta SÜMBOLit sisend- ja väljundväljade eraldajana\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FAILINUM nagu -a FAILINUM, aga ei väljasta ühendatud väljundit\n" " -1 VÄLI ühenda see väli failist 1\n" " -2 VÄLI ühenda see väli failist 2\n" " --check-order kontrolli et sisend on korrektselt järjestatud, isegi\n" " kui kõik sisendread on paaris\n" " --nocheck-order ära kontrolli sisendi järjestatust\n" " --header käsitle iga faili esimest rida väljade päistena,\n" " väljasta need muutmata\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Kui võtit -t SÜMBOL ei kasutata, ignoreeritakse väljade ees olevaid " "tühikuid,\n" "muidu kasutatakse väljade eraldajana võtmega -t määratud sümbolit. Välja\n" "tähistatakse välja numbriga, loendamist alustatakse ühest. Vorming on üks\n" "või enam komade või tühikutega eraldatud määranguid kujul 'FAILINUM.VÄLI' " "või\n" "`0'. Vaikimisi vorming väljastab ühendatud väljad, siis ülejäänud väljad\n" "failist FAIL1, siis ülejäänud väljad failist FAIL2. Väljad eraldatakse\n" "SÜMBOLiga. Kui vorming on võtmesõna 'auto', siis iga faili esimene rida\n" "määrab igal real väljastatavate väljade arvu.\n" "\n" "Tähtis: FAIL1 ja FAIL2 peab olema join väljade järgi järjestatud.\n" "N. kasutage \"sort -k 1b,1\" kui 'join' parameetreid pole või kasutage\n" "\"join -t ''\" kui 'sort' parameetreid pole.\n" "Märkus, võrdlemisel kasutatakse 'LC_COLLATE' reegleid.\n" "Kui sisend pole järjestatud ja mõningaid ridu ei saa ühendada,\n" "väljastatakse hoiatus.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: ei ole järjestatud: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "vigane välja number: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "vigane välja määrang: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "vigane faili number välja määrangus: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "ühildamatud väljad %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "konfliktsed tühja-välja asendamise sõned" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "mitme-sümboliline tabulaator %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "mitteühilduvad tabulaatorid" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "mõlemad failid ei saa olla standardsisendid" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Kasutamine: %s [-s SIGNAAL | -SIGNAAL] PID...\n" " või: %s -l [SIGNAAL]...\n" " või: %s -t [SIGNAAL]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "Saada protsessidele signaale või esita signaalide nimekiri.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal SIGNAAL, -SIGNAAL\n" " Saadetava signaali nimi või number.\n" " -l, --list Esita signaalide nimed või tõlgi nimeks/numbriks.\n" " -t, --table Väljasta tabel infoga signaalidest.\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAAL võib olla signaali nimi, nagu 'HUP', või signaali number, nagu '1',\n" "või signaaliga katkestatud programmi lõpetamise kood.\n" "PID on täisarv, negatiivne tähendab protsessi gruppi.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: vigane protsessi id" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "vigane võti -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: anti mitu signaali" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "kasutati mitud -l või -t võtit" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "signaali ei saa kombineerida võtmetega -l või -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "puudub protsessi ID" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "stdio puhvri haaramine mahus %<PRIuMAX> ebaõnnestus\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "vigane puhverdamise mood %s argumendil %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "%s puhverdust ei saa seada moodi %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s FAIL1 FAIL2\n" " või: %s VÕTI\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Kasutan viite FAIL2 loomiseks failile FAIL1 funktsiooni link.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "ei õnnestu luua viidet %s -> %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: kataloogidele ei saa luua viiteid" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: kataloogi ei saa üle kirjutada" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: asendan %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "ei õnnestu luua nimeviidet %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "ei õnnestu luua nimeviidet %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "viite loomine failile %.0s%s ebaõnnestus" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "ei õnnestu luua viidet %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "ei õnnestu luua viidet %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Kasuta: %s [VÕTI]... [-T] ALLIKAS VIITE_NIMI (1. vorm)\n" " või: %s [VÕTI]... SIHT (2. vorm)\n" " või: %s [VÕTI]... SIHT... KATALOOG (3. vorm)\n" " või: %s [VÕTI]... -t KATALOOG SIHT... (4. vorm)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Esimesel kujul loo viide antud nimele.\n" "Teisel kujul loo viide jooksvasse kataloogi.\n" "Kolmandal ja neljandal kujul luuakse viited kõikidele kataloogi " "elementidele.\n" "Vaikimisi luuakse viited, nimeviidete loomiseks on võti --symbolic.\n" "Viidete loomisel peavad viidatavad failid olemas olema. Nimeviite puhul " "võib\n" "kasutada suvalist teksti; hilisemal lahendamisel interpreteeritakse " "suhtelist\n" "viidet tema vanemkataloogi suhtes.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " "varukoopia\n" " -b nagu --backup, aga ei võta argumenti\n" " -d, -F, --directory lubab superkasutajal luua viidet kataloogile\n" " (märkus: tõenäoliselt ebaõnnestub, kuna " "reeglina\n" " süsteemid ei luba kataloogidele viiteid " "luua)\n" " -f, --force eemalda olemasolevad sihtfailid\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive küsi enne sihtfaili eemaldamist\n" " -L, --logical lahenda viidatavad nimeviited\n" " -n, --no-dereference kui sihtfail on nimeviide kataloogile,\n" " käsitle seda kui tavalist faili\n" " -P, --physical loo viide nimeviitele\n" " -s, --symbolic loo viidete asemel nimeviited\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFIKS määra varukoopia järelliide\n" " -t, --target-directory=KATALOOG määra kataloog, milles luuakse viited\n" " -T, --no-target-directory käsitle viite nime tavalise failina\n" " -v, --verbose väljasta faili nimi enne viite loomist\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "Võti -s ignoreerib -L ja -P. Muidu, viimane võti kontrollib kuidas käituda\n" "nimeviidetega, kasutades vaikimisi %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "--target-directory ja --no-target-directory ei saa koos kasutada" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "--relative ei saa kasutada võtmeta --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: tundmatu" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Kasutamine: %s [VÕTI]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Väljasta jooksva kasutaja nimi.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "kasutajanime pole" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e. %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e. %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "eiran vigast keskkonnamuutuja QUOTING_STYLE väärtust: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "eiran vigast laiuse kirjeldust keskkonnamuutujas COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "eiran vigast tabulaatori kirjeldust keskkonnamuutujas TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "vigane rea laius: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "vigane tabulaatori suurus: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "vigane ajamäärang %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Lubatud argumendid on:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +VORMING (n., +%H:%M) 'date'-stiilis vorming\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "viga kuu sõnede initsialiseerimisel" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "tundmatu prefiks: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "arusaamatu väärtus keskkonnamuutuja LS_COLORS jaoks" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "kataloogi %s ei saa avada" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "ei õnnestu tuvastada %s seadet ja i-kirje numbrit" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: ei näita juba näidatud kataloogi" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "loen kataloogi %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "sulen kataloogi %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "failide %s ja %s nimesid ei õnnestu võrrelda" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Esita infot failidest (vaikimisi jooksvas kataloogis).\n" "Kui ei ole kasutatud võtmeid -cftuvSUX ega --sort, järjesta väljund\n" "tähestikuliselt\n" #: src/ls.c:4728 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" msgstr "" " -a, --all ära peida kirjed, mis algavad sümboliga .\n" " -A, --almost-all ära näita nimesid . ja ..\n" " --author võtmega -l, väljasta iga faili autor\n" " -b, --escape väljasta mitte-esitatavad sümbolid\n" " C-style vormingus\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=SUURUS kasuta määratud ploki suurust. Näiteks\n" " '--block-size=M' väljastab suurused 1 048 " "576\n" " baidiste blokkidena. SUURUS vorming on " "allpool.\n" " -B, --ignore-backups ära näita nimesid, mille lõpus on ~\n" " -c võtmega -lt: järjesta ja näita ctime (faili\n" " oleku viimase muutmise aeg)\n" " võtmega -l: näita ctime ja järjesta nime " "järgi\n" " muidu: järjesta ctime järgi, uusim esimesena\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C esita väljund veergudena\n" " --color[=MILLAL] määra, millal kasutada failitüüpide " "eristamiseks\n" " värve. MILLAL on vaikimisi 'always',\n" " võib olla ka 'never' või 'auto', Rohkem infot\n" " allpool\n" " -d, --directory näita kataloogide sisu asemel neid endid, ei\n" " lahenda nimeviiteid\n" " -D, --dired vorminda väljund Emacs dired moodile\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f ära järjesta, kasuta -aU, blokeeri -ls --color\n" " -F, --classify lisa tähis (üks järgnevaist */=>@|) nimedele\n" " --file-type sama, aga ei lisa '*'\n" " --format=SÕNA across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time nagu -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g nagu -l, aga ei näita omanikku\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " grupeeri kataloogid enne faile.\n" " täienda võtmega --sort, aga --sort=none (-U)\n" " blokeerib grupeerimise\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group pikas loetelus ei väljasta gruppide nimesid\n" " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " "2G)\n" " --si sama, kui kasuta 1000 kordseid, mitte 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line kui käsureal on nimeviited näita " "viidatavaid\n" " --dereference-command-line-symlink-to-dir\n" " järgne igale käsureal olevale nimeviitele, kui " "see\n" " viitab kataloogile\n" " --hide=MUSTER ära näita mustrile vastavaid elemente\n" " (-a või -A tühistab)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=SÕNA lisa nimedele indikaator, vastavalt antud\n" " stiilile: none (vaikimisi), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode väljasta iga faili i-kirje number\n" " -I, --ignore=MUSTER ära näita shelli mustrile vastavaid nimesid\n" " -k, --kibibytes kasuta 1024 baidiseid blokke\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l väljasta info pikas vormingus\n" " -L, --dereference väljastades infot nimeviite kohta, näita viite\n" " asemel infot viidatavast failist\n" " -m väljasta nimed komadega eraldatult\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid nagu -l, aga väljasta numbrilised UID ja GID\n" " -N, --literal väljasta nimed nagu on (ära käsitle n. " "kontroll\n" " sümboleid eriliselt)\n" " -o nagu -l, aga ära väljasta grupi infot\n" " -p, --indicator-style=slash lisa kataloogide nimedele lõppu /\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars väljasta ? mitte-esitatava sümboli asemel\n" " --show-control-chars näita mitte-esitatavat sümbolit, nagu on\n" " (vaikimisi, kui programm on 'ls' ja väljund\n" " ei ole terminal)\n" " -Q, --quote-name väljasta nimed jutumärkide vahel\n" " --quoting-style=SÕNA kasuta nimede kvootimisel stiili:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse kasuta pööratud järjestamist\n" " -R, --recursive esita alamkataloogid rekursiivselt\n" " -s, --size väljasta iga faili suurus plokkides\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S järjesta faili suuruse järgi\n" " --sort=SÕNA kasuta järjestamisel nime asemel sõna: none -" "U,\n" " extension -X, size -S, time -t, version -v\n" " --time=SÕNA võtmega -l, näita muutmise aja asemel:\n" " atime -u, access -u, use -u, ctime -c\n" " või status -c; kasuta antud aega järjestamise " "võtmena,\n" " kui kasutati --sort=time\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=SÕNA võtmega -l, näita aegu kasutades stiili SÕNA:\n" " full-iso, long-iso, iso, locale, +VORMING\n" " VORMINGut käsitletakse kui 'date'; kui VORMING\n" " on VORMING1<reavahetus>VORMING2, rakendub\n" " VORMING1 vanematele failidele ja VORMING2\n" " uuematele. Kui SÕNE omab eesliidet 'posix-',\n" " kasutatakse SONA ainult mitte-POSIX lokaadi\n" " muutmise aegade järjestamisel\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t kasuta järjestamisel muutmise aega, uuem " "esimesena\n" " -T, --tabsize=VEERGE sea tabulaatori pikkus (vaikimisi 8 veergu)\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u võtmega -lt: järjesta ja näita kasutamise aega\n" " võtmega -l: näita kasutamise aega ja " "järjesta\n" " nime järgi\n" " muidu: järjesta kasutamise aja järgi\n" " -U ära järjesta; väljasta kirjed nagu on " "kataloogis\n" " -v järjesta versiooni järgi\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=VEERGE määra ekraani laius\n" " -x väljasta nimed ridadesse, mitte veergusesse\n" " -X järjesta tähestikuliselt laiendite järgi\n" " -Z, --context väljasta iga faili kohta SELinux turvakontekst\n" " -1 väljasta üks nimi rea kohta\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Failitüüpide eristamiseks värvide kasutamine on vaikimisi blokeeritud ja\n" "saab blokeerida võtmega --color=never. Võtmega --color=auto, ls kasutab\n" "värvikoode ainult juhul, kui väljund läheb terminalile. Keskkonnamuutuja\n" "LS_COLORS mõjutab värviseadeid. Selle muutuja seadmiseks kasutage dircolors\n" "käsku.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Lõpetamise kood:\n" " 0 korras,\n" " 1 väiksemad probleemid (n., ei saa kasutada alamkataloogi),\n" " 2 suurem probleem (n., käsurea argumenti ei saa kasutada).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Kasutamine: %s [VÕTI]... [FAIL]...\n" "Väljasta või kontrolli %s (%d-bitti) kontrollsummasid.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary loe binaarmoodis (vaikimisi, kui ei loeta tty stdin)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary loe binaarmoodis\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check loe %s summad failidest ja kontrolli\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag loo BSD-stiilis kontrollsumma\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text loe tekstimoodis (vaikimisi, kui kasutatakse " "terminali)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text loe tekstimoodis (vaikimisi)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Järgmised võtmed on kasulikud ainult kontrollsummade kontrollimisel:\n" " --quiet ära väljasta OK iga eduka kontrolli kohta\n" " --status ära väljasta midagi, tulemust näitab lõpetamise kood\n" " -w, --warn hoiata vigaselt vormindatud kontrollsummadest\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict võtmega --check, lõpeta vigase sisendi korral veaga\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Summad arvutatakse vastavalt %s kirjeldusele. Summade kontrollimisel\n" "tuleb kasutada selle programmi väljundit. Vaikimisi mood on väljastada\n" "rida kontrollsummaga, seejärel sümbol, mis märgib faili tüüpi ('*' kahend-\n" "ja tühik tekstifaili korral) ja seejärel faili nimi.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: liiga palju kontrollsumma ridu" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: vigaselt vormindatud %s kontrollsumma rida" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: avamine või lugemine ebaõnnestus\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "EBAÕNNESTUS" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: korrektselt vormindatud %s kontrollsumma ridu pole" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "HOIATUS: %<PRIuMAX>: vigaselt vormindatud kontrollsumma rida" msgstr[1] "HOIATUS: %<PRIuMAX>: vigaselt vormindatud kontrollsumma read" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "HOIATUS: %<PRIuMAX> näidatud faili ei saanud lugeda" msgstr[1] "HOIATUS: %<PRIuMAX> näidatud faile ei saanud lugeda" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "HOIATUS: %<PRIuMAX> arvutatud kontrollsumma EI klappinud" msgstr[1] "HOIATUS: %<PRIuMAX> arvutatud kontrollsummad EI klappinud" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag ei toeta --text moodi" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "võti --tag ei oma mõtet kontrollsummade kontrollimisel" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "võtmed --binary ja --text ei oma kontrollsummade kontrollimisel mõtet" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "võtit --status on mõtet kasutada ainult kontrollsummade kontrollimisel" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "võtit --warn on mõtet kasutada ainult kontrollsummade kontrollimisel" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "võtit --quiet on mõtet kasutada ainult kontrollsummade kontrollimisel" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "võtit --strict on mõtet kasutada ainult kontrollsummade kontrollimisel" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Kasutamine: %s [VÕTI]... KATALOOG...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Loo KATALOOGid, kui neid juba pole.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MOOD seab õigused (nagu chmod), mitte a=rwx - umask\n" " -p, --parents loob vajadusel ülemised kataloogid, kui need on olemas,\n" " siis veateadet ei väljasta\n" " -v, --verbose teavitab igast loodud kataloogist\n" " -Z, --context=CTX sea iga loodud kataloogi SELinux turvakontekstiks CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "kataloog %s on loodud" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Kasutamine: %s [VÕTI]... NIMI...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Loo antud NIMega torud (FIFOd).\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=MOOD sea õigused MOOD, mitte a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr " -Z, --context=KTST sea iga nime SELinux turvakontekst\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "vigane mood" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "mood peab määrama ainult failiõigused" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Kasutamine: %s [VÕTI]... NIMI TÜÜP [PÕHI ALAM]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Loo antud NIMEga ja TÜÜPi seadmefail.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=KTST sea nime SELinux turvakontekst\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Kui TÜÜP on b, c või u, peavad olema antud nii KLASS kui ESINDAJA ja neid " "ei\n" "tohi kasutada, kui TÜÜP on p. Kui KLASS või ESINDAJA algab 0x või 0X,\n" "käsitletakse seda kuueteistkümnendarvuna. Kui See algab numbriga 0,\n" "käsitletakse seda kaheksandarvuna, muidu kümnendarvuna. TÜÜP võib olla:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b loo plokkseade (puhverdatud)\n" " c, u loo sümbolseade (puhverdamata)\n" " p loo FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Seadmefailide loomisel peab olema määratud nii klassi, kui esindaja number." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifodel puuduvad seadme klassi ja esindaja numbrid." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blokkseadme faile ei toetata" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "sümbolseadme faile ei toetata" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "vigane seadme põhinumber %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "vigane seadme alamnumber %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "vigane seade %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "vigane seadme tüüp %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Kasutamine: %s [VÕTI]... [MAATRIKS]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Loo turvaliselt ajutine fail või kataloog ja väljasta selle nimi.\n" "MAATRIKS peab sisaldama lõpus vähemalt kolm järjestikulist 'X'.\n" "Kui maatriksit ei näidatud, kasutatakse tmp.XXXXXXXXXX ja --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "Failis luuakse u+rw, kataloogid u+rwx, miinus umaski piirangud.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory loo faili asemel kataloog\n" " -u, --dry-run ära loo midagi, ainult väljasta nimi (ebaturvaline)\n" " -q, --quiet blokeeri faili/kataloogi loomise vea diagnostika\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUF lisa maatriksile SUF. SUF ei tohi sisaldada " "kaldkriipsu.\n" " Seda parameetrit eeldadakse juhul, kui maatriks ei\n" " lõppe sümboliga X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=KAT] interpreteeri maatriksit kataloogi suhtes. Kui KAT " "pole\n" " antud, kasuta $TMPDIR, kui seda pole seatud, siis /" "tmp.\n" " Selle võtme kasutamisel ei saa maatriks olla " "absoluutne\n" " nimi. Erinevalt võtmest -t, võib maatriks sisaldada\n" " kaldkriipse, aga mktemp loob ainult viimase " "komponendi\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p KAT kasuta prefiksina KAT; eeldab -t [mittesoovitatav]\n" " -t interpreteeri maatriksit nime komponendina kataloogi\n" " suhtes: $TMPDIR, kui on seatud või -p võtmega " "näidatud\n" " kataloog või /tmp [mittesoovitatav]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "standard veavoo ümbersuunamine /dev/null peale ebaõnnestus" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "liiga palju maatrikseid" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "võtmega --suffix, maatriks %s peab lõppema tähega X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "vigane sufiks %s, sisaldab kataloogi eraldajat" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "maatriks %s sisaldab liiga vähe X tähti" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "vigane maatriks %s, sisaldab kataloogi eraldajaid" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "vigane maatriks, %s; võtmega --tmpdir, ei saa see olla absoluutne" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "maatriksiga %s ei õnnestunud kataloogi luua" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "maatriksiga %s ei õnnestunud faili luua" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "Nimeta fail ümber või tõsta argumendid antud kataloogi.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " "varukoopia\n" " -b nagu --backup aga ei kasuta argumenti\n" " -f, --force ära küsi enne ülekirjutamist\n" " -i, --interactive küsi enne ülekirjutamist\n" " -n, --no-clobber ära kirjuta olemasolevat faili üle\n" "Kui te annate enam kui ühe võtmetest -i, -f, -n, ainult viimane jääb " "kehtima.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes eemalda igalt käsureal antud nimelt\n" " lõpus olevad kaldkriipsud\n" " -S, --suffix=SUFIKS määra varukoopia järelliide\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi\n" " -T, --no-target-directory käsitle sihtkohta tavalise failina\n" " -u, --update tõsta ainult kui allikas on uuem, kui " "sihtfail\n" " või kui sihtfail puudub\n" " -v, --verbose selgita mida tehakse\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Kasutamine: %s [VÕTI] [KÄSK [ARGUMENT]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Käivita KÄSK muudetud prioriteediga.\n" "Kui käsku ei antud, väljasta kehtiv prioriteet.\n" "Sammude vahemik on %d (kõrgeim prioriteet) kuni %d (madalaim prioriteet).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr " -n, --adjustment=N liida prioriteedile number N (vaikimisi 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "vigane muudatus %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "koos parandusega peab olema antud käsk" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "prioriteeti ei õnnestu lugeda" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "prioriteeti ei õnnestu seada" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Väljasta iga FAIL standardväljundisse lisades reanumbrid.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIIL kasuta ridade nummerdamisel STIILI\n" " -d, --section-delimiter=SE kasuta loogiliste lehtede eraldamiseks SE\n" " -f, --footer-numbering=STIIL kasuta jaluste nummerdamisel STIILI\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIIL kasuta päiste nummerdamisel STIILI\n" " -i, --line-increment=NUMBER rea numbri suurendamise samm\n" " -l, --join-blank-lines=NUMBER grupeeri NUMBER tühja rida üheks reaks\n" " -n, --number-format=VORMING lisa rea numbrid vastavalt VORMINGule\n" " -p, --no-renumber jätka reanumbreid järgmisel lehel\n" " -s, --number-separator=SÕNE lisa SÕNE peale (võimalikku) reanumbrit\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NUMBER esimene rea number igal loogilisel " "lehel\n" " -w, --number-width=NUMBER kasuta reanumbritele NUMBER veergu\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Vaikimisi kasutatakse -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. SE on\n" "kaks eraldussümbolit loogiliste lehekülgede eraldamiseks, puuduva teise\n" "sümboli asemel kasutatakse :. \\ esitamiseks kirjutage \\\\.\n" "STIIL on üks järgnevaist:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a nummerda kõik read\n" " t nummerda ainult mittetühjad read\n" " n ära nummerda ridu\n" " pBRE nummerda ainult read, mis sobivad antud lihtsa " "regulaaravaldisega,\n" " BRE\n" "\n" "VORMING on üks järgnevaist:\n" "\n" " ln vasakule joondatud, nulle ees pole\n" " rn paremale joondatud, nulle ees pole\n" " rz paremale joondatud, eest täidetud nullidega\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "rea numbri ületäitumine" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "vigane päise nummerdamise stiil: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "vigane keha nummerdamise stiil: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "vigane jaluse nummerdamise stiil: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "vigane alustamise rea number: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "vigane rea numbri samm: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "vigane tühjade ridade arv: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "vigane rea numbri välja laius: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "vigane rea numbri vorming: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s KÄSKLUS [ARGUMENT]...\n" " või: %s VÕTI\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Käivita KÄSKLUS, ignoreeri hangup signaale.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Kui standardsisend on terminal, suuna see ümber /dev/null pealt.\n" "Kui standard väljund on terminal, saada väljund faili 'nohup.out',\n" "kui see võimalik pole, siis faili '$HOME/nohup.out'.\n" "Kui standard veavoog on terminal, suuna see standard väljundisse.\n" "Väljundi faili suunamiseks, kasutage '%s KÄSKLUS > FAIL'.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "standardsisendi muutmine mittekasutatavaks ebaõnnestus" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignoreerin sisendit" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ignoreerin sisendit ja lisan väljundi faili %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "lisan väljundi faili %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "stderr koopiale ei õnnestu seada omadust 'close on exec'" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ignoreerin sisendit ja suunan stderr standardväljundisse" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "suunan standardveavoo standardväljundisse" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "standard veavoo ümbersuunamine ebaõnnestus" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Kasutamine: %s [VÕTI]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Väljasta jooksvale protsessile kätte saadavate protsessorite arv, mis\n" "võib olla võiksem kui hetkel töötavate protsessorite arv\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all väljasta installeeritud protsessorite arv\n" " --ignore=N kui võimalik, välista N protsessorit\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: vigane number ignoreerimiseks" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "väärtus on teisendamiseks liiga suur: '%s'" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "vigane number: '%s'" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "ei kasuta sisendi sufiksit: '%s' (kaaluge --from kasutamist)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "vigane sufiks sisendis: '%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "sisendis puudub sufiks 'i': '%s' (n. Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "väärtuse '%Lf' väljastamiseks ettevalmistamine ebaõnnestus" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "vigane ühiku suurus: '%s'" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "mälu on otsas (küsiti %zu baiti)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Kasutamine: %s [VÕTI]... [NUMBER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "Vorminda numbrid standardsisendist või käsurealt.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr " --debug väljasta hoiatused vigase sisendi kohta\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr " -d, --delimiter=X kasuta väljade eraldajana tühiku asemel X\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr " --field=N asenda number sisendväljal N (vaikimisi 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMAT kasuta printf stiilis ujukoma vormingut;\n" " detailid leiate allpool\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=UNIT määra sisendnumbritele ühiku suurus; vaikimisi " "'none'\n" " ühikute kirjeldus on allpool\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr " --from-unit=N määra sisend ühiku suurus (vaimimisi on 1)\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping grupeeri numbrid kasutades lokaadi reegleid,\n" " näiteks. 1,000,000\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] väljastab (teisendamata) esimesed N päiserida\n" " vaikimisi N on 1\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=MOOD vigaste numbrite korral kasutatav reaktsioon, " "väärtused:\n" " abort (vaikimisi), fail, warn, ignore\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N täida väljundnumbrid N sümbolini;\n" " positiivne N joondatakse paremale; negatiivne N\n" " joondatakse vasakule; kui väljund on laiem kui N,\n" " täitmist ei toimu; vaikimisi täidetakse " "automaatselt\n" " juhul, kui leitakse tühemik\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=MEETOD skaleerimisel kasutatav ümardamise meetod; meetod " "võib\n" " olla: up, down, from-zero (vaikimisi), towards-" "zero,\n" " nearest\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=SUFIKS lisa väljundi numbritele sufiks ja luba " "mittekohustuslik\n" " sufiks sisendnumbritel\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=UNIT teisenda väljundnumbrid antud ühikutesse\n" " ühikute kirjeldus on allpool\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr " --to-unit=N määra väljund ühiku suurus (vaimimisi on 2)\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "Ühiku võtmed:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr " none teisendamist ei toimu, esinevad sufiksid annavad vea\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto luba ühe/kahe sümbolilisi sufikseid:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si luba ühe sümbolilist sufiksit:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec luba ühe sümbolilist sufiksit:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i luba kahe sümbolilist sufiksit:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "VORMING peab olema sobiv ühe ujukoma argumendi väljastamiseks '%f'.\n" "Mittekohustuslik kvoot (%'f) lülitab võtme --grouping (kui lokaat seda " "toetab).\n" "Mittekohustuslik laiuse väärtus (%10f) määrab väljundi täitmise.\n" "Mittekohustuslik negatiivne laiuse väärtus (%-10f) määrab väljundi vasakult\n" "täitmise.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Lõpetamise kood on 0, kui kõik sisendi numbrid õnnestus edukalt teisendada.\n" "Vaikimisi lõpetab %s esimese teisendamise vea peale koodiga 2.\n" "Võtmega --invalid='fail' väljastatakse iga teisendamise vea korral hoiatus\n" "ja lõpetamise kood on 2. Võtme --invalid='warn' korral väljastatakse\n" "iga teisendamise vea korral hoiatus, aga lõpetamise kood on 0. Võtme\n" "--invalid='ignore' korral vigadest ei teatata ja lõpetamise kood on 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Näited:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "vormingus %s puudub %% direktiiv" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "vigane vorming %s (laius on liiga suur)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "vormingu %s lõpus on %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "vigane vorming %s, direktiiv peab olema %%['][-][N]f" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "vormingus %s on liiga palju %% direktiive" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "vigane sufiks sisendis '%s': '%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "väärtus on väljastamiseks liiga suur: '%Lg' (kaaluge --to kasutamist)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "väärtus on väljastamiseks liiga suur: '%Lg' (ei saa kasutada väärtusi > 999Y)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "suur sisendväärtus '%s': võimalik on täpsuse kadu" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "sisendrida on liiga lühike, väljal %ld ei ole teisendatavaid numbreid" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "vigane täitmise väärtus '%s'" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "vigane välja väärtus: '%s'" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "vigane päise väärtus '%s'" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping ei saa võtmega --format koos kasutada" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding ei saa võtmega --format koos kasutada" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "teisendamise võtit ei antud" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "grupeerimist ei saa kasutada võtmega --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "selles lokaadis grupeerimine ei mõju" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "käsurea sisendi korral ignoreetitakse võtit --header" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "viga sisendi lugemisel" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "osade sisendnumbrite teisendamine ebaõnnestus" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Kasutamine: %s [VÕTI]... [FAIL]...\n" " või: %s [-abcdfilosx]... [FAIL] [[+]INDEKS[.][b]]\\n\"\n" " või: %s --traditional [VÕTI]... [FAIL] [[+]INDEKS[.][b] [+]MÄRGEND[.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Väljasta faili üheselt mõistetav esitus (vaikimisi kaheksandbaidid)\n" "standardväljundisse. Enam, kui ühe faili korral väljastatakse nende\n" "sisud järjest vastavalt esitatud järjekorrale.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Kui on määratud nii esimene kui teine vorming, eeldatakse teist kui viimane\n" "operand algab sümboliga + või (kui on 2 operandi) numbriga.\n" "Operand INDEKS tähendab -j INDEKS. MÄRGEND on esimese väljastatava baidi\n" "pseudoaadress, mida suurendatakse töö käigus.\n" "Indeksi ja märgendi puhul tähistab 0x või 0X kuueteistkümnendesitust,\n" "sufiks võib olla . kaheksandesituse korral ja b tähistab 512 kordseid.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RAADIKS kuidas väljastada faili positsioonid. RAADIKS\n" " on üks [doxn], tähendades kümnende, " "kaheksand,\n" " kuueteiskümnend süsteemi või None\n" " -j, --skip-bytes=BAIDID jäta esimesed BAIDID baiti vahele\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BAITE väljasta ainult antud arv baite\n" " -S BAITE, --strings[=BAITE] väljasta vähemalt BAITE pikkusega sõned\n" " vaikimisi 3\n" " -t, --format=TÜÜP määra väljundvorming või vormingud\n" " -v, --output-duplicates ära kasuta korduvate ridade märkimiseks *\n" " -w[BAITE], --width[=BAITE] väljasta BAITE baiti rea kohta\n" " vaikimisi 32\n" " --traditional kasuta traditsioonilisel kujul argumente\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Traditsioonilisi vormingu määranguid võib koos kasutada; need on:\n" " -a sama, kui -t a, vali nimedega sümbolid, ülemist bitti " "ignoreeritakse\n" " -b sama, kui -t o1, vali kaheksandbaidid\n" " -c sama, kui -t c, vali ASCII sümbolid või langkriipsuga paojada\n" " -d sama, kui -t u2, vali märgita 2-baidised kümnendarvud\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f sama, kui -t fF, vali ujukomaarvud\n" " -i sama, kui -t dI, vali kümnendarvud\n" " -l sama, kui -t dL, vali pikad kümnendarvud\n" " -o sama, kui -t o2, vali 2-baidised kaheksandarvud\n" " -s sama, kui -t d2, vali 2-baidised kümnendarvud\n" " -x sama, kui -t x2, vali 2-baidised kuueteistkümnendarvud\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TÜÜP on üks või enam järgnevaid:\n" " a sümbolid nimedega, ülemist bitti ignoreeritakse\"\n" " c ASCII sümbol või langkriipsuga paojada\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[SUURUS] märgiga kümnendarv, SUURUS baiti\n" " f[SUURUS] ujukoma arv, SUURUS baiti\n" " o[SUURUS] kaheksandarv, SUURUS baiti\n" " u[SUURUS] märgita kümnendarv, SUURUS baiti\n" " x[SUURUS] kuueteiskümnendarv, SUURUS baiti\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "SUURUS on number. TÜÜPIDE [doux] korral võib SUURUS olla ka C, tähistamaks\n" "sizeof(char), S tähistamaks sizeof(short), I tähistamaks sizeof(int) või\n" "L tähistamaks sizeof(long). Kui TÜÜP on f võib SUURUS olla ka F tähistamaks\n" "sizeof(float), D tähistamaks sizeof(double) või L tähistamaks\n" "sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "Lisades igale tüübile sufiksi z, väljastatakse iga rea lõpus olevad\n" "prinditavad sümbolid.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "BAITE on kuueteistkümnend number prefiksi 0x või 0X korral, ja võib omada\n" "kordaja sufiksit:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "ja nii edasi G, T, P, E, Z, Y korral.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "vigane tüübisõne %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "vigane tüübisõne %s;\n" "see süsteem ei realiseeri %lu-baidist sisetüüpi" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "vigane tüübisõne %s;\n" "see süsteem ei realiseeri %lu-baidist ujukoma tüüpi" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "vigane sümbol '%c' tüübisõnes %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "kombineeritud sisendi lõpust kaugemale liikuda ei saa" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "vigane väljundi aadressi raadiks '%c'; see peab olema üks sümbolitest [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "tüüpi ei saa määrata, kui trükitakse sõnesid" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "ühilduvuse mood toetab ülimalt ühte faili" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes on liiga suur" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "hoiatus: vigane laius %lu; kasutan selle asemel %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: vigane signaal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standardsisend suleti" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kirjuta read, mis koosnevad tabulaatoriga eraldatud igast failist kokku\n" "liidetud vastavatest ridadest, standardväljundisse.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LOEND kasuta TAB asemel sümboleid LOENDist\n" " -s, --serial väljasta üks fail korraga, mitte paralleelselt\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "eraldajate nimekirja lõpus on kaitsmata langkriips: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnoosi failide nimede mitteporditavaid konstruktsioone.\n" "\n" " -p testi enamus POSIX süsteeme\n" " -P testi tühje nimesid ja alustavat \"-\"\n" " --portability testi kõiki POSIX süsteeme (sama, kui -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "alustav '-' faili nime %s komponendis" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "mitteporditav sümbol %s faili nimes %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tühi failinimi" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: ei õnnestu tuvastada maksimaalset failinime pikkust" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "piirang %lu on ületatud, failinime pikkus %lu, fail %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "piirang %lu on ületatud, failinime komponendi pikkus %lu, komponent %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Kasutajanimi: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Reaalne nimi: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Kataloog: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Käsuinterpretaator: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plaan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Kasutaja" #: src/pinky.c:407 msgid "Name" msgstr "Nimi" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Eemal" #: src/pinky.c:411 msgid "When" msgstr "Millal" #: src/pinky.c:414 msgid "Where" msgstr "Kust" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Kasutamine: %s [VÕTI]... [KASUTAJA]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l väljasta antud kasutajate kohta kogu info\n" " -b ära esita kogu infos kasutaja kodukataloogi ja shelli\n" " -h ära esita kogu infos kasutaja projekti faili\n" " -p ära esita kogu infos kasutaja plaani faili\n" " -s väljasta lühiinfo, seda kasutatakse vaikimisi\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f ära väljasta lühiinfo väljade päiseid\n" " -w ära väljasta lühiinfos kasutaja täisnime\n" " -i ära väljasta lühiinfos kasutaja täisnime ja masinat\n" " -q ära väljasta lühiinfos kasutaja täisnime, masinat ja\n" " eemalolekut\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Kerge 'finger' programm; väljastab kasutaja kohta infot.\n" "Kasutatakse utmp faili %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "kasutajanimi puudub; -l kasutamisel peab olema vähemalt üks kasutajanimi" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "'--pages=ESIMENE[:VIIMANE]' puudub argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "vigane lehekülgede vahemik %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "'-l LEHE_PIKKUS' vigane ridade arv: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N NUMBER' vigane alustamise rea number: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "'-o ÄÄR' vigane rea nihe: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "'-w LEHE_LAIUS' vigane arv sümboleid: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "'-W LEHE_LAIUS' vigane arv sümboleid: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "paralleelselt väljastamisel ei saa veergude arvu määrata." #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "ei saa trükkida korraga järjestikku ja paralleelselt." #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "'-%c' liigsed sümbolid või vigane number argumendis: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "leht on liiga kitsas" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "alguslege number %<PRIuMAX> ületab lehekülgede arvu %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "lehekülje numbri ületäitumine" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Lehekülg %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Küljenda FAILid trükkimiseks lehekülgedeks või veergudeks.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ESIMENE_LEHT[:VIIMANE], --pages=ESIMENE_LEHT[:VIIMANE]\n" " alusta [lõpeta] trükkimine lehelt ESIMENE_[VIIMANE]" "_LEHT\n" " -N, --columns=N\n" " väljasta N veergu ja väljasta veerud ülalt alla,\n" " välja arvatud juhul, kui kasutatakse võtit -a.\n" " Ühtlusta ridade arv veergudes igal lehel.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across väljasta veerud risti üle leha, mitte ülalt alla,\n" " kasutatakse koos võtmega -VEERGE\n" " -c, --show-control-chars\n" " kasuta katus (^G) ja kaheksand langkriips notatsiooni\n" " -d, --double-space\n" " topeltreavahe väljundis\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=VORMING\n" " määra päise kuupäeva VORMING\n" " -e[SÜMB[LAIUS]], --expand-tabs[=SÜMB[LAIUS]]\n" " laienda sisendi sümbolid (TAB) tabulaatori laiuseni (8)\n" " -F, -f, --form-feed\n" " kasuta lehekülgede eraldamisel reavahetuste asemel\n" " lehevahetuse sümboleid (3-realine lehe päis võtmega -F\n" " või 5-realine päis ja jalus võtmata -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h PÄIS, --header=PÄIS\n" " kasuta lehe päises faili nime asemel PÄIS,\n" " -h \"\" väljastab tühja rea, ärge kasutage -h\"\"\n" " -i[SÜMB[LAIUS]], --output-tabs[=SÜMB[LAIUS]]\n" " asenda tühikud sümboliga (TAB) tabulatsiooni laiusega " "(8)\n" " -J, --join-lines mesti täisread, lülitab välja -W rea lühendamise, " "veerge\n" " ei joondata, --sep-string[=SÕNE] määrab eraldaja\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=LEHE_PIKKUS\n" " sea lehe pikkuseks LEHE_PIKKUS (66) rida (vaikimisi\n" " on teksti ridu 56, võtmega -F 63)\n" " -m, --merge väljasta kõik failid paralleelselt, üks veeru kohta,\n" " lühenda read, ridade kogupikkuses ühendamiseks\n" " kasutage -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[ERALD[NUM]], --number-lines[=ERALD[NUM]]\n" " nummerda read, kasuta NUM (5) numbrit, seejärel ERALD\n" " (TAB), vaikimisi alustatakse loendamist sisendfaili\n" " esimesest reast\n" " -N, --first-line-number=NUMBER\n" " alusta loendamist ühe asemel antud numbrist esimese\n" " trükitava lehe esimesel real (vaata ka +ESIMENE_LEHT)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=SERV\n" " nihuta iga rida SERV (null) tühikut, ei mõjuta võtmeid\n" " -w või -W, SERV lisatakse LEHE_LAIUSele\n" " -r, --no-file-warnings\n" " ära hoiata, kui faili ei saa avada\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[SÜMBOL],--separator[=SÜMBOL]\n" " erlda veerud antud sümboliga, võtmeta -w kasutatakse\n" " vaikimisi sümbolit <TAB> ja 'sümbol puudub' võtmega -w.\n" " -s[SÜMBOL] lülitab välja ridade lühendamise kõigi kolme\n" " veergudega seotud võtmete puhul (-VEERG|-a -VEERG|-m),\n" " välja arvatud juhul, kui kasutatakse võtit -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[SÕNE], --sep-string[=SÕNE]\n" " eralda veerud SÕNEga,\n" " võtmeta -S: -J ja <tühik> korral on vaikimisi eraldaja " "<TAB>\n" " muidu (sama, kui -S\" \"), ei kasutata veergudega\n" " seotud võtmetega\n" " -t, --omit-header blokeeri lehe päised ja sabad\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " keela päised ja jalused, eemalda sisendfailidest kõik\n" " lehevahetused\n" " -v, --show-nonprinting\n" " kasuta langkriipsuga kaheksandkoodide notatsiooni\n" " -w, --width=LEHE_LAIUS\n" " sea lehe laius LEHE_LAIUS (72) sümbolit mitme " "tekstiveeru\n" " väljundis, -s[sümbol] lülitab välja (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=LEHE_LAIUS\n" " määra lehe laiuseks LEHE_LAIUS (72) sümbolit, lühenda\n" " ridu, välja arvatud juhul, kui on seatud võti -J, ei\n" " sega võtmeid -S või -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Kui LEHE_PIKKUS <= 10, kasutatakse -t. Kui FAIL puudub või on -,\n" "loe standardsisendit.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Kasutamine: %s [VÕTI]... [MUUTUJA]...\n" "Väljasta näidatud keskkonnamuutujate väärtused.\n" "Kui keskkonnamuutujat MUUTUJA ei ole antud, väljasta nad kõik.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null lõpeta read reavahetuse asemel baidiga 0\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "hoiatus: %s: ignoreerin sümbolkonstandile järgnevaid sümboleid" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s FORMAAT [ARGUMENT]...\n" " või: %s VÕTI\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Väljasta ARGUMENT kasutades antud FORMAATI, või täida vastavalt võtmetele:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAAT kontrollib väljundit nagu C printf. Interpreteeritavad järjendid " "on:\n" "\n" " \\\" jutumärk\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN sümbol kaheksandkoodiga NNN (1 kuni 3 numbrit)\n" " \\xHH bait kuueteistkümnendväärtusega HH (1 kuni 2 numbrit)\n" " \\uHHHH Unikoodi (ISO/IEC 10646) sümbol kuueteistkümnendväärtusega HHHH\n" " (4 numbrit)\n" " \\UHHHHHHHH Unikoodi sümbol kuueteistkümnendväärtusega HHHHHHHH (8 " "numbrit)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% sümbol %\n" " %b ARGUMENT sõnena, mille '\\' järjendeid interpreteeritakse,\n" " kaheksand järjendid on kujul \\0 või \\0NNN\n" "\n" "ja samuti kõik C formaadi määrangud, mis lõppevad ühega sümboleist\n" "diouxXfeEgGcs, ja ARGUMENdid teisendatuna esmalt õigesse tüüpi.\n" "Käsitletakse ka muutuvaid pikkuseid.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: ootasin numbrilist väärtust" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: väärtust ei teisendatud täielikult" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "paojadas puudub kuueteistkümnend number" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "vigane universaal sümboli nimi \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "vigane välja laius: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "vigane täpsus: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: vigane teisenduse määrang" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "hoiatus: ignoreerin liigseid argumente, alustan argumendist %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (regulaaravaldisele %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Kasutamine: %s [VÕTI]... [SISEND]... (ilma -G)\n" " või: %s [VÕTI]... [SISEND [VÄLJUND]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "Väljasta sisendfailide sõnade kontekstregister.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference väljasta automaatselt loodud viited\n" " -G, --traditional käitu kui System V 'ptx'\n" " -F, --flag-truncation=SÕNE kasuta ridade lühendamise märkimiseks SÕNE\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=SÕNE kasuta 'xx' asemel makro nime\n" " -O, --format=roff loo väljund roff käskudena\n" " -R, --right-side-refs paiguta viited paremale, ei loendata " "võtmega -w\n" " -S, --sentence-regexp=REGAV realõpud või lausete lõpud\n" " -T, --format=tex loo väljund TeX käskudena\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGAV kasuta võtmesõnade leidmiseks REGAV\n" " -b, --break-file=FAIL sõnu eraldavad sümbolid on selles failis\n" " -f, --ignore-case järjesta tõstutundetult\n" " -g, --gap-size=NUMBER veergude vahe suurus väljundis\n" " -i, --ignore-file=FAIL loe ignoreeritavate sõnade nimekiri\n" " -o, --only-file=FAIL ainult lugemiseks olevate sõnade fail\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references esimene väli igal real on viide\n" " -t, --typeset-mode - ei ole realiseeritud -\n" " -w, --width=NUMBER väljasta veergudena, viideteta\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Kui FAIL puudub või on -, loe standardsisendit. '-F /' on vaikimisi.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "vigane tühemiku laius: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Väljasta jooksva töökataloogi täielik nimi.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical kasuta keskkonnast PWD, isegi kui see sisaldab " "nimeviiteid\n" " -P, --physical väldi kõiki nimeviiteid\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "chdir %s ebaõnnestus" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "stat %s ebaõnnestus" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "ei leia %s kataloogi kirjet, mille i-kirje sobiks" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignoreerin argumente, mis ei ole võtmed" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Väljasta nimeviite väärtus või kanooniline faili nimi.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize õgvenda järgides iga nimeviidet igas nime\n" " komponendis rekursiivselt;\n" " kõik osad, peale viimase peavad olemas " "olema\n" " -e, --canonicalize-existing õgvenda järgides iga nimeviidet igas nime\n" " komponendis rekursiivselt,\n" " kõik osad peavad olemas olema\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing õgvenda järgides iga nimeviidet igas nime\n" " komponendis rekursiivselt,\n" " osad ei pea olemas olema\n" " -n, --no-newline ei väljasta lõpetavaid reavahetusi\n" " -q, --quiet,\n" " -s, --silent blokeeri enamus veateateid\n" " -v, --verbose raporteeri vigadest\n" " -z, --zero eralda väljund reavahetuse asemel sümboliga " "NUL\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "mitme argumendi korral ignoreerin võtit --no-newline" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Väljasta lahendatud absoluutne faili nimi;\n" "kõik peale viimase komponendi peavad olemas olema\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing kõik tee komponendid peavad olemas olema\n" " -m, --canonicalize-missing tee komponente ei pruugi olemas olla\n" " -L, --logical lahenda '..' komponendid enne nimeviiteid\n" " -P, --physical lahenda nimeviited (vaikimisi)\n" " -q, --quiet blokeeri enamus veateateid\n" " --relative-to=FAIL väljasta lahendatud tee antud faili suhtes\n" " --relative-base=FAIL väljasta absoluutne tee alates faili teest\n" " -s, --strip, --no-symlinks ära laienda nimeviiteid\n" " -z, --zero eralda väljund reavahetuse asemel sümboliga " "NUL\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "genereerin suhtelise tee" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: laskun kirjutamise kaitsega kataloogi %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: laskun kataloogi %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: eemaldan kirjutuskaitsega %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: eemaldan %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "kustutatud kataloog: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "ei õnnestu kustutada kataloogi: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "jätan %s vahele, kuna asub teisel seadmel" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "lugemine ebaõnnestus: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "ootamatu tõrge: fts_info=%d: %s\n" "palun teatage aadressil %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Kasutage '%s ./%s' faili %s kustutamiseks.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Eemalda (unlink) FAIL(id).\n" "\n" " -f, --force ignoreeri puuduvaid faile, ära küsi\n" " -i küsi enne iga eemaldamist\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I küsi korra enne enam kui kolme faili eemaldamist " "või\n" " kui eemaldatakse rekursiivselt. Vähem pealetükkiv " "kui -i,\n" " aga pakub siiski kaitset enamus vigade vastu\n" " --interactive[=MILLAL] küsi vastavalt määrangule: never, once (-I) " "või\n" " always (-i). Kui MILLAL puudub, küsi alati\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system kustutades kataloogipuud, kustuta ainult samal\n" " seadmel olevaid faile\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root ära käsitle '/' eriliselt\n" " --preserve-root ära kustuta '/' (vaikimisi)\n" " -r, -R, --recursive eemalda kataloogide sisu rekursiivselt\n" " -d, --dir kustuta tühjad kataloogid\n" " -v, --verbose selgita mis on teoksil\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Vaikimisi ei kustuta rm katalooge. Kataloogide ja nende sisu kustutamiseks\n" "kasutage võtit --recursive (-r või -R).\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Et eemaldada faili, mille nimi algab sümboliga '-', näiteks '-foo',\n" "kasutage üht järgnevaist käskudest:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Kui te kasutate faili kustutamiseks käsku rm, võib olla võimalik siiski\n" "faili sisu taastada. Kui teil on vaja suuremat kindlust, et faili\n" "sisu ei saa taastada, proovige käsku shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: eemaldada kõik argumendid rekursiivselt? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: eemaldan kõik argumendid? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "kustutan kataloogi, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "kataloogi %s ei õnnestunud kustutada" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Eemalda tühjad kataloogid.\n" "\n" " --ignore-fail-on-non-empty\n" " ignoreeri vigu mis on tingitud sellest, et kataloog\n" " pole tühi\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents eemaldab KATALOOGI ja selle eellased. Näiteks \n" " 'rmdir -p a/b/c' on sarnane käsule 'rmdir a/b/c a/b a'.\n" " -v, --verbose väljastab diagnostika iga töödeldud kataloogi kohta\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "%s kustutamine ebaõnnestus" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Kasutamine: %s KONTEKST KÄSKLUS [argumendid]\n" " või: %s [ -c ] [-u KASUTAJA] [-r ROLL] [-t TÜÜP] [-l VAHEMIK] KÄSKLUS " "[arg..]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Käivitab programmi teises turvakontekstis.\n" "Kui kontekst ja käsk puudub, väljastab hetkel kehtiva turvakonteksti.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " KONTEKST Täielik turvakontekst\n" " -c, --compute enne muutmist arvuta protsessi ülemineku kontekst\n" " -t, --type=TÜÜP tüüp (vanemaga samas rollis)\n" " -u, --user=KASUTAJA kasutaja identiteet\n" " -r, --role=ROLL roll\n" " -l, --range=VAHEMIK taseme vahemik\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "mitu rolli" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "mitu tüüpi" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "mitu kasutajat" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "mitu taseme vahemikku" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "jooksva konteksti lugemine ebaõnnestus" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "peab olema antud -c, -t, -u, -l, -r või kontekst" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "puudub käsklus" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s saab kasutada ainult SELinux tuumaga" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "uue konteksti arvutamine ebaõnnestus" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "uue kasutaja %s seadmine ebaõnnestus" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "uue tüübi %s seadmine ebaõnnestus" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "uue vahemiku %s seadmine ebaõnnestus" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "uue rolli %s seadmine ebaõnnestus" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "turvakonteksti %s ei saa seada" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Kasutamine: %s [VÕTI]... VIIMANE\n" " või: %s [VÕTI]... ESIMENE VIIMANE\n" " või: %s [VÕTI]... ESIMENE SAMM VIIMANE\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" "Väljasta numbrite jada ESIMENE kuni VIIMANE, vastavalt antud sammule.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format FORMAAT kasuta printf stiilis ujukoma formaati\n" " -s, --separator=SÕNE kasuta numbrite eraldamiseks SÕNE (vaikimisi: " "\\n)\n" " -w, --equal-width kasuta võrdse laiusega välju, täida nullidega\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Kui ESIMENE või SAMM puudub, kasutatakse väärtust 1. Puuduva SAMMU asemel\n" "kasutatakse väärtust 1 isegi kui VIIMANE on väiksem, kui ESIMENE.\n" "ESIMENE, SAMM, VIIMANE interpreteeritakse, kui murdarve.\n" "SAMM on tavaliselt positiivne, kui ESIMENE on VIIMASEST väiksem ja\n" "negatiivne, kui VIIMANE on ESIMESEST väiksem.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAAT peab olema esitatud tüübiga 'double'. Kui ESIMENE, SAMM ja VIIMANE\n" "on fikseeritud punktiga kümnendnumbrid maksimum täpsusega PREC,\n" "kasutatakse formaadina %.PRECf, muidu %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "vigane murdarv: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "vormingus %s on tundmatu %%%c direktiiv" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "kui trükitakse võrdse pikkusega sõnesid, ei saa formaadisõnet kasutada" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Kasutamine: %s [LÜHIVÕTI]... KASUTAJA KÄSKLUS [ARGUMENT]...\n" " või: %s PIKK-VÕTI\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Eemalda täiendavad grupiõigused, võta antud KASUTAJA ID ja tema grupi ID\n" "ja käivita KÄSKLUS koos määratud argumentidega. Kui kasutaja ja grupi ID\n" "ei ole võimalik seada, lõpeta koodiga 111, muidu lõpeta sama koodiga,\n" "millega lõpetab KÄSKLUS.\n" "See programm on kasulik ainult juhul, kui käivitajaks on root (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] samuti sea primaarseks grupiks GID ja (kui on antud),\n" " täiendavate gruppide nimekiri GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "tundmatu kasutaja-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "et kasutada kasutaja-ID %s, on vaja samuti kasutada -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "lisagruppide nimekirja ei õnnestu seada" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "ei õnnestu seada grupi ID %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "ei õnnestu seada kasutaja ID %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Kirjuta antud failid korduvalt üle, et muuta raskemaks andmete taastamine\n" "isegi väga kalli riistvara abil.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force vajadusel lisa kirjutamisõigus\n" " -n, --iterations=N kirjuta üle vaikimisi (%d) korra asemel N korda\n" " --random-source=FAIL loe juhuarvudjuhuslikud baidid failist\n" " -s, --size=N töötle N baiti (lubatud on kasutada ka sufiksit K, M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove lühenda ja eemalda fail peale ülekirjutamisi\n" " -v, --verbose näita töö käiku\n" " -x, --exact ära ümarda failisuurusi üles täisplokini;\n" " see on mitte-tavafailide puhul vaikimisi käitumine\n" " -z, --zero varja töötlemist, kirjutades viimase tegevusena nulle\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Kui FAIL on -, töötle standardväljundit.\n" "\n" "Kustuta failid, kui kasutati võtit --remove (-u). Vaikimisi faile ei\n" "kustutata, kuna enamasti töötatakse seadmefailidega, näiteks /dev/hda,\n" "ja enamasti ei soovita nende eemaldamist. Tavaliste failidega töötamisel\n" "kasutab enamus inimesi võtit --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "HOIATUS: shred omab oma tööks tähtsat eeldust: failisüsteem kirjutab\n" "andmeid üle. See on traditsiooniline lähenemine, aga paljud süsteemid\n" "tänapäeval ei toeta seda eeldust. Näiteks järgnevatel failisüsteemidel\n" "ei ole shred efektiivne või ei ole efektiivne kõikides moodides:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* logi-struktuuriga või \"journaled\" failisüsteemid, näiteks nagu pakuvad\n" " AIX ja Solaris (ja JFS, ReiserFS, XFS, Ext3 jne.)\n" "\n" "* failisüsteemid, mis kirjutavad taastatavaid andmeid, näiteks RAID\n" " tehnoloogial põhinevad failisüsteemid\n" "\n" "* failisüsteemid, mis teevad andmetest väljavõtteid (snapshots), näiteks\n" " Network Appliance NFS server\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* failisüsteemid, mis kasutavad ajutisi puhvreid, nagu NFSv3 kliendid\n" "\n" "* tihendavad failisüsteemid\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Ext3 failisüsteemi korral kehtib ülaltoodu (ja seega on shred piiratud\n" "efektiivsusega) juhul, kui kasutatakse moodi data=journal, mis logib\n" "lisaks metainfole ka faili sisu. Nii data=ordered (vaikimisi), kui ka\n" "data=writeback moodis töötab shred nagu harilikult.\n" "Ext3 þhurnaali moode saab muuta, kasutades data=midagi parameetrit\n" "failisüsteemi haakimisel /etc/fstab failis, täpsemat infot saab mount\n" "käsu manualist (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Lisaks, failisüsteemide varukoopiad ja kaugkoopiad võivad sisaldada\n" "faili koopiaid, mida ei saa eemaldada ja see kõik võib võimaldada siiski\n" "seda faili hiljem taastada.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync ebaõnnestus" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync ebaõnnestus" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: ei saa ümber kerida" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: läbimine %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: viga kirjutamisel aadressile %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek ebaõnnestus" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fail on liiga suur" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: läbimine %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: läbimine %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat ebaõnnestus" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: vigane failitüüp" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: fail on negatiivse suurusega" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: viga lühendamisel" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl ebaõnnestus" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: ei õnnestu töödelda ainult lisamiseks mõeldud faili" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: eemaldan" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: uus nimi %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: kustutamine ebaõnnestus" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: eemaldatud" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: sulgemine ebaõnnestus" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: faili ei saa kirjutamiseks avada" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: vigane läbimiste arv" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "määrati mitu juhuarvude allikat" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: vigane faili suurus" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Kasutamine: %s [VÕTI]... [FAIL]\n" " või: %s -e [VÕTI]... [ARG]...\n" " või: %s -i ALG-LÕPP [VÕTI]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Kirjuta sisendfailide read juhuslikus permutatsioonis standardväljundisse.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo käsitle iga ARG kui sisendi rida\n" " -i, --input-range=ALG-LÕPP käsitle iga numbrit vahemikust sisendreana\n" " -n, --head-lines=RIDU väljasta maksimaalselt RIDU rida\n" " -o, --output=FAIL kirjuta tulemu standardväljundi asemel faili\n" " --random-source=FAIL loe juhuslikud baidid FAIList\n" " -z, --zero-terminated ridade lõppu bait 0, mitte reavahetus\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "kasutati mitut -i võtit" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "vigane sisendi vahemik: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "vigane ridade arv: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "määrati mitu väljundfaili" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Kasutamine: %s NUMBER[SUFIKS]...\n" " või: %s VÕTI\n" "Paus pikkusega NUMBER sekundit. SUFIKS võib olla 's', tähistamaks sekundeid\n" "(vaikimisi), 'm' minuteid, 'h' tunde või 'd' päevi. Erinevalt enamusest\n" "realisatsioonidest võib NUMBER olla ka murdarv. Kui on antud kaks või enam\n" "argumenti, on pausi pikkus kõikide argumentide summa.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "vigane ajaintervall %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "ei õnnestu lugeda reaalaja kella" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "Kirjuta järjestatud FAILide ühend standardväljundisse.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Võtmed järjestamiseks:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignoreeri ees olevaid tühimikke\n" " -d, --dictionary-order kasuta ainult tühemikke ja tähti ning " "numbreid\n" " -f, --ignore-case tööta tõstutundetult\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort võrdle vastavaid üldisi numbrilisi väärtusi\n" " -i, --ignore-nonprinting kasuta ainult trükitavaid sümboleid\n" " -M, --month-sort võrdle (tundmatu) < 'JAAN' < ... < 'DETS'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort võrdle inimesele loetavaid numbreid (n., 2K " "1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort võrdle vastavaid sõnede numbrilisi väärtusi\n" " -R, --random-sort järjesta juhuslike arvude paisktabeli järgi\n" " --random-source=FAIL loe juhuarvud failist\n" " -r, --reverse pööra võrdluste tulemus\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=SÕNA järjesta vastavalt SÕNALE:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort loomulik (versiooni) numbrite järjestamine " "tekstis\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Muud võtmed:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMESTI mesti korraga ülimalt NMESTI sisendit;\n" " paremaks ajutiste failide kasutamiseks\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first kontrolli kas sisend on järjestatud;\n" " ei järjesta\n" " -C, --check=quiet, --check=silent nagu -c, aga ei teata halvast reast\n" " --compress-program=PROG tihenda ajutised failid programmiga PROG;\n" " taastamiseks PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug teata järjestamiseks kasutatud rea osa,\n" " ja hoiata küsitavast kasutamisest stderr " "voogu\n" " --files0-from=F loe sisend failidest NUL sümboliga lõpetatud\n" " nimedega failist F;\n" " Kui F on - siis loe nimed standardsisendist\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KEYDEF kasuta järjestamisel võtit; võti annab asukoha\n" " ja tüübi.\n" " -m, --merge mesti juba järjestatud failid; ei järjesta\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FAIL kirjuta tulemus standardväljundi asemel FAILi\n" " -s, --stable stabiliseeri sort blokeerides last-resort " "võrdlus\n" " -S, --buffer-size=MAHT määra mälupuhvri suurus\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=ERA määra tühemiku asemele uus väljade eraldaja\n" " -T, --temporary-directory=KAT kasuta ajutiste failide jaoks $TMPDIR või " "%s\n" " asemel KAT. Korduv kasutamine määrab mitu\n" " kataloogi.\n" " --parallel=N määra järjestamise paralleelsuse aste\n" " -u, --unique võtmega -c: kontrolli ranget järjestatust\n" " muidu: väljasta võrdsetest ainult üks\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated lõpeta read reavahetuse asemel baidiga 0\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "KEYDEF on V[.S][VÕTMED][,V[.S][VÕTMED]] alguse ja lõpu määramiseks, kus V " "on\n" "välja number ja S on sümboli positsioon väljal, mõlemad algavad kohalt 1 " "ning\n" "lõpuks on vaikimisi realõpp. Kui võtmeid -t ega -b ei kasutata, loetakse\n" "sümboleid tekstile eelneva tühemiku algusest. VÕTMED on üks või enam ühe\n" "tähelisi järjestamise võtmeid [bdfgiMhnRrV], mis määravad antud võtme jaoks\n" "ümber globaalselt seatud järjestamise reegleid. Kui võtit ei ole antud,\n" "kasutatakse võtmena tervet rida.\n" "\n" "MAHT järel võib kasutada järgnevaid kordavaid sufikseid:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% mälust, b 1, K 1024 (vaikimisi), jne tähtedega M, G, T, P, E, Z, Y.\n" "\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" "\n" "*** HOIATUS ***\n" "Keskkonna poolt määratud lokaat mõjutab järjestamist. Traditsioonilise,\n" "baitide väärtusel põhineva järjestuse saamiseks seadke LC_ALL=C. \n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "ootan %s [-d] järel" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] lõpetas ebanormaalselt" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "%s sees ei õnnestu ajutist faili luua" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "open ebaõnnestus" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush ebaõnnestus" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "close ebaõnnestus" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 ebaõnnestus" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "%s ei õnnestu käivitada" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "ajutist faili ei õnnestu luua" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "%s -d jaoks ei õnnestunud protsessi luua" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "%s -d ei õnnestu käivitada" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "hoiatus: ei saa kustutada: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "vigane --%s argument %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "miinimum --%s argument on %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s argument %s on liiga suur" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "maksimaalne --%s argument praeguse rlimit piiranguga on %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "paralleelsuse number peab olema mittenull" #: src/sort.c:1494 msgid "stat failed" msgstr "stat ebaõnnestus" #: src/sort.c:1755 msgid "read failed" msgstr "lugemine ebaõnnestus" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "sõnede teisendamine ebaõnnestus" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "teisendamata sõne oli %s." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ võtit ei leitud\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "kasutati aeguvat võtit %s; kasutage selle asemel %s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "võtme %lu laius on null ja ignoreeritakse" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "võtme %lu ees olevad tühemikud on olulised; kaaluge ka 'b' kasutamist" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "võti %lu on numbriline ja haarab mitut välja" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "võtit '-%s' ignoreeritakse" msgstr[1] "võtmeid '-%s' ignoreeritakse" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "võti '-r' rakendub ainult viimase võrdluse korral" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "kirjutamine ebaõnnestus" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: korratu: " #: src/sort.c:2786 msgid "standard error" msgstr "standard veavoog" #: src/sort.c:3698 msgid "cannot read" msgstr "ei saa lugeda" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: vigane välja määrang %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "võtmed '-%s' ei sobi kokku" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: vigane loendur %s alguses" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "vigane kuupäev peale '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "vigane number peale '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "juhuslik sümbol välja määrangus" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "määrati mitu tihendusprogrammi" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "vigane number välja alguses" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "välja number on null" #: src/sort.c:4392 msgid "character offset is zero" msgstr "sümboli nihe on null" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "vigane number peale ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tühi tabulaator" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "failist %s ei õnnestu failide nimesid lugeda" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: vigane null-pikkusega faili nimi" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "%s sisend puudub" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "kasutan %s järjestamise reegleid" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "kasutan lihtsat baidivõrdlust" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "täiendav operand %s pole võtmega -%c lubatud" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "sufiksi pikkus peab olema vähemalt %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Kasutamine: %s [VÕTI]... [SISEND [PREFIKS]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Väljasta antud suurusega tükid sisendist failidesse PREFIKSaa,\n" "PREFIKSab, ...; vaikimisi kirjutatakse 1000 rida ja vaikimisi prefiks on " "'x'.\n" "Kui sisend puudub või on -, loe standardsisendit.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N kasuta sufikseid pikkusega N (vaikimisi %d)\n" " --additional-suffix=SUFIKS lisa faili nimele täiendav sufiks\n" " -b, --bytes=MAHT pane väljundi ritta MAHT baiti\n" " -C, --line-bytes=MAHT väljasta faili ülimalt MAHT baidiseid ridu\n" " -d, --numeric-suffixes[=ALG] kasuta tähtedega sufiksite asemel " "numbrilisi.\n" " ALG määrab alguse (vaikimisi 0)\n" " -e, --elide-empty-files ära loo tühje faile võtmega '-n'\n" " --filter=KÄSKLUS saada programmi; faili nimi on $FILE\n" " -l, --lines=NUMBER väljasta väljundfaili kohta NUMBER rida\n" " -n, --number=TÜKKI loo TÜKKI väljundfaili. Vaata allpoolt\n" " -u, --unbuffered kopeeri sisend kohe väljundiks võtmega '-n r/...'\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose väljasta enne iga faili avamist standard veavoogu\n" " diagnostilist infot\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "TÜKKI võib olla:\n" "N tükelda N failiks vastavalt sisendi mahule\n" "K/N väljasta standardväljundisse N'i K's osa\n" "l/N tükelda N failiks ridasid poolitamata\n" "l/K/N väljasta standardväljundisse N'i K's osa ridasid poolitamata\n" "r/N nagu 'l' aga kasuta \"round robin\" jaotust\n" "r/K/N sama, aga väljasta standardväljundisse ainult N'i K's osa\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "väljundfailide sufiksid said otsa" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "loon faili %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s kirjutab sisendi üle; katkestan" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "keskkonna muutuja FILE väärtustamine ei õnnestunud" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "käivitan muutujaga FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "ei õnnestu luua toru" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "sulen eelneva toru" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "sulgen väljundtoru" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "liigutan sisendtoru" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "sulgen sisendtoru" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "viga käivitamisel: \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "sisendtoru sulgemine ebaõnnestus" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "ootan alamprotsessi lõpetamist" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "failiga FILE=%s, signaal %s käsult: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "failiga FILE=%s, lõpetamise kood %d käsult: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "tundmatu olek käsult (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "ei saa tükeldada enam kui ühel viisil" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: vigane osade arv" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: vigane osa number" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: vigane sufiksi pikkus" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: vigane baitide arv" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: vigane ridade arv" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "ridade arvu võti -%s%c... on liiga suur" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: vigane sufiksi alustamise number" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: vigane IO bloki suurus" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter ei töötle standardväljundisse kirjutatud tükki" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "numbriline sufikisi algväärtus on sufiksi pikkuse jaoks liiga suur" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: ei õnnestu tuvastada faili suurust" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "%s kanoniseerimine ebaõnnestus" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "hoiatus: tundmatu jada '\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: vigane direktiiv" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "hoiatus: langkriips vormingu lõpus" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "%s standard sisendi tähistamiseks ei tööta faili süsteemi moodis" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "ei õnnestu lugeda %s failisüsteemi informatsiooni" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "stat ei saa standardsisendil kasutada" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fail: \"%n\"\n" " ID: %-8i Nimepikkus: %-7l Tüüp: %T\n" "Bloki suurus: %-10s Alus bloki suurus: %S\n" "Blokke: Kokku: %-10b Vabu: %-10f Kasutada: %a\n" "Inodesid: Kokku: %-10c Vabu: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fail: %N\n" " Suurus: %-10s\tBlokke: %-10b IO Blokke: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Seade: %Dh/%dd\tInode: %-10i Linke: %-5h Seadme tüüp: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Seade: %Dh/%dd\tInode: %-10i Linke: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Juurdepääs: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontekst=%C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Kasutamine: %x\n" "Modifitseerimine: %y\n" "Muutmine: %z\n" " Sünd: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Näita faili või failisüsteemi olekut.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference järgi viiteid\n" " -f, --filesystem esita faili oleku asemel failisüsteemi olek\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=VORMING määra uus vorming; peale iga VORMING kasutamist\n" " väljastatakse reavahetus\n" " --printf=VORMING nagu --format, aga töötleb ka langkriipsu " "paojadasid,\n" " ja ei väljasta automaatselt reavahetusi.\n" " Kui soovite reavahetust, kasutage \\n.\n" " -t, --terse esita info lakooniliselt\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Lubatud vormingu järjendid failidele (ei kasuta --file-system):\n" "\n" " %a õigused kaheksandesituses\n" " %A õigused inimesele loetaval kujul\n" " %b kasutatud blokkide arv (vaata %B)\n" " %B iga `%b' poolt antud bloki maht baitides\n" " %C SELinux turvakontekst\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d seadme number kümnendsüsteemis\n" " %D seadme number kuueteistkümnendsüsteemis\n" " %f mood kuueteistkümnendsüsteemis\n" " %F faili tüüp\n" " %g omaniku grupi ID\n" " %G omaniku grupi nimi\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h viidete arv\n" " %i ikirje number\n" " %m haakepunkt\n" " %n faili nimi\n" " %N jutumärkides faili nimi, nimeviite korral viidatav nimi\n" " %o S/V bloki suurus\n" " %s kogumaht, baitides\n" " %t seadme kuueteistkümnendsüsteemis põhinumber\n" " %T seadme kuueteistkümnendsüsteemis alamnumber\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u omaniku kasutaja ID\n" " %U omaniku kasutaja nimi\n" " %w faili loomise aeg, inimesele loetav; - kui pole teada\n" " %W faili loomise aeg, sekundites alates epohhist; 0 kui pole teada\n" " %x viimane kasutamine, inimesele loetav\n" " %X viimane kasutamine, sekundites alates epohhist\n" " %y viimane täiendamine, inimesele loetav\n" " %Y viimane täiendamine, sekundites alates epohhist\n" " %z viimane muutmine, inimesele loetav\n" " %Z viimane muutmine, sekundites alates epohhist\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Lubatud vormingu järjendid failisüsteemidele:\n" "\n" " %a vabu blokke mittepriviligeeritud kasutajatele\n" " %b andmeblokke kokku failisüsteemis\n" " %c failikirjeid kokku failisüsteemis\n" " %d vabu failikirjeid failisüsteemis\n" " %f vabu blokke failisüsteemis\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i failisüsteemi kuueteistkümnend id\n" " %l failinimede maksimaalne pikkus\n" " %n faili nimi\n" " %s optimaalne ülekande bloki suurus\n" " %S bloki suurus (blokkide arvu jaoks)\n" " %t tüüp kuueteistkümnend esituses\n" " %T inimesele loetaval kujul tüüp\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Kasutamine: %s [VÕTI]... KÄSKLUS\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "Käivita KÄSKLUS, kasutades standardvoogude muudetud seadeid.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MOOD kohenda standard sisendi puhverdust\n" " -o, --output=MOOD kohenda standard väljundi puhverdust\n" " -e, --error=MOOD kohenda standard veavoo puhverdust\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Kui MOOD on 'L', siis kasutatakse vastava voo korral reapuhvrit.\n" "See parameeter pole standardsisendi korral lubatud.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Kui MOOD on '0', siis vastavaid vooge ei puhverdata.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Muidu on MOOD number, mis võib olla täiendatud järgnevalt:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024 ja nii edasi G, T, P, E, Z, Y.\n" "Sellise seadega on voog puhverdatud ja MOOD on puhvri suurus.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "MÄRKUS: Kui KÄSKLUS kohendab oma standardvoogude puhvreid (n. 'tee'),\n" "siis need seaded kirjutavad 'stdbuf' seaded üle.\n" "Samuti osad filtrid (nagu 'dd' ja 'cat' jne.) ei kasuta vooge ja seega\n" "'stdbuf' seaded neid ei mõjuta.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "%s ei leitud" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "keskkonna muutmine väärtusega %s ei õnnestunud" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "reapuhver standardsisendil ei oma mõtet" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Kasutamine: %s [-F SEADE] [--file=SEADE] [OMADUS]...\n" " või: %s [-F SEADE] [--file=SEADE] [-a|--all]\n" " või: %s [-F SEADE] [--file=SEADE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Näita või muuda terminali seadistust.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all väljasta kõik kehtivad seaded inimesele loetavalt\n" " -g, --save väljasta kõik kehtivad seaded stty programmile " "loetavalt\n" " -F, --file=SEADE ava ja kasuta standardsisendi asemel antud seadet\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Võimalik - enne seadet tähistab eitust. Sümbol * märgib POSIX standardile\n" "mittevastavat seadet. Seadete kasutatavuse määrab kasutatav\n" "operatsioonisüsteem.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Spetsiaalsümbolid:\\n\"\n" " * dsusp SÜMBOL SÜMBOL saadab terminali peatamise signaali, kui sisend on " "loetud\n" " eof SÜMBOL SÜMBOL saadab faili lõpu teate (lõpetab sisendi)\n" " eol SÜMBOL SÜMBOL lõpetab rea\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 SÜMBOL alternatiivne SÜMBOL rea lõpetamiseks\n" " erase SÜMBOL SÜMBOL kustutab viimati kirjutatud sümboli\n" " intr SÜMBOL SÜMBOL saadab katkestamise signaali\n" " kill SÜMBOL SÜMBOL kustutab jooksva rea\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext SÜMBOL SÜMBOL sisestab järgmise sümboli kvoodituna\n" " quit SÜMBOL SÜMBOL saadab väljumise signaali\n" " * rprnt SÜMBOL SÜMBOL joonistab jooksva rea uuesti\n" " start SÜMBOL SÜMBOL käivitab väljundi peale peatamist\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop SÜMBOL SÜMBOL peatab väljundi\n" " susp SÜMBOL SÜMBOL saadab terminali peatamise signaali\n" " * swtch SÜMBOL SÜMBOL vahetab käsuinterpretaatori taset\n" " * werase SÜMBOL SÜMBOL kustutab viimati kirjutatud sõna\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Spetsiaalseaded:\n" " N sea sisendi ja väljundi kiiruseks N boodi\n" " * cols N teata tuumale, et terminalil on N veergu\n" " * columns N sama, kui cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N sea sisendi kiiruseks N\n" " * line N kasuta liiniseadeid N\n" " min N -icanon omadusega, sea lugemise lõpetamiseks min, N " "sümbolit\n" " ospeed N sea väljundi kiiruseks N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N teata tuumale, et terminalil on N rida\n" " * size väljasta terminali veerud ja read, vastavalt tuuma infole\n" " speed väljasta terminali kiirus\n" " time N -icanon omadusega, sea lugemise taimout N sekundi " "kümnendikku\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Kontrollseaded:\n" " [-]clocal blokeeri modemi kontrolli signaalid\n" " [-]cread luba sisendit\n" " * [-]crtscts luba RTS/CTS vookontroll\n" " * [-]cdtrdsr luba DRT/DSR vookontroll\n" " csN sea sümboli suuruseks N bitti, N vahemikust [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb kasuta sümboli kohta kaht stop bitti (üks '-' korral)\n" " [-]hup saada hangup signaal, kui viimane protsess suleb tty\n" " [-]hupcl sama, kui [-]hup\n" " [-]parenb genereeri väljundis paarsusbitt ja eelda paarsust sisendis\n" " [-]parodd sea paaritu paarsus (paaris '-' korral)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Sisendiseaded:\n" " [-]brkint break põhjustab katkestuse signaali\n" " [-]icrnl tõlgi rea algusse sümbol reavahetuseks\n" " [-]ignbrk ignoreeri break sümbolit\n" " [-]igncr ignoreeri rea algusse sümbolit\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignoreeri paarsusveaga sümboleid\n" " * [-]imaxbel piiksu ja ära tühjenda täis sisendpuhvrit\n" " [-]inlcr tõlgi reavahetus rea algusse sümboliks\n" " [-]inpck luba sisendi paarsuse kontroll\n" " [-]istrip eemalda sisendsümbolitelt ülemine (8-s) bitt\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 eelda et sisendsümbolid kasutavad UTF-8 kooditabelit\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc tõlgi suurtähed väiketähtedeks\n" " * [-]ixany luba väljundit alustada igal, mitte ainult start sümbolil\n" " [-]ixoff luba start/stop sümbolite edastus\n" " [-]ixon luba XON/XOFF vookontroll\n" " [-]parmrk märgi paarsusvead (kasutatakse 255-0-sümbol järjendis)\n" " [-]tandem sama, kui [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Väljundi seaded:\n" " * bsN samm tagasi viivitus, N vahemikust [0..1]\n" " * crN rea algusse viivitus, N vahemikust [0..3]\n" " * ffN lehevahetuse viivitus, N vahemikust [0..1]\n" " * nlN reavahetuse viivitus, N vahemikust [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl tõlgi rea algusse sümbol reavahetuseks\n" " * [-]ofdel kasuta täitesümbolitena null asemel kustutamise sümbolit\n" " * [-]ofill kasuta viivitustel ootamise asemel täitesümboleid\n" " * [-]olcuc tõlgi väiketähed suurtähtedeks\n" " * [-]onlcr tõlgi reavahetus paariks rea algusse-reavahetus\n" " * [-]onlret reavahetus käitub, nagu rea algusse sümbol\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ära väljasta esimesel veerul rea algusse sümbolit\n" " [-]opost väljundi järeltöötlus\n" " * tabN horisontaalse tabulaatori viivitus, N vahemikust [0..3]\n" " * tabs sama, kui tab0\n" " * -tabs sama, kui tab3\n" " * vtN vertikaalse tabulaatori viivitus, N vahemikust [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokaalsed seaded:\n" " [-]crterase korda kustutamise sümbolit kui samm tagasi-tühik-samm " "tagasi\n" " * crtkill surma terve rida vastavalt echoprt ja echoe seadetele\n" " * -crtkill surma terve rida vastavalt echoctl ja echok seadetele\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho korda kontrollsümboleid katus notatsioonis ('^c')\n" " [-]echo korda sisendi sümboleid\n" " * [-]echoctl sama, kui [-]ctlecho\n" " [-]echoe sama, kui [-]crterase\n" " [-]echok väljasta kill sümboli järel reavahetus\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke sama, kui [-]crtkill\n" " [-]echonl korda reavahetust isegi, kui teisi sümboleid ei korrata\n" " * [-]echoprt korda kustutatud sümboleid esitades neid '\\' ja '/' vahel\n" " [-]icanon luba spetsiaalsümbolid erase, kill, werase ja rprnt\n" " [-]iexten luba POSIX mittevastavad spetsiaalsümbolid\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig luba spetsiaalsümbolid interrupt, quit ja suspend\n" " [-]noflsh keela tühjendamine peale katkestamise ja väljumise " "sümboleid\n" " * [-]prterase sama, kui [-]echoprt\n" " * [-]tostop peata taustatööd, mis üritavad terminalile kirjutada\n" " * [-]xcase icanon omadusega, kasuta suurtähtede ees '\\'\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombineeritud seaded:\n" " * [-]LCASE sama, kui [-]lcase\n" " cbreak sama, kui -icanon\n" " -cbreak sama, kui icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked sama, kui brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof ja eol sümbolid seatakse vaikimisi väärtustele\n" " -cooked sama, kui raw\n" " crt sama, kui echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec sama, kui echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq sama, kui [-]ixany\n" " ek erase ja kill sümbolid seatakse vaikimisi väärtustele\n" " evenp sama, kui parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp sama, kui -parenb cs8\n" " * [-]lcase sama, kui xcase iuclc olcuc\n" " litout sama, kui -parenb -istrip -opost cs8\n" " -litout sama, kui parenb istrip opost cs7\n" " nl sama, kui -icrnl -onlcr\n" " -nl sama, kui icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp sama, kui parenb parodd cs7\n" " -oddp sama, kui -parenb cs8\n" " [-]parity sama, kui [-]evenp\n" " pass8 sama, kui -parenb -istrip cs8\n" " -pass8 sama, kui parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw sama, kui -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw sama, kui cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane sama, kui cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, kõik\n" " spetsiaalsümbolid seatakse vaikimisi väärtustele\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Käsitle terminali, mis on ühendatud standardsisendiga. Kui argumente\n" "ei antud, väljasta terminali kiirus, liini seaded ja erinevused seadest\n" "`stty sane'. Terminali seadete muutmisel käsitletakse SÜMBOLit kas\n" "literalina või kui ^c, 0x37, 0177 või 127; spetsiaalväärtuseid ^- või\n" "undef kasutatakse vastava sümboli blokeerimiseks.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "lubatud on ainult üks seade" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "inimesele loetava ja programmile loetava väljundi seaded on üksteist " "välistavad" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "kui määrate väljundi moodi, siis ei saa seadme moodi seada" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: ei õnnestu eemaldada mitte-blokeeruvat moodi" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "vigane argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "%s nõuab argumenti" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "vigane liini määrang %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: kõiki nõutud operatsioone ei õnnestunud sooritada" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: sellel seadmel puudub info suuruse kohta" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "vigane numbriline argument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Väljasta iga faili kohta kontrollsumma ja blokkide arv.\n" "\n" " -r kasuta BSD sum algoritmi, kasuta 1K blokke\n" " -s, --sysv kasuta System V sum algoritmi, kasuta 512 baidiseid " "blokke\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Salvesta muutused kettale, uuenda superplokki.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignoreerin kõiki argumente" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "MÄRKUS: teie käsuinterpretaator võib omada oma versiooni %s, millist " "tavaliselt\n" "eelistatakse siinkirjeldatule. Täpsemat infot ja kasutusjuhendi leiate\n" "oma käsuinterpretaatori dokumentatsioonist.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help väljasta see abiinfo ja lõpeta töö\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version väljasta versiooniinfo ja lõpeta töö\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka " "lühikestele.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "SUURUS on täisarv ja võimalik ühik (näiteks: 10M on 10*1024*1024). Ühikud\n" "on K, M, G, T, P, E, Z, Y (1024 kordsed) või KB, MB, ... (1000 kordsed).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Esitatavad väärtused on ühikud esimesest kasutatavast --block-size\n" "SIZE väärtusest ja %s_BLOCK_SIZE, BLOCK_SIZE ning BLOCKSIZE\n" "keskkonnamuutujatest. Muidu on ühik vaikimisi 1024 (või 512, kui \n" "POSIXLY_CORRECT on seatud).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "%s vigadest teatage palun aadressil %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Teatage %s tõlkevigadest aadressil <http://translationproject.org/team/>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Täieliku dokumentatsiooni saate käsuga: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Lisainfo saamiseks proovige '%s --help'.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "HOIATUS: Tsükliline kataloogide struktuur.\n" "See tähendab peaaegu alati, et failisüsteem on viga saanud.\n" "TEAVITA OMA SÜSTEEMIADMINISTRAATORIT.\n" "Järgnev kataloog on tsükli osa:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kirjuta iga FAIL standardväljundisse, viimane rida esimesena.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before kasuta eraldajat enne, mitte pärast\n" " -r, --regex interpreteeri eraldajat regulaaravaldisena\n" " -s, --separator=SÕNE kasuta reavahetuse asemel eraldajana SÕNE\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: seek ebaõnnestus" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "kirje on liiga suur" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "%s sees ei õnnestu ajutist faili luua" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "faili %s ei saa kirjutamiseks avada" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "%s voogu ei saa kerida" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: viga kirjutamisel" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "%s ei õnnestu lugemiseks avada" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "eraldaja ei või olla tühi" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Väljasta viimased %d rida igast FAILIST standardväljundisse.\n" "Enam, kui ühe FAILI korral, lisa iga faili ette päis faili nimega.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K väljasta viimased K baiti; alternatiiv, kasutage\n" " K-nda baidiga alustades baidid võtmega -c +K\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={nimi|pide}]\n" " väljasta faili kasvamisel lisanduvad andmed;\n" " -f, --follow ja --follow=pide on samaväärsed\n" " -F sama, kui --follow=nimi --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K väljasta vaikimisi %d viimase rea asemel K rida\n" " või kasuta -n +K et väljastatda read alates " "Kndast\n" " --max-unchanged-stats=N\n" " võtmega --follow=nimi, ava FAIL, mis ei ole N\n" " iteratsiooni (vaikimisi %d) järel muutunud, " "uuesti\n" " tegemaks kindlaks, et seda faili ei ole " "kustutatud\n" " või ümber nimetatud (nagu seda võib juhtuda\n" " logifailidega). inotify korral pole seda võtit\n" " eriti vaja.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID võtmega -f, lõpeta töö, kui protsess PID lõpetab\n" " -q, --quiet, --silent ära väljasta päiseid faili nimega\n" " --retry jätka faili avamise üritamist, isegi kui see\n" " muutub mittekasutatavaks; kasutatav võtmega\n" " --follow=nimi\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N võtmega -f, maga jälgimiste vahel umbes N " "sekundit\n" " (vaikimisi 1.0). Koos inotify ja --pid=P, " "kontrolli\n" " protsessi P vähemalt N sekundi järel.\n" " -v, --verbose väljasta alati päised faili nimega\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Kui N esimene sümbol (baitide või ridade arv) on '+', väljasta alustades\n" "faili algusest Ninda elemendiga, muidu väljasta failist viimased N " "elementi. \n" "N võib omada kordavat sufiksit:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000,\n" "G 1024*1024*1024 ja nii edasi tähtedega T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Võtmega --follow (-f), tail jälgib failipidet, mis tähendab et isegi juhul,\n" "kui fail nimetatakse ümber, tail jätkab faili muudatuste jälgimist.\n" "Selline vaikimisi käitumine ei ole kasulik, kui teil on vaja faili jälgida\n" "nime järgi, mitte failipideme (n. logide roteerumisel). Viimasel juhul\n" "kasutage võtit --follow=nimi. Siis jälgib tail faili nime põhjal, avades\n" "seda perioodiliselt uuesti, millega testitakse faili ümber nimetatmist,\n" "kustutamist ja uuesti loomist.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "sulen %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: ei õnnestu liikuda suhtelisele nihkele %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: ei õnnestu liikuda lõpu-suhtelisele nihkele %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "%s asukohta ei õnnestu tuvastada. kasutan pollimist" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "tundmatu failisüsteemi tüüp 0x%08lx %s jaoks. Palun saatke raport: %s. " "kasutan pollimist" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s pole enam kasutatav" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s asendati mitte-jälgitava failiga; ei jälgi seda enam" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s asendati mitte-lokaalse failiga; ei jälgi seda enam" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s on jälle kasutatav" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s tekkis; järgin uue faili lõppu" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s asendati; järgin uue faili lõppu" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: ei õnnestu muuta mitte-blokeeruvat moodi" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fail on lühendatud" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "rohkem faile pole" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "ei õnnestu jälgida %s vanemkataloogi" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "inotify ressursid said otsa" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s ei õnnestu jälgida" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "viga inotify sündmuse monitoorimisel" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "viga inotify sündmuse lugemisel" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: seda tüüpi faili lõppu ei saa järgida; annan alla" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "%s number on liiga suur" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: vigane maksimum arv mittemuutunud atribuute avamiste vahel" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: vigane PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: vigane arv sekundeid" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "võtit kasutati vales kontekstis -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "hoiatus: --retry on kasutatav ainult failide jälgimisel nime põhjal" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "hoiatus: PID ignoreeritakse; --pid=PID on kasulik ainult failide jälgimisel" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "hoiatus: --pid=PID ei ole selles süsteemis toetatud" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "ei õnnestu %s nime järgi leida" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "hoiatus: standardsisendi lõpmatu jälgimine ei toimi" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify ei saa kasutada, kasutan pollimist" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopeeri standardsisend igasse FAILi, samuti standardväljundisse.\n" "\n" " -a, --append lisa antud FAILidesse, ära kirjuta üle\n" " -i, --ignore-interrupts ignoreeri katkestusi\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Kui FAIL on -, kopeeri uuesti standardväljundisse.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s nõuab argumenti" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "vigane täisarv %s" #: src/test.c:241 msgid "')' expected" msgstr "')' puudub" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' puudub, leidsin %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: oodati unaarset operaatorit" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt ei luba -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef ei luba -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot ei luba -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "tundmatu binaarne operaator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: oodati binaarset operaatorit" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Kasutamine: test AVALDIS\n" " või: test\n" " või: [ AVALDIS ]\n" " või: [ ]\n" " või: [ VÕTI\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Lõpeta olekuga, mille määrab AVALDIS.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Puuduva AVALDIS korral kasutatakse väärtust väär. Muidu, \n" "AVALDIS on kas tõene või väär ja seab lõpetamise oleku.\n" "Avaldis on üks järgnevaist:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( AVALDIS ) AVALDIS on tõene\n" " ! AVALDIS AVALDIS on väär\n" " AVALDIS1 -a AVALDIS2 nii AVALDIS1, kui ka AVALDIS2 on tõesed\n" " AVALDIS1 -o AVALDIS2 kas AVALDIS1 või AVALDIS2 on tõene\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n SÕNE SÕNE pikkus on nullist erinev\n" " SÕNE sama kui -n SÕNE\n" " -z SÕNE SÕNE pikkus on null\n" " SÕNE1 = SÕNE2 sõned on võrdsed\n" " SÕNE1 != SÕNE2 sõned ei ole võrdsed\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " NUMBER1 -eq NUMBER2 NUMBER1 ja NUMBER2 on võrdsed\n" " NUMBER1 -ge NUMBER2 NUMBER1 on suurem või võrdne, kui NUMBER2\n" " NUMBER1 -gt NUMBER2 NUMBER1 on suurem, kui NUMBER2\n" " NUMBER1 -le NUMBER2 NUMBER1 on väiksem või võrdne, kui NUMBER2\n" " NUMBER1 -lt NUMBER2 NUMBER1 on väiksem, KUI NUMBER2\n" " NUMBER1 -ne NUMBER2 NUMBER1 ja NUMBER2 ei ole võrdsed\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FAIL1 -ef FAIL2 FAIL1 ja FAIL2 omavad samu seadme ja ikirje numbreid\n" " FAIL1 -nt FAIL2 FAIL1 on uuem (muutmise aeg), kui FAIL2\n" " FAIL1 -ot FAIL2 FAIL1 on vanem, kui FAIL2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FAIL FAIL on olemas ja on blokkseade\n" " -c FAIL FAIL on olemas ja on sümbolseade\n" " -d FAIL FAIL on olemas ja on kataloog\n" " -e FAIL FAIL on olemas\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FAIL FAIL on olemas ja on tavaline fail\n" " -g FAIL FAIL on olemas ja omab sea-grupi-ID õigust\n" " -G FAIL FAIL on olemas grupp on efektiivne grupi ID\n" " -h FAIL FAIL on olemas ja on nimeviide (sama, kui -L)\n" " -k FAIL FAIL on olemas ja omab kleepimisõigust\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FAIL FAIL on olemas ja on nimeviit (sama, kui -h)\n" " -O FAIL FAIL on olemas ja omanik on efektiivne kasutaja ID\n" " -p FAIL FAIL on olemas ja on nimega toru\n" " -r FAIL FAIL on olemas ja on loetav\n" " -s FAIL FAIL on olemas ja tema suurus on suurem kui null\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FAIL FAIL on olemas ja on pesa\n" " -t FP terminalil on avatud failipide FP\n" " -u FAIL FAIL on olemas ja omab sea-kasutaja-ID õigust\n" " -w FAIL FAIL on olemas ja on kirjutatav\n" " -x FAIL FAIL on olemas ja on käivitatav (või otsitav)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Välja arvatud -h ja -L korral, kõik failidega seotud operatsioonid " "lahendavad\n" "nimeviiteid. Pange tähele, et sulud vajavad käsuinterpretaatori eest " "kaitset\n" "kvootimise või langkriipsuga kaitsmise näol. NUMBER võib olla ka -l SÕNE,\n" "mis tähistab siis SÕNE pikkust.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "MÄRKUS: [ arvestab --help ja --version võtmeid, aga test mitte.\n" "test käsitleb neid nagu igat teist mittetühja sõne.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test ja/või [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "puudub ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "liigne argument: %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "hoiatus: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "hoiatus: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "hoiatus: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Kasutamine: %s [VÕTI] KESTUS KÄSKLUS [ARGUMENT]...\n" " või: %s [VÕTI]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Käivita käsk ja tapa see, kui see pole peale antud aega veel lõpetanud.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " lõpeta sama koodiga kui käsklus, isegi juhul kui programm\n" " tapeti\n" " --foreground\n" " Kui ei tööta esiplaanil, luba käsul lugeda terminali ja\n" " saada terminali signaale.\n" " Selles moodis käsu alamprotsessid timeout ei saa.\n" " -k, --kill-after=KESTUS\n" " saada KILL signaal, kui käsklus on nii kaua käinud peale\n" " esimese signaali saatmist.\n" " -s, --signal=SIGNAAL\n" " määra taimouti korral saadetav signaal.\n" " SIGNAAL võib olla nimi, nagu 'HUP', või number.\n" " Signaalide nimekirja saate käsuga 'kill -l`\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "KESTUS on ujukomaarv järgneva võimaliku sufiksiga:\n" "'s' on sekundit(vikimisi), 'm' on minutit, 'h' on tunde ja 'd' on päevi.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Kui käsklus ei lõpeta õigeaegselt ja --preserve-status ei kasutatud, " "lõpetab\n" "koodiga 124. Muidu lõpetab käsu lõpetamise koodiga. Kui signaali ei " "määratud,\n" "saadab TERM signaali. TERM signaal tapab iga protsessi, mis seda signaali " "ei\n" "blokeeri või kinni ei püüa. Muude protsesside korral võib olla vajalik " "kasutada\n" "KILL (9) signaali, sest seda signaali ei saa kinni püüda. KILL (9) korral\n" "on lõpetamise kood 128+9, mitte 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "hoiatus: mälupildi salvaestamise keelamine ei õnnestunud" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "viga käsu järele ootamisel" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "jälgitav käsk salvestas core faili" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "vigane kuupäeva vorming %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "%s ei õnnestu kasutada" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "sean faili %s aegu" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Sea iga faili kasutamise ja muutmise ajad antud ajahetkele.\n" "\n" "Kui faili pole, see luuakse tühjana, välja arvatud võtmete -c või -h\n" "kasutamisel.\n" "\n" "Kui fail on -, muudetakse faili, mis on seotud standardväljundiga.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a muuda ainult kasutamise (access) aeg\n" " -c, --no-create ära loo faile\n" " -d, --date=SÕNE analüüsi SÕNE ja kasuta seda jooksva aja asemel\n" " -f (ignoreeritakse)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference muuda viidatava asemel nimeviidet\n" " (kasutatav süsteemides, kus saab muuta nimeviite\n" " omanikku)\n" " -m muuda ainult muutmise (modification) aega\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FAIL kasuta jooksva aja asemel selle faili aegu\n" " -t TEMPEL kasuta jooksva aja asemel [[SS]AA]KKPPttmm[.ss]\n" " --time=SÕNA sea antud aeg, SÕNA võib olla: \n" " access, atime või use: sama kui -a\n" " modify või mtime: sama kui -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Pange tähele, et võtmed -d ja -t kasutavad erinevaid aja vorminguid.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "ei õnnestu kirjeldada aegu rohkem kui ühest allikast" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "hoiatus: 'touch %s' on aegunud; kasutage `touch -t %04ld%02d%02d%02d%02d." "%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Kasutamine: %s [VÕTI]... HULK1 [HULK2]...\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Tõlgi, tihenda ja/või kustuta sümboleid standardsisendist väljastades \n" "standardväljundisse.\n" "\n" " -c, -C, --complement täienda HULK1\n" " -d, --delete kustuta sümbolid HULK1, ei tõlgi\n" " -s, --squeeze-repeats asenda iga korduv sümbol sisendi järjendis, mis " "on\n" " märgitud HULK1 selle sümboli ühekordse esitusega\n" " -t, --truncate-set1 esmalt lühenda HULK1 HULK2 pikkuseks\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "HULGAD esitatakse sümbolite jadana. Enamus esitab iseennast.\n" "Interpreteeritavad järjendid on:\n" "\n" " \\NNN sümbol kaheksandväärtusega NNN (1 kuni 3 " "kaheksandnumbrit)\n" " \\\\ langkriips\n" " \\a kuuldav piiks\n" " \\b samm tagasi\n" " \\f lehevahetus\n" " \\n uus rida\n" " \\r reavahetus\n" " \\t horisontaalne tabulaator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v vertikaalne tabulaator\n" " SÜMB1-SÜMB2 kõik sümbolid alates SÜMB1 kuni SÜMB2 kasvavas " "järjekorras\n" " [SÜMB*] HULGAS2, kopeerib sümbolit kuni HULK1 pikkuseni\n" " [SÜMB*KORD] korda sümbolit, KORD on kaheksandnumber, kui algab " "nulliga\n" " [:alnum:] kõik tähed ja numbrid\n" " [:alpha:] kõik tähed\n" " [:blank:] kõik horisontaal tühemikud\n" " [:cntrl:] kõik kontrollsümbolid\n" " [:digit:] kõik numbrid\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] kõik trükitavad sümbolid, aga mitte tühik\n" " [:lower:] kõik väiketähed\n" " [:print:] kõik trükitavad sümbolid, ka tühik\n" " [:punct:] kõik punktuatsiooni sümbolid\n" " [:space:] kõik horisontaal või vertikaal tühemikud\n" " [:upper:] kõik suurtähed\n" " [:xdigit:] kõik kuueteistkümnend numbrid\n" " [=SÜMBOL=] all sümbolid, mis on ekvivalentsed sümboliga SÜMBOL\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Tõlkimine toimub, kui -d ei kasutatud ja HULK1 ja HULK2 on määratud.\n" "-t saab kasutada ainult tõlkimisel. HULK2 täiendatakse vajadusel HULK1\n" "pikkuseni, korrates vajadusel viimast HULK2 sümbolit. Liigseid sümboleid\n" "HULK2s ignoreeritakse vajadusel. Ainult [:lower:] ja [:upper:] on\n" "garanteeritult kasvavas järjestuses. Kasutatuna HULK2 koosseisus " "tõlkimisel,\n" "saab seda kasutada ainult tähesuuruse tõlkimisel. -s kasutab HULK1 kui ei\n" "tõlgi või kustuta; tihendamine kasutab HULK2 ja teostatakse peale tõlkimist\n" "või kustutamist.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "hoiatus: segast kaheksand paojada \\%c%c%c interpreteeritakse\n" "\t2-baidise järjendina \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "hoiatus: kaitsmata langkriips vormingu lõpus pole porditav" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "vahemiku otsad '%s-%s' on tagurpidi järjestuses" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "vigane korduste arv %s [c*n] konstruktsioonis" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "puudub sümbolite klassi nimi '[::]'" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "puudub ekvivalentsiklassi sümbol '[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "vigane sümbolite klass %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ekvivalentsiklassi operand peab olema yks sümbol" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "joondamata [:upper:] ja/või [:lower:] konstruktsioonid" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "hulgas on liiga palju sümboleid" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "tõlkides olukorras kus sõne1 on pikem, kui sõne2,\n" "ei tohi viimane lõppeda sümbolite klassiga" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "kordamise konstruktsiooni [c*] ei saa kasutada sõnes1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "sõnes2 saab kasutada ainult ühte kordamise konstruktsiooni [c*]" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "tõlkimisel ei saa sõnes2 [=c=] avaldisi kasutada" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "tõlkimisel saab sõne2 sees kasutada sümbolklassidena ainult klasse\n" "'upper' ja 'lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "kui hulka1 ei lühendata, peab sõne2 olema mittetühi" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "kui tõlkida kasutades täiendatud sümbolklasse,\n" "peab sõne2 seostama kõik doomeni sümbolid ühe sümboliga" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*] konstruktsioon võib olla sõne2 sees ainult tõlkimisel" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "Korduste kustutataks ja tihendamiseks peab olema antud kaks sõnet." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Tõlkimisel tuleb näidata kaks sõne." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Kui kordusi kustutatakse tühjendamiseta, peab olema antud ainult üks sõne." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s NIMI [ignoreeritavad argumendid]\n" " või: %s VÕTI\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Lõpeta koodiga, mis tähistab õnnestumist." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Lõpeta koodiga, mis tähistab viga." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Kasutamine: %s VÕTI... [FAIL]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Lühenda või kasvata iga faili antud suuruseni\n" "\n" "Kui argumendina näidatud fail puudub, siis see luuakse.\n" "\n" "Kui fail on suurem, kui antud suurus, liigsed andmed kustutatakse.\n" "Kui fail on väiksem, seda kasvatatakse ja täiendav osa loetakse null " "baitidena.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create ära loo ühtegi faili\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks käsitle SUURUS kui IO blokkide arvu, baitide " "asemel\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=FAIL kasuta selle faili suurust\n" " -s, --size=SUURUS sea või muuda faili suurust\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "SUURUS võib olla prefiksiga ühest järgnevaist sümbolitest:\n" "'+' suurenda, '-' vähenda, '<' kuni, '>' vähemalt,\n" "'/' ümarda alla kordseks, '%' ümarda üles kordseks.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "ületäitumine %<PRIdMAX> * %<PRIdMAX> baiti blokke faili %s kohta" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s pole kasutatav, negatiivne suurus" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "ei õnnestu lugeda %s suurust" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "faili %s suuruse ümardamisel tekkis ületäitumine" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "faili %s suurendamisel tekkis ületäitumine" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "%s lühendamine %<PRIdMAX> baidile ebaõnnestus" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "määrati mitu suhtelist modifikaatorit" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "peab olema määratud kas %s või %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "peab olema määratud suhteline %s %s korral" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s on antud, aga %s mitte" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s ei õnnestu kirjutamiseks avada" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Kasutamine: %s [VÕTI] [FAIL]\n" "Väljasta FAIL totaalses järjestuses kooskõlas elementide osalise " "järjestusega.\n" "Kui FAIL puudub või on -, loe standardsisendit.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: sisend sisaldab juhusliku arvu märke" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: sisend sisaldab tsüklit:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Väljasta standardsisendiga ühendatud terminali nimi.\n" "\n" " -s, --silent, --quiet ära väljasta midagi, tagasta ainult lõpetamise " "olek\n" #: src/tty.c:120 msgid "not a tty" msgstr "pole terminal" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Väljasta informatsiooni süsteemist. Kui võtmeid ei ole antud, kasutab -s.\n" "\n" " -a, --all kogu info järgnevas järjestuses, välja arvatud\n" " -p ja -i, kui on tundmatud:\n" " -s, --kernel-name väljasta tuuma nimi\n" " -n, --nodename väljasta masina võrgunimi\n" " -r, --release väljasta tuuma väljalase\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version väljasta tuuma versioon\n" " -m, --machine väljasta masina (riistvara) tüüp\n" " -p, --processor väljasta arvuti protsessori tüüp või \"unknown\"\n" " -i, --hardware-platform väljasta riistvara platvorm või \"unknown\"\n" " -o, --operating-system väljasta operatsioonisüsteemi nimi\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "Väljasta masina arhitektuur.\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "ei õnnestu leida süsteemi nime" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Teisenda igas FAILis tühikud tabulaatoriteks, väljasta standardväljundisse.\n" "Kui FAIL puudub, või on -, loe standardsisendit.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all teisenda kõik tühemikud, mitte ainult esimene\n" " --first-only teisenda ainult eesmised tühemikud (blokeerib -a)\n" " -t, --tabs=NUMBER tabulaatori laius 8 asemel NUMBER sümbolit (lubab -a)\n" " -t, --tabs=LOEND komadega eraldatud tabulaatori positsioonid (lubab -" "a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabulaatorid on liiga kaugel" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "tabulaatori peatus on liiga suur" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Kasutamine: %s [VÕTI]... [SISEND [VÄLJUND]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtreeri sisendis (standard sisend) järgnevad kordused, väljastades\n" "väljundisse (standardväljund). \n" "\n" "Võtmeteta, sobivad read mestitakse esimese esinemiseni.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count lisa rea algusse esinemise number\n" " -d, --repeated väljasta ainult dubleeritud read\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=eraldaja-meetod] väljasta kõik duplikaat read\n" " eraldaja-meetod={none(vaikimisi),prepend,separate}\n" " Eraldatatakse tühjade ridadega.\n" " -f, --skip-fields=N ära võrdle esimest N välja\n" " -i, --ignore-case võrdle tõstutundetult\n" " -s, --skip-chars=N ära võrdle esimest N sümbolit\n" " -u, --unique väljasta ainult dubleerimata read\n" " -z, --zero-terminated lõpeta read reavahetuse asemel baidiga 0\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N ära võrdle real enam kui N sümbolit\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Väli on komplekt tühimikke (tavaliselt tühikud ja/või tabulaatorid), " "millele\n" "järgnevad mittetühimik sümbolid. Väljad jäetakse vahele enne sümboleid.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Märkus: 'uniq' ei tuvasta kordusi, kui need ei järgne üksteisele.\n" "Esmalt tuleb sisend järjestada, või kasutage 'uniq' asemel 'sort -u'.\n" "Võrdlused kasutavad 'LC_COLLATE' poolt määratud reegleid.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "liiga palju korduvaid ridu" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "vigane vahelejäetavate väljade arv" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "vigane vahelejäetavate baitide arv" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "vigane võrreldavate baitide arv" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "kõikide duplikaat ridade ja korduste arvu ei saa korraga väljastada" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s FAIL\n" " või: %s VÕTI\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Kasutan antud FAILI kustutamiseks unlink funktsiooni.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "%s ei saa kustutada" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "ei õnnestu lugeda alglaadimise aega" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "püsti ???? päeva ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "püsti %ld päev %2d:%02d, " msgstr[1] "püsti %ld päeva %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "püsti %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu kasutaja" msgstr[1] "%lu kasutajat" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", tööjärjekorra koormus: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Väljasta praegune aeg, süsteemi töötamise aeg, kasutajate arv süsteemis,\n" "ja tööjärjekorra koormus viimase 1, 5 ja 15 minuti vältel." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Protsess\n" "mittekatkestatava magamise olekus suurendab samuti koormust.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Väljasta kasutajad, kes on parasjagu arvutisse meldinud.\n" "Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Väljasta iga FAILi baitide, sõnade ja ridade arv ning kui faile oli antud\n" "enam kui üks, siis ka kõikide summa. Kui fail puudub või on -, loe\n" "standardsisendit. Sõna on mittetühi sümbolite järjend, mis on eraldatud\n" "tühemikuga.\n" "Järgnevad võtmed määravad milliseid loendureid väljastatakse, alati\n" "järgnevas järjestuses: reavahetus, sõna, sümbol, bait, maksimaalne " "reapikkus.\n" " -c, --bytes väljasta baitide arv\n" " -m, --chars väljasta sümbolite arv\n" " -l, --lines väljasta ridade arv\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F loe sisend failidest, mille NUL-sümboliga " "lõpetatud\n" " nimed on failis F. Kui F on -, siis loetakse nimed\n" " standardsisendist\n" " -L, --max-line-length väljasta pikima rea pikkus\n" " -w, --words väljasta sõnade arv\n" #: src/who.c:210 msgid " old " msgstr " vana " #: src/who.c:440 msgid "system boot" msgstr "süsteemi boot" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "kell muutus" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "töö-olek" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "viimane=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "kasutajaid=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NIMI" #: src/who.c:559 msgid "LINE" msgstr "TERMINAL" #: src/who.c:559 msgid "TIME" msgstr "AEG" #: src/who.c:559 msgid "IDLE" msgstr "EEMAL" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTAAR" #: src/who.c:560 msgid "EXIT" msgstr "LÕPETAMINE" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Kasutamine: %s [VÕTI]... [ FAIL | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Väljast info hetkel masinasse loginud kasutajatest.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all sama, kui -b -d --login -p -r -t -T -u\n" " -b, --boot viimase alglaadimise aeg\n" " -d, --dead esita surnud protsessid\n" " -H, --heading esita veergude päised\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login väljasta süsteemi meldimise protsessid\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup ürita lahendada masinate nimesid DNS abil\n" " -m ainult standardsisendiga seotud masin ja kasutaja\n" " -p, --process väljasta init poolt loodud aktiivsed protsessid\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count kõik kasutajanimed ja süsteemi meldinud kasutajate arv\n" " -r, --runlevel väljasta jooksev töö-tase\n" " -s, --short väljasta ainult nimi, tyerminal ja aeg (vaikimisi)\n" " -t, --time väljasta viimane süsteemi kella muutus\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg lisa kasutaja teadete olek kujul +, - või ?\n" " -u, --users väljasta süsteemi meldinud kasutajad\n" " --message sama, kui -T\n" " --writable sama, kui -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Kui FAILi ei antud, kasuta %s. %s on sel puhul tavaline.\n" "Kui antakse ARG1 ARG2, eeldatakse võtit -m: tavaline on 'am i' või\n" "'mom likes'.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Väljasta efektiivsele kasutajaidentifikaatorile vastav kasutajanimi.\n" "Sama, kui id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: ei leia UID %lu vastavat kasutajanime\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s [SÕNE]...\n" " või: %s VÕTI\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Väljasta korduvalt rida antud sõnedega või 'y'.\n" "\n" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/de.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001256756�12107204515�012103� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������ Š����� Š��¬���Š��¡���¼Š��6��^‹��ø���•Œ��¾���Ž��¿���MŽ��Â��� ��ª���Ð��G��{��ù���Ñ��º���½’��p���x“��!��é“��¼��� •��©��È•��w��r—��5��ê˜��R�� š��~���s›�� ���ò›��\����œ��w���]œ��T���Õœ��G���*��]���r��ï���Ð��w���Àž��¡���8Ÿ��#��ÚŸ����þ ��š���¢��Ä���ž¢��D��c£��7��¨¥��z���à¦����[§�����]¨��Þ���ë¨��i���Ê©��J���4ª��·��ª��›���7¬�����Ó¬��¸���U­��ˆ���®��È���—®��„���`¯��M��å¯��à���3±��›���²��š��°²��—���K´��Ó���ã´��`���·µ��‚���¶�����›¶����œ·��>���±¸��3��ð¸��|���$º��Ý���¡º��K��»��=���˼��l��� ½��0���v½��D���§½����ì½��ž��¿��K��¥À��Ê���ñÁ��–���¼Â��-��SÃ��Ê���Å��ç���LÆ��J���4Ç��ð���Ç����pÈ��‡���É��¾��� Ê��á���ÈÊ��E���ªË��>���ðË��Ë���/Ì��Œ���ûÌ��ü���ˆÍ��æ���…Î��¿���lÏ����,Ð��9���>Ñ�����xÑ�����Ñ��t��¤Ñ��¼���Ó��ó���ÖÓ��š���ÊÔ��¾���eÕ��F��$Ö��Ì���k×��°���8Ø��Ü���éØ����ÆÙ��Ð��ÚÚ�� ��«Ü�����ÌÝ����ÍÞ��Ð��àß��y���±á��þ��+â�����*ä��1��:ä��Ë���lç��‰���8è����Âè��H���àé��7���)ê��¼���aê��F���ë��ì���eë��v���Rì�� ���Éì��¡��Õì��¾��wî��Ð��6ð��u���ò��F��}ò��q���Äô��[��6õ��:���’ö��æ���Íö��J���´÷��1��ÿ÷��S��1ù��u���…ú��N���ûú��S��Jû��u���žü��ë���ý��›����þ��†���œþ��,���#ÿ��“��Pÿ��ƒ���ä��º���h���#����;����»�ß���L�è��,�C���\��Y�‹���¶ �Õ��B �i��� �A���‚ �x���Ä �v���=�Ø��´�š������(�Â���>�I����·���K�›����z���Ÿ�3����û��N�g��J�G���²�J���ú�p���E�5���¶�s���ì���`�3�����³�I��Ò�×����ò���ô�É���ç �Ê���±!�ð���|"�–��m#�Ô���%�"��Ù%�Ó���ü&�¬���Ð'�¤���}(�i���")�õ���Œ)�˜���‚*���+�Z���,,�ù���‡,����-�.��.�Å��>/�ž���1�G��£1�È���ë2�M��´3�5���5�4���85�‰���m5�Â��÷5�F���º7�Ò���8�Ö���Ô8�µ��«9�©��a<�O�� >�í��[?���IA� ��ÙB�£��æC�y��ŠE� ��G�o���%H�n���•H�\��I�'��aJ� ��‰L�B���–M�F���ÙM��� N�Ë��;O���Q�9��&R���`S���€T�¢���V�Ö���´V�¡��‹W�Ê���-Y�E���øY�J���>Z�Ò���‰Z� ��\[���j\�º��y]�×���4_�&�� `�¹��3a�¿���íb���­c�Ý���³f�+���‘g�N���½g�Ò��� h�’���ßh�°���ri�Ë���#j�»���ïj�¡��«k�›���Mm�…��ém�È���oo�B���8p���{p�u���q���r�1���s�±��Ns�ò����u�G���óu����;v�Ë���Ëv�ƒ���—w�ƒ���x�k��Ÿx�‚�� {�¢��Ž|�4��1~���f���x€�´��‹�í���@ƒ� ��.„�ª��9…���ä†�Ó���ê‡�<���¾ˆ�‘���ûˆ�Ò���‰�º��`Š�ª��Œ�K���Æ���Ž�ü����Ä����z���Ù�þ���T‘�µ���S’�ô�� “�Ï���þ”����Ε�f��^–�5��Å—�ˆ���û˜�1���„™�û��¶™�H���²›�;��û›�B���7�Æ���z�!��Až�È���c �ý���,¡�q��*¢�Y��œ£�ü���ö¤�L���ó¥�×���@¦�T��§�#��m¨�Ç���‘©�÷��Yª�Þ���Q¬�³��0­�ƒ���ä®�Ñ���h¯�V��:°�i���‘±�Í���û±�Ä���ɲ�Ñ���޳�ë���`´�K��Lµ���˜¶�D��§·����ì¸�Ó���z¹�Ä��Nº�I���¼���]¼���{½�H��� ¿�3���R¿�O��†¿�c��ÖÁ� ��:Ã�=��[Ä���™Å�ê��´Æ�*��ŸÈ�’���ÊÉ�F���]Ê�C���¤Ê�X��èÊ�>���AÌ�?���€Ì� ��ÀÌ�«���ËÍ�9���wÎ�S���±Î�š��Ï�m��� Ð�û���Ñ�ä��� Ò�¨��ïÒ�I��˜Ô�§���âÖ�$���Š×�(���¯×�<���Ø×�ú���Ø�$���Ù�%���5Ù�*���[Ù���†Ù�:���¥Ú�}���àÚ�|���^Û�"��ÛÛ�&���þÝ� ���%Þ�9���FÞ�#���€Þ�$���¤Þ�!���ÉÞ�E���ëÞ�Ý���1ß�:���à�}���Jà�:���Èà�,���á�"���0á� ���Sá� ���^á�ç���lá�,��Tâ�X��ã�;���Úä�|��å���“æ�Ô���§ç�Ü���|è�þ���Yé� ���Xê����cê� ���hê����tê����}ê����†ê����Žê����—ê����ê���°ê�&���Ìë� ���óë� ���ýë���� ì����ì����/ì����Dì����bì� ���~ì�+���Ÿì����Ëì����äì�?���ÿì�D���?í�0���„í����µí�)���Îí����øí�0��� î�"���=î����`î�'���pî� ���˜î����¦î�!���»î����Ýî�"���ýî���� ï����=ï�/���Cï� ���sï����”ï����¬ï�#���Âï����æï����ÿï�>���ð�"���[ð����~ð�%���ð�B���Ãð�*���ñ����1ñ����Pñ����bñ�)���rñ����œñ�%���¹ñ�,���ßñ���� ò�#���ò�"���@ò�$���cò����ˆò�/���¨ò����Øò�8���èò����!ó����6ó����Uó����ró����†ó����¥ó����Äó� ���Ùó����úó���� ô���� ô����;ô����Xô����kô����}ô����ô����¡ô�'���²ô����Úô�*���õô���� õ�$���>õ����cõ����}õ����õ� ���¦õ����Çõ�"���Ýõ�����ö����ö�;���,ö����hö����{ö����—ö����´ö����Ðö����íö���� ÷����(÷����D÷����X÷�"���o÷����’÷�,���¥÷����Ò÷�)���ì÷����ø����3ø����Dø�"���cø�1���†ø�'���¸ø����àø�(���ñø� ���ù�,���;ù�,���hù�,���•ù�'���Âù�-���êù� ���ú�(���9ú�(���bú����‹ú����žú����·ú�"���Òú����õú����û�&���û����>û�"���Yû� ���|û� ���ˆû����•û����§û����¸û����Èû�5���äû�0���ü�.���Kü����zü����–ü����¶ü�"���Öü����ùü���� ý�+���ý�%���Fý����lý�)���Œý����¶ý� ���¸ý����Åý�<���Üý�1���þ�,���Kþ�0���xþ�,���©þ�#���Öþ�0���úþ����+ÿ�l���/ÿ�;��œÿ����Ø�� ���î�����ü��6����5���N�+���„�(���°�*���Ù�-����"���2�)���U��������‘����¨����¿� ���Ö����á����æ����ì�,���ô�8���!�)���Z� ���„��������¢����¼� ���Ë����Ø� ���Þ����è����ø� ���� ���� ���%�k��/����›����£�K���»�8�������@�k���I�h���µ�����‚���¯� ���2� ���=� ���J�3���V�Š��Š� ��� � ���" �w���, �w���¤ �9��� �g��V �½���¾ �Ò���| �1���O�9����0���»����ì����û� ��� �=����(���V�ã���� ���c�$���o�F���”����Û�U��ë����A����J�<��O�\���Œ� ���é�+���ô�+��� �0���L� ���}����‡����Ž�Ï����1���m����Ÿ�I���¸� ����¬��� ����º�@���Ó�£���7���¸�?���ð����0����B����Q� ���X����e����j����p����v����|�����:���’�…��Í����S�¦���g��������×��!����ù� ��� ���� ����! � ���( ����2 ����J ����a ����~ ����š �$���² ����× ����é ����!� ���!� ���!� ���+!����8!� ���I!����U!����g!����x!����!����„!����Š!����"� ��� "�1���-"� ���_"����m"����~"����˜"����©"� ���¸"� ���Æ"� ���Ó"� ���ß"����ê"����ï"����ô"� ���#�#���#����?#����H#�*���g#����’#�E���•#����Û#����ï#�M����$���N$�—���`%�®���ø%�…���§&�H���-'�o���v'�…���æ'����l(����p(����€(� ���•(�,���£(�&���Ð(� ���÷(� ���)� ���)����)� ���")�#���0)�H���T)�2���)�g���Ð)�i��8*�ª���¢+�š���M,�;���è,����$-���B-�9���\/�*���–/�A���Á/�¸���0�†���¼0�º���C1�;���þ1�¹���:2�%���ô2����3�†���š3�N���!4�T���p4� ��Å4�7���Ð6����7����'7� ���?7� ���I7����V7� ���[7����g7�N���{7�€���Ê7����K8�Ÿ���f8�º���9�7���Á9�@���ù9����::�D���Q:����–:����§:� ���¼:����Ê:����Þ:����ï:����þ:� ��� ;�Ý���;�1���ù;�'���+<�J���S<�u���ž<� ���=� ���"=� ���0=����==�,���P=�&���}=�*���¤=�;���Ï=���� >�c���>� ��w>����ƒ?����“?�5���˜?� ���Î?�<���Ú?����@����@����0@����D@� ���Y@����e@�@���m@� ���®@����»@�$���À@� ���å@�Ñ���ð@�$���ÂA����çA����ùA����B�â��"B�&���D�%���,D�C���RD�+���–D����ÂD����ÇD� ���ÖD����äD����öD���� E����E����/E� ���AE�#��NE����rF� ���‡F�,���’F�j���¿F�&���*G� ���QG�'���rG�0���šG�4���ËG�~���H����I����œI����¹I�–���ØI�)���oJ�Y���™J�'���óJ�T���K�'���pK�(���˜K����ÁK�X���ÕK�@���.L����oL�?���‹L�&���ËL�š���òL����M����¤M�#���BN�&���fN����N�"���¬N�T���ÏN�g���$O�†���ŒO�.���P����BP�"���aP�+���„P�Y���°P�~��� Q�¤���‰Q�ä���.R�=���S����QS�^���oS�b���ÎS� ���1T�¢���RT�F���õT�}���<U�'���ºU�'���âU�Z��� V�"���eV�`���ˆV�!���éV�!��� W�$���-W� ���RW�¦���sW�M���X�>���hX�'���§X�<���ÏX�T��� Y����aY����fY����kY����Y����—Y����¬Y�ï���ÂY����²Z�¹���ÈZ�D���‚[�H���Ç[�G���\� ���X\����b\����g\����m\�´��|\�W���1^�B���‰^�k���Ì^�s���8_�¬���¬_�>���Y`����˜`�;���¯`�3���ë`�/���a�+���Oa�'���{a�#���£a����Ça����ça����b�<���b����Pb����db����jb����pb����‡b�*���‰b����´b����Ìb����æb�A���c����Ec�2���\c�1���c� ���Ác����Íc�!���àc����d�#��� d����-d�0���Id����zd����”d����¥d�*���¶d����ád����ÿd�"���e����Be����`e�E���e�;���Åe� ���f�,���"f� ���Of�!���pf����’f����²f�+���Ñf�#���ýf�#���!g�,���Eg�0���rg�,���£g�#���Ðg����ôg����h� ���%h����Fh����bh����uh����“h����±h�$���Ðh�"���õh����i�'���.i����Vi�5���pi�'���¦i����Îi�!���äi����j����&j�1���?j����qj����j����žj����·j����Ðj����äj����øj���� k����#k����=k�(���Mk����vk����k�.���¤k�2���Ók����l����!l����<l�%���Ul�0���{l�3���¬l����àl�F����m�B���Gm�+���Šm�5���¶m�1���ìm� ���n����*n����Cn�*���bn����n����¨n�)���Ån����ïn�����o�%���o�!���Bo� ���do� ���ro����€o����o�8���«o����äo����úo����p����,p�&���Fp�'���mp�<���•p�:���Òp�.��� q�!���<q����^q�&���mq����”q����¯q����¿q����Óq����äq����ôq�#���r�'���(r�"���Pr�&���sr����šr����¯r����Èr� ���ãr����s����s����4s�%���Ks����qs� ���s� ���šs����§s����ºs����Ïs����ås����øs����t����#t����6t�,���Mt�+���zt�-���¦t�)���Ôt�!���þt���� u����?u����Su�8���ju����£u����ºu����Ïu����åu�3���÷u� ���+v����5v� ���Fv����Rv����gv� ���wv����v�#���”v�"���¸v� ���Ûv����üv����w����,w����Hw����\w����vw����‡w����Ÿw����¥w����·w�%���Èw����îw����x�$���x�+���Ax�#���mx�:���‘x�!���Ìx�/���îx�'���y����Fy����\y����wy����Šy����¥y�+���Åy�*���ñy�%���z����Bz�#���`z�$���„z����©z�%���¿z�!���åz�'���{�%���/{����U{����u{����‰{����›{����º{�(���Ø{�,���|� ���.|�$���O|����t|����|����Ÿ|����½|�*���Û|�$���}�#���+}�%���O}����u}�!���•}�&���·}����Þ}����ò}�(���~� ���9~�3���Z~�-���Ž~����¼~����Û~�!���ô~�1����'���H����p�1�������Â����Ù����ô����€����(€�#���B€�1���f€�.���˜€����Ç€����Ý€����ï€�(�������8� ���P����^����{�(�������¹����¾�3���Ý�;���‚�.���M‚����|‚����”‚����©‚�$���Ç‚�$���ì‚�D���ƒ����Vƒ����jƒ����{ƒ����‹ƒ����Ÿƒ����¸ƒ����Õƒ�%���ñƒ�%���„����=„����Z„����t„�-���x„����¦„����½„�)���Ì„�/���ö„�=���&…�@���d…�:���¥…����à…�!���þ…���� †�,���2†����_†����{†����†�A���¤†�;���æ†����"‡����=‡�!���V‡����x‡����އ����¢‡� ���½‡�!���Þ‡�%����ˆ�(���&ˆ����Oˆ����jˆ����~ˆ�*���‘ˆ�-���¼ˆ����êˆ����úˆ����‰����*‰����?‰����V‰����o‰����‹‰����¤‰�%���¼‰�1���â‰�#���Š�"���8Š�"���[Š�1���~Š����°Š� ���ÆŠ����ÔŠ����åŠ����ûŠ�"��� ‹����0‹� ���J‹����X‹����k‹����‚‹����•‹����±‹����Ç‹�#���â‹�!���Œ�!���(Œ����JŒ����aŒ����€Œ����™Œ� ���¸Œ����ÅŒ����ÕŒ����æŒ����øŒ��������*����C�!���a����ƒ�"���›����¾����Þ� ���ü����Ž����5Ž����JŽ�]���_Ž�G���½Ž������������4����J�!���`�*���‚� ���­� ���º����Û�/���ï�$����"���D����g����…�2���š�;���Í���� ‘����"‘����?‘����]‘�R���t‘�L���Ç‘����’�(���,’� ���U’����b’����r’����„’����š’�,���¸’�9���å’�*���“�,���J“�/���w“����§“�*���­“�G���Ø“�0��� ”�:���Q”�#���Œ”�'���°”�8���Ø”����•�@���&•�/���g•����—•�7���¨•�8���à•� ���–����'–�/���C–�-���s–� ���¡–�0���­–����Þ–����ø–�#���—�&���3—�)���Z—�*���„—����¯—�$���Ä—����é—�����˜����˜����*˜�+���C˜�1���o˜�"���¡˜� ���Ę����å˜����÷˜����™�#���,™�$���P™����u™����“™����¨™�!���È™�!���ê™�%��� š����2š�%���Aš����gš����vš�7���…š�=���½š����ûš����›����.›����M›����g›����z›� ���‹›����™›�-���±›�C���ß›����#œ�(���8œ� ���aœ�'���kœ����“œ�"���­œ����М����àœ�?���ðœ�,���0�%���]����ƒ�4���™� ���Î�&���ï� ���ž�1���"ž�2���Tž�#���‡ž�/���«ž�$���Ûž�(����Ÿ����)Ÿ�8���HŸ�G���Ÿ�9���ÉŸ�#��� ����' �"���F �$���i ����Ž ����¨ ����È ����Ý ����ó ����¡�>���)¡�B���h¡� ���«¡� ���¶¡����¡����ס����è¡����¢� ���¢�7���%¢� ���]¢����i¢����€¢� ���—¢� ���¡¢����«¢�)���Å¢����ï¢����£����£����3£�$���H£�-���m£�7���›£����Ó£����Ú£����ð£����ÿ£����¤����'¤� ���7¤����C¤����J¤����P¤����W¤����u¤����ޤ�#���«¤�J���Ϥ� ���¥� ���(¥� ���5¥����A¥�*���V¥����¥����¥����¶¥����Ò¥����é¥�8���¦����?¦� ���E¦�H���S¦�U���œ¦�>���ò¦�?���1§�?���q§�8���±§�=���ê§�>���(¨�3���g¨����›¨�(���,©�!���U©�N���w©�f���Æ©�>���-ª�@���lª�#���­ª�<���Ѫ�*���«����9«����Y«�(���q«����š«�/���µ«����å«�����¬����¬����+¬����1¬����F¬����Z¬����a¬�*���¬�!���¬¬�7���ά����­�"���­����A­����P­�3���d­�\���˜­����õ­���� ®����%®�.���5®����d®�0���z®����«®�C���®����¯�%���#¯�B���I¯�:���Œ¯����ǯ����Û¯����õ¯� ���°�H���°�+���Z°�J���†°�2���Ѱ�8���±�=���=±�@���{±�#���¼±����à±�$���û±�=��� ²�4���^²�.���“²�,���²�<���ï²����,³�0���A³�3���r³�7���¦³�c���Þ³����B´����X´�"���o´�t���’´� ���µ�3���µ�>���Fµ�5���…µ�j���»µ�h���&¶�_���¶�0���ï¶�,��� ·�*���M·�3���x·�(���¬·�&���Õ·�(���ü·� ���%¸����1¸� ���D¸� ���Q¸�/���_¸�7���¸�&���Ǹ� ���î¸�Å��¹����Õº�Ô���׺�Ç���¬»�y��t¼�ê���î½�Æ���Ù¾�Ô��� ¿�ñ���uÀ�Ù���gÁ�~��AÂ� ��ÀÃ�Ê���ËÄ�y���–Å���Æ�Ì���,Ç�×��ùÇ�—��ÑÉ�v��iË�c��àÌ�§���DÎ����ìÎ�l���ýÎ����jÏ�u���ûÏ�r���qÐ�|���äÐ���aÑ�~���tÒ�É���óÒ�•��½Ó�&��SÕ�±���zÖ�à���,×� �� Ø�‰��Û�‹���¢Ü� ��.Ý�¶���OÞ�ö���ß�l���ýß�B���jà�¸��­à�Â���fâ�‚���)ã�¹���¬ã�º���fä� ��!å�ž���-æ�¿��Ìæ����Œè�´���é�ü��Bê�º���?ì���úì�p��� î����zî�?�� ï�[��Kð�G���§ñ�q��ïñ�·���aó� ��ô�t��%õ�I���šö�„���äö�=���i÷�R���§÷���ú÷�ß��|ù�Œ��\û�é���éü�±���Óý�=��…þ�Ó���Ã��ö���—�P���Ž�î���ß�?��Î�—����û���¦����¢�O���£�V���ó���J�À���c ����$ �-��% �7��S ���‹ �H���§�F���ð����7�¹��Å����i��‚�º���ì�ï���§���—�Ç���%�É���í���·�W��¹�>���(��P�5��y�8��¯���è �˜���#�“��›#����/&�h��C&�è���¬)�´���•*�a��J+�W���¬,�@���-�Ñ���E-�S���.� ��k.����u/� ���0�¡��0� ��³1�ê��¿3�·���ª5�_��b6�€���Â8�Ï��C9�D���;���X;�I���p<�B��º<�—��ý=�‰���•?�M���@�â��m@����PB�û���ÒB�Â���ÎC�—���‘D�2���)E�î��\E�ˆ���KG���ÔG�Q��ÙH�’���+J�ˆ���¾J�æ���GK�x��.L�¾��§N�Â��fP����)R�|��¹R�v���6V�s���­V�‰���!W�z���«W�þ��&X�Ç���%Z�L��íZ�Î���:\�L��� ]�Ï���V]�ç���&^�»���_�8���Ê_�!��`�¤��%b�M���Êc�|���d�q���•d�:���e�…���Be�6��Èe�“��ÿf�K��“h�g��ßi�è���Gk�ü���0l�á���-m�Þ���n�ú���în�™��éo�Ó���ƒq�d��Wr����¼s�ã���½t�Ê���¡u����lv���üv�¥���x�1��µx�f���çy�è���Nz�»���7{�_��ó{�î��S}�²���B�d��õ����Z�]��[‚�?���¹ƒ�2���ùƒ�¶���,„�L��ã„�L���0‡�;��}‡�ê���¹ˆ�Î��¤‰�1��sŒ�x��¥Ž�-���Ð��L’���”�÷��=•�±��5—�5��ç˜�z���š�·���˜š�–��P›�'��çœ�K��Ÿ�D���[ �D���  ���å �î��ÿ¡�.��î£�p��¥�P��ަ�²��ß§�Ë���’©�ò���^ª�ï��Q«� ��A­�L���O®�N���œ®�Ø���ë®�/��į���ô°� ��²�ù���´�^��µ�É��v¶�ü���@¸�\��=¹� ��š¼�,���¤½�•���ѽ�Ü���g¾�›���D¿�´���à¿�Ö���•À�Õ���lÁ�»��BÂ�—���þÃ�Ž��–Ä�ë���%Æ�Q���Ç�n��cÇ�„���ÒÈ�-��WÉ�1���…Ê�¼��·Ê�@��tÌ�L���µÍ�˜���Î�1��›Î�«���ÍÏ�«���yÐ�E��%Ñ�¨��kÔ�³��Ö�F��È×�W��Ù�P��gÚ�Û��¸Û�ø���”Ý�B��Þ���Ðß�-��îá�ç���ã�F���ä�º���Kä���å���æ� ��è�N���ê�"��nê�O��‘ë�õ���áì�¶���×í�{��Žî�Æ��� ð�Ù��Ñð�-��«ò�ù���Ùó�T��Óô���(ö�š���H÷�:���ã÷���ø�K���2ú�†��~ú�D���ü�Ú���Jü���%ý�â���@ÿ�!��#��g��E�•��­���C�R���L���Ÿ�;��²�2��î�Û���! �5��ý �ÿ���3 ���3 �t���R�Ö���Ç�£��ž�k���B���®�Ð���¶�Þ���‡�Ñ���f�Q��8�E��Š�]��Ð�š���.�í���É���·�k���Ç�'��3���[�‹���x �;���!�—��@!�Û��Ø#�‰��´%�E��>'���„(�+��‹)�I��·+�Ÿ���-�H���¡-�G���ê-�™��2.�F���Ì/�p���0�7��„0�¹���¼1�>���v2�c���µ2�œ��3�q���¶4� ��(5���26�Ñ��P7� ��"9�´���Ã;�,���x<�=���¥<�J���ã<���.=�7���5>�.���m>�?���œ>�G��Ü>�8���$@�†���]@�‰���ä@�µ��nA�,���$D�1���QD�B���ƒD�5���ÆD�.���üD�:���+E�i���fE�3��ÐE�H���G�†���MG�H���ÔG�.���H�.���LH� ���{H����†H�ó���—H�z��‹I�d��K�2���kL�€��žL�$��N�Ø���DO�è���P�û���Q� ���R���� R� ���R����R����'R����0R� ���8R����BR����HR�X��^R�"���·S� ���ÚS� ���åS����òS� ��� T�$���-T�&���RT� ���yT�'���šT�/���ÂT�*���òT�)���U�K���GU�D���“U�-���ØU�!���V�1���(V����ZV�4���mV�)���¢V����ÌV�5���ÜV� ���W� ��� W�-���AW�!���oW�-���‘W�#���¿W����ãW�:���éW�1���$X�#���VX����zX�A���’X�"���ÔX����÷X�]���Y�?���tY�0���´Y�3���åY�l���Z�A���†Z�<���ÈZ� ���[�/���&[�K���V[�4���¢[�>���×[�E���\� ���\\�=���}\�(���»\�B���ä\�!���']�5���I]����]�=���Ž]����Ì]�,���è]����^�#���0^�:���T^�/���^� ���¿^�7���à^����_����1_����N_����m_����Œ_����Ÿ_����±_����É_����â_�7���û_�#���3`�/���W`�!���‡`�$���©`����Î`����î`����a�'���!a����Ia����ba����a����›a�P���´a����b����b�%���9b� ���_b�&���€b�"���§b�%���Êb�(���ðb����c����0c�'���Lc����tc�5���‹c����Ác�,���Þc�-��� d����9d����Rd�.���pd�<���Ÿd�1���Üd�(���e�?���7e����we�0���•e�>���Æe�0���f�1���6f�1���hf�*���šf�2���Åf�2���øf����+g����Cg����ag�'���g����©g����¸g�'���Îg����ög�)���h� ���?h����Lh����^h����rh����„h����œh�@���»h�=���üh�H���:i�(���ƒi�(���¬i�(���Õi�'���þi����&j����8j�1���Vj�*���ˆj�+���³j�@���ßj���� k����$k����5k�;���Sk�;���k�9���Ëk�8���l�7���>l�5���vl�8���¬l����ål�~���èl�‚��gm����ên� ���o�)���o�<���=o�T���zo�4���Ïo�7���p�;���<p�>���xp�)���·p�.���áp����q����#q����7q����Kq����_q����hq����mq����sq�A���{q�9���½q�4���÷q����,r����3r����Jr����hr� ���wr����„r� ���Šr����•r����®r� ���Ír����×r� ���îr�¸��ûr� ���´t�&���¾t�Q���åt�@���7u� ���xu�s���ƒu�l���÷u����dv�Ž���w� ���‘w����œw� ���¯w�B���»w�š��þw� ���™y� ���¦y�¥���²y�¤���Xz�F���ýz�¢��D{���ç|�Å���ù}�<���¿~�C���ü~�4���@����u����„� ���”�E���¡�1���ç�"��€� ���<�5���J�M���€����Î�R��Þ����1ƒ����:ƒ�T��?ƒ�w���”„� ��� …�6���…�2���N…�/���…� ���±…� ���»…����Æ…�Ö��×…�5���®‡����ä‡�X����ˆ� ���Yˆ�Ë���eˆ����1‰�Q���E‰�÷��—‰�^���‹�O���î‹����>Œ����PŒ� ���_Œ� ���jŒ����wŒ����€Œ����†Œ����ŒŒ����•Œ����¦Œ�H���¯Œ�÷��øŒ����ðŽ�½�������Ã�U��Ø���.’� ���5”� ���?”����K”����c”� ���j”����x”����–”����´”����Ó”�!���ë”�2��� •����@•����Y•����y•� ���ˆ•� ���”•� ��� •����­•� ���¾•����Ê•����Ü•����í•����ÿ•����–�¼��� –����Ê–� ���Ж�<���Ü–� ���—����'—�"���8—����[—����r—� ���—� ���—� ���œ—����¨—����¸—����½—����—� ���Þ—�)���ì—����˜�'���-˜�0���U˜����†˜�J���‰˜����Ô˜����ç˜�[���ú˜�-��V™�{���„š�ö����›�›���÷›�P���“œ�ƒ���äœ�«���h����ž����ž����(ž����=ž�E���Lž�3���’ž� ���Æž� ���Òž� ���Ýž����êž� ���ñž�&���þž�X���%Ÿ�9���~Ÿ�Y���¸Ÿ�–�� �í���©¡�É���—¢�:���a£� ���œ£�ƒ��½£�C���A¦�5���…¦�L���»¦�³���§�—���¼§�·���T¨�F��� ©�ã���S©�-���7ª�§���eª�š��� «�g���¨«�o���¬�-��€¬�P���®®����ÿ®�%���¯� ���@¯� ���J¯����W¯� ���\¯����h¯�E���z¯�‡���À¯�#���H°�­���l°�Ò���±�J���í±�R���8²�E���‹²�V���Ѳ����(³����<³����V³����h³����|³����³����œ³� ���«³�ô���¹³�M���®´�8���ü´�T���5µ�•���е� ��� ¶� ���.¶� ���<¶����I¶�4���b¶�1���—¶�/���ɶ�C���ù¶����=·�‰���E·�T��Ï·����$¹����4¹�]���<¹� ���š¹�O���§¹����÷¹�����º����º����-º� ���Hº����Tº�H���[º� ���¤º����±º�0���¶º����çº�"��ïº�/���¼����B¼����U¼����k¼�ÿ��†¼�/���†¾�;���¶¾�\���ò¾�9���O¿����‰¿����¿����œ¿����¯¿����Ë¿�)���ä¿����À�)���.À�"���XÀ�0��{À����¬Á� ���ÃÁ�2���ÏÁ�n���Â�&���qÂ�#���˜Â�+���¼Â�2���èÂ�6���Ã�½��RÃ����Å����/Å� ���NÅ�Ÿ���oÅ�,���Æ�\���<Æ�-���™Æ�f���ÇÆ�'���.Ç�*���VÇ����Ç�^���–Ç�H���õÇ����>È�H���[È�+���¤È�¼���ÐÈ����É�¨���¥É�&���NÊ�'���uÊ� ���Ê�%���¾Ê�Z���äÊ�p���?Ë�’���°Ë�.���CÌ����rÌ�'���’Ì�-���ºÌ�[���èÌ�…���DÍ�®���ÊÍ�ä���yÎ�<���^Ï����›Ï�d���»Ï�‰��� Ð�"���ªÐ�¨���ÍÐ�J���vÑ�™���ÁÑ�+���[Ò�+���‡Ò�^���³Ò�#���Ó�j���6Ó�#���¡Ó�&���ÅÓ�(���ìÓ�%���Ô�¬���;Ô�Q���èÔ�C���:Õ�/���~Õ�B���®Õ�U���ñÕ����GÖ����MÖ����UÖ����rÖ����Ö����¨Ö���ÂÖ�"���Ù×�Ì���ü×�J���ÉØ�N���Ù�C���cÙ� ���§Ù����±Ù����¶Ù����¼Ù���×Ù�k���ôÛ�P���`Ü����±Ü�|���AÝ�Ñ���¾Ý�O���Þ����àÞ�@���üÞ�7���=ß�3���uß�/���©ß�+���Ùß�'���à�#���-à����Qà����qà�@���†à����Çà����äà����êà�"���òà����á�5���á�!���Oá�#���qá� ���•á�Q���¶á����â�I��� â�L���jâ����·â����Éâ�9���çâ����!ã�5���)ã����_ã�O���}ã�.���Íã����üã�'���ä�K���Bä�2���Žä�8���Áä�=���úä�%���8å�;���^å�V���šå�D���ñå�3���6æ�4���jæ�)���Ÿæ�*���Éæ�(���ôæ�'���ç�A���Eç�<���‡ç�8���Äç�?���ýç�C���=è�I���è�K���Ëè�-���é�%���Eé�L���ké�1���¸é�$���êé�-���ê�-���=ê�:���kê�@���¦ê�3���çê�#���ë�5���?ë�3���uë�M���©ë�.���÷ë�3���&ì�/���Zì�6���Šì�#���Áì�C���åì�/���)í�-���Yí�-���‡í�-���µí�3���ãí�)���î�0���Aî�A���rî�.���´î�/���ãî�O���ï�2���cï�1���–ï�T���Èï�^���ð�(���|ð�,���¥ð�)���Òð�U���üð�Z���Rñ�W���­ñ�7���ò�n���=ò�m���¬ò�C���ó�N���^ó�T���­ó����ô�,���ô�$���@ô�<���eô�,���¢ô�5���Ïô�;���õ�'���Aõ�.���iõ�F���˜õ�B���ßõ� ���"ö����Cö�#���`ö�2���„ö�Q���·ö�)��� ÷�(���3÷�-���\÷�3���Š÷�L���¾÷�A��� ø�Y���Mø�Q���§ø�3���ùø�8���-ù�.���fù�8���•ù�:���Îù���� ú�4���'ú�(���\ú����…ú����£ú�9���¾ú�6���øú�/���/û�4���_û� ���”û�%���µû�&���Ûû�-���ü����0ü�0���Hü����yü�;���™ü�+���Õü����ý����ý����+ý�#���Gý����ký� ���Šý����«ý� ���Êý�#���ëý����þ�=���)þ�;���gþ�,���£þ�>���Ðþ�(���ÿ�%���8ÿ����^ÿ����yÿ�@���—ÿ�?���Øÿ���������0�����M��<���e�� ���¢�����®�����Á�����Õ�����ñ������ ����+���4�+���`�3���Œ�*���À����ë�$�������)�!���G����i����†���� ����¦����À�.���Ù�&����2���/�6���b�>���™�3���Ø�M��� �7���Z�D���’�9���×�����%���/� ���U�/���v�$���¦�?���Ë�;��� �5���G�6���}�<���´�=���ñ�$���/�7���T�<���Œ�B���É�7��� �:���D� ������� �#���À�(���ä�F��� �9���T �-���Ž �;���¼ �)���ø ����" �*���: �.���e �?���” �3���Ô �7��� �;���@ �3���| �+���° �9���Ü ���� �%���0 �;���V �3���’ �O���Æ �I��� �4���` �-���• �9���à �F���ý �6���D�5���{�K���±�*���ý�$���(�!���M� ���o�#����(���´�@���Ý�@����+���_����‹�-���©�4���×�$��� ����1����G����b�.���v����¥����ª�A���Ê�H��� �@���U����–����´�)���Ï�-���ù�4���'�d���\� ���Á����â����÷��������(�%���H�(���n�2���—�1���Ê�)���ü�&���&����M�3���Q����…����ž�-���°�H���Þ�N���'�G���v�A���¾�4�����+���5����a�H���z�%���Ã����é�����H����c���`�"���Ä�,���ç�0�������E����]����u�1���•�'���Ç�+���ï�3�������O����k����ƒ�'���œ�/���Ä����ô���� ����%����E����^����x����’����±����Ê�+���ä�5����#���F�0���j�,���›�D���È���� ����*����<����Q����l�0���‚����³����Ò����å����ý��������/����O����k�6���Š�+���Á�"���í�����#���,����P�#���m����‘����«����À����Ö����é���� ����' ����F �$���d ����‰ �,���¥ �.���Ò ����!�0���!����P!����m!����‡!�n���Ÿ!�L���"����["�*���s"����ž"����»"�$���Ö"�4���û"����0#�)���I#����s#�;���Š#�+���Æ#�/���ò#�&���"$����I$�?���i$�B���©$����ì$���� %� ���#%����D%�`���a%�\���Â%�%���&�+���E&����q&����†&����ž&����º&�"���Ø&�0���û&�E���,'�@���r'�;���³'�?���ï'����/(�>���5(�o���t(�@���ä(�M���%)�3���s)�(���§)�=���Ð)����*�F���.*�F���u*����¼*�?���Û*�?���+����[+�*���t+�A���Ÿ+�)���á+� ��� ,�;���,�"���U,����x,�&���“,�#���º,�'���Þ,�.���-����5-�2���L-����-����–-����±-����Ã-�/���Ý-�>��� .�%���L.�.���r.����¡.����Á.�"���Ü.�*���ÿ.�)���*/�*���T/����/� ���–/� ���·/� ���Ø/�(���ù/����"0�#���10� ���U0����c0�W���r0�G���Ê0�%���1����81�*���N1����y1����—1����±1����Æ1����Õ1�@���ò1�f���32����š2�'���·2����ß2�R���ò2����E3�%���]3� ���ƒ3� ���3�L���ž3�^���ë3�*���J4� ���u4�:���–4�$���Ñ4�-���ö4����$5�C���;5�3���5�,���³5�=���à5�,���6�B���K6�$���Ž6�F���³6�U���ú6�G���P7�7���˜7�2���Ð7�0���8�1���48�&���f8�-���8����»8����Û8�#���ò8�%���9�O���<9�N���Œ9� ���Û9����æ9����û9����:�2���.:����a:����w:�E���‡:����Í:����à:�����;����;����';�!���0;�.���R;� ���;�!���¢;����Ä;����Þ;�$���û;�3��� <�L���T<����¡<�%���¨<����Î<����Ý<����í<���� =����=����1=����G=����W=�(���g=�%���=�*���¶=�.���á=�\���>����m>� ���†>� ���“>�%���Ÿ>�9���Å>�*���ÿ>����*?����I?�$���e?�+���Š?�M���¶?����@���� @�O���@�U���j@�E���À@�F���A�L���MA�?���šA�H���ÚA�?���#B�<���cB�Ô��� B�'���uC�4���C�d���ÒC�†���7D�V���¾D�J���E�.���`E�N���E�.���ÞE�(��� F�+���6F�8���bF� ���›F�*���¼F����çF����G���� G� ���4G����>G����[G����uG�0���|G�<���­G�3���êG�@���H����_H�$���}H����¢H����µH�A���ÐH����I����”I����¯I����ÉI�.���ØI����J�J���J�-���hJ�a���–J�-���øJ�+���&K�M���RK�K��� K����ìK�$���þK����#L� ���>L�J���HL�=���“L�]���ÑL�<���/M�O���lM�A���¼M�^���þM�D���]N�&���¢N�0���ÉN�B���úN�D���=O�?���‚O�/���ÂO�;���òO����.P�0���CP�4���tP�9���©P�c���ãP����GQ����]Q�.���tQ�{���£Q����R�A���2R�F���tR�B���»R�h���þR�v���gS�b���ÞS�L���AT�:���ŽT�3���ÉT�0���ýT�4���.U�&���cU�%���ŠU� ���°U����¾U����ÛU����ôU�;���V�>���@V�4���V�'���´V����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����ÜV����äV�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��Ôˆ��èˆ��üˆ��‰��$‰��8‰��L‰��`‰��|‰��‰��¬‰��ȉ��܉��ø‰��ìV��������������� �����������������ÿÿÿÿ W��������1���ÿÿÿÿ>W��������/���ÿÿÿÿnW����������ÿÿÿÿžW�7����������ÿÿÿÿèW�����������ÿÿÿÿX�����������ÿÿÿÿ2X�����������ÿÿÿÿ\X��������(���ÿÿÿÿ‰X� �������Q���ÿÿÿÿäX� �������R���ÿÿÿÿ@Y� �������V���ÿÿÿÿ Y������������������ÿÿÿÿÌY�����������ÿÿÿÿÓY� ���������������ÿÿÿÿýY����������ÿÿÿÿZ��������������������������������ÿÿÿÿGZ� ����������ÿÿÿÿ„Z�����������ÿÿÿÿªZ�������%���ÿÿÿÿäZ�6�������%���ÿÿÿÿ?[��������%���ÿÿÿÿy[�����������ÿÿÿÿ˜[��������M���ÿÿÿÿê[��������2���ÿÿÿÿ!\� �������.�������&���ÿÿÿÿ\�F�������3���ÿÿÿÿø\��������.�������&���ÿÿÿÿZ]������������������ÿÿÿÿ‰]�����������ÿÿÿÿ‘]����������������ÿÿÿÿÀ]����������ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: GNU coreutils-8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-12 15:51+0100 Last-Translator: Philipp Thomas <pth@suse.de> Language-Team: German <translation-team-de@lists.sourceforge.net> Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Lokalize 1.1 � � BYTES ist hexadezimal bei vorangestelltem 0x oder 0X und kann folgende multiplikative Endungen haben: b 512 kB 1000 K 1024 MB 1000×1000 M 1024×1024 und so weiter für G, T, P, E, Z, Y. � TYP setzt sich zusammen aus einer oder mehreren dieser Spezifikationen: a ein benanntes Zeichen, oberstes Bit ignorieren c ASCIIâ€Zeichen oder Rückschrägstrichâ€Escape � Traditionell spezifizierte Formatangaben können gemischt werden; sie werden akkumuliert: -a dasselbe wie -t a, benannte Zeichen wählen, oberstes Bit ignorieren -b dasselbe wie -t o1, Oktalbytes wählen -c dasselbe wie -t c, ASCIIâ€Zeichen oder Rückschrägstrichâ€Escapes wählen -d dasselbe wie -t u2, dezimale vorzeichenlose 2â€Byteâ€Zahlen wählen � ( AUSDRUCK ) AUSDRUCK ist wahr ! AUSDRUCK AUSDRUCK ist falsch AUSDRUCK1 -a AUSDRUCK2 sowohl AUSDRUCK1 als auch AUSDRUCK2 ist wahr AUSDRUCK1 -o AUSDRUCK2 AUSDRUCK1 oder AUSDRUCK2 ist wahr � --check-order prüfen, ob die Eingabe richtig sortiert ist, auch wenn alle Eingabezeilen gepaart werden können --nocheck-order Sortierung der Eingabe nicht prüfen � -1 Zeilen unterdrücken, die nur in DATEI1 auftauchen -2 Zeilen unterdrücken, die nur in DATEI2 auftauchen -3 Zeilen unterdrücken, die in beiden Dateien auftauchen � -a, --all dasselbe wie -b -d --login -p -r -t -T -u -b, --boot Zeit des letzten Rechnerstarts („system boot“) -d, --dead tote Prozesse ausgeben -H, --heading Kopfzeile mit Spaltenbezeichnungen ausgeben � -b DATEI DATEI existiert und ist ein „block special“ -c DATEI DATEI existiert und ist ein „character special“ -d DATEI DATEI existiert und ist ein Verzeichnis -e DATEI DATEI existiert � -l langes Format für den angegebenen BENUTZER erzeugen -b ohne Homeâ€Verzeichnis und Shell der Benutzer (bei langem Format) -h ohne Projektâ€Datei der Benutzer (bei langem Format) -p ohne Planâ€Datei der Benutzer (bei langem Format) -s kurzes Format erzeugen (dies ist die Vorgabe) � -n ZKETTE die Länge von ZKETTE ist ungleich Null ZKETTE äquivalent zu -n ZKETTE -z ZKETTE die Länge von ZKETTE ist Null ZKETTE1 = ZKETTE2 die ZKETTEn sind gleich ZKETTE1 != ZKETTE2 die ZKETTEn sind nicht gleich � ARG1 * ARG2 arithmetisches Produkt von ARG1 und ARG2 ARG1 / ARG2 arithmetischer Quotient von ARG1 geteilt durch ARG2 ARG1 % ARG2 arithmetischer Rest von ARG1 geteilt durch ARG2 � ARG1 + ARG2 arithmetische Summe von ARG1 und ARG2 ARG1 - ARG2 arithmetische Differenz von ARG1 und ARG2 � ARG1 < ARG2 ARG1 ist kleiner als ARG2 ARG1 <= ARG2 ARG1 ist kleiner oder gleich ARG2 ARG1 = ARG2 ARG1 ist gleich ARG2 ARG1 != ARG2 ARG1 ist ungleich ARG2 ARG1 >= ARG2 ARG1 ist größer oder gleich ARG2 ARG1 > ARG2 ARG1 ist größer ARG2 � DATEI1 -ef DATEI2 DATEI1 und DATEI2 haben dieselbe Device†und Inodeâ€Nummer DATEI1 -nt DATEI2 DATEI1 ist neuer (Änderungsdatum) als DATEI2 DATEI1 -ot DATEI2 DATEI1 ist älter als DATEI2 � GANZZAHL bis zu angegebener Zeilennummer kopieren (ausschließlich) /REGEXP/[OFFSET] bis zu entsprechender Zeile kopieren (ausschließlich) %%REGEXP%%[OFFSET] bis zu entsprechender Zeile übergehen (ausschließlich) {GANZZAHL} das vorherige Muster sooft wie angegeben wiederholen {*} das vorherige Muster sooft wie möglich wiederholen Ein Zeilen-OFFSET ist ein „+“ or „-“ gefolgt von einer positiven ganzen Zahl. � GANZZAHL1 -eq GANZZAHL2 GANZZAHL1 ist gleich GANZZAHL2 GANZZAHL1 -ge GANZZAHL2 GANZZAHL1 ist größer als oder gleich GANZZAHL2 GANZZAHL1 -gt GANZZAHL2 GANZZAHL1 ist größer als GANZZAHL2 GANZZAHL1 -le GANZZAHL2 GANZZAHL1 ist kleiner als oder gleich GANZZAHL2 GANZZAHL1 -lt GANZZAHL2 GANZZAHL1 ist kleiner als GANZZAHL2 GANZZAHL1 -ne GANZZAHL2 GANZZAHL1 ist nicht gleich GANZZAHL2 � ZKETTE : REGEXP verankerte Mustererkennung von REGEXP in ZKETTE match ZKETTE REGEXP dasselbe wie ZEICHENKETTE : REGEXP substr ZKETTE POS LENGTH Teilzeichenkette von ZKETTE, POS beginnt mit 1 index ZKETTE ZEICHEN Index in ZKETTE, wo eines der ZEICHEN auftritt, sonst 0 length ZEICHENKETTE Länge der ZEICHENKETTE � a alle Zeilen nummerieren t nur nichtleere Zeilen nummerieren n keine Zeilen nummerieren pREGEXP nur Zeilen nummerieren, die die einfache REGEXP enthalten FORMAT ist eines der folgenden: ln linksbündig, keine führenden Nullen rn rechtsbündig, keine führenden Nullen rz rechtsbündig, führende Nullen � b eine blockorientierte (gepufferte) Spezialâ€Datei anlegen c, u eine zeichenorienterte (ungepufferte) Spezialâ€Datei anlegen p eine FIFO anlegen � # Benutzer=%lu � -t wird impliziert, wenn PAGE_LENGTH <= 10. Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. � Ein Feld ist eine Folge von Freiraum (etwa Leerzeichen oder Tabulatoren) gefolgt von anderen Zeichen. Felder werden vor Zeichen übersprungen. � Ein abgespecktes „finger“â€Programm zum Anzeigen von Benutzerinformationen. Als utmpâ€Datei wird %s genommen. � Ein einzelnes „-“ steht für -i. Wenn kein BEFEHL angegeben ist, wird die resultierende Umgebung ausgegeben. � Durch Anhängen von „z“ an einen beliebigen Typ werden am Ende jeder ausgegebe- nen Zeile druckbare Zeichen angezeigt. � Nach jedem Flag kommt eine optionale Feldbreite, als Dezimalzahl; dann ein optionaler Modifikator, der entweder E oder O ist: E: die alternative Repräsentation der Locale verwenden (so vorhanden) O: die alternativen numerischen Symbole der Locale verwenden (so vorhanden) � Ein weggelassener AUSDRUCK ergibt falsch. Ansonsten ist AUSDRUCK wahr oder falsch und setzt den Exitâ€Status. Er kann sein: � Als Spezialfall erzeugt cp eine Sicherheitskopie von QUELLE wenn „force“ und „backup“ Optionen angegeben wurden und QUELLE und ZIEL der gleiche Name für eine vorhandene reguläre Datei sind. � Bedenken Sie, dass viele Operatoren für Benutzung unter einer Shell maskiert werden müssen (mit Rückschrägstrich oder Anführungszeichen). Vergleiche sind arithmetisch, wenn beide Argumente Zahlen sind, sonst lexikografisch. Mustererkennungen geben die Zeichenkette zwischen \( und \) zurück oder nichts; wenn \( und \) nicht benutzt werden, wird die Länge der Zeichenkette oder 0 zurückgegeben. � Sowohl MAJOR als auch MINOR müssen angegeben werden, wenn der TYP b, c oder u ist, und müssen weggelassen werden für TYP p. Beginnen MAJOR oder MINOR mit 0x oder 0X, wird die Zahl hexadezimal interpretiert; anderenfalls, wenn sie mit 0 beginnen, oktal; anderenfalls dezimal. TYP kann sein: � Per Voreinstellung entfernt rm keine Verzeichnisse. Bei Benutzung der Option --recursive (-r oder -R) wird jedes aufgeführte Verzeichnisse inklusive seiner Inhalte gelöscht. � Standardeinstellung ist -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sind zwei Begrenzungszeichen, um logische Seiten zu trennen, ein fehlendes zweites Zeichen impliziert „:“. Geben Sie \\ für \ ein. STIL ist einer aus: � Standardmäßig werden QUELLâ€Dateien mit Löchern („sparse“) durch eine einfache Heuristik erkannt und die korrespondierenden ZIELâ€Dateien werden ebenfalls „sparse“ gemacht. Dieses Verhalten wird mit --sparse=auto ausgewählt. Geben Sie --sparse=always an, um „sparse“â€ZIELâ€Dateien zu erzeugen, wenn die QUELL-Datei eine ausreichend lange Sequenz aus Nullâ€Bytes enthält. Verwenden Sie --sparse=never, um das Erzeugen von „sparse“â€Dateien zu verhindern. Wird --reflink[=always] angegeben, wird eine leichtgewichtige Kopie gemacht, bei welcher die Datenblöcke nur dann kopiert werden, wenn sie sich geändert haben. Wenn dies nicht möglich ist, scheitert das Kopieren. Wurde --reflink=auto angegeben, wird statt dessen eine normale Kopie angelegt. � ABSCHITTE können sein: N in N Dateien aufspalten basierend auf Größe der Eingabe K/N Kten Teil von N auf Standardausgabe ausgeben l/N in N Dateien aufteilen ohne Teilung von Zeilen l/K/N Kten Teil von N auf Standardausgabe ohne Zeilentrennung ausgeben r/N wie `l' aber eine Rundlauf-Verteilung wird verwendet r/K/N ebenso, aber nur der Kte Teil von N wird ausgegeben � Kombinierte Einstellungen: * [-]LCASE dasselbe wie [-]lcase cbreak dasselbe wie -icanon -cbreak dasselbe wie icanon � Einstellungen für die Flusskontrolle: [-]clocal Modemkontrollsignale ignorieren [-]cread Empfang von Eingaben erlauben * [-]crtscts RTS/CTSâ€Handshaking erlauben * [-]cdtrdsr DTR/DSR-Handshaking erlauben csN Zeichengröße auf N Bits setzen, N in [5..8] � ZEITSPANNE ist eine ganze Zahl mit einem optionalen Anhang: „s“ für Sekunden für Sekunden (Voreinstellung), „m“ für Minuten, „h“ für Stunden oder „d“ für Tage. � Werte werden in der ersten verfügbaren GRÖßE von --block-size und der Umgebungsvariablen %s_BLOCK_SIZE, BLOCK_SIZE und BLOCKSIZE ausgegeben. Andernfalls ist die Vorgabe Einheiten von 1024 Bytes (oder 512 wenn POSIXLY_CORRECT gesetzt wurde). � Jedes Symbol FLAG kann sein: append Anfügemodus (nur für Ausgabe sinnvoll; conv=notrunc empfohlen) � Jeder MODUS hat die Form „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“. � Beispiele: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Beispiel: %s -12 Datei1 Datei2 Es werden nur die Zeilen ausgegeben, die in Datei1 und Datei2 sind. %s -3 Datei1 Datei2 Gibt nur die Zeilen aus, die nur in Datei1 oder Datei2 vorkommen. � Beispiele: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" gefolgt von "dir2" %s stdio.h -> "." � Beispiele: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" gefolgt von "str2" � Beispiele: %s f - g Gibt den Inhalt von f aus, dann die Standardeingabe, schließlich den Inhalt von g. %s Kopiert die Standardeingabe in die Standardausgabe. � Beispiele: %s root /u Ändert den Eigentümer von /u auf „root“. %s root:staff /u Genauso, setzt zusätzlich die Gruppe auf „staff“. %s -hR root /u Ändert den Eigentümer von /u und enthaltener Dateien auf „root“. � Beispiele: %s staff /u Ändert die Gruppe von /u zu „staff“. %s -hR staff /u Ändert die Gruppe von /u und enthaltener Dateien zu „staff“. � Beispiele: Konvertiere die Sekunden seit der Epoche (1970-01-01 UTC) in ein Datum $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) Zeige die Zeit an der Westküste der USA (verwenden Sie tzselect(1) um TZ zu bestimmen) $ TZ='America/Los_Angeles' date Zeige die lokale Zeit für 09:00 Uhr nächsten Freitag an der Westküste der USA $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Außer -h und -L dereferenzieren alle DATEIâ€Tests symbolische Verknüpfungen. Bedenken Sie, dass runde Klammern für Shells maskiert werden müssen (z. B. mit einem Rückschrägstrich). GANZZAHL kann auch -l ZKETTE sein, was die Länge der ZKETTE ist. � Der Exitâ€Status ist 0, wenn der AUSDRUCK weder null noch 0 ist, 1, wenn AUSDRUCK null oder 0 ist, 2, wenn der AUSDRUCK syntaktisch ungültig ist, und 3, wenn ein Fehler auftrat � Der Rückgabewert des Programms ist 0 wenn alle eingegeben Zahlen erfolgreich umgewandelt werden konnten. Noramlerweise stopt %s beim ersten Umwandlungs- fehler mit dem Rückgabewert 2. Bei --invalid='fail' wird für jede fehlerhafte Umwandlung eine Warnung ausgegeben und der Rückgabewert bei Ende ist 2. Bei --invalid='warn' wird jede fehlerhafte Umwandlung angegeben aber der Rückgabewert bei Ende ist 0. Bei --invalid='ignore' werden Umwandlungsfehler nicht angegeben und das Programm mit 0 beendet. � Rückgabewert: 0 wenn alles in Ordnung, 1 bei kleineren Problemen (z. B. kein Zugriff auf Unterverzeichnis), 2 bei großem Ärger (z. B. kein Zugriff auf Kommandozeilenargument). � FELDLISTE ist eine durch Komma getrennte Liste der zu verwendenden Spalten. Gültige Feldnamen sind: „source“, „fstype“, „itotal“, „iused“, „iavail“, „ipcent“, „size“, „used“, „avail“, „pcent“ und „target“ (siehe Infoseite). � FORMAT bestimmt die Ausgabe wie bei printf aus C. Interpretiert werden: \" doppelte Anführungszeichen � FORMAT bestimmt die Ausgabe. Interpretierte Angaben sind: %% wörtliches % %a abgekürzter Name des Wochentags der Lokale (z. B. Son) � FORMAT muß geeignet sein, ein Fließkomma-Argument „%f“ auszugeben. Ein optionales Apostroph (%'f) aktiviert --grouping (wenn es von der aktuellen Locale unterstützt wird). Eine angegebene Breite (%10f) bewirkt das Auffüllen der Ausgabe. Wird die Breite neagtiv angegeben (%-10f), wird nach links aufgefüllt. � Die TTYâ€Leitung manipulieren, die mit der Standardeingabe verbunden ist. Ohne Argumente, die Baudâ€Rate, Lineâ€Disziplin und Abweichungen von „stty sane“ ausgeben. In den Einstellungen wird CHAR wörtlich genommen oder kodiert wie in ^c, 0x37, 0177 oder 127; spezielle Werte ^- oder undef werden benutzt, um Sonderzeichen zu unterbinden. � wenn -e verwendet wurde, werden die folgenden Zeichenfolgen erkannt: � Wenn die DATEI „-“ ist, die Standardausgabe zerhacken. DATEI(en) löschen, wenn --remove (-u) angegeben ist. Die Standardvorgabe ist es, die Dateien nicht zu löschen, da man oft auf Gerätedateien wie /dev/hda arbeitet, und diese Dateien nicht gelöscht werden sollten. Bei der Benutzung mit normalen Dateien verwenden die meisten Anwender die Option --remove. � Wenn keine DATEI angegeben ist, „%s“ nehmen. „%s“ ist als DATEI üblich. Wenn ARG1 ARG2 angegeben sind, wird -m angenommen: gebräuchlich sind „bin ich“ oder „am i“. � Wenn DATEI angegeben ist, wird die Datei gelesen, um festzustellen, welche Farben für welche Dateitypen und Erweiterungen verwendet werden sollen. Sonst wird eine vorkompilierte Datenbank verwendet. Für Einzelheiten rufen Sie „dircolors --print-database“ auf. � Wenn ERSTER oder PLUS weggelassen werden, wird 1 angenommen. Ein weggelassenes PLUS wird also als 1 interpretiert, selbst wenn LETZTER kleiner als ERSTER ist. ERSTER, PLUS und LETZTER werden als Fließkommazahlen interpretiert. PLUS ist normalerweise positiv, wenn ERSTER kleiner als LETZTER ist, und PLUS ist normalerweise negativ, wenn ERSTER größer als LETZTER ist. � Wenn der MODUS „0“ ist, wird der zugehörige Strom nicht gepuffert. � Wenn der MODUS „L“ ist, wird der zugehörige Strom zeilenweise gepuffert. Diese Option ist ungültig für die Standardeingabe. � Wenn DATEI „-“ ist, wieder in Standardausgabe kopieren. � Wenn kein Befehl angegeben ist, „${SHELL} -i“ (Vorgabe: /bin/sh) ausführen. � Ist die Standardeingabe ein Terminal, wird sie von /dev/null umgeleitet. Ist die Standardausgabe ein Terminal, werden die Ausgaben, wenn möglich, an „nohup.out“ angehängt, sonst an „$HOME/nohup.out“. Ist die Standardfehlerausgabe ein Terminal, wird sie auf die Standardausgabe umgeleitet. Um die Ausgabe in eine DATEI umzuleiten, benutzen sie bitte „%s BEFEHL > DATEI“. � Wenn ein Befehl von timeout beendet wird, so beendet sich timeout mit einem Rückgabewert von 124, sonst mit dem des ausgeführten Befehls. Ist kein Signal angegeben, wird bei Zeitablauf das Signal TERM gesendet. Das Signal TERM beendet Prozesse, die dieses Signal nicht abfangen. Für andere Prozesse muss eventuell KILL (9) benutzt werden, da dieses Signal nicht gefangen werden kann. Wenn das Signal Kill (9) gesendet wird, ist der Rückgabewert von timeout 128+9 statt 124. � Wenn das erste Zeichen von K (der Anzahl der Bytes oder Zeilen) ein „+“ ist, die Ausgabe mit dem Kten Byte bzw. der Kten Zeile vom Anfang jeder Datei beginnen, anderenfalls die letzten K Bytes bzw. Zeilen ausgeben. N kann folgende multiplikative Endungen haben: b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024, GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y. � Einstellungen für die Eingabe: [-]brkint ein Break verursacht ein Unterbrechungssignal [-]icrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln [-]ignbrk Breaks ignorieren [-]igncr Wagenrücklauf ignorieren � K kann folgende multiplikative Endungen tragen: b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024, GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y. � POS ist F[.Z][OPTS][,F[.C][OPTS]], wobei F eine Feldnummer und Z eine Zeichen- position im Feld ist; beide starten bei 1. Wenn weder -t noch -b angegeben sind, werden die Zeichen in einem Feld ausgehend vom Anfang des vorhergehenden Leerraums gezählt. OPTS setzt sich zusammen aus einer oder mehreren Ordnungs- optionen mit einem Buchstaben, die die globalen Ordnungsoptionen für diesen Schlüssel außer Kraft setzen. Wenn kein Schlüssel angegeben wurde, wird die ganze Zeile als Schlüssel benutzt. GRÖẞE kann eine der folgenden multiplikativen Endungen folgen: � Lizenz GPLv3+: GNU GPL Version 3 oder höher <http://gnu.org/licenses/gpl.html> Dies ist freie Software: Sie können sie ändern und weitergeben. Es gibt keinerlei Garantien, soweit wie es das Gesetz erlaubt. � Lokale Einstellungen: [-]crterase Löschzeichen als Backspaceâ€Leerzeichenâ€Backspace ausgeben * crtkill Zeile mit echoprt†und echoeâ€Einstellungen löschen * -crtkill Zeile mit echoctl†und echokâ€Einstellungen löschen � Erforderliche Argumente für lange Optionen sind auch für kurze erforderlich. � N und BYTES können folgende multiplikative Endungen tragen: c=1, w=2, b=512, kB=1000, K=1024, MB=1000×1000, M=1024×1024, xM=M GB=1000×1000×1000, G=1024×1024×1024, und so weiter für T, P, E, Z, Y. Jedes CONVâ€Symbol kann sein: � HINWEIS: wenn BEFEHL das Puffern der standard Ein-/Ausgabeströme ändert („tee“ tut dies z.B.), dann hat dies Vorrang vor den durch stdbuf geänderten Einstellungen. Außerdem verwenden einige Filter (wie z.B. „dd“ und „cat“) keine Ströme für E/A und werden daher durch „stdbuf“ nicht beeinflusst. � BEMERKUNG: [ beachtet die Optionen --help und --version, aber test tut es nicht. test behandelt diese beiden wie jede andere nichtleere Zeichenkette. � BEMERKUNG: Ihre Shell hat möglicherweise eine eigene Version von %s, welche normalerweise die hier beschriebene Version ersetzt. Bitte greifen Sie auf die Dokumentation der Shell zurück, um die dort unterstützten Optionen in Erfahrung zu bringen. � Beachten Sie, das der Inhalt einer mit „rm“ gelöschten Datei normalerweise wiederhergestellt werden kann. Wenn Sie mehr Sicherheit darüber wünschen, dass die Inhalte tatsächlich nicht wiederherstellbar sind, sollten Sie eher „shred“ benutzen. � Beachten Sie, dass -d und -t verschiedene Zeitâ€Datumâ€Formate akzeptieren. � Man beachte, dass die Vergleiche den durch „LC_COLLATE“ gegebenen Regeln folgen. � Bemerkung: „uniq“ kann wiederholte Zeilen nicht erkennen, wenn sie nicht auf einander folgen. Sie können die Eingabe vorher sortieren, oder auch anstelle von „uniq“ gleich „sort -u“ verwenden. Die Vergleiche folgen dabei den durch „LC_COLLATE“ gegebenen Regeln. � Ein optionales „-“ vor EINSTELLUNGEN bedeutet Verneinung. Ein „*“ markiert nicht POSIXâ€konforme Einstellungen. Das Wirtssystem bestimmt, welche Einstellungen zur Verfügung stehen. � Ansonsten ist GRÖßE ist eine Zahl, der eine der folgenden Abkürzungen folgt: KB 1000, K 1024, MB 1000×1000, M 1024×1024 und so weiter für G, T, P, E, Z, Y. In diesem Fall wird der zugehörige Strom voll gepuffert mit einem Puffer von GRÖßE Bytes. � Einstellungen für die Ausgabe: * bsN Verzögerungsstil für Backspace, N in [0..1] * crN Verzögerungsstil für Wagenrücklauf (CR), N in [0..3] * ffN Verzögerungsstil für Seitenvorschub, N in [0..1] * nlN Verzögerungsstil für Zeilenvorschub, N in [0..1] � Eigentümer bleibt unverändert, wenn nicht angegeben. Gruppe bleibt unverändert, wenn nicht angegeben, wird aber auf die Loginâ€Gruppe gesetzt, wenn durch „:“ hinter einem symbolische EIGENTÜMER implizit gewünscht. EIGENTÜMER und GRUPPE können sowohl numerisch als auch symbolisch angegeben werden. � Den Wert des AUSDRUCKs auf Standardausgabe ausgeben. Im Folgenden bedeutet eine Leerzeile eine aufsteigende Präzedenz. AUSDRUCK kann sein: ARG1 | ARG2 ARG1, wenn es weder null noch 0 ist, sonst ARG2 ARG1 & ARG2 ARG1, wenn kein Argument null oder 0 ist, sonst 0 � Standardeingabe lesen, wenn DATEI „-“ ist. Jedes MUSTER kann sein: � Melden Sie Programmfehler für %s (auf Englisch, mit LC_ALL=C) an %s � Melden Sie Übersetzungsfehler an <translation-team-de@lists.sourceforge.net>, Programmfehler dagegen (auf Englisch, mit LC_ALL=C) an <%s>. � MENGEn werden angegeben als Zeichenketten. Die meisten Zeichen stehen für sich selbst. Interpretierte Folgen sind: \NNN Zeichen mit Oktalwert NNN (1 bis 3 oktale Ziffern) \\ Rückschrägstrich (\) \a hörbarer Ton (Piep) \b Zeichen zurück \f Seitenvorschub \n Zeilenvorschub \r Wagenrücklauf \t horizontaler Tabulator � SIGNAL kann ein Name für ein Signal wie „HUP“ oder eine Signalnummer wie „1“ oder der Exitâ€Status eines Prozesses sein, der von einem Signal beendet wurde. PID ist eine Ganzzahl; ist sie negativ, dann identifiziert PID eine Gruppe von Prozessen. � ANZAHL ist eine Zahl. Wenn TYP einer von „d“, „o“, „u“, oder „x“ ist, kann ANZAHL auch „C“ für sizeof(char), „S“ für sizeof(short) , „I“ für sizeof(int) oder „L“ für sizeof(long) sein. Wenn TYP „f“ ist, kann ANZAHL auch „F“ für sizeof(float), „D“ für sizeof(double) oder „L“ für sizeof(long double) sein. � GRÖẞE ist eine Ganzzahl und eine optionale Einheit (Beispiel: 10M sind 10*1024*1024). Einheiten sind K, M, G, T, P, E, Z, Y (Potenzen von 1024) oder KB, MB, ... (Potenzen von 1000). � GRÖßE kann auch mit einem der folgenden Zeichen als Präfix versehen werden: ‚+‘ erweitern um, ‚-‘ verkleinern um, ‚<‘ höchstens, ‚>‘ mindestens, ‚/‘ abrunden zu Vielfachem von, ‚%‘ aufrunden zu Vielfachem von. � Schickt man einem laufenden „dd“â€Prozess ein %sâ€Signal, gibt dieser auf der Standardfehlerausgabe Eingabeâ€/Ausgabeâ€Statistiken aus und fährt mit dem Kopieren fort. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 Datensätze ein 18335302+0 Datensätze aus 9387674624 Bytes (9,4 GB) kopiert, 34,6279 Sekunden, 271 MB/s Optionen sind: � Besondere Zeichen: * dsusp CHAR CHAR sendet ein Terminalstoppsignal, wenn Eingabe erforderlich eof CHAR CHAR sendet Endeâ€derâ€Datei (Eingabe beenden) eol CHAR CHAR beendet Zeile � Spezielle Einstellungen: N Eingabe†und Ausgabegeschwindigkeit auf N Baud setzen * cols N an den Kernel melden, dass dieses Terminal N Spalten hat * columns N dasselbe wie cols N � Die Endung für Sicherheitskopien ist ~, außer wenn er mittels --suffix oder SIMPLE_BACKUP_SUFFIX explizit gesetzt wurde. Die Methode der Versionskontrolle kann mit --backup oder Umgebungsvariable VERSION_CONTROL festgelegt werden. Mögliche Werte sind: � Die Daten werden entsprechend dem Base64â€Alphabet aus RFC 3548 kodiert. Beim Dekodieren darf die Eingabe zusätzlich zu den formal gültigen Base64â€Zeichen noch Zeilenumbrüche enthalten. Benutzen Sie die Option --ignore-garbage, um zu versuchen, auch weitere nicht zum Alphabet gehörende Zeichen in der kodierten Eingabe zu verkraften. � Die folgenden Optionen bestimmen, wie eine Hierarchie abgearbeitet wird, wenn die Option -R ebenfalls gegeben ist. Sind mehr als eine angegeben, wirkt sich nur die letzte aus. -H wenn ein Kommandozeilenargument eine symbolische Verknüpfung auf ein Verzeichnis ist, abarbeiten -L jede gefundene symbolische Verknüpfung auf ein Verzeichnis abarbeiten -P überhaupt keinen symbolischen Verknüpfungen folgen (Voreinstellung) � Die folgenden drei Optionen sind nur beim Überprüfen sinnvoll: --quiet nicht für jede erfolgreich geprüfte Datei OK ausgeben --status nichts ausgeben, der Statuscode zeigt Erfolg an -w, --warn bei ungeeignet formatierten Prüfsummenzeilen warnen � Die Summen werden wie in %s beschrieben berechnet. Beim Überprüfen sollte die Eingabe eine frühere Ausgabe dieses Programms sein. Die normale Arbeitsweise ist es, eine Zeile mit Prüfsumme, einem Zeichen, das den Typ anzeigt („*“ für binär, „ “ für Text), und dem Namen jeder Datei auszugeben. � Die gültigen Formatangaben für Dateien (ohne --file-system): %a Zugriffsrechte im Oktalformat %A Zugriffsrechte in menschenlesbarer Form %b Anzahl der beanspruchten Blöcke (siehe %B) %B die Größe in Bytes jedes mit „%b“ gemeldeten Blocks %C SELinux-Sicherheitskontext-Zeichenkette � Dieses „install“-Programm kopiert Dateien (oftmals frisch kompiliert) an Zielorte Ihrer Wahl. Wenn Sie fertig konfektionierte Pakete auf einem GNU/Linux-System benutzen möchten, sollten Sie stattdessen ein Werkzeug zur Paketverwaltung wie yum(1) oder apt-get(1) benutzen. In den drei ersten Formaten wird QUELLE nach ZIEL kopiert, oder mehrere QUELLEN in VERZEICHNIS, während die Zugriffsrechte und Besitzer und Gruppe der Dateien gesetzt werden. Im vierten Format werden alle Teile der/des angegebenen Verzeichnis(se) erzeugt. � Um Dateien zu entfernen, deren Namen mit „-“ beginnen, z. B. „foo“, verwenden Sie eine der folgenden Anweisungen: %s -- -foo %s ./-foo � Wandlung wird durchgeführt, wenn nicht -d spezifiziert ist und sowohl MENGE1 als auch MENGE2 angegeben sind. -t darf nur bei Wandlung benutzt werden. MENGE2 wird, wenn nötig, durch Wiederholung des letzten Zeichens auf die Länge von MENGE1 vergrößert. Zusätzliche Zeichen in MENGE2 werden ignoriert. Nur [:lower:] und [:upper:] werden mit Sicherheit in aufsteigender Reihenfolge expandiert. In MENGE2 dürfen sie zum Wandeln nur in Paaren benutzt werden, um eine Groß-/Kleinschreibung anzuzeigen. -s benutzt MENGE1, wenn nicht umgewandelt oder gelöscht wird; anderenfalls wird MENGE2 zum Verdichten benutzt und erscheint nach Wandlung und Löschung. � EINHEIT-Optionen: � Außer wenn -t ZEICHEN angegeben wurde, trennen führende Leerzeichen Felder und werden ignoriert; anderenfalls werden Felder durch ZEICHEN getrennt. Jedes FELD ist eine Feldnummer, beginnend mit 1. FORMAT sind eine oder mehrere durch Komma oder Leerzeichen getrennte Spezifikationen, wobei jede „DATEINR.FELD“ oder „0“ ist. Das voreingestellte FORMAT gibt das Verschmelzungsfeld aus, die restlichen Felder von DATEI1, die restlichen Felder von DATEI2, alle getrennt mit ZEICHEN. Wichtig: DATEI1 und DATEI2 müssen nach den Verschmelzungsfeldern sortiert sein. Benutzen Sie zum Beispiel „sort -k 1b,1“, wenn „join“ keine Optionen hat. Beachten Sie bitte, dass die Vergleiche den durch „LC_COLLATE“ gegebenen Regeln folgen. Wenn die Eingabe nicht sortiert ist und einige Zeilen nicht verschmolzen werden können, so wird eine Warnmeldung ausgegeben. � Benutzen Sie genau eins aus -b, -c oder -f. Jede LISTE besteht aus einem oder mehreren kommagetrennten Bereichen. Die gewählte Eingabe wird in derselben Reihenfolge geschrieben, wie sie gelesen wird, und genau einmal geschrieben. � Wird -s verwendet, werden -L und -P ignoriert. Ansonsten bestimmt die zuletzt verwendete Option das Verhalten, wenn die Quelle eine symbolische Verknüpfung ist. Vorgabe ist %s. � Die Verwendung von Farben um Dateitypen zu unterscheiden ist normalerweise oder bei Angabe von --color=never unterbunden. Bei --color=auto werden nur dann Farben verwendet, wenn die Standardausgabe mit einem Terminal verbunden ist. Die Umgebungsvariable LS_COLORS kann die Einstellungen verändern. Verwenden Sie den Befehl dircolors um sie zu setzen. � Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen. Vorgabe: „-F /“. � Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. � Ohne Optionen wird eine dreispaltige Ausgabe erzeugt. Spalte 1 enthält Zeilen, die nur in DATEI1 sind, Spalte 2 dementsprechend Zeilen aus DATEI2, und Spalte 3 die Zeilen, die in beiden Dateien gleich sind. � Ohne Angabe einer OPTION, wird eine brauchbare Menge an Informationen ausgegeben. � Eine eindeutige Darstellung der DATEI, auf Standardausgabe ausgeben (Vorgabe: Oktalzahlen). Bei mehr als einem Argument DATEI, die Dateien in der angegebenen Folge verketten und die Eingabe zu bilden. Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. � (Nützlich auf Systemen, die für symbolische Verknüpfungen die Besitzer ändern können.) � ???� --backup[=KONTROLLE] vor Entfernen Sicherung anlegen -b wie --backup, akzeptiert aber keine Argumente -f, --force vor Überschreiben nicht nachfragen -i, --interactive vor Überschreiben nachfragen -n, --no-clobber bestehende Dateien nicht überschreiben Wenn mehr als eine Option von -i, -f und -n angeben wird, so gilt die letzte. � --backup=[KONTROLLE] Sicherungen für vorhandene Zieldateien erzeugen. -b Wie --backup, akzeptiert aber kein Argument. -d, -F, --directory dem Superuser den Versuch erlauben, harte Verknüpfungen für Verzeichnisse anzulegen (Bem.: Schlägt vermutlich dennoch fehl wegen Systembeschränkungen, auch für Superuser.) -f, --force Vorhandene Ziele entfernen. � --backup[=ART] eine Sicherung existierender Zieldateien erzeugen -b wie --backup, akzeptiert aber kein Argument -c (ignoriert) -C, --compare jedes Paar aus Quell- und Zieldatei vergleichen, und manchmal das Ziel gar nicht modifizieren -d, --directory alle Argumente als Verzeichnisnamen behandeln; alle Bestandteile der angegebenen Verzeichnisse erzeugen � --batch-size=NMERGE höchstens NMERGE Eingaben gleichzeitig zusammenführen; für mehr benutzen Sie temporäre Dateien � --block-size=GRÖßE GRÖßE große Blöcke verwenden. So gibt z.B „--block-size=M“ die Größen in Einheiten von 1,048,576 Bytes aus. Siehe GRÖßE Format unten. -B, --ignore-backups implizite Einträge, die mit ~ enden, nicht ausgeben -c mit -lt: Sortieren nach und Anzeige von ctime (Zeit der letzten Veränderung der Dateiâ€Status†informationen); mit -l: ctime anzeigen und nach Namen sortieren � --complement das Komplement der Menge der gewählten Bytes, Zeichen oder Felder bilden � --debug Den Teil der Zeile kennzeichnen, der zur Sortierung verwendet wurde und auf Standardfehlerausgabe vor fragwürdiger Verwendung warnen --files0-from=DATEI Eingabe aus Dateien lesen, deren Namen NULL-terminiert in DATEI aufgeführt sind; ist D „-“, so wird die Standardeingabe gelesen � --debug Warnungen bei ungültigen Eingaben ausgeben. � --dereference ändert jede Datei, auf die die symbolische Verknüpfung verweist (Vorgabe), statt der symbolischen Verknüpfung -h, --no-dereference symbolische Verknüpfung anstatt der referenzierten Datei ändern � --field N ersetzt die Zahl in Eingabefeld N (Vorgabe ist 1) � --files0-from=D Eingabe aus den Dateien lesen, die mit NULL terminiert in der Datei D stehen; ist D „-“, so wird aus der Standardeingabe gelesen -L, --max-line-length die Länge der längsten Zeile ausgeben -w, --words Wortanzahl ausgeben � --files0-from=D aufsummierten Platzverbrauch der in der Datei D angegebenen null-terminierten Dateinamen ausgeben. ist D „-“, so wird aus der Standardeingabe gelesen -H wie --dereference-args (-D) -h, --human-readable Größen in menschenlesbarem Format (z.B. 1K 234M 2G) ausgeben � --format=FORMAT verwendet Fließkomma-FORMAT im Stil von printf. Siehe FORMAT weiter unten für Details. � --from-unit=N Angabe der Einheit der Eingabe (statt der Vorgabe 1). � --from=MOMENTANER_EIGENTÜMER:MOMENTANE_GRUPPE Ändert den Eigentümer und/oder die Gruppe jeder Datei nur wenn der momentane Eigentümer und/oder die Gruppe der angegebenen entsprechen. Eine von beiden kann weggelassen werden, woraufhin eine Übereinstimmung des weggelassenen Attributs nicht notwendig ist. � --from-unit=N Angabe der Einheit der Eingabe (statt der Vorgabe 1). Siehe EINHEIT weiter unten � --group-directories-first Verzeichnisse vor den Dateien gruppieren; kann zusammen mit Sortierung benutzt werden, doch --sort=none schaltet Gruppierung ab � --grouping Verwendet die locale-spezifische Gruppierung von Ziffern, z.B. 1.000.000 (hat also in C/POSIX Locales keine Auswirkung). � --header[=N] Ausgabe (ohne Umwandlung) der ersten N Kopfzeilen. N ist 1 wenn es nicht ausdrücklich angegeben wird. � --help diese Hilfe anzeigen und beenden � --indicator-style=WORT Indikator des Stils WORT an Namen der Einträge anhängen: „none“ (Standardvorgabe), „slash“ (-p) „file-type“ (--file-type), „classify“ (-F) -i, --inode mit -l, Inodeâ€Nummer ausgeben -I, --ignore=MUSTER implizierte Einträge, auf die Shellâ€MUSTER passt, nicht auflisten -k, --kibibytes benutzt 1024 Byte Blöcke � --invalid=MODUS Verhalten bei ungültigen Zahlen: MODUS kann sein: abort (Vorgabe), fail, warn, ignore. � --lookup versuchen, den Rechnernamen mittels DNS zu kanonisieren -m nur Rechnernamen und Benutzer, die die Standardeingabe verwenden -p, --process aktive Prozesse ausgeben, die von init aufgerufen wurden � --no-preserve-root „/“ nicht besonders behandeln --preserve-root nicht rekursiv auf „/“ arbeiten (Voreinstellung) -r, -R, --recursive Inhalte von Verzeichnissen rekursiv entfernen -d, --dir leere Verzeichnisse werden entfernt -v, --verbose durchgeführte Tätigkeiten erklären � --no-preserve-root „/“ nicht besonders behandeln (Voreinstellung) --preserve-root rekursive Bearbeitung von „/“ ablehnen � --no-preserve=ATTR_LIST Angegebene Attribute nicht erhalten --parents Quellâ€Pfad an VERZEICHNIS anhängen � --one-file-system beim rekursiven Entfernen einer Verzeichnishierarchie die Verzeichnisse überspringen, die sich auf einem anderen Gerät als der Parameter befinden � --output[=FELDLISTE] Das durch FELDLISTE definierte Ausgabeformat verwenden, oder alle Felder ausgeben, wenn FELDLISTE nicht angegeben wird. -P, --portability POSIXâ€Ausgabeformat verwenden --sync „sync“ vor Erlangen der Benutzungsinformation aufrufen -t, --type=TYP Liste auf Dateisysteme des Typs TYP begrenzen -T, --print-type Dateisystemtyp ausgeben. -x, --exclude-type=TYP Liste auf Dateisysteme nicht vom Typ TYP begrenzen. -v (ignoriert) � --padding=N die Ausgabe auf N Zeichen auffüllen. Positives N bedeutet rechtsbündig, negatives N linksbündig. Es wird nicht aufgefüllt, wenn die Ausgabe breiter als N ist. Standardmäßig wird automatisch aufgefüllt, wenn Leerzeichen, Tabulator oder Zeilenumbruch gefunden werden. � --pid=PID mit -f: Programm beenden, wenn PID beendet wird -q, --quiet, --silent nie Kopfzeilen mit Dateinamen ausgeben --retry weiterhin versuchen, eine Datei zu öffnen, auch wenn sie beim Start nicht verfügbar ist oder später nicht mehr verfügbar wird; nützlich, wenn mit Namen verfolgt wird, also mit --follow=Name � --preserve-context SELinux-Sicherheitskontext erhalten -Z, --context=KONTEXT SELinux-Sicherheitskontext von Dateien u. Verz. setzen � --preserve-status mit dem gleichen Status wie BEFEHL enden, selbst wenn der Befehl in die Zeitsperre läuft --foreground Wenn timeout nicht direkt von der Eingabeaufforderung gestartet wurde, wird BEFEHL erlaubt, vom TTY zu lesen und Signale vom Terminal zu empfangen. In diesem Modus werden Kinder von BEFEHL keinen Timeout bekommen. -k, --kill-after=ZEITSPANNE sende außerdem das KILL-Signal, wenn BEFEHL so lange nach Senden des ursprünglichen Signals immer noch läuft -s, --signal=SIGNAL Ein Signal angeben, das zum Beenden gesendet werden soll. SIGNAL kann ein Name wie „HUP“ oder eine Zahl sein. „kill -l“ gibt eine Übersicht verfügbarer Signale. � --reference=RDATEI benutzt die Gruppe von RDATEI statt einer direkt angegebenen GRUPPE � --reference=RDATEI verwendet den Modus von RDATEI statt des angegebenen MODUS � --reference=RDATEI RDATEIs Eigentümer und Gruppe verwenden anstatt eines EIGENTÜMER:GRUPPEâ€Wertes � --reference=RDATEI RDATEIs Sicherheitskontext verwenden anstatt eines KONTEXTâ€Wertes � --rfc-3339=ZEITSPEZ Datumsausgabe gemäß RFCâ€3339 anzeigen; ZEITSPEZ=„date“, „seconds“ oder „ns“ für Datum und Zeit mit angegebener Genauigkeit Datum und Zeit werden durch einzelnes Leerzeichen getrennt: 2007-02-27 16:03:44+0100 -s, --set=ZEICHENKETTE Zeit gemäß ZEICHENKETTE setzen -u, --utc, --universal Coordinated Universal Time anzeigen oder setzen � --round=METHODE die bei der Skalierung zu verwendende Rundungsmethode. METHODE kann sein: up, down, from-zero (Vorgabe), towards-zero, nearest � --sort=WORT nach Kriterium WORT sortieren: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natürliche Ordnung von Versionsnummern innerhalb des Textes � --sparse=WANN Erstellung von Dateien mit Löchern (s. u.) steuern --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLEâ€Arguments entfernen � --strict mit --check, endet nicht-null bei illegalen Eingaben � --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLEâ€Arguments entfernen -S, --suffix=SUFFIX die normale Sicherungsâ€Erweiterung überschreiben � --suffix=ENDUNG hängt ENDUNG an SCHABLONE an. ENDUNG darf keinen Schrägstrich enthalten. Diese Option gilt implizit, wenn SCHABLONE nicht mit einem X endet. � --suffix=ENDUNG ENDUNG an auszugebende Zahlen anhängen und eine eventuell vorhandene ENDUNG bei eingegebenen Zahlen akzeptieren. � --tag Prüfsummen im BSD-Stil erzeugen � --time-style=STIL mit -l, Zeiten mittels Stil STIL anzeigen: full-iso, long-iso, iso, locale, +FORMAT FORMAT wie bei „date“; hat FORMAT die Form FORMAT1<newline>FORMAT2, wird FORMAT1 für nicht kürzlich geänderte Dateien verwendet und FORMAT2 für kürzlich geänderte; beginnt STIL mit „posix-“, ist STIL nur außerhalb der POSIXâ€Locale gültig � --tmpdir[=VERZ] SCHABLONE relativ zu VERZ betrachten. Wenn VERZ nicht angegeben, wird $TMPDIR benutzt (wenn gesetzt), sonst /tmp. Mit dieser Option muss SCHABLONE kein absoluter Name sein. Anders als mit -t darf SCHABLONE Schrägstriche enthalten, aber auch hier wird mktemp nur die letzte Komponente erstellen. � --to-unit=N Angabe der Einheit der Ausgabe (statt der Vorgabe 1). � --to=EIONHEIT auto-skaliert auszugebende Zahlen in EINHEITen. Siehe EINHEIT weiter unten. � --verbose Meldung ausgeben, bevor jede Ausgabedatei geöffnet wird � --version Versionsinformation anzeigen und beenden � --all Anzahl der installierten Prozessoren ausgeben --ignore=N wenn möglich N Verarbeitungseinheiten ausschließen � -evenp dasselbe wie -parenb cs8 * [-]lcase dasselbe wie xcase iuclc olcuc litout dasselbe wie -parenb -istrip -opost cs8 -litout dasselbe wie parenb istrip opost cs7 nl dasselbe wie -icrnl -onlcr -nl dasselbe wie icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb zwei Stoppâ€Bits pro Zeichen benutzen (eins mit „-“) [-]hup ein Hangupâ€Signal senden, wenn der letzte Prozess das Terminal schließt [-]hupcl dasselbe wie [-]hup [-]parenb Paritätsbit in der Ausgabe erzeugen und Paritätsbit in der Eingabe erwarten [-]parodd ungerade Parität setzen (oder gerade Parität „-“) � [-]ignpar Parityâ€Fehler ignorieren * [-]imaxbel piepen und vollen Eingabepuffer leeren; nicht bei Eingabe eines Zeichens [-]inlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln [-]inpck Eingabeprüfung der Parity erlauben [-]istrip höchstes Bit (das 8.) der Eingabezeichen löschen � [-]isig interruptâ€, quit†und suspendâ€Sonderzeichen erlauben [-]noflsh Ausgabeentleerung nach interrupt†und quitâ€Sonderzeichen verhindern * [-]prterase dasselbe wie [-]echoprt * [-]tostop Hintergrundjobs stoppen, die auf das Terminal schreiben * [-]xcase mit icanon, Großbuchstaben mit „\“ maskieren � cooked dasselbe wie brkint ignpar istrip icrnl ixon opost isig icanon, und eof†und eolâ€Zeichen mit den Vorgabewerten -cooked dasselbe wie raw crt dasselbe wie echoe echoctl echoke � dec dasselbe wie echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq dasselbe wie [-]ixany ek Erase†und Killzeichen auf Vorgabewert setzen evenp dasselbe wie parenb -parodd cs7 � ispeed N Eingabegeschwindigkeit auf N setzen * line N "line discipline" N benutzen min N mit -icanon, N Zeichen Minimum für ein vollständiges Lesen setzen ospeed N Ausgabegeschwindigkeit auf N setzen � oddp dasselbe wie parenb parodd cs7 -oddp dasselbe wie -parenb cs8 [-]parity dasselbe wie [-]evenp pass8 dasselbe wie -parenb -istrip cs8 -pass8 dasselbe wie parenb istrip cs7 � raw dasselbe wie -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw dasselbe wie cooked � sane dasselbe wie cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, alle Sonderzeichen auf ihren Vorgabewert � stop CHAR CHAR stoppt die Ausgabe susp CHAR CHAR sendet ein Terminalstoppsignal * swtch CHAR CHAR wechselt zu einer anderen Shellâ€Ebene * werase CHAR CHAR löscht das zuletzt eingegebene Wort � %% ein einzelnes % %b ARGUMENT als Zeichenkette mit interpretierter „\“â€Maskierung, außer dass Oktalfolgen die Form \0 oder \0NNN haben und alle Câ€Formatspezifikationen, die mit einem Zeichen aus diouxXfeEgGcs enden, wobei die ARGUMENTe zunächst in den richtigen Typ umgewandelt werden. Variable Breiten werden behandelt. � %A voller Name des Wochentags der Lokale, (z. B. Freitag) %b abgekürzter Monatsname der Lokale (z. B. Nov) %B voller Monatsname der Lokale, variable Länge (z. B. November) %c Datum und Zeit der Lokale (z. B. Fr 18 Nov 2005 15:05:42 CET) � %C Jahrhundert; wie %Y, aber ohne die letzten beiden Stellen (z. B. 20) %d Tag des Monats (z. B. 01) %D amerikanisches Datumsformat; dasselbe wie %m/%d/%y %e Tag des Monats, mit Leerzeichen aufgefüllt; wie %_d � %F volles Datum; dasselbe wie %Y-%m-%d %g Jahr als 2â€stellige Zahl bezüglich der ISOâ€Wochennummer (siehe %G) %G Jahr der ISOâ€Wochennummer (siehe %V); normalerweise nur mit %V benutzt � %S Sekunde (00..60) %t horizontaler Tabulatorstopp %T Zeit; dasselbe wie %H:%M:%S %u Tag der Woche (1..7); 1 steht für Montag � %U Wochennummer des Jahres mit Sonntag als erstem Tag der Woche (00..53) %V ISOâ€Wochennummer mit Montag als erstem Tag der Woche (01..53) %w Tag der Woche (0..6); 0 steht für Sonntag %W Wochennummer des Jahres mit Montag als erstem Tag der Woche (00..53) � %d Gerätenummer in Dezimal %D Gerätenummer in Hex %f roher Modus in Hex %F Dateityp %g Gruppenâ€ID des Eigners %G Gruppenname des Eigners � %h Anzahl harter Verknüpfungen %i Inodeâ€Nummer %m Ort des Einhängens %n Dateiname %N „Quoted File Name“ mit Dereferenzierung bei symbolischer Verknüpfung %o E/Aâ€Blockgröße %s Gesamtgröße in Bytes %t Majorâ€Gerätetyp in Hex %T Minorâ€Gerätetyp in Hex � %h dasselbe wie %b %H Stunde (00..23) %I Stunde (01..12) %j Tag des Jahres (001..366) � %i Dateisystemâ€ID in Hex %l Maximale Länge von Dateinamen %n Dateiname %s Optimale Transferâ€Blockgröße %S grundlegende Blockgröße (für Blockzahlen) %t Typ in Hex %T Typ in menschenlesbarer Form � %k Stunde, mit Leerzeichen aufgefüllt ( 0..23); identisch mit %_H %l Stunde, mit Leerzeichen aufgefüllt ( 1..12); identisch mit %_I %m Monat (01..12) %M Minute (00..59) � %n neue Zeile („newline“) %N Nanosekunden (000000000..999999999) %p das Äquivalent von AM oder PM in der Lokale; leer wenn unbekannt %P wie %p, aber in Kleinbuchstaben %r Zeit im 12â€Stundenâ€Format (z. B. 03:11:30) %R Zeit im 24â€Stundenâ€Format; dasselbe wie %H:%M %s Sekunden seit „1970-01-01 00:00:00 UTC“ � %u Nutzerâ€ID des Eigners %U Nutzername des Eigners %w Entstehungszeit der Datei, menschenlesbar; - wenn unbekannt %W Entstehungszeit der Datei, Sekunden seit Epoche; 0 wenn unbekannt %x Zeit des letzten Zugriffs %X Zeit des letzten Zugriffs in Sekunden seit der Epoche %y Zeit der letzten Modifikation %Y Zeit der letzten Modifikation in Sekunden seit der Epoche %z Zeit der letzten Änderung %Z Zeit der letzten Änderung in Sekunden seit der Epoche � %x Datumsrepräsentation der Lokale (z. B. 18.11.2005) %X Zeitrepräsentation der Lokale (z. B. 15:14:33) %y die letzten zwei Ziffern des Jahres (00..99) %Y Jahr � %z +hhmm numerische Zeitzone (z. B. +0100) %:z +hh:mm numerische Zeitzone (z. B. +01:00) %::z +hh:mm:ss numerische Zeitzone (z. B. +01:00:00) %:::z numerische Zeitzone mit nötiger Zahl an „:“ (z. B. +01 oder +05:30) %Z alphabetische Zeitzonenabkürzung (z. B. CET) Die Vorgabe ist, numerische Felder mit Nullen aufzufüllen. � + TOKEN TOKEN als Zeichenkette interpretieren, auch wenn es ein Schlüsselwort wie „match“ oder ein Operator wie „/“ ist ( AUSDRUCK ) Wert des AUSDRUCKs � +ERSTE_SEITE[:LETZTE_SEITE], --pages=ERSTE_SEITE[:LETZTE_SEITE] Druck mit ERSTE_[LETZTE_]SEITE beginnen [beenden] -SPALTEN, --columns=SPALTEN SPALTENâ€spaltige Ausgabe erzeugen und Spalten vertikal schreiben, es sei denn, -a wurde benutzt. Zahl der Zeilen in jeder Spalte ausbalancieren. � - +FORMAT (zB. +H:%M) für ein Format im Stil von „date“ � --output-delimiter=STR Spalten mit STR trennen � --userspec=BENUTZER:GRUPPE Angabe des zu verwenden Benutzers und Gruppe (ID oder Name) --groups=G_LISTE zus"atzliche Gruppen in der Form g1,g2,..,gN � -0, --null jede Zeile mit einem Nullbyte statt eines Zeilenumbruchs beenden -a, --all Zählung für jede Datei ausgeben, nicht nur für Verzeichnisse --apparent-size die sichtbare Größe ausgeben statt des Platzverbrauchs; diese ist meist kleiner, kann aber auch größer sein durch Löcher in („sparse“â€) Dateien, interne Fragmentierung, indirekte Blöcke und ähnliches � -0, --null Zeilen mit Nullbyte statt mit Zeilenvorschub beenden � -A, --address-radix=BASIS entscheiden, wie Dateioffsets ausgegeben werden BASIS kann [doxn] für Dezimal, Oktal, Hex oder Keine sein -j, --skip-bytes=BYTES BYTES Eingabebytes am Anfang jeder Datei übergehen � -A, --auto-reference automatisch generierte Referenzen ausgeben -G, --traditional mehr wie „ptx“ von System V funktionieren -F, --flag-truncation=ZKETTE ZKETTE benutzen, um Abschneidungen anzuzeigen � -B, --block-size=GRÖßE GRÖßE große Blöcke verwenden. Siehe GRÖßE unten. -b, --bytes äquivalent zu „--apparent-size --block-size=1“ -c, --total Gesamtsumme erzeugen -D, --dereference-args nur symbolische Verknüpfungen dereferenzieren, die an der Kommandozeile angegeben wurden -d, --max-depth=N die Gesamtgröße für ein Verzeichnis (oder, mit --all, einer Datei) ausgeben, aber nur dann, wenn es bzw. sie N oder weniger Ebenen unterhalb des Kommando-zeilenarguments ist; --max-depth=0 ist gleichbedeutend mit --summarize � -C Einträge mehrspaltig ausgeben --color[=WANN] Kontrolle, wann Farbe zum Unterscheiden der Dateitypen eingesetzt wird; WANN kann „never“ (nie), „always“ (immer) oder „auto“ sein -d, --directory Verzeichnisâ€Einträge statt der Inhalte anzeigen, symbolische Verknüpfungen nicht verfolgen -D, --dired Ausgabe für den „dired“â€Modus im Emacs formatieren � -D alle führenden Elemente von ZIEL erzeugen außer dem letzten, dann QUELLE nach ZIEL kopieren -g, --group=GRUPPE Gruppenbesitz setzen, statt Gruppe des akt. Prozesses -m, --mode=MODUS Zugriffsrechte setzen (wie in chmod), statt rwxr-xr-x -o, --owner=BESITZER Besitzer setzen (nur für den Superuser) � -D, --all-repeated[=TRENNâ€METHODE] alle doppelten Zeilen ausgeben TRENNâ€METHODE={none(Vorgabe),prepend,separate)}; das Abtrennen geschieht durch Leerzeilen -f, --skip-fields=N nicht die ersten N Felder vergleichen -i, --ignore-case Abweichung in Groß-/Kleinschreibung ignorieren -s, --skip-chars=N nicht die ersten N Zeichen vergleichen -u, --unique nur nur einmal vorkommende Zeilen ausgeben -z, --zero-terminated Zeilen mit Nullbyte, nicht Zeilenvorschub, abschließen � -D, --date-format=FORMAT FORMAT für die Datumsausgabe in der Kopfzeile benutzen -e[ZEICH[BREITE]], --expand-tabs[=ZEICH[BREITE]] Eingabeâ€ZEICHen (Tabulatoren) zu BREITE Leerzeichen (8) ersetzen -F, -f, --form-feed Seitenvorschübe statt Zeilenvorschübe benutzen, um Seiten zu trennen (durch einen 3â€Zeilenâ€Seitenkopf bei -F oder einen 5â€Zeilenâ€Seitenkopf und â€fuß ohne -F) � -G, --no-group in Langform Gruppennamen nicht auflisten -h, --human-readable in Langform Größenangaben in menschenlesbarem Format ausgeben (z. B. 1K 234M 2G) --si genauso, aber mit 1000 statt 1024 als Teiler � -H, --dereference-command-line symbolischen Verknüpfungen, die auf der Kommandozeile aufgeführt sind, folgen --dereference-command-line-symlink-to-dir symbolischen Verknüpfungen auf der Kommandozeile, die auf Verzeichnisse zeigen, folgen --hide=MUSTER implizite Einträge, auf die Shellâ€MUSTER passt, nicht auflisten (überschrieben durch -a oder -A) � -I einmal nachfragen, wenn mehr als drei Dateien gelöscht werden sollen oder beim rekursiven Löschen; weniger aufdringlich als -i, gibt aber Schutz gegen die meisten Fehler. --interactive[=WANN] nachfragen WANN: „never“ (nie), „once“ (-I) oder „always“ (-i); ohne WANN: immer � -L DATEI DATEI existiert und ist ein symbolischer Link (wie -h) -O DATEI DATEI existiert und wird von der effektiver Benutzerâ€ID besessen -p DATEI DATEI existiert und ist Pipe mit Namen -r DATEI DATEI existiert und ist lesbar -s DATEI DATEI existiert und ist größer als Null � -L, --dereference Verknüpfungen folgen -f, --file-system Dateisystemstatus anstelle von Dateistatus anzeigen � -L, --logical PWD aus der Umgebung nehmen, selbst wenn dieses symbolische Verknüpfungen enthält -P, --physical alle symbolischen Verknüpfungen vermeiden � -M, --macro-name=ZKETTE Makroname, der statt „xx“ zu benutzen ist -O, --format=roff Ausgabe als roffâ€Anweisungen erzeugen -R, --right-side-refs Referenzen nach rechts setzen, in -w nicht gezählt -S, --sentence-regexp=REGEXP für Zeilen†oder Satzende -T, --format=tex Ausgabe als TeXâ€Anweisungen erzeugen � -N, --read-bytes=BYTES Ausgabe auf BYTES Eingabebytes pro Datei begrenzen -S Bytes, --strings[=BYTES] Ketten mit wenigstens BYTES alphanumerischen Zeichen ausgeben -t, --format=TYP Ausgabeformat(e) wählen -v, --output-duplicates nicht * benutzen, um Zeilenunterdrückung anzuzeigen -w[BYTES], --width[=BYTES] Anzahl BYTES pro Ausgabezeile ausgeben --traditional Argumente in traditioneller Form akzeptieren � -P, --no-dereference keinen symbolischen Verknüpfungen folgen (Voreinstellung) -S, --separate-dirs Größe von Unterverzeichnissen nicht mitzählen --si wie -h, verwendet aber Potenzen von 1000 statt 1024 -s, --summarize nur Summe für jedes Argument anzeigen � -R, --recursive Dateien und Verzeichnisse rekursiv ändern � -R, --recursive Dateien und Verzeichnisse rekursiv ändern � -R, -r, --recursive Verzeichnisse rekursiv kopieren --reflink[=WANN] Klon/CoW Kopien kontrollieren. Siehe unten/n --remove-destination jede Zieldatei vor dem Versuch, sie zu öffnen, löschen (im Gegensatz zu --force) � -S nach Dateigröße sortieren --sort=WORT nach WORT anstatt nach Name sortieren: none -U extension -X, size -S, time -t, version -v --time=WORT mit -l, Zeit als WORT statt der Änderungszeit: atime -u, access -u, use -u, ctime -c, status -c; die angegebene Zeit als Sortierkriterium bei --sort=time verwenden � -S DATEI DATEI existiert und ist ein Socket -t FD DATEIâ€Deskriptor FD ist auf ein Terminal geöffnet -u DATEI DATEI existiert und das Setâ€Userâ€IDâ€Bit der DATEI ist gesetzt -w DATEI DATEI existiert und ist schreibbar -x DATEI DATEI existiert und ist ausführbar � -S, --suffix=ENDUNG die normalerweise verwendeten Dateiendung ändern -t, --target-directory=VERZ VERZeichnis angeben, in dem die Verknüpfungen erstellt werden sollen -T, --no-target-directory LINK_NAME als Namen normaler Datei behandeln -v, --verbose jeden Dateinamen vor dem Verknüpfen ausgeben � -S[ZKETTE], --sep-string[=ZKETTE] Spalten durch eine ZKETTE trennen, ohne -S: Vorgabetrennzeichen ist Tabulator mit -J und sonst Leerzeichen (dasselbe wie -S" "), hat keine Auswirkung auf Spaltenoptionen -t, --omit-header Kopf†und Fußzeilen unterdrücken � -T, --omit-pagination Kopf†und Fußzeilen unterdrücken, Seitenvorschubangaben der Eingabedateien ignorieren -v, --show-nonprinting oktale Rückschrägstrichâ€Notation benutzen -w, --width=SEITEN_BREITE Seitenbreite auf SEITEN_BREITE (72) Zeichen nur für Ausgabe mehrfacher Textspalten setzen, -s[Zeichen] schaltet ab (72) � -T, -w, --mesg den Messageâ€Status des Benutzers als +, - or ? hinzufügen -u, --users angemeldete Benutzer anzeigen --message dasselbe wie -T --writable dasselbe wie -T � -W, --page-width=SEITEN_BREITE Seitenbreite immer auf SEITEN_BREITE (72) Zeichen setzen, Zeilen abschneiden, es sei denn -J ist gesetzt, keine gegenseitige Störung mit -S oder -s � -W, --word-regexp=REGEXP REGEXP benutzen, um jedes Schlüsselwort abzubilden -b, --break-file=DATEI Wortendezeichen in dieser Datei -f, --ignore-case zum Sortieren Klein†in Großschreibung wandeln -g, --gap-size=NUMBER Zwischenraumgröße zwischen Ausgabefeldern -i, --ignore-file=DATEI Liste zu ignorierender Wörter aus DATEI lesen -o, --only-file=DATEI Wortliste nur aus dieser DATEI lesen � -X, --exclude-from=DATEI Dateien ausschließen, die einem Muster in DATEI entsprechen --exclude=MUSTER Dateien ausschließen, die MUSTER entsprechen -x, --one-file-system Verzeichnisse auf anderen Dateisystemen überspringen � -Z, --context=KTX den SELinux-Sicherheitskontext von NAME auf KTX setzen � -Z, --context=KTX den SELinux-Sicherheitskontext jedes NAME auf KTX setzen � -a nur die Zugriffszeit ändern -c, --no-create keine Dateien erzeugen -d, --date=DATUM DATUM lesen und statt der momentanen Zeit verwenden -f (ignoriert) � -a, --across Spalten horizontal statt vertikal schreiben, wird zusammen mit -SPALTEN benutzt -c, --show-control Hutâ€Notation (^G) und oktale Rückschrägstrichâ€Notation benutzen -d, --double-space doppelter Zeilenvorschub in der Ausgabe � -a, --all Einträge, die mit . beginnen, nicht verstecken -A, --almost-all implizierte . und .. nicht anzeigen --author mit -l, den Urheber jeder Datei ausgeben -b, --escape nichtâ€druckbare Zeichen oktale ausgeben � -a, --all unechte Dateisysteme mit einschließen -B, --block-size=GRÖßE Größen in Einheiten von GRÖßE ausgeben, z.B. werden bei „-BM“ die Grössen in Einheiten von 1.048.576 Bytes ausgegeben. Siehe auch GRÖẞE weiter unten --total Gesamtsumme erstellen -h, --human-readable Größen in menschenlesbarem Format (z. B. 1K 234M 2G) -H, --si genauso, aber mit 1000 statt 1024 als Teiler � -a, --all alle Einstellungen in lesbarer Form ausgeben -g, --save alle Einstellungen lesbar für stty ausgeben -F, --file=GERÄT das angegebene GERÄT anstelle der Standardeingabe öffnen und benutzen � -a, --all alle Leerzeichen wandeln, statt nur der führenden --first-only nur führenden Leerzeichen konvertieren (überschreibt -a) -t, --tabs=N Tabulatoren alle ANZAHL Zeichen annehmen, statt 8 -t, --tabs=LISTE kommagetrennte Liste von Tabulatorpositionen verwenden (-t und --tabs implizieren -a) � -a, --archive genau wie -dpR --preserve=all --attributes-only nicht die Dateidaten sondern nur die Attribute kopieren/n --backup[=KONTROLLE] eine Sicherung existierender Zieldateien erzeugen -b wie --backup, akzeptiert aber kein Argument --copy-contents wenn rekursiv, Inhalt von Spezialdateien kopieren -d genauso wie --no-dereference --preserve=links � -a, --multiple mehrere Argumente werden unterstützt, wobei jedes einzelne als NAME behandelt wird. -s, --suffix=ENDUNG ENDUNG wird entfernt -z, --zero Die Ausgabe wird mit NULL statt Zeilenumbruch beendet � -a, --suffix-length=N Endungen mit Länge N verwenden (Vorgabe %d) -b, --bytes=GRÖẞE GRÖẞE Bytes in die Ausgabedatei ausgeben -C, --line-bytes=GRÖẞE höchstens GRÖẞE Bytes pro Zeile auf die Ausgabe schreiben -d, --numeric-suffixes[=START] numerische Endungen statt alphabetischer benutzen START ändert den Startwert (Vorgabe 0). -e, --elide-empty-files bei „-n“ keine leeren Ausgabezeilen erzeugen --filter=BEFEHL schreibe an Shell-BEFEHL; Dateiname ist $FILE -l, --lines=ANZAHL ANZAHL Zeilen in die Ausgabedatei ausgeben -n, --number=ABSCHNITTE erzeuge ABSCHNITTE Zahl von Ausgabedateien. -u, --unbuffered kopiere die Eingabe direkt mit „-n r/...“ zur Ausgabe � -b, --before Trennzeichen vorher statt hinterher einfügen -r, --regex das Trennzeichen als regulären Ausdruck interpretieren -s, --separator=ZKETTE ZKETTE als Trennzeichen statt Zeilenumbruch benutzen � -b, --binary im Binärmodus lesen � -b, --binary im Binärmodus lesen (Voreinstellung außer beim Lesen aus an eine Konsole gebundenen Standardeingabe) � -b, --body-numbering=STIL STIL zur Nummerierung benutzen -d, --section-delimiter=CC CC benutzen, um logische Seiten zu trennen -f, --footer-numbering=STIL STIL benutzen, um Fußzeilen zu nummerieren � -b, --bytes Bytes anstatt Spalten zählen -s, --spaces Umbruch bei Leerzeichen -w, --width=BREITE BREITE Spalten anstatt 80 benutzen � -b, --bytes=LISTE nur diese Bytes ausgeben -c, --characters=LISTE nur diese Zeichen ausgeben -d, --delimiter=TRENN TRENN anstelle von Tabulator als Trenner benutzen � -b, --ignore-leading-blanks führende Leerzeichen ignorieren -d, --dictionary-order nur Leer†und alphanumerische Zeichen beachten -f, --ignore-case Klein†als Großbuchstaben behandeln � -b, --suffix-format=FORMAT sprintfâ€FORMAT anstelle von %02d benutzen -f, --prefix=PRÄFIX PRÄFIX anstelle von „xx“ benutzen -k, --keep-files Ausgabedateien bei Fehler nicht löschen � -c --format=FORMAT das angegebene FORMAT anstelle der Voreinstellung benutzen; Zeilenvorschub nach jeder Benutzung --printf=FORMAT wie --format, aber Rückschrägstrichâ€Steuerzeichen auswerten, kein obligatorischer Zeilenvorschub; letzterer kann mittels \n in FORMAT eingefügt werden -t, --terse die Information in knapper Form ausgeben � -c, --bytes=K die letzten K Bytes ausgeben; oder -c +K benutzen, um Bytes ab dem Kten jeder Datei auszugeben � -c, --bytes=[-]K die ersten K Bytes jeder Datei ausgeben; mit führendem „-“, alle außer den letzten K Bytes jeder Datei -n, --lines=[-]K die ersten K Zeilen ausgeben statt der ersten 10; mit führendem „-“, alle außer den letzten K Zeilen jeder Datei � -c, --changes wie verbose aber nur Berichten, wenn Änderungen erfolgen -f, --silent, --quiet unterdrückt die meisten Fehlermeldungen -v, --verbose Es wird eine Meldung für jede verarbeitete Datei ausgegeben � -c, --check %sâ€Prüfsummen aus DATEIen lesen und überprüfen � -c, --check, --check=diagnose-first prüfen, ob Eingabe sortiert ist; nicht sortieren -C, --check=quiet, --check=silent wie -c, aber erste schlechte Zeile nicht melden --compress-program=PROG temporäre Dateien mit PROG komprimieren; mit PROG -d wieder entpacken � -c, --count den Zeilen die Anzahl des Vorkommens voranstellen -d, --repeated nur die doppelten Zeilen ausgeben � -c, --crown-margin Einrückung der ersten beiden Zeilen erhalten -p, --prefix=ZKETTE nur Zeilen mit ZKETTE als Präfix neu formatieren, dabei ZKETTE jeder neuen Zeile voranstellen -s, --split-only lange Zeilen umbrechen, aber nicht auffüllen � -c, --no-create keine Dateien erstellen � -d, --date=ZEICHENKETTE Zeit gemäß ZEICHENKETTE anzeigen, nicht „jetzt“ -f, --file=DATEI wie --date für jede Zeile in DATEI -I[ZEITSPEZ], --iso-8601[=ZEITSPEZ] gibt Datum/Zeit im ISO 8601 Format aus. ZEITSPEZ='date' nur für Datum (Vorgabe), 'hours', 'minutes', 'seconds', oder 'ns' für Datum und Zeit mit der angegebenen Präzision. � -d, --decode Daten dekodieren -i, --ignore-garbage nicht-alphabetische Zeichen werden beim Dekodieren ignoriert -w, --wrap=SPALTEN bricht kodierte Zeilen nach SPALTEN Zeichen um (Vorgabe sind 76). Verwenden Sie 0 um jeglichen Zeilenumbruch zu verhindern � -d, --delimiter=X verwendet X anstelle von Leerraum als Feldbegrenzung � -d, --delimiters=LISTE Zeichen aus LISTE anstelle von Tabulatoren benutzen -s, --serial Dateien nacheinander ausgeben anstelle parallel � -d, --directory erzeugt ein Verzeichnis und keine Datei -u, --dry-run es wird nichts erzeugt; nur ein Name wird ausgegeben (unsicher) -q, --quiet unterdrückt Benachrichtigungen beim Scheitern des Anlegens von Dateien bzw. Verzeichnissen � -e Interpretation von Rückschrägstrichâ€Sequenzen anschalten -E Interpretation von Rückschrägstrichâ€Sequenzen unterdrücken (Voreinst.) � -e Interpretation von Rückschrägstrichâ€Sequenzen anschalten (Voreinst.) -E Interpretation von Rückschrägstrichâ€Sequenzen unterdrücken � -e, --canonicalize-existing alle Komponenten des Pfades müssen existieren -m, --canonicalize-missing keine Komponente des Pfades muss existieren -L, --logical löst »..« Komponenten vor Symlinks auf -P, --physical löst symbolische Verknüpfungen in der Reihenfolge des Antreffens auf (Vorgabe) -q, --quiet unterdrückt die meisten Fehlermeldungen --relative-to=DATEI aufgelöste Pfade relativ zu DATEI ausgeben --relative-base=DATEI absolute Pfade ausgeben außer denen unterhalb von DATEI -s, --strip, --no-symlinks Symbolische Verknüpfungen nicht auflösen -z, --zero Ausgaben werden durch NULL statt eines Zeilen- vorschubs trennen � -e, --echo jedes ARG als Eingabezeile ansehen -i, --input-range=VON-BIS Zahlen von VON bis BIS als Eingabezeilen ansehen -n, --head-lines=ZEILEN höchstens ZEILEN Zeilen zeigen -o, --output=DATEI Ergebnis in DATEI schreiben statt in Standardausg. --random-source=DATEI zufällige Bytes aus DATEI nehmen -z, --zero-terminated Zeilen mit Nullbyte statt Zeilenumbruch abschließen � -f nicht sortieren, -aU an†und -ls --color abschalten -F, --classify ein Zeichen (aus */=>@|) zur Typisierung anhängen --file-type genauso, aber kein „*“ anhängen --format=WORT across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time wie -l --time-style=full-iso � -f ohne Kopfzeile über den Spalten (bei kurzem Format) -w ohne Namen der Benutzer (bei kurzem Format) -i ohne volle Namen und entfernte Rechner der Benutzer (bei kurzem Format) -q ohne volle Namen, entfernte Rechner und Idleâ€Zeit der Benutzer � -f dasselbe wie -t fF, Fließkommazahlen wählen -i dasselbe wie -t dI, dezimale Integer wählen -l dasselbe wie -t dL, dezimale Longs wählen -o dasselbe wie -t o2, oktale 2â€Byteâ€Zahlen wählen -s dasselbe wie -t d2, dezimale 2â€Byteâ€Zahlen wählen -x dasselbe wie -t x2, hexadezimale 2â€Byteâ€Zahlen wählen � -f DATEI DATEI existiert und ist eine reguläre Datei -g DATEI DATEI existiert und ist setâ€groupâ€ID -G DATEI DATEI existiert wird von der effektiven Gruppenâ€ID besessen -h DATEI DATEI existiert und ist ein symbolischer Link (dasselbe wie -L) -k DATEI DATEI existiert und hat das Stickyâ€Bit gesetzt � -f, --canonicalize kanonisieren, indem jeder symb. Verknüpfung in jeder Komponente des gegebenen Pfads rekursiv gefolgt wird; alle außer der letzten Komponente müssen existieren -e, --canonicalize-existing kanonisieren, indem jeder symb. Verknüpfung in jeder Komponente des gegebenen Pfads rekursiv gefolgt wird; alle Komponenten müssen existieren � -f, --fields=LISTE nur diese Felder ausgeben; außerdem jede Zeile ausgeben, die kein Trennzeichen enthält, außer die Option -s ist gegeben -n (wird ignoriert) � -f, --follow[={name|descriptor}] angefügte Daten ausgeben, während die Datei wächst; „-f“, „--follow“ und „--follow=descriptor“ sind äquivalent -F gleichbedeutend mit „--follow=name --retry“ � -f, --force wenn existierende Zieldatei nicht geöffnet werden kann, löschen und erneut versuchen (redundant bei Verwendung der Option -n) -i, --interactive vor einem Überschreiben nachfragen (überstimmt eine vorangehende Option -n) -H symbolischen Verknüpfungen, die auf der Kommandozeile als QUELLE angegeben sind, folgen � -f, --force wenn nötig Zugriffsrechte ändern, um Schreiben zuzulassen -n, --iteration=N Nâ€fach überschreiben statt des Standardwertes (%d) --random-source=DATEI zufällige Bytes aus DATEI nehmen -s, --size=N diese Anzahl Bytes zerhacken (Endungen wie K, M, G sind zulässig) � -f, --format=FORMAT Fließkommaâ€FORMAT im Stil von printf benutzen -s, --separator=ZKETTE ZKETTE benutzen, um Zahlen zu trennen (Vorgabe :\n) -w, --equal-width gleiche Breite durch führende Nullen herstellen � -g wie -l, aber Eigentümer nicht auflisten � -g GID[,GID1...] auch noch die primäre Gruppen-ID auf die numerische GID setzen und, wenn angegeben, erweiterte Gruppen-IDs auf GID1, ... � -g, --general-numeric-sort anhand des allgemeinen numerischen Wertes sortieren -i, --ignore-nonprinting nur druckbare Zeichen beachten -M, --month-sort Reihenfolge: (unbekannt) < „JAN“ < ... < „DEZ“ � -h, --header-numbering=STIL STIL benutzen, um Kopfzeilen zu nummerieren -i, --page-increment=ANZAHL Zeilennummerinkrement in jeder Zeile -l, --join-blank-lines=ANZAHL ANZAHL Leerzeilen zählen als eine -n, --number-format=FORMAT Zeilennummern gemäß FORMAT einfügen -p, --no-renumber logische Zeilennummer am Anfang von logischen Seiten nicht zurücksetzen -s, --number-separator=ZKETTE ZKETTE nach (möglicher) Zeilennummer einfügen � -h --header=KOPF KOPF als zentrierten Seitenkopf anstelle des Dateinamens benutzen -h "" druckt eine leere Zeile, nicht -h"" benutzen. -i[ZEICH[BREITE]], --output-tabs[=ZEICH[BREITE]] Leerzeichen mit ZEICHen (Tabulatoren) auf BREITE (8) ersetzen -J, --join-lines zu vollen Zeilen zusammenziehen, gleichzeitig die durch -W veranlasste Zeilenbeschneidung abschalten, keine Spaltenausrichtung, --sep-string[=ZKETTE] setzt Trennzeichen � -h, --human-numeric-sort vergleiche menschenlesbare Zahlen (z.B., 2K 1G) � -h, --no-dereference symbolische Verknüpfung statt einer referenzierten Datei ändern. (Nützlich auf Systemen, die für symb. Verknüpfungen die Zeitstempel ändern können.) -m nur Modifikationszeit ändern � -i, --ignore-case Unterschiede in Groß/Kleinschreibung ignorieren, wenn Felder verglichen werden -j FELD äquivalent zu „-1 FELD -2 FELD“ -o FORMAT FORMAT benutzen, wenn Ausgabezeilen erstellt werden -t ZEICHEN ZEICHEN als Trennzeichen für Ein†und Ausgabefelder nehmen � -i, --ignore-environment mit leerer Umgebung beginnen -0, --null jede Zeile mit einem Nullbyte anstatt eines Zeilenvorschubs beenden -u, --unset=NAME Variable aus der Umgebung entfernen � -i, --initial Tabulatoren nicht nach Nichtâ€Freiraumzeichen (non blanks) wandeln -t, --tabs=ZAHL Tabulator alle ZAHL Zeichen annehmen, nicht 8 � -i, --inodes INodeâ€Information statt der Blockâ€Benutzung auflisten -k wie „--block-size=1K“ -l, --local Liste auf lokale Dateisysteme begrenzen --no-sync nicht „sync“ vor Erlangen der Benutzungsinformation aufrufen (Standardvorgabe) � -i, --input=MODUS ändert die Pufferung der Standardeingabe -o, --output=MODUS ändert die Pufferung der Standardausgabe -e, --error=MODUS ändert die Pufferung der Standardfehlerausgabe � -i, --interactive vor Entfernen vorhandener Ziele nachfragen -L, --logical harte Verknüpfungen auf Ziele von Symlinks machen -n, --no-dereference Ziel, das eine symbolische Verknüpfung auf ein Verzeichnis ist, wie normale Datei behandeln -P, --physical direkte harte Verknüpfungen zu symbolischen machen -s, --symbolic symbolische statt harter Verknüpfung erzeugen � -k Wie „--block-size=1K“ -L, --dereference alle symbolischen Verknüpfungen dereferenzieren -l, --count-links Größe mehrfach zählen, wenn durch harte Verknüpfungen verbunden -m Wie „--block-size=1M“ � -k, --key=POS1[,POS2] Schlüssel geht von POS1 (beginnend mit 1) bis POS2 (Voreinst.: Zeilenende) -m, --merge schon sortierte Dateien zusammenführen; nicht sortieren � -l lange Listenformat verwenden -L, --dereference bei symbolischen Verknüpfungen die Eigenschaften der jeweiligen Zieldatei anzeigen -m so viele Einträge wie möglich, durch Kommata getrennt, in eine Zeile packen � -l, --length=SEITENLÄNGE Seitenlänge auf SEITENLÄNGE (66) Zeilen setzen (Vorgabe: 56 Zeilen, und mit -F 63) -m, --merge alle Dateien parallel ausgeben, eine in jeder Spalte, Zeilen abschneiden, aber Zeilen voller Länge bei -J vereinigen � -l, --link Dateien verknüpfen, statt sie zu kopieren -L, --dereference symbolischen Verknüpfungen in QUELLE immer folgen � -l, --login Loginâ€Prozesse des Systems ausgeben � -m, --canonicalize-missing kanonisieren, indem jeder symb. Verknüpfung in jeder Komponente des gegebenen Pfads rekursiv gefolgt wird; ohne Anforderung an Existenz der Komponenten -n, --no-newline keinen abschließenden Zeilenvorschub ausgeben -q, --quiet, -s, --silent Fehlermeldungen größtenteils unterdrücken -v, --verbose Fehlermeldungen ausgeben -z, --zero die Ausgaben mit Nullbyte statt Zeilenvorschub trennen � -m, --mode=MODUS Zugriffsrechte auf MODUS setzen, nicht a=rw − umask � -m, --mode=MODUS Zugriffsrechte setzen (wie chmod), nicht a=rwx − umask -p, --parents kein Fehler, wenn vorhanden; übergeordnete Verzeichnisse erzeugen, wenn notwendig -v, --verbose für jedes angelegte Verzeichnis eine Meldung ausgeben -Z, --context=K SELinux-Sicherheitskontext jedes erzeugten Verzeichnisses auf K setzen � -n, --adjustment=N Priorität um N erhöhen (Voreinstellung 10) � -n, --digits=ZIFFERN angegebene Anzahl ZIFFERN anstelle von 2 benutzen -s, --quiet, --silent keine Bytezahlen der Ausgabedateigrößen ausgeben -z, --elide-empty-files leere Ausgabedateien löschen � -n, --lines=K die letzten K Zeilen ausgeben, statt der letzen %d; oder -n +K um Zeilen ab der Nten auszugeben --max-unchanged-stats=N mit --follow=name die DATEI erneut öffnen, wenn sie nach N Iterationen (Vorgabe: %d) unverändert ist, um zu sehen, ob sie gelöscht oder umbenannt wurde (das ist normalerweise der Fall bei rotierten Logdateien) � -n, --no-clobber keine existierenden Dateien überschreiben (überstimmt eine vorangehende Option -n) -P, --no-dereference symbolischen Verknüpfungen in QUELLE nie folgen � -n, --numeric-sort anhand des numerischen Werts sortieren -R, --random-sort anhand eines zufälligen Hash der Schlüssel sortieren --random-source=DATEI zufällige Bytes aus DATEI nehmen -r, --reverse das Ergebnis der Sortierung umkehren � -n, --numeric-uid-gid wie -l, aber numerische UIDs und GIDs anzeigen -N, --literal rohe Eintragsnamen anzeigen (z. B. Kontroll†zeichen nicht besonders behandeln) -o wie -l, aber ohne Gruppenâ€Informationen -p, --indicator-style=slash an Verzeichnisse ein „/“ anhängen � -n[SEP[ZIFFERN]], --number-lines[=SEP[ZIFFERN]] Zeilen nummerieren, ZIFFERN (5) Ziffern benutzen, danach SEP (Tabulator), Nummerierung beginnt normalerweise mit der ersten Eingabezeile -N, --first-line-number=ZAHL Nummerierung mit ZAHL bei der ersten Zeile der ersten Seite beginnen, die ausgedruckt wird (siehe auch +ERSTE_SEITE) � -o, --indent=RAND Zeile um RAND (null) Leerzeichen einrücken, beeinflusst nicht -w oder -W, RAND wird zu SEITEN_BREITE addiert -r, --no-file-warnings Warnung unterdrücken, wenn eine Datei nicht geöffnet werden kann � -o, --io-blocks GRÖßE als Anzahl von EA Blöcken statt Bytes auffassen � -o, --output=DATEI Ergebnis in DATEI schreiben statt Standardausgabe -s, --stable Sortierung stabilisieren (dabei Rückzugssortierung deaktivieren) -S, --buffer-size=GRÖßE GRÖßE für Hauptspeicherpuffer benutzen � -p genau wie --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] angegebene Dateiâ€Attribute (Voreinstellung: mode, ownership,timestamps) wenn möglich erhalten; weitere Attribute: context, links, xattr, all � -p DIR verwendet DIR als Präfix; impliziert -t [veraltet] -t SCHABLONE als Komponente eines einzelnen Dateinamen nehmen, relativ zu einem Verzeichnis: $TMPDIR, wenn gesetzt; sonst das mit -p gegebene Verzeichnis; sonst /tmp (veraltet) � -p, --parents VERZEICHNIS und seine Vorfahren entfernen; damit ist „rmdir -p a/b/c“ ähnlich zu „rmdir a/b/c a/b a“ -v, --verbose Diagnose für jedes bearbeitete Verzeichnis ausgeben � -p, --preserve-timestamps Anwenden der Zugriffsâ€/Änderungszeiten der QUELLâ€Dateien auf entsprechende Zieldateien -s, --strip Symboltabellen bereinigen --strip-program=PRG Programm zum Bereinigen von ausführbaren Dateien -S, --suffix=ENDUNG alternative Endung für Sicherungsdateien -t, --target-directory=VERZ alle QUELLâ€Argumente in VERZ kopieren -T, --no-target-directory ZIEL als normale Datei behandeln -v, --verbose den Namen jedes Verzeichnisses bei Erzeugung ausgeben � -q, --count alle Loginnamen und Anzahl der angemeldeten Benutzer -r, --runlevel aktuellen Runlevel ausgeben -s, --short nur Namen, Leitung und Zeit ausgeben (Vorgabe) -t, --time das letztmalige Stellen der Systemuhr ausgeben � -q, --hide-control-chars „?“ statt nichtâ€druckbarer Zeichen ausgeben --show-control-chars nichtâ€druckbare Zeichen anzeigen, wie sie sind (Standardvorgabe, außer wenn das Programm „ls“ ist und die Ausgabe auf ein Terminal geht) -Q, --quote-name Eintragsâ€Namen in doppelte Anführungszeichen. --quoting-style=WORT Anführungszeichenâ€Stil WORT benutzen: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent nie Dateinamen vorab ausgeben -v, --verbose immer Dateinamen vorab ausgeben � -r, --reference=DATEI Zeit der letzten Änderung von DATEI anzeigen -R, --rfc-2822 Datumsausgabe gemäß RFCâ€2822 anzeigen Beispiel: Tue, 27 Feb 2007 16:03:44 +0100 � -r, --reference=DATEI Die Zeiten dieser Datei anstatt der momentanen Zeit verwenden. -t MARKE [[HH]JJ]MMTTSSmm[.ss] statt der momentanen Zeit verwenden. --time=WORT Die durch WORT angegebene Zeit setzen: access, atime oder use: wie bei -a WORT ist modify oder mtime: wie beiu -m � -r, --reference=DATEI die Größe dieser DATEI nehmen -s, --size=GRÖßE diese GRÖßE benutzen � -r, --references erstes Feld jeder Zeile ist eine Referenz -t, --typeset-mode – nicht implementiert – -w, --width=ANZAHL Ausgabebreite innerhalb der Spalten, ohne die Referenzen � -r, --reverse umgekehrte Reihenfolge beim Sortieren -R, --recursive Unterverzeichnissen rekursiv ausgeben -s, --size die Größe jeder Datei in Blöcken ausgeben � -s, --only-delimited keine Zeilen ausgeben, die keinen Trenner enthalten --ouput-delimiter=ZKETTE ZKETTE als Ausgabetrennzeichen benutzen; Voreinstellung ist das Eingabetrennzeichen � -s, --signal=SIGNAL, -SIGNAL Name oder Nummer des zu sendenden Signals -l, --list Signalnamen auflisten oder von oder zu Nummern umwandeln -t, --table Liste mit Informationen zu den Signalen � -s, --sleep-interval=N mit -f: zwischen Versuchen etwa N Sekunden (Voreinstellung: 1) schlafen legen Bei Inotify und --pid=P, wird Prozess P mindestens alle N Sekunden geprüft. -v, --verbose immer Kopfzeilen mit Dateinamen ausgeben � -s, --symbolic-link symbolische Verknüpfungen erzeugen anstatt zu kopieren -S, --suffix=ENDUNG Standard-Sicherungsâ€Dateiendung ändern -t, --target-directory=VERZ alle QUELLEâ€Argumente in VERZ kopieren -T, --no-target-directory ZIEL als normale Datei behandeln � -s[ZEICHEN],--separator[=ZEICHEN] Spalten durch einzelnes Zeichen trennen, Vorgabe für ZEICHEN ist das Tabulatorâ€Zeichen ohne -w und „kein Zeichen“ mit -w -s[ZEICHEN] schaltet Zeilenabschneidung bei allen drei Spaltenoptionen (-SPALTE|-a -SPALTE|-m) ab, außer bei -w � -t nach Änderungszeit sortieren, neueste zuerst -T, --tabsize=SPALTEN Tabstops statt alle 8 alle SPALTEN Zeichen setzen � -t äquivalent zu -vT -T, --show-tabs Tabulatorâ€Zeichen als ^I ausgeben -u (wird ignoriert) -v, --show-nonprinting ^†und Mâ€Notation benutzen, außer für LFD und Tab. � -t, --field-separator=SEP SEP benutzen statt Übergang von Nichtleerraum zu Leerraum -T, --temporary-directory=VERZ für temporäre Dateien VERZ statt $TMPDIR oder %s; kann mehrfach gegeben werden --parallel=N ändere die Anzahl parallel laufender Sortierungen auf N -u, --unique mit -c: auf strikte Ordnung prüfen; ohne -c: nur das erste von mehreren Gleichen ausgeben � -t, --tabs=LISTE durch Komma getrennte LISTE von Tabulatorpositionen annehmen � -t, --tagged-paragraph erste Zeile anders als die zweite einrücken -u, --uniform-spacing ein Leerzeichen zwischen Wörtern, zwei nach Sätzen -w, --width=BREITE maximale Zeilenbreite (Vorgabe: 75 Spalten) -g, --goal=BREITE Zielbreite (Vorgabe sind 93% der Breite) � --target-directory=VERZ alle Quellen in Verzeichnis VERZ verschieben -T, --no-target-directory ZIEL als normale Datei behandeln -u, --update nur ältere oder brandneue Dateien verschieben -v, --verbose Erklärung über Abläufe ausgeben � -t, --text im Textmodus lesen (Voreinstellung beim Lesen aus an eine Konsole gebundene Standardeingabe) � -t, --text im Textmodus lesen (Voreinstellung) � -t, --threshold=GRÖẞE Einträge kleiner als GRÖẞE ausschließen wenn positiv, oder größer als GRÖẞE wenn negativ --time Zeit der letzten Änderung irgendeiner Datei im Verzeichnis oder einem seiner Unterverzeichnisse anzeigen --time=WORT Zeit als WORT anstelle der Änderungszeit anzeigen: atime, access, use, ctime or status --time-style=STIL Zeit in Stil STIL anzeigen: full-iso, long-iso, iso, +FORMAT FORMAT wird wie bei „date“ interpretiert � -u mit -lt: Sortieren nach und Anzeige von Zugriffszeit; mit -l: Anzeige von Zugriffszeit und nach Namen sortieren; sonst: nach Zugriffszeit -U nicht sortieren; Einträge in Reihenfolge des Verzeichnisses auflisten -v natürliche Ordnung von Versionsnummern innerhalb von Text � -u, --remove Datei nach dem Überschreiben abschneiden und entfernen -v, --verbose Fortschritt anzeigen -x, --exact Dateigrößen nicht auf den nächsten vollen Block runden; dies ist für nichtâ€reguläre Dateien die Voreinstellung -z, --zero ein abschließendes Überschreiben mit Nullen hinzufügen, um Zerhacken zu verbergen. � -u, --update nur kopieren, wenn die QUELLâ€Datei neuer ist als die Zieldatei oder die Zieldatei nicht existiert -v, --verbose durchgeführte Tätigkeiten erklären -x, --one-file-system in diesem Dateisystem verbleiben � -u, --user=NUTZER NUTZER im Ziel-Sicherheitskontext setzen -r, --role=ROLLE ROLLE im Ziel-Sicherheitskontext setzen -t, --type=TYP TYP im Ziel-Sicherheitskontext setzen -l, --range=BEREICH BEREICH im Ziel-Sicherheitskontext setzen � -v DATEINR wie -a DATEINR, aber verschmolzene Ausgabezeilen unterdrücken -1 FELD mit diesem FELD von DATEI1 verschmelzen -2 FELD mit diesem FELD von DATEI2 verschmelzen --check-order prüfen, ob die Eingabe richtig sortiert ist, auch wenn alle Eingabezeilen gepaart werden können --nocheck-order Sortierung der Eingabe nicht prüfen --header die erste Zeile jeder Datei als Feldüberschrift verwenden und sie ausgeben, ohne zu versuchen, sie zu kombinieren � -v, --kernel-version Version des Kernels ausgeben -m, --machine Maschinentyp (Hardware) ausgeben -p, --processor Typ des Prozessors ausgeben (oder „unknown“) -i, --hardware-platform Hardwareplattform ausgeben (oder „unknown“) -o, --operating-system Namen des Betriebssystems ausgeben � -v, --starting-line-number=ANZAHL erste Zeilennummer auf jeder logischen Seite -w, --number-width=ANZAHL ANZAHL Spalten für Zeilennummern benutzen � -v, --verbose Diagnose für jede verarbeitete Datei ausgeben � -w, --check-chars=N nicht mehr als N Zeichen pro Zeile vergleichen � -w, --width=SPALTEN gegebene Bildschirmbreite statt des momentanen Wertes annehmen -x Einträge in Zeilen statt in Spalten auflisten -X alphabetisch nach der Erweiterung sortieren -Z, --context SELinux-Sicherheitskontext jeder Datei anzeigen -1 eine Datei pro Zeile auflisten � -z, --zero Zeilen mit Nullbyte statt mit Zeilenvorschub beenden � -z, --zero-terminated Zeilen mit Nullbyte beenden, nicht mit Zeilenvorschub � KONTEXT vollständiger Sicherheitskontext -c, --compute Prozessübergangskontext berechnen vor der Modifikation -t, --type=TYP Typ (für die selbe Rolle wie übergeordnetes Element) -u, --user=NUTZER Nutzeridentität -r, --role=ROLLE Rolle -l, --range=BEREICH Niveaubereich � Datei: "%n" ID: %-8i Namenslänge: %-7l Typ: %T Blockgröße: %-10s Fundamentale Blockgröße: %S Blöcke: Gesamt: %-10b Frei: %-10f Verfügbar: %a Inodes: Gesamt: %-10c Frei: %d � Datei: %N Größe: %-10s Blöcke: %-10b EA Block: %-6o %F � Prozesse in einem nicht unterbrechbaren Schlafzustand tragen ebenfalls zur Durchschnittslast bei. � [:graph:] alle druckbaren Zeichen, ohne Leerzeichen [:lower:] alle Kleinbuchstaben [:print:] alle druckbaren Zeichen, einschl. Leerzeichen [:punct:] alle Satzzeichen [:space:] alle horizontalen oder vertikalen Leerzeichen/Tabulatoren [:upper:] alle Großbuchstaben [:xdigit:] alle hexadezimalen Ziffern [=ZEICHEN=] alle Zeichen äquivalent zu ZEICHEN � \0NNN Byte mit oktalem Wert NNN (1 bis 3 Stellen) \xHH Byte mit hexadezimalem Wert HH (1 bis 2 Stellen) � \NNN Byte mit oktalem Wert NNN (1 bis 3 Stellen) \xHH Byte mit hexadezimalem Wert HH (1 bis 2 Stellen) \uHHHH Unicodeâ€Zeichen (ISO/IEC 10646) mit Hexâ€Wert HHHH (4 Stellen) \UHHHHHHHH Unicodeâ€Zeichen mit hexadezimalem Wert HHHHHHHH (8 Stellen) � \\ Backslash \a Glocke (BEL) \b Rückschritt \c keine weitere Ausgabe produzieren \e Escape \f Seitenvorschub \n Zeilenvorschub \r Wagenrücklauf (Carriage Return) \t horizontaler Tabulatorstopp \v vertikaler Tabulatorstopp � \v vertikaler Tabulator ZEICH1-ZEICH2 alle Zeichen von ZEICH1 bis ZEICH2 aufsteigend [ZEICH*] in MENGE2, Kopien von ZEICH bis zur Länge von MENGE1 [ZEICH*ANZ] ANZ Kopien von ZEICHEN, ANZ ist oktal, wenn es mit 0 beginnt [:alnum:] alle Buchstaben und Ziffern [:alpha:] alle Buchstaben [:blank:] alle horizontalen Leerzeichen/Tabulatoren [:cntrl:] alle Kontrollzeichen [:digit:] alle Ziffern � ascii von EBCDIC in ASCII ebcdic von ASCII in EBCDIC ibm von ASCII in alternatives EBCDIC block mit Zeilenumbrüchen terminierte Datensätzen durch Leerzeichen bis zur cbsâ€Größe auffüllen unblock nachlaufende Leerzeichen in Datensätzen von cbsâ€Größe mit Zeilenumbrüchen ersetzen lcase Großbuchstaben in Kleinbuchstaben ändern ucase Kleinbuchstaben in Großbuchstaben ändern swab Jedes Paar von Eingabebytes vertauschen sync jeden Eingabeblock mit NULLen zur ibsâ€Größe auffüllen; wenn mit „block“ oder „unblock“ benutzt, stattdessen mit Leerzeichen � auto Akzeptiere optionale ein- bzw. zweibuchstabige Endungen: 1K = 1000 1Ki = 1024 1M = 1000000 1Mi = 1048576 � binary binäre Einâ€/Ausgabe benutzen � cio nebenläufige Einâ€/Ausgabe für Daten benutzen � count_bytes behandelt „count=N“ als einen Byte-Zähler (nur iflag) � d[ANZAHL] dezimal mit Vorzeichen, ANZAHL Bytes pro Zahl f[ANZAHL] Fließkomma, ANZAHL Bytes pro Zahl o[ANZAHL] oktal, ANZAHL Bytes pro Zahl u[ANZAHL] dezimal ohne Vorzeichen, ANZAHL Bytes pro Zahl x[ANZAHL] hexadezimal, ANZAHL Bytes pro Zahl � direct direkte Einâ€/Ausgabe für Daten benutzen � directory abbrechen, wenn kein Verzeichnis � dsync synchronisierte Einâ€/Ausgabe für Daten benutzen � excl scheitert, wenn das auszugebende Byte bereits existiert nocreat Die Ausgabedatei wird nicht erzeugt notrunc Die Ausgabedatei wird nicht abgeschnitten noerror nach Lesefehlern fortfahren fdatasync vor Beendigung Ausgabedatendatei physisch schreiben fsync genauso, zusätzlich auch die Metadaten � fullblock volle Eingabeblöcke ansammeln (nur iflag) � iec Akzeptiere eine optionale einbuchstabige Endung: 1K = 1024 1M = 1048576 ... � iec-i Akzeptiere eine optionale zweibuchstabige Endung: 1Ki = 1024 1Mi = 1048576 ... � if=DATEI aus DATEI statt von der Standardeingabe lesen iflag=FLAGS anhand der kommagetrennten Symbolliste lesen obs=BYTES BYTES Bytes auf einmal schreiben (Voreinstellung: 512) of=DATEI in DATEI statt in die Standardausgabe schreiben oflag=FLAGS anhand der kommagetrennten Symbolliste schreiben seek=N N obsâ€große Blöcke am Anfang der Ausgabe überspringen skip=N N ibsâ€große Blöcke am Anfang der Eingabe überspringen status=WELCHE WELCHE Info nicht auf dem Standardfehlerkanal ausgegeben werden soll. „noxfer“ unterdrückt die übertragungsstatistik und „none“ alle Ausgaben � noatime die Zugriffszeit nicht erneuern � nocache zwischengespeicherte Daten verwerfen � noctty das kontrollierende Terminal nicht von Datei zuweisen � nofollow symbolischen Verknüpfungen nicht folgen � nolinks abbrechen, wenn mehrfach verlinkt � nonblock nichtâ€blockierende Einâ€/Ausgabe benutzen � none Keine auto-skalierung erfolgt. Endungen lösen einen Fehler aus. � none, off Niemals Sicherung erzeugen (selbst wenn --backup angegeben wurde) numbered, t Erzeugen von nummerierten Sicherheitskopien existing, nil Nummeriert wenn nummerierte Backups existieren, sonst einfach. simple, never Immer einfache Sicherheitskopien erzeugen � seek_bytes behandelt „seek=N“ als einen Byte-Zähler (nur iflag) � si Akzeptiere eine optionale einbuchstabige Endung: 1K = 1000 1M = 1000000 ... � skip_bytes behandelt „skip=N“ als einen Byte-Zähler (nur iflag) � sync genauso, aber auch für Metadaten � text textuelle Einâ€/Ausgabe benutzen � %H:%M � (Sicherung: %s)�* [-]ctlecho Sonderzeichen in Hutnotation ausgeben („^c“) [-]echo Eingabezeichen ausgeben * [-]echoctl dasselbe wie [-]ctlecho [-]echoe dasselbe wie [-]crterase [-]echok Zeilenvorschub nach Killzeichen ausgeben �* [-]echoke dasselbe wie [-]crtkill [-]echonl Zeilenvorschub ausgeben, auch wenn keine Zeichen ausgegeben werden * [-]echoprt gelöschte Zeichen rückwärts ausgeben, zwischen „\“ und „/“ [-]icanon eraseâ€, killâ€, werase†und rprntâ€Sonderzeichen erlauben [-]iexten Sonderzeichen erlauben, die nicht POSIXâ€konform sind �* [-]iuclc Groß- in Kleinbuchstaben wandeln * [-]ixany jedes Zeichen startet Ausgabe neu, nicht nur das Startzeichen [-]ixoff das Senden von Startâ€/Stoppzeichen erlauben [-]ixon XON/XOFFâ€Flusskontrolle erlauben [-]parmrk Parityâ€Fehler markieren (mit einer 255â€0â€Zeichenfolge) [-]tandem dasselbe wie [-]ixoff �* [-]iutf8 Eingabezeichen als UTF-8 annehmen �* [-]ocrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln * [-]ofdel Löschzeichen zum Auffüllen anstelle von Nullzeichen benutzen * [-]ofill Füllzeichen anstelle von Zeitverzögerungen benutzen * [-]olcuc Klein†in Großbuchstaben wandeln * [-]onlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln * [-]onlret Zeilenvorschub bedingt Wagenrücklauf (CR) �* [-]onocr kein Wagenrücklauf (CR) in der ersten Spalte [-]opost Ausgabe nachbehandeln * tabN horizontale Tabulatorverzögerung, N in [0..3] * tabs dasselbe wie tab0 * -tabs dasselbe wie tab3 * vtN vertikale Tabulatorverzögerung, N in [0..1] �* eol2 CHAR alternatives CHAR für Zeilenende erase CHAR CHAR löscht das zuletzt eingegebene Zeichen intr CHAR CHAR sendet Unterbrechungssignal (Interrupt) kill CHAR CHAR löscht aktuelle Zeile �* lnext CHAR CHAR nimmt das nächste Zeichen uninterpretiert auf quit CHAR CHAR sendet ein Quitâ€Signal * rprnt CHAR CHAR gibt die aktuelle Zeile neu aus start CHAR CHAR startet die Ausgabe erneut nach einem Stopp �* rows N an den Kernel melden, dass dieses Terminal N Zeilen hat * size die Anzahl Zeilen und Spalten ausgeben speed die Terminalâ€Geschwindigkeit ausgeben time N mit -icanon, die Lesewartezeit auf N Zehntelsekunden setzen � ??:?? � TTY� Kontext=%s� egid=%s� euid=%s� gid=%s� Gruppen=� alt � bei Wiederholung %s �% 1% des Speichers, b 1, k 1024 (Vorgabe), und so weiter für M, G, T, P, E, Z, Y. Ohne DATEI, oder wenn DATEI „-“ ist, Standardeingabe lesen. *** WARNUNG *** Die eingestellte Locale beeinflusst die Sortierreihenfolge. Setzen Sie LC_ALL=C, um die traditionelle Sortierreihenfolge zu aktivieren, bei der native Bytewerte verwendet werden. �%.*s: ungültige Umwandlungsangabe�%e. %b %Y �%e. %b %H:%M�%lu Benutzer�%lu Benutzer�%s (für regulären Ausdruck %s)�%s → %s (Löschen der Sicherung) �%s [-d] beendete sich auf ungute Weise�%s und %s sind die gleiche Datei�%s existiert, ist aber kein Verzeichnis�%s ist aufgetaucht; folge Ende der neuen Datei�auf „%s“ kann jetzt zugegriffen werden�auf %s kann nicht mehr zugegriffen werden�%s wurde ersetzt durch eine entfernt liegenden Datei; kein weiterer Versuch�%s wurde ersetzt durch eine ungeeignete Datei; kein weiterer Versuch�%s wurde ersetzt; folge Ende der neuen Datei�%s hat einen unbekannten Dateityp�%s has nicht nutzbare, scheinbar negative Größe�%s Homepage: <%s> �Homepage für %s: <http://www.gnu.org/software/%s/> �%s ist keine gültige positive ganze Zahl�%s ist zu groß�%s kann nur mit einem SELinux-Kernel verwendet werden�Subprozess %s�Subprozess %s ist fehlgeschlagen�Subprozess „%s“ erhielt fatales Signal %d�%s wurde angegeben, %s aber nicht�%s würde die Eingabe überschreiben; Abbruch�%s%s Argument „%s“ ist zu groß�%s-%s�%s: %s ist so groß, dass es nicht dargestellt werden kann�%s: %s: Zeilennummer nicht im zulässigen Bereich�%s: %s: keine Entsprechung gefunden�%s: %s:%s: ungeordnet: �%s: „}“ ist bei Angabe einer Wiederholungsanzahl erforderlich�%s: FEHLSCHLAG bei open oder read �%s: binärer Operator erwartet�%s: eine relative symbolische Verknüpfungen kann nur im aktuellen Verzeichnis angelgt werden�%s: Ändern desf nichtâ€blockierenden Modus ist nicht möglich�%s: die Dateigröße kann nicht ermittelt werden�%s: Es ist kein Name zur Nutzerâ€ID %lu zu finden �%s: es ist nicht möglich, bis zum Ende dieses Dateityps vorgehen; kein weiterer Versuch für diesen Namen�%s: es ist nicht möglich, zum ursprünglichen Stelle zu springen�%s: das Überschreiben des Verzeichnisses ist nicht möglich�%s: Zurückspulen nicht möglich�%s: das Springen zu Position ist nicht möglich�%s: es ist nicht möglich, vom Ende her zum relativen Offset %s zu springen�%s: es ist nicht möglich, zum Offset %s zu springen�%s: es ist nicht möglich, zum relativen Offset %s zu springen�%s: ein Nurâ€Anfügenâ€Dateideskriptor kann nicht vernichtet werden�%s: überspringen nicht möglich�%s: es ist nicht möglich, zum angegebenen Offset zu springen�%s: schließender Trenner „%c“ fehlt�%s: Zurücksetzen auf nicht-blockierenden Modus ist nicht möglich�%s: in Verzeichnis %s absteigen? �%s: in schreibgeschütztes Verzeichnis %s absteigen? �%s: Dateieende�%s: Äquivalenzklassenoperand muss ein einzelnes Zeichen sein�%s: Fehler beim Abschneiden�%s: Fehler beim Schreiben an Verschiebung %s�%s: erwartet eine Zahlwert�%s: konnte nicht geschloßen werden�%s: Info über die Erweiterung konnte nicht erfragt werden�%s: konnte nicht zum Schreiben geöffnet werden�%s: konnte nicht entfernt werden�%s: der Dateizeiger konnte nicht zurück gesetzt werden�%s: fcntl fehlgeschlagen�%s: fdatasync fehlgeschlagen�%s: Datei hat negative Größe�%s: Datei zu stark geschrumpft�%s: Datei zu groß�%s: Datei zu lang�%s: Datei abgeschnitten�%s: fstat fehlgeschlagen�%s: fsync fehlgeschlagen�%s: harte Verknüpfung für Verzeichnisse nicht erlaubt�%s: Eingabe enthält eine Schleife:�%s: Eingabe enthält eine ungerade Anzahl Token�%s: Eingabedatei ist Ausgabedatei�%s: ganze Zahl nach Trenner erwartet�%s: ungültige E/A Blockgröße�%s: ungültige PID�%s: ungültige Abschnittsnummer�%s: ungültige Zähler am Anfang von %s�%s: ungültige Anweisung�%s: ungültige Feldangabe %s�%s: ungültige Dateigröße�%s: ungültiger Dateityp�%s: ungültige maximale Anzahl von ungeänderten „stats“ zwischen Öffnungen�%s: ungültige Zahl�%s: ungültige Anzahl von Bytes�%s: ungültige Anzahl von Abschnitten�%s: ungültige Anzahl von Zeilen�%s: ungültige Anzahl von Durchgängen�%s: ungültige Anzahl von Sekunden�%s: ungültige zu ignorierende Anzahl�%s: die Option -- „%c“ist ungültig �%s: ungültiges Muster�%s: ungültige Prozessâ€ID�%s: ungültiger regulärer Ausdruck: %s�%s: ungültiges Signal�%s: ungültiger Startwert für eine numerische Endung�%s: ungültige Endungslänge�%s: Zeilennummer muss größer als Null sein�%s: Zeilennummer nicht im zulässigen Bereich�%s: lseek fehlgeschlagen�%s: mehrere Signale angegeben�%s: die neuen Zugriffsrechte sind %s, nicht %s�%s: keine korrekt formatierte %sâ€Prüfsummenzeile gefunden�%s: Keine Information zur Größe dieses Gerätes�%s: Einen solchen Benutzer gibt es nicht�%s: schon angezeigtes Verzeichnis wird nicht erneut aufgeführt�%s: Anzahl Bytes ist zu groß�%s: die Option „%c%s“ erlaubt kein Argument �%s: die Option „%s“ ist mehrdeutig; Mögliche Bedeutungen:�%s: die Option „--%s“ erlaubt kein Argument �%s: die Option „--%s“ benötigt ein Argument �%s: die Option „-W %s“ erlaubt kein Argument �%s: die Option „-W %s“ ist mehrdeutig �%s: die Option „-W %s“ erfordert ein Argument �%s: die Option erfordert ein Argument -- „%c“ �%s: %s überschreiben? �%s: Durchgang %lu/%lu (%s)...�%s: Durchgang %lu/%lu (%s)...%s�%s: Durchgang %lu/%lu (%s)...%s/%s %d%%�%s: Lesefehler�%s: %s %s entfernen? �%s: Alle Argumente rekursiv entfernen? �%s: alle Argumente entfernen? �%s: %s (schreibgeschützt) %s entfernen? �%s: entfernt�%s: wird entfernt�%s: in %s umbenannt�%s: %s ersetzen? �%s: Seek fehlgeschlagen�%s: zu viele Prüfsummenzeilen�%s: Überschreiben von %s, über Modus %04lo (%s) hinwegsetzen? �%s: die maximale Dateinamenlänge kann nicht ermittelt werden�%s: es ist nicht möglich, alle angeforderten Operationen durchzuführen�%s: Operator mit einem Argument erwartet�%s: die Option „%c%s“ ist unbekannt �%s: die Option „--%s“ ist unbekannt �%s: Wert nicht vollständig konvertiert�%s: Schreibfehler�%s: das Schreiben schlug fehl�%s: %lu: ungültige Zeile; das zweite Token fehlt�%s:%lu: ungültiger Dateiname der Länge 0�%s:%lu: das Schlüsselwort %s ist unbekannt�%s}: zwischen „{“ and „}“ ist eine Ganzzahl erforderlich�“�„)“ erwartet�„)“ erwartet, %s gefunden�„-%c“ Extrazeichen oder ungültige Zahl im Argument: %s�„--pages=ERSTE_SEITE[:LETZTE_SEITE]“ fehlendes Argument�„-N ZAHL“ ungültige Angabe der Startzeilennummer: %s�„-W SEITEN_BREITE“ ungültige Anzahl von Zeichen: %s�„-l SEITEN_LÄNGE“ ungültige Anzahl von Zeilen: %s�„-o RAND“ ungültige Angabe des Zeilenoffsets: %s�„-w SEITEN_BREITE“ ungültige Anzahl von Zeichen: %s�©�* Dateisysteme, die an temporären Orten zwischenspeichern, so wie Klienten unter NFS Version 3 * komprimierte Dateisysteme �* Logâ€strukturierte oder „journaled“ Dateisysteme, so wie die mit AIX und Solaris gelieferten (und JFS, ReiserFS, XFS, Ext3, usw.) * Dateisysteme, die redundante Daten schreiben und auch dann fortfahren, wenn einige Schreibvorgänge fehlschlagen, so wie RAIDâ€basierte Dateisysteme * Dateisysteme, die Schnappschüsse anfertigen, so wie der NFSâ€Server von Network Appliance �, Durchschnittslast: %.2f�, %g s, %s/s �Argument %2$s für Option --%1$s zu groß�--context (-Z) funktioniert nur auf einem Kernel mit SELinux�--filter verarbeitet keine Abschnitte, die auf der Standardausgabe ausgegeben werden�--grouping kann nicht mit --format kombiniert werden�--header wird bei Eingabe über Kommandozeile ignoriert�--padding kann nicht zusammen mit --format verwendet werden�--reflink kann nur zusammen mit --sparse=auto verwendet werden�--tag unterstützt nicht den --text Modus�-R --dereference erfordert entweder -H oder -L�-R -h erfordert -P�-ef erlaubt kein -l�-nt erlaubt kein -l�-ot erlaubt kein -l�<intern>�??? �?????�Abbruch�Zugriff : %x Modifiziert: %y Geändert : %z Geburt : %w �Zugriff: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Adressfamilie für Hostnamen wird nicht unterstützt�Wecker�Alle Anfragen erledigt�Argumentenpuffer ist zu klein�Arnold Robbins�Assaf Gordon�Verf.�Verfügbar�Ungültiger Systemaufruf�Ungültiger Wert für ai_flags�Brian Fox�Unterbrochene Pipeline�Systemfehler�VORSICHT: Beachten Sie, dass „shred“ auf einer sehr wichtigen Annahme beruht: dass das Dateisystem Daten an derselben Stelle überschreibt. Das ist die althergebrachte Vorgehensweise, doch viele moderne Betriebssystemdesigns erfüllen diese Annahme nicht. Die folgenden Systeme sind Beispiele von Dateisystemen,auf denen „shred“ keine Wirkung hat oder auf denen nicht für alle Dateisystemmodi eine Wirkung garantiert werden kann: �KOMMENTAR�Begrenzung der CPU-Zeit überschritten�Die Funktion link aufrufen, um eine Verknüpfung DATEI2 zu DATEI1 herzustellen. �Die Funktion unlink aufrufen, um angegebene DATEI zu löschen. �Kapazität�Ändert die Gruppe für jede DATEI zu GRUPPE. Mit --reference: Ändert die Gruppe jeder DATEI auf die von RDATEI. �Ändert den Modus jeder DATEI zu MODUS. Mit --reference: Ändert den Modus jeder DATEI auf den von RDATEI. �Ändern der Gruppenâ€Zugehörigkeit für jede DATEI nach GRUPPE. Mit --reference: Ändern der Gruppenâ€Zugehörigkeit für jede DATEI auf die von RDATEI. �Ändern des Sicherheitskontextes jeder DATEI nach KONTEXT. Mit --reference: Ändern des Sicherheitskontextes jeder DATEI auf die von RDATEI. �Chet Ramey�Kindprozess endete�Colin Plumb�Sortierte Dateien DATEI1 und DATEI2 Zeile für Zeile vergleichen. �DATEI(en) oder Standardeingabe auf Standardausgabe verketten. -A, --show-all äquivalent zu -vET -b, --number-nonblank nichtleere Ausgabezeilen nummerieren -e äquivalent zu -vE -E, --show-ends $ am Ende jeder Zeile ausgeben -n, --number alle Ausgabezeilen nummerieren -s, --squeeze-blank aufeinander folgende Leerzeilen unterdrücken �Kontext: %C �Fortgesetzt�Alle Leerzeichen in jeder DATEI in Tabulatoren wandeln und auf Standardausgabe schreiben. Ohne DATEI, oder wenn DATEI „-“ ist, wird die Standardeingabe gelesen. �Tabulatoren in jeder DATEI in Leerzeichen wandeln, auf Standardausgabe schreiben. Wurde keine DATEI angegeben, oder ist DATEI „-“, die Standardeingabe lesen. �Kopieren von QUELLE nach ZIEL, oder mehrere QUELLE(n) in VERZEICHNIS �Kopieren einer Datei, Konvertierung und Formatierung gemäß der Operanden. bs=BYTES BYTES Bytes auf einmal lesen und schreiben (siehe ibs=,obs=) cbs=BYTES BYTES Bytes auf einmal konvertieren conv=CONV Datei gemäß kommagetrennter Schlüsselwörterâ€Liste konvertieren count=N nur N Eingabeblöcke kopieren ibs=BYTES Lesen von BYTES Bytes auf einmal (Voreinstellung: 512) �Die Standardeingabe in jede angegebene DATEI und auf die Standardausgabe kopieren. -a, --append an existierende DATEIen anhängen, nichts überschreiben -i, --ignore-interrupts Unterbrechungssignale (Interrupts) ignorieren �Legt auf sichere Art und Weise eine temporäre Datei oder ein Verzeichnis an und gibt den Namen aus. Ist keine SCHABLONE angegeben wird tmp.XXXXXXXXXX benutzt und --tmpdir wird implizit verwendet. �Benannte Pipes (FIFOs) mit den angegebenen NAMEn erzeugen. �Erzeugen der/des Verzeichnisse(s), wenn sie noch nicht existieren. �Spezialâ€Datei NAME vom angegebenen TYP erzeugen. �David M. Ihnat�David MacKenzie�David Madore�Gerät: %Dh/%dd Inode: %-10i Verknüpfungen: %-5h Gerätetyp: %t,%T �Gerät: %Dh/%dd Inode: %-10i Verknüpfungen: %h �Ungültige und nicht portable Konstruktionen in Dateinamen analysieren. -p für die meisten POSIXâ€Systeme überprüfen -P auf leere Namen und führendes „-“ prüfen --portability für alle POSIXâ€Systeme überprüfen (äquiv. zu -p -P) �Verzeichnis: �Status einer Datei oder eines Dateisystems anzeigen. �Anzeige der aktuellen Zeit im angegebenen FORMAT oder Setzen der Systemzeit. �Dmitry V. Levin�Jede zusätzliche Gruppe aufgeben, Nutzer†und Gruppenâ€ID des angegebenen Nutzers annehmen und BEFEHL mit angegebenen ARGUMENTen durchführen. Mit Status 111 beenden, wenn UID und GID nicht angenommen werden können. Ansonsten, mit Status von BEFEHL beenden. Dieses Programm ist nur nützlich, wenn es von Root (UID=0) gerufen wird. �EMT Trap�EXIT�Jeder Bereich ist eins aus: N Ntes Byte, Zeichen oder Feld, beginnend von 1 N- vom Nten Byte, Zeichen oder Feld bis zum Ende der Zeile N-M vom Nten zum Mten (einschl.) Byte, Zeichen oder Feld -M vom ersten zum Mten (einschl.) Byte, Zeichen oder Feld Ohne DATEI, oder wenn DATEI „-“ ist, die Standardeingabe lesen. �Die ZEICHENKETTEn auf die Standardausgabe ausgeben. -n den abschließenden Zeilenvorschub unterdrücken �Eric Blake�Mit einem Status beenden, der Misserfolg signalisiert.�Mit einem Status beenden, der Erfolg signalisiert.�Programm mit Status gemäß AUSDRUCK beenden. �F. Pinard�FEHLSCHLAG�FIXME: unbekannt�FORMAT muss in der Lage sein, ein Argument vom Typ „double“ auszugeben; per Voreinstellung ist es %.PRÄZf, wenn ERSTER, PLUS und LETZTER alle dezimale Fixkommazahlen sind mit einer maximalen Genauigkeit PRÄZ, ansonsten %g. Die Angabe der Zahlen auf der Kommandozeilen muss im englischen Format erfolgen, die Ausgabe hängt dagegen von der gewählten Locale ab (in diesem Fall wird also ein Dezimalpunkt in der Eingabe und ein Dezimalkomma in der Ausgabe benutzt.) �Fifos habe keine Major†und Minorâ€Gerätenummern.�Dateigröße überschritten�Dateien werden u+rw erzeugt und Verzeichnisse u+rwx, abzüglich Umask- Beschränkungen. �Dateisystem�Benachbarte identische Zeilen aus EINGABE (oder der Standardeingabe) filtern, das Ergebnis in AUSGABE (oder die Standardausgabe) schreiben. Ohne Optionen werden identische Zeilen zur ersten vereinigt. �Fließkommaausnahme�Für die vollständige Dokumentation starten Sie: info coreutils '%s invocation' �Für jedes Eingabezeilenpaar mit identischen Verschmelzungsfeldern eine Zeile auf Standardausgabe schreiben. Das voreingestellte Verschmelzungsfeld ist das erste durch Leerzeichen/Tabulator begrenzte Feld. Wenn DATEI1 oder DATEI2 (nicht beide) „-“ ist, Standardeingabe lesen. -a DATEINR nichtâ€passende Zeilen aus der Datei DATEINR ausgeben, wobei DATEINR 1 oder 2 ist, entsprechend DATEI1 oder DATEI2 -e LEER fehlende Eingabefelder durch LEER ersetzen �Das Schreiben geänderter Blöcke auf die Platte erzwingen, den Superâ€Block aktualisieren. �Allgemeine Hilfe zur Benutzung von GNU-Software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Aufhängen�E/A möglich�UNTÄTIG�IFrei�IUse%�IBenutzt�Ian Lance Taylor�Untätig�Wenn keine DATEI angegeben ist, %s benutzen. %s ist als DATEI üblich. �Wenn die erste und zweite Aufrufform beide zutreffen, wird das zweite Format angenommen, wenn der letzte Operand mit + oder (wenn es zwei Operanden gibt) einer Ziffer anfängt. Ein OFFSETâ€Operand bedeutet -j OFFSET. MARKE ist die Pseudoadresse des ersten auszugebenden Bytes; sie wird entsprechend erhöht, wenn die Ausgabe fortschreitet. Für OFFSET und MARKE bedeutet ein „0xҠoder „0X“â€Präfix hexadezimal; Endungen können „.“ für oktal und „b“ für Vielfaches von 512 sein. �Illegale Instruktion�Außerdem können Dateisystemsicherungen und entfernte Spiegel Kopien der Datei enthalten, die nicht entfernt werden können, und die es erlauben, eine zerhackte Datei wieder herzustellen. �Im richtigen Leben: �In der 1. Form: Eine Verknüpfung namens LINK_NAME auf ZIEL erstellen In der 2. Form: Eine Verknüpfung auf ZIEL im aktuellen Verzeichnis erstellen In der 3. und 4. Form: Verknüpfungen zu jedem ZIEL in VERZ erstellen Als Standardvorgabe werden harte Verknüpfungen erstellt, für symbolische Verknüpfungen ist die Option --symbolic anzugeben. Beim Erzeugen von harten Verknüpfungen muss jedes ZIEL existieren. Bei symbolischen Verknüpfungen kann dagegen beliebiger Text stehen; bei späterer Auflösung wird eine relative Verknüpfung bezogen auf ihr beinhaltendes Verzeichnis interpretiert. �Im Fall von ext3 trifft die obige Bemerkung (und die eingeschränkte Verwendbarkeit von shred) nur zu, wenn der Modus data=journal gesetzt ist, der neben einem Journal für Metadaten auch eines für Daten schreibt. Sowohl im Modus data=ordered (Voreinstellung) und data=writeback funktioniert shred wie gewöhnlich. Die Journalâ€Optionen von ext3 können beim Einhängen gesetzt werden durch Anhängen von data=irgendwas für ein bestimmtes Dateisystem in der /etc/fstab, wie es in der Manpage zu mount erklärt ist. �Unendlich�unendlich B�Informationsanforderung�Inodes�Unterbrechung�Von einem Signal unterbrochen�Ungültige Rückwärtsverweis�Ungültiger Zeichenklassenname�Ungültiges Suchzeichen�Der Inhalt von \{\} ist ungültig�Der vorhergehende reguläre Ausdruck ist ungültig�Ungültiges Bereichsende�Ungültiger regulärer Ausdruck�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Gewaltsam beendet�LEITUNG�LOGIN�Auflistung von Informationen über die DATEIen (Standardvorgabe ist das momentane Verzeichnis). Alphabetisches Sortieren der Einträge, falls weder -cftuvSUX noch --sort angegeben wurden. �Login�Loginname: �Lucas-Primzahlentest scheiterte. Dies sollte nicht vorkommen�Mark Kettenis�Matthew Bradburn�Fehler bei der Speicheranforderung�Speicher ausgeschöpft�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Eingehängt auf�NAME�Name�Name oder Service unbekannt�Niels Möller�Keine Adresse mit dem Hostnamen verbunden�Keine Übereinstimmung�Kein vorhergehender regulärer Ausdruck�Nicht behebbarer Fehler bei der Namensauflösung�OK�Beim Löschen ohne Verdichten darf nur eine Zeichenkette angegeben werden.�Sortieroptionen: �Andere Optionen: �Einen permutierten Index der Wörter der Eingabedateien einschließlich Kontext ausgeben. �Ausgabe-Befehl zum Setzen der Umgebungsvariable LS_COLORS. Bestimmen Sie das Ausgabeformat: -b, --sh, --bourne-shell Bourneâ€Shellâ€Code, um LS_COLORS zu setzen -c, --csh, --c-shell Câ€Shellâ€Code, um LS_COLORS zu setzen -p, --print-database Standardeinstellungen ausgeben �NAME ohne die letzte /Komponente ausgeben; enthält der NAME keine /, wird „.“ (= aktuelles Verzeichnis) ausgegeben. �Stücke fester Größe der EINGABE auf PRÄFIXaa, PRÄFIXab, ... ausgeben; Vorgabe für die Größe ist 1000 Zeilen und für PRÄFIX „x“. Wenn keine EINGABE angegeben wurde oder die EINGABE „-“ ist, wird von der Standardeingabe gelesen. �Teile der DATEI getrennt durch MUSTER in die Dateien „xx01“, „xx02“, ... schreiben und die Bytezahl für jedes Teil auf Standardausgabe ausgeben. �Plattformabhängige Grenzen ausgeben in für Shell-Scripte nützlichem Format. �Ausgeben, wer augenblicklich gemäß DATEI angemeldet ist. Wenn keine DATEI angegeben ist, %s benutzen. %s ist als DATEI üblich. �Mehrfaches Überschreiben der angegebenen DATEI(en), um es schwerer zu machen, selbst mit aufwändigen und teuren Hardwareâ€Analysemitteln die Daten wieder herzustellen. �PID�Gepackt von %s �Gepackt von %s (%s) �Pádraig Brady�DATEI(en) in Seiten oder Spalten für die Druckausgabe unterteilen. �die Parameterzeichenkette ist nicht korrekt codiert�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Stromausfall�Der reguläre Ausdruck endet vorzeitig�ARGUMENTe entsprechend des angegebenen FORMATs ausgeben, oder anhand OPTION ausführen �CRC-Checksumme und Byteanzahl für jede DATEI ausgeben. �Den NAMEn ohne führende Verzeichnisse ausgeben. Wenn angegeben, auch ENDUNG entfernen. �Bestimmte Systeminformationen ausgeben. Ohne OPTION dasselbe wie -s. -a, --all alle Informationen ausgeben, in der folgenden Reihenfolge (außer -p und -i, wenn nicht bekannt): -s, --kernel-name Namen des Kernels ausgeben -n, --nodename Netzwerknamen der Maschine ausgeben -r, --kernel-release Releaseâ€Nummer des Kernels ausgeben �Prüfsumme und Blockanzahl für jede DATEI ausgeben. -r BSDâ€Summenalgorithmus benutzen, 1K Blöcke verwenden -s, --sysv Systemâ€Vâ€Summenalgorithmus benutzen, 512â€Byteâ€Blöcke verwenden �Gruppenmitgliedschaften für BENUTZERNAME oder, wenn dieser nicht angegeben ist, dem aktuellen Prozess anzeigen (welche abweichen kann, wenn die Datenbank mit Gruppeninformationen sich geändert hat). �Informationen über gerade angemeldete Benutzer ausgeben. �Maschinenarchitektur ausgeben. �Zeilenâ€, Wort†und Byteanzahl für jede DATEI ausgeben und eine Zeile mit der Gesamtsumme, wenn mehr als eine DATEI angegeben wurde. Ohne DATEI, oder wenn DATEI „-“ ist wird von der Standardeingabe gelesen. Ein Wort ist eine nicht leere Folge von Zeichen, die durch Leerzeichen begrenzt wird. Die unten angeführten Optionen erlauben es, die auszugebenden Zähler aus- zuwählen, wobei sie immer in dieser Reihenfolge ausgegeben werden: Zeilen, Wörter, Zeichen, Bytes, größte Zeilenlänge. -c, --bytes Byteanzahl ausgeben -m, --chars Zeichenanzahl ausgeben -l, --lines Zeilenanzahl ausgeben �Die Zahlen von ERSTER bis LETZTER ausgeben, in Schritten von PLUS. �Eigenschaften eines Terminals ausgeben oder ändern. �Ausgewählte Teile der Zeilen von jeder DATEI auf Standardausgabe ausgeben. �Die aktuelle Zeit, die Dauer, wie lange das System läuft, die Anzahl der Benutzer und die durchschnittliche Anzahl der laufenden Jobs in den letzten 1, 5 und 15 Minuten ausgeben.�Den Dateinamen des Terminals ausgeben, das mit der Standardeingabe verbunden ist. -s, --silent, --quiet nichts ausgeben, nur Exitâ€Status setzen �Die ersten 10 Zeilen jeder DATEI auf Standardausgabe ausgeben. Mit mehr als einer DATEI, vorab den Dateinamen ausgeben. Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. �Den vollständigen Dateinamen des aktuellen Verzeichnisses ausgeben. �Die letzten %d Zeilen jeder DATEI auf Standardausgabe ausgeben. Wurden mehrere DATEIen angegeben, wird für jede zunächst der Dateinamen ausgeben. Ohne DATEI, oder wenn DATEI „-“ ist wird von der Standardeingabe gelesen. �Den Namen des aktuellen Benutzers ausgeben. �Gibt die Anzahl der Verarbeitungseinheiten aus, welche dem aktuellen Prozess zur Verfügung stehen. Diese Zahl kann kleiner als die Zahl der aktiven Prozessoren sein �Die Primfaktoren aller angegebenen ganzen ZAHLen ausgeben. Wurden keine Argumente in der Befehlszeile gegeben, werden diese von Standardeingabe gelesen. �Gibt den aufgelösten absoluten Dateinamen aus; alle außer der letzten Komponente müssen existieren �Den Benutzernamen ausgeben, der zu der aktuellen effektiven Benutzerâ€ID gehört. Dasselbe wie „id -un“. �Nutzer- und Gruppeninformationen zu BENUTZER anzeigen, oder (wenn BENUTZER nicht angegeben ist) für den aktuellen Benutzer. -a ignoriert, nur aus Kompatibilitätsgründen -Z, --context nur den Sicherheitskontext des aktuellen Nutzers ausgeben -g, --group nur die effektive Gruppenâ€ID ausgeben -G, --groups alle Gruppen-IDs ausgeben -n, --name Namen statt Nummer ausgeben, für -ugG -r, --real die reale ID anstelle der effektiven ausgeben, für -ugG -u, --user nur die effektive Benutzerâ€ID ausgeben �Wert einer symbolischen Verknüpfung oder den kanonischen Dateinamen ausgeben. �Bearbeitungsanfrage läuft�Der Profilierungstimer ist abgelaufen�Projekt: �Q. Frank Xia�Ende�Randy Smith�Echtzeitsignal %d�ZAHL(en) von Standardeingabe oder Befehlsargumenten neu formatieren. �Jeden Absatz in DATEI(en) formatieren, auf Standardausgabe schreiben. Die Option -BREITE ist eine abgekürzte Form von --width=BREITE. �Der reguläre Ausdruck ist zu groß�Entfernen (unlink) der DATEI(en). -f, --force nicht vorhandene Dateien ignorieren, keine Nachfragen -i vor jeder Entfernung nachfragen �Die VERZEICHNIS(se) entfernen, wenn sie leer sind. --ignore-fail-on-non-empty jeden Fehlschlag ignorieren, der nur daher rührt, dass ein Verzeichnis nicht leer ist �Umbenennen von QUELLE in ZIEL, oder QUELLE(en) in VERZEICHNIS verschieben �Eine Zeile mit allen angegebenen ZEICHENKETTEn oder „y“ wiederholt ausgeben. �Melden Sie Programmfehler für %s (auf Englisch, mit LC_ALL=C) an %s �Melden Sie Übersetzungsfehler für %s an <translation-team-de@lists.sourceforge.net> �Anfrage abgebrochen�Anfrage nicht abgebrochen�Resource verloren�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�BEFEHL mit festgelegter Priorität ausführen, was die Zeitzuteilung beeinflusst. Ohne BEFEHL wird die aktuelle Priorität ausgegeben. Die Priorität reicht dabei von %d (vorteilhafteste Zeitzuteilung) bis %d (unvorteilhafteste Zeitzuteilung). �BEFEHL ausführen, wobei das Wurzelverzeichnis auf NEUEWURZEL gesetzt wird. �BEFEHL ausführen und dabei das Signal HUP ignorieren. �Führe BEFEHL mit geänderter Pufferung für seine standard Ein/Ausgabeströme aus. �Ein Programm in einem anderen Sicherheitskontext ausführen. Wenn weder KONTEXT noch BEFEHL gegeben sind, den aktuellen Sicherheitskontext ausgeben. �Russell Coker�Scott Bartram�Scott Miller�Segmentierungsverletzung�Signale an Prozesse senden oder Signale auflisten. �Servname für ai_socktype wird nicht unterstützt�Setzen Sie LC_ALL=C, um das Problem zu umgehen.�Jeden NAMEn in der Umgebung auf WERT setzen und BEFEHL ausführen. �Shell: �Anzeige von Informationen über die Dateisysteme, auf dem sich jede DATEI befindet, oder alle Dateisysteme, welches der Normalfall ist. �Die Größe jeder DATEI auf die angegebene Größe bringen (durch Beschneiden oder Auffüllen). Eine noch nicht existierende DATEI wird angelegt. Wenn eine DATEI größer als spezifiziert ist, geht die darüber hinaus gehenden Daten verloren. Ist sie kürzer, wird sie erweitert und der erweiterte Teil (Loch) wird als Nullbytes gelesen. �Simon Josefsson�Größe�Beim Erzeugen von Spezialdateien müssen Major†und Minorâ€Gerätenummern angegeben werden�Stapelfehler�Starte BEFEHL und beende ihn zwangsweise, wenn er nach ZEITSPANNE noch läuft. �Gestoppt�Gestoppt (Signal)�Gestoppt (Terminaleingabe)�Gestoppt (Terminalausgabe)�Stuart Kemp�Erfolg�Summierung der Plattennutzung jeder DATEI, rekursiv für Verzeichnisse �Systemfehler�ZEIT�Vorübergehender Fehler bei der Namensauflösung�Beendet�Die folgenden optionalen Flags können „%“ folgen: - (Bindestrich/Minus) Feld nicht auffüllen _ (Unterstrich) Feld mit Leerzeichen auffüllen 0 (Null) mit Nullen auffüllen ^ wenn möglich Großbuchstaben benutzen # wenn möglich Groß- und Kleinbuchstaben vertauschen �Die verglichenen Zeichenketten waren %s und %s.�Torbjörn Granlund�Trace/Breakpoint Trap�Rückschrägstrich am Ende�Zeichen von Standardeingabe wandeln, verdichten und/oder löschen; auf Standardausgabe schreiben. -c, -C, --complement erstes Komplement MENGE1 -d, --delete Zeichen der MENGE1 löschen, nicht wandeln -s, --squeeze-repeats jede Eingabefolge eines wiederholten Zeichens, das in MENGE1 enthalten ist, durch ein einzelnes Vorkommens dieses Zeichens ersetzen -t, --truncate-set1 zuerst MENGE1 auf die Länge von MENGE2 abschneiden �„%s --help“ liefert weitere Informationen. �Versuchen Sie „%s ./%s“, um die Datei %s zu entfernen. �Wenn sowohl gelöscht als auch verdichtet wird, müssen zwei Zeichenketten angegeben werden.�Beim Wandeln müssen zwei Zeichenketten angegeben werden.�Typ�Ulrich Drepper�Unbekannter Fehler�Das Signal %d ist unbekannt�Unbekannter Systemfehler�Keine schließende Klammer für ( oder \(�Kein Gegenstück für ) oder \)�Keine schließende Klammer für [ oder [^�Keine schließende Klammer für \{�Die Zugriffs†und Modifikationszeiten jeder DATEI auf die momentane Zeit aktualisieren. Eine DATEI, die nicht existiert, wird leer angelegt, wenn nicht -c oder -h mit angegeben werden. Ist DATEI mit - angegeben, so ändert touch die Zeiten für die Datei, die mit der Standardausgabe verbunden ist. �Dringender E/A Zustand�Aufruf: %s �Aufruf: %s BEFEHL [ARGUMENT]... oder: %s OPTION �Aufruf: %s KONTEXT BEFEHL [args] oder: %s [ -c ] [-u NUTZER] [-r ROLLE] [-t TYP] [-l BEREICH] BEFEHL [args] �Aufruf: %s AUSDRUCK oder: %s OPTION �Aufruf: %s DATEI oder: %s OPTION �Aufruf: %s DATEI1 DATEI2 oder: %s OPTION �Aufruf: %s FORMAT [ARGUMENT]... oder: %s OPTION �Aufruf: %s NAME [ENDUNG] oder: %s OPTION... NAME... �Aufruf: %s ANZAHL[ENDUNG]... oder: %s OPTION Für ANZAHL Sekunden pausieren. ENDUNG kann sein: „s“ für Sekunden (Vorgabe), „m“ für Minuten, „h“ für Stunden, „d“ für Tage. Im Gegensatz zu den meisten Implementierungen, die ANZAHL als eine ganze Zahl erfordern, kann ANZAHL hier eine beliebige Gleitkommazahl sein. Werden zwei oder mehr Argumente angegeben, wird für eine Zeit pausiert, die der Summe der Werte entspricht. �Aufruf: %s [OPTION]... BEFEHL �Aufruf: %s OPTION... DATEI... �Aufruf: %s OPTION... [DATEI]... �Aufruf: %s [-F GERÄT | --file=GERÄT] [EINSTELLUNGEN]... oder: %s [-F GERÄT | --file=GERÄT] [-a|--all] oder: %s [-F GERÄT | --file=GERÄT] [-g|--save] �Aufruf: %s [-BREITE] [OPTION]... [DATEI]... �Aufruf: %s [-s SIGNAL | -SIGNAL] PID... oder: %s -l [SIGNAL]... oder: %s -t [SIGNAL]... �Aufruf: %s [DATEI]... oder: %s [OPTION] �Aufruf: %s [NAME] oder: %s OPTION Den Rechnernamen dieses aktuellen Rechners ausgeben oder setzen. �Aufruf: %s [ZAHL...] oder: %s OPTION �Aufruf: %s [OPERAND...] oder: %s OPTION �Aufruf: %s [OPTION] �Aufruf: %s [OPTION] Die hexadezimale numerische Kennung für den aktuellen Rechner ausgeben. �Aufruf: %s [OPTION] ZEITSPANNE BEFEHL [ARGUMENT]... oder: %s [OPTION] �Aufruf: %s [OPTION] NAME... �Aufruf: %s [OPTION] NEUEWURZEL [BEFEHL [ARGUMENT]...] oder: %s OPTION �Aufruf: %s [OPTION] [BEFEHL [ARGUMENT]...] �Aufruf: %s [OPTION] [DATEI] Vollkommen geordnete Liste in Übereinstimmung mit der partiellen Ordnung in DATEI schreiben. Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen. �Aufruf: %s [OPTION]... �Aufruf: %s [OPTION]... KONTEXT DATEI... oder: %s [OPTION]... [-u NUTZER] [-r ROLLE] [-l BEREICH] [-t TYP] DATEI... oder: %s [OPTION]... --reference=RDATEI DATEI... �Aufruf: %s [OPTION]... VERZEICHNIS... �Aufruf: %s [OPTION]... DATEI MUSTER... �Aufruf: %s [OPTION]... DATEI... �Aufruf: %s [OPTION]... DATEI1 DATEI2 �Aufruf: %s [OPTION]... GRUPPE DATEI... oder: %s [OPTION]... --reference=RDATEI DATEI... �Aufruf: %s [OPTION]... LETZTER oder: %s [OPTION]... ERSTER LETZTER oder: %s [OPTION]... ERSTER PLUS LETZTER �Aufruf: %s [OPTION]... MODUS[,MODUS]... DATEI... oder: %s [OPTION]... OKTALâ€MODUS DATEI... oder: %s [OPTION]... --reference=RDATEI DATEI... �Aufruf: %s [OPTION]... NAME TYP [MAJOR MINOR] �Aufruf: %s [OPTION]... NAME... �Aufruf: %s [OPTION]... MENGE1 [MENGE2] �Aufruf: %s [OPTION]... [ DATEI | ARG1 ARG2 ] �Aufruf: %s [OPTION]... [+FORMAT] oder: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Aufruf: %s [OPTION]... [-T] QUELLE ZIEL oder: %s [OPTION]... QUELLE... VERZEICHNIS oder: %s [OPTION]... -t VERZEICHNIS QUELLE... �Aufruf: %s [OPTION]... [-T] QUELLE ZIEL oder: %s [OPTION]... QUELLE... VERZEICHNIS oder: %s [OPTION]... -t=VERZEICHNIS QUELLE... oder: %s [OPTION]... -d=VERZEICHNIS... �Aufruf: %s [OPTION]... [-T] ZIEL LINK_NAME (1. Form) oder: %s [OPTION]... ZIEL (2. Form) oder: %s [OPTION]... ZIEL... VERZ (3. Form) oder: %s [OPTION]... -t VERZ ZIEL... (4. Form) �Aufruf: %s [OPTION]... [-] [NAME=WERT]... [BEFEHL [ARG]...] �Aufruf: %s [OPTION]... [DATEI] �Aufruf: %s [OPTION]... [DATEI] oder: %s -e [OPTION]... [ARG]... oder: %s -i VON-BIS [OPTION]... �Aufruf: %s [OPTION]... [DATEI] DATEI oder Standardeingabe mittels Base64 kodieren oder dekodieren und in die Standardausgabe schreiben. �Aufruf: %s [OPTION]... [DATEI]... �Aufruf: %s [OPTION]... [DATEI]... oder: %s [-abcdfilosx]... [DATEI] [[+]OFFSET[.][b]] oder: %s --traditional [OPTION]... [DATEI] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Aufruf: %s [OPTION]... [DATEI]... oder: %s [OPTION]... --files0-from=DL �Aufruf: %s [OPTION]... [DATEI]... %sâ€Prüfsummen (%d Bits) ausgeben oder überprüfen. Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. �Aufruf: %s [OPTION]... [EINGABE [AUSGABE]] �Aufruf: %s [OPTION]... [EINGABE [PRÄFIX]] �Aufruf: %s [OPTION]... [EINGABE]... (ohne -G) oder: %s -G [OPTION]... [EINGABE [AUSGABE]] �Aufruf: %s [OPTION]... [NUMMER]... �Aufruf: %s [OPTION]... [EIGENTÜMER][:[GRUPPE DATEI... oder: %s [OPTION]... --reference=RDATEI DATEI... �Aufruf: %s [OPTION]... [SCHABLONE] �Aufruf: %s [OPTION]... [BENUTZERNAME] �Aufruf: %s [OPTION]... [BENUTZERNAME].. �Aufruf: %s [OPTION]... [BENUTZER]... �Aufruf: %s [OPTION]... [VARIABLE]... Die Werte der angegebenen Umgebungs-VARIABLEn ausgeben. Wenn keine Umgebungsâ€VARIABLE angegeben ist werden alle Variablen ausgeben. �Aufruf: %s [KURZOPTION]... NUTZERNAME BEFEHL [ARGUMENT]... oder: %s LANGOPTION �Aufruf: %s [KURZOPTION]... [ZEICHENKETTE]... oder: %s LANGOPTION �Aufruf: %s [ZEICHENKETTE...] oder: %s OPTION �Aufruf: %s [ignorierte Kommandozeilenargumente] oder: %s OPTION �Aufruf: test AUSDRUCK oder: test oder: [ AUSDRUCK ] oder: [ ] oder: [ OPTION �Verw%�Benutzt�Benutzerdefiniertes Signal 1�Benutzerdefiniertes Signal 2�Gültige Argumente sind:�Gültige Argumente sind: �Die gültigen Formatangaben für Dateisysteme: %a Freie Blöcke, die Nichtâ€Superusern zur Verfügung stehen %b Gesamtâ€Datenblöcke im Dateisystem %c Gesamtâ€Dateiknoten im Dateisystem %d Freie Dateiknoten im Dateisystem %f Freie Blöcke im Dateisystem �Der virtuelle Timer ist abgelaufen�WARNUNG: Zirkuläre Verzeichnisstruktur. Diese bedeutet beinahe mit Sicherheit ein beschädigtes Dateisystem. BENACHRICHTIGEN SIE IHREN SYSTEMVERWALTER. Das folgende Verzeichnis ist Teil des Zyklus: %s �WARNUNG: ignoriere --context (-Z); dieser Kernel unterstützt kein SELinux�WARNUNG: ignoriere --preserve-context; dieser Kernel unterstützt kein SELinux�WARNUNG: ignoriere --strip-program; Option -s wurde nicht angegeben�Warnung: �Wann�Wo �Fenster hat sich geändert�Mit --follow (-f) verfolgt tail den Dateiâ€Deskriptor. Dies bedeutet, dass auch im Falle einer Umbenennung der Datei tail deren Ende verfolgen wird. Dieses Verhalten ist nicht erwünscht, wenn man wirklich den derzeitigen Namen der Datei verfolgen will und nicht den Dateiâ€Deskriptor (z. B. bei Rotation der Protokollâ€Dateien, Logs). Benutzen Sie in diesem Fall --follow=name. Dies bewirkt, dass tail die Datei immer wieder schließt und öffnet, um zu sehen, ob die Datei gelöscht und von einem anderen Programm neu angelegt wurde. �Eingabezeilen jeder DATEI umbrechen (Vorgabe: Standardeingabe), das Ergebnis auf Standardausgabe ausgeben. �Eine zufällige Permutaion der Eingabezeilen in die Standardausgabe schreiben. �Jede DATEI nach Standardausgabe schreiben, die letzte Zeile zuerst. Wurde keine DATEI angegeben oder ist DATEI „-“, Standardeingabe lesen. �Jede DATEI mit Zeilennummern nach Standardausgabe schreiben. Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen. �Zeilen auf Standardausgabe ausgeben, die aus sequenziell sich entsprechenden Zeilen jeder DATEI bestehen, getrennt durch Tabulatoren. Ohne DATEI oder wenn DATEI „-“ ist, wird die Standardeingabe gelesen. �Aneinanderfügung aller DATEI(en) sortiert auf die Standardausgabe schreiben. �Geschrieben von %s und %s. �Geschrieben von %s, %s, %s, %s, %s, %s, %s, %s, %s und anderen. �Geschrieben von %s, %s, %s, %s, %s, %s, %s, %s und %s. �Geschrieben von %s, %s, %s, %s, %s, %s, %s und %s. �Geschrieben von %s, %s, %s, %s, %s, %s und %s. �Geschrieben von %s, %s, %s, %s, %s und %s. �Geschrieben von %s, %s, %s, %s und %s. �Geschrieben von %s, %s, %s und %s. �Geschrieben von %s, %s und %s. �Geschrieben von %s. �[=c=] Ausdrücke dürfen beim Wandeln nicht in Kette2 auftauchen�^ passt nicht zu Schlüssel �^[nN]�^[jJyY]�_open_osfhandle ist fehlgeschlagen�„�Mit einer Priorität muss ein Befehl angegeben werden�ai_family wird nicht unterstützt�ai_socktype wird nicht unterstützt�mehrdeutiges Argument %s für %s�Ein Eingabe-Begrenzer darf nur angegeben werden, wenn auf Feldern gearbeitet wird�hänge Ausgabe an %s an�die Sicherung von %s würde die Quelle zerstören; %s wurde nicht kopiert�die Sicherung von %s würde die Quelle zerstören; %s wurde nicht verschoben�Typ der Sicherung�blockorientierte Spezialdatei�Blockorientierte Spezialdateien werden nicht unterstützt�Blöcke�Alle beide Dateien können nicht Standardeingabe sein�Byteâ€Offset %s ist zu groß�der unvollständige Kontext kann nicht auf Datei %s ohne Label angewendt werden�der Prozesskontext kann nicht ermittelt werden�Zugriff auf %s nicht möglich�die Sicherung von %s ist nicht möglich�Zusammenfassung und Anzeige aller Einträge ist nicht gleichzeitig möglich�der Eigentümer von %s kann nicht geändert werden�die Zugriffsrechte von %s können nicht geändert werden�Es ist nicht möglich, das Wurzelverzeichnis in %s zu ändern�Kann nicht in Verzeichnis %s wechseln�Es ist nicht möglich, in das Wurzelverzeichnis zu wechseln�--target-directory (-t) und --no-target-directory (-T) können nicht kombiniert werden�--target-directory und --no-target-directory sind nicht kombinierbar�Optionen -e und -i können nicht kombiniert werden.�{ascii,ebcdic,ibm} sind in keiner Weise kombinierbar�block und unblock sind nicht kombinierbar�direct und nocache sind nicht kombinierbar�excl und nocreat sind nicht kombinierbar�lcase und ucase sind nicht kombinierbar�Modus†und Referenzâ€Optionen können nicht kombiniert werden.�es ist nicht möglich, Signale mit -l oder -t zu kombinieren�Die Dateinamen %s und %s können nicht verglichen werden�U+%04X kann nicht in den lokalen Zeichensatz konvertiert werden�U+%04X kann nicht in den lokalen Zeichensatz konvertiert werden: %s�Kopieren eines Verzeichnisses, %s, in sich selbst (%s) ist nicht möglich�das Kopieren der zyklischen symbolischen Verknüpfung %s ist nicht möglich�das Verzeichnis %s kann nicht angelegt werden�der FIFO %s kann nicht erzeugt werden�das Erzeugen von harter Verknüpfung %s zu Verzeichnis %s ist nicht möglich�Erzeugen von Verknüpfung %s zu %s nicht möglich�Erzeugen der Pipeline nicht möglich�reguläre Datei %s kann nicht angelegt werden�die Spezialdatei %s kann nicht erzeugt werden�die symbolische Verknüpfung %s kann nicht angelegt werden�die symbolische Verknüpfung %s zu %s kann nicht angelegt werden�temporäre Datei konnte nicht in %s angelegt werden�%s kann nicht dereferenziert werden�Gerät und INode von %s können nicht bestimmt werden�es ist nicht möglich, den Rechnername zu ermitteln�der Ort von %s kann nicht bestimmt werden. Es wird auf Pollen zurückgefallen�--relative ist ohne --symbolic nicht zulässig�Anwendung von ioctl auf „%s“ ist nicht möglich�Es ist kein Name zur Gruppenâ€ID %lu zu finden�Für Benutzerkennung %s kann kein Name gefunden werden�%s nicht nach Namen verfolgt werden�der Ziel-Kontext von %s kann nicht erzwungen und beibehalten werden�der Aufruf von fstat für %s ist nicht möglich�Das aktuelle Verzeichnis ist nicht erreichbar�die effektive GID kann nicht ermittelt werden�die effektive UID kann nicht ermittelt werden�die aktuelle Priorität kann nicht ermittelt werden�die echte GID kann nicht ermittelt werden�es ist nicht möglich, die echte UID zu erfragen�es ist nicht möglich, den Namen des Betriebssystems zu ermitteln�die Größe von %s kann nicht ermittelt werden�der Aufruf von lseek für %s ist nicht möglich�Gleichzeitiges Erzeugen harter und symbolischer Verknüpfung ist nicht möglich�das Verzeichnisses %s konnte nicht angelegt werden�das Verschieben von %s nach %s ist nicht möglich�das Verschieben von %s in ein Unterverzeichnis seiner selbst (%s) ist nicht möglich�das Verschieben eines Verzeichnisses auf ein Nichtâ€Verzeichnis ist nicht möglich: %s → %s�%s kann nicht zum Lesen geöffnet werden�%s kann nicht zum Schreiben geöffnet werden�Öffnen von Verzeichnis %s nicht möglich�auf der ins Leere weisenden symbolischen Verknüpfung %s kann nicht gearbeitet werden�das Überschreiben des Verzeichnisses %s mit einem Nichtâ€Verzeichnis ist nicht möglich.�das Überschreiben des Nichtâ€Verzeichnisses %s mit Verzeichnis %s ist nicht möglich.�die formatierte Ausgabe kann nicht durchgeführt werden�erweiterte Attribute können nicht beibehalten werden, da „cp“ ohne Unterstützung für xattr gebaut wurde�das Beibehalten des Sicherheitskontextes ist ohne einen Kernel mit Unterstützung für SELinux nicht möglich�eine eingeschränkte Ausgabe ist bei Mehrfachauswahl nicht möglich�Im Vorgabeâ€Format ist es nicht möglich, nur Namen oder echte IDs auszugeben�der Sicherheitskontext kann nicht ausgegeben werden, wenn ein Nutzer angegeben wurde�Lesen unmöglich�das Verzeichnis %s kann nicht gelesen werden�Kann Dateinamen nicht aus %s lesen.�die Dateisysteminformation für %s kann nicht gelesen werden�die Echtzeitâ€Uhr kann nicht gelesen werden�Lesen der symbolischen Verknüpfung %s nicht möglich�Lesen der Tabelle eingehängter Dateisysteme nicht möglich�das Entfernen von %s ist nicht möglich�das Verzeichnis kann nicht entfernt werden: %s�es ist nicht möglich, den Dateiâ€Zeiger für %s neu zu positionieren�Fd %d kann nicht wiederhergestellt werden: dup2 ist fehlgeschlagen�%s kann nicht ausgeführt werden�%s kann nicht gesetzt werden�das Datum kann nicht gesetzt werden�die Gruppenâ€ID kann nicht auf %lu gesetzt werden�der Rechnername kann nicht gesetzt werden; diesem System fehlt diese Möglichkeit�der Name kann nicht auf %s gesetzt werden�die Priorität kann nicht gesetzt werden�Setzen der Zeitstempel für %s nicht möglich�die Benutzerâ€ID kann nicht auf %lu gesetzt werden�Es ist nicht möglich, hinter das Ende der kombinierten Eingabe vorzurücken�--null (-0) kann nicht zusammen mit einem Befehl angegeben werden�Es ist nicht möglich, gleichzeitig die Parallel†und Überkreuzâ€Ausgabe festzulegen.�Es ist nicht möglich, die Anzahl der Spalten bei Parallelâ€Ausgabe festzulegen.�Angabe von mehr als einer Zeitquelle nicht möglich�Es ist nicht möglich, auf mehr als eine Art zu splitten�der Aufruf von stat für %s ist nicht möglich�Das aktuelle Verzeichnis (jetzt %s) ist nicht erreichbar�der Status der Standardeingabe kann nicht abgefragt werden�%s kann nicht berührt werden�das Löschen der Sicherung von %s ist nicht möglich�Entfernen (unlink) von %s nicht möglich�%s kann nicht entfernt werden�%s nicht beobachtet werden�das Elternverzeichnis von %s kann nicht beobachtet werden�ein Kernelâ€Fehler kann nun mal nicht umgangen werden�die Gruppe von %s wurde von %s in %s geändert �der Eigentümer von %s wurde von %s in %s geändert �die Gruppe von %s wird geändert�der Eigentümer von %s wird geändert�Beim Setzen der Zugriffsrechte für %s�der Sicherheitskontext von %s wird geändert �Zeichenversatz ist Null�das Zeichen ist außerhalb der erlaubten Grenzen�zeichenorientierte Spezialdatei�Zeichenorientierte Spezialdateien werden nicht unterstützt�die Zugriffsrechte für %s werden gelöscht�Stellen der Uhr�Schließen fehlgeschlagen�%s wird geschlossen (df=%d)�das Verzeichnis %s wird geschlossen�Schließen der Eingabedatei %s�die Eingabepipe wird geschlossen�Schließen der Ausgabedatei %s�Die Ausgabepipe wird geschlossen�die vorherige Pipe wird geschlossen�schließe Standardeingabe�Der Kompatibilitätsmodus unterstützt höchstens eine Datei.�einander widersprechende Leerfeldâ€Ersetzungszeichenketten�widersprüchliche Sicherheitskontext-Angaben�die Pufferung von %s konnte nicht auf Modus %s gesetzt werden �konnte keinen Prozess für %s -d anlegen�konnte temporäre Datei nicht anlegen�konnte %s nicht ausführen�konnte %s -d nicht ausführen�konnte in %s keine Verzeichniseintrag mit passendem Inode finden�Es ist nicht möglich, die Startzeit des Rechners zu ermitteln.�Verzeichnis %s angelegt�Verzeichnis %s wird angelegt�Datei %s wird angelegt �Trennzeichenliste endet mit einzelnem Rückschrägstrich: %s�Verzeichnis�Teilung durch Null�dup2 fehlgeschlagen�leeres %s ist nicht erlaubt�leerer Dateiname�leerer Tabulator�Fehler beim Schließen der Datei�Fehler bei Suche mit regulären Ausdrücken�Fehler bei Suche mit regulären Ausdrücken�Fehler beim Initialisieren der Monats-Zeichenketten�Fehler beim Überwachen der Inotify-Events�Fehler beim Lesen von %s�Fehler beim Lesen des Inotify-Events�Fehler beim Lesen der Eingabe�Fehler beim Warten auf den Befehl�Fehler beim Schreiben von %s�Ausführung mit DATEI=%s �exit=�zusätzliches Argument %s�zusätzlicher Operand %s�zusätzlicher Operand %s nicht erlaubt mit -%c�auf %s konnte nicht zugegriffen werden�%s konnte nicht in kanonische Form gebracht werden�der Kontext von %s konnte nicht in %s geändert werden�das Ändern der Gruppe von %s von %s in %s ist fehlgeschlagen �der Wechsel der Gruppe von %s in %s fehlgeschlagen �Änderung des Modus von %s von %04lo (%s) nach %04lo (%s) ist fehlgeschlagen �der Wechsel des Eigentümers von %s ist fehlgeschlagen �das Ändern des Eigentümers von %s von %s zu %s ist fehlgeschlagen �der Wechsel des Eigentümers von %s in %s fehlgeschlagen �konnte nicht nach %s wechseln�%s konnte nicht von %s geklont werden�%s konnte nicht geöffnet werden�die Eingabepipe konnte nicht geschlossen werden�konnte keine neuen Kontext berechnen�einige der eingegebenen Zahlen konnten nicht umgewandelt werden�konnte das Verzeichnis nicht mittels Schablone %s erstellen�konnte die Datei nicht mittels Schablone %s erstellen�Die harte Verknüpfung %s konnte nicht angelegt werden�Die harte Verknüpfung %s => %s konnte nicht angelegt werden�Die harte Verknüpfung zu %.0s%s konnte nicht angelegt werden�Die Pipe konnte nicht erzeugt werden�der Sicherheitskontext konnte nicht erstellt werden: %s�die symbolische Verknüpfung %s konnte nicht angelegt werden�die symbolische Verknüpfung %s -> %s konnte nicht angelegt werden�die temporäre Datei konnte in %s nicht angelegt werden�der Zwischenspeicher für %s konnte nicht verworfen werden�%s konnte nicht erweitert werden�%s konnte nicht gefunden werden�konnte Attribute von %s nicht holen�konnte aktuellen Kontext nicht ermitteln�der Erstellungs-Kontext des Dateisystems konnte nicht ermittelt werden�konnte Gruppen für den aktuellen Prozess nicht ermitteln�konnte Gruppen für Nutzer %s nicht ermitteln�der Sicherheitskontext von %s konnte nicht ermittelt werden�die Datei %s konnte nicht gefunden werden�konnte %s nicht öffnen�%s konnte nicht zum Lesen geöffnet werden�%s konnte nicht zum Schreiben geöffnet werden�der Wert „%Lf“ konnte nicht für Ausgabe aufbereitet werden�der Urheber für %s konnte nicht beibehalten werden�der Eigentümer für %s konnte nicht beibehalten werden�die Zugriffsrechte für %s konnten nicht beibehalten werden�die Zeiten für %s konnten nicht beibehalten werden�konnte Standardfehlerausgabe nicht umleiten�konnte Standardfehlerausgabe nicht auf /dev/null umleiten�konnte %s nicht entfernen�konnte Verzeichnis %s nicht entfernen�Die Standardeingabe konnte nicht unbrauchbar gemacht werden�%s konnte nicht erneut im Modus %s geöffnet werden�der Standard-Kontext zur Dateierstellung konnte nicht wieder hergestellt werden�die Rückkehr in das ursprüngliche Arbeitsverzeichnis war nicht möglich�Der Strom für %s konnte nicht zurückgesetzt werden�der Befehl %s konnte nicht ausgeführt werden�der Befehl „%s -c %s†konnte nicht ausgeführt werden�die %s-Sicherheitskontextkomponente konnte nicht auf %s gesetzt werden�die Umgebungsvariable FILE konnte nicht gesetzt werden�es konnten keine zusätzlichen Gruppen gesetzt werden�der Standard-Kontext zur Dateierstellung konnte nicht auf %s gesetzt werden�die Gruppen-ID konnte nicht gesetzt werden�konnte neuen Bereich %s nicht setzen�konnte neue Rolle %s nicht setzen�konnte neuen Typ %s nicht setzen�konnte neuen Nutzer %s nicht setzen�konnte keine erweiterte Gruppe(n) setzen�konnte die Kopie von stderr bei Exec nicht auf Schließen setzen�der Sicherheitskontext von %s konnte nicht auf %s gesetzt werden�die Benutzer-ID konnte nicht gesetzt werden�konnte auf %s nicht zugreifen�O_DIRECT konnte nicht abgeschaltet werden: %s�die Umgebung konnte nicht mit %s aktualisiert werden�fdatasync für %s ist fehlgeschlagen�fflush fehlgeschlagen�Feldnummer %s ist zu groß�Feldnummer ist Null�Felder und Positionen werden von 1 an gezählt�FIFO�die Datei %d ist nicht sortiert�Dateioperanden können nicht mit --files0-from kombiniert werden.�Dateioperanden können nicht mit --print-database (-p) kombiniert werden�Dateisystemtyp %s ist sowohl ausgewählt als auch ausgeschlossen�Systemruf fork fehlgeschlagen�das Format %s endet mit %%�das Format %s enthält keine %%-Anweisung�das Format %s enthält zu viele %%-Direktiven�das Format %s enthält die unbekannte Direktive %%%c�Formatzeichenkette darf nicht angegeben werden, wenn Zeichenketten gleicher Breite ausgegeben werden�fsync für %s ist fehlgeschlagen�fts_close scheiterte�fts_read fehlgeschlagen�fts_read schlug fehl: %s�ein relativer Pfad wird erzeugt�Beim Holen der neuen Attribute von %s�die Gruppe von %s wurde als %s erhalten �Gruppierung kann nicht mit --to kombiniert werden�Gruppierung hat in dieser Locale keine Auswirkung�die iconvâ€Funktion ist nicht verfügbar�die iconv-Funktion ist nicht benutzbar�id=�bei mehreren Argumenten wird --no-newline ignoriert�ignoriere alle Argumente�ignoriere Eingabe�ignoriere Eingabe und hänge Ausgabe an %s an�ignoriere Eingabe und leite Standardfehlerausgabe auf Standardausgabe um�Ungültige Tabulatorâ€Größe in Umgebungsvariable TABSIZE wird ignoriert: %s�Ungültiger Wert der Umgebungsvariable QUOTING_STYLE wird ignoriert: %s�Ungültige Breite in Umgebungsvariable COLUMNS wird ignoriert: %s�Argumente, die keine Optionen sind, werden ignoriert�inkompatible Verschmelzungsfelder: %lu, %lu�inkompatible Tabulatoren�Inotify kann nicht verwendet werden, es wird auf Pollen zurückgegriffen�die Inotify-Resourcen sind erschöpft�Eingabe ist verschwunden�Eingabezeile zu lang�Eingabezeile ist zu kurz, keine zu wandelnde Zahlen in Feld %ld gefunden�das Verschieben zwischen Geräten ist fehlgeschlagen: %s zu %s; das Ziel kann nicht entfernt werden�ungültiges %s%s Argument „%s“�ungültiges Argument %2$s für Option --%1$s�ungültiges Argument „-0“ Option --threshold�ungültiges Argument %s�ungültiges Argument %s�ungültiges Argument %s für %s�ungültiger Stil für Textkörpernummerierung: %s�ungültiger Pufferungsmodus %s für %s �Ungültige Byteâ€, Zeichen- oder Feldliste�Ungültiges Zeichen „%c“ in Typenbezeichnung %s�Ungültige Zeichenklasse %s�ungültiger Kontext: %s�ungültige Konvertierung�Angabe zur Wandlung fehlt im Anhang: %c�Ungültige Angabe zur Wandlung im Anhang: \%.3o�ungültiges Datum %s�Ungültiges Datumsformat %s�ungültiger abnehmender Bereich�Ungültiges Gerät %s %s�Ungültiger Gerätetyp %s�Ungültige Feldnummer: %s�Ungültiger Feldbezeichner: %s�Ungültiger Feldwert: %s�ungültige Feldbreite: %s�Ungültige Feldnummer in Feldbezeichner: %s�ungültige Kennungen in der Umwandlungsangabe: %%%c%c�ungültiges Fließkommaargument: %s�ungültiger Stil für Fußzeilennummerierung: %s�ungültiges Format %s (Überlauf der Breite)�ungültiges Formt %s, die Anweisung muss die Form %%['][-][N]f haben�ungültige Lückenbreite: %s�ungültige Gruppe�ungültige Gruppe %s�ungültige Gruppenliste %s�ungültige Gruppe: %s�ungültiger Stil für Kopfzeilennummerierung: %s�ungültiger Kopf-Wert „%s“�ungültige Eingabe�ungültiges Eingabeflag�ungültiger Eingabebereich: %s�ungültige Zahl %s�ungültiges Ganzzahlargument %s�ungültige Zeilenanzahl: %s�ungültige Lineâ€Disziplin %s�ungültige Breite des Feldes für die Zeilennummer: %s�ungültiges Inkrement für Zeilennummer: %s�ungültiges Zeilennummerformat: %s�ungültige Zeilenbreite: %s�Ungültige Majorâ€Gerätenummer %s�Ungültige maximale Tiefe %s�Ungültige Minorâ€Gerätenummer %s�ungültiger Zugriffsmodus�Ungültiger Modus %s�Ungültiger Modus: %s�ungültige Zahl %s�ungültige Zahl hinter „,“�ungültige Zahl hinter „-“�ungültige Zahl hinter „.“�ungültige Zahl am Feldanfang�ungültige Anzahl von Leerzeilen: %s�ungültige Anzahl von Bytes�Ungültige Anzahl an zu vergleichenden Bytes�Ungültige Anzahl an zu überspringenden Bytes�Ungültige Anzahl Spalten: %s�Ungültige Anzahl an zu überspringenden Feldern�ungültige Anzahl von Zeilen�ungültige Zahl: „%s“�ungültige Option -- %c�ungültige Option -- %c; -BREITE wird nur erkannt, wenn es die erste Option ist; benutzen Sie stattdessen -W N�Ungültiger Ausgabeadressradix „%c“; es muss ein Zeichen aus [doxn] sein�ungültiges Ausgabeflag�Ungültiger Wert für Auffüllung „%s“�Ungültiger Seitenbereich %s�ungültige Genauigkeit: %s�ungültiger Bereich ohne Endpunkt: -�Ungültige Wiederholungsangabe %s in [c*n]-Konstrukt�ungültige Spezifikation�ungültiger anfängliche Zeilennummer: %s�ungültiges Statusflag�ungültige Endung %s, sie enthält einen Verzeichnistrenner�ungültige Endung in %s%s Argument „%s“�ungültige Endung in Eingabe „%s“: „%s“�ungültige Endung in Eingabe: „%s“�ungültige Tabulatorgröße: %s�ungültige Schablone, %s, sie enthält einen Verzeichnistrenner�ungültige Schablone, %s; mit --tmpdir darf sie nicht absolut sein�ungültiges Zeitintervall %s�Ungültiges Zeitformat %s�ungültige folgende Option -- %c�Ungültige Typbezeichnung %s�Ungültige Typbezeichnung %s; dieses System hat keinen Typ für %lu-Byte große Gleitkommazahlen�Ungültige Typbezeichnung %s; dieses System hat keinen Typ für %luâ€Byte große Ganzzahlen�ungültige Tabulatorgröße: „%s“�ungültiger universaler Zeichenname \%c%0*x�ungültiger Benutzer�Ungültiger Anwender %s�ungültige Zeilenbreite: %s�ungültige Umbruchgröße: %s�ungültiger Dateiname der Länge 0�Es ist gefährlich, rekursiv auf %s zu arbeiten.�Es ist gefährlich, rekursiv auf %s (das gleiche wie %s) zu arbeiten.�Schlüssel %lu hat eine Breite von Null und wird daher ignoriert�Schlüssel %lu ist numerisch und überspannt mehrere Felder�großer Eingabewert „%s“: möglicher Verlust von Präzision�last=�führendes „-“ in einem Bestandteil des Dateinamens von %s�führende Leerzeichen sind signifikant in Schlüssel %lu: Sie sollten daher wahrscheinlich auch „b“ angeben�Obergrenze %lu durch Länge %lu des Dateinamen %s überschritten�Obergrenze %lu durch Länge %lu des Dateinamensbestandteils %s überschritten�die zeilenweise Pufferung von Stdin hat keinen Sinn�Zeilenanzahloption -%s%c... ist zu groß�Zeilennummer %s ist kleiner als vorhergehende Zeilennummer %s�Überlauf bei den Zeilennummern�die lange Option „--megabytes†ist veraltet und wird bald entfernt�größtes Argument für Option --%s ist mit momentanem „rlimit“ %s�der Speicher ist ausgeschöpft�Hauptspeicher erschöpft durch Eingabepuffer von %zu Bytes (%s)�Hauptspeicher erschöpft durch Ausgabepuffer von %zu Bytes (%s)�Nachrichtenwarteschlange�kleinstes Argument für Option --%s ist %s�fehlerhaft positioniertes [:upper:]- und/oder [:lower:]-Konstrukt�Fehlende %%-Angabe zur Wandlung im Anhang�„]“ fehlt�fehlende „i“-Endung in Eingabe: „%s“ (zB. Ki/Mi/Gi)�fehlendes Argument hinter „%s“�fehlendes Argument für %s�Fehlender Zeichenklassename „[::]“�Angabe zur Wandlung fehlt im Anhang�Fehlender Zieldateiâ€Operand hinter %s�Fehlendes Äquivalenzklassenzeichen „[==]“�Fehlender Dateioperand�Hexadezimale Zahl fehlt in der Maskierung (Escape)�Liste der Felder fehlt�Liste der Positionen fehlt�fehlender Operand�fehlender Operand nach %s�Der Modus darf nur Dateizugriffsrechte angeben.�der Modus von %s wurde von %04lo (%s) in %04lo (%s) geändert �Modus von %s als %04lo (%s) erhalten �Einhängungspunkt %s wurde bereits durchlaufen�die Eingabepipe wird verschoben�Multi-Zeichen-Tabulator %s�mehrfach die Optionen -i angegeben�mehrfach die Optionen -l oder -t angegeben�mehrere Komprimierungsprogramme angegeben�es wurden mehrfache Trennzeichen angegeben�mehrere Niveaubereiche�mehrere Ausgabedateien angegeben�mehrere Ausgabeformate angegeben�mehrere Zufallsquellen angegeben�mehrere relative Modifikatoren angegeben�mehrere Rollen�mehrere Zielverzeichnisse angegeben�mehrere Typen�mehrere Nutzer�Weder die symbolische Verknüpfung %s, noch die referenzierte Datei wurden verändert. �Keine SHELL Umgebungsvariable, und keine Shellâ€Typâ€Option angegeben�kein Wechsel des Eigentümers von %s �kein Befehl angegeben�es wurde keine Umwandlungsoption angegeben�keine Dateisysteme bearbeitet�Keine Dateien mehr übrig�keine Eingabe aus %s�kein Loginname�keine Prozessâ€ID angegeben�Bei der Ausgabe von Zeichenketten darf kein Typ angegeben werden�kein Benutzername angegeben; wenigstens einer muss angegeben werden, wenn die Option -l verwendet wird�Argument, das keine Zahl ist�unportables Zeichen %s in Dateinamen %s�kein Ausgabegerät�schreiben durch die unvollständige symbolische Verknüpfung %s ist nicht möglich�Zahl in %s ist zu groß�parallele Anzahl darf nicht Null sein�Anzahl Bytes�Anzahl Zeilen�der Startwert für die numerische Endung ist für die Endungslänge zu groß�überflüssiger Schlüssel „%s“ wird verwendet; verwenden Sie statt dessen besser „%s“�Offsetâ€Ãœberlauf beim Lesen der Datei %s�Verzeichnis %s wurde ausgelassen�Nur eine [c*] Wiederholungsangabe darf in Kette2 auftreten�nur ein Gerät darf angegeben werden�Nur ein Typ einer Liste kann angegeben werden�Öffnen fehlgeschlagen�Option „-%s“ wird ignoriert�Optionen „-%s“ werden ignoriert�Option „-r“ gilt nur für Notlösungsvergleiche�Option --output: Feld „%s“ ist unbekannt�Option --output: Feld „%s“ wird mehr als einmal verwendet�Option in ungültigen Kontext benutzt – %c�die Optionen „%s“ und „%s“ schließen sich gegenseitig aus�Optionen „-%s“ sind inkompatibel�die Optionen --backup und --no-clobber schließen sich gegenseitig aus�die Optionen --compare (-C) und --preserve-timestamps schließen sich gegenseitig aus�die Optionen --compare (-C) und --strip schließen sich gegenseitig aus�Hauptspeicher erschöpft (%zu Bytes wurden angefordert)�keine Endungen für Ausgabedateien mehr verfügbar�Überlauf bei erweitern der Größe der Datei %s�Überlauf beim Aufrunden der Größe der Datei %s�der Eigentümer von %s wurde erhalten �der Eigentümer von %s wurde als %s erhalten �Überlauf bei den Seitennummern�Seitenbreite zu schmal�Erhalten der Zugriffsrechte für %s�die Zeiten für %s werden beibehalten�alle duplizierten Zeilen auszugeben und Wiederholungszähler ist nicht sinnvoll�Die Endpunkte des Bereiches „%s-%s“ sind in umgekehrter Sortierreihenfolge�Lesefehler�Lesen fehlgeschlagen�das Verzeichnis %s wird gelesen�Datensatz zu groß�leite Standardfehlerausgabe auf Standardausgabe um�reguläre leere Datei�reguläre Datei�Endung in Eingabe zurück gewiesen: „%s“ (evtl. --from verwenden)�%s wurde entfernt �Verzeichnis wurde entfernt: %s �Verzeichnis wird entfernt, %s�Runlevel�Semaphor�Trennzeichen darf nicht leer sein�setzen Sie LC_ALL=C, um das Problem zu umgehen�die Flags für %s werden gesetzt�Setzen der Zugriffsrechte für %s�Setzen der Zeiten für %s�Objekt gemeinsamen Speichers�skip-bytes + read-bytes ist zu groß�überspringe %s, da es auf einem anderen Gerät ist�die Datei %s wird übersprungen, da sie während des Kopierens ersetzt wurde�Socket�Überlauf der Warteschlange in squfof�Standardfehler�Standardeingabe�Standardeingabe ist geschlossen�Standardausgabe�stat fehlgeschlagen�Standardfehlerausgabe�Standardeingabe�Standardausgabe�verirrte Buchstaben in Feldspezifikation�Zeichenkettenvergleich fehlgeschlagen�Zeichenkettentransformation fehlgeschlagen�stripâ€Prozess beendete sich auf ungute Weise�Nichtâ€getrennte Zeilen zu unterdrücken ist nur sinnvoll, wenn auf Feldern operiert wird.�symbolische Verknüpfung�Syntaxfehler�Systemstart�Tabulatorgröße muss ungleich 0 sein�Tabulatorgröße enthält (ein) ungültige(s) Zeichen: %s�Tabulatorgrößen müssen aufsteigend sein�Tabulatorstopp ist zu groß %s�Tabulatorstopp ist zu groß�Tabulatoren sind zu weit auseinander�das angegebene Ziel %s ist kein Verzeichnis�Zielverzeichnis darf nicht bei Installation von Verzeichnissen benutzt werden�term=�test und/oder [�Die Optionen --binary und --text sind bei der Kontrolle von Prüfsummen nutzlos�die Option --compare (-C) wird ignoriert bei Angabe eines Modus ungenügenden Rechten�Die Option --quiet ist nur bei der Kontrolle von Prüfsummen sinnvoll�Die Option --status ist nur bei der Kontrolle von Prüfsummen sinnvoll�Die Option --strict hat nur bei der Kontrolle von Prüfsummen eine Bedeutung�Die Option --tag ist für die Kontrolle von Prüfsummen sinnlos�Die Option --warn ist nur nur bei der Kontrolle von Prüfsummen sinnvoll�Das [c*] Konstrukt darf in Kette2 nur bei Wandlungen auftauchen�Die [c*]-Wiederholungsangabe darf nicht in Kette1 erscheinen�Dem Argument „%s“ fehlt das führende „+“. Wenn eine Option angegeben wird, um das Datum zu spezifizieren, muss jedes Argument, das keine Option ist, eine Formatzeichenkette sein, die mit „+“ beginnt.�Trenner muss ein einzelnes Zeichen sein�der beobachtete Befehl erzeugte einen Speicherauszug�Die Optionen für ausführliche und sttyâ€lesbare Ausgabe können nicht gleichzeitig benutzt werden�Die Optionen zur Ausgabe der internen Datenbank von „dircolors“ und zur Auswahl einer Shell-Syntax schließen sich gegenseitig aus�Die Optionen zum Anzeigen und Setzen der Zeit können nicht zugleich verwendet werden.�Die angegebenen Optionen zur Datumsanzeige schließen sich gegenseitig aus�die verglichenen Zeichenketten waren %s und %s�die Option strip darf nicht bei Installation von Verzeichnissen benutzt werden�die Endungslänge muss mindestens %zu betragen�die untransformierte Zeichenkette war %s�Zeit %s außerhalb des zulässigen Bereichs�um Nutzer-ID %s zu benutzen, müssen Sie auch -g angeben�zu wenige Xs in der Schablone %s�Zu viele Angaben zur %%-Wandlung im Anhang�zu viele Buchstaben in Menge�zu viele wiederholte Zeilen�zu viele Schablonen�insgesamt�Traversal fehlgeschlagen: %s�Objekt getypten Speichers�uid=%s�eine Fehlermeldung konnte nicht angezeigt werden�das aktuelles Verzeichnisses kann nicht aufgezeichnet werden�der Sicherheitskontext %s kann nicht gesetzt werden�unerwarteter Fehler: fts_info=%d: %s bitte melden Sie dies an %s�unbekannter binärer Operator�unbekannter Status von Befehl (0x%X)�Unbekannter Stream�unbekannte Nutzerâ€ID: %s�Wert für Umgebungsvariable LS_COLORS ist syntaktisch fehlerhaft.�unbekannter Typ von Dateisystem 0x%08lx für %s. bitte berichten Sie dies (in Englisch) an %s. Es wird auf Pollen zurückgefallen�nicht erkannter Operand %s�Präfix nicht erkannt: %s�up %2d:%02d, �%ld Tag %2d:%02d an, �%ld Tage %2d:%02d an, �???? Tage ??:?? an, �Benutzen Sie --no-preserve-root, um diese Sicherheitsmaßnahme zu umgehen.�es werden die Sortierregeln für %s verwendet�die Verwendung von %s um die Standardeingabe zu verwenden funktioniert nicht im Dateisystem-Modus�es wird ein einfacher Bytevergleich verwendet�Wert ist für Umwandlung zu groß: „%s“�Wert zu groß um ausgegeben zu werden: „%Lg“ (Werte müssen <= 999Y sein)�Wert zu groß um ausgegeben zu werden: „%Lg“ (verwenden Sie evtl. --to)�Warte auf %s [-d]�es wird auf den Kindprozess gewartet�Es wird auf strip gewartet�Warnung: �Warnung: %s: Zeichen, die einer Zeichenkonstanten folgen, werden ignoriert�Warnung: %s: der Kontext konnte nicht auf %s geändert werden�Warnung: „touch %s“ ist überholt; benutzen Sie „touch -t %04ld%02d%02d%02d%02d.%02d“�Warnung: --pid=PID wird auf diesem System nicht unterstützt�Warnung: --retry ist hauptsächlich sinnvoll, wenn dieser Option ein Name folgt�Warnung: PID ignoriert; --pid=PID ist nur sinnvoll, wenn es folgt�Warnung: Rückschrägstrich (\) ohne Fluchtzeichen am Ende der Zeichenkette ist nicht portabel�Warnung: ungültiger Rückschrägstrich (\) am Ende der Zeichenkette�Warnung: %s kann nicht entfernt werden�Warnung: das Verhindern von Coredumps scheiterte�Warnung: die Standardausgabe stetig zu verfolgen ist nicht wirksam�Warnung: überflüssige Argumente werden ignoriert, beginnend mit %s�Warnung: ungültiger Dateiâ€Offset nach fehlgeschlagenem Lesen�Warnung: ungültige Breite %lu; %d wird benutzt�Warnung: Zeilennummer %s ist dieselbe wie die vorhergehende�Warnung: sigprocmask�Warnung: Quelldatei %s mehr als einmal angegeben�Warnung: Zusammenfassen widerspricht --max-depth=%lu�Warnung: Zusammenfassen ist das gleiche wie --max-depth=0�Warnung: die mehrdeutige Oktalâ€Escape \%c%c%c wird als 2â€Byteâ€Folge \0%c%c, %c interpretiert�Warnung: timer_create�Warnung: timer_settime�Warnung: unbekannte Fluchtâ€Sequenz „\%c“�Warnung: Umgehe lseekâ€Kernelbug für Datei (%s) des Typs mt_type=0x%0lx – siehe <sys/mtio.h> für die Liste der Typen�merkwürdige Datei�Wenn Menge1 nicht abgeschnitten wird, darf Kette2 nicht leer sein�beim Lesen von Dateinamen aus stdin ist der Dateinane %s nicht erlaubt�Wenn ein Ausgabestil angegeben ist, kann kein Modus gesetzt werden�Beim Wandeln mit "complemented character classes" muss Kette2 alle Zeichen im Bereich auf eines abbilden�wenn bei der Übersetzung Zeichenkette1 länger als Zeichenkette2 ist darf letztere nicht in einer Zeichenklasse enden�Beim Wandeln dürfen in Kette2 nur die Zeichenklassen „upper“ und „lower“ verwendet werden�%s wird nicht mittels der neu erstellten symbolische Verknüpfung %s kopiert�Harte Verknüpfung %s zu Verzeichnis %s wird nicht erzeugt�Neu erstelltes %s wird nicht mit %s überschrieben.�mit --parents muss das Ziel ein Verzeichnis sein�bei --suffix muss die Schablone %s mit einem X enden�mit FILE=%s, Ende mit %d in Befehl: %s�mit FILE=%s, Signal %s von Befehl: %s�Schreibfehler�Fehler beim Schreiben von %s�Schreiben fehlgeschlagen�Schreiben in %s�es müssen -c, -t, -u, -l, -r oder Kontext angegeben werden�Sie müssen eine Liste von Bytes, Zeichen oder Feldern angeben�Sie müssen eine relative %s zusammen mit %s angeben�Sie müssen entweder %s oder %s angeben�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% Datensätze ein %+% Datensätze aus �ein abgeschnittener Datensatz �% abgeschnittene Datensätze �ein Byte kopiert�% Bytes (%s) kopiert�das Abschneiden bei % Bytes in Ausgabedatei %s scheiterte�Offset zu groß: kann nicht auf eine Länge von seek=% (%luâ€Byteâ€) Blöcke abschneiden�das Abschneiden bei % Bytes in Ausgabedatei %s scheiterte�%s:%: ist nicht sortiert: %.*s�ein % Bytes großer Puffer für die Standardeingabe konnte nicht angelegt werden �%s: %: nicht korrekt formatierte %sâ€Prüfsummenzeile�WARNUNG: % Zeile ist nicht korrekt formatiert�WARNUNG: % Zeilen sind nicht korrekt formatiert�WARNUNG: die aufgeführte Datei konnte nicht gelesen werden�WARNUNG: % aufgeführte Dateien konnten nicht gelesen werden�WARNUNG: die % berechnete Prüfsumme passte NICHT�WARNUNG: % berechnete Prüfsummen passten NICHT�Anfangsseitennummer % übersteigt Seitenzahl %�Seite %�Überlauf in % * % Byte-Blöcken für Datei %s�Beschneiden von %s bei % Bytes ist misslungen�������������������coreutils-8.21/po/it.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000714512�12107204516�012114� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0���¨(��Ó�� Q�����ll�����|l��´l������”o�����•o��ø���—o��¾���p��¿���Oq��Â���r��ª���Òr��G��}s��ù���Åt��º���¿u��p���zv��!��ëv��¼��� x��w��Êx��5��Bz��R��x{��~���Ë|�� ���J}��\���X}��w���µ}��G���-~��ï���u~��w���e��¡���Ý��#��€����£��š���¨‚��Ä���Cƒ��D��„��z���M†��Þ���Ȇ��i���§‡��›���ˆ��ˆ���­ˆ��È���6‰��„���ÿ‰��M��„Š��à���Ò‹��›���³Œ��—���O��`���ç��‚���HŽ����ËŽ��>���à��3����K��S‘��0���Ÿ’��Ê���Ð’��–���›“��Ê���2”��ç���ý”��‡���å•��¾���m–��á���,—��E���˜��Œ���T˜��ü���á˜��æ���Þ™����Åš��9���×›�����œ�����(œ��t��=œ��Ì���²��°���ž����0Ÿ�� ��D ��þ��e¡��Ë���d£����0¤��7���N¥��¼���†¥��F���C¦��ì���Ц�� ���w§��¡��ƒ§��¾��%©��Ð��äª��u���µ¬��q���+­��[��­��1��ù®��S��+°��ë���±��,���k²��º���˜²�����S³��ß���ä³��\��Ä´��‹���!¶����­¶��Â���÷��I���†¸��·���и��›���ˆ¹��g��$º��p���Œ»��5���ý»��s���3¼����§¼����ƽ��×���å¾��ò���½¿��É���°À��Ê���zÁ��ð���EÂ��–��6Ã��Ô���ÍÄ��Ó���¢Å��¬���vÆ��¤���#Ç��i���ÈÇ��õ���2È��Z���(É�����ƒÉ��.��Ê��ž���@Ë��G��ßË��M��'Í��4���uÎ��‰���ªÎ��F���4Ï��O��{Ï��í��ËÐ����¹Ò�� ��IÔ��£��VÕ��y��úÖ�� ��tØ��n���•Ù����Ú��Ë��Û����ëÜ���� Þ��¢���›ß��Ö���>à��¡��á��E���·â��J���ýâ��Ò���Hã�� ��ä����)å��&��8æ��¹��_ç��Ý���é��+���÷é��N���#ê��Ò���rê��’���Eë��°���Øë��Ë���‰ì��¡��Uí��›���÷î��B���“ï����Öï��u���ëð����añ��1���wò��ò���©ò�����œó��Ë���,ô��ƒ���øô��ƒ���|õ��‚���ö��4��ƒ÷����¸ø����Êù��´��Ýú��í���’ü�� ��€ý����‹þ��<���‘ÿ��‘���Îÿ��º��`��ª���K���Æ����z����þ���’�µ���‘�f��G�5��®�ˆ���ä �1���m �H���Ÿ �;��è �Æ���$ �!��ë �È��� �ý���Ö�q��Ô�Y��F�ü��� �L����×���ê�T��Â�#���÷��;�Þ���3�ƒ����Ñ���–�i���h�Í���Ò�Ä��� �Ñ���e�ë���7�K��# ���o!�D��~"����Ã#�Ó���Q$�Ä��%%�I���ê&���4'�H���Â(�3��� )�c��?)� ��£*�=��Ä+�ê��-�*��í.�’���0�C���«0�X��ï0�?���H2�«���ˆ2�9���43�S���n3�š��Â3�m���]5�û���Ë5�ä���Ç6�¨��¬7�$���U9�(���z9�ú���£9�$���ž:�%���Ã:�*���é:���;�:���3<�&���n<� ���•<�9���¶<�#���ð<�$���=�!���9=�Ý���[=�,���9>�"���f>� ���‰>� ���”>�X��¢>�;���û?�|��7@���´A�Ô���ÈB�Ü���C�þ���zD� ���yE����„E� ���‰E����•E����žE����¤E���·E�&���ÓF� ���úF� ���G����G����#G����6G����KG����iG� ���…G�+���¦G����ÒG����ëG�?���H�D���FH�0���‹H����¼H�)���ÕH����ÿH�0���I�"���DI����gI�'���wI����ŸI�/���¿I� ���ïI����J����(J����>J����WJ�>���tJ�"���³J����ÖJ�%���õJ�B���K�*���^K����‰K����¨K����ºK�)���ÊK����ôK�%���L�,���7L����dL�#���tL�$���˜L����½L�/���ÝL���� M�8���M����VM����kM����ŠM����§M����»M����ÚM����ùM����N����N����4N����ON����lN����N����‘N����¤N����µN�'���ÆN����îN�*��� O����4O�$���RO����wO����‘O����¡O� ���ºO����ÛO�"���ñO����P����*P�;���@P����|P����P����«P����ÈP����äP����Q����Q����<Q����XQ����lQ�"���ƒQ����¦Q����¹Q�)���ÓQ����ýQ����R����+R�"���JR�1���mR�'���ŸR�(���ÇR� ���ðR�,���S�,���>S�,���kS�'���˜S�-���ÀS� ���îS�(���T�(���8T����aT����tT����T�"���¨T����ËT����ÚT�&���íT����U�"���/U� ���RU� ���^U����kU����}U����ŽU����žU�5���ºU�0���ðU�.���!V����PV����lV����ŒV�"���¬V����ÏV����ßV�+���ðV�%���W����BW����bW� ���dW����qW����ˆW�l���ŒW�;��ùW����5Y� ���KY����YY�6���tY�5���«Y�-���áY�)���Z����9Z����KZ����bZ����yZ� ���Z����›Z���� Z����¦Z�,���®Z�8���ÛZ�)���[� ���>[����J[����\[����v[����…[� ���‹[����•[����¥[� ���¼[� ���Æ[� ���Ò[�k��Ü[����H]����P]�K���h]�8���´]����í]� ���ö]� ���^� ���^�3���^�Š��N^� ���Ù_� ���æ_�½���ð_����®`����½`� ���Í`�=���Ú`�(���a�ã���Aa� ���%b����1b�U��Ab����—c���� c�<��¥c�\���âd� ���?e�+���Je�+���ve�0���¢e� ���Óe����Ýe����äe�1���óe����%f�I���>f� ���ˆf����“f�@���¬f�£��íf�7���‘h�?���Éh���� i����i����*i� ���1i����>i����Ci����Ii����Oi����Ui����fi�:���ki����¦i�¦���ºi����aj�×��pj� ���Hl����Sl����gl� ���nl����xl����l����§l����Äl����àl�$���øl����m����/m����Jm� ���Ym� ���em� ���qm����~m� ���m����›m����­m����¾m����Åm����Êm����Ðm� ���Öm� ���ãm����ñm����n����n����-n� ���<n� ���Jn� ���Wn� ���cn����nn����sn����xn�#���’n����¶n����¿n�*���Þn���� o�E��� o����Ro����fo���wo�H���‰p�o���Òp����Bq����Fq����Vq� ���kq�&���yq� ��� q� ���¬q� ���·q����Äq� ���Ëq�#���Ùq�H���ýq�2���Fr�i��yr�ª���ãs�š���Žt�;���)u����eu���ƒu�¸���w�†���Vx�;���Ýx�%���y����?y�†���¿y�T���Fz� ��›z�7���¦|����Þ|����ý|� ���}� ���}����,}� ���1}����=}����Q}�º���l}����'~�D���>~����ƒ~����”~� ���©~����·~����Ë~����Ü~����ë~� ���ú~�1����'���:� ���b� ���p� ���~����‹�&���ž�*���Å����ð����ø����€�5��� €� ���C€����O€����W€����h€����|€� ���‘€����€� ���¥€����²€�$���·€� ���Ü€�$���ç€���� ��������4�â��G�C���*ƒ�+���nƒ����šƒ����Ÿƒ� ���®ƒ����¼ƒ����΃����ãƒ����õƒ����„� ���„����&„� ���;„�,���F„�j���s„�&���Þ„� ���…�'���&…�0���N…����…����œ…����¹…�–���Ø…�)���o†�Y���™†�'���ó†�T���‡�'���p‡�(���˜‡����Á‡�X���Õ‡�@���.ˆ�?���oˆ�&���¯ˆ�š���Öˆ����q‰����ˆ‰�#���&Š�&���JŠ����qŠ�"���Š�T���³Š�g���‹�†���p‹�.���÷‹����&Œ�"���EŒ�+���hŒ�Y���”Œ�~���îŒ�¤���m�ä���Ž�=���÷Ž����5�^���S� ���²�¢���Ó�F���v�}���½�'���;‘�'���c‘�Z���‹‘�`���æ‘�!���G’�!���i’�$���‹’� ���°’�¦���Ñ’�M���x“�>���Æ“�'���”�<���-”�T���j”����¿”����Ä”����É”����ß”����õ”���� •�¹��� •�D���Ú•�H���–�G���h–� ���°–����º–����¿–����Å–�´��Ô–����‰˜�;��� ˜�3���ܘ�/���™�+���@™�'���l™�#���”™����¸™����Ø™����ô™�<���š����Aš����Uš����[š����aš�*���cš����Žš����¦š����Àš�A���Ýš����›�2���6›�1���i›� ���››����§›�!���º›����Ü›�#���ã›����œ�0���#œ����Tœ����nœ����œ�*���œ����»œ����Ùœ�"���ùœ��������:�E���Y�;���Ÿ� ���Û�,���ü� ���)ž�!���Jž����lž����Œž�+���«ž�#���מ�#���ûž�,���Ÿ�0���LŸ�,���}Ÿ�#���ªŸ����Ο����éŸ� ���ÿŸ����  ����< ����Z ����x �$���— �"���¼ ����ß �'���õ ����¡�5���7¡����m¡�!���ƒ¡����¥¡�1���¾¡����ð¡�����¢����¢����1¢����H¢����b¢�(���r¢����›¢����´¢�.���É¢�2���ø¢����+£����F£����a£�%���z£�0��� £�3���Ñ£����¤�F���%¤�B���l¤�+���¯¤�5���Û¤�1���¥����C¥����\¥�*���{¥����¦¥����Á¥�)���Þ¥����¦����¦�%���5¦� ���[¦� ���i¦����w¦����‡¦�8���¢¦����Û¦����ñ¦����§����#§�&���=§�'���d§�<���Œ§�:���ɧ�.���¨�!���3¨����U¨�&���d¨����‹¨����¦¨����¶¨����ʨ����Û¨����ë¨�#���û¨�'���©�"���G©�&���j©����‘©����¦©����¿©� ���Ú©����û©����ª����+ª�%���Bª����hª� ���„ª� ���‘ª����žª����±ª����ƪ����ܪ����ïª����«����«����-«�,���D«�+���q«�-���«�)���Ë«�!���õ«����¬����6¬����J¬�8���a¬����š¬����±¬����Ƭ����ܬ�3���î¬� ���"­����,­� ���=­����I­����^­� ���n­����x­�#���‹­�"���¯­� ���Ò­����ó­����®����#®����?®����Y®����j®����‚®����ˆ®����š®�%���«®����Ñ®�$���ë®�+���¯�#���<¯�:���`¯�!���›¯�/���½¯�'���í¯����°����+°����F°����a°�*���°�%���¬°����Ò°�#���ð°�$���±����9±�%���O±�!���u±�'���—±����¿±����ß±����ó±����²����$²�(���B²�,���k²� ���˜²�$���¹²����Þ²����÷²�$��� ³�#���.³�%���R³����x³�!���˜³�&���º³����á³����õ³�(���´� ���<´�3���]´�-���‘´����¿´�!���Ø´�1���ú´�'���,µ����Tµ�1���tµ����¦µ����½µ����ص����òµ���� ¶�#���&¶�1���J¶�.���|¶����«¶����Á¶����Ó¶�(���ó¶����·� ���4·����B·����_·�(���t·����·����¢·�3���Á·�;���õ·�.���1¸����`¸����x¸����¸�$���«¸�$���и�D���õ¸����:¹����N¹����_¹����o¹����ƒ¹���� ¹����¼¹����Ù¹����ó¹����÷¹����º�)���º�/���Gº�=���wº�@���µº�:���öº����1»�!���O»����q»�,���ƒ»����°»����Ì»����Þ»�;���õ»����1¼����J¼����`¼����t¼� ���¼�!���°¼����Ò¼����í¼����½�*���½�-���?½����m½����}½����”½����­½����½����Ù½����ò½����¾�%���&¾�1���L¾�#���~¾�"���¢¾����ž� ���Û¾����é¾����ú¾����¿�"���"¿� ���E¿����S¿����f¿����}¿����¿����¬¿����¿�#���Ý¿�!���À�!���#À����EÀ����\À����{À����”À� ���³À����ÀÀ����ÐÀ����áÀ����óÀ�!���Á����3Á�"���KÁ����nÁ����ŽÁ� ���¬Á����ÍÁ����åÁ�]���úÁ����XÂ����lÂ����‚Â�!���˜Â�*���ºÂ� ���åÂ� ���òÂ����Ã�/���'Ã����WÃ�2���lÃ�;���ŸÃ����ÛÃ����ôÃ����Ä����/Ä�R���FÄ�L���™Ä�(���æÄ� ���Å����Å����,Å����>Å����TÅ�,���rÅ�9���ŸÅ�*���ÙÅ�,���Æ����1Æ�0���7Æ�:���hÆ�#���£Æ�'���ÇÆ�8���ïÆ����(Ç�/���=Ç����mÇ�7���~Ç�8���¶Ç� ���ïÇ����ýÇ�/���È�-���IÈ����wÈ����‘È�&���¨È�)���ÏÈ����ùÈ�$���É����3É����JÉ����dÉ����tÉ�+���É�1���¹É�"���ëÉ����Ê���� Ê����7Ê�#���UÊ�$���yÊ����žÊ����¼Ê����ÑÊ�!���ñÊ�!���Ë�%���5Ë����[Ë�%���jË����Ë����ŸË�7���®Ë�=���æË����$Ì����BÌ����WÌ����qÌ����„Ì� ���•Ì����£Ì�-���»Ì�C���éÌ����-Í�(���BÍ� ���kÍ�'���uÍ����Í�"���·Í����ÚÍ����êÍ�%���úÍ���� Î�4���6Î� ���kÎ�&���ŒÎ� ���³Î�$���¿Î�8���äÎ�G���Ï�9���eÏ����ŸÏ�"���¾Ï�$���áÏ����Ð���� Ð����@Ð����UÐ����kÐ����‰Ð�>���¡Ð� ���àÐ� ���ëÐ����÷Ð���� Ñ����Ñ����:Ñ� ���MÑ� ���ZÑ����fÑ����}Ñ� ���”Ñ� ���žÑ����¨Ñ�)���ÂÑ����ìÑ����Ò����Ò����0Ò�$���EÒ�-���jÒ�7���˜Ò����ÐÒ����×Ò����æÒ����õÒ����Ó� ���Ó����*Ó����1Ó����7Ó����>Ó����\Ó����uÓ�#���’Ó�J���¶Ó� ���Ô� ���Ô� ���Ô����(Ô�*���=Ô����hÔ����„Ô����Ô����¹Ô����ÐÔ�8���íÔ����&Õ� ���,Õ�H���:Õ�U���ƒÕ�>���ÙÕ�?���Ö�?���XÖ�=���˜Ö�>���ÖÖ�3���×�(���I×�N���r×�f���Á×�>���(Ø�@���gØ�#���¨Ø�<���ÌØ�*��� Ù����4Ù����TÙ�(���lÙ����•Ù�/���°Ù����àÙ����ûÙ����Ú����&Ú����,Ú����AÚ����UÚ�*���uÚ�!��� Ú�7���ÂÚ����úÚ�"���Û����5Û����DÛ�3���XÛ����ŒÛ����¤Û�.���¼Û����ëÛ�0���Ü����2Ü�C���IÜ����Ü����ªÜ����¾Ü����ØÜ�H���êÜ�+���3Ý�2���_Ý�8���’Ý�=���ËÝ�@��� Þ�#���JÞ����nÞ�$���‰Þ�=���®Þ�4���ìÞ�.���!ß�,���Pß�<���}ß�0���ºß�3���ëß�7���à�c���Wà����»à����Ñà�t���èà� ���]á�3���há�>���œá�5���Ûá�j���â�h���|â�0���åâ�,���ã�*���Cã�3���nã�(���¢ã�&���Ëã�(���òã� ���ä����'ä� ���:ä� ���Gä�/���Uä�7���…ä�&���½ä� ���ää�ž��å����¤æ�ü���¦æ�á���£ç�Ø���…è�Ý���^é�±���<ê�j��îê�ÿ���Yì�®���Yí�n���î���wî�Ç���’ï�_��Zð�p��ºñ���+ó����­ô����;õ�^���Jõ�‘���©õ�K���;ö� ��‡ö�{���¨÷�¨���$ø�p��Íø���>ú�›���Nû�Ü���êû�‚��Çü�v���Jÿ�ú���Áÿ�v���¼��¢���3�š���Ö�Ù���q�’���K�i��Þ���H�©���J�½���ô�n���²�œ���!�8��¾�;���÷ �D��3 �o��x �M���è �ë���6 �¡���"�Ö���Ä�E��›�ƒ���á�À���e�ú���&�N���!�«���p����(��7�*��`�A���‹����Í�N���ì�®��;�Ò���ê�´���½�,��r�W��Ÿ�U��÷�â���M �F��0!�:���w"�Ú���²"�H���#�ý���Ö#� ���Ô$�¶��à$�Ý��—&�Ø��u(�•���N*�t���ä*�H��Y+�?��¢,�•��â-���x/�-���z0�Â���¨0�Ÿ���k1�ú��� 2�v��3�š���}4�+��5�×���D6�N���7�½���k7� ���)8�y��Ê8�{���D:�?���À:�|����;� ��};�\��Š<�Ð���ç=�ì���¸>�ð���¥?�»���–@�ê���RA�š��=B�Ý���ØC���¶D�Ç���¾E�ä���†F����kG�j��ûG�Z���fI�´���ÁI�+��vJ�¶���¢K�`��YL�h��ºM�4���#O�¡���XO�K���úO�˜��FP�3��ßQ� ��T���V�Ç��7W�Œ��ÿX���ŒZ�‰���«[�]��5\�þ��“]���’_�Ü��¤`�µ���b�ô���7c�ü��,d�M���)f�U���wf�Ë���Íf�J��™g���äh�W��ôi�Ç��Lk�ø���m�2��� n�^���@n�é���Ÿn�¤���‰o�¼���.p�Ü���ëp�Ø��Èq�®���¡s�A���Pt�"��’t�†���µu�2��<v�-���ow���w�ž���ºx�Í���Yy�¯���'z�¯���×z�¶��‡{�S��>}�6��’~�#��É�ñ��í€�ø���ß‚���؃���õ„�D���†�¤���X†�é��ý†�í��çˆ�W���ÕŠ�<��-‹�¢���jŒ��� �Ð���Ž�n��ïŽ�R��^�¦���±‘�=���X’�U���–’�V��ì’�æ���C”�4��*•�Ú���_—���:˜�Š��L™�Š��ך���bœ�S���h�ô���¼�:��±ž�B��ìŸ�4��/¡� ��d£�¯���o¤�Þ���¥�Œ���þ¥�Þ���‹¦�×���j§�ý���B¨�ñ���@©�]��2ª���«�^��©¬�­���®�Û���¶®�ì��’¯�\���±�Y��ܱ�T���6³�>���‹³�£��ʳ�X��nµ� ��Ƕ�*��Ñ·�A��ü¹�¢���>»�F���á»�t��(¼�V���½�´���ô½�>���©¾�]���è¾�´��F¿�p���ûÀ�!��lÁ� ��ŽÂ�Ñ��™Ã�,���kÅ�0���˜Å�ô���ÉÅ�,���¾Æ�7���ëÆ�2���#Ç�A��VÇ�:���˜È�-���ÓÈ�&���É�;���(É�/���dÉ�/���”É�'���ÄÉ�ä���ìÉ�.���ÑÊ�-����Ë� ���.Ë� ���9Ë�ž��GË�K���æÌ�½��2Í�4��ðÎ�Ü���%Ð�ï���Ñ���òÑ� ���ûÒ����Ó� ��� Ó����Ó����!Ó����&Ó�9��:Ó�-���tÔ� ���¢Ô� ���¬Ô����¸Ô����ÎÔ����áÔ�!���Õ����#Õ�!���?Õ�6���aÕ����˜Õ����³Õ�O���ÑÕ�n���!Ö�>���Ö�'���ÏÖ�8���÷Ö����0×�2���F×�#���y×����×�.���±×����à×�8���ý×�,���6Ø�"���cØ����†Ø�$��� Ø����ÅØ�U���åØ�.���;Ù�2���jÙ�4���Ù�h���ÒÙ�3���;Ú�+���oÚ����›Ú����·Ú�=���ÔÚ�*���Û�3���=Û�>���qÛ����°Û�.���ÈÛ�.���÷Û� ���&Ü�9���GÜ����Ü�E���“Ü�!���ÙÜ�%���ûÜ����!Ý����?Ý�9���YÝ�*���“Ý����¾Ý����ÙÝ����ðÝ�"��� Þ�(���.Þ����WÞ����nÞ����„Þ����–Þ����­Þ�@���ÄÞ����ß�/���$ß�2���Tß�&���‡ß�*���®ß����Ùß����ìß�)��� à����5à�$���Nà�"���sà����–à�B���²à����õà���� á����)á����Há����gá� ���†á�#���§á�!���Ëá����íá����â�'���#â����Kâ�%���bâ�2���ˆâ�(���»â����äâ�+���ûâ�$���'ã�X���Lã�C���¥ã�1���éã�&���ä�3���Bä�.���vä�3���¥ä�-���Ùä�4���å�#���<å�.���`å�.���å����¾å����Õå����ïå�#��� æ����/æ����Eæ�2���[æ�#���Žæ�1���²æ� ���äæ� ���ðæ����þæ����ç����'ç�(���=ç�>���fç�B���¥ç�6���èç����è�&���>è�&���eè�'���Œè����´è����Ìè�/���çè�2���é�)���Jé����té� ���vé����é����˜é�v���›é�X��ê����kë� ���ë�+���ë�?���»ë�2���ûë�2���.ì�!���aì����ƒì����•ì����¨ì����»ì� ���Îì����Øì����Ýì� ���ãì�8���íì�9���&í�5���`í����–í����ží�%���¼í����âí����ñí� ���ùí����î����î� ���9î����Cî� ���Sî�A��aî����£ï����¬ï�Y���Ìï�;���&ð� ���bð� ���lð����wð� ���Žð�7���šð�½��Òð� ���ò� ���žò�Ç���©ò����qó����€ó� ���ó�=���ó�(���Ûó�9��ô� ���>õ����Jõ�x��Zõ� ���Óö����àö�O��çö�c���7ø� ���›ø�4���¦ø�2���Ûø�1���ù����@ù� ���Qù����^ù�7���xù�%���°ù�N���Öù� ���%ú����1ú�I���Mú�Ð��—ú�L���hü�K���µü����ý����ý����"ý����+ý����:ý����Cý����Ký����Qý����Xý����iý�H���pý����¹ý�¥���Óý����yþ���Œþ� ���¡�����®�����Å�� ���Ë�����Ø��#���ñ��)����"���?����b�*�������ª����Ê����ê� ���ù� ���� �������� ���/����;����M����^����e����k����s����{� �������›�)���¬����Ö����ç� ���ö� ���� ���� �������(����-����2�'���N����v�'����4���µ����ê�`���í����N����h�)��y�[���£�~���ÿ����~����‚����—� ���±�2���¿� ���ò� ���þ� ��� ����� ����(���?�D���h�>���­�‚��ì�Õ���o �´���E �F���ú �'���A �B��i �µ���¬ �°���b�F����&���Z�”����‰����S��� �"��ô�I����%���a����‡� ���¤� ���¯����¼� ���Ã����Ï�"���é�°��� ����½�:���Ü��������+� ���C����Q����e����v����…� ���”�@���¢�8���ã� ���� ���*� ���8����E�'���]�.���…����´����¼����Ì�A���Ñ��������&����.����@����]� ���{����‡��������¢�0���¦� ���×�&���á������������4�Û��E�\���!�9���~����¸����½����Ì����ß����ö��������*����@����V����h����‚�*���‹�z���¶�$���1����V�$���t�/���™����É����ç�����˜���%�(���¾�W���ç�#���?�K���c�$���¯�&���Ô����û�Y����<���h�?���¥�&���å�§��� ����´ �¥���Ê �"���p!�%���“!����¹!�!���×!�S���ù!�k���M"�„���¹"�-���>#����l#�!���Š#�*���¬#�W���×#�†���/$�«���¶$�Ø���b%�=���;&����y&�b���™&����ü&� ���'�D���½'�Ž���(�&���‘(�(���¸(�W���á(�f���9)���� )�"���À)�%���ã)�!��� *�­���+*�P���Ù*�=���*+�%���h+�A���Ž+�M���Ð+����,����#,����),����H,����g,����~,�Ê���—,�R���b-�V���µ-�\��� .� ���i.����v.����}.����‚.� ��–.���� 0�6���µ0�0���ì0�,���1�(���J1�$���s1� ���˜1����¹1����×1����ð1�J����2�'���K2����s2����y2����2�5���ƒ2����¹2����Ò2����í2�P��� 3����Z3�8���o3�9���¨3����â3����ñ3�-��� 4����74�4���?4�$���t4�J���™4�/���ä4����5� ���.5�B���O5�*���’5�%���½5�+���ã5�&���6�*���66�J���a6�G���¬6�-���ô6�A���"7�*���d7�+���7�)���»7�(���å7�:���8�1���I8�/���{8�>���«8�B���ê8�<���-9�8���j9�"���£9����Æ9�1���ä9�*���:�&���A:�&���h:�/���:�4���¿:�+���ô:���� ;�,���>;�$���k;�>���;� ���Ï;�1���ð;����"<�@���B<����ƒ<�-��� <�2���Î<�*���=�(���,=����U=�E���r=�"���¸=����Û=�?���ù=�A���9>�$���{>�&��� >�"���Ç>�M���ê>�?���8?�A���x?�(���º?�U���ã?�U���9@�.���@�G���¾@�K���A�#���RA�)���vA�:��� A�'���ÛA�0���B�6���4B����kB�&���„B�4���«B����àB����øB����C�*���/C�N���ZC�"���©C�0���ÌC�$���ýC�'���"D�7���JD�2���‚D�@���µD�J���öD�5���AE�*���wE����¢E�6���ÂE�3���ùE����-F�%���JF����pF����ŠF����¢F�0���½F�2���îF�.���!G�4���PG����…G�"���¢G����ÅG�'���ßG����H����&H����FH�/���`H����H� ���°H����¾H����ÑH����èH����I����"I����?I����^I����|I����›I�4���¹I�;���îI�;���*J�5���fJ�(���œJ�%���ÅJ����ëJ����K�B���K�)���aK����‹K����ŸK����¼K�C���ÍK� ���L����L����.L����@L����VL����iL����zL�.���–L�-���ÅL�2���óL�#���&M����JM� ���]M����~M����›M����¯M����ÇM����ÍM����âM�(���öM�3���N�,���SN�1���€N�+���²N�?���ÞN�+���O�7���JO�1���‚O�)���´O�#���ÞO�)���P�)���,P�8���VP�1���P�1���ÁP�6���óP�7���*Q�!���bQ�3���„Q�4���¸Q�9���íQ�&���'R�(���NR����wR�+���’R�+���¾R�?���êR�9���*S�0���dS�5���•S����ËS����ëS�,���T�,���4T�'���aT�&���‰T�2���°T�7���ãT����U�)���8U�5���bU�,���˜U�F���ÅU�6��� V�"���CV�-���fV�K���”V�:���àV�2���W�N���NW�+���W�1���ÉW�,���ûW�+���(X�-���TX�2���‚X�M���µX�?���Y�(���CY����lY�+���„Y�/���°Y����àY����þY�&���Z����9Z�$���UZ����zZ����Z�D���šZ�P���ßZ�>���0[�%���o[����•[�%���±[�$���×[�/���ü[�a���,\����Ž\����¨\����¿\����Õ\�"���ï\�-���]����@]����_]����]����ƒ]���� ]�%���¯]�/���Õ]�W���^�K���]^�H���©^�6���ò^�&���)_����P_�1���i_����›_����´_� ���É_�Y���ê_�(���D`����m`����†`����ž`�-���½`�'���ë`�!���a����5a����Ma�8���da�;���a����Ùa����ìa�!��� b����,b�"���Ib����lb�%���‹b�"���±b�:���Ôb�6���c�*���Fc�6���qc�%���¨c����Îc����àc����õc����d�5���+d����ad����rd�!���‹d����­d����Âd����ád� ���þd�.���e�,���Ne�*���{e�#���¦e�*���Êe�!���õe�*���f����Bf����Rf����ef����yf�&���Žf�$���µf����Úf�(���ôf�$���g� ���Bg�%���cg����‰g����¤g�a���½g����h�"���9h����\h�+���vh�=���¢h����àh�&���ðh����i�8���0i�(���ii�8���’i�=���Ëi�"��� j�*���,j����Wj����wj�^���–j�T���õj�0���Jk����{k����k����¢k�+���»k�)���çk�*���l�8���<l�1���ul�4���§l����Ül�<���âl�K���m�1���km�@���m�F���Þm����%n�9���>n����xn�B���‰n�C���Ìn����o�#���!o�,���Eo�1���ro����¤o����¾o�2���×o�4��� p����?p�4���Vp����‹p����¤p����Ãp����Õp�8���îp�<���'q�3���dq����˜q����¸q����Õq�/���õq�9���%r�!���_r����r�.���•r�&���Är�0���ër�*���s����Gs�.���Vs� ���…s����“s�J���£s�g���îs�)���Vt����€t����›t����¸t����Ìt����ßt�"���ût�B���u�V���au����¸u�/���Íu� ���ýu�]��� v� ���iv�(���Šv����³v����Âv�$���Òv����÷v�<��� w�+���Hw�.���tw����£w�-���µw�=���ãw�L���!x�>���nx�+���­x�-���Ùx�/���y�)���7y�3���ay����•y�%���³y�!���Ùy����ûy�N���z����ez����wz����‰z����¤z����¹z����Øz� ���ìz� ���úz����{����{� ���;{����E{�#���N{�-���r{���� {� ���¹{����Ú{����ù{�7���|�1���N|�A���€|����Â|����É|����Ø|����ç|����}����}����%}����,}����2}�,���9}�#���f}�#���Š}�+���®}�Q���Ú}����,~����C~����V~�-���g~�=���•~�3���Ó~�*����9���2����l�#���Œ�U���°����€���� €�e���€�V���{€�X���Ò€�Y���+�Y���…�W���ß�E���7‚�7���}‚�0���µ‚�[���æ‚�{���Bƒ�M���¾ƒ�G��� „�%���T„�B���z„�0���½„�!���î„����…�/���0…����`…�0���w…����¨…����Æ…����Ü…����ë…����ò…����†�+���.†�4���Z†�1���†�5���Á†����÷†�$���‡����:‡����M‡�?���g‡����§‡����ć�;���â‡����ˆ�9���:ˆ�!���tˆ�O���–ˆ�!���æˆ����‰����‰����8‰�Q���N‰�6��� ‰�9���׉�A���Š�:���SŠ�K���ŽŠ�+���ÚŠ�$���‹�9���+‹�H���e‹�I���®‹�C���ø‹�5���<Œ�<���rŒ�H���¯Œ�:���øŒ�;���3�e���o����Õ����î����Ž� ���–Ž�9���¢Ž�N���ÜŽ�J���+�u���v�f���ì�J���S�>���ž�-���Ý�8��� ‘�0���D‘�&���u‘�'���œ‘����Ä‘����Ø‘����ó‘����’�9���’�?���P’�/���’�)���À’����p��„����������&���S������œ�����������Ð��������������ÿ��í��$������•��=��)��ù��Ù�����(��ñ��P��ä����������û������Š����������¼��“������T��Å��������q��¥������ð���8����…����������_��²��a�������7��|���p��×���Ü�������Û��„��1������=����q�����L���������Z�������ö����������“��;��ã��É��¾������Ð����²��.��J�������=��ï��Ñ������Ñ��~������� ��ø������Ñ���Ë��z��~��8������0�������Û������������������Q��,��>��ô��@���â��|�� ��Ã��4��¡��n���V��~��������%�������²�����[��Ã���]��a��)��Ú��Î��Á������ñ��ø��Ý���@��ò������D��³������´��Ä��p��M��4���Ê��"��‰���ø��9��†���ä�����������ô����†����E����������S������g�������µ��.�������è�����������Á�������:���/���o�������������‚��I��i��à��Ë�� ��á��Á��Î��”������í��ð������ª��}�����@��¨��)��r��ë������µ������¦������¿��ª�� ��­��n��™��Ä������Œ���Ó��Â��J��½��Ô������f��£����W������G��ð��…������Ç����������ˆ���Ø��¸��Ä����Ê�� ��ß��¯��Æ�������'��¢��f��¤��_���-��� ��0��ê��ª���Ù��‡���������N��°������Ø����������÷��†��Å��`��Y��M��G������—������0��“��®�������!��¼��4��?��¸��ô�������������������l���/��Î������U���v��œ���Ò������������Ÿ������q�����‹���;��1������i������{���������Ü������ö��������¬��•��Ý������ü������������C����������Û���B��p��%������Ô���Ó��-��W��…��t������e���������5��B��z����������±��N��U��S������š���z���à��÷��x��ç������������È��î���¶��A���Ù������¿��Æ��j������+����������d��¡��l��i��8��œ��h�������÷�������g��¤����p�����ý���»���ì���Š��²��×��+�������Ø��^��ª�������������(��H������������–���� ���t��<��ó��\��e��¯��T������%��D��E��������™������S��–������ƒ���!�����˜��x����������������l��-��š��Ž��|��7����]��\��������������Ñ��q��ï����9��T����������`��¯��Ø������é��� ����������æ��s����Ö�����������Ð������c�������€��½������V��y��:���������������������¿��w��Å��æ������]�������������Z��>���­��à�����¥���ù���_��7�������� ��f��¶���õ��Ö��y��å��ú���@��P��Ù��]����������������ý��­��y�������‚��·��3������¿�����s��Ì�����������������u�������ú������«��m��������¾�� ��D��®��‹������á�������t��������������"��P���=��� ������v��ì��L��������Ò����s��§��������Í��«��#������������2������^����������K��U��Ý������������������N��}��7�����s������H���>��Ú������¬��±��½��-��O������$������¼��à���G��ø���ð��c��§��ë��w��_��Ô��®��Q����������������������������˜��ß��b��ÿ������Ý����������V����������� ��‰��ô��[��)������� ��³��‡��ƒ��‚�������á��µ���›��c��k��Î��<��2�����������A������Þ������������È��c��������������N���w�����y��’����������Œ��Ö��É��u��»��È���)��É����M���À�� ���R��À��Ç��œ��"����ò��¢������Ë���ó���?���„������C��¡��������������É��ù������(������� ���’�������[������€������������R��ž������Þ��� ��,��Ü������ñ��–��é��6��ã��¾��ñ��� ��‹��/��ò��ÿ���������ú��þ��×��{��È��í��Š���Ë������í���˜��º��û��´��l��d��­����–�����������ù��«������%������Z�� ��ž���¦���6�������������¨�������(��å���â����ö��.��6����������Ÿ��°����a��ý����}��…����������Š������ý��‰��{��Q���Ä���¢�������Æ��‡��Œ�� ���k��W��R�������S���´��d����5��`���d��´���Ã��Ÿ��Õ��C���¤���ƒ��„���ð��»������â������������9������:������������ ��–��é��L��k�����P��Q������x���Ñ��£��ç���:��§���y��ú����� ��Ï����������K��«��m��I�������b��Y��¸���������ï��€��’��›������������F������D������B���¥��>����������\��î��‘��¶��·������é��ù������r���|��<���É���/��U������������µ��ž��������������î��Á��ý��ç��w����.�� ��£������� ������[���‡������Ú���*��#��è��&��¸������Ž��ï���f���5���ó��,������ñ��X����§��|��O������6��Ì��³���������� ��E���������‹����š��°��±��m�������Å��ç����������©��n��ß��g������3����ë��O��^��¸��©������“��©���H�� ��������������+������’����õ����������v��O��s���3�������õ���Ú������F�������������…����þ��Â��¶��«�������Ê���Í���J������{��������������ã������Í��K������î��è����������©��V������¶��������¨��×�����š��#������������Ä������b��*���?������ç����������›�������Œ��‡����������¹���������V��_������Ò��û���o��Â��������Z��W��!��Û������ö��—��¯������Ž������9����~��������£��Ð��A��8���5��Ž������A��Ë��ˆ����������ˆ��®��¹��u������J����������@��6���a����÷������������1��Œ������†��æ���‘��j����������4��Þ��Š��ë��^����������������±��­�������*��™�������Z������î������>�� ��G������x��é��¦��’��¾���þ��“�����������j��•��2������k���Ï��õ��h����Á����������ü��������¥����‘��X������ã���������g��²������M������ô������!���� ������,��¼���t���Õ������¨��à��¦��"�������A���������Í������·��w������R��æ��[��Û��þ��G�������E��˜���ü���������������������Ž���-����������ü��4��ü������J��ò������E��Ì��å��ß���%��z��¤��Î��v�������K���Ù����������Æ������t��¤��e����N��9���������ì������I������X�������������»������������¢����������º��o��������Ð��ê��}����—��o��™��›����������Ý��Å���l������Ï������Ó��m��Ì��Y��¹��¥��n�����Ô��e����������<��Ø���™����������`������i���Ê������2����Ô������Þ��û��Ü��¹���������+������›��£����Ÿ��”���������—��������������B�����������Ó��o���0������f��õ��u����ò���ä����������µ��·��3��Ò���ø����������=��������������H��Â��~��h��&���������u������K����ì��Y���À��ã��Ö��æ��D�����������h������c������h����������+������ ��������j��Õ�������á������Þ��!��r������������ ����5������¯�������§��'���Ê��¬������´�����±���/��ê���‚��Ì���F����������k��ƒ��g��û��š��¿�����¹�� ��ª��m��‚��³���¬��7����������å��—�����È��‹��ß��ƒ��#��Y��”��ÿ��”��?��å��ê��������1�����Ï�������b�� ��„�������� ��$�������½�����������,���×��ˆ��������W���Ç���½��Ú����ÿ��0��������������j�������R������†������U��Í������;��� ��e��`��ä��‘���ˆ����������X���”�������z��n��‰����������{������8��&��º��‘��÷������³��Ó���À��a��°���˜��Ü��ê����������è��������¦��ä��I��#���"������I���*��T���X��á�����r��v����������ë���€������}��r��������þ���ú��ö���¡�� ���C����������»��í��è��•������·���3�� ��°��©��\��������Q�� ������<���� ��2������:��]��O���ó��������?��(��������������\�������*��º��F����Ç������F��Ç��b�������Æ��$������Õ����������H������Ï��¨������Ã��Ö��•�����������������.��L��ž���������'��Â��ó������¾��������^���â������ ������€���Õ����;������������'��ž��������À���x��&��q��º���$��B������ï��d���Ã������¼��Ò�������� ������������� ���P��‰��;������L������1��ì��¡������¢��'��T����������®����������œ������C���������Ÿ��¬�������â���M��i�����ê’����ò’�ìl��m��,m��@m��Tm��hm��|m��m��¤m��¸m��Ìm��èm��üm��n��,n��Xn��tn��n��¤n��¸n��Ìn��àn��ün��o��4o��Po��do��€o��ú’��������������� �����������������ÿÿÿÿ“��������1���ÿÿÿÿL“��������/���ÿÿÿÿ|“�7����������ÿÿÿÿÆ“�����������ÿÿÿÿö“�����������ÿÿÿÿ ”��������(���ÿÿÿÿM”� �������Q���ÿÿÿÿ¨”� �������R���ÿÿÿÿ•� �������V���ÿÿÿÿd•������������������ÿÿÿÿ•�����������ÿÿÿÿ—•� ���������������ÿÿÿÿÁ•����������ÿÿÿÿâ•��������������������������������ÿÿÿÿ–������������������ÿÿÿÿ,–������������������ÿÿÿÿT–�H����������ÿÿÿÿ°–��������)���ÿÿÿÿé–�&����������ÿÿÿÿ#—��������?���ÿÿÿÿg—� �������0�������$���ÿÿÿÿÈ—� �������2�������(���ÿÿÿÿ/˜� �������<�������1���ÿÿÿÿ©˜�!�����������������ÿÿÿÿè˜�����������ÿÿÿÿñ˜� ������������ ���ÿÿÿÿ"™����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: GNU coreutils 8.14-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2011-10-09 10:15+0100 Last-Translator: Giorgio Catanzaro <catanzag@gmail.com> Language-Team: Italian <tp@lists.linux.it> Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � � ( ESPRESSIONE ) ESPRESSIONE è vera ! ESPRESSIONE ESPRESSIONE è falsa ESPRESSIONE1 -a ESPRESSIONE2 sia ESPRESSIONE1 che ESPRESSIONE2 sono vere ESPRESSIONE1 -o ESPRESSIONE2 o ESPRESSIONE1 o ESPRESSIONE2 è vera � --check-order controlla che l'input sia ordinato correttamente, anche se tutte le righe in input possono essere accoppiate --nocheck-order non controlla che l'input sia ordinato correttamente � -1 elimina la colonna 1 (righe presenti solo in FILE1) -2 elimina la colonna 2 (righe presenti solo in FILE2) -3 elimina la colonna 3 (righe presenti in entrambi i file) � -a, --all come -b -d --login -p -r -t -T -u -b, --boot orario dell'ultimo avvio del sistema -d, --dead stampa i processi morti -H, --heading stampa la riga di intestazione delle colonne � -b FILE FILE esiste ed è speciale a blocchi -c FILE FILE esiste ed è speciale a caratteri -d FILE FILE esiste ed è una directory -e FILE FILE esiste � -l genera il formato di output lungo per gli UTENTI indicati -b omette l'home directory e la shell nel formato lungo -h omette il file del progetto dell'utente nel formato lungo -p omette il file del piano dell'utente nel formato lungo -s usa il formato breve, è l'opzione predefinita � -n STRINGA la lunghezza di STRINGA non è zero STRINGA equivale a -n STRINGA -z STRINGA la lunghezza di STRINGA è zero STRINGA1 = STRINGA2 le stringhe sono uguali STRINGA1 != STRINGA2 le stringhe sono diverse � ARG1 * ARG2 prodotto aritmetico di ARG1 e ARG2 ARG1 / ARG2 quoziente aritmetico di ARG1 diviso ARG2 ARG1 % ARG2 resto aritmetico di ARG1 diviso ARG2 � ARG1 + ARG2 somma aritmetica di ARG1 e ARG2 ARG1 - ARG2 differenza aritmetica di ARG1 e ARG2 � ARG1 < ARG2 ARG1 è minore di ARG2 ARG1 <= ARG2 ARG1 è minore o uguale ad ARG2 ARG1 = ARG2 ARG1 è uguale ad ARG2 ARG1 != ARG2 ARG1 è diverso da ARG2 ARG1 >= ARG2 ARG1 è maggiore o uguale ad ARG2 ARG1 > ARG2 ARG1 è maggiore di ARG2 � FILE1 -ef FILE2 FILE1 e FILE2 hanno gli stessi numeri di device e di inode FILE1 -nt FILE2 FILE1 è più nuovo (data di modifica) di FILE2 FILE1 -ot FILE2 FILE1 è più vecchio di FILE2 � INTERO1 -eq INTERO2 INTERO1 è uguale INTERO2 INTERO1 -ge INTERO2 INTERO1 è maggiore o uguale a INTERO2 INTERO1 -gt INTERO2 INTERO1 è maggiore di INTERO2 INTERO1 -le INTERO2 INTERO1 è minore o uguale a INTERO2 INTERO1 -lt INTERO2 INTERO1 è minore di INTERO2 INTERO1 -ne INTERO2 INTERO1 non è uguale a INTERO2 � STRINGA : REGEXP ricerca ancorata del modello REGEXP nella STRINGA match STRINGA REGEXP come STRINGA : REGEXP substr STRINGA POS LUNG sottostringa della STRINGA, POS è contata da 1 index STRINGA CAR posizione nella STRINGA di uno dei CAR, se trovato, o 0 length STRINGA lunghezza della STRINGA � a numera tutte le righe t numera solo le righe non vuote n non numera alcuna riga pBRE numera solo le righe che corrispondono all'espressione regolare di base BRE FORMATO è uno di: ln giustificato a sinistra, senza zeri iniziali rn giustificato a destra, senza zeri iniziali rz giustificato a destra, con zeri iniziali � b crea un file speciale a blocchi (bufferizzato) c, u crea un file speciale a caratteri (non bufferizzato) p crea un FIFO � # utenti=%lu � -t è implicito se LUNGH_PAG <= 10. Senza FILE, o quando FILE è -, legge lo standard input. � Un campo è una sequenza di spazi (di solito spazi o tabulazioni), seguita da caratteri non spazi. I campi vengono saltati prima dei caratteri. � Un semplice - implica -i. Se manca COMANDO, stampa l'ambiente risultante. � Dopo qualsiasi flag segue un campo lunghezza opzionale, come numero decimale; poi un modificatore opzionale, che può essere E per usare rappresentazioni localizzate alternative, se definite, o O per usare la rappresentazione localizzata alternativa per i simboli numerici, se definita. � Un'ESPRESSIONE omessa restituisce falso. Altrimenti, ESPRESSIONE è vera o falsa e imposta lo stato d'uscita. È uno tra: � Come caso particolare, cp fa un backup di ORIGINE quando sono usate le opzioni force e backup e ORIGINE e DEST sono lo stesso nome di un file regolare già esistente. � Si noti che molti operatori devono essere preceduti da "\" (escaped) o protetti da apici a causa delle shell. I confronti sono aritmetici se entrambi gli ARG sono numeri, altrimenti sono lessicografici. I modelli restituiscono la stringa corrispondente tra \( e \) oppure null; se \( e \) non sono usati, restituiscono il numero di caratteri corrispondenti oppure 0. � Sia MAJOR che MINOR devono essere specificati quando TIPO è b, c o u, e devono essere omessi quando TIPO è p. Se MAJOR o MINOR inizia con 0x o 0X, è interpretato come esadecimale; altrimenti, se inizia con 0, come ottale; altrimenti, come decimale. TIPO può essere: � In modo predefinito, rm non rimuove le directory. Usare l'opzione --recursive (-r o -R) per rimuovere ogni directory elencata, insieme ai suoi contenuti. � In modo predefinito, seleziona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sono due caratteri di delimitazione per separare le pagine logiche, un secondo carattere mancante implica :. Digitare \\ per \. STILE è uno di: � Normalmente, i file ORIGINE sparsi sono individuati da un'euristica approssimativa e sono resi sparsi anche i file DEST corrispondenti. Questo è il comportamento selezionabile con --sparse=auto. Specificare --sparse=always per creare un file DEST sparso ogni qualvolta il file ORIGINE contiene una sequenza abbastanza lunga di byte zero. Usare --sparse=never per inibire la creazione dei file sparsi. Quando è specificato --reflink[=always], esegue una copia leggera, dove i blocchi dei dati sono copiati solo se modificati. Se questo non è possibile, la copia fallisce o, se è specificato --reflink=auto, ritorna a una copia standard. � Impostazioni combinazione: * [-]LCASE come [-]lcase cbreak come -icanon -cbreak come icanon � I valori mostrati sono nelle unità della prima DIMensione disponibile da --block-size, e dalle variabili di ambiente %s_BLOCK_SIZE, BLOCK_SIZE e BLOCKSIZE. Altrimenti, le unità sono predefinite a 1024 byte (o 512 se è impostata POSIXLY_CORRECT). � Ciascun simbolo FLAG può essere: append modalità append (ha senso solo per l'output; suggerito conv=notrunc) � Esempi: %s -12 file1 file2 Stampa solo le righe presenti in entrambi file1 e file2. %s -3 file1 file2 Stampa le righe in file1 non in file2, e viceversa. � Esempi: %s f - g Mostra il contenuto di f, poi dello standard input e poi il contenuto di g. %s Copia lo standard input nello standard output. � Esempi: %s root /u Cambia il proprietario di /u in "root". %s root:staff /u Analogo, ma cambia anche il gruppo in "staff". %s -hR root /u Cambia il proprietario di /u e dei file contenuti in "root". � Esempi: %s staff /u Cambia il gruppo di /u in "staff". %s -hR staff /u Cambia il gruppo di /u e dei file contenuti in esso in "staff". � Esempi: Converte i secondi dall'Epoca (01/01/1970 UTC) in una data $ date --date='@2147483647' Mostra l'orario della costa ovest degli USA (usare tzselect(1) per trovare la TZ) $ TZ='America/Los_Angeles' date Mostra l'orario locale per le 9 a.m. del prossimo venerdì sulla costa ovest degli USA $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Eccetto che per -h e -L, tutte le operazioni sui FILE seguono i collegamenti simbolici Si noti che le parentesi hanno bisogno di essere protette (p.es. con backslash) dalla shell. INTERO può anche essere -l STRINGA, che è assume la lunghezza di STRINGA. � Lo stato di uscita è 0 se ESPRESSIONE non è null o 0, 1 se ESPRESSIONE è null oppure 0, 2 se ESPRESSIONE non è valida sintatticamente e 3 se è avvenuto un errore. � Stato di uscita: 0 se OK, 1 per problemi minori (es.: impossibile accedere alla sottodirectory), 2 per problemi seri (es.: impossibile accedere all'argomento della riga di comando). � FORMATO controlla l'output come in printf del C. Le sequenze interpretate sono: \" virgolette doppie � FORMATO controlla l'output. Le sequenze interpretate sono: %% un % letterale %a nome localizzato abbreviato del giorno della settimana (es.: dom) � Gestisce la linea tty connessa allo standard input. Senza argomenti stampa il baud rate, la disciplina di linea e le differenze da stty sane. Nelle impostazioni, CAR è preso letteralmente o codificato come in ^c, 0x37, 0177 o 127; i valori speciali ^- o undef sono usati per disabilitare i caratteri speciali. � Se è attivo -e, sono riconosciute le seguenti sequenze: � Se FILE è -, distrugge lo standard output. Elimina i file solo se è specificato --remove (-u). È predefinito non farlo perché è normale operare su file di dispositivi come /dev/hda, che normalmente non devono essere rimossi. Quando si opera su file regolari, la maggior parte delle persone usano l'opzione --remove. � Se PRIMO o INCREMENTO sono omessi, il valore predefinito è 1. Cioè, se INCREMENTO è omesso, è predefinito a 1 anche se ULTIMO è più piccolo di PRIMO. PRIMO, ULTIMO e INCREMENTO sono interpretati come valori in virgola mobile. INCREMENTO è normalmente positivo se PRIMO è minore di ULTIMO, e INCREMENTO è normalmente negativo se PRIMO è maggiore di ULTIMO. � Se un FILE corrisponde a -, effettua una nuova copia sullo standard output. � Impostazioni dell'input: [-]brkint i break causano un segnale di interrupt [-]icrnl converte i ritorno carrello in ritorno a capo [-]ignbrk ignora i caratteri di break [-]igncr ignora i ritorno carrello � K può avere un suffisso moltiplicatore: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, e così via per T, P, E, Z, Y. � Licenza GPLv3+: GNU GPL versione 3 o successive <http://gnu.org/licenses/gpl.html> Questo è software libero: è possibile modificarlo e ridistribuirlo. Non c'è ALCUNA GARANZIA, nei limiti permessi dalla legge. � Impostazioni locali: [-]crterase fa l'echo dei caratteri di erase come backspace-spazio-backspace * crtkill cancella tutte le righe obbedendo alle impostazioni echoprt e echoe * -crtkill cancella tutte le righe obbedendo alle impostazioni echoctl e echok � NOTA: [ gestisce le opzioni --help e --version, ma test no. test le gestisce come se trattasse qualsiasi altra STRINGA non vuota. � NOTA: la shell può avere la sua versione di %s che di solito sostituisce la versione descritta qui. Fare riferimento alla documentazione della shell per i dettagli sulle opzioni supportate. � Notare che se si usa rm per rimuovere un file, potrebbe essere possibile recuperare parte del suo contenuto, avendo sufficiente esperienza e tempo. Per avere maggiori garanzie che il contenuto sia veramente irrecuperabile, si valuti l'uso di shred. � Notare che le opzioni -d e -t accettano differenti formati di orario e data. � Un - opzionale prima di un'IMPOSTAZIONE indica la negazione. Un * indica le impostazioni non POSIX. Il sistema sottostante definisce quali impostazioni sono disponibili. � Altrimenti MODO è un numero che può essere seguito da uno dei seguenti suffissi: KB 1000, K 1024, MB 1000*1000, M 1024*1024, e così via per G, T, P, E, Z e Y. In questo caso l'operazione di buffering del flusso corrispondente verrà fatta con un buffer di dimensione MODO byte. � Impostazioni dell'output: * bsN stile del ritardo di backspace, N in [0..1] * crN stile del ritardo del ritorno carrello, N in [0..3] * ffN stile del ritardo dell'avanzamento pagina, N in [0..1] * nlN stile del ritardo del ritorno a capo, N in [0..1] � Stampa sullo standard output il valore dell'ESPRESSIONE. Qui sotto, una riga vuota separa gruppi di operatori con precedenza crescente. ESPRESSIONE può essere: ARG1 | ARG2 ARG1 se non è nullo o 0, altrimenti ARG2 ARG1 & ARG2 ARG1 se nessun argomento è nullo o 0, altrimenti 0 � Legge da standard input se FILE è -. Ogni MODELLO può essere: � Segnalare i bug di %s a <%s> � Segnalare i bug a: <%s> Segnalare i bug di traduzione a: <tp@lists.linux.it> � I SET sono specificati come stringhe di caratteri. La maggior parte rappresentano loro stessi. Le sequenze interpretate sono: \NNN carattere con valore ottale NNN (da 1 a 3 cifre ottali) \\ backslash \a beep udibile \b backspace \f avanzamento pagina \n nuova riga \r ritorno a capo \t tabulazione orizzontale � Caratteri speciali: * dsusp CAR CAR invierà un segnale di stop del terminale dopo il flush dell'input eof CAR CAR invierà un fine file (termina l'input) eol CAR CAR terminerà la riga � Impostazioni speciali: N imposta a N baud le velocità di input e output * cols N dice al kernel che il terminale ha N colonne * columns N come cols N � I dati sono codificati come descritto nella RFC 3548 per l'alfabeto base64. In fase di decodifica, l'input può contenere caratteri di fine riga in aggiunta ai byte di un formale alfabeto base64. Usare --ignore-garbage per tentare di continuare dopo altri byte non alfabetici nel flusso codificato. � Le seguenti tre opzioni risultano utili solo quando si verificano i codici di controllo: --quiet non stampa OK per ogni file verificato con successo --status non restituisce nulla, il codice di stato mostra il successo -w, --warn avvisa della formattazione errata delle righe del codice di controllo � La traduzione avviene se non è dato -d e sono presenti sia SET1 che SET2. -t può essere usato solo quando si traduce. SET2 è esteso alla lunghezza di SET1 ripetendo il suo ultimo carattere quando necessario. I caratteri di SET2 in eccesso sono ignorati. È garantita l'espansione in ordine crescente solo con [:lower:] e [:upper:]; usati in SET2 durante la traduzione, possono solo essere impiegati in coppie per specificare la conversione maiuscolo-minuscolo. -s usa SET1 se non traduce e non cancella; altrimenti la compressione usa SET2 e si verifica dopo la traduzione o la cancellazione. � Usare uno solo tra -b, -c o -f. Ogni ELENCO è costituito da un intervallo unico o da più intervalli separati da virgole. I dati selezionati in ingresso sono scritti soltanto una volta nello stesso ordine in cui sono letti. � L'uso dei colori per distingure i tipi di file è disabilitato sia in modo predefinito che con --color=never. Con --color=auto, ls emette i codici di colore solo se lo standard output è connesso a un terminale. La variabile di ambiente LS_COLORS può cambiare queste impostazioni. Usare il comando dircolors per impostarla. � Senza FILE, o quando FILE è -, legge lo standard input. � Senza opzioni, genera un output a tre colonne. La prima colonna contiene le righe presenti solo nel FILE1, la seconda contiene le righe presenti solo nel FILE2, e la terza contiene le righe comuni ad entrambi i file. � Senza alcuna OPZIONE, stampa alcune utili informazioni identificative. � Scrive una rappresentazione non ambigua, in modo predefinito in byte ottali, di FILE sullo standard output. Con più di un argomento FILE, li concatena nell'ordine elencato per formare l'input. Senza FILE, o quando FILE è -, legge lo standard input. � ???� --backup=[CONTROL] fa un backup di ogni file di destinazione esistente -b come --backup ma non accetta argomenti -f, --force sovrascrive le destinazioni esistenti senza chiedere -i, --interactive chiede prima di sovrascrivere -n, --no-clobber non sovrascrive un file esistente Se viene specificato più di uno tra -i, -f, -n, solo l'ultimo ha effetto. � --backup[=CONTROL] fa il backup di ogni file di destinazione esistente -b come --backup ma non accetta un argomento -d, -F, --directory permette all'amministratore di sistema di creare collegamenti fisici alle directory (nota: per restrizioni di sistema, può fallire anche all'amministratore) -f, --force rimuove i file di destinazione esistenti � --backup=[CONTROL] fa un backup di ogni file di destinazione esistente -b come --backup ma non accetta un argomento -c (ignorato) -C, --compare confronta ogni coppia di file sorgente e destinazione e, in alcuni casi, non modifica la destinazione -d, --directory tratta tutti gli argomenti come nomi di directory; crea tutti i componenti delle directory specificate � --batch-size=NUM unisce al massimo NUM input contemporaneamente; per un numero maggiore usare file temporanei � --complement complementa l'insieme dei byte, caratteri o campi selezionati � --debug annota la parte della riga usata per ordinare e avvisa su stderr --files0-from=F legge l'input dai file specificati dai nomi nel file F (terminati con NUL); se F è -, legge i nomi dallo standard input � --files0-from=F legge l'input dai file specificati dai nomi nel file F (terminati con NUL); se F è -, legge i nomi dallo standard input -L, --max-line-length stampa la lunghezza della riga più lunga -w, --words stampa il numero di parole � --from=ATTUALE_PROPRIETARIO:ATTUALE_GRUPPO cambia il proprietario o il gruppo di ogni file solo se il suo attuale proprietario o gruppo corrisponde a quello specificato qui. Ciascuno può essere omesso, e in questo caso non è richiesto che l'attributo mancante corrisponda � --group-directories-first raggruppa le directory prima dei file. Più efficace con un'opzione --sort, ma l'uso di --sort=none (-U) disabilita il raggruppamento � --help mostra questo aiuto ed esce � -l, --lookup cerca di canonicalizzare i nomi host con il DNS -m solo il nome host e l'utente associato a stdin -p, --process stampa i processi attivi figli di init � --no-preserve=ELENCO_ATTR non conserva gli attributi specificati --parents utilizza il nome completo della sorgente sotto DIRECTORY � --one-file-system quando rimuove ricorsivamente una gerarchia, salta ogni directory che è su un file system differente da quello indicato dall'argomento corrispondente della riga di comando � --pid=PID con -f, termina dopo che termina il processo PID -q, --quiet, --silent non stampa mai le intestazioni fornendo i nomi dei file --retry continua a provare ad aprire un file anche se è inaccessibile o lo diventa; utile se seguito da un nome, cioè con --follow=nome � --preserve-context preserva il contesto di sicurezza SELinux -Z, --context=CONTEXT imposta il contesto di sicurezza SELinux di file e directory � --sort=CHIAVE ordina secondo la CHIAVE: numerico generale -g, numerico umano -h, mese -M, numerico -n, casuale -R, versione -V -V, --version-sort ordina naturalmente secondo i numeri (di versione) nel testo � --sparse=WHEN controlla la creazione di file sparsi. Consultare in basso --strip-trailing-slashes rimuove i caratteri "/" alla fine di ogni parametro ORIGINE � --strict con --check, esce con errore per ogni input non valido � --strip-trailing-slashes rimuove gli slash dalla fine di ogni argomento ORIGINE -S, --suffix=SUFFISSO cambia il normale suffisso dei backup � --suffix=SUFF appende SUFF al MODELLO. SUFF non deve contenere slash. Questa opzione è implicita se MODELLO non termina con X. � --tmpdir[=DIR] interpreta MODELLO relativo a DIR. Se DIR non è specificata, usa $TMPDIR se impostata, altrimenti /tmp. Con questa opzione, MODELLO non deve essere un nome assoluto. Diversamente da -t, MODELLO può contenere "/" (slash), ma mktemp crea solo la parte finale � --verbose stampa una diagnostica prima dell'apertura di ciascun file di output � --version stampa le informazioni sulla versione ed esce � --all stampa il numero dei processori installati --ignore=N se possibile, esclude N unità di elaborazione � -evenp come -parenb cs8 * [-]lcase come xcase iuclc olcuc litout come -parenb -istrip -opost cs8 -litout come parenb istrip opost cs7 nl come -icrnl -onlcr -nl come icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignora i caratteri con errori di parità * [-]imaxbel fa un beep e non fa il flush su un carattere per un buffer di input completo [-]inlcr converte ritorno a capo in ritorno carrello [-]inpck abilita il controllo di parità sull'input [-]istrip azzera il bit più alto (l'ottavo) dei caratteri di input � cooked come brkint ignpar istrip icrnl ixon opost isig icanon, i caratteri eof e eol ai loro valori predefiniti -cooked come raw crt come echoe echoctl echoke � dec come echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq come [-]ixany ek caratteri di erase e kill ai loro valori predefiniti evenp come parenb -parodd cs7 � ispeed N imposta a N la velocità di input * line N usa la disciplina di linea N min N con -icanon, imposta a N il mimimo dei caratteri per una lettura completa ospeed N imposta a N la velocità di output � oddp come parenb parodd cs7 -oddp come -parenb cs8 [-]parity come [-]evenp pass8 come -parenb -istrip cs8 -pass8 come parenb istrip cs7 � raw come -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw come cooked � sane come cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, tutti i caratteri speciali ai loro valori predefiniti � stop CAR CAR fermerà l'output susp CAR CAR invierà il segnale di stop del terminale * swtch CAR CAR passerà ad un diverso livello di shell * werase CAR CAR cancellerà l'ultima parola digitata � %A nome localizzato completo del giorno della settimana (es.: domenica) %b nome localizzato abbreviato del mese (es.: gen) %B nome localizzato completo del mese (es.: gennaio) %c data e orario localizzate (es.: gio 3 mar 2005 12:02:33 CET) � %C secolo; come %Y, tranne che sono omesse le ultime due cifre (es.: 20) %d giorno del mese (es.: 01) %D data; equivalente a %m/%d/%y %e giorno del mese, con spazi; equivalente a %_d � %F data in formato completo; equivalente a %Y-%m-%d %g le ultime due cifre dell'anno del numero ISO della settimana (consultare %G) %G anno del numero ISO della settimana (consultare %V); in genere utile solo con %V � %S secondi (00..60) %t un tabulatore orizzontale %T ora; come %H:%M:%S %u giorno della settimana (1..7); 1 rappresenta lunedì � %U numero della settimana dell'anno con domenica come primo giorno della settimana (00..53) %V numero della settimana ISO con lunedì come primo giorno della settimana (01..53) %w giorno della settimana (0..6); 0 rappresenta domenica %W numero della settimana dell'anno con lunedì come primo giorno della settimana (00..53) � %h come %b %H ora (00..23) %I ora (01..12) %j giorno dell'anno (001..366) � %k ora ( 0..23), riempita con spazi ( 0..23); equivalente a %_H %l ora ( 1..12), riempita con spazi ( 1..12); equivalente a %_I %m mese (01..12) %M minuto (00..59) � %n un ritorno a capo %N nanosecondi (000000000..999999999) %p indicatore AM o PM localizzato; vuoto se non noto %P come %p, ma minuscolo %r orario localizzato, 12-ore (es.: 11:11:04 PM) %R ora, 24-ore; equivalente a %H:%M %s secondi passati dalle 00:00:00 del 1 gen 1970 � %x rappresentazione localizzata della data (es.: 31/12/99) %X rappresentazione localizzata dell'orario (es.: 23:13:48) %y ultime due cifre dell'anno (00..99) %Y anno � %z +hhmm fuso orario numerico (es: -0400) %:z +hh:mm fuso orario numerico (es: -04:00) %::z +hh:mm:ss fuso orario numerico (es: -04:00:00) %:::z fuso orario numerico con : per la precisione necessaria (es: -04, +05:30) %Z abbreviazione del fuso orario alfabetico (es: CET) In modo predefinito, date riempie i campi numerici con zeri. � +PRIMA_PAG[:ULTIMA_PAG], --pages=PRIMA_PAG[:ULTIMA_PAG] inizia [termina] la stampa con PRIMA_[ULTIMA]_PAG pagina -COLONNE, --columns=COLONNE stampa in COLONNE colonne, a meno che non venga specificata l'opzione -a. Bilancia il numero di righe nelle colonne di ciascuna pagina � --output-delimiter=STR separa le colonne con STR � --userspec=UTENTE:GRUPPO specifica l'id o il nome dell'utente e del gruppo da usare --groups=ELENCO_G specifica i gruppi supplementari come g1,g2,..,gN � -0, --null termina ogni riga con il byte 0 invece del ritorno a capo � -D crea tutti i componenti di DEST tranne l'ultimo, poi copia ORIGINE in DEST -g, --group=GRUPPO imposta il gruppo proprietario, invece del gruppo del processo corrente -m, --mode=PERMESSI imposta i PERMESSI (come in chmod) invece di rwxr-xr-x -o, --owner=PROPRIETARIO imposta il PROPRIETARIO (solo per l'amministratore di sistema) � -D, --all-repeated[=delimit-method] stampa tutte le righe duplicate delimit-method={none(predefinito),prepend,separate} la delimitazione viene fatta con righe vuote -f, --skip-fields=N evita di confrontare i primi N campi -i, --ignore-case ignora le differenze tra maiuscole e minuscole nel confronto -s, --skip-chars=N evita di confrontare i primi N caratteri -u, --unique stampa solo le righe uniche -z, --zero-terminated termina le righe con il byte "0", non con il ritorno a capo � -D, --date-format=FORMATO usa FORMATO per l'intestazione della data -e[CAR[LARGH]], --expand-tabs[=CAR[LARGH]] espande i CAR (TAB) in input in tabulatori di larghezza LARGH (8) -F, -f, --form-feed usa i caratteri di avanzamento di pagina invece dei ritorno a capo per separare le pagine (con una intestazione di pagina di 3 righe con -F oppure con una intestazione di 5 righe e trailer senza -F) � -G, --no-group con l'elenco lungo non stampa i nomi dei gruppi -h, --human-readable con -l, stampa le dimensioni in formato leggibile (es.: 1K 234M 2G) --si similmente, ma usa multipli di 1000, non 1024 � -H, --dereference-command-line segue i collegamenti simbolici elencati sulla riga di comando --dereference-command-line-symlink-to-dir segue ciascun collegamento simbolico nella riga di comando che punta a una directory --hide=MODELLO non elenca le voci corrispondenti al MODELLO della shell (annullato da -a o -A) � -I chiede una volta prima di rimuovere più di tre file, o quando rimuove ricorsivamente. Meno intrusivo di -i, ma fornisce ancora protezione contro la maggior parte degli errori --interactive[=QUANDO] chiede secondo QUANDO: mai, una volta (-I), o sempre (-i). Senza QUANDO, chiede sempre � -L FILE FILE esiste ed è un collegamento simbolico (come -h) -O FILE FILE esiste ed è posseduto dall'id utente efficace -p FILE FILE esiste ed è una pipe con nome -r FILE FILE esiste ed è leggibile -s FILE FILE esiste ed ha dimensione maggiore di zero � -L, --logical usa PWD dall'ambiente, anche se contiene collegamenti simbolici -P, --physical evita tutti i collegamenti simbolici � -R, -r, --recursive copia le directory ricorsivamente --reflink[=WHEN] controlla le copie clone/CoW copies. Consultare in basso --remove-destination rimuove ogni file di destinazione esistente prima di cercare di aprirlo (al contrario con --force) � -S ordina secondo le dimensioni dei file --sort=TIPO ordina per TIPO invece che per nome: none -U, extension -X, size -S, time -t, version -v --time=TIPO con -l, usa il TIPO di orario invece che quello di modifica: atime -u, access -u, use -u, ctime -c, o status -c; se --sort=time usa l'orario specificato come chiave di ordinamento � -S FILE FILE esiste ed è un socket -t [FD] il file descriptor FD è aperto su un terminale -u FILE FILE esiste ed ha il proprio bit set-user-ID impostato -w FILE FILE esiste ed è scrivibile -x FILE FILE esiste ed è eseguibile o ricercabile � -T, --omit-pagination omette intestazioni e piè di pagina, elimina qualsiasi impaginazione dai caratteri di avanzamento pagina impostati nei file in input -v, --show-nonprinting usa la notazione ottale per il backslash -w, --width=LARGH_PAG imposta la larghezza della pagina a LARGH_PAG (72) caratteri solo per output multipli testo-colonna, -s[char] la disattiva (72) � -T, -w, --mesg aggiunge lo stato dei messaggi dell'utente come +, - o ? -u, --users elenca gli utenti collegati --message come -T --writable come -T � -W, --page-width=LARGH_PAG imposta la larghezza della pagina sempre su LARGH_PAG (72) caratteri, tronca le righe, a meno che sia impostata l'opzione -J, non interferisce con -S o -s � -W, --word-regexp=REGEXP usa REGEXP per trovare ogni parola chiave -b, --break-file=FILE caratteri di separazione delle parole in questo FILE -f, --ignore-case cambia minuscole in maiuscole per l'ordinamento -g, --gap-size=NUMERO dimensione dello spazio fra le colonne tra i campi in output -i, --ignore-file=FILE legge l'elenco delle parole da ignorare da FILE -o, --only-file=FILE legge l'elenco delle parole da considerare da questo FILE � -Z, --context=CTX imposta il contesto di sicurezza SELinux di NOME in CTX � -Z, --context=CTX imposta il contesto di sicurezza SELinux di ciascun NOME in CTX � -a cambia solo l'orario di accesso -c, --no-create non crea alcun file -d, --date=STRINGA usa STRINGA invece che l'orario attuale -f (ignorato) � -a, --across stampa le colonne orizzontalmente invece che verticalmente, usato con -COLONNE -c, --show-control-chars usa la notazione con l'accento circonflesso (^G) e la notazione ottale con il backslash -d, --double-space raddoppia l'interlinea nell'output � -a, --all non nasconde le voci che iniziano con . -A, --almost-all non elenca le voci . e .. --author con -l stampa l'autore di ogni file -b, --escape stampa escape in stile C per i caratteri non grafici � -a, --all converte tutti gli spazi invece di convertire solo quelli iniziali --first-only converte solo le sequenze iniziali di spazi (prevale su -a) -t, --tabs=N imposta i tabulatori ogni N caratteri invece di 8 (abilita -a) -t, --tabs=ELENCO usa un ELENCO di posizioni di tabulazione separate da virgola (abilita -a) � -a, --archive come -dR --preserve=all --attributes-only non copia i dati del file, solo gli attributi --backup[=TIPO] fa il backup di ogni file di destinazione esistente -b come --backup ma non accetta un argomento --copy-contents quando agisce ricorsivamente copia il contenuto dei file speciali -d come --no-dereference --preserve=links � -b, --before aggiunge il separatore prima anziché dopo -r, --regex interpreta il separatore come espressione regolare -s, --separator=STRINGA utilizza STRINGA come separatore anziché il carattere di ritorno a capo � -b, --binary legge in modalità binaria � -b, --binary legge in modalità binaria (predefinito se non si legge dal tty stdin) � -b, --body-numbering=STILE usa STILE per numerare le righe del corpo -d, --section-delimiter=CC usa CC per separare le pagine logiche -f, --footer-numbering=STILE usa STILE per numerare le righe dei piè di pagina � -b, --bytes conta i byte invece delle colonne -s, --spaces interrompe se si incontrano spazi -w, --width=LARG usa LARG colonne invece di 80 � -b, --bytes=ELENCO seleziona solo questi byte -c, --characters=ELENCO seleziona solo questi caratteri -d, --delimiter=DELIM usa DELIM invece di TAB come delimitatore di campo � -b, --ignore-leading-blanks ignora gli spazi iniziali -d, --dictionary-order considera solo spazi e caratteri alfanumerici -f, --ignore-case ignora le differenze tra caratteri minuscoli e maiuscoli � -c --format=FORMATO usa il FORMATO specificato invece di quello predefinito; stampa un ritorno a capo dopo ogni uso del FORMATO --printf=FORMATO come --format, ma interpreta le protezioni con "\" (backslash), e non stampa il ritorno a capo finale obbligatorio. Per inserire un ritorno a capo, includere \n nel FORMATO -t, --terse stampa le informazioni in modo conciso � -c, --bytes=K stampa gli ultimi K byte; alternativamente, usare -c +K per stampare i byte che iniziano con il K-esimo di ciascun file � -c, --check legge le somme %s dai FILE e le controlla � -c, --check, --check=diagnose-first controlla se l'input è ordinato; non ordina -C, --check=quiet, --check=silent come -c, ma non segnala la prima riga errata --compress-program=PROG comprime i file temporanei con PROG; li decomprime con PROG -d � -c, --count mostra il numero di occorrenze all'inizio di ogni riga -d, --repeated stampa solo le righe duplicate � -c, --crown-margin mantiene il rientro delle prime due righe -p, --prefix=STRINGA riformatta solo le righe che iniziano con STRINGA, inserendo il prefisso alle righe riformattate -s, --split-only divide le righe lunghe, ma non le riempie nuovamente � -c, --no-create non crea alcun file � -d, --decode decodifica i dati -i, --ignore-garbage durante la decodifica ignora i caratteri non alfabetici -w, --wrap=COL manda a capo le righe codificate dopo COL caratteri (predefinito 76). Usare 0 per disabilitare l'andata a capo � -d, --delimiters=ELENCO riutilizza i caratteri da ELENCO invece dei TABulatori -s, --serial incolla un file alla volta invece che in parallelo � -d, --directory crea una directory, non un file -u, --dry-run non crea nulla; stampa solo un nome (insicuro) -q, --quiet sopprime la diagnostica su fallimenti di creazione file/dir � -e abilita l'interpretazione dei caratteri protetti da backslash -E disabilita l'interpretazione dei caratteri protetti da backslash (predefinito) � -e abilita l'interpretazione dei caratteri protetti da backslash (predefinito) -E disabilita l'interpretazione dei caratteri protetti da backslash � -e, --echo tratta ciascun ARG come riga di input -i, --input-range=BASSO-ALTO tratta ciascun numero da BASSO ad ALTO come riga di input -n, --head-count=RIGHE mostra al più RIGHE righe -o, --output=FILE scrive i risultati in FILE invece dello standard output --random-source=FILE prende byte casuali da FILE -z, --zero-terminated termina le righe con il byte 0, non con il ritorno a capo � -f omette l'intestazione delle colonne nel formato breve -w omette il nome completo dell'utente nel formato breve -i omette il nome completo e l'host remoto nel formato breve -q omette il nome completo, l'host remoto e il tempo di inattività nel formato breve � -f come -t fF, seleziona numeri in virgola mobile -i come -t dI, seleziona interi decimali -l come -t dL, seleziona decimali lunghi -o come -t o2, seleziona unità da 2 byte ottali -s come -t d2, seleziona unità da 2 byte decimali -x come -t x2, seleziona unità da 2 byte esadecimali � -f FILE FILE esiste ed è un file regolare -g FILE FILE esiste ed è set-group-ID -G FILE FILE esiste ed è posseduto dall'id di gruppo efficace -h FILE FILE esiste ed è un collegamento simbolico (come -L) -k FILE FILE esiste ed ha il suo sticky bit impostato � -f, --canonicalize mette in forma canonica seguendo ogni collegamento simbolico ricorsivamente su ogni componente del nome dato; tranne l'ultimo componente, tutti devono esistere -e, --canonicalize-existing mette in forma canonica seguendo ogni collegamento simbolico ricorsivamente su ogni componente del nome dato; tutti i componenti devono esistere � -f, --fields=ELENCO seleziona solo questi campi; inoltre stampa qualsiasi riga che non contiene alcun carattere delimitatore, a meno che non sia specificata l'opzione -s -n (ignorato) � -f, --follow[={name|descriptor}] aggiunge dati di output man mano che il file cresce; -f, --follow, e --follow=descriptor sono equivalenti -F lo stesso di --follow=name --retry � -f, --force se necessario cambia i permessi per permettere la scrittura -n, --iterations=N sovrascrive N volte invece che le %d predefinite --random-source=FILE prende i byte casuali da FILE -s, --size=N distrugge solo N byte (sono accettati suffissi come K, M e G) � -g come -l, ma non elenca il proprietario � -g GID[,GID1...] imposta anche l'id di gruppo primario come il numero GID, e (se specificati) gli ID dei gruppi supplementari come GID1, ... � -h, --header-numbering=STILE usa STILE per numerare le righe di intestazione -i, --line-increment=NUMERO incrementa il numero di riga a ogni riga -l, --join-blank-lines=NUMERO un gruppo di NUMERO righe vuote viene contato come una -n, --number-format=FORMATO inserisce numeri di riga secondo FORMATO -p, --no-renumber non reimposta i numeri di riga alle pagine logiche -s, --number-separator=STRINGA aggiunge STRINGA dopo l'eventuale numero di riga � -h, --header=INTESTAZIONE usa un'INTESTAZIONE centrata invece del nome del file nell'intestazione, -h "" stampa una riga vuota, non usare -h"" -i[CAR[LARGH]], --output-tabs[=CAR[LARGH]] sostituisce gli spazi con CAR (TAB) alla LARGHezza dei tabulatori (8) -J, --join-lines unisce righe complete, disattiva il troncamento della riga -W, non allinea le colonne, --sep-string[=STRINGA] imposta i separatori � -h, --human-numeric-sort confronta numeri in formato leggibile umano (es.: 2K 1G) � -h, --no-dereference agisce sui collegamenti simbolici invece che sui file a cui si riferiscono (utile solo sui sistemi che possono cambiare la data di un collegamento simbolico) -m cambia solo l'orario di modifica � -i, --initial non converte i tabulatori dopo caratteri che non sono spazi -t, --tabs=NUM imposta le tabulazioni a distanza di NUM caratteri, non 8 � -i, --inodes elenca informazioni sugli inode invece che sui blocchi -k come --block-size=1K -l, --local limita l'elenco ai file system locali --no-sync non fa sync prima di recuperare le informazioni (predefinito) � -i, --input=MODO modifica il buffering del flusso standard input -o, --output=MODO modifica il buffering del flusso standard output -e, --error=MODO modifica il buffering del flusso standard error � -l usa un formato di elenco lungo -L, --dereference quando mostra le informazioni su un collegamento, simbolico, mostra le informazioni sul file a cui si riferisce invece che sul collegamento stesso -m elenca le voci separandole con virgole � -l, --length=LUNGH_PAG imposta la lunghezza della pagina a LUNGH_PAG (66) righe (numero predefinito di righe di testo 56, e con -F 63) -m, --merge stampa tutti i file in parallelo, uno in ciascuna colonna, tronca le righe, ma unisce le righe di lunghezza piena con -J � -l, --link crea i collegamenti fisici dei file invece di copiarli -L, --dereference segue sempre i collegamenti simbolici in ORIGINE � -l, --login stampa i processi di accesso del sistema � -m, --mode=MODO imposta i bit dei permessi del file come MODO, non a=rw - umask � -m, --mode=MODO imposta i permessi (come in chmod), non a=rwx - umask -p, --parents nessun errore se esiste, crea la directory padre se necessario -v, --verbose stampa un messaggio per ogni directory creata -Z, --context=CTX imposta il contesto di sicurezza SELinux di ciascuna directory creata a CTX � -n, --digits=CIFRE utilizza il numero di cifre specificato invece di 2 -s, --quiet, --silent non stampa il conteggio delle dimensioni dei file di output -z, --elide-empty-files rimuove i file di output vuoti � -n, --lines=K stampa le ultime K righe, invece delle ultime %d o usa -n +K per stampare le righe dalla K-esima --max-unchanged-stats=N con --follow=nome, riapre un FILE che non ha cambiato dimensione dopo N iterazioni (predefinite %d) per vedere se è stato rimosso o rinominato (questo è il caso normale dei file di log che ruotano). Con inotify, questa opzione è raramente utile � -n, --no-clobber non sovrascrive un file esistente (prevale su una precedente opzione -i) -P, --no-dereference non segue mai i collegamenti simbolici in ORIGINE � -n, --numeric-sort confronta secondo il valore numerico delle stringhe -R, --random-sort ordina con un hash casuale di chiavi --random-source=FILE prende byte casuali da FILE -r, --reverse inverte il risultato dei confronti � -n, --numeric-uid-gid come -l, ma elenca gli id utente e di gruppo -N, --literal stampa i nomi grezzi (es.: non tratta in modo speciale i caratteri di controllo) -o come -l, ma non elenca le informazioni sul gruppo -p, --indicator-style=slash appende / come indicatore alle directory � -n[SEP[NUM]], --number-lines[=SEP[NUM]] numera le righe, usa NUM (5) cifre, poi SEP (TAB), il valore predefinito nella numerazione inizia con la prima riga del file in input -N, --first-line-number=NUMERO inizia la numerazione con NUMERO alla prima riga della prima pagina stampata (consultare +FIRST_PAGE) � -o, --indent=MARGINE sposta ogni riga di MARGINE (zero) spazi, non influenza -w o -W, MARGINE sarà sommato a LARGH_PAG -r, --no-file-warnings omette l'avviso quando un file non può essere aperto � -o, --io-blocks tratta DIM come un numero di blocchi di IO invece di byte � -o, --output=FILE scrive i risultati in FILE invece dello standard output -s, --stable stabilizza sort disabilitando il confronto "last-resort" -S, --buffer-size=DIM usa DIM per il buffer della memoria principale � -p come --preserve=mode,ownership,timestamps --preserve[=ELENCO_ATTR] preserva gli attributi specificati (predefinito: mode,ownership,timestamps), se possibile gli attributi addizionali: context, links, xattr, all � -p DIR usa DIR come prefisso; implica -t [deprecato] -t interpreta MODELLO come una singola parte del nome di un file, relativo a una directory: $TMPDIR, se impostata, altrimenti la directory specificata con -p, altrimenti /tmp [deprecato] � -p, --preserve-timestamps applica le date di accesso/modifica dei file di ORIGINE ai file di destinazione corrispondenti -s, --strip esegue lo strip delle tabelle dei simboli --strip-program=PROGR programma usato per eseguire lo strip dei file binari -S, --suffix=SUFF cambia il normale suffisso dei backup -t, --target-directory=DIRECTORY copia tutti gli argomenti ORIGINE in DIRECTORY -T, --no-target-directory tratta DEST come un file normale -v, --verbose stampa il nome di ogni directory creata � -q, --count tutti i nomi di accesso e il numero di utenti connessi -r, --runlevel stampa il runlevel attuale -s, --short stampa solo il nome, la riga e l'orario (predefinito) -t, --time stampa l'ultima modifica dell'orologio di sistema � -q, --quiet, --silent non stampa mai le intestazioni che riportano i nomi dei file -v, --verbose stampa sempre le intestazioni che riportano i nomi dei file � -r, --reference=FILE visualizza l'orario dell'ultima modifica di FILE -R, --rfc-2822 stampa data e ora conforme al formato RFC 2822. Esempio: Mon, 07 Aug 2006 12:34:56 +0200 � -r, --reference=RFILE basa la dimensione su RFILE -s, --size=DIM imposta o modifica la dimensione del file a questa DIMensione � -r, --references il primo campo di ciascuna riga è un riferimento -t, --typeset-mode (non implementato) -w, --width=NUMERO stampa la larghezza in colonne, esclusi i riferimenti � -r, --reverse inverte il senso dell'ordinamento -R, --recursive elenca ricorsivamente le sottodirectory -s, --size stampa la dimensione allocata in blocchi di ogni file � -s, --only-delimited non stampa le righe che non contengono delimitatori --output-delimiter=STRING utilizza STRING come delimitatore di output il comportamento predefinito è di utilizzare il delimitatore di input � -s, --signal=SEGNALE, -SEGNALE specifica il nome o numero del segnale da inviare -l, --list elenca i nomi dei segnali, o li converte da/in numeri -t, --table stampa una tabella di informazioni sui segnali � -s, --sleep-interval=N con -f, si ferma per circa N secondi (predefinito 1.0) tra le iterazioni. Con inotify e --pid=P, controlla il processo P almeno una volta ogni N secondi -v, --verbose stampa sempre le intestazioni fornendo i nomi dei file � -s, --symbolic-link crea collegamenti simbolici invece di copiare -S, --suffix=SUFFISSO prevale sul normale suffisso dei backup --target-directory=DIRECTORY copia ogni ORIGINE in DIRECTORY -T, --no-target-directory tratta DEST come un file normale � -s[CAR],--separator[=CAR] separa le colonne con un singolo carattere, quello predefinito è il «TAB» senza -w, e «carattere vuoto» con -w -s[CAR] disattiva l'interruzione di riga per le tre opzioni di colonna (-COLONNA|-a -COLONNA|-m), a meno che sia impostato -w � -t ordina secondo l'orario di modifica, prima il più recente -T, --tabsize=COL assume che le tabulazioni siano ad ogni COL invece di 8 � -t equivalente a -vT -T, --show-tabs mostra i caratteri TAB come ^I -u (ignorato) -v, --show-nonprinting usa la notazione ^ e M-, eccetto che per LFD e TAB � -t, --field-separator=SEP usa SEP invece delle transizioni da non spazio a spazio -T, --temporary-directory=DIR usa DIR per i file temporanei, non $TMPDIR o %s; opzioni multiple specificano directory multiple --parallel=N cambia il numero di esecuzioni di ordinamenti concorrenti a N -u, --unique con -c, controlla per un ordinamento rigido; senza -c, mostra solo il primo di una sequenza uguale � -t, --tabs=ELENCO usa un ELENCO di posizioni esplicite di tabulatori separata da virgole � --target-directory=DIRECTORY sposta ogni ORIGINE nella DIRECTORY -T, --no-target-directory considera DEST come un file normale -u, --update sposta solo quando ORIGINE è più recente del file di destinazione o questo è mancante -v, --verbose spiega cosa sta facendo � -t, --text legge in modalità testo (predefinito leggendo da tty stdin) � -t, --text legge in modalità testo (predefinito) � -u con -lt; ordina secondo l'orario di accesso e lo mostra con -l mostra l'orario di accesso e ordina per nome altrimenti ordina secondo l'orario di accesso -U non ordina; elenca le voci nell'ordine della directory -v ordina naturalmente secondo i numeri (di versione) nel testo � -u, --remove tronca e rimuove il file dopo la sovrascrittura -v, --verbose indica il progresso -x, --exact non arrotonda le dimensioni del file fino all'intero blocco (predefinito per i file non regolari) -z, --zero aggiunge una sovrascrittura finale con zeri per nascondere la distruzione � -u, --update copia solo quando ORIGINE è più recente del file di destinazione o questo è mancante -v, --verbose spiega cosa sta facendo -x, --one-file-system rimane su questo file system � -v NUMFILE come -a NUMFILE, ma elimina le righe di output unite -1 CAMPO unisce in questo CAMPO del file 1 -2 CAMPO unisce in questo CAMPO del file 2 --check-order controlla che l'input sia ordinato correttamente, anche se tutte le righe in input possono essere accoppiate --nocheck-order non controlla che l'input sia ordinato correttamente --header tratta la prima riga in ciascun file come intestazione dei campi, stampandole senza provare ad accoppiarle � -v, --kernel-version stampa la versione del kernel -m, --machine stampa il nome dell'hardware della macchina -p, --processor stampa il tipo di processore o "unknown" -i, --hardware-platform stampa la piattaforma hardware o "unknown" -o, --operating-system stampa il sistema operativo � -v, --starting-line-number=NUMERO NUMERO della prima riga in ogni pagina logica -w, --number-width=NUMERO utilizza NUMERO colonne per i numeri di riga � -w, --check-chars=N non confronta più di N caratteri nelle righe � -w, --width=COL considera lo schermo largo COL invece del valore attuale -x elenca le voci per righe invece che per colonne -X ordina alfabeticamente secondo le estensioni -Z, --context stampa il contesto di sicurezza SELinux di ogni file -1 elenca un file per riga � -z, --zero-terminated termina le righe con il byte 0, invece del ritorno a capo � File: "%n" ID: %-8i Lunghezza: %-7l Tipo: %T Dim. blocco: %-10s Dim. blocco fondamentale: %S Blocchi: Totale: %-10b Lib.: %-10f Disponib.: %a Inode : Totale: %-10c Lib.: %d � File: %N Dim.: %-10s Blocchi: %-10b Blocco di IO: %-6o %F � Anche i processi in uno stato non interrompibile di riposo contribuiscono al carico medio. � [:graph:] tutti i caratteri stampabili, senza spazi [:lower:] tutti i caratteri in minuscolo [:print:] tutti i caratteri stampabili, compresi gli spazi [:punct:] tutti i caratteri di punteggiatura [:space:] tutti gli spazi orizzontali o verticali [:upper:] tutti i caratteri in maiuscolo [:xdigit:] tutte le cifre esadecimali [=CAR=] tutti i caratteri equivalenti a CAR � \0NNN byte con valore ottale NNN (da 1 a 3 cifre) \xHH byte con valore esadecimale HH (da 1 a 2 cifre) � \NNN byte il cui valore ottale è NNN (da 1 a 3 cifre) \xHH byte il cui valore esadecimale è HH (1 o 2 cifre) \uHHHH carattere Unicode (ISO/IEC 10646) il cui valore esadecimale è HHHH (4 cifre) \UHHHHHHHH carattere Unicode il cui valore esadecimale è HHHHHHHH (8 cifre) � \\ backslash \a avviso (BEL) \b backspace \c non produce ulteriore output \e escape \f avanzamento pagina \n ritorno a capo \r ritorno carrello \t tabulazione orizzontale \v tabulazione verticale � \v tabulazione verticale CAR1-CAR2 tutti i caratteri da CAR1 fino a CAR2 in ordine crescente [CAR*] copia CAR su SET2 tante volte quanto la lunghezza di SET1 [CAR*NUM] NUM copie di CAR, NUM è ottale se inizia con 0 [:alnum:] tutte le lettere e numeri [:alpha:] tutte le lettere [:blank:] tutti gli spazi orizzontali [:cntrl:] tutti i caratteri di controllo [:digit:] tutti i numeri � binary utilizza I/O binario per i dati � cio utilizza I/O concorrente per i dati � d[DIM] decimale con segno, DIM byte per intero f[DIM] virgola mobile, DIM byte per intero o[DIM] ottale, DIM byte per intero u[DIM] decimale senza segno, DIM byte per intero x[DIM] esadecimale, DIM byte per intero � direct utilizza I/O diretto per i dati � directory fallisce a meno che non sia una directory � dsync utilizza I/O sincronizzato per i dati � excl fallisce se il file di output già esiste nocreat non crea il file di output notrunc non effettua il troncamento del file di output noerror continua dopo errori di lettura fdatasync scrive fisicamente i dati del file di output prima di finire fsync similmente, ma scrive anche i metadati � fullblock accumula blocchi pieni di input (solo iflag) � noatime non aggiorna l'orario di accesso � nocache scarta i dati nella cache � noctty non assegna il controllo del terminale da file � nofollow non segue i collegamenti simbolici � nolinks fallisce per collegamenti multipli � nonblock utilizza I/O non bloccante � none, off non fa mai backup (anche se è specificato --backup) numbered, t fa backup numerati existing, nil numerati se esistono backup numerati, altrimenti semplici simple, never fa sempre backup semplici � sync similmente, ma anche per metadati � text utilizza I/O testuale per i dati � %H.%M%P � (backup: %s)� * [-]iuclc converte i caratteri maiuscoli in minuscoli * [-]ixany permette a qualsiasi carattere di far ripartire l'output, non solo al carattere di start [-]ixoff abilita l'invio dei caratteri di start/stop [-]ixon abilita il controllo di flusso XON/XOFF [-]parmrk indica gli errori di parità (con una sequenza 255-0-carattere) [-]tandem come [-]ixoff � * [-]iutf8 assume che i caratteri in ingresso siano codificati UTF-8 � * [-]ocrnl converte ritorno carrello in ritorno a capo * [-]ofdel usa per il riempimento caratteri di delete invece di null * [-]ofill usa caratteri di riempimento (padding) invece di temporizzazioni per i ritardi * [-]olcuc converte i caratteri minuscoli in maiuscoli * [-]onlcr converte ritorno a capo in ritorno carrello-ritorno a capo * [-]onlret ritorno a capo esegue un ritorno carrello � * [-]onocr non stampa i ritorno carrello nella prima colonna [-]opost postprocessa l'output * tabN stile del ritardo del tabulatore orizzontale, N in [0..3] * tabs come tab0 * -tabs come tab3 * vtN stile del ritardo del tabulatore verticale, N in [0..1] � * eol2 CAR CAR alternativo per terminare la riga erase CAR CAR cancellerà l'ultimo carattere digitato intr CAR CAR invierà un segnale di interrupt kill CAR CAR cancellerà la riga corrente � * lnext CAR CAR inserirà il carattere successivo in modo letterale quit CAR CAR invierà un segnale di quit * rprnt CAR CAR ridisegnerà la riga corrente start CAR CAR farà ripartire l'output dopo averlo fermato � * rows N dice al kernel che il terminale ha N righe * size stampa il numero di righe e colonne secondo il kernel speed stampa la velocità del terminale time N con -icanon, imposta a N decimi di secondo il timeout in lettura � ??.???? � TTY� contesto=%s� gruppi=� fa � su ripetizione %s �% 1% di memoria, b 1, K 1024 (predefinito), e così via per M, G, T, P, E, Z, Y. Senza FILE, o quando FILE è -, legge lo standard input. *** ATTENZIONE *** Il locale specificato dall'ambiente influisce sull'ordinamento. Impostare LC_ALL=C per avere l'ordinamento tradizionale che usa i valori nativi dei byte. �%.*s: specificatore di conversione non valido�%e %b %Y�%e %b %H.%M�%lu utente�%lu utenti�%s (per regexp %s)�%s -> %s (annullamento backup) �%s [-d] terminato in modo anomalo�%s e %s sono lo stesso file�%s esiste ma non è una directory�%s è comparso; si sta seguendo la fine del nuovo file�%s è divenuto accessibile�%s è diventato inaccessibile�%s è stato sostituito con un file remoto; operazione annullata per questo nome�%s è stato sostituito con un file su cui non è possibile eseguire tail; operazione annullata per questo nome�%s è stato sostituito; si sta seguendo la fine del nuovo file�%s presenta un tipo di file sconosciuto�%s non è usabile, apparentemente ha dimensioni negative�Sito web di %s: <%s> �Sito web di %s: <http://www.gnu.org/software/%s/> �%s non è un intero positivo valido�%s è troppo grande�%s può essere usato solo su un kernel SElinux�era specificato %s ma non %s�%s: %s è così grande che è impossibile rappresentarlo�%s: %s: numero di riga fuori dall'intervallo�%s: %s: corrispondenza non trovata�%s: %s:%s: fuori ordine: �%s: apertura o lettura NON RIUSCITA �%s: atteso un operatore binario�%s: è possibile creare collegamenti simbolici relativi solo nella directory corrente�%s: impossibile cambiare il modo non bloccante�%s: impossibile determinare la dimensione del file�%s: impossibile trovare il nome per l'id utente %lu �%s: non si può continuare fino alla fine di questo tipo di file; elaborazione terminata per questo nome�%s: impossibile fare lseek alla posizione originale�%s: impossibile sovrascrivere una directory�%s: impossibile riavvolgere�%s: impossibile fare il seek�%s: impossibile posizionarsi all'offset %s relativo alla fine�%s: impossibile posizionarsi all'offset %s�%s: impossibile posizionarsi all'offset relativo %s�%s: impossibile distruggere un descrittore di file append only�%s: impossibile saltare�%s: impossibile saltare all'offset specificato�%s: impossibile azzerare il modo non bloccante�%s: entrare nella directory %s? �%s: entrare nella directory protetta dalla scrittura %s? �%s: fine del file�%s: l'operando di equivalenza classi deve essere un singolo carattere�%s: errore durante il troncamento�%s: errore di scrittura all'offset %s�%s: atteso un valore numerico�%s: chiusura non riuscita�%s: recupero delle informazioni degli extent non riuscito�%s: apertura per la scrittura non riuscita�%s: rimozione non riuscita�%s: fcntl non riuscito�%s: fdatasync non riuscito�%s: il file ha dimensioni negative�%s: il file si è ridotto eccessivamente�%s: file troppo grande�%s: file troppo lungo�%s: file troncato�%s: fstat non riuscito�%s: fsync non riuscito�%s: non è possibile fare un collegamento fisico a una directory�%s: l'input contiene un ciclo:�%s: l'input contiene un numero dispari di token�%s: il file di input coincide con quello di output�%s: intero atteso dopo il delimitatore�%s: dimensione del blocco di IO non valida�%s: PID non valido�%s: numero di parte non valido�%s: conteggio non valido all'inizio di %s�%s: direttiva non valida�%s: specifica di campo %s non valida�%s: dimensione del file non valida�%s: tipo di file non valido�%s: numero massimo di stat non cambiate tra le aperture non valido�%s: numero non valido�%s: numero di byte non valido�%s: numero di parti non valido�%s: numero di righe non valido�%s: numero di passi non valido�%s: numero di secondi non valido�%s: numero di esclusioni non valido�%s: opzione -- «%c» non valida �%s: modello non valido�%s: id del processo non valido�%s: espressione regolare non valida: %s�%s: segnale non valido�%s: lunghezza del suffisso non valida�%s: il numero di riga deve essere maggiore di zero�%s: numero di riga fuori dall'intervallo�%s: lseek non riuscito�%s: sono stati specificati segnali multipli�%s: i nuovi permessi sono %s, non %s�%s: non è stata trovata alcuna riga del codice di controllo %s formattata correttamente�%s: non ci sono informazioni sulle dimensioni di questo dispositivo�non viene elencata la directory già elencata: %s�%s: il numero di byte è troppo grande�%s: l'opzione «%c%s» non accetta alcun argomento �%s: l'opzione «%s» è ambigua; possibilità:�%s: l'opzione «--%s» non accetta alcun argomento �%s: l'opzione «--%s» richiede un argomento �%s: l'opzione «-W %s» non accetta alcun argomento �%s: l'opzione «-W %s» è ambigua �%s: l'opzione «-W %s» richiede un argomento �%s: l'opzione richiede un argomento -- «%c» �%s: sovrascrivere %s? �%s: passo %lu/%lu (%s)...�%s: passo %lu/%lu (%s)...%s�%s: passo %lu/%lu (%s)...%s/%s %d%%�%s: errore di lettura�%s: rimuovere %s %s? �%s: rimuovere ricorsivamente tutti gli argomenti? �%s: rimuovere tutti gli argomenti? �%s: rimuovere il %s protetto dalla scrittura %s? �%s: rimosso�%s: rimozione�%s: rinominato in %s�%s: sostituire %s? �%s: seek non riuscito�%s: troppe righe del codice di controllo�%s: provare a sovrascrivere %s, ignorando il modo %04lo (%s)? �%s: impossibile determinare la lunghezza massima del nome del file�%s: impossibile eseguire tutte le operazioni richieste�%s: atteso un operatore unario�%s: opzione «%c%s» non riconosciuta �%s: opzione «--%s» non riconosciuta �%s: valore non completamente convertito�%s: errore di scrittura�%s: scrittura non riuscita�%s:%lu: riga non valida; manca il secondo token�%s:%lu: nome di file di lunghezza nulla non valido�%s:%lu: parola chiave non riconosciuta %s�"�atteso ")"�atteso ")", trovato %s�©�* file system che conservano la cache in posizioni temporanee, come i client NFS versione 3 * file system compressi �* file system con logging o journaling come quelli forniti con AIX e Solaris (e JFS, ReiserFS, XFS, ext3, ecc...) * file system che scrivono dati ridondanti e continuano a scrivere anche se alcune scritture falliscono, come i file system basati su RAID * file system che fanno snapshot, come quello dei server NFS di Network Appliance �, carico medio: %.2f�, %g s, %s/s �l'argomento %2$s di --%1$s è troppo grande�--context (-Z) funziona solo su un kernel con SELinux abilitato�--filter non processa una parte estratta in stdout�--reflink può essere usato solo con --sparse=auto�-R --dereference richiede -H o -L�-R -h richiede -P�-ef non accetta -l�-nt non accetta -l�-ot non accetta -l�<interno>�??? �?????�Annullato�Accesso : %x Modifica : %y Cambio : %z Creazione: %w �Accesso: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Famiglia di indirizzi per il nome host non supportata�Sveglia�Completate tutte le richieste�Buffer per l'argomento troppo piccolo�Arnold Robbins�Dispon.�Disponib.�Chiamata di sistema errata�Valore errato per ai_flags�Brian Fox�Pipe interrotta�Errore di bus�ATTENZIONE: ricordare che shred si basa su un importante presupposto, cioè che il file system sovrascriva i dati dove stanno. Questo è il metodo tradizionale, ma molti file system moderni non soddisfano questa ipotesi. Questi sono esempi di file system su cui shred non ha effetto o non è garantito che sia efficace: �COMMENTO�Superato il limite di tempo CPU�Chiama la funzione link per creare un collegamento chiamato FILE2 a un FILE1 esistente. �Chiama la funzione unlink per rimuovere il FILE indicato. �Capacità�Chet Ramey�Processo figlio uscito�Colin Plumb�Confronta i file ordinati FILE1 e FILE2 riga per riga. �Concatena uno o più FILE, o lo standard input, sullo standard output. -A, --show-all equivalente a -vET -b, --number-nonblank numera le righe di output non vuote, prevale su -n -e equivalente a -vE -E, --show-ends visualizza il carattere $ alla fine di ogni riga -n, --number numera tutte le righe in output -s, --squeeze-blank elimina le righe di output vuote ripetute �Contesto: %C �Continuato�Copia lo standard input in ogni FILE e anche sullo standard output. -a, --append accoda ai FILE specificati, non sovrascrive -i, --ignore-interrupts ignora i segnali di interrupt �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Coll.: %-5h Tipo device: %t,%T �Device: %Dh/%dd Inode: %-10i Coll.: %h �Controlla nomi di file non corretti o non portabili. -p controlla la compatibilità con la maggior parte dei sistemi POSIX -P controlla se il nome è vuoto o se inizia con "-" --portability controlla la compatibilità con tutti i sistemi POSIX (equivalente a -p -P) �Directory: �Dmitry V. Levin�Scarta ogni gruppo supplementare, assume l'id utente e di gruppo dell'UTENTE specificato (id numerico o nome utente), ed esegue COMANDO con ciascun ARGOMENTO specificato. Esce con lo stato 111 se incapace di assumere gli id utente e di gruppo richiesti. Altrimenti, esce con lo stato di uscita di COMANDO. Questo programma è utile solo se eseguito da root (id utente zero). �Rilevato EMT�USCITA�Ogni intervallo è uno tra: N N-esimo byte, carattere o campo, contato da 1 N- dal N-esimo byte, carattere o campo, alla fine della riga N-M dal N-esimo al M-esimo byte (incluso), carattere o campo -M dal primo al M-esimo byte (incluso), carattere o campo Senza FILE, o quando FILE è -, legge lo standard input. �Stampa la STRINGA (o le stringhe) sullo standard output. -n non stampa il ritorno a capo finale �Eric Blake�Termina con un codice di stato indicante fallimento.�Termina con un codice di stato indicante successo.�Esce con lo stato determinato dall'ESPRESSIONE. �François Pinard�NON RIUSCITO�DA SISTEMARE: sconosciuto�I fifo non hanno i numeri major e minor del dispositivo�Superato il limite di dimensione file�I file sono creati u+rw e le directory u+rwx, a meno di restrizioni di umask. �File system�Eccezione in virgola mobile�Per la documentazione completa, eseguire: info coreutils "%s invocation" �Per ogni coppia di righe di input con campi di unione identici, scrive una riga sullo standard output. Il campo predefinito di unione è il primo, delimitato da uno spazio bianco. Quando FILE1 o FILE2 (non entrambi) è -, legge lo standard input. -a NUMFILE stampa anche le righe non accoppiabili da NUMFILE, dove NUMFILE è 1 o 2. corrispondente a FILE1 o FILE2 -e VUOTO sostuituisce i campi di input mancanti con VUOTO �Forza la scrittura su disco dei blocchi cambiati, aggiorna il super block. �Aiuto sull'uso del software GNU in generale: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Chiusura�I/O consentito�INATTIVO�ILiberi�IUso%�IUsati�Ian Lance Taylor�Inatt.�Se FILE non è specificato, usa %s. %s è comunemente usato come FILE. �Istruzione non consentita�Inoltre, i backup dei file system e i mirror remoti possono contenere copie del file impossibili da rimuovere e che permetterebbero di recuperare un file distrutto. �Nella vita reale: �Nel caso di file system ext3, la liberatoria precedente si applica (e shred ha così un'efficacia limitata) solo nel modo data=journal, che effettua il journaling dei dati dei file in aggiunta ai soli metadati. In entrambi i modi data=ordered (predefinito) e data=writeback, shred lavora come al solito. I modi di journaling di ext3 possono essere cambiati aggiungendo l'opzione data=qualcosa alle opzioni di mount per un particolare file system nel file /etc/fstab, come documentato nella pagina del manuale di mount (man mount). �B illimitato�Richiesta informazioni�Inode�Interruzione�Interrotta da un segnale�Riferimento all'indietro non valido�Nome della classe di caratteri non valido�Carattere di collazione non valido�Contenuto di \{\} non valido�Espressione regolare precedente non valida�Fine dell'intervallo non valida�Espressione regolare non valida�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Ucciso�LINEA�ACCESSO�Accesso�Nome di accesso: �Mark Kettenis�Matthew Bradburn�Fallimento nell'allocazione della memoria�Memoria esaurita�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Montato su�NOME�Nome�Nome o servizio sconosciuto�Nessun indirizzo associato al nome host�Nessuna corrispondenza�Nessuna espressione regolare precedente�Fallimento irrecuperabile nella risoluzione del nome�OK�Solo una stringa può essere fornita durante la cancellazione senza omissione delle ripetizioni.�Opzioni di ordinamento: �Altre opzioni: �Stampa i comandi per impostare la variabile di ambiente LS_COLORS Determina il formato dell'output: -b, --sh, --bourne-shell stampa istruzioni per la Bourne shell -c, --csh, --c-shell stampa istruzioni per la C shell -p, --print-database stampa le impostazioni predefinite �Stampa i limiti dipendenti dalla piattaforma in un formato utile per gli script di shell. �Stampa chi è attualmente connesso basandosi su FILE. Se FILE non è specificato, usa %s. %s è comunemente usato come FILE. �PID�Impacchettato da %s �Impacchettato da %s (%s) �Padraig Brady�Stringa dei parametri codificata non correttamente�Paul Eggert�Paul Rubin�Pete TerMaat�Piano: �Mancanza alimentazione elettrica�Fine prematura dell'espressione regolare�Stampa gli ARGOMENTI secondo il FORMATO, o esegue secondo OPZIONE: �Stampa il checksum CRC e la dimensione in byte di ogni FILE. �Stampa alcune informazioni sul sistema. Senza una OPZIONE è come -s. -a, --all stampa tutte le informazioni, nel seguente ordine: omettendo -p e -i se sconosciute: -s, --kernel-name stampa il nome del kernel -n, --nodename stampa il nome host del nodo di rete -r, --kernel-release stampa il rilascio del kernel �Stampa il codice di controllo e il numero dei blocchi per ogni FILE. -r usa l'algoritmo di somma BSD, usa blocchi da 1K -s, --sysv usa l'algoritmo di somma System V, usa blocchi da 512 byte �Stampa le appartenenze ai gruppi per ogni NOMEUTENTE o, se non ne è specificato alcuno, sul processo corrente (che potrebbe essere diverso se il database dei gruppi è cambiato). �Stampa le informazioni sugli utenti che sono attualmente nel sistema. �Stampa l'architettura della macchina. �Stampa il numero di righe, parole e caratteri per ogni FILE e una riga di riepilogo se viene specificato più di un FILE. Senza FILE, o quando FILE è -, legge lo standard input. Una parola è una sequenza non vuota di caratteri delimitata da spazi. Le opzioni in basso possono essere usate per selezionare quali numeri stampare, sempre nel seguente ordine: righe, parole, caratteri, byte, lunghezza della riga più lunga. -c, --bytes stampa il numero di byte -m, --chars stampa il numero di caratteri -l, --lines stampa il numero di righe �Stampa l'orario corrente, da quanto tempo il sistema è attivo, il numero di utenti sul sistema e il numero medio di processi nella coda di esecuzione negli ultimi 1, 5 e 15 minuti.�Stampa il nome del file del terminale connesso allo standard input. -s, --silent, --quiet non stampa niente, restituisce solo uno stato d'uscita �Stampa il nome del file completo della directory di lavoro corrente. �Stampa il nome dell'utente corrente. �Stampa il numero delle unità di elaborazione disponibili per il processo corrente, che può essere inferiore al numero dei processori disponibili �Stampa i fattori primi di tutti i NUMERI interi specificati. Se non sono specificati sulla riga di comando, li legge da standard input. �Stampa il nome dell'utente associato all'attuale id utente efficace. Come id -un. �Stampa informazioni sull'utente e sul gruppo di NOMEUTENTE o (se NOMEUTENTE è omesso) dell'utente corrente. -a ignorato, per compatibilità con altre versioni -Z, --context stampa solo il contesto di sicurezza dell'utente corrente -g, --group stampa solo l'id efficace del gruppo -G, --groups stampa gli id di tutti i gruppi -n, --name stampa un nome invece di un numero, per -ugG -r, --real stampa l'id reale invece dell'id efficace, con -ugG -u, --user stampa solo l'id efficace dell'utente �Stampa il valore del collegamento simbolico o il nome canonico del file �Elaborazione della richiesta in corso�Timer di profiling terminato�Progetto: �Q. Frank Xia�Uscita�Randy Smith�Segnale in tempo reale %d�Espressione regolare troppo grande�Rimuove le DIRECTORY, se vuote. --ignore-fail-on-non-empty ignora ogni errore causato dal solo fatto che la directory non è vuota �Segnalare i bug di %s a: <%s> �Segnalare i bug di traduzione di %s a <tp@lists.linux.it> �Richiesta annullata�Richiesta non annullata�Risorsa persa�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Esegue il COMANDO con la root directory impostata a NUOVAROOT. �Esegue il COMANDO, ignorando i segnali di sospensione. �Russell Coker�Scott Bartram�Scott Miller�Errore di segmentazione�Servname non supportato per ai_socktype�Impostare LC_ALL='C' per aggirare il problema.�Shell: �Simon Josefsson�Dim.�I file speciali richiedono i numeri major e minor del dispositivo�Errore sullo stack�Fermato�Fermato (segnale)�Fermato (input da terminale)�Fermato (output da terminale)�Stuart Kemp�Successo�Errore di sistema�ORA�Fallimento temporaneo nella risoluzione del nome�Terminato�Le stringhe confrontate erano %s e %s.�Torbjorn Granlund�Rilevato trace/breakpoint�Backslash finale�Traduce, comprime o elimina caratteri dallo standard input, scrivendo sullo standard output. -c, -C, --complement complementa SET1 -d, --delete elimina i caratteri in SET1 senza tradurre -s, --squeeze-repeats sostituisce ogni sequenza di un carattere ripetuto che è elencato in SET1 con una singola occorrenza di quel carattere -t, --truncate-set1 tronca prima SET1 alla lunghezza di SET2 �Due stringhe devono essere fornite durante la cancellazione e l'omissione delle ripetizioni.�Devono essere fornite due stringhe durante la traduzione.�Tipo�Ulrich Drepper�Errore sconosciuto�Segnale sconosciuto %d�Errore di sistema sconosciuto�( o \( non accoppiata�) o \) non accoppiata�[ o [^ non accoppiata�\{ non accoppiata�Condizione di I/O urgente�Uso: %s �Uso: %s COMANDO [ARG]... o: %s OPZIONE �Uso: %s CONTESTO COMANDO [argomenti] o: %s [ -c ] [-u UTENTE] [-r RUOLO] [-t TIPO] [-l INTERVALLO] COMANDO [argomenti] �Uso: %s ESPRESSIONE o: %s OPZIONE �Uso: %s FILE o: %s OPZIONE �Uso: %s FILE1 FILE2 o: %s OPZIONE �Uso: %s FORMATO [ARGOMENTO]... o: %s OPZIONE �Uso: %s [OPZIONE]... COMANDO �Uso: %s OPZIONE... [FILE]... �Uso: %s [OPZIONE]... [FILE]... �Uso: %s [-F DEVICE] | --file=DEVICE] [IMPOSTAZIONE]... or: %s [-F DEVICE] | --file=DEVICE] [-a|--all] or: %s [-F DEVICE] | --file=DEVICE] [-g|--save] �Uso: %s [-LARGH] [OPZIONE]... [FILE]... �Uso: %s [-s SEGNALE | -SEGNALE] PID... o: %s -l [SEGNALE]... o: %s -t [SEGNALE]... �Uso: %s [FILE]... o: %s [OPZIONE] �Uso: %s [NOME] o: %s OPZIONE Stampa o imposta il nome host del sistema. �Uso: %s [NUMERO]... o: %s OPZIONE �Uso: %s [OPERANDO]... o: %s OPZIONE �Uso: %s [OPZIONE] �Uso: %s [OPZIONE] Stampa l'identificativo numerico (in esadecimale) dell'host corrente. �Uso: %s [OPZIONE] DURATA COMANDO [ARG]... o: %s [OPZIONE] �Uso: %s [OPZIONE] NUOVAROOT [COMANDO [ARG]...] o: %s OPZIONE �Uso: %s [OPZIONE] [[COMANDO [ARG]...] �Uso: %s [OPZIONE] [FILE] Scrive un elenco totalmente ordinato di un FILE rispettando l'ordinamento parziale. Senza FILE, o quando FILE è -, legge lo standard input. �Uso: %s [OPZIONE]... �Uso: %s [OPZIONE]... CONTESTO FILE... o: %s [OPZIONE]... [-u UTENTE] [-r RUOLO] [-l INTERVALLO] [-t TIPO] FILE... o: %s [OPZIONE]... --reference=RFILE FILE... �Uso: %s [OPZIONE]... DIRECTORY... �Uso: %s [OPZIONE]... FILE MODELLO... �Uso: %s [OPZIONE]... FILE... �Uso: %s [OPZIONE]... FILE1 FILE2 �Uso: %s [OPZIONE]... GRUPPO FILE... o: %s [OPZIONE]... --reference=RFILE FILE... �Uso: %s [OPZIONE]... ULTIMO o: %s [OPZIONE]... PRIMO ULTIMO o: %s [OPZIONE]... PRIMO INCREMENTO ULTIMO �Uso: %s [OPZIONE]... MODO[,MODO]... FILE... o: %s [OPZIONE]... MODO-OTTALE FILE... o: %s [OPZIONE]... --reference=RFILE FILE... �Uso: %s [OPZIONE]... NOME TIPO [MAJOR MINOR] �Uso: %s [OPZIONE]... NOME... �Uso: %s [OPZIONE]... SET1 [SET2] �Uso: %s [OPZIONE]... [ FILE | ARG1 ARG2 ] �Uso: %s [OPZIONE]... [+FORMATO] o: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Uso: %s [OPZIONE]... [-T] ORIGINE DESTINAZIONE o: %s [OPZIONE]... ORIGINE... DIRECTORY o: %s [OPZIONE]... -t DIRECTORY ORIGINE... �Uso: %s [OPZIONE]... [-T] ORIGINE DESTINAZIONE o: %s [OPZIONE]... ORIGINE... DIRECTORY o: %s [OPZIONE]... -t DIRECTORY ORIGINE... o: %s [OPZIONE]... -d DIRECTORY... �Uso: %s [OPZIONE]... [-T] DEST NOME_COLL (1a forma) o: %s [OPZIONE]... DEST (2a forma) o: %s [OPZIONE]... DEST... DIRECTORY (3a forma) o: %s [OPZIONE]... -t DIRECTORY DEST... (4a forma) �Uso: %s [OPZIONE]... [-] [NOME=VALORE]... [COMANDO [ARG]...] �Uso: %s [OPZIONE]... [FILE]... �Uso: %s [OPZIONE]... [FILE] o: %s -e [OPZIONE]... [ARG]... o: %s -i BASSO-ALTO [OPZIONE]... �Uso: %s [OPZIONE]... [FILE]... �Uso: %s [OPZIONE]... [FILE]... o: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] o: %s --traditional [OPZIONE]... [FILE] [[+]OFFSET[.][b] [+][ETICH][.][b]] �Uso: %s [OPZIONE]... [FILE]... o: %s [OPZIONE]... --files0-from=F �Uso: %s [OPZIONE]... [FILE]... Stampa o verifica i codici di controllo %s (%d-bit). Senza FILE, o quando FILE è -, legge lo standard input. �Uso: %s [OPZIONE]... [INPUT [OUTPUT]] �Uso: %s [OPZIONE]... [INPUT [PREFISSO]] �Uso: %s [OPZIONE]... [INPUT]... (senza -G) o: %s -G [OPZIONE]... [INPUT [OUTPUT]] �Uso: %s [OPZIONE]... [PROPRIETARIO][:[GRUPPO]] FILE... o: %s [OPZIONE]... --reference=RFILE FILE... �Uso: %s [OPZIONE]... [MODELLO] �Uso: %s [OPZIONE]... [NOMEUTENTE] �Uso: %s [OPZIONE]... [NOMEUTENTE]... �Uso: %s [OPZIONE]... [UTENTE]... �Uso: %s [OPZIONE]... [VARIABILE]... Stampa il valore di ogni VARIABILE di ambiente specificata. Se non è specificata alcuna VARIABILE, stampa tutte le coppie nome/valore. �Uso: %s [OPZIONE-CORTA]... UTENTE COMANDO [ARGOMENTO]... o: %s OPZIONE-LUNGA �Uso: %s [OZIONE-CORTA]... [STRINGA]... o: %s OPZIONE-LUNGA �Uso: %s [STRINGA]... o: %s OPZIONE �Uso: %s [argomenti in riga di comando ignorati] o: %s OPZIONE �Uso: test ESPRESSIONE o: test o: [ ESPRESSIONE ] o: [ ] o: [ OPZIONE �Uso%�Usati�Segnale 1 definito dall'utente�Segnale 2 definito dall'utente�Sono argomenti validi:�Timer virtuale terminato�ATTENZIONE: struttura di directory circolare. Questo significa quasi sicuramente che il file system è danneggiato. INFORMARE L'AMMINISTRATORE DI SISTEMA. La seguente directory è parte del ciclo: %s �ATTENZIONE: ignorato --context (-Z); questo non è un kernel con SELinux abilitato�ATTENZIONE: ignorato --preserve-context; questo non è un kernel con SELinux abilitato�ATTENZIONE: l'opzione --strip-program è ignorata non essendo stata specificata l'opzione -s�Attenzione: �Quando�Dove�Finestra modificata�Con --follow (-f), tail è predefinito a seguire il descrittore del file, che significa che anche se un file passato come argomento a tail è rinominato, tail continuerà a seguire la sua fine. Questo comportamento predefinito non è auspicabile quando si vuole tracciare il nome effettivo del file e non il descrittore dello stesso (es. rotazione dei log). Usare --follow=nome in questo caso. Questo fa in modo che tail segua il file nominato in un modo che tenga conto di operazione di rinomina, rimozione e creazione. �Scritto da %s e %s. �Scritto da %s, %s, %s %s, %s, %s, %s, %s, %s e altri. �Scritto da %s, %s, %s, %s, %s, %s, %s, %s e %s. �Scritto da %s, %s, %s, %s, %s, %s, %s e %s. �Scritto da %s, %s, %s, %s, %s, %s e %s. �Scritto da %s, %s, %s, %s, %s e %s. �Scritto da %s, %s, %s, %s e %s. �Scritto da %s, %s, %s, e %s. �Scritto da %s, %s e %s. �Scritto da %s. �le espressioni [=c=] non possono apparire in string2 durante la traduzione�^ nessuna corrispondenza per la chiave �^[nN]�^[sSyY]�"�un comando deve essere specificato con una variazione�ai_family non supportata�ai_socktype non supportato�argomento %s ambiguo per %s�è possibile specificare un delimitatore di input solo quando si opera sui campi�output accodato a %s�il backup di %s distruggerebbe l'origine; %s non copiato�il backup di %s distruggerebbe l'origine; %s non spostato�tipo di backup�file speciale a blocchi�i file speciali a blocchi non sono supportati�blocchi�entrambi i file non possono essere lo standard input�l'offset in byte %s è troppo grande�non è possibile applicare un contesto parziale al file non etichettato %s�impossibile recuperare il contesto del processo�impossibile accedere a %s�impossibile fare il backup di %s�impossibile riassumere e contemporaneamente mostrare tutte le voci�impossibile cambiare il proprietario di %s�impossibile cambiare i permessi di %s�impossibile cambiare la root directory a %s�impossibile entrare nella directory %s�impossibile fare chdir alla root directory�impossibile combinare --target-directory (-t) e --no-target-directory (-T)�impossibile utilizzare sia --target-directory che --no-target-directory�non è possibile combinare le opzioni -e e -i�non è possibile combinare qualunque coppia di {ascii,ebcdic,ibm}�non è possibile combinare block e unblock�non è possibile combinare direct e nocache�non è possibile combinare excl e nocreat�non è possibile combinare lcase e ucase�non è possibile combinare i modi e le opzioni --reference�non è possibile combinare un segnale con -l o -t�impossibile confrontare i nomi dei file %s e %s�impossibile convertire U+%04X nell'insieme di caratteri locale�impossibile convertire U+%04X nell'insieme di caratteri locale: %s�impossibile copiare una directory, %s, dentro sé stessa, %s�impossibile copiare il collegamento simbolico ciclico %s�impossibile creare la directory %s�impossibile creare il fifo %s�impossibile creare il collegamento fisico %s a %s�impossibile creare il collegamento %s a %s�impossibile creare il file regolare %s�impossibile creare il file speciale %s�impossibile creare il collegamento simbolico %s�impossibile creare il collegamento simbolico %s a %s�impossibile creare il file temporaneo in %s�impossibile dereferenziare %s�impossibile determinare device e inode di %s�impossibile determinare il nome host�impossibile determinare la posizione di %s, ritorno al polling�impossibile eseguire ioctl su %s�impossibile trovare il nome del gruppo con id %lu�impossibile seguire %s per nome�impossibile forzare il contesto destinazione in %s e preservarlo�impossibile fare fstat di %s�impossibile determinare la directory corrente�impossibile determinare la priorità di scheduling�impossibile recuperare il nome del sistema�impossibile ottenere la dimensione di %s�impossibile fare lseek in %s�impossibile creare contemporaneamente collegamenti fisici e simbolici�impossibile creare la directory %s�impossibile spostare %s in %s�impossibile spostare %s in una sottodirectory di sé stessa, %s�impossibile spostare una directory in una non-directory: %s -> %s�impossibile aprire %s per la lettura�impossibile aprire %s per la scrittura�impossibile aprire la directory %s�impossibile operare sul collegamento simbolico con obiettivo non esistente %s�impossibile sovrascrivere la directory %s con una non-directory�impossibile sovrascrivere la non-directory %s con la directory %s�impossibile eseguire l'output formattato�impossibile preservare gli attributi estesi, cp è compilato senza supporto per xattr�impossibile preservare un contesto di sicurezza senza un kernel con SELinux abilitato�impossibile stampare "solo" più di una scelta�impossibile stampare solo i nomi o gli id reali nel formato predefinito�impossibile stampare il contesto di sicurezza quando si specifica un utente�impossibile leggere la directory %s�impossibile leggere i nomi dei file da %s�impossibile leggere le informazioni del file system per %s�impossibile leggere l'orologio realtime�impossibile leggere il collegamento simbolico %s�impossibile leggere la tabella dei file system montati�impossibile rimuovere %s�impossibile rimuovere la directory: %s�impossibile reimpostare la posizione del file per %s�impossibile eseguire %s�impossibile impostare %s�impossibile impostare la data�impossibile impostare l'id di gruppo a %lu�impossibile impostare il nome host; questo sistema non ha questa funzionalità�impossibile impostare il nome a %s�impossibile impostare la priorità di scheduling�impossibile impostare l'orario di %s�impossibile impostare l'id utente a %lu�impossibile saltare oltre la fine di un input combinato�impossibile specificare --null (-0) con un comando�impossibile specificare sia la stampa verticale che in parallelo�impossibile specificare il numero di colonne quando si stampa in parallelo�impossibile specificare l'orario da più di una fonte�impossibile suddividere in più di un modo�impossibile eseguire stat di %s�impossibile determinare la directory corrente (ora %s)�impossibile effettuare lo stat dello standard input�impossibile fare touch di %s�impossibile annullare il backup di %s�impossibile scollegare %s�impossibile azzerare %s�impossibile controllare %s�impossibile controllare la directory padre di %s�non si può aggirare il bug del kernel, dopo tutto�il gruppo di %s è stato cambiato da %s in %s �il proprietario di %s è stato cambiato da %s in %s �cambiamento del gruppo di %s�cambiamento del proprietario di %s�cambio dei permessi di %s�cambio del contesto di sicurezza di %s �l'offset del carattere è zero�carattere fuori dall'intervallo�file speciale a caratteri�i file speciali a caratteri non sono supportati�azzeramento dei permessi per %s�cambio orario�close non riuscita�chiusura di %s (fd=%d)�chiusura della directory %s�chiusura del file di input %s�chiusura della pipe di input�chiusura del file di output %s�chiusura della pipe di output�chiusura della pipe precedente�chiusura dello standard input�la modalità compatibile supporta al massimo un file�conflitto fra le stringhe di sostituzione per i campi vuoti�forniti specificatori di contesto di sicurezza in conflitto�impossibile impostare il buffering di %s nel modo %s �impossibile creare il processo per %s -d�impossibile creare il file temporaneo�impossibile eseguire %s�impossibile eseguire %s -d�impossibile trovare la directory in %s con l'i-node corrispondente�impossibile determinare l'orario di avvio�directory %s creata�creazione della directory %s�creazione di %s �l'elenco dei delimitatori termina con un backslash non protetto: %s�directory�divisione per zero�dup2 non riuscita�%s vuoto non permesso�nome di file vuoto�tabulatore vuoto�errore nel chiudere il file�errore nel controllo dell'espressione regolare�errore nella ricerca con espressione regolare�errore di inizializzazione delle stringhe dei mesi�errore monitorando l'evento inotify�errore leggendo %s�errore leggendo l'evento inotify�errore aspettando il comando�errore scrivendo %s�esecuzione con FILE=%s �exit=�argomento %s in più�operando %s in più�operando %s in più non permesso con -%c�trasformazione di %s in forma canonica non riuscita�cambio del contesto di %s in %s non riuscito�cambio del gruppo di %s da %s in %s non riuscito �cambio del gruppo di %s in %s non riuscito �cambio del modo di %s da %04lo (%s) in %04lo (%s) non riuscito �cambio del proprietario di %s non riuscito �cambio del proprietario di %s da %s in %s non riuscito �cambio del proprietario di %s in %s non riuscito �cambio della directory in %s non riuscito�clonazione di %s da %s non riuscita�chiusura della pipe di input non riuscita�calcolo di un nuovo contesto non riuscito�creazione della directory con il modello %s non riuscita�creazione del file con il modello %s non riuscita�creazione del collegamento fisico %s non riuscita�creazione del collegamento fisico %s a %s non riuscita�creazione del collegamento fisico a %.0s%s non riuscita�creazione della pipe non riuscita�creazione del contesto di sicurezza %s non riuscita�creazione del collegamento simbolico %s non riuscita�creazione del collegamento simbolico %s a %s non riuscita�scarto della cache per %s non riuscito�creazione dell'extent di %s non riuscita�ricerca di %s non riuscita�recupero degli attributi di %s non riuscito�recupero del contesto corrente non riuscito�recupero del contesto di creazione del file system non riuscito�recupero dei gruppi per il processo corrente non riuscito�recupero dei gruppi per l'utente %s non riuscito�recupero del contesto di sicurezza di %s non riuscito�lookup del file %s non riuscito�apertura di %s non riuscita�preservazione dei diritti di %s non riuscita�impossibile preservare il proprietario di %s�impossibile preservare i permessi di %s�impossibile preservare gli orari di %s�reindirizzamento dello standard error non riuscito�reindirizzamento dello stderr in /dev/null non riuscito�rimozione di %s non riuscita�rimozione della directory %s non riuscita�rendere inutilizzabile lo standard input non riuscito�riapertura di %s con il modo %s non riuscita�ripristino del contesto predefinito di creazione dei file non riuscito�ritorno alla directory iniziale di lavoro non riuscito�impossibile eseguire il comando %s�impossibile eseguire il comando: «%s -c %s»�impostazione del componente del contesto di sicurezza %s in %s non riuscita�impostazione della variabile di ambiente FILE non riuscita�impostazione dei gruppi supplementari non riuscita�impostazione del contesto predefinito di creazione dei file in %s non riuscita�impostazione dell'id di gruppo non riuscita�impostazione del nuovo intervallo %s non riuscita�impostazione del nuovo ruolo %s non riuscita�impostazione del nuovo tipo %s non riuscita�impostazione del nuovo utente %s non riuscita�impostazione del gruppo supplementare non riuscita�impostazione della copia di stderr alla chiusura dell'esecuzione non riuscita�impostazione del contesto di sicurezza di %s in %s non riuscita�impostazione dell'id utente non riuscita�stat di %s non riuscito�disattivazione di O_DIRECT non riuscita: %s�aggiornamento dell'ambiente con %s non riuscito�fdatasync non riuscita per %s�fflush non riuscita�il numero di campo %s è troppo grande�il numero del campo è zero�campi e posizioni sono numerati da 1�fifo�il file %d non è ordinato�gli operandi dei file non possono essere combinati con --files0-from�gli operandi di tipo file non possono essere combinati con --print-database (-p)�il tipo di file system %s è stato sia selezionato che escluso�chiamata di sistema fork non riuscita�il formato %s termina in %%�il formato %s non ha una direttiva %%�il formato %s ha troppe direttive %%�il formato %s ha una direttiva %%%c sconosciuta�la stringa di formato non può essere specificata quando si stampano stringhe di larghezza uguale�fsync non riuscita per %s�fts_close non riuscita�fts_read non riuscita�fts_read non riuscita: %s�recupero dei nuovi attributi di %s�il gruppo di %s è stato mantenuto pari a %s �funzione iconv non disponibile�funzione iconv non utilizzabile�id=�ignorati tutti gli argomenti�input ignorato�input ignorato e output accodato a %s�input ignorato e stderr reindirizzato in stdout�ignorata la larghezza del tabulatore non valida nella variabile di ambiente TABSIZE: %s�ignorato il valore non valido della variabile di ambiente QUOTING_STYLE: %s�ignorata la larghezza non valida nella variabile di ambiente COLUMNS: %s�gli argomenti che non sono opzioni sono stati ignorati�campi di unione incompatibili %lu, %lu�tabulatori incompatibili�inotify non può essere usato, ritorno al polling�risorse inotify esaurite�l'input è scomparso�la riga di input è troppo lunga�spostamento tra dispositivi non riuscito: %s in %s; impossibile rimuovere la destinazione�l'argomento %2$s di --%1$s non è valido�variazione %s non valida�argomento %s non valido�argomento %s non valido per %s�stile di numerazione del corpo non valido: %s�modo di buffering %s non valido per %s �classe di caratteri non valida %s�contesto non valido: %s�conversione non valida�specificatore di conversione non valido nel suffisso: %c�specificatore di conversione non valido nel suffisso: \%.3o�data %s non valida�formato di data %s non valido�intervallo decrescente non valido�dispositivo %s %s non valido�tipo del dispositivo %s non valido�numero di campo non valido: %s�specificatore di campo non valido: %s�larghezza del campo non valida: %s�numero di file non valido nello specificatore di campo: %s�flag non validi nella specifica di conversione: %%%c%c�argomento in virgola mobile non valido: %s�stile di numerazione del piè di pagina non valido: %s�larghezza dello spazio non valida: %s�gruppo non valido�gruppo %s non valido�elenco dei gruppi %s non valido�gruppo non valido: %s�stile di numerazione dell'intestazione non valido: %s�input non valido�flag di input non valido�intervallo di input %s non valido�intero non valido %s�argomento intero %s non valido�numero di riga %s non valido�disciplina di riga non valida %s�larghezza del campo numero riga non valida: %s�incremento del numero di riga non valido: %s�formato del numero di righe non valido: %s�larghezza della riga non valida: %s�major number del dispositivo %s non valido�profondità massima %s non valida�minor number del dispositivo %s non valido�modo non valido�modo %s non valido�modo non valido: %s�numero %s non valido�numero non valido all'inizio del campo�numero di righe vuote non valido: %s�numero di byte non valido�numero di byte da confrontare non valido�numero di byte da saltare non valido�numero di colonne non valido: %s�numero di campi da saltare non valido�numero di righe non valido�opzione non valida -- %c�opzione non valida -- %c; -WIDTH è riconosciuto solo quando è la prima opzione; utilizzare -w N�flag di output non valido�intervallo di pagine non valido %s�precisione non valida: %s�intervallo non valido senza punto finale: -�conteggio delle ripetizioni %s non valido nel costrutto [c*n]�spec non valida�numero di riga iniziale non valido: %s�flag di stato non valido�suffisso %s non valido, contiene separatori di directory�dimensioni di tabulazione non valide: %s�modello non valido, %s, contiene separatori di directory�modello non valido, %s; con --tmpdir non può essere assoluto�intervallo di tempo non valido: %s�formato dello stile dell'ora %s non valido�opzione finale non valida -- %c�stringa di tipo non valida: %s�stringa di tipo non valida %s; questo sistema non fornisce un tipo a virgola mobile a %lu byte�stringa di tipo non valida %s; questo sistema non fornisce un tipo intero a %lu byte�nome del carattere universale \%c%0*x non valido�utente non valido�utente %s non valido�larghezza non valida: %s�dimensione di ritorno a capo non valida: %s�nome di file di lunghezza zero non valido�è pericoloso operare ricorsivamente su %s�è pericoloso operare ricorsivamente su %s (come con %s)�la chiave %lu ha dimensione zero e sarà ignorata�la chiave %lu è numerica e si estende su più campi�last=�limite %lu superato dalla lunghezza %lu del nome del file %s�limite %lu superato dalla lunghezza %lu del componente %s del nome del file�il buffering di righe su stdin non ha significato�l'opzione per il conteggio delle righe -%s%c... è troppo grande�il numero di riga %s è più piccolo del numero di riga precedente, %s�numero di riga eccessivo�il massimo dell'argomento --%s con l'attuale rlimit è %s�memoria esaurita�memoria esaurita da un buffer di input di dimensione %zu byte (%s)�memoria esaurita da un buffer di output di dimensione %zu byte (%s)�coda di messaggi�il minimo dell'argomento --%s è %s�costrutto disallineato [:upper:] o [:lower:]�manca la specifica di conversione %% nel suffisso�manca l'argomento dopo %s�manca l'argomento per %s�manca lo specificatore di conversione nel suffisso�manca l'operando per il file di destinazione dopo %s�manca il file operando�manca il numero esadecimale nella sequenza di escape�manca l'elenco dei campi�manca l'elenco delle posizioni�operando mancante�manca l'operando dopo %s�il modo deve specificare solo i bit di permesso del file�il modo di %s è stato cambiato da %04lo (%s) in %04lo (%s) �il modo di %s è stato mantenuto pari a %04lo (%s) �spostamento della pipe di input�tabulatore multicarattere %s�specificate opzioni -i multiple�sono state specificate opzioni -l o -t multiple�è stato specificato più di un programma di compressione�specificati delimitatori multipli�levelrange multipli�è stato specificato più di un file di output�specificati formati di output multipli�sono state specificate sorgenti casuali multiple�specificati modificatori multipli relativi�ruoli multipli�specificate directory multiple di destinazione�tipi multipli�utenti multipli�né il collegamento simbolico %s né il file di riferimento sono cambiati �manca la variabile di ambiente SHELL e non è stata usata l'opzione per selezionare il tipo della shell�nessun cambiamento al proprietario di %s �nessun comando specificato�nessun file system elaborato�nessun file rimasto�nessun input da %s�nome di accesso inesistente�nessun id del processo specificato�nessun tipo può essere specificato mentre si stampano le stringhe�non è stato indicato alcun nome utente; quando si usa -l bisogna indicarne almeno uno�argomento non intero�carattere non portabile %s nel nome del file %s�non è un tty�non è possibile scrivere attraverso il collegamento simbolico con obiettivo non esistente %s�il numero in %s è troppo grande�numero in parallelo non deve essere zero�numero di byte�numero di righe�offset eccessivo leggendo il file %s�directory %s omessa�solo un costrutto ripetuto [c*] dovrebbe apparire in string2�può essere specificato un solo dispositivo�può essere specificato solo un tipo di elenco�open non riuscita�opzione usata in un contesto non valido -- %c�le opzioni --backup e --no-clobber sono mutualmente esclusive�le opzioni --compare (-C) e --preserve-timestamps sono mutualmente esclusive�le opzioni --compare (-C) e --strip sono mutualmente esclusive�i suffissi dei file di output sono esauriti�overflow estendendo la dimensione del file %s�overflow arrotondando la dimensione del file %s�il proprietario di %s è stato mantenuto �il proprietario di %s è stato mantenuto pari a %s �overflow del numero di pagina�larghezza della pagina troppo stretta�preservazione dei permessi per %s�preservati gli orari di %s�è senza senso stampare tutte le righe duplicate e il numero delle ripetizioni�errore di lettura�read non riuscita�lettura della directory %s�record troppo grande�stderr reindirizzato in stdout�file regolare vuoto�file regolare�%s rimosso �directory rimossa: %s �rimozione della directory, %s�run-level�semaforo�il separatore non può essere vuoto�impostare LC_ALL='C' per aggirare il problema�impostazione dei flag %s�impostazione dei permessi per %s�impostazione degli orari di %s�oggetto di memoria condivisa�il numero di byte saltati + byte letti è troppo grande�saltato %s, dato che è su un dispositivo diverso�file %s saltato perché è stato sostituito mentre veniva copiato�socket�standard error�standard input�lo standard input è chiuso�standard output�stat non riuscita�stderr�stdin�stdout�carattere estraneo nella specifica del campo�confronto tra stringhe non riuscito�trasformazione stringa non riuscita�processo di strip terminato in modo anomalo�eliminare le righe non delimitate ha senso solo quando si sta operando sui campi�collegamento simbolico�errore di sintassi�avvio di sistema�la grandezza del tabulatore non può essere 0�la grandezza del tabulatore contiene caratteri non validi: %s�le grandezze dei tabulatori devono essere crescenti�%s: posizione del tabulatore troppo grande�il valore della posizione del tabulatore è troppo grande�i tabulatori sono troppo grandi�l'obiettivo %s non è una directory�la directory di destinazione non è permessa durante l'installazione di una directory�term=�test o [�le opzioni --binary e --text non hanno significato quando si stanno verificando i codici di controllo�l'opzione --compare (-C) è ignorata se è specificato un modo senza i bit di permesso�l'opzione --quiet ha significato solo quando si stanno verificando i codici di controllo�l'opzione --status ha significato solo quando si stanno verificando i codici di controllo�l'opzione --strict ha significato solo quando si stanno verificando i codici di controllo�l'opzione --warn ha significato solo quando si stanno verificando i codici di controllo�il costrutto [c*] può apparire in string2 solo durante la traduzione�il costrutto ripetuto [c*] non può apparire in string1�il delimitatore deve essere un singolo carattere�le opzioni per gli stili dell'output "verbose" e "stty-readable" sono mutualmente esclusive�le opzioni per stampare il database interno di dircolors e per selezionare una sintassi di shell sono mutualmente esclusive�le opzioni per stampare e impostare l'orario non possono essere usate insieme�le opzioni per specificare la stampa di date sono mutualmente esclusive�le stringhe confrontate erano %s e %s�l'opzione strip non può essere usata per installare una directory�la lunghezza del suffisso deve essere almeno %zu�la stringa non trasformata era %s�l'orario %s è fuori dal limite�per usare l'id utente %s bisogna usare anche -g�poche X nel modello %s�troppe specifiche di conversione %% nel suffisso�troppi caratteri nell'insieme�troppe righe ripetute�troppi modelli�totale�traversamento non riuscito: %s�oggetto di memoria tipizzata�impossibile mostrare il messaggio di errore�impossibile registrare l'attuale directory di lavoro�impossibile impostare il contesto di sicurezza %s�fallimento non atteso: fts_info=%d: %s segnalare a %s�operatore binario sconosciuto�stato sconosciuto dal comando (0x%X)�flusso sconosciuto�id utente sconosciuto: %s�valore non interpretabile nella variabile di ambiente LS_COLORS�operando %s non riconosciuto�prefisso non riconosciuto: %s�attivo %ld giorno %2d.%02d, �attivo %ld giorni %2d.%02d, �attivo ???? giorni ??.??, �usare --no-preserve-root per scavalcare questa protezione�usate le regole di ordinamento %s�usare %s per indicare che lo standard input non lavora in modalità file system�usato il confronto a singolo byte�attesa di %s [-d]�in attesa del processo figlio�in attesa dello strip�attenzione: %s: i caratteri che seguono la costante carattere sono stati ignorati�attenzione: %s: cambio del contesto in %s non riuscito�attenzione: --pid=PID non è supportato su questo sistema�attenzione: --retry è utile principalmente se seguito da un nome�attenzione: PID ignorato; --pid=PID è utile solo seguendo�attenzione: un "\" (backslash) non protetto a fine stringa non è portabile�attenzione: backslash alla fine del formato�attenzione: impossibile rimuovere %s�attenzione: disabilitazione dei dump di core non riuscita�attenzione: seguire lo standard input in modo indefinito non è efficace�attenzione: gli argomenti in eccesso sono stati ignorati, a partire da %s�attenzione: offset di file non valido dopo una lettura non riuscita�attenzione: larghezza %lu non valida; usare invece %d�attenzione: il numero di riga %s è lo stesso del precedente�attenzione: il file di origine %s è stato specificato più di una volta�attenzione: riassumere è in conflitto con --max-depth=%lu�attenzione: riassumere è lo stesso che usare --max-depth=0�attenzione: il codice ottale ambiguo \%c%c%c sarà interpretato come sequenza di due byte \0%c%c, %c�attenzione: timer_create�attenzione: timer_settime�attenzione: si sta aggirando il bug del kernel di lseek per il file (%s) di mt_type=0x%0lx -- consultare <sys/mtio.h> per l'elenco dei tipi�file strano�se set1 non viene troncato, string2 non deve essere vuota�quando i nomi dei file sono letti dallo stdin, un nome come %s non è permesso�quando si specifica uno stile dell'output, non si possono impostare i modi�durante la traduzione con classi di caratteri complementati, string2 deve mappare tutti i caratteri nel dominio a uno�traducendo con stringa1 più lunga di stringa2, la seconda non deve finire con una classe di caratteri�non sarà copiato %s attraverso il collegamento simbolico %s appena creato�impossibile creare il collegamento fisico %s alla directory %s�%s appena creato non sarà sovrascritto da %s�con --parents, la destinazione deve essere una directory�con --suffix, il modello %s deve terminare con X�con FILE=%s, uscita %d dal comando: %s�con FILE=%s, segnale %s dal comando: %s�errore di scrittura�errore di scrittura per %s�write non riuscita�scrittura di %s�deve essere specificato -c, -t, -u, -l, -r, o il contesto�è necessario specificare una elenco di byte, caratteri o campi�è necessario specificare un %s relativo con %s�è necessario specificare uno tra %s o %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% record dentro %+% record fuori �% record troncato �% record troncati �% byte (%s) copiato�% byte (%s) copiati�offset troppo grande: impossibile interrompere a una lunghezza di seek=% (%lu-byte) blocchi�interruzione a % byte nel file di output %s non riuscita�allocazione di un buffer di stdio di % byte non riuscita �%s: %: riga del codice di controllo %s non formattata correttamente�ATTENZIONE: % riga non formattata correttamente�ATTENZIONE: % righe non formattate correttamente�ATTENZIONE: % file elencato non può essere letto�ATTENZIONE: % file elencati non possono essere letti�ATTENZIONE: % codice di controllo calcolato NON corrisponde�ATTENZIONE: % codici di controllo calcolati NON corrispondono�il numero della pagina iniziale % supera il numero di pagine %�Pagina %�overflow in % * % blocchi di byte per il file %s�troncamento di %s a % byte non riuscito���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/bg.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000500162�12107204515�012061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0�����?��ð1�����ìB�����ôB��C������”D��ø���•D��Â���ŽE��ª���QF��G��üF��ù���DH��º���>I��p���ùI��!��jJ��¼���ŒK��w��IL��5��ÁM��~���÷N�� ���vO��G���„O��ï���ÌO��w���¼P��¡���4Q��#��ÖQ����úR��š���ÿS��Ä���šT��z���_U��i���ÚU��ˆ���DV��È���ÍV��„���–W��à���X��›���üX����˜Y��3��­Z��0���á[��Ê���\��ç���Ý\��¾���Å]��Œ���„^��æ���_����ø_��9��� a��t��Da��Ì���¹b��7���†c��¼���¾c��F���{d��ì���Âd��¾��¯e��,���ng��º���›g�����Vh��ß���çh��·���Çi��5���j����µj����Ôk��×���ól��ò���Ëm��É���¾n��Ê���ˆo��ð���Sp��Ô���Dq��Ó���r��¤���ír��i���’s��õ���üs��Z���òt��.��Mu��ž���|v��O��w����kx��y��ûy�� ��u{��Ë��–|����b~��¢�����¡��$€�� ��Æ��&��Ô‚��Ý���ûƒ��Ò���Ù„��’���¬…��°���?†��Ë���ð†��u���¼‡����2ˆ�����H‰��ƒ���؉��ƒ���\Š��4��àŠ����Œ����'��í���:Ž�� ��(��<���3��z���p��þ���ë��f��ê‘��1���Q“��Æ���ƒ“��q��J”��Þ���¼•��ƒ���›–��Í���—��Ñ���í—��ë���¿˜����«™��Ó���ºš��I���Ž›����Ø›�� ��f��=��‡ž��*��ÅŸ��C���ð ��?���4¡��š��t¡��¨��£��$���¸¤��ú���ݤ��$���Ø¥��*���ý¥����(¦��&���G§��9���n§��#���¨§��$���̧��!���ñ§��Ý���¨��,���ñ¨��"���©�� ���A©��X��O©��;���¨ª��|��äª����a¬��Ô���u­��Ü���J®��þ���'¯�����&°�����+°�����4°�����:°����M°��&���i±�� ���±�� ���š±�����¦±�����¹±�����̱�����á±�� ���ý±��+���²�����J²�����c²��D���~²��0���ò�����ô²��"��� ³�����0³��/���@³�� ���p³�����‘³�����©³�����¿³�����س��>���õ³��"���4´��%���W´��B���}´��*���À´�����ë´����� µ�����µ��)���,µ�����Vµ��%���sµ��,���™µ��$���Ƶ�����ëµ��/��� ¶�����;¶��8���K¶�����„¶�����™¶�����¸¶�����Õ¶�����é¶�����·�����·�����.·�����C·�����^·�����{·�����Ž·����� ·�����³·�����Ä·��'���Õ·�����ý·��*���¸�����C¸��$���a¸�����†¸�� ���–¸�����·¸��"���͸�����ð¸�����¹��;���¹�����X¹�����k¹�����‡¹�����£¹�����À¹�����Þ¹�����ò¹��"��� º�����,º�����?º��)���Yº�����ƒº����� º�����±º��"���к��1���óº��'���%»��(���M»�� ���v»�����—»�����ª»�����û��"���Þ»�����¼�����¼��&���#¼�����J¼��"���e¼�� ���ˆ¼�� ���”¼�����¡¼�����³¼�����ļ�����Ô¼��0���ð¼��.���!½�����P½��"���l½�����½��+���Ÿ½�����˽�����ë½�� ���í½�����ú½�����¾��;��¾�����Q¿�� ���g¿��)���u¿�����Ÿ¿�����±¿�����È¿�����ß¿�� ���ö¿�����À��)���À�����0À�����BÀ�� ���HÀ�����RÀ��k��iÀ�����ÕÁ��K���ÝÁ��8���)Â�����bÂ��3���kÂ��½���ŸÂ�� ���]Ã�����iÃ��\���nÃ��+���ËÃ��+���÷Ã��0���#Ä�� ���TÄ�����^Ä��1���eÄ�� ���—Ä��7���¢Ä�����ÚÄ�����ßÄ�����åÄ�����ëÄ�����ñÄ�����öÄ�� ���Å�����Å�����Å�����/Å�����FÅ�����cÅ�����Å��$���—Å�����¼Å�����ÎÅ�����éÅ�����îÅ�� ���ôÅ�����Æ�����Æ�� ���,Æ�����7Æ�����<Æ�����AÆ��#���[Æ�����Æ�����ˆÆ��*���§Æ�����ÒÆ��E���ÕÆ�����Ç����/Ç��o���AÈ�����±È��&���µÈ�����ÜÈ��#���ãÈ��2���É��i��:É��†���¤Ê��;���+Ë��%���gË��T���Ë�����âË�� ���Ì����� Ì�����&Ì�����7Ì��1���LÌ��'���~Ì��&���¦Ì��*���ÍÌ�����øÌ������Í��5���Í�����;Í�� ���CÍ�����PÍ��$���UÍ��$���zÍ�����ŸÍ��+���²Í�����ÞÍ�� ���ãÍ�����ñÍ�����Î�����Î�����*Î�� ���<Î��,���IÎ��&���vÎ�� ���Î��'���¾Î��0���æÎ��Y���Ï��'���qÏ��T���™Ï��'���îÏ��(���Ð�����?Ð�����SÐ��&���oÐ��š���–Ð�����1Ñ��#���HÑ��&���lÑ�����“Ñ��"���²Ñ��T���ÕÑ��g���*Ò��†���’Ò��.���Ó�����HÓ��"���gÓ��+���ŠÓ��Y���¶Ó��~���Ô��¤���Ô��ä���4Õ��=���Ö�����WÖ��^���uÖ�� ���ÔÖ��¢���õÖ��F���˜×��'���ß×��Z���Ø��`���bØ��!���ÃØ�� ���åØ��'���Ù��<���.Ù��T���kÙ�����ÀÙ�����ÅÙ�����ÊÙ��¹���ßÙ�� ���™Ú�����£Ú�����¨Ú�����®Ú��;���ÅÚ��3���Û��/���5Û��+���eÛ��'���‘Û��#���¹Û�����ÝÛ�����ýÛ�����Ü��<���)Ü�����fÜ�����lÜ�����rÜ��*���tÜ�����ŸÜ�����·Ü�����ÑÜ��A���îÜ��2���0Ý��1���cÝ�� ���•Ý�����¡Ý��!���´Ý�����ÖÝ��#���ÝÝ�����Þ�����Þ�����.Þ��*���?Þ�����jÞ�����ˆÞ��"���¨Þ�����ËÞ�����éÞ�� ���ß��,���)ß�� ���Vß�����wß�����—ß��+���¶ß��#���âß��#���à��,���*à��0���Wà��,���ˆà��#���µà�����Ùà�����ôà�� ��� á�����+á�����Gá�����eá�����ƒá��$���¢á�����Çá��'���Ýá�����â�����â��!���5â�����Wâ�����pâ�����€â�����â�����±â�����Èâ��(���Øâ�����ã�����ã��.���/ã��2���^ã�����‘ã�����¬ã�����Çã��0���àã��3���ä��5���Eä�����{ä�����”ä��*���³ä�����Þä�����ùä�����å��%���'å�����Må�����]å��8���xå�����±å�����Çå�����Ûå�����ùå��&���æ��.���:æ��!���iæ�����‹æ��&���šæ�����Áæ�����Ñæ�����åæ��'���öæ�����ç�����3ç�����Lç�����gç�����€ç�����—ç��%���®ç�� ���Ôç�� ���áç�����îç�����è�����è�����,è�����Cè��+���Zè��8���†è�����¿è�����Öè�����ëè�����é�� ���é�����é�����.é�� ���>é��#���Hé��"���lé�����é����� é�����±é�����·é�����Éé��#���Úé��!���þé��'��� ê�����Hê�����^ê�����}ê�����–ê��$���¨ê��#���Íê��%���ñê�����ë��!���7ë��-���Yë��1���‡ë�����¹ë�����Ëë�� ���ãë�����ñë�����ì�����#ì��.���(ì�����Wì��D���oì�����´ì�����Èì�����Øì�����õì�����í�����.í�����Hí�����Lí�����cí��)���rí��/���œí��=���Ìí��@��� î��:���Kî�����†î��!���¤î�����Æî�����Øî�����êî��;���ï�����=ï�����Sï�����gï�� ���‚ï�����£ï��*���¾ï��-���éï�����ð�����'ð�����>ð�����Sð�����jð�����ƒð�����Ÿð��%���·ð��#���Ýð��"���ñ�����$ñ�� ���:ñ�����Hñ��"���Yñ�� ���|ñ�����Šñ�����¡ñ�����´ñ�����Ðñ�����æñ��#���ò��!���%ò��!���Gò�����iò�����€ò�����Ÿò�����¸ò�� ���×ò�����äò�����ôò�����ó�����ó��!���5ó�����Wó��"���oó�����’ó�����²ó�� ���Ðó�����ñó����� ô��]���ô�����|ô��*���’ô�� ���½ô�� ���Êô�����ëô������õ�����õ�����6õ�����Tõ��R���kõ��L���¾õ��(��� ö�� ���4ö�����Aö�����Qö�����cö�����yö��,���—ö��9���Äö�����þö��0���÷��:���5÷��'���p÷��8���˜÷�����Ñ÷�����æ÷�� ���÷÷��/���ø��-���5ø�����cø�����}ø��&���”ø��)���»ø�����åø��$���úø�����ù�����6ù�����Pù�����`ù��+���yù��"���¥ù�����Èù�����ßù��#���ýù�����!ú��!���Aú��!���cú��%���…ú��7���«ú��=���ãú�����!û�����?û�����Yû�� ���lû�����zû��-���’û��C���Àû��(���ü�� ���-ü�����7ü�����Qü�����aü��%���qü�����—ü��4���­ü�� ���âü��&���ý�� ���*ý��$���6ý�����[ý�����uý�����•ý�����«ý�����Éý��>���áý�� ��� þ�� ���+þ�����7þ�����Lþ�����]þ�� ���pþ�� ���}þ�����‰þ����� þ�� ���·þ�� ���Áþ�����Ëþ�����åþ�����úþ�����ÿ�����)ÿ��$���>ÿ��-���cÿ��7���‘ÿ�����Éÿ�����Ðÿ�����ßÿ�����îÿ������� ��������#�����A�����Z��J���w�� ���Â�� ���Ð�����Ý��*���ò���������9����R����n����…�8���¢����Û� ���á�H���ï�?���8�=���x�>���¶�3���õ�(���)�N���R�f���¡�>����@���G�<���ˆ����Å�/���Ý���� ����(����@����F�*���Z����…�����3���±����å����ý�0����H���F�2����8���Â�=���û�#���9����]�=���x�4���¶�,���ë�<����0���U�3���†�7���º�c���ò�t���V � ���Ë �3���Ö �>��� �5���I �j��� �,���ê �*��� �3���B � ���v ����‚ � ���• � ���¢ �7���° �’��è �Q��{ �!��Í�&��ï�D���J��[���¦�“���º�e��N�A��´�ù��ö�ò��ð�é���ã�'���Í����õ���…�Ï��� ���]!���o"�ø��$���z&�q��‹'�¹���ý(�º���·)�à���r*�0��S+�Í���„,���R-� ��ð.�V��ú/�^��Q2�[���°4�Á�� 5�V��Î6�Œ��%8�ö���²9�Á��©:�á��k<�~���M>�©��Ì>�Q��vA�k���ÈB�“��4C�ˆ���ÈD�È��QE�’��G�L���­I�\��úI�Ó���WK�U��+L���M�_���¡N�r��O���tP�>��ŽR�X��ÍS�>��&U���eV���vW���|X�Ø��þY� ��×[�K��ã\�Ô��/^����`�ã��”`���xb�B��•c�{��Øe�ù��Th�ì��Nj�4��;l�Ë��pn�.��<p�v��kq�z��âs���]u�P��ew�j��¶x�ú���!z�#��{�7��@|�À���x}�ª��9~�ë���ä�Ò���Ѐ�Ò���£�ö��v‚�‹��m„�Ñ��ù†�u��ˈ�>��AŠ�Z���€‹�â���Û‹�¤��¾Œ���cŽ�`���€�_��á�¤��A’�Á��æ”�Û���¨–���„—�_��¢˜���š�µ��›�<��F�…���ƒž�ü�� Ÿ�F��¡�y��M£�Ò��Ǥ�f���š¦�j���§�¡��l§�»��ª�y���ʬ�±��D­�{���ö®�‡���r¯�&��ú¯�M���!²�`���o²�L���в�a���³�m���³�ª��í³�|���˜µ�{���¶�"���‘¶�b��´¶�q���¹�Ñ��‰¹� ��[¼�M��f¾�£��´¿�‰��XÁ����âÂ� ���çÂ� ���ôÂ����ÿÂ�î��Ã�U��� Å� ���cÅ� ���mÅ�3���yÅ����­Å�,���ÍÅ�)���úÅ�4���$Æ�O���YÆ�#���©Æ�'���ÍÆ�†���õÆ�R���|Ç�.���ÏÇ�F���þÇ����EÈ�@���cÈ�C���¤È�7���èÈ�%��� É�C���FÉ�9���ŠÉ�‚���ÄÉ�B���GÊ�`���ŠÊ�†���ëÊ�e���rË�=���ØË�=���Ì�1���TÌ�k���†Ì�U���òÌ�l���HÍ�t���µÍ�J���*Î�:���uÎ�a���°Î����Ï�q���/Ï�.���¡Ï�?���ÐÏ�5���Ð�*���FÐ�H���qÐ�,���ºÐ�4���çÐ�8���Ñ�;���UÑ�9���‘Ñ�+���ËÑ�+���÷Ñ�$���#Ò�4���HÒ�4���}Ò�P���²Ò�8���Ó�W���<Ó�8���”Ó�G���ÍÓ�5���Ô�=���KÔ�'���‰Ô�B���±Ô�5���ôÔ�/���*Õ�}���ZÕ�%���ØÕ�0���þÕ�.���/Ö�2���^Ö�0���‘Ö�'���ÂÖ�5���êÖ�:��� ×�%���[×�9���×�P���»×�?��� Ø�4���LØ�3���Ø�?���µØ�s���õØ�X���iÙ�I���ÂÙ�3��� Ú�&���@Ú�$���gÚ�&���ŒÚ�.���³Ú�$���âÚ�'���Û�X���/Û�A���ˆÛ�Q���ÊÛ����Ü����-Ü�"���DÜ�$���gÜ�H���ŒÜ�G���ÕÜ�n���Ý�_���ŒÝ�3���ìÝ�J��� Þ�"���kÞ�K���ŽÞ�5���ÚÞ����ß����ß�2���.ß����aß�‹��dß�,���ðá� ���â�,���+â����Xâ����pâ����‰â����¤â����½â����Ðâ�W���Õâ�1���-ã� ���_ã����lã�3���}ã� ��±ã����¼æ�‰���Íæ�{���Wç����Óç�b���Üç�e��?è����¥é� ���¶é�¶���Áé�O���xê�K���Èê�T���ë����ië����zë�m���ë����ûë�q���ì����„ì� ���“ì���� ì� ���¨ì����³ì����Æì����åì� ���ôì�&���í�8���(í�8���aí�9���ší�3���Ôí�G���î�3���Pî�2���„î� ���·î� ���Âî����Ìî�3���äî�$���ï����=ï����Uï����\ï�:���dï�C���Ÿï�!���ãï�9���ð�[���?ð����›ð�š��� ð�6���;ñ�½��rñ�¾���0ó����ïó�@���óó� ���4ô�>���?ô�i���~ô�O��èô�ç���8÷�h��� ø�E���‰ø�ƒ���Ïø�=���Sù����‘ù�<��� ù�$���Ýù�)���ú�Z���,ú�t���‡ú�{���üú�\���xû����Õû� ���æû�¤���óû� ���˜ü�"���£ü� ���Æü�U���Ñü�8���'ý�A���`ý�^���¢ý����þ����þ�0���(þ�"���Yþ� ���|þ�"���þ����Àþ�[���Úþ�A���6ÿ�=���xÿ�J���¶ÿ�Y��������[��F���ì�����3�F���Ñ�J����&���c�0���Š�M���»��� �)����;���I�D���…�5���Ê�=�����‡���>�Ã���Æ�ß���Š�O���j�3���º�?���î�H���.�ˆ���w�Ó���� ����Ô �‹��Õ �u���a �4���× �ž��� �7���« �Ü���ã �k���À�A���,�‚���n�¢���ñ�@���”�C���Õ�B����u���\�‡���Ò����Z� ���b�+���m�_��™����ù���� ���������F���=�:���„�6���¿�2���ö�.���)�*���X�&���ƒ�"���ª����Í�b���æ� ���I� ���U����a�W���e�V���½�X����0���m�u���ž�v����z���‹�"����(���)�[���R����®�R���½�E�������V�J���t�}���¿�E���=�M���ƒ�N���Ñ�9��� �L���Z�D���§�V���ì�=���C�<����;���¾�Z���ú�R���U�M���¨�Z���ö�^���Q�Y���°�Z��� �8���e �E���ž �M���ä �@���2!�E���s!�E���¹!�G���ÿ!�Q���G"�U���™"�]���ï"�D���M#�:���’#�Q���Í#�?���$�M���_$�R���­$�C����%�@���D%�L���…%�k���Ò%�8���>&�1���w&�O���©&�x���ù&�9���r'�7���¬'�:���ä'�k���(�Z���‹(�„���æ(�6���k)�D���¢)�j���ç)�P���R*�E���£*�'���é*�`���+�3���r+�3���¦+�‡���Ú+�4���b,�E���—,�;���Ý,�=���-�a���W-�f���¹-�K��� .�E���l.�R���².�4���/�P���:/�;���‹/�j���Ç/�*���20�6���]0�>���”0�2���Ó0�&���1�,���-1�a���Z1����¼1�3���Õ1�A��� 2�)���K2�2���u2�4���¨2�7���Ý2�Q���3�~���g3�Z���æ3�%���A4�%���g4� ���4����®4����½4�"���Ø4����û4�K���5�E���g5�(���­5�$���Ö5����û5�"���6�&���$6�F���K6�E���’6�L���Ø6�0���%7�E���V7�0���œ7�'���Í7�C���õ7�G���98�S���8�E���Õ8�V���9�_���r9�Q���Ò9�3���$:�<���X:�1���•:�:���Ç:�(���;����+;�s���G;�Q���»;���� <�/���ž<����Î<�=���ê<�'���(=�0���P=�7���=����¹=�=���½=�(���û=�Y���$>�•���~>�£���?�“���¸?�‡���L@�Q���Ô@�=���&A�+���dA����A�2���¬A�˜���ßA�+���xB�(���¤B�0���ÍB�?���þB�4���>C�]���sC�`���ÑC� ���2D�2���SD�/���†D�8���¶D�1���ïD�9���!E�3���[E�Y���E�^���éE�d���HF�U���­F�'���G�"���+G�d���NG����³G�6���ÑG�+���H�5���4H�.���jH�B���™H�S���ÜH�N���0I�Q���I�5���ÑI�C���J�?���KJ�C���‹J�1���ÏJ�"���K�4���$K�$���YK�A���~K�;���ÀK�:���üK�B���7L�F���zL�4���ÁL�D���öL�*���;M�%���fM�¼���ŒM�'���IN�U���qN�-���ÇN�>���õN�A���4O�8���vO�8���¯O�%���èO�*���P�˜���9P�Ž���ÒP�H���aQ�/���ªQ�,���ÚQ�%���R�=���-R�E���kR�I���±R�_���ûR����[S�r���aS�Œ���ÔS�N���aT�Z���°T�2��� U�$���>U�&���cU�R���ŠU�T���ÝU�)���2V�%���\V�Q���‚V�D���ÔV�*���W�A���DW�&���†W�(���­W����ÖW�)���ôW�m���X�K���ŒX�0���ØX�.��� Y�8���8Y�K���qY�A���½Y�D���ÿY�>���DZ�n���ƒZ�w���òZ�:���j[�N���¥[�$���ô[����\�3���8\�Y���l\�{���Æ\�T���B]� ���—]�/���£]�#���Ó]����÷]�Y���^�+���p^�m���œ^�H��� _�I���S_�1���_�G���Ï_�?���`�-���W`�E���…`�:���Ë`�0���a�ƒ���7a� ���»a� ���Üa�#���ýa�"���!b�(���Db����mb����‰b�&���b�)���Äb����îb����c�A���c�4���Rc�B���‡c�$���Êc�-���ïc�4���d�P���Rd�v���£d� ���e�%���'e�!���Me�5���oe�#���¥e�1���Ée�E���ûe�6���Af�9���xf����²f����Pg�#���ng�J���’g�]���Ýg�b���;h�4���žh�1���Óh�=���i�$���Ci�†���hi����ïi����õi�v���j�s���}j�q���ñj�g���ck�S���Ëk�S���l�v���sl�±���êl�”���œm�w���1n�Ÿ���©n�E���Io�a���o�8���ño�7���*p����bp�/���kp�U���›p�6���ñp�)���(q�o���Rq�"���Âq�#���åq�h��� r�…���rr�S���ør�i���Ls�Š���¶s�g���At�:���©t�v���ät�r���[u�a���Îu�m���0v�_���žv�\���þv�Y���[w�Ó���µw�t���‰x� ���þx�j���y�~���Šy�p��� z�Ê���zz�Y���E{�U���Ÿ{�A���õ{����7|�&���V|����}|����›|�^���¬|����r�����������p���õ��n���ë��»�����������ž�������� ���…��á��|�����������t���������������������H��K��������������������3��{��������ù��� ����������j������������M�������}��§�����=��������������[���e��^��:���¼��³���š������“��¯��z��¦������h����������õ���!�������n��������������ƒ�������ƒ��`��M������O���Ü�����r���p�����C����� ��������¤�� ��Y���������¡��ò�������2���}����������ò����������:����3���������������—��S������æ��Ê��������£���Œ����������Ë������ ������£����Ï��È��ö�� ��_��8����Ñ���.��m���·���ß���������������*���)������g���Ð���w������z������A���å��� �� ��������ï����ƒ����������‡��Í����¢��‹��ž��Y��ï��0��m��¥������ ����e��á������ë��…���������›���­������!������2��Ê�������†��Œ��������������†������������������@���h��������u��ñ���������þ������b�������V���í����i����������Ù������¡��Ñ����������������8�����������������G��Ý��²��E���_�����������������������������;��������������������F������������������ˆ������Š����������������.��¸��Ï�������o��‹������è��&��ó���c������'��¢�����������Ã�������/��ð��¿��������������&���Æ���� ��F�������’���ç��Å��/�������3��W���Þ��›��4���(��$��¼���K��`���é���²�������1���5��������Ý���ã���k���€�����������Í���|��x������ÿ��������� ��"������ì������ ������¯��� ���1��:��\������=��������À��ÿ���÷��ê��Ž������`��É������"����±�����Ö����������Ñ��®������q��Ž�����À�������b��w����{��£��º��V��Å��[������Ð��^���U�����R������»��J�������º���0�������ë�������¨�������¢��å��Õ������\���µ��T���������������˜���Ç���X���Q��Ç������½��T������ï���F��´��#�����h������±�������Ë��b��À��Ÿ��o���×����������«�������������������4����������ù��l�������,��}���ß������Q�������ä����� ���q�������¬��¾���p������»��;���µ��Ã������+��T������������Ò����ð��P��9��ü���Ž������¦��� ���X������t������°������’������ç���½���¤��5��L���®��à�� ������v���˜������ú�����y���°��ª��Ý����������¶���Ü������á���œ���Þ����M��È���S���E��,���%������µ���û��(��)��y��Ô��y��������������Ê��a�����2����³��Ö�������S��ô���‹���������i���������������P��ø�������Î���!��Õ�������U����‘��f�����š���”��à���ú�������#���Ò��Á������e���Z�����Œ���s��k��²��Â���������m��L�����6��¤���*������B��°���õ������é��ù��>���­���­��Ç��É��� ��Ø������œ�� ��7��ª��¡�������Ø���'�������â����k��n������������û��˜������¨������s��·��ô��6���ø��÷����������������Ó��J�����é��ñ����¶��™������‰������&��‚��‚���ú��‰��j��B����������î���]���Û�����Y�����������u���ò��ÿ�� ���Ì������„��x��d��������������è������w����”�� ��'��������å��H��u��¸���œ��¨����í����������D��ç��¿���a��Ì������Ù����������5�����–��?��ß��G����Î������ý���‚��þ��?���I��ã��0��_��Ô���g�� ���‘���Ú�����������§���������+��q��������¿��������������‰�����ð���-��f�������?����—��©��î������ó��<��[��ì������4��;������ª���v�� ����������¸��c���<������c��Ó������ã��P�������8��ì�������ý��)���ä��Ò�����9���J��„��æ���È��€������ö������ö���ý��’������~���±��Á��“���•���7��·��-������Q����������Á��™��Ú��Ã��Ø��Z�� ��¦����Þ���l��C��d���¼���������D��€������Z��]��N���…�����(�����������Å�����������������û���Ä������É��Ä���U���1��\��ˆ���Ï��.���—���Û��� ��›������§�����������Æ������d������*��Û��������~��������������<���6��“������|��{���Ÿ���������â��š��«��è���à��¹���I���”���~���������r��#��-���O��$��¹����������–�������W��W��í���ø����������g����ˆ��‡���Â��j���������������â�������������´���������„���Æ�����������©�������z���ü������ž���$���Š����������¾��7���v��þ���†���x������ó��¯��l������>������Ó��R��ñ����Ú��ä��º������×��o����G������¥�� ����������H�������¬���Ü������ô��+���O��>��E�����,��i����¶��³��ê��Š��������•��K�����������X��–������^������Í����/��½����������A��î������Â��«��A��¾��D�����������¥��%��ê���=���������������a���t������N��´��ü����Î����������C��®��Ö��©��������I��‘��V��×��� ���Ì���s���R���™���÷���9��Ô��f��Ð����������Ÿ��B���%���]��Ä����¬�����@����������•��Ù����������������N��¹��L������Ë���@����������������æ������Õ��"���‡����� }�,C��XC��lC��€C��”C��¨C��ÄC��ØC��D�� D��<D��PD��dD��€D��}��������������� �����������������ÿÿÿÿ3}��������1���ÿÿÿÿe}��������/���ÿÿÿÿ•}�7����������ÿÿÿÿß}��������(���ÿÿÿÿ ~������������������ÿÿÿÿ8~�����������ÿÿÿÿ?~��������������� �����������������ÿÿÿÿ‚~���������������"���ÿÿÿÿÄ~��������*����������ÿÿÿÿ�x����������ÿÿÿÿ©��������U���ÿÿÿÿ€�5�������/����������ÿÿÿÿh€� ����������ÿÿÿÿ� ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -g like -l, but do not list owner � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --login print system login processes � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �Address family for hostname not supported�All requests done�Avail�Available�Bad value for ai_flags�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Compare sorted files FILE1 and FILE2 line by line. �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Directory: �EXIT�Echo the STRING(s) to standard output. -n do not output the trailing newline �Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�Fifos do not have major and minor device numbers.�Filesystem�Force changed blocks to disk, update the super block. �IDLE�IFree�IUse%�IUsed�Idle�In real life: �Infinity B�Inodes�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�LINE�Login�Login name: �Memory allocation failure�Memory exhausted�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Parameter string not correctly encoded�Plan: �Premature end of regular expression�Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the user name associated with the current effective user ID. Same as id -un. �Processing request in progress�Project: �Regular expression too big�Request canceled�Request not canceled�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Size�Special files require major and minor device numbers.�Success�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Trailing backslash�Two strings must be given when translating.�Type�Unknown error�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�conflicting empty-field replacement strings�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �directory�division by zero�empty file name�empty tab�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to return to initial working directory�failed to set the copy of stderr to close on exec�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fifo�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid header numbering style: %s�invalid input�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid precision: %s�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid tab size: %s�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no file systems processed�no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�string transformation failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�total�typed memory object�unable to record current working directory�unknown binary operator�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 6.5 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2006-11-23 22:41+0200 Last-Translator: Anton Zinoviev <zinoviev@debian.org> Language-Team: Bulgarian <dict@fsa-bg.org> Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � ( ИЗРÐЗ ) ИЗРÐЗ е иÑтина ! ИЗРÐЗ ИЗРÐЗ е лъжа ИЗРÐЗ1 -a ИЗРÐЗ2 както ИЗРÐЗ1, така и ИЗРÐЗ2 Ñа иÑтина ИЗРÐЗ1 -o ИЗРÐЗ2 поне един от ИЗРÐЗ1 и ИЗРÐЗ2 е иÑтина � -a, --all Ñъщото като -b -d --login -p -r -t -T -u -b, --boot времето на поÑледното начално зареждане -d, --dead извежда Ð±Ñ€Ð¾Ñ ÑƒÐ¼Ñ€ÐµÐ»Ð¸ процеÑи -H, --heading извежда антетка � -b ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñпециален блоков -c ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволен Ñпециален -d ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е каталог -e ФÐЙЛ ФÐЙЛ ÑъщеÑтвува � -l извежда в дълъг по-подробен формат за поÑочените ПОТРЕБИТЕЛи -b изпуÑка потребителÑÐºÐ¸Ñ Ð´Ð¾Ð¼Ð°ÑˆÐµÐ½ каталог в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -h изпуÑка потребителÑÐºÐ¸Ñ Ñ„Ð°Ð¹Ð» проект в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -p изпуÑка потребителÑÐºÐ¸Ñ Ñ„Ð°Ð¹Ð» план в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -s извежда в кратък формат; по подразбиране е така � [-n] ÐИЗ ÐИЗ е Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð° дължина ÐИЗ Ñъщото като -n ÐИЗ -z ÐИЗ ÐИЗ е Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° нула ÐИЗ1 = ÐИЗ2 низовете Ñа еднакви ÐИЗ1 != ÐИЗ2 низовете не Ñа еднакви � ARG1 * ARG2 аритметично произведение на ARG1 и ARG2 ARG1 / ARG2 аритметично чаÑтно на ARG1 разделен на ARG2 ARG1 % ARG2 аритметичен оÑтатък на ARG1 разделен на ARG2 � ARG1 + ARG2 аритметична Ñума на ARG1 и ARG2 ARG1 - ARG2 аритметична разлика на ARG1 и ARG2 � ARG1 < ARG2 ARG1 е по-малък от ARG2 ARG1 <= ARG2 ARG1 е по-малък или равен на ARG2 ARG1 = ARG2 ARG1 е равен на ARG2 ARG1 != ARG2 ARG1 е различен от ARG2 ARG1 >= ARG2 ARG1 е по-голÑм или равен на ARG2 ARG1 > ARG2 ARG1 е по-голÑм от ARG2 � ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 и ФÐЙЛ2 имат еднакви номера на уÑтройÑтво и i-възел ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 е по-нов (ÑпрÑмо датата на изменение) от ФÐЙЛ2 ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 е по-Ñтар от ФÐЙЛ2 � ЦЯЛО1 -eq ЦЯЛО2 ЦЯЛО1 е равно на ЦЯЛО2 ЦЯЛО1 -ge ЦЯЛО2 ЦЯЛО1 е по-голÑмо или равно на ЦЯЛО2 ЦЯЛО1 -gt ЦЯЛО2 ЦЯЛО1 е по-голÑмо от ЦЯЛО2 ЦЯЛО1 -le ЦЯЛО2 ЦЯЛО1 е по-малко или равно на ЦЯЛО2 ЦЯЛО1 -lt ЦЯЛО2 ЦЯЛО1 е по-малко от ЦЯЛО2 ЦЯЛО1 -ne ЦЯЛО2 ЦЯЛО1 е различно от ЦЯЛО2 � ÐИЗ : РЕГИЗР Ñтриктно (anchored) ÑъпоÑтавÑне на образеца РЕГИЗР в ÐИЗ match ÐИЗ РЕГИЗР Ñъщото като ÐИЗ : РЕГИЗР substr ÐИЗ ПОЗИЦ ДЪЛЖ подниз на ÐИЗ, ПОЗИЦ Ñе брои от 1 index ÐИЗ ЗÐÐЦИ мÑÑто в ÐИЗ, където Ñе намира нÑкой от ЗÐÐЦИ, или 0 length ÐИЗ дължината на ÐИЗ � b Ñъздава блоков (буфериран) Ñпециален файл c, u Ñъздава Ñимволен (небуфериран) Ñпециален файл p Ñъздава именуван канал � брой потребители - %lu � ПроÑто - означава -i. Ðко не е дадена КОМÐÐДÐ, отпечатва полученото обкръжение. � След кой да е от флаговете може да бъде поÑочена ширина на полето във вид на деÑетично чиÑло, Ñлед което може да е зададен още един от Ñледните модификатори: E за да Ñе използва алтернативното предÑтавÑне Ñпоред локала, или O за да Ñе използват алтернативните чиÑлови знаци, ако ги има. � Ðко ИЗРÐЗ е изпуÑнат, Ñе приема лъжа. Иначе ИЗРÐЗ е иÑтина и лъжа и Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ ÐºÐ¾Ð´Ð° на завършване. Той може да бъде: � По изключение ако Ñа зададени опции --force и --backup, а ИЗТОЧÐИК и ЦЕЛ Ñа едно и Ñъщо име на ÑъщеÑтвуващ обикновен файл, cp прави резервно копие на ИЗТОЧÐИК. � Ð’ командните обвивки трÑбва да защитавате много от операторите Ñ ÐºÐ°Ð²Ð¸Ñ‡ÐºÐ¸ или \. СравнениÑта Ñа аритметични, ако и двата ARG Ñа чиÑла, а иначе лекÑикографÑки. СъпоÑтавÑниÑта Ñ Ð¾Ð±Ñ€Ð°Ð·ÐµÑ† връщат низа, паÑнал между първите \( и \) или празен, а ако не Ñа използвани \( и \) връща Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñнали знаци или 0. � Както ГОЛЯМ, така и МÐЛЪК трÑбва да Ñе поÑочат, ако ТИП е „b“, „c“ или „u“, и трÑбва да Ñе пропуÑнат, ако ТИП е „p“. Ðко ГОЛЯМ или МÐЛЪК започва Ñ 0x или 0X, номерът Ñе интерпретира като шеÑтнадеÑетичен, иначе ако започва Ñ 0, като оÑмичен и иначе -- като деÑетичен. ТИП може да бъде: � По подразбиране rm не изтрива каталози. За целта ползвайте опциÑта --recursive (-r или -R), коÑто ще изтрие вÑеки изброен каталог, заедно ÑÑŠÑ Ñъдържанието му. � По подразбиране Ñе използва -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC Ñа двата Ñимвола, използвани за разделÑне на логичеÑките Ñтраници. Ðко липÑва, по подразбиране вториÑÑ‚ Ñимвол е :. Използвайте \\ за \. СТИЛ е едно от: � Комбинирани наÑтройки: * [-]LCASE Ñъщото като [-]lcase cbreak Ñъщото като -icanon -cbreak Ñъщото като icanon � Ð’Ñеки знак за ФЛÐГ може да бъде: append режим добавÑне (ÑмиÑлено Ñамо за изхода, препоръчва Ñе conv=notrunc) � Примери: %s f - g Извежда Ñъдържанието на f, поÑле ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ и g %s Копира ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. � Примери: %s root /u прави ÑобÑтвеника на /u да бъде „root“. %s root:staff /u подобно, но Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¸ групата на „staff“. %s -hR root /u прави ÑобÑтвеника на /u и файловете в /u да е „root“. � Примери: %s staff /u прави групата на /u да бъде „staff“. %s -hR staff /u прави групата на /u и файловете в /u да бъде „staff“. � ОÑвен -h и -L, вÑички файлови проверки Ñе отнаÑÑÑ‚ към Ñочените от Ñимволни връзки файлове. Имайте предвид, че при повечето обвивки Ñкобите трÑбва да бъдат защитени (напр. Ñ \). ЦЯЛО може да бъде Ñъщо и -l ÐИЗ и дава дължината на ÐИЗ. � Кодът на завършване е 0, ако ИЗРÐЗ не е нито празен, нито 0; 1, ако ИЗРÐЗ е празен или 0; 2, ако ИЗРÐЗ е Ñинтактично неправилен и 3, ако е Ñтанала грешка. � УправлÑва терминалната линиÑ, Ñвързана на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Без аргументи извежда ÑкороÑтта в бодове (Ñ‚.е. бит/Ñек), диÑциплината на линиÑта и различиÑта от stty sane. Ð’ наÑтройките ЗÐÐК Ñе задава буквално или кодиран като ^c, 0x37, 0177 или 127; Ñпециалните ÑтойноÑти ^- и undef Ñе използват, за да Ñе забранÑÑ‚ Ñъответните управлÑващи знаци. � Ðко ФÐЙЛ е -, заличава ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Изтрива ФÐЙЛ(овете), ако е поÑочена Ð¾Ð¿Ñ†Ð¸Ñ --remove (-u). По подразбиране файловете не Ñе изтриват, защото е обичайно shred да Ñе използва за уÑтройÑтва като /dev/hda, а обикновено такива файлове не трÑбва да Ñе изтриват. Когато Ñе дейÑтва върху обикновени файлове, повечето хора използват опциÑта --remove. � Ðко ФÐЙЛ е -, копира отново към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. � ÐаÑтройки на входа: [-]brkint прекъÑваниÑта да довеждат до Ñигнал за прекъÑване [-]icrnl превежда кодовете за връщане на курÑора в кодове за нов ред [-]ignbrk пренебрегва знаците за прекъÑване [-]igncr пренебрегва знаците за връщане на курÑора � Локални наÑтройки: [-]crterase ехо на кодовете за изтриване като backspace-интервал-backspace * crtkill убива реда Ñпоред на наÑтройките echoprt и echoe * -crtkill убива реда Ñпоред на наÑтройките echoctl и echok � ЗÐБЕЛЕЖКÐ: Обвивката ви може да има ÑÐ²Ð¾Ñ ÑобÑтвена верÑÐ¸Ñ Ð½Ð° %s. Ð¢Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¾ Ñе предпочита пред верÑиÑта, опиÑана тук. ÐœÐ¾Ð»Ñ Ð¾Ð±ÑŠÑ€Ð½ÐµÑ‚Ðµ Ñе към документациÑта на използваната от Ð²Ð°Ñ Ð¾Ð±Ð²Ð¸Ð²ÐºÐ° за поддържаните от Ð½ÐµÑ Ð¾Ð¿Ñ†Ð¸Ð¸. � ÐœÐ¸Ð½ÑƒÑ Ð¿Ñ€ÐµÐ´Ð¸ ÐÐСТРОЙКРпоказва отрицание. Знак * означава не POSIX наÑтройка. Кои наÑтройки Ñа допуÑтими завиÑи от използваната ÑиÑтема. � ÐаÑтройки на извеждането: * bsN Ñтил за задържане на backspace, N е 0 или 1 * crN Ñтил за задържане на връщане на курÑора, N е от 0 до 3 * ffN Ñтил за задържане на код за нова Ñтраница, N е 0 или 1 * nlN Ñтил за задържане на код за нов ред, N е 0 или 1 � Отпечатва ÑтойноÑтта на ИЗРÐЗ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. По-долу празни редове отделÑÑ‚ групите операции Ñ Ð½Ð°Ñ€Ð°Ñтващ приоритет. ИЗРÐЗ може да бъде: ARG1 | ARG2 ARG1, ако той не е нито празен, нито 0, а иначе ARG2 ARG1 & ARG2 ARG1, ако никой от аргументите не е празен или 0, иначе 0 � Ðко ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. Ð’Ñеки ОБРÐЗЕЦ може да бъде: � МÐОЖ Ñе задават като низове от знаци. Повечето предÑтавÑÑ‚ Ñебе Ñи. Интерпретирани поÑледователноÑти Ñа Ñледните: \NNN знакът Ñ Ð¾Ñмичен код NNN (1 до 3 оÑмични цифри) \\ обратна наклонена черта \a BEL (звуков Ñигнал) \b backspace \f form feed (край на Ñтраницата) \n нов ред (new line) \r връщане на курÑора (return) \t хоризонтална Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ � УправлÑващи кодове: * dsusp ЗÐÐК ЗÐÐК ще изпрати Ñигнал terminal stop, когато входът изпрати eof ЗÐÐК ЗÐÐК ще изпрати Ñигнал край на файл (ще прекрати входа) eol ЗÐÐК ЗÐÐК ще завърши реда � Ðко нÑма ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. � Без опции извежда информациÑта в триколонен формат. ПървиÑÑ‚ Ñтълб Ñъдържа редовете, които Ñа Ñамо във ФÐЙЛ1. ВториÑÑ‚ Ñтълб Ñъдържа редовете, които Ñа Ñамо във ФÐЙЛ2. ТретиÑÑ‚ Ñтълб Ñъдържа редовете, общи и за двата файла. � Без никаква ОПЦИЯ проÑто отпечатва полезна идентификационна информациÑ. � Извежда еднозначно предÑтавÑне (по подразбиране оÑмични байтове) на ФÐЙЛ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Ðко Ñа поÑочени повече от един ФÐЙЛ, поÑледователно обработва и извежда файловете в поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ´. Без ФÐЙЛ или ако ФÐЙЛ е - Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. � --backup[=МЕТОД] копира резервно вÑеки ÑъщеÑтвуващ целеви файл -b като --backup, но не позволÑва аргумент -d, -F, --directory позволÑва на root да Ñе опита да направи твърди връзки към каталози (забележка: поради ограни- Ñ‡ÐµÐ½Ð¸Ñ Ð² ÑиÑтемата това вероÑтно ще пропадне) -f, --force изтрива ÑъщеÑтвуващи целеви файлове � --help извежда тази Ñправка и завършва � --lookup опитва да канонизира мрежовите имена на компютрите чрез DNS -m Ñамо мрежовото име и потребителÑ, Ñвързан на Ñтанд. вход -p, --process извежда активните процеÑи, породени от init � --no-preserve=СПИС_ÐТРИБ да не Ñе запазват поÑочените атрибути --parents допълва КÐТÐЛОГ Ñ Ð¿ÑŠÑ‚ÐµÐºÐ°Ñ‚Ð° в ИЗТОЧÐИК � --one-file-system при рекурÑивно оÑтранÑване на файлове, пропуÑка каталози, които Ñа на файлова ÑиÑтема, различна от тази на ÑÑŠÐ¾Ñ‚Ð²ÐµÑ‚Ð½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ � --strip-trailing-slashes отÑтранÑва крайните наклонени черти от вÑеки аргумент ЦЕЛ -S, --suffix=СУФИКС вмеÑто Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ ÑÑƒÑ„Ð¸ÐºÑ Ð·Ð° резервни ÐºÐ¾Ð¿Ð¸Ñ � --version извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑта и завършва � -evenp Ñъщото като -parenb cs8 * [-]lcase Ñъщото като xcase iuclc olcuc litout Ñъщото като -parenb -istrip -opost cs8 -litout Ñъщото като parenb istrip opost cs7 nl Ñъщото като -icrnl -onlcr -nl Ñъщото като icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar пренебрегва знаците Ñ Ð³Ñ€ÐµÑˆÐºÐ° на четноÑтта * [-]imaxbel звуков Ñигнал и запазване на препълнен буфер при нов знак [-]inlcr превежда кодовете за нов ред в кодове за връщане на курÑора [-]inpck позволÑва проверка за четноÑтта на входа [-]istrip изчиÑтва ÑÑ‚Ð°Ñ€ÑˆÐ¸Ñ (8-миÑ) бит на входните знаци � cooked Ñъщото като brkint ignpar istrip icrnl ixon opost isig icanon управлÑващите Ñимволи eof и eol имат Ñтандартното Ñи значение -cooked Ñъщото като raw crt Ñъщото като echoe echoctl echoke � dec Ñъщото като echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq Ñъщото като [-]ixany ek управлÑващите Ñимволи erase и kill ÑÑŠÑ Ñтандартната Ñи ÑтойноÑÑ‚ evenp Ñъщото като parenb -parodd cs7 � ispeed N поÑочва ÑкороÑÑ‚ на входа N бода * line N ползва редова диÑциплина N min N Ñ -icanon поÑочва поне N знака за завършено четене ospeed N поÑочва ÑкороÑÑ‚ на изхода N бода � oddp Ñъщото като parenb parodd cs7 -oddp Ñъщото като -parenb cs8 [-]parity Ñъщото като [-]evenp pass8 Ñъщото като -parenb -istrip cs8 -pass8 Ñъщото като parenb istrip cs7 � raw Ñъщото като -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw Ñъщото като � stop ЗÐÐК ЗÐÐК ще Ñпре извеждането susp ЗÐÐК ЗÐÐК ще изпрати Ñигнал „Ñпиране на терминала“ * swtch ЗÐÐК ЗÐÐК ще превключи на друг Ñлой на обвивката (shell layer) * werase ЗÐÐК ЗÐÐК ще изтрие поÑледната въведена дума � %A Ð´ÐµÐ½Ñ Ð¾Ñ‚ Ñедмицата Ñпоред локала, променлива дължина (напр. понеделник) %b Ñъкратено име на меÑеца Ñпоред локала (Ñну, фев, мар) %B име на меÑеца Ñпоред локала, променлива дължина (напр. Ñнуари) %c датата и чаÑÑŠÑ‚ Ñпоред локала (например Ñб ное 4 12:02:33 EЕТ 1989) � %F пълната дата; Ñъщото като %Y-%m-%d %g поÑледните две цифри на годината, Ñъдържаща Ñедмицата Ñ Ð½Ð¾Ð¼ÐµÑ€ %V %G годината, Ñъдържаща Ñедмицата Ñ Ð½Ð¾Ð¼ÐµÑ€ %V � %S Ñекундите (00-60); 60 вмеÑто 59, за да Ñе обхване и коригираща Ñекунда %t хоризонтална Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ %T 24 чаÑово време, Ñъщото като %H:%M:%S %u денÑÑ‚ от Ñедмицата (1-7); 1 означава понеделник � %U номерът на Ñедмицата в годината, Ð½ÐµÐ´ÐµÐ»Ñ Ðµ пръв Ñедмичен ден (00-53) %V номерът на Ñедмицата в годината, понеделник е пръв Ñедмичен ден (01-53) %w Ð´ÐµÐ½Ñ Ð¾Ñ‚ Ñедмицата (0-6); 0 означава Ð½ÐµÐ´ÐµÐ»Ñ %W номерът на Ñедмицата в годината, понеделник е пръв Ñедмичен ден (00-53) � %h Ñъщо като %b %H чаÑÑŠÑ‚ (00-23) %I чаÑÑŠÑ‚ (01-12) %j поредниÑÑ‚ ден в годината (001-366) � %n нов ред %N наноÑекунди (000000000-999999999) %p указателÑÑ‚ AM или PM Ñ Ð³Ð»Ð°Ð²Ð½Ð¸ букви (празен в българÑÐºÐ¸Ñ Ð»Ð¾ÐºÐ°Ð») %P като %p, но Ñ Ð¼Ð°Ð»ÐºÐ¸ букви %r 12 чаÑово време Ñпоред локала (напр. 11,11,04) %R 24 чаÑово време, Ñъщото като %H:%M %s Ñекундите изминали от 1 Ñнуари 1970, 00:00:00 по гринуич � %x датата, предÑтавена Ñпоред локала (напр. 31.12.99) %X времето, предÑтавено Ñпоред локала (напр. 23,13,48) %y поÑледните две цифри от годината (00-99) %Y годината � -D Ñъздава вÑички начални компоненти на ЦЕЛ оÑвен поÑледниÑ, а Ñлед това копира ИЗТОЧÐИК в ЦЕЛ -g, --group=ГРУПРпоÑочва група вмеÑто текущата група на процеÑа -m, --mode=РЕЖИМ поÑочва режим за доÑтъп (като при chmod), вмеÑто rwxr-xr-x -o, --owner=СОБСТВ поÑочва ÑобÑтвеник (Ñамо от привилегирован потребител) � -D, --date-format=ФОРМÐТ да Ñе ползва ФОРМÐТ при датата на колонтитула -e[ЗÐÐК[ШИР]], --expand-tabs[=ЗÐÐК[ШИР]] разширÑва вÑеки входен ЗÐÐК като Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ ÑÑŠÑ Ð¨Ð˜Ð Ð¸Ð½Ð° (8) -F, -f, --form-feed Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ñтраниците Ñ form feed вмеÑто Ñ Ð½Ð¾Ð²Ð¸ редове (при -F има 3-редов горен колонтитул, а без -F има 5-редови горен и долен колонтитули) � -I пита веднъж преди изтриването на повече от три файла или при рекурÑивно триене. По-малко доÑадно от -i, но вÑе пак защитава Ñрещу повечето грешки --interactive[=КОГÐ] пита Ñпоред КОГÐ: never, once (-I) или always (-i). Без КОГРпита винаги � -L ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволна връзка (Ñъщото като -h) -O ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и Ñе притежава от дейÑтващиÑÑ‚ потребител -p ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е именуван канал -r ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е доÑтъпен за четене -s ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и има ненулев размер � -S Ñортира Ñпоред размера на файловете --sort=ДУМРÑортира Ñпоред ДУМÐ: none -U, extension -X, size -S, time -t, version -v --time=Ð”Ð£ÐœÐ Ñ -l показва времето ДУМРвмеÑто времето на промÑ- на. ДУМРможе да бъде atime, access, use, ctime, или status; по това време Ñе и Ñортира � -S ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е гнездо -t [FD] файловиÑÑ‚ деÑкриптор FD е отворен на терминал -u ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ set-user-ID -w ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е доÑтъпен за Ð·Ð°Ð¿Ð¸Ñ -x ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е изпълним файл (при каталог: може да Ñе търÑи) � -T, -w, --mesg Ð´Ð¾Ð±Ð°Ð²Ñ ÑÑŠÑтоÑнието на mesg на потребителите (+, - или ?) -u, --users изрежда потребителите, влезли в ÑиÑтемата --message Ñъщото като -T --writable Ñъщото като -T � -W, --word-regexp=РЕГИЗР ползва РЕГИЗР като определÑщ какво е дума -b, --break-file=ФÐЙЛ думите Ñвършват при знак от този ФÐЙЛ -f, --ignore-case Ñортира еднакво главните и малките букви -g, --gap-size=БРОЙ мÑÑто между полетата в изхода -i, --ignore-file=ФÐЙЛ ФÐЙЛ Ñ Ð´ÑƒÐ¼Ð¸, които да Ñе пренебрегват -o, --only-file=ФÐЙЛ признават Ñе Ñамо думи от този ФÐЙЛ � -a, --across печата Ñтълбовете напреки вмеÑто надолу, използва Ñе заедно Ñ -COLUMN -c, --show-control-chars използва Ð·Ð°Ð¿Ð¸Ñ ÑÑŠÑ ÑˆÐ°Ð¿ÐºÐ¸ (^G) и оÑмични чиÑла -d, --double-space двойни интервали в изхода � -a, --all преобразува вÑÑко бÑло поле, а не Ñамо в началото на редовете --first-only преобразува Ñамо бÑло поле в началото на редовете (Ð¾Ñ‚Ð¼ÐµÐ½Ñ -a) -t, --tabs=N използва табулации през N знака вмеÑто през 8 (позволÑва -a) -t, --tabs=СПИС СПИСък от разделени Ñ â€ž,“ позиции за табулации (позволÑва -a) � -b, --before Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¸, а не Ñлед -r, --regex интерпретира Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ ÐºÐ°Ñ‚Ð¾ регулÑрен израз -s, --separator=ÐИЗ вмеÑто кода за нов ред, използва като разделител ÐИЗ � -b, --body-numbering=СТИЛ ползва СТИЛ при номериране редовете от Ñ‚Ñлото -d, --section-delimiter=CC CC да е разделител между логичеÑките Ñтраници -f, --footer-numbering=СТИЛ ползва СТИЛ при номериране Ð´Ð¾Ð»Ð½Ð¸Ñ ÐºÐ¾Ð»Ð¾Ð½Ñ‚Ð¸Ñ‚ÑƒÐ» � -b, --bytes брои байтовете, вмеÑто Ñтълбовете -s, --spaces прекъÑва при интервали -w, --width=ШИРИÐРда Ñе ползват ШИРИÐÐ Ñтълбове, вмеÑто 80 � -b, --bytes=СПИСЪК извежда Ñамо тези байтове -c, --characters=СПИСЪК извежда Ñамо тези знаци -d, --delimiter=РÐЗДЕЛ РÐЗДЕЛ вмеÑто Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ‚Ð¾ разделител между полетата � -b, --ignore-leading-blanks не отчита интервалите в началото -d, --dictionary-order отчита Ñамо интервалите и буквено-цифровите знаци -f, --ignore-case приравнÑва малките Ñ Ð³Ð»Ð°Ð²Ð½Ð¸Ñ‚Ðµ букви � -c, --count редовете да Ñе предхождат от брой ÑÑ€ÐµÑ‰Ð°Ð½Ð¸Ñ -d, --repeated извежда Ñамо повтарÑщите Ñе редове � -c, --crown-margin запазва отÑтъпа на първите два реда -p, --prefix=ÐИЗ преформатира Ñамо редовете, започващи Ñ ÐИЗ. Маха ÐИЗ, форматира, Ñлед което Ð´Ð¾Ð±Ð°Ð²Ñ Ð¿Ð°Ðº ÐИЗ -s, --split-only цепи дългите редове, но не попълва къÑите � -d, --delimiters=СПИС Ñ€Ð°Ð·Ð´ÐµÐ»Ñ ÑÑŠÑ Ð·Ð½Ð°Ñ†Ð¸Ñ‚Ðµ от СПИС вмеÑто Ñ Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ð¸ -s, --serial изкарва файловете един Ñлед друг вмеÑто паралелно � -e позволÑва обработката знаци, защитени Ñ \ -E забранÑва Ñпециалната обработка на \ (по подразбиране) � -e позволÑва обработката знаци, защитени Ñ \ (по подразбиране) -E забранÑва Ñпециалната обработка на \ � -f изпуÑка реда-антетка при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -w изпуÑка пълните имена при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -i изпуÑка пълните имена и отдалечените хоÑтове при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ -q изпуÑка пълните имена, отдалечените хоÑтове и време на неактивноÑÑ‚ при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ � -f е Ñъщото като -t fF, извеждат Ñе чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ -i е Ñъщото като -t dI, извеждат Ñе деÑетични цели чиÑла -l е Ñъщото като -t dL, извеждат Ñе деÑетични дълги чиÑла -o е Ñъщото като -t o2, извеждат Ñе двубайтови оÑмични чиÑла -s е Ñъщото като -t d2, извеждат Ñе двубайтови деÑетични чиÑла -x е Ñъщото като -t x2, извеждат Ñе двубайтови шеÑтнадеÑетични чиÑла � -f ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е обикновен файл -g ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ set-group-ID -h ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволна връзка (Ñъщото като -L) -G ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и Ñе притежава от дейÑтващата (effective) група -k ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ sticky bit � -f, --fields=СПИС извежда Ñамо тези полета; отпечатва и вÑеки ред, който не Ñъдържа разделители между полетата, оÑвен ако е поÑочена и опциÑта -s. -n (пренебрегва Ñе) � -f, --follow[={name|descriptor}] извежда добавÑните данни при нараÑтване на файла; -f, --follow и --follow=descriptor Ñа еквивалентни -F Ñъщото като --follow=name --retry � -g като -l, но не извежда ÑобÑтвеника � -i, --initial не преобразува табулациите Ñлед не-интервал -t, --tabs=БРОЙ работи Ñ Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ð¸ през БРОЙ интервала вмеÑто през 8 � -i, --inodes извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° използваните i-възли, а не блокове -k като --block-size=1K -l, --local извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñамо за локалните файлови ÑиÑтеми --no-sync без sync преди получаване на използването (по подразб.) � -l да Ñе ползва формат Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾ изброÑване -L, --dereference при показване на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñимволна връзка да показва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» вмеÑто за Ñамата Ñимволна връзка -m попълва в широчина Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸ ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð¸ � -l, --login извежда процеÑите за влизане в ÑиÑтемата � -n, --digits=ЦИФРИ да Ñе използва поÑочениÑÑ‚ брой цифри вмеÑто 2 -s, --quiet, --silent да не Ñе извеждат размерите на генерираните файлове -z, --elide-empty-files да Ñе изтриват генерираните празни файлове � -n, --numeric-uid-gid като -l, но извежда номера за потребител и група -N, --literal извежда „Ñурови“ имена (напр. управлÑващите кодове не Ñе обработват по по-различен начин) -o като -l, но не извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° групата -p, --file-type Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº за типа (нÑкой от /=@|) към елементите -p, --indicator-style=slash Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº / към каталозите � -q, --count извежда вÑички входни имена и Ð±Ñ€Ð¾Ñ Ð½Ð° влезлите потребители -r, --runlevel извежда текущото ниво на Ñтартиране -s, --short извежда Ñамо името, линиÑта и времето (по подразбиране) -t, --time извежда поÑледната промÑна на ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ñ‡Ð°Ñовник � -q, --quiet, --silent да не Ñе извеждат Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена -v, --verbose винаги да извежда Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена � -r, --references първото поле на вÑеки ред е препратка -t, --typeset-mode - не е реализирана - -w, --width=БРОЙ ширина на изхода, препратките не Ñе броÑÑ‚ � -s, --only-delimited да не Ñе отпечатват редове, неÑъдържащи разделители --output-delimiter=ÐИЗ да Ñе ползва ÐИЗ като разделител на изхода по подразбиране Ñе използва входниÑÑ‚ разделител � -s, --signal=СИГÐÐЛ, -СИГÐÐЛ поÑочва името или номера на Ñигнала, който да бъде изпратен -l, --list извежда имената на Ñигналите или ги преобразува в/от номера -t, --table извежда таблица Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñигналите � -s, --symbolic-link правене на Ñимволни връзки, а не копиране -S, --suffix=СУФИКС вмеÑто Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° резервни ÐºÐ¾Ð¿Ð¸Ñ --target-directory=КÐТÐЛОГ копира вÑички аргументи ИЗТОЧÐИК в КÐТÐЛОГ -T, --no-target-directory работи Ñ Ð¦Ð•Ð› като Ñ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÐµÐ½ файл � -t еквивалентно на -vT -T, --show-tabs изобразÑва табулациите като ^I -u (пренебрегва Ñе) -v, --show-nonprinting ползва Ð·Ð°Ð¿Ð¸Ñ Ñ ^ и M-, оÑвен за нов ред и Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ � -t, --tabs=СПИС да Ñе ползва ÑпиÑък от Ñвно зададени табулационни позиции � --target-directory=КÐТÐЛОГ премеÑтва вÑички аргументи ИЗТОЧÐИК в КÐТÐЛОГ -T, --no-target-directory работи Ñ DEST като Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ файл -u, --update премеÑтва Ñамо ако ИЗТОЧÐИК е по-нов от Ñ†ÐµÐ»ÐµÐ²Ð¸Ñ Ñ„Ð°Ð¹Ð», или ако целевиÑÑ‚ файл липÑва -v, --verbose Ñъобщава какво Ñе прави � -u, --remove Ñъкращава до нулева дължина и изтрива файла Ñлед заличаването -v, --verbose показва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° напредъка -x, --exact не закръглÑва размерите на файловете до ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð¿ÑŠÐ»ÐµÐ½ блок; за Ñпециални файлове и каталози това е по подразбиране -z, --zero Ð½Ð°ÐºÑ€Ð°Ñ Ð·Ð°Ð»Ð¸Ñ‡Ð°Ð²Ð° Ñ Ð½ÑƒÐ»Ð¸, за да Ñе Ñкрие използването на shred � -u, --update копира Ñамо, ако ИЗТОЧÐИК е по-нов от Ñ†ÐµÐ»ÐµÐ²Ð¸Ñ Ñ„Ð°Ð¹Ð» или ако целевиÑÑ‚ файл липÑва -v, --verbose Ñъобщава какво Ñе прави -x, --one-file-system оÑтава в текущата файлова ÑиÑтема � -v, --kernel-version извежда верÑиÑта на Ñдрото -m, --machine извежда хардуерното име на машината -p, --processor извежда типа на микропроцеÑора или „unknown“ -i, --hardware-platform извежда хардуерната платформа или „unknown“ -o, --operating-system извежда операционната ÑиÑтема � -w, --check-chars=N ÑравнÑва по не повече от N знака в редовете � -z, --zero-terminated завършва редовете Ñ Ð±Ð°Ð¹Ñ‚ 0 вмеÑто Ñ Ð½Ð¾Ð² ред � [:graph:] вÑички видими знаци Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на интервали, табулации и др. [:lower:] вÑички малки букви [:print:] вÑички видими знаци, включително интервали, табулации [:punct:] вÑички препинателни знаци [:space:] хоризонтално или вертикално бÑло поле [:upper:] вÑички главни букви [:xdigit:] вÑички шеÑтнадеÑетични цифри [=ЗÐÐК=] вÑички знаци, еквивалентни на ЗÐÐК � \v вертикална Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð—ÐÐК1-ЗÐÐК2 вÑички знаци от ЗÐÐК1 до ЗÐÐК2 [ЗÐÐК*] (Ñамо при МÐОЖ2) ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° ЗÐÐК до доÑтигане дължината на МÐОЖ1 [ЗÐÐК*ПОВТ] ПОВТ Ð±Ñ€Ð¾Ñ Ð½Ð° ЗÐÐК; ПОВТ е оÑмично чиÑло, ако започва Ñ 0 [:alnum:] вÑички букви и цифри [:alpha:] вÑички букви [:blank:] вÑички празни знаци (интервал, табулации) [:cntrl:] вÑички управлÑващи Ñимволи [:digit:] вÑички цифри � binary да Ñе използват двоични входно/изходни операции за данните � d[РÐЗМ] знаково деÑетично чиÑло от РÐЗМ байта f[РÐЗМ] чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ð¾Ñ‚ РÐЗМ байта o[РÐЗМ] знаково оÑмично чиÑло от РÐЗМ байта u[РÐЗМ] беззнаково деÑетично чиÑло от РÐЗМ байта x[РÐЗМ] шеÑтнадеÑетично чиÑло от РÐЗМ байта � direct да Ñе използват директни входно/изходни операции за данните � dsync да Ñе използват Ñинхронизирани входно/изходни операции за данните � excl да не дейÑтва, ако Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» вече ÑъщеÑтвува nocreat да не Ñе Ñъздава Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» notrunc да не Ñъкращава Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» noerror продължава дори при възникване на грешка fdatasync запиÑва физичеÑки изходните данни още преди пълното приключване fsync подобно, но оÑвен това запиÑва и метаданните � noatime да не Ñе обновÑва времето за доÑтъп � noctty да не Ñе Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñващ терминал от файл � nofollow да не Ñе Ñледват Ñимволните връзки � nolinks отказва да работи при множеÑтво твърди връзки � nonblock да Ñе използват неблокиращи входно/изходни операции � none, off никога да не Ñе правÑÑ‚ резервни ÐºÐ¾Ð¿Ð¸Ñ (оÑвен при --backup) numbered, t да Ñе правÑÑ‚ номерирани резервни ÐºÐ¾Ð¿Ð¸Ñ existing, nil номерирани, ако вече Ñа правени номерирани, а проÑти иначе simple, never винаги да Ñе правÑÑ‚ проÑти резервни ÐºÐ¾Ð¿Ð¸Ñ � sync подобно, но Ñъщо и за метаданните (напр. на файловата ÑиÑтема) � text да Ñе използват текÑтови входно/изходни операции за данните � (резервно копие: %s)� * [-]iuclc превежда знаците от горен региÑтър в долен региÑтър * [-]ixany вÑеки знак да реÑтартира извеждането (не Ñамо знака за Ñтарт) [-]ixoff позволÑва изпращането на знаци за Ñтарт/Ñтоп [-]ixon позволÑва управление на потока XON/XOFF (Ñ‚.е. Ctrl-S/Ctrl-Q) [-]parmrk маркира грешките по четноÑÑ‚ (Ñ Ð¿Ð¾ÑледователноÑÑ‚ 255-0) [-]tandem Ñъщото като [-]ixoff � * [-]iutf8 да Ñе предполага, че входните знаци Ñа кодирани в UTF-8 � * [-]ocrnl превежда кодовете за връщане на курÑора в кодове за нов ред * [-]ofdel използва кодове delete за попълване вмеÑто null * [-]ofill използва попълващи кодове вмеÑто Ñинхронизиране при забавÑне * [-]olcuc превежда знаците от долен региÑтър в знаци от горен региÑтър * [-]onlcr превежда кодовете нов ред в кодове връщане на курÑора и нов ред * [-]onlret кодът за нов ред оÑъщеÑтвÑва връщане на курÑора � * [-]onocr не извежда знаци за връщане на курÑора в Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñтълб [-]opost дообработка (postprocess) на изхода * tabN Ñтил за задържане на кодове за хориз. табулациÑ, N е от 0 до 3 * tabs Ñъщото като tab0 * -tabs Ñъщото като tab3 * vtN Ñтил за задържане на кодове за вертик. табулациÑ, N е 0 или 1 � * eol2 ЗÐÐК алтернативен ЗÐÐК за край на реда erase ЗÐÐК ЗÐÐК ще изтрие поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÐ½ знак intr ЗÐÐК ЗÐÐК ще изпрати Ñигнал за прекъÑване kill ЗÐÐК ЗÐÐК ще изтрие Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€ÐµÐ´ � * lnext ЗÐÐК ЗÐÐК ще въведе ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð·Ð½Ð°Ðº буквално, дори ако е управлÑващ quit ЗÐÐК ЗÐÐК ще изпрати Ñигнал „изход“ * rprnt ЗÐÐК ЗÐÐК ще пречертае Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€ÐµÐ´ start ЗÐÐК ЗÐÐК ще възобнови извеждането, Ñлед като е било прекъÑнато � * rows N казва на Ñдрото, че терминалът има N реда * size извежда Ð±Ñ€Ð¾Ñ Ñ€ÐµÐ´Ð¾Ð²Ðµ и Ñтълбове Ñпоред Ñдрото speed извежда ÑкороÑтта на терминала time N Ñ -icanon поÑочва прекъÑване при четене до N деÑети от Ñекундата � TTY� групи=� Ñтар � при повтарÑне %s �% 1% от паметта, b 1, K 1024 (по подразб.) и Ñ‚.н. за M, G, T, P, E, Z, Y. Без ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. *** Ð’ÐИМÐÐИЕ *** Локалът, поÑочен в обкръжението, влиÑе на наредбата. Използвайте LC_ALL=C, за да получите традиционната наредба, коÑто ÑравнÑва Ñпоред кодовете на знаците. �%.*s: неправилна ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° преобразувание�%e %b %Y�%e %b %k,%M�%lu потребител�%lu потребителÑ�%s (за рег. израз %s)�%s -> %s (от резервно копие) �%s и %s Ñа един и Ñъщ файл�%s ÑъщеÑтвува, но не е каталог�%s Ñе е поÑвил; Ñледва Ñе краÑÑ‚ на Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»�%s е Ñтанал доÑтъпен�%s е Ñтанал недоÑтъпен�%s е бил заменен Ñ Ñ„Ð°Ð¹Ð», който е недоÑтъпен за tail; tail повече нÑма да го Ñледи�%s е бил заменен; Ñледва Ñе краÑÑ‚ на Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»�%s има непознат файлов тип�%s не е правилно положително цÑло чиÑло�%s е твърде дълго�%s: %s е толкова голÑм, че не е изводим�%s: %s: номерът на ред е извън диапазона�%s: %s: не е открито ÑъответÑтвие�%s: %s:%s: разбърканоÑÑ‚: �%s: ÐЕ УСПЯ ÑиÑтемна Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ open или read �%s: очаква Ñе двумеÑтна операциÑ�%s: отноÑителни Ñимволни връзки може да Ñе правÑÑ‚ Ñамо в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³�%s: не може да Ñе Ñмени режимът non-blocking�%s: не може да Ñе намери името на потребител Ñ Ð½Ð¾Ð¼ÐµÑ€ %lu �%s: не може да Ñе Ñледва ÐºÑ€Ð°Ñ Ð½Ð° този тип файлове; tail нÑма да Ñледи този файл�%s: не може да Ñе отиде на първоначалното мÑÑто във файла�%s: каталогът не може да Ñе замеÑти�%s: битовете не могат да Ñе обръщат�%s: неуÑпешно позициониране�%s: не може да Ñе отиде на отмеÑтване %s отноÑно ÐºÑ€Ð°Ñ Ð½Ð° файла�%s: не може да Ñе отиде на отмеÑтване %s във файла�%s: не може да Ñе отиде на отноÑително отмеÑтване %s във файла�%s: не може да Ñе заличава файл Ñ Ñ€ÐµÐ¶Ð¸Ð¼ на доÑтъп Ñамо за добавÑне�%s: не може да Ñе презададе режимът non-blocking�%s: да Ñе навлезе ли в каталога %s? �%s: да Ñе навлезе ли в Ð·Ð°Ñ‰Ð¸Ñ‚ÐµÐ½Ð¸Ñ Ñрещу Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s? �%s: край на файла�%s: клаÑÑŠÑ‚ на еквивалентноÑÑ‚ трÑбва да Ñе означи Ñамо един знак�%s: грешка при Ñъкращаване�%s: грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° отмеÑтване %s�%s: очаква Ñе чиÑлова ÑтойноÑÑ‚�%s: не може да Ñе затвори�%s: не може да Ñе отвори в режим за пиÑане�%s: не може да Ñе отÑтрани�%s: неуÑпешно извикване на fcntl�%s: неуÑпешно извикване на fdatasync�%s: файлът има отрицателен размер�%s: файлът Ñе е Ñвил твърде много�%s: файлът е твърде дълъг�%s: файлът е твърде дълъг�%s: файлът е Ñъкратен�%s: неуÑпешно извикване на fstat�%s: неуÑпешно извикване на fsync�%s: не Ñе позволÑва твърда връзка към каталог�%s: входниÑÑ‚ файл Ñъдържа цикъл:�%s: входните данни Ñъдържат нечетен брой лекÑеми�%s: входниÑÑ‚ файл е изходен файл�%s: Ñлед разделител Ñе очаква цÑло чиÑло�%s: неправилен номер на процеÑ�%s: неправилен брой в началото на %s�%s: неправилна команда�%s: неправилна ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° поле %s�%s: неправилен размер на файла�%s: недопуÑтим тип на файла�%s: неправилен макÑимален брой доÑтъпи без промÑна между отварÑниÑта�%s: недопуÑтимо чиÑло�%s: неправилен брой байтове�%s: неправилен брой редове�%s: неправилен брой итерации�%s: неправилен брой Ñекунди�%s: неправилен образец�%s: неправилен номер на процеÑ�%s: неправилен регулÑрен израз: %s�%s: неправилен Ñигнал�%s: неправилна дължина на ÑуфикÑ�%s: номерът на ред трÑбва да бъде положителен�%s: номерът на ред е извън диапазона�%s: неуÑпешно извикване на lseek�%s: поÑочени Ñа много Ñигнали�%s: новиÑÑ‚ режим за доÑтъп е %s, а не %s�%s: не Ñа открити правилно форматирани %s редове Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð¸ Ñуми�%s: нÑма Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° размера на това уÑтройÑтво�%s: вече изведениÑÑ‚ каталог не Ñе извежда�%s: твърде голÑм брой байтове�%s: да Ñе замеÑти ли %s? �%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)...�%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)...%s�%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)...%s/%s %d%%�%s: грешка при четене�%s: да Ñе изтрие ли %s %s? �%s: да Ñе изтриÑÑ‚ ли рекурÑивно вÑички аргументи? �%s: да Ñе изтриÑÑ‚ ли вÑички аргументи�%s: да Ñе изтрие ли %s ÑÑŠÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð° Ñрещу Ð·Ð°Ð¿Ð¸Ñ %s? �%s: изтрит�%s: изтриване�%s: преименуван на %s�%s: да Ñе замени ли %s? �%s: неуÑпешно позициониране (seek) във файл�%s: твърде много редове Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð¸ Ñуми�%s: не може да Ñе определи макÑималната дължина за име на файл�%s: не може да Ñе оÑъщеÑтвÑÑ‚ вÑички поиÑкани операции�%s: очаква Ñе унарна операциÑ�%s: ÑтойноÑтта не е напълно преобразувана�%s: грешка при запиÑ�%s:%lu: неправилен ред; липÑва втора лекÑема�%s:%lu: непозната ключова дума %s�“�очаква Ñе „)“�очаква Ñе „)“, а е намерен %s�©�- log-Ñтруктурираните или журнализирани файлови ÑиÑтеми като JFS, ReiserFS, XFS, Ext3 (включително файловите ÑиÑтеми, разпроÑтранÑвани Ñ AIX и Solaris) - файловите ÑиÑтеми, които запиÑват излишни данни и ги пазÑÑ‚, дори когато нÑкой запиÑва върху файла, например файловите ÑиÑтеми, използващи RAID - файловите ÑиÑтеми, които правÑÑ‚ копиÑ, като напр. NFS-Ñървърът на Network Appliance �, Ñредно натоварване: %.2f�, %g s, %s/s �-R --dereference изиÑква -H или -L�-R -h изиÑква -P�-ef не приема -l�-nt не допуÑка -l�-ot не приема -l�<интервал>�??? �Този тип адреÑи не Ñе поддържа за името на хоÑта�Изпълнени Ñа вÑички заÑвки�Свобод�Свободни�Ðеправилна ÑтойноÑÑ‚ за ai_flags�Ð’ÐИМÐÐИЕ: Забележете, че shred разчита на Ñледното ÑъщеÑтвено предположение: файловата ÑиÑтема заличава данните на мÑÑтото им. Традиционно Ñе прави точно това, но замиÑълът на много от модерните файлови ÑиÑтеми е такъв, че те не отговарÑÑ‚ на това предположение. Следват примери на файлови ÑиÑтеми, при които shred не е ефективна команда или поне не Ñе гарантира да бъде ефективна при вÑички режими на работа на файловата ÑиÑтема: �КОМЕÐТÐР�Извиква функциÑта за правене на твърда връзка ФÐЙЛ2 към ÑъщеÑтвуващ ФÐЙЛ2. �ОтÑтранÑва поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¤ÐЙЛ поÑредÑтвом ÑиÑтемната Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ â€žunlink“. �Обем�СравнÑва Ñортираните файлове ФÐЙЛ1 и ФÐЙЛ2 ред по ред. �Копира ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ във вÑеки от ФÐЙЛовете, а Ñъщо и на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. -a, --append Ð´Ð¾Ð±Ð°Ð²Ñ ÐºÑŠÐ¼ поÑочените ФÐЙЛове, а не ги замеÑтва -i, --ignore-interrupts пренебрегва Ñигналите за прекъÑване �Каталог: �ИЗХОД�Извежда ÐИЗовете на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. -n не извежда знаци за нов ред Ñлед вÑеки от ÐИЗовете �Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, поÑочващ неуÑпех.�Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, поÑочващ уÑпех.�Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, определен от ИЗРÐЗ. �Ф. Пинард�ÐЕУСПЕШÐО�Именуваните канали нÑмат малък и голÑм номер на уÑтройÑтво.�Файлова Ñ-ма�ЗапиÑва на диÑка изменените блокове, актуализира Ñуперблока. �БЕЗДЕЕÐ�Свобод�Изп%�Заети�Ðеактивен�Ð’ Ñ€ÐµÐ°Ð»Ð½Ð¸Ñ Ð¶Ð¸Ð²Ð¾Ñ‚: �Безброй�I-възли�ПрекъÑнат ÑÑŠÑ Ñигнал�Ðеправилно обратно позоваване�Ðеправилно име на ÐºÐ»Ð°Ñ Ñимволи�Ðеправилен знак за ÑъпоÑтавÑне�Ðеправилно Ñъдържание на \{\}�Ðеправилен предхождащ регулÑрен израз�Ðеправилен край на диапазон�Ðеправилен регулÑрен израз�ЛИÐИЯ�Вход �ВходÑщо име: �ÐеуÑпешно заделÑне на памет�Паметта е изчерпана�Монтирана на�ИМЕ�Име �Името или уÑлугата Ñа непознати�ÐÑма IP-Ð°Ð´Ñ€ÐµÑ Ñ Ð¿Ð¾Ñоченото име на хоÑÑ‚�ÐÑма ÑъответÑтвие�ÐÑма предходен регулÑрен израз�Окончателен неуÑпех при намиране IP-адреÑа на хоÑÑ‚�ОК�Само един низ може да бъде даден, когато Ñе изтрива без отÑтранÑване на повторениÑта�Опции, определÑщи наредбата: �Извежда команди за приÑвоÑване ÑтойноÑÑ‚ на променливата LS_COLORS. Опции, определÑщи формата на изхода: -b, --sh, --bourne-shell извежда код за обвивка на Бурн -c, --csh, --c-shell извежда код за Си-обвивка -p, --print-database извежда ÑтойноÑтите по подразбиране �Извежда кой в момента е влÑзъл в ÑиÑтемата Ñпоред ФÐЙЛ. Ðко не е поÑочен ФÐЙЛ, използва %s. ЧеÑто ФÐЙЛ е %s. �PID�Ðеправилно кодиран низ на аргумент�План: �Ðеочакван край на регулÑрен израз�Отпечатва контролна Ñума CRC и Ð±Ñ€Ð¾Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ на вÑеки ФÐЙЛ. �Извежда определена ÑиÑтемна информациÑ. Без никаква ОПЦИЯ е Ñъщото като Ñ -s. -a, --all извежда вÑÑкаква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ñ€ÐµÐ´ (но пропуÑка -p и -i, ако не Ñа извеÑтни): -s, --kernel-name извежда името на Ñдрото -n, --nodename извежда името на компютъра в мрежата -r, --kernel-release извежда изданието на Ñдрото �Извежда файловото име на терминала, Ñвързан ÑÑŠÑ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. -s, --silent, --quiet не извежда нищо, връща Ñамо код на завършване �Извежда пълното файлово име на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½ каталог. �Извежда името на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ». �Извежда името Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð´ÐµÐ¹Ñтвителен (effective) потребител. Същото като id -un. �ЗаÑвката е в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° изпълнение�Проект: �РегулÑрниÑÑ‚ израз е твърде голÑм�ЗаÑвката е отменена�ЗаÑвката не е отменена�ИзпълнÑва КОМÐÐÐ”Ð Ñ ÐºÐ¾Ñ€ÐµÐ½Ð¾Ð² каталог ÐОВКОРЕÐОВ. �ИзпълнÑва КОМÐÐДÐ, пренебрегвайки Ñигналите за увиÑване (SIGHUP). �Името на уÑлугата не Ñе поддържа за използваното тип гнездо (ai_socktype)�Използвайте LC_ALL='C', за да заобиколите този проблем.�Обвивка: �Размер�при Ñъздаване на Ñпециални файлове трÑбва да Ñе поÑочат голÑм и малък номер на уÑтройÑтво�УÑпех�грешка в ÑиÑтемата�ВРЕМЕ�Временен проблем при намиране IP-адреÑа на хоÑÑ‚�СравнÑваните низове бÑха %s и %s.�Завършваща обратно наклонена черта�При превод трÑбва да Ñе поÑочат два низа (множеÑтва)�Тип�Ðепозната грешка�Ðепозната ÑиÑтемна грешка�Ðезатворена ( или \(�Ðеотворена ) или \)�Ðезатворена [ или [^�Ðезатворена \{�Използване: %s КОМÐÐДР[ÐРГУМЕÐТ]... или: %s ОПЦИЯ �Използване: %s ИЗРÐЗ или: %s ОПЦИЯ �Използване: %s ФÐЙЛ или: %s ФÐЙЛ �Използване: %s ФÐЙЛ1 ФÐЙЛ2 или: %s ОПЦИЯ �Използване: %s ФОРМÐТ [ÐРГУМЕÐТ]... или: %s ОПЦИЯ �Използване: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID... или: %s -l [СИГÐÐЛ]... или: %s -t [СИГÐÐЛ]... �Използване: %s [ФÐЙЛ]... или: %s [ОПЦИЯ] �Използване: %s [ИМЕ] или: %s ОПЦИЯ Извежда или задава хоÑÑ‚-името на текущата ÑиÑтема. �Използване: %s [ЧИСЛО]... или: %s ОПЦИЯ �Използване: %s [ОПЕРÐÐД]... или: %s ОПЦИЯ �Използване: %s [ОПЦИЯ] �Използване: %s [ОПЦИЯ] ИМЕ... �Използване: %s [ОПЦИЯ] [КОМÐÐДР[ÐРГУМЕÐТ]...] �Използване: %s [ОПЦИЯ] [ФÐЙЛ] Извежда линейно нареден ÑпиÑък, ÑъвмеÑтим Ñ Ñ‡Ð°Ñтичната наредба във ФÐЙЛ. Без ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. �Използване: %s [ОПЦИЯ]... �Използване: %s [ОПЦИЯ]... КÐТÐЛОГ... �Използване: %s [ОПЦИЯ]... ФÐЙЛ ОБРÐЗЕЦ... �Използване: %s [ОПЦИЯ]... ФÐЙЛ... �Използване: %s [ОПЦИЯ]... ФÐЙЛ1 ФÐЙЛ2 �Използване: %s [ОПЦИЯ]... ГРУПРФÐЙЛ... или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ... �Използване: %s [ОПЦИЯ]... ПОСЛЕДÐО или: %s [ОПЦИЯ]... ПЪРВО ПОСЛЕДÐО или: %s [ОПЦИЯ]... ПЪРВО СТЪПКРПОСЛЕДÐО �Използване: %s [ОПЦИЯ]... РЕЖИМ[,РЕЖИМ]... ФÐЙЛ... или: %s [ОПЦИЯ]... ОСМИЧЕÐ-РЕЖИМ ФÐЙЛ... или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ... �Използване: %s [ОПЦИЯ]... ИМЕ ТИП [ГОЛЯМ МÐЛЪК] �Използване: %s [ОПЦИЯ]... ИМЕ... �Използване: %s [ОПЦИЯ]... МÐОЖ1 [МÐОЖ2] �Използване: %s [ОПЦИЯ]... [ ФÐЙЛ | ÐРГ1 ÐРГ2 ] �Използване: %s [ОПЦИЯ]... [+ФОРМÐТ] или: %s [-u|--utc|--universal] [ММДДччмм[[ГГ]ГГ][.ÑÑ]] �Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ЦЕЛ или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ИЗТОЧÐИК... �Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ЦЕЛ или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ЦЕЛ... или: %s [ОПЦИЯ]... -d КÐТÐЛОГ... �Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ИМЕ_ÐÐ_ВРЪЗКР(1-ви формат) или: %s [ОПЦИЯ]... ИЗТОЧÐИК (2-ри формат) или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ (3-ти формат) или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ЦЕЛ... (4-ти формат) �Използване: %s [ОПЦИЯ]... [-] [ПРОМЕÐЛИВÐ=СТОЙÐОСТ]... [КОМÐÐДР[ÐРГ]...] �Използване: %s [ОПЦИЯ]... [ФÐЙЛ] �Използване: %s [ОПЦИЯ]... [ФÐЙЛ] или: %s -e [ОПЦИЯ]... [ÐРГУМЕÐТ]... или: %s -i ОТ-ДО [ОПЦИЯ]... �Използване: %s [ОПЦИЯ]... [ФÐЙЛ]... �Използване: %s [ОПЦИЯ]... [ФÐЙЛ]... или: %s [-abcdfilosx]... [ФÐЙЛ] [[+]ОТМЕСТВÐÐЕ[.][b]] или: %s --traditional [ФÐЙЛ] [[+]ОТМЕСТВÐÐЕ [[+]ЕТИКЕТ]] �Използване: %s [ОПЦИЯ]... [ФÐЙЛ]... или: %s [ОПЦИЯ]... --files0-from==Ф �Използване: %s [ОПЦИЯ]... [ВХОД [ИЗХОД]] �Използване: %s [ОПЦИЯ]... [ВХОД]... (без -G) или: %s -G [ОПЦИЯ]... [ВХОД [ИЗХОД]] �Използване: %s [ОПЦИЯ]... [СОБСТВЕÐИК][:[ГРУПÐ]] ФÐЙЛ... или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ... �Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ] �Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]... �Използване: %s [ÐИЗ]... или: %s ОПЦИЯ �Използване: %s [аргументи, които Ñе пренебрегват] или: %s ОПЦИЯ �Използване: test ИЗРÐЗ или: test или: [ ИЗРÐЗ ] или: [ ] или: [ ОПЦИЯ �Изп%�Заети�ДопуÑтими аргументи Ñа:�Ð’ÐИМÐÐИЕ: Циклична каталожна Ñтруктура. Това почти ÑÑŠÑ ÑигурноÑÑ‚ означава, че имате повредена файлова ÑиÑтема. ИЗВЕСТЕТЕ Ð’ÐШИЯ СИСТЕМЕРÐДМИÐИСТРÐТОР. СледващиÑÑ‚ каталог е чаÑÑ‚ от цикъла: %s �Внимание: �Кога�Къде�ÐапиÑан от %s и %s. �ÐапиÑан от %s, %s, %s, %s, %s, %s, %s, %s, %s и други. �ÐапиÑан от %s, %s, %s, %s, %s, %s, %s, %s и %s. �ÐапиÑан от %s, %s, %s, %s, %s, %s, %s и %s. �ÐапиÑан от %s, %s, %s, %s, %s, %s и %s. �ÐапиÑан от %s, %s, %s, %s, %s и %s. �ÐапиÑан от %s, %s, %s, %s и %s. �ÐапиÑан от %s, %s, %s и %s. �ÐапиÑан от %s, %s и %s. �ÐапиÑан от %s. �при превод не може да Ñе Ñрещат конÑтрукции [=c=] в МÐОЖ2�^[нÐkKnN]�^[дДoOyY]�„�заедно Ñ ÐºÐ¾Ñ€ÐµÐºÑ†Ð¸Ñта трÑбва да Ñе поÑочи команда�не Ñе поддържа поÑочването на тип адреÑи (ai_family)�не Ñе поддържа поÑочването на тип гнездо (ai_socktype)�двуÑмиÑлен аргумент %s за %s�входен разделител може да Ñе поÑочва Ñамо ако Ñе работи Ñ Ð¿Ð¾Ð»ÐµÑ‚Ð°�резервното копиране на %s би разрушило източника; %s не бе копиран�резервното копиране на %s би разрушило източника; %s не бе премеÑтен�тип резервни копиÑ�Ñпециален блоков файл�не Ñе поддържа работа Ñ Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸ Ñпециални файлове�блокове�не може и двата файла да Ñа ÑтандартниÑÑ‚ вход�байтовото отмеÑтване %s е твърде дълго�нÑма доÑтъп до %s�не може да Ñе направи резервно копие на %s�не може едновременно да Ñе резюмира и да Ñе показват вÑички елементи�не може да Ñе Ñмени ÑобÑтвеноÑтта на %s�не може да Ñе ÑменÑÑ‚ правата за доÑтъп до %s�кореновиÑÑ‚ каталог не може да Ñе Ñмени на %s�не може да Ñе влезе в каталога %s�Ñ chdir не може да Ñе влиза в Ð³Ð»Ð°Ð²Ð½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³�не може да Ñе комбинират опциите -e и -i�не може да Ñе комбинират никои две от {ascii,ebcdic,ibm}�не може да Ñе комбинират block и unblock�не може да Ñе комбинират excl и nocreat�не може да Ñе комбинират lcase и ucase�не може да Ñе комбинират опциите за режим и --reference�не може да Ñе задават Ñигнали заедно Ñ -l или -t�не може да Ñе ÑравнÑÑ‚ файловите имена %s и %s�не може да Ñе конвертира U+%04X в локалното кодиране�не може да Ñе конвертира U+%04X в локалното кодиране: %s�не може да Ñе копира каталог (%s) в ÑÐ°Ð¼Ð¸Ñ Ñебе Ñи (%s)�не може да Ñе копира цикличната Ñимволна връзка %s�не може да Ñе Ñъздаде каталог %s�не може да Ñе Ñъздаде именуван канал %s�не може да Ñе направи твърда връзка %s към %s�не може да Ñе направи връзка %s към %s�не може да Ñе Ñъздаде обикновен файл %s�не може да Ñе Ñъздаде Ñпециален файл %s�не може да Ñе Ñъздаде Ñимволна връзка %s�не може да Ñе Ñъздаде Ñимволна връзка %s към %s�Ñимволната връзка %s не може да бъде поÑледвана�не може да Ñе уÑтанови уÑтройÑтвото и i-възлите на %s�хоÑÑ‚-името не може да бъде определено�не може да Ñе изпълни ioctl за „%s“�не може да Ñе намери името на група Ñ Ð½Ð¾Ð¼ÐµÑ€ %lu�не може да Ñе Ñледва %s Ñпоред името�не може да Ñе получи режимът за доÑтъп до %s�не може да Ñе определи кой е текущиÑÑ‚ каталог�не може да Ñе получи ÑтойноÑтта на nice�не може да Ñе получи ÑиÑтемното име�не може да Ñе обработи непоÑледователно %s�не може едновременно да Ñе правÑÑ‚ твърди и Ñимволни връзки�не може да Ñе направи каталог %s�не може да Ñе премеÑти %s в %s�не може да Ñе премеÑти %s в ÑÐ²Ð¾Ñ Ð¿Ð¾Ð´ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s�каталог не може да Ñе премеÑти върху файл, който не е каталог: %s -> %s�не може да Ñе отвори %s за четене�не може да Ñе отвори %s за запиÑ�не може да Ñе отвори каталогът %s�каталогът %s не може да Ñе замеÑти Ñ Ñ„Ð°Ð¹Ð», който не е каталог�%s не е каталог и не може да Ñе замеÑти Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° %s�не може да Ñе извеждат Ñамо имена или номера във формата по подразбиране�каталогът %s не може да Ñе чете�не може да Ñе четат файлови имена от %s�не може да Ñе прочете от файловата ÑиÑтема Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° %s�не може да Ñе чете чаÑовникът в реално време�не може да Ñе чете Ñимволната връзка %s�не може да Ñе изтрие %s�не може да Ñе Ñмени мÑÑтото на Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ» за %s�не може да Ñе наÑтрои датата�не може да Ñе приеме група %lu�не може да Ñе задава хоÑÑ‚-име, тази ÑиÑтема не притежава такава възможноÑÑ‚�името не може да Ñе направи %s�не може да Ñе наÑтрои ÑтойноÑтта на nice�не може да Ñе зададе времето на %s�не може да Ñе приеме потребител %lu�не може да Ñе пропуÑне Ñлед ÐºÑ€Ð°Ñ Ð½Ð° ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´�не може да Ñе поÑочват времена Ñ Ð¿Ð¾Ð²ÐµÑ‡Ðµ от един източник�не може да Ñе цепи по повече от един начин�не могат да Ñе получат атрибутите на %s�не може да Ñе намери текущиÑÑ‚ каталог (Ñега %s)�не може да Ñе въздейÑтва на %s�не може да Ñе възÑтанови от резервно копие %s�неуÑпешно изпълнение на unlink за %s�в крайна Ñметка не може да Ñе компенÑира грешката в Ñдрото�Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñе групата на %s�Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñе ÑобÑтвеноÑтта на %s�променÑÑ‚ Ñе правата за доÑтъп до %s�отмеÑтването в знаци е нула�знак извън диапазона�Ñпециален Ñимволен файл�не Ñе поддържа работа ÑÑŠÑ Ñимволни Ñпециални файлове�ÑмÑна на чаÑа�неуÑпешно затварÑне на файл�ЗатварÑне на %s (файлов деÑкриптор=%d)�Ð·Ð°Ñ‚Ð²Ð°Ñ€Ñ Ñе каталогът %s�затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s�затварÑне на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s�затварÑне на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´�неÑъвмеÑтими заменÑщи низове за празно поле�не може да Ñе намери елемента на каталога в %s ÑÑŠÑ ÑъответÑтващ i-възел�не може да Ñе получи времето на начално зареждане�Ñъздаден е каталог %s�Ñъздава Ñе каталог %s�Ñъздава Ñе файл %s �каталог�делене на нула�празно файлово име�празна табулациÑ�грешка при паÑването на регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·�грешка при търÑене на регулÑрен израз�грешка при четене на %s�грешка при Ð·Ð°Ð¿Ð¸Ñ Ð² %s�exit=�излишен аргумент %s�излишен операнд „%s“�групата на %s не можа да Ñе промени на %s �промÑната на ÑобÑтвеника на %s не уÑÐ¿Ñ �ÑобÑтвеник на %s не можа да Ñе промени на %s �не може отвори каталогът %s�не могат да Ñе получат атрибутите на %s�не може да Ñе търÑи файла %s�не може да Ñе отвори %s�не можа да Ñе запази авторÑтвото на %s�ÑобÑтвеноÑтта на %s не можа да Ñе запази�правата за доÑтъп до %s не можаха да Ñе запазÑÑ‚�времената на %s не можаха да Ñе запазÑÑ‚�неуÑпешно пренаÑочване на Ñтандартната грешка�невъзможно връщане в Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½ каталог�не уÑпешно затварÑне на Ñтандартната грешка�не може да Ñе изпълни stat за %s�неуÑпешно извикване на fdatasync за %s�неуÑпешно извикване на fflush�номерът на поле %s е твърде голÑм�номерът на поле е нула�именуван канал�файловите ÑиÑтеми от тип %s Ñа едновременно избрани и изключени�ÑиÑтемната Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð·Ð° нов Ð¿Ñ€Ð¾Ñ†ÐµÑ (fork) не уÑпÑ�не може да Ñе използва форматен низ, когато Ñе извеждат низове Ñ ÐµÐ´Ð½Ð°ÐºÐ²Ð° ширина�неуÑпешнен Ð·Ð°Ð¿Ð¸Ñ (fsync) за %s�неуÑпешен fts_read�получават Ñе новите атрибути на %s�групата на %s оÑтана %s �функциÑта iconv е недоÑтъпна�функциÑта iconv не е използваема�id=�вÑички аргументи Ñе пренебрегват�входът Ñе пренебрегва�входът Ñе пренебрегва, а изходът Ñе наÑочва към %s�входът Ñе пренебрегва, а Ñтандартната грешка Ñе пренаÑочва към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´�пренебрегва Ñе неправилниÑÑ‚ размер на табулациите в променливата от обкръжението TABSIZE: %s�пренебрегва Ñе неправилната ÑтойноÑÑ‚ на променливата от обкръжението QUOTING_STYLE: %s�пренебрегва Ñе неправилната ширина в променливата от обкръжението COLUMNS: %s�пренебрегват Ñе аргументи, които не Ñа опции�неправилни Ñвързващи полета %lu, %lu�неÑъвмеÑтими табулации�входът изчезна�входниÑÑ‚ ред е твърде дълъг�премеÑтването между уÑтройÑтва не уÑÐ¿Ñ (от %s в %s); целевиÑÑ‚ файл не можа да Ñе изтрие�неправилна наÑтройка: %s�неправилен аргумент %s�недопуÑтим аргумент %s за %s�неправилен формат за номериране: %s�неправилен ÐºÐ»Ð°Ñ Ð¾Ñ‚ Ñимволи %s�неправилен означител за преобразуване в ÑуфикÑа: %c�неправилен означител за преобразуване в ÑуфикÑа: \%.3o�неправилна дата %s�неправилен формат за дата %s�неправилно уÑтройÑтво %s %s�неправилен тип на уÑтройÑтво %s�неправилен номер на поле: %s�неправилен означител за поле: %s�неправилна ширина на поле: %s�неправилен номер на файл при означител на поле: %s�неправилно чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ ÐºÐ°Ñ‚Ð¾ аргумент: %s�неправилен формат за номериране на долен колонтитул: %s�неправилна ширина на мÑÑтото между полетата: %s�неÑъщеÑтвуваща група�неправилна група %s�неправилен формат за номериране на горен колонтитул: %s�недопуÑтим вход�неправилен входен диапазон: %s�неправилно цÑло чиÑло %s�неправилен чиÑлов аргумент %s�неправилен брой редове: %s�неправилна диÑциплина на редовете %s�неправилна ширина на полето за номер на ред: %s�неправилна разлика между ÑÑŠÑедни редове: %s�неправилен формат за номериране на редове: %s�неправилна дължина на реда: %s�погрешен голÑм номер на уÑтройÑтво %s�неправилна макÑимална дълбочина %s�погрешен малък номер на уÑтройÑтво %s�неправилен режим за доÑтъп�неправилен режим %s�неправилен режим за доÑтъп %s�недопуÑтимо чиÑло %s�неправилно чиÑло в началото на поле�неправилен брой празни редове: %s�недопуÑтимо количеÑтво байтове�неправилен брой знаци за ÑравнÑване�неправилен брой байтове за пропуÑкане�неправилен номер Ñтълбове: %s�неправилен брой полета за пропуÑкане�недопуÑтим брой редове�неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c�неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c; -ШИРИÐÐ Ñе разпознава Ñамо ако е първа опциÑ; в противен Ñлучай ползвайте -w ШИРИÐÐ�неправилна точноÑÑ‚: %s�неправилен брой Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ %s в конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*n]�неправилна ÑпецификациÑ�неправилен начален номер на ред: %s�неправилен размер на табулациите: %s�неправилен интервал за време %s�неправилен формат за времето %s�неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c�неправилен низ за тип %s�неправилен низ за тип %s; тази ÑиÑтема не поддържа %lu-байтови чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° запетаÑ�неправилен низ за тип %s; тази ÑиÑтема не поддържа %lu-байтови целочиÑлени чиÑла�неправилно универÑално име на знак \%c%0*x�неÑъщеÑтвуващ потребител�неправилен потребител %s�неправилна ширина: %s�неправилен размер за пренаÑÑне: %s�неправилно файлово име Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° нула�опаÑно е да Ñе работи рекурÑивно върху %s�опаÑно е да Ñе работи рекурÑивно върху %s, Ñ‚.е. върху %s�last=�ограничението %lu е задминато от дължината %lu на файловото име %s�ограничението %lu е надминато от дължината %lu на компонента на файловото име %s�опциÑта за брой редове -%s%c... е твърде голÑмa�номерът на ред %s е по-малък от Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ - %s�препълване на номера на ред�паметта е изчерпана�опашка ÑÑŠÑ ÑъобщениÑ�лошо подравнена [:upper:] и/или [:lower:] конÑтрукциÑ�липÑва означител %% за преобразуване в ÑуфикÑа�липÑва аргумент Ñлед %s�липÑва аргумент за %s�в ÑуфикÑа липÑва означител за преобразуване�липÑващ операнд за целеви файл Ñлед %s�липÑващ файлов операнд�липÑва шеÑтнадеÑетично чиÑло Ñлед \�липÑва ÑпиÑък полета�липÑва ÑпиÑък позиции�липÑващ операнд�липÑващ операнд Ñлед %s�режимът трÑбва да Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ñамо битовете за доÑтъп до файла�режимът за доÑтъп до %s е запазен на %04lo (%s) �многоÑимволна Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ %s�поÑочени Ñа много опции -i�поÑочени Ñа много опции -l или -t�поÑочени Ñа твърде много изходни файлове�поÑочени Ñа много формати за изхода�поÑочени Ñа много Ñлучайни източници�поÑочени Ñа много целеви каталози�нито Ñимволната връзка %s, нито ÑочениÑÑ‚ файл бÑха променени �променливата SHELL нÑма ÑтойноÑÑ‚, а не дадена и Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° тип обвивка�без промÑна на ÑобÑтвеника на %s �нито една файлова ÑиÑтема не бе обработена�нÑма повече файлове�нÑма входÑщо име�не е поÑочен номер на процеÑ�при извеждане на низове не може да Ñе поÑочва тип�при използване на -l трÑбва да Ñе поÑочи поне едно потребителÑко име�платформенозавиÑим знак %s във файловото име %s�не е tty�номерът в %s е твърде голÑм�количеÑтво байтове�брой на редовете�препълване на отмеÑтването при четене на файла %s�каталогът %s Ñе пропуÑка�в МÐОЖ2 може да Ñе Ñреща Ñамо конÑтрукциÑта за повторение [c*]�може да Ñе поÑочва Ñамо едно уÑтройÑтво�трÑбва да Ñе поÑочи Ñамо един вид ÑпиÑък�неуÑпешно отварÑне на файл�опциÑ, използване в грешен контекÑÑ‚ -- %c�ÑобÑтвеник на %s оÑтана непроменен �ÑобÑтвеник на %s оÑтана %s �ширината на Ñтраницата е твърде малка�режимът за доÑтъп до %s е запазен�времената за %s Ñе запазват�безÑмиÑлено е да Ñе извеждат вÑички повтарÑщи Ñе редове и Ð±Ñ€Ð¾Ñ ÑрещаниÑ�грешка при четене�не може да Ñе чете�чете Ñе каталогът %s�твърде дълъг запиÑ�обикновен празен файл�обикновен файл�%s е изтрит �каталогът %s е изтрит �каталогът %s Ñе изтрива�Ñтартниво�Ñемафор�разделителÑÑ‚ не може да бъде празен�задейÑтват Ñе флаговете за %s�уÑтановÑва Ñе режимът за доÑтъп до %s�задава Ñе време на %s�Ñподелен обект в паметта�skip-bytes + read-bytes Ñа твърде много�пропуÑка Ñе %s тъй като е на друго уÑтройÑтво�файлът %s Ñе пропуÑка, тъй като бе замеÑтен по време на копирането�гнездо�Ñтандартната грешка�ÑтандартниÑÑ‚ вход�ÑтандартниÑÑ‚ вход е затворен�ÑтандартниÑÑ‚ изход�файл не може да бъде открит�неочакван знак в ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° поле�Ñравнението на низове не уÑпÑ�неуÑпешно преобразуване на низ�потиÑкането на редове, неÑъдържащи разделител, има ÑмиÑъл Ñамо ако Ñе работи Ñ Ð¿Ð¾Ð»ÐµÑ‚Ð°�Ñимволна връзка�Ñинтактична грешка�размерът на табулациите не може да бъде 0�размерът на табулациите включва непозволен знак: %s�позициите на табулациите трÑбва да Ñа в нараÑтващ ред�табулациÑта е твърде дълга %s�табулациÑта е твърде дълга�табулациите Ñа твърде отдалечени�целта %s не е каталог�при инÑталиране на каталог не Ñе позволÑва поÑочването на целеви каталог�term=�test и/или [�опциите --binary и --text Ñа безÑмиÑлени при проверка на контролни Ñуми�опциÑта --status е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми�опциÑта --warn е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми�конÑтрукциÑта [c*] може да Ñе Ñреща в МÐОЖ2 Ñамо при превод�конÑтрукциÑта [c*] не може да Ñе поÑвÑва в МÐОЖ1�разделителÑÑ‚ трÑбва да Ñе ÑÑŠÑтои от един знак�опциите за подробен и stty-четим изходен Ñтил взаимно Ñе изключват�опциите за извеждане на вътрешната база данни на dircolors и за избор на обвивка Ñе изключват взаимно�не може едновременно да Ñе използват опции за отпечатване и наÑтройка на времето�поÑочените опции за дати за отпечатване Ñа взаимно изключващи Ñе�опциÑта махане на Ñимволните таблици не може да Ñе използва при инÑталиране на каталог�времето %s е извън допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½�твърде много означители за преобразуване %% в ÑуфикÑа�множеÑтво Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ много знаци�твърде много повторени редове�общо�типизиран обект в паметта�не може да Ñе запомни текущиÑÑ‚ работен каталог�непозната двумеÑтна операциÑ�непознат потребител: %s�неразбираема ÑтойноÑÑ‚ на променливата от обкръжението LS_COLORS�непознат операнд %s�непознат префикÑ: %s�ползвайте --no-preserve-root, за да отмените тази предпазна мÑрка�внимание: %s: знакът(знаците) Ñледващи знакова конÑтанта Ñа пренебрегнати�внимание: --pid=PID не Ñе поддържа на тази ÑиÑтема�внимание: опциÑта --retry обикновено е полезна Ñамо Ñ --follow=name�внимание: пренебрегва Ñе номера на процеÑ; --pid=PID е полезно Ñамо при Ñледване�внимание: обратна наклонена черта в ÐºÑ€Ð°Ñ Ð½Ð° форматен низ�внимание: не може да Ñе изтрие: %s�внимание: безкрайното Ñледване на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ е безполезно�внимание: пренебрегват Ñе излишните аргументи започвайки от %s�внимание: неправилна ширина %lu; вмеÑто Ð½ÐµÑ Ñе ползва %d�внимание: номерът на ред %s Ñъвпада Ñ Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ на ред�внимание: Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s е поÑочен повече от веднъж�внимание: резюмирането влиза в конфликт Ñ --max-depth=%lu�внимание: резюмирането е еквивалентно на --max-depth=0�внимание: двуÑмиÑлената оÑмична поÑледователноÑÑ‚ \%c%c%c е интерпретирана като двубайтовата поÑледователноÑÑ‚ \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�непознат тип файл�когато не Ñе Ñъкращава МÐОЖ1, МÐОЖ2 трÑбва да бъде непразно�при четене на файлови имена от stdin, никое файлово име не може да бъде %s�при поÑочване на изходен Ñтил не може да Ñе наÑтройват режими�при превод Ñ Ð´Ð¾Ð¿ÑŠÐ»Ð½Ð¸Ñ‚ÐµÐ»Ð½Ð¸ (обратни) клаÑове Ñимволи, МÐОЖ2 трÑбва да изобразÑва вÑички знаци от облаÑтта в един�нÑма да Ñе направи твърда връзка %s към каталога %s�току що ÑъздадениÑÑ‚ %s нÑма да бъде замеÑтен Ñ %s�Ñ --parents целта трÑбва да бъде каталог�грешка при запиÑ�грешка при Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° %s�неуÑпешен запиÑ�Ð·Ð°Ð¿Ð¸Ñ Ð² %s�трÑбва да поÑочите ÑпиÑък байтове, знаци или полета�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%+% прочетени блока %+% запиÑани блока �% Ñъкратен Ð·Ð°Ð¿Ð¸Ñ �% Ñъкратени запиÑа �изкопиран е % байт (%s)�изкопирани Ñа % байта (%s)�твърде голÑмо отмеÑтване: не може да Ñе отреже до дължината на seek=% (%lu-byte) блокове�%s: %: неправилно форматиран ред Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð° Ñума %s�началниÑÑ‚ номер на Ñтраница % надминава Ð±Ñ€Ð¾Ñ Ñтраници %�Стр. %���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/es.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002065140�12107204506�011740� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Mensajes en español para GNU coreutils. # Copyright (C) 2002, 2003, 2004, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Santiago Vila Doncel <sanvila@unex.es>, 2002, 2003, 2004, 2010, 2011. # # La primera versión de esta traducción se hizo combinando las traducciones # existentes de fileutils, textutils y sh-utils, en las cuales también # colaboraron Enrique Melero Gómez y Cristian Othón Martínez Vera. # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.14\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2011-10-18 15:26+0200\n" "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n" "Language-Team: Spanish <es@li.org>\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s inválido para %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Los argumentos válidos son:" #: lib/closein.c:100 msgid "error closing file" msgstr "error al cerrar el fichero" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "error de escritura" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "se conservan los permisos de %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Error del sistema desconocido" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fichero regular vacío" #: lib/file-type.c:38 msgid "regular file" msgstr "fichero regular" #: lib/file-type.c:41 msgid "directory" msgstr "directorio" #: lib/file-type.c:44 msgid "block special file" msgstr "fichero especial de bloques" #: lib/file-type.c:47 msgid "character special file" msgstr "fichero especial de caracteres" #: lib/file-type.c:50 msgid "fifo" msgstr "`fifo'" #: lib/file-type.c:53 msgid "symbolic link" msgstr "enlace simbólico" #: lib/file-type.c:56 msgid "socket" msgstr "`socket'" #: lib/file-type.c:59 msgid "message queue" msgstr "cola de mensajes" #: lib/file-type.c:62 msgid "semaphore" msgstr "semáforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objeto de memoria compartida" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objeto de memoria con tipo" #: lib/file-type.c:70 msgid "weird file" msgstr "fichero extraño" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "La familia de direcciones para el nombre de `host' no está soportada" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Fallo temporal en la resolución de nombres" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valor erróneo para ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Fallo irrecuperable en la resolución de nombres" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family no soportada" # FIXME: Decirle al autor que lo ponga como en fork. #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Fallo de asignación de memoria" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "No hay ninguna dirección asociada con el nombre del `host'" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nombre o servicio desconocido" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname no soportado para ai_socktype" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype no soportado" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Error del sistema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "El búfer del argumento es demasiado pequeño" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Solicitud de proceso en progreso" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Solicitud cancelada" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Solicitud no cancelada" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Todas las solicitudes completadas" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrumpido por una señal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Cadena de parámetro no codificada correctamente" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Error desconocido" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: la opción '%s' es ambigua; posibilidades:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: la opción '--%s' no admite ningún argumento\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: la opción '%c%s' no admite ningún argumento\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: la opción '--%s' requiere un argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción no reconocida '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción no reconocida '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción inválida -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: la opción requiere un argumento -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: la opción '-W %s' es ambigua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: la opción '-W %s' no admite ningún argumento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: la opción '-W %s' requiere un argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "no se pueden cambiar los permisos de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "no se puede crear el directorio %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memoria agotada" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "no se puede registrar el directorio de trabajo actual" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "no se puede volver al directorio de trabajo inicial" # Vamos a probar con el símbolo de cita tradicional en español, # a ver qué tal queda la cosa. #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fin de fichero" #: lib/regcomp.c:131 msgid "Success" msgstr "Éxito" #: lib/regcomp.c:134 msgid "No match" msgstr "No hay ninguna coincidencia" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expresión regular inválida" # Se admiten sugerencias #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Carácter de \"collation\" invalido" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nombre de clase de caracteres inválido" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Barra invertida final" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Referencia hacia atrás inválida" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ o [^ desemparejado" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( o \\( desemparejado" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ desemparejado" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Contenido inválido de \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Final de rango inválido" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memoria agotada" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Expresión regular precedente inválida" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fin prematuro de la expresión regular" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "La expresión regular es demasiado grande" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") o \\) desemparejado" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "No hay ninguna expresión regular previa" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "es peligroso operar recursivamente sobre %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "es peligroso operar recursivamente sobre %s (igual que %s)" # Traducción libérrima, pero creo que se entiende. #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "utilice --no-preserve-root para saltarse esta medida de seguridad" # Esto es para responder "sí" cuando nos pregunte. #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sS]" # Y esto es para responder "no" cuando nos pregunte. #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "estableciendo los permisos de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Cuelgue (hangup)" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interrupción" #: lib/siglist.h:37 msgid "Quit" msgstr "Salida" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Instrucción ilegal" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "`trap' para punto de parada/seguimiento" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abortado" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Excepción de coma flotante" #: lib/siglist.h:52 msgid "Killed" msgstr "Terminado (con kill)" #: lib/siglist.h:55 msgid "Bus error" msgstr "Error de bus" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Fallo de segmentación" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Tubería rota" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Temporizador" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminado" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condición urgente de E/S" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Detenido (señal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Detenido" # SIoNO #: lib/siglist.h:79 msgid "Continued" msgstr "Continuado" #: lib/siglist.h:82 msgid "Child exited" msgstr "El hijo ha terminado" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Detenido (entrada de terminal)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Detenido (salida por terminal)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "E/S posible" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Excedido el tiempo límite de CPU" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Excedido el límite de tamaño de fichero" # ¿Por qué no traducís "virtual"? gerardo # Porque creo que el original está mal... # Hoy en día todo es virtual... # Me recuerda los viejos tiempos en los que había memoria convencional, # extendida, expandida, superior... # # ¿Viejos tiempos? Hay muchíiisima gente con el maldito M$-DOG aún, y # las BIOS siguen diciendo lo de "640 k" de memoria convencional, # aunque tengas 64 MB. # # Me estás dando la razón. ¿Es que no pretendemos alejarnos de todo eso? # (Tengo entendido que Linux pasa de la BIOS todo lo que puede). sv # # Francamente, prefiero pensar en que un programa intenta un malloc(), # y si no lo consigue, entonces es que se ha agotado la memoria, así # sin más. ¿qué opinas? sv # # Bueno, no es que esté mal, pero cuando el autor pone "virtual", se # podría dejar, y tampoco estaría mal. Sí, no me recuerdes lo del # ASCII :-) gerardo # ¡Es verdad! :-) # De todas formas esto habría que preguntárselo al gran jefe de GNU (RMS). #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "El temporizador virtual expiró" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "El tiempo de CPU expiró" #: lib/siglist.h:106 msgid "Window changed" msgstr "La ventana ha cambiado" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Señal definida por el usuario 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Señal definida por el usuario 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "trap de EMT" # Esta generó en su día una gran discusión, pues el original no era tan # explicativo. Finalmente, el autor (Jim Meyering) accedió amablemente a # cambiar el msgid original a como está ahora. # (Antes decía simplemente "cannot fork"). # Gracias a este cambio, tanto el original como la traducción son claros # y precisos, pero sin llegar a ser verborreicos. #: lib/siglist.h:120 msgid "Bad system call" msgstr "Llamada al sistema errónea" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Fallo de pila" #: lib/siglist.h:126 msgid "Information request" msgstr "Solicitud de información" #: lib/siglist.h:128 msgid "Power failure" msgstr "Fallo de alimentación" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Recurso perdido" # Dudo mucho que exista traducción de `fifo', pero si a alguien se le ocurre # alguna, por favor, que me diga en qué libro aparece y cuánta gente lo usa # (el término, no el libro). # # FIFO es un acrónimo (First-In, First-Out) ... Primero-que-Entra, # Primero-que-Sale (PEPS) ... no queda muy bien ¿no? :) ipg # # Lo sé, lo sé, pero no está el horno para bollos de inventarse # acrónimos en español que nadie usaría (*ni siquiera nosotros*). sv # # Lo que sí te digo es que es 'la' fifo. Y ya puestos, yo usaría, en todo # caso, 'pila fifo' em # # Es que no es "el fifo" ni "la fifo" sino "el [fichero] fifo" # Es un tipo especial de fichero. # Para que te quedes tranquilo, añado la palabra "fichero". sv+ # # Ya... y `fifo' no es un fichero, sino una `cola'. tb # # Creo que se refiere a un "named pipe", de los que se crean con mkfifo. # Y es un fichero sólo en tanto que está en un determinado directorio, # como los dispositivos en /dev. # ¿Debo entender que propones eliminar fichero? # (¿y poner además "la cola"?). sv # # No exactamente. Quiero decir que `fifo' es una cola ---lo decía por toda # la discusión anterior---, pero como esta cola está construida sobre un # fichero, pues... Y me temo que "fichero para `fifo'" sería ya demasiado. # Más vale que lo dejes como está. tb # # Por una vez, y sin que sirva de precedente, Santiago, me pongo de # tu lado :) Déjalo como está :D ipg # # Gracias a los dos. sv #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "no se puede crear el fichero `fifo' %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: seek falló" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Señal de tiempo real %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Señal desconocida %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "la función iconv no es utilizable" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "la función iconv no está disponible" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "carácter fuera de rango" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "no se puede convertir U+%04X al conjunto de caracteres local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "no se puede convertir U+%04X al conjunto de caracteres local: %s" # Me niego a considerar "inválido" como palabra "políticamente incorrecta". # Si algún "impedido físico" lee este mensaje y se molesta por ello, entonces # es que además de impedido físico es tonto, pues todo el mundo sabe que, # *en el contexto informático*, inválido e ilegal significan # "no permitido por la causa que sea". # Luego, que unas veces sea inválido y otras ilegal, son matices que el # original tiene y creo necesario respetar en la traducción. # # [ Tomás Bautista sugiere "inexistente", y también para grupo ] # # FIXME: # Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia # "invalid" de "not allowed" de "not recognized" y todo eso... sv # #: lib/userspec.c:106 msgid "invalid user" msgstr "usuario inválido" #: lib/userspec.c:107 msgid "invalid group" msgstr "grupo inválido" # Me niego a considerar "inválido" como palabra "políticamente incorrecta". # Si algún "impedido físico" lee este mensaje y se molesta por ello, entonces # es que además de impedido físico es tonto, pues todo el mundo sabe que, # *en el contexto informático*, inválido e ilegal significan # "no permitido por la causa que sea". # Luego, que unas veces sea inválido y otras ilegal, son matices que el # original tiene y creo necesario respetar en la traducción. # # [ Tomás Bautista sugiere "inexistente", y también para grupo ] # # FIXME: # Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia # "invalid" de "not allowed" de "not recognized" y todo eso... sv # #: lib/userspec.c:108 msgid "invalid spec" msgstr "especificación inválida" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "no se puede mostrar un mensaje de error" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetado por %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetado por %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencia GPLv3+: GPL de GNU versión 3 o posterior\n" "<http://gnu.org/licenses/gpl.html>.\n" "Esto es software libre: usted es libre de cambiarlo y redistribuirlo.\n" "No hay NINGUNA GARANTÃA, hasta donde permite la ley.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Escrito por %s y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Escrito por %s, %s, y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, y %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, y otros.\n" # "We could, for instance, begin with cleaning up our language by no # longer calling a bug a bug but by calling it an error." # # Edsger W. Dijkstra, "On the cruelty of really teaching computing science" # # http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Comunicar errores a: %s\n" # "We could, for instance, begin with cleaning up our language by no # longer calling a bug a bug but by calling it an error." # # Edsger W. Dijkstra, "On the cruelty of really teaching computing science" # # http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Comunicar errores en %s a: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Página inicial de %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Página inicial de %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Ayuda general sobre el uso de software de GNU: <http://www.gnu.org/gethelp/" ">\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "fallo al abrir" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "entrada estándar" #: lib/xfreopen.c:36 msgid "stdout" msgstr "salida estándar" #: lib/xfreopen.c:37 msgid "stderr" msgstr "salida de error estándar" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "flujo desconocido" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "fallo al reabrir %s con modo %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "la comparación de cadenas falló" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Establezca LC_ALL='C' para solucionar este problema de forma temporal." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Las cadenas comparadas eran %s y %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "no se puede realizar salida formateada" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argumento %s%s inválido `%s'" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "sufijo inválido en el argumento %s%s `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s: argumento `%s' demasiado grande" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" "\n" "Codifica o descodifica en base64 FICHERO, o la entrada estándar, a la\n" "salida estándar.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode descodifica datos\n" " -i, --ignore-garbage al descodificar, descarta los caracteres no " "alfabéticos\n" " -w, --wrap=COLS corta las líneas cada COLS caracteres (por omisión " "76)\n" " Utilice 0 para desactivar el corte de líneas\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sin FICHERO, o cuando FICHERO es -, lee la entrada estándar.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Los datos se codifican tal y como se describe en el RFC 3548 para el\n" "alfabeto base64. Al descodificar, la entrada puede contener caracteres\n" "de nueva línea además de los bytes del alfabeto base64 del formato.\n" "Utilice --ignore-garbage para descartar cualesquiera bytes del flujo\n" "de entrada que no pertenezcan al alfabeto.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "error de lectura" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "entrada inválida" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "tamaño del `wrap' inválido: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operando extra %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "cierre de la entrada estándar" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Modo de empleo: %s NOMBRE [SUFIJO]\n" " o bien: %s OPCIÓN\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Muestra NOMBRE eliminando cualquier componente de directorio que lo " "preceda.\n" "Si se especifica, también elimina un SUFIJO final.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "falta un operando" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatena FICHERO(s), o la entrada estándar, en la salida estándar.\n" "\n" " -A, --show-all lo mismo que -vET\n" " -b, --number-nonblank numera las líneas que no están vacías, desactiva -" "n\n" " -e lo mismo que -vE\n" " -E, --show-ends muestra un $ al final de cada línea\n" " -n, --number numera todas las líneas\n" " -s, --squeeze-blank suprime líneas vacías repetidas\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t equivalente a -vT\n" " -T, --show-tabs muestra los caracteres de tabulación como ^I\n" " -u (sin efecto)\n" " -v, --show-nonprinting utiliza la notación ^ y M-, salvo para LFD y TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Ejemplos:\n" "\n" " %s f - g Muestra los contenidos de f, luego la entrada estándar,\n" " luego los contenidos de g.\n" " %s Copia la entrada estándar en la salida estándar.\n" # Al igual que en fileutils donde también se hace mención a alguna llamada # del sistema, creo que se debería traducir por algo así como: # "No se puede realizar la llamada de sistema "ioctl" sobre..." # creo que es más "self-explanatory" # Sí, tienes razón em+ # FIXME: Comunicar al autor. sv #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "no se puede ejecutar la función `ioctl' sobre %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "salida estándar" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: los ficheros de entrada y salida son el mismo" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "fallo al crear el contexto de seguridad: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "fallo al establecer componente %s del contexto de seguridad a %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "fallo al obtener el contexto de seguridad de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "no se puede aplicar contexto parcial al fichero sin etiquetar %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "fallo al cambiar el contexto de %s a %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "no se puede acceder a %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "no se puede leer el directorio %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "cambiando el contexto de seguridad de %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read falló" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close falló" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... CONTEXTO FICHERO...\n" " o bien: %s [OPCIÓN]... [-u USUARIO] [-r ROL] [-l RANGO] [-t TIPO] " "FICHERO...\n" " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Cambia el contexto de seguridad de cada FICHERO a CONTEXTO.\n" "Con --reference, cambia el contexto de seguridad de cada FICHERO al de\n" "FICHERO-R.\n" "\n" " -h, --no-dereference afecta a los enlaces simbólicos en vez de a " "cualquier\n" " fichero al que apunten\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USUARIO establece USUARIO en el contexto de seguridad " "objetivo\n" " -r, --role=ROL establece ROL en el contexto de seguridad objetivo\n" " -t, --type=TIPO establece TIPO en el contexto de seguridad " "objetivo\n" " -l, --range=RANGO establece RANGO en el contexto de seguridad " "objetivo\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root no trata `/' de forma especial (predeterminado)\n" " --preserve-root no opera recursivamente sobre `/'\n" # He traducido "diagnostic" por "mensaje". ¿Alguna idea mejor? # `diagnóstico' ... ¿no? ipg # # Rotundamente no. En español esa palabra solamente se usa en el # ámbito médico. "a nivel de hospitales" :-) sv # # pero en este caso, queda mejor (a mi parecer) `mensaje' ipg # # Menos mal :-) sv # # Y a mí que no me gusta `mensaje'... pero no encuentro alternativa. Quizá # `muestra lo realizado para/con/sobre cada fichero' tb # # Aunque prefiero mensaje, dejaré aquí tu sugerencia. # (Creo que es la mejor que me han hecho al respecto). sv # # sugiero que se especificara qué tipo de mensaje se muestra ya que un # "diagnostic" no es un mensaje cualquiera... uac # # Bueno, en este caso, por el contexto creo que no hace falta ser más # explícito, si dice "muestra un mensaje" y la opción se llama "verbose", # está claro que no es un mensaje de correo electrónico. sv #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=FICH_R utiliza el contexto de seguridad de FICH_R en " "lugar\n" " de especificar un valor de CONTEXTO\n" " -R, --recursive opera sobre ficheros y directorios recursivamente\n" " -v, --verbose muestra un mensaje por cada fichero procesado\n" "\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Las siguientes opciones modifican cómo se atraviesa una jerarquía cuando\n" "se especifica también la opción -R. Si se especifica más de una, solamente\n" "tiene efecto la última.\n" "\n" " -H si un argumento de la línea de órdenes es un " "enlace\n" " simbólico a un directorio, lo atraviesa\n" " -L atraviesa cualquier enlace simbólico a un " "directorio\n" " que se encuentre\n" " -P no atraviesa ningún enlace simbólico " "(predeterminado)\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference requiere o bien -H o bien -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h requiere -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "falta un operando después de %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "contexto inválido: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "se han dado especificadores de contexto de seguridad conflictivos" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "fallo al obtener los permisos de %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "grupo inválido: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Cambia el contexto de seguridad de cada FICHERO a CONTEXTO.\n" "Con --reference, cambia el contexto de seguridad de cada FICHERO al de\n" "FICHERO-R.\n" "\n" " -h, --no-dereference afecta a los enlaces simbólicos en vez de a " "cualquier\n" " fichero al que apunten\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" # ¿? ¿Existe el verbo "referenciar"? ¿Habría que poner referir? # # Sí, que yo sepa ... :) (yo me referencio, tu te referencias ... :). ipg # # Muy bueno :-) Ahora sí que lo veo claro. Ya lo he cambiado en todas # partes, excepto en algunos sitios donde busco una alternativa mejor. sv # # Yo creo que referido != referenciado, y este último es el que debería de # ponerse según lo que pienso... uac # # Pues Iñaky me convenció de que referenciado era un "palabro" (palabra # que no existe, inventada). ¿Estás seguro de que existe? # (Esto me recuerda el palabro "influenciar", a mucha gente se le olvida # que se dice *influir*). sv #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference afecta a cada enlace simbólico en lugar de a los\n" " ficheros referidos (solamente es útil en sistemas\n" " que pueden cambiar el propietario de un enlace\n" " simbólico)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Ejemplos:\n" " %s staff /u Cambia el grupo de /u a \"staff\".\n" " %s -hR staff /u Cambia el grupo de /u y subficheros a \"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "obteniendo nuevos permisos de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ni el enlace simbólico %s ni su referente ha cambiado\n" # ¿Y "el modo de... se cambió a..."? tb # Eso me da la impresión de que no es chmod quien los ha cambiado. # quiero decir, que así parece que "se cambió solo". # (aunque sea meramente un matiz). sv # # A mí también me parece más adecuado "se cambió a", aunque me gusta más # "se ha cambiado a" o "ha cambiado a"... uac # # Pensaré esto sincronizadamente con los otros. sv # #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "el modo de %s cambia de %04lo (%s) a %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "fallo al cambiar el modo de %s de %04lo (%s) a %04lo (%s)\n" # al igual que con chgrp y por coherencia me parece más adecuado: # "ha permanecido"... uac # #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "el modo de %s permanece como %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "no se puede operar sobre el enlace simbólico colgado %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "cambiando los permisos de %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: los nuevos permisos son %s, no %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... MODO[,MODO]... FICHERO...\n" " o bien: %s [OPCIÓN]... MODO-OCTAL FICHERO...\n" " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Cambia el contexto de seguridad de cada FICHERO a CONTEXTO.\n" "Con --reference, cambia el contexto de seguridad de cada FICHERO al de\n" "FICHERO-R.\n" "\n" " -h, --no-dereference afecta a los enlaces simbólicos en vez de a " "cualquier\n" " fichero al que apunten\n" # He traducido "diagnostic" por "mensaje". ¿Alguna idea mejor? # `diagnóstico' ... ¿no? ipg # # Rotundamente no. En español esa palabra solamente se usa en el # ámbito médico. "a nivel de hospitales" :-) sv # # pero en este caso, queda mejor (a mi parecer) `mensaje' ipg # # Menos mal :-) sv # # Y a mí que no me gusta `mensaje'... pero no encuentro alternativa. Quizá # `muestra lo realizado para/con/sobre cada fichero' tb # # Aunque prefiero mensaje, dejaré aquí tu sugerencia. # (Creo que es la mejor que me han hecho al respecto). sv # # sugiero que se especificara qué tipo de mensaje se muestra ya que un # "diagnostic" no es un mensaje cualquiera... uac # # Bueno, en este caso, por el contexto creo que no hace falta ser más # explícito, si dice "muestra un mensaje" y la opción se llama "verbose", # está claro que no es un mensaje de correo electrónico. sv #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=FICH_R utiliza el contexto de seguridad de FICH_R en " "lugar\n" " de especificar un valor de CONTEXTO\n" " -R, --recursive opera sobre ficheros y directorios recursivamente\n" " -v, --verbose muestra un mensaje por cada fichero procesado\n" "\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Cada MODO es de la forma `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "no se pueden combinar las opciones mode y --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "modo inválido: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "cambiado el propietario de %s de %s a %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "cambiado el grupo de %s de %s a %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "no cambia el propietario de %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "fallo al cambiar el propietario de %s de %s a %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "fallo al cambiar el grupo de %s de %s a %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "fallo al cambiar el propietario de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "fallo al cambiar el propietario de %s a %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "fallo al cambiar el grupo de %s a %s\n" # No sé si sería mejor "se mantiene como propietario de %s a " tb # No está mal. Lo pensaré. sv # # al igual que con el msgid anterior esta propuesta me parece mejor... uac # ¿Alguien más? :-) sv #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "el propietario de %s permanece como %s\n" # por la misma razón que en el msgid anterior, creo que debería ser algo así # como "ha permanecido" o algo similar... uac # Siguiendo con lo anterior, en este caso me parece que queda mucho más feo # en pasado que en presente (razón para dejarlos los dos en presente). # De todas formas, tendré que pensarlo un poco más despacio. sv #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "el grupo de %s permanece como %s\n" # No sé si sería mejor "se mantiene como propietario de %s a " tb # No está mal. Lo pensaré. sv # # al igual que con el msgid anterior esta propuesta me parece mejor... uac # ¿Alguien más? :-) sv #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "el propietario de %s se mantiene\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "no se puede seguir %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "cambiando el propietario de %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "cambiando el grupo de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [PROPIETARIO][:GRUPO]] FICHERO...\n" " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=PROPIETARIO_ACTUAL:GRUPO_ACTUAL\n" " cambia el propietario y/o el grupo de cada fichero\n" " solamente si su propietario y/o grupo actual " "coinciden\n" " con los especificados aquí. Se puede omitir " "cualquiera\n" " de los dos, en cuyo caso no se requiere " "coincidencia\n" " para el atributo omitido.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "El propietario no cambia si se omite. El grupo no cambia si se omite, pero\n" "cambia al grupo de login si se indica implícitamente con `:' después del\n" "PROPIETARIO simbólico. PROPIETARIO y GRUPO pueden ser numéricos o " "simbólicos.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Ejemplos:\n" " %s root /u Cambia el propietario de /u a \"root\".\n" " %s root:staff /u Similar, pero también cambia el grupo a \"staff\".\n" " %s -hR root /u Cambia el propietario de /u y subficheros a \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grupo inválido %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "lista de grupos inválida %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "fallo al establecer grupos adicionales" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [OPCIÓN] NUEVO_RAÃZ [ORDEN [ARG]...]\n" " o bien: %s OPCIÓN\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "Ejecuta ORDEN siendo NUEVO_RAÃZ el directorio raíz.\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=USUARIO:GRUPO especifica el usuario y grupo (ID o nombre) que " "se\n" " usará\n" " --groups=LISTA_G especifica g1,g2,...,gN como grupos " "suplementarios\n" "\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Si no se especifica ninguna orden, ejecuta ``${SHELL} -i''\n" "(por omisión: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "no se puede cambiar el directorio raíz a %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "no se puede cambiar al directorio raíz" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "fallo al establecer el ID del grupo" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "fallo al establecer el ID del usuario" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "fallo al ejecutar la orden %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fichero demasiado largo" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Modo de empleo: %s [FICHERO]...\n" " o bien: %s [OPCIÓN]\n" # ¿¿?? ¿¿Porqué has reformateado para que tengan la misma longitud? ipg # Me parece que queda más bonito, después de instalar el .po y ver # un par de mensajes tal y como aparecían creí necesario formatearlo # un poco. Todavía no hay una regla de formateo oficial para GNU, pero # es de esperar que dentro de poco la haya. em+ # # A mí, la verdad, se me hace harto difícil leer con más de un espacio # entre medias ... *lo odio* ;). ipg # # A ver qué os parece la siguiente regla, nunca la había escrito, pero no # me la acabo de inventar, creo que es la regla implícita que he estado # usando desde el principio: # # Regla de formateo: Ninguna línea excederá de 80 columnas. Cuando haya un # especificador de formato (tal y como %s) se debe tener en cuenta que # resultará sustituido por una palabra cuya longitud habrá que estimar. # # Hay algunas que pueden ser más largas aposta, porque sean reformateadas # a pelo. Además, en muchos casos será casi imposible hacer una estimación. # ipg # # En los textos que explican para qué sirve cada opción, se respetará en la # medida de lo posible la distancia de tabulación del original. Solamente está # justificado cambiar dicha distancia cuando haya dificultad en respetar # el límite de 80 columnas. # # Ok. ipg # # De acuerdo con la regla, *no* está justificado disminuir la distancia # en la siguiente cadena, así que la dejo como el original. sv #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Muestra la suma de comprobación CRC y el número de bytes de cada FICHERO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Compara los ficheros ordenados FICHERO1 y FICHERO2 línea por línea.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Sin ninguna opción, produce un resultado en tres columnas. La columna\n" "uno contiene las líneas únicas al FICHERO1, la columna dos contiene\n" "las líneas únicas al FICHERO2, y la columna tres contiene las líneas\n" "comunes a ambos ficheros.\n" # ¿¿cómo se puede explicar esto mejor?? # A mí me parece que está bien ... :-? ipg #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 suprime la columna 1 (líneas que sólo están en FICHERO1)\n" " -2 suprime la columna 2 (líneas que sólo están en FICHERO2)\n" " -3 suprime la columna 3 (líneas que aparecen en los dos)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order comprueba que la entrada está correctamente ordenada,\n" " incluso si todos los ficheros de entrada son " "emparejables\n" " --nocheck-order no comprueba que la entrada está correctamente ordenada\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=CAD separa columnas con CAD\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Note que las comparaciones obedecen las reglas especificadas por " "`LC_COLLATE'.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Ejemplos:\n" " %s -12 fichero1 fichero2 Muestra solamente las líneas en fichero1 y " "fichero2\n" " %s -3 fichero1 fichero2 Muestra las líneas de fichero1 que no están en\n" " fichero2, y viceversa.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "el fichero %d no está ordenado" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "se han especificado varios delimitadores" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "no se permite un %s vacío" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "error al leer %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "no se puede efectuar `lseek' sobre %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "error al escribir en %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: fallo al obtener la información de `extents'" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: error al escribir" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "fallo al extender %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "borrando los permisos de %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "fallo al conservar el propietario de %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "fallo al buscar el fichero %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "fallo al conservar el autor de %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "no se puede abrir %s para lectura" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "no se puede efectuar `fstat' sobre %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "saltando el fichero %s, ya que fue reemplazado mientras se copiaba" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "fallo al obtener el contexto de creación del sistema de ficheros" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "fallo al establecer el contexto de seguridad de %s a %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "no se puede borrar %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s borrado\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "no se escribirá a través del enlace colgado %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "no se puede crear el fichero regular %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "fallo al clonar %s a partir de %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "se conserva las fechas de %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "No se puede abrir %s" # SIoNO #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: ¿intentar sobreescribir %s, sustituyendo el modo %04lo? (%s) " # SIoNO #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: ¿sobreescribir %s? (s/n) " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (respaldo: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "fallo al restaurar el contexto de creación de fichero predeterminado" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "crea el enlace duro %s a %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "no se puede efectuar `stat' sobre %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "se omite el directorio %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "atención: se ha especificado el fichero origen %s más de una vez" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s y %s son el mismo fichero" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "no se puede sobreescribir el no directorio %s con el directorio %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "no se sobreescribirá el fichero %s recién creado con %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "no se puede sobreescribir el directorio %s con un no directorio" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "no se puede sobreescribir un directorio con un no directorio: %s -> %s" # Nota: Este backing up *no* es un gerundio. #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "respaldar %s destruiría el original; %s no se mueve" # Nota: Este backing up *tampoco* es un gerundio. #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "respaldar %s destruiría el original; %s no se copia" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "no se puede respaldar %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "no se copiará %s a través del enlace simbólico %s recién creado" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "no se puede copiar un directorio, %s, dentro de sí mismo, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "no se crea el enlace duro %s al directorio %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "no se puede mover %s a un directorio de sí mismo, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "no se puede mover %s a %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "falló el movimiento entre distintos dispositivos: de %s a %s;\n" "no se puede borrar el objetivo" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "fallo al obtener el contexto de creación de ficheros predeterminado para %s" # Nota: Pongo "el" y no "un" porque no todos los enlaces simbólicos # cíclicos son imposibles de copiar, por ejemplo: # ln -s bb bb # mkdir aa # cp -d bb aa # ls -l aa #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "no se puede copiar el enlace simbólico cíclico %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: solamente se pueden crear enlaces simbólicos relativos\n" "en el directorio actual" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "no se puede crear el enlace simbólico %s a %s" # Dudo mucho que exista traducción de `fifo', pero si a alguien se le ocurre # alguna, por favor, que me diga en qué libro aparece y cuánta gente lo usa # (el término, no el libro). # # FIFO es un acrónimo (First-In, First-Out) ... Primero-que-Entra, # Primero-que-Sale (PEPS) ... no queda muy bien ¿no? :) ipg # # Lo sé, lo sé, pero no está el horno para bollos de inventarse # acrónimos en español que nadie usaría (*ni siquiera nosotros*). sv # # Lo que sí te digo es que es 'la' fifo. Y ya puestos, yo usaría, en todo # caso, 'pila fifo' em # # Es que no es "el fifo" ni "la fifo" sino "el [fichero] fifo" # Es un tipo especial de fichero. # Para que te quedes tranquilo, añado la palabra "fichero". sv+ # # Ya... y `fifo' no es un fichero, sino una `cola'. tb # # Creo que se refiere a un "named pipe", de los que se crean con mkfifo. # Y es un fichero sólo en tanto que está en un determinado directorio, # como los dispositivos en /dev. # ¿Debo entender que propones eliminar fichero? # (¿y poner además "la cola"?). sv # # No exactamente. Quiero decir que `fifo' es una cola ---lo decía por toda # la discusión anterior---, pero como esta cola está construida sobre un # fichero, pues... Y me temo que "fichero para `fifo'" sería ya demasiado. # Más vale que lo dejes como está. tb # # Por una vez, y sin que sirva de precedente, Santiago, me pongo de # tu lado :) Déjalo como está :D ipg # # Gracias a los dos. sv #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "no se puede crear el fichero `fifo' %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "no se puede crear el fichero especial %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "no se puede leer el enlace simbólico %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "no se puede crear el enlace simbólico %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s tiene un tipo de fichero desconocido" # Nota: Asegurarse de que significa eso. # Probablemente quiera decir que "no se puede recuperar `%s'" de la copia # de seguridad. tb #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "no se puede restaurar %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (restauración)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [-T] ORIGEN DESTINO\n" " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" " o bien: %s [OPCIÓN]... -t DIRECTORIO ORIGEN...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Copia ORIGEN a DESTINO, o varios ORIGEN(es) a DIRECTORIO.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive lo mismo que -dR --preserve=all\n" " --attributes-only no copia los datos del fichero, solamente " "los\n" " atributos\n" " --backup[=CONTROL] crea una copia de seguridad de cada fichero " "de\n" " destino que exista\n" " -b como --backup pero no acepta ningún " "argumento\n" " --copy-contents copia el contenido de los ficheros " "especiales\n" " cuando opera recursivamente\n" " -d lo mismo que --no-dereference --" "preserve=link\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force si un fichero de destino no se puede abrir, " "lo\n" " borra y lo intenta de nuevo (redundante si " "se\n" " utiliza la opción -n)\n" " -i, --interactive pide confirmación antes de sobreescribir\n" " -H sigue los enlaces simbólicos de la línea\n" " de órdenes\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link crea enlaces duros de los ficheros en vez de " "copiarlos\n" " -L, --dereference siempre sigue los enlaces simbólicos en " "ORIGEN\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber no sobreescribe un fichero que exista\n" " (tiene prioridad sobre una opción -i " "anterior)\n" " -P, --no-dereference nunca sigue los enlaces simbólicos en ORIGEN\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p igual que --preserve=mode,ownership," "timestamps\n" " --preserve[=LISTA_ATTR] conserva si puede los atributos " "especificados,\n" " (por omisión: mode,ownership,timestamps)\n" " atributos adicionales: context, links, " "xattr,\n" " all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LISTA_ATTR no conserva los atributos especificados\n" " --parents utiliza el nombre de fichero de origen " "completo\n" " bajo DIRECTORIO\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive copia directorios recursivamente\n" " --reflink[=CUÃNDO] controla copias clonadas/CoW. Ver más abajo.\n" " --remove-destination borra cada fichero de destino que exista " "antes\n" " de intentar abrirlo (compárese con --" "force).\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=CUÃNDO controla la creación de ficheros dispersos.\n" " Véase más abajo.\n" " --strip-trailing-slashes elimina todas las barras finales de cada\n" " argumento ORIGEN\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link crea enlaces simbólicos en lugar de " "copiarlos\n" " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" " --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN al\n" " directorio DIRECTORIO\n" " -T, --no-target-directory considera DEST como un fichero normal\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update copia solamente cuando el fichero ORIGEN es\n" " más moderno que el fichero de destino,\n" " o cuando falta el fichero de destino\n" " -v, --verbose da detalles sobre lo que se va haciendo\n" " -x, --one-file-system permanece en este sistema de ficheros\n" # ¿"crude" es simple o sencillo? # # `a lo bruto' o `simple'. # Yo prefiero `simple'. ipg # - - - - - - - - - - - - - - - - - # Nota sobre la traducción de "backup": # "backup" es sustantivo y verbo, y tiene dos posibles traducciones. # # La "verborreica": # "backup" -> copia de seguridad # "to backup" -> crear una copia de seguridad # # La "corta": # "backup" -> respaldo # "to backup" -> respaldar # (esta traducción aparece en algún programa de Hewlett Packard). # # Dado que la "verborreica" queda muy larga (sobre todo cuando es un verbo), # he decidido usar unas veces una y otras veces la otra, según el caso. # # Nota: Los ficheros `sparse' son una especie de # ficheros con "huecos" (trozos con muchos ceros seguidos). # Parece ser que hay un sistema que se encarga de acordarse # en dónde están los huecos para no tener que almacenar tantos bytes. sv+ # # "same as" -> "igual que". "Lo mismo que" no termina de convencerme. tb # es que en inglés también hay "equal to". sv # Ya. Pero la cuestión no es cómo se dice en inglés, sino cómo se expresa # la misma idea en español normalmente. tb # Bueno, yo le digo "lo mismo que"... sv # # -x: tampoco me gusta cómo se explica, aunque en el manual sí que lo deja # bien claro... yo lo pondría algo parecido a: # # "no lee [sobre] más de un sistema de ficheros" o # más parecido al manual: "evita subdirectorios en otros sistemas de ficheros" # uac # # La traducción me parece correcta y fiel. # Si de verdad te parece que está mal explicado, se lo digo al autor. sv # #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Por omisión, los ficheros ORIGEN `sparse' se detectan mediante una simple\n" "heurística y los correspondientes ficheros DESTINO se crean también " "`sparse'.\n" "Este es el comportamiento con --sparse=auto. Al especificar --sparse=always " "se\n" "crea un fichero DESTINO `sparse' cuando el fichero ORIGEN contiene una " "sucesión\n" "de bytes cero suficientemente larga.\n" "Utilice --sparse=never para inhibir la creación de ficheros `sparse'.\n" "\n" "Cuando se especifica --reflink[=always], realiza una copia ligera, en la " "que\n" "los bloques de datos se copian solamente cuando se han modificado. Si esto " "no\n" "es posible, la copia falla, o si se especifica --reflink=auto, se hace una\n" "copia normal.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "El sufijo de respaldo es `~', a menos que se establezca con --suffix o con\n" "SIMPLE_BACKUP_SUFFIX. El método de control de versión se puede seleccionar\n" "con la opción --backup o a través de la variable de entorno " "VERSION_CONTROL.\n" "Estos son los valores:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nunca realiza copias de seguridad (incluso si se da la\n" " opción --backup)\n" " numbered, t crea copias de seguridad numeradas\n" " existing, nil numeradas si existen copias de seguridad numeradas,\n" " simples en caso contrario\n" " simple, never siempre crea copias de seguridad simples\n" # Revisar esto un poco. Especialmente la última línea. #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Como caso especial, cp crea una copia de seguridad de ORIGEN cuando se " "utilizan\n" "las opciones `force' y `backup', y ORIGEN y DESTINO tienen el mismo nombre " "para\n" "un nombre de fichero regular existente.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "fallo al conservar la fecha de %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "fallo al conservar los permisos de %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "no se puede crear el directorio %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existe pero no es un directorio" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "No se puede abrir %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "falta un fichero como operando" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "falta el fichero de destino después de %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "no se puede combinar --target-directory (-t) y --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "el objetivo %s no es un directorio" # Nota: Mejor no traducir "path" y "directory" de la misma forma dentro # de la misma frase. #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "con --parents, el destino debe ser un directorio" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "se han especificado varios directorios de destino" # ¿? HARD ¿duro o fuerte? # # Yo lo dejaría en duro ... (queda más heavy :) ipg # # Me inclino por fuerte. em # # ¿bibliografía? # (¿en qué libros os basáis?) sv+ #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "no se puede crear un enlace que sea duro y simbólico al mismo tiempo" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "las opciones --backup y --no-clobber son mutuamente excluyentes" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink solamente se puede usar con --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo de respaldo" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "no se puede conservar el contexto de seguridad si un núcleo con SELinux " "activado" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "no se pueden conservar los atributos extendidos, cp está compilado sin\n" "soporte de xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "la entrada dejó de existir" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: número de línea fuera de rango" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: número de línea fuera de rango" # ??? #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " repetido %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ocurrencia no encontrada" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "error en la búsqueda de la expresión regular" # %s debe de ser un fichero, ¿no? si es así a mí me parece "más natural": # "en %s" e incluso quizás "sobre %s"... o quizás no... ahí queda eso # Lo cambio em+ #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "error de escritura para %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: se esperaba un número entero después del delimitador" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: se requiere un `}' después del número de repeticiones" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: entre `{' y `}' debe especificarse un número entero" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: falta el delimitador de cierre `%c'" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: la expresión regular no es válida: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: plantilla inválida" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: el número de línea debe ser mayor que cero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "el número de línea %s es menor que el número de línea anterior, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "atención: el número de línea %s es el mismo que el anterior" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "falta el especificador de conversión en el sufijo" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "el especificador de conversión indicado en el sufijo no es válido: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" "el especificador de conversión indicado en el sufijo no es válido: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "opciones inválidas en la especificación de conversión: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "demasiados especificadores de conversión %% en el sufijo" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "falta el especificador de conversión %% en el sufijo" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: número inválido" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO PLANTILLA...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Escribe los trozos de FICHERO que estén separados por PLANTILLA(s) en " "ficheros\n" "`xx00', `xx01', ..., y muestra el tamaño de cada trozo en la salida " "estándar.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMATO usa sprintf con FORMATO en vez de %02d\n" " -f, --prefix=PREFIJO usa PREFIJO en vez de `xx'\n" " -k, --keep-files no borra los ficheros de salida si hay errores\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DÃGITOS usa el número especificado de DÃGITOS\n" " en vez de 2\n" " -s, --quiet, --silent no muestra el tamaño de los ficheros creados\n" " -z, --elide-empty-files borra los ficheros de salida vacíos\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lee la entrada estándar si FICHERO es `-'. Cada PLANTILLA puede ser:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " NÚMERO_LÃNEA copia a partir de este número de línea excluida ella\n" " /EXPREG/[DESPLAZ] copia sin incluir las líneas que coincidan con EXPREG\n" " %%EXPREG%%[DESPLAZ] comienza a partir de la línea que coincida con " "EXPREG\n" " {NÚMERO ENTERO} repite la plantilla especificada un número de veces\n" " {*} repite la plantilla especificada todas las veces " "posibles\n" "\n" "Un DESPLAZamiento de línea es un número entero precedido de `+' o de `-'.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "los campos y posiciones se numeran a partir de 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Modo de empleo: %s OPCIÓN... [FICHERO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Extrae las partes seleccionadas de cada FICHERO en la salida estándar:\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA selecciona solamente estos bytes\n" " -c, --characters=LISTA selecciona solamente estos caracteres\n" " -d, --delimiter=DELIM usa DELIM en vez de caracteres de tabulación\n" " para delimitar los campos\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA selecciona solamente estos campos; también " "muestra\n" " cualquier línea que no tenga un carácter\n" " delimitador, a menos que se especifique la\n" " opción -s\n" " -n (no tiene efecto)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement complementa el conjunto de bytes, caracteres o " "campos\n" " seleccionados\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited no muestra las líneas que no contienen\n" " delimitadores\n" " --output-delimiter=CADENA utiliza CADENA como el delimitador del\n" " resultado. Por omisión se utiliza el\n" " delimitador de la entrada\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Utilice uno, y solamente uno de -b, -c o -f. Cada LISTA está compuesta por " "un\n" "rango, o muchos rangos separados por comas. La entrada seleccionada se " "escribe\n" "en el mismo orden en el que se lee, y se escribe exactamente una vez.\n" # Pregunta: ¿por qué se ha eliminado lo de "N-ésimo byte..."? ¿Por espacio? # Respuesta: en la posicion N = enésimo em+ #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Los rangos pueden ser:\n" "\n" " N El byte, carácter o campo en la posición N contado desde 1\n" " N- A partir del byte, carácter o campo en la posición N, hasta el " "final\n" " de la línea\n" " N-M Desde el byte, carácter o campo que ocupa la posición N hasta el de\n" " la posición M\n" " -M desde el primero hasta el byte, carácter o campo de la posición M\n" "\n" "Si no hay FICHERO, o cuando FICHERO es -, lee la entrada estándar.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "la lista de bytes o campos no es válida" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "rango inválido sin punto de final: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "rango decreciente inválido" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "el desplazamiento de bytes %s es demasiado grande" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "el número de campo %s es demasiado grande" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "solamente se puede especificar un tipo de lista" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "el delimitador debe ser un sólo carácter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "se debe indicar una lista de bytes, caracteres o campos" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "sólo se puede especificar un delimitador de entrada cuando se procesan campos" # FIXME: Comunicar al autor lo de los tabs. sv+ #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "suprimir las líneas no delimitadas solamente tiene sentido\n" "cuando se procesan campos" #: src/cut.c:870 msgid "missing list of fields" msgstr "falta la lista de campos" #: src/cut.c:872 msgid "missing list of positions" msgstr "falta la lista de posiciones" # Pongo AA en vez de YY. sv # Pongo SS de siglo en vez de CC. sv #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [+FORMATO]\n" " o bien: %s [-u|--utc|--universal] [MMDDhhmm[[SS]AA][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FICHERO muestra la fecha de última modificación de " "FICHERO\n" " -R, --rfc-2822 muestra la fecha y hora en formato RFC 2822.\n" " Ejemplo: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=ESPTIEMPO muestra la fecha y hora en formato RFC 3339.\n" " ESPTIEMPO=`date', `seconds', o `ns' para\n" " la fecha y hora con la precisión indicada.\n" " Las componentes de fecha y hora se separan por\n" " un espacio: 2006-08-07 12:34:56-06:00\n" " -s, --set=CADENA establece la hora descrita por CADENA\n" " -u, --utc, --universal muestra o establece el Tiempo Universal " "Coordinado\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMATO controla la salida. Las secuencias que se interpretan son:\n" "\n" " %% un % literal\n" " %a el nombre local abreviado de la semana (p. ej., dom)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A el nombre local completo de la semana (p. ej., Domingo)\n" " %b el nombre local abreviado del mes (p. ej., ene)\n" " %B el nombre local completo del mes (p. ej. Enero)\n" " %c la fecha y hora local (p. ej., jue mar 3 23:05:25 CET 2005)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C siglo; como %Y, execpto que se omiten los dos últimos dígitos\n" " (p. ej., 20)\n" " %d el día del mes (p. ej., 01)\n" " %D la fecha; igual que %m/%d/%y\n" " %e el día del mes, completado con espacios, igual que %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F fecha completa; lo mismo que %Y-%m-%d\n" " %g últimos dos dígitos del año del número de semana ISO (ver %G)\n" " %G año del número de la semana ISO (ver %V); útil normalmente con %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h igual que %b\n" " %H la hora (00..23)\n" " %I la hora (01..12)\n" " %j el día del año (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k la hora, rellenando con espacios ( 0..23), igual que %_H\n" " %l la hora, rellenando con espacios ( 1..12), igual que %_I\n" " %m el mes (01..12)\n" " %M los minutos (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n un carácter de nueva línea\n" " %N nanosegundos (000000000..999999999)\n" " %p el equivalente local de AM o PM; blanco si es desconocido\n" " %P como %p, pero en minúsculas\n" " %r la hora local, en formato de 12 horas (p. ej. 11:11:04 PM)\n" " %R la hora y minutos, en formato de 24 horas; igual que %H:%M\n" " %s los segundos desde 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S los segundos (00..60)\n" " %t un tabulador horizontal\n" " %T la hora, lo mismo que %H:%M:%S\n" " %u día de la semana (1..7); 1 representa lunes\n" # ¿Es realmente correcta la W? Casi coincide con %V #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U el número de la semana del año con Domingo como primer día de la\n" " semana (00..53)\n" " %V el número ISO de la semana del año con Lunes como primer día de la\n" " semana (01..53)\n" " %w el día de la semana (0..6); 0 representa Domingo\n" " %W el número de la semana en el año con lunes como primer día de\n" " la semana (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x la representación local de la fecha (p. ej., 31/12/99)\n" " %X la representación local de la hora (p. ej. 23:13:48)\n" " %y los últimos dos dígitos del año (00..99)\n" " %Y el año\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z zona horaria numérica en formato +hhmm (p. ej., -0400)\n" " %:z zona horaria numérica en formato +hh:mm (p. ej., -04:00)\n" " %::z zona horaria numérica en formato +hh:mm:ss (p. ej., -04:00:00)\n" " %:::z zona horaria numérica con : hasta la precisión necesaria\n" " (p. ej., -04, +05:30)\n" " %Z abreviatura alfabética de la zona horaria (p. ej., EDT)\n" "\n" "Por omisión, date rellena los campos numéricos con ceros.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Las siguientes opciones pueden seguir a `%':\n" "\n" " - (guión) no rellenar el campo\n" " _ (subrayado) rellenar con espacios\n" " 0 (cero) rellenar con ceros\n" " ^ utiliza mayúsculas si es posible\n" " # utiliza mayúsuculas/minúsculas en sentido contrario si es posible\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Después de cualquier opción viene un ancho de campo opcional, como número\n" "decimal; y luego un modificador opcional, que puede ser\n" "E para usar la representación alternativa del local si está disponible, o " "bien\n" "O para usar el símbolo numérico alternativo del local si está disponible.\n" # Nota: Cambio el ejemplo de la costa oeste por uno un poco más familiar # para los usuarios hispanohablantes. # # Como decía Douglas Hofstadter: "La mejor traducción de una novela de # Dostoievski acaba siendo una novela de Galdós". #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Ejemplos:\n" "Convierte segundos desde la época (1970-01-01 UTC) a una fecha\n" " $ date --date='@2147483647'\n" "\n" "Muestra la hora peninsular española (utilice tzselect(1) para encontrar TZ)\n" " $ TZ='Europe/Madrid' date\n" "\n" "Muestra la hora local para las 9 de la mañana del viernes que viene en la " "hora peninsular española\n" " $ date --date='TZ=\"Europe/Madrid\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "entrada estándar" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "fecha inválida %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "se han especificado varios formatos de salida" # Cualquier cosa menos poner "fechas a imprimir". #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "las opciones para especificar la fecha son mutuamente excluyentes" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "las opciones para mostrar y establecer la hora no se pueden utilizar a la vez" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "el argumento `%s' carece del signo `+' inicial;\n" "cuando se utiliza una opción para especificar fecha(s), cualquier argumento\n" "que no sea una opción debe ser una cadena de formato que comience con `+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "no se puede establecer la fecha" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "la fecha %s está fuera de rango" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [OPERANDO]...\n" " o bien: %s OPCIÓN\n" # Tenía un fuzzy pero no sé de qué. #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copia un fichero, convirtiendo y dándole formato de acuerdo con las " "opciones.\n" "\n" " bs=BYTES lee y escribe hasta BYTES bytes cada vez\n" " cbs=BYTES convierte BYTES bytes cada vez\n" " conv=PALABRAS convierte el fichero según la lista de palabras clave\n" " separadas por comas\n" " count=BLOQUES copia solamente BLOQUES bloques de entrada\n" " ibs=BYTES lee BYTES bytes cada vez (por omision: 512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FICHERO lee del FICHERO en lugar de la entrada estándar (stdin)\n" " iflag=OPCIONES lee según la lista de símbolos separados por comas\n" " obs=BYTES escribe BYTES bytes cada vez (por omision: 512)\n" " of=FICHERO escribe en FICHERO en lugar de la salida estándar\n" " oflags=OPCIONES escribe según la lista de símbolos separados por comas\n" " seek=BLOQUES se salta BLOQUES bloques de tamaño obs al comienzo del\n" " resultado\n" " skip=BLOQUES se salta BLOQUES bloques de tamaño ibs al comienzo de la\n" " entrada\n" " status=noxfer suprime estadísticas sobre la transferencia\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOQUES y BYTES pueden estar seguidos por los siguientes sufijos\n" "multiplicativos:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, y así sucesivamente para T, P, E, Z, " "Y.\n" "\n" "Cada símbolo CONV puede ser:\n" "\n" # Tampoco le encuentro el fuzzy #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii de EBCDIC a ASCII\n" " ebcdic de ASCII a EBCDIC\n" " ibm de ASCII a EBCDIC alternado\n" " block rellena los registros terminados en nueva línea con espacios " "hasta\n" " el tamaño de cbs\n" " unblock sustituye los espacios que sobran en los registros de tamaño " "cbs\n" " con un carácter de nueva línea\n" " lcase cambia las mayúsculas a minúsculas\n" " ucase cambia las minúsculas a mayúsculas\n" " swab intercambia cada pareja de bytes de entrada\n" " sync rellena cada bloque de entrada con NULs hasta el tamaño de ibs;\n" " cuando se utiliza con block o unblock, rellena con espacios\n" " en lugar de con NULos\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl falla si el fichero de salida ya existe\n" " nocreat no crea el fichero de salida\n" " notrunc no trunca el fichero de salida\n" " noerror continúa después de los errores de lectura\n" " fdatasync escribe físicamente el fichero de salida antes de terminar\n" " fsync lo mismo, pero escriben también los metadatos\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada símbolo BANDERA puede ser:\n" "\n" " append modo de adición (solamente tiene sentido para salida,\n" " se sugiere conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio utiliza E/S concurrente para los datos\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct utiliza E/S directa para los datos\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory falla a menos que sea un directorio\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync utiliza E/S sincronizada para los datos\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync similar, pero también para metadatos\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock acumula bloques llenos de entrada (solamente iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock utiliza E/S no bloqueante\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime no actualiza la fecha de acceso\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache descarta los datos en caché\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty no asigna una terminal controladora del fichero\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow no sigue los enlaces simbólicos\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks falla si está enlazado varias veces\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary utiliza E/S binaria para los datos\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text utiliza E/S de texto para los datos\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar la señal %s a un proceso `dd' en marcha hace que muestre\n" "estadísticas de E/S en la salida de error estándar, y luego continúa\n" "con la copia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registros leídos\n" " 18335302+0 registros escritos\n" " 9387674624 bytes (9.4 GB) copiados, 34.6279 segundos, 271 MB/s\\n\"\n" "\n" "Las opciones son:\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> registros leídos\n" "%<PRIuMAX>+%<PRIuMAX> registros escritos\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> registro truncado\n" msgstr[1] "%<PRIuMAX> registros truncado\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) copiado" msgstr[1] "%<PRIuMAX> bytes (%s) copiados" #: src/dd.c:720 msgid "Infinity B" msgstr "Infinito B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "cerrando el fichero de entrada %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "cerrando el fichero de salida %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "fallo al desactivar O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "escribiendo en %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operando no reconocido %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversión inválida" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "opción de entrada inválida" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "opción de salida inválida" #: src/dd.c:1227 msgid "invalid status flag" msgstr "opción de estado inválida" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "número inválido %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "no se pueden combinar dos de entre {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "no se puede combinar block y unblock" # Lo mismo de antes. #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "no se puede combinar lcase y ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "no se puede combinar excl y nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "no se puede combinar direct y nocache" # Se admiten sugerencias. #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "atención: solucionando provisionalmente un bicho del núcleo\n" "relacionado con lseek para el fichero (%s) de mt_type=0x%0lx;\n" "consulte la lista de tipos en <sys/mtio.h>" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: no se puede saltar" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: desplazamiento imposible" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "desbordamiento de desplazamiento leyendo el fichero %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "atención: desplazamiento inválido después de la lectura fallida" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "no se puede sortear un fallo del núcleo después de todo" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "estableciendo opciones para %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "memoria agotada por búfer de entrada de %zu bytes (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "memoria agotada por un búfer de salida de %zu bytes (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: no se puede saltar al desplazamiento especificado" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "fallo al truncar a %<PRIuMAX> bytes el fichero de salida %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync falló para %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "falló fsync para %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "No se puede abrir %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "desplazamiento demasiado grande: no se puede truncar a una longitud de\n" "seek=%<PRIuMAX> bloques (%lu bytes)" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "fallo al truncar a %<PRIuMAX> bytes el fichero de salida %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "fallo al descartar el caché para: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "S.ficheros" #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloques" #: src/df.c:181 msgid "Used" msgstr "Usados" #: src/df.c:184 msgid "Available" msgstr "Disponibles" #: src/df.c:187 msgid "Use%" msgstr "Uso%" #: src/df.c:190 msgid "Inodes" msgstr "Nodos-i" #: src/df.c:193 msgid "IUsed" msgstr "NUsados" #: src/df.c:196 msgid "IFree" msgstr "NLibres" #: src/df.c:199 msgid "IUse%" msgstr "NUso%" #: src/df.c:202 msgid "Mounted on" msgstr "Montado en" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "atención: se ha especificado el fichero origen %s más de una vez" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Tamaño" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Disp" #: src/df.c:474 msgid "Capacity" msgstr "Capacidad" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Muestra información sobre el sistema de ficheros en el que reside cada " "FICHERO,\n" "o por omisión sobre todos los sistemas de ficheros.\n" "\n" # Se aceptan sugerencias para lo de "dummy" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all incluye los sistemas de ficheros virtuales\n" " -B, --block-size=TAM escala los tamaños por TAM antes de mostrarlos.\n" " P. ej., `-BM' muestra los tamaños en unidades de\n" " 1.048.576 bytes. Vea el formato de TAMAÑO más " "abajo.\n" " --total imprime la suma total\n" " -h, --human-readable imprime los tamaños en formato legible (p.e. 1K 234M " "2G)\n" " -H, --si análogo, pero utiliza potencias de 1000 y no de " "1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes muestra la información de nodos-i en lugar del uso\n" " de bloques\n" " -k como --block-size=1K\n" " -l, --local limita el listado a los sistemas de ficheros " "locales\n" " --no-sync no llama a sync antes de obtener el modo de empleo\n" " (por defecto)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability utiliza el formato POSIX para el resultado\n" " --sync llama a sync antes de obtener el modo de empleo\n" " -t, --type=TIPO restringe el listado a sistemas de ficheros de tipo " "TIPO\n" " -T, --print-type muestra el tipo del sistema de ficheros\n" " -x, --exclude-type=TIPO restringe el listado a los sistemas de ficheros " "que\n" " no son del tipo TIPO\n" " -v (no tiene efecto)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "las opciones --compare (-C) y --strip son mutuamente excluyentes" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Atención: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "el sistema de ficheros %s está simultánemente seleccionado y excluido" #: src/df.c:1500 msgid "Warning: " msgstr "Atención: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "no se puede leer la tabla de sistemas de ficheros montados" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "no se ha procesado ningún sistema de ficheros" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Produce órdenes para establecer la variable de entorno LS_COLORS.\n" "\n" "Para determinar el formato del resultado:\n" " -b, --sh, --bourne-shell produce código en Bourne shell para\n" " establecer LS_COLORS\n" " -c, --csh, --c-shell produce código en C-shell para\n" " establecer LS_COLORS\n" " -p, --print-database muestra los valores por defecto\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Si se especifica FICHERO, se lee para determinar qué colores usar para " "cuáles\n" "tipos de ficheros y extensiones. En caso contrario, se utiliza una base de\n" "datos precompilada. Para más información acerca del formato de estos " "ficheros,\n" "ejecute `dircolors --print-database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: línea inválida; falta el segundo elemento" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: palabra clave no reconocida %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "las opciones para mostrar la base de datos interna de dircolors y\n" "para seleccionar una sintaxis para el shell son mutuamente excluyentes" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "los ficheros operando no se pueden combinar con --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "no hay variable de entorno SHELL, y no se ha especificado la opción\n" "del tipo de shell" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Modo de empleo: %s [OPCIÓN] NOMBRE...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Muestra NOMBRE eliminando las barras finales y la última componente que no " "sea\n" "una barra; si NOMBRE no tiene /'s, el resultado es `.' (representando el\n" "directorio actual).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -0, --null termina cada línea por un byte 0 en vez de nueva línea\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Ejemplos:\n" " %s /usr/bin/ Salida \"/usr\".\n" " %s stdio.h Salida \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" " o bien: %s [OPCIÓN]... --files0-from=F\n" # La palabra "desreferencia" es horrenda. Dudo incluso de que exista. # ¿Sugerencias? # "Deja de referenciar", "Elimina referencia/s a" (Sólo es sugerencia) tb # La consevaremos, a ver si junto varias. sv # # ¿Por qué no algo tan simple y comprensible como "no hace referencia a"? uac # # Lo pensaré despacito. sv #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Muestra un resumen del uso de disco para cada FICHERO, recursivamente para\n" "directorios.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all muestra resultados para todos los ficheros, no sólo\n" " para los directorios\n" " --apparent-size muestra los tamaños aparentes, en lugar del uso de\n" " disco; el tamaño aparente es normalmente más " "pequeño,\n" " puede ser más grande debido a agujeros en " "ficheros\n" " dispersos, fragmentación interna, bloques " "indirectos,\n" " etc.\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=TAM escala los tamaños por TAM antes de mostrarlos.\n" " P. ej., `-BM' muestra los tamaños en unidades de\n" " 1.048.576 bytes. Vea el formato de TAMAÑO más " "abajo.\n" " -b, --bytes equivalente a `--apparent-size --block-size=1'\n" " -c, --total produce un \"total\"\n" " -D, --dereference-args sigue solamente los enlaces listados en la línea " "de\n" " órdenes\n" # prefiero enlaces duros a fuertes em # # En esto no os ponéis de acuerdo. # Creo que lo acabaremos preguntando en "spanglish". sv+ #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F resume el uso de disco de los nombres de ficheros\n" " terminados en NUL especificados en el fichero F;\n" " Si F es - entonces lee los nombres de la entrada\n" " estándar\n" " -H equivalente a --dereference-args (-D)\n" " -h, --human-readable muestra los tamaños de forma legible\n" " (p. ej., 1K 234M 2G)\n" " --si como -h, pero utiliza potencias de 1000 y no de " "1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k como --block-size=1K\n" " -l, --count-links cuenta los tamaños varias veces si hay enlaces " "fuertes\n" " -m como --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference desreferencia todos los enlaces simbólicos\n" " -P, --no-dereference no sigue ningún enlace simbólico (predeterminado)\n" " -0, --null termina cada línea por un byte 0 en vez de nueva " "línea\n" " -S, --separate-dirs no incluye el tamaño de los subdirectorios\n" " -s, --summarize muestra solamente un total para cada argumento\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time muestra la fecha/hora de la última modificación de\n" " cualquier fichero dentro del directorio, o de\n" " cualquiera de sus subdirectorios\n" " --time=PALABRA muestra la fecha/hora como PALABRA en lugar de la\n" " fecha de modificación:\n" " atime, access, use, ctime o status\n" " --time-style=ESTILO muestra las fechas/horas usando el estilo ESTILO:\n" " full-iso, long-iso, iso, +FORMATO\n" " FORMATO se intepreta como `date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Infinito B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read falló: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "profundidad máxima inválida %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argumento --%s inválido %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "no se puede al mismo tiempo resumir y mostrar todas las entradas" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "atención: resumir es lo mismo que usar --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "atención: resumir entra en conflicto con --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "los ficheros operando no se pueden combinar con --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: error de lectura" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "cuando se leen nombres de ficheros de la entrada estándar, no se\n" "permite un nombre de fichero de %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nombre de fichero de longitud cero inválido" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Modo de empleo: %s [OPCIÓN-CORTA]... [CADENA]...\n" " o bien: %s OPCIÓN-LARGA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Muestra cada CADENA en la salida estándar.\n" "\n" " -n no muestra la nueva línea final\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e activa la interpretación de secuencias de escape (por " "omisión)\n" " -E desactiva la interpretación de secuencias de escape\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e activa la interpretación de secuencias de escape\n" " -E desactiva la interpretación de secuencias de escape\n" " (por omisión)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Si se utiliza -e, se reconocen las siguientes secuencias:\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ barra invertida\n" " \\a campana (BEL)\n" " \\b retroceso\n" " \\c no produce ninguna salida más\n" " \\e escape\n" " \\f avance de página (form feed)\n" " \\n nueva línea\n" " \\r retorno de carro\n" " \\t tabulador horizontal\n" " \\v tabulador vertical\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN el byte con valor octal NNN (de 1 a 3 dígitos)\n" " \\xHH el byte con valor hexadecimal HH (de 1 a 2 dígitos)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [-] [NOMBRE=VALOR]... [ORDEN [ARGUMENTO]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Asigna a cada NOMBRE el VALOR en el entorno y ejecuta ORDEN.\n" "\n" " -i, --ignore-environment comienza con un entorno vacío\n" " -0, --null termina cada línea de salida con un byte 0\n" " en lugar de con nueva línea\n" " -u, --unset=NOMBRE borra la variable del entorno\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Un simple - implica -i. Si no hay ORDEN, muestra el entorno resultante.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "no se puede borrar %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "no se puede establecer %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "no se puede especificar --null (-0) con la orden" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Convierte las tabulaciones de cada FICHERO en espacios, escribiendo el\n" "resultado en la salida estándar. Si no se especifica FICHERO o FICHERO\n" "es `-', lee la entrada estándar.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial sólo convierte las tabulaciones iniciales de cada " "línea\n" " -t, --tabs=NÚMERO establece las tabulaciones cada NÚMERO caracteres, no " "8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas para\n" " definir las posiciones de tabulación\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "la parada de tabulación es demasiado grande %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "el tamaño de tabulación contiene uno o varios caracteres inválidos: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "el tamaño de tabulación no puede ser 0" # ??? Mejor que el original, lo estoy dejando :-) #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "las posiciones de tabulación deben ir en orden creciente" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "la línea de entrada es demasiado larga" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s EXPRESIÓN\n" " o bien: %s OPCIÓN\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Muestra el valor de la EXPRESIÓN en la salida estándar. Una línea en blanco\n" "debajo separa los grupos de prioridad creciente. La EXPRESIÓN puede ser:\n" "\n" " ARG1 | ARG2 ARG1 si no es nulo ni 0, de otra manera ARG2\n" "\n" " ARG1 & ARG2 ARG1 si ningún argumento es nulo o 0, de otra manera 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 es menor que ARG2\n" " ARG1 <= ARG2 ARG1 es menor o igual que ARG2\n" " ARG1 = ARG2 ARG1 es igual a ARG2\n" " ARG1 != ARG2 ARG1 es distinto de ARG2\n" " ARG1 >= ARG2 ARG1 es mayor o igual que ARG2\n" " ARG1 > ARG2 ARG1 es mayor que ARG2\n" "\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 suma aritmética de ARG1 y ARG2\n" " ARG1 - ARG2 diferencia aritmética de ARG1 y ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 producto aritmético de ARG1 y ARG2\n" " ARG1 / ARG2 cociente aritmético de ARG1 dividido entre ARG2\n" " ARG1 % ARG2 residuo aritmético de ARG1 dividido entre ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " CADENA : EXPREG búsqueda de expresiones regulares REGEXP en CADENA\n" "\n" " match CADENA EXPREG igual que CADENA : EXPREG\n" " substr CADENA POS LONG subcadena de CADENA, POS se cuenta partiendo de " "1\n" " index CADENA CARacteres índice en CADENA donde cualquier CARácter es\n" " encontrado, ó 0\n" " length CADENA longitud de CADENA\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN interpreta TOKEN como una cadena, incluso si " "es\n" " una palabra clave como `match' o un operador\n" " como `/'\n" "\n" " ( EXPRESIÓN ) valor de EXPRESIÓN\n" # Aquí no estoy muy conforme con quoted -> colocado entre comillas # ¿Acaso no sería mejor comentado? cfuga # Bueno, realmente sería "citado". Comentado se aplica más bien a estas # líneas que tienen un "#" al principio. # me parece mejor lo que hay ahora que comentado. sv # Sugerencia: emparejada -> que coincide con. cfuga # Por mí, bien. Se trata de "string matching", es decir que una cadena # coincide (en el sentido de que "encaja") con una determinada expresión # regular. Lo de match-emparejada lo solemos usar para llaves o comillas # que deben estar por parejas (una al principio y otra al final). sv # # ¿¿Escapados?? = colocados entre secuencias de escape. # No sería exacto, porque así das a entender que debe haber una secuencia # de escape antes y otra después. # # ¿No habría que poner "shell" entre comillas: `shell', ya que no lo # traducimos por "concha" (para los argentinos y otros: xoxo) ni # "caparazón" o "envoltorio"? (Conste que he visto estas palabras en # libros) Ya que es una palabra inglesa con traducción española, si # bien algo inconveniente quizá. gerardo # Es un neologismo. Creo que en español lo mejor es llamarle también shell. # No conozco ninguna traducción que haya prosperado. # Piensa en que tampoco ponemos entre comillas hardware ni software. sv # Es distinto. Las traducciones de hardware ("cacharrería") y # software ("logical") son demasiado forzadas. No hay traducción # aceptable. De "shell" sí hay, aunque la verdad es que a mí no me # gustan tampoco. En fin, tú mandas. Aquí me rindo. gerardo # Gracias. Si se te ocurre alguna ingeniosa traducción de shell, que nos # guste a los dos, *y que estés dispuesta a usarla en tu lenguaje cotidiano* # me avisas. No creo que suceda. sv #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Advierta que muchos operadores necesitan ser escritos con secuencias de " "escape\n" "o encerrados entre comillas para los shells.\n" "Las comparaciones son aritméticas si ambos ARGs son números, de otra manera\n" "son lexicográficas.\n" "Las coincidencias de expresiones regulares devuelven la cadena emparejada\n" "entre \\( y \\) o nulo; si no se utilizan \\( y \\), devuelven el número de\n" "caracteres coincidentes ó 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "El estado de salida es 0 si EXPRESIÓN no es ni nula ni 0, 1 si\n" "EXPRESIÓN es nula o 0, 2 si EXPRESIÓN es sintácticamente inválida, y 3\n" "si ocurrió un error.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "error de sintaxis" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "error en el comparador de expresiones regulares" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argumento no entero" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "división por cero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "establezca LC_ALL='C' para solucionar este problema de forma temporal." #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "las cadenas comparadas eran %s y %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s no es un entero positivo válido" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s es demasiado grande" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [NÚMERO]...\n" " o bien: %s OPCIÓN\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Muestra los factores primos de todos los NÚMEROs enteros especificados.\n" "Si no se especifican argumentos en la línea de órdenes, se leen de la\n" "entrada estándar.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "no se puede obtener el directorio actual" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "no se puede cambiar al directorio %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "no se puede efectuar `stat' sobre el directorio actual (ahora %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Modo de empleo: %s [-ANCHO] [OPCIÓN]... [FICHERO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformatea cada párrafo de FICHERO(s), escribiendo en la salida estándar.\n" "La opción -ANCHO es una forma abreviada de --width=DÃGITOS.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin mantiene la sangría en las dos primeras líneas\n" " -p, --prefix=CADENA junta sólo las líneas que comiencen con CADENA\n" " -s, --split-only divide las líneas largas de manera que quepan\n" " en el ancho especificado, pero no junta líneas\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph establece la sangría de la primera línea " "diferente\n" " de la segunda línea\n" " -u, --uniform-spacing pone un espacio entre palabras, dos entre " "frases\n" " -w, --width=ANCHO establece el ancho de línea máximo (por " "defecto,\n" " 75 columnas)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "opción inválida -- %c; -ANCHO solamente se reconoce cuando es la primera\n" "opción; utilice -w N en su lugar" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ancho inválido: %s" # Sugerencia: "Ajusta ... de cada FICHERO, o de la entrada ..." sv # A mí me gusta como está. ipg #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Ajusta el ancho de las líneas en cada FICHERO (por omisión la entrada\n" "estándar), y escribe el resultado en la salida estándar\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes cuenta bytes en vez de columnas\n" " -s, --spaces corta la línea por los espacios\n" " -w, --width=ANCHO utiliza ANCHO columnas en vez de 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "el número de columnas no es válido %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Modo de empleo: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Muestra límites que dependen de la plataforma en un formato útil para " "scripts\n" "de shell.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "fallo al obtener los grupos del usuario %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "fallo al obtener los grupos del proceso actual" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "no se puede encontrar el nombre para el grupo con ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Muestra la pertenencia a grupo de cada NOMBREUSUARIO, o, si no se " "especifica\n" "NOMBREUSUARIO, el proceso actual (que puede ser distinto si la base de " "datos\n" "de grupos ha cambiado).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "no se puede establecer el id del usuario" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "no se puede seguir %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "no se puede establecer el id del usuario" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: No existe ese usuario" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Muestra las primeras 10 líneas de cada FICHERO en la salida estándar.\n" "Si se especifican varios FICHERO(s), se muestra el nombre de cada uno.\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K muestra los primeros K bytes de cada fichero;\n" " con el `-' inicial, muestra todos menos los\n" " últimos K bytes de cada fichero\n" " -n, --lines=[-]K muestra las primeras K líneas en lugar de las\n" " primeras 10; con el `-' inicial, muestra todas\n" " menos las últimas K líneas de cada fichero\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent no muestra las cabeceras con el nombre del " "fichero\n" " -v, --verbose muestra siempre las cabeceras con el nombre del\n" " fichero\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K puede tener un sufijo multilplicativo:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " "Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: el fichero ha encogido demasiado" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: el número de bytes es demasiado grande" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: no se puede efectuar `lseek' hasta la posición original" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: no se puede desplazar a la posición %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: fallo al borrar" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "no se puede reposicionar el puntero a fichero para %s" # Eso de "representable" no me suena muy bien, ¿podrías explicar a qué se # refiere?, incluso me parecen dos mensajes distintos... # # Pues un número, es un concepto abstracto, y su representación son # cosas como 1, 2 3i em+ #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s es tan grande que no es representable" #: src/head.c:886 msgid "number of lines" msgstr "número de líneas" #: src/head.c:886 msgid "number of bytes" msgstr "número de bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "el número de líneas no es válido" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "el número de bytes no es válido" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "opción inválida al final -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Modo de empleo: %s [OPCIÓN]\n" "Muestra el identificador numérico (en hexadecimal) del `host' actual.\n" "\n" # Host = huésped (vale, vale, no me peguéi má, me retracto, ab # renuncio: gerardo :-) # # Pues no te lo vas a creer, pero en el libro de Infovía de Telefónica # ponen anfitrión y se quedan tan anchos. # Esto no lo tengo claro del todo todavía. sv # # ¿Y por qué no? "Huésped" en español se refiere tanto al hospedador # como al hospedado. En nuestro caso "host" es el ordenador u/o/y # cacharro informático que hospeda en su seno un servicio, programa o # lo que sea. El anfitrión, para distinguir. Como he dicho otras # veces, "los angloparlantes dicen _anfitrión_ o _huésped_ en su # idioma. ¿Por qué nosotros no en el nuestro?" # gerardo # # ¿Porque siempre dudamos entre anfitrión o huésped? # (Como el asno de Buridán) # ¿O tal vez porque nadie se ha atrevido jamás? # A mí me da miedo ser el primero. sv #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Modo de empleo: %s [NOMBRE]\n" " o bien: %s OPCIÓN\n" "Muestra o establece el nombre del `host' del sistema actual.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "no se puede establecer el nombre a %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "no se puede cambiar el nombre de `host'; este sistema carece de esa capacidad" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "no se puede determinar el nombre del `host'" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Muestra la información de usuario y grupo para el NOMBREUSUARIO " "especificado,\n" "o (cuando se omite NOMBREUSUARIO) para el usuario actual.\n" "\n" " -a sin efecto, para compatibilidad con otras versiones\n" " -Z, --context muestra sólo el contexto de seguridad del usuario actual\n" " -g, --group muestra sólo el ID de grupo\n" " -G, --groups muestra sólo los grupos suplementarios\n" " -n, --name muestra un nombre en lugar de un número, para -ugG\n" " -r, --real muestra el ID real en lugar del ID efectivo, para -ugG\n" " -u, --user muestra sólo el ID efectivo del usuario\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sin ninguna OPCIÓN, muestra un conjunto útil de información sobre la " "identidad.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" "--context (-Z) solamente funciona con núcleos que tengan SELinux activado" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "no se puede mostrar el contexto de seguridad cuando se especifica usuario" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "no se puede mostrar \"only\" de más de una elección" # Cambio un poco este mensaje. Si el anterior habla en singular, prefiero # que este también lo haga. Después de todo la orden id solamente # acepta un usuario. #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "no se puede imprimir solamente el nombre o el ID real en el formato\n" "predeterminado" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "no se puede obtener el contexto del proceso" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "no se puede seguir %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "no se puede encontrar el nombre para el usuario con ID %lu" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " grupos=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " contexto=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "atención: %s: fallo al cambiar el contexto a %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "creando el directorio %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "no se puede cambiar el propietario de %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "no se puede establecer la fecha de %s" # Esta generó en su día una gran discusión, pues el original no era tan # explicativo. Finalmente, el autor (Jim Meyering) accedió amablemente a # cambiar el msgid original a como está ahora. # (Antes decía simplemente "cannot fork"). # Gracias a este cambio, tanto el original como la traducción son claros # y precisos, pero sin llegar a ser verborreicos. #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "falló la llamada al sistema `fork'" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "no se puede ejecutar %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "esperando a strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "el proceso strip terminó anormalmente" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "usuario inválido %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [-T] ORIGEN DESTINO\n" " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" " o bien: %s [OPCIÓN]... -t DIRECTORIO ORIGEN...\n" " o bien: %s [OPCIÓN]... -d DIRECTORIO...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Este programa install copia los ficheros (a menudo recién compilados) al " "destino\n" "elegido. Si quiere descargar e instalar un paquete listo para usar en un\n" "sistema GNU/Linux, debería en su lugar utilizar un gestor de paquetes como\n" "yum(1) o apt-get(1).\n" "\n" "En las tres primeras formas, copia ORIGEN a DESTINO o varios\n" "ORIGEN(es) al DIRECTORIO existente, mientras se establecen los\n" "permisos y el propietario/grupo. En la cuarta forma, crea todos los\n" "componentes del/de los DIRECTORIO(s) dado(s).\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] crea una copia de seguridad de cada fichero de\n" " destino que exista\n" " -b como --backup pero no acepta ningún argumento\n" " -C, --compare compara cada pareja de ficheros origen y destino, " "y\n" " en algunos casos, no modifica el destino en " "absoluto\n" " -c (sin efecto)\n" " -d, --directory trata todos los argumentos como nombres de " "directorios\n" " crea todos los componentes de los directorios\n" " especificados\n" # FIXME: El "create all" está un poco descolocado. # # "given DIRECTORY" -> "DIRECTORIO que se indica" o "indicado" tb # Bueno, dejaré la sugerencia. Me gusta más "dado" porque es más corto # y si no tendría que usar otra línea más. sv # # Estoy con tb, creo que "indicado" explica mejor... uac # Lo pensaré. ¿Alguien más? sv #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D crea todos los componentes iniciales de DESTINO\n" " excepto el último, y entonces copia ORIGEN a " "DESTINO\n" " -g, --group=GRUPO establece la propiedad de grupo, en lugar del " "grupo\n" " actual del proceso\n" " -m, --mode=MODO establece los permisos (como en chmod), en lugar\n" " de rwxr-xr-x\n" " -o, --owner=PROPIETARIO establece la propiedad (sólo superusuario)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps aplica las fechas de acceso/modificación de los\n" " ficheros ORIGEN a los ficheros de destino\n" " correspondientes\n" " -s, --strip elimina las tablas de símbolos\n" " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" " -t, --target-directory=DIRECTORIO copia todos los argumentos ORIGEN\n" " al DIRECTORIO\n" " -T, --no-target-directory trata DESTINO como fichero normal\n" " -v, --verbose muestra el nombre de cada directorio conforme se\n" " van creando\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context conserva el contexto de seguridad de SELinux\n" " -Z, --context=CONTEXTO establece el contexto de seguridad SELinux de los\n" " ficheros y directorios\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "ATENCIÓN: no se tendrá en cuenta --preserve-context; este núcleo no tiene\n" "SELinux activado" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "ATENCIÓN: no se tendrá en cuenta --context (-Z); este núcleo no tiene " "SELinux\n" "activado" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "la opción strip no se puede usar cuando se instala un directorio" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "no se permite un directorio de destino cuando se instala un directorio" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "no se puede forzar al contexto a %s y conservarlo" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "modo inválido %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "ATENCIÓN: se descarta la opción --strip-program, ya que no se ha " "especificado\n" "la opción -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "las opciones --compare (-C) y --preserve-timestamps son mutuamente " "excluyentes" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "las opciones --compare (-C) y --strip son mutuamente excluyentes" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "la opción --compare (-C) no se tiene en cuenta cuando se especifica un modo\n" "con bits de no permiso" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" # Sugerencia: no los dos a la vez -> pero no ambos. sv # ¿Pero no ambos a la vez? em # Eso es repetir el "both". sv # En lugar de `no los dos a la vez' ¿`nunca los dos a la vez'? ipg # Eso está mucho mejor em #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Muestra una línea en la salida estándar por cada par de líneas que " "contengan\n" "campos idénticos. El campo a comparar por defecto es el primero, delimitado\n" "por un espacio en blanco. Si FICHERO1 o FICHERO2 es `-' (nunca dos a la " "vez),\n" "lee la entrada estándar.\n" "\n" " -a NUMFICH muestra también las líneas no emparejables del fichero\n" " NUMFICH, donde NUMFICH es 1 o 2, correspondiendo a\n" " FICHERO1 o FICHERO2\n" " -e VACÃO reemplaza los campos inexistentes por VACÃO\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case no atiende a las diferencias entre mayúsculas y " "minúsculas\n" " -j CAMPO equivalente a '-1 CAMPO -2 CAMPO'\n" " -o FORMATO utiliza FORMATO para mostrar las líneas de salida\n" " -t CARÃCTER Usa CARÃCTER como delimitador de campos, en la entrada y " "en\n" " la salida\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMFICH Como -a NUMFICH, pero no muestra las líneas emparejadas\n" " -1 CAMPO usa este CAMPO del fichero 1\n" " -2 CAMPO usa este CAMPO del fichero 2\n" " --check-order comprueba que la entrada está correctamente ordenada,\n" " incluso si todos los ficheros de entrada son " "emparejables\n" " --nocheck-order no comprueba que la entrada está correctamente ordenada\n" # Creo que "si no, los campos se separan con CARÃCTER" es redundante, # por supuesto al igual que en la versión english. #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "A menos que se especifique -t CARÃCTER, los espacios en blanco separan " "campos\n" "y son pasados por alto, si no, los campos se separan con CARÃCTER. CAMPO es " "el\n" "número de campo contado a partir de 1. FORMATO es una lista de elementos de " "la\n" "forma `NUMFICH.CAMPO' ó `0', separada por comas o por espacios en blanco. " "El\n" "FORMATO por defecto muestra el campo que empareja, los restantes campos de\n" "FICHERO1 y los de FICHERO2, todos separados por CARÃCTER. Si FORMATO es la\n" "palabra clave `auto', entonces la primera línea de cada fichero determina " "el\n" "número de campos de salida para cada línea.\n" "\n" "Importante: FICHERO1 y FICHERO2 deben estar ordenados en los campos de " "unión\n" "P. ej., utilice `sort -k 1b,1' si `join' no tiene opciones.\n" "Note que las comparaciones siguen las reglas especificadas por " "`LC_COLLATE'.\n" "Si la entrada no está ordenada y no se pueden juntar algunas líneas, se\n" "dará un mensaje de aviso.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: no está ordenado: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "número de campo inválido: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "la especificación del campo no es válida: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "número de fichero inválido en la especificación del campo: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "campos de unión %lu, %lu incompatibles" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "cadenas de reemplazo de campos vacíos conflictivas" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "tab multicarácter %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "tabulaciones incompatibles" # Me refiero a que si sabe la causa exacta del error, ¿por qué ofrece # el error de sistema: "No such device"? # ¿¿Acaso hay sistemas con stdin1 y stdin2?? :-) # # Eso es lo de menos :) em+ #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "los dos ficheros no pueden ser a la vez la entrada estándar" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Modo de empleo: %s [-s SEÑAL | -SEÑAL ] PID...\n" " o bien: %s -l [SEÑAL]...\n" " o bien: %s -t [SEÑAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Envía señales a los procesos, o lista señales.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SEÑAL, -SEÑAL \n" " especifica el nombre o ek número de la señal que se " "enviará\n" " -l, --list lista los nombres de las señales, o convierte nombres " "de\n" " señales en números o viceversa\n" " -t, --table muestra una tabla de información sobre señales\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SEÑAL puede ser un nombre de señal como `HUP', o un número de señal como " "`1',\n" "o un estado de salida de un proceso terminado por una señal.\n" "PID es un entero; si es negativo identifica al grupo de un proceso.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: identificador de proceso inválido" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opción inválida -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: se han especificado varias señales" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "se han especificado varias opciones -l o -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "no se puede combinar la señal con -l o -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "no se ha especificado ningún ID de proceso" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "fallo al asignar espacio para un búfer stdio de %<PRIuMAX> bytes\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "modo de búfer %s inválido para %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "no se pudo establecer el búfer de %s al modo %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s FICHERO1 FICHERO2\n" " o bien: %s OPCIÓN\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Llama a la función link para crear un enlace llamado FICHERO2 a un FICHERO1\n" "que ya exista.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "no se puede crear el enlace duro %s a %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: no se permiten enlaces fuertes para directorios" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: no se puede sobreescribir un directorio" # SIoNO #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: ¿reemplazar %s? (s/n) " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "fallo al crear el enlace simbólico %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "fallo al crear el enlace simbólico %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "fallo al crear el enlace duro a %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "fallo al crear el enlace duro %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "fallo al crear el enlace duro %s => %s" # Aprovecho que en iso-8859-1 existen 1º y 1ª ... #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [-T] OBJETIVO NOMBRE_DEL_ENLACE (1ª forma)\n" " o bien: %s [OPCIÓN]... OBJETIVO (2ª forma)\n" " o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO (3ª forma)\n" " o bien: %s [OPCIÓN]... -t DIRECTORIO OBJETIVO... (4ª forma)\n" # ... y de lo de poner la coletilla "y finaliza" en # las opciones --version y --help :) ipg # Si convences a Enrique de que la coletilla se puede quitar, te apoyo. sv #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "En la primera forma, crea un enlace a OBJETIVO con el nombre " "NOMBRE_DEL_ENLACE.\n" "En la segunda forma, crea un enlace a OBJETIVO en el directorio actual.\n" "En las formas tercera y cuarta, crea enlaces a cada OBJETIVO en DIRECTORIO.\n" "Por omisión, se crean enlaces duros, se crean simbólicos con --symbolic.\n" "Cuando se crean enlaces duros, todos los OBJETIVOs deben existir. Los " "enlaces\n" "simbólicos pueden tener un texto arbitrario; si entonces se resuelve, un " "enlace\n" "relativo se interpreta en relación a su directorio padre.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] crea una copia de seguridad de cada fichero " "de\n" " destino que ya exista\n" " -b como --backup pero no acepta ningún argumento\n" " -d, -F, --directory permite al superusuario intentar crear un " "enlace\n" " duro entre directorios (note: puede que " "falle\n" " por restricciones del sistema, incluso para\n" " el superusuario)\n" " -f, --force borra los ficheros destino que ya existan\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive pregunta si se borran los destinos\n" " -L, --logical crea enlaces duros a referencias de enlaces\n" " simbólicos\n" " -n, --no-dereference trata un destino que sea un enlace simbólico " "a\n" " un directorio como si fuera un fichero normal\n" " -P, --physical crea enlaces duros directamente a los enlaces\n" " simbólicos\n" " -s, --symbolic crea enlaces simbólicos en vez de enlaces " "duros\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" " -t, --target-directory=DIRECTORIO especifica el DIRECTORIO en el que se\n" " crearán los enlaces\n" " -T, --no-target-directory trata NOMBRE_DEL_ENLACE como un fichero " "normal\n" " -v, --verbose imprime el nombre de cada fichero antes\n" " de crear el enlace\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Si se utiliza -s entonces ni -L ni -P tienen efecto. En caso contrario,\n" "la última opción especificada controla el comportamiento cuando el origen\n" "es un enlace simbólico, por omisión %s.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "no se puede combinar --target-directory y --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "no se puede crear el enlace simbólico %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: desconocido" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Modo de empleo: %s [OPCIÓN]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Muestra el nombre del usuario actual.\n" "\n" # login name = nombre de usuario ? # login = [registro de] entrada ? "login" viene de "to log" # (registrar) y de "in"; es el procedimiento que usan en edificios # importantes con guardia de seguridad cuando uno para entrar tiene que # identificarse, firmar, acreditarse, y te dan una tarjetita para la # solapa. Todo ello trasladado al mundo informático, donde uno se # acredita con el nombre de usuario y la clave. Pero bueno, si creéis # que es mejor dejar la palabra en inglés, me callo. gerardo # No me parece mal del todo. Lo pensaré. sv #: src/logname.c:84 #, c-format msgid "no login name" msgstr "no hay ningún nombre de `login'" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "se descarta el valor inválido de la variable de entorno QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "se descarta el ancho inválido de la variable de entorno COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "se descarta el tamaño de `tab' inválido de la variable de entorno TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "ancho de línea inválido: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "tamaño del `tab' inválido: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "formato de estilo de fecha inválido %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Los argumentos válidos son:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "error al inicializar las cadenas de meses" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefijo no reconocido: %s" # Según el Collins, to parse = analizar (en un contexto gramático, como es el # caso). # "valor para la variable de entorno LS_COLORS no analizable" # --> y dos letras menos... # # sinceramente, no creo que después de LS_COLORS, /bin/ls se vaya a leer el # Quijote... # # Es que sí es perfectamente analizable. Lo que pasa es que el resultado # del análisis es que no entiende lo que quiere decir, por eso # es ininteligible... (Si de verdad no fuera analizable, no daría # error, sino que produciría un "core dump" o algo así). sv # #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "valor ininteligible para la variable de entorno LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "no se puede abrir el directorio %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "no se puede determinar el dispositivo y el nodo-i de %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: no se muestra el directorio ya mostrado" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "leyendo el directorio %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "cerrando el directorio %s" # Lo mismo de antes. #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "no se pueden comparar los nombres de fichero %s y %s" # Yo dejaría verbose en verbosamente. ipg # # Eso es un "palabro". sv # # He cambiado la última línea ( muestra la fecha completa y la hora completa ) # además ahora cabe en 80 cols em # # Vale, pues ahora me entra una duda (que antes no salió a relucir) # ¿"la fecha y la hora completa" o "la fecha y la hora completas"? # De momento he puesto lo segundo. sv+ # # Si dices la primera puede llegar a entender que la hora es la única # completa... mientras que la segunda no. uac # # (Efectivamente. sv) # # Creo que correctas son las dos # pero para lo que aquí se quiere decir le toca la segunda... ¿no? uac # # Eso es lo que me parece. Gracias. sv #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Muestra información acerca de los FICHEROs (del directorio actual por " "defecto).\n" "Ordena las entradas alfabéticamente si no se especifica ninguna de las\n" "opciones -cftuvSUX ni --sort.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all no oculta las entradas que comienzan con .\n" " -A, --almost-all no muestra las entradas . y .. implícitas\n" " --author con -l, imprime el autor de cada fichero\n" " -b, --escape imprime escapes en estilo C para los caracteres " "no\n" " gráficos\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=TAMAÑO escala los tamaños por TAMAÑO antes de " "mostrarlos.\n" " P. ej., `--block-size=M' muestra los tamaños " "en\n" " unidades de 1.048.576 bytes. Vea el formato " "de\n" " TAMAÑO más abajo.\n" " -B, --ignore-backups no muestra la entradas que terminan con ~\n" " -c con -lt: ordena por ctime y muestra ctime " "(fecha\n" " de última modificación del fichero)\n" " con -l: muestra ctime y ordena por nombre\n" " en cualquier otro caso: ordena por ctime, el\n" " más reciente primero\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C muestra las entradas por columnas\n" " --color[=CUÃNDO] colorea la salida. Por omisión CUÃNDO es " "`always'\n" " y puede ser también `never' o `auto'.\n" " Más información abajo.\n" " -d, --directory muestra las entradas de los directorios en " "lugar\n" " de sus contenidos, y no sigue los enlaces\n" " simbólicos\n" " -D, --dired genera el resultado para el modo `dired' de " "Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f no ordena, utiliza -aU, no utiliza -ls --color\n" " -F, --classify añade un indicador (uno de */=@|) a las " "entradas\n" " --file-type similar, pero no añade `*'\n" " --format=PALABRA across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time como -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g como -l, pero no lista el propietario\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " agrupa directorios antes que los ficheros\n" " compatible con una opción --sort, pero " "cualquier\n" " uso de --sort=none (-U) desactiva la " "agrupación\n" # Se aceptan sugerencias para lo de "dummy" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group en un listado largo, no muestra nombres de " "grupo\n" " -h, --human-readable con -l, imprime los tamaños en formato legible\n" " (p. ej. 1K 234M 2G)\n" " -H, --si análogo, pero utiliza potencias de 1000 y no de " "1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " sigue los enlaces simbólicos en la línea de\n" " órdenes\n" " --dereference-command-line-symlink-to-dir\n" " sigue cada enlace simbólico en la línea de\n" " órdenes que apunte a un directorio\n" " --hide=PATRÓN no lista las entradas implícitas que coinciden\n" " con el patrón de shell PATRÓN\n" " (las opciones -a o -A tienen prioridad)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=PALABRA añade un indicador con estilo PALABRA a " "los\n" " nombres de las entradas: none " "(predeterminado),\n" " slash (-p), file-type (--file-type), " "classify (-F)\n" " -i, --inode muestra el número de índice de cada fichero\n" " -I, --ignore=PATRÓN no lista las entradas que coincidan (encajen)\n" " con PATRÓN de shell\n" " -k como --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l utiliza un formato de listado largo\n" " -L, --dereference al mostrar la información de un fichero para " "un\n" " enlace simbólico, muestra la información del\n" " fichero al que apunta el enlace en lugar de " "la\n" " del propio enlace\n" " -m rellena el ancho con una lista de entradas\n" " separadas por comas\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid como -l, pero muestra los IDs de usuario y " "grupo\n" " numéricos\n" " -N, --literal muestra los nombres literalmente (no trata p. " "ej.\n" " los caracteres de control de forma especial)\n" " -o como -l, pero no muestra el grupo\n" " -p --indicator-style=slash añade el indicador / a los directorios\n" # La opción "-r, --reverse" literalmente hubiera sido # "invierte el orden al ordenar", pero eso sería muy "reflunflante". # # "utiliza el formato de listado largo sin el grupo"--> # "...sin el campo grupo", no sé por qué te sabe mal ser más explícito # cuando no se alarga mucho el mensaje. Como tú mismo dices... uac # # Lo dejo así por estética. Una palabra más me obligaría a usar # una línea más, y quedaría más feo. Si digo "sin el grupo", queda # claro que el grupo no sale. sv # #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars imprime ? en lugar de los caracteres no " "gráficos\n" " --show-control-chars muestra los caracteres no gráficos tal y como\n" " son (predeterminado a menos que el programa " "sea\n" " `ls' y la salida sea un terminal)\n" " -Q, --quote-name encierra los nombres de las entradas entre\n" " comillas\n" " --quoting-style=PALABRA utiliza el estilo de cita PALABRA para los\n" " nombres de las entradas:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse invierte el orden, en su caso\n" " -R, --recursive muestra los subdirectorios recursivamente\n" " -s, --size muestra el tamaño de cada fichero, en bloques\n" # Nota: ctime, extension, none, etc. son posibles "WORD"s, # por lo tanto, *no* deben traducirse, o de lo contrario el programa # no las reconocería. #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S ordena los ficheros por tamaño\n" " --sort=PALABRA ordena por PALABRA en vez de por nombre: none -" "U,\n" " extension -X, size -S, time -t, version -v\n" " --time=PALABRA con -l, muestra la fecha según PALABRA, en " "lugar\n" " de la fecha de modificación:\n" " atime -u, access -u, use -u, ctime -c, ó " "status -c;\n" " utiliza la fecha especificada como clave de\n" " ordenación si --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=ESTILO con -l, muestra la fecha utilizando el estilo " "ESTILO:\n" " full-iso, long-iso, iso, locale, +FORMATO\n" " FORMATO se interpreta como en `date'; si " "FORMATO\n" " es FORMATO1<nuevalínea>FORMATO2, FORMATO1 se\n" " aplica a los ficheros no recientes y FORMATO2\n" " a los ficheros recientes; si ESTILO está " "precedido\n" " por `posix-', ESTILO surte efecto solamente " "fuera\n" " del local POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ordena por la fecha de modificación, el más\n" " reciente primero\n" " -T, --tabsize=COLS establece los topes de tabulación a cada COLS\n" " en lugar de 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u con -lt: ordena por atime y muestra atime " "(fecha\n" " de último acceso al fichero)\n" " con -l: muestra atime y ordena por nombre\n" " en cualquier otro caso: ordena por atime\n" " -U no ordena; muestra las entradas en el orden " "del\n" " directorio\n" " -v orden natural de números (de versión) dentro\n" " del texto\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS establece el ancho de la pantalla en lugar del\n" " valor actual\n" " -x muestra las entradas por líneas en vez de por\n" " columnas\n" " -X ordena alfabéticamente por la extensión de la\n" " entrada\n" " -Z, --context muestra el contexto de seguridad SELinux de " "cada\n" " fichero\n" " -1 muestra un fichero por cada línea\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "El uso de color para distinguir los tipos de ficheros está desactivado\n" "por omisión y cuando se usa --color=never. Con --color=auto, ls produce\n" "códigos de color solamente cuando la salida estándar está conectada a una\n" "terminal. La variable de entorno LS_COLORS puede cambiar las opciones.\n" "Utilice la orden dircolors para establecerla.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Estado de salida:\n" " 0 si todo fue bien\n" " 1 si hubo problemas menores (p. ej., no poder acceder a un " "subdirectorio),\n" " 2 si hubo un serio problema (p. ej., no se puede acceder al argumento de " "la\n" " línea de órdenes)\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" "Muestra o comprueba sumas de comprobación %s (de %d bits).\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary lee en modo binario (por omisión a menos\n" " que se lea la terminal como entrada estándar)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary lee en modo binario\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check lee %s sumas de los FICHEROs y las comprueba\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text lee en modo de texto (por omisión si se lee de la\n" " terminal como entrada estándar)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text lee en modo de texto (por omisión)\n" # Creo que no es fiel decir: # "no muestra nada, el valor de retorno indica el estado\n" # y que sería mejor decir algo así como: # "...el resultado [del chequeo | comprobación]..." #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Las siguientes tres opciones son útiles sólo cuando ser verifican sumas de\n" "comprobación:\n" " --quiet no muestra OK por cada fichero verificado con éxito\n" " --status no muestra nada, el valor de retorno indica el\n" " resultado\n" " -w, --warn avisa de las líneas de comprobación de sumas\n" " que no están correctamente formateadas\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict con --check, sale con estado de salida distinto de " "cero\n" " para cualquier entrada inválida\n" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Las sumas se calculan tal y como se describe en %s. Al comprobar, la\n" "entrada debe ser un resultado anterior de llamar a este programa. Por " "defecto\n" "se muestra una línea con la suma de comprobación, un carácter indicando el " "modo\n" "de entrada (`*' para binario, ` ' para texto), y el nombre de cada FICHERO.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: demasiadas líneas de suma de comprobación" # ¡¡Jau!! Yo venir en son de paz y aceptar propuesta de rostro pálido :). # ¿Tu fumar pipa de la paz? Yo tener maría de la buena X'D (ya quisiera...) ipg # # ¡¡Jau²!! Yo hacer otra propuesta, mía propuesta no ser formateada # propuesta, yo tener pánico a verborreicos como este... # "...de comprobación MD5 con formato erróneo." # # ipg: ¿y crece por allí? ¡con el frío que hace! }:-) #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: línea de suma de comprobación %s con formato erróneo" # Sí, ( no hace falta leerse los coding standards para saberlo, aunque ahí lo # puedes encontrar también ) %s es el nombre del programa. em #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: FALLO al abrir o leer\n" # Puestos a simplificar, a lo mejor podrías poner simplemente # "coincide" o "no coincide". Cualquiera que use el programa sabe # perfectamente qué es lo que coincide y lo que no. sv+ #: src/md5sum.c:595 msgid "FAILED" msgstr "La suma no coincide" # Yo estoy en contra de utilizar el Ok, por otra parte ahí va mi propuesta # que se parece mucho a la de Santiago: # Correcto/incorrecto, o sea no se refieren al resultado de la suma sino # a la comprobación.... es simple y corto... como el mensaje original.... # #: src/md5sum.c:597 msgid "OK" msgstr "La suma coincide" # Me pregunto y no me contesto: ¿Qué podrá ser el segundo %s? #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" "%s: no se encontraron líneas de suma de comprobación %s con formato correcto" # ¡¡Jau!! Yo venir en son de paz y aceptar propuesta de rostro pálido :). # ¿Tu fumar pipa de la paz? Yo tener maría de la buena X'D (ya quisiera...) ipg # # ¡¡Jau²!! Yo hacer otra propuesta, mía propuesta no ser formateada # propuesta, yo tener pánico a verborreicos como este... # "...de comprobación MD5 con formato erróneo." # # ipg: ¿y crece por allí? ¡con el frío que hace! }:-) #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ATENCIÓN: %<PRIuMAX>: línea tiene un formato erróneo" msgstr[1] "ATENCIÓN: %<PRIuMAX>: líneas tienen un formato erróneo" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ATENCIÓN: no se pudo leer %<PRIuMAX> fichero listado" msgstr[1] "ATENCIÓN: no se pudieron leer %<PRIuMAX> ficheros listados" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ATENCIÓN: %<PRIuMAX> suma calculada NO coincidió" msgstr[1] "ATENCIÓN: %<PRIuMAX> sumas calculadas NO coincidieron" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "la opción --status sólo tiene sentido cuando se verifican sumas de " "comprobación" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "las opciones --binary y --text no tienen sentido cuando se verifican sumas\n" "de comprobación" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "la opción --status sólo tiene sentido cuando se verifican sumas de " "comprobación" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "la opción --warn sólo tiene sentido cuando se verifican sumas de comprobación" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "la opción --quiet sólo tiene sentido cuando se verifican sumas de " "comprobación" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "la opción --strict sólo tiene sentido cuando se verifican sumas de " "comprobación" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Modo de empleo: %s [OPCIÓN]... DIRECTORIO...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Crea los DIRECTORIO(s), si no existen ya.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE establece los permisos (como en chmod), en lugar\n" " de a=rwx - umask\n" " -p, --parents no hay error si existen, crea los directorios padres en\n" " caso necesario\n" " -v, --verbose muestra un mensaje por cada directorio creado\n" " -Z, --context=CTX establece el contexto de seguridad SELinux de cada\n" " directorio creado a CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "se ha creado el directorio %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Modo de empleo: %s [OPCIÓN]... [NOMBRE]...\n" # ¿"pipe" es lo mismo que "named pipe"?. # ¿Algún experto en Unix que me lo sepa decir? # # Yo mismo me lo contesto después de hacer el siguiente experimento: # # mkfifo furufú # ls > furufú # (se queda esperando). # Si ahora hacemos (en otra sesión) cat < furufú, ¡sorpresa! # Sale el resultado del ls, y se "desbloquea" la otra sesión. # # Esto es una "named pipe". Aparece un fichero cuyo primer atributo # es la letra p. Además, con DIRCOLORS sale de color rojito, y con la opción # -F de ls sale una barrita vertical al final |. # # ¿Cómo se llama en español? Y si nadie le ha puesto nombre, ¿cómo # debería llamarse? ¿tubería nombrada? ¿tubería con nombre? # Me inclino por lo segundo, de momento. # # Tiiiiio ... ¡¡es como querer traducir socket!! ipg # # [ ¿y qué hay de malo en ello? ] sv # # Me horroriza. Espero que uses el convenio de poner el original entre # comillas. Tubería nombrada tampoco me gusta, pero no se me ocurre # nada em # *Ya* está FIFO entre paréntesis. No hay posibilidad de confusión. sv+ # # Sólo para que lo tengáis en cuenta: # DNS= Domain Named Service --> Servicio de Dominios Nombrado. # --> Servicio Nombrado de Dominios. # Tanto monta, monta tanto... # Nunca lo he visto como lo ponéis aquí. uac # # Supongo que te refieres al "named" del "named pipe". # Habrá que pensarlo bastante, me temo. sv #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Crea tuberías con nombre (FIFOs) con los NOMBREs dados.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODO establece los permisos a MODO, en lugar\n" " de a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX establece el contexto de seguridad SELinux de cada " "NOMBRE\n" " a CTX\n" # Utilizo "inválido" en lugar de "no válido", porque la palabra existe, # y no usarla es empobrecer el idioma. # # Si a alguien le parece más natural "no válido", deberíamos discutir # esto al mismo tiempo que la "retroreferencia" de Iñaky. # #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "modo inválido" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "el modo solamente debe especificar los bits de permisos del fichero" # Nota: El que no sepa que major y minor es principal y secundario # es que no sabe inglés. Esto viene hasta en el Collins de bolsillo. #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Modo de empleo: %s [OPCIÓN]... NOMBRE TIPO [PRINCIPAL SECUNDARIO]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Crea el fichero especial NOMBRE del TIPO dado.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX establece el contexto de seguridad SELinux de NOMBRE a " "CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Deben especificarse tanto PRINCIPAL como SECUNDARIO cuando el TIPO es b, c ó " "u,\n" "y debe omitirse cuando el TIPO es p. Si PRINCIPAL o SECUNDARIO comienzan con " "0x\n" "o 0X, se interpreta como hexadecimal; en caso contrario, si comienza con 0,\n" "como octal, en caso contrario, como decimal. TIPO puede ser:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b crea un fichero especial de bloques (buffered)\n" " c, u crea un fichero especial de caracteres (unbuffered)\n" " p crea un `FIFO'\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Los ficheros especiales necesitan números de dispositivo principal y " "secundario." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Los fifos no tienen números de dispositivo principal y secundario." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "los ficheros especiales de bloques no están soportados" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "los ficheros especiales de caracteres no están soportados" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "número principal de dispositivo inválido %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "número secundario de dispositivo inválido %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "dispositivo inválido %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tipo de dispositivo inválido %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [PLANTILLA]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Crea un fichero o un directorio temporal, de forma segura, y muestra su " "nombre.\n" "TEMPLATE debe contener al menos 3 'X's consecutivas en la última " "componente.\n" "Si no se especifica PLANTILLA, utiliza tmp.XXXXXXXXXX e implica --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "los ficheros se crean con permisos u+rw, los directories con u+rwx,\n" "menos las restricciones de umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory crea un directorio, no un fichero\n" " -u, --dry-run no crea nada, simplemente muestra un nombre " "(inseguro)\n" " -q, --quiet elimina los mensajes sobre fallos de creación de\n" " ficheros/directorios\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUF añade SUF a PLANTILLA. SUF no debe contener la barra.\n" " Esta opción va implícita si TEMPLATE no termina en " "X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] interpreta PLANTILLA relativa a DIR. Si no se " "especifica\n" " DIR, utiliza $TMPDIR si existe, o si no /tmp.\n" " Con esta opción, PLANTILLA no debe ser un nombre " "absoluto.\n" " Al contrario que con -t, PLANTILLA puede contener " "barras,\n" " pero mktemp solamente crea la última componente.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR utiliza DIR como prefijo, implica -t [obsoleto]\n" " -t interpreta PLANTILLA como una sola componente de nombre " "de\n" " fichero relativa a un directorio: $TMPDIR, si existe;\n" " o si no el directorio especificado con -p; o si no /" "tmp\n" " (obsoleto)\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "fallo al redireccionar la salida de error estándar a /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "demasiadas plantillas" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "con --suffix, la plantilla %s debe terminar en X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "sufijo inválido %s, contiene el separador de directorios" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "insuficiente número de X en la plantilla %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "plantilla inválida, %s, contiene separador de directorios" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "plantilla inválida, %s; con --tmpdir, no puede ser absoluta" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "fallo al crear el directorio a través de la plantilla %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "fallo al crear el fichero a través de la plantilla %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Renombra ORIGEN a DESTINO, o mueve ORIGEN(es) a DIRECTORIO.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] crea una copia de seguridad antes de borrar\n" " -b como --backup pero no acepta ningún " "argumento\n" " -f, --force no pregunta nunca antes de sobreescribir\n" " -i, --interactive pide confirmación antes de sobreescribir\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes elimina todas las barras finales de cada\n" " argumento ORIGEN\n" " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN al\n" " directorio DIRECTORIO\n" " -T, --no-target-directory trata DESTINO como fichero normal\n" " -u, --update mueve solamente cuando el fichero " "ORIGEN\n" " es más moderno que el fichero de " "destino,\n" " o cuando falta el fichero de destino\n" " -v, --verbose da detalles de lo que va haciendo\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Modo de empleo: %s [OPCIÓN] [ORDEN [ARG]...]\n" # scheduling priority -> prioridad de ejecución # ¿Hay algo mejor? cfuga # prioridad de planificación. Aunque quizá "ejecución", si no tan # ajustado y exacto, se entienda mejor. gerardo # Vale. Me quedo con ejecución, pero dejo aquí la otra posibilidad. sv #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Ejecuta ORDEN con un valor ajustado de `nice', lo cual afecta a la prioridad " "de\n" "ejecución. Si no hay ORDEN, muestra el valor de `nice' actual. El rango de\n" "valores de `nice' abarca desde %d (prioridad más favorable) hasta %d\n" "(menos favorable).\n" "\n" " -n, --adjustment=N añade el entero N al valor `nice' (10 por omisión)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ajuste inválido %s" # Me parece mejor: "Con un ajuste debe darse una orden" # Lo consideraré. Esta frase es realmente fea. sv # Vale, lo cambio, pero añado una coma. # (Antes decía: debe darse una orden con un ajuste). #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "con un ajuste, debe darse una orden" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "no se puede obtener el estado de `nice'" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "no se puede establecer el estado de `nice'" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escribe cada FICHERO en la salida estándar, con las líneas numeradas.\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=ESTILO usa ESTILO para la numeración de las líneas\n" " -d, --section-delimiter=CC usa CC para separar páginas\n" " -f, --footer-numbering=ESTILO usa ESTILO para numerar las líneas finales\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=ESTILO usa ESTILO para numerar las líneas de " "cabecera\n" " -i, --line-increment=NÚMERO incremento en el número de línea de cada " "línea\n" " -l, --join-blank-lines=NÚMERO un grupo de NÚMERO líneas vacías se cuentan\n" " como una sola\n" " -n, --number-format=FORMATO inserta los números de línea con FORMATO\n" " -p, --no-renumber no reinicializa el número de líneas para " "cada\n" " página\n" " -s, --number-separator=CADENA añade CADENA despúes del número de línea\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NÚMERO primer número de línea para cada " "página\n" " -w, --number-width=NÚMERO usa NÚMERO columnas para los números de línea\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Por omisión es `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'. `CC' son dos\n" "caracteres delimitadores para separar páginas; si sólo se especifica uno\n" "de ellos, el otro se supone:`.'\n" "Utilícese \\\\ para obtener \\. ESTILO puede ser uno de lo siguientes:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numera todas las líneas\n" " t numera sólo las líneas no vacías\n" " n no numera ninguna línea\n" " pERB numera sólo las líneas que coinciden con la\n" " expresión regular básica ERB\n" "\n" "FORMATO es uno de los siguientes:\n" "\n" " ln justificación a la izquierda, sin ceros a la izquierda\n" " rn justificación a la derecha, sin ceros a la izquierda\n" " rz justificación a la derecha, con ceros a la izquierda\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "desbordamiento en el número de línea" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "estilo de numeración de cabecera inválido: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "estilo de numeración de cuerpo inválido: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "estilo de numeración de pie inválido: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "número de comienzo de línea inválido: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incremento de línea inválido: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "número de líneas vacías inválido: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "ancho para el número de línea inválido: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "formato de numeración de líneas inválido: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s ORDEN [ARGUMENTO]...\n" " o bien: %s OPCIÓN\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Ejecuta ORDEN, descartando las señales de colgar.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Si la entrada estándar es una terminal, la redirige desde /dev/null.\n" "Si la salida estándar es una terminal, añade la salida a `nohup.out' si\n" "es posible, o a `$HOME/nohup.out' en caso contrario.\n" "Si la salida de error estándar es una terminal, la redirige a la salida\n" "estándar. Para guardar la salida en FICHERO, utilice `%s ORDEN > FICHERO'.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "fallo al establecer la salida estándar como no utilizable" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "no se tendrá en cuenta la entrada" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "se descarta la entrada y se añade la salida a %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "se añade la salida a %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "fallo al establecer que la copia de stderr se cierre al hacer `exec'" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "se descarta la entrada y se redirige la salida de error a la salida estándar" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "se redirige la salida de error a la salida estándar" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "fallo al redireccionar la salida de error estándar" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Modo de empleo: %s [OPCIÓN]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Muestra el número de unidades de proceso disponibles al proceso actual,\n" "lo cual puede ser menos que el número de procesadores activos\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all muestra el número de procesadores instalados\n" " --ignore=N si es posible, excluye N unidades de proceso\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: número que se descarta inválido" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valor no completamente convertido" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "número inválido %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "sufijo inválido en el argumento %s%s `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: fallo al abrir para escritura" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "tamaño del `tab' inválido: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict con --check, sale con estado de salida distinto de " "cero\n" " para cualquier entrada inválida\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Otras opciones:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "el formato %s no tiene ninguna directiva %%" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "formato de ancho inválido" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "el formato %s termina en %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "el formato %s tiene demasiadas directivas %%" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "sufijo inválido en el argumento %s%s `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "rango de páginas inválido %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "número de campo inválido: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "fecha inválida %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "los ficheros operando no se pueden combinar con --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "los ficheros operando no se pueden combinar con --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "se han especificado varias opciones -i" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "los ficheros operando no se pueden combinar con --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "error al leer %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "fallo al establecer la salida estándar como no utilizable" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" " o bien: %s [-abcdfilosx]... [FICHERO] [[+]DESPLAZAMIENTO[.][b]]\\n" "\"\n" " o bien: %s --traditional [OPCIÓN]... [FICHERO] [[+]DESPLAZAMIENTO[.]" "[b] [+][ETIQUETA][.][b]]\n" # Creo que si pones `-' en vez de -, deberías consultarlo primero con # el autor. Además, no lo has cambiado en todas partes. sv+ #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Escribe una representación inequívoca, por defecto en base ocho, de FICHERO\n" "en la salida estándar. Si no se especifica FICHERO o FICHERO es `-', lee la\n" "entrada estándar.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Si son aplicables tanto el primero como el segundo formato de llamada,\n" "se supone el segundo si el último operando comienza con + o (si hay\n" "dos operandos) un dígito. Un operando DESPLAZAMIENTO significa\n" "-j DESPLAZAMIENTO. ETIQUETA es la pseudodirección del primer byte\n" "mostrado, que se incrementa a la vez que se va procesando el\n" "volcado. Para DESPLAZAMIENTO y ETIQUETA, el prefijo 0x ó 0X indica\n" "hexadecimal, los sufijos pueden ser `.' para octal y `b' para bloques\n" "de 512 bytes.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BASE indica cómo se han de mostrar las posiciones\n" " del fichero\n" " -j, --skip-bytes=BYTES descarta los primeros BYTES bytes de cada " "fichero\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES restringe la salida a BYTES bytes\n" " -s, --strings[=BYTES] muestra cadenas de caracteres de al menos " "BYTES\n" " caracteres gráficos\n" " -t, --format=TIPO selecciona el formato o formatos de salida\n" " -v, --output-duplicates no usa * para indicar líneas suprimidas\n" " -w, --width[=BYTES] muestra BYTES bytes por línea de salida\n" " --traditional acepta los argumentos en formato tradicional\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Las especificaciones de formato tradicionales pueden estar mezcladas y\n" "se acumulan:\n" " -a lo mismo que -t a, selecciona los caracteres nombrados, descartando\n" " el bit más significativo\n" " -b lo mismo que -t o1, selecciona bytes en base octal\n" " -c lo mismo que -t c, selecciona caracteres ASCII o secuencias de " "escape\n" " -d lo mismo que -t u2, selecciona unidades decimales de 2 bytes sin " "signo\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f lo mismo que -t fF, selecciona números en coma flotante\n" " -i lo mismo que -t dI, selecciona enteros decimales\n" " -l lo mismo que -t dL, selecciona enteros decimales largos\n" " -o lo mismo que -t o2, selecciona unidades octales de 2 bytes\n" " -s lo mismo que -t d2, selecciona unidades decimales de 2 bytes\n" " -x lo mismo que -t x2, selecciona unidades hexadecimales de 2 bytes\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPO se construye con una o más de las siguientes especificaciones:\n" "\n" " a un determinado carácter, descartando el bit más significativo\n" " c carácter ASCII o secuencia de escape\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[TAMAÑO] decimal con signo, TAMAÑO bytes por cada entero\n" " f[TAMAÑO] coma flotante, TAMAÑO bytes por cada entero\n" " o[TAMAÑO] octal, TAMAÑO bytes por cada entero\n" " u[TAMAÑO] decimal sin signo, TAMAÑO bytes por cada entero\n" " x[TAMAÑO] hexadecimal, TAMAÑO bytes por cada entero\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "TAMAÑO es un número. Para los TIPOs d, o, u ó x, TAMAÑO puede ser también:\n" "C para `sizeof(char)', S para `sizeof(short)', I para `sizeof(int)' ó L " "para\n" "`sizeof(long)'. Si TIPO es f, TAMAÑO puede ser también F para `sizeof" "(float)',\n" " D para `sizeof(double)' ó L para `sizeof(long double)'.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K puede tener un sufijo multilplicativo:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " "Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "tipo de cadena inválido %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "tipo de cadena inválido %s;\n" "este sistema no posee el tipo de entero de %lu bytes" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "tipo de cadena inválido %s;\n" "este sistema no dispone de un tipo de coma flotante de %lu bytes" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "carácter inválido `%c' en la cadena de tipo %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" "no se puede saltar a un punto que está más allá de la entrada combinada" # `set' -> [set] ... no deberíamos cambiar la terminología original, so pena # de hacernos la picha un lío ... (opino, vamos :) ipg #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "la base de la dirección de salida no es válida `%c'; debe ser uno de [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "no se puede especificar tipo cuando se vuelcan cadenas" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "el modo de compatibilidad admite un fichero como mucho" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes es demasiado grande" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "atención: ancho %lu inválido; se usará %d en su lugar" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: señal inválida" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "la entrada estándar está cerrada" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escribe secuencialmente en la salida estándar cada línea de los FICHEROs\n" "especificados, separadas por tabuladores.\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, delimiters=LISTA usa los caracteres indicados en LISTA en lugar de\n" " tabuladores\n" " -s, --serial usa un fichero cada vez, en lugar de hacerlo en\n" " paralelo\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "la lista de delimitadores termina con una barra invertida sin escapar: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnostica construcciones inválidas o no transportables en nombres de " "fichero.\n" "\n" " -p comprueba para la mayoría de sistemas POSIX\n" " -P comprueba nombres vacíos y \"-\" de comienzo\n" " --portability comprueba para todos los sistemas POSIX\n" " (equivalente a -p -P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "`-' inicial en un componente del nombre de fichero %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "carácter %s no transportable en la cadena de modo %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "nombre de fichero vacío" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: no se puede determinar la longitud máxima de un nombre de fichero" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" "El límite %lu ha sido excedido por la longitud %lu del nombre del fichero %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "El límite %lu ha sido excedido por la longitud %lu del componente\n" "de nombre de fichero %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ¿¿¿???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "¿¿??" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nombre de usuario: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "En la vida real: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Directorio: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Proyecto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" # FIXME: Sin el contexto es difícil. #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Nombre" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Inactivo" #: src/pinky.c:411 msgid "When" msgstr "Cuándo" #: src/pinky.c:414 msgid "Where" msgstr "Dónde" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l usa el formato ancho para el resultado\n" " -b omite el directorio inicial y shell del usuario en " "formato\n" " ancho\n" " -h omite el fichero project del usuario en formato largo\n" " -p omite el fichero plan del usuario en formato largo\n" " -s usa el formato corto (este es el predeterminado)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f omite la línea de cabeceras de columnas en formato corto\n" " -w omite el nombre completo del usuario en formato corto\n" " -i omite el nombre completo del usuario y el `host' remoto\n" " en formato corto\n" " -q omite el nombre completo del usuario, el `host' remoto\n" " y el tiempo inactivo en formato corto\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Un programa `finger' sencillo; muestra información del usuario.\n" "El fichero utmp será %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "no se ha especificado ningún nombre de usuario, hay que especificar al\n" "menos uno cuando se usa -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=PRIMERA_PÃGINA[:ÚLTIMA_PÃGINA]' falta un argumento" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "rango de páginas inválido %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l LONGITUD_PÃGINA' el número de líneas no es válido: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N NÚMERO' número de comienzo de línea inválido: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o MARGEN' el desplazamiento de línea no es válido: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w ANCHO_PÃGINA' número inválido de caracteres: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W ANCHO_PÃGINA' número de caracteres inválido: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "no se puede especificar un número de columnas cuando se escribe en paralelo." #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "no se puede especificar a la vez impresión en paralelo y transversalmente." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' sobran caracteres, o número inválido en el argumento: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "ancho de página demasiado estrecho" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "el número de página de comienzo %<PRIuMAX> sobrepasa el número de páginas " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "desbordamiento del número de página" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Página %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Pagina o encolumna FICHERO(s) para su impresión.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIMERA_PAGINA[:ÚLTIMA_PAGINA], --pages=PRIMERA_PAGINA[:ÚLTIMA_PAGINA]\n" " comienza [termina] a imprimir por PRIMERA_[ÚLTIMA_]" "PÃGINA\n" " -COLUMNAS, --columns=COLUMNAS\n" " muestra una salida en COLUMNAS columnas e imprime las\n" " columnas, a menos que se especifique -a. Equilibra el\n" " número de líneas de cada columna en cada página.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across crea las columnas transversalmente en lugar de en " "paralelo,\n" " se utiliza junto con -COLUMNAS\n" " -c, --show-control-chars\n" " muestra los caracteres de control con notación\n" " gorro (^G) o secuencias de escape octales\n" " -d, --double-space\n" " salida con espaciado doble\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMATO\n" " utiliza FORMATO para la fecha de la cabecera\n" " -e[CARÃCTER[ANCHO]], --expand-tabs[CARÃCTER[ANCHO]]\n" " sustituye el carácter de tabulación (o el CARÃCTER) por\n" " ANCHO (8) espacios\n" " -F, -f, --form-feed\n" " utiliza saltos de página en lugar de caracteres de " "nueva\n" " línea para separar páginas (con una cabecera de página " "de 3\n" " líneas con -f o una cabecera y una cola de 5 líneas sin -" "F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h CABECERA, --header=CABECERA\n" " utiliza una CABECERA centrada en lugar del nombre del\n" " fichero en la cabecera de la página, -h \"\" muestra\n" " una línea en blanco, no use -h\"\"\n" " -i[CARÃCTER[ANCHO]], --output-tabs[=CARÃCTER[ANCHO]]\n" " reemplaza los espacios con tabulaciones (o con " "CARÃCTER)\n" " de ancho ANCHO (8)\n" " -J, --join-lines mezcla líneas completas, desactiva el truncamiento de\n" " líneas -W, no alinea las columnas, --sep-string" "[=CADENA]\n" " establece los separadores\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=LONG_PÃGINA\n" " establece la longitud de la página en el número " "indicado\n" " por defecto 66, o 56 si se especifica -F 63\n" " -m, --merge muestra todos los ficheros en paralelo, uno en cada " "columna,\n" " trunca líneas, pero une líneas de longitud completa con -" "J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[DÃGITOS]], --number-lines[=SEP[DÃGITOS]]\n" " numera las líneas, utiliza DÃGITOS (5) dígitos, luego " "SEP\n" " (TAB), la cuenta predeterminada comienza con la primera\n" " línea del fichero de entrada\n" " -N, --first-line-number=NÚMERO\n" " comienza a contar con NÚMERO en la primera línea de la\n" " primera página impresa (véase +PRIMERA_PÃGINA)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGEN\n" " desplaza cada línea con MARGEN (cero) espacios, no " "afecta\n" " a -w ni a -W, MARGEN será añadido a ANCHO_PÃGINA\n" " -r, --no-file-warnings\n" " omite el aviso cuando no se puede abrir un fichero\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CAR], --separator[=CAR]\n" " separa las columnas mediante un solo carácter, el valor\n" " predeterminado de CAR es el carácter de <TAB> sin -w y\n" " 'no char' con -w. La opción -s[CAR] desactiva el\n" " truncamiento de líneas de las 3 opciones de columnas\n" " (-COLUMN|-a -COLUMN|-m) excepto si se usa -w.\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SCADENA, --sep-string[=CADENA]\n" " separa las columnas mediante CADENA,\n" " sin -S: El separador predeterminado es <TAB> con -J\n" " y <espacio> en caso contrario (lo mismo que -S\" \"), \n" " no hay ningún efecto en las opciones de columnas\n" " -t, --omit-header no muestra cabeceras ni colas\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " no muestra cabeceras ni colas, descarta cualquier\n" " formato de página establecido con saltos de página en\n" " los ficheros de entrada\n" " -v, --show-nonprinting\n" " usa la notación octal de barra invertida\n" " -w, --width=ANCHO_PÃGINA\n" " establece el ancho de página en ANCHO_PÃGINA caracteres\n" " (por omisión, 72) solamente para salida de texto en " "varias\n" " columnas, -s[car] lo desactiva (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=ANCHO_PÃGINA\n" " establece el ancho de página siempre en ANCHO_PÃGINA\n" " caracteres (por omisión 72), trunca las líneas, excepto " "si\n" " se usa la opción -J, no interfiere con las opciones -S o " "-s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t es implícito si LONGITUD_PÃGINA <= 10. Si no se especifica ningún " "FICHERO,\n" "o cuando FICHERO es -, lee la entrada estándar.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [VARIABLE]...\n" "Muestra los valores de las VARIABLE(s) de entorno especificadas.\n" "Si no se especifica ninguna VARIABLE, muestra las parejas nombre-valor para\n" "todas ellas.\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null termina cada línea por un byte 0 en vez de nueva línea\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "atención: %s: los caracteres que siguen a la constante de caracteres\n" "no se han tenido en cuenta" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s FORMATO [ARGUMENTO]...\n" " o bien: %s OPCIÓN\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Muestra ARGUMENTO(s) de acuerdo a FORMATO, o ejecuta de acuerdo con OPCIÓN:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMATO controla la salida como la función printf de C. Las secuencias\n" "interpretadas son:\n" "\n" " \\\" dobles comillas\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN el byte con valor octal NNN (de 1 a 3 dígitos)\n" " \\xHH el byte con valor hexadecimal HH (de 1 a 2 dígitos)\n" " \\uHHHH el carácter Unicode (ISO/IEC 10646) con valor hexadecimal HHHH\n" " (4 dígitos)\n" " \\UHHHHHHHH el carácter Unicode con valor hexadecimal HHHHHHHH (8 " "dígitos)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% un sólo %\n" " %b ARGUMENTO como una cadena con secuencias de escape `\\' " "interpretadas,\n" " excepto que los escapes octales son de la forma \\0 o \\0NNN\n" "\n" "y todas las especificaciones de formato en C que terminan con un miembro\n" "de diouxXfeEgGcs, los ARGUMENTOs se convierten al tipo adecuado primero.\n" "Se admiten anchuras variables.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: se esperaba un valor numérico" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valor no completamente convertido" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "falta un número hexadecimal en la secuencia de escape" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "el nombre de carácter universal \\%c%0*x es inválido" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ancho de campo inválido: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "precisión inválida: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: especificación de conversión inválida" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "atención: se descartan los argumentos que sobran, comenzando por %s" # FIXME: Un comentario del autor para el traductor no estaría de más. # Me imagino que este nombre es una excepción porque "ç" no existe en ASCII. #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (para la expresión regular %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [ENTRADA]... (sin -G)\n" " o bien: %s -G [OPCIÓN]... [ENTRADA [SALIDA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Muestra un índice permutado, incluyendo contexto, de las palabras\n" "de los ficheros de entrada.\n" # Usaría 'se comporta' en vez de 'comportarse' em+ # Sentence = frase em # Ok a los dos :) ipg # 'genera salida' lo cambiaría por 'genera' o 'muestra' em+ # Pongo `genera el resultado con' ipg # Por último, 'da información' me resulta antipático, me inclino # por 'informa' em+ # Ya, esa se me pasó ... yastá :) ipg # Perdón, pero lo de 'leer de' no me gusta , prefiero 'leer' a secas em+ # ok ipg # # Sugerencia: usa -> utiliza. sv # Hmmm ... prefiero `usa', es más corto e igual de explicativo. Tampoco # es en exceso coloquial como para no parecer medianamente serio ;) ipg # # ¡Pero en mkid me aceptaste la sugerencia! ¿Por qué aquí no? :-) sv # No sabría decirte ... por el contexto, quizá ... ipg # # Bien, pues razóname por qué un contexto es más apropiado para usa # y el otro es más apropiado para utiliza. sv # # ¡Psche! ... es cuestión muy psicológica. Si te fijas, a mí me parece # un contexto de PM (Persona Mayor, malpensao ;) para ello, y a tí # no. Creo que no hay por qué darle muchas vueltas ... # # Sugerencia (en -F) marcar las líneas -> señalar las líneas. sv # Prefiero marcar, para mi señala se refiere más a una acción activa, # `señalar' algún objeto, apuntar a él, no ser un objeto pasivo que # hace que te fijes en el objeto, que es lo que será la cadena. ipg # # He cambiado un poco lo de "Los argumentos obligatorios...". sv # aunque todavía no es igual que el que tenía yo... # Vale gracias :) me gusta más. Dile a Enrique que los revise en # textutils. ipg # # Sugerencia: directivas TeX -> instrucciones TeX. sv # Aquí prefiero ser fiel al original, ya que hay una traducción # exacta e unívoca de una a otro (¡¡la función buena persona!! ;). ipg # ... salvo que "directiva" me recuerda cantidad a las # "directivas de la Unión Europea" sv # A las que ni Cristo hace puto caso :) ipg # # Propongo: "Considera las minúsculas como mayúsculas para ordenar". sv # # Ahí estás considerando que convierte todo a mayúsculas ... ipg # # En absoluto: Estamos diciendo que las *considera como*, no que las # convierta, y sólo *para ordenar*. Léelo bien, hombre. sv # ¿qué tal `No distingue entre mayúsculas y minúsculas al ordenar'? # (la pongo por ahora en espera de críticas ;) ipg # # No está mal, pero lo que yo proponía da más detalles sobre lo que # hace internamente. Por ejemplo, ¿cómo sabes en qué lugar quedan los códigos # que hay entre los de las mayúsculas y las minúsculas si solamente dices # que "considera iguales las mayúsculas y las minúsculas"? sv # # Perdona Santiago, pero eso yo lo veo innecesario. Al usuario le da # *igual* (o al menos le debería) cómo funcione internamente el hecho # de considerar iguales las mayúsculas y las minúsculas, y el cómo se # ordene, además de que dependerá del LOCALE, es casi irrelevante, porque # creo (y digo creo) que las funciones de ordenación (strcoll && friends) # siempre usan una secuencia de ordenación definida. En mi sistema # usan la de ascii, pero porque yo no tengo definida la secuencia de # ordenación para el castellano. Resumiendo: creo que la razón de # `la posición de los códigos que hay entre mayúsculas y minúsculas' # no es siempre aplicable. # Uso mi frase, ¿ok? :) ipg # # Bueno, no es tan importante, pero me intriga por qué el autor # quiso indicar eso dando más información de la que tú das # en la traducción. sv # Emoción, intriga, dolor de barriga :) ipg #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference muestra automáticamente las referencias\n" " generadas\n" " -G, --traditional se comporta como el `ptx' de System V\n" " -F, --flag-truncation=CADENA usa CADENA para marcar las líneas " "truncadas\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=CADENA usa CADENA como nombre de macro en lugar\n" " de `xx'\n" " -O, --format=roff genera el resultado con directivas roff\n" " -R, --right-side-refs pone las referencias a la derecha,\n" " sin contarlas en -w\n" " -S, --sentence-regexp=EXPR-REG para finales de línea o frase\n" " -T, --format=tex genera salida como directivas TeX\n" # ¿Alquien sabe qué coño es gap? No lo he encontrado en el diccionario .. ipg # Pues gap suele ser una especie de desplazamiento o desajuste, # lo traduciría aquí como separación em+ # Gracias. ipg #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=EXPR-REG usa EXPR-REG para encontrar las palabras " "clave\n" " -b, --break-file=ARCHIVO toma de ARCHIVO los caracteres que definen\n" " las palabras\n" " -f, --ignore-case no distingue entre mayúsculas y minúsculas\n" " al ordenar\n" " -g, --gap-size=NÚMERO separación en columnas entre campos de " "salida\n" " -i, --ignore-file=ARCHIVO lee la lista de palabras a pasar por\n" " alto de ARCHIVO\n" " -o, --only-file=ARCHIVO lee la lista de palabras a mantener de\n" " ARCHIVO\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references el primer campo de la línea es una " "referencia\n" " -t, --typeset-mode - no implementado -\n" " -w, --width=NÚMERO anchura de la salida en columnas,\n" " excluyendo referencias\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Si no se especifica ARCHIVO o ARCHIVO es `-', lee de la entrada estándar.\n" "Se toma `-F /' por defecto.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "ancho de salto inválido: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Muestra el nombre de fichero completo del directorio de trabajo actual.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical utiliza PWD del entorno, incluso si contiene enlaces\n" " simbólicos\n" " -P, --physical evita todos los enlaces simbólicos\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "fallo al cambiar a %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "fallo al efectuar stat sobre %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "no se pudo encontrar la entrada de directorio en %s que corresponda con el " "nodo-i" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "los argumentos que no son opciones no serán tenidos en cuenta" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Muestra el valor de un enlace simbólico o el nombre canónico de un fichero\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize canonicaliza siguiendo recursivamente cada\n" " enlace simbólico en cada componente de la " "ruta\n" " dada; todas las componentes de ruta menos " "la\n" " última deben existir\n" " -e, --canonicalize-existing canonicaliza siguiendo recursivamente cada\n" " enlace simbólico en cada componente de la " "ruta\n" " dada; todas las componentes de la ruta " "deben\n" " existir\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing canonicaliza siguiendo recursivamente cada\n" " enlace simbólico en cada componente de la\n" " ruta dada; sin requerir la existencia de\n" " cada componente\n" " -n, --no-newline no muestra el carácter final de nueva línea\n" " -q, --quiet,\n" " -s, --silent suprime la mayor parte de mensajes de error\n" " -v, --verbose muestra los mensajes de error\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "los argumentos que no son opciones no serán tenidos en cuenta" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" # SIoNO #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: ¿descender al directorio protegido contra escritura %s? (s/n) " # SIoNO #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: ¿descender al directorio %s? (s/n) " # SIoNO #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: ¿borrar el %s %s protegido contra escritura? (s/n) " # Convendría saber qué son los `%s'. Ver el código fuente. # El segundo es el nombre del fichero que se va a borrar, pero # ¿y el primero? # # SIoNO #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: ¿borrar el %s %s? (s/n) " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "directorio borrado: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "no se puede borrar el directorio: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "se salta %s, dado que está en un sistema de ficheros distinto" # Un ejemplito, por caridad #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "fallo al atravesar: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "fallo inesperado: fts_info=%d: %s\n" "por favor comuníqueselo a %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Pruebe `%s ./%s' para borrar el fichero %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Borra (desenlaza) los FICHERO(s).\n" "\n" " -f, --force descarta los ficheros que no existan, sin preguntar\n" " -i pregunta antes de cada borrado\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I pregunta una vez antes de borrar más de tres " "ficheros,\n" " o cuando se borra recursivamente. Menos " "intrusivo\n" " que -i, pero todavía protege contra la mayoría " "de\n" " las equivocaciones\n" " --interactive[=CUÃNDO] pregunta de acuerdo con CUÃNDO: never " "(nunca),\n" " once (una vez, -I), o always (siempre, -i).\n" " Sin CUÃNDO, pregunta siempre\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system cuando se borra una jerarquía recursivamente, " "salta\n" " cualquier directorio que esté en un sistema de\n" " ficheros distinto de aquel que corresponde con el\n" " argumento de la línea de órdenes\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root no trata `/' de forma especial\\n\"\n" " --preserve-root no borra `/' (por omisión)\\n\"\n" " -r, -R, --recursive borra los contenidos de los directorios " "recursivamente\n" " -v, --verbose explica lo que va haciendo\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Por omisión, rm no borra directorios. Utilice la opción --recursive (-r o -" "R)\n" "para borrar también cada directorio listado, junto con todo su contenido.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Para borrar un fichero cuyo nombre comience con un `-', por ejemplo `-fu',\n" "utilice una de las siguientes órdenes:\n" " %s -- -fu\n" "\n" " %s ./-fu\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Tenga en cuenta que si utiliza rm para borrar un fichero, podría ser " "posible\n" "recuperar algo de su contenido, con suficiente experiencia y/o tiempo. Si " "quiere\n" "mayor seguridad de que el contenido es realmente irrecuperable, considere\n" "utilizar shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: ¿borrar todos los argumentos recursivamente? " # Convendría saber qué son los `%s'. Ver el código fuente. # El segundo es el nombre del fichero que se va a borrar, pero # ¿y el primero? # # SIoNO #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: ¿borrar todos los argumentos? (s/n) " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "borrando el directorio, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "fallo al borrar el directorio %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Borra el/los DIRECTORIO(s), si están vacíos.\n" "\n" " --ignore-fail-on-non-empty\n" " no tiene en cuenta los fallos que se producen únicamente\n" " porque un directorio no está vacío\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents borra DIRECTORIO y sus antecesores. P. ej. `rmdir -p a/b/" "c'\n" " es similar a `rmdir a/b/c a/b a'.\n" " -v, --verbose muestra un mensaje por cada directorio procesado\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "fallo al borrar %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Modo de empleo: %s CONTEXTO ORDEN [args]\n" " o bien: %s [ -c ] [-u USUARIO] [-r ROL] [-t TIPO] [-l RANGO] ORDEN " "[args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Ejecuta un programa en un contexto de seguridad diferente.\n" "Sin CONTEXTO ni ORDEN, muestra el contexto de seguridad actual.\n" "\n" " CONTEXTO Contexto de seguridad completo\n" " -c, --compute calcula el contexto de transición de proceso antes de\n" " modificar\n" " -t, --type=TIPO tipo (para el mismo rol que el padre)\n" " -u, --user=USUARIO identidad del usuario\n" " -r, --role=ROL rol\n" " -l, --range=RANGO rango de nivel\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "se han especificado varios roles" # FIXME # Esto sería "tipo de fecha", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo, # "ls --time=ñ" dé como resultado "invalid tipo de fecha `ñ'" # lo dejo de momento en inglés, para no mezclar. #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "se han especificado varios tipos" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "se han especificado varios usuarios" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "se han especificado varios rangos de nivel" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "fallo al obtener el contexto actual" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "se debe especificar -c, -t, -u, -l, -r, o contexto" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "no se ha especificado ninguna orden" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s solamente se puede usar con un núcleo SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "fallo al calcular un nuevo contexto" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "fallo al establecer nuevo usuario %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "fallo al establecer nuevo tipo %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "fallo al establecer nuevo rango %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "fallo al establecer nuevo rol %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "no se puede establecer el contexto de seguridad %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... ÚLTIMO\n" " o bien: %s [OPCIÓN]... PRIMERO ÚLTIMO\n" " o bien: %s [OPCIÓN]... PRIMERO INCREMENTO ÚLTIMO\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Muestra los números desde PRIMERO hasta ÚLTIMO, en incrementos de " "INCREMENTO.\n" "\n" " -f, --format=FORMATO utiliza un FORMATO de coma flotante en estilo " "printf\n" " -s, --separador=CADENA utiliza CADENA para separar los números\n" " (por omisión: \\n)\n" " -w, --equal-width iguala el ancho rellenando con ceros\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Si se omiten PRIMERO o INCREMENTO, el valor predeterminado es 1. Es decir,\n" "un INCREMENTO omitido tiene un valor predeterminado de 1 incluso cuando " "ÚLTIMO\n" "es más pequeño que PRIMERO. PRIMERO, INCREMENTO y ÚLTIMO se interpretan " "como\n" "valores de coma flotante. INCREMENTO es normalmente positivo si PRIMERO es\n" "menor que ÚLTIMO, y es normalmente negativo si PRIMERO es mayor que ÚLTIMO.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMATO debe ser apropiado para imprimir un argumento de tipo `double';\n" "de forma predeterminada es %.PRECf si PRIMERO, INCREMENTO, y último\n" "son todos números decimales de coma fija con una precisión máxima de PREC,\n" "y %g en caso contrario.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argumento de coma flotante inválido: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "el formato %s tiene una directiva %%%c desconocida" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "la cadena de formato no debe especificarse cuando se muestran\n" "cadenas de la misma anchura" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Modo de empleo: %s [OPCIÓN-CORTA]... USUARIO ORDEN [ARGUMENTO]...\n" " o bien: %s OPCIÓN-LARGA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Abandona cualquier grupo suplementario, asume el ID de usuario y el ID\n" "de grupo del USUARIO especificado, y ejecuta ORDEN con cualesquiera\n" "ARGUMENTOs especificados. Termina con estado 111 si es incapaz de asumir\n" "los UID y GID necesarios. En caso contrario, termina con el estado de " "salida\n" "de ORDEN. Este programa solamente es útil cuando lo ejecuta root (user ID " "cero)\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] también establece el ID de grupo primario al GID " "numérico,\n" " y (si se especifica) IDs de grupo sumplementario a " "GID1,...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ID de usuario desconocido: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "para usar el ID de usuario %s necesita usar -g también" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "fallo al establecer el grupo o grupos suplementarios" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "no se puede establecer el ID del grupo a %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "no se puede establecer el ID del usuario a %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Sobreescribe los FICHERO(s) especificados repetidamente, para hacer más " "difícil\n" "la recuperación de los datos incluso utilizando hardware muy costoso.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force cambia los permisos para permitir la escritura si es " "necesario\n" " -n, --iterations=N sobreescribe N veces en vez de lo predeterminado (%d)\n" " --random-source=FICHERO obtiene bytes aleatorios de FICHERO\n" " -s, --size=N efectúa el `shred' sobre este número de bytes\n" " (se permiten los sufijos K, M y G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove trunca y borra el fichero después de sobreescribirlo\n" " -v, --verbose muestra el progreso\n" " -x, --exact no redondea hacia arriba los tamaños de los ficheros hasta " "el\n" " siguiente bloque completo; este es el comportamiento\n" " predeterminado para los ficheros no regulares\n" " -z, --zero añade una sobreescritura final con ceros para ocultar la\n" " acción de esta orden\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Si el fichero es -, efectúa shred sobre la salida estándar.\n" "\n" "Borra los FICHERO(s) si se especifica --remove (-u). La acción " "predeterminada\n" "es no borrar los ficheros porque es habitual operar sobre ficheros de\n" "dispositivo como /dev/hda, y dichos ficheros normalmente no se deben " "borrar.\n" "Cuando se opera sobre ficheros regulares, la mayor parte de la gente utiliza " "la\n" "opción --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "PRECAUCIÓN: Tenga en cuenta que shred se basa en una importante suposición:\n" "que el sistema de ficheros sobreescribe los datos en el mismo sitio. Esta " "es\n" "la forma tradicional de hacer las cosas, pero muchos diseños modernos de\n" "sistemas de ficheros no satisfacen esta suposición. Los siguientes son " "ejemplos\n" "de sistemas de ficheros en los que shred no es efectivo, o no está " "garantizado\n" "que sea efectivo en todos los modos de sistemas de ficheros:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* sistemas de ficheros con estructura de registro o con versiones, como\n" "los que suministran AIX y Solaris (y JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* sistemas de ficheros que escriben datos redundantes y siguen adelante\n" "incluso si algunas escrituras fallan, tales como los sistemas de ficheros\n" "basados en RAID\n" "\n" "* sistemas de ficheros que hacen `snapshots', tales como el servidor NFS de\n" "Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* sistemas de ficheros que hacen caché en sitios temporales, tales\n" "como clientes de NFS versión 3\n" "\n" "* sistemas de ficheros comprimidos\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "En el caso de sistemas de ficheros ext3, el aviso anterior es\n" "aplicable (y shred es por lo tanto de efectividad limitada) solamente\n" "en modo data=journal, lo cual aplica el \"journal\" a los datos de los\n" "ficheros y no solamente a los metadatos. Tanto en el modo\n" "data=ordered (por omisión) como en el modo data=writeback, shred\n" "funciona como de costumbre. Los modos de bitácora Ext3 se pueden\n" "cambiar añadiendo la opción data=algo a las opciones de montaje para\n" "un sistema de ficheros en particular en el fichero /etc/fstab, tal y\n" "como se documenta en la página de manual de mount (man mount).\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Además, respaldos del sistema de ficheros y espejos remotos pueden contener\n" "copias del fichero que no se pueden borrar, y eso permite recuperar después " "un\n" "fichero al que se le haya hecho shred.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync falló" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync falló" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: no se puede rebobinar" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: paso %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: error al escribir en el desplazamiento %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek falló" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fichero demasiado grande" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: paso %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: paso %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fallo en `fstat'" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tipo de fichero inválido" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: el fichero tiene un tamaño negativo" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: error al truncar" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl falló" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: no se puede efectuar shred un descriptor de fichero de sólo añadir" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: borrando" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: renombrado a %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: fallo al borrar" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: borrado" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: fallo al cerrar" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: fallo al abrir para escritura" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: número inválido de pasos" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "se han especificado varios ficheros de origen" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: tamaño de fichero inválido" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" " o bien: %s -e [OPCIÓN]... [ARGUMENTO]...\n" " o bien: %s -i IN-SU [OPCIÓN]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Escribe una permutación aleatoria de las líneas de entrada a la salida " "estándar.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo trata cada ARG como fichero de entrada\n" " -i, --input-range=IN-SU trata cada número de IN a SU como fichero de " "entrada\n" " -n, --head-count=LÃNEAS muestra como mucho LÃNEAS líneas\n" " -o, --output=FICHERO escribe el resultado en FICHERO en lugar de la\n" " salida estándar\n" " --random-source=FICHERO obtiene bytes aleatorios de FICHERO\n" " -z, --zero-terminated termina las líneas con un byte 0, no con nueva " "línea\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "se han especificado varias opciones -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "rango de entrada inválido %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "contador de líneas inválido %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "se han especificado varios ficheros de salida" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "no se pueden combinar las opciones -e y -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Modo de empleo: %s NÚMERO[SUFIJO]...\n" " o bien: %s OPCIÓN\n" "\n" "Hace una pausa de NÚMERO segundos. El SUFIJO puede ser `s' para segundos\n" "(predeterminado), `m' para minutos, `h' para horas o `d' para días.\n" "Al contrario de la mayoría de las implementaciones que exigen que\n" "NÚMERO sea un entero, aquí NÚMERO puede ser un número de coma flotante\n" "arbitrario. Dados dos o más argumentos, hace una pausa por la cantidad\n" "de tiempo especificada por la suma de sus valores.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "intervalo de tiempo inválido %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "no se puede leer el reloj de tiempo real" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Muestra la concatenación ordenada de todos los FICHERO(s) en la salida\n" "estándar.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opciones de ordenación:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks descarta los espacios en blanco al principio\n" " -d, --dictionary-order considera sólo los caracteres alfanuméricos\n" " y los espacios\n" " -f, --ignore-case convierte las minúsculas en mayúsculas\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort compara de acuerdo con el valor numérico " "general\n" " -i, --ignore-nonprinting considera solamente caracteres imprimibles\n" " -M, --month-sort compara (desconocido) < `JAN' < ... < `DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort compara números en forma legible (p. ej., 2K " "1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort compara de acuerdo con el valor numérico de\n" " la cadena\n" " -R, --random-sort ordena según un hash aleatorio de las claves\n" " --random-source=FICHERO obtiene bytes aleatorios de FICHERO\n" " -r, --reverse invierte el resultado de las comparaciones\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=PALABRA ordena de acuerdo con PALABRA:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort orden natural de los números (de versión) " "dentro\n" " del texto\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Otras opciones:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NCOMBI combina como mucho NCOMBI entradas cada vez;\n" " para más use ficheros temporales\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first comprueba si la entrada está " "ordenada,\n" " no ordena\n" " -C, --check=quiet, --check=silent como -c, pero no informa de la primera\n" " línea errónea\n" " --compress-program=PROG comprime temporales con PROG;\n" " los descomprime con PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug anota la parte de la línea que se utiliza para " "ordenar\n" " y avisa acerca de uso cuestionable de la salida " "de\n" " error estándar\n" " --files0-from=F lee la entrada de los fichero especificados por\n" " nombres terminados en NUL del fichero F\n" " Si F es - entonces lee los nombre de la entrada\n" " estándar\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=POS1[,POS2] comienza una clave en POS1 (origen 1), y termina " "en\n" " POS2 (por omisión el final de la línea). Vea " "la\n" " sintaxis de POS debajo.\n" " -m, --merge combina ficheros ya ordenados, no ordena\n" # Sugerencia para la -c: # comprueba si los ficheros ya están ordenados, pero no los ordena. # Si lo que buscas es algo corto, sugiero cambiar "y no ordena" # por "pero no ordena", o bien "sin ordenar[los]". sv+ #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FICHERO escribe el resultado en FICHERO, en lugar de la\n" " salida estándar\n" " -s, --stable estabiliza la ordenación desactivando la\n" " comparación de último recurso\n" " -S, --buffer-size=TAMAÑO utiliza TAMAÑO para el búfer de memoria " "principal\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP usa SEP en lugar de la transición de un\n" " no espacio a un espacio\n" " -T, --temporary-directory=DIR usa DIR para los ficheros temporales,\n" " no $TMPDIR ni %s; varias opciones\n" " especifican varios directorios\n" " --parallel=N cambia el número de ejecuciones concurrentes de " "sort\n" " a N\n" " -u, --unique con -c, comprueba estrictamente el orden;\n" " sin -c; muestra solamente la primera de\n" " una tanda igual\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated termina las líneas con el byte 0, no con nueva " "línea\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS es F[.C][OPCIONES], donde F es el número de campo y C la posición\n" "del carácter en el campo; ambos comenzando en 1. Si no se usa -t ni -b,\n" "los caracteres de un campo se cuentan desde el comienzo del espacio en\n" "blanco precedente. OPCIONES se compone de una o más de las opciones\n" "de ordenación de una letra, lo cual deshabilita las opciones de\n" "ordenación globales para esa clave. Si no se da ninguna clave, usa la\n" "línea entera como clave.\n" "\n" "TAMAÑO puede estar seguido por lo siguientes sufijos multiplicativos:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% de memoria, b 1, K 1024 (predeterminado), etc con M, G, T, P, E, Z, Y.\n" "\n" "Si no se especifica ningún FICHERO o FICHERO es `-', lee la entrada\n" "estándar.\n" "\n" "*** ATENCIÓN ***\n" "El locale especificado en el entorno afecta a la forma de ordenación.\n" "Establezca LC_ALL=C para obtener la forma de ordenación tradicional que\n" "utiliza los valores de los bytes originales.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "esperando a %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] terminó anormalmente" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "no se puede crear un fichero temporal en %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "fallo al abrir" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush falló" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "error al cerrar" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 falló" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "no se pudo ejecutar %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "no se pudo crear un fichero temporal" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "no se pudo crear el proceso para %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "no se pudo ejecutar %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "atención: no se puede borrar: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "argumento --%s inválido %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "el argumento --%s mínimo es %s" # Sin ejemplo ni contexto estamos a ciegas #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "el argumento --%s %s es demasiado grande" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "el argumento --%s máximo con el rlimit actual es %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "el número en paralelo debe ser distinto de cero" #: src/sort.c:1494 msgid "stat failed" msgstr "fallo en `stat'" #: src/sort.c:1755 msgid "read failed" msgstr "fallo al leer" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "la transformación de cadenas falló" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "la cadena sin transformar era %s." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ no hay ninguna coincidencia para la clave\n" #: src/sort.c:2389 #, fuzzy, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "se ha utilizado la clave obsoleta `%s`; considere `%s' en su lugar" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "la clave %lu tiene ancho cero y no se tendrá en cuenta" #: src/sort.c:2406 #, fuzzy, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "los blancos iniciales son significativos en la clave %lu; considere " "especificar\n" "también `b'" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "la clave %lu es numérica y abarca varios campos" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "la opción `-%s' se descarta" msgstr[1] "las opciones `-%s' se descartan" #: src/sort.c:2457 #, fuzzy, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" "la option `-r' solamente es aplicable a comparaciones de último recurso" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "error al escribir" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: fuera de secuencia: " #: src/sort.c:2786 msgid "standard error" msgstr "salida de error estándar" # FIXME: ¿Por qué no "fork system call failed", como antes? #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "falló la llamada al sistema `fork'" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: especificación de campo inválida %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "las opciones `-%s' son incompatibles" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: contador inválido al comienzo de %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "número inválido después de`-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "número inválido después de `.'" # No estoy muy seguro. Comprobar. #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "carácter extraño en el especificador de campo" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "se han especificado varios programas de compresión" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "número inválido al comienzo del campo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "el número de campo es cero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "el desplazamiento de caracteres es cero" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "número inválido después de `,'" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tabulación vacía" # Lo mismo de antes. #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "no se pueden leer los nombres de fichero de %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: nombre de fichero de longitud cero inválido" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "no hay entrada desde %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "se utilizan las reglas de ordenación %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "se utiliza la comparación simple de bytes" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "el operando extra %s no está permitido con -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "la longitud del sufijo debe ser al menos %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [ENTRADA [PREFIJO]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Vuelca trozos de tamaño fijo de ENTRADA a PREFIJOaa, PREFIJOab, ...;\n" "el tamaño predeterminado son 1000 líneas, y el PREFIJO predeterminado\n" "es `x'. Si no es especifica ENTRADA, o cuando ENTRADA es -, lee la\n" "entrada estandar.\n" "\n" # FIXME: ¿Ahora dos espacios es el estándar para mensajes de continuación? # (before each output file...) #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N utiliza sufijos de longitud N (por omisión %d)\n" " -b, --bytes=TAMAÑO escribe TAMAÑO bytes en cada fichero de salida\n" " -C, --line-bytes=BYTES escribe un máximo de BYTES bytes sin cortar " "líneas\n" " -d, --numeric-suffixes utiliza sufijos numéricos en vez de alfabéticos\n" " -e, --elide-empty-files no genera líneas de salida vacías con `-n'\n" " --filter=ORDEN escribe a la ORDEN de shell; el nombre de fichero " "es $FILE\\n\"\n" " -l, --lines=NÚMERO pone NÚMERO de líneas en cada fichero de salida\n" " -n, --number=TROZOS genera TROZOS ficheros de salida. Véase debajo\n" " -u, --unbuffered copia inmediatamente la entrada a la salida\n" " con `-n r/...'\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose muestra un diagnóstico justo antes de abrir cada\n" " fichero\n" #: src/split.c:236 #, fuzzy msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "TROZOS puede ser:\n" "N divide en N ficheros basándose en el tamaño de la entrada\n" "K/N muestra el K-ésimo de N en la salida estándar\n" "l/N divide en N ficheros sin dividir las líneas\n" "l/K/N muestra el K-ésimo de N en la salida estándar sin dividir las " "líneas\n" "r/N como `l' pero usando la distribución round robin\n" "r/K/N análogo pero solamente muestra el K-ésimo de N a la salida estándar\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "se han agotado los sufijos para los ficheros de salida" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "creando fichero %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "fallo al establecer la variable de entorno FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "ejecutando con FILE=%s\n" # El original no aclara si es "la" tubería o "una" tubería, # por lo que tampoco se puede asegurar en la traducción. #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "fallo al crear tubería" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "cerrando la tubería anterior" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "cerrando la tubería de salida" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "moviendo la tubería de entrada" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "cerrando la tubería de entrada" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "fallo al ejecutar la orden: \"%s -c %s" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "fallo al cerrar la tubería de entrada" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "esperando al proceso hijo" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "con FILE=%s, envía la señal %s a la orden: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "con FILE=%s, sale con %d de la orden: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "estado desconocido de la orden (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "no se puede trocear de varias formas distintas" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: número de trozos inválido" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: número de trozo inválido" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: longitud del sufijo inválida" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: número de bytes inválido" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: número de líneas inválido" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "opción de contador de líneas -%s%c... demasiado grande" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "número de comienzo de línea inválido: %s" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: tamaño de bloque de E/S inválido" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter no procesa un trozo extraído de la salida estándar" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: no se puede determinar el tamaño del fichero" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "fallo al canonicalizar %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "atención: escape no reconocido `\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: directiva inválida" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "atención: barra invertida al final del formato" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "usar %s para denotar la entrada estándar no funciona en el modo de sistema " "de\n" "ficheros" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "no se puede leer la información del sistema de ficheros para %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "no se puede efectuar `stat' en la entrada estándar" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fichero: \"%n\"\n" " ID: %-8i Longnombre: %-7l Tipo: %T\n" "Tam. bloque: %-10s Tam. bloque fundamental: %S\n" "Bloques: Total: %-10b Libres: %-10f Disponibles: %a\n" "Nodos-i: Total: %-10c Libres: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fichero: %N\n" " Tamaño: %-10s\tBloques: %-10b Bloque E/S: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" "Dispositivo: %Dh/%dd\tNodo-i: %-10i Enlaces: %-5h Tipo de dispositivo: %t," "%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Dispositivo: %Dh/%dd\tNodo-i: %-10i Enlaces: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Acceso: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Contexto: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Acceso: %x\n" "Modificación: %y\n" " Cambio: %z\n" " Creación: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Muestra el estado del fichero o del sistema de ficheros.\n" "\n" " -L, --dereference sigue los enlaces\n" " -f, --file-system muestra el estado del sistema de ficheros en lugar " "del\n" " estado del fichero\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMATO usa el FORMATO especificado en vez del " "predeterminado;\n" " muestra una nueva línea después de cada uso del " "FORMATO\n" " --printf=FORMATO como --format, pero interpreta las secuencias de " "escape\n" " y no muestra un carácter de nueva línea final\n" " obligatoriamente. Si quiere un carácter de nueva\n" " línea, incluya \\n en el FORMATO\n" " If you want a newline, include \\n in FORMAT.\n" " -t, --terse muestra la información de manera escueta\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Las secuencias de formato válidas para ficheros (sin --file-system):\n" "\n" " %a Derechos de acceso en octal\n" " %A Derechos de acceso en forma legible\n" " %b Número de bloques asignados (véase %B)\n" " %B El tamaño en bytes de cada bloque indicado por %b\n" " %C Cadena de contexto de seguridad de SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Número de dispositivo en decimal\n" " %D Número de dispositivo en hexadecimal\n" " %f Modo en hexadecimal\n" " %F Tipo de fichero\n" " %g ID del grupo del propietario\n" " %G Nombre de grupo del propietario\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Número de enlaces duros\n" " %i Número de nodo-i\n" " %m Punto de montaje\n" " %n Nombre del fichero\n" " %N Nombre de fichero entrecomillado desreferenciado si era un enlace\n" " simbólico\n" " %o tamaño del bloque de E/S\n" " %s Tamaño total, en bytes\n" " %t Tipo de dispositivo principal en hexadecimal\n" " %T Tipo de dispositivo secundario en hexadecimal\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID de usuario del propietario\n" " %U Nombre de usuario del propietario \n" " %w Fecha de creación del fichero, formato legible, - si es desconocido\n" " %W Fecha de creación, segundos desde la Época, 0 si es desconocido\n" " %x Fecha de último acceso, formato legible\n" " %X Fecha de último acceso, segundos desde la Época\n" " %y Fecha de última modificación, formato legible\n" " %Y Fecha de última modificación, segundos desde la Época\n" " %z Fecha de último cambio, formato legible\n" " %Z Fecha de último cambio, segundos desde la Época\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Formatos válidos para sistemas de ficheros:\n" "\n" " %a Bloques libres disponibles para el no superusuario\n" " %b Total de bloques de datos en el sistema de ficheros\n" " %c Total de nodos de ficheros en el sistema de ficheros\n" " %d Nodos de ficheros libres en el sistema de ficheros\n" " %f Bloques libres en el sistema de ficheros\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i id del sistema de ficheros en hexadecimal\n" " %l Longitud máxima de los nombres de ficheros\n" " %n Nombre del fichero\n" " %s Tamaño de bloque de transferencia óptima\n" " %S Tamaño de bloque fundamental (para contar bloques)\n" " %t Tipo en hexadecimal\n" " %T Tipo de forma legible\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Modo de empleo: %s [OPCIÓN]... ORDEN\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Ejecuta ORDEN, con operaciones de búfer modificadas para sus flujos " "estándar\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODO ajusta el búfer de la entrada estándar\n" " -o, --output=MODO ajusta el búfer de la salida estándar\n" " -e, --error=MODO ajusta el búfer de la salida de error estándar\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Si MODO es `L' el flujo correspondiente tendrá un búfer de línea.\n" "Esta opción es inválida con la entrada estándar.\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Si MODO es `0' el flujo correspondiente no tendrá búfer.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "De otra forma, MODO es un número que puede estar seguido por uno de los\n" "siguientes: KB 1000, K 1024, MB 1000*1000, M 1024*1024, y así sucesivamente\n" "para G, T, P, E, Z, Y. En este caso el flujo correspondiente tendrá un " "búfer\n" "con el tamaño del búfer establecido en MODO bytes.\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "NOTA: Si ORDEN ajusta el búfer de sus flujos estándar (p. ej. `tee' lo " "hace)\n" "entones eso tendrá prioridad sobre las opciones cambiadas por `stdbuf'.\n" "Además, algunos filtros (como `dd' y `cat' etc.) no usan flujos para la E/" "S,\n" "y por lo tanto no se ven afectados por las opciones de `stdbuf'.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "fallo al encontrar %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "fallo al actualizar el entorno con %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "no tiene sentido un búfer de línea con la entrada estándar" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Modo de empleo: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [OPCIONES]...\n" " o bien: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [-a|--all]\n" " o bien: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" # Eso de los "humanos" en español suena un poco raro. ¿no? sv # Por acuerdo, usamos 'el' terminal em+ # Añado comillas en '-' em+ # FIXME. Comunicar primero al autor. sv+ # Sistema subyacente ?? , mejor dejar 'sistema' a secas em+ # Depende, ¿qué ocurre con los compiladores cruzados? #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Muestra o establece las características de la terminal\n" "\n" " -a, --all muestra todos los valores actuales en forma legible para\n" " humanos\n" " -g, --save muestra todos los valores actuales en forma legible para\n" " ttys\n" " -F, --file=DISP abre y utiliza el DISPositivo especificado en lugar de la\n" " entrada estándar\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Un - opcional antes de VALOR indica negación. Un * marca valores no POSIX.\n" "El sistema subyacente define qué valores están disponibles.\n" # Contexto del shell ? , ¿qué es eso? em+ #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caracteres especiales:\n" " * dsusp CAR el CARácter enviará una señal de alto a la terminal una " "vez\n" " que se haya limpiado la entrada\n" " eof CAR el CARácter enviará un fin de línea (termina la entrada)\n" " eol CAR el CARácter terminará la línea\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CAR CARácter alternativo para terminar la línea\n" " erase CAR el CARácter borrará el último carácter tecleado\n" " intr CAR el CARácter enviará una señal de interrupción\n" " kill CAR el CARácter borrará la línea actual\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CAR el CARácter introducirá el siguiente carácter comentado\n" " quit CAR el CARácter enviará una señal de salida\n" " * rprnt CAR el CARácter redibujará la línea actual\n" " start CAR el CARácter reiniciará la salida después de haberla " "detenido\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CAR el CARácter detendrá la salida\n" " susp CAR el CARácter enviará una señal de alto a la terminal\n" " * swtch CAR el CARácter establecerá un contexto diferente de shell\n" " * werase CAR el CARácter borrará la última palabra tecleada\n" # FIXME: Falta un espacio ¿? #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Valores especiales:\n" " N establece la velocidad de entrada y salida a N baudios\n" " * cols N dice al núcleo que la terminal tiene N columnas\n" " * columns N igual que cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N establece la velocidad de entrada a N\n" " * line N utiliza la disciplina de línea N\n" " min N con -icanon, establece a N caracteres como mínimo para una\n" " lectura completada\n" " ospeed N establece la velocidad de salida a N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N dice al núcleo que la terminal tiene N líneas\n" " * size muestra el número de líneas y columnas de acuerdo con el " "núcleo\n" " speed muestra la velocidad de la terminal\n" " time N con -icanon, establece el tiempo fuera de lectura en N\n" " décimas de segundo\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Valores de control:\n" " [-]clocal desactiva las señales de control del módem\n" " [-]cread permite que se reciba entrada\n" " * [-]crtscts permite negociación RTS/CTS\n" " csN establece el tamaño del carácter en N bits, N en [5..8]\n" # ## en -cread -> permite que se reciba entrada # ## vale. #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb utiliza dos bits de paro por carácter (uno con `-')\n" " [-]hup manda una señal de colgar cuando el último proceso cierra\n" " la tty\n" " [-]hupcl igual que [-]hup\n" " [-]parenb genera un bit de paridad en la salida y espera un bit de\n" " paridad en la entrada\n" " [-]parodd establece paridad impar (incluso con `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Valores de entrada:\n" " [-]brkint `breaks' causan una señal de interrupción\n" " [-]icrnl traduce el retorno de carro a nueva línea\n" " [-]ignbrk descarta los caracteres de `break'\n" " [-]igncr descarta los retornos de carro\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar descarta los caracteres con error de paridad\n" " * [-]imaxbel emite un pitido y no limpia un búfer de entrada lleno con " "un\n" " carácter\n" " [-]inlcr traduce nueva línea a retorno de carro\n" " [-]inpck permite la revisión de paridad de entrada\n" " [-]istrip borra el bit alto (8º) de los caracteres de entrada\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 supone que los caracteres de entrada son UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc traduce de caracteres en mayúscula a minúscula\n" " * [-]ixany deja que cualquier carácter reinicie la entrada, no sólo\n" " el carácter de inicio\n" " [-]ixoff permite el envío de caracteres de inicio/alto\n" " [-]ixon permite el control de flujo XON/XOFF\n" " [-]parmrk marca errores de paridad (con la secuencia de caracteres " "255-0)\n" " [-]tandem igual que [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Valores de salida:\n" " * bsN estilo de retardo de retroceso, N en [0..1]\n" " * crN estilo de retardo de retorno de carro, N en [0..3]\n" " * ffN estilo de retardo de salto de página, N en [0..1]\n" " * nlN estilo de retardo de nueva línea, N in [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl traduce retorno de carro a nueva línea\n" " * [-]ofdel utiliza caracteres de borrado para relleno en lugar de\n" " caracteres nulos\n" " * [-]ofill utiliza caracteres de relleno en lugar de tiempo para " "retardos\n" " * [-]olcuc traduce caracteres en minúscula a mayúscula\n" " * [-]onlcr traduce nueva línea a retorno de carro-nueva línea\n" " * [-]onlret nueva línea realiza un retorno de carro\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr no muestra retornos de carro en la primera columna\n" " [-]opost postprocesa salida\n" " * tabN estilo de retardo de tabulador horizontal, N en [0..3]\n" " * tabs igual que tab0\n" " * -tabs igual que tab3\n" " * vtN estilo de retardo de tabulador vertical, N en [0..1]\n" # lo del carácter de matar es un poco fuerte, ¿no? sv # echo = muestra, mejor que repite, aquí, creo. gerardo # perdería parte del significado. sv #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Valores locales:\n" " [-]crterase repite los caracteres de borrado como\n" " retroceso-espacio-retroceso\n" " * crtkill mata toda la línea obedeciendo los valores echoprt y echoe\n" " * -crtkill mata toda la línea obedeciendo los valores echoctl y echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho repite los caracteres de control en notación gorro (`^c')\n" " [-]echo repite los caracteres de entrada\n" " * [-]echoctl igual que [-]ctlecho\n" " [-]echoe igual que [-]crterase\n" " [-]echok repite una nueva línea después de un carácter de matar\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke igual que [-]crtkill\n" " [-]echonl repite nueva línea aún si no está repitiendo otros " "caracteres\n" " * [-]echoprt repite los caracteres borrados en orden inverso, entre\n" " `\\' y '/'\n" " [-]icanon permite los caracteres especiales erase, kill, werase,\n" " y rprnt\n" " [-]iexten permite caracteres especiales no-POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig permite los caracteres especiales interrupt, quit, y " "suspend\n" " [-]noflsh no permite limpieza después de los caracteres especiales\n" " interrupt y quit\n" " * [-]prterase igual que [-]echoprt\n" " * [-]tostop detiene trabajos en `background' que tratan de escribir a\n" " la terminal\n" " * [-]xcase con icanon, escapa con `\\' para caracteres en mayúscula\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Valores de combinación:\n" " * [-]LCASE igual que [-]lcase\n" " cbreak igual que -icanon\n" " -cbreak igual que icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked igual que caracteres brkint ignpar istrip icrnl ixon\n" " opost isig icanon, eof y eol a sus valores por omisión\n" " -cooked igual que raw\n" " crt igual que echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec igual que echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq igual que [-]ixany\n" " ek caracteres erase y kill a sus valores por omisión\n" " evenp igual que parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp igual que -parenb cs8\n" " * [-]lcase igual que xcase iuclc olcuc\n" " litout igual que -parenb -istrip -opost cs8\n" " -litout igual que parenb istrip opost cs7\n" " nl igual que -icrnl -onlcr\n" " -nl igual que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp igual que parenb parodd cs7\n" " -oddp igual que -parenb cs8\n" " [-]parity igual que [-]evenp\n" " pass8 igual que -parenb -istrip cs8\n" " -pass8 igual que parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw igual que -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw igual que cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane igual que cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, y todos los\n" " caracteres especiales a sus valores por omisión.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Maneja la línea tty conectada a la entrada estándar. Sin argumentos,\n" "muestra la tasa de baudios, la disciplina de línea, y desviaciones con\n" "respecto de `stty sane'. En valores, el CARácter es tomado literalmente,\n" "o codificado como en ^c, 0x37, 0177 ó 127; los valores especiales ^- o\n" "undef son utilizados para no permitir caracteres especiales.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "sólo se puede especificar un dispositivo" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "las opciones para estilos de salida explícitos y legibles para terminal son\n" "mutuamente excluyentes" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" "cuando se especifica un estilo de salida, no se pueden establecer los modos" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: no se pudo reiniciar el modo `non-blocking'" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argumento inválido %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "falta el argumento de %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "disciplina de línea inválida %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: no se pudieron realizar todas las operaciones solicitadas" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: no hay información sobre tamaño para este dispositivo" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argumento entero inválido %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" # usa bloques -> con bloques ... así no se repite tanto :) ipg # Creo que está bien así em+ #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Muestra la suma de comprobación y el número de bloques para cada FICHERO.\n" "\n" " -r usa el algoritmo de sum de BSD, con bloques de 1K\n" " -s, --sysv usa el algoritmo de sum de System V, con bloques de 512 " "bytes\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Guarda los bloques cambiados en el disco, actualiza el superbloque.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "no se tendrá en cuenta ningún argumento" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NOTA: su shell puede tener su propia versión de %s, que usualmente\n" "tiene prioridad sobre la versión que se describe aquí. Por favor acuda\n" "a la documentación de su shell para saber los detalles sobre las\n" "opciones que admite.\n" # ¿Qué tal poner --help y --version como los puse yo en diff y find? # --help Muestra esta ayuda., # -v --version Da información sobre la versión del programa. # Lo digo por aquello que hablamos que el `y finaliza' sobra, ya # que es el comportamiento que se define. ipg # # Vale, si convences a Enrique... sv # # Apúntame a la propuesta. tb # # Pues entonces ya somos tres. Habría que hablarlo seriamente... sv # # Aunque ya lo hemos puesto así en todos sitios ... casi podríamos # dejarlo (daño no hace, eso sí es verdad) ipg # # Lo dejaremos para otra ocasión. Ya os avisaré. sv #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help muestra esta ayuda y finaliza\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version informa de la versión y finaliza\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Los argumentos obligatorios para las opciones largas son también " "obligatorios\n" "para las opciones cortas.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Los valores se muestran en unidades del primer TAMAÑO disponible de\n" "--block-size, y las variables de entorno %s_BLOCK_SIZE, BLOCK_SIZE y " "BLOCKSIZE.\n" "En caso contrario, las unidades son 1024 bytes (o 512 si se ha\n" "establecido POSIXLY_CORRECT).\n" # "We could, for instance, begin with cleaning up our language by no # longer calling a bug a bug but by calling it an error." # # Edsger W. Dijkstra, "On the cruelty of really teaching computing science" # # http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Comunicar errores en %s a %s\n" # Ni idea de lo que puede ser %s #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Informe de errores de traducción %s a <http://translationproject.org/team/>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Para la documentación completa, ejecute: info coreutils `%s invocation'\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Pruebe `%s --help' para más información.\n" # "Esto quiere decir que seguramente el sistema..." tb # Eso sería "This means that almost certainly you have..." sv # Me gusta más tal y como está ahora. sv # Creo que tienes razón. Esta es un poco difícil. Es que parece que quiere # indicar que "esto muy probablemente indique que" o "con casi total # seguridad esto se debe a que tiene un sistema de ficheros corrupto". # Pero... tb # Lo pensaré. sv #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ATENCIÓN: Estructura de directorios circular.\n" "Esto quiere decir seguramente que el sistema de ficheros está corrupto.\n" "COMUNÃQUELO AL ADMINISTRADOR DEL SISTEMA.\n" "El siguiente directorio es parte del ciclo:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escribe cada FICHERO en la salida estándar comenzando por la última línea\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before añade el separador antes de cada línea, en lugar\n" " de añadirlo después\n" " -r, --regex interpreta el separador como una expresión " "regular\n" " -s, --separator=CADENA usa CADENA como separador, en lugar de un salto " "de\n" " línea\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: seek falló" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "registro demasiado grande" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "no se puede crear un fichero temporal en %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: fallo al abrir para escritura" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "fallo al conservar la fecha de %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: error de escritura" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "no se puede abrir %s para lectura" # "la cadena" ¿de dónde sale eso? sv # Bueno, siempre he traducido array por cadena, cuando # he tenido que hacerlo. Lo siento # ¿Qué pongo? ¿secuencia de caracteres nula? em+ # ¿Y "el separador no puede ser vacío"? sv # La única cosa que es vacía de la que he oido hablar es el famoso # conjunto ese. Las demás cosas o están vacías o no están, pero # no 'son' vacías em # Yo pondría `el separador no puede ser nulo'. No es muy ortodoxo, # pero no queda mal. ipg # Por mí de acuerdo, lo cambio em #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "el separador no puede ser nulo" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Muestra las últimas %d líneas de cada FICHERO en la salida estándar.\n" "Con más de un FICHERO, precede a cada grupo de líneas con una cabecera.\n" "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K muestra los últimos K bytes; alternativamente,\n" " use -c +K para mostrar los bytes que comienzan " "en\n" " el K-ésimo de cada fichero\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}] muestra a medida que el fichero crece;\n" " -f, --follow, y --follow=descriptor son\n" " equivalentes\n" " -F lo mismo que --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K muestra las últimas K líneas en lugar de %d,\n" " o use -n +K para mostrar líneas comenzando\n" " por la K-ésima\n" " --max-unchanged-stats=N\n" " con --follow=name, reabre un FICHERO que no ha\n" " cambiado de tamaño después de N (por omisión %d)\n" " iteraciones, para ver si ha sido borrado o\n" " renombrado (este es el caso usual para ficheros\n" " de registro que rotan). Con inotify, esta opción\n" " raramente es útil.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID con -f, termina después de que el ID del " "proceso,\n" " PID, muere\n" " -q, --quiet, --silent no presenta cabeceras para cada fichero\n" " --retry sigue intentando abrir un fichero incluso si es\n" " inaccesible cuando tail comienza o si se " "vuelve\n" " inaccesible más tarde; útil solamente si se " "sigue\n" " por nombre, es decir, con --follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N con -f, espera aproximadamente N segundos entre\n" " iteraciones (por omisión 1.0).\n" " Con inotify y --pid=P, comprueba el proceso P " "al\n" " menos una vez cada N segundos.\n" " -v, --verbose presenta siempre las cabeceras para cada fichero\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Si el primer carácter de K (el número de bytes o líneas) es un `+',\n" "comienza a mostrar en el elemento K-ésimo contando desde el principio\n" "de cada fichero, en otro caso, muestra los últimos N elementos del\n" "fichero. N puede tener diferentes sufijos que indican un factor:\n" "b 512, kB 1024, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " "Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Con --follow (-f), tail de forma predeterminada sigue al descriptor de " "fichero,\n" "lo cual quiere decir que incluso si un fichero al que se le hace tail es\n" "renombrado, tail continuará siguiendo su final. Este comportamiento\n" "predeterminado no es deseable cuando lo que de verdad quiere seguir es el\n" "nombre real del fichero, no el descriptor del fichero (p.ej: rotación de\n" "ficheros de registro). Utilice --follow=nombre en tal caso. Esto hace que " "tail\n" "siga el fichero mencionado reabriéndolo periódicamente para ver si ha sido\n" "borrado o recreado por algún otro programa.\n" # df=descriptor de fichero, por supuesto... sv #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "cerrando %s (df=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: no se puede desplazar a la posición relativa %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: no se puede desplazar a la posición relativa al final %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "no se puede determinar la localización de %s, se vuelve a `polling'" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s se ha vuelto inaccesible" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s ha sido reemplazado por un fichero al que no se le puede hacer tail;\n" "abandono con este nombre" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s ha sido reemplazado por un fichero al que no se le puede hacer tail.\n" "abandono con este nombre" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s se ha vuelto accesible" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s ha aparecido; siguiendo el final del nuevo fichero" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s ha sido reemplazado; siguiendo el final del nuevo fichero" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: no se puede cambiar el modo `non-blocking'" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fichero truncado" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "no queda ningún fichero" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "no se puede vigilar el directorio padre de %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "se han agotado los recursos `inotify'" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "no se puede vigilar %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "error al monitorizar evento inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "error al leer evento inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: no se puede seguir el final de este tipo de fichero; abandono\n" "con este nombre" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "el número en %s es demasiado grande" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: número máximo de stats entre aperturas inválido" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID inválido" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: número de segundos inválido" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opción utilizada en un contexto inválido -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "atención: --retry es útil principalmente cuando se sigue por nombre" # FIXME: "when following"? when following by what? sv #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "atención: PID descartado; --pid=PID solamente es útil cuando se sigue" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "atención: no se admite --pid=PID en este sistema" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "no se puede seguir %s por el nombre" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "atención: seguir la entrada estándar indefinidamente no es efectivo" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "no se puede usar `inotify', se vuelve a `polling'" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copia la entrada estándar a cada FICHERO, y también a salida estándar.\n" "\n" " -a, --append añade a los FICHEROs dados, no los sobreescribe\n" " -i, --ignore-interrupts no hace caso a las señales de interrupción\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Si un FICHERO es -, copia de nuevo a la salida estándar.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "falta un argumento después de %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "entero inválido %s" #: src/test.c:241 msgid "')' expected" msgstr "se esperaba ')'" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "se esperaba ')', se encontró %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: se esperaba un operador unario" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt no acepta -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef no acepta -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot no acepta -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operador binario desconocido" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: se esperaba un operador binario" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Modo de empleo: test EXPRESIÓN\n" " o bien: test\n" " o bien: [ EXPRESIÓN ]\n" " o bien: [ ]\n" " o bien: [ OPCIÓN\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "Sale con el estado determinado por EXPRESIÓN.\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Si se omite una EXPRESIÓN entonces se considera falsa. En caso contrario,\n" "EXPRESIÓN es verdadera o falsa y determina el estado de salida. Es una de:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESIÓN ) la EXPRESIÓN es verdadera\n" " ! EXPRESIÓN la EXPRESIÓN es falsa\n" " EXPRESIÓN1 -a EXPRESIÓN2 la EXPRESIÓN1 y la EXPRESIÓN2 son verdaderas\n" " EXPRESIÓN1 -o EXPRESIÓN2 la EXPRESIÓN1 o la EXPRESIÓN2 es verdadera\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] CADENA la longitud de la CADENA es distinta de cero\n" " CADENA equivalente a -n CADENA\n" " -z CADENA la longitud de la CADENA es igual a cero\n" " CADENA1 = CADENA2 las cadenas son iguales\n" " CADENA1 != CADENA2 las cadenas no son iguales\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ENTERO1 -eq ENTERO2 el ENTERO1 es igual a ENTERO2\n" " ENTERO1 -ge ENTERO2 el ENTERO1 es mayor o igual que ENTERO2\n" " ENTERO1 -gt ENTERO2 el ENTERO1 es mayor que ENTERO2\n" " ENTERO1 -le ENTERO2 el ENTERO1 es menor o igual que ENTERO2\n" " ENTERO1 -lt ENTERO2 el ENTERO1 es menor que ENTERO2\n" " ENTERO1 -ne ENTERO2 el ENTERO1 no es igual a ENTERO2\n" # named pipe -> no lo traduciría em+ # Yo sí, pero pongo named pipe entre paréntesis. sv+ # mayor a -> mayor 'que' em+ # nodo-i -> nodo-í (con acento, porque es de índice) gerardo # No, es el i que se pone por ejemplo en $a_i$ (para que me entiendas :-) # ¿Tú crees? Yo diría que "inode numbers" es "números de # nodo-índice", o "número-í". gerardo # # Además en el Kernighan y Ritchie viene nodo-i. # Bueno... y "ligar", y "header", y... (malditas traducciones) # # La letra "i" se utiliza muchísimo como índice (soy matemático). # Pero jamás la he visto acentuada por ese motivo yendo sola. # # bit sticky -> bit pegajoso (sugerencia: gerardo) # Esto es demasiado fuerte... sv # # Ouh yeahh!! ¿Y por qué no? Es un juego de palabras entre "S(ave) T(ext) # I(mage)"-cky y la palabra "pegajoso", pues el código se queda # "pegado" en la memoria. (O se quedaba, hoy día esto no vale para # nada.) Iron Maiden # # ¡Al fin, alguien me lo explica! No está nada mal. # Entonces ¿se podría decir el "bit STI"? # Ya sabes que cuando uno intenta traducir un juego de palabras, lo que # suele suceder es que se lo carga (o bien traduce solamente el juego # de palabras perdiendo su verdadero significado). # # En cambio sí traducís el bit SUID/SGID # por-una-cosa-muy-larga. Sugiero dejar las siglas SUID o SGID. gerardo # ¿Quieres decir que propones traducir "set-group-ID" por "SGID"? # Esto me parecería una buena solución. # # socket = enchufe. gerardo # Este también es un poco fuerte. ¿Conoces a alguien (además de a tí mismo) # que utilice este término y se quede tan ancho? # ¿Por qué enchufe y no (por ejemplo) conector? sv #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FICHERO1 -ef FICHERO2 el FICHERO1 y FICHERO2 tienen los mismos números " "de\n" " dispositivo y de nodo-i\n" " FICHERO1 -nt FICHERO2 el FICHERO1 es más moderno (fecha de " "modificación)\n" " que FICHERO2\n" " FICHERO1 -ot FICHERO2 el FICHERO1 es más antiguo que FICHERO2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FICHERO el FICHERO existe y es un fichero especial de bloques\n" " -c FICHERO el FICHERO existe y es un fichero especial de caracteres\n" " -d FICHERO el FICHERO existe y es un directorio\n" " -e FICHERO el FICHERO existe\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FICHERO el FICHERO existe y es un fichero regular\n" " -g FICHERO el FICHERO existe y tiene cambio-de-ID-de-grupo\n" " -G FICHERO el FICHERO existe y su propietario es el ID efectivo de grupo\n" " -h FICHERO el FICHERO existe y es un enlace simbólico (igual que -L)\n" " -k FICHERO el FICHERO existe y tiene activo su bit `sticky'\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FICHERO el FICHERO existe y es un enlace simbólico (igual que -h)\n" " -O FICHERO el FICHERO existe y su propietario es el ID efectivo de " "usuario\n" " -p FICHERO el FICHERO existe y es una tubería nombrada (named pipe)\n" " -r FICHERO el FICHERO existe y puede leerse\n" " -s FICHERO el FICHERO existe y tiene un tamaño mayor que cero\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FICHERO el FICHERO existe y es un `socket'\n" " -t [DF] el descriptor de fichero DF (salida estándar por omisión)\n" " está abierto en una terminal\n" " -u FICHERO el FICHERO existe y su bit de cambio-de-ID-de-usuario está " "activo\n" " -w FICHERO el FICHERO existe y puede escribirse\n" " -x FICHERO el FICHERO existe y puede ejecutarse (o atravesarse)\n" # No me acaba de gustar el "Advierta". Se admiten sugerencias. #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Excepto por -h y -L, todas las operaciones de test relacionadas con\n" "FICHEROs siguen los enlaces simbólicos. Tenga en cuenta que los\n" "paréntesis deben ser precedidos por caracteres de escape (p.e. barras\n" "invertidas) para los shells. ENTERO también puede ser -l CADENA, que\n" "evalúa la longitud de la CADENA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NOTA: [ obedece las opciones --help y --version, pero test no.\n" "test trata cada uno de los anteriores como cualquier otra CADENA no vacía.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test y/o [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "falta un `]'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "sobra el argumento %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "atención: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "atención: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "atención: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Modo de empleo: %s [OPCIÓN] DURACIÓN ORDEN [ARG]...\n" " o bien: %s [OPCIÓN]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Inicia ORDEN, y la termina si todavía funciona después de DURACIÓN.\n" "\n" "Los argumentos obligatorios para las opciones largas son también " "obligatorios\n" "para las opciones cortas.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " Cuando no se ejecuta timeout directamente desde el shell,\n" " permite que ORDEN lea de la terminal y que reciba señales " "de ella.\n" " En este modo, los hijos de ORDEN no expirarán.\n" " -k, --kill-after=DURACIÓN\n" " envía además la señal KILL si ORDEN todavía funciona\n" " pasada esta DURACIÓN después de que se envió la señal\n" " inicial\n" " -s, --signal=SEÑAL\n" " especifica la señal que se enviará si el tiempo se acaba\n" " SEÑAL puede ser un nombre como `HUP' o un número.\n" " Véase `kill -l' para una lista de señales\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DURACIÓN es un número de coma flotante con un sufijo opcional:\n" "`s' para segundos (por omisión), `m' para minutos, `h' para horas o\n" "`d' para días.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Si la orden no termina, entonces sale con estado 124. En caso contrario,\n" "sale con el estado de ORDEN. Si no se especifica ninguna señal, envía la\n" "señal TERM. La señal TERM matará cualquier procesos que no bloquee o " "capture\n" "dicha señal. Para otros procesos, puede ser necesario usar la señal KILL " "(9),\n" "dado que esta señal no se puede capturar.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "atención: la desactivación de volcados de core ha fallado" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "error esperando a la orden" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "formato de fecha inválido %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "no se puede efectuar `touch' sobre %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "estableciendo la fecha de %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Actualiza la fecha de acceso y modificación de cada FICHERO a la hora " "actual.\n" "\n" "Un argumento FICHERO que no exista se crea vacío, a menos que se\n" "especifique -c o -h.\n" "\n" "Una cadena de argumento FICHERO que sea - se maneja especialmente y provoca\n" "que touch cambie la fecha del fichero asociado con la salida estándar.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a cambia solamente la fecha de acceso\n" " -c, --no-create no crea ningún fichero\n" " -d, --date=CADENA examina y utiliza CADENA en lugar de la fecha " "actual\n" " -f (no tiene efecto)\n" # ¿? ¿Existe el verbo "referenciar"? ¿Habría que poner referir? # # Sí, que yo sepa ... :) (yo me referencio, tu te referencias ... :). ipg # # Muy bueno :-) Ahora sí que lo veo claro. Ya lo he cambiado en todas # partes, excepto en algunos sitios donde busco una alternativa mejor. sv # # Yo creo que referido != referenciado, y este último es el que debería de # ponerse según lo que pienso... uac # # Pues Iñaky me convenció de que referenciado era un "palabro" (palabra # que no existe, inventada). ¿Estás seguro de que existe? # (Esto me recuerda el palabro "influenciar", a mucha gente se le olvida # que se dice *influir*). sv #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference afecta a cada enlace simbólico en lugar de a los\n" " ficheros referidos (solamente es útil en sistemas\n" " que pueden cambiar el propietario de un enlace\n" " simbólico)\n" " -m cambia solamente la fecha de modificación\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FICHERO utiliza la fecha de este FICHERO en lugar de la " "fecha\n" " actual\n" " -t FECHA utiliza [[SS]AA]MMDDhhmm[.ss] en lugar de la " "fecha\n" " actual\n" " --time=PALABRA establece la fecha dada por PALABRA:\n" " PALABRA es access, atime o use: equivale a -a\n" " PALABRA es modify o mtime: equivale a -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Tenga en cuenta que las opciones -d y -t aceptan formatos de\n" "hora-fecha distintos.\n" # (em) Nota: Este mensaje sale, por ejemplo, al escribir # "touch logo -r . -t 10101010". #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "no se puede especificar la fecha de dos formas distintas" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "atención `touch %s' está obsoleto; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Modo de empleo: %s [OPCIÓN]... CONJUNTO1 [CONJUNTO2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Traduce, comprime y/o borra caracteres de la entrada estándar, escribiendo\n" "el resultado en la salida estándar.\n" "\n" " -c, -C, --complement utiliza el complementario de CONJUNTO1\n" " -d, --delete borra caracteres de CONJUNTO1, no traduce\n" " -s, --squeeze-repeats remplaza cada sucesión de entrada de un carácter\n" " repetido listado en CONJUNTO1 por una sola\n" " aparición de dicho carácter\n" " -t, --truncate-set1 trunca CONJUNTO1 a la longitud de CONJUNTO2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Los CONJUNTOs se especifican como cadenas de caracteres. La mayoría se\n" "representan a sí mismos.\n" "Las secuencias válidas son las siguientes:\n" "\n" " \\NNN carácter con valor octal NNN (de uno a tres dígitos)\n" " \\\\ barra invertida\n" " \\a pitido audible (BEL)\n" " \\b espacio hacia atrás\n" " \\f salto de página\n" " \\n salto de línea\n" " \\r retorno de carro\n" " \\t tabulación horizontal\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tabulación vertical\n" " CAR1-CAR2 todos los caracteres comprendidos entre CAR1 y CAR2 " "contados\n" " en orden ascendente\n" " [CAR*] en CONJUNTO2, copias de CAR hasta que se alcance la " "longitud\n" " de CONJUNTO1\n" " [CAR*REPITE] copia REPITE veces CAR; REPITE es octal si comienza con 0\n" " [:alnum:] todas las letras y dígitos\n" " [:alpha:] todas las letras\n" " [:blank:] todos los espacios en blanco horizontales\n" " [:cntrl:] todos los caracteres de control\n" " [:digit:] todos los dígitos\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] todos los caracteres imprimibles, sin incluir el espacio\n" " [:lower:] todas las letras minúsculas\n" " [:print:] todos los caracteres imprimibles, incluyendo el espacio\n" " [:punct:] todos los caracteres de puntuación\n" " [:space:] todos los espacios en blanco horizontales y verticales\n" " [:upper:] todas las letras mayúsculas\n" " [:xdigit:] todos los números hexadecimales\n" " [=CAR=] todos los caracteres que son igual que CAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "La traducción sucede si no se da -d y aparecen tanto CONJUNTO1 como " "CONJUNTO2.\n" "Solamente se puede usar -t cuando se traduce. El CONJUNTO2 se extiende a la\n" "longitud del CONJUNTO1 repitiendo su último carácter hasta que sea " "necesario.\n" "Los caracteres que sobran de CONJUNTO2 no se tienen en cuenta. Solamente se\n" "garantiza que se expanden en orden ascendente [:lower:] y [:upper:]; cuando\n" "se usan en CONJUNTO2 al traducir, solamente se pueden usar en parejas\n" "para especificar la conversión mayúsculas/minúsculas. -S utiliza CONJUNTO1\n" "si no se traduce ni se borra, en caso contrario la compresión utiliza " "CONJUNTO2\n" "y sucede después de la traducción o el borrado.\n" # Me alegro de que te hayas comido el \t. Creo que lo mismo se puede hacer # en otro msgstr que hay mucho más atrás. sv #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "atención: la secuencia de escape octal ambigua \\%c%c%c\n" "se interpreta como la secuencia de 2 bytes \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "atención: una barra invertida sin escape al final de la cadena no es " "transportable" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "los extremos del rango en `%s-%s' están en orden inverso" # También necesito aquí ayuda em # Yo creo que queda bien. ipg #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "número de repeticiones %s inválido en la especificación [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "falta el nombre de la clase de caracteres `[::]'" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "falta el carácter de clase de equivalencia `[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "clase de carácter inválido %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: el operador de equivalencia de clase debe ser un sólo carácter" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "las construcciones [:upper:] y/o [:lower:] están desalinedas" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "demasiados caracteres en el conjunto" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "cuando se traduce con cadena1 más larga que cadena2, la segunda cadena no " "debe\n" "terminar con una clase de caracteres" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "el operador de repetición [c*] no puede aparecer en cadena1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "en cadena2 sólo puede aparecer un operador de repetición [c*]" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "las expresiones [=c=] no pueden aparecer en cadena2 al traducir" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "cuando se traduce, las únicas clases de caracteres que pueden aparecer en\n" "cadena2 son 'upper' y 'lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "si no se está truncando conjunto1, cadena2 debe ser no vacía" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "cuando se traducen con clases de caracteres complementarias (que no " "coinciden),\n" "cadena2 debe hacer corresponder todos los caracteres del dominio a uno solo" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "las expresiones [c*] sólo pueden aparecer en cadena2 al traducir" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Cuando se borra y se comprimen repeticiones se deben proporcionar dos cadenas" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Al traducir se deben proporcionar dos cadenas." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Cuando se borra sin comprimir repeticiones sólo se puede especificar una " "cadena" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [argumentos de la línea de órdenes que se descartan]\n" " o bien: %s OPCIÓN\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Sale con un estado de saldia que indica éxito." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Sale con un estado de saldia que indica fracaso." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Modo de empleo: %s OPCIÓN... FICHERO...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Encoge o extiende el tamaño de cada FICHERO al tamaño especificado\n" "\n" "Un argumento FICHERO que no exista se crea.\n" "\n" "Si un FICHERO es más grande que el tamaño especificado, los datos que sobran " "se\n" "pierden. Si un FICHERO es más pequeño, se extiende y la parte extendida " "(hueco)\n" "se lee como bytes cero.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create no crea ningún fichero\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks trata TAMAÑO como el número de bloques de E/S en " "lugar\n" " de bytes\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=FICHERO_R base el tamaño en FICHERO_R\n" " -s, --size=TAMAÑO establece o ajusta el tamaño del fichero en " "TAMAÑO\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "TAMAÑO también puede estar precedido por uno de los siguientes caracteres\n" "modificadores:\n" "\n" "`+' extender por, `-' reducir por, `<' como mucho, `>' como mínimo,\n" "`/' redondeo hacia abajo al múltiplo de, `%' redondeo hacia arriba al\n" "múltiplo de\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "desbordamiento en bloques de %<PRIdMAX> * %<PRIdMAX> bytes para el fichero %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "no se puede usar %s, aparentemente tiene un tamaño negativo" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "no se puede obtener el tamaño de %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "desbordamiento al redondear hacia arriba el tamaño del fichero %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "desbordamiento al extender el tamaño del fichero %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "fallo al truncar %s a %<PRIdMAX> bytes" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "se han especificado varios modificadores relativos" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "debe especificar o bien %s o bien %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "debe especificar un %s relativo con %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s estaba especificado pero %s no" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "no se puede abrir %s para escritura" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Modo de empleo: %s [OPCIÓN] [FICHERO]\n" "Escribe una lista completamente ordenada consistente con el orden parcial " "en\n" "FICHERO. Sin ningún FICHERO, o cuando FICHERO es -, lee la entrada " "estándar.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: la entrada contiene un número impar de elementos" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: la entrada contiene un bucle:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Muestra el nombre de fichero de la terminal conectada a la salida estándar.\n" "\n" " -s, --silent, --quiet no muestra nada, sólo devuelve un valor de salida\n" # "No es una terminal", ¿no se entendería mejor? gerardo # Depende. La terminal se refiere a la terminal física, mientras que # tty se refiere al dispositivo "lógico". Es como cuando envías # el resultado a una tubería o a un tty. ¿Qué opinas? sv # # Bueno, fale. Pero ¿es "un tty" o "una tty"? gerardo # # Depende: ¿Sabes como averiguar si una tortuga es macho o hembra? # Se le hacen cosquillas en la barriga, si se pone contento es # macho, y si se pone contenta es hembra :-) # En este caso yo diría que es así: "no es un [dispositivo] tty" sv #: src/tty.c:120 msgid "not a tty" msgstr "no es un `tty'" # Nota: En Linux, uname -r da como resultado la versión del `kernel' # mientras que uname -v de como resultado la fecha de compilación. # (una especie de sub-versión). # # Por sugerencia de Gerardo, pongo distribución para uname -r. # # Aquí parece que hay algo de confusión entre -v que da la versión del # S.O. y --version, que da la versión del POGRAMA uname. ¿No # deberíamos especificarlo un poco? Por ejemplo: # --version Informa sobre la versión de este programa y finaliza. # Finalizo: gerardo # Piensa, piensa... Resumiendo: # --version informa de la versión de este programa y acaba\n # # No creo que sea necesario, las opciones --help y --version van siempre # al final y son obligatorias de acuerdo con las # "normas de programación de GNU" (GNU coding standards). # Por cierto, ¿te parece apropiada esta traducción de los "coding standards"? # (La verdad es que nunca se me había ocurrido traducirlo hasta ahora mismo). # # Aunque es cierto que --release da lo que nosotros llamaríamos # "versión" (p. ej.: 2.0.0) y -v da la sub-versión (con guión, # efectivamente :-). Lo mismo observo en Digital UNIX. gerardo # # ¿Podrías decirme lo que observas en Digital UNIX exactamente? #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Muestra cierta información del sistema. Sin ninguna OPCIÓN, igual que -s.\n" "\n" " -a, --all muestra toda la información, en el siguiente orden,\n" " excepto que se omite -p y -i si son desconocidos:\n" " -s, --kernel-name muestra el nombre del núcleo\n" " -n, --nodename muestra el nombre de `host' del nodo de red\n" " -r, --kernel-release muestra la versión del núcleo\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version muestra la versión del núcleo\n" " -m, --machine muestra el tipo de máquina (hardware)\n" " -p, --processor muestra el tipo de procesador o \"unknown\"\n" " -i, --hardware-platfrom muestra la plataforma de hardware o \"unknown\"\n" " -o, --operating-system muestra el sistema operativo\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Muestra la arquitectura de la máquina.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "no se puede obtener el nombre del sistema" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Convierte los espacios de cada FICHERO en tabulaciones, escribiendo el\n" "resultado en la salida estándar. Si no se especifica FICHERO o FICHERO\n" "es -, lee la entrada estándar.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all convierte todos los espacios en blanco, no solo los\n" " iniciales\n" " --first-only convierte solamente los espacios en blanco iniciales\n" " (deshabilita -a)\n" " -t, --tabs=N usa N espacios en cada tabulación, en vez de 8 (activa -" "a)\n" " -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas para\n" " definir las posiciones de tabulación (activa -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "las tabulaciones están demasiado separadas" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "la parada de tabulación es demasiado grande" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [ENTRADA [SALIDA]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtra líneas adyacentes que coincidan de ENTRADA (o la entrada estándar),\n" "escribiendo en SALIDA (o la salida estándar).\n" "\n" "Si no se da ninguna opción, las líneas coincidentes se combinan en la " "primera\n" "aparición.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count precede a las líneas con el número de ocurrencias\n" " -d, --repeated muestra sólo las líneas duplicadas\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=método] muestra todas las líneas duplicadas\n" " método={none(predeterminado),prepend,separate}\n" " La delimitación se hace con líneas en blanco.\n" " -f, --skip-fields=N pasa por alto la comparación de los primeros N " "campos\n" " -i, --ignore-case pasa por alto las diferencias entra mayúsculas y\n" " minúsculas\n" " -s, --skip-chars=N pasa por alto la comparación de los primeros N\n" " caracteres\n" " -u, --unique muestra sólo las líneas que son únicas\n" " -z, --zero-terminated termina las líneas con un byte 0, no nueva línea\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N sólo compara los primeros N caracteres de la línea\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Un campo es una tanda de blancos (normalmente espacios y/o TABs), seguidos " "de\n" "caracteres no blancos. Los campos se descartan antes que los caracteres.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Nota: `uniq' no detecta líneas repetidas a menos que sean adyacentes.\n" "Puede que quiera ordenar la entrada primero, o usar `sort -u' sin `uniq'.\n" "Además, las comparaciones siguen las reglas especificadas por `LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "demasiadas líneas repetidas" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "el número de campos que se deben saltar es inválido" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "el número de bytes que se deben saltar es inválido" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "el número de bytes que hay que comparar es inválido" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "mostrar todas las líneas duplicadas y los contadores de repetición\n" "no tiene sentido" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s FICHERO\n" " o bien: %s OPCIÓN\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Llama a la función unlink para borrar el FICHERO especificado.\n" "\n" # Otra posibilidad sería "no se puede borrar el enlace `%s'". # Mirarlo con calma. sv # # recordatorio: un fichero es _siempre_ un nodo-i que es enlazado por # entrada/s en directorios, cuando se desenlaza el último enlace que une una # entrada de directorio con el fichero, entonces y sólo entonces se borra # físicamente.... uac # # Lo sé, lo sé. # En este caso habría que investigar las causas por las que no se puede # deshacer el tal enlace. Habrá que buscar al menos un ejemplo en el que # aparezca este mensaje. sv # #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "no se puede deshacer el enlace %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "no se puede obtener la fecha de arranque" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ¿?:¿¿?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "arriba ¿¿?? días ¿¿:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "arriba %ld día %2d:%02d, " msgstr[1] "arriba %ld días %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "arriba %ld día %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu usuario" msgstr[1] "%lu usuarios" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", carga promedio: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Muestra la fecha/hora actual, el lapso de tiempo que el sistema lleva " "arriba,\n" "el número de usuarios en el sistema, y el número medio de trabajos\n" "en la cola de ejecución en los últimos 1, 5 y 15 minutos." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Los procesos que están en un estado de sueño no interrumpible también\n" "contribuyen a la carga del sistema.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" # Nota: El primer %s era /etc/utmp y el segundo /etc/wtmp. #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" "FICHERO es %s\n" "\n" # Nota: El primer %s era /etc/utmp y el segundo /etc/wtmp. #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Muestra quién esta actualmente conectado de acuerdo con FICHERO.\n" "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" "FICHERO es %s\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Muestra el número de nuevas líneas, palabras y bytes para cada FICHERO, y " "una\n" "línea con el total si se especifica más de un FICHERO. Si no se especifica\n" "ningún FICHERO, o si FICHERO es -, lee la entrada estándar. Una palabra es " "una\n" "secuencia que no sea de longitud cero delimitada por espacio en blanco.\n" "Las siguientes opciones pueden utilizarse para seleccionar qué valores se " "muestran,\n" "siempre en el siguiente orden: nuevas líneas, palabras, caracteres, bytes y\n" "longitud máxima de línea.\n" " -c, --bytes muestra el número de bytes\n" " -m, --chars muestra el número de caracteres\n" " -l, --lines muestra el número de líneas\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F lee la entrada de los fichero especificados por\n" " nombres terminados en NUL del fichero F;\n" " Si F es - entonces lee los nombre de la entrada\n" " estándar\n" " -L, --max-line-length muestra la longitud de la línea más larga\n" " -w, --words muestra el número de palabras\n" #: src/who.c:210 msgid " old " msgstr " antiguo " #: src/who.c:440 msgid "system boot" msgstr "arranque del sistema" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "salida=" # Quiero un ejemplo #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "cambio de reloj" # Se admiten sugerencias #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "`run-level'" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "último=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "Nº de usuarios=%lu\n" # Estas palabrejas en mayúsculas son para la CABECERA de who. Yo que # tú lo probaba, porque me temo que va a salir fatal, tendría que # tener la traducción la misma longitud que el original. Habría que # abreviar, aunque quizá acabemos de forma que no se entenderá # nada. gerardo # # Si sale mal, nos quejaremos amargamente al autor. # Quien mantiene esto actualmente (Jim Meyering) me ha hecho caso # otras veces (si miras el ChangeLog de fileutils podrás comprobarlo) # y es bastante comprensivo. #: src/who.c:559 msgid "NAME" msgstr "NOMBRE" #: src/who.c:559 msgid "LINE" msgstr "LÃNEA" #: src/who.c:559 msgid "TIME" msgstr "TIEMPO" # Va a haber problemas por la longitud de la cadena... # INACTIVO es más corto. VAGO mas aún (ouaahhh -bostezo-) gerardo # Me gusta la idea, pero ¿es INACTIVO o INACTIVA? sv # Como USUARIO, que también puede ser USUARIA. Si quieres ponerlo # "políticamente c." (c.= correcto? carajote?): INACTIV@ gerardo :-) # Odio la correción política. Lo dejaré en género "neutro", o sea # en masculino (ya que en español, coinciden, que es lo que a muchos # les cuesta digerir). # De todas formas, ¿INACTIVO no es [TIEMPO] INACTIVO? sv #: src/who.c:559 msgid "IDLE" msgstr "INACTIVO" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMENTARIO" #: src/who.c:560 msgid "EXIT" msgstr "SALIDA" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Modo de empleo: %s [OPCIÓN]... [ FICHERO | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" "Muestra información sobre los usuarios que están actualmente conectados.\n" # Nota: El primer %s era /etc/utmp y el segundo /etc/wtmp. # Hay una ó con tilde que no debiera, pues no va entre cifras. gerardo # Va entre cosas que no son letras. sv # # Que yo sepa, la RAE dice que la conjunción "o" debe llevar tilde # cuando va entre guarismos, para que no se confunda con un cero. Si # no hay ambigüedad puede omitirse, aunque se recomienda ponerlo. # No tiene que ir entre "cosas que no son letras", sino entre cifras # numéricas. Según la RAE. Cuando yo estudié Lingüística/Literatura, # hace ya unos pocos años :-( gerardo # # Ya, pero me temo que la RAE no contemplaba (cuando dijo eso) # otra cosa que no sean cifras o letras ¿o sí? sv # # ¿Al haber un signo menos a su izquierda no tiene la "o" posibilidad de ser # confundida con un cero? sv #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all lo mismo que -b -d --login -p -r -t -T -u\n" " -b, --boot tiempo del último inicio del sistema\n" " -d, --dead muestra los procesos muertos\n" " -H, --heading muestra la línea de encabezados de columnas\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login muestra los procesos de login del sistema\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup intenta canonicalizar los nombres de `host' a través del " "DNS\n" " -m sólo el nombre del `host' y de usuario asociado con\n" " la entrada estándar\n" " -p, --process muestra los procesos activos lanzados por init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count todos los nombres de entrada y número de usuarios\n" " conectados\n" " -r, --runlevel muestra el `runlevel' actual\n" " -s, --short muestra sólo el nombre, línea y tiempo (predeterminado)\n" " -t, --time muestra el último cambio en el reloj del sistema\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg añade el estado de mensajes del usuario como\n" " +, - ó ?\n" " -u, --users muestra los usuarios conectados\n" " --message igual que -T\n" " --writable igual que -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" "FICHERO es %s. Si se dan ARG1 y ARG2, se supone -m: habitualmente\n" "`am i' o `mom likes'.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Muestra el nombre de usuario asociado con el ID efectivo del usuario " "actual.\n" "Equivalente a id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: no se puede encontrar el nombre para el usuario con ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [CADENA]...\n" " o bien: %s OPCIÓN\n" # Se aceptan sugerencias para `repetidamente'. cfuga # (pues a mí no me disgusta). sv # Es curioso que el 'y' esté compilado en "yes". En mi Digital UNIX, # también internacionalizado y traducido, "yes" produce repetidamente # "sí" para LANG=es_ES.ISO8859-1. Concretamente LC_MESSAGES. gerardo # Curioso, ¿no romperá ningun `script'? sv # Para lo poco que se usa "yes"... (me pasé dos años sin saber para # qué c~%&# servía, y aún ahora creo que no sirve para nada). gerardo # # Sirve para hacer prácticas con la redirección de la salida... ( > ) # # Creo que es mejor dejarlo así. Con el programa "hello" pasa lo mismo: # escribes "hello" y te responde "hola", lo cual no es lógico :-) # Si no hay oportunidad de escribir "sí", para que salga una tira de # eses, mejor olvidarse. sv #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Muestra repetidamente una línea con todas las CADENA(s) especificadas, o " "`y'.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "se usa aritmética de simple precisión" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "se usa aritmética de precisión arbitraria" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "creando fichero %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] NOMBRE...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: longitud del sufijo inválida" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Ejemplos:\n" #~ " %s /usr/bin/sort Salida \"sort\".\n" #~ " %s include/stdio.h .h Salida \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "leyendo %s" #~ msgid "writing %s" #~ msgstr "escribiendo %s" #~ msgid "closing %s" #~ msgstr "cerrando %s" #~ msgid "accessing %s" #~ msgstr "accediendo a %s" #~ msgid "opening %s" #~ msgstr "abriendo %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s NOMBRE\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system se salta los directorios de otros sistemas de " #~ "ficheros\n" #~ " -X, --exclude-from=FICH excluye los ficheros que coinciden con\n" #~ " cualquier patrón en FICH.\n" #~ " --exclude=PATRÓN excluye los ficheros que coinciden con PATRÓN.\n" #~ " -d, --max-depth=N muestra el total para un directorio (o fichero,\n" #~ " con --all) solamente si está N o menos niveles " #~ "por\n" #~ " debajo del argumento de la línea de órdenes;\n" #~ " --max-depth=0 es lo mismo que --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nunca realiza copias de seguridad (incluso si se da la\n" #~ " opción --backup)\n" #~ " numbered, t crea copias de seguridad numeradas\n" #~ " existing, nil numeradas si existen copias de seguridad numeradas,\n" #~ " simples en caso contrario\n" #~ " simple, never siempre crea copias de seguridad simples\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ATENCIÓN: --page-increment está obsoleto, utilice --line-increment en\n" #~ "su lugar" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Todos los argumentos para las opciones largas son obligatorios para las\n" #~ "opciones cortas.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "BASE es d para decimal, o para octal, x para hexadecimal o n para " #~ "ninguna.\n" #~ "BYTES es hexadecimal con 0x ó 0X como prefijo, y puede tener un sufijo\n" #~ "multiplicativo:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " #~ "Y.\n" #~ "Si se añade el sufijo z a cualquier tipo, se añade un visor de " #~ "caracteres\n" #~ "imprimibles al final de cada línea del resultado.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "La opción --string sin ningún número implica 3. la opción --width sin " #~ "ningún\n" #~ "número implica 32. Por omisión, od usa -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO\n" #~ msgid "Password:" #~ msgstr "Contraseña:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: no se puede abrir /dev/tty" # Aquí habla de "groups", en plural. No se pueden establecer los # grupos. gerardo # Cierto, eso es literalmente, pero: ¿"su" puede cambiar a varios grupos # o a uno cada vez? sv #~ msgid "cannot set groups" #~ msgstr "no se puede establecer el grupo" #~ msgid "cannot set group id" #~ msgstr "no se puede establecer el id del grupo" #~ msgid "cannot set user id" #~ msgstr "no se puede establecer el id del usuario" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [-] [USUARIO [ARG]...]\n" # login shell no lo traduciría em+ # Caparazón de entrada. Bueno, vale, `shell' de entrada. gerardo # Si acaso shell de inicio. Pero sólo si acaso. sv #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia el identificador efectivo de usuario y de grupo al del USUARIO.\n" #~ "\n" #~ " -, -l, --login hace al shell un shell de `login'\n" #~ " -c, --command=ORDEN pasa una sola ORDEN al shell con -c\n" #~ " -f, --fast pasa -f al shell (para csh o tcsh)\n" #~ " -m, --preserve-environment no borra las variables de entorno\n" #~ " -p igual que -m\n" #~ " -s, --shell=SHELL ejecuta SHELL si /etc/shells lo permite\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un simple - implica -l. Si no se da el USUARIO, se supone root.\n" #~ msgid "user %s does not exist" #~ msgstr "el usuario %s no existe" #~ msgid "incorrect password" #~ msgstr "contraseña incorrecta" #~ msgid "using restricted shell %s" #~ msgstr "usando el shell restringido %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "atención: no se puede cambiar al directorio %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Cambia el grupo de cada FICHERO a GRUPO.\n" #~ "Con --reference, cambia el grupo de cada FICHERO al de FICHERO-R.\n" #~ "\n" #~ " -c, --changes como `verbose' pero informa sólo de los cambios\n" #~ "\n" #~ "\n" #~ " --dereference afecta al referente de cada enlace simbólico " #~ "(por\n" #~ " omisión), en lugar de al propio enlace " #~ "simbólico\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial " #~ "(predeterminado)\n" #~ " --preserve-root no opera recursivamente sobre `/'\n" # He traducido "diagnostic" por "mensaje". ¿Alguna idea mejor? # `diagnóstico' ... ¿no? ipg # # Rotundamente no. En español esa palabra solamente se usa en el # ámbito médico. "a nivel de hospitales" :-) sv # # pero en este caso, queda mejor (a mi parecer) `mensaje' ipg # # Menos mal :-) sv # # Y a mí que no me gusta `mensaje'... pero no encuentro alternativa. Quizá # `muestra lo realizado para/con/sobre cada fichero' tb # # Aunque prefiero mensaje, dejaré aquí tu sugerencia. # (Creo que es la mejor que me han hecho al respecto). sv # # sugiero que se especificara qué tipo de mensaje se muestra ya que un # "diagnostic" no es un mensaje cualquiera... uac # # Bueno, en este caso, por el contexto creo que no hace falta ser más # explícito, si dice "muestra un mensaje" y la opción se llama "verbose", # está claro que no es un mensaje de correo electrónico. sv #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " --reference=FICH_R utiliza el grupo de FICH_R en lugar de " #~ "especificar\n" #~ " un valor para GRUPO\n" #~ " -R, --recursive opera sobre ficheros y directorios " #~ "recursivamente\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Cambia el modo de cada FICHERO a MODO.\n" #~ "\n" #~ " -c, --changes como `verbose' pero sólo informa de los " #~ "cambios\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #~ " --reference=FICH_R utiliza el modo de FICH_R en lugar del valor " #~ "MODO\n" #~ " -R, --recursive cambia ficheros y directorios recursivamente\n" # La línea del "verbose", "da detalles de lo que va haciendo" es # realmente sosa, ¿alguna sugerencia que la mejore? # (¿o quizá no hay mucho que mejorar?) # # Opera verbosamente (ya sé que es pero ... pero es lo que se # me ocurrió a mí) :) ipg # # Con sinceridad, "verbosamente" me parece un "palabro". sv # # ¿Y "muestra en detalle los cambios" ? em # # Eso tiene el problema siguiente: "Lo que va haciendo" puede ser # cambiar unas cosas sí y otras no. No son sólo los cambios. sv # # ¿más sugerencias? sv+ # "muestra mensajes sólo cuando hay algún cambio" tb # Vale. Aceptado. Es casi igual pero un poquito mejor. sv # #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia el propietario y/o grupo de cada FICHERO a PROPIETARIO y/o GRUPO.\n" #~ "Con --reference, cambia el propietario y el grupo de cada FICHERO a los\n" #~ "que tenga FICHERO-R.\n" #~ "\n" #~ " -c, --changes como verbose pero informa solamente cuando se " #~ "efectúa\n" #~ " un cambio\n" #~ " --dereference afecta al referente al que apunta cada enlace\n" #~ " simbólico (por omisión), en vez de al propio\n" #~ " enlace simbólico\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " --reference=FICH_R utiliza el propietario y el grupo de FICH_R en " #~ "lugar\n" #~ " de especificar valores PROPIETARIO:GRUPO\n" #~ " -R, --recursive opera sobre ficheros y directorios " #~ "recursivamente\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" # UTC = Tiempo Universal Coordinado, antiguo GMT (Greenwich Mean Time, # Hora Media de Greenwich). gerardo #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Muestra la hora actual en el FORMATO dado, o establece la fecha del " #~ "sistema.\n" #~ "\n" #~ " -d, --date=CADENA muestra la hora descrita por CADENA, no " #~ "`now'\n" #~ " -f, --file=FICHERO_FECHA igual que --date por cada línea de " #~ "FICHERO_FECHA\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede ser (o puede ser un entero seguido opcionalmente por) uno\n" #~ "de los siguientes:\n" #~ "\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, y así sucesivamente para G, " #~ "T, P,\n" #~ "E, Z, Y.\n" #~ msgid "cannot create link %s" #~ msgstr "no se puede crear el enlace %s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "ATENCIÓN: --preserve_context está obsoleto, utilice --preserve-context " #~ "en\n" #~ "su lugar" #~ msgid "truncating %s" #~ msgstr "se trunca %s" #~ msgid "" #~ " nocreat do not create the output file\n" #~ " excl fail if the output file already exists\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ msgstr "" #~ " nocreat no crea el fichero de salida\n" #~ " excl falla si el fichero de salida ya existe\n" #~ " notrunc no trunca el fichero de salida\n" #~ " ucase cambia las minúsculas a mayúsculas\n" #~ " swab intercambia cada pareja de bytes de entrada\n" #~ msgid "Filesystem " #~ msgstr "S.ficheros " #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " Nodos-i NUsados NLibres NUso%" #~ msgid " Size Used Avail Use%" #~ msgstr " Tamaño Usado Disp Uso%" #~ msgid " Size Used Avail Use%" #~ msgstr " Tamaño Usado Disp Uso%" # Nota: %-4s es para que justifique a la izquierda. # El espacio inicial es necesario para que la palabra Bloques no aparezca # pegada a la palabra Tipo cuando se usa df -T. #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " Bloques de %-s Usado Disponible Ocupado" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " Bloques de %-4s Usado Dispon Uso%%" #~ msgid "invalid number of lines: 0" #~ msgstr "número de líneas inválido: 0" #~ msgid "invalid format precision" #~ msgstr "formato de precisión inválido" # FIXME: Me lo explique. #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "creando el enlace simbólico %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "creando el enlace simbólico %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "creando el enlace duro %s" #~ msgid "creating hard link %s => %s" #~ msgstr "creando el enlace duro %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "operando extra %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "se han utilizado tanto prefijos SI como ICE en las unidades" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "la opción --context (-Z) está obsoleta y desaparecerá en una futura " #~ "versión" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "la opción `--%s' está obsoleta; utilice --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Note que las opciones -r y -s son mutuamente excluyentes.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Cambia de línea tras el carácter COLS (por " #~ "omisión 76)\n" #~ " Utilice 0 para desabilitar esta opción.\n" #~ " -d, --decode Descodifica los datos.\n" #~ " -i, --ignore-garbage Cuando se descodifica, descarta los caracteres " #~ "no\n" #~ " alfabéticos\n" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN] NÚMERO[SUFIJO] ORDEN [ARGUMENTO]...\n" #~ " o bien: %s [OPCIÓN]\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opción ilegal -- %c\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Muestra esta ayuda y finaliza.\n" #~ " --version Informa de la versión y finaliza\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Con --follow (-f), tail de forma predeterminada seguirá el descriptor " #~ "del\n" #~ "fichero, lo que significa que si se renombra un fichero al que se le hace " #~ "tail\n" #~ "tail continuará siguiendo su final. " #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido: %s" # Véase la excelente película "A bug's life". #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "Comunicar errores en %s a <%s>.\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "Página inicial de %s: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Ayuda general sobre software de GNU: <http://www.gnu.org/gethelp/>.\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "con 0 bloques" # alerta (BEL) -> pitido audible (BEL) em+ # Vale que no es alerta, pero yo creo que debería ser campana. sv+ # #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Si -e está activado, se reconocen las siguientes secuencias:\n" #~ "\n" #~ " \\0NNN el carácter cuyo código es NNN (octal)\n" #~ " \\\\ barra invertida\n" #~ " \\a campana (BEL)\n" #~ " \\b retroceso\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d --directory crea un directorio, no un fichero\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet suprime mensajes sobre fallos de creación de fich/dir\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run no crea nada; simplemente muestra un nombre " #~ "(inseguro)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p DIR utiliza DIR como prefijo, implica -t [obsoleto]\n" # alerta (BEL) ? mejor, pitido audible (BEL) em+ # campana. sv+ # ¿Manejada? . ¿Qué te parece 'Se considera el ancho variable' em # A ver si te gusta lo que he puesto. sv+ #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a campana (BEL)\n" #~ " \\b carácter de retroceso (backspace)\n" #~ " \\c no produce más salida\n" #~ " \\f avance de página (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nueva línea\n" #~ " \\r retorno de carro\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" #~ msgid "path truncated when looking for %s" #~ msgstr "ruta truncada mientras se localizaba %s" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Por defecto, no se emplea color para distinguir los tipos de ficheros. " #~ "Esto\n" #~ "equivale a usar --color=none. Usar la opción --color sin el argumento " #~ "opcional\n" #~ "CUÃNDO equivale a usar --color=always. Con --color=auto, sólo se " #~ "muestran\n" #~ "los códigos de color si la salida estándar está conectada a un terminal " #~ "(tty).\n" #~ "La variable de entorno LS_COLOR puede influir sobre los colores, y se " #~ "puede\n" #~ "establecer fácilmente con la orden dircolors.\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: fallo al cerrar el directorio %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: no se puede abrir .. a partir de %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "FATAL: no se puede comprobar que %s (devuelto mediante ..) sea seguro" # FIXME: ¿Por qué el original no dice inode, si es que es eso lo que quiere # decir? #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: el directorio %s ha cambiado dev/nodo-i" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: no se puede entrar en el directorio %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "ERROR FATAL: el directorio al que se acaba de cambiar %s cambió de " #~ "dispositivo/nodo-i" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: no se puede volver a .. desde %s" # Sin un ejemplo nunca sabré si el primer %s está bien situado. #~ msgid "cannot remove %s directory %s" #~ msgstr "no se puede borrar %s el directorio %s" #~ msgid "cannot remove root directory %s" #~ msgstr "no se puede borrar el directorio raíz %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "no se puede borrar el directorio nombrado relativamente %s" #~ msgid "cannot restore current working directory" #~ msgstr "no se puede restablecer el directorio actual" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: atención: crear un enlace duro a un enlace simbólico\n" #~ "no es transportable" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede tener un sufijo multiplicativo:\n" #~ "b 512, kB 1000, K 1024,MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " #~ "Y.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descarta todas las líneas sucesivas idénticas, menos una. de ENTRADA (o\n" #~ "entrada estándar), escribiendo en SALIDA (o en la salida estándar).\n" #~ "\n" #~ msgid "couldn't open temporary file" #~ msgstr "no se pudo abrir un fichero temporal" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "la opción --reply está obsoleta; utilice -i o -f en su lugar" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "ATENCIÓN: Utilice --si, no -H; el significado de la opción -H cambiará\n" #~ "pronto y será el mismo que el de --dereference-args (-D)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [CADENA]...\n" #~ msgid "" #~ " --bignum always use arbitrary-precision arithmetic\n" #~ " --no-bignum always use single-precision arithmetic\n" #~ msgstr "" #~ " --bignum utiliza siempre aritmética de precisión arbitraria\n" #~ " --no-bignum utiliza siempre aritmética de simple precisión\n" #~ msgid "" #~ "arithmetic operation %c produced an out of range value, but arbitrary-" #~ "precision arithmetic is not available" #~ msgstr "" #~ "la operaciónn aritmética %c produjo un valor fuera de rango, pero la " #~ "aritmética\n" #~ "de precisión arbitraria no está disponible" #~ msgid "string too long" #~ msgstr "cadena demasiado larga" #~ msgid "arbitrary-precision support is not available" #~ msgstr "el soporte de precisión arbitraria no está disponible" #~ msgid "string offset is too large" #~ msgstr "la cadena de desplazamiento es demasiado grande" #~ msgid "substring length too large" #~ msgstr "longitud de subcadena demasiado grande" #~ msgid "arbitrary-precision arithmetic is not available" #~ msgstr "la aritmética de precisión arvitraria no está disponible" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "El estado de salida es 0 si todo va bien, 1 en caso de problema poco " #~ "importante,\n" #~ "o 2 si se trata de un problema serio.\n" #~ msgid "no %% directive in format string %s" #~ msgstr "no hay ninguna directiva %% en la cadena de formato %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "demasiadas directivas %% en la cadena de formato %s" #~ msgid "invalid format string: %s" #~ msgstr "cadena de formato inválida: %s" # Pues no lo entiendo #~ msgid "FIXME unknown" #~ msgstr "FIXME desconocido" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] [FICHERO]...\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "El sufijo de respaldo es `~', a menos que se establezca con --suffix o " #~ "con\n" #~ "SIMPLE_BACKUP_SUFFIX. El método de control de versión se puede " #~ "seleccionar\n" #~ "con la opción --backup o a través de la variable de entorno " #~ "VERSION_CONTROL.\n" #~ "Estos son los valores:\n" #~ "\n" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Muestra los factores de cada NÚMERO.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "no se puede mostrar el contexto cuando selinux no está activado o cuando " #~ "se\n" #~ "muestra el id de un usuari diferente" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] DIRECTORIO...\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" ancho=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCADENA, --sep-string[=CADENA]\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Modo de empleo: %s [OPCIONES] FICHERO [...]\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort compara de acuerdo con el valor numérico\n" #~ " -i, --ignore-nonprinting considera sólo los caracteres imprimibles\n" #~ " -M, --month-sort compara (desconocido) < 'JAN' < ... < " #~ "`DEC'\n" #~ " -n, --numeric-sort compara de acuerdo con el valor numérico " #~ "de\n" #~ " la cadena\n" #~ " -R, --random-sort ordena según un hash aleatorio de las " #~ "claves\n" #~ " --random-source=FICHERO obtiene bytes aleatorios de FICHERO\n" #~ " (por omisión /dev/urandom)\n" #~ " --sort=PALABRA ordena de acuerdo con PALABRA:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse invierte el resultado de las comparaciones\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "no se puede crear un fichero temporal" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] FICHERO...\n" # Me temo que new_mode no se puede traducir. sv #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modo\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry sigue intentando abrir un fichero incluso si " #~ "es\n" #~ " inaccesible cuando tail comienza o si se " #~ "vuelve\n" #~ " inaccesible más tarde; útil solamente si se " #~ "sigue\n" #~ " por nombre, es decir, con --follow=name\n" #~ " -c, --bytes=N muestra los últimos N bytes; " #~ "alternativamente,\n" #~ " use +N para mostrar los bytes que comienzan " #~ "en\n" #~ " el N-ésimo de cada fichero\n" # squeezing -> la compresión; lo has usado tú antes :) ipg # se me pasó em+ #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Se produce la traducción si no se especifican CONJUNTO1 y CONJUNTO2, " #~ "siempre\n" #~ "y cuando no aparezca la opción -d. -t se puede usar sólo al traducir.\n" #~ "CONJUNTO2 se expande a la longitud de CONJUNTO1, repitiendo su último\n" #~ "carácter tantas veces como sea necesario. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Los caracteres que sobran en\n" #~ "CONJUNTO2 no se tienen en cuenta. Solamente se garantiza que [:lower:]\n" #~ "y [:upper:] sean expandidos en orden ascendente; si se usa en\n" #~ "CONJUNTO2 al traducir, sólo se pueden usar en parejas, para\n" #~ "especificar conversión a mayúsculas. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s usa CONJUNTO1 si no se está\n" #~ "traduciendo ni borrando; si no, la compresión usa CONJUNTO2 después de\n" #~ "la traducción o el borrado.\n" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s funcionando " # Por indicación de Gerardo Aburruzaga, lo pongo con mayúsculas. #~ msgid "am" #~ msgstr "AM" #~ msgid "pm" #~ msgstr "PM" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld día" #~ msgstr[1] "%ld días" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Esto es software libre. Usted puede redistribuir copias de él bajo los " #~ "términos\n" #~ "de la Licencia Pública General de GNU <http://www.gnu.org/licenses/gpl." #~ "html>.\n" #~ "No hay NINGUNA GARANTÃA, hasta donde permite la ley.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "%s inválido/a `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "carácter inválido siguiendo a %s en `%s'" #~ msgid "%s `%s' too large" #~ msgstr "%s `%s' es demasiado grande" #~ msgid "unrecognized operand %s=%s" #~ msgstr "operando no reconocido %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "la opción --kilobytes está obsoleta; use -k en su lugar" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N puede tener un sufijo multiplicador: b 512, k 1024, m 1024*1024.\n" # No se puedeN imprimir ... en plural, que son varias cosas las que no # se pueden imprimir. gerardo # Precisamente, lo que dice el mensaje es que es una sola cosa # la que se imprime, sin quedar claro cuál de las dos (usuario o grupo) # es esa única cosa. sv # En cualquier caso, el "no se puede" se refiere a un *hecho*: # "imprimir solamente el usuario y solamente el grupo" sv #~ msgid "cannot print only user and only group" #~ msgstr "no se puede imprimir solamente el usuario y solamente el grupo" #~ msgid "cannot get supplemental group list" #~ msgstr "no se puede obtener la lista de grupos suplementarios" #~ msgid "strip failed" #~ msgstr "strip falló" #~ msgid "value %s is so large that it is not representable" #~ msgstr "el valor %s es tan grande que no es representable" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " agrupa los directorios antes que los " #~ "ficheros\n" #~ msgid "skip argument" #~ msgstr "pasando por alto este argumento" # ¿Tiene sentido? ¿No sería `argumento límite'? (no tengo las fuentes, # sorry O:) ipg # No lo sé, yo tengo las fuentes, pero a primera vista no concluyo em+ # # a ver si te acuerdas la próxima vez y "pegas" el trocito de código donde esté, # así podremos discutir sobre ello.... # FIXME: Asegurarse de que significa eso. sv+ #~ msgid "limit argument" #~ msgstr "limitando este argumento" # ¿longitud mínima de cadena? Es que si no, me suena a spanglish :) ipg # ok em+ #~ msgid "minimum string length" #~ msgstr "longitud mínima de cadena" #~ msgid "width specification" #~ msgstr "especificación de ancho" #~ msgid "page range" #~ msgstr "rango de páginas" # ¿Es esto correcto? ¿Qué significa? #~ msgid "sort size" #~ msgstr "tamaño de la ordenación" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede tener un factor indicado con el sufijo: b para 512, k para " #~ "1K,\n" #~ "m para 1Meg\n" # En este texto de ayuda, para no estar repitiendo siempre "fecha/hora", he # decidido llamar simplemente "fecha" a la "combinación de la fecha y la hora". # (o sea, "time stamp" -> fecha) # Por el contexto, no creo que haya confusión. #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Actualiza la fecha de acceso y modificación de cada FICHERO a la\n" #~ "fecha actual.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Atención: -i será eliminado en versiones futuras; utilice -u en su lugar" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "no se puede cambiar el propietario y/o el grupo de %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "no se puede cambiar al directorio %s" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: no se puede restablecer el directorio de trabajo" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "no se puede obtener el grupo de login de un UID numérico" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Esto es software libre; vea el código fuente para las condiciones de " #~ "copia.\n" #~ "No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA " #~ "UN\n" #~ "FIN DETERMINADO.\n" #~ msgid "closing standard output" #~ msgstr "cierre de la salida estándar" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial (predeterminado)" #~ "<\n" #~ " --preserve-root no opera recursivamente sobre `/'\n" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Cada MODO es una o más de las letras ugoa, uno de los símbolos +-= y\n" #~ "una o más de las letras rwxXstugo.\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "no se puede sobreescribir el directorio %s" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "atención: --version-control (-V) está obsoleta; su soporte será " #~ "eliminado\n" #~ "en alguna versión posterior. Utilice --backup=%s en su lugar." #~ msgid "symbolic links are not supported on this system" #~ msgstr "este sistema no admite enlaces simbólicos" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F lo mismo que %Y-%m-%d\n" #~ " %g el año de 2 dígitos que corresponde a la semana %V\n" #~ " %G el año de 4 dígitos que corresponde a la semana %V\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z la zona horaria numérica estilo RFC-2822 (-0500)\n" #~ " (una extensión no estándar)\n" #~ " %Z la zona horaria (p.e., EDT), o nada si no es determinable la\n" #~ " zona horaria\n" #~ "\n" #~ "Por omisión, date rellena los campos numéricos con ceros. GNU date\n" #~ "reconoce los siguientes modificadores entre `%%' y una directiva " #~ "numérica.\n" #~ "\n" #~ " `-' (guión) no rellena el campo\n" #~ " `_' (subrayado) rellena el campo con espacios\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "no se puede especificar una cadena de formato cuando se usa\n" #~ "la opción --rfc-2822 (-R)" # Nota: Se refiere con toda probabilidad a una fecha o a una hora. #~ msgid "undefined" #~ msgstr "no definida" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s registros leídos\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s registros escritos\n" #~ msgid "truncated records" #~ msgstr "registros truncados" # No me acaba de sonar bien lo de fuera de rango. # Se admiten sugerencias. sv #~ msgid "file offset out of range" #~ msgstr "desplazamiento de fichero fuera de rango" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "la opción `-LISTA' está obsoleta; utilice `-t LISTA'" # Portable = transportable (sugerencia: gerardo) # Me gusta más "portable". sv # # A mí no, pero como el traductor eres tú... :-( ¿Tú dices por # ejemplo: "voy a portar un mueble de una habitación a otra"? "¡Hay # que ver lo de la huelga de portes y camioneros...!" "Este televisor # es muy grande para ser de 14'', es incómodo de portar"... etc... # gerardo # # No te niego que son buenos tus ejemplos. Pero dime: # ¿De verdad dirías que DJGPP es un "transporte" de GNU CC a MS-DOS? # (Erosión, transporte y sedimentación). # # Al final me convenciste. Ahora estoy intrigado: # ¿Aparecerá en algún sitio más? sv #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "atención: ERB no transportable: `%s': utilizar `^' como el primer " #~ "carácter\n" #~ "de la expresión regular básica no es transportable; no se tendrá en cuenta" #~ msgid "`%s' is too large" #~ msgstr "`%s' es demasiado grande" # FIXME: There options ... abbreviated: <- ¿no faltan los dos puntos? sv #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [argumentos que no se tienen en cuenta]\n" #~ " o bien: %s OPCIÓN\n" #~ "Sale con un código de estado que indica fallo.\n" #~ "\n" #~ "Estos nombres de opciones no se pueden abreviar:\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "la opción `%s' está obsoleta; utilice `%s'" # FIXME: just "large" or "too large"? #~ msgid "%s: number of bytes is large" #~ msgstr "%s: el número de bytes es demasiado grande" #~ msgid "unrecognized option `-%c'" #~ msgstr "opción no reconocida '-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "la opción `-%s' está obsoleta; utilice `-%c %.*s%.*s%s'" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "no se puede obtener la fecha de %s" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "número de campo inválido para el fichero 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "número de campo inválido para el fichero 2: `%s'" #~ msgid "create symbolic link %s to %s" #~ msgstr "crea el enlace simbólico %s a %s" #~ msgid "create hard link %s to %s" #~ msgstr "crea el enlace duro %s a %s" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary lee los ficheros en modo binario (por omisión " #~ "en\n" #~ " DOS/Windows)\n" #~ " -c, --check comprueba las sumas %s con la lista dada\n" #~ " -t, --text lee los ficheros en modo de texto (por defecto)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "Cuando se utiliza --check sólo se puede especificar un argumento." #~ msgid "cannot set permissions of directory %s" #~ msgstr "no se pueden establecer los permisos del directorio %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "no se pueden establecer los permisos del fichero `fifo' %s" #~ msgid "cannot set permissions of %s" #~ msgstr "no se pueden establecer los permisos de %s" #~ msgid "cannot get priority" #~ msgstr "no se puede obtener la prioridad" #~ msgid "cannot set priority" #~ msgstr "no se puede establecer la prioridad" # Sugerencia: "no sólo este"-> "no sólo éste" gerardo # ¿Estás seguro? sv # ¡¡SÃ!! Observa: "todos los sistemas... no sólo este sistema" # "todos los sistemas... no sólo éste." # En el primer caso, "este" es adjetivo, y en el 2º, adverbio. # La RAE dice que la tilde es optativa si no hay ambigüedad posible. # Yo creo que es mejor ponerla siempre. # # Yo prefiero no ponerla si no hay ambigüedad... sv #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnostica construcciones no portables en NOMBRE\n" #~ "\n" #~ " -p, --portability comprueba para todos los sistemas POSIX, no sólo " #~ "este\n" #~ msgid "column count too large" #~ msgstr "el contador de columna es demasiado grande" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLUMNAS' número de columnas inválido: `%s'" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Este programa se distribuye con la esperanza de que sea útil,\n" #~ "pero SIN NINGUNA GARANTÃA; ni siquiera la garantía implícita de\n" #~ "COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Véase la\n" #~ "Licencia Pública General de GNU para más detalles.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Usted debería haber recibido una copia de la Licencia Pública\n" #~ "General de GNU junto con este programa; en caso contrario, escriba\n" #~ "a la Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n" #~ "Boston, MA 02111-1307, EE.UU.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "no se puede cambiar de %s a .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "no se puede efectuar `lstat' sobre `.' en %s" #~ msgid "cannot lstat %s" #~ msgstr "no se puede efectuar `lstat' sobre %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "no se puede cambiar del directorio %s al %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "no se puede borrar `.' o `..'" # prompt es "preguntar" o "pedir confirmación". # No me gusta nada cómo me ha quedado el verbose. Se admiten sugerencias. # # ¿Por qué no utilizar la forma que has utilizado anteriormente en este caso? # "da detalles...", creo que explicar no pega ni con cola... # # ¿Y en inglés sí te pega? sv # #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Borra (desenlaza) el/los FICHERO(s).\n" #~ "\n" #~ " -d, --directory desenlaza FICHERO, incluso si es un directorio no " #~ "vacío\n" #~ " (solamente superusuario; esto solamente " #~ "funciona\n" #~ " si el sistema admite `unlink' para directorios\n" #~ " no vacíos).\n" #~ " -f, --force descarta los ficheros que no existan, sin " #~ "preguntar\n" #~ " -i, --interactive pide confirmación antes de borrar\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Muestra el estado del fichero o del sistema de ficheros.\n" #~ "\n" #~ " -f, --file-system muestra el estado del sistema de ficheros en " #~ "lugar del\n" #~ " estado del fichero\n" #~ " -c --format=FORMATO utiliza el FORMATO especificado en lugar del\n" #~ " predeterminado\n" #~ " -L, --dereference sigue los enlaces\n" #~ " -t, --terse muestra la información de manera escueta\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "atención: `-l' está obsoleto; utilice `-L' en su lugar" #~ msgid "stdin: read error" #~ msgstr "stdin: error de lectura" #~ msgid "`%s' option is obsolete; use `%s-%c %<PRIuMAX>'" #~ msgstr "la opción `%s' está obsoleta; utilice `%s-%c %<PRIuMAX>'" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: se esperaba una expresión entera\n" #~ msgid "before -lt" #~ msgstr "antes de -lt" #~ msgid "after -lt" #~ msgstr "después de -lt" #~ msgid "before -le" #~ msgstr "antes de -le" #~ msgid "after -le" #~ msgstr "después de -le" #~ msgid "before -gt" #~ msgstr "antes de -gt" #~ msgid "after -gt" #~ msgstr "después de -gt" #~ msgid "before -ge" #~ msgstr "antes de -ge" #~ msgid "after -ge" #~ msgstr "después de -ge" #~ msgid "before -ne" #~ msgstr "antes de -ne" #~ msgid "after -ne" #~ msgstr "después de -ne" #~ msgid "before -eq" #~ msgstr "antes de -eq" #~ msgid "after -eq" #~ msgstr "después de -eq" #~ msgid "after -t" #~ msgstr "después de -t" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [argumentos que no se tienen en cuenta]\n" #~ " o bien: %s OPCIÓN\n" #~ "Sale con un código de estado que indica éxito.\n" #~ "\n" #~ "Los nombres de estas opciones no se pueden abreviar:\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "la opción `-LISTA' está obsoleta; utilice `--first-only -t LISTA'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "la opción `-%lu' está obsoleta; utilice `-f %lu'" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle añade el tiempo inactivo del usuario como\n" #~ " HORAS:MINUTOS, . o antiguo (obsoleto, use -u)\n" #~ " -l, --login muestra procesos de entrada en el sistema\n" #~ " (equivalente al -l de SUS)\n" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: no se puede encontrar el nombre de usuario para el UID %lu\n" #~ msgid "too few arguments" #~ msgstr "número de argumentos insuficiente" # Nota: se refiere al grupo número 0. # La convención nulo=cero también existe en español, al menos en el # lenguaje matemático. Por eso he preferido respetar el matiz. #~ msgid "cannot change to null group" #~ msgstr "no se puede cambiar al grupo nulo" #~ msgid "group number" #~ msgstr "número de grupo" #~ msgid "invalid group number %s" #~ msgstr "número de grupo inválido %s" #~ msgid "invalid mode string: %s" #~ msgstr "cadena de modo inválida %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: el directorio objetivo especificado no existe" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: el objetivo especificado no es un directorio" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "se copian varios ficheros, pero el último argumento %s\n" #~ "no es un directorio" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "demasiados argumentos que no son opciones: %s%s" # Nota: El `conv' es el mismo que aparece más adelante como # "conv=KEYWORD", por lo tanto *no* se debe traducir. #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ " sólo una `conv' en {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "no se pueden usar argumentos de tipo FICHERO con la opción para mostrar\n" #~ "la base de datos interna de dircolors" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Repite la(s) CADENA(s) por la salida estándar.\n" #~ "\n" #~ " -n no muestra el carácter final de nueva línea\n" #~ " -e activa la interpretación de caracteres escapados con " #~ "una\n" #~ " barra invertida que se listan más abajo\n" #~ " -E desactiva la interpretación de esas secuencias en " #~ "CADENAs\n" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "se instalan varios ficheros, pero el último argumento %s\n" #~ "no es un directorio" #~ msgid "%s is a directory" #~ msgstr "%s es un directorio" # No sé en qué caso se muestra este mensaje pero creo que es _muy_ ambiguo... # creo que la solución que se adopta en el siguiente mensaje sería más # apropiada... # # Ahora sí lo has arreglado... # Decía "número de argumentos insuficiente". # Pongo "demasiados argumentos". # Con esto ya están "igualados" este y el siguiente. sv # # El único problema ahora es que te comes lo de "non-option", ese matiz # se pierde en la traducción. sv+ #~ msgid "too many non-option arguments" #~ msgstr "demasiados argumentos" #~ msgid "too few non-option arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "%s: File exists" #~ msgstr "%s: El fichero existe" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... OBJETIVO [NOMBRE_DEL_ENLACE]\n" #~ " o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO\n" #~ " o bien: %s [OPCIÓN]... --target-directory=DIRECTORIO OBJETIVO...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "cuando se crean varios enlaces, el último argumento debe ser un directorio" #~ msgid "file" #~ msgstr "fichero" #~ msgid "files" #~ msgstr "ficheros" #~ msgid "checksum" #~ msgstr "suma de comprobación" #~ msgid "checksums" #~ msgstr "sumas de comprobación" #~ msgid "no files may be specified when using --string" #~ msgstr "no se puede especificar FICHERO cuando se usa --string" #~ msgid "wrong number of arguments" #~ msgstr "número incorrecto de argumentos" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "los números de dispositivo principal y secundario no se pueden " #~ "especificar\n" #~ "para ficheros `fifo'" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "al mover varios ficheros, el último argumento debe ser un directorio" #~ msgid "invalid option `%s'" #~ msgstr "opción inválida `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "prioridad inválida `%s'" #~ msgid "old-style offset" #~ msgstr "desplazamiento al estilo antiguo" # aunque con "operando no válido" se pueda llegar a la misma conclusión, # creo que lo que propongo es mucho más claro... # Creo que está bien así y de la otra forma, a mí me suena igual em+ #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "segundo operando inválido en el modo de compatibilidad `%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "en el modo de compatibilidad, los dos últimos argumentos deben ser\n" #~ "desplazamientos" # Aquí también pongo transportable. #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "la ruta de acceso `%s' contiene el carácter no transportable `%c'" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' no es un directorio" #~ msgid "directory `%s' is not searchable" #~ msgstr "el directorio `%s' es inaccesible" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "el nombre `%s' tiene longitud %ld; excede el límite de %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "la ruta de acceso `%s' tiene longitud %lu; excede el límite de %ld" # FIXME: El original es horrible. #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' rango de número de páginas inválido: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' número de página de comienzo inválido: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' número de página final inválido: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' el número de página de comienzo es mayor que el número de " #~ "página final" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "el número de página de comienzo es mayor que el número total de páginas: `" #~ "%d'" # ¿Y cómo se asegura uno de esto?, pregunto. sv #~ msgid "Page %d" #~ msgstr "Página %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Modo de empleo: %s formato [argumento...]\n" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: el sufijo es inválido en una opción obsoleta" # FIXME: Es muy raro que después de ; se use mayúscula. #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "demasiados argumentos; Cuando se utiliza la opción de sintaxis obsoleta " #~ "de\n" #~ "tail (%s) no puede haber más de un fichero como argumento. Utilice la " #~ "opción\n" #~ "equivalente -n ó -c en su lugar." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Atención: no es transportable usar dos o más ficheros como argumentos con " #~ "la\n" #~ "opción de sintaxis obsoleta (%s). Utilice la opción equivalente -n ó -c\n" #~ "en su lugar." #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: número máximo de cambios de tamaño consecutivos inválido" #~ msgid "argument expected\n" #~ msgstr "se esperaba un argumento\n" #~ msgid "too many arguments\n" #~ msgstr "demasiados argumentos\n" # Esto salió parecido en wdiff y hubo que pensarlo bastante... # # A mí me parece más que correcto, otra opción, aunque a mí no me gustan más: # "faltan ficheros como argumentos" -> no claro # "faltan argumentos de tipo fichero/FICHERO" uac # # Creo que exactamente esas dos posibilidades aparecen # en wdiff como "finalistas" :-) sv # #~ msgid "file arguments missing" #~ msgstr "faltan argumentos (ficheros)" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "secuencia de escape inválida `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "cuando se comprimen repeticiones se debe especificar al menos una cadena" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "correspondencia inválida; cuando se traduce, cualquier construcción [:" #~ "lower] o\n" #~ "[:upper:] en la cadena1 debe de estar alineada con la correpondiente\n" #~ "construcción ([:upper:] o [:lower:], respectivamente) en cadena2" #~ msgid "only one argument may be specified" #~ msgstr "sólo se puede especificar un argumento" #~ msgid "tab size contains an invalid character" #~ msgstr "el tamaño de tabulación contiene un carácter inválido" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** fecha/hora inválida ***" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: se esperaba un `+' ó un `-' después del delimitador" #~ msgid "cannot change to parent of directory %s" #~ msgstr "no se puede cambiar al directorio padre de %s" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "cuando el valor inicial es mayor que el límite,\n" #~ "el incremento debe ser negativo" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "cuando el valor inicial es menor que el límite,\n" #~ "el incremento debe ser positivo" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Atención: el significado de `-l' cambiará en una versión futura para\n" #~ "estar de acuerdo con POSIX" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "En `-wNÚMERO' se puede omitir la letra `w'.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=TAMAÑO muestra los primeros TAMAÑO bytes\n" #~ " -n, --lines=N muestra las N primeras líneas en vez de 10\n" #~ msgid "invalid number" #~ msgstr "número inválido" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s es más grande que el tamaño máximo de fichero para este sistema" #~ msgid "program error" #~ msgstr "error del programa" #~ msgid "stack overflow" #~ msgstr "desbordamiento de pila" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: secuencia de escape inválida" #~ msgid "warning: unable to use large stack" #~ msgstr "atención: no se puede usar una pila grande" #~ msgid "missing file arguments" #~ msgstr "faltan argumentos (ficheros)" #~ msgid "cannot lstat `.'" #~ msgstr "no se puede efectuar `lstat' sobre `.'" # SIoNO #~ msgid "%s: remove directory %s? " #~ msgstr "%s: ¿borrar el directorio %s? (s/n) " # SIoNO #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: el directorio %s está protegido contra escritura;\n" #~ "¿descender en él, a pesar de todo? (s/n) " #~ msgid "removing all entries of directory %s\n" #~ msgstr "borrando todas las entradas del directorio %s\n" #~ msgid "directory %s was replaced before being removed" #~ msgstr "el directorio %s ha sido reemplazado antes de ser borrado" #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "no se puede volver al directorio %s a través de `..'" #~ msgid "subdirectory of %s was moved while being removed" #~ msgstr "un subdirectorio de %s fue movido mientras era borrado" # SIoNO #~ msgid "%s: remove directory %s%s? " #~ msgstr "%s: ¿borrar el directorio %s%s? (s/n) " #~ msgid " (might be nonempty)" #~ msgstr " (podría no estar vacío)" #~ msgid "removing the directory itself: %s\n" #~ msgstr "se borró el propio directorio: %s\n" #~ msgid "cannot remove current directory %s" #~ msgstr "no se puede borrar el directorio actual %s" #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ERROR: el fichero origen %s inicialmente tenía números de dispositivo/" #~ "nodo-i\n" #~ "%lu/%lu, pero ahora (después de abrirlo), los números son %lu/%lu.\n" #~ "Esto quiere decir que mientras este programa estaba funcionando, el " #~ "fichero\n" #~ "ha sido reemplazado por otro. Nos saltamos este fichero." #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ERROR: el directorio %s inicialmente tenía números de dispositivo/nodo-i\n" #~ "%lu/%lu, pero ahora (después de un chdir dentro de él), los números para " #~ "`.'\n" #~ "son %lu/%lu. Esto quiere decir que mientras rm estaba funcionando,\n" #~ "el directorio ha sido reemplazado por otro directorio o por un enlace a " #~ "otro\n" #~ "directorio." # Esta traducción me ha sorprendido verla, creo que "changed" debería # traducirse como "ha cambiado". Además cuando estos mensajes "de # diagnóstico" aparecen, la operación ya se ha realizado... uac # # Si solamente fuera por el modo verbal empleado en el original, # estaría de acuerdo contigo. # Sin duda esto es un mensaje de "diagnóstico" o "verbose", y como tal # debe tratarse. # La cosa está en si esos mensajes deben decirnos "lo que va ocurriendo" # o "lo que ha ocurrido". En este mensaje concreto (no en general), me # parece más apropiado que el programa nos diga "lo que va ocurriendo" # y por eso utilizo el modo presente. # Tal vez tengo la impresión de que al original le falta un "is": # "group of %s is changed to %s". sv #~ msgid "group of %s changed to %s\n" #~ msgstr "el grupo de %s cambia a %s\n" # Normas de la casa: # "El programa hablará al usuario de usted y no de tú". sv #~ msgid "you are not a member of group `%s'" #~ msgstr "usted no es miembro del grupo `%s'" #~ msgid "%s: invalid group number" #~ msgstr "%s: número de grupo inválido" # Ya sé que no te gustará: "%s se cedió a " # o "el propietario de %s es ahora " tb # El segundo me gusta mucho más que el primero, pero a pesar de todo, prefiero # usar el verbo cambiar, decir "es ahora" no da a entender tan claramente # que se produce un cambio. sv # # A mí me gusta también "el propietario de %s es ahora", ¿por qué traducciones # tan literales, si se pueden poner de una forma corta y más clara? uac # # En este caso, "es ahora" es menos claro que "cambia a" # De la primera forma, te dice cómo queda pero te quedas con la duda # de si antes estaba también así o no. # Con "cambia a" te dice cómo queda y además sabes que antes estaba de otra # forma distinta. sv #~ msgid "owner of %s changed to " #~ msgstr "el propietario de %s cambia a " #~ msgid "cannot change permissions for %s" #~ msgstr "no se pueden cambiar los permisos de %s" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "`%s' y `%s' son el mismo fichero" #~ msgid "cannot backup `%s'" #~ msgstr "no se puede respaldar `%s'" #~ msgid "cannot remove `%s'" #~ msgstr "no se puede borrar `%s'" # Nota: Asegurarse de que significa eso. # Probablemente quiera decir que "no se puede recuperar `%s'" de la copia # de seguridad. tb #~ msgid "cannot un-backup `%s'" #~ msgstr "no se puede restaurar `%s'" #~ msgid "invalid mode `%s'" #~ msgstr "modo inválido `%s'" #~ msgid "cannot create directory `%s'" #~ msgstr "no se puede crear el directorio `%s'" #~ msgid "cannot make fifo `%s'" #~ msgstr "No se puede crear el `fifo' `%s'" # El primer %s es "hardlink" o "symlink". # Mantengo el "de" y toco madera. #~ msgid "create %s %s to %s" #~ msgstr "crea %s de %s a %s" #~ msgid "link" #~ msgstr "enlace" #~ msgid "starting directory" #~ msgstr "directorio de comienzo" #~ msgid "%s -> %s (backup)\n" #~ msgstr "%s -> %s (copia de seguridad)\n" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... OBJETIVO [NOMBRE_DEL_ENLACE]\n" #~ " o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO\n" #~ msgid "" #~ "Usage: %s [OPTION]... SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ORIGEN DESTINO\n" #~ " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" #~ msgid "--no-dereference (-h) is not supported on this system" #~ msgstr "--no-dereference (-h) no está disponible en este sistema" #~ msgid "Usage: %s [OPTION]... EXISTING_DIR NEW_DIR\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... DIR_EXISTENTE NUEVO_DIR\n" #~ msgid "cannot rename `.' or `..'" #~ msgstr "no se puede renombrar `.' o `..'" # ¿ancestro? # # Sip :) Es la traducción. ipg # # Supongo que será un directorio que abarca a uno dado em+ # No sé como te las apaqanas aquí, pero lo de ancestro no lo dejes, porfa # # ¿Sugerencias? sv+ # ¿Qué es un ancestro? ¿Un predecesor? tb # Ni idea. sv # # ancestro es un familiar ascendiente en el árbol genealógico (recordad que # normalmente los árboles se dibujan de arriba hacia abajo) uac # # Si te digo la verdad, nunca me ha hecho gracia eso de que los árboles # crezcan hacia abajo... sv # # Aunque ancestro creo que no estará mal, antecesor estará igual de bien y # mucho más claro, ¿o no? uac # # Si no os han aclarado las ideas mis explicaciones, recordad cuando # utilizáis el NOTESCAPES para ftpear y veis: "upper directory"= ".." uac # # Bueno, esto sería el "directorio superior", lo cual indica que en # Netscape Communications Inc., los árboles también crecen al revés... :-) sv # # Bueno, vale. De momento lo cambio. Antes decía ancestro. #~ msgid "`%s' is an ancestor of `%s'" #~ msgstr "`%s' es un antecesor de `%s'" #~ msgid "%s is closed" #~ msgstr "%s está cerrado" #~ msgid "out of memory" #~ msgstr "memoria agotada" #~ msgid "%s: pass %lu/%lu (%s)...%lu/%lu K" #~ msgstr "%s: paso %lu/%lu (%s)...%lu/%lu K" #~ msgid "%s: pass %lu/%lu (%s)...%lu K" #~ msgstr "%s: paso %lu/%lu (%s)...%lu K" #~ msgid "%s: not a regular file; use -D to enable operations on devices" #~ msgstr "" #~ "%s: no es un fichero regular; utilice -D para activar las operaciones\n" #~ "sobre dispositivos" #~ msgid "unable to allocate storage for %lu passes" #~ msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #~ msgid "%s: cannot shred read-only file descriptor" #~ msgstr "" #~ "%s: no se puede ejecutar shred sobre un descriptor de fichero de sólo " #~ "lectura" #~ msgid "%s: can't wipe stdout and print verbose messages to it" #~ msgstr "" #~ "%s: no se puede cepillar la salida estándar e imprimir mensajes " #~ "explicativos" #~ msgid "Can't fstat file `%s'" #~ msgstr "No se puede ejecutar fstat sobre el fichero `%s'" # Un fichero `sparse' es un fichero que contiene muchos ceros seguidos, y # que en algunos casos, el sistema operativo trata de forma especial. # ¿tiene traducción? # # Creo que finalmente me decidiré por traducirlo como "disperso". # (creo que Federico Rivas ya lo ha hecho así en tar). # Tal vez añadiendo el sparse al final, para que todo el mundo se entere. sv # O sea: tipo disperso (sparse). # De momento lo dejo en `sparse'. # FIXME. #~ msgid "sparse type" #~ msgstr "tipo `sparse'" # FIXME # Esto sería "tipo de ordenación", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo # "ls --sort=ñ" dé como resultado "invalid tipo de ordenación `ñ'" # lo dejo de momento en inglés, para no mezclar. #~ msgid "sort type" #~ msgstr "sort type" # FIXME # Esto sería "tipo de formato", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo, # "ls --format=ñ" dé como resultado "invalid tipo de formato `ñ'" # lo dejo de momento en inglés, para no mezclar. #~ msgid "format type" #~ msgstr "format type" # Del diccionario de María Moliner: # Colorear: Colorar. Teñir. Dar [Dar un] color a cierta cosa. # Coloración: Acción de colorear. #~ msgid "colorization criterion" #~ msgstr "criterio de coloración" # De este no estoy muy seguro. #~ msgid "indicator style" #~ msgstr "estilo de indicación" # De este tampoco... #~ msgid "quoting style" #~ msgstr "estilo de cita" # FIXME # o igual es hora, o tiempo, vaya usted a saber. Mirarlo bien. #~ msgid "time selector" #~ msgstr "selector de fecha" #~ msgid "" #~ "the option for counting 1MB blocks may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "la opción para contar bloques de 1MB no se puede usar\n" #~ "con el formato de salida portable" # ¿adaptive es adaptable? # ¿eh? # # Yo lo he mirado en el Collins y no está, por otra parte adaptable= adaptable # (inglis= castellano)... uac # # Una cosa creo que está clara, se refiere a las opciones para especificar # diferentes unidades de capacidad... y _creo_ que si pensamos en este sentido # la traducción no es muy coherente... al menos en castellano... uac # # Yo lo cambiaría a algo como: # "la opción para imprimir con unidades específicas no se puede usar..." uac # # Este tengo que pensarlo despacio. sv #~ msgid "" #~ "the option for printing with adaptive units may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "la opción para imprimir con unidades adaptables no se puede usar\n" #~ "con el formato de salida portable" #~ msgid "removing non-directory %s\n" #~ msgstr "se borró el no directorio %s\n" # ¿Tal vez la interrogación de apertura va justo después de la coma? ipg # # Excelente pregunta. Esto parece el referéndum de la OTAN: # Creo que el programa nos pregunta si queremos reemplazar un fichero # por otro, para que contestemos que sí o que no. # Al mismo tiempo, nos advierte de que, de llevarse a cabo el reemplazo # de un fichero por otro, también el modo resultaría sustituído. # # Si esto es así, ¿dónde habría que poner la interrogación? # O incluso: ¿Está bien el original? # # Creo que tal y como está, está bien. sv # SIoNO # #~ msgid "%s: replace `%s', overriding mode %04o? " #~ msgstr "%s: ¿reemplazar `%s', sustituyendo el modo %04o? (s/n) " # Yo no traduciría "regular file" literalmente... a mi entender en el Collins # salen acepciones mucho mejores, como: # fichero normal # fichero corriente # y esta que me la invento yo: fichero genérico. uac # # ¿Y una expresión regular? sv # # Aunque a decir verdad, eso de "normal" no me parece mal del todo, # habrá que pensarlo seriamente. sv # FIXME. #~ msgid "cannot move `%s' across filesystems: Not a regular file" #~ msgstr "" #~ "no se puede mover `%s' de un sistema de ficheros a otro:\n" #~ "No es un fichero regular" #~ msgid "Usage: %s [OPTION]... GROUP FILE...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" # Este overriding no es como el de "mv". # ¿Tal vez el original no tiene sentido? # (lo digo porque para borrar, el modo que importa es el del directorio, # donde está lo que se va a borrar) # # overriding es pasar por alto em # # En general no, solamente en este caso. # ¿Quieres decir que sugieres poner # "..., pasando por alto el modo %04o"? sv+ # #~ msgid "%s: remove %s`%s', overriding mode %04o? " #~ msgstr "%s: ¿borrar %s`%s', sustituyendo el modo %04o? (s/n) " # Este tendré que estudiarlo más. # De momento lo dejo así. # SIoNO #~ msgid "%s: descend directory `%s', overriding mode %04o? " #~ msgstr "" #~ "%s: ¿descender al directorio `%s', sustituyendo el modo %04o? (s/n) " # SIoNO #~ msgid "%s: remove directory `%s' (might be nonempty)? " #~ msgstr "%s: ¿borrar el directorio `%s'? (podría no estar vacío) (s/n) " # [ Antes decía "...el punto de montaje para %s" ] # No me gusta punto "de montaje". ¿Sugerencias? # # Como se monta en un directorio, se podría decir `directorio de montaje' # De todas maneras, punto de montaje no queda tan mal ... :) ipg # # Esta es dura, nunca se me ocurrió pensar que habría que traducirlo # un día. ... ¿Qué tal ... "lugar para montar" o "directorio en # el que montar"? em # # Algo mejor. Pero no estoy seguro. Tengo que pensarlo. sv # # "No se puede encontrar el sitio para montar %s" Sólo es una # sugerencia más. tb # # La conservaremos. # ¿Más candidatos? sv # # ¿`punto de montaje de %s'? ipg # # Bien, este es uno de esos casos en los que uno decide salirse # por la tangente. Espero que os guste así. # Razones: El "punto" de montaje es siempre un directorio (¿o no?). # Llamarle "punto" es emplear un lenguaje algo oscuro. # Si alguien sabe de algún caso en el que el punto de montaje no sea # un directorio, por favor que lo diga. sv #~ msgid "cannot find mount point for %s" #~ msgstr "no se puede encontrar el directorio para montar %s" #~ msgid "USER" #~ msgstr "USUARIO" # ¿Qué es eso de MESG? Si se refiere a si la tty acepta mensajes # (orden mesg), ¿no habría que traducir MENS " o algo así? Porque # "mensaje" en español no tiene ninguna G.erardo # Ni idea. Investigarlo. sv # Lo investigo por ti: un "who --help; who -H -T" te dará la # pista. Estoy en lo correcto. Cámbialo. gerardo # Efectivamente, who -H -T es muy esclarecedor. # Pero no me acaba de convencer. Ese MESG no es necesariamente MENSAJES. # Yo lo veo como una variable llamada MESG que puede tener dos valores # distintos, "y" y "n", y que se cambia con la orden mesg. # ¿Opiniones? #~ msgid "MESG " #~ msgstr "MESG " #~ msgid "LOGIN-TIME " #~ msgstr "HORA DE CONEXIÓN " #~ msgid "FROM\n" #~ msgstr "DESDE\n" #~ msgid "<undef>" #~ msgstr "<no definido>" #~ msgid "" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "\n" #~ "En vez de `-t N' ó `-t LISTA' puede usarse -N ó -LISTA.\n" # ¿Qué tal dejar bien claro que "...en vez de 10 por defecto." aunque no # ^^^^^^^^^^^ # esté en la versión english? # #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede tener un sufijo: `b' para 512, `k' para 1K, `m' para 1 " #~ "Megabyte.\n" #~ "Se se utiliza -VALOR como primera OPCIÓN, se entiende como -c VALOR si " #~ "va\n" #~ "seguido por uno de los multiplicadores `b', `k' ó `m', si no, se " #~ "entiende\n" #~ "como -n VALOR.\n" #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " +POS1 [-POS2] comienza una clave en POS1 y la termina antes\n" #~ " de POS2. Atención: esta opción está obsoleta\n" #~ "<" #~ msgid "" #~ "A first OPTION of -VALUE\n" #~ "is treated like -n VALUE unless VALUE has one of the [bkm] suffix\n" #~ "multipliers, in which case it is treated like -c VALUE.\n" #~ msgstr "" #~ "Si la primera\n" #~ "OPCIÓN es -VALOR se trata como si fuese -n VALOR, a menos que VALOR " #~ "tenga\n" #~ "uno de los sufijos mencionados (bkm), en cuyo caso se trata como -c " #~ "VALOR.\n" #~ msgid "" #~ "A first option of +VALUE is treated like -+VALUE, but this usage is " #~ "obsolete\n" #~ "and support for it will be withdrawn.\n" #~ "\n" #~ msgstr "" #~ "Si la primera opción es +VALOR se trata como -+VALOR, pero este uso\n" #~ "está obsoleto, y su soporte desaparecerá.\n" #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "el número especificado de bytes `%s' es más grande que el valor máximo\n" #~ "representable de tipo `long'" #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "cuando se utiliza el estilo de parámetros antiguo con +POS y -POS,\n" #~ "el primero de ellos debe ser +POS" #~ msgid "" #~ "the starting field number argument to the `-k' option must be positive" #~ msgstr "" #~ "el número que especifica el primer campo en la opción `-k' debe\n" #~ "ser positivo" #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "la especificación del campo de comienzo tiene `.' pero carece de número " #~ "de\n" #~ "desplazamiento de caracteres" #~ msgid "" #~ "starting field character offset argument to the `-k' option\n" #~ "must be positive" #~ msgstr "" #~ "el argumento de desplazamiento del campo de comienzo para la opción `-k'\n" #~ "debe ser positivo." #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "" #~ "la especificación de campo tiene `,' pero no constan a continuación las\n" #~ "especificaciones del campo" #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "el número de campo final para la opción `-k' debe ser positivo" # Ãdem. ipg #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "la especificación del campo de final tiene `.' pero no le sigue un\n" #~ "desplazamiento de caracteres" #~ msgid "%s: cannot follow end of non-regular file" #~ msgstr "%s: no se puede localizar el final de un fichero no regular" #~ msgid "could not find loop" #~ msgstr "no se puede encontrar un bucle" #~ msgid "`%s' has reappeared" #~ msgstr "`%s' ha reaparecido" #~ msgid "`-w PAGE_WIDTH' invalid column number: `%s'" #~ msgstr "`-w ANCHO_PÃGINA' el número de columna no es válido: `%s'" #~ msgid "%s: extra characters in the argument to the `-%c' option: `%s'\n" #~ msgstr "%s: sobran caracteres en el argumento de la opción `-%c' : `%s'\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ia.po�����������������������������������������������������������������������������0000664�0000000�0000000�00000746524�12107204510�011727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Interlingua translations for GNU coreutils package. # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Nik Kalach <nik.kalach@inbox.ru>, 2012. # msgid "" msgstr "" "Project-Id-Version: coreutils-8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-12-22 07:27+0400\n" "Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n" "Language-Team: Interlingua <translation-team-ia@lists.sourceforge.net>\n" "Language: ia\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s invalide pro %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambigue pro %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Le argumentos valide es:" #: lib/closein.c:100 msgid "error closing file" msgstr "error al clauder le file" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "error de scriptura" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "preservation del permissiones pro %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Error del systema incognite" #: lib/file-type.c:38 msgid "regular empty file" msgstr "file regular vacue" #: lib/file-type.c:38 msgid "regular file" msgstr "file regular" #: lib/file-type.c:41 msgid "directory" msgstr "directorio" #: lib/file-type.c:44 msgid "block special file" msgstr "file special de blocos" #: lib/file-type.c:47 msgid "character special file" msgstr "file special de characteres" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "ligamine symbolic" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "cauda de messages" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaphoro" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objecto de memoria condivise" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objecto de memoria con typo" #: lib/file-type.c:70 msgid "weird file" msgstr "file estranie" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Le familia de adresses pro le nomine de host non es supportate" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Insuccesso temporanee in le resolution de nomine" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valor incorrecte pro ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Insuccesso irrecuperabile in le resolution de nomine" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family non supportate" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Insuccesso de allocation de momoria" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Necun adresse associate al nomine de host" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nomine o servicio incognite" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname non supportate pro ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype non supportate" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Error de systema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Le buffer del argumento es troppo parve" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Processamento del requesta in curso" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Requesta annullate" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Requesta non annullate" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Tote le requestas completate" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrumpite per un signal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Catena de parametros codificate incorrectemente" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Error incognite" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: le option '%s' es ambigue; possibilitates:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: le option '--%s' non accepta necun argumento\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: le option '%c%s' non accepta necun argumento\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: le option '--%s' require un argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: option non recognoscite '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: option non recognoscite '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: option invalide -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: le option require un argumento -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: le option '-W %s' es ambigue\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: le option '-W %s' non accepta necun argumento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: le option '-W %s' require un argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "impossibile de cambiar le permissiones de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "impossibile de crear le directorio %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memoria exhauste" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "impossibile de registrar le directorio de travalio actual" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "impossibile de revenir al directorio de travalio initial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fin de file" #: lib/regcomp.c:131 msgid "Success" msgstr "Successo" #: lib/regcomp.c:134 msgid "No match" msgstr "Nulle correspondentia" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expression regular incorrecte" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Character de collation incorrecte" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nomine de classe de characteres incorrecte" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Barra oblique inverse final" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Referentia a retro incorrecte" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ o [^ non accopulate" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( o \\( non accopulate" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ non accopulate" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Contento de \\{\\} incorrecte" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Fin de intervallo incorrecte" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memoria exhaurite" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Expression regular precedente incorrecte" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fin prematur del expression regular" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Expression regular es troppo grande" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") o \\) non accopulate" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nulle expression regular previe" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "il es periculose operar recursivemente sur %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "il es periculose operar recursivemente sur %s (identic a %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "utilisa --no-preserve-root pro inhibir iste mesura de securitate" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sSyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "initiation de permissiones de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Clausura de terminal" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Requesta de interrumper" #: lib/siglist.h:37 msgid "Quit" msgstr "Requesta de quitar" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Instruction malformate" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trappa al puncto de traciage o suspension" #: lib/siglist.h:46 msgid "Aborted" msgstr "Termination anormal" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Exception al calculation con virgula flottante" #: lib/siglist.h:52 msgid "Killed" msgstr "Termination immediate" #: lib/siglist.h:55 msgid "Bus error" msgstr "Violation de accesso a memoria" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Violation de segmentation" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Conducto rupte" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Eveliator" #: lib/siglist.h:67 msgid "Terminated" msgstr "Requesta de termination" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condition de I/O urgente" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Suspender un processo" #: lib/siglist.h:76 msgid "Stopped" msgstr "Requesta de suspension" #: lib/siglist.h:79 msgid "Continued" msgstr "Continuar un processo" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" #: lib/userspec.c:106 msgid "invalid user" msgstr "" #: lib/userspec.c:107 msgid "invalid group" msgstr "" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "" #: src/cut.c:872 msgid "missing list of positions" msgstr "" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:1218 msgid "invalid conversion" msgstr "" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "" #: src/dd.c:1227 msgid "invalid status flag" msgstr "" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "" #: src/df.c:1335 msgid "warning: " msgstr "" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "" #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "" #: src/head.c:886 msgid "number of bytes" msgstr "" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "" #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "" #: src/md5sum.c:597 msgid "OK" msgstr "" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "argumento %s invalide pro %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "argumento %s invalide pro %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "%s: option invalide -- '%c'\n" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "" #: src/sort.c:970 msgid "fflush failed" msgstr "" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "" #: src/sort.c:1755 msgid "read failed" msgstr "" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "" msgstr[1] "" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "" #: src/sort.c:3698 msgid "cannot read" msgstr "" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 msgid "unknown binary operator" msgstr "" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 msgid "missing ']'" msgstr "" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "" msgstr[1] "" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 msgid "IDLE" msgstr "" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/cs.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002015726�12107204505�011742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Czech translations for GNU textutils # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Vladimir Michl <Vladimir.Michl@seznam.cz>, 1996. # Petr Pisar <petr.pisar@atlas.cz>, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Petr Pisar <petr.pisar@atlas.cz>, 2013. # msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-12 21:40+0100\n" "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument %s je pro %s neplatný" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s je pro %s nejednoznaÄný" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Platné argumenty jsou:" #: lib/closein.c:100 msgid "error closing file" msgstr "chyba pÅ™i zavírání souboru" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "chyba pÅ™i zápisu" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "zachování práv pro %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Neznámá chyba systému" #: lib/file-type.c:38 msgid "regular empty file" msgstr "běžný prázdný soubor" #: lib/file-type.c:38 msgid "regular file" msgstr "běžný soubor" #: lib/file-type.c:41 msgid "directory" msgstr "adresář" #: lib/file-type.c:44 msgid "block special file" msgstr "blokové zařízení" #: lib/file-type.c:47 msgid "character special file" msgstr "znakové zařízení" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolický odkaz" #: lib/file-type.c:56 msgid "socket" msgstr "soket" #: lib/file-type.c:59 msgid "message queue" msgstr "fronta zpráv" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objekt sdílené pamÄ›ti" #: lib/file-type.c:68 msgid "typed memory object" msgstr "typovaný paměťový objekt" #: lib/file-type.c:70 msgid "weird file" msgstr "divný soubor" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Pro jméno poÄítaÄe není rodina adres podporována" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "DoÄasné selhání pÅ™i pÅ™ekladu jména" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Chybná hodnota pro ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Z chyby pÅ™ekladu jména se nelze zotavit" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family není podporována" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Chyba pÅ™idÄ›lování pamÄ›ti" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Se jménem poÄítaÄe není spojena žádná adresa" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Neznámé jméno nebo služba" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname není podporována daným ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype není podporován" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Chyba systému" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Vyrovnávací paměť pro argumenty je příliÅ¡ malá" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Požadavek se zpracovává" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Požadavek zruÅ¡en" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Požadavek nezruÅ¡en" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "VÅ¡echny požadavky vyřízeny" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "PÅ™eruÅ¡eno signálem" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "ŘetÄ›zec v parametru není správnÄ› zakódován" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Neznámá chyba" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný, možnosti:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ â€ž--%s“ musí být zadán bez argumentu\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ â€ž%c%s“ musí být zadán bez argumentu\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pÅ™epínaÄ â€ž--%s“ vyžaduje argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neznámý pÅ™epínaÄ â€ž--%s“\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neznámý pÅ™epínaÄ â€ž%c%s“\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neplatný pÅ™epínaÄ â€“ %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pÅ™epínaÄ vyžaduje argument – %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pÅ™epínaÄ â€ž-W %s“ není jednoznaÄný\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pÅ™epínaÄ â€ž-W %s“ musí být zadán bez argumentu\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pÅ™epínaÄ â€ž-W %s“ vyžaduje argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "práva %s nelze zmÄ›nit" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "adresář %s nelze vytvoÅ™it" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "paměť vyÄerpána" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "nelze zaznamenat souÄasný pracovní adresář" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "návrat do původního pracovního adresáře selhal" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "“" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: konec souboru" #: lib/regcomp.c:131 msgid "Success" msgstr "ÚspÄ›ch" #: lib/regcomp.c:134 msgid "No match" msgstr "Žádná shoda" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Neplatný regulární výraz" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Znak nevhodné třídy" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Chybný název znakové třídy" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "PÅ™ebyteÄné zpÄ›tné lomítko" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Chybný zpÄ›tný odkaz" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Nepárová [ nebo [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Nepárová ( nebo \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Nepárová \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Chybný obsah mezi \\{ a \\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Chybný konec rozsahu" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Paměť vyÄerpána" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "PÅ™edcházející regulární výraz je chybný" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Nenadálý konec regulárního výrazu" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regulární výraz je příliÅ¡ dlouhý" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Nepárová ) nebo \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Chybí pÅ™edcházející regulární výraz" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "rekurzivní zpracování %s je nebezpeÄné" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "rekurzivní zpracování na %s (taktéž na %s) je nebezpeÄné" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "tento záchranný režim potlaÄíte volbou --no-preserve-root" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[aAyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "nastavení práv pro %s" # XXX: PÅ™ekládat podle domény libc #: lib/siglist.h:31 msgid "Hangup" msgstr "Odpojen terminál (SIGHUP)" #: lib/siglist.h:34 msgid "Interrupt" msgstr "PÅ™eruÅ¡ení (SIGINT)" #: lib/siglist.h:37 msgid "Quit" msgstr "Konec (SIGQUIT)" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Nedovolená instrukce (SIGILL)" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trasovací/ladící past (SIGTRAP)" #: lib/siglist.h:46 msgid "Aborted" msgstr "NeúspěšnÄ› ukonÄen (SIGABRT)" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Výjimka v pohyblivé řádové Äárce (SIGFPE)" #: lib/siglist.h:52 msgid "Killed" msgstr "Zabit (SIGKILL)" #: lib/siglist.h:55 msgid "Bus error" msgstr "Chyba na sbÄ›rnici (neplatná adresa) (SIGBUS)" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "NeoprávnÄ›ný přístup do pamÄ›ti (SIGSEGV)" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Roura pÅ™eruÅ¡ena (SIGPIPE)" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Budík (SIGALRM)" #: lib/siglist.h:67 msgid "Terminated" msgstr "UkonÄen (SIGTERM)" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Naléhavá V/V situace (SIGURG)" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Pozastaven (SIGSTOP)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Pozastaven (SIGTSTP)" #: lib/siglist.h:79 msgid "Continued" msgstr "Je pokraÄováno (SIGCONT)" #: lib/siglist.h:82 msgid "Child exited" msgstr "Potomek skonÄil (SIGCHLD)" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Pozastaven (vstup TTY) (SIGTTIN)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Pozastaven (výstup TTY) (SIGTTOU)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "Vstup/Výstup možný (SIGIO)" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "PÅ™ekroÄen Äasový limit pro procesor (SIGXCPU)" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "PÅ™ekroÄen limit délky souboru (SIGXFS2)" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuální ÄasovaÄ vyprÅ¡el (SIGVTALRM)" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profilovací ÄasovaÄ vyprÅ¡el (SIGPROF)" #: lib/siglist.h:106 msgid "Window changed" msgstr "Okno se zmÄ›nilo (SIGWINCH)" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Uživatelem definovaný signál 1 (SIGUSR1)" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Uživatelem definovaný signál 2 (SIGUSR2)" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT past (SIGEMT)" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Chybné volání systému (SIGSYS)" #: lib/siglist.h:123 msgid "Stack fault" msgstr "PoruÅ¡en zásobník (SIGSTKFLT)" #: lib/siglist.h:126 msgid "Information request" msgstr "Žádost o informaci (SIGINFO)" #: lib/siglist.h:128 msgid "Power failure" msgstr "Výpadek napájení (SIGPWR)" #: lib/siglist.h:131 msgid "Resource lost" msgstr "ProstÅ™edek byl ztracen (SIGLOST)" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "nelze vytvoÅ™it rouru" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "podproces %s selhal" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Signál reálného Äasu %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Neznámý signál %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funkce iconv je nepoužitelná" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funkce iconv není dostupná" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "znak je mimo rozsah" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "znak U+%04X nelze pÅ™evést do místní znakové sady" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "znak U+%04X nelze pÅ™evést do místní znakové sady: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "neplatný uživatel" #: lib/userspec.c:107 msgid "invalid group" msgstr "neplatná skupina" #: lib/userspec.c:108 msgid "invalid spec" msgstr "neplatný argument spec" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "chybové hlášení není možné zobrazit" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Zabaleno kým: %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Zabaleno kým: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licence GPLv3+: GNU GPL verze 3 nebo novÄ›jší <http://gnu.org/licenses/gpl." "html>.\n" "Toto je svobodné programové vybavení: máte právo jej mÄ›nit a šířit.\n" "VEÅ KERÉ ZÃRUKY chybí, jak jen zákon dovoluje.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napsal %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Napsali %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Napsali %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Napsali %s, %s, %s a\n" "%s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Napsali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s a jiní.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Chyby v programu oznamujte (anglicky) na adrese: <%s>\n" "PÅ™ipomínky k pÅ™ekladu zasílejte (Äesky) na adresu:\n" "\t<translation-team-cs@lists.sourceforge.net>\n" # First argument is packager name #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Chyby distribuce %s oznamujte na adrese <%s> (anglicky).\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Domovská stránka %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Obecná nápovÄ›da, jak používat GNU software: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "volání _open_osfhandle selhalo" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "deskriptor %d nelze obnovit: volání dup2 selhalo" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "podproces %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "podproces %s obdržel fatální signál %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standardního vstupu" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standardního výstupu" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standardního chybového výstupu" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "neznámého proudu" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "znovu otevÅ™ení %s v režimu %s se nezdaÅ™ilo" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "porovnání Å™etÄ›zců selhalo" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Pro obejití problému nastavte LC_ALL='C'." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Byly porovnávány Å™etÄ›zce %s a %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "formátovaný výstup nelze provést" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "argument „%3$s“ pÅ™epínaÄe %1$s%2$s je neplatný" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "neplatná přípona v argumentu „%3$s“ pÅ™epínaÄe %1$s%2$s" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argument „%3$s“ pÅ™epínaÄe %1$s%2$s je příliÅ¡ velký" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]\n" "Zakóduje do base64 nebo dekóduje z base64 SOUBOR nebo standardní vstup na\n" "standardní výstup.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode rozkóduje data\n" " -i, --ignore-garbage bÄ›hem dekódování ignoruje neabecední znaky\n" " -w, --wrap=SLOUPCÅ® zalomí zakódované řádky po SLOUPCÅ® znacích (výchozí " "76).\n" " Zalamování lze zakázat hodnotou 0\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Není-li uveden SOUBOR nebo když je SOUBOR „-“, Äte ze standardního vstupu.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Data jsou kódována do abecedy base64 podle RFC 3548. PÅ™i dekódování\n" "může vstup kromÄ› formální abecedy base64 obsahovat také znaky nového\n" "řádku. Obsahuje-li proud zakódovaných dat i bajty nepatřící do abecedy,\n" "můžete se je pokusit pÅ™eskoÄit volbou --ignore-garbage.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "chyba pÅ™i Ätení" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "neplatný vstup" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "neplatná délka zalomení: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "nadbyteÄný operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "zavírám standardní vstup" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Použití: %s NÃZEV [PŘÃPONA]\n" " nebo: %s PŘEPÃNAČ… NÃZEV… \n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Vypíše NÃZEV bez úvodních adresářů. Pokud je zadáno, odstraní také PŘÃPONU.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple zpracuje násobné argumenty, každý považuje za JMÉNO\n" " -s, --suffix=PŘÃPONA odstraní koncovou PŘÃPONU\n" " -z, --zero oddÄ›luje výstup pomocí znaku NUL namísto novým " "řádkem\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Příklady:\n" " %s /usr/bin/sort Vypíše „sort“\n" " %s include/stdio.h .h Vypíše „stdio“\n" " %s -s .h include/stdio.h Vypíše „stdio“\n" " %s -a any/str1 any/str2 Vypíše „str1“ následováno „str2“\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "chybí operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]…\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "ZÅ™etÄ›zí obsah SOUBORU(Å®) nebo standardního vstupu a vypíše jej na " "standardní\n" "výstup.\n" "\n" " -A, --show-all stejné jako -vET\n" " -b, --number-nonblank Äísluje neprázdné výstupní řádky, pÅ™ebije -n\n" " -e stejné jako -vE\n" " -E, --show-ends vypíše $ na konci každého řádku\n" " -n, --number Äísluje vÅ¡echny výstupní řádky\n" " -s, --squeeze-blank prázdné řádky jdoucí po sobÄ› redukuje na jediný\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t stejné jako -vT\n" " -T, --show-tabs vypisuje znak TAB jako ^I\n" " -u (ignorováno)\n" " -v, --show-nonprinting použije zápisu ^ a M-, kromÄ› znaků LF a TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Příklady:\n" " %s f - g Vypíše obsah souboru f, pak standardní vstup, poté obsah g.\n" " %s Kopíruje standardní vstup na standardní výstup.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ioctl na „%s“ není možné vykonat" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standardní výstup" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: vstupní soubor je zároveň výstupním" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "chyba pÅ™i výrobÄ› bezpeÄnostního kontextu: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "nastavení složky %s bezpeÄnostního kontextu na %s se nezdaÅ™ilo" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "získat bezpeÄnostní kontext %s se nezdaÅ™ilo" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "ÄásteÄný kontext na neoznaÄený soubor %s nelze uplatnit" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "zmÄ›nit kontext %s na %s se nezdaÅ™ilo" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "nelze pÅ™istoupit k %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "adresář %s nelze Äíst" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "mÄ›ním bezpeÄnostní kontext %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read selhalo" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close selhalo" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… KONTEXT… SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… [-u UŽIVATEL] [-r ROLE] [-l ROZSAH]\n" " [-t DRUH] SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR…\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "ZmÄ›ní bezpeÄnostní kontext každého SOUBORU na KONTEXT.\n" "PÅ™i použití --reference zmÄ›ní bezpeÄnostní kontext každého SOUBORU na\n" "kontext RSOUBORU.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference působí na cíl symbolického odkazu (toto je výchozí\n" " chování) namísto na symbolický odkaz samotný\n" " -h, --no-dereference působí na symbolický odkaz místo na odkazovaný " "soubor\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UŽIVATEL nastaví uživatele UŽIVATEL v cílovém bezp. " "kontextu\n" " -r, --role=ROLE nastaví roli ROLE v cílovém bezpeÄnostním kontextu\n" " -t, --type=TYP nastaví typ TYP v cílovém bezpeÄnostním kontextu\n" " -l, --range=ROZSAH nastaví rozsah ROZSAH v cílovém bezpeÄnostním " "kontextu\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root\n" " s „/“ se nezachází zvláštnÄ› (výchozí chování)\n" " --preserve-root odmítne rekurzivní zpracování nad „/“\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RSOUBOR\n" " místo zadání hodnoty KONTEXT použije bezpeÄnostní\n" " kontext souboru RSOUBOR\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive vykoná se rekurzivnÄ› i v podadresářích\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr " -v, --verbose informuje o každém zpracovávaném souboru\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Následující pÅ™epínaÄe ovlivňují, jak se zpracuje hierarchie adresářů, když " "je\n" "souÄasnÄ› použit pÅ™epínaÄ -R. Pokud se použije více tÄ›chto pÅ™epínaÄů, " "uplatní\n" "se pouze poslední z nich.\n" "\n" " -H pokud je argument na příkazové řádce symbolický\n" " odkaz na adresář, projde jej\n" " -L projde každý symbolický odkaz na adresář\n" " -P neprochází žádné symbolické odkazy (výchozí)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference vyžaduje buÄ -H, a nebo -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h vyžaduje -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "po %s chybí operand" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "neplatný kontext: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "byly zadány odporující si požadavky na bezpeÄnostní kontext" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "selhalo získání vlastností souboru %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "neplatná skupina: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… SKUPINA SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR…\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "ZmÄ›ní skupinu každého SOUBORU na SKUPINU.\n" "PÅ™i použití --reference zmÄ›ní skupinu každého SOUBORU na skupinu RSOUBORU.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes jako verbose, ale hlásí jen zmÄ›ny\n" " -s, --quiet, --silent potlaÄí vÄ›tÅ¡inu chybových hlášek\n" " -v, --verbose informuje o každém zpracovávaném souboru\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (užiteÄné pouze na systémech, které mohou\n" " mÄ›nit vlastnictví symbolických odkazů)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RSOUBOR\n" " použije skupinou RSOUBORU namísto zadané hodnoty\n" " SKUPINA\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Příklady:\n" " %s staff /u ZmÄ›ní skupinu /u na „staff“.\n" " %s -hR staff /u ZmÄ›ní skupinu /u a vÅ¡ech podsouborů na „staff“.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "získání nových vlastností %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "symbolický odkaz %s ani soubor, na nÄ›jž se odkazuje, nebyl zmÄ›nÄ›ny\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "práva souboru %s zmÄ›nÄ›na z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "práva souboru %s se nepodaÅ™ilo zmÄ›nit z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "práva souboru %s zůstala %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "nad slepým symbolickým odkazem %s nelze pracovat" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "práva %s nelze zmÄ›nit" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nová práva jsou %s, a ne %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… PRÃVA[,PRÃVA]… SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… OSMIÄŒKOVÃ_PRÃVA SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR…\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "ZmÄ›ní práva každému SOUBORU na PRÃVA.\n" "PÅ™i použití --reference zmÄ›ní práva každého SOUBORU na práva RSOUBORU.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RSOUBOR\n" " místo hodnoty PRÃVA použije práva souboru RSOUBOR\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive působí na soubory a adresáře rekurzivnÄ›\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Každá PRÃVA mají zápis „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+“.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "PRÃVA a --reference nelze použít souÄasnÄ›" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "neplatná práva: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "vlastník souboru %s zmÄ›nÄ›n z %s na %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "skupina souboru %s zmÄ›nÄ›na z %s na %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "zachování vlastnictví souboru %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "vlastnictví %s nelze zmÄ›nit z %s na %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "skupinu souboru %s se nepodaÅ™ilo zmÄ›nit z %s na %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "vlastnictví %s nelze zmÄ›nit\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "vlastnictví %s nelze zmÄ›nit na %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "skupinu souboru %s se nepodaÅ™ilo zmÄ›nit na %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "vlastníkem souboru %s zůstal %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "skupina souboru %s zůstala %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "vlastník souboru %s zachován\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "nelze dereferencovat %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "zmÄ›nÄ›ní vlastnictví souboru %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "zmÄ›nÄ›ní skupiny souboru %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [VLASTNÃK][:[SKUPINA]] SOUBOR…\n" " nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR…\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "ZmÄ›ní vlastníka a/nebo skupinu každého SOUBORU na VLASTNÃKA a/nebo SKUPINU.\n" "Je-li použit pÅ™epínaÄ --reference, zmÄ›ní vlastníka a skupinu každého " "SOUBORU\n" "podle vzorového RSOUBORU.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=SOUÄŒASNÃ_VLASTNÃK:SOUÄŒASNÃ_SKUPINA\n" " mÄ›ní vlastníka a/nebo skupinu každého souboru,\n" " pouze když jeho aktuální vlastník a/nebo skupina\n" " odpovídá zadaným. Jak vlastník tak skupina může " "být\n" " vynechána, a tedy nebude uvažována\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RSOUBOR\n" " místo zadání hodnot VLASTNÃK:SKUPINA použije\n" " vlastníka a skupinu souboru RSOUBOR\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Vlastník nebude zmÄ›nÄ›n, není-li zadán. Skupina nebude zmÄ›nÄ›na, není-li\n" "zadána, ale v případÄ›, že uvedete za vlastníkem dvojteÄku, bude skupina " "zmÄ›nÄ›na\n" "na pÅ™ihlaÅ¡ovací skupinu vlastníka. VLASTNÃKA a SKUPINU lze zadat ÄíselnÄ›\n" "i symbolicky.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Příklady:\n" " %s root /u ZmÄ›ní vlastníka /u na „root“.\n" " %s root:staff /u NápodobnÄ›, navíc zmÄ›ní skupinu na „staff“.\n" " %s -hR root /u ZmÄ›ní vlastníka /u a vÅ¡ech podsouborů na „root“.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "neplatná skupina %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "neplatný seznam skupin %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "doplňkové skupiny nebylo možné nastavit" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ] NOVÃ_ROOT [PŘÃKAZ [ARG]…]\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Spustí PŘÃKAZ s koÅ™enovým adresářem nastaveným na NOVÃ_ROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UŽIVATEL:SKUPINA\n" " urÄuje uživatele a skupinu (ID nebo jméno),\n" " který se použije\n" " --groups=SEZNAM_SKUPIN urÄuje doplňkové skupiny (zápis: S1,S2,…,Sn)\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Není-li zadán žádný příkaz, spustí „${SHELL} -i“ (výchozí: „/bin/sh -i“).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "nelze zmÄ›nit koÅ™enový adresář na %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nelze zmÄ›nit pracovní adresář na koÅ™enový" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "selhalo nastavení ID skupiny" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "selhalo nastavení ID uživatele" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "spuÅ¡tÄ›ní příkazu %s selhalo" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: soubor je příliÅ¡ dlouhý" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Použití: %s [SOUBOR]…\n" " nebo: %s [PŘEPÃNAÄŒ]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Vypíše CRC kontrolní souÄet a poÄet bajtů v každém SOUBORU.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… SOUBOR1 SOUBOR2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Porovná seÅ™azené soubory SOUBOR1 a SOUBOR2 řádek po pořádku.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Bez pÅ™epínaÄů produkuje třísloupcový výstup. První sloupec obsahuje řádky\n" "jedineÄné pro SOUBOR1, druhý sloupec řádky obsažené jen v SOUBORU2 a " "sloupec\n" "tÅ™etí obsahuje řádky spoleÄné obÄ›ma souborům.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 neukazuje 1. sloupec (řádky obsažené pouze v SOUBORU1)\n" " -2 neukazuje 2. sloupec (řádky obsažené pouze v SOUBORU2)\n" " -3 neukazuje 3. sloupec (řádky spoleÄné obÄ›ma souborům)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order ověřuje, zda je vstup správnÄ› seÅ™azen, i když vÅ¡echny\n" " řádky lze spárovat\n" " --nocheck-order neověřuje, zda je vstup správnÄ› seÅ™azen\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=ŘET oddÄ›luje sloupce pomocí ŘET\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "UvÄ›domte si, že porovnávání respektuje pravidla daná „LC_COLLATE“.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Příklady:\n" " %s -12 soubor1 soubor2 Vypíše pouze řádky existující jak v soubor1,\n" " tak v soubor2.\n" " %s -3 soubor1 soubor2 Vypíše řádky existující v soubor1,\n" " ale ne v soubor2 nebo obrácenÄ›.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "soubor %d není seÅ™azen" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "zadáno více oddÄ›lovaÄů" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "prázdný %s nedovolen" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "chyba pÅ™i Ätení %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nelze nastavit pozici pro %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "chyba pÅ™i zápisu %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: selhalo získání údajů o rozsazích" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: zápis se nezdaÅ™il" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "rozšíření %s selhalo" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "odebírám práva k %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "selhalo zachování vlastnictví souboru %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "selhalo vyhledání souboru %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "selhalo zachování autorství souboru %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s nelze otevřít pro Ätení" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "nelze získat informace o souboru %s z deskriptoru" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "pÅ™eskakuji soubor %s, protože byl nahrazen bÄ›hem kopírování" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "získat kontext pro vytváření na souborovém systému se nezdaÅ™ilo" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "nastavení bezpeÄnostního kontextu %s na %s se nezdaÅ™ilo" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "nelze odstranit %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "smazáno %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "nezapisuji skrze slepý symbolický odkaz %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "nelze vytvoÅ™it obyÄejný soubor %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "klonování %s z %s selhalo" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "zachování Äasů souboru %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "zavÅ™ení %s selhalo" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: pÅ™epsat %s pÅ™ebitím přístupových práv %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: pÅ™epsat %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (záloha: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "obnova výchozího kontextu pro vytvářené soubory selhala" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "nelze vytvoÅ™it pevný odkaz %s na %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "nelze získat informace o %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "vynechávám adresář %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "varování: zdrojový soubor %s byl zadán více krát" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s a %s jsou jeden a tentýž soubor" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ne-adresář %s nelze pÅ™epsat adresářem %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "právÄ› vytvoÅ™ený %s nebude pÅ™epsán %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "adresář %s nelze pÅ™epsat ne-adresářem" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "adresář nelze pÅ™esunout do ne-adresáře: %s → %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "vytvoÅ™ení zálohy souboru %s může zniÄit zdroj; `%s' nepÅ™ejmenován" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "vytvoÅ™ení zálohy souboru %s může zniÄit zdroj; %s nekopírován" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "nelze vytvoÅ™it zálohu %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "nebudu kopírovat %s skrze právÄ› vytvoÅ™ený symbolický odkaz %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "nelze kopírovat adresář %s na sebe %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "pevný odkaz %s na adresář %s nebude vytvoÅ™en" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "nelze pÅ™esunout %s do podadresáře sebe sama (%s)" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "nelze pÅ™esunout %s do %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "pÅ™esun mezi zařízeními selhal: %s na %s; cíl nelze odstranit" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "selhalo nastavení výchozího kontextu pro vytvářené soubory na %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "%s: zacyklené symbolické odkazy nelze kopírovat" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: relativní symbolický odkaz lze vytvoÅ™it pouze v aktuálním adresáři" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "nelze vytvoÅ™it symbolický odkaz %s na %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "nelze vytvoÅ™it rouru %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "nelze vytvoÅ™it zvláštní soubor %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "symbolický odkaz %s nelze pÅ™eÄíst" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "nelze vytvoÅ™it symbolický odkaz %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s: neznámý typ souboru" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "%s: nelze obnovit ze zálohy" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s → %s (obnoven ze zálohy)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [-T] ZDROJ CÃL\n" " nebo: %s [PŘEPÃNAÄŒ]… ZDROJ… ADRESÃŘ\n" " nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ ZDROJ…\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Kopíruje ZDROJ do CÃLE nebo více ZDROJÅ® do ADRESÃŘE.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive stejné jako -dR --preserve=all\n" " --attributes-only nekopíruje obsah souboru, pouze jeho " "atributy\n" " --backup=[TYP] vytvoří záložní kopie pÅ™episovaných souborů\n" " -b jako --backup, ale bez argumentu\n" " --copy-contents v rekurzivním režimu kopíruje obsah\n" " speciálních souborů\n" " -d, stejné jako --no-dereference --" "preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force pokud cílový soubor existuje ale nelze jej\n" " otevřít, smaže jej a zkusí to znovu\n" " (ignorováno, je-li rovněž použit pÅ™epínaÄ -" "n)\n" " -i, --interactive ptá se pÅ™ed pÅ™epsáním (pÅ™ebije pÅ™edcházející\n" " pÅ™epínaÄ -n)\n" " -H následuje symbolické odkazy z příkazové " "řádky\n" " ve ZDROJI\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link místo kopírování tvoří pevné odkazy\n" " -L, --dereference vždy sleduje symbolické odkazy ve ZDROJI\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber nepÅ™episuje existující soubory (pÅ™ebije\n" " pÅ™edcházející pÅ™epínaÄ -i)\n" " -P, --no-dereference nikdy nenásleduje symbolické odkazy ve " "ZDROJI\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p stejné jako --preserve=mode,ownership," "timestamps\n" " --preserve[=SEZNAM_ATRIBUTÅ®]\n" " zachovává zadané atributy (implicitní:\n" " mode,ownership,timestamps [práva, " "vlastnictví,\n" " Äasy]), je-li to možné, další atributy:\n" " context [kontext], links [odkazy], xattr\n" " [rozšířené atributy], all [vÅ¡e]\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=SEZNAM_ATRIBUTÅ®\n" " nezachovává urÄené atributy\n" " --parents pÅ™idává zdrojovou cestu do cílového ADRESÃŘE\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive kopíruje adresáře rekurzivnÄ›\n" " --reflink=[KDY] řídí klonované/CoW kopie. Vizte níže\n" " --remove-destination odstraní každý cílový soubor dříve, než se " "jej\n" " pokusí otevřít (opak --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KDY řídí tvorbu souborů s dírami. Vizte níže\n" " --strip-trailing-slashes odstraňuje lomítka na konci názvů vÅ¡ech " "ZDROJÅ®\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link místo kopírování vytváří symbolické odkazy\n" " -S, --suffix=PŘÃPONA mÄ›ní obvyklou příponu pro záložní soubory\n" " -t, --target-directory=ADRESÃŘ\n" " vÅ¡echny ZDROJE kopíruje do ADRESÃŘE\n" " -T, --no-target-directory CÃL považuje za obyÄejný soubor\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopíruje pouze, když zdrojový soubor je\n" " novÄ›jší než cílový, nebo když cílový soubor\n" " neexistuje\n" " -v, --verbose vypisuje bližší informace o vykonávání " "příkazu\n" " -x, --one-file-system zůstane v jednom souborovém systému\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "ImplicitnÄ› jsou ZDROJOVÉ soubory s dírami detekovány hrubou heuristikou a\n" "odpovídající CÃLOVà soubor je vytvoÅ™en stejnÄ› „dÄ›ravý“. Toto chovaní je " "voleno\n" "pÅ™epínaÄem --sparse=auto. PÅ™epínaÄem --sparse=always říkáme, že v CÃLOVÉM\n" "souboru se mají tvoÅ™it díry, jakmile ZDROJOVà soubor obsahuje dostateÄnÄ›\n" "dlouhé sekvence nulových bajtů. PÅ™epínaÄem --sparse=never tvorbÄ› souborů\n" "s dírami zabráníme.\n" "\n" "Je-li uvedeno --reflink[=always], bude vytvoÅ™ena lehká kopie, do níž jsou\n" "bloky dat nakopírovány až pÅ™i své zmÄ›nÄ›. Ne-li to možné, kopírování selže.\n" "AvÅ¡ak je-li uvedeno --reflink=auto, kopírování se v případÄ› chyby vrátí\n" "k standardnímu způsobu vytváření kopií.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Pokud není přípona záložních souborů nastavena pÅ™epínaÄem --suffix nebo \n" "promÄ›nnou SIMPLE_BACKUP_SUFFIX, je používána přípona „~“. Způsob vytváření\n" "záložních souborů lze ovlivnit pÅ™epínaÄem --backup nebo promÄ›nnou\n" "prostÅ™edí VERSION_CONTROL. Hodnoty mohou být:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off záložní kopie nevytvářet (i když je zadán pÅ™epínaÄ --" "backup)\n" " numbered, t Äíslované záložní kopie\n" " existing, nil Äíslované, jestliže již Äíslovaná záložní kopie existuje,\n" " jinak jednoduché\n" " simple, never jednoduché záložní kopie\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Speciálním případem je, když jsou zadány pÅ™epínaÄe --force i --backup a " "ZDROJ\n" "a CÃL jsou stejného jména jednoho obyÄejného souboru. Pak cp kopii ZDROJE\n" "vytvoří.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "selhalo zachování Äasů souboru %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "selhalo zachování práv souboru %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "adresář %s nelze vytvoÅ™it" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existuje, ale není adresářem" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "k %s nelze pÅ™istoupit" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "chybí název souboru" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "za %s chybí název cílového souboru" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "--target-directory (-t) a --no-target-directory (-T) se vzájemnÄ› vyluÄují" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "cíl %s není adresářem" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "za použití --parents musí být cílem adresář" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "zadáno více cílových adresářů" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "symbolický a pevný odkaz nelze vytvoÅ™it zároveň" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "pÅ™epínaÄe --backup --no-clobber se vzájemnÄ› vyluÄují" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink lze požít jen s --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "typ zálohy" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "bez podpory SELinuxu v jádÅ™e nelze zachovat bezpeÄnostní kontext" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "rozšířené atributy nelze zachovat, cp je sestaveno bez podpory rozšířených " "atributů" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "vstup se ztratil" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: Äíslo řádku je mimo rozsah" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: Äíslo řádku je mimo rozsah" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " v %s. opakování\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: nenalezeno" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "chyba pÅ™i vyhledávání pomocí regulárního výrazu" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "chyba pÅ™i zápisu do %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: po oddÄ›lovaÄi je oÄekáváno celé Äíslo" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: „}' je požadována v poÄítadle opakování" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: mezi „{“ a „}“ musí být celé Äíslo" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: postrádán koncový oddÄ›lovaÄ â€ž%c“" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: chybný regulární výraz: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: chybný vzorek" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: Äíslo řádku musí být vÄ›tší než nula" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "Äíslo řádku %s je menší než Äíslo pÅ™edcházejícího řádku, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "varování: Äíslo řádku %s je stejné s Äíslem pÅ™edcházejícího řádku" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "v parametru pÅ™epínaÄe chybí urÄení typu konverze" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "chybnÄ› zadaný typ konverze v parametru pÅ™epínaÄe: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "chybnÄ› zadaný typ konverze v parametru pÅ™epínaÄe: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "neplatné příznaky v zadání konverze: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "příliÅ¡ mnoho typů konverze %% v parametru pÅ™epínaÄe" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "v parametru pÅ™epínaÄe chybí zadání typu konverze pomocí %%" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: chybné Äíslo" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… SOUBOR VZOREK…\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "RozdÄ›luje SOUBOR v místech VZORKU(Å®) do souborů „xx00“, „xx01“, …\n" "a vypisuje velikosti každého výstupního souboru na standardní výstup.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMÃT\n" " použije sprintf FORMÃT místo %02d\n" " -f, --prefix=PŘEDPONA použije PŘEDPONY místo „xx“\n" " -k, --keep-files nemaže výstupní soubory pÅ™i chybách\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CIFER použije zadaný poÄet Äíslic místo 2\n" " -s, --quiet, --silent nevypisuje velikosti výstupních souborů\n" " -z, --elide-empty-files smaže prázdné výstupní soubory\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Jestliže SOUBOR je „-“, bude Äten standardní vstup. Každý VZOREK může být:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " CELÉ_ÄŒÃSLO kopíruje vÅ¡e až do řádku tohoto Äísla, ale bez nÄ›j\n" " /REGVÃR/[POSUN] kopíruje vÅ¡e do řádku odpovídajícího regulárnímu " "výrazu,\n" " ale bez nÄ›j\n" " %%REGVÃR%%[POSUN] pÅ™eskoÄí vÅ¡e až do řádku odpovídajícího regulárnímu\n" " výrazu, ale bez nÄ›j\n" " {CELÉ_ÄŒÃSLO} opakuje pÅ™edeÅ¡lý vzorek tolikrát, kolikrát je zde " "uvedeno\n" " {*} opakuje pÅ™edeÅ¡lý vzorek tolikrát, kolikrát je to možné\n" "\n" " POSUN musí zaÄínat „+“ nebo „-“ následovaným celým kladným Äíslem.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "položky a pozice se poÄítají od 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Použití: %s PŘEPÃNAČ… [SOUBOR]…\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "Vypíše vybrané Äásti řádků z každého SOUBORU na standardní výstup.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=SEZNAM vypíše pouze tyto bajty\n" " -c, --characters=SEZNAM vypíše pouze tyto znaky\n" " -d, --delimiter=ODDÄšLOVAÄŒ jako oddÄ›lovaÄ použije ODDÄšLOVAÄŒ (místo " "tabulátoru)\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=SEZNAM vypíše pouze tyto položky; také vypíše vÅ¡echny\n" " řádky, které neobsahují oddÄ›lovaÄ, ale pouze " "pokud\n" " není zadáno -s\n" " -n (ignorováno)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement použije doplnÄ›k zadaných bajtů, znaků nebo " "položek\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited potlaÄí řádky neobsahující oddÄ›lovaÄe\n" " --output-delimiter=ŘETÄšZEC\n" " ŘETÄšZEC se použije jako výstupní oddÄ›lovaÄ.\n" " ImplicitnÄ› je jako tento oddÄ›lovaÄ použit " "vstupní\n" " oddÄ›lovaÄ.\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Použijte právÄ› jeden z pÅ™epínaÄů -b, -c nebo -f. Každý SEZNAM se skládá\n" "z jednoho rozsahu, nebo z více rozsahů oddÄ›lených Äárkami. Vybrané Äásti\n" "vstupu jsou vypsány ve stejném poÅ™adí, v jakém byly Äteny, a jsou vypsány\n" "právÄ› jednou.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Každý rozsah může být:\n" "\n" " N N. bajt, znak nebo položka, poÄítáno od 1\n" " N- od N. bajtu, znaku nebo položky, do konce řádku\n" " N-M od N. do M. (vÄetnÄ›) bajtu, znaku nebo položky\n" " -M od prvního do M. (vÄetnÄ›) bajtu, znaku nebo položky\n" "\n" "Jestliže SOUBOR není zadán, nebo je „-“, bude Äten standardní vstup.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "chybný seznam bajtů, znaků nebo položek" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "neplatný rozsah bez konce: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "neplatný klesající rozsah" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "posun bajtů %s je příliÅ¡ velký" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "Äíslo položky %s je příliÅ¡ velké" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "pouze jeden typ seznamu může být zadán" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "oddÄ›lovaÄ musí být jediný znak" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "musíte zadat seznam bajtů, znaků nebo položek" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "oddÄ›lovaÄ vstupu může být zadán pouze pÅ™i práci s položkami" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "potlaÄení řádků neobsahujících oddÄ›lovaÄ, má význam pouze\n" "pÅ™i použití pÅ™epínaÄe -f" #: src/cut.c:870 msgid "missing list of fields" msgstr "chybí seznam položek" #: src/cut.c:872 msgid "missing list of positions" msgstr "chybí seznam pozicí" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [+FORMÃT]\n" " nebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]RR][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "Vypíše aktuální Äas v daném FORMÃTU, nebo nastaví datum v systému.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=ŘETÄšZEC vypíše Äas zadaný jako ŘETÄšZEC, nikoli aktuální\n" " -f, --file=DATASOUBOR jako --date, ale Äasy jsou v DATASOUBORU,\n" " -I[PŘESNOST], --iso-8601[=PŘESNOST]\n" " vypíše datum/Äas ve tvaru urÄeném ISO 8601.\n" " PŘESNOST musí být „date“ pro pouhé datum " "(výchozí),\n" " „hours“, „minutes“, „seconds“, nebo „ns“, kdy\n" " Äas bude vrácen s pÅ™esností na hodiny, minuty,\n" " sekundy nebo nanosekundy.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=SOUBOR vypíše Äas poslední zmÄ›ny obsahu SOUBORU\n" " -R, --rfc-2822 vypíše datum podle RFC-2822\n" " Příklad: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=PŘESNOST vypíše datum a Äas podle RFC 3339.\n" " PŘESNOST musí být „date“, „seconds“, nebo „ns“ a\n" " Äas bude vrácen s pÅ™esností na dny, sekundy nebo\n" " nanosekundy.\n" " Datum a Äas budou oddÄ›leny jednou mezerou.\n" " Příklad: 2006-08-07 12:34:56-06:00\n" " -s, --set=ŘETÄšZEC nastaví datum podle ŘETÄšZCE\n" " -u, --utc, --universal nastaví nebo vypíše UTC (svÄ›tový koordinovaný " "Äas)\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "Výstup je urÄen Å™etÄ›zcem FORMÃT. Rozeznávané sekvence jsou:\n" "\n" " %% znak %\n" " %a zkrácené jméno dne podle lokalizace (napÅ™. Ne)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A celé jméno dne podle lokalizace (napÅ™. NedÄ›le)\n" " %b zkrácené jméno mÄ›síce podle lokalizace (napÅ™. led)\n" " %B celé jméno mÄ›síce podle lokalizace (napÅ™. leden)\n" " %c datum a Äas podle lokalizace (napÅ™. Ne 14. leden 2007, 00:49:20 CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C století; jako %Y, ale vynechá poslední dvÄ› Äíslice (napÅ™. 20)\n" " %d Äíslo dne v mÄ›síci (napÅ™. 01)\n" " %D datum; stejné jako %m/%d/%y\n" " %e den v mÄ›síci zarovnaný mezerami; stejné jako %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F plné datum; stejné jako %Y-%m-%d\n" " %g poslední dvÄ› Äíslice roku dle ISO Äíslování týdnů (vizte %G)\n" " %G rok dle ISO Äíslování týdnů (vizte %V); obvykle užiteÄné jen s %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h jako %b\n" " %H hodina (00..23)\n" " %I hodina (01..12)\n" " %j Äíslo dne v roce (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k hodina, odsazená mezerou ( 0..23), stejné jako %_H\n" " %l hodina, odsazená mezerou ( 1..12), stejné jako %_I\n" " %m mÄ›síc (01..12)\n" " %M minuta (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n nový řádek\n" " %N nanosekundy (000000000..999999999)\n" " %p Å™etÄ›zec odpovídající anglickým AM a PM podle lokalizace; prázdný " "pokud\n" " není známo\n" " %P jako %p, ale malými písmeny\n" " %r Äas, 12-hodinový podle lokalizace (napÅ™. 11:11:04)\n" " %R hodiny a minuty v 24h cyklu; stejné jako %H:%M\n" " %s poÄet sekund od 00:00:00 1. 1. 1970 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekundy (00..61)\n" " %t vodorovný tabulátor\n" " %T Äas; stejné jako %H:%M:%S\n" " %u den v týdnu (1..7); 1 znamená pondÄ›lí\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Äíslo týdne v daném roce, nedÄ›le jako první den v týdnu (00..53)\n" " %V Äíslo týdne v daném roce dle ISO normy, pondÄ›lí jako první den " "v týdnu\n" " (01..53)\n" " %w den v týdnu (0..6); 0 znamená nedÄ›li\n" " %W Äíslo týdne v daném roce, pondÄ›lí jako první den v týdnu (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x reprezentace data podle lokalizace (napÅ™. 14.01.2007)\n" " %X reprezentace Äasu podle lokalizace (napÅ™. 23:13:48)\n" " %y poslední dvÄ› Äíslice letopoÄtu (00..99)\n" " %Y rok\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z Äasové pásmo ve formátu +hhmm (napÅ™. +0100)\n" " %:z Äasové pásmo ve formátu +hh:mm (napÅ™. +01:00)\n" " %::z\n" " Äasové pásmo ve formátu +hh:mm:ss (napÅ™. +01:00:00)\n" " %:::z\n" " Äasové pásmo s postaÄující nejmenší pÅ™esností a dvojteÄkou jako\n" " oddÄ›lovaÄem (napÅ™. -04, +05:30)\n" " %Z Äasové pásmo vyjádÅ™ené písmennou zkratkou (napÅ™. CET)\n" "\n" "ImplicitnÄ› jsou Äíselné položky data zarovnány nulami.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Formát data umožňuje následující příznaky za „%“:\n" "\n" " - (spojovník) nezarovnání položky\n" " _ (podtržítko) zarovnání položky mezerami\n" " 0 (nula) zarovnání nulami\n" " ^ pokud lze, použije velká písmena\n" " # pokud lze, použije písmena opaÄné velikosti\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Po volitelném příznaku může pÅ™ijít nepovinné urÄení délky pole jako " "desítkové\n" "Äíslo a pak dobrovolný modifikátor, kterým je buÄ\n" "E použije náhradní reprezentaci podle lokalizace, pokud lze; nebo\n" "O použije náhradní Äíselné symboly podle lokalizace, pokud lze.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Příklady\n" "PÅ™evede sekundy od poÄátku epochy (1. 1. 1970 UTC) na datum\n" " $ date --date='@2147483647'\n" "\n" "Zobrazí Äas na západním pobÅ™eží USA (TZ lze najít pomocí tzselect(1))\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Zobrazí místní Äas pro 9 hodin ráno příští pátek na západním pobÅ™eží USA\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standardní vstup" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "chybné datum: %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "zadáno více výstupních formátů" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "pÅ™epínaÄe urÄené k zadání data se vzájemnÄ› vyluÄují" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "pÅ™epínaÄe pro výpis a nastavení Äasu nemohou být užity souÄasnÄ›" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argument %s potÅ™ebuje úvodní „+“;\n" "když je použit pÅ™epínaÄ pro zadání data, kterýkoli argument, který není\n" "pÅ™epínaÄem, musí být formátovací Å™etÄ›zec uvozený „+“." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "datum nelze nastavit" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Äas %s je mimo rozsah" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s [OPERAND]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopírování souboru, konverze a formátování podle operandů.\n" "\n" " bs=BAJTÅ® Äte a zapisuje až BAJTÅ® bajtů najednou\n" " cbs=BAJTÅ® konvertuje BAJTÅ® bajtů najednou\n" " conv=KONVERZE konvertuje soubor podle seznamu Äárkami oddÄ›lených " "konverzí\n" " count=N zkopíruje pouze N vstupních bloků\n" " ibs=BAJTÅ® Äte BAJTÅ® bajtů najednou (implicitnÄ›: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=SOUBOR Äte ze souboru SOUBOR místo ze stdin\n" " iflag=PŘÃZNAKY způsob Ätení. PŘÃZNAKY je seznam Äárkou oddÄ›lených " "příznaků\n" " obs=BAJTÅ® zapisuje BAJTÅ® bajtů najednou (implicitnÄ›: 512)\n" " of=SOUBOR zapisuje do SOUBOR místo do stdout\n" " oflag=PŘÃZNAKY způsob zápisu. PŘÃZNAKY je seznam Äárkou oddÄ›lených " "příznaků\n" " seek=N pÅ™eskoÄí prvních N výstupních bloků velikosti „obs“\n" " skip=N pÅ™eskoÄí prvních N vstupních bloků velikosti „ibs“\n" " status=CO CO za údaje se nebude vypisovat na chybový výstup:\n" " „noxfer“ potlaÄí statistické informace o pÅ™enosu dat,\n" " „none“ potlaÄí vÅ¡e\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Hodnoty N a BAJTÅ® mohou mít následující násobné přípony:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" "\n" "Každá dílÄí konverze v seznamu KONVERZà může být:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii z EBCDIC do ASCII\n" " ebcdic z ASCII do EBCDIC\n" " ibm z ASCII do pozmÄ›nÄ›ného EBCDIC\n" " block záznamy ukonÄené znakem nového řádku vyplní do velikosti „cbs“\n" " mezerami\n" " unblock koncové mezery v záznamech o velikosti „cbs“ nahradí znakem " "nového\n" " řádku\n" " lcase pÅ™evede velká písmena na malá\n" " ucase pÅ™evede malá písmena na velká\n" " sparse místo zápisu vstupních bloků nul se pokusí pÅ™esunout ve " "výstupu\n" " swab zamÄ›ní bajty v každém páru vstupních bajtů\n" " sync doplní každý vstupní blok nulovými bajty do velikosti „ibs“.\n" " Za souÄasného použití block nebo unblock doplňuje mezerami.\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl selže, pokud výstupní soubor již existuje\n" " nocreat nevytváří výstupní soubor\n" " notrunc nezkracuje výstupní soubor\n" " noerror pokraÄuje i pÅ™i vzniku chyby pÅ™i Ätení\n" " fdatasync pÅ™ed ukonÄením vynutí fyzický zápis dat\n" " fsync podobnÄ›, ale zapíše i metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Každý dílÄí příznak v seznamu PŘÃZNAKÅ® může být:\n" "\n" " append pÅ™ipisuje na konec (má smysl pouze pro výstup;\n" " doporuÄeno s conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio použije souběžné I/O pro práci s daty\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" " direct použije přímé vstupnÄ›-výstupní operace (I/O) pro práci s daty\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory selže, pokud se nejedná o adresář\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync použije synchronní I/O pro práci s daty\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync podobnÄ›, ale také pro metadata\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock sdružuje vstup do celých bloků (pouze iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock použije neblokující I/O\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noaime neaktualizuje Äas posledního přístupu k souboru\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache zahodí nakeÅ¡ovaná data\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty nepovažuje soubor za řídící terminál\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow nesleduje symbolické odkazy\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks selže, pokud na soubor vede více pevných odkazů\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary použije binární I/O pro práci s daty\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text použije textové I/O pro práci s daty\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes považuje „count=N“ za poÄet bajtů (pouze iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes považuje „skip=N„ za poÄet bajtů (pouze iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes považuje „seek=N“ za poÄet bajtů (pouze oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Zaslání signálu %s běžícímu procesu „dd“ způsobí vypsání statistických\n" "informací o I/O operacích na standardní chybový výstup. Pak se obnoví\n" "kopírování.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 vstoupivších záznamů\n" " 18335302+0 vystoupivších záznamů\n" " 9 387 674 624 bajtů (9,4 GB) zkopírováno, 34,6279 s, 271 MB/s\n" "\n" "Volby jsou:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> vstoupivších záznamů\n" "%<PRIuMAX>+%<PRIuMAX> vystoupivších záznamů\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> zkrácený záznam\n" msgstr[1] "%<PRIuMAX> zkrácené záznamy\n" msgstr[2] "%<PRIuMAX> zkrácených záznamů\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> bajt (%s) zkopírován" msgstr[1] "%<PRIuMAX> bajty (%s) zkopírovány" msgstr[2] "%'<PRIuMAX> bajtů (%s) zkopírováno" #: src/dd.c:720 msgid "Infinity B" msgstr "nekoneÄno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %'g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "zavírám vstupní soubor %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "zavírám výstupní soubor %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "vypnutí O_DIRECT selhalo: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "zapisuji do %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "neznámý operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "neplatná konverze" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "neplatný příznak vstupu" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "neplatný příznak výstupu" #: src/dd.c:1227 msgid "invalid status flag" msgstr "neplatná hodnota operandu status" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "neplatné Äíslo %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "tyto konverze nelze kombinovat: ascii, ebcdic, ibm" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "block a unblock nelze použít souÄasnÄ›" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "lcase a ucase nelze použít souÄasnÄ›" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "excl a nocreat nelze použít souÄasnÄ›" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "direct a nocache nelze použít souÄasnÄ›" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "varování: obcházím chybu služby jádra lseek() nad souborem %s\n" " typu mt_type=0x%0lx – seznam typů naleznete v <sys/mtio.h>" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: vstup nelze pÅ™evíjet" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: výstup nelze pÅ™evíjet" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "bÄ›hem Ätení ze souboru %s pÅ™etekl offset" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "varování: chybný offset souboru poté, co selhalo Ätení" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "stejnÄ› se nedokážu vyrovnat s chybou v jádÅ™e" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "nastavuji příznaky pro %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "paměť vyÄerpána vstupním bufferem o velikosti %'zu bajtů (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "paměť vyÄerpána výstupním bufferem o velikosti %'zu bajtů (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: nelze se pÅ™esunout na zadanou pozici ve vstupu" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "zkrácení výstupního souboru %2$s na %1$<PRIdMAX> bajtů selhalo" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync na %s selhalo" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync na %s selhalo" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "otevÅ™ení %s selhalo" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "příliÅ¡ velký offset: nelze zkrátit na délku seek=%<PRIuMAX> (%lu-bajtových) " "bloků" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "zkrácení výstupního souboru %2$s na %1$<PRIuMAX> bajtů selhalo" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "nepodaÅ™ilo se zahodit keÅ¡ pro: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Souborový systém" #: src/df.c:175 msgid "Type" msgstr "Typ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloků" #: src/df.c:181 msgid "Used" msgstr "Užito" #: src/df.c:184 msgid "Available" msgstr "Volné" #: src/df.c:187 msgid "Use%" msgstr "Uži%" #: src/df.c:190 msgid "Inodes" msgstr "I-uzlů" #: src/df.c:193 msgid "IUsed" msgstr "IUžito" #: src/df.c:196 msgid "IFree" msgstr "IVolno" #: src/df.c:199 msgid "IUse%" msgstr "IUži%" #: src/df.c:202 msgid "Mounted on" msgstr "PÅ™ipojeno do" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "pÅ™epínaÄ --output: neznámá položka „%s“" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "pÅ™epínaÄ --output: položka „%s“ byla použita více krát" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Velikost" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Volno" #: src/df.c:474 msgid "Capacity" msgstr "Kapacita" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s %s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Vypíše informace o souborových systémech, ve kterých každý SOUBOR leží,\n" "nebo implicitnÄ› o vÅ¡ech souborových systémech.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all také pseudosouborové systémy\n" " -B --block-size=VELIKOST\n" " velikosti vypisuje v násobcích VELIKOSTI. NapÅ™. „-" "BM“\n" " vypisuje velikosti v jednotkách po 1 048 576 " "bajtech.\n" " Popis formátu VELIKOSTI naleznete níže.\n" " --total vypíše celkový souÄet\n" " -h, --human-readable velikosti ve formátu Äitelném pro ÄlovÄ›ka\n" " (napÅ™. 1K 234M 2G)\n" " -H, --si podobnÄ› jako pÅ™edchozí, ale násobky 1000, ne 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes výpis informací o i-uzlech místo o blocích\n" " -k jako --block-size=1K\n" " -l, --local omezení výpisu na lokální souborové systémy\n" " --no-sync nevolá „sync“ pÅ™ed získáním informací (implicitní)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=SEZNAM_POLOŽEK]\n" " výstup ve formátu urÄeném SEZNAMEM_POLOŽEK,\n" " nebo vypíše vÅ¡echny položky, je-li seznam vynechán.\n" " -P, --portability použije formát definovaný normou POSIX\n" " --sync zavolá „sync“ pÅ™ed získáním informací\n" " -t, --type=TYP ve výstupu pouze souborové systémy typu TYP\n" " -T, --print-type vypisuje typ souborového systému\n" " -x, --exclude-type=TYP\n" " ve výstupu nebudou souborové systémy typu TYP\n" " -v (ignorováno)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "SEZNAM_POLOŽEK je Äárkou oddÄ›lený seznam sloupců. Platné názvy položek " "jsou:\n" "„source“ (zdroj), „fstype“ (druh souborového systému), „itotal“ (celkem " "iuzlů),\n" "„iused“ (použitých iuzlů), „iavail“ (volných iuzlů), „ipcent“ (procento\n" "iuzlů), „size“ (velikost), „used“ (použité místo), „avail“ (volné místo),\n" "„pcent“ (procento místa) a „target“ (cíl). Podrobnosti v info stránce.\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "pÅ™epínaÄe %s a %s se vzájemnÄ› vyluÄují" #: src/df.c:1335 msgid "warning: " msgstr "pozor: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "dlouhý pÅ™epínaÄ â€ž--megabytes“ je zastaralý a brzy bude odebrán" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "souborový systém typu „%s“ je zároveň vybrán a vylouÄen" #: src/df.c:1500 msgid "Warning: " msgstr "Pozor: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "tabulku pÅ™ipojených souborových systémů nelze pÅ™eÄíst" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "žádný souborový systém nebyl zpracován" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "Hans Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]…\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Výstupem jsou příkazy, které zajistí nastavení promÄ›nné prostÅ™edí " "LS_COLORS.\n" "\n" "Specifikace výstupního formátu:\n" " -b, --sh, --bourne-shell výstupem je kód Bourne shellu\n" " pro nastavení LS_COLORS\n" " -c, --csh, --c-shell výstupem je kód C shellu\n" " pro nastavení LS_COLORS\n" " -p, --print-database výstupem je vnitÅ™ní databáze\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Pokud je uveden SOUBOR, naÄtou se z nÄ›j pravidla pro pÅ™iÅ™azení barev\n" "jednotlivým typům souborů a přípon. V opaÄném případÄ› se použije " "zakompilovaná\n" "databáze. Podrobnosti o formátu tohoto souboru lze získat příkazem\n" "„dircolors --print-database“.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: neplatný řádek; chybí druhý token" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: neznámé klíÄové slovo %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interní>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "pÅ™epínaÄe pro výpis vnitÅ™ní databáze a výbÄ›r syntaxe kódu se\n" "vzájemnÄ› vyluÄují" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "operandy se jmény souborů nelze kombinovat s --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "promÄ›nná prostÅ™edí SHELL neexistuje a není zadán typ shellu" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ] JMÉNO…\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Vypíše každý NÃZEV bez koncové nelomítkové Äásti a koncová lomítka " "odstraní.\n" "Pokud NÃZEV neobsahuje „/“, vypíše „.“ (tzn. aktuální adresář).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero oddÄ›luje výstup nulovým bajtem místo znakem nového řádku\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Příklady:\n" " %s /usr/bin/ Vypíše „/usr“.\n" " %s adr1/Å™et adr2/Å™et Vypíše „adr1“ následovaný „adr2“\n" " %s stdio.h Vypíše „.“.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]…\n" " nebo: %s [PŘEPÃNAÄŒ]… --files0-from=S\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "SÄítá diskový prostor zabraný každým SOUBOREM, pro adresáře rekurzivnÄ›.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null řádky výstupu zakonÄí nulovým bajtem místo znakem\n" " nového řádku\n" " -a, --all vypíše velikost i souborů, ne jen adresářů\n" " --apparent-size vypíše velikost obsahu souborů místo zabraného\n" " diskového prostoru; aÄkoliv velikost obsahu bývá " "menší,\n" " kvůli dírám v „řídkých“ souborech, vnitÅ™ní " "fragmentaci,\n" " nepřímým blokům apod. může být i vÄ›tší.\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B --block-size=VELIKOST\n" " velikosti vypisuje v násobcích VELIKOSTI. NapÅ™. „-" "BM“\n" " vypisuje velikosti v jednotkách po 1 048 576 " "bajtech.\n" " Popis formátu VELIKOSTI naleznete níže.\n" " -b, --bytes rovnocenné s „--apparent-size --block-size=1“\n" " -c, --total vypíše i celkový souÄet\n" " -D, --dereference-args\n" " následuje jen symbolické odkazy, které jsou uvedeny\n" " na příkazové řádce\n" " -d, --max-depth=N vypíše souÄet pro adresář (nebo soubor spolu s --" "all)\n" " pouze, když je N nebo ménÄ› úrovní pod argumentem\n" " z příkazového řádku. --max-depth=0 je rovno " "pÅ™epínaÄi\n" " --summarize.\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=S ze souboru S získá seznam jmen souborů oddÄ›lených\n" " nulovým bajtem a výpoÄet diskového prostoru provede\n" " nad tÄ›mito soubory\n" " -H rovnocenné s --dereference-args (-D)\n" " -h, --human-readable vypisuje velikosti ve formátu Äitelném pro lidi\n" " (napÅ™. 1K 234M 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k jako --block-size=1K\n" " -L, --dereference následuje vÅ¡echny symbolické odkazy\n" " -l, --count-links jestliže jsou jména pevnými odkazy na jeden soubor,\n" " zapoÄte každý odkaz znovu\n" " -m jako --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference nenásleduje symbolické odkazy (výchozí chování)\n" " -S, --separate-dirs nezahrnuje velikosti podadresářů\n" " --si jako -h, ale používá mocniny 1000 a ne 1024\n" " -s, --summarize vypíše pouze celkový souÄet pro každý argument\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=VELIKOST\n" " vynechá položky menší než VELIKOST, je-li kladná,\n" " nebo položky vetší než VELIKOST, je-li záporná\n" " --time ukáže Äas poslední zmÄ›ny obsahu každého souboru\n" " vÄetnÄ› souborů v podadresářích\n" " --time=TYP vypisuje Äas podle TYPU namísto zmÄ›ny obsahu:\n" " atime, access, use (poslední přístup);\n" " ctime, status (poslední zmÄ›na i-uzlu)\n" " --time-style=STYL Äas zobrazí ve STYLU:\n" " full-iso (úplný), long-iso (dlouhý), iso, +FORMÃT\n" " FORMÃT je stejný jako u příkazu „date“\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=SOUBOR\n" " vynechá soubory odpovídající jakémukoliv vzoru " "v SOUBORU\n" " --exclude=VZOR vynechá soubory, které odpovídají VZORU\n" " -x, --one-file-system\n" " pÅ™eskoÄí adresáře z jiných souborových systémů\n" #: src/du.c:386 msgid "Infinity" msgstr "NekoneÄno" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "přípojný bod %s již byl pÅ™ekroÄen" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read selhalo: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "chybné maximální hloubka %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "argument „-0“ za pÅ™epínaÄem --threshold je neplatný" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" "není možné oboje, poÄítat celkové souÄty pro každý argument a ukázat\n" "vÅ¡echny položky" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "varování: sumarizace je stejná jako použití --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "varování: sumarizace je v rozporu s --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "operandy s názvy souborů nelze kombinovat s --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: chyba pÅ™i Ätení" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "pÅ™i Ätení jmen souborů ze standardního vstupu jméno %s není dovoleno" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "neplatný název souboru – nulová délka" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "celkem" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Použití: %s [KRÃTKÃ_PŘEPÃNAÄŒ]… [ŘETÄšZEC]…\n" " nebo: %s DLOUHÃ_PŘEPÃNAÄŒ\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Vypíše ŘETÄšZEC na standardní výstup.\n" "\n" " -n bez ukonÄovacího znaku nového řádku\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e povolí interpretaci escape sekvencí zaÄínajících zpÄ›tným\n" " lomítkem (běžné chování)\n" " -E zakáže interpretaci escape sekvencí uvozených zpÄ›tným\n" " lomítkem\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e povolí interpretaci escape sekvencí zaÄínajících zpÄ›tným\n" " lomítkem\n" " -E zakáže interpretaci escape sekvencí uvozených zpÄ›tným\n" " lomítkem (běžné chování)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Je-li použito -e, budou fungovat následující sekvence:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ zpÄ›tné lomítko\n" " \\a zvonek (BEL)\n" " \\b backspace\n" " \\c bez dalšího výstupu\n" " \\e escape\n" " \\f znak vysunutí formuláře (form feed)\n" " \\n znak nového řádku\n" " \\r návrat vozíku (carriage return)\n" " \\t vodorovný tabelátor\n" " \\v svislý tabelátor\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN bajt s osmiÄkovou hodnotou NNN (1 až 3 Äíslice)\n" " \\xHH bajt s šestnáctkovou hodnotou HH (1 až 2 Äíslice)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [-] [JMÉNO=HODNOTA]… [PŘÃKAZ [ARGUMENT]…]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "Nastaví v prostÅ™edí každou promÄ›nnou JMÉNO na HODNOTU a spustí PŘÃKAZ.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment zaÄne s prázdným prostÅ™edím\n" " -0, --null každý výstupní řádek zakonÄí nulovým bajtem\n" " místo znakem nového řádku\n" " -u, --unset=JMÉNO odstraní z prostÅ™edí promÄ›nnou JMÉNO\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Samotná - (pomlÄka) znamená -i. Pokud není PŘÃKAZ zadán, vypíše výslednou\n" "tabulku promÄ›nných prostÅ™edí.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "%s nelze odstranit z prostÅ™edí" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "%s nelze nastavit" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "s příkazem nelze použít pÅ™epínaÄ --null (-0)" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertuje tabelátory v každém SOUBORU na mezery, výsledek jde na " "standardní\n" "výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude Äten standardní " "vstup.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial tabelátory následující ne-bílý znak nejsou " "konvertovány\n" " -t, --tabs=POÄŒET tabelátor považuje za POÄŒET (8) mezer\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=SEZNAM použije Äárkami oddÄ›lený seznam pozicí tabelátorů\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "velikost tabelátoru %s je příliÅ¡ velká" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "velikost tabelátoru obsahuje neplatný znak: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "velikost tabelátoru nemůže být 0" # sizes or positions? - rzm #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "posloupnost pozic tabelátorů musí být rostoucí" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "řádka na vstupu je příliÅ¡ dlouhá" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Použití: %s [VÃRAZ]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Vypíše hodnotu VÃRAZU na standardní výstup. Prázdný řádek v následujícím\n" "výpise oddÄ›luje skupiny operátorů s různou prioritou (v rostoucím poÅ™adí).\n" "VÃRAZ může být:\n" "\n" " ARG1 | ARG2 ARG1 pokud není prázdný nebo 0, jinak ARG2\n" "\n" " ARG1 & ARG2 ARG1 pokud žádný argument není prázdný nebo 0, jinak 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 je menší než ARG2\n" " ARG1 <= ARG2 ARG1 je menší nebo roven ARG2\n" " ARG1 = ARG2 ARG1 je roven ARG2\n" " ARG1 != ARG2 ARG1 není roven ARG2\n" " ARG1 >= ARG2 ARG1 je vÄ›tší nebo roven ARG2\n" " ARG1 > ARG2 ARG1 je vÄ›tší než ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetický souÄet ARG1 a ARG2\n" " ARG1 - ARG2 aritmetický rozdíl ARG1 a ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetický souÄin ARG1 a ARG2\n" " ARG1 / ARG2 celoÄíselný aritmetický podíl ARG1 / ARG2\n" " ARG1 % ARG2 zbytek po aritmetickém dÄ›lení ARG1 / ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " ŘETÄšZEC : REGVÃR vyhodnocení regulárního výrazu ^REGVÃR v ŘETÄšZCI\n" "\n" " match ŘETÄšZEC REGVÃR stejné jako ŘETÄšZEC : REGVÃR\n" " substr ŘETÄšZEC POZICE DÉLKA podÅ™etÄ›zec ŘETÄšZCE, POZICE je poÄítána od 1\n" " index ŘETÄšZEC ZNAKY pozice prvního výskytu libovolného znaku ze " "ZNAKÅ®\n" " v ŘETÄšZCI, v případÄ› neúspÄ›chu 0\n" " length ŘETÄšZEC délka ŘETÄšZCE\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN zpracuje TOKEN jako Å™etÄ›zec, i když se jedná\n" " o klíÄové slovo jako „match“ nebo\n" " operátor jako „/“\n" "\n" " ( VÃRAZ ) hodnota VÃRAZU\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "PÅ™i vytváření výrazů musí být nÄ›které symboly chránÄ›ny pÅ™ed shellem (napÅ™.\n" "uzavÅ™ením do uvozovek nebo apostrofů). Porovnání mezi ARGx je aritmetické,\n" "pokud se jedná o Äísla, jinak je lexikografické. Pokud bylo v REGVÃR " "použito\n" "\\( a \\), vyhodnocení vrátí Å™etÄ›zec z ŘETÄšZCE, který odpovídá výrazu " "uzavÅ™enému\n" "v \\( a \\) nebo vrátí prázdný Å™etÄ›zec; pokud nebylo v REGVÃR použito \\( a " "\\),\n" "vrací poÄet odpovídajících znaků nebo 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Návratový kód programu je 0, pokud VÃRAZ není ani prázdný, ani 0. 1, pokud " "je\n" "prázdný nebo 0. 2, pokud VÃRAZ je syntakticky chybný a 3, pokud dojde " "k chybÄ›.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaktická chyba" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "chyba pÅ™i vyhledávání pomocí regulárního výrazu" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "neceloÄíselný argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "dÄ›lení nulou" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "pro obejdete, když nastavíte LC_ALL='C'" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "byly porovnávány Å™etÄ›zce %s a %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Möller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Lucasův prvoÄíselný test selhal. Toto by se stát nemÄ›lo" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "Fronta algoritmu SQUFOF pÅ™etekla" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s není celé kladné Äíslo" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s je příliÅ¡ velké" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s [ÄŒÃSLO]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Vypíše rozklad každého celého ÄŒÃSLA na prvoÄísla. Pokud ÄŒÃSLA nebudou " "zadána,\n" "budou naÄtena ze standardního vstupu.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr " nelze zjistit pracovní adresář" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "do adresáře %s nelze vejít" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nelze získat informace o pracovním adresáři (nyní %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Použití: %s [-Å ÃŘKA] [PŘEPÃNAÄŒ]… [SOUBOR]…\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "PÅ™eformátuje vÅ¡echny odstavce v SOUBORU a výsledek vypíše na standardní " "výstup.\n" "PÅ™epínaÄ -Å ÃŘKA je zkrácená podoba --width=Å ÃŘKA.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin zachová odsazení prvních dvou řádků\n" " -p, --prefix=ŘETÄšZEC pracuje pouze s řádky majícími ŘETÄšZEC jako " "prefix\n" " -s, --split-only pouze rozdÄ›lí dlouhé řádky\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph odsadí první řádek rozdílnÄ› od druhého\n" " -u, --uniform-spacing jedna mezera mezi slovy, dvÄ› za vÄ›tou\n" " -w, --width=Å ÃŘKA maximální šířka řádku (implicitnÄ› 75 sloupců)\n" " -g, --goal=Å ÃŘKA cílová šířka (výchozí je 93 % šířky)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "neplatný pÅ™epínaÄ – %c; -WIDTH je rozpoznán, pouze když je prvním " "pÅ™epínaÄem;\n" "použijte -w Å ÃŘKA" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "chybné šířka: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Zalamuje vstupní řádky každého SOUBORU (implicitnÄ› standardního vstupu) a\n" "výsledek zapisuje na standardní výstup.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes pro zalamování poÄítá bajty na řádku místo sloupců\n" " -s, --spaces zalamuje řádky v mezerách\n" " -w, --width=Å ÃŘKA používá Å ÃŘKA sloupců místo 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "neplatný poÄet sloupců: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Pádraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Použití: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Vypíše limity závislé na platformÄ› ve formátu vhodném do shellových " "skriptů.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "získání skupin uživatele %s selhalo" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "získání skupin aktuálního procesu selhalo" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "jméno skupiny pro GID %lu nelze najít" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO_UŽIVATELE]…\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Zobrazí přísluÅ¡nosti skupinám pro každé JMÉNO_UŽIVATELE nebo pro aktuální\n" "proces, není-li JMÉNO_UŽIVATELE zadáno (zde se projeví rozdíl po zmÄ›nÄ›\n" "v databázi skupin).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "nelze zjistit reálné ID uživatele" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "nelze zjistit efektivní ID skupiny" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "nelze zjistit reálné ID skupiny" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: uživatel neexistuje" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše prvních 10 řádků každého SOUBORU na standardní výstup. S více jak\n" "jedním SOUBOREM bude pÅ™ed vypsáním každého uvedena hlaviÄka obsahující " "jméno\n" "SOUBORU. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní\n" "vstup.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K vypíše prvních K bajtů z každého souboru;\n" " uvedení „-“ způsobí vypsání vÅ¡ech kromÄ›\n" " posledních K bajtů každého souboru\n" " -n, --lines=[-]K vypíše prvních K řádků místo prvních 10;\n" " uvedení „-“ způsobí vypsání vÅ¡ech kromÄ›\n" " posledních K řádků z každého souboru\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent nikdy nevypisuje hlaviÄky s názvy souborů\n" " -v, --verbose vypisuje hlaviÄky s názvy souborů vždy\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Hodnota K může mít následující násobné přípony (přípona Äinitel):\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: soubor byl příliÅ¡ zkrácen" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: poÄet bajtů je příliÅ¡ velký" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: nelze se vrátit na původní místo v souboru (služba lseek)" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nelze se pÅ™emístit na pozici %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: nové nastavení ukazatele po souboru selhalo" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "nelze pÅ™emístit ukazatel po souboru %s" # src/tail.c:968 #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s je příliÅ¡ velký, proto není reprezentovatelný" #: src/head.c:886 msgid "number of lines" msgstr "poÄet řádků" #: src/head.c:886 msgid "number of bytes" msgstr "poÄet bajtů" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "chybný poÄet řádků" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "chybný poÄet bajtů" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "neznámý závÄ›reÄný pÅ™epínaÄ – %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]\n" "Vypíše Äíselný identifikátor (v Å¡estnáctkové soustavÄ›) pro tento stroj.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Použití: %s [JMÉNO]\n" " nebo: %s PŘEPÃNAÄŒ\n" "Vypíše nebo nastaví jméno stroje.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "jméno nelze zmÄ›nit na %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "jméno poÄítaÄe nelze nastavit; systém tuto funkci neposkytuje" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "jméno poÄítaÄe nelze zjistit" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO_UŽIVATELE]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Vypíše informace o uživateli JMÉNO_UŽIVATELE nebo (je-li JMÉNO_UŽIVATELE\n" "vynecháno) o aktuálním uživateli.\n" "\n" " -a ignoruje se, z důvodu kompatibility s jinými verzemi\n" " -Z, --context vypíše pouze bezpeÄnostní kontext souÄasného uživatele\n" " -g, --group vypíše pouze efektivní Äíslo skupiny\n" " -G, --groups vypíše Äísla vÅ¡ech skupin\n" " -n, --name vypíše jména, ne Äísla (pro -ugG)\n" " -r, --real vypíše reálné ID místo efektivního (pro -ugG)\n" " -u, --user vypíše pouze efektivní Äíslo uživatele\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Bez jakéhokoli PŘEPÃNAÄŒE jsou vypsány nÄ›které užiteÄné informace.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) funguje jen na jádÅ™e podporujícím SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "bezpeÄností kontext nelze vypsat, byl-li zadán uživatel" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "pÅ™i více možnostech vypsat „pouze jednu“ informaci nelze" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "pouze jména nebo skuteÄné ID nelze v implicitním formátu vypsat" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "kontext procesu nelze zjistit" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "nelze zjistit efektivní ID uživatele" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "jméno uživatele pro UID %s nelze najít" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " skupiny=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontext=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "varování: %s: zmÄ›na kontextu na %s selhala" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "vytvářím adresář %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "vlastnictví %s nelze zmÄ›nit" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "nelze nastavit Äasy %s " #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "systémové volání fork selhalo" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "%s nelze spustit" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "Äekám na strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "proces strip skonÄil neobvykle" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "neplatný uživatel %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [-T] ZDROJ CÃL\n" " nebo: %s [PŘEPÃNAÄŒ]… ZDROJ… ADRESÃŘ\n" " nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ ZDROJ…\n" " nebo: %s [PŘEPÃNAÄŒ]… -d ADRESÃŘ…\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Tento program install kopíruje soubory (Äasto ÄerstvÄ› pÅ™eložené) do " "cílového\n" "místa dle výbÄ›ru. Chcete-li stáhnout a nainstalovat balíÄek pÅ™ipravený\n" "k použití na systému GNU/Linux, mÄ›li byste místo nÄ›j použít správce balíÄků\n" "jako je yum(1) nebo apt-get(1).\n" "\n" "Prvních tÅ™i způsoby kopírují ZDROJ do CÃLE nebo více ZDROJÅ®\n" "do existujícího ADRESÃŘE a nastaví uživatelská práva a vlastníky/skupiny.\n" "ÄŒtvrtý způsob vytvoří vÅ¡echny komponenty zadaného ADRESÃŘE(Å®).\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup=[TYP] vytvoří záložní kopii každého existujícího\n" " cílového souboru\n" " -b jako --backup, ale bez argumentu\n" " -c (ignorován)\n" " -C, --compare porovná každou dvojici zdrojový−cílový soubor a,\n" " v nÄ›kterých případech, cílový soubor vůbec nezmÄ›ní\n" " -d, --directory vÅ¡echny argumenty jsou považovány za názvy " "adresářů.\n" " Vytvoří vÅ¡echny komponenty tÄ›chto adresářů\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D vytvoří vÅ¡echny úvodní komponenty CÃLE kromÄ› " "poslední,\n" " pak zkopíruje ZDROJ do CÃLE\n" " -g, --group=SKUPINA nastaví skupinu souboru na SKUPINU místo skupiny\n" " aktuálního procesu\n" " -m, --mode=PRÃVA nastaví přístupová práva souboru na PRÃVA (zadána " "jako\n" " pro chmod) místo rwxr-xr-x\n" " -o, --owner=VLASTNÃK nastaví vlastníka souboru (pouze superuživatel – " "root)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps\n" " Äas přístupu a zmÄ›ny obsahu cílových souborů " "nastaví\n" " tak, jak byly nastaveny u zdrojových\n" " -s, --strip odstraní tabulky symbolů\n" " --strip-program=PROGRAM\n" " program na odstraňování symbolů z binárek\n" " -S, --suffix=PŘÃPONA nastaví novou příponu záložních souborů\n" " -t, --target-directory=ADRESÃŘ\n" " kopíruje vÅ¡echny ZDROJE do ADRESÃŘE\n" " -T, --no-target-directory\n" " považuje CÃL za běžný soubor\n" " -v, --verbose vypisuje jména vÅ¡ech vytvářených adresářů\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context\n" " zachová selinuxový bezpeÄnostní kontext\n" " -Z, --context=KONTEXT\n" " nastaví souborům a adresářům selinuxový bezp. " "kontext\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "VAROVÃNÃ: ignoruji --preserve-context, toto jádro nepodporuje SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "VAROVÃNÃ: ignoruji --context (-Z), toto jádro nepodporuje SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "pÅ™i instalaci adresáře nesmí být použit pÅ™epínaÄ --strip" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "pÅ™i instalaci adresáře není dovolen cílový adresář (-t)" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "nelze zároveň vynutit kontext na %s a zároveň jej zachovat" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "neplatná práva: %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "VAROVÃNÃ: ignoruji pÅ™epínaÄ --strip-option, protože pÅ™epínaÄ -s nebyl použit" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "pÅ™epínaÄe --compare (-C) a --preserve-timestamps se vzájemnÄ› vyluÄují" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "pÅ™epínaÄe --compare (-C) a --strip se vzájemnÄ› vyluÄují" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "pÅ™epínaÄ --compare (-C) bude ignorován, zadáte-li --mode (-m) s bity ne-práv" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Pro každý pár vstupních řádků se stejnými propojovacími položkami zapíše\n" "řádek na standardní výstup. ImplicitnÄ› je propojovací položkou položka " "první\n" "a oddÄ›lovaÄ je mezera. Jestliže SOUBOR1, nebo SOUBOR2 bude „-“ (ne oba), " "pak\n" "tento bude Äten ze standardního vstupu.\n" "\n" " -a STRANA rovněž vypíše nepárové řádky ze souboru Äíslo STRANA,\n" " kde STRANA je 1 nebo 2 pro SOUBOR1 nebo SOUBOR2\n" " -e VYPLŇ nahradí chybÄ›jící vstupní položky VÃPLNÃ\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case pÅ™i porovnávání položek ignoruje rozdíly mezi malými\n" " a velkými písmeny\n" " -j POLOŽKA rovnocenné s „-1 POLE -2 POLE“\n" " -o FORMÃT řídí se FORMÃTEM pÅ™i tvorbÄ› výstupního řádku\n" " -t ZNAK použije ZNAK jako oddÄ›lovaÄ položek na vstupu i výstupu\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v STRANA jako -a STRANA, ale bez výpisu spojených řádků.\n" " -1 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 1\n" " -2 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 2\n" " --check-order ověřuje, zda je vstup správnÄ› seÅ™azen, i když vÅ¡echny\n" " řádky lze spárovat\n" " --nocheck-order neověřuje, zda je vstup správnÄ› seÅ™azen\n" " --header považuje první řádek každého souboru za záhlaví " "položek,\n" " vypíše je aniž by se je pokouÅ¡et spárovat\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Jestliže pÅ™epínaÄ -t ZNAK nebude zadán, jako oddÄ›lovaÄ budou použity úvodní\n" "bílé znaky a tyto samotné budou na zaÄátku ignorovány. Jinak bude " "oddÄ›lovaÄem\n" "položek ZNAK. Libovolná POLOŽKA je poÅ™adí položky poÄítané od 1. FORMÃT je\n" "jeden nebo více Äárkami nebo mezerami oddÄ›lených popisovaÄů, každý může být\n" "„STRANA.POLOŽKA“ nebo „0“. Implicitní FORMÃT vypisuje propojovací položku,\n" "zbytek položek ze SOUBORU1 a zbytek položek ze SOUBORU2. VÅ¡echny jsou\n" "oddÄ›leny znakem ZNAK. Je-li FORMÃT klíÄové slovo „auto“, pak první řádek\n" "každého souboru urÄuje poÄet položek na výstupu každého řádku.\n" "\n" "Důležité: SOUBOR1 i SOUBOR2 musí být seÅ™azeny podle propojovacích položek.\n" "NapÅ™. použijte „sort -k 1b,1“, pokud „join“ budete volat bez pÅ™epínaÄů,\n" "nebo použijte „join -t ''“, pokud „sort“ nebude mít žádné pÅ™epínaÄe.\n" "UvÄ›domte si, že porovnávání respektuje pravidla urÄená „LC_COLLATE“.\n" "Nebude-li vstup seÅ™azen a nebude-li možné nÄ›které řádky propojit, bude\n" "zobrazeno varování.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: není seÅ™azeno: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "chybné Äíslo položky: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "chybnÄ› zadaná položka: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "chybné Äíslo souboru v popisu položky: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "nesluÄitelné propojovací položky %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "Å™etÄ›zce výplnÄ› je jsou v konfliktu" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "zvolený oddÄ›lovaÄ položek %s má více znaků" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "nesluÄitelné oddÄ›lovaÄe položek" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "oba dva soubory nemohou být standardním vstupem" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Použití: %s [-s SIGNÃL | -SIGNÃL] PID…\n" " nebo: %s -l [SIGNÃL]…\n" " nebo: %s -t [SIGNÃL]…\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "ZaÅ¡le signál procesům nebo vypíše seznam signálů.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNÃL, -SIGNÃL\n" " urÄuje jméno nebo Äíslo signálu, který bude zaslán\n" " -l, --list vypíše seznam jmen signálů nebo pÅ™evede jméno signálu\n" " na/z Äíslo\n" " -t, --table vypíše tabulku s informacemi o signálech\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNÃL může být jméno signálu jako „HUP“ nebo Äíslo signálu jako „1“ nebo\n" "návratový kód procesu ukonÄeného signálem.\n" "PID (Äíslo procesu) je celé Äíslo. Záporná hodnota adresuje skupinu " "procesu.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: neplatné Äíslo procesu" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "neznámý pÅ™epínaÄ – %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: zadáno více signálů" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "zadáno více pÅ™epínaÄů -l nebo -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "signál nelze kombinovat s -l nebo -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "nebylo zadáno Äíslo procesu" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "alokace stdio bufferu o velikosti %<PRIuMAX> bajtů se nezdaÅ™ila\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "režim bufferování %s je pro %s neplatný\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "nastavení bufferování %s na režim %s se nezdaÅ™ilo\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Použití: %s SOUBOR1 SOUBOR2\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Na existující soubor SOUBOR1 vytvoří odkaz pojmenovaný SOUBOR2 pomocí\n" "služby link(2).\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "odkaz %s na %s nelze vytvoÅ™it" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: na adresář nelze vytvoÅ™it pevný odkaz" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: adresář nelze pÅ™epsat" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: pÅ™epsat %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "symbolický odkaz %s nebylo možné vytvoÅ™it" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "symbolický odkaz %s na %s nebylo možné vytvoÅ™it" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "pevný odkaz na %.0s%s nebylo možné vytvoÅ™it" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "pevný odkaz %s nebylo možné vytvoÅ™it" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "pevný odkaz %s na %s nebylo možné vytvoÅ™it" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [-T] CÃL JMÉNO_ODKAZU (1. forma)\n" " nebo: %s [PŘEPÃNAÄŒ]… CÃL (2. forma)\n" " nebo: %s [PŘEPÃNAÄŒ]… CÃL… ADRESÃŘ (3. forma)\n" " nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ CÃL… (4. forma)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "1. forma vytvoří odkaz na CÃL se jménem JMÉNO_ODKAZU.\n" "2. forma vytvoří odkaz na CÃL v aktuálním adresáři.\n" "3. a 4. forma vytváří odkazy na každý CÃL v ADRESÃŘI.\n" "ImplicitnÄ› vytváří pevné odkazy, pro symbolické odkazy pÅ™idejte --symbolic.\n" "StandardnÄ› žádné umístÄ›ní (název nového odkazu) by nemÄ›l pÅ™edem existovat.\n" "Pokud se vytváří pevné odkazy, každý CÃL musí existovat. Symbolické odkazy\n" "mohou nést libovolný text; pÅ™i pozdÄ›jším vyhodnocování je relativní odkaz\n" "zvažován vzhledem ke svému nadřízenému adresáři.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=ZPÅ®SOB] zálohuje každý existující cílový soubor\n" " -b jako --backup, ale bez argumentů\n" " -d, -F, --directory povolí superuživateli pokusit se vytvoÅ™it " "pevné\n" " odkazy na adresáře (poznámka: pravdÄ›podobnÄ› " "selže\n" " kvůli omezením systému, a to " "i superuživateli)\n" " -f, --force odstraní existující cílové soubory\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive pÅ™ed každým odstranÄ›ním cíle se zeptá\n" " -L, --logical dereferencuje CÃLE, které jsou symbolickými\n" " odkazy\n" " -n, --no-dereference NÃZEV_ODKAZU považuje za běžný soubor, pokud " "je\n" " symbolickým odkazem na adresář\n" " -P, --physical vytváří pevné odkazy přímo na symbolické " "odkazy\n" " -r, --relative vytváří symbolické odkazy relativnÄ› k jejich\n" " umístÄ›ní\n" " -s, --symbolic na místo pevných odkazů vytváří symbolické\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=PŘÃPONA zmÄ›ní příponu záloh na PŘÃPONU\n" " -t, --target-directory=ADRESÃŘ\n" " urÄí ADRESÃŘ, v kterém se budou vytvářet " "odkazy\n" " -T, --no-target-directory vždy považuje JMÉNO_ODKAZU za běžný soubor\n" " -v, --verbose tiskne jména vÅ¡ech odkazů\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "PÅ™i použití pÅ™epínaÄe -s budou ignorovány pÅ™epínaÄe -L a -P. V opaÄném\n" "případÄ›, je-li CÃLEM symbolický odkaz, se uplatní poslední zadaný pÅ™epínaÄ.\n" "Výchozí je %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "--target-directory a --no-target-directory nelze kombinovat" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "pÅ™epínaÄ --relative nelze bez pÅ™epínaÄe --symbolic použít" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "OPRAVMÄš: neznámý" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Vytiskne jméno aktuálního uživatele.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "chybí pÅ™ihlaÅ¡ovací jméno" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e. %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e. %b %H.%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignoruji neplatnou hodnotu promÄ›nné prostÅ™ení QUOTUNG_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "Å¡patná šířka (%s) v promÄ›nné prostÅ™edí COLUMNS, bude ignorována" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "Å¡patná velikost tabelátoru (%s) v promÄ›nné prostÅ™edí TABSIZE, bude ignorována" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "chybné délka řádku: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "chybná šířka tabelátoru: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "chybný formát pro výpis Äasu %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Platné argumenty jsou:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMÃT (napÅ™. +%H:%M) pro formát jako u „date“\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "chyba pÅ™i inicializaci Å™etÄ›zců mÄ›síců" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "neznámý prefix: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "nesrozumitelná hodnota v promÄ›nné prostÅ™edí LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "adresář %s nelze otevřít" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "zařízení a i-uzel pro %s nelze urÄit" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: nevypisuji již dříve vypsaný adresář" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "Äte se adresář %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "zavírá se adresář %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "jména souborů %s a %s nelze porovnat" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Vypisuje informace o SOUBORECH (implicitnÄ› z aktuálního adresáře). Jestliže\n" "není zadán žádný z pÅ™epínaÄů -cftuvSUX nebo --sort, výstup bude seÅ™azen\n" "abecednÄ›.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all vypíše i soubory zaÄínající teÄkou\n" " -A, --almost-all vypíše vÅ¡echny soubory kromÄ› souborů „.“ a " "„..“\n" " --author spolu s -l vypíše autora každého souboru\n" " -b, --escape negrafické znaky escapuje ve stylu jazyka C\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=VELIKOST velikosti vypisuje v násobcích VELIKOSTI. " "NapÅ™.\n" " „--block-size=M“ vypisuje velikosti " "v jednotkách\n" " po 1 048 576 bajtech. Popis formátu VELIKOSTI\n" " je uveden níže.\n" " -B, --ignore-backups nevypisuje soubory konÄící na ~\n" " -c s -lt: Å™adí podle ctime a vypisuje ctime (Äas\n" " poslední zmÄ›ny i-uzlových informací);\n" " s -l: vypisuje ctime, Å™adí podle názvu " "souboru;\n" " jinak: Å™adí podle ctime, vypisuje od " "nejnovÄ›jších\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C vypisuje položky ve sloupcích\n" " --color[=KDY] obarví výstup. KDY je implicitnÄ› " "„always“ (vždy),\n" " další hodnoty jsou „never“ (nikdy) nebo " "„auto“.\n" " Podrobnosti níže\n" " -d, --directory vypíše názvy adresářů místo jejich obsahu a\n" " nenásleduje symbolické odkazy\n" " -D, --dired generuje výstup formátovaný pro Emacsový\n" " mód „dired“\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f neseÅ™adí výstup, povolí -aU, zakáže -ls --" "color\n" " -F, --classify k názvům souborů pÅ™idá znak urÄující jejich " "typ\n" " (jeden z */=>@|)\n" " --file-type podobnÄ›, ale nepÅ™idává „*“\n" " --format=SLOVO across jako -x, commas jako -m, horizontal\n" " jako -x, long jako -l, single-column jako -1,\n" " verbose jako -l, vertical jako -C\n" " --full-time jako -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g jako -l, ale nevypisuje vlastníka\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " seskupí adresáře pÅ™ed soubory\n" " Zachová funkci pÅ™epínaÄe --sort, avÅ¡ak\n" " --sort=none (-U) seskupování potlaÄí.\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group pÅ™i dlouhém formátu nevypisuje informace\n" " o skupinách\n" " -h, --human-readable pÅ™i -l vypisuje velikosti ve formátu pohodlném\n" " pro ÄlovÄ›ka (napÅ™. 1K, 234M, 2G)\n" " --si jako pÅ™edchozí, ale jednotky jsou násobky 1000\n" " a ne 1024.\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " následuje symbolické odkazy uvedené na\n" " příkazové řádce\n" " --dereference-command-line-symlink-to-dir\n" " následuje každý symbolický odkaz z příkazové\n" " řádky, který ukazuje na adresář\n" " --hide=VZOR nevypisuje implikované položky odpovídající\n" " shellovému VZORU (lze pÅ™ebít pÅ™epínaÄi -a a -" "A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=STYL\n" " k názvům souborů pÅ™idává indikátory ve\n" " STYLU: none (implicitnÄ› žádný), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode ke každému souboru vypíše Äíslo jeho i-uzlu\n" " -I, --ignore=VZOR nevypisuje implikované soubory vyhovující\n" " shellovému VZORU\n" " -k, --kibibytes použije 1024bajtové bloky\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l vypíše výstup ve dlouhém formátu\n" " -L, --dereference u symbolického odkazu vypíše soubor, na který\n" " odkaz ukazuje namísto odkazu samotného\n" " -m vypíše soubory jako seznam jmen souborů " "oddÄ›lených\n" " Äárkami vyplňující šířku řádků\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid jako -l, ale místo jména uživatele a skupiny\n" " vypisuje Äísla\n" " -N, --literal vypíše jména souborů tak, jak jsou na disku\n" " uložena. Nezpracovává řídící znaky\n" " -o jako -l, ale bez informací o skupinách\n" " -p, --indicator-style=slash\n" " za názvy adresářů pÅ™ipojí „/“\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars vypíše „?“ místo negrafických znaků\n" " --show-control-chars vypíše negrafické znaky tak jak jsou " "(implicitní,\n" " jestliže program není „ls“ a výstup není na\n" " terminál)\n" " -Q, --quote-name vloží názvy souborů do uvozovek\n" " --quoting-style=ZPÅ®SOB\n" " použije způsob citování ZPÅ®SOB pro jména " "souborů:\n" " literal (doslovný), locale (lokalizovaný),\n" " shell, shell-always, c, escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse opaÄné uspořádání pÅ™i Å™azení\n" " -R, --recursive vypíše podadresáře rekurzivnÄ›\n" " -s, --size vypíše alokovanou velikost každého souboru\n" " v blocích\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S výstup seÅ™adí podle délky souborů\n" " --sort=SLOVO výstup seÅ™adí podle SLOVA: none (-U),\n" " extension (-X), size (-S), time (-t),version (-" "v)\n" " --time=SLOVO s -l vypisuje Äas podle SLOVA místo Äasu\n" " poslední zmÄ›ny obsahu: atime (-u), access (-" "u),\n" " use (-u), ctime (-c) nebo status (-c);\n" " jestliže je zadán pÅ™epínaÄ --sort=time, " "použije\n" " se tento Äas jako Å™adicí klíÄ\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STYL s -l vypisuje Äas ve STYLU:\n" " full-iso (plný), long-iso (dlouhý), iso,\n" " locale (národní), +FORMÃT.\n" " FORMÃT má stejný význam jako u „date“;\n" " pokud FORMÃT je ve tvaru\n" " FORMÃT1<nový řádek>FORMÃT2, FORMÃT1 se\n" " použije na starší soubory a FORMÃT2 na\n" " mladší soubory; pokud STYL zaÄíná na „posix-“,\n" " bude STYL uvažován jen mimo POSIXOVÉ locale\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t výstup seÅ™adí podle Äasu poslední zmÄ›ny\n" " obsahu souboru od nejnovÄ›jší\n" " -T, --tabsize=SLOUPCÅ® pozice tabelátoru každých SLOUPCÅ® znaků (impl. " "8)\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u s -lt seÅ™adí a vypíše podle Äasu posledního\n" " přístupu; s -l vypíše tento Äas, ale seÅ™adí\n" " podle názvů souborů;\n" " jinak Å™adí podle tohoto Äasu\n" " -U neÅ™adí, soubory budou vypsány v takovém " "poÅ™adí,\n" " v jakém jsou v adresáři uloženy\n" " -v pÅ™irozené Å™azení (verzovacích) Äísel v textu\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=SLOUPCÅ® použije tuto šířku obrazovky pÅ™i vypisování\n" " -x jména souborů vypíše po řádcích místo po " "sloupcích\n" " -X výstup seÅ™adí abecednÄ› podle přípon souborů\n" " -Z, --context vypíše pro každý soubor jakýkoliv selinuxový\n" " bezpeÄnostní kontext\n" " -1 vypíše jeden soubor na jeden řádek\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "OdliÅ¡ování druhů souborů barvami je standardnÄ› zakázáno. Zákaz lze nařídit\n" "i pomocí --color=never. PÅ™i použití --color=auto, bude ls vkládat kódy " "barev\n" "jen, když standardní výstup bude napojen na terminál. Toto nastavení lze\n" "ovlivnit promÄ›nnou prostÅ™edí LS_COLORS. Nastavit ji lze příkazem dircolors.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Návratový kód:\n" " 0 vÅ¡e v pořádku,\n" " 1 drobné problémy (napÅ™. nebylo možné pÅ™istoupit k podadresáři),\n" " 2 závažné problémy (napÅ™. nebylo možné pÅ™istoupit k argumentu z příkazové\n" " řádky).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]…\n" "Vypíše nebo zkontroluje %s (%dbitové) kontrolní souÄty.\n" "Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary Äte v binárním módu (výchozí, pokud neÄte standardní\n" " vstup terminálu)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary Äte v binárním módu\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check porovnává souÄty %s se zadanými v SOUBORECH\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag vytvoří kontrolní souÄet ve stylu BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text Äte v textovém módu (výchozí, je-li Äten standardní\n" " vstup terminálu)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text Äte v textovém módu (výchozí)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Následující tÅ™i pÅ™epínaÄe jsou užiteÄné pouze pÅ™i ověřování kontrolních " "souÄtů:\n" " --quiet nevypisuje OK u každého úspěšnÄ› ověřeného souboru\n" " --status nevypisuje nic, úspěšnost znaÄí návratový kód\n" " -w, --warn upozorňuje na nesprávnÄ› formátované řádky souÄtů\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict spolu s --check vrátí nenulový kód pÅ™i neplatném " "vstupu\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "SouÄty jsou poÄítány podle popisu v %s. PÅ™i testování by vstup mÄ›l\n" "být dřívÄ›jším výstupem tohoto programu. Výchozí režim je výpis jednoho\n" "řádku pro každý SOUBOR. Formát řádku je kontrolní souÄet, znak znaÄící\n" "vstupní režim („*“ pro binární, mezera pro textový) a jméno SOUBORU.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: příliÅ¡ mnoho řádků s kontrolními souÄty" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: nesprávnÄ› formátovaný řádek %s kontrolního souÄtu" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: SELHALO otevÅ™ení nebo Ätení\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "CHYBNÃ" #: src/md5sum.c:597 msgid "OK" msgstr "V POŘÃDKU" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: nenalezeny správnÄ› formátované řádky %s kontrolního souÄtu" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "POZOR: %<PRIuMAX> řádek není správnÄ› utvoÅ™en" msgstr[1] "POZOR: %<PRIuMAX> řádky nejsou správnÄ› utvoÅ™eny" msgstr[2] "POZOR: %<PRIuMAX> řádků není správnÄ› utvoÅ™eno" # that's a case where cases are needed in Slavic languages # podanych/podanego are plural/singular Genitive, I moved them to # next messages hoping it doesn't spoil anything - rzm # # see also md5sum.c:430. it is somewhat surprising that we need # such things only in two places in this file - rzm 960902 # #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "POZOR: %<PRIuMAX> uvedený soubor nebylo možné pÅ™eÄíst" msgstr[1] "POZOR: %<PRIuMAX> uvedené soubory nebylo možné pÅ™eÄíst" msgstr[2] "POZOR: %<PRIuMAX> uvedených souborů nebylo možné pÅ™eÄíst" # once more `of computed checksum(s)' is `wyliczonej sumy' or # `wyliczonych sum' in sing. or plural Genitive; how to handle? - rzm # # it is better now but the word `wyliczonych' should also change according # to the number too (what a horrible language! - but there are worse) # so I'm moving it to the changing part; fortunately it is Genitive # so we don't need to use two forms for plural (depending on number: nn[234] # are different that the other ones) - rzm 960902 # #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "POZOR: %<PRIuMAX> spoÄtený souÄet NESOUHLASIL" msgstr[1] "POZOR: %<PRIuMAX> spoÄtené souÄty NESOUHLASILY" msgstr[2] "POZOR: %<PRIuMAX> spoÄtených souÄtů NESOUHLASILO" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "pÅ™epínaÄ --tag nepodporuje režim --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "pÅ™epínaÄ --tag nemá význam pÅ™i ověřování kontrolních souÄtů" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "pÅ™epínaÄe --binary a --text jsou bezvýznamné pÅ™i ověřování kontrolních souÄtů" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "pÅ™epínaÄ --status má význam pouze pÅ™i ověřování kontrolních souÄtů" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "pÅ™epínaÄ --warn má význam pouze pÅ™i ověřování kontrolních souÄtů" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "pÅ™epínaÄ --quiet má význam pouze pÅ™i ověřování kontrolních souÄtů" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "pÅ™epínaÄ --strict má význam pouze pÅ™i ověřování kontrolních souÄtů" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… ADRESÃŘ…\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Vytvoří ADRESÃŘ(E), pokud jeÅ¡tÄ› neexistuje(í).\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=PRÃVA nastaví přístupová práva (zadány jako příkazu „chmod“),\n" " místo toho, aby byla práva nastavena na a=rwx - umask\n" " -p, --parents vytvoří neexistující rodiÄovské adresáře zadaného " "adresáře\n" " -v, --verbose vypíše zprávu o každém vytvoÅ™eném adresáři\n" " -Z, --context=KONTEXT\n" " nastaví selinuxový bezpeÄnostní kontext na KONTEXT\n" " každému vytvářenému adresáři\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "adresář %s vytvoÅ™en" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO]…\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Vytvoří pojmenované roury (FIFO) se zadanými JMÉNY.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=PRÃVA nastaví bity přístupových práv na PRÃVA, místo toho,\n" " aby byla nastavena na a=rw − umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KTX nastaví selinuxový bezpeÄnostní kontext každému JMÉNU\n" "na KTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "neplatná práva" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "práva mohou urÄovat jen bity přístupových práv k souboru" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… JMÉNO TYP [HLAVNà VEDLEJÅ Ã]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Vytvoří zvláštní soubor pod JMÉNEM a zadaného TYPU.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KTX nastaví selinuxový bezpeÄnostní kontext JMÉNU na KTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Jak HLAVNÃ, tak i VEDLEJÅ Ã Äísla musí být uvedena, pokud TYP je „b“, „c“ " "nebo\n" "„u“, a musí být vynechána, jestliže TYP je „p“. Pokud HLAVNà a VEDLEJÅ Ã " "Äísla\n" "zaÄínají na „0x“ nebo „0X“, jsou považována za Å¡estnáctková; pokud zaÄínají\n" "na 0, za osmiÄková, jinak za desítková. TYP smí být:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b blokový (bufferovaný) speciální soubor\n" " c, u znakový (nebufferovaný) speciální soubor\n" " p roura (FIFO)\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Zvláštní soubory vyžadují hlavní a vedlejší Äísla zařízení." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Roury nemají hlavní a vedlejší Äíslo zařízení." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "zvláštní blokové soubory nejsou podporovány" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "zvláštní znakové soubory nejsou podporovány" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "neplatné hlavní Äíslo zařízení: %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "neplatné vedlejší Äíslo zařízení %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "neplatné zařízení %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "neplatný typ zařízení %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [Å ABLONA]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Vytvoří doÄasný soubor nebo adresář bezpeÄným způsobem a vypíše jeho jméno.\n" "Å ABLONA musí konÄit na alespoň 3 po sobÄ› následující znaky „X“.\n" "Nebude-li zadána Å ABLONA, použije se tmp.XXXXXXXXXX a zapne se --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Soubory jsou vytvářeny jako u+rw, adresáře jako u+rwx, mínus omezení umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory vytvoří adresář, ne soubor\n" " -u, --dry-run nevytváří nic, jen vytiskne jméno (není bezpeÄné)\n" " -q, --quiet potlaÄí hlášky o chybÄ› pÅ™i vytváření souboru/adresáře\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=PŘÃPONA\n" " k šablonÄ› pÅ™ipojí PŘÃPONU. PŘÃPONA nesmí obsahovat\n" " lomítko. Tento pÅ™epínaÄ se aktivuje, pokud Å ABLONA\n" " nekonÄí na X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=ADR] interpretuje Å ABLONU relativnÄ› k adresáři ADR. Není-" "li\n" " ADR zadán, použije $TMPDIR, je-li nastavena, jinak /" "tmp.\n" " S tímto pÅ™epínaÄem Å ABLONA nesmí být absolutním " "jménem.\n" " Na rozdíl od -t Å ABLONA smí obsahovat lomítka, avÅ¡ak\n" " i zde mktemp vytvoří jen závÄ›reÄnou složku cesty\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p ADRESÃŘ požije ADRESÃŘ jako pÅ™edponu, implikuje -t " "[zastaralé]\n" " -t interpretuje Å ABLONU jako jedinou Äást jména souboru\n" " relativnÄ› k adresáři: $TMPDIR, je-li nastavena, jinak\n" " je adresář zadán pomocí -p, jinak /tmp [zastaralé]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "pÅ™esmÄ›rování standardního chybové výstupu do /dev/null se nezdaÅ™ilo" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "příliÅ¡ mnoho Å¡ablon" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "pÅ™i --sufix Å¡ablona %s musí konÄit na X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "chybná přípona %s, obsahuje oddÄ›lovaÄ adresářů" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "příliÅ¡ málo X v šablonÄ› %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "chybná Å¡ablona %s, obsahuje oddÄ›lovaÄ adresářů" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "chybná Å¡ablona %s, spolu s --tmpdir nesmí být absolutní" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "vytvoÅ™ení adresáře dle Å¡ablony %s selhalo" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "vytvoÅ™ení souboru dle Å¡ablony %s selhalo" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "PÅ™ejmenuje ZDROJ na CÃL, nebo pÅ™esune ZDROJ(E) do ADRESÃŘE.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup=[TYP] vytvoří záložní kopii každého existujícího\n" " cílového souboru\n" " -b jako --backup, ale bez argumentu\n" " -f, --force pÅ™ed pÅ™epsáním se neptá\n" " -i, --interactive pÅ™ed pÅ™epsáním se zeptá\n" " -n, --no-clobber nepÅ™epíše existující soubor\n" "Zadáte-li více jak jeden pÅ™epínaÄ z -i, -f, -n, pouze poslední bude " "úÄinkovat.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes odstraní vÅ¡echna lomítka z konce ZDROJE(Å®)\n" " -S, --suffix=PŘÃPONA přípona záložních souborů\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=ADRESÃŘ\n" " pÅ™emístí vÅ¡echny ZDROJE do ADRESÃŘE\n" " -T, --no-target-directory CÃL považuje za běžný soubor\n" " -u, --update pÅ™emístí pouze starší a úplnÄ› nové soubory\n" " -v, --verbose vypisuje co se dÄ›je\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ] [[PŘÃKAZ] [ARGUMENT]…]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Spustí PŘÃKAZ s pozmÄ›nÄ›nou hodnotou nice, což ovlivní plánování procesů.\n" "Bez PŘÃKAZU vypíše aktuální hodnotu. Rozsah hodnoty nice je od %d\n" "(nejpříznivÄ›jší pro proces) do %d (nejménÄ› příznivé pro proces).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=N k hodnotÄ› nice pÅ™iÄte celé Äíslo N (výchozí je 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "neplatná úprava %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "příkaz musí být zadán s Äíslem upravujícím hodnotu nice" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "hodnotu nice nelze získat" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "hodnotu nice nelze nastavit" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "PÅ™epíše každý SOUBOR na standardní výstup a ke každému řádku pÅ™idá jeho\n" "Äíslo. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní " "vstup.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STYL použije STYL k Äíslování řádků v tÄ›le\n" " -d, --section-delimiter=CC použije CC pro oddÄ›lení logických stránek\n" " -f, --footer-numbering=STYL použije STYL k Äíslování řádků v patiÄce\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STYL použije STYL k Äíslování řádků v hlaviÄce\n" " -i, --page-increment=ÄŒÃSLO o kolik zvyÅ¡ovat Äíslo řádku\n" " -l, --join-blank-lines=POÄŒET bere POÄŒET prázdných řádků jako jeden\n" " -n, --number-format=FORMÃT Äísla řádků vypisuje podle FORMÃTU\n" " -p, --no-renumber nenuluje Äíslo řádku na poÄátku logické\n" " stránky\n" " -s, --number-separator=ŘETÄšZEC pÅ™idá ŘETÄšZEC za Äíslo řádku (oddÄ›lovaÄ\n" " Äísla od dalšího řádku)\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=ÄŒÃSLO\n" " Äíslo prvního řádku na každé logické " "stránce\n" " -w, --number-width=POÄŒET Äísla řádků vypisuje na POÄŒET míst\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Implicitní jsou parametry -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC jsou\n" "dva znaky, které jsou použity k oddÄ›lování logických stránek. Není-li zadán\n" "druhý znak, použije se „:“. Pro zadání „\\“ je tÅ™eba napsat „\\\\“.\n" "STYL je jeden z:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a Äísluje vÅ¡echny řádky\n" " t Äísluje pouze neprázdné řádky\n" " n řádky neÄísluje\n" " pZREGVÃR Äísluje pouze řádky vyhovující základnímu regulárnímu výrazu\n" " ZREGVÃR\n" "\n" "FORMÃT je jeden z:\n" "\n" " ln zarovnává vlevo bez úvodních nul\n" " rn zarovnává vpravo bez úvodních nul\n" " rz zarovnává vpravo s úvodními nulami\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "Äíslo řádku pÅ™eteklo" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "chybný styl Äíslování v hlaviÄce: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "chybný styl Äíslování v tÄ›le: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "chybný styl Äíslování v patiÄce: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "chybné poÄáteÄní Äíslo řádku: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "chybná hodnota přírůstku Äísla řádku: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "chybný poÄet prázdných řádků: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "chybná šířka Äísla řádku: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "chybný formát Äísla řádku: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s PŘÃKAZ [ARGUMENT]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "Spustí PŘÃKAZ tak, aby ignoroval signál hangup (zavěšení linky).\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Je-li standardním vstupem terminál, pÅ™esmÄ›ruje jej z /dev/null.\n" "Je-li standardním výstupem terminál, pÅ™ipojí výstup do „nohup.out“. Není-li\n" "to možné, tak do „$HOME/nohup.out“. Je-li standardním chybovým výstupem\n" "terminál, pÅ™esmÄ›ruje je na standardní výstup.\n" "Výstup do SOUBORU provedete příkazem „%s PŘÃKAZ > SOUBOR“.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "pÅ™esmÄ›rování standardního vstupu do nepoužitelna selhalo" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignoruji vstup" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "vstup ignoruji a výstup pÅ™ipojuji k %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "výstup pÅ™ipojuji k %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "kopii stderr se nezdaÅ™ilo nastavit příznak uzavÅ™ení pÅ™i exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "vstup ignoruji a stderr pÅ™esmÄ›rovávám na stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "stderr pÅ™esmÄ›rovávám na stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "pÅ™esmÄ›rování standardního chybové výstupu selhalo" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]…\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Vypíše poÄet výpoÄetních jednotek dostupných souÄasnému procesu,\n" "což může být ménÄ› než poÄet zapojených procesorů.\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all vypíše poÄet nainstalovaných procesorů\n" " --ignore=N je-li možno, vynechá N výpoÄetních jednotek\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: chybný poÄet na ignorování" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "hodnota je pro pÅ™evod příliÅ¡ velká: „%s“" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "neplatné Äíslo: „%s“" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "přípona ze vstupu odmítnuta: „%s“ (zvažte použití --from)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "neplatná přípona na vstupu: „%s“" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "na vstupu chybí přípona „i“: „%s“ (na příklad Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "hodnotu „%Lf“ se nepodaÅ™ilo se pÅ™ipravit pro výpis" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "chybná jednotka velikost: „%s“" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "nedostatek pamÄ›ti (požadováno %zu bajtů)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [ÄŒÃSLO]…\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" "PÅ™eformátuje ÄŒÃSLO(A), nebo Äísla ze standardního vstupu, nebyla-li zadána.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr " --debug vypisuje varování pÅ™i neplatném vstupu\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X jako oddÄ›lovaÄ položek použije X namísto bílého " "místa\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field=N nahradí Äíslo v položce vstupu N (výchozí je 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMÃT použije printf FORMÃT pro výpis reálných Äísel,\n" " pro podrobnosti vizte FORMÃT níže\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=JEDNOTKA\n" " automaticky pÅ™eÅ¡káluje vstupní Äísla na JEDNOTKY.\n" " Výchozí je „none“ (žádná). Vizte JEDNOTKY níže.\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N urÄuje velikost vstupní jednotky (místo výchozí 1).\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping sdruží Äíslice do skupin podle locale, napÅ™. " "1 000 000\n" " (což znamená, že nemá smysl v locale C Äi POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] vypíše (bez pÅ™evodu) prvních N řádků hlaviÄky,\n" " výchozí hodnota N je 1\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=MÓD způsob selhání pÅ™i neplatných Äíslech: MÓD může být:\n" " abort (pÅ™eruÅ¡it, výchozí), fail (selhat),\n" " warn (varovat), ignore (ignorovat).\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N vyplní výstup na N znaků. Kladné N zarovná zprava,\n" " záporné N zarovná zleva. Je-li výstup Å¡irší než N,\n" " výplň se ignoruje. Výchozí je automatická výplň,\n" " je-li nalezeno bílé místo.\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=METODA zaokrouhlovací metoda použitá pÅ™i Å¡kálování. METODA\n" " může být: up (nahoru), down (dolů),\n" " from-zero (z nuly, výchozí), towards-zero (k nule),\n" " nearest (nejbližší)\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=PŘÃPONA\n" " pÅ™idá k výstupním Äíslům PŘÃPONU a pÅ™ijímá " "volitelnou\n" " PŘÃPONU u vstupních Äísel\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=JEDNOTKA automaticky pÅ™eÅ¡káluje výstupní Äísla do JEDNOTEK.\n" " Vizte JEDNOTKY níže.\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr " --to-unit=N velikost výstupní jednotky (místo výchozí 1).\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "JEDNOTKY:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr " none neprovádí se žádné Å¡kálování. Přípony vyvolají chybu.\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto pÅ™ijímá se volitelná jedno- nebo dvoupísmenná přípona:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si pÅ™ijímá se volitelná jednopísmenná přípona:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " â‹®\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec pÅ™ijímá se volitelná jednopísmenná přípona:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " â‹®\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i pÅ™ijímá se volitelná dvoupísmenná přípona:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " â‹®\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "FORMÃT musí být vhodný pro zobrazení jednoho argumentu s plovoucí " "desetinnou\n" "Äárkou „%f“.\n" "Volitelný apostrof (%'f) povolí seskupování (jako pÅ™epínaÄ --grouping),\n" "podporuje-li to souÄasné locale.\n" "Volitelné zarovnání šířky (%10f) vyplní výstup. Volitelné záporné hodnoty\n" "šířky (%-10f) způsobí výplň výstupu zleva.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Návratová hodnota je 0, jestliže vÅ¡echna Äísla byla úspěšnÄ› pÅ™evedena.\n" "StandardnÄ› %s se zastaví na první konverzní chybÄ› a vrátí kód 2.\n" "S pÅ™epínaÄem --invalid='fail' se u každé chyby vypíše varování a návratový\n" "kód bude 2. S pÅ™epínaÄem --invalid='warn' bude každá chyba rovněž ohlášena,\n" "ale návratový kód bude 0. S pÅ™epínaÄem --invalid='ignore' nejsou chyby\n" "pÅ™evodu hlášeny a návratový kód je také 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Příklady:\n" " $ %s --to=si 1000\n" " → \"1.0K\"\n" " $ %s --to=iec 2048\n" " → \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " → \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " → \"1000\"\n" " $ echo 1K | %s --from=iec\n" " → \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "formát %s nemá žádnou direktivu %%" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "neplatný formát %s (šířka pÅ™etekla)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "formát %s konÄí na %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "neplatný formát %s, řídicí posloupnost musí být %%['][-][N]" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "formát %s má příliÅ¡ mnoho direktiv %%" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "neplatná přípona na vstupu „%s“: „%s“" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "hodnota je pro zobrazení příliÅ¡ velká: „%Lg“ (zvažte použití --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "hodnota jen pro zobrazení příliÅ¡ velká: „%Lg“ (hodnoty nad 999Y nelze " "zpracovat)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "velká vstupní hodnota „%s“: hrozí ztráta pÅ™esnosti" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "vstupní řádek je příliÅ¡ krátký, v položce %ld nebyly nalezeny žádná Äísla " "k pÅ™evodu" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "chybný hodnota výplnÄ› „%s“" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "chybná hodnota položky „%s“" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "chybné hodnota hlaviÄky „%s“" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "pÅ™epínaÄ --grouping nezle kombinovat s pÅ™epínaÄem --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "pÅ™epínaÄ --padding nelze kombinovat s pÅ™epínaÄem --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "nezadán žádný pÅ™epínaÄ konverze" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "sluÄování do skupin nelze kombinovat s pÅ™epínaÄem --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "v tomto locale nemá sluÄování do skupin žádný úÄinek" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "pÅ™epínaÄ --header je ignorován pÅ™i vstupu z příkazového řádku" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "chyba pÅ™i Ätení vstupu" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "pÅ™evod nÄ›kterých vstupních Äísel selhal" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]…\n" " nebo: %s [-abcdfilosx]… [SOUBOR] [[+]POSUN[.][b]]\n" " nebo: %s --traditional [PŘEPÃNAÄŒ]… [SOUBOR] [[+]POSUN[.][b] [+][NÃVÄšSTÃ]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Vypíše SOUBOR jednoznaÄným způsobem, implicitnÄ› v osmiÄkovém formátu, na\n" "standardní výstup. Bude-li zadáno více SOUBORÅ®, zÅ™etÄ›zí je v poÅ™adí daném " "na\n" "příkazovém řádku. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten\n" "standardní vstup.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Pokud je souÄasnÄ› použit první i druhý způsob zápisu formátu, druhý formát\n" "má pÅ™ednost, pokud poslední operand zaÄíná na „+“ nebo (existují-li dva\n" "operandy) na Äíslici. Operand POSUN znaÄí -j POSUN. NÃVĚŠTà je pseudoadresa\n" "vypsaná u prvního bajtu a zvÄ›tÅ¡ovaná bÄ›hem výpisu. POSUN a NÃVĚŠTà jsou\n" "brána jako Å¡estnáctková Äísla, pokud zaÄínají 0x nebo 0X. Pokud Äísla konÄí\n" "teÄkou „.“, jsou považována za osmiÄková Äísla a pokud konÄí znakem „b“,\n" "znamená to, že budou násobena 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=ZÃKLAD formát výstupu pro pozice v souboru. ZÃKLAD " "je\n" " jeden z [doxn] pro soustavu desítkovou,\n" " osmiÄkovou, Å¡estnáctkovou nebo žádnou\n" " -j, --skip-bytes=POÄŒET pÅ™eskoÄí prvních POÄŒET bajtů ze vstupu\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=POÄŒET vypíše pouze POÄŒET bajtů ze vstupu\n" " -S POÄŒET, --strings[=POÄŒET]\n" " vypíše pouze Å™etÄ›zce obsahující nejménÄ› POÄŒET\n" " grafických znaků (výchozí je 3)\n" " -t, --format=TYP vybere výstupní formát nebo formáty\n" " -v, --output-duplicates potlaÄené řádky neoznaÄuje „*“\n" " -w[POÄŒET], --width[=POÄŒET] vypíše POÄŒET bajtů na výstupní řádek (výchozí\n" " je 32)\n" " --traditional pÅ™ijímá argumenty v pÅ™ed-POSIXOVÉM tvaru\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "PÅ™ed-POSIXOVÉ formáty mohou být používány spolu s POSIXOVÃMI, to zahrnuje:\n" " -a stejné jako -t a, názvy znaků, ignoruje nejvyšší bit\n" " -b stejné jako -t o1, bajty osmiÄkovÄ›\n" " -c stejné jako -t c, ASCII znaky nebo kódy znaků se zpÄ›tným lomítkem\n" " -d stejné jako -t u2, desítková bez znaménka (dvoubajtová)\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f stejné jako -t fF, Äísla v pohyblivé řádové Äárce\n" " -i stejné jako -t dI, desítková se znaménkem (dvoubajtová)\n" " -l stejné jako -t dL, desítková se znaménkem (ÄtyÅ™bajtová)\n" " -o stejné jako -t o2, osmiÄková (dvoubajtová)\n" " -s stejné jako -t d2, desítková (dvoubajtová)\n" " -x stejné jako -t x2, Å¡estnáctková (dvoubajtová)\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYP je tvoÅ™en z jedné nebo více tÄ›chto možností:\n" " a názvy znaků, nejvyšší bit je ignorován\n" " c ASCII znaky nebo kódy znaků se zpÄ›tným lomítkem\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[BAJTÅ®] desítkové se znaménkem s poÄtem BAJTÅ® na Äíslo\n" " f[BAJTÅ®] s plovoucí řádovou Äárkou s poÄtem BAJTÅ® na Äíslo\n" " o[BAJTÅ®] osmiÄkové s poÄtem BAJTÅ® na Äíslo\n" " u[BAJTÅ®] desítkové bez znaménka s poÄtem BAJTÅ® na Äíslo\n" " x[BAJTÅ®] Å¡estnáctkové s poÄtem BAJTÅ® na Äíslo\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "BAJTÅ® je Äíslo. Pro TYPY d, o, u, x může být BAJTÅ® také C jako\n" "sizeof(char), S jako sizeof(short), I jako sizeof(int) nebo L jako\n" "sizeof(long). Jestliže TYP je f, BAJTÅ® může být také F jako sizeof(float),\n" "D jako sizeof(double) nebo L jako sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "PÅ™idání přípony „z“ k typu způsobí vypsání tisknutelných znaků na konci\n" "každého výstupního řádku.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "POÄŒET s pÅ™edponou 0x nebo 0X je Å¡estnáctkové Äíslo a smí mít násobnou " "příponu:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "a tak dále pro G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "chybný typ Å™etÄ›zce %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "chybný typ Å™etÄ›zce %s;\n" "tento systém nemá %lubajtová celá Äísla" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "chybný typ Å™etÄ›zce %s;\n" "tento systém nemá %lubajtová Äísla s plovoucí řádovou Äárkou" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "znak „%c“ v řetÄ›zci typu „%s“ je chybný" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" "více bajtů, než kolik obsahují vÅ¡echny vstupní soubory, nelze pÅ™eskoÄit" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "chybný základ výstupní adresy „%c“; musí to být jeden ze znaků [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "pÅ™i vypisování Å™etÄ›zců nelze zadat typ" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "kompatibilní mód podporuje nejvýše jeden soubor" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "souÄet bajtů na pÅ™eskoÄení a bajtů ke Ätení je příliÅ¡ velký" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "varování: chybná šířka %lu; užívám %d místo ní" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: neplatný signál" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standardní vstup je uzavÅ™en" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše řádky skládající se z řádků jednotlivých SOUBORÅ® v zadaném poÅ™adí\n" "a oddÄ›lených tabelátory na standardní výstup. Jestliže SOUBOR nebude zadán\n" "nebo bude „-“, bude Äten standardní vstup.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=SEZNAM použije znaků ze SEZNAMU jako oddÄ›lovaÄů\n" " (místo tabelátorů)\n" " -s, --serial vypíše soubory za sebou místo vedle sebe\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "Seznam oddÄ›lovaÄů konÄí na neoÅ¡etÅ™ené zpÄ›tné lomítko: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Rozpoznává neplatné nebo nepÅ™enositelné konstrukce ve jménech souborů.\n" "\n" " -p kontrola pro vÄ›tÅ¡inu POSIXOVÃCH systémů\n" " -P kontrola na prázdná jména a uvozující „-“\n" " --portability kontrola pro vÅ¡echny POSIXOVÉ systémy\n" " (stejné jako -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "Äást se jménem souboru %s zaÄíná znakem „-“" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "nepÅ™enositelný znak %s ve jménu souboru %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "jméno souboru je prázdné" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: není možno zjistit nejvÄ›tší přípustnou délku jména souboru" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "omezení %lu bylo pÅ™ekroÄeno délkou %lu u jména souboru %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "omezení %lu bylo pÅ™ekroÄeno délkou %lu Äástí jména souboru %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "PÅ™ihlaÅ¡ovací jméno: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "ObÄanské jméno: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Adresář: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plán:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Jméno" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Prostoj" #: src/pinky.c:411 msgid "When" msgstr "Kdy" #: src/pinky.c:414 msgid "Where" msgstr "Odkud" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [UŽIVATEL]…\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l dlouhý výstupní formát pro zadaného UŽIVATELE\n" " -b nevypisuje domovský adresář a shell v dlouhém formátu\n" " -h nevypisuje projekt v dlouhém formátu\n" " -p nevypisuje plán v dlouhém formátu\n" " -s krátký výstupní formát (implicitní)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f nevypisuje hlaviÄky sloupců v krátkém formátu\n" " -w nevypisuje celé jméno v krátkém formátu\n" " -i nevypisuje celé jméno a odkud v krátkém formátu\n" " -q nevypisuje celé jméno, odkud a prostoj v krátkém formátu\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "OdlehÄený program „finger“; vypisuje údaje o uživateli.\n" "Utmp soubor bude %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "nezadáno jméno uživatele; pÅ™i -l musí být uvedeno alespoň jedno" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "„--pages=PRVNÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA]“ postrádá argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "chybný rozsah stran %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "„-l DÉLKA_STRÃNKY“ chybný poÄet řádků: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "„-N ÄŒÃSLO“ chybné Äíslo poÄáteÄního řádku: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "„-o OKRAJ“ chybný posun řádku: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "„-w Å ÃŘKA_STRÃNKY“ chybný poÄet znaků: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "„-W Å ÃŘKA_STRÃNKY“ chybný poÄet znaků: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "pÅ™i výpisu vedle sebe, není možné zadat poÄet sloupců" # wzdluz? - rzm #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "není možné zadat výpis souborů po sobÄ› i vedle sebe" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "„-%c“ nadbyteÄné znaky nebo Å¡patné Äíslo v argumentu: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "šířka stránky je příliÅ¡ malá" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "Äíslo poÄáteÄní stránka %<PRIuMAX> pÅ™esahuje poÄet stránek %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "Äíslo stránky pÅ™eteklo" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Stránka %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Rozvrhne SOUBOR(Y) pro tisk na stránky nebo sloupce.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRVNÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA], --pages=PRVNÃ_STRÃNKA[:" "POSLEDNÃ_STRÃNKA]\n" " zaÄne [skonÄí] výpis na stránce PRVNÃ_[POSLEDNÃ_]" "STRÃNKA\n" " -SLOUPCÅ®, --columns=SLOUPCÅ®\n" " produkuje SLOUPCÅ®-sloupcový výstup. Řádky vypisuje\n" " na stránku do sloupců, pokud není použit pÅ™epínaÄ -a.\n" " Také se snaží vyrovnat poÄet řádků ve sloupcích\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across vypisuje řádky pÅ™es sloupce. Používá se dohromady\n" " s pÅ™epínaÄem -SLOUPCÅ®.\n" " -c, --show-control-chars\n" " použije zobáÄkovou notaci (^G) a notaci osmiÄkovou\n" " se zpÄ›tným lomítkem\n" " -d, --double-space\n" " za každý řádek vloží jeden prázdný\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMÃT\n" " použije FORMÃT pro datum v hlaviÄce\n" " -e[ZNAK[Å ÃŘKA]], --expand-tabs[=ZNAK[Å ÃŘKA]]\n" " expanduje vstupní ZNAKY (tabelátory) na Å ÃŘKU (8) mezer\n" " -F, -f, --form-feed\n" " použije znak nové stránky (FF) místo nových řádků (CR)\n" " k oddÄ›lení stránek (a 3řádkovou hlaviÄku stránky pÅ™i -F\n" " nebo 5řádkovou hlaviÄku s patiÄkou bez -F).\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=HLAVIÄŒKA\n" " použije vystÅ™edÄ›nou HLAVIÄŒKU místo jména souboru.\n" " -h \"\" vypíše prázdný řádek, nepoužívejte -h\"\"\n" " -i[ZNAK[Å ÃŘKA]], --output-tabs[=ZNAK[Å ÃŘKA]]\n" " nahradí Å ÃŘKA (8) mezer ZNAKEM (tabelátorem)\n" " -J, --join-lines slije celé řádky, vypne zkracování řádků pÅ™e -W,\n" " zruší zarovnání sloupců, --sep-string[=ŘETÄšZEC]\n" " nastavuje oddÄ›lovaÄe\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=DÉLKA_STRÃNKY\n" " nastaví délku stránky (66). Zadáno v řádcích.\n" " (implicitnÄ› je 56 řádků textu, s -F 63)\n" " -m, --merge vypíše soubory vedle sebe, každý v jednom sloupci,\n" " zkracuje řádky, ale spolu s pÅ™epínaÄem -J vypisuje plné\n" " řádky celé\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n [ODDÄšL[ÄŒÃSLIC]], --number-lines[=ODDÄšL[ÄŒÃSLIC]]\n" " Äísluje řádky, vypisuje ÄŒÃSLIC (5) Äíslic a potom ODDÄšL\n" " (TAB). ImplicitnÄ› poÄítání zaÄíná od jedniÄky prvním\n" " vstupním řádkem\n" " -N, --first-line-number=ÄŒÃSLO\n" " zaÄne poÄítání Äíslem ÄŒÃSLO prvního řádku první\n" " vypisované stránky (vizte +PRVNÃ_STRÃNKA)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=OKRAJ\n" " každý řádek odsadí OKRAJ (nula) mezerami, neovlivňuje -" "w\n" " nebo -W, OKRAJ bude pÅ™idán k Å ÃŘCE_STRÃNKY)\n" " -r, --no-file-warnings\n" " potlaÄí varování, když soubor nemůže být otevÅ™en\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ZNAK], --separator[=ZNAK]\n" " oddÄ›lí sloupce jedním ZNAKEM. ImplicitnÄ› je to znak " "<TAB>,\n" " když není zadán pÅ™epínaÄ -w, a „žádný znak“, když je -w\n" " zadán. -s[ZNAK] vypne zkracování řádků u vÅ¡ech tÅ™ech\n" " sloupcových pÅ™epínaÄů (-COLUMN|-a -COLUMN|-m), kromÄ›\n" " případu, kdy je zadán pÅ™epínaÄ -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[ŘETÄšZEC], --sep-string[=ŘETÄšZEC]\n" " oddÄ›lí sloupce ŘETÄšZCEM,\n" " bez -S ale s -J: implicitní oddÄ›lovaÄ je TAB\n" " bez -S a bez -J: mezera (rovnocenné s -S\" \")\n" " neovlivňuje parametry sloupců.\n" " -t, --omit-header nevypisuje hlaviÄky a patiÄky stránek\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " nevypisuje hlaviÄky a patiÄky stránek, ignoruje " "rozvržení\n" " stránek vstupního souboru (ignoruje znak nové stránky " "FF)\n" " -v, --show-nonprinting\n" " použije osmiÄkovou notaci se zpÄ›tným lomítkem\n" " -w, --width=Å ÃŘKA_STRÃNKY\n" " nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků pouze\n" " pro vícesloupcový výstup, -s[ZNAK] vypíná (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=Å ÃŘKA_STRÃNKY\n" " nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků vždy,\n" " když není zadán pÅ™epínaÄ -J, zkracuje řádky;\n" " neovlivňuje -S nebo -s.\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t je implikováno, pokud DÉLKA_STRÃNKY <= 10. Nebude-li SOUBOR zadán nebo\n" "bude-li „-“, pak bude Äten standardní vstup.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [PROMÄšNNÃ]…\n" "Vypíše hodnoty zadaných PROMÄšNNÃCH prostÅ™edí. Pokud žádná PROMÄšNNà není\n" "zadána, vypíše dvojice název hodnota pro vÅ¡echny promÄ›nné.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null každý výstupní řádek zakonÄí nulový bajtem místo znakem\n" " nového řádku\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "varování: %s: znak nebo znaky, které následují za znakovou konstantou budou\n" "ignorovány" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s FORMÃT [ARGUMENT]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Vypíše ARGUMENT(Y) v urÄeném FORMÃTU nebo provede podle PŘEPÃNAČŮ:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMÃT urÄuje výstup jako u funkce printf v C. Interpretované sekvence " "jsou:\n" "\n" " \\\" dvojité uvozovky\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN bajt s osmiÄkovou hodnotou NNN (1 až 3 Äíslice)\n" " \\xHH bajt s šestnáctkovou hodnotou HH (1 až 2 Äíslice)\n" " \\uHHHH unicodový (ISO/IEC 10646) znak s šestnáctkovou hodnotou HHHH\n" " (4 Äíslice)\n" " \\UHHHHHHHH unicodový znak s Å¡estnáctkovou hodnotou HHHHHHHH (8 Äíslic)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% jeden znak procenta („%“)\n" " %%b ARGUMENT jako Å™etÄ›zec, kde jsou interpretovány escape sekvence\n" " („\\“), až na to, že osmiÄkové zápisy jsou tvaru \\0 nebo \\0NNN\n" "\n" "a vÅ¡echny specifikace formátu z jazyka C konÄící jedním znakem " "z diouxXfeEgGcs\n" "s ARGUMENTY pÅ™evedenými nejprve na odpovídající typ. Šířky promÄ›nných jsou\n" "respektovány.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: oÄekávána Äíselná hodnota" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: hodnota nebyla zcela pÅ™evedena" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "v escape sekvenci oÄekáváno Å¡estnáctkové Äíslo" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "chybný název univerzálního znaku \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "chybná šířka položky: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "chybná pÅ™esnost: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: neplatné urÄení konverze" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "varování: pÅ™ebyteÄné argumenty jsou ignorovány poÄínaje %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (pro regvýr %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [VSTUP]… (bez -G)\n" " nebo: %s -G [PŘEPÃNAÄŒ]… [VSTUP [VÃSTUP]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Vypíše permutovaný rejstřík, vÄetnÄ› kontextu, slov ze vstupních souborů\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference ve výstupu jsou automaticky generované " "odkazy\n" " -G, --traditional způsobí chování jako „ptx“ ze System V\n" " -F, --flag-truncation=ŘETÄšZEC použije ŘETÄšZEC pro urÄení zkracování " "řádků\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=ŘETÄšZEC jméno makra, které se má použít místo „xx“\n" " -O, --format=roff generuje výstup pro program roff\n" " -R, --right-side-refs vloží odkazy vpravo, nepoÄítány v -w\n" " -S, --sentence-regexp=REGVÃR pro konec řádků a konec vÄ›t\n" " -T, --format=tex generuje výstup pro TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGVÃR použije REGVÃR pro urÄení každého slova\n" " -b, --break-file=SOUBOR znaky pÅ™eruÅ¡ující slovo v tomto SOUBORU\n" " -f, --ignore-case pÅ™epsání malých písmen na velká pro Å™azení\n" " -g, --gap-size=ÄŒÃSLO velikost mezery ve sloupcích mezi " "výstupními\n" " položkami\n" " -i, --ignore-file=SOUBOR pÅ™eÄte slova, která se mají ignorovat\n" " ze SOUBORU\n" " -o, --only-file=SOUBOR pÅ™eÄtení seznamu slov pouze ze SOUBORU\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references první položka každého řádku je odkaz\n" " -t, --typeset-mode – neimplementováno –\n" " -w, --width=ÄŒÃSLO šířka výstupu ve sloupcích, bez odkazů\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Jestliže není SOUBOR zadán nebo je „-“, bude Äten standardní vstup.\n" "Implicitní pÅ™epínaÄe: „-F /“\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "chybné šířka mezery: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Vypíše celý název souÄasného pracovního adresáře.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical použije PWD z prostÅ™edí, i když obsahuje symbolické " "odkazy\n" " -P, --physical vyhne se vÅ¡em symbolickým odkazům\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "zmÄ›na pracovního adresáře na %s selhala" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "nelze získat informace o %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "v %s nemohu nalézt položku adresáře přísluÅ¡ného i-uzlu" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignoruji argumenty, které nejsou pÅ™epínaÄi" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… SOUBOR…\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Vypíše hodnotu symbolického odkazu nebo kanonický název souboru\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize kanonizuje rekurzivním následováním každého\n" " symbolického odkazu v každé Äásti zadaného\n" " názvu;\n" " vÅ¡echny Äásti až na poslední musí existovat\n" " -e, --canonicalize-existing kanonizuje rekurzivním následováním každého\n" " symbolického odkazu v každé Äásti zadaného\n" " názvu;\n" " vÅ¡echny Äásti musí existovat\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing kanonizuje rekurzivním následováním každého\n" " symbolického odkazu v každé Äásti zadaného\n" " názvu;\n" " Äásti názvu nemusí existovat\n" " -n, --no-newline bez odřádkování\n" " -q, --quiet,\n" " -s, --silent potlaÄí vÄ›tÅ¡inu chybových hlášek\n" " -v, --verbose hlásí chyby\n" " -z, --zero výstup oddÄ›lí znakem NUL místo novým řádkem\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "s více argumenty se pÅ™epínaÄ --no-newline ignoruje" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Vypíše vyhodnocený absolutní název souboru.\n" "VÅ¡e až na poslední Äást musí existovat.\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing vÅ¡echny Äásti cesty musí existovat\n" " -m, --canonicalize-missing žádná Äást cesty nemusí existovat\n" " -L, --logical Äást „..“ se vyhodnotí pÅ™es symbolickými " "odkazy\n" " -P, --physical symbolické odkazy se vyhodnocuji v původním\n" " poÅ™adí (výchozí)\n" " -q, --quiet potlaÄí vÄ›tÅ¡inu chybových hlášek\n" " --relative-to=SOUBOR cestu vyhodnotí vzhledem k SOUBORU\n" " --relative-base=SOUBOR vypíše absolutní cestu, nekonÄí-li pod " "SOUBOREM\n" " -s, --strip, --no-symlinks nevyhodnocuje symbolické odkazy\n" " -z, --zero výstup bude oddÄ›len nulovými znaky namísto\n" " znaky konce řádku\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "tvorba relativní cesty" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: sestoupit do proti zápisu chránÄ›ného adresáře %s?" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: sestoupit do adresáře %s?" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: smazat proti zápisu chránÄ›ný %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: smazat %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "smazán adresář: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "adresář nelze smazat: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "pÅ™eskakuji %s, protože se nachází na jiném zařízení" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "průchod se nezdaÅ™il: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "neoÄekávané selhání: fts_info=%d: %s\n" "prosím, podejte hlášení (anglicky) na %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Pro odstranÄ›ní %3$s zkuste „%1$s ./%2$s“.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Maže (unlink) SOUBOR(Y).\n" "\n" " -f, --force ignoruje neexistující soubory a argumenty, nikdy se\n" " neptá\n" " -i, ptá se pÅ™ed každým smazáním\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I zeptá se jednou pÅ™ed smazáním více než tří souborů,\n" " nebo rekurzivním mazáním. Obtěžuje ménÄ› než -i,\n" " pÅ™esto poskytuje ochranu proti vÄ›tÅ¡inÄ› chyb.\n" " --interactive[=KDY]\n" " ptá se podle KDY: „never“ (nikdy), „once“ (jednou, -" "I)\n" " nebo „always“ (vždy, -i). Bez KDY se ptá vždy.\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system\n" " pÅ™i rekurzivním mazání vynechá adresáře, jež se " "nachází\n" " na jiném souborovém systému než přísluÅ¡ný argument\n" " z příkazové řádky\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root\n" " s „/“ nezachází zvláštnÄ›\n" " --preserve-root nemaže „/“ (výchozí)\n" " -r, -R, --recursive maže adresáře a jejich obsah rekurzivnÄ›\n" " -d, --dir maže prázdné adresáře\n" " -v, --verbose vypisuje, co je provádÄ›no\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "ImplicitnÄ› rm nemaže adresáře. Pro smazání každého zadaného adresáře vÄetnÄ›\n" "jeho obsahu použijte --recursive (-r nebo -R).\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Smazání souboru, jehož název zaÄíná znakem „-“, například „-foo“,\n" "docílíte jedním z následujících příkazů:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "VezmÄ›te na vÄ›domí, že pokud pomocí rm smažete soubor, je, za pÅ™edpokladu\n" "dostateÄných znalostí a/nebo Äasu, obvykle možné obnovit Äásti takového\n" "souboru. Jestliže chcete vÄ›tší jistotu, že obsah nepůjde obnovit, zvažte\n" "použití nástroje „shred“.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: smazat vÅ¡echny argumenty rekurzivnÄ›? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: smazat vÅ¡echny argumenty? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "mažu adresář, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "odstranÄ›ní adresáře %s selhalo" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Smaže ADRESÃŘ(E), pokud jsou prázdné.\n" "\n" " --ignore-fail-on-non-empty\n" " ignoruje každé selhání, která je způsobeno jen a pouze\n" " tím, že adresář je neprázdný\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents maže ADRESÃŘ a jeho rodiÄe; napÅ™: „rmdir -p a/b/c“ je\n" " podobné „rmdir a/b/c a/b a“\n" " -v, --verbose vypisuje oznámení o každém zpracovávaném adresáři\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "odstranÄ›ní %s selhalo" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Použití: %s KONTEXT PŘÃKAZ [ARGUMENTY]\n" " nebo: %s [-c] [-u UŽIVATEL] [-r ROLE] [-t DRUH] [-l ROZSAH]\n" " PŘÃKAZ [ARGUMENTY]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Spustí program v jiném bezpeÄnostním kontextu.\n" "Bez KONTEXTU a bez PŘÃKAZU vypíše souÄasný bezpeÄnostní kontext.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " KONTEXT Úplný bezpeÄnostní kontext\n" " -c, --compute vypoÄte pÅ™echodový kontext procesu pÅ™ed úpravou\n" " -t, --type=DRUH druh (pro stejnou roli jako má rodiÄ)\n" " -u, --user=UŽIVATEL identita uživatele\n" " -r, --role=ROLE role\n" " -l, --range=ROZSAH rozsah úrovní\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "více rolí" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "více druhů" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "více uživatelů" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "více rozsahů úrovní" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "selhalo získání souÄasného kontextu" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "musíte zadat -c, -t, -u, -l, -r nebo kontext" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nebyl zadán žádný příkaz" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s lze provozovat jen na jádÅ™e podporujícím SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "selhal výpoÄet nového kontextu" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "selhalo nastavení nového uživatele %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "selhalo nastavení nového druhu %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "selhalo nastavení nového rozsahu %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "selhalo nastavení nové role %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "bezpeÄnostní kontext %s nelze nastavit" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… POSLEDNÃ\n" " nebo: %s [PŘEPÃNAÄŒ]… PRVNà POSLEDNÃ\n" " nebo: %s [PŘEPÃNAÄŒ]… PRVNà PŘÃRÅ®STEK POSLEDNÃ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Vypíše Äísla od PRVNÃHO do POSLEDNÃHO s krokem PŘÃRÅ®STEK.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=FORMÃT použije printf FORMÃT pro výpis reálných Äísel\n" " -s, --separator=ŘETÄšZEC použije ŘETÄšZEC k oddÄ›lení Äísel (implicitnÄ›: " "\\n)\n" " -w, --equal-width srovná šířku zarovnáním úvodními nulami\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Bude-li PRVNà nebo PŘÃRÅ®STEK vynechán, implicitnÄ› se nastaví na 1. Což\n" "znamená, že vynechaný PŘÃRÅ®STEK bude 1, i když POSLEDNà je menší než PRVNÃ.\n" "PRVNÃ, PŘÃRÅ®STEK a POSLEDNà jsou údaje v pohyblivé řádové Äárce. PŘÃRÅ®STEK\n" "bývá kladný, když PRVNà je menší než POSLEDNÃ, a bývá záporný, když PRVNÃ\n" "je vÄ›tší než POSLEDNÃ.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMÃT musí být vhodný pro vytiÅ¡tÄ›ní jednoho argumentu typu „double“;\n" "výchozí je „%PŘESf“, pokud PRVNÃ, PŘÃRÅ®STEK a POSLEDNà jsou vÅ¡echny\n" "desítková Äísla s pevnou řádovou Äárkou s nejvÄ›tší pÅ™esností PŘES, jinak " "„%g“.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "chybný argument v pohyblivé řádové Äárce: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "formát %s má neznámou direktivu %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "formátovací Å™etÄ›zec nesmí být zadán pÅ™i požadavku na tisk stejnÄ› Å¡irokých " "Å™etÄ›zců" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Použití: %s [KRÃTKÃ_PŘEPÃNAÄŒ]… JMÉNO_UŽIVATELE PŘÃKAZ [ARGUMENT]…\n" " nebo: %s DLOUHÃ_PŘEPÃNAÄŒ\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Zbaví se doplňkových skupin, pÅ™evezme ID uživatele a ID skupiny urÄené\n" "JMÉNEM_UŽIVATELE (Äíselným ID nebo jménem) a spustí PŘÃKAZ se zadanými\n" "ARGUMENTY.\n" "SkonÄí s výstupním kódem 111, pokud není možné pÅ™ejmout požadované ID\n" "uživatele a skupiny. Jinak vrátí výstupní kód PŘÃKAZU.\n" "Tento program má smysl jen, je-li vyvolán rootem (ID uživatele 0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1…] taktéž nastaví primární ID skupiny na Äíslo GID a\n" " (je-li zadáno) ID doplňkových skupin na GID1, …\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "neznámé ID uživatele: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "abyste mohli použit ID uživatele %s, musíte také použít -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "doplňkovou skupinu(y) nelze nastavit" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "ID skupiny nelze nastavit na %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "ID uživatele nelze nastavit na %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Zadané SOUBORY opakovanÄ› pÅ™epíše, Äímž ztíží pokusy o obnovení jejich " "obsahu\n" "i za použití velmi drahého vybavení.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force povolí zmÄ›nu práva pro zápis do souboru, jestliže je to " "nutné\n" " -n, --iterations=N\n" " pÅ™epíše N krát, místo implicitního poÄtu (%d)\n" " --random-source=SOUBOR\n" " získá náhodné bajty ze SOUBORU\n" " -s, --size=N aplikuje na toto množství bajtů (přípony jako K, M, G\n" " jsou možné)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove zkrátí a smaže soubor po pÅ™epsání\n" " -v, --verbose výpis informací o průbÄ›hu\n" " -x, --exact nezaokrouhluje velikost souboru nahoru na celé bloky;\n" " implicitní pro ne-obyÄejné soubory\n" " -z, --zero pÅ™idá poslední fázi pÅ™episu nulami, aby zametl stopy\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Pokud je SOUBOR „-“, skartuje standardní výstup.\n" "\n" "Je-li zadáno --remove (-u), SOUBOR(Y) smaže. Výchozí chování je nemazat\n" "soubory, protože je běžné zpracovávat zařízení jako /dev/hda a tyto\n" "soubory se obvykle nemažou. Pokud se pracuje nad obyÄejným souborem,\n" "vÄ›tÅ¡ina lidí volí pÅ™epínaÄ --remove.\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "VAROVÃNÃ: Pamatuje, že shred se spoléhá na jeden velmi důležitý pÅ™edpoklad:\n" "Že souborový systém pÅ™episuje data na stejné místo. Toto je tradiÄní " "způsob,\n" "jak vÄ›ci fungují, ale mnoho moderních návrhů souborových systémů nesplňuje\n" "tento pÅ™edpoklad. Následují příklady souborových systémů, na kterých není\n" "shred úÄinný nebo na kterých není zaruÄena úÄinnost pÅ™i vÅ¡ech režimech\n" "tÄ›chto systémů:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* záznamovÄ› strukturované nebo žurnálovací souborové systémy, zvláštÄ› " "takové,\n" "co jsou dodávány s AIXEM a Solarisem (a JFS, ReiserFS, XFS, Ext3 atd.)\n" "\n" "* souborové systémy, které zapisují redundantní data a ustojí i selhání\n" "nÄ›kterých zápisů, jako jsou souborové systémy vystavÄ›né nad RAIDem\n" "\n" "* souborové systémy, které dÄ›lají snímky, jako je NFS server od\n" "Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* souborové systémy, které používají doÄasná meziúložiÅ¡tÄ›, jako je klient\n" "NFS verze 3\n" "\n" "* komprimované souborové systémy\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "V případÄ› souborového systému ext3 se výše uvedené upozornÄ›ní (omezená\n" "úÄinnost shredu) vztahuje jen na režim data=journal, ve kterém se žurnálují\n" "kromÄ› metadat i samotný obsah souborů. Jak v režimu data=order " "(implicitní),\n" "tak v data=writeback shred pracuje zcela normálnÄ›. Režim žurnálování u ext3\n" "lze zmÄ›nit pÅ™idáním volby data=NÄšCO k pÅ™ipojovacím volbám daného " "souborového\n" "systému do souboru /etc/fstab, jak je popsáno v manuálu k příkazu mount\n" "(man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Navíc zálohy a vzdálená zrcadla souborových systémů mohou obsahovat kopie\n" "souboru, který nemůže být smazán, a tak umožňují pozdÄ›jší obnovu\n" "skartovaných souborů.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync selhala" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync selhala" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: nelze pÅ™evinout" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: průchod %lu/%lu (%s)…" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: chyba pÅ™i zápisu na pozici %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek selhala" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: soubor je příliÅ¡ dlouhý" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: průchod %lu/%lu (%s)…%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: průchod %lu/%lu (%s)…%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat selhala" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: chybný typ souboru" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: soubor má zápornou velikost" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: chyba pÅ™i zkracování souboru" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl selhala" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: shred nelze použít na deskriptor souboru otevÅ™ený pro pÅ™ipojování" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: probíhá mazání" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: pÅ™ejmenováno na %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: mazání selhalo" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: smazán" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: uzavÅ™ení selhalo" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: soubor nelze otevřít pro zápis" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: neplatný poÄet průchodů" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "zadáno více zdrojů náhodných Äísel" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: chybná velikost souboru" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]\n" " nebo: %s -e [PŘEPÃNAÄŒ]… [ARG]…\n" " nebo: %s -i DO-HO [PŘEPÃNAÄŒ]…\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "Vypíše náhodnou permutaci vstupních řádků na standardní výstup.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo každý ARG považuje za vstupní řádek\n" " -i, --input-range=DO-HO každé Äíslo DO až HO považuje za vstupní řádek\n" " -n, --head-count=POÄŒET vypíše nejvýše POÄŒET řádků\n" " -o, --output=SOUBOR výsledek zapíše do SOUBORU na místo na\n" " standardní výstup\n" " --random-source=SOUBOR\n" " získá náhodné bajty ze SOUBORU\n" " -z, --zero-terminated řádky zakonÄí bajtem 0 místo znakem nového " "řádku\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "zadáno více pÅ™epínaÄů -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "neplatný vstupní rozsah %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "neplatný poÄet řádků %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "zadáno více výstupních souborů" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "pÅ™epínaÄe -e a -i nelze kombinovat" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Použití: %s ÄŒÃSLO[PŘÃPONA]…\n" " nebo: %s PŘEPÃNAÄŒ\n" "ÄŒeká POÄŒET sekund. PŘÃPONA může být „s“ (sekundy) – implicitnÄ›, " "„m“ (minuty),\n" "„h“ (hodiny) nebo „d“ (dny). V mnoha implementacích musí být ÄŒÃSLO Äíslo " "celé,\n" "zde může být i Äíslem desetinným. Dva a více argumentů způsobí, že se bude\n" "Äekat po dobu danou souÄtem zadaných hodnot.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "chybné Äasový interval %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "z hodin reálného Äasu nelze Äíst" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "Vypíše seÅ™azené zÅ™etÄ›zení vÅ¡ech SOUBORÅ® na standardní výstup.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Řadicí pÅ™epínaÄe:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignoruje úvodní mezery\n" " -d, --dictionary-order uvažuje pouze mezery a alfanumerické znaky\n" " -f, --ignore-case pÅ™evede malá písmena na velká\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort porovnává podle obecných Äíselných hodnot\n" " -i, --ignore-nonprinting uvažuje pouze tisknutelné znaky\n" " -M, --month-sort porovnává podle mÄ›síců\n" " (neznámý) < „LED“ < … < „PRO“\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort porovnává Äísla v lidsky Äitelné podobÄ›\n" " (například 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort porovnává podle Äíselné hodnoty Å™etÄ›zce\n" " -R, --random-sort Å™adí podle náhodných hashů klíÄů\n" " --random-source=SOUBOR získá náhodné bajty ze SOUBORU\n" " -r, --reverse obrátí výsledek porovnávání\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=SLOVO Å™adí podle SLOVA:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort pÅ™irozené Å™azení (verzovacích) Äísel v textu\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Další pÅ™epínaÄe:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=PSPOJÅ® najednou spojí nejvýše PSPOJÅ® vstupů;\n" " pÅ™i více použije doÄasné soubory\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\n" " zkontroluje, zda vstup je seÅ™azen; neÅ™adí\n" " -C, --check=quiet, --check=silent\n" " jako -c, ale nehlásí první chybnou řádku\n" " --compress-program=PROGRAM\n" " pomocné soubory komprimuje příkazem PROGRAM,\n" " dekomprimuje je pomocí PROGRAM -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug vyznaÄí Äást řádku použitou k řazení a upozorní\n" " na sporné způsoby použití na chybovém výstupu\n" " --files0-from=S Äte vstup ze souborů, jejichž jména zakonÄená\n" " znakem NULL jsou uvedena v souboru S;\n" " Je-li S „-“, pak naÄte jména ze standardního " "vstupu\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=DEFINICE_KLÃÄŒE Å™adí podle klíÄe, DEFINICE_KLÃÄŒE urÄuje místo\n" " a druh\n" " -m, --merge spojí již seÅ™azené soubory, neÅ™adí\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=SOUBOR výsledek zapíše do SOUBORU místo na standardní\n" " výstup\n" " -s, --stable stabilizuje výsledek zakázáním seÅ™azení " "stejných\n" " položek porovnáváním bajt po bajtu\n" " -S, --buffer-size=VELIKOST\n" " použije VELIKOST pro hlavní paměťový buffer\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=ODDÄšLOVAÄŒ\n" " použije ODDÄšLOVAÄŒE místo pÅ™echodu nemezera/" "mezera\n" " -T, --temporary-directory=ADRESÃŘ\n" " použije ADRESÃŘ pro doÄasné soubory, nepoužije\n" " $TMPDIR, ani %s.\n" " Více pÅ™epínaÄů zadává více adresářů.\n" " --parallel=N omezí poÄet souběžných Å™azení na N\n" " -u, --unique s -c testuje striktní uspořádání;\n" " jinak vypíše pouze první ze stejných sekvencí\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated vstupní řádky jsou ukonÄeny bajtem 0 místo LF\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "DEFINICE_KLÃÄŒE pro poÄáteÄní a koncové místo má tvar\n" "P[.Z][PŘEPÃNAÄŒE][,P[.Z][PŘEPÃNAÄŒE]], kde P je Äíslo položky a Z pozice " "znaku\n" "v položce, oboje poÄítáno od 1 a koncové místo je standardnÄ› konec řádku.\n" "Není-li uvedeno -t ani -b, znaky v položce jsou poÄítány od zaÄátku\n" "pÅ™edchozího bílého místa. PŘEPÃNAÄŒE jsou jeden nebo více jednopísmenných\n" "Å™adicích pÅ™epínaÄů [bdfgiMhnRrV], které pÅ™ebíjí globální nastavení pro " "tento\n" "klíÄ. Není-li klÃ­Ä zadán, použije se celý řádek jako klíÄ.\n" "\n" "VELIKOST smí být následována tÄ›mito násobnými příponami:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1 % z pamÄ›ti, b 1, K 1024 (implicitní), a tak dále pro M, G, T, P, E, Z, " "Y.\n" "\n" "Není-li zadán SOUBOR nebo je-li „-“, Äte standardní vstup.\n" "*** VAROVÃNà ***\n" "Lokalizace vybraná prostÅ™edím ovlivňuje poÅ™adí Å™azení.\n" "TradiÄní poÅ™adí Å™azení, které používá hodnoty jednotlivých bajtů, získáte\n" "nastavením LC_ALL=C.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "Äekám na %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] skonÄil neobvykle" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "v %s nelze vytvoÅ™it doÄasný soubor" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "soubor se nepodaÅ™ilo otevřít" #: src/sort.c:970 msgid "fflush failed" msgstr "vyprázdnÄ›ní souborového proudu selhalo" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "uzavÅ™ení souboru selhalo" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "volání dup2 selhalo" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nelze provést %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "nelze vytvoÅ™it doÄasný soubor" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "pro %s -d nelze založit proces" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nelze provést %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "varování: nelze smazat: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "argument %2$s za --%1$s je neplatný" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "minimální argument pro --%s je %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argument %2$s za --%1$s je příliÅ¡ velký" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "maximální argument pro --%s se souÄasnými bÄ›hovými limity je %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "Äíslo u --parallel nesmí být nulové" #: src/sort.c:1494 msgid "stat failed" msgstr "funkce stat selhala" #: src/sort.c:1755 msgid "read failed" msgstr "Ätení ze souboru se nezdaÅ™ilo" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "pÅ™evod Å™etÄ›zce selhal" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "nepÅ™evedený Å™etÄ›zec byl %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ žádná shoda klíÄe\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "použit zastaralý klÃ­Ä %s, zvažte použití %s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "klÃ­Ä %lu má nulovou šířku a nebude brán na zÅ™etel" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "úvodní mezery u klíÄe %lu mají význam, zvažte též zadání „b“" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "klÃ­Ä %lu je Äíselný a zasahuje do více položek" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "pÅ™epínaÄ â€ž-%s“ je ignorován" msgstr[1] "pÅ™epínaÄe „-%s“ jsou ignorovány" msgstr[2] "pÅ™epínaÄe „-%s“ jsou ignorovány" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "pÅ™epínaÄ â€ž-r“ se vztahuje jen na poslední možné porovnání" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "zápis se nezdaÅ™il" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: neseÅ™aditelný řádek: " #: src/sort.c:2786 msgid "standard error" msgstr "standardní chybový výstup" #: src/sort.c:3698 msgid "cannot read" msgstr "nelze Äíst" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: neplatné urÄení položky %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "pÅ™epínaÄe „-%s“ nejsou sluÄitelné" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: neplatné Äíslo na zaÄátku %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "neplatné Äíslo za „-“" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "neplatné Äíslo za „.“" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "zbloudilý znak v zadání Å™adicí položky" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "zadáno více kompresních programů" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "neplatné Äíslo na zaÄátku položky" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "Äíslo položky je nula" #: src/sort.c:4392 msgid "character offset is zero" msgstr "posun znaku je nula" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "neplatné Äíslo za „,“" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "zvolený oddÄ›lovaÄ položek je prázdný" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "z %s nelze naÄíst jména souborů" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: neplatný název souboru s nulovou délkou" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "žádný vstup z %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "použijí se Å™adicí pravidla %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "použije se obyÄejné porovnávání bajtů" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "další argument %s není s -%c dovolen" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "délka přípony musí být alespoň %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [VSTUP [PŘEDPONA]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "RozdÄ›lí VSTUP do souborů PŘEDPONAaa, PŘEDPONAab, … s pevnou délkou; výchozí\n" "délka je 1000 řádků a výchozí PŘEDPONA je „x“. Pokud VSTUP nebude zadán\n" "nebo bude „-“, bude Äten standardní vstup.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N použije přípony délky N (výchozí je %d)\n" " --additional-suffix=PŘÃPONA\n" " k názvům souborů pÅ™ipojí dodateÄnou PŘÃPONU.\n" " -b, --bytes=VELIKOST zapíše VELIKOST bajtů do každého výstupního " "souboru\n" " -C, --line-bytes=VELIKOST\n" " zapíše nejvýše VELIKOST bajtů na výstupní řádek " "do\n" " každého souboru\n" " -d, --numeric-suffixes[=OD]\n" " použije Äíselné přípony místo abecedních, OD mÄ›ní\n" " poÄáteÄní hodnotu (výchozí je 0).\n" " -e, --elide-empty-files\n" " netvoří prázdné výstupní soubory, je-li použito „-" "n“\n" " --filter=PŘÃKAZ zapíše do shellového PŘÃKAZU, název souboru je " "$FILE\n" " -l, --lines=POÄŒET zapíše POÄŒET řádků do každého výstupního souboru\n" " -n, --number=DÃLÅ® vytvoří DÃLÅ® výstupních souborů. Vizte níže.\n" " -u, --unbuffered okamžitÄ› kopíruje vstup na výstup spolu s „-n r/" "…“\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose pÅ™ed otevÅ™ením každého výstupního souboru vypíše\n" " oznámení o tomto\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "DÃLÅ® smí být:\n" "N rozdÄ›lí na N souborů podle velikosti vstupu\n" "K/N K-tý z N vypíše na standardní výstup\n" "l/N rozdÄ›lí na N souborů, aniž by se dÄ›lily řádky\n" "l/K/N K-tý z N na standardní výstup, aniž by se dÄ›lily řádky\n" "r/N jako „l“, ale použije se cyklické dÄ›lení\n" "r/K/N podobnÄ›, ale na standardní výstup vypíše pouze K-tý z N\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "přípony výstupních souborů vyÄerpány" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "vytvářím soubor %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s by pÅ™epsalo vstup; zpracování pÅ™eruÅ¡eno" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "promÄ›nnou prostÅ™edí FILE se nepodaÅ™ilo nastavit" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "provádí se s FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "rouru nebylo možné vytvoÅ™it" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "zavírá se pÅ™edchozí roura" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "zavírá se výstupní roura" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "pÅ™esunuje se vstupní roura" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "zavírá se vstupní roura" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "selhalo spuÅ¡tÄ›ní příkazu: „%s -c %s“" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "uzavÅ™ení vstupní roury selhalo" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "Äeká se na proces potomka" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "s FILE=%s, signálem %s z příkazu: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "s FILE=%s, návratový kód %d z příkazu: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "neznámý návratový kód příkazu (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "soubor nelze rozdÄ›lit více způsoby" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: neplatný poÄet dílů" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: chybné Äíslo dílů" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: chybná délka přípony" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: chybný poÄet bajtů" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: chybný poÄet řádků" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "pÅ™epínaÄ poÄtu řádků -%s%c… je příliÅ¡ velký" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: chybná poÄáteÄní hodnota Äíselné přípony" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: chybná velikost I/O bloku" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter nezpracuje kus vytažený na standardní výstup" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "poÄáteÄní hodnota Äíselné přípony je na příponu příliÅ¡ dlouhá" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: velikost souboru nelze urÄit" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "normalizace %s selhala" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "pozor: neznámá escape sekvence „\\%c“" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: chybná specifikace" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "varování: zpÄ›tné lomítko na konci formátovacího Å™etÄ›zce" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "v režimu práce se systémem souborů není možné oznaÄit standardní vstup " "pomocí %s" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "nelze pÅ™eÄíst informace souborového systému pro %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "o standardním vstupu nelze zjistit podrobnosti" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" "Soubor: \"%n\"\n" " ID: %-8i Délka jména: %-7l Druh: %T\n" "Velikost bloku: %-10s Velikost základního bloku: %S\n" "Bloků: Celkem: %-10b Volných: %-10f Dostupných: %a\n" "I-uzlů: Celkem: %-10c Volných: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Soubor: %N\n" "Velikost: %-10s\tBloků: %-10b I/O blok: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Zařízení: %Dh/%dd\tI-uzel: %-10i Odkazů: %-5h Druh zařízení: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Zařízení: %Dh/%dd\tI-uzel: %-10i Odkazů: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr " Práva: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr " Kontext: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Přístup: %x\n" "ZmÄ›na obsahu: %y\n" "ZmÄ›na i-uzlu: %z\n" " Vznik: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Zobrazí informace o souboru nebo souborovém systému.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference následuje odkazy\n" " -f, --file-system zobrazí informace o souborovém systému místo " "o souboru\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMÃT použije zadaný FORMÃT místo implicitního;\n" " za každým FORMÃTEM odřádkuje\n" " --printf=FORMAT jako --format, ale rozpozná escape sekvence " "zpÄ›tných\n" " lomítek a implicitnÄ› neodřádkuje. Pro odřádkování\n" " pÅ™idejte do FORMÃTU „\\n“\n" " -t, --terse vytiskne informace ve struÄné podobÄ›\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Platné formátovací sekvence pro soubory (bez --file-system):\n" "\n" " %a přístupová práva osmiÄkovÄ›\n" " %A přístupová práva v podobÄ› vhodné pro ÄlovÄ›ka\n" " %b poÄet alokovaných bloků (vizte %B)\n" " %B velikost bloku z %b v bajtech\n" " %C Å™etÄ›zec selinuxového bezpeÄnostního kontextu\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Äíslo zařízení desítkovÄ›\n" " %D Äíslo zařízení Å¡estnáctkovÄ›\n" " %f syrový mód (st_mode; práva a druh) Å¡estnáctkovÄ›\n" " %F druh souboru\n" " %g ID skupiny vlastníka\n" " %G jméno skupiny vlastníka\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h poÄet pevných odkazů\n" " %i Äíslo i-uzlu\n" " %m místo pÅ™ipojení\n" " %n jméno souboru\n" " %N escapované jméno souboru dereferencované, jde-li se o symbolický " "odkaz\n" " %o nejlepší velikost bloku pÅ™i I/O pÅ™enosu\n" " %s celková velikost v bajtech\n" " %t hlavní Äíslo zařízení Å¡estnáctkovÄ›\n" " %T vedlejší Äíslo zařízení Å¡estnáctkovÄ›\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u uživatelské ID vlastníka\n" " %U uživatelské jméno vlastníka\n" " %w Äas vzniku souboru v pÅ™irozených jednotkách nebo „-“, není-li znám\n" " %W Äas vzniku souboru v sekundách od poÄátku unixové epochy nebo „0“,\n" " není-li znám\n" " %x Äas posledního přístupu v pÅ™irozených jednotkách\n" " %X Äas posledního přístupu v sekundách od poÄátku unixové epochy\n" " %y Äas poslední zmÄ›ny obsahu v pÅ™irozených jednotkách\n" " %Y Äas poslední zmÄ›ny obsahu v sekundách od poÄátku unixové epochy\n" " %z Äas poslední zmÄ›ny i-uzlu v pÅ™irozených jednotkách\n" " %Z Äas poslední zmÄ›ny i-uzlu v sekundách od poÄátku unixové epochy\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Platné formátovací sekvence pro souborové systémy:\n" "\n" " %a volné bloky dostupné ne-superuživateli\n" " %b datových bloků celkem v systému souborů\n" " %c i-uzlů celkem v systému souborů\n" " %d volných i-uzlů v systému souborů\n" " %f volných bloků v systému souborů\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ID systému souborů Å¡estnáctkovÄ›\n" " %l nejvÄ›tší délka jména souboru\n" " %n jméno souboru\n" " %s velikost bloku (pro rychlejší pÅ™enosy)\n" " %S velikost základního bloku (pro poÄty bloků)\n" " %t druh Å¡estnáctkovÄ›\n" " %T druh v podobÄ› vhodné pro ÄlovÄ›ka\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Použití: %s PŘEPÃNAČ… PŘÃKAZ\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Spustí PŘÃKAZ s pozmÄ›nÄ›nými bufferovacími operacemi standardních proudů.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=REŽIM pÅ™izpůsobí bufferování proudu standardního vstupu\n" " -o, --output=REŽIM pÅ™izpůsobí bufferování proudu standardního výstupu\n" " -e, --error=REŽIM pÅ™izpůsobí bufferování proudu chybového výstupu\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Je-li REŽIM „L“, bude odpovídající proud bufferován po řádcích.\n" "Tato možnost není pro standardní vstup platná.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Je-li REŽIM „0“, odpovídající proud nebude bufferován.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Jinak REŽIM je Äíslo, které smí být následováno jednou z tÄ›chto přípon:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024 a tak dále pro G, T, P, E, Z, Y.\n" "V tomto případÄ› bude odpovídající proud plnÄ› bufferován do pamÄ›ti " "o velikosti\n" "REŽIM bajtů.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "POZNÃMKA: Pokud PŘÃKAZ upravuje bufferování svých standardních proudů " "(napÅ™.\n" "tak Äiní „tee“), pak odpovídající nastavení vykonané pomocí „stdbuf“ pÅ™ijde\n" "vniveÄ. Rovněž nÄ›které filtry (jako „dd“ a „cat“) nepoužívají pro " "zpracování\n" "vstupu a výstupu proudy, a tudíž je nastavení „stdbuf“ nijak neovlivní.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "%s se nepodaÅ™ilo nalézt" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "aktualizace prostÅ™edí s %s se nezdaÅ™ila" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "bufferování po řádcích standardního vstupu nemá význam" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Použití: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [NASTAVENÃ]…\n" " nebo: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [-a|--all]\n" " nebo: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Vypíše nebo zmÄ›ní nastavení terminálu.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all vypíše vÅ¡echna nastavení ve formÄ› pro ÄlovÄ›ka Äitelné\n" " -g, --save vypíše vÅ¡echna nastavení ve formÄ› pro stty\n" " -F, --file=ZAŘÃZENà místo stdin otevÅ™e a použije zadané zařízení\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Volitelný „-“ pÅ™ed NASTAVENÃM znamená negaci. „*“ oznaÄuje nastavení\n" "nedefinované normou POSIX. Použitý systém urÄuje, která nastavení jsou " "možná.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Speciální znaky:\n" " * dsusp ZNAK ZNAK, který posílá terminálu signál stop pÅ™i vyprázdnÄ›ní\n" " standardního vstupu\n" " eof ZNAK ZNAK, který posílá „konec souboru“ (ukonÄení vstupu)\n" " eol ZNAK ZNAK, který ukonÄuje řádek\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 ZNAK alternativní ZNAK pro konec řádku\n" " erase ZNAK ZNAK, který maže poslední zapsaný znak\n" " intr ZNAK ZNAK, který zasílá signál interrupt\n" " kill ZNAK ZNAK, který maže aktuální řádek\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext ZNAK ZNAK, který znemožňuje interpretaci dalšího znaku (quote)\n" " quit ZNAK ZNAK, který posílá signál quit\n" " * rprnt ZNAK ZNAK, který pÅ™ekresluje aktuální řádek\n" " start ZNAK ZNAK, který znovu spustí výstup po jeho pozastavení\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop ZNAK ZNAK, který pozastavuje výstup\n" " susp ZNAK ZNAK, který posílá signál „terminal stop“\n" " * swtch ZNAK ZNAK, který pÅ™epíná na jinou vrstvu shellu\n" " * werase ZNAK ZNAK, který maže poslední zapsané slovo\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Speciální nastavení:\n" " N nastaví vstupní a výstupní rychlost na N baudů\n" " * cols N sdÄ›lí jádru, že terminál má N sloupců\n" " * columns N stejné jako cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N nastaví vstupní rychlost na N\n" " * line N použije linkovou disciplínu N\n" " min N spolu s -icanon nastaví N znaků jako minimum pro ukonÄení\n" " Ätení\n" " ospeed N nastaví rychlost výstupu na N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N poÅ¡le jádru OS, že terminál má N řádků\n" " * size vypíše poÄet řádků a sloupců podle jádra OS\n" " speed vypíše rychlost terminálu\n" " time N spolu s -icanon nastaví Äasový limit pro Ätení na N " "desetin\n" " sekundy\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Nastavení řízení:\n" " [-]clocal zakáže signály pro řízení modemu\n" " [-]cread povolí příjem na vstupu\n" " * [-]crtscts umožní „handshake“ RTS/CTS\n" " * [-]cdtrdsr umožní „handshake“ DTR/DSR\n" " csN nastaví velikost znaku na N bitů, N je 5–8\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb použije dva stop bity (jeden stop bit pomocí „-“)\n" " [-]hup poÅ¡le signál hangup, když poslední proces uzavÅ™e tty\n" " [-]hupcl jako [-]hup\n" " [-]parenb generuje paritní bit na výstupu a oÄekává ho na vstupu\n" " [-]parodd nastaví lichou paritu (nebo sudou pomocí „-“)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Nastavení vstupu:\n" " [-]brkint znak break způsobí signál interrupt\n" " [-]icrnl pÅ™ekládá CR (carriage return) na LF (newline)\n" " [-]ignbrk ignoruje znak break\n" " [-]igncr ignoruje znak CR (carriage return)\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignoruje znaky s chybnou paritou\n" " * [-]imaxbel zvukový signál a nevyprázdnÄ›ní plného vstupního bufferu " "pÅ™i\n" " novém příchozím znaku\n" " [-]inlcr pÅ™ekládá LF (newline) na CR (carriage return)\n" " [-]inpck zaÄne kontrolovat paritu na vstupu\n" " [-]istrip nuluje horní (8.) bit vstupních znaků\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 pÅ™edpokládá vstupní znaky kódované v UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc pÅ™ekládá velká písmena na malá\n" " * [-]ixany každý znak restartuje výstup, nikoli jen znak „start“\n" " [-]ixoff povolí posílání znaků start/stop\n" " [-]ixon povolí řízení toku dat pomocí XON/XOFF\n" " [-]parmrk oznaÄí chyby parity (sekvencí 255-0-znak)\n" " [-]tandem jako [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Nastavení výstupu:\n" " * bsN způsob Äekání na backspace, N je 0–1\n" " * crN způsob Äekání na CR (carriage return), N je 0–3\n" " * ffN způsob Äekání na FF (form feed), N je 0–1\n" " * nlN způsob Äekání na LF (newline), N je 0–1\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl pÅ™ekládá CR (cariage return) na LF (newline)\n" " * [-]ofdel použije znak „delete“ místo znaku „null“ pro výplnÄ›\n" " * [-]ofill použije vyplňovací znak místo Äekání\n" " * [-]olcuc pÅ™ekládá malá písmena na velká\n" " * [-]onlcr pÅ™ekládá LF (newline) na CRLF (carriage return-newline)\n" " * [-]onlret LF (newline) provede CR (carriage return)\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr v prvním sloupci netiskne CR (carriage return)\n" " [-]opost zpracování postprocesorem\n" " * tabN způsob Äekání na vodorovný tabelátor, N je 0–3\n" " * tabs jako tab0\n" " * -tabs jako tab3\n" " * vtN způsob Äekání na svislý tabelátor, N je 0–1\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokální nastavení:\n" " [-]crterase vypisuje mazací znak (erase) jako backspace-mezera-" "backspace\n" " * crtkill zruší celý řádek podle nastavení echoprt a echoe\n" " * -crtkill zruší celý řádek podle nastavení echoctl a echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho řídící znaky pÅ™episuje v notaci se stříškou („^c“)\n" " [-]echo opisuje vstupní znaky\n" " * [-]echoctl jako [-]ctlecho\n" " [-]echoe jako [-]crterase\n" " [-]echok vypíše znak CR (newline) po znaku „kill“\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke jako [-]crtkill\n" " [-]echonl pokud není vypsán jiný znak, vypíše LF (newline)\n" " * [-]echoprt vypisuje vymazané znaky pozpátku, mezi „\\“ a „/“\n" " [-]icanon povolí speciální znaky erase, kill, werase a rprnt\n" " [-]iexten povolí speciální znaky, které neodpovídají normÄ› POSIX.\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig povolí speciální znaky interrupt, quit a suspend\n" " [-]noflsh zakáže vyprázdnÄ›ní bufferů po speciálních znacích " "interrupt\n" " a quit\n" " * [-]prterase jako [-]echoprt\n" " * [-]tostop pozastaví procesy na pozadí, které se pokouÅ¡ejí o zápis\n" " na terminál\n" " * [-]xcase spolu s icanon použije escape sekvenci („\\“) pro velká " "písmena\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Nastavení kombinací:\n" " * [-]LCASE jako [-]lcase\n" " cbreak jako -icanon\n" " -cbreak jako icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked jako brkint ignpar istrip icrnl ixon opost isig\n" " znaky icanon, eof a eol jsou nastaveny na jejich " "implicitní\n" " hodnoty\n" " -cooked jako raw\n" " crt jako echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec jako echoe echoctl echoke -ixany intr ^c erase 0177 kill " "^u\n" " * [-]decctlq jako [-]ixany\n" " ek znaky erase a kill vrátí na jejich implicitní hodnoty\n" " evenp jako parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp jako -parenb cs8\n" " * [-]lcase jako xcase iuclc olcuc\n" " litout jako -parenb -istrip -opost cs8\n" " -litout jako parenb istrip opost cs7\n" " nl jako -icrnl -onlcr\n" " -nl jako icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp jako parenb parodd cs7\n" " -oddp jako -parenb cs8\n" " [-]parity jako [-]evenp\n" " pass8 jako -parenb -istrip cs8\n" " -pass8 jako parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw jako -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw jako cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane jako cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, vÅ¡echny speciální\n" " znaky vrátí na jejich implicitní hodnoty\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Pracuje s linkou tty pÅ™ipojenou ke standardnímu vstupu. Bez argumentů\n" "vypíše rychlost, linkovou disciplínu a odchylky od nastavení „sane“. PÅ™i\n" "nastavování je ZNAK brán doslova nebo kódován jak pÅ™i ^c, 0x37, 0177 nebo\n" "127; speciální hodnoty ^- nebo „undef“ jsou použity pro zákaz speciálních\n" "znaků.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "pouze jedno zařízení může být zadáno" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "pÅ™epínaÄe pro upovídaný a stty Äitelný styl výstupu se vzájemnÄ› vyluÄují" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "pÅ™i zadávání výstupního stylu, nemohou být nastavovány režimy" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: neblokovací mód souboru nelze zruÅ¡it" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argument %s je neplatný" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "postrádám argument pro %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "chybná linková disciplína %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: vÅ¡echny požadované operace nelze provést" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: pro toto zařízení neexistuje informace o velikosti" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "chybná celoÄíselný argument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Ke každému SOUBORU vypíše kontrolní souÄet a poÄet bloků.\n" "\n" " -r použije BSD algoritmus a bloky po 1 K\n" " -s, --sysv použije System V algoritmus a bloky po 512 bajtech\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Donutí pozmÄ›nÄ›né bloky zapsat na disk, aktualizuje superblok.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignoruji vÅ¡echny argumenty" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "POZNÃMKA: váš shell může mít vlastní verzi nástroje %s, která má\n" "obvykle pÅ™ednost pÅ™ed verzí popsanou zde. Pro podrobnosti o podpoÅ™e\n" "jednotlivých pÅ™epínaÄů nahlédnÄ›te do dokumentace vaÅ¡eho shellu.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help vypíše tuto nápovÄ›du a skonÄí\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version vypíše oznaÄení verze a skonÄí\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Povinné argumenty dlouhých pÅ™epínaÄů jsou také povinné u odpovídajících\n" "krátkých pÅ™epínaÄů.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "VELIKOST je celé Äíslo volitelnÄ› následováno jednotkou (příklad: 10M je\n" "10 * 1024 * 1024). Jednotky jsou K, M, G, T, P, E, Z, Y (násobky 1024) nebo\n" "KB, MB, … (násobky 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Zobrazené hodnoty jsou v jednotkách první dostupné VELIKOSTI z --block-" "size,\n" "a promÄ›nných prostÅ™edí %s_BLOCK_SIZE, BLOCK_SIZE a BLOCKSIZE. Jinak se jako\n" "jednotka použije 1024 bajtů (nebo 512, je-li nastaveno POSIXLY_CORRECT).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Chyby v programu %s oznamujte na adrese <%s> (anglicky).\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Chyby v pÅ™ekladu %s hlaste na <http://translationproject.org/team/cs.html>\n" "(Äesky).\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Úplnou dokumentaci lze získat příkazem: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Více informací získáte příkazem „%s --help“.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "VAROVÃNÃ: Zacyklená struktura adresářů.\n" "To téměř jistÄ› znamená, že máte poruÅ¡en souborový systém.\n" "INFORMUJTE VAÅ EHO SPRÃVCE SYSTÉMU.\n" "Následujíc adresář je Äástí kruhu:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše každý SOUBOR na standardní výstup. Poslední řádek jako první.\n" "Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before pÅ™ipojí oddÄ›lovaÄ Å™Ã¡dků pÅ™ed řádky místo za nÄ›\n" " -r, --regex interpretuje oddÄ›lovaÄ jako regulární výraz\n" " -s, --separator=ŘETÄšZEC použije ŘETÄšZCE jako oddÄ›lovaÄe místo nového " "řádku\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: pohyb v souboru selhal" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "záznam je příliÅ¡ dlouhý" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "vytvoÅ™ení doÄasného souboru v %s se nezdaÅ™ilo" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "soubor %s se nepodaÅ™ilo se otevřít pro zápis" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "selhalo pÅ™evinutí proudu souboru %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: chyba pÅ™i zápisu" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "otevÅ™ení %s pro Ätení selhalo" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "oddÄ›lovaÄ nemůže být prázdný" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše posledních %d řádků každého souboru na standardní výstup. S více jak\n" "jedním SOUBOREM bude pÅ™ed vypsáním každého uvedena hlaviÄka obsahující jeho\n" "jméno. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní " "vstup.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K vypíše posledních K bajtů; mimo jiné lze použít\n" " zápis -c +K k vypsání bajtů poÄínaje K. " "z každého\n" " souboru\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " vypisuje pouze data pÅ™idávaná do souboru\n" " („name“ – sleduje dle jména souboru, \n" " „descriptor“ – dle deskriptoru souboru)\n" " -f, --follow a --follow=descriptor jsou stejné\n" " -F stejné jako --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K vypíše posledních K řádků místo posledních %d;\n" " nebo použijte -n +K pro výpis od K. řádku\n" " --max-unchanged-stats=N\n" " dohromady s --follow=name znovu otevÅ™e SOUBOR,\n" " jestliže se jeho velikost bÄ›hem posledních N\n" " (implicitnÄ› %d) iterací nezmÄ›nila, aby se " "podíval,\n" " zda nebyl soubor smazán, nebo pÅ™ejmenován " "(obvyklé\n" " pÅ™i rotaci log souborů). S inotify " "tento pÅ™epínaÄ\n" " nemá valného smyslu.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID s -f se ukonÄí, když proces s Äíslem PID skonÄí\n" " -q, --quiet, --silent nikdy nevypisuje názvy souborů\n" " --retry bude zkouÅ¡et otevřít soubor, i když je nebo bude\n" " nedostupný; vhodné pÅ™i sledování podle jména,\n" " tj. s --follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N spolu s -f Äeká asi N sekund (implicitnÄ› 1,0)\n" " mezi jednotlivými iteracemi. S inotify a --pid=P\n" " kontroluje proces P alespoň jednou za N sekund.\n" " -v, --verbose vždy vypisuje záhlaví s názvy souborů\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Jestliže je první znak K (poÄet bajtů nebo řádků) „+“, zaÄne vypisovat od\n" "K. položky od zaÄátku každého souboru. Jinak vypisuje posledních K položek\n" "souboru. K může mít násobnou příponu (přípona – násobek):\n" "b – 512, kB – 1000, K – 1024, MB – 1000*1000, M – 1024*1024,\n" "GB – 1000*1000*1000, G – 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "PÅ™i --follow (-f) standardnÄ› sleduje tail deskriptor souboru, což znamená,\n" "že i když bude soubor pÅ™ejmenován, tail stále bude sledovat jeho konec.\n" "Toto implicitní chování není žádoucí, jestliže chcete sledovat aktuální\n" "soubor pod daným jménem a ne deskriptor souboru (například rotace logů).\n" "V tomto případÄ› použijte --follow=name. To způsobí, že tail bude sledovat\n" "soubor daného jména takovým způsobem, aby se vyrovnal s jeho pÅ™ejmenováním,\n" "smazáním a vytvoÅ™ením.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "uzavírání %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: nelze se pÅ™esunout na relativní pozici %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s nelze se pÅ™esunout na pozici %s zadanou vzhledem ke konci souboru" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "umístÄ›ní %s nelze urÄit, návrat k aktivnímu dotazování" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "neznámý druh souborového systému 0x%08lx pod %s. Prosím, ohlaste tuto " "skuteÄnost na %s. Návrat k aktivnímu Äekání." #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s se stal nedostupným" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "soubor %s byl nahrazen nesledovatelným; s tímto jménem konÄím" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "soubor %s byl nahrazen vzdáleným souborem; s tímto jménem konÄím" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s se stal znovu dostupným" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "soubor %s se objevil, sledování konce nového souboru pokraÄuje" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" "soubor %s byl nahrazen jiným, sledování konce nového souboru pokraÄuje." #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: neblokující režim nelze zmÄ›nit" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: soubor byl zkrácen" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "již nezbývají žádné soubory" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "rodiÄovský adresář %s nelze sledovat" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "zdroje pro inotify vyÄerpány" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s nelze sledovat" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "chyba pÅ™i sledování události inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "chyba pÅ™i Ätení události inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: nelze sledovat konec souboru tohoto typu; sledování ukonÄeno" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "poÄet v %s je příliÅ¡ velký" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: neplatné Äíslo maximálního poÄtu nezmÄ›nÄ›ných výsledků funkce stat\n" "mezi otevÅ™eními" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: neplatný PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: neplatný poÄet sekund" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "pÅ™epínaÄ použit v chybném kontextu  – %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "varování: --retry je užiteÄný pouze v případÄ› sledovaní dle jména" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "varování: PID ignorován; --pid=PID je užiteÄný pouze v případÄ› sledování " "konce" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "varování: --pid=PID není na tomto systému podporován" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "%s nelze sledovat podle jména" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "varování: sledování standardního vstupu je urÄitÄ› neefektivní" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify nelze použít, návrat k aktivnímu dotazování" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopíruje standardní vstup do každého SOUBORU a také na standardní výstup.\n" "\n" " -a, --append pÅ™ipojí k daným SOUBORÅ®M, nepÅ™episuje je\n" " -i, --ignore-interrupts ignoruje signál „interrupt“\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Je-li SOUBOR „-“, kopíruje opÄ›t na standardní výstup.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "za %s postrádám argument" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "neplatné celé Äíslo %s" #: src/test.c:241 msgid "')' expected" msgstr "oÄekávána „)“" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "oÄekávána „)“, nalezeno %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: oÄekáván unární operátor" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "k pÅ™epínaÄi -nt nemůže být uveden pÅ™epínaÄ -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "k pÅ™epínaÄi -ef nemůže být uveden pÅ™epínaÄ -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "k pÅ™epínaÄi -ot nemůže být uveden pÅ™epínaÄ -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "neznámý binární operátor" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: oÄekáván binární operátor" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Použití: test VÃRAZ\n" " nebo: test\n" " nebo: [ VÃRAZ ]\n" " nebo: [ ]\n" " nebo: [ OPTION\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "UkonÄí se s návratovým kódem urÄeným VÃRAZEM.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Vynechaný VÃRAZ znaÄí nepravdu. Jinak VÃRAZ je pravda nebo nepravda\n" "a nastavuje návratový kód. VÃRAZ je jedním z:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( VÃRAZ ) VÃRAZ je pravdivý\n" " ! VÃRAZ VÃRAZ je nepravdivý\n" " VÃRAZ1 -a VÃRAZ2 VÃRAZ1 i VÃRAZ2 jsou pravdivé\n" " VÃRAZ1 -o VÃRAZ2 VÃRAZ1 nebo VÃRAZ2 je pravdivý\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n ŘETÄšZEC délka ŘETÄšZCE je nenulová\n" " ŘETÄšZEC stejné jako -n ŘETÄšZEC\n" " -z ŘETÄšZEC délka ŘETÄšZCE je nulová\n" " ŘETÄšZEC1 = ŘETÄšZEC2 Å™etÄ›zce jsou shodné\n" " ŘETÄšZEC1 != ŘETÄšZEC2 Å™etÄ›zce se neshodují\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " CELÉ_ÄŒÃSLO1 -eq CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je rovno CELÉMU_ÄŒÃSLU2\n" " CELÉ_ÄŒÃSLO1 -ge CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je vÄ›tší nebo rovno " "CELÉMU_ÄŒÃSLU2\n" " CELÉ_ÄŒÃSLO1 -gt CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je vÄ›tší než CELÉ_ÄŒÃSLO2\n" " CELÉ_ÄŒÃSLO1 -le CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je menší nebo rovno " "CELÉMU_ÄŒÃSLU2\n" " CELÉ_ÄŒÃSLO1 -lt CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je menší než CELÉ_ÄŒÃSLO2\n" " CELÉ_ÄŒÃSLO1 -ne CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 není rovno CELÉMU_ÄŒÃSLU2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " SOUBOR1 -ef SOUBOR2 SOUBOR1 a SOUBOR2 jsou na stejném zařízení a mají\n" " stejný i-uzel\n" " SOUBOR1 -nt SOUBOR2 SOUBOR1 je novÄ›jší (datum zmÄ›ny obsahu) než SOUBOR2\n" " SOUBOR1 -ot SOUBOR2 SOUBOR1 je starší než SOUBOR2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b SOUBOR SOUBOR existuje a je speciální blokový\n" " -c SOUBOR SOUBOR existuje a je speciální znakový\n" " -d SOUBOR SOUBOR existuje a je to adresář\n" " -e SOUBOR SOUBOR existuje\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f SOUBOR SOUBOR existuje a je to obyÄejný soubor (ne adresář)\n" " -g SOUBOR SOUBOR existuje a má nastaven sgid bit\n" " -G SOUBOR SOUBOR existuje a je vlastnÄ›n aktuálním efektivním GID\n" " -h SOUBOR SOUBOR existuje a je to symbolický odkaz (stejné jako -L)\n" " -k SOUBOR SOUBOR existuje a má nastaven „sticky“ bit\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L SOUBOR SOUBOR existuje a je symbolický odkaz (stejné jako -h)\n" " -O SOUBOR SOUBOR existuje a je vlastnÄ›n aktuálním efektivním UID\n" " -p SOUBOR SOUBOR existuje a je pojmenovaná roura\n" " -r SOUBOR SOUBOR existuje a je Äitelný\n" " -s SOUBOR SOUBOR existuje a má délku vÄ›tší než nula\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S SOUBOR SOUBOR existuje a je socket\n" " -t FD SOUBOR s deskriptorem FD je otevÅ™en na terminálu\n" " -u SOUBOR SOUBOR existuje a má nastaven suid bit\n" " -w SOUBOR SOUBOR existuje a lze do nÄ›j zapisovat\n" " -x SOUBOR SOUBOR existuje a je spustitelný (nebo vstoupitelný " "adresář)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Vyjma -h a -L vÅ¡echny souborové testy následují symbolické odkazy.\n" "Dejte pozor na závorky, které musí být v shellu oznaÄeny (napÅ™. zpÄ›tnými\n" "lomítky). CELÉ_ÄŒÃSLO také může být -l ŘETÄšZEC, který je vyhodnocen jako\n" "délka Å™etÄ›zce.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "POZNÃMKA: Na rozdíl od test, [ pÅ™epínaÄe --help a --version zpracovává.\n" "test je považuje za neprázdný ŘETÄšZEC jako jakýkoliv jiný.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test a/nebo [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "chybí „]“" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "nadbyteÄný argumentů %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "pozor: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "pozor: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "pozor: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ] DOBA PŘÃKAZ [ARG]…\n" " nebo: %s [PŘEPÃNAÄŒ]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "Spustí PŘÃKAZ a zabije jej, pokud poběží i po zadané DOBÄš.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " skoÄí se stejným kódem jako PŘÃKAZ, i když příkazu vyprÅ¡el\n" " Äasový limit.\n" " --foreground\n" " nevyprší-li Äasový limit přímo dotazu shellu,\n" " dovolí PŘÃKAZU Äíst z TTY a pÅ™ijímat TTY signály.\n" " V tomto režimu potomkům PŘÃKAZU nebude nastaven Äasový " "limit.\n" " -k, --kill-after=DOBA\n" " rovněž zaÅ¡le signál KILL, pokud PŘÃKAZ poběží i po DOBU\n" " od zaslání původního signálu.\n" " -s, --signal=SIGNÃL\n" " urÄuje signál, který bude po vyprÅ¡ení limitu zaslán.\n" " SIGNÃL může být jméno jako „HUP“ nebo Äíslo.\n" " Seznam signálů lze získat příkazem „kill -l“.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DOBA je desetinné Äíslo s možnou příponou:\n" "„s“ pro sekundy (výchozí), „m“ pro minuty, „h“ pro hodiny nebo „d“ pro dny.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Pokud příkazu vyprší Äasový limit a --preserve-status nebylo použito, pak\n" "skonÄí s kódem 124. Jinak bude vrácen návratový kód PŘÃKAZU. Nebyl-li zadán\n" "signál, bude po vyprÅ¡ení limitu zaslán signál TERM. Signál TERM má za\n" "následek zabití procesu, který tento signál nezachytává nebo neblokuje.\n" "V opaÄném případÄ› je nezbytné použít signál KILL (9), neboÅ¥ takový signál\n" "nelze zachytit. Je-li zaslán signál KILL (9), návratový kód bude 128+9\n" "místo 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "pozor: nepodaÅ™ilo se vypnout vytváření výpisů pamÄ›ti" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "chyba pÅ™i Äekání na příkaz" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "sledovaný příkaz skonÄil uložením obrazu pamÄ›ti" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "neplatný formát data %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "nelze se dotknout (provést příkaz „touch“) %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "zachování Äasů souboru %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Nastaví Äas posledního přístupu a poslední zmÄ›ny obsahu každého zadaného\n" "SOUBORU na aktuální Äas.\n" "\n" "Argument SOUBOR, který neexistuje, bude vytvoÅ™en prázdný, nebyl-li zadán\n" "pÅ™epínaÄ -c nebo -h.\n" "\n" "Argument SOUBOR s hodnotou „-“ bude oÅ¡etÅ™en zvláštnÄ›: zmÄ›na Äasů se dotkne\n" "souboru spojeného se standardním výstupem.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a zmÄ›ní pouze Äas posledního přístupu\n" " -c, --no-create nevytvoří nové soubory\n" " -d, --date=ŘETÄšZEC analyzuje ŘETÄšZEC a použije ho místo aktuálního " "Äasu\n" " -f (ignorován)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference působí na symbolický odkaz místo na soubor,\n" " na který odkaz odkazuje (funguje pouze na " "systémech,\n" " které mohou mÄ›nit Äasy symbolických odkazů)\n" " -m zmÄ›ní pouze Äas poslední zmÄ›ny obsahu souboru\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=SOUBOR\n" " použije Äasy SOUBORU místo aktuálního Äasu\n" " -t ÄŒAS použije [[SS]RR]MMDDhhmm[.ss] místo aktuálního " "Äasu\n" " --time=SLOVO nastaví Äas zadaný SLOVEM: \n" " „access“, „atime“, „use“ (jako -a)\n" " „modify“, „mtime“ (jako -m)\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "VezmÄ›te na vÄ›domí, že formáty Äasů pro pÅ™epínaÄe -d a -t jsou různé.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "Äas nelze urÄit více jak jedním zdrojem" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "pozor: „touch %s“ je zastaralý, použijte „touch -t %04ld%02d%02d%02d%02d." "%02d“" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… MNOŽINA1 [MNOŽINA2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Nahrazuje, sráží a/nebo maže znaky ze standardního vstupu, výsledek\n" "zapisuje na standardní výstup.\n" "\n" " -c, -C, --complement použije doplnÄ›k MNOŽINY1\n" " -d, --delete pouze maže znaky z MNOŽINY1, nenahrazuje\n" " -s, --squeeze-repeats nahradí každou vstupní posloupnost opakujících se\n" " znaků z MNOŽINY1 pouze jedním dotyÄným znakem\n" " -t, --truncate-set1 napÅ™ed zkrátí MNOŽINU1 na délku MNOŽINY2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "MNOŽINY jsou zadány jako Å™etÄ›zce znaků. VÄ›tÅ¡ina znaků reprezentuje je samé,\n" "speciální význam mají tyto sekvence:\n" "\n" " \\NNN znak o hodnotÄ› NNN (1 až 3 osmiÄkové Äíslice)\n" " \\\\ zpÄ›tné lomítko\n" " \\a znak BEL (pípnutí)\n" " \\b backspace\n" " \\f nová strana (form feed)\n" " \\n nový řádek (line feed)\n" " \\r návrat vozíku (return)\n" " \\t vodorovný tabelátor\n" " \\v svislý tabelátor\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v svislý tabelátor\n" " ZNAK1–ZNAK2 vÅ¡echny znaky od ZNAKU1 do ZNAKU2 vzestupnÄ›\n" " [ZNAK*] v MNOŽINÄš2 kopíruje ZNAK tolikrát, aby byla MNOŽINA2 " "stejnÄ›\n" " dlouhá jako MNOŽINA1\n" " [ZNAK*KOLIKRÃT] KOLIKRÃT kopií ZNAKU, osmiÄkovÄ› když zaÄíná Äíslicí 0\n" " [:alnum:] vÅ¡echna písmena a Äíslice\n" " [:alpha:] vÅ¡echna písmena\n" " [:blank:] vÅ¡echny vodorovné mezery\n" " [:cntrl:] vÅ¡echny řídící znaky\n" " [:digit:] vÅ¡echny Äíslice\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] vÅ¡echny tisknutelné znaky bez mezer\n" " [:lower:] vÅ¡echna malá písmena\n" " [:print:] vÅ¡echny tisknutelné znaky vÄetnÄ› mezer\n" " [:punct:] vÅ¡echny interpunkÄní znaky\n" " [:space:] vÅ¡echny vodorovné a svislé mezery\n" " [:upper:] vÅ¡echna velká písmena\n" " [:xdigit:] vÅ¡echny Å¡estnáctkové Äíslice\n" " [=ZNAK=] vÅ¡echny znaky rovnocenné se ZNAKEM\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Nahrazení nastane, jestliže není zadán pÅ™epínaÄ -d a jsou zadány obÄ›\n" "množiny. -t může být použito pouze pÅ™i nahrazování. V případÄ› potÅ™eby je\n" "MNOŽINA2 rozšířena na délku MNOŽINY1 opakováním posledního znaku. " "PÅ™ebyteÄné\n" "znaky MNOŽINY2 jsou ignorovány. Pouze u [:lower:] a [:upper:] je zaruÄeno,\n" "že budou rozepsány vzestupnÄ›; pÅ™i použití v MNOŽINÄš2 pÅ™i nahrazování mohou\n" "být používány pouze v párech pro zmÄ›nu velikosti písmen. -s používá\n" "MNOŽINU1, pokud se nenahrazuje, ani nemaže. Jinak srážení používá MNOŽINU2\n" "a je vykonáno až po nahrazení a mazání.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "varování: nejednoznaÄný osmiÄkový zápis \\%c%c%c bude\n" "\tinterpretován jako 2bajtová sekvence \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "varování: samotné zpÄ›tné lomítko na konci Å™etÄ›zce není pÅ™enositelné" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "konce rozsahu „%s-%s“ jsou v obráceném poÅ™adí" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "chybný ÄítaÄ opakování %s v konstrukci [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "chybí název třídy znaků „[::]“" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "chybí znak třídy ekvivalence „[==]“" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "chybná třída znaku %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: operand ve třídÄ› [=c=] musí být jediný znak" # ? - rzm #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "nezarovnané(á) konstrukce [:upper:] a/nebo [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "v množinÄ› je příliÅ¡ mnoho znaků" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "pÅ™i pÅ™ekladu Å™etÄ›zce1 delšího než Å™etÄ›zec2 nesmí\n" "druhý Å™etÄ›zec konÄit třídou znaků" # should it be string1 or SET1? #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "zadání opakování [c*] nemůže být v MNOŽINÄš1" # string2 or SET2? #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "opakování znaku [c*] může být v MNOŽINÄš2 pouze jednou" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "výraz [=c=] nemůže být v MNOŽINÄš2 pÅ™i nahrazování" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "pÅ™i nahrazování mohou být v MNOŽINÄš2 pouze třídy znaků [:upper:]\n" "a [:lower:]" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "jestliže MNOŽINA1 není zkracována, pak MNOŽINA2 nesmí být prázdná" # ? - rzm #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "pÅ™i nahrazování s doplňkem množiny znaků, MNOŽINA2 musí mapovat vÅ¡echny\n" "znaky z této oblasti do jednoho" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "výraz [c*] může být v MNOŽINÄš2 pouze pÅ™i nahrazování" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "PÅ™i mazání a kompresi opakujících se znaků musí být zadány dvÄ› množiny." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "PÅ™i nahrazování musí být zadány dva Å™etÄ›zce" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Pouze jeden Å™etÄ›zec smí být zadán pÅ™i mazání bez srážení opakujících se znaků" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Použití: %s [argumenty z příkazové řádky jsou ignorovány]\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "SkonÄí s návratovým kódem znaÄícím úspÄ›ch." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "SkonÄí s návratovým kódem znaÄícím selhání." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Použití: %s PŘEPÃNAČ… SOUBOR…\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Zkrátí nebo prodlouží velikost každého SOUBORU na zadanou velikost.\n" "\n" "Neexistující SOUBOR bude vytvoÅ™en.\n" "\n" "Je-li SOUBOR delší než zadaná velikost, budou nadbyteÄná data ztracena.\n" "Je-li SOUBOR kratší, bude prodloužen a prodloužená Äást (díra) bude pÅ™i\n" "Ätení vypadat jako Å™ada nulových bajtů.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create nevytváří žádné soubory\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks považuje VELIKOST za poÄet IO bloků namísto bajtů\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=SOUBOR použije velikost tohoto SOUBORU\n" " -s, --size=VELIKOST použije tuto VELIKOST\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "VELIKOST též může mít jako pÅ™edponu jeden z následujících modifikujících " "znaků:\n" "„+“ prodloužit o, „-“ zkrátit o, „<“ nejvíce, „>“ nejménÄ›, „/“ zaokrouhlit\n" "dolů na násobek kolika, „%“ zaokrouhlit nahoru na násobek kolika.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "pÅ™eteÄení v %<PRIdMAX> * %<PRIdMAX> bajt bloků u souboru %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s má nepoužitelnou, zjevnÄ› zápornou velikost" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "velikost %s nelze zjistit" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "pÅ™eteÄení pÅ™i zaokrouhlování velikosti souboru %s nahoru" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "pÅ™eteÄení pÅ™i prodlužování velikosti souboru %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "zkrácení %s na %<PRIdMAX> bajtů selhalo" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "zadáno více relativních modifikátorů" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "musíte zadat buÄ %s, nebo %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "musíte zadat relativní %s s %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "bylo zadáno %s, ale nebylo %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s nelze otevřít pro zápis" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Použití: %s [PŘEPÃNAÄŒ] [SOUBOR]\n" "Výstupem je úplnÄ› uspořádaný seznam v souladu s ÄásteÄným uspořádáním ze\n" "SOUBORU. Jestliže není SOUBOR zadán, nebo je „-“, bude Äten standardní " "vstup.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: vstup obsahuje lichý poÄet položek" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: vstup obsahuje cyklus:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Vypíše jméno souboru terminálu pÅ™ipojeného na standardní vstup.\n" "\n" " -s, --silent, --quiet potlaÄí výstup a vrátí pouze návratový kód.\n" #: src/tty.c:120 msgid "not a tty" msgstr "není TTY" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Vypíše nÄ›které informace o systému. Není-li zadán žádný pÅ™epínaÄ, výpis je\n" "stejný jako s pÅ™epínaÄem -s.\n" "\n" " -a, --all vypíše vÅ¡echny informace v následujícím poÅ™adí\n" " kromÄ› -p a -i, které vynechá, nejsou-li známy:\n" " -s, --kernel-name vypíše jméno jádra\n" " -n, --nodename vypíše jméno poÄítaÄe v síti\n" " -r, --kernel-release vypíše oznaÄení vydání jádra (Äíslo) [release]\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version vypíše verzi jádra (datum kompilace)\n" " -m, --machine vypíše typ poÄítaÄe (hardware)\n" " -p, --processor vypíše typ procesoru nebo „unknown“ (neznámý)\n" " -i, --hardware-platform vypíše hardwarovou platformu nebo " "„unknown“ (neznámá)\n" " -o, --operating-system vypíše oznaÄení operaÄního systému\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Vypíše architekturu stroje.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nelze zjistit název systému" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každém SOUBORU pÅ™evádí mezery na tabelátory a výsledek vypisuje\n" "na standardní výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude Äten\n" "standardní vstup.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all pÅ™evádí vÅ¡echny mezery místo pouze úvodních\n" " --first-only pÅ™evádí pouze úvodní sekvence mezer (pÅ™ebije -a)\n" " -t, --tabs=POÄŒET nastaví tabelátor na POÄŒET mezer místo 8, (zapne -a)\n" " -t, --tabs=SEZNAM použije Äárkami oddÄ›lený seznam pro pozice tabelátorů\n" " (zapne -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabelátory od jsou od sebe příliÅ¡ vzdálené" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "velikost tabelátoru je příliÅ¡ velká" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [VSTUP [VÃSTUP]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Ze VSTUPU (nebo standardního vstupu) filtruje sousedící shodné řádky\n" "a výsledek zapíše na VÃSTUP (nebo standardní výstup).\n" "\n" "Bez pÅ™epínaÄů zredukuje odpovídající řádky na první výskyt.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count pÅ™ed každý řádek vloží poÄet výskytů\n" " -d, --repeated vypisuje pouze opakující se řádky\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=ZPÅ®SOB_ODDÄšLENÃ]\n" " vypisuje vÅ¡echny opakující se řádky; " "ZPÅ®SOB_ODDÄšLENÃ:\n" " „none“ (žádný, implicitní), „prepend“ (uvozující),\n" " „separate“ (oddÄ›lující); OddÄ›luje se prázdným " "řádkem\n" " -f, --skip-fields=N neporovnává prvních N položek\n" " -i, --ignore-case ignoruje rozdíl mezi malými a velkými písmeny\n" " -s, --skip-chars=N neporovnává prvních N znaků\n" " -u, --unique vypisuje pouze neopakující se řádky\n" " -z, --zero-terminated\n" " řádky zakonÄuje nulovým bajtem, ne znakem nového " "řádku\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N porovnává nejvýše N prvních znaků každého řádku\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Jako položka je chápán sled bílých znaků (obvykle mezer a/nebo tabulátorů)\n" "následovaných nebílými znaky. Položky jsou pÅ™ed znaky pÅ™eskakovány.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Poznámka: „uniq“ nepozná opakující se řádky, pokud spolu nesousedí. Možná\n" "budete chtít vstup nejprve seÅ™adit nebo použít „sort -u“ bez „uniq“.\n" "Porovnávání rovněž respektuje pravidla daná „LC_COLLATE“.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "příliÅ¡ mnoho opakujících se řádků" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "chybný poÄet položek na pÅ™eskoÄení" # bytes to skip? we were talking about chars? - rzm #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "chybný poÄet bajtů na pÅ™eskoÄení" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "chybný poÄet bajtů pro porovnání" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "výpis vÅ¡ech opakujících se řádků a poÄítadla opakování nemá smysl" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Použití: %s SOUBOR\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "Odstraní zadaný SOUBOR voláním služby „unlink“ (odstranit odkaz).\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "nelze odstranit odkaz %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "Äas startu OS nelze zjistit" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %X " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "běží ??? dnů ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "běží %ld den %2d:%02d, " msgstr[1] "běží %ld dny %2d:%02d, " msgstr[2] "běží %ld dnů %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "běží %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu uživatel" msgstr[1] "%lu uživatelé" msgstr[2] "%lu uživatelů" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", průmÄ›rná zátěž: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Vypíše aktuální Äas, Äas, po který je systém v provozu, poÄet uživatelů\n" "pÅ™ihlášených v systému a průmÄ›rný poÄet procesů Äekajících ve frontÄ›\n" "na zpracování bÄ›hem posledních 1, 5 a 15 minut." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Procesy v nepÅ™eruÅ¡itelném\n" "spánku rovněž pÅ™ispívají do průmÄ›rné zátěže.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Pokud není SOUBOR zadán, použije se %s. Obvyklý SOUBOR je %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Vypíše právÄ› pÅ™ihlášené uživatele. Informace jsou brány ze SOUBORU.\n" "Pokud není SOUBOR zadán, použije se %s. Obvyklý SOUBOR je %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Ke každému SOUBORU vypíše poÄet nových řádků, slov a bajtů. Bude-li zadán " "více\n" "než jeden SOUBOR, vypíše i celkové údaje. Jestliže SOUBOR nebude zadán nebo\n" "bude „-“, bude Äten standardní vstup. Slovo je neprázdná posloupnost znaků\n" "oddÄ›lená bílým místem.\n" "Následujícími pÅ™epínaÄi lze vybrat, která poÄítadla budou vypsána. Vždy\n" "v tomto poÅ™adí: nové řádky, slova, znaky, bajty, nejvÄ›tší délka řádku.\n" " -c, --bytes vypíše poÄet bajtů\n" " -m, --chars vypíše poÄet znaků\n" " -l, --lines vypíše poÄet řádků (resp. výskytů znaku nový " "řádek)\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=S zpracuje obsah souborů, jejichž jména oddÄ›lená\n" " znakem NULL jsou uvedena v souboru S;\n" " Je-li S „-“, pak naÄte jména ze standardního " "vstupu\n" " -L, --max-line-length vypíše délku nejdelšího řádku\n" " -w, --words vypíše poÄet slov\n" #: src/who.c:210 msgid " old " msgstr "starý" #: src/who.c:440 msgid "system boot" msgstr "start systému" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "signál=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "návkód=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "zmÄ›na Äasu" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "úroveň bÄ›hu" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "minulá=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "poÄet uživatelů=%lu\n" # FIXME: who.c:print_line() is not wide character aware. Striping non ASCII # chars. This bug has been reported to <bug-coreutils@gnu.org>. #: src/who.c:559 msgid "NAME" msgstr "JMENO" #: src/who.c:559 msgid "LINE" msgstr "TERMINAL" #: src/who.c:559 msgid "TIME" msgstr "CAS" #: src/who.c:559 msgid "IDLE" msgstr "ZAHALI" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "UKONCENI" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR | ARG1 ARG2]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Vypíše informace o právÄ› pÅ™ihlášených uživatelích.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all stejné jako -b -d --login -p -r -t -T -u\n" " -b, --boot Äas posledního startu systému\n" " -d, --dead vypíše mrtvé procesy\n" " -H, --heading vypíše názvy jednotlivých sloupců\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" " -l, --login vypíše procesy zajišťující pÅ™ihlášení do systému " "(login)\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup pokusí se získat kanonická jména poÄítaÄů z DNS\n" " -m pouze poÄítaÄe a uživatele pÅ™ipojené ke standardnímu " "vstupu\n" " -p, --process vypíše aktivní procesy obnovené initem\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count vÅ¡echna pÅ™ihlaÅ¡ovací jména a poÄet pÅ™ihlášených " "uživatelů\n" " -r, --runlevel vypíše souÄasnou úroveň bÄ›hu systému (runlevel)\n" " -s vypíše pouze jméno, terminál a Äas (implicitní)\n" " -t, --time vypíše poslední zmÄ›nu Äasu\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg pÅ™ipojí stav možnosti posílat zprávy (+, - nebo ?)\n" " -u, --users vypíše seznam pÅ™ihlášených uživatelů\n" " --message jako -T\n" " --writable jako -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Pokud SOUBOR nebude zadán, použije se %s. Jako SOUBOR je obvyklý\n" "%s. Je-li zadán ARG1 ARG2, pÅ™edpokládá se pÅ™epínaÄ -m: obvyklé je\n" "„am i“ (kdo „jsem já“) nebo „mom likes“ (koho „maminka miluje“).\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Vypíše jméno uživatele přísluÅ¡ející aktuálnímu efektivnímu UID. Stejné jako\n" "příkaz id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: jméno uživatele pro UID %lu nelze najít\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s [ŘETÄšZEC]…\n" " nebo: %s PŘEPÃNAÄŒ\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "OpakovanÄ› vypisuje řádku se zadanými ŘETÄšZCI nebo s „y“.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "používám aritmetiku s jednoduchou pÅ™esností" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "používám aritmetiku s libovolnou pÅ™esností" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human:\n" #~ " vstupní Å™etÄ›zec: „%s“\n" #~ " desetinná Äárka: „%s“\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " získaná Äíselná hodnota: %Lf\n" #~ " pÅ™esnost vstupu = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr " Automatické Å¡kálování, nalezeno „i“, pÅ™echod k základu %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " mocnina přípony=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " vrácená hodnota: %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human:\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr " neÅ¡káluje se, vrácena (seskupená) hodnota: %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " neÅ¡káluje se, vrácena hodnota: %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " hodnota zvÄ›tÅ¡ena na %Lf * %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " hodnota po zaokrouhlení = %Lf * %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " vrácená hodnota: „%s“\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒE] [ÄŒÃSLO]\n" #~ msgid "" #~ " --from=UNIT auto-scale input numbers to UNITs. Default is 'none'.\n" #~ " See UNIT below.\n" #~ " --from-unit=N specify the input unit size (instead of the default " #~ "1).\n" #~ " --to=UNIT auto-scale output numbers to UNITs.\n" #~ " See UNIT below.\n" #~ " --to-unit=N the output unit size (instead of the default 1).\n" #~ " --round=METHOD the rounding method to use when scaling. METHOD can " #~ "be:\n" #~ " up, down, from-zero (default), towards-zero, nearest\n" #~ " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional " #~ "SUFFIX\n" #~ " in input numbers.\n" #~ " --padding=N pad the output to N characters.\n" #~ " Positive N will right-aligned. Negative N will left-" #~ "align.\n" #~ " Note: if the output is wider than N, padding is " #~ "ignored.\n" #~ " Default is to automatically pad if whitespace is " #~ "found.\n" #~ " --grouping group digits together (e.g. 1,000,000).\n" #~ " Uses the locale-defined grouping (i.e. have no effect\n" #~ " in C/POSIX locales).\n" #~ " --header[=N] print (without converting) the first N header lines.\n" #~ " N defaults to 1 if not specified.\n" #~ " --field N replace the number in input field N (default is 1)\n" #~ " -d, --delimiter=X use X instead of whitespace for field delimiter\n" #~ " --format=FORMAT use printf style floating-point FORMAT.\n" #~ " See FORMAT below for details.\n" #~ " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug print warnings about invalid input.\n" #~ " \n" #~ msgstr "" #~ " --from=JEDNOTKA\n" #~ " automaticky pÅ™eÅ¡káluje vstupní Äísla na JEDNOTKY. " #~ "Výchozí\n" #~ " je „none“ (žádná). Vizte JEDNOTKY níže.\n" #~ " --from-unit=N urÄuje velikost vstupní jednotky (místo výchozí 1).\n" #~ " --to=JEDNOTKA automaticky pÅ™eÅ¡káluje výstupní Äísla do JEDNOTEK.\n" #~ " Vizte JEDNOTKY níže.\n" #~ " --to-unit=N velikost výstupní jednotky (místo výchozí 1).\n" #~ " --round=METODA zaokrouhlovací metoda použitá pÅ™i Å¡kálování. METODA " #~ "může být:\n" #~ " up (nahoru), down (dolů), from-zero (z nuly, výchozí),\n" #~ " towards-zero (k nule), nearest (nejbližší)\n" #~ " --suffix=PŘÃPONA\n" #~ " pÅ™idá k výstupním Äíslům PŘÃPONU a pÅ™ijímá volitelnou\n" #~ " PŘÃPONU u vstupních Äísel.\n" #~ " --padding=N vyplní výstup na N znaků.\n" #~ " Kladné N zarovná zprava. Záporné N zarovná zleva.\n" #~ " Poznámka: Je-li výstup Å¡irší než N, výplň se ignoruje.\n" #~ " Výchozí je automatická výplň, je-li nalezeno bílé " #~ "místo.\n" #~ " --grouping seskupí Äíslice (například 1 000 000).\n" #~ " Používá seskupování urÄené locale (t.j. nemá význam\n" #~ " v locale C nebo POSIX).\n" #~ " --header[=N] vypíše (bez pÅ™evodu) prvních N řádků hlaviÄky.\n" #~ " Výchozí hodnota N je 1, není-li zadána.\n" #~ " --field N nahradí Äíslo ve vstupní položce N (výchozí je 1)\n" #~ " -d, --delimiter=X\n" #~ " jako oddÄ›lovaÄ položek použije X namísto bílého místa\n" #~ " --format=FORMÃT\n" #~ " použije FORMÃT s plovoucí desetinou Äárkou ve stylu " #~ "printf.\n" #~ " Pro podrobnosti vizte FORMÃT níže.\n" #~ " --invalid=MÓD způsob selhání pÅ™i neplatném Äísle: MÓD může být:\n" #~ " abort (pÅ™eruÅ¡it, výchozí), fail (selhat), warn " #~ "(varovat),\n" #~ " ignore (ignorovat).\n" #~ " --debug vypisuje varování pÅ™i neplatném vstupu.\n" #~ " \n" #~ msgid "" #~ "\n" #~ "UNIT options:\n" #~ " none No auto-scaling is done. Suffixes will trigger an error.\n" #~ " auto Accept optional single-letter/two-letter suffix:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Accept optional single letter suffix:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accept optional single letter suffix:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accept optional two-letter suffix:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "JEDNOTKY:\n" #~ " none Neprovádí se žádné Å¡kálování. Přípony vyvolají chybu.\n" #~ " auto PÅ™ijímá se volitelná jedno- nebo dvoupísmenná přípona:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si PÅ™ijímá se volitelná jednopísmenná přípona:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " â‹®\n" #~ " iec PÅ™ijímá se volitelná jednopísmenná přípona:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " â‹®\n" #~ " iec-i PÅ™ijímá se volitelná dvoupísmenná přípona:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " â‹®\n" #~ "\n" #~ msgid "" #~ "format String:\n" #~ " input: %s\n" #~ " grouping: %s\n" #~ " padding width: %ld\n" #~ " alignment: %s\n" #~ " prefix: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ "Formátovací Å™etÄ›zec:\n" #~ " vstup: %s\n" #~ " seskupování: %s\n" #~ " šířka výplnÄ›: %ld\n" #~ " zarovnání: %s\n" #~ " pÅ™edpona: „%s“\n" #~ " přípona: „%s“\n" #~ msgid "" #~ "formatting output:\n" #~ " value: %Lf\n" #~ " humanized: '%s'\n" #~ msgstr "" #~ "Formátování výstupu:\n" #~ " hodnota: %Lf\n" #~ " Äitelná podoba: „%s“\n" #~ msgid " After padding: '%s'\n" #~ msgstr " Po výplni: „%s“\n" #~ msgid "trimming suffix '%s'\n" #~ msgstr "zkracuje se přípona „%s“\n" #~ msgid "no valid suffix found\n" #~ msgstr "nenalezna žádná platná přípona\n" # TODO: pluralize #~ msgid "setting Auto-Padding to %ld characters\n" #~ msgstr "automatický výplň nastavena na %ld znaků\n" #~ msgid "" #~ "extracting Fields:\n" #~ " input: '%s'\n" #~ " field: %d\n" #~ msgstr "" #~ "Získané položky:\n" #~ " vstup: „%s“\n" #~ " položka: %d\n" #~ msgid "" #~ " TOO FEW FIELDS!\n" #~ " prefix: '%s'\n" #~ msgstr "" #~ " PŘÃLIÅ  MÃLO POLOŽEK!\n" #~ " pÅ™edpona: „%s“\n" #~ msgid "" #~ " prefix: '%s'\n" #~ " number: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ " pÅ™edpona: „%s“\n" #~ " Äíslo: „%s“\n" #~ " přípona: „%s“\n" #~ msgid "reading %s" #~ msgstr "Ätení %s" #~ msgid "writing %s" #~ msgstr "zápis %s" #~ msgid "closing %s" #~ msgstr "uzavírání %s" #~ msgid "accessing %s" #~ msgstr "pÅ™istupuji k %s" #~ msgid "opening %s" #~ msgstr "otevírám %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system\n" #~ " pÅ™eskoÄí adresáře na jiných souborových " #~ "systémech\n" #~ " -X, --exclude-from=SOUBOR\n" #~ " pÅ™eskoÄí soubory, které vyhovují libovolnému\n" #~ " výrazu ze souboru SOUBOR\n" #~ " --exclude=VZOR pÅ™eskoÄí soubory vyhovující VZORU\n" #~ " --max-depth=N vypíše celkové souÄty pouze pro adresáře (nebo\n" #~ " soubory, pokud je uvedeno --all), do N. úrovnÄ›\n" #~ " vzhledem k cestÄ› na příkazovém řádku.\n" #~ " Argument --max-depth=0 je rovnocenný se --" #~ "summarize.\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off záložní kopie nevytvářet (i když je zadán pÅ™epínaÄ --" #~ "backup)\n" #~ " numbered, t Äíslované záložní kopie\n" #~ " existing, nil Äíslované, jestliže již Äíslovaná záložní kopie " #~ "existuje,\n" #~ " jinak jednoduché\n" #~ " simple, never jednoduché záložní kopie\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "VAROVÃNÃ: pÅ™epínaÄ --page-increment je zastaralý, použijte --line-" #~ "increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "VÅ¡echny argumenty dlouhých pÅ™epínaÄů jsou povinné i pro jejich\n" #~ "krátké varianty.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "ZÃKLAD je d pro desítkové, o pro osmiÄkové, x pro Å¡estnáctkové nebo n pro " #~ "žádné.\n" #~ "POÄŒET je brán jako Å¡estnáctkové Äíslo, zaÄíná-li 0x nebo 0X, a smí mít\n" #~ "násobné přípony: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #~ "PÅ™idání přípony „z“ k libovolnému typu způsobí vypsání tisknutelných " #~ "znaků\n" #~ "na konci každého výstupního řádku.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "PÅ™epínaÄ --string bez zadaného Äísla je brán jako 3. PÅ™epínaÄ --width " #~ "bez\n" #~ "Äísla je brán jako 32. Implicitní jsou tyto hodnoty: -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ]… SOUBOR\n" #~ msgid "Password:" #~ msgstr "Heslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: /dev/tty nelze otevřít" #~ msgid "cannot set groups" #~ msgstr "nelze nastavit skupiny" #~ msgid "cannot set group id" #~ msgstr "nelze nastavit ID skupiny" #~ msgid "cannot set user id" #~ msgstr "nelze nastavit ID uživatele" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ]… [-] [UŽIVATEL [ARG]…]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "MÄ›ní efektivní Äíslo uživatele a skupiny na daného UŽIVATELE.\n" #~ "\n" #~ " -, -l, --login uÄiní shell pÅ™ihlaÅ¡ovacím shellem\n" #~ " -c, --command=PŘÃKAZ pÅ™edá jeden PŘÃKAZ shellu pomocí -c\n" #~ " -f, --fast pÅ™edá shellu -f (pro csh nebo tcsh)\n" #~ " -m, --preserve-environment nemaže promÄ›nné prostÅ™edí\n" #~ " -p jako -m\n" #~ " -s, --shell=SHELL použije SHELL (pokud to povoluje /etc/" #~ "shells)\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Je-li zadáno pouze „-“, znamená to „-l“. Pokud uživatel není zadán,\n" #~ "pÅ™edpokládá se uživatel root.\n" #~ msgid "user %s does not exist" #~ msgstr "uživatel %s neexistuje" #~ msgid "incorrect password" #~ msgstr "chybné heslo" #~ msgid "using restricted shell %s" #~ msgstr "používán omezený (restricted) shell %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "varování: nelze vejít do adresáře %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s /usr/bin/sort Výstup „sort“.\n" #~ " %s include/stdio.h .h Výstup „stdio“.\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [JMÉNO]\n" #~ " nebo: %s [PŘEPÃNAÄŒ]\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "--relative-base vyžaduje --relative-to" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "MÄ›ní skupinu zadaných SOUBORÅ® na SKUPINU.\n" #~ "\n" #~ " -c, --changes vypíše soubory, jejichž skupina byla zmÄ›nÄ›na\n" #~ " --dereference působí na soubor, na nÄ›jž se odkazuje " #~ "symbolický\n" #~ " odkaz (toto je výchozí chování), namísto " #~ "odkazu\n" #~ " samotného\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlaÄí vÄ›tÅ¡inu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnoty SKUPINA použije skupinu souboru " #~ "RSOUBOR\n" #~ " -R, --recursive vykoná se i v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném " #~ "souboru\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "ZmÄ›ní práva každému SOUBORU na PRÃVA.\n" #~ "\n" #~ " -c, --changes vypisuje pouze soubory, jejichž práva byla " #~ "zmÄ›nÄ›na\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root s „/“ se nezachází zvláštnÄ› (výchozí chování)\n" #~ " --preserve-root odmítne rekurzivní zpracování nad „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet potlaÄí vÄ›tÅ¡inu chybových zpráv\n" #~ " -v, --verbose vypisuje informaci o každém zpracovaném " #~ "souboru\n" #~ " --reference=RSOUBOR místo hodnoty PRÃVA použije práva souboru " #~ "RSOUBOR\n" #~ " -R, --recursive pracuje i se soubory a adresáři " #~ "v podadresářích\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "MÄ›ní vlastníka a/nebo skupinu zadaných SOUBORÅ® na VLASTNÃKA a/nebo " #~ "SKUPINU.\n" #~ "S --reference mÄ›ní vlastníka a skupinu zadaných SOUBORÅ® na vlastníka a " #~ "skupinu\n" #~ "souboru RSOUBOR.\n" #~ "\n" #~ " -c, --changes vypíše pouze soubory, jejichž vlastnictví bylo " #~ "zmÄ›nÄ›no\n" #~ " --dereference působí na soubory, na něž se odkazují " #~ "symbolické\n" #~ " odkazy, místo na odkazy samotné\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlaÄí vÄ›tÅ¡inu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnot VLASTNÃK:SKUPINA použije " #~ "vlastníka\n" #~ " a skupinu souboru RSOUBOR\n" #~ " -R, --recursive pracuje i se soubory a adresáři v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném souboru\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Vypíše aktuální Äas v daném FORMÃTU, nebo nastaví datum v systému.\n" #~ "\n" #~ " -d, --date=ŘETÄšZEC vypíše Äas zadaný jako ŘETÄšZEC, nikoli " #~ "aktuální\n" #~ " -f, --file=DATASOUBOR jako --date, ale Äasy jsou v DATASOUBORU,\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může být (nebo může být celé Äíslo volitelnÄ› následované) " #~ "jedním\n" #~ "z následujících (Å™etÄ›zec význam): KB 1000, K 1024, MB 1000*1000, M " #~ "1024*1024\n" #~ "a tak dále pro G, T, P, E, Z, Y.\n" #~ msgid "cannot create link %s" #~ msgstr "odkaz %s nelze vytvoÅ™it" #~ msgid "truncating %s" #~ msgstr "zkracuje se %s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "VAROVÃNÃ: pÅ™epínaÄ --preserve_context je zastaralý, použijte --preserve-" #~ "context" #~ msgid "invalid number of lines: 0" #~ msgstr "chybný poÄet řádků: 0" #~ msgid "invalid format precision" #~ msgstr "neplatná pÅ™esnost formátu" #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "vytvářím symbolický odkaz %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "vytvářím symbolický odkaz %s → %s" #~ msgid "creating hard link %s" #~ msgstr "vytvářím pevný odkaz %s" #~ msgid "creating hard link %s => %s" #~ msgstr "vytvářím pevný odkaz %s ⇒ %s" #~ msgid "extra operand %s\n" #~ msgstr "nadbyteÄný argument %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "v jednotkách se vyskytují pÅ™edpony jak SI tak i IEC" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "pÅ™epínaÄ --context (-Z) je zbyteÄný a v budoucím vydání bude odstranÄ›n" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "varování: pÅ™epínaÄ --%s je pÅ™ekonaný, použijte --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "UvÄ›domte si, že pÅ™epínaÄe -r a -s se vzájemnÄ› vyluÄují.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=SLOUPCÅ® Zalomí zakódované řádky po SLOUPCÅ® znacích " #~ "(výchozí 76).\n" #~ " Zalamování lze zakázat hodnotou 0.\n" #~ "\n" #~ " -d, --decode Rozkóduje data.\n" #~ " -i, --ignore-garbage BÄ›hem dekódování ignoruje neabecední znaky.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Použití: %s [PŘEPÃNAÄŒ] POÄŒET[PŘÃPONA] PŘÃKAZ [ARGUMENT]…\n" #~ " nebo: %s [PŘEPÃNAÄŒ]\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nepovolený pÅ™epínaÄ – %c\n" #~ msgid "invalid argument: %s" #~ msgstr "neplatný argument: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Vypíše tuto nápovÄ›du a skonÄí.\n" #~ " --version Vypíše oznaÄení verze a skonÄí.\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "S --follow (-f) tail sleduje deskriptor souboru, což znamená, že i když\n" #~ "bude sledovaný soubor pÅ™ejmenován, tail bude sledovat tento pÅ™ejmenovaný\n" #~ "soubor. " #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "" #~ "Chyby distributora %s oznamujte na adrese <%s> (pouze anglicky),\n" #~ "PÅ™ipomínky k pÅ™ekladu zasílejte na adresu\n" #~ "<translation-team-cs@lists.sourceforge.net> (Äesky).\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "Domovská stránka %s: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Obecná nápovÄ›da pro používání GNU softwaru: <http://www.gnu.org/gethelp/" #~ ">.\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "pÅ™epínaÄ --megabytes je zastaralý, použijte -m" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Pokud platí -e, jsou následující sekvence interpretovány takto:\n" #~ "\n" #~ " \\0NNN znak s ASCII kódem NNN (osmiÄkovÄ›)\n" #~ " \\\\ zpÄ›tné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b návrat vozíku o jeden znak zpÄ›t (backspace)\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory vytvoří adresář, ne soubor\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet potlaÄí hlášky o chybÄ› pÅ™i vytváření souboru/adresáře\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nevytváří nic, jen vytiskne jméno (není bezpeÄné)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p ADRESÃŘ použije ADRESÃŘ jako pÅ™edponu,\n" #~ " implikuje -t (nedoporuÄuje se)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c žádný další výstup\n" #~ " \\f posun formuláře (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nový řádek (new line)\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t vodorovný tabelátor (horizontal tab)\n" #~ " \\v svislý tabelátor (vertical tab)\n" #~ msgid "path truncated when looking for %s" #~ msgstr "pÅ™i hledání %s byla cesta zkrácena" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "ImplicitnÄ› není k rozliÅ¡ování typů souborů barva používána. To je " #~ "rovnocenné\n" #~ "s použitím pÅ™epínaÄe --color=none. Použití pÅ™epínaÄe --color bez " #~ "argumentu\n" #~ "KDY je rovnocenné s použitím pÅ™epínaÄe --color=always. PÅ™epínaÄ --" #~ "color=auto\n" #~ "způsobí, že barvy budou použity pouze, je-li standardní výstup pÅ™ipojen\n" #~ "k terminálu (tty). Barvy lze ovlivnit promÄ›nnou prostÅ™edí LS_COLORS, pro\n" #~ "jejíž nastavení je urÄen příkaz „dircolors“. \n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ZÃVAŽNÉ: adresář %s nelze zavřít" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ZÃVAŽNÉ: z %s nelze otevřít .." #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "ZÃVAŽNÉ: nelze zaruÄit bezpeÄnost %s (vráceno pÅ™es ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "ZÃVAŽNÉ: adresář %s zmÄ›nil zařízení nebo i-uzel" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ZÃVAŽNÉ: do adresáře %s nelze vstoupit" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "ZÃVAŽNÉ: adresář %s, do kterého bylo právÄ› vstoupeno, zmÄ›nil zařízení/i-" #~ "uzel" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ZÃVAŽNÉ: z %s se nelze vrátit do .." #~ msgid "cannot remove %s directory %s" #~ msgstr "v adresáři %s nelze %s smazat" #~ msgid "cannot remove root directory %s" #~ msgstr "koÅ™enový adresář %s nelze smazat" #~ msgid "cannot remove relative-named %s" #~ msgstr "relativnÄ› pojmenovaný %s nelze smazat" #~ msgid "cannot restore current working directory" #~ msgstr "nelze obnovit pracovní adresář" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: varování: vytvoÅ™ení pevného odkazu na symbolický odkaz\n" #~ "není pÅ™enositelné" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může mít následující násobné přípony (přípona Äinitel):\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #~ msgid "" #~ "\n" #~ "SIZE is a number which may be followed by one of the following suffixes:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST je Äíslo, které může být následováno jednou z následujících " #~ "přípon:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024 a tak dále pro G, T, P, E, Z, " #~ "Y.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Ze vÅ¡ech po sobÄ› jdoucích stejných vstupních řádků vypíše na výstup vždy\n" #~ "pouze jeden. ImplicitnÄ› je jako VSTUP brán standardní vstup a jako " #~ "VÃSTUP\n" #~ "standardní výstup.\n" #~ "\n" #~ msgid "couldn't open temporary file" #~ msgstr "nelze otevřít doÄasný soubor" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nikdy nenásleduje symbolické odkazy\n" #~ " ve ZDROJI\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "pÅ™epínaÄ --reply není doporuÄen, místo nÄ›j použijte -i nebo -f" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "VAROVÃNÃ: používejte --si, ne -H. Význam pÅ™epínaÄe -H se brzy zmÄ›ní, " #~ "bude\n" #~ "rovnocenný pÅ™epínaÄi --dereference-args (-D)." #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ]… [ŘETÄšZEC]…\n" #~ msgid "" #~ " --bignum always use arbitrary-precision arithmetic\n" #~ " --no-bignum always use single-precision arithmetic\n" #~ msgstr "" #~ " --bignum vždy použije aritmetiku s libovolnou pÅ™esností\n" #~ " --no-bignum vždy použije aritmetiku s jednoduchou pÅ™esností\n" #~ msgid "" #~ "arithmetic operation %c produced an out of range value, but arbitrary-" #~ "precision arithmetic is not available" #~ msgstr "" #~ "aritmetická operace %c vede k výsledku za hranicemi zobrazitelnosti, " #~ "navíc aritmetika s libovolnou pÅ™esností není dostupná" #~ msgid "string too long" #~ msgstr "Å™etÄ›zec je příliÅ¡ dlouhý" #~ msgid "arbitrary-precision support is not available" #~ msgstr "podpora pro libovolnou pÅ™esnost není dostupná" #~ msgid "string offset is too large" #~ msgstr "pozice v řetÄ›zci je příliÅ¡ velká" #~ msgid "substring length too large" #~ msgstr "délka podÅ™etÄ›zce je příliÅ¡ dlouhá" #~ msgid "arbitrary-precision arithmetic is not available" #~ msgstr "aritmetika s libovolnou pÅ™esností není dostupná" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Návratový kód 0 znaÄí bezchybný bÄ›h programu, 1 menší problémy a\n" #~ "2 závažné problémy.\n" #~ msgid "no %% directive in format string %s" #~ msgstr "ve formátovacím Å™etÄ›zci %s chybí řídicí znak %%" #~ msgid "too many %% directives in format string %s" #~ msgstr "příliÅ¡ mnoho řídicích znaků %% ve formátovacím Å™etÄ›zci %s" #~ msgid "invalid format string: %s" #~ msgstr "chybný formátovací Å™etÄ›zec: %s" #~ msgid "FIXME unknown" #~ msgstr "OPRAVMÄš neznámý" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ] [SOUBOR]…\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Pokud není přípona záložních souborů nastavena pÅ™epínaÄem --suffix nebo\n" #~ "promÄ›nnou SIMPLE_BACKUP_SUFFIX, je používána přípona „~“. Způsob " #~ "vytváření\n" #~ "záložních souborů lze ovlivnit nastavením promÄ›nné VERSION_CONTROL, " #~ "hodnoty\n" #~ "mohou být:\n" #~ "\n" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Vypíše rozklad každého ÄŒÃSLA na prvoÄísla.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "není-li SELinux podporován nebo je-li zobrazována identita jiného " #~ "uživatele,\n" #~ "nelze vypsat bezpeÄnostní kontext" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ] ADRESÃŘ…\n" # should this be translated? - rzm #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: formát=„%s“ šířka=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S[ŘETÄšZEC], --sep-string[=ŘETÄšZEC]\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒE] SOUBOR […]\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort porovnává podle obecných Äíselných hodnot\n" #~ " -i, --ignore-nonprinting uvažuje pouze tisknutelné znaky\n" #~ " -M, --month-sort porovnává podle mÄ›síců\n" #~ " (neznámý) < „LED“ < … < „PRO“\n" #~ " -n, --numeric-sort porovnává podle Äíselné hodnoty Å™etÄ›zce\n" #~ " -R, --random-sort Å™adí podle náhodných hashů klíÄů\n" #~ " --random-source=SOUBOR získá náhodné bajty ze SOUBORU\n" #~ " (implicitnÄ› /dev/urandom)\n" #~ " --sort=SLOVO Å™adí podle SLOVA:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse obrácený výsledek porovnávání\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "nelze vytvoÅ™it doÄasný soubor" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ] SOUBOR…\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: práva\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry bude zkouÅ¡et otevřít soubor dokonce, i když\n" #~ " bude nedostupný v okamžiku spuÅ¡tÄ›ní tailu " #~ "nebo\n" #~ " jestliže se stane nedostupným pozdÄ›ji; " #~ "užiteÄné\n" #~ " pÅ™i sledovaní podle jména (--follow=name)\n" #~ " -c, --bytes=N vypíše posledních N bajtů;\n" #~ " pro výpis od N. bajtu lze použít zápis +N\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Nahrazení nastane, jestliže není zadán pÅ™epínaÄ -d a jsou zadány obÄ›\n" #~ "množiny. -t může být použito pouze pÅ™i nahrazování. V případÄ› potÅ™eby je\n" #~ "MNOŽINA2 rozšířena na délku MNOŽINY1 opakováním posledního znaku. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "PÅ™ebyteÄné\n" #~ "znaky MNOŽINY2 jsou ignorovány. Pouze u [:lower:] a [:upper:] je " #~ "zaruÄeno,\n" #~ "že budou rozepsány vzestupnÄ›; pÅ™i použití v MNOŽINÄš2 pÅ™i nahrazování " #~ "mohou být\n" #~ "používány pouze v párech pro zmÄ›nu velikosti písmen. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s používá MNOŽINU1\n" #~ "pokud se nenahrazuje, ani nemaže, Jinak srážení používá MNOŽINU2 a je\n" #~ "vykonáno až po nahrazení a mazání.\n" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d %s běží " #~ msgid "am" #~ msgstr "ráno" #~ msgid "pm" #~ msgstr "veÄer" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld den" #~ msgstr[1] "%ld dny" #~ msgstr[2] "%ld dnů" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "neznámý operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " vypíše adresáře pÅ™ed soubory\n" #~ msgid "block size" #~ msgstr "velikost bloku" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Tento program je volné programové vybavení. Jeho kopie můžete šířit " #~ "podle\n" #~ "ustanovení Obecné veÅ™ejné licence GNU <http://www.gnu.org/licenses/gpl." #~ "html>.\n" #~ "Program je šířen BEZ JAKÉKOLI ZÃRUKY, jak jen zákon dovoluje.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "neplatný(á/é) %s „%s“" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neplatný znak následující za %s v „%s“" #~ msgid "%s `%s' too large" #~ msgstr "%s „%s“ je příliÅ¡ dlouhý" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "pÅ™epínaÄ --kilobytes je zastaralý; používejte -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N může mít násobící příponu: b pro 512, k pro 1024, m pro 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "nemůžete vynechat jak uživatele tak skupinu" #~ msgid "cannot get supplemental group list" #~ msgstr "seznam doplňkových skupin nelze získat" #~ msgid "skip argument" #~ msgstr "pÅ™eskakuji argument" #~ msgid "limit argument" #~ msgstr "argument oÅ™ezán" #~ msgid "minimum string length" #~ msgstr "minimální délka Å™etÄ›zce" #~ msgid "width specification" #~ msgstr "specifikace šířky" #~ msgid "page range" #~ msgstr "rozsah stran" #~ msgid "sort size" #~ msgstr "velikost paměťového bloku pro Å™azení" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může mít násobící příponu: b pro 512, k pro 1024, m pro 1 mega.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Nastaví Äas posledního přístupu a poslední zmÄ›ny obsahu každého zadaného\n" #~ "SOUBORU na aktuální Äas.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Varování: pÅ™epínaÄ -i bude v budoucnu odebrán, použijte -u" #~ msgid "strip failed" #~ msgstr "strip selhal" # src/tail.c:968 #~ msgid "value %s is so large that it is not representable" #~ msgstr "hodnota %s je příliÅ¡ velká, proto ji nelze vnitÅ™nÄ› popsat" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "vlastníka a/nebo skupinu %s nelze zmÄ›nit" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "k UID nelze zjistit pÅ™ihlaÅ¡ovací skupinu" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ " Toto je volné programové vybavení; podmínky pro kopírování a " #~ "rozÅ¡iÅ™ování\n" #~ "naleznete ve zdrojových textech. Toto programové vybavení je zcela BEZ " #~ "ZÃRUKY,\n" #~ "a to i bez záruky PRODEJNOSTI nebo VHODNOSTI PRO NÄšJAKà KONKRÉTNà ÚČEL.\n" #~ msgid "too few arguments" #~ msgstr "příliÅ¡ málo argumentů" #~ msgid "group number" #~ msgstr "Äíslo skupiny" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Použití: %s [PŘEPÃNAÄŒ]... LEVÃ_SOUBOR PRAVÃ_SOUBOR\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varování: --version-control (-V) je zastaralý; podpora pÅ™epínaÄe bude\n" #~ "v nÄ›které z dalších verzí odstranÄ›na. RadÄ›ji použijte --backup=%s." #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po oddÄ›lovaÄi je oÄekáváno `+' nebo `-'" #~ msgid "undefined" #~ msgstr "nedefinováno" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s vstoupivších záznamů\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s vystoupivších záznamů\n" #~ msgid "truncated records" #~ msgstr "zkrácené záznamy" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "může být použit vždy pouze jeden z {ascii,ebcdic,ibm}, {lcase,ucase},\n" #~ "{block,unblock}, {unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "s pÅ™epínaÄem pro výpis vnitÅ™ní databáze 'dircolors' nemůže\n" #~ "být použit argument pro soubor" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "upozornÄ›ní: nepÅ™enositelné : '%s': použití '^' jako prvního znaku\n" #~ "základního regulárního výrazu není pÅ™enositelné; bude ignorováno" #~ msgid "unrecognized option `-%c'" #~ msgstr "neznámý pÅ™epínaÄ `-%c'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "chybné Äíslo položky pro soubor 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "chybné Äíslo položky pro soubor 2: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "příliÅ¡ mnoho argumentů, které nejsou pÅ™epínaÄi" #~ msgid "too few non-option arguments" #~ msgstr "příliÅ¡ málo argumentů, které nejsou pÅ™epínaÄi" #~ msgid "%s: File exists" #~ msgstr "%s: Soubor existuje" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "pÅ™i vytváření více odkazů, musí být poslední argument adresář" # in Genitive - rzm #~ msgid "files" #~ msgstr "zadaných souborů" #~ msgid "checksum" #~ msgstr "kontrolního souÄtu" #~ msgid "checksums" #~ msgstr "kontrolních souÄtů" #~ msgid "no files may be specified when using --string" #~ msgstr "pÅ™i použití pÅ™epínaÄe --string nemohou být zadány soubory" #~ msgid "only one argument may be specified when using --check" #~ msgstr "pouze jeden argument může být zadán pÅ™i užití pÅ™epínaÄe --check" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "pro roury nesmí být hlavní a vedlejší Äíslo zařízení zadáno" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "pÅ™i pÅ™emísÅ¥ování více souborů, musí být poslední argument adresář" #~ msgid "old-style offset" #~ msgstr "posunutí ve starém stylu" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "chybný druhý argument '%s' ve starém formátu" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v kompatibilním módu musí být poslední dva argumenty posuny" #~ msgid "directory `%s' is not searchable" #~ msgstr "adresář '%s' není prohledávatelný" # c-format #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' chybný rozsah Äísel stránek: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' chybné Äíslo poÄáteÄní stránky: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' chybné Äíslo koncové stránky: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' Äíslo poÄáteÄní stránky je vÄ›tší než Äíslo koncové stránky" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=SLOUPCÅ®' neplatný poÄet sloupců: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e. %b %Y %H.%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "Äíslo poÄáteÄní stránky je vÄ›tší než Äíslo koncové stránky: `%d'" #~ msgid "Page %d" #~ msgstr "Strana %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Použití: %s formát [argument...]\n" #~ msgid "cannot remove `.' or `..'" #~ msgstr "`.' nebo `..' nelze smazat" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "pokud je poÄáteÄní hodnota vÄ›tší než koncová,\n" #~ "přírůstek musí být záporný" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "pokud je poÄáteÄní hodnota menší než koncová,\n" #~ "přírůstek musí být kladný" #~ msgid "stdin: read error" #~ msgstr "stdin: chyba pÅ™i Ätení" # src/tail.c:938 #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neplatný znak v zastaralém pÅ™epínaÄi" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "příliÅ¡ mnoho argumentů; PÅ™i použití zastaralé syntaxe pÅ™epínaÄe %s,\n" #~ "může být uveden pouze jeden souborový argument. RadÄ›ji použijte\n" #~ "ekvivalentní pÅ™epínaÄ -n nebo -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varování: použití dvou nebo více souborových argumentů se zastaralou " #~ "syntaxí\n" #~ "pÅ™epínaÄe %s není portabilní. RadÄ›ji použijte ekvivalentní pÅ™epínaÄ\n" #~ "-n nebo -c." #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s je vÄ›tší než maximální možná velikost souboru v tomto systému" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "" #~ "%s: neplatné Äíslo maximálního poÄtu po sobÄ› jdoucích zmÄ›n velikosti" #~ msgid "argument expected\n" #~ msgstr "oÄekáván argument\n" #~ msgid "integer expression expected %s\n" #~ msgstr "%s je oÄekáván výraz typu integer\n" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "pÅ™ed -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "pÅ™ed -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "pÅ™ed -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "pÅ™ed -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "pÅ™ed -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "chybný zápis `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "nejménÄ› jedna množina musí být zadána pÅ™i komprimaci opakujících se znaků" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "nelze identifikovat mapování: pÅ™i nahrazování, libovolná konstrukce [:" #~ "lower:]\n" #~ "nebo [:upper:] v MNOŽINÄš1 musí být zarovnána s odpovídající konstrukcí\n" #~ "([:upper:] nebo [:lower:]) v MNOŽINÄš2." #~ msgid "only one argument may be specified" #~ msgstr "může být zadán pouze jeden argument" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: jméno uživatele pro UID %u nelze najít\n" #~ msgid "removing all entries of directory %s\n" #~ msgstr "mazání vÅ¡ech položek adresáře `%s'\n" #~ msgid " (might be nonempty)" #~ msgstr " (nemusí být prázdný)" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "MÄ›ní skupinu zadaných SOUBORÅ® na SKUPINU.\n" #~ "\n" #~ " -c, --changes vypíše soubory, jejichž skupina byla zmÄ›nÄ›na\n" #~ " --dereference působí na soubor, na nÄ›jž se odkazuje " #~ "symbolický\n" #~ " odkaz\n" #~ " -h, --no-dereference působí na symbolický odkaz místo na soubor,\n" #~ " na který odkaz odkazuje (funguje pouze na " #~ "systémech,\n" #~ " které mohou mÄ›nit vlastníky symbolických " #~ "odkazů)\n" #~ " -f, --silent, --quiet potlaÄí vÄ›tÅ¡inu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnoty SKUPINA použije skupinu souboru " #~ "RSOUBOR\n" #~ " -R, --recursive vykoná se i v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném " #~ "souboru\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " Vypíše informace o souborových systémech, ve kterých každý SOUBOR " #~ "leží,\n" #~ "nebo implicitnÄ› vÅ¡ech souborových systémech.\n" #~ "\n" #~ " -a, --all také souborové systémy mající 0 bloků\n" #~ " --block-size=VELIKOST použije tuto velikost bloku\n" #~ " -h, --human-readable velikosti ve formátu Äitelném pro ÄlovÄ›ka\n" #~ " (napÅ™. 1K 234M 2G)\n" #~ " -H, --si podobnÄ› jako pÅ™edchozí, ale násobky 1000 ne 1024\n" #~ " -i, --inodes výpis informací o i-uzlech místo o blocích\n" #~ " -k, --kilobytes jako --block-size=1024. ImplicitnÄ› 512 bajtů,\n" #~ " které odpovídají normÄ› POSIX\n" #~ " -l, --local omezení výpisu na lokální souborový systém\n" #~ " -m, --megabytes jako --block-size=1048576. ImplicitnÄ› 512 bajtů,\n" #~ " které odpovídají normÄ› POSIX\n" #~ " --no-sync nevolá 'sync' pÅ™ed získáním informací " #~ "(implicitní)\n" #~ " -P, --portability použije formát definovaný normou POSIX\n" #~ " --sync zavolá 'sync' pÅ™ed získáním informací\n" #~ " -t, --type=TYP ve výstupu pouze souborové systémy typu TYP\n" #~ " -T, --print-type vypisuje typ souborového systému\n" #~ " -x, --exclude-type=TYP ve výstupu nebudou souborové systémy typu TYP\n" #~ " -v (ignorován)\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " SÄítá diskový prostor zabraný každým SOUBOREM, pro adresáře i s " #~ "obsahem\n" #~ "podadresářů.\n" #~ "\n" #~ " -a, --all vypíše souÄet velikosti vÅ¡ech souborů,\n" #~ " ne pouze adresářů\n" #~ " --block-size=VELIKOST použije tuto velikost bloku\n" #~ " -b, --bytes velikosti vypíše v bajtech\n" #~ " -c, --total vypíše i celkový souÄet\n" #~ " -D, --dereference-args následuje symbolický odkaz, když jako argument " #~ "zadán\n" #~ " -h, --human-readable vypisuje velikosti ve formátu Äitelném pro lidi\n" #~ " (napÅ™. 1K 234M 2G)\n" #~ " -H, --si jako pÅ™edchozí, ale jednotky jsou násobkem 1000\n" #~ " -k, --kilobytes jako --block-size=1024\n" #~ " -l, --count-links jestliže jsou soubory pevnými odkazy na jeden " #~ "soubor,\n" #~ " sÄítá velikosti, jako by to byly obyÄejné " #~ "soubory\n" #~ " -L, --dereference následuje vÅ¡echny symbolické odkazy\n" #~ " -m, --megabytes jako --block-size=1048576\n" #~ " -S, --separate-dirs nepoÄítá do velikosti adresářů velikosti jejich\n" #~ " podadresářů\n" #~ " -s, --summarize vypíše pouze celkový souÄet pro každý argument\n" #~ " -x, --one-file-system pÅ™eskoÄí adresáře na jiných souborových " #~ "systémech\n" #~ " -X SOUBOR, --exclude-from=SOUBOR pÅ™eskoÄí soubory, které vyhovují " #~ "libovolnému\n" #~ " reg.výr. ze souboru SOUBOR\n" #~ " --exclude=REGVÃR pÅ™eskoÄí soubory vyhovující REGVÃR\n" #~ " --max-depth=N vypisuje názvy adresářů a celkové souÄty pouze\n" #~ " do N-té úrovnÄ› adresářů. Argument --max-depth=0\n" #~ " je rovnocenný se --summarize.\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" # dunno what means `make all components of the given DIRECTORY(ies)' - rzm #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " V prvních dvou formátech kopírování ZDROJE do CÃLE nebo více ZDROJÅ®\n" #~ "do ADRESÃŘE, s nastavením uživatelských práv a uživatele/skupiny. Ve " #~ "tÅ™etím\n" #~ "formátu, vytvoÅ™ení vÅ¡ech komponent zadaného ADRESÃŘE(ů).\n" #~ "\n" #~ " --backup=[TYP] vytvoří záložní kopii pÅ™ed smazáním\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -c (ignorován)\n" #~ " -d, --directory vÅ¡echny argumenty jsou brány jako názvy " #~ "adresářů.\n" #~ " VÅ¡echny neexistující komponenty tÄ›chto adresářů\n" #~ " jsou vytvoÅ™eny.\n" #~ " -D vytvoří vÅ¡echny úvodní komponenty CÃLe, kromÄ› " #~ "poslední\n" #~ " -g, --group=SKUPINA nastaví skupinu souboru na SKUPINU\n" #~ " -m, --mode=PRÃVA nastaví přístupová práva souboru na PRÃVA (zadána " #~ "jako\n" #~ " pro chmod)\n" #~ " -o, --owner=VLASTNÃK nastaví vlastníka souboru (pouze superuživatel - " #~ "root)\n" #~ " -p, --preserve-timestamps Äasy cílového souboru nastaví tak, jak byly\n" #~ " nastaveny u zdrojového\n" #~ " -s, --strip odstraní tabulky symbolů, pouze 1 a 2 formát\n" #~ " -S, --suffix=PŘÃPONA nastaví novou příponu záložních souborů\n" #~ " -v, --verbose vypisuje jména vÅ¡ech vytvářených adresářů\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Tvoří odkaz na zadaný CÃL s volitelným NÃZVEM_ODKAZU. Jestliže " #~ "NÃZEV_ODKAZU\n" #~ "není zadán, je vytvoÅ™en odkaz v aktuálním adresáři, se stejným názvem " #~ "jako má\n" #~ "CÃL. PÅ™i použití druhé formy s více než jedním CÃLem, poslední argument " #~ "musí\n" #~ "být ADRESÃŘEM; v tomto případÄ›, jsou pak vytvoÅ™eny odkazy v adresáři " #~ "ADRESÃŘ na\n" #~ "CÃLe. ImplicitnÄ› jsou tvoÅ™eny pevné odkazy, symbolické pomocí pÅ™epínaÄe\n" #~ "--symbolic. PÅ™i tvorbÄ› pevného odkazu musí vÅ¡echny CÃLe existovat.\n" #~ "\n" #~ " --backup=[TYP] vytvoří zálohu každého souboru, který má " #~ "být\n" #~ " odkazem pÅ™epsán\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -d, -F, --directory pevný odkaz na adresář (pouze " #~ "superuživatel)\n" #~ " -f, --force vytváří odkaz i tehdy, existuje-li soubor " #~ "téhož\n" #~ " názvu (soubor bude smazán)\n" #~ " -n, --no-dereference má-li být pÅ™epsán symbolický odkaz na " #~ "adresář,\n" #~ " pak jej smaže a vytvoří požadovaný odkaz. " #~ "Pokud\n" #~ " by nebyl tento pÅ™epínaÄ zadán, pak by byl " #~ "odkaz\n" #~ " vytvoÅ™en v adresáři, na který se odkaz " #~ "odkazuje.\n" #~ " -i, --interactive ptá se, zda smazat již existující soubor\n" #~ " -s, --symbolic tvoří symbolický odkaz místo pevného\n" #~ " -S, --suffix=PŘÃPONA mÄ›ní obvyklou příponu pro záložní soubory\n" #~ " --target-directory=ADRESÃŘ zadání ADRESÃŘE, ve kterém vytvoÅ™it " #~ "odkazy\n" #~ " -v, --verbose pÅ™ed vytvoÅ™ením odkazu na soubor, vypíše " #~ "název\n" #~ " tohoto souboru\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ " Nastaví Äas posledního přístupu a poslední zmÄ›ny každého zadaného " #~ "SOUBORU\n" #~ "na aktuální Äas.\n" #~ "\n" #~ " -a zmÄ›ní pouze Äas posledního přístupu\n" #~ " -c, --no-create nevytvoří nové soubory\n" #~ " -d, --date=ŘETÄšZEC analyzuje ŘETÄšZEC a použije ho místo aktuálního " #~ "Äasu\n" #~ " -f (ignorován)\n" #~ " -m zmÄ›ní pouze Äas poslední zmÄ›ny souboru\n" #~ " -r, --reference=SOUBOR použije Äasy SOUBORU místo aktuálního Äasu\n" #~ " -t ÄŒAS použije [[CC]YY]MMDDhhmm[.ss] místo aktuálního " #~ "Äasu\n" #~ " --time=SLOVO nastaví ÄŒAS zadaný SLOVEM: \n" #~ " access, atime, use (jako -a)\n" #~ " modify, mtime (jako -m)\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ "Formáty Äasů pro pÅ™epínaÄe -d, -t a pro zastaralou syntaxi jsou různé.\n" #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "pÅ™i vytváření speciálního znakového zařízení, musí být zadáno hlavní\n" #~ "a vedlejší Äíslo zařízení" #~ msgid "group of %s changed to %s\n" #~ msgstr "skupina souboru %s zmÄ›nÄ›na na %s\n" #~ msgid "you are not a member of group `%s'" #~ msgstr "nejste Älenem skupiny `%s'" #~ msgid "owner of %s changed to " #~ msgstr "vlastník souboru %s zmÄ›nÄ›n na " #~ msgid "days" #~ msgstr "dny" #~ msgid "users" #~ msgstr "uživatelé" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Vypíše ŘETÄšZEC na standardní výstup.\n" #~ "\n" #~ " -n bez ukonÄovacího znaku nového řádku\n" #~ " -e povolí interpretaci escape sekvencí zaÄínajících znakem " #~ "\\\n" #~ " a vypsaných níže\n" #~ " -E zakáže interpretaci nÄ›kterých sekvencí v ŘETÄšZCI\n" #~ " --help vypíše tuto nápovÄ›du (pouze jako jediný argument)\n" #~ " --version vypíše oznaÄení verze (pouze jako jediný argument)\n" #~ "\n" #~ "Pokud není -E zadáno, jsou následující sekvence interpretovány " #~ "následovnÄ›:\n" #~ "\n" #~ " \\NNN znak s ascii kódem NNN (osmiÄkovÄ›)\n" #~ " \\\\ zpÄ›tné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c bez ukonÄení znakem pro nový řádek\n" #~ " \\f znak vysunutí formuláře (form feed)\n" #~ " \\n znak nového řádku\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t horizontální tabelátor\n" #~ " \\v vertikální tabelátor\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Vypíše ARGUMENT(y) urÄené FORMÃTEM.\n" #~ "\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ "FORMÃT urÄuje výstup (jako v jazyce C). Interpretované sekvence jsou:\n" #~ "\n" #~ " \\\" uvozovka\n" #~ " \\0NNN znak s osmiÄkovou hodnotou NNN (1 až 3 Äíslice)\n" #~ " \\\\ zpÄ›tné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c žádný další výstup\n" #~ " \\f posun formuláře (form feed)\n" #~ " \\n nový řádek (new line)\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t horizontální tabelátor (horizontal tab)\n" #~ " \\v vertikální tabelátor (vertical tab)\n" #~ " \\xNNN znak s Å¡estnáctkovou hodnotou NNN (1 až 3 Äíslice)\n" #~ "\n" #~ " \\uNNNN znak s Å¡estnáctkovou hodnotou NNNN (4 Äíslice)\n" #~ " \\UNNNNNNNN znak s Å¡estnáctkovou hodnotou NNNNNNNN (8 Äíslic)\n" #~ " %%%% jeden znak 'procenta' (%%)\n" #~ " %%b ARGUMENT jako Å™etÄ›zec, kde jsou interpretovány escape sekvence " #~ "(`\\')\n" #~ "\n" #~ "a vÅ¡echny specifikace formátu z jazyka C konÄící jedním znakem z " #~ "diouxXfeEgGcs,\n" #~ "s ARGUMENTY konvertovanými nejprve na odpovídající typ. Šířky promÄ›nných " #~ "jsou\n" #~ "respektovány.\n" #~ msgid "USER" #~ msgstr "UŽIVATEL" #~ msgid "MESG " #~ msgstr "ZPRÃV " #~ msgid "LOGIN-TIME " #~ msgstr "ÄŒAS-PŘIHLÃÅ . " #~ msgid "FROM\n" #~ msgstr "Z\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ " Pro každý pár vstupních řádků se stejnými propojovacími položkami, " #~ "zapíše\n" #~ "řádek na standardní výstup. ImplicitnÄ› je propojovací položkou položka " #~ "první\n" #~ "a oddÄ›lovaÄ je mezera. Jestliže SOUBOR1 nebo SOUBOR2 bude -, pak tento " #~ "bude\n" #~ "Äten ze standardního vstupu.\n" #~ "\n" #~ " -a STRANA vypíše nepárové řádky pocházející ze souboru STRANA\n" #~ " -e PRÃZDN nahradí chybÄ›jící vstupní položky znakem PRÃZDN\n" #~ " -i, --ignore-case pÅ™i porovnávání položek ignoruje rozdíly mezi malými\n" #~ " a velkými písmeny\n" #~ " -j POLOŽKA (zastaralé) rovnocenné s `-1 POLE -2 POLE'\n" #~ " -j1 POLOŽKA (zastaralé) rovnocenné s `-1 POLE'\n" #~ " -j2 POLOŽKA (zastaralé) rovnocenné s `-2 POLE'\n" #~ " -o FORMÃT řídí se FORMÃTEM pÅ™i tvorbÄ› výstupního řádku\n" #~ " -t ZNAK použije ZNAK jako oddÄ›lovaÄ položek na vstupu i " #~ "výstupu.\n" #~ " -v STRANA jako -a STRANA, ale bez spojených řádků.\n" #~ " -1 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 1\n" #~ " -2 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 2\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ " Jestliže pÅ™epínaÄ -t ZNAK nebude zadán, jako oddÄ›lovaÄ bude použita " #~ "mezera\n" #~ "a prázdné položky na poÄátku řádku budou ignorovány. Jinak bude " #~ "oddÄ›lovaÄem\n" #~ "položek ZNAK. Libovolná POLOŽKA je poÅ™adí položky poÄítané od 1. FORMÃT " #~ "je\n" #~ "jedna nebo více Äárkami nebo mezerami oddÄ›lených popisovaÄů, každý může " #~ "být\n" #~ "'STRANA.POLOŽKA' nebo '0'. Implicitní FORMÃT vypisuje propojovací " #~ "položku,\n" #~ "zbytek položek ze souboru 1, zbytek položek ze souboru 2. VÅ¡echny jsou " #~ "oddÄ›leny\n" #~ "znakem ZNAK.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Použití: %s [PŘEPÃNAÄŒ] [SOUBOR]...\n" #~ " nebo: %s [PŘEPÃNAÄŒ] --check [SOUBOR]\n" #~ "\n" #~ " Vypíše nebo kontroluje %s (%dbitové) kontrolní souÄty. Jestliže SOUBOR\n" #~ "nebude zadán nebo bude -, bude Äten standardní vstup.\n" #~ "\n" #~ " -b, --binary Äte soubory v binárním módu (implicitní\n" #~ " v DOSu/Windows)\n" #~ " -c, --check porovnává %s souÄty se zadanými\n" #~ " -t, --text Äte soubory v textovém módu (implicitní)\n" #~ "\n" #~ "Následující dva pÅ™epínaÄe jsou užiteÄné pouze pÅ™i ověřování kontrolních " #~ "souÄtů:\n" #~ " --status nevypisuje nic, status kód ukazuje úspěšnost\n" #~ " -w, --warn varování o nesprávnÄ› formátovaných řádcích " #~ "souÄtů\n" #~ "\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ " SouÄty jsou poÄítány podle popisu v %s. PÅ™i testování by vstup mÄ›l\n" #~ "být dřívÄ›jším výstupem tohoto programu. Implicitní nastavení je výpis " #~ "jednoho\n" #~ "řádku pro každý SOUBOR. Formát řádku je kontrolní souÄet, znak indikující " #~ "typ\n" #~ "('*' pro binární, ' ' pro textový) a jméno SOUBORU.\n" # `maybe' or `may be'? - rzm #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ " U staré syntaxe (druhý způsob volání), POSUN znaÄí -j POSUN. NÃVĚŠTÃ\n" #~ "je pseudo-adresa vypsaná u prvního bajtu a zvÄ›tÅ¡ovaná bÄ›hem výpisu. " #~ "POSUN\n" #~ "a NÃVĚŠTà jsou brány jako osmiÄková Äísla. Pokud Äíslo zaÄíná 0x nebo 0X\n" #~ "oznaÄuje Å¡estnáctkové Äíslo. Pokud Äíslo konÄí desetinnou teÄkou '.' " #~ "oznaÄuje\n" #~ "desítkové Äíslo. Pokud Äíslo konÄí znakem 'b' znamená to, že bude " #~ "násobeno\n" #~ "512-ti.\n" #~ "\n" #~ "TYP je tvoÅ™en z jedné nebo více tÄ›chto možností:\n" #~ "\n" #~ " a názvy znaků\n" #~ " c ASCII znaky nebo kódy znaků se zpÄ›tným lomítkem\n" #~ " d[BAJTÅ®] desítkové se znaménkem s poÄtem BAJTÅ® na Äíslo\n" #~ " f[BAJTÅ®] s plovoucí řádovou Äárkou s poÄtem BAJTÅ® na Äíslo\n" #~ " o[BAJTÅ®] osmiÄkové s poÄtem BAJTÅ® na Äíslo\n" #~ " u[BAJTÅ®] desítkové bez znaménka s poÄtem BAJTÅ® na Äíslo\n" #~ " x[BAJTÅ®] Å¡estnáctkové s poÄtem BAJTÅ® na Äíslo\n" #~ "\n" #~ " BAJTÅ® je Äíslo. Pro TYPy d, o, u, x může být BAJTÅ® také C jako\n" #~ "sizeof(char), S jako sizeof(short), I jako sizeof(int) nebo L jako\n" #~ "sizeof(long). Jestliže TYP je f, BAJTÅ® může být také F jako sizeof" #~ "(float),\n" #~ "D jako sizeof(double) nebo L jako sizeof(long double).\n" #~ "\n" #~ " ZÃKLAD je d pro dekadické, o - osmiÄkové, x - Å¡estnáctkové, n - žádné.\n" #~ "POÄŒET je brán jako Å¡estnáctkové Äíslo zaÄíná-li 0x nebo 0X, konÄí-li " #~ "znakem\n" #~ "'b', bude násobeno 512-ti, k - 1024-mi, m - 1048576-ti. -s bez zadaného " #~ "Äísla\n" #~ "je bráno jako -s 3. -w bez Äísla je bráno jako -w 32. Implicitní jsou " #~ "tyto\n" #~ "hodnoty -A o -t d2 -w 16.\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h HLAVIÄŒKA, --header=HLAVIÄŒKA\n" #~ " použije vystÅ™edÄ›nou HLAVIÄŒKU místo jména souboru.\n" #~ " -h \"\" vypíše prázdnou hlaviÄku. Nepoužívejte -h" #~ "\"\"\n" #~ " -i[ZNAK[Å ÃŘKA]], --output-tabs[=ZNAK[Å ÃŘKA]]\n" #~ " nahradí Å ÃŘKA (8) mezer ZNAKEM (tabelátorem)\n" #~ " -J, --join-lines vypisuje slité celé řádky, vyÅ™adí -W zkracování " #~ "řádků,\n" #~ " ruší zarovnání sloupců, -S[ŘETÄšZEC] nastavuje " #~ "oddÄ›lovaÄe\n" #~ " -l DÉLKA_STRÃNKY, --length=DÉLKA_STRÃNKY\n" #~ " nastaví délku stránky (66). Zadáno v řádcích.\n" #~ " (implicitnÄ› je 56 řádků textu, s -F 63)\n" #~ " -m, --merge vypíše soubory vedle sebe, každý v jednom sloupci,\n" #~ " zkracuje řádky, ale spolu s pÅ™epínaÄem -J je vypisuje " #~ "celé\n" #~ " -n [ODDÄšL[ÄŒÃSLIC]], --number-lines[=ODDÄšL[ÄŒÃSLIC]]\n" #~ " Äísluje řádky, vypisuje ÄŒÃSLIC (5) Äíslic a potom " #~ "ODDÄšL\n" #~ " (TAB). ImplicitnÄ› poÄítání zaÄíná od jedniÄky prvním\n" #~ " vstupním řádkem\n" #~ " -N ÄŒÃSLO, --first-line-number=ÄŒÃSLO\n" #~ " zaÄne poÄítání Äíslem ÄŒÃSLO prvního řádku první\n" #~ " vypisované stránky (viz +PRVNÃ_STRÃNKA)\n" #~ " -o OKRAJ, --indent=OKRAJ\n" #~ " okraj na levé stranÄ› stránky (neovlivňuje -w nebo -" #~ "W,\n" #~ " okraj bude pÅ™idán k Å ÃŘCE_STRÃNKY)\n" #~ " -r, --no-file-warnings\n" #~ " potlaÄí varování, když soubor nemůže být otevÅ™en\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the <TAB> character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator <TAB> with -J and " #~ "<space>\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddÄ›lí sloupce volitelným ZNAKEM, implicitnÄ› je to " #~ "TAB,\n" #~ " když není zadán pÅ™epínaÄ -w a žádný znak, když je -w " #~ "zadán.\n" #~ " -s[CHAR] vypne zkracování řádků ve vÅ¡ech tÅ™ech " #~ "sloupcích\n" #~ " (pÅ™epínaÄe -COLUMN|-a -COLUMN|-m) kromÄ› toho, když je " #~ "zadán\n" #~ " pÅ™epínaÄ -w\n" #~ " -S[ŘETÄšZEC], --sep-string[=ŘETÄšZEC]\n" #~ " oddÄ›lí sloupce volitelným ŘETÄšZCEM, nepoužívejte\n" #~ " -S \"ŘETÄšZEC\". \n" #~ " Pouze -S: oddÄ›lovaÄ není užit, rovnocenné s -S\"\" \n" #~ " bez -S: s pÅ™epínaÄem -J je implicitní `TAB', jinak " #~ "mezera\n" #~ " (rovnocenné s -S\" \"), neovlivňuje parametry " #~ "sloupců.\n" #~ " -t, --omit-header nevypisuje hlaviÄky a patiÄky stránek\n" #~ " -T, --omit-pagination\n" #~ " nevypisuje hlaviÄky a patiÄky stránek, ignoruje " #~ "rozvržení\n" #~ " stránek vstupního souboru (ignoruje znak nové stránky " #~ "FF)\n" #~ " -v, --show-nonprinting\n" #~ " použije osmiÄkovou notaci se zpÄ›tným lomítkem\n" #~ " -w Å ÃŘKA_STRÃNKY, --width=Å ÃŘKA_STRÃNKY\n" #~ " nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků " #~ "pouze\n" #~ " pro vícesloupcový výstup, -s[ZNAK] vypíná (72),\n" #~ " -W Å ÃŘKA_STRÃNKY, --page-width=Å ÃŘKA_STRÃNKY\n" #~ " nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků,\n" #~ " když není zadán pÅ™epínaÄ -J, zkracuje řádky\n" #~ " neovlivňuje -S nebo -s.\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ " Jestliže je zadáno -l nn, kdy nn <= 10 nebo nn >= 3 a -F, pak je " #~ "implicitnÄ›\n" #~ "použit pÅ™epínaÄ -T. Nebude-li SOUBOR zadán nebo bude-li -, pak bude Äten\n" #~ "standardní vstup.\n" # nie wiem jak ladnie tlumaczyc `last resort comparison' - rzm #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " #~ "%s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Další pÅ™epínaÄe:\n" #~ "\n" #~ " -c, --check v případÄ›, že vstupní soubory jsou již " #~ "seÅ™azeny\n" #~ " neÅ™adí je\n" #~ " -k, --key=POZ1[,POZ2] zaÄátek klíÄe na POZ1 a konec *na* POZ2 " #~ "Äísla\n" #~ " položek a pozice znaků jsou poÄítány od " #~ "jedné\n" #~ " -m, --merge spojí již seÅ™azené soubory, neseÅ™azuje je\n" #~ " -o, --output=SOUBOR výsledek zapíše do SOUBORU místo na " #~ "standardní\n" #~ " výstup\n" #~ " -s, --stable stabilizuje výsledek zakázáním seÅ™azení " #~ "stejných\n" #~ " položek porovnáváním bajt po bajtu\n" #~ " -S, --buffer-size=VELIKOST\n" #~ " použije VELIKOST pro hlavní paměťový buffer\n" #~ " -t, --field-separator=ODDÄšL\n" #~ " použije ODDÄšLOVAÄŒE místo pÅ™echodu nemezera/" #~ "mezera\n" #~ " -T, --temporary-directory=ADRESÃŘ\n" #~ " použije ADRESÃŘ pro doÄasné soubory, " #~ "nepoužívá\n" #~ " $TMPDIR ani %s.\n" #~ " Více pÅ™epínaÄů zadává více adresářů.\n" #~ " -u, --unique s -c testuje striktní uspořádání;\n" #~ " jinak vypíše pouze první ze stejných " #~ "sekvencí\n" #~ " -z, --zero-terminated vstupní řádky jsou ukonÄeny bajtem 0 místo " #~ "LF\n" #~ " (pro použití s 'find -print0')\n" #~ " +POZ1 [-POZ2] zaÄátek klíÄe na pozici POZ1, konec pÅ™ed " #~ "POZ2\n" #~ " (poÄítáno od nuly).\n" #~ " Varování: tento pÅ™epínaÄ je zastaralý\n" #~ " --help vypíše tuto nápovÄ›du a skonÄí\n" #~ " --version vypíše oznaÄení verze a skonÄí\n" #~ "\n" #~ msgid "" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE. Warning: a first option of +VALUE is obsolescent, and " #~ "support\n" #~ "for it will be withdrawn.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ " Jestliže první znak N (poÄet bajtů nebo řádků) je `+', výpis zaÄíná\n" #~ "od N-tého elementu od poÄátku každého souboru. Jinak se vypisuje " #~ "posledních\n" #~ "N elementů souboru. N může mít násobící příponu: b - 512, k - 1024 nebo\n" #~ "m - 1048576 (1 Mega). První pÅ™epínaÄ -HODNOTA nebo +HODNOTA, je brán " #~ "jako\n" #~ "-n HODNOTA nebo -n +HODNOTA, pokud HODNOTA nemá násobící příponu [bkm].\n" #~ "Jestliže ji má, pak je HODNOTA brána jako -c HODNOTA nebo -c +HODNOTA.\n" #~ "\n" #~ " UPOZORNÄšNÃ: první pÅ™epínaÄ +VALUE je zastaralý a jeho podpora bude\n" #~ "odstranÄ›na.\n" #~ "\n" #~ "S --follow (-f), tail sleduje deskriptor souboru, což znamená, jestliže\n" #~ "sledovaný soubor bude pÅ™ejmenován, tail bude sledovat tento pÅ™ejmenovaný\n" #~ "soubor. Implicitní funkce není žádoucí, jestliže chcete sledovat " #~ "aktuální\n" #~ "soubor pod daným jménem a ne deskriptor souboru (například rotace logů).\n" #~ "V tomto případÄ› použijte --follow=name. To způsobí, že tail bude " #~ "sledovat\n" #~ "soubor daného jména s periodickým znovuotevíráním, aby zjistil, zda byl \n" #~ "soubor smazán a znovuvytvoÅ™en nÄ›jakým jiným programem.\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ " MNOŽINY jsou zadány jako Å™etÄ›zce znaků. VÄ›tÅ¡ina znaků reprezentuje je " #~ "samé,\n" #~ "speciální význam mají tyto:\n" #~ "\n" #~ " \\NNN znak o hodnotÄ› NNN (zadáno v osmiÄkové soustavÄ›)\n" #~ " \\\\ zpÄ›tné lomítko\n" #~ " \\a znak BEL (pípnutí)\n" #~ " \\b backspace\n" #~ " \\f nová strana (form feed)\n" #~ " \\n nový řádek (line feed)\n" #~ " \\r návrat vozíku (return)\n" #~ " \\t horizontální tabelátor\n" #~ " \\v vertikální tabelátor\n" #~ " ZNAK1-ZNAK2 vÅ¡echny znaky od ZNAKu1 do ZNAKu2, vzestupnÄ›\n" #~ " [ZNAK*] v MNOŽINÄš2 kopíruje ZNAK tolikrát, aby byla MNOŽINA2 " #~ "stejnÄ›\n" #~ " dlouhá jako MNOŽINA1\n" #~ " [ZNAK*KOLIKRÃT] KOLIKRÃT kopií ZNAKu, osmiÄkovÄ› když zaÄíná Äíslicí 0\n" #~ " [:alnum:] vÅ¡echna písmena a Äíslice\n" #~ " [:alpha:] vÅ¡echna písmena\n" #~ " [:blank:] vÅ¡echny horizontální mezery\n" #~ " [:cntrl:] vÅ¡echny řídící znaky\n" #~ " [:digit:] vÅ¡echny Äíslice\n" #~ " [:graph:] vÅ¡echny tisknutelné znaky bez mezer\n" #~ " [:lower:] vÅ¡echna malá písmena\n" #~ " [:print:] vÅ¡echny tisknutelné znaky vÄetnÄ› mezer\n" #~ " [:punct:] vÅ¡echny interpunkÄní znaky\n" #~ " [:space:] vÅ¡echny horizontální a vertikální mezery\n" #~ " [:upper:] vÅ¡echna velká písmena\n" #~ " [:xdigit:] vÅ¡echny vÅ¡echny Å¡estnáctkové Äíslice\n" #~ " [=ZNAK=] vÅ¡echny znaky rovnocenné s ZNAKEM\n" ������������������������������������������coreutils-8.21/po/ro.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001046205�12107204513�011747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Romanian translation for coreutils. # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Sergiu Bivol <sergiu@ase.md>, 2010. msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.4\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2010-01-24 17:20+0200\n" "Last-Translator: Sergiu Bivol <sergiu@ase.md>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 " "<20)) ? 1 : 2;\n" "X-Generator: Lokalize 1.0\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument nevalid %s pentru %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument ambiguu %s pentru %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumente valide sînt:" #: lib/closein.c:100 msgid "error closing file" msgstr "eroare la închiderea fiÈ™ierului" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "eroare de scriere" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "se păstrează permisiunile pentru %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Eroare de sistem necunoscută" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fiÈ™ier gol obiÈ™nuit" #: lib/file-type.c:38 msgid "regular file" msgstr "fiÈ™ier obiÈ™nuit" #: lib/file-type.c:41 msgid "directory" msgstr "dosar" #: lib/file-type.c:44 msgid "block special file" msgstr "fiÈ™ier bloc special" #: lib/file-type.c:47 msgid "character special file" msgstr "fiÈ™ier caracterial special" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "legătură simbolică" #: lib/file-type.c:56 msgid "socket" msgstr "soclu" #: lib/file-type.c:59 msgid "message queue" msgstr "coadă de mesaje" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "obiect de memorie partajată" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" #: lib/file-type.c:70 msgid "weird file" msgstr "fiÈ™ier ciudat" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Familie de adrese pentru gazdă nesusÈ›inută" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Eroare temporară la rezolvarea numelui" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valoare greÈ™ită pentru ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "EÈ™ec nerecuperabil la rezolvarea numelui" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family nu este suportat" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "EÈ™ec la alocarea memoriei" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nicio adresă asociată cu numele gazdei" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nume sau serviciu necunoscut" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Nume de server nesuportat pentru ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype nu este suportat" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Eroare de sistem" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Tampon prea mic pentru argumente" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Prelucrare cerere în curs" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Cerere anulată" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Cerere neanulată" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Toate cererile terminate" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "ÃŽntrerupt de un semnal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Șirul parametrului e codificat greÈ™it" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Eroare necunoscută" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opÈ›iunea „%s†e ambiguă\n" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opÈ›iunea „--%s†nu permite un argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opÈ›iunea „%c%s†nu permite un argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opÈ›iunea „%s†cere un argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opÈ›iune necunoscută „--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opÈ›iune necunoscută „%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opÈ›iune nevalidă -- „%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opÈ›iunea cere un argument -- „%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opÈ›iunea „-W %s†e ambiguă\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opÈ›iunea „-W %s†nu permite un argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opÈ›iunea „%s†cere un argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "permisiunile %s nu se pot modifica" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "dosarul %s nu poate fi creat" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memorie epuizată" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "dosarul de lucru curent nu poate fi înregistrat" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "întoarcerea la dosarul de lucru iniÈ›ial a eÈ™uat" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: sfîrÈ™it de fiÈ™ier" #: lib/regcomp.c:131 msgid "Success" msgstr "Succes" #: lib/regcomp.c:134 msgid "No match" msgstr "Nicio potrivire" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expresie regulată nevalidă" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ sau [^ fără pereche" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( sau \\( fără pereche" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ fără pereche" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "ConÈ›inut nevalid al \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "SfîrÈ™it nevalid de domeniu" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memorie epuizată" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Expresie regulată precedentă nevalidă" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "SfîrÈ™it prematur al expresiei regulate" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Expresie regulată prea mare" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") sau \\) fără pereche" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nicio expresie regulată anterioară" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "operarea recursivă pe %s este periculoasă" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "operarea recursivă pe %s este periculoasă (la fel ca %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "utilizaÈ›i --no-preserve-root pentru a suprascrie această valoare de siguranță" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[dDyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "se stabilesc permisiunile pentru %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "ÃŽntrerupe" #: lib/siglist.h:37 msgid "Quit" msgstr "Termină" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "InstrucÈ›iune ilegală" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abandonat" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "ExcepÈ›ie de virgulă mobilă" #: lib/siglist.h:52 msgid "Killed" msgstr "Omorît" #: lib/siglist.h:55 msgid "Bus error" msgstr "Eroare de magistrală" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminat" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "CondiÈ›ie I/E urgentă" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Oprit (semnal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Oprit" #: lib/siglist.h:79 msgid "Continued" msgstr "Continuat" #: lib/siglist.h:82 msgid "Child exited" msgstr "Copilul s-a închis" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Oprit (intrare tty)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Oprit (ieÈ™ire tty)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/E posibile" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "S-a depășit limita de timp CPU" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "S-a depășit limita de dimensiune a fiÈ™ierului" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Cronometrul virtual a expirat" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "Fereastra s-a schimbat" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Semnal definit de utilizator 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Semnal definit de utilizator 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Apel de sistem greÈ™it" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "Pană de curent" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Resursă pierdută" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "legătura %s nu poate fi creată" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "scriere eÈ™uată" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Semnal în timp real %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Semnal necunoscut %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funcÈ›ie iconv inutilizabilă" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funcÈ›ie iconv indisponibilă" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "caracter în afara diapazonului" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04X nu poate fi convertit în setul de caractere local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04X nu poate fi convertit în setul de caractere local: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "utilizator nevalid" #: lib/userspec.c:107 msgid "invalid group" msgstr "grup nevalid" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "imposibil de afiÈ™at mesaj de eroare" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "ÃŽmpachetat de %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "ÃŽmpachetat de %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "LicenÈ›a GPLv3+: GNU GPL versiunea 3 sau ulterioară <http://gnu.org/licenses/" "gpl.html>.\n" "Acesta este software liber: sînteÈ›i liber să-l modificaÈ›i È™i să-l " "redistribuiÈ›i.\n" "Nu există NICIO GARANÈšIE, în limitele prevăzute de lege.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Scris de %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Scris de %s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Scris de %s, %s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Scris de %s, %s, %s\n" "È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s, %s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s, %s, %s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s, %s, %s, %s\n" "È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s È™i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Scris de %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s È™i alÈ›ii.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "RaportaÈ›i erorile la: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "RaportaÈ›i erorile %s la: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Pagina oficială %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Pagina oficială %s: <http://wwwgnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Ajutor general la utilizarea aplicaÈ›iilor GNU: <http://wwwgnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "deschidere eÈ™uată" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "intrarea standard" #: lib/xfreopen.c:36 msgid "stdout" msgstr "ieÈ™irea standard" #: lib/xfreopen.c:37 msgid "stderr" msgstr "eroarea standard" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "flux necunoscut" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "deschiderea %s în regimul %s a eÈ™uat" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "compararea È™irurilor a eÈ™uat" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "StabiliÈ›i LC_ALL='C' pentru a evita problema." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Șirurile comparate au fost %s È™i %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argument %s%s nevalid „%sâ€" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "argument %s%s nevalid „%sâ€" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s este prea mare" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [FIȘIER]\n" "Codifică sau decodifică FIȘIER sau intrarea standard în Base64, spre ieÈ™irea " "standard.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "eroare de citire" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "intrare nevalidă" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operand %s în plus" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "se închide intrarea standard" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Utilizare: %s DENUMIRE [SUFIX]\n" " sau: %s OPÈšIUNE\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "operand lipsă" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Utilizare: %s [OPÈšIUNE]... [FIȘIER]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatenează FIȘIER(e) sau intrarea standard spre ieÈ™irea standard.\n" "\n" " -A, --show-all echivalent cu -vET\n" " -b, --number-nonblank numerotează liniile rezultante nevide\n" " -e echivalent cu -vE\n" " -E, --show-ends afiÈ™ează $ la sfîrÈ™itul fiecărei linii\n" " -n, --number numerotează toate liniile rezultante\n" " -s, --squeeze-blank suprimă liniile rezultante vide repetate\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t echivalent cu -vT\n" " -T, --show-tabs afiÈ™ează caracterele TAB ca ^I\n" " -u (ignorat)\n" " -v, --show-nonprinting utilizează notaÈ›ia ^ È™i M-, în afară de LFD È™i " "TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exemple:\n" " %s f - g Arată conÈ›inutul lui f, apoi intrarea standard, apoi conÈ›inutul " "lui g.\n" " %s Copiază intrarea standard spre ieÈ™irea standard.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "nu se poate face ioctl asupra %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "ieÈ™irea standard" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: fiÈ™ierul de intrare este fiÈ™ier de ieÈ™ire" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "eÈ™ec la crearea contextului de securitate: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "eÈ™ec la obÈ›inerea contextului de securitate al %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "nu se poate aplica context parÈ›ial asupra fiÈ™ierului ne-etichetat %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "eÈ™ec la schimbarea contextului %s în %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "%s nu poate fi accesat" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "dosarul %s nu poate fi citit" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "se schimbă contextul de securitate al %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read a eÈ™uat" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close a eÈ™uat" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root nu trata „/†deosebit (implicit)\n" " --preserve-root eÈ™uează la operarea recursivă pe „/â€\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Următoarele opÈ›iuni modifică traversarea unei ierarhii cînd este " "specificată\n" "È™i opÈ›iunea -R. Dacă este specificată mai mult de una, numai cea finală\n" "are efect.\n" "\n" " -H dacă un argument în linia de comandă este o " "legătură\n" " simbolică la un dosar, traverseaz-o\n" " -L traversează fiecare legătură simbolică la un dosar\n" " întîlnită\n" " -P nu traversa nicio legătură simbolică (implicit)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference necesită fie -H, fie -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h cere -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "operand lipsă după %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "context nevalid: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "eÈ™ec la obÈ›inerea atributelor %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "grup nevalid: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... GRUP FIȘIER...\n" " sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exemple:\n" " %s staff /u Schimbă grupul lui /u la „staffâ€.\n" " %s -hR staff /u Schimbă grupul lui /u È™i al subdosarelor la „staffâ€.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "se obÈ›in noile atribute ale %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "regimul %s schimbat la %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "eÈ™ec la modificarea regimului %s în %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "regimul %s reÈ›inut ca %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "se modifică permisiunile %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: noile permisiuni sînt %s, nu %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... REGIM[,REGIM]... FIȘIER...\n" " sau: %s [OPÈšIUNE]... REGIM-OCTAL FIȘIER...\n" " sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Fiecare REGIM are forma „[ugoa]*([-+=]([rwxXst]*|[ugo]))+â€.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "opÈ›iunile regimului È™i ale --reference nu pot fi combinate" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "regim nevalid: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "apartenenÈ›a %s schimbată la %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "grupul %s schimbat la %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "nicio modificare la apartenenÈ›a %s\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "eÈ™ec la schimbarea apartenenÈ›ei %s la %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "eÈ™ec la modificarea grupului %s în %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "eÈ™ec la schimbarea apartenenÈ›ei %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "eÈ™ec la schimbarea apartenenÈ›ei %s la %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "eÈ™ec la modificarea grupului %s în %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "apartenenÈ›a %s reÈ›inută ca %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupul %s reÈ›inut ca %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "apartenenÈ›a %s reÈ›inută\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s nu poate fi dereferenÈ›iat" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "se modifică apartenenÈ›a %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "se modifică grupul %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [PROPRIETAR][:[GRUP]] FIȘIER...\n" " sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exemple:\n" " %s root /u Schimbă proprietarul lui /u la „rootâ€.\n" " %s root:staff /u Asemenea, dar schimbă È™i grupul la „staffâ€.\n" " %s -hR root /u Schimbă proprietarul lui /u È™i al subdosarelor la " "„rootâ€.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grup %s nevalid" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "listă de grupuri %s nevalidă" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "eÈ™ec la stabilirea grupurilor suplimentare" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s [OPÈšIUNE] RÄ‚DÄ‚CINÄ‚NOUÄ‚ [COMANDÄ‚ [ARG]...]\n" " sau: %s OPÈšIUNE\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Rulează COMANDÄ‚ cu dosarul rădăcină stabilit la RÄ‚DÄ‚CINÄ‚NOUÄ‚.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UTILIZATOR:GRUP specifică utilizatorul È™i grupul (ID sau nume) " "de utilizat\n" " --groups=LISTÄ‚_G specifică grupuri suplimentare ca g1,g2,..,gN\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Dacă nu este dată nicio comandă, execută „${SHELL} -i†(implicit: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "dosarul rădăcină nu poate fi schimbat la %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nu se poate schimba la dosarul rădăcină" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "eÈ™ec la stabilirea ID-grup" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "eÈ™ec la stabilirea ID-utilizator" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "eÈ™ec la rularea comenzii %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fiÈ™ier prea lung" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Utilizare: %s [FIȘIER]...\n" " sau: %s [OPÈšIUNE]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "TipăreÈ™te suma de verificare CRC È™i numărul de octeÈ›i al fiecărui FIȘIER.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Utilizare: %s [OPÈšIUNE]... FIȘIER1 FIȘIER2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Compară fiÈ™ierele sortate FIȘIER1 È™i FIȘIER2 linie cu linie.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=ȘIR separă coloanele cu ȘIR\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "ReÈ›ineÈ›i, comparările respectă regulile specificate de „LC_COLLATEâ€.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "fiÈ™ierul %d nu este în ordine sortată" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "delimitatori multipli specificaÈ›i" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "%s gol interzis" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "eroare la citirea %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nu se poate face lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "eroare la scrierea %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s: eÈ™ec la eliminare" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "scriere eÈ™uată" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "eÈ™ec la deschiderea %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "se curăță permisiunile pentru %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "păstrarea apartenenÈ›ei pentru %s a eÈ™uat" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "găsirea fiÈ™ierului %s a eÈ™uat" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s nu poate fi deschis pentru citire" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "nu se poate face fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "se sare fiÈ™ierul %s, întrucît a fost înlocuit în timpul copierii" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "%s nu poate fi eliminat" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "eliminat %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "fiÈ™ierul obiÈ™nuit %s nu poate fi creat" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "eÈ™ec la clonarea %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "se păstrează timpii pentru %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "eÈ™ec la deschiderea %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: suprascrieÈ›i %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (rezervă: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "nu se poate face stat %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "se omite dosarul %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "atenÈ›ie: fiÈ™ierul-sursă %s specificat mai mult decît o dată" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s È™i %s sînt unul È™i acelaÈ™i fiÈ™ier" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "nu se poate suprascrie non-dosarul %s cu dosarul %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "nu se poate suprascrie dosarul %s cu non-dosar" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "copierea de rezervă %s ar distruge sursa; %s nu este copiat" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "%s nu poate fi copiat de rezervă" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "nu se poate copia un dosar, %s, în el însuÈ™i, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s nu poate fi mutat într-un subdosar al său, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "nu se poate muta %s la %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "eÈ™ec la stabilirea contextului implicit de creare a fiÈ™ierelor la %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "nu se poate copia legătura simbolică ciclică %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "nu se poate crea legătura simbolică %s la %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "fiÈ™ierul special %s nu poate fi creat" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "legătura simbolică %s nu poate fi citită" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "legătura simbolică %s nu poate fi creată" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s are un tip de fiÈ™ier necunoscut" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [-T] SURSÄ‚ DEST\n" " sau: %s [OPÈšIUNE]... SURSÄ‚... DOSAR\n" " sau: %s [OPÈšIUNE]... -t DOSAR SURSÄ‚...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Copiază SURSÄ‚ la DESTINAÈšIE, sau multiple SURSE în DOSAR.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "păstrarea timpilor pentru %s a eÈ™uat" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "păstrarea permisiunilor pentru %s a eÈ™uat" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "dosarul %s nu poate fi făcut" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s există dar nu este un dosar" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "eÈ™ec la deschiderea %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "lipsă operand fiÈ™ier" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "lipsă operand fiÈ™ier destinaÈ›ie după %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "nu se pot combina --target-directory (-t) È™i --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "È›inta %s nu este un dosar" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "cu --parents, destinaÈ›ia trebuie să fie un dosar" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "multiple dosare-È›intă specificate" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "opÈ›iunile --backup È™i --no-clobber se exclud reciproc" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink poate fi utilizat numai cu --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tip copie de siguranță" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "intrarea a dispărut" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: număr linie în afara intervalului" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: număr linie în afara intervalului" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: nicio potrivire găsită" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "eroare de scriere pentru %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: se aÈ™teaptă întreg după delimitator" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: expresie regulată nevalidă: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: model nevalid" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: numărul liniei trebuie să fie mai mare ca zero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "numărul de linie %s e mai mic decît numărul liniei precedente, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "atenÈ›ie: numărul de linie %s e acelaÈ™i ca È™i numărul liniei precedente" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: specificare de conversie nevalidă" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: număr nevalid" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Utilizare: %s [OPÈšIUNE]... FIȘIER MODEL...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "cîmpurile È™i poziÈ›iile sînt numerotate începînd cu 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Utilizare: %s OPÈšIUNE... [FIȘIER]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "TipăreÈ™te fragmente alese de linie din fiecare FIȘIER pe ieÈ™irea standard.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "trebuie să specificaÈ›i o listă de octeÈ›i, caractere sau cîmpuri" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "numărul de cîmp %s e prea mare" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "poate fi specificat numai un tip de listă" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "delimitatorul trebuie să fie un singur caracter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "trebuie să specificaÈ›i o listă de octeÈ›i, caractere sau cîmpuri" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "lipseÈ™te lista de cîmpuri" #: src/cut.c:872 msgid "missing list of positions" msgstr "lipseÈ™te lista de poziÈ›ii" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [+FORMAT]\n" " sau: %s [-u|--utc|--universal] [LLZZhhmm[[SS]AA][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k oră ( 0..23)\n" " %l oră ( 1..12)\n" " %m lună (01..12)\n" " %M minut (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S secundă (00..60)\n" " %t un tabulator\n" " %T ora; identic cu %H:%M:%S\n" " %u ziua săptămînii (1..7); 1 e Luni\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "intrarea standard" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "dată nevalidă %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "multiple formate de ieÈ™ire specificate" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "nu se poate stabili data" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "ora %s este în afara intervalului" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s [OPERAND]...\n" " sau: %s OPÈšIUNE\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copiază un fiÈ™ier, convertind È™i formatînd conform operanzilor.\n" "\n" " bs=OCTEÈšI citeÈ™te È™i scrie OCTEÈšI octeÈ›i odată (vezi È™i ibs=,obs=)\n" " cbs=OCTEÈšI converteÈ™te OCTEÈšI octeÈ›i odată\n" " conv=CONV converteÈ™te fiÈ™ierul conform listei de simboluri separate " "prin virgulă\n" " count=BLOCURI copiază numai BLOCURI blocuri de intrare\n" " ibs=OCTEÈšI citeÈ™te OCTEÈšI octeÈ›i odată (implicit: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCURI È™i OCTEÈšI pot fi urmate de următoarele sufixe multiplicative:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, È™i aÈ™a mai departe pentru T, P, E, Z, " "Y.\n" "\n" "Fiecare simbol CONV poate fi:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase schimbă minusculele în majuscule\n" " swab interschimbă fiecare pereche de octeÈ›i de intrare\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl eÈ™uează dacă fiÈ™ierul de ieÈ™ire există deja\n" " nocreat nu crea fiÈ™ierul de ieÈ™ire\n" " notrunc nu trunchia fiÈ™ierul de ieÈ™ire\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio utilizează I/E concurentă pentru date\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct utilizează I/E directă pentru date\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow nu urma legăturile simbolice\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary utilizează I/E binară pentru date\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text utilizează I/E textuală pentru date\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> înregistrări citite\n" "%<PRIuMAX>+%<PRIuMAX> înregistrări scrise\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> înregistrare trunchiată\n" msgstr[1] "%<PRIuMAX> înregistrări trunchiate\n" msgstr[2] "%<PRIuMAX> de înregistrări trunchiate\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> octet (%s) copiat" msgstr[1] "%<PRIuMAX> octeÈ›i (%s) copiaÈ›i" msgstr[2] "%<PRIuMAX> de octeÈ›i (%s) copiaÈ›i" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "se închide fiÈ™ierul de intrare %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "se închide fiÈ™ierul de ieÈ™ire %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "se scrie în %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operand %s necunoscut" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversie nevalidă" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "fanion de intrare nevalid" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "fanion de ieÈ™ire nevalid" #: src/dd.c:1227 msgid "invalid status flag" msgstr "fanion de stare nevalid" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "număr nevalid %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "block È™i unblock nu se pot combina" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "lcase È™i ucase nu se pot combina" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "excl È™i nocreat nu se pot combina" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "excl È™i nocreat nu se pot combina" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: nu se poate sări" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: nu se poate căuta" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "se stabilesc fanioane pentru %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: nu se poate sări la decalajul specificat" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync eÈ™uat pentru %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync eÈ™uat pentru %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "eÈ™ec la deschiderea %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "nu s-a putut face chdir în %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Sistem de fiÈ™iere" #: src/df.c:175 msgid "Type" msgstr "Tip" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blocuri" #: src/df.c:181 msgid "Used" msgstr "Utilizat" #: src/df.c:184 msgid "Available" msgstr "Disponibil" #: src/df.c:187 msgid "Use%" msgstr "Uz%" #: src/df.c:190 msgid "Inodes" msgstr "Inoduri" #: src/df.c:193 msgid "IUsed" msgstr "IUtilizat" #: src/df.c:196 msgid "IFree" msgstr "ILiber" #: src/df.c:199 msgid "IUse%" msgstr "IUz%" #: src/df.c:202 msgid "Mounted on" msgstr "Montat pe" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "atenÈ›ie: fiÈ™ierul-sursă %s specificat mai mult decît o dată" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Dimens" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Liber" #: src/df.c:474 msgid "Capacity" msgstr "Capacitate" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Arată informaÈ›ii despre sistemul de fiÈ™iere pe care rezidă fiecare FIȘIER\n" "sau implicit toate sistemele de fiÈ™iere.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "opÈ›iunile --backup È™i --no-clobber se exclud reciproc" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "AtenÈ›ie: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "AtenÈ›ie: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "tabelul sistemelor de fiÈ™iere montate nu poate fi citit" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "niciun sistem de fiÈ™iere prelucrat" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Utilizare: %s [OPÈšIUNE]... [FIȘIER]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Utilizare: %s [OPÈšIUNE]... DENUMIRE...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [FIȘIER]...\n" " sau: %s [OPÈšIUNE]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Sumarizează utilizarea discului de către fiecare FIȘIER, recursiv pentru " "dosare.\n" "\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read a eÈ™uat" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argument %s%s nevalid „%sâ€" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: eroare de citire" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "la citirea denumirilor de fiÈ™iere din stdin, denumirea %s nu este permisă" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "denumire fiÈ™ier de lungime zero nevalidă" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Utilizare: %s [OPÈšIUNE-SCURTÄ‚]... [ȘIR]...\n" " sau: %s OPÈšIUNE-LUNGÄ‚\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Imită ȘIR(uri) spre ieÈ™irea standard.\n" "\n" " -n nu afiÈ™a linia nouă finală\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Utilizare: %s [OPÈšIUNE]... [-] [NUME=VALOARE]... [COMANDÄ‚ [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "StabileÈ™te fiecare NUME la VALOARE în mediu È™i rulează COMANDÄ‚.\n" "\n" " -i, --ignore-environment porneÈ™te cu un mediu gol\n" " -u, --unset=NAME elimină variabila din mediu\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Un simplu - implică -i. Fără COMANDÄ‚ tipăreÈ™te mediul rezultant.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "nu se poate rula %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "nu se poate face stat %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "linie de intrare prea lungă" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s EXPRESIE\n" " sau: %s OPÈšIUNE\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "eroare de sintaxă" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argument non-numeric" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "împărÈ›ire la zero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "stabiliÈ›i LC_ALL='C' pentru a evita problema" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "È™irurile comparate au fost %s È™i %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s nu este un întreg pozitiv valid" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s este prea mare" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s [NUMÄ‚R]...\n" " sau: %s OPÈšIUNE\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "nu se poate obÈ›ine dosarul curent" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "nu se poate schimba la dosarul %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Utilizare: %s [-LĂȚIME] [OPÈšIUNE]... [FIȘIER]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "lățime nevalidă: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "număr nevalid de coloane: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Utilizare: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "eÈ™ec la obÈ›inerea grupurilor pentru utilizatorul %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "eÈ™ec la obÈ›inerea grupurilor pentru procesul curent" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "nu se poate stabili data" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "%s nu poate fi dereferenÈ›iat" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "nu se poate stabili data" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Nu există un asemenea utilizator" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: numărul de octeÈ›i e prea mare" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nu se poate căuta la decalajul %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: eÈ™ec la eliminare" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s este atît de mare încît nu poate fi reprezentat" #: src/head.c:886 msgid "number of lines" msgstr "număr de linii" #: src/head.c:886 msgid "number of bytes" msgstr "număr de octeÈ›i" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "număr de linii nevalid" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "număr de octeÈ›i nevalid" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "opÈ›iune finală nevalidă -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Utilizare: %s [OPÈšIUNE]\n" "TipăreÈ™te identificatorul numeric (hexazecimal) pentru gazda curentă.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Utilizare: %s [NUME]\n" " sau: %s OPÈšIUNE\n" "TipăreÈ™te sau stabileÈ™te numele de gazdă al sistemului curent.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "numele nu poate fi stabilit la %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "numele gazdei nu se poate determina" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "contextul procesului nu poate fi obÈ›inut" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "%s nu poate fi dereferenÈ›iat" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "numele nu poate fi stabilit la %s" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " grupuri=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " context=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "se creează dosarul %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "apartenenÈ›a %s nu poate fi schimbată" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "nu se poate rula %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "utilizator nevalid %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "regim nevalid %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "număr de cîmp nevalid: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "specificator de cîmp nevalid: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ambele fiÈ™iere nu pot fi intrarea standard" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Utilizare: %s [-s SEMNAL | -SEMNAL] PID...\n" " sau: %s -l [SEMNAL]...\n" " sau: %s -t [SEMNAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Trimite semnale către procese sau enumeră semnalele.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: identificator de proces nevalid" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opÈ›iune nevalidă -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: semnale multiple specificate" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "multiple opÈ›iuni -l sau -t specificate" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "semnalul nu se poate combina cu -l sau -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "niciun identificator de proces specificat" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s FIȘIER1 FIȘIER2\n" " sau: %s OPÈšIUNE\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "nu se poate crea legătura %s la %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: dosarul nu se poate suprascrie" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: înlocuiÈ›i %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "legătura simbolică %s nu poate fi creată" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "nu se poate crea legătura simbolică %s la %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "nu s-a putut face chdir în %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "eÈ™ec la crearea contextului de securitate: %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "nu se poate crea legătura %s la %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "nu se pot combina --target-directory È™i --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "legătura simbolică %s nu poate fi creată" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Utilizare: %s [OPÈšIUNE]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "TipăreÈ™te numele utilizatorului curent.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "lățime linie nevalidă: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Argumente valide sînt:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "eroare la iniÈ›ializarea È™irurilor lunii" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefix necunoscut: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "valoarea pentru variabila de mediu LS_COLORS nu poate fi parcursă" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "dosarul %s nu poate fi deschis" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "dispozitivul È™i inodul pentru %s nu pot fi determinate" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: nu se face lista dosarului deja făcută" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "se citeÈ™te dosarul %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "se închide dosarul %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "denumirile de fiÈ™ier %s È™i %s nu se pot compara" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr " -t, --text citeÈ™te în regim textual (implicit)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -t, --text citeÈ™te în regim textual (implicit)\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr " -t, --text citeÈ™te în regim textual (implicit)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text citeÈ™te în regim textual (implicit)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "EȘUAT" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Utilizare: %s [OPÈšIUNE]... DOSAR...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Creează DOSAR(ele), dacă acestea nu există deja.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "creat dosarul %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Utilizare: %s [OPÈšIUNE]... DENUMIRE...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "regim nevalid" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Utilizare: %s [OPÈšIUNE]... DENUMIRE TIP [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Creează fiÈ™ierul special DENUMIRE de tip TIP.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "FiÈ™ierele speciale necesită numere de dispozitiv majore È™i minore." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "dispozitiv nevalid %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tip de dispozitiv nevalid %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Utilizare: %s [OPÈšIUNE]... [ȘABLON]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "eÈ™ec la redirecÈ›ionarea stderr spre /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "prea multe È™abloane" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, fuzzy, c-format msgid "invalid suffix %s, contains directory separator" msgstr "È™ablonul nevalid, %s, conÈ›ine separator de dosare" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "prea puÈ›ini X în È™ablonul %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "È™ablonul nevalid, %s, conÈ›ine separator de dosare" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "È™ablon nevalid, %s; cu --tmpdir, poate să nu fie absolut" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "eÈ™ec la crearea dosarului prin È™ablonul %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "eÈ™ec la crearea fiÈ™ierului prin È™ablonul %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "RedenumeÈ™te SURSÄ‚ în DEST, sau mută SURSÄ‚ în DOSAR.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Utilizare: %s [OPÈšIUNE] [COMANDÄ‚ [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ajustare nevalidă %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "o comandă trebuie dată cu o ajustare" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "stil nevalid de numerotare colontitlu: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "stil nevalid de numerotare corp: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "stil nevalid de numerotare coloncifru: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "număr nevalid de linie iniÈ›ială: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "număr nevalid de linii goale: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "format nevalid de numerotare linii: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s COMANDÄ‚ [ARG]...\n" " sau: %s OPÈšIUNE\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "redirijarea ieÈ™irii standard a eÈ™uat" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "se ignoră intrarea" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "se ignoră intrarea È™i ieÈ™irea se adaugă la %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "ieÈ™irea se adaugă la %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "se ignoră intrarea È™i se redirecÈ›ionează stderr spre stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "stderr se redirijează spre stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "redirijarea ieÈ™irii standard a eÈ™uat" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Utilizare: %s [OPÈšIUNE]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: număr de linii nevalid" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "număr nevalid %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "lățime linie nevalidă: %s" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: eÈ™ec la deschiderea pentru scriere" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "utilizator nevalid %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "lățime nevalidă a formatului" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "lățime linie nevalidă: %s" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "interval de pagini nevalid %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "număr de cîmp nevalid: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "dată nevalidă %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "semnalul nu se poate combina cu -l sau -t" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "semnalul nu se poate combina cu -l sau -t" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "niciun identificator de proces specificat" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "semnalul nu se poate combina cu -l sau -t" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "eroare la citirea %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "redirijarea ieÈ™irii standard a eÈ™uat" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [FIȘIER]...\n" " sau: %s [-abcdfilosx]... [FIȘIER] [[+]DECALAJ[.][b]]\n" " sau: %s --traditional [OPÈšIUNE]... [FIȘIER] [[+]DECALAJ[.][b] [+]" "[ETICHETÄ‚][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "caracter neportabil %s în denumirea de fiÈ™ier %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "regimul de compatibilitate susÈ›ine cel mult un fiÈ™ier" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes este prea mare" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "atenÈ›ie: lățime nevalidă %lu; se utilizează %d în loc" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: semnal nevalid" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "intrarea standard este închisă" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "caracter neportabil %s în denumirea de fiÈ™ier %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "denumire de fiÈ™ier goală" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nume de autentificare: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "ÃŽn viaÈ›a reală: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Dosar: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Interpretor: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Proiect: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Autentificare" #: src/pinky.c:407 msgid "Name" msgstr "Nume" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Inactiv" #: src/pinky.c:411 msgid "When" msgstr "Cînd" #: src/pinky.c:414 msgid "Where" msgstr "Unde" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "interval de pagini nevalid %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "număr de linii nevalid: 0" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "număr nevalid de linie iniÈ›ială: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "lățime linie nevalidă: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "număr nevalid de coloane: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "număr nevalid de coloane: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Pagina %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s FORMAT [ARGUMENT]...\n" " sau: %s OPÈšIUNE\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: se aÈ™tepta o valoare numerică" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "lățime de cîmp nevalidă: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "precizie nevalidă: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: specificare de conversie nevalidă" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "atenÈ›ie: se ignoră argumentele în exces, începînd cu %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Utilizare: %s [OPÈšIUNE]... [INTRARE]... (fără -G)\n" " sau: %s -G [OPÈšIUNE]... [INTRARE [IEȘIRE]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "TipăreÈ™te denumirea completă a dosarului de lucru curent.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "nu s-a putut face chdir în %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "nu s-a putut face stat %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "se ignoră argumentele non-opÈ›iune" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitrii V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Utilizare: %s [OPÈšIUNE]... FIȘIER...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "TipăreÈ™te valoarea unei legături simbolice sau denumiri de fiÈ™ier canonice\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "se ignoră argumentele non-opÈ›iune" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: descindeÈ›i în dosarul protejat la scriere %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: descindeÈ›i în dosarul %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: eliminaÈ›i %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "dosar eliminat: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "dosarul %s nu poate fi eliminat" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "se sare %s, întrucît se află pe alt dispozitiv" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "citire eÈ™uată" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "ÃŽncercaÈ›i „%s ./%s†pentru a elimina fiÈ™ierul %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: eliminaÈ›i toate argumentele recursiv? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: eliminaÈ›i toate argumentele? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "se elimină dosarul, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "eÈ™ec la eliminarea dosarului %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "eÈ™ec la eliminarea %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nicio comandă specificată" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fiÈ™ier prea mare" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat eÈ™uat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tip de fiÈ™ier nevalid" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: fiÈ™ierul are dimensiune nevalidă" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: eroare la trunchiere" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl eÈ™uat" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: eliminare" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: redenumit în %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: eÈ™ec la eliminare" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: eliminat" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: eÈ™ec la închidere" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: eÈ™ec la deschiderea pentru scriere" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: dimensiune de fiÈ™ier nevalidă" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "multiple fiÈ™iere de ieÈ™ire specificate" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "TipăreÈ™te fragmente alese de linie din fiecare FIȘIER pe ieÈ™irea standard.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "OpÈ›iuni de ordonare:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "deschidere eÈ™uată" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush eÈ™uat" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "închidere eÈ™uată" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 eÈ™uat" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "fiÈ™ierul temporar nu a putut fi creat" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat eÈ™uat" #: src/sort.c:1755 msgid "read failed" msgstr "citire eÈ™uată" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "transformarea È™irului a eÈ™uat" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "È™irul transformat a fost %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "opÈ›iunile „-%s†sînt incompatibile" msgstr[1] "opÈ›iunile „-%s†sînt incompatibile" msgstr[2] "opÈ›iunile „-%s†sînt incompatibile" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "scriere eÈ™uată" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "eroarea standard" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "nu se poate stabili data" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "opÈ›iunile „-%s†sînt incompatibile" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "număr nevalid după „-â€" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "număr nevalid după „.â€" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "numărul cîmpului e zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "număr nevalid după „,â€" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Utilizare: %s [OPÈšIUNE]... [INTRARE [PREFIX]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "se creează fiÈ™ierul %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "valoarea pentru variabila de mediu LS_COLORS nu poate fi parcursă" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "eÈ™ec la eliminarea %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "se închide dosarul %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "se închide fiÈ™ierul de ieÈ™ire %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "se închide fiÈ™ierul de intrare %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "se închide fiÈ™ierul de intrare %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "eÈ™ec la rularea comenzii %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "eÈ™ec la închiderea dosarului %s" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: număr de secunde nevalid" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: număr nevalid" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: număr de octeÈ›i nevalid" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: număr de linii nevalid" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "număr nevalid de linie iniÈ›ială: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: dimensiune de fiÈ™ier nevalidă" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "numele gazdei nu se poate determina" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "eÈ™ec la clonarea %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: opÈ›iune necunoscută „%c%sâ€\n" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: directivă nevalidă" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "se închide intrarea standard" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr " context=%s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "eÈ™ec la deschiderea %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "se ignoră toate argumentele" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Argumentele obligatorii pentru opÈ›iuni lungi sînt obligatorii È™i pentru " "opÈ›iunile scurte.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "RaportaÈ›i erorile %s la %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "ÃŽncercaÈ›i „%s --help†pentru informaÈ›ii suplimentare.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "înregistrare prea mare" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "eÈ™ec la crearea contextului de securitate: %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: eÈ™ec la deschiderea pentru scriere" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "păstrarea timpilor pentru %s a eÈ™uat" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: eroare de scriere" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "%s nu poate fi deschis pentru citire" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "separatorul nu poate fi gol" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "se închide %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s a devenit inaccesibil" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s a devenit accesibil" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fiÈ™ier trunchiat" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "niciun fiÈ™ier rămas" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "memorie epuizată" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s nu se poate urmări" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "numărul din %s e prea mare" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID nevalid" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: număr de secunde nevalid" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argument lipsă după %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:241 msgid "')' expected" msgstr "„)†aÈ™teptat" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "„)†aÈ™teptat, %s găsit" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: operator unar aÈ™teptat" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt nu acceptă -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef nu acceptă -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot nu acceptă -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operator binar necunoscut" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: operator binar aÈ™teptat" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "lipseÈ™te „]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argument în plus %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Utilizare: %s [OPÈšIUNE] RÄ‚DÄ‚CINÄ‚NOUÄ‚ [COMANDÄ‚ [ARG]...]\n" " sau: %s OPÈšIUNE\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Argumentele obligatorii pentru opÈ›iuni lungi sînt obligatorii È™i pentru " "opÈ›iunile scurte.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "format de dată necunoscut %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "nu se poate atinge %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "se stabilesc timpii %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "timpii nu pot fi specificaÈ›i din mai mult de o sursă" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Utilizare: %s [OPÈšIUNE]... MULÈšIME1 [MULÈšIME2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "prea multe caractere în mulÈ›ime" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Utilizare: %s OPÈšIUNE... FIȘIER...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create nu crea niciun fiÈ™ier\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "apartenenÈ›a %s nu poate fi schimbată" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "trebuie să specificaÈ›i o listă de octeÈ›i, caractere sau cîmpuri" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s nu se poate deschide pentru scriere" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "TipăreÈ™te arhitectura maÈ™inii.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nu se poate obÈ›ine numele sistemului" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "prea multe linii repetate" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Utilizare: %s FIȘIER\n" " sau: %s OPÈšIUNE\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu utilizator" msgstr[1] "%lu utilizatori" msgstr[2] "%lu de utilizatori" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", încărcare medie: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " vechi " #: src/who.c:440 msgid "system boot" msgstr "demarare sistem" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "LINIE" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 msgid "IDLE" msgstr "" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "se creează fiÈ™ierul %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]...\n" #~ msgid "reading %s" #~ msgstr "se citeÈ™te %s" #~ msgid "writing %s" #~ msgstr "se scrie %s" #~ msgid "closing %s" #~ msgstr "se închide %s" #~ msgid "accessing %s" #~ msgstr "se accesează %s" #~ msgid "opening %s" #~ msgstr "se deschide %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilizare: %s DENUMIRE\n" #~ " sau: %s OPÈšIUNE\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ATENÈšIE: --page-increment este învechit; utilizaÈ›i --line-increment în " #~ "schimb" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Toate argumentele obligatorii pentru opÈ›iuni lungi sînt obligatorii " #~ "pentru opÈ›iuni scurte\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Utilizare: %s OPÈšIUNE]... FIȘIER\n" #~ msgid "Password:" #~ msgstr "Parolă:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: nu se poate deschide /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nu se pot stabili grupurile" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Utilizare: %s [OPÈšIUNE]... [-] [UTILIZATOR [ARG]...]\n" #~ msgid "user %s does not exist" #~ msgstr "utilizatorul %s nu există" #~ msgid "incorrect password" #~ msgstr "parolă incorectă" #~ msgid "using restricted shell %s" #~ msgstr "se utilizează interpretorul restricÈ›ionat %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "atenÈ›ie: dosarul nu se poate schimba la %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "invalid format precision" #~ msgstr "precizie nevalidă a formatului" #~ msgid "creating symbolic link %s" #~ msgstr "se creează legătura simbolică %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "se creează legătura simbolică %s -> %s" #~ msgid "extra operand %s\n" #~ msgstr "operand în plus %s\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opÈ›iune ilegală -- %c\n" #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "RaportaÈ›i erorile %s la <%s>.\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "Pagina oficială %s: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Ajutor general la utilizarea aplicaÈ›iilor GNU: <http://www.gnu.org/" #~ "gethelp/>.\n" #~ msgid "invalid argument: %s" #~ msgstr "argument nevalid: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help AfiÈ™ează acest ajutor È™i iese.\n" #~ " --version Arată informaÈ›ii despre versiune È™i iese.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory creează un dosar, nu un fiÈ™ier\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nu crea nimic; doar tipăreÈ™te o denumire (nesigur)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p DIR utilizează DIR ca prefix; implică -t [învechit]\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n linie nouă\n" #~ " \\r retur de car\n" #~ " \\t tabulator orizontal\n" #~ " \\v tabulator vertical\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: eÈ™ec la închiderea dosarului %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: nu se poate deschide .. din %s" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: nu se poate intra în dosarul %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: nu se poate întoarce la .. din %s" #~ msgid "cannot remove root directory %s" #~ msgstr "dosarul rădăcină %s nu poate fi eliminat" #~ msgid "cannot restore current working directory" #~ msgstr "dosarul de lucru curent nu se poate restabili" #~ msgid "creating %s" #~ msgstr "se creează %s" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/id.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000615323�12107204516�012074� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���¥��0���X%��A��€J�����„c�� ���”c��¼c������Ôe�����Õe��ø���×e��¾���Ðf��¿���g��Â���Oh��ª���i��G��½i��ù���k��º���ÿk��p���ºl��!��+m��¼���Mn��w�� o��5��‚p��R��¸q��~��� s�� ���Šs��\���˜s��w���õs��G���mt��ï���µt��w���¥u��¡���v��#��¿v����ãw��š���èx��Ä���ƒy��D��Hz��z���|��Þ���}��i���ç}��ˆ���Q~��È���Ú~��„���£��à���(€��›��� ��—���¥��`���=‚��‚���ž‚����!ƒ��>���6„��3��u„��K��©…��0���õ†��Ê���&‡��–���ñ‡��Ê���ˆˆ��ç���S‰��‡���;Š��¾���Ê��E���‚‹��Œ���È‹��ü���UŒ��æ���R����9Ž��9���K�����…�����œ��t��±��Ì���&‘��°���ó‘����¤’��þ��¸“��Ë���·•����ƒ–��7���¡—��¼���Ù—��F���–˜��ì���ݘ�� ���Ê™��¡��Ö™��¾��x›��Ð��7��u���Ÿ��q���~Ÿ��1��ðŸ��ë���"¡��,���¢��º���;¢�����ö¢��ß���‡£��\��g¤��‹���Ä¥����P¦��·���f§��›���¨��p���º¨��5���+©��s���a©����Õ©����ôª��×���¬��ò���ë¬��É���Þ­��Ê���¨®��ð���s¯��–��d°��Ô���û±��Ó���в��¤���¤³��i���I´��õ���³´��Z���©µ��.��¶��ž���3·��4���Ò·��‰���¸��F���‘¸��O��ظ����(º�� ��¸»��£��ż��y��i¾�� ��ã¿��n���Á��Ë��sÁ����?Ã����^Ä��¢���ïÅ��Ö���’Æ��¡��iÇ��E��� É��J���QÉ��Ò���œÉ�� ��oÊ��&��}Ë��Ý���¤Ì��Ò���‚Í��’���UÎ��°���èÎ��Ë���™Ï��›���eÐ��u���Ñ����wÑ��1���Ò�����¿Ò��Ë���OÓ��ƒ���Ô��ƒ���ŸÔ��‚��#Õ��4��¦Ö����Û×����íØ��´���Ú��í���µÛ�� ��£Ü����®Ý��<���´Þ��‘���ñÞ��º��ƒß��ª��>á��K���éâ����5ã��z���:ä��þ���µä��f��´å��5��ç��1���Qè��H���ƒè��;��Ìè��Æ���ê��È���Ïê��ý���˜ë��q��–ì��Y��î��ü���bï��×���_ð��T��7ñ��#��Œò��÷��°ó��Þ���¨õ��ƒ���‡ö��Ñ��� ÷��Í���Ý÷��Ä���«ø��Ñ���pù��ë���Bú����.û��D��=ü��Ó���‚ý��I���Vþ���� þ��c��.�� ��’�=��³�*��ñ�’����C���¯�X��ó�?���L�S���Œ�š��à�m���{ �û���é �ä���å �¨��Ê �$���s �(���˜ �ú���Á �$���¼�%���á�*������2�:���Q�&���Œ�9���³�#���í�$����!���6�Ý���X�,���6�"���c� ���†� ���‘�X��Ÿ�;���ø�|��4���±�Ô���Å�Ü���š�þ���w� ���v����� ���†����’����›����¡���´�&���Ð� ���÷� ������� ���� ����3����H����f� ���‚�+���£����Ï����è�?����D���C�0���ˆ����¹�)���Ò����ü�0����"���A����d�'���t����œ�/���¼� ���ì���� ����%����;����T�>���q�"���°�%���Ó�B���ù�*���<����g����†����˜�)���¨����Ò�%���ï�,��� ����B �#���R �$���v ����› �/���» ����ë �8���û ����4!����I!����h!����…!����™!����¸!����Í!����Þ!����ó!����"����+"����>"����P"����c"����t"�'���…"����­"�*���È"����ó"�$���#����6#� ���F#����g#�"���}#���� #����¶#�;���Ì#����$����$����7$����S$����p$����Ž$����«$����Ç$����Û$�"���ò$����%����(%�)���B%����l%����‰%����š%�"���¹%�1���Ü%�'���&�(���6&� ���_&�,���€&�,���­&�-���Ú&� ���'�(���)'����R'����e'����~'�"���™'����¼'����Ë'�&���Þ'����(�"��� (� ���C(� ���O(����\(����n(����(����(�5���«(�0���á(�.���)����A)����])����})�"���)����À)�+���Ð)�%���ü)����"*����B*� ���D*����Q*����h*�l���l*�;��Ù*����,� ���+,����9,�6���T,�-���‹,�)���¹,����ã,����õ,���� -����#-� ���:-����E-����J-����P-�)���X-� ���‚-����Ž-���� -����º-����É-� ���Ï-����Ù-����é-� ����.� ��� .� ���.�k�� .����Œ/����”/�K���¬/�8���ø/����10� ���:0� ���E0� ���R0�3���^0� ���’0�½���œ0����Z1����i1� ���y1�ã���†1� ���j2����v2�U��†2����Ü3����å3�<��ê3�\���'5� ���„5�+���5�+���»5�0���ç5� ���6����"6����)6�1���86����j6� ���ƒ6����Ž6�@���§6�7���è6�?��� 7����`7����r7����7� ���ˆ7����•7����š7���� 7����¦7����¬7����½7�:���Â7����ý7�¦���8����¸8�×��Ç8� ���Ÿ:����ª:����¾:� ���Å:����Ï:����ç:����þ:����;����7;�$���O;����t;����†;����¡;� ���°;� ���¼;� ���È;����Õ;� ���æ;����ò;����<����<����<����!<����'<� ���-<� ���:<����H<����Y<����s<����„<� ���“<� ���¡<� ���®<� ���º<����Å<����Ê<����Ï<�#���é<���� =����=�*���5=����`=�E���c=����©=����½=���Î=�H���à>�o���)?����™?����?����­?� ���Â?�&���Ð?� ���÷?� ���@� ���@����@� ���"@�#���0@�H���T@�2���@�i��Ð@�ª���:B�š���åB�;���€C����¼C�¸���ÚC�†���“D�;���E�%���VE����|E�†���üE�T���ƒF� ��ØF�7���ãH����I����:I� ���RI� ���\I����iI� ���nI����zI����ŽI�º���©I����dJ�D���{J����ÀJ����ÑJ� ���æJ����ôJ����K����K����(K� ���7K�1���EK�'���wK� ���ŸK� ���­K� ���»K����ÈK�&���ÛK�*���L����-L����5L����EL�5���JL� ���€L����ŒL����”L����¥L����¹L� ���ÎL����ÚL� ���âL����ïL�$���ôL� ���M�$���$M����IM����[M����qM�â��„M�C���gO�+���«O����×O����ÜO� ���ëO����ùO���� P���� P����2P����DP� ���VP����cP� ���xP�,���ƒP�j���°P�&���Q� ���BQ�'���cQ�0���‹Q����¼Q����ÙQ����öQ�–���R�)���¬R�Y���ÖR�'���0S�T���XS�'���­S�(���ÕS����þS�X���T����kT�?���‡T�&���ÇT�š���îT����‰U���� U�#���>V�&���bV����‰V�"���¨V�T���ËV�g��� W�†���ˆW�.���X����>X�"���]X�+���€X�Y���¬X�~���Y�¤���…Y�ä���*Z�=���[����M[�^���k[� ���Ê[�¢���ë[�F���Ž\�}���Õ\�'���S]�'���{]�Z���£]�`���þ]�!���_^�!���^�$���£^� ���È^�¦���é^�M���_�>���Þ_�'���`�<���E`�T���‚`����×`����Ü`����á`����÷`���� a����"a�¹���8a�D���òa�H���7b�G���€b� ���Èb����Òb����×b����Ýb�´��ìb����¡d�;���¸d�3���ôd�/���(e�+���Xe�'���„e�#���¬e����Ðe����ðe���� f�<���f����Yf����_f����ef�*���gf����’f����ªf����Äf�A���áf����#g�2���:g�1���mg� ���Ÿg����«g�!���¾g����àg�#���çg���� h�0���'h����Xh����rh����ƒh�*���”h����¿h����Ýh�"���ýh���� i����>i�E���]i�;���£i� ���ßi�,����j� ���-j����Nj����nj�+���j�#���¹j�#���Ýj�,���k�0���.k�,���_k�#���Œk����°k����Ëk� ���ák����l����l����<l����Zl�$���yl�"���žl����Ál�'���×l����ÿl�5���m����Om�!���em����‡m�1��� m����Òm����âm����ÿm����n����*n�(���:n����cn����|n�.���‘n�2���Àn����ón����o����)o�%���Bo�0���ho�3���™o����Ío�F���ío�B���4p�+���wp�5���£p�1���Ùp���� q����$q�*���Cq����nq����‰q�)���¦q����Ðq����áq�%���ýq� ���#r� ���1r����?r����Or�8���jr����£r����¹r����Ír����ër�&���s�'���,s�<���Ts�:���‘s�.���Ìs�!���ûs����t�&���,t����St����nt����~t����’t����£t����³t�#���Ãt�'���çt����u����$u����=u� ���Xu����yu����’u����©u�%���Àu����æu� ���v� ���v����v����/v����Dv����Zv����qv�,���ˆv�+���µv�-���áv�)���w�!���9w����[w����zw����Žw�8���¥w����Þw����õw���� x���� x�3���2x� ���fx����px� ���x����x����¢x� ���²x����¼x�#���Ïx�"���óx� ���y����7y����Vy����gy����ƒy����y����®y����´y����Æy�%���×y�$���ýy�#���"z�!���Fz�'���hz����z����¦z�*���Æz�%���ñz�%���{����={����\{�(���z{�,���£{� ���Ð{�$���ñ{����|����/|�$���A|�#���f|�%���Š|����°|�!���Ð|�&���ò|����}����-}�(���K}� ���t}�3���•}�-���É}����÷}�1���~����B~�1���b~����”~����«~����Æ~����à~����ú~�#����1���8�.���j����™����¯����Á�(���á���� €� ���"€����0€����M€�(���b€����‹€����€�3���¯€�;���ã€�.�������N����f����{�$���™�$���¾�D���ã����(‚����<‚����M‚����]‚����z‚����–‚����³‚����Í‚����Ñ‚����è‚�)���÷‚�/���!ƒ�=���Qƒ�@���ƒ�:���Ѓ���� „�!���)„����K„�,���]„����Š„����œ„�;���³„����ï„����…����…����2…� ���M…�!���n…����…����«…����¿…�*���Ò…�-���ý…����+†����;†����R†����k†����€†����—†����°†����̆�%���ä†�#��� ‡�"���.‡����Q‡� ���g‡����u‡����†‡����œ‡�"���®‡� ���ч����߇����ò‡���� ˆ����ˆ����8ˆ����Nˆ�#���iˆ�!���ˆ�!���¯ˆ����ш����èˆ����‰���� ‰� ���?‰����L‰����\‰����m‰����‰�!���‰����¿‰�"���׉����ú‰����Š� ���8Š����YŠ����qŠ�]���†Š����äŠ����øŠ����‹�!���$‹�*���F‹� ���q‹� ���~‹����Ÿ‹�/���³‹����ã‹�2���ø‹�;���+Œ����gŒ����€Œ����Œ����»Œ�R���ÒŒ�L���%�(���r� ���›����¨����¸����Ê����à�,���þ�9���+Ž����eŽ�0���kŽ�:���œŽ�#���׎�'���ûŽ�8���#����\�/���q����¡� ���²����À�/���Ü�-��� ����:����T�&���k�)���’����¼�$���Ñ����ö���� ‘����'‘����7‘�+���P‘�"���|‘����Ÿ‘����¶‘�#���Ô‘�$���ø‘����’����;’����P’�!���p’�!���’’�%���´’����Ú’�%���é’����“����“�7���-“�=���e“����£“����Á“����Ö“����ð“����”� ���”����"”�-���:”�C���h”�(���¬”� ���Õ”�'���ß”����•����!•����1•�%���A•����g•�4���}•� ���²•�&���Ó•� ���ú•�$���–�8���+–�G���d–�9���¬–����æ–�"���—�$���(—����M—����g—����‡—����œ—����²—����З�>���è—� ���'˜� ���2˜����>˜����S˜����d˜����˜� ���”˜� ���¡˜����­˜����Ę� ���Û˜� ���å˜����ï˜�)��� ™����3™����H™����c™����w™�$���Œ™�-���±™�7���ß™����š����š����-š����<š����Uš� ���eš����qš����xš����~š����…š����£š����¼š�#���Ùš�J���ýš� ���H›� ���V›� ���c›����o›�*���„›����¯›����Ë›����ä›�����œ����œ�8���4œ����mœ� ���sœ�H���œ�U���Êœ�>��� �?���_�=���Ÿ�>���Ý�3���ž�(���Pž�N���yž�f���Èž�>���/Ÿ�@���nŸ�#���¯Ÿ�<���ÓŸ���� ����0 �(���H ����q �/���Œ ����¼ ����× ����ï ����¡����¡����¡����1¡�*���Q¡�!���|¡�7���ž¡����Ö¡�"���î¡����¢���� ¢�3���4¢����h¢����€¢�.���˜¢����Ç¢�0���Ý¢�C���£����R£����f£�H���x£�+���Á£�2���í£�8��� ¤�=���Y¤�@���—¤�#���ؤ����ü¤�=���¥�4���U¥�.���Š¥�,���¹¥�<���æ¥�0���#¦�3���T¦�7���ˆ¦�c���À¦�t���$§� ���™§�3���¤§�>���ا�5���¨�j���M¨�0���¸¨�,���é¨�*���©�3���A©�(���u©� ���ž©����ª©� ���½©� ���Ê©�/���Ø©�7���ª�®��@ª����ï«�ú���ñ«�Ý���ì¬�µ���Ê­�Ô���€®�Á���U¯���°�ó���¨±�Ã���œ²�y���`³�/��Ú³�í��� µ�¦��øµ�N��Ÿ·�q��î¸�Œ���`º����íº�x���þº�‡���w»�_���ÿ»���_¼�™���u½�Á���¾�4��Ѿ�B��À����IÁ�Ó���ÙÁ���­Â�Š���/Å�æ���ºÅ�r���¡Æ�…���Ç�À���šÇ����[È�ó���ÝÈ�±���ÑÉ�¾���ƒÊ�g���BË�”���ªË�8��?Ì�7���xÍ�Y��°Í�€�� Ï�A���‹Ð�Ý���ÍÐ�¨���«Ñ�Ú���TÒ���/Ó�•���3Ô�Î���ÉÔ�F���˜Õ�¤���ßÕ���„Ö�÷���ž×���–Ø�B���¦Ù����éÙ����Ú���Ú�æ���·Û�»���žÜ�8��ZÝ�c��“Þ�ê���÷à�?��âá�B���"ã�¼���eã�L���"ä���oä� ���‚å�¸��Žå�Ù��Gç���!é����(ë�q���¹ë�L��+ì���xí�2���~î�Ñ���±î�š���ƒï�ò���ð�ƒ��ñ�‰���•ò���ó�³���9ô�²���íô�|��� õ�6���ö����Tö�<��Ôö�@��ø�ã���Rù�ú���6ú�Ù���1û�ã��� ü�ö���ïü�˜��æý�÷���ÿ�à���w��Ä���X�{����/��™�d���É�H��.�©���w�4���!�¦���V�P���ý�V��N�±��¥�C��W �²��› �†��N �0��Õ�x�������'��…�­��­�Ñ���[�Ý���-�Õ�� �C���á�J���%�Ö���p���G�8��c�á���œ�á���~����`�®���î�Ó����¬���q �u���!���”!�2���°"�™���ã"�ç���}#�ˆ���e$�ˆ���î$�¼��w%�a��4'�)��–(�*��À)�×��ë*�õ���Ã,���¹-���Ø.�I���Þ/����(0�Ò��¶0�Ð��‰2�Y���Z4���´4����¼5���<6�ƒ��V7�[��Ú8�4���6:�E���k:�`��±:�Û���<�Ò���î<���Á=���Ê>�‡��Z@���âA�ð���C�V��òC�`��IE���ªF���¹H�™���¿I�Û���YJ�é���5K�Ý���L�å���ýL�ö���ãM���ÚN�O��ùO�Ý���IQ�U���'R�¯��}R�~��-T�H��¬U�=��õV�8��3X�¥���lY�K���Z���^Z�H���Þ[�d���'\�³��Œ\�x���@^�#��¹^�è���Ý_�¾��Æ`�*���…b�-���°b�ú���Þb�,���Ùc�,���d�.���3d�.��bd�@���‘e�*���Òe�:���ýe�"���8f�'���[f�!���ƒf�ñ���¥f�9���—g�(���Ñg� ���úg� ���h�v��h�I���Ši�¢��Ôi�(��wk�ð��� l�ø���‘m���Šn� ���œo����§o� ���¬o����¸o����Áo����Èo�N��Ùo�&���(q����Oq� ���Xq����dq����~q����“q�$���¨q�!���Íq�$���ïq�2���r����Gr�$���fr�J���‹r�O���Ör�2���&s�'���Ys�=���s����¿s�4���×s�%��� t����2t�4���Ct�)���xt�5���¢t�)���Øt����u���� u����;u����[u�G���zu�)���Âu�5���ìu�J���"v�(���mv�#���–v����ºv����Ëv�.���ãv� ���w�(���3w�5���\w����’w�4���«w�)���àw���� x�-���*x����Xx�A���nx����°x����Ãx�%���áx����y�%���y����Ey����_y����oy�!���ƒy�(���¥y����Îy����çy����z����z����'z�.���7z����fz�2���†z�)���¹z�*���ãz����{�&���"{����I{�$���b{����‡{����¥{�H���Á{���� |�!��� |�!���B|����d|����|����ž|� ���¾|����ß|����ô|�$���}����3}����J}�*���j}�%���•}����»}�$���Ë}�!���ð}�E���~�2���X~�2���‹~�"���¾~�7���á~�7����8���Q�"���Š�/���­����Ý����î����€�#���$€����H€����Z€�$���p€����•€�%���±€� ���×€� ���ã€����ñ€�������� �!���2�;���T�7����6���È����ÿ�!���‚�!���?‚�%���a‚����‡‚�-���—‚�+���Å‚� ���ñ‚����ƒ����ƒ����#ƒ����@ƒ�m���Dƒ�s��²ƒ����&…� ���?…����M…�;���k…�4���§…�,���Ü…���� †����†����4†����J†� ���`†����k†����p†����v†�$���†� ���¤†����®†����dž����ä†����ó†����ø†����ý†����‡� ���/‡� ���9‡� ���D‡�h��N‡����·ˆ����Àˆ�a���Ùˆ�E���;‰����‰� ���Љ� ���•‰� ���¡‰�@���­‰� ���î‰�Ë���ú‰����ÆŠ����ÕŠ� ���åŠ���òŠ� ���ú‹����Œ�š��Œ� ���±����½���Ä�Z���ÚŽ� ���5�<���@�=���}�0���»����ì����ý�����4���!����V� ���s�����E���—�3���Ý�E���‘����W‘����i‘����x‘����~‘����‘����”‘����›‘����¡‘����¦‘����·‘�P���¼‘���� ’�É���#’����í’�÷��“����ý”���� •����"•� ���(•����2•����O•����m•����•����©•�!���Õ����å•����–����–� ���-–� ���9–� ���E–����R–� ���c–����o–����–����’–����›–����¡–����§–� ���­–� ���º–����È–����Ù–����õ–����—� ���—� ���#—� ���0—� ���<—����H—����M—�!���R—�1���t—� ���¦—�%���²—�0���Ø—���� ˜�T��� ˜����a˜����w˜�,��‡˜�_���´™�‰���š����žš����¢š����³š� ���Éš�-���ך� ���›� ���›� ���›� ���)›����3›�$���O›�G���t›�;���¼›�‹��ø›�¿���„�±���Dž�H���öž����?Ÿ�¯���_Ÿ���� �>���­ �*���ì �{���¡�³���“¡�a���G¢�>��©¢�=���è¤�(���&¥����O¥����g¥� ���p¥����}¥� ���†¥����’¥����¨¥�Â���Ç¥����Ц�E���£¦����é¦����ÿ¦����§����2§����F§����W§����f§� ���u§�9���ƒ§�/���½§� ���í§� ���ú§� ���¨����¨�)���*¨�)���T¨����~¨����†¨����–¨�;���œ¨����ب� ���è¨����ó¨����©����©� ���4©����@©� ���G©����T©�'���Z©� ���‚©�*���Œ©����·©����É©����å©�ñ��ø©�M���ê«�2���8¬����k¬����p¬����¬����•¬����¯¬����̬����â¬����ø¬����­����­����1­�8���A­����z­�/���ú­�-���*®�6���X®�:���®�%���Ê®�$���ð®�&���¯�º���<¯�1���÷¯�h���)°�7���’°�f���ʰ�1���1±�3���c±����—±�i���±±�!���²�L���=²�-���в�±���¸²����j³�½���‡³�)���E´�+���o´�&���›´�,���´�c���ï´�‹���Sµ�ž���ßµ�4���~¶�$���³¶�(���ض�3���·�d���5·�’���š·�¸���-¸� ��æ¸�D���ð¹�%���5º�r���[º�(���κ�¹���÷º�T���±»�Ÿ���¼�-���¦¼�/���Ô¼�d���½�q���i½�'���Û½�,���¾�/���0¾�*���`¾�¾���‹¾�a���J¿�N���¬¿�2���û¿�K���.À�l���zÀ����çÀ����ìÀ����ðÀ����Á����0Á����KÁ�Ð���^Á�F���/Â�K���vÂ�X���ÂÂ� ���Ã����(Ã����/Ã����6Ã�@��FÃ����‡Å�@��� Å�5���áÅ�1���Æ�-���IÆ�)���wÆ�%���¡Æ�!���ÇÆ����éÆ����Ç�@���Ç����ZÇ����`Ç����fÇ�7���hÇ���� Ç����¹Ç����ÔÇ�O���ïÇ����?È�9���ZÈ�:���”È� ���ÏÈ����ÛÈ�"���ïÈ����É�/���É����GÉ�E���dÉ�%���ªÉ����ÐÉ����éÉ�?���Ê�(���BÊ� ���kÊ�)���ŒÊ�%���¶Ê�#���ÜÊ�S����Ë�I���TË�.���žË�:���ÍË�,���Ì�-���5Ì�8���cÌ�9���œÌ�5���ÖÌ�/��� Í�1���<Í�5���nÍ�C���¤Í�,���èÍ� ���Î����6Î�'���RÎ�!���zÎ�%���œÎ�%���ÂÎ�$���èÎ�*��� Ï�-���8Ï����fÏ�2���Ï� ���´Ï�9���ÕÏ�!���Ð�,���1Ð�$���^Ð�7���ƒÐ����»Ð�)���ÐÐ����úÐ�"���Ñ����=Ñ�*���RÑ� ���}Ñ� ���žÑ�P���¿Ñ�>���Ò�#���OÒ�$���sÒ� ���˜Ò�-���¹Ò�7���çÒ�:���Ó�/���ZÓ�D���ŠÓ�H���ÏÓ�6���Ô�C���OÔ�I���“Ô� ���ÝÔ�'���þÔ�4���&Õ�"���[Õ�$���~Õ�;���£Õ����ßÕ�#���øÕ�/���Ö����LÖ����gÖ����}Ö�!���˜Ö�>���ºÖ����ùÖ����×�'���3×�%���[×�3���×�9���µ×�M���ï×�P���=Ø�?���ŽØ�+���ÎØ�#���úØ�A���Ù�0���`Ù����‘Ù����ªÙ����ÃÙ����ÙÙ����îÙ�,���Ú�-���4Ú����bÚ����xÚ����•Ú�"���«Ú����ÎÚ����èÚ����Û�&���Û����FÛ� ���^Û� ���jÛ����xÛ����‹Û���� Û����ºÛ����ÕÛ�,���íÛ�&���Ü�:���AÜ�3���|Ü�&���°Ü�$���×Ü����üÜ����Ý�E���5Ý�"���{Ý����žÝ����²Ý����ÇÝ�>���ÚÝ� ���Þ����#Þ� ���8Þ����CÞ����aÞ� ���tÞ����~Þ�'���“Þ�&���»Þ�#���âÞ����ß����$ß����5ß����Qß����oß����€ß����ˆß����ß�/���®ß�*���Þß�(��� à�)���2à�/���\à����Œà�#���¤à�1���Èà�.���úà�(���)á�&���Rá�!���yá�+���›á�+���Çá�#���óá�/���â����Gâ����gâ�*���~â�(���©â�!���Òâ�"���ôâ�$���ã�+���<ã����hã�"���ã�7���¤ã�-���Üã�3��� ä�%���>ä����dä�.���‚ä� ���±ä�9���Òä���� å�$���'å� ���Lå����må�#���å� ���±å�C���Òå�1���æ����Hæ����gæ�"���…æ�,���¨æ����Õæ� ���îæ����ûæ����ç�!���0ç����Rç�)���Wç�?���ç�F���Áç�5���è����>è����Uè�$���qè�-���–è�0���Äè�X���õè����Né����cé����sé����‚é����¢é����Áé����Ýé����øé����üé����ê�2���,ê�3���_ê�K���“ê�H���ßê�A���(ë�!���jë�$���Œë����±ë�1���Ãë����õë����ì�A���"ì����dì����€ì����™ì����°ì�#���Ðì�'���ôì����í����:í����Rí�2���gí�5���ší����Ðí����çí����î����%î����Aî����_î�!���{î����î�-���¹î�&���çî�%���ï����4ï����Nï����_ï����sï����Žï�%���Ÿï����Åï����Ùï� ���òï����ð����*ð����Ið����eð�'���ƒð�%���«ð�&���Ñð����øð�$���ñ�!���9ñ�$���[ñ����€ñ����‘ñ����¥ñ����ºñ� ���Ïñ�(���ðñ����ò�*���6ò�&���aò�!���ˆò�'���ªò����Òò����ðò�l��� ó����wó� ���‘ó����²ó�2���Êó�6���ýó����4ô�"���Lô����oô�0���†ô����·ô�2���Òô�D���õ����Jõ�!���fõ�!���ˆõ����ªõ�[���Åõ�U���!ö�+���wö����£ö����¸ö����Ðö����æö�#���÷�8���&÷�J���_÷� ���ª÷�7���´÷�B���ì÷�#���/ø�+���Sø�:���ø����ºø�6���Ïø����ù� ���ù����%ù�2���=ù�)���pù����šù����´ù�)���Éù�'���óù����ú�&���1ú����Xú����rú����Œú����›ú�8���µú�'���îú����û�"���-û�,���Pû�)���}û� ���§û����Èû�'���áû�)��� ü�%���3ü�*���Yü� ���„ü�*���‘ü� ���¼ü����Èü�;���Øü�I���ý�"���^ý�(���ý�%���ªý����Ðý�!���éý���� þ�$���þ�>���Aþ�h���€þ�/���éþ����ÿ�)���*ÿ����Tÿ����qÿ����‚ÿ�(���”ÿ����½ÿ�7���Öÿ�,�����7���;�� ���s��6�����:���¸��I���ó��;���=�!���y�(���›�)���Ä����î�%��� ����/����I����e����ƒ�N���š� ���é� ���ô����ÿ��������*����F����\� ���k����y����’����ª� ���¹����Ã�(���Þ������������1����F�%���Z�2���€�=���³����ñ� ���ø������������4� ���E����P����W����]�%���d����Š����¥����¿�Q���Þ� ���0� ���>� ���L����X�*���p����›����¶����Ð����í� ��� �F���+����r����x�J���ˆ�`���Ó�>���4�?���s�=���³�F���ñ�<���8 �%���u �N���› �k���ê �F���V �R��� �)���ð �D��� ����_ ���� �G���ž �#���æ �4��� �!���? � ���a ����‚ ����š ����  ����´ �'���É �.���ñ �&��� �=���G ����… �+���¥ ����Ñ ����è �=�������F����_�5���x����®�7���Ç�V���ÿ����V����m�C���‚�2���Æ�4���ù�;���.�C���j�O���®�*���þ�%���)�O���O�<���Ÿ�7���Ü�1����=���F�?���„�4���Ä�B���ù�b���<�€���Ÿ� ��� �2���,�O���_�@���¯�s���ð�4���d�0���™�+���Ê�6���ö�3���-� ���a����o� ���Ž� ���š�=���¨�L���æ�������£���î���h���†���‘�������"��D�����"��Ö��4�����j�������Ü���w�������'��E������������� ���Ú��‡��A���œ���ö���f��Ð��à��������š���������e��ñ��P��£��”��_����R��@���Á�������U���b����������������"��ô��������°���÷��?������Ñ���©������3��~���y��­�������V��4��V�������£��w��›������œ��®��#���������ž������Ú���ƒ��Ž�����¹��e������•���˜����Í��»����������€�� ��Q���’��*���;��*��)������Œ��¨������N��^���5��� ��P��ñ���Ô�� ��–��S��¶��æ��Œ���������ó��`��µ��é��(���Ø��e��«���m��>�������Ä���Ä������›����P����������������C������B��«����‘��°������������������ð��Y���6��ö��¢��|��l��Ñ����������0��š��œ��¡������h��%��A����������a������ê��R���Ê������»���È�����ó��ñ������������������9��S��u�����…����!�� �������9��n��M�������T�� �����������������������™���������±��ã��Ó������������s��ì��'������›��������é��}����-�����������Ò������µ������’��Í���a��:��)���à��É���{������_��2����i����K��2���Õ��������‚������G��b��Ý������¸��O������y��p�� ��_������Á��ã���������õ��§���ô�� ��‚��ÿ���Š������$��o��k�������"������������·������°��æ���ö��´���Â��1��$����þ������h������X��Ž��«��ÿ��à�������p����ð��h������������������[��{��õ��k����������Ÿ������»��`��*��Ó��K��?��¢��j�����Å���Ë�� �������ÿ��S���’����������ë���¬����������k��z���£��Ž���…��^����������1��º��Ó������� ��j��¤���I��U����������Š��������������@��C��‰��y���»��c��A��ú���/��D��~��������\���2��H������S��8��$������������J������ë��Œ����������7��À��Ù��Ì���~���������B�����L��+������]��²������Ý��b��T�����†������������5������n��������������#��d��á���“��A��î��F���ü��Û��º���(������Î��%��g��Å��ú��¼�������������•��¤��x����é���‡��È������å���7����������ª���å��­��������ú��[����������Z���9������ê�����½���z������������������i��Ñ��r������E��„��ñ��g��&��@��è������������E��p���8��ì���'��¯���©���ƒ��ä���°��‡�������0���$��¨���Œ������Ö��|������¥��������������������������W��T���������ë��a������n�� ��¯��‹���L���I���š������Ò��[��Ö����������ó���—��®��¶��Z��r��8������ˆ������|��3������Ð��Ù��á������Q��X����������Q������˜����������í��³��N��™��Ø��H��G����1������¸��Õ������§����������J��������������S����������‹��|���ƒ��I��0��x���&��<��������‚��™��M����������¤��½��Š���.�������"���¥��m������~����������ª��X��¹������ž������<��ô��Ž��W���±��%��¾��Å��…�������}������ ��´����}������ê�����Ž��Ê��Â����������ò���î��Á��”��� ����������������³��Ä����� ��×������û��%�������,������;��D��²���;���ž��q����������������������������������J��5������T������“��®��Ð��‘��ó��œ����������˜������F����������ù������V������Æ���«����������e����P��Ç��Ï���t������z��g���í���������¿�����Í��8��g����������é����à��Þ����������ï��:��û��������ù������4���0��ª��e���²��Ð���¶��Ç�������•��~����������������Ê�������#��H���!������]��������������i��w������ ������Ç��Õ�� ��–��#��F��‰��t��ß��5��í��Ã��Ä��„������>������B�����������á��L��O��ë��H������Ù���Í������¨��U��u��s��Z��������–������?��Ø������������z������������Ô���`��<��9�������(��.����������Ã��Ã��f���Õ���Ì��(������¢��h����=������¼����P���K���û����������f������Ú��f�� ���������³���������� ��‰������Ö�����Ø���E��´��G��–���\��•��<������?���Û��8�������d��‹����¼����×��Ë�������ê��]��l������j������‡��6���¥���¹���É��²����Ç�����3����œ��Ÿ��'�������������������ò��ª��µ��2�� ��B��‰��½��u��X�����i��i���ˆ��+��†������†��d�������������������������c��������¾���ç���D���Ê��I��m��r����������‡��������������Ò���¯��±�������ä��{������M��”��������ý���r��)��„��ü������������¸�����c���R����¶��� ������â���t��ò��æ��±��¬��f��æ��º��o��,��O��� ��”��(��î��ï��÷����\��â��ø�������K������£��ã��������ã��=��“��o��� ���[��Ï��×��å��¿�����š�����À��¸����������������s�������è��„��^��·���ð���ƒ���Ã���������������Q��J���x��­��‘��¦��ß��Ó��v��Ô������=��õ���è�� ��ç������ß����������Þ��¿����������������ý������]��H��������������������� �� ��©��`������Ï������������€�������ý��‘������/��Q��x��¦���w����&��� ���ö�����������������������ï��`���š��x��������������È����C��­����������§������������N��Ü��G���%���������7���7��¥��/������������������:��ž�����������c��>��W��É��•��ˆ��v��Y��=���Ì��Ÿ��q��¬��c��¡���3�������9��§����™������a��Ý��÷��©��ç������‹��M��Î��_���í��s��@����������������+��l���T���.��ð��V��������R��˜�� ��õ������4��t�����������C��I������������������?��������á��L��������t��R��Û��Æ�� ����������¬���[����������´��������â��������¼����p����������¨��Ë������L��“���™��\��ø�� ����������������ø��¡��/���‹�����6�������������À����{��:���w��l����ä��Â��Ÿ��'��O��>������†��u��p��3����������4������“������ˆ�������a�����_����q��j��Ü��s���������� ��û��� ��›��������������F��å������’������+���Œ��l��·��ý�� ��z��º�����:����������������}��E������]���F��˜�������Þ���1�������������^��@������â����ò������!��®���n�� ������.����o��Æ��›���Ü��’���+��þ������þ���ü������×���¢��)��Y������v�������Ï��C�������������Á��g��ù������¤��ø��^������,�������b���/��€��������‚��,����µ�����������…��V��d���;������k��-����b��!��q���—���1��Æ������ú��€������ ���Ì��B��¡��|������M��A����¿��v������������-��ä��¥������ì��÷�������³��N��$��=��������������y��ç��Â���½��������m��������—��¾����2��W��!���þ������Ý�������Ô����-������ž��–������Þ������<���&������������Ú������J��Š������ù���6��}�������¤��ï���n���È��¢�������,��¦��Š��ˆ��Å��Î������\������*������É����—��U��������·��v��…��Z������ƒ��—��u��q��¹��X�������r��G��Ò��������������������U������K��5��N���„���#���Ñ��ÿ������¦������D��ß���*������>��Î�������€��y����.����Z�� ����Ÿ���W��d��0��������{���À�����������Y������6������ì��O������m�������Û���¾��ü�������è�������-�����”������o��¡������Ù������Y��‰���&��¯��������ô���‚���7��;��)��k��Ë�����3����;�äc��d��$d��8d��Ld��`d��td��ˆd��¤d��¸d��Ôd���e��e��8e��Le��`e��te��ˆe��¤e��¸e��C��������������� �����������������ÿÿÿÿc��������1���ÿÿÿÿ•��������/���ÿÿÿÿÅ�7����������ÿÿÿÿ�����������ÿÿÿÿ?�����������ÿÿÿÿi��������(���ÿÿÿÿ–������������������ÿÿÿÿÂ�����������ÿÿÿÿÉ� ���������������ÿÿÿÿó��������������������������������ÿÿÿÿ������������������ÿÿÿÿC������������������ÿÿÿÿm�@����������ÿÿÿÿ¾�����������ÿÿÿÿó�#����������ÿÿÿÿ-��������1���ÿÿÿÿc������������������ÿÿÿÿš� ����������ÿÿÿÿ¤����������������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '--%s' doesn't allow an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to set %s security context component to %s�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s to denote standard input does not work in file system mode�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 8.4 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2010-01-16 08:45+0700 Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com> Language-Team: Indonesian <translation-team-id@lists.sourceforge.net> Language: id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); � � ( EKSPRESI ) EKSPRESI adalah benar ! EKSPRESI EKSPRESI adalah salah EKSPRESI1 -a EKSPRESI2 kedua EKSPRESI1 dan EKSPRESI2 adalah benar EKSPRESI1 -o EKSPRESI2 EKSPRESI1 atau EKSPRESI2 adalah benar � --check-order periksa bahwa masukan adalah secara benar diurutkan, meskipun jika seluruh masukan baris dapat dipasangkan --nocheck-order jangan periksa masukan adalah diurutkan secara benar � -1 tekan kolom 1 (baris unik ke BERKAS1) -2 tekan kolom 2 (baris unik ke BERKAS2) -3 tekan kolom 3 (baris yang timbul di kedua berkas) � -a, --all sama seperti -b -d --login -p -r -t -T -u -b, --boot waktu terakhir sistem nyala -d, --dead menampilkan proses mati -H, --heading menampilkan baris dari heading kolom � -b BERKAS BERKAS ada dan ini adalah blok spesial -c BERKAS BERKAS ada dan ini adalah karakter spesial -d BERKAS BERKAS ada dan ini adalah sebuah direktori -e BERKAS BERKAS ada � -l menghasilkan format keluaran panjang untuk PENGGUNA yang dispesifikasikan -b mengabaikan direktori rumah pengguna dan shell dalam format panjang -h mengabaikan berkas projek pengguna dalam format panjang -p mengabaikan berkas rencana pengguna dalam format panjang -s jangan memendekan format keluaran, ini adalah default � -n STRING panjang dari STRING adalah tidak nol STRING sama dengan -n STRING -z STRING panjang dari STRING adalah nol STRING1 = STRING2 string adalah sama STRING1 != STRING2 string tidak sama � ARG1 * ARG2 perkalian aritmetik dari ARG1 dan ARG2 ARG1 / ARG2 pembagian aritmetik dari ARG1 dibagi oleh ARG2 ARG1 % ARG2 arithmetic remainder dari ARG1 dibagi oleh ARG2 � ARG1 + ARG2 penjumlahan aritmetik dari ARG1 dan ARG2 ARG1 - ARG2 perbedaan aritmetik dari ARG1 dan ARG2 � ARG1 < ARG2 ARG1 lebih kecil dari ARG2 ARG1 <= ARG2 ARG1 lebih kecil atau sama dengan ARG2 ARG1 = ARG2 ARG1 sama dengan ARG2 ARG1 != ARG2 ARG1 tidak sama dengan ARG2 ARG1 >= ARG2 ARG1 lebih besar atau sama dengan ARG2 ARG1 > ARG2 ARG1 lebih besar dari ARG2 � FILE1 -ef FILE2 BERKAS1 dan BERKAS2 keduanya memiliki perangkat dan nomor inode yang sama FILE1 -nt FILE2 BERKAS1 adalah lebih baru (tanggal modifikasinya) dari BERKAS2 FILE1 -ot FILE2 BERKAS1 adalah lebih lama dari BERKAS2 � INTEGER1 -eq INTEGER2 INTEGER1 adalah sama dengan INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 adalah lebih besar atau sama dengan INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 adalah lebih besar dari INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 adalah lebih kecil atau sama dengan INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 adalah lebih kecil dari INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 tidak sama dengan INTEGER2 � STRING : REGEXP anchored pattern cocok dari REGEXP dalam STRING match STRING REGEXP sama seperti STRING : REGEXP substr STRING POS LENGTH substring dari STRING, POS dihitung dari 1 index STRING CHARS index dalam STRING dimana CHARS apapun ditemukan, atau 0 length STRING panjang dari STRING � a nomori seluruh baris t nomori hanya baris yang tidak kosong n nomori bukan baris pBRE nomor hanya baris yang berisi cocok untuk ekspresi sederhana regular, BRE FORMAT adalah salah satu dari: ln dirapatkan ke kiri, tidak diawali nol rn dirapatkan ke kanan, tidak diawali nol rz dirapatkan ke kanan, diawali nol � b buat sebuah berkas spesial blok (buffered) c, u buat sebuah berkas spesial karakter (unbuffered) p membuat sebuah FIFO � # pengguna=%lu � -t mengindikasikan jika PAGE_LENGTH <= 10. Dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan. � Sebuah bagian yang berjalan dari spasi (biasanya spasi dan/atau TAB), ketika bukan-kosong karakter. Fields dilewati sebelum karakter. � Hanya - mengindikasikan -i. Jika tidak ada PERINTAH, menampilkan environment yang dihasilkan. � Setelah flag apapun ada sebuah opsional field lebar, sebagai sebuah nomor desimal; kemudian sebuah modifikasi opsional, yang mungkin E untuk menggunakan locale's alternatif representasi jika tersedia, atau 0 untuk menggunakan locale's alternatif simbol numerik jika tersedia. � Sebuah EKSPRESI yang diabaikan secara default ke salah. Jika tidak, EKSPRESI adalah benar atau salah dan set status keluar. Ini adalah salah satu dari: � Seperti sebuah kasus spesial, cp membuat sebuah backup dari SOURCE ketika force dan backup pilihan diberikan dan SOURCE dan DEST memiliki nama sama untuk sebuah berkas regular yang telah ada. � Hati hati banyak operators membutuhkan escaped atau quote untuk shell. Perbandingan aritmetik jika kedua ARG adalah nomor, jika tidak lexicographical. Pola cocok mengembalikan string cocok diantara \( dan \) atau null; jika \( dan \) tidak digunakan, mereka mengembalikan jumlah karakter yang cocok atau 0. � Kedua MAJOR dan MINOR harus dispesifikasikan ketika TIPE adalah b, c, atau u, dan mereka harus diabaikan ketika TIPE adalah p. Jika MAJOR atau MINOR dimulai dengan 0x atau 0X, Ini diinterpretasikan sebagai hexadesimal; jika tidak, jika ini dimulai dengan 0, seperti oktal; jika tidak, sebagai desimal. TIPE mungkin juga: � Secara default, rm tidak menghapus direktori. Gunakan --recursive (-r atau -R) untuk menghapus direktori, juga, sesuai dengan seluruh isinya. � Secara default, pilih -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC adalah dua pembatas karakter untuk memisahkan halaman logikal, sebuah karakter yang hilang menandakan : Tipe \\ untuk \. STYLE adalah satu dari: � Secara baku, sparse berkas SUMBER terdeteksi oleh sebuah crude heuristic dan berkas TUJUAN yang berhubungan dibuat sparse juga. Itu adalah perilaku yang dipilih oleh --sparse=auto. Spesifikasikan --sparse=always untuk membuat sebuah sparse berkas TUJUAN ketika berkas SUMBER berisi sebuah urutan panjang dari nol bytes. Gunakan --sparse=never untuk mencegah pembuatan dari berkas sparse. Ketika --reflink[=always] dispesifikasikan, lakukan penyalinan ringan, dimana data blok disalin hanya ketika termodifikasi. Jika ini tidak memungkinkan penyalinan akan gagal, atau jika --reflink=auto dispesifikasikan, kembali ke standar penyalinan. � Konfigurasi kombinasi: * [-]LCASE sama seperti [-]lcase cbreak sama seperti -icanon -cbreak sama seperti icanon � Tampilan nilai berada dalam satuan dari BESAR pertama yang tersedia dari --block-size, dan %s_BLOCK_SIZE, BLOCK_SIZE dan variabel lingkungan BLOCKSIZE. Jika tidak, satuan baku ke 1024 bytes (atau 512 jika POSIXLY_CORRECT diset). � Setiap FLAG simbol bisa berupa: append mode append (berguna hanya untuk keluaran; conv=notrunc disarankan) � Contoh: %s f - g Keluarkan isi f, kemudian masukan standar, kemudian isi g. %s Salin masukan standar ke keluaran standar. � Contoh: %s root /u Ubah pemilik dari /u ke "root". %s root:staff /u Seperti, tetapi juga ubah grupnya ke "staff". %s -hR root /u Ubah pemilik dari /u dan subfiles ke "root". � Contoh: %s staff /u Ubah grup dari /u ke "staff". %s -hR staff /u Ubah grup dari /u dan berkas dibawahnya ke "staff". � Kecuali untuk -h dan -L, seluruh BERKAS yang terhubung test dereference link simbolik. Hati hati kalau tanda petik harus di escaped (e.g., dengan backslash) untuk shell. INTEGER mungkin juga -l STRING, yang dievaluasi ke panjang dari STRING. � Status Keluar adalah 0 jika EKSPRESI adalah null atau 0, 1 jika EKSPRESI adalah nol atau 0, 2 jika EKSPRESI adalah secara sintaks tidak valid, dan 3 jika sebuah error ditemui. � Status keluar: 0 jika OK, 1 jika ada masalah kecil (contoh: tidak dapat mengakses direktori dibawahnya), 2 jika ada masalah besar (contoh: tidak dapat mengakses argumen baris perintah). � FORMAT kontrol keluaran seperti dalam C printf. Interpretasikan urutan seperti: \" tanda petik � FORMAT kontrol dari keluaran. Urutan yang diinterpretasikan adalah: %% sebuah literal % %a locale penyingkatan nama weekday (contoh, Sun) � Tangani baris tty yang terhubung ke standar masukan. Tanpa argumen, tampilkan baud rate, baris disiplin, dan deviasi dari stty sane. Dalam konfigurasi, CHAR diambil secara literal, atau dikodekas seperti dalam ^c, 0x37, 0177 atau 127; nilai spesial ^- atau undef digunakan untuk menonaktifkan karakter spesial. � Jika -e memiliki efek, urutan berikut akan dikenali: � Jika BERKAS adalah -, shred standar keluaran. Hapus BERKAS jika --remove (-u) dispesifikasikan. Default adalah tidak menghapus berkas karena ini biasa untuk beroperasi di perangkat berkas seperti /dev/hda, dan berkas tersebut biasanya seharusnya tidak dihapus. Ketika beroperasi di berkas umum, kebanyakan orang menggunakan pilihan --remove. � Jika PERTAMA atau PENINGKATAN diabaikan, ini default ke 1. Oleh karena itu, sebuah pengabaian PENINGKATAN default ke 1 walaupun akhir lebih kecil dari PERTAMA. PERTAMA, PENINGKATA, dan TERAKHIR diintepretasikan sebagai nilai floating point. PENINGKATAN biasanya positif jika PERTAMA lebih kecil dari TERAKHIR, dan PENINGKATAN biasanya negatif jika PERTAMA lebih besar dari TERAKHIR. � Jika sebuah BERKAS adalah -, salin kembali ke standar keluaran. � Konfigurasi masukan: [-]brkint break disebabkan sebuah sinyal interupsi [-]icrnl translasikan carriage return ke baris baru [-]ignbrk abaikan karakter break [-]igncr abaikan carriage return � K mungkin memiliki sebuah akhiran pengali: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y. � Lisensi GPLv3+; GNU GPL versi 3 atau selanjutnya <http://gnu.org/licenses/gpl.html> Ini adalah software bebas; anda bebas untuk mengubah dan mendistribusikannya. Tidak ada GARANSI, selama masih diijinkan oleh hukum. � Konfigurasi lokal: [-]crterase echo karakter erase seperti backspace-space-backspace * crtkill hapus seluruh baris dengan mengikuti konfigurasi echoprt dan echoe * -crtkill hapus seluruh baris dengan mengikuti konfigurasi echoctl dan echok � CATAT: [ hargai pilihan --help dan --version, tetapi test tidak. memperlakukan test dari setiap itu seperti memperlakukan STRING tidak kosong lain. � CATAT: shell anda mungkin memiliki versinya sendiri dari %s, yang biasanya supersedes dari versi yang dijelaskan disini. Tolong lihat ke dokumentasi shell anda untuk detail mengenai pilihan yang didukung. � Catat bahwa pilihan -d dan -t menerima format waktu-tanggal berbeda. � Opsional - sebelum KONFIGURASI mengindikasikan negasi. Sebuah tanda * konfigurasi non-POSIX. Sistem yang berjalan mendefinisikan dimana konfigurasi yang tersedia. � MODE adalah sebuah angka yang mungkin diikuti oleh salah sati dari akhiran berikut: KB 1000, K 1024, MB 1000*1000, M 1024*1024, dan selanjutnya untuk G, T, P, E, Z, Y. Dalam kasus ini aliran yang berhubungan akan tersangga sepenuhnya dengan ukuran penyangga di set ke MODE bytes. � Konfigurasi keluaran: * bsN gaya backspace delay, N dalam [0..1] * crN gaya carriage return delay, N dalam [0..3] * ffN gaya form feed delay, N dalam [0..1] * nlN gayal baris baru delay, N dalam [0..1] � Menampilkan nilai dari EKSPRESI dari keluaran standar. Baris kosong dibawah dipisahkan awalan grup meningkat. EKSPRESI bisa: ARG1 | ARG2 ARG1 jika ini bukan null atau 0, jika tidak ARG2 ARG1 & ARG2 ARG1 jika bukan argumen adalah nol atau 0, jika tidak 0 � Baca standard masukan jika BERKAS adalah -. Setiap POLA mungkin: � Laporkan %s bugs ke %s � Laporkan bugs ke: %s � SET dispesifikasikan sebagai karakter strings. Kebanyakan represent dirinya sendiri. Urutan yang diinterpretasikan adalah: \NNN karakter dengan nilai oktal NNN (1 sampa 3 oktal digit) \\ backslash \a BEL yang dapat didengar \b backspace \f form feed \n baris baru \r kembali \t horisontal tab � Karakter spesial: * dsusp CHAR CHAR akan mengirim sebuah sinyal berhenti terminal saat masukan diflush eof CHAR CHAR akan mengirim sebuah akhir dari berkas (akhiri masukan) eof CHAR CHAR akan akhir dari baris � Konfigurasi spesial: N set kecepatan masukan dan keluaran ke N bauds * cols N beritahu kernel bahwa terminal memilik N kolom * columns N sama seperti cols N � Data yang dienkode seperti yang dijelaskan untuk base64 alphabet dalam RFC 3548. Ketika mendekode, masukan mungkin berisi baris baru sebagai tambahan ke bytes dari alphabet format dari base64. Gunakan --ignore-garbage untuk mencoba untuk merekover dari karakter bukan alphabet bytes dalam stream yang dienkode. � Penerjemahaan terjadi jika -d tidak diberikan dan kedua SET1 dan SET2 terlihat. -t mungkin digunakan jika sedang menerjemahkan. SET2 menambahkan panjang dari SET1 dengan mengulang karakter terakhir jika diperlukan. Kelebihan karakter dari SET2 diabaikan. Hanya [:lower:] dan [:upper:] yang dijamin untuk diekspand dalam urutan meningkat; digunakan dalam SET2 ketika menerjemaahkan, mereka mungkin hanya digunakan dalam pasangan untuk menspesifikasikan konversi huruf. -s menggunakan SET1 jika tidak mentranslasikan atau menghapus; kecuali menekan gunakan SET2 dan terjadi setelah menerjemahkan atau menghapus. � Gunakan satu, dan hanya satu dari -b, -c atau -f. Setiap DAFTAR dibuat dari satu jangkauan, atau banyak jangkauan dipisahkan oleh koma. Input yang dipilih ditulis dalam urutan yang sama dengan waktu dibaca, dan ditulis tepat sekali. � Menggunakan warna untuk membedakan tipe berkas adalah tidak aktif baik baku dan dengan --color=never. Dengan --color=auto, ls mengeluarkan kode warna hanya ketika standar keluaran terhubung ke sebuah terminal. Variabel lingkungan LS_COLORS dapat mengubah konfigurasi ini. Gunakan perintah dircolors untuk mengubahnya. � Tanpa BERKAS, atau ketika BERKAS adalah -, baca masukan standar. � Dengan tanpa pilihan, menghasilkan keluaran tiga kolom. Kolom satu berisi baris unik ke BERKAS1, kolom dua berisi baris unik ke BERKAS2. dan kolom tiga berisi baris umum ke kedua berkas. � Tanpa PILIHAN apapun, menampilkan beberapa informasi identifikasi berguna. � Tulis sebuah represetasi ambigu, oktal byte secara default, dari BERKAS ke standar keluaran. Dengan lebih dari satu BERKAS argumen, concatenate mereka dalam daftar urutan ke dalam bentuk masukan. dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan. � ???� --backup[=CONTROL] buat sebuah backup untuk setiap berkas tujuan yang sudah ada -b seperti --backup tetapi tidak menerima sebuah argumen -f, --force jangan tanya sebelum menimpa penulisan -i, --interactive tanya sebelum menimpa penulisan ke berkas yang sudah ada Jika anda menspesifikasikan lebih dari salah satu dari -i, -f, -n, hanya yang terakhir yang berpengaruh. � --backup[=CONTROL] membuat sebuah backup dari setiap berkas tujuan yang telah ada -b seperti --backup tetapi tidak menerima sebuah argumen -d, -F, --directory membolehkan superuser untuk mencoba link keras direktori (catat: mungkin akan gagal karena adanya pembatasan sistem, bahkan untuk superuser) -f, --force hapus berkas tujuan yang sudah ada � --backup[=KONTROL] membuat sebuah backup untuk setiap berkas tujuan yang telah ada -b seperti --backup tetapi tidak menerima sebuah argumen -c (diabaikan) -C, --compare bandingkan setiap pasangan dari berkas sumber dan tujuan, dan dalam kasus tertentu, jangan modifikasi tujuan sama sekali -d, --directory perlakukan seluruh argumen sebagai nama direktori; buat seluruh komponen dari direktori yang dispesifikasikan � --batch-size=NMERGE gabungkan di NMERGE masukan dalam satu waktu; untuk penggunaan lebih berkas sementara � --complement complement set dari bytes, karakter atau fields yang dipilih � --files0-from=F baca masukan dari berkas yang dispesifikasikan oleh nama yang diakhiri-KOSONG dalam berkas F Jika F adalah - maka baca nama dari standar masukan -L, --max-line-length tampilkan panjang dari baris terpanjang -w, --words tampilkan jumlah kata � --group-directories-first group direktori sebelum berkas. tambahkan dengan sebuah pilihan --sort, tetapi penggunaan apapun dari --sort=none (-U) menonaktifkan grup � --help tampilkan bantuan ini dan keluar � --lookup mencoba untuk canonicalize hostname melalui DNS -m hanya hostname dan pengguna yang berhubungan dengan stdin -p, --process menampilkan aktif proses dispawn oleh init � --no-preserve=ATTR_LIST jangan jaga atribut yang dispesifikasikan --parents gunakan full nama berkas sumber dibawah DIREKTORI � --one-file-system ketika menghapus sebuah hierarki secara rekursif, lewati direktori apapun yang ada di sebuah sistem berkas berbeda dari yang berhubungan dengan argumen baris perintah � --pid=PID dengan -f, akhiri setelah proses ID, PID selesai -q, --quiet, --silent jangan mengeluarkan header diberikan nama berkas --retry coba terus untuk membuka sebuah berkas walaupun berkas itu telah menjadi tidak dapat diakses; berguna ketika mengikuti nama, contoh, dengan --follow=name � --preserve-context jaga SELinux konteks keamanan -Z, --context=CONTEXT set SELinux konteks keamanan dari berkas dan direktori � --sort=KATA urutkan berdasarkan dari KATA: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort urutan alami dari nomor versi dalam teks � --strip-trailing-slashes hapus akhiran slash apapun dari setiap SUMBER argumen -S, --suffix=SUFFIX memaksa akhiran backup biasa � --suffix=AKHIR tambahkan AKHIRAN ke TEMPLATE. AKHIRAN tidak boleh berisi slash. Pilihan ini mengindikasikan jika TEMPLATE tidak berakhir dalam X. � --verbose tampilkan sebuah diagnosa tepat sebelum setiap berkas keluaran dibuka � --version keluarkan informasi versi dan keluar � --all tampilkan jumlah dari prosesor yang terpasang --ignore=N jika memungkinkan, abaikan N satuan pemrosesan � -evenp sama seperti -parenb cs8 * [-]lcase sama seperti xcase iuclc olcuc litout sama seperti -parenb -istrip -opost cs8 -litout sama seperti parenb istrip opost cs7 nl sama seperti -icrnl -onlcr -nl sama seperti icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar abaikan karakter dengan parity error * [-]imaxbel beep dan jangan flush sebuah masukan lengkap buffer dalam sebuah karakter [-]inlcr translasikan baris baru ke carriage return [-]inpck aktifkan pengecheckan masukan parity [-]istrip hapus atas (ke 8) bit dari karakter masukan � cooked sama seperti brkint ignpar istrip icrnl ixon opost isig icanon, eof dan eol karakter ke nilai defaultnya -cooked sama seperti mentah crt sama seperti echoe echoctl echoke � dec sama seperti echoe echoctl echoke ixany intr ^c erase 0177 kill ^u * [-]decctlq sama seperti [-]ixany ek erase dan kill karakter ke nilai defaultnya evenp sama seperti parenb -parodd cs7 � ispeed N set kecepatan masukan ke N * line N gunakan line disiplin N min N dengan -icanon, set N karakter minimum untuk sebuah pembacaan selesai ospeed N set kecepatan keluaran ke N � oddp sama seperti parenb parodd cs7 -oddp sama seperti -parenb cs8 [-]parity sama seperti [-]evenp pass8 sama seperti -parenb -istrip cs8 -pass8 sama seperti parenb istrip cs7 � raw sama seperti -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw sama seperti cooked � sane sama seperti cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, semua karakter spesial ke nilai defaultnya. � stop CHAR CHAR akan menghentikan keluaran susp CHAR CHAR akan mengirim sebuah sinyal berhenti terminal * swtch CHAR CHAR akan mengubah ke lapisan shell yang berbeda * werase CHAR CHAR akan menghapus kata terakhir yang diketik � %A locale's nama lengkap hari (contoh, Minggu) %b locale's singkatan nama bulan (contoh, Jan) %B locale's nama lengkap bulan (contoh, Januari) %c locale's tanggal dan waktu (contoh, Thu Mar 3 23:05:25 2005) � %F tanggal lengkap; sama seperti %Y-%m-%d %g dua digit terakhir dari tahun dari ISO nomor minggu (lihat %G) %G tahun dari ISO nomor minggu (lihat %V); biasanya berguna hanya dengan %V � %S detik (00..60) %t sebuah tab %T waktu; sama seperti %H:%M:%S %u hari dari minggu (1..7); 1 adalah Senin � %U nomor minggu dari tahun, dengan Minggu sebagai hari pertama dari minggu (00..53) %V ISO nomor minggu, dengan Senin sebagai hari pertama dari minggu (01..53) %w hari dari minggu (0..6); 0 adalah Minggu %W nomor minggu dari tahun, dengan Senin sebagai hari pertama dari minggu (00..53) � %h sama seperti %b %H jam (00...23) %I jam (01...12) %j hari dari tahun (001...366) � %n sebuah baris baru %N nano detik (000000000..999999999) %p persamaan locale's baik AM atau PM; kosong jika tidak diketahui %P seperti %p, tetap menggunakan huruf kecil %r locale's 12-jam waktu (contoh, 11:11:04 PM) %R 24-jam jam dan menit; sama seperti %H:%M %s detik sejak 1970-01-01 00:00:00 UTC � %x locale's representasi tanggal (contoh, 12/31/99) %X locale's representasi waktu (contoh, 21:13:48) %y dua digit terakhir dari tahun (00..99) %Y tahun � --output-delimiter=STR pisahkan kolom dengan STR � --userspec=PENGGUNA:GRUP spesifikasikan pengguna dan grup (ID atau nama) yang digunakan --groups=G_LIST spesifikasikan grup tambahan sebagai g1,g2,..,gN � -0, --null akhiri setiap baris keluaran dengan 0 byte daripada baris baru � -D buat seluruh komponen awal dari TUJUAN kecuali terakhir, kemudian salin ASAL ke TUJUAN -g, --group-GROUP set kepemilikan grup, daripada proses' grup sekarang -m, --mode=MODE set mode ijin (seperti dalam chmod), daripa rwxr-xr-x -o, --owner=OWNER set kepemilikan (pengguna-super saja) � -D, --date-format=FORMAT gunakan FORMAT untuk header tanggal -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand masukan CHAR (TAB) ke LEBAR tab (8) -F, -f, --form-feed gunakan form feed daripada baris baru untuk memisahkan halaman (dengan 3 baris per halaman header dengan -F atau sebuah 5 baris header dan trailer tanpat -F) � -G, --no-group dalam sebuah listing panjang, jangan menampilkan nama grup -h, --human-readable dengan -l, menampilkan ukuran dalam format yang mudah dibaca (contoh, 1K 234M 2G) --si sama seperti diatas, tetapi menggunakan kelipatan 1000 bukan 1024 � -H, --dereference-command-line ikuti link simbolik terdaftar di baris perintah --dereference-command-line-symlink-to-dir mengikuti setiap baris perintah link simbolik yang menunjuk ke sebuah direktori --hide=POLA jangan mendaftar implied masukan cocok shell POLA (overriden dengan -a atau -A) � -I tanya sekali sebelum menghapus lebih dari tiga berkas, atau ketika menghapus secara rekursif. Kurang intrusive daripada -i, ketika tetap memberikan proteksi terhadap setiap kesalahan --interactive[=WHEN] tanya menurut WHEN: never, once (-I), atau always (-i). Tanpa WHEN, selalu bertanya � -L BERKAS BERKAS ada dan ini adalah link simbolik (sama seperti -h) -O BERKAS BERKAS ada dan dimiliki oleh efektif ID pengguna -p BERKAS BERKAS ada dan ini adalah named pipe -r BERKAS BERKAS ada dan ijin membaca diberikan -s BERKAS BERKAS ada dan memiliki ukuran lebih besar dari nol � -L, --logical gunakan PWD dari lingkungan, bahkan jika itu berisi symlinks -P, --physical hindari semua symlinks � -S mengurutkan dengan ukuran berkas --sort=WORD urutkan dengan WORD daripada dari nama: none -U, ekstensi -X, besar -S, waktu -t, versi -v --time=WORD dengan -l, menampilkan waktu seperti WORD daripada modifikasi waktu; atime -u; access -u, use -u, ctime -c, atau status -c; gunakan spesifikasi waktu sebagai kunci pengurut jika --sort=time � -S BERKAS BERKAS ada dan ini adalah sebuah socket -t FD berkas deskripsi FD dibuka di sebuah terminal -u BERKAS BERKAS ada dan ini memiliki set-user-ID bit diset -w BERKAS BERKAS ada dan ijin tulis diberikan -x BERKAS BERKAS ada dan ijin menjalankan (atau pencarian) ada � -T, --omit-pagination abaikan header dan trailers halaman, hapus pagination apapun dari form feeds diset dalam berkas masukan -v, --show-nonprinting gunakan notasi oktal backslash -w PAGE_WIDTH, --width=PAGE_WIDTH set lebar halaman ke PAGE_WIDTH (72) karakter untuk keluaran multiple text-kolom saja, -s[char] matikan (72) � -T, -w, --mesg menambahkan status pesan pengguna seperti +, - atau ? -u, --users daftar pengguna yang sedang memakai sistem --message sama seperti -T --writable sama seperti -T � -W, --page-width=PAGE_WIDTH set lebar halaman ke selalu PAGE_WIDTH (72) karakter, potong baris, kecuali pilihan -J diset, no interference dengan -S atau -s � -W, --word-regexp=REGEXP gunakan REGEXP untuk mencocokan setiap keyword -b, --break-file=BERKAS karakter pemisah kata dalam BERKAS ini -f, --ignore-case ubah huruf kecil ke huruf besar untuk pengurutan -g, --gap-size=NUMBER ukuran gap dalam kolom diantara fields keluaran -i, --ignore-file=FILE baca daftar kata yang diabaikan dari BERKAS -o, --only-file=FILE baca hanya daftar kata saja dari BERKAS ini � -Z, --context=CTX set konteks keamanan SELinux dari NAMA ke CTX � -Z, --context=CTX set konteks keamanan SELinux dari setiap NAMA ke CTX � -a ubah hanya waktu akses -c, --no-create jangan buat berkas apapun -d, --date=STRING parse STRING dan gunakan itu daripada waktu sekarang -f (diabaikan) � -a, --across menampilkan kolom across daripada turun, gunakan bersama dengan -COLUMN -c, --show-control-chars gunakan notasi topi (^G) dan notasi backslash oktal -d, --double-space keluaran menggunakan dua spasi � -a, --all mengubah seluruh spasi, daripada menyesuaikan spasi inisial --first-only mengubah hanya awalan urutan dari spasi (overrides -a) -t, --tabs=N memiliki tabs N karakter apart daripada 8 (aktifkan -a) -t, --tabs=LIST menggunakan DAFTAR dipisahkan koma dari posisi tab (aktifkan -a) � -b, --before pasang pemisah sebelum daripada sesudah -r, --regex interpretasikan pemisah sebagai sebuah ekspresi umum -s, --separator=STRING gunakan STRING sebagai pemisah daripada baris baru � -b, --body-numbering=STYLE gunakan STYLE untuk penomoran baris -d, --section-delimiter=CC gunakan CC untuk memisahkan halaman logikal -f, --footer-numbering=STYLE gunakan STYLE untuk penomoran baris footer � -b, --bytes hitung byte daripada kolom -s, --spaces break di spaces -w, --width=WIDTH gunakan WIDTH kolom daripada 80 � -b, --bytes=LIST pilih hanya bytes ini -c, --character=LIST pilih hanya karakter ini -d, --delimiter=DELIM gunakan DELIM daripada TAB untuk bagian pembatas � -b, --ignore-leading-blanks abaikan awalan kosong -d, --dictionary-order pertimbangkan hanya spasi dan karakter huruf dan angka -f, --ignore-case ubah karakter huruf kecil ke huruf besar � -c, --bytes=K keluarkan K bytes terakhir; alternatif, gunakan -c +K untuk mengeluarkan bytes dimulai dengan ke K dari setiap berkas � -c, --count awali baris dengan jumlah kejadian -d, --repeated hanya menampilkan baris duplikasi � -c, --crown-margin jaga indentasi dari dua baris pertama -p, --prefix=STRING reformat hanya baris yang diawali dengan STRING, reattaching prefix ke baris yang diformat -s, --split-only split baris panjang, tetapi jangan refill � -c, --no-create jangan buat berkas apapun � -d, --delimiters=LIST gunakan karakter dari LIST daripada dari TAB -s, --serial paste satu berkas di satu waktu daripada secara paralel � -d, --directory buat sebuah direktori, bukan sebuah berkas -u, --dry-run jangan buat apapun; hanya tampilkan sebuah nama (tidak aman) -q, --quiet tekan diagnosa mengenai kegagalan pembuatan berkas/direktori � -e aktifkan interpretasi dari backslash escape -E non-aktifkan interpretasi dari escape backslash (default) � -e aktifkan interpretasi dari backslash escape (default) -E non-aktifkan interpretasi dari escape backslash � -e, --echo perlakukan setiap ARG sebagai sebuah baris masukan -i, --input-range=LO-HI perlakukan setiap nomor LO sampai HI sebagai sebuah baris masukan -n, --head-count=JUMLAH keluarkan di hampir JUMLAH baris -o, --output=BERKAS tulis hasil ke BERKAS daripada standar keluaran --random-source=FILE dapatkan random bytes dari BERKAS -z, --zero-terminated akhir baris dengan 0 byte, bukan baris baru � -f mengabaikan baris dari heading kolom dalam format pendek -w mengabaikan nama lengkap pengguna dalam format pendek -i mengabaikan nama lengkap pengguna dan remote host dalam format pendek -q mengabaikan nama lengkap pengguna, remote host dan waktu idle dalam format pendek � -f sama seperti -t fF, pilih floats -i sama seperti -t dI, pilih desimal ints -l sama seperti -t dL, pilih desimal longs -o sama seperti -t o2, pilih oktal 2-byte units -s sama seperti -t d2, pilih desimal 2-byte units -x sama seperti -t x2, pilih hexadesimal 2-byte units � -f BERKAS BERKAS ada dan ini adalah berkas biasa -g BERKAS BERKAS ada dan ini memiliki set-group-ID -G BERKAS BERKAS ada dan dimiliki oleh efektif grup ID -h BERKAS BERKAS ada dan ini adalah link simbolik (sama seperti -L) -k BERKAS BERKAS ada dan ini memiliki sticky bit diset � -f, --canonicalize canonicalize dengan mengikuti setiap symlink dalam setiap komponen yang diberikan nama secara rekursif; semua tetapi komponen terakhir harus ada -e, --canonicalize-existing canonicalize dengan mengikuti setiap symlink dalam setiap komponen dari nama yang diberikan secara rekursif, semua komponen harus ada � -f, --fields=LIST pilih hanya bagian ini; juga tampilkan baris apapun yang berisi tidak ada karakter pembatas, kecuali pilihan -s dispesifikasikan -n (diabaikan) � -f, --follow[={name|descriptor}] keluarkan data yang ditambahkan sebagai pertumbuhan berkas; -f, --follow, dan --follow=description adalah sama -F sama seperti --follow=name --retry � -f, --force ubah ijin untuk mengijinkan menulis jika diperlukan -n, --iterations=N tulis N kali dari pada baku (%d) --random-source=BERKAS peroleh random byte dari BERKAS -s, --size=N shred sebanyak bytes ini (akhiran seperti K, M, G diterima) � -g seperti -l, tetapi jangan mendaftar pemilik � -g GID[,GID1...] juga menset ID grup utama ke GID numerik, dan (jika dispesifikasikan) tambahkan ID grup ke GID1, ... � -h, --header-numbering=STYLE gunakan STYLE untuk penomoran baris header -i, --line-increment=NUMBER nomor baris dinaikan di setiap baris -l, --join-blank-lines=NUMBER grup dari NOMOR baris kosong dihitung sebagai satu -n, --number-format=FORMAT masukan nomor baris menurut FORMAT -p, --no-renumber jangan reset nomor baris ke logikal halaman -s, --number-separator=STRING tambahkan STRING sesudah (yang mungkin) nomor baris � -h, --header=HEADER gunakan HEADER ditengah daripada nama berkas dalam halaman header, -h "" mencetak sebuah baris kosong, jangan menggunakan -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] menggantikan spasi dengan CHAR (TAB) ke LEBAR tab (8) -J, --join-lines gabungkan baris penuh, matikan -W line truncation, tidak ada kolom penyesuaian, --sep-string[=STRING] set pemisah � -h, --human-numeric-sort bandingkan dengan angka yang mudah dibaca (seperti, 2K 1G) � -h, --no-dereference afek setiap link simbolik daripada referensi apapun berkas (hanya berguna di sistem yang dapat merubah kepemilikan dari link simbolik) -m ubah hanya waktu modifikasi � -i, --initial jangan mengubah tabs setelah bukan kosong -t, --tabs=NOMOR jangan tabs NOMOR karakter apart bukan 8 � -i, --inodes daftar informasi inode daripada penggunaan blok -k seperti --block-size=1K -l, --local batasi daftar dari sistem berkas lokal --no-sync jangan menjalankan sync sebelum memperoleh informasi penggunaan (default) � -l gunakan sebuah format daftar panjang -L, --dereference ketika menampilkan informasi berkas untuk sebuah link simbolik, tampilkan informasi untuk berkas referensi link daripada untuk link itu sendiri -m isi lebar dengan sebuah masukan yang dipisahkan dengan koma � -l, --length=PAGE_LENGTH set panjang halaman ke PAGE_LENGTH (66) baris (default jumlah baris dari text 56, dan dengan -F 63) -m, --merge menampilkan seluruh berkas dalam paralel, satu di setiap kolom, truncate baris, tetapi gabungkan baris dari lebar panjang lengkap dengan -J � -l, --login menampilkan proses sistem login � -m, --mode=MODE set ijin berkas bits ke MODE, bukan a=rw - umask � -m, --mode=MODE set mode berkas (seperti dalam chmod), bukan a=rwx - umask -p, --parents tidak error jika sudah ada, buat direktori orang tua jika dibutuhkan -v, --verbose tampilkan sebuah pesan untuk setiap direktori yang dibuat -Z, --context=CTX set konteks keamanan SELinux dari setiap direktori yang dibuat ke CTX � -n, --digits=DIGITS gunakan spesifikasi jumlah dari digit daripada 2 -s, --quiet, --silent jangan menampilkan jumlah dari ukuran berkas keluaran -z, --elide-empty-files hapus keluaran berkas kosong � -n, --no-clobber jangan paksa menulis sebuah berkas telah ada (memaksa pilihan -i sebelumnya) -P, --no-dereference jangan ikuti link simbolik dalam SUMBER � -n, --numeric-sort bandingkan menurut nilai numerik string -R, --random-sort urutkan berdasarkan random hash dari kunci --random-source=BERKAS dapatkan random bytes dari BERKAS -r, --reverse balik hasil dari komparasi � -n, --numeric-uid-gid seperti -l, tetapi mendaftar pengguna dan grup ID numerik -N, --literal menampilkan nama masukan raw (jangan perlakukan e.g. kontrol karakter spesial) -o, seperti -l, tetapi tidak mendaftar informasi grup -p, --indicator-style=slash menambahkan / indikator ke direktori � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] jumlah baris, gunakan DIGITS (5) digits, kemudian SEP (TAB), default jumlah dimulai dengan baris pertama dari berkas masukan -N, --first-line-number=NUMBER dihitung dimulai dengan NUMBER di baris pertama dari berkas pertama yang ditampilkan (lihat +FIRST_PAGE) � -o, --indent=MARGIN ofset setiap baris dengan MARGIN (nol) spasi, jangan pengaruhi dengan -w atau -W, MARGIN akan ditambahkan ke PAGE_WIDTH -r, --no-file-warnings abaikan peringatan ketika sebuah berkas tidak dapat dibuka � -o, --output=FILE tulis hasil ke BERKAS daripada ke standar keluaran -s, --stable seimbangkan pengurutan dengan menonaktifkan perbandingan terakhir -S, --buffer-size=SIZE gunakan SIZE untuk buffer memori utama � -p sama seperti --preserve=mode,kepemilikan,timestamps --preserve[=ATTR_LIST] jaga atribut yang dispesifikasikan (baku: mode, kepemilikan,timestamps), jika memungkinkan atribut tambahan: context, links, xattr all � -p DIREKTORI gunakan DIREKTORI sebagai awalan; mengindikasikan -t [ditinggalkan] -t interpretasikan TEMPLATE sebagai sebuah nama komponen berkas tunggal, relatif ke sebuah direktori: $TMPDIR, jika diset; selain itu direktori relatif melalui -p; selain itu /tmp [ditinggalkan] � -p, --preserve-timestamps jalankan akses/modifikasi waktu dari ASAL berkas ke berkas tujuan berhubungan -s, --strip strip tabel simbol --strip-program=APLIKASI APLIKASI digunakan untuk strip binari -S, --suffix=SUFFIX override akhiran backup biasa -t, --target-direktori=DIREKTORI salin seluruh argumen ASAL kedalam DIREKTORI -T, --no-target-direktory perlakukan DEST sebagai sebuah berkas normal -v, --verbose menampilkan nama dari setiap direktori seperti telah dibuat � -q, --count seluruh nama login dan jumlah pengguna yang sedang memakai -r, --runlevel menampilkan seluruh runlevel -s, --short menampilkan hanya nama, baris, dan waktu (default) -t, --time menampilkan terakhir waktu sistem berubah � -q, --quiet, --silent jangan menampilkan headers memberikan nama berkas -v, --verbose selalu menampilkan header memberikan nama berkas � -r, --reference=FILE menampilkan modifikasi waktu terakhir dari FILE -R, --rfc-2822 keluaran tanggal dan waktu di RFC 2822 format. Contoh: Mon, 07 Aug 2006 12:34:56 +0700 � -r, --references field pertama dari setiap baris adalah sebuah referensi -t, --typeset-mode - tidak diimplementasikan - -w, --width=NUMBER lebar keluaran dalam kolom, referensi diabaikan � -r, --reverse balik urutan ketika mengurutkan -R, --recursive daftar subdirektori secara rekursif -s, --size tampilkan ukuran dari setiap berkas yang dialokasikan, dalam blok � -s, --only-delimited jangan menampilkan baris tidak berisi pembatas --output-delimiter=STRING gunakan STRING sebagai pembatas keluaran sebagai default yang digunakan sebagai masukan delimiter � -s, --sinyal=SINYAL, -SINYAL spesifikasikan nama atau nomor dari sinyal untuk dikirim -l, --list daftar nama sinyal, atau ubah nama sinyal ke/dari nomor -t, --table tampilkan sebuah tabel dari informasi sinyal � -s, --symbolic-link buat link simbolik daripada menyalin -S, --suffix=SUFFIX memaksa akhir backup biasa -t, --target-directory=DIRECTORY salin seluruh argumen SUMBER kedalam DIREKTORI -T, --no-target-directory perlakukan TUJUAN sebagai sebuah berkas normal � -s[CHAR], --separator[=CHAR] pisahkan kolom dengan sebuah karakter tunggal, baku untuk CHAR adalah karakter <TAB> tanpa -w dan 'no char' dengan -w -s[CHAR] mematikan pemotongan baris dari seluruh 3 kolom pilihan (-COLUMN|-a -COLUMN|-m) kecuali -w diset � -t sama dengan -vT -T, --show-tabs tampilkan karakter TAB seperti ^I -u (diabaikan) -v, --show-nonprinting gunakan ^ dan M- notasi, kecuali untuk LFD dan TAB � -t, --tabs=LIST gunakan daftar dipisahkan dengan koma dari posisi tab explicit � -t, --target-directory=DIREKTORI pindahkan seluruh argumen SUMBER kedalam DIREKTORI -T, --no-target-directory perlakukan TUJUAN sebagai sebuah berkas normal -u, --update pindahkan hanya ketika berkas SUMBER adalah lebih baru dari tujuan berkas atau ketika berkas tujuan hilang -v, --verbose jelaskan apa yang sedang dilakukan � -u dengan -lt; urutkan dengan, dan tampilkan, waktu akses dengan -l; tampilkan waktu akses dan urutkan dengan nama jika tidak; urutkan dengan waktu akses -U jangan urutkan; daftar masukan dalam urutan direktori -v urutkan sesuai dengan versi � -u, --remove potong dan hapus berkas setelah di paksa tulis -v, --verbose tampilkan perkembangan -x, --exact jangan membulatkan ukuran berkas ke blok berikutnya; ini adalah default untuk berkas tidak umum -z, --zero tambahkan sebuah akhir paksa tulis dengan nol untuk menyembunyikan shredding � -u, --update salin hanya ketika berkas SUMBER lebih baru daripada berkas tujuan atau ketika berkas tujuan hilang -v, --verbose jelaskan apa yang sedang dilakukan -x, --one-file-system tetap di sistem berkas ini � -v, --kernel-version menampilkan versi dari kernel -m, --machine menampilkan nama perangkat mesin -p, --processor menampilkan tipe prosesor atau "unknown" -i, --hardware-platform menampilkan platform perangkat atau "unknown" -o, --operating-system manampilkan sistem operasi � -v, --starting-line-number=NOMOR nomor baris pertama untuk setiap halaman logikal -w, --number-width=NOMOR gunakan NOMOR kolom untuk setiap nomor baris � -w, --check-chars=N bandingkan tidak lebih dari N karakter dalam baris � -w, -width=COLS asumsikan lebar layar daripada nilai sekarang -x daftar masukan dengan baris daripada dengan kolom -X urutkan secara alphabet dengan ekstensi masukan -X, --context tampilkan konteks keamanan SELinunx apapun untuk setiap berkas -1 tampilkan sat berkas per baris � -z, --zero-terminated akhir baris dengan 0 byte, bukan baris baru � Proses dalam sebuah keadaan tidur tidak dapat diinterupsi juga berkontribusi terhada beban kerja. � [:graph:] seluruh karakter yang bisa dicetak, tidak termasuk spasi [:lower:] seluruh karakter huruf kecil [:print:] seluruh karakter yang bisa dicetak, meliputi spasi [:punct:] seluruh karakter punctuation [:space:] seluruh horisontal dan vertikal spasi [:upper:] seluruh huruf besar [:xdigit:] seluruh angkat heksadesimal [=CHAR=] seluruh karakter yang sama dengan CHAR � \ONNN byte dengan nilai oktal NNN (1 sampai 3 digit) \xHH byte dengan nilai heksadesimal HH (1 sampai 2 digit) � \NNN karakter dengan nilai oktal NNN (1 sampai 3 digit) \xHH byte dengan nila heksadesimal HH (1 sampai 2 bilangan) \uHHHH Unicode (ISO/IEC 10646) karakter dengan nilai heksadesimal HHHH (4 bilangan) \UHHHHHHHH Unicode karakter dengan nilai heksadesimal HHHHHHHH (8 bilangan) � \\ backslash \a alert (BEL) \b backspace \c tidak menghasilkan keluaran \e escape \f form feed \n baris baru \r carriage return \t horizontal tab \v vertikal tab � \v vertikal tab CHAR1-CHAR2 seluruh karakter dari CHAR1 ke CHAR2 dalam urutan meningkat [CHAR*] dalam SET2, salin CHAR sampai panjang dari SET1 [CHAR*REPEAT] ULANG salinan dari CHAR, ULANG oktal jika dimulai dengan 0 [:alnum:] seluruh huruf dan angka [:alpha:] seluruh huruf [:blank:] seluruh horisontal spasi [:cntrl:] seluruh karakter pengontrol [:digit:] seluruh digit � binary gunakan binary I/O untuk data � cio gunakan I/O bersamaan untuk data � d[SIZE] signed desimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] oktal, SIZE bytes per integer u[SIZE] unsigned desimal, SIZE bytes per integer x[SIZE] hexadesimal, SIZE bytes per integer � direct gunakan I/O langsung untuk data � direktori gagal kecuali sebuah direktori � dsync gunakan I/O tersinkron untuk data � excl gagal jika berkas keluaran telah ada nocreat jangan buat berkas keluaran notrunc jangan truncate berkas keluaran noerror melanjutkan setelah pembacaan error fdatasync secara fisik tulis berkas keluaran data sebelum selesai fsync sama seperti, tetapi juga tulis metadata � fullblock akumulasikan blok penuh dari masukan (hanya iflag) � noatime jangan perbaharui waktu akses � noctty jangan assign pengontrol terminal dari berkas � nofollow jangan ikuti symlinks � nolinks gagal jika multiply-linked � nonblock gunakan I/O non-blok � none, off tidak pernah membuat backup (walaupun jika --backup diberikan) numbered, t buat backup bernomor existing, nil bernomor jika backup bernomor ada, simple jika tidak simple, never selalu membuat backup sederhana � sync sama seperti itu, tetapi juga untuk metadata � text gunakan teks I/O untuk data � %H:%M%P � (backup: %s)� * [-]iuclc tranlasikan karakter huruf besar ke huruf kecil * [-]ixany biarkan karakter apapun mengulang keluaran, tidak hanya karakter awal [-]ixoff aktifkan pengiriman karakter start/stop [-]ixon aktifkan pengontrol arus XON/XOFF [-]parmrk tandai parity error (dengan sebuah urutan 255-0-karakter) [-]tandem sama seperti [-]ixoff � * [-]iutf8 asumsikan karakter masukan adalah terenkode dalam UTF-8 � * [-]ocrnl translasikan carriage return ke baris baru * [-]ofdel gunakan karakter del untuk mengisi daripada karakter kosong * [-]ofill gunakan isi (tambah) karakter daripada pewaktu untuk delay * [-]olcuc translasikan karakter huruf kecil ke huruf besar * [-]onlcr translasikan baris baru ke carriage return-baris baru * [-]onlret baris baru menperformasikan sebuah carriage return � * [-]onocr jangan menampilkan carriage return dalam kolom pertama [-]opost postprocess keluaran * tabN gaya horisontal tab delay, N dalam [0..3] * tabs sama seperti tab0 * -tabs sama seperti tab3 * vtN gaya vertikal tab delay, N dalam [0..1] � * eol2 CHAR CHAR alternatif untuk akhir dari baris erase CHAR CHAR akan menghapus akhir dari karakter terakhir yang diketik intr CHAR CHAR akan mengirim sinyal interupsi kill CHAR CHAR akan menghapus baris sekarang � * lnext CHAR CHAR akan memasukan karakter berikutnya quoted quit CHAR CHAR akan mengirim sebuah sinyal berhenti * rprnt CHAR CHAR akan menggambar ulang baris sekarang start CHAR CHAR akan mengulang keluaran setelah menyetopnya � * rows N beritahu kernel bahwa terminal memiliki N baris * size tampilkan jumlah dari baris dan kolom menurut yang ada di kernel speed tampilkan kecepatan terminal time N Dengan -icanon, set timeout baca untuk N persepuluh dari detik � ??:???? � TTY� konteks=%s� groups=� lama � repetisi di %s �% 1% dari memori, b 1, K 1024 (default), dan seterusnya untuk M, G, T, P, E, Z, Y. Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan. *** PERINGATAN *** Lokal yang dispesifikasikan oleh lingkungan berefek ke cara pengurutan. Set LC_ALL=C untuk memperoleh cara pengurutan tradisional yang menggunakan nilai byte asli. �%.*s: spesifikasi konversi tidak valid�%b %e %Y�%b %e %H:%M�%lu pengguna�%lu pengguna�%s (untuk regexp %s)�%s -> %s (unbackup) �%s [-d] berakhir secara tidak normal�%s dan %s adalah berkas yang sama�%s ada tetapi bukan sebuah direktori�%s telah muncul; mengikuti akhir dari berkas baru�%s telah menjadi dapat diakses�%s telah menjadi tidak dapat diakses�%s telah digantikan dengan sebuah berkas 'remote'; menyerah untuk nama ini�%s telah diganti dengan berkas yang tidak dapat ditail; menyerah untuk nama ini�%s telah diganti; mengikuti akhir dari berkas baru�%s memiliki tipe berkas tidak diketahui�%s adalah tidak berguna, kelihatannya memiliki ukuran negatif�%s halaman rumah: <%s> �%s halaman rumah: <http://www.gnu.org/software/%s/> �%s bukan sebuah valid positif integer�%s terlalu besar�%s mungkin hanya bisa digunakan dalam kernel SELinux�%s telah dispesifikasikan tetapi %s belum�%s: %s terlalu besar yang ini tidak direpresentasikan�%s: %s: nomor baris hilang dari jangkauan�%s: %s: cocok tidak ditemukan�%s: %s:%s: tidak terurut: �%s: GAGAL membuka atau membaca �%s: operator binary diharapkan�%s: dapat membuat relative link simbolik hanya dalam direktori sekarang�%s: tidak dapat mengubah mode nonblocking�%s: tidak dapat menemukan nama untuk ID pengguna %lu �%s: tidak dapat mengikuti akhir dari berkas tipe ini; menyerah di nama ini�%s: tidak dapat lseek ke posisi original�%s: tidak dapat overwrite direktori�%s: gagal rewind�%s: tidak dapat mencari�%s: tidak dapat mencari ofset akhir-relatif %s�%s: tidak dapat mencari ofset %s�%s: tidak dapat mencari ofset relatif %s�%s: tidak dapat menshred tambah-saja berkas deskripsi�%s: tidak dapat melewati�%s: tidak dapat melewati ofset yang dispesifikasikan�%s: tidak dapat mereset mode non-blocking�%s: berlanjut ke direktori %s? �%s: descend ke write-protected direktori %s? �%s: akhir dari berkas�%s: kelas operand ekuivalen operand harus berupa karakter tunggal�%s: error memotong�%s: error menulis di ofset %s�%s: diperkirakan sebuah nilai numerik�%s: gagal untuk menutup�%s: gagal untuk membuka untuk menulis�%s: gagal untuk menghapus�%s: fcntl gagal�%s: fdatasync gagal�%s: berkas memilik ukuran negatif�%s: berkas telah mengecil terlalu banyak�%s: berkas terlalu besar�%s: berkas terlalu panjang�%s: berkas terpotong�%s: fstat gagal�%s: fsync gagal�%s: link keras tidak diijinkan untuk direktori�%s: masukan berisi sebuah loop:�%s: masukan berisi sebuah angka ganjil dari tokens�%s: berkas masukan adalah berkas keluaran�%s: integer diperkirakan setelah delimiter�%s: PID tidak valid�%s: jumlah tidak valid di awal dari %s�%s: direktif tidak valid�%s: spesifikasi field %s tidak valid�%s: ukuran berkas tidak valid�%s: tipe berkas tidak valid�%s: jumlah maksimal dari statistik tidak diubah tidak valid diantar buka�%s: nomor tidak valid�%s: jumlah dari bytes tidak valid�%s: jumlah dari baris tidak valid�%s: jumlah tahap tidak valid�%s: jumlah detik tidak valid�%s: nomor tidak valid diabaikan�%s: pilihan tidak valid -- '%c' �%s: pola tidak valid�%s: proses id tidak valid�%s: ekspresi regular tidak valid: %s�%s: sinyal tidak valid�%s: panjang akhiran tidak valid�%s: nomor baris harus lebih besar dari nol�%s: nomor baris hilang dari jangkauan�%s: lseek gagal�%s: multiple sinyal dispesifikasikan�%s: ijin baru adalah %s, bukan %s�%s: tidak ada baris checksum %s yang di format secara benar ditemukan�%s: tidak ada informasi ukuran untuk perangkat ini�%s: tidak mendaftar direktori yang sudah terdaftar�%s: jumlah dari byte terlalu besar�%s: pilihan '%c%s' tidak memperbolehkan sebuah argumen �%s: pilihan '--%s' tidak memperbolehkan sebuah argumen �%s: pilihan '-W %s' tidak memperbolehkan sebuah argumen �%s: pilihan '-W %s' adalah ambigu �%s: pilihan membutuhkan sebuah argumen -- '%c' �%s: menimpa %s? �%s: tahap %lu/%lu (%s)...�%s: tahap %lu/%lu (%s)...%s�%s: tahap %lu/%lu (%s)...%s/%s %d%%�%s: error membaca�%s: menghapus %s %s? �%s: hapus seluruh argumen rekursif? �%s: hapus seluruh argumen? �%s: menghapus write-protected %s %s? �%s: dihapus�%s: menghapus�%s: diubah namanya menjadi %s�%s: menimpa %s? �%s: gagal mencari�%s: terlalu banyak baris checksum�%s: mencoba untuk menulis %s, mengoveride mode %04lo (%s)? �%s: tidak dapat menentukan panjang nama berkas maksimal�%s: tidak dapat melakukan seluruh operasi yang diminta�%s: operator unary diharapkan�%s: pilihan tidak dikenal '%c%s' �%s: pilihan tidak dikenal '--%s' �%s: nilai tidak secara lengkap diubah�%s: tulis error�%s:%lu: baris tidak valid; hilang token kedua�%s:%lu: nama berkas panjang-nol tidak valid�%s:%lu: keyword tidak dikenal %s�'�')' diharapkan�')' diharapkan, ditemukan %s�(C)�* sistem berkas yang disimpan di lokasi sementara, seperti di NFS versi 3 klien * sistem berkas terkompres �* berstruktur-log atau sistem berkas terjurnal, seperti yang disupply dengan AIX dan Solaris (dan JFS, ReiserFS, XFS, Ext3, dan lain sebagainya.) * sistem berkas yang menulis data secara redundancy dan membawa bahkan jika beberapa tulis gagal, seperti dalam sistem berkas berbasis RAID * sistem berkas yang membuat snapshot, seperti dalam Network Appliance NFS server �, beban rata-rata: %.2f�, %g s, %s/s �--%s argumen %s terlalu besar�--context (-Z) hanya bekerja di kernel dengan SELinux-aktif�--reflink hanya dapat digunakan dengan --sparse=auto�-R --dereference membutuhkan baik -H atau -L�-R -h membutuhkan -P�-ef tidak menerima -l�-nt tidak menerima -l�-ot tidak menerima -l�<internal>�??? �?????�Batalkan�Alamat untuk hostname tidak dilayani�Jam alarm�Semua permintaan selesai�Argumen buffer terlalu kecil�Arnold Robbins�Sisa�Sisa�Panggilan sistem buruk�Nilai buruk untuk ai_flags�Brian Fox�Pipa rusak�Bus error�PERHATIAN: Catat shred bergantung di asumsi sangat penting: bahwa sistem berkas memaksa tulis data di tempat. Ini adalah cara tradisional untuk melakukan itu, tetapi banyak rancangan sistem berkas modern tidak memenuhi asumsi ini. Contoh berikut dari sistem berkas dimana shred tidak efektif, atau tidak digaransi untuk efektif di seluruh mode sistem berkas: �KOMENTAR�batas waktu CPU dilewati�Panggil fungsi link untuk membuat sebuah link bernama BERKAS2 ke sebuah BERKAS1 yang telah ada. �Panggil fungsi unlink untuk menghapus BERKAS yang dispesifikasikan. �Kapasita�Chet Ramey�Anak keluar�Colin Plumb�Bandingkan berkas terurut BERKAS1 dan BERKAS2 baris demi baris. �Dilanjutkan�Salin standar masukan untuk setiap BERKAS, dan juga standar keluaran. -a, --append tambahkan ke BERKAS yang diberikan, jangan ditulis -i, --ignore-interrupts abaikan sinyal interupsi �David M. Ihnat�David MacKenzie�David Madore�Diagnosa tidak valid atau nama berkas tidak portabel. -p periksa untuk kebanyakan sistem POSIX -P periksa untuk nama kosong dan diawali dengan "-" --portability periksa untuk seluruh sistem POSIX (sama dengan -p -P) �Direktori: �Dmitry V. Levin�Tinggalkan grup tambahan apapun, asumsikan ID pengguna dan ID grup dari yang dispesifikasikan PENGGUNA (ID numerik atau nama pengguna), dan jalankan PERINTAH dengan spesifikasi ARGUMEN. Keluar dengan status 111 jika tidak dapat mengasumsikan ID pengguna dan grup yang dibutuhkan. Jika tidak, keluar dengan status keluar dari PERINTAH. Aplikasi ini hanya berguna ketika dijalankan oleh root (ID pengguna nol). �jebakan EMT�KELUAR�Setiap jangkauan adalah satu dari: N byte, karakter atau field ke N, dihitung dari 1 N- dari byte, karakter atau field ke N, ke akhir dari baris N-M dari N ke M (termasuk) byte, karakter atau field -M dari pertama ke M (termasuk) byte, karakter atau field �Echo STRING ke keluaran standar. -n jangan mengeluarkan akhiran baris baru �Eric Blake�Keluar dengan sebuah kode status yang mengindikasikan gagal.�Keluar dengan sebuah kode status yang mengindikasikan sukses.�Keluar dengan status ditentukan oleh EKSPRESI. �François Pinard�GAGAL�BETULKAN AKU: tidak diketahui�FIFO tidak memiliki nomor perangkat major dan minor.�Batas ukuran berkas dilewati�Sistem Berkas�Eksepsi titik pecahan�Untuk dokumentasi lengkap, jalankan: info coreutils '%s pemanggilan' �Paksa perubahan block ke disk, update super blok. �Bantuan umum menggunakan aplikasi GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Putus�I/O memungkinkan�IDLE�Ibebas�IIsi%�IIsi�Ian Lance Taylor�Idle�Jika BERKAS tidak dispesifikasikan, gunakan %s. %s sebagai BERKAS adalah umum. �Instruksi tidak legal�Sebagai tambahan, sistem berkas backup dan remote mirror mungkin berisi salinan dari berkas yang tidak dapat dihapus, dan itu mungkin memungkinkan sebuah berkas yang tershred untuk diselamatkan nanti. �Dalam kehidupan nyata: �Dalam kasus sistem berkas ext3, disclaimer diatas berjalan (dan shred juga terbatas efektivitasnya) hanya dalam mode data=journal, yang berkas data jurnal dalam tambahan daripada hanya metadata. Dalam keduanya data=ordered (default) dan mode data=writeback, shred bekerja seperti biasa. Mode jurnal ext3 dapat diubah dengan menambahkan pilihan data=sesuatu ke pilihan mount untuk sistem berkas yang bersangkutan di berkas /etc/fstab, seperti yang terdokumentasi dalam halaman manual mount (man mount). �Tak terhingga B�Permintaan informasi�Inode�Interupsi�Interupsi oleh sebuah sinyal�Referensi kembali tidak valid�Nama kelas karakter tidak valid�Karakter kolasi tidak valid�Isi dari \{\} tidak valid�Ekspresi regular awal tidak valid�Jangkauan akhir tidak valid�Ekspresi regular tidak valid�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Terbunuh�BARIS�LOGIN�Login�Nama login: �Mark Kettenis�Matthew Bradburn�Gagal mengalokasikan memori�Kehabisan memori�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Dipasang di�NAMA�Nama�Nama atau layanan tidak diketahui�Tidak ada alamat yang berasosiasi dengan hostname�Tidak cocok�Tidak ada ekspresi regular sebelumnya�Gagal tidak dapat diperbaiki dalam resolusi nama�OK�Hanya satu string yang boleh diberikan ketika menghapus tanpa squeezing pengulangan.�Pilihan pengurutan: �Pilihan lain: �Keluarkan perintah untuk menset LS_COLORS variabel lingkungan. Tentukan format dari keluaran: -b, --sh, --bourne-shell keluarkan Bourne shell kode untuk menset LS_COLORS -c, --csh, --c-shell keluarkan C shell kode untuk menset LS_COLORS -p, --print-database keluarkan default �Keluarkan batas ketergantungan platform dalam sebuah formay yang berguna untuk shell scripts. �Keluarkan yang sedang dilog dalam BERKAS yang berhubung. Jika BERKAS tidak dispesifikasikan, gunakan %s. %s sebagai BERKAS adalah umum. �PID�Dipaket oleh %s �Dipaket oleh %s (%s) �Padraig Brady�Parameter string tidak secara benar dikodekan�Paul Eggert�Paul Rubin�Pete TerMaat�Rencana: �Kegagalan penyuplai listrik�Akhir dari ekspresi regular prematur�Menampilkan ARGUMEN menurut FORMAT, atau menjalankan menurut PILIHAN: �Tampilkan checksum CRC dan jumlah byte dari setiap BERKAS �Tampilkan beberapa sistem informasi. Tanpa PILIHAN, sama seperti -s. -a, --all menampilkan seluruh informasi, dalam urutan berikut, kecuali mengabaikan -p dan -i jika tidak diketahui: -s, --kernel-name menampilkan nama kernel -n, --nodename menampilkan network node hostname -r, --kernel-release menampilkan release kernel �Tampilkan checksum dan jumlah blok untuk setiap BERKAS. -r gunakan algoritma sum BSD, gunakan 1K blok -s, --sysv gunakan System V algoritma sum, gunakan 512 bytes blok �Tampilkan keanggotaan grup untuk setiap NAMA PENGGUNA atau, jika tidak ada NAMA pengguna yang dispesifikasikan, proses sekarang (yang berbeda jika database grup telah berubah). �Menampilkan informasi mengenai pengguna yang saat ini sedang logged in. �Menampilkan arsitektur mesin. �Menampilkan waktu sekarang, lama sistem telah hidup, jumlah pengguna dari sistem, dan jumlah rata-rata pekerjaan dalam antrian pekerjaan lebih dari terakhir 1, 5 dan 15 menit.�Tampilkan nama berkas dari terminal yang terhubung ke standar masukan. -s, --silent, --quiet tampilkan kosong, hanya mengembalikan sebuah status keluar �Tampilkan nama berkas lengkap dari direktori kerja sekarang. �Menampilkan nama dari pengguna sekarang. �Tampilkan jumlah satuan pemrosesan yang tersedia di proses saat ini, yang mungkin lebih kecil dari jumlah prosesor online �Menampilkan faktor prima dari seluruh NOMOR integer yang dispesifikasikan. Jika tidak ada argumen yang dispesifikasikan dalam baris perintah, mereka dibaca dari standar masukan. �Menampilkan nama pengguna berasosiasi dengan ID pengguna efektif sekarang. Sama seperti id -un. �Tampilkan informasi pengguna dan grup untuk NAMA PENGGUNA yang dispesifikasikan. atau (ketika NAMA PENGGUNA diabaikan) untuk pengguna sekarang. -a abaikan, untuk kompabilitas dengan versi lain -Z, --context tampilkan hanya konteks keamanan dari pengguna sekarang -g, --group tampilkan hanya efektif grup ID -G, --groups tampilkan seluruh grup ID -n, --name tampilkan sebuah nama daripada sebuah nomor, untuk -ugG -r, --real tampilkan real ID daripada efektif ID, dengan -ugG -u, --user tampilkan hanya efektif ID pengguna �Tampilkan nilai dari sebuah link atau kanonikal nama berkas �Permintaan pemrosesan dalam perkembangan�Pewaktu profiling habis�Projek: �Q. Frank Xia�Berhenti�Randy Smith�Sinyal waktu-nyata %d�Ekspresi regular terlalu besar�Hapus DIREKTORI, jika mereka kosong. --ignore-fail-on-non-empty abaikan setiap kegagalan yang hanya disebabkan oleh sebuah direktori yang tidak kosong �Laporkan %s bugs ke: %s �Laporkan %s bugs terjemahan ke <http://translationproject.org/team/> �Permintaan dibatalkan�Permintaan tidak dibatalkan�Kehilangan sumber daya�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Jalankan PERINTAH dengan direktori root set ke NEWROOT. �Jalankan PERINTAH, mengabaikan sinyal hangup. �Russel Coker�Scott Bartram�Scott Miller�Kesalahan segmentasi�Servname tidak dilayani untuk ai_socktype�Set LC_ALL='C' untuk memperbaiki masalah.�Shell: �Simon Josefsson�Besar�Berkas spesial membutuhkan nomor perangkat major dan minor.�Kegagalan stack�Dihentikan�Terhenti (sinyal)�Terhenti (masukan tty)�Terhenti (keluaran tty)�Stuart Kemp�Sukses�Sistem error�WAKTU�Kegagalan sementara dalam resolusi nama�Terminasi�String yang dibandingkan adalah %s dan %s.�Torbjorn Granlund�Jejak/titik-balik perangkap�Tambahan backslash�Translasikan, squeeze, dan/atau hapus karakter dari standar masukan, tulis ke standar keluaran. -c, -C, --complement komplemen pertama SET1 -d, --delete hapus karakter dalam SET1, jangan translasikan -s, --squeeze-repeats ganti setiap urutan masukan dari sebuah karakter berulang yang terdaftar dalam SET1 dengan sebuah sekali occurence dari karakter itu -t, --truncate-set1 pertama potong SET1 ke panjang dari SET2 �Dua string yang boleh diberikan ketika menghapus tanpa squeezing pengulangan.�Dua string mungkin diberikan ketika menerjemahkan.�Tipe�Ulrich Drepper�Error tidak diketahui�Sinyal %d tidak diketahui�System error tidak diketahui�Tidak cocok ( atau \(�Tidak cocok ) atau \)�Tidak cocok [ atau [^�Tidak cocok \{�Kondisi penting I/O�Penggunaan: %s �Penggunaan: %s PERINTAH [ARG]... atau: %s PILIHAN �Penggunaan: %s CONTEXT PERINTAH [args] atau: %s [ -c ] [-u PENGGUNA] [-r PERAN] [-t TIPE] [-l JANGKAUAN] PERINTAH [args] �Penggunaan: %s EKSPRESI atau: %s PILIHAN �Penggunaan: %s BERKAS atau: %s PILIHAN �Penggunaan: %s BERKAS1 BERKAS2 atau: %s PILIHAN �Penggunaan: %s FORMAT [ARGUMEN]... atau: %s PILIHAN �Penggunaan: %s [PILIHAN]... PERINTAH �Penggunaan: %s PILIHAN... BERKAS... �Penggunaan: %s PILIHAN... [BERKAS]... �Penggunaan: %s [-F PERANGKAT] [--file=PERANGKAT] [KONFIGURASI]... atau: %s [-F PERANGKAT] [--file=PERANGKAT] [-a|-all] atau: %s [-F PERANGKAT] [--file=PERANGKAT] [-g|--save] �Penggunaan: %s [-WIDTH] [PILIHAN]... [BERKAS]... �Penggunaan: %s [-s SINYAL | -SINYAL] PID... atau: %s -l [SINYAL]... atau: %s -t [SINYAL]... �Penggunaan: %s [BERKAS]... atau: %s [PILIHAN]... �Penggunaan: %s [NAMA] atau: %s PILIHAN Menampilkan atau menset nama host dari sistem sekarang. �Penggunaan: %s [NOMOR]... atau: %s PILIHAN �Penggunaan: %s [OPERAND]... atau: %s PILIHAN �Penggunaan: %s [PILIHAN] �Penggunaan: %s [PILIHAN] Tampilkan pengindentifikasi numerik (dalam heksa desimal) untuk host sekarang. �Penggunaan: %s [PILIHAN] NAMA... �Penggunaan: %s [PILIHAN] NEWROOT [PERINTAH [ARG]...] atau: %s PILIHAN �Penggunaan: %s [PILIHAN] [PERINTAH [ARG]...] �Penggunaan: %s [PILIHAN] [BERKAS] Tulis total daftar terurut konsisten dengan pengurutan partial dalam BERKAS. Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan. �Penggunaan: %s [PILIHAN]... �Penggunaan: %s [PILIHAN]... BERKAS KONTEKS... atau: %s [PILIHAN]... [-u PENGGUNA] [-r ROLE] [-l JANGKAUAN] [-t TIPE] BERKAS... atau: %s [PILIHAN]... --reference=RFILE BERKAS... �Penggunaan: %s [PILIHAN]... DIREKTORI... �Penggunaan: %s [PILIHAN]... BERKAS POLA... �Penggunaan: %s [PILIHAN]... BERKAS... �Penggunaan: %s [PILIHAN]... BERKAS1 BERKAS2 �Penggunaan: %s [PILIHAN]... BERKAS GRUP... atau: %s [PILIHAN]... --reference=RFILE BERKAS... �Penggunaan: %s [PILIHAN]... TERAKHIR atau: %s [PILIHAN]... PERTAMA TERAKHIR atau: %s [PILIHAN]... PERTAMA PENINGKATAN TERAKHIR �Penggunaan: %s [PILIHAN]... MODE[,MODE]... BERKAS... atau: %s [PILIHAN]... MODE-OKTAL BERKAS... atau: %s [PILIHAN]... --reference=RFILE BERKAS... �Penggunaan: %s [PILIHAN]... NAMA TIPE [MAJOR MINOR] �Penggunaan: %s [PILIHAN]... NAMA... �Penggunaan: %s [PILIHAN]... SET1 [SET2] �Penggunaan: %s [PILIHAN]... [ BERKAS | ARG1 ARG2 ] �Penggunaan: %s [PILIHAN]... [+FORMAT] atau: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Penggunaan: %s [PILIHAN]... [-T] SUMBER TUJUAN atau: %s [PILIHAN]... SUMBER... DIREKTORI atau: %s [PILIHAN]... -t DIREKTORI SUMBER... �Penggunaan: %s [PILIHAN]... [-T] ASAL TUJUAN atau: %s [PILIHAN]... ASAL... DIREKTORI atau: %s [PILIHAN]... -t DIREKTORI ASAL... atau: %s [PILIHAN]... -d DIREKTORI... �Penggunaan: %s [PILIHAN]... [-T] TARGET LINK_NAME (bentuk pertama) atau: %s [PILIHAN]... TARGET (bentuk kedua) atau: %s [PILIHAN]... TARGET... DIREKTORI (bentuk ketiga) atau: %s [PILIHAN]... -t DIREKTORI TARGET...(bentuk keempat) �Penggunaan: %s [PILIHAN]... [-] [NAMA=NILAI]... [PERINTAH [ARG]...] �Penggunaan: %s [PILIHAN]... [BERKAS] �Penggunaan: %s [PILIHAN]... [BERKAS] atau: %s -e [PILIHAN]... [ARG]... atau: %s -i LO-HI [PILIHAN]... �Penggunaan: %s [PILIHAN]... [BERKAS]... �Penggunaan: %s [PILIHAN]... [BERKAS]... atau: %s [-abcdfilosx]... [BERKAS] [[+]OFFSET[.][b]] atau: %s --traditional [PILIHAN]... [BERKAS] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Penggunaan: %s [PILIHAN]... [BERKAS]... atau: %s [PILIHAN]... --files0-from=F �Penggunaan: %s [PILIHAN]... [BERKAS]... Tampilkan atau periksa %s (%d-bit) checksums. dengan tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan. �Penggunaan: %s [PILIHAN]... [INPUT [OUTPUT]] �Penggunaan: %s [PILIHAN]... [MASUKAN [PREFIX]] �Penggunaan: %s [PILIHAN]... [MASUKAN]... (tanpa -G) atau: %s -G [PILIHAN]... [INPUT [OUTPUT]] �Penggunaan: %s [PILIHAN]... [PEMILIK][:[GRUP]] BERKAS... atau: %s [PILIHAN]... --reference=RFILE BERKAS... �Penggunaan: %s [PILIHAN]... [TEMPLATE] �Penggunaan: %s [PILIHAN]... [NAMA PENGGUNA] �Penggunaan: %s [PILIHAN]... [NAMA PENGGUNA]... �Penggunaan: %s [PILIHAN]... [PENGGUNA]... �Penggunaan: %s [PILIHAN]... [VARIABEL]... Tampilkan nilai dari VARIABEL yang dispesifikasikan oleh lingkungan. Jika tidak ada VARIABEL lingkungan yang dispesifikasikan, tampilkan semuanya. �Penggunaan: %s [PILIHAN-PENDEK]... PERINTAH PENGGUNA [ARGUMEN]... atau: %s PILIHAN-PANJANG �Penggunaan: %s [PILIHAN-PENDEK]... [STRING]... atau: %s PILIHAN-PANJANG �Penggunaan: %s [STRING]... atau: %s PILIHAN �Penggunaan: %s [mengabaikan arguman baris perintah] atau: %s PILIHAN �Penggunaan: test EKSPRESI atau: test atau: [ EKSPRESI ] atau: [ ] atau: [ PILIHAN ] �Isi%�Isi�Sinyal didefinisikan pengguna 1�Sinyal didefinisikan pengguna 2�Argumen yang valid adalah:�Pewaktu maya habis�PERINGATAN: Struktur direktori circular. Ini kemungkinan besar berarti bahwa anda memiliki sebuah sistem berkas yang terkorupsi. BERITAHU MANAJER SISTEM ANDA. Direktori berikut adalah bagian dari cycle: %s �PERINGATAN: mengabaikan --context (-Z); kernel ini bukan SELinux-aktif�PERINGATAN: mengabaikan --preserve-context; kernel ini bukan SELinux-aktif.�PERINGATAN: mengabaikan pilihan --strip-program karena pilihan -s tidak dispesifikasikan�Peringatan: �Ketika�Dimana�Jendela berubah�Dengan --follow (-f), tail secara baku mengikuti pendeskripsi berkas, yang berarti baik jika sebuah berkas yang di-'tail' diubah namanya, 'tail' akan tetap melanjutkan melacaknya sampai akhir. Ini perilaku default jik tidak diinginkan ketika anda benar benar menginginkan untuk mencari jejak nama aktual dari berkas, bukan berkas deskripsi (e.g., log rotasi). Gunakan --follow=nama dalam kasus itu. Yang menyebabkan tail untuk megikuti jejak dari nama berkas dengan membuka kembali secara periodik untuk melihat apakah ini telah dihapus dan dibuat kembali oleh aplikasi lain. �Ditulis oleh %s dan %s. �Ditulis oleh %s, %s, %s, %s, %s, %s, %s, %s, %s, dan yang lain. �Ditulis oleh %s, %s, %s, %s, %s, %s, %s, %s, dan %s. �Ditulis oleh %s, %s, %s, %s, %s, %s, %s, dan %s. �Ditulis oleh %s, %s, %s, %s, %s, %s, dan %s. �Ditulis oleh %s, %s, %s, %s, %s, dan %s. �Ditulis oleh %s, %s, %s, %s, dan %s. �Ditulis oleh %s, %s, %s, dan %s. �Ditulis oleh %s, %s, dan %s. �Ditulis oleh %s. �[=c=] ekspresi mungkin timbul dalam string2 ketika menerjemahkan�^[tT]�^[yY]�`�sebuah perintah harus diberikan dengan sebuah adjustmen�ai_family tidak didukung�ai_socktype tidak didukung�argumen %s ambigu untuk %s�sebuah pembatas masukana mungkin dispesifikan hanya ketika beroperasi di fields�menambahkan keluaran ke %s�backing up %s akan menghancurkan sumber; %s tidak disalin�backing up %s akan menghancurkan sumber; %s tidak dipindah�tipe backup�berkas blok spesial�blok berkas spesial tidak didukung�blok�kedua berkas tidak dapat berupa standar masukan�byte offset %s terlalu besar�tidak dapat mengapply konteks pecahan ke berkas yang tidak bernama %s�tidak dapat memperoleh konteks proses�tidak dapat mengakses %s�tidak dapat membackup %s�tidak dapat meringkas dan menampilkan seluruh masukan bersamaan�tidak dapat mengubah kepemilikan dari %s�tidak dapat merubah ijin dari %s�tidak dapat mengubah direktori root ke %s�tidak dapat berpindah ke direktori %s�tidak dapat chdir ke direktori root�tidak dapat mengkombinasikan --target-directory (-t) dan --no-target-directory (-T)�tidak dapat mengkombinasikan --target-directory dan --no-target-directory�tidak dapat mengkombinasikan pilihan -e dan -i�tidak dapat mengkombinasikan dua dari {ascii, ebcdic, ibm}�tidak dapat mengkombinasikan blok dan unblok�tidak dapat mengkombinasikan excl dan nocreat�tidak dapat mengkombinasikan huruf kecil dan huruf besar�tidak dapat mengkombinasikan mode dan pilihan --reference�tidak dapat mengkombinasikan sinyal dengan -l atau -t�tidak dapat membandingkan nama berkas %s dan %s�tidak dapat mengubah U+%04X ke karakter set lokal�tidak dapat mengubah U+%04X ke karakter set lokal: %s�tidak dapat menyalin sebuah direktori, %s, kedalam diri sendiri, %s�tidak dapat menyalin cyclic link simbolik %s�tidak dapat membuat direktori %s�tidak dapat membuat fifo %s�tidak dapat membuah link keras %s ke %s�tidak dapat membuat link %s ke %s�tidak dapat membuat berkas regular %s�tidak dapat membuah berkas spesial %s�tidak dapat membuat link simbolik %s�tidak dapat membuat link simbolik %s ke %s�tidak dapat membuat berkas sementara dalam %s�tidak dapat dereferensi %s�tidak dapat menentukan perangkat dan inode dari %s�tidak dapat menentukan nama host�tidak dapat menentukan lokasi dari %s. kembali ke polling�tidak dapat melakukan ioctl di %s�tidak dapat menemukan nama untuk grup ID %lu�tidak dapat mengikuti %s dengan nama�tidak dapat memaksa konteks tujuan ke %s dan menjaganya�tidak dapat fstat %s�tidak dapat memperoleh direktori sekarang�tidak dapat memperoleh niceness�tidak dapat memperoleh nama sistem�tidak dapat lseek %s�tidak dapat membuat hard dan simbolik link�tidak dapat membuat direktori %s�tidak dapat memindahkan %s ke %s�tidak dapat memindahkan %s ke sebuah subdirektori dari direktori itu sendiri, %s�tidak dapat memindahkan direktori ke bukan-direktori: %s -> %s�tidak dapat membuka %s untuk dibaca�tidak dapat membuka %s untuk ditulis�tidak dapat membuka direktori %s�tidak dapat beroperasi di simlink dangling %s�tidak dapat menimpa direktori %s dengan bukan-direktori�tidak dapat menimpa bukan-direktori %s dengan direktori %s�Tidak dapat menjalankan keluaran yang terformat�tidak dapat menjaga atribut ekstensi, cp dibuat tanpa dukungan xattr�tidak dapat menjaga konteks keamanan tanpa sebuah kernel SELinux support�tidak dapat menampilkan "only" lebih dari satu pilihan�tidak dapat menampilkan hanya nama atau ril ID dalam format default�tidak dapat menampilkan konteks keamanan ketika pengguna dispesifikasikan�tidak dapat membaca direktori %s�tidak dapat membaca nama berkas dari %s�tidak dapat membaca informasi sistem berkas untuk %s�tidak dapat membaca realtime clock�tidak dapat membaca link simbolik %s�tidak dapat membaca tabel dari sistem berkas yang terpasang�tidak dapat menghapus %s�tidak dapat menghapus direktori: %s�tidak dapat mereposisi berkas penunjuk untuk %s�tidak dapat menjalankan %s�tidak dapat menset %s�tidak dapat menset tanggal�tidak dapat menset ID grup ke %lu�tidak dapat menset nama host; sistem ini kurang fungsionalitas�tidak dapat menset nama ke %s�tidak dapat menset niceness�tidak dapat menset time stamps untuk %s�tidak dapat menset ID pengguna ke %lu�tidak dapat melewatkan akhir dari kombinasi masukan�tidak dapat menspesifikasikan --null (-0) dengan perintah�tidak dapat menspesifikasikan baik mencetak across dan mencetak dalam paralel�tidak dapat menspesifikasikan jumlah dari kolom ketika menampilkan dalam paralel�tidak dapat menspesifikasikan waktu dari lebih dari satu sumber�tidak dapat memisahkan lebih dari satu cara�tidak dapat memperoleh statistik %s�tidak dapat memperoleh statistik direktori sekarang (sekarang %s)�tidak dapat memperoleh statistik standar masukan�tidak dapat menyentuh %s�tidak dapat un-backup %s�tidak dapat unlink %s�tidak dapat unset %s�tidak dapat mengamati %s�tidak dapat mengamati direktori atas dari %s�tidak dapat bekerja dalam kernel bug ternyata�mengubah grup dari %s�mengubah kepemilikan dari %s�mengubah ijin dari %s�mengubah konteks keamanan dari %s �karakter ofset adalah nol�karakter diluar dari jangkauan�berkas karakter spesial�karakter berkas spesial tidak didukung�menghapus ijin untuk %s�jam berubah�gagal menutup�menutup %s (fd=%d)�menutup direktori %s�menutup berkas masukan %s�menutup berkas keluaran %s�menutup masukan standar�mode kompabilitas melayani di setiap berkas.�konflik penggantian string empty-field�konteks keamanan konflik dengan spesifikasi yang diberikan�tidak dapat menset penyangga dari %s untuk mode %s �tidak dapat membuat proses untuk %s -d�tidak dapat membuat berkas sementara�tidak dapat menjalankan %s�tidak dapat menjalankan %s -d�tidak dapat menemukan masukan direktori di %s dengan -node yang cocok�tidak dapat memperoleh waktu nyala�direktori %s dibuat�membuat direktori %s�membuat berkas %s �daftar pembatas berakhir dengan sebuah unescaped backslash: %s�direktori�pembagian dengan nol�dup2 gagal�kosong %s tidak diperbolehkan�nama berkas kosong�empty tab�error menutup berkas�error dalam pencocokan ekspresi regular�error dalam pencarian ekspresi regular�error menginisialisasi string bulan�error mengamati inotify event�error membaca %s�error membaca inotify event�error dalam menunggu perintah�error menulis %s�keluar=�kelebihan argumen %s�extra operand %s�kelebihan operan %s tidak dibolehkan dengan -%c�gagal untuk mengubah konteks dari %s ke %s�gagal untuk mengubah grup dari %s ke %s �gagal untuk mengubah kepemilikan dari %s �gagal untuk mengubah kepemilikan dari %s ke %s �gagal untuk chdir ke %s�gagal untuk menghitung konteks baru�gagal untuk membuat direktori melalui template %s�gagal untuk membuat berkas melalui template %s�gagal untuk membuat konteks keamanan: %s�gagal untuk memperoleh atribut dari %s�gagal memperolek konteks sekarang�gagal memperoleh file sysmte create context�gagal memperoleh grup untuk proses sekarang�gagal memperoleh grup untuk user %s�gagal untuk memperoleh konteks keamanan dari %s�gagal untuk menlookup berkas %s�gagal untuk membuka %s�gagal untuk menjaga kepengarangan untuk %s�gagal untuk menjaga kepemilikan untuk %s�gagal untuk menjaga ijin untuk %s�gagal untuk menjaga waktu untuk %s�gagal untuk meredirect standar error�gagal untuk mengarahkan stderr ke /dev/null�gagal untuk menghapus %s�gagal untuk menghapus direktori %s�gagal untuk me-'render' masukan baku yang tidak berguna�gagal untuk membuka kembali %s dengan mode %s�gagal merestore ke default berkas konteks pembuatan�gagal kembali ke direktori kerja awal�gagal menjalankan perintah %s�gagal menset %s kontek keamanan komponen ke %s�gagal untuk menset grup tambahan�gagal untuk menset default berkas pembuatan konteks ke %s�gagal untuk menset ID grup�gagal untuk menset jangkauan baru %s�gagal untuk menset peran baru %s�gagal untuk menset tipe baru %s�gagal untuk menset pengguna baru %s�gagal untuk menset grup tambahan�gagal untuk menset salinan dari stderr untuk ditutup pada saat exec�gagal untuk menset konteks keamanan dari %s ke %s�gagal untuk menset ID pengguna�gagal memperoleh statistik %s�gagal untuk mematikan O_DIRECT: %s�gagal untuk memperbarui lingkungan dengan %s�fdatasync gagal untuk %s�fflush gagal�nomor field %s terlalu besar�jumlah field adalah nol�fields dan posisi dinomori dari 1�fifo�berkas %d ada dalam keadaan tidak terurut�berkas operand tidak dapat dikombinasikan dengan --files0-from.�berkas operand tidak dapat dikombinasikan dengan --print-database (-p)�sistem berkas tipe %s keduanyan dipilih dan diexclude�fork system call gagal�format %s berakhir dalam %%�format %s tidak memiliki %% direktif�format %s memiliki terlalu banyak %% direktif�format %s memiliki %%%c direktif tidak diketahui�format string mungkin tidak dispesifikasikan ketika menampilkan string dengan lebar sama�fsync gagal untuk %s�fts_close gagal�fts_read gagal�memperoleh atribut baru dari %s�grup dari %s tetap sebagai %s �fungsi iconv tidak tersedia�fungsi iconv tidak berguna�id=�mengabaikan seluruh argumen�mengabaikan masukan�mengabaikan masukan dan menambahkan keluaran ke %s�mengabaikan masukan dan meredirect stderr ke stdout�mengabaikan ukuran tab tidak valid dalam variabel lingkungan UKURAN TAB: %s�mengabaikan nilai tidak valid dari variabel lingkungan QUOTING_STYLE: %s�mengabaikan lebar tidak valid dalam variabel lingkungan KOLOM: %s�mengabaikan argumen bukan pilihan�join field tidak kompatible %lu, %lu�incompatible tabs�inotify tidak dapat digunakan, kembali ke polling�masukan hilang�baris masukan terlalu panjang�inter-device pindah gagal; %s ke %s; tidak dapat menghapus target�argumen --%s tidak valid %s�adjustmen %s tidak valid�argumen tidak valid %s�argumen %s tidak valid untuk %s�gaya penomoran body: %s tidak valid�mode penyangga %s tidak valid untuk %s �karakter kelas %s tidak valid�konteks tidak valid: %s�konversi tidak valid�spesifikasi konversi tidak valid dalam akhiran: %c�spesifikasi konversi tidak valid dalam akhiran: \%.3o�tanggal tidak valid %s�format tanggal %s tidak valid�jangkauan berkurang tidak valid�perangkat %s %s tidak valid�tipe perangkat %s tidak valid�nomor field tidak valid: %s�spesifikasi field tidak valid: %s�lebar field tidak valid: %s�nomor berkas tidak valid dalam field spec: %s�argumen floating point tidak valid: %s�gaya penomoran footer: %s tidak valid�lebar gap tidak valid: %s�grup tidak valid�grup tidak valid %s�daftar grup tidak valid %s�invalid grup: %s�gaya penomoran header: %s tidak valid�masukan tidak valid�masukan flag tidak valid�jangkauan masukan %s tidak valid�integer %s tidak valid�integer argumen %s tidak valid�jumlah baris %s tidak valid�baris disiplin %s tidak valid�lebar field nomor baris: %s tidak valid�nomor baris increment: %s tidak valid�format penomoran baris: %s tidak valid�lebar baris tidak valid: %s�nomor perangkat major tidak valid %s�kedalaman maksimal %s tidak valid�nomor perangkat minor tidak valid %s�mode tidak valid�mode tidak valid %s�mode tidak valid: %s�nomor %s tidak valid�jumlah tidak valid di awal field�jumlah dari baris kosong: %s tidak valid�jumlah dari byte tidak valid�jumlah bytes yang dibandingkan tidak valid�jumlah bytes yang dilewati tidak valid�jumlah dari kolom tidak valid: %s�jumlah bagian yang dilewati tidak valid�jumlah dari baris tidak valid�pilihan tidak valid -- %c�pilihan -- %c tidak valid; -WIDTH dikenali hanya ketika ini merupakan pilihan pertama; gunakan -w N daripada�keluaran flag tidak valid�jangkauan halaman %s tidak valid�presisi tidak valid: %s�jangkauan tidak valid dengan tidak ada endpoint: -�jumlah pengulangan %s tidak valid dalam [c*n] contruct�spesifikasi tidak valid�awalan nomor baris: %s tidak valid�statu flag tidak valid�akhiran tidak valid %s, berisi pemisah direktori�ukuran tab tidak valid: %s�template tidak valid, %s, berisi pemisah direktori�template tidak valid, %s; dengan --tmpdir, ini mungkin bukan absolut�jangka waktu %s tidak valid�format gaya waktu tidak valid: %s�akhiran pilihan tidak valid -- %c�tipe string %s tidak valid�Tipe string %s tidak valid; Sistem ini tidak memberikan sebuah %lu-byte tipe floating point�tipe string %s tidak valid; Sistem ini tidak memberikan sebuah tipe %lu-byte integral�universal nama karakter \%c%0*x tidak valid�pengguna tidak valid�pengguna tidak valid %s�lebar tidak valid: %s�ukuran wrap tidak valid: %s�nama berkas panjang-nol tidak valid�ini berbahaya untuk mengoperasikan secara rekursif di %s�ini berbahaya untuk mengoperasikan secara rekursif di %s (sama seperti %s)�terakhir=�batas %lu dilewati oleh panjang %lu dari nama berkas %s�batas %lu dilewati dengan panjang %lu dari komponen nama berkas %s�baris penyangga stdin tidak berarti�jumlah baris pilihan -%s%c... terlalu besar�nomor baris %s lebih kecil dari nomor baris sebelumnya, %s�nomor baris overflow�maksimal --%s argumen dengan rlimit sekarang adalah %s�kehabisan memori�pesan antrian�argumen %s minimum --%s�missaligned [:upper:] dan/atau [:lower:] construct�hilang %% spesifikasi konversi di akhiran�argumen hilang setelah %s�argumen ke %s hilang�hilang spesifikasi konversi dalam akhiran�berkas tujuan operand hilang setelah %s�operand berkas hilang�hilang nomor heksadesimal dalam escape�hilang daftar dari fields�hilang daftar dari posisi�operand hilang�hilang operand setelah %s�mode seharusnya menspesifikasikan hanya berkas ijin bits�mode dari %s dijaga sebagai %04lo (%s) �multi-character tab %s�banyak pilihan -i dispesifikasikan�multiple pilihan -l atau -t dispesifikasikan�banyak aplikasi kompresi dispesifikasikan�banyak pembatas dispesifikasikan�banyak tingkat jangkauan�banyak berkas keluaran dispesifikasikan�multiple format keluaran dispesifikasikan�banyak sumber random dispesifikasikan�multiple relatif pengubah dispesifikasikan�banyak peran�multiple target direktori dispesifikasikan�banyak tipe�banyak pengguna�bukan link simbolik %s ataupun referensi yang telah diubah �tidak ada variabel SHELL, dan tidak ada pilihan tipe shell yang diberikan�tidak merubah kepemilikan dari %s �tidak ada perintah yang dispesifikasikan�tidak ada sistem berkas yang diproses�tidak ada berkas tersisa�tidak ada masukan masukan dari %s�bukan nama login�tidak ada proses ID dispesifikasikan�tidak ada tipe yang bisa dispesikasikan ketika mendump strings�jika tidak ada spesifikasi nama pengguna; paling tidak satu harus dispesifikasikan ketika menggunakan -l�karakter %s tidak portabel dalam nama berkas %s�bukan sebuah tty�tidak menulis melalui dangling symlink %s�angka dalam %s terlalu besar�jumlah dari byte�jumlah dari baris�offset overflow ketika membaca berkas %s�mengabaikan direktori %s�hanya [c*] ulang construct mungkin timbul dalam string2�hanya sebuah perangkat yang dispesifikasikan�hanya satu tipe dari daftar yang boleh dispesifikasikan�gagal membuka�pilihan yang digunakan tidak valid dalam konteks -- %c�pilihan --backup dan --no-clobber adalah mutually ekslusif�pilihan --compare (C) dan --preserve-timestamps adalah mutually exclusive�pilihan --compare (C) dan --strip adalah mutually exclusive�Kehabisan akhiran berkas keluaran�extending overflow dari ukuran berkas %s�pembulatan overflow dari ukuran berkas %s�kepemilikan dari %s tetap �kepemilikan dari %s tetap sebagai %s �jumlah halaman berlebihan�lebar halaman terlalu kecil�menyimpan permission untuk %s�menjaga waktu untuk %s�menampilkan seluruh baris duplikat dan jumlah pengulangan adalah tidak berarti�error baca�baca gagal�membaca direktori %s�rekaman terlalu besar�meredirect stderr ke stdout�berkas kosong regular�berkas regular�menghapus %s �menghapus direktori: %s �menghapus direktori, %s�tingkat-proses�semaphore�pemisah tidak dapat kosong�set LC_ALL='C' untuk memperbaiki masalah�menset flag untuk %s�menset ijin untuk %s�menset waktu dari %s�objek memori dibagi�Skip-bytes + read-bytes terlalu besar�melewatkan %s, karena ini ada di perangkat berbeda�melewati berkas %s, seperti ini ditimpa ketika sedang disalin�socket�standar error�standar masukan�standar masukan telah ditutup�keluaran standar�stat gagal�stderr�stdin�stdout�karakter sisa dalam spesifikasi field�gagal membandingkan string�Transformasi string gagal�strip proses berakhir abnormal�menekan non-delimited baris membuat masuk akal hanya ketika beroperasi di fields�link simbolik�sintaks error�sistem boot�ukuran tab tidak bisa 0�ukuran tab berisi karakter tidak valid: %s�ukuran tab harus ascending�tab stop terlalu besar %s�nilai tab stop terlalu besar�tabs terlalu jauh dipisahkan�target %s bukan sebuah direktori�direktori tujuan tidak memperbolehkan ketika memasang sebuah direktori�term=�test dan/atau [�Pilihan --binary dan --text tidak berarti ketika memverifikasikan checksum�pilihan --compare (-C) diabaikan ketika anda menspesifikasikan sebuah mode dengan bit tanpa-ijin�pilihan --quiet hanya berguna ketika memverifikasikan checksum�pilihan --status hanya berguna ketika memverifikasikan checksum�pilihan --warn hanya berguna ketika memverifikasikan checksum�[c*] construct mungkin timbul dalam string2 hanya ketika menerjemahkan�[c*] mengulang contruct mungkin mungkin timbul dalam string1�pembatas harus berupa sebuah karakter�pilihan untuk gaya verbose dan stty-readable keluaran adalah mutualy exclusive�pilihan untuk keluaran dircolors' internal database dan untuk memilih sintak shell adalah mutually exclusif�Pilihan untuk mencetak dan menset waktu mungkin bisa digunakan bersama�Pilihan untuk menspesifikasikan tanggal untuk pencetakan adalah mutually exclusive�string yang dibandingkan adalah %s dan %s�pilihan strip tidak boleh digunakan ketika memasang sebuah direktori�untransformasi string adalah %s�jam %s adalah diluar jangkauan�untuk menggunakan ID pengguna %s anda juga harus menggunakan pilihan -g�terlalu sedikit X dalam template %s�terlalu banyak %% spesifikasi konversi dalam akhiran�terlalu banyak karakter dalam set�terlalu banyak pengulangan baris�terlalu banyak template�total�traversal gagal: %s�objek memori diketik�tidak dapat menampilkan pesan kesalahan�tidak dapat menyimpan direktori kerja sekarang�gagal untuk menset konteks keamanan %s�kegagalan tidak terduga: fts_info=%d: %s mohon laporkan ke %s�operator binary tidak diketahui�status dari perintah (0x%X) tidak diketahui�Aliran tidak diketahui�ID pengguna tidak diketahui: %s�nilai tidak dapat diparse untuk variabel lingkungan LS_COLORS�operand %s tidak dikenal�prefix tidak dikenal: %s�nyala %ld hari %2d:%02d, �nyala %ld hari %2d:%02d, �nyala ???? hari ??:??, �gunakan --no-preserve-root untuk memaksa gagal-aman ini�menggunakan %s untuk mengatakan standar masukan tidak bekerja dalam mode sistem berkas�menunggu untuk %s [-d]�menunggu untuk strip�peringatan: %s: karakter mengikuti konstan karakter telah diabaikan�peringatan: %s: gagal untuk mengubah konteks ke %s�peringata: --pid=PID tidak didukung dalam sistem ini�peringatan: --retry hanya berguna ketik diikuti dengan nama�peringatan: PID diabaikan; --pid=PID hanya berguna ketika mengikuti�peringatan: sebuah backslash tidak diescape di akhir dari string tidak portabel�peringatan: backslash di akhir dari format�peringatan: tidak dapat menghapus: %s�peringatan: mengikuti standar masukan secara tak terhingga adalah tidak efektif�peringatan: mengabaikan kelebihan argumen, dimulai dengan %s�peringatan: berkas ofset tidak valid setelah gagal baca�peringatan: lebar tidak valid %lu; menggunakan %d�peringatan: nomor baris %s sama dengan nomor baris sebelumnya�peringatan: berkas sumber %s dispesifikasikan lebih dari sekali�peringatan: meringkas konflik dengan --max-depth=%lu�peringatan: meringkas adalah sama dengan menggunakan --max-depth=0�peringatan: escape \%c%c%c oktal ambigu sedang diinterpretasikan sebagai urutan 2-byte \0%c%c, %c�peringatan: bekerja dalam lseek kernel bug untuk berkas (%s) dari mt type=0x%00lx -- lihat <sys/mtio.h> untuk daftar dari type�berkas aneh�ketika memotong set1, string2 mungkin tidak kosong�ketika membaca nama berkas dari stdin, tidak ada nama berkas dari %s dibolehkan�ketika menspesifikasikan gaya keluaran, mode mungkin tidak diset�ketika menerjemahkan dengan kelas karakter komplemen, string2 harus memetakan seluruh karakter dalam domain ke satu�tidak akan disalin %s melalui baru-dibuat symlink %s�tidak akan membuah link keras %s ke direktori %s�tidak akan menimpa baru dibuat %s dengan %s�dengan --parents, tujuan harus berupa sebuah direktori�dengan --suffix, template %s harus berakhir dalam X�error menulis�error dalam penulisan untuk %s�tulis gagal�menulis ke %s�anda harus menspesifikasikan -c, -t, -u, -l, -r, atau konteks�anda harus menspesifikasikan sebuah daftar dari bytes, karakter, atau fields�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�%+% catatan masuk %+% catatan keluar �% rekaman terpotong �% rekaman terpotong �% byte (%s) tersalin�% byte (%s) tersalin�ofset terlalu besar: tidak dapat memotong ke panjang dari seek=% (%lu-byte) blok�gagal untuk memotong % byte dalam berkas keluaran %s�gagal untuk mengalokasikan sebuah % byte penyangga stdio �%s: %: baris checksum %s terformat secara tidak benar�nomor halaman dimulai dari % melebihi jumlah halaman %�Halaman %�overflow dalam % * % byte blok untuk berkas %s��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/lt.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001025511�12107204512�011742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-7.1 to Lithuanian # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Gintautas Miliauskas <gintas@akl.lt>, 2008, 2009. # Andrius Å tikonas <stikonas@gmail.com>, 2009. msgid "" msgstr "" "Project-Id-Version: coreutils-7.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2009-03-25 17:13+0200\n" "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "netaisyklingas argumentas %s %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "dviprasmis argumentas %s %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Galimi argumentai:" #: lib/closein.c:100 msgid "error closing file" msgstr "klaida užveriant failÄ…" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "raÅ¡ymo klaida" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "" #: lib/error.c:188 msgid "Unknown system error" msgstr "Nežinoma sistemos klaida" #: lib/file-type.c:38 msgid "regular empty file" msgstr "paprastas tuÅ¡Äias failas" #: lib/file-type.c:38 msgid "regular file" msgstr "paprastas failas" #: lib/file-type.c:41 msgid "directory" msgstr "aplankas" #: lib/file-type.c:44 msgid "block special file" msgstr "blokinis specialus failas" #: lib/file-type.c:47 msgid "character special file" msgstr "specialus simbolinis failas" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "simbolinÄ— nuoroda" #: lib/file-type.c:56 msgid "socket" msgstr "lizdas" #: lib/file-type.c:59 msgid "message queue" msgstr "praneÅ¡imų eilÄ—" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaforas" #: lib/file-type.c:65 msgid "shared memory object" msgstr "bendrosios atmintinÄ—s objektas" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tipizuotos atmintinÄ—s objektas" #: lib/file-type.c:70 msgid "weird file" msgstr "keistas failas" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Laikina vardo ieÅ¡kos (name resolution) klaida" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Bloga ai_flags reikÅ¡mÄ—" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Neatstatoma klaida su vardo susiejimu" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family nepalaikoma" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Atminties iÅ¡skyrimo klaida" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Su kompiuterio vardu nÄ—ra susietas adresas" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Vardas arba paslauga nežinomi" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname nÄ—ra suderinamas su ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype nÄ—ra palaikomas" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Sistemos klaida" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumento buferis per mažas" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Vyksta užklausos apdorojimas" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Užklausa nutraukta" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Užklausa nenutraukta" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Visos užklausos baigtos" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Nutraukta signalo" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Netaisyklingai užkoduota parametro eilutÄ—" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Nežinoma klaida" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: parametras `%s' dviprasmis\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: argumentas „--%s“ neleidžia parametro\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: argumentas „%c%s“ neleidžia parametro\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: parametrui „%s“ reikia argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neatpažintas argumentas „--%s“\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neatpažintas argumentas „%c%s“\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: netaisyklingas argumentas – %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: parametrui reikia argumento – %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: parametras „-W %s“ dviprasmis\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: parametras „-W %s“ neleidžia argumento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: parametrui „%s“ reikia argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "neįmanoma pakeisti %s teisių" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "neįmanoma sukurti %s aplanko" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "baigÄ—si atmintis" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "neįmanoma įraÅ¡yti dabartinio darbinio aplanko" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "nepavyko grįžti į pradinį darbinį aplankÄ…" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "“" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: failo pabaiga" #: lib/regcomp.c:131 msgid "Success" msgstr "SÄ—kmÄ—" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Netaisyklinga reguliarioji iÅ¡raiÅ¡ka" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Nesuderintas [ arba [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Nesuderintas ( arba \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Nesuderintas \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Netinkamas \\{\\} turinys" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "BaigÄ—si atmintis" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Nesuderintas ) arba \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "pavojinga dirbti rekursyviai su %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "pavojinga dirbti rekursyviai su %s (kaip ir %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "NorÄ—dami apeiti Å¡iÄ… apsaugÄ… naudokite --no-preserve-root" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYtT]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "nustatomos %s teisÄ—s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Sistemos klaida" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "negalima sukÅ«rti fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: raÅ¡ymo klaida" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv funkcija nepanaudojama" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "nÄ—ra iconv funkcijos" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "simbolis už intervalo ribų" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "negalima paversti U+%04X į vietinį simbolių rinkinį" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "negalima paversti U+%04X į vietinį simbolių rinkinį: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "nesamas naudotojas" #: lib/userspec.c:107 msgid "invalid group" msgstr "nesama grupÄ—" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencija GPLv3+: GNU GPL versija 3 arba naujesnÄ— <http://gnu.org/licenses/" "gpl.html>.\n" "Tai yra laisva programinÄ— įranga: jÅ«s esate laisvas keisti ir platinti jÄ….\n" "NÄ—ra JOKIOS GARANTIJOS, kiek tik tÄ… leidžia įstatymas.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Parašė %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Parašė %s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Parašė %s, %s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Parašė %s, %s, %s\n" "ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s, %s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s, %s, %s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s, %s, %s, %s\n" "ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s ir %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Parašė %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s ir kiti.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Apie klaidas praneÅ¡kite adresu <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Apie %s klaidas praneÅ¡kite adresu %s\n" #: lib/version-etc.c:251 src/system.h:573 #, fuzzy, c-format msgid "%s home page: <%s>\n" msgstr "Naudojimas: %s\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "nežinomas srautas" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "nepavyko paÅ¡alinti %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "nepavyko eiluÄių palyginimas" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Nustatykite LC_ALL='C', jei norite iÅ¡vengti problemos." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Lygintos eilutÄ—s %s ir %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "netinkamas argumentas %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "netinkamas argumentas %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s yra per didelis" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "skaitymo klaida" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "netinkama įvestis" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "papildomas operandas %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "užveriama standartinÄ— įvestis" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Naudojimas: %s VARDAS [GALŪNÄ–]\n" " arba: %s PARINKTIS\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Spausdinti VARDÄ„ su paÅ¡alintais aplankų komponentais.\n" "Jei nurodyta, taip pat paÅ¡alinti SUFIKSÄ„.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "trÅ«ksta operando" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Naudojimas: %s [PARAMETRAI]... [FAILAS]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t tas pats kaip -vT\n" " -T, --show-tabs rodyti TAB simbolį kaip ^I\n" " -u (ignoruojamas)\n" " -v, --show-nonprinting naudoti ^ ir M- žymÄ—jimÄ…, iÅ¡skyrus LFD ir TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Pavyzdžiai:\n" "%s f - g IÅ¡vesti f turinį, tada standartinÄ™ įvestį, poto g turinį.\n" "%s Kopijuoti standartinÄ™ įvestį į standartinÄ™ iÅ¡vestį.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "negaliu įvykdyti ioctl %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standartinÄ— iÅ¡vestis" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: įvesties failas yra iÅ¡vesties failas" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "negaliu pasiekti %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "negaliu perskaityti %s aplanko turinio" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "keiÄiamos %s teisÄ—s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "nepavyko fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "nepavyko fts_read" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Sekantys parametrai pakeiÄia aplankų peržiÅ«rÄ—jimo bÅ«dÄ…, kai yra pateiktas\n" "parametras -R. Jei yra pateikta daugiau parametrų, tada yra naudojama tik " "paskutinis.\n" " -H jei komandinÄ—s eilutÄ—s argumentas yra simbolinÄ— nuoroda\n" " į aplankÄ…, tada pakeis jį\n" " -L pakeisti kiekvienÄ… simbolinÄ™ nuorodÄ… į aplankÄ…, į kurį rodo\n" " simbolinÄ— nuoroda\n" " -P be simbolinių nuorodų pakeitimų (nutylint)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference reikalauja bent -H arba -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h reikalauja -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "po %s trÅ«ksta operando" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "nepavyko gauti %s parametrų" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "nesama grupÄ—: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Pavyzdžiai:\n" " %s staff /u GrupÄ—s /u pakeitimas į „staff“.\n" " %s -hR staff /u GrupÄ—s /u ir jos pofailių pakeitimas į „staff“.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "gaunami nauji %s parametrai" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "nei simbolinÄ— nuoroda %s nei referentas nebuvo pakeisti\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s teisÄ—s buvo pakeistos į %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "nepavyko pakeisti %s teisių į %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s teisÄ—s iÅ¡laikytos kaip %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "keiÄiamos %s teisÄ—s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: naujos teisÄ—s yra %s, o ne %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Naudojimas: %s [PARAMETRAS]... BŪSENA[,BŪSENA]... FAILAS...\n" " arba: %s [PARAMETRAS]... AÅ TUNT_BŪSENA FAILAS...\n" " arba: %s [PARAMETRAS]... --reference=NUOR_FAILAS FAILAS...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "nepavyksta suderinti režimo ir --reference parametro" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "netinkamas režimas: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s savininkas pakeistas į %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s grupÄ— pakeista į %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "nepakeistas %s savininkas\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "Nepavyko pakeisti %s savininko į %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "Nepavyko pakeisti %s grupÄ—s į %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "nepavyko pakeisti %s savininko\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "Nepavyko pakeisti %s savininko į %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "Nepavyko pakeisti %s grupÄ—s į %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s savininkas iÅ¡liko %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s grupÄ— iÅ¡liko %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s sÄ…vininkas iÅ¡laikytas\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "negalima nuimti rodyklÄ—s nuo %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "keiÄiamas %s savininkas" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "keiÄiama %s grupÄ—" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Naudojimas: %s [NUSTATYMAS]... [SAVININKAS][:[GRUPÄ–]] FAILAS...\n" " arba: %s [NUSTATYMAS]... --reference=RFAILAS FAILAS...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Savininkas nebus pakeistas, jei nebuvo duotas. GrupÄ— nebus pakeista, jei " "nebuvo duota; bet bus\n" "pakeista į pagrindinÄ™ grupÄ™, jei po SAVININKO buvo pateiktas „:“.\n" "SAVININKAI ir GRUPÄ– gali bÅ«ti pateikti kaip skaitiniai arba simboliniai.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Pavyzdžiai:\n" " %s root /u Pakeisti valdytojÄ… /u į \"root\".\n" " %s root:staff /u PanaÅ¡iai, bet ir pakeisti grupÄ™ į \"staff\".\n" " %s -hR root /u Pakeisti valdytojÄ… /u ir pofailius į \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "netinkama grupÄ— %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "netinkama grupÄ— %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "nepavyko užverti aplanko %s" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Naudojimas: %s NAUJAÅ AKNIS [KOMANDA...]\n" "arba: %s NUSTATYMAS\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Ä®vykdyti KOMANDÄ„ su Å¡akniniu aplanku, kuris nustatytas į NAUJAÅ AKNIS\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Jei nenurodyta komanda, vykdyti ``${SHELL} -i'' (numatytasis: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "nepavyko pakeisti Å¡akninio aplanko į %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nepavyko atverti Å¡akninio aplanko" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "nepavyko atverti %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "nepavyko atverti %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "nepavyko įvykdyti komandos %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: failas per ilgas" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Naudojimas: %s [FAILAS]...\n" " arba: %s [PARAMETRAS]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "IÅ¡raÅ¡o patikrinimo sumÄ… CRC ir kiekvieno FAILO baitų skaiÄių.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Naudojimas: %s [PARAMETRAS]... FAILAS1 FAILAS2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "Palyginti surikiuotus failus FAILAS1 ir FAILAS2 pagal kiekvienÄ… eilutÄ™.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "failas %d nesurikiuotas" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "neleidžiamas tuÅ¡Äias %s" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "klaida skaitant %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nepavyko įvykdyti lseek failui %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "klaida raÅ¡ant %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "nepavyko gauti %s parametrų" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "%s: raÅ¡ymo klaida" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "nepavyko atverti %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "nepavyko iÅ¡laikyti %s savininko" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "nepavyko rasti failo %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "nepavyko iÅ¡laikyti %s autoriaus" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "nepavyksta atverti skaitymui %s" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "nepavyksta įvykdyti fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "failas %s praleidžiamas, jis buvo pakeistas, kol buvo kopijuojamas" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "nepavyko paÅ¡alinti %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "paÅ¡alintas %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "nepavyko sukurti paprasto failo %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "nepavyko užverti aplanko %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "iÅ¡laikomos %s datos" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "nepavyko atverti %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: perraÅ¡yti %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (atsarginÄ— kopija: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "nepavyko sukurti kietosios nuorodos %s į %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "nepavyksta patikrinti %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "praleidžiamas aplankas %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "perspÄ—jimas: iÅ¡eities failas %s nurodytas kelis kartus" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s ir %s yra tas pats failas" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "nepavyksta perraÅ¡yti ne aplankÄ… %s naudojant aplankÄ… %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "nebus perraÅ¡oma, tik sukuriama %s su %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "nepavyko pakeisti aplanko %s su ne aplanku" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "nepavyko perkelti aplanko ant ne aplanko: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "saugojant %s bÅ«tų sunaikinta Å¡altinis; %s neperkelta" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "saugojant %s bÅ«tų sunaikintas Å¡altinis; %s nenukopijuota" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "nepavyko padaryti atsarginÄ—s %s kopijos" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "negalima kopijuoti aplanko %s į patį save, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "nepavyko sukurti kietosios nuorodos %s į aplankÄ… %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "nepavyko perkelti %s į žemiau esantį savo aplankÄ…, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "negaliu perkelti %s į %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "nepavyko perkÄ—limas tarp įrenginių: %s į %s; nepavyksta paÅ¡alinti tikslo" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "negalima nukopijuoti cikliÅ¡kos simbolines nuorodos %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: galima daryti simbolines nuorodas tik dabartiniame aplanke" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "nepavyksta susieti %s su %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "negalima sukÅ«rti fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "nepavyksta sukurti specialaus failo %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "negaliu perskaityti simbolinÄ—s nuorodos %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "negaliu sukurti simbolinÄ—s nuorodos %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s yra nežinomo tipo failas" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "nepavyko atkurti %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (atkurti)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "nepavyko iÅ¡laikyti %s laikų" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "nepavyko iÅ¡laikyti %s teisių" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "negalima sukerti %s aplanko" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s jau yra, bet nÄ—ra aplankas" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "nepavyko atverti %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "trÅ«ksta failo operando" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "trÅ«ksta paskirties failo operando po %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "Negalima suderinti --target-directory (-t) ir --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "paskirties vieta %s yra ne aplankas" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "naudojant --parents parametrÄ…, paskirties vieta privalo bÅ«ti aplankas" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "nurodyta keletas tikslo aplankų" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "nepavyksta sukurti simbolinių bei kietųjų saitų" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "parametrai --backup ir --no-clobber negali bÅ«ti naudojami kartu" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "atsarginÄ—s kopijos tipas" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: eilutÄ—s numeris už ribų" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: eilutÄ—s numeris už ribų" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: nerasta atitikimų" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "%s raÅ¡ymo klaida" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: po skirtuko tikimasi rasti sveikÄ…jį skaiÄių" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: „}“ yra privalomas kartojimo skaiÄiavime" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: tarp „{“ ir „}“ reikalingas sveikas skaiÄius" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: trÅ«ksta „%c“ uždaranÄiojo skirtuko" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: netaisyklinga paprasta iÅ¡raiÅ¡ka: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: netaisyklingas Å¡ablonas" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: eilutÄ—s numeris turi bÅ«ti didesnis už nulį" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "eilutÄ—s numeris %s mažesnis už prieÅ¡ jÄ… esanÄios eilutÄ—s numeris %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" "perspÄ—jimas: eilutÄ—s numeris %s yra toks pats, kaip prieÅ¡ jÄ… esanÄios eilutÄ—s" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: netaisyklingas skaiÄius" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Naudojimas: %s [PARAMETRAS]... FAILŲ Å ABLONAS...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "IÅ¡vedamos FAILO dalių, atskirtų Å ABLONU, į failus „xx00“, „xx01“, ...,\n" "ir į standartinÄ™ iÅ¡vestį iÅ¡vedamas baitų skaiÄius kiekvienoje dalyje.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=SKAITMENYS naudoti duotÄ… skaiÄių skaitmenų vietoj dviejų\n" " -s, --quiet, --silent nerodyti baitų skaiÄiaus paskirties failuose\n" " -z, --elide-empty-files paÅ¡alinti tuÅ¡Äius paskirties failus\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Jeigu FAILAS yra -, skaityti iÅ¡ standartinÄ—s įvesties. Galimi Å ABLONAI:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " SVEIKASIS_SKAIÄŒIUS kopijuoti iki eilutÄ—s su pateiktu SVEIKASIS_SKAIÄŒIUS " "numeriu\n" " /REGEXP/[POSLINKIS] kopijuoti iki tinkanÄios linijos, be jos paÄios " "įtraukimo\n" " %REGEXP%[POSLINKIS] praleisti viskÄ… iki tinkanÄios linijos, be jos paÄios " "įtraukimo\n" " {SVEIKASIS_SKAIÄŒIUS} kartoti prieÅ¡ tai buvusį Å¡ablonÄ… pateiktÄ… " "SVEIKASIS_SKAIÄŒIUS kartu\n" " {*} kartoti prieÅ¡ tai buvusį Å¡ablonÄ… kuo įmanoma daugiau kartu\n" "\n" "POSLINKIS turi susidÄ—ti iÅ¡ `+' arba `-' ir iÅ¡ sveikojo skaiÄiaus.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Naudojimas: %s PARAMETRAS... [FAILAS]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Spausdinti pasirinktas eilutes ekrane iÅ¡ kiekvieno FAILO.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=SÄ„RAÅ AS įraÅ¡yti tik tuos baitus\n" " -c, --characters=SÄ„RAÅ AS įraÅ¡yti tik tuos ženklus\n" " -d, --delimiter=SKIRTUKAS panaudoti SKIRTUKÄ„ vietoj TABo kaip laukų " "skirtukÄ….\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=SÄ„RAÅ AS pasirinkti tik tuos laukus; taip pat spausdinti " "linijas, kurios\n" " neturi skirtuko ženklo, nebent\n" " -s parametras yra apibrėžtas\n" " -n (ignoruojama)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement rinkinio papildymas pasirinktais baitais, ženklais\n" " arba laukais\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "turite pateikti baitų, ženklų ar laukų sÄ…rašą" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "laukelio numeris %s per didelis" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "gali bÅ«ti nurodytas tik vienas sÄ…raÅ¡o tipas" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "skirtukas turi bÅ«ti vienas simbolis" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "turite pateikti baitų, ženklų ar laukų sÄ…rašą" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "skirtukas gali bÅ«ti pateiktas tik operacijoms su laukais" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "linijų be skirtukų rodymo blokavimas yra prasmingas\n" "\ttik operacijoms su laukais" #: src/cut.c:870 msgid "missing list of fields" msgstr "trÅ«ksta laukų sÄ…raÅ¡o" #: src/cut.c:872 msgid "missing list of positions" msgstr "trÅ«ksta pozicijų sÄ…raÅ¡o" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Naudojimas: %s [PARAMETRAS]... [+FORMATAS]\n" " arba: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT kontroliuoja iÅ¡vedimÄ…. Vienintelis teisingas parametras antroje " "formoje tai\n" "apibrėžia universalųjį laikÄ…. Interpretuojamos sekos yra:\n" "\n" " %% procento ženklas %\n" " %a lokalusis savaitÄ—s dienos sutrumpinimas (pvz., pirm)\n" #: src/date.c:165 #, fuzzy msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokalusis savaitÄ—s dienos pilnas vardas (pvz., pirmadienis)\n" " %b lokalusis mÄ—nesio sutrumpinimas (pvz., Sau)\n" " %B lokalusis mÄ—nesio pilnas vardas (pvz., Sausis)\n" " %c lokalioji data ir laikas (pvz., antr Kov 3 23:05:25 2005)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Å¡imtmetis; kaip %Y, bet be dviejų paskutinių skaitmenų (pvz. 21)\n" " %d mÄ—nesio diena (pvz. 01)\n" " %D data; tas pats kaip %m/%d/%y\n" " %e mÄ—nesio diena papildyta tarpais; tas pats kaip $_d\n" #: src/date.c:177 #, fuzzy msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F pilna data; tas pats kaip %Y-%m-%d\n" " %g du paskutiniai metų skaitmenys atitinkantys ISO savaites numeriui " "(žiÅ«rÄ—kite %G)\n" " %G metai atitinkantys ISO savaitÄ—s numeriui (žiÅ«rÄ—kite %V); įprastai " "naudinga tik su %V\n" #: src/date.c:182 #, fuzzy msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h tas pats kaip %b\n" " %H valanda (00...23)\n" " %I valanda (01...12)\n" " %j metų diena (001...366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standartinÄ— įvestis" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "klaidinga data %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "buvo pateikta daug iÅ¡eities formatų" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "parametrai specifikuojantys datas spausdinimui iÅ¡skiria vieni kitus" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "parametrai datos ir laiko spausdinimui negali bÅ«ti naudojami kartu" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "negalima nustatyti datos" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "nepavyko paÅ¡alinti %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "raÅ¡oma į %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "nesamas naudotojas" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "klaidinga data %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "nesama grupÄ—" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "klaidinga data %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "nepavyksta suderinti režimo ir --reference parametro" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: nepavyksta praleisti" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "nepavyko atverti %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "nepavyko iÅ¡laikyti %s laikų" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Failų sistema" #: src/df.c:175 msgid "Type" msgstr "Tipas" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokų" #: src/df.c:181 msgid "Used" msgstr "Naud" #: src/df.c:184 msgid "Available" msgstr "Laisva" #: src/df.c:187 msgid "Use%" msgstr "Nd %" #: src/df.c:190 msgid "Inodes" msgstr "Inodes" #: src/df.c:193 msgid "IUsed" msgstr "INaud" #: src/df.c:196 msgid "IFree" msgstr "ILsv" #: src/df.c:199 msgid "IUse%" msgstr "INd %" #: src/df.c:202 msgid "Mounted on" msgstr "Prijungta prie" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "perspÄ—jimas: iÅ¡eities failas %s nurodytas kelis kartus" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Laisva" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "parametrai specifikuojantys datas spausdinimui iÅ¡skiria vieni kitus" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "DÄ—mesio: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "DÄ—mesio: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [FAILAS]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: neatpažintas raktažodis %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Naudojimas: %s [PARAMETRAS]... PAVADINIMAS?...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Pavyzdžiai:\n" " %s /usr/bin/sort IÅ¡vedimas „sort“.\n" " %s include/stdio.h .h IÅ¡vedimas „stdio“.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "nepavyko fts_read" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "netinkamas argumentas %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: skaitymo klaida" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "viso" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Naudojimas: %s [EILUTÄ–]...\n" " arba: %s PARINKTIS\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "nepavyksta paleisti %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "nepavyksta patikrinti %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "įvesties eilutÄ— per ilga" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sintaksÄ—s klaida" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "ne skaitinis argumentas" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "dalyba iÅ¡ nulio" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "nustatykite LC_ALL='C', kad iÅ¡vengtumÄ—te problemos" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "buvo palygintos eilutÄ—s %s ir %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s yra per didelis" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Naudojimas: %s [SKAIÄŒIUS]...\n" " arba: %s PARAMETRAS\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "nepavyko gauti esamo aplanko" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Naudojimas: %s [-PLOTIS] [PARAMETRAS]... [FAILAS]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "netinkamas plotis: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Naudojimas: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "Nepavyko pakeisti %s grupÄ—s į %s\n" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Naudojimas: %s [PARAMETRAS]... [NAUDOTOJO_VARDAS]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "negalima nustatyti datos" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "negalima nuimti rodyklÄ—s nuo %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "negalima nustatyti datos" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: nÄ—ra tokio naudotojo" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "nepavyko paÅ¡alinti %s" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "eiluÄių skaiÄius" #: src/head.c:886 msgid "number of bytes" msgstr "baitų skaiÄius" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [NAUDOTOJOVARDAS]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "negalima nuimti rodyklÄ—s nuo %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "negalima palyginti failų vardų %s ir %s" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr "uid=%lu" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 #, fuzzy msgid " groups=" msgstr " grupÄ—s=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "nepavyksta įvykdyti %s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "kuriamas aplankas %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "nepavyksta paleisti %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "netinkamas naudotojas %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "netinkamos teisÄ—s %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "parametrai specifikuojantys datas spausdinimui iÅ¡skiria vieni kitus" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "parametrai specifikuojantys datas spausdinimui iÅ¡skiria vieni kitus" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "netaisyklingas argumentas %s %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: nepavyksta perraÅ¡yti aplanko" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: pakeisti %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "negaliu sukurti simbolinÄ—s nuorodos %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "nepavyksta susieti %s su %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "nepavyko sukurti kietosios nuorodos %s į %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "nepavyko sukurti kietosios nuorodos %s į %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "nepavyko sukurti kietosios nuorodos %s į %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "Negalima suderinti --target-directory (-t) ir --no-target-directory (-T)" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "negaliu sukurti simbolinÄ—s nuorodos %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Naudojimas: %s [PARAMETRAS]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "iÅ¡vesti dabartinio naudotojo vardÄ….\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%Y-%m-%d" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%Y-%m-%d %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Galimi argumentai:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "neatpažintas prieÅ¡dÄ—lis: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "nepavyko atverti aplanko %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "skaitomas aplankas %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "užveriamas aplankas %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "negalima palyginti failų vardų %s ir %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "NEPAVYKO" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Naudojimas: %s [PARAMETRAS]... APLANKAS...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "sukurtas aplankas %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Naudojimas: %s [PARAMETRAS]... PAVADINIMAS?...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "netaisyklinga veiksena" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [Å ABLONAS]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "per daug Å¡ablonų" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Naudojimas: %s [PARAMETRAS] [KOMANDA [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Naudojimas: %s KOMANDA [ARG]...\n" " arba: %s PARAMETRAS\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "keiÄiama %s grupÄ—" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Naudojimas: %s [PARAMETRAS]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: netaisyklingas skaiÄius" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "netinkamas naudotojas %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "netinkama įvestis" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "nepavyksta atverti %s raÅ¡ymui" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "netinkamas naudotojas %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Naudojimas: %s [PARAMETRAS]... [NAUDOTOJAS]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "formatas %s neturi %% direktyvos" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "netaisyklingas datos formatas %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "netinkamas argumentas %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "klaidinga data %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "klaidinga data %s" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "klaida skaitant %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "nepavyko užverti aplanko %s" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tuÅ¡Äias failo pavadinimas" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Tikrame gyvenime: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projektas: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "Vardas" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Laisvas" #: src/pinky.c:411 msgid "When" msgstr "Kada" #: src/pinky.c:414 msgid "Where" msgstr "Kur" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Naudojimas: %s [PARAMETRAS]... [NAUDOTOJAS]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "netinkamas argumentas %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT kontroliuoja iÅ¡vedimÄ…. Vienintelis teisingas parametras antroje " "formoje tai\n" "apibrėžia universalųjį laikÄ…. Interpretuojamos sekos yra:\n" "\n" " %% procento ženklas %\n" " %a lokalusis savaitÄ—s dienos sutrumpinimas (pvz., pirm)\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Naudojimas: %s [PARAMETRAS]... FAILAS...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignoruojami visi argumentai" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: paÅ¡alinti apsaugotÄ… nuo raÅ¡ymo %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: paÅ¡alinti %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "Å¡alinamas aplankas: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "nepavyko paÅ¡alinti aplanko %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "nepavyko fts_read" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: rekursyviai paÅ¡alinti visus argumentus? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: paÅ¡alinti visus argumentus? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "Å¡alinamas aplankas, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "nepavyko paÅ¡alinti %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "formatas %s turi nežinomÄ… %%%c direktyvÄ…" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Naudojimas: %s KOMANDA [ARG]...\n" " arba: %s PARAMETRAS\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "nežinomas naudotojo-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: failas per didelis" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: Å¡alinama" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: paÅ¡alinta" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: blogas failo dydis" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Spausdinti pasirinktas eilutes ekrane iÅ¡ kiekvieno FAILO.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "nepavyksta sukurti laikino failo %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "" #: src/sort.c:970 msgid "fflush failed" msgstr "" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nepavyksta įvykdyti %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nepavyksta įvykdyti %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "netinkamas argumentas %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "dviprasmis argumentas %s %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s yra per didelis" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "" #: src/sort.c:1755 msgid "read failed" msgstr "" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: parametras `%s' dviprasmis\n" msgstr[1] "%s: parametras `%s' dviprasmis\n" msgstr[2] "%s: parametras `%s' dviprasmis\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "standartinÄ— klaida" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "negalima nustatyti datos" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: parametras `%s' dviprasmis\n" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "%s: netaisyklingas skaiÄius" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "%s: netaisyklingas skaiÄius" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "%s: netaisyklingas skaiÄius" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [Ä®VESTIS [PRIEÅ DÄ–LIS]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --complement rinkinio papildymas pasirinktais baitais, ženklais\n" " arba laukais\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "kuriamas failas %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "nepavyko paÅ¡alinti %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "užveriamas aplankas %s" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "užveriama standartinÄ— įvestis" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "nepavyko įvykdyti komandos %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "nepavyko užverti aplanko %s" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: netaisyklingas skaiÄius" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: netaisyklingas skaiÄius" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: blogas failo dydis" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "nepavyko sukurti paprasto failo %s" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "nepavyko atverti %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: neatpažintas argumentas „%c%s“\n" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: netinkama direktyva" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "užveriama standartinÄ— įvestis" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr "nepavyksta įvykdyti %s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Naudojimas: %s [PARAMETRAS]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "nepavyko atverti %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "nepavyko paÅ¡alinti %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "netinkamas argumentas %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignoruojami visi argumentai" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help parodyti Å¡iÄ… pagalbÄ… ir iÅ¡eiti\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version iÅ¡vesti informacijÄ… apie versijÄ… ir iÅ¡eiti\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Apie %s klaidas praneÅ¡kite adresu %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Bandykite „%s –help“, jei norite iÅ¡samesnÄ—s informacijos.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "įraÅ¡as per didelis" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "nepavyksta sukurti laikino failo %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "nepavyksta atverti %s raÅ¡ymui" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "nepavyko iÅ¡laikyti %s laikų" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: raÅ¡ymo klaida" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "nepavyksta atverti skaitymui %s" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "atskyriklis negali bÅ«ti tuÅ¡Äias" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nebeliko failų" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "neįmanoma sukurti %s aplanko" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "baigÄ—si atmintis" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "nepavyksta patikrinti %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "klaida skaitant %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "trÅ«ksta argumento po %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "netinkamas sveikasis skaiÄius %s" #: src/test.c:241 msgid "')' expected" msgstr "tikÄ—tasi „)“" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "tikÄ—tasi „)“, rasta %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: tikÄ—tasi unarinio operatoriaus" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt nepriima -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef nepriima -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot nepriima -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "nežinomas binarinis operatorius" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: tikÄ—tasi binarinio operatoriaus" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "trÅ«ksta „]“" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Naudojimas: %s KOMANDA [ARG]...\n" " arba: %s PARAMETRAS\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "klaida raÅ¡ant %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "netaisyklingas datos formatas %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Naudojimas: %s PARAMETRAS... FAILAS...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "negalima sukÅ«rti fifo %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "nurodyta keletas tikslo aplankų" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "privalote nurodyti vienÄ… iÅ¡ %s arba %s" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "privalote nurodyti vienÄ… iÅ¡ %s arba %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "nepavyksta atverti %s raÅ¡ymui" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: įvestis turi ciklÄ…:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "ne tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [Ä®VESTIS [IÅ VESTIS]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu naudotojas" msgstr[1] "%lu naudotojai" msgstr[2] "%lu naudotojų" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", vidutinÄ— apkrova: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "sistemos įkrova" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "PAVADINIMAS" #: src/who.c:559 msgid "LINE" msgstr "EILUTÄ–" #: src/who.c:559 msgid "TIME" msgstr "LAIKAS" #: src/who.c:559 msgid "IDLE" msgstr "LAISVA" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTARAS" #: src/who.c:560 msgid "EXIT" msgstr "IÅ EITI" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Naudojimas: %s [PARAMETRAS]... [ FAILAS | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "IÅ¡vesti informacijÄ… apie Å¡iuo metu prisijungusius naudotojus.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Naudojimas: %s [EILUTÄ–]...\n" " arba: %s PARINKTIS\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Pakartotinai iÅ¡vesti eilutÄ™ su nurodyta EILUTÄ–(Äių) reikÅ¡me, arba `y'.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "kuriamas failas %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Naudojimas: %s [PARAMETRAS]... [NAUDOTOJAS]...\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Pavyzdžiai:\n" #~ " %s /usr/bin/sort IÅ¡vedimas „sort“.\n" #~ " %s include/stdio.h .h IÅ¡vedimas „stdio“.\n" #~ msgid "reading %s" #~ msgstr "skaitoma %s" #~ msgid "writing %s" #~ msgstr "raÅ¡oma %s" #~ msgid "closing %s" #~ msgstr "uždaroma %s" #~ msgid "accessing %s" #~ msgstr "dirbama su %s" #~ msgid "opening %s" #~ msgstr "atveriamas %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Naudojimas: %s PAVADINIMAS\n" #~ " arba: %s PARAMETRAS\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "--reply parametras nebenaudojamas; vietoj jo naudokite -i arba -f" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Naudojimas: %s [PARAMETRAS]... FAILAS\n" #~ msgid "Password:" #~ msgstr "Slaptažodis:" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Naudojimas: %s [PARAMETRAS]... [-] [NAUDOTOJAS [ARG]...]\n" #~ msgid "user %s does not exist" #~ msgstr "naudotojas %s nerastas" #~ msgid "incorrect password" #~ msgstr "neteisingas slaptažodis" #~ msgid "warning: cannot change directory to %s" #~ msgstr "dÄ—mesio: nepavyko pakeisti aplanko į %s" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Teisių pakeitimas kiekvienam FAILAUI į TEISES.\n" #~ "\n" #~ " -c, --changes kaip verbose, bet praneÅ¡ti tik kai atliktas " #~ "pakeitimas\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Parodo dabartinį laikÄ… duotu FORMATU, arba nustatyti sisteminį laikÄ…\n" #~ " -d, --date=STRING parodo laikÄ… apibrėžtÄ… STRINGU, ne dabartinį (now)\n" #~ " -f, --file=DATAFILE kaip --date, vienÄ… kartÄ… kiekvienai linijai " #~ "DATAFILE faile\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: neleistinas parametras – %c\n" #~ msgid "invalid argument: %s" #~ msgstr "netinkamas argumentas: %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot create link %s" #~ msgstr "negaliu sukurti nuorodos %s" #~ msgid "cannot remove %s directory %s" #~ msgstr "nepavyksta paÅ¡alinti %s aplanko %s" #~ msgid "creating %s" #~ msgstr "kuriamas %s" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Atkreipkite dÄ—mesį, kad negalima kartu naudoti parametrų -r ir -s.\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Naudojimas: %s [PARAMETRAS] [FAILAS]...\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Naudojimas: %s [PARAMETRAI] FAILAS [...]\n" #~ msgid "cannot create temporary file" #~ msgstr "nepavyko sukurti laikino failo" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Naudojimas: %s [PARAMETRAS] FAILAS...\n" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld diena" #~ msgstr[1] "%ld dienos" #~ msgstr[2] "%ld dienų" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Naudojimas: %s [PARAMETRAS]... [ FAILAS ]\n" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/el.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000065025�12107204515�012075� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����¾������ ����ü ���������¡�����#��£����Ç��þ��Ü��,���Û�� ������������������%�����:��/���J�����z��>���“��B���Ò��,��������B��8���R�����‹�����¨�����Ã�����Õ�����ð��$��������3��;���C����������’�����®�����Ê�����è��"���ü��)��������I��"���f�����‰�����œ�����µ�����Ð�� ���ß�� ���ë��"���ø������������ ���3�����>�����E�����J�����d��#���u��*���™�����Ä��&���Ç�����î����� �������*���3�����^�� ���f��$���s��$���˜�� ���½�����Ë��(���à��&��� ��"���0��"���S�� ���v��'���—��Z���¿������� ���/�����9��#���P�����t�����”�����°��<���À�����ý���������� ��*��� �����6�� ���S�����_��#���r��*���–�����Á��,���á����������)�����G��(���a��.���Š��2���¹�����ì��5��������=��8���M��&���†��!���­�����Ï�����æ�����ù�� ��� ����� ��"���- �����P �����a ��#���r ��'���– �����¾ �����à ��=���ß ��:���!�����X!�����j!��*���…!��-���°!�� ���Þ!�����ì!�� ���ý!����� "�����"�����5"�����M"�����a"�� ���u"�����‚"�� ���“"��/���¡"��-���Ñ"��&���ÿ"��$���&#�����K#�����b#�����|#��"���•#��7���¸#��=���ð#�����.$��-���A$�� ���o$�����y$�����‰$��4���™$��&���Î$�� ���õ$�����%�����%��>���/%�� ���n%�� ���y%�����…%�� ���˜%�� ���¥%�����¯%�����É%�����Ð%�����ß%�����î%�����&�����&�����0&��J���M&�� ���˜&�����¦&�����»&��H���×&��?��� '��=���`'��>���ž'��3���Ý'��(���(��>���:(��/���y(�����©(��3���¯(�����ã(��H���û(��2���D)��=���w)��7���µ)�� ���í)��3���ø)��5���,*��j���b*�� ���Í*�� ���Ù*��7���æ*��p��+����,��­��«-��r��Y0�� ��Ì2��\���m7��,���Ê7�����÷7�� ���8��>���8��(���P8��e���y8��<���ß8��–���9�����³9��c���5:�����™:��}���·:��7���5;��>���m;��6���¬;��2���ã;��N���<��J���e<��I���°<��„���ú<��&���=��3���¦=��5���Ú=��A���>�� ���R>��9���s>��o���­>��=���?��D���[?��#��� ?��"���Ä?��$���ç?��#��� @�����0@�����G@��B���b@�����¥@��)���¨@�����Ò@�����ç@�� ���ü@��>��� A��$���HA��c���mA��^���ÑA�����0B��q���?B��N���±B��"����C��)���#C��O���MC�����C��!���®C��O���ÐC��X��� D�����yD��0���•D��>���ÆD��>���E��?���DE��A���„E��7���ÆE��C���þE��‹���BF��)���ÎF�����øF��4���G��A���IG��=���‹G��9���ÉG��*���H��Š���.H�� ���¹H�� ���ÃH�����ÍH��u���ÐH��&���FI��2���mI��$��� I��d���ÅI�����*J��?���¸J��i���øJ��<���bK��O���ŸK��Y���ïK��m���IL��k���·L��„���#M��I���¨M��–���òM��<���‰N��’���ÆN��o���YO��~���ÉO��.���HP��"���wP��O���šP�����êP��A���ýP��S���?Q��"���“Q�� ���¶Q��F���×Q��I���R�����hR��>���qR��œ���°R��r���MS��*���ÀS��+���ëS��U���T��X���mT�����ÆT�����ãT�� ���U��%���$U��/���JU��8���zU��+���³U��3���ßU��"���V��$���6V�����[V��H���wV��_���ÀV��^��� W��e���W��@���åW��D���&X��.���kX��f���šX��~���Y��}���€Y��,���þY��v���+Z�����¢Z�����¹Z�����ÕZ��|���óZ��H���p[��%���¹[��?���ß[��%���\��ˆ���E\�����Î\��#���î\��&���]�����9]�����W]��F���j]�����±]�����Ä]�����â]��@���^�����C^��D���a^��F���¦^��¢���í^��'���_��P���¸_��q��� `��™���{`�����a��}���•a��}���b��v���‘b��]���c��§���fc��U���d�� ���dd��~���qd��$���ðd��Œ���e��n���¢e��¯���f��X���Áf�����g��‰���8g��³���Âg����vh�����xi��!���–i��\���¸i������������£������:����������5���’���w���¯����������~�����������o�������|�������¦���œ�������¬���ƒ���{���‡���/���=�������8���H���F���P��������� �������+���_���X����������²���`���������������K���°�������„����������™��� ���®���9���2�����������*�������¶���³���º�������š���B���¤���������� �����������@�������}����������G���±��������������©��� ���0�����������m���;�������&�������Q�������N���>���§�����������������¨���'���(���^�������i���A�����������������n���.���‘���4���—���1���»���I���R��� ���O������ª���<���¹���c�����������k���…���v���Y��������������,�����������V�������¥���L���[��������������‚���C���Œ���¡���#���´���z���•���q�������?���f�������‰���e���–������� ������‹���p���›���!���T���]���6���U���)���Ž���7������ˆ�����������y���%������«���h���­���g���ž���d�������¼���s���r���a���†����������t���b���”���¾�������������l��� ���¢����������j���€�������·�������$���S�������M�������“���½���D�������x���Ÿ���J���Z���E���u����������������µ�����������������¸�������W�������3���"���-���˜���\���Š��������������� As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � --help display this help and exit � (backup: %s)� groups=� old �%s -> %s (unbackup) �%s is too large�%s: %s is so large that it is not representable�%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot follow end of this type of file; giving up on this name�%s: cannot shred append-only file descriptor�%s: end of file�%s: equivalence class operand must be a single character�%s: expected a numeric value�%s: file has negative size�%s: file too long�%s: input contains a loop:�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid pattern�%s: invalid regular expression: %s�%s: line number must be greater than zero�%s: line number out of range�%s: new permissions are %s, not %s�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: read error�%s: removed�%s: removing�%s: value not completely converted�'�, load average: %.2f�<internal>�FAILED�LINE�Memory allocation failure�Memory exhausted�No address associated with hostname�Non-recoverable failure in name resolution�OK�Parameter string not correctly encoded�Processing request in progress�Request canceled�Request not canceled�Set LC_ALL='C' to work around the problem.�Success�System error�Temporary failure in name resolution�The strings compared were %s and %s.�Unknown error�Unknown system error�Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Valid arguments are:�Warning: �Written by %s and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ambiguous argument %s for %s�backup type�block special file�both files cannot be standard input�cannot both summarize and show all entries�cannot change permissions of %s�cannot copy a directory, %s, into itself, %s�cannot create directory %s�cannot create special file %s�cannot determine hostname�cannot make both hard and symbolic links�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot print only names or real IDs in default format�cannot set date�cannot set hostname; this system lacks the functionality�cannot skip past end of combined input�cannot split in more than one way�character special file�closing %s (fd=%d)�couldn't get boot time�directory�error closing file�error in regular expression search�error reading %s�error writing %s�failed to change group of %s to %s �failed to change ownership of %s to %s �fifo�group of %s retained as %s �ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid width in environment variable COLUMNS: %s�input disappeared�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid group�invalid group %s�invalid input�invalid number %s�invalid number of bytes�invalid number of lines�invalid output flag�invalid status flag�invalid user�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand after %s�mode of %s retained as %04lo (%s) �neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no files remaining�no type may be specified when dumping strings�not a tty�number of bytes�number of lines�only one [c*] repeat construct may appear in string2�only one type of list may be specified�open failed�page width too narrow�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�regular empty file�regular file�semaphore�separator cannot be empty�socket�standard error�standard input�standard input is closed�standard output�string comparison failed�string transformation failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�tab size cannot be 0�tab sizes must be ascending�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options to print and set the time may not be used together�too many %% conversion specifications in suffix�total�unparsable value for LS_COLORS environment variable�unrecognized operand %s�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: summarizing is the same as using --max-depth=0�weird file�when not truncating set1, string2 must be non-empty�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�write error�write failed�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 7.2 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2009-04-29 22:18+0200 Last-Translator: Simos Xenitellis <simos.lists@googlemail.com> Language-Team: Greek <team@lists.gnome.gr> Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit � Σαν ειδική πεÏίπτωση, η cp δημιουÏγεί αντίγÏαφα της ΠΗΓΗΣ όταν οι επιλογές και τα ΠΗΓΗ και ΠΡΟΟΡΙΣΜΟΣ έχουν το ίδιο όνομα, για ένα υπάÏχον, κανονικό αÏχείο. � ΠÏοσέχτε οτι πολλοί τελεστές(operators) χÏειάζονται χαÏακτήÏες διαφυγής ή εισαγωγικά για τα κελÏφη (shells). Οι συγκÏίσεις είναι αÏιθμητικές εάν και οι δυο ΠΑΡΑΜετÏοι είναι αÏιθμοί, ή αλλιώς λεξικογÏαφικοί. Το ταίÏιασμα με Ï€Ïότυπο επιστÏέφει την αλυσίδα που βÏέθηκε Î¼ÎµÏ„Î±Î¾Ï \( και \) ή κενό. Εαν \( και \) δεν χÏησιμοποιήθηκαν, τοτε επιστÏέφει τον αÏιθμό των χαÏακτήÏων που ταίÏιαξαν ή 0. � ΧειÏίζεται την 'tty' γÏαμμή που συνδέεται με την τυπική είσοδο. ΧωÏίς παÏαμέτÏους, εκτυπώνει την ταχÏτητα, την κατάσταση της γÏαμμής, και τις εφαÏμοσμένες μετατÏοπές από το 'stty sane'. Στις επιλογές, ο ΧΑΡακτήÏας εκλαμβάνεται κυÏιολεκτικά, ή κωδικοποιείται οπως ^c, 0x37, 0177 ή 127. Eιδικές τιμές όπως ^- ή το undef απενεÏγοποιοÏσαν τους ειδικοÏÏ‚ χαÏακτήÏες. � ΜετάφÏαση συμβαίνει όταν δε δίνεται το -d και εμφανίζονται και τα δÏο ΣΥÎΟΛΟ1 και ΣΥÎΟΛΟ2. Το -t μποÏεί να χÏησιμοποιηθεί μόνο στη μετάφÏαση Το ΣΥÎΟΛΟ2 αναπτÏσσεται στο μήκος του ΣΥÎΟΛΟ1 με επανάληψη του τελευταίου χαÏακτήÏα, όπως χÏειάζεται. Κατά υπέÏβαση χαÏακτήÏες του ΣΥÎΟΛΟ2 αγνοοÏνται Μόνο τα [:lower:] και [:upper:] εγγυόνται την ανάπτυξη σε αÏξουσα σειÏά· όταν χÏησιμοποιοÏνται στο ΣΥÎΟΛΟ2 στη μετάφÏαση, μποÏοÏν να χÏησιμοποιηθοÏν μόνο σε ζεÏγη για να οÏίσουν μετατÏοπή Î¼ÎµÏ„Î±Î¾Ï Ï€ÎµÎ¶ÏŽÎ½/κεφαλαίων. Το -s κάνει χÏήση του ΣΥÎΟΛΟ1 αν δε μεταφÏάζει ή διαγÏάφει· διαφοÏετικά συμπυκνώνει κάνωντας χÏήση του ΣΥÎΟΛΟ2 και συμβαίνει μετά από μετάφÏαση ή διαγÏαφή � --help εμφάνιση αυτής της βοήθειας και έξοδος � (αντίγÏαφο ασφαλείας: %s)� ομάδες=�παλιά�%s -> %s (χÏήση αντιγÏάφου ασφαλείας) �το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿�%s: το %s είναι τόσο μεγάλο που δε μποÏεί να αναπαÏασταθεί�%s: ΑÎΕΠΙΤΥΧΕΣ άνοιγμα ή ανάγνωση �%s: δυνατότητα δημιουÏγίας σχετικών συμβολικών συνδέσμων μόνο στο Ï„Ïέχον κατάλογο�%s: αδÏνατη η ακολοÏθηση του τέλους Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… είδους αÏχείου· παÏάκαμψη�%s: αδυναμία διάλυσης μόνο-Ï€Ïοσθήκη πεÏιγÏαφέα αÏχείου�%s: τέλος αÏχείου�%s: ο τελεστής ισοδυναμίας τάξης Ï€Ïέπει να είναι ένας μόνο χαÏακτήÏας�%s: αναμενόταν αÏιθμητική τιμή.�%s: το αÏχείο έχει αÏνητικό μέγεθος�%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿�%s: η είσοδος πεÏιέχει βÏόχο:�%s: το αÏχείο εισόδου είναι το αÏχείο εξόδου�%s: αναμενόταν ακέÏαιος μετά τον οÏιοθέτη�%s: μη έγκυÏος πεÏιγÏαφέας διεÏγασίας (PID)�%s: μη έγκυÏος μέγιστος αÏιθμός από χωÏίς μεταβολή `stats' Î¼ÎµÏ„Î±Î¾Ï Î±Î½Î¿Î¹Î³Î¼Î¬Ï„Ï‰Î½�%s: μη έγκυÏος αÏιθμός�%s: μη έγκυÏος αÏιθμός από bytes�%s: μη έγκυÏος αÏιθμός γÏαμμών�%s: μη έγκυÏος αÏιθμός δευτεÏολέπτων�%s: μη έγκυÏη μοÏφή�%s: μη έγκυÏη κανονική έκφÏαση: %s�%s: ο αÏιθμός γÏαμμής Ï€Ïέπει να είναι μεγαλÏτεÏος από το μηδέν�%s: αÏιθμός γÏαμμής έξω από τα ÏŒÏια�%s: τα νέα δικαιώματα είναι %s, και όχι %s�%s: αντικατάσταση %s; �%s: πέÏασμα %lu/%lu (%s)...�%s: πέÏασμα %lu/%lu (%s)...%s�%s: σφάλμα ανάγνωσης�%s: διεγÏάφει�%s: διαγÏάφεται�%s: η τιμή δεν έχει πλήÏως μετατÏαπεί.�»�, Μέσος ÏŒÏος φόÏτου: %.2f�<εσωτεÏικό>�ΑÎΕΠΙΤΥΧΕΣ�ΓΡΑΜΜΗ�Σφάλμα κατά την καταχώÏιση μνήμης�Η μνήμη εξαντλήθηκε�Δεν υπάÏχει διεÏθυνση συσχετισμένη με το όνομα κόμβου�Μη-επανοÏθώσιμη αποτυχία κατά την ανάλυση ονόματος�ΕÎΤΑΞΕΙ�Η συμβολοσειÏά των παÏαμέτÏων δεν είναι κωδικοποιημένη σωστά�Η επεξεÏγασία της αίτησης είναι σε εξέλιξη�Η αίτηση ακυÏώθηκε�Η αίτηση δεν ακυÏώθηκε�Θέστε LC_ALL='C' για να παÏακάμψετε το Ï€Ïόβλημα.�Επιτυχία�Σφάλμα συστήματος�ΠÏοσωÏινό σφάλμα κατά την ανάλυση ονόματος�Οι συμβολοσειÏές που συγκÏίθηκαν ήταν οι %s και %s�Άγνωστο σφάλμα�Άγνωστο σφάλμα συστήματος�ΧÏήση: %s [ΤΕΛΕΣΤΗΣ]... ή: %s ΕΠΙΛΟΓΗ �ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ ΜΟΡΦΗ... �ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2 �ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2] �ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]... �ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]] �ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωÏίς -G) ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]] �ΈγκυÏα οÏίσματα είναι:�ΠÏοειδοποίηση:�ΓÏάφτηκε από τον/την %s και %s. �ΓÏάφτηκε από τον/την %s, %s, %s, %s, και %s. �ΓÏάφτηκε από τον/την %s, %s, %s, και %s. �ΓÏάφτηκε από τον/την %s, %s, και %s. �ΓÏαμμένο από τον/την %s. �εκφÏάσεις [=c=] δεν μποÏοÏν να εμφανίζονται στο αλφαÏιθμητικό 2 στη μετάφÏαση�^[nNοΟ]�^[yYνÎ]�«�Μια εντολή Ï€Ïέπει να δίνεται με μια Ï€ÏοσαÏμογή (Ï€ÏοτεÏαιότητας).�ασαφές ÏŒÏισμα %s για %s�είδος αντιγÏάφου ασφάλειας�ειδικό αÏχείο μπλοκ�και τα δÏο αÏχεία δε μποÏεί να είναι η κανονική είσοδος�δεν είναι δυνατό να δειχτεί πεÏίληψη και να εμφανιστοÏν όλες οι καταχωÏίσεις�αδÏνατη η αλλαγή δικαιωμάτων του %s�αδÏνατη η αντιγÏαφή του καταλόγου %s μέσα στον εαυτό του, %s�αδÏνατη η δημιουÏγία καταλόγου %s�αδυναμία δημιουÏγίας του ÎµÎ¹Î´Î¹ÎºÎ¿Ï Î±Ïχείου %s�Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος�αδυναμία δημιουÏγίας σθεναÏών(hard) και συμβολικών συνδέσμων�αδÏνατη η μετακίνηση του %s σε υποκατάλογο του ÎµÎ±Ï…Ï„Î¿Ï Ï„Î¿Ï…, %s�αδÏνατη η μετακίνηση του καταλόγου σε κάτι που δεν είναι κατάλογος: %s -> %s�αδυναμία ανοίγματος του %s Ï€Ïος ανάγνωση�Δεν μποÏεί να εκτυπωθοÏν μόνο ονόματα ή Ï€Ïαγματική ταυτότητα(read ID) σε τυπική μοÏφή�Δεν μποÏεί να τεθεί η ημεÏομηνία.�Δεν μποÏεί να τεθεί το όνομα συστήματος. Λείπει αυτή η λειτουÏγία απο το σÏστημα�αδυναμία Ï€ÏοσπέÏασης μετά το τέλος της συνδυασμένης εισόδου�δεν είναι δυνατό να γίνει διαχωÏισμός σε πεÏισσότεÏους από ένα Ï„Ïόπο�ειδικό αÏχείο χαÏακτήÏων�κλείσιμο του %s (fd=%d)�Δεν είναι δυνατόν να βÏεθεί η ÏŽÏα εκκίνησης�κατάλογος�σφάλμα κατά το κλείσιμο του αÏχείου�σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης�σφάλμα ανάγνωσης %s�σφάλμα εγγÏαφής %s�αποτυχία αλλαγής της ομάδας από %s σε %s �αποτυχία αλλαγής ιδιοκτησίας από %s σε %s �φίφο�η ομάδα του %s έχει παÏαμείνει σε %s �αγνοείται μη έγκυÏο μέγεθος οÏιζόντιου στηλοθέτη στη μεταβλητή πεÏιβάλλοντος TABSIZE: %s�αγνοείται μη έγκυÏο πλάτος στη μεταβλητή πεÏιβάλλοντος COLUMNS: %s�η είσοδος εξαφανίστηκε�μη έγκυÏο ÏŒÏισμα %s για %s�μη έγκυÏος δηλωτής μετατÏοπής στην κατάληξη: %c�μη έγκυÏος δηλωτής μετατÏοπής στην κατάληξη: \%.3o�μη έγκυÏη ομάδα�μη έγκυÏη ομάδα %s�Μη έγκυÏη είσοδος�μη έγκυÏος αÏιθμός %s�μη έγκυÏος αÏιθμός από bytes�μη έγκυÏος αÏιθμός από γÏαμμές�μη έγκυÏη σημαία εξόδου�μη έγκυÏη σημαία κατάστασης�μη έγκυÏος χÏήστης�η μνήμη εξαντλήθηκε�ουÏά μηνυμάτων�κακώς στοιχισμένη δομή [:upper:] και/ή [:lower:]�έχει παÏαληφθεί η δήλωση μετατÏοπής %% στην κατάληξη�έχει παÏαληφθεί ο δηλωτής μετατÏοπής στην κατάληξη�Λείπει ο δεκαεξαδικός αÏιθμός στον χαÏακτήÏα διαφυγής.�έχει παÏαληφθεί η λίστα με τα πεδία�έχει παÏαληφθεί η λίστα με τις θέσεις�λείπει τελεστής μετά το %s�τα δικαιώματα του %s διατηÏοÏνται ως έχουν, δηλαδή %04lo (%s) �οÏτε ο συμβολικός σÏνδεσμος %s οÏτε το αναφεÏόμενο αÏχείο αλλάχτηκαν �δεν υπάÏχει μεταβλητή πεÏιβάλλοντος SHELL, και δεν δόθηκε είδος φλοιοÏ�δεν υπολείπονται αÏχεία�κανένα είδος δε μποÏεί να δηλωθεί όταν τυπώνονται αλφαÏιθμητικά�δεν είναι tty'�αÏιθμός από bytes�αÏιθμός γÏαμμών�μόνο μια δομή επανάληψης [c*] μποÏεί να εμφανιστεί στο αλφαÏιθμητικό2�μόνο ένα είδος λίστας μποÏεί να οÏιστεί�αποτυχία ανοίγματος�το πλάτος σελίδας είναι Ï€Î¿Î»Ï ÏƒÏ„ÎµÎ½ÏŒ�διατήÏηση ωÏών στο %s�εκτÏπωση όλων των διπλών γÏαμμών και μετÏητών επαναλήψεων δεν έχει έννοια�σφάλμα ανάγνωσης�αποτυχία ανάγνωσης�κανονικό κενό αÏχείο�κανονικό αÏχείο�σημαφόÏος�ο διαχωÏιστής δε μποÏεί να είναι κενός�υποδοχέας�κανονικό σφάλμα�κανονική είσοδος�η κανονική είσοδος είναι κλεισμένη�κανονική έξοδος�η σÏγκÏιση των συμβολοσειÏών απέτυχε�Η μετατÏοπή της συμβολοσειÏάς απέτυχε�η απόκÏυψη γÏαμμών που δεν έχουν διαχωÏιστές έχει νόημα μόνο όταν λειτουÏγοÏμε με πεδία�συμβολικός σÏνδεσμος�το μέγεθος στηλογνώμονα δε μποÏεί να είναι 0�τα μεγέθη του στηλογνώμονα Ï€Ïέπει να είναι κατά αÏξουσα σειÏά�οι επιλογές --binary και --text δεν έχουν σημασία όταν επιβεβαιώνονται αθÏοίσματα ελέγχου�η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου�η επιλογή --warn έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου�η δομή [c*] μποÏεί να εμφανιστεί στο αλφαÏιθμητικό2 μόνο στη μετάφÏαση�η δομή επανάληψης [c*] δε μποÏεί να εμφανίζεται στο αλφαÏιθμητικό1�ο διαχωÏιστής Ï€Ïέπει να είναι ένας μόνο χαÏακτήÏας�Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να χÏησιμοποιηθοÏν παÏάλληλα.�πάÏα πολλές δηλώσεις μετατÏοπής στην κατάληξη�σÏνολο�τιμή που δε μποÏεί να αναγνωÏιστεί στη μεταβλητή πεÏιβάλλοντος LS_COLORS�άγνωστος τελεστής %s�ΠΡΟΣΟΧΗ: %s: οι χαÏακτήÏες που ακολουθοÏσαν τον χαÏακτήÏα σταθεÏά αγνοήθηκαν.�Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα�Ï€Ïοειδοποίηση: ο πεÏιγÏαφέας διεÏγασίας αγνοείτε· το --pid=PID είναι χÏήσιμο μόνο σε παÏακολοÏθηση�Ï€Ïοειδοποίηση: η πεÏίληψη είναι όμοιο με --max-depth=0�παÏάξενο αÏχείο�όταν δεν αποκόπτεται το σÏνολο1, το αλφαÏιθμητικό 2 Ï€Ïέπει να μην είναι κενό�Οταν καθοÏίζεται ένας Ï„Ïπος εξόδου, οι καταστάσεις λειτουÏγίας (modes) δεν είναι δυνατόν να οÏιστοÏν�όταν γίνεται μετάφÏαση με συμπλήÏωμα τάξης χαÏακτήÏων, το αλφαÏιθμητικό 2 Ï€Ïέπει να αντιστοιχίζει όλους τους χαÏακτήÏες στην πεÏιοχή με ένα�σφάλμα εγγÏαφής�αποτυχία εγγÏαφής�Ï€Ïέπει να οÏίσετε λίστα από bytes, χαÏακτήÏες ή πεδία������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/cs.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001264705�12107204515�012111� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������LŠ�����MŠ��¬���OŠ��¡���üŠ��6��ž‹��ø���ÕŒ��¾���Î��¿���Ž��Â���M��ª�����G��»��ù���’��º���ý’��p���¸“��!��)”��¼���K•��©��–��w��²—��5��*™��R��`š��~���³›�� ���2œ��\���@œ��w���œ��T�����G���j��]���²��ï���ž��w����Ÿ��¡���xŸ��#�� ����>¡��š���C¢��Ä���Þ¢��D��££��7��è¥��z��� §����›§�����¨��Þ���+©��i��� ª��J���tª��·��¿ª��›���w¬�����­��¸���•­��ˆ���N®��È���×®��„��� ¯��M��%°��à���s±��›���T²��š��ð²��—���‹´��Ó���#µ��`���÷µ��‚���X¶�����Û¶����Ü·��>���ñ¸��3��0¹��|���dº��Ý���áº��K��¿»��=��� ½��l���I½��0���¶½��D���ç½����,¾��ž��F¿��K��åÀ��Ê���1Â��–���üÂ��-��“Ã��Ê���ÁÅ��ç���ŒÆ��J���tÇ��ð���¿Ç����°È��‡���ÁÉ��¾���IÊ��á���Ë��E���êË��>���0Ì��Ë���oÌ��Œ���;Í��ü���ÈÍ��æ���ÅÎ��¿���¬Ï����lÐ��9���~Ñ�����¸Ñ�����ÏÑ��t��äÑ��¼���YÓ��ó���Ô��š��� Õ��¾���¥Õ��F��dÖ��Ì���«×��°���xØ��Ü���)Ù����Ú��Ð��Û�� ��ëÜ����� Þ���� ß��Ð�� à��y���ñá��þ��kâ�����jä��1��zä��Ë���¬ç��‰���xè����é��H��� ê��7���iê��¼���¡ê��F���^ë��ì���¥ë��v���’ì�� ��� í��¡��í��¾��·î��Ð��vð��u���Gò��F��½ò��q���õ��[��võ��:���Òö��æ��� ÷��J���ô÷��1��?ø��S��qù��u���Åú��N���;û��S��Šû��u���Þü��ë���Tý��›���@þ��†���Üþ��,���cÿ��“��ÿ��ƒ���$�º���¨���c����{����û�ß���Œ�è��l�C��U�\��™�‹���ö �Õ��‚ �i���X �A��� �x����v���}�Ø��ô�š���Í���h�Â���~�I���A�·���‹�›���C�z���ß�3���Z�û��Ž�g��Š�G���ò�J���:�p���…�5���ö�s���,��� �3��¿���ó�I���×���\�ò���4 �É���'!�Ê���ñ!�ð���¼"�–��­#�Ô���D%�"��&�Ó���<'�¬���(�¤���½(�i���b)�õ���Ì)�˜���Â*���[+�Z���l,�ù���Ç,����Á-�.��O.�Å��~/�ž���D1�G��ã1�È���+3�M��ô3�5���B5�4���x5�‰���­5�Â��76�F���ú7�Ò���A8�Ö���9�µ��ë9�©��¡<�O��K>�í��›?���‰A� ��C�£��&D�y��ÊE� ��DG�o���eH�n���ÕH�\��DI�'��¡J� ��ÉL�B���ÖM�F���N���`N�Ë��{O���GQ�9��fR��� S���ÀT�¢���QV�Ö���ôV�¡��ËW�Ê���mY�E���8Z�J���~Z�Ò���ÉZ� ��œ[���ª\�º��¹]�×���t_�&��L`�¹��sa�¿���-c���íc�Ý���óf�+���Ñg�N���ýg�Ò���Lh�’���i�°���²i�Ë���cj�»���/k�¡��ëk�›���m�…��)n�È���¯o�B���xp���»p�u���Ðq���Fr�1���\s�±��Žs�ò���@u�G���3v����{v�Ë��� w�ƒ���×w�ƒ���[x�k��ßx�‚��K{�¢��Î|�4��q~���¦���¸€�´��Ë�í���€ƒ� ��n„�ª��y…���$‡�Ó���*ˆ�<���þˆ�‘���;‰�Ò���͉�º�� Š�ª��[Œ�K���Ž���RŽ�ü���W�Ä���T�z���‘�þ���”‘�µ���“’�ô��I“�Ï���>•����–�f��ž–�5��˜�ˆ���;™�1���Ä™�û��ö™�H���ò›�;��;œ�B���w�Æ���º�!��ž�È���£ �ý���l¡�q��j¢�Y��Ü£�ü���6¥�L���3¦�×���€¦�T��X§�#��­¨�Ç���Ñ©�÷��™ª�Þ���‘¬�³��p­�ƒ���$¯�Ñ���¨¯�V��z°�i���ѱ�Í���;²�Ä��� ³�Ñ���γ�ë��� ´�K��Œµ���ض�D��ç·����,¹�Ó���º¹�Ä��Žº�I���S¼���¼���»½�H���I¿�3���’¿�O��Æ¿�c��Â� ��zÃ�=��›Ä���ÙÅ�ê��ôÆ�*��ßÈ�’��� Ê�F���Ê�C���äÊ�X��(Ë�>���Ì�?���ÀÌ� ���Í�«��� Î�9���·Î�S���ñÎ�š��EÏ�m���àÐ�û���NÑ�ä���JÒ�¨��/Ó�I��ØÔ�§���"×�$���Ê×�(���ï×�<���Ø�ú���UØ�$���PÙ�%���uÙ�*���›Ù���ÆÙ�:���åÚ�}��� Û�|���žÛ�"��Ü�&���>Þ� ���eÞ�9���†Þ�#���ÀÞ�$���äÞ�!��� ß�E���+ß�Ý���qß�:���Oà�}���Šà�:���á�,���Cá�"���pá� ���“á� ���žá�ç���¬á�,��”â�X��Áã�;���å�|��Vå���Óæ�Ô���çç�Ü���¼è�þ���™é� ���˜ê����£ê� ���¨ê����´ê����½ê����Æê����Îê����×ê����Ýê���ðê�&��� ì� ���3ì� ���=ì����Iì����\ì����oì����„ì����¢ì� ���¾ì�+���ßì���� í����$í�?���?í�D���í�0���Äí����õí�)���î����8î�0���Lî�"���}î���� î�'���°î� ���Øî����æî�!���ûî����ï�"���=ï����`ï����}ï�/���ƒï� ���³ï����Ôï����ìï�#���ð����&ð����?ð�>���\ð�"���›ð����¾ð�%���Ýð�B���ñ�*���Fñ����qñ����ñ����¢ñ�)���²ñ����Üñ�%���ùñ�,���ò����Lò�#���\ò�"���€ò�$���£ò����Èò�/���èò����ó�8���(ó����aó����vó����•ó����²ó����Æó����åó����ô� ���ô����:ô����Kô����`ô����{ô����˜ô����«ô����½ô����Ðô����áô�'���òô����õ�*���5õ����`õ�$���~õ����£õ����½õ����Íõ� ���æõ����ö�"���ö����@ö����Vö�;���lö����¨ö����»ö����×ö����ôö����÷����-÷����K÷����h÷����„÷����˜÷�"���¯÷����Ò÷�,���å÷����ø�)���,ø����Vø����sø����„ø�"���£ø�1���Æø�'���øø���� ù�(���1ù� ���Zù�,���{ù�,���¨ù�,���Õù�'���ú�-���*ú� ���Xú�(���yú�(���¢ú����Ëú����Þú����÷ú�"���û����5û����Dû�&���Wû����~û�"���™û� ���¼û� ���Èû����Õû����çû����øû����ü�5���$ü�0���Zü�.���‹ü����ºü����Öü����öü�"���ý����9ý����Iý�+���Zý�%���†ý����¬ý�)���Ìý����öý� ���øý����þ�<���þ�1���Yþ�,���‹þ�0���¸þ�,���éþ�#���ÿ�0���:ÿ����kÿ�l���oÿ�;��Üÿ����� ���.����<�6���W�5���Ž�+���Ä�(���ð�*����-���D�"���r�)���•����¿����Ñ����è����ÿ� �������!����&����,�,���4�8���a�)���š� ���Ä����Ð����â����ü� ��� ����� �������(����8� ���O� ���Y� ���e�k��o����Û����ã�K���û�8���G����€�k���‰�h���õ����^�‚���ï� ���r� ���}� ���Š�3���–�Š��Ê� ���U � ���b �w���l �w���ä �9���\ �g��– �½���þ �Ò���¼ �1����9���Á�0���û����,����;� ���K�=���X�(���–�ã���¿� ���£�$���¯�F���Ô�����U��+��������Š�<���\���Ì� ���)�+���4�+���`�0���Œ� ���½����Ç����Î�Ï���Ý�1���­����ß�I���ø� ���B�¬���M����ú�@����£��T�7���ø�?���0����p����‚����‘� ���˜����¥����ª����°����¶����¼����Í�:���Ò�…�� ����“�¦���§����N���]�×��a����9 � ���B ����M ����a � ���h ����r ����Š ����¡ ����¾ ����Ú �$���ò ����!����)!����D!� ���S!� ���_!� ���k!����x!� ���‰!����•!����§!����¸!����¿!����Ä!����Ê!����Z"� ���`"�1���m"� ���Ÿ"����­"����¾"����Ø"����é"� ���ø"� ���#� ���#� ���#����*#����/#����4#� ���N#�#���[#����#����ˆ#�*���§#����Ò#�E���Õ#����$����/$�M���@$���Ž$�—��� %�®���8&�…���ç&�H���m'�o���¶'�…���&(����¬(����°(����À(� ���Õ(�,���ã(�&���)� ���7)� ���C)� ���N)����[)� ���b)�#���p)�H���”)�2���Ý)�g���*�i��x*�ª���â+�š���,�;���(-����d-���‚-�9���œ/�*���Ö/�A���0�¸���C0�†���ü0�º���ƒ1�;���>2�¹���z2�%���43����Z3�†���Ú3�N���a4�T���°4� ��5�7���7����H7����g7� ���7� ���‰7����–7� ���›7����§7�N���»7�€��� 8����‹8�Ÿ���¦8�º���F9�7���:�@���9:����z:�D���‘:����Ö:����ç:� ���ü:���� ;����;����/;����>;� ���M;�Ý���[;�1���9<�'���k<�J���“<�u���Þ<� ���T=� ���b=� ���p=����}=�,���=�&���½=�*���ä=�;���>����K>�c���S>� ��·>����Ã?����Ó?�5���Ø?� ���@�<���@����W@����_@����p@����„@� ���™@����¥@�@���­@� ���î@����û@�$����A� ���%A�Ñ���0A�$���B����'B����9B����OB�â��bB�&���ED�%���lD�C���’D�+���ÖD����E����E� ���E����$E����6E����KE����]E����oE� ���E�#��ŽE����²F� ���ÇF�,���ÒF�j���ÿF�&���jG� ���‘G�'���²G�0���ÚG�4��� H�~��@H����¿I����ÜI����ùI�–���J�)���¯J�Y���ÙJ�'���3K�T���[K�'���°K�(���ØK����L�X���L�@���nL����¯L�?���ËL�&��� M�š���2M����ÍM����äM�#���‚N�&���¦N����ÍN�"���ìN�T���O�g���dO�†���ÌO�.���SP����‚P�"���¡P�+���ÄP�Y���ðP�~���JQ�¤���ÉQ�ä���nR�=���SS����‘S�^���¯S�b���T� ���qT�¢���’T�F���5U�}���|U�'���úU�'���"V�Z���JV�"���¥V�`���ÈV�!���)W�!���KW�$���mW� ���’W�¦���³W�M���ZX�>���¨X�'���çX�<���Y�T���LY����¡Y����¦Y����«Y����ÁY����×Y����ìY�ï���Z����òZ�¹���[�D���Â[�H���\�G���P\� ���˜\����¢\����§\����­\�´��¼\�W���q^�B���É^�k��� _�s���x_�¬���ì_�>���™`����Ø`�;���ï`�3���+a�/���_a�+���a�'���»a�#���ãa����b����'b����Cb�<���Sb����b����¤b����ªb����°b����Çb�*���Éb����ôb���� c����&c�A���Cc����…c�2���œc�1���Ïc� ���d���� d�!��� d����Bd�#���Id����md�0���‰d����ºd����Ôd����åd�*���öd����!e����?e�"���_e����‚e���� e�E���¿e�;���f� ���Af�,���bf� ���f�!���°f����Òf����òf�+���g�#���=g�#���ag�,���…g�0���²g�,���ãg�#���h����4h����Oh� ���eh����†h����¢h����µh����Óh����ñh�$���i�"���5i����Xi�'���ni����–i�5���°i�'���æi����j�!���$j����Fj����fj�1���j����±j����Áj����Þj����÷j����k����$k����8k����Lk����ck����}k�(���k����¶k����Ïk�.���äk�2���l����Fl����al����|l�%���•l�0���»l�3���ìl���� m�F���@m�B���‡m�+���Êm�5���öm�1���,n� ���^n����jn����ƒn�*���¢n����Ín����èn�)���o����/o����@o�%���\o�!���‚o� ���¤o� ���²o����Ào����Ðo�8���ëo����$p����:p����Np����lp�&���†p�'���­p�<���Õp�:���q�.���Mq�!���|q����žq�&���­q����Ôq����ïq����ÿq����r����$r����4r�#���Dr�'���hr�"���r�&���³r����Úr����ïr����s� ���#s����Ds����]s����ts�%���‹s����±s� ���Ís� ���Ús����çs����ús����t����%t����8t����Ot����ct����vt�,���t�+���ºt�-���æt�)���u�!���>u����`u����u����“u�8���ªu����ãu����úu����v����%v�3���7v� ���kv����uv� ���†v����’v����§v� ���·v����Áv�#���Ôv�"���øv� ���w����<w����[w����lw����ˆw����œw����¶w����Çw����ßw����åw����÷w�%���x����.x����Bx�$���\x�+���x�#���­x�:���Ñx�!��� y�/���.y�'���^y����†y����œy����·y����Êy����åy�+���z�*���1z�%���\z����‚z�#��� z�$���Äz����éz�%���ÿz�!���%{�'���G{�%���o{����•{����µ{����É{����Û{����ú{�(���|�,���A|� ���n|�$���|����´|����Í|����ß|����ý|�*���}�$���F}�#���k}�%���}����µ}�!���Õ}�&���÷}����~����2~�(���P~� ���y~�3���š~�-���Î~����ü~�����!���4�1���V�'���ˆ����°�1���Ð����€����€����4€����N€����h€�#���‚€�1���¦€�.���Ø€������������/�(���O����x� �������ž����»�(���Ð����ù����þ�3���‚�;���Q‚�.���‚����¼‚����Ô‚����é‚�$���ƒ�$���,ƒ�D���Qƒ����–ƒ����ªƒ����»ƒ����˃����߃����øƒ����„�%���1„�%���W„����}„����š„����´„�-���¸„����æ„����ý„�)��� …�/���6…�=���f…�@���¤…�:���å…���� †�!���>†����`†�,���r†����Ÿ†����»†����͆�A���ä†�;���&‡����b‡����}‡�!���–‡����¸‡����·����â‡� ���ý‡�!���ˆ�%���@ˆ�(���fˆ����ˆ����ªˆ����¾ˆ�*���ш�-���üˆ����*‰����:‰����Q‰����j‰����‰����–‰����¯‰����ˉ����ä‰�%���ü‰�1���"Š�#���TŠ�"���xŠ�"���›Š�1���¾Š����ðŠ� ���‹����‹����%‹����;‹�"���M‹����p‹� ���Š‹����˜‹����«‹����‹����Õ‹����ñ‹����Œ�#���"Œ�!���FŒ�!���hŒ����ŠŒ����¡Œ����ÀŒ����ÙŒ� ���øŒ������������&����8����Q����j����ƒ�!���¡����Ã�"���Û����þ����Ž� ���<Ž����]Ž����uŽ����ŠŽ�]���ŸŽ�G���ýŽ����E����Y����t����Š�!��� �*���Â� ���í� ���ú�����/���/�$���_�"���„����§����Å�2���Ú�;��� ‘����I‘����b‘����‘����‘�R���´‘�L���’����T’�(���l’� ���•’����¢’����²’����Ä’����Ú’�,���ø’�9���%“�*���_“�,���Š“�/���·“����ç“�*���í“�G���”�0���`”�:���‘”�#���Ì”�'���ð”�8���•����Q•�@���f•�/���§•����ו�7���è•�8��� –� ���Y–����g–�/���ƒ–�-���³–� ���á–�0���í–����—����8—�#���O—�&���s—�)���š—�*���Ä—����ï—�$���˜����)˜����@˜����Z˜����j˜�+���ƒ˜�1���¯˜�"���á˜� ���™����%™����7™����N™�#���l™�$���™����µ™����Ó™����è™�!���š�!���*š�%���Lš����rš�%���š����§š����¶š�7���Åš�=���ýš����;›����Y›����n›����›����§›����º›� ���Ë›����Ù›�-���ñ›�C���œ����cœ�(���xœ� ���¡œ�'���«œ����Óœ�"���íœ�������� �?���0�,���p�%�������Ã�4���Ù� ���ž�&���/ž� ���Vž�1���bž�2���”ž�#���Çž�/���ëž�$���Ÿ�(���@Ÿ����iŸ�8���ˆŸ�G���ÁŸ�9���  �#���C ����g �"���† �$���© ����Π����è ����¡����¡����3¡����Q¡�>���i¡�B���¨¡� ���ë¡� ���ö¡����¢����¢����(¢����E¢� ���X¢�7���e¢� ���¢����©¢����À¢� ���×¢� ���á¢����ë¢�)���£����/£����D£����_£����s£�$���ˆ£�-���­£�7���Û£����¤����¤����0¤����?¤����N¤����g¤� ���w¤����ƒ¤����Ф����¤����—¤����µ¤����Τ�#���ë¤�J���¥� ���Z¥� ���h¥� ���u¥����¥�*���–¥����Á¥����Ý¥����ö¥����¦����)¦�8���F¦����¦� ���…¦�H���“¦�U���ܦ�>���2§�?���q§�?���±§�8���ñ§�=���*¨�>���h¨�3���§¨����Û¨�(���l©�!���•©�N���·©�f���ª�>���mª�@���¬ª�#���íª�<���«�*���N«����y«����™«�(���±«����Ú«�/���õ«����%¬����@¬����X¬����k¬����q¬����†¬����š¬����¡¬�*���Á¬�!���ì¬�7���­����F­�"���^­����­����­�3���¤­�\���Ø­����5®����M®����e®�.���u®����¤®�0���º®����ë®�C���¯����F¯�%���c¯�B���‰¯�:���̯����°����°����5°� ���G°�H���Q°�+���š°�J���ư�2���±�8���D±�=���}±�@���»±�#���ü±���� ²�$���;²�=���`²�4���ž²�.���Ó²�,���³�<���/³����l³�0���³�3���²³�7���æ³�c���´����‚´����˜´�"���¯´�t���Ò´� ���Gµ�3���Rµ�>���†µ�5���ŵ�j���ûµ�h���f¶�_���϶�0���/·�,���`·�*���·�3���¸·�(���ì·�&���¸�(���<¸� ���e¸����q¸� ���„¸� ���‘¸�/���Ÿ¸�7���ϸ�&���¹� ���.¹�Æ��O¹����»�Å���»�¶���Þ»�Z��•¼�Ý���ð½�¾���ξ�ê���¿�Û���xÀ�Ç���TÁ�C��Â� ��`Ã�º���kÄ�k���&Å���’Å���«Æ�P��­Ç�þ��þÉ�º��ýË�€��¸Í����9Ï����»Ï�‚���ÔÏ� ���WÐ�W���øÐ�w���PÑ�y���ÈÑ�!��BÒ�}���dÓ�²���âÓ�Þ��•Ô�X��tÖ�Š���Í×���XØ�ä��]Ù���BÜ�r���ÄÝ���7Þ�‘���Wß�ï���éß�ª���Ùà�Q���„á�½��Öá���”ã�«���›ä�è���Gå�™���0æ�Ü���Êæ�Ž���§ç�s��6è����ªé�«���«ê�Ê��Wë�Ý���"í�¾���î�q���¿ï����1ð�b��¿ð�H��"ò�=���kó�G��©ó�á���ñô���Óõ�y��åö�A���_ø�€���¡ø�?���"ù�]���bù�e��Àù�ó��&û�‰��ý�ç���¤þ�Æ���Œÿ�m��S��Ö���Á�ö���˜�o������ÿ�d���’���u�Ý������æ�R���ú �N���M �í���œ �«���Š � ��6 ���A � ��[�S��e�X���¹�;����ž���N�ý��í�á���ë���Í�Ä���á� ��¦�¥��²� ��X�Á���e�)��'�$��Q�ð��v�V��g�@��¾ �3��ÿ!����3#�¡���4%�t��Ö%� ���K(�M��W(� ��¥,�½���±-�J��o.�s���º/�T���.0�â���ƒ0�M���f1���´1�Œ���Ê2� ���W3�Õ��c3�Î��95���7�Š���!9���¬9�S���J<�‘��ž<�B���0>�ñ���s>�N���e?�M��´?���A�‹���„B�P���C�c��aC�·���ÅD�ï���}E�¤���mF�€���G�5���“G�û��ÉG�Ø���ÅI�ã���žJ�3��‚K�´���¶L�·���kM�õ���#N�O��O�%��iQ�`��R�É���ðS���ºT�ˆ���×W�i���`X�£���ÊX�œ���nY�0�� Z���<\���L]�¤���a^�V���_����]_�à���î_�ª���Ï`�A���za�t��¼a�š��1d�J���Ìe����f�‚���—f�6���g����Qg� ��Ñg�C��Þh�d��"j�š��‡k�í���"m�ß���n�ü���ðn�»���ío�ê���©p�¥��”q�ò���:s�€��-t� ��®u�Ø���¹v�Ë���’w�Š���^x�:��éx�â���$z�w��{�b���|���â|�§����~�u��¨~�¸��€�º���ׂ�Á��’ƒ���T…�´��V†�<��� ˆ�:���Hˆ�â���ƒˆ� ��f‰�t���s‹�/��è‹�û����@��Ž� ��U‘�æ��v“�œ��]•�ß��ú—�{��Ú™�ÿ��V›�®��V�;��Ÿ����A �‹���Á �c��M¡�S��±¢���¥�F���$¦�G���k¦� ��³¦�I��Ô§�0��ª�I��O«�T��™¬�Û��î­�Å���ʯ�ò���°�2��ƒ±� ��¶³�O���×´�Y���'µ�ó���µ�`��u¶�6��Ö·�4�� ¹�è���B»�Z��+¼�ë��†½�Þ���r¿�0��QÀ�û���‚Ä�0���~Å�}���¯Å�ö���-Æ�Å���$Ç�Å���êÇ�Â���°È�ç���sÉ�›��[Ê�Ì���÷Ë�½��ÄÌ�Æ���‚Î�G���IÏ�Š��‘Ï�…���Ñ�Ù���¢Ñ�7���|Ò�E��´Ò� ��úÔ�U���Ö�Á���ZÖ�Ü���×�ê���ù×�ê���äØ� ��ÏÙ���ÙÜ�#��ÜÞ����á�r��â�X��‘ã�+��êä�þ���ç�‡��è�ê��é�l��ˆë�ö���õì�@���ìí�™���-î���Çî�J��Øï�î��#ò�€���ô�/��“ô�O��Ãõ���÷�•���%ø���»ø�î���Òù�p��Áú���2ý�¼���Pþ�t�� ÿ�g��‚��”���ê�X������Ø�Š���ò�ã��}�S���a�Ð���µ�y��†�Û���� ���Ü �¸��ò �¿��«���k�P����u��Ò�ç��H�A��0�Ò���r�“��E�#��Ù�Q��ý����O�È���ß�s��¨�l��� �Ù���‰ �ø���c!�8��\"���•#�.��µ$�Q��ä%�©��6'�Ý���à(�Õ���¾)�@��”*�P���Õ,�4��&-�3��[.�{���/�:��� 0�Ö��F0�ù��3�3��5�f��K6�L��²7���ÿ8�q��;�Ê���‡<�G���R=�R���š=�Â��í=�Q���°?�O���@�+��R@�È���~A�=���GB�X���…B���ÞB����|D�2��þD�2��1F� ��dG�Ý��pI�¾���NL�7��� M�8���EM�F���~M�A��ÅM�T���O�4���\O�9���‘O�6��ËO�=���Q�‹���@Q�Œ���ÌQ�Ó��YR�B���-U�'���pU�8���˜U�*���ÑU�A���üU�(���>V�O���gV�3��·V�D���ëW�‹���0X�D���¼X�.���Y�6���0Y����gY����mY�ü���|Y�K��yZ�U��Å[�C���]�Œ��_]�2��ì^�â���`� ��a���b� ���.c����9c� ���>c����Jc����Sc����\c� ���dc����nc����uc�Y��Šc�!���äd� ���e� ���e�-��� e����Ne����be����‚e�$���e�"���Âe�B���åe����(f����Df�G���\f�C���¤f�L���èf����5g�1���Og����g�9���žg����Øg����÷g�7���h� ���Fh����Sh�*���gh����’h�/���±h�=���áh����i�:���%i�&���`i����‡i�$���ši�3���¿i�$���ói�#���j�M���<j�&���Šj�!���±j�/���Ój�C���k�C���Gk����‹k����¨k����½k�E���Úk�%��� l�/���Fl�L���vl����Ãl�3���Þl�-���m�+���@m����lm�;���Œm����Èm�5���Úm�#���n�#���4n�#���Xn����|n�,���“n�%���Àn����æn�2���ûn����.o����@o�!���Vo�!���xo����šo����ºo����Úo����òo����p�-���p����Dp�)���_p�,���‰p�1���¶p����èp����q����q�%���4q����Zq�"���rq����•q����²q�b���Êq����-r����Ar����[r����wr����“r����³r�"���Ïr�!���òr����s����'s�"���Es����hs�6���~s����µs�1���Òs�"���t����'t����9t�!���Ut�F���wt�9���¾t����øt�.���u�%���@u�;���fu�8���¢u�;���Ûu�.���v�<���Fv�0���ƒv�/���´v�*���äv����w����!w����>w�&���]w����„w����›w�+���®w����Úw�,���úw� ���'x����3x����Jx����cx����ux�4���’x�=���Çx�G���y�0���My�"���~y�%���¡y�%���Çy�#���íy����z����)z�.���Az�3���pz�%���¤z�4���Êz����ÿz����{�!���{�C���:{�F���~{�<���Å{�4���|�4���7|�(���l|�4���•|����Ê|�ˆ���Í|�›��V}����ò~�����+��� �<���L�9���‰�A���Ã�H���€�A���N€�*���€�+���»€�-���ç€�����7���(�6���`�7���—� ���Ï����Ú����ß� ���å�H���‚�;���O‚�6���‹‚����‚����Ó‚�6���ò‚����)ƒ� ���8ƒ����Eƒ����Kƒ�"���Rƒ����uƒ� ���’ƒ����œƒ�.���¸ƒ�¹��çƒ����¡…�1���ª…�]���Ü…�K���:†����††����†�}���‡�Ä���‡�ž���Tˆ� ���óˆ����þˆ� ���‰�D���%‰�Ý��j‰� ���H‹����V‹�®���q‹�§��� Œ�;���ÈŒ�‚���Ù���‡Ž�ð���a�9���R�6���Œ�;���Ã����ÿ����‘� ��� ‘�J���-‘�0���x‘�E��©‘� ���ï’�9���û’�N���5“����„“�‚��”“����•����)•�W��2•�f���Š–� ���ñ–�6���ü–�5���3—�8���i—����¢—����³—����»—���Ï—�7���Õ˜�*��� ™�R���8™����‹™�Ï���ž™�0���nš�K���Ÿš���ëš�C���ôœ�O���8����ˆ����š����«����Æ����ä����ë����ò����ù����ž����ž�C���ž�*��^ž����‰ �µ���¨ ����^¡�?��r¡���²£� ���·¥� ���Â¥����Ð¥����ï¥����÷¥���� ¦����#¦����:¦����Z¦����q¦�/���Œ¦����¼¦����Ò¦����ï¦� ���þ¦� ��� §� ���§����#§� ���4§����@§����R§����c§����s§����|§�±���‚§����4¨����:¨�=���S¨� ���‘¨����Ÿ¨����°¨����Ψ����â¨� ���ñ¨� ���ÿ¨� ��� ©� ���©����&©����,©����3©� ���Q©�4���_©����”©�+���£©�*���Ï©� ���ú©�[���ª����cª����|ª�Q���”ª�Ÿ��æª�ª���†¬�Ý���1­����®�W���­®�‘���¯�„���—¯����°���� °����3°����K°�6���Z°�2���‘°� ���İ� ���а� ���Û°����è°����ð°�&��� ±�N���4±�F���ƒ±�Y���ʱ�ã��$²�Å���´�¼���δ�>���‹µ����ʵ�~��êµ�C���i¸�-���­¸�O���Û¸�Û���+¹�–���º���žº�<���¤»���á»�*���æ¼�‡���½�ƒ���™½�`���¾�k���~¾�<��ê¾�F���'Á����nÁ�)���‰Á� ���³Á����½Á����ÌÁ� ���ÜÁ����èÁ�T���Â�–���YÂ�'���ðÂ�Â���Ã�Ñ���ÛÃ�A���­Ä�D���ïÄ�9���4Å�W���nÅ����ÆÅ����ÙÅ�!���îÅ����Æ����&Æ����7Æ����FÆ� ���UÆ�è���cÆ�H���LÇ�H���•Ç�S���ÞÇ�}���2È� ���°È� ���¾È� ���ÌÈ�-���ÙÈ�9���É�.���AÉ�+���pÉ�Q���œÉ����îÉ�…���öÉ�>��|Ê����»Ë����ËË�H���ÔË����Ì�D���=Ì����‚Ì����—Ì� ���¬Ì�"���ÍÌ� ���ðÌ����üÌ�R���Í����XÍ����gÍ�)���kÍ����•Í���¨Í�%���»Î����áÎ�"���ôÎ����Ï�Ð��7Ï�7���Ñ�0���@Ñ�R���qÑ�3���ÄÑ����øÑ����üÑ���� Ò����Ò����0Ò����IÒ����^Ò����sÒ� ���ˆÒ�]��–Ò����ôÓ����Ô�=���#Ô�Œ���aÔ�2���îÔ�-���!Õ�6���OÕ�<���†Õ�G���ÃÕ�Š�� Ö�&���–×�'���½×�)���å×�Â���Ø�7���ÒØ�e��� Ù�4���pÙ�V���¥Ù�3���üÙ�3���0Ú����dÚ�o���Ú�M���ñÚ�&���?Û�S���fÛ�7���ºÛ�Ö���òÛ����ÉÜ�Ñ���éÜ�,���»Ý�0���èÝ�)���Þ�/���CÞ�l���sÞ�’���àÞ�±���sß�?���%à�+���eà�5���‘à�4���Çà�e���üà�’���bá�¿���õá� ��µâ�P���Áã�+���ä�w���>ä�‹���¶ä�+���Bå�½���nå�X���,æ�¹���…æ�1���?ç�3���qç�e���¥ç�,��� è�|���8è�*���µè�3���àè�6���é�.���Ké�Ç���zé�q���Bê�W���´ê�5��� ë�[���Bë�X���žë����÷ë����ýë�+���ì�+���0ì����\ì����tì�!��ì�*���¯í�Ç���Úí�D���¢î�H���çî�V���0ï����‡ï����ï����“ï����™ï�ÿ��µï�|���µñ�I���2ò�Ÿ���|ò�®���ó�Ý���Ëó�I���©ô����óô�4���õ�-���:õ�)���hõ�%���’õ�!���¸õ����Úõ����øõ����ö� ���(ö�:���4ö����oö����‰ö����ö� ���—ö����¸ö�@���¼ö����ýö����÷�%���8÷�E���^÷����¤÷�E���½÷�I���ø� ���Mø����Yø�0���nø����Ÿø�1���¦ø�#���Øø�=���üø����:ù����Xù����pù�`���‹ù����ìù���� ú�(���"ú����Kú�/���iú�M���™ú�;���çú�%���#û�2���Iû�)���|û�*���¦û�(���Ñû�'���úû�.���"ü�%���Qü�&���wü�5���žü�9���Ôü�(���ý�2���7ý����jý����‡ý�%��� ý����Æý����åý�$���ûý�%��� þ�$���Fþ�*���kþ�&���–þ����½þ�(���Õþ� ���þþ�?���ÿ�A���_ÿ�'���¡ÿ�'���Éÿ�)���ñÿ������>���:��4���y��"���®��#���Ñ��&���õ������!���7�$���Y����~����œ����¶�4���Ó��������%�3���?�6���s����ª����É����ç�2����*���7�-���b�$����\���µ�E����?���X�D���˜�;���Ý� �������&�#���@�7���d�&���œ�%���Ã�=���é����'����:�(���U�2���~����±����Â����Ô� ���é�B��� ����M����h����„�#����O���Á�4����:���F�<����+���¾�%���ê���� �;���. �0���j �4���› ����Ð ����í �!��� ����( �(���: �3���c �)���— �*���Á ����ì �"��� ����- �"���E ����h ����| ���� �0���¥ ����Ö � ���î ����û ���� ����. ����G ����d ���� ����ž ����» ����Ù �3���õ �'���) �A���Q �7���“ ����Ë � ���ë ���� �����?���3����s��������§����À�C���×� �������%����4����J����a�*���}����¨�7���Ç�7���ÿ�,���7�(���d�����$���£����È� ���â��������� ���2����<����W�(���o����˜����°�&���Ç�6���î�0���%�E���V����œ�*���»�$���æ�+��� ����7����T�!���i�!���‹�-���­�.���Û�+��� �(���6�.���_�/���Ž����¾�1���Ý�-����3���=�3���q�#���¥����É����â�)���ü�(���&�F���O�.���–�'���Å�/���í��������<�!���R�0���t�9���¥�)���ß�+��� �$���5�%���Z�8���€�K���¹�����"����>���@�/����<���¯�4���ì�%���!� ���G�-���h�C���–�3���Ú�+����F���:�����%���Ÿ� ���Å�#���æ�(��� �%���3�B���Y�;���œ� ���Ø����ù�����+���5����a�*���y�'���¤����Ì�%���å���� �����=���)�F���g�A���®�!���ð�����&���+�*���R�'���}�`���¥���� ���� ����, ����= ����R �!���j ����Œ �=���¬ �>���ê ����)!����F!����e!�7���i!����¡!����½!�)���Ì!�3���ö!�U���*"�C���€"�I���Ä"�.���#�-���=#�$���k#�:���#����Ë#����ê#�&���û#�d���"$�A���‡$�6���É$�%����%�<���&%����c%����x%����‘%�'���±%�,���Ù%�+���&�3���2&����f&����&����•&�9���¨&�<���â&����'����1'����K'����h'����„'����¡'����¾'�!���Û'����ý'�.���(�1���J(�4���|(�*���±(�)���Ü(�B���)����I)����e)����w)����Œ)����§)�+���½)�"���é)���� *����*����7*����T*�"���o*����’*����¯*�$���Ï*�0���ô*�#���%+����I+�)���d+����Ž+�+���­+����Ù+����ê+����ÿ+����,����),����F,����c,�'���€,�'���¨,����Ð,�%���æ,�&��� -����3-�(���Q-����z-����’-����®-�p���Ì-�P���=.����Ž.�!���«.����Í.����å.����û.�3���/����M/�)���e/�!���/�6���±/�A���è/�0���*0�'���[0� ���ƒ0�5���¤0�=���Ú0����1�#���51�+���Y1����…1�`���ž1�G���ÿ1�#���G2�,���k2����˜2����¬2����Ã2����Ø2�,���÷2�+���$3�?���P3�9���3�5���Ê3�;����4����<4�5���E4�L���{4�?���È4�E���5�>���N5�8���5�J���Æ5����6�H���+6�E���t6����º6�D���Î6�F���7� ���Z7�#���h7�6���Œ7�A���Ã7����8�D���8����Y8����t8�'���8�6���¸8�&���ï8�*���9����A9�7���W9����9����¦9����¼9����Ë9�?���à9�8��� :�&���Y:�'���€:����¨:�1���Å:����÷:�&���;�$���=;����b;����~;�#���–;�$���º;�)���ß;�)��� <� ���3<�$���?<� ���d<����q<�H���ƒ<�A���Ì<�$���=����3=�&���R=�,���y=�!���¦=����È=����Ý=����û=�,���>�F���G>����Ž>�-���¨>� ���Ö>�,���à>� ��� ?�)���.?� ���X?����f?�L���v?�2���Ã?�,���ö?����#@�<���=@�+���z@�*���¦@����Ñ@�s���ñ@�E���eA�1���«A�A���ÝA�2���B�-���RB�*���€B�;���«B�L���çB�>���4C�,���sC�+��� C�6���ÌC�>���D����BD�"���bD����…D�$��� D����ÅD����ÞD�M���üD�5���JE����€E� ���“E����´E����ÉE�"���æE���� F����#F�C���3F� ���wF����„F����›F����¯F����¾F�#���ÆF�)���êF����G����0G����HG����fG�H���G�;���ÈG�A���H����FH�!���LH����nH����‹H����H����»H����ÏH�!���ãH����I����I�,���1I����^I����}I����–I�c���¶I����J����,J����?J�$���NJ�0���sJ�3���¤J�+���ØJ�(���K�0���-K����^K�?���xK����¸K� ���ÁK�Z���ÏK�R���*L�N���}L�O���ÌL�O���M�H���lM�M���µM�>���N�4���BN�¾���wN�#���6O�6���ZO�T���‘O�\���æO�I���CP�?���P�$���ÍP�A���òP�(���4Q����]Q����|Q�@���“Q�!���ÔQ�:���öQ�&���1R�)���XR����‚R����šR����¡R����»R����ØR�*���ßR�/��� S�(���:S�V���cS����ºS�+���ØS����T����T�:���3T�~���nT����íT����U����U�T���+U����€U�>���šU�!���ÙU�[���ûU�,���WV�1���„V�Y���¶V�N���W����_W����rW����ŽW����ŸW�\���§W�-���X�X���2X�9���‹X�L���ÅX�Y���Y�N���lY�A���»Y����ýY�;���Z�E���WZ�B���Z�<���àZ�9���[�P���W[����¨[�6���»[�7���ò[�>���*\�n���i\����Ø\����ì\�*���]�…���,]� ���²]�J���À]�K��� ^�F���W^�s���ž^�c���_�V���v_�C���Í_�0���`�*���B`�2���m`�+��� `�0���Ì`�)���ý`����'a����:a����Sa����ga�-���va�1���¤a�!���Öa����øa����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����b���� b�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��äˆ��‰��‰��0‰��D‰��X‰��l‰��€‰��¤‰��ȉ��ì‰��Š��Š��8Š��(b��������������� �����������������ÿÿÿÿHb��������1���ÿÿÿÿzb��������/���ÿÿÿÿªb����������ÿÿÿÿÚb�7����������ÿÿÿÿ$c�����������ÿÿÿÿTc�����������ÿÿÿÿnc�����������ÿÿÿÿ˜c��������(���ÿÿÿÿÅc� �������Q���ÿÿÿÿ d� �������R���ÿÿÿÿ|d� �������V���ÿÿÿÿÜd������������������ÿÿÿÿe�����������ÿÿÿÿe� ���������������ÿÿÿÿ9e����������ÿÿÿÿZe��������������������������������ÿÿÿÿ–e�������������������������ÿÿÿÿÝe�������������������������ÿÿÿÿ.f�+���������ÿÿÿÿif�8����������ÿÿÿÿºf�+����������ÿÿÿÿõf�����������ÿÿÿÿg�$����������ÿÿÿÿLg��������<���ÿÿÿÿg��������*�������,�������$���ÿÿÿÿh��������3�������4�������/���ÿÿÿÿ­h��������(�������)�������$���ÿÿÿÿ*i� �����������������ÿÿÿÿhi� ����������ÿÿÿÿsi����������������ÿÿÿÿ£i����������ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-12 21:40+0100 Last-Translator: Petr Pisar <petr.pisar@atlas.cz> Language-Team: Czech <translation-team-cs@lists.sourceforge.net> Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; � � POÄŒET s pÅ™edponou 0x nebo 0X je Å¡estnáctkové Äíslo a smí mít násobnou příponu: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 a tak dále pro G, T, P, E, Z, Y. � TYP je tvoÅ™en z jedné nebo více tÄ›chto možností: a názvy znaků, nejvyšší bit je ignorován c ASCII znaky nebo kódy znaků se zpÄ›tným lomítkem � PÅ™ed-POSIXOVÉ formáty mohou být používány spolu s POSIXOVÃMI, to zahrnuje: -a stejné jako -t a, názvy znaků, ignoruje nejvyšší bit -b stejné jako -t o1, bajty osmiÄkovÄ› -c stejné jako -t c, ASCII znaky nebo kódy znaků se zpÄ›tným lomítkem -d stejné jako -t u2, desítková bez znaménka (dvoubajtová) � ( VÃRAZ ) VÃRAZ je pravdivý ! VÃRAZ VÃRAZ je nepravdivý VÃRAZ1 -a VÃRAZ2 VÃRAZ1 i VÃRAZ2 jsou pravdivé VÃRAZ1 -o VÃRAZ2 VÃRAZ1 nebo VÃRAZ2 je pravdivý � --check-order ověřuje, zda je vstup správnÄ› seÅ™azen, i když vÅ¡echny řádky lze spárovat --nocheck-order neověřuje, zda je vstup správnÄ› seÅ™azen � -1 neukazuje 1. sloupec (řádky obsažené pouze v SOUBORU1) -2 neukazuje 2. sloupec (řádky obsažené pouze v SOUBORU2) -3 neukazuje 3. sloupec (řádky spoleÄné obÄ›ma souborům) � -a, --all stejné jako -b -d --login -p -r -t -T -u -b, --boot Äas posledního startu systému -d, --dead vypíše mrtvé procesy -H, --heading vypíše názvy jednotlivých sloupců � -b SOUBOR SOUBOR existuje a je speciální blokový -c SOUBOR SOUBOR existuje a je speciální znakový -d SOUBOR SOUBOR existuje a je to adresář -e SOUBOR SOUBOR existuje � -l dlouhý výstupní formát pro zadaného UŽIVATELE -b nevypisuje domovský adresář a shell v dlouhém formátu -h nevypisuje projekt v dlouhém formátu -p nevypisuje plán v dlouhém formátu -s krátký výstupní formát (implicitní) � -n ŘETÄšZEC délka ŘETÄšZCE je nenulová ŘETÄšZEC stejné jako -n ŘETÄšZEC -z ŘETÄšZEC délka ŘETÄšZCE je nulová ŘETÄšZEC1 = ŘETÄšZEC2 Å™etÄ›zce jsou shodné ŘETÄšZEC1 != ŘETÄšZEC2 Å™etÄ›zce se neshodují � ARG1 * ARG2 aritmetický souÄin ARG1 a ARG2 ARG1 / ARG2 celoÄíselný aritmetický podíl ARG1 / ARG2 ARG1 % ARG2 zbytek po aritmetickém dÄ›lení ARG1 / ARG2 � ARG1 + ARG2 aritmetický souÄet ARG1 a ARG2 ARG1 - ARG2 aritmetický rozdíl ARG1 a ARG2 � ARG1 < ARG2 ARG1 je menší než ARG2 ARG1 <= ARG2 ARG1 je menší nebo roven ARG2 ARG1 = ARG2 ARG1 je roven ARG2 ARG1 != ARG2 ARG1 není roven ARG2 ARG1 >= ARG2 ARG1 je vÄ›tší nebo roven ARG2 ARG1 > ARG2 ARG1 je vÄ›tší než ARG2 � SOUBOR1 -ef SOUBOR2 SOUBOR1 a SOUBOR2 jsou na stejném zařízení a mají stejný i-uzel SOUBOR1 -nt SOUBOR2 SOUBOR1 je novÄ›jší (datum zmÄ›ny obsahu) než SOUBOR2 SOUBOR1 -ot SOUBOR2 SOUBOR1 je starší než SOUBOR2 � CELÉ_ÄŒÃSLO kopíruje vÅ¡e až do řádku tohoto Äísla, ale bez nÄ›j /REGVÃR/[POSUN] kopíruje vÅ¡e do řádku odpovídajícího regulárnímu výrazu, ale bez nÄ›j %%REGVÃR%%[POSUN] pÅ™eskoÄí vÅ¡e až do řádku odpovídajícího regulárnímu výrazu, ale bez nÄ›j {CELÉ_ÄŒÃSLO} opakuje pÅ™edeÅ¡lý vzorek tolikrát, kolikrát je zde uvedeno {*} opakuje pÅ™edeÅ¡lý vzorek tolikrát, kolikrát je to možné POSUN musí zaÄínat „+“ nebo „-“ následovaným celým kladným Äíslem. � CELÉ_ÄŒÃSLO1 -eq CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je rovno CELÉMU_ÄŒÃSLU2 CELÉ_ÄŒÃSLO1 -ge CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je vÄ›tší nebo rovno CELÉMU_ÄŒÃSLU2 CELÉ_ÄŒÃSLO1 -gt CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je vÄ›tší než CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 -le CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je menší nebo rovno CELÉMU_ÄŒÃSLU2 CELÉ_ÄŒÃSLO1 -lt CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 je menší než CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 -ne CELÉ_ÄŒÃSLO2 CELÉ_ÄŒÃSLO1 není rovno CELÉMU_ÄŒÃSLU2 � ŘETÄšZEC : REGVÃR vyhodnocení regulárního výrazu ^REGVÃR v ŘETÄšZCI match ŘETÄšZEC REGVÃR stejné jako ŘETÄšZEC : REGVÃR substr ŘETÄšZEC POZICE DÉLKA podÅ™etÄ›zec ŘETÄšZCE, POZICE je poÄítána od 1 index ŘETÄšZEC ZNAKY pozice prvního výskytu libovolného znaku ze ZNAKÅ® v ŘETÄšZCI, v případÄ› neúspÄ›chu 0 length ŘETÄšZEC délka ŘETÄšZCE � a Äísluje vÅ¡echny řádky t Äísluje pouze neprázdné řádky n řádky neÄísluje pZREGVÃR Äísluje pouze řádky vyhovující základnímu regulárnímu výrazu ZREGVÃR FORMÃT je jeden z: ln zarovnává vlevo bez úvodních nul rn zarovnává vpravo bez úvodních nul rz zarovnává vpravo s úvodními nulami � b blokový (bufferovaný) speciální soubor c, u znakový (nebufferovaný) speciální soubor p roura (FIFO) � poÄet uživatelů=%lu � -t je implikováno, pokud DÉLKA_STRÃNKY <= 10. Nebude-li SOUBOR zadán nebo bude-li „-“, pak bude Äten standardní vstup. � Jako položka je chápán sled bílých znaků (obvykle mezer a/nebo tabulátorů) následovaných nebílými znaky. Položky jsou pÅ™ed znaky pÅ™eskakovány. � OdlehÄený program „finger“; vypisuje údaje o uživateli. Utmp soubor bude %s. � Samotná - (pomlÄka) znamená -i. Pokud není PŘÃKAZ zadán, vypíše výslednou tabulku promÄ›nných prostÅ™edí. � PÅ™idání přípony „z“ k typu způsobí vypsání tisknutelných znaků na konci každého výstupního řádku. � Po volitelném příznaku může pÅ™ijít nepovinné urÄení délky pole jako desítkové Äíslo a pak dobrovolný modifikátor, kterým je buÄ E použije náhradní reprezentaci podle lokalizace, pokud lze; nebo O použije náhradní Äíselné symboly podle lokalizace, pokud lze. � Vynechaný VÃRAZ znaÄí nepravdu. Jinak VÃRAZ je pravda nebo nepravda a nastavuje návratový kód. VÃRAZ je jedním z: � Speciálním případem je, když jsou zadány pÅ™epínaÄe --force i --backup a ZDROJ a CÃL jsou stejného jména jednoho obyÄejného souboru. Pak cp kopii ZDROJE vytvoří. � PÅ™i vytváření výrazů musí být nÄ›které symboly chránÄ›ny pÅ™ed shellem (napÅ™. uzavÅ™ením do uvozovek nebo apostrofů). Porovnání mezi ARGx je aritmetické, pokud se jedná o Äísla, jinak je lexikografické. Pokud bylo v REGVÃR použito \( a \), vyhodnocení vrátí Å™etÄ›zec z ŘETÄšZCE, který odpovídá výrazu uzavÅ™enému v \( a \) nebo vrátí prázdný Å™etÄ›zec; pokud nebylo v REGVÃR použito \( a \), vrací poÄet odpovídajících znaků nebo 0. � Jak HLAVNÃ, tak i VEDLEJÅ Ã Äísla musí být uvedena, pokud TYP je „b“, „c“ nebo „u“, a musí být vynechána, jestliže TYP je „p“. Pokud HLAVNà a VEDLEJÅ Ã Äísla zaÄínají na „0x“ nebo „0X“, jsou považována za Å¡estnáctková; pokud zaÄínají na 0, za osmiÄková, jinak za desítková. TYP smí být: � ImplicitnÄ› rm nemaže adresáře. Pro smazání každého zadaného adresáře vÄetnÄ› jeho obsahu použijte --recursive (-r nebo -R). � Implicitní jsou parametry -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC jsou dva znaky, které jsou použity k oddÄ›lování logických stránek. Není-li zadán druhý znak, použije se „:“. Pro zadání „\“ je tÅ™eba napsat „\\“. STYL je jeden z: � ImplicitnÄ› jsou ZDROJOVÉ soubory s dírami detekovány hrubou heuristikou a odpovídající CÃLOVà soubor je vytvoÅ™en stejnÄ› „dÄ›ravý“. Toto chovaní je voleno pÅ™epínaÄem --sparse=auto. PÅ™epínaÄem --sparse=always říkáme, že v CÃLOVÉM souboru se mají tvoÅ™it díry, jakmile ZDROJOVà soubor obsahuje dostateÄnÄ› dlouhé sekvence nulových bajtů. PÅ™epínaÄem --sparse=never tvorbÄ› souborů s dírami zabráníme. Je-li uvedeno --reflink[=always], bude vytvoÅ™ena lehká kopie, do níž jsou bloky dat nakopírovány až pÅ™i své zmÄ›nÄ›. Ne-li to možné, kopírování selže. AvÅ¡ak je-li uvedeno --reflink=auto, kopírování se v případÄ› chyby vrátí k standardnímu způsobu vytváření kopií. � DÃLÅ® smí být: N rozdÄ›lí na N souborů podle velikosti vstupu K/N K-tý z N vypíše na standardní výstup l/N rozdÄ›lí na N souborů, aniž by se dÄ›lily řádky l/K/N K-tý z N na standardní výstup, aniž by se dÄ›lily řádky r/N jako „l“, ale použije se cyklické dÄ›lení r/K/N podobnÄ›, ale na standardní výstup vypíše pouze K-tý z N � Nastavení kombinací: * [-]LCASE jako [-]lcase cbreak jako -icanon -cbreak jako icanon � Nastavení řízení: [-]clocal zakáže signály pro řízení modemu [-]cread povolí příjem na vstupu * [-]crtscts umožní „handshake“ RTS/CTS * [-]cdtrdsr umožní „handshake“ DTR/DSR csN nastaví velikost znaku na N bitů, N je 5–8 � DOBA je desetinné Äíslo s možnou příponou: „s“ pro sekundy (výchozí), „m“ pro minuty, „h“ pro hodiny nebo „d“ pro dny. � Zobrazené hodnoty jsou v jednotkách první dostupné VELIKOSTI z --block-size, a promÄ›nných prostÅ™edí %s_BLOCK_SIZE, BLOCK_SIZE a BLOCKSIZE. Jinak se jako jednotka použije 1024 bajtů (nebo 512, je-li nastaveno POSIXLY_CORRECT). � Každý dílÄí příznak v seznamu PŘÃZNAKÅ® může být: append pÅ™ipisuje na konec (má smysl pouze pro výstup; doporuÄeno s conv=notrunc) � Každá PRÃVA mají zápis „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+“. � Příklady: $ %s --to=si 1000 → "1.0K" $ %s --to=iec 2048 → "2.0K" $ %s --to=iec-i 4096 → "4.0Ki" $ echo 1K | %s --from=si → "1000" $ echo 1K | %s --from=iec → "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Příklady: %s -12 soubor1 soubor2 Vypíše pouze řádky existující jak v soubor1, tak v soubor2. %s -3 soubor1 soubor2 Vypíše řádky existující v soubor1, ale ne v soubor2 nebo obrácenÄ›. � Příklady: %s /usr/bin/ Vypíše „/usr“. %s adr1/Å™et adr2/Å™et Vypíše „adr1“ následovaný „adr2“ %s stdio.h Vypíše „.“. � Příklady: %s /usr/bin/sort Vypíše „sort“ %s include/stdio.h .h Vypíše „stdio“ %s -s .h include/stdio.h Vypíše „stdio“ %s -a any/str1 any/str2 Vypíše „str1“ následováno „str2“ � Příklady: %s f - g Vypíše obsah souboru f, pak standardní vstup, poté obsah g. %s Kopíruje standardní vstup na standardní výstup. � Příklady: %s root /u ZmÄ›ní vlastníka /u na „root“. %s root:staff /u NápodobnÄ›, navíc zmÄ›ní skupinu na „staff“. %s -hR root /u ZmÄ›ní vlastníka /u a vÅ¡ech podsouborů na „root“. � Příklady: %s staff /u ZmÄ›ní skupinu /u na „staff“. %s -hR staff /u ZmÄ›ní skupinu /u a vÅ¡ech podsouborů na „staff“. � Příklady PÅ™evede sekundy od poÄátku epochy (1. 1. 1970 UTC) na datum $ date --date='@2147483647' Zobrazí Äas na západním pobÅ™eží USA (TZ lze najít pomocí tzselect(1)) $ TZ='America/Los_Angeles' date Zobrazí místní Äas pro 9 hodin ráno příští pátek na západním pobÅ™eží USA $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Vyjma -h a -L vÅ¡echny souborové testy následují symbolické odkazy. Dejte pozor na závorky, které musí být v shellu oznaÄeny (napÅ™. zpÄ›tnými lomítky). CELÉ_ÄŒÃSLO také může být -l ŘETÄšZEC, který je vyhodnocen jako délka Å™etÄ›zce. � Návratový kód programu je 0, pokud VÃRAZ není ani prázdný, ani 0. 1, pokud je prázdný nebo 0. 2, pokud VÃRAZ je syntakticky chybný a 3, pokud dojde k chybÄ›. � Návratová hodnota je 0, jestliže vÅ¡echna Äísla byla úspěšnÄ› pÅ™evedena. StandardnÄ› %s se zastaví na první konverzní chybÄ› a vrátí kód 2. S pÅ™epínaÄem --invalid='fail' se u každé chyby vypíše varování a návratový kód bude 2. S pÅ™epínaÄem --invalid='warn' bude každá chyba rovněž ohlášena, ale návratový kód bude 0. S pÅ™epínaÄem --invalid='ignore' nejsou chyby pÅ™evodu hlášeny a návratový kód je také 0. � Návratový kód: 0 vÅ¡e v pořádku, 1 drobné problémy (napÅ™. nebylo možné pÅ™istoupit k podadresáři), 2 závažné problémy (napÅ™. nebylo možné pÅ™istoupit k argumentu z příkazové řádky). � SEZNAM_POLOŽEK je Äárkou oddÄ›lený seznam sloupců. Platné názvy položek jsou: „source“ (zdroj), „fstype“ (druh souborového systému), „itotal“ (celkem iuzlů), „iused“ (použitých iuzlů), „iavail“ (volných iuzlů), „ipcent“ (procento iuzlů), „size“ (velikost), „used“ (použité místo), „avail“ (volné místo), „pcent“ (procento místa) a „target“ (cíl). Podrobnosti v info stránce. � FORMÃT urÄuje výstup jako u funkce printf v C. Interpretované sekvence jsou: \" dvojité uvozovky � Výstup je urÄen Å™etÄ›zcem FORMÃT. Rozeznávané sekvence jsou: %% znak % %a zkrácené jméno dne podle lokalizace (napÅ™. Ne) � FORMÃT musí být vhodný pro zobrazení jednoho argumentu s plovoucí desetinnou Äárkou „%f“. Volitelný apostrof (%'f) povolí seskupování (jako pÅ™epínaÄ --grouping), podporuje-li to souÄasné locale. Volitelné zarovnání šířky (%10f) vyplní výstup. Volitelné záporné hodnoty šířky (%-10f) způsobí výplň výstupu zleva. � Pracuje s linkou tty pÅ™ipojenou ke standardnímu vstupu. Bez argumentů vypíše rychlost, linkovou disciplínu a odchylky od nastavení „sane“. PÅ™i nastavování je ZNAK brán doslova nebo kódován jak pÅ™i ^c, 0x37, 0177 nebo 127; speciální hodnoty ^- nebo „undef“ jsou použity pro zákaz speciálních znaků. � Je-li použito -e, budou fungovat následující sekvence: � Pokud je SOUBOR „-“, skartuje standardní výstup. Je-li zadáno --remove (-u), SOUBOR(Y) smaže. Výchozí chování je nemazat soubory, protože je běžné zpracovávat zařízení jako /dev/hda a tyto soubory se obvykle nemažou. Pokud se pracuje nad obyÄejným souborem, vÄ›tÅ¡ina lidí volí pÅ™epínaÄ --remove. � Pokud SOUBOR nebude zadán, použije se %s. Jako SOUBOR je obvyklý %s. Je-li zadán ARG1 ARG2, pÅ™edpokládá se pÅ™epínaÄ -m: obvyklé je „am i“ (kdo „jsem já“) nebo „mom likes“ (koho „maminka miluje“). � Pokud je uveden SOUBOR, naÄtou se z nÄ›j pravidla pro pÅ™iÅ™azení barev jednotlivým typům souborů a přípon. V opaÄném případÄ› se použije zakompilovaná databáze. Podrobnosti o formátu tohoto souboru lze získat příkazem „dircolors --print-database“. � Bude-li PRVNà nebo PŘÃRÅ®STEK vynechán, implicitnÄ› se nastaví na 1. Což znamená, že vynechaný PŘÃRÅ®STEK bude 1, i když POSLEDNà je menší než PRVNÃ. PRVNÃ, PŘÃRÅ®STEK a POSLEDNà jsou údaje v pohyblivé řádové Äárce. PŘÃRÅ®STEK bývá kladný, když PRVNà je menší než POSLEDNÃ, a bývá záporný, když PRVNà je vÄ›tší než POSLEDNÃ. � Je-li REŽIM „0“, odpovídající proud nebude bufferován. � Je-li REŽIM „L“, bude odpovídající proud bufferován po řádcích. Tato možnost není pro standardní vstup platná. � Je-li SOUBOR „-“, kopíruje opÄ›t na standardní výstup. � Není-li zadán žádný příkaz, spustí „${SHELL} -i“ (výchozí: „/bin/sh -i“). � Je-li standardním vstupem terminál, pÅ™esmÄ›ruje jej z /dev/null. Je-li standardním výstupem terminál, pÅ™ipojí výstup do „nohup.out“. Není-li to možné, tak do „$HOME/nohup.out“. Je-li standardním chybovým výstupem terminál, pÅ™esmÄ›ruje je na standardní výstup. Výstup do SOUBORU provedete příkazem „%s PŘÃKAZ > SOUBOR“. � Pokud příkazu vyprší Äasový limit a --preserve-status nebylo použito, pak skonÄí s kódem 124. Jinak bude vrácen návratový kód PŘÃKAZU. Nebyl-li zadán signál, bude po vyprÅ¡ení limitu zaslán signál TERM. Signál TERM má za následek zabití procesu, který tento signál nezachytává nebo neblokuje. V opaÄném případÄ› je nezbytné použít signál KILL (9), neboÅ¥ takový signál nelze zachytit. Je-li zaslán signál KILL (9), návratový kód bude 128+9 místo 124. � Jestliže je první znak K (poÄet bajtů nebo řádků) „+“, zaÄne vypisovat od K. položky od zaÄátku každého souboru. Jinak vypisuje posledních K položek souboru. K může mít násobnou příponu (přípona – násobek): b – 512, kB – 1000, K – 1024, MB – 1000*1000, M – 1024*1024, GB – 1000*1000*1000, G – 1024*1024*1024 a tak dále pro T, P, E, Z, Y. � Nastavení vstupu: [-]brkint znak break způsobí signál interrupt [-]icrnl pÅ™ekládá CR (carriage return) na LF (newline) [-]ignbrk ignoruje znak break [-]igncr ignoruje znak CR (carriage return) � Hodnota K může mít následující násobné přípony (přípona Äinitel): b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y. � DEFINICE_KLÃÄŒE pro poÄáteÄní a koncové místo má tvar P[.Z][PŘEPÃNAÄŒE][,P[.Z][PŘEPÃNAÄŒE]], kde P je Äíslo položky a Z pozice znaku v položce, oboje poÄítáno od 1 a koncové místo je standardnÄ› konec řádku. Není-li uvedeno -t ani -b, znaky v položce jsou poÄítány od zaÄátku pÅ™edchozího bílého místa. PŘEPÃNAÄŒE jsou jeden nebo více jednopísmenných Å™adicích pÅ™epínaÄů [bdfgiMhnRrV], které pÅ™ebíjí globální nastavení pro tento klíÄ. Není-li klÃ­Ä zadán, použije se celý řádek jako klíÄ. VELIKOST smí být následována tÄ›mito násobnými příponami: � Licence GPLv3+: GNU GPL verze 3 nebo novÄ›jší <http://gnu.org/licenses/gpl.html>. Toto je svobodné programové vybavení: máte právo jej mÄ›nit a šířit. VEÅ KERÉ ZÃRUKY chybí, jak jen zákon dovoluje. � Lokální nastavení: [-]crterase vypisuje mazací znak (erase) jako backspace-mezera-backspace * crtkill zruší celý řádek podle nastavení echoprt a echoe * -crtkill zruší celý řádek podle nastavení echoctl a echok � Povinné argumenty dlouhých pÅ™epínaÄů jsou také povinné u odpovídajících krátkých pÅ™epínaÄů. � Hodnoty N a BAJTÅ® mohou mít následující násobné přípony: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024 a tak dále pro T, P, E, Z, Y. Každá dílÄí konverze v seznamu KONVERZà může být: � POZNÃMKA: Pokud PŘÃKAZ upravuje bufferování svých standardních proudů (napÅ™. tak Äiní „tee“), pak odpovídající nastavení vykonané pomocí „stdbuf“ pÅ™ijde vniveÄ. Rovněž nÄ›které filtry (jako „dd“ a „cat“) nepoužívají pro zpracování vstupu a výstupu proudy, a tudíž je nastavení „stdbuf“ nijak neovlivní. � POZNÃMKA: Na rozdíl od test, [ pÅ™epínaÄe --help a --version zpracovává. test je považuje za neprázdný ŘETÄšZEC jako jakýkoliv jiný. � POZNÃMKA: váš shell může mít vlastní verzi nástroje %s, která má obvykle pÅ™ednost pÅ™ed verzí popsanou zde. Pro podrobnosti o podpoÅ™e jednotlivých pÅ™epínaÄů nahlédnÄ›te do dokumentace vaÅ¡eho shellu. � VezmÄ›te na vÄ›domí, že pokud pomocí rm smažete soubor, je, za pÅ™edpokladu dostateÄných znalostí a/nebo Äasu, obvykle možné obnovit Äásti takového souboru. Jestliže chcete vÄ›tší jistotu, že obsah nepůjde obnovit, zvažte použití nástroje „shred“. � VezmÄ›te na vÄ›domí, že formáty Äasů pro pÅ™epínaÄe -d a -t jsou různé. � UvÄ›domte si, že porovnávání respektuje pravidla daná „LC_COLLATE“. � Poznámka: „uniq“ nepozná opakující se řádky, pokud spolu nesousedí. Možná budete chtít vstup nejprve seÅ™adit nebo použít „sort -u“ bez „uniq“. Porovnávání rovněž respektuje pravidla daná „LC_COLLATE“. � Volitelný „-“ pÅ™ed NASTAVENÃM znamená negaci. „*“ oznaÄuje nastavení nedefinované normou POSIX. Použitý systém urÄuje, která nastavení jsou možná. � Jinak REŽIM je Äíslo, které smí být následováno jednou z tÄ›chto přípon: KB 1000, K 1024, MB 1000*1000, M 1024*1024 a tak dále pro G, T, P, E, Z, Y. V tomto případÄ› bude odpovídající proud plnÄ› bufferován do pamÄ›ti o velikosti REŽIM bajtů. � Nastavení výstupu: * bsN způsob Äekání na backspace, N je 0–1 * crN způsob Äekání na CR (carriage return), N je 0–3 * ffN způsob Äekání na FF (form feed), N je 0–1 * nlN způsob Äekání na LF (newline), N je 0–1 � Vlastník nebude zmÄ›nÄ›n, není-li zadán. Skupina nebude zmÄ›nÄ›na, není-li zadána, ale v případÄ›, že uvedete za vlastníkem dvojteÄku, bude skupina zmÄ›nÄ›na na pÅ™ihlaÅ¡ovací skupinu vlastníka. VLASTNÃKA a SKUPINU lze zadat ÄíselnÄ› i symbolicky. � Vypíše hodnotu VÃRAZU na standardní výstup. Prázdný řádek v následujícím výpise oddÄ›luje skupiny operátorů s různou prioritou (v rostoucím poÅ™adí). VÃRAZ může být: ARG1 | ARG2 ARG1 pokud není prázdný nebo 0, jinak ARG2 ARG1 & ARG2 ARG1 pokud žádný argument není prázdný nebo 0, jinak 0 � Jestliže SOUBOR je „-“, bude Äten standardní vstup. Každý VZOREK může být: � Chyby v programu %s oznamujte na adrese <%s> (anglicky). � Chyby v programu oznamujte (anglicky) na adrese: <%s> PÅ™ipomínky k pÅ™ekladu zasílejte (Äesky) na adresu: <translation-team-cs@lists.sourceforge.net> � MNOŽINY jsou zadány jako Å™etÄ›zce znaků. VÄ›tÅ¡ina znaků reprezentuje je samé, speciální význam mají tyto sekvence: \NNN znak o hodnotÄ› NNN (1 až 3 osmiÄkové Äíslice) \\ zpÄ›tné lomítko \a znak BEL (pípnutí) \b backspace \f nová strana (form feed) \n nový řádek (line feed) \r návrat vozíku (return) \t vodorovný tabelátor \v svislý tabelátor � SIGNÃL může být jméno signálu jako „HUP“ nebo Äíslo signálu jako „1“ nebo návratový kód procesu ukonÄeného signálem. PID (Äíslo procesu) je celé Äíslo. Záporná hodnota adresuje skupinu procesu. � BAJTÅ® je Äíslo. Pro TYPY d, o, u, x může být BAJTÅ® také C jako sizeof(char), S jako sizeof(short), I jako sizeof(int) nebo L jako sizeof(long). Jestliže TYP je f, BAJTÅ® může být také F jako sizeof(float), D jako sizeof(double) nebo L jako sizeof(long double). � VELIKOST je celé Äíslo volitelnÄ› následováno jednotkou (příklad: 10M je 10 * 1024 * 1024). Jednotky jsou K, M, G, T, P, E, Z, Y (násobky 1024) nebo KB, MB, … (násobky 1000). � VELIKOST též může mít jako pÅ™edponu jeden z následujících modifikujících znaků: „+“ prodloužit o, „-“ zkrátit o, „<“ nejvíce, „>“ nejménÄ›, „/“ zaokrouhlit dolů na násobek kolika, „%“ zaokrouhlit nahoru na násobek kolika. � Zaslání signálu %s běžícímu procesu „dd“ způsobí vypsání statistických informací o I/O operacích na standardní chybový výstup. Pak se obnoví kopírování. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 vstoupivších záznamů 18335302+0 vystoupivších záznamů 9 387 674 624 bajtů (9,4 GB) zkopírováno, 34,6279 s, 271 MB/s Volby jsou: � Speciální znaky: * dsusp ZNAK ZNAK, který posílá terminálu signál stop pÅ™i vyprázdnÄ›ní standardního vstupu eof ZNAK ZNAK, který posílá „konec souboru“ (ukonÄení vstupu) eol ZNAK ZNAK, který ukonÄuje řádek � Speciální nastavení: N nastaví vstupní a výstupní rychlost na N baudů * cols N sdÄ›lí jádru, že terminál má N sloupců * columns N stejné jako cols N � Pokud není přípona záložních souborů nastavena pÅ™epínaÄem --suffix nebo promÄ›nnou SIMPLE_BACKUP_SUFFIX, je používána přípona „~“. Způsob vytváření záložních souborů lze ovlivnit pÅ™epínaÄem --backup nebo promÄ›nnou prostÅ™edí VERSION_CONTROL. Hodnoty mohou být: � Data jsou kódována do abecedy base64 podle RFC 3548. PÅ™i dekódování může vstup kromÄ› formální abecedy base64 obsahovat také znaky nového řádku. Obsahuje-li proud zakódovaných dat i bajty nepatřící do abecedy, můžete se je pokusit pÅ™eskoÄit volbou --ignore-garbage. � Následující pÅ™epínaÄe ovlivňují, jak se zpracuje hierarchie adresářů, když je souÄasnÄ› použit pÅ™epínaÄ -R. Pokud se použije více tÄ›chto pÅ™epínaÄů, uplatní se pouze poslední z nich. -H pokud je argument na příkazové řádce symbolický odkaz na adresář, projde jej -L projde každý symbolický odkaz na adresář -P neprochází žádné symbolické odkazy (výchozí) � Následující tÅ™i pÅ™epínaÄe jsou užiteÄné pouze pÅ™i ověřování kontrolních souÄtů: --quiet nevypisuje OK u každého úspěšnÄ› ověřeného souboru --status nevypisuje nic, úspěšnost znaÄí návratový kód -w, --warn upozorňuje na nesprávnÄ› formátované řádky souÄtů � SouÄty jsou poÄítány podle popisu v %s. PÅ™i testování by vstup mÄ›l být dřívÄ›jším výstupem tohoto programu. Výchozí režim je výpis jednoho řádku pro každý SOUBOR. Formát řádku je kontrolní souÄet, znak znaÄící vstupní režim („*“ pro binární, mezera pro textový) a jméno SOUBORU. � Platné formátovací sekvence pro soubory (bez --file-system): %a přístupová práva osmiÄkovÄ› %A přístupová práva v podobÄ› vhodné pro ÄlovÄ›ka %b poÄet alokovaných bloků (vizte %B) %B velikost bloku z %b v bajtech %C Å™etÄ›zec selinuxového bezpeÄnostního kontextu � Tento program install kopíruje soubory (Äasto ÄerstvÄ› pÅ™eložené) do cílového místa dle výbÄ›ru. Chcete-li stáhnout a nainstalovat balíÄek pÅ™ipravený k použití na systému GNU/Linux, mÄ›li byste místo nÄ›j použít správce balíÄků jako je yum(1) nebo apt-get(1). Prvních tÅ™i způsoby kopírují ZDROJ do CÃLE nebo více ZDROJÅ® do existujícího ADRESÃŘE a nastaví uživatelská práva a vlastníky/skupiny. ÄŒtvrtý způsob vytvoří vÅ¡echny komponenty zadaného ADRESÃŘE(Å®). � Smazání souboru, jehož název zaÄíná znakem „-“, například „-foo“, docílíte jedním z následujících příkazů: %s -- -foo %s ./-foo � Nahrazení nastane, jestliže není zadán pÅ™epínaÄ -d a jsou zadány obÄ› množiny. -t může být použito pouze pÅ™i nahrazování. V případÄ› potÅ™eby je MNOŽINA2 rozšířena na délku MNOŽINY1 opakováním posledního znaku. PÅ™ebyteÄné znaky MNOŽINY2 jsou ignorovány. Pouze u [:lower:] a [:upper:] je zaruÄeno, že budou rozepsány vzestupnÄ›; pÅ™i použití v MNOŽINÄš2 pÅ™i nahrazování mohou být používány pouze v párech pro zmÄ›nu velikosti písmen. -s používá MNOŽINU1, pokud se nenahrazuje, ani nemaže. Jinak srážení používá MNOŽINU2 a je vykonáno až po nahrazení a mazání. � JEDNOTKY: � Jestliže pÅ™epínaÄ -t ZNAK nebude zadán, jako oddÄ›lovaÄ budou použity úvodní bílé znaky a tyto samotné budou na zaÄátku ignorovány. Jinak bude oddÄ›lovaÄem položek ZNAK. Libovolná POLOŽKA je poÅ™adí položky poÄítané od 1. FORMÃT je jeden nebo více Äárkami nebo mezerami oddÄ›lených popisovaÄů, každý může být „STRANA.POLOŽKA“ nebo „0“. Implicitní FORMÃT vypisuje propojovací položku, zbytek položek ze SOUBORU1 a zbytek položek ze SOUBORU2. VÅ¡echny jsou oddÄ›leny znakem ZNAK. Je-li FORMÃT klíÄové slovo „auto“, pak první řádek každého souboru urÄuje poÄet položek na výstupu každého řádku. Důležité: SOUBOR1 i SOUBOR2 musí být seÅ™azeny podle propojovacích položek. NapÅ™. použijte „sort -k 1b,1“, pokud „join“ budete volat bez pÅ™epínaÄů, nebo použijte „join -t ''“, pokud „sort“ nebude mít žádné pÅ™epínaÄe. UvÄ›domte si, že porovnávání respektuje pravidla urÄená „LC_COLLATE“. Nebude-li vstup seÅ™azen a nebude-li možné nÄ›které řádky propojit, bude zobrazeno varování. � Použijte právÄ› jeden z pÅ™epínaÄů -b, -c nebo -f. Každý SEZNAM se skládá z jednoho rozsahu, nebo z více rozsahů oddÄ›lených Äárkami. Vybrané Äásti vstupu jsou vypsány ve stejném poÅ™adí, v jakém byly Äteny, a jsou vypsány právÄ› jednou. � PÅ™i použití pÅ™epínaÄe -s budou ignorovány pÅ™epínaÄe -L a -P. V opaÄném případÄ›, je-li CÃLEM symbolický odkaz, se uplatní poslední zadaný pÅ™epínaÄ. Výchozí je %s. � OdliÅ¡ování druhů souborů barvami je standardnÄ› zakázáno. Zákaz lze nařídit i pomocí --color=never. PÅ™i použití --color=auto, bude ls vkládat kódy barev jen, když standardní výstup bude napojen na terminál. Toto nastavení lze ovlivnit promÄ›nnou prostÅ™edí LS_COLORS. Nastavit ji lze příkazem dircolors. � Jestliže není SOUBOR zadán nebo je „-“, bude Äten standardní vstup. Implicitní pÅ™epínaÄe: „-F /“ � Není-li uveden SOUBOR nebo když je SOUBOR „-“, Äte ze standardního vstupu. � Bez pÅ™epínaÄů produkuje třísloupcový výstup. První sloupec obsahuje řádky jedineÄné pro SOUBOR1, druhý sloupec řádky obsažené jen v SOUBORU2 a sloupec tÅ™etí obsahuje řádky spoleÄné obÄ›ma souborům. � Bez jakéhokoli PŘEPÃNAÄŒE jsou vypsány nÄ›které užiteÄné informace. � Vypíše SOUBOR jednoznaÄným způsobem, implicitnÄ› v osmiÄkovém formátu, na standardní výstup. Bude-li zadáno více SOUBORÅ®, zÅ™etÄ›zí je v poÅ™adí daném na příkazovém řádku. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. � (užiteÄné pouze na systémech, které mohou mÄ›nit vlastnictví symbolických odkazů) � ???� --backup=[TYP] vytvoří záložní kopii každého existujícího cílového souboru -b jako --backup, ale bez argumentu -f, --force pÅ™ed pÅ™epsáním se neptá -i, --interactive pÅ™ed pÅ™epsáním se zeptá -n, --no-clobber nepÅ™epíše existující soubor Zadáte-li více jak jeden pÅ™epínaÄ z -i, -f, -n, pouze poslední bude úÄinkovat. � --backup[=ZPÅ®SOB] zálohuje každý existující cílový soubor -b jako --backup, ale bez argumentů -d, -F, --directory povolí superuživateli pokusit se vytvoÅ™it pevné odkazy na adresáře (poznámka: pravdÄ›podobnÄ› selže kvůli omezením systému, a to i superuživateli) -f, --force odstraní existující cílové soubory � --backup=[TYP] vytvoří záložní kopii každého existujícího cílového souboru -b jako --backup, ale bez argumentu -c (ignorován) -C, --compare porovná každou dvojici zdrojový−cílový soubor a, v nÄ›kterých případech, cílový soubor vůbec nezmÄ›ní -d, --directory vÅ¡echny argumenty jsou považovány za názvy adresářů. Vytvoří vÅ¡echny komponenty tÄ›chto adresářů � --batch-size=PSPOJÅ® najednou spojí nejvýše PSPOJÅ® vstupů; pÅ™i více použije doÄasné soubory � --block-size=VELIKOST velikosti vypisuje v násobcích VELIKOSTI. NapÅ™. „--block-size=M“ vypisuje velikosti v jednotkách po 1 048 576 bajtech. Popis formátu VELIKOSTI je uveden níže. -B, --ignore-backups nevypisuje soubory konÄící na ~ -c s -lt: Å™adí podle ctime a vypisuje ctime (Äas poslední zmÄ›ny i-uzlových informací); s -l: vypisuje ctime, Å™adí podle názvu souboru; jinak: Å™adí podle ctime, vypisuje od nejnovÄ›jších � --complement použije doplnÄ›k zadaných bajtů, znaků nebo položek � --debug vyznaÄí Äást řádku použitou k řazení a upozorní na sporné způsoby použití na chybovém výstupu --files0-from=S Äte vstup ze souborů, jejichž jména zakonÄená znakem NULL jsou uvedena v souboru S; Je-li S „-“, pak naÄte jména ze standardního vstupu � --debug vypisuje varování pÅ™i neplatném vstupu � --dereference působí na cíl symbolického odkazu (toto je výchozí chování) namísto na symbolický odkaz samotný -h, --no-dereference působí na symbolický odkaz místo na odkazovaný soubor � --field=N nahradí Äíslo v položce vstupu N (výchozí je 1) � --files0-from=S zpracuje obsah souborů, jejichž jména oddÄ›lená znakem NULL jsou uvedena v souboru S; Je-li S „-“, pak naÄte jména ze standardního vstupu -L, --max-line-length vypíše délku nejdelšího řádku -w, --words vypíše poÄet slov � --files0-from=S ze souboru S získá seznam jmen souborů oddÄ›lených nulovým bajtem a výpoÄet diskového prostoru provede nad tÄ›mito soubory -H rovnocenné s --dereference-args (-D) -h, --human-readable vypisuje velikosti ve formátu Äitelném pro lidi (napÅ™. 1K 234M 2G) � --format=FORMÃT použije printf FORMÃT pro výpis reálných Äísel, pro podrobnosti vizte FORMÃT níže � --from-unit=N urÄuje velikost vstupní jednotky (místo výchozí 1). � --from=SOUÄŒASNÃ_VLASTNÃK:SOUÄŒASNÃ_SKUPINA mÄ›ní vlastníka a/nebo skupinu každého souboru, pouze když jeho aktuální vlastník a/nebo skupina odpovídá zadaným. Jak vlastník tak skupina může být vynechána, a tedy nebude uvažována � --from=JEDNOTKA automaticky pÅ™eÅ¡káluje vstupní Äísla na JEDNOTKY. Výchozí je „none“ (žádná). Vizte JEDNOTKY níže. � --group-directories-first seskupí adresáře pÅ™ed soubory Zachová funkci pÅ™epínaÄe --sort, avÅ¡ak --sort=none (-U) seskupování potlaÄí. � --grouping sdruží Äíslice do skupin podle locale, napÅ™. 1 000 000 (což znamená, že nemá smysl v locale C Äi POSIX) � --header[=N] vypíše (bez pÅ™evodu) prvních N řádků hlaviÄky, výchozí hodnota N je 1 � --help vypíše tuto nápovÄ›du a skonÄí � --indicator-style=STYL k názvům souborů pÅ™idává indikátory ve STYLU: none (implicitnÄ› žádný), slash (-p), file-type (--file-type), classify (-F) -i, --inode ke každému souboru vypíše Äíslo jeho i-uzlu -I, --ignore=VZOR nevypisuje implikované soubory vyhovující shellovému VZORU -k, --kibibytes použije 1024bajtové bloky � --invalid=MÓD způsob selhání pÅ™i neplatných Äíslech: MÓD může být: abort (pÅ™eruÅ¡it, výchozí), fail (selhat), warn (varovat), ignore (ignorovat). � --lookup pokusí se získat kanonická jména poÄítaÄů z DNS -m pouze poÄítaÄe a uživatele pÅ™ipojené ke standardnímu vstupu -p, --process vypíše aktivní procesy obnovené initem � --no-preserve-root s „/“ nezachází zvláštnÄ› --preserve-root nemaže „/“ (výchozí) -r, -R, --recursive maže adresáře a jejich obsah rekurzivnÄ› -d, --dir maže prázdné adresáře -v, --verbose vypisuje, co je provádÄ›no � --no-preserve-root s „/“ se nezachází zvláštnÄ› (výchozí chování) --preserve-root odmítne rekurzivní zpracování nad „/“ � --no-preserve=SEZNAM_ATRIBUTÅ® nezachovává urÄené atributy --parents pÅ™idává zdrojovou cestu do cílového ADRESÃŘE � --one-file-system pÅ™i rekurzivním mazání vynechá adresáře, jež se nachází na jiném souborovém systému než přísluÅ¡ný argument z příkazové řádky � --output[=SEZNAM_POLOŽEK] výstup ve formátu urÄeném SEZNAMEM_POLOŽEK, nebo vypíše vÅ¡echny položky, je-li seznam vynechán. -P, --portability použije formát definovaný normou POSIX --sync zavolá „sync“ pÅ™ed získáním informací -t, --type=TYP ve výstupu pouze souborové systémy typu TYP -T, --print-type vypisuje typ souborového systému -x, --exclude-type=TYP ve výstupu nebudou souborové systémy typu TYP -v (ignorováno) � --padding=N vyplní výstup na N znaků. Kladné N zarovná zprava, záporné N zarovná zleva. Je-li výstup Å¡irší než N, výplň se ignoruje. Výchozí je automatická výplň, je-li nalezeno bílé místo. � --pid=PID s -f se ukonÄí, když proces s Äíslem PID skonÄí -q, --quiet, --silent nikdy nevypisuje názvy souborů --retry bude zkouÅ¡et otevřít soubor, i když je nebo bude nedostupný; vhodné pÅ™i sledování podle jména, tj. s --follow=name � --preserve-context zachová selinuxový bezpeÄnostní kontext -Z, --context=KONTEXT nastaví souborům a adresářům selinuxový bezp. kontext � --preserve-status skoÄí se stejným kódem jako PŘÃKAZ, i když příkazu vyprÅ¡el Äasový limit. --foreground nevyprší-li Äasový limit přímo dotazu shellu, dovolí PŘÃKAZU Äíst z TTY a pÅ™ijímat TTY signály. V tomto režimu potomkům PŘÃKAZU nebude nastaven Äasový limit. -k, --kill-after=DOBA rovněž zaÅ¡le signál KILL, pokud PŘÃKAZ poběží i po DOBU od zaslání původního signálu. -s, --signal=SIGNÃL urÄuje signál, který bude po vyprÅ¡ení limitu zaslán. SIGNÃL může být jméno jako „HUP“ nebo Äíslo. Seznam signálů lze získat příkazem „kill -l“. � --reference=RSOUBOR použije skupinou RSOUBORU namísto zadané hodnoty SKUPINA � --reference=RSOUBOR místo hodnoty PRÃVA použije práva souboru RSOUBOR � --reference=RSOUBOR místo zadání hodnot VLASTNÃK:SKUPINA použije vlastníka a skupinu souboru RSOUBOR � --reference=RSOUBOR místo zadání hodnoty KONTEXT použije bezpeÄnostní kontext souboru RSOUBOR � --rfc-3339=PŘESNOST vypíše datum a Äas podle RFC 3339. PŘESNOST musí být „date“, „seconds“, nebo „ns“ a Äas bude vrácen s pÅ™esností na dny, sekundy nebo nanosekundy. Datum a Äas budou oddÄ›leny jednou mezerou. Příklad: 2006-08-07 12:34:56-06:00 -s, --set=ŘETÄšZEC nastaví datum podle ŘETÄšZCE -u, --utc, --universal nastaví nebo vypíše UTC (svÄ›tový koordinovaný Äas) � --round=METODA zaokrouhlovací metoda použitá pÅ™i Å¡kálování. METODA může být: up (nahoru), down (dolů), from-zero (z nuly, výchozí), towards-zero (k nule), nearest (nejbližší) � --sort=SLOVO Å™adí podle SLOVA: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort pÅ™irozené Å™azení (verzovacích) Äísel v textu � --sparse=KDY řídí tvorbu souborů s dírami. Vizte níže --strip-trailing-slashes odstraňuje lomítka na konci názvů vÅ¡ech ZDROJÅ® � --strict spolu s --check vrátí nenulový kód pÅ™i neplatném vstupu � --strip-trailing-slashes odstraní vÅ¡echna lomítka z konce ZDROJE(Å®) -S, --suffix=PŘÃPONA přípona záložních souborů � --suffix=PŘÃPONA k šablonÄ› pÅ™ipojí PŘÃPONU. PŘÃPONA nesmí obsahovat lomítko. Tento pÅ™epínaÄ se aktivuje, pokud Å ABLONA nekonÄí na X. � --suffix=PŘÃPONA pÅ™idá k výstupním Äíslům PŘÃPONU a pÅ™ijímá volitelnou PŘÃPONU u vstupních Äísel � --tag vytvoří kontrolní souÄet ve stylu BSD � --time-style=STYL s -l vypisuje Äas ve STYLU: full-iso (plný), long-iso (dlouhý), iso, locale (národní), +FORMÃT. FORMÃT má stejný význam jako u „date“; pokud FORMÃT je ve tvaru FORMÃT1<nový řádek>FORMÃT2, FORMÃT1 se použije na starší soubory a FORMÃT2 na mladší soubory; pokud STYL zaÄíná na „posix-“, bude STYL uvažován jen mimo POSIXOVÉ locale � --tmpdir[=ADR] interpretuje Å ABLONU relativnÄ› k adresáři ADR. Není-li ADR zadán, použije $TMPDIR, je-li nastavena, jinak /tmp. S tímto pÅ™epínaÄem Å ABLONA nesmí být absolutním jménem. Na rozdíl od -t Å ABLONA smí obsahovat lomítka, avÅ¡ak i zde mktemp vytvoří jen závÄ›reÄnou složku cesty � --to-unit=N velikost výstupní jednotky (místo výchozí 1). � --to=JEDNOTKA automaticky pÅ™eÅ¡káluje výstupní Äísla do JEDNOTEK. Vizte JEDNOTKY níže. � --verbose pÅ™ed otevÅ™ením každého výstupního souboru vypíše oznámení o tomto � --version vypíše oznaÄení verze a skonÄí � --all vypíše poÄet nainstalovaných procesorů --ignore=N je-li možno, vynechá N výpoÄetních jednotek � -evenp jako -parenb cs8 * [-]lcase jako xcase iuclc olcuc litout jako -parenb -istrip -opost cs8 -litout jako parenb istrip opost cs7 nl jako -icrnl -onlcr -nl jako icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb použije dva stop bity (jeden stop bit pomocí „-“) [-]hup poÅ¡le signál hangup, když poslední proces uzavÅ™e tty [-]hupcl jako [-]hup [-]parenb generuje paritní bit na výstupu a oÄekává ho na vstupu [-]parodd nastaví lichou paritu (nebo sudou pomocí „-“) � [-]ignpar ignoruje znaky s chybnou paritou * [-]imaxbel zvukový signál a nevyprázdnÄ›ní plného vstupního bufferu pÅ™i novém příchozím znaku [-]inlcr pÅ™ekládá LF (newline) na CR (carriage return) [-]inpck zaÄne kontrolovat paritu na vstupu [-]istrip nuluje horní (8.) bit vstupních znaků � [-]isig povolí speciální znaky interrupt, quit a suspend [-]noflsh zakáže vyprázdnÄ›ní bufferů po speciálních znacích interrupt a quit * [-]prterase jako [-]echoprt * [-]tostop pozastaví procesy na pozadí, které se pokouÅ¡ejí o zápis na terminál * [-]xcase spolu s icanon použije escape sekvenci („\“) pro velká písmena � cooked jako brkint ignpar istrip icrnl ixon opost isig znaky icanon, eof a eol jsou nastaveny na jejich implicitní hodnoty -cooked jako raw crt jako echoe echoctl echoke � dec jako echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq jako [-]ixany ek znaky erase a kill vrátí na jejich implicitní hodnoty evenp jako parenb -parodd cs7 � ispeed N nastaví vstupní rychlost na N * line N použije linkovou disciplínu N min N spolu s -icanon nastaví N znaků jako minimum pro ukonÄení Ätení ospeed N nastaví rychlost výstupu na N � oddp jako parenb parodd cs7 -oddp jako -parenb cs8 [-]parity jako [-]evenp pass8 jako -parenb -istrip cs8 -pass8 jako parenb istrip cs7 � raw jako -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw jako cooked � sane jako cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, vÅ¡echny speciální znaky vrátí na jejich implicitní hodnoty � stop ZNAK ZNAK, který pozastavuje výstup susp ZNAK ZNAK, který posílá signál „terminal stop“ * swtch ZNAK ZNAK, který pÅ™epíná na jinou vrstvu shellu * werase ZNAK ZNAK, který maže poslední zapsané slovo � %% jeden znak procenta („%“) %%b ARGUMENT jako Å™etÄ›zec, kde jsou interpretovány escape sekvence („\“), až na to, že osmiÄkové zápisy jsou tvaru \0 nebo \0NNN a vÅ¡echny specifikace formátu z jazyka C konÄící jedním znakem z diouxXfeEgGcs s ARGUMENTY pÅ™evedenými nejprve na odpovídající typ. Šířky promÄ›nných jsou respektovány. � %A celé jméno dne podle lokalizace (napÅ™. NedÄ›le) %b zkrácené jméno mÄ›síce podle lokalizace (napÅ™. led) %B celé jméno mÄ›síce podle lokalizace (napÅ™. leden) %c datum a Äas podle lokalizace (napÅ™. Ne 14. leden 2007, 00:49:20 CET) � %C století; jako %Y, ale vynechá poslední dvÄ› Äíslice (napÅ™. 20) %d Äíslo dne v mÄ›síci (napÅ™. 01) %D datum; stejné jako %m/%d/%y %e den v mÄ›síci zarovnaný mezerami; stejné jako %_d � %F plné datum; stejné jako %Y-%m-%d %g poslední dvÄ› Äíslice roku dle ISO Äíslování týdnů (vizte %G) %G rok dle ISO Äíslování týdnů (vizte %V); obvykle užiteÄné jen s %V � %S sekundy (00..61) %t vodorovný tabulátor %T Äas; stejné jako %H:%M:%S %u den v týdnu (1..7); 1 znamená pondÄ›lí � %U Äíslo týdne v daném roce, nedÄ›le jako první den v týdnu (00..53) %V Äíslo týdne v daném roce dle ISO normy, pondÄ›lí jako první den v týdnu (01..53) %w den v týdnu (0..6); 0 znamená nedÄ›li %W Äíslo týdne v daném roce, pondÄ›lí jako první den v týdnu (00..53) � %d Äíslo zařízení desítkovÄ› %D Äíslo zařízení Å¡estnáctkovÄ› %f syrový mód (st_mode; práva a druh) Å¡estnáctkovÄ› %F druh souboru %g ID skupiny vlastníka %G jméno skupiny vlastníka � %h poÄet pevných odkazů %i Äíslo i-uzlu %m místo pÅ™ipojení %n jméno souboru %N escapované jméno souboru dereferencované, jde-li se o symbolický odkaz %o nejlepší velikost bloku pÅ™i I/O pÅ™enosu %s celková velikost v bajtech %t hlavní Äíslo zařízení Å¡estnáctkovÄ› %T vedlejší Äíslo zařízení Å¡estnáctkovÄ› � %h jako %b %H hodina (00..23) %I hodina (01..12) %j Äíslo dne v roce (001..366) � %i ID systému souborů Å¡estnáctkovÄ› %l nejvÄ›tší délka jména souboru %n jméno souboru %s velikost bloku (pro rychlejší pÅ™enosy) %S velikost základního bloku (pro poÄty bloků) %t druh Å¡estnáctkovÄ› %T druh v podobÄ› vhodné pro ÄlovÄ›ka � %k hodina, odsazená mezerou ( 0..23), stejné jako %_H %l hodina, odsazená mezerou ( 1..12), stejné jako %_I %m mÄ›síc (01..12) %M minuta (00..59) � %n nový řádek %N nanosekundy (000000000..999999999) %p Å™etÄ›zec odpovídající anglickým AM a PM podle lokalizace; prázdný pokud není známo %P jako %p, ale malými písmeny %r Äas, 12-hodinový podle lokalizace (napÅ™. 11:11:04) %R hodiny a minuty v 24h cyklu; stejné jako %H:%M %s poÄet sekund od 00:00:00 1. 1. 1970 UTC � %u uživatelské ID vlastníka %U uživatelské jméno vlastníka %w Äas vzniku souboru v pÅ™irozených jednotkách nebo „-“, není-li znám %W Äas vzniku souboru v sekundách od poÄátku unixové epochy nebo „0“, není-li znám %x Äas posledního přístupu v pÅ™irozených jednotkách %X Äas posledního přístupu v sekundách od poÄátku unixové epochy %y Äas poslední zmÄ›ny obsahu v pÅ™irozených jednotkách %Y Äas poslední zmÄ›ny obsahu v sekundách od poÄátku unixové epochy %z Äas poslední zmÄ›ny i-uzlu v pÅ™irozených jednotkách %Z Äas poslední zmÄ›ny i-uzlu v sekundách od poÄátku unixové epochy � %x reprezentace data podle lokalizace (napÅ™. 14.01.2007) %X reprezentace Äasu podle lokalizace (napÅ™. 23:13:48) %y poslední dvÄ› Äíslice letopoÄtu (00..99) %Y rok � %z Äasové pásmo ve formátu +hhmm (napÅ™. +0100) %:z Äasové pásmo ve formátu +hh:mm (napÅ™. +01:00) %::z Äasové pásmo ve formátu +hh:mm:ss (napÅ™. +01:00:00) %:::z Äasové pásmo s postaÄující nejmenší pÅ™esností a dvojteÄkou jako oddÄ›lovaÄem (napÅ™. -04, +05:30) %Z Äasové pásmo vyjádÅ™ené písmennou zkratkou (napÅ™. CET) ImplicitnÄ› jsou Äíselné položky data zarovnány nulami. � + TOKEN zpracuje TOKEN jako Å™etÄ›zec, i když se jedná o klíÄové slovo jako „match“ nebo operátor jako „/“ ( VÃRAZ ) hodnota VÃRAZU � +PRVNÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA], --pages=PRVNÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA] zaÄne [skonÄí] výpis na stránce PRVNÃ_[POSLEDNÃ_]STRÃNKA -SLOUPCÅ®, --columns=SLOUPCÅ® produkuje SLOUPCÅ®-sloupcový výstup. Řádky vypisuje na stránku do sloupců, pokud není použit pÅ™epínaÄ -a. Také se snaží vyrovnat poÄet řádků ve sloupcích � - +FORMÃT (napÅ™. +%H:%M) pro formát jako u „date“ � --output-delimiter=ŘET oddÄ›luje sloupce pomocí ŘET � --userspec=UŽIVATEL:SKUPINA urÄuje uživatele a skupinu (ID nebo jméno), který se použije --groups=SEZNAM_SKUPIN urÄuje doplňkové skupiny (zápis: S1,S2,…,Sn) � -0, --null řádky výstupu zakonÄí nulovým bajtem místo znakem nového řádku -a, --all vypíše velikost i souborů, ne jen adresářů --apparent-size vypíše velikost obsahu souborů místo zabraného diskového prostoru; aÄkoliv velikost obsahu bývá menší, kvůli dírám v „řídkých“ souborech, vnitÅ™ní fragmentaci, nepřímým blokům apod. může být i vÄ›tší. � -0, --null každý výstupní řádek zakonÄí nulový bajtem místo znakem nového řádku � -A, --address-radix=ZÃKLAD formát výstupu pro pozice v souboru. ZÃKLAD je jeden z [doxn] pro soustavu desítkovou, osmiÄkovou, Å¡estnáctkovou nebo žádnou -j, --skip-bytes=POÄŒET pÅ™eskoÄí prvních POÄŒET bajtů ze vstupu � -A, --auto-reference ve výstupu jsou automaticky generované odkazy -G, --traditional způsobí chování jako „ptx“ ze System V -F, --flag-truncation=ŘETÄšZEC použije ŘETÄšZEC pro urÄení zkracování řádků � -B --block-size=VELIKOST velikosti vypisuje v násobcích VELIKOSTI. NapÅ™. „-BM“ vypisuje velikosti v jednotkách po 1 048 576 bajtech. Popis formátu VELIKOSTI naleznete níže. -b, --bytes rovnocenné s „--apparent-size --block-size=1“ -c, --total vypíše i celkový souÄet -D, --dereference-args následuje jen symbolické odkazy, které jsou uvedeny na příkazové řádce -d, --max-depth=N vypíše souÄet pro adresář (nebo soubor spolu s --all) pouze, když je N nebo ménÄ› úrovní pod argumentem z příkazového řádku. --max-depth=0 je rovno pÅ™epínaÄi --summarize. � -C vypisuje položky ve sloupcích --color[=KDY] obarví výstup. KDY je implicitnÄ› „always“ (vždy), další hodnoty jsou „never“ (nikdy) nebo „auto“. Podrobnosti níže -d, --directory vypíše názvy adresářů místo jejich obsahu a nenásleduje symbolické odkazy -D, --dired generuje výstup formátovaný pro Emacsový mód „dired“ � -D vytvoří vÅ¡echny úvodní komponenty CÃLE kromÄ› poslední, pak zkopíruje ZDROJ do CÃLE -g, --group=SKUPINA nastaví skupinu souboru na SKUPINU místo skupiny aktuálního procesu -m, --mode=PRÃVA nastaví přístupová práva souboru na PRÃVA (zadána jako pro chmod) místo rwxr-xr-x -o, --owner=VLASTNÃK nastaví vlastníka souboru (pouze superuživatel – root) � -D, --all-repeated[=ZPÅ®SOB_ODDÄšLENÃ] vypisuje vÅ¡echny opakující se řádky; ZPÅ®SOB_ODDÄšLENÃ: „none“ (žádný, implicitní), „prepend“ (uvozující), „separate“ (oddÄ›lující); OddÄ›luje se prázdným řádkem -f, --skip-fields=N neporovnává prvních N položek -i, --ignore-case ignoruje rozdíl mezi malými a velkými písmeny -s, --skip-chars=N neporovnává prvních N znaků -u, --unique vypisuje pouze neopakující se řádky -z, --zero-terminated řádky zakonÄuje nulovým bajtem, ne znakem nového řádku � -D, --date-format=FORMÃT použije FORMÃT pro datum v hlaviÄce -e[ZNAK[Å ÃŘKA]], --expand-tabs[=ZNAK[Å ÃŘKA]] expanduje vstupní ZNAKY (tabelátory) na Å ÃŘKU (8) mezer -F, -f, --form-feed použije znak nové stránky (FF) místo nových řádků (CR) k oddÄ›lení stránek (a 3řádkovou hlaviÄku stránky pÅ™i -F nebo 5řádkovou hlaviÄku s patiÄkou bez -F). � -G, --no-group pÅ™i dlouhém formátu nevypisuje informace o skupinách -h, --human-readable pÅ™i -l vypisuje velikosti ve formátu pohodlném pro ÄlovÄ›ka (napÅ™. 1K, 234M, 2G) --si jako pÅ™edchozí, ale jednotky jsou násobky 1000 a ne 1024. � -H, --dereference-command-line následuje symbolické odkazy uvedené na příkazové řádce --dereference-command-line-symlink-to-dir následuje každý symbolický odkaz z příkazové řádky, který ukazuje na adresář --hide=VZOR nevypisuje implikované položky odpovídající shellovému VZORU (lze pÅ™ebít pÅ™epínaÄi -a a -A) � -I zeptá se jednou pÅ™ed smazáním více než tří souborů, nebo rekurzivním mazáním. Obtěžuje ménÄ› než -i, pÅ™esto poskytuje ochranu proti vÄ›tÅ¡inÄ› chyb. --interactive[=KDY] ptá se podle KDY: „never“ (nikdy), „once“ (jednou, -I) nebo „always“ (vždy, -i). Bez KDY se ptá vždy. � -L SOUBOR SOUBOR existuje a je symbolický odkaz (stejné jako -h) -O SOUBOR SOUBOR existuje a je vlastnÄ›n aktuálním efektivním UID -p SOUBOR SOUBOR existuje a je pojmenovaná roura -r SOUBOR SOUBOR existuje a je Äitelný -s SOUBOR SOUBOR existuje a má délku vÄ›tší než nula � -L, --dereference následuje odkazy -f, --file-system zobrazí informace o souborovém systému místo o souboru � -L, --logical použije PWD z prostÅ™edí, i když obsahuje symbolické odkazy -P, --physical vyhne se vÅ¡em symbolickým odkazům � -M, --macro-name=ŘETÄšZEC jméno makra, které se má použít místo „xx“ -O, --format=roff generuje výstup pro program roff -R, --right-side-refs vloží odkazy vpravo, nepoÄítány v -w -S, --sentence-regexp=REGVÃR pro konec řádků a konec vÄ›t -T, --format=tex generuje výstup pro TeX � -N, --read-bytes=POÄŒET vypíše pouze POÄŒET bajtů ze vstupu -S POÄŒET, --strings[=POÄŒET] vypíše pouze Å™etÄ›zce obsahující nejménÄ› POÄŒET grafických znaků (výchozí je 3) -t, --format=TYP vybere výstupní formát nebo formáty -v, --output-duplicates potlaÄené řádky neoznaÄuje „*“ -w[POÄŒET], --width[=POÄŒET] vypíše POÄŒET bajtů na výstupní řádek (výchozí je 32) --traditional pÅ™ijímá argumenty v pÅ™ed-POSIXOVÉM tvaru � -P, --no-dereference nenásleduje symbolické odkazy (výchozí chování) -S, --separate-dirs nezahrnuje velikosti podadresářů --si jako -h, ale používá mocniny 1000 a ne 1024 -s, --summarize vypíše pouze celkový souÄet pro každý argument � -R, --recursive působí na soubory a adresáře rekurzivnÄ› � -R, --recursive vykoná se rekurzivnÄ› i v podadresářích � -R, -r, --recursive kopíruje adresáře rekurzivnÄ› --reflink=[KDY] řídí klonované/CoW kopie. Vizte níže --remove-destination odstraní každý cílový soubor dříve, než se jej pokusí otevřít (opak --force) � -S výstup seÅ™adí podle délky souborů --sort=SLOVO výstup seÅ™adí podle SLOVA: none (-U), extension (-X), size (-S), time (-t),version (-v) --time=SLOVO s -l vypisuje Äas podle SLOVA místo Äasu poslední zmÄ›ny obsahu: atime (-u), access (-u), use (-u), ctime (-c) nebo status (-c); jestliže je zadán pÅ™epínaÄ --sort=time, použije se tento Äas jako Å™adicí klÃ­Ä � -S SOUBOR SOUBOR existuje a je socket -t FD SOUBOR s deskriptorem FD je otevÅ™en na terminálu -u SOUBOR SOUBOR existuje a má nastaven suid bit -w SOUBOR SOUBOR existuje a lze do nÄ›j zapisovat -x SOUBOR SOUBOR existuje a je spustitelný (nebo vstoupitelný adresář) � -S, --suffix=PŘÃPONA zmÄ›ní příponu záloh na PŘÃPONU -t, --target-directory=ADRESÃŘ urÄí ADRESÃŘ, v kterém se budou vytvářet odkazy -T, --no-target-directory vždy považuje JMÉNO_ODKAZU za běžný soubor -v, --verbose tiskne jména vÅ¡ech odkazů � -S[ŘETÄšZEC], --sep-string[=ŘETÄšZEC] oddÄ›lí sloupce ŘETÄšZCEM, bez -S ale s -J: implicitní oddÄ›lovaÄ je TAB bez -S a bez -J: mezera (rovnocenné s -S" ") neovlivňuje parametry sloupců. -t, --omit-header nevypisuje hlaviÄky a patiÄky stránek � -T, --omit-pagination nevypisuje hlaviÄky a patiÄky stránek, ignoruje rozvržení stránek vstupního souboru (ignoruje znak nové stránky FF) -v, --show-nonprinting použije osmiÄkovou notaci se zpÄ›tným lomítkem -w, --width=Å ÃŘKA_STRÃNKY nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků pouze pro vícesloupcový výstup, -s[ZNAK] vypíná (72) � -T, -w, --mesg pÅ™ipojí stav možnosti posílat zprávy (+, - nebo ?) -u, --users vypíše seznam pÅ™ihlášených uživatelů --message jako -T --writable jako -T � -W, --page-width=Å ÃŘKA_STRÃNKY nastaví šířku stránky na Å ÃŘKA_STRÃNKY (72) znaků vždy, když není zadán pÅ™epínaÄ -J, zkracuje řádky; neovlivňuje -S nebo -s. � -W, --word-regexp=REGVÃR použije REGVÃR pro urÄení každého slova -b, --break-file=SOUBOR znaky pÅ™eruÅ¡ující slovo v tomto SOUBORU -f, --ignore-case pÅ™epsání malých písmen na velká pro Å™azení -g, --gap-size=ÄŒÃSLO velikost mezery ve sloupcích mezi výstupními položkami -i, --ignore-file=SOUBOR pÅ™eÄte slova, která se mají ignorovat ze SOUBORU -o, --only-file=SOUBOR pÅ™eÄtení seznamu slov pouze ze SOUBORU � -X, --exclude-from=SOUBOR vynechá soubory odpovídající jakémukoliv vzoru v SOUBORU --exclude=VZOR vynechá soubory, které odpovídají VZORU -x, --one-file-system pÅ™eskoÄí adresáře z jiných souborových systémů � -Z, --context=KTX nastaví selinuxový bezpeÄnostní kontext JMÉNU na KTX � -Z, --context=KTX nastaví selinuxový bezpeÄnostní kontext každému JMÉNU na KTX � -a zmÄ›ní pouze Äas posledního přístupu -c, --no-create nevytvoří nové soubory -d, --date=ŘETÄšZEC analyzuje ŘETÄšZEC a použije ho místo aktuálního Äasu -f (ignorován) � -a, --across vypisuje řádky pÅ™es sloupce. Používá se dohromady s pÅ™epínaÄem -SLOUPCÅ®. -c, --show-control-chars použije zobáÄkovou notaci (^G) a notaci osmiÄkovou se zpÄ›tným lomítkem -d, --double-space za každý řádek vloží jeden prázdný � -a, --all vypíše i soubory zaÄínající teÄkou -A, --almost-all vypíše vÅ¡echny soubory kromÄ› souborů „.“ a „..“ --author spolu s -l vypíše autora každého souboru -b, --escape negrafické znaky escapuje ve stylu jazyka C � -a, --all také pseudosouborové systémy -B --block-size=VELIKOST velikosti vypisuje v násobcích VELIKOSTI. NapÅ™. „-BM“ vypisuje velikosti v jednotkách po 1 048 576 bajtech. Popis formátu VELIKOSTI naleznete níže. --total vypíše celkový souÄet -h, --human-readable velikosti ve formátu Äitelném pro ÄlovÄ›ka (napÅ™. 1K 234M 2G) -H, --si podobnÄ› jako pÅ™edchozí, ale násobky 1000, ne 1024 � -a, --all vypíše vÅ¡echna nastavení ve formÄ› pro ÄlovÄ›ka Äitelné -g, --save vypíše vÅ¡echna nastavení ve formÄ› pro stty -F, --file=ZAŘÃZENà místo stdin otevÅ™e a použije zadané zařízení � -a, --all pÅ™evádí vÅ¡echny mezery místo pouze úvodních --first-only pÅ™evádí pouze úvodní sekvence mezer (pÅ™ebije -a) -t, --tabs=POÄŒET nastaví tabelátor na POÄŒET mezer místo 8, (zapne -a) -t, --tabs=SEZNAM použije Äárkami oddÄ›lený seznam pro pozice tabelátorů (zapne -a) � -a, --archive stejné jako -dR --preserve=all --attributes-only nekopíruje obsah souboru, pouze jeho atributy --backup=[TYP] vytvoří záložní kopie pÅ™episovaných souborů -b jako --backup, ale bez argumentu --copy-contents v rekurzivním režimu kopíruje obsah speciálních souborů -d, stejné jako --no-dereference --preserve=links � -a, --multiple zpracuje násobné argumenty, každý považuje za JMÉNO -s, --suffix=PŘÃPONA odstraní koncovou PŘÃPONU -z, --zero oddÄ›luje výstup pomocí znaku NUL namísto novým řádkem � -a, --suffix-length=N použije přípony délky N (výchozí je %d) --additional-suffix=PŘÃPONA k názvům souborů pÅ™ipojí dodateÄnou PŘÃPONU. -b, --bytes=VELIKOST zapíše VELIKOST bajtů do každého výstupního souboru -C, --line-bytes=VELIKOST zapíše nejvýše VELIKOST bajtů na výstupní řádek do každého souboru -d, --numeric-suffixes[=OD] použije Äíselné přípony místo abecedních, OD mÄ›ní poÄáteÄní hodnotu (výchozí je 0). -e, --elide-empty-files netvoří prázdné výstupní soubory, je-li použito „-n“ --filter=PŘÃKAZ zapíše do shellového PŘÃKAZU, název souboru je $FILE -l, --lines=POÄŒET zapíše POÄŒET řádků do každého výstupního souboru -n, --number=DÃLÅ® vytvoří DÃLÅ® výstupních souborů. Vizte níže. -u, --unbuffered okamžitÄ› kopíruje vstup na výstup spolu s „-n r/…“ � -b, --before pÅ™ipojí oddÄ›lovaÄ Å™Ã¡dků pÅ™ed řádky místo za nÄ› -r, --regex interpretuje oddÄ›lovaÄ jako regulární výraz -s, --separator=ŘETÄšZEC použije ŘETÄšZCE jako oddÄ›lovaÄe místo nového řádku � -b, --binary Äte v binárním módu � -b, --binary Äte v binárním módu (výchozí, pokud neÄte standardní vstup terminálu) � -b, --body-numbering=STYL použije STYL k Äíslování řádků v tÄ›le -d, --section-delimiter=CC použije CC pro oddÄ›lení logických stránek -f, --footer-numbering=STYL použije STYL k Äíslování řádků v patiÄce � -b, --bytes pro zalamování poÄítá bajty na řádku místo sloupců -s, --spaces zalamuje řádky v mezerách -w, --width=Å ÃŘKA používá Å ÃŘKA sloupců místo 80 � -b, --bytes=SEZNAM vypíše pouze tyto bajty -c, --characters=SEZNAM vypíše pouze tyto znaky -d, --delimiter=ODDÄšLOVAÄŒ jako oddÄ›lovaÄ použije ODDÄšLOVAÄŒ (místo tabulátoru) � -b, --ignore-leading-blanks ignoruje úvodní mezery -d, --dictionary-order uvažuje pouze mezery a alfanumerické znaky -f, --ignore-case pÅ™evede malá písmena na velká � -b, --suffix-format=FORMÃT použije sprintf FORMÃT místo %02d -f, --prefix=PŘEDPONA použije PŘEDPONY místo „xx“ -k, --keep-files nemaže výstupní soubory pÅ™i chybách � -c --format=FORMÃT použije zadaný FORMÃT místo implicitního; za každým FORMÃTEM odřádkuje --printf=FORMAT jako --format, ale rozpozná escape sekvence zpÄ›tných lomítek a implicitnÄ› neodřádkuje. Pro odřádkování pÅ™idejte do FORMÃTU „\n“ -t, --terse vytiskne informace ve struÄné podobÄ› � -c, --bytes=K vypíše posledních K bajtů; mimo jiné lze použít zápis -c +K k vypsání bajtů poÄínaje K. z každého souboru � -c, --bytes=[-]K vypíše prvních K bajtů z každého souboru; uvedení „-“ způsobí vypsání vÅ¡ech kromÄ› posledních K bajtů každého souboru -n, --lines=[-]K vypíše prvních K řádků místo prvních 10; uvedení „-“ způsobí vypsání vÅ¡ech kromÄ› posledních K řádků z každého souboru � -c, --changes jako verbose, ale hlásí jen zmÄ›ny -s, --quiet, --silent potlaÄí vÄ›tÅ¡inu chybových hlášek -v, --verbose informuje o každém zpracovávaném souboru � -c, --check porovnává souÄty %s se zadanými v SOUBORECH � -c, --check, --check=diagnose-first zkontroluje, zda vstup je seÅ™azen; neÅ™adí -C, --check=quiet, --check=silent jako -c, ale nehlásí první chybnou řádku --compress-program=PROGRAM pomocné soubory komprimuje příkazem PROGRAM, dekomprimuje je pomocí PROGRAM -d � -c, --count pÅ™ed každý řádek vloží poÄet výskytů -d, --repeated vypisuje pouze opakující se řádky � -c, --crown-margin zachová odsazení prvních dvou řádků -p, --prefix=ŘETÄšZEC pracuje pouze s řádky majícími ŘETÄšZEC jako prefix -s, --split-only pouze rozdÄ›lí dlouhé řádky � -c, --no-create nevytváří žádné soubory � -d, --date=ŘETÄšZEC vypíše Äas zadaný jako ŘETÄšZEC, nikoli aktuální -f, --file=DATASOUBOR jako --date, ale Äasy jsou v DATASOUBORU, -I[PŘESNOST], --iso-8601[=PŘESNOST] vypíše datum/Äas ve tvaru urÄeném ISO 8601. PŘESNOST musí být „date“ pro pouhé datum (výchozí), „hours“, „minutes“, „seconds“, nebo „ns“, kdy Äas bude vrácen s pÅ™esností na hodiny, minuty, sekundy nebo nanosekundy. � -d, --decode rozkóduje data -i, --ignore-garbage bÄ›hem dekódování ignoruje neabecední znaky -w, --wrap=SLOUPCÅ® zalomí zakódované řádky po SLOUPCÅ® znacích (výchozí 76). Zalamování lze zakázat hodnotou 0 � -d, --delimiter=X jako oddÄ›lovaÄ položek použije X namísto bílého místa � -d, --delimiters=SEZNAM použije znaků ze SEZNAMU jako oddÄ›lovaÄů (místo tabelátorů) -s, --serial vypíše soubory za sebou místo vedle sebe � -d, --directory vytvoří adresář, ne soubor -u, --dry-run nevytváří nic, jen vytiskne jméno (není bezpeÄné) -q, --quiet potlaÄí hlášky o chybÄ› pÅ™i vytváření souboru/adresáře � -e povolí interpretaci escape sekvencí zaÄínajících zpÄ›tným lomítkem -E zakáže interpretaci escape sekvencí uvozených zpÄ›tným lomítkem (běžné chování) � -e povolí interpretaci escape sekvencí zaÄínajících zpÄ›tným lomítkem (běžné chování) -E zakáže interpretaci escape sekvencí uvozených zpÄ›tným lomítkem � -e, --canonicalize-existing vÅ¡echny Äásti cesty musí existovat -m, --canonicalize-missing žádná Äást cesty nemusí existovat -L, --logical Äást „..“ se vyhodnotí pÅ™es symbolickými odkazy -P, --physical symbolické odkazy se vyhodnocuji v původním poÅ™adí (výchozí) -q, --quiet potlaÄí vÄ›tÅ¡inu chybových hlášek --relative-to=SOUBOR cestu vyhodnotí vzhledem k SOUBORU --relative-base=SOUBOR vypíše absolutní cestu, nekonÄí-li pod SOUBOREM -s, --strip, --no-symlinks nevyhodnocuje symbolické odkazy -z, --zero výstup bude oddÄ›len nulovými znaky namísto znaky konce řádku � -e, --echo každý ARG považuje za vstupní řádek -i, --input-range=DO-HO každé Äíslo DO až HO považuje za vstupní řádek -n, --head-count=POÄŒET vypíše nejvýše POÄŒET řádků -o, --output=SOUBOR výsledek zapíše do SOUBORU na místo na standardní výstup --random-source=SOUBOR získá náhodné bajty ze SOUBORU -z, --zero-terminated řádky zakonÄí bajtem 0 místo znakem nového řádku � -f neseÅ™adí výstup, povolí -aU, zakáže -ls --color -F, --classify k názvům souborů pÅ™idá znak urÄující jejich typ (jeden z */=>@|) --file-type podobnÄ›, ale nepÅ™idává „*“ --format=SLOVO across jako -x, commas jako -m, horizontal jako -x, long jako -l, single-column jako -1, verbose jako -l, vertical jako -C --full-time jako -l --time-style=full-iso � -f nevypisuje hlaviÄky sloupců v krátkém formátu -w nevypisuje celé jméno v krátkém formátu -i nevypisuje celé jméno a odkud v krátkém formátu -q nevypisuje celé jméno, odkud a prostoj v krátkém formátu � -f stejné jako -t fF, Äísla v pohyblivé řádové Äárce -i stejné jako -t dI, desítková se znaménkem (dvoubajtová) -l stejné jako -t dL, desítková se znaménkem (ÄtyÅ™bajtová) -o stejné jako -t o2, osmiÄková (dvoubajtová) -s stejné jako -t d2, desítková (dvoubajtová) -x stejné jako -t x2, Å¡estnáctková (dvoubajtová) � -f SOUBOR SOUBOR existuje a je to obyÄejný soubor (ne adresář) -g SOUBOR SOUBOR existuje a má nastaven sgid bit -G SOUBOR SOUBOR existuje a je vlastnÄ›n aktuálním efektivním GID -h SOUBOR SOUBOR existuje a je to symbolický odkaz (stejné jako -L) -k SOUBOR SOUBOR existuje a má nastaven „sticky“ bit � -f, --canonicalize kanonizuje rekurzivním následováním každého symbolického odkazu v každé Äásti zadaného názvu; vÅ¡echny Äásti až na poslední musí existovat -e, --canonicalize-existing kanonizuje rekurzivním následováním každého symbolického odkazu v každé Äásti zadaného názvu; vÅ¡echny Äásti musí existovat � -f, --fields=SEZNAM vypíše pouze tyto položky; také vypíše vÅ¡echny řádky, které neobsahují oddÄ›lovaÄ, ale pouze pokud není zadáno -s -n (ignorováno) � -f, --follow[={name|descriptor}] vypisuje pouze data pÅ™idávaná do souboru („name“ – sleduje dle jména souboru, „descriptor“ – dle deskriptoru souboru) -f, --follow a --follow=descriptor jsou stejné -F stejné jako --follow=name --retry � -f, --force pokud cílový soubor existuje ale nelze jej otevřít, smaže jej a zkusí to znovu (ignorováno, je-li rovněž použit pÅ™epínaÄ -n) -i, --interactive ptá se pÅ™ed pÅ™epsáním (pÅ™ebije pÅ™edcházející pÅ™epínaÄ -n) -H následuje symbolické odkazy z příkazové řádky ve ZDROJI � -f, --force povolí zmÄ›nu práva pro zápis do souboru, jestliže je to nutné -n, --iterations=N pÅ™epíše N krát, místo implicitního poÄtu (%d) --random-source=SOUBOR získá náhodné bajty ze SOUBORU -s, --size=N aplikuje na toto množství bajtů (přípony jako K, M, G jsou možné) � -f, --format=FORMÃT použije printf FORMÃT pro výpis reálných Äísel -s, --separator=ŘETÄšZEC použije ŘETÄšZEC k oddÄ›lení Äísel (implicitnÄ›: \n) -w, --equal-width srovná šířku zarovnáním úvodními nulami � -g jako -l, ale nevypisuje vlastníka � -g GID[,GID1…] taktéž nastaví primární ID skupiny na Äíslo GID a (je-li zadáno) ID doplňkových skupin na GID1, … � -g, --general-numeric-sort porovnává podle obecných Äíselných hodnot -i, --ignore-nonprinting uvažuje pouze tisknutelné znaky -M, --month-sort porovnává podle mÄ›síců (neznámý) < „LED“ < … < „PRO“ � -h, --header-numbering=STYL použije STYL k Äíslování řádků v hlaviÄce -i, --page-increment=ÄŒÃSLO o kolik zvyÅ¡ovat Äíslo řádku -l, --join-blank-lines=POÄŒET bere POÄŒET prázdných řádků jako jeden -n, --number-format=FORMÃT Äísla řádků vypisuje podle FORMÃTU -p, --no-renumber nenuluje Äíslo řádku na poÄátku logické stránky -s, --number-separator=ŘETÄšZEC pÅ™idá ŘETÄšZEC za Äíslo řádku (oddÄ›lovaÄ Äísla od dalšího řádku) � -h, --header=HLAVIÄŒKA použije vystÅ™edÄ›nou HLAVIÄŒKU místo jména souboru. -h "" vypíše prázdný řádek, nepoužívejte -h"" -i[ZNAK[Å ÃŘKA]], --output-tabs[=ZNAK[Å ÃŘKA]] nahradí Å ÃŘKA (8) mezer ZNAKEM (tabelátorem) -J, --join-lines slije celé řádky, vypne zkracování řádků pÅ™e -W, zruší zarovnání sloupců, --sep-string[=ŘETÄšZEC] nastavuje oddÄ›lovaÄe � -h, --human-numeric-sort porovnává Äísla v lidsky Äitelné podobÄ› (například 2K 1G) � -h, --no-dereference působí na symbolický odkaz místo na soubor, na který odkaz odkazuje (funguje pouze na systémech, které mohou mÄ›nit Äasy symbolických odkazů) -m zmÄ›ní pouze Äas poslední zmÄ›ny obsahu souboru � -i, --ignore-case pÅ™i porovnávání položek ignoruje rozdíly mezi malými a velkými písmeny -j POLOŽKA rovnocenné s „-1 POLE -2 POLE“ -o FORMÃT řídí se FORMÃTEM pÅ™i tvorbÄ› výstupního řádku -t ZNAK použije ZNAK jako oddÄ›lovaÄ položek na vstupu i výstupu � -i, --ignore-environment zaÄne s prázdným prostÅ™edím -0, --null každý výstupní řádek zakonÄí nulovým bajtem místo znakem nového řádku -u, --unset=JMÉNO odstraní z prostÅ™edí promÄ›nnou JMÉNO � -i, --initial tabelátory následující ne-bílý znak nejsou konvertovány -t, --tabs=POÄŒET tabelátor považuje za POÄŒET (8) mezer � -i, --inodes výpis informací o i-uzlech místo o blocích -k jako --block-size=1K -l, --local omezení výpisu na lokální souborové systémy --no-sync nevolá „sync“ pÅ™ed získáním informací (implicitní) � -i, --input=REŽIM pÅ™izpůsobí bufferování proudu standardního vstupu -o, --output=REŽIM pÅ™izpůsobí bufferování proudu standardního výstupu -e, --error=REŽIM pÅ™izpůsobí bufferování proudu chybového výstupu � -i, --interactive pÅ™ed každým odstranÄ›ním cíle se zeptá -L, --logical dereferencuje CÃLE, které jsou symbolickými odkazy -n, --no-dereference NÃZEV_ODKAZU považuje za běžný soubor, pokud je symbolickým odkazem na adresář -P, --physical vytváří pevné odkazy přímo na symbolické odkazy -r, --relative vytváří symbolické odkazy relativnÄ› k jejich umístÄ›ní -s, --symbolic na místo pevných odkazů vytváří symbolické � -k jako --block-size=1K -L, --dereference následuje vÅ¡echny symbolické odkazy -l, --count-links jestliže jsou jména pevnými odkazy na jeden soubor, zapoÄte každý odkaz znovu -m jako --block-size=1M � -k, --key=DEFINICE_KLÃÄŒE Å™adí podle klíÄe, DEFINICE_KLÃÄŒE urÄuje místo a druh -m, --merge spojí již seÅ™azené soubory, neÅ™adí � -l vypíše výstup ve dlouhém formátu -L, --dereference u symbolického odkazu vypíše soubor, na který odkaz ukazuje namísto odkazu samotného -m vypíše soubory jako seznam jmen souborů oddÄ›lených Äárkami vyplňující šířku řádků � -l, --length=DÉLKA_STRÃNKY nastaví délku stránky (66). Zadáno v řádcích. (implicitnÄ› je 56 řádků textu, s -F 63) -m, --merge vypíše soubory vedle sebe, každý v jednom sloupci, zkracuje řádky, ale spolu s pÅ™epínaÄem -J vypisuje plné řádky celé � -l, --link místo kopírování tvoří pevné odkazy -L, --dereference vždy sleduje symbolické odkazy ve ZDROJI � -l, --login vypíše procesy zajišťující pÅ™ihlášení do systému (login) � -m, --canonicalize-missing kanonizuje rekurzivním následováním každého symbolického odkazu v každé Äásti zadaného názvu; Äásti názvu nemusí existovat -n, --no-newline bez odřádkování -q, --quiet, -s, --silent potlaÄí vÄ›tÅ¡inu chybových hlášek -v, --verbose hlásí chyby -z, --zero výstup oddÄ›lí znakem NUL místo novým řádkem � -m, --mode=PRÃVA nastaví bity přístupových práv na PRÃVA, místo toho, aby byla nastavena na a=rw − umask � -m, --mode=PRÃVA nastaví přístupová práva (zadány jako příkazu „chmod“), místo toho, aby byla práva nastavena na a=rwx - umask -p, --parents vytvoří neexistující rodiÄovské adresáře zadaného adresáře -v, --verbose vypíše zprávu o každém vytvoÅ™eném adresáři -Z, --context=KONTEXT nastaví selinuxový bezpeÄnostní kontext na KONTEXT každému vytvářenému adresáři � -n, --adjustment=N k hodnotÄ› nice pÅ™iÄte celé Äíslo N (výchozí je 10) � -n, --digits=CIFER použije zadaný poÄet Äíslic místo 2 -s, --quiet, --silent nevypisuje velikosti výstupních souborů -z, --elide-empty-files smaže prázdné výstupní soubory � -n, --lines=K vypíše posledních K řádků místo posledních %d; nebo použijte -n +K pro výpis od K. řádku --max-unchanged-stats=N dohromady s --follow=name znovu otevÅ™e SOUBOR, jestliže se jeho velikost bÄ›hem posledních N (implicitnÄ› %d) iterací nezmÄ›nila, aby se podíval, zda nebyl soubor smazán, nebo pÅ™ejmenován (obvyklé pÅ™i rotaci log souborů). S inotify tento pÅ™epínaÄ nemá valného smyslu. � -n, --no-clobber nepÅ™episuje existující soubory (pÅ™ebije pÅ™edcházející pÅ™epínaÄ -i) -P, --no-dereference nikdy nenásleduje symbolické odkazy ve ZDROJI � -n, --numeric-sort porovnává podle Äíselné hodnoty Å™etÄ›zce -R, --random-sort Å™adí podle náhodných hashů klíÄů --random-source=SOUBOR získá náhodné bajty ze SOUBORU -r, --reverse obrátí výsledek porovnávání � -n, --numeric-uid-gid jako -l, ale místo jména uživatele a skupiny vypisuje Äísla -N, --literal vypíše jména souborů tak, jak jsou na disku uložena. Nezpracovává řídící znaky -o jako -l, ale bez informací o skupinách -p, --indicator-style=slash za názvy adresářů pÅ™ipojí „/“ � -n [ODDÄšL[ÄŒÃSLIC]], --number-lines[=ODDÄšL[ÄŒÃSLIC]] Äísluje řádky, vypisuje ÄŒÃSLIC (5) Äíslic a potom ODDÄšL (TAB). ImplicitnÄ› poÄítání zaÄíná od jedniÄky prvním vstupním řádkem -N, --first-line-number=ÄŒÃSLO zaÄne poÄítání Äíslem ÄŒÃSLO prvního řádku první vypisované stránky (vizte +PRVNÃ_STRÃNKA) � -o, --indent=OKRAJ každý řádek odsadí OKRAJ (nula) mezerami, neovlivňuje -w nebo -W, OKRAJ bude pÅ™idán k Å ÃŘCE_STRÃNKY) -r, --no-file-warnings potlaÄí varování, když soubor nemůže být otevÅ™en � -o, --io-blocks považuje VELIKOST za poÄet IO bloků namísto bajtů � -o, --output=SOUBOR výsledek zapíše do SOUBORU místo na standardní výstup -s, --stable stabilizuje výsledek zakázáním seÅ™azení stejných položek porovnáváním bajt po bajtu -S, --buffer-size=VELIKOST použije VELIKOST pro hlavní paměťový buffer � -p stejné jako --preserve=mode,ownership,timestamps --preserve[=SEZNAM_ATRIBUTÅ®] zachovává zadané atributy (implicitní: mode,ownership,timestamps [práva, vlastnictví, Äasy]), je-li to možné, další atributy: context [kontext], links [odkazy], xattr [rozšířené atributy], all [vÅ¡e] � -p ADRESÃŘ požije ADRESÃŘ jako pÅ™edponu, implikuje -t [zastaralé] -t interpretuje Å ABLONU jako jedinou Äást jména souboru relativnÄ› k adresáři: $TMPDIR, je-li nastavena, jinak je adresář zadán pomocí -p, jinak /tmp [zastaralé] � -p, --parents maže ADRESÃŘ a jeho rodiÄe; napÅ™: „rmdir -p a/b/c“ je podobné „rmdir a/b/c a/b a“ -v, --verbose vypisuje oznámení o každém zpracovávaném adresáři � -p, --preserve-timestamps Äas přístupu a zmÄ›ny obsahu cílových souborů nastaví tak, jak byly nastaveny u zdrojových -s, --strip odstraní tabulky symbolů --strip-program=PROGRAM program na odstraňování symbolů z binárek -S, --suffix=PŘÃPONA nastaví novou příponu záložních souborů -t, --target-directory=ADRESÃŘ kopíruje vÅ¡echny ZDROJE do ADRESÃŘE -T, --no-target-directory považuje CÃL za běžný soubor -v, --verbose vypisuje jména vÅ¡ech vytvářených adresářů � -q, --count vÅ¡echna pÅ™ihlaÅ¡ovací jména a poÄet pÅ™ihlášených uživatelů -r, --runlevel vypíše souÄasnou úroveň bÄ›hu systému (runlevel) -s vypíše pouze jméno, terminál a Äas (implicitní) -t, --time vypíše poslední zmÄ›nu Äasu � -q, --hide-control-chars vypíše „?“ místo negrafických znaků --show-control-chars vypíše negrafické znaky tak jak jsou (implicitní, jestliže program není „ls“ a výstup není na terminál) -Q, --quote-name vloží názvy souborů do uvozovek --quoting-style=ZPÅ®SOB použije způsob citování ZPÅ®SOB pro jména souborů: literal (doslovný), locale (lokalizovaný), shell, shell-always, c, escape � -q, --quiet, --silent nikdy nevypisuje hlaviÄky s názvy souborů -v, --verbose vypisuje hlaviÄky s názvy souborů vždy � -r, --reference=SOUBOR vypíše Äas poslední zmÄ›ny obsahu SOUBORU -R, --rfc-2822 vypíše datum podle RFC-2822 Příklad: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=SOUBOR použije Äasy SOUBORU místo aktuálního Äasu -t ÄŒAS použije [[SS]RR]MMDDhhmm[.ss] místo aktuálního Äasu --time=SLOVO nastaví Äas zadaný SLOVEM: „access“, „atime“, „use“ (jako -a) „modify“, „mtime“ (jako -m) � -r, --reference=SOUBOR použije velikost tohoto SOUBORU -s, --size=VELIKOST použije tuto VELIKOST � -r, --references první položka každého řádku je odkaz -t, --typeset-mode – neimplementováno – -w, --width=ÄŒÃSLO šířka výstupu ve sloupcích, bez odkazů � -r, --reverse opaÄné uspořádání pÅ™i Å™azení -R, --recursive vypíše podadresáře rekurzivnÄ› -s, --size vypíše alokovanou velikost každého souboru v blocích � -s, --only-delimited potlaÄí řádky neobsahující oddÄ›lovaÄe --output-delimiter=ŘETÄšZEC ŘETÄšZEC se použije jako výstupní oddÄ›lovaÄ. ImplicitnÄ› je jako tento oddÄ›lovaÄ použit vstupní oddÄ›lovaÄ. � -s, --signal=SIGNÃL, -SIGNÃL urÄuje jméno nebo Äíslo signálu, který bude zaslán -l, --list vypíše seznam jmen signálů nebo pÅ™evede jméno signálu na/z Äíslo -t, --table vypíše tabulku s informacemi o signálech � -s, --sleep-interval=N spolu s -f Äeká asi N sekund (implicitnÄ› 1,0) mezi jednotlivými iteracemi. S inotify a --pid=P kontroluje proces P alespoň jednou za N sekund. -v, --verbose vždy vypisuje záhlaví s názvy souborů � -s, --symbolic-link místo kopírování vytváří symbolické odkazy -S, --suffix=PŘÃPONA mÄ›ní obvyklou příponu pro záložní soubory -t, --target-directory=ADRESÃŘ vÅ¡echny ZDROJE kopíruje do ADRESÃŘE -T, --no-target-directory CÃL považuje za obyÄejný soubor � -s[ZNAK], --separator[=ZNAK] oddÄ›lí sloupce jedním ZNAKEM. ImplicitnÄ› je to znak <TAB>, když není zadán pÅ™epínaÄ -w, a „žádný znak“, když je -w zadán. -s[ZNAK] vypne zkracování řádků u vÅ¡ech tÅ™ech sloupcových pÅ™epínaÄů (-COLUMN|-a -COLUMN|-m), kromÄ› případu, kdy je zadán pÅ™epínaÄ -w � -t výstup seÅ™adí podle Äasu poslední zmÄ›ny obsahu souboru od nejnovÄ›jší -T, --tabsize=SLOUPCÅ® pozice tabelátoru každých SLOUPCÅ® znaků (impl. 8) � -t stejné jako -vT -T, --show-tabs vypisuje znak TAB jako ^I -u (ignorováno) -v, --show-nonprinting použije zápisu ^ a M-, kromÄ› znaků LF a TAB � -t, --field-separator=ODDÄšLOVAÄŒ použije ODDÄšLOVAÄŒE místo pÅ™echodu nemezera/mezera -T, --temporary-directory=ADRESÃŘ použije ADRESÃŘ pro doÄasné soubory, nepoužije $TMPDIR, ani %s. Více pÅ™epínaÄů zadává více adresářů. --parallel=N omezí poÄet souběžných Å™azení na N -u, --unique s -c testuje striktní uspořádání; jinak vypíše pouze první ze stejných sekvencí � -t, --tabs=SEZNAM použije Äárkami oddÄ›lený seznam pozicí tabelátorů � -t, --tagged-paragraph odsadí první řádek rozdílnÄ› od druhého -u, --uniform-spacing jedna mezera mezi slovy, dvÄ› za vÄ›tou -w, --width=Å ÃŘKA maximální šířka řádku (implicitnÄ› 75 sloupců) -g, --goal=Å ÃŘKA cílová šířka (výchozí je 93 % šířky) � -t, --target-directory=ADRESÃŘ pÅ™emístí vÅ¡echny ZDROJE do ADRESÃŘE -T, --no-target-directory CÃL považuje za běžný soubor -u, --update pÅ™emístí pouze starší a úplnÄ› nové soubory -v, --verbose vypisuje co se dÄ›je � -t, --text Äte v textovém módu (výchozí, je-li Äten standardní vstup terminálu) � -t, --text Äte v textovém módu (výchozí) � -t, --threshold=VELIKOST vynechá položky menší než VELIKOST, je-li kladná, nebo položky vetší než VELIKOST, je-li záporná --time ukáže Äas poslední zmÄ›ny obsahu každého souboru vÄetnÄ› souborů v podadresářích --time=TYP vypisuje Äas podle TYPU namísto zmÄ›ny obsahu: atime, access, use (poslední přístup); ctime, status (poslední zmÄ›na i-uzlu) --time-style=STYL Äas zobrazí ve STYLU: full-iso (úplný), long-iso (dlouhý), iso, +FORMÃT FORMÃT je stejný jako u příkazu „date“ � -u s -lt seÅ™adí a vypíše podle Äasu posledního přístupu; s -l vypíše tento Äas, ale seÅ™adí podle názvů souborů; jinak Å™adí podle tohoto Äasu -U neÅ™adí, soubory budou vypsány v takovém poÅ™adí, v jakém jsou v adresáři uloženy -v pÅ™irozené Å™azení (verzovacích) Äísel v textu � -u, --remove zkrátí a smaže soubor po pÅ™epsání -v, --verbose výpis informací o průbÄ›hu -x, --exact nezaokrouhluje velikost souboru nahoru na celé bloky; implicitní pro ne-obyÄejné soubory -z, --zero pÅ™idá poslední fázi pÅ™episu nulami, aby zametl stopy � -u, --update kopíruje pouze, když zdrojový soubor je novÄ›jší než cílový, nebo když cílový soubor neexistuje -v, --verbose vypisuje bližší informace o vykonávání příkazu -x, --one-file-system zůstane v jednom souborovém systému � -u, --user=UŽIVATEL nastaví uživatele UŽIVATEL v cílovém bezp. kontextu -r, --role=ROLE nastaví roli ROLE v cílovém bezpeÄnostním kontextu -t, --type=TYP nastaví typ TYP v cílovém bezpeÄnostním kontextu -l, --range=ROZSAH nastaví rozsah ROZSAH v cílovém bezpeÄnostním kontextu � -v STRANA jako -a STRANA, ale bez výpisu spojených řádků. -1 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 1 -2 POLOŽKA spojuje pÅ™es tuto POLOŽKU souboru 2 --check-order ověřuje, zda je vstup správnÄ› seÅ™azen, i když vÅ¡echny řádky lze spárovat --nocheck-order neověřuje, zda je vstup správnÄ› seÅ™azen --header považuje první řádek každého souboru za záhlaví položek, vypíše je aniž by se je pokouÅ¡et spárovat � -v, --kernel-version vypíše verzi jádra (datum kompilace) -m, --machine vypíše typ poÄítaÄe (hardware) -p, --processor vypíše typ procesoru nebo „unknown“ (neznámý) -i, --hardware-platform vypíše hardwarovou platformu nebo „unknown“ (neznámá) -o, --operating-system vypíše oznaÄení operaÄního systému � -v, --starting-line-number=ÄŒÃSLO Äíslo prvního řádku na každé logické stránce -w, --number-width=POÄŒET Äísla řádků vypisuje na POÄŒET míst � -v, --verbose informuje o každém zpracovávaném souboru � -w, --check-chars=N porovnává nejvýše N prvních znaků každého řádku � -w, --width=SLOUPCÅ® použije tuto šířku obrazovky pÅ™i vypisování -x jména souborů vypíše po řádcích místo po sloupcích -X výstup seÅ™adí abecednÄ› podle přípon souborů -Z, --context vypíše pro každý soubor jakýkoliv selinuxový bezpeÄnostní kontext -1 vypíše jeden soubor na jeden řádek � -z, --zero oddÄ›luje výstup nulovým bajtem místo znakem nového řádku � -z, --zero-terminated vstupní řádky jsou ukonÄeny bajtem 0 místo LF � KONTEXT Úplný bezpeÄnostní kontext -c, --compute vypoÄte pÅ™echodový kontext procesu pÅ™ed úpravou -t, --type=DRUH druh (pro stejnou roli jako má rodiÄ) -u, --user=UŽIVATEL identita uživatele -r, --role=ROLE role -l, --range=ROZSAH rozsah úrovní �Soubor: "%n" ID: %-8i Délka jména: %-7l Druh: %T Velikost bloku: %-10s Velikost základního bloku: %S Bloků: Celkem: %-10b Volných: %-10f Dostupných: %a I-uzlů: Celkem: %-10c Volných: %d � Soubor: %N Velikost: %-10s Bloků: %-10b I/O blok: %-6o %F � Procesy v nepÅ™eruÅ¡itelném spánku rovněž pÅ™ispívají do průmÄ›rné zátěže. � [:graph:] vÅ¡echny tisknutelné znaky bez mezer [:lower:] vÅ¡echna malá písmena [:print:] vÅ¡echny tisknutelné znaky vÄetnÄ› mezer [:punct:] vÅ¡echny interpunkÄní znaky [:space:] vÅ¡echny vodorovné a svislé mezery [:upper:] vÅ¡echna velká písmena [:xdigit:] vÅ¡echny Å¡estnáctkové Äíslice [=ZNAK=] vÅ¡echny znaky rovnocenné se ZNAKEM � \0NNN bajt s osmiÄkovou hodnotou NNN (1 až 3 Äíslice) \xHH bajt s šestnáctkovou hodnotou HH (1 až 2 Äíslice) � \NNN bajt s osmiÄkovou hodnotou NNN (1 až 3 Äíslice) \xHH bajt s šestnáctkovou hodnotou HH (1 až 2 Äíslice) \uHHHH unicodový (ISO/IEC 10646) znak s šestnáctkovou hodnotou HHHH (4 Äíslice) \UHHHHHHHH unicodový znak s Å¡estnáctkovou hodnotou HHHHHHHH (8 Äíslic) � \\ zpÄ›tné lomítko \a zvonek (BEL) \b backspace \c bez dalšího výstupu \e escape \f znak vysunutí formuláře (form feed) \n znak nového řádku \r návrat vozíku (carriage return) \t vodorovný tabelátor \v svislý tabelátor � \v svislý tabelátor ZNAK1–ZNAK2 vÅ¡echny znaky od ZNAKU1 do ZNAKU2 vzestupnÄ› [ZNAK*] v MNOŽINÄš2 kopíruje ZNAK tolikrát, aby byla MNOŽINA2 stejnÄ› dlouhá jako MNOŽINA1 [ZNAK*KOLIKRÃT] KOLIKRÃT kopií ZNAKU, osmiÄkovÄ› když zaÄíná Äíslicí 0 [:alnum:] vÅ¡echna písmena a Äíslice [:alpha:] vÅ¡echna písmena [:blank:] vÅ¡echny vodorovné mezery [:cntrl:] vÅ¡echny řídící znaky [:digit:] vÅ¡echny Äíslice � ascii z EBCDIC do ASCII ebcdic z ASCII do EBCDIC ibm z ASCII do pozmÄ›nÄ›ného EBCDIC block záznamy ukonÄené znakem nového řádku vyplní do velikosti „cbs“ mezerami unblock koncové mezery v záznamech o velikosti „cbs“ nahradí znakem nového řádku lcase pÅ™evede velká písmena na malá ucase pÅ™evede malá písmena na velká sparse místo zápisu vstupních bloků nul se pokusí pÅ™esunout ve výstupu swab zamÄ›ní bajty v každém páru vstupních bajtů sync doplní každý vstupní blok nulovými bajty do velikosti „ibs“. Za souÄasného použití block nebo unblock doplňuje mezerami. � auto pÅ™ijímá se volitelná jedno- nebo dvoupísmenná přípona: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary použije binární I/O pro práci s daty � cio použije souběžné I/O pro práci s daty � count_bytes považuje „count=N“ za poÄet bajtů (pouze iflag) � d[BAJTÅ®] desítkové se znaménkem s poÄtem BAJTÅ® na Äíslo f[BAJTÅ®] s plovoucí řádovou Äárkou s poÄtem BAJTÅ® na Äíslo o[BAJTÅ®] osmiÄkové s poÄtem BAJTÅ® na Äíslo u[BAJTÅ®] desítkové bez znaménka s poÄtem BAJTÅ® na Äíslo x[BAJTÅ®] Å¡estnáctkové s poÄtem BAJTÅ® na Äíslo � direct použije přímé vstupnÄ›-výstupní operace (I/O) pro práci s daty � directory selže, pokud se nejedná o adresář � dsync použije synchronní I/O pro práci s daty � excl selže, pokud výstupní soubor již existuje nocreat nevytváří výstupní soubor notrunc nezkracuje výstupní soubor noerror pokraÄuje i pÅ™i vzniku chyby pÅ™i Ätení fdatasync pÅ™ed ukonÄením vynutí fyzický zápis dat fsync podobnÄ›, ale zapíše i metadata � fullblock sdružuje vstup do celých bloků (pouze iflag) � iec pÅ™ijímá se volitelná jednopísmenná přípona: 1K = 1024, 1M = 1048576, â‹® � iec-i pÅ™ijímá se volitelná dvoupísmenná přípona: 1Ki = 1024, 1Mi = 1048576, â‹® � if=SOUBOR Äte ze souboru SOUBOR místo ze stdin iflag=PŘÃZNAKY způsob Ätení. PŘÃZNAKY je seznam Äárkou oddÄ›lených příznaků obs=BAJTÅ® zapisuje BAJTÅ® bajtů najednou (implicitnÄ›: 512) of=SOUBOR zapisuje do SOUBOR místo do stdout oflag=PŘÃZNAKY způsob zápisu. PŘÃZNAKY je seznam Äárkou oddÄ›lených příznaků seek=N pÅ™eskoÄí prvních N výstupních bloků velikosti „obs“ skip=N pÅ™eskoÄí prvních N vstupních bloků velikosti „ibs“ status=CO CO za údaje se nebude vypisovat na chybový výstup: „noxfer“ potlaÄí statistické informace o pÅ™enosu dat, „none“ potlaÄí vÅ¡e � noaime neaktualizuje Äas posledního přístupu k souboru � nocache zahodí nakeÅ¡ovaná data � noctty nepovažuje soubor za řídící terminál � nofollow nesleduje symbolické odkazy � nolinks selže, pokud na soubor vede více pevných odkazů � nonblock použije neblokující I/O � none neprovádí se žádné Å¡kálování. Přípony vyvolají chybu. � none, off záložní kopie nevytvářet (i když je zadán pÅ™epínaÄ --backup) numbered, t Äíslované záložní kopie existing, nil Äíslované, jestliže již Äíslovaná záložní kopie existuje, jinak jednoduché simple, never jednoduché záložní kopie � seek_bytes považuje „seek=N“ za poÄet bajtů (pouze oflag) � si pÅ™ijímá se volitelná jednopísmenná přípona: 1K = 1000, 1M = 1000000, â‹® � skip_bytes považuje „skip=N„ za poÄet bajtů (pouze iflag) � sync podobnÄ›, ale také pro metadata � text použije textové I/O pro práci s daty � %X � (záloha: %s)� * [-]ctlecho řídící znaky pÅ™episuje v notaci se stříškou („^c“) [-]echo opisuje vstupní znaky * [-]echoctl jako [-]ctlecho [-]echoe jako [-]crterase [-]echok vypíše znak CR (newline) po znaku „kill“ � * [-]echoke jako [-]crtkill [-]echonl pokud není vypsán jiný znak, vypíše LF (newline) * [-]echoprt vypisuje vymazané znaky pozpátku, mezi „\“ a „/“ [-]icanon povolí speciální znaky erase, kill, werase a rprnt [-]iexten povolí speciální znaky, které neodpovídají normÄ› POSIX. � * [-]iuclc pÅ™ekládá velká písmena na malá * [-]ixany každý znak restartuje výstup, nikoli jen znak „start“ [-]ixoff povolí posílání znaků start/stop [-]ixon povolí řízení toku dat pomocí XON/XOFF [-]parmrk oznaÄí chyby parity (sekvencí 255-0-znak) [-]tandem jako [-]ixoff � * [-]iutf8 pÅ™edpokládá vstupní znaky kódované v UTF-8 � * [-]ocrnl pÅ™ekládá CR (cariage return) na LF (newline) * [-]ofdel použije znak „delete“ místo znaku „null“ pro výplnÄ› * [-]ofill použije vyplňovací znak místo Äekání * [-]olcuc pÅ™ekládá malá písmena na velká * [-]onlcr pÅ™ekládá LF (newline) na CRLF (carriage return-newline) * [-]onlret LF (newline) provede CR (carriage return) � * [-]onocr v prvním sloupci netiskne CR (carriage return) [-]opost zpracování postprocesorem * tabN způsob Äekání na vodorovný tabelátor, N je 0–3 * tabs jako tab0 * -tabs jako tab3 * vtN způsob Äekání na svislý tabelátor, N je 0–1 � * eol2 ZNAK alternativní ZNAK pro konec řádku erase ZNAK ZNAK, který maže poslední zapsaný znak intr ZNAK ZNAK, který zasílá signál interrupt kill ZNAK ZNAK, který maže aktuální řádek � * lnext ZNAK ZNAK, který znemožňuje interpretaci dalšího znaku (quote) quit ZNAK ZNAK, který posílá signál quit * rprnt ZNAK ZNAK, který pÅ™ekresluje aktuální řádek start ZNAK ZNAK, který znovu spustí výstup po jeho pozastavení � * rows N poÅ¡le jádru OS, že terminál má N řádků * size vypíše poÄet řádků a sloupců podle jádra OS speed vypíše rychlost terminálu time N spolu s -icanon nastaví Äasový limit pro Ätení na N desetin sekundy � ??:???? � TTY� kontext=%s� egid=%s� euid=%s� gid=%s� skupiny=�starý� v %s. opakování �% 1 % z pamÄ›ti, b 1, K 1024 (implicitní), a tak dále pro M, G, T, P, E, Z, Y. Není-li zadán SOUBOR nebo je-li „-“, Äte standardní vstup. *** VAROVÃNà *** Lokalizace vybraná prostÅ™edím ovlivňuje poÅ™adí Å™azení. TradiÄní poÅ™adí Å™azení, které používá hodnoty jednotlivých bajtů, získáte nastavením LC_ALL=C. �%.*s: neplatné urÄení konverze�%e. %b %Y�%e. %b %H.%M�%lu uživatel�%lu uživatelé�%lu uživatelů�%s (pro regvýr %s)�%s → %s (obnoven ze zálohy) �%s [-d] skonÄil neobvykle�%s a %s jsou jeden a tentýž soubor�%s existuje, ale není adresářem�soubor %s se objevil, sledování konce nového souboru pokraÄuje�%s se stal znovu dostupným�%s se stal nedostupným�soubor %s byl nahrazen vzdáleným souborem; s tímto jménem konÄím�soubor %s byl nahrazen nesledovatelným; s tímto jménem konÄím�soubor %s byl nahrazen jiným, sledování konce nového souboru pokraÄuje.�%s: neznámý typ souboru�%s má nepoužitelnou, zjevnÄ› zápornou velikost�Domovská stránka %s: <%s> �Domovská stránka %s: <http://www.gnu.org/software/%s/> �%s není celé kladné Äíslo�%s je příliÅ¡ velké�%s lze provozovat jen na jádÅ™e podporujícím SELinux�podproces %s�podproces %s selhal�podproces %s obdržel fatální signál %d�bylo zadáno %s, ale nebylo %s�%s by pÅ™epsalo vstup; zpracování pÅ™eruÅ¡eno�argument „%3$s“ pÅ™epínaÄe %1$s%2$s je příliÅ¡ velký�%s %s�%s: %s je příliÅ¡ velký, proto není reprezentovatelný�%s: %s: Äíslo řádku je mimo rozsah�%s: %s: nenalezeno�%s: %s:%s: neseÅ™aditelný řádek: �%s: „}' je požadována v poÄítadle opakování�%s: SELHALO otevÅ™ení nebo Ätení �%s: oÄekáván binární operátor�%s: relativní symbolický odkaz lze vytvoÅ™it pouze v aktuálním adresáři�%s: neblokující režim nelze zmÄ›nit�%s: velikost souboru nelze urÄit�%s: jméno uživatele pro UID %lu nelze najít �%s: nelze sledovat konec souboru tohoto typu; sledování ukonÄeno�%s: nelze se vrátit na původní místo v souboru (služba lseek)�%s: adresář nelze pÅ™epsat�%s: nelze pÅ™evinout�%s: výstup nelze pÅ™evíjet�%s nelze se pÅ™esunout na pozici %s zadanou vzhledem ke konci souboru�%s: nelze se pÅ™emístit na pozici %s�%s: nelze se pÅ™esunout na relativní pozici %s�%s: shred nelze použít na deskriptor souboru otevÅ™ený pro pÅ™ipojování�%s: vstup nelze pÅ™evíjet�%s: nelze se pÅ™esunout na zadanou pozici ve vstupu�%s: postrádán koncový oddÄ›lovaÄ â€ž%c“�%s: neblokovací mód souboru nelze zruÅ¡it�%s: sestoupit do adresáře %s?�%s: sestoupit do proti zápisu chránÄ›ného adresáře %s?�%s: konec souboru�%s: operand ve třídÄ› [=c=] musí být jediný znak�%s: chyba pÅ™i zkracování souboru�%s: chyba pÅ™i zápisu na pozici %s�%s: oÄekávána Äíselná hodnota�%s: uzavÅ™ení selhalo�%s: selhalo získání údajů o rozsazích�%s: soubor nelze otevřít pro zápis�%s: mazání selhalo�%s: nové nastavení ukazatele po souboru selhalo�%s: fcntl selhala�%s: fdatasync selhala�%s: soubor má zápornou velikost�%s: soubor byl příliÅ¡ zkrácen�%s: soubor je příliÅ¡ dlouhý�%s: soubor je příliÅ¡ dlouhý�%s: soubor byl zkrácen�%s: fstat selhala�%s: fsync selhala�%s: na adresář nelze vytvoÅ™it pevný odkaz�%s: vstup obsahuje cyklus:�%s: vstup obsahuje lichý poÄet položek�%s: vstupní soubor je zároveň výstupním�%s: po oddÄ›lovaÄi je oÄekáváno celé Äíslo�%s: chybná velikost I/O bloku�%s: neplatný PID�%s: chybné Äíslo dílů�%s: neplatné Äíslo na zaÄátku %s�%s: chybná specifikace�%s: neplatné urÄení položky %s�%s: chybná velikost souboru�%s: chybný typ souboru�%s: neplatné Äíslo maximálního poÄtu nezmÄ›nÄ›ných výsledků funkce stat mezi otevÅ™eními�%s: chybné Äíslo�%s: chybný poÄet bajtů�%s: neplatný poÄet dílů�%s: chybný poÄet řádků�%s: neplatný poÄet průchodů�%s: neplatný poÄet sekund�%s: chybný poÄet na ignorování�%s: neplatný pÅ™epínaÄ â€“ %c �%s: chybný vzorek�%s: neplatné Äíslo procesu�%s: chybný regulární výraz: %s�%s: neplatný signál�%s: chybná poÄáteÄní hodnota Äíselné přípony�%s: chybná délka přípony�%s: Äíslo řádku musí být vÄ›tší než nula�%s: Äíslo řádku je mimo rozsah�%s: lseek selhala�%s: zadáno více signálů�%s: nová práva jsou %s, a ne %s�%s: nenalezeny správnÄ› formátované řádky %s kontrolního souÄtu�%s: pro toto zařízení neexistuje informace o velikosti�%s: uživatel neexistuje�%s: nevypisuji již dříve vypsaný adresář�%s: poÄet bajtů je příliÅ¡ velký�%s: pÅ™epínaÄ â€ž%c%s“ musí být zadán bez argumentu �%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný, možnosti:�%s: pÅ™epínaÄ â€ž--%s“ musí být zadán bez argumentu �%s: pÅ™epínaÄ â€ž--%s“ vyžaduje argument �%s: pÅ™epínaÄ â€ž-W %s“ musí být zadán bez argumentu �%s: pÅ™epínaÄ â€ž-W %s“ není jednoznaÄný �%s: pÅ™epínaÄ â€ž-W %s“ vyžaduje argument �%s: pÅ™epínaÄ vyžaduje argument – %c �%s: pÅ™epsat %s? �%s: průchod %lu/%lu (%s)…�%s: průchod %lu/%lu (%s)…%s�%s: průchod %lu/%lu (%s)…%s/%s %d%%�%s: chyba pÅ™i Ätení�%s: smazat %s %s? �%s: smazat vÅ¡echny argumenty rekurzivnÄ›? �%s: smazat vÅ¡echny argumenty? �%s: smazat proti zápisu chránÄ›ný %s %s? �%s: smazán�%s: probíhá mazání�%s: pÅ™ejmenováno na %s�%s: pÅ™epsat %s? �%s: pohyb v souboru selhal�%s: příliÅ¡ mnoho řádků s kontrolními souÄty�%s: pÅ™epsat %s pÅ™ebitím přístupových práv %04lo (%s)? �%s: není možno zjistit nejvÄ›tší přípustnou délku jména souboru�%s: vÅ¡echny požadované operace nelze provést�%s: oÄekáván unární operátor�%s: neznámý pÅ™epínaÄ â€ž%c%s“ �%s: neznámý pÅ™epínaÄ â€ž--%s“ �%s: hodnota nebyla zcela pÅ™evedena�%s: chyba pÅ™i zápisu�%s: zápis se nezdaÅ™il�%s:%lu: neplatný řádek; chybí druhý token�%s:%lu: neplatný název souboru s nulovou délkou�%s:%lu: neznámé klíÄové slovo %s�%s}: mezi „{“ a „}“ musí být celé Äíslo�“�oÄekávána „)“�oÄekávána „)“, nalezeno %s�„-%c“ nadbyteÄné znaky nebo Å¡patné Äíslo v argumentu: %s�„--pages=PRVNÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA]“ postrádá argument�„-N ÄŒÃSLO“ chybné Äíslo poÄáteÄního řádku: %s�„-W Å ÃŘKA_STRÃNKY“ chybný poÄet znaků: %s�„-l DÉLKA_STRÃNKY“ chybný poÄet řádků: %s�„-o OKRAJ“ chybný posun řádku: %s�„-w Å ÃŘKA_STRÃNKY“ chybný poÄet znaků: %s�©�* souborové systémy, které používají doÄasná meziúložiÅ¡tÄ›, jako je klient NFS verze 3 * komprimované souborové systémy �* záznamovÄ› strukturované nebo žurnálovací souborové systémy, zvláštÄ› takové, co jsou dodávány s AIXEM a Solarisem (a JFS, ReiserFS, XFS, Ext3 atd.) * souborové systémy, které zapisují redundantní data a ustojí i selhání nÄ›kterých zápisů, jako jsou souborové systémy vystavÄ›né nad RAIDem * souborové systémy, které dÄ›lají snímky, jako je NFS server od Network Appliance �, průmÄ›rná zátěž: %.2f�, %'g s, %s/s �argument %2$s za --%1$s je příliÅ¡ velký�--context (-Z) funguje jen na jádÅ™e podporujícím SELinux�--filter nezpracuje kus vytažený na standardní výstup�pÅ™epínaÄ --grouping nezle kombinovat s pÅ™epínaÄem --format�pÅ™epínaÄ --header je ignorován pÅ™i vstupu z příkazového řádku�pÅ™epínaÄ --padding nelze kombinovat s pÅ™epínaÄem --format�--reflink lze požít jen s --sparse=auto�pÅ™epínaÄ --tag nepodporuje režim --text�-R --dereference vyžaduje buÄ -H, a nebo -L�-R -h vyžaduje -P�k pÅ™epínaÄi -ef nemůže být uveden pÅ™epínaÄ -l�k pÅ™epínaÄi -nt nemůže být uveden pÅ™epínaÄ -l�k pÅ™epínaÄi -ot nemůže být uveden pÅ™epínaÄ -l�<interní>�??? �?????�NeúspěšnÄ› ukonÄen (SIGABRT)� Přístup: %x ZmÄ›na obsahu: %y ZmÄ›na i-uzlu: %z Vznik: %w � Práva: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G) �Pro jméno poÄítaÄe není rodina adres podporována�Budík (SIGALRM)�VÅ¡echny požadavky vyřízeny�Vyrovnávací paměť pro argumenty je příliÅ¡ malá�Arnold Robbins�Assaf Gordon�Volno�Volné�Chybné volání systému (SIGSYS)�Chybná hodnota pro ai_flags�Brian Fox�Roura pÅ™eruÅ¡ena (SIGPIPE)�Chyba na sbÄ›rnici (neplatná adresa) (SIGBUS)�VAROVÃNÃ: Pamatuje, že shred se spoléhá na jeden velmi důležitý pÅ™edpoklad: Že souborový systém pÅ™episuje data na stejné místo. Toto je tradiÄní způsob, jak vÄ›ci fungují, ale mnoho moderních návrhů souborových systémů nesplňuje tento pÅ™edpoklad. Následují příklady souborových systémů, na kterých není shred úÄinný nebo na kterých není zaruÄena úÄinnost pÅ™i vÅ¡ech režimech tÄ›chto systémů: �KOMENTAR�PÅ™ekroÄen Äasový limit pro procesor (SIGXCPU)�Na existující soubor SOUBOR1 vytvoří odkaz pojmenovaný SOUBOR2 pomocí služby link(2). �Odstraní zadaný SOUBOR voláním služby „unlink“ (odstranit odkaz). �Kapacita�ZmÄ›ní skupinu každého SOUBORU na SKUPINU. PÅ™i použití --reference zmÄ›ní skupinu každého SOUBORU na skupinu RSOUBORU. �ZmÄ›ní práva každému SOUBORU na PRÃVA. PÅ™i použití --reference zmÄ›ní práva každého SOUBORU na práva RSOUBORU. �ZmÄ›ní vlastníka a/nebo skupinu každého SOUBORU na VLASTNÃKA a/nebo SKUPINU. Je-li použit pÅ™epínaÄ --reference, zmÄ›ní vlastníka a skupinu každého SOUBORU podle vzorového RSOUBORU. �ZmÄ›ní bezpeÄnostní kontext každého SOUBORU na KONTEXT. PÅ™i použití --reference zmÄ›ní bezpeÄnostní kontext každého SOUBORU na kontext RSOUBORU. �Chet Ramey�Potomek skonÄil (SIGCHLD)�Colin Plumb�Porovná seÅ™azené soubory SOUBOR1 a SOUBOR2 řádek po pořádku. �ZÅ™etÄ›zí obsah SOUBORU(Å®) nebo standardního vstupu a vypíše jej na standardní výstup. -A, --show-all stejné jako -vET -b, --number-nonblank Äísluje neprázdné výstupní řádky, pÅ™ebije -n -e stejné jako -vE -E, --show-ends vypíše $ na konci každého řádku -n, --number Äísluje vÅ¡echny výstupní řádky -s, --squeeze-blank prázdné řádky jdoucí po sobÄ› redukuje na jediný � Kontext: %C �Je pokraÄováno (SIGCONT)�V každém SOUBORU pÅ™evádí mezery na tabelátory a výsledek vypisuje na standardní výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude Äten standardní vstup. �Konvertuje tabelátory v každém SOUBORU na mezery, výsledek jde na standardní výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude Äten standardní vstup. �Kopíruje ZDROJ do CÃLE nebo více ZDROJÅ® do ADRESÃŘE. �Kopírování souboru, konverze a formátování podle operandů. bs=BAJTÅ® Äte a zapisuje až BAJTÅ® bajtů najednou cbs=BAJTÅ® konvertuje BAJTÅ® bajtů najednou conv=KONVERZE konvertuje soubor podle seznamu Äárkami oddÄ›lených konverzí count=N zkopíruje pouze N vstupních bloků ibs=BAJTÅ® Äte BAJTÅ® bajtů najednou (implicitnÄ›: 512) �Kopíruje standardní vstup do každého SOUBORU a také na standardní výstup. -a, --append pÅ™ipojí k daným SOUBORÅ®M, nepÅ™episuje je -i, --ignore-interrupts ignoruje signál „interrupt“ �Vytvoří doÄasný soubor nebo adresář bezpeÄným způsobem a vypíše jeho jméno. Å ABLONA musí konÄit na alespoň 3 po sobÄ› následující znaky „X“. Nebude-li zadána Å ABLONA, použije se tmp.XXXXXXXXXX a zapne se --tmpdir. �Vytvoří pojmenované roury (FIFO) se zadanými JMÉNY. �Vytvoří ADRESÃŘ(E), pokud jeÅ¡tÄ› neexistuje(í). �Vytvoří zvláštní soubor pod JMÉNEM a zadaného TYPU. �David M. Ihnat�David MacKenzie�David Madore�Zařízení: %Dh/%dd I-uzel: %-10i Odkazů: %-5h Druh zařízení: %t,%T �Zařízení: %Dh/%dd I-uzel: %-10i Odkazů: %h �Rozpoznává neplatné nebo nepÅ™enositelné konstrukce ve jménech souborů. -p kontrola pro vÄ›tÅ¡inu POSIXOVÃCH systémů -P kontrola na prázdná jména a uvozující „-“ --portability kontrola pro vÅ¡echny POSIXOVÉ systémy (stejné jako -p -P) �Adresář: �Zobrazí informace o souboru nebo souborovém systému. �Vypíše aktuální Äas v daném FORMÃTU, nebo nastaví datum v systému. �Dmitry V. Levin�Zbaví se doplňkových skupin, pÅ™evezme ID uživatele a ID skupiny urÄené JMÉNEM_UŽIVATELE (Äíselným ID nebo jménem) a spustí PŘÃKAZ se zadanými ARGUMENTY. SkonÄí s výstupním kódem 111, pokud není možné pÅ™ejmout požadované ID uživatele a skupiny. Jinak vrátí výstupní kód PŘÃKAZU. Tento program má smysl jen, je-li vyvolán rootem (ID uživatele 0). �EMT past (SIGEMT)�UKONCENI�Každý rozsah může být: N N. bajt, znak nebo položka, poÄítáno od 1 N- od N. bajtu, znaku nebo položky, do konce řádku N-M od N. do M. (vÄetnÄ›) bajtu, znaku nebo položky -M od prvního do M. (vÄetnÄ›) bajtu, znaku nebo položky Jestliže SOUBOR není zadán, nebo je „-“, bude Äten standardní vstup. �Vypíše ŘETÄšZEC na standardní výstup. -n bez ukonÄovacího znaku nového řádku �Eric Blake�SkonÄí s návratovým kódem znaÄícím selhání.�SkonÄí s návratovým kódem znaÄícím úspÄ›ch.�UkonÄí se s návratovým kódem urÄeným VÃRAZEM. �François Pinard�CHYBNÃ�OPRAVMÄš: neznámý�FORMÃT musí být vhodný pro vytiÅ¡tÄ›ní jednoho argumentu typu „double“; výchozí je „%PŘESf“, pokud PRVNÃ, PŘÃRÅ®STEK a POSLEDNà jsou vÅ¡echny desítková Äísla s pevnou řádovou Äárkou s nejvÄ›tší pÅ™esností PŘES, jinak „%g“. �Roury nemají hlavní a vedlejší Äíslo zařízení.�PÅ™ekroÄen limit délky souboru (SIGXFS2)�Soubory jsou vytvářeny jako u+rw, adresáře jako u+rwx, mínus omezení umask. �Souborový systém�Ze VSTUPU (nebo standardního vstupu) filtruje sousedící shodné řádky a výsledek zapíše na VÃSTUP (nebo standardní výstup). Bez pÅ™epínaÄů zredukuje odpovídající řádky na první výskyt. �Výjimka v pohyblivé řádové Äárce (SIGFPE)�Úplnou dokumentaci lze získat příkazem: info coreutils '%s invocation' �Pro každý pár vstupních řádků se stejnými propojovacími položkami zapíše řádek na standardní výstup. ImplicitnÄ› je propojovací položkou položka první a oddÄ›lovaÄ je mezera. Jestliže SOUBOR1, nebo SOUBOR2 bude „-“ (ne oba), pak tento bude Äten ze standardního vstupu. -a STRANA rovněž vypíše nepárové řádky ze souboru Äíslo STRANA, kde STRANA je 1 nebo 2 pro SOUBOR1 nebo SOUBOR2 -e VYPLŇ nahradí chybÄ›jící vstupní položky VÃPLNà �Donutí pozmÄ›nÄ›né bloky zapsat na disk, aktualizuje superblok. �Obecná nápovÄ›da, jak používat GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�Hans Peter Anvin�Odpojen terminál (SIGHUP)�Vstup/Výstup možný (SIGIO)�ZAHALI�IVolno�IUži%�IUžito�Ian Lance Taylor�Prostoj�Pokud není SOUBOR zadán, použije se %s. Obvyklý SOUBOR je %s. �Pokud je souÄasnÄ› použit první i druhý způsob zápisu formátu, druhý formát má pÅ™ednost, pokud poslední operand zaÄíná na „+“ nebo (existují-li dva operandy) na Äíslici. Operand POSUN znaÄí -j POSUN. NÃVĚŠTà je pseudoadresa vypsaná u prvního bajtu a zvÄ›tÅ¡ovaná bÄ›hem výpisu. POSUN a NÃVĚŠTà jsou brána jako Å¡estnáctková Äísla, pokud zaÄínají 0x nebo 0X. Pokud Äísla konÄí teÄkou „.“, jsou považována za osmiÄková Äísla a pokud konÄí znakem „b“, znamená to, že budou násobena 512. �Nedovolená instrukce (SIGILL)�Navíc zálohy a vzdálená zrcadla souborových systémů mohou obsahovat kopie souboru, který nemůže být smazán, a tak umožňují pozdÄ›jší obnovu skartovaných souborů. �ObÄanské jméno: �1. forma vytvoří odkaz na CÃL se jménem JMÉNO_ODKAZU. 2. forma vytvoří odkaz na CÃL v aktuálním adresáři. 3. a 4. forma vytváří odkazy na každý CÃL v ADRESÃŘI. ImplicitnÄ› vytváří pevné odkazy, pro symbolické odkazy pÅ™idejte --symbolic. StandardnÄ› žádné umístÄ›ní (název nového odkazu) by nemÄ›l pÅ™edem existovat. Pokud se vytváří pevné odkazy, každý CÃL musí existovat. Symbolické odkazy mohou nést libovolný text; pÅ™i pozdÄ›jším vyhodnocování je relativní odkaz zvažován vzhledem ke svému nadřízenému adresáři. �V případÄ› souborového systému ext3 se výše uvedené upozornÄ›ní (omezená úÄinnost shredu) vztahuje jen na režim data=journal, ve kterém se žurnálují kromÄ› metadat i samotný obsah souborů. Jak v režimu data=order (implicitní), tak v data=writeback shred pracuje zcela normálnÄ›. Režim žurnálování u ext3 lze zmÄ›nit pÅ™idáním volby data=NÄšCO k pÅ™ipojovacím volbám daného souborového systému do souboru /etc/fstab, jak je popsáno v manuálu k příkazu mount (man mount). �NekoneÄno�nekoneÄno B�Žádost o informaci (SIGINFO)�I-uzlů�PÅ™eruÅ¡ení (SIGINT)�PÅ™eruÅ¡eno signálem�Chybný zpÄ›tný odkaz�Chybný název znakové třídy�Znak nevhodné třídy�Chybný obsah mezi \{ a \}�PÅ™edcházející regulární výraz je chybný�Chybný konec rozsahu�Neplatný regulární výraz�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Zabit (SIGKILL)�TERMINAL�LOGIN�Vypisuje informace o SOUBORECH (implicitnÄ› z aktuálního adresáře). Jestliže není zadán žádný z pÅ™epínaÄů -cftuvSUX nebo --sort, výstup bude seÅ™azen abecednÄ›. �Login�PÅ™ihlaÅ¡ovací jméno: �Lucasův prvoÄíselný test selhal. Toto by se stát nemÄ›lo�Mark Kettenis�Matthew Bradburn�Chyba pÅ™idÄ›lování pamÄ›ti�Paměť vyÄerpána�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�PÅ™ipojeno do�JMENO�Jméno�Neznámé jméno nebo služba�Niels Möller�Se jménem poÄítaÄe není spojena žádná adresa�Žádná shoda�Chybí pÅ™edcházející regulární výraz�Z chyby pÅ™ekladu jména se nelze zotavit�V POŘÃDKU�Pouze jeden Å™etÄ›zec smí být zadán pÅ™i mazání bez srážení opakujících se znaků�Řadicí pÅ™epínaÄe: �Další pÅ™epínaÄe: �Vypíše permutovaný rejstřík, vÄetnÄ› kontextu, slov ze vstupních souborů �Výstupem jsou příkazy, které zajistí nastavení promÄ›nné prostÅ™edí LS_COLORS. Specifikace výstupního formátu: -b, --sh, --bourne-shell výstupem je kód Bourne shellu pro nastavení LS_COLORS -c, --csh, --c-shell výstupem je kód C shellu pro nastavení LS_COLORS -p, --print-database výstupem je vnitÅ™ní databáze �Vypíše každý NÃZEV bez koncové nelomítkové Äásti a koncová lomítka odstraní. Pokud NÃZEV neobsahuje „/“, vypíše „.“ (tzn. aktuální adresář). �RozdÄ›lí VSTUP do souborů PŘEDPONAaa, PŘEDPONAab, … s pevnou délkou; výchozí délka je 1000 řádků a výchozí PŘEDPONA je „x“. Pokud VSTUP nebude zadán nebo bude „-“, bude Äten standardní vstup. �RozdÄ›luje SOUBOR v místech VZORKU(Å®) do souborů „xx00“, „xx01“, … a vypisuje velikosti každého výstupního souboru na standardní výstup. �Vypíše limity závislé na platformÄ› ve formátu vhodném do shellových skriptů. �Vypíše právÄ› pÅ™ihlášené uživatele. Informace jsou brány ze SOUBORU. Pokud není SOUBOR zadán, použije se %s. Obvyklý SOUBOR je %s. �Zadané SOUBORY opakovanÄ› pÅ™epíše, Äímž ztíží pokusy o obnovení jejich obsahu i za použití velmi drahého vybavení. �PID�Zabaleno kým: %s �Zabaleno kým: %s (%s) �Pádraig Brady�Rozvrhne SOUBOR(Y) pro tisk na stránky nebo sloupce. �ŘetÄ›zec v parametru není správnÄ› zakódován�Paul Eggert�Paul Rubin�Pete TerMaat�Plán: �Výpadek napájení (SIGPWR)�Nenadálý konec regulárního výrazu�Vypíše ARGUMENT(Y) v urÄeném FORMÃTU nebo provede podle PŘEPÃNAČŮ: �Vypíše CRC kontrolní souÄet a poÄet bajtů v každém SOUBORU. �Vypíše NÃZEV bez úvodních adresářů. Pokud je zadáno, odstraní také PŘÃPONU. �Vypíše nÄ›které informace o systému. Není-li zadán žádný pÅ™epínaÄ, výpis je stejný jako s pÅ™epínaÄem -s. -a, --all vypíše vÅ¡echny informace v následujícím poÅ™adí kromÄ› -p a -i, které vynechá, nejsou-li známy: -s, --kernel-name vypíše jméno jádra -n, --nodename vypíše jméno poÄítaÄe v síti -r, --kernel-release vypíše oznaÄení vydání jádra (Äíslo) [release] �Ke každému SOUBORU vypíše kontrolní souÄet a poÄet bloků. -r použije BSD algoritmus a bloky po 1 K -s, --sysv použije System V algoritmus a bloky po 512 bajtech �Zobrazí přísluÅ¡nosti skupinám pro každé JMÉNO_UŽIVATELE nebo pro aktuální proces, není-li JMÉNO_UŽIVATELE zadáno (zde se projeví rozdíl po zmÄ›nÄ› v databázi skupin). �Vypíše informace o právÄ› pÅ™ihlášených uživatelích. �Vypíše architekturu stroje. �Ke každému SOUBORU vypíše poÄet nových řádků, slov a bajtů. Bude-li zadán více než jeden SOUBOR, vypíše i celkové údaje. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. Slovo je neprázdná posloupnost znaků oddÄ›lená bílým místem. Následujícími pÅ™epínaÄi lze vybrat, která poÄítadla budou vypsána. Vždy v tomto poÅ™adí: nové řádky, slova, znaky, bajty, nejvÄ›tší délka řádku. -c, --bytes vypíše poÄet bajtů -m, --chars vypíše poÄet znaků -l, --lines vypíše poÄet řádků (resp. výskytů znaku nový řádek) �Vypíše Äísla od PRVNÃHO do POSLEDNÃHO s krokem PŘÃRÅ®STEK. �Vypíše nebo zmÄ›ní nastavení terminálu. �Vypíše vybrané Äásti řádků z každého SOUBORU na standardní výstup. �Vypíše aktuální Äas, Äas, po který je systém v provozu, poÄet uživatelů pÅ™ihlášených v systému a průmÄ›rný poÄet procesů Äekajících ve frontÄ› na zpracování bÄ›hem posledních 1, 5 a 15 minut.�Vypíše jméno souboru terminálu pÅ™ipojeného na standardní vstup. -s, --silent, --quiet potlaÄí výstup a vrátí pouze návratový kód. �Vypíše prvních 10 řádků každého SOUBORU na standardní výstup. S více jak jedním SOUBOREM bude pÅ™ed vypsáním každého uvedena hlaviÄka obsahující jméno SOUBORU. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �Vypíše celý název souÄasného pracovního adresáře. �Vypíše posledních %d řádků každého souboru na standardní výstup. S více jak jedním SOUBOREM bude pÅ™ed vypsáním každého uvedena hlaviÄka obsahující jeho jméno. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �Vytiskne jméno aktuálního uživatele. �Vypíše poÄet výpoÄetních jednotek dostupných souÄasnému procesu, což může být ménÄ› než poÄet zapojených procesorů. �Vypíše rozklad každého celého ÄŒÃSLA na prvoÄísla. Pokud ÄŒÃSLA nebudou zadána, budou naÄtena ze standardního vstupu. �Vypíše vyhodnocený absolutní název souboru. VÅ¡e až na poslední Äást musí existovat. �Vypíše jméno uživatele přísluÅ¡ející aktuálnímu efektivnímu UID. Stejné jako příkaz id -un. �Vypíše informace o uživateli JMÉNO_UŽIVATELE nebo (je-li JMÉNO_UŽIVATELE vynecháno) o aktuálním uživateli. -a ignoruje se, z důvodu kompatibility s jinými verzemi -Z, --context vypíše pouze bezpeÄnostní kontext souÄasného uživatele -g, --group vypíše pouze efektivní Äíslo skupiny -G, --groups vypíše Äísla vÅ¡ech skupin -n, --name vypíše jména, ne Äísla (pro -ugG) -r, --real vypíše reálné ID místo efektivního (pro -ugG) -u, --user vypíše pouze efektivní Äíslo uživatele �Vypíše hodnotu symbolického odkazu nebo kanonický název souboru �Požadavek se zpracovává�Profilovací ÄasovaÄ vyprÅ¡el (SIGPROF)�Projekt: �Q. Frank Xia�Konec (SIGQUIT)�Randy Smith�Signál reálného Äasu %d�PÅ™eformátuje ÄŒÃSLO(A), nebo Äísla ze standardního vstupu, nebyla-li zadána. �PÅ™eformátuje vÅ¡echny odstavce v SOUBORU a výsledek vypíše na standardní výstup. PÅ™epínaÄ -Å ÃŘKA je zkrácená podoba --width=Å ÃŘKA. �Regulární výraz je příliÅ¡ dlouhý�Maže (unlink) SOUBOR(Y). -f, --force ignoruje neexistující soubory a argumenty, nikdy se neptá -i, ptá se pÅ™ed každým smazáním �Smaže ADRESÃŘ(E), pokud jsou prázdné. --ignore-fail-on-non-empty ignoruje každé selhání, která je způsobeno jen a pouze tím, že adresář je neprázdný �PÅ™ejmenuje ZDROJ na CÃL, nebo pÅ™esune ZDROJ(E) do ADRESÃŘE. �OpakovanÄ› vypisuje řádku se zadanými ŘETÄšZCI nebo s „y“. �Chyby distribuce %s oznamujte na adrese <%s> (anglicky). �Chyby v pÅ™ekladu %s hlaste na <http://translationproject.org/team/cs.html> (Äesky). �Požadavek zruÅ¡en�Požadavek nezruÅ¡en�ProstÅ™edek byl ztracen (SIGLOST)�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Spustí PŘÃKAZ s pozmÄ›nÄ›nou hodnotou nice, což ovlivní plánování procesů. Bez PŘÃKAZU vypíše aktuální hodnotu. Rozsah hodnoty nice je od %d (nejpříznivÄ›jší pro proces) do %d (nejménÄ› příznivé pro proces). �Spustí PŘÃKAZ s koÅ™enovým adresářem nastaveným na NOVÃ_ROOT. �Spustí PŘÃKAZ tak, aby ignoroval signál hangup (zavěšení linky). �Spustí PŘÃKAZ s pozmÄ›nÄ›nými bufferovacími operacemi standardních proudů. �Spustí program v jiném bezpeÄnostním kontextu. Bez KONTEXTU a bez PŘÃKAZU vypíše souÄasný bezpeÄnostní kontext. �Russell Coker�Scott Bartram�Scott Miller�NeoprávnÄ›ný přístup do pamÄ›ti (SIGSEGV)�ZaÅ¡le signál procesům nebo vypíše seznam signálů. �Servname není podporována daným ai_socktype�Pro obejití problému nastavte LC_ALL='C'.�Nastaví v prostÅ™edí každou promÄ›nnou JMÉNO na HODNOTU a spustí PŘÃKAZ. �Shell: �Vypíše informace o souborových systémech, ve kterých každý SOUBOR leží, nebo implicitnÄ› o vÅ¡ech souborových systémech. �Zkrátí nebo prodlouží velikost každého SOUBORU na zadanou velikost. Neexistující SOUBOR bude vytvoÅ™en. Je-li SOUBOR delší než zadaná velikost, budou nadbyteÄná data ztracena. Je-li SOUBOR kratší, bude prodloužen a prodloužená Äást (díra) bude pÅ™i Ätení vypadat jako Å™ada nulových bajtů. �Simon Josefsson�Velikost�Zvláštní soubory vyžadují hlavní a vedlejší Äísla zařízení.�PoruÅ¡en zásobník (SIGSTKFLT)�Spustí PŘÃKAZ a zabije jej, pokud poběží i po zadané DOBÄš. �Pozastaven (SIGTSTP)�Pozastaven (SIGSTOP)�Pozastaven (vstup TTY) (SIGTTIN)�Pozastaven (výstup TTY) (SIGTTOU)�Stuart Kemp�ÚspÄ›ch�SÄítá diskový prostor zabraný každým SOUBOREM, pro adresáře rekurzivnÄ›. �Chyba systému�CAS�DoÄasné selhání pÅ™i pÅ™ekladu jména�UkonÄen (SIGTERM)�Formát data umožňuje následující příznaky za „%“: - (spojovník) nezarovnání položky _ (podtržítko) zarovnání položky mezerami 0 (nula) zarovnání nulami ^ pokud lze, použije velká písmena # pokud lze, použije písmena opaÄné velikosti �Byly porovnávány Å™etÄ›zce %s a %s.�Torbjörn Granlund�Trasovací/ladící past (SIGTRAP)�PÅ™ebyteÄné zpÄ›tné lomítko�Nahrazuje, sráží a/nebo maže znaky ze standardního vstupu, výsledek zapisuje na standardní výstup. -c, -C, --complement použije doplnÄ›k MNOŽINY1 -d, --delete pouze maže znaky z MNOŽINY1, nenahrazuje -s, --squeeze-repeats nahradí každou vstupní posloupnost opakujících se znaků z MNOŽINY1 pouze jedním dotyÄným znakem -t, --truncate-set1 napÅ™ed zkrátí MNOŽINU1 na délku MNOŽINY2 �Více informací získáte příkazem „%s --help“. �Pro odstranÄ›ní %3$s zkuste „%1$s ./%2$s“. �PÅ™i mazání a kompresi opakujících se znaků musí být zadány dvÄ› množiny.�PÅ™i nahrazování musí být zadány dva Å™etÄ›zce�Typ�Ulrich Drepper�Neznámá chyba�Neznámý signál %d�Neznámá chyba systému�Nepárová ( nebo \(�Nepárová ) nebo \)�Nepárová [ nebo [^�Nepárová \{�Nastaví Äas posledního přístupu a poslední zmÄ›ny obsahu každého zadaného SOUBORU na aktuální Äas. Argument SOUBOR, který neexistuje, bude vytvoÅ™en prázdný, nebyl-li zadán pÅ™epínaÄ -c nebo -h. Argument SOUBOR s hodnotou „-“ bude oÅ¡etÅ™en zvláštnÄ›: zmÄ›na Äasů se dotkne souboru spojeného se standardním výstupem. �Naléhavá V/V situace (SIGURG)�Použití: %s �Použití: %s PŘÃKAZ [ARGUMENT]… nebo: %s PŘEPÃNAÄŒ �Použití: %s KONTEXT PŘÃKAZ [ARGUMENTY] nebo: %s [-c] [-u UŽIVATEL] [-r ROLE] [-t DRUH] [-l ROZSAH] PŘÃKAZ [ARGUMENTY] �Použití: %s [VÃRAZ]… nebo: %s PŘEPÃNAÄŒ �Použití: %s SOUBOR nebo: %s PŘEPÃNAÄŒ �Použití: %s SOUBOR1 SOUBOR2 nebo: %s PŘEPÃNAÄŒ �Použití: %s FORMÃT [ARGUMENT]… nebo: %s PŘEPÃNAÄŒ �Použití: %s NÃZEV [PŘÃPONA] nebo: %s PŘEPÃNAČ… NÃZEV… �Použití: %s ÄŒÃSLO[PŘÃPONA]… nebo: %s PŘEPÃNAÄŒ ÄŒeká POÄŒET sekund. PŘÃPONA může být „s“ (sekundy) – implicitnÄ›, „m“ (minuty), „h“ (hodiny) nebo „d“ (dny). V mnoha implementacích musí být ÄŒÃSLO Äíslo celé, zde může být i Äíslem desetinným. Dva a více argumentů způsobí, že se bude Äekat po dobu danou souÄtem zadaných hodnot. �Použití: %s PŘEPÃNAČ… PŘÃKAZ �Použití: %s PŘEPÃNAČ… SOUBOR… �Použití: %s PŘEPÃNAČ… [SOUBOR]… �Použití: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [NASTAVENÃ]… nebo: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [-a|--all] nebo: %s [-F ZAŘÃZENÃ] | --file=ZAŘÃZENÃ] [-g|--save] �Použití: %s [-Å ÃŘKA] [PŘEPÃNAÄŒ]… [SOUBOR]… �Použití: %s [-s SIGNÃL | -SIGNÃL] PID… nebo: %s -l [SIGNÃL]… nebo: %s -t [SIGNÃL]… �Použití: %s [SOUBOR]… nebo: %s [PŘEPÃNAÄŒ] �Použití: %s [JMÉNO] nebo: %s PŘEPÃNAÄŒ Vypíše nebo nastaví jméno stroje. �Použití: %s [ÄŒÃSLO]… nebo: %s PŘEPÃNAÄŒ �Použití: %s [OPERAND]… nebo: %s PŘEPÃNAÄŒ �Použití: %s [PŘEPÃNAÄŒ] �Použití: %s [PŘEPÃNAÄŒ] Vypíše Äíselný identifikátor (v Å¡estnáctkové soustavÄ›) pro tento stroj. �Použití: %s [PŘEPÃNAÄŒ] DOBA PŘÃKAZ [ARG]… nebo: %s [PŘEPÃNAÄŒ] �Použití: %s [PŘEPÃNAÄŒ] JMÉNO… �Použití: %s [PŘEPÃNAÄŒ] NOVÃ_ROOT [PŘÃKAZ [ARG]…] nebo: %s PŘEPÃNAÄŒ �Použití: %s [PŘEPÃNAÄŒ] [[PŘÃKAZ] [ARGUMENT]…] �Použití: %s [PŘEPÃNAÄŒ] [SOUBOR] Výstupem je úplnÄ› uspořádaný seznam v souladu s ÄásteÄným uspořádáním ze SOUBORU. Jestliže není SOUBOR zadán, nebo je „-“, bude Äten standardní vstup. �Použití: %s [PŘEPÃNAÄŒ]… �Použití: %s [PŘEPÃNAÄŒ]… KONTEXT… SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… [-u UŽIVATEL] [-r ROLE] [-l ROZSAH] [-t DRUH] SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR… �Použití: %s [PŘEPÃNAÄŒ]… ADRESÃŘ… �Použití: %s [PŘEPÃNAÄŒ]… SOUBOR VZOREK… �Použití: %s [PŘEPÃNAÄŒ]… SOUBOR… �Použití: %s [PŘEPÃNAÄŒ]… SOUBOR1 SOUBOR2 �Použití: %s [PŘEPÃNAÄŒ]… SKUPINA SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR… �Použití: %s [PŘEPÃNAÄŒ]… POSLEDNà nebo: %s [PŘEPÃNAÄŒ]… PRVNà POSLEDNà nebo: %s [PŘEPÃNAÄŒ]… PRVNà PŘÃRÅ®STEK POSLEDNà �Použití: %s [PŘEPÃNAÄŒ]… PRÃVA[,PRÃVA]… SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… OSMIÄŒKOVÃ_PRÃVA SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR… �Použití: %s [PŘEPÃNAÄŒ]… JMÉNO TYP [HLAVNà VEDLEJÅ Ã] �Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO]… �Použití: %s [PŘEPÃNAÄŒ]… MNOŽINA1 [MNOŽINA2] �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR | ARG1 ARG2] �Použití: %s [PŘEPÃNAÄŒ]… [+FORMÃT] nebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]RR][.ss]] �Použití: %s [PŘEPÃNAÄŒ]… [-T] ZDROJ CÃL nebo: %s [PŘEPÃNAÄŒ]… ZDROJ… ADRESÃŘ nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ ZDROJ… �Použití: %s [PŘEPÃNAÄŒ]… [-T] ZDROJ CÃL nebo: %s [PŘEPÃNAÄŒ]… ZDROJ… ADRESÃŘ nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ ZDROJ… nebo: %s [PŘEPÃNAÄŒ]… -d ADRESÃŘ… �Použití: %s [PŘEPÃNAÄŒ]… [-T] CÃL JMÉNO_ODKAZU (1. forma) nebo: %s [PŘEPÃNAÄŒ]… CÃL (2. forma) nebo: %s [PŘEPÃNAÄŒ]… CÃL… ADRESÃŘ (3. forma) nebo: %s [PŘEPÃNAÄŒ]… -t ADRESÃŘ CÃL… (4. forma) �Použití: %s [PŘEPÃNAÄŒ]… [-] [JMÉNO=HODNOTA]… [PŘÃKAZ [ARGUMENT]…] �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]… �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR] nebo: %s -e [PŘEPÃNAÄŒ]… [ARG]… nebo: %s -i DO-HO [PŘEPÃNAÄŒ]… �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR] Zakóduje do base64 nebo dekóduje z base64 SOUBOR nebo standardní vstup na standardní výstup. �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]… �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]… nebo: %s [-abcdfilosx]… [SOUBOR] [[+]POSUN[.][b]] nebo: %s --traditional [PŘEPÃNAÄŒ]… [SOUBOR] [[+]POSUN[.][b] [+][NÃVÄšSTÃ][.][b]] �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]… nebo: %s [PŘEPÃNAÄŒ]… --files0-from=S �Použití: %s [PŘEPÃNAÄŒ]… [SOUBOR]… Vypíše nebo zkontroluje %s (%dbitové) kontrolní souÄty. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �Použití: %s [PŘEPÃNAÄŒ]… [VSTUP [VÃSTUP]] �Použití: %s [PŘEPÃNAÄŒ]… [VSTUP [PŘEDPONA]] �Použití: %s [PŘEPÃNAÄŒ]… [VSTUP]… (bez -G) nebo: %s -G [PŘEPÃNAÄŒ]… [VSTUP [VÃSTUP]] �Použití: %s [PŘEPÃNAÄŒ]… [ÄŒÃSLO]… �Použití: %s [PŘEPÃNAÄŒ]… [VLASTNÃK][:[SKUPINA]] SOUBOR… nebo: %s [PŘEPÃNAÄŒ]… --reference=RSOUBOR SOUBOR… �Použití: %s [PŘEPÃNAÄŒ]… [Å ABLONA] �Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO_UŽIVATELE] �Použití: %s [PŘEPÃNAÄŒ]… [JMÉNO_UŽIVATELE]… �Použití: %s [PŘEPÃNAÄŒ]… [UŽIVATEL]… �Použití: %s [PŘEPÃNAÄŒ]… [PROMÄšNNÃ]… Vypíše hodnoty zadaných PROMÄšNNÃCH prostÅ™edí. Pokud žádná PROMÄšNNà není zadána, vypíše dvojice název hodnota pro vÅ¡echny promÄ›nné. �Použití: %s [KRÃTKÃ_PŘEPÃNAÄŒ]… JMÉNO_UŽIVATELE PŘÃKAZ [ARGUMENT]… nebo: %s DLOUHÃ_PŘEPÃNAÄŒ �Použití: %s [KRÃTKÃ_PŘEPÃNAÄŒ]… [ŘETÄšZEC]… nebo: %s DLOUHÃ_PŘEPÃNAÄŒ �Použití: %s [ŘETÄšZEC]… nebo: %s PŘEPÃNAÄŒ �Použití: %s [argumenty z příkazové řádky jsou ignorovány] nebo: %s PŘEPÃNAÄŒ �Použití: test VÃRAZ nebo: test nebo: [ VÃRAZ ] nebo: [ ] nebo: [ OPTION �Uži%�Užito�Uživatelem definovaný signál 1 (SIGUSR1)�Uživatelem definovaný signál 2 (SIGUSR2)�Platné argumenty jsou:�Platné argumenty jsou: �Platné formátovací sekvence pro souborové systémy: %a volné bloky dostupné ne-superuživateli %b datových bloků celkem v systému souborů %c i-uzlů celkem v systému souborů %d volných i-uzlů v systému souborů %f volných bloků v systému souborů �Virtuální ÄasovaÄ vyprÅ¡el (SIGVTALRM)�VAROVÃNÃ: Zacyklená struktura adresářů. To téměř jistÄ› znamená, že máte poruÅ¡en souborový systém. INFORMUJTE VAÅ EHO SPRÃVCE SYSTÉMU. Následujíc adresář je Äástí kruhu: %s �VAROVÃNÃ: ignoruji --context (-Z), toto jádro nepodporuje SELinux�VAROVÃNÃ: ignoruji --preserve-context, toto jádro nepodporuje SELinux�VAROVÃNÃ: ignoruji pÅ™epínaÄ --strip-option, protože pÅ™epínaÄ -s nebyl použit�Pozor: �Kdy�Odkud�Okno se zmÄ›nilo (SIGWINCH)�PÅ™i --follow (-f) standardnÄ› sleduje tail deskriptor souboru, což znamená, že i když bude soubor pÅ™ejmenován, tail stále bude sledovat jeho konec. Toto implicitní chování není žádoucí, jestliže chcete sledovat aktuální soubor pod daným jménem a ne deskriptor souboru (například rotace logů). V tomto případÄ› použijte --follow=name. To způsobí, že tail bude sledovat soubor daného jména takovým způsobem, aby se vyrovnal s jeho pÅ™ejmenováním, smazáním a vytvoÅ™ením. �Zalamuje vstupní řádky každého SOUBORU (implicitnÄ› standardního vstupu) a výsledek zapisuje na standardní výstup. �Vypíše náhodnou permutaci vstupních řádků na standardní výstup. �Vypíše každý SOUBOR na standardní výstup. Poslední řádek jako první. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �PÅ™epíše každý SOUBOR na standardní výstup a ke každému řádku pÅ™idá jeho Äíslo. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �Vypíše řádky skládající se z řádků jednotlivých SOUBORÅ® v zadaném poÅ™adí a oddÄ›lených tabelátory na standardní výstup. Jestliže SOUBOR nebude zadán nebo bude „-“, bude Äten standardní vstup. �Vypíše seÅ™azené zÅ™etÄ›zení vÅ¡ech SOUBORÅ® na standardní výstup. �Napsali %s a %s. �Napsali %s, %s, %s, %s, %s, %s, %s, %s, %s a jiní. �Napsali %s, %s, %s, %s, %s, %s, %s, %s a %s. �Napsali %s, %s, %s, %s, %s, %s, %s a %s. �Napsali %s, %s, %s, %s, %s, %s a %s. �Napsali %s, %s, %s, %s, %s a %s. �Napsali %s, %s, %s, %s a %s. �Napsali %s, %s, %s a %s. �Napsali %s, %s a %s. �Napsal %s. �výraz [=c=] nemůže být v MNOŽINÄš2 pÅ™i nahrazování�^ žádná shoda klíÄe �^[nN]�^[aAyY]�volání _open_osfhandle selhalo�„�příkaz musí být zadán s Äíslem upravujícím hodnotu nice�ai_family není podporována�ai_socktype není podporován�argument %s je pro %s nejednoznaÄný�oddÄ›lovaÄ vstupu může být zadán pouze pÅ™i práci s položkami�výstup pÅ™ipojuji k %s�vytvoÅ™ení zálohy souboru %s může zniÄit zdroj; %s nekopírován�vytvoÅ™ení zálohy souboru %s může zniÄit zdroj; `%s' nepÅ™ejmenován�typ zálohy�blokové zařízení�zvláštní blokové soubory nejsou podporovány�bloků�oba dva soubory nemohou být standardním vstupem�posun bajtů %s je příliÅ¡ velký�ÄásteÄný kontext na neoznaÄený soubor %s nelze uplatnit�kontext procesu nelze zjistit�nelze pÅ™istoupit k %s�nelze vytvoÅ™it zálohu %s�není možné oboje, poÄítat celkové souÄty pro každý argument a ukázat vÅ¡echny položky�vlastnictví %s nelze zmÄ›nit�práva %s nelze zmÄ›nit�nelze zmÄ›nit koÅ™enový adresář na %s�do adresáře %s nelze vejít�nelze zmÄ›nit pracovní adresář na koÅ™enový�--target-directory (-t) a --no-target-directory (-T) se vzájemnÄ› vyluÄují�--target-directory a --no-target-directory nelze kombinovat�pÅ™epínaÄe -e a -i nelze kombinovat�tyto konverze nelze kombinovat: ascii, ebcdic, ibm�block a unblock nelze použít souÄasnÄ›�direct a nocache nelze použít souÄasnÄ›�excl a nocreat nelze použít souÄasnÄ›�lcase a ucase nelze použít souÄasnÄ›�PRÃVA a --reference nelze použít souÄasnÄ›�signál nelze kombinovat s -l nebo -t�jména souborů %s a %s nelze porovnat�znak U+%04X nelze pÅ™evést do místní znakové sady�znak U+%04X nelze pÅ™evést do místní znakové sady: %s�nelze kopírovat adresář %s na sebe %s�%s: zacyklené symbolické odkazy nelze kopírovat�adresář %s nelze vytvoÅ™it�nelze vytvoÅ™it rouru %s�nelze vytvoÅ™it pevný odkaz %s na %s�odkaz %s na %s nelze vytvoÅ™it�nelze vytvoÅ™it rouru�nelze vytvoÅ™it obyÄejný soubor %s�nelze vytvoÅ™it zvláštní soubor %s�nelze vytvoÅ™it symbolický odkaz %s�nelze vytvoÅ™it symbolický odkaz %s na %s�v %s nelze vytvoÅ™it doÄasný soubor�nelze dereferencovat %s�zařízení a i-uzel pro %s nelze urÄit�jméno poÄítaÄe nelze zjistit�umístÄ›ní %s nelze urÄit, návrat k aktivnímu dotazování�pÅ™epínaÄ --relative nelze bez pÅ™epínaÄe --symbolic použít�ioctl na „%s“ není možné vykonat�jméno skupiny pro GID %lu nelze najít�jméno uživatele pro UID %s nelze najít�%s nelze sledovat podle jména�nelze zároveň vynutit kontext na %s a zároveň jej zachovat�nelze získat informace o souboru %s z deskriptoru� nelze zjistit pracovní adresář�nelze zjistit efektivní ID skupiny�nelze zjistit efektivní ID uživatele�hodnotu nice nelze získat�nelze zjistit reálné ID skupiny�nelze zjistit reálné ID uživatele�nelze zjistit název systému�velikost %s nelze zjistit�nelze nastavit pozici pro %s�symbolický a pevný odkaz nelze vytvoÅ™it zároveň�adresář %s nelze vytvoÅ™it�nelze pÅ™esunout %s do %s�nelze pÅ™esunout %s do podadresáře sebe sama (%s)�adresář nelze pÅ™esunout do ne-adresáře: %s → %s�%s nelze otevřít pro Ätení�%s nelze otevřít pro zápis�adresář %s nelze otevřít�nad slepým symbolickým odkazem %s nelze pracovat�adresář %s nelze pÅ™epsat ne-adresářem�ne-adresář %s nelze pÅ™epsat adresářem %s�formátovaný výstup nelze provést�rozšířené atributy nelze zachovat, cp je sestaveno bez podpory rozšířených atributů�bez podpory SELinuxu v jádÅ™e nelze zachovat bezpeÄnostní kontext�pÅ™i více možnostech vypsat „pouze jednu“ informaci nelze�pouze jména nebo skuteÄné ID nelze v implicitním formátu vypsat�bezpeÄností kontext nelze vypsat, byl-li zadán uživatel�nelze Äíst�adresář %s nelze Äíst�z %s nelze naÄíst jména souborů�nelze pÅ™eÄíst informace souborového systému pro %s�z hodin reálného Äasu nelze Äíst�symbolický odkaz %s nelze pÅ™eÄíst�tabulku pÅ™ipojených souborových systémů nelze pÅ™eÄíst�nelze odstranit %s�adresář nelze smazat: %s�nelze pÅ™emístit ukazatel po souboru %s�deskriptor %d nelze obnovit: volání dup2 selhalo�%s nelze spustit�%s nelze nastavit�datum nelze nastavit�ID skupiny nelze nastavit na %lu�jméno poÄítaÄe nelze nastavit; systém tuto funkci neposkytuje�jméno nelze zmÄ›nit na %s�hodnotu nice nelze nastavit�nelze nastavit Äasy %s �ID uživatele nelze nastavit na %lu�více bajtů, než kolik obsahují vÅ¡echny vstupní soubory, nelze pÅ™eskoÄit�s příkazem nelze použít pÅ™epínaÄ --null (-0)�není možné zadat výpis souborů po sobÄ› i vedle sebe�pÅ™i výpisu vedle sebe, není možné zadat poÄet sloupců�Äas nelze urÄit více jak jedním zdrojem�soubor nelze rozdÄ›lit více způsoby�nelze získat informace o %s�nelze získat informace o pracovním adresáři (nyní %s)�o standardním vstupu nelze zjistit podrobnosti�nelze se dotknout (provést příkaz „touch“) %s�%s: nelze obnovit ze zálohy�nelze odstranit odkaz %s�%s nelze odstranit z prostÅ™edí�%s nelze sledovat�rodiÄovský adresář %s nelze sledovat�stejnÄ› se nedokážu vyrovnat s chybou v jádÅ™e�skupina souboru %s zmÄ›nÄ›na z %s na %s �vlastník souboru %s zmÄ›nÄ›n z %s na %s �zmÄ›nÄ›ní skupiny souboru %s�zmÄ›nÄ›ní vlastnictví souboru %s�práva %s nelze zmÄ›nit�mÄ›ním bezpeÄnostní kontext %s �posun znaku je nula�znak je mimo rozsah�znakové zařízení�zvláštní znakové soubory nejsou podporovány�odebírám práva k %s�zmÄ›na Äasu�uzavÅ™ení souboru selhalo�uzavírání %s (fd=%d)�zavírá se adresář %s�zavírám vstupní soubor %s�zavírá se vstupní roura�zavírám výstupní soubor %s�zavírá se výstupní roura�zavírá se pÅ™edchozí roura�zavírám standardní vstup�kompatibilní mód podporuje nejvýše jeden soubor�Å™etÄ›zce výplnÄ› je jsou v konfliktu�byly zadány odporující si požadavky na bezpeÄnostní kontext�nastavení bufferování %s na režim %s se nezdaÅ™ilo �pro %s -d nelze založit proces�nelze vytvoÅ™it doÄasný soubor�nelze provést %s�nelze provést %s -d�v %s nemohu nalézt položku adresáře přísluÅ¡ného i-uzlu�Äas startu OS nelze zjistit�adresář %s vytvoÅ™en�vytvářím adresář %s�vytvářím soubor %s �Seznam oddÄ›lovaÄů konÄí na neoÅ¡etÅ™ené zpÄ›tné lomítko: %s�adresář�dÄ›lení nulou�volání dup2 selhalo�prázdný %s nedovolen�jméno souboru je prázdné�zvolený oddÄ›lovaÄ položek je prázdný�chyba pÅ™i zavírání souboru�chyba pÅ™i vyhledávání pomocí regulárního výrazu�chyba pÅ™i vyhledávání pomocí regulárního výrazu�chyba pÅ™i inicializaci Å™etÄ›zců mÄ›síců�chyba pÅ™i sledování události inotify�chyba pÅ™i Ätení %s�chyba pÅ™i Ätení události inotify�chyba pÅ™i Ätení vstupu�chyba pÅ™i Äekání na příkaz�chyba pÅ™i zápisu %s�provádí se s FILE=%s �návkód=�nadbyteÄný argumentů %s�nadbyteÄný operand %s�další argument %s není s -%c dovolen�k %s nelze pÅ™istoupit�normalizace %s selhala�zmÄ›nit kontext %s na %s se nezdaÅ™ilo�skupinu souboru %s se nepodaÅ™ilo zmÄ›nit z %s na %s �skupinu souboru %s se nepodaÅ™ilo zmÄ›nit na %s �práva souboru %s se nepodaÅ™ilo zmÄ›nit z %04lo (%s) na %04lo (%s) �vlastnictví %s nelze zmÄ›nit �vlastnictví %s nelze zmÄ›nit z %s na %s �vlastnictví %s nelze zmÄ›nit na %s �zmÄ›na pracovního adresáře na %s selhala�klonování %s z %s selhalo�zavÅ™ení %s selhalo�uzavÅ™ení vstupní roury selhalo�selhal výpoÄet nového kontextu�pÅ™evod nÄ›kterých vstupních Äísel selhal�vytvoÅ™ení adresáře dle Å¡ablony %s selhalo�vytvoÅ™ení souboru dle Å¡ablony %s selhalo�pevný odkaz %s nebylo možné vytvoÅ™it�pevný odkaz %s na %s nebylo možné vytvoÅ™it�pevný odkaz na %.0s%s nebylo možné vytvoÅ™it�rouru nebylo možné vytvoÅ™it�chyba pÅ™i výrobÄ› bezpeÄnostního kontextu: %s�symbolický odkaz %s nebylo možné vytvoÅ™it�symbolický odkaz %s na %s nebylo možné vytvoÅ™it�vytvoÅ™ení doÄasného souboru v %s se nezdaÅ™ilo�nepodaÅ™ilo se zahodit keÅ¡ pro: %s�rozšíření %s selhalo�%s se nepodaÅ™ilo nalézt�selhalo získání vlastností souboru %s�selhalo získání souÄasného kontextu�získat kontext pro vytváření na souborovém systému se nezdaÅ™ilo�získání skupin aktuálního procesu selhalo�získání skupin uživatele %s selhalo�získat bezpeÄnostní kontext %s se nezdaÅ™ilo�selhalo vyhledání souboru %s�otevÅ™ení %s selhalo�otevÅ™ení %s pro Ätení selhalo�soubor %s se nepodaÅ™ilo se otevřít pro zápis�hodnotu „%Lf“ se nepodaÅ™ilo se pÅ™ipravit pro výpis�selhalo zachování autorství souboru %s�selhalo zachování vlastnictví souboru %s�selhalo zachování práv souboru %s�selhalo zachování Äasů souboru %s�pÅ™esmÄ›rování standardního chybové výstupu selhalo�pÅ™esmÄ›rování standardního chybové výstupu do /dev/null se nezdaÅ™ilo�odstranÄ›ní %s selhalo�odstranÄ›ní adresáře %s selhalo�pÅ™esmÄ›rování standardního vstupu do nepoužitelna selhalo�znovu otevÅ™ení %s v režimu %s se nezdaÅ™ilo�obnova výchozího kontextu pro vytvářené soubory selhala�návrat do původního pracovního adresáře selhal�selhalo pÅ™evinutí proudu souboru %s�spuÅ¡tÄ›ní příkazu %s selhalo�selhalo spuÅ¡tÄ›ní příkazu: „%s -c %s“�nastavení složky %s bezpeÄnostního kontextu na %s se nezdaÅ™ilo�promÄ›nnou prostÅ™edí FILE se nepodaÅ™ilo nastavit�doplňkové skupiny nebylo možné nastavit�selhalo nastavení výchozího kontextu pro vytvářené soubory na %s�selhalo nastavení ID skupiny�selhalo nastavení nového rozsahu %s�selhalo nastavení nové role %s�selhalo nastavení nového druhu %s�selhalo nastavení nového uživatele %s�doplňkovou skupinu(y) nelze nastavit�kopii stderr se nezdaÅ™ilo nastavit příznak uzavÅ™ení pÅ™i exec�nastavení bezpeÄnostního kontextu %s na %s se nezdaÅ™ilo�selhalo nastavení ID uživatele�nelze získat informace o %s�vypnutí O_DIRECT selhalo: %s�aktualizace prostÅ™edí s %s se nezdaÅ™ila�fdatasync na %s selhalo�vyprázdnÄ›ní souborového proudu selhalo�Äíslo položky %s je příliÅ¡ velké�Äíslo položky je nula�položky a pozice se poÄítají od 1�FIFO�soubor %d není seÅ™azen�operandy s názvy souborů nelze kombinovat s --files0-from�operandy se jmény souborů nelze kombinovat s --print-database (-p).�souborový systém typu „%s“ je zároveň vybrán a vylouÄen�systémové volání fork selhalo�formát %s konÄí na %%�formát %s nemá žádnou direktivu %%�formát %s má příliÅ¡ mnoho direktiv %%�formát %s má neznámou direktivu %%%c�formátovací Å™etÄ›zec nesmí být zadán pÅ™i požadavku na tisk stejnÄ› Å¡irokých Å™etÄ›zců�fsync na %s selhalo�fts_close selhalo�fts_read selhalo�fts_read selhalo: %s�tvorba relativní cesty�získání nových vlastností %s�skupina souboru %s zůstala %s �sluÄování do skupin nelze kombinovat s pÅ™epínaÄem --to�v tomto locale nemá sluÄování do skupin žádný úÄinek�funkce iconv není dostupná�funkce iconv je nepoužitelná�id=�s více argumenty se pÅ™epínaÄ --no-newline ignoruje�ignoruji vÅ¡echny argumenty�ignoruji vstup�vstup ignoruji a výstup pÅ™ipojuji k %s�vstup ignoruji a stderr pÅ™esmÄ›rovávám na stdout�Å¡patná velikost tabelátoru (%s) v promÄ›nné prostÅ™edí TABSIZE, bude ignorována�ignoruji neplatnou hodnotu promÄ›nné prostÅ™ení QUOTUNG_STYLE: %s�Å¡patná šířka (%s) v promÄ›nné prostÅ™edí COLUMNS, bude ignorována�ignoruji argumenty, které nejsou pÅ™epínaÄi�nesluÄitelné propojovací položky %lu, %lu�nesluÄitelné oddÄ›lovaÄe položek�inotify nelze použít, návrat k aktivnímu dotazování�zdroje pro inotify vyÄerpány�vstup se ztratil�řádka na vstupu je příliÅ¡ dlouhá�vstupní řádek je příliÅ¡ krátký, v položce %ld nebyly nalezeny žádná Äísla k pÅ™evodu�pÅ™esun mezi zařízeními selhal: %s na %s; cíl nelze odstranit�argument „%3$s“ pÅ™epínaÄe %1$s%2$s je neplatný�argument %2$s za --%1$s je neplatný�argument „-0“ za pÅ™epínaÄem --threshold je neplatný�neplatná úprava %s�argument %s je neplatný�argument %s je pro %s neplatný�chybný styl Äíslování v tÄ›le: %s�režim bufferování %s je pro %s neplatný �chybný seznam bajtů, znaků nebo položek�znak „%c“ v řetÄ›zci typu „%s“ je chybný�chybná třída znaku %s�neplatný kontext: %s�neplatná konverze�chybnÄ› zadaný typ konverze v parametru pÅ™epínaÄe: %c�chybnÄ› zadaný typ konverze v parametru pÅ™epínaÄe: \%.3o�chybné datum: %s�neplatný formát data %s�neplatný klesající rozsah�neplatné zařízení %s %s�neplatný typ zařízení %s�chybné Äíslo položky: %s�chybnÄ› zadaná položka: %s�chybná hodnota položky „%s“�chybná šířka položky: %s�chybné Äíslo souboru v popisu položky: %s�neplatné příznaky v zadání konverze: %%%c%c�chybný argument v pohyblivé řádové Äárce: %s�chybný styl Äíslování v patiÄce: %s�neplatný formát %s (šířka pÅ™etekla)�neplatný formát %s, řídicí posloupnost musí být %%['][-][N]�chybné šířka mezery: %s�neplatná skupina�neplatná skupina %s�neplatný seznam skupin %s�neplatná skupina: %s�chybný styl Äíslování v hlaviÄce: %s�chybné hodnota hlaviÄky „%s“�neplatný vstup�neplatný příznak vstupu�neplatný vstupní rozsah %s�neplatné celé Äíslo %s�chybná celoÄíselný argument %s�neplatný poÄet řádků %s�chybná linková disciplína %s�chybná šířka Äísla řádku: %s�chybná hodnota přírůstku Äísla řádku: %s�chybný formát Äísla řádku: %s�chybné délka řádku: %s�neplatné hlavní Äíslo zařízení: %s�chybné maximální hloubka %s�neplatné vedlejší Äíslo zařízení %s�neplatná práva�neplatná práva: %s�neplatná práva: %s�neplatné Äíslo %s�neplatné Äíslo za „,“�neplatné Äíslo za „-“�neplatné Äíslo za „.“�neplatné Äíslo na zaÄátku položky�chybný poÄet prázdných řádků: %s�chybný poÄet bajtů�chybný poÄet bajtů pro porovnání�chybný poÄet bajtů na pÅ™eskoÄení�neplatný poÄet sloupců: %s�chybný poÄet položek na pÅ™eskoÄení�chybný poÄet řádků�neplatné Äíslo: „%s“�neznámý pÅ™epínaÄ – %c�neplatný pÅ™epínaÄ – %c; -WIDTH je rozpoznán, pouze když je prvním pÅ™epínaÄem; použijte -w Å ÃŘKA�chybný základ výstupní adresy „%c“; musí to být jeden ze znaků [doxn]�neplatný příznak výstupu�chybný hodnota výplnÄ› „%s“�chybný rozsah stran %s�chybná pÅ™esnost: %s�neplatný rozsah bez konce: -�chybný ÄítaÄ opakování %s v konstrukci [c*n]�neplatný argument spec�chybné poÄáteÄní Äíslo řádku: %s�neplatná hodnota operandu status�chybná přípona %s, obsahuje oddÄ›lovaÄ adresářů�neplatná přípona v argumentu „%3$s“ pÅ™epínaÄe %1$s%2$s�neplatná přípona na vstupu „%s“: „%s“�neplatná přípona na vstupu: „%s“�chybná šířka tabelátoru: %s�chybná Å¡ablona %s, obsahuje oddÄ›lovaÄ adresářů�chybná Å¡ablona %s, spolu s --tmpdir nesmí být absolutní�chybné Äasový interval %s�chybný formát pro výpis Äasu %s�neznámý závÄ›reÄný pÅ™epínaÄ – %c�chybný typ Å™etÄ›zce %s�chybný typ Å™etÄ›zce %s; tento systém nemá %lubajtová Äísla s plovoucí řádovou Äárkou�chybný typ Å™etÄ›zce %s; tento systém nemá %lubajtová celá Äísla�chybná jednotka velikost: „%s“�chybný název univerzálního znaku \%c%0*x�neplatný uživatel�neplatný uživatel %s�chybné šířka: %s�neplatná délka zalomení: %s�neplatný název souboru – nulová délka�rekurzivní zpracování %s je nebezpeÄné�rekurzivní zpracování na %s (taktéž na %s) je nebezpeÄné�klÃ­Ä %lu má nulovou šířku a nebude brán na zÅ™etel�klÃ­Ä %lu je Äíselný a zasahuje do více položek�velká vstupní hodnota „%s“: hrozí ztráta pÅ™esnosti�minulá=�Äást se jménem souboru %s zaÄíná znakem „-“�úvodní mezery u klíÄe %lu mají význam, zvažte též zadání „b“�omezení %lu bylo pÅ™ekroÄeno délkou %lu u jména souboru %s�omezení %lu bylo pÅ™ekroÄeno délkou %lu Äástí jména souboru %s�bufferování po řádcích standardního vstupu nemá význam�pÅ™epínaÄ poÄtu řádků -%s%c… je příliÅ¡ velký�Äíslo řádku %s je menší než Äíslo pÅ™edcházejícího řádku, %s�Äíslo řádku pÅ™eteklo�dlouhý pÅ™epínaÄ â€ž--megabytes“ je zastaralý a brzy bude odebrán�maximální argument pro --%s se souÄasnými bÄ›hovými limity je %s�paměť vyÄerpána�paměť vyÄerpána vstupním bufferem o velikosti %'zu bajtů (%s)�paměť vyÄerpána výstupním bufferem o velikosti %'zu bajtů (%s)�fronta zpráv�minimální argument pro --%s je %s�nezarovnané(á) konstrukce [:upper:] a/nebo [:lower:]�v parametru pÅ™epínaÄe chybí zadání typu konverze pomocí %%�chybí „]“�na vstupu chybí přípona „i“: „%s“ (na příklad Ki/Mi/Gi)�za %s postrádám argument�postrádám argument pro %s�chybí název třídy znaků „[::]“�v parametru pÅ™epínaÄe chybí urÄení typu konverze�za %s chybí název cílového souboru�chybí znak třídy ekvivalence „[==]“�chybí název souboru�v escape sekvenci oÄekáváno Å¡estnáctkové Äíslo�chybí seznam položek�chybí seznam pozicí�chybí operand�po %s chybí operand�práva mohou urÄovat jen bity přístupových práv k souboru�práva souboru %s zmÄ›nÄ›na z %04lo (%s) na %04lo (%s) �práva souboru %s zůstala %04lo (%s) �přípojný bod %s již byl pÅ™ekroÄen�pÅ™esunuje se vstupní roura�zvolený oddÄ›lovaÄ položek %s má více znaků�zadáno více pÅ™epínaÄů -i�zadáno více pÅ™epínaÄů -l nebo -t�zadáno více kompresních programů�zadáno více oddÄ›lovaÄů�více rozsahů úrovní�zadáno více výstupních souborů�zadáno více výstupních formátů�zadáno více zdrojů náhodných Äísel�zadáno více relativních modifikátorů�více rolí�zadáno více cílových adresářů�více druhů�více uživatelů�symbolický odkaz %s ani soubor, na nÄ›jž se odkazuje, nebyl zmÄ›nÄ›ny �promÄ›nná prostÅ™edí SHELL neexistuje a není zadán typ shellu�zachování vlastnictví souboru %s �nebyl zadán žádný příkaz�nezadán žádný pÅ™epínaÄ konverze�žádný souborový systém nebyl zpracován�již nezbývají žádné soubory�žádný vstup z %s�chybí pÅ™ihlaÅ¡ovací jméno�nebylo zadáno Äíslo procesu�pÅ™i vypisování Å™etÄ›zců nelze zadat typ�nezadáno jméno uživatele; pÅ™i -l musí být uvedeno alespoň jedno�neceloÄíselný argument�nepÅ™enositelný znak %s ve jménu souboru %s�není TTY�nezapisuji skrze slepý symbolický odkaz %s�poÄet v %s je příliÅ¡ velký�Äíslo u --parallel nesmí být nulové�poÄet bajtů�poÄet řádků�poÄáteÄní hodnota Äíselné přípony je na příponu příliÅ¡ dlouhá�použit zastaralý klÃ­Ä %s, zvažte použití %s�bÄ›hem Ätení ze souboru %s pÅ™etekl offset�vynechávám adresář %s�opakování znaku [c*] může být v MNOŽINÄš2 pouze jednou�pouze jedno zařízení může být zadáno�pouze jeden typ seznamu může být zadán�soubor se nepodaÅ™ilo otevřít�pÅ™epínaÄ â€ž-%s“ je ignorován�pÅ™epínaÄe „-%s“ jsou ignorovány�pÅ™epínaÄe „-%s“ jsou ignorovány�pÅ™epínaÄ â€ž-r“ se vztahuje jen na poslední možné porovnání�pÅ™epínaÄ --output: neznámá položka „%s“�pÅ™epínaÄ --output: položka „%s“ byla použita více krát�pÅ™epínaÄ použit v chybném kontextu  – %c�pÅ™epínaÄe %s a %s se vzájemnÄ› vyluÄují�pÅ™epínaÄe „-%s“ nejsou sluÄitelné�pÅ™epínaÄe --backup --no-clobber se vzájemnÄ› vyluÄují�pÅ™epínaÄe --compare (-C) a --preserve-timestamps se vzájemnÄ› vyluÄují�pÅ™epínaÄe --compare (-C) a --strip se vzájemnÄ› vyluÄují�nedostatek pamÄ›ti (požadováno %zu bajtů)�přípony výstupních souborů vyÄerpány�pÅ™eteÄení pÅ™i prodlužování velikosti souboru %s�pÅ™eteÄení pÅ™i zaokrouhlování velikosti souboru %s nahoru�vlastník souboru %s zachován �vlastníkem souboru %s zůstal %s �Äíslo stránky pÅ™eteklo�šířka stránky je příliÅ¡ malá�zachování práv pro %s�zachování Äasů souboru %s�výpis vÅ¡ech opakujících se řádků a poÄítadla opakování nemá smysl�konce rozsahu „%s-%s“ jsou v obráceném poÅ™adí�chyba pÅ™i Ätení�Ätení ze souboru se nezdaÅ™ilo�Äte se adresář %s�záznam je příliÅ¡ dlouhý�stderr pÅ™esmÄ›rovávám na stdout�běžný prázdný soubor�běžný soubor�přípona ze vstupu odmítnuta: „%s“ (zvažte použití --from)�smazáno %s �smazán adresář: %s �mažu adresář, %s�úroveň bÄ›hu�semafor�oddÄ›lovaÄ nemůže být prázdný�pro obejdete, když nastavíte LC_ALL='C'�nastavuji příznaky pro %s�nastavení práv pro %s�zachování Äasů souboru %s�objekt sdílené pamÄ›ti�souÄet bajtů na pÅ™eskoÄení a bajtů ke Ätení je příliÅ¡ velký�pÅ™eskakuji %s, protože se nachází na jiném zařízení�pÅ™eskakuji soubor %s, protože byl nahrazen bÄ›hem kopírování�soket�Fronta algoritmu SQUFOF pÅ™etekla�standardní chybový výstup�standardní vstup�standardní vstup je uzavÅ™en�standardní výstup�funkce stat selhala�standardního chybového výstupu�standardního vstupu�standardního výstupu�zbloudilý znak v zadání Å™adicí položky�porovnání Å™etÄ›zců selhalo�pÅ™evod Å™etÄ›zce selhal�proces strip skonÄil neobvykle�potlaÄení řádků neobsahujících oddÄ›lovaÄ, má význam pouze pÅ™i použití pÅ™epínaÄe -f�symbolický odkaz�syntaktická chyba�start systému�velikost tabelátoru nemůže být 0�velikost tabelátoru obsahuje neplatný znak: %s�posloupnost pozic tabelátorů musí být rostoucí�velikost tabelátoru %s je příliÅ¡ velká�velikost tabelátoru je příliÅ¡ velká�tabelátory od jsou od sebe příliÅ¡ vzdálené�cíl %s není adresářem�pÅ™i instalaci adresáře není dovolen cílový adresář (-t)�signál=�test a/nebo [�pÅ™epínaÄe --binary a --text jsou bezvýznamné pÅ™i ověřování kontrolních souÄtů�pÅ™epínaÄ --compare (-C) bude ignorován, zadáte-li --mode (-m) s bity ne-práv�pÅ™epínaÄ --quiet má význam pouze pÅ™i ověřování kontrolních souÄtů�pÅ™epínaÄ --status má význam pouze pÅ™i ověřování kontrolních souÄtů�pÅ™epínaÄ --strict má význam pouze pÅ™i ověřování kontrolních souÄtů�pÅ™epínaÄ --tag nemá význam pÅ™i ověřování kontrolních souÄtů�pÅ™epínaÄ --warn má význam pouze pÅ™i ověřování kontrolních souÄtů�výraz [c*] může být v MNOŽINÄš2 pouze pÅ™i nahrazování�zadání opakování [c*] nemůže být v MNOŽINÄš1�argument %s potÅ™ebuje úvodní „+“; když je použit pÅ™epínaÄ pro zadání data, kterýkoli argument, který není pÅ™epínaÄem, musí být formátovací Å™etÄ›zec uvozený „+“.�oddÄ›lovaÄ musí být jediný znak�sledovaný příkaz skonÄil uložením obrazu pamÄ›ti�pÅ™epínaÄe pro upovídaný a stty Äitelný styl výstupu se vzájemnÄ› vyluÄují�pÅ™epínaÄe pro výpis vnitÅ™ní databáze a výbÄ›r syntaxe kódu se vzájemnÄ› vyluÄují�pÅ™epínaÄe pro výpis a nastavení Äasu nemohou být užity souÄasnÄ›�pÅ™epínaÄe urÄené k zadání data se vzájemnÄ› vyluÄují�byly porovnávány Å™etÄ›zce %s a %s�pÅ™i instalaci adresáře nesmí být použit pÅ™epínaÄ --strip�délka přípony musí být alespoň %zu�nepÅ™evedený Å™etÄ›zec byl %s�Äas %s je mimo rozsah�abyste mohli použit ID uživatele %s, musíte také použít -g�příliÅ¡ málo X v šablonÄ› %s�příliÅ¡ mnoho typů konverze %% v parametru pÅ™epínaÄe�v množinÄ› je příliÅ¡ mnoho znaků�příliÅ¡ mnoho opakujících se řádků�příliÅ¡ mnoho Å¡ablon�celkem�průchod se nezdaÅ™il: %s�typovaný paměťový objekt�uid=%s�chybové hlášení není možné zobrazit�nelze zaznamenat souÄasný pracovní adresář�bezpeÄnostní kontext %s nelze nastavit�neoÄekávané selhání: fts_info=%d: %s prosím, podejte hlášení (anglicky) na %s�neznámý binární operátor�neznámý návratový kód příkazu (0x%X)�neznámého proudu�neznámé ID uživatele: %s�nesrozumitelná hodnota v promÄ›nné prostÅ™edí LS_COLORS�neznámý druh souborového systému 0x%08lx pod %s. Prosím, ohlaste tuto skuteÄnost na %s. Návrat k aktivnímu Äekání.�neznámý operand %s�neznámý prefix: %s�běží %2d:%02d, �běží %ld den %2d:%02d, �běží %ld dny %2d:%02d, �běží %ld dnů %2d:%02d, �běží ??? dnů ??:??, �tento záchranný režim potlaÄíte volbou --no-preserve-root�použijí se Å™adicí pravidla %s�v režimu práce se systémem souborů není možné oznaÄit standardní vstup pomocí %s�použije se obyÄejné porovnávání bajtů�hodnota je pro pÅ™evod příliÅ¡ velká: „%s“�hodnota jen pro zobrazení příliÅ¡ velká: „%Lg“ (hodnoty nad 999Y nelze zpracovat)�hodnota je pro zobrazení příliÅ¡ velká: „%Lg“ (zvažte použití --to)�Äekám na %s [-d]�Äeká se na proces potomka�Äekám na strip�pozor: �varování: %s: znak nebo znaky, které následují za znakovou konstantou budou ignorovány�varování: %s: zmÄ›na kontextu na %s selhala�pozor: „touch %s“ je zastaralý, použijte „touch -t %04ld%02d%02d%02d%02d.%02d“�varování: --pid=PID není na tomto systému podporován�varování: --retry je užiteÄný pouze v případÄ› sledovaní dle jména�varování: PID ignorován; --pid=PID je užiteÄný pouze v případÄ› sledování konce�varování: samotné zpÄ›tné lomítko na konci Å™etÄ›zce není pÅ™enositelné�varování: zpÄ›tné lomítko na konci formátovacího Å™etÄ›zce�varování: nelze smazat: %s�pozor: nepodaÅ™ilo se vypnout vytváření výpisů pamÄ›ti�varování: sledování standardního vstupu je urÄitÄ› neefektivní�varování: pÅ™ebyteÄné argumenty jsou ignorovány poÄínaje %s�varování: chybný offset souboru poté, co selhalo Ätení�varování: chybná šířka %lu; užívám %d místo ní�varování: Äíslo řádku %s je stejné s Äíslem pÅ™edcházejícího řádku�pozor: sigprocmask�varování: zdrojový soubor %s byl zadán více krát�varování: sumarizace je v rozporu s --max-depth=%lu�varování: sumarizace je stejná jako použití --max-depth=0�varování: nejednoznaÄný osmiÄkový zápis \%c%c%c bude interpretován jako 2bajtová sekvence \0%c%c, %c�pozor: timer_create�pozor: timer_settime�pozor: neznámá escape sekvence „\%c“�varování: obcházím chybu služby jádra lseek() nad souborem %s typu mt_type=0x%0lx – seznam typů naleznete v <sys/mtio.h>�divný soubor�jestliže MNOŽINA1 není zkracována, pak MNOŽINA2 nesmí být prázdná�pÅ™i Ätení jmen souborů ze standardního vstupu jméno %s není dovoleno�pÅ™i zadávání výstupního stylu, nemohou být nastavovány režimy�pÅ™i nahrazování s doplňkem množiny znaků, MNOŽINA2 musí mapovat vÅ¡echny znaky z této oblasti do jednoho�pÅ™i pÅ™ekladu Å™etÄ›zce1 delšího než Å™etÄ›zec2 nesmí druhý Å™etÄ›zec konÄit třídou znaků�pÅ™i nahrazování mohou být v MNOŽINÄš2 pouze třídy znaků [:upper:] a [:lower:]�nebudu kopírovat %s skrze právÄ› vytvoÅ™ený symbolický odkaz %s�pevný odkaz %s na adresář %s nebude vytvoÅ™en�právÄ› vytvoÅ™ený %s nebude pÅ™epsán %s�za použití --parents musí být cílem adresář�pÅ™i --sufix Å¡ablona %s musí konÄit na X�s FILE=%s, návratový kód %d z příkazu: %s�s FILE=%s, signálem %s z příkazu: %s�chyba pÅ™i zápisu�chyba pÅ™i zápisu do %s�zápis se nezdaÅ™il�zapisuji do %s�musíte zadat -c, -t, -u, -l, -r nebo kontext�musíte zadat seznam bajtů, znaků nebo položek�musíte zadat relativní %s s %s�musíte zadat buÄ %s, nebo %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% vstoupivších záznamů %+% vystoupivších záznamů �% zkrácený záznam �% zkrácené záznamy �% zkrácených záznamů �% bajt (%s) zkopírován�% bajty (%s) zkopírovány�%' bajtů (%s) zkopírováno�zkrácení výstupního souboru %2$s na %1$ bajtů selhalo�příliÅ¡ velký offset: nelze zkrátit na délku seek=% (%lu-bajtových) bloků�zkrácení výstupního souboru %2$s na %1$ bajtů selhalo�%s:%: není seÅ™azeno: %.*s�alokace stdio bufferu o velikosti % bajtů se nezdaÅ™ila �%s: %: nesprávnÄ› formátovaný řádek %s kontrolního souÄtu�POZOR: % řádek není správnÄ› utvoÅ™en�POZOR: % řádky nejsou správnÄ› utvoÅ™eny�POZOR: % řádků není správnÄ› utvoÅ™eno�POZOR: % uvedený soubor nebylo možné pÅ™eÄíst�POZOR: % uvedené soubory nebylo možné pÅ™eÄíst�POZOR: % uvedených souborů nebylo možné pÅ™eÄíst�POZOR: % spoÄtený souÄet NESOUHLASIL�POZOR: % spoÄtené souÄty NESOUHLASILY�POZOR: % spoÄtených souÄtů NESOUHLASILO�Äíslo poÄáteÄní stránka % pÅ™esahuje poÄet stránek %�Stránka %�pÅ™eteÄení v % * % bajt bloků u souboru %s�zkrácení %s na % bajtů selhalo������������������������������������������������������������coreutils-8.21/po/ko.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001450067�12107204511�011743� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Korean messages for GNU textutils # Copyright (C) 1996, 2001, 2002 Free Software Foundation, Inc. # Bang Jun-Young <bangjy@nownuri.nowcom.co.kr>, 1996-1997. # Changwoo Ryu <cwryu@debian.org>, 2001-2002. # msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2002-07-22 20:02+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$sì— ëŒ€í•´ 애매한 ì¸ìž %1$s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "올바른 ì¸ìžëŠ”:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "쓰기 오류" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: lib/error.c:188 msgid "Unknown system error" msgstr "알 수 없는 시스템 오류" #: lib/file-type.c:38 msgid "regular empty file" msgstr "ì¼ë°˜ 빈 파ì¼" #: lib/file-type.c:38 msgid "regular file" msgstr "ì¼ë°˜ 파ì¼" #: lib/file-type.c:41 msgid "directory" msgstr "디렉토리" #: lib/file-type.c:44 msgid "block special file" msgstr "ë¸”ë¡ íŠ¹ìˆ˜ 파ì¼" #: lib/file-type.c:47 msgid "character special file" msgstr "ë¬¸ìž íŠ¹ìˆ˜ 파ì¼" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "심볼릭 ë§í¬" #: lib/file-type.c:56 msgid "socket" msgstr "소켓" #: lib/file-type.c:59 msgid "message queue" msgstr "메세지 í" #: lib/file-type.c:62 msgid "semaphore" msgstr "세마í¬ì–´" #: lib/file-type.c:65 msgid "shared memory object" msgstr "공유 메모리 오브ì íЏ" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "공유 메모리 오브ì íЏ" #: lib/file-type.c:70 msgid "weird file" msgstr "ê´´ìƒí•œ 파ì¼" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fifo파ì¼ì€ ì§€ì›í•˜ì§€ 않습니다" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "fifo파ì¼ì€ ì§€ì›í•˜ì§€ 않습니다" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "fifo파ì¼ì€ ì§€ì›í•˜ì§€ 않습니다" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "쓰기 오류" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "알 수 없는 시스템 오류" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: `%s'ì€(는) 모호한 옵션입니다\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: `--%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: `%c%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: `%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ì¸ì‹í•  수 없는 옵션 `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ì¸ì‹í•  수 없는 옵션 `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ë¶€ì ì ˆí•œ 옵션 -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ì´ ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다 -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: `-W %s'ì€(는) 모호한 옵션입니다\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: `-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "메모리가 바닥남" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "%s 디렉토리를 만들 수 없습니다" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: ì½ê¸° 오류" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: ë¶€ì ì ˆí•œ ì •ê·œì‹: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "ë¶€ì ì ˆí•œ ë¬¸ìž í´ëž˜ìФ `%s'" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "메모리가 바닥남" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: ë¶€ì ì ˆí•œ ì •ê·œì‹: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, fuzzy, c-format msgid "setting permissions for %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "표준 오류" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 #, fuzzy msgid "Continued" msgstr "계ì†í• ê¹Œìš”? " #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 #, fuzzy msgid "Virtual timer expired" msgstr "메모리가 바닥남" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: ë¶€ì ì ˆí•œ PID" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: ë¶€ì ì ˆí•œ PID" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "ë¸”ë¡ íŠ¹ìˆ˜ 파ì¼" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "íŒŒì¼ ì—´ê¸° 실패" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "%s 디렉토리를 만들 수 없습니다" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv 함수를 사용할 수 없습니다" # not usableê³¼ not availableì˜ ì°¨ì´ëŠ”? #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv 함수를 사용할 수 없습니다" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "범위를 벗어난 문ìž" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04Xì„(를) 로칼 문ìžì…‹ìœ¼ë¡œ 변환할 수 없습니다" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04Xì„(를) 로칼 문ìžì…‹ìœ¼ë¡œ 변환할 수 없습니다: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ìž˜ëª»ëœ ì‚¬ìš©ìž" #: lib/userspec.c:107 msgid "invalid group" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "ìž˜ëª»ëœ ì‚¬ìš©ìž" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "%sì´(ê°€) 만들었습니다.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, fuzzy, c-format msgid "Written by %s and %s.\n" msgstr "%sì´(ê°€) 만들었습니다.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, fuzzy, c-format msgid "Written by %s, %s, and %s.\n" msgstr "%sì´(ê°€) 만들었습니다.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "%sì´(ê°€) 만들었습니다.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "%sì´(ê°€) 만들었습니다.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "<%s>(으)로 버그를 알려 주십시오.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "<%s>(으)로 버그를 알려 주십시오.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "íŒŒì¼ ì—´ê¸° 실패" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "알 수 없는 시스템 오류" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "문ìžì—´ 비êµê°€ 실패했습니다" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "ì´ ë¬¸ì œë¥¼ 피해 가려면 LC_ALL='C'하십시오." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: ì¼ë ¨ë²ˆí˜¸ `%.*s'ì€(는) 너무 í½ë‹ˆë‹¤" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "사용법: %s [<옵션>] [<파ì¼>]...\n" " 혹ì€: %s [<옵션>] --check [<파ì¼>]\n" "%s (%d비트) ì²´í¬ì„¬ì„ 표시하거나 검사합니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나 - ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "ì½ê¸° 오류" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "불필요한 í”¼ì—°ì‚°ìž `%s'" #: src/base64.c:318 src/cat.c:781 #, fuzzy, c-format msgid "closing standard input" msgstr "표준 ìž…ë ¥" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin 그리고 David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "%s: `%c' ë’¤ì— ì •ìˆ˜ê°€ 와야함" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund 그리고 Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "<파ì¼>(들)ì´ë‚˜ 표준 ìž…ë ¥ì„ ì—°ê²°í•´ 표준 ì¶œë ¥ì— ì¶œë ¥í•©ë‹ˆë‹¤.\n" "\n" " -A, --show-all -vET와 ê°™ìŒ\n" " -b, --number-nonblank ë¹ˆì¤„ì´ ì•„ë‹Œ ì¶œë ¥í–‰ì˜ ê°œìˆ˜ë¥¼ 셉니다\n" " -e -vE와 ê°™ìŒ\n" " -E, --show-ends ê° í–‰ì˜ ëì— $를 표시합니다\n" " -n, --number 모든 ì¶œë ¥í–‰ì˜ ê°œìˆ˜ë¥¼ 셉니다\n" " -s, --squeeze-blank 한줄 ì´ìƒì˜ 빈 í–‰ì„ ì œê±°í•©ë‹ˆë‹¤\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t -vT와 ê°™ìŒ\n" " -T, --show-tabs 탭 문ìžë¥¼ ^I로 표시합니다\n" " -u (무시ë¨)\n" " -v, --show-nonprinting ^ 와 M- í‘œê¸°ë²•ì„ ì‚¬ìš©í•©ë‹ˆë‹¤ (LFD와 TAB 제외)\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "표준 출력" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: ìž…ë ¥ 파ì¼ì´ 출력 파ì¼ìž…니다" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 #, fuzzy msgid "Jim Meyering" msgstr "Mike Haertel 그리고 Paul Eggert" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, fuzzy, c-format msgid "cannot access %s" msgstr "`%s'ì— chownì„ ì‹¤í–‰í•  수 없습니다" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, fuzzy, c-format msgid "cannot read directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, fuzzy, c-format msgid "fts_read failed" msgstr "íŒŒì¼ ì½ê¸° 실패" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "사용법: %s [옵션]... OWNER[:[GROUP]] FILE...\n" " ë˜ëŠ”: %s [옵션]... .GROUP FILE...\n" " ë˜ëŠ”: %s [옵션]... --reference=RFILE FILE...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "%s: `%c' ë’¤ì— ì •ìˆ˜ê°€ 와야함" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "ë¶€ì ì ˆí•œ í­ ì˜µì…˜ `%s'" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, fuzzy, c-format msgid "failed to get attributes of %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: src/chgrp.c:108 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "사용법: %s [<옵션>]... [<파ì¼>]...\n" " ë˜ëŠ”: %s --traditional [<파ì¼>] [[+]<옵셋> [[+]<ë ˆì´ë¸”>]]\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" "ë°”ë€ ë¸”ëŸ­ì„ ë””ìŠ¤í¬ì— ê°•ì œì ìœ¼ë¡œ 쓰게 하고, 수í¼ë¸”ëŸ­ì„ ê°±ì‹ í•©ë‹ˆë‹¤.\n" "\n" " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, fuzzy, c-format msgid "getting new attributes of %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "심볼릭 ë§í¬ %së„, ì´ë¥¼ 가리치는 ì›ëž˜ 파ì¼ë„ 변경ë˜ì§€ 않았습니다\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%sì˜ ëª¨ë“œë¥¼ %04lo(%s)으로 변경하였습니다\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "%sì˜ ëª¨ë“œë¥¼ %04lo(%s)으로 ë³€ê²½í•˜ëŠ”ë° ì‹¤íŒ¨í•˜ì˜€ìŠµë‹ˆë‹¤\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%sì˜ ëª¨ë“œë¥¼ %04lo(%s)으로 유지하였습니다\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/chmod.c:276 #, fuzzy, c-format msgid "changing permissions of %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "사용법: %s [옵션]... MODE[,MODE]... FILE...\n" " ë˜ëŠ”: %s [옵션]... 8진수-MODE FILE...\n" " ë˜ëŠ”: %s [옵션]... --reference=RFILE FILE...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%sì˜ ì†Œìœ ì£¼ë¥¼ 다ìŒìœ¼ë¡œ ë³€ê²½í•˜ëŠ”ë° ì‹¤íŒ¨í•˜ì˜€ìŠµë‹ˆë‹¤: " #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "%sì˜ ì†Œìœ ê¶Œì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chown-core.c:171 #, fuzzy, c-format msgid "failed to change ownership of %s to %s\n" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/chown-core.c:180 #, fuzzy, c-format msgid "ownership of %s retained as %s\n" msgstr "%sì˜ ì†Œìœ ìžëŠ” 다ìŒê³¼ ê°™ì´ ìœ ì§€ë˜ì—ˆìŠµë‹ˆë‹¤: " #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%sì˜ ê·¸ë£¹ì´ %s으로 ë³´ì¡´ë˜ì—ˆìŠµë‹ˆë‹¤\n" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "%sì˜ ì†Œìœ ìžëŠ” 다ìŒê³¼ ê°™ì´ ìœ ì§€ë˜ì—ˆìŠµë‹ˆë‹¤: " #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/chown-core.c:467 #, fuzzy, c-format msgid "changing ownership of %s" msgstr "%sì˜ ì†Œìœ ê¶Œì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chown-core.c:468 #, fuzzy, c-format msgid "changing group of %s" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "사용법: %s [<옵션>]... [<파ì¼>]...\n" " ë˜ëŠ”: %s --traditional [<파ì¼>] [[+]<옵셋> [[+]<ë ˆì´ë¸”>]]\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, fuzzy, c-format msgid "invalid group %s" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, fuzzy, c-format msgid "cannot change root directory to %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/chroot.c:206 #, fuzzy, c-format msgid "cannot chdir to root directory" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "ê° <파ì¼>ì— ëŒ€í•´ CRC ì²´í¬ì„¬ê³¼ ë°”ì´íЏ 개수를 출력합니다.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "사용법: %s [<옵션>]... <파ì¼1> <파ì¼2>\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "ì •ë ¬ëœ íŒŒì¼ì¸ <왼쪽_파ì¼>ê³¼ <오른쪽_파ì¼>ì„ í–‰ 단위로 비êµí•©ë‹ˆë‹¤.\n" "\n" " -1 왼쪽 파ì¼ì— 유ì¼í•œ í–‰ì„ ì œê±°í•©ë‹ˆë‹¤\n" " -2 오른쪽 파ì¼ì— 유ì¼í•œ í–‰ì„ ì œê±°í•©ë‹ˆë‹¤\n" " -3 양쪽 파ì¼ì— 유ì¼í•œ í–‰ì„ ì œê±°í•©ë‹ˆë‹¤\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, fuzzy, c-format msgid "cannot lseek %s" msgstr "%s: 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "íŒŒì¼ ì“°ê¸° 실패" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, fuzzy, c-format msgid "failed to preserve ownership for %s" msgstr "%sì˜ ì†Œìœ ê¶Œì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:723 #, fuzzy, c-format msgid "failed to lookup file %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:728 #, fuzzy, c-format msgid "failed to preserve authorship for %s" msgstr "%sì˜ ì†Œìœ ê¶Œì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, fuzzy, c-format msgid "cannot open %s for reading" msgstr "`%s'를 `%s'로 ì´ë™í•  수 없습니다" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "`%s'ì˜ ì •ë³´(stat)를 ì–»ì„ ìˆ˜ 없습니다" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, fuzzy, c-format msgid "cannot remove %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, fuzzy, c-format msgid "removed %s\n" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, fuzzy, c-format msgid "cannot create regular file %s" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: `%s'ì— ëª¨ë“œ %04lo으로 ê²¹ì³ì“°ê² ìŠµë‹ˆê¹Œ? " #: src/copy.c:1478 #, fuzzy, c-format msgid "%s: overwrite %s? " msgstr "%s: `%s'를 ê²¹ì³ì”니까? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (백업: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, fuzzy, c-format msgid "cannot stat %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:1650 #, fuzzy, c-format msgid "omitting directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, fuzzy, c-format msgid "%s and %s are the same file" msgstr "`%s'와 `%s'는 ê°™ì€ íŒŒì¼ìž…니다" #: src/copy.c:1811 #, fuzzy, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/copy.c:1829 src/ln.c:214 #, fuzzy, c-format msgid "will not overwrite just-created %s with %s" msgstr "%s: 디렉토리가 아닌 ê³³ì— ë””ë ‰í† ë¦¬ë¥¼ ê²¹ì³ì“¸ 수 없습니다" #: src/copy.c:1847 #, fuzzy, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:1861 #, fuzzy, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/copy.c:1891 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "`%s'ì˜ ë°±ì—…ì€ ì›ëž˜ 파ì¼ì„ ì†ìƒí•  것입니다; `%s'는 ì´ë™ë˜ì§€ 않습니다" #: src/copy.c:1892 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "`%s'ì˜ ë°±ì—…ì€ ì›ëž˜ 파ì¼ì„ ì†ìƒí•  것입니다; `%s'는 복사ë˜ì§€ 않습니다" #: src/copy.c:1915 src/ln.c:276 #, fuzzy, c-format msgid "cannot backup %s" msgstr "`%s'를 백업할 수 없습니다" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "%s: 디렉토리가 아닌 ê³³ì— ë””ë ‰í† ë¦¬ë¥¼ ê²¹ì³ì“¸ 수 없습니다" #: src/copy.c:2056 #, fuzzy, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/copy.c:2123 #, fuzzy, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/copy.c:2166 #, fuzzy, c-format msgid "cannot move %s to %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/copy.c:2246 #, fuzzy, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "%s: 심볼릭 ë§í¬ì˜ 사ì´í´ì€ 복사할 수 없습니다" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: 현재 디렉토리 안ì—서만 ìƒëŒ€ì ì¸ 심볼릭 ë§í¬ë¥¼ 만들 수 있습니다" #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:2416 src/mkfifo.c:132 #, fuzzy, c-format msgid "cannot create fifo %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:2425 #, fuzzy, c-format msgid "cannot create special file %s" msgstr "ë¬¸ìž íŠ¹ìˆ˜ 파ì¼" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "심볼릭 ë§í¬" #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/copy.c:2495 #, fuzzy, c-format msgid "%s has unknown file type" msgstr "%s: 알 수 없는 파ì¼í˜•" #: src/copy.c:2644 src/ln.c:358 #, fuzzy, c-format msgid "cannot un-backup %s" msgstr "`%s'ì˜ ë°±ì—…ì„ ë˜ëŒë¦´ 수 없습니다" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (백업 í•´ì œ)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "사용법: %s [OPTION]... SOURCE DEST\n" " ë˜ëŠ”: %s [OPTION]... SOURCE... DIRECTORY\n" " ë˜ëŠ”: %s -d [OPTION]... --target-directory=DIRECTORY SOURCE...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" "SOURCE를 DEST로 복사하거나 ì—¬ëŸ¬ê°œì˜ SOURCE를 DIRECTORY로 복사합니다.\n" "\n" " -a, --archive -dpR옵션과 같습니다\n" " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤.\n" " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" " -d, --no-dereference ë§í¬ë¥¼ 유지합니다\n" " -f, --force ì´ë¯¸ 존재하는 DEST를 질문 ì—†ì´ ì‚­ì œí•©ë‹ˆë‹¤.\n" " -i, --interactive ë®ì–´ 쓰기 ì „ì— ì—¬ë¶€ë¥¼ 묻습니다\n" " -l, --link 파ì¼ì„ 복사하지 않고 ë§í¬í•©ë‹ˆë‹¤.\n" " -p, --preserve 가능하다면 íŒŒì¼ ì†ì„±ì„ 유지합니다.\n" " -P, --parents ì›ë³¸ì˜ 경로를 DIRECTORYì— ì¶”ê°€í•©ë‹ˆë‹¤\n" " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" " 아닌 ê²ƒì€ íŒŒì¼ë¡œ ì—¬ê¹ë‹ˆë‹¤\n" " *경고*: FIFO나 /dev/zeroê°™ì€ íŠ¹ë³„ 파ì¼ì„\n" " 복사할 경우ì—는 -Rì„ ì‚¬ìš©í•˜ì„¸ìš”\n" " --sparse=WHEN 성긴 파ì¼(sparse file)ì˜ ìƒì„±ì„ 조절합니다\n" " -R, --recursive 재귀ì ìœ¼ë¡œ 복사합니다\n" " --strip-trailing-slashes ê° SOURCE ì¸ìˆ˜ì—서 ëì˜ ìŠ¬ëž˜ì‹œ(/)문ìžë¥¼\n" " ì§€ì›ë‹ˆë‹¤\n" " -s, --symbolic-link 복사하는 대신 심볼릭 ë§í¬ë¥¼ 만듭니다\n" " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ì”니다\n" " --target-directory=DIRECTORY 모든 SOURCE ì˜ ì¸ìˆ˜ë¥¼ DIRECTORY로 옮ê¹ë‹ˆ" "다\n" " -u, --update SOURCE파ì¼ì´ ë³µì‚¬ë  íŒŒì¼ë³´ë‹¤ 새것ì´ê±°ë‚˜\n" " ë³µì‚¬ë  íŒŒì¼ì´ ì—†ì„ ë•Œë§Œ 복사합니다\n" " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " -x, --one-file-system ì´ íŒŒì¼ì‹œìŠ¤í…œì—서만 복사합니다\n" " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" "기본ì ìœ¼ë¡œ 성긴 SOURCE 파ì¼ì€ 그리 좋지 ì•Šì€ ë°©ë²•ìœ¼ë¡œ íƒì§€í•´ ë‚´ì–´\n" "대ì‘하는 DEST파ì¼ë„ ë˜í•œ 성기게 만듭니다. ì´ê²ƒì€ --sparse=auto\n" "ì— ì˜í•´ ì„ íƒë˜ëŠ” í–‰ë™ì´ë©°, --sparse=alwaysë¼ê³  지정하면 SOURCE파ì¼ì—\n" "충분한 í¬ê¸°ì˜ 0으로 계ì†ë˜ëŠ” ì§€ì ì´ ìžˆì„ ë•ŒëŠ” 언제나 성긴 DEST파ì¼ì„\n" "만듭니다.\n" "--sparse=neverë¼ê³  지정하면 성긴 파ì¼ì„ ìƒì„±í•˜ì§€ 못하게 합니다.\n" "\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 #, fuzzy msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" "SOURCE를 DEST로 ì´ë¦„ì„ ë°”ê¾¸ê±°ë‚˜ SOURCE를 DIRECTORY로 옮ê¹ë‹ˆë‹¤.\n" "\n" " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤\n" " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" " -f, --force ì´ë¯¸ 존재하는 DEST를 질문 ì—†ì´ ì‚­ì œí•©ë‹ˆë‹¤.\n" " -i, --interactive 옮기기 ì „ì— ì—¬ë¶€ë¥¼ 묻습니다\n" " --strip-trailing-slashes ê° SOURCE ì¸ìˆ˜ì—서 ë’¤ì— ë나는 슬래시 기호를\n" " ì‚­ì œ\n" " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ì”니다\n" " --target-directory=DIRECTORY SOURCEì˜ ëª¨ë“  ì¸ìˆ˜ë¥¼ DIRECTORY로 옮ê¹ë‹ˆ" "다\n" " -u, --update ì˜¤ëž˜ëœ íŒŒì¼ê³¼ 새 파ì¼ë§Œ 옮ê¹ë‹ˆë‹¤\n" " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " -V, --version-control=WORD ì¼ë°˜ì ì¸ 버전 ì½˜íŠ¸ë¡¤ì„ ê²¹ì³ì”니다\n" " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "SOURCE를 DEST로 복사하거나 ì—¬ëŸ¬ê°œì˜ SOURCE를 DIRECTORY로 복사합니다.\n" "\n" " -a, --archive -dpR옵션과 같습니다\n" " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤.\n" " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" " -d, --no-dereference ë§í¬ë¥¼ 유지합니다\n" " -f, --force ì´ë¯¸ 존재하는 DEST를 질문 ì—†ì´ ì‚­ì œí•©ë‹ˆë‹¤.\n" " -i, --interactive ë®ì–´ 쓰기 ì „ì— ì—¬ë¶€ë¥¼ 묻습니다\n" " -l, --link 파ì¼ì„ 복사하지 않고 ë§í¬í•©ë‹ˆë‹¤.\n" " -p, --preserve 가능하다면 íŒŒì¼ ì†ì„±ì„ 유지합니다.\n" " -P, --parents ì›ë³¸ì˜ 경로를 DIRECTORYì— ì¶”ê°€í•©ë‹ˆë‹¤\n" " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" " 아닌 ê²ƒì€ íŒŒì¼ë¡œ ì—¬ê¹ë‹ˆë‹¤\n" " *경고*: FIFO나 /dev/zeroê°™ì€ íŠ¹ë³„ 파ì¼ì„\n" " 복사할 경우ì—는 -Rì„ ì‚¬ìš©í•˜ì„¸ìš”\n" " --sparse=WHEN 성긴 파ì¼(sparse file)ì˜ ìƒì„±ì„ 조절합니다\n" " -R, --recursive 재귀ì ìœ¼ë¡œ 복사합니다\n" " --strip-trailing-slashes ê° SOURCE ì¸ìˆ˜ì—서 ëì˜ ìŠ¬ëž˜ì‹œ(/)문ìžë¥¼\n" " ì§€ì›ë‹ˆë‹¤\n" " -s, --symbolic-link 복사하는 대신 심볼릭 ë§í¬ë¥¼ 만듭니다\n" " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ì”니다\n" " --target-directory=DIRECTORY 모든 SOURCE ì˜ ì¸ìˆ˜ë¥¼ DIRECTORY로 옮ê¹ë‹ˆ" "다\n" " -u, --update SOURCE파ì¼ì´ ë³µì‚¬ë  íŒŒì¼ë³´ë‹¤ 새것ì´ê±°ë‚˜\n" " ë³µì‚¬ë  íŒŒì¼ì´ ì—†ì„ ë•Œë§Œ 복사합니다\n" " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " -x, --one-file-system ì´ íŒŒì¼ì‹œìŠ¤í…œì—서만 복사합니다\n" " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" "기본ì ìœ¼ë¡œ 성긴 SOURCE 파ì¼ì€ 그리 좋지 ì•Šì€ ë°©ë²•ìœ¼ë¡œ íƒì§€í•´ ë‚´ì–´\n" "대ì‘하는 DEST파ì¼ë„ ë˜í•œ 성기게 만듭니다. ì´ê²ƒì€ --sparse=auto\n" "ì— ì˜í•´ ì„ íƒë˜ëŠ” í–‰ë™ì´ë©°, --sparse=alwaysë¼ê³  지정하면 SOURCE파ì¼ì—\n" "충분한 í¬ê¸°ì˜ 0으로 계ì†ë˜ëŠ” ì§€ì ì´ ìžˆì„ ë•ŒëŠ” 언제나 성긴 DEST파ì¼ì„\n" "만듭니다.\n" "--sparse=neverë¼ê³  지정하면 성긴 파ì¼ì„ ìƒì„±í•˜ì§€ 못하게 합니다.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "--suffix나 SIMPLE_BACKUP_SUFFIXí™˜ê²½ë³€ìˆ˜ì— ì§€ì •í•˜ì§€ 않으면 백업 접미사는\n" "~입니다.\n" "버전 제어는 --backup옵션ì´ë‚˜ VERSION_CONTROL환경변수로 지정하며, \n" "다ìŒê³¼ 같습니다:\n" "\n" " none, off ë°±ì—…ì„ í•˜ì§€ 않습니다(--backupì„ ì£¼ì–´ë„)\n" " numbered, t 번호가 주어진 ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤\n" " existing, nil 번호가 주어진 ë°±ì—…ì´ ìžˆìœ¼ë©´ 번호를 주고, 그렇지 않으면\n" " 단순하게 합니다\n" " simple, never í•­ìƒ ë‹¨ìˆœ ë°±ì—…ì„ í•©ë‹ˆë‹¤\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 #, fuzzy msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" "--suffix나 SIMPLE_BACKUP_SUFFIXí™˜ê²½ë³€ìˆ˜ì— ì§€ì •í•˜ì§€ 않으면 백업 접미사는\n" "~입니다.\n" "버전 제어는 --backup옵션ì´ë‚˜ VERSION_CONTROL환경변수로 지정하며, \n" "다ìŒê³¼ 같습니다:\n" "\n" " none, off ë°±ì—…ì„ í•˜ì§€ 않습니다(--backupì„ ì£¼ì–´ë„)\n" " numbered, t 번호가 주어진 ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤\n" " existing, nil 번호가 주어진 ë°±ì—…ì´ ìžˆìœ¼ë©´ 번호를 주고, 그렇지 않으면\n" " 단순하게 합니다\n" " simple, never í•­ìƒ ë‹¨ìˆœ ë°±ì—…ì„ í•©ë‹ˆë‹¤\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "특별한 경우로, 강제와 백업 ì˜µì…˜ì´ ì£¼ì–´ì§€ë©° SOURCE와 DESTê°€ ì´ë¦„ì´ ê°™ê³ ,\n" "존재하는 ì¼ë°˜ 파ì¼ì¼ 때 cp는 SOURCEì˜ ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤.\n" #: src/cp.c:317 #, fuzzy, c-format msgid "failed to preserve times for %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/cp.c:348 #, fuzzy, c-format msgid "failed to preserve permissions for %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/cp.c:475 #, fuzzy, c-format msgid "cannot make directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "ì¸ìˆ˜ë¥¼ 건너 뜀" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "í•„ë“œì˜ ëª©ë¡ì´ 빠졌ìŒ" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "패스를 유지할 때 마지막 ì¸ìˆ˜ëŠ” 디렉토리여야 합니다" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "하드ë§í¬ì™€ 심볼릭 ë§í¬ë¥¼ ë™ì‹œì— 만들 수 없습니다" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "백업 종류" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "ìž…ë ¥ì´ ì‚¬ë¼ì§" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: 범위를 벗어난 í–‰ 번호" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: `%s': 범위를 벗어난 í–‰ 번호" #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr " %d 번째 반복중\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: `%s': 맞는 ì§ì„ 찾지 못했ìŒ" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "`%s'ì— ì“°ê¸° 오류" #: src/csplit.c:1059 #, fuzzy, c-format msgid "%s: integer expected after delimiter" msgstr "%s: `%c' ë’¤ì— ì •ìˆ˜ê°€ 와야함" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: 반복 íšŸìˆ˜ì— `}'ê°€ 필요합니다" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: `{'ê³¼ `}' 사ì´ì— 정수가 필요함" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: 닫는 êµ¬ë¶„ìž `%c'ì´(ê°€) 없습니다" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ë¶€ì ì ˆí•œ ì •ê·œì‹: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ë¶€ì ì ˆí•œ 패턴" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: 행번호는 ì˜ë³´ë‹¤ 커야 합니다" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "행번호 `%s'ì´(ê°€) 앞선 행번호 %s보다 작습니다" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "경고: 행번호 `%s'ì´(ê°€) 앞선 행번호와 같습니다" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "ì ‘ë¯¸ì‚¬ì— ë³€í™˜ 지정ìžê°€ 빠졌ìŒ" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "ì ‘ë¯¸ì‚¬ì— ë¶€ì ì ˆí•œ 변환 지정ìž: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "ì ‘ë¯¸ì‚¬ì— ë¶€ì ì ˆí•œ 변환 지정ìž: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ì ‘ë¯¸ì‚¬ì— ë¶€ì ì ˆí•œ 변환 지정ìž: %c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "ì ‘ë¯¸ì‚¬ì— %% 변환 지정ìžê°€ 너무 ë§ŽìŒ" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "ì ‘ë¯¸ì‚¬ì— %% 변환 지정ìžê°€ 빠졌ìŒ" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ë¶€ì ì ˆí•œ 숫ìž" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "사용법: %s [<옵션>]... <파ì¼> <패턴>...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "<파ì¼>ì„, <패턴>ì„ ê¸°ì¤€ìœ¼ë¡œ 나눈 다ìŒ, ê·¸ ì¡°ê°ë“¤ì„ `xx01', `xx02', ... 파ì¼ë“¤" "ì—\n" "출력하고, ê° ì¡°ê°ë“¤ì˜ ë°”ì´íЏ 수를 표준 출력으로 출력합니다.\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=<í¬ë§·> %d ëŒ€ì‹ ì— sprintf <í¬ë§·>ì„ ì”니다\n" " -f, --prefix=<ì ‘ë‘ì–´> `xx' ëŒ€ì‹ ì— <ì ‘ë‘ì–´>를 ì”니다\n" " -k, --keep-files 오류 ë°œìƒì‹œì—ë„ ì¶œë ¥ 파ì¼ë“¤ì„ 지우지 않습니다\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=숫ìžë“¤ 2 ëŒ€ì‹ ì— ì§€ì •í•œ 숫ìžë“¤ì˜ 개수를 ì´ìš©í•©ë‹ˆë‹¤\n" " -s, --quiet, --silent 출력 파ì¼ì˜ í¬ê¸°ë¥¼ 표시하지 않습니다\n" " -z, --elide-empty-files 빈 출력 파ì¼ì„ ì§€ì›ë‹ˆë‹¤\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "<파ì¼>ì´ `-'ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. ê° <패턴>ì—는 다ìŒì„ 쓸 수 있습니" "다:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " <정수> 지정한 줄번호 앞까지 복사합니다\n" " /<ì •ê·œì‹>/[<오프셋>] ì •ê·œì‹ì— 맞는 줄 앞까지 복사합니다\n" " %<ì •ê·œì‹>%[<오프셋>] ì •ê·œì‹ì— 맞는 줄 앞까지 건너 ëœë‹ˆë‹¤\n" " {<정수>} 바로 ì•žì˜ íŒ¨í„´ì„ ì§€ì •í•œ íšŸìˆ˜ë§Œí¼ ë°˜ë³µí•©ë‹ˆë‹¤\n" " {*} 바로 ì•žì˜ íŒ¨í„´ì„ ê°€ëŠ¥í•œí•œ ë§Žì´ ë°˜ë³µí•©ë‹ˆë‹¤\n" "\n" "줄 <오프셋>ì€ `+' í˜¹ì€ `-' 다ìŒì— 0보다 í° ì •ìˆ˜ì´ì–´ì•¼ 합니다\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "ê° <파ì¼>ì—서 ì„ íƒí•œ 줄들만 표준 ì¶œë ¥ì— í‘œì‹œí•©ë‹ˆë‹¤.\n" "\n" #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=<리스트> ì´ ë°”ì´íŠ¸ë“¤ë§Œì„ í‘œì‹œí•©ë‹ˆë‹¤\n" " -c, --characters=<리스트> ì´ ë¬¸ìžë“¤ë§Œì„ 표시합니다\n" " -d, --delimiter=<구분ìž> 필드 구분ìžë¡œ 탭 ëŒ€ì‹ ì— <구분ìž>를 ì”니다\n" #: src/cut.c:204 #, fuzzy msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=<리스트> ì´ í•„ë“œë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤; ë˜ -s ì˜µì…˜ì´ ì‚¬ìš©ë˜ì§€\n" " 않았다면 êµ¬ë¶„ìž ë¬¸ìžê°€ 들어 있지 ì•Šì€ ì¤„ë„\n" " 출력합니다\n" " -n (무시ë¨)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --verbose 진단 ë‚´ìš©ì„ ê° ì¶œë ¥ 파ì¼ì„ 열기 ì§ì „ì— í‘œì¤€ 오류" "로\n" " 출력합니다\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited 구분ìžê°€ 들어 있지 ì•Šì€ ì¤„ì€ í‘œì‹œí•˜ì§€ 않습니다\n" " --output-delimiter=<문ìžì—´> <문ìžì—´>ì„ ì¶œë ¥ 구분ìžë¡œ 사용합니다\n" " ê¸°ë³¸ê°’ì€ ìž…ë ¥ 구분ìžë¡œ 사용하는 것입니다\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "-b, -c í˜¹ì€ -f 중ì—서 한 ê°œë§Œì„ ì“°ì‹­ì‹œì˜¤. ê° <리스트>는 í•˜ë‚˜ì˜ ë²”ìœ„, \n" "í˜¹ì€ ì‰¼í‘œë¡œ êµ¬ë¶„ëœ ì—¬ëŸ¬ ê°œì˜ ë²”ìœ„ìž…ë‹ˆë‹¤. ê° ë²”ìœ„ëŠ” ë‹¤ìŒ ì¤‘ 하나입니다:\n" "\n" " N N번째 ë°”ì´íЏ, 문ìž, í˜¹ì€ í•„ë“œ, 1부터 시작합니다\n" " N- N번째 ë°”ì´íЏ, 문ìž, í˜¹ì€ í•„ë“œë¶€í„° 줄 ë까지\n" " N-M N번째부터 M번째 ë°”ì´íЏ, 문ìž, í˜¹ì€ í•„ë“œê¹Œì§€ (N, M번째 í¬í•¨)\n" " -M 처ìŒë¶€í„° M번째 ë°”ì´íЏ, 문ìž, í˜¹ì€ í•„ë“œê¹Œì§€ (M번째 í¬í•¨)\n" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "ë¶€ì ì ˆí•œ ë°”ì´íŠ¸ë‚˜ 필드 목ë¡" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "ë¶€ì ì ˆí•œ í­ ì˜µì…˜ `%s'" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "%sì€(는) 너무 í½ë‹ˆë‹¤" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "필드 개수가 0입니다" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "ì˜¤ì§ í•œê°€ì§€ í˜•íƒœì˜ ëª©ë¡ë§Œì´ ì§€ì •ë  ìˆ˜ 있습니다" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "êµ¬íš ë¬¸ìžëŠ” ë‹¨ì¼ ë¬¸ìžì—¬ì•¼ 합니다" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "ë°”ì´íЏ, 문ìž, ë˜ëŠ” 필드로 ëœ ëª©ë¡ì„ 지정해야 합니다" #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "í•„ë“œì— ëŒ€í•´ ì—°ì‚°í•  때ì—ë§Œ êµ¬íš ë¬¸ìžê°€ ì§€ì •ë  ìˆ˜ 있습니다" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "구분ìžê°€ 없는 ì¤„ì„ ë¬´ì‹œí•˜ëŠ” 것ì€\n" "\tí•„ë“œì— ê´€í•´ ë™ìž‘하는 경우ì—ë§Œ ì´ì¹˜ì— 맞습니다" #: src/cut.c:870 msgid "missing list of fields" msgstr "í•„ë“œì˜ ëª©ë¡ì´ 빠졌ìŒ" #: src/cut.c:872 msgid "missing list of positions" msgstr "ìœ„ì¹˜ì˜ ëª©ë¡ì´ 빠졌ìŒ" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "표준 ìž…ë ¥" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, fuzzy, c-format msgid "cannot set date" msgstr "`%s'ì˜ ì •ë³´(stat)를 ì–»ì„ ìˆ˜ 없습니다" #: src/date.c:558 src/du.c:371 #, fuzzy, c-format msgid "time %s is out of range" msgstr "%s: 범위를 벗어난 í–‰ 번호" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii EBCDICì—서 ASCII로 변환합니다\n" " ebcdic ASCIIì—서 EBCDIC으로 변환합니다\n" " ibm ASCIIì—서 대체(alternated) EBCDIC으로 변환합니다\n" " block 개행문ìžë¡œ ë나는 레코드를 cbsí¬ê¸°ì˜ 공백문ìžë¡œ 채ì›ë‹ˆë‹¤\n" " unblock cbsí¬ê¸°ì˜ 레코드 ë’·ë¶€ë¶„ì˜ ê³µë°±ë¬¸ìžë“¤ì„ 개행문ìžë¡œ 바꿉니다\n" " lcase 대문ìžë¥¼ 소문ìžë¡œ 바꿉니다\n" " ucase 소문ìžë¥¼ 대문ìžë¡œ 바꿉니다\n" " swab 입력하는 ë‘ ë°”ì´íŠ¸ì˜ ìˆœì„œë¥¼ 바꿉니다\n" " sync ibsí¬ê¸°ì˜ ìž…ë ¥ 레코드를 í¬ê¸°ê°€ ë§žì§€ 않으면 NUL로 채ì›ë‹ˆë‹¤\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc 출력 파ì¼ì˜ ëì„ ìž˜ë¼ë‚´ì§€ 않습니다\n" " noerror ì½ê¸° ì—러가 ë‚˜ë„ ê³„ì†í•©ë‹ˆë‹¤\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "잘린 레코드" msgstr[1] "잘린 레코드" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, fuzzy, c-format msgid "closing input file %s" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: src/dd.c:819 #, fuzzy, c-format msgid "closing output file %s" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, fuzzy, c-format msgid "writing to %s" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "ì¸ì‹í•  수 없는 옵션 `-%c'" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "ë¶€ì ì ˆí•œ í­ ì˜µì…˜ `%s'" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "필드 처ìŒì— ë¶€ì ì ˆí•œ 숫ìž" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "ìž˜ëª»ëœ ì‚¬ìš©ìž" #: src/dd.c:1266 src/truncate.c:310 #, fuzzy, c-format msgid "invalid number %s" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다." #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: ëŒì•„ê°ˆ 수 없습니다" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: 지울 수 없습니다" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "경고: ë¶€ì ì ˆí•œ í­ %lu; 대신 %dì„(를) 사용함" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: ìƒëŒ€ 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "경고: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, fuzzy, c-format msgid "file system type %s both selected and excluded" msgstr "파ì¼ì‹œìŠ¤í…œ `%s'를 ë™ì‹œì— ì„ íƒí•˜ê³  제외할 수 없습니다" #: src/df.c:1500 msgid "Warning: " msgstr "경고: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%s: ë§ˆìš´íŠ¸ëœ íŒŒì¼ì‹œìŠ¤í…œì˜ í…Œì´ë¸”ì€ ì½ì„ 수 없습니다" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/dircolors.c:98 #, fuzzy msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "LS_COLORS환경변수를 지정하기 위한 ëª…ë ¹ì„ ì¶œë ¥í•©ë‹ˆë‹¤.\n" "\n" "출력 í¬ë§·:\n" " -b, --sh, --bourne-shell LS_COLORS를 지정하기 위한 Bourne쉘 명령 출력\n" " -c, --csh, --c-shell LS_COLORS를 지정하기 위한 C쉘 명령 출력\n" " -p, --print-database 기본값 출력\n" " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" "FILEì´ ì§€ì •ë˜ë©´, ì´ë¥¼ ì½ì–´ íŒŒì¼ í˜•íƒœì™€ 확장ìžì— ë”°ë¼ ì–´ë–¤ ìƒ‰ì„ ì‚¬ìš©í•  것ì¸ì§€" "를\n" "결정합니다. 그렇지 ì•Šì€ ê²½ìš°ì—는 미리 만들어진 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 사용합니다.\n" "ì´ íŒŒì¼ì˜ í¬ë§·ì„ ìžì„¸ížˆ 알려면 `dircolors --print-database'ë¼ê³  하세요.\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: ë¶€ì ì ˆí•œ ì´ˆ" #: src/dircolors.c:358 #, fuzzy, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s: ì¸ì‹í•  수 없는 옵션 `%c%s'\n" #: src/dircolors.c:359 msgid "<internal>" msgstr "<내장>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "dircolorì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력하는 옵션과 쉘 문법ì„\n" "ì„ íƒí•˜ëŠ” ì˜µì…˜ì€ ê°™ì´ ì“¸ 수 없습니다" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "SHELL환경변수가 없고 쉘 형태 ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않았습니다" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero-terminated ì¤„ì˜ ëì— ì¤„ë°”ê¿ˆ 대신 ë°”ì´íЏ 0ì„ ì”니다\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "사용법: %s [<옵션>]... [<파ì¼>]...\n" " ë˜ëŠ”: %s --traditional [<파ì¼>] [[+]<옵셋> [[+]<ë ˆì´ë¸”>]]\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "íŒŒì¼ ì½ê¸° 실패" #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "모든 디렉토리 ë‚´ìš©ì„ í‘œì‹œí•˜ë©´ì„œ 요약할 수는 없습니다" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "경고: ìš”ì•½ì€ --max-depth=0ì„ ì‚¬ìš©í•˜ëŠ” 것과 같습니다" #: src/du.c:900 #, fuzzy, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "경고: --max-depth=%d는 요약 옵션과 ì¶©ëŒí•©ë‹ˆë‹¤" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: ì½ê¸° 오류" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "ìž˜ëª»ëœ ê·¸ë£¹" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "합계" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Stallman 그리고 David MacKenzie" #: src/env.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ë“¤ì˜ íƒ­ì„ ê³µë°±ìœ¼ë¡œ 바꾸고, 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/expand.c:114 #, fuzzy msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial 공백 다ìŒì— 있는 íƒ­ì„ ë³€í™˜í•˜ì§€ 않습니다\n" " -t, --tabs=<개수> íƒ­ì„ 8ì´ ì•„ë‹Œ <개수>ë§Œí¼ì˜ 문ìží¬ê¸°ì˜ 공백으로 취급합니" "다\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=리스트 탭 위치를 ì§ì ‘ 쉼표로 구분한 리스트로 나타냅니다\n" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "%sì€(는) 너무 í½ë‹ˆë‹¤" #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "탭 í¬ê¸°ì— ë¶€ì ì ˆí•œ 문ìžê°€ 지정ë˜ì–´ 있습니다" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "탭 í¬ê¸°ëŠ” 0ì´ ë  ìˆ˜ 없습니다" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "탭 í¬ê¸°ë“¤ì€ ì ì  커져야 합니다" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, fuzzy, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, fuzzy, c-format msgid "syntax error" msgstr "표준 오류" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "ì¸ìˆ˜ 제한" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "ì´ ë¬¸ì œë¥¼ 피해 가려면 LC_ALL='C'하십시오." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "%s: ë¶€ì ì ˆí•œ 패턴" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%sì€(는) 너무 í½ë‹ˆë‹¤" #: src/factor.c:2454 #, fuzzy, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, fuzzy, c-format msgid "cannot get current directory" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, fuzzy, c-format msgid "cannot change to directory %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/find-mount-point.c:70 #, fuzzy, c-format msgid "cannot stat current directory (now %s)" msgstr "%s 디렉토리를 만들 수 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "사용법: %s [-<숫ìž>] [<옵션>]... [<파ì¼>]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "<파ì¼>ì˜ ê° ë¬¸ë‹¨ì„ ë‹¤ì‹œ 구성해, 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼>ì´ ì—†ê±°ë‚˜ <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" # refillì„ ë­ë¼ê³  번역? -- ì¤„ì´ ë‚¨ì„ ë•Œ 아래 ë¬¸ìž¥ì˜ ì¼ë¶€ë¥¼ 갖다 ë¶™ì´ëŠ” 것 #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin 맨 ì²˜ìŒ ë‘ ì¤„ì˜ ë“¤ì—¬ì“°ê¸°ë¥¼ 유지합니다\n" " -p, --prefix=<문ìžì—´> <문ìžì—´>ì„ ì ‘ë‘어로 가진 ì¤„ë§Œì„ ê²°í•©í•©ë‹ˆë‹¤\n" " -s, --split-only 긴 ì¤„ì„ ë‚˜ëˆ„ë˜, 채워 넣지는 않습니다\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph 첫 번째 ì¤„ì˜ ë“¤ì—¬ì“°ê¸°ë¥¼ ë‘ ë²ˆì§¸ì™€ 다르게 합니다\n" " -u, --uniform-spacing 단어 사ì´ì— 한 ê°œì˜ ê³µë°±, 문장 다ìŒì— ë‘ ê°œì˜ ê³µ" "ë°±\n" " -w, --width=<개수> 한 ì¤„ì˜ ìµœëŒ€ í­ (ê¸°ë³¸ê°’ì€ 75ì—´)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, fuzzy, c-format msgid "invalid width: %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" # wrapì„ ë­ë¼ê³  한다? #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "ê° <파ì¼>ì—서 (ê¸°ë³¸ê°’ì€ í‘œì¤€ìž…ë ¥ì—서) ìž…ë ¥ëœ ì¤„ì„ ë‚˜ëˆ ì„œ, 표준 출력ì—\n" "ì”니다.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes ì—´ì´ ì•„ë‹ˆë¼ ë°”ì´íЏ 수를 셉니다\n" " -s, --spaces 공백ì—서 ì¤„ì„ ë‚˜ëˆ•ë‹ˆë‹¤\n" " -w, --width=<í­> 80ì—´ ëŒ€ì‹ ì— <í­>ì—´ì„ ì´ìš©í•©ë‹ˆë‹¤\n" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "ë¶€ì ì ˆí•œ ì—´ì˜ ê°œìˆ˜: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "사용법: %s [<옵션>]... <ì§‘í•©1> [<ì§‘í•©2>]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: ë¶€ì ì ˆí•œ 숫ìž" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ì˜ ë§¨ 첫 10ì¤„ì„ í‘œì¤€ ì¶œë ¥ì— í‘œì‹œí•©ë‹ˆë‹¤.\n" "ë‘ ê°œ ì´ìƒì˜ <파ì¼>ì˜ ê²½ìš°, ê°ê°ì˜ 파ì¼ë§ˆë‹¤ 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 먼" "ì € \n" "표시합니다. <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆ" "다.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 표시하지 않습니다\n" " -v, --verbose 언제나 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 표시합니다\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "비êµí•  ë°”ì´íŠ¸ì˜ ê°œìˆ˜ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤" #: src/head.c:440 #, fuzzy, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: ìƒëŒ€ 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, fuzzy, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %sì€(는) 너무 커서 표시할 수 없습니다" #: src/head.c:886 msgid "number of lines" msgstr "í–‰ì˜ ê°œìˆ˜" #: src/head.c:886 msgid "number of bytes" msgstr "ë°”ì´íЏ 수" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "%s: ë¶€ì ì ˆí•œ ë°”ì´íЏ 수" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "%s: ë¶€ì ì ˆí•œ 옵션 -- %c\n" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, fuzzy, c-format msgid "cannot determine hostname" msgstr "%s: ëŒì•„ê°ˆ 수 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "사용법: %s [<옵션>]... <ì§‘í•©1> [<ì§‘í•©2>]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "한 가지 ì´ìƒì˜ 방법으로 ë¶„í• í•  수 없습니다" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/install.c:414 #, fuzzy, c-format msgid "creating directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, fuzzy, c-format msgid "fork system call failed" msgstr "ë¸”ë¡ íŠ¹ìˆ˜ 파ì¼" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, fuzzy, c-format msgid "invalid user %s" msgstr "ìž˜ëª»ëœ ì‚¬ìš©ìž" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "사용법: %s [OPTION]... SOURCE DEST\n" " ë˜ëŠ”: %s [OPTION]... SOURCE... DIRECTORY\n" " ë˜ëŠ”: %s -d [OPTION]... --target-directory=DIRECTORY SOURCE...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "stripì˜µì…˜ì€ ë””ë ‰í† ë¦¬ë¥¼ 설치할 때는 쓸 수 없습니다" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "stripì˜µì…˜ì€ ë””ë ‰í† ë¦¬ë¥¼ 설치할 때는 쓸 수 없습니다" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, fuzzy, c-format msgid "invalid mode %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 #, fuzzy msgid "Mike Haertel" msgstr "Mike Haertel 그리고 Paul Eggert" # -a SIDE, -e EMPTY 재고려 #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "입력중ì—서 ë™ì¼í•œ join 필드를 가진 ì¤„ì˜ ê°ê°ì˜ ìŒì— 대해, 표준 입력으로\n" "출력합니다. 기본 join 필드는 첫 번째 필드로, 필드는 ê³µë°±ì— ì˜í•´ 구분 ë©ë‹ˆ" "다.\n" "<파ì¼1> í˜¹ì€ <파ì¼2>ê°€ -ì¼ë•Œ (둘 다 -ì´ë©´ 안 ë¨) 표준 ìž…ë ¥ì—서 ì½ìŠµë‹ˆë‹¤.\n" "\n" " -a <사ì´ë“œ> <사ì´ë“œ> 파ì¼ì—서 ìŒì„ 지울 수 없는 ì¤„ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " -e <엠프티> ìž…ë ¥ 필드가 없는 ê³³ì— <엠프티>를 ì”니다.\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case 필드를 구분할 때 대소문ìžë¥¼ 구별하지 않습니다\n" " -j <필드> (ê³§ 없어질 옵션) `-1 <필드> -2 <필드>'와 ë™ì¼í•©ë‹ˆë‹¤\n" " -j1 <필드> (ê³§ 없어질 옵션) `-1 <필드>'와 ë™ì¼í•©ë‹ˆë‹¤\n" " -j2 <필드> (ê³§ 없어질 옵션) `-2 <필드>'와 ë™ì¼í•©ë‹ˆë‹¤\n" " -o <형ì‹> 출력 ì¤„ì„ ë§Œë“¤ 때 <형ì‹>ì„ ë”°ë¦…ë‹ˆë‹¤\n" " -t <문ìž> ìž…ë ¥ ë° ì¶œë ¥ 필드 구분ìžë¡œ <문ìž>를 사용합니다\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "`-t <문ìž>' ì˜µì…˜ì„ ì“°ì§€ 않았다면, ì¤„ì˜ ë§¨ ì•žì˜ ê³µë°±ì€ ë¬´ì‹œë©ë‹ˆë‹¤. ì´ ì˜µì…˜" "ì„\n" "ì¼ë‹¤ë©´ ê° í•„ë“œëŠ” <문ìž>ì— ì˜í•´ 구분ë©ë‹ˆë‹¤. <필드>는 필드 번호로 1부터 \n" "시작합니다. <형ì‹>ì€ í•„ë“œë¥¼ 쉼표 í˜¹ì€ ê³µë°±ì— ì˜í•´ 구분ë˜ëŠ” í˜•ì‹ ì§€ì •ìžë¡œ, \n" "ê°ê°ì˜ í˜•ì‹ ì§€ì •ìžëŠ” `<사ì´ë“œ>.<필드>' í˜¹ì€ `0'ì˜ í˜•ì‹ì„ 지닙니다. 기본\n" "<형ì‹> 출력으로, join 필드, <파ì¼1>ì— ë‚¨ì•„ 있는 필드, <파ì¼2>ì— ë‚¨ì•„ 있는 \n" "í•„ë“œì˜ ìˆœì„œëŒ€ë¡œ ê°ê°ì€ <문ìž>ì— êµ¬ë¶„ë˜ì–´ 출력ë©ë‹ˆë‹¤.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "ë¶€ì ì ˆí•œ 필드 번호: `%s'" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "ë¶€ì ì ˆí•œ 필드 지정ìž: `%s'" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "필드 ì§€ì •ì— ë¶€ì ì ˆí•œ íŒŒì¼ ë²ˆí˜¸: `%s'" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "여러 문ìžë¡œ ëœ íƒ­ `%s'" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ë‘ íŒŒì¼ì´ ëª¨ë‘ í‘œì¤€ ìž…ë ¥ì´ë©´ 안 ë©ë‹ˆë‹¤" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, fuzzy, c-format msgid "%s: invalid process id" msgstr "%s: ë¶€ì ì ˆí•œ 패턴" #: src/kill.c:259 #, fuzzy, c-format msgid "invalid option -- %c" msgstr "%s: ë¶€ì ì ˆí•œ 옵션 -- %c\n" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, fuzzy, c-format msgid "cannot create link %s to %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: 디렉토리는 하드ë§í¬í•  수 없습니다" #: src/ln.c:255 #, fuzzy, c-format msgid "%s: cannot overwrite directory" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:260 #, fuzzy, c-format msgid "%s: replace %s? " msgstr "%s: `%s'를 바꿀까요? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "사용법: %s [OPTION]... SOURCE DEST (첫번째 형ì‹)\n" " ë˜ëŠ”: %s [OPTION]... SOURCE... DIRECTORY (ë‘번째 형ì‹)\n" " ë˜ëŠ”: %s -d [OPTION]... DIRECTORY... (세번째 형ì‹)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "%s 디렉토리를 만들 수 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, fuzzy, c-format msgid "Usage: %s [OPTION]\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s: ë¶€ì ì ˆí•œ 숫ìž" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 #, fuzzy msgid "%b %e %Y" msgstr " %Y %b %e %H:%M" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 #, fuzzy msgid "%b %e %H:%M" msgstr " %Y %b %e %H:%M" #: src/ls.c:1580 #, fuzzy, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "환경변수 COLUMNSì˜ ê°’ì— ë‹¤ìŒì˜ ìž˜ëª»ëœ í­ì´ 지정ë˜ì—ˆìŠµë‹ˆë‹¤: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "환경변수 COLUMNSì˜ ê°’ì— ë‹¤ìŒì˜ ìž˜ëª»ëœ í­ì´ 지정ë˜ì—ˆìŠµë‹ˆë‹¤: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "환경변수 TABSIZEì˜ ê°’ì— ë‹¤ìŒì˜ ìž˜ëª»ëœ íƒ­ í¬ê¸°ê°€ 지정ë˜ì—ˆìŠµë‹ˆë‹¤: %s" #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "올바른 ì¸ìžëŠ”:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, fuzzy, c-format msgid "unrecognized prefix: %s" msgstr "ì¸ì‹í•  수 없는 옵션 `-%c'" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "LS_COLORSí™˜ê²½ë³€ìˆ˜ì˜ í•´ì„í•  수 없는 ê°’" #: src/ls.c:2514 src/pwd.c:161 #, fuzzy, c-format msgid "cannot open directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ls.c:2615 src/pwd.c:229 #, fuzzy, c-format msgid "reading directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다." #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -g (무시합니다)\n" " -G, --no-group 그룹정보 ì¶œë ¥ì„ í•˜ì§€ 않습니다\n" " -h, --human-readable í¬ê¸°ë¥¼ ì‚¬ëžŒì´ ì•Œê¸° 쉽게(1K, 234M, 2G등)표시합니" "다\n" " -H, --si 비슷합니다만 1024ë°° 대신 1000배를 사용합니다\n" " --indicator-style=WORD WORD 스타ì¼ë¡œ íŒŒì¼ êµ¬ë¶„ì„ í•´ ì¤ë‹ˆë‹¤. 가능한 ê°’" "ì€:\n" " none (기본값), 종류 (-F), 파ì¼í˜•ì‹ (-p)\n" " -i, --inode ê° íŒŒì¼ì˜ i-node번호를 출력합니다\n" " -I, --ignore=PATTERN ì…¸ PATTERN와 ì¼ì¹˜í•˜ëŠ” 목ë¡ì€ 출력하지 않습니다\n" " -k, --kilobytes --block-size=1024와 같습니다\n" " -l 긴 출력 í¬ë§·ì„ 사용합니다\n" " -L, --dereference 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°€ ë§í¬ëœ 목ë¡ì„ 출력합니다\n" " -m 행구분 ì—†ì´ ì‰¼í‘œë¡œ 구분ë˜ëŠ” ëª©ë¡ ì¶œë ¥ì„ í•©ë‹ˆë‹¤\n" " -n, --numeric-uid-gid ì´ë¦„ 대신 숫ìžë¡œ ëœ UID와 GID를 출력합니다\n" " -N, --literal ëª©ë¡ ì´ë¦„ì„ ê·¸ëŒ€ë¡œ 출력합니다\n" " (콘트롤 문ìžë„ 특별히 처리하지 않습니다)\n" " -o 그룹정보 ì—†ì´ ê¸´ 출력 í¬ë§·ì„ 사용합니다\n" " -p, --file-type ê° ëª©ë¡ì„ 구분하기 위한 문ìž(/=@|)를 ë’¤ì— ë¶™ìž…ë‹ˆ" "다\n" " -q, --hide-control-chars 출력할 수 없는 ë¬¸ìž ëŒ€ì‹  ?ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " --show-control-chars 출력할 수 없는 문ìžë¥¼ 그대로 ë³´ì—¬ì¤ë‹ˆë‹¤(기본" "ê°’)\n" " -Q, --quote-name ëª©ë¡ ì´ë¦„ì„ í°ë”°ì˜´í‘œ ì•ˆì— ë„£ìŠµë‹ˆë‹¤\n" " --quoting-style=WORD WORDì˜ ì¸ìš© 스타ì¼ì„ 사용합니다. 가능한 ê°’ì€:\n" " literal, locale, shell, shell-always, c, " "escape\n" " -r, --reverse 정렬순서를 거꾸로 합니다\n" " -R, --recursive 서브디렉토리까지 출력합니다\n" " -s, --size ê° íŒŒì¼ì˜ ë¸”ë¡ í¬ê¸°ë¥¼ 출력합니다\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -f, --fields=<리스트> ì´ í•„ë“œë§Œì„ ì¶œë ¥í•©ë‹ˆë‹¤; ë˜ -s ì˜µì…˜ì´ ì‚¬ìš©ë˜ì§€\n" " 않았다면 êµ¬ë¶„ìž ë¬¸ìžê°€ 들어 있지 ì•Šì€ ì¤„ë„\n" " 출력합니다\n" " -n (무시ë¨)\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper 그리고 Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "사용법: %s [<옵션>] [<파ì¼>]...\n" " 혹ì€: %s [<옵션>] --check [<파ì¼>]\n" "%s (%d비트) ì²´í¬ì„¬ì„ 표시하거나 검사합니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary 콘솔 ìž¥ì¹˜ì— ì´ì§„ ë°ì´íƒ€ë¥¼ ì”니다\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "ë‹¤ìŒ ë‘ ì˜µì…˜ì€ ì²´í¬ì„¬ì„ 검사할 경우ì—ë§Œ ì˜µì…˜ì„ ì“¸ 수 있습니다:\n" " --status ì¶œë ¥ì„ í•˜ì§€ 않고, ìƒíƒœ 코드는 성공/실패를 리턴합니" "다\n" " -w, --warn 틀린 형ì‹ì˜ ì²´í¬ì„¬ ì¤„ì— ëŒ€í•´ 경고합니다\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "ì²´í¬ì„¬ì€ %sì— ê¸°ìˆ ëœ ëŒ€ë¡œ 계산ë©ë‹ˆë‹¤. 검사할 때, ìž…ë ¥ì€ ì´ \n" "í”„ë¡œê·¸ëž¨ì˜ ì¶œë ¥ë¬¼ì´ì–´ì•¼ 합니다. 기본 모드는 ì²´í¬ì„¬, íƒ€ìž…ì„ \n" "나타내는 ë¬¸ìž (ì´ì§„ 파ì¼ì€ `*', 문서 파ì¼ì€ ` '), 그리고 ê° <파ì¼>ì˜ \n" "ì´ë¦„입니다.\n" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "%s: 올바른 형ì‹ì„ 갖춘 %s ì²´í¬ì„¬ í–‰ì„ ì°¾ì§€ 못했ìŒ" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %lu: 올바르지 ì•Šì€ í˜•ì‹ì„ 갖춘 %s ì²´í¬ì„¬ í–‰" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: 열기 ë˜ëŠ” ì½ê¸° 실패\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "실패" #: src/md5sum.c:597 msgid "OK" msgstr "성공" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: 올바른 형ì‹ì„ 갖춘 %s ì²´í¬ì„¬ í–‰ì„ ì°¾ì§€ 못했ìŒ" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "경고: ì—´ê±°ëœ %2$dê°œì˜ %3$s 중ì—서 %1$d개를 ì½ì„ 수 없습니다" msgstr[1] "경고: ì—´ê±°ëœ %2$dê°œì˜ %3$s 중ì—서 %1$d개를 ì½ì„ 수 없습니다" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "경고: ê³„ì‚°ëœ %2$dê°œì˜ %3$s 중ì—서 %1$d 개가 서로 ì¼ì¹˜í•˜ì§€ 않습니다" msgstr[1] "경고: ê³„ì‚°ëœ %2$dê°œì˜ %3$s 중ì—서 %1$d 개가 서로 ì¼ì¹˜í•˜ì§€ 않습니다" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "--status ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "--binary와 --text ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "--status ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "--warn ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "--status ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "--status ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다" #: src/mkdir.c:56 src/rmdir.c:164 #, fuzzy, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" "존재하지 않는 경우 디렉토리를 만듭니다.\n" "\n" " -m, --mode=MODE rwxrwxrwx - umaskê°€ 아닌, 권한 모드를 설정합니다(chmod)\n" " -p, --parents 필요한 경우 부모 ë””ë ‰í† ë¦¬ë„ ë§Œë“­ë‹ˆë‹¤. ìžˆì–´ë„ ì˜¤ë¥˜ê°€\n" " 아닙니다\n" " -v, --verbose 만들어기는 ê°ê°ì˜ 디렉토리를 출력합니다\n" " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" #: src/mkdir.c:168 #, fuzzy, c-format msgid "created directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" "ì´ë¦„ 있는 파ì´í”„(FIFO)를 NAMEì´ë¼ëŠ” ì´ë¦„으로 만듭니다.\n" "\n" " -m, --mode=MODE a=rw - umaskê°€ 아닌, 권한 모드를 설정합니다(chmod)\n" " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "사용법: %s [<옵션>]... <ì§‘í•©1> [<ì§‘í•©2>]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 #, fuzzy msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "TYPEí˜•íƒœì˜ íŠ¹ë³„ íŒŒì¼ NAMEì„ ë§Œë“­ë‹ˆë‹¤.\n" "\n" " -m, --mode=MODE a=rw - umaskê°€ 아닌, 권한 모드를 설정합니다(chmod)\n" " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" "MAJOR MINOR는 TYPE pí˜•ì€ ì•ˆë˜ì§€ë§Œ 다른 형ì—는 설정해야 합니다. TYPEì€\n" "다ìŒê³¼ 같습니다:\n" "\n" " b 블럭(버í¼ë§ 있는) 특별 파ì¼ì„ 만듭니다.\n" " c, u ìºë¦­í„°(버í¼ë§ 없는) 특별 파ì¼ì„ 만듭니다.\n" " p FIFO를 만듭니다\n" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "" "블럭 특별 파ì¼ì„ 만들 때ì—는, major와 minor장치 번호를\n" "지정해야 합니다" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/mknod.c:176 #, fuzzy, c-format msgid "block special files not supported" msgstr "ë¸”ë¡ íŠ¹ìˆ˜ 파ì¼" #: src/mknod.c:185 #, fuzzy, c-format msgid "character special files not supported" msgstr "ë¬¸ìž íŠ¹ìˆ˜ 파ì¼" #: src/mknod.c:201 #, fuzzy, c-format msgid "invalid major device number %s" msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/mknod.c:206 #, fuzzy, c-format msgid "invalid minor device number %s" msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" "SOURCE를 DEST로 ì´ë¦„ì„ ë°”ê¾¸ê±°ë‚˜ SOURCE를 DIRECTORY로 옮ê¹ë‹ˆë‹¤.\n" "\n" " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤\n" " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" " -f, --force ì´ë¯¸ 존재하는 DEST를 질문 ì—†ì´ ì‚­ì œí•©ë‹ˆë‹¤.\n" " -i, --interactive 옮기기 ì „ì— ì—¬ë¶€ë¥¼ 묻습니다\n" " --strip-trailing-slashes ê° SOURCE ì¸ìˆ˜ì—서 ë’¤ì— ë나는 슬래시 기호를\n" " ì‚­ì œ\n" " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ì”니다\n" " --target-directory=DIRECTORY SOURCEì˜ ëª¨ë“  ì¸ìˆ˜ë¥¼ DIRECTORY로 옮ê¹ë‹ˆ" "다\n" " -u, --update ì˜¤ëž˜ëœ íŒŒì¼ê³¼ 새 파ì¼ë§Œ 옮ê¹ë‹ˆë‹¤\n" " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" " -V, --version-control=WORD ì¼ë°˜ì ì¸ 버전 ì½˜íŠ¸ë¡¤ì„ ê²¹ì³ì”니다\n" " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" "\n" #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "`%s'ì˜ ì •ë³´(stat)를 ì–»ì„ ìˆ˜ 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ì„ ì¤„ë²ˆí˜¸ë¥¼ 붙여서 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=<스타ì¼> ë³¸ë¬¸ì— ë²ˆí˜¸ë¥¼ ë¶™ì´ëŠ” ë° <스타ì¼>ì„ ì”니다\n" " -d, --section-delimiter=<구분> ë…¼ë¦¬ì  íŽ˜ì´ì§€ë¥¼ 구분하는 ë° <구분>ì„ ì”니" "다\n" " -f, --footer-numbering=<스타ì¼> ì•„ëž˜ë‹¨ì— ë²ˆí˜¸ë¥¼ ë¶™ì´ëŠ” ë° <스타ì¼>ì„ ì”니" "다\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -f, --header-numbering=<스타ì¼> ìœ—ë‹¨ì— ë²ˆí˜¸ë¥¼ ë¶™ì´ëŠ” ë° <스타ì¼>ì„ ì”니다\n" " -i, --page-increment=<번호> ê° ì¤„ì˜ ì¤„ë²ˆí˜¸ ì¦ê°€ì¹˜\n" " -l, --join-blank-lines=<번호> <번호>ê°œì˜ ë¹ˆ ì¤„ì€ í•˜ë‚˜ë¡œ 취급ë©ë‹ˆë‹¤.\n" " -n, --number-format=<형ì‹> <형ì‹>ì— ë”°ë¼ ì¤„ 번호를 ì”니다\n" " -p, --no-renumber 페ì´ì§€ê°€ ë„˜ì–´ê°€ë„ ì¤„ë²ˆí˜¸ë¥¼ 리셋하지 않습니" "다\n" " -s, --number-separator=<문ìžì—´> 줄 번호 다ìŒì— <문ìžì—´>ì„ ì¶”ê°€í•©ë‹ˆë‹¤\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=<개수> ê° ë…¼ë¦¬ì  íŽ˜ì´ì§€ì—서 첫번째 줄번호\n" " -w, --number-width=<개수> 줄번호를 <개수>ì—´ì— ì”니다\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "기본 옵션ì€, `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'입니다. <구분>ì€ ë…¼ë¦¬" "ì \n" "페ì´ì§€ë¥¼ 구분하는 ë° ì“°ì´ëŠ” ë‘ ê°œì˜ ë¬¸ìžì´ê³ , ë‘ ë²ˆì§¸ 문ìžê°€ 없다면 `.'ì´ \n" "쓰입니다: `.'ì„ ì“°ë ¤ë©´ `\\\\'ë¼ê³  쓰십시오. <스타ì¼>ì€ ë‹¤ìŒ ì¤‘ 하나입니다.\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a 모든 ì¤„ì— ë²ˆí˜¸ë¥¼ 붙입니다.\n" " t 빈 ì¤„ì´ ì•„ë‹Œ 경우ì—ë§Œ 번호를 붙입니다\n" " n 번호를 ë¶™ì´ì§€ 않습니다\n" " p<ì •ê·œì‹> <ì •ê·œì‹>ì— ë§žëŠ” 줄만 번호를 붙입니다\n" "\n" "<형ì‹>ì€ ë‹¤ìŒì¤‘ 하나입니다:\n" "\n" " ln 왼쪽 ì •ë ¬, ì•žì— 0ì„ ë¶™ì´ì§€ 않습니다\n" " rn 오른쪽 ì •ë ¬, ì•žì— 0ì„ ë¶™ì´ì§€ 않습니다\n" " rz 오른쪽 ì •ë ¬, ì•žì— 0ì„ ë¶™ìž…ë‹ˆë‹¤\n" "\n" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "필드 개수가 0입니다" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "ë¶€ì ì ˆí•œ 필드 번호: `%s'" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "필드 ì§€ì •ì— ë¶€ì ì ˆí•œ íŒŒì¼ ë²ˆí˜¸: `%s'" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "ë¶€ì ì ˆí•œ ë¹ˆì¤„ì˜ ê°œìˆ˜: `%s'" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "ë¶€ì ì ˆí•œ 행번호 필드 í­: `%s'" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "ë‘ íŒŒì¼ì´ ëª¨ë‘ í‘œì¤€ ìž…ë ¥ì´ë©´ 안 ë©ë‹ˆë‹¤" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, fuzzy, c-format msgid "Usage: %s [OPTION]...\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "ë¶€ì ì ˆí•œ 필드 번호: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "ì˜¤ì§ í•œ ê°œì˜ ì¸ìˆ˜ë§Œ 지정할 수 있습니다" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "ë‘ íŒŒì¼ì´ ëª¨ë‘ í‘œì¤€ ìž…ë ¥ì´ë©´ 안 ë©ë‹ˆë‹¤" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "사용법: %s [<옵션>]... [<파ì¼>]...\n" " ë˜ëŠ”: %s --traditional [<파ì¼>] [[+]<옵셋> [[+]<ë ˆì´ë¸”>]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "<파ì¼>ì˜ ë‚´ìš©ì„, 기본값으로는 8진수 ë°”ì´íŠ¸ê°’ìœ¼ë¡œ, 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼> ì¸ìžê°€ ë‘ ê°œ ì´ìƒ 있는 경우, ê·¸ 파ì¼ë“¤ì„ 연결해서 입력으로\n" "ì´ìš©í•©ë‹ˆë‹¤.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" # 8진수 suffixì— ëŒ€í•´ì„œ 좀 ì´ìƒí•˜ë‹¤ #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "(ë‘ë²ˆì§¸ì— í˜•ì‹ì´ 오는) ê³¼ê±°ì˜ ë¬¸ë²•ì—서, <오프셋>ì€ `-j <오프셋>'ì„ ëœ»í•©ë‹ˆ" "다.\n" "<ë ˆì´ë¸”>ì€ ì¶œë ¥í•  첫 번째 ë°”ì´íŠ¸ì˜ ì£¼ì†Œë¥¼ 뜻하고, ë‚´ìš©ì„ í‘œì‹œí•  때마다 ê·¸\n" "주소ì—서 ì¦ê°€ë©ë‹ˆë‹¤. <오프셋>ê³¼ <ë ˆì´ë¸”>ì—서, 0x나 0X ì ‘ë‘ì–´ê°€ 붙으면\n" "16진수를 ë§í•˜ë©°, `.' 접미어는 8진수를 ë§í•˜ê³ , b는 512를 곱한다는 뜻입니다.\n" "\n" "<타입>ì€ ë‹¤ìŒì¤‘ 한 ê°œ ì´ìƒìœ¼ë¡œ 만들어 집니다:\n" "\n" " a ë¬¸ìž ì´ë¦„\n" " c ASCII ë¬¸ìž í˜¹ì€ ë°±ìŠ¬ëž˜ì‰¬ ì´ìŠ¤ì¼€ì´í”„\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=<기수> íŒŒì¼ ì˜¤í”„ì…‹ì„ ì¶œë ¥í•˜ëŠ” ë°©ë²•ì„ ì§€ì •í•©ë‹ˆë‹¤\n" " -j, --skip-bytes=<ë°”ì´íЏ> ìž…ë ¥ì˜ ì²« 번째 <ë°”ì´íЏ> ë°”ì´íŠ¸ë¥¼ 건너 ëœë‹ˆë‹¤\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=<ë°”ì´íЏ> ìž…ë ¥ì—서 <ë°”ì´íЏ> ë°”ì´íŠ¸ì˜ ë‚´ìš©ë§Œì„ í‘œì‹œí•©ë‹ˆ" "다\n" " -s, --strings[=<ë°”ì´íЏ>] 최소 <ë°”ì´íЏ> 그래픽 문ìžì˜ 문ìžì—´ì„ 출력합니" "다\n" " -t, --format=<타입> 출력 형ì‹ì„ 지정합니다\n" " -v, --output-duplicates ë™ì¼í•œ ì¤„ì— ëŒ€í•´ì„œëŠ” *를 표시하지 않습니다\n" " -w, --width[=<ë°”ì´íЏ>] ì¶œë ¥ì˜ í•œ ì¤„ì— <ë°”ì´íЏ> ë°”ì´íŠ¸ë¥¼ 출력합니다\n" " --traditional ê³ ì „ì ì¸ 형ì‹ìœ¼ë¡œ ì¸ìžë¥¼ 받습니다\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "ê³ ì „ì ì¸ í˜•ì‹ ì§€ì •ìžë¥¼ 섞어서 쓸 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. 다ìŒê³¼ 같습니다:\n" " -a `-t a'와 ë™ì¼í•˜ê³ , ë¬¸ìž ì´ë¦„으로 지정합니다\n" " -b `-t oC'와 ë™ì¼í•˜ê³ , 8진수 ë°”ì´íŠ¸ë¡œ 지정합니다\n" " -c `-t c'와 ë™ì¼í•˜ê³ , ASCII ë¬¸ìž í˜¹ì€ ë°±ìŠ¬ëž˜ì‰¬ ì´ìŠ¤ì¼€ì´í”„로 지정합니다\n" " -d `-t u2'와 ë™ì¼í•˜ê³ , 10진수 unsigned short로 지정합니다\n" #: src/od.c:345 #, fuzzy msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f -t fF와 ë™ì¼í•˜ê³ , ë¶€ë™ ì†Œìˆ˜ì  ì‹¤ìˆ˜ë¥¼ ì„ íƒí•©ë‹ˆë‹¤\n" " -h -t x2와 ë™ì¼í•˜ê³ , 16진수 short를 ì„ íƒí•©ë‹ˆë‹¤\n" " -i -t d2와 ë™ì¼í•˜ê³ , 10진수 short를 ì„ íƒí•©ë‹ˆë‹¤\n" " -l -t d4와 ë™ì¼í•˜ê³ , 10진수 longì„ ì„ íƒí•©ë‹ˆë‹¤\n" " -o -t o2와 ë™ì¼í•˜ê³ , 8진수 short를 ì„ íƒí•©ë‹ˆë‹¤\n" " -x -t x2와 ë™ì¼í•˜ê³ , 16진수 short를 ì„ íƒí•©ë‹ˆë‹¤\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[<í¬ê¸°>] 부호있는 10진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ\n" " f[<í¬ê¸°>] ë¶€ë™ ì†Œìˆ˜ì , ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ\n" " o[<í¬ê¸°>] 8진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ\n" " u[<í¬ê¸°>] 부호없는 10진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ\n" " x[<í¬ê¸°>] 16진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "<í¬ê¸°>는 숫ìžìž…니다. douxì—서 <타입>ì˜ ê²½ìš°, <í¬ê¸°>는 sizeof(char)ì˜ ê²½ìš°\n" "C, sizeof(short)는 S, sizeof(int)는 I, sizeof(long)ì€ L로 쓸 수 있습니다.\n" "<타입>ì´ fì¸ ê²½ìš° <í¬ê¸°>는 sizeof(float)ì´ ë˜ê³ , D는 sizeof(double), Lì€\n" "(long double)ì´ ë©ë‹ˆë‹¤.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "ë¶€ì ì ˆí•œ 형 문ìžì—´ `%s';\n" "ì´ ì‹œìŠ¤í…œì€ %lu ë°”ì´íЏ ì •ìˆ˜í˜•ì„ ì œê³µí•˜ì§€ 않습니다" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "ë¶€ì ì ˆí•œ 형 문ìžì—´ `%s';\n" "ì´ ì‹œìŠ¤í…œì€ %lu ë°”ì´íЏ ë¶€ë™ì†Œìˆ˜ì í˜•ì„ ì œê³µí•˜ì§€ 않습니다" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "ë¶€ì ì ˆí•œ ë¬¸ìž %c' -- 형 문ìžì—´ `%s'" # combined input 번역 개선 #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "ê²°í•©ëœ ìž…ë ¥ì˜ ëì„ ë„˜ì–´ê°ˆ 수는 없습니다." #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "출력 주소 기수 `%c'ì´(ê°€) ë¶€ì ì ˆí•©ë‹ˆë‹¤; [odxn]ì¤‘ì˜ í•˜ë‚˜ì˜ ë¬¸ìžì´ì–´ì•¼ 합니다" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "문ìžì—´ì„ ë¤í”„í•  때ì—는 íƒ€ìž…ì´ ì§€ì •ë˜ë©´ 안ë©ë‹ˆë‹¤" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "호환 모드ì—서는 최대 ì…‹ê¹Œì§€ì˜ ì¸ìˆ˜ë§Œì„ 지정할 수 있습니다" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "경고: ë¶€ì ì ˆí•œ í­ %lu; 대신 %dì„(를) 사용함" #: src/operand2sig.c:69 #, fuzzy, c-format msgid "%s: invalid signal" msgstr "%s: ë¶€ì ì ˆí•œ PID" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "표준 ìž…ë ¥ì´ ë‹«í˜”ìŒ" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "순서대로 ê° <파ì¼>ì—서 대ì‘ë˜ëŠ” 줄들ì„, TAB으로 구분ë˜ì–´ 구성해, 표준\n" "출력으로 출력합니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=<리스트> 탭 ëŒ€ì‹ ì— <리스트> ì•ˆì— ìžˆëŠ” 문ìžë“¤ì„ 사용합니" "다\n" " -s, --serial ë™ì‹œì— 하지 않고 한 ë²ˆì— í•œ ê°œì˜ íŒŒì¼ì„ ì”니다\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "ë¶€ì ì ˆí•œ ë¬¸ìž %c' -- 형 문ìžì—´ `%s'" #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "ì¼ë°˜ 빈 파ì¼" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Jay Lepreau 그리고 David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "디렉토리" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "--stringì„ ì‚¬ìš©í•  ë• íŒŒì¼ì´ ì§€ì •ë  ìˆ˜ 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Pete TerMaat 그리고 Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=<첫_페ì´ì§€>[:<ë_페ì´ì§€>]' ì¸ìˆ˜ê°€ 없습니다" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l 페ì´ì§€_길ì´' ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜: `%s'" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N 번호' ë¶€ì ì ˆí•œ 시작 í–‰ 번호: `%s'" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o 여백' ë¶€ì ì ˆí•œ í–‰ 옵셋: `%s'" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-l 페ì´ì§€_í­' ë¶€ì ì ˆí•œ ë¬¸ìž ê°œìˆ˜: `%s'" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-l 페ì´ì§€_í­' ë¶€ì ì ˆí•œ ë¬¸ìž ê°œìˆ˜: `%s'" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "병렬로 ì¸ì‡„í•  때ì—는 ì—´ì˜ ê°œìˆ˜ë¥¼ 지정할 수 없습니다." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "병렬 ì¸ì‡„와 ì—´ì— ê±¸ì³ì„œ ì¸ì‡„하는 ê²ƒì„ ë™ì‹œì— 지정할 수는 없습니다>" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' ì¸ìžì—서 불필요한 ë¬¸ìž í˜¹ì€ ë¶€ì ì ˆí•œ 숫ìžê°€ 들어 있습니다: `%s'" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "페ì´ì§€ í­ì´ 너무 ì¢ìŒ" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "필드 개수가 0입니다" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "<파ì¼>(들)ì„ íŽ˜ì´ì§€ë³„로 나누거나 여러 열로 나누어 ì¸ì‡„하기 좋ë„ë¡ ë§Œë“­ë‹ˆë‹¤.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +<첫_페ì´ì§€>[:<ë_페ì´ì§€>], --pages=<첫_페ì´ì§€>[:<ë_페ì´ì§€>]\n" " <첫_페ì´ì§€>[<ë_페ì´ì§€]ì—서 ì¸ì‡„를 시작합니다[ë냅니" "다].\n" " -<ì—´>, --columns=<ì—´>\n" " <ì—´> ì—´ì˜ ì¶œë ¥ë¬¼ì„ ë§Œë“¤ì–´ ê·¸ ì—´ë“¤ì„ íŽ˜ì´ì§€ 단위로\n" " ì¸ì‡„합니다 (-a ì˜µì…˜ì´ ì‚¬ìš©ë˜ì§€ 않는다면). 페ì´ì§€ì—서 \n" " ê°ê°ì˜ ì—´ì— ë“¤ì–´ 있는 줄 수가 같게 유지합니다.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across 한 줄 한 ì¤„ì„ ì—¬ëŸ¬ ì—´ì— ê±¸ì³ì„œ ì¸ì‡„합니다. -<ì—´> 옵션" "ê³¼\n" " ê°™ì´ ì”니다.\n" " -c, --show-control-chars\n" " (^G와 ê°™ì´) ^ 표시를 ì“°ì§€ 않고 8진수 백슬래쉬 표시를 ì”니" "다\n" " -d, --double-space\n" " 한 줄씩 ë„워서 ì¸ì‡„합니다\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=<형ì‹>\n" " ìœ—ë‹¨ì˜ ë‚ ì§œ 표시를 <형ì‹>대로 합니다\n" " -e[<문ìž>[<í­>]], --expand-tabs[=<문ìž>[<í­>]]\n" " ìž…ë ¥ëœ <문ìž> 문ìžë¥¼ <í­>ê°œì˜ íƒ­(8)으로 바꿉니다.\n" " -F, -f, --form-feed\n" " 페ì´ì§€ë¥¼ 구분하는 ë° newline 대신 form feed를 ì”니다\n" " (-F는 3ì¤„ì˜ íŽ˜ì´ì§€ í—¤ë”, -F ì—†ì´ëŠ” 5ì¤„ì˜ í—¤ë”와 \n" " trailer)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h <윗단>, --header=<윗단>\n" " 페ì´ì§€ ìœ—ë‹¨ì— íŒŒì¼ì´ë¦„ ëŒ€ì‹ ì— ê°€ìš´ë° ì •ë ¬ëœ <윗단>ì„ ì”니" "다\n" " -h \"\"ì€ ë¹ˆ ì¤„ì„ ì”니다. -h\"\"ë¼ê³  ì“°ì§€ 마십시오.\n" " -i[<문ìž>[<í­>]], --output-tabs[=<문ìž>[<í­>]]\n" " ê³µë°±ì„ íƒ­ <í­>(8)ë§Œí¼ì˜ <문ìž>로 바꿉니다\n" " -J, --join-lines ì „ì²´ ì¤„ì„ í•©ì¹©ë‹ˆë‹¤. -W 줄 잘ë¼ë‚´ê¸°ë¥¼ ì“°ì§€ 않ë„ë¡ ë§Œë“¤" "ê³ , ì—´ \n" " ì •ë ¬ë„ ì—†ìŠµë‹ˆë‹¤. --sep-string=[<문ìžì—´>]ì€ êµ¬ë¶„ìžë¥¼ 지정" "합니다\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l <페ì´ì§€_길ì´>, --length=<페ì´ì§€_길ì´>\n" " 페ì´ì§€ 길ì´ë¥¼ <페ì´ì§€_길ì´> (66) 줄로 만듭니다\n" " (줄 ìˆ˜ì˜ ê¸°ë³¸ê°’ì€ 56ì´ê³ , -F ì˜µì…˜ì„ ì“°ë©´ 63입니다)\n" " -m, --merge 모든 파ì¼ì„ 병렬ì ìœ¼ë¡œ, ê° ì—´ì— í•˜ë‚˜ì”© ì”니다. 넘어가는\n" " ì¤„ì„ ìžë¥´ì§€ë§Œ, -J 옵션으로 여러 ì¤„ì„ í•©ì³ì„œ ì¤„ì„ ì±„ì›ë‹ˆ" "다\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[<구분>[<숫ìž>]], --number-lines[=<구분>[<숫ìž>]]\n" " <숫ìž>ê°œì˜ ìˆ«ìž, 다ìŒì— <구분>(탭)으로 줄마다 번호를\n" " 매ê¹ë‹ˆë‹¤. 기본ì ìœ¼ë¡œ 1번째 줄부터 세어 나갑니다.\n" " -N <개수>, --first-line-number=<개수>\n" " 첫 번째 페ì´ì§€ì˜ 첫 번째 ì¤„ì„ <개수>로 해서 줄 번호를\n" " 세어 나갑니다 (+<첫_페ì´ì§€> 참고)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o <여백>, --indent=<여백>\n" " <여백>(0)ê°œì˜ ê³µë°±ë¬¸ìžë¥¼ ê° ì¤„ ì•žì— ì”니다. -w나 -Wì—" "는\n" " ì˜í–¥ì„ 주지 않으며, <여백>ì€ <페ì´ì§€_í­>ì— ë”해집니다\n" " -r, --no-file-warnings\n" " 파ì¼ì„ ì—´ 수 ì—†ì„ ë•Œ 경고를 ìƒëžµí•©ë‹ˆë‹¤.\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[<문ìž>],--separator[=<문ìž>]\n" " ê° ì—´ì„ í•œ ê°œì˜ <문ìž>로 구분합니다. <문ìž>ì˜ ê¸°ë³¸ê°’" "ì€ \n" " -wê°€ 없으면 탭 문ìžì´ê³ , -wê°€ 있으면 구분문ìžê°€ 없습니" "다.\n" " -s[<문ìž>]는 모든 3ì—´ ì˜µì…˜ë“¤ì˜ (-<ì—´>|-a -<ì—´>|-m) \n" " 넘어가는 줄 ìžë¥´ê¸° ê¸°ëŠ¥ì„ (-wê°€ 없으면) ë•니다.\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " ì—´ë“¤ì„ -S ì—†ì´ <문ìžì—´>로 구분합니다. \n" " 기본 구분ìžëŠ” 탭 문ìžì™€ -Jì´ê³  ê·¸ ì™¸ì˜ ê²½ìš° 공백 문ìžìž…니" "다\n" " (-S\" \"와 ë™ì¼). ì—´ 관련 ì˜µì…˜ì— ì˜í–¥ì„ 주지 않습니다\n" " -t, --omit-header 페ì´ì§€ í—¤ë”와 트레ì¼ëŸ¬ë¥¼ ìƒëžµí•©ë‹ˆë‹¤\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " 페ì´ì§€ í—¤ë”와 트레ì¼ëŸ¬ë¥¼ ìƒëžµí•˜ê³ , ìž…ë ¥ 파ì¼ì— 들어 있" "는\n" " í¼í”¼ë“œì— ì˜í•œ 페ì´ì§€ êµ¬ë¶„ë“¤ì„ ì—†ì•±ë‹ˆë‹¤\n" " -v, --show-nonprinting\n" " 8진수 백슬래쉬 표시를 사용합니다\n" " -w <페ì´ì§€_í­>, --width=<페ì´ì§€_í­>\n" " í…스트-ì—´ 출력ì—서, -s[<문ìž>]를 ì“°ì§€ ì•Šì•˜ì„ ê²½ìš°ì—\n" " 페ì´ì§€ í­ì„ <페ì´ì§€_í­>(72)으로 합니다\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W <페ì´ì§€_í­>, --page-width=<페ì´ì§€_í­>\n" " 페ì´ì§€ì´ í­ì„ <페ì´ì§€_í­>(72)으로 맞춥니다. 넘어가는 \n" " ì¤„ì€ ìž˜ë ¤ì§€ê³ , -J 옵션과 ê°™ì€ íš¨ê³¼ê°€ 나오는 ê²ƒì„ ì œì™¸í•˜" "ë©´, \n" " -S나 -sì— ì˜í–¥ì„ 받지 않습니다.\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나 - ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -z, --zero-terminated ì¤„ì˜ ëì— ì¤„ë°”ê¿ˆ 대신 ë°”ì´íЏ 0ì„ ì”니다\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, fuzzy, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ë¶€ì ì ˆí•œ ë¬¸ìž í´ëž˜ìФ `%s'" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "ë¶€ì ì ˆí•œ í­ ì˜µì…˜ `%s'" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: ë¶€ì ì ˆí•œ 필드 지정 `%s'" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (ì •ê·œì‹ `%s'ì— ëŒ€í•´)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "사용법: %s [<옵션>]... [<ìž…ë ¥>]... (-G ì—†ì´)\n" " 혹ì€: %s -G [<옵션>]... [<ìž…ë ¥> [<출력>]]\n" "\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "ìž…ë ¥ 파ì¼ì— 들어 있는 ë‹¨ì–´ë“¤ì˜ permuated ì¸ë±ìŠ¤ë¥¼ ê·¸ 문맥과 함께 출력합니다\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference ìžë™ìœ¼ë¡œ 만든 참조를 출력합니다\n" " -C, --copyright 저작권과 복사 ì¡°ê±´ì„ í‘œì‹œí•©ë‹ˆã„·\n" " -G, --traditional System V `ptx'와 ë” ë¹„ìŠ·í•˜ê²Œ ë™ìž‘합니다\n" " -F, --flag-truncation=<문ìžì—´> 넘어간 ì¤„ì„ ìžë¥¼ë•Œ <문ìžì—´>로 표시합니다\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=<문ìžì—´> `xx' ëŒ€ì‹ ì— ì‚¬ìš©í•  매í¬ë¡œ ì´ë¦„\n" " -O, --format=roff ì¶œë ¥ì„ roff로 합니다\n" " -R, --right-side-refs 참조를 오른 ìª½ì— ì”니다. -wì˜ ê²½ìš° 효과 ì—†" "ìŒ\n" " -S, --sentence-regexp=<ì •ê·œì‹> ì¤„ì˜ ëì´ë‚˜ 문ìžì˜ ëì„ ë‚˜íƒ€ë‚´ëŠ” ì •ê·œì‹\n" " -T, --format=tex ì¶œë ¥ì„ TeX으로 합니다\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=<ì •ê·œì‹> 키워드를 구분하는 ë° <ì •ê·œì‹>ì„ ì”니다\n" " -b, --break-file=<파ì¼> ì´ <파ì¼>ì— ë‹¨ì–´ 구분 문ìžê°€ 들어 있습니다\n" " -f, --ignore-case ì •ë ¬ì—서 소문ìžì™€ 대문ìžë¥¼ 구별하지 않습니" "다\n" " -g, --gap-size=<개수> 출력할 필드ì—서 ì—´ 사ì´ì˜ 간격\n" " -i, --ignore-file=<파ì¼> ì´ <파ì¼>ì— ë“¤ì–´ 있는 ë‹¨ì–´ë“¤ì„ ë¬´ì‹œí•©ë‹ˆë‹¤\n" " -o, --only-file=<파ì¼> ì´ <파ì¼>ì— ë“¤ì–´ 있는 단어들만 ì½ìŠµë‹ˆë‹¤\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references ê° ì¤„ì˜ ì²« 번째 필드가 참조입니다\n" " -t, --typeset-mode - 구현ë˜ì§€ ì•Šì•˜ìŒ -\n" " -w, --width=<개수> 출력할 ì—´ì˜ í­ (참조는 제외하고)\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. `-F /'ê°€ " "기본값입니다.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "옵션아닌 ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "옵션아닌 ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s 디렉토리를 만들 수 없습니다" #: src/remove.c:274 #, fuzzy, c-format msgid "%s: descend into directory %s? " msgstr "%s 디렉토리로 chdirí•  수 없습니다" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, fuzzy, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: 쓰기 ë³´í˜¸ëœ `%s'파ì¼ì„ 지울까요? " #: src/remove.c:291 #, fuzzy, c-format msgid "%s: remove %s %s? " msgstr "%s: `%s'를 지울까요? " #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "íŒŒì¼ ì½ê¸° 실패" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: `%s'를 지울까요? " #: src/rmdir.c:134 src/rmdir.c:233 #, fuzzy, c-format msgid "removing directory, %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" "비어 있다면 디렉토리를 ì§€ì›ë‹ˆë‹¤.\n" "\n" " --ignore-fail-on-non-empty\n" " 디렉토리를 완전히 비우지 못해서 ìƒê¸°ëŠ” 실패는\n" " 무시합니다\n" " -p, --parents 비어있는 경우 부모 디렉토리를 ì§€ì›ë‹ˆë‹¤\n" " 예) `rmdir -p a/b/c'는 `rmdir a/b/c a/b a'ê³¼ 비슷합니다\n" " -v, --verbose 처리ë˜ëŠ” 모든 ë””ë ‰í† ë¦¬ì— ëŒ€í•´ 메시지를 출력합니다\n" " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" " --version 버전 정보를 표시하고 종료합니다\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "ì˜¤ì§ í•œ ê°œì˜ ì¸ìˆ˜ë§Œ 지정할 수 있습니다" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "사용법: %s [<옵션>]... [<ìž…ë ¥>]... (-G ì—†ì´)\n" " 혹ì€: %s -G [<옵션>]... [<ìž…ë ¥> [<출력>]]\n" "\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s: 알 수 없는 파ì¼í˜•" #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "문ìžì—´ì„ ë¤í”„í•  때ì—는 íƒ€ìž…ì´ ì§€ì •ë˜ë©´ 안ë©ë‹ˆë‹¤" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "null 그룹으로 바꿀 수 없습니다" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, fuzzy, c-format msgid "%s: fdatasync failed" msgstr "stat 실패" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: ëŒì•„ê°ˆ 수 없습니다" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: 진행중 %lu/%lu (%s)..." #: src/shred.c:452 #, fuzzy, c-format msgid "%s: error writing at offset %s" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: src/shred.c:481 #, fuzzy, c-format msgid "%s: file too large" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: 진행중 %lu/%lu (%s)...%s" #: src/shred.c:520 #, fuzzy, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: 진행중 %lu/%lu (%s)...%s/%s" #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "stat 실패" #: src/shred.c:778 #, fuzzy, c-format msgid "%s: invalid file type" msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: 파ì¼ì´ ìŒì˜ í¬ê¸°ë¥¼ 갖습니다" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, fuzzy, c-format msgid "%s: error truncating" msgstr "%s: 파ì¼ì´ 잘렸ìŒ" #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "stat 실패" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: 쓰기 ì „ìš© íŒŒì¼ ë””ìŠ¤í¬ë¦½í„°ëŠ” 파기할 수 없습니다" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: 삭제중" #: src/shred.c:991 #, fuzzy, c-format msgid "%s: renamed to %s" msgstr "%s: ì½ê¸° 오류" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: ì‚­ì œë˜ì—ˆìŒ" #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/shred.c:1125 #, fuzzy, c-format msgid "%s: invalid number of passes" msgstr "%s: ë¶€ì ì ˆí•œ ì´ˆ" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, fuzzy, c-format msgid "%s: invalid file size" msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "사용법: %s [<옵션>]... [<ìž…ë ¥>]... (-G ì—†ì´)\n" " 혹ì€: %s -G [<옵션>]... [<ìž…ë ¥> [<출력>]]\n" "\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "ê° <파ì¼>ì—서 ì„ íƒí•œ 줄들만 표준 ì¶œë ¥ì— í‘œì‹œí•©ë‹ˆë‹¤.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/shuf.c:284 src/sort.c:4435 #, fuzzy, c-format msgid "multiple output files specified" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "ë¶€ì ì ˆí•œ 필드 번호: `%s'" #: src/sleep.c:146 src/tail.c:1219 #, fuzzy, c-format msgid "cannot read realtime clock" msgstr "ë§í¬ `%s'를 만들 수 없습니다" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "모든 <파ì¼>(들)ì„ ì—°ê²°í•´ì„œ 정렬한 결과를 표준 ì¶œë ¥ì— ì”니다.\n" "\n" "ì •ë ¬ ì˜µì…˜ì€ ë‹¤ìŒê³¼ 같습니다:\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ì•žì— ë‚˜ì˜¤ëŠ” ê³µë°±ì„ ë¬´ì‹œí•©ë‹ˆë‹¤\n" " -d, --dictionary-order 공백, 알파벳, 숫ìžë§Œì„ 고려합니다\n" " -f, --ignore-case 소문ìžì™€ 대문ìžë¥¼ 구별하지 않습니다\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort ì¼ë°˜ì ì¸ 수치 ê°’ì— ë”°ë¼ ë¹„êµí•©ë‹ˆë‹¤\n" " -i, --ignore-nonprinting 표시 가능한 문ìžë§Œ 고려합니다\n" " -M, --month-sort (그외) < `JAN' < ... < `DEC' ì˜ ìˆœì„œëŒ€ë¡œ 비êµ\n" " -n, --numeric-sort 문ìžì—´ì˜ 수치 ê°’ì— ë”°ë¼ ë¹„êµí•©ë‹ˆë‹¤\n" " -r, --reverse 비êµì˜ 결과를 뒤바꿉니다\n" "\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort ì¼ë°˜ì ì¸ 수치 ê°’ì— ë”°ë¼ ë¹„êµí•©ë‹ˆë‹¤\n" " -i, --ignore-nonprinting 표시 가능한 문ìžë§Œ 고려합니다\n" " -M, --month-sort (그외) < `JAN' < ... < `DEC' ì˜ ìˆœì„œëŒ€ë¡œ 비êµ\n" " -n, --numeric-sort 문ìžì—´ì˜ 수치 ê°’ì— ë”°ë¼ ë¹„êµí•©ë‹ˆë‹¤\n" " -r, --reverse 비êµì˜ 결과를 뒤바꿉니다\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" # last-resort comparison? #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "ê·¸ 외 옵션:\n" "\n" " -c, --check ìž…ë ¥ì´ ì •ë ¬ë˜ì—ˆëŠ”ì§€ 검사합니다; 정렬하지는 않습니" "다\n" " -k, --key=POS1[,POS2] POS1ì—서 키를 시작하고, POS2ì—서 ë냅니다 (기준 " "1)\n" " -m, --merge ì´ë¯¸ ì •ë ¬ëœ íŒŒì¼ë“¤ì„ 합칩니다; 정렬하지는 않습니" "다\n" " -o, --output=<파ì¼> 결과를 표준 출력 ëŒ€ì‹ ì— <파ì¼>ì— ì”니다\n" " -s, --stable 마지막-재정렬 비êµê³¼ì •ì„ ì—†ì•  ì •ë ¬ì„ ì•ˆì •í™”í•©ë‹ˆ" "다\n" " -S, --buffer-size=<í¬ê¸°> ë©”ì¸ ë©”ëª¨ë¦¬ 버í¼ë¥¼ <í¬ê¸°>ë§Œí¼ ì”니다\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=<구분> ê³µë°±ì„ (빈칸으로 바꾸는 대신) <구분>으로 ë°”" "꿈\n" " -T, --temporary-directory=DIR 임시 파ì¼ì— $TMPDIRì´ë‚˜ %s 대신 <디렉토리>" "를\n" " 사용합니다. 옵션 여러 개는 여러 ê°œ 디렉토리를 " "지정\n" " -u, --unique -c와 ê°™ì´ ì‚¬ìš©: ê·¸ 외ì—는 엄격한 순서를 검사합니" "다:\n" " ë™ì¼í•œ 것중 첫 번째만 출력합니다\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated ì¤„ì˜ ëì— ì¤„ë°”ê¿ˆ 대신 ë°”ì´íЏ 0ì„ ì”니다\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS는 `F[.C][OPTS]'입니다. 여기서 F는 필드 번호ì´ê³  C는 í•„ë“œì˜ ë¬¸ìž \n" "위치입니다. OPTS는 한 ê°œ í˜¹ì€ ê·¸ ì´ìƒì˜ 한글ìžë¡œ ëœ ìˆœì„œ 지정 옵션으로,\n" "해당 í‚¤ì— ëŒ€í•œ 기본 순서 ì˜µì…˜ì— ìš°ì„ í•©ë‹ˆë‹¤. 키가 주어지지 않으면, ì „ì²´\n" "ì¤„ì„ í‚¤ë¡œ 취급합니다.\n" "\n" "<í¬ê¸°> 다ìŒì—는 ë‹¤ìŒ ê³±í•˜ê¸° 접미어가 ë”°ë¼ì˜¬ 수 있습니다:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "%% 문ìžëŠ” ë©”ëª¨ë¦¬ì˜ 1í¼ì„¼íЏ, b는 1, k는 1024 (기본값), ê·¸ ì™¸ì— M, G, T, P, E, " "Z, Y.\n" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" "*** 경고 ***\n" "í™˜ê²½ë³€ìˆ˜ì— ì§€ì •ëœ ë¡œì¼€ì¼ì´ ì •ë ¬ ìˆœì„œì— ì˜í–¥ì„ ì¤ë‹ˆë‹¤.\n" "ë°”ì´íŠ¸ê°’ì— ë”°ë¼ ì •ë ¬ëœ ì „í†µì ì¸ ì •ë ¬ ë°©ì‹ì„ ì›í•œë‹¤ë©´ \"LC_ALL=C\"로\n" "환경변수를 세팅하십시오\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "íŒŒì¼ ì—´ê¸° 실패" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "íŒŒì¼ ì—´ê¸° 실패" #: src/sort.c:1103 #, fuzzy, c-format msgid "couldn't execute %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/sort.c:1161 #, fuzzy, c-format msgid "couldn't execute %s -d" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "%2$sì— ëŒ€í•´ 애매한 ì¸ìž %1$s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: ì¼ë ¨ë²ˆí˜¸ `%.*s'ì€(는) 너무 í½ë‹ˆë‹¤" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat 실패" #: src/sort.c:1755 msgid "read failed" msgstr "íŒŒì¼ ì½ê¸° 실패" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "문ìžì—´ 비êµê°€ 실패했습니다" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: `%s'ì€(는) 모호한 옵션입니다\n" msgstr[1] "%s: `%s'ì€(는) 모호한 옵션입니다\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "íŒŒì¼ ì“°ê¸° 실패" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: 순서가 ë§žì§€ 않ìŒ: " #: src/sort.c:2786 msgid "standard error" msgstr "표준 오류" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "fork() í•  수 없습니다" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: ë¶€ì ì ˆí•œ 필드 지정 `%s'" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: `%s'ì€(는) 모호한 옵션입니다\n" # count? #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: `%s' 시작 ë¶€ë¶„ì— ë¶€ì ì ˆí•œ 갯수" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "`-' 다ìŒì— ë¶€ì ì ˆí•œ 숫ìž" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "`.' 다ìŒì— ë¶€ì ì ˆí•œ 숫ìž" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "필드 ìŠ¤íŽ™ì— ë²—ì–´ë‚œ 문ìž" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "필드 처ìŒì— ë¶€ì ì ˆí•œ 숫ìž" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "필드 개수가 0입니다" #: src/sort.c:4392 msgid "character offset is zero" msgstr "ë¬¸ìž ì˜¤í”„ì…‹ì´ 0입니다" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "`,' 다ìŒì— ë¶€ì ì ˆí•œ 숫ìž" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다." #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" # extra operand? ë­” 소리야? #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "-c 옵션ì—서는 추가 í”¼ì—°ì‚°ìž `%s'ì„(를) 쓸 수 없습니다" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "사용법: %s [<옵션>] [<ìž…ë ¥> [<ì ‘ë‘ì–´>]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "ìž…ë ¥ì„ ê³ ì •ëœ í¬ê¸°ì˜ ì¡°ê° <ì ‘ë‘ì–´>aa, <ì ‘ë‘ì–´>ab, ... 으로 나누어 ì”니다; 기" "본\n" "<ì ‘ë‘ì–´>는`x'입니다. <ìž…ë ¥>ì´ ì£¼ì–´ì§€ì§€ 않거나, <ìž…ë ¥>ì´ `-'ì´ë©´, 표준 ìž…ë ¥" "ì„\n" "ì½ìŠµë‹ˆë‹¤.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose 진단 ë‚´ìš©ì„ ê° ì¶œë ¥ 파ì¼ì„ 열기 ì§ì „ì— í‘œì¤€ 오류" "로\n" " 출력합니다\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "ì¶œë ¥íŒŒì¼ ì ‘ë¯¸ì–´ë¥¼ 다 ì¼ìŠµë‹ˆë‹¤" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "LS_COLORSí™˜ê²½ë³€ìˆ˜ì˜ í•´ì„í•  수 없는 ê°’" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "%s 디렉토리로 chdirí•  수 없습니다" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "한 가지 ì´ìƒì˜ 방법으로 ë¶„í• í•  수 없습니다" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: ë¶€ì ì ˆí•œ ì´ˆ" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: ë¶€ì ì ˆí•œ 숫ìž" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: ë¶€ì ì ˆí•œ ë°”ì´íŠ¸ì˜ ê°œìˆ˜" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜" #: src/split.c:1236 #, fuzzy, c-format msgid "line count option -%s%c... is too large" msgstr "%s: ì¼ë ¨ë²ˆí˜¸ `%.*s'ì€(는) 너무 í½ë‹ˆë‹¤" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "ë¶€ì ì ˆí•œ 시작 행번호: `%s'" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "%s: ëŒì•„ê°ˆ 수 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: ì¸ì‹í•  수 없는 옵션 `%c%s'\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s: ë¶€ì ì ˆí•œ 패턴" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "문ìžì—´ ëì— ë¶€ì ì ˆí•œ 역슬래쉬 ì´ìŠ¤ì¼€ì´í”„" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "표준 ìž…ë ¥" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "ì˜¤ì§ í•œ ê°œì˜ ì¸ìˆ˜ë§Œ 지정할 수 있습니다" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "--stringê³¼ --check ì˜µì…˜ì€ ìƒí˜¸ 배타ì ìž…니다" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "%2$sì— ëŒ€í•´ 애매한 ì¸ìž %1$s" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "ë¶€ì ì ˆí•œ 행번호 ì¦ê°€: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour 그리고 David MacKenzie" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "ê° íŒŒì¼ì— 대한 ì²´í¬ì„¬ê³¼ ë¸”ëŸ­ì˜ ê°œìˆ˜ë¥¼ ì¸ì‡„합니다.\n" "\n" " -r -s를 무시, BSD í•© 알고리즘 사용, 1K 블럭 사용\n" " -s, --sysv 시스템 V í•© 알고리즘 사용, 512 ë°”ì´íЏ 블럭 사용\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, fuzzy, c-format msgid "ignoring all arguments" msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help ì´ ë„움ë§ì„ 표시하고 ë냅니다\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "긴 옵션ì—서 ê¼­ 필요한 ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "<%s>(으)로 버그를 알려 주십시오.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "ë” ë§Žì€ ì •ë³´ë¥¼ 보려면 `%s --help' 하십시오.\n" #: src/system.h:628 #, fuzzy, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "%s: <경고>: 순환 디렉토리 구조.\n" "ì´ê²ƒì€ ëŒ€ë¶€ë¶„ì˜ ê²½ìš° 파ì¼ì‹œìŠ¤í…œì´ ì†ìƒë˜ì—ˆë‹¤ëŠ” ê²ƒì„ ì˜ë¯¸í•©ë‹ˆë‹¤.\n" "**시스템 관리ìžì—게 알리십시오**\n" "ë‹¤ìŒ ë‘ ë””ë ‰í† ë¦¬ê°€ ê°™ì€ inode 번호를 가졌습니다:\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ì„ ë§ˆì§€ë§‰ 줄부터 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before 구분ìžë¥¼ ë’¤ì— ë†“ì§€ 않고 ì•žì— ë†“ìŠµë‹ˆë‹¤\n" " -r, --regex 구분ìžë¥¼ ì •ê·œì‹ìœ¼ë¡œ ìƒê°í•©ë‹ˆë‹¤\n" " -s, --separator=<문ìžì—´> 줄바꿈 ëŒ€ì‹ ì— <문ìžì—´>ì„ êµ¬ë¶„ìžë¡œ ì”니다\n" #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "íŒŒì¼ ë‹«ê¸° 실패" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "쓰기 오류" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "`%s'를 `%s'로 ì´ë™í•  수 없습니다" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "구분 단위가 빈 문ìžì—´ì´ ë  ìˆ˜ëŠ” 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ì˜ ë§¨ 마지막 %dì¤„ì„ í‘œì¤€ ì¶œë ¥ì— í‘œì‹œí•©ë‹ˆë‹¤.\n" "ë‘ ê°œ ì´ìƒì˜ <파ì¼>ì˜ ê²½ìš°, ê°ê°ì˜ 파ì¼ë§ˆë‹¤ 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 먼" "ì € \n" "표시합니다. <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆ" "다.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " 파ì¼ì´ ëŠ˜ì–´ë‚¨ì— ë‹¤ë¼ ì¶”ê°€ëœ ë°ì´íƒ€ë¥¼ 출력합니다;\n" " -f, --follow, --follow=descriptor는 \n" " ê°™ì€ ê¸°ëŠ¥ì„ í•©ë‹ˆë‹¤\n" " -F --follow=name --retry와 같습니다\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N 마지막 Nì¤„ì„ (마지막 %d줄 대신) 출력합니다\n" " --max-unchanged-stats=N\n" " --follow=nameê³¼ ê°™ì´ ì¨ì„œ, N(기본값 %d)번 ì´í›„로\n" " í¬ê¸°ê°€ 바뀌지 ì•Šì€ <파ì¼>ì„ ë‹¤ì‹œ 열어서,\n" " 파ì¼ì´ 지워지거나 ì´ë¦„ì´ ë°”ë€Œì§€ 않았는지 검사합니" "다\n" " (íšŒì „ëœ ë¡œê·¸ 파ì¼ì˜ 경우 ì´ëŸ¬í•©ë‹ˆë‹¤)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID -f와 ê°™ì´ ì“°ì—¬, 프로세스 ID PIDê°€ 죽으면 ë납니" "다\n" " -q, --quiet, --silent 파ì¼ì´ë¦„ì´ ë“¤ì–´ 있는 í—¤ë”를 출력하지 않습니다\n" " -s, --sleep-interval=S -f와 ê°™ì´ ì¨ì„œ, ê°ê°ì„ 반복할 때마다 약 \n" " Sì´ˆ(기본값 1ì´ˆ)ë§Œí¼ ì§€ì†ë˜ë„ë¡ í•©ë‹ˆë‹¤\n" " -v, --verbose 언제나 파ì¼ì´ë¦„ì´ ë“¤ì–´ 있는 í—¤ë”를 출력합니다\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "만약 N(ë°”ì´íŠ¸ìˆ˜ë‚˜ ì¤„ì˜ ê°œìˆ˜) ì•žì— `+'ê°€ 오는 경우, ê° íŒŒì¼ì˜ \n" "처ìŒì—서부터 N번째부터 시작합니다. ê·¸ ì™¸ì˜ ê²½ìš° 파ì¼ì˜ 마지막 N개를 \n" "표시합니다. N ë’¤ì— ê³±í•˜ê¸° 접미어가 올 수 있습니다: b는 512, k는 1024, mì€ \n" "1048576 (1메가)입니다.\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "ì´ëŸ¬í•œ 기본 ë™ìž‘ ë°©ì‹ì€ íŒŒì¼ ë””ìŠ¤í¬ë¦½í„°ê°€ 아닌 íŒŒì¼ ì´ë¦„ì„ ì¶”ì í•  \n" "때는 ë¶€ì ì ˆí•©ë‹ˆë‹¤(예를 들어 로그 íšŒì „ì˜ ê²½ìš°). ê·¸ ê²½ìš°ì— `--" "follow=name'ì„ \n" "사용하십시오. ì´ë ‡ê²Œ 하면 tailì€ ê·¸ 파ì¼ì˜ ì´ë¦„ì„ ì¶”ì í•©ë‹ˆë‹¤. 정기ì ìœ¼ë¡œ \n" "파ì¼ì„ 다시 ì—´ì–´ 지워졌거나 다른 í”„ë¡œê·¸ëž¨ì— ì˜í•´ 다시 만들어 졌는지 여부를 \n" "검사하게 ë  ê²ƒìž…ë‹ˆë‹¤.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s(fd=%d)ì„(를) 닫습니다 " #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: ìƒëŒ€ 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: ë ìƒëŒ€ 오프셋 %s%s로(으로) ê°ˆ 수 없습니다" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "`%s'ì´(ê°€) ì ‘ê·¼ 불가능하게 ë˜ì—ˆìŠµë‹ˆë‹¤" # 좀 ë” ìžì—°ìŠ¤ëŸ½ê²Œ #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "`%s'ì´(ê°€) tailì„ ì‹¤í–‰í•  수 없는 파ì¼ë¡œ 대체ë˜ì—ˆìŠµë‹ˆë‹¤; ì´ ì´ë¦„ì€ í¬ê¸°í•©ë‹ˆë‹¤" # 좀 ë” ìžì—°ìŠ¤ëŸ½ê²Œ #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "`%s'ì´(ê°€) tailì„ ì‹¤í–‰í•  수 없는 파ì¼ë¡œ 대체ë˜ì—ˆìŠµë‹ˆë‹¤; ì´ ì´ë¦„ì€ í¬ê¸°í•©ë‹ˆë‹¤" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "`%s'ì´(ê°€) ì ‘ê·¼ 가능하게 ë˜ì—ˆìŠµë‹ˆë‹¤" # 좀 ë” ìžì—°ìŠ¤ëŸ½ê²Œ #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "`%s'ì´(ê°€) 나타났습니다; 새로운 파ì¼ì˜ ëì— ì´ì–´ì„œ 나타났습니다" # 좀 ë” ìžì—°ìŠ¤ëŸ½ê²Œ #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "`%s'ì´(ê°€) 대체ë˜ì—ˆìŠµë‹ˆë‹¤; 새로운 파ì¼ì˜ ëì— ì´ì–´ì„œ 대체ë˜ì—ˆìŠµë‹ˆë‹¤" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: 파ì¼ì´ 잘렸ìŒ" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "파ì¼ì´ 남아 있지 않습니다" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "메모리가 바닥남" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "`%s'ì€(는) ì´ëŸ° ì¢…ë¥˜ì˜ íŒŒì¼ ë’¤ì— ì´ì–´ì„œ 나올 수 없습니다; ì´ ì´ë¦„ì€ í¬ê¸°í•©ë‹ˆ" "다" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "%sì€(는) 너무 í½ë‹ˆë‹¤" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: ì—´ê¸°ì¤‘ì— ë°”ë€Œì§€ ì•Šì€ statì˜ ìµœëŒ€ 개수가 ë¶€ì ì ˆí•©ë‹ˆë‹¤" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: ë¶€ì ì ˆí•œ PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ë¶€ì ì ˆí•œ ì´ˆ" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "경고: --retry는 --follow=name ì˜µì…˜ì„ ì‚¬ìš©í–ˆì„ ê²½ìš°ë§Œ 유효합니다" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "경고: PID 무시; `--pid=PID'는 --follow 옵션과 ê°™ì´ ì‚¬ìš©í–ˆì„ ê²½ìš°ë§Œ 유효합니다" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "경고: `--pid=PID'는 ì´ ì‹œìŠ¤í…œì—서 ì§€ì›í•˜ì§€ 않습니다" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나 - ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "%2$sì— ëŒ€í•´ 애매한 ì¸ìž %1$s" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "ë¶€ì ì ˆí•œ 숫ìž" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "알 수 없는 시스템 오류" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "알 수 없는 시스템 오류" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "%s: `%c' ë’¤ì— ì •ìˆ˜ê°€ 와야함" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "긴 옵션ì—서 ê¼­ 필요한 ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, fuzzy, c-format msgid "invalid date format %s" msgstr "%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s" #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/touch.c:197 #, fuzzy, c-format msgid "setting times of %s" msgstr "%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, fuzzy, c-format msgid "cannot specify times from more than one source" msgstr "한 가지 ì´ìƒì˜ 방법으로 ë¶„í• í•  수 없습니다" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "사용법: %s [<옵션>]... <ì§‘í•©1> [<ì§‘í•©2>]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "표준 입력으로부터 문ìžë“¤ì„ 옮기고, 줄ì´ê³ , 그리고/í˜¹ì€ ì§€ì›Œì„œ 표준 ì¶œë ¥ì— \n" "출력합니다.\n" "\n" " -c, --complement 먼저 <ì§‘í•©1>ì˜ ì—¬ì§‘í•©ì„ ì·¨í•©ë‹ˆë‹¤\n" " -d, --delete <ì§‘í•©1>ì˜ ë¬¸ìžë“¤ì„ 지우고, 옮기지 않습니다\n" " -s, --squeeze-repeats ê°™ì€ ë¬¸ìžë“¤ì˜ ë°˜ë³µì„ í•˜ë‚˜ì˜ ë¬¸ìžë¡œ 만듭니다\n" " <ì§‘í•©1>ì—서 해당 문ìžê°€ 한 번만 나타나게 ë©ë‹ˆë‹¤\n" " -t, --truncate-set1 먼저 <ì§‘í•©1>ì„ <ì§‘í•©2>ì˜ ê¸¸ì´ì— 맞게 ìžë¦…니다\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN 8진수 ê°’ NNNì˜ ë¬¸ìž (1ê°œì—서 3ê°œì˜ 8진수 숫ìž)\n" " \\\\ 백슬래쉬\n" " \\a 소리나는 BEL\n" " \\b 백스페ì´ìФ\n" " \\f í¼í”¼ë“œ\n" " \\n 줄바꿈\n" " \\r 리턴\n" " \\t ìˆ˜í‰ íƒ­\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v ìˆ˜ì§ íƒ­\n" " CHAR1-CHAR2 CHAR1ì—서 CHAR2ê¹Œì§€ì˜ (커지는 순서대로) 모든 문ìž\n" " [CHAR*] <ì§‘í•©2>ì—서, <ì§‘í•©1>ì˜ ê¸¸ì´ë§Œí¼ CHAR를 복사\n" " [CHAR*REPEAT] CHARì˜ REPEAT번 반복, REPEATê°€ 0으로 시작하면 8진수\n" " [:alnum:] 모든 ë¬¸ìž ë° ìˆ«ìž\n" " [:alpha:] 모든 문ìž\n" " [:blank:] 모든 ìˆ˜í‰ ê³µë°±ë¬¸ìžë“¤\n" " [:cntrl:] 모든 컨트롤 문ìž\n" " [:digit:] 모든 숫ìž\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] 모든 표시 가능한 문ìž, ê³µë°±ì€ í¬í•¨í•˜ì§€ 않ìŒ\n" " [:lower:] 모든 소문ìž\n" " [:print:] 모든 표시 가능한 문ìž, 공백 í¬í•¨\n" " [:punct:] 모든 문장 기호 문ìž\n" " [:space:] 모든 ìˆ˜í‰ ë° ìˆ˜ì§ ê³µë°±ë¬¸ìž\n" " [:upper:] 모든 대문ìž\n" " [:xdigit:] 모든 16진수 숫ìž\n" " [=CHAR=] CHAR와 ë™ì¼í•œ 모든 문ìž\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "경고: 애매한 8진수 ì´ìŠ¤ì¼€ì´í”„ \\%c%c%cì€(는) 2ë°”ì´íЏ 시퀀스\n" "\t\\0%c%c, `%c'로(으로) í•´ì„ë©ë‹ˆë‹¤" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "%s: 경고: 심볼릭 ë§í¬ë¡œ 하드ë§í¬ë¥¼ 만드는 ê²ƒì€ ì‹œìŠ¤í…œì— ë”°ë¼ ì•ˆë  ìˆ˜ë„\n" " 있습니다." #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "범위 지정 `%s-%s'ì€(는) 순서가 ì‚¬ì „ìˆœì„œì˜ ì—­ë°©í–¥ìž…ë‹ˆë‹¤" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "[c*n] êµ¬ë¬¸ì— ë¶€ì ì ˆí•œ 반복 회수 `%s'" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "ë¬¸ìž í´ëž˜ìФ ì´ë¦„ì´ ë¹ ì¡ŒìŠµë‹ˆë‹¤ `[::]'" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "ë™ê²© í´ëž˜ìФ 문ìžê°€ 빠졌습니다 `[==]'" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "ë¶€ì ì ˆí•œ ë¬¸ìž í´ëž˜ìФ `%s'" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ë™ì¼ í´ëž˜ìФ 피연산ìžëŠ” í•˜ë‚˜ì˜ ë¬¸ìžì´ì–´ì•¼ 합니다" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "ë§žì§€ 않는 [:upper:] 그리고/í˜¹ì€ [:lower:] 구성" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "필드 ìŠ¤íŽ™ì— ë²—ì–´ë‚œ 문ìž" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "[c*] 반복 êµ¬ì„±ë¬¸ì€ string1ì—서는 쓸 수 없습니다" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "[c*] 반복 êµ¬ì„±ë¬¸ì€ string2ì—서 ì˜¤ì§ í•œ 개만 쓸 수 있습니다" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=] í‘œí˜„ì€ ì˜®ê¹€ì˜ ê²½ìš° string2ì—서 쓸 수 없습니다" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ì˜®ê¹€ì˜ ê²½ìš°, string2ì— ë‚˜íƒ€ë‚  수 있는 ë¬¸ìž í´ëž˜ìŠ¤ëŠ” `upper'와 \n" "`lower'ë¿ìž…니다" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "ì§‘í•©1ì´ ìž˜ë ¤ë‚˜ê°€ì§€ 않는다면, string2는 빈 ì§‘í•©ì´ì–´ì„œëŠ” 안 ë©ë‹ˆë‹¤" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "ë¬¸ìž í´ëž˜ìŠ¤ì˜ ì—¬ì§‘í•©ìœ¼ë¡œ 옮길 경우ì—는,\n" "string2는 ê·¸ ë„ë©”ì¸ì˜ 모든 문ìžë¥¼ í•˜ë‚˜ì˜ ë¬¸ìžë¡œ 매핑해야 합니다" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "번역할 때ì—ë§Œ [c*] êµ¬ë¬¸ì´ ë¬¸ìžì—´2ì— ë‚˜íƒ€ë‚  수 있습니다" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "지움과 ë°˜ë³µì¤„ìž„ì„ ë™ì‹œì— 하는 경우 ë‘ ê°œì˜ stringì´ ì£¼ì–´ì ¸ì•¼ 합니다" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "번역할 때 ë‘ ë¬¸ìžì—´ì´ 주어져야 합니다" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "반복줄임 ì—†ì´ ì§€ìš°ëŠ” 경우 1ê°œì˜ stringë§Œì´ ì£¼ì–´ì ¸ì•¼ 합니다" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: 파ì¼ì´ ìŒì˜ í¬ê¸°ë¥¼ 갖습니다" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "한 가지 ì´ìƒì˜ 방법으로 ë¶„í• í•  수 없습니다" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "ë°”ì´íЏ, 문ìž, ë˜ëŠ” 필드로 ëœ ëª©ë¡ì„ 지정해야 합니다" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "`%s'를 `%s'로 ì´ë™í•  수 없습니다" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "사용법: %s [옵션] [<파ì¼>]\n" "<파ì¼>ì˜ partial ì •ë ¬ì— ë”°ë¥´ëŠ” 완전히 ì •ë ¬ëœ ë¦¬ìŠ¤íŠ¸ë¥¼ ì”니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: ìž…ë ¥ì— ë£¨í”„ê°€ 들어가 있습니다 loop:" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: ìž…ë ¥ì— ë£¨í”„ê°€ 들어가 있습니다 loop:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, fuzzy, c-format msgid "cannot get system name" msgstr "임시 파ì¼ì„ 만들 수 없습니다" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ê° <파ì¼>ì˜ íƒ­ì„ ê³µë°±ë¬¸ìžë¡œ 변환하여, 표준 ì¶œë ¥ì— ì”니다.\n" "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all (ìµœì´ˆì˜ ê³µë°±ë¬¸ìžê°€ 아닌) 모든 공백문ìžë¥¼ 변환합니다\n" " -t, --tabs=<개수> íƒ­ì´ <개수>ë§Œí¼ì˜ 문ìžë§Œí¼ 떨어지게 만듭니다\n" " -t, --tabs=<리스트> 명시ì ìœ¼ë¡œ 탭 위치를 쉼표로 구분해 지정합니다\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "%sì€(는) 너무 í½ë‹ˆë‹¤" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "사용법: %s [옵션]... [<ìž…ë ¥> [<출력>]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count 줄 ì•žì— ë°˜ë³µëœ íšŒìˆ˜ë¥¼ ì”니다\n" " -d, --repeated ë°˜ë³µëœ ì¤„ë§Œ 표시합니다\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] 모든 ë°˜ë³µëœ ì¤„ì„ í‘œì‹œí•©ë‹ˆë‹¤\n" " delimit-method={none(기본값),prepend,separate)}\n" " 빈 ì¤„ì„ ê¸°ì¤€ìœ¼ë¡œ 구분합니다.\n" " -f, --skip-fields=N 첫번째 Nê°œì˜ í•„ë“œë¥¼ 비êµí•˜ì§€ 않습니다\n" " -i, --ignore-case 비êµí•  때 대소문ìžì˜ ì°¨ì´ë¥¼ 무시합니다\n" " -s, --skip-chars=N 첫번째 Nê°œì˜ ë¬¸ìžë¥¼ 비êµí•˜ì§€ 않습니다\n" " -u, --unique 유ì¼í•œ ì¤„ë§Œì„ í‘œì‹œí•©ë‹ˆë‹¤\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N 한 ì¤„ì— Nê°œì˜ ë¬¸ìžê¹Œì§€ë§Œ 비êµí•©ë‹ˆë‹¤\n" # ?? #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "한 필드는 공백ë¿ì´ê³ , ê·¸ 다ìŒì— 공백문ìžê°€ 아닌 문ìžë“¤ì´ 있습니다.\n" "문ìžê°€ 나오기 ì „ì— í•„ë“œëŠ” 건너 ëœë‹ˆë‹¤\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "건너 뛸 í•„ë“œì˜ ê°œìˆ˜ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "건너 뛸 ë°”ì´íЏ 수가 ë¶€ì ì ˆí•©ë‹ˆë‹¤" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "비êµí•  ë°”ì´íŠ¸ì˜ ê°œìˆ˜ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "ë°˜ë³µëœ ì¤„ì„ í‘œì‹œí•˜ê³  회수를 세는 ê²ƒì€ ë¬´ì˜ë¯¸í•©ë‹ˆë‹¤" #: src/unlink.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, fuzzy, c-format msgid "cannot unlink %s" msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "ìž˜ëª»ëœ ì‚¬ìš©ìž" msgstr[1] "ìž˜ëª»ëœ ì‚¬ìš©ìž" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "ê° <파ì¼>ì— ëŒ€í•˜ì—¬ ë°”ì´íЏ, 단어, 줄 ë°”ê¿ˆì˜ ê°œìˆ˜ë¥¼ 표시하고, ì´ìƒì˜ 파ì¼ì´\n" "ì§€ì •ë  ë• ì „ì²´ í–‰ì˜ ìˆ˜ë„ ì¸ì‡„합니다. 파ì¼ì´ 주어지지 않거나 파ì¼ì´ - ì´ë©´\n" "표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" " -c, --bytes 문ìžì˜ 개수를 표시합니다\n" " -l, --lines í–‰ì˜ ê°œìˆ˜ë¥¼ 표시합니다\n" " -w, --words ë‹¨ì–´ì˜ ê°œìˆ˜ë¥¼ 표시합니다\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 #, fuzzy msgid "IDLE" msgstr "실패" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "사용법: %s [<옵션>]... <파ì¼1> <파ì¼2>\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #: src/yes.c:41 #, fuzzy, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파ì¼>]...\n" " 혹ì€: %s [<옵션>]\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: ë¶€ì ì ˆí•œ 접미어 길ì´" #~ msgid "Try `%s --help' for more information.\n" #~ msgstr "ë” ë§Žì€ ì •ë³´ë¥¼ 보려면 `%s --help' 하십시오.\n" #, fuzzy #~ msgid "reading %s" #~ msgstr "%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ" #, fuzzy #~ msgid "writing %s" #~ msgstr "%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ" #, fuzzy #~ msgid "closing %s" #~ msgstr "%s(fd=%d)ì„(를) 닫습니다 " #, fuzzy #~ msgid "accessing %s" #~ msgstr "%s를 ì§€ì›ë‹ˆë‹¤\n" #, fuzzy #~ msgid "opening %s" #~ msgstr "%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파ì¼>]...\n" #~ " 혹ì€: %s [<옵션>]\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ "--suffix나 SIMPLE_BACKUP_SUFFIXí™˜ê²½ë³€ìˆ˜ì— ì§€ì •í•˜ì§€ 않으면 백업 접미사는\n" #~ "~입니다.\n" #~ "버전 제어는 --backup옵션ì´ë‚˜ VERSION_CONTROL환경변수로 지정하며, \n" #~ "다ìŒê³¼ 같습니다:\n" #~ "\n" #~ " none, off ë°±ì—…ì„ í•˜ì§€ 않습니다(--backupì„ ì£¼ì–´ë„)\n" #~ " numbered, t 번호가 주어진 ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤\n" #~ " existing, nil 번호가 주어진 ë°±ì—…ì´ ìžˆìœ¼ë©´ 번호를 주고, 그렇지 않으면\n" #~ " 단순하게 합니다\n" #~ " simple, never í•­ìƒ ë‹¨ìˆœ ë°±ì—…ì„ í•©ë‹ˆë‹¤\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "긴 ì˜µì…˜ì˜ ì¸ìˆ˜ëŠ” ì§§ì€ ì˜µì…˜ì—ë„ ê¼­ 필요합니다.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "<기수>는 ì‹­ì§„ìˆ˜ì˜ ê²½ìš° d, 8진수는 o, 16진수는 x, ì•„ë¬´ê²ƒë„ ì•„ë‹ˆë©´ n입니" #~ "다.\n" #~ "<ë°”ì´íЏ>는 0x나 0X를 ë¶™ì¸ 16진수ì´ë©°, b 접미어가 붙으면, 512ê°€ 곱해 ì§€" #~ "ê³ ,\n" #~ "k는 1024, mì€ 1048576ì´ ê³±í•´ 집니다. ì–´ë–¤ 타입ì´ë¼ë„ z 접미어를 ë§ë¶™ì´" #~ "ë©´\n" #~ "출력 ì¤„ì˜ ëì— í‘œì‹œ 가능한 문ìžë“¤ì„ 표시하게 ë©ë‹ˆë‹¤. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "-stringì„ ìˆ«ìž ì—†ì´ ì“°ë©´ 3ì´ë¼ê³  가정합니다. --width를 ìˆ«ìž ì—†ì´ ì“°ë©´ 32" #~ "를\n" #~ "가정합니다. 기본값으로 od는 `-A -o -t d2 -w 16'ì„ ì”니다.\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "`%s'디렉토리를 지울 수 없습니다" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "ê° FILEì˜ ëª¨ë“œë¥¼ MODE로 변경합니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경할때만 알립니다\n" #~ " -f, --silent, --quiet ëŒ€ë¶€ë¶„ì˜ ì—러메시지를 ë‚´ì§€ 않게 합니다\n" #~ " -v, --verbose 처리ë˜ëŠ” 모든 파ì¼ì— 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --reference=RFILE MODE ê°’ 대신 RFILEì˜ ëª¨ë“œê°’ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" #~ " -R, --recursive 파ì¼ê³¼ 서브디렉토리까지 변경합니다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "ê° MODE는 하나 ì´ìƒì˜ u,g,o,aë¬¸ìž ë‹¤ìŒì— +,-,=ì¤‘ì˜ í•˜ë‚˜ì˜ ê¸°í˜¸ì™€\n" #~ "ê·¸ 다ìŒì˜ r,w,x,X,s,t,u,g,o중 í•˜ë‚˜ì˜ ë¬¸ìžë¡œ 구성ë©ë‹ˆë‹¤.\n" #~ msgid "program error" #~ msgstr "프로그램 오류" #~ msgid "stack overflow" #~ msgstr "ìŠ¤íƒ ì˜¤ë²„í”Œë¡œìš°" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ìž˜ëª»ëœ ì˜µì…˜ -- %c\n" #~ msgid "block size" #~ msgstr "ë¸”ë¡ í¬ê¸°" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "%sì˜ ì†Œìœ ìž ê·¸ë¦¬ê³ /í˜¹ì€ ê·¸ë£¹ì„ ë°”ê¿€ 수 없습니다" #~ msgid "cannot chdir to directory %s" #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "UIDì˜ ë¡œê·¸ì¸ ê·¸ë£¹ì„ ì•Œì•„ 낼 수 없습니다" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "ì´ í”„ë¡œê·¸ëž¨ì€ ìžìœ  소프트웨어입니다; 복사 ì¡°ê±´ì€ ì†ŒìŠ¤ë¥¼ 참조하십시오. \n" #~ "ìƒí’ˆì„±ì´ë‚˜ 특정 목ì ì— 대한 ì í•©ì„±ì„ 비롯하여, 어떠한 ë³´ì¦ë„ 하지 않습니" #~ "다.\n" #~ msgid "too few arguments" #~ msgstr "ì¸ìˆ˜ê°€ 너무 ì ìŒ" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #, fuzzy #~ msgid "closing standard output" #~ msgstr "표준 출력" #~ msgid "group number" #~ msgstr "그룹번호" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "ë¶€ì ì ˆí•œ 숫ìž" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman 그리고 David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "사용법: %s [<옵션>]... <왼쪽_파ì¼> <오른쪽_파ì¼>\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "--suffix나 SIMPLE_BACKUP_SUFFIXí™˜ê²½ë³€ìˆ˜ì— ì§€ì •í•˜ì§€ 않으면 백업 접미사는\n" #~ "~입니다.\n" #~ "버전 제어는 --backup옵션ì´ë‚˜ VERSION_CONTROL환경변수로 지정하며, \n" #~ "다ìŒê³¼ 같습니다:\n" #~ "\n" #~ " none, off ë°±ì—…ì„ í•˜ì§€ 않습니다(--backupì„ ì£¼ì–´ë„)\n" #~ " numbered, t 번호가 주어진 ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤\n" #~ " existing, nil 번호가 주어진 ë°±ì—…ì´ ìžˆìœ¼ë©´ 번호를 주고, 그렇지 않으면\n" #~ " 단순하게 합니다\n" #~ " simple, never í•­ìƒ ë‹¨ìˆœ ë°±ì—…ì„ í•©ë‹ˆë‹¤\n" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "ì¸ìˆ˜ê°€ 너무 ì ìŒ" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "ì—¬ëŸ¬ê°œì˜ íŒŒì¼ì„ ë³µì‚¬í•˜ëŠ”ë° ë§ˆì§€ë§‰ ì¸ìˆ˜(%s)는 디렉토리가 아닙니다" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "경고: --version-control (-V) ì˜µì…˜ì€ ë”ì´ìƒ ì“°ì´ì§€ 않습니다. ì´ ì˜µì…˜ì€\n" #~ "ì´í›„ 릴리즈ì—서는 ì‚­ì œë  ê²ƒìž…ë‹ˆë‹¤. 대신 --backup=%s ì„ ì‚¬ìš©í•˜ì„¸ìš”." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "경고: `--pid=PID'는 ì´ ì‹œìŠ¤í…œì—서 ì§€ì›í•˜ì§€ 않습니다" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp 그리고 David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: êµ¬íš ë¬¸ìž ë’¤ì— `+'나 `-'ê°€ 와야함" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "옵션아닌 ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "--stringì„ ì‚¬ìš©í•  ë• íŒŒì¼ì´ ì§€ì •ë  ìˆ˜ 없습니다" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin 그리고 David MacKenzie" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%sê°œì˜ ë ˆì½”ë“œë¥¼ 입력하였습니다\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%sê°œì˜ ë ˆì½”ë“œë¥¼ 출력하였습니다\n" #~ msgid "truncated records" #~ msgstr "잘린 레코드들" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "ì¸ì‹í•  수 없는 옵션 `-%c'" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "{ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock,sync}ì¤‘ì— í•˜" #~ "ë‚˜ì˜ convë§Œ 가능합니다" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolorsì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력하는 ì˜µì…˜ì„ ì¤„ 때ì—는\n" #~ "FILEì¸ìˆ˜ëŠ” ì“°ì´ì§€ 않습니다" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "cannot change to `..' from directory %s" #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-<리스트>' ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤ `-t <리스트>'를 사용하십시오 " #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "-w<개수>ì—서, `w'를 ìƒëžµí•  수 있습니다.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s': 없어진 옵션입니다; `%s'ì„(를) 사용하십시오" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=<í¬ê¸°> 맨 첫 <í¬ê¸°>ë°”ì´íŠ¸ë¥¼ 표시합니다\n" #~ " -n, --lines=<개수> 10ì¤„ì´ ì•„ë‹ˆë¼ ë§¨ 첫 <숫ìž>ì¤„ì„ í‘œì‹œí•©ë‹ˆë‹¤\n" # 한 ì¤„ì— ë§žì¶”ìž #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "<í¬ê¸°>ì— ì ‘ë¯¸ì–´ë¡œ ê·¸ 단위를 나타낼 수 있습니다; b는 512, k는 1킬로, mì€ 1" #~ "메가입니다.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "ì¸ì‹í•  수 없는 옵션 `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s'ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤; `-%c %.*s%.*s%s'ì„(를) 사용하십시오" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin 그리고 David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "사용ìžì™€ ê·¸ë£¹ì„ ëª¨ë‘ ìƒëžµí•  수는 없습니다" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "ì—¬ëŸ¬ê°œì˜ íŒŒì¼ì„ ì„¤ì¹˜í•˜ëŠ”ë° ë§ˆì§€ë§‰ ì¸ìˆ˜(%s)는 디렉토리가 아닙니다" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다" #~ msgid "cannot run strip" #~ msgstr "strip를 실행할 수 없습니다" #, fuzzy #~ msgid "strip failed" #~ msgstr "stat 실패" #~ msgid "" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v <사ì´ë“œ> -a <사ì´ë“œ>와 ë™ì¼í•˜ì§€ë§Œ, joinëœ ì¤„ì„ ì¶œë ¥í•˜ì§€ 않습니" #~ "다\n" #~ " -1 <필드> íŒŒì¼ 1ì—서 ì´ <필드>ì— ëŒ€í•´ join합니다\n" #~ " -2 <필드> íŒŒì¼ 2ì—서 ì´ <필드>ì— ëŒ€í•´ join합니다\n" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "íŒŒì¼ 1ì— ëŒ€í•œ 필드 번호로 ë¶€ì ì ˆí•¨: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "íŒŒì¼ 2ì— ëŒ€í•œ 필드 번호로 ë¶€ì ì ˆí•¨: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "옵션아닌 ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #~ msgid "too few non-option arguments" #~ msgstr "옵션아닌 ì¸ìˆ˜ê°€ 너무 ì ìŒ" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram 그리고 David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: 파ì¼ì´ 존재합니다" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "심볼릭 ë§í¬" #, fuzzy #~ msgid "create hard link %s to %s" #~ msgstr "하드ë§í¬ `%s'를 `%s'ì— ë§Œë“¤ 수 없습니다" #, fuzzy #~ msgid "creating symbolic link %s to %s" #~ msgstr "심볼릭 ë§í¬ `%s'를 `%s'ì— ë§Œë“¤ 수 없습니다" #, fuzzy #~ msgid "creating hard link %s to %s" #~ msgstr "하드ë§í¬ `%s'를 `%s'ì— ë§Œë“¤ 수 없습니다" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "사용법: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " ë˜ëŠ”: %s [OPTION]... TARGET... DIRECTORY\n" #~ " ë˜ëŠ”: %s [OPTION]... --target-directory=DIRECTORY TARGET...\\n\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "ì—¬ëŸ¬ê°œì˜ ë§í¬ë¥¼ 만들 때ì—는 마지막 ì¸ìˆ˜ëŠ” 디렉토리여야 합니다" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary ì´ì§„ 모드로 파ì¼ì„ ì½ìŠµë‹ˆë‹¤ (ë„스/윈ë„ì—서 기본" #~ "ê°’)\n" #~ " -c, --check 주어진 리스트ì—서 %s ì²´í¬ì„¬ì„ 검사합니다\n" #~ " -t, --text 문서 모드로 파ì¼ì„ ì½ìŠµë‹ˆë‹¤ (기본값)\n" #~ "\n" #~ msgid "file" #~ msgstr "파ì¼" #~ msgid "files" #~ msgstr "파ì¼" #~ msgid "checksum" #~ msgstr "ì²´í¬ì„¬" #~ msgid "checksums" #~ msgstr "ì²´í¬ì„¬" #~ msgid "no files may be specified when using --string" #~ msgstr "--stringì„ ì‚¬ìš©í•  ë• íŒŒì¼ì´ ì§€ì •ë  ìˆ˜ 없습니다" #~ msgid "only one argument may be specified when using --check" #~ msgstr "--check를 사용할 때는 ì˜¤ì§ í•œ ê°œì˜ ì¸ìˆ˜ë§Œ ì§€ì •ë  ìˆ˜ 있습니다" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "ì¸ìˆ˜ê°€ 너무 ì ìŒ" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "major와 minor장치번호는 fifo파ì¼ì—는 설정할 수 없습니다" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "ì—¬ëŸ¬ê°œì˜ íŒŒì¼ì„ 옮길 때ì—는 마지막 ì¸ìˆ˜ëŠ” 디렉토리여야 합니다" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "ë¶€ì ì ˆí•œ í­ ì˜µì…˜ `%s'" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "ë¶€ì ì ˆí•œ í­: `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram 그리고 David MacKenzie" #~ msgid "old-style offset" #~ msgstr "옛날 ë°©ì‹ì˜ 옵셋" #~ msgid "skip argument" #~ msgstr "ì¸ìˆ˜ë¥¼ 건너 뜀" #~ msgid "limit argument" #~ msgstr "ì¸ìˆ˜ 제한" #~ msgid "minimum string length" #~ msgstr "최소 문ìžì—´ 길ì´" #~ msgid "width specification" #~ msgstr "ê¸¸ì´ ì§€ì •" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "호환 모드 `%s'ì˜ ë‘번째 피연산ìžê°€ ë¶€ì ì ˆí•¨" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "호환 모드ì—서 마지막 ë‘ ì¸ìˆ˜ëŠ” 옵셋ì´ì–´ì•¼ 합니다" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: 형ì‹=\"%s\" í­=%d\n" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat 그리고 David MacKenzie" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "탭 í¬ê¸°ì— ë¶€ì ì ˆí•œ 문ìžê°€ 지정ë˜ì–´ 있습니다" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' ë¶€ì ì ˆí•œ 페ì´ì§€ 번호 범위: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' ë¶€ì ì ˆí•œ 시작 페ì´ì§€ 번호: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' ë¶€ì ì ˆí•œ ë 페ì´ì§€ 번호: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "`--pages' 시작 페ì´ì§€ 번호가 ë 페ì´ì§€ 번호보다 í½ë‹ˆë‹¤" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=ì—´' ë¶€ì ì ˆí•œ ì—´ì˜ ê°œìˆ˜: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr " %Y %b %e %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "시작 페ì´ì§€ 번호가 ì „ì²´ 페ì´ì§€ 수보다 í½ë‹ˆë‹¤: `%d'" #~ msgid "Page %d" #~ msgstr "%d 페ì´ì§€" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S<문ìžì—´>, --sep-string[=<문ìžì—´>]\n" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "nn <= 10 ì´ê±°ë‚˜ -F ì˜µì…˜ì„ ì“°ê³  n <= 3 ì¸ ê²½ìš° -l ì˜µì…˜ì€ -T를 í¬í•¨í•©ë‹ˆ" #~ "다. \n" #~ "<파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤.\n" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: ë¶€ì ì ˆí•œ 패턴" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "ì´ í”„ë¡œê·¸ëž¨ì€ ìžìœ  소프트웨어입니다. ì†Œí”„íŠ¸ì›¨ì–´ì˜ í”¼ì–‘ë„ìžëŠ” ìžìœ  \n" #~ "소프트웨어 ìž¬ë‹¨ì´ ê³µí‘œí•œ GNU General Public License 2íŒ (ë˜ëŠ” ê·¸ ì´í›„ \n" #~ "íŒì„ ìž„ì˜ë¡œ ì„ íƒí•´ì„œ), ê·¸ ê·œì •ì— ë”°ë¼ í”„ë¡œê·¸ëž¨ì„ ê°œìž‘í•˜ê±°ë‚˜ 재배í¬í•  \n" #~ "수 있습니다.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "ì´ í”„ë¡œê·¸ëž¨ì€ ìœ ìš©í•˜ê²Œ ì‚¬ìš©ë  ìˆ˜ 있으리ë¼ëŠ” í¬ë§ì—서 ë°°í¬ë˜ê³  있지만,\n" #~ "í”„ë¡œê·¸ëž¨ì˜ ì‹œìž¥ì„±ê³¼ 특정한 목ì ì— 맞는 ì í•©ì„± ì—¬ë¶€ì— ëŒ€í•œ 묵시ì ì¸\n" #~ "ë³´ì¦ì„ í¬í•¨í•œ 어떠한 í˜•íƒœì˜ ë³´ì¦ë„ 제공ë˜ì§€ 않습니다. 보다 ìžì„¸í•œ\n" #~ "ì‚¬í•­ì— ëŒ€í•´ì„œëŠ” GNU General Public License를 참고하시기 ë°”ëžë‹ˆë‹¤.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "GNU General Public License는 ì´ í”„ë¡œê·¸ëž¨ê³¼ 함께 제공ë©ë‹ˆë‹¤. 만약 ì´ ë¬¸ì„œ" #~ "ê°€\n" #~ "누ë½ë˜ì–´ 있다면 ìžìœ  소프트웨어 재단으로 문ì˜í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤. (ìžìœ  \n" #~ "소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite " #~ "330, \n" #~ "Boston, MA 02111-1307, USA)\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "`%s'ì—서 `.'ì— ëŒ€í•´ lstatì½œì„ í•  수 없습니다" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "`%s'ì˜ ì •ë³´(stat)를 ì–»ì„ ìˆ˜ 없습니다" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #~ msgid "cannot remove `.' or `..'" #~ msgstr "`.'나 `..'를 지울 수 없습니다" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "파ì¼ì„ 지우거나 ë§í¬ë¥¼ 해제합니다.\n" #~ "\n" #~ " -d, --directory 비어 있지 ì•Šì•„ë„ ë””ë ‰í† ë¦¬ ë§í¬ë¥¼ 해제합니다(관리ìž" #~ "ìš©)\n" #~ " -f, --force 질문 ì—†ì´ ì¡´ìž¬í•˜ì§€ 않는 파ì¼ì„ 무시합니다\n" #~ " -i, --interactive 지우기 ì „ì— ì§ˆë¬¸í•©ë‹ˆë‹¤\n" #~ " -r, -R, --recursive ë””ë ‰í† ë¦¬ì˜ ë‚´ìš©ì„ ìž¬ê·€ì ìœ¼ë¡œ ì§€ì›ë‹ˆë‹¤\n" #~ " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "`-foo'와 ê°™ì´ `-'로 시작하는 파ì¼ì„ 지우기 위해서는 ë‹¤ìŒ ëª…ë ¹ 중 하나를\n" #~ "사용합니다:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "ë¶€ì ì ˆí•œ íƒ€ìž…ì˜ ë¬¸ìžì—´ `%s'" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #~ msgid "sort size" #~ msgstr "ì •ë ¬ í¬ê¸°" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N Në§Œí¼ì˜ 길ì´ì˜ 접미어를 사용합니다 (기본값 %d)\n" #~ " -b, --bytes=<í¬ê¸°> 출력 파ì¼ë‹¹ <í¬ê¸°> ë°”ì´íŠ¸ë¥¼ ì”니다\n" #~ " -C, --line-bytes=<í¬ê¸°> 출력 파ì¼ë‹¹ 최대 <í¬ê¸°> ë°”ì´íŠ¸ë§Œí¼ì˜ ì¤„ì„ ì”니" #~ "다\n" #~ " -l, --lines=<개수> 출력 파ì¼ë‹¹ <개수> 줄만í¼ì˜ ì¤„ì„ ì”니다\n" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "`-%d' ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤; `-l %d'ì„(를) 사용하십시오" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "사용법: %s [<옵션>] [<파ì¼>]...\n" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau 그리고 David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: íŒŒì¼ ì½ê¸° 오류" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry 파ì¼ì„ ì—´ 때 ì ‘ê·¼ 불가능하거나, ë‚˜ì¤‘ì— \n" #~ " ì ‘ê·¼ 불가능해 ì§€ë”ë¼ë„ 계ì†í•´ì„œ íŒŒì¼ ì—´ê¸°ë¥¼\n" #~ " 시ë„합니다 -- -f와 ê°™ì´ ì“°ë©´ 유용합니다\n" #~ " -c, --bytes=N 마지막 Në°”ì´íŠ¸ë¥¼ 출력합니다\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "--follow (-f) ì˜µì…˜ì„ ì“°ë©´, tailì€ íŒŒì¼ ê¸°ìˆ ìžë¥¼ ë”°ë¼ë‹¤ë‹ˆê²Œ ë©ë‹ˆë‹¤. 즉 \n" #~ "tailëœ íŒŒì¼ì˜ ì´ë¦„ì´ ë³€ê²½ë˜ì—ˆë”ë¼ë„, tailì€ ê³„ì†í•´ì„œ ê·¸ ëì„ ë”°ë¼ë‹¤ë‹ˆê²Œ \n" #~ "ë©ë‹ˆë‹¤. " #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: ë¶€ì ì ˆí•œ ì ‘ë‘ì–´ 문ìžê°€ ê³§ 없어질 ì˜µì…˜ì— ë“¤ì–´ 있습니다" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "너무 ì¸ìžê°€ 많습니다; tailì—서 ê³§ 없어질 ì˜µì…˜ì„ ì‚¬ìš©í•  때 (%s)\n" #~ "ë‘ ê°œ ì´ìƒì˜ íŒŒì¼ ì¸ìžê°€ ìžˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ëŒ€ì‹ ì— ê°™ì€ ê¸°ëŠ¥ì˜ -nì´ë‚˜ -" #~ "c\n" #~ "ì˜µì…˜ì„ ì‚¬ìš©í•˜ì„¸ìš”." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "경고: tailì˜ ê³§ 없어질 ì˜µì…˜ì„ ì‚¬ìš©í•´ì„œ (%s) ë‘ ê°œ ì´ìƒì˜ \n" #~ "파ì¼ì„ 사용하는 ê²ƒì€ í¬í„°ë¸”하지 않습니다. ê°™ì€ ê¸°ëŠ¥ì„ í•˜ëŠ” -nì´ë‚˜ -c\n" #~ "ì˜µì…˜ì„ ì‚¬ìš©í•˜ì„¸ìš”." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "`%s': ì´ ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤; `%s-%c %.*s'ì„(를) 사용하십시오" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: 너무 커서 표시할 수 없습니다" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s ì´ ì‹œìŠ¤í…œì˜ ìµœëŒ€ íŒŒì¼ í¬ê¸°ë³´ë‹¤ ë” í½ë‹ˆë‹¤" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: ì§€ì†ì ì¸ í¬ê¸° ë³€í™”ì˜ ìµœëŒ€ 개수가 ë¶€ì ì ˆí•©ë‹ˆë‹¤" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman 그리고 David MacKenzie" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "ì¸ìˆ˜ê°€ 너무 ë§ŽìŒ" #, fuzzy #~ msgid "creating %s" #~ msgstr "íŒŒì¼ `%s'ì„(를) 만듦\n" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "ì¸ìˆ˜ê°€ 너무 ì ìŒ" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "-dê°€ 주어지지 않고 <ì§‘í•©1>ê³¼ <ì§‘í•©2>ê°€ 있는 ê²½ìš°ì— ë¬¸ìžë¥¼ 옮ê¹ë‹ˆë‹¤.\n" #~ "-t는 ì˜®ê¹€ì˜ ê²½ìš°ì—ë§Œ 쓸 수 있습니다. <ì§‘í•©2>는 마지막 문ìžë¥¼\n" #~ "필요한 ë§Œí¼ ë°˜ë³µí•´ <ì§‘í•©1>ì˜ ê¸¸ì´ë§Œí¼ 확장ë©ë‹ˆë‹¤. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "<ì§‘í•©2>ì˜ ë¬¸ìžê°€ ë”\n" #~ "많으면 ë” ë§Žì€ ë¬¸ìžë“¤ì€ 무시ë©ë‹ˆë‹¤. [:lower:]와 [:upper]ë§Œì´\n" #~ "ê³„ì† ê°’ì´ ì»¤ì§€ë©´ì„œ 확장ë©ë‹ˆë‹¤; ì˜®ê¹€ì˜ ê²½ìš° <ì§‘í•©2>ì—서 그렇게 ë˜ë©°,\n" #~ "ì´ëŠ” ëŒ€ì†Œë¬¸ìž ë³€í™˜ì„ ì§€ì •í•  경우ì—ë§Œ 사용ë©ë‹ˆë‹¤. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "옮김ì´ë‚˜ 지움\n" #~ "ì–´ëŠ ê²ƒë„ ì•„ë‹Œ ê²½ìš°ì— -s는 <ì§‘í•©1>ì„ ì‚¬ìš©í•©ë‹ˆë‹¤; ê·¸ ì™¸ì— ì¤„ìž„ì€ <ì§‘í•©2>" #~ "를\n" #~ "사용하며 옮김ì´ë‚˜ 지움 ì´í›„ì— ì¼ì–´ë‚©ë‹ˆë‹¤.\n" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ë¶€ì ì ˆí•œ 역슬래쉬 ì´ìŠ¤ì¼€ì´í”„ `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "ë°˜ë³µì¤„ìž„ì˜ ê²½ìš° 최소 1ê°œì˜ ë¬¸ìžì—´ì´ 주어져야 합니다" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "ë™ì¼ì„± ë§¤í•‘ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤; ì˜®ê¹€ì˜ ê²½ìš°, string1ì˜ [:lower:]나 [:" #~ "upper:]\n" #~ "êµ¬ì„±ì€ string2ì˜ ëŒ€ì‘ë˜ëŠ” 구성(순서대로 [:upper:]나 [:lower:])ê³¼ 맞아야 \n" #~ "합니다" #~ msgid "only one argument may be specified" #~ msgstr "ì˜¤ì§ í•œ ê°œì˜ ì¸ìˆ˜ë§Œ 지정할 수 있습니다" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "" #~ "-<리스트> ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤; `--first-only -t <리스트>'를 사용하십시오" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "<ìž…ë ¥>(í˜¹ì€ í‘œì¤€ ìž…ë ¥)ì—서 ë™ì¼í•œ ì¤„ì„ ëª¨ë‘ ì§€ìš°ê³  한 개만 남겨 놓고\n" #~ "ëª¨ë‘ ì§€ì›Œì„œ <출력>(í˜¹ì€ í‘œì¤€ 출력)ì— ì”니다.\n" #~ "\n" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' ì˜µì…˜ì€ ì—†ì–´ì¡ŒìŠµë‹ˆë‹¤; `-f %lu'ì„(를) 사용하십시오" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "사용법: %s [<옵션>]... [<파ì¼>]...\n" #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length 가장 긴 ì¤„ì˜ ê¸¸ì´ë¥¼ 표시합니다\n" #~ " -w, --words ë‹¨ì–´ì˜ ê°œìˆ˜ë¥¼ ì¸ì‡„합니다\n" #, fuzzy #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "경고: --version-control (-V) ì˜µì…˜ì€ ë”ì´ìƒ ì“°ì´ì§€ 않습니다. ì´ ì˜µì…˜ì€\n" #~ "ì´í›„ 릴리즈ì—서는 ì‚­ì œë  ê²ƒìž…ë‹ˆë‹¤. 대신 --backup=%s ì„ ì‚¬ìš©í•˜ì„¸ìš”." #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "`%s'ì—서 `.'ì— ëŒ€í•´ lstatì½œì„ í•  수 없습니다" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "%s: `%s' 디렉토리는 쓰기 보호ë˜ì—ˆìŠµë‹ˆë‹¤. ê·¸ëž˜ë„ ê³„ì† í• ê¹Œìš”? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "%së””ë ‰í† ë¦¬ì˜ ëª¨ë“  ë‚´ìš©ì„ ì§€ì›ë‹ˆë‹¤\n" #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid " (might be nonempty)" #~ msgstr " (완전히 비우지 않았습니다)" #~ msgid "removing the directory itself: %s\n" #~ msgstr "%s 디렉토리 ìžì‹ ì„ ì§€ì›ë‹ˆë‹¤\n" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%luì˜ ìž¥ì¹˜/노드 번호가 있었는ë°, 지금ì€\n" #~ "(chdir후) `.'ì˜ ìž¥ì¹˜/노드 번호는 %lu/%lu입니다. ì´ê²ƒì€ rm 진행중ì—\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 ë””ë ‰í† ë¦¬ì˜ ë§í¬ë¡œ 바뀌었다는 \n" #~ "ì˜ë¯¸ìž…니다." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%luì˜ ìž¥ì¹˜/노드 번호가 있었는ë°, 지금ì€\n" #~ "(chdir후) `.'ì˜ ìž¥ì¹˜/노드 번호는 %lu/%lu입니다. ì´ê²ƒì€ rm 진행중ì—\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 ë””ë ‰í† ë¦¬ì˜ ë§í¬ë¡œ 바뀌었다는 \n" #~ "ì˜ë¯¸ìž…니다." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%luì˜ ìž¥ì¹˜/노드 번호가 있었는ë°, 지금ì€\n" #~ "(chdir후) `.'ì˜ ìž¥ì¹˜/노드 번호는 %lu/%lu입니다. ì´ê²ƒì€ rm 진행중ì—\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 ë””ë ‰í† ë¦¬ì˜ ë§í¬ë¡œ 바뀌었다는 \n" #~ "ì˜ë¯¸ìž…니다." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " ë˜ëŠ”: %s [-acm] MMDDhhmm[YY] FILE... (구ì‹)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "ë°”ë€ ë¸”ëŸ­ì„ ë””ìŠ¤í¬ì— ê°•ì œì ìœ¼ë¡œ 쓰게 하고, 수í¼ë¸”ëŸ­ì„ ê°±ì‹ í•©ë‹ˆë‹¤.\n" #~ "\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 ë냅니다\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ê° FILEì˜ ì†Œìœ  그룹를 GROUP으로 바꿉니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경하는 경우ì—ë§Œ 알립니다\n" #~ " --dereference 심볼릭 ë§í¬ ìžì‹ ì´ ì•„ë‹ˆë¼ ê° ì‹¬ë³¼ë¦­ ë§í¬ê°€ 참조" #~ "하는\n" #~ " ê²ƒì— ìž‘ìš©í•©ë‹ˆë‹¤\n" #~ " -h, --no-dereference 참조ë˜ëŠ” íŒŒì¼ ëŒ€ì‹  심볼릭 ë§í¬ì— 작용합니다\n" #~ " (심볼릭 ë§í¬ì˜ ì†Œìœ ê¶Œì„ ë°”ê¿€ 수 있는 시스템ì—서" #~ "ë§Œ\n" #~ " 가능합니다)\n" #~ " -f, --silent, --quiet ëŒ€ë¶€ë¶„ì˜ ì—러메시지를 ë‚´ì§€ 않게 합니다\n" #~ " --reference=RFILE GROUPê°’ì„ ì‚¬ìš©í•˜ëŠ” 대신 RFILEì˜ ê·¸ë£¹ì„ ì‚¬ìš©í•©ë‹ˆ" #~ "다\n" #~ " -R, --recursive 파ì¼ê³¼ ê·¸ ë””ë ‰í† ë¦¬ì˜ ì•„ëž˜ê¹Œì§€ 변경합니다\n" #~ " -v, --verbose 처리ë˜ëŠ” 모든 파ì¼ì— 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "ê° FILEì˜ ì†Œìœ ìžë¥¼ OWNER로, ê·¸ë£¹ì„ GROUP으로, ë˜ëŠ” 둘 다를 바꿉니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경할때만 알립니다\n" #~ " --dereference 심볼릭 ë§í¬ ìžì‹ ë³´ë‹¤ ê° ì‹¬ë³¼ë¦­ ë§í¬ê°€ 참조하는\n" #~ " 파ì¼ì—게 작용합니다\n" #~ " -h, --no-dereference 참조ë˜ëŠ” íŒŒì¼ ëŒ€ì‹  심볼릭 ë§í¬ì— 작용합니다\n" #~ " (심볼릭 ë§í¬ì˜ ì†Œìœ ê¶Œì„ ë°”ê¿€ 수 있는 시스템ì—서" #~ "ë§Œ\n" #~ " 사용 가능합니다)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " 지정한 사용ìž/그룹과 파ì¼ì˜ 사용ìž/ê·¸ë£¹ì´ ë§žì•„ì•¼" #~ "ë§Œ\n" #~ " ê·¸ 파ì¼ì˜ 사용ìž/ê·¸ë£¹ì„ ë³€ê²½í•©ë‹ˆë‹¤. í•„ìš” 없다" #~ "ë©´\n" #~ " 둘 중 하나를 ìƒëžµí•  수 있습니다.\n" #~ " -f, --silent, --quiet ëŒ€ë¶€ë¶„ì˜ ì—러메시지를 ë‚´ì§€ 않게 합니다\n" #~ " --reference=RFILE 명시ì ì¸ OWNER.GROUP ê°’ì„ ì‚¬ìš©í•˜ëŠ” 대신 RFILE" #~ "ì˜\n" #~ " 소유ìžì™€ 그룹 ê°’ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" #~ " -R, --recursive 파ì¼ê³¼ ê·¸ ë””ë ‰í† ë¦¬ì˜ ì•„ëž˜ê¹Œì§€ 변경합니다\n" #~ " -v, --verbose 처리ë˜ëŠ” 모든 파ì¼ì— 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "소유ìžë¥¼ 지정하지 ì•Šì€ ê²½ìš° 변경하지 않습니다. ë˜í•œ ê·¸ë£¹ë„ ì§€ì •í•˜ì§€ 않으" #~ "ë©´\n" #~ "바뀌지 않지만 마침표(.)를 주는 경우ì—는 로그ì¸ì‹œì˜ 그룹으로 변경합니다.\n" #~ "콜론(:)ì„ ë§ˆì¹¨í‘œ(.) 대신 쓸 수 있습니다.\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "SOURCE를 DEST로 복사하거나 ì—¬ëŸ¬ê°œì˜ SOURCE를 DIRECTORY로 복사합니다.\n" #~ "\n" #~ " -a, --archive -dpR옵션과 같습니다\n" #~ " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤.\n" #~ " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" #~ " -d, --no-dereference ë§í¬ë¥¼ 유지합니다\n" #~ " -f, --force ì´ë¯¸ 존재하는 DEST를 질문 ì—†ì´ ì‚­ì œí•©ë‹ˆ" #~ "다.\n" #~ " -i, --interactive ë®ì–´ 쓰기 ì „ì— ì—¬ë¶€ë¥¼ 묻습니다\n" #~ " -l, --link 파ì¼ì„ 복사하지 않고 ë§í¬í•©ë‹ˆë‹¤.\n" #~ " -p, --preserve 가능하다면 íŒŒì¼ ì†ì„±ì„ 유지합니다.\n" #~ " -P, --parents ì›ë³¸ì˜ 경로를 DIRECTORYì— ì¶”ê°€í•©ë‹ˆë‹¤\n" #~ " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" #~ " 아닌 ê²ƒì€ íŒŒì¼ë¡œ ì—¬ê¹ë‹ˆë‹¤\n" #~ " *경고*: FIFO나 /dev/zeroê°™ì€ íŠ¹ë³„ 파ì¼" #~ "ì„\n" #~ " 복사할 경우ì—는 -Rì„ ì‚¬ìš©í•˜ì„¸ìš”\n" #~ " --sparse=WHEN 성긴 파ì¼(sparse file)ì˜ ìƒì„±ì„ 조절합니" #~ "다\n" #~ " -R, --recursive 재귀ì ìœ¼ë¡œ 복사합니다\n" #~ " --strip-trailing-slashes ê° SOURCE ì¸ìˆ˜ì—서 ëì˜ ìŠ¬ëž˜ì‹œ(/)문ìžë¥¼\n" #~ " ì§€ì›ë‹ˆë‹¤\n" #~ " -s, --symbolic-link 복사하는 대신 심볼릭 ë§í¬ë¥¼ 만듭니다\n" #~ " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ì”니다\n" #~ " --target-directory=DIRECTORY 모든 SOURCE ì˜ ì¸ìˆ˜ë¥¼ DIRECTORY로 옮ê¹" #~ "니다\n" #~ " -u, --update SOURCE파ì¼ì´ ë³µì‚¬ë  íŒŒì¼ë³´ë‹¤ 새것ì´ê±°ë‚˜\n" #~ " ë³µì‚¬ë  íŒŒì¼ì´ ì—†ì„ ë•Œë§Œ 복사합니다\n" #~ " -v, --verbose ìž‘ì—…ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " -x, --one-file-system ì´ íŒŒì¼ì‹œìŠ¤í…œì—서만 복사합니다\n" #~ " --help ì´ ë„움ë§ì„ 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본ì ìœ¼ë¡œ 성긴 SOURCE 파ì¼ì€ 그리 좋지 ì•Šì€ ë°©ë²•ìœ¼ë¡œ íƒì§€í•´ ë‚´ì–´\n" #~ "대ì‘하는 DEST파ì¼ë„ ë˜í•œ 성기게 만듭니다. ì´ê²ƒì€ --sparse=auto\n" #~ "ì— ì˜í•´ ì„ íƒë˜ëŠ” í–‰ë™ì´ë©°, --sparse=alwaysë¼ê³  지정하면 SOURCE파ì¼ì—\n" #~ "충분한 í¬ê¸°ì˜ 0으로 계ì†ë˜ëŠ” ì§€ì ì´ ìžˆì„ ë•ŒëŠ” 언제나 성긴 DEST파ì¼ì„\n" #~ "만듭니다.\n" #~ "--sparse=neverë¼ê³  지정하면 성긴 파ì¼ì„ ìƒì„±í•˜ì§€ 못하게 합니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "ì˜µì…˜ì— ë”°ë¼ íŒŒì¼ì„ 복사하고, 변환하고 í¬ë§·í•©ë‹ˆë‹¤\n" #~ "\n" #~ " bs=BYTES ibs=BYTES와 obs=BYTES를 ê°™ì´ ì§€ì •í•©ë‹ˆë‹¤\n" #~ " cbs=BYTES í•œë²ˆì— BYTESë§Œí¼ì˜ ë°”ì´íŠ¸ë¥¼ 변환합니다\n" #~ " conv=KEYWORDS 파ì¼ì„ 쉼표(,)로 ë¶„ë¦¬ëœ í‚¤ì›Œë“œ ë¦¬ìŠ¤íŠ¸ì— ë”°ë¼ ë³€í™˜í•©ë‹ˆ" #~ "다\n" #~ " count=BLOCKS BLOCKSê°œì˜ ìž…ë ¥ 블럭만 받습니다\n" #~ " ibs=BYTES í•œë²ˆì— BYTESë°”ì´íŠ¸ì˜ íŒŒì¼ì„ ì½ìŠµë‹ˆë‹¤\n" #~ " if=FILE 표준입력 대신 FILEì—서 ì½ìŠµë‹ˆë‹¤\n" #~ " obs=BYTES í•œë²ˆì— BYTESë°”ì´íŠ¸ë¥¼ ì½ìŠµë‹ˆë‹¤\n" #~ " of=FILE 표준출력 대신 FILEì— ì“°ë©°, 존재하는 파ì¼ì„ 없애지 않습니" #~ "다\n" #~ " seek=BLOCKS 출력 ì‹œìž‘ì‹œì— obsí¬ê¸°ì˜ 블럭 BLOCKS개를 뛰어넘습니다\n" #~ " skip=BLOCKS ìž…ë ¥ ì‹œìž‘ì‹œì— ibsí¬ê¸°ì˜ 블럭 BLOCKS개를 뛰어넘습니다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "BYTES는 다ìŒì˜ ìˆ˜ëŸ‰ì„ ë‚˜íƒ€ë‚´ëŠ” 접미어와 함께 사용할 수 있습니다:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, 그리고 T, P, E, Z, Yë„ ì‚¬ìš©í•  수 있습니" #~ "다\n" #~ "(예: c는 x1와 같고, w는 x2와 같으며, b는 x512와 같으며 k는 x1024와 같습니" #~ "다.\n" #~ "ê°ê°ì˜ KEYWORD는 다ìŒê³¼ 같습니다:\n" #~ "\n" #~ " ascii EBCDICì—서 ASCII로 변환합니다\n" #~ " ebcdic ASCIIì—서 EBCDIC으로 변환합니다\n" #~ " ibm ASCIIì—서 대체(alternated) EBCDIC으로 변환합니다\n" #~ " block 개행문ìžë¡œ ë나는 레코드를 cbsí¬ê¸°ì˜ 공백문ìžë¡œ 채ì›ë‹ˆë‹¤\n" #~ " unblock cbsí¬ê¸°ì˜ 레코드 ë’·ë¶€ë¶„ì˜ ê³µë°±ë¬¸ìžë“¤ì„ 개행문ìžë¡œ 바꿉니다\n" #~ " lcase 대문ìžë¥¼ 소문ìžë¡œ 바꿉니다\n" #~ " notrunc 출력 파ì¼ì˜ ëì„ ìž˜ë¼ë‚´ì§€ 않습니다\n" #~ " ucase 소문ìžë¥¼ 대문ìžë¡œ 바꿉니다\n" #~ " swab 입력하는 ë‘ ë°”ì´íŠ¸ì˜ ìˆœì„œë¥¼ 바꿉니다\n" #~ " noerror ì½ê¸° ì—러가 ë‚˜ë„ ê³„ì†í•©ë‹ˆë‹¤\n" #~ " sync ibsí¬ê¸°ì˜ ìž…ë ¥ 레코드를 í¬ê¸°ê°€ ë§žì§€ 않으면 NUL로 채ì›ë‹ˆë‹¤\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ê°ê°ì˜ FILEì´ ìžˆëŠ” íŒŒì¼ ì‹œìŠ¤í…œì— ëŒ€í•œ 정보를 출력합니다.\n" #~ "ê¸°ë³¸ê°’ì€ ëª¨ë“  파ì¼ì‹œìŠ¤í…œìž…ë‹ˆë‹¤.\n" #~ "\n" #~ " -a, --all 0ë¸”ëŸ­ì„ ê°€ì§„ 파ì¼ì‹œìŠ¤í…œë„ ì¶œë ¥ì— í¬í•¨í•©ë‹ˆë‹¤\n" #~ " --block-size=SIZE SIZE ë°”ì´íЏ í¬ê¸°ì˜ ë¸”ëŸ­ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" #~ " -h, --human-readable í¬ê¸°ë¥¼ ì‚¬ëžŒì´ ì•Œê¸° 쉽게(1K, 234M, 2G등)표시합니" #~ "다\n" #~ " -H, --si 비슷합니다만 1024ë°° 대신 1000배를 사용합니다\n" #~ " -i, --inodes 블럭 사용 대신 inode정보를 표시합니다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l, --local 지역 파ì¼ì‹œìŠ¤í…œë§Œ 나열합니다\n" #~ " -m, --megabytes --block-size=1048576ê³¼ 같습니다\n" #~ " --no-sync 사용정보를 얻기 ì „ì— sync를 부르지 않습니다(기본" #~ "ê°’)\n" #~ " -P, --portability POSIX사양으로 출력합니다\n" #~ " --sync 사용정보를 얻기 ì „ì— sync를 부릅니다\n" #~ " -t, --type=TYPE TYPEí˜•íƒœì˜ íŒŒì¼ì‹œìŠ¤í…œì— ëŒ€í•œ ì •ë³´ë§Œ 표시합니다\n" #~ " -T, --print-type 파ì¼ì‹œìŠ¤í…œ 형태를 출력합니다\n" #~ " -x, --exclude-type=TYPE TYPE형태가 아닌 파ì¼ì‹œìŠ¤í…œ ì •ë³´ë§Œ 표시합니다\n" #~ " -v (무시합니다)\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "디렉토리를 ë”°ë¼ ê° FILEì˜ ë””ìŠ¤í¬ ì‚¬ìš©ì„ ìš”ì•½í•©ë‹ˆë‹¤.\n" #~ "\n" #~ " -a, --all ë””ë ‰í† ë¦¬ë§Œì´ ì•„ë‹ˆê³  ê° íŒŒì¼ì„ ëª¨ë‘ ì…‰ë‹ˆë‹¤\n" #~ " -b, --bytes í¬ê¸°ë¥¼ ë°”ì´íŠ¸ë¡œ 표시합니다\n" #~ " --block-size=SIZE SIZE ë°”ì´íЏ í¬ê¸°ì˜ ë¸”ëŸ­ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" #~ " -c, --total ì´í•©ì„ 계산합니다\n" #~ " -D, --dereference-args 심볼릭 ë§í¬ì˜ 경우 경로를 ë”°ë¼ê°‘니다\n" #~ " -h, --human-readable í¬ê¸°ë¥¼ ì‚¬ëžŒì´ ì•Œê¸° 쉽게(1K, 234M, 2G등)표시합니" #~ "다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l, --count-links 하드ë§í¬ì˜ 경우ì—ë„ ë§¤ë²ˆ í¬ê¸°ë¥¼ 계산합니다\n" #~ " -L, --dereference 모든 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°‘니다\n" #~ " -m, --megabytes --block-size=1048576ê³¼ 같습니다\n" #~ " -S, --separate-dirs 하위 ë””ë ‰í† ë¦¬ì˜ í¬ê¸°ëŠ” í¬í•¨í•˜ì§€ 않습니다\n" #~ " -s, --summarize ê° ì¸ìˆ˜ì— 대해서만 합계를 표시합니다\n" #~ " -x, --one-file-system 다른 파ì¼ì‹œìŠ¤í…œì— ìžˆëŠ” 디렉토리는 제외합니다\n" #~ " -X FILE, --exclude-from=FILE FILE ì•ˆì˜ íŒ¨í„´ì— ì¼ì¹˜í•˜ëŠ” 파ì¼ì€ 제외합니" #~ "다\n" #~ " --exclude=PAT PATíŒ¨í„´ì— ì¼ì¹˜í•˜ëŠ” 파ì¼ì€ 제외합니다.\n" #~ " --max-depth=N 디렉토리(--with allì˜µì…˜ì˜ ê²½ìš° 파ì¼ë„)ì˜ ê¹Šì´ê°€\n" #~ " N보다 ìž‘ì€ ê²ƒì— ëŒ€í•´ì„œë§Œ 합계를 표시합니다;\n" #~ " --max-depth=0 는 --summarize와 같습니다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "ì²˜ìŒ ë‘가지 형ì‹ì—서는 SOURCE를 DEST로 복사하거나 ì—¬ëŸ¬ê°œì˜ SOURCE를\n" #~ "ê¸°ì¡´ì˜ DIRECTORY로 복사하며, íŒŒì¼ ê¶Œí•œì´ë‚˜ 소유ìž/ê·¸ë£¹ì„ ì„¤ì •í•  수 있습니" #~ "다\n" #~ "세번째 형ì‹ì—서는 주어진 DIRECTORYì˜ ëª¨ë“  구성 요소를 만듭니다\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤\n" #~ " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" #~ " -c (무시합니다)\n" #~ " -d, --directory 모든 ì¸ìˆ˜ë¥¼ 디렉토리 ì´ë¦„으로 취급합니다; 지정" #~ "ëœ\n" #~ " ë””ë ‰í† ë¦¬ë“¤ì˜ ëª¨ë“  구성 요소를 만듭니다\n" #~ " -D 마지막 ê²ƒì„ ì œì™¸í•œ 모든 DESTì˜ êµ¬ì„± 요소를 만들" #~ "ê³ \n" #~ " SOURCE를 DEST로 복사합니다. 첫번째 형ì‹ì— 유용합" #~ "니다\n" #~ " -g, --group=GROUP í”„ë¡œì„¸ìŠ¤ì˜ í˜„ìž¬ ê·¸ë£¹ì´ ì•„ë‹Œ ì†Œìœ ìž ê·¸ë£¹ì„ ì§€ì •í•©" #~ "니다\n" #~ " -m, --mode=MODE rwxr-xr-xëŒ€ì‹ ì˜ ëª¨ë“œì„ ì§€ì •í•©ë‹ˆë‹¤(chmod와 ê°™ì´)\n" #~ " -o, --owner=OWNER 소유ìžë¥¼ 지정합니다(관리ìžìš©)\n" #~ " -p, --preserve-timestamps 해당 ëª©ì  íŒŒì¼ì— SOURCE파ì¼ì˜ ì ‘ê·¼/변경\n" #~ " ì‹œê°„ì„ ì ìš©í•©ë‹ˆë‹¤\n" #~ " -s, --strip 심볼 í…Œì´ë¸”ì„ ì‚­ì œí•©ë‹ˆë‹¤(첫번째와 ë‘번째 형ì‹" #~ "ë§Œ)\n" #~ " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ ì”니다\n" #~ " -v, --verbose 디렉토리가 만들어질때 ê·¸ ì´ë¦„ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "TARGETì—서 옵션으로 ì§€ì •ëœ LINK_NAME으로 ë§í¬ë¥¼ 만듭니다. 하나 ì´ìƒì˜ " #~ "TARGETì´\n" #~ "있다면 마지막 ì¸ìˆ˜ëŠ” 디렉토리가 ë©ë‹ˆë‹¤; ë˜ í•˜ë‚˜ì˜ ë°©ë²•ì€ ê° TARGETì˜\n" #~ "ë§í¬ë¥¼ DIRECTORYì— ë§Œë“­ë‹ˆë‹¤. 기본ì ìœ¼ë¡œ 하드ë§í¬ë¥¼ 만들고, 심볼릭\n" #~ "ë§í¬ëŠ” --symbolic으로 만듭니다. 하드ë§í¬ë¥¼ 만들 때ì—는 TARGETì´ ë°˜ë“œì‹œ\n" #~ "존재해야 합니다.\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 ì „ì— ë°±ì—…ë³¸ì„ ë§Œë“­ë‹ˆë‹¤\n" #~ " -b --backupê³¼ ë¹„ìŠ·í•œë° ì¸ìˆ˜ë¥¼ 받지 않는다\n" #~ " -d, -F, --directory 디렉토리를 하드ë§í¬í•©ë‹ˆë‹¤(관리ìžë§Œ)\n" #~ " -f, --force 존재하는 DEST를 ì§€ì›ë‹ˆë‹¤\n" #~ " -n, --no-dereference ë””ë ‰í† ë¦¬ë¡œì˜ ì‹¬ë³¼ë¦­ ë§í¬ë¥¼ ì¼ë°˜ 파ì¼ì¸ê²ƒì²˜" #~ "럼\n" #~ " 처리합니다\n" #~ " -i, --interactive DEST를 지울 것ì¸ì§€ 물어봅니다\n" #~ " -s, --symbolic 하드ë§í¬ 대신 심볼릭 ë§í¬ë¥¼ 합니다\n" #~ " -S, --suffix=SUFFIX ì¼ë°˜ì ì¸ 백업 접미사를 ê²¹ì³ ì”니다\n" #~ " --target-directory=DIRECTORY ë§í¬ë¥¼ ìƒì„±í•  디렉토리를 지정합니다\n" #~ " -v, --verbose ë§í¬í•˜ê¸° ì „ì— ê°ê°ì˜ 파ì¼ì´ë¦„ì„ ì¶œë ¥í•©ë‹ˆ" #~ "다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\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\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "FILEì— ëŒ€í•œ 정보를 출력합니다(ê¸°ë³¸ê°’ì€ í˜„ìž¬ë””ë ‰í† ë¦¬).\n" #~ "-cftuSUXì´ë‚˜ --sortì˜µì…˜ì´ ì§€ì •ë˜ì§€ 않으면 기본ì ìœ¼ë¡œ 알파벳 순으로 정렬합" #~ "니다.\n" #~ "\n" #~ " -a, --all .으로 시작하는 목ë¡ê¹Œì§€ ëª¨ë‘ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " -A, --almost-all -a와 같지만 .ê³¼ ..ì€ ì¶œë ¥í•˜ì§€ 않습니다\n" #~ " -b, --escape 출력할 수 없는 문ìžëŠ” 8진수로 표기합니다\n" #~ " --block-size=SIZE SIZE ë°”ì´íЏ í¬ê¸°ì˜ ë¸”ëŸ­ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" #~ " -B, --ignore-backups ~으로 ë나는 목ë¡ì€ 출력하지 않습니다\n" #~ " -c ìƒì„±ì‹œê°„단위로 정렬합니다. -l옵션과 ê°™ì´ ì“°" #~ "ë©´\n" #~ " ìƒì„±ì‹œê°„ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " -C 열단위로 목ë¡ì„ 출력합니다\n" #~ " --color[=WHEN] 파ì¼ì„ 구분하기 위해 ìƒ‰ì„ ì“¸ 것ì¸ì§€ 조정합니" #~ "다.\n" #~ " WHENì€ `never', `always', ë˜ëŠ” `auto'입니" #~ "다.\n" #~ " -d, --directory ë””ë ‰í† ë¦¬ì˜ ë‚´ìš© 대신 디렉토리를 출력합니다\n" #~ " -D, --dired Emacsì˜ diredëª¨ë“œì— ì•Œë§žëŠ” ì¶œë ¥ì„ í•©ë‹ˆë‹¤\n" #~ " -f 정렬하지 않습니다(-aU를 주고 -lst를 ëºë‹ˆ" #~ "다).\n" #~ " -F, --classify ê° ëª©ë¡ì„ 구분하기 위한 문ìžë¥¼ ë’¤ì— ë¶™ìž…ë‹ˆ" #~ "다\n" #~ " --format=WORD across -x, comma -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time 날짜와 시ê°ì„ ìžì„¸ížˆ 출력합니다\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\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" #~ msgstr "" #~ " -g (무시합니다)\n" #~ " -G, --no-group 그룹정보 ì¶œë ¥ì„ í•˜ì§€ 않습니다\n" #~ " -h, --human-readable í¬ê¸°ë¥¼ ì‚¬ëžŒì´ ì•Œê¸° 쉽게(1K, 234M, 2G등)표시합" #~ "니다\n" #~ " -H, --si 비슷합니다만 1024ë°° 대신 1000배를 사용합니" #~ "다\n" #~ " --indicator-style=WORD WORD 스타ì¼ë¡œ íŒŒì¼ êµ¬ë¶„ì„ í•´ ì¤ë‹ˆë‹¤. 가능한 " #~ "ê°’ì€:\n" #~ " none (기본값), 종류 (-F), 파ì¼í˜•ì‹ (-p)\n" #~ " -i, --inode ê° íŒŒì¼ì˜ i-node번호를 출력합니다\n" #~ " -I, --ignore=PATTERN ì…¸ PATTERN와 ì¼ì¹˜í•˜ëŠ” 목ë¡ì€ 출력하지 않습니" #~ "다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l 긴 출력 í¬ë§·ì„ 사용합니다\n" #~ " -L, --dereference 심볼릭 ë§í¬ë¥¼ ë”°ë¼ê°€ ë§í¬ëœ 목ë¡ì„ 출력합니" #~ "다\n" #~ " -m 행구분 ì—†ì´ ì‰¼í‘œë¡œ 구분ë˜ëŠ” ëª©ë¡ ì¶œë ¥ì„ í•©ë‹ˆ" #~ "다\n" #~ " -n, --numeric-uid-gid ì´ë¦„ 대신 숫ìžë¡œ ëœ UID와 GID를 출력합니다\n" #~ " -N, --literal ëª©ë¡ ì´ë¦„ì„ ê·¸ëŒ€ë¡œ 출력합니다\n" #~ " (콘트롤 문ìžë„ 특별히 처리하지 않습니다)\n" #~ " -o 그룹정보 ì—†ì´ ê¸´ 출력 í¬ë§·ì„ 사용합니다\n" #~ " -p, --file-type ê° ëª©ë¡ì„ 구분하기 위한 문ìž(/=@|)를 ë’¤ì— ë¶™" #~ "입니다\n" #~ " -q, --hide-control-chars 출력할 수 없는 ë¬¸ìž ëŒ€ì‹  ?ì„ ì¶œë ¥í•©ë‹ˆë‹¤\n" #~ " --show-control-chars 출력할 수 없는 문ìžë¥¼ 그대로 ë³´ì—¬ì¤ë‹ˆë‹¤(기본" #~ "ê°’)\n" #~ " -Q, --quote-name ëª©ë¡ ì´ë¦„ì„ í°ë”°ì˜´í‘œ ì•ˆì— ë„£ìŠµë‹ˆë‹¤\n" #~ " --quoting-style=WORD WORDì˜ ì¸ìš© 스타ì¼ì„ 사용합니다. 가능한 ê°’" #~ "ì€:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ " -r, --reverse 정렬순서를 거꾸로 합니다\n" #~ " -R, --recursive 서브디렉토리까지 출력합니다\n" #~ " -s, --size ê° íŒŒì¼ì˜ ë¸”ë¡ í¬ê¸°ë¥¼ 출력합니다\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S 파ì¼í¬ê¸°ë‹¨ìœ„로 정렬합니다\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " --time=WORD 변경시간 대신 ì‹œê°„ì„ WORD로 표시합니다:\n" #~ " atime, access, use, ctime, status\n" #~ " --sort=timeì´ë©´ ì§€ì •ëœ ê°’ì´ ì •ë ¬ 기준입니" #~ "다\n" #~ " -t 변경시간단위로 정렬합니다.\n" #~ " -T, --tabsize=COLS 8대신 탭 í¬ê¸°ë¥¼ COLS로 가정합니다\n" #~ " -u ìµœí›„ì ‘ê·¼ì‹œê°„ì— ë”°ë¼ ì •ë ¬í•©ë‹ˆë‹¤.\n" #~ " -lê³¼ 함께 사용하면 ì ‘ê·¼ì‹œê°„ì„ ë³´ì—¬ì¤ë‹ˆë‹¤\n" #~ " -U 정렬하지 않고 ë””ë ‰í† ë¦¬ì˜ ìˆœì„œëŒ€ë¡œ 출력합니" #~ "다\n" #~ " -v ë²„ì „ì— ë”°ë¼ ì •ë ¬í•©ë‹ˆë‹¤\n" #~ " -w, --width=COLS 현재 ê°’ 대신 화면í­ì„ 정해준 값으로 가정합니" #~ "다\n" #~ " -x 열단위보다는 행순으로 목ë¡ì„ 정렬합니다\n" #~ " -X ëª©ë¡ í™•ìž¥ì— ì˜í•´ 알파벳순으로 정렬합니다\n" #~ " -1 한 ì¤„ì— í•œ 파ì¼ì”© 출력합니다\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본ì ìœ¼ë¡œ, 파ì¼ì„ 구분하기 위해 색ìƒì€ 사용하지 않습니다. ì´ê²ƒì€\n" #~ "--color=noneì„ ì‚¬ìš©í•˜ëŠ” 것과 같습니다. --colorì˜µì…˜ì„ ë¶€ê°€ì ì¸ WHENì¸ìˆ˜ì™€\n" #~ "ê°™ì´ ì‚¬ìš©í•˜ì§€ 않으면 --color=always와 같습니다. --color=autoì—서는\n" #~ "ìƒ‰ìƒ ì½”ë“œëŠ” 표준 ì¶œë ¥ì´ í„°ë¯¸ë„(tty)ì— ì—°ê²°ë˜ì—ˆì„ 때만 출력합니다\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "파ì¼ì„ 안전하게 지우기 위해, 먼저 ë‚´ìš©ì„ ê°ì¶”ë„ë¡ ê·¸ ë‚´ìš©ì„ ë®ì–´ ì¨ ë²„ë¦½ë‹ˆ" #~ "다.\n" #~ "\n" #~ " -D, --device ìž¥ì¹˜ì— ëŒ€í•œ ì—°ì‚°ì„ ê°€ëŠ¥í•˜ê²Œ 합니다(장치는 지워지지 않습니" #~ "다)\n" #~ " -f, --force 필요하다면 쓰기 가능하ë„ë¡ ê¶Œí•œì„ ë°”ê¿‰ë‹ˆë‹¤\n" #~ " -n, --iterations=N 기본값(%d)ëŒ€ì‹ ì— N번 ê²¹ì³ ì”니다\n" #~ " -p, --preserve ê²¹ì³ ì“´ 후 파ì¼ì„ 지우지 않습니다\n" #~ " -s, --size=N 지정한 í¬ê¸°ë§Œí¼ ë®ì–´ì”니다 (k, Mê³¼ ê°™ì€ ì ‘ë¯¸ì‚¬ 사용 ê°€" #~ "능)\n" #~ " -v, --verbose ì§„í–‰ìƒí™© 보기 (-vv를 주면 í™”ë©´ì— ì§„í–‰ìƒí™©ì„ 남ê¹ë‹ˆë‹¤)\n" #~ " -x, --exact 다ìŒì˜ 블럭 í¬ê¸°ë§Œí¼ì„ 채우지 않고 í¬ê¸°ëŒ€ë¡œ 합니다\n" #~ " -z, --zero 지운 ê²ƒì„ ìˆ¨ê¸°ê¸° 위해 최종ì ìœ¼ë¡œ 0으로 ê²¹ì³ì”니다\n" #~ " - 표준 ì¶œë ¥ì„ ì§€ì›ë‹ˆë‹¤ (NOTE: -v와 ì¶©ëŒí•©ë‹ˆë‹¤)\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "여기서 ë” ì¶”ê°€í•  ê²ƒì´ ìžˆë‹¤ë©´ *ê³ ì³ ì£¼ì„¸ìš”*" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "ê° íŒŒì¼ì˜ ì ‘ê·¼/ë³€ê²½ì‹œê°„ì„ í˜„ìž¬ì‹œê°„ìœ¼ë¡œ 바꿉니다.\n" #~ "\n" #~ " -a ì ‘ê·¼ì‹œê°„ë§Œì„ ë°”ê¿‰ë‹ˆë‹¤\n" #~ " -c, --no-create 파ì¼ì„ 만들지 않습니다\n" #~ " -d, --date=STRING STRINGì„ í•´ì„해서 현재시간 대신 사용합니다\n" #~ " -f (무시합니다)\n" #~ " -m ë³€ê²½ì‹œê°„ë§Œì„ ë°”ê¿‰ë‹ˆë‹¤\n" #~ " -r, --reference=FILE ì´ íŒŒì¼ì˜ ì‹œê°„ì„ í˜„ìž¬ì‹œê°„ 대신 사용합니다\n" #~ " -t STAMP 현재시간 대신 [[CC]YY]MMDDhhmm[.ss]ì„ ì‚¬ìš©í•©ë‹ˆ" #~ "다\n" #~ " --time=WORD access -a, atime -a, mtime -m, modify -m, use -" #~ "a\n" #~ " --help ì´ ë„움ë§ì„ 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "-d나 -t 옵션과 êµ¬ì‹ ì¸ìˆ˜ë¡œ íŒë³„ë˜ëŠ” 세가지 시간 형ì‹ì€ ëª¨ë‘ ë‹¤ë¥¸ 것임ì„\n" #~ "주ì˜í•˜ì„¸ìš”.\n" #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "저작권 (C) 2000 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "ìºë¦­í„° 특별 파ì¼ì„ 만들 때ì—는, major와 minor장치 번호를\n" #~ "지정해야 합니다" #~ msgid "group of %s changed to %s\n" #~ msgstr "%sì˜ ê·¸ë£¹ì´ %s으로 바뀌었습니다\n" #, fuzzy #~ msgid "ownership of %s changed to " #~ msgstr "%sì˜ ì†Œìœ ìžëŠ” 다ìŒê³¼ ê°™ì´ ë³€ê²½ë˜ì—ˆìŠµë‹ˆë‹¤: " #, fuzzy #~ msgid "you are not a member of group %s" #~ msgstr "`%s' ê·¸ë£¹ì˜ êµ¬ì„±ì›ì´ 아닙니다" #, fuzzy #~ msgid "cannot make fifo %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot change permissions for %s" #~ msgstr "%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot remove old link to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot create directory `%s'" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot remove `%s'" #~ msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #, fuzzy #~ msgid "specified target, `%s' is not a directory" #~ msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "`%s'와 `%s'는 ê°™ì€ íŒŒì¼ìž…니다" #, fuzzy #~ msgid "cannot backup `%s'" #~ msgstr "`%s'ì—서 ioctlì„ í•  수 없습니다" #~ msgid "cannot un-backup `%s'" #~ msgstr "`%s'ì˜ ë°±ì—…ì„ ë˜ëŒë¦´ 수 없습니다" #, fuzzy #~ msgid "cannot chmod %s" #~ msgstr "%s 디렉토리로 chdirí•  수 없습니다" #, fuzzy #~ msgid "`%s' exists but is not a directory" #~ msgstr "%sì´(ê°€) 존재하지만 디렉토리가 아닙니다" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/Makevars��������������������������������������������������������������������������0000664�0000000�0000000�00000005001�12107175574�012465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \ \ --flag=_:1:pass-c-format\ --flag=N_:1:pass-c-format\ --flag=error:3:c-format --flag=error_at_line:5:c-format\ \ --flag=asnprintf:3:c-format\ --flag=asprintf:2:c-format\ --flag=error:3:c-format\ --flag=error_at_line:5:c-format\ --flag=vasnprintf:3:c-format\ --flag=vasprintf:2:c-format\ --flag=verror:3:c-format\ --flag=verror_at_line:5:c-format\ --flag=wrapf:1:c-format\ --flag=xasprintf:1:c-format\ --flag=xfprintf:2:c-format\ --flag=xprintf:1:c-format\ --from-code=UTF-8\ \ --keyword=proper_name:1,'"This is a proper name. See the gettext manual, section Names."'\ --keyword=proper_name_utf8:1,'"This is a proper name. See the gettext manual, section Names."'\ $${end_of_xgettext_options+} # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = bug-coreutils@gnu.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = LC_TIME �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/be.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001263612�12107204504�011720� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Translation of coreutils-5.97.po to Belarusian # Belarusian translation of coreutils. # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Alexander Nyakhaychyk <nyakhaychyk@gmail.com>, 2002, 2003, 2006. # # msgid "" msgstr "" "Project-Id-Version: coreutils 5.97\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2006-08-16 03:27+0300\n" "Last-Translator: Alexander Nyakhaychyk <nyakhaychyk@gmail.com>\n" "Language-Team: Belarusian <i18n@mova.org>\n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "нерÑчаіÑны довад %s Ð´Ð»Ñ %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "неадназначны довад %s Ð´Ð»Ñ %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "РÑчаіÑÐ½Ñ‹Ñ Ð´Ð¾Ð²Ð°Ð´Ñ‹:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "зачынÑецца файл уводу %s" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "памылка запіÑу" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "уÑталÑваньне правоў Ð´Ð»Ñ %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ ÑÑ–ÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: lib/file-type.c:38 msgid "regular empty file" msgstr "звычайны парожні файл" #: lib/file-type.c:38 msgid "regular file" msgstr "звычайны файл" #: lib/file-type.c:41 msgid "directory" msgstr "Ñ‚Ñчка" #: lib/file-type.c:44 msgid "block special file" msgstr "аÑаблівы кавалкавы файл" #: lib/file-type.c:47 msgid "character special file" msgstr "аÑаблівы знакавы файл" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "знакавае лучыва" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "чарга паведамленьнÑÑž" #: lib/file-type.c:62 msgid "semaphore" msgstr "ÑÑмафор" #: lib/file-type.c:65 msgid "shared memory object" msgstr "абьект з агульнай памÑцьцю" #: lib/file-type.c:68 msgid "typed memory object" msgstr "тыпізаваны аб'ект памÑці" #: lib/file-type.c:70 msgid "weird file" msgstr "лёÑавы файл" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "ГÑта адраÑÐ½Ð°Ñ ÑÑм'Ñ Ð´Ð»Ñ Ð³Ñтага вузла не падтрымліваецца" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "ЧаÑовы збой у вызначÑнні назвы вузла вфаыв выфа " #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "КепÑкае значÑнне Ð´Ð»Ñ ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "ÐÐµÐ²Ñ‹Ð¿Ñ€Ð²Ñ–Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° Ñž вызначÑнні назвы вузла" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family не падтрымліваецца" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Збой Ñ€Ð°Ð·Ð¼ÐµÑ€ÐºÐ°Ð²Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼Ñці" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "ÐдÑутнічае звÑзаны з назвай вузла адраÑ" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° або паÑлуга" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype не падтрымліваецца" #: lib/gai_strerror.c:67 msgid "System error" msgstr "СіÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Запыт ÑкаÑаваны" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "УÑе запыты выкананы" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Спынена з-за Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ñігналу" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: выбар `%s' неадназначны\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: выбар `--%s' не дазвалÑе довад\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: выбар `%c%s' не дазвалÑе довад\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: выбар `%s' патрабуе довад\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: нераÑпазнаны выбар `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: нераÑпазнаны выбар `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: нерÑчаіÑны парамÑтар -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: выбар патрабуе довад -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: выбар `-W %s' неадназначыны\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: выбар `-W %s' не дазвалÑе довад\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: выбар `%s' патрабуе довад\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "немагчыма зьмÑніць правы %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "немагчыма Ñтварыць Ñ‚Ñчку %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "памÑць вычарпана" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "немагчыма запіÑаць цÑперашнюю працоўную Ñ‚Ñчку" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "немагчыма вÑрнуцца Ñž пачатковую працоўную Ñ‚Ñчку" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: збой seek" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: нерÑчаіÑны Ñталы выраз: %s" #: lib/regcomp.c:140 #, fuzzy msgid "Invalid collation character" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ»ÑÑа знака %s" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ»ÑÑа знака %s" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 #, fuzzy msgid "Invalid back reference" msgstr "ÐедзеÑздольны прамежак Ñтаронак %s" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 #, fuzzy msgid "Invalid range end" msgstr "ÐедзеÑздольны прамежак Ñтаронак %s" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "памÑць вычарпана" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: нерÑчаіÑны Ñталы выраз: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "памылка Ñž пошуку звычайнага выразу" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "памылка Ñž ÑупаÑтаўлÑльніку Ñталых выразаў" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "памылка Ñž пошуку звычайнага выразу" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[тТ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[нÐ]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "уÑталÑваньне правоў Ð´Ð»Ñ %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "СіÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "зьмена чаÑу" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: недзеÑздольны Ñыгнал" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: недзеÑздольны Ñыгнал" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "памылка адкрыцьцÑ" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "немагчыма Ñтварыць fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: збой seek" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "нерÑчаіÑны адрÑзак чаÑу %s" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ iconv непрыгодна Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаньнÑ" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "недаÑтупна Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ iconv" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "знак па за дапушчальнымі межамі" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "немагчыма пераўтварыць U+%04X у мÑÑцовы набор знакаў" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "немагчыма пераўтварыць U+%04X у мÑÑцовы набор знакаў: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "нерÑчаіÑны карыÑтальнік" #: lib/userspec.c:107 msgid "invalid group" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð°" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "нерÑчаіÑны карыÑтальнік" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ðўтар: %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ðўтары: %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ðўтары: %s, %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "Ðўтары: %s, %s, %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "Ðўтары: %s, %s, %s, %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ðўтары %s, %s, %s,\n" "%s, %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ðўтары: %s, %s, %s,\n" "%s, %s, %s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðўтары: %s, %s, %s,\n" "%s, %s, %s, %s\n" "Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðўатры: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s Ñ– %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ðўтары:·%s,·%s,·%s,\n" "%s,·%s,·%s,·%s,\n" "%s,·%s Ñ– іншыÑ.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "ПаведамлÑйце пра памылкі на <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "ПаведамлÑйце пра памылкі на <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "памылка адкрыцьцÑ" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ ÑÑ–ÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "немагчыма адчыніць %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "памылка Ð¿Ð°Ñ€Ð°ÑžÐ½Ð°Ð½ÑŒÐ½Ñ Ñ€Ð°Ð´ÐºÑƒ" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "УÑталюйце LC_ALL='C' каб працаваць без пытаньнÑÑž." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Радкі былі параўнаны тут %s Ñ– тут %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "нерÑчаіÑны довад %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "кепÑкі цÑлы довад %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s занадта вÑлікі" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР] [ФÐЙЛ]...\n" " ці: %s [ВЫБÐР] --check [ФÐЙЛ]\n" "Друкуе ці правÑрае %s (%d-бітавую) праверчую Ñуму.\n" "Калі файл незаданы, ці калі замеÑÑ‚ Ñго працÑжнік, чытае Ñтандартны ўвод.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Калі ФÐЙЛ не зададзены альбо зададзены -, чытае Ñтандартны ўвод.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "памылка чытаньнÑ" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "нерÑчаіÑны ÑьцÑг уводу: %s" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "незразумелы памер табулÑцыі: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "непатрÑбны аргумÑнт %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "зачыненьне Ñтандартнага уводу" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "ВыкарыÑтаньне: %s ÐÐЗВР[УСТÐЎКÐ]\n" " ці: %s ВЫБÐР\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Друкуе ÐÐЗВу без уÑÑлÑкіх папÑÑ€Ñдніх чаÑтак(Ñ‚Ñчак).\n" "Калі пазначака, так Ñама вікідае й УСТÐЎКу.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "прапушчаны аргумент" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ФÐЙЛ]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "ЗьвÑзвае ФÐЙЛ(Ñ‹), ці Ñтандартны ўвод Ñа Ñтандартным вывадам.\n" "\n" " -A, --show-all раўназначна -vET\n" " -b, --number-nonblank колькаÑьць непарожніх радкоў вываду\n" " -e раўназначна -vE\n" " -E, --show-ends адлюÑтроўвае $ на праканцы кожнага радка\n" " -n, --number нумараваць уÑе радкі вываду\n" " -s, --squeeze-blank Ð½Ñ Ð±Ð¾Ð»ÑŒÑˆ за адзін парожні радок\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t раўназначна -vT\n" " -T, --show-tabs адлюÑтроўвае знак TAB Ñк ^I\n" " -u (адхілена)\n" " -v, --show-nonprinting выарыÑтоўвае ^ Ñ– M- запіÑ, за выключÑньнем\n" " LFD Ñ– TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Прыклады:\n" " %s f - g Выводзіць зьмеÑÑ‚ f, затым Ñтандартны ўвод, затым зьмеÑÑ‚ файла " "g.\n" " %s Капіюе Ñтандартны ўвод на Ñтандартны вывад.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "немагчыма выканаць ioctl на %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "Ñтандартны вывад" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: файл уводу зьÑўлÑецца й файлам вываду" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "немагчыма зьмÑніць уладальніка %s\n" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "немагчыма атрымаць атрыбуты %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "немагчыма зьмÑніць уладальніка %s на %s\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "немагчыма атрымаць доÑтуп да %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "немагчыма прачытаць Ñ‚Ñчку %s" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "зьмÑненьне правоў %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "збой fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "памылка закрыцьцÑ" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... РЭЖЫМ[,РЭЖЫМ]... ФÐЙЛ...\n" " ці: %s [ВЫБÐР]... Ð’ÐСЬМЯРЫЧÐЫ_РЭЖЫМ ФÐЙЛ...\n" " ці: %s [ВЫБÐР]... --reference=RФÐЙЛ ФÐЙЛ...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet не адлюÑтроўваць аÑÐ½Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– аб " "памылках\n" " --reference=RФÐЙЛ выкарыÑтоўвае ўладальніка й групу RФÐЙЛу замеÑÑ‚\n" " зададзеных значÑньнÑÑž УЛÐДÐЛЬÐІК:ГРУПÐ\n" " -R, --recursive апрацоўвае файлы й Ñ‚Ñчкі Ñ€ÑкурÑыўна\n" " -v, --verbose выводзіць праверку Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° апрацаванага файлу\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference патрабуе альо -H альбо -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h патрабуе -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "прапушчаны аргумент паÑÐ»Ñ %s" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "нерÑчаіÑны Ñ€Ñжым: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "немагчыма атрымаць атрыбуты %s" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð° %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... ГРУПРФÐЙЛ...\n" " or: %s [ВЫБÐР]... --reference=RФÐЙЛ ФÐЙЛ...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "атрыманьне новых атрыбутаў %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "ні знакавае лучува %s ні файл, на Ñкі Ñно ÑпаÑылаецца, не былі зьменены\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "Ñ€Ñжым %s зьменены на %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "немагчыма зьмÑніць Ñ€Ñжым %s на %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "Ñ€Ñжым %s утрыманы Ñк %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "немагчыма Ñтварыць знакавае лучыва %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "зьмÑненьне правоў %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: Ð½Ð¾Ð²Ñ‹Ñ Ð¿Ñ€Ð°Ð²Ñ‹: %s, замеÑÑ‚ %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... РЭЖЫМ[,РЭЖЫМ]... ФÐЙЛ...\n" " ці: %s [ВЫБÐР]... Ð’ÐСЬМЯРЫЧÐЫ_РЭЖЫМ ФÐЙЛ...\n" " ці: %s [ВЫБÐР]... --reference=RФÐЙЛ ФÐЙЛ...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet не адлюÑтроўваць аÑÐ½Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– аб " "памылках\n" " --reference=RФÐЙЛ выкарыÑтоўвае ўладальніка й групу RФÐЙЛу замеÑÑ‚\n" " зададзеных значÑньнÑÑž УЛÐДÐЛЬÐІК:ГРУПÐ\n" " -R, --recursive апрацоўвае файлы й Ñ‚Ñчкі Ñ€ÑкурÑыўна\n" " -v, --verbose выводзіць праверку Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° апрацаванага файлу\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Кожны РЭЖЫМ Ñкладаецца з \"[ugoa]*([-+=]([rwxXst]*|[ugo]))+\".\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "немагчыма ÑумÑÑьціць Ñ€Ñжым Ñ– парамÑтры --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "нерÑчаіÑны Ñ€Ñжым: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "зьменены уладальнік %s на %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "зьменена група %s на %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "зьмены ўладальніка %s не было\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "немагчыма зьмÑніць уладальніка %s на %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "немагчыма зьмÑніць групу %s на %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "немагчыма зьмÑніць уладальніка %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "немагчыма зьмÑніць уладальніка %s на %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "немагчыма зьмÑніць групу %s на %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "уладальнік %s захаваны Ñк %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "група %s захавана Ñк %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "у %s заÑтаўÑÑ Ñ€Ð°Ð½ÐµÐ¹ÑˆÑ‹ ўладальнік\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "немагчыма знайÑьці аб'ект ÑпаÑылкі %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "зьмена ўладальніка %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "зьмена групы %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [УЛÐДÐЛЬÐІК][:[ГРУПÐ]] ФÐЙЛ...\n" " альбо: %s [ПÐРÐМЭТÐР]... --reference=RFILE ФÐЙЛ...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=БЯГУЧЫ_ЎЛÐДÐЛЬÐІК:БЯГУЧÐЯ_ГРУПÐ\n" " зьмÑнÑе ўладальніка й/ці групу кожнага файла " "толькі\n" " калі Ñго бÑгучы ўладальнік Ñ–/ці група Ñупадаюць з\n" " зададзенымі тутака. Як група так Ñ– ўладальнік " "могуць\n" " быць не зададзены, у гÑтым выпадку Ñупадзеньне " "гÑтага\n" " атрыбуту неабавÑзкова.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Калі ўладальнік прапушчаны, ён не зьмÑнÑецца. Калі група прапушчана, Ñна\n" "не зьмÑнÑецца, але ж зьмÑнÑецца на Ñ€ÑгіÑтрацыйную групу калі зададзен " "толькі\n" "уладальнік з `:'. УЛÐДÐЛЬÐІК Ñ– ГРУПРмогуць быць зададзены Ñк лічбамі, так " "Ñ–\n" "мÑнушкамі Ð´Ð»Ñ Ð»Ñ–Ñ‡Ð±Ð°Ð²Ñ‹Ñ… значÑньнÑÑž.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Прыклады:\n" " %s root /u ЗьмÑнÑе ўладальніка /u на \"root\".\n" " %s root:staff /u Тое Ñама, але ÑÑˆÑ‡Ñ Ð·ÑŒÐ¼ÑнÑе групу на \"staff\".\n" " %s -hR root /u ЗьмÑнÑе ўладальніка /u Ñ– Ñубфайлаў на \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð° %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð° %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "збой stat %s" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ÐОВЫ_ROOT [ЗÐГÐД...]\n" " ці: %s ВЫБÐР\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "ЗапуÑкае ЗÐГÐД з новай каранёвай Ñ‚Ñчкай.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Калі не атрыман загад, выконвае ``${SHELL} -i'' (дапомна: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "немагчыма зьмÑніць каранёвую Ñ‚Ñчку на %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "немачыма перайÑьці да каранёвае Ñ‚Ñчкі" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "збой stat %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "збой stat %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "немагчыма выканаць загад %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: файл занадта вÑлікі" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "ВыкарыÑтаньне: %s [ФÐЙЛ]...\n" " ці: %s [ВЫБÐР]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Друкуе CRC падлік Ñ– колькаÑьць байтаў кожнага ФÐЙЛу.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... ФÐЙЛ1 ФÐЙЛ2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "Парановае ÑƒÐ¿Ð°Ñ€Ð°Ð´ÐºÐ°Ð²Ð°Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ ЛЕВЫ_ФÐЙЛ Ñ– ПРÐВЫ_ФÐЙЛ радок за радком.\n" "\n" " -1 не адлюÑтроўваць радкі, ÑÐºÑ–Ñ Ñ‘Ñьць толькі Ñž левым файле\n" " -2 не адлюÑтроўваць радкі, ÑÐºÑ–Ñ Ñ‘Ñьць толькі Ñž правым файле\n" " -3 неадлюÑтроўваць радкі, ÑÐºÑ–Ñ Ñ‘Ñьць у абодвух файлах\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "немагчыма зрабіць lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "памылка запіÑу %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s: немагчыма выдаліць" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "памылка запіÑу" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "немагчыма адчыніць %s" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "уÑталÑваньне правоў Ð´Ð»Ñ %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "памылка пры захаваньні ўладальніку Ð´Ð»Ñ %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "немагчыма адшукаць файл %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "збой пры захаваньні аўтарÑтва Ð´Ð»Ñ %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "немагыма адчыніць %s Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "немагчыма выканаць fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "файл %s мінаецца, таму што ён быў заменены пад Ñ‡Ð°Ñ ÐºÐ°Ð¿Ñ–ÑваньнÑ" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "немагчыма зьмÑніць групу %s на %s\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "немагчыма выдаліць %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "выдален %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "немагчыма Ñтварыць звычайны файл %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "немагчыма адчыніць %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "захоўвае Ñ‡Ð°Ñ Ð´Ð»Ñ %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "немагчыма адчыніць %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: перазапіÑаць %s, Ñ€Ñжым перазапіÑу %04lo? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: перазапіÑаць %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (запаÑны: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "немагчыма Ñтварыць жорÑткае лучыва %s на %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "немагчыма зрабіць stat %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "мінаецца Ñ‚Ñчка %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "увага: зыходны файл %s зададзены больш за адзін раз" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s Ñ– %s адзін Ñ– той жа ж файл" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "немагчыма перазапіÑаць Ð½Ñ Ñ‚Ñчку %s Ñ‚Ñчкай %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "толькі што Ñтвораны %s з %s Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ перазапіÑаны" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "немагчыма перазапіÑаць Ñ‚Ñчку %s Ð½Ñ Ñ‚Ñчкай" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "немагчыма перамÑÑьціць Ñ‚Ñчку Ñž Ð½Ñ Ñ‚Ñчку: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "ÑтварÑньне запаÑной копіі %s зьнішчыць крыніцу; %s не перанеÑен" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "ÑтварÑньне запаÑной копіі %s зьнішчыць крыніцу; %s не ÑкапіÑван" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "немагчыма Ñтварыць запаÑную копію %s" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "толькі што Ñтвораны %s з %s Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ перазапіÑаны" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "немагчыма ÑкапіÑваць Ñ‚Ñчку, %s, Ñаму Ñž ÑÑбе, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "жорÑткае лучыва %s на Ñ‚Ñчку %s Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ Ñтворана" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "немагчыма перамÑÑьціць %s ва ўлаÑную падтÑчку, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "немагчыма перамÑÑьціць %s у %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "збой міжпрыладнага перамÑшчÑньнÑ: %s у %s; немагчыма выдаліць мÑту" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "немагчыма атрымаць атрыбуты %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "немагчыма ÑкапіÑваць цыклічнае знакавае лучыва %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: можа Ñтварыць адноÑнае знакавае лучыва толькі Ñž бÑгучае Ñ‚Ñчцы" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "немагчыма Ñтварыць знакавае лучыва %s на %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "немагчыма Ñтварыць fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "немагчыма Ñтварыць аÑаблівы файл %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "немагчыма прачытаць знакавае лучыва %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "немагчыма Ñтварыць знакавае лучыва %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s мае невÑдомы від файлу" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "немагчыма ваÑтанавіць %s з запаÑное копіі" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (ваÑтанаўленьне)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐДКУЛЬ КУДЫ\n" " ці: %s [ВЫБÐР]... ÐДКУЛЬ... ТЭЧКÐ\n" " ці: %s [ВЫБÐР]... --target-directory=ТЭЧКРÐДКУЛЬ...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Капуе КРЫÐІЦу Ñž ПРЫЗÐÐЧЭÐЬÐЕ; ці ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ ÐšÐ Ð«ÐІЦ(Ñ‹) у ТЭЧКу.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive тое што й -dpR\n" " --backup[=CONTROL] Ñтварае запаÑную копію кожнага Ñ–Ñнуючага " "файлу\n" " прызначÑньнÑ\n" " -b Ñк --backup але не прымае довад\n" " --copy-contents капуе зьмеÑÑ‚ аÑабіÑтых файлаў, у выпадку\n" " Ñ€ÑкурÑыі\n" " -d тое ж, што й --no-dereference --" "preserve=link\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " --no-dereference ніколі Ð½Ñ Ñледаваць за знакавымі лучывамі\n" " -f, --force калі Ñ–Ñнуючы файл прызначÑÐ½ÑŒÐ½Ñ Ð½Ñ Ð¼Ð¾Ð¶Ð° " "быць\n" " адчынены, выдаліць Ñго й паÑпрабаваць " "нанава\n" " -i, --interactive паведаміць перад перазапіÑам\n" " -H Ñ–Ñьці за знакавымі лучывамі Ñž загадным радку\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 #, fuzzy msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " --no-dereference ніколі Ð½Ñ Ñледаваць за знакавымі лучывамі\n" " -f, --force калі Ñ–Ñнуючы файл прызначÑÐ½ÑŒÐ½Ñ Ð½Ñ Ð¼Ð¾Ð¶Ð° " "быць\n" " адчынены, выдаліць Ñго й паÑпрабаваць " "нанава\n" " -i, --interactive паведаміць перад перазапіÑам\n" " -H Ñ–Ñьці за знакавымі лучывамі Ñž загадным радку\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -l, --link злучае файлы замеÑÑ‚ капіÑваньнÑ\n" " -L, --dereference заўÑёды йÑьці за знакавымі лучывамі\n" " -p Ñк Ñ– --preserve=mode,ownership,timestamps\n" " --preserve[=СЬПІС_ÐТРЫБУТÐÐŽ]\n" " захоўвае Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ñ‹ (дапомныÑ:\n" " mode,ownership,timestamps), калі магчыма,\n" " Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ñ‹: links, all\n" #: src/cp.c:203 #, fuzzy msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=СЬПІС_ÐТРЫБУТÐÐŽ\n" " не захоўваць Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ñ‹\n" " --parents дадаць зыходны шлÑÑ… да ТЭЧКі\n" " -P Ñк Ñ– `--no-dereference'\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive Ñ€ÑкурÑыўна капіÑваць Ñ‚Ñчкі\n" " --remove-destination выдаліць кожны Ñ–Ñнуючы файл прызначÑньнÑ\n" " перад тым Ñк адчыніць Ñго (у разрÑз з --" "force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --reply={yes,no,query} вызначае Ñк апрацоўваць паведамленьне пра\n" " Ñ–Ñнуючы файл прызначÑньнÑ\n" " --sparse=WHEN кантралюе ÑтварÑньне разрÑджаных файлаў\n" " --strip-trailing-slashes выдалÑе ÑžÑе цÑгнучыеÑÑ ÑкоÑÑ‹ з кожнага " "доваду\n" " КРЫÐІЦы\n" #: src/cp.c:218 #, fuzzy msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link Ñтварае Ð·Ð½Ð°ÐºÐ°Ð²Ñ‹Ñ Ð»ÑƒÑ‡Ñ‹Ð²Ñ‹ замеÑÑ‚ капіÑваньнÑ\n" " -S, --suffix=КÐÐЧÐТÐК перазапіÑвае звычайны канчатак запаÑу\n" " --target-directory=ТЭЧКРперамÑшчае ÑžÑе довады КРЫÐІЦы Ñž ТЭЧКу\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update капуе толькі калі файл КРЫÐІЦРнавешы за " "файл\n" " прызначÑньнÑ, ці файл прызначÑньне " "прапушчаны\n" " -v, --verbose пведамлÑе што ўжо зроблена\n" " -x, --one-file-system не пакідаць межы гÑтае файлавае ÑÑ‹ÑÑ‚Ñмы\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" " Дапомна, \"sparse\" файлы з КРЫÐІЦы раÑпазнаецца непрадуманай ÑўрыÑтыкай " "Ñ–\n" "ÑуадноÑна гÑтаму, Ñтвараецца \"sparse\" файл ПРЫЗÐÐЧЭÐЬÐÑ. ГÑтак ж " "паводзіць\n" "ÑÑбе выбар --sparse=auto. Заданьне --sparse=always прымушае Ñтвараць файл\n" "ПРЫЗÐÐЧЭÐЬÐÑ Ð·Ð°ÑžÑёды, нават калі КРЫÐІЦРўтрымлівае за шмат " "паÑлÑдоўнаÑьцей.\n" "нулÑвых байтаў. ВыкарыÑтоўвайце--sparse=never Ð´Ð»Ñ Ð·Ð°Ð±Ð°Ñ€Ð¾Ð½Ñ‹ ÑтварÑньнÑ\n" "\"sparse\" файлаў.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" " Канчаткам запаÑных файлаў зьÑўлÑецца `~', калі не пераназначаецца\n" "выбарам --suffix ці пераменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ SIMPLE_BACKUP_SUFFIX.\n" "ШлÑÑ… кантралÑÐ²Ð°Ð½ÑŒÐ½Ñ Ð²ÑÑ€Ñый можа быць абраны выбарам --backup, ці праз\n" "пераменную аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ VERSION_CONTROL. ÐœÐ°Ð³Ñ‡Ñ‹Ð¼Ð°Ñ Ð·Ð½Ð°Ñ‡Ñньні:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ніколі не запаÑіць (нават калі зададзены --backup)\n" " numbered, t Ñтвараць Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ð·Ð°Ð¿Ð°ÑÑ‹\n" " existing, nil нумараваць, калі йÑнуе нумараваны, інакш не нумараваць\n" " simple, never заўÑёды Ñтвараць ненумараваныÑ\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" " Загад cp запаÑіць КРЫÐІЦы калі зададзены выбары -f Ñ– -b, Ñ– калі\n" "КРЫÐІЦРй ПРЫЗÐÐЧЭÐЬÐЕ адна й Ñ‚Ð°Ñ Ð¶ назва Ñ–Ñнуючага звычанага файлу.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "збой пры захаваньні чаÑу Ð´Ð»Ñ %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "збой пры захаваньні правоў Ð´Ð»Ñ %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "немагчыма Ñтварыць Ñ‚Ñчку %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s Ñ–Ñнуе, але гÑта Ð½Ñ Ñ‚Ñчка" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "немагчыма адчыніць %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "прапушчаны файлавы довад" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "прапушчаны файл прызначÑÐ½ÑŒÐ½Ñ Ð¿Ð°ÑÑŒÐ»Ñ %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "Ðемагчыма ўжыць разам --target-directory Ñ– --no-target-directory" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "Ð·Ð³Ð°Ð´Ð°Ð½Ð°Ñ Ð¼Ñта %s не з'ÑўлÑецца Ñ‚Ñчкай" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "калі зададзены --parents, прызначÑньне муÑіць быць дырÑкторыÑй" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "зададзены некалькі дырÑкторыÑÑž прызначÑньнÑ" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "немагчыма Ñтварыць ні жорÑткае, ні знакавае лучыва" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "від запаÑной копіі" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "увод недаÑтупны" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: нумар радку за дапушчальнымі межамі" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: нумар радка па-за дазволенымі межамі" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " на паўтарÑньні %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: Ñупадзеньне Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ð°" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "памылка Ñž пошуку звычайнага выразу" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "памылка запіÑу Ð´Ð»Ñ %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: паÑÑŒÐ»Ñ Ð¿Ð°Ð´Ð·ÑлÑльніка чакаецца цÑлы лік" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: `}' патрабуецца Ð´Ð»Ñ Ð¿Ð°Ð´Ð»Ñ–ÐºÑƒ паўтораў" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: цÑлы патрабуецца паміж `{' Ñ– `}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: прапушчаны падзÑлÑльнік Ð·Ð°Ñ‡Ñ‹Ð½ÐµÐ½ÑŒÐ½Ñ `%c'" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: нерÑчаіÑны Ñталы выраз: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: нерÑчаіÑны прыклад" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: нумар радку павінен быць большым за нуль." #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "нумар радка %s меншы за нумар папÑÑ€ÑднÑга радка, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "Увага! Ðумар радка %s Ñупадае з нумарам папÑÑ€ÑднÑга радка." #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "прапушчан вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "нерÑчаіÑны вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "нерÑчаіÑны вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¿Ð¾Ð»Ñ \"%s\"" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "за шмат ва ÑžÑтаўцы %% вызначальнікаў пераўтварÑньнÑ" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "ва ÑžÑтаўцы прапушчан %% вызначальнік пераўтварÑньнÑ" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: нерÑчаіÑны нумар" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ УЗОР..\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Выводзіць кавалкі ФÐЙЛа Ð¿Ð°Ð´Ð·ÐµÐ»ÐµÐ½Ñ‹Ñ Ð¿Ð° ЎЗОРу Ñž файлы `xx01', `xx02', ...,\n" "такÑама выводзіць на Ñтандартны вывад колькаÑьць байтаў у кожным кавалку.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ФÐРМÐТ ВыкарыÑтоўваць sprintf ФÐРМÐТ замеÑÑ‚ %d\n" " -f, --prefix=ПРЫСТÐЎКРВыкарыÑтоўваць ПРЫСТÐЎКу замеÑÑ‚ `xx'\n" " -k, --keep-files Ðе выдалÑць файлы вываду пры памылках\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=РÐЗРÐДЫ ВыкарыÑтоўваць зададзеную колькаÑьць " "разрадаў,\n" " замеÑÑ‚ звычайных двух.\n" " -s, --quiet, --silent Ðе друкаваць падлікі памераў файлаў вываду.\n" " -z, --elide-empty-files ВыдалÑць Ð¿Ð°Ñ€Ð¾Ð¶Ð½Ñ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду.\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Чытае Ñтандартны ўвод, калі замеÑÑ‚ ФÐЙЛа -. Кожны ЎЗОР можа быць:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ФÐЙЛ]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" " Друкуе Ð°Ð±Ñ€Ð°Ð½Ñ‹Ñ Ñ‡Ð°Ñкі радкоў з кожнага ФÐЙЛу Ñž Ñтандартны вывад.\n" "\n" #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=СЬПІС Выводзіць тольі гÑÑ‚Ñ‹Ñ Ð±Ð°Ð¹Ñ‚Ñ‹.\n" " -c, --characters=СЬПІС Выводзіць толькі гÑÑ‚Ñ‹Ñ Ð·Ð½Ð°ÐºÑ–.\n" " -d, --delimiter=ПÐДЗЯЛЯЛЬÐІК\n" " ВыкарыÑтоўваць адмыÑловы падзÑлÑльнік длÑ\n" " Ñ€Ð°Ð·Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð¿Ð°Ð»Ñ‘Ñž, замеÑÑ‚ TAB.\n" #: src/cut.c:204 #, fuzzy msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=СЬПІС Выводзіць толькі гÑÑ‚Ñ‹Ñ Ð¿Ð°Ð»Ñ–; так Ñама друкаваць\n" " любы радок, Ñкі не зьмÑшчае падзÑлÑльнік, за\n" " вынÑткам тых выпадкаў, калі заданы выбар -s.\n" " -n (незаўважаецца)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited Ðе друкуе радкі без падзÑлÑльніка.\n" " --output-delimiter=РÐДОК\n" " ВыкарыÑтоўвае радок Ñк падзÑлÑльнік вываду;\n" " дапомна выкарыÑтоўваецца падзÑлÑльнік уводу.\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "нерÑчаіÑны байт ці ÑÑŒÐ¿Ñ–Ñ Ð¿Ð¾Ð»Ñ" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "ÐедзеÑздольны прамежак Ñтаронак %s" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "байт зруху %s занадта вÑлікі" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "нумар Ð¿Ð¾Ð»Ñ %s занадта вÑлікі" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "толькі адзін від ÑьпіÑу можа быць зададзены" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "падзÑлÑльнік паінен быць адным знакам" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "вы павінны пазначыць ÑÑŒÐ¿Ñ–Ñ Ð±Ð°Ð¹Ñ‚Ð°Ñž, знакаў ці палёў" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "падзÑлÑльнік уводу можа быць зададзены толькі Ð´Ð»Ñ Ð´Ð·ÐµÑньнÑÑž над палÑмі" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "падаўленьне непадзеленых радкоў мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– длÑ\n" "\tдзеÑньнÑÑž над палÑмі" #: src/cut.c:870 msgid "missing list of fields" msgstr "прапушчан ÑÑŒÐ¿Ñ–Ñ Ð¿Ð°Ð»Ñ‘Ñž" #: src/cut.c:872 msgid "missing list of positions" msgstr "прапушчан ÑÑŒÐ¿Ñ–Ñ Ñтановішчаў" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... [+ФÐРМÐТ]\n" " ці: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " -r, --reference=ФÐЙЛ ÐдлюÑтроўвае Ñ‡Ð°Ñ Ð°Ð¿Ð¾ÑˆÐ½Ñга зьмÑÐ½ÐµÐ½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð°.\n" " -R, --rfc-2822 Выдае радок чаÑу ўзгодна з RFC-2822.\n" " --rfc-3339=TIMESPEC друкуе дату й Ñ‡Ð°Ñ Ñƒ фармаце RFC 3339.\n" " TIMESPEC='date', 'seconds' альо 'ns' длÑ\n" " даты й чаÑу, каб вызначыць дакладнаÑьць.\n" " -s, --set=РÐДОК УÑталёвае чаÑ, Ñкі апіÑаны радком.\n" " -u, --utc, --universal Друкуе ЎнівÑÑ€Ñальны Ñкаардынаваны чаÑ.\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 #, fuzzy msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A ÐŸÐ¾ÑžÐ½Ð°Ñ Ð¼ÑÑÑ†Ð¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð° днÑ; Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ Ð´Ð°ÑžÐ¶Ñ‹Ð½Ñ (ПÑнÑдзелак...Серада).\n" " %b Ð¡ÐºÐ°Ñ€Ð¾Ñ‡Ð°Ð½Ð°Ñ Ð¼ÑÑÑ†Ð¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð° меÑÑца (Стд..Снж).\n" " %B ÐŸÐ¾ÑžÐ½Ð°Ñ Ð¼ÑÑÑ†Ð¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð° меÑÑца пераменнае даўжыні (Студзень..." "Сьнежань).\n" " %c МÑÑÑ†Ð¾Ð²Ñ‹Ñ Ð´Ð°Ñ‚Ð° й Ñ‡Ð°Ñ (Чцв Ð›Ñ–Ñ 18 06:06:06 MSK 1982).\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Стагоддзе (год, падзелены на 100 Ñ– абрÑзаны да цÑлага) [00-99].\n" " %d Дзень меÑÑца (01..31).\n" " %D Дата (мм/дздз/гг).\n" " %e Дзень меÑÑца, бÑз 0 ( 1..31).\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F Ð¿Ð¾ÑžÐ½Ð°Ñ Ð´Ð°Ñ‚Ð°; тое, што й %Y-%m-%d.\n" " %g дзвюх лічбавы год нумара Ñ‚Ñ‹Ð´Ð½Ñ Ñž ISO (гл. %G).\n" " %G год нумара Ñ‚Ñ‹Ð´Ð½Ñ Ñž ISO (гл. %V); звычайна ідзе разам з %V.\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h Ñк Ñ– %b\n" " %H гадзіна (00..23)\n" " %I гадзіна (01..12)\n" " %j дзень году (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k гадзіна ( 0..23)\n" " %l гадзіна ( 1..12)\n" " %m меÑÑц (01..12)\n" " %M хвіліна (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n новы радок\n" " %N нанаÑÑкунды (000000000..999999999)\n" " %p мÑÑцовы Ñквівалент паказчык AM ці PM; нічога калі Ñго нÑма\n" " %P Ñк %p, але малымі літарамі\n" " %r мÑÑцовы Ñ‡Ð°Ñ Ñƒ 12-гадзінным фармаце (напрыклад 11:11:04 PM)\n" " %R 24-гадзінны чаÑ; Ñк Ñ– %H:%M\n" " %s колькаÑьць ÑÑкундаў з 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 #, fuzzy msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Ðумар Ñ‚Ñ‹Ð´Ð½Ñ Ð³Ð¾Ð´Ð°, дзе першы дзень Ñ‚Ñ‹Ð´Ð½Ñ - нÑÐ´Ð·ÐµÐ»Ñ (00..53).\n" " %V Ðумар Ñ‚Ñ‹Ð´Ð½Ñ Ð³Ð¾Ð´Ð°, дзе першы дзень Ñ‚Ñ‹Ð´Ð½Ñ - панÑдзелак (01..53).\n" " %w Дзень Ñ‚Ñ‹Ð´Ð½Ñ (0..6); дзе 0 - гÑта нÑдзелÑ.\n" " %W Ðумар Ñ‚Ñ‹Ð´Ð½Ñ Ð³Ð¾Ð´Ð°, дзе першы дзень Ñ‚Ñ‹Ð´Ð½Ñ - панÑдзелак (00..53).\n" #: src/date.c:215 #, fuzzy msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x мÑÑцовы выглÑд даты (мм/дздз/гг)\n" " %X мÑÑцовы выглÑд чаÑу (%Г:%Хв:%С)\n" " %y дзьве Ð°Ð¿Ð¾ÑˆÐ½Ñ–Ñ Ð»Ñ–Ñ‡Ð±Ñ‹ году (00..99)\n" " %Y год (1970...)\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "Ñтандартны ўвод" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ð°Ñ‚Ð° %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "зададзены некалькі фарматаў вываду" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "выбары Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½ÑŒÐ½Ñ Ð¹ друку чаÑу нельга ўжываць разам" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "немагчыма ÑžÑталÑваць дату" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Ñ‡Ð°Ñ %s за дазволенымі межамі" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s [ÐПЭРÐÐД]...\n" " або: %s ПÐРÐМЭТÐР\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" " Капуе файл, пераўтварае й фарматуе згодна з выбарамі.\n" "\n" " bs=БÐЙТÐÐŽ УÑталÑваць Ñ– ibs Ñ– obs у заданую колькаÑьць байтаў.\n" " cbs=БÐЙТÐÐŽ Пераўтвараць заданую колькаÑьць байтаў за раз.\n" " conv=КЛЮЧÐВЫЯ_СЛОВЫ\n" " Пераўтварае файл згодна Ñа ÑьпіÑам ключавых Ñловаў,\n" " разьмежаваных коÑкамі.\n" " count=БЛÐКÐÐŽ КапіÑваць толькі заданую колькаÑьць блёкаў уводу.\n" " ibs=БÐЙТÐÐŽ Чатаць заданую колькаÑьць байтаў за раз.\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=ФÐЙЛ Чытаць з файлу замеÑÑ‚ Ñтандартнага ўводу.\n" " obs=БÐЙТÐÐŽ ПіÑаць заданую колькаÑьць байтаў за раз.\n" " of=ФÐЙЛ ПіÑаць у файл замеÑÑ‚ Ñтандартнага вываду.\n" " seek=БЛÐКÐÐŽ Ðбмінуць заданую колькаÑьць блёкаў ад пачатку Ñž файле " "вываду.\n" " skip=БЛÐКÐÐŽ Ðбмінуць заданую колькаÑьць блёкаў ад пачатку Ñž файле " "ўводу.\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Блёкі й байты могуць Ñ–Ñьці з ÑуфікÑамі множаньнÑ:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, Ñ– тое ж Ð´Ð»Ñ T, P, E, Z, Y.\n" "Кожнае ключавое Ñлова можа быць:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii З EBCDIC у ASCII.\n" " ebcdic З ASCII Ñž EBCDIC.\n" " ibm З ASCII Ñž альтÑрнатыўнае EBCDIC.\n" " block ЗамÑнÑць запіÑÑ‹ з канцавымі знакамі новага радка на прагалы.\n" " unblock ЗамÑнÑць ÐºÐ°Ð½Ñ†Ð°Ð²Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ на Ð½Ð¾Ð²Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ–.\n" " lcase ЗьмÑнÑць вÑÐ»Ñ–ÐºÑ–Ñ Ð»Ñ–Ñ‚Ð°Ñ€Ñ‹ на маленькіÑ.\n" " ucase ЗьмÑніць Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÑ–Ñ Ð»Ñ–Ñ‚Ð°Ñ€Ñ‹ на вÑлікіÑ.\n" " swab МÑнÑць меÑцамі кожную пару байтаў уводу.\n" " sync Дадаваць да кожнага блёку ўводу нулі да памеру ibs; калі\n" " выкарыÑтоўваецца разам з block ці unblock, дадаваць прагалы,\n" " замеÑÑ‚ нулёў.\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc Ðе абразаць файл вываду.\n" " noerror ПрацÑгваць працу паÑÑŒÐ»Ñ Ð¿Ð°Ð¼Ñ‹Ð»Ð°Ðº чытаньнÑ.\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr " text выкарыÑтоўваць Ñ‚ÑкÑтавы ўвод/вывад Ð´Ð»Ñ Ð´Ð°Ð½Ñ‹Ñ…\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: Ð·Ð°Ð´Ð°Ð½Ð°Ñ Ñ‚Ñчка мÑты не зьÑўлÑецца Ñ‚Ñчкай" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text выкарыÑтоўваць Ñ‚ÑкÑтавы ўвод/вывад Ð´Ð»Ñ Ð´Ð°Ð½Ñ‹Ñ…\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> запіÑаў уайшло\n" "%<PRIuMAX>+%<PRIuMAX> запіÑаў выйшла\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> абрÑзаны запіÑ\n" msgstr[1] "%<PRIuMAX> абрÑзаных запіÑÑ‹\n" msgstr[2] "%<PRIuMAX> абрÑзаных запіÑаў\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> байт (%s) ÑкапіÑваны" msgstr[1] "%<PRIuMAX> байты (%s) ÑкапіÑвана" msgstr[2] "%<PRIuMAX> байтаў (%s) ÑкапіÑвана" #: src/dd.c:720 msgid "Infinity B" msgstr "БÑÑконцаÑьць" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ", %g ÑÑкунда , %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "зачынÑецца файл уводу %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "закрываецца файл вываду %s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "збой chdir у %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Ð·Ð°Ð¿Ñ–Ñ Ñƒ %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "нераÑпазнаны апÑранд %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "нерÑчаіÑнае ператварÑньне: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "нерÑчаіÑны ÑьцÑг уводу: %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "нерÑчаіÑны ÑьцÑг вываду: %s" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "нерÑчаіÑны ÑьцÑг ÑтатуÑу: %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "нерÑчаіÑны нумар %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "немагчыма абмінуць разам карыÑтальніка й групу" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "немагчыма параўнаць назвы файлаў %s Ñ– %s" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "немагчыма параўнаць назвы файлаў %s Ñ– %s" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: немагчыма пераÑунуць паказальнік" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: немагчыма пераÑунуць паказальнік" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "перапаўненьне зруху цÑгам Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "увага: зрух файла пашкоджаны паÑÑŒÐ»Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÑ– чытаньнÑ" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "немагчыма абмінуць памылку Ñдра" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "выÑтаўленьне ÑьцÑгоў Ð´Ð»Ñ %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: немагчыма перамÑÑьціцца да адноÑнага зруху %s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "даÑÑгнуты %s байтаў у файле вываду %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "збой fdatasync Ð´Ð»Ñ %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "збой fsync Ð´Ð»Ñ %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "немагчыма адчыніць %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "даÑÑгнуты %s байтаў у файле вываду %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "збой chdir у %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Ф-Ñ ÑÑ‹ÑÑ‚Ñма" #: src/df.c:175 msgid "Type" msgstr "Тып" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "блёкаў" #: src/df.c:181 msgid "Used" msgstr "Ужыта" #: src/df.c:184 msgid "Available" msgstr "Вольна" #: src/df.c:187 msgid "Use%" msgstr "У-а%" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "Пункт мантаваньнÑ" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "увага: зыходны файл %s зададзены больш за адзін раз" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Памер" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Вольна" #: src/df.c:474 msgid "Capacity" msgstr "ÐміÑÑ‚." #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" " Паказывае зьвеÑткі пра файлавую ÑÑ‹ÑÑ‚Ñму, на Ñкой знаходзіцца файл, " "альбо,\n" "дапомна, пра ÑžÑе Ñ„Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ ÑÑ‹ÑÑ‚Ñмы.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all уключыць Ñ„Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ ÑÑ‹ÑÑ‚Ñмы ÑÐºÑ–Ñ Ð¼Ð°ÑŽÑ†ÑŒ 0 блёкаў\n" " -B, --block-size=N выкарыÑтоўваць блёкі памерам N байтаў\n" " -h, --human-readable друкаваць памеры Ñž чалавека-чытальным фармаце\n" " (Ñк напрыклад, 1Кб, 234Мб, 2Гб)\n" " -H, --si гл. вышÑй, але выкарыÑтоўваць Ñтупені 1000 замеÑÑ‚ " "1024\n" #: src/df.c:1227 #, fuzzy msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes выводзіць зьвеÑткі пра вузлы, замеÑÑ‚ блёкаў\n" " -k раўназначна --block-size=1K\n" " -l, --local абмежаваць вывад толькі мÑÑцовымі файлавымі " "ÑÑ‹ÑÑ‚Ñмамі\n" " --no-sync не выклÑкаць sync перад атрыманьнем зьвеÑтак " "(дапомна)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability выкарыÑтоўваць POSIX фармат вывадц\n" " --sync выклÑкаць sync перад атрыманьнем зьвеÑтак\n" " -t, --type=ТЫП абмежаваць вывад файлавымі ÑÑ‹ÑÑ‚Ñмамі заданага тыпу\n" " -T, --print-type друкаваць тып файлавае ÑÑ‹ÑÑ‚Ñмы\n" " -x, --exclude-type=ТЫП\n" " абмежаваць вывад файлавымі ÑÑ‹ÑÑ‚Ñмамі Ð½Ñ Ð³Ñтага тыпу\n" " -v (незаўважаецца)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Увага: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ‹ÑÑ‚Ñма тыпу %s адначаÑова вылучана й выключана" #: src/df.c:1500 msgid "Warning: " msgstr "Увага: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%s немагчыма прачытаць табліцу прымантаваных файлавых ÑÑ‹ÑÑ‚Ñм" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [ФÐЙЛ]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: нерÑчаіÑны радок; прапушчана Ð´Ñ€ÑƒÐ³Ð°Ñ Ñ‡Ð°Ñтка" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: нераÑпазнанае ключавое Ñлова %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<унутраны>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "Ð¤Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ Ð°Ð¿Ñранбы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць аб'Ñднаны з --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "адÑутнічае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ð°ÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ SHELL да таго ж, незаданы выбар віду абалонкі" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ÐÐЗВÐ...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated ЗавÑршаць радкі байтам 0, а Ð½Ñ Ð½Ð¾Ð²Ñ‹Ð¼ радком.\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Прыклады:\n" " %s /usr/bin/sort друкуе \"/usr/bin\".\n" " %s stdio.h друкуе \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "ВыкарыÑтаньне: %s [КЛЮЧ]... [ФÐЙЛ]...\n" " ці: %s [КЛЮЧ]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "ПадÑумоўвае ўжываньне дыÑка кожным файлам; дзейнічае\n" "Ñ€ÑкурÑіўна Ð´Ð»Ñ Ñ‚Ñчак.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all друкаваць падлікі Ð´Ð»Ñ ÑžÑÑ–Ñ… файлаў, а не " "абмÑжоўвацца\n" " толькі Ñ‚Ñчкамі\n" " --apparent-size друкаваць ÑÐ°Ð¿Ñ€Ð°ÑžÐ´Ð½Ñ‹Ñ Ð¿Ð°Ð¼ÐµÑ€Ñ‹, замеÑÑ‚ памераў на " "дыÑке\n" " да таго ж, ÑÐ°Ð¿Ñ€Ð°ÑžÐ´Ð½Ñ‹Ñ Ð¿Ð°Ð¼ÐµÑ€Ñ‹, звычайна, меншыÑ, Ñны\n" " могуць быць Ð±Ð¾Ð»ÑŒÑˆÑ‹Ñ Ð·Ð° кошт \"дзірак\" у файлах,\n" " унутранай фрагмÑнтацыі уÑкоÑных блёкаў Ñ– Ñ‚.п.\n" " -B, --block-size=SIZE ужыць блёкі памеру SIZE-байтаў\n" " -b, --bytes адпаведнік --apparent-size --block-size=1\n" " -c, --total падлічыць агульны вынік\n" " -D, --dereference-args разьвÑзваць ÑÑ‹Ð¼Ð±Ð°Ð»Ñ–Ñ‡Ð½Ñ‹Ñ ÑпаÑылкі\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "БÑÑконцаÑьць" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "збой fts_read" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ Ð½Ð°Ð¹Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð³Ð»Ñ‹Ð±Ñ–Ð½Ñ %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "нерÑчаіÑны довад %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "немагчыма адначаÑова й падлічыць Ñ– паказаць уÑе пункты" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Ð¤Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ Ð°Ð¿Ñранбы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць аб'Ñднаны з --print-database (-p)." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: памылка чытаньнÑ" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "назва файла нулÑвой даўжыні" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "уÑÑго" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "ВыкарыÑтаньне: %s [РÐДОК]...\n" " ці: %s ВЫБÐР\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... [-] [ПЕРÐМЕÐÐÐЯ=ЗÐÐЧЭÐЬÐЕ]... [ЗÐГÐД " "[ДОВÐД]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "немагчыма зрабіць stat %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "немагчыма зрабіць stat %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ЗапіÑвае кожны ФÐЙЛ Ñž Ñтандартны вывад з апошнÑга па першы радок.\n" "Калі ФÐЙЛ не зададзне альбо зададзены -, чытае Ñтандартны ўвод.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "крок табулÑцыі %s занадта вÑлікі" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "памер табулÑцыі зьмÑшчае нерÑчаіÑны(Ñ) знак(Ñ–): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "памер табулÑцыі Ð½Ñ Ð¼Ð¾Ð¶Ð° быць нулÑвым" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "памеры табулÑцыі павінны ўзраÑтаць" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "радок вываду задаўгі" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ВЫРÐЗ\n" " ці: %s ВЫБÐР\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "ÑынтакÑÑ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "памылка Ñž ÑупаÑтаўлÑльніку Ñталых выразаў" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "Ð½Ñ Ð»Ñ–Ñ‡Ð±Ð°Ð²Ñ‹ довад" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "дзÑленьне на нуль" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "УÑталюйце LC_ALL='C' каб працаваць без пытаньнÑÑž." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Радкі былі параўнаны тут %s Ñ– тут %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s - гÑта не Ñтаноўчы цÑлы лік" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s занадта вÑлікі" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s [ЛІК]...\n" " ці: %s ВЫБÐР\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" "Друкуе проÑÑ‚Ñ‹Ñ Ð¼Ð½Ð¾Ð¶Ð½Ñ–ÐºÑ– кожнага цÑлага ліка. Калі довады не заданыÑ, \n" "чытае лікі Ñа Ñтандартнага ўводу.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "немагчыма атрымаць бÑгучую Ñ‚Ñчку" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "немагчыма перайÑьці Ñž Ñ‚Ñчку %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "немагчыма атрымаць Ñтан бÑгучае Ñ‚Ñчкі (зараз %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "ВыкарыÑтаньне: %s [-ЛІЧБЫ] [ВЫБÐР]... [ФÐЙЛ]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ñлупкоў: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "немагчыма зьмÑніць групу %s на %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "немагчыма зьмÑніць групу %s на %s\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "немагчыма атрымаць назву Ð´Ð»Ñ ID групы %u" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [УЛІКОВÐЕ_ЙМЯ]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "немагчыма ÑžÑталÑваць id карыÑтальніка" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "немагчыма знайÑьці аб'ект ÑпаÑылкі %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "немагчыма ÑžÑталÑваць id карыÑтальніка" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: такі карыÑтальнік Ð½Ñ Ð¹Ñнуе" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" " Друкуе Ð¿ÐµÑ€ÑˆÑ‹Ñ 10 радкоў кожнага файла Ñž Ñтандартны вывад. Калі заданы\n" "больш чым адзін файл, дадаткова друкуе загаловак з назвай файла.\n" "Калі файл незаданы, ці калі замеÑÑ‚ Ñго працÑжнік, чытае Ñтандартны ўвод.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Блёкі й байты могуць Ñ–Ñьці з ÑуфікÑамі множаньнÑ:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, Ñ– тое ж Ð´Ð»Ñ T, P, E, Z, Y.\n" "Кожнае ключавое Ñлова можа быць:\n" "\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: колькаÑьць байтаў занадта вÑлікаÑ" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: немагчыма перамÑÑьціцца назад да зыходнага Ñтановішча" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: немагчыма перамÑÑьціцца да зруха %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: немагчыма выдаліць" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s такі вÑлікі, што немагчыма паказаць" #: src/head.c:886 msgid "number of lines" msgstr "колькаÑьць радкоў" #: src/head.c:886 msgid "number of bytes" msgstr "колькаÑьць байтаў" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "нерÑчаіÑны парамÑтар -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "ВыкарыÑтаньне: %s [ÐÐЗВÐ]\n" " ці: %s ВЫБÐР\n" "Друкуе ці ÑžÑталёўвае назву бÑгучага вузла(ÑÑ‹ÑÑ‚Ñмы).\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "ВыкарыÑтаньне: %s [ÐÐЗВÐ]\n" " ці: %s ВЫБÐР\n" "Друкуе ці ÑžÑталёўвае назву бÑгучага вузла(ÑÑ‹ÑÑ‚Ñмы).\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "немагчыма ÑžÑталÑваць назву %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "немагчыма ÑžÑталÑваць назву вузла, ÑÑ‹ÑÑ‚Ñме бракуе функцыÑнальнаÑьці" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "немагчыма вызначыць назву вузла" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [УЛІКОВÐЕ_ЙМЯ]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "немагчыма вызначыць Ñ‡Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆ чым з адной крыніцы" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "немагчыма знайÑьці аб'ект ÑпаÑылкі %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "немагчыма атрымаць Ñ–Ð¼Ñ Ð´Ð»Ñ ID карыÑтальніка %u" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " групы=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "Увага! Ðемагчыма перайÑьці да Ñ‚Ñчкі %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "Ñтвараецца Ñ‚Ñчка %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "немагчыма зьмÑніць уладальніка %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "немагчыма ÑžÑталÑваць адбіткі чаÑу Ð´Ð»Ñ %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "немагчыма unlink %s" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "Ð·Ð°Ð¿Ñ–Ñ Ñƒ %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "нерÑчаіÑны карыÑтальнік %s" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐДКУЛЬ КУДЫ\n" " ці: %s [ВЫБÐР]... ÐДКУЛЬ... ТЭЧКÐ\n" " ці: %s [ВЫБÐР]... --target-directory=ТЭЧКРÐДКУЛЬ...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " -a, --archive тое што й -dpR\n" " --backup[=CONTROL] Ñтварае запаÑную копію кожнага Ñ–Ñнуючага " "файлу\n" " прызначÑньнÑ\n" " -b Ñк --backup але не прымае довад\n" " --copy-contents капуе зьмеÑÑ‚ аÑабіÑтых файлаў, у выпадку\n" " Ñ€ÑкурÑыі\n" " -d тое ж, што й --no-dereference --" "preserve=link\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -s, --symbolic-link Ñтварае Ð·Ð½Ð°ÐºÐ°Ð²Ñ‹Ñ Ð»ÑƒÑ‡Ñ‹Ð²Ñ‹ замеÑÑ‚ капіÑваньнÑ\n" " -S, --suffix=КÐÐЧÐТÐК перазапіÑвае звычайны канчатак запаÑу\n" " --target-directory=ТЭЧКРперамÑшчае ÑžÑе довады КРЫÐІЦы Ñž ТЭЧКу\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "%s: Ð·Ð°Ð´Ð°Ð½Ð°Ñ Ñ‚Ñчка мÑты не зьÑўлÑецца Ñ‚Ñчкай" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "нерÑчаіÑны Ñ€Ñжым %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "недзеÑздольны нумар полÑ: %s" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¿Ð¾Ð»Ñ \"%s\"" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° радка: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "шмат-байтавы знак табулÑцыі %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "абодва файлы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць Ñтандартным уводам" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "ВыкарыÑтаньне: %s [-s СЫГÐÐЛ | -СЫГÐÐЛ] PID...\n" " ці: %s -l [СЫГÐÐЛ]...\n" " ці: %s -t [СЫГÐÐЛ]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" " ДаÑылае Ñыгналы працÑÑам альбо ÑÑŒÐ¿Ñ–Ñ Ñыгналаў.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: недзеÑздольны id-працÑÑу" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "нерÑчаіÑны парамÑтар -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñыгналаў" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "незаданы ID працÑÑу" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "нерÑчаіÑны довад %s Ð´Ð»Ñ %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ФÐЙЛ1 ФÐЙЛ2\n" " ці: %s ВЫБÐР\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "немагчыма Ñтварыць ÑпаÑылку %s на %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: жорÑÑ‚ÐºÑ–Ñ ÑпаÑылкі Ð´Ð»Ñ Ñ‚Ñчак не дазволены" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: немагчыма перазапіÑаць Ñ‚Ñчку" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: замÑніць %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "немагчыма Ñтварыць знакавае лучыва %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "немагчыма Ñтварыць знакавае лучыва %s на %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "немагчыма Ñтварыць жорÑткае лучыва %s на %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "немагчыма Ñтварыць жорÑткае лучыва %s на %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "немагчыма Ñтварыць жорÑткае лучыва %s на %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " -a, --archive тое што й -dpR\n" " --backup[=CONTROL] Ñтварае запаÑную копію кожнага Ñ–Ñнуючага " "файлу\n" " прызначÑньнÑ\n" " -b Ñк --backup але не прымае довад\n" " --copy-contents капуе зьмеÑÑ‚ аÑабіÑтых файлаў, у выпадку\n" " Ñ€ÑкурÑыі\n" " -d тое ж, што й --no-dereference --" "preserve=link\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "Ðемагчыма ўжыць разам --target-directory Ñ– --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "немагчыма Ñтварыць знакавае лучыва %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Друкуе ўліковае Ñ–Ð¼Ñ Ð±Ñгучага карыÑтальніка.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "нÑма ўліковага ймÑ" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "незаўважаецца нерÑчаіÑнае значÑньне зьменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "незаўважае незразумелы памер табулÑцыі Ñž пераменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "незразумелы памер табулÑцыі: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "незразумелы фармат Ñтылю чаÑу %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "РÑчаіÑÐ½Ñ‹Ñ Ð´Ð¾Ð²Ð°Ð´Ñ‹:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ñтаўка: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "немагчыма адчыніць Ñ‚Ñчку %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "%s: немагчыма перазапіÑаць Ñ‚Ñчку" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "чытаецца дырÑÐºÑ‚Ð¾Ñ€Ñ‹Ñ %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "зачынÑецца дырÑÐºÑ‚Ð¾Ñ€Ñ‹Ñ %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "немагчыма параўнаць назвы файлаў %s Ñ– %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Выводзіць зьвеÑткі пра файл(Ñ‹) (зь бÑгучае дырÑкторыі, калі не зададзена " "іншае).\n" "Упарадкоўвае запіÑÑ‹ па алфавіту, калі нÑма -cftuSUX ці --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all не хаваць запіÑÑ‹, што пачынаююца з .\n" " -A, --almost-all не выводзіьц . Ñ– ..\n" " --author друкаваць Ñтваральніка кожнага файла\n" " -b, --escape друкаваць ваÑьмÑÑ€Ñ‹Ñ‡Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡Ñньні длÑ\n" " Ñлужбовых/неграфічных знакаў\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all уключыць Ñ„Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ ÑÑ‹ÑÑ‚Ñмы ÑÐºÑ–Ñ Ð¼Ð°ÑŽÑ†ÑŒ 0 блёкаў\n" " -B, --block-size=N выкарыÑтоўваць блёкі памерам N байтаў\n" " -h, --human-readable друкаваць памеры Ñž чалавека-чытальным фармаце\n" " (Ñк напрыклад, 1Кб, 234Мб, 2Гб)\n" " -H, --si гл. вышÑй, але выкарыÑтоўваць Ñтупені 1000 замеÑÑ‚ " "1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse адваротны парадак упарадкаваньнÑ\n" " -R, --recursive паказываць Ñ‚Ñчкі Ñ€ÑкурÑыўна\n" " -s, --size друаваць памер кожнага файла Ñž блёках\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=ШЫРЫÐЯ задае шырыню Ñкрану Ñž знаках\n" " -x паказываць запіÑÑ‹ па радкох а Ð½Ñ Ð¿Ð°Ñлупкох\n" " -X упарадкаваць па абÑцÑдзе ÑуфікÑаў файлаў\n" " -1 паказываць па файлу на радок\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР] [ФÐЙЛ]...\n" " ці: %s [ВЫБÐР] --check [ФÐЙЛ]\n" "Друкуе ці правÑрае %s (%d-бітавую) праверчую Ñуму.\n" "Калі файл незаданы, ці калі замеÑÑ‚ Ñго працÑжнік, чытае Ñтандартны ўвод.\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" "\n" " -B, --binary выкарыÑтоўвае дваічны Ð·Ð°Ð¿Ñ–Ñ Ñƒ прыладу канÑолі.\n" "\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary выкарыÑтоўвае дваічны Ð·Ð°Ð¿Ñ–Ñ Ñƒ прыладу канÑолі.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr "" "\n" " -B, --binary выкарыÑтоўвае дваічны Ð·Ð°Ð¿Ñ–Ñ Ñƒ прыладу канÑолі.\n" "\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "Два наÑтупных выбара карыÑÐ½Ñ‹Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі правÑраюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы:\n" " --status нічога не выводзіць, код завÑршÑÐ½ÑŒÐ½Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹\n" " Ñьведчыць аб паÑьпÑховаÑьці праверкі\n" " -w, --warn паведамлÑць пра нÑÐ¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ñ‹Ñ Ñ€Ð°Ð´ÐºÑ– з праверчымі " "Ñумамі\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: зашмат радкоў з кантрольнымі Ñумамі" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: Ð½Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ð° Ñкладзены радок з кантрольнай Ñумай %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: немагчыма прачытаць файл\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "ПÐМЫЛКÐ" #: src/md5sum.c:597 msgid "OK" msgstr "ДОБРÐ" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: Ð½Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ð° Ñкладзены радок з кантрольнай Ñумай %s" msgstr[1] "%s: %<PRIuMAX>: Ð½Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ð° Ñкладзены радок з кантрольнай Ñумай %s" msgstr[2] "%s: %<PRIuMAX>: Ð½Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ð° Ñкладзены радок з кантрольнай Ñумай %s" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" "УВÐГÐ! %<PRIuMAX> з %<PRIuMAX> пералічаных файлаў немагчыма прачытаць" msgstr[1] "" "УВÐГÐ! %<PRIuMAX> з %<PRIuMAX> пералічаных файлаў немагчыма прачытаць" msgstr[2] "" "УВÐГÐ! %<PRIuMAX> з %<PRIuMAX> пералічаных файлаў немагчыма прачытаць" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "УВÐГÐ! %d з %d вылічаных %s ÐЕ СУПÐДÐЕ" msgstr[1] "УВÐГÐ! %d з %d вылічаных %s ÐЕ СУПÐДÐЕ" msgstr[2] "УВÐГÐ! %d з %d вылічаных %s ÐЕ СУПÐДÐЕ" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "выбар --warn мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі параўноваюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "выбар --warn мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі параўноваюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "выбар --warn мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі параўноваюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "выбар --warn мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі параўноваюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ТЭЧКР...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" " Стварае Ñ‚Ñчку(Ñ–), калі Ñны ÑˆÑ‡Ñ Ð½Ðµ йÑнуюць.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "Ñтворана Ñ‚Ñчка %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐÐЗВÐ...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Стварае найменны канвÑер (fifo) з зададзенымі ÐÐЗВÐмі.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "нерÑчаіÑны Ñ€Ñжым" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐÐЗВРТЫП [МÐЖОР МІÐОР]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" " Стварае адмыÑловы файз з заданымі назвай Ñ– відам.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "" "калі Ñтвараюцца адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹, павінны быць заданыÑ\n" "мажорны й мінорны нумары прылады" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "нерÑчаіÑны мінорны нумар прылады %s" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð±Ð»Ñ‘Ñ‡Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ непадтрымліваюцца" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð·Ð½Ð°ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ непадтрымліваюцца" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "нерÑчаіÑны мажорны нумар прылады %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "нерÑчаіÑны мінорны нумар прылады %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "нерÑчаіÑны від прылады %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [ФÐЙЛ]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "немагчыма перанакіраваць Ñтандартны вывад памылак" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "зашмат аднолькавых радкоў" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "немагчыма Ñтварыць Ñ‚Ñчку %s" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "збой пры захаваньні чаÑу Ð´Ð»Ñ %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" " Пераназывае крыніцу Ñž мÑту, ці перамÑшчае крыніцу(Ñ‹) Ñž Ñ‚Ñчку.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " -a, --archive тое што й -dpR\n" " --backup[=CONTROL] Ñтварае запаÑную копію кожнага Ñ–Ñнуючага " "файлу\n" " прызначÑньнÑ\n" " -b Ñк --backup але не прымае довад\n" " --copy-contents капуе зьмеÑÑ‚ аÑабіÑтых файлаў, у выпадку\n" " Ñ€ÑкурÑыі\n" " -d тое ж, што й --no-dereference --" "preserve=link\n" #: src/mv.c:307 #, fuzzy msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --reply={yes,no,query} вызначае Ñк апрацоўваць паведамленьне пра\n" " Ñ–Ñнуючы файл прызначÑньнÑ\n" " --sparse=WHEN кантралюе ÑтварÑньне разрÑджаных файлаў\n" " --strip-trailing-slashes выдалÑе ÑžÑе цÑгнучыеÑÑ ÑкоÑÑ‹ з кожнага " "доваду\n" " КРЫÐІЦы\n" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -u, --update капуе толькі калі файл КРЫÐІЦРнавешы за " "файл\n" " прызначÑньнÑ, ці файл прызначÑньне " "прапушчаны\n" " -v, --verbose пведамлÑе што ўжо зроблена\n" " -x, --one-file-system не пакідаць межы гÑтае файлавае ÑÑ‹ÑÑ‚Ñмы\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР] [ЗÐГÐД [ДОВÐД]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Выконвае ЗÐГÐД Ñа зьмененым значÑньнем niceness, што ўзьдзейнічае\n" "на раÑклад Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½ÑŒÐ½Ñ (прыÑрытÑÑ‚) працÑÑу.\n" "Калі ЗÐГÐД адÑутнічае, друкуе бÑгучае значÑньне niceness. ЗначÑньні\n" "niceness вагаюцца ад\n" "%d (найбольш прыÑрытÑтны) да %d (найменш прыÑрытÑтны).\n" "\n" " -n, --adjustment=N дадаць цÑлы N да niceness (прадвызначана 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "нерÑчаіÑнае значÑньне %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "загад муÑіць быць зададзены разам Ñа значÑньнем прыÑрытÑту" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "немагчыма атрымаць значÑньне niceness" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "немагчыма ÑžÑталÑваць значÑньне niceness" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "перапаўненьне колькаÑьці радкоў" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð·Ð°Ð³Ð°Ð»Ð¾ÑžÐºÑƒ: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ñ†ÐµÐ»Ð°: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð¿Ð°Ð´Ð²Ð°Ð»Ñƒ: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "нерÑчаіÑны нумар пачатковага радка: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "недзеÑздольнае значÑньне павелічÑÐ½ÑŒÐ½Ñ Ð½ÑƒÐ¼Ð°Ñ€Ñƒ радка: \"%s\"" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць чыÑтых радокоў: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° радка: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "нерÑчаіÑны фармат Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ñ€Ð°Ð´ÐºÐ¾Ñž: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ЗÐГÐД [ДОВÐД]...\n" " ці: %s ВЫБÐР\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" " Выконвае загад, незаўважаючы Ñыгналы HUP.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "немагчыма перанакіраваць Ñтандартны вывад памылак" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "на ÑžÑе довады не зьвÑртаецца ўвага" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "далучÑньне вываду да %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "далучÑньне вываду да %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "немагчыма перанакіраваць Ñтандартны вывад памылак" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: значÑньне цалка не пераўтворана" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "нерÑчаіÑны нумар %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "кепÑкі цÑлы довад %s" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: немагчыма адчыніць Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "незразумелы памер табулÑцыі: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [КÐРЫСТÐЛЬÐІК]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "ПарамÑтры ўпарадкаваньнÑ:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "Ð·Ð³Ð°Ð´Ð°Ð½Ð°Ñ Ð¼Ñта %s не з'ÑўлÑецца Ñ‚Ñчкай" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "недзеÑздольны фармат шырыні" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "кепÑкі цÑлы довад %s" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "ÐедзеÑздольны прамежак Ñтаронак %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "недзеÑздольны нумар полÑ: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ð°Ñ‚Ð° %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Ð¤Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ Ð°Ð¿Ñранбы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць аб'Ñднаны з --print-database (-p)." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Ð¤Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ Ð°Ð¿Ñранбы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць аб'Ñднаны з --print-database (-p)." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Ð¤Ð°Ð¹Ð»Ð°Ð²Ñ‹Ñ Ð°Ð¿Ñранбы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць аб'Ñднаны з --print-database (-p)." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "немагчыма перанакіраваць Ñтандартны вывад памылак" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... [ФÐЙЛ]...\n" " ці: %s --traditional [ФÐЙЛ] [[+]ВОДСТУП [[+]ÐДМЕЦІÐÐ]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Блёкі й байты могуць Ñ–Ñьці з ÑуфікÑамі множаньнÑ:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, Ñ– тое ж Ð´Ð»Ñ T, P, E, Z, Y.\n" "Кожнае ключавое Ñлова можа быць:\n" "\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "недзеÑздольны радок тыпу %s" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "нерÑчаіÑны від радка \"%s\";\n" "ÑÑ‹ÑÑ‚Ñма не прадаÑтаўлÑе %lu-байтны цÑлы тып" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "нерÑчаіÑны від радка \"%s\";\n" "ÑÑ‹ÑÑ‚Ñма не прадаÑтаўлÑе %lu-байтны цÑлы тып" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "нерÑчаіÑны знак \"%c\" у радку тыпу \"%s\"" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "Увага! ÐерÑчаіÑÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ %lu; выкарыÑтоўвайце %d замеÑÑ‚ Ñе" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: недзеÑздольны Ñыгнал" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "Ñтандартны вывад зачынены" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ЗапіÑвае кожны ФÐЙЛ Ñž Ñтандартны вывад з апошнÑга па першы радок.\n" "Калі ФÐЙЛ не зададзне альбо зададзены -, чытае Ñтандартны ўвод.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "нерÑчаіÑны знак %s у радку Ñ€Ñжыму %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð° назва файла" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Уліковае ймÑ:" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "У ÑапраўднаÑьці:" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "ТÑчка: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Ðбалонка:" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "ПражÑкт:" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "ПлÑн:\n" #: src/pinky.c:405 msgid "Login" msgstr "ІмÑ" #: src/pinky.c:407 msgid "Name" msgstr "Ðазва" #: src/pinky.c:408 msgid " TTY" msgstr " ТÑрмінал" #: src/pinky.c:410 msgid "Idle" msgstr "ДарÑмна" #: src/pinky.c:411 msgid "When" msgstr "Калі" #: src/pinky.c:414 msgid "Where" msgstr "Дзе" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [КÐРЫСТÐЛЬÐІК]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Ð¡Ð¿Ñ€Ð¾ÑˆÑ‡Ð°Ð½Ð°Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ð° \"finger\"; друкуе зьвеÑткі пра карыÑтальніка.\n" "Файлам utmp будзе %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "ÐедзеÑздольны прамежак Ñтаронак %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "\"-W ШЫРЫÐЯ_СТÐРОÐКІ\" нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць знакаў: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "нерÑчаіÑны нумар пачатковага радка: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-w ШЫРЫÐЯ_СТÐРОÐКІ\" нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць знакаў: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-W ШЫРЫÐЯ_СТÐРОÐКІ\" нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць знакаў: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "\"-%c\" Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð½Ð°Ñ†Ñ– ці нерÑчаіÑны нумар у довадзе: \"%s\"" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñтаронкі занадта вузкаÑ" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "перапаўненьне колькаÑьці радкоў" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" " ПадзÑлÑе файл(Ñ‹) на Ñтаронкі ці Ñлупкі Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Калі ФÐЙЛ не зададзены альбо зададзены -, чытае Ñтандартны ўвод.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "ВыкарыÑтаньне: %s [ПЕРÐМЕÐÐÐЯ]...\n" " ці: %s ВЫБÐР\n" "Калі ПЕРÐМЕÐÐÐЯ незададзена, друкуе Ñ–Ñ… уÑе.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated ЗавÑршаць радкі байтам 0, а Ð½Ñ Ð½Ð¾Ð²Ñ‹Ð¼ радком.\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ФÐРМÐТ [ДОВÐД]...\n" " ці: %s ВЫБÐР\n" #: src/printf.c:93 #, fuzzy msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" " Друкуе довад(Ñ‹) ÑуадноÑна фармату.\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: чакаецца лічбавае значÑньне" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: значÑньне цалка не пераўтворана" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ўнівÑÑ€ÑÐ°Ð»ÑŒÐ½Ð°Ð³Ð° знаку \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ð°ÐºÐ»Ð°Ð´Ð½Ð°Ñьць: %s" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¿Ð¾Ð»Ñ \"%s\"" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "увага: ігнаруецца лішак довадаў пачынаючы з %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (Ð´Ð»Ñ Ñталага выразу %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... [УВОД]... (без -G)\n" " ці: %s -G [ВЫБÐР]... [УВОД [ВЫВÐД]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Калі ФÐЙЛ не зададзены альбо зададзены -, чытае Ñтандартны ўвод.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "нерÑчаіÑÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÑƒ: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" " Друкуе поўную назву бÑгучае Ñ‚Ñчкі.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "збой chdir у %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "збой stat %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "незаўважаюцца довады, ÑÐºÑ–Ñ Ð½Ðµ зьўлÑюцца выбарамі" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "ÐдлюÑтроўвае значÑньне знакавага лучыва Ñž Ñтандартны вывад.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "незаўважаюцца довады, ÑÐºÑ–Ñ Ð½Ðµ зьўлÑюцца выбарамі" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: выдаліць абаронены ад запіÑу %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: выдаліць %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "Ñ‚Ñчка выдалена: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "немагчыма выдаліць Ñ‚Ñчку %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "памылка чытаньнÑ" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "ВыдалÑе файлы, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з `-', напраклад `-foo', выкарыÑтоўвайце\n" "адзін з наÑтупных загадаў:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" " Ðдзначце, што калі Ð’Ñ‹ выкарыÑтоўваеце rm Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð°, звычайна " "Ñ–Ñнуе магчымаÑьць аднавіць зьмеÑÑ‚ гÑтага файла. Калі Ð’Ñ‹ жадаеце большае\n" "ўпÑўненаÑьці, што зьмеÑÑ‚ фала нельга аднавіць, разгледзьце выкарыÑтаньне " "shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: выдаліць %s %s? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "выдалÑецца Ñ‚Ñчка, %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "немагчыма выдаліць Ñ‚Ñчку %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "немагчыма адчыніць %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "немагчыма атрымаць атрыбуты %s" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "незаданы ID працÑÑу" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "немагчыма адчыніць %s" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "збой stat %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "збой stat %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "збой stat %s" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "збой stat %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐПОШÐІ\n" " ці: %s [ВЫБÐР]... ПЕРШЫ ÐПОШÐІ\n" " ці: %s [ВЫБÐР]... ПЕРШЫ ПРЫРОСТ ÐПОШÐІ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s мае невÑдомы від файлу" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "ВыкарыÑтаньне: %s УЛІКОВÐЕ_ЙМЯ ЗÐГÐД [ДОВÐД]...\n" " ці: %s ВЫБÐР\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "невÑдомы ID карыÑтальніка: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "немагчыма ÑžÑталÑваць дадатковую групу" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "немагчыма задаць ID групы Ð´Ð»Ñ %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "немагчыма выÑтавіць ID карыÑтальніка Ñž %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: збой fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: збой fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: праход %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: памылка запіÑу Ð»Ñ Ð²Ð¾Ð´Ñтупа %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: збой lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: файл занадта вÑлікі" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: праход %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: збой fstat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: нерÑчаіÑны від файла" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: файл мае адмоўны памер" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: памылка абрÑзаньнÑ" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: збой fcntl" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: выдаленьне" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: перайменаваны Ñž %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: немагчыма выдаліць" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: выдален" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: немагчыма зачыніць" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: немагчыма адчыніць Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць праходаў" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "зададзены некалькі фарматаў вываду" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: нерÑчаіÑны памер файла" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "ВыкарыÑтаньне: %s [ВЫБÐР]... ÐПОШÐІ\n" " ці: %s [ВЫБÐР]... ПЕРШЫ ÐПОШÐІ\n" " ці: %s [ВЫБÐР]... ПЕРШЫ ПРЫРОСТ ÐПОШÐІ\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "ЗапіÑвае зьвÑз упарадкаваных ФÐЙЛаў на Ñтандартны вывад.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "нерÑчаіÑны ÑьцÑг уводу: %s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "немагчыма ÑумÑÑьціць Ñ€Ñжым Ñ– парамÑтры --reference" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "нерÑчаіÑны адрÑзак чаÑу %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "немагчыма прачытаць гадзіньнік Ñ€Ñальнага чаÑу" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "ЗапіÑвае зьвÑз упарадкаваных ФÐЙЛаў на Ñтандартны вывад.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "ПарамÑтры ўпарадкаваньнÑ:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "ПарамÑтры ўпарадкаваньнÑ:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated ЗавÑршаць радкі байтам 0, а Ð½Ñ Ð½Ð¾Ð²Ñ‹Ð¼ радком.\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "Ð·Ð°Ð¿Ñ–Ñ Ñƒ %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "немагчыма Ñтварыць чаÑовы файл %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "памылка адкрыцьцÑ" #: src/sort.c:970 msgid "fflush failed" msgstr "збой fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "памылка закрыцьцÑ" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "памылка адкрыцьцÑ" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "немагчыма Ñтварыць чаÑовы файл" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "немагчыма Ñтварыць Ñ‚Ñчку %s" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "увага: немагчыма выдаліць: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "нерÑчаіÑны довад %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "неадназначны довад %s Ð´Ð»Ñ %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s занадта вÑлікі" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "збой пачатку" #: src/sort.c:1755 msgid "read failed" msgstr "памылка чытаньнÑ" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "памылка Ð¿Ð°Ñ€Ð°ÑžÐ½Ð°Ð½ÑŒÐ½Ñ Ñ€Ð°Ð´ÐºÑƒ" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: выбар `%s' неадназначны\n" msgstr[1] "%s: выбар `%s' неадназначны\n" msgstr[2] "%s: выбар `%s' неадназначны\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "памылка запіÑу" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: бÑзладдзе: " #: src/sort.c:2786 msgid "standard error" msgstr "Ñтандартны вывад памылак" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "немагчыма ÑžÑталÑваць дату" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: нерÑчаіÑнае вызначÑньне Ð¿Ð¾Ð»Ñ %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: выбар `%s' неадназначны\n" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: нерÑчаіÑны падлік на пачатку %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð»Ñ–Ñ‡Ð±Ð° паÑÑŒÐ»Ñ \"-\"" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð»Ñ–Ñ‡Ð±Ð° паÑÑŒÐ»Ñ \".\"" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "зададзены некалькі фарматаў вываду" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð»Ñ–Ñ‡Ð±Ð° паÑÑŒÐ»Ñ \",\"" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "пуÑÑ‚Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑцыÑ" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "немагчыма прачытаць назвы файлаў з %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "назва файла нулÑвой даўжыні" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "зачынÑецца файл уводу %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "непатрÑбны аргумÑнт %s" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [УВОД [ПРЫСТÐЎКÐ]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "ÑтварÑньне файла %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "" "незаўважае незразумелы памер табулÑцыі Ñž пераменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ TABSIZE: %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "збой stat %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "зачынÑецца дырÑÐºÑ‚Ð¾Ñ€Ñ‹Ñ %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "закрываецца файл вываду %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "зачынÑецца файл уводу %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "зачынÑецца файл уводу %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "немагчыма выканаць загад %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "%s: немагчыма зачыніць" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць ÑÑкундаў" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: нерÑчаіÑны нумар" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "нерÑчаіÑны нумар пачатковага радка: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: нерÑчаіÑны памер файла" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "немагчыма вызначыць назву вузла" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "немагчыма адчыніць %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "увага!: нераÑпазнаны парамÑтар \"\\%c\"" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s%s: нерÑчаіÑÐ½Ð°Ñ Ð´Ñ‹Ñ€Ñктыва" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "немагчыма прачытаць зьвеÑткі файлавае ÑÑ‹ÑÑ‚Ñмы Ð´Ð»Ñ %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "зачыненьне Ñтандартнага уводу" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "немагчыма адчыніць %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "толькі адна прылада можа быць пазначана" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "нерÑчаіÑны довад %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "прапушчаны довад Ð´Ð»Ñ %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ñ‹Ñцыпліна лініі %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: нÑма зьвеÑтак пра памеры Ð´Ð»Ñ Ð³Ñтае прылады" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "кепÑкі цÑлы довад %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Друкуе ÐºÐ°Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ Ñумы й колькаÑьць блёкаў Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° ФÐЙЛÐ.\n" "\n" " -r перакрывае -s, выкарыÑтоўваць альгарытм BSD Ñ– блёкі Ñž 1 " "Кб\n" " -s, --sysv выкарыÑтоўваць альгарытм System V Ñ– блёкі Ñž 512 байтаў\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" " Вымагае запіÑу ÑžÑÑ–Ñ… зьмененых блёкаў на дыÑк Ñ– абнаўленьне ÑупÑрблёка.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "на ÑžÑе довады не зьвÑртаецца ўвага" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "ЗÐÐŽÐ’ÐГÐ! Ваш інтÑрпрÑтатар загадаў можа мець улаÑную вÑÑ€ÑÑ–ÑŽ %s, ÑкаÑ,\n" "звычайна, замÑнÑе вÑÑ€ÑÑ–ÑŽ, што апіÑана тутака. Калі лаÑка, зьвÑрніцеÑÑ Ð´Ð°\n" "дакумÑнтацыі вашага інтÑрпрÑтатара загадаў, каб даведацца аб парамÑтрах,\n" "ÑÐºÑ–Ñ Ñ‘Ð½ падтрымлівае.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help паказвае гÑтую даведку\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version выводзіць зьвеÑткі пра вÑÑ€ÑÑ–ÑŽ\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "Довады, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ–Ñ… выбараў, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð¹ Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–Ñ….\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "ПаведамлÑйце пра памылкі на <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "ПаÑпрабуйце \"%s --help\" Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆ падрабÑзных зьвеÑтак.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ЗапіÑвае кожны ФÐЙЛ Ñž Ñтандартны вывад з апошнÑга па першы радок.\n" "Калі ФÐЙЛ не зададзне альбо зададзены -, чытае Ñтандартны ўвод.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: збой seek" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "Ð·Ð°Ð¿Ñ–Ñ Ð·Ð°Ð²Ñлікі" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "немагчыма Ñтварыць чаÑовы файл %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: немагчыма адчыніць Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "збой пры захаваньні чаÑу Ð´Ð»Ñ %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: памылка запіÑу" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "немагыма адчыніць %s Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "падзÑлÑльнік павінен нешта ўтрымліваць" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" " Друкуе Ð¿ÐµÑ€ÑˆÑ‹Ñ 10 радкоў кожнага файла Ñž Ñтандартны вывад. Калі заданы\n" "больш чым адзін файл, дадаткова друкуе загаловак з назвай файла.\n" "Калі файл незаданы, ці калі замеÑÑ‚ Ñго працÑжнік, чытае Ñтандартны ўвод.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Блёкі й байты могуць Ñ–Ñьці з ÑуфікÑамі множаньнÑ:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, Ñ– тое ж Ð´Ð»Ñ T, P, E, Z, Y.\n" "Кожнае ключавое Ñлова можа быць:\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "зачынÑецца %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: немагчыма перамÑÑьціцца да адноÑнага зруху %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s Ñтаў недаÑтупны" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s быў заменены на небÑÑконцы файл; апрацоўка гÑтага файла Ñпынена" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s быў заменены на небÑÑконцы файл; апрацоўка гÑтага файла Ñпынена" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s Ñтаў даÑтупны" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: немагчыма зьмÑніць незаблÑкаваны Ñ€Ñжым" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: файл абрÑзаны" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "не заÑталоÑÑ Ð±Ð¾Ð»ÑŒÑˆ файла" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "немагчыма атрымаць Ñтан бÑгучае Ñ‚Ñчкі (зараз %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "памÑць вычарпана" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "немагчыма дакрануцца да %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "нумар у %s завÑлікі" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: нерÑчаіÑны PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць ÑÑкундаў" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "увага: --pid=PID не падтрымліваецца на гÑтае ÑÑ‹ÑÑ‚Ñме" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "немагчыма крочыць за %s па назве" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "ПерапіÑвае Ñтандартны ўвод у кожны ФÐЙЛ, а такÑама Ñž Ñтандартны вывад.\n" "\n" " -a, --append Дадае да ФÐЙЛаў (не перазапіÑвае Ñ–Ñ…).\n" " -i, --ignore-interrupts Ðе зьвÑртае ўвагі на Ñыгнал ÑпыненьнÑ.\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Калі ФÐЙЛ -, капіюе зноў на Ñтандартны ўвод.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "прапушчаны довад паÑÑŒÐ»Ñ %s" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "зададзены Ð½Ñ Ñ†Ñлы лік %s\n" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "')' чакаецца\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "')' чакаецца, знойдзен %s\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: чакаецца ўнарны апÑратар\n" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt не прыймае -l\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef не праймае -l\n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-ot не прыймае -д\n" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "невÑдомы двайковы дзейнік\n" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: чакаецца бінарны апÑратар\n" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "ВыкарыÑтаньне: test ВЫРÐЗ\n" " альбо: test\n" " альбо: [ ВЫРÐЗ ]\n" " альбо: [ ]\n" " альбо: [ ПÐРÐМЭТÐР\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "ЗавÑршае працу з кодам вÑртаньнÑ, Ñкі вызначаецца ВЫРÐЗÐМ.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, зьÑўлÑецца Ñымбалічнай ÑпаÑылкай (тое, што й -h)\n" " -O ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, Ñ– ім валодае карыÑтальнік з ÑÑ„Ñктыўным ID " "карыÑтальніка\n" " -p ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, зьÑўлÑецца найменным канвÑерам\n" " -r ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, маюцца правы на Ñго чытаньне\n" " -s ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, Ñго памер большы за нуль\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "test Ñ–/альбо [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "прапушчаны \"]\"\n" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "дадатковы довад %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "ВыкарыÑтаньне: %s ЗÐГÐД [ДОВÐД]...\n" " ці: %s ВЫБÐР\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "Довады, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ–Ñ… выбараў, абавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð¹ Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–Ñ….\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "памылка запіÑу %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "нерÑчаіÑны фармат даты %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "немагчыма дакрануцца да %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "уÑталÑваньне чаÑу %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ЗьмÑніць толькі Ñ‡Ð°Ñ Ð´Ð¾Ñтупу.\n" " -c, --no-create Ðе Ñтвараць ніÑкіх файлаў.\n" " -d, --date=РÐДОК СкарыÑтаць РÐДОК у ÑкаÑьці бÑгучага чаÑу.\n" " -f (не заўважаецца)\n" " -m ЗьмÑнÑць толькі Ñ‡Ð°Ñ Ð·ÑŒÐ¼ÑненьнÑ.\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 #, fuzzy msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Зазначце, што парамÑтры -d Ñ– -t ужываюць Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñ‹ чаÑу.\n" "\n" "Калі ФÐЙЛ -, дакранаецца да Ñтандартнага вываду.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "немагчыма вызначыць Ñ‡Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆ чым з адной крыніцы" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "увага: \"touch %s\" зьÑўлÑеца ÑžÑтарÑлым; карыÑтайцеÑÑ\"touch -t %04ld%02d%02d" "%02d%02d.%02d\"" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... МÐОСТВÐ1 [МÐОСТВÐ2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ»ÑÑа знака %s" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ»ÑÑа знака %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "зашмат знакаў у знакавым мноÑтве" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s [довады загаднага радка ігнаруюцца]\n" " альбо: %s ПÐРÐМЭТÐР\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: файл мае адмоўны памер" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "немагчыма ÑžÑталÑваць правы %s" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "перапаўненьне зруху цÑгам Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "перапаўненьне зруху цÑгам Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "зададзены некалькі дырÑкторыÑÑž прызначÑньнÑ" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "вы павінны пазначыць ÑÑŒÐ¿Ñ–Ñ Ð±Ð°Ð¹Ñ‚Ð°Ñž, знакаў ці палёў" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "немагчыма адчыніць %s Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: увод утрымлівае нÑцотную колькаÑьць ÑлемÑнтаў" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: увод утрымлівае цыкал:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "гÑта не Ñ‚Ñрмінал" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Друкуе пÑÑžÐ½Ñ‹Ñ Ð·ÑŒÐ²ÐµÑткі пра ÑÑ‹ÑÑ‚Ñму. Выклік без ПÐРÐМЭТРа \n" "раўназначны выкліку з парамÑтрам -s.\n" "\n" " -a, --all друкуе ÑžÑе зьвеÑткі Ñž наÑтупным парадку,\n" " за выключÑньнем пропуÑку -p Ñ– -i, калі " "невÑдома:\n" " -s, --kernel-name друкуе назву Ñдра\n" " -n, --nodename друкуе назву вузла Ñеткі\n" " -r, --kernel-release друкуе назву выпуÑку Ñдра\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version друкуе вÑÑ€ÑÑ–ÑŽ Ñдра\n" " -m, --machine друкуе апаратную назву кампутара\n" " -p, --processor друкуе тып працÑÑара альбо \"невÑдома\"\n" " -i, --hardware-platform друкуе назву плÑтформы альбо \"невÑдома\"\n" " -o, --operating-system друкуе назву апÑрацыйнае ÑÑ‹ÑÑ‚Ñмы\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "немагчыма атрымаць назву ÑÑ‹ÑÑ‚Ñмы" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ЗапіÑвае кожны ФÐЙЛ Ñž Ñтандартны вывад з апошнÑга па першы радок.\n" "Калі ФÐЙЛ не зададзне альбо зададзены -, чытае Ñтандартны ўвод.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "крок табулÑцыі завÑлікі" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [УВОД [ВЫВÐД]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "зашмат аднолькавых радкоў" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°ÑžÐ½Ð°Ð½ÑŒÐ½Ñ" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s ФÐЙЛ\n" " ці: %s ВЫБÐР\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Выклікае функцыю unlink Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½ÑŒÐ½Ñ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð³Ð° ФÐЙЛа.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "немагчыма unlink %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "немагчыма вызначыць Ñ‡Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ–" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? працуе " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? дзён ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s працуе " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu карыÑтальнік" msgstr[1] "%lu карыÑтальніка" msgstr[2] "%lu карыÑтальнікаў" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", ÑÑÑ€ÑднÑÑ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Друкуе бÑгучы чаÑ, Ñ‡Ð°Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ ÑÑ‹ÑÑ‚Ñмы, колькаÑьць карыÑтальнікаў у ÑÑ‹ÑÑ‚Ñме\n" "Ñ– ÑÑÑ€Ñднюю колькаÑьць задач у чарзе на выкананьне за Ð°Ð¿Ð¾ÑˆÐ½Ñ–Ñ 1, 5 Ñ– 15 " "хвілінаў.\n" "Калі ФÐЙЛ не зададзены, выкарыÑтоўвае %s. %s - агульны ФÐЙЛ.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "\n" "Калі ФÐЙЛ Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹, выкарыÑтоўвае фай %s.\n" "Файл %s зьÑўлÑецца агульным ФÐЙЛам.\n" "Калі ДОВÐД1 ДОВÐД2 зададзены, прадугледжваецца -m: \"am i\" альбо\n" "\"mom likes\" Ñк звычайна.\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " Ñтары " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "СіÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "Ñ‚Ñрм.=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "выхад=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "зьмена чаÑу" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "узровень" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "апошні=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# карыÑтальнікі=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAME" #: src/who.c:559 msgid "LINE" msgstr "LINE" #: src/who.c:559 msgid "TIME" msgstr "TIME" #: src/who.c:559 msgid "IDLE" msgstr "IDLE" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMMENT" #: src/who.c:560 msgid "EXIT" msgstr "EXIT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ ФÐЙЛ | ДОВÐД1 ДОВÐД2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all тое, што й -b -d --login -p -r -t -T -u\n" " -b, --boot Ñ‡Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ‹ÑÑ‚Ñмы\n" " -d, --dead друкуе Ð¼Ñ‘Ñ€Ñ‚Ð²Ñ‹Ñ Ð¿Ñ€Ñ†ÑÑÑ‹\n" " -H, --heading друкуе радок загалоўкаў Ñлупкоў\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login друкуе працÑÑÑ‹ ўваходу Ñž ÑÑ‹ÑÑ‚Ñму\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup паÑпрабаваць вызначыць назвы вузлоў праз DNS\n" " -m толькі назву вузла й Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка, зьвÑзанае Ñа " "stdin\n" " -p, --process друкуе Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ñ†ÑÑÑ‹, Ð½Ð°Ñ€Ð¾Ð´Ð¶Ð°Ð½Ñ‹Ñ init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count уÑе карыÑтальнікі й колькаÑьць увайшоўшых\n" " -r, --runlevel друкуе бÑгучы ўзровень працы (run-level)\n" " -s, --short друкуе толькі імÑ, лінію й Ñ‡Ð°Ñ (прадвызначаны вывад)\n" " -t, --time друкуе апошнюю зьмену ÑÑ‹ÑÑ‚Ñмнага чаÑу\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg дадае ÑÑ‚Ð°Ñ‚ÑƒÑ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñк +, - альбо ?\n" " -u, --users друкуе ÑÑŒÐ¿Ñ–Ñ ÑƒÐ²Ð°Ð¹ÑˆÐ¾ÑžÑˆÑ‹Ñ… карыÑтальнікаў\n" " --message тое, што й -T\n" " --writable тое, што й -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Калі ФÐЙЛ Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹, выкарыÑтоўвае фай %s.\n" "Файл %s зьÑўлÑецца агульным ФÐЙЛам.\n" "Калі ДОВÐД1 ДОВÐД2 зададзены, прадугледжваецца -m: \"am i\" альбо\n" "\"mom likes\" Ñк звычайна.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Друкуе ўліковае Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка, зьвÑзанае зь бÑгучым ÑÑ„Ñктыўным\n" "ID карыÑтальніка. Тое Ñамае, што й \"id -un\".\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: немагчыма адшукаць Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка з ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "ВыкарыÑтаньне: %s [РÐДОК]...\n" " ці: %s ВЫБÐР\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "БеÑперапынна выводзіць РÐДОК(Ñ–), ці літару \"y\".\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "ÑтварÑньне файла %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ÐÐЗВÐ...\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Прыклады:\n" #~ " %s /usr/bin/sort Выводзіць \"sort\".\n" #~ " %s include/stdio.h .h Выводзіць \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "чытаецца %s" #~ msgid "writing %s" #~ msgstr "пішацца %s" #~ msgid "closing %s" #~ msgstr "зачынÑецца %s" #~ msgid "accessing %s" #~ msgstr "доÑтуп да %s" #~ msgid "opening %s" #~ msgstr "адчынÑецца %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "ВыкарыÑтаньне: %s ÐÐЗВÐ\n" #~ " ці: %s ВЫБÐР\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ніколі не запаÑіць (нават калі зададзены --backup)\n" #~ " numbered, t Ñтвараць Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ð·Ð°Ð¿Ð°ÑÑ‹\n" #~ " existing, nil нумараваць, калі йÑнуе нумараваны, інакш не нумараваць\n" #~ " simple, never заўÑёды Ñтвараць ненумараваныÑ\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "парамÑтар \"--megabytes \" - аÑуджаны; замеÑÑ‚ Ñго карыÑтайцеÑÑ \"-m\"" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "УÑе довады Ð´Ð»Ñ Ð´Ð¾ÑžÐ³Ñ–Ñ… выбараў абавÑзковы й Ð´Ð»Ñ ÐºÐ°Ñ€Ð¾Ñ‚ÐºÑ–Ñ….\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ\n" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: немагчыма адчыніць /dev/tty" #~ msgid "cannot set groups" #~ msgstr "немагчыма ÑžÑталÑваць групы" #~ msgid "cannot set group id" #~ msgstr "немагчыма ÑžÑталÑваць id групы" #~ msgid "cannot set user id" #~ msgstr "немагчыма ÑžÑталÑваць id карыÑтальніка" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [-] [КÐРЫСТÐЛЬÐІК [ДОВÐД]...]\n" #~ msgid "user %s does not exist" #~ msgstr "карыÑтальнік %s не Ñ–Ñнуе" #~ msgid "incorrect password" #~ msgstr "нÑÑлушны пароль" #~ msgid "using restricted shell %s" #~ msgstr "выкарыÑтоўваецца Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð°Ñ Ð°Ð±Ð°Ð»Ð¾Ð½ÐºÐ° %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "Увага! Ðемагчыма перайÑьці да Ñ‚Ñчкі %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "ЗьмÑнÑе ўладальніка й/альбо групу кожнага ФÐЙЛа на ЎЛÐДÐЛЬÐІКа й/альбо " #~ "ГРУПУ.\n" #~ "Калі зададзены --reference, зьмÑнÑе ўладальніка й групу кожнага ФÐЙЛа на\n" #~ "Ð°Ð´Ð¿Ð°Ð²ÐµÐ´Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡Ñньні Ñž файла RFILE.\n" #~ "\n" #~ " -c, --changes Ñк Ñ– verbose, але друкуе толькі калі зьмены " #~ "адбыліÑÑ\n" #~ " --dereference узьдзейнічае на аб'ект ÑпаÑылкі, замеÑÑ‚ Ñамой\n" #~ " Ñымбалічнае ÑпаÑылкі (гÑта Ð¿Ñ€Ð°Ð´Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ " #~ "паводзіны)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не адлюÑтроўваць аÑÐ½Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– аб " #~ "памылках\n" #~ " --reference=RФÐЙЛ выкарыÑтоўвае ўладальніка й групу RФÐЙЛу замеÑÑ‚\n" #~ " зададзеных значÑньнÑÑž УЛÐДÐЛЬÐІК:ГРУПÐ\n" #~ " -R, --recursive апрацоўвае файлы й Ñ‚Ñчкі Ñ€ÑкурÑыўна\n" #~ " -v, --verbose выводзіць праверку Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° апрацаванага " #~ "файлу\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet затрымлівае большаÑьць паведамленьнÑÑž пра " #~ "памылкі\n" #~ " -v, --verbose друкуе дыÑгноÑтыку Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° апрацаванага " #~ "файла\n" #~ " --reference=RFILE выкарыÑтоўвае Ñ€Ñжым RFILE'а замеÑÑ‚ РЭЖЫМу\n" #~ " -R, --recursive апрацоўвае файлы й дырÑкторыі Ñ€ÑкурÑіўна\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "ЗьмÑнÑе ўладальніка й/альбо групу кожнага ФÐЙЛа на ЎЛÐДÐЛЬÐІКа й/альбо " #~ "ГРУПУ.\n" #~ "Калі зададзены --reference, зьмÑнÑе ўладальніка й групу кожнага ФÐЙЛа на\n" #~ "Ð°Ð´Ð¿Ð°Ð²ÐµÐ´Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡Ñньні Ñž файла RFILE.\n" #~ "\n" #~ " -c, --changes Ñк Ñ– verbose, але друкуе толькі калі зьмены " #~ "адбыліÑÑ\n" #~ " --dereference узьдзейнічае на аб'ект ÑпаÑылкі, замеÑÑ‚ Ñамой\n" #~ " Ñымбалічнае ÑпаÑылкі (гÑта Ð¿Ñ€Ð°Ð´Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ " #~ "паводзіны)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не адлюÑтроўваць аÑÐ½Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ– аб " #~ "памылках\n" #~ " --reference=RФÐЙЛ выкарыÑтоўвае ўладальніка й групу RФÐЙЛу замеÑÑ‚\n" #~ " зададзеных значÑньнÑÑž УЛÐДÐЛЬÐІК:ГРУПÐ\n" #~ " -R, --recursive апрацоўвае файлы й Ñ‚Ñчкі Ñ€ÑкурÑыўна\n" #~ " -v, --verbose выводзіць праверку Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° апрацаванага " #~ "файлу\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: недапушчальны выраб -- %c\n" #~ msgid "block size" #~ msgstr "памер кавалку" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "немагчыма зьмÑніць уладальніка й/ці групу %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "немагчыма перайÑьці да Ñ‚Ñчкі %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "немагчыма атрымаць уліковую групу лічбавага UID" #~ msgid "invalid argument: %s" #~ msgstr "нерÑчаіÑны довад: %s" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] [ФÐЙЛ]...\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot create link %s" #~ msgstr "немагчыма Ñтварыць лучыва %s" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "парамÑтар --reply аÑуджаны; выкарыÑтоўваеце замеÑÑ‚ Ñго -i альбо -f" #~ msgid "symbolic links are not supported on this system" #~ msgstr "Ð·Ð½Ð°ÐºÐ°Ð²Ñ‹Ñ Ð»ÑƒÑ‡Ñ‹Ð²Ñ‹ не падтрымліваюцца гÑтае ÑÑ‹ÑÑ‚Ñмай" #~ msgid "invalid format precision" #~ msgstr "недзеÑздольны фармат дакладнаÑьці" #~ msgid "unrecognized operand %s=%s" #~ msgstr "нераÑпазнаны апÑранд %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "аргумент --kilobytes аÑуджаны; замеÑÑ‚ Ñго карыÑтайцеÑÑ -k" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР]... [РÐДОК]...\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Друкуе проÑÑ‚Ñ‹Ñ Ð¼Ð½Ð¾Ð¶Ð½Ñ–ÐºÑ– кожнага ліка.\n" #~ "\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "нераÑпазнаны выбар \"-%c\"" #~ msgid "cannot get supplemental group list" #~ msgstr "немагчыма атрымаць ÑÑŒÐ¿Ñ–Ñ Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ… групаў" #, fuzzy #~ msgid "cannot return to working directory" #~ msgstr "немагчыма вÑрнуцца Ñž пачатковую працоўную Ñ‚Ñчку" #, fuzzy #~ msgid "cannot return to current directory" #~ msgstr "немагчыма атрымаць бÑгучую Ñ‚Ñчку" #, fuzzy #~ msgid "value %s is so large that it is not representable" #~ msgstr "%s: %s такі вÑлікі, што немагчыма паказаць" #~ msgid "create symbolic link %s to %s" #~ msgstr "Ñтварыць знакавую ÑпаÑылку %s на %s" #~ msgid "create hard link %s to %s" #~ msgstr "Ñтварыць жорÑткую ÑпаÑылку %s на %s" #~ msgid "creating symbolic link %s to %s" #~ msgstr "Ñтвараецца Ð·Ð½Ð°ÐºÐ°Ð²Ð°Ñ ÑпаÑылка %s на %s" #~ msgid "creating hard link %s to %s" #~ msgstr "Ñтвараецца жоÑÑ‚ÐºÐ°Ñ ÑпаÑылка %s на %s" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ТЭЧКР...\n" #~ msgid "cannot set permissions of directory %s" #~ msgstr "немагчыма ÑžÑталÑваць правы Ñ‚Ñчкі %s" #~ msgid "fifo files not supported" #~ msgstr "fifo файлы непадтрымліваюцца" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "немагчыма ÑžÑталÑваць правы fifo %s" #~ msgid "skip argument" #~ msgstr "абінуць довад" #~ msgid "limit argument" #~ msgstr "абмежаваць довад" #~ msgid "minimum string length" #~ msgstr "Ð½Ð°Ð¹Ð¼ÐµÐ½ÑŒÑˆÐ°Ñ Ð´Ð°ÑžÐ¶Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°" #~ msgid "width specification" #~ msgstr "ÑпÑÑ†Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ–" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: фармат=\"%s\" шырынÑ=%d\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n Ðовы радок.\n" #~ " \\r Ð’Ñртаньне карÑткі.\n" #~ " \\t Ð“Ð°Ñ€Ñ‹Ð·Ð°Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑцыÑ.\n" #~ " \\v Ð’ÑÑ€Ñ‚Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑцыÑ.\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Ð’Ñ‹ павінны былі атрымаць копію ліцÑнзыі \"GNU General Public License\n" #~ "разам з гÑтай праграмай, калі не, ліÑтуйце Ñž Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "немагчыма зьмÑніць Ñ‚Ñчку з %s на .." #~ msgid "%s changed dev/ino" #~ msgstr "%s зьмÑніў dev/ino" #~ msgid "cannot lstat %s" #~ msgstr "немагчыма выканаць lstat %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "немагчыма перайÑьці з %s у %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "немагчыма выдаліць `.' ці `..'" #~ msgid "cannot restore current working directory" #~ msgstr "немагчыма аднавіць бÑгучую працоўную дырÑкторыю" #~ msgid "invalid format string: %s" #~ msgstr "нерÑчаіÑны радок фармату: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐРЫ] ФÐЙЛ [...]\n" #~ msgid "invalid number of lines: 0" #~ msgstr "недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "ВыкарыÑтаньне: %s [ВЫБÐР] ФÐЙЛ...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: Ñ€Ñжым\n" #~ msgid "creating %s" #~ msgstr "Ñтвараецца %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ " ÐбнаўлÑе Ñ‡Ð°Ñ Ð´Ð¾Ñтупу й зьмÑÐ½ÐµÐ½ÑŒÐ½Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° ФÐЙЛа да бÑгучага чаÑу.\n" #~ "\n" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld дзень" #~ msgstr[1] "%ld дні" #~ msgstr[2] "%ld дзён" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ ФÐЙЛ ]\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Увага! Выбар -i будзе выдалены Ñž будучым; выкарыÑтоўвайце -u замеÑÑ‚ Ñго." ����������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/Rules-quot������������������������������������������������������������������������0000664�0000000�0000000�00000003400�11624730202�012761� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/fi.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000354221�12107204516�012073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���ø��0���ð��ý��°/�����¤?�����¬?��Ä?������A�����A��ø���A��Â���B��ª���ÛB��G��†C��º���ÎD��p���‰E��!��úE��¼���G��w��ÙG��5��QI��~���‡J�� ���K��G���K��¡���\K��#��þK����"M��Ä���'N��z���ìN��ˆ���gO��„���ðO����uP��3��ŠQ��0���¾R��Ê���ïR��ç���ºS��¾���¢T��Œ���aU��æ���îU����ÕV��9���çW��t��!X��Ì���–Y��Ë���cZ��7���/[��¼���g[��F���$\��ì���k\��¾��X]��Ð��_��,���è`��º���a�����Ða��·���ab��p���c��5���Šc����Àc����ßd��×���þe��ò���Öf��É���Ég��Ê���“h��ð���^i��Ô���Oj��Ó���$k��¤���øk��i���l��õ���m��Z���ým��.��Xn��ž���‡o��O��&p����vq�� ��s��Ë��t��¢���ßu��¡��‚v�� ��$x��Ý���2y��Ò���z��’���ãz��°���v{��u���'|�����|��4��-}����b~��í���t�� ��b€��<���m��z���ª��þ���%‚��f��$ƒ��Æ���‹„��È���R…��q��†��÷��‡��Þ���…‰��ƒ���dŠ��Ñ���èŠ��Í���º‹��Ä���ˆŒ��Ñ���M��ë���Ž���� ��Ó�����I���î����8‘��=��Æ’��*��”��C���/•��?���s•��š��³•��¨��N—��ú���÷˜����ò™��Ý���›�� ���ï›�� ���ú›��X��œ��;���a��|������Ÿ��Ô���. ��Ü���¡��þ���à¡�� ���ߢ�����ê¢�����ï¢�����ø¢�����þ¢����£�� ���-¤�� ���7¤�����C¤�����V¤�����i¤�����~¤�� ���š¤��+���»¤�����ç¤������¥��D���¥��0���`¥�����‘¥��"���ª¥�����Í¥��/���Ý¥�� ��� ¦�����.¦�����F¦�����\¦�����u¦��>���’¦��"���Ѧ��%���ô¦��B���§��*���]§�����ˆ§�����§§��)���¹§�����ã§��%����¨��,���&¨��$���S¨�����x¨��/���˜¨�����Ȩ��8���ب�����©�����&©�����E©�����b©�����v©�����•©�����ª©�����»©�����Щ�����ë©�����ª�����ª�����-ª�����@ª�����Qª��'���bª�����Šª��*���¥ª�����Ъ��$���îª�����«�� ���#«�����D«��"���Z«�����}«�����“«��;���©«�����å«�����ø«�����¬�����0¬�����M¬�����k¬�����¬��"���–¬�����¹¬�����̬��)���æ¬�����­�����-­�����>­��"���]­��1���€­��'���²­��(���Ú­�� ���®�����$®�����7®�����P®��"���k®�����Ž®�����®��"���°®�� ���Ó®�� ���ß®�����ì®�����þ®�����¯�����¯��5���;¯��0���q¯��.���¢¯�����ѯ��"���í¯�����°��+��� °��%���L°�����r°�����’°�����”°��l���˜°��;��±�����A²�� ���W²��)���e²�����²�����¡²�����¸²�����ϲ�� ���æ²�����ñ²�����ö²�����ü²����� ³�� ���³�� ���³��k��%³�����‘´��K���™´��8���å´�����µ�� ���'µ�� ���2µ��3���>µ��½���rµ�����0¶�����?¶�� ���O¶�� ���\¶�����h¶�����x¶��<��}¶��\���º·��0���¸�� ���H¸�����R¸�����Y¸��1���h¸�� ���š¸��7���¥¸�����ݸ�����ì¸�����ñ¸�����÷¸�����ý¸�����¹�����¹��:���¹�����T¹�����c¹�����j¹�����‡¹�����™¹�����´¹�� ���ù�� ���Ϲ�� ���Û¹�����è¹�� ���ù¹�����º�����º�����(º�����-º�� ���3º�� ���@º�����Nº�����_º�����yº�����Šº�� ���™º�� ���§º�� ���´º�� ���Àº�����˺�����к�����Õº��*���ïº�����»�����»����1»��o���C¼�����³¼�� ���·¼�� ���ż�� ���Ѽ�� ���ܼ�����é¼��2���ð¼��i��#½��;���¾��¸���ɾ��†���‚¿��;��� À��%���EÀ��†���kÀ�� ���òÀ�� ���üÀ�� ��� Á�����Á�����)Á�����:Á�����IÁ�� ���XÁ��1���fÁ��'���˜Á�� ���ÀÁ�� ���ÎÁ�� ���ÜÁ��*���éÁ�����Â�����Â�����,Â��5���1Â�� ���gÂ�� ���sÂ�����€Â��$���…Â��$���ªÂ�����ÏÂ�����áÂ�����æÂ�� ���õÂ�����Ã�� ���Ã��,���#Ã��&���PÃ�� ���wÃ��'���˜Ã��0���ÀÃ�����ñÃ�����Ä��)���-Ä��Y���WÄ��'���±Ä��T���ÙÄ��'���.Å��(���VÅ�����Å�����“Å��&���¯Å��š���ÖÅ�����qÆ��#���ˆÆ��&���¬Æ�����ÓÆ��"���òÆ��T���Ç��g���jÇ��†���ÒÇ��.���YÈ�����ˆÈ��"���§È��+���ÊÈ��Y���öÈ��~���PÉ��¤���ÏÉ��ä���tÊ��=���YË�����—Ë�� ���µË��¢���ÖË��F���yÌ��'���ÀÌ��'���èÌ��Z���Í��`���kÍ��!���ÌÍ��!���îÍ��$���Î�� ���5Î��'���VÎ��<���~Î�����»Î�����ÀÎ�����ÅÎ��¹���ÚÎ�� ���”Ï�����žÏ�����£Ï�����©Ï��;���ÀÏ��3���üÏ��/���0Ð��+���`Ð��'���ŒÐ��#���´Ð�����ØÐ�����øÐ�����Ñ��<���$Ñ�����aÑ�����gÑ�����mÑ��*���oÑ�����šÑ��A���·Ñ��2���ùÑ��1���,Ò�� ���^Ò�����jÒ��!���}Ò�����ŸÒ��#���¦Ò�����ÊÒ�����æÒ�����÷Ò��*���Ó�����3Ó�����QÓ��"���qÓ�����”Ó�����²Ó��E���ÑÓ��;���Ô�� ���SÔ��#���tÔ��#���˜Ô��,���¼Ô��0���éÔ��,���Õ��#���GÕ�����kÕ�����†Õ�� ���œÕ�����½Õ�����ÙÕ�����÷Õ�����Ö��$���4Ö��'���YÖ�����Ö�����›Ö��!���±Ö�����ÓÖ�����ìÖ�����üÖ�����×�����0×��(���@×�����i×�����‚×��.���—×��2���Æ×�����ù×�����Ø�����/Ø��%���HØ��0���nØ��3���ŸØ��5���ÓØ����� Ù��*���"Ù�����MÙ�����hÙ��)���…Ù�����¯Ù��%���ÀÙ�����æÙ��8���öÙ�����/Ú�����EÚ��&���cÚ��:���ŠÚ��.���ÅÚ��!���ôÚ�����Û��&���%Û�����LÛ�����\Û�����pÛ�����Û�����–Û�����¯Û�����ÊÛ�����ãÛ�����úÛ��%���Ü�� ���7Ü�� ���DÜ�����QÜ�����dÜ�����yÜ�����Ü�����¦Ü�����½Ü�����ÔÜ�����éÜ�����ÿÜ�� ���Ý�����Ý�� ���,Ý�����8Ý�� ���HÝ�����RÝ��"���eÝ�� ���ˆÝ�����©Ý�����ºÝ�����ËÝ�����ÑÝ�����ãÝ��#���ôÝ��!���Þ��'���:Þ�����bÞ�����xÞ�����—Þ�����°Þ��$���ÂÞ��#���çÞ��%��� ß�����1ß��!���Qß�����sß��-���‘ß��1���¿ß�� ���ñß�����ÿß�����à�����1à��.���6à�����eà��D���}à�����Âà�����Òà�����ïà����� á�����(á�����Bá�����Fá��=���]á��@���›á��:���Üá�����â��!���5â�����Wâ�����iâ�����{â��;���’â�����Îâ�����äâ�����øâ�� ���ã�����4ã�����Oã��*���bã��-���ã�����»ã�����Ëã�����âã�����÷ã�����ä�����'ä�����Cä��%���[ä��#���ä��"���¥ä�� ���Èä�����Öä�����çä��"���ùä�����å�����/å��#���Kå��!���oå��!���‘å�����³å�����Êå�����éå�����æ�� ���!æ�����.æ�����>æ�����Oæ�����aæ��!���æ�����¡æ��"���¹æ�����Üæ�����üæ�� ���ç�����;ç�����Sç��]���hç�����Æç�����Üç��*���òç�� ���è�����>è�����Sè�����lè��R���‰è��L���Üè��(���)é�� ���Ré�����_é�����oé�����é��,���Ÿé��9���Ìé�����ê��'��� ê��8���4ê�����mê�����‚ê�� ���“ê��/���¡ê��-���Ñê�����ÿê�����ë��&���0ë�����Wë��$���lë�����‘ë�����¨ë�����Âë�����Òë��"���ëë�����ì��#���%ì�����Iì��!���iì��7���‹ì��=���Ãì�����í�����í�� ���2í�����@í��-���Xí��C���†í�� ���Êí��'���Ôí�����üí����� î�����î��4���2î�� ���gî��&���ˆî�� ���¯î�����»î�����Õî�����õî����� ï����� ï�����>ï��>���Vï�� ���•ï�� ��� ï�����¬ï�����Áï�� ���Ôï�� ���áï�����íï�����ð�� ���ð�� ���%ð�����/ð��)���Ið�����sð�����Žð�����¢ð��$���·ð��-���Üð��7��� ñ�����Bñ�����Iñ�����Xñ�����gñ�����€ñ�� ���ñ�����œñ�����ºñ��J���Óñ�� ���ò�� ���,ò�����9ò��*���Nò�����yò�����•ò�����®ò��8���Ëò�����ó��H��� ó��?���Só��=���“ó��>���Ñó��3���ô��(���Dô��N���mô��f���¼ô��>���#õ��@���bõ��<���£õ�����àõ��/���øõ�����(ö�����.ö�����Bö�����Zö��3���nö�����¢ö�����ºö��.���Òö�����÷��0���÷�����H÷��H���Z÷��2���£÷��=���Ö÷��#���ø�����8ø��=���Sø��,���‘ø��<���¾ø��0���ûø��3���,ù��7���`ù��c���˜ù��t���üù�� ���qú��3���|ú��5���°ú��j���æú��0���Qû��,���‚û��*���¯û�� ���Úû�����æû�� ���ùû�� ���ü��7���ü��¢��Lü�����ïý��á���ñý��É���Óþ��à���ÿ��W��~��Î���Ö�t���¥�;���â���V�¡��9�n��Û�{���J����Æ�b���Û�®���> �2��í �-�� �ø���N �~���G �”���Æ �™���[�A��õ�I��7�2����â���´�ÿ���—�È���—�™���`���ú��� �>����€��R�Î���Ó�Ê���¢�K���m�â���¹�K���œ���è�!��ü�ð���/���!�Ü���?!�†���"�Å���£"�s���i#�0���Ý#�*��$�B��9%�Ò���|&�í���O'�Ä���=(�Ô���)�ô���×)�æ���Ì*�"��³+�Ä���Ö,�u���›-���.�^���/�V��v/�·���Í0�—��…1�ø��3� ��5���76�Æ���O8�ó��9�X�� ;�Û���c<�ï���?=�±���/>�º���á>�‘���œ?�Þ���.@�v�� A�h��„B�ì���íC�ó���ÚD�E���ÎE�|���F���‘F�o��§G�Ë���I�Ý���ãI�¨��ÁJ���jL� ��ƒN�¦���O�Ô���4P�Õ��� Q�Í���ßQ�ã���­R���‘S�.��”T���ÃU�P���ÔV�Ž��%W���´X�8��ÅY�I���þZ�F���H[�º��[�Õ��J]�@�� _�!��a`� ��ƒa� ���b����šb�T��®b�6���d�|��:d�3��·e�ô���ëf���àg���äh� ���æi����ñi� ���öi�����j����j�f��j� ���k� ���‰k�!���—k�&���¹k�"���àk����l�&���l�3���Fl����zl�!���•l�\���·l�0���m�+���Em�/���qm����¡m�%���³m�/���Ùm�"��� n����,n�$���Hn�)���mn�N���—n�-���æn�6���o�`���Ko�?���¬o����ìo�&��� p�<���1p�%���np�8���”p�=���Íp�4��� q�!���@q�5���bq����˜q�?���¬q����ìq�*���r����2r����Rr�+���nr����šr����²r����Ér�"���är�!���s����)s����Es����_s����ws����Žs�,���¥s� ���Òs�5���ós�#���)t�0���Mt����~t�/���“t����Ãt�%���Üt����u���� u�U���@u����–u����¬u����Êu�.���èu� ���v����8v����Ov�,���lv����™v�&���³v�-���Úv�+���w����4w����Kw�!���iw�C���‹w�$���Ïw�'���ôw����x����<x�%���Zx�'���€x�/���¨x� ���Øx����æx�*���ÿx� ���*y����8y�"���Gy����jy����ˆy�$���¥y�;���Êy�?���z�9���Fz�%���€z�(���¦z����Ïz�1���âz�(���{�"���={����`{����d{�š���g{�Ÿ��|� ���¢}����Ã}�*���Ù}����~����~����5~����T~� ���s~����~����„~����Š~����™~����Ÿ~� ���§~�§��±~� ���Y€�K���c€�9���¯€� ���é€� ���ó€� ���þ€�D��� �É���O����‚����(‚� ���8‚� ���E‚����Q‚����a‚�Ž��f‚�]���õƒ�3���S„����‡„� ���˜„����¥„�1���¾„����ð„�9���…����@…����O…����V…����]…����d…����k…����|…�E���ƒ…����É…����Û…����ä…����†�$���†����B†� ���Q†� ���]†� ���i†����v†� ���‡†����“†����¥†����¶†����½†� ���Ć� ���ц����߆����ð†� ���‡����‡� ���‡� ���-‡� ���:‡� ���F‡����R‡����W‡����\‡�*���{‡����¦‡����©‡���À‡�e���Òˆ����8‰� ���<‰� ���J‰� ���V‰� ���a‰� ���n‰�>���|‰�‚��»‰�6���>‹�É���u‹�Ž���?Œ�+���ÎŒ�%���úŒ�k��� � ���Œ� ���—� ���¤����°����Ä����Õ����ä� ���ó�E���Ž�:���GŽ� ���‚Ž� ���Ž� ���žŽ�)���«Ž����ÕŽ����ÝŽ����íŽ�C���òŽ� ���6����B����U�*���Z�'���…����­����À����Ç����Ö����ç� ����9����)���M�*���w�-���¢�:���Ð�%��� ‘�'���1‘�3���Y‘�f���‘�1���ô‘�T���&’�+���{’�/���§’����×’� ���ð’�+���“�Ú���=“����”�(���4”�-���]”�'���‹”�/���³”�e���ã”�q���I•�«���»•�5���g–�#���–�-���Á–�4���ï–�a���$—�Š���†—�³���˜�ò���Ř�H���¸™�&���š�)���(š�Í���Rš�R��� ›�.���s›�/���¢›�n���Ò›�t���Aœ�#���¶œ�/���Úœ�2��� �'���=�1���e�Q���—����é����ï����õ�¸��� ž� ���Æž����Ñž����Ùž����àž�:���ùž�4���4Ÿ�0���iŸ�,���šŸ�(���ÇŸ�$���ðŸ� ��� ����6 ����S �@���e ����¦ ����® ����¶ �2���º �$���í �;���¡�I���N¡�J���˜¡����ã¡����ö¡�)��� ¢����5¢�7���<¢����t¢����”¢�#���´¢�C���Ø¢�0���£�,���M£�6���z£����±£�'���У�R���ø£�H���K¤�.���”¤�>���ä�(���¥�:���+¥�>���f¥�-���¥¥�3���Ó¥�!���¦� ���)¦�1���J¦�&���|¦�+���£¦� ���Ϧ�(���ð¦�5���§�9���O§�.���‰§�+���¸§�,���ä§�-���¨�'���?¨�(���g¨�$���¨�%���µ¨�3���Û¨�!���©�+���1©�9���]©�4���—©�*���Ì©�,���÷©�"���$ª�.���Gª�,���vª�/���£ª�J���Óª����«�C���9«�#���}«�#���¡«�6���Å«����ü«�2���¬����K¬�N���b¬�4���±¬�0���æ¬�-���­�;���E­�4���­�#���¶­����Ú­�+���ú­����&®�.���D®�'���s®�#���›®�'���¿®�#���ç®���� ¯�#���%¯����I¯�*���_¯� ���Н����˜¯����°¯����ů����ܯ����ø¯����°����)°����I°����^°����s°� ���‰°� ���“°����¡°����³°����ǰ����Ö°�'���ó°�(���±����D±�"���b±����…±����‹±����©±�8���ű�3���þ±�:���2²�'���m²�0���•²����Ʋ�#���à²�6���³�.���;³�2���j³�/���³�0���ͳ�&���þ³�6���%´�T���\´����±´����Ñ´����ñ´� ��� µ�C���µ�$���[µ�C���€µ����ĵ�+���Úµ�(���¶����/¶�&���O¶����v¶�'���z¶�J���¢¶�I���í¶�G���7·�=���·�*���½·����è·� ���¸����¸�J���-¸����x¸����“¸�!���®¸�'���и����ø¸����¹�3���*¹�6���^¹����•¹�"���¯¹����Ò¹����ë¹����º� ���%º����Fº�6���eº�$���œº�.���Áº����ðº����»����»�*���3»����^»�#���{»�)���Ÿ»�$���É»�$���î»����¼�#���/¼����S¼�#���s¼����—¼����­¼����Ƽ����à¼�$���ù¼�(���½����G½�*���a½�*���Œ½����·½�+���×½����¾����¾�q���:¾����¬¾����ƾ�0���à¾�$���¿����6¿����S¿����k¿�N���†¿�J���Õ¿�,��� À����MÀ����fÀ����‚À� ���šÀ�5���»À�D���ñÀ����6Á�,���=Á�7���jÁ����¢Á� ���»Á� ���ÈÁ�5���ÓÁ�/��� Â����9Â����NÂ�+���cÂ����Â�*���ªÂ����ÕÂ����êÂ�����Ã����Ã�1���0Ã����bÃ�$���{Ã���� Ã����¿Ã�@���ÞÃ�H���Ä�%���hÄ����ŽÄ����«Ä����ÊÄ�1���éÄ�T���Å� ���pÅ�.���{Å� ���ªÅ� ���·Å����ÄÅ�<���ÛÅ�%���Æ�+���>Æ����jÆ�0���Æ�)���²Æ����ÜÆ����õÆ�(���Ç�%���:Ç�z���`Ç� ���ÛÇ����åÇ����üÇ����È����-È����AÈ����ZÈ����uÈ� ���È����šÈ����£È�(���½È�#���æÈ� ��� É����+É�2���@É�-���sÉ�=���¡É����ßÉ� ���çÉ� ���òÉ����þÉ� ���Ê�&���#Ê�#���JÊ����nÊ�O���ŽÊ����ÞÊ� ���ðÊ����þÊ�;���Ë�!���WË����yË����™Ë�7���³Ë����ëË�U���ñË�J���GÌ�H���’Ì�=���ÛÌ�4���Í�)���NÍ�P���xÍ�y���ÉÍ�@���CÎ�L���„Î�;���ÑÎ�'��� Ï�5���5Ï� ���kÏ����uÏ����ŽÏ����®Ï�5���ÌÏ����Ð����Ð�?���7Ð����wÐ�H���”Ð�*���ÝÐ�B���Ñ�;���KÑ�O���‡Ñ�%���×Ñ����ýÑ�;���Ò�8���XÒ�:���‘Ò�8���ÌÒ�M���Ó�:���SÓ�\���ŽÓ�†���ëÓ� ���rÔ�<���€Ô�:���½Ô�z���øÔ�9���sÕ�)���­Õ�3���×Õ���� Ö�"���Ö����=Ö����TÖ�8���rÖ��������“��Ö���ì��Â��®���1���ø���2������ì���}������=���ô���Ó��‹���Ê�������J���l�����9������[����e������B��p��������Ð������R�������÷������ä�������n���²��˜��Y��H������Ü��µ�����������s����������»��‡��ë��¬��‚��@������¦���Ä�� �������L������������r������ç��]������ê���c��������������¥������ã��’���¾��Ñ��]������Û���a������*��¯������ð������|���G��L�������Î���6��þ���Ð��������a������������ ���*����������\���*��Ù����������d������`���³���p������À������Ú���y�����������ë������G��'��D��“���w������î��‡�����������H��€���Ž��ö���Ã��`��������P����¨������Á��������U���5�����������O�����ì��v��[���ô��Ô��������&����E������`��÷���»����$��v��~���������{��� ��R��h��� �������õ��)��1��¦��y��9���‘��¼�������Ô��õ��®��(������'������F���6������µ������������º��l���t������‹��·��ñ��ƒ���)����¡��æ���&���(�������½���ý����������Ë��û������¦��?���£���%��s��à������ø��F��C��,��^�����i��®��������w���������������������¶�����3��>��œ������������������å�������I���,������î�������-��7�������������±����Ò��¬��Ì����������;���¹���™������p���q���z����������������Œ��¿���������������š���´���ª�� �������¢��������������<��«�������d���¸��Ö��t���È��?��k��|��J����������²�������„��Ë��ž��P���è��!���ä��{��?��Å��‰���¯���›������_������U��ï����������������������Ã����j������������������å��h��´��Ø��Ø�������E�����f��1�����§�������������5������ ��ê��œ�������‰��à���„��������������Ú������É���Ü���8���ª��ö��ç��ú���ã��Ä���I����������f��˜����²��ï������O������T��¿��M���M��c���Í��R��À���µ���Ê��)���Ý��i��ï������º������"����Õ���Å�������í���������l��P������Š������Ç������–��ß���o���ñ��� ��j���Û������Í������3��S���C����������������†������L��§������O���¬���’��¹�����Ç��B��+��Á�����������€��Ý��†���������Z��á��/�������í��á���°���‘��À��Ó���Z���¸��Ä��Ù���b��Ê������H����������#�����/������ ��m�����º�������ß��K���m���������ˆ��\��É������:������í�������A�������›���X������@��Ï���������Ö��»�����������ˆ���ë������—����������u����������Ý���ÿ���������ð���Ì���Ð��·�������¾�������������8�����Ÿ�����������Ó��N������b�� ������é����È���k��Ç���ù�������Š��������ò��2��Y��§��2��@���ê��è��¥������é��g��S��n����������������¶���������o������;��¹��£��˜���w���Â��û���¢������ ���ö��]���������›��W�����¸���-����¯������Ã���Þ��N��Ï��x��~��ú��¡���Í��g��\��=��/��Þ�������h��Ñ���×������ã���y��~���k������n������ç�������’��(����7��� ��–��e���•��'���ª���$��N�������³��Æ�������������.���Œ��<��+��°����…���������ý�����Å��������á��¨���ó����������ò�������W������%������x������4���à��„���½��ó��� ���ˆ������d����������©��Ì��Û������-���Ü��������¨��3��� ��g���m��}���������!��G���}��4��_���f���M��±��Œ���0��‚���æ������e��·��ž��Ú����Š�������8��r���”����������� ��ñ��>�����������V��•�����������������0���F��è���Þ��j��ù����������”������£��Á��š������0��#�������D���Ò��•��K���������œ��Y���Q���Æ���A��b���|��Ž���o��u���–���X��T��������É����½��‚����������t������A��������—��‰��‘���é���>�����4���������� �� ��Æ��"���+���Ø��â��ó��$�������D����������z��È��±���Ï��´����¶��ü���ô������Ë���������r��^��Î��B�������V��Õ�����ä�����€��Î��V���z���Õ��J��{��÷��v�������������¡������K��;��¿����������â�����&��.��������������­��7��^��¾��†����� ��%���¼����������Ÿ��î��u��ü������«��Ò���‡��������ƒ��ð��a�������<�������������”��I����Ù��q��Ô���æ��ÿ������©��¤��ø������³��å�� ���������������������[��â���#������ ���™�������“��ƒ����õ�������U������…����5��­���� ����������S������¤���¥���C�������q��©�������×��Ÿ��6���T���Q��:��c�����š��ž���þ����‹��×�����������.��=��,���s������i���W��x�����������¢���X���Ñ��9��Z��:���—��������Q��Ž������­���������������_������!��¼�� ������������"�����ò������«��™��…��¤��Â���°������E��ß�����«Ö�Ü?��@��@��0@��D@��`@��t@�� @��¼@��Ø@��ì@��A��³Ö��������������� �����������������ÿÿÿÿÓÖ��������1���ÿÿÿÿ×��������/���ÿÿÿÿ5×��������(���ÿÿÿÿb×������������������ÿÿÿÿŽ×�����������ÿÿÿÿ•×��������������������������������ÿÿÿÿÀ×������������������ÿÿÿÿï×������������������ÿÿÿÿØ��������+���ÿÿÿÿJØ��������,����������ÿÿÿÿŠØ�����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A mere - implies -i. If no COMMAND, print the resulting environment. � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -g like -l, but do not list owner � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Arnold Robbins�Avail�Available�Brian Fox�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�Filesystem�Force changed blocks to disk, update the super block. �H. Peter Anvin�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �In real life: �Inodes�Invalid character class name�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�LINE�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Non-recoverable failure in name resolution�OK�Ordering options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Padraig Brady�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print information about users who are currently logged in. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Project: �Q. Frank Xia�Randy Smith�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stuart Kemp�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Torbjorn Granlund�Type�Ulrich Drepper�Unknown error�Unknown system error�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot fstat %s�cannot get current directory�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set time stamps for %s�cannot skip past end of combined input�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�couldn't get boot time�created directory %s�creating directory %s�creating file %s �directory�division by zero�dup2 failed�empty file name�empty tab�error closing file�error in regular expression search�error initializing month strings�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to remove directory %s�failed to return to initial working directory�failed to set the copy of stderr to close on exec�fflush failed�field number %s is too large�field number is zero�fifo�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid group�invalid group %s�invalid group: %s�invalid header numbering style: %s�invalid integer %s�invalid integer argument %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid page range %s�invalid precision: %s�invalid repeat count %s in [c*n] construct�invalid starting line number: %s�invalid tab size: %s�invalid time interval %s�invalid time style format %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -l or -t options specified�multiple output files specified�multiple output formats specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�not a tty�not writing through dangling symlink %s�number of bytes�number of lines�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�target %s is not a directory�target directory not allowed when installing a directory�term=�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�too many %% conversion specifications in suffix�total�typed memory object�unknown binary operator�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�write error�write error for %s�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 8.5 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2010-07-18 00:17+0300 Last-Translator: Lauri Nurmi <lanurmi@iki.fi> Language-Team: Finnish <translation-team-fi@lists.sourceforge.net> Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � � ( LAUSEKE ) LAUSEKE on tosi ! LAUSEKE LAUSEKE on epätosi LAUSEKE1 -a LAUSEKE2 sekä LAUSEKE1 että LAUSEKE2 ovat tosia LAUSEKE1 -o LAUSEKE2 joko LAUSEKE1 tai LAUSEKE2 on tosi � -a, --all sama kuin -b -d --login -p -r -t -T -u -b, --boot viimeisimmän käynnistyksen aika -d, --dead näytä kuolleet prosessit -H, --heading näytä otsikkorivi � -b TIEDOSTO TIEDOSTO on olemassa ja on lohkolaitetiedosto -c TIEDOSTO TIEDOSTO on olemassa ja on merkkilaitetiedosto -d TIEDOSTO TIEDOSTO on olemassa ja on hakemisto -e TIEDOSTO TIEDOSTO on olemassa � -l tuota pitkän mallin tuloste annetuille TUNNUKSILLE -b älä näytä kotihakemistoa ja kuorta pitkässä mallissa -h älä näytä project-tiedostoa pitkässä mallissa -p älä näytä plan-tiedostoa pitkässä mallissa -s lyhyen mallin tuloste, tämä on oletus � ARG1 * ARG2 aritmeettinen tulo ARG1 kerrottuna ARG2:lla ARG1 / ARG2 aritmeettinen osamäärä ARG1 jaettuna ARG2:lla ARG1 % ARG2 aritmeettinen jakojäännös ARG1 jaettuna ARG2:lla � ARG1 + ARG2 ARG1:n ja ARG2:n aritmeettinen summa ARG1 - ARG2 ARG1:n ja ARG2:n aritmeettinen erotus � ARG1 < ARG2 ARG1 on pienempi kuin ARG2 ARG1 <= ARG2 ARG1 on pienempi tai yhtäsuuri kuin ARG2 ARG1 = ARG2 ARG1 on yhtäsuuri kuin ARG2 ARG1 != ARG2 ARG1 on erisuuri kuin ARG2 ARG1 >= ARG2 ARG1 on suurempi tai yhtäsuuri kuin ARG2 ARG1 > ARG2 ARG1 on suurempi kuin ARG2 � TIEDOSTO1 -ef TIEDOSTO2 tiedostoilla on sama laite ja sama inode-numero TIEDOSTO1 -nt TIEDOSTO2 TIEDOSTO1 on uudempi (muokkauspäiväys) kuin TIEDOSTO2 TIEDOSTO1 -ot TIEDOSTO2 TIEDOSTO1 on vanhempi kuin TIEDOSTO2 � KOK.LUKU1 -eq KOK.LUKU2 KOK.LUKU1 on yhtäsuuri kuin KOK.LUKU2 KOK.LUKU1 -ge KOK.LUKU2 KOK.LUKU1 on suurempi tai yhtäsuuri kuin KOK.LUKU2 KOK.LUKU1 -gt KOK.LUKU2 KOK.LUKU1 on suurempi kuin KOK.LUKU2 KOK.LUKU1 -le KOK.LUKU2 KOK.LUKU1 on pienempi tai yhtäsuuri kuin KOK.LUKU2 KOK.LUKU1 -lt KOK.LUKU2 KOK.LUKU1 on pienempi kuin KOK.LUKU2 KOK.LUKU1 -ne KOK.LUKU2 KOK.LUKU1 on erisuuri kuin KOK.LUKU2 � MERKKIJONO : SÄÄNNLAUS ankkuroitu SÄÄNNLAUSeen mallihaku MERKKIJONOsta match MERKKIJONO SÄÄNNLAUS sama kuin MERKKIJONO : SÄÄNNLAUS substr MERKKIJONO SIJA PITUUS MERKKIJONOn osajono, SIJA 1:stä alkaen index MERKKIJONO MERKIT MERKKIJONOn kohta missä jokin MERKEISTÄ on tai 0 length MERKKIJONO MERKKIJONOn pituus � b luo lohkoerikoistiedosto (puskuroitu) c, u luo merkkierikoistiedosto (puskuroimaton) p luo FIFO-putki � # käyttäjiä=%lu � Pelkkä â€-†tekee saman kuin -i. Ilman KOMENTOa tulostetaan seurauksena saatava ympäristö. � Erikoistapaus: cp tekee varmuuskopion LÄHTEestä, jos force- ja backup- valitsimet on annettu, ja LÄHDE ja KOHDE ovat sama nimi olemassaolevalle tavalliselle tiedostolle. � Huomaa, että monet operaattorit täytyy suojata kuorilta. Vertailut ovat numeerisille argumenteille aritmeettisia, muille sanakirjamaisia. Mallihaut palauttavat merkkien \( ja \) väliin täsmäävän merkkijonon tai tyhjän. Merkkien \( ja \) puuttuessa palautuu täsmäävien merkkien määrä tai 0. � Sekä MAJOR- että MINOR-arvo on annettava, jos TYYPPI on b, c tai u, ja ne on jätettävä antamatta, jos tyyppi on p. Jos MAJOR tai MINOR alkaa merkeillä 0x tai 0X, se tulkitaan heksadesimaaliluvuksi; jos numerolla 0, oktaaliluvuksi; muussa tapauksessa kymmenkantaiseksi luvuksi. TYYPPI voi olla: � Oletuksena valitaan -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. MM ovat kaksi rajoitinmerkkiä, jotka erottavat kaksi loogista sivua; toisen merkin puuttuminen tulkitaan kuin :. Kenoviiva \ saadaan aikaan kirjoittamalla \\. TYYLI on yksi seuraavista: � Yhdistelyasetukset: * [-]LCASE sama kuin [-]lcase cbreak sama kuin -icanon -cbreak sama kuin icanon � Esimerkkejä: %s f - g Tulosta f:n sisältö, sitten vakiosyöte, sitten g:n sisältö. %s Kopioi vakiosyötteestä vakiotulosteeseen. � Esimerkkejä: %s hlokunta /u Vaihda /u:n ryhmäksi â€hlokuntaâ€. %s -hR hlokunta /u Vaihda /u:n ja alitiedostojen ryhmäksi â€hlokuntaâ€. � Käsittele vakiosyötteeseen liitettyä tty:tä. Ilman argumentteja tulostaa nopeuden baudeina, rivikurin ja poikkeamat stty sane'istä. Asetuksissa MERKKI annetaan sellaisenaan tai koodattuna, esim. ^c, 0x37, 0177 tai 127; erikoisarvoja â€^-†ja â€undef†käytetään kun halutaan erikoismerkit pois käytöstä. � Jos TIEDOSTO on â€-â€, silputaan vakiosyötteeseen. Jos valitsin --remove (-u) on annettu, TIEDOSTO(t) poistetaan. Tiedostoja ei poisteta oletuksena, koska usein käsitellään laitetiedostoja, kuten /dev/hda, joita ei ole tarkoitus poistaa. Valitsinta --remove käytetään yleensä käsiteltäessä tavallisia tiedostoja. � Jos TIEDOSTO on -, kopioidaan vakiotulosteeseen. � Syöteasetukset: [-]brkint katkokset aiheuttavat keskeytyssignaalin [-]icrnl muunna vaununpalautus rivinvaihdoksi [-]ignbrk jätä katkosmerkit huomiotta [-]igncr jätä vaununpalautus huomiotta � Paikalliset asetukset: [-]crterase toista erase-merkit näin: askelpalautin-välilyönti-askelpalautin * crtkill hävitä koko rivi totellen echoprt- ja echoe-asetuksia * -crtkill hävitä koko rivi totellen echoctl- ja echok-asetuksia � HUOM: käytössä oleva kuori saattaa sisältää oman %s-versionsa, joka yleensä korvaa korvaa tässä kuvatun version. Kuoren tukemista ominaisuuksista saa lisää tietoa kuoren dokumentaatiosta. � Valinnainen â€-†ennen ASETUSta tarkoittaa vastakohtaa. Ei-POSIX-asetukset on merkitty *:lla. Käytettävissä olevat asetukset riippuvat alustasta. � Tulosteasetukset: * bsN askelpalauttimen viivetyyli, N välillä [0..1] * crN vaununpalautuksen viivetyyli, N välillä [0..3] * ffN arkinsyötön viivetyyli, N välillä [0..1] * nlN rivinvaihdon viivetyyli, N välillä [0..1] � Tulosta LAUSEKKEen arvo vakiotulosteeseen. Tyhjä rivi alla erottaa kasvavat laskujärjestysryhmät. LAUSEKE voi olla: ARG1 | ARG2 ARG1 jos se ei ole tyhjä eikä 0, muutoin ARG2 ARG1 & ARG2 ARG1 jos kumpikaan ei ole tyhjä eikä 0, muutoin 0 � Lue vakiosyötettä jos TIEDOSTO on -. Kukin HAHMO voi olla: � JOUKOTt ovat merkkijonoja. Useimmat merkit edustavat itseään. Tulkittavat sarjat ovat: \NNN merkki, jonka oktaaliarvo on NNN (1–3 oktaalinumeroa) \\ kenoviiva \a merkkiääni (BEL) \b askelpalautin \f paperinsyöttö \n rivinvaihto \r palautus \t vaakasarkain � Erikoismerkit: * dsusp MERKKI MERKKI lähettää terminaalin pysäytyssignaalin eof MERKKI MERKKI lähettää tiedostonlopetuksen (syöte päättyy) eol MERKKI MERKKI päättää rivin � Käytä tasan yhtä valitsimista -b, -c ja -f. Kukin LUETTELO koostuu yhdestä välistä tai useasta pilkuin erotetusta välistä. Valittu syöte kirjoitetaan lukujärjestyksessa, täsmälleen kerran. � Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä. � Ilman valitsimia tuotetaan kolmen sarakkeen tuloste. Sarake yksi sisältää ainoastaan TIEDOSTO1:ssä esiintyvät rivit, sarake kaksi ainoastaan TIEDOSTO2:ssa esiintyvät rivit, ja sarake kolme molemmissa esiintyvät rivit. � Ilman VALITSIMIA tulostetaan jokin sovelias kokoelma tunnistettua tietoa. � Kirjoita yksiselitteinen esitys TIEDOSTOsta vakiotulosteeseen, oletuksena oktaalitavuina. Jos TIEDOSTO-argumentteja annetaan useampi, niistä luetut syötteet yhdistetään samassa järjestyksessä. Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä. � --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva kohdetiedosto -b kuten --backup, mutta ei hyväksy parametria -d, -F, --directory salli pääkäyttäjän yrittää hakemistojen kovalinkitystä (huom: todennäköisesti epäonnistuu järjestelmän rajoitusten vuoksi myös pääkäyttäjältä) -f, --force poista olemassaolevat kohdetiedostot � --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva kohdetiedosto -b kuten --backup, mutta ei hyväksy argumenttia -c (ei huomioida) -C, --compare vertaile jokaista lähde-kohdetiedostoparia, ja älä muuta kohdetta lainkaan joissakin tapauksissa -d, --directory kohtele kaikkia argumentteja hakemistoniminä; luo kaikki annetut hakemistot alihakemistoineen � --help näytä tämä ohje ja poistu � --lookup yritä selvittää palvelinnimet DNS:n avulla -m vain koneen nimi ja vakiosyötteeseen liittyvä tunnus -p, --process näytä aktiiviset prosessit, jotka init on käynnistänyt � --no-preserve=OMIN.LUETT älä säilytä annettuja ominaisuuksia --parents lisää lähdepolku HAKEMISTOon � --strip-trailing-slashes poista /-merkit jokaisen LÄHDEargumentin perästä -S, --suffix=JÄLKILIITE korvaa tavanomainen varmuuskopioiden jälkiliite � --verbose näytä ilmoitus juuri ennen kunkin tulostiedoston avaamista � --version tulosta versiotiedot ja poistu � -evenp sama kuin -parenb cs8 * [-]lcase sama kuin xcase iuclc olcuc litout sama kuin -parenb -istrip -opost cs8 -litout sama kuin parenb istrip opost cs7 nl sama kuin -icrnl -onlcr -nl sama kuin icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar jätä pariteettivirheelliset merkit huomiotta * [-]imaxbel piippaa ja älä tyhjennä täyttä syötepuskuria merkille [-]inlcr muunna rivinvaihto vaununpalautukseksi [-]inpck ota syötteen pariteettitarkistus käyttöön [-]istrip poista ylin (8:s) bitti syötteen merkeistä � cooked sama kuin brkint ignpar istrip icrnl ixon opost isig icanon, eof ja eol -merkit oletusarvoihinsa -cooked sama kuin raw crt sama kuin echoe echoctl echoke � dec sama kuin echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq sama kuin [-]ixany ek erase ja kill -merkit oletusarvoihinsa evenp sama kuin parenb -parodd cs7 � ispeed N aseta syötenopeudeksi N * line N käytä rivikuria N min N kun myös -icanon, aseta valmiin luvun merkkiminimiksi N ospeed N aseta tulostenopeudeksi N � oddp sama kuin parenb parodd cs7 -oddp sama kuin -parenb cs8 [-]parity sama kuin [-]evenp pass8 sama kuin -parenb -istrip cs8 -pass8 sama kuin parenb istrip cs7 � raw sama kuin -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw sama kuin cooked � stop MERKKI MERKKI pysäyttää tulosteen susp MERKKI MERKKI lähettää pysäytyssignaalin * swtch MERKKI MERKKI vaihtaa toiselle kuoren tasolle * werase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun sanan � %A maa-asetuksen pitkä viikonpäivän nimi (esim. sunnuntai) %b maa-asetuksen lyhennetty kuukauden nimi (esim. tammi ) [huonoa suomea] %B maa-asetuksen pitkä kuukauden nimi (esim. tammikuu) %c maa-asetuksen päivämäärä ja aika (esim. la 3. maaliskuuta 2005 23:05:25) � %F pitkä päivämäärä; sama kuin %Y-%m-%d %g ISO-viikkonumeron vuoden kaksi viimeistä numeroa (ks. %G) %G ISO-viikkonumeron vuosi (ks. %V); käytetään yleensä vain %V:n kanssa � %S sekunti (00–60) %t sarkain %T aika; sama kuin %H:%M:%S %u viikonpäivä (1–7); 1 on maanantai � %U viikon numero, sunnuntai viikon ensimmäinen päivä (00–53) %V viikon numero (ISO), maanantai viikon ensimmäinen päivä (01–53) %w viikonpäivä (0–6); 0 on sunnuntai %W viikon numero, maanantai viikon ensimmäinen päivä (00–53) � %h sama kuin %b %H tunti (00-23) %I tunti (01-12) %j vuoden päivä (001-366) � %n rivinvaihto %N nanosekunnit (000000000-999999999) %p maa-asetuksen AM/PM-merkintä; tyhjä jos tuntematon %P kuten %p, mutta pienillä kirjaimilla %r maa-asetuksen 12-tuntinen kellonaika (esim. 11:11:04) %R 24-tuntinen tunti ja minuutti; sama kuin %H:%M %s sekuntimäärä ajanhetkestä 1970-01-01 00:00:00 UTC � %x maa-asetuksen päivämääräesitys (esim. 31.12.1999) %X maa-asetuksen aikaesitys (esim. 23:13:48) %y vuosiluvun kaksi viimeistä numeroa (00­–99) %Y vuosiluku � -D luo kaikki KOHTEen (puuttuvat) ylähakemistot viimeistä lukuun ottamatta, kopioi sitten LÄHDE KOHTEeseen -g, --group=RYHMÄ aseta ryhmä – muuten käytetään prosessin nykyistä ryhmää -m, --mode=OIKEUDET aseta oikeudet (kuten chmodissa) – muuten rwxr-xr-x -o, --owner=OMISTAJA aseta omistajuus (vain pääkäyttäjä) � -D, --date-format=MUOTO käytä MUOTOa otsakkeen päiväyksessä -e[MERKKI[LEVEYS]], --expand-tabs[=MERKKI[LEVEYS]] laajenna syöteMERKIT (sarkaimet) sarkainLEVEYTeen (8) -F, -f, --form-feed käytä arkinsyöttöä rivinvaihtojen sijaan sivujen erottamiseen (3-rivisellä sivuotsakkeella valitsimen -F kanssa, tai 5-rivisellä ja otsakkeella ja lopukkeella ilman valitsinta -F) � -G, --no-group älä näytä ryhmiä pitkässä luettelossa -h, --human-readable kun -l annettu, näytä koot helppolukuisessa muodossa (esim. 1K 234M 2G) --si sama kuin edellä, mutta kantalukuna 1000, ei 1024 � -S lajittele tiedoston koon mukaan --sort=SANA lajittele SANAn perusteella, ei nimen mukaan: none -U, extension -X, size -S, time -t, version -v --time=SANA kun -l annettu, näytä muutosajan sijaan SANAn mukainen aika: atime -u, access -u, use -u, ctime -c tai status -c; annettua aikaa käytetään lajitteluun, jos --sort=time � -T, -w, --mesg näytä myös tunnuksen viestitila merkeillä +, - tai ? -u, --users luettele kirjautuneet käyttäjät --message sama kuin -T --writable sama kuin -T � -W, --word-regexp=SÄÄNNLAUS käytä SÄÄNNLAUSetta kunkin avainsanan täsmäämiseen -b, --break-file=TIEDOSTO sanankatkaisumerkit tässä TIEDOSTOssa -f, --ignore-case älä huomioi kirjainkokoa -g, --gap-size=MÄÄRÄ tuloskenttien välin koko sarakkeina -i, --ignore-file=TIEDOSTO lue huomioimatta jätettävät sanat TIEDOSTOsta -o, --only-file=TIEDOSTO lue ainoiden sanojen luettelo tästä TIEDOSTOsta � -a, --across tulosta rivit palstoitettuna vaaka-, ei pystysuunnassa, käytetään yhdessä valitsimen -PALSTA kanssa -c, --show-control-chars käytä hattumerkintää (^G) ja oktaalista kenoviivamerkintää -d, --double-space tulosta käyttäen kaksinkertaista riviväliä � -b, --before liitä erotin tekstin eteen, ei perään -r, --regex tulkitse erotin säännöllisenä lausekkeena -s, --separator=MERKKIJ käytä MERKKIJonoa erottimena rivinvaihdon sijaan � -b, --body-numbering=TYYLI käytä TYYLIä rungon rivien numerointiin -d, --section-delimiter=MM käytä MM:ää loogisten sivujen erottamiseen -f, --footer-numbering=TYYLI käytä TYYLIä alatunnisterivien numerointiin � -b, --bytes laske tavuja, ei sarakkeita -s, --spaces katkaise välien kohdalta -w, --width=LEVEYS käytä sarakeleveytenä LEVEYttä oletusarvon 80 sijaan � -b, --bytes=LUETTELO tulosta vain nämä tavut -c, --characters=LUETTELO tulosta vain nämä merkit -d, --delimiter=RAJOIT käytä RAJOITinta kenttien rajana sarkaimen sijaan � -c, --count liitä rivin eteen sen esiintymiskertojen määrä -d, --repeated tulosta vain useaan kertaan esiintyvät rivit � -d, --delimiters=LUETTELO käytä uudelleen LUETTELOn merkkejä sarkainten sijaan -s, --serial liitä yksi tiedosto kerrallaan rinnakkaisuuden sijaan � -f älä näytä otsakeriviä lyhyessä mallissa -w älä näytä käyttäjän koko nimeä lyhyessä mallissa -i älä näytä käyttäjän koko nimeä ja etäkonetta lyhyessä mallissa -q älä näytä käyttäjän koko nimeä, etäkonetta ja joutenoloaikaa lyhyessä mallissa � -f sama kuin -t fF, valitse liukuluvut -i sama kuin -t dI, valitse 10-kantaiset kokonaisluvut -l sama kuin -t dL, valitse 10-kantaiset pitkät kokonaisluvut -o sama kuin -t o2, valitse 8-kantaiset 2:n tavun yksiköt -s sama kuin -t d2, valitse 10-kantaiset 2:n tavun yksiköt -x sama kuin -t x2, valitse 16-kantaiset 2:n tavun yksiköt � -f, --fields=LUETTELO tulosta vain nämä kentät; tulosta myös rajoitinta sisältämättömät rivit ellei valitsinta -s ole annettu -n (ei huomioida) � -f, --follow[={name|descriptor}] tulosta lisätty tieto tiedoston kasvaessa; -f, --follow ja --follow=descriptor ovat sama asia -F sama kuin --follow=name --retry � -g kuten -l, mutta älä näytä omistajia � -i, --initial älä muunna ei-tyhjeen jälkeisiä sarkaimia -t, --tabs=KOKO aseta sarkaimen kooksi KOKO, ei 8 � -i, --inodes näytä i-solmutiedot lohkotietojen sijaan -k kuten --block-size=1K -l, --local rajoita listaus paikallisiin tiedostojärjestelmiin --no-sync älä kutsu synciä ennen tilatietojen selvittämistä (oletus) � -l käytä pitkää luettelumuotoa -L, --dereference näytettäessä symbolisen linkin tietoja, näytä linkin kohteen tiedot, ei linkin itsensä tietoja -m näytä tiedostonimet pilkuilla erotettuna luettelona � -n, --digits=MÄÄRÄ käytä annettua numeromäärää 2:n sijaan -s, --quiet, --silent älä tulosta tulostiedostojen kokoja -z, --elide-empty-files poista tyhjät tulostiedostot � -n, --no-clobber älä ylikirjoita olemassa olevaa tiedostoa (kumoaa aiemman -i-valitsimen) -P, --no-dereference älä koskaan seuraa LÄHTEEN symbolisia linkkejä � -n, --numeric-uid-gid kuten -l, mutta luettele käyttäjä- ja ryhmä-ID:t numeerisina -N, --literal tulosta nimet sellaisinaan (älä käsittele esim. ohjausmerkkejä) -o kuten -l, mutta älä näytä ryhmätietoja -p, --indicator-style=slash lisää hakemistoihin ilmaisin â€/†� -p, --preserve-timestamps käytä LÄHDEtiedostojen käyttö/muutosaikoja vastaaviin kohdetiedostoihin -s, --strip riisu symbolitaulut --strip-program=OHJELMA binäärien riisumiseen käytettävä ohjelma -S, --suffix=JÄLKILIITE kumoa tavanomainen varmuuskopion jälkiliite -t, --target-directory=HAKEMISTO kopioi kaikki LÄHDEargumentit HAKEMISTOon -T, --no-target-directory käsittele KOHDEtta normaalina tiedostona -v, --verbose tulosta kunkin hakemiston nimi luotaessa � -q, --count tunnukset ja kirjautuneena olevien käyttäjien määrä -r, --runlevel näytä voimassa oleva käyttötaso -s, --short näytä vain nimi, yhteys ja aika (oletus) -t, --time näytä viimeisin järjestelmäkellon muutosaika � -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä otsakkeita -v, --verbose tulosta aina tiedostonimen sisältävät otsakkeet � -r, --reference=TIEDOSTO näytä TIEDOSTOn viimeisin muokkausaika -R, --rfc-822 näytä päiväys ja aika RFC-822-muodossa. Esimerkki: Mon, 07 Aug 2006 12:34:56 +0300 � -r, --references kunkin rivin ensimmäinen kenttä on viite -t, --typeset-mode - ei ole toteutettu - -w, --width=MÄÄRÄ tulosteleveys sarakkeina, viite poistettuna � -r, --reverse käännä lajittelun järjestys -R, --recursive luettele alihakemistot rekursiivisesti -s, --size tulosta kunkin tiedoston varaama koko lohkoina � -s, --only-delimited älä tulosta rajoitinta sisältämättömiä rivejä --output-delimiter=MERKKIJ käytä MERKKIJonoa tulosteen rajoittimena oletus on käyttää syötteen rajoitinta � -s, --signal=SIGNAALI, -SIGNAALI anna välitettävän signaalin nimi tai numero -l, --list luettele signaalien nimet tai muunna niitä numeroiksi/niistä numeroita -t, --table tulosta tietoja signaaleista taulukkomuodossa � -s, --symbolic-link tee symbolisia linkkejä kopioinnin sijaan -S, --suffix=JÄLKILIITE syrjäytä tavanomainen varmuuskopion jälkiliite -t, --target-directory=HAK siirrä kaikki LÄHDE-argumentit HAKemistoon -T, --no-target-directory käsittele KOHDE normaalina tiedostona � -t sama kuin -vT -T, --show-tabs näytä sarkaimet merkinnällä ^I -u (ei huomioida) -v, --show-nonprinting käytä merkintöjä ^ ja M- muille kuin rivinvaihdolle ja sarkaimelle � -t, --tabs=LUETTELO käytä pilkuilla erotettua luetteloa sarkainten kohdista � -t, --target-directory=HAKEMISTO siirrä kaikki LÄHDEargumentit kohdeHAKEMISTOon -T, --no-target-directory käsittele KOHDE tavallisena tiedostona -u, --update siirrä vain, jos LÄHDEtiedosto on uudempi kuin kohdetiedosto, tai kohdetiedosto puuttuu -v, --verbose selitä, mitä tapahtuu � -u, --update kopioi vain jos LÄHDEtiedosto on uudempi kuin kohde, tai jos kohdetiedosto puuttuu -v, --verbose selitä mitä tapahtuu -x, --one-file-system pysy tässä tiedostojärjestelmässä � -v, --kernel-version näytä ytimen versiotiedot -m, --machine näytä laitteiston nimi -p, --processor näytä prosessorin tyyppi tai â€tuntematon†-i, --hardware-platform näytä laitteistoalusta tai â€tuntematon†-o, --operating-system näytä käyttöjärjestelmä � -w, --check-chars=N vertaa vain rivien N:ää ensimmäistä merkkiä � -z, --zero-terminated päätä rivit 0-tavuun, ei rivinvaihtoon � [:graph:] kaikki tulostuvat merkit, pois lukien välilyönti [:lower:] kaikki pienet kirjaimet [:print:] kaikki tulostuvat merkit, mukaan lukien välilyönti [:punct:] kaikki välimerkit [:space:] kaikki vaaka- tai pystysuuntaiset tyhjeet [:upper:] kaikki isot kirjaimet [:xdigit] kaikki 16-järjestelmän numerot [=MERK=] kaikki merkit, jotka ovat yhtäläisiä MERKin kanssa � \v pystysarkain MERK1-MERK2 kaikki merkit MERK1:stä MERK2:een nousevassa järjestyksessä [MERK*] JOUKKO2:ssa, MERKin kopioita JOUKKO1:n pituuteen asti [MERK*TOISTO] TOISTO kopiota MERKistä, TOISTO 8-järjestelmässä jos alussa 0 [:alnum:] kaikki kirjaimet ja numerot [:alpha:] kaikki kirjaimet [:blank:] kaikki vaakasuuntaiset tyhjeet [:cntrl:] kaikki ohjausmerkit [:digit:] kaikki numerot � d[KOKO] etumerkillinen kymmenkantainen luku, KOKO tavua/kokonaisluku f[KOKO] liukuluku, KOKO tavua/kokonaisluku o[KOKO] kahdeksankantainen luku, KOKO tavua/kokonaisluku u[KOKO] etumerkitön kymmenkantainen luku, KOKO tavua/kokonaisluku x[KOKO] kuusitoistakantainen luku, KOKO tavua/kokonaisluku � excl fail if the output file already exists nocreat do not create the output file notrunc älä typistä tulostiedostoa noerror jatka lukuvirheistä huolimatta fdatasync physically write output file data before finishing fsync likewise, but also write metadata � none, off älä varmuuskopioi koskaan (vaikka --backup olisi annettu) numbered, t tee numeroituja varmuuskopioita existing, nil numeroituja jos sellaisia on jo olemassa, muuten yksinkertaisia simple, never tee aina yksinkertaisia varmuuskopiota � %H:%M � (varmuuskopio: %s)� * [-]iuclc muunna isot kirjaimet pieniksi * [-]ixany anna minkä tahansa merkin uudelleenkäynnistää tulosteen [-]ixoff ota start/stop -merkkien lähetys käyttöön [-]ixon ota XON/XOFF-vuonohjaus käyttöön [-]parmrk merkitse pariteettivirheet (255-0-merkkisarjalla) [-]tandem kuten [-]ixoff � * [-]iutf8 oleta syötemerkit UTF-8-koodatuiksi � * [-]ocrnl muunna vaununpalautus rivinvaihdoksi * [-]ofdel käytä poistomerkkejä täyttöön tyhjien merkkien sijaan * [-]ofill käytä täyttömerkkejä ajastuksen sijaan viivästyksille * [-]olcuc muunna pienet kirjaimet isoiksi * [-]onlcr muunna rivinvaihto vaununpalautus-rivinvaihdoksi * [-]onlret rivinvaihto suorittaa vaununpalautuksen � * [-]onocr ei tulosteta vaununpalautuksia ensimmäiseen sarakkeeseen [-]opost jälkikäsittele tuloste * tabN vaakasarkaimen viivetyyli, N välillä [0..3] * tabs sama kuin tab0 * -tabs sama kuin tab3 * vtN pystysarkaimen viivetyyli, N välillä [0..1] � * eol2 MERKKI vaihtoehtoinen MERKKI rivin päättämiseen erase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun merkin intr MERKKI MERKKI lähettää keskeytyssignaalin kill MERKKI MERKKI pyyhkii käsillä olevan rivin � * lnext MERKKI MERKKI syöttää seuraavan merkin lainattuna quit MERKKI MERKKI lähettää lopetussignaalin * rprnt MERKKI MERKKI uudistaa käsillä olevan rivin start MERKKI MERKKI käynnistää tulosteen uudelleen pysäytettyään sen � * rows N kerro ytimelle, että päätteellä on N riviä * size näytä ytimeltä saadut rivi- ja sarakemäärät speed näytä päätteen nopeus time N kun myös -icanon, aseta luvun aikarajaksi N kymmenesosasekuntia � ??:???? � TTY� ryhmät=�kauan� kierroksella %s �% 1% muistista, b 1, K 1024 (oletus), sekä M, G, T, P, E, Z, Y. Jos TIEDostoa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä. *** VAROITUS *** Ympäristön määrittelemä käytössä oleva maa-asetusto vaikuttaa lajittelujärjestykseen. Asettamalla LC_ALL=C otetaan käyttöön perinteinen lajittelujärjestys, joka käyttää tavujen arvoja. �%e.%-m.%Y�%e.%-m. %H:%M�%lu käyttäjä�%lu käyttäjää�%s (säännölliselle lausekkeelle %s)�%s -> %s (varmuuskopion palautus) �%s ja %s ovat sama tiedosto�%s on olemassa, mutta ei ole hakemisto�%s on ilmaantunut; seurataan uuden tiedoston loppua�%s on nyt käytettävissä�%s ei ole enää käytettävissä�%s on korvattu seuraamiskelvottamalla tiedostolla; luovutaan tämän tiedoston seuraamisesta�%s on korvattu; seurataan uuden tiedoston loppua�tiedostolla %s on tuntematon tiedostotyyppi�%s ei ole kelvollinen positiivinen kokonaisluku�%s on liian suuri�%s: %s on liian suuri esitettäväksi�%s: %s: rivinumero sallitun välin ulkopuolella�%s: %s: täsmäävyyttä ei löydy�%s: %s:%s: epäjärjestys: �%s: avaaminen tai luku EPÄONNISTUI �%s: odotettiin binääristä operaattoria�%s: suhteellisia symbolisia linkkejä voi tehdä vain nykyisessä hakemistossa�%s: ei-estävän tilan muuttaminen ei onnistu�%s: käyttäjä-ID:tä %lu vastaavaa nimeä ei löydy �%s: tämän tyyppisen tiedoston loppua ei voi seurata; luovutaan tämän tiedoston seuraamisesta�%s: siirtyminen takaisin alkuperäiseen siirtymään ei onnistu�%s: hakemistoa ei voi korvata�%s: taaksepäin siirtyminen ei onnistu�%s: siirtyminen siirtymään %s suhteessa loppuun ei onnistu�%s: siirtyminen kohtaan %s ei onnistu�%s: siirtyminen suhteelliseen siirtymään %s ei onnistu�%s: vain lisäykseen soveltuvaa tiedostokahvaa ei voi silputa�%s: ei-estävän tilan uudelleenasetus ei onnistunut�%s: edetäänkö hakemistoon %s? �%s: edetäänkö kirjoitussuojattuun hakemistoon %s? �%s: tiedoston loppu�%s: yhtäläisyysluokan operandin on oltava yksittäinen merkki�%s: virhe typistettäessä�%s: virhe kirjoitettaessa siirtymässä %s�%s: odotettiin numeerista arvoa�%s: sulkeminen epäonnistui�%s: avaaminen kirjoitustilassa epäonnistui�%s: poisto epäonnistui�%s: fcntl epäonnistui�%s: fdatasync epäonnistui�%s: tiedoston koko on negatiivinen�%s: tiedosto on kutistunut liikaa�%s: tiedosto on liian suuri�%s: liian pitkä tiedosto�%s: tiedosto typistynyt�%s: fstat epäonnistui�%s: fsync epäonnistui�%s: kova linkki ei ole sallittu hakemistolle�%s: syöte sisältää silmukan:�%s: syöte sisältää parittoman määrän symboleja�%s: syötetiedosto on tulostiedosto�%s: rajoittimen jälkeen odotetaan kokonaislukua�%s: virheellinen PID�%s: virheellinen määrä merkkijonon %s alussa�%s: säännös ei kelpaa�%s: virheellinen kenttämääritys %s�%s: virheellinen tiedostokoko�%s: virheellinen tiedostotyyppi�%s: virheellinen avausten välinen muuttumattomien tilan lukemisten enimmäismäärä�%s: virheellinen luku�%s: virheellinen tavumäärä�%s: virheellinen rivimäärä�%s: virheellinen ylikirjoituskertojen määrä�%s: virheellinen sekuntimäärä�%s: virheellinen hahmo�%s: virheellinen prosessi-ID�%s: virheellinen säännöllinen lauseke: %s�%s: virheellinen signaali�%s: virheellinen jälkiliitteen pituus�%s: rivinumeron on oltava suurempi kuin nolla�%s: rivinumero sallitun välin ulkopuolella�%s: lseek epäonnistui�%s: useita signaaleja annettu�%s: uudet oikeudet ovat %s, ei %s�%s: kelvollisesti muotoiltuja %s-tarkistussummarivejä ei löytynyt�%s: ei kokotietoja tälle laitteelle�%s: ei luetella jo lueteltua hakemistoa�%s: tavumäärä on liian suuri�%s: korvataanko tiedosto %s? �%s: ylikirjoituskerta %lu/%lu (%s)...�%s: ylikirjoituskerta %lu/%lu (%s)...%s�%s: ylikirjoituskerta %lu/%lu (%s)...%s/%s %d%%�%s: lukuvirhe�%s: poistetaanko %s %s? �%s: poistetaanko kirjoitussuojattu %s %s? �%s: poistettu�%s: poistetaan�%s: nimettiin uudelleen nimelle %s�%s: korvataanko tiedosto %s? �%s: siirtyminen epäonnistui�%s: liian monta tarkistussummariviä�%s: korvataanko tiedosto %s, ohittaen oikeudet %04lo (%s)? �%s: tiedostonimen enimmäispituuden selvittäminen epäonnistui�%s: kaikkia pyydettyjä toimenpiteitä ei voida suorittaa�%s: odotettiin unaarista operaattoria�%s: arvoa ei muunnettu kokonaisuudessaan�%s: kirjoitusvirhe�%s:%lu: virheellinen rivi; toinen symboli puuttuu�%s:%lu: virheellinen tyhjä tiedostonimi�%s:%lu: tunnistamaton avainsana %s�â€�©�* tiedostojärjestelmät, jotka pitävät välimuistia tilapäisissä paikoissa, esim. NFS:n version 3 asiakkaat * tiivistetyt tiedostojärjestelmät �* kirjaavat tiedostojärjestelmät, esim. AIXin ja Solariksen tiedostojärjestelmät (ja JFS, ReiserFS, XFS, Ext3, jne.) * tiedostojärjestelmät, jotka kirjoittavat ylimääräistä dataa ja jatkavat joidenkin kirjoitustoimintojen epäonnistumisesta huolimatta, esim. RAIDilla olevat tiedostojärjestelmät * tiedostojärjestelmät, jotka tekevät tilannevedoksia, esim. Network Appliancen NFS-palvelin �, keskimääräinen kuorma: %.2f� %g sekunnissa, %s/s �-R --dereference vaatii joko -H:n tai -L:n�-R -h vaatii -P:n�-ef ei hyväksy -l -lauseketta�-nt ei hyväksy -l -lauseketta�-ot ei hyväksy -l -lauseketta�<sisäinen>�??? �?????�Arnold Robbins�Vapaa�Vapaana�Brian Fox�VAROITUS: Huomaa, että shred-työkalun toiminta perustuu erittäin tärkeään oletukseen: oletetaan, että tiedostojärjestelmä ylikirjoittaa dataa paikallaan. Tämä on perinteinen tapa, mutta monet nykyaikaiset tiedostojärjestelmät eivät vastaa tätä oletusta. Seuraavassa on esimerkkejä tiedostojärjestelmistä, joilla shred ei ole tehokas, tai ei ole tehokas kaikissa tiedostojärjestelmän toimintatiloissa: �KOMMENTTI�Kutsu linkitysfunktiota linkin TIED2 luomiseksi olemassaolevaan TIED1:een. �Kutsu unlink-funktiota annetun TIEDOSTOn poistamiseksi. �Käytetty�Chet Ramey�Colin Plumb�Vertaa lajiteltuja tiedostoja TIEDOSTO1 ja TIEDOSTO2 rivi riviltä. �Kopioi vakiosyöte jokaiseen TIEDOSTOon sekä vakiotulosteeseen. -a, --append lisää TIEDOSTOjen perään, älä korvaa -i, --ignore-interrupts jätä keskeytyssignaalit huomiotta �David M. Ihnat�David MacKenzie�David Madore�Hakemisto: �Dmitry V. Levin�POIS�Väli on yksi seuraavista: N N:s tavu, merkki tai kenttä, numerointi alkaa 1:stä N- N:nnestä tavusta, merkistä tai kentästä rivin loppuun N-M N:nnestä tavusta, merkistä tai kentästä M:nteen (M ja N mukaan lukien) -M ensimmäisestä tavusta, merkistä tai kentästä M:nteen (M mukaan lukien) Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä. �Kaiuta MERKKIJONO(t) vakiotulosteeseen. -n älä lisää rivinvaihtoa loppuun �Poistu tilakoodilla, jonka LAUSEKE määrittelee. �François Pinard�EI TÄSMÄÄ�KORJAATÄMÄ: tuntematon�FIFO-putkilla ei ole major- ja minor-laitearvoja.�Tiedostojärjestelmä�Pakota muuttuneet lohkot levylle, päivitä superlohko. �H. Peter Anvin�JOUTEN�IJälj�IKäy%�IKäyt�Ian Lance Taylor�Jouten�Jos TIEDOSTOa ei ole annettu, käytä %s. %s TIEDOSTOna on yleinen. �Tosielämässä: �I-solmut�Virheellinen merkkiluokan nimi�Virheellinen välin loppu�Virheellinen säännöllinen lauseke�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�YHTEYS�Tunnus�Tunnus: �Mark Kettenis�Matthew Bradburn�Muistinvarausvirhe�Muisti loppu�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Liitospiste�NIMI�Nimi�Nimi tai palvelu on tuntematon�Korjautumaton häiriö nimenselvityksessä�OK�Lajitteluvalitsimet: �Tulosta komennot LS_COLORS-ympäristömuuttujan asettamiseksi. Tulosteen muodon valinta: -b, --sh, --bourne-shell tulosta Bourne shell -tyyppistä koodia -c, --csh, --c-shell tulosta C shell -tyyppistä koodia -p, --print-database tulosta oletukset �Näytä kirjautuneet käyttäjät TIEDOSTOn mukaan. Oletustiedosto on %s. %s on yleinen TIEDOSTOna. �PID�Padraig Brady�Paul Eggert�Paul Rubin�Pete TerMaat�Suunnitelma: �Näytä kunkin TIEDOSTOn CRC-tarkistussumma ja tavumäärä. �Näytä tiettyjä järjestelmätietoja. Komento ilman VALITSINta on sama kuin -s. -a, --all näytä kaikki tiedot seuraavassa järjestyksessä (paitsi -p ja -i, jos tuntemattomia): -s, --kernel-name näytä ytimen nimi -n, --nodename näytä koneen nimi verkossa -r, --kernel-release näytä ytimen versionumero �Näytä tietoa kirjautuneina olevista käyttäjistä. �Näytä kellonaika, järjestelmän käynnissäoloaika, järjestelmään kirjautuneiden käyttäjien määrä sekä ajojonon töiden keskimääräinen lukumäärä viimeisten 1, 5 ja 15 minuutin ajalta.�Tulosta vakiosyötteeseen kytketyn päätteen tiedostonimi. -s, --silent, --quiet ei tulostetta, pelkkä poistumisen tilakoodin palautus �Tulosta työhakemiston täydellinen nimi. �Tulosta nykyisen käyttäjän nimi. �Näytä kokonaisLUKUjen alkutekijät. Jos lukuja ei anneta komentorivillä, ne luetaan vakiosyötteestä. �Projekti: �Q. Frank Xia�Randy Smith�Richard M. Stallman�Richard Mlynarik�Roland Hübner�Roland McGrath�Ross Paterson�Aja KOMENTO siten, että UUSIJUURI on asetettuna juurihakemistoksi. �Aja KOMENTO jättäen linjankatkaisusignaalit huomiotta. �Russell Coker�Scott Bartram�Scott Miller�Aseta LC_ALL='C' ongelman kiertämiseksi.�Kuori: �Simon Josefsson�Koko�Major- ja minor-laitearvot on annettava luotaessa erikoistiedostoja�Stuart Kemp�Järjestelmävirhe�AIKA�Väliaikainen häiriö nimenselvityksessä�Vertaillut merkkijonot olivat %s ja %s.�Torbjörn Granlund�Tyyppi�Ulrich Drepper�Tuntematon virhe�Tuntematon järjestelmävirhe�Käyttö: %s �Käyttö: %s KOMENTO [ARGUMENTTI]... tai: %s VALITSIN �Käyttö: %s LAUSEKE tai: %s VALITSIN �Käyttö: %s TIEDOSTO tai: %s VALITSIN �Käyttö: %s TIED1 TIED2 tai: %s VALITSIN �Käyttö: %s MUOTOILU [ARGUMENTTI]... tai: %s VALITSIN �Käyttö: %s VALITSIN... TIEDOSTO... �Käyttö: %s VALITSIN... [TIEDOSTO]... �Käyttö: %s [-LEVEYS] [VALITSIN]... [TIEDOSTO]... �Käyttö: %s [-s SIGNAALI | -SIGNAALI] PID... tai: %s -l [SIGNAALI]... tai: %s -t [SIGNAALI]... �Käyttö: %s [TIEDOSTO]... tai: %s [VALITSIN] �Käyttö: %s [NIMI] tai: %s VALITSIN Tulosta tai aseta järjestelmän konenimi. �Käyttö: %s [LUKU]... tai: %s VALITSIN �Käyttö: %s [OPERANDI]... tai: %s VALITSIN �Käyttö: %s [VALITSIN] �Käyttö: %s [VALITSIN] NIMI... �Käyttö: %s [VALITSIN] [KOMENTO [ARG]...] �Käyttö: %s [VALITSIN] [TIEDOSTO] Kirjoita täysin järjestetty luettelo, joka on yhtäpitävä TIEDOSTOssa olevan osittaisen järjestyksen kanssa. Jos TIEDOSTOa ei anneta tai se on â€-â€, luetaan vakiosyötettä. �Käyttö: %s [VALITSIN]... �Käyttö: %s [VALITSIN]... HAKEMISTO... �Käyttö: %s [VALITSIN]... TIEDOSTO HAHMO... �Käyttö: %s [VALITSIN]... TIEDOSTO... �Käyttö: %s [VALITSIN]... TIEDOSTO1 TIEDOSTO2 �Käyttö: %s [VALITSIN]... RYHMÄ TIEDOSTO... tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO... �Käyttö: %s [VALITSIN]... LOPPU tai: %s [VALITSIN]... ALKU LOPPU tai: %s [VALITSIN]... ALKU LISÄYS LOPPU �Käyttö: %s [VALITSIN]... OIKEUDET[,OIKEUDET]... TIEDOSTO... tai: %s [VALITSIN]... OKTAALI-OIKEUDET TIEDOSTO... tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO... �Käyttö: %s [VALITSIN]... NIMI TYYPPI [MAJOR MINOR] �Käyttö: %s [VALITSIN]... NIMI... �Käyttö: %s [VALITSIN]... JOUKKO1 [JOUKKO2] �Käyttö: %s [VALITSIN]... [ TIEDOSTO | ARG1 ARG2 ] �Käyttö: %s [VALITSIN]... [+MUOTOILU] tai: %s [-u|--utc|--universal] [KKPPttmm[[CC]VV][.ss]] �Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE tai: %s [VALITSIN]... LÄHDE... HAKEMISTO tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE... �Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE tai: %s [VALITSIN]... LÄHDE... HAKEMISTO tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE... tai: %s [VALITSIN]... -d HAKEMISTO... �Käyttö: %s [VALITSIN]... [-T] KOHDE LINKIN_NIMI (1. muoto) tai: %s [VALITSIN]... KOHDE (2. muoto) tai: %s [VALITSIN]... KOHDE... HAKEMISTO... (3. muoto) tai: %s [VALITSIN]... -t HAKEMISTO KOHDE... (4. muoto) �Käyttö: %s [VALITSIN]... [-] [NIMI=ARVO]... [KOMENTO [ARGUMENTTI]...] �Käyttö: %s [VALITSIN]... [TIEDOSTO] �Käyttö: %s [VALITSIN]... [TIEDOSTO]... �Käyttö: %s [VALITSIN]... [TIEDOSTO]... tai: %s [-abcdfilosx]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b]] tai: %s --traditional [VALITSIN]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b] [+][NIMIÖ][.][b]] �Käyttö: %s [VALITSIN]... [TIEDOSTO]... tai: %s [VALITSIN]... --files0-from=T �Käyttö: %s [VALITSIN]... [SYÖTE [TULOSTE]] �Käyttö: %s [VALITSIN]... [SYÖTE [ETULIITE]] �Käyttö: %s [VALITSIN]... [SYÖTE]... (ilman valitsinta -G) tai: %s -G [VALITSIN]... [SYÖTE [TULOSTE]] �Käyttö: %s [VALITSIN]... [OMISTAJA][:[RYHMÄ]] TIEDOSTO... tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO... �Käyttö: %s [VALITSIN]... [POHJA] �Käyttö: %s [VALITSIN]... [KÄYTTÄJÄTUNNUS] �Käyttö: %s [VALITSIN]... [KÄYTTÄJÄTUNNUS]... �Käyttö: %s [VALITSIN]... [TUNNUS]... �Käyttö: %s [MERKKIJONO]... tai: %s VALITSIN �Käyttö: %s [huomiotta jätettävät komentoriviargumentit] tai: %s VALITSIN �Käy%�Käyt�Kelvolliset argumentit:�VAROITUS: Kehämäinen hakemistorakenne. Tiedostojärjestelmä on lähes varmasti turmeltunut. ILMOITA ASIASTA JÄRJESTELMÄN YLLÄPITÄJÄLLE. Seuraava hakemisto on osa kehää: %s �Varoitus: �Milloin�Missä�Kirjoittaneet %s ja %s. �Kirjoittaneet %s, %s, %s, %s, %s, %s, %s, %s, %s ja muut. �Kirjoittaneet %s, %s, %s, %s, %s, %s, %s, %s ja %s. �Kirjoittaneet %s, %s, %s, %s, %s, %s, %s ja %s. �Kirjoittaneet %s, %s, %s, %s, %s, %s ja %s. �Kirjoittaneet %s, %s, %s, %s, %s ja %s. �Kirjoittaneet %s, %s, %s, %s ja %s. �Kirjoittaneet %s, %s, %s ja %s. �Kirjoittaneet %s, %s ja %s. �Kirjoittanut %s. �[=c=]-lausekkeita ei saa esiintyä merkkijono2:ssa vaihdettaessa�^[eEnN]�^[kKyY]�â€�kun säätöarvo on annettu, on komento pakollinen�moniselitteinen argumentti %s %s:lle�syöterajoitin voidaan antaa vain käsiteltäessä kenttiä�tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei kopioitu�tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei siirretty�varmuuskopiotyyppi�lohkoerikoistiedosto�lohkoerikoistiedostot eivät ole tuettuja�lohkot�vakiosyötettä ei voi käyttää molempina tiedostoina�tavusiirtymä %s on liian suuri�tiedostoa %s ei voi käsitellä�tiedostoa %s ei voi varmuuskopioida�yhteenvetoa ja kaikkia merkintöjä ei voi näyttää samaan aikaan�tiedoston %s omistajuuden muuttaminen ei onnistu�kohteen %s oikeuksien muuttaminen ei onnistu�hakemiston %s asettaminen juurihakemistoksi ei onnistu�hakemistoon %s ei voi siirtyä�juurihakemistoon siirtyminen ei onnistu�valitsimia --target-directory (-t) ja --no-target-directory (-T) ei voi yhdistää�valitsimia --target-directory ja --no-target-directory ei voi yhdistää�valitsimia -e ja -i ei voi käyttää yhdessä�signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu�tiedostonimiä %s ja %s ei voi vertailla�merkin U+%04X muunnos paikalliseen merkistöön ei onnistu�merkin U+%04X muunnos paikalliseen merkistöön ei onnistu: %s�hakemistoa, %s, ei voi kopioida itseensä, %s�kiertävää symbolista linkkiä %s ei voi kopioida�hakemiston %s luominen ei onnistu�nimettyä putkea %s ei voi luoda�kovan linkin %s luominen tiedostoon %s ei onnistu�linkkiä %s kohteeseen %s ei voi luoda�tavallisen tiedoston %s luominen ei onnistu�erikoistiedostoa %s ei voi luoda�symbolisen linkin %s luominen ei onnistu�kohteeseen %2$s ei voi luoda symbolista linkkiä %1$s�hakemiston %s laitetta ja i-solmua ei voida määrittää�järjestelmän konenimen määritys ei onnistu�tiedostolle %s ei voi käyttää ioctl:ää�ryhmä-ID:tä %lu vastaavaa nimeä ei löydy�tiedostoa %s ei voi seurata nimen perusteella�tiedoston %s tilan lukeminen ei onnistu�työhakemiston selvittäminen ei onnistu�järjestelmän nimen haku ei onnistu�siirtyminen tiedostossa %s ei onnistu�linkit eivät voi olla sekä kovia että symbolisia�hakemiston %s luominen ei onnistu�tiedostoa %s ei voi siirtää kohteeseen %s�hakemistoa %s ei voi siirtää omaan alihakemistoonsa, %s�hakemistoa ei voi siirtää ei-hakemistoon: %s -> %s�tiedostoa %s ei voi avata lukemista varten�tiedostoa %s ei voi avata kirjoitusta varten�hakemiston %s avaaminen ei onnistu�rikkinäistä symlinkkiä %s ei voi käyttää�hakemistoa %s ei voi korvata ei-hakemistolla�ei-hakemistoa %s ei voi korvata hakemistolla %s�pelkkien nimien tai todellisten ID:iden tulostus oletusmuodossa ei onnistu�hakemistoa %s ei voi lukea�tiedostojärjestelmän tietojen lukeminen tiedostolle %s ei onnistu�tosiaikaisen kellon luku ei onnistu�symbolista linkkiä %s ei voi lukea�liitettyjen tiedostojärjestelmien taulua ei voi lukea�tiedostoa %s ei voi poistaa�tiedosto-osoitinta ei voi siirtää tiedostossa %s�ajan asetus ei onnistu�konenimen asetus ei onnistu; tässä järjestelmässä ei ole tätä toimintoa�konenimen %s asettaminen järjestelmälle ei onnistu�tiedoston %s aikaleimojen asettaminen ei onnistu�yhdistetyn syötteen lopun yli ei voi ohittaa�palstojen määrää ei voi antaa tulostettaessa rinnakkain�aika voidaan määrittää vain yhdestä lähteestä�voidaan jakaa vain yhdellä tavalla�tiedoston %s tilaa ei voi lukea�nykyisen hakemiston (%s) tilaa ei voi lukea�tiedostoa %s ei voi koskettaa�tiedoston %s varmuuskopion palautus ei onnistu�tiedoston %s linkitystä ei voi poistaa�vaihdettaessa tiedoston %s ryhmää�vaihdettaessa tiedoston %s omistajuutta�muutettaessa tiedoston %s oikeuksia�merkin siirtymä on nolla�merkki sallitun välin ulkopuolella�merkkierikoistiedosto�merkkierikoistiedostot eivät ole tuettuja�kellon siirto�sulkeminen epäonnistui�suljetaan %s (fd=%d)�suljetaan hakemisto %s�suljetaan syötetiedosto %s�suljetaan tulostiedosto %s�suljetaan vakiosyöte�käynnistysajan haku ei onnistu�luotiin hakemisto %s�luodaan hakemisto %s�luodaan tiedostoa %s �hakemisto�nollalla jako�dup2 epäonnistui�tyhjä tiedostonimi�tyhjä sarkain�virhe tiedoston sulkemisessa�virhe säännöllisen lausekkeen haussa�virhe kuukausimerkkijonojen alustuksessa�virhe luettaessa tiedostoa %s�virhe kirjoitettaessa tiedostoa %s�pois=�ylimääräinen argumentti %s�ylimääräinen operandi %s�tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui �tiedoston %s omistajuuden muuttaminen epäonnistui �tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui �siirtyminen hakemistoon %s epäonnistui�tiedoston %s ominaisuuksien hakeminen ei onnistu�tiedostoa %s ei löytynyt�tiedoston %s avaaminen epäonnistui�tiedoston %s tekijän tietojen säilytys ei onnistunut�tiedoston %s omistajuuden säilytys ei onnistu�tiedoston %s oikeuksien säilyttäminen ei onnistu�tiedoston %s aikojen säilyttäminen ei onnistu�vakiovirhetulosteen uudelleenohjaus epäonnistui�hakemiston %s poistaminen epäonnistui�alkuperäiseen työhakemistoon palaaminen epäonnistui�vakiovirhetulosteen kopion asettaminen sulkeutumaan käynnistettäessä epäonnistui�puskurin tyhjennys epäonnistui�kenttänumero %s on liian suuri�kentän numero on nolla�putkitiedosto�tiedostojärjestelmätyyppi %s on sekä valittu että jätetty pois�järjestelmäkutsu fork epäonnistui�muotoilua ei voi määritellä kun tulostetaan tasalevyisiä lukuja�fts_read epäonnistui�haettaessa tiedoston %s uusia ominaisuuksia�tiedoston %s ryhmänä säilytettiin %s �iconv-funktio ei ole saatavilla�iconv-funktio ei ole käyttökelpoinen�id=�jätetään kaikki argumentit huomiotta�ei huomioida virheellistä sarkainkokoa ympäristömuuttujassa TABSIZE: %s�ei huomioida virheellistä arvoa ympäristömuuttujassa QUOTING_STYLE: %s�ei huomioida virheellistä leveyttä ympäristömuuttujassa COLUMNS: %s�jätetään huomiotta argumentit, jotka eivät ole valitsimia�epäyhteensopivat liitossarakkeet %lu, %lu�epäyhteensopivat sarkaimet�syöte katosi�syöterivi on liian pitkä�laitteiden välinen siirto epäonnistui: %s -> %s; kohdetta ei voi poistaa�virheellinen argumentti %s�virheellinen argumentti %s�virheellinen argumentti %s %s:lle�virheellinen rungon numerointityyli: %s�virheellinen merkkiluokka %s�virheellinen muunnos�virheellinen muunnostarkennin jälkiliitteessä: %c�virheellinen muunnostarkennin jälkiliitteessä: \%.3o�virheellinen päiväys %s�virheellinen päiväyksen muoto %s�virheellinen laite %s %s�virheellinen laitetyyppi %s�virheellinen sarakenumero: %s�virheellinen saraketarkennin: %s�virheellinen kenttäleveys: %s�virheellinen tiedostonumero sarakemäärityksessä: %s�virheellinen liukulukuargumentti: %s�virheellinen alatunnisteen numerointityyli: %s�virheellinen ryhmä�virheellinen ryhmä %s�virheellinen ryhmä: %s�virheellinen otsakkeen numerointityyli: %s�virheellinen kokonaisluku %s�kokonaislukuargumentti %s ei kelpaa�virheellinen rivinumerokentän leveys: %s�virheellinen rivinumeron lisäys: %s�virheellinen rivinumerointimuoto: %s�virheellinen rivileveys: %s�virheellinen laitteen major-arvo %s�virheellinen enimmäissyvyys %s�virheellinen laitteen minor-arvo %s�virheelliset oikeudet�virheelliset oikeudet %s�virheelliset oikeudet: %s�virheellinen määrä %s�virheellinen lukuarvo kentän alussa�virheellinen tyhjien rivien määrä: %s�virheellinen tavumäärä�virheellinen verrattavien tavujen määrä�virheellinen ohitettavien tavujen määrä�virheellinen sarakemäärä: %s�virheellinen ohitettavien kenttien määrä�virheellinen rivimäärä�virheellinen valitsin – %c�virheellinen valitsin – %c; -LEVEYS tunnistetaan vain, kun se on ensimmäinen valitsin; käytä -w N sen sijaan�virheellinen sivuväli %s�virheellinen tarkkuus: %s�virheellinen toistomäärä %s [c*n]-rakenteessa�virheellinen aloitusrivin numero: %s�virheellinen sarkainkoko: %s�ajanjakso ei kelpaa: %s�virheellinen ajan muoto %s�virheellinen tyyppi %s; järjestelmä ei tarjoa %lu-tavuista liukulukutyyppiä�virheellinen tyyppi %s; järjestelmä ei tarjoa %lu-tavuista perustyyppiä�virheellinen universaali merkin nimi \%c%0*x�virheellinen käyttäjä�virheellinen käyttäjä %s�virheellinen leveys: %s�virheellinen tyhjä tiedostonimi�on vaarallista toimia rekursiivisesti hakemistossa %s�on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)�edell=�rivimäärävalitsin -%s%c... on liian suuri�rivinumero %s on pienempi kuin edeltävä rivinumero %s�rivinumeroinnin ylivuoto�muisti loppu�viestijono�väärin aseteltu [:upper:]- ja/tai [:lower:]-rakenne�puuttuva %%-muunnosmääritys jälkiliitteessä�%s vaatii argumentin�%s vaatii argumentin�puuttuva muunnostarkennin jälkiliitteessä�puuttuva tiedosto-operandi�puuttuva heksadesimaaliluku ohjauskoodissa�kenttälista puuttuu�sijaintilista puuttuu�operandi puuttuu�%s:n jälkeen puuttuu operandi�tiedoston %s oikeuksina säilytettiin %04lo (%s) �monimerkkinen sarkain %s�useita -l tai -t -valitsimia annettu�useita tulostiedostoja annettu�useita tulostusmuotoja annettu�symbolista linkkiä %s tai sen viittaamaa tiedostoa ei muutettu �SHELL-ympäristömuuttujaa ei ole, eikä annettu kuoren tyyppivalitsinta�tiedoston %s omistajuus ei muuttunut �tiedostoja ei ole jäljellä�ei sisäänkirjautumistunnusta�prosessi-ID:tä ei ole annettu�tyyppiä ei voi antaa merkkijonoja vedostettaessa�käyttäjänimeä ei annettu; valitsin -l vaatii vähintään yhden käyttäjänimen�ei ole tty�ei kirjoiteta rikkinäisen symlinkin %s kautta�tavumäärä�rivimäärä�ohitetaan hakemisto %s�toistorakenne [c*] saa esiintyä vain kerran merkkijono2:ssa�vain yhden laitteen voi määritellä�voidaan antaa vain yhden tyyppinen luettelo�avaaminen epäonnistui�tiedoston %s omistajuus säilytettiin ennallaan �tiedoston %s omistajana säilytettiin %s �sivunumeroinnin ylivuoto�sivun leveys on liian pieni�säilytettäessä tiedoston %s oikeuksia�säilytettäessä tiedoston %s aikoja�kaikkien vähintään kahteen kertaan esiintyvien rivien ja esiintymiskertojen määrän tulostaminen on merkityksetöntä�lukuvirhe�lukeminen epäonnistui�luetaan hakemistoa %s�tavallinen tyhjä tiedosto�tavallinen tiedosto�poistettiin tiedosto %s �poistettiin hakemisto: %s �poistetaan hakemisto %s�käyttötaso�semafori�erotin ei voi olla tyhjä�aseta LC_ALL='C' ongelman kiertämiseksi�asetettaessa tiedoston %s oikeuksia�asetettaessa tiedoston %s aikoja�jaettu muistiobjekti�ohitettavat-tavut + luettavat-tavut on liian suuri�ohitetaan %s, koska se on toisella laitteella�ohitetaan tiedosto %s, sillä se korvattiin kopioinnin aikana�pistoke�vakiovirhe�vakiosyöte�vakiosyöte on suljettu�vakiotuloste�tiedoston tilan lukeminen epäonnistui�outo merkki kenttämäärityksessä�merkkijonovertailu epäonnistui�ei-rajoitettujen rivien vaiennus on mahdollista vain käsiteltäessä kenttiä�symbolinen linkki�syntaksivirhe�sarkaimen koko ei voi olla 0�sarkainkoko sisältää virheellisen merkin(/merkkejä): %s�sarkainkokojen on oltava nousevia�sarkainasetin %s on liian suuri�kohde %s ei ole hakemisto�kohdehakemisto ei ole sallittu asennettaessa hakemistoa�sulj=�valitsimet --binary ja --text ovat merkityksettömiä tarkastettaessa tarkistussummia�valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia�valitsin --warn on merkityksellinen vain tarkastettaessa tarkistussummia�rakenne [c*] saa esiintyä merkkijono2:ssa vain muunnettaessa�toistorakenne [c*] ei saa esiintyä merkkijono1:ssä�rajoittimen on oltava yksittäinen merkki�valitsimet verbose ja stty-readable -tulostetyyleille ovat toisensa poissulkevat�valitsimet dircolors:in sisäiseen tietokannan tulostamiseksi ja kuorisyntaksin valitsemiseksi ovat toisensa poissulkevat�ajan tulostus- ja asetusvalitsimia ei saa käyttää yhtä aikaa�päiväyksen tulostusta määräävät valitsimet ovat toisensa poissulkevia�strip-valitsinta ei voi käyttää asennettaessa hakemistoa�aika %s on sallitun välin ulkopuolella�liian monta %%-muunnosmääritystä jälkiliitteessä�yhteensä�tyypitetty muistiobjekti�tuntematon binäärioperaattori�tuntematon käyttäjä-ID: %s�jäsentymätön arvo LS_COLORS-ympäristömuuttujalle�tunnistamaton operandi %s�tunnistamaton etuliite: %s�käynnissä %ld vrk %2d:%02d, �käynnissä %ld vrk %2d:%02d, �käynnissä ???? vrk ??:??, �käytä valitsinta --no-preserve-root tämän varmistuksen ohittamiseksi�odotettaessa strip-ohjelman päättymistä�varoitus: %s: merkkivakiota seuraavat merkit on jätetty huomiotta�varoitus: --pid=PID ei ole tuettu tässä järjestelmässä�warning: ei huomioida PID:tä; --pid=PID on käyttökelpoinen vain seurattaessa�varoitus: kenoviiva muotoilun lopussa�varoitus: ei voida poistaa: %s�varoitus: vakiosyötteen seuraaminen ikuisesti on tehotonta�varoitus: virheellinen leveys %lu; käytetään arvoa %d�varoitus: rivinumero %s on sama kuin edeltävä rivinumero�varoitus: lähdetiedosto %s annettu useammin kuin kerran�varoitus: yhteenvedon teko on ristiriidassa valitsimen --max-depth=%lu kanssa�varoitus: yhteenvedon teko on sama asia kuin --max-depth=0�varoitus: moniselitteinen oktaalisuojaus \%c%c%c tulkitaan 2-tavuiseksi sarjaksi \0%c%c, %c�varoitus: ohitetaan ytimen lseek-ohjelmistovika tiedostolle (%s) mt_type=0x%0lx – katso tyyppien luettelo tiedostosta <sys/mtio.h>�outo tiedosto�ellei typistetä joukko1:tä, merkkijono2 ei saa olla tyhjä�tiloja ei voi asettaa, kun tulostetyyli on määriteltynä�merkkijono2:n on kuvattava kaikki määrittelyjoukon merkit yhdeksi vaihdettaessa käyttäen täydennettyjä merkkiluokkia�ei kopioida tiedostoa %s juuri luodun symlinkin %s kautta�ei luoda kovaa linkkiä %s hakemistoon %s�ei korvata juuri luotua tiedostoa %s tiedostolla %s�kirjoitusvirhe�virhe kirjoitettaessa tiedostoa %s�kirjoitus epäonnistui�kirjoitettaessa tiedostoon %s�on annettava luettelo tavuista, merkeistä tai kentistä�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%+% tietuetta sisään %+% tietuetta ulos �% typistetty tietue �% typistettyä tietuetta �% tavu (%s) kopioitu�% tavua (%s) kopioitu�%s: %: väärin muotoiltu %s-tarkistussummarivi�aloitussivunumero % on suurempi kuin sivujen kokonaismäärä %�Sivu %��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/POTFILES.in�����������������������������������������������������������������������0000664�0000000�0000000�00000003650�12104210261�012532� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# List of files which contain translatable strings. # Copyright (C) 1996-2013 Free Software Foundation, Inc. # These are nominally temporary... lib/argmatch.c lib/closein.c lib/closeout.c lib/copy-acl.c lib/error.c lib/file-type.c lib/gai_strerror.c lib/getopt.c lib/mkdir-p.c lib/obstack.c lib/openat-die.c lib/quotearg.c lib/randread.c lib/regcomp.c lib/root-dev-ino.h lib/rpmatch.c lib/set-mode-acl.c lib/siglist.h lib/spawn-pipe.c lib/strsignal.c lib/unicodeio.c lib/userspec.c lib/verror.c lib/version-etc.c lib/w32spawn.h lib/wait-process.c lib/xalloc-die.c lib/xfreopen.c lib/xmemcoll.c lib/xprintf.c lib/xstrtol-error.c # Package source files src/base64.c src/basename.c src/cat.c src/chcon.c src/chgrp.c src/chmod.c src/chown-core.c src/chown.c src/chroot.c src/cksum.c src/comm.c src/copy.c src/cp.c src/csplit.c src/cut.c src/date.c src/dd.c src/df.c src/dircolors.c src/dirname.c src/du.c src/echo.c src/env.c src/expand.c src/expr.c src/factor.c src/false.c src/find-mount-point.c src/fmt.c src/fold.c src/getlimits.c src/group-list.c src/groups.c src/head.c src/hostid.c src/hostname.c src/id.c src/install.c src/join.c src/kill.c src/libstdbuf.c src/link.c src/ln.c src/logname.c src/ls.c src/md5sum.c src/mkdir.c src/mkfifo.c src/mknod.c src/mktemp.c src/mv.c src/nice.c src/nl.c src/nohup.c src/nproc.c src/numfmt.c src/od.c src/operand2sig.c src/paste.c src/pathchk.c src/pinky.c src/pr.c src/printenv.c src/printf.c src/ptx.c src/pwd.c src/readlink.c src/realpath.c src/relpath.c src/remove.c src/rm.c src/rmdir.c src/runcon.c src/seq.c src/setuidgid.c src/shred.c src/shuf.c src/sleep.c src/sort.c src/split.c src/stat.c src/stdbuf.c src/stty.c src/sum.c src/sync.c src/system.h src/tac-pipe.c src/tac.c src/tail.c src/tee.c src/test.c src/timeout.c src/touch.c src/tr.c src/true.c src/truncate.c src/tsort.c src/tty.c src/uname.c src/unexpand.c src/uniq.c src/unlink.c src/uptime.c src/users.c src/wc.c src/who.c src/whoami.c src/yes.c ����������������������������������������������������������������������������������������coreutils-8.21/po/LINGUAS���������������������������������������������������������������������������0000664�0000000�0000000�00000000207�12107175206�012011� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������af be bg ca cs da de el eo es et eu fi fr ga gl hr hu ia id it ja kk ko lg lt ms nb nl pl pt pt_BR ro ru sk sl sv tr uk vi zh_CN zh_TW �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pt_BR.gmo�������������������������������������������������������������������������0000664�0000000�0000000�00000552575�12107204517�012520� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���D��0���P"��¿��pD�����l[�����t[��”[������D]�����E]��ø���G]��¾���@^��¿���ÿ^��Â���¿_��ª���‚`��G��-a��ù���ub��º���oc��p���*d��!��›d��¼���½e��©��zf��w��$h��5��œi��R��Òj��~���%l�� ���¤l��w���²l��G���*m��ï���rm��w���bn��¡���Ún��#��|o���� p��š���¥q��Ä���@r��D��s��z���Ju��i���Åu��J���/v�����zv��¸���üv��ˆ���µw��È���>x��„���y��à���Œy��›���mz��‚��� {����Œ{��3��¡|��K��Õ}��0���!��D���R��Ê���—��Ê���b€��ç���-��‡���‚��¾���‚��E���\ƒ��Œ���¢ƒ��æ���/„��¿���…����Ö…��9���è†�����"‡��t��7‡��F��¬ˆ��Ì���ó‰��Ü���ÀŠ����‹��Ð��±Œ��Ë���‚Ž��7���N��¼���†��F���C��ì���Š��v���w‘�� ���î‘��¾��ú‘��q���¹“��æ���+”��S��•��ë���f–��,���R—��º���—�����:˜�����º˜��ß���K™��‹���+š��i���·š��A���!›��v���c›��Â���Ú›��·���œ��p���U��5���Æ����ü����Ÿ��×���: ��ò���¡��É���¢��Ê���Ï¢��ð���š£��Ô���‹¤��Ó���`¥��¬���4¦��¤���á¦��i���†§��õ���ð§��Z���æ¨��.��A©��ž���pª��G��«��O��W¬����§­�� ��7¯��£��D°��y��è±�� ��b³��B���ƒ´��F���Æ´���� µ��Ë��(¶����ô·��¢���¹��¡��¶¹��E���X»��J���ž»�� ��é»��º��÷¼��&��²¾��¹��Ù¿��¿���“Á��Ý���SÂ��Ò���1Ã��’���Ä��°���—Ä��Ë���HÅ��»���Æ��È���ÐÆ��u���™Ç����È��ò���%É�����Ê��ƒ���¨Ê��4��,Ë����aÌ����sÍ��´��†Î��í���;Ð�� ��)Ñ��<���4Ò��‘���qÒ��z���Ó��þ���~Ó��f��}Ô��ˆ���äÕ��1���mÖ��;��ŸÖ��Æ���Û×��È���¢Ø��q��kÙ��×���ÝÚ��T��µÛ��Þ��� Ý��ƒ���éÝ��Ñ���mÞ��Í���?ß��Ñ��� à��ë���ßà����Ëá��Ó���Úâ��I���®ã����øã�� ��†å��=��§æ����åç��*���é��F���+ê��C���rê��X��¶ê��?���ì��š��Oì��¨��êí��$���“ï��(���¸ï��ú���áï��$���Üð��%���ñ��*���'ñ��&���Rñ��9���yñ��#���³ñ��$���×ñ��!���üñ��Ý���ò��,���üò��"���)ó�� ���Ló��X��Zó��;���³ô��|��ïô����lö��Ô���€÷��Ü���Uø��þ���2ù�����1ú�����6ú�����?ú�����Eú����Xú��&���tû�� ���›û�� ���¥û�����±û�����Äû�����×û�����ìû����� ü�� ���&ü��+���Gü�����sü�����Œü��D���§ü��0���ìü�����ý�����6ý��0���Jý��"���{ý�����žý�� ���®ý�����¼ý��!���Ñý�����óý��/���þ�� ���@þ�����aþ�����yþ��#���þ�����³þ�����Ìþ��>���éþ��"���(ÿ��%���Kÿ��B���qÿ��*���´ÿ�����ßÿ�����þÿ�������)��� �����J��%���g��,��������º��#���Ê��"���î��$�������6�/���V����†�8���–����Ï����ä�������� ����4����S����h����y����Ž����©����Æ����Ù����ë����þ�����'��� ����H�*���c����Ž�$���¬����Ñ� ���á�����"�������;����Q�;���g����£����¶����Ò����î���� ����)����E����Y�"���p����“����¦�)���À����ê���������"���7�1���Z�'���Œ�(���´� ���Ý�,���þ�,���+�,���X�'���…�-���­� ���Û�(���ü�(���%����N����a����z�"���•����¸����Ç�&���Ú���� �"��� � ���? � ���K ����X ����j ����{ ����‹ �5���§ �0���Ý �.��� ����= ����Y ����y �"���™ ����¼ ����Ì �+���Ý ���� �)���) ����S � ���U ����b ����y �l���} �;��ê ����& � ���< �6���J �)��� ����« ����½ ����Ô ����ë � ������� ���������)��� � ���J����V����h����‚����‘� ���—����¡����±� ���È� ���Ò� ���Þ�k��è����T����\�K���t�8���À����ù�k����h���n����×� ���h� ���s� ���€�3���Œ�Š��À� ���K�½���U��������"� ���2� ���?����K�U��[����±����º�<��¿�\���ü� ���Y�+���d�0���� ���Á����Ë����Ò�1���á����� ���,����7�7���P�?���ˆ����È����Ú����é� ���ð����ý��������������������$�¦���8����ß�×��î� ���Æ����Ñ� ���å����ï������������;����W�$���o����”����¦����Á� ���Ð� ���Ü� ���è����õ� �����������$����5����<����A� ���G� ���T����b����s��������ž� ���­� ���»� ���È� ���Ô����ß����ä����é�#�������'����0�*���O����z�E���}����Ã���×�o���é ����Y!����]!����m!� ���‚!�&���!� ���·!� ���Ã!� ���Î!����Û!� ���â!�#���ð!�H���"�2���]"�i��"����ú#�†���$�;���Ÿ$�%���Û$�T���%����V%����u%� ���%� ���—%����¤%� ���©%����µ%����É%�@���ä%����%&����<&����M&� ���b&����p&����„&����•&����¤&� ���³&�1���Á&�'���ó&� ���'� ���)'� ���7'����D'�&���W'�*���~'����©'����±'����Á'�5���Æ'� ���ü'����(����(����!(����5(� ���J(����V(� ���^(����k(�$���p(� ���•(�$��� (����Å(����×(����í(�+����)����,)����1)� ���@)����N)����`)����u)����‡)����™)� ���«)����¸)� ���Í)�,���Ø)�j���*�&���p*� ���—*�'���¸*�0���à*�4���+����F+�Y���e+�'���¿+�T���ç+�'���<,�(���d,����,�X���¡,����ú,�?���-�&���V-�š���}-����.����/.�#���Í.�&���ñ.����/�"���7/�T���Z/�g���¯/�†���0�.���ž0����Í0�"���ì0�+���1�Y���;1�~���•1�¤���2�ä���¹2�=���ž3����Ü3�^���ú3� ���Y4�¢���z4�F���5�'���d5�Z���Œ5�`���ç5�!���H6�!���j6�$���Œ6� ���±6�'���Ò6�<���ú6�T���77����Œ7����‘7����–7����¬7����Â7����×7�¹���í7� ���§8����±8����¶8����¼8����Ë8�;���â8�3���9�/���R9�+���‚9�'���®9�#���Ö9����ú9����:����6:�<���F:����ƒ:����‰:����:����¦:�*���¨:����Ó:����ë:����;�A���";�2���d;�1���—;� ���É;����Õ;�!���è;���� <�#���<����5<�0���Q<����‚<����œ<����­<�*���¾<����é<����=�"���'=����J=����h=�E���‡=� ���Í=�,���î=� ���>�!���<>����^>����~>�+���>�#���É>�#���í>�,���?�0���>?�,���o?�#���œ?����À?����Û?� ���ñ?����@����.@����A@����_@����}@�$���œ@����Á@�'���×@����ÿ@����A�!���/A����QA�1���jA����œA����¬A����ÉA����ÝA����ôA�(���B����-B����FB�.���[B�2���ŠB����½B����ØB����óB�%��� C�0���2C�3���cC����—C�B���·C�+���úC�5���&D�1���\D����ŽD����§D�*���ÆD����ñD���� E�)���)E����SE�%���dE�!���ŠE����¬E����¼E�8���×E����F����&F����:F����XF�&���rF�.���™F�!���ÈF����êF�&���ùF���� G����0G����DG�'���UG�"���}G�&��� G����ÇG����ÜG����õG� ���H����1H����JH����aH�%���xH����žH� ���ºH� ���ÇH����ÔH����çH����üH����I����)I�+���@I�-���lI�!���šI����¼I����ÛI����ïI�8���J����?J����VJ����kJ����J�3���“J� ���ÇJ����ÑJ� ���âJ����îJ� ���þJ����K�#���K�"���?K����bK����sK����„K����ŠK����œK�%���­K�$���ÓK�+���øK�#���$L�:���HL�!���ƒL�/���¥L�'���ÕL����ýL����M����.M�*���NM�%���yM�%���ŸM����ÅM����åM����N�(���"N�,���KN� ���xN�$���™N����¾N����×N�$���éN�#���O�%���2O����XO�!���xO����šO����®O� ���ÌO�3���íO�-���!P����OP�1���hP����šP�1���ºP����ìP����Q����Q����8Q����RQ�#���lQ�1���Q�.���ÂQ����ñQ����R����R����9R� ���QR����_R����|R�(���‘R����ºR����¿R�.���ÞR���� S�D���%S����jS����~S����S����ŸS����¼S����ØS����õS����T����T����*T�)���9T�/���cT�=���“T�@���ÑT�:���U����MU�!���kU����U����ŸU����±U�;���ÈU����V����V����5V����IV� ���dV����…V���� V����´V�*���ÇV�-���òV���� W����0W����GW����`W����uW����ŒW����¥W����ÁW�%���ÙW�1���ÿW�#���1X�"���UX����xX� ���ŽX����œX����­X����ÃX�"���ÕX� ���øX����Y����Y����0Y����CY����_Y����uY�#���Y�!���´Y�!���ÖY����øY����Z����.Z����GZ� ���fZ����sZ����ƒZ����”Z����¦Z�!���ÄZ����æZ�"���þZ����![����A[� ���_[����€[����˜[�]���­[���� \����\�!���5\�*���W\� ���‚\� ���\����°\�$���Ä\����é\�2���þ\�;���1]����m]����†]����£]����Á]�R���Ø]�L���+^�(���x^� ���¡^����®^����¾^����Ð^����æ^�,���_�9���1_����k_�0���q_�:���¢_�'���Ý_�8���`����>`����S`� ���d`�/���r`�-���¢`����Ð`����ê`�&���a�)���(a����Ra�$���ga����Œa����£a����½a����Ía�+���æa�1���b�"���Db����gb����~b�#���œb�$���Àb����åb����c����c�!���8c�!���Zc����|c�%���‹c����±c����Àc�7���Ïc�=���d����Ed����cd����xd����’d� ���¥d����³d�-���Ëd�C���ùd�(���=e� ���fe�'���pe����˜e����²e����Âe�%���Òe����øe�4���f� ���Cf�&���df� ���‹f�$���—f�8���¼f����õf����g����/g����Eg����cg�>���{g� ���ºg� ���Åg����Ñg����æg����÷g� ��� h� ���h����#h����:h� ���Qh� ���[h����eh����h����”h����¯h����Ãh�$���Øh�-���ýh�7���+i����ci����ji����yi����ˆi����¡i� ���±i����½i����Äi����Êi����Ñi����ïi����j�#���%j�J���Ij� ���”j� ���¢j����¯j�*���Äj����ïj���� k����$k����@k����Wk�8���tk����­k� ���³k�H���Ák�?��� l�=���Jl�>���ˆl�3���Çl�(���ûl�N���$m�f���sm�>���Úm�@���n�<���Zn����—n�(���¯n����Øn�/���ón����#o����>o����Vo����io����oo����ƒo�*���£o�!���Îo����ðo����p����p�3���+p����_p����wp�0���p����Àp����Ôp�H���æp�+���/q�2���[q�8���Žq�=���Çq�@���r�#���Fr����jr�=���…r�4���Ãr�.���ør�,���'s�<���Ts�0���‘s�3���Âs�7���ös�c���.t�t���’t� ���u�3���u�>���Fu�5���…u�j���»u�0���&v�,���Wv�*���„v�3���¯v� ���ãv����ïv� ���w� ���w�/���w�7���Mw�Ä��…w����Jy���Ly�Û���_z�Þ���;{�é���|�È���}�¨��Í}�ÿ���v�Ì���v€�s���C���·�1��Ê‚�Ù��üƒ�f��Ö…�|��=‡�¤��ºˆ� ���_Š�����‹�Á���‹�O���Ô‹�:��$Œ�ž���_�»���þ�m��ºŽ���(�›���E‘�æ���á‘�´��È’�‘���}•�k���–�G���{–�€���Ö�·���D—�®���ü—�Í���«˜�‡���y™�0��š�µ���2›����è›�~��†œ�d��ž�Q��jŸ�:���¼ �N���÷ �ã���F¡�Þ���*¢�9�� £�Š���C¤�É���Τ�J���˜¥�Í���ã¥�1��±¦�ÿ���ã§�0��ã¨�@���ª����Uª�Æ��tª�x��;¬���´­�ô���·®�)��¬¯���Ö°�á���å²�C���dz�å��� ´�R���ñ´���Dµ����L¶� ���Ú¶�)��æ¶�z���¹���‹¹�j��©º�1��¼�.���F½�ä���u½�‹���Z¾�¼���æ¾���£¿�½���²À�p���pÁ�D���áÁ�†���&Â�é���­Â�ð���—Ã�x���ˆÄ�.���Å�6��0Å�x��gÆ�è���àÇ���ÉÈ���ÍÉ�Þ���æÊ�þ���ÅË�ì���ÄÌ���±Í�í���ÌÎ�Æ���ºÏ�…���Ð���Ñ�]���Ò�t��}Ò�Æ���òÓ�«��¹Ô�u��eÖ�$��Û×�5���Ú�!��6Û�å��XÝ�Q��>ß�I���à�H���Úà�#��#á�¼��Gâ�7��å�Å���<æ�þ��ç�N���é�j���Pé�K��»é� ��ë�±��í�F��Åî�ê��� ñ�=��÷ñ�H��5ó�›���~ô�¿���õ� ��Úõ���çö�Þ���î÷�˜���Íø�/��fù���–ú�™���²û�³���Lü�Ž���ý�‘��þ�f��!��q��ˆ���ú�M�� �C���W�–���›�›���2���Î�§��ë�Æ���“ �E���Z �°��  �Ø���Q �Ø���*�Å���]��É���'���>�š���[�Ý���ö���Ô�ß���Ü�/��¼�P��ì�å���=�|���#�Ë�� �f��l�C��Ó �T��"�«��l#�L���%�B���e%�µ��¨%�O���^'�Ê��®'�õ��y)�(���o+�+���˜+���Ä+�&���Ú,�2���-�,���4-�/���a-�;���‘-�.���Í-�-���ü-�$���*.�Y��O.�0���©/�'���Ú/����0�±��0�S���Ð1�‚��$2�J��§3�Þ���ò4�ì���Ñ5�#��¾6����â7����ç7����ð7����ù7�L�� 8�-���Z9� ���ˆ9� ���’9����ž9����¹9�+���Ù9����:����$:�$���A:�.���f:����•:����­:�]���Ç:�5���%;�&���[;����‚;�1���—;�&���É;����ð;����<����<�*���.<�'���Y<�4���<�)���¶<�#���à<����=�6���=�%���T=�%���z=�O��� =�5���ð=�B���&>�H���i>�>���²>�+���ñ>�(���?�&���F?�H���m?�)���¶?�A���à?�^���"@����@�?��� @�*���à@�5��� A����AA�6���_A����–A�F���©A����ðA�#���B�#���(B����LB� ���aB����‚B����˜B����«B� ���ÂB����ãB����þB����C����0C����EC����XC�>���kC����ªC�1���ÊC�5���üC�6���2D����iD�'���{D����£D�)���ºD� ���äD����E�T���#E����xE����ŽE����­E�"���ÍE�!���ðE����F����1F����GF�$���dF����‰F�#���F�.���ÁF�%���ðF����G�)���)G�+���SG�T���G�5���ÔG�*��� H�$���5H�,���ZH�2���‡H�,���ºH�(���çH�-���I�%���>I�)���dI�)���ŽI����¸I����ÎI����ëI�&��� J����1J����EJ�0���YJ�!���ŠJ�,���¬J� ���ÙJ� ���æJ����ôJ���� K����K�*���8K�=���cK�B���¡K�8���äK�$���L� ���BL� ���cL�(���„L����­L����ÁL�.���ØL�%���M�;���-M����iM����mM�#���~M����¢M�‡���¦M�i��.N����˜O� ���­O�<���»O����øO����P����'P����:P����MP� ���`P����jP����oP����uP�B���~P����ÁP�'���ÔP�&���üP����#Q����2Q� ���8Q����DQ����aQ� ���Q� ���‰Q����—Q�‘��ªQ� ���<S����HS�^���hS�S���ÇS����T�x���$T�o���T�†��� U� ���”U����ŸU� ���³U�C���¿U�Ç��V� ���ËW����ÖW����×X����æX� ���öX� ���Y����Y�¢�� Y����ÃZ����ÔZ�ž��ÛZ�t���z\� ���ï\�/���ú\�.���*]����Y]����j]����q]�6���…]�%���¼]� ���â]����í]�B��� ^�E���P^����–^����¨^� ���·^� ���Ã^����Ñ^����Ø^����Þ^����å^����ö^����ý^�å���_����ö_�ù��`����ÿa����b� ���+b����9b����Sb�)���ob����™b����¸b�,���Ôb����c����c����9c� ���Hc� ���Tc� ���`c����mc� ���~c����Šc����œc����­c����³c����¹c����Âc� ���Õc����ãc����ôc����d����&d� ���5d� ���Cd� ���Pd� ���\d����gd����ld����qd�.���d����¾d�#���Ýd�+���e����-e�J���5e����€e�º��›e�Œ���Vg����ãg����çg����úg� ���h�-��� h� ���Nh� ���Zh� ���eh����rh����{h�#���Œh�C���°h�G���ôh�Å��<i�"���k����%k�8���³k�!���ìk�k���l�*���zl�$���¥l� ���Êl� ���Ôl� ���ál� ���îl����úl� ���m�I���2m�#���|m���� m����·m����Óm����ãm����÷m����n����n� ���&n�A���4n�3���vn� ���ªn� ���¸n� ���Æn����Ón�/���ên�,���o����Go����Oo����_o�C���do����¨o����·o����Ào����Ño����èo� ���þo���� p����p����"p�(���+p� ���Tp�#���^p����‚p�4���”p�"���Ép�6���ìp����#q����(q����7q����Iq����_q����|q����—q����²q����Íq����ãq����ýq�/���r�l���6r�#���£r� ���Çr�*���èr�/���s�3���Cs� ���ws�O���˜s�'���ès�Y���t�%���jt�&���t����·t�[���Êt����&u�D���Au�%���†u�¶���¬u����cv�®���yv�#���(w�(���Lw� ���uw�'���–w�]���¾w�t���x����‘x�-���"y����Py�+���ny�-���šy�X���Èy�€���!z�ª���¢z�è���M{�B���6|����y|�j���™|�"���}�µ���'}�G���Ý}�(���%~�b���N~�d���±~�����&���5�)���\�#���†�#���ª�C���Î�K���€����^€����c€����i€����ˆ€����§€����Ä€�Ë���á€����­����µ����¼����Á����Ñ�9���ç�1���!‚�-���S‚�)���‚�%���«‚�!���Ñ‚����ó‚����ƒ����+ƒ�A���<ƒ����~ƒ����„ƒ����Šƒ����¡ƒ�+���¥ƒ�!���у����óƒ�#���„�M���6„�K���„„�J���Є����…����8…�1���R…����„…�2���‹…�'���¾…�D���æ…�+���+†����W†�3���t†�B���¨†�&���ë†�)���‡�2���<‡�+���o‡�,���›‡�N���ȇ�+���ˆ�=���Cˆ�-���ˆ�.���¯ˆ�,���Þˆ�+��� ‰�6���7‰�*���n‰�7���™‰�@���щ�D���Š�=���WŠ�6���•Š�$���ÌŠ� ���ñŠ�6���‹�/���I‹����y‹�)���—‹�,���Á‹�0���î‹�8���Œ�3���XŒ�;���ŒŒ�0���ÈŒ�0���ùŒ�:���*�%���e�L���‹�'���Ø�+����Ž�(���,Ž�*���UŽ����€Ž�G��� Ž�&���èŽ�#����=���3�>���q�(���°�(���Ù�(����6���+�@���b�D���£�#���è�V��� ‘�K���c‘�A���¯‘�M���ñ‘�#���?’�.���c’�C���’’�-���Ö’�.���“�@���3“����t“�;���’“�C���Γ����”�3���2”�Y���f”�)���À”�*���ê”�+���•�6���A•�1���x•�9���ª•�.���ä•����–�A���2–����t–�6���–����Ç–�,���å–�%���—�$���8—����]—����u—����Œ—�)���¨—�$���Ò—����÷—����˜�5���-˜����c˜����ƒ˜����˜˜����®˜����˜����Û˜����ú˜����™�8���1™�G���j™�$���²™�$���×™����ü™����š�K���-š�2���yš����¬š����Çš����ßš�J���óš� ���>›����I›�5���[›����‘›����¬›����¾›�#���×›�#���û›� ���œ����-œ����@œ����Hœ����[œ�+���mœ�*���™œ�.���Äœ�(���óœ�=���� ���Z�+���{�%���§�$���Í�"���ò�"���ž�*���8ž�'���cž�*���‹ž�$���¶ž�"���Ûž� ���þž�>���Ÿ�;���^Ÿ�(���šŸ�.���ß� ���òŸ���� �%���& �"���L �'���o �$���— �%���¼ ����â �!���÷ � ���¡�>���:¡�4���y¡����®¡�C���Ρ�-���¢�D���@¢����…¢�!���¥¢�!���Ç¢� ���é¢�$��� £�.���/£�<���^£�8���›£�"���Ô£����÷£� ���¤����7¤�*���R¤�%���}¤����£¤�8���¾¤����÷¤� ���ü¤�6���¥�"���T¥�^���w¥����Ö¥����í¥����þ¥����¦����,¦����I¦����i¦����‰¦����¦����«¦�(���½¦�9���æ¦�O��� §�D���p§�@���µ§�+���ö§�*���"¨����M¨����i¨����¨�K���Ÿ¨�#���ë¨����©����#©�$���:©�,���_©�!���Œ©����®©����Å©�6���Ú©�9���ª����Kª����]ª�(���zª����£ª� ���¿ª����àª�&���ÿª����&«�<���E«�A���‚«�*���Ä«�.���ï«�%���¬����D¬����T¬����g¬����ƒ¬�1���—¬����ɬ� ���Û¬�!���ü¬����­�#���;­�!���_­� ���­�6���¢­�,���Ù­�-���®����4®�+���S®�!���®�+���¡®����Í®����Ü®����î®����¯�%���¯�&���<¯����c¯�+���~¯�*���ª¯�(���Õ¯�+���þ¯����*°����F°�h���^°����ǰ����ç°�5���ÿ°�=���5±����s±�(���‚±����«±�-���˱�$���ù±�5���²�C���T²����˜²�&���¸²����ß²����÷²�]���³�U���p³�-���Ƴ����ô³����´����´�!���3´�3���U´�'���‰´�;���±´����í´�D���ö´�R���;µ�:���޵�E���ɵ����¶����,¶����>¶�=���P¶�.���޶����½¶����ܶ�+���÷¶�,���#·����P·�&���i·����·����¦·����À·����Ï·�?���ë·�2���+¸�#���^¸����‚¸�*��� ¸�0���˸�7���ü¸�,���4¹����a¹�1���}¹�1���¯¹�6���á¹����º�/���*º����Zº����kº�2���€º�d���³º� ���»����9»�(���Y»����‚»����™»�'���±»�3���Ù»�I��� ¼�1���W¼����‰¼�A���˜¼����Ú¼����ú¼���� ½�1���½����O½�>���h½�,���§½�.���Ô½����¾�,���¾�B���E¾����ˆ¾����Ÿ¾�!���»¾����ݾ����ý¾�]���¿����x¿����ˆ¿����š¿����°¿����Æ¿� ���Ú¿� ���è¿����õ¿����À����)À� ���>À����HÀ����gÀ����‡À����¥À� ���ÁÀ�4���âÀ�7���Á�=���OÁ����Á� ���•Á����¢Á����²Á����ÒÁ����áÁ� ���òÁ����ÿÁ����Â�'���Â� ���FÂ�!���gÂ�(���‰Â�N���²Â����Ã����Ã�(���&Ã�>���OÃ�2���ŽÃ�(���ÁÃ�0���êÃ�(���Ä����DÄ�B���dÄ����§Ä� ���®Ä�V���ºÄ�H���Å�F���ZÅ�E���¡Å�>���çÅ�*���&Æ�]���QÆ�~���¯Æ�I���.Ç�L���xÇ�C���ÅÇ�#��� È�<���-È����jÈ�1���È����³È����ÑÈ����éÈ����øÈ����þÈ�#���É�3���@É�.���tÉ����£É����ÂÉ����ÕÉ�B���õÉ����8Ê����QÊ�5���jÊ���� Ê����¶Ê�K���ÌÊ�/���Ë�3���HË�9���|Ë�B���¶Ë�P���ùË�/���JÌ�%���zÌ�@��� Ì�9���áÌ�?���Í�9���[Í�F���•Í�>���ÜÍ�+���Î�0���GÎ�w���xÎ�~���ðÎ����oÏ�C���€Ï�[���ÄÏ�@��� Ð�t���aÐ�B���ÖÐ�7���Ñ�-���QÑ�2���Ñ����²Ñ����ÅÑ����ÜÑ����ìÑ�5���ýÑ�<���3Ò����0�����x���Ï��Ô���à���‡���g��d�����l���Û�������Z��ƒ��™����������ö�����������=��0������g����������n��Š�� ������ã��3��–��­����������P��1���������c��7������R�� ��ƒ��r������������7���!������Ü������¥��(��������������E��=��j��ƒ���î��ç����<���ù���®��ß��´��:��ª��X������J������Ý�����������Z�������Æ�� ����p��Õ��–��¡���Ÿ���æ���*��f��_������ð��G��2��Q��õ��������ñ�����e��3�����w���Q��d���f���H��ÿ��_��‡������±���¾��ý��Ÿ��7����������B��5��b��÷��Î�� ������G����������Ö��ª���¤���¼��W�����P���*��Þ��Õ����������������ñ��9���������Á��D��ë��?��C��������������v��{���Î��Ä��þ��ø��¨�� ���œ���!��Ü��‚��²��*������&����������^��^���­�� ��-��ê��ä��ø���‚���ß������������$��œ��g���r���·��ê���û��� ������Â��Ì��à��Ë��ß��ê��F����������Ø������Ã��û����u�������� ������Ê���º��—��î��Å�������ü��»���Ö�������e��|��š������Œ�����������q�� ��í������à��ù��ä����������j��‰��¸���������������÷��¶��~������f��ò�����������L��������������y��å��s������³������'��¸��‰������Þ����������š��<��ñ��+������X��Ò��%��'������Â��]���������í��M��&��–��t��R��Q��� �������W������t�����’��:����4��Ð��/���[����������[��/��:�������Ö��,�����������E��h�����„��Ê����������¤��Í��„���������è��…���]��L��ø��î��h��î���Ð�������%������o���¬���Š�������������K������"���t��#������5��v�����������������é��{��������ê��ë�����������2��y��„��ï��¡����¦��<��×�������È��J��ó���ª��M������.������±������L������¥����B������È�� ������É��¾��\���������‘������ì��‰����\����������ü��W����˜��ù��ÿ��F��!��Õ������±��{��~���a��€��…��©�������Ô��Ø��_�������;��¸������8��x��9��û������ž��X���������������Ù��X������Å��n���Ó��ä��)��5��¦��\���Ð��ô����������i��ˆ����������ç��†��e�����Â����y���>��®���à������}�����������q���r������I����������†��x��ç��?�����+��j��Ù��Ç��&��� ��’��ô���j�������Ú�����Y��.��³��Ð��%����è��–���ý��n��É��ö����������s����������w����ñ������D�����Ò��É������������Ç��Í���b������ô��ú��������������¯��Ê��[����������ó������â��B��F���T���Š���©������A��ì��9���:��Æ������Á����������-������Á����������� ��������� ����������f����o�� �� ������Ï��A��3��s��º���>��µ��˜��’�����ì��������������á����6��;���Y��������Ý��ð����Œ����������Ö��À��•���@���”��²��$����½�� ��º��x��~������¡��(���¤��&����‚��S�� ��z��������í���×��P����¿�����������é���Ý����†��‘��%��¨��h��Ó������Ô������¹��â�� ��]����������#������·��ö����������-�����������,������Þ��������ù��y��5���À��™��Û������ò����"�����Ÿ��B���ó��Y�������D��Í�� ��*��|���@��À�����������È���å�����������Ë������������£�����������|��Z������Ä��������l�����������;��¾�������ï���š���‡��ã������Ó�������Ý��_��—���������Ã������®��•��ï��ƒ��`���€������U���F������®��+��i��3��§��ç���¿������.��N��8���¼���á���R������U��������T������C��“����§���,��õ���Ž��Î���������c��9��=������À��·�������$���7��;��ì�����������o�� ��Ó��O��������Û��g��õ��«������ ��U��»�� ��D������ú����������Þ��6������l��ÿ���•��V���«�����O���Z��×��æ��Ù��´��/��������������������������������¾��������”����¼������������,��”������°��������`��‘���½���H��Ÿ������Q������+���6��'����}�� ��2��������©��Ø���*���h��]������J���������� ��������­���æ������z������������½��������������é��‹��1��n������£������A����Š����������������›��—����������p��‰�����������������Ž���I���C��’��­������������…��������������,������Æ��������������������ô��œ�����������v���´�����)����������0��?������Ò��Ú������N�������I��å��‹��Ä��:��ž�����¶��¢��¥��������‚�����í��T��é����������‡��T��9��¯��©������>��$��Ç����C���G����!����@��å����������º��¸������â�������6���>���������������É���i���4�����6��(��������������ï��B��V��W���Ñ��°��Ç���������¹��è��e��d������@��´������Ë���m������Ä�������7��ž��p��D��µ���Ï��k����������m���ø��r��€���4������S��±��w������æ��á��×��=���������������³���¥���w��Ù������S�������������������Û��»������¬������4������H�������"��c��¤��������Æ���C������5������Ž��������[��«��µ��v������{��J����������ò������Ñ��m����a��������������K������Í������.���˜�����������8����'���������������™���™��¨���‘��Ã��â��¿��)��¢�������������1��<��������������ü��A��q�����ß���^��¬����°���“���4������÷�� ����������>��I����������}��o��E��������������?��÷���µ��þ������ ������k��������������õ��E��½��O��H��d������ý��þ�������z���‹�������Å������������s��M������È��k��|��ˆ��������þ��l��N�������?��³��¡��¢������(��<��������Â���q��������L������������R���m�����ò�� ��V��ª�� ���`��“��“����u�������ë��ˆ�����������¢�������������ð��Y��;������Î������ö�� ���^��›��ã���…��N������U����������ë��¶���������¿������ð���K�������#��� ���¹�������Ë��a��è�����������ÿ��(��M�������ý���Ú������+������Ì������=�������/������¬��€������¼��b��`��0���Ú��t��”���ä���.��Ñ�������§��‹��Œ���p���—�������Ì���"������Å����������¨��„��û��������������"��¯���›��á��Œ��2��u��ü�������Ü���%���������G�����������²��Ô��)���b����0��²���¯��†���'�� ������#�� �����Ž������K��������������������)��}��O����Ê��P������Ò���!���£��~��V��°��������£��¶�� ��§����8��3���@��k�����������Ì����›���ž��#����Ï���2���������a���������������»��ú����1������8��Ñ��¹��ó��«��¦���š��&��i��Ã�����z��˜��c���ã������\��œ��·��������Ø������•����������Ü��Õ���$��������Á��1������-��-��/������ú���ˆ��S����������¦������A���u�����pÒ�´[��à[��ô[��\��\��0\��D\��`\��t\�� \��¼\��Ø\��ì\���]��]��0]��xÒ��������������� �����������������ÿÿÿÿ˜Ò��������1���ÿÿÿÿÊÒ��������/���ÿÿÿÿúÒ�7����������ÿÿÿÿDÓ�����������ÿÿÿÿtÓ��������(���ÿÿÿÿ¡Ó������������������ÿÿÿÿÍÓ�����������ÿÿÿÿÔÓ��������������������������������ÿÿÿÿÔ������������������ÿÿÿÿ2Ô������������������ÿÿÿÿ\Ô�P����������ÿÿÿÿ¿Ô�����������ÿÿÿÿõÔ��������D���ÿÿÿÿ>Õ������������������ÿÿÿÿsÕ� ����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --complement complement the set of selected bytes, characters or fields � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s%s argument '%s' too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--context (-Z) works only on an SELinux-enabled kernel�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IUse%�IUsed�Ian Lance Taylor�Idle�Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print machine architecture. �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the user name associated with the current effective user ID. Same as id -un. �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s OPTION... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Window changed�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�conflicting empty-field replacement strings�conflicting security context specifiers given�couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to discard cache for: %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to remove %s�failed to remove directory %s�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to set %s security context component to %s�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unknown binary operator�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils-8.18-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-06-24 16:47-0300 Last-Translator: Rodolfo Ribeiro Gomes <rodolforg@gmail.com> Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net> Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); � � ( EXPRESSÃO ) EXPRESSÃO é verdadeira ! EXPRESSÃO EXPRESSÃO é falsa EXPRESSÃO1 -a EXPRESSÃO2 tanto EXPRESSÃO1 como EXPRESSÃO2 são verdadeiras EXPRESSÃO1 -o EXPRESSÃO2 EXPRESSÃO1 ou EXPRESSÃO2 é(são) verdadeira(s) � --check-order verifica se a entrada está corretamente ordenada, mesmo sendo todas as linhas de entrada pareáveis --nocheck-order não verifica se a entrada está ordenada corretamente � -1 suprime a coluna 1 (linhas só existentes em ARQUIVO1) -2 suprime a coluna 2 (linhas só existentes em ARQUIVO2) -3 suprime a coluna 3 (linhas existentes nos dois arquivos) � -a, --all o mesmo que -b -d --login -p -r -t -T -u -b, --boot horário da última iniciação do sistema -d, --dead emite os processos mortos -H, --heading emite a linha com cabeçalhos das colunas � -b ARQUIVO ARQUIVO existe e é especial de tipo bloco -c ARQUIVO ARQUIVO existe e é especial de tipo caractere -d ARQUIVO ARQUIVO existe e é um diretório -e ARQUIVO ARQUIVO existe � -l produz uma saída de formatação longa sobre o(s) USUÃRIO(s) -b omite o diretório pessoal do usuário e o shell em formatação longa -h omite o arquivo de projeto do usuário em formatação longa -p omite o arquivo de plano do usuário em formatação longa -s produz uma saída de formatação curta; este é o padrão � -n TEXTO o comprimento do TEXTO não é nulo TEXTO equivalente a -n TEXTO -z TEXTO o comprimento do TEXTO é nulo TEXTO1 = TEXTO2 os textos são iguais TEXTO1 != TEXTO2 os textos não são iguais � ARG1 * ARG2 multiplicação aritmética de ARG1 por ARG2 ARG1 / ARG2 quociente da divisão aritmética de ARG1 por ARG2 ARG1 % ARG2 resto da divisão aritmética de ARG1 por ARG2 � ARG1 + ARG2 soma aritmética de ARG1 com ARG2 ARG1 - ARG2 ARG1 subtraído aritmeticamente de ARG2 � ARG1 < ARG2 ARG1 é menor que ARG2 ARG1 <= ARG2 ARG1 é menor ou igual a ARG2 ARG1 = ARG2 ARG1 é igual a ARG2 ARG1 != ARG2 ARG1 é diferente de ARG2 ARG1 >= ARG2 ARG1 é maior ou igual a ARG2 ARG1 > ARG2 ARG1 é maior que ARG2 � ARQUIVO1 -ef ARQUIVO2 ARQUIVO1 e ARQUIVO2 têm o mesmo número de dispositivo e de inode ARQUIVO1 -nt ARQUIVO2 ARQUIVO1 é mais recente (horário de modificação) que ARQUIVO2 ARQUIVO1 -ot ARQUIVO2 ARQUIVO1 é mais antigo que ARQUIVO2 � INTEIRO copia até o número da linha especificado, mas não a inclui /EXPREG/[DESLOC] copia até a linha coincidente, mas não a inclui %EXPREG%[DESLOC] ignora tudo antes da linha coincidente {INTEIRO} repete o padrão anterior o número de vezes especificado. {*} repete o padrão anterior tantas vezes quanto possível O DESLOCamento de linhas, quando usado, deve utilizar um "+" ou "-" seguido de um inteiro positivo. � INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2 INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2 INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2 INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2 INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2 INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2 � TEXTO : EXPREG ocorrência de padrão anconrado de EXPREG no TEXTO match TEXTO EXPREG o mesmo que TEXTO : EXPREG substr TEXTO POS TAMANHO subtexto do TEXTO, POS contado a partir do 1 index TEXTO CARACTERES índice no TEXTO onde quaisquer CARACTERES sejam encontrados; ou 0 length TEXTO comprimento do TEXTO � a numera todas as linhas t numera apenas as linhas não vazias n não numera linha alguma pBRE numera apenas as linhas que coincidam com a expressão regular básica, BRE FORMATO é um dos itens a seguir: ln justificação à esquerda, sem zeros iniciais rn justificação à direita, sem zeros iniciais rz justificação à direita, com zeros iniciais � b cria um arquivo especial de tipo bloco ("buffered") c, u cria um arquivo especial de tipo caractere (não "buffered") p cria uma "FIFO" � # usuários=%lu � Um campo é uma seqüência de espaços-brancos (normalmente espaços e/ou tabulações) seguidos por caracteres que não sejam espaços-brancos. Os campos são ignorados antes de caracteres. � Um mero - implica em -i. Se não houver COMANDO, exibe o ambiente resultante. � Depois de qualquer sinalizador pode haver uma largura de campo opcional, como um número decimal; então, um modificador também opcional, que pode ser E para usar as representações alternativas da localidade, se disponível, ou O para usar os símbolos númericos alternativos da localidade, se disponível. � Uma EXPRESSÃO omitida resulta em falso. Nos demais casos, EXPRESSÃO é verdadeira ou falsa e configura o estado de saída. Assume uma das formas a seguir: � Como caso especial, cp faz uma cópia de segurança da ORIGEM quando as opções force e backup são fornecidas e ORIGEM e DESTINO são iguais ao nome de um arquivo comum já existente. � Note que muitos operadores precisam ser "escapados" ou postos entre aspas para shells.Comparações são aritméticas se ambos os ARGumentos forem números; de outra forma, serão lexicográficas. A ocorrência de padrões retorna o texto coincidente entre \( e \) ou nulo; se \( e \) não forem usados, elas retornarão o número de caracteres coincidentes ou 0. � Tanto MAIOR quanto MENOR devem ser especificados se TIPO for b, c ou u; eles devem ser omitidos se TIPO for p. Se MAIOR ou MENOR começar com 0x ou 0X, é interpretado como hexadecimal; caso contrário, se começar com 0, como octal; em caso contrário, como decimal. TIPO pode ser: � Por padrão, rm não remove diretórios. Use a opção --recursive (-r ou -R) para remover também cada diretório listado, junto com todo seu conteúdo. � Por padrão, seleciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC são dois caracteres delimitadores para separar as páginas lógicas; a ausência de um segundo caractere implica em :. Digite \\ para \. ESTILO é um dos itens: � Por padrão, arquivos esparsos da ORIGEM são detectados por uma heurística básica e os respectivos arquivos de DESTINOs são também feitos esparsos. Este é o comportamento escolhido por --sparse=auto. Especifique --sparse=always para criar um arquivo esparso em DESTINO sempre que o arquivo ORIGEM tiver uma sequência de bytes zero suficientemente grande. Use --sparse=never para inibir a criação de arquivos esparsos. Quando --reflink[=always] for especificado, realiza uma cópia leve, em que os blocos de dados são copiados somente quando modificados. Se isso não for possível, a cópia falha. Em outro caso, se --reflink=auto for especi- ficado, recai para a cópia padrão. � Configurações de combinação: * [-]LCASE o mesmo que [-]lcase cbreak o mesmo que -icanon -cbreak o mesmo que icanon � Cada SINALIZador pode ser: append modo anexar (só faz sentido para saída; sugere-se conv=notrunc) � Cada MODO é da forma "[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+". � Exemplos: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" seguido de "dir2" %s stdio.h -> "." � Exemplos: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a algo/txt1 algo/txt2 -> "txt1" seguido de "txt2" � Exemplos: %s f - g Emite o conteúdo de f, depois a entrada padrão, e o conteúdo de g por fim. %s Copia a entrada padrão para a saída padrão. � Exemplo: %s root /u Altera o dono de /u para "root". %s root:equipe /u Idem, mas também altera seu grupo para "equipe". %s -hR root /u Altera o dono de /u e seus arquivos para "root". � Exemplos: %s equipe /u Muda o grupo de /u para "equipe". %s -hR equipe /u Muda o grupo de /u e seus arquivos para "equipe". � Excetuando-se -h e -L, todos os testes relativo a ARQUIVOs interpretam as ligações simbólicas. Lembre-se que os parênteses têm que ser "escapados" (por exemplo, usando barras invertidas) antes, para serem passados para shells. INTEIRO pode também ser -l TEXTO, que avalia o comprimento de TEXTO. � O estado de saída é 0 se a EXPRESSÃO não for nula nem 0. Será 1 se EXPRESSÃO for nula ou 0; será 2 se EXPRESSÃO for sintaticamente inválida; e será 3 se um erro ocorreu. � FORMATO controla a saída. As sequências interpretadas são: %% um % literal %a nome abreviado do dia de semana da localidade (por exemplo, Sáb) � Manipula a linha tty ligada à entrada padrão. Sem argumentos, emite a taxa de símbolos em baud, a disciplina da linha e as modificações em relação ao "stty sane". Nas configurações, CARAC é um caractere aceito literalmente ou codificado como em ^c, 0x37, 0177 ou 127; valores especiais ^- ou "undef" (indefinido) são utilizados para desabilitar caracteres especiais. � Se ARQUIVO for -, realiza a formatação física da saída padrão. Exclui ARQUIVO(s) se --remove (-u) for especificado. O padrão é não remover os arquivos, porque é comum operar em dispositivos como /dev/hda, e esse tipo de arquivo não deveria normalmente ser removido. Ao operar em arquivos comuns, a maioria das pessoas usam a opção --remove. � Se são omitidos PRIMEIRO ou INCREMENTO, eles são tratados como 1. Isto vale mesmo se ÚLTIMO for menor que PRIMEIRO: o INCREMENTO omitido é assumido 1. PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores em ponto flutuante. INCREMENTO normalmente é positivo se PRIMEIRO for menor que ÚLTIMO, e negativo caso contrário. � Se ARQUIVO for -, copia novamente para a saída padrão. � Se nenhum COMANDO for dado, executa "`${SHELL} -i'" (padrão: "/bin/sh -i"). � Configurações da entrada: [-]brkint "break" causa um sinal de interrupção [-]icrnl traduz retorno de carro como nova-linha [-]ignbrk ignora caracteres "break" [-]igncr ignora retorno de carro � Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html> Este é um software livre: você é livre para alterá-lo e redistribuí-lo. NÃO Hà GARANTIA, na máxima extensão permitida pela lei. � Configurações locais: [-]crterase ecoa caracteres de apagar como backspace-espaço-backspace * crtkill mata todas as linhas obedecendo as configurações de echoprt e echoe * -crtkill mata todas as linhas obedecendo as configurações de echoctl e echok � NOTA: [ honra as opções --help e --version, mas "test" não. "test" trata cada uma delas como trataria qualquer outro TEXTO não nulo. � NOTA: seu shell pode ter sua própria versão de %s, o que pode tornar obsoleta a versão descrita aqui. Por favor, informe-se na documentação do seu shell sobre a que opções ele oferece suporte. � Note que as opções -d e -t aceitam formatos diferentes de data e hora. � O uso opcional de um - antes de CONFIGURAÇÃO indica negação. Um "*" marca configurações não-POSIX. O sistema sobre o qual o stty é executado determina quais são as características disponíveis. � Configurações de saída: * bsN estilo do atraso do backspace, N em [0..1] * crN estilo do atraso do retorno de carro, N em [0..3] * ffN estilo do atraso do caractere de nova-página, N em [0..1] * nlN estilo do atraso do caractere de nova-linha, N em [0..1] � O dono, caso não seja informado, permanece inalterado. O grupo também não é alterado se não informado, mas mudará para o grupo de login se deixado implícito por ":" após um DONO simbólico. DONO e GRUPO podem ser numéricos bem como simbólicos. � Emite o valor de EXPRESSÃO para a saída padrão. Uma linha em branco abaixo separa os grupos em ordem crescente de precedência. EXPRESSÃO pode ser: ARG1 | ARG2 ARG1 se não for nulo ou 0; ARG2, em caso contrário ARG1 & ARG2 ARG1 se nenhum dos argumentos for nulo ou 0; senão, 0 � Lê a entrada padrão se ARQUIVO for -. Cada PADRÃO pode ser: � Relate os problemas para: %s � CONJUNTOs são especificados como cadeias de caracteres. A maioria representa eles mesmos. As seqüências interpretadas são: \NNN caractere com valor octal NNN (1 a 3 dígitos em octal) \\ barra invertida \a sino (BEL) audível \b backspace \f nova-página ("form feed") \n nova-linha \r retorno ("enter") \t tabulação horizontal � Enviar um sinal %s para o processo "dd" em execução faz ele emitir as estatísticas de E/S para a saída de erro padrão e depois retomar a cópia. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 registros de entrada 18335302+0 registros de saída 9387674624 bytes (9,4 GB) copiados, 34,6279 s, 271 MB/s As opções são: � Caracteres especiais: * dsusp CARAC CARAC enviará um sinal de parada de terminal assim que a entrada for descarregada eof CARAC CARAC enviará um fim-de-arquivo (termina a entrada) eol CARAC CARAC terminará a linha � O sufixo de cópia de segurança é "~", a não ser que esteja definido --suffix ou SIMPLE_BACKUP_SUFFIX. O método de controle de versão pode ser definido com --backup ou a variável de ambiente VERSION_CONTROL. Os valores possíveis são: � Os dados são codificados como descrito para o alfabeto base64 na RFC 3548. Na decodificação, a entrada pode conter caracteres de nova linha além dos bytes do alfabeto base64 formal. Use --ignore-garbage para tentar se recuperar de quaisquer outros bytes fora do alfabeto no fluxo codificado. � As seguintes opções modificam como uma hierarquia é percorrida quando a opção -R é especificada também. Se mais de uma destas forem especificadas, somente a última faz efeito. -H se um argumento da linha de comando for uma ligação simbólica para diretório, percorra-o -L percorra toda ligação simbólica para diretório que for encontrada -P não percorra ligações simbólicas (padrão) � Use uma, e somente uma, das opções -b, -c ou -f. Cada LISTA é feita de um intervalo ou vários intervalos separados por vírgulas. A entrada selecionada é escrita na mesma ordem que é lida, e é escrita uma única vez. � Se ARQUIVO não for especificado ou for -, lê a entrada padrão. � Sem opções, produz uma saída de três colunas. A primeira coluna contém as linhas únicas para ARQUIVO1, a coluna dois contém as linhas únicas para ARQUIVO2; a terceira coluna contém as linhas comuns a ambos os arquivos. � Sem OPÇÃO alguma, exibe um conjunto útil de informações de identificação. � Escreve uma representação sem ambigüidade, em bytes octal por padrão, de ARQUIVO para a saída padrão. Com mais de um argumento ARQUIVO, concatena-os na ordem listada para formar a entrada. Se ARQUIVO não for especificado ou for -, lê a entrada padrão. � (útil somente em sistemas que permitem mudar o dono de uma ligação simbólica) � ???� --backup[=CONTROLE] cria uma cópia de segurança de cada arquivo de destino já existente -b como --backup, mas não aceita argumentos -d, -F, --directory permite ao super-usuário tentar ligar diretórios de forma absoluta (nota: poderá falhar devido a restrições do sistema, mesmo para o super-usuário) -f, --force remove arquivos de destino existentes � --complement complementa o conjunto dos bytes, caracteres ou campos selecionados � --dereference afeta a referência de cada ligação simbólica em vez da própria ligação em si (isso é o padrão) -h, --no-dereference afeta as ligações simbólicas em vez dos arquivos referenciados por elas � --from=DONO_ATUAL:GRUPO_ATUAL muda dono e/ou grupo de cada arquivo apenas se seu dono e/ou grupo atual forem iguais aos especificados nesta opção. Um dos dois pode ser omitido, no caso de não ser exigido o teste de tal atributo � --group-directories-first lista os diretórios antes de listar os arquivos. permite usar a opção --sort, mas o uso de --sort=none (-U) desabilita o agrupamento de diretórios � --help mostra esta ajuda e finaliza � --lookup tenta pôr em forma canônica os nomes de máquina via DNS -m só o nome de máquina e usuário associado à entrada padrão -p, --process mostra os processos ativos criados por "init" � --no-preserve-root não tratar "/" de forma diferenciada (o padrão) --preserve-root falha ao operar recursivamente em "/" � --no-preserve=LST_ATRIB não preserva os atributos especificados --parents usa o nome completo do arquivo fonte sob DIRETÓRIO � --one-file-system ao remover uma hierarquia recursivamente, ignora qualquer diretório que esteja em um sistema de arquivo diferente daquele do respectivo argumento da linha de comando � --preserve-context preserva o contexto de segurança SELinux -Z, --context=CONTEXTO define o contexto de segurança SELinux dos arquivos e diretórios � --reference=ARQR usa o grupo de ARQR em vez de especificar um valor para GRUPO � --reference=ARQR usa o modo de ARQR em vez dos valores MODO � --reference=ARQR usa o contexto de segurança de ARQR em vez de especificar um valor para CONTEXTO � --sparse=QUANDO controla a criação de arquivos esparsos. Veja abaixo --strip-trailing-slashes remove as barras finais de cada argumento ORIGEM � --strip-trailing-slashes remove quaisquer barras ao final de cada argumento origem -S, --suffix=SUFIXO redefine o sufixo costumeiro de cópia de segurança � --verbose mostra um diagnóstico logo antes de abrir cada arquivo de saída � --version informa a versão e finaliza � -evenp o mesmo que -parenb cs8 * [-]lcase o mesmo que xcase iuclc olcuc litout o mesmo que -parenb -istrip -opost cs8 -litout o mesmo que parenb istrip opost cs7 nl o mesmo que -icrnl -onlcr -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignora caractere com erros de paridade * [-]imaxbel emite um sinal sonoro e não descarrega um "buffer" de entrada cheio em um caractere [-]inlcr tranduz nova-linha por retorno de carro [-]inpck habilita a verificação de paridade da entrada [-]istrip zera o bit mais significativo (8) dos caracteres de entrada � cooked o mesmo que os caracteres brkint ignpar istrip icrnl ixon opost isig icanon, eof e eol para seus valores padrão -cooked o mesmo que raw crt o mesmo que echoe echoctl echoke � dec o mesmo que echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq o mesmo que [-]ixany ek caracteres "erase" e "kill" nos seus valores padrão evenp o mesmo que parenb -parodd cs7 � ispeed N configura a velocidade de entrada para N bauds * line N usa a disciplina de linha N min N com -icanon, define o mínimo de N caracteres para uma leitura completa ospeed N configura a velocidade de saída para N bauds � oddp o mesmo que parenb parodd cs7 -oddp o mesmo que -parenb cs8 [-]parity o mesmo que [-]evenp pass8 o mesmo que -parenb -istrip cs8 -pass8 o mesmo que parenb istrip cs7 � raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw o mesmo que "cooked" � stop CARAC CARAC irá parar a saída susp CARAC CARAC enviará um sinal de parada de terminal * swtch CARAC CARAC trocará para uma camada diferente de shell * werase CARAC CARAC apagará a última palavra digitada � %A nome completo do dia de semana na localidade (por exemplo, Sábado) %b nome abreviado do mês na localidade (por exemplo, Jan) %B nome completo do mês na localidade (por exemplo, Janeiro) %c data e hora na localidade (por exemplo, Sáb 08 Mar 2008 18:34:17 BRT) � %C século; como %Y, mas omite os dois últimos dígitos (por exemplo, 21) %d dia do mês (por exemplo, 01) %D data no formato estado-unidense; o mesmo que %d/%m/%y %e dia do mês, preenchido com espaço; o mesmo que %_d � %F data completa; o mesmo que %Y-%m-%d %g os últimos dois dígitos do ano do número ISO da semana (veja %G) %G ano do número ISO da semana ISO (veja %V); normalmente útil só com %V � %S segundo (00..60) %t uma tabulação %T as horas; o mesmo que %H:%M:%S %u dia da semana (1..7); 1 é segunda-feira � %U número da semana no ano, sendo domingo o início da semana (00..53) %V número ISO da semana, sendo segunda-feira o início da semana (01..53) %w dia da semana (0..6); 0 é domingo %W número da semana no ano, sendo segunda-feira o início da semana (00..53) � %h o mesmo que %b %H hora (00..23) %I hora (01..12) %j dia do ano (001..366) � %n um caractere de nova-linha %N nanosegundos (000000000..999999999) %p o equivalente na localidade para AM ou PM; em branco se desconhecido %P como %p, mas em minúsculas %r a hora no relógio de 12 horas na localidade (por exemplo, 11:11:04 PM) %R hora e minuto no estilo 24 horas; o mesmo que %H:%M %s segundos desde 1970-01-01 00:00:00 UTC � %x representação da data na localidade (por exemplo, 31/12/99) %X representação da hora na localidade (por exemplo, 23:13:48) %y os últimos dois dígitos do ano (00..99) %Y ano � %z fuso horário numérico +hhmm (por exemplo, -0400) %:z fuso horário numérico +hh:mm (por exemplo, -04:00) %::z fuso horário numérico +hh:mm:ss (por exemplo, -04:00:00) %:::z fuso horário numérico com : para a precisão necessária (por exemplo, -04, +05:30) %Z abreviação alfabética do fuso horário (por exemplo, BRT) Por padrão, campos numéricos de data são preenchidos com zeros. � -D cria todos os componentes iniciais de DESTINO, exceto o último; e então, copia ORIGEM para DESTINO -g, --group=GRUPO define o grupo, em vez de usar o grupo do processo atual -m, --mode=MODO define as permissões (como em chmod), em vez de rwxr-xr-x -o, --owner=DONO define o dono (somente para super-usuário) � -D, --date-format=FORMATO usa FORMATO para a data no cabeçalho -e[CARACTERE[LARGURA]], --expand-tabs[=CARACTERE[LARGURA]] expande os CARACTEREs de entrada (TABs) para a LARGURA de tabulação (8) -F, -f, --form-feed usa caractere de nova-página (form feed) em vez de um de nova-linha para separar páginas (por um cabeçalho de 3 linhas com -F ou por cabeçalho e rodapé de 5 linhas sem -F) � -G, --no-group em lista longa (-l), não emite os nomes de grupo -h, --human-readable com -l, emite os tamanhos em formato inteligível para humanos (por exemplo, 1K 234M 2G) --si similar, mas usa potências de 1000, e não de 1024 � -H, --dereference-command-line segue as ligações simbólicas listadas na linha de comando --dereference-command-line-symlink-to-dir segue toda ligação simbólica da linha de comando que apontar para um diretório --hide=PADRÃO não lista entradas implícitas que coincidam com o PADRÃO em sintaxe shell (ignorado quando se usa -a ou -A) � -I questiona uma vez antes de remover mais que três arquivos ou ao remover recursivamente. Menos intrusivo que -i, mas ainda oferecendo alguma proteção contra a maioria das confusões --interactive[=QUANDO] questiona conforme QUANDO: never (nunca), once (-I) (uma vez), ou always (-i) (sempre). Sem QUANDO, questiona sempre � -L ARQUIVO ARQUIVO existe e é uma ligação simbólica (o mesmo que -h) -O ARQUIVO ARQUIVO existe e tem como dono a ID de usuário efetivo -p ARQUIVO ARQUIVO existe e é um arquivo de pipe ("named pipe") -r ARQUIVO ARQUIVO existe e tem permissão de leitura -s ARQUIVO ARQUIVO existe e seu tamanho é maior que zero � -R, --recursive altera os arquivos e diretórios recursivamente � -R, --recursive opera em arquivos e diretórios recursivamente � -R, -r, --recursive copia os diretórios recursivamente --reflink[=QUANDO] controla cópias clone/CoW. Veja abaixo --remove-destination remove cada arquivo de destino existente antes de tentar abri-lo (contrasta com --force) � -S ordena por tamanho de arquivo --sort=PALAVRA ordena por PALAVRA em vez de pelo nome: none -U, extension -X, size -S, time -t, version -v (nenhum, extensão, tamanho, hora, versão) --time=PALAVRA com -l, mostra a hora como PALAVRA em vez do horário de modificação: atime -u, access -u, use -u: último acesso, ctime -c, status -c: última modificação; usa o horário especificado como chave de ordenação se --sort=time � -S ARQUIVO ARQUIVO existe e é um soquete -t FD o descritor de arquivo FD está aberto em um terminal -u ARQUIVO ARQUIVO existe e tem definido o bit de set-user-ID -w ARQUIVO ARQUIVO existe e tem permissão de escrita -x ARQUIVO ARQUIVO existe e tem permissão de execução (ou busca) � -T, -w, --mesg adiciona o estado de mensagem do usuário como +, - ou ? -u, --users lista os usuários conectados --message o mesmo que -T --writable o mesmo que -T � -W, --word-regexp=EXPREG usa EXPREG para buscar cada palavra-chave -b, --break-file=ARQUIVO caracteres de quebra de palavra neste ARQUIVO -f, --ignore-case muda para maiúsculas para ordenar -g, --gap-size=NÚMERO tamanho do espaçamento nas colunas entre os campos de saída -i, --ignore-file=ARQUIVO lê a lista de palavras ignoradas do ARQUIVO -o, --only-file=ARQUIVO lê somente a lista de palavras deste ARQUIVO � -Z, --context=CTX define o contexto de segurança SELinux de NOME como CTX � -Z, --context=CTX define o contexto de segurança SELinux de cada NOME como CTX � -a, --across imprime as colunas transversalmente ao invés de verticalmente; usada junto com -COLUNA -c, --show-control-chars usa a notação de circunflexo (^G) e de octal com barra invertida -d, --double-space espaço duplo na saída � -a, --all inclui sistemas de arquivo fictícios -B, --block-size=TAM o tamanho considera blocos de TAM bytes. Exemplo: -BM emite tamanhos em unidades de 1.048.576 bytes. Veja o formato de TAM abaixo. --total produz um total geral -h, --human-readable emite tamanhos em formato mais humanamente inteligível (por exemplo, 1K 234M 2G) -H, --si similar, mas usa potências de 1000, e não de 1024 � -a, --all converte todos os espaços brancos, não só os iniciais --first-only converte somente a seqüência inicial de espaços brancos (cancela -a) -t, --tabs=NÚMERO usa NÚMERO espaços em cada tabulação, em vez de 8 (habilita -a) -t, --tabs=LISTA usa a LISTA (separadas por vírgulas) de posições de tabulação (habilita -a) � -a, --archive o mesmo que -dR --preserve=all --attributes-only não copia os dados do arquivo, só seus atributos --backup[=CONTROLE] faz uma cópia de segurança de cada arquivo de destino já existente -b como --backup, mas não aceita argumentos --copy-contents copia o conteúdo de arquivos especiais quando recursivo -d o mesmo que --no-dereference --preserve=links � -a, --multiple dá suporte a múltiplos argumentos e trata cada um como um NOME -s, --suffix=SUFIXO remove um sufixo -z, --zero separa a saída com um caractere NUL em vez de nova-linha � -b, --before coloca o separador antes de cada linha, em vez de colocar depois -r, --regex interpreta o separador como uma expressão regular -s, --separator=TEXTO usa TEXTO como separador, em vez do caractere de "nova-linha" � -b, --body-numbering=ESTILO usa ESTILO para numeração das linhas do corpo do arquivo -d, --section-delimiter=CC usa CC para separação de páginas lógicas -f, --footer-numbering=ESTILO usa ESTILO para numeração das linhas de rodapé � -b, --bytes conta os bytes em vez de as colunas -s, --spaces quebra com espaços -w, --width=LARGURA usa LARGURA colunas em vez de 80 � -b, --bytes=LISTA seleciona apenas estes bytes -c, --characters=LISTA seleciona apenas estes caracteres -d, --delimiter=DELIM usa DELIM em vez de TAB como delimitador de campo � -b, --ignore-leading-blanks ignora espaços-brancos iniciais -d, --dictionary-order considera apenas espaços-brancos e caracteres alfanuméricos -f, --ignore-case ignora diferença entre maiúsculas e minúsculas � -b, --suffix-format=FORMATO usa como sufixo o FORMATO (no estilo de sprintf) em vez de %02d -f, --prefix=PREFIXO usa PREFIXO em vez de "xx" -k, --keep-files não remove arquivo de saída mesmo caso haja erros � -c, --changes como verbose, mas só relata quando há uma alteração -f, --silent, --quiet suprime a maioria das mensagens de erro -v, --verbose emite um diagnóstico para cada arquivo processado � -c, --count prefixa as linhas com a quantidade de ocorrências -d, --repeated só emite as linhas duplicadas (um exemplar de cada) � -c, --crown-margin mantém o recuo nas duas primeiras linhas -p, --prefix=TEXTO reformata somente as linhas que comecem com TEXTO, reanexando o prefixo às linhas reformatadas -s, --split-only divide as linhas longas, mas não liga à próxima � -d, --decode decodifica os dados -i, --ignore-garbage ao decodificar, ignora caracteres não alfabéticos -w, --wrap=COLS quebra linhas codificadas após COLS caracteres (padrão: 76). Use 0 para desabilitar � -d, --delimiters=LISTA reutiliza caracteres da LISTA em vez de tabulações -s, --serial cola um arquivo por vez em de todos em paralelo � -e habilita a interpretação de escape por barra invertida (padrão) -E desabilita a interpretação de escape por barra invertida � -f omite a linha de cabeçalho das colunas em formatação curta -w omite o nome completo de usuário em formatação curta -i omite o nome completo de usuário e a máquina remota em formatação curta -q omite o nome completo de usuário, a máquina remota e o tempo ocioso em formatação curta � -f o mesmo que -t fF, seleciona números reais (ponto flutuante) -i o mesmo que -t dI, seleciona inteiros na base decimal -l o mesmo que -t dL, seleciona inteiros longos na base decimal -o o mesmo que -t o2, seleciona números em octal de 2 bytes -s o mesmo que -t d2, seleciona números em decimal de 2 bytes -x o mesmo que -t x2, seleciona números em hexadecimal de 2 bytes � -f ARQUIVO ARQUIVO existe e é um arquivo comum -g ARQUIVO ARQUIVO existe e é set-group-ID (ajusta ID de grupo na execução) -G ARQUIVO ARQUIVO existe e tem como dono uma ID de grupo efetivo -h ARQUIVO ARQUIVO existe e é uma ligação simbólica (o mesmo que -L) -k ARQUIVO ARQUIVO existe e tem definido o bit de aderência ("sticky") � -f, --canonicalize coloca na forma canônica interpretando toda ligação simbólica em cada componente do nome fornecido recursivamente; todos, exceto o último componente, devem existir -e, --canonicalize-existing coloca na forma canônica interpretando toda ligação simbólica em cada componente do nome fornecido recursivamente; todos os componentes devem existir � -f, --fields=LISTA seleciona somente estes campos; também emite qualquer linha que não contenha o caractere delimitador, a menos que a opção -s esteja especificada -n (sem efeito) � -f, --follow[={name|descriptor}] emite os dados anexados ao arquivo à medida que ele cresce; -f, --follow e --follow=descriptor são opções equivalentes -F o mesmo que --follow=name --retry � -g o mesmo que -l, mas não lista o dono � -g GID[,GID1...] também define a ID primária de grupo para GID e, se se especificadas, as IDs suplementares para GID1, ... � -i, --initial não converte TABs após caracteres não-brancos -t, --tabs=NÚMERO as tabulações têm largura de NÚMERO caracteres, e não 8 � -i, --inodes lista informações do inode, em vez de uso de bloco -k o mesmo que --block-size=1K -l, --local limita a listagem a sistemas locais de arquivo --no-sync não invocar "sync" ao obter informações de uso (padrão) � -l usa o formato de lista longa -L, --dereference quando mostrar informações de uma ligação simbólica, mostra as do arquivo a quem ela referencia, e não do arquivo tipo ligação em si -m preenche toda a largura com uma lista de entradas separadas por vírgula � -l, --link faz ligação absoluta dos arquivos em vez de copiá-los -L, --dereference sempre segue ligações simbólicas em ORIGEM � -l, --login emite os processo de acesso ("login") do sistema � -m, --mode=MODO define as permissões como MODO (como no chmod) em vez de a=rwx - umask -p, --parents não gera erro caso já exista, cria os diretórios pais à medida que forem necessários -v, --verbose emite uma mensagem para cada diretório criado -Z, --context=CTX define o contexto de segurança SELinux de cada diretório criado como CTX � -n, --digits=DÃGITOS usa o número especificado de dígitos em vez de 2 -s, --quiet, --silent não emite o tamanho dos arquivos de saída -z, --elide-empty-files remove arquivos de saída vazios � -n, --no-clobber não sobrescreve um arquivo existente (sobrepõe uma opção -i anterior) -P, --no-dereference nunca segue uma ligação simbólica em ORIGEM � -n, --numeric-uid-gid como -l, mas lista usuário e grupo em números ID -N, --literal emite nomes de entradas de forma crua (não trata, por exemplo, caracteres de controle de forma especial) -o como -l, mas não lista informações sobre o grupo -p, --indicator-style=slash anexa o indicador / aos diretórios � -o, --output=ARQUIVO escreve o resultado para ARQUIVO, e não para a saída padrão -s, --stable estabiliza a ordenação desabilitando a comparação da última esperança ("last-resort") -S, --buffer-size=TAM usa TAManho para o "buffer" de memória principal � -p idem a --preserve=mode,ownership,timestamps --preserve[=LST_ATRIB] preserva os atributos especificados (padrão: modo,dono,horários), e, se possível, atributos adicionais: contexto, ligações, estendidos, tudo. Os nomes a serem usados na lista devem estar em inglês separados por vírgula e sem espaço. Os atributos são: mode (modo), ownership (dono), timestamps (horários), context (contexto), links (ligações), xattr (estendidos) e all (tudo) � -q, --count os nomes e o total de todos os os usuários conectados -r, --runlevel emite o nível de execução ("runlevel") atual -s, --short emite apenas nome, linha e horário (o padrão) -t, --time emite a última modificação de relógio do sistema � -q, --quiet, --silent nunca emitir cabeçalhos com os nomes dos arquivos -v, --verbose sempre emitir cabeçalhos com nomes dos arquivos � -r, --reference=ARQUIVO mostra a hora da última modificação de ARQUIVO -R, --rfc-2822 emite a data e hora no formato da RFC 2822. Exemplo: Seg, 07 Ago 2006 12:34:56 -0600 � -r, --references primeiro campo de cada linha é uma referência -t, --typeset-mode - não implementado - -w, --width=NÚMERO a largura de saída em colunas, referências excluídas � -s, --only-delimited não emite linhas que não contenham delimitadores --output-delimiter=TEXTO usa TEXTO como delimitador da saída o padrão é usar o delimitador de entrada � -s, --signal=SINAL, -SINAL especifica o nome ou número do sinal a ser enviado -l, --list lista os nomes dos sinais, ou faz a conversão entre nomes de sinais e seus números (e vice-versa) -t, --table emite uma tabela de informações de sinais � -s, --symbolic-link cria ligações simbólicas em vez de copiar -S, --suffix=SUFIXO redefine o sufixo de cópia de segurança -t --target-directory=DIR copia todos os argumentos ORIGEM para o diretório DIR -T, --no-target-directory trata DESTINO como um arquivo normal � -t equivalente a -vT -T, --show-tabs mostra os caracteres de tabulação como ^I -u (sem efeito) -v, --show-nonprinting utiliza a notação ^ e M-, exceto para LFD e TAB � -t, --tabs=LISTA usa lista de posições explícitas para tabulações, separadas por vírgula � -t, --target-directory=DIR move todos os argumentos ORIGEM para o diretório DIR -T, --no-target-directory trata DESTINO como um arquivo normal -u, --update move somente quando o arquivo de ORIGEM for mais novo do o de destino ou quando o arquivo de destino não existe -v, --verbose explica o que está sendo feito � -u, --remove trunca e remove o arquivo depois de sobrescrever -v, --verbose mostra o progresso -x, --exact não arredonda o tamanho dos arquivos até o próximo bloco cheio. Isso é o padrão para arquivos não-comuns. -z, --zero faz uma última sobrescrita com zeros para ocultar formatação física � -u, --update copia apenas se o arquivo ORIGEM for mais recente que o arquivo destino ou se este não existir -v, --verbose explica o que está sendo feito -x, --one-file-system permanece neste sistema de arquivos � -u, --user=USUÃRIO define o usuário USUÃRIO no contexto de segurança alvo -r, --role=REGRA define a regra REGRA no contexto de segurança alvo -t, --type=TIPO define o tipo TIPO no contexto de segurança alvo -l, --range=FAIXA define a faixa FAIXA no contexto de segurança alvo � -v, --kernel-version emite a data em que o Kernel foi criado -m, --machine emite o nome do hardware da máquina (arquitetura) -p, --processor emite o tipo do processador ou "unknown" (desconhecido) -i, --hardware-platform emite a plataforma de hardware ou "unknown" (desconhecido) -o, --operating-system emite o sistema operacional � -v, --verbose emite um diagnóstico para cada arquivo processado � -w, --check-chars=N compara no máximo N caracteres por linha � -w, --width=COLS assume a largura da tela como COLS -x lista as entradas por linha em vez de por coluna -X ordena por ordem alfabética das extensões das entradas -Z, --context emite qualquer contexto de segurança SELinux de cada arquivo -1 lista um arquivo por linha � -z, --zero-terminated termina linhas com byte 0, e não com "nova-linha" � [:graph:] todos os caracteres exibíveis, exceto espaços [:lower:] todas as letras minúsculas [:print:] todos os caracteres exibíveis, inclusive espaços [:punct:] todos os caracteres de pontuação [:space:] todos os espaços brancos na horizontal ou vertical [:upper:] todas as letras maiúsculas [:xdigit:] todos os dígitos hexadecimais [=CARAC=] todos os caracteres equivalentes a CARAC � \v tabulação vertical CARAC1-CARAC2 todos os caracteres desde CARAC1 a CARAC2 em ordem crescente [CARAC*] no CONJUNTO2, cópias de CARAC até o comprimento do CONJUNTO1 [CARAC*REPETE] REPETE cópias de CARAC; REPETE em octal se começando com 0 [:alnum:] todas as letras e dígitos [:alpha:] todas as letras [:blank:] todos os espaços brancos na horizontal [:cntrl:] todos os caracteres de controle [:digit:] todos os dígitos � binary usa E/S binária para dados � cio usa E/S concorrente para dados � d[TAM] decimal com sinal (inteiro), TAM bytes por número f[TAM] ponto flutuante (real), TAM bytes por número o[TAM] octal, TAM bytes por número u[TAM] decimal sem sinal (natural), TAM bytes por número x[TAM] hexadecimal, TAM bytes por número � direct usa E/S direta para dados � directory falha a menos que seja um diretório � dsync usa E/S sincronizada para dados � noatime não atualiza o horário de acesso � noctty não designa o terminal de controle do arquivo � nofollow não segue ligações simbólicas � nolinks falha se ligado múltiplas vezes � nonblock usa E/S não-bloqueante � none, off nunca faz cópias de segurança (mesmo se --backup for especificado) numbered, t faz cópias de segurança numeradas existing, nil numeradas se já existirem cópias de segurança numeradas, simples em caso contrário simple, never sempre faz cópias de segurança simples � sync similar, mas também para metadados � text usa E/S textual para dados � (cópia de segurança: %s)� * [-]iuclc traduz caracteres em maiúsculas para em minúsculas * [-]ixany permite qualquer caractere reiniciar a saída, e não apenas o caractere de início [-]ixoff habilita o envio de caracteres de início e parada [-]ixon habilita o controle de fluxo XON/XOFF [-]parmrk marca os erros de paridade (com uma seqüência 255-0-caractere) [-]tandem o mesmo que [-]ixoff � * [-]iutf8 assume que os caracteres de entrada estão na codificação UTF-8 � * [-]ocrnl traduz retorno de carro para nova-linha * [-]ofdel usa caracteres de "delete" para preencher em vez de nulo * [-]ofill usa caractere de preenchimento em vez de esperar por atrasos * [-]olcuc traduz minúsculas para maiúsculas * [-]onlcr traduz nova-linha para retorno de carro-nova-linha * [-]onlret nova-linha provoca um retorno de carro � * [-]onocr não emite retorno de carro na primeira coluna [-]opost realiza pós-processamento da saída * tabN estilo do atraso da tabulação horizontal, N em [0..3] * tabs o mesmo que tab0 * -tabs o mesmo que tab3 * vtN estilo do atraso da tabulação vertical, N em [0..1] � * eol2 CARAC CARACtere alternativo para fim de linha erase CARAC CARAC apagará o último caractere digitado intr CARAC CARAC enviará um sinal de interrupção kill CARAC CARAC apagará a linha atual � * lnext CARAC CARAC deixará o próximo caractere entre aspas quit CARAC CARAC enviará um sinal de sair ("quit") * rprnt CARAC CARAC redesenhará a linha atual start CARAC CARAC reiniciará a saída depois de pará-la � * rows N informa ao Kernel que o terminal tem N linhas * size emite o número de linhas e colunas conforme o Kernel speed emite a velocidade do terminal time N com -icanon, define o tempo limite de leitura para N décimos de segundo � TTY� grupos=� antigo � na repetição %s �% 1% de memória, b 1, k 1024 (padrão), e assim por diante com M, G, T, P, E, Z e Y. Se ARQUIVO não for especificado ou for -, lê a entrada padrão. *** ATENÇÃO *** A localidade especificada no ambiente afeta a ordem de classificação. Defina LC_ALL=C para obter a ordenação tradicional que usa valores nativos de bytes. �%.*s: especificação inválida de conversão�%b %e %Y�%b %e %H:%M�%lu usuário�%lu usuários�%s (para expressão regular %s)�%s -> %s (cópia de segurança restaurada) �%s [-d] terminado anormalmente�%s e %s são o mesmo arquivo�%s existe, mas não é um diretório�%s apareceu; monitorando o fim do novo arquivo�%s se tornou acessível�%s se tornou inacessível�%s foi substituido por um arquivo que não pode ter seu fim monitorado; desistindo desse nome�%s foi substituido; monitorando o fim do novo arquivo�%s tem um tipo desconhecido de arquivo�página de %s: <%s> �página de %s: <http://www.gnu.org/software/%s/> �%s não é um inteiro positivo válido�%s é muito grande�subprocesso de %s�subprocesso de %s falhou�subprocesso de %s recebeu o sinal fatal %d�argumento de %s%s "%s" é grande demais�%s: %s é tão grande que não pode ser representado�%s: %s: número de linha fora dos limites�%s: %s: ocorrência não encontrada�%s: %s:%s: desordenado: �%s: exige-se uma "}" depois do número de repetições�%s: FALHOU na abertura ou na leitura �%s: era esperado um operador binário�%s: só é possível fazer ligações simbólicas relativas no diretório atual�%s: não foi possível alterar o modo não-bloqueante�%s: não foi possível encontrar o nome para a ID de usuário %lu �%s: é impossivel monitorar o final deste arquivo; desistindo desse nome�%s: não foi possível fazer "lseek" para a posição original�%s: é impossível sobrescrever diretórios�%s: não foi possível voltar ao início�%s: não foi possível buscar ("seek")�%s: não foi possível buscar ("seek") pela posição relativa ao fim %s�%s: não foi possível ir à posição %s�%s: não foi possível buscar ("seek") pela posição relativa %s�%s: é impossível formatar fisicamente um descritor de arquivo "apenas-anexa" ("append-only")�%s: não foi possível ignorar�%s: não foi possível ignorar até o deslocamento especificado�%s: falta o delimitador de fechamento "%c"�%s: não foi possível reiniciar modo não-bloqueante�%s: entrar no diretório %s? �%s: entrar no diretório protegido contra escrita %s? �%s: fim de arquivo�%s: o operador de equivalência de classe deve ser um único caractere�%s: erro ao truncar�%s: erro escrevendo na posição %s�%s: era esperado um valor numérico�%s: falhou em fechar�%s: falhou em abrir para escrita�%s: falhou em remover�%s: "fcntl" falhou�%s: "fdatasync" falhou�%s: arquivo tem tamanho negativo�%s: arquivo pequeno demais�%s: arquivo muito grande�%s: arquivo muito grande�%s: arquivo truncado�%s: "fstat" falhou�%s: "fsync" falhou�%s: não são permitidas ligações absolutas para diretórios�%s: a entrada contém um ciclo:�%s: a entrada contém um número ímpar de termos�%s: os arquivos de entrada e de saída são os mesmos�%s: espera-se um número inteiro depois do delimitador�%s: PID inválido�%s: contagem inválida no início de %s�%s: diretiva inválida�%s: especificação inválida de campo %s�%s: tamanho inválido de arquivo�%s: tipo inválido de arquivo�%s: número inválido para máximo de estados inalterados entre aberturas do arquivo�%s: número inválido�%s: número inválido de bytes�%s: número inválido de linhas�%s: número inválido de passagens�%s: número inválido de segundos�%s: opção inválida -- "%c" �%s: padrão inválido�%s: id inválida de processo�%s: expressão regular inválida: %s�%s: sinal inválido�%s: comprimento inválido de sufixo�%s: o número de linha deve ser maior que zero�%s: número de linha fora dos limites�%s: "lseek" falhou�%s: foram especificados múltiplos sinais�%s: as novas permissões são %s, e não %s�%s: foram encontradas linhas de soma de verificação %s com formatação imprópria�%s: sem informação de tamanho para este dispositivo�%s: não listando o diretório já listado�%s: número de bytes é muito grande�%s: a opção "%c%s" não admite argumentos �%s: a opção "%s" está ambígua; possibilidades:�%s: a opção "--%s" não admite argumentos �%s: a opção "--%s" exige um argumento �%s: a opção "-W %s" não admite argumentos �%s: a opção "-W %s" está ambígua �%s: a opção "-W %s" exige um argumento �%s: a opção exige um argumento -- "%c" �%s: sobrescrever %s? �%s: passagem %lu/%lu (%s)...�%s: passagem %lu/%lu (%s)...%s�%s: passagem %lu/%lu (%s)...%s/%s %d%%�%s: erro de leitura�%s: remover %s %s? �%s: remover todos os argumentos recursivamente? �%s: remover todos os argumentos? �%s: remover %s %s protegido contra escrita? �%s: removido�%s: removendo�%s: renomeado como %s�%s: substituir %s? �%s: busca ("seek") falhou�%s: muitas linhas de soma de verificação�%s: tentar sobrescrever %s, desobedecendo o modo %04lo (%s)? �%s: incapaz de determinar o comprimento máximo de nome de arquivo�%s: incapaz de realizar todas as operações solicitadas�%s: era esperado um operador unário�%s: opção desconhecida "%c%s" �%s: opção desconhecida "--%s" �%s: valor não foi convertido totalmente�%s: erro de escrita�%s: falhou em escrever�%s:%lu: linha inválida; falta o segundo termo�%s:%lu: palavra chave desconhecida %s�%s}: deve se especificar um número inteiro entre "{" e "}"�â€�era esperado ")"�era esperado ")", foi encontrado %s�(C)�* sistemas de arquivos que fazem cache em locais temporários, como os clientes de NFS versão 3. * sistemas de arquivos comprimidos �* sistemas de arquivos em diário ou estruturado em registros, como os fornecidos com AIX e Solaris (e JFS, ReiserFS, XFS, Ext3, etc.) * sistemas de arquivos que escrevem dados redundantes e continuam mesmo se ocorrerem erros de escrita, tais como os baseados em RAID * sistemas de arquivo que fazem "snapshots", tal como o servidor Network Appliance's NFS �, carga média: %.2f�, %g s, %s/s �--context (-Z) só funciona em Kernel habilitado com SELinux�-R --dereference exige -H ou -L�-R -h exige -P�-ef não aceita -l�-nt não aceita -l�-ot não aceita -l�<interno>�??? �?????�Abortado�Não há suporte para família de endereços para nome de máquina�Relógio de alarme�Todas as requisições foram realizadas�Memória para argumentos muito pequena�Arnold Robbins�Disp.�Disponível�Chamada inválida de sistema�Valor inválido para ai_flags�Brian Fox�Duto quebrado�Erro no barramento�CUIDADO: Note que shred confia em uma hipótese muito importante: que o sistema de arquivos sobrescreve os dados no lugar. Esta é a maneira tradicional de se fazer, mas projetos modernos de sistemas de arquivos não satisfazem essa hipótese. Os exemplos a seguir são de sistemas de arquivos aos quais shred não faz efeito ou não tem eficácia garantida em todos os modos do sistema de arquivos: �COMENTÃRIO�Limite de tempo na CPU excedido�Chama a função link para criar uma ligação chamada ARQUIVO2 a um já existente ARQUIVO1. �Chama a função unlink (desfazer ligação) para remover o ARQUIVO especificado. �Capacid.�Altera o grupo de cada ARQUIVO para GRUPO. Com --reference, altera o grupo de cada ARQUIVO para o mesmo de ARQUIVOREF. �Muda o modo de cada ARQUIVO para MODO. Com --reference, altera o modo de cada ARQUIVO para o mesmo de ARQREF. �Altera o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO. Com --reference, altera o dono e grupo de cada ARQUIVO para o de ARQR �Chet Ramey�Processo filho saiu�Colin Plumb�Compara os arquivos ordenados ARQUIVO1 e ARQUIVO2 linha por linha. �Concatena ARQUIVO(s), ou a entrada padrão, para a saída padrão. -A, --show-all equivalente a -vET -b, --number-nonblank numera as linhas de saída que não forem em branco, sobrepõe -n -e equivalente a -vE -E, --show-ends insere $ ao final de cada linha -n, --number numera todas as linhas de saída -s, --squeeze-blank suprime linhas em branco repetidas �Continuado�Copia a entrada padrão para cada ARQUIVO, e também para a saída padrão. -a, --append anexa ao(s) ARQUIVO(s) fornecido(s) em vez de sobrescrever -i, --ignore-interrupts ignora os sinais de interrupção �David M. Ihnat�David MacKenzie�David Madore�Diretório: �Dmitry V. Levin�Descarta quaisquer grupos suplementares, assume a ID de usuário e de grupo do USUÃRIO especificado (ID numérica ou nome de usuário) e executa COMANDO com os ARGUMENTOs especificados. Sai com o estado 111 se for incapaz de assumir a ID de usuário e de grupo solicitada. Em caso contrário, sai com o estado de saída de COMANDO. Este programa só é útil quando executado pelo super-usuário (ID de usuário 0). �Armadilha de EMT�SAÃDA�Cada intervalo é uma das alternativas abaixo: N o eNésimo byte, caractere ou campo numerado a partir de 1 N- a partir do eNésimo byte, caractere ou campo até o final da linha N-M a partir do eNésimo ao eMésimo (inclusive) byte, caractere ou campo -M a partir do primeiro ao eMésimo (inclusive) byte, caractere ou campo Se ARQUIVO não for especificado ou for -, lê a entrada padrão. �Ecoa o(s) TEXTO(s) para a saída padrão. -n não emitir o caractere de nova-linha do final do TEXTO �Eric Blake�Sai com um código de estado indicando sucesso.�Sai com o estado determinado por EXPRESSÃO. �François Pinard�FALHOU�FIXME: desconhecido�Fifos não têm números maior e menor de dispositivo.�Limite de tamanho de arquivo excedido�Sist. Arq.�Exceção de vírgula flutuante�Força os blocos alterados para o disco, atualiza o super-bloco. �Ajuda geral sobre uso de software GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Desconexão�I/O possível�OCIOSO�IUso%�IUsado�Ian Lance Taylor�Ocioso�Instrução ilegal�Além disso, cópias de segurança e espelhos remoto de sistema de arquivos podem conter cópias do arquivo que não são possíveis de serem removidos e que permitirá um arquivo formatado fisicamente ser recuperado mais tarde. �Na vida real: �No caso dos sistemas de arquivos ext3, o aviso acima aplica (e shred tem, assim, eficácia limitada) somente quando dados=modo journal, que diariza os dados de arquivos além dos metadados. Tanto quando dados=ordenados (padrão) e dados=modos de writeback, shred funciona normal. Modos de journaling do ext3 podem ser alterados adicionando a opção data=algum modo às opções de montagem para um sistema de arquivos em particular no arquivo /etc/fstab como documentado no manual de mount (man mount). �Banda infinita�Requisição de informação�Interrupção�Interrompido por um sinal�Retrorreferência inválida�Nome inválido de categoria de caracteres�Caractere inválido de colagem�Conteúdo inválido de \{\}�A expressão regular precedente é inválida�Fim inválido de intervalo�Expressão regular inválida�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Morto�LINHA�Usuário�Nome de usuário: �Mark Kettenis�Matthew Bradburn�Falha na alocação de memória�Memória esgotada�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Montado em�NOME�Nome�Nome ou serviço desconhecido�Nenhum endereço associado ao nome de máquina�Nenhuma ocorrência do padrão�Nenhuma expressão regular anterior�Falha irrecuperável na resolução de nome�SUCESSO�Somente um conjunto pode ser fornecido ao remover sem omitir repetições.�Opções de ordenação: �Emite comandos de saída para definir a variável de ambiente LS_COLORS. Para determinar o formato da saída: -b, --sh, --bourne-shell emite o código para definir LS_COLORS em formato conhecido pelo Bourne shell -c, --csh, --c-shell emite o código para definir LS_COLORS em formato conhecido pelo C shell -p, --print-data-base emite os códigos padrão �Emite quem está atualmente conectado de acordo com ARQUIVO. Se ARQUIVO não for especificado, usa-se %s. É costume usar %s como ARQUIVO. �PID�Empacotado por %s �Empacotado por %s (%s) �Padraig Brady�Texto do parâmetro codificado incorretamente�Paul Eggert�Paul Rubin�Pete TerMaat�Planos: �Falha de energia�Fim prematuro da expressão regular�Emite ARGUMENTO(s) conforme FORMATO, ou executa conforme OPÇÃO: �Exibe a soma de verificação CRC e o total de bytes de cada ARQUIVO. �Mostra certas informações sobre o sistema. Sem fornecer OPÇÃO, fica implícito o uso de -s. -a, --all emite todas as informações, na ordem a seguir, exceto que omite -p e -i se desconhecidos: -s, --kernel-name emite o nome do Kernel do sistema operacional -n, --nodename emite o nome do nó da máquina na rede -r, --kernel-release emite a versão de liberação do Kernel �Emite a arquitetura da máquina. �Emite o nome de arquivo do terminal conectado à entrada padrão. -s, --silent, --quiet não emite nada, só retorna o estado de saída �Emite o nome completo do diretório de trabalho atual. �Emite o nome do usuário atual. �Emite o nome do usuário associado à identificação de usuário efetivo (uid) atual.O mesmo que id -un. �Processamento da requisição em andamento�Temporizador de perfilamento expirou�Projeto: �Q. Frank Xia�Desistência�Randy Smith�Sinal de tempo real %d�Expressão regular grande demais�Emite repetidamente uma linha com todos os TEXTOs especificados ou "y". �Relate os problemas de %s para: %s �Requisição cancelada�Requisição não cancelada�Recurso perdido�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Executa COMANDO com o diretório raiz modificado para NOVORAIZ. �Executa COMANDO, ignorando os sinais de desligar. �Russell Coker�Scott Bartram�Scott Miller�Falha de segmentação�ai_socktype não tem suporte a nome de serviço�Defina LC_ALL='C' para contornar o problema.�Shell: �Simon Josefsson�Tam.�Arquivos especiais exigem os números maior e menor do dispositivo.�Falha de pilha�Suspenso�Suspenso (sinal)�Suspenso (entrada tty)�Suspenso (saída tty)�Stuart Kemp�Sucesso�Erro de sistema�HORÃRIO�Falha temporária na resolução de nome�Terminado�Os textos comparados foram %s e %s.�Torbjorn Granlund�Armadilha de ponto de interrupção/interceptações�Barra invertida excedente ao final�Dois conjuntos devem ser fornecidos quando traduzindo.�Tipo�Ulrich Drepper�Erro desconhecido�Sinal desconhecido %d�Erro desconhecido de sistema�( ou \( sem correspondente�) ou \) sem correspondente�[ ou [^ sem correspondente�\{ sem correspondente�Condição de E/S urgente�Uso: %s �Uso: %s COMANDO [ARGUMENTO]... ou: %s OPÇÃO �Uso: %s CONTEXTO COMANDO [args] ou: %s [ -c ] [-u USUÃRIO] [-r REGRA] [-t TIPO] [-l FAIXA] COMANDO [args] �Uso: %s EXPRESSÃO ou: %s OPÇÃO �Uso: %s ARQUIVO ou: %s OPÇÃO �Uso: %s ARQUIVO1 ARQUIVO2 ou: %s OPÇÃO �Uso: %s FORMATO [ARGUMENTO]... ou: %s OPÇÃO �Uso: %s NOME [SUFIXO] ou: %s OPÇÃO... NOME... �Uso: %s OPÇÃO... [ARQUIVO]... �Uso: %s [-s SINAL | -SINAL] PID... ou: %s -l [SINAL]... ou: %s -t [SINAL]... �Uso: %s [ARQUIVO]... ou: %s [OPÇÃO] �Uso: %s [NOME] ou: %s OPÇÃO Mostra ou configura o nome da máquina do sistema atual. �Uso: %s [NÚMERO]... ou: %s OPÇÃO �Uso: %s [OPERANDO]... ou: %s OPÇÃO �Uso: %s [OPÇÃO] �Uso: %s [OPÇÃO] Emite o identificador numérico (em hexadecimal) para a máquina atual. �Uso: %s [OPÇÃO] NOME... �Uso: %s [OPÇÃO] NOVORAIZ [COMANDO [ARGUMENTO]...] ou: %s OPÇÃO �Uso: %s [OPÇÃO] [COMANDO [ARG]...] �Uso: %s [OPÇÃO] [ARQUIVO] Escreve uma lista totalmente ordenada coerente com uma ordenação parcial no ARQUIVO. Se ARQUIVO não for especificado ou for -, lê a entrada padrão. �Uso: %s [OPÇÃO]... �Uso: %s [OPÇÃO]... CONTEXTO ARQUIVO... ou: %s [OPÇÃO]... [-u USUÃRIO] [-r REGRA] [-l FAIXA] [-t TIPO] ARQUIVO... ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO... �Uso: %s [OPÇÃO]... DIRETÓRIO... �Uso: %s [OPÇÃO]... ARQUIVO PADRÃO... �Uso: %s [OPÇÃO]... ARQUIVO... �Uso: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2 �Uso: %s [OPÇÃO]... GRUPO ARQUIVO... ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO... �Uso: %s [OPÇÃO]... ÚLTIMO ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO �Uso: %s [OPÇÃO]... MODO[,MODO]... ARQUIVO... ou: %s [OPÇÃO]... MODO-OCTAL ARQUIVO... ou: %s [OPÇÃO]... --reference=ARQREF ARQUIVO... �Uso: %s [OPÇÃO]... NOME TIPO [MAIOR MENOR] �Uso: %s [OPÇÃO]... NOME... �Uso: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2] �Uso: %s [OPÇÃO]... [ ARQUIVO | ARG1 ARG2 ] �Uso: %s [OPÇÃO]... [+FORMATO] ou: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Uso: %s [OPÇÃO]... [-T] ORIGEM DESTINO ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO ou: %s [OPÇÃO]... -t DIRETÓRIO ORIGEM... �Uso: %s [OPÇÃO]... [-T] ORIGEM DESTINO ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO ou: %s [OPÇÃO]... -t DIRETÓRIO ORIGEM... ou: %s [OPÇÃO]... -d DIRETÓRIO... �Uso: %s [OPÇÃO]... [-T] ALVO NOME_LIGAÇÃO (1ª forma) ou: %s [OPÇÃO]... ALVO (2ª forma) ou: %s [OPÇÃO]... ALVO... DIRETÓRIO (3ª forma) ou: %s [OPÇÃO]... -t DIRETÓRIO ALVO... (4ª forma) �Uso: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARGUMENTO]...] �Uso: %s [OPÇÃO]... [ARQUIVO] �Uso: %s [OPÇÃO]... [ARQUIVO] ou: %s -e [OPÇÃO]... [ARGUMENTO]... ou: %s -i MENOR-MAIOR [OPÇÃO]... �Uso: %s [OPÇÃO]... [ARQUIVO]... �Uso: %s [OPÇÃO]... [ARQUIVO]... ou: %s [-abcdfilosx]... [ARQUIVO] [[+]DESLOCAMENTO[.][b]] ou: %s --traditional [OPÇÃO]... [ARQUIVO] [[+]DESLOCAMENTO[.][b] [+][RÓTULO][.][b]] �Uso: %s [OPÇÃO]... [ARQUIVO]... ou: %s [OPÇÃO]... --files0-from=A �Uso: %s [OPÇÃO]... [ENTRADA [SAÃDA]] �Uso: %s [OPÇÃO]... [ENTRADA]... (sem a opção -G) ou: %s -G [OPÇÃO]... [ENTRADA [SAÃDA]] �Uso: %s [OPÇÃO]... [DONO][:[GRUPO]] ARQUIVO... ou: %s [OPÇÃO]... --reference=ARQREF ARQUIVO... �Uso: %s [OPÇÃO]... [MODELO] �Uso: %s [OPÇÃO]... [NOMEDOUSUÃRIO] �Uso: %s [OPÇÃO]... [NOMEDOUSUÃRIO]... �Uso: %s [OPÇÃO]... [USUÃRIO]... �Uso: %s [TEXTO]... ou: %s OPÇÃO �Uso: %s [argumentos da linha de comando ignorados] ou: %s OPÇÃO �Uso: test EXPRESSÃO ou: test ou: [ EXPRESSÃ0 ] ou: [ ] ou: [ OPÇÃO �Uso%�Usado�Sinal definido pelo usuário 1�Sinal definido pelo usuário 2�Os argumentos válidos são:�Temporizador virtual expirou�AVISO: Estrutura circular de diretórios. Isso quase sempre significa que o sistema de arquivos está corrompido. NOTIFIQUE O ADMINISTRADOR DO SISTEMA. Os diretórios a seguir fazem parte do ciclo: %s �Aviso: �Quando�Onde�Janela alterada�Escrito por %s e %s. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s, %s e outros. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s e %s. �Escrito por %s, %s, %s e %s. �Escrito por %s, %s e %s. �Escrito por %s. �as expressões [=c=] não podem aparecer em CONJUNTO2 ao traduzir�^[nN]�^[sS]�_open_osfhandle falhou�“�um comando deve ser fornecido com um ajuste�Não há suporte para a ai_family�não há suporte a ai_socktype�%s é um argumento ambíguo para %s�um delimitador de entrada só pode ser especificado quando se processa campos�fazer cópia de segurança de %s destruiria o original; %s não foi copiado�fazer cópia de segurança de %s destruiria o original; %s não foi movido�tipo de cópia de segurança�arquivo especial de bloco�não há suporte para arquivos especiais de bloco�blocos�ambos os arquivos não podem ser a entrada padrão�deslocamento de byte %s é muito grande�não pode aplicar o contexto parcial para o arquivo não-rotulado %s�é impossível obter o contexto do processo�não é possível acessar %s�não foi possível fazer cópia de segurança de %s�é impossível resumir e detalhar todas as entradas ao mesmo tempo�não foi possível mudar a posse de %s�é impossível mudar as permissões de %s�não foi possível mudar o diretório raiz para %s�não foi possível mudar para diretório %s�não foi possível ir para o diretório raiz�é impossível combinar --target-directory (-t) com --no-target-directory (-T)�é impossível combinar as opções -e e -i�é impossível qualquer combinação entre {ascii,ebcdic,ibm}�é impossível combinar "block" com "unblock"�é impossível combinar "direct" com "nocache"�é impossível combinar "excl" com "nocreat"�é impossível combinar "lcase" com "ucase"�é impossível combinar as opções MODO e --reference�é impossível combinar sinal com -l ou -t�não foi possível comparar os nomes de arquivo %s e %s�impossível converter U+%04X para o conjunto local de caracteres�impossível converter U+%04X para o conjunto local de caracteres: %s�é impossível copiar um diretório, %s, para si próprio, %s�é impossível copiar ligação simbólica cíclica %s�é impossível criar o diretório %s�não foi possível criar fifo %s�não foi possível criar ligação absoluta %s para %s�não foi possível criar a ligação %s para %s�não foi possível criar duto�não foi possível criar arquivo comum %s�não foi possível criar arquivo especial %s�não foi possível criar ligação simbólica %s�não foi possível criar ligação simbólica %s para %s�não foi possível obter o alvo referenciado por %s�não foi possível determinar o dispositivo e o inode de %s�não foi possível determinar o nome da máquina�é impossível executar a função "ioctl" em %s�não foi possível encontrar o nome para a ID de grupo %lu�é impossível monitorar %s pelo nome�é impossível forçar o contexto alvo para %s e preservá-lo ao mesmo tempo�não foi possível obter o estado de %s�não foi possível saber o diretório atual�não foi possível obter o valor de nice�não foi possível obter o nome do sistema�impossível fazer "lseek" em %s�é impossível fazer ligações absolutas e simbólicas simultaneamente�não foi possível criar diretório %s�não foi possível mover %s para %s�é impossível mover %s para um subdiretório de si mesmo, %s�é impossível mover diretório para não-diretório: %s -> %s�não foi possível abrir %s para leitura�não foi possível abrir %s para escrita�não foi possível abrir o diretório %s�impossível operar na ligação simbólica quebrada %s�é impossível sobrescrever diretório %s com um não-diretório�é impossível sobrescrever o não-diretório %s com o diretório %s�não é possível formatar a saída�é impossível preservar o contexto de segurança sem um kernel habilitado com SELinux�é impossível a combinação de mais de uma opção do tipo "emite apenas"�é impossível emitir apenas nomes ou ID reais no formato padrão�é impossível emitir o contexto de segurança quando usário é especificado�não é possível ler diretório %s�não foi possível ler nomes de arquivos de %s�não foi possível ler informações do sistema de arquivos para %s�não foi possível ler relógio de tempo real�não foi possível ler ligação simbólica %s�não foi possível ler a tabela dos sistemas de arquivo montados�não foi possível remover %s�não foi possível reposicionar ponteiro de arquivo para %s�não foi possível restaurar o descritor de arquivo %d: dup2 falhou�não foi possível ajustar data�não foi possível estabelecer ID de grupo para %lu�é impossível alterar o nome da máquina; este sistema não dispõe dessa funcionalidade�não foi possível definir o nome como %s�não foi possível ajustar o valor de nice�não foi possível alterar o horário de %s�não foi possível estabelecer ID de usuário para %lu�é impossível acessar além da entrada combinada�é impossível especificar horários de mais de uma fonte�é impossível subdividir em mais de uma forma�impossível obter estado de %s�não foi possível realizar "stat" no diretório atual (agora %s)�não foi possível tocar %s�não foi possível restaurar a cópia de segurança %s�não foi possível remover %s�não foi possível contornar o bug no kernel�alterado o grupo de %s de %s para %s �alterado o dono de %s de %s para %s �alterando o grupo de %s�alterando o dono de %s�alterando permissões de %s�alterando o contexto de segurança de %s �o deslocamento de caracteres é zero�caractere fora de faixa�arquivo especial de caractere�não há suporte para arquivos especiais de caractere�apagando as permissões para %s�mudança de relógio�erro fechando arquivo�fechando %s (fd=%d)�fechando o diretório %s�fechando arquivo de entrada %s�fechando arquivo de saída %s�fechando entrada padrão�conflito entre textos de substituição de campos vazios�foram fornecidos especificadores de contexto de segurança conflitantes�não pôde criar processo para %s -d�não pôde criar arquivo temporário�não pôde executar %s�não pôde executar %s -d�não pôde encontrar a entrada de diretório em %s coincidente com o i-node�não pôde obter a data de iniciação da máquina�foi criado o diretório %s�criando o diretório %s�criando arquivo %s �a lista de delimitadores termina com uma barra invertida não escapada: %s�diretório�divisão por zero�erro na duplicação de descritor de arquivo ("dup2")�arquivo com nome em branco�tabulação vazia�erro ao fechar o arquivo�erro na busca da expressão regular�erro na busca da expressão regular�erro lendo %s�erro escrevendo %s�saída=�argumento extra %s�operando extra %s�operando extra %s não é permitido com -%c�falhou em alterar o contexto de %s para %s�falhou em alterar o grupo de %s de %s para %s �falhou em alterar o grupo de %s para %s �falhou em alterar o modo de %s de %04lo (%s) para %04lo (%s) �falhou em alterar a posse de %s �falhou em alterar dono de %s de %s para %s �falhou em alterar dono de %s para %s �falhou em mudar para o diretório %s�falhou em clonar %s a partir de %s�falhou em computar o novo contexto�falhou em criar o diretório via modelo %s�falhou em criar o arquivo via modelo %s�falhou em criar contexto de segurança: %s�falhou em descartar o cache para: %s�falhou em obter os atributos de %s�falhou em obter o contexto atual�falhou em obter o contexto de criação do sistema de arquivos�falhou em obter os grupos do usuário para o processo atual�falhou em obter os grupos do usuário %s�falhou em obter o contexto de segurança de %s�falhou em localizar o arquivo %s�falhou em abrir %s�falhou em preservar a autoria para %s�falhou em preservar o dono para %s�falhou em preservar permissões para %s�falhou em preservar horário para %s�falhou em redirecionar o erro padrão�falhou em remover %s�falhou em remover o diretório %s�falhou em reabrir %s com modo %s�falhou em restaurar o contexto padrão de criação de arquivo�falhou em retornar ao diretório inicial de trabalho�falhou em executar o comando %s�falhou em definir o componente %s do contexto de segurança para %s�falhou em estabelecer grupo(s) adicional(ais)�falhou em definir o contexto padrão de criação de arquivo para %s�falhou em definir o ID de grupo�falhou em definir a nova faixa %s�falhou em definir a nova regra %s�falhou em definir o novo tipo %s�falhou em definir o novo usuário %s�falhou em estabelecer grupo(s) suplementar(es)�falhou em ajustar a cópia de "stderr" para fechar no "exec"�falhou em definir o contexto de segurança de %s para %s�falhou em definir o ID de usuário�falhou em obter o estado de %s�falhou em desativar O_DIRECT: %s�"fdatasync" falhou para %s�erro liberando dados no arquivo ("fflush")�o número de campo %s é muito grande�o número do campo é zero�campos e posições são numerados a partir do número 1�fifo�o arquivo %d não está ordenado�sistema de arquivos de tipo %s selecionado e excluído�a chamada de sistema "fork" falhou�o texto de formatação não pode ser especificado quando escrevendo textos de larguras iguais�"fsync" falhou para %s�fts_close falhou�fts_read falhou�obtendo novos atributos de %s�grupo de %s mantido como %s �função iconv não disponível�função iconv não utilizável�id=�ignorando todos os argumentos�ignorando entrada�ignorando entrada e anexando saída a %s�ignorando entrada e redirecionando "stderr" para "stdout"�ignorando tamanho inválido de tabulação na variável de ambiente TABSIZE: %s�ignorando valor inválido da variável de ambiente QUOTING_STYLE: %s�ignorando largura inválida na variável de ambiente COLUMNS: %s�ignorando argumentos que não são opções�campos de junção incompatíveis %lu, %lu�tabulações incompatíveis�a entrada desapareceu�linha de entrada é muito longa�falhou ao mover entre dispositivos: %s para %s: impossível remover destino�argumento inválido para %s%s: "%s"�ajuste inválido %s�argumento inválido %s�%s é um argumento inválido para %s�estilo inválido de numeração do corpo: %s�classe inválida de caracteres %s�contexto inválido: %s�conversão inválida�especificador de conversão no sufixo é inválido: %c�especificador de conversão no sufixo é inválido: \%.3o�data inválida %s�formato de data inválido %s�não é válido um intervalo decrescente�dispositivo inválido %s %s�tipo inválido de dispositivo %s�número inválido de campo: %s�especificação inválida do campo: %s�largura inválida de campo: %s�número inválido de arquivo na especificação do campo: %s�sinalizadores inválidos na especificação de conversão: %%%c%c�argumento inválido de ponto flutuante: %s�estilo inválido de numeração de rodapé: %s�largura inválida de espaçamento: %s�grupo inválido�grupo inválido %s�lista de grupo inválido %s�grupo inválido: %s�estilo inválido de numeração de cabeçalho: %s�entrada inválida�sinalizador inválido de entrada�intervalo inválido de entrada %s�número inteiro inválido %s�argumento inválido para inteiro %s�quantidade inválida de linhas %s�disciplina inválida de linha %s�largura inválida de campo de numeração de linha: %s�incremento inválido de número de linha: %s�formato inválido de numeração de linha: %s�largura inválida de linha: %s�número maior de dispostivo é inválido %s�profundidade máxima inválida %s�número menor de dispostivo é inválido %s�modo inválido�modo inválido %s�modo inválido: %s�número inválido %s�número inválido no início do campo�número inválido de linhas vazias: %s�número inválido de bytes�quantidade inválida de bytes para comparar�quantidade inválida de bytes para ignorar�o número de colunas não é válido: %s�quantidade inválida de campos para ignorar�número inválido de linhas�opção inválida -- %c�opção inválida -- %c; -LARGURA é reconhecida somente quando é a primeira opção; use -w N no lugar�sinalizador inválido de saída�precisão inválida: %s�não é valido um intervalo sem especificar limite: -�número inválido de repetições %s na especificação [c*n]�spec inválido�número inválido para linha inicial: %s�sinalizador inválido de estado�sufixo inválido no argumento para %s%s: "%s"�tamanho inválido de tabulação: %s�modelo inválido, %s; contém separador de diretório�modelo inválido, %s; com --tmpdir, não pode usar caminho absoluto�intervalo inválido de tempo %s�formato inválido de estilo de hora %s�opção inválida -- %c�texto de tipo inválido %s�texto de tipo inválido %s; este sistema não provê um tipo de ponto-flutuante com %lu-bytes�texto de tipo inválido %s; este sistema não provê um tipo de inteiro com %lu-bytes�nome inválido de caractere universal \%c%0*x�usuário inválido�usuário inválido %s�largura inválida: %s�tamanho inválido para quebra: %s�é inválido um nome de arquivo de comprimento nulo�é perigoso operar recursivamente em %s�é perigoso operar recursivamente em %s (o mesmo que em %s)�último=�limite de %lu excedido pelo comprimento de %lu do nome de arquivo %s�limite de %lu excedido pelo comprimento de %lu do componente do nome de arquivo %s�a opção de contagem de linha -%s%c... está muito grande�número de linha %s é menor do que o número de linha precedente, %s�estouro do número de linhas�memória esgotada�fila de mensagens�as construções [:upper:] e/ou [:lower:] estão desalinhadas�falta especificador %% de conversão no sufixo�faltam argumentos depois de %s�faltando argumento para %s�falta especificador de conversão no sufixo�falta o operando arquivo de destino após %s�falta o operando arquivo�falta um número hexadecimal no escape�falta lista de campos�falta lista de posições�falta operando�falta operando depois de %s�o modo deve especificar apenas os bits de permissão de arquivo�modo de %s alterado de %04lo (%s) para %04lo (%s) �modo de %s mantido como %04lo (%s) �tabulação multicaractere %s�foram especificadas múltiplas opções -i�foram especificadas múltiplas opções -l ou -t�foram especificados múltiplos programas de compressão�foram especificados múltiplos delimitadores�múltiplas faixas de nível�foram especificados múltiplos arquivos de saída�foram especificados múltiplos formatos de saída�foram especificadas múltiplas fontes de aleatoriedade�múltiplas regras�foram especificados múltiplos diretórios-alvo�múltiplos tipos�múltiplos usuários�ligação simbólica %s e referência inalterados �variável de ambiente SHELL não existente e não se especificou nenhum tipo de shell como argumento�não foi alterada a posse de %s �nenhum comando foi especificado�nenhum sistema de arquivo foi processado�nenhum aquivo restante�nenhum nome de usuário�nenhuma ID de processo foi especificada�não se pode especificar um tipo ao despejar textos�nenhum usuário especificado; pelo menos um deve ser fornecido ao usar -l�caractere não portável %s no nome de arquivo %s�não é um tty�não se escreve através de uma ligação simbólica quebrada: %s�o número em %s é muito grande�número de bytes�número de linhas�estouro de deslocamento enquanto lia o arquivo %s�omitindo o diretório %s�só um operador de repetição [c*] pode aparecer em CONJUNTO2�somente um dispositivo pode ser especificado�somente um tipo de lista pode ser especificado�erro abrindo arquivo�opção usada em um contexto inválido -- %c�as opções que --backup e --no-clobber são mutuamente exclusivas�mantida a posse de %s �dono de %s mantido como %s �largura de página muito estreita�preservando permissões para %s�preservando horário para %s�não faz sentido emitir todas as linhas duplicadas e contagens de repetição simultaneamente�erro de leitura�falhou na leitura�lendo o diretório %s�registro muito grande�arquivo comum vazio�arquivo comum�removido %s �removeu o diretório: %s �removendo o diretório %s�nível de execução�semáforo�o separador não pode ser nulo�ajustando sinalizadores para %s�definindo permissões para %s�configurando horário de %s�objeto de memória compartilhada�bytes-a-pular + bytes-a-ler é um valor muito grande�ignorando %s, já que está em um dispositivo diferente�ignorando o arquivo %s; ele foi substituído durante a cópia�soquete�erro padrão�entrada padrão�a entrada padrão está fechada�saída padrão�falhou no "stat"�erro padrão�entrada padrão�saída padrão�caractere no lugar errado no campo spec�a comparação dos textos falhou�a transformação do texto falhou�o processo "strip" terminou anormalmente�suprimir as linhas não delimitadas só tem sentido quando se processa campos�ligação simbólica�erro de sintaxe�o tamanho de tabulação não pode ser 0�o tamanho de tabulação contém caractere(s) inválido(s): %s�os tamanhos das tabulações devem ser ascendentes�parada de tabulação é muito grande %s�o valor da parada de tabulação é muito grande�as tabulações estão muito longínquas�o alvo %s não é um diretório�não é permitido --target-directory em instalação de diretório�térm=�test e/ou [�as opções --binary e --text não fazem sentido ao conferir as somas de verificação�a opção --status só faz sentido ao conferir as somas de verificação�a opção --warn só faz sentido ao conferir as somas de verificação�as expressões [c*] só podem aparecer em CONJUNTO2 quando traduzindo�o operador de repetição [c*] não pode aparecer em CONJUNTO1�o delimitador deve ser um único caractere�as opções para estilo de saída detalhado e inteligível ao stty são mutuamente exclusivas�a opção para emitir a base de dados interna de dircolors e a para selecionar uma sintaxe de shell são mutuamente exclusivas�as opções para exibir e alterar o horário não podem ser usadas juntas�as opções que especificam datas para exibição são mutuamente exclusivas�a opção --strip não pode ser usada em instalação de diretório�hora %s fora do intervalo permitido�para usar a ID do usuário %s, você precisa usar -g também�poucos Xs no modelo %s�muitos especificadores %% de conversão no sufixo�muitos caracteres no conjunto�muitas linhas repetidas�muitos modelos�total�objeto de memória tipificada�incapaz de mostrar mensagem de erro�incapaz de registrar o diretório atual de trabalho�incapaz de definir o contexto de segurança %s�operador binário desconhecido�fluxo desconhecido�ID desconhecida do usuário: %s�o valor da variável de ambiente LS_COLORS não pode ser analisado�operando desconhecido %s�prefixo desconhecido: %s�use --no-preserve-root para contornar esta segurança�escrevendo em %s [-d]�esperando por "strip"�aviso: %s: caractere(s) após constante de caractere foi(foram) ignorado(s)�aviso: %s: falhou em alterar o contexto para %s�aviso: não há suporte para--pid=PID neste sistema�aviso: --retry é mais usado quando monitorando pelo nome�aviso: PID ignorado; --pid=PID é útil somente quando monitorando�aviso: não é portável ter uma barra invertida sem escape no final de um texto�aviso: barra invertida no final da formatação�aviso: não foi possível remover: %s�aviso: monitorar indefinidamente a entrada padrão não funciona�aviso: ignorando argumentos em excesso, começando com %s�aviso: deslocamento inválido de arquivo após falha de leitura�aviso: largura %lu inválida; será usada %d em seu lugar�atenção: o número de linha %s é igual ao número de linha anterior�aviso: o arquivo de origem %s foi especificado mais de uma vez�aviso: resumir conflita com --max-depth=%lu�aviso: resumir é o mesmo que usar --max-depth=0�aviso: a seqüência de escape octal ambígua \%c%c%c está sendo interpretada como a seqüência de 2 bytes \0%c%c, %c�aviso: contornando o bug no kernel de "lseek" para arquivo (%s) de mt_type=0x%0lx -- veja <sys/mtio.h> para a lista de tipos�arquivo estranho�se não se está truncando CONJUNTO1, CONJUNTO2 não pode ser vazia�ao ler nomes de arquivo da entrada padrão, não é permitido nenhum nome de arquivo ser %s�ao especificar um estilo de saída, não se pode definir um modo�ao traduzir com classes de caracteres complementares, CONJUNTO2 deve mapear todos os caracteres do domínio a um só�não copiará %s através da ligação simbólica recém-criada %s�não criará ligação absoluta %s para o diretório %s�não sobrescreverá o recém-criado %s com %s�com --parents, o destino tem que ser um diretório�erro de gravação�erro ao escrever em %s�erro de escrita�escrevendo em %s�você deve especificar -c, -t, -u, -l, -r ou contexto�deve-se especificar uma lista de bytes, caracteres ou campos�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%+% registros de entrada %+% registros de saída �% registro truncado �% registros truncados �% byte (%s) copiado�% bytes (%s) copiados�deslocamento muito grande: é impossível truncar para um comprimento de busca=% (%lu-byte) blocos�falhou em truncar aos % bytes no arquivo de saída %s�%s: %: linha de soma de verificação %s formatada de maneira imprópria�número da página inicial % ultrapassa o total de %�Página %������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/eu.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000072622�12107204516�012110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����¤�����< ��3��\������(#�����)#��Â���+#�� ���î#�����ü#�� ���$��,���$��5���L$�� ���‚$�� ���$�� ���›$�����¦$�� ���«$�����·$�����À$�� ���Æ$�� ���Ð$�����Ü$�� ���ï$�����%��0���$%��"���U%�����x%�����ˆ%����� %�����¶%�����Ï%��%���ì%�����&�����"&�����?&�����S&�����r&�����‡&�����˜&�����³&�����Æ&�����Ø&�����ë&�����ü&�����'�����*'�����@'�����V'�����i'�����†'�����¢'�����¶'�����Í'��"���Þ'�� ���(��(���"(�����K(�����^(�����m(��&���€(�����§(�� ���Â(�� ���Î(�����Û(�����í(�����þ(�����)�����)�� ��� )�����-)�����D)�����H)�� ���^)��)���l)�����–)�����¨)�����¿)�����Ö)�� ���í)�����ø)�����ý)�����*�����*�� ���*�����"*�� ���9*�� ���C*�����M*�����U*�� ���^*�� ���i*�� ���v*��3���‚*�� ���¶*�����À*�����Ï*�� ���ß*�� ���ì*�����ø*�����+�� ��� +�� ���+�����"+�����)+�� ���8+��?���C+�����ƒ+�����•+�����¤+�����©+�����¯+�����µ+�����»+�����Ì+�����Ñ+�� ���à+�����ë+�����ò+����� ,�� ���,�� ���(,�� ���4,�����A,�� ���R,�����^,�����p,�����,�����ˆ,�����,�����“,�� ���™,�� ���¦,�����´,�����Å,�����ß,�����ð,�� ���ÿ,�� ��� -�� ���-�� ���&-�����1-�����6-�����;-�����>-�����R-�����c-�����g-�����w-�� ���Œ-�� ���š-�� ���¦-�� ���±-�����¾-�� ���Å-�� ���Ó-�� ���Ý-�����ê-�� ���ï-�����û-�����.����� .�����/.�� ���>.�� ���L.�� ���Z.�� ���h.��*���u.����� .�����¨.�����¸.�����½.�����Å.�����Ö.�����ê.�� ���ÿ.����� /�� ���/����� /�� ���%/��$���0/�����U/�����g/�����l/�� ���{/�����‰/�� ���ž/��,���©/��&���Ö/�� ���ý/��'���0��0���F0�����w0��)���”0��'���¾0��'���æ0��(���1�����71�����K1��?���g1��&���§1�����Î1�����å1��#���ƒ2��&���§2�����Î2��"���í2��T���3�����e3��"���„3��+���§3��Y���Ó3��~���-4�����¬4��^���Ê4�� ���)5��F���J5��'���‘5��'���¹5��`���á5��!���B6��!���d6�� ���†6��'���§6�����Ï6�����Ô6�����Ù6�� ���î6�����ø6�����ý6�����7�����7��;���)7��3���e7��/���™7��+���É7��'���õ7��#���8�����A8�����a8�����}8�����8�����“8�����™8�����›8�����³8�����Í8�����ê8�� ���9����� 9����� 9�����'9�����C9�����T9�����e9�����ƒ9�����£9�����Á9�����Ü9�����ò9�����:�����,:�����F:�����\:�����l:�����‰:����� :�����°:�����É:�����Þ:�����ù:�����;�� ���#;�����1;�����A;�����W;��&���f;�����;�����;�����±;�����Â;�����Ò;�����ç;������<�����<�����4<�����K<�� ���b<�� ���o<�����|<�����<�����¤<�����º<�����Ñ<�����è<�����ü<�����=�����*=�����?=�� ���U=�����_=�����t=�� ���„=�����Ž=�����¡=�����²=�����Î=�����è=�����ù=�����ÿ=�����>�����'>��!���9>�����[>�����t>�����”>�����«>�����Á>�����Ó>�����ë>��.���ð>�����?�����3?�����D?�����T?�����q?�����u?�����Œ?��/���›?�����Ë?�����é?�����û?�����@�����(@�����<@�����W@�����k@�����{@�����’@�����§@�� ���¾@�����Ì@�����Ý@�����ó@�� ���A�����A�����&A�����EA�����dA�����tA�����…A�����A�����»A�����ÓA�� ���èA�����õA�����B��9���B�����QB��/���WB�����‡B�� ���˜B�����¦B�����ÀB��#���×B�����ûB�����C�����0C�����?C�����NC�����]C�����wC�����ŠC�� ���›C�����¥C�����¿C�����ÏC�� ���ßC�� ���ëC�� ���öC�����D�����D�����(D�����ED�� ���XD�� ���eD�����qD�� ���ˆD�� ���’D�����œD��)���¶D�����àD�����ûD�����E�����$E�����+E�����:E�����IE�����bE�� ���rE�����~E�����…E�����‹E�����’E�� ���«E�� ���¹E�� ���ÆE�����ÒE�����ØE�����ðE����� F�����#F�����6F�����<F�����TF�����hF��.���€F�����¯F��0���ÅF�� ���öF�� ���G����� G�� ��� G�� ���-G��/���;G��µ��kG�����!I��Ù���#I�����ýI��9���J�� ���TJ��-���`J��@���ŽJ�� ���ÏJ�����ÚJ�� ���ìJ�����÷J�� ���üJ�� ��� K�� ���K�� ���K�� ���(K��!���4K��$���VK�����{K��9���˜K�� ���ÒK�����óK�� ���L�����#L��,���:L��#���gL��=���‹L�����ÉL�����âL������M��$���M�����@M�����[M��'���uM�����M�����´M�����ÎM�����éM��,���N�����0N�� ���EN�����fN�����…N�����žN�����¼N�����ØN�����ïN����� O��"���&O�����IO��(���iO�����’O�����¥O�����¼O��-���ÏO�����ýO�� ���P�� ���(P�����4P�����QP�����cP�����|P�����‘P�����“P��!���¢P�����ÄP�����ÈP�� ���æP��+���ôP����� Q�����:Q�����XQ�����vQ�� ���”Q�����žQ�����£Q�����©Q�����¸Q�� ���¾Q�����ÈQ�� ���æQ�����ðQ������R����� R�� ���R�����R�� ���,R��G���8R�� ���€R�����ŠR�����™R�� ���©R�� ���¶R�����ÃR�����ÓR�� ���ÙR�� ���äR�� ���îR�����ûR����� S��L���S�����iS�����{S�� ���ŠS�����˜S�����ŸS�����¦S�����®S�� ���¿S�����ÍS�� ���ßS�����êS�� ���òS�����T�� ���"T�� ���.T�� ���:T�����GT�� ���XT�����dT�����vT�����‡T�����ŽT�� ���•T�� ���¢T�� ���¯T�� ���»T�����ÉT�����ÚT�����ùT����� U�� ���U�� ���'U�� ���4U�� ���@U�����MU�����SU�����YU�����^U�����tU�����…U�����‰U�����œU�� ���´U�� ���ÂU�� ���ÎU�� ���ÙU�����æU�����îU�� ����V�� ��� V�����V�� ���V�����+V�����?V�����PV�����_V�� ���nV�� ���|V�� ���ŠV�� ���˜V��1���¥V�����×V�����àV�����ðV�����öV�����ÿV�����W�����+W�� ���CW�� ���OW�����YW�����lW�����rW��+���zW�����¦W�����¸W�����¾W�����ÍW�����ÞW�����÷W��9���X��,���@X��*���mX��8���˜X��9���ÑX��&��� Y��6���2Y��2���iY��.���œY��.���ËY�����úY�� ���Z��P���3Z��2���„Z�����·Z��×���ÒZ��)���ª[��.���Ô[��(���\��2���,\��m���_\��#���Í\��,���ñ\��4���]��`���S]�����´]��'���D^��q���l^��*���Þ^��Z��� _��.���d_��0���“_��…���Ä_��'���J`��*���r`��-���`��*���Ë`�����ö`�����ü`�� ���a�����"a�����*a�����/a�����3a�����Da��?���\a��1���œa��.���Îa��*���ýa��%���(b��!���Nb�����pb�����b�����©b�����¸b�����¾b�����Äb�����Æb�����äb��%���c�����*c�����Ac�����Rc�����jc�����pc�����c�� ���¡c�����Âc�� ���âc�����d�����"d�����?d�����Wd��"���wd��#���šd�����¾d�����Ýd�����ýd�����e�����<e�����Ye�����ue�����”e�����²e�����Ïe�����àe�����õe��"��� f�����,f��3���Lf�����€f�����žf�����ºf�����Òf�����ïf�����g�����g�����7g�����Qg�����og�� ���‹g�����™g�����¯g�����Ãg�����Ûg�����úg�����h�����5h�����Oh�����lh�����Šh����� h�� ���·h�����Ãh�����Ûh�����òh�� ���i�����$i��&���:i�����ai�����~i�����‘i�����˜i��#���±i�����Õi��"���ïi��$���j��#���7j�� ���[j��'���|j��!���¤j��(���Æj�����ïj��5���ôj��"���*k�����Mk�����gk��$���‚k�����§k�����«k�����Èk��A���æk��&���(l�����Ol�����dl�����l�����—l��)���²l�����Ül�����öl����� m�����(m�����Am�����\m�����om�����„m�����¡m�����·m�����Ëm��%���ám��%���n�����-n�����Bn�����Wn�����jn�����‰n�����n�����¶n�����Ðn�����ín��?���o�����Fo��<���No�����‹o�� ���œo��$���©o�� ���Îo��(���ïo�� ���p��)���$p�� ���Np�� ���Xp�����cp��$���vp�����›p�����·p�� ���Óp�����áp�� ���ÿp�� ��� q�����q�����2q�����Eq�����^q�����xq�����q�����°q�����Êq�� ���ßq�����ìq�� ���r�� ���r��!���r��1���;r�����mr�����ˆr����� r�����¿r�����Èr�����Úr�����ír����� s�����s�����6s�����=s�����Cs�����Js�����is�����{s�����‹s�� ���œs�� ���§s�����Ès�����âs�����ÿs�����t�����t�����7t�����Tt��5���kt�����¡t��:���¼t�����÷t����� u�����u�����8u�� ���Ou��4���]u�����f������i��ã���:���"������ ���������K��v�� ���}���#���Ý�������è������������D���¢����������������à�������=���ä������´�������L������†�����@���À���{��R���|������n��•��m���a�������0�����O���Ö������������0���€��� �����������¿���(����������ˆ��� ������·���˜���å���F�������Á���Š��q������b��Ø���T���¨���ž����������Ð���‹���ë���×���Ç�������°���x��C�������W��K���ì���¯���Ì�����������[������Í�������–�������k�����������…��Ñ���›��”�����������:��/���M��r�������â�����½���æ���H������Õ���V��Ò�����`�����ÿ���4��¦���Þ���E���Î�������ç���"��D��2��Ô���¤�����ê���†���¡���Ÿ���l��������%��”�������������‹������������5��ž�������™��¶���i���X���l����������U��I���'��ó���1�����ô�������õ���x���›���¢��������������Ï���I������L���ï���»�����������9���~���V���G�����������������Z����N��� ���������S���������{���!�����“��ƒ���­���‘����������������“���£��-������M���6��@��b������w������y���ù����������� ��¼���8���^��A���]��������¬����������ú������������O��µ���|���‡���…�������c��������������!���*�����o�������u������.��3��-���&���]���•���)���J��§���,��w�����������7��²���m������ü�������h��ð��������š��������������p���©���*��Y����������� �������Œ���������� �����������Ó��� ������ª���_��®�������W���ƒ��Ž���£�������d��ò���Ë���������á���B�������s���ø���‚������í�����’��~��F��v���?��N��‡�� ��<���������h���+��e��’���Ü���c���k��d�����<��4���é�������������������Ã�������Å���������Ä���,���Ž��³��������������������R������˜������¾���X��^�������ö���™���œ��A������$��š��y������t��?���Ú���z��¡��Â�������¹���7���j���)������e�������E��G��q�����������Ê���u���U���Q�������Z�������–��Ù�������������%���È�����J������������������þ���œ���g�����������.���«�������9��„������H���f���'�������‚����������6���(���1����������n���‰����������Æ���5���Ÿ��`��z�������î������ß�����������ˆ��g������a��;�������É�������Š���C����&��\������#��Y�����3���t�������S�����P���>�������s������������}��÷�����Û���P��Q���������=������—���‘��T��������;��[�������¥��� �������r��º���$���B��\���—��ñ���_�����������p������‰��¸���/��j�����������+���±���Œ������o�� ���>�� �����€�� ��¤������2���8��ý���„���û�������� � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � # users=%lu � Report %s bugs to %s � ???� --help display this help and exit � --version output version information and exit � %H:%M%P � (backup: %s)� ??:???? � TTY� context=%s� groups=� old �%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s exists but is not a directory�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: cannot find name for user ID %lu �%s: end of file�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: input file is output file�%s: invalid PID�%s: invalid file size�%s: invalid file type�%s: invalid number�%s: invalid number of passes�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: lseek failed�%s: new permissions are %s, not %s�%s: option '-W %s' is ambiguous �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: write error�'�')' expected�')' expected, found %s�(C)�, load average: %.2f�, %g s, %s/s �-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Arnold Robbins�Avail�Available�Bad value for ai_flags�Brian Fox�Bus error�COMMENT�Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Continued�David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�EXIT�Eric Blake�F. Pinard�FAILED�FIXME: unknown�Filesystem�General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�In real life: �Infinity B�Inodes�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�OK�Ordering options: �Other options: �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Project: �Q. Frank Xia�Quit�Randy Smith�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Russell Coker�Scott Bartram�Scott Miller�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Type�Ulrich Drepper�Unknown error�Unknown system error�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... FILE... �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Use%�Used�Valid arguments are:�Warning: �When�Where�Window changed�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�`�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�appending output to %s�backup type�block special file�blocks�byte offset %s is too large�cannot access %s�cannot backup %s�cannot change ownership of %s�cannot change permissions of %s�cannot change to directory %s�cannot create directory %s�cannot create fifo %s�cannot create link %s to %s�cannot create special file %s�cannot determine hostname�cannot do ioctl on %s�cannot fstat %s�cannot get current directory�cannot get system name�cannot lseek %s�cannot make directory %s�cannot move %s to %s�cannot open %s for writing�cannot open directory %s�cannot remove %s�cannot run %s�cannot set date�cannot set name to %s�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot watch %s�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�couldn't execute %s�couldn't execute %s -d�couldn't get boot time�created directory %s�creating directory %s�directory�empty %s not allowed�empty file name�empty tab�error closing file�error reading %s�error reading inotify event�error waiting for command�error writing %s�exit=�extra argument %s�failed to chdir to %s�failed to open %s�failed to redirect standard error�failed to run command %s�failed to set additional groups�failed to set group-ID�failed to set user-ID�failed to stat %s�fdatasync failed for %s�fifo�file system type %s both selected and excluded�fsync failed for %s�fts_close failed�fts_read failed�getting new attributes of %s�id=�ignoring all arguments�ignoring input�ignoring input and redirecting stderr to stdout�ignoring non-option arguments�input disappeared�input line is too long�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid context: %s�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid input�invalid integer %s�invalid major device number %s�invalid minor device number %s�invalid mode %s�invalid mode: %s�invalid number of bytes�invalid number of columns: %s�invalid number of lines�invalid option -- %c�invalid user�invalid user %s�invalid width: %s�it is dangerous to operate recursively on %s (same as %s)�last=�maximum --%s argument with current rlimit is %s�memory exhausted�message queue�missing argument after %s�missing argument to %s�multiple -l or -t options specified�multiple levelranges�multiple output files specified�multiple roles�multiple types�multiple users�no file systems processed�no files remaining�no input from %s�not a tty�number in %s is too large�number of bytes�number of lines�open failed�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting permissions for %s�setting times of %s�shared memory object�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�string comparison failed�symbolic link�syntax error�system boot�term=�time %s is out of range�too few X's in template %s�too many repeated lines�too many templates�total�unknown binary operator�unknown user-ID: %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�weird file�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�Project-Id-Version: coreutils-8.3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2010-01-08 12:38+0100 Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net> Language-Team: Basque <translation-team-eu@lists.sourceforge.net> Language: eu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � � -a, --all -b -d --login -p -r -t -T -u aukeren berdina -b, --boot sistemaren abioaren azken data -d, --dead inprimatu hildako prozesuak -H, --heading inprimatu zutabe buruen lerroak � # Erabiltzaile kopurua=%lu � %s-(r)en rograma-erroreen berri emateko idatzi %s-(e)ri � ???� --help mezu hau erakutsi eta irten � --version bertsioari buruzko informazioa atera eta irten � %H:%M%P � (babeskopia: %s)� ??:???? � TTY� kontestua=%s� taldeak=� zaharra �%Y %b %e�%b %e %H:%M�erabiltzaile %lu�%lu erabiltzaile�%s badago baina ez da direktorio bat�%s-(r)en orri nagusia: <%s> �%s-(r)en orri nagusia: <http://www.gnu.org/software/%s/> �%s ez da zenbaki positibo zuzena�%s luzeegia da�%s: %s: ez da parekiderik topatu�%s: %s:%s: desordena: �%s: HUTS egin du irekitzeak edo irakurtzeak �%s: operatzaile binarioa espero zen�%s: ezin da izenik aurkitu %lu IDa duen erabiltzailearentzat �%s: fixategiaren amaiera�%s: zenbaki balioa espero zen�%s: huts egin da itxitzean�%s: huts egin da idazteko irekitzean�%s: huts egin da ezabatzen�%s: fnctl-ek huts egin du�%s: fitxategiak luzeera negatiboa dauka�%s: fitxategi luzeegia�%s fitxategia luzeegia da�%s: fitxategia trunkatu da�%s: fstat-ek huts egin du�%s: sarrera fitxategia irteera fitxategia da�%s: baliogabeko PIDa�%s; fitxategi tamaina baliogabea�%s: fitxategi moeta baliogabea�%s: baliogabeko zenbakia�%s: baliogabeko pausu kopurua�%s: '%c' aukera baliogabea �%s: baliogabeko eredua�%s: baliogabeko prozesu id-a�%s: lseek-ek huts egin du�%s: baimen bereziak %s dira, ez %s�%s: '-W %s' aukera anbiguoa da �%s: '%c' aukerak argumentu bat behar du �%s: %s gainidatzi?�%s: irakurketa errorea�%s: %s %s ezabatu?�%s: ezabatu argumentu guztiak errekurtsiboki?�%s: ezabatu argumentu guztiak?�%s: kenduta�%s: kentzen�%s: %s-(e)ra izena aldatu da�%s: %s ordezkatu?�%s: seek-ek huts egin du�%s: idazketa errorea�'�')' espero zen�')' espero zen, eta %s aurkitu da�(C)�, karga batez bestekoa: %.2f�, %g s, %s/s �-R --dereference aukerak -H edo -L behar du�-R -h aukerak -P behar du�-ef aukerak ez du -l onartzen�-nt aukerak ez du -l onartzen�-ot aukerak ez du -l onartzen�<barneko>�??? �?????�Arnold Robbins�Libre�Eskuragar�Balio okerrak ai_flags-entzat�Brian Fox�Bus-eko errorea�AZALPENA�Edukiera�Chet Ramey�Semea amaituta�Colin Plumb�Ordenatutako 1FITXATEGIA eta 2FITXATEGIA alderatzen ditu lerroz lerro. �Jarraitua�David M. Ihnat�David MacKenzie�David Madore�Direktorioa:�Dmitry V. Levin�IRTEN�Eric Blake�F. Pinard�HUTS EGIN DA�FIXME: unknown�Fitxategi-sistema�GNU softwarearen erabilera laguntza orokorra: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Alfer-denbora�ILibre�IErab%�IErabil�Ian Lance Taylor�alfer-denbora�Egiazko bizitzan:�Infinity B�Inodoak�Baliogabeko espresio erregularra�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Eraila�LERROA�SAIO HASIERA�Saio-hasiera�Saio izena:�Mark Kettenis�Matthew Bradburn�Huts egin da memoria esleitzen�Memoria agortuta�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Non muntatua�IZENA�Izena�ongi�Aukerak ordenatzen: �Beste aukerak: �PID�%s-(e)k paketatua �%s-(e)k (%s) paketatua �Padraig Brady�Paul Eggert�Paul Rubin�Pete TerMaat�Plana: �Argindarra arazoa�Proiektua: �Q. Frank Xia�Irten�Randy Smith�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Russell Coker�Scott Bartram�Scott Miller�Ezarri LC_ALL='C' arazo hau une batez konpontzeko�Shell-a:�Simon Josefsson�Tamai�Gelditua�Gelditua (seinalea)�Geldituta (tty sarrera)�Geldituta (tty irteera)�Stuart Kemp�Arrakasta�Sistemaren errorea�ORDUA�Amaitua�Alderatutako bi kateak %s eta %s izan dira.�Torbjorn Granlund�Moeta�Ulrich Drepper�Errore ezezaguna�Sistema-errore ezezaguna�Erabilera: %s �Erabilera: %s KOMANDOA [ARGUMENTUA]... edo: %s AUKERA �Erabilera: %s ADIERAZPENA edo: %s AUKERA �Erabilera: %s FITXATEGIA edo: %s AUKERA �Erabilera: %s 1FITXATEGIA 2FITXATEGIA edo: %s AUKERA �Erabilera: %s FORMATUA [ARGUMENTUA]... edo: %s AUKERA �Erabilera: %s AUKERA... FITXATEGIA... �Erabilera: %s [-ZABALERA] [AUKERA]... [FITXATEGIA]... �Erabilera: %s [FITXATEGIA]... edo: %s [AUKERA] �Erabilera: %s [ZENBAKIA]... edo: %s AUKERA �Erabilera: %s [ERAGIGAI]... edo: %s AUKERA �Erabilera: %s [AUKERA] �Erabilera: %s [AUKERA] IZENA... �Erabilera: %s [AUKERA] ERRO-BERRIA [KOMANDOA [ARGUMENTUA]...] edo: %s AUKERA �Erabilera: %s [AUKERA] [KOMANDOA [ARGUMENTUA]...] �Erabilera: %s [AUKERA]... �Erabilera: %s [AUKERA]... TESTUINGURU FITXATEGIA... edo: %s [AUKERA]... [-u ERABILTZAILEA] [-r ROLA] [-l MULTZOA] [-t MOETA] FITXATEGIA... edo: %s [AUKERA]... --reference=ERREFERENTZI-FITXATEGIA FITXATEGIA... �Erabilera: %s [AUKERA]... DIREKTORIOA... �Erabilera: %s [AUKERA]... FITXATEGI EREDUA... �Erabilera: %s [AUKERA]... FITXATEGIA... �Erabilera: %s [AUKERA]... 1FITXATEGIA 2FITXATEGIA �Erabilera: %s [AUKERA]... TALDE FITXATEGIA... edo: %s [AUKERA]... -- reference=R-FITXATEGIA FITXATEGIA... �Erabilera: %s [AUKERA]... IZENA... �Erabilera: %s [AUKERA]... MULTZO1 [MULTZO2] �Erabilera: %s [AUKERA]... [FITXATEGIA | ARG1 ARG2 ] �Erabilera: %s [AUKERA]... [+FORMATUA] edo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Erabilera: %s [AUKERA]... [-T] ITURRIA HELBURUA edo: %s [AUKERA]... ITURRIA... DIREKTORIOA edo: %s [AUKERA]... -t DIREKTORIOA ITURRIA... �Erabilera: %s [AUKERA]... [FITXATEGIA] �Erabilera: %s [AUKERA]... [FITXATEGIA] edo: %s -e [AUKERA]... [ARGUMENTUA]... edo: %s -i LO-HI [AUKERA]... �Erabilera: %s [AUKERA]... [FITXATEGIA]... �Erabilera: %s [AUKERA]... [FITXATEGIA]... edo: %s [AUKERA]... --files0-from=FITXATEGIA �Erabilera: %s [AUKERA]... [SARRERA [IRTEERA]] �Erabilera: %s [AUKERA]... [SARRERA [AURRIZKIA]] �Erabilera: %s [AUKERA]... [JABEA][:[TALDEA]] FITXATEGIA... edo: %s [AUKERA]... -- reference=ERREFERENTZI-FITXATEGIA FITXATEGIA... �Erabilera: %s [AUKERA]... [TXANTILOIA] �Erabilera: %s [AUKERA]... [ERABILTZAILEA] �Erabilera: %s [AUKERA]... [ERABILTZAILEA]... �Erabilera: %s [KATEA]... or: %s AUKERA �Erab%�Erab�Baliozko argumentuak hauek dira:�Abisua:�Noiz�Non�Leihoa aldatu da�%s-k eta %s-k idatzia. �%s, %s, %s, %s, %s, %s, %s, %s, %s,·eta beste batzuk idatzia. �%s, %s, %s, %s, %s, %s, %s,%s, eta %s-k idatzia. �%s, %s, %s, %s, %s, %s, %s, eta %s-k idatzia. �%s, %s, %s, %s, %s, %s, eta %s-k idatzia. �%s, %s, %s, %s, %s eta %s-k idatzia. �%s, %s, %s, %s eta %s-k idatzia. �%s, %s, %s, eta %s-k idatzia. �%s, %s eta %s-k idatzia. �%s-k idatzia. �^[eE]�^[bB]�`�ai_family-k ez du euskarririk�ai_socktype-k ez du euskarririk�%s argumentu anbiguoa da %s-(r)entzat�irteera %s-ri eransten�babeskopia moeta�bloke fitxategi berezia�bloke�%s byte offset-a luzeegia da�ezin da %s-ra sartu�ezin da %s-(r)en babeskopia egin�ezin da aldatu %s-(r)en jabegoa�ezin da %s-(r)en baimenak aldatu�ezin da %s direktoriora aldatu�ezin da %s direktorioa sortu�ezin da %s fifo-a sortu�ezin da %s esteka sortu %s-(r)a�ezin da %s fitxategi berezia sortu�ezin izan da ostalari-izena zehaztu�ezin zaio %s-(e)ri ioctil egin�ezin zaio `fstat' egin %s-(e)ri�ezin da uneko direktorioa lortu�ezin da sistemaren izena lortu�ezin zaio `lseek' egin %s-ri�ezin da %s direktorioa egin�ezin izan da %s %s-(r)a mugitu�ezin da %s ireki idazketarako�ezin da %s direktorioa ireki�ezin da %s kendu�ezin da %s exekutatu�ezin da data ezarri�ezin izan da izena %s-(e)ra ezarri�ezin da `stat' egin %s-(r)engan�ezin da 'stat' egin uneko direktorioan (unekoa %s)�ezin zaio %s-(e)ri touch egin�ezin da %s babeskopia kendu�ezin da %s esteka kendu�ezin zaio %s-(r)i watch egin�%s-ren taldea aldatzen�%s-ren jabetza aldatzen�%s-ren baimenak aldatzen�offset karakterea zero da�karakterea barrutitik kanpora�karaktere fitxategi berezia�ordu aldaketa�itxierak huts egin du�%s itxitzen (fd=%d)�%s direktorioa itxitzen�%s sarrera fitxategia itxitzen�%s irteera fitxategia itxitzen�sarrera estandarra itxitzen�ezin izan da %s exekutatu�ezin izan da %s -d exekutatu�ezin izan da abio ordua lortu�%s direktorioa sortua�%s direktorioa sortzen�direktorioa�%s hutsa ez da onartzen�fitxategi izena hutsik�tabulazioa hutsa�errorea fitxategia itxitzerakoan�errorea %s irakurtzen�errorea inotify gertakariak irakurtzen�errorea komandoari itxaroten�errorea %s idazten�irten=�argumentu gehigarria: %s�huts egin da %s-(r)i `chdir' egiten�huts egin da %s irekitzen�stderr berbideratzeak huts egin du�huts egin da %s komandoa exekutatzen�huts egin da talde gehiago ezartzen�huts egin da talde-id-a ezartzen�huts egin da erabiltzaile-id-a ezartzen�huts egin da %s-(r) `stat' egiten�`fdatasync'-ek huts egin du %s-(r)entzat�fifo�%s fitxategi-sistema moeta aukeratuta eta eskludituta�%s-(r)entzat fsync-ek huts egin du�fts_close-ek huts egin du�`fts_read'-ek huts egin du�%s-(r)en atributo berriak irakurtzen�id=�argumentu guztiak ignoratzen�sarrerari ezikusiarena egiten�sarrerari ezikusiarena egiten eta stderr stdout-era berbideratzen�aukera ez diren argumentuak baztertzen�sarrera desagertu da�sarrera lerroa luzeegia da�%s baliogabeko aldaketa�baliogabeko argumentua: %s�%s baliogabeko argumentua da %s-(r)entzat�baliogabeko kontestua: %s� %s baliogabeko data�%s baliogabeko data formatua�%s %s baliogabeko gailua�%s baliogabeko gailua mota�baliogabeko taldea�baliogabea taldea %s�baliogabea talde zerrenda %s�baliogabea taldea: %s�baliogabeko sarrera�baliogabeko %s osokoa�%s baliogabeko `major' gailu zenbakia�%s baliogabeko `minor' gailu zenbakia�%s baliogabeko modua�baliogabea modua: %s�byte kopuru okerra�baliogabeko zutabe kopurua: %s�lerro kopuru okerra�baliogabeko aukera -- %c�baliogabeko erabiltzailea�%s baliogabeko erabiltzailea�baliogabeko zabalera: %s�arriskutsua da errekurtsiboki erabiltzea %s-n (%s-(r)en berdina�azkena=�uneko rlimit-arekin gehienezko --%s argumentu kopurua %s da �memoria agortuta�Bidali ilara�argumentua falta da %s-(r)en ondoren�argumentua falta da %s-(r)entzat�-l edo -t aukera anitz espezifikatu dira�maila anitz�irteera fitxategi anitz espezifikatu dira�rol anitz�mota anitz�erabiltzaile anitz�ez da fitxategi sistemarik prozesatu�ez da fitxategirik geratzen�ez dago sarrearik %s-(e)tik�ez da tty bat�zenbakia %s-(e)-n luzeegia da�byte kopurua�lerro kopurua�irekitzeak huts egin du�irakurketa errorea�irakurtzeak huts egin du�%s direktorioa irakurtzen�erregistroa luzeegia da�stderr stdout-era berbideratzen�fitxategi erregular hutsa�Espresio erregularra�%s ezabatua �direktorioa kentzen, %s�abio-maila�semaforoa�bereizlea-k ezin du hutsunea izan�ezarri LC_ALL='C' arazo hau une batez konpontzeko�%s-(r)en baimenak ezartzen�%s-(r)en datak ezartzen�memoria partekatuaren objektua�socket-a�errore estandarra�sarrera estandarra�sarrera estandarra itxita dago�irteera estandarra�`stat'-ek huts egin du�stderr�stdin�stdout�kate konparaketak huts egin du�esteka sinbolikoa�sintasi errorea�sistemaren abioa�terminala=�%s ordua barrutitik kanpora dago�X gutxitxo %s txantiloian�errepikatutako lerro gehiegi�txantiloi gehiegi�guztira�operatzaile binario ezezaguna�erabiltzile-ID ezezaguna: %s�aurrizki ezezaguna: %s�piztuta egun %ld %2d:%02d,�piztuta %ld egun %2d:%02d,�piztuta ???? egun ??:??, �erabili --no-preserve-root segurtasun neurri hau ekiditeko�fitxategi arraroa�idazketa errorea�idazketa errorea %s-(r)entzat�idazketak huts egin du�%s-ra idazten�-c, -t, -u, -l, -r edo kontestua adierazi behar duzu���������������������������������������������������������������������������������������������������������������coreutils-8.21/po/it.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001501061�12107204511�011735� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Italian messages for GNU coreutils # Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Marco d'Itri <md@linux.it>, 1998, 1999. # Giovanni Bortolozzo <borto@dei.unipd.it>, 1998. # Giorgio Catanzaro <catanzag@gmail.com>, 2009, 2010, 2011. # Translator's note from 7.0 # # Per quasi tutti i comandi, il testo di aiuto ottenibile con l'opzione --help ha # generalmente questa forma: # # * Spiegazione del comando: modo discorsivo, inizia con la maiuscola, termina col punto # * Spiegazione delle opzioni: inizia con la minuscola, senza punto finale # * Esempi (solo per pochi: chgrp, chmod, comm, basename e dirname): iniziano con la maiuscola, col punto finale # # Dalla 8.4.10081926 sono state corrette alcune opzioni di base64, stat, tail e uniq che non seguivano questo # stile e che per uniformità erano state tradotte dalla 7.0 con maiuscole/punteggiatura diverse dall'originale inglese msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.14-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2011-10-09 10:15+0100\n" "Last-Translator: Giorgio Catanzaro <catanzag@gmail.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argomento %s non valido per %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argomento %s ambiguo per %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Sono argomenti validi:" #: lib/closein.c:100 msgid "error closing file" msgstr "errore nel chiudere il file" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "errore di scrittura" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "preservazione dei permessi per %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Errore di sistema sconosciuto" #: lib/file-type.c:38 msgid "regular empty file" msgstr "file regolare vuoto" #: lib/file-type.c:38 msgid "regular file" msgstr "file regolare" #: lib/file-type.c:41 msgid "directory" msgstr "directory" #: lib/file-type.c:44 msgid "block special file" msgstr "file speciale a blocchi" #: lib/file-type.c:47 msgid "character special file" msgstr "file speciale a caratteri" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "collegamento simbolico" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "coda di messaggi" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "oggetto di memoria condivisa" #: lib/file-type.c:68 msgid "typed memory object" msgstr "oggetto di memoria tipizzata" #: lib/file-type.c:70 msgid "weird file" msgstr "file strano" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Famiglia di indirizzi per il nome host non supportata" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Fallimento temporaneo nella risoluzione del nome" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valore errato per ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Fallimento irrecuperabile nella risoluzione del nome" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family non supportata" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Fallimento nell'allocazione della memoria" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nessun indirizzo associato al nome host" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nome o servizio sconosciuto" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname non supportato per ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype non supportato" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Errore di sistema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Buffer per l'argomento troppo piccolo" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Elaborazione della richiesta in corso" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Richiesta annullata" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Richiesta non annullata" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Completate tutte le richieste" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrotta da un segnale" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Stringa dei parametri codificata non correttamente" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Errore sconosciuto" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: l'opzione «%s» è ambigua; possibilità:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l'opzione «--%s» non accetta alcun argomento\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l'opzione «%c%s» non accetta alcun argomento\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l'opzione «--%s» richiede un argomento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opzione «--%s» non riconosciuta\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opzione «%c%s» non riconosciuta\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opzione -- «%c» non valida\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'opzione richiede un argomento -- «%c»\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l'opzione «-W %s» è ambigua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l'opzione «-W %s» non accetta alcun argomento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opzione «-W %s» richiede un argomento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "impossibile cambiare i permessi di %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "impossibile creare la directory %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memoria esaurita" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "impossibile registrare l'attuale directory di lavoro" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "ritorno alla directory iniziale di lavoro non riuscito" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "\"" #: lib/quotearg.c:313 msgid "'" msgstr "\"" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fine del file" #: lib/regcomp.c:131 msgid "Success" msgstr "Successo" #: lib/regcomp.c:134 msgid "No match" msgstr "Nessuna corrispondenza" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Espressione regolare non valida" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Carattere di collazione non valido" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nome della classe di caratteri non valido" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Backslash finale" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Riferimento all'indietro non valido" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ o [^ non accoppiata" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( o \\( non accoppiata" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ non accoppiata" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Contenuto di \\{\\} non valido" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Fine dell'intervallo non valida" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memoria esaurita" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Espressione regolare precedente non valida" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fine prematura dell'espressione regolare" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Espressione regolare troppo grande" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") o \\) non accoppiata" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nessuna espressione regolare precedente" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "è pericoloso operare ricorsivamente su %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "è pericoloso operare ricorsivamente su %s (come con %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "usare --no-preserve-root per scavalcare questa protezione" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sSyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "impostazione dei permessi per %s" # http://en.wikipedia.org/wiki/SIGHUP #: lib/siglist.h:31 msgid "Hangup" msgstr "Chiusura" # http://en.wikipedia.org/wiki/SIGINT_(POSIX) #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interruzione" # http://en.wikipedia.org/wiki/SIGQUIT #: lib/siglist.h:37 msgid "Quit" msgstr "Uscita" # http://en.wikipedia.org/wiki/SIGILL #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Istruzione non consentita" # http://en.wikipedia.org/wiki/Trap_(computing) # http://en.wikipedia.org/wiki/SIGTRAP #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Rilevato trace/breakpoint" # http://en.wikipedia.org/wiki/SIGABRT #: lib/siglist.h:46 msgid "Aborted" msgstr "Annullato" # http://en.wikipedia.org/wiki/SIGFPE #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Eccezione in virgola mobile" # http://en.wikipedia.org/wiki/SIGKILL #: lib/siglist.h:52 msgid "Killed" msgstr "Ucciso" # http://en.wikipedia.org/wiki/Bus_error # http://en.wikipedia.org/wiki/SIGBUS #: lib/siglist.h:55 msgid "Bus error" msgstr "Errore di bus" # http://en.wikipedia.org/wiki/Segmentation_fault # http://en.wikipedia.org/wiki/SIGSEGV #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Errore di segmentazione" # http://en.wikipedia.org/wiki/SIGPIPE #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Pipe interrotta" # http://en.wikipedia.org/wiki/SIGALRM #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Sveglia" # http://en.wikipedia.org/wiki/SIGTERM #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminato" # http://en.wikipedia.org/wiki/SIGURG #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condizione di I/O urgente" # http://en.wikipedia.org/wiki/SIGSTOP #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Fermato (segnale)" # http://en.wikipedia.org/wiki/SIGTSTP #: lib/siglist.h:76 msgid "Stopped" msgstr "Fermato" # http://en.wikipedia.org/wiki/SIGCONT #: lib/siglist.h:79 msgid "Continued" msgstr "Continuato" # http://en.wikipedia.org/wiki/SIGCHLD #: lib/siglist.h:82 msgid "Child exited" msgstr "Processo figlio uscito" # http://en.wikipedia.org/wiki/SIGTTIN #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Fermato (input da terminale)" # http://en.wikipedia.org/wiki/SIGTTOU #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Fermato (output da terminale)" # (ndt) questa pare non sia posix, wikipedia riporta la stessa di SIGABRT #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O consentito" # http://en.wikipedia.org/wiki/SIGXCPU #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Superato il limite di tempo CPU" # http://en.wikipedia.org/wiki/SIGXFSZ #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Superato il limite di dimensione file" # http://en.wikipedia.org/wiki/SIGVTALRM #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Timer virtuale terminato" # http://en.wikipedia.org/wiki/SIGPROF #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Timer di profiling terminato" # http://en.wikipedia.org/wiki/SIGWINCH #: lib/siglist.h:106 msgid "Window changed" msgstr "Finestra modificata" # http://en.wikipedia.org/wiki/SIGUSR1 #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Segnale 1 definito dall'utente" # http://en.wikipedia.org/wiki/SIGUSR2 #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Segnale 2 definito dall'utente" # http://en.wikipedia.org/wiki/SIGEMT #: lib/siglist.h:117 msgid "EMT trap" msgstr "Rilevato EMT" # http://en.wikipedia.org/wiki/SIGSYS #: lib/siglist.h:120 msgid "Bad system call" msgstr "Chiamata di sistema errata" # http://en.wikipedia.org/wiki/SIGSTKFLT #: lib/siglist.h:123 msgid "Stack fault" msgstr "Errore sullo stack" # http://en.wikipedia.org/wiki/SIGINFO #: lib/siglist.h:126 msgid "Information request" msgstr "Richiesta informazioni" # http://en.wikipedia.org/wiki/SIGPWR #: lib/siglist.h:128 msgid "Power failure" msgstr "Mancanza alimentazione elettrica" # http://en.wikipedia.org/wiki/SIGLOST #: lib/siglist.h:131 msgid "Resource lost" msgstr "Risorsa persa" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "impossibile creare il fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: seek non riuscito" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Segnale in tempo reale %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Segnale sconosciuto %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funzione iconv non utilizzabile" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funzione iconv non disponibile" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "carattere fuori dall'intervallo" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "impossibile convertire U+%04X nell'insieme di caratteri locale" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "impossibile convertire U+%04X nell'insieme di caratteri locale: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "utente non valido" #: lib/userspec.c:107 msgid "invalid group" msgstr "gruppo non valido" #: lib/userspec.c:108 msgid "invalid spec" msgstr "spec non valida" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "impossibile mostrare il messaggio di errore" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Impacchettato da %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Impacchettato da %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licenza GPLv3+: GNU GPL versione 3 o successive <http://gnu.org/licenses/gpl." "html>\n" "Questo è software libero: è possibile modificarlo e ridistribuirlo.\n" "Non c'è ALCUNA GARANZIA, nei limiti permessi dalla legge.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Scritto da %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Scritto da %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Scritto da %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Scritto da %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Scritto da %s, %s, %s\n" "%s, %s, %s, %s,\n" "%s, %s e altri.\n" # (ndt) - aggiunte le <> per uniformità alle successive #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Segnalare i bug a: <%s>\n" "Segnalare i bug di traduzione a: <tp@lists.linux.it>\n" # (ndt) - aggiunte le <> per uniformità alle successive #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Segnalare i bug di %s a: <%s>\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Sito web di %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Aiuto sull'uso del software GNU in generale: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "open non riuscita" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "flusso sconosciuto" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "riapertura di %s con il modo %s non riuscita" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "confronto tra stringhe non riuscito" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Impostare LC_ALL='C' per aggirare il problema." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Le stringhe confrontate erano %s e %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "impossibile eseguire l'output formattato" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "l'argomento «%3$s» di %1$s%2$s non è valido" # (ndt) - es: df -B 2a - Giorgio #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "il suffisso nell'argomento «%3$s» di %1$s%2$s non è valido" # (ndt) - es: df -B 99999999999999999999 - Giorgio #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "l'argomento «%3$s» di %1$s%2$s è troppo grande" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Uso: %s [OPZIONE]... [FILE]\n" "Codifica o decodifica in base64 FILE, o lo standard input, sullo standard " "output.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode decodifica i dati\n" " -i, --ignore-garbage durante la decodifica ignora i caratteri non " "alfabetici\n" " -w, --wrap=COL manda a capo le righe codificate dopo COL caratteri " "(predefinito 76).\n" " Usare 0 per disabilitare l'andata a capo\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "I dati sono codificati come descritto nella RFC 3548 per l'alfabeto base64.\n" "In fase di decodifica, l'input può contenere caratteri di fine riga in\n" "aggiunta ai byte di un formale alfabeto base64. Usare --ignore-garbage per\n" "tentare di continuare dopo altri byte non alfabetici nel flusso codificato.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "errore di lettura" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "input non valido" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "dimensione di ritorno a capo non valida: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operando %s in più" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "chiusura dello standard input" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uso: %s NOME [SUFFISSO]\n" " o: %s OPZIONE\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Stampa NOME rimuovendo tutte le componenti di directory iniziali.\n" "Se specificato, rimuove anche un SUFFISSO finale.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "operando mancante" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatena uno o più FILE, o lo standard input, sullo standard output.\n" "\n" " -A, --show-all equivalente a -vET\n" " -b, --number-nonblank numera le righe di output non vuote, prevale su -" "n\n" " -e equivalente a -vE\n" " -E, --show-ends visualizza il carattere $ alla fine di ogni riga\n" " -n, --number numera tutte le righe in output\n" " -s, --squeeze-blank elimina le righe di output vuote ripetute\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t equivalente a -vT\n" " -T, --show-tabs mostra i caratteri TAB come ^I\n" " -u (ignorato)\n" " -v, --show-nonprinting usa la notazione ^ e M-, eccetto che per LFD e " "TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Esempi:\n" " %s f - g Mostra il contenuto di f, poi dello standard input e poi il " "contenuto di g.\n" " %s Copia lo standard input nello standard output.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "impossibile eseguire ioctl su %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standard output" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: il file di input coincide con quello di output" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "creazione del contesto di sicurezza %s non riuscita" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" "impostazione del componente del contesto di sicurezza %s in %s non riuscita" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "recupero del contesto di sicurezza di %s non riuscito" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" "non è possibile applicare un contesto parziale al file non etichettato %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "cambio del contesto di %s in %s non riuscito" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "impossibile accedere a %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "impossibile leggere la directory %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "cambio del contesto di sicurezza di %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read non riuscita" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close non riuscita" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPZIONE]... CONTESTO FILE...\n" " o: %s [OPZIONE]... [-u UTENTE] [-r RUOLO] [-l INTERVALLO] [-t TIPO] " "FILE...\n" " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Cambia il contesto di sicurezza di ciascun FILE in CONTESTO.\n" "Con --reference, cambia il contesto di sicurezza di ciascun FILE in quello " "di RFILE.\n" "\n" " -h, --no-dereference interessa i collegamenti simbolici invece di ogni " "file referenziato\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UTENTE imposta l'utente UTENTE nel contesto di sicurezza " "di destinazione\n" " -r, --role=RUOLO imposta il ruolo RUOLO nel contesto di sicurezza di " "destinazione\n" " -t, --type=TIPO imposta il tipo TIPO nel contesto di sicurezza di " "destinazione\n" " -l, --range=INTERVALLO imposta l'INTERVALLO nel contesto di sicurezza di " "destinazione\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root non considera \"/\" in modo speciale " "(predefinito)\n" " --preserve-root fallisce operando ricorsivamente su \"/\"\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFILE usa il contesto di sicurezza di RFILE invece di " "specificare\n" " un valore CONTESTO\n" " -R, --recursive opera ricorsivamente su file e directory\n" " -v, --verbose mostra una diagnostica per ogni file elaborato\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Le opzioni seguenti modificano il modo in cui una gerarchia viene " "attraversata quando\n" "è specificata anche l'opzione -R. Se viene specificata più volte, soltanto " "l'ultima\n" "ha effetto.\n" "\n" " -H se l'argomento della riga di comando è un " "collegamento\n" " simbolico a una directory, lo percorre\n" " -L percorre ogni collegamento simbolico incontrato a " "una\n" " directory\n" " -P non percorre alcun collegamento simbolico " "(predefinito)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference richiede -H o -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h richiede -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "manca l'operando dopo %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "contesto non valido: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "forniti specificatori di contesto di sicurezza in conflitto" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "recupero degli attributi di %s non riuscito" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "gruppo non valido: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPZIONE]... GRUPPO FILE...\n" " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Cambia il contesto di sicurezza di ciascun FILE in CONTESTO.\n" "Con --reference, cambia il contesto di sicurezza di ciascun FILE in quello " "di RFILE.\n" "\n" " -h, --no-dereference interessa i collegamenti simbolici invece di ogni " "file referenziato\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference agisce sui collegamenti simbolici invece che sui\n" " file a cui si riferiscono (utile solo sui sistemi " "che\n" " possono cambiare il proprietario di un " "collegamento\n" " simbolico)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Esempi:\n" " %s staff /u Cambia il gruppo di /u in \"staff\".\n" " %s -hR staff /u Cambia il gruppo di /u e dei file contenuti in esso in " "\"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "recupero dei nuovi attributi di %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "né il collegamento simbolico %s né il file di riferimento sono cambiati\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "il modo di %s è stato cambiato da %04lo (%s) in %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "cambio del modo di %s da %04lo (%s) in %04lo (%s) non riuscito\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "il modo di %s è stato mantenuto pari a %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" "impossibile operare sul collegamento simbolico con obiettivo non esistente %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "cambio dei permessi di %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: i nuovi permessi sono %s, non %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPZIONE]... MODO[,MODO]... FILE...\n" " o: %s [OPZIONE]... MODO-OTTALE FILE...\n" " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Cambia il contesto di sicurezza di ciascun FILE in CONTESTO.\n" "Con --reference, cambia il contesto di sicurezza di ciascun FILE in quello " "di RFILE.\n" "\n" " -h, --no-dereference interessa i collegamenti simbolici invece di ogni " "file referenziato\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFILE usa il contesto di sicurezza di RFILE invece di " "specificare\n" " un valore CONTESTO\n" " -R, --recursive opera ricorsivamente su file e directory\n" " -v, --verbose mostra una diagnostica per ogni file elaborato\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Ogni MODO è nella forma \"[ugoa]*([-+=]([rwxXst]*|[ugo]))+\".\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "non è possibile combinare i modi e le opzioni --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "modo non valido: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "il proprietario di %s è stato cambiato da %s in %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "il gruppo di %s è stato cambiato da %s in %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "nessun cambiamento al proprietario di %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "cambio del proprietario di %s da %s in %s non riuscito\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "cambio del gruppo di %s da %s in %s non riuscito\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "cambio del proprietario di %s non riuscito\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "cambio del proprietario di %s in %s non riuscito\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "cambio del gruppo di %s in %s non riuscito\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "il proprietario di %s è stato mantenuto pari a %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "il gruppo di %s è stato mantenuto pari a %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "il proprietario di %s è stato mantenuto\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "impossibile dereferenziare %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "cambiamento del proprietario di %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "cambiamento del gruppo di %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPZIONE]... [PROPRIETARIO][:[GRUPPO]] FILE...\n" " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ATTUALE_PROPRIETARIO:ATTUALE_GRUPPO\n" " cambia il proprietario o il gruppo di ogni file\n" " solo se il suo attuale proprietario o gruppo\n" " corrisponde a quello specificato qui. Ciascuno può\n" " essere omesso, e in questo caso non è richiesto\n" " che l'attributo mancante corrisponda\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Il proprietario resta immutato se mancante. Il gruppo resta immutato se\n" "mancante, ma cambiato al gruppo di accesso se reso implicito da un \":\"\n" "che segue un PROPRIETARIO simbolico.\n" "PROPRIETARIO e GRUPPO possono essere sia numerici che simbolici.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Esempi:\n" "%s root /u Cambia il proprietario di /u in \"root\".\n" "%s root:staff /u Analogo, ma cambia anche il gruppo in \"staff\".\n" "%s -hR root /u Cambia il proprietario di /u e dei file contenuti in " "\"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "gruppo %s non valido" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "elenco dei gruppi %s non valido" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "impostazione dei gruppi supplementari non riuscita" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [OPZIONE] NUOVAROOT [COMANDO [ARG]...]\n" " o: %s OPZIONE\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Esegue il COMANDO con la root directory impostata a NUOVAROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UTENTE:GRUPPO specifica l'id o il nome dell'utente e del gruppo " "da usare\n" " --groups=ELENCO_G specifica i gruppi supplementari come g1,g2,..,gN\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Se non è dato alcun comando, esegue «${SHELL} -i» (predefinita: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "impossibile cambiare la root directory a %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "impossibile fare chdir alla root directory" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "impostazione dell'id di gruppo non riuscita" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "impostazione dell'id utente non riuscita" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "impossibile eseguire il comando %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: file troppo lungo" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s [FILE]...\n" " o: %s [OPZIONE]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Stampa il checksum CRC e la dimensione in byte di ogni FILE.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Uso: %s [OPZIONE]... FILE1 FILE2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Confronta i file ordinati FILE1 e FILE2 riga per riga.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Senza opzioni, genera un output a tre colonne. La prima colonna contiene\n" "le righe presenti solo nel FILE1, la seconda contiene le righe presenti " "solo\n" "nel FILE2, e la terza contiene le righe comuni ad entrambi i file.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 elimina la colonna 1 (righe presenti solo in FILE1)\n" " -2 elimina la colonna 2 (righe presenti solo in FILE2)\n" " -3 elimina la colonna 3 (righe presenti in entrambi i file)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order controlla che l'input sia ordinato correttamente, anche\n" " se tutte le righe in input possono essere accoppiate\n" " --nocheck-order non controlla che l'input sia ordinato correttamente\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR separa le colonne con STR\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Notare che i confronti rispettano le regole specificate da \"LC_COLLATE\".\n" # (ndt) lasciate allineate come nella 8.5 e precedenti #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Esempi:\n" " %s -12 file1 file2 Stampa solo le righe presenti in entrambi file1 e " "file2.\n" " %s -3 file1 file2 Stampa le righe in file1 non in file2, e viceversa.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "il file %d non è ordinato" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "specificati delimitatori multipli" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "%s vuoto non permesso" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "errore leggendo %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "impossibile fare lseek in %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "errore scrivendo %s" # http://it.wikipedia.org/wiki/Extent # http://it.wikipedia.org/wiki/Ext4#Extent #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: recupero delle informazioni degli extent non riuscito" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: scrittura non riuscita" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "creazione dell'extent di %s non riuscita" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "azzeramento dei permessi per %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "impossibile preservare il proprietario di %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "lookup del file %s non riuscito" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "preservazione dei diritti di %s non riuscita" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "impossibile aprire %s per la lettura" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "impossibile fare fstat di %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "file %s saltato perché è stato sostituito mentre veniva copiato" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "recupero del contesto di creazione del file system non riuscito" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "impostazione del contesto di sicurezza di %s in %s non riuscita" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "impossibile rimuovere %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s rimosso\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" "non è possibile scrivere attraverso il collegamento simbolico con obiettivo " "non esistente %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "impossibile creare il file regolare %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "clonazione di %s da %s non riuscita" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "preservati gli orari di %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "apertura di %s non riuscita" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: provare a sovrascrivere %s, ignorando il modo %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: sovrascrivere %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (backup: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "ripristino del contesto predefinito di creazione dei file non riuscito" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "impossibile creare il collegamento fisico %s a %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "impossibile eseguire stat di %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "directory %s omessa" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "attenzione: il file di origine %s è stato specificato più di una volta" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s e %s sono lo stesso file" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "impossibile sovrascrivere la non-directory %s con la directory %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "%s appena creato non sarà sovrascritto da %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "impossibile sovrascrivere la directory %s con una non-directory" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "impossibile spostare una directory in una non-directory: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "il backup di %s distruggerebbe l'origine; %s non spostato" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "il backup di %s distruggerebbe l'origine; %s non copiato" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "impossibile fare il backup di %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "non sarà copiato %s attraverso il collegamento simbolico %s appena creato" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "impossibile copiare una directory, %s, dentro sé stessa, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "impossibile creare il collegamento fisico %s alla directory %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "impossibile spostare %s in una sottodirectory di sé stessa, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "impossibile spostare %s in %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "spostamento tra dispositivi non riuscito: %s in %s; impossibile rimuovere\n" "la destinazione" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "impostazione del contesto predefinito di creazione dei file in %s non " "riuscita" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "impossibile copiare il collegamento simbolico ciclico %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: è possibile creare collegamenti simbolici relativi solo nella directory " "corrente" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "impossibile creare il collegamento simbolico %s a %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "impossibile creare il fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "impossibile creare il file speciale %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "impossibile leggere il collegamento simbolico %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "impossibile creare il collegamento simbolico %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s presenta un tipo di file sconosciuto" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "impossibile annullare il backup di %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (annullamento backup)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Uso: %s [OPZIONE]... [-T] ORIGINE DESTINAZIONE\n" " o: %s [OPZIONE]... ORIGINE... DIRECTORY\n" " o: %s [OPZIONE]... -t DIRECTORY ORIGINE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Copia ORIGINE su DEST, od ORIGINI multiple su DIRECTORY.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive come -dR --preserve=all\n" " --attributes-only non copia i dati del file, solo gli " "attributi\n" " --backup[=TIPO] fa il backup di ogni file di destinazione " "esistente\n" " -b come --backup ma non accetta un argomento\n" " --copy-contents quando agisce ricorsivamente copia il " "contenuto dei file speciali\n" " -d come --no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force se non è possibile aprire un file di\n" " destinazione esistente, lo rimuove e " "riprova\n" " (ridondante se è usata l'opzione -n)\n" " -i, --interactive chiede prima di sovrascrivere (prevale su " "una\n" " precedente opzione -n)\n" " -H segue i collegamenti simbolici sulla riga di " "comando in ORIGINE\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link crea i collegamenti fisici dei file invece di " "copiarli\n" " -L, --dereference segue sempre i collegamenti simbolici in " "ORIGINE\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber non sovrascrive un file esistente (prevale " "su\n" " una precedente opzione -i)\n" " -P, --no-dereference non segue mai i collegamenti simbolici in " "ORIGINE\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p come --preserve=mode,ownership,timestamps\n" " --preserve[=ELENCO_ATTR] preserva gli attributi specificati " "(predefinito:\n" " mode,ownership,timestamps), se possibile\n" " gli attributi addizionali: context, links, " "xattr, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ELENCO_ATTR non conserva gli attributi specificati\n" " --parents utilizza il nome completo della sorgente " "sotto DIRECTORY\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive copia le directory ricorsivamente\n" " --reflink[=WHEN] controlla le copie clone/CoW copies. " "Consultare in basso\n" " --remove-destination rimuove ogni file di destinazione esistente\n" " prima di cercare di aprirlo (al contrario\n" " con --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WHEN controlla la creazione di file sparsi. " "Consultare in basso\n" " --strip-trailing-slashes rimuove i caratteri \"/\" alla fine di ogni " "parametro\n" " ORIGINE\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link crea collegamenti simbolici invece di " "copiare\n" " -S, --suffix=SUFFISSO prevale sul normale suffisso dei backup\n" " --target-directory=DIRECTORY copia ogni ORIGINE in DIRECTORY\n" " -T, --no-target-directory tratta DEST come un file normale\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update copia solo quando ORIGINE è più recente del\n" " file di destinazione o questo è mancante\n" " -v, --verbose spiega cosa sta facendo\n" " -x, --one-file-system rimane su questo file system\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Normalmente, i file ORIGINE sparsi sono individuati da un'euristica\n" "approssimativa e sono resi sparsi anche i file DEST corrispondenti.\n" "Questo è il comportamento selezionabile con --sparse=auto. Specificare\n" "--sparse=always per creare un file DEST sparso ogni qualvolta il\n" "file ORIGINE contiene una sequenza abbastanza lunga di byte zero.\n" "Usare --sparse=never per inibire la creazione dei file sparsi.\n" "\n" "Quando è specificato --reflink[=always], esegue una copia leggera, dove i\n" "blocchi dei dati sono copiati solo se modificati. Se questo non è possibile, " "la copia\n" "fallisce o, se è specificato --reflink=auto, ritorna a una copia standard.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Il suffisso dei backup è \"~\", a meno che sia impostato con --suffix " "oppure\n" "SIMPLE_BACKUP_SUFFIX. Il metodo di controllo di versione può essere scelto\n" "con l'opzione --backup o la variabile di ambiente VERSION_CONTROL. I valori\n" "sono:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off non fa mai backup (anche se è specificato --backup)\n" " numbered, t fa backup numerati\n" " existing, nil numerati se esistono backup numerati, altrimenti semplici\n" " simple, never fa sempre backup semplici\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Come caso particolare, cp fa un backup di ORIGINE quando sono usate le " "opzioni\n" "force e backup e ORIGINE e DEST sono lo stesso nome di un file regolare già\n" "esistente.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "impossibile preservare gli orari di %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "impossibile preservare i permessi di %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "impossibile creare la directory %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s esiste ma non è una directory" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "apertura di %s non riuscita" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "manca il file operando" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "manca l'operando per il file di destinazione dopo %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "impossibile combinare --target-directory (-t) e --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "l'obiettivo %s non è una directory" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "con --parents, la destinazione deve essere una directory" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "specificate directory multiple di destinazione" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "impossibile creare contemporaneamente collegamenti fisici e simbolici" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "le opzioni --backup e --no-clobber sono mutualmente esclusive" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink può essere usato solo con --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo di backup" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "impossibile preservare un contesto di sicurezza senza un kernel con SELinux " "abilitato" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "impossibile preservare gli attributi estesi, cp è compilato senza supporto " "per xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "l'input è scomparso" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: numero di riga fuori dall'intervallo" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: numero di riga fuori dall'intervallo" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " su ripetizione %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: corrispondenza non trovata" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "errore nella ricerca con espressione regolare" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "errore di scrittura per %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: intero atteso dopo il delimitatore" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: \"}\" è richiesto nel conteggio delle ripetizioni" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: intero richiesto tra \"{\" e \"}\"" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: manca il delimitatore di chiusura \"%c\"" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: espressione regolare non valida: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: modello non valido" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: il numero di riga deve essere maggiore di zero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "il numero di riga %s è più piccolo del numero di riga precedente, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "attenzione: il numero di riga %s è lo stesso del precedente" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "manca lo specificatore di conversione nel suffisso" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "specificatore di conversione non valido nel suffisso: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "specificatore di conversione non valido nel suffisso: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "flag non validi nella specifica di conversione: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "troppe specifiche di conversione %% nel suffisso" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "manca la specifica di conversione %% nel suffisso" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: numero non valido" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Uso: %s [OPZIONE]... FILE MODELLO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Stampa parti di FILE separate dal/i MODELLO/I sui file \"xx00\", " "\"xx01\", ...,\n" "e stampa su stdout la dimensione in byte di ogni parte.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMATO usa il FORMATO come in sprintf invece di " "%02d\n" " -f, --prefix=PREFISSO usa PREFISSO invece di \"xx\"\n" " -k, --keep-files non rimuove i file di uscita in caso di errori\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CIFRE utilizza il numero di cifre specificato invece " "di 2\n" " -s, --quiet, --silent non stampa il conteggio delle dimensioni dei " "file di output\n" " -z, --elide-empty-files rimuove i file di output vuoti\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Legge da standard input se FILE è -. Ogni MODELLO può essere:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " INTERO copia fino a, senza includere il numero di riga " "specificato\n" " /REGEXP/[OFFSET] copia fino a, senza includere la riga corrispondente\n" " %REGEXP%[OFFSET] salta a, senza includere la riga corrispondente\n" " {INTERO} ripete il modello precedente per un numero di volte " "specificato\n" " {*} ripete il modello precedente quante più volte " "possibile\n" "\n" "Una riga OFFSET è costituita dal carattere \"+\" o \"-\" seguito da un " "numero intero positivo.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "campi e posizioni sono numerati da 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Stampa le parti di riga selezionate da ogni FILE sullo standard ouput.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=ELENCO seleziona solo questi byte\n" " -c, --characters=ELENCO seleziona solo questi caratteri\n" " -d, --delimiter=DELIM usa DELIM invece di TAB come delimitatore di " "campo\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=ELENCO seleziona solo questi campi; inoltre stampa " "qualsiasi riga\n" " che non contiene alcun carattere delimitatore, " "a\n" " meno che non sia specificata l'opzione -s\n" " -n (ignorato)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement complementa l'insieme dei byte, caratteri\n" " o campi selezionati\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited non stampa le righe che non contengono " "delimitatori\n" " --output-delimiter=STRING utilizza STRING come delimitatore di output\n" " il comportamento predefinito è di utilizzare il " "delimitatore di input\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Usare uno solo tra -b, -c o -f. Ogni ELENCO è costituito da un intervallo " "unico\n" "o da più intervalli separati da virgole. I dati selezionati in ingresso\n" "sono scritti soltanto una volta nello stesso ordine in cui sono letti.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ogni intervallo è uno tra:\n" "\n" " N N-esimo byte, carattere o campo, contato da 1\n" " N- dal N-esimo byte, carattere o campo, alla fine della riga\n" " N-M dal N-esimo al M-esimo byte (incluso), carattere o campo\n" " -M dal primo al M-esimo byte (incluso), carattere o campo\n" "\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "elenco di campi o byte non valido" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "intervallo non valido senza punto finale: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "intervallo decrescente non valido" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "l'offset in byte %s è troppo grande" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "il numero di campo %s è troppo grande" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "può essere specificato solo un tipo di elenco" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "il delimitatore deve essere un singolo carattere" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "è necessario specificare una elenco di byte, caratteri o campi" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "è possibile specificare un delimitatore di input solo quando si opera sui " "campi" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "eliminare le righe non delimitate ha senso\n" "\tsolo quando si sta operando sui campi" #: src/cut.c:870 msgid "missing list of fields" msgstr "manca l'elenco dei campi" #: src/cut.c:872 msgid "missing list of positions" msgstr "manca l'elenco delle posizioni" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Uso: %s [OPZIONE]... [+FORMATO]\n" " o: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FILE visualizza l'orario dell'ultima modifica di " "FILE\n" " -R, --rfc-2822 stampa data e ora conforme al formato RFC 2822.\n" " Esempio: Mon, 07 Aug 2006 12:34:56 +0200\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIMESPEC stampa data e ora nel formato RFC 3339.\n" " TIMESPEC=\"date\", \"seconds\", o \"ns\" per\n" " indicare la precisione di data e ora.\n" " I componenti di data e ora sono separati da\n" " un singolo spazio: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRINGA imposta l'ora indicata da STRINGA\n" " -u, --utc, --universal stampa o imposta il Tempo Coordinato Universale " "(UTC)\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMATO controlla l'output. Le sequenze interpretate sono:\n" "\n" " %% un % letterale\n" " %a nome localizzato abbreviato del giorno della settimana (es.: dom)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A nome localizzato completo del giorno della settimana\n" " (es.: domenica)\n" " %b nome localizzato abbreviato del mese (es.: gen)\n" " %B nome localizzato completo del mese (es.: gennaio)\n" " %c data e orario localizzate (es.: gio 3 mar 2005 12:02:33 CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C secolo; come %Y, tranne che sono omesse le ultime due cifre (es.: " "20)\n" " %d giorno del mese (es.: 01)\n" " %D data; equivalente a %m/%d/%y\n" " %e giorno del mese, con spazi; equivalente a %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F data in formato completo; equivalente a %Y-%m-%d\n" " %g le ultime due cifre dell'anno del numero ISO della settimana " "(consultare %G)\n" " %G anno del numero ISO della settimana (consultare %V); in genere utile " "solo con %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h come %b\n" " %H ora (00..23)\n" " %I ora (01..12)\n" " %j giorno dell'anno (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k ora ( 0..23), riempita con spazi ( 0..23); equivalente a %_H\n" " %l ora ( 1..12), riempita con spazi ( 1..12); equivalente a %_I\n" " %m mese (01..12)\n" " %M minuto (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n un ritorno a capo\n" " %N nanosecondi (000000000..999999999)\n" " %p indicatore AM o PM localizzato; vuoto se non noto\n" " %P come %p, ma minuscolo\n" " %r orario localizzato, 12-ore (es.: 11:11:04 PM)\n" " %R ora, 24-ore; equivalente a %H:%M\n" " %s secondi passati dalle 00:00:00 del 1 gen 1970\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S secondi (00..60)\n" " %t un tabulatore orizzontale\n" " %T ora; come %H:%M:%S\n" " %u giorno della settimana (1..7); 1 rappresenta lunedì\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U numero della settimana dell'anno con domenica come primo giorno " "della\n" " settimana (00..53)\n" " %V numero della settimana ISO con lunedì come primo giorno della\n" " settimana (01..53)\n" " %w giorno della settimana (0..6); 0 rappresenta domenica\n" " %W numero della settimana dell'anno con lunedì come primo giorno della\n" " settimana (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x rappresentazione localizzata della data (es.: 31/12/99)\n" " %X rappresentazione localizzata dell'orario (es.: 23:13:48)\n" " %y ultime due cifre dell'anno (00..99)\n" " %Y anno\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm fuso orario numerico (es: -0400)\n" " %:z +hh:mm fuso orario numerico (es: -04:00)\n" " %::z +hh:mm:ss fuso orario numerico (es: -04:00:00)\n" " %:::z fuso orario numerico con : per la precisione necessaria (es: -04, " "+05:30)\n" " %Z abbreviazione del fuso orario alfabetico (es: CET)\n" "\n" "In modo predefinito, date riempie i campi numerici con zeri.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "I seguenti flag opzionali possono seguire \"%\":\n" "\n" " - (trattino) non riempie il campo\n" " _ (sottolineatura) riempie con spazi\n" " 0 (zero) riempie con zeri\n" " ^ usa la maiuscola se possibile\n" " # usa l'opposto se possibile\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Dopo qualsiasi flag segue un campo lunghezza opzionale, come numero " "decimale;\n" "poi un modificatore opzionale, che può essere\n" "E per usare rappresentazioni localizzate alternative, se definite, o\n" "O per usare la rappresentazione localizzata alternativa per i simboli " "numerici, se definita.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Esempi:\n" "Converte i secondi dall'Epoca (01/01/1970 UTC) in una data\n" " $ date --date='@2147483647'\n" "\n" "Mostra l'orario della costa ovest degli USA (usare tzselect(1) per trovare " "la TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Mostra l'orario locale per le 9 a.m. del prossimo venerdì sulla costa ovest " "degli USA\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standard input" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "data %s non valida" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "specificati formati di output multipli" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "le opzioni per specificare la stampa di date sono mutualmente esclusive" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "le opzioni per stampare e impostare l'orario non possono essere usate insieme" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "manca un «+» davanti all'argomento %s;\n" "quando si usa un'opzione per specificare una o più date, qualsiasi " "argomento\n" "che non sia un'opzione deve essere una stringa di formato che inizia con «+»" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "impossibile impostare la data" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "l'orario %s è fuori dal limite" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [OPERANDO]...\n" " o: %s OPZIONE\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copia un file, convertendolo e formattandolo secondo gli operandi.\n" "\n" " bs=BYTE legge e scrive BYTE byte per volta\n" " cbs=BYTE converte BYTE byte per volta\n" " conv=CONV converte il file secondo l'elenco di simboli separati da " "virgole\n" " count=BLOCCHI copia dall'input solo BLOCCHI blocchi\n" " ibs=BYTE legge BYTE byte per volta (predefinito: 512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FILE legge da FILE invece che da stdin\n" " iflag=FLAGS legge come dall'elenco di simboli separati da virgole\n" " obs=BYTE scrive BYTE byte per volta (predefinito: 512)\n" " of=FILE scrive su FILE invece che su stdout\n" " oflag=FLAGS scrive come dall'elenco di simboli separati da virgole\n" " seek=BLOCCHI salta un numero di BLOCCHI lunghi obs all'inizio " "dell'output\n" " skip=BLOCCHI salta un numero di BLOCCHI lunghi ibs all'inizio " "dell'input\n" " status=noxfer nasconde le statistiche di trasferimento\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCCHI e BYTE possono essere seguiti da uno di questi suffissi " "moltiplicatori:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 e così via per T, P, E, Z e Y.\n" "\n" "Ogni simbolo CONV può essere:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii da EBCDIC a ASCII\n" " ebcdic da ASCII a EBCDIC\n" " ibm da ASCII a EBCDIC alternativo\n" " block completa con spazi fino a cbs i record terminati da ritorno a " "capo\n" " unblock sostituisce con ritorno a capo gli spazi alla fine di un record " "lungo cbs\n" " lcase cambia i caratteri maiuscoli in minuscoli\n" " ucase cambia i caratteri minuscoli in maiuscoli\n" " swab scambia ogni coppia di byte in input\n" " sync riempie ogni blocco in input con NUL sino a ibs; se usato\n" " con block o unblock, riempie con spazi invece che con NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl fallisce se il file di output già esiste\n" " nocreat non crea il file di output\n" " notrunc non effettua il troncamento del file di output\n" " noerror continua dopo errori di lettura\n" " fdatasync scrive fisicamente i dati del file di output prima di finire\n" " fsync similmente, ma scrive anche i metadati\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Ciascun simbolo FLAG può essere:\n" "\n" " append modalità append (ha senso solo per l'output; suggerito " "conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio utilizza I/O concorrente per i dati\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct utilizza I/O diretto per i dati\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory fallisce a meno che non sia una directory\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync utilizza I/O sincronizzato per i dati\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync similmente, ma anche per metadati\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock accumula blocchi pieni di input (solo iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock utilizza I/O non bloccante\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime non aggiorna l'orario di accesso\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache scarta i dati nella cache\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty non assegna il controllo del terminale da file\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow non segue i collegamenti simbolici\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks fallisce per collegamenti multipli\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary utilizza I/O binario per i dati\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text utilizza I/O testuale per i dati\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Mandando un segnale %s ad un processo di «dd» attivo vengono mostrate " "statistiche di I/O sullo standard error; in seguito verrà ripresa la copia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 record in\n" " 18335302+0 record out\n" " 9387674624 byte (9,4 GB) copiati, 34,6279 s, 271 MB/s\n" "\n" "Le opzioni sono:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> record dentro\n" "%<PRIuMAX>+%<PRIuMAX> record fuori\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> record troncato\n" msgstr[1] "%<PRIuMAX> record troncati\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) copiato" msgstr[1] "%<PRIuMAX> byte (%s) copiati" #: src/dd.c:720 msgid "Infinity B" msgstr "B illimitato" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "chiusura del file di input %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "chiusura del file di output %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "disattivazione di O_DIRECT non riuscita: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "scrittura di %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operando %s non riconosciuto" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversione non valida" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "flag di input non valido" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "flag di output non valido" #: src/dd.c:1227 msgid "invalid status flag" msgstr "flag di stato non valido" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "numero %s non valido" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "non è possibile combinare qualunque coppia di {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "non è possibile combinare block e unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "non è possibile combinare lcase e ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "non è possibile combinare excl e nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "non è possibile combinare direct e nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "attenzione: si sta aggirando il bug del kernel di lseek per il file (%s)\n" " di mt_type=0x%0lx -- consultare <sys/mtio.h> per l'elenco dei tipi" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: impossibile saltare" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: impossibile fare il seek" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "offset eccessivo leggendo il file %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "attenzione: offset di file non valido dopo una lettura non riuscita" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "non si può aggirare il bug del kernel, dopo tutto" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "impostazione dei flag %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "memoria esaurita da un buffer di input di dimensione %zu byte (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "memoria esaurita da un buffer di output di dimensione %zu byte (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: impossibile saltare all'offset specificato" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "interruzione a %<PRIuMAX> byte nel file di output %s non riuscita" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync non riuscita per %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync non riuscita per %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "apertura di %s non riuscita" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "offset troppo grande: impossibile interrompere a una lunghezza di seek=" "%<PRIuMAX> (%lu-byte) blocchi" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "interruzione a %<PRIuMAX> byte nel file di output %s non riuscita" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "scarto della cache per %s non riuscito" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "File system" #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blocchi" #: src/df.c:181 msgid "Used" msgstr "Usati" #: src/df.c:184 msgid "Available" msgstr "Disponib." #: src/df.c:187 msgid "Use%" msgstr "Uso%" #: src/df.c:190 msgid "Inodes" msgstr "Inode" #: src/df.c:193 msgid "IUsed" msgstr "IUsati" #: src/df.c:196 msgid "IFree" msgstr "ILiberi" #: src/df.c:199 msgid "IUse%" msgstr "IUso%" #: src/df.c:202 msgid "Mounted on" msgstr "Montato su" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "attenzione: il file di origine %s è stato specificato più di una volta" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Dim." #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Dispon." #: src/df.c:474 msgid "Capacity" msgstr "Capacità" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Mostra informazioni sul file system su cui risiede ogni FILE,\n" "oppure in modo predefinito su tutti i file system.\n" "\n" # (ndt) ho tolto il punto finale in -B per uniformità #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all include i file system lunghi 0 blocchi (dummy)\n" " -B, --block-size=DIM scala le dimensioni di DIM prima di stamparle. Ad " "es.,\n" " \"-BM\" stampa le dimensioni in unità di " "1.048.576 byte.\n" " Consultare il formato di DIM in basso\n" " --total produce il totale complessivo\n" " -h, --human-readable stampa le dimensioni in formato leggibile (es.: 1K, " "234M, 2G)\n" " -H, --si similmente, ma usa multipli di 1000 invece che di " "1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes elenca informazioni sugli inode invece che sui " "blocchi\n" " -k come --block-size=1K\n" " -l, --local limita l'elenco ai file system locali\n" " --no-sync non fa sync prima di recuperare le informazioni " "(predefinito)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability usa il formato di output POSIX\n" " --sync fa sync prima di recuperare le informazioni " "sull'uso\n" " -t, --type=TIPO limita l'elenco ai file system di tipo TIPO\n" " -T, --print-type stampa il tipo di file system\n" " -x, --exclude-type=TIPO limita l'elenco ai file system non di tipo TIPO\n" " -v (ignorato)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "le opzioni --compare (-C) e --strip sono mutualmente esclusive" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Attenzione: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "il tipo di file system %s è stato sia selezionato che escluso" #: src/df.c:1500 msgid "Warning: " msgstr "Attenzione: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "impossibile leggere la tabella dei file system montati" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "nessun file system elaborato" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Stampa i comandi per impostare la variabile di ambiente LS_COLORS\n" "\n" "Determina il formato dell'output:\n" " -b, --sh, --bourne-shell stampa istruzioni per la Bourne shell\n" " -c, --csh, --c-shell stampa istruzioni per la C shell\n" " -p, --print-database stampa le impostazioni predefinite\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Se FILE è specificato, viene letto per determinare quali colori usare per i\n" "diversi tipi di file ed estensioni. Altrimenti è usato un database\n" "precompilato. Per conoscere i dettagli sul formato di questi file, eseguire\n" "«dircolors --print-database».\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: riga non valida; manca il secondo token" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: parola chiave non riconosciuta %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "le opzioni per stampare il database interno di dircolors e per selezionare\n" "una sintassi di shell sono mutualmente esclusive" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "gli operandi di tipo file non possono essere combinati con --print-database " "(-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "manca la variabile di ambiente SHELL e non è stata usata l'opzione per\n" "selezionare il tipo della shell" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Uso: %s [OPZIONE]... NOME...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Stampa NOME rimuovendo la / finale e l'ultimo componente diverso da /;\n" "se NOME non contiene alcun /, stampa \".\" (intendendo la directory " "corrente).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -0, --null termina ogni riga con il byte 0 invece del ritorno a capo\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Esempi:\n" " %s /usr/bin/ stampa \"/usr\".\n" " %s stdio.h stampa \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Uso: %s [OPZIONE]... [FILE]...\n" " o: %s [OPZIONE]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Riassume l'uso del disco di ogni FILE, ricorsivamente per le directory.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all scrive il valore per tutti i file, non solo le " "directory\n" " --apparent-size stampa le dimensioni apparenti, invece dell'utilizzo " "del disco; anche se\n" " la dimensione apparente è di solito più piccola, " "può essere\n" " più grande per buchi nei file (\"sparsi\"), " "frammentazione\n" " interna, blocchi indiretti e simili.\n" # (ndt) anche qui ho tolto il punto finale in -B per uniformità #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=DIM scala le dimensioni di DIM prima di stamparle. Ad " "es.,\n" " \"-BM\" stampa le dimensioni in unità di " "1.048.576 byte.\n" " Consultare il formato di DIM in basso\n" " -b, --bytes equivalente a \"--apparent-size --block-size=1\"\n" " -c, --total genera un totale complessivo\n" " -D, --dereference-args dereferenzia solo i collegamenti simbolici che " "sono elencati\n" " sulla riga di comando\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F riassume l'uso del disco dei file specificati\n" " nel file F (terminati con NUL);\n" " se F è -, legge i nomi dallo standard input\n" " -H equivalente a --dereference-args (-D)\n" " -h, --human-readable stampa le dimensioni in formato leggibile (es.: 1K " "234M 2G)\n" " --si come -h, ma usa potenze di 1000 non 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k come --block-size=1K\n" " -l, --count-links conta le dimensioni più volte se ci sono " "collegamenti fisici\n" " -m come --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference dereferenzia tutti i collegamenti simbolici\n" " -P, --no-dereference non segue nessun collegamento simbolico " "(predefinito)\n" " -0, --null termina ogni riga di output con il byte 0 anziché il " "ritorno a capo\n" " -S, --separate-dirs non include la dimensione delle sottodirectory\n" " -s, --summarize mostra solo il totale di ogni argomento\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time mostra l'orario dell'ultima modifica di ogni file " "nella\n" " directory, o in ogni sua sottodirectory\n" " --time=TIPO mostra l'orario come TIPO invece dell'orario di " "modifica:\n" " atime, access, use, ctime o status\n" " --time-style=STILE mostra l'orario usando lo stile STILE:\n" " full-iso, long-iso, iso, +FORMATO\n" " FORMATO è interpretato come «date»\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "B illimitato" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read non riuscita: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "profondità massima %s non valida" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "l'argomento %2$s di --%1$s non è valido" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "impossibile riassumere e contemporaneamente mostrare tutte le voci" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "attenzione: riassumere è lo stesso che usare --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "attenzione: riassumere è in conflitto con --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "gli operandi dei file non possono essere combinati con --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: errore di lettura" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "quando i nomi dei file sono letti dallo stdin, un nome come %s non è permesso" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nome di file di lunghezza zero non valido" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totale" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s [OZIONE-CORTA]... [STRINGA]...\n" " o: %s OPZIONE-LUNGA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Stampa la STRINGA (o le stringhe) sullo standard output.\n" "\n" " -n non stampa il ritorno a capo finale\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e abilita l'interpretazione dei caratteri protetti da " "backslash (predefinito)\n" " -E disabilita l'interpretazione dei caratteri protetti da " "backslash\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e abilita l'interpretazione dei caratteri protetti da " "backslash\n" " -E disabilita l'interpretazione dei caratteri protetti da " "backslash (predefinito)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Se è attivo -e, sono riconosciute le seguenti sequenze:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ backslash\n" " \\a avviso (BEL)\n" " \\b backspace\n" " \\c non produce ulteriore output\n" " \\e escape\n" " \\f avanzamento pagina\n" " \\n ritorno a capo\n" " \\r ritorno carrello\n" " \\t tabulazione orizzontale\n" " \\v tabulazione verticale\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN byte con valore ottale NNN (da 1 a 3 cifre)\n" " \\xHH byte con valore esadecimale HH (da 1 a 2 cifre)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPZIONE]... [-] [NOME=VALORE]... [COMANDO [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Imposta nell'ambiente ogni NOME a VALORE ed esegue COMANDO.\n" "\n" " -i, --ignore-environment inizia con un ambiente vuoto\n" " -0, --null termina ogni riga in output con un byte 0 invece di " "un ritorno a capo\n" " -u, --unset=NOME rimuove la variabile dall'ambiente\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Un semplice - implica -i. Se manca COMANDO, stampa l'ambiente risultante.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "impossibile azzerare %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "impossibile impostare %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "impossibile specificare --null (-0) con un comando" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converte i tabulatori in spazi in ogni FILE, scrivendo sullo standard " "output.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial non converte i tabulatori dopo caratteri che non sono " "spazi\n" " -t, --tabs=NUM imposta le tabulazioni a distanza di NUM caratteri, " "non 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=ELENCO usa un ELENCO di posizioni esplicite di tabulatori " "separata da virgole\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "%s: posizione del tabulatore troppo grande" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "la grandezza del tabulatore contiene caratteri non validi: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "la grandezza del tabulatore non può essere 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "le grandezze dei tabulatori devono essere crescenti" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "la riga di input è troppo lunga" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Uso: %s ESPRESSIONE\n" " o: %s OPZIONE\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Stampa sullo standard output il valore dell'ESPRESSIONE. Qui sotto, una " "riga\n" "vuota separa gruppi di operatori con precedenza crescente.\n" "ESPRESSIONE può essere:\n" "\n" " ARG1 | ARG2 ARG1 se non è nullo o 0, altrimenti ARG2\n" "\n" " ARG1 & ARG2 ARG1 se nessun argomento è nullo o 0, altrimenti 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 è minore di ARG2\n" " ARG1 <= ARG2 ARG1 è minore o uguale ad ARG2\n" " ARG1 = ARG2 ARG1 è uguale ad ARG2\n" " ARG1 != ARG2 ARG1 è diverso da ARG2\n" " ARG1 >= ARG2 ARG1 è maggiore o uguale ad ARG2\n" " ARG1 > ARG2 ARG1 è maggiore di ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 somma aritmetica di ARG1 e ARG2\n" " ARG1 - ARG2 differenza aritmetica di ARG1 e ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 prodotto aritmetico di ARG1 e ARG2\n" " ARG1 / ARG2 quoziente aritmetico di ARG1 diviso ARG2\n" " ARG1 % ARG2 resto aritmetico di ARG1 diviso ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRINGA : REGEXP ricerca ancorata del modello REGEXP nella STRINGA\n" "\n" " match STRINGA REGEXP come STRINGA : REGEXP\n" " substr STRINGA POS LUNG sottostringa della STRINGA, POS è contata da 1\n" " index STRINGA CAR posizione nella STRINGA di uno dei CAR, se\n" " trovato, o 0\n" " length STRINGA lunghezza della STRINGA\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN interpreta TOKEN come una stringa anche se è " "una\n" " parola chiave come \"match\" o un operatore " "come \"/\"\n" "\n" " ( ESPRESSIONE ) valore dell'ESPRESSIONE\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Si noti che molti operatori devono essere preceduti da \"\\\" (escaped) o\n" "protetti da apici a causa delle shell. I confronti sono aritmetici se\n" "entrambi gli ARG sono numeri, altrimenti sono lessicografici. I modelli\n" "restituiscono la stringa corrispondente tra \\( e \\) oppure null; se\n" "\\( e \\) non sono usati, restituiscono il numero di caratteri " "corrispondenti\n" "oppure 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Lo stato di uscita è 0 se ESPRESSIONE non è null o 0, 1 se ESPRESSIONE è " "null\n" "oppure 0, 2 se ESPRESSIONE non è valida sintatticamente e 3 se è avvenuto un " "errore.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "errore di sintassi" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "errore nel controllo dell'espressione regolare" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argomento non intero" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "divisione per zero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "impostare LC_ALL='C' per aggirare il problema" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "le stringhe confrontate erano %s e %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s non è un intero positivo valido" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s è troppo grande" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [NUMERO]...\n" " o: %s OPZIONE\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Stampa i fattori primi di tutti i NUMERI interi specificati. Se non sono\n" "specificati sulla riga di comando, li legge da standard input.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "impossibile determinare la directory corrente" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "impossibile entrare nella directory %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "impossibile determinare la directory corrente (ora %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Uso: %s [-LARGH] [OPZIONE]... [FILE]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Riformatta ogni paragrafo nei FILE, scrivendo sullo standard output.\n" "L'opzione -LARGH è una forma abbreviata di --width=NUMERI.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin mantiene il rientro delle prime due righe\n" " -p, --prefix=STRINGA riformatta solo le righe che iniziano con " "STRINGA,\n" " inserendo il prefisso alle righe riformattate\n" " -s, --split-only divide le righe lunghe, ma non le riempie " "nuovamente\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph rientro della prima riga diversa dalla seconda\n" " -u, --uniform-spacing uno spazio tra le parole, due dopo le frasi\n" " -w, --width=AMPIEZZA larghezza massima della riga (predefinita a 75 " "colonne)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "opzione non valida -- %c; -WIDTH è riconosciuto solo quando è la prima " "opzione; utilizzare -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "larghezza non valida: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Manda a capo le righe lette in ogni FILE (lo standard input come " "predefinito),\n" "scrivendo sullo standard output.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes conta i byte invece delle colonne\n" " -s, --spaces interrompe se si incontrano spazi\n" " -w, --width=LARG usa LARG colonne invece di 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "numero di colonne non valido: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Uso: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Stampa i limiti dipendenti dalla piattaforma in un formato utile per gli " "script di shell.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "recupero dei gruppi per l'utente %s non riuscito" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "recupero dei gruppi per il processo corrente non riuscito" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "impossibile trovare il nome del gruppo con id %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Uso: %s [OPZIONE]... [NOMEUTENTE]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Stampa le appartenenze ai gruppi per ogni NOMEUTENTE o, se non ne è " "specificato alcuno,\n" "sul processo corrente (che potrebbe essere diverso se il database dei gruppi " "è cambiato).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "impossibile impostare l'id utente" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "impossibile dereferenziare %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "impossibile impostare l'id utente" # (ndt) messa la minuscola dopo i : per uniformità #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: questo utente non esiste" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Stampa le prime 10 righe di ogni FILE sullo standard output.\n" "Con più di un FILE, le fa precedere da una intestazione riportante il nome " "del file.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K stampa i primi K byte di ogni file;\n" " con \"-\", li stampa tutti a parte gli ultimi\n" " K byte di ogni file\n" " -n, --lines=[-]K stampa le prime K righe invece delle prime 10;\n" " con \"-\", le stampa tutte a parte le ultime\n" " K di ogni file\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent non stampa mai le intestazioni che riportano i " "nomi dei file\n" " -v, --verbose stampa sempre le intestazioni che riportano i " "nomi dei file\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K può avere un suffisso moltiplicatore:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e così via per T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: il file si è ridotto eccessivamente" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: il numero di byte è troppo grande" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: impossibile fare lseek alla posizione originale" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: impossibile posizionarsi all'offset %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: rimozione non riuscita" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "impossibile reimpostare la posizione del file per %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s è così grande che è impossibile rappresentarlo" #: src/head.c:886 msgid "number of lines" msgstr "numero di righe" #: src/head.c:886 msgid "number of bytes" msgstr "numero di byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "numero di righe non valido" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "numero di byte non valido" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "opzione finale non valida -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Uso: %s [OPZIONE]\n" "Stampa l'identificativo numerico (in esadecimale) dell'host corrente.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Uso: %s [NOME]\n" " o: %s OPZIONE\n" "Stampa o imposta il nome host del sistema.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "impossibile impostare il nome a %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "impossibile impostare il nome host; questo sistema non ha questa funzionalità" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "impossibile determinare il nome host" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Uso: %s [OPZIONE]... [NOMEUTENTE]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Stampa informazioni sull'utente e sul gruppo di NOMEUTENTE o (se\n" "NOMEUTENTE è omesso) dell'utente corrente.\n" "\n" " -a ignorato, per compatibilità con altre versioni\n" " -Z, --context stampa solo il contesto di sicurezza dell'utente corrente\n" " -g, --group stampa solo l'id efficace del gruppo\n" " -G, --groups stampa gli id di tutti i gruppi\n" " -n, --name stampa un nome invece di un numero, per -ugG\n" " -r, --real stampa l'id reale invece dell'id efficace, con -ugG\n" " -u, --user stampa solo l'id efficace dell'utente\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Senza alcuna OPZIONE, stampa alcune utili informazioni identificative.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) funziona solo su un kernel con SELinux abilitato" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "impossibile stampare il contesto di sicurezza quando si specifica un utente" # (ndt) es. id -u -g - Giorgio #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "impossibile stampare \"solo\" più di una scelta" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "impossibile stampare solo i nomi o gli id reali nel formato predefinito" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "impossibile recuperare il contesto del processo" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "impossibile dereferenziare %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "impossibile trovare il nome dell'utente con id %lu" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " gruppi=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " contesto=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "attenzione: %s: cambio del contesto in %s non riuscito" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "creazione della directory %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "impossibile cambiare il proprietario di %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "impossibile impostare l'orario di %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "chiamata di sistema fork non riuscita" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "impossibile eseguire %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "in attesa dello strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "processo di strip terminato in modo anomalo" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "utente %s non valido" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Uso: %s [OPZIONE]... [-T] ORIGINE DESTINAZIONE\n" " o: %s [OPZIONE]... ORIGINE... DIRECTORY\n" " o: %s [OPZIONE]... -t DIRECTORY ORIGINE...\n" " o: %s [OPZIONE]... -d DIRECTORY...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Questo programma di installazione copia i file (spesso appena compilati)\n" "nelle destinazioni scelte. Se si vuole scaricare e installare un pacchetto\n" "pronto all'uso su un sistema GNU/Linux, si dovrebbe usare un gestore di " "pacchetti\n" "come yum(1) o apt-get(1).\n" "\n" "Nelle prime tre forme, copia ORIGINE in DEST o ORIGINE multipli nella " "DIRECTORY\n" "esistente, impostando contemporaneamente i permessi e il proprietario/" "gruppo.\n" "Nella quarta forma, crea tutti i componenti per ogni DIRECTORY indicata.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup=[CONTROL] fa un backup di ogni file di destinazione " "esistente\n" " -b come --backup ma non accetta un argomento\n" " -c (ignorato)\n" " -C, --compare confronta ogni coppia di file sorgente e destinazione " "e,\n" " in alcuni casi, non modifica la destinazione\n" " -d, --directory tratta tutti gli argomenti come nomi di directory; " "crea\n" " tutti i componenti delle directory specificate\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D crea tutti i componenti di DEST tranne l'ultimo, poi\n" " copia ORIGINE in DEST\n" " -g, --group=GRUPPO imposta il gruppo proprietario, invece del gruppo del\n" " processo corrente\n" " -m, --mode=PERMESSI imposta i PERMESSI (come in chmod) invece di rwxr-xr-" "x\n" " -o, --owner=PROPRIETARIO imposta il PROPRIETARIO (solo per " "l'amministratore di sistema)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps applica le date di accesso/modifica dei file\n" " di ORIGINE ai file di destinazione corrispondenti\n" " -s, --strip esegue lo strip delle tabelle dei simboli\n" " --strip-program=PROGR programma usato per eseguire lo strip dei file " "binari\n" " -S, --suffix=SUFF cambia il normale suffisso dei backup\n" " -t, --target-directory=DIRECTORY copia tutti gli argomenti ORIGINE in " "DIRECTORY\n" " -T, --no-target-directory tratta DEST come un file normale\n" " -v, --verbose stampa il nome di ogni directory creata\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context preserva il contesto di sicurezza SELinux\n" " -Z, --context=CONTEXT imposta il contesto di sicurezza SELinux di file e " "directory\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "ATTENZIONE: ignorato --preserve-context; questo non è un kernel con SELinux " "abilitato" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "ATTENZIONE: ignorato --context (-Z); questo non è un kernel con SELinux " "abilitato" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "l'opzione strip non può essere usata per installare una directory" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "la directory di destinazione non è permessa durante l'installazione di una " "directory" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "impossibile forzare il contesto destinazione in %s e preservarlo" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "modo %s non valido" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "ATTENZIONE: l'opzione --strip-program è ignorata non essendo stata " "specificata l'opzione -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "le opzioni --compare (-C) e --preserve-timestamps sono mutualmente esclusive" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "le opzioni --compare (-C) e --strip sono mutualmente esclusive" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "l'opzione --compare (-C) è ignorata se è specificato un modo senza i bit di " "permesso" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Per ogni coppia di righe di input con campi di unione identici, scrive una " "riga sullo\n" "standard output. Il campo predefinito di unione è il primo, delimitato\n" "da uno spazio bianco. Quando FILE1 o FILE2 (non entrambi) è -, legge lo " "standard input.\n" "\n" " -a NUMFILE stampa anche le righe non accoppiabili da NUMFILE, dove\n" " NUMFILE è 1 o 2. corrispondente a FILE1 o FILE2\n" " -e VUOTO sostuituisce i campi di input mancanti con VUOTO\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignora le differenze maiuscole/minuscole quando " "confronta i campi\n" " -j CAMPO equivalente a «-1 CAMPO -2 CAMPO»\n" " -o FORMATO rispetta il FORMATO mentre costruisce la riga di output\n" " -t CAR usa CAR come separatore dei campi di input e output\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMFILE come -a NUMFILE, ma elimina le righe di output unite\n" " -1 CAMPO unisce in questo CAMPO del file 1\n" " -2 CAMPO unisce in questo CAMPO del file 2\n" " --check-order controlla che l'input sia ordinato correttamente, anche\n" " se tutte le righe in input possono essere accoppiate\n" " --nocheck-order non controlla che l'input sia ordinato correttamente\n" " --header tratta la prima riga in ciascun file come intestazione " "dei campi,\n" " stampandole senza provare ad accoppiarle\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "A meno che non sia dato -t CAR, gli spazi iniziali separano i campi e sono " "ignorati,\n" "altrimenti i campi sono separati da CAR. Ogni CAMPO è un numero di campo " "contato\n" "da 1. FORMATO sono specifiche separate da una o più virgole o spazi,\n" "nella forma \"NUMFILE.CAMPO\" o \"0\". Il FORMATO predefinito stampa i campi " "di unione,\n" "i campi rimanenti da FILE1, i campi rimanenti da FILE2, tutti\n" "separati da CAR. Se FORMATO è la parola chiave \"auto\", la prima\n" "riga di ciascun file determina il numero di campi stampati per ciascuna " "riga.\n" "\n" "Importante: FILE1 e FILE2 devono essere ordinati sui campi uniti.\n" "Esempio: usare « sort -k 1b,1 » se «join» non ha opzioni,\n" "o usare « join -t '' » se «sort» è senza opzioni.\n" "Notare che i confronti rispettano le regole specificate da \"LC_COLLATE\".\n" "Se l'input non è ordinato e alcune righe non possono essere unite, verrà\n" "restituito un messaggio di avviso.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: non è ordinato: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "numero di campo non valido: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "specificatore di campo non valido: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "numero di file non valido nello specificatore di campo: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "campi di unione incompatibili %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "conflitto fra le stringhe di sostituzione per i campi vuoti" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "tabulatore multicarattere %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "tabulatori incompatibili" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "entrambi i file non possono essere lo standard input" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Uso: %s [-s SEGNALE | -SEGNALE] PID...\n" " o: %s -l [SEGNALE]...\n" " o: %s -t [SEGNALE]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Manda segnali ai processi o elenca i segnali.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SEGNALE, -SEGNALE\n" " specifica il nome o numero del segnale da inviare\n" " -l, --list elenca i nomi dei segnali, o li converte da/in numeri\n" " -t, --table stampa una tabella di informazioni sui segnali\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SEGNALE può essere il nome di un segnale come \"HUP\" o il numero di un " "segnale\n" "come \"1\" oppure lo stato di uscita di un processo terminato da un " "segnale.\n" "PID è un intero; se è negativo indica un gruppo di processi.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: id del processo non valido" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opzione non valida -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: sono stati specificati segnali multipli" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "sono state specificate opzioni -l o -t multiple" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "non è possibile combinare un segnale con -l o -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "nessun id del processo specificato" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "allocazione di un buffer di stdio di %<PRIuMAX> byte non riuscita\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "modo di buffering %s non valido per %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "impossibile impostare il buffering di %s nel modo %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Uso: %s FILE1 FILE2\n" " o: %s OPZIONE\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Chiama la funzione link per creare un collegamento chiamato FILE2 a un FILE1 " "esistente.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "impossibile creare il collegamento %s a %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: non è possibile fare un collegamento fisico a una directory" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: impossibile sovrascrivere una directory" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: sostituire %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "creazione del collegamento simbolico %s non riuscita" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "creazione del collegamento simbolico %s a %s non riuscita" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "creazione del collegamento fisico a %.0s%s non riuscita" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "creazione del collegamento fisico %s non riuscita" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "creazione del collegamento fisico %s a %s non riuscita" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Uso: %s [OPZIONE]... [-T] DEST NOME_COLL (1a forma)\n" " o: %s [OPZIONE]... DEST (2a forma)\n" " o: %s [OPZIONE]... DEST... DIRECTORY (3a forma)\n" " o: %s [OPZIONE]... -t DIRECTORY DEST... (4a forma)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Nella prima forma, crea un collegamento a DEST con il nome NOME_COLL.\n" "Nella seconda forma, crea un collegamento a DEST nella directory corrente.\n" "Nella terza e quarta forma, crea i collegamenti a ogni DEST nella " "DIRECTORY.\n" "Crea collegamenti fisici in maniera predefinita e collegamenti simbolici con " "--symbolic.\n" "Con i collegamenti fisici, ogni DEST deve esistere. I collegamenti " "simbolici\n" "possono contenere testo arbitrario; se risolto dopo, un collegamento " "relativo è\n" "interpretato in relazione alla sua directory padre.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] fa il backup di ogni file di destinazione " "esistente\n" " -b come --backup ma non accetta un argomento\n" " -d, -F, --directory permette all'amministratore di sistema di " "creare collegamenti fisici\n" " alle directory (nota: per restrizioni di " "sistema,\n" " può fallire anche all'amministratore)\n" " -f, --force rimuove i file di destinazione esistenti\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive chiede se rimuovere le destinazioni\n" " -L, --logical crea collegamenti fisici direttamente da " "quelli simbolici\n" " -n, --no-dereference tratta la destinazione che è un collegamento " "simbolico\n" " a una directory come se fosse un file " "normale\n" " -P, --physical crea collegamenti fisici direttamente verso " "collegamenti simbolici\n" " -s, --symbolic crea collegamenti simbolici invece di " "collegamenti fisici\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFISSO cambia il normale suffisso di backup\n" " -t, --target-directory=DIRECTORY specifica la DIRECTORY in cui creare i " "collegamenti\n" " -T, --no-target-directory tratta NOME_COLL come un file normale\n" " -v, --verbose stampa il nome di ciascun file collegato\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Usando -s sono ignorate -L e -P. Altrimenti, l'ultima opzione specificata " "controlla\n" "il comportamento quando l'origine è un collegamento simbolico, " "predefinendolo a %s.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "impossibile utilizzare sia --target-directory che --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "impossibile creare il collegamento simbolico %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "DA SISTEMARE: sconosciuto" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Uso: %s [OPZIONE]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Stampa il nome dell'utente corrente.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "nome di accesso inesistente" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H.%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "ignorato il valore non valido della variabile di ambiente QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" "ignorata la larghezza non valida nella variabile di ambiente COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "ignorata la larghezza del tabulatore non valida nella variabile di ambiente " "TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "larghezza della riga non valida: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "dimensioni di tabulazione non valide: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "formato dello stile dell'ora %s non valido" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Sono argomenti validi:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "errore di inizializzazione delle stringhe dei mesi" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefisso non riconosciuto: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "valore non interpretabile nella variabile di ambiente LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "impossibile aprire la directory %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "impossibile determinare device e inode di %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "non viene elencata la directory già elencata: %s" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "lettura della directory %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "chiusura della directory %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "impossibile confrontare i nomi dei file %s e %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Elenca informazioni sui FILE (predefinito: la directory corrente).\n" "Ordina alfabeticamente le voci se non è usato uno di -cftuvSUX oppure --" "sort.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all non nasconde le voci che iniziano con .\n" " -A, --almost-all non elenca le voci . e ..\n" " --author con -l stampa l'autore di ogni file\n" " -b, --escape stampa escape in stile C per i caratteri non " "grafici\n" # (ndt) anche qui ho tolto il punto finale alla -B per uniformità #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " -B, --block-size=DIM scala le dimensioni di DIM prima di stamparle. " "Ad es.,\n" " \"--block-size=M\" stampa le dimensioni in " "unità di\n" " 1.048.576 byte. Consultare il formato di DIM " "in basso\n" " -B, --ignore-backups non elenca le voci che terminano con ~\n" " -c con -lt: mostra e ordina secondo il ctime (ora\n" " di modifica delle informazioni di stato del " "file)\n" " con -l: mostra il ctime e ordina secondo il " "nome\n" " altrimenti: ordina secondo il ctime, prima il " "più recente\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C elenca le voci per colonne\n" " --color[=QUANDO] colora l'output. QUANDO è predefinito ad " "\"always\"\n" " o può essere \"never\" o \"auto\".\n" " Maggiori informazioni in basso\n" " -d, --directory elenca le voci di directory invece del " "contenuto,\n" " e non segue i collegamenti simbolici\n" " -D, --dired genera un output adatto al modo dired di Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f non ordina, abilita -aU, disabilita -ls --" "color\n" " -F, --classify accoda un indicatore alle voci (uno tra */" "=>@|)\n" " --file-type similmente ma non accoda \"*\"\n" " --format=TIPO across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time come -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g come -l, ma non elenca il proprietario\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " raggruppa le directory prima dei file.\n" " Più efficace con un'opzione --sort, ma l'uso\n" " di --sort=none (-U) disabilita il " "raggruppamento\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group con l'elenco lungo non stampa i nomi dei " "gruppi\n" " -h, --human-readable con -l, stampa le dimensioni in formato " "leggibile\n" " (es.: 1K 234M 2G)\n" " --si similmente, ma usa multipli di 1000, non 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " segue i collegamenti simbolici elencati sulla " "riga di comando\n" " --dereference-command-line-symlink-to-dir\n" " segue ciascun collegamento simbolico nella riga " "di comando\n" " che punta a una directory\n" " --hide=MODELLO non elenca le voci corrispondenti al MODELLO " "della shell\n" " (annullato da -a o -A)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=TIPO accoda ai nomi delle voci l'indicatore con lo " "stile TIPO:\n" " none (predefinito), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode stampa il numero d'indice di ogni file\n" " -I, --ignore=MODELLO non elenca le voci corrispondenti al MODELLO " "della shell\n" " -k come --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l usa un formato di elenco lungo\n" " -L, --dereference quando mostra le informazioni su un " "collegamento,\n" " simbolico, mostra le informazioni sul file a " "cui si\n" " riferisce invece che sul collegamento stesso\n" " -m elenca le voci separandole con virgole\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid come -l, ma elenca gli id utente e di gruppo\n" " -N, --literal stampa i nomi grezzi (es.: non tratta in modo\n" " speciale i caratteri di controllo)\n" " -o come -l, ma non elenca le informazioni sul " "gruppo\n" " -p, --indicator-style=slash\n" " appende / come indicatore alle directory\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars stampa ? al posto dei caratteri non grafici\n" " --show-control-chars mostra i caratteri non grafici come sono " "(predefinito\n" " a meno che il programma sia «ls» e l'output un " "terminale)\n" " -Q, --quote-name racchiude tra doppi apici i nomi delle voci\n" " --quoting-style=TIPO usa lo stile TIPO con i nomi delle voci:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse inverte il senso dell'ordinamento\n" " -R, --recursive elenca ricorsivamente le sottodirectory\n" " -s, --size stampa la dimensione allocata in blocchi di " "ogni file\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S ordina secondo le dimensioni dei file\n" " --sort=TIPO ordina per TIPO invece che per nome: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=TIPO con -l, usa il TIPO di orario invece che quello " "di\n" " modifica: atime -u, access -u, use -u, ctime -" "c,\n" " o status -c; se --sort=time usa l'orario " "specificato come\n" " chiave di ordinamento\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STILE con -l mostra gli orari usando lo STILE " "specificato:\n" " full-iso, long-iso, iso, locale, +FORMATO.\n" " FORMATO è interpretato come da \"date\"; se è\n" " FORMATO1<newline>FORMATO2, FORMATO1 è " "applicato\n" " ai file non recenti e FORMATO2 a quelli " "recenti;\n" " se STILE ha il prefisso \"posix-\" avrà " "effetto\n" " solo fuori dal locale POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ordina secondo l'orario di modifica, prima il " "più recente\n" " -T, --tabsize=COL assume che le tabulazioni siano ad ogni COL " "invece di 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u con -lt; ordina secondo l'orario di accesso e " "lo mostra\n" " con -l mostra l'orario di accesso e ordina " "per nome\n" " altrimenti ordina secondo l'orario di " "accesso\n" " -U non ordina; elenca le voci nell'ordine della " "directory\n" " -v ordina naturalmente secondo i numeri (di " "versione) nel testo\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COL considera lo schermo largo COL invece del " "valore attuale\n" " -x elenca le voci per righe invece che per " "colonne\n" " -X ordina alfabeticamente secondo le estensioni\n" " -Z, --context stampa il contesto di sicurezza SELinux di ogni " "file\n" " -1 elenca un file per riga\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "L'uso dei colori per distingure i tipi di file è disabilitato sia in modo " "predefinito che\n" "con --color=never. Con --color=auto, ls emette i codici di colore solo se " "lo\n" "standard output è connesso a un terminale. La variabile di ambiente " "LS_COLORS\n" "può cambiare queste impostazioni. Usare il comando dircolors per " "impostarla.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Stato di uscita:\n" " 0 se OK,\n" " 1 per problemi minori (es.: impossibile accedere alla sottodirectory),\n" " 2 per problemi seri (es.: impossibile accedere all'argomento della riga di " "comando).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uso: %s [OPZIONE]... [FILE]...\n" "Stampa o verifica i codici di controllo %s (%d-bit).\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary legge in modalità binaria (predefinito se non si " "legge dal tty stdin)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary legge in modalità binaria\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check legge le somme %s dai FILE e le controlla\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text legge in modalità testo (predefinito leggendo da tty " "stdin)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text legge in modalità testo (predefinito)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Le seguenti tre opzioni risultano utili solo quando si verificano i codici " "di controllo:\n" " --quiet non stampa OK per ogni file verificato con successo\n" " --status non restituisce nulla, il codice di stato mostra il " "successo\n" " -w, --warn avvisa della formattazione errata delle righe del " "codice di controllo\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict con --check, esce con errore per ogni input non " "valido\n" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Le somme sono calcolate come descritto in %s. Durante il controllo, l'input\n" "deve essere un precedente output di questo programma. La modalità " "predefinita è stampare\n" "una riga con il codice di controllo, un carattere indicante il tipo (\"*\" " "per binario, spazio per\n" "testo) e il nome per ogni FILE.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: troppe righe del codice di controllo" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" "%s: %<PRIuMAX>: riga del codice di controllo %s non formattata correttamente" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: apertura o lettura NON RIUSCITA\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "NON RIUSCITO" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" "%s: non è stata trovata alcuna riga del codice di controllo %s formattata " "correttamente" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ATTENZIONE: %<PRIuMAX> riga non formattata correttamente" msgstr[1] "ATTENZIONE: %<PRIuMAX> righe non formattate correttamente" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ATTENZIONE: %<PRIuMAX> file elencato non può essere letto" msgstr[1] "ATTENZIONE: %<PRIuMAX> file elencati non possono essere letti" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "ATTENZIONE: %<PRIuMAX> codice di controllo calcolato NON corrisponde" msgstr[1] "" "ATTENZIONE: %<PRIuMAX> codici di controllo calcolati NON corrispondono" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "l'opzione --status ha significato solo quando si stanno verificando i codici " "di controllo" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "le opzioni --binary e --text non hanno significato quando si stanno " "verificando i codici di controllo" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "l'opzione --status ha significato solo quando si stanno verificando i codici " "di controllo" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "l'opzione --warn ha significato solo quando si stanno verificando i codici " "di controllo" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "l'opzione --quiet ha significato solo quando si stanno verificando i codici " "di controllo" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "l'opzione --strict ha significato solo quando si stanno verificando i codici " "di controllo" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Uso: %s [OPZIONE]... DIRECTORY...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Crea le DIRECTORY, se non esistono già.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODO imposta i permessi (come in chmod), non a=rwx - umask\n" " -p, --parents nessun errore se esiste, crea la directory padre se " "necessario\n" " -v, --verbose stampa un messaggio per ogni directory creata\n" " -Z, --context=CTX imposta il contesto di sicurezza SELinux di ciascuna " "directory\n" " creata a CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "directory %s creata" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Uso: %s [OPZIONE]... NOME...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Crea pipe con nome (FIFO) per ogni NOME dato.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODO imposta i bit dei permessi del file come MODO, non a=rw " "- umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX imposta il contesto di sicurezza SELinux di ciascun " "NOME in CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "modo non valido" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "il modo deve specificare solo i bit di permesso del file" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Uso: %s [OPZIONE]... NOME TIPO [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Crea il file speciale NOME del TIPO dato.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX imposta il contesto di sicurezza SELinux di NOME in " "CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Sia MAJOR che MINOR devono essere specificati quando TIPO è b, c o u, e\n" "devono essere omessi quando TIPO è p. Se MAJOR o MINOR inizia con 0x o 0X,\n" "è interpretato come esadecimale; altrimenti, se inizia con 0, come ottale;\n" "altrimenti, come decimale. TIPO può essere:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b crea un file speciale a blocchi (bufferizzato)\n" " c, u crea un file speciale a caratteri (non bufferizzato)\n" " p crea un FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "I file speciali richiedono i numeri major e minor del dispositivo" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "I fifo non hanno i numeri major e minor del dispositivo" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "i file speciali a blocchi non sono supportati" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "i file speciali a caratteri non sono supportati" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "major number del dispositivo %s non valido" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "minor number del dispositivo %s non valido" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "dispositivo %s %s non valido" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tipo del dispositivo %s non valido" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Uso: %s [OPZIONE]... [MODELLO]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Crea un file o una directory temporanea, in modo sicuro, e stampa il suo " "nome.\n" "MODELLO deve contenere almeno tre \"X\" consecutive nell'ultima parte.\n" "Se MODELLO non è specificato, usa tmp.XXXXXXXXXX e --tmpdir è implicita.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "I file sono creati u+rw e le directory u+rwx, a meno di restrizioni di " "umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory crea una directory, non un file\n" " -u, --dry-run non crea nulla; stampa solo un nome (insicuro)\n" " -q, --quiet sopprime la diagnostica su fallimenti di creazione " "file/dir\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF appende SUFF al MODELLO. SUFF non deve contenere " "slash.\n" " Questa opzione è implicita se MODELLO non termina " "con X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] interpreta MODELLO relativo a DIR. Se DIR non\n" " è specificata, usa $TMPDIR se impostata, altrimenti /" "tmp.\n" " Con questa opzione, MODELLO non deve essere un nome " "assoluto.\n" " Diversamente da -t, MODELLO può contenere \"/" "\" (slash), ma\n" " mktemp crea solo la parte finale\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR usa DIR come prefisso; implica -t [deprecato]\n" " -t interpreta MODELLO come una singola parte del nome di " "un file,\n" " relativo a una directory: $TMPDIR, se impostata, " "altrimenti la\n" " directory specificata con -p, altrimenti /tmp " "[deprecato]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "reindirizzamento dello stderr in /dev/null non riuscito" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "troppi modelli" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "con --suffix, il modello %s deve terminare con X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "suffisso %s non valido, contiene separatori di directory" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "poche X nel modello %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "modello non valido, %s, contiene separatori di directory" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "modello non valido, %s; con --tmpdir non può essere assoluto" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "creazione della directory con il modello %s non riuscita" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "creazione del file con il modello %s non riuscita" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Rinomina ORIGINE in DEST o sposta ORIGINE nella DIRECTORY.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup=[CONTROL] fa un backup di ogni file di destinazione " "esistente\n" " -b come --backup ma non accetta argomenti\n" " -f, --force sovrascrive le destinazioni esistenti senza " "chiedere\n" " -i, --interactive chiede prima di sovrascrivere\n" " -n, --no-clobber non sovrascrive un file esistente\n" "Se viene specificato più di uno tra -i, -f, -n, solo l'ultimo ha effetto.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes rimuove gli slash dalla fine di ogni " "argomento\n" " ORIGINE\n" " -S, --suffix=SUFFISSO cambia il normale suffisso dei backup\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=DIRECTORY sposta ogni ORIGINE nella DIRECTORY\n" " -T, --no-target-directory considera DEST come un file normale\n" " -u, --update sposta solo quando ORIGINE è più recente del\n" " file di destinazione o questo è mancante\n" " -v, --verbose spiega cosa sta facendo\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPZIONE] [[COMANDO [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Esegue il COMANDO con una priorità di scheduling (nice) modificata.\n" "Se il COMANDO manca, stampa la priorità di scheduling corrente. " "L'intervallo\n" "varia da %d (priorità massima) a %d (minima).\n" "\n" " -n, --adjustment=N aggiunge l'intero N alla priorità (predefinito 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "variazione %s non valida" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "un comando deve essere specificato con una variazione" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "impossibile determinare la priorità di scheduling" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "impossibile impostare la priorità di scheduling" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scrive ogni FILE sullo standard output aggiungendo i numeri di riga.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STILE usa STILE per numerare le righe del corpo\n" " -d, --section-delimiter=CC usa CC per separare le pagine logiche\n" " -f, --footer-numbering=STILE usa STILE per numerare le righe dei piè di " "pagina\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STILE usa STILE per numerare le righe di " "intestazione\n" " -i, --line-increment=NUMERO incrementa il numero di riga a ogni riga\n" " -l, --join-blank-lines=NUMERO un gruppo di NUMERO righe vuote viene " "contato come una\n" " -n, --number-format=FORMATO inserisce numeri di riga secondo FORMATO\n" " -p, --no-renumber non reimposta i numeri di riga alle pagine " "logiche\n" " -s, --number-separator=STRINGA aggiunge STRINGA dopo l'eventuale numero " "di riga\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NUMERO NUMERO della prima riga in ogni pagina " "logica\n" " -w, --number-width=NUMERO utilizza NUMERO colonne per i numeri di " "riga\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "In modo predefinito, seleziona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC " "sono\n" "due caratteri di delimitazione per separare le pagine logiche, un secondo\n" "carattere mancante implica :. Digitare \\\\ per \\. STILE è uno di:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numera tutte le righe\n" " t numera solo le righe non vuote\n" " n non numera alcuna riga\n" " pBRE numera solo le righe che corrispondono all'espressione regolare\n" " di base BRE\n" "\n" "FORMATO è uno di:\n" "\n" " ln giustificato a sinistra, senza zeri iniziali\n" " rn giustificato a destra, senza zeri iniziali\n" " rz giustificato a destra, con zeri iniziali\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "numero di riga eccessivo" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "stile di numerazione dell'intestazione non valido: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "stile di numerazione del corpo non valido: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "stile di numerazione del piè di pagina non valido: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "numero di riga iniziale non valido: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incremento del numero di riga non valido: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "numero di righe vuote non valido: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "larghezza del campo numero riga non valida: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "formato del numero di righe non valido: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s COMANDO [ARG]...\n" " o: %s OPZIONE\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Esegue il COMANDO, ignorando i segnali di sospensione.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Se lo standard input è un terminale, lo redirige da /dev/null.\n" "Se lo standard output è un terminale, appende l'output a «nohup.out» se " "possibile,\n" "altrimenti a «$HOME/nohup.out».\n" "Se lo standard error è un terminale, lo redirige sullo standard output.\n" "Per salvare l'output su un FILE, usare «%s COMANDO > FILE».\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "rendere inutilizzabile lo standard input non riuscito" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "input ignorato" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "input ignorato e output accodato a %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "output accodato a %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "impostazione della copia di stderr alla chiusura dell'esecuzione non riuscita" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "input ignorato e stderr reindirizzato in stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "stderr reindirizzato in stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "reindirizzamento dello standard error non riuscito" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPZIONE]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Stampa il numero delle unità di elaborazione disponibili per il processo " "corrente,\n" "che può essere inferiore al numero dei processori disponibili\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all stampa il numero dei processori installati\n" " --ignore=N se possibile, esclude N unità di elaborazione\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: numero di esclusioni non valido" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valore non completamente convertito" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "numero %s non valido" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" # (ndt) - es: df -B 2a - Giorgio #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "il suffisso nell'argomento «%3$s» di %1$s%2$s non è valido" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: apertura per la scrittura non riuscita" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "dimensioni di tabulazione non valide: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uso: %s [OPZIONE]... [UTENTE]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict con --check, esce con errore per ogni input non " "valido\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Altre opzioni:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "il formato %s non ha una direttiva %%" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "formato di data %s non valido" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "il formato %s termina in %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "il formato %s ha troppe direttive %%" # (ndt) - es: df -B 2a - Giorgio #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "il suffisso nell'argomento «%3$s» di %1$s%2$s non è valido" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "intervallo di pagine non valido %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "numero di campo non valido: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "data %s non valida" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "gli operandi dei file non possono essere combinati con --files0-from" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "gli operandi dei file non possono essere combinati con --files0-from" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "specificate opzioni -i multiple" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "gli operandi dei file non possono essere combinati con --files0-from" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "errore leggendo %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "rendere inutilizzabile lo standard input non riuscito" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Uso: %s [OPZIONE]... [FILE]...\n" " o: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " o: %s --traditional [OPZIONE]... [FILE] [[+]OFFSET[.][b] [+][ETICH][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Scrive una rappresentazione non ambigua, in modo predefinito in byte " "ottali,\n" "di FILE sullo standard output. Con più di un argomento FILE,\n" "li concatena nell'ordine elencato per formare l'input.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Se sono applicabili sia il primo che il secondo formato di chiamata, si " "assume il secondo\n" "se l'ultimo operando inizia con un + o (se ci sono due operandi) con una " "cifra.\n" "Un operando OFFSET significa -j OFFSET. ETICH è lo pseudo-indirizzo\n" "al primo byte stampato, incrementato quando il dump è in corso.\n" "Per OFFSET e ETICH, un prefisso 0x o 0X significa esadecimale;\n" "i suffissi possono essere . per ottale e b per multipli di 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADICE decide come gli offset del file sono stampati\n" " -j, --skip-bytes=BYTE salta BYTE input prima\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTE limita il dump alla lettura di BYTE byte\n" " -S, --strings[=BYTE] stampa stringhe di almeno BYTE caratteri " "grafici\n" " -t, --format=TIPO imposta il formato o i formati di uscita\n" " -v, --output-duplicates non usa * per segnalare la rimozione di una " "riga\n" " -w, --width[=BYTE] stampa BYTE byte per ogni riga di uscita\n" " --traditional accetta gli argomenti nella forma " "tradizionale\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Le specifiche di formato tradizionale possono essere mescolate e si " "sommano:\n" " -a come -t a, seleziona i caratteri con nome, ignorando il bit di " "ordine più alto\n" " -b come -t o1, seleziona byte ottali\n" " -c come -t c, seleziona caratteri ASCII o protetti da backslash\n" " -d come -t u2, seleziona unità da due byte decimali senza segno\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f come -t fF, seleziona numeri in virgola mobile\n" " -i come -t dI, seleziona interi decimali\n" " -l come -t dL, seleziona decimali lunghi\n" " -o come -t o2, seleziona unità da 2 byte ottali\n" " -s come -t d2, seleziona unità da 2 byte decimali\n" " -x come -t x2, seleziona unità da 2 byte esadecimali\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPO è composto di una o più di queste specifiche:\n" "\n" " a carattere con nome, ignorando il bit più alto\n" " c carattere ASCII o protetto da backslash\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[DIM] decimale con segno, DIM byte per intero\n" " f[DIM] virgola mobile, DIM byte per intero\n" " o[DIM] ottale, DIM byte per intero\n" " u[DIM] decimale senza segno, DIM byte per intero\n" " x[DIM] esadecimale, DIM byte per intero\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "DIM è un numero. Se TIPO è tra doux, DIM può anche essere C per\n" "sizeof(char), S per sizeof(short), I per sizeof(int) oppure L per\n" "sizeof(long). Se TIPO è f, DIM può essere F per sizeof(float), D\n" "per sizeof(double) o L per sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K può avere un suffisso moltiplicatore:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e così via per T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "stringa di tipo non valida: %s" # (ndt) error generated by «od -t3 filename» #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "stringa di tipo non valida %s;\n" "questo sistema non fornisce un tipo intero a %lu byte" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "stringa di tipo non valida %s;\n" "questo sistema non fornisce un tipo a virgola mobile a %lu byte" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "carattere \"%c\" non valido nella stringa di tipo %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "impossibile saltare oltre la fine di un input combinato" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "radice dell'indirizzo di output \"%c\" non valida; deve essere un carattere " "tra [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "nessun tipo può essere specificato mentre si stampano le stringhe" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "la modalità compatibile supporta al massimo un file" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "il numero di byte saltati + byte letti è troppo grande" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "attenzione: larghezza %lu non valida; usare invece %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: segnale non valido" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "lo standard input è chiuso" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scrive le righe che corrispondono sequenzialmente a ciascun FILE,\n" "separate da TAB, sullo standard output.\n" "Senza FILE, o quando FILE è -, legge dallo standard input.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=ELENCO riutilizza i caratteri da ELENCO invece dei " "TABulatori\n" " -s, --serial incolla un file alla volta invece che in " "parallelo\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "l'elenco dei delimitatori termina con un backslash non protetto: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Controlla nomi di file non corretti o non portabili.\n" "\n" " -p controlla la compatibilità con la maggior parte dei " "sistemi POSIX\n" " -P controlla se il nome è vuoto o se inizia con \"-\"\n" " --portability controlla la compatibilità con tutti i sistemi POSIX " "(equivalente a -p -P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "il nome del file %s ha un componente che inizia con \"-\"" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "carattere non portabile %s nel nome del file %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "nome di file vuoto" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: impossibile determinare la lunghezza massima del nome del file" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limite %lu superato dalla lunghezza %lu del nome del file %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "limite %lu superato dalla lunghezza %lu del componente %s del nome del file" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nome di accesso: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Nella vita reale: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Directory: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Progetto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Piano:\n" #: src/pinky.c:405 msgid "Login" msgstr "Accesso" #: src/pinky.c:407 msgid "Name" msgstr "Nome" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Inatt." #: src/pinky.c:411 msgid "When" msgstr "Quando" #: src/pinky.c:414 msgid "Where" msgstr "Dove" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Uso: %s [OPZIONE]... [UTENTE]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l genera il formato di output lungo per gli UTENTI indicati\n" " -b omette l'home directory e la shell nel formato lungo\n" " -h omette il file del progetto dell'utente nel formato lungo\n" " -p omette il file del piano dell'utente nel formato lungo\n" " -s usa il formato breve, è l'opzione predefinita\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f omette l'intestazione delle colonne nel formato breve\n" " -w omette il nome completo dell'utente nel formato breve\n" " -i omette il nome completo e l'host remoto nel formato breve\n" " -q omette il nome completo, l'host remoto e il tempo di\n" " inattività nel formato breve\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Una versione leggera di «finger»; stampa informazioni sugli utenti.\n" "Il file utmp sarà %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "non è stato indicato alcun nome utente; quando si usa -l bisogna indicarne\n" "almeno uno" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "«--pages=PRIMA_PAG[:ULTIMA_PAG]» argomento mancante" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "intervallo di pagine non valido %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "«-l LUNGH_PAG» numero di righe non valido: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "«-N NUMERO» numero della riga iniziale non valido: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "«-o MARGINE» offset di riga non valido: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "«-w LARGH_PAGINA» numero di caratteri non valido: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "«-W LARGH_PAGINA» numero di caratteri non valido: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "impossibile specificare il numero di colonne quando si stampa in parallelo" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "impossibile specificare sia la stampa verticale che in parallelo" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "«-%c» caratteri in più o numero non valido nell'argomento: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "larghezza della pagina troppo stretta" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "il numero della pagina iniziale %<PRIuMAX> supera il numero di pagine " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "overflow del numero di pagina" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Pagina %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Impagina o incolonna i FILE per la stampa.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIMA_PAG[:ULTIMA_PAG], --pages=PRIMA_PAG[:ULTIMA_PAG]\n" " inizia [termina] la stampa con PRIMA_[ULTIMA]_PAG " "pagina\n" " -COLONNE, --columns=COLONNE\n" " stampa in COLONNE colonne, a meno che non venga\n" " specificata l'opzione -a. Bilancia il numero\n" " di righe nelle colonne di ciascuna pagina\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across stampa le colonne orizzontalmente invece che " "verticalmente, usato con -COLONNE\n" " -c, --show-control-chars\n" " usa la notazione con l'accento circonflesso (^G) e la\n" " notazione ottale con il backslash\n" " -d, --double-space\n" " raddoppia l'interlinea nell'output\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMATO\n" " usa FORMATO per l'intestazione della data\n" " -e[CAR[LARGH]], --expand-tabs[=CAR[LARGH]]\n" " espande i CAR (TAB) in input in tabulatori di larghezza " "LARGH (8)\n" " -F, -f, --form-feed\n" " usa i caratteri di avanzamento di pagina invece dei " "ritorno a\n" " capo per separare le pagine (con una intestazione di\n" " pagina di 3 righe con -F oppure con una intestazione di " "5 righe\n" " e trailer senza -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=INTESTAZIONE\n" " usa un'INTESTAZIONE centrata invece del nome del file " "nell'intestazione,\n" " -h \"\" stampa una riga vuota, non usare -h\"\"\n" " -i[CAR[LARGH]], --output-tabs[=CAR[LARGH]]\n" " sostituisce gli spazi con CAR (TAB) alla LARGHezza dei " "tabulatori (8)\n" " -J, --join-lines unisce righe complete, disattiva il troncamento della " "riga -W,\n" " non allinea le colonne, --sep-string[=STRINGA] imposta i " "separatori\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=LUNGH_PAG\n" " imposta la lunghezza della pagina a LUNGH_PAG (66) " "righe\n" " (numero predefinito di righe di testo 56, e con -F 63)\n" " -m, --merge stampa tutti i file in parallelo, uno in ciascuna " "colonna,\n" " tronca le righe, ma unisce le righe di lunghezza piena " "con -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[NUM]], --number-lines[=SEP[NUM]]\n" " numera le righe, usa NUM (5) cifre, poi SEP (TAB),\n" " il valore predefinito nella numerazione inizia con la " "prima riga del file in input\n" " -N, --first-line-number=NUMERO\n" " inizia la numerazione con NUMERO alla prima riga della " "prima\n" " pagina stampata (consultare +FIRST_PAGE)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGINE\n" " sposta ogni riga di MARGINE (zero) spazi, non\n" " influenza -w o -W, MARGINE sarà sommato a LARGH_PAG\n" " -r, --no-file-warnings\n" " omette l'avviso quando un file non può essere aperto\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CAR],--separator[=CAR]\n" " separa le colonne con un singolo carattere, quello\n" " predefinito è il «TAB» senza -w, e «carattere vuoto» con " "-w\n" " -s[CAR] disattiva l'interruzione di riga per le tre " "opzioni\n" " di colonna (-COLONNA|-a -COLONNA|-m), a meno che sia " "impostato -w\n" # (ndt) messa la minuscola dopo i : per uniformità #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SSTRINGA, --sep-string[=STRINGA]\n" " separa le colonne con STRINGA,\n" " senza -S: separatore predefinito «TAB» con -J e " "«spazio»\n" " altrimenti (lo stesso di -S\" \"), nessun effetto sulle " "opzioni delle colonne\n" " -t, --omit-header omette intestazioni e piè di pagina\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " omette intestazioni e piè di pagina, elimina qualsiasi " "impaginazione\n" " dai caratteri di avanzamento pagina impostati nei file " "in input\n" " -v, --show-nonprinting\n" " usa la notazione ottale per il backslash\n" " -w, --width=LARGH_PAG\n" " imposta la larghezza della pagina a LARGH_PAG (72) " "caratteri solo per\n" " output multipli testo-colonna, -s[char] la disattiva " "(72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=LARGH_PAG\n" " imposta la larghezza della pagina sempre su LARGH_PAG " "(72)\n" " caratteri, tronca le righe, a meno che sia impostata " "l'opzione -J,\n" " non interferisce con -S o -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t è implicito se LUNGH_PAG <= 10. Senza FILE, o quando FILE è -, legge\n" "lo standard input.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Uso: %s [OPZIONE]... [VARIABILE]...\n" "Stampa il valore di ogni VARIABILE di ambiente specificata.\n" "Se non è specificata alcuna VARIABILE, stampa tutte le coppie nome/valore.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null termina ogni riga con il byte 0 invece del ritorno a capo\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "attenzione: %s: i caratteri che seguono la costante carattere sono stati " "ignorati" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s FORMATO [ARGOMENTO]...\n" " o: %s OPZIONE\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Stampa gli ARGOMENTI secondo il FORMATO, o esegue secondo OPZIONE:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMATO controlla l'output come in printf del C. Le sequenze interpretate " "sono:\n" "\n" " \\\" virgolette doppie\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN byte il cui valore ottale è NNN (da 1 a 3 cifre)\n" " \\xHH byte il cui valore esadecimale è HH (1 o 2 cifre)\n" " \\uHHHH carattere Unicode (ISO/IEC 10646) il cui valore esadecimale è " "HHHH (4 cifre)\n" " \\UHHHHHHHH carattere Unicode il cui valore esadecimale è HHHHHHHH (8 " "cifre)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% un unico %\n" " %b ARGOMENTO è una stringa con le sequenze di escape \"\\\" " "interpretate,\n" " tranne le sequenze di escape ottali che sono della forma \\0 o " "\\0NNN\n" "\n" "e tutte le specifiche di formato C che finiscono con uno dei caratteri\n" "diouxXfeEgGcs, con gli ARGOMENTI convertiti prima nel tipo appropriato.\n" "Sono gestite le dimensioni variabili.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: atteso un valore numerico" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valore non completamente convertito" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "manca il numero esadecimale nella sequenza di escape" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "nome del carattere universale \\%c%0*x non valido" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "larghezza del campo non valida: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "precisione non valida: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: specificatore di conversione non valido" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" "attenzione: gli argomenti in eccesso sono stati ignorati, a partire da %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (per regexp %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Uso: %s [OPZIONE]... [INPUT]... (senza -G)\n" " o: %s -G [OPZIONE]... [INPUT [OUTPUT]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Restituisce un indice permutato, incluso il contesto, delle parole nei file " "di input.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference stampa i riferimenti generati " "automaticamente\n" " -G, --traditional si comporta come il «ptx di System V»\n" " -F, --flag-truncation=STRINGA usa STRINGA per indicare il troncamento di " "riga\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRINGA nome della macro da usare invece di «xx»\n" " -O, --format=roff genera l'output come direttive roff\n" " -R, --right-side-refs mette i riferimenti a destra, non contati " "in -w\n" " -S, --sentence-regexp=REGEXP per fine riga o fine frase\n" " -T, --format=tex genera l'output come direttive TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP usa REGEXP per trovare ogni parola chiave\n" " -b, --break-file=FILE caratteri di separazione delle parole in " "questo FILE\n" " -f, --ignore-case cambia minuscole in maiuscole per " "l'ordinamento\n" " -g, --gap-size=NUMERO dimensione dello spazio fra le colonne tra " "i campi in output\n" " -i, --ignore-file=FILE legge l'elenco delle parole da ignorare da " "FILE\n" " -o, --only-file=FILE legge l'elenco delle parole da considerare " "da questo FILE\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references il primo campo di ciascuna riga è un " "riferimento\n" " -t, --typeset-mode (non implementato)\n" " -w, --width=NUMERO stampa la larghezza in colonne, esclusi i " "riferimenti\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Se FILE non è specificato o se FILE è -, legge lo standard input. «-F /» è " "il predefinito.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "larghezza dello spazio non valida: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Stampa il nome del file completo della directory di lavoro corrente.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical usa PWD dall'ambiente, anche se contiene collegamenti " "simbolici\n" " -P, --physical evita tutti i collegamenti simbolici\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "cambio della directory in %s non riuscito" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "stat di %s non riuscito" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "impossibile trovare la directory in %s con l'i-node corrispondente" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "gli argomenti che non sono opzioni sono stati ignorati" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Uso: %s [OPZIONE]... FILE...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Stampa il valore del collegamento simbolico o il nome canonico del file\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize mette in forma canonica seguendo ogni " "collegamento simbolico\n" " ricorsivamente su ogni componente del nome " "dato;\n" " tranne l'ultimo componente, tutti devono " "esistere\n" " -e, --canonicalize-existing mette in forma canonica seguendo ogni " "collegamento simbolico\n" " ricorsivamente su ogni componente del nome " "dato;\n" " tutti i componenti devono esistere\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing mette in forma canonica seguendo ogni " "collegamento simbolico\n" " ricorsivamente su ogni componente del nome " "dato,\n" " senza requisiti sull'esistenza dei " "componenti\n" " -n, --no-newline non stampa il ritorno a capo finale\n" " -q, --quiet,\n" " -s, --silent elimina la maggior parte dei messaggi di " "errore\n" " -v, --verbose riporta i messaggi di errore\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "gli argomenti che non sono opzioni sono stati ignorati" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: entrare nella directory protetta dalla scrittura %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: entrare nella directory %s? " # (ndt) va bene per i file (maschile) ma per le directory "rm: rimuovere il directory protetto dalla scrittura `pippo'?" - Giorgio #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: rimuovere il %s protetto dalla scrittura %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: rimuovere %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "directory rimossa: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "impossibile rimuovere la directory: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "saltato %s, dato che è su un dispositivo diverso" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "traversamento non riuscito: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "fallimento non atteso: fts_info=%d: %s\n" "segnalare a %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Usare «%s ./%s» per rimuovere il file %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Rimuove (con unlink) i FILE.\n" "\n" " -f, --force ignora file non esistenti, non chiede mai conferma\n" " -i chiede conferma prima di ogni rimozione\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I chiede una volta prima di rimuovere più di tre file, " "o\n" " quando rimuove ricorsivamente. Meno intrusivo di -" "i,\n" " ma fornisce ancora protezione contro la maggior " "parte degli errori\n" " --interactive[=QUANDO] chiede secondo QUANDO: mai, una volta (-I), o\n" " sempre (-i). Senza QUANDO, chiede sempre\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system quando rimuove ricorsivamente una gerarchia, salta " "ogni\n" " directory che è su un file system differente da " "quello\n" " indicato dall'argomento corrispondente della riga " "di comando\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root non tratta \"/\" in modo speciale\n" " --preserve-root non rimuove \"/\" (predefinito)\n" " -r, -R, --recursive rimuove ricorsivamente le directory e i loro " "contenuti\n" " -v, --verbose spiega cosa sta facendo\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "In modo predefinito, rm non rimuove le directory. Usare l'opzione --" "recursive\n" "(-r o -R) per rimuovere ogni directory elencata, insieme ai suoi contenuti.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Per rimuovere un file il cui nome inizia con \"-\", per esempio «-foo»,\n" "usare uno di questi comandi:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Notare che se si usa rm per rimuovere un file, potrebbe essere possibile " "recuperare\n" "parte del suo contenuto, avendo sufficiente esperienza e tempo. Per avere " "maggiori garanzie\n" "che il contenuto sia veramente irrecuperabile, si valuti l'uso di shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: rimuovere ricorsivamente tutti gli argomenti? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: rimuovere tutti gli argomenti? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "rimozione della directory, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "rimozione della directory %s non riuscita" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Rimuove le DIRECTORY, se vuote.\n" "\n" " --ignore-fail-on-non-empty\n" " ignora ogni errore causato dal solo fatto che la " "directory\n" " non è vuota\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents rimuove la DIRECTORY e i suoi ascendenti; per esempio,\n" " «rmdir -p a/b/c» è simile a «rmdir a/b/c a/b a».\n" " -v, --verbose mostra un diagnostico per ogni directory elaborata\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "rimozione di %s non riuscita" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Uso: %s CONTESTO COMANDO [argomenti]\n" " o: %s [ -c ] [-u UTENTE] [-r RUOLO] [-t TIPO] [-l INTERVALLO] COMANDO " "[argomenti]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Esegue un programma in un contesto di sicurezza diverso.\n" "Senza CONTESTO o COMANDO, stampa il contesto di sicurezza corrente.\n" "\n" " CONTESTO Contesto di sicurezza completo\n" " -c, --compute calcola il contesto del processo di transizione prima " "di modificare\n" " -t, --type=TIPO tipo (per lo stesso ruolo del genitore)\n" " -u, --user=UTENTE identità utente\n" " -r, --role=RUOLO ruolo\n" " -l, --range=INTERVALLO intervallo del livello\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "ruoli multipli" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "tipi multipli" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "utenti multipli" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "levelrange multipli" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "recupero del contesto corrente non riuscito" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "deve essere specificato -c, -t, -u, -l, -r, o il contesto" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nessun comando specificato" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s può essere usato solo su un kernel SElinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "calcolo di un nuovo contesto non riuscito" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "impostazione del nuovo utente %s non riuscita" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "impostazione del nuovo tipo %s non riuscita" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "impostazione del nuovo intervallo %s non riuscita" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "impostazione del nuovo ruolo %s non riuscita" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "impossibile impostare il contesto di sicurezza %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Uso: %s [OPZIONE]... ULTIMO\n" " o: %s [OPZIONE]... PRIMO ULTIMO\n" " o: %s [OPZIONE]... PRIMO INCREMENTO ULTIMO\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Stampa i numeri da PRIMO a ULTIMO, in passi di INCREMENTO.\n" "\n" " -f, --format=FORMATO usa il FORMATO in virgola mobile in stile printf\n" " -s, --separator=STRINGA usa STRINGA per separare i numeri (predefinito: " "\\n)\n" " -w, --equal-width rende uguale la larghezza riempiendo con zeri " "iniziali\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Se PRIMO o INCREMENTO sono omessi, il valore predefinito è 1. Cioè, se\n" "INCREMENTO è omesso, è predefinito a 1 anche se ULTIMO è più piccolo di " "PRIMO.\n" "PRIMO, ULTIMO e INCREMENTO sono interpretati come valori in virgola mobile.\n" "INCREMENTO è normalmente positivo se PRIMO è minore di ULTIMO, e\n" "INCREMENTO è normalmente negativo se PRIMO è maggiore di ULTIMO.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMATO deve essere adatto a stampare un argomento di tipo \"double\";\n" "è predefinito a %.PRECf se PRIMO, INCREMENTO e ULTIMO sono tutti numeri\n" "decimali a virgola fissa con la precisione massima PREC, altrimenti a %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argomento in virgola mobile non valido: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "il formato %s ha una direttiva %%%c sconosciuta" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "la stringa di formato non può essere specificata quando si stampano " "stringhe\n" "di larghezza uguale" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s [OPZIONE-CORTA]... UTENTE COMANDO [ARGOMENTO]...\n" " o: %s OPZIONE-LUNGA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Scarta ogni gruppo supplementare, assume l'id utente e di gruppo dell'UTENTE " "specificato\n" "(id numerico o nome utente), ed esegue COMANDO con ciascun ARGOMENTO " "specificato.\n" "Esce con lo stato 111 se incapace di assumere gli id utente e di gruppo " "richiesti.\n" "Altrimenti, esce con lo stato di uscita di COMANDO.\n" "Questo programma è utile solo se eseguito da root (id utente zero).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] imposta anche l'id di gruppo primario come il numero " "GID, e\n" " (se specificati) gli ID dei gruppi supplementari come " "GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "id utente sconosciuto: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "per usare l'id utente %s bisogna usare anche -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "impostazione del gruppo supplementare non riuscita" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "impossibile impostare l'id di gruppo a %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "impossibile impostare l'id utente a %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Sovrascrive ripetutamente i FILE specificati in modo da rendere più " "difficile\n" "recuperare i dati anche con indagini hardware molto costose.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force se necessario cambia i permessi per permettere la " "scrittura\n" " -n, --iterations=N sovrascrive N volte invece che le %d predefinite\n" " --random-source=FILE prende i byte casuali da FILE\n" " -s, --size=N distrugge solo N byte (sono accettati suffissi come K, M e " "G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove tronca e rimuove il file dopo la sovrascrittura\n" " -v, --verbose indica il progresso\n" " -x, --exact non arrotonda le dimensioni del file fino all'intero " "blocco\n" " (predefinito per i file non regolari)\n" " -z, --zero aggiunge una sovrascrittura finale con zeri per nascondere\n" " la distruzione\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Se FILE è -, distrugge lo standard output.\n" "\n" "Elimina i file solo se è specificato --remove (-u). È predefinito non farlo\n" "perché è normale operare su file di dispositivi come /dev/hda, che " "normalmente non\n" "devono essere rimossi. Quando si opera su file regolari, la maggior parte " "delle\n" "persone usano l'opzione --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "ATTENZIONE: ricordare che shred si basa su un importante presupposto, cioè\n" "che il file system sovrascriva i dati dove stanno. Questo è il metodo\n" "tradizionale, ma molti file system moderni non soddisfano questa ipotesi.\n" "Questi sono esempi di file system su cui shred non ha effetto o non è\n" "garantito che sia efficace:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* file system con logging o journaling come quelli forniti con AIX e " "Solaris\n" " (e JFS, ReiserFS, XFS, ext3, ecc...)\n" "\n" "* file system che scrivono dati ridondanti e continuano a scrivere anche se\n" " alcune scritture falliscono, come i file system basati su RAID\n" "\n" "* file system che fanno snapshot, come quello dei server NFS di Network\n" " Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* file system che conservano la cache in posizioni temporanee, come i\n" "client NFS versione 3\n" "\n" "* file system compressi\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Nel caso di file system ext3, la liberatoria precedente si applica\n" "(e shred ha così un'efficacia limitata) solo nel modo data=journal,\n" "che effettua il journaling dei dati dei file in aggiunta ai soli metadati. " "In entrambi i\n" "modi data=ordered (predefinito) e data=writeback, shred lavora come al " "solito.\n" "I modi di journaling di ext3 possono essere cambiati aggiungendo l'opzione " "data=qualcosa\n" "alle opzioni di mount per un particolare file system nel file /etc/fstab,\n" "come documentato nella pagina del manuale di mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Inoltre, i backup dei file system e i mirror remoti possono contenere copie\n" "del file impossibili da rimuovere e che permetterebbero di recuperare un\n" "file distrutto.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync non riuscito" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync non riuscito" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: impossibile riavvolgere" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: passo %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: errore di scrittura all'offset %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek non riuscito" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: file troppo grande" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: passo %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: passo %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat non riuscito" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tipo di file non valido" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: il file ha dimensioni negative" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: errore durante il troncamento" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl non riuscito" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: impossibile distruggere un descrittore di file append only" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: rimozione" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: rinominato in %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: rimozione non riuscita" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: rimosso" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: chiusura non riuscita" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: apertura per la scrittura non riuscita" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: numero di passi non valido" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "sono state specificate sorgenti casuali multiple" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: dimensione del file non valida" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Uso: %s [OPZIONE]... [FILE]\n" " o: %s -e [OPZIONE]... [ARG]...\n" " o: %s -i BASSO-ALTO [OPZIONE]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Scrive una permutazione casuale delle righe di ingresso nello standard " "output.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo tratta ciascun ARG come riga di input\n" " -i, --input-range=BASSO-ALTO tratta ciascun numero da BASSO ad ALTO come " "riga di input\n" " -n, --head-count=RIGHE mostra al più RIGHE righe\n" " -o, --output=FILE scrive i risultati in FILE invece dello standard " "output\n" " --random-source=FILE prende byte casuali da FILE\n" " -z, --zero-terminated termina le righe con il byte 0, non con il " "ritorno a capo\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "specificate opzioni -i multiple" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "intervallo di input %s non valido" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "numero di riga %s non valido" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "è stato specificato più di un file di output" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "non è possibile combinare le opzioni -e e -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Uso: %s NUMERO[SUFFISSO]...\n" " o: %s OPZIONE\n" "Fa una pausa di NUMERO secondi. SUFFISSO può essere \"s\" per secondi " "(predefinito),\n" "\"m\" per minuti, \"h\" per ore o \"d\" per giorni. Diversamente dalla " "maggior parte delle\n" "implementazioni che richiedono che NUMERO sia un intero, qui può essere un\n" "numero in virgola mobile arbitrario. Con due o più argomenti, fa una pausa " "per una\n" "quantità di tempo data dalla somma dei loro valori.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "intervallo di tempo non valido: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "impossibile leggere l'orologio realtime" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Scrive una concatenazione ordinata di tutti i FILE sullo standard output.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opzioni di ordinamento:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignora gli spazi iniziali\n" " -d, --dictionary-order considera solo spazi e caratteri alfanumerici\n" " -f, --ignore-case ignora le differenze tra caratteri minuscoli e " "maiuscoli\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort confronta secondo il valore generale numerico\n" " -i, --ignore-nonprinting considera solo caratteri stampabili\n" " -M, --month-sort confronta (sconosciuto) < \"GEN\" < ... < \"DIC" "\"\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort confronta numeri in formato leggibile umano " "(es.: 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort confronta secondo il valore numerico delle " "stringhe\n" " -R, --random-sort ordina con un hash casuale di chiavi\n" " --random-source=FILE prende byte casuali da FILE\n" " -r, --reverse inverte il risultato dei confronti\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=CHIAVE ordina secondo la CHIAVE:\n" " numerico generale -g, numerico umano -h, " "mese -M,\n" " numerico -n, casuale -R, versione -V\n" " -V, --version-sort ordina naturalmente secondo i numeri (di " "versione) nel testo\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Altre opzioni:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NUM unisce al massimo NUM input contemporaneamente;\n" " per un numero maggiore usare file temporanei\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first controlla se l'input è ordinato; non " "ordina\n" " -C, --check=quiet, --check=silent come -c, ma non segnala la prima riga " "errata\n" " --compress-program=PROG comprime i file temporanei con PROG;\n" " li decomprime con PROG -d\n" # (ndt) idee su questionable??? #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug annota la parte della riga usata per ordinare\n" " e avvisa su stderr\n" " --files0-from=F legge l'input dai file specificati\n" " dai nomi nel file F (terminati con NUL);\n" " se F è -, legge i nomi dallo standard input\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=POS1[,POS2] inizia l'ordinamento da POS1 (inizia con 1) fino " "a POS2\n" " (predefinito fine riga). Consultare la sintassi " "di POS in basso\n" " -m, --merge unisce file già ordinati; non ordina\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FILE scrive i risultati in FILE invece dello standard " "output\n" " -s, --stable stabilizza sort disabilitando il confronto " "\"last-resort\"\n" " -S, --buffer-size=DIM usa DIM per il buffer della memoria principale\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP usa SEP invece delle transizioni da non spazio " "a spazio\n" " -T, --temporary-directory=DIR usa DIR per i file temporanei, non $TMPDIR " "o %s;\n" " opzioni multiple specificano directory " "multiple\n" " --parallel=N cambia il numero di esecuzioni di ordinamenti " "concorrenti a N\n" " -u, --unique con -c, controlla per un ordinamento rigido;\n" " senza -c, mostra solo il primo di una sequenza " "uguale\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated termina le righe con il byte 0, invece del " "ritorno a capo\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS equivale a F[.C][OPZ], dove F è il numero del campo e C la posizione " "del \n" "carattere nel campo; entrambi hanno origine in 1. Se sia -t che -b non sono " "attivi\n" "i caratteri nel campo vengono contati dall'inizio dello spazio bianco " "precedente.\n" "OPZ rappresenta una o più opzioni di ordinamento a lettera singola che\n" "rimpiazzano le opzioni di ordinamento globali per quella chiave. Se non\n" "è fornita alcuna chiave è usata l'intera riga come chiave.\n" "\n" "DIM può essere seguita dai seguenti suffissi moltiplicativi:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% di memoria, b 1, K 1024 (predefinito), e così via per M, G, T, P, E, Z, " "Y.\n" "\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" "*** ATTENZIONE ***\n" "Il locale specificato dall'ambiente influisce sull'ordinamento.\n" "Impostare LC_ALL=C per avere l'ordinamento tradizionale che usa\n" "i valori nativi dei byte.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "attesa di %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] terminato in modo anomalo" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "impossibile creare il file temporaneo in %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "open non riuscita" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush non riuscita" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "close non riuscita" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 non riuscita" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "impossibile eseguire %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "impossibile creare il file temporaneo" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "impossibile creare il processo per %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "impossibile eseguire %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "attenzione: impossibile rimuovere %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "l'argomento %2$s di --%1$s non è valido" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "il minimo dell'argomento --%s è %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "l'argomento %2$s di --%1$s è troppo grande" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "il massimo dell'argomento --%s con l'attuale rlimit è %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "numero in parallelo non deve essere zero" #: src/sort.c:1494 msgid "stat failed" msgstr "stat non riuscita" #: src/sort.c:1755 msgid "read failed" msgstr "read non riuscita" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "trasformazione stringa non riuscita" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "la stringa non trasformata era %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ nessuna corrispondenza per la chiave\n" #: src/sort.c:2389 #, fuzzy, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "usata la chiave obsoleta \"%s\"; considerare invece \"%s\"" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "la chiave %lu ha dimensione zero e sarà ignorata" #: src/sort.c:2406 #, fuzzy, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "gli spazi iniziali sono significativi nella chiave %lu; considerare di " "specificare anche «b»" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "la chiave %lu è numerica e si estende su più campi" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "l'opzione «-%s» è ignorata" msgstr[1] "le opzioni «-%s» sono ignorate" #: src/sort.c:2457 #, fuzzy, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "l'opzione «-r» si applica solo con il confronto \"last-resort\"" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "write non riuscita" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: fuori ordine: " #: src/sort.c:2786 msgid "standard error" msgstr "standard error" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: impossibile riavvolgere" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: specifica di campo %s non valida" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "le opzioni «-%s» sono incompatibili" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: conteggio non valido all'inizio di %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "numero non valido dopo \"-\"" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "numero non valido dopo \".\"" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "carattere estraneo nella specifica del campo" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "è stato specificato più di un programma di compressione" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "numero non valido all'inizio del campo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "il numero del campo è zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "l'offset del carattere è zero" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "numero non valido dopo \",\"" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tabulatore vuoto" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "impossibile leggere i nomi dei file da %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: nome di file di lunghezza nulla non valido" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "nessun input da %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "usate le regole di ordinamento %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "usato il confronto a singolo byte" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "operando %s in più non permesso con -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "la lunghezza del suffisso deve essere almeno %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Uso: %s [OPZIONE]... [INPUT [PREFISSO]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Trasforma l'INPUT in parti con lunghezza fissa del tipo PREFISSOaa, " "PREFISSOab, ...; la dimensione\n" "predefinita è di 1000 righe, e il PREFISSO predefinito è \"x\". Senza " "INPUT, o se INPUT\n" "è -, legge dallo standard input.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N usa suffissi di lunghezza N (predefinito %d)\n" " -b, --bytes=DIM mette DIM byte per file di output\n" " -C, --line-bytes=DIM mette al massimo DIM byte di righe per file di " "output\n" " -d, --numeric-suffixes usa suffissi numerici invece che alfabetici\n" " -e, --elide-empty-files non genera file di output vuoti con «-n»\n" " --filter=COMANDO scrive al COMANDO di shell; il nome del file è " "$FILE\n" " -l, --lines=NUMERO mette NUMERO righe per file di output\n" " -n, --number=PARTI genera PARTI file di output. Consultare in basso\n" " -u, --unbuffered copia immediatamente l'input in output con «-n " "r/...»\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose stampa una diagnostica prima\n" " dell'apertura di ciascun file di output\n" #: src/split.c:236 #, fuzzy msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "PARTI può essere:\n" "N divide in N file sulla base della dimensione in input\n" "K/N scrive sullo stdout il K-esimo di N\n" "l/N divide in N file senza dividere le righe\n" "l/K/N scrive sullo stdout il K-esimo di N senza dividere le righe\n" "r/N come \"l\" ma usa la distribuzione a turno (round robin)\n" "r/K/N similmente, ma scrive sullo stdout solo il K-esimo di N\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "i suffissi dei file di output sono esauriti" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "creazione di %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "impostazione della variabile di ambiente FILE non riuscita" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "esecuzione con FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "creazione della pipe non riuscita" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "chiusura della pipe precedente" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "chiusura della pipe di output" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "spostamento della pipe di input" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "chiusura della pipe di input" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "impossibile eseguire il comando: «%s -c %s»" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "chiusura della pipe di input non riuscita" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "in attesa del processo figlio" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "con FILE=%s, segnale %s dal comando: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "con FILE=%s, uscita %d dal comando: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "stato sconosciuto dal comando (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "impossibile suddividere in più di un modo" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: numero di parti non valido" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: numero di parte non valido" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: lunghezza del suffisso non valida" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: numero di byte non valido" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: numero di righe non valido" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "l'opzione per il conteggio delle righe -%s%c... è troppo grande" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "numero di riga iniziale non valido: %s" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: dimensione del blocco di IO non valida" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter non processa una parte estratta in stdout" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: impossibile determinare la dimensione del file" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" # (ndt) ??? #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "trasformazione di %s in forma canonica non riuscita" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "attenzione: sequenza di escape «\\%c» non riconosciuta" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: direttiva non valida" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "attenzione: backslash alla fine del formato" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "usare %s per indicare che lo standard input non lavora in modalità file " "system" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "impossibile leggere le informazioni del file system per %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "impossibile effettuare lo stat dello standard input" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " File: \"%n\"\n" " ID: %-8i Lunghezza: %-7l Tipo: %T\n" "Dim. blocco: %-10s Dim. blocco fondamentale: %S\n" "Blocchi: Totale: %-10b Lib.: %-10f Disponib.: %a\n" "Inode : Totale: %-10c Lib.: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " File: %N\n" " Dim.: %-10s\tBlocchi: %-10b Blocco di IO: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Device: %Dh/%dd\tInode: %-10i Coll.: %-5h Tipo device: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Device: %Dh/%dd\tInode: %-10i Coll.: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Accesso: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Contesto: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Accesso : %x\n" "Modifica : %y\n" "Cambio : %z\n" "Creazione: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Mostra lo stato del file o del file system.\n" "\n" " -L, --dereference segue i collegamenti\n" " -f, --file-system visualizza lo stato del file system invece di quello " "del file\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMATO usa il FORMATO specificato invece di quello " "predefinito;\n" " stampa un ritorno a capo dopo ogni uso del " "FORMATO\n" " --printf=FORMATO come --format, ma interpreta le protezioni con \"\\" "\" (backslash),\n" " e non stampa il ritorno a capo finale " "obbligatorio.\n" " Per inserire un ritorno a capo, includere \\n nel " "FORMATO\n" " -t, --terse stampa le informazioni in modo conciso\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Sequenze di formato valide per i file (senza --file-system):\n" "\n" " %a Diritti di accesso in ottale\n" " %A Diritti di accesso in formato leggibile\n" " %b Numero di blocchi allocati (consultare %B)\n" " %B La dimensione in byte di ciascun blocco riportata da %b\n" " %C Stringa del contesto di sicurezza SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Numero del device in decimale\n" " %D Numero del device in esadecimale\n" " %f Modo grezzo in esadecimale\n" " %F Tipo di file\n" " %g Id del gruppo del proprietario\n" " %G Nome del gruppo del proprietario\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Numero di collegamenti fisici\n" " %i Numero dell'inode\n" " %m Punto di montaggio\n" " %n Nome del file\n" " %N Nome del file protetto e dereferenziato se è un collegamento " "simbolico\n" " %o Dimensioni del blocco di IO\n" " %s Dimensioni totali, in byte\n" " %t Major number del device in esadecimale\n" " %T Minor number del device in esadecimale\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u Id utente del proprietario\n" " %U Nome utente del proprietario\n" " %w Orario della creazione in formato leggibile; - se sconosciuto\n" " %W Orario della creazione in secondi dall'Epoca; 0 se sconosciuto\n" " %x Orario dell'ultimo accesso in formato leggibile\n" " %X Orario dell'ultimo accesso in secondi dall'Epoca\n" " %y Orario dell'ultima modifica in formato leggibile\n" " %Y Orario dell'ultima modifica in secondi dall'Epoca\n" " %z Orario dell'ultimo cambiamento in formato leggibile\n" " %Z Orario dell'ultimo cambiamento in secondi dall'Epoca\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Sequenze di formato valide per i filesystem:\n" "\n" " %a Blocchi liberi disponibili ai non amministratori\n" " %b Numero totale di blocchi di dati nel file system\n" " %c Numero totale di inode nel file system\n" " %d Numero di inode liberi nel file system\n" " %f Numero di blocchi liberi file system\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Id del file system in esadecimale\n" " %l Lunghezza massima dei nomi dei file\n" " %n Nome del file\n" " %s Dimensione dei blocchi (per trasferimenti veloci)\n" " %S Dimensione del blocco fondamentale (per il conteggio dei blocchi)\n" " %t Tipo in esadecimale\n" " %T Tipo in formato leggibile\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Uso: %s [OPZIONE]... COMANDO\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Esegue COMANDO, con operazioni di buffering modificate per i suoi flussi " "standard.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODO modifica il buffering del flusso standard input\n" " -o, --output=MODO modifica il buffering del flusso standard output\n" " -e, --error=MODO modifica il buffering del flusso standard error\n" # (ndt) - questa e la successiva leggermente girata per evitare termini come "bufferato" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Se MODO è \"L\" verrà eseguito il buffering sul flusso corrispondente.\n" "L'opzione non è valida per lo standard input.\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Se MODE è \"0\" non sarà eseguito il buffering sul flusso corrispondente.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Altrimenti MODO è un numero che può essere seguito da uno dei seguenti " "suffissi:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, e così via per G, T, P, E, Z e " "Y.\n" "In questo caso l'operazione di buffering del flusso corrispondente verrà " "fatta con\n" "un buffer di dimensione MODO byte.\n" # (ndt) Messo minuscolo dopo i : per uniformità #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "NOTA: se COMANDO modifica il buffering dei suoi flussi standard («tee» per\n" "esempio) allora verranno ignorate le impostazioni corrispondenti cambiate da " "«stdbuf».\n" "Inoltre alcuni filtri (come «dd», «cat» etc.) non usano i flussi per l'I/O,\n" "e così non sono interessati dalle impostazioni di «stdbuf».\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "ricerca di %s non riuscita" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "aggiornamento dell'ambiente con %s non riuscito" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "il buffering di righe su stdin non ha significato" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Uso: %s [-F DEVICE] | --file=DEVICE] [IMPOSTAZIONE]...\n" " or: %s [-F DEVICE] | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE] | --file=DEVICE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Stampa o modifica le caratteristiche del terminale.\n" "\n" " -a, --all stampa tutte le impostazioni correnti in un formato\n" " comprensibile\n" " -g, --save stampa tutte le impostazioni correnti in un formato\n" " leggibile da stty\n" " -F, --file=DEVICE apre e usa il DEVICE specificato invece di stdin\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Un - opzionale prima di un'IMPOSTAZIONE indica la negazione. Un * indica le\n" "impostazioni non POSIX. Il sistema sottostante definisce quali impostazioni\n" "sono disponibili.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caratteri speciali:\n" " * dsusp CAR CAR invierà un segnale di stop del terminale dopo il flush " "dell'input\n" " eof CAR CAR invierà un fine file (termina l'input)\n" " eol CAR CAR terminerà la riga\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CAR CAR alternativo per terminare la riga\n" " erase CAR CAR cancellerà l'ultimo carattere digitato\n" " intr CAR CAR invierà un segnale di interrupt\n" " kill CAR CAR cancellerà la riga corrente\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CAR CAR inserirà il carattere successivo in modo letterale\n" " quit CAR CAR invierà un segnale di quit\n" " * rprnt CAR CAR ridisegnerà la riga corrente\n" " start CAR CAR farà ripartire l'output dopo averlo fermato\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CAR CAR fermerà l'output\n" " susp CAR CAR invierà il segnale di stop del terminale\n" " * swtch CAR CAR passerà ad un diverso livello di shell\n" " * werase CAR CAR cancellerà l'ultima parola digitata\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Impostazioni speciali:\n" " N imposta a N baud le velocità di input e output\n" " * cols N dice al kernel che il terminale ha N colonne\n" " * columns N come cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N imposta a N la velocità di input\n" "* line N usa la disciplina di linea N\n" " min N con -icanon, imposta a N il mimimo dei caratteri per una " "lettura completa\n" " ospeed N imposta a N la velocità di output\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N dice al kernel che il terminale ha N righe\n" " * size stampa il numero di righe e colonne secondo il kernel\n" " speed stampa la velocità del terminale\n" " time N con -icanon, imposta a N decimi di secondo il timeout in " "lettura\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Impostazioni di controllo:\n" "\n" " [-]clocal disabilita i segnali di controllo del modem\n" " [-]cread permette la ricezione dell'input\n" " * [-]crtscts abilita l'handshaking RTS/CTS\n" " csN imposta a N bit la dimensione dei caratteri, N tra 5 e 8\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb usa due bit di stop per carattere (uno con \"-\")\n" " [-]hup invia un signal di hangup quando l'ultimo processo chiude " "il tty\n" " [-]hupcl come [-]hup\n" " [-]parenb genera un bit di parità in output e aspetta un bit di " "parità in input\n" " [-]parodd imposta la parità dispari (pari con \"-\")\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Impostazioni dell'input:\n" "\n" " [-]brkint i break causano un segnale di interrupt\n" " [-]icrnl converte i ritorno carrello in ritorno a capo\n" " [-]ignbrk ignora i caratteri di break\n" " [-]igncr ignora i ritorno carrello\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignora i caratteri con errori di parità\n" " * [-]imaxbel fa un beep e non fa il flush su un carattere per un buffer " "di input completo\n" " [-]inlcr converte ritorno a capo in ritorno carrello\n" " [-]inpck abilita il controllo di parità sull'input\n" " [-]istrip azzera il bit più alto (l'ottavo) dei caratteri di input\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 assume che i caratteri in ingresso siano codificati UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc converte i caratteri maiuscoli in minuscoli\n" " * [-]ixany permette a qualsiasi carattere di far ripartire l'output,\n" " non solo al carattere di start\n" " [-]ixoff abilita l'invio dei caratteri di start/stop\n" " [-]ixon abilita il controllo di flusso XON/XOFF\n" " [-]parmrk indica gli errori di parità (con una sequenza 255-0-" "carattere)\n" " [-]tandem come [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Impostazioni dell'output:\n" " * bsN stile del ritardo di backspace, N in [0..1]\n" " * crN stile del ritardo del ritorno carrello, N in [0..3]\n" " * ffN stile del ritardo dell'avanzamento pagina, N in [0..1]\n" " * nlN stile del ritardo del ritorno a capo, N in [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl converte ritorno carrello in ritorno a capo\n" " * [-]ofdel usa per il riempimento caratteri di delete invece di null\n" " * [-]ofill usa caratteri di riempimento (padding) invece di\n" " temporizzazioni per i ritardi\n" " * [-]olcuc converte i caratteri minuscoli in maiuscoli\n" " * [-]onlcr converte ritorno a capo in ritorno carrello-ritorno a capo\n" " * [-]onlret ritorno a capo esegue un ritorno carrello\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr non stampa i ritorno carrello nella prima colonna\n" " [-]opost postprocessa l'output\n" " * tabN stile del ritardo del tabulatore orizzontale, N in [0..3]\n" " * tabs come tab0\n" " * -tabs come tab3\n" " * vtN stile del ritardo del tabulatore verticale, N in [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Impostazioni locali:\n" " [-]crterase fa l'echo dei caratteri di erase come\n" " backspace-spazio-backspace\n" " * crtkill cancella tutte le righe obbedendo alle impostazioni\n" " echoprt e echoe\n" " * -crtkill cancella tutte le righe obbedendo alle impostazioni\n" " echoctl e echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho fa l'echo dei caratteri di controllo nella notazione \"^c" "\"\n" " [-]echo fa l'echo dei caratteri in input\n" " * [-]echoctl come [-]ctlecho\n" " [-]echoe come [-]crterase\n" " [-]echok fa l'echo di un ritorno a capo dopo un carattere di kill\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke come [-]crtkill\n" " [-]echonl fa l'echo di un ritorno a capo anche se non fa l'echo degli " "altri caratteri\n" " * [-]echoprt fa l'echo al contrario dei caratteri cancellati, tra \"\\\" " "e \"/\"\n" " [-]icanon abilita i caratteri speciali erase, kill, werase, e rprnt\n" " [-]iexten abilita i caratteri speciali non POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig abilita i caratteri speciali interrupt, quit, e suspend\n" " [-]noflsh disabilita il flushing dopo i caratteri speciali di " "interrupt e quit\n" " * [-]prterase come [-]echoprt\n" " * [-]tostop ferma i processi in background che provano a scrivere sul " "terminale\n" " * [-]xcase con icanon, fa l'escape con \"\\\" per i caratteri " "maiuscoli\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Impostazioni combinazione:\n" " * [-]LCASE come [-]lcase\n" " cbreak come -icanon\n" " -cbreak come icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked come brkint ignpar istrip icrnl ixon opost isig\n" " icanon, i caratteri eof e eol ai loro valori predefiniti\n" " -cooked come raw\n" " crt come echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec come echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq come [-]ixany\n" " ek caratteri di erase e kill ai loro valori predefiniti\n" " evenp come parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp come -parenb cs8\n" " * [-]lcase come xcase iuclc olcuc\n" " litout come -parenb -istrip -opost cs8\n" " -litout come parenb istrip opost cs7\n" " nl come -icrnl -onlcr\n" " -nl come icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp come parenb parodd cs7\n" " -oddp come -parenb cs8\n" " [-]parity come [-]evenp\n" " pass8 come -parenb -istrip cs8\n" " -pass8 come parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw come -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw come cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane come cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, tutti i caratteri\n" " speciali ai loro valori predefiniti\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Gestisce la linea tty connessa allo standard input. Senza argomenti stampa\n" "il baud rate, la disciplina di linea e le differenze da stty sane. Nelle\n" "impostazioni, CAR è preso letteralmente o codificato come in ^c, 0x37, 0177\n" "o 127; i valori speciali ^- o undef sono usati per disabilitare i caratteri\n" "speciali.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "può essere specificato un solo dispositivo" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "le opzioni per gli stili dell'output \"verbose\" e \"stty-readable\" sono " "mutualmente esclusive" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" "quando si specifica uno stile dell'output, non si possono impostare i modi" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: impossibile azzerare il modo non bloccante" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argomento %s non valido" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "manca l'argomento per %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "disciplina di riga non valida %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: impossibile eseguire tutte le operazioni richieste" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: non ci sono informazioni sulle dimensioni di questo dispositivo" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argomento intero %s non valido" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Stampa il codice di controllo e il numero dei blocchi per ogni FILE.\n" "\n" " -r usa l'algoritmo di somma BSD, usa blocchi da 1K\n" " -s, --sysv usa l'algoritmo di somma System V, usa blocchi da 512 " "byte\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Forza la scrittura su disco dei blocchi cambiati, aggiorna il super block.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorati tutti gli argomenti" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NOTA: la shell può avere la sua versione di %s che di solito sostituisce\n" "la versione descritta qui. Fare riferimento alla documentazione della shell\n" "per i dettagli sulle opzioni supportate.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help mostra questo aiuto ed esce\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version stampa le informazioni sulla versione ed esce\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " "brevi.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "I valori mostrati sono nelle unità della prima DIMensione disponibile da --" "block-size,\n" "e dalle variabili di ambiente %s_BLOCK_SIZE, BLOCK_SIZE e BLOCKSIZE.\n" "Altrimenti, le unità sono predefinite a 1024 byte (o 512 se è impostata " "POSIXLY_CORRECT).\n" # (ndt) - aggiunte le <> per uniformità alle successive #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Segnalare i bug di %s a <%s>\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Segnalare i bug di traduzione di %s a <tp@lists.linux.it>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Per la documentazione completa, eseguire: info coreutils \"%s invocation\"\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Usare «%s --help» per ulteriori informazioni.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ATTENZIONE: struttura di directory circolare.\n" "Questo significa quasi sicuramente che il file system è danneggiato.\n" "INFORMARE L'AMMINISTRATORE DI SISTEMA.\n" "La seguente directory è parte del ciclo:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scrive ogni FILE nello standard output, dall'ultima riga alla prima.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before aggiunge il separatore prima anziché dopo\n" " -r, --regex interpreta il separatore come espressione " "regolare\n" " -s, --separator=STRINGA utilizza STRINGA come separatore anziché il " "carattere di ritorno a capo\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: seek non riuscito" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "record troppo grande" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "impossibile creare il file temporaneo in %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: apertura per la scrittura non riuscita" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "impossibile preservare gli orari di %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: errore di scrittura" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "impossibile aprire %s per la lettura" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "il separatore non può essere vuoto" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Stampa le ultime %d righe di ogni FILE sullo standard output.\n" "Con più di un FILE, ciascuno viene preceduto da un'intestazione che riporta " "il nome del file.\n" "Con nessun FILE, o quando il FILE è -, legge lo standard input.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K stampa gli ultimi K byte; alternativamente, usare " "-c +K per\n" " stampare i byte che iniziano con il K-esimo di " "ciascun file\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " aggiunge dati di output man mano che il file " "cresce;\n" " -f, --follow, e --follow=descriptor sono\n" " equivalenti\n" " -F lo stesso di --follow=name --retry\n" # (ndt) ho tolto il punto finale in -max-unchanged-stats per uniformità #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K stampa le ultime K righe, invece delle ultime %d\n" " o usa -n +K per stampare le righe dalla K-esima\n" " --max-unchanged-stats=N\n" " con --follow=nome, riapre un FILE che non ha\n" " cambiato dimensione dopo N iterazioni " "(predefinite %d)\n" " per vedere se è stato rimosso o rinominato\n" " (questo è il caso normale dei file di log che " "ruotano).\n" " Con inotify, questa opzione è raramente utile\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID con -f, termina dopo che termina il processo PID\n" " -q, --quiet, --silent non stampa mai le intestazioni fornendo i nomi " "dei file\n" " --retry continua a provare ad aprire un file anche se è\n" " inaccessibile o lo diventa;\n" " utile se seguito da un nome, cioè con --" "follow=nome\n" # (ndt) ho tolto il punto finale in -s per uniformità #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N con -f, si ferma per circa N secondi\n" " (predefinito 1.0) tra le iterazioni.\n" " Con inotify e --pid=P, controlla il processo P\n" " almeno una volta ogni N secondi\n" " -v, --verbose stampa sempre le intestazioni fornendo i nomi dei " "file\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Se il primo carattere di K (il numero di byte o righe) è un \"+\",\n" "stampa iniziando con il K-esimo elemento dall'inizio di ciascun file, " "altrimenti\n" "stampa gli ultimi K elementi nel file. K può avere un suffisso " "moltiplicativo:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e così via per T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Con --follow (-f), tail è predefinito a seguire il descrittore del file, " "che\n" "significa che anche se un file passato come argomento a tail è rinominato, " "tail\n" "continuerà a seguire la sua fine. Questo comportamento predefinito non è\n" "auspicabile quando si vuole tracciare il nome effettivo del file e non il\n" "descrittore dello stesso (es. rotazione dei log). Usare --follow=nome in " "questo\n" "caso. Questo fa in modo che tail segua il file nominato in un modo che tenga " "conto\n" "di operazione di rinomina, rimozione e creazione.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "chiusura di %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: impossibile posizionarsi all'offset relativo %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: impossibile posizionarsi all'offset %s relativo alla fine" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "impossibile determinare la posizione di %s, ritorno al polling" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s è diventato inaccessibile" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s è stato sostituito con un file su cui non è possibile eseguire tail; " "operazione annullata per questo nome" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s è stato sostituito con un file remoto; operazione annullata per questo " "nome" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s è divenuto accessibile" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s è comparso; si sta seguendo la fine del nuovo file" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s è stato sostituito; si sta seguendo la fine del nuovo file" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: impossibile cambiare il modo non bloccante" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: file troncato" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nessun file rimasto" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "impossibile controllare la directory padre di %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "risorse inotify esaurite" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "impossibile controllare %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "errore monitorando l'evento inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "errore leggendo l'evento inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: non si può continuare fino alla fine di questo tipo di file; " "elaborazione terminata per questo nome" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "il numero in %s è troppo grande" # (ndt) sono esecuzioni ripetute della chiamata _stat_, non stati - Giorgio #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: numero massimo di stat non cambiate tra le aperture non valido" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID non valido" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: numero di secondi non valido" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opzione usata in un contesto non valido -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "attenzione: --retry è utile principalmente se seguito da un nome" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "attenzione: PID ignorato; --pid=PID è utile solo seguendo" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "attenzione: --pid=PID non è supportato su questo sistema" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "impossibile seguire %s per nome" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" "attenzione: seguire lo standard input in modo indefinito non è efficace" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify non può essere usato, ritorno al polling" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copia lo standard input in ogni FILE e anche sullo standard output.\n" "\n" " -a, --append accoda ai FILE specificati, non sovrascrive\n" " -i, --ignore-interrupts ignora i segnali di interrupt\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Se un FILE corrisponde a -, effettua una nuova copia sullo standard output.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "manca l'argomento dopo %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "intero non valido %s" #: src/test.c:241 msgid "')' expected" msgstr "atteso \")\"" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "atteso \")\", trovato %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: atteso un operatore unario" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt non accetta -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef non accetta -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot non accetta -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operatore binario sconosciuto" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: atteso un operatore binario" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Uso: test ESPRESSIONE\n" " o: test\n" " o: [ ESPRESSIONE ]\n" " o: [ ]\n" " o: [ OPZIONE\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Esce con lo stato determinato dall'ESPRESSIONE.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Un'ESPRESSIONE omessa restituisce falso. Altrimenti,\n" "ESPRESSIONE è vera o falsa e imposta lo stato d'uscita. È uno tra:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( ESPRESSIONE ) ESPRESSIONE è vera\n" " ! ESPRESSIONE ESPRESSIONE è falsa\n" " ESPRESSIONE1 -a ESPRESSIONE2 sia ESPRESSIONE1 che ESPRESSIONE2 sono vere\n" " ESPRESSIONE1 -o ESPRESSIONE2 o ESPRESSIONE1 o ESPRESSIONE2 è vera\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRINGA la lunghezza di STRINGA non è zero\n" " STRINGA equivale a -n STRINGA\n" " -z STRINGA la lunghezza di STRINGA è zero\n" " STRINGA1 = STRINGA2 le stringhe sono uguali\n" " STRINGA1 != STRINGA2 le stringhe sono diverse\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTERO1 -eq INTERO2 INTERO1 è uguale INTERO2\n" " INTERO1 -ge INTERO2 INTERO1 è maggiore o uguale a INTERO2\n" " INTERO1 -gt INTERO2 INTERO1 è maggiore di INTERO2\n" " INTERO1 -le INTERO2 INTERO1 è minore o uguale a INTERO2\n" " INTERO1 -lt INTERO2 INTERO1 è minore di INTERO2\n" " INTERO1 -ne INTERO2 INTERO1 non è uguale a INTERO2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FILE1 -ef FILE2 FILE1 e FILE2 hanno gli stessi numeri di device e di " "inode\n" " FILE1 -nt FILE2 FILE1 è più nuovo (data di modifica) di FILE2\n" " FILE1 -ot FILE2 FILE1 è più vecchio di FILE2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FILE FILE esiste ed è speciale a blocchi\n" " -c FILE FILE esiste ed è speciale a caratteri\n" " -d FILE FILE esiste ed è una directory\n" " -e FILE FILE esiste\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FILE FILE esiste ed è un file regolare\n" " -g FILE FILE esiste ed è set-group-ID\n" " -G FILE FILE esiste ed è posseduto dall'id di gruppo efficace\n" " -h FILE FILE esiste ed è un collegamento simbolico (come -L)\n" " -k FILE FILE esiste ed ha il suo sticky bit impostato\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FILE FILE esiste ed è un collegamento simbolico (come -h)\n" " -O FILE FILE esiste ed è posseduto dall'id utente efficace\n" " -p FILE FILE esiste ed è una pipe con nome\n" " -r FILE FILE esiste ed è leggibile\n" " -s FILE FILE esiste ed ha dimensione maggiore di zero\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FILE FILE esiste ed è un socket\n" " -t [FD] il file descriptor FD è aperto su un terminale\n" " -u FILE FILE esiste ed ha il proprio bit set-user-ID impostato\n" " -w FILE FILE esiste ed è scrivibile\n" " -x FILE FILE esiste ed è eseguibile o ricercabile\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Eccetto che per -h e -L, tutte le operazioni sui FILE seguono i collegamenti " "simbolici\n" "Si noti che le parentesi hanno bisogno di essere protette (p.es. con " "backslash) dalla shell.\n" "INTERO può anche essere -l STRINGA, che è assume la lunghezza di STRINGA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NOTA: [ gestisce le opzioni --help e --version, ma test no.\n" "test le gestisce come se trattasse qualsiasi altra STRINGA non vuota.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test o [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "manca un \"]\"" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argomento %s in più" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "attenzione: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "attenzione: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "attenzione: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s [OPZIONE] DURATA COMANDO [ARG]...\n" " o: %s [OPZIONE]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Avvia COMANDO e lo uccide se è ancora in esecuzione dopo DURATA.\n" "\n" "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " "brevi.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " Quando non si esegue timeout direttamente dalla riga di " "comando,\n" " permette a COMANDO di leggere e ricevere segnali dalla " "TTY.\n" " In questo modo, i figli di COMANDO non saranno terminati " "alla scadenza.\n" " -k, --kill-after=DURATA\n" " invia anche il segnale KILL se COMANDO è ancora in " "esecuzione\n" " questo tempo dopo che il segnale iniziale è stato inviato.\n" " -s, --signal=SEGNALE\n" " specifica il segnale da inviare alla scadenza del tempo.\n" " SEGNALE può essere un nome come \"HUP\" o un numero.\n" " Consultare «kill -l» per l'elenco dei segnali\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DURATA è un numero in virgola mobile con un suffisso opzionale:\n" "\"s\" per secondi (predefinito), \"m\" per minuti, \"h\" per ore o \"d\" per " "giorni.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Se scade il tempo del comando, allora esce con lo stato 124,\n" "altrimenti esce con lo stato di COMANDO. Se non è specificato alcun " "segnale,\n" "è inviato il segnale TERM. Il segnale TERM uccide ogni processo che non\n" "blocca o cattura questo segnale. Per altri processi, può essere necessario\n" "usare il segnale KILL (9), dato che questo segnale non può essere " "catturato.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "attenzione: disabilitazione dei dump di core non riuscita" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "errore aspettando il comando" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "formato di data %s non valido" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "impossibile fare touch di %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "impostazione degli orari di %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Aggiorna gli orari di accesso e modifica di ogni FILE a quello attuale.\n" "\n" "Se un argomento FILE non esiste viene creato vuoto, a meno che non sia dato -" "c o -h.\n" "\n" "Un argomento FILE come \"-\" è trattato in modo speciale e forza touch a\n" "cambiare gli orari del file associato allo standard output.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a cambia solo l'orario di accesso\n" " -c, --no-create non crea alcun file\n" " -d, --date=STRINGA usa STRINGA invece che l'orario attuale\n" " -f (ignorato)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference agisce sui collegamenti simbolici invece che sui\n" " file a cui si riferiscono (utile solo sui sistemi " "che\n" " possono cambiare la data di un collegamento\n" " simbolico)\n" " -m cambia solo l'orario di modifica\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FILE usa l'orario di questo file invece di quello " "attuale\n" " -t ORA usa [[CC]YY]MMDDhhmm[.ss] invece che l'orario " "attuale\n" " --time=TIPO imposta l'orario specificato:\n" " se TIPO è access, atime o use: come -a\n" " se TIPO è mtime o modify: come -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Notare che le opzioni -d e -t accettano differenti formati di orario e " "data.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "impossibile specificare l'orario da più di una fonte" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "attenzione: «touch %s» è obsoleto; usare «touch -t %04ld%02d%02d%02d%02d." "%02d»" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Uso: %s [OPZIONE]... SET1 [SET2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Traduce, comprime o elimina caratteri dallo standard input, scrivendo sullo " "standard output.\n" "\n" " -c, -C, --complement complementa SET1\n" " -d, --delete elimina i caratteri in SET1 senza tradurre\n" " -s, --squeeze-repeats sostituisce ogni sequenza di un carattere " "ripetuto\n" " che è elencato in SET1 con una singola " "occorrenza\n" " di quel carattere\n" " -t, --truncate-set1 tronca prima SET1 alla lunghezza di SET2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "I SET sono specificati come stringhe di caratteri. La maggior parte " "rappresentano loro stessi.\n" "Le sequenze interpretate sono:\n" "\n" " \\NNN carattere con valore ottale NNN (da 1 a 3 cifre ottali)\n" " \\\\ backslash\n" " \\a beep udibile\n" " \\b backspace\n" " \\f avanzamento pagina\n" " \\n nuova riga\n" " \\r ritorno a capo\n" " \\t tabulazione orizzontale\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tabulazione verticale\n" " CAR1-CAR2 tutti i caratteri da CAR1 fino a CAR2 in ordine crescente\n" " [CAR*] copia CAR su SET2 tante volte quanto la lunghezza di SET1\n" " [CAR*NUM] NUM copie di CAR, NUM è ottale se inizia con 0\n" " [:alnum:] tutte le lettere e numeri\n" " [:alpha:] tutte le lettere\n" " [:blank:] tutti gli spazi orizzontali\n" " [:cntrl:] tutti i caratteri di controllo\n" " [:digit:] tutti i numeri\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] tutti i caratteri stampabili, senza spazi\n" " [:lower:] tutti i caratteri in minuscolo\n" " [:print:] tutti i caratteri stampabili, compresi gli spazi\n" " [:punct:] tutti i caratteri di punteggiatura\n" " [:space:] tutti gli spazi orizzontali o verticali \n" " [:upper:] tutti i caratteri in maiuscolo\n" " [:xdigit:] tutte le cifre esadecimali\n" " [=CAR=] tutti i caratteri equivalenti a CAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "La traduzione avviene se non è dato -d e sono presenti sia SET1 che SET2.\n" "-t può essere usato solo quando si traduce. SET2 è esteso alla lunghezza di\n" "SET1 ripetendo il suo ultimo carattere quando necessario. I caratteri di " "SET2 in\n" "eccesso sono ignorati. È garantita l'espansione in ordine crescente solo\n" "con [:lower:] e [:upper:]; usati in SET2 durante la traduzione, possono\n" "solo essere impiegati in coppie per specificare la conversione maiuscolo-" "minuscolo.\n" "-s usa SET1 se non traduce e non cancella; altrimenti la compressione usa\n" "SET2 e si verifica dopo la traduzione o la cancellazione.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "attenzione: il codice ottale ambiguo \\%c%c%c sarà\n" "\tinterpretato come sequenza di due byte \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "attenzione: un \"\\\" (backslash) non protetto a fine stringa non è portabile" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "i limiti dell'intervallo «%s-%s» sono in ordine inverso" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "conteggio delle ripetizioni %s non valido nel costrutto [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "carattere di classe \"[::]\" mancante" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "carattere \"[==]\" di equivalenza classe mancante" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "classe di caratteri non valida %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: l'operando di equivalenza classi deve essere un singolo carattere" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "costrutto disallineato [:upper:] o [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "troppi caratteri nell'insieme" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "traducendo con stringa1 più lunga di stringa2,\n" "la seconda non deve finire con una classe di caratteri" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "il costrutto ripetuto [c*] non può apparire in string1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "solo un costrutto ripetuto [c*] dovrebbe apparire in string2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "le espressioni [=c=] non possono apparire in string2 durante la traduzione" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "durante la traduzione, le uniche classi di caratteri che possono apparire " "in\n" "string2 sono \"upper\" e \"lower\"" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "se set1 non viene troncato, string2 non deve essere vuota" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "durante la traduzione con classi di caratteri complementati,\n" "string2 deve mappare tutti i caratteri nel dominio a uno" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "il costrutto [c*] può apparire in string2 solo durante la traduzione" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Due stringhe devono essere fornite durante la cancellazione e l'omissione " "delle ripetizioni." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Devono essere fornite due stringhe durante la traduzione." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Solo una stringa può essere fornita durante la cancellazione senza omissione " "delle ripetizioni." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [argomenti in riga di comando ignorati]\n" " o: %s OPZIONE\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Termina con un codice di stato indicante successo." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Termina con un codice di stato indicante fallimento." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Uso: %s OPZIONE... [FILE]...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Riduce o estende la dimensione di ciascun FILE alla dimensione specificata\n" "\n" "Un argomento FILE inesistente viene creato.\n" "\n" "Se un FILE è più grande di quanto è specificato, i dati in eccesso sono " "persi.\n" "Se un FILE è più corto, è esteso e la parte estesa (buco)\n" "viene letta come byte zero.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create non crea alcun file\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks tratta DIM come un numero di blocchi di IO invece " "di byte\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFILE basa la dimensione su RFILE\n" " -s, --size=DIM imposta o modifica la dimensione del file a questa " "DIMensione\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "DIM può anche avere come prefisso uno dei seguenti caratteri di modifica:\n" "\"+\" esteso di, \"-\" ridotto di, \"<\" al più, \">\" almeno,\n" "\"/\" arrotondato in difetto a multipli di, \"%\" arrotondato in eccesso a " "multipli di.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "overflow in %<PRIdMAX> * %<PRIdMAX> blocchi di byte per il file %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s non è usabile, apparentemente ha dimensioni negative" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "impossibile ottenere la dimensione di %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "overflow arrotondando la dimensione del file %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "overflow estendendo la dimensione del file %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "troncamento di %s a %<PRIdMAX> byte non riuscito" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "specificati modificatori multipli relativi" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "è necessario specificare uno tra %s o %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "è necessario specificare un %s relativo con %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "era specificato %s ma non %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "impossibile aprire %s per la scrittura" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uso: %s [OPZIONE] [FILE]\n" "Scrive un elenco totalmente ordinato di un FILE rispettando l'ordinamento " "parziale.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: l'input contiene un numero dispari di token" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: l'input contiene un ciclo:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Stampa il nome del file del terminale connesso allo standard input.\n" "\n" " -s, --silent, --quiet non stampa niente, restituisce solo uno stato\n" " d'uscita\n" #: src/tty.c:120 msgid "not a tty" msgstr "non è un tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Stampa alcune informazioni sul sistema. Senza una OPZIONE è come -s.\n" "\n" " -a, --all stampa tutte le informazioni, nel seguente " "ordine:\n" " omettendo -p e -i se sconosciute:\n" " -s, --kernel-name stampa il nome del kernel\n" " -n, --nodename stampa il nome host del nodo di rete\n" " -r, --kernel-release stampa il rilascio del kernel\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version stampa la versione del kernel\n" " -m, --machine stampa il nome dell'hardware della macchina\n" " -p, --processor stampa il tipo di processore o \"unknown\"\n" " -i, --hardware-platform stampa la piattaforma hardware o \"unknown\"\n" " -o, --operating-system stampa il sistema operativo\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Stampa l'architettura della macchina.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "impossibile recuperare il nome del sistema" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converte gli spazi in tabulazioni in ogni FILE e scrive sullo standard " "output.\n" "Senza FILE, o quando FILE è -, legge lo standard input.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all converte tutti gli spazi invece di convertire solo quelli " "iniziali\n" " --first-only converte solo le sequenze iniziali di spazi (prevale su -" "a)\n" " -t, --tabs=N imposta i tabulatori ogni N caratteri invece di 8 " "(abilita -a)\n" " -t, --tabs=ELENCO usa un ELENCO di posizioni di tabulazione separate da " "virgola (abilita -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "i tabulatori sono troppo grandi" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "il valore della posizione del tabulatore è troppo grande" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Uso: %s [OPZIONE]... [INPUT [OUTPUT]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtra righe adiacenti corrispondenti da INPUT (o dallo standard input),\n" "scrivendo su OUTPUT (o sullo standard output).\n" "\n" "Senza opzioni, le righe corrispondenti sono unite alla prima occorrenza.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count mostra il numero di occorrenze all'inizio di ogni " "riga\n" " -d, --repeated stampa solo le righe duplicate\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] stampa tutte le righe duplicate\n" " delimit-method={none(predefinito),prepend,separate}\n" " la delimitazione viene fatta con righe vuote\n" " -f, --skip-fields=N evita di confrontare i primi N campi\n" " -i, --ignore-case ignora le differenze tra maiuscole e minuscole nel " "confronto\n" " -s, --skip-chars=N evita di confrontare i primi N caratteri\n" " -u, --unique stampa solo le righe uniche\n" " -z, --zero-terminated termina le righe con il byte \"0\", non con il " "ritorno a capo\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N non confronta più di N caratteri nelle righe\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Un campo è una sequenza di spazi (di solito spazi o tabulazioni), seguita da " "caratteri\n" "non spazi. I campi vengono saltati prima dei caratteri.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Nota: «uniq» non trova righe ripetute a meno che non siano adiacenti.\n" "Si consiglia di ordinare prima l'input o di usare «sort -u» senza «uniq».\n" "Inoltre, i confronti rispettano le regole specificate da \"LC_COLLATE\".\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "troppe righe ripetute" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "numero di campi da saltare non valido" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "numero di byte da saltare non valido" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "numero di byte da confrontare non valido" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "è senza senso stampare tutte le righe duplicate e il numero delle ripetizioni" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Uso: %s FILE\n" " o: %s OPZIONE\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Chiama la funzione unlink per rimuovere il FILE indicato.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "impossibile scollegare %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "impossibile determinare l'orario di avvio" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H.%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??.???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "attivo ???? giorni ??.??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "attivo %ld giorno %2d.%02d, " msgstr[1] "attivo %ld giorni %2d.%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "attivo %ld giorno %2d.%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu utente" msgstr[1] "%lu utenti" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", carico medio: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Stampa l'orario corrente, da quanto tempo il sistema è attivo, il numero di " "utenti\n" "sul sistema e il numero medio di processi nella coda di esecuzione negli " "ultimi\n" "1, 5 e 15 minuti." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Anche i processi in\n" "uno stato non interrompibile di riposo contribuiscono al carico medio.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Se FILE non è specificato, usa %s. %s è comunemente usato come FILE.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Stampa chi è attualmente connesso basandosi su FILE.\n" "Se FILE non è specificato, usa %s.\n" "%s è comunemente usato come FILE.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Stampa il numero di righe, parole e caratteri per ogni FILE e una riga\n" "di riepilogo se viene specificato più di un FILE. Senza FILE,\n" "o quando FILE è -, legge lo standard input. Una parola è una sequenza non\n" "vuota di caratteri delimitata da spazi.\n" "Le opzioni in basso possono essere usate per selezionare quali numeri " "stampare, sempre\n" "nel seguente ordine: righe, parole, caratteri, byte, lunghezza della riga " "più lunga. -c, --bytes stampa il numero di byte\n" " -m, --chars stampa il numero di caratteri\n" " -l, --lines stampa il numero di righe\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F legge l'input dai file specificati\n" " dai nomi nel file F (terminati con NUL);\n" " se F è -, legge i nomi dallo standard input\n" " -L, --max-line-length stampa la lunghezza della riga più lunga\n" " -w, --words stampa il numero di parole\n" #: src/who.c:210 msgid " old " msgstr " fa " #: src/who.c:440 msgid "system boot" msgstr "avvio di sistema" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" #: src/who.c:485 msgid "LOGIN" msgstr "ACCESSO" #: src/who.c:505 msgid "clock change" msgstr "cambio orario" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "run-level" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "last=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# utenti=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NOME" #: src/who.c:559 msgid "LINE" msgstr "LINEA" #: src/who.c:559 msgid "TIME" msgstr "ORA" #: src/who.c:559 msgid "IDLE" msgstr "INATTIVO" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMMENTO" #: src/who.c:560 msgid "EXIT" msgstr "USCITA" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Uso: %s [OPZIONE]... [ FILE | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" "Stampa le informazioni sugli utenti che sono attualmente nel sistema.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all come -b -d --login -p -r -t -T -u\n" " -b, --boot orario dell'ultimo avvio del sistema\n" " -d, --dead stampa i processi morti\n" " -H, --heading stampa la riga di intestazione delle colonne\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login stampa i processi di accesso del sistema\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " -l, --lookup cerca di canonicalizzare i nomi host con il DNS\n" " -m solo il nome host e l'utente associato a stdin\n" " -p, --process stampa i processi attivi figli di init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count tutti i nomi di accesso e il numero di utenti connessi\n" " -r, --runlevel stampa il runlevel attuale\n" " -s, --short stampa solo il nome, la riga e l'orario (predefinito)\n" " -t, --time stampa l'ultima modifica dell'orologio di sistema\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg aggiunge lo stato dei messaggi dell'utente come +, - " "o ?\n" " -u, --users elenca gli utenti collegati\n" " --message come -T\n" " --writable come -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Se FILE non è specificato, usa %s. È comune usare %s come FILE.\n" "Se sono dati ARG1 e ARG2, è assunto -m: \"am i\" o \"mom likes\" sono " "comuni.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Stampa il nome dell'utente associato all'attuale id utente efficace.\n" "Come id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: impossibile trovare il nome per l'id utente %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [STRINGA]...\n" " o: %s OPZIONE\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Stampa in continuazione una riga con ogni STRINGA specificata oppure \"y\".\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "è in uso l'aritmetica con precisione singola" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "è in uso l'aritmetica con precisione arbitraria" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "creazione di %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Uso: %s [OPZIONE]... [UTENTE]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: lunghezza del suffisso non valida" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Esempi:\n" #~ " %s /usr/bin/sort Stampa \"sort\".\n" #~ " %s include/stdio.h .h Stampa \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "lettura di %s" #~ msgid "writing %s" #~ msgstr "scrittura di %s" #~ msgid "closing %s" #~ msgstr "chiusura di %s" #~ msgid "accessing %s" #~ msgstr "accesso a %s" #~ msgid "opening %s" #~ msgstr "apertura di %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system salta le directory su file system diversi\n" #~ " -X, --exclude-from=FILE esclude i file che corrispondono a uno " #~ "qualsiasi dei modelli in FILE\n" #~ " --exclude=MODELLO esclude i file che corrispondono a MODELLO\n" #~ " -d, --max-depth=N stampa il totale per una directory (o file, con --" #~ "all)\n" #~ " solo se è N o meno livelli sotto l'argomento " #~ "della riga\n" #~ " di comando; --max-depth=0 è lo stesso che --" #~ "summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off non fa mai backup (anche se è specificato --backup)\n" #~ " numbered, t fa backup numerati\n" #~ " existing, nil numerati se esistono backup numerati, altrimenti " #~ "semplici\n" #~ " simple, never fa sempre backup semplici\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ATTENZIONE: --page-increment è deprecato; usare invece --line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Tutti gli argomenti per le opzioni lunghe sono obbligatori per quelle " #~ "corte.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADICE è d per decimale, o per ottale, x per esadecimale o n per " #~ "nessuna.\n" #~ "BYTE è esadecimale con il prefisso 0x or 0X, e può avere un suffisso " #~ "moltiplicatore:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, e così via per T, P, E, Z, Y.\n" #~ "Aggiungendo un suffisso z a ogni tipo mostra i caratteri stampabili alla " #~ "fine di ciascuna\n" #~ "riga di output.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "L'opzione --string senza un numero implica 3; l'opzione --width senza un " #~ "numero\n" #~ "implica 32. In modo predefinito, od usa -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPZIONE]... FILE\n" #~ msgid "Password:" #~ msgstr "Password:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: impossibile aprire /dev/tty" #~ msgid "cannot set groups" #~ msgstr "impossibile impostare i gruppi" #~ msgid "cannot set group id" #~ msgstr "impossibile impostare l'id del gruppo" #~ msgid "cannot set user id" #~ msgstr "impossibile impostare l'id utente" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPZIONE]... [-] [UTENTE [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia gli id utente e di gruppo efficaci in quelli di UTENTE.\n" #~ "\n" #~ " -, -l, --login rende la shell una shell di accesso\n" #~ " -c, --commmand=COMANDO passa con -c un COMANDO singolo alla " #~ "shell\n" #~ " -f, --fast passa -f alla shell (per csh o tcsh)\n" #~ " -m, --preserve-environment non reinizializza le variabili d'ambiente\n" #~ " -p come -m\n" #~ " -s, --shell=SHELL esegue SHELL se /etc/shells lo permette\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un semplice - implica -l. Se UTENTE non è specificato, assume root.\n" #~ msgid "user %s does not exist" #~ msgstr "l'utente %s non esiste" #~ msgid "incorrect password" #~ msgstr "password sbagliata" #~ msgid "using restricted shell %s" #~ msgstr "viene usata la shell ristretta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "attenzione: impossibile cambiare la directory in %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Cambia l'appartenenza al gruppo di ogni FILE in GRUPPO.\n" #~ "Con --reference, cambia l'appartenenza al gruppo di ogni FILE col gruppo " #~ "di RFILE.\n" #~ "\n" #~ " -c, --changes come verbose ma segnala solo i cambiamenti\n" #~ " --dereference agisce sul file a cui si riferisce ogni " #~ "collegamento\n" #~ " simbolico (predefinito) invece che sul " #~ "collegamento stesso\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root non considera \"/\" in modo speciale " #~ "(predefinito)\n" #~ " --preserve-root fallisce operando ricorsivamente su \"/\"\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " --reference=RFILE usa il gruppo di RFILE piuttosto che " #~ "specificare GRUPPO\n" #~ " -R, --recursive opera ricorsivamente su file e directory\n" #~ " -v, --verbose mostra una diagnostica per ogni file elaborato\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Cambia il modo di ogni FILE in MODE.\n" #~ "\n" #~ " -c, --changes come \"verbose\" ma segnala solo quando viene " #~ "effettuato un cambiamento\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet nasconde la maggior parte dei messaggi " #~ "d'errore\n" #~ " -v, --verbose mostra una diagnostica per ogni file elaborato\n" #~ " --reference=RFILE utilizza il modo di RFILE anziché i valori di " #~ "MODE\n" #~ " -R, --recursive cambia i file e le cartelle ricorsivamente\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia il proprietario o il gruppo di ogni FILE in PROPRIETARIO o " #~ "GRUPPO.\n" #~ "Con --reference, cambia il proprietario e il gruppo di ciascun FILE con " #~ "quello di RFILE.\n" #~ "\n" #~ " -c, --changes come \"verbose\" ma segnala solo quando viene " #~ "effettuato un cambiamento\n" #~ " --dereference agisce sul file a cui si riferisce ogni " #~ "collegamento\n" #~ " simbolico (predefinito) invece che sul " #~ "collegamento stesso\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " --reference=RFILE usa il proprietario e gruppo di RFILE piuttosto " #~ "che\n" #~ " specificare i valori PROPRIETARIO:GRUPPO\n" #~ " -R, --recursive opera ricorsivamente su file e directory\n" #~ " -v, --verbose mostra una diagnostica per ogni file elaborato\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Visualizza l'orario corrente nel FORMATO dato, o imposta la data di " #~ "sistema.\n" #~ "\n" #~ " -d, --date=STRINGA visualizza l'orario specificato da STRINGA, " #~ "non \"adesso\"\n" #~ " -f, --file=FILEDATA come --date una per ogni riga di FILEDATA\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "DIM può essere uno dei seguenti (o opzionalmente un intero seguito da):\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, e così via per G, T, P, E, Z " #~ "e Y.\n" #~ msgid "cannot create link %s" #~ msgstr "impossibile creare il collegamento %s" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sl.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001101725�12107204517�012114� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���¾��0��� .��»��\�����üz����� {��D{������t~�����u~��ø���w~��¾���p��¿���/€��Â���ï€��ª���²��G��]‚��ù���¥ƒ��º���Ÿ„��p���Z…��!��Ë…��¼���í†��©��ª‡��w��T‰��5��ÌŠ��R��Œ��~���U�� ���Ô��\���â��w���?Ž��T���·Ž��G��� ��ï���T��w���D��¡���¼��#��^‘����‚’��š���‡“��Ä���"”��D��ç”��7��,—��z���d˜�����ߘ��Þ���m™��i���Lš��J���¶š��›���›�����›��¸���œ��ˆ���Øœ��È���a��„���*ž��M��¯ž��à���ýŸ��›���Þ ��—���z¡��`���¢��‚���s¢����ö¢��>��� ¤��3��J¤��|���~¥��Ý���û¥��K��Ù¦��=���%¨��l���c¨��0���Ш��D���©����F©��K��`ª��Ê���¬«��–���w¬��-��­��Ê���<¯��ç���°��ð���ï°����à±��‡���ñ²��¾���y³��á���8´��E���µ��>���`µ��Ë���Ÿµ��Œ���k¶��ü���ø¶��æ���õ·��¿���ܸ����œ¹��9���®º�����èº�����ÿº��t��»��¼���‰¼��š���F½��¾���á½��F�� ¾��Ì���ç¿��°���´À��Ü���eÁ����BÂ��Ð��VÃ�� ��'Å�����HÆ����IÇ��y���\È��þ��ÖÈ��1��ÕÊ��Ë���Î����ÓÎ��H���ñÏ��7���:Ð��¼���rÐ��F���/Ñ��ì���vÑ��v���cÒ�� ���ÚÒ��¡��æÒ��¾��ˆÔ��Ð��GÖ��u���Ø��F��ŽØ��q���ÕÚ��[��GÛ��æ���£Ü��1��ŠÝ��S��¼Þ��ë���à��,���üà��“��)á��º���½â����xã�����ä�����å��ß���¡å��\��æ��‹���Þç��i���jè��A���Ôè��x���é��v���é��Ø��ê����ßë��Â���õì��I���¸í��·���î��›���ºî��3���Vï��û��Šï��g��†ñ��p���îò��5���_ó��s���•ó���� ô��3��(õ����\ö��I��{÷��×���Åø��ò���ù��É���ú��Ê���Zû��ð���%ü��–��ý��Ô���­þ��"��‚ÿ��Ó���¥��¬���y�¤���&�i���Ë�õ���5�˜���+���Ä�Z���Õ�ù���0����*�.��¸�Å��ç�ž���­ �G��L �È���” �M��] �5���«�4���á�‰����F��� �Ö���ç�©��¾�O��h�í��¸���¦� ��6�£��C�y��ç� ��a�n���‚�\��ñ�B���N�F���‘���Ø�Ë��ó���¿!�9��Þ"���$���8%�¢���É&�Ö���l'�¡��C(�E���å)�J���+*�Ò���v*� ��I+���W,�º��f-�&��!/�¹��H0�¿���2���Â2�Ý���È5�+���¦6�N���Ò6�Ò���!7�’���ô7�°���‡8�Ë���89�»���:�¡��À:�›���b<�…��þ<�È���„>�B���M?���?�u���¥@���A�1���1B�ò���cB����VC�Ë���æC�ƒ���²D�ƒ���6E�k��ºE�‚��&H�¢��©I�4��LK���L���“M�´��¦N�í���[P� ��IQ���TR�<���ZS�‘���—S�Ò���)T�º��üT�ª��·V�K���bX���®X�ü���³Y�z���°Z�þ���+[�µ���*\�ô��à\����Õ^�f��e_�5��Ì`�ˆ���b�1���‹b�H���½b�;��c�Æ���Bd�!�� e�È���+g�ý���ôg�q��òh�Y��dj�ü���¾k�L���»l�×���m�T��àm�#��5o�Ç���Yp�÷��!q�Þ���s�³��øs�ƒ���¬u�Ñ���0v�V��w�i���Yx�Í���Ãx�Ä���‘y�Ñ���Vz�ë���({�K��|���`}�D��o~����´�Ó���B€�Ä���I���Û‚���%ƒ���C„�H���Ñ…�3���†�c��N†� ��²‡�=��Óˆ���Š�ê��,‹�*���’���BŽ�F���ÕŽ�C����X��`�>���¹�?���ø�«���8‘�9���ä‘�S���’�š��r’�m��� ”�û���{”�ä���w•�¨��\–�I��˜�$���Oš�(���tš�<���š�ú���Úš�$���Õ›�%���ú›�*��� œ���Kœ�:���j�"��¥�&���ÈŸ� ���ïŸ�9��� �#���J �$���n �!���“ �Ý���µ �:���“¡�:���Ρ�,��� ¢�"���6¢� ���Y¢� ���d¢�ç���r¢�,��Z£�X��‡¤�;���à¥�|��¦���™§�Ô���­¨�Ü���‚©�þ���_ª� ���^«����i«� ���n«����z«����ƒ«����Œ«����”«����«����£«���¶«�&���Ò¬� ���ù¬� ���­����­����"­����5­����J­����h­� ���„­�+���¥­����Ñ­����ê­�?���®�D���E®�0���Š®����»®�)���Ô®����þ®�0���¯�"���C¯����f¯�'���v¯� ���ž¯����¬¯�!���Á¯����ã¯�"���°����&°����C°�/���I°� ���y°����š°����²°�#���Ȱ����ì°����±�>���"±�"���a±����„±�%���£±�B���ɱ�*��� ²����7²����V²����h²�)���x²����¢²�%���¿²�,���å²����³�#���"³�"���F³�$���i³����޳�/���®³����Þ³�8���î³����'´����<´����[´����x´����Œ´����«´����Ê´� ���ß´�����µ����µ����&µ����Aµ����^µ����qµ����ƒµ����–µ����§µ�'���¸µ����àµ�*���ûµ����&¶�$���D¶����i¶����ƒ¶����“¶� ���¬¶����Ͷ�"���ã¶����·����·�;���2·����n·����·����·����º·����Ö·����ó·����¸����.¸����J¸����^¸�"���u¸����˜¸�,���«¸����ظ�)���ò¸����¹����9¹����J¹�"���i¹�1���Œ¹�'���¾¹����æ¹�(���÷¹� ��� º�,���Aº�,���nº�,���›º�'���Ⱥ�-���ðº� ���»�(���?»�(���h»����‘»����¤»����½»�"���Ø»����û»���� ¼�&���¼����D¼�"���_¼� ���‚¼� ���޼����›¼����­¼����¾¼����μ�5���ê¼�0��� ½�.���Q½����€½����œ½����¼½�"���ܽ����ÿ½����¾�+��� ¾�%���L¾����r¾�)���’¾����¼¾� ���¾¾����˾�<���â¾�1���¿�,���Q¿�0���~¿�,���¯¿�#���Ü¿�0����À����1À�l���5À�;��¢À����ÞÁ� ���ôÁ����Â�6���Â�5���TÂ�-���ŠÂ�"���¸Â�)���ÛÂ����Ã����Ã����.Ã����EÃ� ���\Ã����gÃ����lÃ����rÃ�,���zÃ�8���§Ã�)���àÃ� ��� Ä����Ä����(Ä����BÄ����QÄ� ���WÄ����aÄ����qÄ� ���ˆÄ� ���’Ä� ���žÄ�k��¨Ä����Æ����Æ�K���4Æ�8���€Æ����¹Æ�k���ÂÆ�h���.Ç����—Ç� ���(È� ���3È� ���@È�3���LÈ�Š��€È� ��� Ê� ���Ê�g��"Ê�½���ŠË�Ò���HÌ����Í����*Í� ���:Í�=���GÍ�(���…Í�ã���®Í� ���’Î����žÎ�U��®Î����Ð���� Ð�<��Ð�\���OÑ� ���¬Ñ�+���·Ñ�+���ãÑ�0���Ò� ���@Ò����JÒ����QÒ�Ï���`Ò�1���0Ó����bÓ�I���{Ó� ���ÅÓ����ÐÓ�@���éÓ�£��*Ô�7���ÎÕ�?���Ö����FÖ����XÖ����gÖ� ���nÖ����{Ö����€Ö����†Ö����ŒÖ����’Ö����£Ö�:���¨Ö����ãÖ�¦���÷Ö����ž×�×��­×����…Ù� ���ŽÙ����™Ù����­Ù� ���´Ù����¾Ù����ÖÙ����íÙ���� Ú����&Ú�$���>Ú����cÚ����uÚ����Ú� ���ŸÚ� ���«Ú� ���·Ú����ÄÚ� ���ÕÚ����áÚ����óÚ����Û���� Û����Û����Û� ���Û�1���)Û� ���[Û����iÛ����zÛ����”Û����¥Û� ���´Û� ���ÂÛ� ���ÏÛ� ���ÛÛ����æÛ����ëÛ����ðÛ� ��� Ü�#���Ü����;Ü����DÜ�*���cÜ����ŽÜ�E���‘Ü����×Ü����ëÜ���üÜ�—���Þ�H���¦Þ�o���ïÞ����_ß����cß����sß� ���ˆß�&���–ß� ���½ß� ���Éß� ���Ôß����áß� ���èß�#���öß�H���à�2���cà�i��–à�ª����â�š���«â�;���Fã����‚ã��� ã�¸���ºå�†���sæ�;���úæ�%���6ç����\ç�†���Üç�N���cè�T���²è� ��é�7���ë����Jë����ië� ���ë� ���‹ë����˜ë� ���ë����©ë����½ë�Ÿ���Øë�º���xì�@���3í����tí�D���‹í����Ðí����áí� ���öí����î����î����)î����8î� ���Gî�1���Uî�'���‡î� ���¯î� ���½î� ���Ëî����Øî�&���ëî�*���ï����=ï����Eï����Uï�5���Zï� ���ï����œï����¤ï����µï����Éï� ���Þï����êï� ���òï����ÿï�$���ð� ���)ð�Ñ���4ð�$���ñ����+ñ����=ñ����Sñ�â��fñ�&���Ió�%���pó�C���–ó�+���Úó����ô���� ô� ���ô����(ô����:ô����Oô����aô����sô� ���…ô����’ô� ���§ô�,���²ô�j���ßô�&���Jõ� ���qõ�'���’õ�0���ºõ�4���ëõ�~�� ö����Ÿ÷����¼÷����Ù÷�–���ø÷�)���ø�Y���¹ø�'���ù�T���;ù�'���ù�(���¸ù����áù�X���õù�@���Nú����ú�?���«ú�&���ëú�š���û����­û����Äû�#���bü�&���†ü����­ü�"���Ìü�T���ïü�g���Dý�†���¬ý�.���3þ����bþ�"���þ�+���¤þ�Y���Ðþ�~���*ÿ�¤���©ÿ�ä���N��=���3����q�^���� ���î�¢����F���²�}���ù�'���w�'���Ÿ�Z���Ç�`���"�!���ƒ�!���¥�$���Ç� ���ì�¦��� �M���´�>����'���A�<���i�T���¦����û�����������������1����F�ï���\����L�¹���b�D��� �H���a �G���ª � ���ò ����ü ���� ���� �´�� ����Ë �;���â �3��� �/���R �+���‚ �'���® �#���Ö ����ú ���� ����6 �<���F ����ƒ ����— ���� ����£ ����º �*���¼ ����ç ����ÿ �����A���6����x�2����1���Â� ���ô������!�������5�#���<����`�0���|����­����Ç����Ø�*���é��������2�"���R����u����“�E���²�;���ø� ���4�,���U� ���‚�!���£����Å����å�+����#���0�#���T�,���x�0���¥�,���Ö�#�������'����B� ���X����y����•����¨����Æ����ä�$����"���(����K�'���a����‰�5���£�'���Ù�����!�������9����Y�1���r����¤����´����Ñ����ê������������+����?����V����p�(���€����©����Â�.���×�2�������9����T����o�%���ˆ�0���®�3���ß�����F���3�B���z�+���½�5���é�1���� ���Q����]����v�*���•����À����Û�)���ø����"����3�%���O�!���u� ���—� ���¥����³����Ã�8���Þ��������-����A����_�&���y�'��� �<���È�:����.���@�!���o����‘�&��� ����Ç����â����ò������������'�#���7�'���[�"���ƒ�&���¦����Í����â����û� �������7����P����g�%���~����¤� ���À� ���Í����Ú����í������������+����B����V����i�,���€�+���­�-���Ù�)��� �!���1 ����S ����r ����† �8��� ����Ö ����í ����!����!�3���*!� ���^!����h!� ���y!����…!����š!� ���ª!����´!�#���Ç!�"���ë!� ���"����/"����N"����_"����{"����•"����¦"����¾"����Ä"����Ö"�%���ç"���� #�$���'#�+���L#�#���x#�:���œ#�!���×#�/���ù#�'���)$����Q$����g$����‚$����$�*���½$�%���è$����%�#���,%�$���P%����u%�%���‹%�!���±%�'���Ó%�%���û%����!&����A&����U&����g&����†&�(���¤&�,���Í&� ���ú&�$���'����@'����Y'����k'����‰'�$���§'�#���Ì'�%���ð'����(�!���6(�&���X(����(����“(�(���±(� ���Ú(�3���û(�-���/)����])����|)�!���•)�1���·)�'���é)����*�1���1*����c*����z*����•*����¯*����É*�#���ã*�1���+�.���9+����h+����~+����+�(���°+����Ù+� ���ñ+����ÿ+����,�(���1,����Z,����_,�3���~,�;���²,�.���î,����-����5-����J-�$���h-�$���-�D���²-����÷-���� .����.����,.����@.����Y.����v.����’.����¯.����É.����Í.����ä.�)���ó.�/���/�=���M/�@���‹/�:���Ì/����0�!���%0����G0�,���Y0����†0����¢0����´0�;���Ë0����1����"1����;1����Q1����e1� ���€1�!���¡1�(���Ã1����ì1����2����2�*���.2�-���Y2����‡2����—2����®2����Ç2����Ü2����ó2���� 3����(3�%���@3�1���f3�#���˜3�"���¼3����ß3� ���õ3����4����4����*4�"���<4� ���_4����m4����€4����—4����ª4����Æ4����Ü4�#���÷4�!���5�!���=5����_5����v5����•5����®5� ���Í5����Ú5����ê5����û5���� 6����&6����?6����X6�!���v6����˜6�"���°6����Ó6����ó6� ���7����27����J7�]���_7�G���½7����8����8����/8�!���E8�*���g8� ���’8� ���Ÿ8����À8�/���Ô8�$���9����)9�2���>9�;���q9����­9����Æ9����ã9����:�R���:�L���k:�(���¸:� ���á:����î:����þ:����;����&;�,���D;�9���q;�*���«;�,���Ö;����<�*��� <�G���4<�0���|<�:���­<�#���è<�'��� =�8���4=����m=�@���‚=�/���Ã=����ó=�7���>�8���<>� ���u>����ƒ>�/���Ÿ>�-���Ï>� ���ý>���� ?����#?�#���:?�&���^?�)���…?�*���¯?����Ú?�$���ï?����@����+@����E@����U@�+���n@�1���š@�"���Ì@� ���ï@����A����"A����9A�#���WA�$���{A���� A����¾A����ÓA�!���óA�!���B�%���7B����]B�%���lB����’B����¡B�7���°B�=���èB����&C����DC����YC����sC����†C� ���—C����¥C�-���½C�C���ëC����/D�(���DD� ���mD�'���wD����ŸD�"���¹D����ÜD����ìD�?���üD�,���<E�%���iE����E�4���¥E� ���ÚE�&���ûE� ���"F�1���.F�2���`F�$���“F����¸F�8���×F�G���G�9���XG����’G�"���±G�$���ÔG����ùG����H����3H����HH����^H����|H�>���”H�B���ÓH� ���I� ���!I����-I����BI����SI����pI� ���ƒI� ���I����œI����³I� ���ÊI� ���ÔI����ÞI�)���øI����"J����7J����RJ����fJ�$���{J�-��� J�7���ÎJ����K���� K����#K����2K����AK����ZK� ���jK����vK����}K����ƒK����ŠK����¨K����ÁK�#���ÞK�J���L� ���ML� ���[L� ���hL����tL�*���‰L����´L����ÐL����éL����M����M�8���9M����rM� ���xM�H���†M�U���ÏM�>���%N�?���dN�?���¤N�8���äN�=���O�>���[O�3���šO����ÎO�(���_P�!���ˆP�N���ªP�f���ùP�>���`Q�@���ŸQ�#���àQ�<���R�*���AR����lR����ŒR�(���¤R����ÍR�/���èR����S����3S����KS����^S����dS����yS����S����”S�*���´S�!���ßS�7���T����9T�"���QT����tT����ƒT�3���—T�\���ËT����(U����@U�.���XU����‡U�0���U����ÎU�C���åU����)V����FV����ZV����tV� ���†V�H���V�+���ÙV�J���W�2���PW�8���ƒW�=���¼W�@���úW�#���;X����_X�$���zX�=���ŸX�4���ÝX�.���Y�,���AY�<���nY�0���«Y�3���ÜY�7���Z�c���HZ����¬Z����ÂZ�"���ÙZ�t���üZ� ���q[�3���|[�>���°[�5���ï[�j���%\�h���\�_���ù\�0���Y]�,���Š]�*���·]�3���â]�(���^�&���?^�(���f^� ���^����›^� ���®^� ���»^�/���É^�7���ù^�&���1_� ���X_�ô��y_����na�Æ���pa�´���7b�Ó���ìb�¼���Àc�Ë���}d�/��Ie�è���yf�½���bg�k��� h���Œh�æ���”i�Æ��{j�Å��Bl�H��n�”��Qo�‚���æp����iq�x���xq�“���ñq�X���…r�H���Þr���'s�›���Et�£���át�c��…u�+��év�‹���x�Ø���¡x�n��zy�’��é{����|}�€���þ}�ã���~�~���c�N���â�ç���1€�ˆ����Â���¢�¦���e‚�ê��� ƒ����÷ƒ�K��•„���á…�—���ò†�§���Ї�n���2ˆ�›���¡ˆ�G��=‰�>���…Š�!��ÄŠ�«���æ‹�Ø���’Œ�H��k�I���´Ž�ƒ���þŽ�@���‚�H���Ã�A�� �z��N‘�ä���É’�½���®“�þ��l”�Ô���k–�õ���@—���6˜�5��N™�‚���„š�Ë���›�Ð���Ó›�W���¤œ�<���üœ�Ö���9�µ���ž�ë���Æž�C��²Ÿ�Û���ö �g��Ò¡�J���:£�'���…£�e���­£�Ç��¤���Û¥�ž���ä¦�ú���ƒ§�X��~¨�é���ש�»���Áª�ë���}«� ��i¬�å��u­�M��[¯�5��©°�6��ß±�‡���³�¨��ž³�œ��G¶�æ���ä¹���˺�y���ç»�I���a¼�Ì���«¼�N���x½�ç���ǽ�…���¯¾� ���5¿�+��A¿�õ��mÁ���cÃ�‹���vÅ�Ì��Æ�O���ÏÈ�f��É�Ú���†Ê�;��aË���Ì�ð���.Î����Ï�©��=Ï���çÐ� ��êÑ�‡��� Ó�z���“Ó�Ü���Ô�­��ëÔ����™Ö�|���'×�’���¤×�—���7Ø�‰���ÏØ�þ��YÙ�.��XÛ�Ê���‡Ü�P���RÝ�Á���£Ý�Å���eÞ�:���+ß���fß�‰��‚á�s��� ã�%���€ã�u���¦ã�$��ä�;��Aå�$��}æ�r��¢ç�Ø���é�ó���îé�á���âê�Ï���Äë�ò���”ì�˜��‡í�×��� ï�d��øï���]ñ�º���oò�ë���*ó�µ���ô���Ìô�ß���ãõ�_��Ãö�X���#ø�7��|ø�¡���´ù�E��Vú�)��œû�‘���Æý�Ì��Xþ�Ç���%��s��í��4���a�=���–�”���Ô�@���i�ß���ª�õ��Š�Q��€���Ò�ð��Ù ���Ê �N��Ý �“��,�,��À�œ���í�h��Š�@���ó�B���4���w�K���9��Ù�W�����k�Ç��€�Â���H�ç��� �ô��ó�F���è�L���/ �í���| �5��j!��� "�•��¼#�†��R%�>��Ù&�º���)�ã��Ó)�×���·,�$���-�M���´-�ì���.����ï.�·���/�Í���E0�Õ���1�œ��é1�š���†3�§��!4�Ë���É5�A���•6�6��×6����8� ��œ8�4���©9�ù���Þ9�˜���Ø:�Å���q;�—���7<�—���Ï<�¶��g=�¼��@�§��ÛA�G��ƒC�…��ËD�4��QF�É��†G�ñ���PI���BJ� ��FK�A���gL����©L�ä���9M�Ö��N�õ��õO�L���ëQ���8R���HS�‘���PT���âT�×���ëU� ��ÃV� ���ÐX���qY�M��…Z�•���Ó[�5���i\�M���Ÿ\�–��í\�Ø���„^�0��]_�Ó���Ža����bb�`��cc�½��Äd���‚f�N���„g���Óg�[��Öh�2��2j�á���ek�Ì��Gl���n�Í��-o�x���ûp�™���tq�h��r�‹���ws�À���t�½���Ät�Ó���‚u���Vv�E��rw���¸x�O��Éy�Í���{�î���ç{�õ��Ö|�Q���Ì~�+���R��J€�H����1���æ�š��‚�Q��³ƒ�û���…���†���‡�T��=‰�Æ���’Š�C���Y‹�<���‹�b��Ú‹�@���=�K���~�½���Ê�>���ˆŽ�T���ÇŽ�{���s���˜��� ‘�&��’����8“�Ž��9•�?���È—�A���˜�G���J˜�E��’˜�B���Ø™�)���š�F���Eš�>��Œš�7���Ë›�ª��œ�0���®ž�'���ßž�8���Ÿ�)���@Ÿ�8���jŸ�7���£Ÿ���ÛŸ�E���ø �E���>¡�)���„¡�A���®¡� ���ð¡����û¡�þ���¢�7��£�S��J¤�I���ž¥�J��è¥�3��3§�Ù���g¨�é���A©� ��+ª� ���7«����B«� ���G«����T«����]«����f«� ���n«����x«����€«�,��“«�%���À¬� ���æ¬� ���ð¬�;���ü¬����8­�!���S­�#���u­�!���™­����»­�/���Ø­����®����®�E���8®�M���~®�2���Ì®����ÿ®�/���¯����J¯�5���b¯�&���˜¯����¿¯�&���ϯ� ���ö¯����°�+���°����E°�"���b°����…°����¥°�*���«°�'���Ö°����þ°����±�$���+±�$���P±�"���u±�?���˜±�/���ر�+���²�/���4²�F���d²�)���«²�"���Õ²�"���ø²�+���³�5���G³� ���}³�*���ž³�<���ɳ�*���´�2���1´�,���d´�4���‘´�$���Æ´�@���ë´����,µ�7���?µ����wµ�%���‘µ�(���·µ����àµ�'���÷µ�!���¶����A¶�-���[¶����‰¶����¡¶����½¶�#���ݶ����·����·����1·����J·����b·�(���u·����ž·�!���²·�'���Ô·�/���ü·�!���,¸�&���N¸����u¸�%���’¸����¸¸�"���Ѹ� ���ô¸����¹�G���1¹����y¹����‘¹����°¹����ι� ���í¹����º�'���-º����Uº����tº�1���Šº�"���¼º����ߺ�7���õº����-»�(���M»�#���v»����š»����²»� ���Ï»�C���ð»�#���4¼����X¼�'���q¼� ���™¼�+���º¼�(���æ¼�+���½�%���;½�,���a½� ���޽�&���¯½�$���Ö½����û½����¾����0¾�$���M¾����r¾����ˆ¾�-���¤¾�%���Ò¾�;���ø¾����4¿����D¿����V¿����l¿����…¿�#���œ¿�6���À¿�A���÷¿�/���9À�!���iÀ�!���‹À�!���­À�"���ÏÀ����òÀ���� Á�1���Á�/���QÁ�'���Á�2���©Á����ÜÁ����ßÁ�#���óÁ�=���Â�;���UÂ�;���‘Â�4���ÍÂ�6���Ã�/���9Ã�4���iÃ����žÃ�†���¡Ã�”��(Ä����½Å� ���ØÅ����æÅ�6���Æ�9���:Æ�5���tÆ����ªÆ�-���ÊÆ����øÆ���� Ç����Ç����/Ç� ���BÇ����LÇ����QÇ� ���WÇ�4���aÇ�9���–Ç�.���ÐÇ����ÿÇ����È�#���È����AÈ����PÈ����VÈ����_È����sÈ� ���‹È����•È� ���§È�œ��µÈ����RÊ�'���[Ê�]���ƒÊ�<���áÊ����Ë�ž���'Ë�”���ÆË�¸���[Ì� ���Í����Í� ���<Í�G���HÍ�ý��Í� ���ŽÏ� ���œÏ�É��§Ï�à���qÑ�Ö���RÒ����)Ó����8Ó� ���HÓ�B���UÓ�,���˜Ó���ÅÓ����ÈÔ����ÑÔ�Z��áÔ����<Ö����EÖ�W��JÖ�p���¢×� ���Ø�,���Ø�*���KØ�4���vØ����«Ø����¼Ø����ÃØ�Ô���ÔØ�<���©Ù�%���æÙ�Y��� Ú� ���fÚ����qÚ�C���‘Ú�'��ÕÚ�@���ýÜ�F���>Ý����…Ý����—Ý����¦Ý� ���­Ý����¸Ý����¿Ý����ÅÝ����ËÝ����ÑÝ����âÝ�C���çÝ����+Þ�¶���;Þ� ���òÞ�È��þÞ� ���Çá� ���Òá����ßá����öá� ���ýá����â����â����8â����Vâ����vâ�$���Žâ����³â����Ìâ����çâ� ���öâ� ���ã� ���ã����ã� ���,ã����8ã����Jã����[ã����aã����hã����pã����vã�A���‰ã� ���Ëã����Ùã����êã���� ä����ä� ���+ä� ���9ä� ���Fä����Rä����bä����fä����kä� ���‡ä�+���•ä� ���Áä�!���Ïä�,���ñä����å�G���%å����må����„å�V��”å�œ���ëæ�F���ˆç�ƒ���Ïç����Sè����Wè����lè� ���†è�$���”è� ���¹è� ���Åè� ���Ðè����Ýè� ���æè�(���ñè�H���é�B���cé�”��¦é�Õ���;ë�¡���ì�4���³ì����èì�M��í�Ì���Uï�‰���"ð�5���¬ð�3���âð�w���ñ�–���Žñ�^���%ò�e���„ò�a��êò�@���Lõ����õ����¦õ� ���Âõ� ���Ìõ� ���Ùõ� ���ãõ����ïõ����ö�ö���'ö�×���÷�A���ö÷�s���8ø�O���¬ø����üø����ù� ���%ù����3ù����Gù����Xù����gù� ���vù�<���„ù�C���Áù� ���ú� ���ú� ��� ú����-ú�!���Aú�.���cú����’ú����¢ú����²ú�M���·ú� ���û� ���û����û����0û����Eû� ���[û����gû����pû����û�&���†û� ���­û���¸û�"���Ëü����îü�����ý����ý�Ã��#ý�1���çþ�5���ÿ�J���Oÿ�)���šÿ����Äÿ����Èÿ����×ÿ����æÿ����øÿ���������,�����H�����c�����x�� ���‰��2���–��x���É��%���B�(���h�3���‘�4���Å�7���ú�„��2����·�"���Ó�$���ö�˜����1���´�_���æ�/���F�b���v�-���Ù�,�������4�f���J�F���±����ø�H����-���^�­���Œ����:�µ���S�"��� �+���, �$���X �,���} �b���ª �m��� �¤���{ �3��� ����T �.���t �;���£ �]���ß �‹���= � ���É �þ���j �C���i�&���­�j���Ô�&���?�°���f�N����¢���f�'��� �*���1�W���\�p���´�#���%�$���I�'���n�'���–�§���¾�W���f�A���¾�(�����H���)�T���r����Ç����Ì����Ò����è����þ�����>��-����l�·���‡�I���?�Q���‰�J���Û� ���&����2����7����;�Å��J�����6���$�/���[�+���‹�'���·�#���ß��������#����?����W�9���h����¢����½����Ã����Ë����é�1���ì��������2����H�<���b����Ÿ�9���º�;���ô����0� ���G����U����p�8���w����°�A���Ð�&�������9�'���P�9���x�$���²�"���×�.���ú����)�$���@�M���e�C���³�%���÷�:��� �6���X �4��� �5���Ä �4���ú �B���/!�0���r!�+���£!�@���Ï!�A���"�(���R"�3���{"����¯"����Ï"�+���ì"�&���#����?#�(���]#�(���†#�)���¯#�/���Ù#�+��� $����5$�/���T$�'���„$�C���¬$�3���ð$����$%�%���>%�0���d%����•%�:���µ%�$���ð%�'���&�$���=&�$���b&�#���‡&� ���«&� ���Ì&����í&� ���'�#���)'�.���M'����|'����œ'�;���º'�2���ö'�'���)(� ���Q(����r(�5���(�-���Æ(�.���ô(�&���#)�L���J)�G���—)�=���ß)�:���*�;���X*����”*����¦*�&���Å*�+���ì*�&���+�(���?+�:���h+����£+�!���¼+�0���Þ+�-���,����=,����S,����k,� ���‡,�8���¨,����á,�)���ÿ,�&���)-� ���P-�)���q-�)���›-�>���Å-�<���.�!���A.�&���c.�#���Š.�6���®.�/���å.����/�)���%/�(���O/����x/����’/�#���«/�&���Ï/�"���ö/�-���0����G0����_0����{0�&���•0����¼0����Ó0����ë0����ú0����1� ���01����;1����O1����c1����v1����’1����ª1����Ç1����à1����û1�3���2�4���H2�6���}2�.���´2�%���ã2�&��� 3����03����F3�9���_3����™3����¶3����Ê3����à3�D���ù3����>4����E4����U4����h4����~4����’4����£4�(���Á4�'���ê4�)���5�"���<5����_5�!���t5����–5����²5����Ë5����ß5����å5����ú5�-���6����<6�%���W6�*���}6�%���¨6�F���Î6�"���7�-���87�(���f7����7�$���®7�%���Ó7�"���ù7�+���8�,���H8�%���u8�+���›8�)���Ç8����ñ8�/���9�)���?9�/���i9�+���™9�.���Å9����ô9����:�*���":�%���M:�;���s:�+���¯:�)���Û:�)���;����/;����N;�(���e;� ���Ž;�'���¯;�#���×;�%���û;����!<�4���A<�A���v<����¸<� ���Ñ<�+���ò<�+���=�=���J=�+���ˆ=�)���´=����Þ=�(���ù=�:���">�'���]>�#���…>�8���©>����â>�%���û>�"���!?�#���D?�)���h?�$���’?�C���·?�3���û?����/@����H@����g@�!���„@����¦@����¿@����Ô@����ô@�(��� A����5A����:A�D���QA�L���–A�8���ãA����B����/B�$���NB�(���sB�+���œB�G���ÈB����C����&C����9C����KC����aC�#���zC�%���žC����ÄC����ßC����øC�!���üC����D�0���3D�P���dD�C���µD�C���ùD�=���=E�%���{E�)���¡E����ËE�?���åE����%F����BF����RF�>���mF����¬F����ÊF����æF����ýF����G�)���1G�&���[G�#���‚G����¦G����ÂG����ÚG�,���ïG�0���H����MH����aH����}H����™H����°H����ÌH����ëH���� I�3���'I�1���[I�7���I�'���ÅI����íI���� J����#J����=J����YJ�(���pJ����™J����©J����ÅJ����áJ�&���ýJ����$K�%���BK�0���hK�"���™K�+���¼K����èK�#���L����+L�%���KL����qL����„L����™L����¯L����ÆL����ãL�����M�"���M�&���@M����gM�&���‚M�'���©M� ���ÑM�%���òM����N����3N�n���KN�E���ºN�����O����O����9O�(���TO�4���}O����²O�)���ËO����õO�1���P�*���EP����pP�4���‰P�B���¾P����Q����!Q�"���:Q����]Q�W���wQ�S���ÏQ�(���#R����LR����hR����…R����œR�'���³R�%���ÛR�3���S�/���5S�6���eS����œS�&���¢S�N���ÉS�9���T�>���RT�5���‘T�#���ÇT�@���ëT����,U�N���LU�E���›U����áU�F���öU�G���=V����…V����•V�1���´V�,���æV����W����$W����>W�'���XW�)���€W�(���ªW�0���ÓW����X�4��� X����UX����hX����X����”X�>���­X�=���ìX�/���*Y�*���ZY����…Y����¡Y����»Y�!���ÔY�)���öY���� Z� ���>Z�'���KZ�$���sZ�0���˜Z�)���ÉZ� ���óZ� ���ýZ� ���[����)[�K���:[�C���†[����Ê[����é[�&���ú[����!\����9\����H\�$���`\�.���…\�C���´\����ø\�(���]� ���=]�-���I]����w]�5���’]����È]����Ø]�L���è]�;���5^�+���q^����^�D���³^� ���ø^�%���_����?_�’���S_�9���æ_�3��� `����T`�;���t`�J���°`�<���û`�%���8a�:���^a�C���™a�&���Ýa����b����#b����Ab����Zb����ub�D���‹b�F���Ðb����c����)c����:c����Kc�;���]c����™c����±c����Âc����Òc����éc� ���d���� d����d�.���0d����_d����{d����˜d����¯d�3���Ëd�(���ÿd�9���(e� ���be�$���le����‘e����£e����³e����Ìe����Ýe����üe����f����'f� ���8f����Yf����uf�,���Žf�X���»f����g����&g����8g�"���Hg�6���kg�+���¢g����Îg�!���çg�"��� h����,h�<���>h����{h� ���h�G���h�R���×h�>���*i�?���ii�?���©i�7���éi�=���!j�7���_j�:���—j�›���Òj�!���nk�.���k�e���¿k�f���%l�@���Œl�B���Íl�!���m�4���2m�&���gm����Žm����ªm�.���Ãm����òm�'���n����9n����Sn����nn����~n����…n����n����¼n�(���Ãn�3���ìn�-��� o�<���No����‹o����£o� ���¿o�&���Ëo�9���òo�‡���,p����´p����Ëp�o���åp����Uq�7���oq����§q�G���Çq�%���r����5r����Hr����gr� ���|r�J���ˆr�2���Ór�X���s�5���_s�F���•s�E���Üs�G���"t�;���jt� ���¦t�8���Çt�@����u�B���Au�9���„u�:���¾u�:���ùu�8���4v�4���mv�4���¢v�e���×v����=w����Uw�&���nw�|���•w����x�3���"x�A���Vx�;���˜x�_���Ôx�_���4y�\���”y�A���ñy�2���3z�9���fz�*��� z�1���Ëz�0���ýz�*���.{����Y{����l{����…{� ���—{�-���¥{�.���Ó{� ���|�"���#|��������Y��J��������m����Ê���Á���������V��¶����Æ����´����������ü���������ö��¸��Ç������—��Ê����ã���?��/��t����l��ñ���Ë�������ø��§������#��E��b���À�����o������À��*���½��(��º��ÿ��æ��������O��Þ��ç��À����������Ÿ���«�������������æ��³��è������ò������I��������������†������������ˆ������?���‚��h����¦��q��¡���F��7������T������Í������ ��������ì��J������ü��¢��™����������6����������á��=��¾��n���‘���m�� ���������������£�������ð���R�������v��P������n��1��N������A����������B�������ƒ���x����������'���¬��\��������t��î�� ��ä��6��z��Ÿ����������|���1��û��#��÷����������P��ß��_��Œ������s��)����������Ì����������|��Ô���������;�����������“��Y�� �������L��*������������ƒ������G���ª��9��]��˜��?��#������y������Í��\�������º��}��È��`��Ñ���Ò���)���·���������¨���������¼�� ������ž��,������z��[��{��z��¹���å��Á��»��þ�������ù��Ÿ��±������Q��[��˜������������¦������º���ñ��z��X���ø��Þ������� �� ����j������H����5����������…��V��r��(��(��Z��½����������Á��F��M��b��‹��š������j��%������������������Ç��.����Æ���t������Í���_�� �����å������•�� ������•��0��|������·��P������w��¦��\��Î��������_���„��*������9������F���N������ð��ü������������~���k��€���&��y��>��‰��3�����à��Ë��”��ï��A���S���������0������³���ï��ª�����‰���Ñ������O��Ë��M��~��›��”��ð��%���ä�����/������W��„��%��Â���Ò����-��ì��E���+��`���z�����ƒ��h��à��¬��é��†������À��û��­��������|��i��ù�������›��������I������9������&���0��È������€��ÿ��`��Ø���œ�����(��!����������@��Š��º��þ��ò������)��ý���‚������?��������������Ý��²���¸��Y������†��� ��������õ��a�������������þ��Â��8�����h����Q������������í������´��Ê��w��¢��Ñ��©������;��a��s��þ��¨��G��������€���������������D������E��"��‡��g��C������ ����������C������������Õ����������ƒ��Æ������1��}���3���@����������-������}��J����<��p��®���������8��^������������$��x��������ú��ƒ��¡�� ��ˆ��©��G����������>���2������¶��h��������������,��������×�� ��������������W������7������²������—���£������ ��P���������������­��³��¡������E��ù��_��[��x��ú�����Ï��I������ã��e��è��‹������n��ê��ø���*������k��S������ñ������4��«��A������ý��û�������g�����v��Ã��½��T���™��Ô����é��Ï��Ù��K�����Ë��������ë��(��g����¥�������Õ��{��f��k��}����²������@�����i��¦���.��È������¿�������������I���k������H��!�����������X������Ã��6���ô������Æ��€��Ä�����\����������«���ª��Ò��H��i��M��������"����ê�������m��±���D������Ý�����ÿ�����������W���~����õ��������������é������%��H�� ���������ü��[���ç��Š������å����������j��0������¹��Ç����������¾��B������õ���h���I��C����3��)��'��p��¿��M���ž���t��£��Ÿ������p��r����������w������x�������������¡����������µ��Œ�������^���â��¶��±��>������������������=��¥������S�� ��ý��â��J��Ü��ð��r���Š������������y��¡��·��Ö��Š��o��Ð��������������w��¼��r��Å���É���������Ù��q��Ô��§��ñ��P������j���Á���s���«����������°���ó��“��f���Ê������H�����������¶������Œ��!��T��������B��‘��������������e�����������Ã��Ž��{������P��B��‡��…���,���a�������G��…����������Í��V��f��¼�������Ÿ������j��µ���Ì��f��ƒ��%������«��o��ˆ��è��Æ����������������¨��­������G������������’��›��=��î���ò�����������.�� ��������ä��‰������š����!��B��ª��x����������ˆ��Ó��»����—��¼��F��²��÷������÷�����������������´��z��…����r��ê����������»����������g������a��m�������³��f���������� ������������������K��������Z���Ô��€��µ��¡������à�������™��ê��‘��ü������ ��|����������‹��Q������•��0���¥������î��Ä��w��{��¼��-������v��d��'��"���›����������»����‰�����€������?��s��»������K��n������-���Ø��‡��‘��„��Œ��æ��Z��V������N���[������5���Y�����Ë��á������������•�����Ú��N��1��W��l��×��Œ��q����������� ��_������c��k���������ß�����ˆ���á���U��æ���×��˜������e�����D���2���q��™�������7��X��U��V���Û��5��Ø����X�������L���ã��$������Z����½���ò��ß���������¹��K��®��c�����������4��È���”���������������›��Ž���ì��‘�� ��o���4��Á������¼��•�� ������“������µ��:��E������R��<��ó��L������î��¨��Ù�������Ï�������@��‚��…�� ��/���¯��¨����Ê��A��`��¥��Ý����©��?��������������<���¤��‹��æ��‹��Å��5������ú��Š����������0��:��2��I������5��Ò��+��£��9���–����$���3��p���������Ð������ë��´���:������]�������R������&��l������¦��¯��ï����†��k������–���Ó������¢������Ö������Ì��ö��©��2��¤�� �����œ��¤�������������\��Â��Ù��¸��� ��¯�� ��ô������U��Q����������Ä��Ã���d��������������*������œ��v���K���e��������������6�� ��’��n��Ó��q������–��‚���µ��T��u��Õ��>��þ��t��������°��º��'��]��������Õ���#��±��������������,��/����������p��©���R��M��Ø��Î������3������ö���]��O��O���¾�����������Ð���w���c��~����������f��Å��¥�����™��—������¿��K��B������¾����‘��‰������ ������X��²��9����������c��‡�������+����������¸��Z��„��ö���������4�����������������³��������¢��á��˜��ã��������†��±��1���(���±������Ž��á��ß�������������������5��Y���Q���¢������������������������d�� ������¸��ù��§��Ñ��¦��:��d���`��¬������+��ú��ë���O��j��s��Ž�� ���������:��Ÿ��t���Û��‡��}��e��i������ä�������Ï��¨������<��6��\������������������h������$��x���N������¯��l������������d��������Ø��¢���c��9������´����������¯�����������b��7��†����������¸��`�����ì���;��í��Ü����������É��^�������������¿��#������Ï��‡��‹�����#���Ç���Þ��¹��Ã������ �������Þ��Ž������•��r��¥����������í�������S��ø��î������G��J���;��º����������ë����’������&������ö��š��������–��÷��,������§���e��ù�����½�������������� ��ê��¯��ÿ��Ù��™��F��×���è���«������Ö��������������������'��b��+���Ò��A����=���…����Ç���������������s����l�������b��U��<��Š���m��“������'����.��Ú��ž��.�����;��¹��_��8������ª��Ô������;������·����������Ý��)��D��â��°��~������ž������o��)������¤������������ï��¾����ò��ß��ô���W��ó��é����������ø��X������Î����Z������Ó��Â����������‚��8���!���ã��Ó���õ������y���>��N��+��Ä���"��œ��Ú��[��U��®��=��¤��Þ��Û�� ���������� �������@��C��‰��§��›���H��ë��š���„���6������„�� ���^��������v��ž������}��|������ï���“���è����L���� ��­��{���l��4��u��”��Ü��T������¬��Ð������o��”��������ç��Í����š��Å��]��������i���u��¿��Ö�������<������É��a��à��é���ô������n��õ�����¹��C��×����à��q������C��â���Û���ž��Ú�������·������8��m��÷������@������ ������d��È��­������&��-��������������S����������u�����V��O��R���������É��å�����������–��’������·��S��������4��å������Œ��®��®������.��u�������p��Q��g��‚��F������������®��g��*��"��°����ç��������©����������L��!��Ž����������������Ü���v��������$����T����¶���"��c��:���ç���A������7��ä��������7���ˆ��Õ������^��2������˜���������£������������–��Å��û��°��²��ú���i����������R��Ì��$��ì��=��—������������ý��µ��»������í����������������������u�����Ì���¬���½��-��Y������a�� �����˜�� ������É��M��W��ª���Î��Ö��y��]��������Ú��������������­���Û������/��Î���������������Ý��³��J��°��í�������´��,��¤��>��À������”��Ü��û��œ�������¬��“��L������������2��%����������â������’��—��~��¶��ý��ô������ ������8��ÿ��Ð����������Ä��3��1��D������ ��E��ó����������¾��š��y����������ó���ñ�� ��’�������{��Â��^��ð��������D������b������Ñ��&������£������U���œ��/����§�����F|����N|�|{��¨{��¼{��Ð{��ä{��ø{�� |�� |��4|��H|��\|��x|��Œ|��¨|��¼|��è|��}��@}��T}��h}��|}��}��¼}��è}��~��0~��D~��`~��V|��������������� �����������������ÿÿÿÿv|��������1���ÿÿÿÿ¨|��������/���ÿÿÿÿØ|�7����������ÿÿÿÿ"}�����������ÿÿÿÿR}�����������ÿÿÿÿ|}��������(���ÿÿÿÿ©}� �������Q���ÿÿÿÿ~� �������R���ÿÿÿÿ`~� �������V���ÿÿÿÿÀ~������������������ÿÿÿÿì~�����������ÿÿÿÿó~� ���������������ÿÿÿÿ����������ÿÿÿÿ>��������������������������������ÿÿÿÿj��������������������������������ÿÿÿÿ¶��������������������������������ÿÿÿÿ€�3����������ÿÿÿÿ[€��������*���ÿÿÿÿ•€�����������ÿÿÿÿÉ€��������4���ÿÿÿÿ� �������.�������.�������/�������"���ÿÿÿÿ»� �������3�������3�������3�������'���ÿÿÿÿ‡‚� �������(�������(�������*����������ÿÿÿÿ+ƒ��������!����������ÿÿÿÿ]ƒ�����������ÿÿÿÿeƒ�#���������������ÿÿÿÿŸƒ�.���������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option used in invalid context -- %c�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: GNU coreutils 8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-10-28 22:27+0100 Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com> Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net> Language: sl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0); � � ( IZRAZ ) IZRAZ je pravilen ! IZRAZ IZRAZ ni pravilen IZRAZ1 -a IZRAZ2 IZRAZ1 in IZRAZ2 sta oba pravilna IZRAZ1 -o IZRAZ2 IZRAZ1 ali IZRAZ2 sta pravilna � --check-order preveri, ali je vhod pravilno urejen, Äetudi so vse vhodne vrstice s pari --nocheck-order ne preverjaj, ali je vhod pravilno urejen � -1 izpusti vrstice, ki se pojavijo samo v prvi datoteki -2 izpusti vrstice, ki se pojavijo samo v drugi datoteki -3 izpusti vrstice, ki se pojavijo v obeh datotekah � -a, --all isto kot -b -d --login -p -r -t -T -u -b, --boot Äas zadnjega zagona -d, --dead izpis mrtvih procesov -H, --heading izpiÅ¡i vrstico z legendo � -b DATOTEKA DATOTEKA obstaja in je bloÄna posebna enota -c DATOTEKA DATOTEKA obstaja in je znakovna posebna enota -d DATOTEKA DATOTEKA obstaja in je imenik -e DATOTEKA DATOTEKA obstaja � -l dolga oblika izpisa -b v dolgi obliki izpusti domaÄi imenik in ukazno lupino -h v dolgi obliki izpusti uporabnikovo datoteko .project -p v dolgi obliki izpusti uporabnikovo datoteko .plan -s kratka oblika izpisa (privzeto) � [-n] NIZ dolžina NIZA je veÄja od niÄ NIZ isto kot -n NIZ -z NIZ dolžina NIZA je enaka niÄ NIZ1 = NIZ2 niza sta enaka NIZ1 != NIZ2 niza se razlikujeta � ARG1 * ARG2 aritmetiÄni produkt ARG1 in ARG2 ARG1 / ARG2 aritmetiÄni koliÄnik pri deljenju ARG1 z ARG2 ARG1 % ARG2 aritmetiÄni ostanek pri deljenju ARG1 z ARG2 � ARG1 + ARG2 aritmetiÄna vsota ARG1 in ARG2 ARG1 - ARG2 aritmetiÄna razlika ARG1 in ARG2 � ARG1 < ARG2 ARG1 je manjÅ¡i od ARG2 ARG1 <= ARG2 ARG1 je manjÅ¡i ali enak ARG2 ARG1 = ARG2 ARG1 je enak ARG2 ARG1 != ARG2 ARG1 ni enak ARG2 ARG1 >= ARG2 ARG1 je veÄji ali enak ARG2 ARG1 > ARG2 ARG1 je veÄji od ARG2 � DATOTEKA1 -ef DATOTEKA2 datoteki imata isto Å¡tevilko naprave in inoda DATOTEKA1 -nt DATOTEKA2 DATOTEKA1 je bila spremenjena kasneje kot DATOTEKA2 DATOTEKA1 -ot DATOTEKA2 DATOTEKA1 je bila spremenjena prej kot DATOTEKA2 � CELO_Å TEVILO prepiÅ¡i do navedene vrstice, ne vÅ¡tevÅ¡i te vrstice /REGIZR/[ODMIK] prepiÅ¡i do ODMIKA, ne vÅ¡tevÅ¡i ujemajoÄe se vrstice %%REGIZR%%[ODMIK] preskoÄi na ODMIK, ne vÅ¡tevÅ¡i ujemajoÄe se vrstice {CELO_Å TEVILO} ponovi prejÅ¡nji regularni izraz navedenokrat {*} ponovi prejÅ¡nji regularni izraz, kolikorkrat gre Zapis vrstice ODMIKA je znak »+« ali »-«, ki mu sledi pozitivno celo Å¡tevilo. � Å TEVILO1 -eq Å TEVILO2 celo Å TEVILO1 je enako celemu Å TEVILU2 Å TEVILO1 -ge Å TEVILO2 celo Å TEVILO1 je veÄje ali enako od celega Å TEVILU2 Å TEVILO1 -gt Å TEVILO2 celo Å TEVILO1 je veÄje od celega Å TEVILU2 Å TEVILO1 -le Å TEVILO2 celo Å TEVILO1 je manjÅ¡e ali enako od celega Å TEVILU2 Å TEVILO1 -lt Å TEVILO2 celo Å TEVILO1 je manjÅ¡e od celega Å TEVILU2 Å TEVILO1 -ne Å TEVILO2 celo Å TEVILO1 ni enako celemu Å TEVILU2 � NIZ : REGIZR ujemanje NIZA s sidranim regularnim izrazom REGIZR match STRING REGIZR isto kot NIZ : REGIZR substr NIZ POLOŽAJ DOLŽINA podniz NIZA, POLOŽAJ se Å¡teje od 1 dalje index NIZ ZNAKI mesto v NIZU, kjer se nahajajo ZNAKI, sicer 0 length NIZ dožina NIZA � a oÅ¡tevilÄi vse vrstice t oÅ¡tevilÄi samo polne vrstice, praznih ne n ne oÅ¡tevilÄi nobene vrstice pREGIZR oÅ¡tevilÄi samo vrstice, ki se ujemajo z osnovnim regularnim izrazom REGIZR OBLIKA je nekaj od naÅ¡tetega: ln levo poravnano, brez vodilnih niÄel rn desno poravnano, brez vodilnih niÄel rz desno poravnano, z vodilnimi niÄlami � b ustvarimo bloÄno enoto (z izravnalnikom) c, u ustvarimo znakovno enoto (brez izravnalnika) p ustvarimo FIFO � Å t. up.=%lu � ÄŒe je DOLŽINA_STRANI <= 10, se privzame izbira -t. Kadar DATOTEKA ni podana ali je enaka -, se bere standardni vhod. � Polje je zaporedje praznih znakov (navadno presledkov ali tabulatorjev), ki mu sledi zaporedje nepraznih znakov. Polja se preskoÄijo pred znaki. � Poenostavljeni program »finger«: izpis informacij o uporbnikih. Datoteka UTMP bo %s. � Sam - implicira -i. ÄŒe UKAZ ni podan, izpiÅ¡emo spremenljivke okolja. � Vsaki izbiri sledi neobvezna Å¡irina polja, navedena kot desetiÅ¡ko Å¡tevilo, zatem neobvezni modifikator, ki je nekaj od naslednjega: »E« za lokalizirano alternativno predstavitev, Äe je ta na voljo, ali »O« za lokalizirane alternativne Å¡tevilÄne simbole, Äe so ti na voljo. � Rezultat ovrednotenja IZRAZA je lahko resniÄno (true) ali neresniÄno (false). IzpuÅ¡Äen IZRAZ se privzeto ovrednoti kot neresniÄno. IZRAZ je eden od: � V posebnem primeru napravi cp varnostno kopijo IZVORa, kadar sta podani izbiri --force in --backup, IZVOR in CILJ pa sta isto ime za obstojeÄo navadno datoteko. � Pazite na to, da morajo mnogi operatorji biti zavarovani z obratno poÅ¡evnico ali narekovaji, da jih ne interpretira ukazna lupina. Primerjava je aritmetiÄna, Äe sta oba argumenta Å¡tevili, sicer leksikografska. Ujemanje vzorcev vrne niz med oklepajema \( in \) ali pa prazen niz; Äe \( in \) nista podana, vrne Å¡tevilo znakov, ki se ujemajo, ali 0. � GLAVNO in POMOŽNO Å¡tevilo moramo vedno navesti za TIP b, c ali u, ne smemo pa ju navesti pri TIPU p. ÄŒe se GLAVNO ali POMOŽNO Å¡tevilo zaÄne z 0x ali 0X, se ga tolmaÄi kot Å¡estnajstiÅ¡ko Å¡tevilo; Äe se zaÄne z vodilno niÄko, kot osmiÅ¡ko, sicer pa kot desetiÅ¡ko Å¡tevilo. TIP je lahko: � Privzeto ukaz »rm« ne odstrani imenikov. Z izbiro --recursive (-r ali -R) pa odstrani tudi vse navedene imenike z njihovo vsebino vred. � Privzete so izbire -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sta dva loÄitvena znaka za loÄevanje logiÄnih strani; Äe je drugi znak izpuÅ¡Äen, se privzame :. Uporabite \\\\ za \\. SLOG je nekaj od naÅ¡tetega: � Privzeto se z grobo hevristiko ugotavlja, ali je IZVOR razprÅ¡ena datoteka, CILJ pa je v tem primeru tudi razprÅ¡ena datoteka. Isto dosežemo tudi z izbiro --sparse=auto. Z izbiro --sparse=always bo CILJ razprÅ¡en vedno, kadar IZVOR vsebuje dovolj dolgo zaporedje znakov niÄ. Izbira --sparse=never vedno prepreÄi ustvarjanje razprÅ¡enih datotek. ÄŒe je podana izbira --reflink[=always], se izvede »lahko« kopiranje, pri katerem se podatkovni bloki prepiÅ¡ejo le, Äe so spremenjeni. ÄŒe to ni mogoÄe, Äe pride pri kopiranju do napake, ali Äe je podana izbira --reflink=auto, se uporabi standardno kopiranje. � KOSI so lahko: N razdeli na N datotek, glede na velikost vhoda K/N izpiÅ¡i K-ti kos od N-tih na standardni izhod l/N razdeli na N datotek brez deljenja vrstic l/K/N izpiÅ¡i K-ti kos od N-tih na standardni izhod brez deljenja vrstic r/N kot »l«, vendar ob uporabi krožne porazdelitve r/K/N podobno, vendar izpiÅ¡i le vsak izpiÅ¡i K-ti kos od N-tih na standardni izhod � Kombinacijske nastavitve: * [-]LCASE isto kot [-]lcase cbreak isto kot -icanon -cbreak isto kot icanon � TRAJANJE je realno Å¡tevilo z neobvezno pripono: »s« za sekunde (privzeto), »m« za minute, »h« za ure in »d« za dneve. � Izpisane vrednosti so v enotah prve razpoložljive ENOTE, podane z izbiro --block-size ter s spremenljivkami okolja %s_BLOCK_SIZE, BLOCK_SIZE in BLOCKSIZE. Privzeta enota je 1024 bajtov (512 pri nastavljenem POSIXLY_CORRECT). � ZASTAVICA je lahko: append dodajanje na konec datoteke (smiselno le pri izhodu; priporoÄeno conv=notrunc) � Vsaka ZAÅ ÄŒITA ima obliko »[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+«. � Zgledi: %s -12 datoteka1 datoteka2 IzpiÅ¡i le vrstice, navzoÄe v datoteki1 in datoteki2 %s -3 datoteka1 datoteka2 IzpiÅ¡i vrstice, ki so le v datoteki1, ne pa tudi v datoteki2, ali obratno � Zgledi: %s /usr/bin/ -> »/usr« %s dir1/str dir2/str -> »dir1«, ki mu sledi »dir2« %s stdio.h -> ».« � Zgledi: %s /usr/bin/sort -> »sort« %s include/stdio.h .h -> »stdio« %s -s .h include/stdio.h -> »stdio« %s -a nekaj/niz1 nekaj/niz2 -> »niz1« ki mu sledi »niz2« � Zgleda: %s f - g IzpiÅ¡e vsebino datoteke »f«, zatem standardni vhod, zatem vsebino »g«. %s PrepiÅ¡i vsebino standardnega vhoda na standardni izhod. � Zgledi: %s root /u Spremeni lastnika imenika »/u« v »root«. %s root:staff /u Podobno, a obenem spremeni Å¡e njegovo skupino v »staff«. %s -hR root /u Spremeni lastnika imenika »/u« in podimenikov v »root«. � Zgleda: %s staff /u Spremeni skupino podimenika »/u« v »staff«. %s -hR staff /u Spremeni skupino podimenika »/u« s podimeniki v »staff«. � Zgledi: Pretvori sekunde od epohe (1970-01-01 UTC) v datum: $ date --date='@2147483647' Prikaži Äas v drugi Äasovni coni (uporabite ukaz tzselect(1) za izbiro TZ): $ TZ=='Asia/Singapore' date Prikaži lokalni Äas ob 9. uri zjutraj naslednji ponedeljek v New Yorku: $ date --date='TZ="America/New_York" 09:00 next Mon � Razen pri izbirah -h in -L se pri vseh testih v zvezi z DATOTEKAMI sledi simbolnim povezavam. Pazite na to, da je potrebno oklepaje opremiti z obratnimi poÅ¡evnicami, da jih ne tolmaÄi ukazna lupina. Celo Å TEVILO je lahko tudi -l NIZ, ki se ovrednoti na dolžino NIZA. � Izhodni status je 0, Äe IZRAZ ni prazen ali enak 0; 1, Äe je IZRAZ prazen ali 0; 2, Äe IZRAZ ni skladenjsko pravilen; 3, Äe je priÅ¡lo do napake. � Izhodni status: 0 Äe je vse v redu, 1 pri manjÅ¡ih težavah (npr. nedosegljivi podimeniki), 2 pri resnih težavah (npr. nedosegljivi argumenti ukazne lupine). � OBLIKA nazdira izpis enako kot pri funkciji printf v C. TolmaÄena zaporedja so: \" dvojni narekovaj � Izpis doloÄa izbrana OBLIKA. TolmaÄ razume naslednja zaporedja: %% znak za odstotek: % %a lokalizirano okrajÅ¡ano ime dneva v tednu (npr. ned) � Upravljaj s terminalskim vodom, povezanim s standardnim vhodom. Brez argumentov izpiÅ¡e hitrost, komunikacijski protokol in vse spremembe glede na stty sane. Pri nastavitvah je ZNAK mogoÄe podati dobesedno, ali pa v notacijah ^c, 0x37, 0177 ali 127; s posebnimi vrednostmi ^- in undef prekliÄemo nastavitve posebnih znakov. � ÄŒe je podana izbira -e, se tolmaÄijo naslednja zaporedja: � ÄŒe je DATOTEKA »-«, uniÄi vsebino, prebrano s standardnega vhoda. DATOTEKE odstranimo le, Äe je podana izbira --remove (-u). Privzeto datoteke ne odstranimo, kar je primerneje za delo z napravami (npr. /dev/hda). Pri delu z navadnimi datotekami veÄina uporablja izbiro --remove. � ÄŒe DATOTEKA ni navedena, piÅ¡emo na %s. ObiÄajno je DATOTEKA %s. ÄŒe sta podana ARGUMENT1 in ARGUMENT2, uporabi -m; obiÄajno sta argumenta »am i« ali »mom likes«. � ÄŒe je DATOTEKA podana, iz nje preberemo, katero barvo uporabimo za kateri tip datotek oziroma pripon. Sicer se uporabi vgrajena tabela. Za podrobnosti o skladnji datoteke poženite »dircolors --print-database«. � ÄŒe sta bodisi PRVO bodisi KORAK izpuÅ¡Äena, se zanju uporabi privzeta vrednost 1; izpuÅ¡Äeni KORAK zavzame vrednost 1 celo takrat, kot je ZADNJE manjÅ¡e od PRVEGA. PRVO, KORAK in ZADNJE so tolmaÄena kot Å¡tevila s plavajoÄo vejico. KORAK je navadno pozitiven, Äe je PRVO Å¡tevilo manjÅ¡e od ZADNJEGA, sicer pa negativen. � ÄŒe je NAÄŒIN enak »0« (niÄla), se za tok ne uporablja izravnavanje. � ÄŒe je NAÄŒIN enak »L«, se za tok uporablja izravnavanje na ravni vrstic. Na izbira ni veljavna, Äe je izbran standardni vhod. � ÄŒe je DATOTEKA enaka -, prepiÅ¡emo nazaj na standardni izhod. � ÄŒe UKAZ ni podan, izvedemo »${SHELL} -i« (privzeto »/bin/sh -i«). � ÄŒe je standardni vhod terminal, ga preusmerimo z /dev/null. ÄŒe je standardni izhod terminal, dodajamo izhod na »nohup.out«, Äe je mogoÄe, sicer pa na »$HOME/nohup.out«. ÄŒe je standardni izhod za napake terminal, ga preusmerimo na standardni izhod. Izhod preusmerimo na DATOTEKO z ukazom »%s UKAZ > DATOTEKA«. � ÄŒe je Å¡tevilo K (Å¡tevilo vrstic ali bajtov) predznaÄeno z znakom »+« (plus), priÄnemo izpis od K-te vrstice (K-tega bajta) naprej namesto zadnjih K vrstic (bajtov) v vsaki datoteki. K ima lahko množiteljsko pripono: b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024, GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y. � Vhodne nastavitve: [-]brkint prekinitve sprožijo signal za prekinitev [-]icrnl pretvori znak CR v NL [-]ignbrk ne upoÅ¡tevaj prekinitvenih znakov [-]igncr ne upoÅ¡tevaj znaka za pomik na levi rob � K ima lahko množiteljsko pripono: b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024, GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y. � KLJUÄŒ ima obliko P[.Z][IZBIRE],[P[.Z][IZBIRE]], kjer je P Å¡tevilka polja in Z položaj znaka znotraj polja, oboje Å¡teto od 1 dalje do konca vrstice. ÄŒe ni podana nobena od izbir -t ali -b, se znaki v polju Å¡tejejo od zaÄetka predhodnega presledka. IZBIRE so lahko ena ali veÄ od enoÄrkovnih izbir urejanja [bdfgiMhnRrV], kar prevlada nad globalnimi nastavitvami za ta kljuÄ. ÄŒe KLJUÄŒ ni podan, se kot kljuÄ uporabi celotna vrstica. VELIKOSTI lahko sledi ena od naslednji multiplikativnih pripon: � GPLv3+: GNU GPL, 3. izdaja ali poznejÅ¡a <http://www.gnu.org/licenses/gpl.html> To je prosto programje; lahko ga redistribuirate in/ali spreminjate. Za izdelek ni NOBENEGA JAMSTVA, do z zakonom dovoljene meje. � Lokalne nastavitve: [-]crterase izpisuj znak za brisanje kot brisanje-presledek-brisanje * crtkill pobriÅ¡i celotno vrstico ob upoÅ¡tevanju echoprt in echoe * -crtkill pobriÅ¡i celotno vrstico ob upoÅ¡tevanju echoctl in echok � Å tevila N in BAJTOV lahko okrajÅ¡amo s priponami za množenje: c = 1, w = 2, b = 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024, xM = M, GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y. PRETVORBA je lahko (veÄ izbir loÄimo z vejico): � OPOMBA: ÄŒe UKAZ sam prilagodi izravnavanje svojih standardnih tokov (tak je npr. »tee«), bo ta nastavitev prevladala nad nastavitvami, nastavljenimi v »stdbuf«. Nekateri filtri (npr. »dd« in »cat«) ne uporabljajo standardnih tokov za vhod in izhod, zato nastavitve »stdbuf« nanje nimajo uÄinka. � Pomnite: [ upoÅ¡teva izbiri --help in --version, »test« pa ne. »test« tudi ta niza obravnava enako kot druge neprazne NIZE. � OPOZORILO: vaÅ¡a ukazna lupina ima lahko vgrajeno vrednost %s, ki navadno prevlada nad tu opisano razliÄico. Prosimo, obrnite se na dokumentacijo vaÅ¡e ukazne lupine za podrobnosti o podprtih izbirah. � Vsebino datotek, izbrisanih z ukazom rm, je z dovolj znanja in Äasa vÄasih mogoÄe rekonstruirati. ÄŒe bi bili radi bolj gotovi, da je vsebina zares nepovratno izbrisana, razmislite o uporabi ukaza shred. � Bodite pozorni na to, da izbiri -d in -t sprejemata razliÄna zapisa datuma in Äasa. � Primerjave upoÅ¡tevajo pravila, navedena v »LC_COLLATE«. � Pomnite: »uniq« ne zazna ponovljenih vrstic, Äe te niso v sosledju. Vhod je treba najprej urediti, ali uporabiti »sort -u« brez »uniq«. Primerjava upoÅ¡teva lokalizirana pravila, navedena v »LC_COLLATE«. � Neobvezni minus (-) pred NASTAVITVIJO pomeni njen izklop. Zvezdica (*) oznaÄuje nastavitve, ki so razÅ¡iritve standarda POSIX. Dejansko dostopne nastavitve so odvisne od sistema. � Sicer je NAÄŒIN Å¡tevilka, ki ji lahko sledi ena od naslednjih oznak: KB 1000, K 1024, MB 1000×1000, M 1024×1024 in tako dalje za G, T, P, E, Z in Y. V tem primeru bo izbrani tok izravnavan, velikost izravnalnika pa NAÄŒIN bajtov. � Izhodne nastavitve: * bsN slog zakasnitve pri brisalki; N je v intervalu [0..1] * crN slog zakasnitve pri pomiku na zaÄetek vrste; N je v [0..3] * ffN slog zakasnitve pri pomiku na naslednjo stran; N je v [0..1] * nlN slog zakasnitve pri skoku v naslednjo vrsto; N je v [0..1] � ÄŒe ni podan, lastnik datoteke ostane isti. Skupina se ohrani, Äe ni podana, spremeni pa v skupino lastnika, Äe lastniku sledi dvopiÄje (:). LASTNIK in SKUPINA sta lahko podana s simbolno ali numeriÄno vrednostjo. � Ovrednoten IZRAZ izpiÅ¡emo na standardni izhod. Operatorji v spodnjem seznamu so razvrÅ¡Äeni po naraÅ¡ÄajoÄi prednosti, prazna vrstica loÄi skupine z isto prednostjo. Vrednost IZRAZA je lahko: ARG1 | ARG2 ARG1, Äe ta ni prazen ali enak 0, sicer ARG2 ARG1 & ARG2 ARG1, Äe ni noben argumentov prazen ali enak 0, sicer 0 � ÄŒe je DATOTEKA -, beremo s standardnega vhoda. VZOREC je lahko eden od: � Napake v programu %s sporoÄite na %s � PoroÄila o napakah: %s Napake v prevodu sporoÄite na <translation-team-sl@lists.sourceforge.net>. � MNOŽICE doloÄajo nizi znakov. VeÄinoma predstavljajo sebe, posebej pa se tolmaÄijo naslednja zaporedja: \\NNN znak z osmiÅ¡ko kodo NNN (dolžina 1, 2 ali 3 osmiÅ¡ke Å¡tevke) \\\\ obratna poÅ¡evnica \\a zvonÄek \\b pomik za en znak v levo \\f skok na novo stran \\n skok v novo vrstico \\r pomik na levi rob \\t vodoravni tabulator � SIGNAL lahko podamo z imenom (npr. »HUP«) ali Å¡tevilko (npr. »1«), ali pa z izhodno statusno kodo procesa, ustavljenega s signalom. PID (identifikacijska Å¡tevilkoa uporabnika) je celo Å¡tevilo; negativna vrednost doloÄa identifikacijko Å¡tevilko skupine. � VELIKOST je celo Å¡tevilo, ki mu lahko sledi enota (npr. 10M = 10×1024×1024). Enote so K, M, G, T, P, E, Z, Y (potence 1024) ali KB, MB... (potence 1000). � VELIKOST ima lahko predpono, ki je lahko eden od naslednjih modifikatorjev: »+«: poveÄaj za, »-«: zmanjÅ¡aj za, »<«: najveÄ toliko, »>«: najmanj toliko, »/« zaokroži navzdol na veÄkratnik od, »%« zaokroži navzgor na veÄkratnik od. � ÄŒe poÅ¡ljemo tekoÄemu procesu »dd« signal %s, ta izpiÅ¡e vhodno-izhodne statistike na standardni izhod za napake in nadaljuje z delom. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Izbire so: � Posebni znaki: * dsusp ZNAK ZNAK bo, ko poÄisti vhodni medpomnilnik, poslal signal za ustavitev terminala eof ZNAK ZNAK bo zakljuÄil datoteko (konÄal vhod) eol ZNAK ZNAK bo zakljuÄil vrstico � Posebne nastavitve: N hitrosti vhoda in izhoda nastavi na N bitov/s * cols N sporoÄi jedru, da uporabljamo terminal z N stolpci * columns N isto kot cols N � Varnostna kopija ima pripono »~«, razen Äe ni z izbiro --suffix ali spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugaÄe. Vrsto varnostnih kopij lahko nastavimo z izbiro --backup ali spremenljivko VERSION_CONTROL. Možnosti so: � Podatki so kodirani skladno z abecedo base64, opisano v priporoÄilu RFC 3548. Dekodiranje ob znakih abecede base64 tolerira znake za nove vrstice. Uporabite --ignore-garbage za poskus rekonstrukcije kodiranega toka, ki vsebuje Å¡e druge znake izven abecede base64. � Naslednje izbire vplivajo na to, kako je pri podani izbiri -R preÄesano datoteÄno drevo. ÄŒe je navedena veÄ kot ena od naÅ¡tetih izbir, se upoÅ¡teva le zadnja. -H Äe je argument ukazne vrstice simbolna povezava na imenik, preÄeÅ¡i ta imenik -L preÄeÅ¡i vse simbolne povezave na imenike, na katere naletiÅ¡ -P ne preÄeÅ¡i nobene simbolne povezave (privzeto) � Naslednje tri izbire so uporabne le pri preverjanju nadzornih vsot: --quiet brez izpisa pri uspeÅ¡no verificiranih datotekah --status brez izpisa, izhodna statusna koda kaže uspeh -w, --warn z opozorili pri nepravilno oblikovanih vrsticah z nadzornimi vsotami MD5 � IzraÄun nadzornih vsot je opisan v %s. Pri preverjanju mora biti datoteka z vrednostmi v enaki obliki kot izpis programa. Privzet naÄin je izpis vrstice z nadzorno vsoto, statusnim znakom (»*« za binarne, presledek za besedilne datoteke) in imenom DATOTEKE, za katero je bila izraÄunana nadzorna vsota. � Veljavna oblikovna zaporedja za datoteke (brez --file-system): %a - osmiÅ¡ki zapis pravic do dostopa %A - pravice do dostopa zapisane v Äloveku umljivi obliki %b - Å¡tevilo dodeljenih blokov (glej %B) %B - velikost v bajtih za vsak blok, ki ga javi »%b« %C - niz z varnostnim kontekstom SELinux � Datoteko, katere ime se zaÄne z minusom (npr. »-bla«) lahko odstranimo z enim od naslednjih dveh ukazov: %s -- -bla %s ./-bla � ÄŒe izbira -d ni podana in sta navedeni tako MNOŽICA1 kot MNOŽICA2, se izvede prevedba. Izbira -t se sme uporabiti samo ob prevedbi. ÄŒe je MNOŽICA 2 krajÅ¡a od MNOŽICE 1, se privzame ponovitev zadnjega znaka v MNOŽICI 2 do dolžine MNOŽICE 1. Znaki, ki v MNOŽICI 2 segajo prek dolžine MNOŽICE 1, se ne upoÅ¡tevajo. Edino razreda [:lower:] in [:upper:] se zajamÄeno razÅ¡irita v naraÅ¡ÄajoÄem vrstnem redu. ÄŒe je kateri od njiju naveden v MNOŽICI 2, ju lahko uporabimo le za pretvorbo med velikimi in malimi Ärkami. Izbira -s uporablja MNOŽICO 1, kadar ne prevajamo ali briÅ¡emo, sicer pa stiskanje uporablja MNOŽICO 2 in se izvede po prevajanju in brisanju. � ÄŒe izbira -t ZNAK ni podana, vodilni presledki loÄujejo polja in se ne upoÅ¡tevajo, sicer pa loÄuje polja ZNAK. POLJE je Å¡tevilka polja, Å¡teto od 1 dalje. OBLIKA je eno ali veÄ z vejico ali presledkom loÄenih doloÄil, vsako od njih je oblike »DATOTEKA.POLJE« ali »0«. Privzeta OBLIKA izpiÅ¡e združitveno polje, vsa preostala polja iz DATOTEKE1, in zatem Å¡e vsa preostala polja iz DATOTEKE2; loÄilo med polji je ZNAK. ÄŒe je OBLIKA kljuÄna beseda »auto«, prva vrstica vsake datoteke doloÄa Å¡tevilo polj v vsaki vrstici. Pomembno: DATOTEKA1 in DATOTEKA2 morata biti urejeni po polju, po katerem ju združujemo. Npr. uporabite »sort -k 1b,1«, kadar »join« nima dodatnih izbir, ali »joint -t ''«, Äe »sort« nima dodatnih izbir. Primerjava upoÅ¡teva lokalizacijska pravila, navedena v »LC_COLLATE«. ÄŒe vhod ni urejen in nekaterih vrstic ni mogoÄe združiti, bo izpisano opozorilno sporoÄilo. � Izbire -b, -c in -f se medsebojno izkljuÄujejo. Vsak SEZNAM lahko sestavlja en ali veÄ razponov, ki so med seboj loÄeni z vejico. Izbrani vhod je zapisan v istem vrstnem redu, kot je bil prebran, in je zapisan natanko enkrat. � Uporaba barv za razloÄevanje zvrsti datotek je onemogoÄeno privzeto in z izbiro --color=never. Pri izbiri --color=auto ls doda barvne kode le, Äe je standardni izhod povezan s terminalom. Spremenljivka okolja LS_COLORS lahko spremeni nastavitev. Nastavite jo z ukazom dircolors. � Kadar DATOTEKA ni podana ali je enaka -, se bere standardni vhod. Privzeto oznaÄevanje okrajÅ¡anih vrstic je »-F /«. � ÄŒe DATOTEKA ni podana, ali pa je enaka -, beremo s standardnega vhoda. � Brez podanih izbir program izpiÅ¡e tri stolpce. V prvem stolpcu so vrstice, ki se pojavijo le v DATOTEKI1, v drugem vrstice, ki se pojavijo le v DATOTEKI2, v tretjem pa vrstice, skupne obema datotekama. � Brez navedene IZBIRE izpiÅ¡emo nekaj uporabnih identifikacijskih informacij. � Na standardni izhod zapiÅ¡emo enoznaÄno predstavitev DATOTEKE, privzeto osmiÅ¡ki zapis bajtov. ÄŒe je navedenih veÄ DATOTEK, jih na vhodu zlepimo v zaporedje. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda. � (uporabno samo v sistemih, ki dovoljujejo spremembo lastniÅ¡tva simbolne povezave) � ???� --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke izdelaj varnostno kopijo podanega TIPA -b enako kot --backup, vendar ne sprejema argumenta -f, --force brez vpraÅ¡anj piÅ¡i prek obstojeÄih CILJEV -i, --interactive zahtevaj potrditev pred pisanjem prek obstojeÄega CILJA -n, --no-clobber ne piÅ¡i prek obstojeÄih datotek Ob hkratni navedbi izbir -i, -f in -n se upoÅ¡teva zadnja od njih. � --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke izdelamo varnostno kopijo podanega TIPA -b enako kot --backup, vendar ne sprejema argumenta -d, -F, --directory trde povezave imenikov (samo naduporabnik; zaradi sistemskih omejitev izbira morda ni mogoÄa) -f, --force odstranimo morebitne obstojeÄe ciljne datoteke � --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke izdelamo varnostno kopijo podanega TIPA -b enako kot --backup, vendar ne sprejema argumenta -c (se ne upoÅ¡teva) -C, --compare primerjaj vse pare izvornih in ciljnih datotek, in v nekaterih primerih sploh ne spremeni ciljne datoteke -d, --directory vse argumente obravnavamo kot imena imenikov; ustvarimo vse komponente podanih imenikov � --batch-size=N združuj najveÄ N vhodov naenkrat; pri veÄjem Å¡tevilu uporabi zaÄasne datoteke � --block-size=ENOTA merjeno v ENOTA bajtov velikih blokih; npr. »--block-size=M« izpiÅ¡e velikost v enotah po 1.048.576 bajtov. Glejte spodaj za format podane ENOTE. -B, --ignore-backups ne izpisuj varnostnih kopij, ki se konÄajo z ~ -c razvrÅ¡Äeno po datumu zadnje spremembe; skupaj z -lt: prikaži Äas zadnje spremembe stanja (ctime) in uredi po njem; skupaj z -l: prikaži ctime, urejeno po imenih; sicer: urejeno po ctime, zaÄenÅ¡i z najnovejÅ¡im � --complement komplement množice izbranih bajtov, znakov ali polj � --debug oznaÄi del vrstice, uporabljen pri urejanju in izpiÅ¡i opozorilo o vpraÅ¡ljivi rabi na stderr --files0-from=DATOTEKA beri vhod s seznama imen datotek v DATOTEKI; imena so zakljuÄena z NUL; Äe je DATOTEKA »-« , se bere standardni vhod � --dereference deluje na ciljne datoteke simbolnih povezav, ne pa na same simbolne povezave (prvivzeto) -h, --no-deferefence deluje na simbolne povezave, ne na ciljne datoteke � --files0-from=DATOTEKA preberi imena datotek s seznama z \0 zakljuÄenih imen v navedeni DATOTEKI; ÄŒe je DATOTEKA »-«, se bere standardni vhod. -L, --max-line-length izpiÅ¡i dolžino najdaljÅ¡e vrstice -w, --words izpiÅ¡i Å¡tevilo besed � --from=TRENUTNI_LASTNIK:TRENUTNA_SKUPINA lastnika in/ali skupino zamenjamo samo pri tistih datotekah, pri katerih trenutni lastnik in skupina ustrezata navedenima. Lastnika ali skupino lahko izpustimo; tedaj ujemanje za izpuÅ¡Äeno kategorijo tega ni veÄ pogoj. � --group-directories-first združi imenike pred datotekami mogoÄa je dopolnitev z izbiro --sort, raba --sort=none (-U) onemogoÄi združevanje � --help ta navodila � --indicator-style=BESEDA imenom datotek pripnemo indikator: BESEDA sme biti »none« (privzeto), »slash« (-p), »file-type« (--file-type) ali »classify« (-F) -i, --inode izpis inoda pri vsaki datoteki -I, --ignore=VZOREC pri izpisu izpusti imena, ki ustrezajo VZORCU -k, --kibibytes uporabljaj 1024-bajtne bloke � --lookup uporabi DNS za poizvedbo o kanoniÄnih imenih raÄunalnikov -m samo imena raÄunalnikov ter uporabnik, povezan s standardnim vhodom -p, --process izpiÅ¡emo aktivne procese, ki jih je zagnal init � --no-preserve-root imenika »/« ne obravnavamo kot izjeme --preserve-root ne odstrani »/« (privzeto) -r, -R, --recursive rekurzivno brisanje vsebine imenikov s podimeniki vred -d, --dir odstrani prazne imenike -v, --verbose z razlago poteka � --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto) --preserve-root ne dovoli rekurzivnega dela na »/« � --no-preserve=SEZN_PRIL ne ohranimo navedenih prilastkov --parents pot do vira dodaj v IMENIK � --one-file-system pri hierarhiÄnem odstranjevanju imenikov preskoÄi vse imenike na datoteÄnem sistemu, drugem od tistega, ki pripada argumentu ukazne vrstice � --pid=PID obenem z -f: proces zakljuÄimo, ko PID ugasne -q, --quiet, --silent vedno brez izpisa glave z imenom datoteke --retry datoteko poskuÅ¡aj odpreti, Äetudi ni dostopna v trenutku, ko poženemo tail ali pa postane nedostopna kasneje -- uporabno skupaj s sledenjem imena (izbira --follow-name) � --preserve-context ohrani varnostni kontekst SELinux -Z, --context=KONTEKST nastavi varnostni kontekst SELinux datotek in imenikov � --reference=DATOTEKA uporabi skupino navedene DATOTEKE, namesto da izrecno navedemo skupino � --reference=DATOTEKA uporabi enako zaÅ¡Äito, kot jo ima navedena DATOTEKA, namesto da zaÅ¡Äito izrecno navajamo � --reference=ZGLED namesto izrecno navedenega para UPORABNIK:SKUPINA ju nastavi na vrednosti, kot ju ima datoteka ZGLED � --reference=ZGLED namesto izrecno navedenega KONTEKSTA tega nastavimo enako, kot ga ima nastavljen ZGLED � --rfc-3339=DOLOÄŒILO datum v obliki, skladni s priporoÄilom RFC-3339 DOLOÄŒILO je lahko »date«, »seconds« ali »ns« za datum in uro v navedeni natanÄnosti. Datum in Äas sta v izpisu loÄena z enim presledkom: 2006-08-07 12:34:56-06:00 -s, --set=NIZ nastavi Äas na v NIZU podano vrednost -u, --utc, --universal izpis ali nastavitev Äasa v UTC namesto v lokalnem � --sort=BESEDA uredi glede na BESEDO: sploÅ¡no Å¡tevilÄno -g, Äloveku umljivo Å¡tevilÄno -h, mesec -M, Å¡tevilÄno -n, nakljuÄno -R, razliÄica -V -V, --version-sort uredi po Å¡tevilki razliÄice v besedilu � --sparse=KDAJ kdaj ustvarimo razprÅ¡ene datoteke. Glejte spodaj. --strip-trailing-slashes odstrani zakljuÄne poÅ¡evnice iz vseh podanih IZVOROV � --strict (skupaj s --check) zakljuÄi z napako za neveljaven vhod � --strip-trailing-slashes odstrani zakljuÄne poÅ¡evnice iz vseh podanih IZVOROV -S, --suffix=PRIPONA izrecno navedena PRIPONA varnostnih kopij � --suffix=PRIPONA podani PREDLOGI dodaj PRIPONO. PRIPONA ne sme vsebovati poÅ¡evnice. Izbira implicira, da se PRIPONA ne zakljuÄi z znakom X. � --tag ustvari nadzorno vsoto v slogu BSD � --time-style=SLOG skupaj z -l: Äas prikaži glede na slog, podan s SLOGOM: full-iso, iso, locale, posix-iso, +OBLIKA OBLIKO tolmaÄimo kot pri ukazu »date«; Äe je OBLIKA enaka OBLIKA1<nova_vrstica>OBLIKA2, velja prva za stare datoteke, druga pa za nove; Äe se SLOG zaÄne s predpono »posix-«, velja podani slog samo izven krajevnega okolja POSIX � --tmpdir[=IMENIK] tolmaÄi PREDLOGO relativno glede na IMENIK. ÄŒe IMENIK ni doloÄen, uporabi $TMPDIR, in Äe ta ni nastavljen, /tmp. Pri tej izbiri PREDLOGA ne sme biti absolutna pot. Za razliko od -t lahko PREDLOGA vsebuje poÅ¡evnice, toda tudi tu mktemp ustvari samo zadnjo komponento. � --verbose z izpisom diagnostike tik preden odpremo posamiÄno datoteko � --version razliÄica programa � --all izpiÅ¡i Å¡tevilo nameÅ¡Äenih procesorjev --ignore=N Äe je mogoÄe, izloÄi N procesnih enot � -evenp isto kot -parenb cs8 * [-]lcase isto kot xcase iuclc olcuc litout isto kot -parenb -istrip -opost cs8 -litout isto kot parenb istrip opost cs7 nl isto kot -icrnl -onlcr -nl isto kot icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb dva konÄna bita za znak (pri »-« je en sam) [-]hup poÅ¡lji signal za odložitev, ko zadnji proces zapre terminal [-]hupcl isto kot [-]hup [-]parenb poÅ¡iljaj paritetni bit na izhodu in ga priÄakuj na vhodu [-]parodd izberi liho pariteto (oziroma sodo pri »-«) � [-]ignpar ne upoÅ¡tevaj znakov z napaÄno pariteto * [-]imaxbel zapiskaj in ne izprazni polnega medpomnilnika na znaku [-]inlcr pretvori znak NL v CR [-]inpck omogoÄi preverjanje paritete na vhodu [-]istrip najviÅ¡ji (osmi) bit znakov vedno postavi na niÄ � [-]isig omogoÄi posebne znake interrupt, quit in suspend [-]noflsh onemogoÄi izpraznitev medpomnilnika po znakih interrupt in quit * [-]prterase isto kot [-]echoprt * [-]tostop ustavi vsa opravila v ozadju, ki poskuÅ¡ajo pisati na terminal * [-]xcase skupaj z icanon, predhodi vse velike Ärke z obratno poÅ¡evnico »\« � cooked isto kot brkint ignpar istrip icrnl ixon opost isig icanon, znaka eof in eol na njuni privzeti vrednosti -cooked isto kot raw crt isto kot echoe echoctl echoke � dec isto kot echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq isto kot [-]ixany ek znaka erase in kill na njuni privzeti vrednosti evenp isto kot parenb -parodd cs7 � ispeed N vhodno hitrost nastavimo na N bitov/s * line N uporabi komunikacijski protokol N min N z -icanon; naj bo N znakov minimum pri branju ospeed N izhodno hitrost nastavimo na N bitov/s � oddp isto kot parenb parodd cs7 -oddp isto kot -parenb cs8 [-]parity isto kot [-]evenp pass8 isto kot -parenb -istrip cs8 -pass8 isto kot parenb istrip cs7 � raw isto kot -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw isto kot cooked � sane isto kot cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, vsi posebni znaki na njihove privzete vrednosti � stop ZNAK ZNAK bo ustavil izhod susp ZNAK ZNAK bo poslal signal za ustavitev terminala * swtch ZNAK ZNAK bo preklopil v drugo plast lupine * werase ZNAK ZNAK bo pobrisal nazadnje vneseno besedo � %% znak za odstotek %b ARGUMENT kot niz z raztolmaÄenimi znaki, ki jih uvajajo obratne poÅ¡evnice; osmiÅ¡ka zaporedja so v obliki \O ali \ONNN Vsa oblikovna doloÄila iz C, ki se konÄajo na diouxXfeEgGcs so raztolmaÄena, Äe je ARGUMENT prej pretvorjen v pravilen podatkovni tip. Spremenljive Å¡irine se obravnavajo pravilno. � %A lokalizirano polno ime dneva v tednu, spremen. Å¡irine (npr. nedelja) %b lokalizirano okrajÅ¡ano ime meseca (npr. jan) %B lokalizirano polno ime meseca, spremenljive Å¡irine (npr. januar) %c lokaliziran izpis datuma in ure (sob 04 nov 1989 12:02:33 CET) � %C stoletje; kot %Y, vendar brez zadnjih dveh Å¡tevk (npr. 20) %d dan v mesecu (npr. 01) %D datum; isto kot %m/%d/%y %e dan v mesecu, dopolnjen s presledki; isto kot %_d � %F poln datum; isto kot %Y-%m-%d %g dvoÅ¡tevilÄno leto, ustrezajoÄe Å¡tevilki tedna ISO (glejte %G) %G Å¡tiriÅ¡tevilÄno leto, ustrezajoÄe Å¡tevilki tedna ISO (glejte %V); praviloma uporabno le v kombinaciji z %V � %S sekunde (00..60) (60 samo v primeru prestopne sekunde) %t vodoravni tabulator %T Äas v 24-urnem zapisu; isto kot %H:%M:%S %u dan v tednu (1..7); 1 je ponedeljek � %U Å¡tevilka tedna v letu z nedeljo kot prvim dnevom v tednu (00..53) %V Å¡tevilka tedna ISO, s ponedeljkom kot prvim dnevom v tednu (01..53) %w dan v tednu (0..6); 0 predstavlja nedeljo %W Å¡tevilka tedna v letu s ponedeljkom kot prvim dnevom v tednu (00..53) � %d - Å¡tevilka naprave v desetiÅ¡kem zapisu %D - Å¡tevilka naprave v Å¡estnajstiÅ¡kem zapisu %f - surov Å¡estnajstiÅ¡ki naÄin %F - zvrst datoteke %g - Å¡tevilka skupine (GID) lastnika %G - ime skupine lastnika � %h - Å¡tevilo trdih povezav %i - Å¡tevilka inoda %m - toÄka priklopa %n - ime datoteke %N - ime datoteke (ciljne datoteke, Äe gre za simbolno povezavo) %o - namig o optimalni velikosti V/I bloka %s - skupna velikost v bajtih %t - glavna Å¡tevilka zvrsti enote, Å¡estnajstiÅ¡ko %T - pomožna Å¡tevilka zvrsti enote, Å¡estnajstiÅ¡ko � %h isto kot %b %H ura (00..23) %I ura (01..12) %j dan v letu (001..366) � %i - identifikacijska Å¡tevilka datoteÄnega sistema, Å¡estnajstiÅ¡ko %l - najveÄja dovoljena dolžina imen datotek %n - ime datoteke %s - optimalna velikost bloka za prenos %S - osnovna velikost bloka (za Å¡tetje blokov) %t - zvrst v Å¡estnajstiÅ¡kem zapisu %T - zvrst v Äloveku umljivi obliki � %k ura, dopolnjena s presledki ( 0..23); isto kot %_H %l ura, dopolnjena s presledki ( 1..12); isto kot %_I %m mesec (01..12) %M minuta (00..59) � %n nova vrstica %N nanosekunde (000000000..999999999) %p lokalizirana oznaka za dopoldanske (AM) ali popoldanske (PM) ure %P isto kot %P, a z malimi Ärkami %r Äas v lokaliziranem 12-urnem zapisu (npr. 11:11:04 PM) %R Äas v 24-urnem zapisu; isto kot %H:%M %s sekunde od 00:00:00, 1970-01-01 UTC � %u - uporabniÅ¡ka Å¡tevilka (UID) lastnika %U - uporabniÅ¡ko ime lastnika %w - Äas rojstva datoteke, Äloveku berljiv zapis; - Äe ni znan %W - Äas rojstva datoteke, v sekundah od 1970-01-01; 0 Äe ni znan %x - Äas zadnjega dostopa, Äloveku berljiv zapis %X - Äas zadnjega dostopa, v sekundah od 1970-01-01 %y - Äas zadnje spremembe, Äloveku berljiv zapis %Y - Äas zadnje spremembe, v sekundah od 1970-01-01 %z - Äas zadnje spremembe inoda, Äloveku berljiv zapis %Z - Äas zadnje spremembe inoda, v sekundah od 1970-01-01 � %x lokaliziran zapis datuma (npr. 21/31/99) %X lokaliziran zapis ure (npr. 23:13:48) %y zadnji dve Å¡tevki leta (00..99) %Y leto � %z Äasovni pas v Å¡tevilÄnem zapisu +hhmm (npr. +0100) %:z Äasovni pas v Å¡tevilÄnem zapisu +hh:mm (npr. +01:00) %::z Äasovni pas v Å¡tevilÄnem zapisu +hh:mm:ss (npr. +01:00:00) %:::z Äasovni pas v Å¡tevilÄnem zapisu; Å¡tevilo dvopiÄij ustreza zahtevani natanÄnosti (npr. +01, +05:30) %Z alfanumeriÄna okrajÅ¡ava Äasovnega pasu (npr. CET) Privzeto so Å¡tevilÄna polja v datumu do polne dolžine polja dopolnjena z niÄlami. � + SIMBOL ravnaj s SIMBOLOM, kot da je NIZ, Äeprav je kljuÄna beseda kot »match« ali operator kot »/« ( IZRAZ ) vrednost IZRAZA � +PRVA_STRAN[:ZADNJA_STRAN], --pages=PRVA_STRAN[:ZADNJA_STRAN] tiskanje zaÄnemo na PRVI in konÄamo na ZADNJI STRANI -STOLPCI, --columns=STOLPCI izpis v danem Å¡tevilu STOLPCEV, ki teÄejo od zgoraj navzdol razen Äe je izbrano -a. Å tevilo vrstic v stolpcih na strani je uravnoteženo. � - +FORMAT (npr. +%H:%M) za izpis v slogu »date« � --output-delimiter=NIZ razmejilnik med stolpci naj bo NIZ � --userspec=UPORABNIK:SKUPINA doloÄi uporabnika ali skupino (ID ali ime) --groups=SEZNAM doloÄi dodatne skupine (g1, g2,... gN) � -0, --null vrstice naj se zakljuÄijo z znakom NUL, ne LF � -A, --auto-reference izpis samodejno generiranih vnosov -G, --traditional obnaÅ¡anje kot »ptx« v sistemu System V -F, --flag-truncation=NIZ za oznaÄevanje okrajÅ¡anih vrstic uporabi NIZ � -C imena izpiÅ¡emo v stolpcih --color[=KDAJ] kdaj se uporabijo barve za oznaÄitev tipa datoteke Možnosti so »never«, »always« (privzeto) in »auto«; veÄ informacij je spodaj -d, --directory izpis imen imenika(-ov) namesto njihove vsebine, brez sledenja simbolnim povezavam -D, --dired izpis primeren za naÄin »dired« v Emacsu � -D ustvarimo vse vodilne komponente CILJA razen zadnje, zatem prepiÅ¡emo IZVOR na CILJ -g, --group=SKUPINA uporabniÅ¡ka skupina, namesto skupine trenutnega procesa -m, --mode=ZAÅ ÄŒITA zaÅ¡Äita (kot v chmod), namesto privzete rwxr-xr-x -o, --owner=LASTNIK lastnik (samo superuporabnik) � -D, --all-repeated[=RAZMEJITEV] izpiÅ¡i vse podvojene vrstice RAZMEJITEV={none (privzeto), prepend, separate} Posamezne izpise razmejujejo prazne vrstice. -f, --skip-fields=N pri primerjanju izpusti prvih N polj -i, --ignore-case male in velike Ärke obravnavaj enakovredno -s, --skip-chars=N pri primerjanju izpusti prvih N znakov -u, --unique izpiÅ¡i samo nepodvojene vrstice -z, --zero-terminated vrstice zakljuÄi z znakom NUL, ne LF � -D, --date-format=OBLIKA izpis datuma v glavi v navedeni OBLIKI -e[ZNAK[Å IRINA]], --expand-tabs[=ZNAK[Å IRINA]] ZNAKE (privzeto TAB) na vhodu razÅ¡irimo v tabulator dane Å IRINE (privzeto 8) -F, -f, --form-feed strani loÄimo z znaki za skok na novo stran namesto s praznimi vrsticami (s 3-vrstiÄnim zglavjem z izbiro -F ali 5-vrstiÄnim zglavjem in znožjem brez -F) � -G, --no-group kot -l, vendar brez izpisa skupine -h, --human-readable skupaj z -l izpiÅ¡i velikost v Äloveku umljivem zapisu (npr.1K 234M 2G) --si podobno kot -h, vendar v bazi 1000 namesto 1024 � -H, --dereference-command-line sledimo simbolnim povezavam v ukazni vrstici --dereference-command-line-symlink-to-dir sledimo vsem simbolnim povezavam v ukazni vrstici, ki kažejo na imenike --hide=VZOREC brez impliciranih vnosov, opisanih z VZORCEM � -I zahtevamo potrditev pred brisanjem treh ali veÄ datotek, ali pri rekurzivnem brisanju. Manj moteÄe kot -i, vseeno pa varuje pred veÄino napak. --interactive[=KDAJ] potrditev glede na KDAJ: never (nikoli), once (enkrat, isto kot -I), always (vedno, isto kot -i, privzeto) � -L DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -h) -O DATOTEKA DATOTEKA obstaja in pripada istemu uporabniku -p DATOTEKA DATOTEKA obstaja in je poimenovana cev -r DATOTEKA DATOTEKA obstaja in jo smemo brati -s DATOTEKA DATOTEKA obstaja in ni prazna (dolžina > 0) � -L, --logical uporabi se spremenljivka PWD iz okolja, Äetudi vsebuje simbolne povezave -P, --physical brez vseh simbolnih povezav � -M, --macro-name=NIZ uporabi podano ime makroukaza (privzeto »xx«) -O, --format=roff izpis v obliki stavnega jezika roff -R, --right-side-refs sklici ob desnem robu (niso vÅ¡teti v -w) -S, --sentence-regexp=REGIZR za konce vrstic ali konce stavkov -T, --format=tex izpis v obliki stavnega jezika tex � -R, --recursive rekurzivno obdelaj datoteke in imenike � -R, --recursive rekurzivno obdelamo imenike in datoteke � -R, -r, --recursive imenike prepiÅ¡emo rekurzivno --reflink[=KDAJ] nadzor kopij CoW/klon. Glejte spodaj. --remove-destination vsako ciljno datoteko vedno odstranimo pred poskusom pisanja vanjo (prim. --force) � -S datoteke uredi po velikosti --sort=BESEDA namesto po imenu uredi po: brez urejanja (BESEDA=none), priponi (extension), Äasu nastanka (time) ali razliÄici (version) --time=BESEDA skupaj z -l: namesto Äasa zadnje spremembe prikaži Äas nastanka (BESEDA=ctime ali status) ali Äas zadnjega dostopa (atime, access ali use); skupaj z izbiro --sort=time tudi uredi po izbranem Äasu � -S DATOTEKA DATOTEKA obstaja in je vtiÄnica -t DATOTEKA deskriptor DATOTEKE (navadno standarni izhod) je odprt na terminalu -u DATOTEKA DATOTEKA obstaja in ima postavljen bit SUID -w DATOTEKA DATOTEKA obstaja in nanjo smemo pisati -x DATOTEKA DATOTEKA obstaja in jo smemo izvajati ali iskati � -S, --suffix=PRIPONA izrecno doloÄena pripona varnostne kopije -t, --target-directory=IMENIK izrecna navedba IMENIKA, v katerem ustvari povezave -T, --no-target-directory vedno obravnavaj POVEZAVO kot navadno datoteko -v, --verbose z izpisom imen datotek, ki jih povezujemo � -S[NIZ], --sep-string[=NIZ] stolpce loÄimo z navedenim NIZOM Brez -S: privzeto loÄilo (TAB pri -J, presledki sicer - isto kot -S" "), brez uÄinka na nastavitve stolpcev -t, --omit-header brez zglavja in repa � -T, --omit-pagination brez zglavja in repa; brez oÅ¡tevilÄenja strani, ki jih povzroÄijo znaki za skok na novo stran v vhodni datoteki -v, --show-nonprinting z uporabo osmiÅ¡kih vrednosti z ubežnimi zaporedji -w, --width=Å IRINA_STRANI Å IRINO STRANI nastavimo na dano Å¡tevilo znakov (privz. 72); samo besedilo v veÄ stolpcih; -s[znak] izklopi � -T, -w, --mesg navedi možnost poÅ¡iljanja sporoÄil kot +, - ali ? -u, --users seznam vseh prijavljenih uporabnikov --message isto kot -T --writable isto kot -T � -W, --page-width=Å IRINA_STRANI Å IRINO STRANI nastavimo na dano Å¡tevilo znakov (privz. 72); predolge vrstice porežemo razen z izbiro -J; ne vpliva na izbiri -s in -S � -W, --word-regexp=REGIZR uporabi REGIZR za lovljenje besed -b, --break-file=DATOTEKA znake v podani DATOTEKI razlomi po besedah -f, --ignore-case pri urejanju obravnavaj male in velike Ärke enako -g, --gap-size=Å TEVILO Å¡irina razmaka v znakih med polji v izpisu -i, --ignore-file=DATOTEKA seznam neupoÅ¡tevanih besed preberi iz DATOTEKE -o, --only-file=FILE preberi le seznam besed iz navedene DATOTEKE � -Z, --context=CTX nastavi varnostni kontekst SELinux za IME na CTX � -Z, --context=CTX za vsako IME nastavi varnostni kontekst SELinux na CTX � -a spremeni samo Äas zadnjega dostopa -c, --no-create brez ustvarjanja novih datotek -d, --date=NIZ razÄleni NIZ in uporabi ta Äas namesto trenutnega -f (se ne upoÅ¡teva) � -a, --across skupaj s -STOLPCI; stolpce tiskamo poprek prek strani namesto navzdol. -c, --show-control-chars uporabimo zapis ^G in osmiÅ¡ki zapis z uvodno obratno poÅ¡evnico -d, --double-space izpis z dvojnim razmakom � -a, --all vkljuÄno z imeni, ki se zaÄnejo s piko -A, --almost-all kot »-a«, vendar brez ».« in »..« --author skupaj z -l: izpis avtorja datoteke -b, --escape izpis C-jevske ubežne kode za neizpisljive znake � -a, --all vkljuÄno s praznimi datoteÄnimi sistemi -B, --block-size=N uporabljamo N bajtov velike bloke; npr. »-BM« izpiÅ¡e velikosti v enotah po 1.048.576 bajtov --total izpis skupne porabe -h, --human-readable velikosti v Äloveku umljivi obliki (npr. 1K 234M 2G) -H, --si podobno kot -h, vendar z bazo 1000 namesto 1024 � -a, --all pretvorimo vse prazne prostore, ne le vodilnih --first-only navzlic izbiri -a pretvorimo samo vodilne presledke -t, --tabs=Å TEVILO tabulatorji naj bodo Å TEVILO znakov narazen namesto privzetih 8 (omogoÄi -a) -t, --tabs=SEZNAM z vejicami loÄen seznam eksplicitnih položajev tabulatorja (omogoÄi -a) � -a, --archive isto kot -dR --preserve=all --attributes-only ne prepiÅ¡i podatkov datoteke, ampak le prilastke --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke izdelamo varnostno kopijo podanega TIPA -b enako kot --backup, vendar ne sprejema argumenta --copy-contents pri rekurzivnem prepisovanju prepiÅ¡emo vsebino posebnih datotek -d isto kot --no-dereference --preserve=links � -a, --multiple podpiraj veÄ argumentov in obravnavaj vsakega kot IME -s, --suffix=PRIPONA odstrani PRIPONO -z, --zero vrstice zakljuÄi z znakom NUL namesto z LF � -a, --suffix-length=N uporabi pripone dolžine N (privzeto %d) -b, --bytes=VELIKOST doloÄimo VELIKOST (v bajtih) izhodnih datotek -C, --line-bytes=VELIKOST velikost izhodnih datotek je navzgor omejena na VELIKOST (v bajtih) -d, --numeric-suffixes uporabi Å¡tevilÄne pripone namesto Ärkovnih -e, --elide-empty-files ne ustvari praznih datotek z »-n« --filter=SKRIPT izhod podamo SKRIPTU ukazne lupine; ime datoteke je podano s $FILE -l, --lines=Å TEVILO doloÄimo Å TEVILO vrstic v izhodni datoteki -n, --number=KOSOV ustvari KOSOV izhodnih datotek. Glejte nižje. -u, --unbuffered takoj prepiÅ¡i vhod na izhod z »-n r/...« � -b, --before loÄilo dodamo pred, ne za izpisano vrstico -r, --regex loÄila obravnavamo kot regularne izraze -s, --separator=NIZ vrstice naj loÄuje NIZ, ne znak za novo vrstico � -b, --binary beri binarno � -b, --binary beri binarno (privzeto, razen pri branju s terminala) � -b, --body-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju vrstic telesa -d, --section-delimiter=CC uporabi CC pri loÄitvi logiÄnih strani -f, --footer-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju znožja strani � -b, --bytes Å¡tejemo bajte namesto znakov -s, --spaces prelom na presledkih -w, --width=Å IRINA nastavimo Å IRINO vrstic (privzeto 80) � -b, --bytes=SEZNAM izpiÅ¡i samo navedene bajte -c, --characters=SEZNAM izpiÅ¡i samo navedene znake -d, --delimiter=RAZMEJ polja so razmejena z znakom RAZMEJ namesto s TAB � -b, --ignore-leading-blanks ne upoÅ¡tevaj vodilnih presledkov -d, --dictionary-order upoÅ¡tevaj samo Ärke, Å¡tevke in presledke -f, --ignore-case male in velike Ärke so enakovredne � -b, --suffix-format=OBLIKA uporabi OBLIKO spritntf namesto %02d -f, --prefix=PREDPONA uporabi podano PREDPONO namesto »xx« -k, --keep-files ob napaki ne odstrani nepopolno zapisanih datotek � -c, --format=OBLIKA namesto privzete uporabi podano OBLIKO; nova vrstica za vsako uporabo OBLIKE --printf=OBLIKA podobno kot --format, vendar s tolmaÄenjem ubežnih zaporedij in brez izpisa obvezne zakljuÄne nove verstice; Äe jo želite, dodajte \n v OBLIKO. -t, --terse izpis podatkov v zgoÅ¡Äeni obliki � -c, --bytes=K izpiÅ¡i zadnjih K bajtov datoteke; uporabite -c +K za izpis bajtov od K-tega dalje v vsaki datoteki � -c, --bytes=[-]K izpiÅ¡i prvih K bajtov vsake datoteke; Äe Å¡tevilu predhodi »-«, izpiÅ¡i vse razen zadnjih K bajtov vsake datoteke -n, --lines=[-]K izpiÅ¡i prvih K vrstic vsake datoteke namesto prvih 10; Äe Å¡tevilu predhodi »-«, izpiÅ¡i vse razen zadnjih K vrstic vsake datoteke � -c, --changes kot »verbose«, a samo ob spremembah -f, --silent, --quiet niÄesar ne izpiÅ¡i, samo vrni izhodni status -v, --verbose z diagnostiko za vsako obdelano datoteko � -c, --check preberi %s vsot iz DATOTEK in jih preveri � -c, --check, --check=diagnose-first Äe je datoteka urejena, je ne urejaj znova -C, --check=quiet, --check=silent kot -c, le brez poroÄila o prvi slabi vrstici --compress-program=PROGRAM zaÄasne datoteke stisni s PROGRAMOM; pri dekomprimiranju uporabi »PROGRAM -d« � -c, --count na zaÄetku vsake vrstice izpiÅ¡emo tudi Å¡tevilo ponovitev -d, --repeated izpiÅ¡emo samo podvojene vrstice � -c, --crown-margin ohrani zamik prvih dveh vrstic -p, --prefix=NIZ preoblikuj samo vrstice, ki se zaÄno z NIZOM, tega pridaj oblikovanim vrsticam -s, --split-only poreži predolge vrstice, a brez poravnave � -c, --no-create ne ustvari nobene datoteke � -d, --decode dekodiraj podatke -i, --ignore-garbage pri dekodiranju ignoriraj nealfabetiÄne znake -w, --wrap=N prelomi vrstice pri N znakiv v vrstici (privzeto 76).\ N=0 pomeni brez preloma vrstic � -d, --delimiters=SEZNAM za loÄitev uporabimo znake s SEZNAMA namesto TAB -s, --serial datoteke združujemo zaporedno namesto vzporedno � -d, --directory ustvari imenik, ne datoteke -u, --dry-run ne ustvari niÄesar, le izpiÅ¡e ime (ni varno) -q, --quiet brez poroÄila o neuspelem ustvarjanju datoteke/imenika � -e pri izpisu tolmaÄi spodaj navedene ubežna zaporedja -E onemogoÄi tolmaÄenje ubežnih zaporedij v NIZIH (privzeto) � -e pri izpisu tolmaÄi spodaj navedena ubežna zaporedja (privzeto) -E onemogoÄi tolmaÄenje ubežnih zaporedij v NIZIH � -e, --canonicalize-existing vse komponente poti morajo obstajati -m, --canonicalize-missing katerakoli komponenta poti lahko manjka -L, --logical razreÅ¡i .. pred simbolnimi povezavami -P, --physical razreÅ¡i simbolne povezave, kot so (privzeto) -q, --quiet brez izpisa veÄine obvestil o napakah --relative-to=DATOTEKA izpiÅ¡i razreÅ¡eno pot relativno glede na DATOTEKO --relative-base=DATOTEKA izpiÅ¡i absolutne poti, razen za poti pod DATOTEKO -s, --strip, --no-symlinks ne razreÅ¡uj simbolnih povezav -z, --zero izpis loÄi z znakom NUL namesto z novo vrstico � -e, --echo obravnavaj vsak ARG kot vhodno vrstico -i, --input-range=SP-ZG obravnavaj vsako Å¡tevilo SP..ZG kot vhodno vrstico -n, --head-lines=VRSTICE izpiÅ¡i najveÄ navedeno Å¡tevilo VRSTIC -o, --output=DATOTEKA zapiÅ¡i rezultat na DATOTEKO namesto na std. izhod --random-source=DATOTEKA preberi nakljuÄne bajte iz datoteke -z, --zero-terminated zakljuÄi vrstice z \0, ne z znakom za novo vrstico � -f brez razvrÅ¡Äanja; omogoÄi -aU, onemogoÄi -ls --color -F, --classify s pripono (*/=@|) oznaÄi tip datoteke --file-type podobno, vendar ne pripenja »*« --format=BESEDA across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time kot -l --time-style=full-iso � -f v kratki obliki izpusti legendo k stolpcem -w v kratki obliki izpusti polno ime uporabnika -i v kratki obliki izpusti polno ime uporabnika in ime raÄunalnika -q v kratki obliki izpusti polno ime uporabnika, ime raÄunalnika in Äas neaktivnosti � -f isto kot -t fF, izpis Å¡tevil s plavajoÄo vejico -i isto kot -t dI, desetiÅ¡ki izpis dvobajtnih predznaÄenih celih Å¡tevil -l isto kot -t dL, desetiÅ¡ki izpis Å¡tiribajtnih predznaÄenih celih Å¡tevil -o isto kot -t o2, osmiÅ¡ki izpis dvobajtnih enot -s isto kot -t d2, desetiÅ¡ki izpis dvobajtnih enot -x isto kot -t x2, Å¡estnajstiÅ¡ki izpis dvobajtnih enot � -f DATOTEKA DATOTEKA obstaja in je navadna datoteka -g DATOTEKA DATOTEKA obstaja in ima postavljen bit SGID -G DATOTEKA DATOTEKA obstaja in pripada isti skupini -h DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -L) -k DATOTEKA DATOTEKA obstaja in ima postavljen lepljivi bit � -f, --canonicalize kanoniziran izpis vsake komponente vsake simbolne povezave z rekurzivnim sledenjem povezav; vse komponente poti razen zadnje morajo obstajati -e, --canonicalize-existing kanoniziran izpis vsake komponente vsake simbolne povezave z rekurzivnim sledenjem povezav; vse komponente poti morajo obstajati � -f, --fields=SEZNAM izpiÅ¡i samo navedena polja; izpiÅ¡i tudi vse vrstice, ki ne vsebujejo razmejilnika, razen Äe je podana izbira -s -n (se ne upoÅ¡teva) � -f, --follow[={name|descriptor}] pri datotekah, ki rastejo, sledimo trenutnemu koncu datoteke; -f, --follow in --follow=descriptor so sopomenke -F isto kot --follow=name --retry � -f, --force po potrebi dovolimo pisanje na datoteko/enoto -n, --iterations=N prek datoteke piÅ¡eno N-krat namesto privzetega (%d) --random-source=DATOTEKA preberi nakljuÄne bajte iz DATOTEKE -s, --size=N uniÄimo podano Å¡tevilo bajtov (dovoljene pripone K, M, G...) � -g kot -l, vendar brez izpisa lastnika � -g GID[,GID1...] nastavi tudi primarni ID skupine na Å¡tevilÄni GID, ter (Äe je podano) dodatni ID skupine na GID1... � -g, --general-numeric-sort primerjaj po sploÅ¡ni Å¡tevilski vrednosti -i, --ignore-nonprinting v kljuÄih upoÅ¡tevaj samo izpisljive znake -M, --month-sort kljuÄe uredi: (neznano) < »jan« < ... < »dec« � -h, --header-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju zglavja strani -i, --line-increment=Å TEVILO Å¡tevilke vrstic inkrementiraj vsako vrstico -l, --join-blank-lines=Å TEVILO skupino Å TEVILA praznih vrstic Å¡tej kot eno -n, --number-format=OBLIKA Å¡tevilke vrstic vrini glede na OBLIKO -p, --no-renumber oÅ¡tevilÄenje vrstic naj teÄe prek log. strani -s, --number-separator=NIZ pripni NIZ (možni) Å¡tevilki vrstice � -h, --header=ZGLAVJE uporabimo navedeno osredinjeno ZGLAVJE namesto imena datoteke; -h \"\" izpiÅ¡e prazno vrstica; ne uporabljajte -h\"\" -i[ZNAK[Å IRINA]], --output-tabs[=ZNAK[Å IRINA]] presledke skrÄimo v ZNAK (privzeto TAB) do Å IRINE tabulatorja (privzeto 8) -J, --join-lines združujemo cele vrstice, brez rezanja vrstic z -W, brez poravnave stolpcev, --sep-string[=NIZ] nastavi loÄila � -h, --human-numeric-sort primerjaj Äloveku umljiv zapis (npr. 2K, 1G) � -h, --no-dereference deluje na simbolne povezave, ne na ciljne datoteke (uporabno samo na sistemih, ki dovoljujejo spremembo lastniÅ¡tva simbolne povezave) -m spremeni samo Äas zadnje spremembe � -i, --ignore-case pri primerjanju obravnavamo velike in male Ärke enako -j POLJE isto kot »-1 POLJE -2 POLJE« -o OBLIKA pri izpisu uporabimo predpisano OBLIKO -t ZNAK navedeni ZNAK naj bo loÄilo med polji na vhodu in izhodu � -i, --initial nadomesti samo tabulatorje, ki sledijo praznim znakom -t, --tabs=Å IRINA Å IRINA tabulatorja naj bo navedeno namesto 8 � -i, --inodes izpis informacije o inode namesto o porabi blokov -k isto kot --block-size=1K -l, --local omejimo seznam na lokalni datoteÄni sistem --no-sync brez klica sync() pred izpisom porabe (privzeto) � -i, --input=NAÄŒIN Prilagodi izravnavanje toka standardnega vhoda -o, --output=NAÄŒIN Prilagodi izravnavanje toka standardnega izhoda -e, --error=NAÄŒIN Prilagodi izravnavanje toka standardnega izhoda napak � -i, --interactive s pozivom pred vsakim brisanjem -L, --logical razreÅ¡i CILJE, ki so simbolne povezave -n, --no-dereference obravnavaj simbolne povezave na imenik kot navadne datoteke -P, --physical ustvari trde povezave na simbolne povezave -r, --relative ustvari simbolne povezavo relativno na lokacijo povezave -s, --symbolic ustvari simbolne povezave namesto trdih � -k, --key=KLJUÄŒ urejaj glede na KLJUÄŒ, ki podaja položaj in tip -m, --merge že urejene datoteke združi brez ponovnega urejanja � -l dolga oblika izpisa -L, --dereference izpis imen datotek, na katere kažejo simbolne povezave, namesto simbolnih povezav -m z vejicami loÄena imena prek celotne Å¡irine vrstice � -l, --length=DOLŽINA_STRANI doloÄimo DOLŽINO STRANI, v vrsticah (privzeto 66) (privzeto Å¡tevilo vrstic besedila je 56, z -F 63) -m, --merge datoteke izpisujemo vzporedno, po eno v stolpec. Predolge vrstice porežemo, razen z izbiro -J, kjer združimo celotne � -l, --link ustvarimo trde povezave namesto kopij datotek -L, --dereference vedno sledimo simbolnim povezavam v VIRU � -l, --login izpiÅ¡i prijavne procese sistema � -m, --mode=ZAÅ ÄŒITA nastavi bite ZAÅ ÄŒITE namesto privzete a=rw - umask � -m, --mode=ZAÅ ÄŒITA nastavi zaÅ¡Äito (kot pri chmod) namesto privzete a=rwx - umask -p, --parents brez opozorila Äe imenik obstaja; po potrebi ustvari Å¡e starÅ¡evske imenike -v, --verbose z obvestilom o vsakem ustvarjenem imeniku -Z, --context=KONTEKST nastavi varnostni kontekst za vsak ustvarjeni imenik na KONTEKST � -n, --digits=Å TEVKE uporabi navedeno Å¡tevilo Å¡tevk namesto privzetih 2 -s, --quiet, --silent brez izpisa velikosti na standardni izhod -z, --elide-empty-files odstrani prazne izhodne datoteke � -n, --lines=K izpiÅ¡i zadnjih K vrstic namesto privzetih %d; uporabite -n +K za izpis vrstic zaÄenÅ¡i z K-to --max-unchanged-stats=N skupaj z --follow=name, ponovno odpri DATOTEKO, ki se ni spremenila v zadnjih N (privzeto %d) branjih; s tem preverimo, ali vmes ni bila izbrisana ali preimenovana (uporabno pri dnevniÅ¡kih datotekah). Z inotify je ta izbira redkokdaj uporabna. � -n, --no-clobber ne piÅ¡emo prek obstojeÄe datoteke (prevlada nad prejÅ¡njo izbiro -i) -P, --no-dereference nikoli ne sledimo simbolnim povezavam v VIRU � -n, --numeric-sort primerjaj po Å¡tevilski vrednosti nizov -R, --random-sort uredi po nakljuÄnem kljuÄu --random-source=DATOTEKA beri nakljuÄne bajte iz DATOTEKE -r, --reverse izpis v obrnjenem vrstnem redu � -n, --numeric-uid-gid Å¡tevilÄne vrednosti UID in GID namesto imen -N, --literal izpis imen v neobdelani obliki (npr. krmilnih znakov ne obravnavamo posebno) -o dolga oblika izpisa brez uporabniÅ¡ke skupine -p, --indicator-style=slash imenike oznaÄimo s pripono »/« � -n[LOÄŒ[Å TEVILO]], --number-lines[=LOÄŒ[Å TEVILO]] vrstice oÅ¡tevilÄimo, Å¡irina polja je Å TEVILO (privzeto 5) znakov, sledi LOÄŒ (privzeto TAB). OÅ¡tevilÄenje gre od prve vrstice vhodne datoteke. -N, --first-line-number=Å TEVILO oÅ¡tevilÄenje zaÄnemo z navedenim Å TEVILOM v prvi vrstici na prvi natisnjeni strani (glej +PRVA_STRAN) � -o, --indent=ROB vrstice zamaknemo za ROB znakov od levega roba; ne vpliva na -w in -W; ROB se priÅ¡teje Å IRINI_STRANI. -r, --no-file-warnings brez opozoril, kadar ni mogoÄe odpreti datoteke � -o, --io-blocks obravnavaj VELIKOST podano v V/I blokih, ne v bajtih � -o, --output=DATOTEKA izhod zapiÅ¡i na DATOTEKO namesto na standardni izhod -s, --stable urejanje stabiliziraj z onemogoÄenjem skrajnih primerjav -S, --buffer-size=VELIKOST doloÄi VELIKOST izravnalnika � -p isto kot --preserve=mode,ownership,timestamps --preserve[=SEZN_PRIL] Äe je mogoÄe, ohranimo navedene prilastke (atribute) datotek (privzeto: mode, ownership, timestamps; dodatno: context, links, xattr, all) � -p IMENIK uporabi IMENIK kot predpono; implicira -t (odsvetovano) -t tolmaÄi PREDLOGO kot eno samo komponento imena datoteke, relativno glede na imenik: $TMPDIR, Äe je nastavljen; imenik, doloÄen s -p; ali /tmp (odsvetovano). � -p, --parents odstrani IMENIK in njegove nadimenike, Äe so prazni; npr.: »rmdir -p a/b/c« naredi isto kot »rmdir a/b/c a/b a« -v, --verbose z diagnostiÄnim sporoÄilom za vsak obdelan imenik � -p, --preserve-timestamps ohranimo Äas dostopa/spremembe, kot jih ima IZVOR -s, --strip ogulimo simbolne tabele --strip-program=PROGRAM za guljenje simbolne tabele uporabi PROGRAM -S, --suffix=PRIPONA izrecno navedemo pripono varnostnih kopij -t, --target-directory=IMENIK prepiÅ¡i vse IZVORE v IMENIK -T, --no-target-directory obravnavaj CILJ kot navadno datoteko -v, --verbose z izpisom imen vseh ustvarjenih imenikov � -q, --count vsi uporabniki in Å¡tevilo vseh prijavljenih uporabnikov -r, --runlevel izpiÅ¡emo trenutni nivo teka sistema -s, --short izpiÅ¡emo le uporabniÅ¡ko ime, linijo in Äas prijave (privzeto) -t, --time izpiÅ¡emo zadnjo spremembo sistemske ure � -q, --hide-control-chars namesto krmilnih znakov izpiÅ¡emo vpraÅ¡aje (?) --show-control-chars neobdelan izpis krmilnih znakov (privzeta izbira, razen pri ukazu »ls« in izhodu na terminal) -Q, --quote-name imena izpiÅ¡emo v dvojnih narekovajih --quoting-style=BESEDA slog izpisa; BESEDA je lahko »literal«, »locale«, »shell«, »shell-always«, »c« ali »escape« � -q, --quiet, --silent vedno brez izpisa imena datoteke -v, --verbose vedno izpiÅ¡emo Å¡e ime datoteke � -r, --reference=DATOTEKA izpiÅ¡i Äas zadnje spremembe za navedeno DATOTEKO -R, --rfc-2822 Äas izpiÅ¡i skladno s priporoÄilom RFC-2822 � -r, --reference=DATOTEKA uporabi Äas podane DATOTEKE namesto trenutnega -t ŽIG uporabi [[CC]YY]MMDDhhmm[.ss] namesto trenutnega Äasa --time=BESEDA nastavimo Äas, podan z BESEDO: Äas dostopa: access, atime, use (isto kot -a) Äas spremembe: mtime, modify (isto kot -m) � -r, --reference=DATOTEKA uporabi velikost navedene DATOTEKE -s, --size=VELIKOST nastavi ali spremeni datoteko na navedeno VELIKOST � -r, --references prvo polje v vsaki vrstici je sklic -t, --typeset-mode - ni izvedeno - -w, --width=Å TEVILO Å¡irina izhoda v znakih, brez sklicev � -r, --reverse razvrstitev po obrnjenem vrstnem redu -R, --recursive rekurziven izpis podimenikov -s, --size izpis velikosti datotek (v blokih) � -s, --only-delimited ne izpiÅ¡i vrstic, ki ne vsebujejo razmejilnika --output-delimiter=NIZ naj bo NIZ razmejilnik na izhodu privzeti izhodni razmejilnik je enak vhodnemu � -s, --signal=SIGNAL, -SIGNAL doloÄimo ime ali Å¡tevilko signala, ki ga želimo poslati -l, --list izpiÅ¡emo imena signalov, ali pretvorimo Å¡tevilko signala v ime (ali obratno) -t, --table izpiÅ¡emo tabelo signalnih informacij � -s, --sleep-interval=N skupaj z -f, premor približno N sekund (privzeto 1,0 sekunda) med ponovitvami. Z inotify in --pid=P, preveri proces P najmanj vsakih N sekund. -v, --verbose vedno z izpisom glave z imenom datoteke � -s, --symbolic-link ustvari simbolne povezave namesto kopij -S, --suffix=PRIPONA pripona varnostne kopije naj bo PRIPONA --target-directory=IMENIK vse IZVORE premakni v IMENIK -T, --no-target-directory obravnavaj CILJ kot navadno datoteko � -s[ZNAK], --separator[=ZNAK] stolpce loÄimo z navedenim ZNAKOM; privzeti ZNAK je TAB, Äe ni podana izbira -w in 'no char' pri izbiri -w; -s[ZNAK] izkljuÄi okrajÅ¡anje vrstic za vse tristolpÄne izbire (-STOLPEC|-a -STOLPEC|-m), razen Äe je podan -w � -t ureditev po datumu zadnje modifikacije; zaÄenÅ¡i z najnovejÅ¡im Äasom -T, --tabsize=STOLPCEV tabulator nastavljen na STOLPCEV namesto na 8 � -t enakovredno sestavljeni izbiri -vT -T, --show-tabs prikaži znake TAB kot ^I -u (se ne upoÅ¡teva) -v, --show-nonprinting krmilne znake razen LF in TAB izpiÅ¡i kot ^ and M- � -t, --field-separator=LOÄŒILO LOÄŒILO namesto prehodov med znaki in presledki -T, --temporary-directory=IMENIK uporabi IMENIK za zaÄasne datoteke namesto $TMPDIR ali %s; veÄtere izbire doloÄajo veÄ imenikov --parallel=N nastavi Å¡tevilo hkratnih urejanj na N -u, --unique skupaj z -c: preveri za strogo urejenost; sicer izpiÅ¡i samo prve od zaporednih enakih vrstic � -t, --tabs=SEZNAM uporabi z vejicami loÄen SEZNAM eksplicitnih tabulatorjev � -t, --tagged-paragraph zamik prve vrstice v odstavku je razliÄen od druge -u, --uniform-spacing en presledek med besedami, dva za piko -w, --width=Å IRINA najveÄja Å¡irina vrstice (privzeto 75 znakov) -g, --goal=Å IRINA želena Å¡irina (privzeto 93% celotne Å¡irine) � -t, --target-directory=IMENIK vse IZVORE premakni v navedeni IMENIK -T, --no-target-directory obravnavaj CILJ kot navadno datoteko -u, --update datoteko premakni samo, Äe je novejÅ¡a od obstojeÄe ciljne ali Äe ciljna ne obstaja -v, --verbose z razlago poteka � -t, --text beri besedilno (privzeto pri branju s terminala) � -t, --text beri besedilno (privzeto) � -u skupaj z -lt: uredi po datumu zadnjega dostopa in ga prikaži; skupaj z -l: prikaži datum zadnjega dostopa in uredi po imenu; sicer uredi po Äasu zadnjega dostopa -U brez urejanja; kot so v imeniku -v urejanje po Å¡tevilki razliÄice � -u, --remove datoteko po uniÄenju vsebine skrajÅ¡aj in odstrani -v, --verbose s prikazom napredka med delom -x, --exact brez zaokroževanja velikosti datotek do polnega bloka (privzeto za predmete, ki niso navadne datoteke) -z, --zero na koncu zapiÅ¡i prek datoteke niÄle, da se prikrije uniÄenje � -u, --update prepiÅ¡i samo. Äe je IZVOR novejÅ¡i od CILJA ali kadar CILJ Å¡e ne obstaja -v, --verbose z razlago poteka -x, --one-file-system samo krajevni datoteÄni sistem � -u, --user=UPORABNIK nastavi UPORABNIKA v ciljnem varnostnem kontekstu -r, --role=VLOGA nastavi VLOGO v ciljnem varnostnem kontekstu -t, --type=TIP nastavi TIP v ciljnem varnostnem kontekstu -l, --range=OBSEG nastavi OBSEG v ciljnem varnostnem kontekstu � -v DATOTEKA isto kot -a DATOTEKA, vendar brez združenih izhodnih vrstic -1 POLJE združujemo glede na navedeno POLJE v prvi datoteki -2 POLJE združujemo glede na navedeno POLJE v drugi datoteki --check-order preveri, ali je vhod pravilno urejen, Äetudi so vse vhodne vrstice s pari --nocheck-order ne preverjaj, ali je vhod pravilno urejen --header obravnavaj prvo vrstico vsake datoteke kot zaglavje; izpiÅ¡i ga, ne da bi ga skuÅ¡al vzporediti � -v, --kernel-version izpiÅ¡i razliÄico jedra operacijskega sistema -m, --machine izpiÅ¡i podatke o strojni opremi -p, --processor izpiÅ¡i vrsto procesorja ali »unknown« -i, --hardware-platform izpiÅ¡i podatke o strojnem okolju ali »unknown« -o, --operating-system izpiÅ¡i ime operacijskega sistema � -v, --staring-line-number=Å TEVILO Å¡tevilka prve vrstice na novi logiÄni strani -w, --number-width=Å TEVILO Å TEVILO znakov Å¡irine za oÅ¡tevilÄenje � -v, --verbose z diagnostiko za vsako obdelano datoteko � -w, --check-chars=N primerjamo prvih N znakov v vrstici � -w, --width=STOLPCEV Å¡irina zaslova STOLPCEV namesto trenutne vrednosti -x izpis urejen v vrstice namesto v stolpce -X abecedna ureditev po priponah -Z, --context izpis varnostnega konteksta SELinux za vsako datoteko -1 izpis po eno datoteko v vrstici � -0, --null vrstice naj se zakljuÄijo z znakom NUL, ne LF � -z, --zero-terminated vrstice naj se zakljuÄijo z znakom NUL, ne LF �Datoteka: "%n" ID: %-8i Dol.im.: %-7l Tip: %T Velikost bloka: %-10s Osnovna velikost bloka: %S Bloki: Skupaj: %-10b Prosto: %-10f Na voljo: %a Inodi: Skupaj: %-10c Prosto: %d �Datoteka: %N Velikost: %-10s Blokov: %-10b V/I Blok: %-6o %F �SpeÄi procesi, ki jih ni mogoÄe prekiniti, tudi prispevajo k prikazu obremenitve. � [:graph:] vsi izpisljivi znaki razen presledka [:lower:] vse male Ärke [:print:] vsi izpisljivi znaki s presledkom vred [:punct:] vsa loÄila [:space:] vsi prazni znaki, vodoravni in navpiÄni [:upper:] vse velike Ärke [:xdigit:] vse Å¡estnajstiÅ¡ke Å¡tevke [=ZNAK=] vsi znaki, ki so enakovredni navedenemu ZNAKU � \0NNN bajt z osmiÅ¡ko kodo NNN (1, 2 ali 3 Å¡tevke) \xHH bajt s Å¡estnajstiÅ¡ko kodo HH (1 ali 2 Å¡tevki) � \NNN bajt z osmiÅ¡ko kodo NNN (1 do 3 Å¡tevke) \xHH bajt s Å¡estnajstiÅ¡ko kodo HH (1 ali 2 Å¡tevki) \uHHHH znak Unicode (ISO/IEC 10646) s Å¡estnajstiÅ¡ko kodo HHHH (4 Å¡tevke) \UHHHHHHHH znak Unicode s Å¡estnajstiÅ¡ko kodo HHHHHHHH (8 Å¡tevk) � \\ obratna poÅ¡evnica \a zvonÄek (BEL) \b pomik za znak nazaj \c ne izpisuj niÄesar veÄ \e ubežni znak \f skok na novo stran \n skok v novo vrstico \r vrnitev na zaÄetek vrstice \t horizontalni tabulator \v vertikalni tabulator � \\v navpiÄni tabulator ZNAK1-ZNAK2 naraÅ¡ÄajoÄe zaporedje znakov od ZNAKA1 do ZNAKA2 [ZNAK1-ZNAK2] isto kot ZNAK1-ZNAK2, Äe to uporabljata obe množici [ZNAK*] v MNOŽICI 2; toliko ponovitev ZNAKA kot v MNOŽICI 1 [ZNAK*N] N ponovitev znaka; osmiÅ¡ka vrednost, Äe se N zaÄne z niÄlo [:alnum:] vse Ärke in Å¡tevke [:alpha:] vse Ärke [:blank:] vsi vodoravni prazni znaki [:cntrl:] vsi krmilni znaki [:digit:] vse Å¡tevke � ascii iz EBCDIC v ASCII ebcdic iz ASCII v EBCDIC ibm iz ASCII v »alternate EBCDIC« block zapise terminirane z NEWLINE zapolni z presledki do dolžine cbs unblock sledilne presledke v zapisu dolžine cbs nadomesti z NEWLINE lcase velike Ärke zamenjaj z malimi ucase male Ärke zamenjaj z velikimi sparse pri vhodnih blokih z znaki NUL se namesto zapisovanja poskusi premakniti za dolžino bloka swab paroma zamenjaj bajte na vhodu sync vsak vhodni blok zapolni z znaki NUL dolžine ibs; Äe smo podali tudi block ali unblock, zapolni s presledki namesto z znaki NUL � binary uporabi binarne vhodno-izhodne funkcije za podatke � cio uporabi vzporedne vhodno-izhodne funkcije za podatke � count_bytes upoÅ¡tevaj »count=N« kot Å¡teto v bajtih (samo iflag) � d[ENOTA] predznaÄeno desetiÅ¡ko celo Å¡tevilo dolžine ENOTA bajtov f[ENOTA] Å¡tevilo v plavajoÄi vejici dolžine ENOTA bajtov o[ENOTA] osmiÅ¡ko Å¡tevilo dolžine ENOTA bajtov u[ENOTA] nepredznaÄeno desetiÅ¡ko celo Å¡tevilo dolžine ENOTA bajtov x[ENOTA] Å¡estnajstiÅ¡ko Å¡tevilo dolžine ENOTA bajtov � direct uporabi neposredne vhodno-izhodne funkcije za podatke � directory opusti, razen Äe je imenik � dsync uporabi sinhronizirane vhodno-izhodne funkcije za podatke � excl prenehaj z delom, Äe izhodna datoteka že obstaja nocreat ne zapiÅ¡i izhodne datoteke notrunc ne poreži izhodne datoteke noerror nadaljuj po napaki pri branju fdatasync fiziÄno zapiÅ¡i izhodno datoteko pred zakljuÄkom dela fsync enako, vendar zapiÅ¡i tudi metapodatke � fullblock naberi polne bloke na vhodu (zgolj iflag) � if=DATOTEKA beri z navedene DATOTEKE namesto s standardnega vhoda iflag=ZASTAVICA beri kot z vejicami loÄen seznam simbolov obs=BAJTOV piÅ¡i po zahtevano Å¡tevilo BAJTOV naenkrat (privzeto 512) of=DATOTEKA piÅ¡i na navedeno DATOTEKA namesto na standardni izhod oflag=ZASTAVICA piÅ¡i kot z vejicami loÄen seznam simbolov seek=BLOKOV na zaÄetku pisanja preskoÄi zahtevano Å¡tevilo BLOKOV dolžine obs skip=BLOKOV na zaÄetku branja preskoÄi zahtevano Å¡tevilo BLOKOV dolžine ibs status=IZPIS omeji IZPIS na stderr; »noxfer« brez statistike prenosa, »none« brez vseh izpisov � noatime ne ažuriraj Äasa zadnjega dostopa � nocache zavrzi medpomnjene podatke � noctty ne doloÄaj krmilnega terminala iz datoteke � nofollow ne sledi simbolnim povezavam � nolinks opusti, Äe je datoteka veÄkratno povezana � nonblock uporabi neblokirne vhodno-izhodne funkcije � none, off nikoli ne delamo varnostne kopije, niti z izbiro --backup numbered, t oÅ¡tevilÄene varnostne kopije existing, nil oÅ¡tevilÄene varnostne kopije, Äe take že obstajajo, sicer enostavne simple, never vedno enostavne varnostne kopije � seek_bytes upoÅ¡tevaj »seek=N« kot Å¡teto v bajtih (samo iflag) � skip_bytes upoÅ¡tevaj »skip=N« kot Å¡teto v bajtih (samo iflag) � sync enako, a tudi za metapodatke � text uporabi besedilne vhodno-izhodne funkcije za podatke � %H:%M%P � (varnostna kopija: %s)� * [-]ctlecho krmilne znake izpisuj v zapisu s streÅ¡ico (npr. »^C«) [-]echo izpisuj vnesene znake * [-]echoctl isto kot [-]ctlecho [-]echoe isti kot [-]crterase [-]echok izpiÅ¡i znak za novo vrstico po brisanju vrstice � * [-]echoke isto kot [-]crtkill [-]echonl izpisuj znak za novo vrstico, Äetudi ostalih ne * [-]echoprt izpisuj pobrisane znake nazaj, med »\« in »/« [-]icanon omogoÄi posebne znake erase, kill, werase in rprnt [-]iexten omogoÄi posebne znake, ki niso del priporoÄila POSIX � * [-]iuclc pretvori velike Ärke v male * [-]ixany omogoÄi, da katerikoli znak, ne le XON, ponovno požene izpis [-]ixoff omogoÄi poÅ¡iljanje znakov XON in XOFF [-]ixon omogoÄi uskladitev z znaki XON/XOFF [-]parmrk oznaÄi napako v pariteti z zaporedjem 255-0-ZNAK [-]tandem isto kot [-]ixoff � * [-]iutf8 privzemi, da znaki na vhodu uporabljajo kodiranje UTF-8 � * [-]ocrnl pretvori znake CR v NL * [-]ofdel zapolnjuj z znaki za brisanje namesto z znaki NUL * [-]ofill uporabi znake za zapolnjevanje namesto Äasovnih zakasnitev * [-]olcuc pretvori male Ärke v velike * [-]onlcr pretvori znake NL v CR * [-]onlret znak NL opravi Å¡e pomik na zaÄetek vrste � * [-]onocr ne izpisuj znakov CR v prvem stolpcu [-]opost dodatna obdelava izhoda * tabN slog zakasnitve pri tabulatorju; N je v intervalu [0..1] * tabs isto kot tab0 * -tabs isto kot tab3 * vtN slog zakasnitve pri vertikalnem tabulatorju; N je v [0..1] � * eol2 ZNAK alternativni ZNAK za zakljuÄek vrstice erase ZNAK ZNAK bo pobrisal nazadnje vneseni znak intr ZNAK ZNAK bo poslal signal za prekinitev kill ZNAK ZNAK bo pobrisal trenutno vrstico � * lnext ZNAK ZNAK bo vnesel naslednji navedeni znak quit ZNAK ZNAK bo poslal signal za konÄanje * rprnt ZNAK ZNAK bo obnovil (ponovno izrisal) trenutno vrstico start ZNAK ZNAK bo ponovno pognal ustavljeni izhod � * rows N sporoÄi jedru, da uporabljamo terminal z N vrsticami * size izpiÅ¡i podatke iz jedra o Å¡tevilu stolpcev in vrstic speed izpiÅ¡i hitrost terminala time N z -icanon, nastavi iztek Äasa pri branju na N desetink sekunde � ??:???? � TTY� kontekst=%s� egid=%s� euid=%s� gid=%s� skupine=� staro � pri ponovitvi %s �% 1% pomnilnika, b 1, k 1024 (privzeto), itn. za M, G, T, P, E, Z, Y. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda. ***OPOZORILO*** Krajevne prilagoditve vplivajo na urejanje. ÄŒe želite tradicionalno obnaÅ¡anje (urejanje po Å¡tevilski vrednosti bajtov), uporabite LC_ALL=C. �%.*s: neveljavna doloÄitev pretvorbe�%b %e %Y�%b %e %H:%M�%lu uporabnikov�%lu uporabnik�%lu uporabnika�%lu uporabniki�%s (za regularni izraz %s)�%s -> %s (brez varnostne kopije) �%s [-d] se je zakljuÄil nenormalno�%s in %s sta ena in ista datoteka�%s obstaja, vendar ni imenik�%s se je pojavila; sledimo konec nove datoteka�%s je postala dostopna�%s je postala nedostopna�%s je bila nadomeÅ¡Äena z datoteko na oddaljeni lokaciji; opuÅ¡Äamo�%s je bila nadomeÅ¡Äena z datoteko, kateri ni moÄ slediti konca; opuÅ¡Äamo�%s je bila zamenjana; sledimo konec nove datoteke�%s ima neznan tip datoteke�%s ima neuporabno, navidezno negativno velikost�DomaÄa stran %s: <%s> �Spletna stran %s: <http://www.gnu.org/software/%s/>. �%s ni veljavno pozitivno celo Å¡tevilo�%s je preveliko�%s lahko uporabite le z jedrom SELinux�podproces %s�podproces %s ni uspel�podproces %s je prejel terminalni signal %d�%s je bil doloÄen, %s pa ne�%s bi pisal prek vhoda; prekinjamo�%s%s: argument '%s' je prevelik�%s-%s�%s: %s je tako veliko, da ni predstavljivo�%s: %s: Å¡tevilka vrstice izven razpona�%s: %s: ujemanja ni�%s: %s:%s: neurejenost: �%s: pri ponovitvah je zahtevan »}«�%s: NAPAKA pri odpiranju ali branju �%s: priÄakuje se binarni operator�%s: relativne simbolne povezave so mogoÄe samo znotraj imenika�%s: ne-blokirnega naÄina ni mogoÄe spremeniti�%s: velikosti datoteke ni mogoÄe ugotoviti�%s: uporabniÅ¡ko ime za UID %lu ni ugotovljivo �%s: koncu te zvrsti datoteke ni mogoÄe slediti; s tem imenom odnehamo�%s: premik na zaÄetni položaj ni mogoÄ�%s: ni mogoÄe pisati prek imenika�%s: ni mogoÄe previti na zaÄetek�%s: pri pisanju premik s »seek« ni mogoÄ�%s: premik na odmik %s (relativno od konca) ni mogoÄ�%s: premik na odmik %s ni mogoÄ�%s: premik na relativni odmik %s ni mogoÄ�%s: ni mogoÄe uniÄiti datoteke, v katero smemo le dodajati�%s: pri branju premik s »skip« ni mogoÄ�%s: pri branju premik na zahtevani odmik ni mogoÄ�%s: manjkajoÄ zakljuÄni razmejilnik »%c«�%s: ne-blokirnega naÄina ni mogoÄe ponovno zagnati�%s: naj se spustimo v podimenik %s? �%s: naj se spustimo v imenik %s, ki je zavarovan proti pisanju? �%s: konec datoteke�%s: operand ekvivalentnih razredov sme biti en sam znak�%s: napaka pri krajÅ¡anju�%s: napaka med pisanjem pri odmiku %s�%s: priÄakovana je Å¡tevilÄna vrednost�%s: ni mogoÄe zapreti�%s: branje informacij extents ni uspelo�%s: ni mogoÄe odpreti za pisanje�%s: ni mogoÄe odstraniti�%s: ni mogoÄe nastaviti datoteÄnega kazalca�%s: klic fcntl ni uspel�%s: klic fdatasync ni uspel�%s: velikost datoteke negativna�%s: datoteka se je preveÄ skrÄila�%s: datoteka prevelika�%s: datoteka je predolga�%s: datoteka je porezana�%s: klic fstat ni uspel�%s: fsync ni uspel�%s: trda pozezava ni dovoljena za imenik�%s: zanka na vhodu:�%s: liho Å¡tevilo vnosov na vhodu�%s: vhodna in izhodna datoteka sta isti�%s: za razmejilnikom priÄakovano celo Å¡tevilo�%s: neveljavna velikost V/I bloka�%s: neveljavna Å¡tevilka procesa (PID)�%s: neveljavno Å¡tevilo kosa�%s: neveljavni Å¡tevec na zaÄetku %s�%s: neveljavna direktiva�%s: neveljavno doloÄilo polja: %s�%s: neveljavna velikost datoteke�%s: neveljavni tip datoteke�%s: neveljavno najveÄje Å¡tevilo nespremenjenih statusov med odpiranji�%s: neveljavno Å¡tevilo�%s: neveljavno Å¡tevilo bajtov�%s: neveljavno Å¡tevilo kosov�%s: neveljavno Å¡tevilo vrstic�%s: neveljavno Å¡tevilo prehodov�%s: neveljavno Å¡tevilo sekund�%s: neveljavno Å¡tevilo izloÄenih enot�%s: neveljavna izbira -- '%c' �%s: neveljavni vzorec�%s: neveljavna identifikacijska Å¡tevilka procesa�%s: neveljavni regularni izraz: %s�%s: neveljavni signal�%s: neveljavna zaÄetna vrednost za Å¡tevilÄno pripono�%s: neveljavno dolžina pripone�%s: Å¡tevilo vrstice mora biti pozitivno�%s: Å¡tevilka vrstice izven razpona�%s: klic lseek ni uspel�%s: podan veÄ kot en signal�%s: nova dovoljenja so %s, ne %s�%s: nobene pravilno oblikovane vrstice z nadzorno vsoto %s ni najti�%s: ni podatka o velikosti te enote�%s: uporabnik ne obstaja�%s: že izpisanega imenika ne podvajamo�%s: Å¡tevilo bajtov je preveliko�%s: izbira »%c%s« ne dovoljuje argumenta �%s: izbira »%s« je dvoumna; možnosti:�%s: izbira »--%s« ne dovoljuje argumenta �%s: izbira »--%s« zahteva argument �%s: izbira »-W %s« ne dovoljuje argumenta �%s: izbira »-W %s« je dvoumna �%s: izbira »-W %s« zahteva argument �%s: izbira zahteva argument -- '%c' �%s: naj piÅ¡emo prek %s? �%s: prehod %lu/%lu (%s)...�%s: prehod %lu/%lu (%s)...%s�%s: prehod %lu/%lu (%s)...%s/%s %d%%�%s: napaka pri branju�%s: naj se odstrani %s %s? �%s: naj vse argumente rekurzivno odstranimo? �%s: naj se odstranijo vsi argumenti? �%s: naj se odstrani %s %s, ki je zavarovana proti pisanju? �%s: odstranjeno�%s: odstranjujemo�%s: preimenovano v %s�%s: naj nadomestimo %s? �%s: klic seek ni uspel�%s: preveÄ vrstic z nadzorno vsoto�%s: naj piÅ¡emo prek %s navzlic zaÅ¡Äiti %04lo (%s)? �%s: najveÄje dovoljene dolžine imena datoteke ni moÄ ugotoviti�%s: vseh zahtevanih operacij se ni dalo izvesti�%s: priÄakuje se unarni operator�%s: neprepoznana izbira »%c%s« �%s: neprepoznana izbira »--%s« �%s: vrednost nepopolno pretvorjena�%s: napaka pri pisanju�%s: pisanje ni uspelo�%s:%lu: neveljavna vrstica; manjka drugi element�%s:%lu: neveljavno ime datoteke (dolžina niÄ)�%s:%lu: neprepoznana kljuÄna beseda %s�%s}: med »{« in »}« je zahtevano celo Å¡tevilo�«�priÄakuje se »)«�priÄakuje se »)«, naleteli na %s�»-%c« dodatni znaki ali neveljavno Å¡tevilo v argumentu: %s�»--pages=PRVA_STRAN[:ZADNJA_STRAN]«: manjkajoÄi argument�»-N Å TEVILKA« nedovoljena Å¡tevilka zaÄetne vrstice: %s�»-W Å IRINA_STRANI« neveljavno Å¡tevilo znakov: %s�»-l DOLŽINA_STRANI« nedovoljeno Å¡tevilo vrstic: %s�»-o ROB« nedovoljeni odmik od levega roba: %s�»-w Å IRINA_STRANI« neveljavno Å¡tevilo znakov: %s�©�* datoteÄni sistemi, ki hranijo medpomnilnik na zaÄasnih lokacijah, npr. odjemniki NFS verzije 3 * stisnjeni datoteÄni sistemi �* datoteÄni sistemi s strukturiranim dnevnikom ali z dnevnikom sprememb, kot jih uporabljata AIX in Solaris (tudi JFS, ReiserFS, XFS, Ext3 itn.) * datoteÄni sistemi, ki podatke zapisujejo redundantno in lahko nadaljujejo z delom, Äeprav vsa pisanja niso bila uspeÅ¡na (npr. RAID) * datoteÄni sistemi, ki shranjujejo trenutne slike stanja diska, npr. strežnik NFS podjetja Network Appliace �, povpr. obremenitev %.2f�, %g s, %s/s �--%s argument %s je prevelik�--context (-Z) deluje samo pri jedru s podporo SELinux�--filter ne obdeluje kosa, zapisanega na standardni izhod�--reflink je moÄ uporabiti le skupaj z --sparse=auto�--tag ne podpira naÄina --text�-R --dereference zahteva bodisi -H, bodisi -L�-R -h zahteva -P�-ef ne sprejema -l�-nt ne sprejema -l�-ot ne sprejema -l�<interno>�??? �?????�Prekinjen� Dostop: %x Modifik.: %y Spremem.: %z Rojstvo: %w � Dostop: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G) �Družina naslovov za ime gostitelja ni podprta�Budilka�Vsi zahtevki obdelani�Medpomnilnik za argumente premajhen�Arnold Robbins�Prost�Na voljo�Slab sistemski klic�Slaba vrednost ai_flags�Brian Fox�Prekinjen cevovod�Napaka vodila�OPOZORILO: Delovanje programa »shred« temelji na zelo pomembni predpostavki, da datoteÄni sistem piÅ¡e prek starih podatkov. Vsi tradicionalni datoteÄni sistemi so res taki, Å¡tevilne sodobne zasnove datoteÄnih sistemov pa ne. Navedeni so zgledi datoteÄnih sistemov, na katerih program »shred« ne bo uÄinkovit, ali pa njegova uÄinkovitost ni zajamÄena v vseh naÄinih delovanja datoteÄnega sistema: �KOMENTAR�Presežena omejitev procesorskega Äasa�S klicem funkcije link(2) ustvarimo povezavo med povezavo DATOTEKO2 in obstojeÄo DATOTEKO1. �Odstranitev navedene DATOTEKE s klicem funkcije unlink(2). �Kapacit.�Navedenim DATOTEKAM spremenimo varnostni kontekst v KONTEKST. Z izbiro --reference, spremenimo vsem DATOTEKAM varnostni kontekst v istega, kot ga ima ZGLED. �Navedenim DATOTEKAM spremenimo zaÅ¡Äito v navedeno ZAÅ ÄŒITO. Z izbiro --reference spremenimo vsem DATOTEKAM zaÅ¡Äito v enako, kot jo ima ZGLED. �Spremeni LASTNIKA in/ali SKUPINO vsake navedene DATOTEKE na podani vrednosti. Pri podani izbiri --reference spremeni lastnika in/ali skupino na vrednosti, kot jih ima datoteka ZGLED. �Chet Ramey�Izhod nasledniÅ¡kega procesa�Colin Plumb�Urejeni datoteki DATOTEKA1 in DATOTEKA2 primerjamo vrstico za vrstico. �PrepiÅ¡emo DATOTEKO, veÄ DATOTEK ali standardni vhod na standardni izhod. -A, --show-all enakovredno sestavljeni izbiri -vET -b, --number-nonblank oÅ¡tevilÄi neprazne izpisane vrstice, prevlada nad izbiro -n -e enakovredno sestavljeni izbiri -vE -E, --show-ends izpiÅ¡i $ na koncu vsake vrstice -n, --number oÅ¡tevilÄi vse izpisane vrstice -s, --squeeze-blank zaporedje veÄ praznih vrstic skrÄi v eno �Kontekst: %C �Nadaljevan�PrepiÅ¡i datoteko ter jo pretvori in preoblikuj glede na izbire. bs=BAJTOV preberi in zapiÅ¡i zahtevano Å¡tevilo BAJTOV naenkrat cbs=BAJTOV pretvori zahtevano Å¡tevilo BAJTOV naenkrat conv=PRETVORBA pretvori datoteko, kot zahteva PRETVORBA (seznam simbolov, loÄen z vejicami) count=BLOKOV prepiÅ¡i zgolj zahtevano Å¡tevilo vhodnih BLOKOV ibs=BAJTOV beri po zahtevano Å¡tevilo BAJTOV naenkrat (privzeto 512) �Standarni vhod prepiÅ¡emo na standardni izhod in Å¡e na vse navedene DATOTEKE. -a, --append dodajaj na konec datoteke, namesto da piÅ¡eÅ¡ prek -i, --ignore-interrupts ne upoÅ¡tevaj signalov za prekinitev �Varno ustvari zaÄasno datoteko ali imenik in izpiÅ¡i njeno ime. PREDLOGA mora vsebovati vsaj 3 zaporedne znake X v zadnji komponenti imena. ÄŒe PREDLOGA ni podana, se uporabi tmp.XXXXXXXXXX in implicira --tmpdir. �David M. Ihnat�David MacKenzie�David Madore� Naprava: %Dh/%dd Inod: %-10i Povezave: %-5h Tip naprave: %t,%T � Naprava: %Dh/%dd Inod: %-10i Povezave: %h �Diagnosticira neveljavna ali neprenosljiva imena datotek. -p preveri za veÄino sistemov POSIX -P preveri za prazna imena in vodilne »-« v imenih --portability preveri za vse sisteme POSIX (enakovredno -p -P) �Imenik: �Dmitry V. Levin�Izpusti vse dodatne skupine, privzame Å¡tevilki uporabnika in skupine (UID in GID) navedenega UPORABNIKA ter požene UKAZ z vsemi podanimi ARGUMENTI. Ob izhodu vrne statusno kodo 111, Äe ni bilo mogoÄe privzeti zahtevanih UID in GID, sicer pa vrne izhodno statusno kodo UKAZA. Program je uporaben le, kadar ga poganja superuporabnik (UID=0). �Past EMT�IZH.�Vsak razpon ima lahko obliko: N N-ti bajt, znak ali polje, Å¡teto od 1 dalje N- od N-tega bajta, znaka ali polja do konca vrstice N-M od N-tega do vkljuÄno M-tega bajta, znaka ali polja -M od prvega do vkljuÄno M-tega bajta, znaka ali polja ÄŒe DATOTEKA ni podana, ali Äe je enaka - (minusu), se bere standardni vhod. �IzpiÅ¡emo NIZ ali veÄ NIZOV na standardni izhod. -n ne izpisuj konÄnega znaka za novo vrstico �Eric Blake�ZakljuÄi s statusno kodo, ki kaže neuspeh.�ZakljuÄi s statusno kodo, ki kaže uspeh.�Ovrednoti IZRAZ in rezultat vrne kot izhodno kodo. �François Pinard�NAPAKA�POPRAVI: neznano�Podano oblikovno DOLOÄŒILO mora biti primerno za izpis enega argumenta tipa »double«; privzeto je %.PRECf, Äe so PRVO, KORAK in ZADNJE decimalna Å¡tevila predstavljena v fiksni natanÄnosti PREC, sicer pa %g. �Poimenovane cevi nimajo glavnih in pomožnih Å¡tevil naprave�Presežena omejitev dolžine datoteke�Datoteke so ustvarjene z zaÅ¡Äito u+rw, imeniki pa z u+rwx, oboje minus omejitve umask. �Dat. sist.�PrekoraÄitev plavajoÄe vejice�Za popolno dokumentacijo poženite: info coreutils '%s invocation' �Za vsak par vrstic na vhodu z enakimi združitvenimi polji izpiÅ¡emo vrstico na standardni izhod. Privzeto združitveno polje je prvo, loÄeno s praznim prostorom. ÄŒe sta DATOTEKA1 ali DATOTEKA2 (ne pa obe hkrati) enaki -, beremo s standardnega vhoda. -a DATOTEKA izpiÅ¡emo tudi vrstice brez para, ki izvirajo iz navedene DATOTEKE (spremenljivka DATOTEKA lahko zavzame vrednosti 1 ali 2, kar ustreza DATOTEKI1 in DATOTEKI2) -e PRAZNO manjkajoÄe vhodno polje nadomestimo z nizom PRAZNO �Stanje na disku uskladimo s stanjem v diskovnem medpomnilniku. �SploÅ¡na pomoÄ za rabo programja GNU: <http://www.gnu.org/gethelp/>. �Giuseppe Scrivano�H. Peter Anvin�Odklop�MogoÄ V/I�NEAKT.�IPros�IUpo%�IUpor�Ian Lance Taylor�Neak�ÄŒe DATOTEKA ni navedena, uporabimo %s. ObiÄajno je DATOTEKA %s. �Nedovoljen ukaz�Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je mogoÄe rekonstruirati uniÄeno datoteko. �Pravo ime: �V primeru datoteÄnih sistemov ext3 velja gornje opozorilo o neuÄinkovitosti programa shred le v naÄinu »data=journal«, ki zapisuje dnevnik sprememb podatkov v datotekah, ne le podatkov o datotekah. V naÄinih »data=ordered« (kar je privzeti naÄin) ter »data=writeback« deluje shred kot obiÄajno. NaÄine dnevniÅ¡kega beleženja sprememb pri ext3 doloÄimo z izbiro »data=nekaj« pri priklopu doloÄenega datoteÄnega sistema v datoteki /etc/fstab, kot je opisano v priroÄniku ukaza »mount« (glejte »man mount«). Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je mogoÄe rekonstruirati uniÄeno datoteko. �neskonÄno�neskonÄno B�Informacijski zahtevek�Inodov�Prekinitev�Prekinjeno s signalom�Neveljaven povratni sklic�Neveljavno ime razreda znakov�Neveljaven razvrÅ¡Äevalni znak�Neveljavna vsebina \{\}�Neveljaven predhodni regularni izraz�Neveljaven konec razpona�Neveljaven regularni izraz�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Pobit�LINIJA�PRIJAVA�Login�UporabniÅ¡ko ime: �Lucasov test praÅ¡tevil ni uspel. Do te napake ne bi smelo priti�Mark Kettenis�Matthew Bradburn�Dodelitev pomnilnika ni uspela�Pomnilnik izÄrpan�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Priklopljeno na�IME� Ime�Ime ali storitev ni poznana�Niels Möller�Z imenom gostitelja ni povezan noben naslov�Brez zadetkov�PrejÅ¡njega regularnega izraza ni�Nepopravljiv neuspeh pri razreÅ¡evanju imena�V REDU�Kadar briÅ¡emo brez veÄkratnega stiskanja, sme biti podan samo en niz.�Izbire pri urejanju: �Druge izbire: �Izpis ukazov za nastavitev spremenljivke LS_COLORS. DoloÄitev oblike izhoda: -b, --sh, --bourne-shell oblika Bournove ukazne lupine za nastavitev spremenljivke LS_COLORS -c, --csh, --c-shell oblika ukazne lupine C za nastavitev LS_COLORS -p, --print-database izpis privzeth vrednosti �IzpiÅ¡emo IME brez elementa za zadnjo poÅ¡evnico (/) in brez zakljuÄnih poÅ¡evnic; Äe IME ne vsebuje poÅ¡evnic, izpiÅ¡emo ».« (pomeni trenutni imenik). �Izpis lokalnih omejitev v obliki, uporabne za skripte ukazne lupine. �Seznam trenutno prijavljenih uporabnikov zapiÅ¡emo na DATOTEKO. ÄŒe DATOTEKA ni navedena, uporabimo %s. ObiÄajno je DATOTEKA %s. �PID�Priprava paketa: %s �Priprava paketa: %s (%s) �Padraig Brady�ParametriÄni niz nepravilno kodiran�Paul Eggert�Paul Rubin�Pete TerMaat�NaÄrt: �Izpad toka�PredÄasen zakljuÄek regularnega izraza�IzpiÅ¡emo ARGUMENT(E) v navedeni OBLIKI, ali izvedemo glede na IZBIRO: �IzpiÅ¡emo nadzorno vsoto in dolžino v bajtih za vsako DATOTEKO. �IzpiÅ¡emo razliÄne sistemske podatke. Brez IZBIRE je isto kot -s. -a, --all izpiÅ¡i vse podatke v naslednjem vrstnem redu; z izjemo -p in -i, Äe nista znana -r, --kernel-name izpiÅ¡i ime jedra operacijskega sistema -n, --nodename izpiÅ¡i omrežno ime raÄunalnika -r, --kernel-release izpiÅ¡i izdajo jedra operacijskega sistema �Za vsako DATOTEKO izpiÅ¡e nadzorno vsoto in Å¡tevilo blokov. -r algoritem BSD za nadzorno vsoto, velikost blokov 1 KB -s, --sysv algoritmom System V za nadzorno vsoto, velikost blokov 512 B �IzpiÅ¡e Älanstvo v skupinah za navedenega UPORABNIKA, ali, Äe UPORABNIK ni podan, za trenutni proces (ki je drugaÄen, Äe se je baza groups vmes spremenila). �Izpis podatkov o trenutno prijavljenih uporabnikih. �IzpiÅ¡i arhitekturo sistema. �IzpiÅ¡e Å¡tevilo bajtov, besed in vrstic v vsaki od podanih DATOTEK, ter skupne vrednosti, Äe je bila podana veÄ kot ena DATOTEKA. ÄŒe DATOTEKA ni podana ali je enaka -, se bere s standardnega vhoda. Beseda je definirana kot neprazno zaporedje znakov, razmejeno s presledki. S spodnjimi izbirami doloÄimo, kateri Å¡tevci bodo izpisani. Izpisani so vedno v istem vrstnem redu: nova vrstica, besede, znaki, bajti, dolžina najdaljÅ¡e vrstice. -c, --bytes izpis Å¡tevila bajtov -m, --chars izpis Å¡tevila znakov -l, --lines izpis Å¡tevila vrstic �IzpiÅ¡e trenutni Äas, Äas, ki je pretekel od zagona raÄunalnika, Å¡tevilo trenutno prijavljenih uporabnikov in povpreÄno Å¡tevilo opravil v Äakalni vrsti v zadnji minuti, petih minutah in 15 minutah.�IzpiÅ¡emo ime enote terminala, s katere beremo standardni vhod. -s, --silent, --quiet niÄesar ne izpiÅ¡i, samo vrni izhodni status �IzpiÅ¡emo celotno pot trenutnega delovnega imenika. �IzpiÅ¡emo uporabniÅ¡ko ime trenutnega uporabnika. �IzpiÅ¡i Å¡tevilo procesnih enot na razpolago trenutnemu procesu, kar je lahko manj od Å¡tevila delujoÄih procesorjev �IzpiÅ¡e prafaktorje za vsako od podanih celih Å TEVIL. ÄŒe nobeno Å¡tevilo ni podano kot argument v ukazni vrstici, jih beremo s standardnega vhoda. �IzpiÅ¡i razreÅ¡eno absolutno ime datoteke: vse komponente poti razen zadnje morajo obstajati �IzpiÅ¡e ime uporabnika, povezanega s trenutno dejavno uporabniÅ¡ko identiteto. Isto kot »id -un«. �IzpiÅ¡emo podatke o uporabniku in skupini za navedenega UPORABNIKA. ÄŒe uporabnik ni naveden, se izpiÅ¡ejo podatki za trenutnega uporabnika. -a (se ne upoÅ¡teva, združljivost s starejÅ¡imi razliÄicami) -Z, --context izpiÅ¡i le varnostni kontekst danega uporabnika -g, --group izpiÅ¡i le efektivno Å¡tevilko skupine (GID) -G, --groups izpiÅ¡i Å¡tevilke vseh skupin -n, --name pri izbirah -ugG izpiÅ¡i ime uporabnika namesto Å¡tevilke -r, --real izpiÅ¡i pravi ID namesto efektivnega, skupaj z -ugG -u, --user izpiÅ¡i le efektivno Å¡tevilko uporabnika (UID) �IzpiÅ¡i vrednost simbolne povezave ali kanoniÄno ime datoteke �Obdelava zahtevka v teku�Iztek profilirne Å¡toparice�Projekt: �Q. Frank Xia�KonÄanje�Randy Smith�RealnoÄasovni signal %d�Regularni izraz je preobsežen�Odstranimo navedene DATOTEKE. -f, --force brez opozoril o neobstojeÄih datotekah ali izbirah, brez zahteve po potrditvi pred vsakim brisanjem -i zahtevamo potrditev pred vsakim brisanjem �Odstrani IMENIK ali IMENIKE, Äe so prazni. --ignore-fail-on-non-empty nadaljuj kljub napaki, Äe je do te priÅ¡lo zgolj zato, ker kateri od navedenih imenikov ni prazen �Ponavljaje izpisujemo vrstico s podanim NIZOM (privzeto »y«). �Napake v programu %s sporoÄite na: %s Napake v prevodu sporoÄite na <translation-team-sl@lists.sourceforge.net>. �Napake v prevodu %s sporoÄite na <http://translationproject.org/team/sl.html> �Zahtevek preklican�Zahtevek ni preklican�Vir izgubljen�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Izvedemo UKAZ tako, da korenski imenik postavimo na KOREN. �Poženemo UKAZ, pri Äemer ne upoÅ¡tevamo signalov za prekinitev. �Russel Coker�Scott Bartram�Scott Miller�Napaka segmentacije�Servname ni podprt za ai_socktype�Nastavite LC_ALL='C', da bi odpravili težavo.�Ukazna lupina: �Simon Josefsson�Vel.�Posebne datoteke zahtevajo, da sta podani glavno in pomožno Å¡tevilo naprave�Napaka sklada�Ustavljen�Ustavljen (signal)�Ustavljen (vhod TTY)�Ustavljen (izhod TTY)�Stuart Kemp�UspeÅ¡no�Sistemska napaka�ÄŒAS�RazreÅ¡evanje imena zaÄasno ni uspelo�ZakljuÄen�Naslednja neobvezna doloÄila lahko sledijo znaku »%«: »-« (minus) ne dopolnjuj polja »_« (podÄrtaj) dopolni polje s presledki »0« (niÄla) dopolni polje z niÄlami »^« Äe je mogoÄe, uporabi velike Ärke »#« Äe je mogoÄe, uporabi nasprotne Ärke �Primerjana niza sta bila %s in %s.�Torbjorn Granlund�Past�ZakljuÄna obratna poÅ¡evnica�Prevedemo, stisnemo ali pobriÅ¡emo znake iz toka podatkov na standardnem vhodu ter rezultat piÅ¡emo na standardni izhod. -c, -C, --complement komplement MNOŽICE 1. -d, --delete pobriÅ¡emo znake, navedene v MNOŽICI 1. -s, --squeeze-repeats sosledje enakih znakov, navedeno v MNOŽICI 1, nadomestimo z enim samim znakom -t, --truncate-set1 MNOŽICO 1 najprej skrÄimo na velikost MNOŽICE 2. �Poskusite »%s --help« za izÄrpnejÅ¡a navodila �Poskusite »%s ./%s«, da bi odstranili datoteko %s. �Ob hkratnem veÄkratnem brisanju in stiskanju morata biti podana dva niza.�Pri prevedbi morata biti podana dva niza.�Tip�Ulrich Drepper�Neznana napaka�Neznani signal %d�Neznana sistemska napaka�Uklepaj ( ali \( brez para�Zaklepaj ) ali \) brez para�Uklepaj [ ali [^ brez para�Uklepaj \{ brez para�Nujno V/I stanje�Uporaba: %s �Uporaba: %s UKAZ [ARGUMENT]... ali: %s IZBIRA �Uporaba: %s KONTEKST UKAZ [argumenti] ali: %s [ -c ] [-u UPORABNIK] [-r VLOGA] [-t TIP] [-l OBSEG] UKAZ [argumenti] �Uporaba: %s IZRAZ ali: %s IZBIRA �Uporaba: %s DATOTEKA ali: %s IZBIRA �Uporaba: %s DATOTEKA1 DATOTEKA2 ali: %s IZBIRA �Uporaba: %s OBLIKA [ARGUMENT]... ali: %s IZBIRA �Uporaba: %s IME [PRIPONA] ali: %s IZBIRA... IME... �Uporaba: %s Å TEVILO[PRIPONA] ali: %s IZBIRA Premor za Å TEVILO sekund. PRIPONA je lahko »s« za sekunde (privzeto), »m« za minute, »h« za ure ali »d« za dneve. Za razliko od veÄine drugih izvedb, ki zahtevajo, da je Å TEVILO celo Å¡tevilo, je tu lahko poljubno Å¡tevilo v zapisu s plavajoÄo vejico. ÄŒe je podanih veÄ argumentov, velja premor za vsoto njihovih vrednosti. �Uporaba: %s IZBIRA... UKAZ �Uporaba: %s IZBIRA... DATOTEKA... �Uporaba: %s IZBIRA... [DATOTEKA]... �Uporaba: %s [-F ENOTA] [--file=ENOTA] [NASTAVITEV]... ali: %s [-F ENOTA] [--file=ENOTA] [-a|-all] ali: %s [-F ENOTA] [--file=ENOTA] [-g|--save] �Uporaba: %s [-Å IRINA] [IZBIRA]... [DATOTEKA]... �Uporaba: %s [-s SIGNAL | -SIGNAL] PID... ali: %s -l [SIGNAL]... ali: %s -t [SIGNAL]... �Uporaba: %s [DATOTEKA]... ali: %s [IZBIRA] �Uporaba: %s [IME] ali: %s IZBIRA IzpiÅ¡emo ali nastavimo gostiteljsko ime trenutnega sistema. �Uporaba: %s [Å TEVILO]... ali: %s IZBIRA �Uporaba: %s [OPERAND]... ali: %s IZBIRA �Uporaba: %s [IZBIRA] �Uporaba: %s [IZBIRA] IzpiÅ¡emo (Å¡estnajstiÅ¡ko) identifikacijsko Å¡tevilko trenutnega raÄunalnika. �Uporaba: %s [IZBIRA] TRAJANJE UKAZ [ARGUMENT]... ali: %s [IZBIRA] �Uporaba: %s [IZBIRA] IME... �Uporaba: %s [IZBIRA] NOVI_KOREN [UKAZ [ARGUMENT]...] ali: %s IZBIRA �Uporaba: %s [IZBIRA]... [UKAZ [ARGUMENT]...] �Uporaba: %s [IZBIRA] [DATOTEKA] ZapiÅ¡emo povsem urejen seznam, usklajen z delno ureditvijo v DATOTEKI. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda. �Uporaba: %s [IZBIRA]... �Uporaba: %s [IZBIRA]... KONTEKST DATOTEKA... ali: %s [IZBIRA]... [-u UPORABNIK] [-r VLOGA] [-l OBSEG] [-t TIP] DATOTEKA... ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA... �Uporaba: %s [IZBIRA]... IMENIK... �Uporaba: %s [IZBIRA]... DATOTEKA VZOREC... �Uporaba: %s [IZBIRA]... DATOTEKA... �Uporaba: %s [IZBIRA]... DATOTEKA1 DATOTEKA2 �Uporaba: %s [IZBIRA]... SKUPINA DATOTEKA... ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA... �Uporaba: %s [IZBIRA]... ZADNJE ali: %s [IZBIRA]... PRVO ZADNJE ali: %s [IZBIRA]... PRVO KORAK ZADNJE �Uporaba: %s [IZBIRA]... ZAÅ ÄŒITA[,ZAÅ ÄŒITA]... DATOTEKA... ali: %s [IZBIRA]... OKTALNA_KODA DATOTEKA... ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA... �Uporaba: %s [IZBIRA]... IME TIP [GLAVNO POMOŽNO] �Uporaba: %s [IZBIRA]... IME... �Uporaba: %s [IZBIRA]... MNOŽICA1 [MNOŽICA2] �Uporaba: %s [IZBIRA]... [ DATOTEKA | ARGUMENT1 ARGUMENT2 ] �Uporaba: %s [IZBIRA]... [+OBLIKA] ali: %s [-u|--utc|--universal] [MMDDuumm[[SS]LL][.ss]] �Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ ali: %s [IZBIRA]... IZVOR... IMENIK ali: %s [IZBIRA]... --target-directory=IMENIK IZVOR... �Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ ali: %s [IZBIRA]... IZVOR... IMENIK ali: %s [IZBIRA]... -t IMENIK IZVOR... ali: %s [IZBIRA]... -d IMENIK... �Uporaba: %s [IZBIRA]... [-T] CILJ POVEZAVA (prva oblika) ali: %s [IZBIRA]... CILJ (druga oblika) ali: %s [IZBIRA]... CILJ... IMENIK (tretja oblika) ali: %s [IZBIRA]... -t IMENIK CILJ (Äetrta oblika) �Uporaba: %s [IZBIRA]... [-] [IME=VREDNOST]... [UKAZ [ARGUMENT]...] �Uporaba: %s [IZBIRA]... [DATOTEKA]... �Uporaba: %s [IZBIRA]... [DATOTEKA] ali: %s [IZBIRA]... [ARGUMENT]... ali: %s -i SP-ZG [IZBIRA]... �Uporaba: %s [IZBIRA]... [DATOTEKA]... �Uporaba: %s [IZBIRA]... [DATOTEKA]... ali: %s [-abcdfilosx]... [DATOTEKA] [[+]ODMIK[.][b]] ali: %s --traditional [IZBIRA] [DATOTEKA] [[+]ODMIK[.][b] [[+]OZNAKA][.][b]] �Uporaba: %s [IZBIRA]... [DATOTEKA]... ali: %s [IZBIRA]... --files0-from=F �Uporaba: %s [IZBIRA]... [DATOTEKA]... IzpiÅ¡e ali preveri nadzorne vsote %s (%d-bitne). ÄŒe DATOTEKA ni podana ali Äe je enaka -, se bere s standardnega vhoda. �Uporaba: %s [IZBIRA]... [VHOD [IZHOD]] �Uporaba: %s [IZBIRA]... [VHOD [PREDPONA]] �Uporaba: %s [IZBIRA]... [VHOD]... (brez -G) ali: %s -G [IZBIRA]... [VHOD [IZHOD]] �Uporaba: %s [IZBIRA]... [LASTNIK][:[SKUPINA]] DATOTEKA... ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA... �Uporaba: %s [IZBIRA]... [PREDLOGA] �Uporaba: %s [IZBIRA]... [UPORABNIK] �Uporaba: %s [IZBIRA]... [UPORABNIK]... �Uporaba: %s [IZBIRA]... [UPORABNIK]... �Uporaba: %s [IZBIRA]... [SPREMENLJIVKA]... IzpiÅ¡e vrednosti navedenih SPREMENLJIVK okolja. ÄŒe SPREMENLJIVKA ni podana, izpiÅ¡e imena in vrednosti vseh spremenljivk. �Uporaba: %s [KRATKA_IZBIRA]... UPORABNIK UKAZ [ARGUMENT]... ali: %s [DOLGA_IZBIRA] �Uporaba: %s [KRATKA_IZBIRA]... [NIZ]... ali: %s DOLGA_IZBIRA �Uporaba: %s [NIZ]... ali: %s IZBIRA �Uporaba: %s [neupoÅ¡tevani argumenti ukazne vrstice] ali: %s IZBIRA �Uporaba: test IZRAZ ali: test ali: [ IZRAZ ] ali: [ ] ali: [ IZBIRA �Upo%�Upor.�UporabniÅ¡ki signal 1�UporabniÅ¡ki signal 2�Veljavni argumenti so:�Veljavni argumenti so: �Veljavna formatna zaporedja za datoteÄne sisteme: %a - Å¡tevilo prostih blokov, dostopnih za uporabnike %b - skupno Å¡tevilo blokov v datoteÄnem sistemu %c - skupno Å¡tevilo inodov v datoteÄnem sistemu %d - Å¡tevilo prostih inodov v datoteÄnem sistemu %f - Å¡tevilo prostih blokov v datoteÄnem sistemu �Iztek virtualne Å¡toparice�POZOR: Cirkularna struktura imenikov. To skoraj gotovo pomeni resno napako v datoteÄnem sistemu. OBVESTITE UPRAVITELJA SISTEMA. Naslednja dva imenika imata isto Å¡tevilo inode: %s �OPOZORILO: izbira --context (-Z) ni upoÅ¡tevana; jedro ne podpira SELinux�OPOZORILO: doloÄilo --preserve-context ni upoÅ¡tevano; jedro ne podpira SELinux.�OPOZORILO: izbira --strip-program se ne upoÅ¡teva, ker ni podana izbira -s�Opozorilo: �Kdaj�Kje�Zamenjano okno�Ob podani izbiri --follow (-f) »tail« sledi opisniku datoteke, kar pomeni, da »tail« nadaljuje s spremnljanjem konca datoteke, Äetudi je ta preimenovana. Privzeti naÄin ni uporaben, Äe želimo spremljati datoteko z danim imenom (npr. dnevniÅ¡ki zapisi). V tem primeru uporabimo --follow=name. V tem naÄinu »tail« periodiÄno poskusi odpreti datoteko in tako preverja, ali ta Å¡e obstaja, ali pa je bila vmes zbrisana ter ponovno ustvarjena. �Avtorja: %s in %s. �Avtorji: %s, %s, %s, %s, %s, %s, %s, %s, %s in drugi. �Avtorji: %s, %s, %s, %s, %s, %s, %s, %s in %s. �Avtorji: %s, %s, %s, %s, %s, %s, %s in %s. �Avtorji: %s, %s, %s, %s, %s, %s in %s. �Avtorji: %s, %s, %s, %s, %s in %s. �Avtorji: %s, %s, %s, %s in %s. �Avtorji: %s, %s, %s in %s. �Avtorji: %s, %s in %s. �Avtor(ica): %s. �izrazi [=c=] se pri prevedbi ne smejo pojavljati v nizu 2�^ brez ujemanja za kljuÄ �^[nN]�^[jJdD]�klic _open_osfhandle ni uspel�»�ob podanem popravku ravni moramo podati tudi ukaz�ai_family ni podprt�ai_socktype ni podprt�dvoumni argument %s za %s�vhodni razmejilnik se sme doloÄiti le, kadar delamo s polji�izhod dodajamo na konec %s�varnostna kopija %s bi uniÄila izvirnik; %s ni prepisan�varnostna kopija %s bi uniÄila izvirnik; %s ni premaknjen�vrsta varnostne kopije�bloÄna enota�bloÄne enote niso podprte�blokov�obeh datotek ne moremo hkrati brati s standardnega vhoda�odmik %s (v bajtih) je prevelik�delnega konteksta ni mogoÄe uporabiti na neoznaÄeni datoteki %s�konteksta procesa ni mogoÄe pridobiti�dostop do %s ni mogoÄ�ni mogoÄe izdelati varnostne kopije %s�možnosti se izkljuÄujeta - ali izpis vseh, ali povzetek�lastniÅ¡tva %s ni mogoÄe spremeniti�dovoljenj %s ni mogoÄe spremeniti�korenskega imenika ni mogoÄe prestaviti na %s�imenik %s ni dosegljiv�korenski imenik ni dosegljiv s chdir�izbiri --target-directory (-t) in --no-target-directory (-T) se izkljuÄujeta�izbiri --target-directory in --no-target-directory se izkljuÄujeta�izbir -e in -i ni mogoÄe kombinirati�pretvorbe ascii, ebcdic in ibm se medsebojno izkljuÄujejo�pretvorbi block in unblock se medsebojno izkljuÄujeta�izbiri direct in nocache se medsebojno izkljuÄujeta�pretvorbi excl in nocreat se medsebojno izkljuÄujeta�pretvorbi lcase in ucase se medsebojno izkljuÄujeta�ni moÄ podati izbire --reference in Å¡e izrecno navesti ZAÅ ÄŒITE�signala ni moÄ kombinirati z izbirama -l ali -t�ni mogoÄe primerjati imen datotek %s in %s�znaka s kodo U+%04X ni mogoÄe pretvoriti v lokalni nabor znakov�znaka s kodo U+%04X ni moÄ pretvoriti v lokalni nabor znakov: %s�imenika %s se ne da prepisati vase, v %s�ni mogoÄe prepisati cikliÄne simbolne povezave %s�imenika %s ni mogoÄe ustvariti�ni mogoÄe ustvariti FIFO %s�ni mogoÄe ustvariti trde povezave %s na %s�ni mogoÄe ustvariti povezave %s na %s�ni mogoÄe ustvariti cevovoda�ni mogoÄe ustvariti navadne datoteke %s�ni mogoÄe ustvariti posebne datoteke %s�ni mogoÄe ustvariti simbolne povezave %s�ni mogoÄe ustvariti simbolne povezave %s na %s�zaÄasne datoteke v %s ni mogoÄe ustvariti�ni mogoÄe slediti povezavi %s�ni mogoÄe ugotoviti enote in inoda datoteke %s�imena raÄunalnika ni mogoÄe ugotoviti�ni moÄ ugotoviti lokacije %s, uporabljamo programsko izpraÅ¡evanje�izbira --relative ni mogoÄa brez izbire --symbolic�ioctl na »%s« ni mogoÄ�ime skupine za GID %lu ni ugotovljivo�uporabniÅ¡kega imena za UID %s ni moÄ ugotoviti�sledenje %s po imenu ni mogoÄe�konteksta ni mogoÄe nastaviti na %s in ga obenem ohraniti�statusa %s ni moÄ ugotoviti s fstat�trenutnega imenika ni mogoÄe ugotoviti�efektivnega GID ni mogoÄe ugotoviti�efektivnega UID ni mogoÄe ugotoviti�prioriteta izvajanja ni ugotovljiva�pravega GID ni mogoÄe ugotoviti�pravega UID ni mogoÄe ugotoviti�ime sistema ni ugotovljivo�ni mogoÄe prebrati velikosti %s�premikanje z lseek po %s ni mogoÄe�hkratne trde in simbolne povezave niso mogoÄe�ni mogoÄe ustvariti imenika %s�ni mogoÄe premakniti %s v %s�imenika %s se ne da premakniti v %s, ki je podimenik prvega�imenika ne moremo premakniti v ne-imenik: %s -> %s�datotek %s ni mogoÄe odpreti za branje�%s ni mogoÄe odpreti za pisanje�imenika %s ni mogoÄe odpreti�delovanje na obviseni simbolni povezavi %s ni mogoÄe�prek imenika %s ne moremo zapisati ne-imenika�prek ne-imenika %s ne moremo pisati imenika %s�oblikovanega izpisa ni mogoÄe izvesti�razÅ¡irjenih atributov ni moÄ ohraniti, cp je zgrajen brez podpore za xattr�ohranitev varnostnega konteksta brez jedra s podporo SELinux ni mogoÄa�ni mogoÄe izpisati le neÄesa, Äe je podanih veÄ možnosti�v privzeti obliki ni možen izpis samo imen ali realnih ID�izpis varnostnega konteksta ni mogoÄ ob podanem uporabniku�branje ni mogoÄe�imenika %s ni mogoÄe prebrati�ni mogoÄe prebrati imen datotek iz %s�ni mogoÄe prebrati datoteÄnega sistema %s�ure s stvarnim Äasom ni moÄ prebrati�ni mogoÄe prebrati simbolne povezave %s�tabele priklopljenih datoteÄnih sistemov ni moÄ prebrati�ni mogoÄe odstraniti %s�imenika ni mogoÄe odstraniti: %s�ni mogoÄe premakniti datoteÄnega kazalca za %s�ni mogoÄe obnoviti fd %d: klic dup2 ni uspel�ni mogoÄe pognati %s�ni mogoÄe nastaviti %s�datuma ni mogoÄe nastaviti�nastavitev GID na %lu ni mogoÄa�na tem sistemu imena raÄunalnika ni mogoÄe nastavljati�imena ni moÄ nastaviti na %s�prioritete izvajanja ni mogoÄe nastaviti�datoteke %s ni moÄ Äasovno oznaÄiti�nastavitev UID na %lu ni mogoÄa�ni mogoÄe prek konca kombiniranega vhoda�ni mogoÄe doloÄiti --null (-0) z ukazom�možnosti izpisa poÄez in vzporednega izpisa se izkljuÄujeta�pri vzporednem izpisu ni mogoÄe doloÄiti Å¡tevila stolpcev�hkrati lahko navedemo samo en vir�razcep na veÄ kot en naÄin ni mogoÄ�statusa %s ni moÄ ugotoviti s stat�statusa trenutnega imenika (zdaj %s) ni moÄ ugotoviti�statusa standardnega vhoda ni mogoÄe ugotoviti�%s ni dosegljiv�ni mogoÄe odstraniti varnostne kopije %s�s klicem unlink ni mogoÄe odstraniti %s�ni mogoÄe odnastaviti %s�opazovanje %s ni mogoÄe�opazovanje nadimenika %s ni mogoÄe�napake v jedru ni bilo mogoÄe zaobiti�skupina %s spremenjena z %s na %s �zamenava lastniÅ¡tva %s z %s na %s ni uspela �spreminjanje skupino %s�spreminjanje lastniÅ¡tva %s�spreminjanje dovoljenj %s�spreminjanje varnostnega konteksta %s �znakovni zamik je niÄ�koda znaka izven obsega�znakovna enota�znakovne enote niso podprte�briÅ¡emo dovoljenja za %s�sprem. ure�zapiranje ni uspelo�zapiramo %s (fd=%d)�zapiramo imenik %s�zapiramo vhodno datoteko %s�zapiramo vhodni cevovod�zapiramo izhodno datoteko %s�zapiramo izhodni cevovod�zapiramo prejÅ¡nji cevovod�zapiramo standardni vhod�združljivostni naÄin podpira najveÄ eno datoteko�nasprotujoÄa si niza za nadomestitev praznega polja�podana doloÄila varnostnega konteksta si nasprotujejo�izravnavanja %s ni moÄ nastaviti v naÄin %s �ni mogoÄe ustvariti procesa za %s -d�zaÄasne datoteke ni mogoÄe ustvariti�ni mogoÄe izvesti %s�ni mogoÄe izvesti %s -d�imeniÅ¡kega vnosa z ujemajoÄim inodom v %s ni moÄ najti�Äas od zagona ni ugotovljiv�ustvarjen imenik %s�ustvarjanje imenik %s�ustvarjanje datoteke %s �seznam razmejilnikov se konÄa z nezavarovano obratno poÅ¡evnico: %s�imenik�deljenje z niÄ�klic dup2 ni uspel�prazen %s ni dovoljen�prazno ime datoteke�prazen tabulator�napaka pri zapiranju datoteke�napaka v ujemalniku z regularnimi izrazi�napaka pri iskanju z regularnimi izrazi�napaka pri inicializaciji nizov za mesece�napaka pri nadzoru dogodka inotify�napaka pri branju %s�napaka pri branju dogodka inotify�napaka pri Äakanju na ukaz�napaka pri pisanju na %s�izvajamo s FILE=%s �exit=�odveÄen argument %s�odveÄni operand %s�dodatni operand %s pri izbiri -%c ni dovoljen�kanoniziranje %s ni uspelo�zamenava konteksta %s na %s ni uspela�zamenjava skupine %s z %s na %s ni uspela �zamenjava skupine %s na %s ni uspela �sprememba zaÅ¡Äite datoteke %s z %04lo (%s) na %04lo (%s) ni uspela �zamenava lastniÅ¡tva %s ni uspela �zamenava lastniÅ¡tva %s z %s na %s ni uspela �zamenava lastniÅ¡tva %s na %s ni uspela �menjava imenika v %s ni uspela�ustvarjanje klona %s iz %s ni uspelo�zapiranje vhodnega cevovoda ni uspelo�izraÄun novega konteksta ni uspel�ustvarjenje imenika s predlogo %s ni uspelo�ustvarjenje datoteke s predlogo %s ni uspelo�ni mogoÄe ustvariti trde povezave %s�ni mogoÄe ustvariti trde povezave %s => %s�ni mogoÄe ustvariti trde povezave %.0s%s�ni mogoÄe ustvariti cevovoda�ustvarjenje varnostnega konteksta ni uspelo: %s�ni mogoÄe ustvariti simbolne povezave %s�ni mogoÄe ustvariti simbolne povezave %s -> %s�zaÄasne datoteke v %s ni mogoÄe ustvariti�neuspela zavržba medpomnjenih podatkov za: %s�razÅ¡irjanje %s ni uspelo�neuspelo iskanje %s�branje prilastkov (atributov) %s ni uspelo�branje trenutnega konteksta ni uspelo�branje konteksta ustvarjenja datoteÄnega sistema ni uspelo�branje skupine za trenutni proces ni uspelo�branje skupine za uporabnika %s ni uspelo�branje varnostnega konteksta %s ni uspelo�vpogled v datoteko %s ni uspel�odpiranje %s ni uspelo�datoteke %s ni mogoÄe odpreti za branje�%s ni mogoÄe odpreti za pisanje�avtorstvo datoteke %s ni bilo ohranjeno�lastniÅ¡tvo za %s ni bilo ohranjeno�dovoljenja datoteke %s niso ohranjena�Äasi za %s niso bili ohranjeni�preusmeritev standardnega izhoda za napake ni uspela�preusmeritev standardnega izhoda za napake na /dev/null ni uspela�odstranitev %s ni uspela�odstranitev imenika %s ni uspela�onemogoÄenje standardnega izhoda ni uspelo�ponovno odpiranje %s v naÄinu %s ni uspelo�povrnitev privzetega konteksta ustvarjenja datoteke ni uspela�vrnitev v zaÄetni delovni imenik ni uspela�toka za %s ni mogoÄe previti na zaÄetek�ukaza %s ni uspelo izvesti�ukaz ni bil uspeÅ¡no izveden: "%s -c %s"�nastavitev %s varnostnega konteksta na %s ni bila uspeÅ¡na�nastavitev spremenljivke FILE ni uspela�dodatnih skupin ni uspelo nastaviti�nastavitev privzetega konteksta datoteke na %s ni uspela�nastavitev GID ni uspela�nastavitev novega obsega %s ni uspela�nastavitev nove vloge %s ni uspela�nastavitev novega tipa %s ni uspela�nastavitev novega uporabnika %s ni uspela�dodatne skupine ni mogoÄe nastaviti�nastavitev, da se kopija stderr zapre ob koncu izvajanja, ni uspela�nastavitev varnostnega konteksta %s na %s ni uspela�nastavitev UID ni uspela�branje statistike %s ni uspelo�izklop O_DIRECT ni uspel: %s�posodobitev okolja z %s ni uspela�fdatasync ni uspel za %s�klic fflush ni uspel�Å¡tevilka polja %s je prevelika�Å¡tevilka polja je niÄ�polja in pozicije se Å¡tejejo od 1 dalje�FIFO�datoteka %d ni urejena�datoteÄnih operandov ni mogoÄe kombinirati z izbiro --files0-from.�datoteÄnih operandov ni mogoÄe kombinirati z izbiro --print-database (-p).�tip datoteÄnega sistema %s je obenem izbran in izloÄen�vejitev ni mogoÄa�doloÄilo %s se zakljuÄi z %%�doloÄilo %s ne vsebuje direktive %%�doloÄilo %s vsebuje preveÄ direktiv %%�doloÄilo %s vsebuje neznano direktivo %%%c�pri izpisu polj enake Å¡irine ni dovoljeno podati oblikovnega doloÄila�fsync ni uspel za %s<�fts_close ni uspel�fts_read ni uspel�fts_read ni uspel: %s�ustvarjamo relativno pot�beremo nove prilastke (atribute) %s�skupina datoteke %s ohranjena kot %s �funkcija iconv ni na voljo�funkcija iconv ne deluje�id=�ne upoÅ¡tevamo nobenih argumentov�ne upoÅ¡tevamo vhoda�ne upoÅ¡tevamo vhoda; izhod dodajamo na konec %s�ne upoÅ¡tevamo vhoda; standardni izhod za napake preusmerimo na standardni izhod�ne upoÅ¡tevamo neveljavnega tabulatorja v spremenljivki TABSIZE: %s�ne upoÅ¡tevamo neveljavne vrednosti spremenljivke QUOTING_STYLE: %s�ne upoÅ¡tevamo neveljavne Å¡irine v spremenljivki COLUMNS: %s�ne-izbirnih argumentov ne upoÅ¡tevamo�nezdružljivi združevalni polji %lu, %lu�nezdružljivi tabulatorji�ni moÄ uporabiti inotify, uporabljamo programsko izpraÅ¡evanje�viri za inotify so izÄrpani�vhod je izginil�vhodna vrstica je predolga�premik med enotami ni uspel: %s v %s; cilja ni moÄ odstraniti�neveljavni %s%s argument '%s'�neveljavni --%s argument %s�neveljavni popravek %s�neveljavni argument %s�neveljavni argument %s za %s�neveljavni slog oÅ¡tevilÄenja telesa: %s�neveljavni izravnalni naÄin %s za %s �neveljavni znak %c v oznaki tipa %s�neveljavni razred znakov %s�neveljavni kontekst: %s�neveljavna pretvorba�neveljavno doloÄilo pretvorbe v priponi: %c�neveljavno doloÄilo pretvorbe v priponi: \\%.3o�neveljavni datum %s�neveljavna oblika datuma %s�neveljavni padajoÄi razpon�neveljavna enota %s %s�neveljavna vrsta naprave %s�neveljavna Å¡tevilka polja: %s�neveljavno doloÄilo polja: %s�neveljavna Å¡irina polja: %s�neveljavna Å¡tevilka datoteke v doloÄilu polja: %s�neveljavna oznaÄba v doloÄilu pretvorbe: %%%c%c�argument ni neveljavno Å¡tevilo v plavajoÄi vejici: %s�neveljavni slog oÅ¡tevilÄenja noge: %s�neveljavna Å¡irina razmaka: %s�neveljavno ime skupine�neveljavno ime skupine %s�neveljaven seznam skupin %s�neveljavna skupina: %s�neveljavni slog oÅ¡tevilÄenja glave: %s�neveljavni vhod�neveljavna vhodna zastavica�neveljavni vhodni razpon %s�neveljavno celo Å¡tevilo %s�neveljavni celoÅ¡tevilÄni argument %s�neveljavno Å¡tevilo vrstic %s�neveljavni komunikacijski protokol %s�neveljavna Å¡irina polja s Å¡tevilko vrstice: %s�neveljavni vrstiÄni inkrement: %s�neveljavna oblika oÅ¡tevilÄenja vrstic: %s�neveljavna Å¡irina vrstice: %s�neveljavno GLAVNO Å¡tevilo enote %s�neveljavna najveÄja globina %s�neveljavno POMOŽNO Å¡tevilo enote %s�napaÄna zaÅ¡Äita�neveljavni naÄin %s�neveljavni naÄin: %s�neveljavno Å¡tevilo %s�neveljavno Å¡tevilo za »,«�neveljavno Å¡tevilo za »-«�neveljavno Å¡tevilo za ».«�neveljavno Å¡tevilo zaÄetka polja�neveljavno Å¡tevilo praznih vrstic: %s�neveljavno Å¡tevilo bajtov�neveljavno Å¡tevilo primerjanih bajtov�neveljavno Å¡tevilo preskoÄenih bajtov�neveljavno Å¡tevilo stoplcev: %s�neveljavno Å¡tevilo preskoÄenih polj�neveljavno Å¡tevilo vrstic�neveljavna izbira -- %c�neveljavna izbira -- %c; -WIDTH je prepoznana le, Äe je navedena kot prva izbira; namesto tega uporabite -w N�neveljavna osnova naslovov »%c«; veljavne so možnosti d, o, x in n�neveljavno izhodna zastavica�neveljavni razpon strani %s�neveljavna natanÄnost: %s�neveljavni razpon brez konÄne toÄke: -�neveljavno Å¡tevilo ponavljanj %s v konstruktu [c*n]�neveljavna specifikacija�neveljavna zaÄetna Å¡tevilka vrstice: %s�neveljavna statusna zastavica�neveljavna pripona %s, vsebuje loÄilnik imenikov�neveljavna pripona pri %s%s argumentu '%s'�neveljavni tabulator: %s�neveljavna predloga, %s, vsebuje loÄilnike imenikov�neveljavna predloga, %s; pri izbiri --tmpdir ne sme biti absolutna�neveljavni Äasovni interval %s�neveljavna oblika ure %s�neveljavna zakljuÄna izbira -- %c�neveljavna oznaka tipa %s�neveljavna oznaka tip %s; ta sistem ne omogoÄa %lu-bajtnega zapisa v plavajoÄi vejici�neveljavna oznaka tip %s; ta sistem ne omogoÄa %lu-bajtnega celoÅ¡tevilÄnega tipa�neveljavno univerzalno ime znaka \%c%0*x�neveljavno uporabniÅ¡ko ime�neveljavno ime uporabnika %s�neveljavna Å¡irina: %s�neveljavna Å¡irina: %s�neveljavno ime (dolžina niÄ) datoteke�rekurzivno delovanje na %s je nevarno�rekurzivno delovanje na %s (isto kot %s) je nevarno�kljuÄ %lu ima Å¡irino niÄ in ne bo upoÅ¡tevan�kljuÄ %lu je Å¡tevilÄen in se razteza prek veÄ polj�last=�vodilni »-« v delu imena datoteke %s�vodeÄi presledki so pomembni pri kljuÄu %lu; morda morate navesti tudi »b«�meja %lu presežena za dolžino %lu pri imenu datoteke %s�meja %lu presežena za dolžino %lu pri delu imena datoteke %s�vrstiÄno izravnavanje standardnega vhoda ni smiselno�Å¡tevec vrstic -%s%c... je prevelik�Å¡tevilka vrstice %s je nižja od Å¡tevilke vrstice pred njo, %s�prekoraÄitev Å¡tevilke vrstice�raba dolge izbire »--megabytes« je odsvetovana, v kratkem bo izbira ukinjena�najveÄji dovoljeni argument --%s pri trenutni vrednosti rlimit je %s�zmanjkalo pomnilnika�pomnilnik porabljen z vhodnim medpomnilnikom velikosti %zu bajtov (%s)�pomnilnik porabljen z izhodnim medpomnilnikom velikosti %zu bajtov (%s)�vrsta sporoÄil�najmanjÅ¡i --%s argument je %s�neporavnana konstrukta [:upper:] in/ali [:lower:]�manjkajoÄe doloÄilo pretvorbe %% v priponi�manjkajoÄ Â»]«�manjkajoÄ argument za %s�izbiri %s manjka argument�manjkajoÄe ime razreda znakov »[::]«�manjkajoÄe doloÄilo pretvorbe v priponi�manjkajoÄ operand ciljne datoteke za %s�manjkajoÄ znak za ekvivalenco razredov »[==]«�manjkajoÄ operand datoteke�v ubežnem zaporedju manjka Å¡estnajstiÅ¡ko Å¡tevilo�seznam polj manjka�seznam položajev manjka�manjkajoÄ operand�manjkajoÄ operand za %s�naÄin mora doloÄiti le bite dovoljenja za dostop do datoteke�zaÅ¡Äita datoteke %s spremenjena z %04lo (%s) na %04lo (%s) �zaÅ¡Äita datoteke %s ohranjena kot %04lo (%s) �priklopna toÄka %s je bila že preÄesana�prestavljamo vhodni cevovod�veÄznakovni tabulator %s�podanih je veÄ izbir -i�hkrati sta podani izbiri -l in -t�podan je veÄ kot en program za stiskanje�podanih je veÄ razmejilnikov�veÄ obsegov�podana je veÄ kot ena izhodna datoteka�podana je veÄ kot ena oblika izhoda�naveden je veÄ kot en izvor nakljuÄnih Å¡tevil�podanih je veÄ relativnih modifikatorjev�veÄ vlog�podanih je veÄ ciljnih imenikov�veÄ tipov�veÄ uporabnikov�tako simbolna povezava %s kot sklicevana datoteka/imenik sta nespremenjena �spremenljivka SHELL ni nastavljena, niti ni podan tip ukazne lupine�brez spremembe lastniÅ¡tva %s �ukaz ni doloÄen�obdelan ni bil noben datoteÄni sistem�nobene datoteke ni veÄ�ni vhoda iz %s�uporabniÅ¡ko ime manjka�Å¡tevilka procesa (PID) ni doloÄena�tip ne sme biti doloÄen, kadar iznaÅ¡amo nize�uporabniÅ¡ko ime ni podano; pri izbiri -l mora biti podano vsaj eno�ne-celoÅ¡tevilÄni argument�neprenosljiv znak %s v imenu datoteke %s�ni terminal�ne piÅ¡emo prek obvisene simbolne povezave %s�Å¡tevilo v %s je preveliko�Å¡tevilo vzporednih stolpcev mora biti veÄje od niÄ�Å¡tevilo bajtov�Å¡tevilo vrstic�zaÄetna vrednost Å¡tevilÄne pripone je prevelika glede na dolžino pripone�uporabljen opuÅ¡Äen kljuÄ Â»%s«; nadomestite ga z »%s«�prekoraÄitev odmika pri branju datoteke %s�izpuÅ¡Äamo imenik %s�kveÄjemu en konstrukt ponovitev znaka [c*] se sme pojaviti v nizu 2�navedena je lahko samo ena enota�doloÄen je lahko samo en tip seznama�odpiranje ni uspelo�izbire »-%s« niso bile upoÅ¡tevane�izbira »-%s« ni bila upoÅ¡tevana�izbiri »-%s« nista bili upoÅ¡tevani�izbire »-%s« niso bile upoÅ¡tevane�izbira »-r« se nanaÅ¡a le na primerjanje v skrajni sili�izbira je uporabljena v neveljavnem kontekstu -- %c�izbire »-%s« so nezdružljive�izbiri --backup in --no-clobber se medsebojno izkljuÄujeta�izbiri --compare (-C) in --preserve-timestamps se medsebojno izkljuÄujeta�izbiri --compare (-C) in --strip se medsebojno izkljuÄujeta�pripone izhodnih datotek so izÄrpane�prekoraÄitev obsega pri poveÄevanju dolžine datoteke %s�prekoraÄitev obsega pri zaokrožitvi navzgor velikosti datoteke %s�lastniÅ¡tvo datoteke %s nespremenjeno �lastnik datoteke %s ostaja %s �prekoraÄitev Å¡tevila strani�Å¡irina strani premajhna�ohranjena dovoljenja za %s�ohranjeni Äasi za %s�izpis vseh podvojenih vrstic skupaj s Å¡tevilom ponovitev ni smiseln�meji razpona »%s-%s« nista navedeni v naraÅ¡ÄajoÄem abecednem redu�napaka pri branju�branje ni uspelo�beremo imenik %s�zapis je prevelik�standardni izhod za napake preusmerjamo na standardni izhod�navadna prazna datoteka�navadna datoteka�odstranjena %s �odstranjen imenik: %s �odstranjujemo imenik, %s�run-level�semafor�loÄilo ne more biti prazno�nastavite LC_ALL='C', da bi odpravili težavo.�nastavljanje zastavic za %s�nastavljena dovoljenja za %s�nastavljanje Äasov %s�deljen pomnilniÅ¡ki predmet�vsota preskoÄenih in prebranih bajtov je prevelika�preskakujemo %s, ker je na drugi napravi�datoteko %s izpustimo, ker je bila med prepisom zamenjana�vtiÄnica�prekoraÄitev obsega za vrsto squfof�standardna napaka�standardni vhod�standardni vhod je zaprt�standardni izhod�poizvedba po statusu ni uspela�standardna izhod za napake�standardni vhod�standardni izhod�zablodeli znak v doloÄilu polja�primerjanje nizov ni uspelo�pretvorba niza ni uspela�proces »strip« se je zakljuÄil nenormalno�neizpisovanje vrstic, ki ne vsebujejo razmejilnika je smiselno le, kadar delamo s polji�simbolna povezava�napaka v skladnji�sistemski zagon�Å¡irina tabulatorja ne more biti 0�Å¡irina tabulatorja vsebuje neveljavni(-e) znak(e): %s�seznam tabulatorjev mora biti naraÅ¡ÄajoÄ�tabulator je prevelik %s�vrednost tabulatorja je prevelika�razmik med tabulatorji je prevelik�cilj %s ni imenik�navedba ciljnega imenika ni dovoljena pri namestitvi imenika�term=�test in/ali [�izbiri --binary in --text nista smiselni pri preverjanju nadzornih vsot�izbira --compare (-C) se ne upoÅ¡teva, kadar doloÄite naÄin brez bitov dovoljenj�izbira --quiet je smiselna samo pri preverjanju nadzornih vsot�izbira --status je smiselna samo pri preverjanju nadzornih vsot�izbira --strict je smiselna samo pri preverjanju nadzornih vsot�izbira --tag ni smiselna pri preverjanju nadzornih vsot�izbira --warn je smiselna samo pri preverjanju nadzornih vsot�konstrukt [c*] se sme pojaviti v nizu 2 le pri prevedbi�konstrukt ponovitev znaka [c*] se ne sme pojaviti v nizu 1�argumentu %s manjka vodilni »+«; Pri doloÄanju datuma morajo biti vsi argumenti, ki niso izbire, doloÄitelji oblike datuma in se morajo zaÄeti s »+«�razmejilnik mora biti en sam znak�nadzorovani ukaz je izvrgel pomnilniÅ¡ko sliko�izbiri za izpis v Äloveku berljivi obliki ter obliki, ki jo lahko prebere stty, sta si nasprotujoÄi�izpis privzetih vrednosti (izbira --print-data-base, -p) ni združljiv z izbiro sintakse ukazne lupine�izbiri za izpis in nastavitev datuma se medsebojno izkljuÄujeta�izbire pri doloÄanju datumov za izpis se medsebojno izkljuÄujejo�primerjana niza sta bila %s in %s�opcija »strip« ni dovoljena pri namestitvi imenika�dolžina pripone mora biti najmanj %zu�nepretvorjeni niz je bil %s�Äas %s je izven razpona�za uporabo user-ID %s morate uporabiti tudi -g�premalo mest (X) v predlogi %s�preveÄ doloÄil pretvorbe %% v priponi�preveÄ znakov v množici�preveÄ ponovljenih vrstic�preveÄ predlog�skupno�preÄenje ni uspelo: %s�tipiziran pomnilniÅ¡ki predmet�uid=%s�sporoÄila o napaki ni mogoÄe prikazati�ni mogoÄe zabeležiti trenutnega delovnega imenika�varnostnega konteksta %s ni mogoÄe nastaviti�nepriÄakovan neuspeh: fts_info=%d: %s prosimo, javite na %s�neznan binarni operator�neznani status ukaza (0x%X)�neznani tok�neznana Å¡tevilka uporabnika (UID): %s�vrednosti v spremenljivki LS_COLORS ni moÄ raztolmaÄiti�neprepoznan tip datoteÄnega sistema 0x%08lx za %s. Prosimo, javite to napako na %s. namesto tega uporabljamo programsko izpraÅ¡evanje�neprepoznan operand %s�neprepoznana predpona: %s�pokonci %ld dni %2d:%02d, �pokonci %ld dan %2d:%02d, �pokonci %ld dni %2d:%02d, �pokonci %ld dni %2d:%02d, �pokonci ???? dni ??:??, �uporabite --no-preserve-root, da zaobidete to varovalko�z uporabo %s pravil za urejanje�uporaba %s za oznako standardnega vhoda ne deluje v datoteÄnem naÄinu�z uporabo preproste primerjave bajtov�Äakamo na %s [-d]�Äakamo na nasledniÅ¡ki proces�Äakamo na »strip«�opozorilo: �opozorilo: %s: znak(i), sledeÄi znakovni konstanti, niso bili upoÅ¡tevani�opozorilo: %s: sprememba konteksta na %s ni uspela�opozorilo: »touch %s« je opuÅ¡Äeno; uporabite »touch -t %04ld%02d%02d%02d%02d.%02d«�opozorilo: izbira --pid=PID na tem sistemu ni podprta�opozorilo: izbira --retry je veÄinoma uporabna le, kadar ji sledi ime�opozorilo: PID ni upoÅ¡tevan; --pid=PID je uporabno samo pri sledenju�opozorilo: nezavarovana obratna poÅ¡evnica na koncu niza ni prenosljiva�opozorilo: obratna poÅ¡evnica na koncu formatnega doloÄila�opozorilo: ni moÄ odstraniti %s�opozorilo: pomnilniÅ¡kih izmetov ni mogoÄe onemogoÄiti�opozorilo: sledenje standardnemu vhodu za vekomaj ni uÄinkovito�opozorilo: odveÄni argumenti zaÄenÅ¡i s %s niso bili upoÅ¡tevani�opozorilo: neveljavni odmik datoteke po napaki pri branju�opozorilo: neveljavna Å¡irina %lu; namesto nje jemljemo %d�opozorilo: Å¡tevilka vrstice %s je ista kot tista pred njo�opozorilo: izvorna datoteka %s je podana veÄ kot enkrat�opozorilo: povzetek se izkljuÄuje z --max-depth=%lu�opozorilo: povzetek je isto kot izbira --max-depth=0�opozorilo: dvoumno osmiÅ¡ko ubežno zaporedje \%c%c%c tolmaÄimo kot dvobajtno zaporedje \0%c%c, %c�opozorilo: timer_create�opozorilo: timer_settime�opozorilo: neprepoznana izbira »\%c«�opozorilo: obvoz okoli napake lseek v jedru za datoteko (%s) vrste mt_type=0x%0lx -- glejte <sys/mtio.h> za seznam zvrsti�Äudna datoteka�kadar ne krajÅ¡amo niza 1, mora biti niz 2 neprazen�pri branju imen datotek s standardnega vhoda ime %s ni dovoljeno.�pri doloÄanju sloga izhoda ni mogoÄe nastavljati naÄinov�pri prevedbi s komplementi znakovnih razredov mora niz 2 preslikati vse znake iz domene v enega�Äe je pri prevedbi niz 1 daljÅ¡i od niza 2, se slednji ne sme zakljuÄiti z znakovnim razredom�edina razreda znakov, ki se smeta pri prevedbi pojaviti v nizu 2, sta »upper« in »lower«�ne bomo prepisali %s prek pravkar ustvarjene simbolne povezave %s�ni mogoÄe ustvariti trde povezave %s na imenik %s�prek pravkar ustvarjene datoteke %s ne moremo zapisati %s�pri izbiri --parents mora biti cilj imenik�ob izbiri --suffix se mora vzorec %s konÄati z X�pri FILE=%s prejeli izhodno kodo %d od ukaza: %s�pri FILE=%s prejeli signal %s od ukaza: %s�napaka pri pisanju�napaka pri pisanju za %s�pisanje ni uspelo�piÅ¡emo na %s�podati morate -c, -t, -u, -l, -r ali kontekst�podati je treba seznam bajtov, znakov ali polj�navesti morate relativni %s z %s�navesti morate bodisi %s bodisi %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% zapisov na vhodu %+% zapisov na izhodu �% odrezanih zapisov �% odrezan zapis �% odrezana zapisa �% odrezani zapisi �% bajtov (%s) prepisanih�% bajt (%s) prepisan�% bajta (%s) prepisana�% bajti (%s) prepisani�odmik prevelik: ni moÄ odrezati na dolžino seek=% (%lu-bajtnih) blokov�obrezovanje na % bajtov pri izhodni datoteki %s ni uspelo�neuspeÅ¡na dodelitev % bajtov za izravnalnik stdio �%s: %: nepravilno oblikovana vrstica z nadzorno vsoto %s�OPOZORILO: % vrstic je nepravilno oblikovanih�OPOZORILO: % vrstica je nepravilno oblikovana�OPOZORILO: % vrstici sta nepravilno oblikovani�OPOZORILO: % vrstice so nepravilno oblikovane�OPOZORILO: % navedenih datotek ni mogoÄe prebrati�OPOZORILO: % navedene datoteke ni mogoÄe prebrati�OPOZORILO: % navedenih datotek ni mogoÄe prebrati�OPOZORILO: % navedenih datotek ni mogoÄe prebrati�OPOZORILO: % nadzornih vsot se NE ujema�OPOZORILO: % nadzorna vsota se NE ujema�OPOZORILO: % nadzorni vsoti se NE ujemata�OPOZORILO: % nadzorne vsote se NE ujemajo�zaÄetna stran % presega skupno Å¡tevilo strani %�Stran %�prekoraÄitev obsega pri dolžini %×% bajtov datoteke %s�ni mogoÄe odrezati datoteke %s pri dolžini % bajtov��������������������������������������������coreutils-8.21/po/ca.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001163544�12107204515�012066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���¾��0��� .��»��\�����üz����� {��D{������$~�����%~��ø���'~��¾��� ��¿���ß��Â���Ÿ€��ª���b��G�� ‚��ù���Uƒ��º���O„��p��� …��!��{…��¼���†��©��Z‡��w��‰��5��|Š��R��²‹��~����� ���„��\���’��w���ï��T���gŽ��G���¼Ž��ï�����w���ô��¡���l��#��‘����2’��š���7“��Ä���Ò“��D��—”��7��Ü–��z���˜�����˜��Þ���™��i���ü™��J���fš��›���±š�����M›��¸���Ï›��ˆ���ˆœ��È�����„���Ú��M��_ž��à���­Ÿ��›���Ž ��—���*¡��`���¡��‚���#¢����¦¢��>���»£��3��ú£��|���.¥��Ý���«¥��K��‰¦��=���Õ§��l���¨��0���€¨��D���±¨����ö¨��K��ª��Ê���\«��–���'¬��-��¾¬��Ê���ì®��ç���·¯��ð���Ÿ°����±��‡���¡²��¾���)³��á���è³��E���Ê´��>���µ��Ë���Oµ��Œ���¶��ü���¨¶��æ���¥·��¿���Œ¸����L¹��9���^º�����˜º�����¯º��t��ĺ��¼���9¼��š���ö¼��¾���‘½��F��P¾��Ì���—¿��°���dÀ��Ü���Á����òÁ��Ð��Ã�� ��×Ä�����øÅ����ùÆ��y��� È��þ��†È��1��…Ê��Ë���·Í����ƒÎ��H���¡Ï��7���êÏ��¼���"Ð��F���ßÐ��ì���&Ñ��v���Ò�� ���ŠÒ��¡��–Ò��¾��8Ô��Ð��÷Õ��u���È×��F��>Ø��q���…Ú��[��÷Ú��æ���SÜ��1��:Ý��S��lÞ��ë���Àß��,���¬à��“��Ùà��º���mâ����(ã�����@ä�����Àä��ß���Qå��\��1æ��‹���Žç��i���è��A���„è��x���Æè��v���?é��Ø��¶é����ë��Â���¥ì��I���hí��·���²í��›���jî��3���ï��û��:ï��g��6ñ��p���žò��5���ó��s���Eó����¹ó��3��Øô���� ö��I��+÷��×���uø��ò���Mù��É���@ú��Ê��� û��ð���Õû��–��Æü��Ô���]þ��"��2ÿ��Ó���U��¬���)�¤���Ö�i���{�õ���å�˜���Û���t�Z���…�ù���à����Ú�.��h�Å��—�ž���] �G��ü �È���D �M�� �5���[�4���‘�‰���Æ�F���P�Ö���—�©��n�O���í��h���V� ��æ�£��ó�y��—� ���n���2�\��¡�B���þ�F���A���ˆ�Ë��£���o!�9��Ž"���È#���è$�¢���y&�Ö���'�¡��ó'�E���•)�J���Û)�Ò���&*� ��ù*���,�º��-�&��Ñ.�¹��ø/�¿���²1���r2�Ý���x5�+���V6�N���‚6�Ò���Ñ6�’���¤7�°���78�Ë���è8�»���´9�¡��p:�›���<�…��®<�È���4>�B���ý>���@?�u���U@���Ë@�1���áA�ò���B����C�Ë���–C�ƒ���bD�ƒ���æD�k��jE�‚��ÖG�¢��YI�4��üJ���1L���CM�´��VN�í��� P� ��ùP���R�<��� S�‘���GS�Ò���ÙS�º��¬T�ª��gV�K���X���^X�ü���cY�z���`Z�þ���ÛZ�µ���Ú[�ô��\����…^�f��_�5��|`�ˆ���²a�1���;b�H���mb�;��¶b�Æ���òc�!��¹d�È���Ûf�ý���¤g�q��¢h�Y��j�ü���nk�L���kl�×���¸l�T��m�#��ån�Ç��� p�÷��Ñp�Þ���Ér�³��¨s�ƒ���\u�Ñ���àu�V��²v�i��� x�Í���sx�Ä���Ay�Ñ���z�ë���Øz�K��Ä{���}�D��~����d�Ó���ò�Ä��Æ€�I���‹‚���Õ‚���óƒ�H���…�3���Ê…�c��þ…� ��b‡�=��ƒˆ���Á‰�ê��ÜŠ�*��ÇŒ�’���ò�F���…Ž�C���ÌŽ�X���>���i�?���¨�«���è�9���”‘�S���Α�š��"’�m���½“�û���+”�ä���'•�¨�� –�I��µ—�$���ÿ™�(���$š�<���Mš�ú���Šš�$���…›�%���ª›�*���Л���û›�:����"��U�&���xŸ� ���ŸŸ�9���ÀŸ�#���úŸ�$��� �!���C �Ý���e �:���C¡�:���~¡�,���¹¡�"���æ¡� ��� ¢� ���¢�ç���"¢�,�� £�X��7¤�;���¥�|��Ì¥���I§�Ô���]¨�Ü���2©�þ���ª� ���«����«� ���«����*«����3«����<«����D«����M«����S«���f«�&���‚¬� ���©¬� ���³¬����¿¬����Ò¬����å¬����ú¬����­� ���4­�+���U­����­����š­�?���µ­�D���õ­�0���:®����k®�)���„®����®®�0���®�"���ó®����¯�'���&¯� ���N¯����\¯�!���q¯����“¯�"���³¯����Ö¯����ó¯�/���ù¯� ���)°����J°����b°�#���x°����œ°����µ°�>���Ò°�"���±����4±�%���S±�B���y±�*���¼±����ç±����²����²�)���(²����R²�%���o²�,���•²����²�#���Ò²�"���ö²�$���³����>³�/���^³����޳�8���ž³����׳����ì³���� ´����(´����<´����[´����z´� ���´����°´����Á´����Ö´����ñ´����µ����!µ����3µ����Fµ����Wµ�'���hµ����µ�*���«µ����Öµ�$���ôµ����¶����3¶����C¶� ���\¶����}¶�"���“¶����¶¶����̶�;���â¶����·����1·����M·����j·����†·����£·����Á·����Þ·����ú·����¸�"���%¸����H¸�,���[¸����ˆ¸�)���¢¸����̸����é¸����ú¸�"���¹�1���<¹�'���n¹����–¹�(���§¹� ���й�,���ñ¹�,���º�,���Kº�'���xº�-��� º� ���κ�(���ïº�(���»����A»����T»����m»�"���ˆ»����«»����º»�&���Í»����ô»�"���¼� ���2¼� ���>¼����K¼����]¼����n¼����~¼�5���š¼�0���м�.���½����0½����L½����l½�"���Œ½����¯½����¿½�+���н�%���ü½����"¾�)���B¾����l¾� ���n¾����{¾�<���’¾�1���Ͼ�,���¿�0���.¿�,���_¿�#���Œ¿�0���°¿����á¿�l���å¿�;��RÀ����ŽÁ� ���¤Á����²Á�6���ÍÁ�5���Â�-���:Â�"���hÂ�)���‹Â����µÂ����ÇÂ����ÞÂ����õÂ� ��� Ã����Ã����Ã����"Ã�,���*Ã�8���WÃ�)���Ã� ���ºÃ����ÆÃ����ØÃ����òÃ����Ä� ���Ä����Ä����!Ä� ���8Ä� ���BÄ� ���NÄ�k��XÄ����ÄÅ����ÌÅ�K���äÅ�8���0Æ����iÆ�k���rÆ�h���ÞÆ����GÇ� ���ØÇ� ���ãÇ� ���ðÇ�3���üÇ�Š��0È� ���»É� ���ÈÉ�g��ÒÉ�½���:Ë�Ò���øË����ËÌ����ÚÌ� ���êÌ�=���÷Ì�(���5Í�ã���^Í� ���BÎ����NÎ�U��^Î����´Ï����½Ï�<��ÂÏ�\���ÿÐ� ���\Ñ�+���gÑ�+���“Ñ�0���¿Ñ� ���ðÑ����úÑ����Ò�Ï���Ò�1���àÒ����Ó�I���+Ó� ���uÓ����€Ó�@���™Ó�£��ÚÓ�7���~Õ�?���¶Õ����öÕ����Ö����Ö� ���Ö����+Ö����0Ö����6Ö����<Ö����BÖ����SÖ�:���XÖ����“Ö�¦���§Ö����N×�×��]×����5Ù� ���>Ù����IÙ����]Ù� ���dÙ����nÙ����†Ù����Ù����ºÙ����ÖÙ�$���îÙ����Ú����%Ú����@Ú� ���OÚ� ���[Ú� ���gÚ����tÚ� ���…Ú����‘Ú����£Ú����´Ú����»Ú����ÀÚ����ÆÚ� ���ÌÚ�1���ÙÚ� ��� Û����Û����*Û����DÛ����UÛ� ���dÛ� ���rÛ� ���Û� ���‹Û����–Û����›Û���� Û� ���ºÛ�#���ÇÛ����ëÛ����ôÛ�*���Ü����>Ü�E���AÜ����‡Ü����›Ü���¬Ü�—���¾Ý�H���VÞ�o���ŸÞ����ß����ß����#ß� ���8ß�&���Fß� ���mß� ���yß� ���„ß����‘ß� ���˜ß�#���¦ß�H���Êß�2���à�i��Fà�ª���°á�š���[â�;���öâ����2ã���Pã�¸���jå�†���#æ�;���ªæ�%���ææ���� ç�†���Œç�N���è�T���bè� ��·è�7���Âê����úê����ë� ���1ë� ���;ë����Hë� ���Më����Yë����më�Ÿ���ˆë�º���(ì�@���ãì����$í�D���;í����€í����‘í� ���¦í����´í����Èí����Ùí����èí� ���÷í�1���î�'���7î� ���_î� ���mî� ���{î����ˆî�&���›î�*���Âî����íî����õî����ï�5��� ï� ���@ï����Lï����Tï����eï����yï� ���Žï����šï� ���¢ï����¯ï�$���´ï� ���Ùï�Ñ���äï�$���¶ð����Ûð����íð����ñ�â��ñ�&���ùò�%��� ó�C���Fó�+���Šó����¶ó����»ó� ���Êó����Øó����êó����ÿó����ô����#ô� ���5ô����Bô� ���Wô�,���bô�j���ô�&���úô� ���!õ�'���Bõ�0���jõ�4���›õ�~��Ðõ����O÷����l÷����‰÷�–���¨÷�)���?ø�Y���iø�'���Ãø�T���ëø�'���@ù�(���hù����‘ù�X���¥ù�@���þù����?ú�?���[ú�&���›ú�š���Âú����]û����tû�#���ü�&���6ü����]ü�"���|ü�T���Ÿü�g���ôü�†���\ý�.���ãý����þ�"���1þ�+���Tþ�Y���€þ�~���Úþ�¤���Yÿ�ä���þÿ�=���ã�����!�^���?� ���ž�¢���¿�F���b�}���©�'���'�'���O�Z���w�`���Ò�!���3�!���U�$���w� ���œ�¦���½�M���d�>���²�'���ñ�<����T���V����«����°����µ����Ë����á����ö�ï��� ����ü�¹����D���Ì�H��� �G���Z � ���¢ ����¬ ����± ����· �´��Æ ����{ �;���’ �3���Î �/��� �+���2 �'���^ �#���† ����ª ����Ê ����æ �<���ö ����3 ����G ����M ����S ����j �*���l ����— ����¯ ����É �A���æ ����(�2���?�1���r� ���¤����°�!���Ã����å�#���ì�����0���,����]����w����ˆ�*���™����Ä����â�"�������%����C�E���b�;���¨� ���ä�,���� ���2�!���S����u����•�+���´�#���à�#����,���(�0���U�,���†�#���³����×����ò� �������)����E����X����v����”�$���³�"���Ø����û�'�������9�5���S�'���‰����±�!���Ç����é���� �1���"����T����d��������š����³����Ç����Û����ï�������� �(���0����Y����r�.���‡�2���¶����é���������%���8�0���^�3�������Ã�F���ã�B���*�+���m�5���™�1���Ï� ������� ����&�*���E����p����‹�)���¨����Ò����ã�%���ÿ�!���%� ���G� ���U����c����s�8���Ž����Ç����Ý����ñ�����&���)�'���P�<���x�:���µ�.���ð�!�������A�&���P����w����’����¢����¶����Ç����×�#���ç�'��� �"���3�&���V����}����’����«� ���Æ����ç����������%���.����T� ���p� ���}����Š��������²����È����Û����ò���������,���0�+���]�-���‰�)���·�!���á���� ����" ����6 �8���M ����† ���� ����² ����È �3���Ú � ���!����!� ���)!����5!����J!� ���Z!����d!�#���w!�"���›!� ���¾!����ß!����þ!����"����+"����E"����V"����n"����t"����†"�%���—"����½"�$���×"�+���ü"�#���(#�:���L#�!���‡#�/���©#�'���Ù#����$����$����2$����M$�*���m$�%���˜$����¾$�#���Ü$�$����%����%%�%���;%�!���a%�'���ƒ%�%���«%����Ñ%����ñ%����&����&����6&�(���T&�,���}&� ���ª&�$���Ë&����ð&���� '����'����9'�$���W'�#���|'�%��� '����Æ'�!���æ'�&���(����/(����C(�(���a(� ���Š(�3���«(�-���ß(���� )����,)�!���E)�1���g)�'���™)����Á)�1���á)����*����**����E*����_*����y*�#���“*�1���·*�.���é*����+����.+����@+�(���`+����‰+� ���¡+����¯+����Ì+�(���á+���� ,����,�3���.,�;���b,�.���ž,����Í,����å,����ú,�$���-�$���=-�D���b-����§-����»-����Ì-����Ü-����ð-���� .����&.����B.����_.����y.����}.����”.�)���£.�/���Í.�=���ý.�@���;/�:���|/����·/�!���Õ/����÷/�,��� 0����60����R0����d0�;���{0����·0����Ò0����ë0����1����1� ���01�!���Q1�(���s1����œ1����·1����Ë1�*���Þ1�-��� 2����72����G2����^2����w2����Œ2����£2����¼2����Ø2�%���ð2�1���3�#���H3�"���l3����3� ���¥3����³3����Ä3����Ú3�"���ì3� ���4����4����04����G4����Z4����v4����Œ4�#���§4�!���Ë4�!���í4����5����&5����E5����^5� ���}5����Š5����š5����«5����½5����Ö5����ï5����6�!���&6����H6�"���`6����ƒ6����£6� ���Á6����â6����ú6�]���7�G���m7����µ7����É7����ß7�!���õ7�*���8� ���B8� ���O8����p8�/���„8�$���´8����Ù8�2���î8�;���!9����]9����v9����“9����±9�R���È9�L���:�(���h:� ���‘:����ž:����®:����À:����Ö:�,���ô:�9���!;�*���[;�,���†;����³;�*���¹;�G���ä;�0���,<�:���]<�#���˜<�'���¼<�8���ä<����=�@���2=�/���s=����£=�7���´=�8���ì=� ���%>����3>�/���O>�-���>� ���­>����¹>����Ó>�#���ê>�&���?�)���5?�*���_?����Š?�$���Ÿ?����Ä?����Û?����õ?����@�+���@�1���J@�"���|@� ���Ÿ@����À@����Ò@����é@�#���A�$���+A����PA����nA����ƒA�!���£A�!���ÅA�%���çA���� B�%���B����BB����QB�7���`B�=���˜B����ÖB����ôB���� C����#C����6C� ���GC����UC�-���mC�C���›C����ßC�(���ôC� ���D�'���'D����OD�"���iD����ŒD����œD�?���¬D�,���ìD�%���E����?E�4���UE� ���ŠE�&���«E� ���ÒE�1���ÞE�2���F�$���CF����hF�8���‡F�G���ÀF�9���G����BG�"���aG�$���„G����©G����ÃG����ãG����øG����H����,H�>���DH�B���ƒH� ���ÆH� ���ÑH����ÝH����òH����I���� I� ���3I� ���@I����LI����cI� ���zI� ���„I����ŽI�)���¨I����ÒI����çI����J����J�$���+J�-���PJ�7���~J����¶J����½J����ÓJ����âJ����ñJ���� K� ���K����&K����-K����3K����:K����XK����qK�#���ŽK�J���²K� ���ýK� ��� L� ���L����$L�*���9L����dL����€L����™L����µL����ÌL�8���éL����"M� ���(M�H���6M�U���M�>���ÕM�?���N�?���TN�8���”N�=���ÍN�>��� O�3���JO����~O�(���P�!���8P�N���ZP�f���©P�>���Q�@���OQ�#���Q�<���´Q�*���ñQ����R����<R�(���TR����}R�/���˜R����ÈR����ãR����ûR����S����S����)S����=S����DS�*���dS�!���S�7���±S����éS�"���T����$T����3T�3���GT�\���{T����ØT����ðT�.���U����7U�0���MU����~U�C���•U����ÙU����öU���� V����$V� ���6V�H���@V�+���‰V�J���µV�2����W�8���3W�=���lW�@���ªW�#���ëW����X�$���*X�=���OX�4���X�.���ÂX�,���ñX�<���Y�0���[Y�3���ŒY�7���ÀY�c���øY����\Z����rZ�"���‰Z�t���¬Z� ���![�3���,[�>���`[�5���Ÿ[�j���Õ[�h���@\�_���©\�0��� ]�,���:]�*���g]�3���’]�(���Æ]�&���ï]�(���^� ���?^����K^� ���^^� ���k^�/���y^�7���©^�&���á^� ���_�˜��)_����Â`���Ä`� ��Ôa�L��Þb�þ���+d�9��*e�¦��df�.�� h�Ö���:i�†���j�f��˜j�Q��ÿk���Qm�¤��Xo���ýp�³��›r�³���Ot����u�”���u�è���±u�l���šv�\���w�.��dw�‰���“x�Æ���y�q��äy�&��V{�¾���}|�÷���<}�Ñ��4~�������ƒ�¢���Ÿƒ�Q��B„�©���”…�J���>†���‰†����Œ‡�Ê���ˆ�Û���çˆ�ü���É�œ���ÀŠ�¾��]‹�4���°���QŽ�Ù����v���Ü�¢���S�x��ö�E���o’�{��µ’�¾���1”���ð”�d��–�N���m—�ž���¼—�M���[˜�V���©˜�q���™�?��rš�.��²›�å���áœ�o��Ç�à���7 �"��¡�ü���;¢���8£����@¤�Í���Ф�$��ž¥�[���æ�[���§�ä���{§�¥���`¨� ��©�#��ª����4«�5��5¬�L���k­�&���¸­�S���ß­�Â��3®�Ù���ö¯�Ä���а���•±�Š��±²���<´�È���Lµ� ��¶�)��6·�)��`¸�_��Šº�K��ê»�]��6½�Œ���”¾�¹��!¿�ä��ÛÁ���ÀÅ�e��ÑÆ�j���7È�L���¢È�Ú���ïÈ�O���ÊÉ���Ê�‡���2Ë� ���ºË�ä��ÆË�Š��«Í�8��6Ð�”���oÒ�Ö��Ó�o���ÛÕ�ä��KÖ���0Ø�¦��AÙ�a��èÚ�å���JÜ�4���0Ý�÷��eÝ���]ß�^��uà�¥���Ôá�Ó���zâ�ì���Nã�«��;ä�×���çå����¿æ�g���Pç�«���¸ç�£���dè�í��é�µ��öê�ô���¬ì�¤���¡í�õ���Fî�Ð���<ï�I��� ð���Wð�ä��tò�i���Yô�C���Ãô�˜���õ�H�� õ�„��éö���nø�¶��üù�æ���³û�+��šü���Æý�í���æþ�ù���Ôÿ�®��Î��ê���}�¿��h� ��(�ð���3���$�¥���6�‰��Ü�î���f �’��U �w���è �„��` �¸���å�»��ž�ë��Z�Ñ���F�»��� ��Ô�•��á�E���w�V���½�¬����ƒ���Á���E�ó��Y�ê��M�ò��8 �¡��+#���Í%�&��é&�ð��)�Ù��+�±���Û,�ü��-�B���Š/�G���Í/�u��0�o��‹1���û3�w��6�º��|7�¤��79�ý���Ü;�J��Ú<���%>�u���.A�w���¤A�ü���B�j��C�\��„D�H��áE�<��*H���gJ�.��„L���³M���ºQ�/���ÔR�”���S�%��™S�¹���¿T���yU�%��}V�ô���£W���˜X�É���¸Z�­��‚[�ø���0]�E���)^�¹��o^�ˆ���)`���²`�+���4b�8��`b�Ê���™c�ÿ���dd���de���kf�Ü��rg�t��Ok�#��Äm�š��èo�Z��ƒq���Þr�3��ït���#w�ý���2x�®��0y�B���ßz�Ÿ���"{�+��Â{�’��î|�ì���•���n‚�4��ƒ�n��9„�á���¨…�w��І���ˆ�N��‰�Â���e‹�v��(Œ� ��Ÿ�Þ���@�D����†���d�Ç��ë�õ���³’�t��©“�ñ���–���—�˜��!˜� ��º™�4��Ä›�„���ùœ�_��~���Þž�“��o ���¢�¾��£�C��Ö¥�9��§�›���T©�ê���ð©� ��Ûª� ���é¬�ù���Š­�ª���„®�$��/¯�:��T°�Z��±�¦��ê²�â��‘´�µ���t¶�M��*·�~��x¸�‡���÷º�¶��»�‘��6½�‰���Ⱦ�;���R¿�Ÿ��Ž¿�Ü��.Á��� Ã�³��$Ä�˜��ØÅ�°��qÈ�Õ���"Ê�E���øÊ�F���>Ë�Â��…Ë�†���HÍ�n���ÏÍ�Í���>Î�F��� Ï�_���SÏ�Ã��³Ï�ƒ���wÑ�;��ûÑ�W��7Ó�Û��Ô�\��kÖ�5���ÈÙ�7���þÙ�y���6Ú�&��°Ú�4���×Û�/��� Ü�:���<Ü�w��wÜ�N���ïÝ�k��>Þ�3���ªá�8���Þá�A���â�6���Yâ�=���â�)���Îâ�>��øâ�x���7ä�x���°ä�>���)å�4���hå����å����¦å�R��Áå�Ã��ç�ë��Øè�p���Äê�µ��5ë�P��ëì�õ���<î�õ���2ï�0��(ð����Yñ����bñ� ���gñ����sñ����|ñ����…ñ����ñ����•ñ����›ñ�P��±ñ�4���ó� ���7ó� ���Aó����Mó� ���dó�2���…ó�*���¸ó����ãó�%���ô�2���'ô����Zô����vô�Q���”ô�W���æô�;���>õ�(���zõ�<���£õ� ���àõ�=���ö�)���?ö����iö�6���{ö����²ö����Äö�0���ãö����÷�)���3÷�?���]÷� ���÷�-���ª÷�/���Ø÷�*���ø����3ø�&���Oø�#���vø����šø�L���µø�2���ù�1���5ù�;���gù�^���£ù�:���ú�(���=ú����fú����„ú�C���£ú�2���çú�:���û�J���Uû���� û�8���»û�,���ôû�2���!ü�%���Tü�@���zü�%���»ü�K���áü����-ý�)���Bý����lý����†ý�?���¡ý�(���áý���� þ�2���'þ����Zþ����pþ�#���Šþ����®þ����Ìþ����éþ����ÿ����%ÿ����;ÿ�2���Qÿ� ���„ÿ�4���¥ÿ�8���Úÿ�:�����+���N�����z��%���“��0���¹�����ê��0��� �%���;�%���a�S���‡����Û�&���ø�&����&���F�'���m�%���•�B���»�%���þ����$�.���@�-���o�����=���¹�(���÷�1��� �+���R����~�*���”�$���¿�8���ä�0�������N�(���i�'���’�+���º�1���æ�+����.���D�,���s�%��� �/���Æ�,���ö����#����@����\�%���z���� ����µ�5���Ó�'��� �8���1����j����€��������¼����×����ö�=��� �F���T �>���› ����Ú �*���ô �*��� �-���J ����x ����‘ �:���® �+���é �0��� �9���F ����€ � ���ƒ ���� �E���­ �0���ó �:���$ �:���_ �5���š �6���Ð �:��� ����B � ���E �}��æ ����d� ���~�9���Œ�<���Æ�H����8���L�*���…�.���°����ß����ú��������*� ���B����L����Q����W�B���_�>���¢�;���á� ����%���+�6���Q����ˆ����—����ž�"���¦�'���É� ���ñ����û� ����«��#� ���Ï�%���Ù�g���ÿ�A���g����©����°�p���0�—���¡� ���9����D� ���U�B���a�é��¤����Ž� ���Ÿ�C��©�ñ���í�î���ß����Î����Ý� ���í�B���ú�4���=���r� ���‡����“�¥��£� ���I!����T!�|��[!�t���Ø"� ���M#�,���X#�*���…#�0���°#� ���á#� ���ë#����ö#�ñ���$�<����%�(���=%�k���f%� ���Ò%����Ý%�N���÷%�ð��F&�?���7(�M���w(����Å(����×(����æ(�"���í(����)����)����)����$)����+)����<)�V���C)����š)�Ý���¸)����–*�2��§*����Ú,� ���ã,����î,����-� ���-����-�(���5-�/���^-�)���Ž-�&���¸-�/���ß-����.�%���/.����U.� ���d.� ���p.� ���|.����‰.� ���š.����¦.����¸.����É.����Ï.����Ö.����Ü.����ä.�I���ö.� ���@/����N/�!���_/����/����/� ���¬/� ���º/� ���Ç/����Ó/����Ü/����à/����ä/� ���0�6���0����H0�#���c0�-���‡0����µ0�K���¾0���� 1����$1�°��61�Ó���ç2�s���»3�¥���/4����Õ4����Ù4����í4� ���5�5���5� ���J5� ���V5� ���a5����n5����t5�&���5�b���´5�8���6�¨��P6���ù7�¢���þ8�<���¡9�)���Þ9�À��:�·���É<�˜���=�B���>�%���]>�‰���ƒ>���� ?�k���«?�o���@�ã��‡@�K���kC� ���·C����ØC� ���øC� ���D����D� ���D����"D�'���:D�Ë���bD�Î���.E�J���ýE�'���HF�?���pF� ���°F�#���ÑF����õF���� G����!G����2G����AG� ���PG�B���^G�5���¡G� ���×G� ���åG� ���óG�����H�?���H�=���UH����“H����­H����½H�G���ÂH���� I����I����!I�&���1I�&���XI� ���I����‹I����‘I����£I�(���¨I����ÑI�k��ÚI�$���FK����kK�"���~K�*���¡K�Û��ÌK�5���¨M�4���ÞM�?���N�)���SN����}N����ƒN����’N����£N����¸N����ÕN����ñN���� O����)O����=O����VO�=���iO�w���§O�4���P�0���TP�9���…P�>���¿P�?���þP�Ç��>Q�"���S�&���)S�(���PS�Ä���yS�5���>T�m���tT�7���âT�k���U�6���†U�6���½U����ôU�g���V�O���xV�"���ÈV�R���ëV�,���>W�Ë���kW����7X�º���VX�+���Y�/���=Y�(���mY�.���–Y�g���ÅY�ƒ���-Z�¢���±Z�6���T[�%���‹[�*���±[�3���Ü[�g���\�™���x\�Å���]���Ø]�B���ø^�&���;_�{���b_�*���Þ_�¼��� `�[���Æ`�¬���"a�1���Ïa�1���b�p���3b�x���¤b�)���c�+���Gc�.���sc�*���¢c�Ã���Íc�]���‘d�N���ïd�5���>e�b���te�t���×e����Lf����Qf����Xf����xf����˜f����´f�„��Ñf�#���Vh�Ê���zh�E���Ei�I���‹i�[���Õi����1j����9j����>j�!���Aj�¿��cj����#l�<���8l�0���ul�-���¦l�(���Ôl�$���ýl� ���"m����Cm����`m����ym�L���‰m����Öm����òm����øm����þm����n�;���n�)���Yn�+���ƒn�#���¯n�M���Ón����!o�J���=o�G���ˆo����Ðo����ío�3���p����:p�3���@p�,���tp�?���¡p�.���áp����q�0���-q�C���^q�+���¢q�+���Îq�3���úq�'���.r�*���Vr�Q���r�G���Ór�0���s�4���Ls�,���s�-���®s�+���Üs�*���t�9���3t�0���mt�/���žt�;���Ît�?��� u�:���Ju�1���…u�%���·u�$���Ýu�2���v�-���5v�!���cv�+���…v�+���±v�.���Ýv�7��� w�-���Dw����rw�8���Œw�.���Åw�K���ôw�'���@x����hx�3���ƒx�5���·x����íx�K��� y����Uy�+���py�&���œy�'���Ãy�$���ëy�#���z�$���4z�*���Yz����„z����¤z�5���¿z�%���õz����{�7���9{�<���q{�%���®{�'���Ô{�%���ü{�1���"|�=���T|�@���’|�*���Ó|�r���þ|�K���q}�E���½}�>���~�C���B~����†~�&���—~�0���¾~�A���ï~�0���1�/���b�>���’����Ñ�"���í�6���€�F���G€����Ž€�'���®€� ���Ö€�8���÷€�>���0�$���o�%���”�)���º�9���ä�?���‚�:���^‚�A���™‚�K���Û‚�3���'ƒ�-���[ƒ����‰ƒ�3���£ƒ�-���׃�(���„�6���.„����e„�'���‚„� ���ª„�3���Ë„�3���ÿ„�0���3…�6���d…� ���›…�&���¼…����ã…�1���†�&���3†�#���Z†����~†�8���œ†����Õ†� ���õ†����‡����‡����2‡�"���L‡�!���o‡�!���‘‡� ���³‡����Ô‡� ���ó‡�8���ˆ�K���Mˆ�E���™ˆ�O���߈�*���/‰�(���Z‰����ƒ‰�"���£‰�S���Ɖ�.���Š����IŠ� ���fŠ����‡Š�I���¦Š� ���ðŠ����úŠ����‹�#���‹����C‹����]‹����s‹�*���‹�*���¸‹�'���ã‹�6��� Œ����BŒ�)���UŒ����Œ����šŒ�$���¯Œ����ÔŒ����ÜŒ����òŒ�>����,���F�-���s�9���¡�/���Û�A��� Ž�,���MŽ�?���zŽ�5���ºŽ�'���ðŽ�#����.���<�'���k�:���“�7���Î�)����2���0�3���c�!���—�1���¹�.���ë�7���‘�-���R‘�/���€‘����°‘����Ì‘�+���à‘�)��� ’�E���6’�5���|’�3���²’�5���æ’�#���“����@“�%���Y“�'���“�+���§“�-���Ó“�-���”�*���/”�:���Z”�J���•”����à”�(���ü”�2���%•�)���X•�G���‚•�6���Ê•�'���–�%���)–�/���O–�J���–�4���Ê–�1���ÿ–�K���1—�2���}—�+���°—�*���Ü—�,���˜�-���4˜�1���b˜�h���”˜�;���ý˜�5���9™����o™�1���‰™�+���»™����ç™����š�$���š����>š�+���Zš����†š�%���š�?���µš�C���õš�E���9›�$���›����¤›�(���Á›�(���ê›�3���œ�O���Gœ����—œ����²œ����Èœ����Ýœ����öœ�"����"���5�)���X����‚����¢����¦����Æ�5���Þ�L���ž�W���až�J���¹ž�I���Ÿ�&���NŸ�1���uŸ�"���§Ÿ�:���ÊŸ�,��� ����2 �&���M �Y���t �>���Π�8��� ¡����F¡����a¡�&���¡�0���¦¡�B���ס�:���¢�)���U¢����¢����œ¢�<���¹¢�?���ö¢����6£�&���P£�%���w£�!���£�'���¿£�'���ç£�,���¤�(���<¤�C���e¤�B���©¤�2���ì¤�4���¥�+���T¥����€¥����–¥�$���¯¥����Ô¥�7���î¥����&¦�'���A¦�%���i¦�!���¦�#���±¦�&���Õ¦�)���ü¦�=���&§�5���d§�3���š§�*���Χ�/���ù§�(���)¨�/���R¨����‚¨����˜¨����±¨����˨�*���ç¨�*���©�*���=©�-���h©�0���–©�"���Ç©�-���ê©�+���ª�'���Dª�)���lª�"���–ª� ���¹ª����Úª�Q���Z«�&���¬«�%���Ó«����ù«�.���¬�F���H¬�!���¬�.���±¬�%���à¬�C���­�J���J­�.���•­�H���Ä­�P��� ®�&���^®�&���…®�&���¬®�%���Ó®�k���ù®�a���e¯�7���ǯ����ÿ¯����°����4°�-���S°�#���°�+���¥°�:���Ѱ�(��� ±�3���5±����i±�:���q±�O���¬±�E���ü±�R���B²�T���•²�;���ê²�=���&³�(���d³�K���³�U���Ù³����/´�F���K´�E���’´����Ø´�1���é´�?���µ�6���[µ� ���’µ� ���žµ����¿µ�1���Úµ�/��� ¶�2���<¶�;���o¶����«¶�:���ö����þ¶����·����4·����E·�<���e·�8���¢·�&���Û·�-���¸� ���0¸�"���Q¸�-���t¸�6���¢¸�7���Ù¸�+���¹�/���=¹�1���m¹�1���Ÿ¹�5���ѹ�4���º�#���<º�5���`º�$���–º�&���»º�D���âº�W���'»�&���»����¦»�*���Æ»����ñ»�(���¼����.¼�2���G¼�;���z¼�U���¶¼���� ½�:���&½� ���a½�<���o½����¬½�>���ɽ����¾����¾�V���2¾�A���‰¾�8���˾����¿�P��� ¿�'���q¿�2���™¿����Ì¿�?���â¿�J���"À�2���mÀ�&��� À�E���ÇÀ�T��� Á�F���bÁ�5���©Á�/���ßÁ�9���Â����IÂ�(���hÂ�)���‘Â�&���»Â����âÂ����Ã�K���Ã�8���kÃ����¤Ã����µÃ����ÌÃ����æÃ�2���Ä����4Ä����IÄ����YÄ�!���mÄ�'���Ä� ���·Ä����ÂÄ����ËÄ�<���èÄ�!���%Å����GÅ����fÅ����‚Å�.���¡Å�3���ÐÅ�;���Æ� ���@Æ�"���JÆ����mÆ����ŠÆ�$���Æ����ÂÆ����ÔÆ����åÆ����Ç����Ç�8���'Ç�#���`Ç�(���„Ç�3���­Ç�N���áÇ����0È����BÈ� ���SÈ�(���`È�<���‰È�3���ÆÈ�-���úÈ�*���(É�'���SÉ�%���{É�I���¡É����ëÉ� ���ðÉ�P���ýÉ�r���NÊ�C���ÁÊ�D���Ë�D���JË�=���Ë�B���ÍË�M���Ì�L���^Ì�³���«Ì�+���_Í�.���‹Í�n���ºÍ�ˆ���)Î�J���²Î�G���ýÎ�$���EÏ�B���jÏ�+���­Ï�"���ÙÏ����üÏ�T���Ð�2���oÐ�4���¢Ð�"���×Ð����úÐ� ���Ñ����9Ñ����?Ñ����]Ñ����{Ñ�-���‚Ñ�8���°Ñ�7���éÑ�8���!Ò�"���ZÒ�7���}Ò����µÒ�/���ÅÒ�A���õÒ�s���7Ó����«Ó����ËÓ�:���êÓ����%Ô�?���AÔ�1���Ô�U���³Ô�3��� Õ�*���=Õ�,���hÕ�)���•Õ����¿Õ�O���ÇÕ�6���Ö�P���NÖ�8���ŸÖ�K���ØÖ�K���$×�V���p×�6���Ç×�#���þ×�;���"Ø�B���^Ø�=���¡Ø�N���ߨ�9���.Ù�D���hÙ�A���­Ù�8���ïÙ�4���(Ú����]Ú����ßÚ� ���ÿÚ�<��� Û�Š���]Û����èÛ�A���÷Û�K���9Ü�=���…Ü�‚���ÃÜ�v���FÝ�q���½Ý�F���/Þ�5���vÞ�/���¬Þ�>���ÜÞ�?���ß�A���[ß�=���ß����Ûß����ðß����à����à�_���-à�>���à�;���Ìà����á��������Y��J��������m����Ê���Á���������V��¶����Æ����´����������ü���������ö��¸��Ç������—��Ê����ã���?��/��t����l��ñ���Ë�������ø��§������#��E��b���À�����o������À��*���½��(��º��ÿ��æ��������O��Þ��ç��À����������Ÿ���«�������������æ��³��è������ò������I��������������†������������ˆ������?���‚��h����¦��q��¡���F��7������T������Í������ ��������ì��J������ü��¢��™����������6����������á��=��¾��n���‘���m�� ���������������£�������ð���R�������v��P������n��1��N������A����������B�������ƒ���x����������'���¬��\��������t��î�� ��ä��6��z��Ÿ����������|���1��û��#��÷����������P��ß��_��Œ������s��)����������Ì����������|��Ô���������;�����������“��Y�� �������L��*������������ƒ������G���ª��9��]��˜��?��#������y������Í��\�������º��}��È��`��Ñ���Ò���)���·���������¨���������¼�� ������ž��,������z��[��{��z��¹���å��Á��»��þ�������ù��Ÿ��±������Q��[��˜������������¦������º���ñ��z��X���ø��Þ������� �� ����j������H����5����������…��V��r��(��(��Z��½����������Á��F��M��b��‹��š������j��%������������������Ç��.����Æ���t������Í���_�� �����å������•�� ������•��0��|������·��P������w��¦��\��Î��������_���„��*������9������F���N������ð��ü������������~���k��€���&��y��>��‰��3�����à��Ë��”��ï��A���S���������0������³���ï��ª�����‰���Ñ������O��Ë��M��~��›��”��ð��%���ä�����/������W��„��%��Â���Ò����-��ì��E���+��`���z�����ƒ��h��à��¬��é��†������À��û��­��������|��i��ù�������›��������I������9������&���0��È������€��ÿ��`��Ø���œ�����(��!����������@��Š��º��þ��ò������)��ý���‚������?��������������Ý��²���¸��Y������†��� ��������õ��a�������������þ��Â��8�����h����Q������������í������´��Ê��w��¢��Ñ��©������;��a��s��þ��¨��G��������€���������������D������E��"��‡��g��C������ ����������C������������Õ����������ƒ��Æ������1��}���3���@����������-������}��J����<��p��®���������8��^������������$��x��������ú��ƒ��¡�� ��ˆ��©��G����������>���2������¶��h��������������,��������×�� ��������������W������7������²������—���£������ ��P���������������­��³��¡������E��ù��_��[��x��ú�����Ï��I������ã��e��è��‹������n��ê��ø���*������k��S������ñ������4��«��A������ý��û�������g�����v��Ã��½��T���™��Ô����é��Ï��Ù��K�����Ë��������ë��(��g����¥�������Õ��{��f��k��}����²������@�����i��¦���.��È������¿�������������I���k������H��!�����������X������Ã��6���ô������Æ��€��Ä�����\����������«���ª��Ò��H��i��M��������"����ê�������m��±���D������Ý�����ÿ�����������W���~����õ��������������é������%��H�� ���������ü��[���ç��Š������å����������j��0������¹��Ç����������¾��B������õ���h���I��C����3��)��'��p��¿��M���ž���t��£��Ÿ������p��r����������w������x�������������¡����������µ��Œ�������^���â��¶��±��>������������������=��¥������S�� ��ý��â��J��Ü��ð��r���Š������������y��¡��·��Ö��Š��o��Ð��������������w��¼��r��Å���É���������Ù��q��Ô��§��ñ��P������j���Á���s���«����������°���ó��“��f���Ê������H�����������¶������Œ��!��T��������B��‘��������������e�����������Ã��Ž��{������P��B��‡��…���,���a�������G��…����������Í��V��f��¼�������Ÿ������j��µ���Ì��f��ƒ��%������«��o��ˆ��è��Æ����������������¨��­������G������������’��›��=��î���ò�����������.�� ��������ä��‰������š����!��B��ª��x����������ˆ��Ó��»����—��¼��F��²��÷������÷�����������������´��z��…����r��ê����������»����������g������a��m�������³��f���������� ������������������K��������Z���Ô��€��µ��¡������à�������™��ê��‘��ü������ ��|����������‹��Q������•��0���¥������î��Ä��w��{��¼��-������v��d��'��"���›����������»����‰�����€������?��s��»������K��n������-���Ø��‡��‘��„��Œ��æ��Z��V������N���[������5���Y�����Ë��á������������•�����Ú��N��1��W��l��×��Œ��q����������� ��_������c��k���������ß�����ˆ���á���U��æ���×��˜������e�����D���2���q��™�������7��X��U��V���Û��5��Ø����X�������L���ã��$������Z����½���ò��ß���������¹��K��®��c�����������4��È���”���������������›��Ž���ì��‘�� ��o���4��Á������¼��•�� ������“������µ��:��E������R��<��ó��L������î��¨��Ù�������Ï�������@��‚��…�� ��/���¯��¨����Ê��A��`��¥��Ý����©��?��������������<���¤��‹��æ��‹��Å��5������ú��Š����������0��:��2��I������5��Ò��+��£��9���–����$���3��p���������Ð������ë��´���:������]�������R������&��l������¦��¯��ï����†��k������–���Ó������¢������Ö������Ì��ö��©��2��¤�� �����œ��¤�������������\��Â��Ù��¸��� ��¯�� ��ô������U��Q����������Ä��Ã���d��������������*������œ��v���K���e��������������6�� ��’��n��Ó��q������–��‚���µ��T��u��Õ��>��þ��t��������°��º��'��]��������Õ���#��±��������������,��/����������p��©���R��M��Ø��Î������3������ö���]��O��O���¾�����������Ð���w���c��~����������f��Å��¥�����™��—������¿��K��B������¾����‘��‰������ ������X��²��9����������c��‡�������+����������¸��Z��„��ö���������4�����������������³��������¢��á��˜��ã��������†��±��1���(���±������Ž��á��ß�������������������5��Y���Q���¢������������������������d�� ������¸��ù��§��Ñ��¦��:��d���`��¬������+��ú��ë���O��j��s��Ž�� ���������:��Ÿ��t���Û��‡��}��e��i������ä�������Ï��¨������<��6��\������������������h������$��x���N������¯��l������������d��������Ø��¢���c��9������´����������¯�����������b��7��†����������¸��`�����ì���;��í��Ü����������É��^�������������¿��#������Ï��‡��‹�����#���Ç���Þ��¹��Ã������ �������Þ��Ž������•��r��¥����������í�������S��ø��î������G��J���;��º����������ë����’������&������ö��š��������–��÷��,������§���e��ù�����½�������������� ��ê��¯��ÿ��Ù��™��F��×���è���«������Ö��������������������'��b��+���Ò��A����=���…����Ç���������������s����l�������b��U��<��Š���m��“������'����.��Ú��ž��.�����;��¹��_��8������ª��Ô������;������·����������Ý��)��D��â��°��~������ž������o��)������¤������������ï��¾����ò��ß��ô���W��ó��é����������ø��X������Î����Z������Ó��Â����������‚��8���!���ã��Ó���õ������y���>��N��+��Ä���"��œ��Ú��[��U��®��=��¤��Þ��Û�� ���������� �������@��C��‰��§��›���H��ë��š���„���6������„�� ���^��������v��ž������}��|������ï���“���è����L���� ��­��{���l��4��u��”��Ü��T������¬��Ð������o��”��������ç��Í����š��Å��]��������i���u��¿��Ö�������<������É��a��à��é���ô������n��õ�����¹��C��×����à��q������C��â���Û���ž��Ú�������·������8��m��÷������@������ ������d��È��­������&��-��������������S����������u�����V��O��R���������É��å�����������–��’������·��S��������4��å������Œ��®��®������.��u�������p��Q��g��‚��F������������®��g��*��"��°����ç��������©����������L��!��Ž����������������Ü���v��������$����T����¶���"��c��:���ç���A������7��ä��������7���ˆ��Õ������^��2������˜���������£������������–��Å��û��°��²��ú���i����������R��Ì��$��ì��=��—������������ý��µ��»������í����������������������u�����Ì���¬���½��-��Y������a�� �����˜�� ������É��M��W��ª���Î��Ö��y��]��������Ú��������������­���Û������/��Î���������������Ý��³��J��°��í�������´��,��¤��>��À������”��Ü��û��œ�������¬��“��L������������2��%����������â������’��—��~��¶��ý��ô������ ������8��ÿ��Ð����������Ä��3��1��D������ ��E��ó����������¾��š��y����������ó���ñ�� ��’�������{��Â��^��ð��������D������b������Ñ��&������£������U���œ��/����§�����%á����-á�|{��¨{��¼{��Ð{��ä{��ø{�� |�� |��4|��H|��\|��x|��Œ|��¨|��¼|��è|��}�� }��4}��H}��\}��p}��Œ}��¨}��Ä}��à}��ô}��~��5á��������������� �����������������ÿÿÿÿUá��������1���ÿÿÿÿ‡á��������/���ÿÿÿÿ·á�7����������ÿÿÿÿâ�����������ÿÿÿÿ1â�����������ÿÿÿÿ[â��������(���ÿÿÿÿˆâ� �������Q���ÿÿÿÿãâ� �������R���ÿÿÿÿ?ã� �������V���ÿÿÿÿŸã������������������ÿÿÿÿËã�����������ÿÿÿÿÒã� ���������������ÿÿÿÿüã����������ÿÿÿÿä��������������������������������ÿÿÿÿJä������������������ÿÿÿÿtä������������������ÿÿÿÿžä�F����������ÿÿÿÿùä�������� ���ÿÿÿÿ4å�6������� ���ÿÿÿÿŠå��������+���ÿÿÿÿºå��������$����������ÿÿÿÿæ��������/�������*���ÿÿÿÿeæ��������&�������"���ÿÿÿÿµæ��������$����������ÿÿÿÿùæ� ����������ÿÿÿÿç������� ���������ÿÿÿÿ>ç����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option used in invalid context -- %c�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-10-21 20:29+0200 Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net> Language-Team: Catalan <ca@dodds.net> Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � � ( EXPRESSIÓ ) L’EXPRESSIÓ és certa. ! EXPRESSIÓ L’EXPRESSIÓ és falsa. EXPRESSIÓ1 -a EXPRESSIÓ2 L’EXPRESSIÓ1 i l’EXPRESSIÓ2 són certes. EXPRESSIÓ1 -o EXPRESSIÓ2 L’EXPRESSIÓ1 o l’EXPRESSIÓ2 és certa. � --check-order Comprova si l’entrada es troba correctament ordenada, fins i tot si se’n poden emparellar totes les línies. --nocheck-order No comprova si l’entrada es troba correctament ordenada. � -1 Elimina la columna 1 (línies que només apareixen al FITXER1). -2 Elimina la columna 2 (línies que només apareixen al FITXER2). -3 Elimina la columna 3 (línies que apareixen en ambdós fitxers). � -a, --all Equival a «-b -d --login -p -r -t -T -u». -b, --boot Moment de la darrera arrencada del sistema. -d, --dead Mostra els processos morts. -H, --heading Mostra una línia de capçaleres de columna. � -b FITXER El FITXER existeix i és un dispositiu de blocs. -c FITXER El FITXER existeix i és un dispositiu de caràcters. -d FITXER El FITXER existeix i és un directori. -e FITXER El FITXER existeix. � -l Genera una eixida amb format llarg per cada USUARI. -b Omet el directori personal i intèrpret de l’usuari al format llarg. -h Omet el fitxer de projecte de l’usuari al format llarg. -p Omet el fitxer de pla de l’usuari al format llarg. -s Genera una eixida amb format curt (per defecte). � [-n] CADENA La longitud de la CADENA no és zero. CADENA Equival a «-n CADENA». -z CADENA La longitud de la CADENA és zero. CADENA1 = CADENA2 Les cadenes són iguals. CADENA1 != CADENA2 Les cadenes no són iguals. � ARG1 * ARG2 Producte aritmètic d’ARG1 i ARG2. ARG1 / ARG2 Quocient aritmètic d’ARG1 entre ARG2. ARG1 % ARG2 Residu aritmètic d’ARG1 entre ARG2. � ARG1 + ARG2 Suma aritmètica d’ARG1 i ARG2. ARG1 - ARG2 Resta aritmètica d’ARG1 i ARG2. � ARG1 < ARG2 ARG1 és menor que ARG2. ARG1 <= ARG2 ARG1 és menor o igual que ARG2. ARG1 = ARG2 ARG1 és igual a ARG2. ARG1 != ARG2 ARG1 no és igual a ARG2. ARG1 >= ARG2 ARG1 és major o igual que ARG2. ARG1 > ARG2 ARG1 és major que ARG2. � FITXER1 -ef FITXER2 El FITXER1 i el FITXER2 tenen els mateixos números de dispositiu i node índex. FITXER1 -nt FITXER2 El FITXER1 és més nou (data de modificació) que el FITXER2. FITXER1 -ot FITXER2 El FITXER1 és més antic que el FITXER2. � ENTER Copia fins a (però sense incloure) la línia especificada. /EXPREG/[DESPL] Copia fins a (però sense incloure) la línia coincident. %EXPREG%[DESPL] Salta fins a (però sense incloure) la línia coincident. {ENTER} Repeteix el patró anterior el nombre de vegades especificat. {*} Repeteix el patró anterior tants cops com sigui possible. Un desplaçament de línia (DESPL) és un «+» o «-» seguit per un número enter positiu. � ENTER1 -eq ENTER2 L’ENTER1 és igual a l’ENTER2. ENTER1 -ge ENTER2 L’ENTER1 és major o igual que l’ENTER2. ENTER1 -gt ENTER2 L’ENTER1 és major que l’ENTER2. ENTER1 -le ENTER2 L’ENTER1 és menor o igual que l’ENTER2. ENTER1 -lt ENTER2 L’ENTER1 és menor que l’ENTER2. ENTER1 -ne ENTER2 L’ENTER1 no és igual que l’ENTER2. � CADENA : EXPREG Resultat d’aplicar l’expressió regular EXPREG sobre la CADENA. match CADENA EXPREG Equival a «CADENA : EXPREG». substr CADENA POS LONGITUD Subâ€cadena de CADENA, comptant POS des d’1. index CADENA CARÀCTERS Ãndex de CADENA on hi ha algun CARÀCTER, o 0. length STRING Longitud de la CADENA. � a Numera totes les línies. t Numera totes les línies que no estan en blanc. n No numera cap línia. pEXPREG Només numera les línies que contenen una ocurrència de l’expressió regular bàsica EXPREG. El FORMAT pot ser: ln Alineat a l’esquerra, sense zeros de replé. rn Alineat a la dreta, sense zeros de replé. rz Alineat a la dreta, reomplit amb zeros. � b Crea un fitxer especial de blocs (amb memòria intermèdia). c, u Crea un fitxer especial de caràcters (sense memòria intermèdia). p Crea una cua FIFO. � nombre d’usuaris=%lu � L’opció «-t» és implícita quan LLARG_PÀG és menor o igual que 10. Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. � Un camp és una sèrie de caràcters en blanc (normalment espais o caràcters de tabulació) seguits de caràcters no en blanc. En emprar «--skip-fields» o «--skip-chars», primer es salten els camps i després els caràcters. � Un programa de «finger» lleuger; mostra informació sobre els usuaris. El fitxer «utmp» serà «%s». � Un «-» a soles implica «-i». Si no s’indica l’ORDRE, mostra l’entorn resultant. � Després dels senyaladors es pot indicar l’amplada del camp com a un número decimal; després es pot incloure el modificador opcional «E», per a emprar les representacions alternatives del locale (si n’hi ha), o «O», per a emprar els símbols numèrics alternatius del locale (si n’hi ha). � Una EXPRESSIÓ omesa és per defecte falsa. Altrament, l’EXPRESSIÓ és certa o falsa i estableix l’estat d’eixida. És una de: � Com a cas especial, «cp» fa una còpia de seguretat d’ORIGEN quan les opcions «--force» i «--backup» són actives i ORIGEN i DESTINACIÓ són el mateix nom d’un fitxer ordinari existent. � Teniu en compte que molts operadors han de ser escapats o entrecometats als intèrprets d’ordres. Les comparacions són aritmètiques entre números, lexicogràfiques en altre cas. Les comparacions amb patrons retornen la cadena coincident entre «\(» i «\)» o la cadena buida; si no s’empra «\(» i «\)», retornen el nombre de caràcters coincidents o 0. � Cal que especifiqueu MAJOR i MENOR quan el TIPUS siga «b», «c» o «u»; cal ometre’ls quan aquest siga «p». Si MAJOR o MENOR comença per «0x» o «0X», s’interpreta com a hexadecimal; si comença per «0», com a octal; altrament s’interpreta com a decimal. El TIPUS pot ser: � Per defecte, «rm» no elimina els directoris. Empreu l’opció «--recursive» («-r» o «-R») per a eliminar també cadascun dels directoris llistats, juntament amb el seu contingut. � Les opcions per defecte són «-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn». CC són dos caràcters delimitadors per a separar les pàgines lògiques, on l’absència del segon caràcter implica «:». Escriviu «\\» per a «\». ESTIL pot ser: � Per defecte, els fitxers ORIGEN dispersos es detecten amb una heurística simple i els fitxers DESTINACIÓ corresponents són creats dispersos. Aquest és el comportament indicat per «--sparse=auto». Amb «--sparse=always» es crearà un fitxer DESTINACIÓ dispers sempre que el fitxer ORIGEN continga una seqüència suficientment llarga d’octets zero. Empreu «--sparse=never» per a evitar la creació de fitxers dispersos. En especificar «--reflink[=always]» es realitzarà una còpia lleugera, on es comparteixen els blocs de dades i només es copien quan són modificats. Si açò no és possible la còpia fallarà; en canvi, si s’especifica «--reflink=auto» es recorrerà a una còpia estàndard. � TROSSOS pot ser: N Divideix en N fitxers basantâ€se en la mida de l’entrada. K/N Escriu el Kâ€Ã¨ tros (d’un total d’N) a l’eixida estàndard. l/N Divideix en N fitxers sense partir cap línia. l/K/N Escriu el Kâ€Ã¨ tros (d’un total d’N) a l’eixida estàndard sense partir cap línia. r/N Com «l/N», però empra una distribució rotativa. r/K/N El mateix, però només escriu el Kâ€Ã¨ tros (d’un total d’N) a l’eixida estàndard. � Propietats combinades: * [-]LCASE Equival a «[-]lcase». cbreak Equival a «-icanon». -cbreak Equival a «icanon». � La DURADA és un número real en coma flotant amb un sufix opcional: «s» per a segons (per defecte), «m» per a minuts, «h» per a hores i «d» per a dies. � Els valors mostrats s’expressaran en les unitats de la primera MIDA disponible entre l’argument de l’opció «--block-size» i els valors de les variables d’entorn %s_BLOCK_SIZE, BLOCK_SIZE i BLOCKSIZE. Si no n’hi ha cap disponible s’empraran unitats de 1024 octets (o 512 si la variable POSIXLY_CORRECT està establerta). � Cada símbol SENYALADOR pot ser: append Mode de només addició (només té sentit per a l’eixida, es suggereix emprar «conv=notrunc»). � Cada MODE té la forma «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+». � Exemples: %s -12 FITXER1 FITXER2 Mostra les línies presents tant al FITXER1 com al FITXER2. %s -3 FITXER1 FITXER2 Mostra les línies del FITXER1 que no es troben al FITXER2 (i viceversa). � Exemples: %s /usr/bin/ -> «/usr» %s dir1/str dir2/str -> «dir1» seguit per «dir2» %s stdio.h -> «.» � Exemples: %s /usr/bin/sort -> «sort» %s include/stdio.h .h -> «stdio» %s -s .h include/stdio.h -> «stdio» %s -a una/cad1 una/cad2 -> «cad1» seguit per «cad2» � Exemples: «%s f - g» Mostra el contingut d’«f», de l’entrada estàndard, i en acabant el contingut de «g». «%s» Còpia l’entrada estàndard a l’eixida estàndard. � Exemples: «%s root /u» Canvia el propietari de «/u» a «root». «%s root:staff /u» El mateix, però també canvia el seu grup a «staff». «%s -hR root /u» Canvia el propietari de «/u» i descendents a «root». � Exemples: «%s staff /u» Canvia el grup de «/u» a «staff». «%s -hR staff /u» Canvia el grup de «/u» i descendents a «staff». � Exemples: Per a convertir un nombre de segons des de l’època (1970-01-01 UTC) en una data: $ date --date='@2147483647' Per a mostrar l’hora de la costa oest dels EUA (empreu «tzselect(1)» per a trobar el valor de TZ): $ TZ='America/Los_Angeles' date Per a mostrar l’hora local corresponent a les 9 del matí del proper divendres, hora de la costa oest dels EUA: $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Excepte «-h» i «-L», totes les comprovacions sobre un FITXER segueixen els enllaços simbòlics. Teniu en compte que cal que els parèntesis siguen escapats (per exemple, amb barres invertides) als intèrprets d’ordres. ENTER també pot ser «-l CADENA», que s’avalua a la longitud de la CADENA. � L’estat d’eixida és 0 si l’expressió no és nuÅ€la ni 0; 1 si l’expressió és nuÅ€la o 0; 2 si l’EXPRESSIÓ no és vàlida sintàcticament; 3 si ocorre un error. � Codi d’eixida: 0 si tot va bé. 1 si ocorren errors menors (p.ex. no es pot accedir un subdirectori). 2 si ocorren errors greus (p.ex. no es pot accedir un argument de la línia d’ordres). � FORMAT controla l’eixida com fa printf() en C. S’interpreten les seqüències: \" Cometes dobles. � FORMAT controla l’eixida. Les seqüències interpretades són: %% Un «%» literal. %a Dia de la setmana abreujat del locale, p. ex. «dg». � Controla la línia tty connectada a l’entrada estàndard. Sense arguments, mostra la velocitat en bauds, la disciplina de línia i les diferències amb «stty sane». En indicar propietats, el caràcter CAR ha de ser literal, o codificat com «^c», «0x37», «0177» o «127»; els valors especials «^-» i «undef» s’empren per a inhabilitar caràcters especials. � Si s’especifica «-e» es reconeixen les seqüències següents: � Si el FITXER és «-», sobreescriu l’eixida estàndard. Si s’especifica «--remove» (-u) s’elimina cada FITXER. Per defecte no s’eliminen aquests perquè és comú operar sobre fitxers dispositiu com «/dev/hda», i normalment aquests fitxers no s’haurien d’eliminar. Quan s’opera sobre fitxers ordinaris la majoria de la gent empra l’opció «--remove». � Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s» com a FITXER. Si s’especifiquen ARG1 i ARG2, és com emprar «-m»: és habitual emprar «am i» o «és genial». � Si s’especifica un FITXER, aquest es llegeix per a determinar quins colors emprar per a quins tipus de fitxer i extensions. Altrament, s’empra una base de dades precompilada. Proveu «dircolors --print-database» per a obtenir detalls sobre el format d’aquests fitxers. � Si s’omet PRIMER o INCREMENT, es pren 1 per defecte. És a dir, un INCREMENT omés pren un valor per defecte d’1, fins i tot quan DARRER és menor que PRIMER. PRIMER, INCREMENT i DARRER s’interpreten com a números reals en coma flotant. INCREMENT sol ser positiu si PRIMER és menor que DARRER, i sol ser negatiu si PRIMER és major que DARRER. � Si el MODE és «0», el flux corresponent no emprarà memòria intermèdia. � Si el MODE és «L», el flux corresponent emprarà una memòria intermèdia basada en línies. Aquesta opció no és vàlida per a l’entrada estàndard. � Si un dels FITXER és «-», el torna a copiar sobre l’eixida estàndard. � Si no s’indica cap ordre s’executa «${SHELL} -i» (per defecte «/bin/sh -i»). � Si l’entrada estàndard és un terminal, la redirigeix des de «/dev/null». Si l’eixida estàndard és un terminal, afegeix l’eixida si pot a «nohup.out», o a «$HOME/nohup.out» altrament. Si l’eixida estàndard d’errors és un terminal, la redirigeix cap a l’eixida estàndard. Per a capturar l’eixida en un FITXER, empreu «%s ORDRE > FITXER». � Si el primer caràcter d’N (nombre d’octets o línies) és un «+», escriu cada fitxer començant pel seu Nâ€Ã¨sim element, comptant des de l’inici; en altre cas, escriu els darrers N elements del fitxer. N pot portar un sufix multiplicador: GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, Y. � Propietats de l’entrada: [-]brkint Fa que les interrupcions de teclat generen senyals d’interrupció. [-]icrnl Tradueix els retorns de carro a noves línies. [-]ignbrk Descarta els caràcters d’interrupció. [-]igncr Descarta els retorns de carro. � Cada valor d’N pot estar seguit d’un dels sufixos multiplicatius següents (prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, Y. � DEF_CLAU indica les posicions d’inici i fi de la clau com a F[.C][OPCS][,F[.C][OPCS]], on F és un número de camp i C una posició de caràcter al camp, ambdues comptant des d’1. Si no s’indica «-t» ni «-b», els caràcters d’un camp es compten des de l’inici de l’espai en blanc que el precedeix. OPCS és una o més de les opcions d’ordenació «bdfgiMhnRrV», d’una única lletra, que tenen preferència sobre les opcions globals d’ordenació per a aquesta clau. Si no s’indica cap clau, s’empra la línia sencera com a clau. La MIDA pot anar seguida pels següents sufixs multiplicadors: � GPLv3+: llicència GNU GPL ver. 3 o posterior <http://gnu.org/licenses/gpl.html> Aquest és programari lliure: podeu modificarâ€lo i redistribuirâ€lo si voleu. No hi ha CAP GARANTIA, en la mesura que ho permeta la llei. � Propietats locals: [-]crterase Mostra els caràcters de retrocés com a retrocésâ€espaiâ€retrocés. * crtkill Esborra totes les línies d’acord amb «echoprt» i «echoe». * -crtkill Esborra totes les línies d’acord amb «echoctl» i «echok». � N i OCTETS poden anar seguits pels sufixos multiplicatius següents: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M, GB =1000*1000*1000, G =1024*1024*1024, i així per a T, P, E, Z, Y. Cada símbol de CONVERSIONS pot ser: � NOTA: Si l’ORDRE ajusta la memòria intermèdia dels seus fluxos estàndard (com fa «tee»), es descartaran els canvis realitzats per «stdbuf». A banda, alguns filtres (com «dd» i «cat») no empren fluxos d’E/S, i no es veuen afectats per «stdbuf». � NOTA: «[» té en compte les opcions «--help» i «--version», però «test» no. «test» les tracta com qualsevol altra CADENA no buida. � NOTA: Potser el vostre intèrpret d’ordres té la seua pròpia versió de «%s», que preval sobre la descrita ací. Per favor, consulteu a la documentació del vostre intèrpret quines opcions admet. � Teniu en compte que si empreu «rm» per a eliminar un fitxer, podria ser possible recuperarâ€ne alguns dels continguts, comptant amb l’experiència o el temps suficients. Si voleu estar més segurs de que els continguts esdevinguen realment irrecuperables, considereu emprar «shred». � Teniu en compte que les opcions «-d» i «-t» accepten formats de data i hora distints. � Tingueu en compte que les comparacions segueixen les regles especificades per LC_COLLATE. � NOTA: «uniq» no detecta les línies repetides, a no ser que vagen seguides. Potser desitgeu ordenar primer l’entrada, o emprar «sort -u» sense «uniq». Les comparacions segueixen les regles especificades per LC_COLLATE. � Un «-» opcional davant d’una PROPIETAT la nega. Un «*» marca les propietats noâ€POSIX. Les propietats disponibles venen determinades pel sistema subjaent. � Altrament, MODE és un número que pot anar seguit per un dels sufixos següents: KB 1000, K 1024, MB 1000*1000, M 1024*1024, i així per a G, T, P, E, Z, Y. En aquest cas el flux corresponent emprarà la mida de memòria intermèdia indicada pel MODE en octets. � Propietats de l’eixida: * bsN Estil del retard del retrocés, N en [0..1]. * crN Estil del retard del retorn de carro, N en [0..3]. * ffN Estil del retard del salt de pàgina, N en [0..1]. * nlN Estil del retard de la nova línia, N en [0..1]. � El propietari es manté si no s’especifica. El grup també es manté si no s’especifica, però és canviat al grup d’entrada si s’indica un «:» darrere del PROPIETARI simbòlic. El PROPIETARI i el GRUP poden ser tant numèrics com simbòlics. � Mostra el valor de l’EXPRESSIÓ a l’eixida estàndard. A sota, una línia en blanc separa grups amb precedència creixent. L’EXPRESSIÓ pot ser: ARG1 | ARG2 ARG1 si no és nul ni 0, ARG2 altrament. ARG1 & ARG2 ARG1 si cap argument és nul ni 0, 0 altrament. � Si FITXER és «-», llegeix l’entrada estàndard. Cada PATRÓ pot ser: � Informeu dels errors de «%s» a %s. � Informeu dels errors a <%s>. Informeu dels errors de traducció a <ca@dodds.net>. � Cada JOC s’especifica com a una cadena de caràcters. La majoria d’ells es representen literalment. Les seqüències que s’interpreten són: \NNN Caràcter amb valor octal NNN (d’1 a 3 dígits octals). \\ Barra invertida. \a Alarma (BEL). \b Retrocés. \f Salt de pàgina. \n Nova línia. \r Retorn de carro. \t Tabulació horitzontal. � SENYAL pot ser un nom de senyal com «HUP», un número de senyal com «1», o l’estat d’eixida d’un procés finalitzat per un senyal. PID és un número enter; si és negatiu identifica un grup de processos. � MIDA és un enter amb una unitat opcional (per exemple: 10M és 10*1024*1024). Les unitats són K, M, G, T, P, E, Z, Y (potències de 1024) o KB, MB, GB, TB, PB, EB, ZB, YB (potències de 1000). � La MIDA pot anar prefixada per un caràcter modificador relatiu. Així, «+» augmenta en MIDA, «-» redueix en MIDA, «<» marca una MIDA màxima, «>» marca una MIDA mínima, «/» arrodoneix cap avall a un múltiple de MIDA, «%» arrodoneix cap amunt a un múltiple de MIDA. � Enviar un senyal %s a un procés «dd» en marxa fa que mostre una estadística d’entrada/eixida a l’eixida estàndard d’errors, i que després continue copiant. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 registres llegits 18335302+0 registres escrits 9387674624 octets (9,4 GB) copiats, 34,6279 segons, 271 MB/s Les opcions són: � Caràcters especials: * dsusp CAR El caràcter CAR enviarà un senyal d’aturada de terminal una volta s’haja buidat l’entrada. eof CAR CAR enviarà un final de fitxer (que acaba l’entrada). eol CAR CAR acabarà la línia. � Propietats especials: N Estableix la velocitat d’entrada i eixida a N bauds. * cols N Anuncia al nucli que el terminal té N columnes. * columns N Equival a «cols N». � El sufix de còpia de seguretat és «~», si no s’estableix amb «--suffix» o amb la variable SIMPLE_BACKUP_SUFFIX. El mètode de control de versions es pot establir amb l’opció «--backup» o fent servir la variable d’entorn VERSION_CONTROL. Es poden emprar aquests valors: � Les dades són codificades seguint l’alfabet base 64 de l’RFC 3548. En descodificar, l’entrada pot contenir caràcters de nova línia a banda dels octets de l’alfabet base 64 formal. Empreu «--ignore-garbage» per a provar de tolerar altres octets no alfabètics en el flux codificat. � Les opcions següents modifiquen la forma de recórrer una jerarquia quan s’haja especificat també l’opció «-R». Si se n’especifica més d’una, només la darrera d’elles tindrà efecte. -H Si un argument de la línia d’ordres és un ellaç simbòlic cap a un directori, aquest serà recorregut. -L Es seguirà qualsevol enllaç que es trobe que apunte cap a un directori. -P No es seguirà cap enllaç simbòlic (per defecte). � Les tres opcions següents només són útils per a la comprovació de sumes: --quiet No escriu «CORRECTE» per cadascun dels fitxers verificats amb èxit. --status No escriu res, el codi d’estat indica el resultat. -w, --warn Avisa de les línies de suma amb un format incorrecte. � El càlcul de les sumes es realitza com es descriu al document %s. A les comprovacions, l’entrada hauria de ser una sortida anterior d’aquest mateix programa. Per defecte escriu una línia amb la suma de verificació, un caràcter indicant el mode d’entrada («*» per a binari, « » per a text), i el nom de cada FITXER. � Seqüències de format vàlides per als fitxers (és a dir, sense «--file-system»): %a Permisos d’accés en octal. %A Permisos d’accés en un format llegible per als humans. %b Nombre de blocs reservats (vegeu «%B»). %B Mida en octets de cada bloc mostrat per «%b». %C Cadena de context de seguretat de SELinux. � Per a eliminar un fitxer amb un nom que comence per «-», per exemple «-mec», empreu una d’aquestes ordres: %s -- -mec %s ./-mec � La traducció es produeix si no s’indica «-d» i ambdós JOC1 i JOC2 apareixen. Només es pot emprar «-t» quan es tradueix. El JOC2 s’expandeix a la llargada de JOC1 repetint el darrer caràcter tant com sigui necessari. Els caràcters sobrants del JOC2 es descarten. Només s’assegura una expansió ascendent per a les seqüències «[:lower:]» i «[:upper:]»; quan s’empren en JOC2 i s’estiga traduint, només es poden utilitzar en parelles respecte JOC1, especificant conversió de majúscules a minúscules (o a la inversa). «-s» empra el JOC1 si no s’està traduint ni suprimint; a la reducció s’empra el JOC2 i aquesta es produeix després de traduïr o suprimir. � Tret que especifiqueu «-t CARÀCTER», els separadors de camp són espais en blanc i no es tenen en compte; si no el separador és el CARÀCTER. Cada CAMP s’identifica amb un número, comptant des d’1. FORMAT és una especifiació, o diverses separades per espais o comes, del tipus «NUMFITXER.CAMP» o «0». El FORMAT per defecte escriu el camp d’unió, els camps restants del FITXER1 i els camps restants del FITXER2, tots separats pel CARÀCTER. Si el FORMAT és la paraula clau «auto», la primera línia de cada fitxer determina el nombre de camps escrits per cada línia. Important: FITXER1 i FITXER2 han d’estar ordenats per llurs camps d’unió. Per exemple, empreu «sort -k 1b,1» si «join» no rep cap opció, o «join -t ''» si «sort» no rep cap opció. Tingueu en compte que les comparacions segueixen les regles especificades per LC_COLLATE. Si l’entrada no es troba ordenada i no es poden emparellar algunes línies, es mostrarà un missatge d’avís. � Empreu exactament una de les opcions «-b», «-c» o «-f». Cada LLISTA consta d’un interval, o de diversos intervals separats per comes. L’entrada que és seleccionada és escrita en el mateix ordre en què és llegida, i és escrita una sola volta, exactament. � Per defecte, i amb «--color=never», no s’empren colors per a distingir els tipus dels fitxers. Amb «--color=auto», «ls» genera codis de color només quan l’eixida estàndard està connectada a un terminal. La variable d’entorn LS_COLORS permet canviar la configuració dels colors. Empreu l’ordre «dircolors» per a establir la variable. � Sense cap FITXER o si FITXER és «-», llegeix l’entrada estàndard. Per defecte s’empra «-F /». � Sense cap FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. � Sense opcions, produeix una eixida amb tres columnes. La primera conté les línies que només es troben al FITXER1, la segona les que només es troben al FITXER2, i la tercera les línies comunes a ambdós fitxers. � Sense cap OPCIÓ, mostra un conjunt útil d’informació d’identificació. � Escriu una representació inequívoca, d’octets en octal per defecte, del FITXER a la sortida estàndard. Amb diversos arguments FITXER, els concatena en l’ordre especificat per a formar l’entrada. Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. � Disponible només en sistemes on es puga canviar el propietari d’un enllaç simbòlic. � ???� --backup[=CONTROL] Crea una còpia de seguretat de cada fitxer destinació existent. -b Com «--backup», però no accepta cap argument. -f, --force No pregunta abans de sobreescriure. -i, --interactive Pregunta abans de sobreescriure. -n, --no-clobber No sobreescriu els fitxers existents. Si especifiqueu més d’una opció de «-i», «-f» o «-n», només la darrera tindrà efecte. � --backup[=CONTROL] Crea una còpia de seguretat de cada fitxer destinació existent. -b Com «--backup», però no accepta cap argument. -d, -F, --directory Crea enllaços forts cap als directoris (només per al superusuari). -d, -F, --directory Permet al superusuari provar de crear enllaços forts cap a directoris (nota: probablement fallarà fins i tot per al superusuari a causa de restriccions del sistema). -f, --force Elimina els fitxers destinació existents. � --backup[=CONTROL] Crea una còpia de seguretat de cada fitxer destinació existent. -b Com «--backup», però no accepta cap argument. -c (No es té en compte.) -C, --compare Compara cada parell de fitxers d’origen i destinació, i en alguns casos no modifica la destinació en absolut. -d, --directory Tracta tots els arguments com a noms de directori; crea tots els components de cada directori especificat. � --batch-size=NMESCLA Mescla com a molt NMESCLA entrades alhora; per a mesclarâ€ne més empra fitxers temporals. � --block-size=MIDA Escala les mides a la MIDA donada abans de mostrarâ€les. Per exemple, «-BM» mostra les mides en unitats de 1.048.576 octets. Vegeu el format de la MIDA a sota. -B, --ignore-backups No mostra les entrades implícites acabades en «~». -c Amb «-lt», ordena per (i mostra) la data de canvi (moment de la darrera modificació de la informació d’estat del fitxer). Amb «-l», mostra la data de canvi i ordena pel nom. Altrament, ordena per la data de canvi (primer el més nou). � --complement Complementa el conjunt d’octets, caràcters o camps escollits. � --debug Marca la part de la línia emprada per a ordenar, i avisa d’usos qüestionables a l’eixida estàndard d’errors. --files0-from=FITXER Llegeix l’entrada dels fitxers els noms dels quals es troben llistats al FITXER, acabats pel caràcter NUL. Si el FITXER és «-», llegeix els noms de l’entrada estàndard. � --dereference Afecta el fitxer apuntat per cada enllaç simbòlic (per defecte), en lloc del propi enllaç simbòlic. -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc dels fitxers apuntats. � --files0-from=FITXER Llegeix l’entrada dels fitxers els noms dels quals es troben llistats al FITXER, acabats pel caràcter NUL. Si el FITXER és «-», llegeix els noms de l’entrada estàndard. -L, --max-line-length Escriu la longitud de la línia més llarga. -w, --words Escriu el nombre de paraules. � --from=PROPIETARI_ACTUAL:GRUP_ACTUAL Canvia el propietari o grup de cada fitxer només si el seu propietari o grup actual coincideix amb aquests. Es pot ometre qualsevol dels dos; en aqueix cas no caldrà que hi haja coincidència amb l’atribut omés. � --group-directories-first Agrupa els directoris abans dels fitxers. Accepta l’opció «--sort», però «--sort=none» (-U) inhabilita l’agrupament. � --help Mostra aquesta ajuda i surt. � --indicator-style=PARAULA Afegeix un indicador amb l’estil PARAULA als noms de les entrades: none (per defecte), slash (-p), file-type (--file-type), classify (-F). -i, --inode Mostra el número de node índex de cada fitxer. -I, --ignore=PATRÓ No llista les entrades implícites que coincideixen amb el PATRÓ d’intèrpret indicat. -k, --kibibytes Empra blocs de 1024 octets. � -l, --lookup Prova de fer canònics els noms d’estació via DNS. -m Només mostra el nom d’estació i usuari associats amb l’entrada estàndard. -p, --process Mostra els processos actius llançats per «init». � --no-preserve-root No tracta «/» de forma especial. --preserve-root No elimina «/» (per defecte). -r, -R, --recursive Elimina recursivament els directoris i llurs continguts. -d, --dir Elimina els directoris buits. -v, --verbose Explica què s’està fent. � --no-preserve-root No tracta «/» de forma especial (per defecte). --preserve-root Falla en operar recursivament sobre «/». � --no-preserve=LLISTA_ATRIBUTS No preserva els atributs indicats. --parents Crea el camí complet del fitxer origen sota el directori destinació. � --one-file-system En eliminar una jerarquia recursivament, evita els directoris que estan en un sistema de fitxers diferent al de l’argument corresponent de la línia d’ordres. � --pid=PID Amb «-f», finalitza després que el procés identificat per aquest PID mori. -q, --quiet, --silent Omet les capçaleres amb els noms dels fitxers. --retry Continua intentant obrir un fitxer fins i tot si és o esdevé inaccessible; només és útil en seguir la pista d’un nom, és a dir, amb «--follow=NOM». � --preserve-context Preserva el context de seguretat de SELinux. -Z, --context=CONTEXT Estableix el context de seguretat de SELinux dels fitxers i directoris. � --reference=FITXREF Empra el grup del fitxer FITXREF en lloc del valor especificat de GRUP. � --reference=FITXREF Empra el mode de FITXREF en lloc dels valors de MODE. � --reference=FITXREF Empra el propietari i grup del fitxer FITXERF en lloc dels valors especificats de PROPIETARI:GRUP. � --reference=FITXREF Empra el context de seguretat del fitxer FITXREF en lloc del valor especificat de CONTEXT. � --rfc-3339=PRECISIÓ Mostra la data en format RFC 3339 fins a la PRECISIÓ indicada: «date» (només la data), «seconds» (segons) o «ns» (nanosegons). La data i l’hora estan separats per un sol espai: 2006-08-07 12:34:56-06:00 -s, --set=CADENA Estableix la data descrita a la CADENA. -u, --utc, --universal Mostra o estableix el Temps Universal Coordinat. � --sort=PARAULA Ordena d’acord amb la PARAULA (equival a l’opció entre parèntesis): numèric general amb «general-numeric» (-g), numèric humà amb «human-numeric» (-h), mes amb «month» (-M), numèric amb «numeric» (-n), aleatori amb «random» (-R). -V, --version-sort Ordena pel número (de versió) inclós al nom. � --sparse=QUAN Controla la creació de fitxers dispersos (vegeu a sota). --strip-trailing-slashes Elimina la barra final (si n’hi ha) de cada argument ORIGEN. � --strict Amb «--check», ix amb un codi d’error diferent de zero si es troben línies d’entrada amb un format incorrecte. � --strip-trailing-slashes Elimina la barra final (si n’hi ha) de cada argument ORIGEN. -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de seguretat. � --suffix=SUFIX Afegeix el SUFIX a la PLANTILLA. El SUFIX no ha de contenir cap barra. Aquesta opció és implícita si la PLANTILLA no acaba en «X». � --tag Crea una suma de verificació a l’estil de BSD. � --time-style=ESTIL Amb «-l», mostra les dates emprant l’ESTIL indicat: full-iso, long-iso, iso, locale, +FORMAT; FORMAT s’interpreta com en «date»; si FORMAT és «FORMAT1<nova línia>FORMAT2», FORMAT1 s’aplica als fitxers no recents i FORMAT2 als recents; si es prefixa l’ESTIL amb «posix-», només s’empra l’ESTIL si el locale POSIX no es troba actiu. � --tmpdir[=DIRECTORI] Interpreta la PLANTILLA com a relativa al DIRECTORI. Si aquest no s’indica, empra $TMPDIR si està establerta, o «/tmp» altrament. Si empreu aquesta opció no cal que la PLANTILLA siga un camí absolut. A diferència de «-t» la PLANTILLA pot contenir barres, però «mktemp» només en crea el component final. � --verbose Mostra un missatge abans d’obrir cada fitxer de sortida. � --version Mostra informació sobre la versió i surt. � --all Mostra el nombre de processados instaÅ€lats al sistema. --ignore=N Exclou N unitats de processament si és possible. � -evenp Equival a «-parenb cs8». * [-]lcase Equival a «xcase iuclc olcuc». litout Equival a «-parenb -istrip -opost cs8». -litout Equival a «parenb istrip opost cs7». nl Equival a «-icrnl -onlcr». -nl Equival a «icrnl -inlcr -igncr onlcr -ocrnl -onlret». � [-]cstopb Empra dos bits d’aturada per caràcter (només un amb «-»). [-]hup S’envia un senyal de penjat quan el darrer procés tanque el terminal. [-]hupcl Equival a «[-]hup». [-]parenb Genera un bit de paritat a l’eixida i n’espera un a l’entrada. [-]parodd Empra paritat senar (parella amb «-»). � [-]ignpar Descarta els caràcters amb error de paritat. * [-]imaxbel Xiula i no buida un bloc de memòria intermèdia d’entrada ple quan arriba un caràcter. [-]inlcr Tradueix les noves línies en retorns de carro. [-]inpck Habilita la comprovació de paritat de l’entrada. [-]istrip Posa a zero el bit alt (8é) dels caràcters d’entrada. � [-]isig Habilita els caràcters especials d’interrupció, eixida i aturada de terminal. [-]noflsh Inhabilita el buidat després d’haver rebut els caràcters especials d’interrupció i eixida. * [-]prterase Equival a «[-]echoprt». * [-]tostop Para els processos de fons que intenten escriure al terminal. * [-]xcase Amb «icanon», escapa amb «\\» les majúscules. � cooked Posa a llurs valors per defecte els caràcters: brkint ignpar istrip icrnl ixon opost isig icanon eof eol. -cooked Equival a «raw». crt Equival a «echoe echoctl echoke». � dec Equival a «echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u». * [-]decctlq Equival a «[-]ixany». ek Posa a llurs valors per defecte els caràcters «kill» i «erase». evenp Equival a «parenb -parodd cs7». � ispeed N Estableix la velocitat d’entrada a N bauds. * line N Empra la disciplina de línia N. min N Amb «-icanon», caldran almenys N caràcters per a fer una lectura completa. ospeed N Estableix la velocitat d’eixida a N bauds. � oddp Equival a «parenb parodd cs7». -oddp Equival a «-parenb cs8». [-]parity Equival a «[-]evenp». pass8 Equival a «-parenb -istrip cs8». -pass8 Equival a «parenb istrip cs7». � raw Equival a «-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0» -raw Equival a «cooked». � sane Equival a «cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke», posant tots els caràcters especials a llurs valors per defecte. � stop CAR CAR aturarà l’eixida. susp CAR CAR enviarà un senyal d’aturada de terminal. * swtch CAR CAR canviarà a una capa d’intèrpret diferent. * werase CAR CAR esborrarà la darrera paraula escrita. � %% Un sol «%». %b L’ARGUMENT com a una cadena on s’interpreten les seqüències d’escapada amb barra invertida; tanmateix, les seqüències d’escapada octals hi tenen la forma «\0» o «\0NNN». i totes les especificacions de format C que acaben en un dels caràcters «diouxXfeEgGcs», on cada ARGUMENT serà convertit al tipus adequat. S’admeten les amplàries variables. � %A Dia de la setmana complet del locale, p. ex. «diumenge». %b Dia del mes abreujat del locale, p. ex. «gen». %B Dia del mes complet del locale, p. ex. «gener». %c Data i hora del locale, p. ex. «dj 03 mar 2005 23:05:25 CET». � %C Centúria, com «%Y» però sense els dos darrers dígits, p. ex. «20». %d Dia del mes, p. ex. «01». %D Format de data equivalent a «%m/%d/%y». %e Dia del mes reomplit amb blancs, equival a «%_d». � %F Data completa, equival a «%Y-%m-%d». %g Darrers dos dígits de l’any, segons el número ISO de la setmana (vegeu «%G»). %G Any, segons el número ISO de la setmana (vegeu «%V»); a sovint només és útil amb «%V». � %S Segon (00..60). %t Un caràcter de tabulació. %T Hora, equival a «%H:%M:%S». %u Dia de la setmana (1..7), on 1 és el dilluns. � %U Número de la setmana dins l’any, amb el diumenge com a primer dia de la setmana (00..53). %V Número ISO de la setmana, amb el dilluns com a primer dia de la setmana (01..53). %w Dia de la setmana (0..6), on 0 és el diumenge. %W Número de la setmana dins l’any, amb el dilluns com a primer dia de la setmana (00..53). � %d Número del dispositiu en decimal. %D Número del dispositiu en hexadecimal. %f Mode en brut, en hexadecimal. %F Tipus del fitxer. %g Identificador del grup del propietari. %G Nom del grup del propietari. � %h Nombre d’enllaços forts. %i Número del node índex. %m Punt de muntatge. %n Nom del fitxer. %N Nom entrecometat del fitxer, o del fitxer apuntat al cas d’un enllaç simbòlic. %o Indicació de la mida òptima d’E/S. %s Mida total, en octets. %t Número major de dispositiu, en hexadecimal. %T Número menor de dispositiu, en hexadecimal. � %h Equival a «%b». %H Hora (00..23). %I Hora (01..12). %j Dia de l’any (001..366). � %i Identificador del sistema de fitxers en hexadecimal. %l Longitud màxima dels noms de fitxer. %n Nom del fitxer. %s Mida del bloc (per a transferències més ràpides). %S Mida del bloc fonamental (per a recomptes de blocs). %t Tipus del sistema de fitxers en hexadecimal. %T Tipus del sistema de fitxers en un format llegible per als humans. � %k Hora reomplida amb blancs ( 0..23), equival a «%_H». %l Hora reomplida amb blancs ( 1..12), equival a «%_I». %m Mes (01..12). %M Minut (00..59). � %n Un caràcter de nova línia. %N Nanosegons (000000000..999999999). %p L’equivalent d’AM o PM del locale, buit si es desconeix. %P Com «%p», però en minúscules. %r Hora del rellotge de 12 hores del locale, p. ex. «11:11:04 PM» al locale C. %R Hora i minuts del rellotge de 24 hores, equival a «%H:%M». %s Segons des de l’1 de gener de 1970 a les 00:00:00 UTC. � %u Identificador d’usuari del propietari. %U Nom d’usuari del propietari. %w Data de naixement del fitxer en format llegible per als humans, «-» si es desconeix. %W Data de naixement del fitxer en segons des de l’Època, «0» si es desconeix. %x Data del darrer accés en format llegible per als humans. %X Data del darrer accés en segons des de l’Època. %y Data de la darrera modificació de les dades en format llegible per als humans. %Y Data de la darrera modificació de les dades en segons des de l’Època. %z Data del darrer canvi al node índex en format llegible per als humans. %Z Data del darrer canvi al node índex en segons des de l’Època. � %x Representació de la data del locale, p. ex. «31/12/99». %X Representació de l’hora del locale, p. ex. «23:13:48». %y Darrers dos dígits de l’any (00..99). %Y Any. � %z Zona horària numèrica «+hhmm», p. ex. «-0400». %:z Zona horària numèrica «+hh:mm», p. ex. «-04:00». %::z Zona horària numèrica «+hh:mm:ss», p. ex. «-04:00:00». %:::z Zona horària numèrica amb els «:» imprescindibles, p.ex. «-04» o «+05:30». %Z Abreviatura alfanumèrica de la zona horària, p. ex. «EDT». Per defecte, «date» reomple els camps numèrics amb zeros. � + COMPONENT Interpreta el COMPONENT com a una cadena, encara que siga una paraula clau com «match» o un operador com «/». ( EXPRESSIÓ ) Valor de l’EXPRESSIÓ. � +PRIM_PÀG[:ÚLT_PÀG], --pages=PRIM_PÀG[:ÚLT_PÀG] Comença [i acaba] la paginació en PRIM_PÀG [i ÚLT_PÀG]. -COLUMNES, --columns=COLUMNES Disposa el text en les COLUMNES indicades i les escriu en vertical, tret que especifiqueu «-a». Iguala el nombre de línies de les columnes de cada pàgina. � - +FORMAT (p.ex. «+%H:%M») per al format a l’estil de «date» � --output-delimiter=CADENA Separa les columnes amb la CADENA. � --userspec=USUARI:GRUP Usuari i grup a emprar (identificadors o noms). --groups=GRUPS Llista de grups suplementaris, com «g1,g2,…,gN». � -0, --null Acaba cada línia d’eixida amb un octet 0 en lloc d’un caràcter de nova línia. � -A, --auto-reference Escriu les referències generades automàticament. -G, --traditional Es comporta com el «ptx» de System V. -F, --flag-truncation=CADENA Empra la CADENA per a senyalar els truncaments de línia. � -C Llista les entrades en columnes. --color[=QUAN] Empra colors en l’eixida. QUAN pot ser «always» (sempre, per defecte), «never» (mai) o «auto» (automàtic). Més informació a sota. -d, --directory Llista les entrades dels directoris en lloc de llurs continguts, i no segueix els enllaços simbòlics. -D, --dired Genera eixida preparada per al mode «dired» d’Emacs. � -D Crea tots els components que porten a la DESTINACIÓ excepte el darrer, i còpia ORIGEN a DESTINACIÓ. -g, --group=GRUP Estableix la propietat de grup a GRUP, en comptes d’emprar el grup actual del procés. -m, --mode=MODE Estableix els permisos a MODE (com fa «chmod»), en lloc d’emprar «rwxr-xr-x». -o, --owner=OWNER Estableix el propietari (només per al superusuari). � -D, --all-repeated[=MÈTODE_DELIMITACIÓ] Escriu totes les línies duplicades, delimitant els grups segons el MÈTODE: «none» (per defecte) no els separa; «prepend» els prefixa i «separate» els separa amb una línia buida. -f, --skip-fields=N Evita la comparació dels primers N camps. -i, --ignore-case No té en compte les diferències entre majúscules i minúscules. -s, --skip-chars=N Evita la comparació dels primers N caràcters. -u, --unique Només escriu les línies que són úniques. -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de nova línia. � -D, --date-format=FORMAT Formata la data de la capçalera emprant aquest FORMAT. -e[CARÀCTER[NÚMERO]], --expand-tabs[=CARÀCTER[NÚMERO]] Converteix cada CARÀCTER de l’entrada en NÚMERO espais a l’eixida (per defecte CARÀCTER és la tabulació i NÚMERO és 8). -F, -f, --form-feed Empra un salt de pàgina, en lloc de caràcters de nova línia, per a separar cada pàgina (es separen amb una capçalera de 3 línies amb l’opció «-F»; amb 5 línies de capçalera i 5 de cua sense «-F»). � -G, --no-group Amb «-l», no mostra els noms de grup. -h, --human-readable Amb «-l», mostra les mides en un format llegible per als humans (per exemple: 1K 234M 2G). --si El mateix, però empra potències de 1000, no de 1024. � -H, --dereference-command-line Segueix els enllaços simbòlics que es troben a la línia d’ordres. --dereference-command-line-symlink-to-dir Segueix els enllaços simbòlics que es troben a la línia d’ordres i apunten cap a un directori. --hide=PATRÓ No mostra les entrades implícites que coincideixen amb el PATRÓ d’intèrpret indicat (inhabilitada per les opcions «-a» i «A»). � -I Pregunta una volta abans d’eliminar més de tres fitxers, en eliminar recursivament. No tan molesta com «-i», continua protegint contra la majoria dels errors. --interactive[=QUAN] Pregunta d’acord amb el QUAN, que pot ser «never», «once» o «always» (mai, una volta com a «-I» o sempre com a «-i»). Si no s’indica, pregunta sempre. � -L FITXER El FITXER existeix i és un enllaç simbòlic (equival a «-h»). -O FITXER El FITXER existeix i pertany a l’usuari efectiu. -p FITXER El FITXER existeix i és una canonada amb nom. -r FITXER El FITXER existeix i té permís de lectura. -s FITXER El FITXER existeix i la seua mida és major que zero. � -L, --logical Empra la variable d’entorn PWD, encara que continga enllaços simbòlics. -P, --physical Evita els enllaços simbòlics. � -M, --macro-name=CADENA Nom del macro a emprar en lloc de «xx». -O, --format=roff Genera la sortida com a directives de «roff». -R, --right-side-refs Posa les referències a la dreta, i «-w» no les té en compte. -S, --sentence-regexp=EXPREG Identifica els finals de línia o de frase fent servir l’expressió regular indicada. -T, --format=tex Genera la sortida com a directives de TeX. � -R, --recursive Canvia recursivament fitxers i directoris. � -R, --recursive Opera recursivament sobre fitxers i directoris. � -R, -r, --recursive Còpia recursivament els directoris. --reflink[=QUAN] Controla la realització de còpies en escriure (CoW) o clonacions (vegeu a sota). --remove-destination Elimina cada fitxer destinació existent abans d’intentar obrirâ€lo (no després, com fa «--force»). � -S Ordena les entrades per la seua mida. --sort=CLAU Ordena en base a la CLAU indicada en lloc d’emprar el nom: none (-U), extension (-X), size (-S), time (-t), version (-v). --time=DATA Amb «-l», mostra la DATA indicada en lloc de la de modificació (equival a l’opció entre parèntesis): accés amb «atime», «access» o «use» (-u), canvi amb «ctime» o «status» (-c); amb «--sort=time» s’ordenarà en base a aquesta data. � -S FITXER El FITXER existeix i és un connector. -t DF El descriptor de fitxer DF és obert en un terminal. -u FITXER El FITXER existeix i té activat el bit d’establiment de l’ID d’usuari. -w FITXER El FITXER existeix i té permís d’escriptura. -x FITXER El FITXER existeix i té permís d’execució (o de cerca). � -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de seguretat. -t, --target-directory=DIRECTORI Especifica el DIRECTORI on crear els enllaços. -T, --no-target-directory Sempre tracta NOM_ENLLAÇ com a un fitxer normal. -v, --verbose Mostra el nom de cada fitxer enllaçat. � -S, --sep-string[=CADENA] Separa les columnes amb aquesta CADENA; si no s’empra «-S» i sí s’empra «-J» el separador per defecte és la tabulació, altrament és l’espai (equival a «-S" "»). Aquesta opció no té efecte sobre les opcions de columna. -t, --omit-header Omet les capçaleres i cues de pàgina. � -T, --omit-pagination Omet les capçaleres i cues de pàgina, i elimina tota paginació amb salts de pàgina que es trobe als fitxers de l’entrada. -v, --show-nonprinting Empra la notació de seqüència d’escapada en octal amb barra invertida. -w, --width=AMPLADA_PÀG Defineix l’amplada de pàgina a AMPLADA_PÀG caràcters només per a la paginació per columnes (per defecte AMPLADA_PÀG és 72); l’opció «-s[CARÀCTER]» inhabilita l’amplada de pàgina per defecte. � -T, -w, --mesg Inclou l’estat de missatges dels usuaris com a «+», «-» o «?». -u, --users Llista els usuaris connectats. --message Equival a «-T». --writable Equival a «-T». � -W, --page-width=AMPLADA_PÀG Defineix l’amplada de pàgina a AMPLADA_PÀG caràcters sempre (per defecte AMPLADA_PÀG és 72), truncant les línies excepte si empreu l’opció «-J»; no interfereix amb les opcions «-S» o «-s». � -W, --word-regexp=EXPREG Identifica les paraules clau fent servir l’expressió regular idicada. -b, --break-file=FITXER El FITXER conté els caràcters separadors de les paraules clau. -f, --ignore-case Passa a majúscules per a ordenar. -g, --gap-size=NÚMERO Mida (en columnes) de la separació entre els camps de la sortida. -i, --ignore-file=FITXER El FITXER conté una llista de paraules que mai seran preses com a paraules clau. -o, --only-file=FITXER El FITXER conté una llista de les úniques paraules que seran preses com a paraules clau. � -Z, --context=CTX Estableix el context de seguretat de SELinux de cada fitxer NOM a CTX. � -Z, --context=CTX Estableix el context de seguretat de SELinux de cada canonada NOM a CTX. � -a Només canvia la data d’accés. -c, --no-create No crea cap fitxer. -d, --date=CADENA Interpreta la CADENA i l’empra en lloc de la data actual. -f (No es té en compte.) � -a, --across Escriu les columnes de través en lloc de verticalment, emprat juntament amb -COLUMNES. -c, --show-control-chars Empra la notació «^G» i la notació de seqüència d’escapada en octal amb barra invertida. -d, --double-space Escriu el text amb espaiat doble. � -a, --all No passa per alt les entrades que comencen amb «.». -A, --almost-all No llista els directoris implícits «.» i «..». --author Amb «-l», mostra l’autor de cada fitxer. -b, --escape Mostra seqüències d’escapada a l’estil de C per als caràcters no gràfics. � -a, --all Inclou els sistemes de fitxers virtuals. -B, --block-size=MIDA Escala les mides a la MIDA donada abans de mostrarâ€les. Per exemple, «-BM» mostra les mides en unitats de 1.048.576 octets. Vegeu el format de la MIDA a sota. --total Produeix un recompte total. -h, --human-readable Mostra les mides en un format llegible per als humans (per exemple: 1K 234M 2G). -H, --si El mateix, però empra potències de 1000, no de 1024. � -a, --all Converteix tots els espais en blanc, no només els que es troben a principi de línia. --first-only Només converteix les seqüències d’espais en blanc que es troben a principi de la línia (inhabilita «-a»). -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en lloc de 8 (habilita «-a»). -t, --tabs=LLISTA Especifica una llista de posicions explícites per cada tabulació, separades per comes (habilita «-a»). � -a, --archive Equival a «-dR --preserve=all». --attribute-only No còpia les dades dels fitxers, només els atributs. --backup[=CONTROL] Crea una còpia de seguretat de cada fitxer destinació existent. -b Com «--backup», però no accepta cap argument. --copy-contents Còpia el contingut dels fitxers especials quan s’actua recursivament. -d Equival a «--no-dereference --preserve=links». � -a, --multiple Admet múltiples arguments i tracta cadascun d’ells com a un NOM. -s, --suffix=SUFIX Elimina el SUFIX del darrere. -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova línia per a separar els resultats. � -a, --suffix-length=N Genera sufixs de longitud N (per defecte %d). --additional-suffix=SUFIX Afegeix un SUFIX addicional als noms de fitxer. -b, --bytes=MIDA Escriu MIDA octets per fitxer. -C, --line-bytes=MIDA Escriu com a molt MIDA octets de línies senceres per cada fitxer d’eixida. -d, --numeric-suffixes[=INICI] Empra sufixs numèrics en lloc d’alfabètics, començant pel valor d’INICI indicat (per defecte 0). -e, --elide-empty-files No genera fitmers d’eixida buits amb «-n». --filter=ORDRE Escriu a l’ORDRE de l’intèrpret indicada; el nom del fitxer es trobarà a $FILE. -l, --lines=NOMBRE Escriu aquest NOMBRE de línies per fitxer. -n, --number=TROSSOS Genera els TROSSOS com s’indica (vegeu a sota). -u, --unbuffered Còpia immediatament l’entrada a l’eixida en emprar «-n r/…». � -b, --before Posa el separador abans, i no després. -r, --regexp Interpreta el separador com a una expressió regular. -s, --separator=CADENA Empra la CADENA com a separador en lloc del caràcter de nova línia. � -b, --binary Llegeix en mode binari. � -b, --binary Llegeix en mode binari (per defecte, excepte quan es llegeix l’entrada estàndard d’un terminal). � -b, --body-numbering=ESTIL Enumera les línies del cos segons l’ESTIL. -d, --section-delimiter=CC Empra CC per a separar les pàgines lògiques. -f, --footer-numbering=ESTIL Enumera les línies del peu segons ESTIL. � -b, --bytes Compta octets, i no columnes. -s, --spaces Només parteix les línies als espais. -w, --width=AMPLADA Indica el nombre de columnes, en lloc de 80. � -b, --bytes=LLISTA Només selecciona aquests octets. -c, --characters=LLISTA Només selecciona aquests caràcters. -d, --delimiter=DELIM Empra DELIM en lloc de la tabulació com a delimitador de camp. � -b, --ignore-leading-blanks No té en compte els espais en blanc inicials. -d, --dictionary-order Només té en compte els espais en blanc i els caràcters alfanumèrics. -f, --ignore-case Converteix a majúscules. � -b, --suffix-format=FORMAT Empra aquest FORMAT d’sprintf() en lloc de «%02d». -f, --prefix=PREFIX Empra aquest PREFIX en lloc de «xx». -k, --keep-files No elimina els fitxer generats, en cas d’error. � -c, --format=FORMAT Empra el FORMAT especificat en lloc de l’emprat per defecte, i afegeix un caràcter de nova línia després de cada ús del FORMAT. --printf=FORMAT Com «--format», però interpreta les seqüències d’escapada amb barres invertides, i no afegeix un caràcter de nova línia al final. Si en voleu un, incloeu «\n» al FORMAT. -t, --terse Mostra la informació de forma pelada. � -c, --bytes=N Escriu els darrers N octets; també podeu emprar «-c +N» per a mostrar els octets a partir de l’octet Nâ€Ã¨sim de cada fitxer. � -c, --bytes=[-]N Escriu els N primers octets de cada fitxer; amb un «-» al davant, escriu tots els octets de cada fitxer exceptuantâ€ne els darrers N. -n, --lines=[-]N Escriu les primeres N línies en lloc de les primeres 10; amb un «-» al davant, escriu totes les línies de cada fitxer exceptuantâ€ne les darreres N. � -c, --changes Com «--verbose», però només informa quan es fa un canvi. -f, --silent, --quiet No mostra la majoria de missatges d’error. -v, --verbose Mostra un missatge per cada fitxer processat. � -c, --check Llegeix i comprova la suma %s de cada FITXER. � -c, --check, --check=diagnose-first Comprova si l’entrada està ordenada; no ordena. -C, --check=quiet, --check=silent Com «-c», però no informa de si la primera línia es troba fora d’ordre. --compress-program=PROGRAMA Comprimeix els fitxers temporals amb el PROGRAMA, els descomprimeix amb «PROGRAMA -d». � -c, --count Prefixa cada línia amb el nombre d’ocurrències. -d, --repeated Només escriu les línies duplicades. � -c, --crown-margin Preserva la indentació de les dues primeres línies. -p, --prefix=CADENA Només combina les línies que tenen la CADENA com a prefix, tornantâ€la a posar al principi de les línies reformatades. -s, --split-only Només separa les línies llargues, no combina les línies curtes. � -c, --no-create No crea cap fitxer. � -d, --decode Descodifica les dades. -i, --ignore-garbage En descodificar, passa per alt els caràcters no alfabètics. -w, --wrap=COLS Ajusta la longitud de les línies codificades al valor indicat (per defecte 76). Empreu 0 per a no ajustar. � -d, --delimiters=LLISTA Empra els caràcters de la LLISTA, en lloc de tabulacions. -s, --serial Processa cada fitxer de cop, i no en paraÅ€lel. � -d, --directory Crea un directori en lloc d’un fitxer. -u, --dry-run No crea res, només mostra un nom (insegur). -q, --quiet No mostra els missatges d’error durant la creació del fitxer o directori. � -e Habilita la interpretació de seqüències d’escapada amb barra invertida. -E Inhabilita la interpretació de seqüències d’escapada amb barra invertida (per defecte). � -e Habilita la interpretació de seqüències d’escapada amb barra invertida (per defecte). -E Inhabilita la interpretació de seqüències d’escapada amb barra invertida. � -e, --canonicalize-existing Comprova que tots els components del camí existeixen. -m, --canonicalize-missing No comprova que tots els components del camí existeixen. -L, --logical Resol els components «..» abans que els enllaços simbòlics. -P, --physical Resol els enllaços simbòlics segons es van trobant (per defecte). -q, --quiet No mostra la majoria de missatges d’error. --relative-to=FITXER Mostra els camins resolts en relació al FITXER. --relative-base=FITXER Mostra camins absoluts excepte si es troben sota el FITXER. -s, --strip, --no-symlinks No resol els enllaços simbòlics. -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova línia per a separar els resultats. � -e, --echo Tracta cada argument com a una línia d’entrada. -i, --input-range=INF-SUP Tracta cada número des d’INF fins a SUP com a una línia d’entrada. -n, --head-count=LÃNIES Escriu com a molt tantes LÃNIES com s’indica. -o, --output=FITXER Escriu el resultat al FITXER en lloc de l’eixida estàndard. --random-source=FITXER Obté octets aleatoris del FITXER. -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de nova línia. � -f No ordena, activa «-aU» i desactiva «-ls --color». -F, --classify Afegeix un caràcter identificador del tipus d’entrada (un de «*/=>@|»). --file-type Similar a l’anterior, però no afegeix «*». --format=PARAULA Cada PARAULA equival a l’(opció): across (-x), commas (-m), horizontal (-x), long (-l), single-column (-1), verbose (-l), vertical (-C). --full-time Equival a «-l --time-style=full-iso». � -f Omet la línia de capçaleres de columna al format curt. -w Omet el nom complet de l’usuari al format curt. -i Omet el nom complet i l’estació remota de l’usuari al format curt. -q Omet el nom complet, l’estació remota i el temps d’inactivitat (ociós) al format curt. � -f Equival a «-t fF», números reals en coma flotant. -i Equival a «-t dI», enters en decimal. -l Equival a «-t dL», enters llargs en decimal. -o Equival a «-t o2», enters de 2 octets en octal. -s Equival a «-t d2», enters de 2 octets en decimal. -x Equival a «-t x2», enters de 2 octets en hexadecimal. � -f FITXER El FITXER existeix i és un fitxer ordinari. -g FITXER El FITXER existeix i té activat el bit d’establiment de l’ID de grup. -G FITXER El FITXER existeix i pertany al grup efectiu. -h FITXER El FITXER existeix i és un enllaç simbòlic (equival a «-L»). -k FITXER El FITXER existeix i té activat el bit de permanença. � -f, --canonicalize Prova de trobar el nom canònic seguint recursivament cada enllaç simbòlic de cada component del camí indicat; cal que existesquen tots els components del camí excepte el darrer. -e, --canonicalize-existing Prova de trobar el nom canònic seguint recursivament cada enllaç simbòlic de cada component del camí indicat; cal que existesquen tots els components del camí. � -f, --fields=LLISTA Només selecciona aquests camps; també escriu totes les línies que no continguen el caràcter delimitador, tret que s’especifique l’opció «-s». -n (No es té en compte.) � -f, --folow[={name|descriptor}] Escriu les dades a mesura que el fitxer creix; «-f», «--follow», i «--follow=descriptor» són equivalents. -F Equival a «--follow=name --retry». � -f, --force Canvia, si cal, els permisos per a permetre l’escriptura. -n, --iterations=N Sobreescriu N voltes en lloc del nombre per defecte (%d). --random-source=FITXER Obté octets aleatoris del FITXER. -s, --size=N Sobreescriu aquest nombre d’octets (s’accepten sufixos com «K», «M» i «G»). � -g Com «-l», però no mostra el propietari. � -g GID,[GID1,GID2…] Estableix també el grup primari al GID numèric i, si s’indiquen, els grups suplementaris a GID1, GID2… � -g, --general-numeric-sort Ordena segons el valor numèric general. -i, --ignore-nonprinting Només té en compte els caràcters imprimibles. -M, --month-sort Ordena per mesos en anglés: (desconegut) < JAN < … < DEC. � -h, --header-numbering=ESTIL Enumera les línies de la capçalera segons l’ESTIL. -i, --line-increment=NÚMERO Increment que es produeix per cada línia al compte de línies. -l, --join-blank-lines=NÚMERO Compta NÚMERO línies en blanc com a una. -n, --number-format=FORMAT Inserta els números de línia segons el FORMAT. -p, --no-renumber No reinicia el compte en cada pàgina lògica. -s, --number-separator=CADENA Escriu la CADENA al darrere del possible número de línia. � -h, --header=CAPÇALERA Escriu una CAPÇALERA centrada de pàgina, en lloc del nom del fitxer; «-h ""» escriu una línia en blanc, no empreu «-h""». -i[CARÀCTER[NÚMERO], --output-tabs[=CARÀCTER[NÚMERO]] Converteix cada grup de NÚMERO espais consecutius de l’entrada en un CARÀCTER a l’eixida (per defecte CARÀCTER és la tabulació i NÚMERO és 8). -J, --join-lines Ajunta les línies senceres, inhabilita el truncament de línies de l’opció «-W», no hi ha alineament de columna, i «--sep-string[=CADENA]» defineix els separadors. � -h, --human-numeric-sort Compara números en format llegible per als humans (p.ex. «2K» i «1G»). � -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc dels fitxers apuntats (disponible només en sistemes on es puguen canviar les dates d’un enllaç simbòlic). -m Només canvia la data de modificació de les dades. � -i, --ignore-case No té en compte les majúscules i minúscules en comparar els camps. -j CAMP Equival a «-1 CAMP -2 CAMP». -o FORMAT Empra el FORMAT per a construir la línia de sortida. -t CARÀCTER Empra el CARÀCTER com a separador dels camps d’entrada i de sortida. � -i, --initial Només converteix les tabulacions que es troben a prinicipi de línia. -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en lloc de 8. � -i, --inodes Llista informació sobre els nodes índex en lloc de sobre l’ús de blocs. -k Equival a «--block-size=1K». -l, --local Limita el llistat als sistemes de fitxers locals. --no-sync No invoca sync() abans d’obtenir la informació sobre l’ús (per defecte). � -i, --input=MODE Ajusta la memòria intermèdia de l’entrada estàndard. -o, --output=MODE Ajusta la memòria intermèdia de l’eixida estàndard. -e, --error=MODE Ajusta la memòria intermèdia de l’eixida estàndard d’errors. � -i, --interactive Pregunta si cal eliminar alguna destinació. -L, --logical Segueix cada DESTINACIÓ si és un enllaç simbòlic. -n, --no-dereference Tracta NOM_ENLLAÇ com si fóra un fitxer normal si és un enllaç simbòlic a un directori. -P, --physical Crea enllaços forts que apunten directament als enllaços simbòlics indicats. -r, --relative Crea enllaços simbòlics relatius a la seua pròpia ubicació. -s, --symbolic Crea enllaços simbòlics en lloc de forts. � -k, --key=DEF_CLAU Ordena d’acord amb una clau; DEF_CLAU n’indica la ubicació i el tipus. -m, --merge Mescla fitxers prèviament ordenats; no ordena. � -l Empra un format de llistat llarg. -L, --dereference En mostrar la informació de fitxer d’un enllaç simbòlic, mostra la informació del fitxer referit en lloc de la del propi fitxer. -m Plena a l’ample amb una llista d’entrades separades per comes. � -l, --length=LLARG_PÀG Defineix la llargada de pàgina en LLARG_PÀG (66) línies (per defecte hi ha 56 línies de text, 63 amb «-F»). -m, --merge Escriu els fitxers en paraÅ€lel, un en cada columna, amb truncament de línies, però ajuntant les que ocupen una línia sencera si s’empra l’opció «-J». � -l, --link Crea enllaços forts cap als fitxers en lloc de copiarâ€los. -L, --dereference Segueix sempre els enllaços simbòlics que es troben a l’ORIGEN. � -l, --login Mostra els processos d’entrada al sistema. � -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), en lloc de «a=rw» menys la umask. � -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), en lloc de «a=rwx» menys la umask. -p, --parents Crea els directoris pare necessaris, sense mostrar errors si aquests ja existeixen. --verbose Mostra un missatge per cada directori creat. -Z, --context=CTX Estableix el context de seguretat de SELinux de cada directori creat a CTX. � -n, --digits=DIGITS Empra el nombre de dígits especificat en lloc de 2. -s, --quiet, --silent No mostra la mida dels fitxers resultants. -z, --elide-empty-files Elimina els fitxers resultants que estan buits. � -n, --lines=N Escriu les darreres N línies, i no les darreres %d; també podeu emprar «-n +N» per a mostrar les línies a partir de la línia Nâ€Ã¨sima. --max-unchanged-stats=N Amb «--follow=NOM», reobre el FITXER que no ha canviat de mida després d’N iteracions (per defecte %d), per a veure si ha estat eliminat o reanomenat (com és el cas habitual dels fitxers de registre en ser rotats). Amb «inotify» aquesta opció no sol ser útil. � -n, --no-clobber No sobreescriu els fitxers existents (inhabilita una opció «-i» anterior). -P, --no-dereference No segueix mai els enllaços simbòlics que es troben a l’ORIGEN. � -n, --numeric-sort Ordena segons el valor numèric de la cadena. -R, --random-sort Ordena de forma aleatòria. --random-source=FITXER Obté octets aleatoris del FITXER. -r, --reverse Inverteix el resultat de l’ordenació. � -n, --numeric-uid-gid Com «-l», però llista els UID i GID numèricament. -N, --literal Mostra els noms de les entrades en brut (per exemple, sense tractar especialment els caràcters de control). -o Com «-l», però no mostra la informació de grup. -p, --indicator-style=slash Afegeix l’indicador «/» als directoris. � -n[SEPARADOR[DÃGITS]], --number-lines[=SEPARADOR[DÃGITS]] Numera les línies emprant DÃGITS dígits i un SEPARADOR a continuació, comptant per defecte des de la 1a línia del text (per defecte SEPARADOR és la tabulació i DÃGITS és 5). -N, --first-line-number=NÚMERO Comença la numeració amb NÚMERO a la 1a línia de la primera pàgina escrita (vegeu «+PRIM_PÀG»). � -o, --indent=MARGE Desplaça cada línia MARGE espais, sense afectar les opcions «-w» o «-W» en ús; el MARGE s’afegeix a AMPLADA_PÀG (per defecte MARGE és 0). -r, --no-file-warnings No avisa quan un fitxer no es pot obrir. � -o, --io-blocks Interpreta la MIDA com a un nombre de blocs d’E/S en lloc d’un nombre d’octets. � -o, --output=FITXER Escriu el resultat al FITXER i no a l’eixida estàndard. -s, --stable Dóna per acabada cada ordenació sense passar per la comparació emprada com a darrer recurs. -S, --buffer-size=MIDA Defineix la MIDA de la memòria intermèdia principal. � -p Equival a «--preserve=mode,ownership,timestamps». --preserve[=LLISTA_ATRIBUTS] Preserva els atributs indicats, si és possible (per defecte «mode», «ownership» (propietari) i «timestamps» (dates); atributs addicionals: «context», «links» (enllaços), «all» (tots). � -p DIRECTORI Empra el DIRECTORI com a prefix, implica «-t» (opció desaprovada). -t Interpreta la PLANTILLA com a un únic component de nom de fitxer relatiu al directori $TMPDIR, si està establerta, al directori indicat per «-p», o altrament a «/tmp» (opció desaprovada). � -p, --parents Elimina el DIRECTORI i els seus ascendents. Per exemple, l’ordre «rmdir -p a/b/c» és similar a l’ordre «rmdir a/b/c a/b a». -v, --verbose Mostra un missatge per cada directori processat. � -p, --preserve-timestamps Aplica les dates d’accés i modificació dels fitxers ORIGEN als fitxers destinació corresponents. -s, --strip Elimina les taules de símbols. --strip-program=PROGRAMA Programa a emprar per a eliminar els símbols. -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de seguretat. -t, --target-directory=DIRECTORI Còpia cada ORIGEN al DIRECTORI. -T, --no-target-directory Tracta la DESTINACIÓ com a un fitxer normal. -v, --verbose Mostra el nom de cada directori segons es van creant. � -q, --count Mostra els noms i el nombre total d’usuaris connectats. -r, --runlevel Mostra el nivell d’execució actual. -s, --short Només mostra el nom, línia i hora (per defecte). -t, --time Mostra el moment del darrer canvi del rellotge del sistema. � -q, --hide-control-chars Mostra «?» en lloc dels caràcters no gràfics. --show-control-chars Mostra els caràcters no gràfics tal qual (per defecte, a no ser que el programa siga «ls» i l’eixida siga un terminal). -Q, --quote-name Tanca els noms de les entrades entre cometes dobles. --quote-style=ESTIL Empra l’ESTIL indicat per a citar les paraules: literal, locale, shell, shell-always, c, escape. � -q, --quiet, --silent Omet les capçaleres amb els noms dels fitxers. -v, --verbose Sempre escriu les capçaleres amb els noms dels fitxers. � -r, --reference=FITXER Mostra la data de la darrera modificació del FITXER. -R, --rfc-2822 Mostra la data conforme a l’RFC 2822. Per exemple: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FITXER Empra les dates d’aquest FITXER en lloc de la data actual. -t DATA Empra la data [[CC]AA]MMDDhhmm[.ss] en lloc de la data actual. --time=PARAULA Modifica la data indicada per la PARAULA (equival a l’opció entre parèntesis): la d’accés amb «access», «atime» o «use» (-a); la de modificació amb «modify» o «mtime» (-m). � -r, --reference=FITXER Pren la mida del FITXER indicat. -s, --size=MIDA Estableix o ajusta la mida dels fitxers segons la MIDA. � -r, --references Pren el primer camp de cada línia com a una referència. -t, --typeset-mode (No es troba implementada.) -w, --width=NÚMERO Amplada (en columnes) de la sortida (excloentâ€ne la referència). � -r, --reverse Inverteix l’ordre. -R, --recursive Llista recursivament els subdirectoris. -s, --size Mostra la mida en blocs de cada fitxer. � -s, --only-delimited No escriu les línies que no continguen el caràcter delimitador. --output-delimiter=CADENA Empra la CADENA com a delimitador de sortida; per defecte s’utilitza el delimitador d’entrada. � -s, --signal=SENYAL, -SENYAL Especifica el nom o número del senyal a enviar. -l, --list Llista els noms dels senyals, o converteix els noms de senyals a números i a la inversa. -t, --table Mostra una taula amb informació sobre els senyals. � -s, --sleep-interval=N Amb «-f», cada iteració dura aproximadament N segons (per defecte 1.0). Amb «inotify» i «--pid=PID», es comprova el procés PID almenys una volta cada N segons. -v, --verbose Sempre escriu els noms dels fitxers. � -s, --symbolic-link Crea enllaços simbòlics cap als fitxers en lloc de copiarâ€los. -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de seguretat. -t, --target-directory=DIRECTORI Còpia tots els arguments ORIGEN al DIRECTORI. -T, --no-target-directory Tracta la DESTINACIÓ com a un fitxer normal. � -s[CARÀCTER], --separator[=CARÀCTER] Separa les columnes amb un únic CARÀCTER; aquest és per defecte una tabulació si no s’empra «-w» i cap caràcter quan s’empra «-w». «-s[CARÀCTER]» inhabilita el truncament de línia de totes les opcions de columna («-COLUMNES», «-a -COLUMNES» i «-m») tret que especifiqueu «-w». � -t Ordena per la data de modificació (primer el més nou). -T, --tabsize=COLUMNES Indica les COLUMNES entre tabulacions, en lloc de 8. � -t Equival a «-vT». -T, --show-tabs Mostra els caràcters de tabulació com a «^I». -u (No es té en compte.) -v, --show-nonprinting Empra la notació «^» i «M-», excepte per als caràcters de nova línia i per a les tabulacions. � -t, --field-separator=SEP Empra SEP com a separador de camp, en lloc de la transició de caràcter no blanc a blanc. -T, --temporary-directory=DIR Empra DIR com a directori temporal, en lloc de $TMPDIR o «%s»; se’n poden indicar més repetint l’opció. --parallel=N Estableix el nombre d’ordenacions concurrents a N. -u, --unique Amb «-c», comprova que l’ordenació és estricta; en cas contrari només escriu la primera d’aquelles entrades que resulten iguals. � -t, --tabs=LLISTA Especifica una llista de posicions explícites per cada tabulació, separades per comes. � -t, --tagged-paragraph La indentació de la primera línia és diferent de la de la segona. -u, --uniform-spacing Un espai entre paraules, dos entre frases. -w, --width=AMPLADA Indica l’AMPLADA màxima de la línia (per defecte 75 columnes). -g, --goal=AMPLADA Indica l’AMPLADA objectiu (per defecte un 93% ode l’amplada). � -t, --target-directory=DIRECTORI Mou cada argument ORIGEN al DIRECTORI. -T, --no-target-directory Tracta DESTINACIÓ com a un fitxer normal. -u, --update Només mou quan el fitxer ORIGEN és més nou que el fitxer destinació o quan el fitxer destinació no hi és. -v, --verbose Explica què s’està fent. � -t, --text Llegeix en mode text (per defecte quan es llegeix l’entrada estàndard d’un terminal). � -t, --text Llegeix en mode text (per defecte). � -u Amb «-lt», ordena per (i mostra) la data d’accés. Amb «-l», mostra la data d’accés i ordena pel nom. Altrament, ordena per la data d’accés. -U No ordena, mostra les entrades en l’ordre en què es troben al directori. -v Ordena pel número (de versió) inclós al nom. � -u, --remove Trunca i elimina el fitxer després de sobreescriure’l. -v, --verbose Mostra com progressa el procés. -x, --exact No arrodoneix les mides de fitxer al següent bloc complet; aquest és el comportament per defecte per als fitxers no ordinaris. -z, --zero Afegeix una passada final de sobreescriptura amb zeros per amagar la destrucció de les dades. � -u, --update Només còpia quan el fitxer ORIGEN és més nou que el fitxer destinació o quan aquest darrer no existeix. -v, --verbose Explica què s’està fent. -x, --one-file-system Es manté dins d’aquest sistema de fitxers. � -u, --user=USUARI Estableix l’USUARI del context de seguretat de la destinació. -r, --role=ROL Estableix el ROL del context de seguretat de la destinació. -t, --type=TIPUS Estableix el TIPUS del context de seguretat de la destinació. -l, --range=RANG Estableix el RANG del context de seguretat de la destinació. � -v NUMFITXER Com «-a NUMFITXER», però elimina les línies emparellades. -1 CAMP Uneix respecte aquest CAMP del fitxer 1. -2 CAMP Uneix respecte aquest CAMP del fitxer 2. --check-order Comprova si l’entrada es troba correctament ordenada, fins i tot si se’n poden emparellar totes les línies. --nocheck-order No comprova si l’entrada es troba correctament ordenada. --header Tracta la primera línea de cada fitxer com a capçaleres de camp, i les imprimeix sense provar d’emparellarâ€les. � -v, --kernel-version Mostra la versió del nucli. -m, --machine Mostra el tipus del maquinari. -p, --processor Mostra el tipus del processador («unknown» si es desconeix). -i, --hardware-platform Mostra la plataforma del maquinari («unknown» si es desconeix). -o, --operating-system Mostra el sistema operatiu. � -v, --starting-line-number=NÚMERO Primer NÚMERO de línia de cada pàgina lògica. -w, --number-width=NÚMERO Empra NÚMERO columnes per cada número de línia. � -v, --verbose Mostra un missatge per cada fitxer processat. � -w, --check-chars=N No compara més d’N caràcters per línia. � -w, --width=COLS Assumeix un altre ample de pantalla en lloc del valor actual. -x Llista les entrades en línies en lloc d’en columnes. -X Ordena alfabèticament segons l’extensió de cada entrada. -Z, --context Mostra el context de seguretat de SELinux de cada fitxer. -1 Llista un fitxer per línia. � -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova línia per a separar els resultats. � -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de nova línia. � Fitxer: «%n» ID: %-8i Longitud dels noms: %-7l Tipus: %T Mida del bloc: %-10s Mida del bloc fonamental: %S Blocs: Total: %-10b Lliures: %-10f Disponibles: %a Nodesâ€i: Total: %-10c Lliures: %d � Fitxer: %N Mida: %-10s Blocs: %-10b Bloc d’E/S: %-6o %F � Els processos en estat de parada ininterrompible també contribueixen a la càrrega mitjana. � [:graph:] Tots els caràcters imprimibles, excepte l’espai. [:lower:] Totes les lletres minúscules. [:print:] Tots els caràcters imprimibles, incloent l’espai. [:punct:] Tots els caràcters de puntuació. [:space:] Tots els espais en blanc verticals o horitzontals. [:upper:] Totes les lletres majúscules. [:xdigit:] Tots els dígits hexadecimals. [=CAR=] Tots els caràcters equivalents a CAR. � \0NNN Octet amb valor octal NNN (d’1 a 3 dígits). \xHH Octet amb valor hexadecimal HH (d’1 a 2 dígits). � \NNN Octet amb valor octal NNN (d’1 a 3 dígits). \xHH Octet amb valor hexadecimal HH (d’1 a 2 dígits). \uHHHH Caràcter Unicode (ISO/IEC 10646) amb valor hexadecimal HHHH (4 dígits). \UHHHHHHHH Caràcter Unicode amb valor hexadecimal HHHHHHHH (8 dígits). � \\ Barra invertida. \a Alarma (BEL). \b Retrocés. \c No produeix més eixida. \e Carpacter d’escapada. \f Salt de pàgina. \n Nova línia. \r Retorn de carro. \t Tabulació horitzontal. \v Tabulació vertical. � \v Tabulació vertical. CAR1-CAR2 Tots els caràcters en ordre ascendent entre CAR1 i CAR2. [CAR*] Al JOC2, còpies de CAR fins a arribar a la llargada de JOC1. [CAR*REP] REP còpies de CAR; REP és octal si comença amb 0. [:alnum:] Totes les lletres i dígits. [:alpha:] Totes les lletres. [:blank:] Tots els espais en blanc horitzontals. [:cntrl:] Tots els caràcters de control. [:digit:] Tots els dígits. � ascii D’EBCDIC a ASCII. ebcdic D’ASCII a EBCDIC. ibm D’ASCII a EBCDIC alternat. block Emplena amb espais cada registre acabat en nova línia fins que tinga la mida «cbs». unblock Substitueix els espais del final de cada registre de mida «cbs» per un caràcter de nova línia. lcase Transforma les majúscules en minúscules. ucase Transforma les minúscules en majúscules. sparse Prova de desplaçar l’eixida en lloc d’escriure per als blocs d’entrada plens de NUL. swab Intercanvia cada parell d’octets de l’entrada. sync Emplena cada bloc d’entrada amb NUL fins a la mida «ibs»; quan s’empra amb «block» o «unblock», emplena els blocs amb espais en lloc de NUL. � binary Empra E/S binària per a les dades. � cio Empra E/S concurrent per a les dades. � count_bytes tracta el valor de «count=N» com a una quantitat d’octets (només per a «iflag») � d[MIDA] Decimal amb signe, de MIDA octets com a enter. f[MIDA] Número real en coma flotant, de MIDA octets com a enter. o[MIDA] Octal, de MIDA octets com a enter. u[MIDA] Decimal sense signe, de MIDA octets com a enter. x[MIDA] Hexadecimal, de MIDA bytes com a enter. � direct Empra E/S directa per a les dades. � directory Falla si no és un directori. � dsync Empra E/S sincronitzada per a les dades. � excl Falla si el fitxer d’eixida ja existeix. nocreat No crea el fitxer d’eixida. notrunc No trunca el fitxer d’eixida. noerror Continua després d’un error de lectura. fdatasync Escriu físicament les dades del fitxer d’eixida abans de finalitzar. fsync El mateix, però també n’escriu les metadades. � fullblock Acumula blocs d’entrada sencers (símbol per a «iflag»). � if=FITXER Llegeix del FITXER en lloc de ferâ€ho de l’entrada estàndard. iflag=SENYALADOR Llegeix d’acord amb la llista de símbols separats per comes. obs=OCTETS Escriu aquest nombre d’OCTETS alhora (per defecte 512). of=FITXER Escriu al FITXER en lloc de ferâ€ho a l’eixida estàndard. oflag=SENYALADOR Escriu d’acord amb la llista de símbols separats per comes. seek=N Salta N blocs de mida «obs» al principi de l’eixida. skip=N Salta N blocs de mida «ibs» al principi de l’entrada. status=INFO Controla la informació mostrada en l’eixida estàndard d’errors: «noxfer» amaga l’estadística de la tranferència, «none» amaga tota la informació. � noatime No actualitza la data d’accés. � nocache Descarta les dades de la memòria cau. � noctty No assigna el fitxer com a terminal de control. � nofollow No segueix els enllaços simbòlics. � nolinks Falla si el fitxer té més d’un enllaç. � nonblock Empra E/S no blocadora. � none, off Mai fa còpies de seguretat (ni especificant «--backup»). numbered, t Fa còpies de seguretat numerades. existing, nil Fa còpies de seguretat numerades si ja n’existeixen, les fa simples en cas contrari. simple, never Fa còpies de seguretat simples sempre. � seek_bytes tracta el valor de «seek=N» com a una quantitat d’octets (només per a «oflag») � skip_bytes tracta el valor de «skip=N» com a una quantitat d’octets (només per a «iflag») � sync El mateix, però també per a les metadades. � text Empra E/S textual per a les dades. � %H:%M � (còpia de seguretat: %s)� * [-]ctlecho Mostra els caràcters de control amb notació d’accent circumflex («^c»). [-]echo Mostra els caràcters de l’entrada. * [-]echoctl Equival a «[-]ctlecho». [-]echoe Equival a «[-]crterase». [-]echok Mostra una nova línia després del caràcter d’esborrar línia. � * [-]echoke Equival a «[-]crtkill». [-]echonl Mostra les noves línies encara que no es mostren la resta dels caràcters. * [-]echoprt Mostra entre «\\» i «/» els caràcters esborrats amb el retrocés. [-]icanon Habilita els caràcters especials d’esborrar, esborrar línia, esborrar paraula i redibuixar. [-]iexten Habilita els caràcters especials noâ€POSIX. � * [-]iuclc Tradueix els caràcters en majúscula a minúscula. * [-]ixany Permet que qualsevol caràcter reinicie l’eixida, no només el caràcter definit amb «start». [-]ixoff Habilita l’enviament de caràcters d’inici/aturada. [-]ixon Habilita el control de flux amb XON/XOFF. [-]parmrk Marca els errors de paritat (amb la seqüència de caràcters 255â€0â€caràcter). [-]tandem Equival a «[-]ixoff» � * [-]iutf8 Assumeix que els caràcters d’entrada estan codificats fent servir UTF‑8. � * [-]ocrnl Tradueix els retorns de carro a noves línies. * [-]ofdel Empra per a reomplir caràcters d’esborrat en lloc de nuls. * [-]ofill Reomple amb caràcters en lloc d’esperar durant els retards. * [-]olcuc Tradueix els caràcters en minúscula a majúscula. * [-]onlcr Tradueix les noves línies a retorn de carro i nova línia. * [-]onlret Fa que la nova línia provoque un retorn de carro. � * [-]onocr No imprimeix retorns de carro a la primera columna. [-]opost Postprocessa l’eixida. * tabN Estil del retard de la tabulació horitzontal, N en [0..3]. * tabs Equival a «tab0». * -tabs Equival a «tab3». * vtN Estil del retard de la tabulació vertical, N en [0..1]. � * eol2 CAR CAR indica un caràcter alternatiu d’acabament de línia. erase CAR CAR esborrarà el darrer caràcter escrit. intr CAR CAR enviarà un senyal d’interrupció. kill CAR CAR esborrarà la línia actual. � * lnext CAR CAR entrarà el caràcter següent entrecometat. quit CAR CAR enviarà un senyal d’eixir. * rprnt CAR CAR redibuixarà la línia actual. start CAR CAR reiniciarà l’eixida després d’haverâ€la aturat. � * rows N Anucia al nucli que el terminal té N files. * size Mostra el nombre de files i columnes d’acord amb el nucli. speed Mostra la velocitat del terminal. time N Amb «-icanon», l’expiració de la lectura esdevé d’N dècimes de segon. � ??:?? � TTY� context=%s� egid=%s� euid=%s� gid=%s� grups=�antic� a la %sa repetició �% 1% de memòria, b 1, K 1024 (per defecte), i així per a M, G, T, P, E, Z, Y. Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. *** AVÃS *** El locale especificat a l’entorn afecta l’ordenació. Establiu LC_ALL a «C» per a obtenir l’ordenació tradicional que empra el valor numèric dels caràcters. �%.*s: l’especifiació de conversió no és vàlida�%e %b %Y�%e %b %H:%M�%lu usuari�%lu usuaris�%s (a l’expressió regular %s)�%s -> %s (recuperació de la còpia de seguretat) �«%s [-d]» ha finalitzat de forma anormal�%s i %s són el mateix fitxer�%s existeix però no és un directori�%s ha aparegut; es segueix el final del nou fitxer�%s ha esdevingut accessible�%s ha esdevingut inaccessible�%s ha estat substituït per un fitxer remot; s’abandona la pista d’aquest nom�%s ha estat substituït per un fitxer no seguible; s’abandona la pista d’aquest nom�%s ha estat substituït; es segueix el final del nou fitxer�%s és d’un tipus de fitxer desconegut�%s té una mida aparentment negativa que no pot ser tractada�Pàgina principal de «%s»: %s �Pàgina inicial de «%s»: <http://www.gnu.org/software/%s/> �%s no és un número enter positiu vàlid�%s és massa gran�només podeu executar «%s» sota un nucli amb SELinux�subprocés «%s»�el subprocés «%s» ha fallat�el subprocés «%s» ha rebut el senyal fatal %d�heu especificat %s però no %s�%s sobreescriuria l’entrada; s’avorta�l’argument «%3$s» de l’opció «%1$s%2$s» és massa gran�%2$s de %1$s�%s: %s és tan gran que no es pot representar�%s: %s: el número de línia està fora de rang�%s: %s: no s’ha trobat cap coincidència�%s: %s:%s: fora d’ordre: �%s: cal «}» al nombre de repeticions�%s: no s’ha pogut obrir o llegir �%s: cal un operador binari�%s: només es poden fer enllaços simbòlics relatius en el directori actual�%s: no s’ha pogut desactivar el mode no blocador�%s: no s’ha pogut determinar la mida del fitxer�%s: no s’ha pogut trobar el nom de l’ID d’usuari %lu �%s: no es pot seguir el final d’aquest tipus de fitxer; s’abandona la pista d’aquest nom�%s: no s’ha pogut desplaçar fins a la posició original�%s: no es pot sobreescriure un directori�%s: no s’ha pogut rebobinar�%s: no s’ha pogut desplaçar�%s: no s’ha pogut moure fins al desplaçament relatiu al final %s�%s: no s’ha pogut moure fins al desplaçament %s�%s: no s’ha pogut moure dins el desplaçament relatiu %s�%s: no es pot destruir el fitxer d’un descriptor obert només per afegir�%s: no s’ha pogut saltar�%s: no s’ha pogut saltar fins al desplaçament indicat�%s: manca el delimitador «%c» de tancament�%s: no s’ha pogut desactivar el mode no blocador�%s: voleu descendir al directori %s? �%s: voleu descendir al directori protegit contra escriptura %s? �%s: s’ha trobat el final del fitxer�%s: l’operand de la classe d’equivalència ha de ser un únic caràcter�%s: error en truncar�%s: error en escriure al desplaçament %s�%s: cal un valor numèric�%s: no s’ha pogut tancar�%s: no s’ha pogut obtenir la informació sobre les extensions�%s: no s’ha pogut obrir per a escriure�%s: no s’ha pogut eliminar�%s: no s’ha pogut reiniciar el punter del fitxer�%s: ha fallat fcntl()�%s: ha fallat fdatasync()�%s: el fitxer té una mida negativa�%s: el fitxer ha minvat massa�%s: el fitxer és massa gran�%s: el fitxer és massa gran�%s: el fitxer ha estat truncat�%s: ha fallat fstat()�%s: ha fallat fsync()�%s: no es permet l’enllaç fort cap al directori�%s: l’entrada conté un cicle:�%s: l’entrada conté un nombre senar de components�%s: el fitxer d’entrada i el de sortida són el mateix�%s: s’esperava un número enter després del delimitador�%s: la mida del bloc d’E/S no és vàlida�%s: el PID no és vàlid�%s: el número del tros no és vàlid�%s: el comptador a l’inici de %s no és vàlid�%s: la directiva no és vàlida�%s: l’especifiació de camp no és vàlida: %s�%s: la mida del fitxer no és vàlida�%s: el tipus del fitxer no és vàlid�%s: el nombre màxim d’iteracions sense alteracions entre obertures no és vàlid�%s: el número no és vàlid�%s: el nombre d’octets no és vàlid�%s: el nombre de trossos no és vàlid�%s: el nombre de línies no és vàlid�%s: el nombre de passades no és vàlid�%s: el nombre de segons no és vàlid�%s: el nombre d’unitats de processament a excloure no és vàlid�%s: l’opció «%c» no és vàlida �%s: el patró no és vàlid�%s: l’identificador de procés no és vàlid�%s: l’expressió regular no és vàlida: %s�%s: el senyal no és vàlid�%s: el valor d’inici per als sufixs numèrics no és vàlid�%s: la longitud del sufix no és vàlida�%s: el número de línia ha de ser major que zero�%s: el número de línia està fora de rang�%s: ha fallat lseek()�%s: s’han especificat múltiples senyals�%s: els nous permisos són %s, no %s�%s: no s’ha trobat cap línia de suma %s ben formatada�%s: aquest dispositiu no té informació de mida�%s: l’usuari no existeix�%s: no es llista el directori ja llistat�%s: el nombre d’octets és massa gran�%s: l’opció «%c%s» no admet arguments �%s: l’opció «%s» és ambigua; possibilitats:�%s: l’opció «--%s» no admet arguments �%s: l’opció «--%s» necessita un argument �%s: l’opció «-W %s» no admet arguments �%s: l’opció «-W %s» és ambigua �%s: l’opció «-W %s» necessita un argument �%s: l’opció «%c» necessita un argument �%s: voleu sobreescriure %s? �%s: passada %lu/%lu (%s)…�%s: passada %lu/%lu (%s)…%s�%s: passada %lu/%lu (%s)…%s/%s %d%%�%s: error de lectura�%s: voleu eliminar el %s %s? �%s: voleu eliminar tots els arguments recursivament? �%s: voleu eliminar tots els arguments? �%s: voleu eliminar el %s protegit contra escriptura %s? �%s: ha estat eliminat�%s: inici de l’eliminació�%s: s’ha reanomenat a «%s»�%s: voleu reemplaçar %s? �%s: ha fallat el desplaçament�%s: hi ha massa línies de suma�%s: voleu sobreescriure %s, reemplaçant el mode %04lo (%s)? �%s: no s’ha pogut determinar la longitud màxima dels noms de fitxer�%s: no s’han pogut realitzar totes les operacions requerides�%s: cal un operador unari�%s: l’opció «%c%s» no és reconeguda �%s: l’opció «--%s» no és reconeguda �%s: no s’ha convertit completament el valor�%s: error d’escriptura�%s: no s’ha pogut escriure�%s:%lu: la línia no és vàlida; manca el segon component�%s:%lu: el nom buit de fitxer no és vàlid�%s:%lu: la paraula clau «%s» no és reconeguda�%s}: cal especificar un número enter entre «{» i «}»�»�cal «)»�cal «)», s’ha trobat «%s»�-%c: sobren caràcters o el número de l’argument no és vàlid: %s�--pages=PRIM_PÀG[:ÚLT_PÀG]: manca un argument�-N NÚMERO: el número inicial de línia no és vàlid: %s�-W AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s�-l LLARG_PÀG: el nombre de línies no és vàlid: %s�-o MARGE: el desplaçament de línia no és vàlid: %s�-w AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s�©�* Sistemes de fitxers que empren ubicacions temporals com a memòria cau (cache), com els clients d’NFS versió 3. * Sistemes de fitxers amb compressió. �* Sistemes de fitxers transaccionals o que empren diari, com els que es troben en AIX i Solaris (i JFS, ReiserFS, XFS, Ext3, etc.). * Sistemes de fitxers que escriuen dades redundants i continuen fins i tot en fallar algunes escriptures, com els sistemes de fitxers basats en RAID. * Sistemes de fitxers que creen instantànies, com el servidor NFS de Network Appliances. �, càrrega mitjana: %.2f�, %g s, %s/s �l’argument %2$s de l’opció «--%1$s» és massa gran�«--context» (-Z) només funciona sota un nucli amb SELinux�«--filter» no permet processar trossos escrits a l’eixida estàndard�«--reflink» només es pot emprar amb «--sparse=auto»�l’opció «--tag» no admet el mode text�«-R --dereference» necessita «-H» o «-L»�«-R -h» necessita «-P»�«-ef» no admet «-l»�«-nt» no admet «-l»�«-ot» no admet «-l»�<interna>�??? �?????�Avortat� Accés: %x Modificació: %y Canvi: %z Naixement: %w � Accés: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G) �La família d’adreces del nom d’estació no és permesa�Temporitzador�S’han completat totes les peticions�La memòria intermèdia d’arguments és massa menuda�Arnold Robbins�Lliure�Lliures�La crida al sistema no és vàlida�El valor d’«ai_flags» no és vàlid�Brian Fox�La canonada s’ha trencat�Error de bus�COMPTE: Teniu en compte que «shred» confia en una assumpció molt important: que el sistema de fitxers sobreescriu les dades al mateix lloc. Aquesta és la foma tradicional de fer les coses, però molts sistemes de fitxers moderns no satisfan aquesta assumpció. Aquests són exemples de sistemes de fitxers sobre els quals «shred» no és efectiu, o no garanteix l’efectivitat a tots els modes del sistema de fitxers: �COMENTARI�S’ha excedit el temps límit de CPU�Crida la funció link() per a crear un enllaç anomenat FITXER2 que apunte cap a un FITXER1 existent. �Crida la funció unlink() per a eliminar el FITXER especificat. �Cabuda�Canvia la pertinença de grup de cada FITXER a GRUP. Amb «--reference», canvia el grup de cada FITXER a aquell de FITXREF. �Canvia el mode de cada FITXER a MODE. Amb «--reference», canvia el mode de cada FITXER a aquell de FITXREF. �Canvia el propietari o grup de cada FITXER a PROPIETARI o GRUP. Amb «--reference», canvia el propietari i grup de cada FITXER a aquell de FITXREF. �Chet Ramey�Un fill ha eixit�Colin Plumb�Compara els fitxers ordenats FITXER1 i FITXER2 línia per línia. �Concatena els FITXERs o l’entrada estàndard, i escriu el resultat a la sortida estàndard. -A, --show-all Equival a «-vET». -b, --number-nonblank Enumera les línies que no estan en blanc, inhabilita «-n». -e, Equival a «-vE». -E, --show-ends Escriu un caràcter «$» al final de cada línia. -n, --number Enumera totes les línies. -s, --squeeze-blank No mostra més d’una línia en blanc seguida. � Context: %C �Continuat�Còpia un fitxer, convertint i formatant les dades d’acord amb els operands. bs=OCTETS Llegeix i escriu com a molt aquest nombre d’OCTETS alhora (vegeu també «ibs» i «obs»). cbs=OCTETS Converteix aquest nombre d’OCTETS alhora. conv=CONVERSIONS Converteix el fitxer d’acord amb la llista de símbols separats per comes. count=N Només còpia N blocs de l’entrada. ibs=OCTETS Llegeix com a molt aquest nombre d’OCTETS alhora (per defecte 512). �Còpia l’entrada estàndard a cada FITXER, i també a l’eixida estàndard. -a, --append Afegeix a cada FITXER indicat, no el sobreescriu. -i, --ignore-interrupts Descarta els senyals d’interrupció. �Crea un fitxer o directori temporal de forma segura i en mostra el nom. La PANTILLA ha de contenir almenys tres «X» consecutives al darrer component. Si no s’indica la PLANTILLA s’empra «tmp.XXXXXXXXXX», i implica «--tmpdir». �David M. Ihnat�David MacKenzie�David Madore�Dispositiu: %Dh/%dd Nodeâ€i: %-10i Enllaços: %-5h Tipus: %t,%T � Dispositiu: %Dh/%dd Nodeâ€i: %-10i Enllaços: %h �Comprova la validesa o portabilitat de cada NOM de fitxer. -p Prova amb la majoria de sistemes POSIX. -P Comprova els noms buits o que comencen per «-». --portability Prova amb tots els sistemes POSIX (equival a «-p -P»). �Directori: �Dmitry V. Levin�Abandona els grups suplementaris, assumeix els identificadors d’usuari i grup de l’USUARI indicat (per número o per nom), i executa l’ORDRE amb els ARGUMENTs especificats. Ix amb codi 111 si no pot assumir els identificadors d’usuari o grup requerits. En cas contrari ix amb el codi d’eixida de l’ORDRE. Aquest programa només és d’utilitat quan l’executa root (que té identificador d’usuari 0). �Trampa EMT�EIXIDA�Cada interval pot ser un de: N L’octet, caràcter o camp N, comptant des d’1. N- Des de l’octet, caràcter o camp N fins al final de la línia. N-M Des de l’octet, caràcter o camp N fins a l’M (inclòs). -M Des del principi fins a l’octet, caràcter o camp M (inclòs). Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. �Fa eco de cada CADENA a l’eixida estàndard. -n No genera el caràcter final de nova línia. �Eric Blake�Ix amb un codi d’estat que indica fallada.�Ix amb un codi d’estat que indica èxit.�Ix amb un estat determinat per l’EXPRESSIÓ. �F. Pinard�INCORRECTE�ARREGLA’M: desconegut�El FORMAT ha de ser adequat per a imprimir un argument de tipus «double»; per defecte val «%.PRECISIÓf» si el PRIMER, INCREMENT i DARRER valors són tots números decimals de coma fixa amb una PRECISIÓ màxima, «%g» en cas contrari. �Les cues FIFO no tenen números major i menor de dispositiu.�S’ha excedit la mida màxima de fitxer�Els fitxers es creen amb el mode «u+rw» i els directoris amb «u+rwx», menys la umask en ambdós casos. �S. fitxers�Excepció de coma flotant�Per a la documentació completa, executeu «info coreutils '%s invocation'». �Escriu una línia a la sortida estàndard per cada parell de línies de l’entrada que continguin idèntics camps d’unió. El camp per defecte és el primer, delimitat per espais en blanc. Si o FITXER1 o FITXER2 (no els dos) és «-», llegeix l’entrada estàndard. -a NUMFITXER També escriu les línies desaparellades del fitxer NUMFITXER, «1» per al FITXER1 o «2» per al FITXER2. -e CADENA Reemplaça els camps que manquen amb CADENA. �Bolca els blocs modificats al disc i actualitza el superbloc. �Ajuda general sobre l’ús de programari GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Penjat�L’operació d’E/S és possible�OCIÓS�Lliures�%Ús�En ús�Ian Lance Taylor�Ociós�Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s» com a FITXER. �La instrucció no és permesa�A més a més, les còpies de seguretat i les rèpliques remotes dels sistemes de fitxers poden contenir còpies del fitxer que no poden ser eliminades, i que podrien permetre recuperar més endavant el fitxer destruït. �A la vida real: �La nota anterior també és aplicable (i per tant «shred» hi té una efectivitat limitada) al cas dels sistemes de fitxers Ext3 muntats en mode «data=journal», que no només empra el diari per a les metadades, sinò també per a les dades. Als modes «data=ordered» (mode per defecte) i «data=writeback», «shred» funciona normalment. Podeu canviar el mode de diari d’un sistema de fitxers Ext3 afegint l’opció «data=MODE» a les seues opcions de muntatge al fitxer «/etc/fstab», com s’indica al manual de «mount» (executeu «man mount»). �Infinits�Infinits B�Petició d’informació�Nodes-i�Interromput�Interromput per un senyal�La referència cap enrere no és vàlida�El nom de la classe de caràcters no és vàlid�El caràcter d’ordenació no és vàlid�El contingut de «\{\}» no és vàlid�L’expressió regular precedent és incorrecta�El final del rang no és vàlid�L’expressió regular no és vàlida�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Matat�LÃNIA�LOGIN�Entrada�Nom d’entrada: �Ha fallat el test de primalitat de Lucas. Açò no hauria d’ocórrer. �Mark Kettenis�Matthew Bradburn�No s’ha pogut reservar memòria�La memòria s’ha exhaurit�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Muntat a�NOM�Nom�El nom o servei no és conegut�Niels Möller�No hi ha cap adreça associada amb el nom d’estació�No hi ha cap coincidència�No hi ha expressió regular prèvia�Fallada irrecuperable a la resolució de noms�CORRECTE�En eliminar sense reduir repeticions, només es pot especificar una cadena.�Opcions d’ordenació: �Altres opcions: �Produeix ordres per a establir la variable d’entorn LS_COLORS. Opcions per a determinar el format de l’eixida: -b, --sh, --bourne-shell Produeix codi destinat a l’intèrpret Bourne per establir LS_COLORS. -c, --csh, --c-shell Produeix codi destinat a l’intèrpret C per establir LS_COLORS. -p, --print-database Mostra els valors per defecte. �Mostra cada NOM eliminantâ€ne l’últim component no buit que es trobe al darrere d’una barra «/», així com les barres finals; si el NOM no conté cap barra, mostra «.» (indicant el directori actual). �Mostra els límits dependents de la plataforma en un format adequat per als scripts de l’intèrpret d’ordres. �Mostra qui està connectat actualment, d’acord amb el contingut del FITXER. Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s» com a FITXER. �PID�Empaquetat per %s. �Empaquetat per %s (%s). �Padraig Brady�La codificació del paràmetre cadena no és correcta�Paul Eggert�Paul Rubin�Pete TerMaat�Pla: �Fallada d’alimentació�Fi prematura de l’expressió regular�Mostra cada ARGUMENT seguint el FORMAT indicat, o s’executa d’acord amb l’OPCIÓ indicada. �Mostra la suma CRC i la mida en octets de cada FITXER. �Mostra alguna informació sobre el sistema. Si no s’indica cap OPCIÓ, fa el mateix que amb «-s». -a, --all Mostra tota la informació (excepte la de «-p» i «-i» si és desconeguda), en l’ordre següent: -s, --kernel-name Mostra el nom del nucli. -n, --nodename Mostra el nom de l’estació a la xarxa. -r, --kernel-release Mostra el llançament del nucli. �Mostra la suma de verificació i el nombre de blocs de cada FITXER. -r Empra l’algorisme de suma de BSD, amb blocs d’1 kB. -s, --sysv Empra l’algorisme de suma de System V, amb blocs de 512 octets. �Mostra la llista de grups de cada NOM_USUARI o, si no se n’indica cap, del procés actual (la informació pot diferir si la base de dades de grups ha canviat). �Mostra informació sobre els usuaris connectats actualment. �Mostra l’arquitectura de la màquina. �Escriu el nombre de caràcters de nova línia, paraules i octets de cada FITXER, i una línia de totals si especifiqueu més d’un FITXER. Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. Una paraula és una seqüència no buida de caràcters delimitada per espais en blanc. Les opcions de sota es poden emprar per a escollir quins recomptes mostrar dels següents (que sempre apareixen en el mateix ordre): caràcters de nova línia, paraules, caràcters, octets, longitud de la línia més llarga. -c, --bytes Escriu el nombre d’octets. -m, --chars Escriu el nombre de caràcters. -l, --lines Escriu el nombre de caràcters de nova línia. �Mostra l’hora actual, quant temps ha estat el sistema en marxa, el nombre d’usuaris al sistema i la mitjana de treballs a la cua d’execució durant els darrers 1, 5 i 15 minuts.�Mostra el nom de fitxer del terminal connectat a l’entrada estàndard. -s, --silent, --quiet No mostra res, només retorna un estat d’eixida. �Mostra el nom de fitxer complet del directori de treball actual. �Mostra el nom de l’usuari actual. �Mostra el nombre d’unitats de processament disponibles per al procés actual, que pot ser menor que el nombre de processadors actius. �Mostra els factors primers de cada NÚMERO enter especificat. Si no s’indica cap argument a la línia d’ordres, es llegiran de l’entrada estàndard. �Mostra el nom absolut resolt de cada FITXER; tots els seus components excepte l’últim han d’existir. �Mostra el nom d’usuari associat amb l’identificador d’usuari efectiu actualment. Equival a «id -un». �Mostra la informació d’usuari i grup per a l’usuari indicat, o per a l’usuari actual si no s’indica. -a No es té en compte, s’accepta per compatibilitat amb altres versions. -Z, --context Només mostra el context de seguretat de l’usuari actual. -g, --group Només mostra l’identificador efectiu de grup. -G, --groups Mostra tots els identificadors de grup. -n, --name Mostra un nom en lloc d’un número, per a «-ugG». -r, --real Mostra l’identificador real en lloc de l’efectiu, per a «-ugG». -u, --user Només mostra l’identificador efectiu d’usuari. �Mostra el valor d’un enllaç simbòlic o el nom canònic d’un fitxer. �S’està processant la petició�El temps de perfilat ha expirat�Projecte: �Q. Frank Xia�Eixit�Randy Smith�Senyal de temps real %d�L’expressió regular és massa llarga�Elimina (deslliga) cada FITXER. -f, --force Descarta els fitxers i arguments inexistents, i mai no pregunta. -i Pregunta abans de cada eliminació. �Elimina cada DIRECTORI, si es troba buit. --ignore-fail-on-non-empty No té en compte els errors originats només perquè un directori no es troba buit. �Mostra repetidament una línia amb totes les cadenes indicades, o «y». �Informeu dels errors de «%s» a <%s>. �Informeu dels errors de traducció de «%s» a <ca@dodds.net>. �La petició ha estat canceÅ€lada�La petició no ha estat canceÅ€lada�S’ha perdut el recurs�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Executa l’ORDRE establintâ€hi el directori arrel a NOU_ARREL. �Executa l’ORDRE descartant els senyals de penjat. �Russell Coker�Scott Bartram�Scott Miller�Violació de segment�El servei per a aquest valor d’«ai_socktype» no és permés�Establiu la variable LC_ALL a «C» per a evitar el problema.� Intèrpret d’ordres: �Simon Josefsson�Mida�Els fitxers especials requereixen números major i menor de dispositiu.�Fallada de pila�Aturat�Aturat (senyal)�Aturat (esperant entrada del terminal)�Aturat (esperant escriure al terminal)�Stuart Kemp�Èxit�Error del sistema�HORA�Fallada temporal a la resolució de noms�Terminat�Els senyaladors opcionals següents poden ser emprats al darrere de «%»: «-» (menys) No reomple el camp. «_» (subratllat) Reomple el camp amb espais. «0» (zero) Reomple el camp amb zeros. «^» Empra majúscules, si és possible. «#» Intercanvia majúscules i minúscules, si és possible. �Les cadenes comparades eren %s i %s.�Torbjörn Granlund�Trampa de traçat/punt d’aturada�Hi ha una barra invertida sobrant al final�Tradueix, redueix, o suprimeix caràcters de l’entrada estàndard, i escriu el resultat a la sortida estàndard. -c, -C, --complement Empra el complement del JOC1. -d, --delete Suprimeix els caràcters del JOC1, no tradueix. -s, --squeeze-repeats Substitueix cada seqüència de repeticions d’un caràcter de JOC1 per una única ocurrència del caràcter. -t, --truncate-set1 Trunca primer el JOC1 a la llargada del JOC2. �Proveu «%s --help» per a obtenir més informació. �Proveu amb «%s ./%s» per a eliminar el fitxer %s. �En eliminar i reduir repeticions, cal especificar dues cadenes.�En traduir, cal especificar dues cadenes.�Tipus�Ulrich Drepper�Error desconegut�Senyal desconegut %d�Error desconegut del sistema�«(» o «\(» desaparellat�«)» o «\)» desaparellat�«[» o «[^» desaparellat�«\{» desaparellat�Condició urgent d’E/S�Forma d’ús: %s �Forma d’ús: %s ORDRE [ARGUMENT]… o bé: %s OPCIÓ �Forma d’ús: %s CONTEXT ORDRE [ARG…] o bé: %s [-c] [-u USUARI] [-r ROL] [-t TIPUS] [-l RANG] ORDRE [ARG…] �Forma d’ús: %s EXPRESSIÓ o bé: %s OPCIÓ �Forma d’ús: %s FITXER o bé: %s OPCIÓ �Forma d’ús: %s FITXER1 FITXER2 o bé: %s OPCIÓ �Forma d’ús: %s FORMAT [ARGUMENT]… o bé: %s OPCIÓ �Forma d’ús: %s NOM [SUFIX] o bé: %s OPCIÓ… NOM… �Forma d’ús: %s NÚMERO[SUFIX]… o bé: %s OPCIÓ Fa una pausa per NÚMERO segons. SUFIX pot ser «s» per a segons (per defecte), «m» per a minuts, «h» per a hores o «d» per a dies. Al contrari que la majoria de les implementacions, que requereixen que NÚMERO siga un enter, ací NÚMERO pot ser un número real en coma flotant qualsevol. Si s’indiquen diversos arguments, la pausa dura el temps resultant de sumarâ€ne els valors. �Forma d’ús: %s OPCIÓ… ORDRE �Forma d’ús: %s OPCIÓ… FITXER… �Forma d’ús: %s OPCIÓ… [FITXER]… �Forma d’ús: %s [-F DISPOSITIU | --file=DISPOSITIU] [PROPIETAT]… o bé: %s [-F DISPOSITIU | --file=DISPOSITIU] [-a|--all] o bé: %s [-F DISPOSITIU | --file=DISPOSITIU] [-g|--save] �Forma d’ús: %s [-AMPLADA] [OPCIÓ]… [FITXER]… �Forma d’ús: %s [-s SENYAL | -SENYAL] PID… o bé: %s -l [SENYAL]… o bé: %s -t [SENYAL]… �Forma d’ús: %s [FITXER]… o bé: %s [OPCIÓ] �Forma d’ús: %s [NOM] o bé: %s OPCIÓ Mostra o estableix el nom d’estació del sistema actual. �Forma d’ús: %s [NÚMERO]… o bé: %s OPCIÓ �Forma d’ús: %s [OPERAND]… o bé: %s OPCIÓ �Forma d’ús: %s [OPCIÓ] �Forma d’ús: %s [OPCIÓ] Mostra l’identificador numèric (en hexadecimal) de l’estació actual. �Forma d’ús: %s [OPCIÓ] DURADA ORDRE [ARGUMENT]… o bé: %s [OPCIÓ] �Forma d’ús: %s [OPCIÓ] NOM… �Forma d’ús: %s [OPCIÓ] NOU_ARREL [ORDRE [ARGUMENT]…] o bé: %s OPCIÓ �Forma d’ús: %s [OPCIÓ] [ORDRE [ARG]…] �Forma d’ús: %s [OPCIÓ] [FITXER] Escriu una llista totalment ordenada d’acord amb l’ordenació parcial descrita en FITXER. Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. �Forma d’ús: %s [OPCIÓ]… �Forma d’ús: %s [OPCIÓ]… CONTEXT FITXER… o bé: %s [OPCIÓ]… [-u USUARI] [-r ROL] [-l RANG] [-t TIPUS] FITXER… o bé: %s [OPCIÓ]… --reference=FITXREF FITXER… �Forma d’ús: %s [OPCIÓ]… DIRECTORI… �Forma d’ús: %s [OPCIÓ]… FITXER PATRÓ… �Forma d’ús: %s [OPCIÓ]… FITXER… �Forma d’ús: %s [OPCIÓ]… FITXER1 FITXER2 �Forma d’ús: %s [OPCIÓ]… GRUP FITXER… o bé: %s [OPCIÓ]… --reference=FITXREF FITXER… �Forma d’ús: %s [OPCIÓ]… DARRER o bé: %s [OPCIÓ]… PRIMER DARRER o bé: %s [OPCIÓ]… PRIMER INCREMENT DARRER �Forma d’ús: %s [OPCIÓ]… MODE[,MODE]… FITXER… o bé: %s [OPCIÓ]… MODE_OCTAL FITXER… o bé: %s [OPCIÓ]… --reference=FITXREF FITXER… �Forma d’ús: %s [OPCIÓ]… NOM TIPUS [MAJOR MENOR] �Forma d’ús: %s [OPCIÓ]… NOM… �Forma d’ús: %s [OPCIÓ]… JOC1 [JOC2] �Forma d’ús: %s [OPCIÓ]… [FITXER | ARG1 ARG2] �Forma d’ús: %s [OPCIÓ]… [+FORMAT] o bé: %s [-u|--utc|--universal] [MMDDhhmm[[CC]AA][.ss]] �Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTINACIÓ o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN… �Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTINACIÓ o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN… o bé: %s [OPCIÓ]… -d DIRECTORI… �Forma d’ús: %s [OPCIÓ]… [-T] DESTINACIÓ NOM_ENLLAÇ (1a forma) o bé: %s [OPCIÓ]… DESTINACIÓ (2a forma) o bé: %s [OPCIÓ]… DESTINACIÓ… DIRECTORI (3a forma) o bé: %s [OPCIÓ]… -t DIRECTORI DESTINACIÓ… (4a forma) �Forma d’ús: %s [OPCIÓ]… [-] [NOM=VALOR]… [ORDRE [ARG]…] �Foma d’ús: %s [OPCIÓ]… [FITXER] �Forma d’ús: %s [OPCIÓ]… [FITXER] o bé: %s -e [OPCIÓ]… [ARGUMENT]… o bé: %s -i INF-SUP [OPCIÓ]… �Forma d’ús: %s [OPCIÓ]… [FITXER]… �Forma d’ús: %s [OPCIÓ]… [FITXER]… o bé: %s [-abcdfilosx]… [FITXER] [[+]DESPLAÇAMENT[.][b]] o bé: %s --traditional [OPC]… [FITX] [[+]DESPL[.][b] [+][ETIQ][.][b]] �Forma d’ús: %s [OPCIÓ]… [FITXER]… o bé: %s [OPCIÓ]… --files0-from=FITXER �Forma d’ús: %s [OPCIÓ]… [FITXER]… Escriu o comprova sumes de verificació %s (de %d bits). Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard. �Forma d’ús: %s [OPCIÓ]… [ENTRADA [EIXIDA]] �Forma d’ús: %s [OPCIÓ]… [ENTRADA [PREFIX]] �Forma d’ús: %s [OPCIÓ]… [ENTRADA]… (sense «-G») o bé: %s -G [OPCIÓ]… [ENTRADA [SORTIDA]] �Forma d’ús: %s [OPCIÓ]… [PROPIETARI][:[GRUP]] FITXER… o bé: %s [OPCIÓ]… --reference=FITXREF FITXER… �Foma d’ús: %s [OPCIÓ]… [PLANTILLA] �Forma d’ús: %s [OPCIÓ]… [NOM_USUARI] �Forma d’ús: %s [OPCIÓ]… [NOM_USUARI]… �Forma d’ús: %s [OPCIÓ]… [USUARI]… �Forma d’ús: %s [OPCIÓ]… [VARIABLE]… Mostra els valors de cada VARIABLE d’entorn especificada. Si no se n’especifica cap, mostra totes les variables d’entorn junt als seus valors. �Forma d’ús: %s [OPCIÓ_CURTA]… USUARI ORDRE [ARGUMENT]… o bé: %s OPCIÓ_LLARGA �Forma d’ús: %s [OPCIÓ_CURTA]… [CADENA]… o bé: %s OPCIÓ_LLARGA �Forma d’ús: %s [CADENA]… o bé: %s OPCIÓ �Forma d’ús: %s [arguments de la línia d’ordres que seran descartats] o bé: %s OPCIÓ �Forma d’ús: test EXPRESSIÓ o bé: test o bé: [ EXPRESSIÓ ] o bé: [ ] o bé: [ OPCIÓ �%Ús�En ús�Senyal 1 definit per l’usuari�Senyal 2 definit per l’usuari�Els arguments vàlids són:�Els arguments vàlids són: �Seqüències de format vàlides per als sistemes de fitxers: %a Nombre de blocs lliures disponibles per als usuaris normals. %b Nombre total de blocs de dades del sistema de fitxers. %c Nombre total de nodes índex del sistema de fitxers. %d Nombre de nodes índex lliures del sistema de fitxers. %f Nombre de blocs de dades lliures del sistema de fitxers. �Ha expirat el temporitzador virtual�avís: Estructura de directoris circular. Açò indica quasi amb certesa que el sistema de fitxers és corrupte. AVISEU L’ADMINISTRADOR DEL SISTEMA. El següent directori és part del cicle: %s �avís: es descarta «--context» (-Z) sota aquest nucli sense SELinux�avís: es descarta «--preserve-context» sota aquest nucli sense SELinux�avís: es descarta l’opció «--strip-program» ja que no s’ha emprat l’opció «-s»�avís: �Quan�On�Ha canviat la mida de la finestra�Amb «--follow» (-f) es segueix el descriptor de fitxer, de manera que encara que aquest siga reanomenat, se’n continuarà seguint el final. Aquest comportament no és desitjable si el que realment voleu és seguir el fitxer pel seu nom i no pel seu descriptor (per exemple, durant la rotació d’un registre). Empreu «--follow=name» en aquest cas. Això fa que es seguesca el fitxer indicat encara que siga reanomenat, eliminat o creat. �Escrit per %s i %s. �Escrit per %s, %s, %s, %s, %s, %s, %s, %s, %s i d’altres. �Escrit per %s, %s, %s, %s, %s, %s, %s, %s i %s. �Escrit per %s, %s, %s, %s, %s, %s, %s, i %s. �Escrit per %s, %s, %s, %s, %s, %s i %s. �Escrit per %s, %s, %s, %s, %s i %s. �Escrit per %s, %s, %s, %s i %s. �Escrit per %s, %s, %s i %s. �Escrit per %s, %s i %s. �Escrit per %s. �en traduir, les expressions «[=c=]» no poden aparèixer a la segona cadena�^ no s’ha trobat la clau �^[nN]�^[sS]�ha fallat _open_osfhandle()�«�cal que especifiqueu una ordre juntament amb l’ajustament�El valor d’«ai_family» no és permés�El valor d’«ai_socktype» no és permés�l’argument %s és ambigu per a %s�només es pot especificar un delimitador d’entrada quan s’opera amb camps�s’afegeix l’eixida a %s�una còpia de seguretat de %s destruiria el fitxer origen; no es còpia %s�una còpia de seguretat de %s destruiria el fitxer origen; no es mou %s�tipus de còpia de seguretat�fitxer especial de blocs�aquest sistema no permet fitxers especials de blocs�Blocs�ambdós fitxers no poden ser l’entrada estàndard�el desplaçament en octets %s és massa gran�no es pot aplicar un context parcial al fitxer sense context %s�no s’ha pogut obtenir el context del procés�no s’ha pogut accedir a %s�no sha pogut crear una còpia de seguretat de %s�no es pot resumir les entrades i mostrarâ€ne els continguts alhora�no s’ha pogut canviar el propietari de %s�no s’han pogut canviar els permisos de %s�no s’ha pogut canviar el directori arrel a «%s»�no s’ha pogut canviar al directori %s�no s’ha pogut canviar al directori arrel�no es poden combinar «--target-directory» (-t) i «--no-target-directory» (-T)�no es poden combinar «--target-directory» i «--no-target-directory»�no es poden combinar les opcions «-e» i «-i»�no es poden combinar «ascii», «ebcdic» o «ibm»�no es poden combinar «block» i «unblock»�no es poden combinar «direct» i «nocache»�no es poden combinar «excl» i «nocreat»�no es poden combinar «lcase» i «ucase»�no es poden combinar el mode i l’opció «--reference»�no es pot combinar un senyal amb «-l» o «-t»�no es poden comparar els noms de fitxer %s i %s�no s’ha pogut convertir U+%04X al joc de caràcters local�no s’ha pogut convertir U+%04X al joc de caràcters local: %s�no es pot copiar un directori, %s, dins d’ell mateix, %s�no es pot copiar l’enllaç simbòlic cíclic %s�no s’ha pogut crear el directori %s�no s’ha pogut crear la cua FIFO %s�no s’ha pogut crear l’enllaç fort %s cap a %s�no s’ha pogut crear l’enllaç %s cap a %s�no s’ha pogut crear la canonada�no s’ha pogut crear el fitxer ordinari %s�no s’ha pogut crear el fitxer especial %s�no s’ha pogut crear l’enllaç simbòlic %s�no s’ha pogut crear l’enllaç simbòlic %s cap a %s�no s’ha pogut crear un fitxer temporal a %s�no s’ha pogut seguir %s�no es poden determinar el dispositiu i node índex de %s�no s’ha pogut determinar el nom d’estació�no s’ha pogut determinar la ubicació de %s, es recorrerà a l’enquesta�«--relative» necessita «--symbolic»�ha fallat ioctl() sobre %s�no s’ha pogut trobar el nom de l’ID de grup %lu�no s’ha pogut trobar el nom de l’ID d’usuari %s�no es pot seguir %s pel nom�no es pot canviar a %s el context de la destinació i preservarâ€lo alhora�ha fallat fstat() sobre %s�no s’ha pogut obtenir el directori actual�no s’ha pogut obtenir el GID efectiu�no s’ha pogut obtenir l’UID efectiu�no s’ha pogut obtenir la prioritat�no s’ha pogut obtenir el GID real�no s’ha pogut obtenir l’UID real�no s’ha pogut obtenir el nom del sistema�no es pot obtenir la mida de %s�ha fallat lseek() sobre %s�no es poden crear enllaços forts i simbòlics alhora�no s’ha pogut crear el directori %s�no s’ha pogut moure %s a %s�no es pot moure %s a un subdirectori d’ell mateix, %s�no es pot moure un directori sobre un no-directori: %s -> %s�no s’ha pogut obrir %s per a llegir�no s’ha pogut obrir %s per a escriure�no s’ha pogut obrir el directori %s�no es pot emprar l’enllaç simbòlic trencat %s�no es pot sobreescriure el directori %s amb un noâ€directori�no es pot sobreescriure el noâ€directori %s amb el directori %s�no s’ha pogut crear l’eixida formatada�no es poden preservar els atributs estesos perquè la compatibilitat amb aquests no ha sigut compiÅ€lada en «cp»�no es poden preservar els contexts de seguretat sota un nucli sense SELinux�tan sols es pot emprar una de les opcions que només mostren un valor�no es pot mostrar només noms o ID reals al format per defecte�no es pot mostrar el context de seguretat quan s’indica un usuari�no es pot llegir�no s’ha pogut llegir el directori %s�no s’han pogut llegir els noms de fitxer de %s�no s’ha pogut llegir la informació de sistema de fitxers de %s�no s’ha pogut llegir el rellotge de temps real�no s’ha pogut llegir l’enllaç simbòlic %s�no s’ha pogut llegir la taula de sistemes de fitxers muntats�no s’ha pogut eliminar %s�no es pot eliminar el directori %s�no s’ha pogut recoÅ€locar el punter del fitxer de %s�no s’ha pogut restaurar el descriptor de fitxer %d: ha fallat dup2()�no s’ha pogut executar «%s»�no s’ha pogut establir la variable %s�no s’ha pogut establir la data�no s’ha pogut establir l’identificador de grup a %lu�no es pot establir el nom d’estació; el sistema no ho admet�no s’ha pogut establir el nom a %s�no s’ha pogut establir la prioritat�no s’han pogut establir les dates de %s�no s’ha pogut establir l’identificador d’usuari %lu�no es pot saltar més enllà del final de l’entrada combinada�no es pot especificar «--null» (-0) en indicar una ordre�no es pot especificar impressió en paraÅ€lel i de través alhora�no es pot especificar el nombre de columnes quan s’imprimeix en paraÅ€lel�no es poden especificar dates de més d’un origen�només es pot partir el fitxer d’una manera�ha fallat stat() sobre %s�ha fallat stat() sobre el directori actual (ara %s)�ha fallat stat() sobre l’entrada estàndard�no s’han pogut canviar les dates de %s�no s’ha pogut recuperar la còpia de seguretat de %s�no s’ha pogut deslligar %s�no s’ha pogut eliminar la variable %s�no es pot fer un seguiment de %s�no es pot fer un seguiment del directori pare de %s�al final no s’ha pogut evitar l’error del nucli�s’ha canviat el grup de %s de «%s» a «%s» �s’ha canviat el propietari de %s de «%s» a «%s» �s’està canviant el grup de %s�s’està canviant el propietari de %s�en canviar els permisos de %s�s’està canviant el context de seguretat de %s �el desplaçament de caràcter és zero�el caràcter es troba fora del rang�fitxer especial de caràcters�aquest sistema no permet fitxers especials de caràcters�en assegurar els permisos de %s�canvi rlltge�no s’ha pogut tancar�en tancar «%s» (fd=%d)�en tancar el directori %s�en tancar el fitxer d’entrada %s�en tancar la canonada d’entrada�en tancar el fitxer d’eixida %s�en tancar la canonada d’eixida�en tancar la canonada anterior�en tancar l’entrada estàndard�El mode de compatibilitat permet com a màxim un fitxer.�s’han indicat dues cadenes distintes per a reemplaçar els camps mancants�s’han proporcionat diverses especificacions de context de seguretat�no s’ha pogut establir el mode de memòria intermèdia per a «%s» a «%s» �no s’ha pogut crear el procés «%s -d»�no s’ha pogut crear el fitxer temporal�no s’ha pogut executar «%s»�no s’ha pogut executar «%s -d»�no s’ha pogut trobar una entrada de directori en %s amb un node índex coincident�no s’ha pogut obtenir l’hora d’arrencada�s’ha creat el directori %s�s’està creant el directori %s�s’està creant el fitxer %s �la llista de delimitadors acaba en una barra invertida sense escapada: %s�directori�divisió entre zero�ha fallat dup2()�no es permet un valor buit per a %s�el nom de fitxer és buit�el separador és buit�error en tancar el fitxer�error al cercador d’expressions regulars�error a la cerca de l’expressió regular�error en iniciar les cadenes dels mesos�error en fer un seguiment de l’event d’«inotify»�error en llegir %s�error en llegir l’event d’«inotify»�error en esperar l’ordre�error en escriure %s�s’està executant amb «FILE=%s» �eixida=�sobra l’argument %s�sobra l’operand %s�no es permet l’operand extra %s en emprar l’opció «-%c»�no s’ha pogut trobar el nom canònic de %s�no s’ha pogut canviar el context de %s a %s�no s’ha pogut canviar el grup de %s de «%s» a «%s» �no s’ha pogut canviar el grup de %s a «%s» �no s’ha pogut canviar el mode de %s de %04lo (%s) a %04lo (%s) �no s’ha pogut canviar el propietari de %s �no s’ha pogut canviar el propietari de %s de «%s» a «%s» �no s’ha pogut canviar el propietari de %s a «%s» �no s’ha pogut canviar al directori %s�no s’ha pogut clonar %s des de %s�no s’ha pogut tancar la canonada d’entrada�no s’ha pogut calcular un nou context�no s’ha pogut crear el directori emprant la plantilla %s�no s’ha pogut crear el fitxer emprant la plantilla %s�no s’ha pogut crear l’enllaç fort %s�no s’ha pogut crear l’enllaç fort %s cap a %s�no s’ha pogut crear l’enllaç fort cap a %.0s%s�no s’ha pogut crear la canonada�no s’ha pogut crear el context de seguretat: %s�no s’ha pogut crear l’enllaç simbòlic %s�no s’ha pogut crear l’enllaç simbòlic %s cap a %s�no s’ha pogut crear un fitxer temporal a %s�no s’ha pogut descartar la memòria cau de %s�no s’ha pogut estendre %s�no s’ha trobat %s�no s’han pogut obtenir els atributs de %s�no s’ha pogut obtenir el context actual�no s’ha pogut obtenir el context de creació del sistema de fitxers�no s’han pogut obtenir els grups del procés actual�no s’han pogut obtenir els grups de l’usuari %s�no s’ha pogut obtenir el context de seguretat de %s�no s’ha pogut cercar el fitxer %s�no s’ha pogut obrir %s�no s’ha pogut obrir %s per a llegir�no s’ha pogut obrir %s per a escriure�no s’ha pogut preservar l’autoria de %s�no s’ha pogut preservar el propietari de %s�no s’han pogut preservar els permisos de %s�no s’han pogut preservar les dates de %s�no s’ha pogut redirigir l’eixida estàndard d’errors�no s’ha pogut redirigir l’eixida estàndard d’errors a «/dev/null»�no s’ha pogut eliminar %s�no s’ha pogut eliminar el directori %s�no s’ha pogut inhabilitar l’entrada estàndard�no s’ha pogut reobrir %s amb el mode %s�no s’ha pogut restaurar el context per defecte de creació de fitxers�no s’ha pogut tornar al directori inicial de treball�no s’ha pogut rebobinar el flux de %s�no s’ha pogut executar l’ordre %s�no s’ha pogut executar l’ordre «%s -c %s»�no s’ha pogut establir el component «%s» del context de seguretat a %s�no s’ha pogut establir la variable d’entorn FILE�no s’han pogut establir els grups suplementaris�no s’ha pogut establir el context per defecte de creació de fitxers a %s�no s’ha pogut establir l’identificador de grup�no s’ha pogut establir el nou rang «%s»�no s’ha pogut establir el nou rol «%s»�no s’ha pogut establir el nou tipus «%s»�no s’ha pogut establir el nou usuari «%s»�no s’han pogut establir els grups suplementaris�no s’ha pogut preparar la còpia de l’eixida estàndard d’errors per a que es tanque en fer exec()�no s’ha pogut establir el context de seguretat de %s a %s�no s’ha pogut establir l’identificador d’usuari�ha fallat stat() sobre %s�no s’ha pogut inhabilitar «O_DIRECT» sobre %s�no s’ha pogut modificar l’entorn amb %s�ha fallat fdatasync() sobre %s�ha fallat fflush()�el número de camp %s és massa gran�el número de camp és zero�els camps i les posicions compten des d’1�cua FIFO�el fitxer número %d no està ordenat�No es poden combinar els operands fitxer amb «--files0-from».�No es pot combinar un operand fitxer amb «--print-database» (-p).�s’ha seleccionat i exclós alhora el tipus de sistema de fitxers %s�ha fallat la crida al sistema fork()�el format %s acaba en «%%»�el format %s no té una directiva «%%»�el format %s té massa directives «%%»�el format %s té una directiva «%%%c» desconeguda�no s’ha d’indicar una cadena de format quan s’empren amplàries igualades�ha fallat fsync() sobre %s�ha fallat fts_close()�ha fallat fts_read()�ha fallat fts_read(): %s�en generar el camí relatiu�en obtenir els nous atributs de %s�el grup de %s es manté en «%s» �la funció iconv() no es troba disponible�la funció iconv() no és útil�id=�es descarten tots els arguments�es descarta l’entrada�es descarta l’entrada i s’afegeix l’eixida a %s�es descarta l’entrada i es redirigeixen els errors a l’eixida estàndard�es descarta l’amplària no vàlida de tabulació a la variable d’entorn TABSIZE: %s�es descarta el valor no vàlid de la variable d’entorn QUOTING_STYLE: %s�es descarta l’amplària no vàlida a la variable d’entorn COLUMNS: %s�es descarten els arguments noâ€opció�els camps d’unió %lu i %lu no són compatibles�els separadors no són compatibles�no es pot emprar «inotify», es recorrerà a l’enquesta�s’han esgotat els recursos d’«inotify»�l’entrada ha desaparegut�la línia d’entrada és massa llarga�no s’ha pogut moure entre dispositius: %s a %s; no s’ha pogut eliminar la destinació�l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid�l’argument %2$s de l’opció «--%1$s» no és vàlid�l’ajust %s no és vàlid�l’argument %s no és vàlid�l’argument %s no és vàlid per a %s�l’estil de numeració de cos no és vàlid: %s�el mode de memòria intermèdia «%s» no és vàlid per a «%s» �el caràcter «%c» de la cadena de tipus %s no és vàlid�la classe de caràcters %s no és vàlida�el context no és vàlid: %s�la conversió no és vàlida�l’especificació de conversió al sufix no és vàlida: %c�l’especificació de conversió al sufix no és vàlida: \%.3o�la data %s no és vàlida�el format de data «%s» no és vàlid�l’interval decreixent no és vàlid�el dispositiu %s %s no és vàlid�el tipus de dispositiu %s no és vàlid�el número de camp «%s» no és vàlid�l’especificació de camp %s no és vàlida�l’amplària de camp no és vàlida: %s�el número de fitxer a l’especificació de camp no és vàlid: %s�l’especifiació de conversió conté opcions no vàlides: %%%c%c�l’argument de coma flotant no és vàlid: «%s»�l’estil de numeració de peu no és vàlid: «%s»�la mida de la separació no és vàlida: %s�el grup no és vàlid�el grup %s no és vàlid�la llista de grups %s no és vàlida�el grup no és vàlid: %s�l’estil de numeració de capçalera no és vàlid: %s�l’entrada no és vàlida�el senyalador d’entrada no és vàlid�el rang d’entrada no és vàlid: %s�el número enter %s no és vàlid�l’argument enter %s no és vàlid�el nombre de línies no és vàlid: %s�la disciplina de línia %s no és vàlida�l’amplada del camp de números de línia no és vàlida: %s�l’increment del número de línia no és vàlid: %s�l’estil de numeració de línia no és vàlid: %s�l’amplària de línia no és vàlida: %s�el número major de dispositiu %s no és vàlid�la profunditat màxima %s no és vàlida�el número menor de dispositiu %s no és vàlid�el mode no és vàlid�el mode %s no és vàlid�el mode no és vàlid: %s�el número %s no és vàlid�el número després de «,» no és vàlid�el número després de «-» no és vàlid�el número després de «.» no és vàlid�el número a l’inici del camp no és vàlid�el número de línies en blanc no és vàlid: %s�el nombre d’octets no és vàlid�el nombre d’octets a comparar no és vàlid�el nombre d’octets a saltar no és vàlid�el nombre de columnes no és vàlid: %s�el nombre de camps a saltar no és vàlid�el nombre de línies no és vàlid�l’opció «%c» no és vàlida�l’opció «%c» no és vàlida; «-AMPLADA» només es reconeix quan és la primera opció; empreu «-w AMPLADA» al seu lloc�la base «%c» del desplaçament no és vàlida; ha de ser un caràcter de [doxn]�el senyalador d’eixida no és vàlid�el rang de pàgines no és vàlid: %s�la precisió no és vàlida: %s�l’interval sense punt final no és vàlid: -�el nombre de repeticions %s de la construcció «[c*n]» no és vàlid�l’especificació no és vàlida�el número inicial de línia no és vàlid: %s�el senyalador d’estat no és vàlid�el sufix %s no és vàlid perquè conté un separador de directoris�el sufix de l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid�l’amplària de tabulació no és vàlida: %s�la plantilla %s no és vàlida perquè conté un separador de directoris�la plantilla %s no és vàlida perquè és absoluta i esteu emprant «--tmpdir»�l’interval de temps %s no és vàlid�l’estil de data «%s» no és vàlid�l’opció final «%c» no és vàlida�la cadena de tipus no és vàlida: %s�la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un tipus de coma flotant de %lu octets�la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un tipus enter de %lu octets�el nom de caràcter universal «\%c%0*x» no és vàlid�l’usuari no és vàlid�l’usuari %s no és vàlid�l’amplada no és vàlida: %s�la longitud d’ajustament no és vàlida: %s�el nom buit de fitxer no és vàlid�és perillós operar recursivament sobre %s�és perillós operar recursivament sobre %s (com sobre %s)�es descarta la clau %lu de longitud zero�la clau %lu és numèrica i comprén diversos camps�darrer=�un dels components del nom de fitxer %s comença per «-»�els blancs inicials són significatius a la clau %lu; considereu indicar «-b»�s’ha excedit el límit %lu per la longitud %lu del nom de fitxer %s�s’ha excedit el límit %lu per la longitud %lu del component de nom de fitxer %s�la memòria intermèdia basada en línies no té sentit per a l’entrada estàndard�l’opció de nombre de línies «-%s%c…» és massa gran�el número de línia %s és menor que el número anterior, %s�el comptador de línies s’ha desbordat�l’opció llarga «--megabytes» està desaprovada i serà eliminada aviat�l’argument màxim de l’opció «--%s» amb els límits actuals de recursos és %s�la memòria s’ha exhaurit�no hi ha memòria suficient per al bloc d’entrada de %zu octets (%s)�no hi ha memòria suficient per al bloc d’eixida de %zu octets (%s)�cua de missatges�l’argument mínim de l’opció «--%s» és %s�la construcció «[:upper:]» o «[:lower:]» està desalineada�manca l’especificació de conversió «%%» al sufix�manca «]»�manca un argument després de %s�manca un argument per a %s�manca el nom de la classe de caràcters: «[::]»�manca l’especificació de conversió al sufix�manca un operand fitxer destinació després de %s�manca el caràcter de la classe d’equivalència: «[==]»�manca un operand fitxer�manca un número hexadecimal a la seqüència d’escapada�manca la llista de camps�manca la llista de posicions�manca un operand�manca un operand després de %s�el mode només ha d’especificar bits de permisos de fitxer�s’ha canviat el mode de %s de %04lo (%s) a %04lo (%s) �el mode de %s es manté en %04lo (%s) �el punt de muntatge %s ja ha estat recorregut�en moure la canonada d’entrada�%s és un separador multicaràcter�s’han especificat múltiples opcions «-i»�s’han especificat múltiples opcions «-l» o «-t»�s’han especificat múltiples programes de compressió�s’han especificat múltiples delimitadors�s’han especificat múltiples rangs de nivells�s’han especificat múltiples fitxers d’eixida�s’han especificat múltiples formats d’eixida�s’han especificat múltiples fonts d’aleatorietat�s’han especificat múltiples modificadors relatius�s’han especificat múltiples rols�s’han especificat múltiples directoris destinació�s’han especificat múltiples tipus�s’han especificat múltiples usuaris�no s’han canviat ni l’enllaç simbòlic %s ni el fitxer apuntat �no hi ha variable d’entorn SHELL ni s’ha indicat cap opció de tipus d’intèrpret�no s’ha canviat el propietari de %s �no s’ha especificat cap ordre�no s’ha processat cap sistema de fitxers�no resta cap fitxer�el fitxer d’entrada %s no conté dades�no hi ha nom d’entrada�no s’ha especificat cap identificador de procés�no es pot especificar cap tipus quan es transcriuen cadenes�no s’ha indicat cap nom d’usuari; n’heu d’indicar almenys un si empreu «-l»�l’argument no és enter�el nom de fitxer %2$s conté el caràcter no portable %1$s�no és un tty�no es copiarà a través de l’enllaç simbòlic trencat %s�el número %s és massa gran�el nombre d’ordenacions concurrents ha de ser major que zero�el nombre d’octets�el nombre de línies�el valor d’inici per als sufixs numèrics és massa gran per a la longitud del sufix�la clau «%s» és obsoleta; considereu emprar «%s» al seu lloc�s’ha desbordat el desplaçament en llegir el fitxer %s�es descarta el directori %s�només pot aparèixer una construcció de repetició «[c*]» a la segona cadena�només es pot especificar un dispositiu�només es pot especificar un únic tipus de llista�no s’ha pogut obrir�es descarta l’opció «-%s»�es descarten les opcions «-%s»�l’opció «-r» només afecta la comparació emprada com a darrer recurs�l’opció «%c» no és vàlida en aquest context�les opcions «%s» no són compatibles�les opcions «--backup» i «--no-clobber» són mútuament excloents�les opcions «--compare» (-C) i «--preserve-timestamps» són mútuament excloents�les opcions «--compare» (-C) i «--strip» són mútuament excloents�s’han esgotat els sufixs per als fitxers de sortida�desbordament en augmentar la mida del fitxer %s�desbordament en arrodonir cap amunt la mida del fitxer %s�el propietari de %s es manté �el propietari de %s es manté en «%s» �el comptador de pàgines s’ha desbordat�l’amplada de pàgina és insuficient�en preservar els permisos de %s�en preservar les dates de %s�escriure totes les línies duplicades i el nombre de repeticions és absurd�els extrems del rang «%s-%s» es troben en ordre invers�error de lectura�no s’ha pogut llegir�en llegir el directori %s�el registre és massa gran�es redirigeixen els errors a l’eixida estàndard�fitxer ordinari buit�fitxer ordinari�s’ha eliminat %s �s’ha eliminat el directori: %s �s’està eliminant el directori «%s»�nivll exec�semàfor�el separador no pot ser buit�establiu la variable LC_ALL a «C» per a evitar el problema�en establir els senyaladors de %s�en establir els permisos de %s�en establir les dates de %s�objecte de memòria compartida�«skip-bytes» + «read-bytes» és massa gran�es salta %s perquè es troba en un altre dispositiu�es salta el fitxer %s, que va ser reemplaçat en ser copiat�connector�s’ha desbordat la cua d’SQUFOF�eixida estàndard d’errors�entrada estàndard�l’entrada estàndard està tancada�eixida estàndard�ha fallat stat()�eixida estàndard d’errors�entrada estàndard�eixida estàndard�l’especificació de camp conté un caràcter extraviat�ha fallat la comparació de cadenes�ha fallat la transformació de la cadena�el procés «strip» ha finalitzat de forma anormal�eliminar les línies no delimitades només té sentit quan s’opera amb camps�enllaç simbòlic�error de sintaxi�arrenca sist�la distància de tabulació no pot ser 0�la distància de tabulació conté caràcters no vàlids: %s�les distàncies de tabulació han de ser ascendents�la distància de tabulació %s és massa gran�la distància de tabulació és massa gran�els tabuladors es troben massa separats�la destinació %s no és un directori�no es pot especificar el directori destinació en instaÅ€lar un directori�fin=�test» o «[�les opcions «--binary» i «--text» no tenen sentit a la comprovació de sumes�l’opció «--compare» (-C) no es té en compte quan especifiqueu un mode amb bits que no corresponen a permisos�l’opció «--quiet» només té sentit a la comprovació de sumes�l’opció «--status» només té sentit a la comprovació de sumes�l’opció «--strict» només té sentit a la comprovació de sumes�l’opció «--tag» no té sentit a la comprovació de sumes�l’opció «--warn» només té sentit a la comprovació de sumes�en traduir, la construcció «[c*]» només pot aparèxier a la segona cadena�la construcció de repetició «[c*]» no pot aparèixer a la primera cadena�manca un «+» al davant de l’argument %s; quan empreu una opció per a especificar dates, cal que qualsevol argument noâ€opció siga una cadena de format que comence per «+»�el delimitador ha de ser un únic caràcter�l’ordre llançada ha bolcat la seua memòria�les opcions per a mostrar les propietats de forma llegible per humans i per «stty» són mútuament excloents�l’opció que mostra la base de dades interna de «dircolors» i la que selecciona una sintaxi d’intèrpret són mútuament excloents�no es poden emprar alhora les opcions per a mostrar i per a establir dates�les opcions per a especificar dates a mostrar són mútuament excloents�Les cadenes comparades eren %s i %s.�no es pot emprar l’opció «--strip» en instaÅ€lar un directori�la longitud del sufix ha de ser almenys %zu�la cadena sense transformar era %s�la data %s està fora de rang�per a emprar l’identificador d’usuari %s també heu d’emprar l’opció «-g»�la plantilla %s conté massa pocs caràcters «X»�sobren especificacions de conversió «%%» al sufix�el conjunt conté massa caràcters�hi ha massa línies repetides�s’han indicat massa plantilles�total�no s’ha pogut recórrer: %s�objecte de memòria amb tipus�uid=%s�no s’ha pogut mostrar el missatge d’error�no s’ha pogut registrar el directori de treball actual�no s’ha pogut establir el context de seguretat «%s»�error inesperat: fts_info=%d: %s Per favor, informeu %s.�l’operador binari no és conegut�l’estat d’eixida de l’ordre és desconegut (0x%X)�flux desconegut�l’identificador d’usuari no és conegut: %s�el valor de la variable d’entorn LS_COLORS no és interpretable�no es reconeix el tipus de sistema de fitxers 0x%08lx de %s (informeu d’açò a %s), es recorrerà a l’enquesta�l’operand %s no és reconegut�el prefix no és reconegut: %s�en marxa %ld dia %2d:%02d, �en marxa %ld dies %2d:%02d, �en marxa ???? dies ??:??, �empreu «--no-preserve-root» per a evitar aquesta comprovació�s’estan emprant les regles d’ordenació de %s�no es pot indicar l’entrada estàndard (%s) en emprar el mode de sistema de fitxers�s’està emprant la comparació directa d’octets�en esperar la finalització de «%s [-d]»�en esperar la finalització del procés fill�en esperar la finalització d’«strip»�avís: �avís: %s: s’han descartat els caràcters que segueixen la constant caràcter�avís: %s: no s’ha pogut canviar el context a «%s»�avís: «touch %s» és obsoleta; empreu «touch -t %04ld%02d%02d%02d%02d.%02d»�avís: aquest sistema no permet l’opció «--pid=PID»�avís: «--retry» sol ser útil només quan es segueix la pista d’un nom�avís: es descarta el PID; «--pid=PID» només és útil en fer seguiments�avís: no és portable emprar una barra invertida sense escapada al final de la línia�avís: hi ha una barra invertida al final de la línia�avís: no s’ha pogut eliminar: %s�avís: no s’han pogut inhabilitar els bolcats de memòria�avís: seguir indefinidament l’entrada estàndard no és efectiu�avís: es descarten els arguments sobrants, començant per %s�avís: després de la lectura fallada el desplaçament de fitxer no és vàlid�atenció: l’amplada %lu no és vàlida; s’emprarà %d�avís: el número de línia %s és el mateix que el número anterior�avís: s’ha especificat el fitxer origen %s més d’una vegada�avís: resumir no és compatible amb «--max-depth=%lu»�avís: resumir equival a utilitzar «--max-depth=0»�avís: la seqüència ambígua d’escapada en octal «\%c%c%c» s’interpreta com la seqüència de 2 octets «\0%c%c», «%c»�avís: ha fallat timer_create()�avís: ha fallat timer_settime()�avís: la seqüència d’escapada «\%c» no és reconeguda�avís: s’evita un error del nucli en lseek() per al fitxer «%s» de tipus mt_type=0x%0lx —vegeu <sys/mtio.h> per a la llista de tipus�fitxer estrany�si no es trunca el primer joc, la segona cadena no pot ser nuÅ€la�no es permet %s entre els noms de fitxer llegits per l’entrada estàndard�no es poden establir modes en especificar un estil d’eixida�en traduir amb classes de caràcters complementàries, la segona cadena ha d’assignar tots els caràcters del domini a un de sol�en traduir amb una primera cadena més llarga que la segona, aquesta última no pot acabar en una classe de caràcters�en traduir, les úniques classes de caràcters que poden aparèixer a la segona cadena són «upper» i «lower»�no es copiarà %s a través de l’enllaç simbòlic tot just creat %s�no es crearà l’enllaç fort %s cap al directori %s�no es sobreescriurà %s, tot just creat, amb %s�en emprar «--parents», la destinació ha de ser un directori�en indicar «--suffix», cal que la plantilla %s acabe en «X»�amb «FILE=%1$s», l’ordre «%3$s» ha eixit amb l’estat %2$d�amb «FILE=%1$s», l’ordre «%3$s» ha rebut el senyal %2$s�error d’escriptura�error en escriure %s�no s’ha pogut escriure�en escriure %s�cal que empreu les opcions «-c», «-t», «-u», «-l», «-r» o que especifiqueu un context�cal que especifiqueu una llista d’octets, caràcters o camps�en emprar %2$s, cal que especifiqueu %1$s de forma relativa�cal que especifiqueu %s o %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% registres llegits %+% registres escrits �% registre truncat �% registres truncats �% octet (%s) copiat�% octets (%s) copiats�el desplaçament és massa gran: no es pot truncar a una longitud de % blocs de %lu octets�no s’ha pogut truncar a % octets al fitxer d’eixida %s�no s’ha pogut reservar una memòria intermèdia de % octets per al flux estàndard �%s: %: la línia de suma %s està mal formatada�avís: % línia està mal formatada�avís: % línies estan mal formatades�avís: % fitxer llistat no s’ha pogut llegir�avís: % fitxers llistats no s’han pogut llegir�avís: % suma calculada NO coincideix�avís: % sumes calculades NO coincideixen�el número de pàgina inicial % excedeix el comptador de pàgines %�Pàgina %�desbordament en (% blocs * % octets/bloc) per al fitxer %s�no s’ha pogut truncar %s a % octets�������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/stamp-po��������������������������������������������������������������������������0000664�0000000�0000000�00000000012�12107204520�012431� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������timestamp ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/zh_CN.po��������������������������������������������������������������������������0000664�0000000�0000000�00001436067�12107204515�012343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Simplified Chinese translation of coreutils. # Copyright (C) 1998, 2002, 2004, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Yip Chi Lap <clyip@cs.hku.hk>, 1998. # Abel Cheung <maddog@linux.org.hk>, 2002. # Anthony Fok <anthony@thizlinux.com>, 2002. # Funda Wang <fundawang@linux.net.cn>, 2004, 2005. # Ji ZhengYu <zhengyuji@gmail.com>, 2009. # Aron Xu <happyaron.xu@gmail.com>, 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: coreutils 8.11-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2011-03-28 00:26+0800\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language: zh_CN\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" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s çš„å‚æ•°%1$s 无效" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s çš„å‚æ•°%1$s 䏿˜Žç¡®" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "æœ‰æ•ˆçš„å‚æ•°ä¸ºï¼š" #: lib/closein.c:100 msgid "error closing file" msgstr "关闭文件时出错" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "写入错误" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "%s çš„ä¿ç•™æƒé™" #: lib/error.c:188 msgid "Unknown system error" msgstr "未知的系统错误" #: lib/file-type.c:38 msgid "regular empty file" msgstr "普通空文件" #: lib/file-type.c:38 msgid "regular file" msgstr "普通文件" #: lib/file-type.c:41 msgid "directory" msgstr "目录" #: lib/file-type.c:44 msgid "block special file" msgstr "å—特殊文件" #: lib/file-type.c:47 msgid "character special file" msgstr "字符特殊文件" #: lib/file-type.c:50 msgid "fifo" msgstr "先进先出" #: lib/file-type.c:53 msgid "symbolic link" msgstr "符å·é“¾æŽ¥" #: lib/file-type.c:56 msgid "socket" msgstr "套接字" #: lib/file-type.c:59 msgid "message queue" msgstr "消æ¯é˜Ÿåˆ—" #: lib/file-type.c:62 msgid "semaphore" msgstr "ä¿¡å·é‡" #: lib/file-type.c:65 msgid "shared memory object" msgstr "共享内存对象" #: lib/file-type.c:68 msgid "typed memory object" msgstr "共享内存对象" #: lib/file-type.c:70 msgid "weird file" msgstr "夿€ªæ–‡ä»¶" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "主机å的地å€å®¶æ—ä¸è¢«æ”¯æŒ" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "åç§°è§£æžå‡ºçŽ°ä¸´æ—¶é”™è¯¯" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "错误的ai_flags 值" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "åç§°è§£æžæ—¶å‡ºçްä¸å¯æ¢å¤çš„错误" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "䏿”¯æŒçš„ai_family" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "内存分é…失败" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "没有与主机åå…³è”的地å€" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "å称或æœåŠ¡æœªçŸ¥" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "ai_socktype 䏿”¯æŒ Servname" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "䏿”¯æŒai_socktype" #: lib/gai_strerror.c:67 msgid "System error" msgstr "系统错误" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "傿•°ç¼“冲区太å°" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "正在处ç†è¯·æ±‚" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "è¯·æ±‚å·²å–æ¶ˆ" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "è¯·æ±‚æœªå–æ¶ˆ" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "全部请求已完æˆ" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "被信å·ä¸­æ–­" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "傿•°å­—符串编ç ä¸æ­£ç¡®" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "未知错误" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s:选项\"%s\"歧义\n" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s:选项\"--%s\"ä¸å…è®¸å¸¦å‚æ•°\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s:选项\"%c%s\"ä¸å…è®¸å¸¦å‚æ•°\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s:选项\"--%s\"å¿…éœ€å¸¦å‚æ•°\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s:无法识别的选项\"--%s\"\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s:无法识别的选项\"%c%s\"\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s:无效选项 -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%sï¼šé€‰é¡¹å¿…éœ€å¸¦å‚æ•° -- \"%c\"\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s:选项\"-W %s\"歧义\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s:选项\"-W %s\"ä¸å…è®¸å¸¦å‚æ•°\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s:选项\"-W %s\"å¿…éœ€å¸¦å‚æ•°\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "无法更改%s çš„æƒé™" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "无法创建目录%s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "内存耗尽" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "无法记录目å‰çš„工作目录" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "返回到åˆå§‹å·¥ä½œç›®å½•失败" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "\"" #: lib/quotearg.c:313 msgid "'" msgstr "\"" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s:文件结æŸ" #: lib/regcomp.c:131 msgid "Success" msgstr "æˆåŠŸ" #: lib/regcomp.c:134 msgid "No match" msgstr "无匹é…" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "无效的正则表达å¼" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "无效的校勘字符" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "无效的字符类型å" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "æœ«å°¾çš„åæ–œæ " #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "无效的åŽå‘引用" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "未匹é…çš„[ 或[^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "未匹é…çš„( 或\\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "未匹é…çš„\\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "\\{\\} 中内容无效" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "无效的范围结æŸç¬¦" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "内存耗尽" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "无效的å‰ç½®æ­£åˆ™è¡¨è¾¾å¼" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "正则表达å¼å¼‚常结æŸ" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "正则表达å¼è¿‡é•¿" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "未匹é…çš„ ) 或 \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "缺少之å‰çš„æ­£åˆ™è¡¨è¾¾å¼" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "在%s 进行递归æ“作å分å±é™©" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "在%s 进行递归æ“作å分å±é™©(与%s 相åŒ)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "使用 --no-preserve-root 选项跳过安全模å¼" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "设置%s çš„æƒé™" #: lib/siglist.h:31 msgid "Hangup" msgstr "挂起" #: lib/siglist.h:34 msgid "Interrupt" msgstr "中断" #: lib/siglist.h:37 msgid "Quit" msgstr "退出" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "éžæ³•æ“作" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "跟踪/断点陷阱" #: lib/siglist.h:46 msgid "Aborted" msgstr "已中止" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "浮点数异常" #: lib/siglist.h:52 msgid "Killed" msgstr "å·²æ€æ­»" #: lib/siglist.h:55 msgid "Bus error" msgstr "总线错误" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "段错误" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "管é“中断" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "时钟警告" #: lib/siglist.h:67 msgid "Terminated" msgstr "已终止" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "急需I/O æ¡ä»¶" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "å·²åœæ­¢(ä¿¡å·)" #: lib/siglist.h:76 msgid "Stopped" msgstr "å·²åœæ­¢" #: lib/siglist.h:79 msgid "Continued" msgstr "已继续" #: lib/siglist.h:82 msgid "Child exited" msgstr "å­è¿›ç¨‹å·²é€€å‡º" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "å·²åœæ­¢(tty 输入)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "å·²åœæ­¢(tty 输出)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "å¯èƒ½éœ€è¦I/O" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "CPU æ—¶é—´è¶…æ—¶" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "文件大å°è¶…过é™åˆ¶" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "虚拟记时器过期" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "定时器æè¿°å·²è¿‡æœŸ" #: lib/siglist.h:106 msgid "Window changed" msgstr "窗å£å·²æ›´æ”¹" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "ç”¨æˆ·è‡ªå®šä¹‰ä¿¡å· 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "ç”¨æˆ·è‡ªå®šä¹‰ä¿¡å· 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "æ•获EMT ä¿¡å·" #: lib/siglist.h:120 msgid "Bad system call" msgstr "错误的系统调用" #: lib/siglist.h:123 msgid "Stack fault" msgstr "栈错误" #: lib/siglist.h:126 msgid "Information request" msgstr "ä¿¡æ¯è¯·æ±‚" #: lib/siglist.h:128 msgid "Power failure" msgstr "电æºé”™è¯¯" #: lib/siglist.h:131 msgid "Resource lost" msgstr "资æºä¸¢å¤±" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "无法创建先进先出文件%s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s:检索失败" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "实时信å·%d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "未知信å·%d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv 函数无法使用" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv 函数ä¸å­˜åœ¨" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "å­—ç¬¦å€¼è¶…å‡ºå¯æŽ¥å—的范围以外" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "无法将U+%04X 转æ¢è‡³ç”¨æˆ·çš„字符集" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "无法将U+%04X 转æ¢è‡³ç”¨æˆ·çš„字符集:%s" #: lib/userspec.c:106 msgid "invalid user" msgstr "无效的用户" #: lib/userspec.c:107 msgid "invalid group" msgstr "无效的组" #: lib/userspec.c:108 msgid "invalid spec" msgstr "无效的 spec" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "无法显示错误信æ¯" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "ç”±%s (%s)打包\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "ç”±%s 打包\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "许å¯è¯ï¼šGPLv3+:GNU 通用公共许å¯è¯ç¬¬3 版或更新版本<http://gnu.org/licenses/" "gpl.html>。\n" "本软件是自由软件:您å¯ä»¥è‡ªç”±ä¿®æ”¹å’Œé‡æ–°å‘布它。\n" "在法律范围内没有其他ä¿è¯ã€‚\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "ç”±%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "ç”±%s å’Œ%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "ç”±%sã€%s å’Œ%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "ç”±%sã€%sã€%s å’Œ\n" "%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%s å’Œ %s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%sã€%s å’Œ %s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%sã€%sã€%s å’Œ %s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%sã€%sã€%sã€%s\n" "å’Œ%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%sã€%sã€%sã€%sã€\n" "%sã€å’Œ%s 编写。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "ç”±%sã€%sã€%sã€\n" "%sã€%sã€%sã€%sã€\n" "%sã€%sã€å’Œå…¶ä»–人编写。\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "请å‘<%s> æŠ¥å‘Šè½¯ä»¶é”™è¯¯ã€‚è¯·å‘ <i18n-zh@googlegroups.com> 报告翻译错误。\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "è¯·å‘ %2$s 报告 %1$s 的错误\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 的主页:<%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s 项目主页:<http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "打开失败" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "标准输入" #: lib/xfreopen.c:36 msgid "stdout" msgstr "标准输出" #: lib/xfreopen.c:37 msgid "stderr" msgstr "标准错误" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "未知æµ" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "以%s 模å¼é‡æ–°æ‰“å¼€%s 失败" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "字符串比较出现错误" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "请设置LC_ALL='C' 以é¿å…出现问题。" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "è¦æ¯”较的字符串为%s å’Œ%s。" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "ä¸èƒ½æ‰§è¡Œæ ¼å¼åŒ–输出" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "éžæ³•çš„%s%s 傿•°\"%s\"" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "éžæ³•çš„åŽç¼€åœ¨%s%s 傿•°\"%s\"" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s 傿•°\"%s\"太大" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "用法:%s [选项]... [文件]\n" "使用 Base64 ç¼–ç /è§£ç æ–‡ä»¶æˆ–标准输入输出。\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode\t\tè§£ç æ•°æ®\n" " -i, --ignore-garbag\tè§£ç æ—¶å¿½ç•¥éžå­—æ¯å­—符\n" " -w, --wrap=字符数\t在指定的字符数åŽè‡ªåЍæ¢è¡Œ(默认为76),0 为ç¦ç”¨è‡ªåЍæ¢è¡Œ\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "如果没有指定文件,或者文件为\"-\",则从标准输入读å–。\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "æ•°æ®ä»¥ RFC 3548 规定的 Base64 å­—æ¯æ ¼å¼è¿›è¡Œç¼–ç ã€‚ è§£ç æ—¶ï¼Œè¾“入数æ®(加密æµ)å¯èƒ½" "包å«ä¸€äº›éžæœ‰æ•ˆ Base64 字符的新行字符。å¯ä»¥å°è¯•用 --ignore-garbage é€‰é¡¹æ¥æ¢å¤" "加密æµä¸­ä»»ä½•éž base64 字符。\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "读å–错误" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "输入无效" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "无效的æ¢è¡Œå­—符数:%s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "é¢å¤–çš„æ“作数 %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "关闭标准输入" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "用法:%s åç§° [åŽç¼€]\n" " 或:%s 选项\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "去掉å‰å¯¼çš„ç›®å½•éƒ¨åˆ†åŽæ‰“å°\"åç§°\"。\n" "如果指定的è¯ï¼Œè¿˜ä¼šåŽ»æŽ‰å°¾éšçš„\"åŽç¼€\"。\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "缺少æ“作数" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "用法:%s [选项]... [文件]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "å°†[文件]或标准输入组åˆè¾“出到标准输出。\n" "\n" " -A, --show-all 等于-vET\n" " -b, --number-nonblank 对éžç©ºè¾“出行编å·\n" " -e 等于-vE\n" " -E, --show-ends 在æ¯è¡Œç»“æŸå¤„显示\"$\"\n" " -n, --number 对输出的所有行编å·\n" " -s, --squeeze-blank ä¸è¾“出多行空行\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t 与-vT 等价\n" " -T, --show-tabs 将跳格字符显示为^I\n" " -u (被忽略)\n" " -v, --show-nonprinting 使用^ å’ŒM- 引用,除了LFDå’Œ TAB 之外\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "示例:\n" " %s f - g 先输出f 的内容,然åŽè¾“出标准输入的内容,最åŽè¾“出g 的内容。\n" " %s 将标准输入的内容å¤åˆ¶åˆ°æ ‡å‡†è¾“出。\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "无法在 %s 上执行 ioctrl" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "标准输出" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s:输入文件是输出文件" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "创建安全环境失败:%s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "设置%s 安全环境组件到%s 失败" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "无法å–å¾—%s 的安全环境" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "éƒ¨åˆ†å…³è”æ— æ³•应用于文件%s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "改å˜%s 的环境到%s 失败" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "无法访问%s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "无法读å–目录%s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "正在更改%s 的安全环境\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read 失败" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close 失败" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法: %s [选项]... 环境 文件...\n" " 或: %s [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件...\n" " 或: %s [选项]... --reference=å‚考文件 文件...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "å°†æ¯ä¸ªæ–‡ä»¶çš„å®‰å…¨çŽ¯å¢ƒå˜æ›´è‡³æŒ‡å®šçŽ¯å¢ƒã€‚\n" "使用 --reference 选项时,把指定文件的安全环境设置为与å‚考文件相åŒã€‚\n" "\n" " -h, --no-dereference\t\tå½±å“符å·è¿žæŽ¥è€Œéžå¼•用的文件。\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=用户 \t\t设置指定用户的目标安全环境\n" " -r, --role=角色 \t\t设置指定角色的目标安全环境\n" " -t, --type=类型 \t\t设置指定类型的目标安全环境\n" " -l, --range=范围 \t\t设置指定范围的目标安全环境\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root\tä¸ç‰¹æ®Šå¯¹å¾…\"/\"(默认值)\n" " --preserve-root\t\tä¸å…许在\"/\"上递归æ“作\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=å‚考文件\t使用指定å‚è€ƒæ–‡ä»¶çš„å®‰å…¨çŽ¯å¢ƒï¼Œè€ŒéžæŒ‡å®šå€¼\n" " -R, --recursive \té€’å½’å¤„ç†æ‰€æœ‰çš„æ–‡ä»¶åŠå­ç›®å½•\n" " -v, --verbose \t为处ç†çš„æ‰€æœ‰æ–‡ä»¶æ˜¾ç¤ºè¯Šæ–­ä¿¡æ¯\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。\n" "å¦‚æžœæ‚¨æŒ‡å®šäº†å¤šäºŽä¸€ä¸ªé€‰é¡¹ï¼Œé‚£ä¹ˆåªæœ‰æœ€åŽä¸€ä¸ªä¼šç”Ÿæ•ˆã€‚\n" "\n" " -H å¦‚æžœå‘½ä»¤è¡Œå‚æ•°æ˜¯ä¸€ä¸ªé€šåˆ°ç›®å½•的符å·é“¾æŽ¥ï¼Œåˆ™é历符å·é“¾æŽ¥\n" " -L é历æ¯ä¸€ä¸ªé‡åˆ°çš„通到目录的符å·é“¾æŽ¥\n" " -P ä¸é历任何符å·é“¾æŽ¥(默认)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference 需è¦-H 或-L 其中之一" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h 需è¦-P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "%s åŽç¼ºå°‘æ“作数" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "无效模å¼ï¼š%s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "给出的安全环境说明冲çª" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "无法å–å¾—%s 的属性" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "无效的组:%s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [选项]... 用户组 文件...\n" " 或:%s [选项]... --reference=å‚考文件 文件...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "å°†æ¯ä¸ªæ–‡ä»¶çš„å®‰å…¨çŽ¯å¢ƒå˜æ›´è‡³æŒ‡å®šçŽ¯å¢ƒã€‚\n" "使用 --reference 选项时,把指定文件的安全环境设置为与å‚考文件相åŒã€‚\n" "\n" " -h, --no-dereference\t\tå½±å“符å·è¿žæŽ¥è€Œéžå¼•用的文件。\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference\t\t会影å“符å·é“¾æŽ¥æœ¬èº«ï¼Œè€Œéžç¬¦å·é“¾æŽ¥æ‰€æŒ‡ç¤ºçš„目的地\n" "\t\t\t\t(å½“ç³»ç»Ÿæ”¯æŒæ›´æ”¹ç¬¦å·é“¾æŽ¥çš„æ‰€æœ‰è€…æ—¶ï¼Œæ­¤é€‰é¡¹æ‰æœ‰ç”¨)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "示例:\n" " %s staff /u å°† /u 的属组更改为\"staff\"。\n" " %s -hR staff /u å°† /u åŠå…¶å­ç›®å½•下所有文件的属组更改为\"staff\"。\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "检查 %s 的新属性" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "符å·é“¾æŽ¥%s 和该链接所指示的对象都未被更改\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s çš„æƒé™æ¨¡å¼å·²æ›´æ”¹ä¸º%04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "无法将%s çš„æƒé™æ¨¡å¼æ›´æ”¹ä¸º%04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s çš„æƒé™æ¨¡å¼ä¿ç•™ä¸º%04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "无法创建符å·é“¾æŽ¥%s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "更改%s çš„æƒé™" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s:新的æƒé™ä¸º%s,而éž%s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [选项]... 模å¼[,模å¼]... 文件...\n" " 或:%s [选项]... å…«è¿›åˆ¶æ¨¡å¼ æ–‡ä»¶...\n" " 或:%s [选项]... --reference=å‚考文件 文件...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "å°†æ¯ä¸ªæ–‡ä»¶çš„å®‰å…¨çŽ¯å¢ƒå˜æ›´è‡³æŒ‡å®šçŽ¯å¢ƒã€‚\n" "使用 --reference 选项时,把指定文件的安全环境设置为与å‚考文件相åŒã€‚\n" "\n" " -h, --no-dereference\t\tå½±å“符å·è¿žæŽ¥è€Œéžå¼•用的文件。\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=å‚考文件\t使用指定å‚è€ƒæ–‡ä»¶çš„å®‰å…¨çŽ¯å¢ƒï¼Œè€ŒéžæŒ‡å®šå€¼\n" " -R, --recursive \té€’å½’å¤„ç†æ‰€æœ‰çš„æ–‡ä»¶åŠå­ç›®å½•\n" " -v, --verbose \t为处ç†çš„æ‰€æœ‰æ–‡ä»¶æ˜¾ç¤ºè¯Šæ–­ä¿¡æ¯\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "æ¯ç§ MODE 都应属于这类形å¼\"[ugoa]*([-+=]([rwxXst]*|[ugo]))+\"。\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "无法组åˆä½¿ç”¨ mode å’Œ --reference 选项" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "无效模å¼ï¼š%s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s 的所有者已更改为%s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s 的所属组已更改为%s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "%s 的归属关系未更改\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "无法更改%s 的所有者为%s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "无法更改%s 的所属组为%s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "更改%s 的所有者失败\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "无法更改%s 的所有者为%s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "无法更改%s 的所属组为%s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s 的所有者已ä¿ç•™ä¸º%s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s 的所属组已ä¿ç•™ä¸º%s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s 的所有æƒå·²ä¿ç•™\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "æ— æ³•å–æ¶ˆ%s 的引用" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "正在更改%s 的所有者" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "正在更改%s 的所属组" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [选项]... [所有者][:[组]] 文件...\n" " 或:%s [选项]... --reference=å‚考文件 文件...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=当剿‰€æœ‰è€…:当剿‰€å±žç»„\n" " \tåªå½“æ¯ä¸ªæ–‡ä»¶çš„æ‰€æœ‰è€…和组符åˆé€‰é¡¹æ‰€æŒ‡å®šæ—¶æ‰æ›´æ”¹æ‰€\n" "\t\t\t\t有者和组。其中一个å¯ä»¥çœç•¥ï¼Œè¿™æ—¶å·²çœç•¥çš„属性就ä¸\n" "\t\t\t\t需è¦ç¬¦åˆåŽŸæœ‰çš„å±žæ€§ã€‚\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "如果没有指定所有者,则ä¸ä¼šæ›´æ”¹ã€‚ 所属组若没有指定也ä¸ä¼šæ›´æ”¹ï¼Œä½†å½“加上\n" "\":\"æ—¶ GROUP 会更改为指定所有者的主è¦ç»„。所有者和所属组å¯ä»¥æ˜¯æ•°å­—或å称。\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "示例:\n" " %s root /u\t\tå°† /u 的属主更改为\"root\"。\n" " %s root:staff /u\t和上é¢ç±»ä¼¼ï¼Œä½†åŒæ—¶ä¹Ÿå°†å…¶å±žç»„更改为\"staff\"。\n" " %s -hR root /u\tå°† /u åŠå…¶å­ç›®å½•下所有文件的属主更改为\"root\"。\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "无效的组%s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "无效的组列表%s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "设置附加组失败" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "用法:%s [选项] æ–°æ ¹ [命令 [傿•°]...]\n" " 或:%s 选项\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "以指定的新根为è¿è¡ŒæŒ‡å®šå‘½ä»¤æ—¶çš„的根目录。\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=用户:组 指定所用的用户åŠç”¨æˆ·ç»„(å¯ä½¿ç”¨\"æ•°å­—\"或\"åå­—\")\n" " --groups=组列表 指定å¯ä¾›é€‰æ‹©çš„用户组列表,形如组1,组2,组3...\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "如果没有指定命令,则è¿è¡Œ\"${SHELL} -i\" (默认:/bin/sh)。\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "无法进入目录%s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "无法切æ¢åˆ°æ ¹ç›®å½•" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "设置组ID 失败" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "设置用户ID 失败" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "无法è¿è¡Œå‘½ä»¤%s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s:文件太大" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "用法:%s [文件]...\n" " 或:%s [选项]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "输出æ¯ä¸ªæ–‡ä»¶çš„ CRC 校验值和字节统计。\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "用法:%s [选项]... 文件1 文件2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "é€è¡Œæ¯”较已排åºçš„æ–‡ä»¶æ–‡ä»¶1 和文件2。\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "如果ä¸é™„带选项,程åºä¼šç”Ÿæˆä¸‰åˆ—è¾“å‡ºã€‚ç¬¬ä¸€åˆ—åŒ…å«æ–‡ä»¶1 ç‰¹æœ‰çš„è¡Œï¼Œç¬¬äºŒåˆ—åŒ…å« æ–‡ä»¶" "2 特有的行,而第三列包å«ä¸¤ä¸ªæ–‡ä»¶å…±æœ‰çš„行。\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1\t\tä¸è¾“出文件1 特有的行\n" " -2\t\tä¸è¾“出文件2 特有的行\n" " -3\t\tä¸è¾“出两个文件共有的行\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order\t\t\t检查输入是å¦è¢«æ­£ç¡®æŽ’åºï¼Œå³ä½¿æ‰€æœ‰è¾“å…¥è¡Œå‡æˆå¯¹\n" " --nocheck-order\t\t䏿£€æŸ¥è¾“入是å¦è¢«æ­£ç¡®æŽ’åº\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR\tä¾ç…§STR 分列\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "注æ„,比较æ“作éµä»Ž\"LC_CPLLATE\"所定义的规则。\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "示例:\n" " %s -12 文件1 文件2 åªæ‰“å°åœ¨æ–‡ä»¶1 和文件2 中都有的行\n" " %s -3 文件1 文件2 打å°åœ¨æ–‡ä»¶1 中有,而文件2 中没有的行。å之亦然。\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "文件%d 没有被正确排åº" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "已定义多é‡åˆ†éš”符" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "ä¸å…许空的%s" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "读å–%s 时出错" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "无法lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "写入%s 出错" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s:无法获得 extent ä¿¡æ¯" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s:写入失败" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "扩展%s 失败" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "清除%s çš„æƒé™" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "无法ä¿ç•™%s 的所有者" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "查阅文件%s 失败" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "ä¿ç•™%s 的作者失败" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "无法打开%s è¯»å–æ•°æ®" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "无法获å–%s 的文件状æ€(fstat)" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "跳过文件%s,因为在准备å¤åˆ¶æ—¶å®ƒå·²è¢«å…¶å®ƒæ–‡ä»¶å–代" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "èŽ·å–æ–‡ä»¶ç³»ç»Ÿåˆ›å»ºçŽ¯å¢ƒå¤±è´¥" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "设置%s 的安全环境为%s 失败" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "无法删除%s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "已删除%s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "无法通过符å·é“¾æŽ¥%s 进行æ“作" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "无法创建普通文件%s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "克隆%s 失败" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "正在ä¿ç•™ %s 的时间" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "打开%s 失败" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s:是å¦è¦†ç›–%s,而ä¸ç†ä¼šæƒé™æ¨¡å¼%04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s:是å¦è¦†ç›–%s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (备份:%s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "æ¢å¤é»˜è®¤æ–‡ä»¶åˆ›å»ºçŽ¯å¢ƒå¤±è´¥" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "无法创建指å‘%2$s 的硬链接%1$s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "无法获å–%s 的文件状æ€(stat)" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "略过目录%s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "è­¦å‘Šï¼šæŒ‡å®šæ¥æºæ–‡ä»¶%s 多于一次" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s 与%s 为åŒä¸€æ–‡ä»¶" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "无法以目录%2$s æ¥è¦†ç›–éžç›®å½•%1$s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "ä¸ä¼šä»¥%2$s 覆盖刚创建的%1$s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "无法以éžç›®å½•æ¥è¦†ç›–目录%s" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "无法将目录移动至éžç›®å½•:%s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "备份%s ä¼šç ´åæºæ–‡ä»¶ï¼›æœªç§»åŠ¨%s" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "备份%s ä¼šç ´åæºæ–‡ä»¶ï¼›æœªå¤åˆ¶%s" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "无法备份%s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ä¸ä¼šä»¥%s 覆盖刚创建的%s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "无法将目录%s å¤åˆ¶åˆ°è‡ªå·±%s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ä¸ä¼šåˆ›å»ºæŒ‡å‘目录%2$s 的硬链接%1$s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "无法将目录%s 移动至自身的å­ç›®å½•%s 下" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "无法将%s 移动至%s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "无法进行跨设备的移动:%s 至%s;无法删除目标" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "无法å–å¾—%s 的创建环境" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "无法å¤åˆ¶å¾ªçŽ¯çš„ç¬¦å·é“¾æŽ¥%s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s:åªèƒ½äºŽå½“å‰ç›®å½•中创建相对的符å·é“¾æŽ¥" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "无法创建指å‘%2$s 的符å·é“¾æŽ¥%1$s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "无法创建先进先出文件%s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "无法创建特殊文件%s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "无法读å–符å·é“¾æŽ¥%s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "无法创建符å·é“¾æŽ¥%s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s 的文件类型ä¸è¯¦" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "无法将%s 的备份还原" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (还原备份)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "用法:%s [选项]... [-T] æºæ–‡ä»¶ 目标文件\n" " 或:%s [选项]... æºæ–‡ä»¶... 目录\n" " 或:%s [选项]... -t 目录 æºæ–‡ä»¶...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "å°†æºæ–‡ä»¶å¤åˆ¶è‡³ç›®æ ‡æ–‡ä»¶ï¼Œæˆ–å°†å¤šä¸ªæºæ–‡ä»¶å¤åˆ¶è‡³ç›®æ ‡ç›®å½•。\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive\t\t\t等于-dR --preserve=all\n" " --attributes-only\tä»…å¤åˆ¶å±žæ€§è€Œä¸å¤åˆ¶æ•°æ® --backup[=CONTROL\t\t为" "æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份\n" " -b\t\t\t\t类似--backup 但䏿ޥå—傿•°\n" " --copy-contents\t\tåœ¨é€’å½’å¤„ç†æ˜¯å¤åˆ¶ç‰¹æ®Šæ–‡ä»¶å†…容\n" " -d\t\t\t\t等于--no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force\t\t\t如果目标文件无法打开则将其移除并é‡è¯•(当 -n 选项\n" "\t\t\t\t\t存在时则ä¸éœ€å†é€‰æ­¤é¡¹)\n" " -i, --interactive\t\t覆盖å‰è¯¢é—®(使å‰é¢çš„ -n 选项失效)\n" " -H\t\t\t\tè·Ÿéšæºæ–‡ä»¶ä¸­çš„命令行符å·é“¾æŽ¥\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link\t\t\t链接文件而ä¸å¤åˆ¶\n" " -L, --dereference\t\t总是跟éšç¬¦å·é“¾æŽ¥\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber\t\tä¸è¦è¦†ç›–已存在的文件(使å‰é¢çš„ -i 选项失效)\n" " -P, --no-dereference\t\tä¸è·Ÿéšæºæ–‡ä»¶ä¸­çš„符å·é“¾æŽ¥\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p\t\t\t\t等于--preserve=模å¼,所有æƒ,时间戳\n" " --preserve[=属性列表\tä¿æŒæŒ‡å®šçš„属性(默认:模å¼,所有æƒ,时间戳),如果\n" "\t\t\t\t\tå¯èƒ½ä¿æŒé™„加属性:环境ã€é“¾æŽ¥ã€xattr ç­‰\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --sno-preserve=属性列表\tä¸ä¿ç•™æŒ‡å®šçš„æ–‡ä»¶å±žæ€§\n" " --parents\t\t\tå¤åˆ¶å‰åœ¨ç›®æ ‡ç›®å½•åˆ›å»ºæ¥æºæ–‡ä»¶è·¯å¾„中的所有目录\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive\t\t递归å¤åˆ¶ç›®å½•åŠå…¶å­ç›®å½•内的所有内容\n" " --reflink[=WHEN]\t\t控制克隆/CoW 副本。请查看下é¢çš„内如。\n" " --remove-destination\tå°è¯•打开目标文件å‰å…ˆåˆ é™¤å·²å­˜åœ¨çš„目的地\n" "\t\t\t\t\t文件 (相对于 --force 选项)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WHEN\t\tæŽ§åˆ¶åˆ›å»ºç¨€ç–æ–‡ä»¶çš„æ–¹å¼\n" " --strip-trailing-slashes\tåˆ é™¤å‚æ•°ä¸­æ‰€æœ‰æºæ–‡ä»¶/目录末端的斜æ \n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link\t\tåªåˆ›å»ºç¬¦å·é“¾æŽ¥è€Œä¸å¤åˆ¶æ–‡ä»¶\n" " -S, --suffix=åŽç¼€\t\t自行指定备份文件的åŽç¼€\n" " -t, --target-directory=目录\tå°†æ‰€æœ‰å‚æ•°æŒ‡å®šçš„æºæ–‡ä»¶/目录\n" " å¤åˆ¶è‡³ç›®æ ‡ç›®å½•\n" " -T, --no-target-directory\t将目标目录视作普通文件\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update\t\t\tåªåœ¨æºæ–‡ä»¶æ¯”目标文件新,或目标文件\n" "\t\t\t\t\tä¸å­˜åœ¨æ—¶æ‰è¿›è¡Œå¤åˆ¶\n" " -v, --verbose\t\t显示详细的进行步骤\n" " -x, --one-file-system\tä¸è·¨è¶Šæ–‡ä»¶ç³»ç»Ÿè¿›è¡Œæ“作\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "é»˜è®¤æƒ…å†µä¸‹ï¼Œæºæ–‡ä»¶çš„ç¨€ç–æ€§ä»…仅通过简å•的方法判断,对应的目标文件目标文件也\n" "被为稀ç–。这是因为默认情况下使用了--sparse=auto 傿•°ã€‚如果明确使用\n" "--sparse=always 傿•°åˆ™ä¸è®ºæºæ–‡ä»¶æ˜¯å¦åŒ…å«è¶³å¤Ÿé•¿çš„0 åºåˆ—也将目标文件创文\n" "建为稀ç–件。\n" "使用--sparse=never 傿•°ç¦æ­¢åˆ›å»ºç¨€ç–文件。\n" "\n" "当指定了--reflink[=always] 傿•°æ—¶æ‰§è¡Œè½»é‡åŒ–çš„å¤åˆ¶ï¼Œå³åªåœ¨æ•°æ®å—被修改的\n" "情况下æ‰å¤åˆ¶ã€‚如果å¤åˆ¶å¤±è´¥æˆ–è€…åŒæ—¶æŒ‡å®šäº†--reflink=auto,则返回标准å¤åˆ¶æ¨¡" "å¼ã€‚\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "备份文件的åŽç¼€ä¸º\"~\",除éžä»¥--suffix 选项或是SIMPLE_BACKUP_SUFFIX\n" "环境å˜é‡æŒ‡å®šã€‚版本控制的方å¼å¯é€šè¿‡--backup 选项或VERSION_CONTROL 环境\n" "å˜é‡æ¥é€‰æ‹©ã€‚以下是å¯ç”¨çš„å˜é‡å€¼ï¼š\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ä¸è¿›è¡Œå¤‡ä»½(å³ä½¿ä½¿ç”¨äº†--backup 选项)\n" " numbered, t 备份文件加上数字进行排åº\n" " existing, nil 若有数字的备份文件已ç»å­˜åœ¨åˆ™ä½¿ç”¨æ•°å­—,å¦åˆ™ä½¿ç”¨æ™®é€šæ–¹å¼å¤‡" "份\n" " simple, never 永远使用普通方å¼å¤‡ä»½\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "æœ‰ä¸€ä¸ªç‰¹åˆ«æƒ…å†µï¼šå¦‚æžœåŒæ—¶æŒ‡å®š--force å’Œ--backup é€‰é¡¹ï¼Œè€Œæºæ–‡ä»¶å’Œç›®æ ‡æ–‡ä»¶\n" "是åŒä¸€ä¸ªå·²å­˜åœ¨çš„一般文件的è¯ï¼Œcp ä¼šå°†æºæ–‡ä»¶å¤‡ä»½ã€‚\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "无法ä¿ç•™%s 的时间" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "ä¿ç•™%s çš„æƒé™å¤±è´¥" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "无法创建目录%s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s 存在但并éžç›®å½•" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "打开%s 失败" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "缺少了文件æ“作数" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "在%s åŽç¼ºå°‘äº†è¦æ“作的目标文件" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "æ— æ³•åŒæ—¶ä½¿ç”¨--target-directory (-t) å’Œ--no-target-directory (-T) 选项" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "目标%s 䏿˜¯ç›®å½•" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "当跟éš--parents 选项时,目的地必须是目录" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "指定了多个目标目录" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "æ— æ³•åŒæ—¶åˆ›å»ºç¡¬é“¾æŽ¥åŠç¬¦å·é“¾æŽ¥" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "选项--backup å’Œ --no-clobber 互斥" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink åªèƒ½ä¸Ž--sparse=auto 一起用" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "备份方å¼" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "无法在未å¯ç”¨SELinux 支æŒçš„内核上使用安全环境" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "无法ä¿ç•™æ‰©å±•属性,当å‰ä½¿ç”¨çš„ cp 副本编译时没有å¯ç”¨ xattr 支æŒ" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "输入消失" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s:行数超出范围" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s:%s:行数超出范围" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " 在循环ä½%s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s:%s:无匹é…" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "æ­£åˆ™è¡¨è¾¾å¼æœç´¢æ—¶å‡ºé”™" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "写入%s 时出错" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s:分界符åŽåº”è¯¥è·Ÿéšæ•´æ•°" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s:在é‡å¤è®¡æ•°ä¸­éœ€è¦\"}\"字符" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}:在\"{\"å’Œ\"}\"之间需è¦ä¸€ä¸ªæ•´æ•°å£°æ˜Ž" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s:闭åˆå®šä¹‰ç¬¦\"%c\"缺失" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s:无效的正则表达å¼ï¼š%s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s:无效的模å¼" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s:行å·å¿…须大于0" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "行å·%s 比先å‰çš„行å·%s æ›´å°" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "警告:行å·%s 比先å‰çš„è¡Œå·æ›´å°" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "下标中丢失了转æ¢è§„æ ¼" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "下标中出现无效的转æ¢è§„格:%c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "下标中出现无效的转æ¢è§„格:\\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "无效的转æ¢å£°æ˜Ž%%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "下标中出现过多的%% 转æ¢è§„格字符" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "下标中丢失了%% 转æ¢è§„格字符" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s:无效数字" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "用法:%s [选项]... 文件 æ ¼å¼...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "按照指定的格å¼å°†æ–‡ä»¶åˆ†å—为\"xx00\"ã€\"xx01\"...并输出。\n" "åŒæ—¶æ¯ä¸ªåˆ†å—文件的字节数也将被输出到标准输出。\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=æ ¼å¼\t使用sprintf æ ¼å¼ä»£æ›¿%02d\n" " -f, --prefix=å‰ç¼€\t\t使用指定å‰ç¼€ä»£æ›¿\"xx\"\n" " -k, --keep-files\t\tä¸ç§»é™¤é”™è¯¯çš„输出文件\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=æ•°ä½\t\t使用指定的进制数ä½ä»£æ›¿äºŒè¿›åˆ¶\n" " -s, --quiet, --silent\t䏿˜¾ç¤ºè¾“出文件的尺寸计数\n" " -z, --elide-empty-files\t删除空的输出文件\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "如果文件为\"-\"ï¼Œåˆ™è¯»å–æ ‡å‡†è¾“入。æ¯ä¸ª\"æ ¼å¼\"å¯ä»¥æ˜¯ï¼š\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " æ•´æ•°\t\t\tä¸åŒ…括指定的行,并以其为文件分å—边界\n" " /表达å¼/[åç§»é‡]\tä¸åŒ…括匹é…到的行,并以其为文件分å—边界\n" " %表达å¼%[åç§»é‡]\t预先跳过匹é…的行数,以其为文件分å—边界\n" " {æ•´æ•°}\t\t将之剿Œ‡å®šçš„æ¨¡å¼é‡å¤æŒ‡å®šçš„æ¬¡æ•°\n" " {*}\t\t\t将之剿Œ‡å®šçš„æ¨¡å¼é‡å¤å°½å¯èƒ½å¤šçš„æ¬¡æ•°ã€‚\n" "\n" "一个行的åç§»é‡éœ€è¦åœ¨æ­£æ•´æ•°å€¼ä¹‹åŽå£°æ˜Ž\"+\" 或 \"-\"。\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "åºå·ä»Ž1 开始计数" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "用法:%s [选项]... [文件]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "从æ¯ä¸ªæ–‡ä»¶ä¸­è¾“出指定部分到标准输出。\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=列表\t\tåªé€‰ä¸­æŒ‡å®šçš„这些字节\n" " -c, --characters=列表\t\tåªé€‰ä¸­æŒ‡å®šçš„这些字符\n" " -d, --delimiter=分界符\t使用指定分界符代替制表符作为区域分界\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=列表\t\tåªé€‰ä¸­æŒ‡å®šçš„è¿™äº›åŸŸï¼›å¹¶æ‰“å°æ‰€æœ‰ä¸åŒ…å«åˆ†ç•Œç¬¦çš„\n" "\t\t\t\t行,除éž-s 选项被指定\n" " -n\t\t\t\t(忽略)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr " --complement\t\t补全选中的字节ã€å­—符或域\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited\t\t䏿‰“å°æ²¡æœ‰åŒ…å«åˆ†ç•Œç¬¦çš„行\n" " --output-delimiter=字符串\t使用指定的字符串作为输出分界符,默认采用输" "å…¥\n" "\t\t\t\t的分界符\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "仅使用f -b, -c 或-f 中的一个。æ¯ä¸€ä¸ªåˆ—表都是专门为一个类别作出的,或者您å¯ä»¥" "用逗å·éš”\n" "å¼€è¦åŒæ—¶æ˜¾ç¤ºçš„ä¸åŒç±»åˆ«ã€‚您的输入顺åºå°†ä½œä¸ºè¯»å–顺åºï¼Œæ¯ä¸ªä»…能输入一次。\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "æ¯ç§å‚æ•°æ ¼å¼è¡¨ç¤ºèŒƒå›´å¦‚下:\n" " N\t从第1 个开始数的第N 个字节ã€å­—符或域\n" " N-\t从第N 个开始到所在行结æŸçš„æ‰€æœ‰å­—符ã€å­—节或域\n" " N-M\t从第N 个开始到第M 个之间(包括第M 个)的所有字符ã€å­—节或域\n" " -M\t从第1 个开始到第M 个之间(包括第M 个)的所有字符ã€å­—节或域\n" "\n" "å½“æ²¡æœ‰æ–‡ä»¶å‚æ•°ï¼Œæˆ–者文件ä¸å­˜åœ¨æ—¶ï¼Œä»Žæ ‡å‡†è¾“入读å–\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "无效的字节或域列表" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "无终点的无效的范围:-" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "无效的缩å°çš„范围" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "字节åç§»é‡%s 过大" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "域编å·%s 过大" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "åªèƒ½æŒ‡å®šåˆ—表中的一ç§ç±»åž‹" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "分界符必须是å•个字符" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "您必须指定一组字节ã€å­—符或域的列表" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "åªæœ‰å½“æ“作域时æ‰å¯ä»¥æŒ‡å®šè¾“入分界符" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "æ¸…é™¤æ²¡æœ‰åˆ†ç•Œç¬¦çš„è¡Œåªæœ‰åœ¨\n" "\tæ“ä½œåŸŸæ—¶æ‰æœ‰æ„义" #: src/cut.c:870 msgid "missing list of fields" msgstr "缺少域列表" #: src/cut.c:872 msgid "missing list of positions" msgstr "缺少ä½ç½®åˆ—表" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "用法:%s [选项]... [+æ ¼å¼]\n" " 或:%s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=文件\t\t显示文件指定文件的最åŽä¿®æ”¹æ—¶é—´\n" " -R, --rfc-2822\t\t以RFC 2822æ ¼å¼è¾“出日期和时间\n" "\t\t\t\t例如:2006å¹´8月7日,星期一 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIMESPEC\t以RFC 3339 æ ¼å¼è¾“出日期和时间。\n" "\t\t\t\tTIMESPEC=`date',`seconds',或 `ns' \n" "\t\t\t\t表示日期和时间的显示精度。\n" "\t\t\t\t日期和时间å•元由å•个的空格分开:\n" "\t\t\t\t2006-08-07 12:34:56-06:00\n" " -s, --set=字符串 \t设置指定字符串æ¥åˆ†å¼€æ—¶é—´\n" " -u, --utc, --universal\t输出或者设置å调的通用时间\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "给定的格å¼FORMAT 控制ç€è¾“出,解释åºåˆ—如下:\n" "\n" " %%\t一个文字的 %\n" " %a\t当å‰locale 的星期å缩写(例如: 日,代表星期日)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A\t当å‰locale 的星期å全称 (如:星期日)\n" " %b\t当å‰locale 的月å缩写 (如:一,代表一月)\n" " %B\t当å‰locale 的月å全称 (如:一月)\n" " %c\t当å‰locale 的日期和时间 (如:2005å¹´3月3æ—¥ 星期四 23:05:25)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C\t世纪;比如 %Y,通常为çœç•¥å½“å‰å¹´ä»½çš„åŽä¸¤ä½æ•°å­—(例如:20)\n" " %d\t按月计的日期(例如:01)\n" " %D\t按月计的日期;等于%m/%d/%y\n" " %e\t按月计的日期,添加空格,等于%_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F\t完整日期格å¼ï¼Œç­‰ä»·äºŽ %Y-%m-%d\n" " %g\tISO-8601 æ ¼å¼å¹´ä»½çš„æœ€åŽä¸¤ä½ (å‚è§%G)\n" " %G\tISO-8601 æ ¼å¼å¹´ä»½ (å‚è§%V),一般åªå’Œ %V 结åˆä½¿ç”¨\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h\t等于%b\n" " %H\tå°æ—¶(00-23)\n" " %I\tå°æ—¶(00-12)\n" " %j\t按年计的日期(001-366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k\tæ—¶(0-23)\n" " %l\tæ—¶(1-12)\n" " %m\t月份(01-12)\n" " %M\t分(00-59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n\tæ¢è¡Œ\n" " %N\t纳秒(000000000-999999999)\n" " %p\t当å‰locale 下的\"上åˆ\"或者\"下åˆ\",未知时输出为空\n" " %P\t与%p 类似,但是输出å°å†™å­—æ¯\n" " %r\t当å‰locale 下的 12 å°æ—¶æ—¶é’Ÿæ—¶é—´ (如:11:11:04 下åˆ)\n" " %R\t24 å°æ—¶æ—¶é—´çš„æ—¶å’Œåˆ†ï¼Œç­‰ä»·äºŽ %H:%M\n" " %s\t自UTC æ—¶é—´ 1970-01-01 00:00:00 ä»¥æ¥æ‰€ç»è¿‡çš„ç§’æ•°\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S\tç§’(00-60)\n" " %t\t输出制表符 Tab\n" " %T\t时间,等于%H:%M:%S\n" " %u\t星期,1 代表星期一\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U\tä¸€å¹´ä¸­çš„ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨æ—¥ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(00-53)\n" " %V\tISO-8601 æ ¼å¼è§„èŒƒä¸‹çš„ä¸€å¹´ä¸­ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨ä¸€ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(01-53)\n" " %w\t一星期中的第几日(0-6),0 代表周一\n" " %W\tä¸€å¹´ä¸­çš„ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨ä¸€ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(00-53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x\t当å‰locale 下的日期æè¿° (如:12/31/99)\n" " %X\t当å‰locale 下的时间æè¿° (如:23:13:48)\n" " %y\t年份最åŽä¸¤ä½æ•°ä½ (00-99)\n" " %Y\t年份\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm\t\t数字时区(例如,-0400)\n" " %:z +hh:mm\t\t数字时区(例如,-04:00)\n" " %::z +hh:mm:ss\t数字时区(例如,-04:00:00)\n" " %:::z\t\t\t数字时区带有必è¦çš„精度 (例如,-04,+05:30)\n" " %Z\t\t\t按字æ¯è¡¨æŽ’åºçš„æ—¶åŒºç¼©å†™ (例如,EDT)\n" "\n" "默认情况下,日期的数字区域以0 填充。\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "以下å¯é€‰æ ‡è®°å¯ä»¥è·Ÿåœ¨\"%\"åŽ:\n" "\n" " - (连字符)ä¸å¡«å……该域\n" " _ (下划线)以空格填充\n" " 0 (æ•°å­—0)以0 å¡«å……\n" " ^ 如果å¯èƒ½ï¼Œä½¿ç”¨å¤§å†™å­—æ¯\n" " # 如果å¯èƒ½ï¼Œä½¿ç”¨ç›¸å的大å°å†™\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "在任何标记之åŽè¿˜å…许一个å¯é€‰çš„域宽度指定,它是一个å进制数字。\n" "作为一个å¯é€‰çš„修饰声明,它å¯ä»¥æ˜¯E,在å¯èƒ½çš„æƒ…况下使用本地环境关è”çš„\n" "表示方å¼ï¼›æˆ–者是O,在å¯èƒ½çš„æƒ…况下使用本地环境关è”的数字符å·ã€‚\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "标准输入" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "无效的日期%s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "指定了多ç§è¾“出格å¼" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "è¢«æŒ‡å®šçš„è¿™å‡ ç§æ—¥æœŸæ˜¾ç¤ºé€‰é¡¹æ˜¯ç›¸äº’抵触的" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "显示与设置时间的选项ä¸èƒ½åŒæ—¶ä½¿ç”¨" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "傿•°%s 缺少å‰å¯¼çš„\"+\"ï¼›\n" "å½“ä½¿ç”¨é€‰é¡¹æ¥æè¿°æ—¥æœŸæ˜¯ï¼Œä»»ä½•éžé€‰é¡¹å‚数都必须以\"+\"所引导的字符串出现" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "无法设置日期" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "æ—¶é—´%s 超出范围" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [æ“作数] ...\n" " 或:%s 选项\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "å¤åˆ¶æ–‡ä»¶ï¼Œä¾ç…§æ“作数转æ¢å¹¶æ ¼å¼åŒ–。\n" "\n" " bs=比特数\t一次读写的比特数\n" " cbs=比特数\t一次转æ¢çš„æ¯”特数\n" " conv=CONVS\tä¾ç…§æ¯ä¸ªé€—å·åˆ†å‰²çš„æ ‡å¿—åˆ—è¡¨è½¬æ¢æ–‡ä»¶\n" " count=å—æ•°\tåªå°†æŒ‡å®šä¸ªå—æ•°å¤åˆ¶åˆ°å—\n" " ibs=比特数\t一次读å–的比特数(默认:512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=文件\t从指定文件中读å–\n" " iflag=符å·\t按照以逗å·åˆ†éš”的符å·åˆ—表指定的方å¼è¯»å–\n" " obs=比特数\t一次写入指定比特数(默认:512)\n" " of=文件\t写入到指定文件\n" " oflag=符å·\t按照以逗å·åˆ†éš”的符å·åˆ—表指定的方å¼å†™å…¥\n" " seek=å—æ•°\tåœ¨è¾“å‡ºå¼€å§‹å¤„è·³è¿‡æŒ‡å®šçš„å—æ•°\n" " skip=å—æ•°\tåœ¨è¾“å…¥å¼€å§‹å¤„è·³è¿‡æŒ‡å®šçš„å—æ•°\n" " status=noxfer\tç¦æ­¢ä¼ è¾“统计\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "å—和字节数åŽå¯èƒ½å¸¦æœ‰ä»¥ä¸‹çš„一个或多个åŽç¼€ï¼š\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "æ¯ä¸ª CONV 符å·å¯èƒ½ä¸ºï¼š\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii\t\tç”±EBCDIC ç è½¬æ¢è‡³ASCII ç \n" " ebcdic\tç”±ASCII ç è½¬æ¢è‡³EBCDIC ç \n" " ibm\t\tç”±ASCII ç è½¬æ¢è‡³æ›¿æ¢çš„EBCDIC ç \n" " block\t\t将结æŸå­—符å—里的æ¢è¡Œæ›¿æ¢æˆç­‰é•¿çš„空格\n" " unblock\tå°†cbs 大å°çš„å—中尾部的空格替æ¢ä¸ºä¸€ä¸ªæ¢è¡Œç¬¦\n" " lcase\t\t将大写字符转æ¢ä¸ºå°å†™\n" " ucase\t\tå°†å°å†™å­—符转æ¢ä¸ºå¤§å†™\n" " swab\t\täº¤æ¢æ¯ä¸€å¯¹è¾“入数æ®å­—节\n" " sync\t\tå°†æ¯ä¸ªè¾“入数æ®å—以NUL 字符填满至ibs 的大å°ï¼›å½“é…åˆblock\n" "\t\t或unblock 时,会以空格代替NUL 字符填充\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl\t\tfail if the output file already exists\n" " nocreat\tdo not create the output file\n" " notrunc\t䏿ˆªæ–­è¾“出文件\n" " noerror\tè¯»å–æ•°æ®å‘生错误åŽä»ç„¶ç»§ç»­\n" " fdatasync\t结æŸå‰å°†è¾“出文件数æ®å†™å…¥ç£ç›˜\n" " fsync\t类似上é¢ï¼Œä½†æ˜¯å…ƒæ•°æ®ä¹Ÿä¸€åŒå†™å…¥\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "FLAG 符å·å¯ä»¥æ˜¯ï¼š\n" "\n" " append\t追加模å¼(仅对输出有æ„义;éšå«äº†conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio\t使用并行I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct\t使用直接I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory\té™¤éžæ˜¯ç›®å½•,å¦åˆ™ directory 失败\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync\t\tä½¿ç”¨åŒæ­¥I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync\t\tä¸Žä¸Šè€…ç±»ä¼¼ï¼Œä½†åŒæ—¶ä¹Ÿå¯¹å…ƒæ•°æ®ç”Ÿæ•ˆ\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock\t为输入积累完整å—(ä»…iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock\t使用无阻塞I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime\t䏿›´æ–°å­˜å–æ—¶é—´\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache\t丢弃缓存数æ®\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty\t䏿 ¹æ®æ–‡ä»¶æŒ‡æ´¾æŽ§åˆ¶ç»ˆç«¯\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow\tä¸è·Ÿéšé“¾æŽ¥æ–‡ä»¶\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks\t如果有多é‡é“¾æŽ¥ï¼Œåˆ™nolinks 失败\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary\t使用二进制I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text\t使用文本I/O å­˜å–æ¨¡å¼\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "对è¿è¡Œä¸­çš„\"dd\"进程å‘é€ä¸€ä¸ª%s ä¿¡å·ä¼šä½¿å¾—\n" "I/O 的统计信æ¯è¢«æ‰“å°åˆ°æ ‡å‡†é”™è¯¯è®¾å¤‡ç„¶åŽæ¢å¤å¤åˆ¶æ“作。\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "å¯ç”¨é€‰é¡¹æœ‰ï¼š\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "记录了%<PRIuMAX>+%<PRIuMAX> 的读入\n" "记录了%<PRIuMAX>+%<PRIuMAX> 的写出\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> 个被截断了的å—\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX>字节(%s)å·²å¤åˆ¶" #: src/dd.c:720 msgid "Infinity B" msgstr "æ— ç©·é‡ B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ",%g 秒,%s/ç§’\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "正在关闭输入文件%s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "正在关闭输出文件%s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "无法关闭O_DIRECT:%s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "正在写入%s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "无法识别的æ“作数%s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "è½¬æ¢æ— æ•ˆ" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "输入标志无效" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "输出标志无效" #: src/dd.c:1227 msgid "invalid status flag" msgstr "çŠ¶æ€æ ‡å¿—无效" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "无效的数字%s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "ä¸å¯å°†{asciiã€ebcdicã€idm}中的任æ„两个结åˆä½¿ç”¨" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "ä¸å¯å°†block å’Œunblock 结åˆä½¿ç”¨" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "ä¸å¯å°†lcase å’Œucase 结åˆä½¿ç”¨" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "ä¸å¯å°†excl å’Œnocreat 结åˆä½¿ç”¨" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "ä¸å¯å°†direct å’Œnocreat 结åˆä½¿ç”¨" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "警告:暂时é¿å…有关文件%s çš„lseek 内核错误\n" " 错误地å€åœ¨mt_type=0x%0lx -- 有关mt_type 类型的列表请å‚考<sys/mtio.h>" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s:无法跳过" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s:无法æœç´¢" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "读入文件%s æ—¶åç§»é‡æº¢å‡º" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "警告:文件读å–失败åŽå移错误" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "无法é¿å…内核的错误" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "正在设置%s 的标记" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "%zu 字节的输入缓冲导致内存耗尽(%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "%zu 字节的输出缓冲导致内存耗尽(%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s:无法跳至指定åç§»é‡" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "无法针对输出文件%2$s çš„%1$<PRIuMAX> 字节处实施截断" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "%s çš„fdatasync 失败" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "%s çš„fsync 失败" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "打开%s 失败" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "åç§»é‡è¿‡å¤§ï¼šæ— æ³•在seek=%<PRIuMAX> (%lu-字节) å—的长度上实施截断" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "无法针对输出文件%2$s çš„%1$<PRIuMAX> 字节处实施截断" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "无法丢弃缓存:%s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" # ## Proof reading to here. #: src/df.c:172 msgid "Filesystem" msgstr "文件系统" #: src/df.c:175 msgid "Type" msgstr "类型" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "å—" #: src/df.c:181 msgid "Used" msgstr "已用" #: src/df.c:184 msgid "Available" msgstr "å¯ç”¨" #: src/df.c:187 msgid "Use%" msgstr "已用%" #: src/df.c:190 msgid "Inodes" msgstr "Inode" #: src/df.c:193 msgid "IUsed" msgstr "已用(I)" #: src/df.c:196 msgid "IFree" msgstr "å¯ç”¨(I)" #: src/df.c:199 msgid "IUse%" msgstr "已用(I)%" #: src/df.c:202 msgid "Mounted on" msgstr "挂载点" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "è­¦å‘Šï¼šæŒ‡å®šæ¥æºæ–‡ä»¶%s 多于一次" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "容é‡" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "å¯ç”¨" #: src/df.c:474 msgid "Capacity" msgstr "é…é¢" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "显示æ¯ä¸ªæ–‡ä»¶æ‰€åœ¨çš„æ–‡ä»¶ç³»ç»Ÿçš„ä¿¡æ¯ï¼Œé»˜è®¤æ˜¯æ˜¾ç¤ºæ‰€æœ‰æ–‡ä»¶ç³»ç»Ÿã€‚\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all\t\t包å«è™šæ‹Ÿæ–‡ä»¶ç³»ç»Ÿ\n" " -B, --block-size=大å°\t使用指定字节数的å—。例如-BM 以 1,248,576\n" "\t\t\t字节为å•使˜¾ç¤ºå¤§å°ã€‚å‚看SIZE æ ¼å¼ã€‚ --total\t\t显示总计信æ¯\n" " -h, --human-readable\t以å¯è¯»æ€§è¾ƒå¥½çš„æ ¼å¼æ˜¾ç¤ºå°ºå¯¸(例如:1K 234M 2G)\n" " -H, --si\t\t计算时使用1000 为基底而éž1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes\t\t显示inode ä¿¡æ¯è€Œéžå—使用é‡\n" " -k\t\t\tå³--block-size=1K\n" " -l, --local\t\tåªæ˜¾ç¤ºæœ¬æœºçš„æ–‡ä»¶ç³»ç»Ÿ\n" " --no-sync\t\tå–å¾—ä½¿ç”¨é‡æ•°æ®å‰ä¸è¿›è¡ŒåŒæ­¥åŠ¨ä½œ(默认)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability\t使用POSIX 兼容的输出格å¼\n" " --sync\t\tå–å¾—ä½¿ç”¨é‡æ•°æ®å‰å…ˆè¿›è¡ŒåŒæ­¥åŠ¨ä½œ\n" " -t, --type=类型\tåªæ˜¾ç¤ºæŒ‡å®šæ–‡ä»¶ç³»ç»Ÿä¸ºæŒ‡å®šç±»åž‹çš„ä¿¡æ¯\n" " -T, --print-type\t显示文件系统类型\n" " -x, --exclude-type=类型\tåªæ˜¾ç¤ºæ–‡ä»¶ç³»ç»Ÿä¸æ˜¯æŒ‡å®šç±»åž‹ä¿¡æ¯\n" " -v\t\t\t(忽略)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "选项--compare (-C) å’Œ--strip 是互斥的" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "警告:" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "ä¸èƒ½åŒæ—¶é€‰æ‹©å’ŒæŽ’除文件系统类型%s" #: src/df.c:1500 msgid "Warning: " msgstr "警告:" #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "%s 无法读å–已挂载上的文件系统的目录" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "æœªå¤„ç†æ–‡ä»¶ç³»ç»Ÿ" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "用法:%s [选项]... [文件]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "输出用æ¥è®¾ç½® LS_COLORS 环境å˜é‡çš„命令。\n" "\n" "指定输出的规格:\n" " -b, --sh, --bourne-shell\t输出设置LS_COLORS çš„Bourne shell 命令\n" " -c, --csh, --c-shell\t\t输出设置LS_COLORS çš„C shell 命令\n" " -p, --print-database\t\t输出默认的色彩设置\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "如果指定了文件,则读å–è¯¥æ–‡ä»¶çš„æ•°æ®æ¥å†³å®šæ–‡ä»¶ç±»åž‹åŠæ‰©å±•å相应的颜色。\n" "å¦åˆ™ï¼Œä¼šä½¿ç”¨é»˜è®¤çš„æ•°æ®åº“。如è¦äº†è§£æ­¤æ–‡ä»¶æ ¼å¼çš„细节,请执行:\n" "\"dircolors --print-database\"。\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%luï¼šæ­¤è¡Œæ— æ•ˆï¼›ç¼ºå°‘äº†ç¬¬äºŒæ æ•°æ®" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu:无法识别的关键字%s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<内部数æ®>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "显示 dircolors 内部数æ®åº“的选项和选择 shell 语法的选项\n" "是互相抵触的" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "文件æ“作和--print-database (-p)ä¸èƒ½åŒæ—¶ä½¿ç”¨" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "没有设置SHELL 环境å˜é‡ï¼Œä¹Ÿæ²¡æœ‰æŒ‡å®šshell 类型的选项" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "用法:%s [选项] åç§°...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "输出已ç»åŽ»é™¤äº†å°¾éƒ¨çš„\"/\"字符部分的å称;如果å称中ä¸åŒ…å«\"/\",\n" "则显示\".\"(表示当å‰ç›®å½•)。\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -0, --null ä»¥ç©ºå­—ç¬¦è€Œéžæ–°è¡Œç¬¦ç»“æŸæ¯ä¸€è¾“出行\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "示例:\n" " %s /usr/bin/\t输出\"/usr\"。\n" " %s stdio.h\t\t输出\".\"。\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "用法:%s [选项]... [文件]...\n" " 或:%s [选项]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "计算æ¯ä¸ªæ–‡ä»¶çš„ç£ç›˜ç”¨é‡ï¼Œç›®å½•åˆ™å–æ€»ç”¨é‡ã€‚\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all\t\t输出所有文件的ç£ç›˜ç”¨é‡ï¼Œä¸ä»…仅是目录\n" " --apparent-size\t显示表é¢ç”¨é‡ï¼Œè€Œå¹¶éžæ˜¯ç£ç›˜ç”¨é‡ï¼›è™½ç„¶è¡¨é¢ç”¨é‡é€šå¸¸ä¼š\n" "\t\t\tå°ä¸€äº›ï¼Œä½†æœ‰æ—¶å®ƒä¼šå› ä¸ºç¨€ç–文件间的\"æ´ž\"ã€å†…部碎\n" "\t\t\t片ã€éžç›´æŽ¥å¼•用的å—等原因而å˜å¤§ã€‚\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=大å°\t使用指定字节数的å—。例如-BM 以 1,048,576\n" "\t\t\t字节为å•使˜¾ç¤ºå¤§å°ã€‚å‚看SIZE æ ¼å¼ã€‚ -b, --bytes\t\t等于--apparent-" "size --block-size=1\n" " -c, --total\t\t显示总计信æ¯\n" " -D, --dereference-args\t解除命令行中列出的符å·è¿žæŽ¥\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F\t计算文件F 中以NUL 结尾的文件å对应å ç”¨çš„ç£ç›˜ç©ºé—´\n" "\t\t\t如果F 的值是\"-\",则从标准输入读入文件å\n" " -H\t\t\t等于--dereference-args (-D)\n" " -h, --human-readable\t以å¯è¯»æ€§è¾ƒå¥½çš„æ–¹å¼æ˜¾ç¤ºå°ºå¯¸(例如:1K 234M 2G)\n" " --si\t\t类似-h,但在计算时使用1000 为基底而éž1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k\t\t\t等于--block-size=1K\n" " -l, --count-links\t如果是硬连接,就多次计算其尺寸\n" " -m\t\t\t等于--block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference\t找出任何符å·é“¾æŽ¥æŒ‡ç¤ºçš„真正目的地\n" " -P, --no-dereference\tä¸è·Ÿéšä»»ä½•符å·é“¾æŽ¥(默认)\n" " -0, --null\t\tå°†æ¯ä¸ªç©ºè¡Œè§†ä½œ0 å­—èŠ‚è€Œéžæ¢è¡Œç¬¦\n" " -S, --separate-dirs\tä¸åŒ…括å­ç›®å½•çš„å ç”¨é‡\n" " -s, --summarize\tåªåˆ†åˆ«è®¡ç®—命令列中æ¯ä¸ªå‚数所å çš„æ€»ç”¨é‡\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time\t\t显示目录或该目录å­ç›®å½•下所有文件的最åŽä¿®æ”¹æ—¶é—´\n" " --time=WORD\t显示WORD 时间,而éžä¿®æ”¹æ—¶é—´ï¼š\n" "\t\t\tatime,access,use,ctime 或status\n" " --time-style=æ ·å¼\tæŒ‰ç…§æŒ‡å®šæ ·å¼æ˜¾ç¤ºæ—¶é—´(æ ·å¼è§£é‡Šè§„则åŒ\"date\"命令):\n" "\t\t\tfull-iso,long-iso,iso,+FORMAT\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "æ— ç©·é‡ B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read 失败:%s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "目录最大深度%s 无效" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "无效的 --%s 傿•°%s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "ä¸èƒ½æ—¢æ˜¾ç¤ºæ€»ç”¨é‡ï¼ŒåŒæ—¶åˆæ˜¾ç¤ºæ¯ä¸ªé¡¹ç›®" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "警告:显示总用é‡ç­‰ä»·äºŽä½¿ç”¨--max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "警告:显示总用é‡çš„选项和--max-depth=%lu 互斥" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "文件æ“作数ä¸èƒ½äºŽ--files0-from 傿•°ä¸€èµ·ä½¿ç”¨" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s:读å–出错" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "å½“ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ—¶ï¼Œä¸å…许指定文件å%s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "无效的零长度文件å" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "总用é‡" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "用法:%s [短选项]... [字符串]...\n" " 或:%s 长选项\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "å°† STRING 回显到标准输出。\n" "\n" " -n\t\tä¸å°¾éšæ¢è¡Œç¬¦\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e\t\tå¯ç”¨è§£é‡Šåæ–œæ çš„转义功能(默认)\n" " -E\t\tç¦ç”¨è§£é‡Šåæ–œæ çš„转义功能\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e\t\tå¯ç”¨è§£é‡Šåæ–œæ çš„转义功能\n" " -E\t\tç¦ç”¨è§£é‡Šåæ–œæ çš„转义功能(默认)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "è‹¥-e å¯ç”¨ï¼Œåˆ™ä»¥ä¸‹åºåˆ—å³å¯è¯†åˆ«ï¼š\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ åæ–œæ \n" " \\a å“铃声\n" " \\b 退格\n" " \\c ä¸å†äº§ç”Ÿæ–°çš„输出\n" " \\e 转义符 \n" " \\f æ¢é¡µ\n" " \\n 新行\n" " \\r 回车\n" " \\t 水平制表符\n" " \\v 竖直制表符\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN 字节数以八进制数 NNN (1至3ä½)表示\n" " \\xHH 字节数以å六进制数 HH (1至2ä½)表示\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "用法:%s [选项]... [-] [åç§°=值]... [命令 [傿•°]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "设置一个环境å˜é‡çš„\"åç§°=键值\"å¹¶è¿è¡Œå‘½ä»¤ã€‚\n" "\n" " -i, --ignore-environment 以无定义的环境å¯åЍ\n" " -0, --null ä»¥ç©ºå­—ç¬¦è€Œéžæ–°è¡Œç¬¦ç»“æŸæ¯ä¸€è¾“出行\n" " -u, --unset=åç§° 从当å‰çŽ¯å¢ƒä¸­æ’¤æ¶ˆä¸€ä¸ªå˜é‡\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "å•纯的 - æ„å‘³ç€ -i。如果没有命令,则打å°ç»“果环境。\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "无法撤消 %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "无法设定 %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "无法以命令指定--null (-0)" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°†æ¯ä¸ªæ–‡ä»¶ä¸­çš„制表符转æ¢ä¸ºç©ºæ ¼ï¼Œå†™åˆ°æ ‡å‡†è¾“出。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为\"-\",程åºå°†ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial\t\tä¸è½¬æ¢éžç©ºç™½ç¬¦åŽçš„制表符\n" " -t, --tabs=æ•°å­—\t设置æ¯ä¸ªåˆ¶è¡¨ç¬¦ä¸ºæŒ‡å®šæ•°å­—çš„å®½åº¦ï¼Œè€Œä¸æ˜¯é»˜è®¤çš„8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=列表\t指定制表符ä½ç½®åˆ—表,用逗å·åˆ†éš”\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "%s:制表符跳格é‡è¿‡å¤§" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "åˆ¶è¡¨ç¬¦å°ºå¯¸ä¸­åŒ…å«æ— æ•ˆå­—符:%s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "制表符尺寸ä¸å¯ä¸º0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "制表符尺寸必须是å‡åºçš„" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "输入行太长" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "用法:%s 表达å¼\n" " 或:%s 选项\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "将表达å¼çš„值列å°åˆ°æ ‡å‡†è¾“出,分隔符下é¢çš„ç©ºè¡Œå¯æå‡ç®—å¼ä¼˜å…ˆçº§ã€‚\n" "å¯ç”¨çš„è¡¨è¾¾å¼æœ‰ï¼š\n" "\n" " ARG1 | ARG2 è‹¥ARG1 的值ä¸ä¸º0 或者为空,则返回ARG1,å¦åˆ™è¿”回ARG2\n" "\n" " ARG1 & ARG2 若两边的值都ä¸ä¸º0 或为空,则返回ARG1,å¦åˆ™è¿”回 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 å°äºŽARG2\n" " ARG1 <= ARG2 ARG1 å°äºŽæˆ–等于ARG2\n" " ARG1 = ARG2 ARG1 等于ARG2\n" " ARG1 != ARG2 ARG1 ä¸ç­‰äºŽARG2\n" " ARG1 >= ARG2 ARG1 大于或等于ARG2\n" " ARG1 > ARG2 ARG1 大于ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 计算 ARG1 与ARG2 相加之和\n" " ARG1 - ARG2 计算 ARG1 与ARG2 相å‡ä¹‹å·®\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 计算 ARG1 与ARG2 相乘之积\n" " ARG1 / ARG2 计算 ARG1 与ARG2 相除之商\n" " ARG1 % ARG2 计算 ARG1 与ARG2 相除之余数\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " 字符串 : 表达å¼\t\t定ä½å­—符串中匹é…表达å¼çš„æ¨¡å¼\n" "\n" " match 字符串 表达å¼\t\t等于\"字符串 :表达å¼\"\n" " substr 字符串 åç§»é‡ é•¿åº¦\t替æ¢å­—符串的å­ä¸²ï¼Œå移的数值从 1 起计\n" " index 字符串 字符\t\t在字符串中å‘现字符的地方建立下标,或者标0\n" " length 字符串\t\t\t字符串的长度\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + è®°å·\t\t\t将记å·è§£æžä¸ºå­—符串,å³ä½¿å®ƒæ˜¯ä¸€ä¸ªç±»ä¼¼\"match\"或\n" "\t\t\t\tè¿ç®—符\"/\"那样的关键字\n" "\n" " ( è¡¨è¾¾å¼ )\t\t\t表达å¼çš„值\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "è¯·æ³¨æ„æœ‰è®¸å¤šè¿ç®—æ“作符都å¯èƒ½éœ€è¦ç”± shell 先实施转义。\n" "如果å‚与è¿ç®—çš„ ARG 自å˜é‡éƒ½æ˜¯æ•°å­—,比较符就会被视作数学符å·ï¼Œå¦åˆ™å°±æ˜¯å¤šä¹‰" "的。\n" "模å¼åŒ¹é…会返回\"\\\"å’Œ\"\\\"之间被匹é…çš„å­å­—符串或空(null);如果未使用\"\\" "\"å’Œ\"\\\",\n" "则会返回匹é…å­—ç¬¦æ•°é‡æˆ–是 0。\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "若表达å¼çš„å€¼æ—¢ä¸æ˜¯ç©ºä¹Ÿä¸æ˜¯ 0,退出状æ€å€¼ä¸º 0;若表达å¼çš„值为空或为 0,\n" "退出状æ€å€¼ä¸º 1。如果表达å¼çš„奿³•无效,则会在出错时返回退出状æ€å€¼ 3。\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "语法错误" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "正则表达å¼åŒ¹é…器出错" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "éžæ•´æ•°å‚æ•°" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "除以零" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "请设置LC_ALL='C' 以é¿å…出现问题。" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "已比较的字符串为%s å’Œ%s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s 䏿˜¯æœ‰æ•ˆçš„æ­£æ•´æ•°" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s 太大" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [æ•°å­—]...\n" " 或:%s 选项\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "输出æ¯ä¸ªæŒ‡å®šçš„æ•°å­—的素因å­ï¼Œå¦‚果没有在命令行中指定则从标准输入读å–。\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "无法获得当å‰ç›®å½•" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "无法进入目录%s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "无法获å–当å‰ç›®å½•的文件状æ€(stat,当å‰ç›®å½•是%s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "用法:%s [-宽度] [选项]... [文件]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "釿–°æ ¼å¼åŒ–文件中æ¯ä¸ªæ®µè½å¹¶è¾“出到标准输出\n" "选项 \"-宽度\" 是\"--width=æ•°å­—\" 的缩写。\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c --crown-margin\t\tä¿æŒå‰ä¸¤è¡Œçš„缩进\n" " -p, --prefix=字符串\t\tåªå¯¹ä»¥æŒ‡å®šå­—ç¬¦ä¸²å¼€å¤´çš„è¡Œé‡æ–°æ ¼å¼åŒ–,\n" "\t\t\t\tå°†å‰ç¼€é‡æ–°é™„ç€åˆ°è¢«é‡æ–°æ ¼å¼åŒ–的行上\n" " -s, --split-only\t\t分割过长的行,但ä¸è‡ªåŠ¨è¡¥è¶³\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph\t缩进首行以使其ä¸åŒäºŽç¬¬äºŒè¡Œ\n" " -u, --uniform-spacing\t\tæ¯ä¸¤ä¸ªå•è¯é—´ä¿ç•™ä¸€ä¸ªç©ºæ ¼ï¼Œæ¯å¥ä¹‹åŽä¿ç•™ä¸¤ä¸ªç©ºæ ¼\n" " -w, --width=宽度\t\t最大行宽(默认为75 列宽度)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "无效选项 -- %c;宽度必须是第一个选项æ‰èƒ½è¢«æ­£ç¡®è¯†åˆ«ï¼›è¯·ä½¿ç”¨ -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "无效的宽度:%s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "对æ¯ä¸ªæŒ‡å®šçš„æ–‡ä»¶(默认由标准输入读å–)设置自动æ¢è¡Œï¼Œå¹¶å°†é‡æ–°æŽ’版åŽçš„结果输出到" "标准输出。\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes\t\tè®¡ç®—å­—èŠ‚æ•°è€Œä¸æ˜¯åˆ—æ•°\n" " -s, --spaces\t\t在空格处断行\n" " -w, --width=宽度\t使用指定的列宽度代替默认的80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "无效的列数:%s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "用法:%s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "为Shell 脚本格å¼è¾“出基于æ“作平å°çš„é™åˆ¶å‚数。\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "获å–用户%s 的属组失败" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "获å–当å‰è¿›ç¨‹ç”¨æˆ·ç»„失败" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "无法找到ID 为%lu 的用户的属组" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "用法:%s [选项]... [用户å]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "显示æ¯ä¸ªè¾“å…¥çš„ç”¨æˆ·åæ‰€åœ¨çš„全部组,如果没有指定用户å则默认为当å‰è¿›ç¨‹ç”¨æˆ·(当用" "户组数æ®åº“å‘ç”Ÿå˜æ›´æ—¶å¯èƒ½å¯¼è‡´å·®å¼‚)。\n" "\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "无法设置用户ID" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "æ— æ³•å–æ¶ˆ%s 的引用" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "无法设置用户ID" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s:无此用户" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°†æ¯ä¸ªæŒ‡å®šæ–‡ä»¶çš„头10 行显示到标准输出。\n" "如果指定了多于一个文件,在æ¯ä¸€æ®µè¾“出å‰ä¼šç»™å‡ºæ–‡ä»¶å作为文件头。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K\t显示æ¯ä¸ªæ–‡ä»¶çš„å‰K 字节内容;\n" "\t\t\t如果附加\"-\"傿•°ï¼Œåˆ™é™¤äº†æ¯ä¸ªæ–‡ä»¶çš„æœ€åŽK字节数æ®å¤–\n" "\t\t\t显示剩余全部内容\n" " -n, --lines=[-]K\t显示æ¯ä¸ªæ–‡ä»¶çš„å‰K 行内容;\n" "\t\t\t如果附加\"-\"傿•°ï¼Œåˆ™é™¤äº†æ¯ä¸ªæ–‡ä»¶çš„æœ€åŽK 行外显示\n" "\t\t\t剩余全部内容\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent\t䏿˜¾ç¤ºåŒ…å«ç»™å®šæ–‡ä»¶å的文件头\n" " -v, --verbose\t\t总是显示包å«ç»™å®šæ–‡ä»¶å的文件头\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K åŽé¢å¯ä»¥è·Ÿä¹˜å·:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y åŒæ ·é€‚用。\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s:文件被过度收缩" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s:字节数过大" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s:lseek 无法回溯到åˆå§‹ä½ç½®" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s:无法检索到åç§»é‡%s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s:删除失败" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "无法å¤ä½%s 的文件指针" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s:%s 过大以至于无法表示" #: src/head.c:886 msgid "number of lines" msgstr "傿•°æ•°ç›®é”™è¯¯" #: src/head.c:886 msgid "number of bytes" msgstr "字节数" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "无效的å·ç %s" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "无效的å·ç %s" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "无效的加附选项 -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "用法:%s [选项]\n" "显示当å‰ä¸»æœºçš„æ•°å­—标识符(å六进制)。\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "用法:%s [åç§°]\n" " 或:%s 选项\n" "显示或设置当å‰ç³»ç»Ÿçš„主机å。\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "无法设置主机å为%s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "无法设置主机å,此系统似乎ä¸å…·å¤‡æ­¤åŠŸèƒ½" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "无法确定主机å" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "用法:%s [选项]... [用户å]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "显示指定用户或当å‰ç”¨æˆ·(当未指定用户时)的用户与组信æ¯ã€‚\n" "\n" " -a\t\t\t忽略,仅为与其他版本相兼容而设计\n" " -Z, --context\t\t仅显示当å‰ç”¨æˆ·çš„安全环境\n" " -g, --group\t\t仅显示有效的用户组ID\n" " -G, --groups\t\t显示所有组的ID\n" " -n, --name\t\t显示组åç§°è€Œéžæ•°å­—,ä¸ä¸Ž-ugG 一起使用\n" " -r, --real\t\t显示真实ID è€Œéžæœ‰æ•ˆID,与-ugG 一起使用\n" " -u, --user\t\t仅显示有效用户ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "如果ä¸é™„带任何选项,程åºä¼šæ˜¾ç¤ºä¸€äº›å¯ä¾›è¯†åˆ«ç”¨æˆ·èº«ä»½çš„æœ‰ç”¨ä¿¡æ¯ã€‚\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) 选项åªèƒ½åœ¨å¼€å¯SELinux 支æŒçš„内核上使用" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "ä¸èƒ½æ˜¾ç¤ºç‰¹å®šç”¨æˆ·çš„安全环境" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "有多ç§é€‰æ‹©ï¼Œæ— æ³•输出唯一的" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "ä»¥é»˜è®¤æ ¼å¼æ— æ³•åªæ˜¾ç¤ºåç§°æˆ–åªæ˜¾ç¤ºçœŸå®žID。" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "ä¸èƒ½å¾—到进程环境" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "æ— æ³•å–æ¶ˆ%s 的引用" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "无法找到ID 为%lu 的用户的åç§°" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " 组=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " 环境=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "警告:%s:切æ¢åˆ°%s 用户环境失败" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "正在创建目录%s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "无法更改%s 的所有æƒ" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "无法设置%s 的时间戳" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "创建系统进程(fork)出错" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "无法è¿è¡Œ%s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "等待拆解" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "æ‹†è§£è¿‡ç¨‹éžæ­£å¸¸ä¸­æ­¢" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "无效的用户%s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "用法:%s [选项]... [-T] æºæ–‡ä»¶ 目标文件\n" " 或:%s [选项]... æºæ–‡ä»¶... 目录\n" " 或:%s [选项]... -t 目录 æºæ–‡ä»¶...\n" " 或:%s [选项]... -d 目录...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "æ­¤install 将文件(通常仅是编译åŽçš„æ–‡ä»¶)å¤åˆ¶åˆ°æ‚¨æ‰€é€‰æ‹©çš„目的ä½ç½®ã€‚\n" "如果您希望在GNU/Linux æ“ä½œç³»ç»Ÿä¸Šä¸‹è½½å¹¶å®‰è£…ä¸€ä¸ªå³æ—¶å¯ç”¨çš„软件包,\n" "您应当使用诸如yum(1) å’Œapt-get(1) 的软件包管ç†å™¨ã€‚\n" "\n" "在å‰ä¸‰ç§å½¢å¼ä¸­ï¼Œå°†æºæ–‡ä»¶å¤åˆ¶åˆ°ç›®æ ‡æ–‡ä»¶æˆ–å°†å¤šä¸ªæºæ–‡ä»¶å¤åˆ¶åˆ°ä¸€ä¸ªå·²å­˜åœ¨çš„目录\n" "ä¸­åŒæ—¶è®¾ç½®å…¶æ‰€æœ‰æƒå’Œæƒé™æ¨¡å¼ã€‚在第四ç§å½¢å¼ä¸­ï¼Œåˆ›å»ºç»™å‡ºç›®æ ‡ç›®å½•中的所有组" "件。\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL]\t为æ¯ä¸ªå·²å­˜åœ¨çš„æ–‡ä»¶åˆ›å»ºå¤‡ä»½\n" " -b\t\t\t类似--backup 但䏿ޥå—傿•°\n" " -c\t\t\t(忽略)\n" " -C, --compare\t\t比较æ¯ç»„æºæ–‡ä»¶å’Œç›®æ ‡æ–‡ä»¶ï¼Œåœ¨ä¸€äº›æƒ…况下ä¸ä¿®æ”¹ç›®æ ‡æ–‡ä»¶\n" " -d, --directory\tå°†æ‰€æœ‰å‚æ•°è§†ä¸ºç›®å½•å称;为指定的目录创建所有组件\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D\t\t\t创建目标目录的所有必è¦çš„父目录,然åŽå°†æºæ–‡ä»¶å¤åˆ¶è‡³è¯¥ç›®å½•\n" " -g, --group=组\tè‡ªè¡Œè®¾ç½®æ‰€å±žç»„ï¼Œè€Œä¸æ˜¯è¿›ç¨‹ç›®å‰çš„æ‰€å±žç»„\n" " -m, --mode=模å¼\t自行设置æƒé™æ¨¡å¼(åƒchmod)ï¼Œè€Œä¸æ˜¯rwxr-xr-x\n" " -o, --owner=所有者\t自行设置所有者(åªé€‚用于超级用户)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps\tä¿®æ”¹æºæ–‡ä»¶çš„访问/ä¿®æ”¹æ—¶é—´ä»¥ä¸Žç›®æ ‡æ–‡ä»¶ä¿æŒä¸€è‡´\n" " -s, --strip\t\t\t拆解符å·è¡¨\n" " --strip-program=程åº\t指定拆解二进制文件的程åº\n" " -S, --suffix=åŽç¼€\t\t覆盖常用备份文件åŽç¼€\n" " -t, --target-directory=目录\tå°†æºæ–‡ä»¶æ‰€æœ‰å‚æ•°å¤åˆ¶åˆ°æŒ‡å®šç›®å½•\n" " -T, --no-target-directory\t将目标文件视为普通文件\n" " -v, --verbose\t\t\t创建目录时显示其åç§°\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context\tä¿æŒSELinux 的安全环境\n" " -Z, --context=CONTEXT\t\t设置文件和目录的SELinux 安全环境\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "警告:忽略--preserve-context 傿•°ï¼Œå½“å‰è¿è¡Œçš„内核没有å¯ç”¨SELinux 支æŒ" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "警告:忽略--context (-Z) 傿•°ï¼Œå½“å‰è¿è¡Œçš„内核没有å¯ç”¨SELinux 支æŒ" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "安装目录时ä¸èƒ½ç”¨strip 选项" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "安装目录时ä¸èƒ½ç”¨ç›®æ ‡ç›®å½•选项" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "无法对%s å¼ºåˆ¶ä¸ºç›®æ ‡çŽ¯å¢ƒï¼Œä¿æŒåŽŸæ ·" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "无效模å¼%s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "警告:忽略--strip-program 选项,因为-s 选项没有指明" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "选项--compare (-C) å’Œ--preserve-timestamps 是互斥的" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "选项--compare (-C) å’Œ--strip 是互斥的" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "当您使用ä¸å…è®¸çš„æ¯”ç‰¹æ•°æŒ‡å®šæ¨¡å¼æ˜¯--compare (-C) 选项被忽略" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "针对æ¯ä¸€å¯¹å…·æœ‰ç›¸åŒå†…容的输入行,整åˆä¸ºä¸€è¡Œå†™åˆ°æ ‡å‡†è¾“出,\n" "é»˜è®¤çš„å†…å®¹è¿žæŽ¥åŒºå—æ˜¯ç”±ç¬¬ä¸€ä¸ªç©ºç™½ç¬¦ä»£è¡¨çš„分界符å·ã€‚当文件1\n" "或文件2 都被指定为\"-\"时,程åºå°†ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" " -a æ–‡ä»¶ç¼–å· \t文件编å·çš„值å¯ä»¥æ˜¯1 或2,分别对应文件1 å’Œ 文件2。\n" " \tæ­¤é€‰é¡¹ç”¨äºŽæ ¹æ®æŒ‡å®šæ–‡ä»¶ç¼–å·è¾“å‡ºä¸æˆå¯¹çš„行目。\n" " -e 字符 \t\tå°†ç¼ºå¤±çš„è¾“å…¥åŒºå—æ›¿æ¢ä¸ºæŒ‡å®šå­—符\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case \t比较时忽略大å°å†™\n" " -j 域 \t\t等于\"-1 域 -2 域\"\n" " -o æ ¼å¼ \t\tæŒ‰ç…§æŒ‡å®šæ ¼å¼æž„造输出行\n" " -t 字符 \t\t使用指定字符作为输入和输出的分隔符\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v æ–‡ä»¶ç¼–å· \t类似 -a 文件编å·ï¼Œä½†ç¦æ­¢ç»„åˆè¾“出行\n" " -1 域 \t在文件1 的此域组åˆ\n" " -2 域 \t在文件2 的此域组åˆ\n" " --check-order \tæ£€æŸ¥è¾“å…¥è¡Œæ˜¯å¦æ­£ç¡®æŽ’åºï¼Œå³ä½¿æ‰€æœ‰è¾“å…¥è¡Œå‡æ˜¯æˆå¯¹çš„\n" " --nocheck-order \t䏿£€æŸ¥è¾“å…¥æ˜¯å¦æ­£ç¡®æŽ’åº\n" " --header \t将首行视作域的头部,直接输出而ä¸å¯¹å…¶è¿›è¡ŒåŒ¹é…\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "除éžä½¿ç”¨äº†\"-t 字符串\" 选项,å¦åˆ™å‰å¯¼ç©ºæ ¼åˆ†éš”的域将被忽略,如果指定了字符" "串,\n" "则使用指定字符串分隔任æ„的域并从1 开始计数的域编å·ã€‚å¯ä»¥æŒ‡å®šçš„æ ¼å¼æ˜¯ç”±ä¸€ä¸ª\n" "æˆ–å¤šä¸ªé€—å·æ´»ç©ºæ ¼æ‰€åˆ†éš”çš„æè¿°ï¼Œå…¶å½¢å¼ä¸º\"文件编å·.域\"或者\"0\"。默认的\n" "æ ¼å¼è¾“出åˆå¹¶åŽçš„åŸŸã€æ–‡ä»¶1 和文件2 剩下的域,å‡ç”±è¯¥æŒ‡å®šå­—符串分隔。\n" "\n" "é‡è¦æç¤ºï¼šæ–‡ä»¶1 和文件2 必须在åˆå¹¶åŸŸä¸­æŽ’åºã€‚\n" "例如,如果\"join\"åŽæ²¡æœ‰é€‰é¡¹ï¼Œä½¿ç”¨\"sort -k 1b,1\"。\n" "注æ„,所进行的比较éµä»Ž\"LC_COLLATE\"所指定的的规则。\n" "如果输入没有被排åºå¹¶å¯¼è‡´æŸäº›è¡Œæ— æ³•åˆå¹¶ï¼Œå°†ä¼šæ˜¾ç¤ºè­¦å‘Šä¿¡æ¯ã€‚\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "无效的区å—ç¼–å·%s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "无效的区å—定义符:%s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "在区å—定义中出现无效的文件编å·ï¼š%s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "ä¸å…¼å®¹çš„连接区å—%lu,%lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "有冲çªçš„ç©ºåŒºå—æ›¿æ¢å­—符串" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "多字符标签%s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "ä¸å…¼å®¹çš„æ ‡ç­¾" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ä¸èƒ½ä»Žæ ‡å‡†è¾“å…¥åŒæ—¶è¯»å–两个文件" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "用法:%s [-s ä¿¡å· | -ä¿¡å·] 进程å·...\n" " 或:%s -l [ä¿¡å·]...\n" " 或:%s -t [ä¿¡å·]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "å‘进程å‘é€ä¿¡å·ï¼Œæˆ–是列出å¯ç”¨ä¿¡å·ã€‚\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=ä¿¡å·ï¼Œ-ä¿¡å·\n" " \t指定è¦å‘é€çš„ä¿¡å·å或信å·ä»£ç ã€‚\n" " -l, --list \t列出å¯ç”¨çš„ä¿¡å·åç§°ï¼ŒåŒæ—¶æä¾›ä¿¡å·å与信å·ä»£ç çš„对照\n" " -t, --table \t显示一个有关信å·å…·ä½“ä¿¡æ¯çš„表格。\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "傿•°ä¸­çš„ä¿¡å·å¯ä»¥æ˜¯ç±»ä¼¼\"HUP\"的信å·å称,也å¯ä»¥æ˜¯å¦‚\"1\"这样的信å·ç¼–ç ï¼Œæˆ–者" "进程被\n" "ä¿¡å·ç»ˆæ­¢åŽçš„退出状æ€å·ã€‚\n" "进程å·(PID) 是一个整数,如果为负数则表示一个进程组。\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s:无效的进程å·" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "无效的选项 -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%sï¼šåŒæ—¶æŒ‡å®šäº†å¤šä¸ªä¿¡å·" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "åŒæ—¶æŒ‡å®šäº†å¤šä¸ª-l 或-t 选项" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "无法将-l 或-t 选项结åˆä½¿ç”¨" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "未指定进程å·" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "åˆ†é… %<PRIuMAX> 字节标准输入输出(stdio)缓冲区失败\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%2$s 的缓冲模å¼%1$s 无效\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "无法将%2$s 的缓冲模å¼è®¾ç½®ä¸º%1$s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Ston" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "用法:%s 文件1 文件2\n" " 或:%s 选项\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "调用 link 函数创建从既存的文件1 到文件2 的链接。\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "无法创建指å‘%2$s 的链接%1$s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: ä¸å…许将硬链接指å‘目录" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s:无法覆盖目录" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%sï¼šæ˜¯å¦æ›¿æ¢%s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "无法创建符å·é“¾æŽ¥%s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "无法创建符å·é“¾æŽ¥%s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "无法创建硬链接%.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "无法创建硬链接%s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "无法创建硬链接%s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "用法:%s [选项]... [-T] 目标 链接å\t(ç¬¬ä¸€ç§æ ¼å¼)\n" " 或:%s [选项]... 目标\t\t(ç¬¬äºŒç§æ ¼å¼)\n" " 或:%s [选项]... 目标... 目录\t(ç¬¬ä¸‰ç§æ ¼å¼)\n" " 或:%s [选项]... -t 目录 目标...\t(ç¬¬å››ç§æ ¼å¼)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "åœ¨ç¬¬ä¸€ç§æ ¼å¼ä¸­ï¼Œåˆ›å»ºæŒ‡å®šåç§°ä¸”æŒ‡å‘æŒ‡å®šç›®æ ‡é“¾æŽ¥ã€‚\n" "åœ¨ç¬¬äºŒç§æ ¼å¼ä¸­ï¼Œåœ¨å½“å‰ç›®å½•创建指å‘目标ä½ç½®çš„链接。\n" "在第三ã€å››ç§æ ¼å¼ä¸­ï¼Œåœ¨æŒ‡å®šç›®å½•ä¸­åˆ›å»ºæŒ‡å‘æŒ‡å®šç›®æ ‡çš„链接。\n" "默认创建硬链接,当使用--symbolic 时创建符å·é“¾æŽ¥ã€‚\n" "当创建硬链接时æ¯ä¸ªæŒ‡å®šçš„目标都必须存在。符å·é“¾æŽ¥å¯ä»¥æŒ‡å‘ä»»æ„çš„ä½ç½®ï¼Œ\n" "å½“é“¾æŽ¥è§£æžæ­£å¸¸æ—¶ï¼Œå°†å…¶è§£æžä¸ºä¸€ä¸ªä¸Žå…¶çˆ¶ç›®å½•å…³è”的链接。\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL]\t为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份文件\n" " -b\t\t\t\t类似--backupï¼Œä½†ä¸æŽ¥å—任何傿•°\n" " -d, -F, --directory\t\t创建指å‘目录的硬链接(åªé€‚用于超级用户)\n" " -f, --force\t\t\t强行删除任何已存在的目标文件\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive\t\t删除文件å‰è¿›è¡Œç¡®è®¤\n" " -L, --logical\t\t将硬链接创建为符å·é“¾æŽ¥å¼•用\n" " -n, --no-dereference\t\t如果目的地是一个链接至æŸç›®å½•的符å·é“¾æŽ¥ï¼Œä¼šå°†\n" "\t\t\t\t该符å·é“¾æŽ¥å½“作普通文件处ç†ï¼Œå…ˆå°†è¯¥å·²å­˜åœ¨çš„链\n" "\t\t\t\t接备份或删除\n" " -s, --symbolic\t\t创建符å·é“¾æŽ¥è€Œéžç¡¬é“¾æŽ¥\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=åŽç¼€\t\t自行指定备份文件的åŽç¼€\n" " -t, --target-directory=目录\t在指定目录中创建链接\n" " -T, --no-target-directory\t将链接å称当作普通文件\n" " -v, --verbose\t\t链接å‰å…ˆåˆ—出æ¯ä¸ªæ–‡ä»¶çš„åç§°\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "使用 -s 选项会忽略 -L å’Œ -P。\n" "å¦åˆ™å½“æºä¸ºä¸€ä¸ªç¬¦å·é“¾æŽ¥(默认%s)æ—¶ï¼Œä¼šç”±æœ€åŽæŒ‡å®šçš„ä¸€ä¸ªé€‰é¡¹æ¥æŽ§åˆ¶è¡Œä¸ºã€‚\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "æ— æ³•åŒæ—¶ä½¿ç”¨ --target-directory å’Œ --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "无法创建符å·é“¾æŽ¥%s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME:未知" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "用法:%s [选项]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "显示当å‰ç”¨æˆ·çš„å称。\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "无登录å" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "忽略无效的环境å˜é‡QUOTING_STYLE 的键值:%s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "忽略无效的环境å˜é‡ COLUMNS 所示的宽度值:%s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "忽略无效的环境å˜é‡ TABSIZE 所示的制表符尺寸值:%s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "无效的行宽:%s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "无效的制表符尺寸:%s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "无效的日期时间格å¼%s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "æœ‰æ•ˆçš„å‚æ•°ä¸ºï¼š" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "åˆå§‹åŒ–月份字符串出错" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "无法识别的å‰ç¼€ï¼š%s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "LS_COLORS 环境å˜é‡ä¸­å­˜åœ¨æ— æ³•解些的值" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "无法打开目录%s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "无法决定%s 所在的设备åŠinode" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s:ä¸ä¼šå†åˆ—出已ç»åˆ—出的目录" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "正在读å–目录%s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "关闭目录%s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "无法比较文件å%s å’Œ %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "列出 FILE 的信æ¯(默认为当å‰ç›®å½•)。\n" "å¦‚æžœä¸æŒ‡å®š-cftuvSUX 或--sort 选项,则根æ®å­—æ¯å¤§å°æŽ’åºã€‚\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all\t\t\tä¸éšè—任何以. 开始的项目\n" " -A, --almost-all\t\t列出除. åŠ.. 以外的任何项目\n" " --author\t\t\t与-l åŒæ—¶ä½¿ç”¨æ—¶åˆ—出æ¯ä¸ªæ–‡ä»¶çš„作者\n" " -b, --escape\t\t\t以八进制溢出åºåˆ—表示ä¸å¯æ‰“å°çš„字符\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=大å°\t\tå—以指定大å°çš„字节为å•ä½ã€‚例如\n" "\t\t\t\t--block-size=M 以 1,048,576 字节为å•ä½\t\t\t\t显示大å°ã€‚å‚看SIZE æ ¼" "å¼ã€‚ -B, --ignore-backups\t\tä¸åˆ—出任何以\"~\"字符结æŸçš„项目\n" " -c\t\t\t\té…åˆ-lt:根æ®ctime 排åºå¹¶æ˜¾ç¤ºctime(文件\n" "\t\t\t\tçŠ¶æ€æœ€åŽæ›´æ”¹çš„æ—¶é—´)\n" "\t\t\t\té…åˆ-l:显示ctime 但根æ®å称排åº\t\t\t\t其他情况:按ctime 排åº\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C\t\t\t\tæ¯æ ç”±ä¸Šè‡³ä¸‹åˆ—出项目\n" " --color[=WHEN]\t\t控制是å¦ä½¿ç”¨è‰²å½©åˆ†è¾¨æ–‡ä»¶ã€‚WHEN å¯ä»¥æ˜¯\n" "\t\t\t\t\"never\"(默认)ã€\"always\"或\"auto\"其中之一\n" " -d, --directory\t\t当é‡åˆ°ç›®å½•时列出目录本身而éžç›®å½•内的文件\n" " -D, --dired\t\t\t产生适åˆEmacs çš„dired 模å¼ä½¿ç”¨çš„结果\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f\t\t\t\tä¸è¿›è¡ŒæŽ’åºï¼Œ-aU 选项生效,-lst 选项失效\n" " -F, --classify\t\t加上文件类型的指示符å·(*/=@| 其中一个)\n" " --format=关键字\t\t交错-x,逗å·åˆ†éš”-m,水平-x,长-l,\n" "\t\t\t\t啿 -1,详细-l,垂直-C\n" " --full-time\t\tå³-l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g\t\t\t\t类似-l,但ä¸åˆ—出所有者\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" "\t\t\t在文件å‰åˆ†ç»„目录。此选项å¯ä¸Ž--sort 一起使用,\n" "\t\t\t但是一旦使用--sort=none (-U)å°†ç¦ç”¨åˆ†ç»„\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group\t\t以一个长列表的形å¼ï¼Œä¸è¾“出组å\n" " -h, --human-readable\t\t与-l 一起,以易于阅读的格å¼è¾“出文件大å°\n" "\t\t\t\t(例如 1K 234M 2G)\n" " --si\t\t\tåŒä¸Šé¢ç±»ä¼¼ï¼Œä½†æ˜¯ä½¿ç”¨1000 为基底而éž1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" "\t\t\t\tè·Ÿéšå‘½ä»¤è¡Œåˆ—出的符å·é“¾æŽ¥\n" " --dereference-command-line-symlink-to-dir\n" "\t\t\t\tè·Ÿéšå‘½ä»¤è¡Œåˆ—出的目录的符å·é“¾æŽ¥\n" " --hide=PATTERN \téšè—符åˆPATTERN 模å¼çš„项目\n" "\t\t\t\t(-a 或 -A 将覆盖此选项)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=æ–¹å¼\t指定在æ¯ä¸ªé¡¹ç›®åç§°åŽåŠ ä¸ŠæŒ‡ç¤ºç¬¦å·æ–¹å¼ï¼š\n" "\t\t\t\tnone (默认),classify (-F),file-type (-p)\n" " -i, --inode\t\t\t显示æ¯ä¸ªæ–‡ä»¶çš„inode å·\n" " -I, --ignore=PATTERN\t\t䏿˜¾ç¤ºä»»ä½•ç¬¦åˆæŒ‡å®šshell PATTERN 的项目\n" " -k\t\t\t\tå³--block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l\t\t\t\t使用较长格å¼åˆ—出信æ¯\n" " -L, --dereference\t\t当显示符å·é“¾æŽ¥çš„æ–‡ä»¶ä¿¡æ¯æ—¶ï¼Œæ˜¾ç¤ºç¬¦å·é“¾æŽ¥æ‰€æŒ‡ç¤º\n" "\t\t\t\t的对象而并éžç¬¦å·é“¾æŽ¥æœ¬èº«çš„ä¿¡æ¯\n" " -m\t\t\t\t所有项目以逗å·åˆ†éš”,并填满整行行宽\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid\t\t类似 -l,但列出UID åŠGID å·\n" " -N, --literal\t\t\t输出未ç»å¤„ç†çš„项目åç§° (如ä¸ç‰¹åˆ«å¤„ç†æŽ§åˆ¶å­—ç¬¦)\n" " -o\t\t\t\t类似 -l,但ä¸åˆ—出有关组的信æ¯\n" " -p, --indicator-style=slash\t对目录加上表示符å·\"/\"\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars\t以\"?\"字符代替无法打å°çš„字符\n" " --show-control-chars\t直接显示无法打å°çš„字符 (这是默认方å¼ï¼Œé™¤éžè°ƒç”¨\n" "\t\t\t\t的程åºå称是\"ls\"而且是在终端输出结果)\n" " -Q, --quote-name\t\tå°†æ¡ç›®å称括上åŒå¼•å·\n" " --quoting-style=æ–¹å¼\t使用指定的quoting æ–¹å¼æ˜¾ç¤ºæ¡ç›®çš„å称:\n" "\t\t\t\tliteralã€localeã€shellã€shell-alwaysã€cã€escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse\t\t\té€†åºæŽ’åˆ—\n" " -R, --recursive\t\t递归显示å­ç›®å½•\n" " -s, --size\t\t\t以嗿•°å½¢å¼æ˜¾ç¤ºæ¯ä¸ªæ–‡ä»¶åˆ†é…的尺寸\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S\t\t\t\tæ ¹æ®æ–‡ä»¶å¤§å°æŽ’åº\n" " --sort=WORD\t\t以下是å¯é€‰ç”¨çš„WORD 和它们代表的相应选项:\n" "\t\t\t\textension -X status -c\n" "\t\t\t\tnone -U time -t\n" "\t\t\t\tsize -S atime -u\n" "\t\t\t\ttime -t access -u\n" "\t\t\t\tversion -v use -u\n" " --time=WORD\t\tå’Œ-l åŒæ—¶ä½¿ç”¨æ—¶æ˜¾ç¤ºWORD 所代表的时间而éžä¿®æ”¹æ—¶\n" "\t\t\t\t间:atimeã€accessã€useã€ctime 或status;加上\n" "\t\t\t\t--sort=time 选项时会以指定时间作为排åºå…³é”®å­—\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STYLE\tå’Œ-l åŒæ—¶ä½¿ç”¨æ—¶æ ¹æ®STYLE ä»£è¡¨çš„æ ¼å¼æ˜¾ç¤ºæ—¶é—´ï¼š\n" "\t\t\t\tfull-isoã€isoã€localeã€posix-isoã€+FORMAT。\n" "\t\t\t\tFORMAT 峿˜¯\"date\"所用的时间格å¼ï¼›å¦‚æžœFORMAT\n" "\t\t\t\t是FORMAT1<æ¢è¡Œ>FORMAT2,FORMAT1 适用于较旧\n" "\t\t\t\t的文件而FORMAT2 适用于较新的文件;如果STYLE\n" "\t\t\t\t以\"posix-\"开头,则STYLE 仅在POSIX 语系之外\n" "\t\t\t\t生效。\n" " -t\t\t\t\tæ ¹æ®ä¿®æ”¹æ—¶é—´æŽ’åº\n" " -T, --tabsize=宽度\t指定制表符(Tab)的宽度,而éž8 个字符\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t\t\t\t按修改时间排åº\n" " -T, --tabsize=COLS\t指定制表符(Tab)的宽度,而éž8个字符\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u\t\t\tåŒ-lt 一起使用:按照访问时间排åºå¹¶æ˜¾ç¤º\n" "\t\t\tåŒ-lä¸€èµ·ä½¿ç”¨ï¼šæ˜¾ç¤ºè®¿é—®æ—¶é—´å¹¶æŒ‰æ–‡ä»¶åæŽ’åº\n" "\t\t\t其他:按照访问时间排åº\n" " -U\t\t\tä¸è¿›è¡ŒæŽ’åºï¼›æŒ‰ç…§ç›®å½•顺åºåˆ—出项目\n" " -v\t\t\t在文本中进行数字(版本)的自然排åº\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS\t自行指定è¤å¹•宽度而ä¸ä½¿ç”¨ç›®å‰çš„æ•°å€¼\n" " -x\t\t\té€è¡Œåˆ—å‡ºé¡¹ç›®è€Œä¸æ˜¯é€æ åˆ—出\n" " -X\t\t\tæ ¹æ®æ‰©å±•åæŽ’åº\n" " -1\t\t\tæ¯è¡Œåªåˆ—出一个文件\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "使用色彩æ¥åŒºåˆ†æ–‡ä»¶ç±»åž‹çš„功能已被ç¦ç”¨ï¼Œé»˜è®¤è®¾ç½®å’Œ --color=never åŒæ—¶ç¦ç”¨äº†" "它。\n" "使用 --color=auto 选项,ls åªåœ¨æ ‡å‡†è¾“出被连至终端时æ‰ç”Ÿæˆé¢œè‰²ä»£ç ã€‚\n" "LS_COLORS 环境å˜é‡å¯æ”¹å˜æ­¤è®¾ç½®ï¼Œå¯ä½¿ç”¨ dircolors 命令æ¥è®¾ç½®ã€‚\n" "\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "退出状æ€ï¼š\n" " 0 正常\n" " 1 一般问题 (ä¾‹å¦‚ï¼šæ— æ³•è®¿é—®å­æ–‡ä»¶å¤¹)\n" " 2 严é‡é—®é¢˜ (ä¾‹å¦‚ï¼šæ— æ³•ä½¿ç”¨å‘½ä»¤è¡Œå‚æ•°)\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "用法:%s [选项]... [文件]...\n" "显示或检查 %s(%d-bit) 校验和。\n" "若没有文件选项,或者文件处为\"-\",则从标准输入读å–。\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr " -b, --binary\t\t以二进制模å¼è¯»å–(除éžä»Žtty 标准输入读å–å¦åˆ™ä¸ºé»˜è®¤)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary\t\t以二进制模å¼è¯»å–\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check\t\t从文件中读å–%s 的校验值并予以检查\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr " -t, --text\t\t以纯文本模å¼è¯»å–(从tty æ ‡å‡†è¾“å…¥è¯»å–æ—¶ä¸ºé»˜è®¤)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text\t\t以纯文本模å¼è¯»å–(默认)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "以下三个选项在进行校验时éžå¸¸æœ‰ç”¨ï¼š\n" " --quiet\t\tä¸ä¸ºæ ¡éªŒæˆåŠŸçš„æ–‡ä»¶è¾“å‡ºOK\n" " --status\t\tä¸è¾“出任何内容,使用退出状æ€å·æ˜¾ç¤ºæˆåŠŸ\n" " -w, --warn\t\t对格å¼ä¸å‡†ç¡®çš„æ ¡éªŒå’Œè¡Œè¿›è¡Œè­¦å‘Š\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "校验和会按照%s 规范生æˆã€‚当进行检查时,给出的输入格å¼åº”该和程åºçš„输出\n" "æ ·æ¿æ ¼å¼ç›¸åŒã€‚é»˜è®¤çš„è¾“å‡ºæ¨¡å¼æ—¶è¾“出一行校验和的校验结果,并有一个字符æ¥\n" "表示文件类型(\"*\"代表二进制,\" \"代表纯文本)ï¼Œå¹¶åŒæ—¶æ˜¾ç¤ºæ¯ä¸ªæ–‡ä»¶çš„å称。\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s:校验和的行数过多" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s:%<PRIuMAX>:%s 的校验和行目格å¼ä¸é€‚当" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s:打开或读å–失败\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "失败" #: src/md5sum.c:597 msgid "OK" msgstr "确定" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s:找ä¸åˆ°æ ¼å¼é€‚用的%s 校验和" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "警告:%<PRIuMAX> 行的格å¼ä¸é€‚当" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "警告:%<PRIuMAX> 个列出的文件无法读å–" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "警告:%<PRIuMAX> 个校验和ä¸åŒ¹é…" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "åªæœ‰åœ¨æ ¡éªŒæ—¶--status é€‰é¡¹æ‰æœ‰æ„义" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "在校验时--binary å’Œ--text 选项是无æ„义的" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "åªæœ‰åœ¨æ ¡éªŒæ—¶--status é€‰é¡¹æ‰æœ‰æ„义" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "åªæœ‰åœ¨æ ¡éªŒæ—¶--warn é€‰é¡¹æ‰æœ‰æ„义" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "åªæœ‰åœ¨æ ¡éªŒæ—¶--quiet é€‰é¡¹æ‰æœ‰æ„义" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "åªæœ‰åœ¨æ ¡éªŒæ—¶--status é€‰é¡¹æ‰æœ‰æ„义" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "用法:%s [选项]... 目录...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "若指定目录ä¸å­˜åœ¨åˆ™åˆ›å»ºç›®å½•。\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=æ¨¡å¼ \t设置æƒé™æ¨¡å¼(类似chmod)ï¼Œè€Œä¸æ˜¯rwxrwxrwx å‡umask\n" " -p, --parents \téœ€è¦æ—¶åˆ›å»ºç›®æ ‡ç›®å½•的上层目录,但å³ä½¿è¿™äº›ç›®å½•已存在也ä¸" "当作错误处ç†\n" " -v, --verbose \tæ¯æ¬¡åˆ›å»ºæ–°ç›®å½•都显示信æ¯\n" " -Z, --context=CTX \tå°†æ¯ä¸ªåˆ›å»ºçš„目录的SELinux 安全环境设置为CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "已创建目录 %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "用法:%s [选项]... åç§°...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "以指定的å称创建先进先出文件(FIFO)。\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=æ¨¡å¼ \t设置æƒé™æ¨¡å¼(类似chmod)ï¼Œè€Œä¸æ˜¯rwxrwxrwx å‡umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr " -Z, --context=CTX \tå°†æ¯ä¸ªåˆ›å»ºçš„目录的SELinux 安全环境设置为CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "无效的æƒé™æ¨¡å¼" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "模å¼å¿…é¡»åªæŒ‡å®šæ–‡ä»¶è®¸å¯ä½" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "用法:%s [选项]... åç§° 类型 [ä¸»è®¾å¤‡å· æ¬¡è®¾å¤‡å·]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "创建指定类型和å称的特殊文件。\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=CTX \t将对应å称文件的SELinux 安全环境设置为CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "当类型为\"p\"æ—¶å¯ä¸æŒ‡å®šä¸»è®¾å¤‡å·å’Œæ¬¡è®¾å¤‡å·ï¼Œå¦åˆ™å®ƒä»¬æ˜¯å¿…须指定的。\n" "如果主设备å·å’Œæ¬¡è®¾å¤‡å·ä»¥\"0x\"或\"0X\"开头,它们会被视作å六进制数æ¥\n" "è§£æžï¼›å¦‚果以\"0\"开头,则被视作八进制数;其余情况下被视作å进制数。\n" "å¯ç”¨çš„类型包括:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b 创建(有缓冲的)区å—特殊文件\n" " c, u 创建(没有缓冲的)字符特殊文件\n" " p 创建先进先出(FIFO)特殊文件\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "创建å—è®¾å¤‡æ–‡ä»¶æ—¶ï¼Œå¿…éœ€æŒ‡å®šä¸»ã€æ¬¡è®¾å¤‡å·ã€‚" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "先进先出(FIFO)文件ä¸éœ€è¦æŒ‡å®šä¸»ã€æ¬¡è®¾å¤‡å·ã€‚" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "䏿”¯æŒåŒºå—特殊文件" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "䏿”¯æŒå­—符特殊文件" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "æ— æ•ˆçš„ä¸»è®¾å¤‡å· %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "æ— æ•ˆçš„æ¬¡è®¾å¤‡å· %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "无效的设备文件%s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "无效的设备类型 %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "用法:%s [选项]... [TEMPLATE]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "安全地创建一个临时文件或目录,并且打输出它的å字。\n" "TEMPLATE 最åŽéƒ¨åˆ†å¿…须嫿œ‰è‡³å°‘ 3 个连续的 X。\n" "如果 TEMPLATE 没有指定,将会使用 tmp.XXXXXXXXXX。\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory åˆ›å»ºä¸€ä¸ªç›®å½•è€Œéžæ–‡ä»¶\n" " -u, --dry-run ä¸åˆ›å»ºä»»ä½•东西,仅打å°å‡ºå字。(仅供测试)\n" " -q, --quiet 䏿˜¾ç¤ºä»»ä½•有关文件或目录创建错误信æ¯\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF å°† SUFF 添加至 TEMPLATE。SUFF ä¸èƒ½å¸¦æ–œæ ã€‚\n" " è‹¥ TEMPLATE ä¸ä»¥ X 结尾,则此选项éšå¼å®žçŽ°ã€‚\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] å°†TEMPLATE å’ŒDIR 目录关è”。如果DIR 没有被指定,则\n" " æ ¹æ®$TMPDIR 是å¦è¢«è®¾ç½®æ¥é€‰æ‹©æ˜¯$TMPDIR 还是 /tmp。\n" " 在这个选项中,TEMPLATE ä¸èƒ½æ˜¯ç»å¯¹è·¯å¾„。\n" " 与-t ä¸åŒï¼ŒTEMPLATE å…许带斜线。\n" " ä½†æ­¤ç§æƒ…况下mktemp 仅以斜线åŽéƒ¨åˆ†ç”Ÿæˆç›®å½•。\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR 使用 DIR 作为目录åï¼›éšå¼å®žçް -t(已废除)\n" " -t\t\t\t把 TEMPLATE 相对于目录$TMPDIR 作为å•独的文件å\n" "\t\t\t(å¦‚æžœè®¾ç½®äº†è¯¥å‚æ•°çš„è¯);此目录也å¯ä»¥é€šè¿‡-p 指定;还å¯\n" "\t\t\t以通过/tmp指定[䏿ލè]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "é‡å®šå‘标准错误到/dev/null 失败" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "模æ¿è¿‡å¤š" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "使用 --suffixï¼Œæ¨¡æ¿ %s 必须以 X 结尾" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "无效åŽç¼€ %sï¼Œå«æœ‰ç›®å½•分隔符" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "模æ¿%s 中X 太少" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "无效模æ¿ï¼Œ%s,包å«ç›®å½•分隔符" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "无效模æ¿ï¼Œ%s;如果与--tmpdir åŒæ—¶ä½¿ç”¨åˆ™ä¸å¯ä»¥æ˜¯ç»å¯¹è·¯å¾„" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "无法通过模æ¿%s 创建目录" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "无法通过模æ¿%s 创建文件" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "å°†æºæ–‡ä»¶é‡å‘½åä¸ºç›®æ ‡æ–‡ä»¶ï¼Œæˆ–å°†æºæ–‡ä»¶ç§»åŠ¨è‡³æŒ‡å®šç›®å½•ã€‚\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] 为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份\n" " -b 类似--backup 但䏿ޥå—傿•°\n" " -f, --force 覆盖å‰ä¸è¯¢é—®\n" " -i, --interactive 覆盖å‰è¯¢é—®\n" " -n, --no-clobber ä¸è¦†ç›–已存在文件\n" "如果您指定了-iã€-fã€-n 中的多个,仅最åŽä¸€ä¸ªç”Ÿæ•ˆã€‚\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes\t去掉æ¯ä¸ªæºæ–‡ä»¶å‚数尾部的斜线\n" " -S, --suffix=SUFFIX\t\t替æ¢å¸¸ç”¨çš„备份文件åŽç¼€\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIRECTORY\tå°†æ‰€æœ‰å‚æ•°æŒ‡å®šçš„æºæ–‡ä»¶æˆ–ç›®å½•\n" "\t\t\t\t\t移动至 指定目录\n" " -T, --no-target-directory\t将目标文件视作普通文件处ç†\n" " -u, --update\t\t\tåªåœ¨æºæ–‡ä»¶æ–‡ä»¶æ¯”目标文件新,或目标文件\n" "\t\t\t\tä¸å­˜åœ¨æ—¶æ‰è¿›è¡Œç§»åЍ\n" " -v, --verbose\t\t详细显示进行的步骤\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "用法:%s [选项] [命令 [傿•°]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "以指定的优先级è¿è¡Œå‘½ä»¤ï¼Œè¿™ä¼šå½±å“相应进程的调度。\n" "å¦‚æžœä¸æŒ‡å®šå‘½ä»¤ï¼Œç¨‹åºä¼šæ˜¾ç¤ºå½“å‰çš„优先级。优先级的范围是从 %d\n" "(最大优先级) 到 %d (最å°ä¼˜å…ˆçº§)。\n" "\n" " -n, --adjustment=N 对优先级数值加上指定整数N (默认为10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "无效的调整值%s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "命令必须和调整值é…åˆæŒ‡å®š" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "无法获å–优先级" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "无法设置优先级" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "将指定的å„ä¸ªæ–‡ä»¶æ·»åŠ è¡Œå·æ ‡æ³¨åŽå†™åˆ°æ ‡å‡†è¾“出。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶æˆ–指定文件为\"-\" ,程åºå°†ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=æ ·å¼\t使用指定样å¼ç¼–å·æ–‡ä»¶çš„æ­£æ–‡è¡Œç›®\n" " -d, --section-delimiter=CC\t使用指定的CC 分割逻辑页数\n" " -f, --footer-numbering=æ ·å¼\t使用指定样å¼ç¼–å·æ–‡ä»¶çš„页脚行目\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=æ ·å¼\t使用指定样å¼ç¼–å·æ–‡ä»¶çš„页眉行目\n" " -i, --page-increment=数值\t设置æ¯ä¸€è¡Œé历åŽçš„自动递增值\n" " -l, --join-blank-lines=数值\t设置数值为多少的若干空行被视作一行\n" " -n, --number-format=æ ¼å¼\tæ ¹æ®æŒ‡å®šæ ¼å¼æ’入行å·\n" " -p, --no-renumber\t\tåœ¨é€»è¾‘é¡µæ•°åˆ‡æ¢æ—¶ä¸å°†è¡Œå·å€¼å¤ä½\n" " -s, --number-separator=字符串\tå¯èƒ½çš„è¯åœ¨è¡Œå·åŽæ·»åŠ å­—ç¬¦ä¸²\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=æ•°å­—\tæ¯ä¸ªé€»è¾‘页上的第一行的行å·\n" " -w, --number-width=æ•°å­—\t为行å·ä½¿ç”¨æŒ‡å®šçš„æ æ•°\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "默认的选项设置是-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是用于分隔\n" "逻辑页数的两个分界符,其中缺失的第二个字符暗å«äº†\":\"ï¼Œå¦‚æžœæ‚¨è¦æŒ‡å®š\"\\\",\n" "请输入\"\\\\\"。å¯ç”¨çš„æ ·å¼å¦‚下:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a\t对所有行编å·\n" " t\t对éžç©ºè¡Œç¼–å·\n" " n\tä¸ç¼–行å·\n" " pBRE\tåªå¯¹ç¬¦åˆæ­£åˆ™è¡¨è¾¾å¼BRE 的行编å·\n" "\n" "FORMAT 是下列之一:\n" "\n" " ln\t左对é½ï¼Œç©ºæ ¼ä¸ç”¨0 å¡«å……\n" " rn \tå³å¯¹é½ï¼Œç©ºæ ¼ä¸ç”¨0 å¡«å……\n" " rz \tå³å¯¹é½ï¼Œç©ºæ ¼ç”¨0 å¡«å……\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "è¡Œå·æº¢å‡º" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "æ— æ•ˆçš„é¡µçœ‰å·æ ·å¼ï¼š%s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "æ— æ•ˆçš„æ­£æ–‡å·æ ·å¼ï¼š%s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "æ— æ•ˆçš„é¡µè„šå·æ ·å¼ï¼š%s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "无效的起始行å·ï¼š%s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "无效的行å·é€’增值:%s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "无效的空行数:%s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "无效的行宽数值:%s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "æ— æ•ˆçš„ç¼–å·æ ¼å¼ï¼š%s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "用法:%s 命令 [傿•°]...\n" " 或:%s 选项\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "忽略挂起信å·è¿è¡ŒæŒ‡å®šçš„命令。\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "如果标准输入是一个终端,é‡å®šå‘自/dev/null。\n" "如果标准输出是一个终端,尽å¯èƒ½å°†è¾“出添加到\"nohup.out\",\n" "å¦åˆ™æ·»åŠ åˆ°\"$HOME/nohup.out\"。\n" "如果标准错误输出是一个终端,é‡å®šå‘它到标准输出。\n" "è¦ä¿å­˜è¾“出内容到一个文件,使用 \"%s COMMAND > FILE\" å½¢å¼çš„命令。\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "标准输入ä¸å¯ç”¨ï¼Œæ— æ³•é‡å®šå‘" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "忽略输入" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "忽略输入并把输出追加到%s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "把输出追加到%s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "执行时关闭标准错误失败" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "忽略输入é‡å®šå‘错误到标准输出端" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "é‡å®šå‘标准错误到标准输出" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "é‡å®šå‘标准错误失败" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "用法:%s [选项]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "打å°å½“å‰è¿›ç¨‹å¯ç”¨çš„处ç†å™¨æ•°ï¼Œ\n" "此数目å¯èƒ½å°äºŽå®žé™…工作数\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all æ‰“å°æ‰€æ‹¥æœ‰çš„处ç†å™¨æ•°ç›®\n" " --ignore=N 如果有å¯èƒ½ï¼Œå¿½ç•¥ N 个处ç†å™¨\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s:无效的忽略数" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s:给定值ä¸èƒ½å®Œå…¨è½¬æ¢" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "无效的数字%s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "éžæ³•çš„åŽç¼€åœ¨%s%s 傿•°\"%s\"" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%sï¼šæ— æ³•ä»¥å†™æ¨¡å¼æ‰“å¼€" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "无效的制表符尺寸:%s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "用法: %s [选项]... [用户]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "其他选项:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "æ ¼å¼%s 没有%% 指令" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "无效的格å¼å®½åº¦" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "æ ¼å¼%s 以%% 结æŸ" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "æ ¼å¼%s 中%% 指令过多" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "éžæ³•çš„åŽç¼€åœ¨%s%s 傿•°\"%s\"" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "页ç èŒƒå›´%s 无效" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "无效的区å—ç¼–å·%s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "无效的日期%s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "文件æ“作数ä¸èƒ½äºŽ--files0-from 傿•°ä¸€èµ·ä½¿ç”¨" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "文件æ“作数ä¸èƒ½äºŽ--files0-from 傿•°ä¸€èµ·ä½¿ç”¨" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "指定了多个-i 选项" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "文件æ“作数ä¸èƒ½äºŽ--files0-from 傿•°ä¸€èµ·ä½¿ç”¨" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "读å–%s 时出错" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "标准输入ä¸å¯ç”¨ï¼Œæ— æ³•é‡å®šå‘" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "用法:%s [选项]... [文件]...\n" " 或:%s [-abcdfilosx]... [文件] [[+]åç§»é‡[.][b]]\n" " 或:%s --traditional [选项]... [文件] [[+]åç§»é‡[.][b] [+][标签][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "将指定文件以八进制形å¼(默认)转储到标准输出。如果指定了多于一个的文件\n" "傿•°ï¼Œç¨‹åºä¼šè‡ªåŠ¨å°†è¾“å…¥çš„å†…å®¹æ•´åˆä¸ºåˆ—è¡¨å¹¶ä»¥åŒæ ·çš„å½¢å¼è¾“出。\n" "如果没有指定文件,或指定文件为\"-\",程åºä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "如果两个调用格å¼éƒ½é€‚用,系统会在最åŽä¸€ä¸ªè¿ç®—é‡ä»¥\"+\"或数字开始\n" "(如果有两个è¿ç®—é‡)çš„æƒ…å†µä¸‹é‡‡ç”¨ç¬¬äºŒç§æ ¼å¼ã€‚\n" "åç§»é‡æ˜¯æŒ‡ -j åç§»é‡ã€‚标签是第一个字节的伪地å€ï¼Œ\n" "éšç€ç´¯ç§¯è¿‡ç¨‹é€’增。åç§»é‡å’Œæ ‡ç­¾å¦‚果冠以\"0x\"或\"0X\"å‰ç¼€åˆ™\n" "表示å六进制数;åŽç¼€\".\"代表八进制数,åŽç¼€\"b\"表示乘以 512。\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=åˆå§‹åç§»\tè®¾ç½®è¦æ˜¾ç¤ºçš„æ–‡ä»¶çš„åˆå§‹åç§»é‡\n" " -j, --skip-bytes=字节数\t略过指定字节数的输入内容\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=字节数\té™åˆ¶è¦è½¬å‚¨çš„输入字节为指定的字节数\n" " -S, --strings[=字节数]\tè¾“å‡ºè‡³å°‘åŒ…å«æŒ‡å®šå­—节数的字符相应的字串\n" " -t, --format=类型\t\t选å–输出格å¼ç±»åž‹\n" " -v, --output-duplicates\tä¸ä½¿ç”¨\"*\"字符标记å±è”½çš„行\n" " -w, --width[=字节数]\t\tæ¯ä¸€è¡Œåªè¾“出指定的字节数\n" " --traditional\t\t接å—ä¼ ç»Ÿå½¢å¼æäº¤çš„å‚æ•°\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "传统格å¼å‘½ä»¤å¯æ··åˆä½¿ç”¨ï¼Œä¸åŒçš„æ ¼å¼å¯å åŠ ï¼š\n" " -a\tå³ -t a, 使用命å的字符,忽略高阶ä½\n" " -b\tå³ -t o1,使用八进制å•字节字符\n" " -c\tå³ -t c, 使用ASCII å­—ç¬¦ï¼Œæˆ–è€…åæ–œæ æ­£å的特殊字符\n" " -d\tå³ -t u2,使用无符å·å进制åŒå­—节字符\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f\tå³ -t fF,指定浮点数对照输出格å¼\n" " -i\tå³ -t dl,指定å进制整数对照输出格å¼\n" " -l\tå³ -t dL,指定å进制长整数对照输出格å¼\n" " -o\tå³ -t o2,指定åŒå­—节å•ä½å…«è¿›åˆ¶æ•°çš„对照输出格å¼\n" " -s\tå³ -t d2,指定åŒå­—节å•ä½å进制数的对照输出格å¼\n" " -x\tå³ -t x2,指定åŒå­—节å•ä½å六进制数的对照输出格å¼\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TYPE 是由下é¢ä¸€ç§æˆ–几ç§å‚数组æˆçš„:\n" "\n" " a\t\té‡å®šä¹‰å­—符,忽略高ä½å­—节\n" " c\t\tASCII ç å­—ç¬¦æˆ–è€…æ˜¯åæ–œçº¿å­—串(如\\n)\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[尺寸]\t有符å·å进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节\n" " f[尺寸]\t浮点数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节\n" " o[尺寸]\t八进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节\n" " u[尺寸]\t无符å·å进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节\n" " x[尺寸]\tå六进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "尺寸应该是一个数字。对 doux 等类型æ¥è¯´ï¼Œé€‚用的尺寸有:\n" "C 代表 sizeof(char)ã€S 代表 sizeof(short)ã€I 代表 \n" "sizeof(int),或 L 代表 sizeof(long)ï¼›\n" "如果类型是 f,å¯é€‚用的尺寸有:\n" "F 代表 sizeof(float)ã€D 代表sizeof(double),或 L 代表\n" "sizeof(long double)。\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K åŽé¢å¯ä»¥è·Ÿä¹˜å·:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y åŒæ ·é€‚用。\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "无效类型的字符串%s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "无效的类型字符串%sï¼›\n" "系统无法æä¾›å¯¹%lu-字节整形类型数值的支æŒ" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "无效的类型字符串%sï¼›\n" "系统无法æä¾›å¯¹%lu-字节浮点类型数值的支æŒ" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "无效字符\"%c\"出现在类型字符串%s 中" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "无法略过输入内容的报尾" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "无效的输出地å€åŸºæ•°\"%c\",它必须是 [doxn] 四个字符中的一个" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "在转储字符串时ä¸èƒ½æŒ‡å®šç±»åž‹" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "å…¼å®¹æ¨¡å¼æœ€å¤šæ”¯æŒä¸€ä¸ªæ–‡ä»¶" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "略过字节数+ 读入字节数的值过大" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "警告:无效的宽度值%lu,已使用%d 代替" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s:无效的信å·" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "标准输入已关闭" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°†æ¯ä¸ªæŒ‡å®šæ–‡ä»¶é‡Œçš„æ¯ä¸€è¡Œæ•´åˆåˆ°å¯¹åº”一行里写到标准输出,之间用制表符分隔。\n" "如果没有指定文件,或指定文件为\"-\",程åºå°†ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=列表\t改用指定列表里的字符替代制表分隔符\n" " -s, --serial\t\tä¸ä½¿ç”¨å¹³è¡Œçš„行目输出模å¼ï¼Œè€Œæ˜¯æ¯ä¸ªæ–‡ä»¶å ç”¨ä¸€è¡Œ\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "åˆ†å‰²ç¬¦åˆ—è¡¨ä»¥ä¸€ä¸ªæœªè·³è¿‡çš„åæ–œçº¿ç»“æŸï¼š%s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "判断无效或未移æ¤çš„æ–‡ä»¶å。\n" "\n" " -p \t为类POSIX 兼容系统检查\n" " -P \t检查空文件åå’Œå‰å¯¼\"-\"文件å\n" " --portability \t为完整POSIX 兼容系统检查(等于-p -P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "文件å%s 以\"-\"符å·å¼€å¤´" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "有ä¸é€šç”¨çš„字符%s 被包å«åœ¨æ–‡ä»¶å%s 中" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "空文件å" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s:ä¸èƒ½ç¡®å®šæœ€å¤§æ–‡ä»¶å长度" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "文件å%3$s 的长度%2$lu 超出é™å€¼%1$lu" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "æ–‡ä»¶åæˆåˆ†%3$s 的长度%2$lu 超出é™å€¼%1$lu" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "登录å: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "实å: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "主目录: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "项目: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "计划:\n" #: src/pinky.c:405 msgid "Login" msgstr "登录" #: src/pinky.c:407 msgid "Name" msgstr "åå­—" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "空闲" #: src/pinky.c:411 msgid "When" msgstr "从" #: src/pinky.c:414 msgid "Where" msgstr "æ¥è‡ª" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "用法: %s [选项]... [用户]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l\t对指定用户输出完整的长格å¼ä¿¡æ¯\n" " -b\t在长格å¼ä¸­çœç•¥ç”¨æˆ·ä¸»ç›®å½•以åŠç™»å½• shell\n" " -h\t在长格å¼ä¸­çœç•¥ç”¨æˆ·çš„项目文件\n" " -p\t在长格å¼ä¸­çœç•¥ç”¨æˆ·çš„计划文件\n" " -s\t输出短格å¼ä¿¡æ¯(默认)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f\t在短格å¼ä¸­çœç•¥åˆ—æ æŠ¥å¤´\n" " -w\t在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨å\n" " -i\t在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨å以åŠè¿œç¨‹ä¸»æœº\n" " -q\t在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨åã€è¿œç¨‹ä¸»æœºä»¥åŠç©ºé—²æ—¶é—´\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "一个轻é‡çº§çš„\"finger\"程åºï¼Œç”¨äºŽæ˜¾ç¤ºç”¨æˆ·ä¿¡æ¯ã€‚\n" "用到的utmp 文件为%s。\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "没有指定用户å,当使用-l é€‰é¡¹æ—¶è‡³å°‘éœ€è¦æŒ‡å®šä¸€ä¸ª" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "\"--pages=首页[:末页]\"ç¼ºå¤±å‚æ•°" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "页ç èŒƒå›´%s 无效" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "\"-l 页长\"䏭嫿œ‰æ— æ•ˆçš„行å·ï¼š%s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "\"-N ç¼–å·\"䏭嫿œ‰æ— æ•ˆçš„起始行å·ï¼š%s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "\"-o 页边è·\"䏭嫿œ‰æ— æ•ˆçš„行åç§»é‡ï¼š%s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-w \"䏭嫿œ‰æ— æ•ˆçš„字符数:%s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-w \"䏭嫿œ‰æ— æ•ˆçš„字符数:%s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "åœ¨å¹³è¡Œè¾“å‡ºå‚æ•°æ—¶ä¸èƒ½æŒ‡å®šæ æ•°" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "æ— æ³•åŒæ—¶æŒ‡å®šç›¸äº¤è¾“å‡ºå’Œå¹³è¡Œè¾“å‡ºå‚æ•°" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "有多余字符\"-%c\"æˆ–æ— æ•ˆæ•°å­—å‡ºçŽ°åœ¨å‚æ•°%s 中" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "过窄" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "起始页ç %<PRIuMAX> 超出了最大页数%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "é¡µç æº¢å‡º" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "第 %<PRIuMAX> 页" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "å¯¹æŒ‡å®šæ–‡ä»¶é™„æ³¨æ‰“å°æ‰€éœ€çš„é¡µç æˆ–èšç„¦ã€‚\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +首页[:末页], --pages=首页[:末页]\n" "\t\t\t在指定的首页/末页处开始/åœæ­¢æ‰“å°\n" " -列数, --columns=列数\n" "\t\t\t输出指定的列数。如果指定了-a 选项,则从上到下列å°ã€‚\n" "\t\t\t程åºä¼šè‡ªåŠ¨åœ¨æ¯ä¸€é¡µå‡è¡¡æ¯åˆ—å ç”¨çš„行数。\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across\t\t设置æ¯åˆ—从上到下输出,é…åˆ\"-列数\"选项一起使用\n" " -c, --show-control-chars\n" "\t\t\t使用头标(^G)å’Œå…«è¿›åˆ¶åæ–œæ æ ‡è®°\n" " -d, --double-space\t加å€è¾“出空白区域\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=æ ¼å¼\n" "\t\t\t使用éµå¾ªæŒ‡å®šæ ¼å¼çš„页眉日期\n" " -e[字符[宽度]], --expand-tabs[=字符[宽度]]\n" "\t\t\t扩展输入的字符(制表符) 到制表符宽度(8)\n" " -F, -f, --form-feed\t使用出纸页页标代替新行作为页é¢é—´çš„分隔符\n" "\t\t\t(使用-F 选项时报头为3 行,ä¸ä½¿ç”¨æ—¶ä¸º5 行)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=页眉\t在页眉中使用居中的指定字符代替文件å\n" "\t\t\t-h \"\" 输出一个空行,ä¸è¦ä½¿ç”¨ -h\"\"\n" " -i[字符[宽度]], --output-tabs[=字符[宽度]]\n" "\t\t\t使用指定字符(或制表符)代替空格ä¸è¶³åˆ°æŒ‡å®šåˆ¶è¡¨ç¬¦å®½åº¦(默认8)\n" " -J, --join-lines\tåˆå¹¶æ•´ä¸ªè¡Œï¼Œå…³é—­-W 选项的行截断,ä¸ä½¿ç”¨æ è°ƒæ•´ï¼Œä½¿ç”¨\n" "\t\t\t\t--sep-string[=字符串] 设置分隔符\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=页长\n" "\t\t\t使用指定页长的行数(默认66)\n" "\t\t\t(默认文本行数为56,当å¯ç”¨-F 时为 63)\n" " -m, --merge\t\t在åŒä¸€è¡Œæ˜¾ç¤ºæ‰€æœ‰æ–‡ä»¶ï¼Œæ¯ä¸ªæ–‡ä»¶å ç”¨ä¸€æ ï¼Œåˆ†å‰²è¡Œï¼Œä½†æ˜¯å½“\n" "\t\t\t使用-J 时将行åˆå¹¶åˆ°å®Œæ•´é•¿åº¦\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[分隔符[使•°]], --number-lines[=分隔符[使•°]]\n" "\t\t\t显示行å·ï¼Œä½¿ç”¨æŒ‡å®š(默认5) 使•°ï¼ŒåŽæŽ¥åˆ†éš”ç¬¦(默认TAB)\n" "\t\t\t默认从输入文件的第一行开始计数\n" " -N, --first-line-number=æ•°å­—\n" "\t\t\t从首页的首行以指定数字开始计数(å‚看\"+首页\")\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=缩进é‡\n" "\t\t\tå°†æ¯è¡Œç¼©è¿›(默认0)个空格,ä¸å½±å“-w 或-W 傿•°ï¼Œ\n" "\t\t\t缩进亮的值将被加入页é¢å®½åº¦\n" " -r, --no-file-warnings\n" "\t\t\t当文件无法打开时忽略警告\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CHAR], --separator[=CHAR]\n" "\t\t\tç”±å•个字符分隔å„列,未附加-w 时默认为制表符,å¦åˆ™ä¸ºç©ºã€‚\n" "\t\t\tå¦å¤–除éž-w 选项被指定,å¦åˆ™\"-s[CHAR]\"会å±è”½ä¸‰ä¸ªåˆ—相关\n" "\t\t\t的截行选项(-COLUMN|-a -COLUMN|-m)\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S字符串, --sep-string[=字符串]\n" "\t\t\t使用指定的字符串分æ ï¼Œä¸ä½¿ç”¨-S 则使用默认的制表符\n" "\t\t\tTAB 作为分隔符,与-J 和空格一起使用(等于-S\" \")对\n" "\t\t\t分æ é€‰é¡¹æ— å½±å“\n" " -t, --omit-header\t忽略页眉和页脚\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" "\t\t\t按照输入文件中的设置忽略页眉和页脚并除去所有分页记å·\n" " -v, --show-nonprinting\n" "\t\t\tä½¿ç”¨å…«è¿›åˆ¶åæ–œæ æ ‡è®°\n" " -w, --width=页é¢å®½åº¦\n" "\t\t\t为多æ é¡µé¢è¾“出将设置为指定的字符数(默认72),\n" "\t\t\t仅当-s[char] 选项ä¸å¯ç”¨æ—¶æœ‰æ•ˆ(å³ä¿æŒé»˜è®¤å€¼ 72)。\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=页宽\n" "\t\t\t总是将页宽设置为指定的(默认72)字符数,\n" "\t\t\t除éž-J 选项å¯ç”¨æ€»æ˜¯æˆªæ–­è¡Œï¼Œæ­¤å‚数与-S 或-s 冲çª\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "如果页长<=10 则使用-t 选项。如果FILE 没有定义,\n" "或者FILE 是\"-\",则从标准输入读入。\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "用法: %s [选项]... [å˜é‡]...\n" "显示指定的环境å˜é‡çš„值。\n" "如果没有指定å˜é‡ï¼Œåˆ™æ‰“å°å‡ºæ‰€æœ‰å˜é‡çš„å称和值。\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null ä»¥ç©ºå­—ç¬¦è€Œéžæ–°è¡Œç¬¦ç»“æŸæ¯ä¸€è¾“出行\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "警告:%s:跟éšåœ¨å¸¸é‡å­—符åŽçš„其它字符已被忽略" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "用法:%s æ ¼å¼ [傿•°]\n" " 或:%s 选项\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "æŒ‰ç…§æŒ‡å®šæ ¼å¼æ‰“å°å‚æ•°æˆ–æŒ‰ç…§é€‰é¡¹æ‰§è¡Œè¯¥å‚æ•°ï¼š\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "指定格å¼ç±»ä¼¼ C 中的 printf å‡½æ•°ï¼Œå¯æŽ§åˆ¶è¾“å‡ºã€‚æœ‰æ•ˆçš„è§£é‡Šåºåˆ—有:\n" "\n" " \\\"\t\tåŒå¼•å·\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN 字节以八进制数 NNN(1至3使•°)表示\n" " \\xHH\t\t字节以å六进制数 HH(1至2使•°)表示\n" " \\uHHHH\tUnicode(ISO/IEC 10646)字符以å六进制数 HHHH(4使•°)表示\n" " \\UHHHHHHHH\tUnicode 字符以å六进制数 HHHHHHHH(8使•°)表示\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %%\t\t一个 \"%\"\n" " %b\t\t带\"\\\"çš„æŒ‡å®šçš„å‚æ•°æ˜¯ç¦ç”¨è½¬ä¹‰ç¬¦çš„字符串,\n" " 例外:八进制数的转义串采用\"\\0\"或\"\\0NNN\"的形å¼\n" "\n" "åŒæ—¶ï¼Œæ‰€æœ‰ä»¥diouxXfeEgGcs 结尾的C æ ¼å¼åŒ–è¯´æ˜Žï¼Œå°†é¦–å…ˆæŠŠæŒ‡å®šçš„å‚æ•°è½¬æ¢ä¸º\n" "åˆé€‚的类型。å˜é‡çš„宽度将得到æ°å½“处ç†ã€‚\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s:需è¦ä¸€ä¸ªæ•°å€¼" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s:给定值ä¸èƒ½å®Œå…¨è½¬æ¢" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "Escape 中缺失å六进制数" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "无效的通用字符åç§°\\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "无效的域宽度:%s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "无效的精度:%s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s:无效的转æ¢å£°æ˜Ž" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "警告:从%s 开始已忽略超é‡çš„傿•°" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (æ­£åˆ™è¡¨è¾¾å¼ %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "用法:%s [选项]... [输入]... (ä¸åŒ…括 -G 选项)\n" " 或:%s -G [选项]... [输入 [输出]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "输出一串预排的文件索引信æ¯ï¼ŒåŒ…括输入文件中å„å•è¯çš„环境。\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A,--auto-reference\t\t输出自动生æˆçš„引用\n" " -G,--traditional\t\t行为类似System V çš„\"ptx\"\n" " -F,--flag-trunctaion=字符串\tä½¿ç”¨æŒ‡å®šå­—ç¬¦ä¸²æ¥æ ‡è¯†è¡Œçš„æˆªæ–­\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=字符串\t指定代替\"xx\"çš„å®å\n" " -O, --format=roff\t\t生æˆroff æ ¼å¼è¾“出\n" " -R, --right-side-refs\t\t将关è”引用放置在å³ä¾§ï¼Œä¸èƒ½å’Œ-w 选项å åŠ \n" " -S, --sentence-regexp=正则表达å¼\t用于匹é…è¡Œæœ«æˆ–å¥æœ«\n" " -T, --format=tex\t\t生æˆTeX æ ¼å¼è¾“出\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=正则表达å¼\t使用正则表达å¼åŒ¹é…æ¯ä¸ªå…³é”®å­—\n" " -b, --break-file=文件\t\t以文件中包å«çš„å•è¯ä¸ºåˆ†éš”字符\n" " -f, --ignore-case\t\tæŽ’åºæ—¶åˆå¹¶å°å†™å­—æ¯å’Œå¤§å†™å­—æ¯\n" " -g, --gap-size=数值\t\t指定多个输出区å—间的列间隙尺寸\n" " -i, --ignore-file=文件\t从指定文件中读å–忽略å•è¯çš„列表\n" " -o, --only-file=文件\t\tåªä»ŽæŒ‡å®šæ–‡ä»¶ä¸­è¯»å–å•è¯åˆ—表\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references\t\t设置æ¯è¡Œçš„第一个区å—为关è”引用\n" " -t, --typeset-mode\t\t -- 此功能尚未实现 --\n" " -w, --width=数值\t\tæ¯åˆ—的输出宽度,ä¸è®¡å…³è”引用\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为 \"-\",程åºå°†ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚默认时éšå«\n" "\"-F /\"选项。\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "无效的间隙宽度:%s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "输出当å‰å·¥ä½œç›®å½•的完整å称。\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical\t\t使用环境å˜é‡ä¸­çš„PWD,å³ä½¿å…¶ä¸­åŒ…å«ç¬¦å·é“¾æŽ¥\n" " -P, --physical\té¿å…所有符å·é“¾æŽ¥\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "无法切æ¢åˆ°ç›®å½•%s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "获å–%s 的文件状æ€å¤±è´¥(stat)" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "在匹é…çš„inode %s 上找ä¸åˆ°ç›®å½•å…¥å£" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "å¿½ç•¥ä¸æ˜¯é€‰é¡¹çš„傿•°" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "用法:%s [选项]... 文件...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "输出符å·é“¾æŽ¥å€¼æˆ–æƒå¨æ–‡ä»¶å。\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize\t\t递归跟éšç»™å‡ºæ–‡ä»¶å的所有符å·é“¾æŽ¥ä»¥æ ‡å‡†åŒ–,\n" "\t\t\t\t除最åŽä¸€ä¸ªå¤–所有组件必须存在\n" " -e, --canonicalize-existing\t递归跟éšç»™å‡ºæ–‡ä»¶å的所有符å·é“¾æŽ¥ä»¥æ ‡å‡†åŒ–,\n" "\t\t\t\t所有组件都必须存在\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing\t递归跟éšç»™å‡ºæ–‡ä»¶å的所有符å·é“¾æŽ¥ä»¥æ ‡å‡†åŒ–,\n" "\t\t\t\t但ä¸å¯¹ç»„ä»¶å­˜åœ¨æ€§ä½œå‡ºè¦æ±‚\n" " -n, --no-newline\tä¸è¾“出尾éšçš„æ–°è¡Œ\n" " -q, --quiet,\n" " -s, --silent\t\t缩å‡å¤§å¤šæ•°çš„错误消æ¯\n" " -v, --verbose\t\t报告所有错误消æ¯\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "å¿½ç•¥ä¸æ˜¯é€‰é¡¹çš„傿•°" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s:是å¦è¿›å…¥æœ‰å†™ä¿æŠ¤çš„目录%s ?" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s:是å¦è¿›å…¥ç›®å½•%s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s:是å¦åˆ é™¤æœ‰å†™ä¿æŠ¤çš„%s %s?" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s:是å¦åˆ é™¤%s %s?" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "已删除目录:%s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "无法删除目录:%s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "跳过%s,因为它ä½äºŽä¸åŒçš„设备上" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "é历失败:%s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "异常错误:fts_info=%d: %s\n" "请报告给 %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "å°è¯•使用\"%s ./%s\"删除文件%s。\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "删除 (unlink) 文件。\n" "\n" " -f, --force\t\t强制删除。忽略ä¸å­˜åœ¨çš„æ–‡ä»¶ï¼Œä¸æç¤ºç¡®è®¤\n" " -i\t\t\t在删除å‰éœ€è¦ç¡®è®¤\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I\t\t\t在删除超过三个文件或者递归删除å‰è¦æ±‚确认。此选项比-i æ\n" "\t\t\tç¤ºå†…å®¹æ›´å°‘ï¼Œä½†åŒæ ·å¯ä»¥é˜»æ­¢å¤§å¤šæ•°é”™è¯¯å‘生\n" " --interactive[=WHEN]\tæ ¹æ®æŒ‡å®šçš„WHEN 进行确认æç¤ºï¼šnever,once (-I),\n" "\t\t\t\t或者always (-i)ã€‚å¦‚æžœæ­¤å‚æ•°ä¸åŠ WHEN 则总是æç¤º\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system\t\t递归删除一个层级时,跳过所有ä¸ç¬¦åˆå‘½ä»¤è¡Œå‚\n" "\t\t\t\t数的文件系统上的文件\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-roo\tä¸ç‰¹æ®Šå¯¹å¾…\"/\"\n" " --preserve-root\tä¸å…许删除\"/\"(默认)\n" " -r, -R, --recursive\t递归删除目录åŠå…¶å†…容\n" " -v, --verbose\t\t详细显示进行的步骤\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "默认时,rm ä¸ä¼šåˆ é™¤ç›®å½•。使用--recursive(-r 或-R)选项å¯åˆ é™¤æ¯ä¸ªç»™å®š\n" "的目录,以åŠå…¶ä¸‹æ‰€æœ‰çš„内容。\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "è¦åˆ é™¤ç¬¬ä¸€ä¸ªå­—符为\"-\"的文件 (例如\"-foo\"),请使用以下方法之一:\n" " %s -- -foo\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "请注æ„,如果使用rm æ¥åˆ é™¤æ–‡ä»¶ï¼Œé€šå¸¸ä»å¯ä»¥å°†è¯¥æ–‡ä»¶æ¢å¤åŽŸçŠ¶ã€‚å¦‚æžœæƒ³ä¿è¯\n" "该文件的内容无法还原,请考虑使用shred。\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%sï¼šé€’å½’åˆ é™¤æ‰€æœ‰å‚æ•°ï¼Ÿ" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%sï¼šåˆ é™¤æ‰€æœ‰å‚æ•°ï¼Ÿ" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "正在删除目录 %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "删除目录 %s 失败" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "删除指定的空目录。\n" "\n" " --ignore-fail-on-non-empty\n" "\t\t\t忽略仅由目录éžç©ºäº§ç”Ÿçš„æ‰€æœ‰é”™è¯¯\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents\t\t删除指定目录åŠå…¶ä¸Šçº§æ–‡ä»¶å¤¹ï¼Œä¾‹å¦‚\"rmdir -p a/b/c'\"\n" "\t\t\t与\"rmdir a/b/c a/b a'\" 基本相åŒ\n" " -v, --verbose\t\t输出处ç†çš„目录详情\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "删除 %s 失败" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "用法: %s 环境 命令 [傿•°]\n" " 或: %s [ -c ] [-u 用户] [-r 角色] [-t 类型] [-l 范围] 命令 [傿•°]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "以ä¸åŒçš„安全环境è¿è¡Œç¨‹åºã€‚\n" "如果没有指定环境或命令之一,输出当å‰å®‰å…¨çŽ¯å¢ƒã€‚\n" "\n" " 环境\t\t\t完整的安全环境æè¿°\n" " -c, --compute\t\t在更改å‰è®¡ç®—环境å˜åŒ–\n" " -t, --type=类型\t类型(与父进程角色相åŒ)\n" " -u, --user=用户\t用户身份\n" " -r, --role=角色\t角色\n" " -l, --range=范围\t级别范围\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "多角色" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "多类型" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "多用户" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "å¤åˆçº§åˆ«èŒƒå›´" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "无法获得当å‰å®‰å…¨çŽ¯å¢ƒ" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "您必须指定-c,-t,-u,-l,-r 或环境" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "没有指定命令" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s åªèƒ½ç”¨äºŽå¯ç”¨äº†SELinux 支æŒçš„内核" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "计算新的环境失败" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "设置新用户%s 失败" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "设置新类型%s 失败" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "设置新范围%s 失败" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "设置新角色%s 失败" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "无法设置安全环境%s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "用法:%s [选项]... 尾数\n" " 或:%s [选项]... 首数 尾数\n" " 或:%s [选项]... 首数 å¢žé‡ å°¾æ•°\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "以指定增é‡ä»Žé¦–æ•°å¼€å§‹æ‰“å°æ•°å­—到尾数。\n" "\n" " -f, --format=æ ¼å¼\t使用printf æ ·å¼çš„æµ®ç‚¹æ ¼å¼\n" " -s, --separator=字符串\t使用指定字符串分隔数字(默认使用:\\n)\n" " -w, --equal-width\tåœ¨åˆ—å‰æ·»åŠ 0 使得宽度相åŒ\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "如果çœç•¥äº†é¦–数或者增é‡ï¼Œåˆ™é»˜è®¤å…¶å€¼ä¸º1,å³ä½¿è¿™æ ·å°¾æ•°ä»å°äºŽé¦–数。\n" "首数ã€å¢žé‡å’Œå°¾æ•°å‡ä»¥æµ®ç‚¹æ•°å½¢å¼è§£é‡Šã€‚当首数å°äºŽå°¾æ•°æ—¶å¢žé‡ä¸€èˆ¬ä¸ºæ­£å€¼ï¼Œ\n" "相å在首数大于尾数时增é‡ä¸€èˆ¬ä¸ºè´Ÿæ•°ã€‚\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "指定的格å¼å¿…须适用于显示\"double\"ç±»åž‹çš„å‚æ•°ï¼›å½“首数ã€å¢žé‡å’Œå°¾æ•°å‡ä¸ºæŒ‡å®š\n" "精确度的定点å进制数时默认为\"%.精确度f\",å¦åˆ™é»˜è®¤ä¸º\"%g\"。\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "æ— æ•ˆçš„æµ®ç‚¹å‚æ•°ï¼š%s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "æ ¼å¼%s ä¸­åŒ…å«æœªçŸ¥%%%c 指令" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "当输出等宽字符串时ä¸åº”冿Œ‡å®šæ ¼å¼å­—符串" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "用法:%s [短选项]... 用户 命令 [傿•°]...\n" " 或:%s 长选项\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "使用指定的用户(æ•°å­—ID 或者用户å) 替代原有用户ID 和组ID è¿è¡Œè¿žåŒå‚数的指定命" "令\n" "如果无法指定请求的用户和组ID 则以状æ€å·111 退出,å¦åˆ™ä»¥æ‰€æ‰§è¡Œå‘½ä»¤çš„终止状æ€å·" "退出。\n" "此程åºé€šå¸¸ä»…在使用root è¿è¡Œæ—¶æœ‰ç”¨ (root 的用户ID 为0)。\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...]\t将主组ID 设置为指定的数字GID,如果指定了GID1,\n" "\t\t\t\tåˆ™åŒæ—¶æ·»åŠ è¿™äº›é™„åŠ ç»„ID,...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "未知的用户ID:%s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "您应当将-g 与用户ID %s 一起使用" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "设置附加组失败" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "无法设置组ID 为%lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "无法设置用户ID 为%lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "多次覆盖文件,使得å³ä½¿æ˜¯æ˜‚贵的硬件探测仪器也难以将数æ®å¤åŽŸã€‚\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force\t\tå¿…è¦æ—¶ä¿®æ”¹æƒé™ä»¥ä½¿ç›®æ ‡å¯å†™\n" " -n, --iterations=N\t覆盖N 次,而éžä½¿ç”¨é»˜è®¤çš„%d 次\n" " --random-source=文件\t从指定文件中å–å‡ºéšæœºå­—节\n" " -s, --size=N\t\t粉碎数æ®ä¸ºæŒ‡å®šå­—节的碎片(å¯ä½¿ç”¨Kã€M å’ŒG 作为å•ä½)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove\t\tè¦†ç›–åŽæˆªæ–­å¹¶åˆ é™¤æ–‡ä»¶\n" " -v, --verbose\t\t显示详细信æ¯\n" " -x, --exact\t\tä¸å°†æ–‡ä»¶å¤§å°å¢žåŠ è‡³æœ€æŽ¥è¿‘çš„å—大å°\n" " -z, --zero \t\t最åŽä¸€æ¬¡ä½¿ç”¨0 进行覆盖以éšè—覆盖动作\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "如果指定文件为\"-\",粉碎标准输出的数æ®ã€‚\n" "\n" "如果加上--remove (-u)é€‰é¡¹è¡¨ç¤ºåˆ é™¤æ–‡ä»¶ã€‚é»˜è®¤çš„æ–¹å¼æ˜¯ä¸åˆ é™¤æ–‡ä»¶ï¼Œå› ä¸º\n" "覆盖åƒ/dev/hda 等的设备文件是很普é的,而这些文件通常ä¸åº”删除。当覆盖\n" "一般文件时,ç»å¤§å¤šæ•°äººéƒ½ä¼šä½¿ç”¨--remove 选项。\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "警告:请注æ„使用shred 时有一个很é‡è¦çš„æ¡ä»¶ï¼š\n" "文件系统会在原æ¥çš„ä½ç½®è¦†ç›–指定的数æ®ã€‚ä¼ ç»Ÿçš„æ–‡ä»¶ç³»ç»Ÿç¬¦åˆæ­¤æ¡ä»¶ï¼Œä½†è®¸å¤šçް代\n" "的文件系统都ä¸ç¬¦åˆæ¡ä»¶ã€‚以下是会令shred æ— æ•ˆæˆ–ä¸æ‹…ä¿ä¸€å®šæœ‰æ•ˆçš„æ–‡ä»¶ç³»ç»Ÿçš„\n" "例å­ï¼š\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* æœ‰çºªå½•ç»“æž„æˆ–æ˜¯æ—¥å¿—å¼æ–‡ä»¶ç³»ç»Ÿï¼Œå¦‚AIX åŠSolaris 使用的文件系统 (以åŠ\n" " JFSã€ReiserFSã€XFSã€Ext3 ç­‰)\n" "\n" "* 会é‡å¤å†™å…¥æ•°æ®ï¼ŒåŠå³ä½¿ä¸€éƒ¨ä»½å†™å…¥åŠ¨ä½œå¤±è´¥åŽä»å¯ç»§ç»­çš„æ–‡ä»¶ç³»ç»Ÿï¼Œå¦‚使用\n" " RAID 的文件系统\n" "\n" "* ä¼šä¸æ—¶è¿›è¡Œå¿«ç…§è®°å½•的文件系统,åƒNetwork Applicance çš„NFS æœåС噍\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* 文件系统是存放于缓存ä½ç½®ï¼Œæ¯”如NFS 第三版用户端\n" "\n" "* 压缩文件系统\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "在Ext3 文件系统中,以上å…责声明仅适用于å¯ç”¨äº†data=journal 模å¼çš„æƒ…况,\n" "æ­¤æ—¶æ–‡ä»¶æ—¥å¿—è®°å½•äº†é™„åŠ çš„å…ƒæ•°æ® shred 的作用将å—到影å“。在data=ordered(默认)\n" "或data=writeback 模å¼ä¸‹shred ä»ç„¶æœ‰æ•ˆã€‚\n" "Ext3 日志模å¼å¯é€šè¿‡å‘/etc/fstab 的挂载选项中添加data=something 进行设置,\n" "您å¯ä»¥æŸ¥çœ‹mount çš„man 页é¢ä»¥èŽ·å¾—è¯¦ç»†ä¿¡æ¯ã€‚\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "å¦å¤–,文件系统备份和远程镜åƒå¯èƒ½ä¼š\n" "包å«ä¸èƒ½è¢«åˆ é™¤çš„æ–‡ä»¶å‰¯æœ¬ï¼Œè¿™å°†ä¼š\n" "å…许碎片文件被æ¢å¤ã€‚\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s:fadatsync 失败" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s:fsync 失败" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s:无法å绕æ“作" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s:第%lu 次,共%lu 次 (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s:在ä½ç½®%s 写入时出现错误" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s:lseek 失败" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s:文件过大" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s:第%lu 次,共%lu 次 (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s:第%lu 次,共%lu 次 (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%sï¼šèŽ·å–æ–‡ä»¶çжæ€å¤±è´¥(fstat)" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s:无效的文件类型" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s:文件的大å°ä¸ºè´Ÿæ•°" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s:截断文件时出错" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s:文件控制æ“作失败(fcntl)" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s:ä¸èƒ½å¯¹åªå¯è¿½åŠ æ•°æ®çš„æ–‡ä»¶æè¿°ç¬¦(file descriptor) 进行粉碎" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s:正在删除" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s:å称已更改为 %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s:删除失败" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s:已删除" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s:无法关闭" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%sï¼šæ— æ³•ä»¥å†™æ¨¡å¼æ‰“å¼€" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s:覆盖次数无效" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "æŒ‡å®šäº†å¤šä¸ªéšæœºæº" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%sï¼šæ–‡ä»¶å¤§å°æ— æ•ˆ" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "用法: %s [选项]... [文件]\n" " 或者: %s -e [选项]... [傿•°]...\n" " 或者: %s -i LO-HI [选项]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "æŠŠè¾“å…¥è¡ŒæŒ‰éšæœºé¡ºåºè¾“出到标准输出。\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo\t\t\tå°†æ¯ä¸ªå‚数视为输入行\n" " -i, --input-range=LO-HI\tå°†LO 到HI çš„æ¯ä¸ªæ•°å­—视为输入行\n" " -n, --head-count=行数\t\t最多输出指定的行数\n" " -o, --output=文件\t\tå°†ç»“æžœè¾“å‡ºåˆ°æŒ‡å®šæ–‡ä»¶è€Œéžæ ‡å‡†è¾“出\n" " --random-source=文件\tä»ŽæŒ‡å®šæ–‡ä»¶èŽ·å¾—éšæœºæ¯”特\n" " -z, --zero-terminated\t以0 结æŸè¡Œè€Œéžæ–°è¡Œ\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "指定了多个-i 选项" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "无效的输入范围:%s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "无效的行数%s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "指定了多个输出文件" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š-e å’Œ-i 选项" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "用法:%s æ•°å­—[æ—¶é—´å•ä½]...\n" " 或:%s 选项\n" "æš‚åœæŒ‡å®šçš„秒数。时间å•ä½å¯ä»¥æ˜¯s 表示秒(默认设置),m 表示分钟,\n" "h è¡¨ç¤ºå°æ—¶ï¼Œd 表示天。 指定数字å¯ä»¥æ˜¯ä¸€ä¸ªæ•´æ•°ï¼Œä¹Ÿå¯ä»¥æ˜¯æµ®ç‚¹æ•°ã€‚\n" "å¦‚æžœå‚æ•°ä¸ªæ•°è¶…过2 个,暂åœçš„æ€»æ—¶é—´ä¸ºå„ä¸ªå‚æ•°çš„值的和。\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "无效的时间间隔%s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "无法读å–实时时钟" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "ä¸²è”æŽ’åºæ‰€æœ‰æŒ‡å®šæ–‡ä»¶å¹¶å°†ç»“果写到标准输出。\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "排åºé€‰é¡¹ï¼š\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks\t忽略å‰å¯¼çš„空白区域\n" " -d, --dictionary-order\tåªè€ƒè™‘空白区域和字æ¯å­—符\n" " -f, --ignore-case\t\t忽略字æ¯å¤§å°å†™\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort\t按照常规数值排åº\n" " -i, --ignore-nonprinting\tåªæŽ’åºå¯æ‰“å°å­—符\n" " -M, --month-sort\t\t比较 (未知) < \"一月\" < ... < \"å二月\"\n" "\t\t\t\t在LC_ALL=C 时为(unknown) < `JAN' < ... < `DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr " -h, --human-numeric-sort 使用易读性数字(例如: 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort\t\tæ ¹æ®å­—符串数值比较\n" " -R, --random-sort\t\tæ ¹æ®éšæœºhash 排åº\n" " --random-source=文件\tä»ŽæŒ‡å®šæ–‡ä»¶ä¸­èŽ·å¾—éšæœºå­—节\n" " -r, --reverse\t\t\t逆åºè¾“出排åºç»“æžœ\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=WORD\t\t按照WORD æŒ‡å®šçš„æ ¼å¼æŽ’åºï¼š\n" "\t\t\t\t\t一般数字-g,高å¯è¯»æ€§-h,月份-M,数字-n,\n" "\t\t\t\t\téšæœº-R,版本-V\n" " -V, --version-sort\t\t在文本内进行自然版本排åº\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "其他选项:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE\t一次最多åˆå¹¶NMERGE 个输入;如果输入更多\n" "\t\t\t\t\t则使用临时文件\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\t检查输入是å¦å·²æŽ’åºï¼Œè‹¥å·²æœ‰åºåˆ™ä¸è¿›è¡Œæ“" "作\n" " -C, --check=quiet, --check=silent\t类似-cï¼Œä½†ä¸æŠ¥å‘Šç¬¬ä¸€ä¸ªæ— åºè¡Œ\n" " --compress-program=程åº\t使用指定程åºåŽ‹ç¼©ä¸´æ—¶æ–‡ä»¶ï¼›ä½¿ç”¨è¯¥ç¨‹åº\n" "\t\t\t\t\tçš„-d 傿•°è§£åŽ‹ç¼©æ–‡ä»¶\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug\t\t\t为用于排åºçš„行添加注释,并将有å¯èƒ½æœ‰é—®é¢˜çš„\n" "\t\t\t\t\t用法输出到标准错误输出\n" " --files0-from=文件\t从指定文件读å–以NUL 终止的å称,如果该文件被\n" "\t\t\t\t\t指定为\"-\"则从标准输入读文件å\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=ä½ç½®1[,ä½ç½®2]\t在ä½ç½®1 开始一个key,在ä½ç½®2 终止(默认为行尾)\n" "\t\t\t\tå‚看POS 语法。\n" " -m, --merge\t\t\tåˆå¹¶å·²æŽ’åºçš„æ–‡ä»¶ï¼Œä¸å†è¿›è¡ŒæŽ’åº\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=文件\t\tå°†ç»“æžœå†™å…¥åˆ°æ–‡ä»¶è€Œéžæ ‡å‡†è¾“出\n" " -s, --stable\t\t\tç¦ç”¨last-resort 比较以稳定比较算法\n" " -S, --buffer-size=大å°\t指定主内存缓存大å°\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=分隔符\t使用指定的分隔符代替éžç©ºæ ¼åˆ°ç©ºæ ¼çš„转æ¢\n" " -T, --temporary-directory=目录\t使用指定目录而éž$TMPDIR 或%s 作为\n" "\t\t\t\t\t临时目录,å¯ç”¨å¤šä¸ªé€‰é¡¹æŒ‡å®šå¤šä¸ªç›®å½•\n" " --parallel=N\t\tå°†åŒæ—¶è¿è¡Œçš„æŽ’åºæ•°æ”¹å˜ä¸ºN\n" " -u, --unique\t\té…åˆ-c,严格校验排åºï¼›ä¸é…åˆ-c,则åªè¾“出一次排åºç»“æžœ\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated\t以0 å­—èŠ‚è€Œéžæ–°è¡Œä½œä¸ºè¡Œå°¾æ ‡å¿—\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS 是F[.C][OPTS],F 代表域编å·ï¼ŒC 是域中字æ¯çš„ä½ç½®ï¼ŒF å’ŒC å‡ä»Ž1开始计数\n" "如果没有有效的-t 或-b 选项存在,则从å‰å¯¼ç©ºæ ¼åŽå¼€å§‹è®¡æ•°å­—符。OPTS 是一个或多" "个\n" "ç”±å•个字æ¯è¡¨ç¤ºçš„顺åºé€‰é¡¹ï¼Œä»¥æ­¤è¦†ç›–æ­¤key 的全局顺åºè®¾ç½®ã€‚如果没有指定key 则\n" "将其整个行。\n" "\n" "指定的大å°å¯ä»¥ä½¿ç”¨ä»¥ä¸‹å•ä½ä¹‹ä¸€ï¼š\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "内存使用率% 1%,b 1ã€K 1024 (默认),Mã€Gã€Tã€Pã€Eã€Zã€Y ç­‰ä¾æ­¤ç±»æŽ¨ã€‚\n" "\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" "*** 警告 ***\n" "本地环境å˜é‡ä¼šå½±å“排åºç»“果。\n" "如果希望以字节的自然值获得最传统的排åºç»“果,请设置LC_ALL=C。\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "等待 %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] 䏿­£å¸¸ç»“æŸ" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "无法在%s 创建临时文件" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "打开失败" #: src/sort.c:970 msgid "fflush failed" msgstr "冲洗æµå¤±è´¥(fflush)" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "关闭失败" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "å¤åˆ¶å·²æ‰“开文件æè¿°ç¬¦å¤±è´¥(dup2)" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "无法执行%s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "无法创建临时文件" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "无法创建进程%s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "无法执行%s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "警告:无法删除:%s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "无效的 --%s 傿•°%s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "æœ€å° --%s 傿•°æ˜¯%s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s 傿•°%s 太长" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "最大 --%s 傿•°åœ¨å½“å‰èµ„æºé™åˆ¶(rlimit)设置下是%s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "å•个的数字必须ä¸ä¸ºé›¶" #: src/sort.c:1494 msgid "stat failed" msgstr "èŽ·å–æ–‡ä»¶çжæ€å¤±è´¥(stat)" #: src/sort.c:1755 msgid "read failed" msgstr "读å–失败" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "字符串转æ¢å¤±è´¥" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "未转æ¢çš„字符串为%s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ 没有匹é…项\n" #: src/sort.c:2389 #, fuzzy, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "使用了旧的值%s,考虑转为使用%s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "值%lu 宽度为零,忽略" #: src/sort.c:2406 #, fuzzy, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "值%lu 开头有大é‡ç©ºæ ¼ï¼Œè€ƒè™‘åŒæ—¶æŒ‡å®š\"b\"" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "值%lu 为数字且跨多个域" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "选项\"-%s\"被忽略" #: src/sort.c:2457 #, fuzzy, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "选项\"-r\" 仅用于last-resort 比较" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "写入失败" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s:%s:%s:无åºï¼š " #: src/sort.c:2786 msgid "standard error" msgstr "标准错误" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s:无法å绕æ“作" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s:无效的区å—è§„æ ¼%s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "选项\"-%s\"ä¸å…¼å®¹" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s:在%s 处的计数无效" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "在\"-\"åŽçš„ç¼–å·æ— æ•ˆ" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "在\".\"åŽçš„ç¼–å·æ— æ•ˆ" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "区å—中有孤立字符" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "指定了多个压缩程åº" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "区å—èµ·å§‹å¤„çš„ç¼–å·æ— æ•ˆ" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "区å—ç¼–å·ä¸ºé›¶" #: src/sort.c:4392 msgid "character offset is zero" msgstr "字符åç§»é‡ä¸ºé›¶" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "在\",\"åŽçš„ç¼–å·æ— æ•ˆ" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "空标签" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "无法从%s ä¸­è¯»å–æ–‡ä»¶å" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu:无效的 0 长度文件å" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "没有æ¥è‡ª%s 的输入" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "使用%s 排åºè§„则" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "使用简å•字节比较" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "ä¸å…许é¢å¤–çš„æ“作数%s 与-%c 一起使用" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "åŽç¼€é•¿åº¦è‡³å°‘应为%zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "用法:%s [选项]... [输入 [å‰ç¼€]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "将输入内容拆分为固定大å°çš„分片并输出到\"å‰ç¼€aa\"ã€\"å‰ç¼€ab\",...ï¼›\n" "默认以 1000 行为拆分å•ä½ï¼Œé»˜è®¤å‰ç¼€ä¸º\"x\"ã€‚å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–\n" "者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N\t指定åŽç¼€é•¿åº¦ä¸ºN (默认为%d)\n" " -b, --bytes=大å°\t\t指定æ¯ä¸ªè¾“出文件的字节大å°\n" " -C, --line-bytes=大å°\t指定æ¯ä¸ªè¾“出文件里最大行字节大å°\n" " -d, --numeric-suffixes \t使用数字åŽç¼€ä»£æ›¿å­—æ¯åŽç¼€\n" " -e, --elide-empty-files\tå’Œ-n 一起使用时ä¸ç”Ÿæˆç©ºçš„输出文件\n" " -l, --lines=数值\t\t指定æ¯ä¸ªè¾“出文件有多少行\n" " -n, --number=å—æ•°\t\t生æˆå—数输出文件。å‚看下é¢çš„说明。\n" " -u, --unbuffered\t\tç«‹å³ä½¿ç”¨-n r/... å¤åˆ¶è¾“入到输出\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr " --verbose\t\t在æ¯ä¸ªè¾“出文件打开å‰è¾“出文件特å¾\n" #: src/split.c:236 #, fuzzy msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "å—æ•°å¯èƒ½ä¸ºï¼š\n" "N\t基于输入的大å°åˆ†å‰²ä¸ºN 个文件\n" "K/N\tå°†N 个文件中的第K 个输出到标准输出\n" "l/N\t分割为N 个文件,但分割时ä¸åˆ‡æ–­è¡Œ\n" "l/K/N\tå°†N 个文件中的第K 个输出到标准输出,但分割时ä¸åˆ‡æ–­è¡Œ\n" "r/N\t类似l 但使用轮询分é…\n" "r/K/N\t类似r/N 但尽将N 个文件中的第K 个输出到标准输出\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "已排除输出文件åŽç¼€" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "正在创建文件%s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "æ›´æ–°%s 的环境失败" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "无法创建硬链接%s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "关闭目录%s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "正在关闭输出文件%s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "正在关闭输入文件%s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "正在关闭输入文件%s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "无法è¿è¡Œå‘½ä»¤%s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "关闭目录 %s 失败" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "等待拆解" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "æ¥è‡ªå‘½ä»¤çš„æœªçŸ¥çŠ¶æ€ (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "无法以多于一ç§çš„æ–¹å¼åˆ‡åˆ†è¾“å…¥" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%sï¼šæ— æ•ˆçš„å—æ•°" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%sï¼šæ— æ•ˆå—æ•°" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s:文件类型无效" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s:无效的字节数" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s:无效的行数" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "行数选项-%s%c... 过大" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "无效的起始行å·ï¼š%s" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s:无效的IO å—大å°" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s:无法确定文件大å°" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "标准化%s 失败" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "警告:无法识别的转义字符\"\\%c\"" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s:无效指令" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "è­¦å‘Šï¼šæ ¼å¼æœ«å°¾å‡ºçް忖œæ " #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "用 %s 进行标准输入在文件系统模å¼ä¸‹æ— æ³•工作" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "无法为 %s è¯»å–æ–‡ä»¶ç³»ç»Ÿä¿¡æ¯" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "æ— æ³•ä»Žæ ‡å‡†è¾“å…¥èŽ·å–æ–‡ä»¶ä¿¡æ¯(stat)" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " 文件:\"%n\"\n" " ID:%-8i 文件å长度:%-7l 类型:%T\n" "å—大å°ï¼š%-10s 基本å—大å°ï¼š%S\n" " å—:总计:%-10b 空闲:%-10f å¯ç”¨ï¼š%a\n" "Inodes: 总计:%-10c 空闲:%d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " 文件:%N\n" " 大å°ï¼š%-10s\tå—:%-10b IO å—:%-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "设备:%Dh/%dd\tInode:%-10i 硬链接:%-5h 设备类型:%t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "设备:%Dh/%dd\tInode:%-10i 硬链接:%h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "æƒé™ï¼š(%04a/%10.10A) Uid:(%5u/%8U) Gid:(%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "环境:%C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "最近访问:%x\n" "最近更改:%y\n" "最近改动:%z\n" "创建时间:%w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "显示文件或文件系统的状æ€ã€‚\n" "\n" " -L, --dereference\tè·Ÿéšé“¾æŽ¥\n" " -f, --file-system\t显示文件系统状æ€è€Œéžæ–‡ä»¶çжæ€\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=æ ¼å¼\t使用指定输出格å¼ä»£æ›¿é»˜è®¤å€¼ï¼Œæ¯ç”¨ä¸€æ¬¡æŒ‡å®šæ ¼å¼æ¢ä¸€æ–°è¡Œ\n" " --printf=æ ¼å¼\t类似 --formatï¼Œä½†æ˜¯ä¼šè§£é‡Šåæ–œæ è½¬ä¹‰ç¬¦ï¼Œä¸ä½¿ç”¨æ¢è¡Œä½œ\n" "\t\t\t\t输出结尾。如果您ä»å¸Œæœ›ä½¿ç”¨æ¢è¡Œï¼Œå¯ä»¥åœ¨æ ¼å¼ä¸­\n" "\t\t\t\t加入\"\\n\"\n" " -t, --terse\t\tä½¿ç”¨ç®€æ´æ ¼å¼è¾“出\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "有效的文件格å¼åºåˆ—(ä¸ä½¿ç”¨ --file-system):\n" "\n" " %a\t八进制æƒé™\n" " %A 用å¯è¯»æ€§è¾ƒå¥½çš„æ–¹å¼è¾“出æƒé™\n" " %b 计算已分é…å—æ•°(å‚è§%B)\n" " %B 以字节为å•ä½è¾“出%b 所报告的æ¯ä¸ªå—的大å°\n" " %C SELinux 安全环境字符串\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d\tå进制设备编å·\n" " %D\tå六进制设备编å·\n" " %f\tå六进制原始模å¼\n" " %F\t文件类型\n" " %g\t文件的属组ID\n" " %G\t文件的属组组å\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h\t硬链接数é‡\n" " %i\tInode ç¼–å·\n" " %m\t挂载点\n" " %n\t文件å\n" " %N\t如果对象是一个符å·é“¾æŽ¥ï¼Œæ˜¾ç¤ºå¼•用到的其它文件å\n" " %o\tI/O å—大å°\n" " %s\t总计大å°ï¼Œä»¥å­—节为å•ä½\n" " %t\tå六进制主设备类型\n" " %T\tå六进制å­è®¾å¤‡ç±»åž‹\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u\t文件的属主ID\n" " %U\t文件的属主用户å\n" " %w\t文件创建时间,若未知则显示\"-\"\n" " %W\t从UNIX 元年起以秒计的文件创建时间,若未知则显示\"-\"\n" " %x\t上次访问时间\n" " %X\t从UNIX 元年起以秒计的上次访问时间\n" " %y\t上次修改时间\n" " %Y\t从UNIX 元年起以秒计的上次修改时间\n" " %z\t上次更改时间\n" " %Z\t从UNIX 元年起以秒计的上次更改时间\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "有效的文件系统格å¼åºåˆ—:\n" "\n" " %a\téžè¶…级用户å¯ç”¨çš„剩余嗿•°\n" " %b\t文件系统的总数æ®å—æ•°\n" " %c\t文件系统中文件节点总数\n" " %d\t文件系统中空闲文件节点数\n" " %f\tæ–‡ä»¶ç³»ç»Ÿä¸­ç©ºé—²å—æ•°\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i\tå六进制文件系统ID\n" " %I\tå…è®¸çš„æ–‡ä»¶åæœ€å¤§é•¿åº¦\n" " %n\t文件å\n" " %s\tå—大å°(用于快速传输)\n" " %S\t基本å—大å°(用于å—计数)\n" " %t\tå六进制类型æè¿°\n" " %T\tå¯è¯»æ€§è¾ƒå¥½çš„类型æè¿°\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "用法:%s [选项]... 命令\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "è¿è¡Œæ ‡å‡†æµç¼“冲区æ“作已改å˜çš„ COMMAND。\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODE 调整标准输入æµç¼“冲区\n" " -o, --output=MODE 调整标准输出æµç¼“冲区\n" " -e, --error=MODE 调整标准错误æµç¼“冲区\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "è‹¥ MODE 是 L,则相应的æµå°†æ˜¯è¡Œç¼“冲模å¼ã€‚\n" "标准输入æµä¸‹æ­¤é€‰é¡¹æ— æ•ˆã€‚\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "è‹¥ MODE 是 0,则相应的æµå°†ä¸ç¼“冲。\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "å¦åˆ™ MODE 就应该是以下数字å•ä½ä¸­çš„一个:\n" "KB 1000,K 1024,MB 1000*1000,M 1024*1024ï¼Œä»¥åŠ Gã€Tã€Pã€Eã€Zã€Y。\n" "在此情况下,相应的æµå°†ç¼“冲由 MODE 指定大å°çš„缓冲字节。\n" "\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "注æ„:若 COMMAND 调整其自身的标准æµç¼“冲区(如 tee 就是),\n" "则此æ“作会覆盖由stdbuf 所åšå‡ºçš„相应设置。\n" "还有æŸäº›æ»¤ä»¶ç¨‹åº(如dd å’Œcat 之类),它们ä¸ä½¿ç”¨è¾“入输出æµï¼Œ\n" "å› æ­¤ä¸å—stdbuf 设置的影å“。\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "查找%s 失败" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "æ›´æ–°%s 的环境失败" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "对标准输入进行行缓冲无æ„义" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "用法:%s [-F 设备 | --file=设备] [设置]...\n" " 或:%s [-F 设备 | --file=设备] [-a|--all]\n" " 或:%s [-F 设备 | --file=设备] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "è¾“å‡ºæˆ–ä¿®æ”¹ç»ˆç«¯å‚æ•°ã€‚\n" "\n" " -a, --all\t\t以å¯è¯»æ€§è¾ƒå¥½çš„æ–¹å¼è¾“出全部当å‰è®¾ç½®\n" " -g, --save\t\t以stty å¯è¯»å–的格å¼è¾“出当å‰å…¨éƒ¨è®¾ç½®\n" " -F, --file=设备\t打开并使用指定设备代替标准输入\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "å¯é€‰- 在设置å‰çš„æŒ‡ç¤ºä¸­ï¼Œ* 标记出了éžPOSIX 标准的设置。以下系\n" "统定义象å¾äº†å“ªäº›è®¾ç½®æ˜¯æœ‰æ•ˆçš„。\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "特殊字符:\n" " * dsusp 字符\tæ¯å½“输入刷新时会å‘é€ä¸€ä¸ªç”¨äºŽç»ˆç«¯é˜»å¡žä¿¡å·çš„字符\n" " eof\t字符\t表示文件末尾而å‘é€çš„字符(用于终止输入)\n" " eol\t字符\t为表示行尾而å‘é€çš„字符\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 字符\t为表示行尾而å‘é€çš„å¦ä¸€ä¸ªå¯é€‰å­—符\n" " erase 字符\t擦除å‰ä¸€ä¸ªè¾“入文字的字符\n" " intr 字符\t用于å‘é€ä¸­æ–­ä¿¡å·çš„字符\n" " kill 字符\t用于擦除当å‰ç»ˆç«¯è¡Œçš„字符\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext 字符\t用于输入下一个引用文字的字符\n" " quit 字符\t用于å‘é€é€€å‡ºä¿¡å·çš„字符\n" " * rprnt 字符\t用于é‡ç»˜å½“å‰è¡Œçš„字符\n" " start 字符\tåœ¨åœæ­¢åŽé‡æ–°å¼€å¯è¾“出的字符\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop 字符\tåœæ­¢è¾“出的字符\n" " susp 字符\tå‘é€ç»ˆç«¯é˜»æ–­ä¿¡å·çš„字符\n" " * swtch 字符\t在ä¸åŒçš„shell 层次间切æ¢çš„字符\n" " * werase 字符\t擦除å‰ä¸€ä¸ªè¾“入的å•è¯çš„字符\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "特殊设置:\n" " N\t\t设置输入输出速度为N 波特\n" " * cols N\t统治内核终端上有N æ \n" " * columns N\t等于cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N\t设置输入速度为N 波特\n" " * line N\t设置行约æŸè§„则为N\n" " min N\tå’Œ -icanon é…åˆä½¿ç”¨ï¼Œè®¾ç½®æ¯æ¬¡ä¸€å®Œæ•´è¯»å…¥çš„æœ€å°å­—符数为<N>\n" " ospeed N\t设置输出速度为N 波特\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N\tå‘内核通告此终端有N 行\n" " * size\tæ ¹æ®å†…核信æ¯è¾“出当å‰ç»ˆç«¯çš„行数和列数\n" " speed\t输出终端速度(å•ä½ä¸ºæ³¢ç‰¹)\n" " time N\tå’Œ-icanon é…åˆä½¿ç”¨ï¼Œè®¾ç½®è¯»å–超时为N 个å分之一秒\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "控制设置:\n" " [-]clocal\tç¦ç”¨è°ƒåˆ¶è§£è°ƒå™¨æŽ§åˆ¶ä¿¡å·\n" " [-]cread\tå…许接收输入\n" " * [-]crtscts\tå¯ç”¨RTS/CTS æ¡æ‰‹\n" " csN\t\t设置字符大å°ä¸ºN ä½ï¼ŒN 的范围为5 到8\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb\tæ¯ä¸ªå­—符使用2 ä½åœæ­¢ä½ (è¦æ¢å¤æˆ1 ä½é…åˆ\"-\"å³å¯)\n" " [-]hup\t当最åŽä¸€ä¸ªè¿›ç¨‹å…³é—­æ ‡å‡†ç»ˆç«¯åŽå‘逿Œ‚èµ·ä¿¡å·\n" " [-]hupcl\t等于[-]hup\n" " [-]parenb\t对输出生æˆå¥‡å¶æ ¡éªŒä½å¹¶ç­‰å¾…è¾“å…¥çš„å¥‡å¶æ ¡éªŒä½\n" " [-]parodd\t设置校验ä½ä¸ºå¥‡æ•° (é…åˆ\"-\"åˆ™ä¸ºå¶æ•°)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "输入设置:\n" " [-]brkint\t任务中断会触å‘中断信å·\n" " [-]icrnl\t将回车转æ¢ä¸ºæ¢è¡Œç¬¦\n" " [-]ignbrk\t忽略中断字符\n" " [-]igncr\t忽略回车\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar\tå¿½ç•¥å«æœ‰å¥‡å¶ä¸å¯¹ç§°é”™è¯¯çš„字符\n" " * [-]imaxbel\tå‘出终端å“铃但ä¸åˆ·æ–°å­—符的完整输入缓冲\n" " [-]inlcr\tå°†æ¢è¡Œç¬¦è½¬æ¢ä¸ºå›žè½¦\n" " [-]inpck\tå¯ç”¨è¾“入奇嶿€§æ ¡éªŒ\n" " [-]istrip\t剥除输入字符的高8 使¯”特\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8\tå‡å®šè¾“入字符都是UTF-8 ç¼–ç \n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc\t将大写字æ¯è½¬æ¢ä¸ºå°å†™\n" " * [-]ixany\t使得任何字符都会é‡å¯è¾“出,ä¸ä»…仅是起始字符\n" " [-]ixoff\tå¯ç”¨å¼€å§‹/åœæ­¢å­—符传é€\n" " [-]ixon\tå¯ç”¨XON/XOFF æµæŽ§åˆ¶\n" " [-]parmrk\tæ ‡è®°å¥‡å¶æ ¡éªŒé”™è¯¯ (结åˆ255-0 字符åºåˆ—)\n" " [-]tandem\t等于[-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "输出设置:\n" " * bsN\t\t退格延迟的风格,N 的值为0 至1\n" " * crN\t\t回车延迟的风格,N 的值为0 至3\n" " * ffN\t\tæ¢é¡µå»¶è¿Ÿçš„风格,N 的值为0 至1\n" " * nlN\t\tæ¢è¡Œå»¶è¿Ÿçš„风格,N 的值为0 至1\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl\t将回车转æ¢ä¸ºæ¢è¡Œç¬¦\n" " * [-]ofdel\t使用删除字符代替空字符作填充\n" " * [-]ofill\tå»¶è¿Ÿæ—¶ä½¿ç”¨å­—ç¬¦å¡«å……ä»£æ›¿å®šæ—¶å™¨åŒæ­¥\n" " * [-]olcuc\t转æ¢å°å†™å­—æ¯ä¸ºå¤§å†™\n" " * [-]onlcr\tå°†æ¢è¡Œç¬¦è½¬æ¢ä¸ºå›žè½¦\n" " * [-]onlret\t使得æ¢è¡Œç¬¦çš„行为表现和回车相åŒ\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr\tä¸åœ¨ç¬¬ä¸€åˆ—输出回车\n" " [-]opost\tåŽç»­è¿›ç¨‹è¾“出\n" " * tabN\t水平制表符延迟的风格,N 的值为0 至3\n" " * tabs\t等于tab0\n" " * -tabs\t等于tab3\n" " * vtN\t\t垂直制表符延迟的风格,N 的值为0 至1\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "本地设置:\n" " [-]crterase\t擦除字符回显为退格符\n" " * crtkill\tä¾ç…§echoprt å’Œechoe 的设置清除所有行\n" " * -crtkill\tä¾ç…§echoctl å’Œechol 的设置清除所有行\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho\t在头字符中输出控制符å·(\"^c\")\n" " [-]echo\t回显输入字符\n" " * [-]echoctl\t等于[-]ctlecho\n" " [-]echoe 等于[-]crterase\n" " [-]echok\tåœ¨æ¯æ¸…除一个字符åŽè¾“出一次æ¢è¡Œ\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke\t等于[-]crtkill æ„义相åŒ\n" " [-]echonl\tå³ä½¿æ²¡æœ‰å›žæ˜¾ä»»ä½•其它字符也输出æ¢è¡Œ\n" " * [-]echoprt\t在\"\\\"å’Œ\"/\"之间å‘åŽæ˜¾ç¤ºæ“¦é™¤çš„字符\n" " [-]icanon\tå¯ç”¨eraseã€killã€werase å’Œrprnt 等特殊字符\n" " [-]iexten\tå…许POSIX 标准以外的特殊字符\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig\tå¯ç”¨interruptã€quitå’Œsuspend 等特殊字符\n" " [-]noflsh\t在interrupt å’Œ quit 特殊字符åŽç¦æ­¢åˆ·æ–°\n" " * [-]prterase\t等于[-]echoprt\n" " * [-]tostop\t中止å°è¯•å‘终端写入数æ®çš„åŽå°ä»»åŠ¡\n" " * [-]xcase\tå’Œicanon é…åˆä½¿ç”¨ï¼Œç”¨è½¬ä¹‰ç¬¦\"\\\"退出大写状æ€\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "综åˆè®¾ç½®ï¼š\n" " * [-]LCASE\t等于[-]lcase\n" " cbreak\t等于-icanon\n" " -cbreak\t等于icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked\t等于brkint ignpar istrip icrnl ixon opost isig icanon eof \t\t" "\teol 等的默认值\n" " -cooked\t等于-raw\n" " crt\t\t等于echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec\t\t等于echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u\n" " * [-]decctlq\t等于[-]ixany\n" " ek\t\t清除所有字符,将它们回溯为默认值\n" " evenp\t等于parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp\t等于-parenb cs8\n" " * [-]lcase\t等于xcase iuclc olcuc\n" " litout\t等于-parenb -istrip -opost cs8\n" " -litout\t等于parenb istrip opost cs7\n" " nl\t\t等于-icrnl -onlcr\n" " -nl\t\t等于icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp\t等于parenb parodd cs7\n" " -oddp\t等于-parenb cs8\n" " [-]parity\t等于[-]evenp\n" " pass8\t等于-parenb -istrip cs8\n" " -pass8\t等于parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw\t\t等于-ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw\t等于cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane\t等于cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" "\t\t-ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" "\t\t-onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" "\t\tisig icanon iexten echo echoe echok -echonl -noflsh\n" "\t\t-xcase -tostop -echoprt echoctl echoke,所有特殊字符å‡\n" "\t\t使用默认值\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "处ç†è¿žæŽ¥åˆ°æ ‡å‡†è¾“入的tty 终端行设置。当ä¸é™„åŠ å‚æ•°æ—¶ï¼Œç¨‹åºä¼šè¾“出波特率ã€è¡Œçº¦" "æŸ\n" "规则以åŠä¸Žæ ‡å‡†stty 设置间的å差。在设置中,字符会被é€å­—è¯»å–æˆ–是被编ç ä¸º^cã€\n" "0x37ã€0177 或127 这样的字符,其中有特殊值^- 或undef è¢«ç”¨äºŽç¦æ­¢ç‰¹æ®Šå­—符。\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "åªèƒ½æŒ‡å®šä¸€ä¸ªè®¾å¤‡" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "verbose å’Œ stty-readable 两ç§è¾“入风格的选项是互相抵触的" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "当指定了输出风格时,模å¼ä¸èƒ½å†è¢«è®¾ç½®" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s:无法é‡ç½®éžé˜»å¡žæ¨¡å¼" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "æ— æ•ˆçš„å‚æ•° %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "缺少%s çš„å‚æ•°" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "无效的行约æŸ%s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s:无法执行所有请求的æ“作" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s:此设备没有大å°ä¿¡æ¯" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "æ— æ•ˆçš„æ•´æ•°å‚æ•°%s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "为æ¯ä¸ªæŒ‡å®šçš„æ–‡ä»¶è¾“出校验和以åŠå—计数。\n" "\n" " -r\t\t使用BSD 加和算法,以1 KB 为一个å—\n" " -s, --sysv\t使用System V 加和算法,以51åŒå­—节为一个å—\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "强迫将已更改的数æ®å†™å…¥ç£ç›˜ï¼Œå¹¶æ›´æ–°è¶…级å—。\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "å¿½ç•¥ä»»ä½•å‚æ•°" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "注æ„:您的shell 内å«è‡ªå·±çš„%s 程åºç‰ˆæœ¬ï¼Œå®ƒä¼šè¦†ç›–这里所æåŠçš„相应\n" "版本。请查阅您的shell 文档获知它所支æŒçš„选项。\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help\t\t显示此帮助信æ¯å¹¶é€€å‡º\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version\t\t显示版本信æ¯å¹¶é€€å‡º\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "é•¿é€‰é¡¹å¿…é¡»ä½¿ç”¨çš„å‚æ•°å¯¹äºŽçŸ­é€‰é¡¹æ—¶ä¹Ÿæ˜¯å¿…需使用的。\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "所显示的数值是æ¥è‡ª --block-sizeã€%s_BLOCK_SIZEã€BLOCK_SIZE \n" "åŠ BLOCKSIZE 环境å˜é‡ä¸­ç¬¬ä¸€ä¸ªå¯ç”¨çš„ SIZE å•ä½ã€‚\n" "å¦åˆ™ï¼Œé»˜è®¤å•使˜¯ 1024 字节(或是 512,若设定 POSIXLY_CORRECT çš„è¯)。\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "请å‘%2$s 报告%1$s 的错误\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "请å‘<http://translationproject.org/team/zh_CN.html> 报告%s 的翻译错误\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "è¦èŽ·å–完整文档,请è¿è¡Œï¼šinfo coreutils '%s invocation'\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "请å°è¯•执行\"%s --help\"æ¥èŽ·å–æ›´å¤šä¿¡æ¯ã€‚\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "警告:å‘现循环的目录架构。\n" "这几乎å¯ä»¥è‚¯å®šæ–‡ä»¶ç³»ç»Ÿå·²ç»æŸå。\n" "** 请通知系统管ç†å‘˜ã€‚**\n" "以下的目录是循环的一部份:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°†æ¯ä¸ªæŒ‡å®šæ–‡ä»¶æŒ‰è¡Œå€’置并写到标准输出。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before\t\t\t在行å‰è€Œéžè¡Œå°¾æ·»åŠ åˆ†éš”æ ‡å¿—\n" " -r, --regex\t\t\tå°†åˆ†éš”æ ‡å¿—è§†ä½œæ­£åˆ™è¡¨è¾¾å¼æ¥è§£æž\n" " -s, --separator=字符串\t使用指定字符串代替æ¢è¡Œä½œä¸ºåˆ†é𔿠‡å¿—\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s:检索失败" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "记录数æ®è¿‡å¤§" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "无法在%s 创建临时文件" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%sï¼šæ— æ³•ä»¥å†™æ¨¡å¼æ‰“å¼€" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "无法ä¿ç•™%s 的时间" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s:写入出错" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "无法打开%s è¯»å–æ•°æ®" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "分隔符ä¸èƒ½ä¸ºç©º" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "显示æ¯ä¸ªæŒ‡å®šæ–‡ä»¶çš„æœ€åŽ%d 行到标准输出。\n" "若指定了多于一个文件,程åºä¼šåœ¨æ¯æ®µè¾“出的开始添加相应文件å作为头。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶æˆ–文件为\"-\" ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K\t\t输出最åŽK 字节;å¦å¤–,使用-c +K 从æ¯ä¸ªæ–‡ä»¶çš„\n" "\t\t\t第K 字节输出\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" "\t\t峿—¶è¾“出文件å˜åŒ–åŽè¿½åŠ çš„æ•°æ®ã€‚\n" "\t\t\t-f, --follow 等于--follow=descriptor \n" " -F\t\tå³--follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K\t输出最åŽK 行,代替最åŽ%d 行;使用-n +K 从æ¯ä¸ªæ–‡ä»¶çš„第K 字节" "输出\n" " --max-unchanged-stats=N\n" "\t\t\t使用--follow=name, 釿–°æ‰“开一个在N(默认为%d)\n" "\t\t\t\tæ¬¡è¿­ä»£åŽæ²¡æœ‰æ”¹å˜å¤§å°çš„æ–‡ä»¶æ¥çœ‹å®ƒæ˜¯å¦è¢«è§£é™¤è¿ž\n" "\t\t\t\t接或é‡å‘½å(这是循环日志文件的通常情况)。\n" "\t\t\t\t由于有inotify,这个选项很少使用。\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID\t\tåŒ -f 一起使用,当 PID 所对应的进程死去åŽç»ˆæ­¢\n" " -q, --quiet, --silent\tä¸è¾“出给出文件å的头\n" " --retry\t\tå³ä½¿ç›®æ ‡æ–‡ä»¶ä¸å¯è®¿é—®ä¾ç„¶è¯•å›¾æ‰“å¼€ï¼›åœ¨ä¸Žå‚æ•°\n" "\t\t\t--follow=name åŒæ—¶ä½¿ç”¨æ—¶å¸¸å¸¸æœ‰ç”¨ã€‚\n" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=ç§’æ•°\tåŒ-f 一起使用,在迭代间暂åœçº¦æŒ‡å®šç§’数的时间\n" "\t\t\t\t(默认1.0 ç§’)\n" " -v, --verbose\t\t总是输出给出文件å的头\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "如果字节数或行数K 的第一个字符是\"+\",输出从文件开始第K 个项目,å¦åˆ™è¾“出文" "ä»¶\n" "最åŽK 个项目。K å¯ä»¥ä½¿ç”¨ä¸€ä¸‹å‡ ç§å•ä½ä¹‹ä¸€ï¼š\n" "b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,\n" "GB 1000*1000*1000,G 1024*1024*1024,以åŠT,P,E,Z,Y。\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "å¦‚æžœæ‚¨å¸Œæœ›å³æ—¶è¿½æŸ¥ä¸€ä¸ªæ–‡ä»¶çš„æœ‰æ•ˆåç§°è€Œéžæè¿°å†…å®¹(例如循环日志),默认\n" "的程åºåŠ¨ä½œå¹¶ä¸å¦‚您所愿。在这ç§åœºåˆå¯ä»¥ä½¿ç”¨--follow=name 选项,它会使\n" "tail 定期追踪打开给定å称的文件,以确认它是å¦è¢«åˆ é™¤æˆ–被其它æŸäº›ç¨‹åºé‡æ–°åˆ›å»º" "过。\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "正在关闭 %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s:无法检索相对åç§»é‡ %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s:无法检索相对åç§»é‡çš„æœ«å°¾ %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "æ— æ³•å®šä½ %s çš„ä½ç½®ï¼Œå›žå½’为 polling 机制" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s å·²ä¸å¯è®¿é—®" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s 已被替æ¢ä¸ºtail 无法处ç†çš„æ–‡ä»¶ï¼Œæ”¾å¼ƒè·Ÿè¸ª" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s 已被替æ¢ä¸ºä¸€ä¸ªè¿œç¨‹æ–‡ä»¶ï¼Œæ”¾å¼ƒè·Ÿè¸ª" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s å·²ç»å¯ä»¥è®¿é—®" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s å·²è¢«å»ºç«‹ï¼Œæ­£åœ¨è·Ÿéšæ–°æ–‡ä»¶çš„æœ«å°¾" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s 已被替æ¢ï¼Œæ­£åœ¨è·Ÿéšæ–°æ–‡ä»¶çš„æœ«å°¾" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s:无法更改éžé˜»å¡žæ¨¡å¼" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s:文件已截断" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "没有剩余文件" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "无法监视%s 的上级目录" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "inotify 资æºè€—å°½" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "无法监视%s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "监视inotify 事件出错" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "读å–inotify 事件出错" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%sï¼šæ— æ³•è·Ÿéšæ­¤ç±»åž‹æ–‡ä»¶çš„æœ«å°¾ï¼Œå·²æ”¾å¼ƒ" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "%s 中的数字过大" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s:两次打开的间隔因过大而无效" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s:无效的进程å·" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s:无效的秒数" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "在未定义环境中的无效选项 -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "警告:--retry 傿•°éœ€è¦åœ¨åŽé¢é™„加åç§°åŽä½¿ç”¨" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "警告:已忽略进程å·ï¼Œåªæœ‰åœ¨è·Ÿé𿍡å¼ä¸‹--pid=PID é€‰é¡¹æ‰æ˜¯æœ‰ç”¨çš„" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "è­¦å‘Šï¼šæ­¤ç³»ç»Ÿä¸æ”¯æŒ--pid=PID" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "无法按åç§°è·Ÿéš%s" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "è­¦å‘Šï¼šæ— é™æœŸè·Ÿéšæ ‡å‡†è¾“å…¥æ˜¯æ— ç”¨çš„" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "无法使用 inotify 机制,回归为 polling 机制" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "将标准输入å¤åˆ¶åˆ°æ¯ä¸ªæŒ‡å®šæ–‡ä»¶ï¼Œå¹¶æ˜¾ç¤ºåˆ°æ ‡å‡†è¾“出。\n" "\n" " -a, --append\t\t内容追加到给定的文件而éžè¦†ç›–\n" " -i, --ignore-interrupts\t忽略中断信å·\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "如果文件指定为\"-\",则将输入内容å¤åˆ¶åˆ°æ ‡å‡†è¾“出。\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s åŽç¼ºå°‘傿•°" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "无效的整数%s" #: src/test.c:241 msgid "')' expected" msgstr "预期为')'" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "预期为 ')',实际为%s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: 预期为å•ç›®è¿ç®—符" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt ä¸èƒ½ä¸Ž-l åŒæ—¶ä½¿ç”¨" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef ä¸èƒ½ä¸Ž-l åŒæ—¶ä½¿ç”¨" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot ä¸èƒ½äºŽ-l åŒæ—¶ä½¿ç”¨" #: src/test.c:367 msgid "unknown binary operator" msgstr "未知åŒç›®è¿ç®—符" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: 预期为åŒç›®è¿ç®—符" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "用法:%s 表达å¼\n" " 或:test\n" " 或:[表达å¼]\n" " 或:[ ]\n" " 或:[ 选项\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "退出状æ€å€¼å–决于表达å¼ã€‚\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "被çœç•¥çš„表达å¼çš„值默认为å‡ï¼Œå¦åˆ™å¯èƒ½ä¸ºçœŸä¹Ÿå¯èƒ½ä¸ºå‡ï¼Œ\n" "并会被设为退出状æ€å€¼ã€‚有效的表达å¼åº”属于下列之一:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( è¡¨è¾¾å¼ )\t\t表达å¼çš„值为真\n" " ! 表达å¼\t\t表达å¼çš„值为å‡(éž)\n" " 表达å¼1 -a 表达å¼2\t两个表达å¼çš„值都为真时结果为真(与)\n" " 表达å¼1 -o 表达å¼2\t两个表达å¼ä¸­ä»»ä¸€çš„值为真时结果为真(或)\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n 字符串\t\t字符串的长度éžé›¶\n" " 字符串\t\t等于\"-n 字符串\"\n" " -z 字符串\t\t字符串的长度为零\n" " 字符串1 = 字符串2\t两个字符串相等\n" " 字符串1 != 字符串2\t两个字符串ä¸ç­‰\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " æ•´æ•°1 -eq æ•´æ•°2\tæ•´æ•°1 等于整数2\n" " æ•´æ•°1 -ge æ•´æ•°2\tæ•´æ•°1 大于等于整数2\n" " æ•´æ•°1 -gt æ•´æ•°2\tæ•´æ•°1 大于 æ•´æ•°2\n" " æ•´æ•°1 -le æ•´æ•°2\tæ•´æ•°1 大于等于整数2\n" " æ•´æ•°1 -lt æ•´æ•°2\tæ•´æ•°1 å°äºŽ æ•´æ•°2\n" " æ•´æ•°1 -ne æ•´æ•°2\tæ•´æ•°1 ä¸ç­‰äºŽæ•´æ•°2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " 文件1 -ef 文件2\t文件1 与文件2 的设备和节点å·ç›¸ç­‰\n" " 文件1 -nt 文件2\t文件1 的上次修改时间新于文件2\n" " 文件1 -ot 文件2\t文件1 的上次修改时间旧于文件2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b 文件\t\t指定文件存在且为å—设备文件\n" " -c 文件\t\t指定文件存在且为字符设备文件\n" " -d 文件\t\t指定文件存在且为目录\n" " -e 文件\t\t指定文件存在\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f 文件\t\t指定文件存在且为普通文件\n" " -g 文件\t\t指定文件存在且设置了setgid ä½\n" " -G 文件\t\t指定文件存在且属组ID 有效\n" " -h 文件\t\t指定文件存在且为符å·é“¾æŽ¥ (等价于 -L)\n" " -k 文件\t\t指定文件存在且设置了粘附ä½\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L 文件\t\t指定文件存在且为符å·é“¾æŽ¥(等于-h)\n" " -O 文件\t\t指定文件存在且属主ID 有效\n" " -p 文件\t\t指定文件存在且为命å管é“\n" " -r 文件\t\tæŒ‡å®šæ–‡ä»¶å­˜åœ¨ä¸”å…·å¤‡è¯»å–æƒé™\n" " -s 文件\t\t指定文件存在且其大å°å¤§äºŽ0\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S 文件\t\t指定文件存在且为套接字文件\n" " -t FD\t\t\t已有一个终端打开了文件的æè¿°ç¬¦FD\n" " -u 文件\t\t指定文件存在且设置了setuid ä½\n" " -w 文件\t\t指定文件存在且具备写入æƒé™\n" " -x 文件\t\t指定文件存在且具备执行或æœç´¢(针对目录)æƒé™\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "除-h å’Œ-L 以外,其它所有与指定文件相关的测试都会作用于符å·é“¾æŽ¥ã€‚\n" "è¯·ç•™å¿ƒæ‚¨åœ¨å¿…è¦æ—¶éœ€ç”±shell 转义圆括å·å­—符(ä¾‹å¦‚ä½¿ç”¨åæ–œæ )。\n" "指定整数也å¯ç”¨\"-l 字符串\"表示,这会估算相应字符串的长度。\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "注æ„:[ æœä»Ž --help å’Œ --version 选项但 test ä¸åŒã€‚\n" "test 将其和其他éžç©ºå­—符串åŒèƒ½å¯¹å¾…。\n" #: src/test.c:791 msgid "test and/or [" msgstr "test å’Œ/或[" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "缺少\"]\"" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "å¤šä½™çš„å‚æ•°%s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "用法:%s [选项] åœç•™æ—¶é—´ 命令 [傿•°]...\n" " 或:%s 选项\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "è¿è¡ŒæŒ‡å®šå‘½ä»¤ï¼Œåœ¨æŒ‡å®šçš„åœç•™æ—¶é—´åŽè‹¥è¯¥å‘½ä»¤ä»åœ¨è¿è¡Œåˆ™å°†å…¶ä¸­æ­¢ã€‚\n" "\n" "é•¿é€‰é¡¹å¿…é¡»ä½¿ç”¨çš„å‚æ•°å¯¹äºŽçŸ­é€‰é¡¹æ—¶ä¹Ÿæ˜¯å¿…需使用的。\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " -k, --kill-after=åœç•™æ—¶é—´\n" "\t\tåˆå§‹ä¿¡å·å‘å‡ºåŽæŒ‡å®šæ—¶é—´å†…如果进程ä»åœ¨è¿è¡Œåˆ™å‘å…¶å‘é€KILL ä¿¡å·ã€‚ -s, --" "signal=ä¿¡å·\n" "\t\t指定在超时时å‘é€çš„ä¿¡å·ã€‚ä¿¡å·å¯ä»¥æ˜¯ç±»ä¼¼\"HUP\"的信å·åæˆ–æ˜¯ä¿¡å·æ•°ã€‚\n" "\t\t查看\"kill -l\"以获得信å·åˆ—表\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "指定的时间应是一个附加有下列åŽç¼€çš„æ•´æ•°ï¼š\n" "\"s\"代表秒(默认值),\"m\"代表分,\"h\"ä»£è¡¨å°æ—¶ï¼Œ\"d\"代表天。\n" "\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "如果程åºè¶…æ—¶åˆ™é€€å‡ºçŠ¶æ€æ•°ä¸º124,å¦åˆ™è¿”回程åºé€€å‡ºçжæ€ã€‚\n" "如果没有指定信å·åˆ™é»˜è®¤ä¸ºTERM ä¿¡å·ã€‚TERM ä¿¡å·åœ¨è¿›ç¨‹æ²¡æœ‰æ•èŽ·æ­¤ä¿¡å·æ—¶æ€æ­»è¿›" "程。\n" "对于å¦ä¸€äº›è¿›ç¨‹å¯èƒ½éœ€è¦ä½¿ç”¨KILL (9)ä¿¡å·ï¼Œå½“然此信å·ä¸èƒ½è¢«æ•获。\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "等待命令出错" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "日期格å¼%s 无效" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "无法创建%s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "正在设置%s 的时间" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "å°†æ¯ä¸ªæ–‡ä»¶çš„è®¿é—®æ—¶é—´å’Œä¿®æ”¹æ—¶é—´æ”¹ä¸ºå½“å‰æ—¶é—´ã€‚\n" "\n" "ä¸å­˜åœ¨çš„æ–‡ä»¶å°†ä¼šè¢«åˆ›å»ºä¸ºç©ºæ–‡ä»¶ï¼Œé™¤éžä½¿ç”¨-c 或-h 选项。\n" "\n" "如果文件å为\"-\"则特殊处ç†ï¼Œæ›´æ”¹ä¸Žæ ‡å‡†è¾“出相关的文件的访问时间。\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a\t\t\tåªæ›´æ”¹è®¿é—®æ—¶é—´\n" " -c, --no-create\tä¸åˆ›å»ºä»»ä½•文件\n" " -d, --date=字符串\t使用指定字符串表示时间而éžå½“剿—¶é—´\n" " -f\t\t\t(忽略)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference\t\t会影å“符å·é“¾æŽ¥æœ¬èº«ï¼Œè€Œéžç¬¦å·é“¾æŽ¥æ‰€æŒ‡ç¤ºçš„目的地\n" "\t\t\t\t(å½“ç³»ç»Ÿæ”¯æŒæ›´æ”¹ç¬¦å·é“¾æŽ¥çš„æ‰€æœ‰è€…æ—¶ï¼Œæ­¤é€‰é¡¹æ‰æœ‰ç”¨)\n" " -m\t\t\tåªæ›´æ”¹ä¿®æ”¹æ—¶é—´\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=文件\t使用指定文件的时间属性而éžå½“剿—¶é—´\n" " -t STAMP\t\t使用[[CC]YY]MMDDhhmm[.ss] æ ¼å¼çš„æ—¶é—´è€Œéžå½“剿—¶é—´\n" " --time=WORD\t\t使用WORD 指定的时间:accessã€atimeã€use 都等于-a\n" "\t\t\t选项的效果,而modifyã€mtime 等于-m 选项的效果\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "请注æ„,-d å’Œ-t 选项坿ޥå—ä¸åŒçš„æ—¶é—´/日期格å¼ã€‚\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "无法由多于一ç§çš„æ¥æºæ¥æŒ‡å®šæ—¶é—´" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "警告:\"touch %s\"已过时,请使用\"touch -t %04ld%02d%02d%02d%02d.%02d\"代替" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "用法:%s [选项]... SET1 [SET2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "从标准输入中替æ¢ã€ç¼©å‡å’Œ/或删除字符,并将结果写到标准输出。\n" "\n" " -c, -C, --complement\t\t首先补足SET1\n" " -d, --delete\t\t\t删除匹é…SET1 的内容,并ä¸ä½œæ›¿æ¢\n" " -s, --squeeze-repeats\t如果匹é…于SET1 的字符在输入åºåˆ—中存在连续的\n" "\t\t\t\té‡å¤ï¼Œåœ¨æ›¿æ¢æ—¶ä¼šè¢«ç»Ÿä¸€ç¼©ä¸ºä¸€ä¸ªå­—符的长度\n" " -t, --truncate-set1\t\t先将SET1 的长度截为和SET2 相等\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SET æ˜¯ä¸€ç»„å­—ç¬¦ä¸²ï¼Œä¸€èˆ¬éƒ½å¯æŒ‰ç…§å­—é¢å«ä¹‰ç†è§£ã€‚è§£æžåºåˆ—如下:\n" "\n" " \\NNN\t八进制值为NNN 的字符(1 至3 个数ä½)\n" " \\\\\t\tåæ–œæ \n" " \\a\t\t终端鸣å“\n" " \\b\t\t退格\n" " \\f\t\tæ¢é¡µ\n" " \\n\t\tæ¢è¡Œ\n" " \\r\t\t回车\n" " \\t\t\t水平制表符\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v\t\t垂直制表符\n" " 字符1-字符2\t从字符1 到字符2 çš„å‡åºé€’增过程中ç»åŽ†çš„æ‰€æœ‰å­—ç¬¦\n" " [字符*]\t在SET2 中适用,指定字符会被连续å¤åˆ¶ç›´åˆ°å»åˆè®¾ç½®1 的长度\n" " [字符*次数]\t对字符执行指定次数的å¤åˆ¶ï¼Œè‹¥æ¬¡æ•°ä»¥ 0 开头则被视为八进制数\n" " [:alnum:]\t所有的字æ¯å’Œæ•°å­—\n" " [:alpha:]\t所有的字æ¯\n" " [:blank:]\t所有呈水平排列的空白字符\n" " [:cntrl:]\t所有的控制字符\n" " [:digit:]\t所有的数字\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:]\tæ‰€æœ‰çš„å¯æ‰“å°å­—符,ä¸åŒ…括空格\n" " [:lower:]\t所有的å°å†™å­—æ¯\n" " [:print:]\tæ‰€æœ‰çš„å¯æ‰“å°å­—符,包括空格\n" " [:punct:]\t所有的标点字符\n" " [:space:]\t所有呈水平或垂直排列的空白字符\n" " [:upper:]\t所有的大写字æ¯\n" " [:xdigit:]\t所有的å六进制数\n" " [=字符=]\t所有和指定字符相等的字符\n" # ## Forward to here. #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "仅在SET1 å’ŒSET2 éƒ½ç»™å‡ºï¼ŒåŒæ—¶æ²¡æœ‰-d 选项的时候æ‰ä¼šè¿›è¡Œæ›¿æ¢ã€‚\n" "ä»…åœ¨æ›¿æ¢æ—¶æ‰å¯èƒ½ç”¨åˆ°-t 选项。如果需è¦SET2 将被通过在末尾添加原æ¥çš„æœ«å­—符的方" "å¼\n" "补充到åŒSET1 等长。SET2 中多余的字符将被çœç•¥ã€‚åªæœ‰[:lower:] å’Œ[:upper:]\n" "以å‡åºå±•å¼€å­—ç¬¦ï¼›åœ¨ç”¨äºŽæ›¿æ¢æ—¶çš„SET2 中以æˆå¯¹è¡¨ç¤ºå¤§å°å†™è½¬æ¢ã€‚-s 作用于SET1,既" "ä¸\n" "替æ¢ä¹Ÿä¸åˆ é™¤ï¼Œå¦åˆ™åœ¨æ›¿æ¢æˆ–展开åŽä½¿ç”¨SET2 缩å‡ã€‚\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "警告:å«ä¹‰ä¸æ¸…的八进制内容 \\%c%c%c 已被视作为åŒå­—节åºåˆ— \\0%c%c, %c 处ç†" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "è­¦å‘Šï¼šåœ¨å­—ç¬¦ä¸²ç»“å°¾ä½¿ç”¨ä¸ºè½¬ä¹‰çš„åæ–œæ æ˜¯ä¸€ç§ä¸å¯ç§»æ¤çš„åšæ³•" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "\"%s-%s\"的结æŸç‚¹èŒƒå›´åºåˆ—å·²ç»è¿‡å转处ç†" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "åœ¨å‚æ•°ç»“æž„ [c*n] 中有无效的é‡å¤æ¬¡æ•°%s" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "缺失字符ç§ç±»å\"[::]\"" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "缺失类型等值的字符\"[==]\"" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "无效的字符类型%s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s:åŒç±»æ“作数必须是å•个字符" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "[:upper:] å’Œ/或[:lower:] 的结构对é½ä¸å®Œæ•´" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "设置中的字符数é‡è¿‡å¤š" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "当字符串1 长度大于字符串2时,åŽè€…ä¸èƒ½ä»¥å­—符类结尾" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "在字符串1 中ä¸èƒ½å‡ºçް[c*] 结构的é‡å¤æ¬¡æ•°å£°æ˜Ž" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "在字符串2 中åªèƒ½å‡ºçŽ°ä¸€æ¬¡[c*] 结构的é‡å¤æ¬¡æ•°å£°æ˜Ž" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "åœ¨æ›¿æ¢æ“作中字符串2 里ä¸èƒ½å‡ºçŽ°è¡¨è¾¾å¼[=c=]" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "å½“è¿›è¡Œæ›¿æ¢æ“作时,字符串2 里åªèƒ½å‡ºçް䏀ç§å­—符类型,å³\"upper\"å’Œ\"lower\"" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "当䏿ˆªæ–­è®¾ç½®1 时,字符串2 ä¸èƒ½ä¸ºç©º" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "当以åç›¸æ¨¡å¼æ›¿æ¢å­—符类型时,字符串2 必须将所有字符映射到一个字域" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "å½“è¿›è¡Œæ›¿æ¢æ“作时[c*] ç»“æž„çš„å‚æ•°åªèƒ½å‡ºçŽ°åœ¨å­—ç¬¦ä¸²2 中" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "å½“åŒæ—¶é‡å¤åˆ é™¤å’Œç¼©å‡æ—¶å¿…须给出两组字符串。" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "å½“è¿›è¡Œæ›¿æ¢æ“作时必须给定两组字符串。" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "当进行ä¸å«ç¼©å‡çš„删除æ“作时åªèƒ½ç»™å®šä¸€ç»„字符串。" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "用法:%s [å¿½ç•¥ä»»ä½•å‘½ä»¤è¡Œå‚æ•°]\n" " 或:%s 选项\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "以表示æˆåŠŸçš„çŠ¶æ€å€¼é€€å‡º" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "以表示失败的状æ€å€¼é€€å‡º" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "用法:%s 选项... 文件...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "å°†æ–‡ä»¶ç¼©å‡æˆ–扩展至指定大å°ã€‚\n" "\n" "如果指定文件ä¸å­˜åœ¨åˆ™åˆ›å»ºã€‚\n" "\n" "如果指定文件超出指定大å°åˆ™è¶…出的数æ®å°†ä¸¢å¤±ã€‚\n" "如果指定文件å°äºŽæŒ‡å®šå¤§å°åˆ™ç”¨0 补足。\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create\tä¸åˆ›å»ºæ–‡ä»¶\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr " -o, --io-blocks\tå°†SIZE 视为IO å—æ•°è€Œä¸ä½¿ç”¨å­—节数\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=文件 使用此文件的大å°\n" " -s, --size=大å°\t使用此大å°\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "指定大å°ä¹Ÿå¯ä½¿ç”¨ä»¥ä¸‹å‰ç¼€ä¿®é¥°ï¼š\n" "\"+\" 增加,\"-\" å‡å°‘,\"<\" 至多,\">\" 至少,\n" "\"/\" å°äºŽç­‰äºŽåŽŸå°ºå¯¸æ•°å­—çš„æŒ‡å®šæ•°å­—çš„æœ€å°å€æ•°ï¼Œ\"%\" 大于等于原尺寸数字的指定" "æ•°å­—çš„æœ€å¤§å€æ•°ã€‚\n" "译者注:当输入值为m,å‚考值为n 时,\n" "\"/\" è¿ç®—的数学计算å¼ä¸º m / n * nï¼›\n" "\"%\" è¿ç®—的数学计算å¼ä¸º( m + n - 1 ) / n * n\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "在文件%3$s çš„%1$<PRIdMAX> * %2$<PRIdMAX> 字节å—中溢出" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s 的文件大å°ä¸ºè´Ÿæ•°ï¼Œæ— æ³•使用" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "无法获得%s 的大å°" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "处ç†å¤§äºŽç­‰äºŽæ–‡ä»¶%s 的指定大å°çš„æœ€å¤§å€æ•°æ—¶æº¢å‡º" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "扩展文件%s 大尿—¶æº¢å‡º" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "在%2$<PRIdMAX> 字节处截断%1$s 失败" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "指定了多个相关修饰符" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "您必须在%s 或%s 中指定一个" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "您必须为%2$s 中指定一个相关的%1$s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "已指定%s 但未指定%s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "无法打开%s è¯»å–æ•°æ®" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "用法:%s [选项] [文件]\n" "对ä¸å®Œå…¨æŽ’åºçš„æ–‡ä»¶å®žè¡Œå®Œæ•´çš„列表排åºã€‚\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s:输入内容的行数为奇数" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%sï¼šè¾“å…¥å†…å®¹ä¸­å«æœ‰å¾ªçŽ¯æ®µè½ï¼š" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "æ˜¾ç¤ºå‡ºè¿žæŽ¥åˆ°å½“å‰æ ‡å‡†è¾“入的终端设备文件å。\n" "\n" " -s, --silent, --quiet\tä»€ä¹ˆä¹Ÿä¸æ˜¾ç¤ºï¼Œåªè¿”回退出状æ€å€¼\n" #: src/tty.c:120 msgid "not a tty" msgstr "䏿˜¯ä¸€ä¸ª tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "输出一组系统信æ¯ã€‚如果ä¸è·Ÿéšé€‰é¡¹ï¼Œåˆ™è§†ä¸ºåªé™„加-s 选项。\n" "\n" " -a, --all\t\t\t以如下次åºè¾“出所有信æ¯ã€‚其中若-p å’Œ\n" "\t\t\t\t-i 的探测结果ä¸å¯çŸ¥åˆ™è¢«çœç•¥ï¼š\n" " -s, --kernel-name\t\t输出内核åç§°\n" " -n, --nodename\t\t输出网络节点上的主机å\n" " -r, --kernel-release\t\t输出内核å‘行å·\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version\t\t输出内核版本\n" " -m, --machine\t\t输出主机的硬件架构åç§°\n" " -p, --processor\t\t输出处ç†å™¨ç±»åž‹æˆ–\"unknown\"\n" " -i, --hardware-platform\tè¾“å‡ºç¡¬ä»¶å¹³å°æˆ–\"unknown\"\n" " -o, --operating-system\t输出æ“作系统åç§°\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "输出机器的体系结构。\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "无法获å–系统å" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°†æ¯ä¸ªæŒ‡å®šæ–‡ä»¶ä¸­çš„空白字符转æ¢ä¸ºåˆ¶è¡¨ç¬¦å¹¶å†™åˆ°æ ‡å‡†è¾“出。\n" "å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all\t\tè½¬æ¢æ‰€æœ‰ç©ºæ ¼ï¼ŒåŒ…括但ä¸åªèµ·å§‹ç©ºæ ¼\n" " --first-only\t仅转æ¢èµ·å§‹ç©ºæ ¼(覆盖-a 选项)\n" " -t, --tabs=N\t\t设置制表符宽度为N 而éžé»˜è®¤çš„8(å¯ç”¨-a 选项)\n" " -t, --tabs=列表\t使用逗å·åˆ†éš”的列表列出制表符ä½ç½®(å¯ç”¨-a 选项)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "制表符过于分散" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "制表符é™é•¿è¿‡å¤§" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "用法:%s [选项]... [文件]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "从输入文件或者标准输入中筛选相邻的匹é…行并写入到输出文件或标准输出。\n" "\n" "ä¸é™„加任何选项时匹é…行将在首次出现处被åˆå¹¶ã€‚\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count\t\t在æ¯è¡Œå‰åŠ ä¸Šè¡¨ç¤ºç›¸åº”è¡Œç›®å‡ºçŽ°æ¬¡æ•°çš„å‰ç¼€ç¼–å·\n" " -d, --repeated\tåªè¾“出é‡å¤çš„行\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method\t显示所有é‡å¤çš„行\n" "\t\t\tdelimit-method={none(default),prepend,separate}\n" "\t\t\t以空行为界é™\n" " -f, --skip-fields=N\t比较时跳过å‰N 列\n" " -i, --ignore-case\t在比较的时候ä¸åŒºåˆ†å¤§å°å†™\n" " -s, --skip-chars=N\t比较时跳过å‰N 个字符\n" " -u, --unique\t\tåªæ˜¾ç¤ºå”¯ä¸€çš„行\n" " -z, --zero-terminated\t使用'\\0'作为行结æŸç¬¦ï¼Œè€Œä¸æ˜¯æ–°æ¢è¡Œ\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N\t对æ¯è¡Œç¬¬N 个字符以åŽçš„内容ä¸ä½œå¯¹ç…§\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "若域中为先空字符(通常包括空格以åŠåˆ¶è¡¨ç¬¦),然åŽéžç©ºå­—符,域中字符å‰çš„空字符将" "被跳过。\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "æç¤ºï¼šuniq ä¸ä¼šæ£€æŸ¥é‡å¤çš„行,除éžå®ƒä»¬æ˜¯ç›¸é‚»çš„行。\n" "如果您想先对输入排åºï¼Œä½¿ç”¨æ²¡æœ‰uniq çš„\"sort -u\"。\n" "åŒæ—¶ï¼Œæ¯”较æœä»Ž\"LC_COLLATE\" å˜é‡æ‰€æŒ‡å®šçš„规则。\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "é‡å¤è¡Œè¿‡å¤š" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "è¦ç•¥è¿‡çš„åŒºå—æ•°é‡æ— æ•ˆ" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "è¦ç•¥è¿‡çš„å­—èŠ‚æ•°é‡æ— æ•ˆ" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "è¦å¯¹ç…§çš„å­—èŠ‚æ•°é‡æ— æ•ˆ" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "åŒæ—¶è¾“出é‡å¤çš„行和é‡å¤è®¡æ•°æ˜¯æ²¡æœ‰æ„义的" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "用法:%s 文件\n" " 或:%s 选项\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "调用 unlink 函数删除指定的文件。\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "无法清除%s 的链接" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "无法获å–å¯åŠ¨æ—¶é—´" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "å·²å¯åЍ???? 天 ??:??," #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "å·²å¯åЍ%ld 天%2d:%02d," #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "å·²å¯åЍ%ld 天%2d:%02d," #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu 个用户" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ",平å‡è´Ÿè½½ï¼š%.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "è¾“å‡ºå½“å‰æ—¶é—´ï¼Œç³»ç»Ÿå¯åŠ¨æ—¶é—´ï¼Œå½“å‰ç™»å½•ç”¨æˆ·æ•°ä»¥åŠæœ€è¿‘1ã€5 å’Œ15 分钟系统è¿è¡Œ\n" "队列中的平å‡ä»»åŠ¡æ•°ã€‚" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr " 处于ä¸å¯ä¸­æ–­ç¡çœ çжæ€çš„程åºåŒæ ·å½±å“系统平å‡è´Ÿè½½ã€‚\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "如果文件没有指定,则使用%s,%s 是通用的相关文件。\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "æ ¹æ®æ–‡ä»¶åˆ¤æ–­è¾“å‡ºå½“å‰æœ‰è°æ­£ç™»å½•在系统上。\n" "如果文件未予指定,则使用%s,%s 是通用的相关文件。\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "输出æ¯ä¸ªæŒ‡å®šæ–‡ä»¶çš„行数ã€å•è¯è®¡æ•°å’Œå­—节数,如果指定了\n" "多于一个文件,继续给出所有相关数æ®çš„æ€»è®¡ã€‚如果没有指定\n" "文件,或者文件为\"-\"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚\n" " -c, --bytes\t\t输出字节数统计\n" " -m, --chars\t\t输出字符数统计\n" " -l, --lines\t\t输出行数统计\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=文件\t从指定文件读å–以NUL 终止的å称,如果该文件被\n" "\t\t\t\t\t指定为\"-\"则从标准输入读文件å\n" " -L, --max-line-length\t显示最长行的长度\n" " -w, --words\t\t\t显示å•è¯è®¡æ•°\n" #: src/who.c:210 msgid " old " msgstr " æ—§çš„ " #: src/who.c:440 msgid "system boot" msgstr "系统引导" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "终端=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "退出=" #: src/who.c:485 msgid "LOGIN" msgstr "登录" #: src/who.c:505 msgid "clock change" msgstr "时钟更改" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "è¿è¡Œçº§åˆ«" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "最近=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# 用户数=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "åç§°" #: src/who.c:559 msgid "LINE" msgstr "线路" #: src/who.c:559 msgid "TIME" msgstr "æ—¶é—´" #: src/who.c:559 msgid "IDLE" msgstr "空闲" #: src/who.c:560 msgid "PID" msgstr "进程å·" #: src/who.c:560 msgid "COMMENT" msgstr "备注" #: src/who.c:560 msgid "EXIT" msgstr "退出" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "用法:%s [选项]... [ 文件 | 傿•°1 傿•°2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "显示当å‰å·²ç™»å½•的用户信æ¯ã€‚\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all\t\t等于-b -d --login -p -r -t -T -u 选项的组åˆ\n" " -b, --boot\t\t上次系统å¯åŠ¨æ—¶é—´\n" " -d, --dead\t\t显示已死的进程\n" " -H, --heading\t输出头部的标题列\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l,--login\t\t显示系统登录进程\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup\t\tå°è¯•通过 DNS 查验主机å\n" " -m\t\t\tåªé¢å¯¹å’Œæ ‡å‡†è¾“入有直接交互的主机和用户\n" " -p, --process\t显示由 init 进程è¡ç”Ÿçš„æ´»åŠ¨è¿›ç¨‹\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count\t\t列出所有已登录用户的登录å与用户数é‡\n" " -r, --runlevel\t显示当å‰çš„è¿è¡Œçº§åˆ«\n" " -s, --short\t\tåªæ˜¾ç¤ºåç§°ã€çº¿è·¯å’Œæ—¶é—´(默认)\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg\t用+,- 或 ? 标注用户消æ¯çжæ€\n" " -u, --users\t\t列出已登录的用户\n" " --message\t等于-T\n" " --writable\t等于-T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "如果文件未被指定,则使用%s。%s 是通用的相关文件。\n" "å¦‚æžœç»™å®šäº†å‚æ•°1 å’Œå‚æ•°2,-m 会å‡å®šï¼š\"am i\"或\"mom likes\"\n" "ä¸ºå‚æ•°ã€‚\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "显示与当å‰çš„æœ‰æ•ˆç”¨æˆ·ID 相关è”的用户å。\n" "与id -un 相åŒã€‚\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s:无法找到用户ID 为%lu 的用户å\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [字符串]...\n" " 或:%s 选项\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "é‡å¤è¾“出一行指定的字符串,或者é‡å¤è¾“出\"y\"。\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "使用å•精度è¿ç®—" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "使用任æ„精度è¿ç®—" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "正在创建文件%s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "用法:%s [选项] åç§°...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s:文件类型无效" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "示例:\n" #~ " %s /usr/bin/sort 输出\"sort\"。\n" #~ " %s include/stdio.h .h 输出\"stdio\"。\n" #~ msgid "reading %s" #~ msgstr "正在读入%s" #~ msgid "writing %s" #~ msgstr "正在写入%s" #~ msgid "closing %s" #~ msgstr "正在关闭 %s" #~ msgid "accessing %s" #~ msgstr "正在访问%s" #~ msgid "opening %s" #~ msgstr "正在打开%s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s åç§°\n" #~ " 或:%s 选项\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system\t\t跳过处于ä¸åŒæ–‡ä»¶ç³»ç»Ÿä¹‹ä¸Šçš„目录\n" #~ " -X, --exclude-from=文件\t排除与指定文件中æè¿°çš„æ¨¡å¼ç›¸ç¬¦çš„æ–‡ä»¶\n" #~ " --exclude=PATTERN\t\t排除与PATTERN 中æè¿°çš„æ¨¡å¼ç›¸ç¬¦çš„æ–‡ä»¶\n" #~ " --max-depth=N\t显示目录总计(与--all 一起使用计算文件)\n" #~ "\t\t\t当N 为指定数值时计算深度为Nï¼›\n" #~ "\t\t\t--max-depth=0 等于--summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ä¸è¿›è¡Œå¤‡ä»½(å³ä½¿ä½¿ç”¨äº†--backup 选项)\n" #~ " numbered, t 备份文件加上数字进行排åº\n" #~ " existing, nil 若有数字的备份文件已ç»å­˜åœ¨åˆ™ä½¿ç”¨æ•°å­—,å¦åˆ™ä½¿ç”¨æ™®é€šæ–¹å¼å¤‡" #~ "份\n" #~ " simple, never 永远使用普通方å¼å¤‡ä»½\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "è­¦å‘Šï¼šä¸æŽ¨è使用--page-increment,请使用--line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "é•¿é€‰é¡¹å¿…é¡»ç”¨çš„å‚æ•°åœ¨ä½¿ç”¨çŸ­é€‰é¡¹æ—¶ä¹Ÿæ˜¯å¿…须的。\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "当 RADIX 为\"d\"时代表å进制,为\"o\"时代表八进制,为\"x\"时代表åå…­è¿›" #~ "制,\n" #~ "\"n\"则代表无。\n" #~ "BYTES 是以0x 或0X 为å‰ç¼€çš„å六进制数,å¯èƒ½æœ‰ä»¥ä¸‹å‡ ç§åŽç¼€ï¼š\n" #~ "b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,\n" #~ "GB 1000*1000*1000,G 1024*1024*1024,对于T,P,E,Z,Y åŒæ ·é€‚用。\n" #~ "为任何类型添加\"z\"åŽç¼€éƒ½å°†åœ¨æ¯ä¸ªè¾“å‡ºè¡Œçš„è¡Œå°¾æ˜¾ç¤ºå¯æ˜¾ç¤ºå­—符\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "ä¸å¸¦æ•°å­—çš„--string 选项代表3ï¼›ä¸å¸¦æ•°å­—çš„--width 选项代表32。\n" #~ "默认情况下od 使用 -A o -t oS -w16 傿•°ã€‚\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "用法:%s [选项]... 文件\n" #~ msgid "Password:" #~ msgstr "密ç ï¼š" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass:无法打开 /dev/tty" #~ msgid "cannot set groups" #~ msgstr "无法设置组" #~ msgid "cannot set group id" #~ msgstr "无法设置组ID" #~ msgid "cannot set user id" #~ msgstr "无法设置用户ID" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "用法:%s [选项]... [-] [用户 [傿•°]... ]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "更改有效用户ID 和组ID 为指定用户。\n" #~ "\n" #~ " -, -l, --login\t\t使该shell æˆä¸ºç™»å½•shell\n" #~ " -c, --command=命令\t\tå‘shell 传递å•一命令\n" #~ " -f, --fast 针对csh 或tcsh 传递-f\n" #~ " -m, --preserve-environment\tä¸é‡è®¾çŽ¯å¢ƒå˜é‡\n" #~ " -p\t\t\t\t等于-m\n" #~ " -s, --shell=SHELL\t\t如果/etc/shells allows 则è¿è¡ŒæŒ‡å®šçš„SHELL\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "å•独的\"-\"选项éšå«äº†-lã€‚å¦‚æžœä¸æŒ‡å®šç”¨æˆ·ï¼Œåˆ™å‡è®¾å…¶ä¸ºroot。\n" #~ msgid "user %s does not exist" #~ msgstr "用户%s ä¸å­˜åœ¨" #~ msgid "incorrect password" #~ msgstr "密ç ä¸æ­£ç¡®" #~ msgid "using restricted shell %s" #~ msgstr "正在使用å—é™çš„shell %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "警告:无法切æ¢åˆ°ç›®å½•%s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "å°†æ¯ä¸ªæŒ‡å®šæ–‡ä»¶çš„æ‰€å±žç»„设置为指定值。\n" #~ "如果使用 --reference,则将æ¯ä¸ªæ–‡ä»¶çš„æ‰€å±žç»„设置为与指定å‚考文件相åŒã€‚\n" #~ "\n" #~ " -c, --changes\t\t\t类似 --verbose,但åªåœ¨æœ‰æ›´æ”¹æ—¶æ‰æ˜¾ç¤ºç»“æžœ\n" #~ " --dereference\t\tå½±å“符å·é“¾æŽ¥æ‰€æŒ‡ç¤ºçš„对象,而éžç¬¦å·é“¾æŽ¥æœ¬èº«(默认" #~ "值)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root\tä¸ç‰¹æ®Šå¯¹å¾…根目录(默认)\n" #~ " --preserve-root\t\tç¦æ­¢å¯¹æ ¹ç›®å½•进行递归æ“作\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet\t\t去除大部份错误信æ¯\n" #~ " --reference=RFILE\t\t使用å‚è€ƒæ–‡ä»¶çš„æ‰€å±žç»„ï¼Œè€ŒéžæŒ‡å®šå€¼\n" #~ " -R, --recursive\t\té€’å½’å¤„ç†æ‰€æœ‰çš„æ–‡ä»¶åŠå­ç›®å½•\n" #~ " -v, --verbose\t\t\t为处ç†çš„æ‰€æœ‰æ–‡ä»¶æ˜¾ç¤ºè¯Šæ–­ä¿¡æ¯\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "å°†æ¯ä¸ªæ–‡ä»¶çš„æ¨¡å¼æ›´æ”¹ä¸ºæŒ‡å®šå€¼ã€‚\n" #~ "\n" #~ " -c, --changes\t\t类似 --verbose,但åªåœ¨æœ‰æ›´æ”¹æ—¶æ‰æ˜¾ç¤ºç»“æžœ\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet\t去除大部份的错误信æ¯\n" #~ " -v, --verbose\t\t为处ç†çš„æ‰€æœ‰æ–‡ä»¶æ˜¾ç¤ºè¯Šæ–­ä¿¡æ¯\n" #~ " --reference=å‚考文件\t使用指定å‚考文件的模å¼ï¼Œè€Œéžè‡ªè¡ŒæŒ‡å®šæƒé™æ¨¡å¼\n" #~ " -R, --recursive\t\tä»¥é€’å½’æ–¹å¼æ›´æ”¹æ‰€æœ‰çš„æ–‡ä»¶åŠå­ç›®å½•\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "更改æ¯ä¸ªæ–‡ä»¶çš„æ‰€æœ‰è€…å’Œ/或所属组。\n" #~ "当使用 --referebce 傿•°æ—¶ï¼Œå°†æ–‡ä»¶çš„æ‰€æœ‰è€…和所属组更改为与指定å‚考文件相" #~ "åŒã€‚\n" #~ "\n" #~ " -c, --changes\t\t\t类似 verbose,但åªåœ¨æœ‰æ›´æ”¹æ—¶æ‰æ˜¾ç¤ºç»“æžœ\n" #~ " --dereference\t\tå—å½±å“的是符å·é“¾æŽ¥æ‰€æŒ‡ç¤ºçš„对象,而éžç¬¦å·é“¾æŽ¥æœ¬èº«\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet\t去除大部份的错误信æ¯\n" #~ " --reference=å‚考文件\t使用å‚è€ƒæ–‡ä»¶çš„æ‰€å±žç»„ï¼Œè€ŒéžæŒ‡å®šå€¼\n" #~ " -R, --recursive\t\té€’å½’å¤„ç†æ‰€æœ‰çš„æ–‡ä»¶åŠå­ç›®å½•\n" #~ " -v, --verbose\t\t\t为处ç†çš„æ‰€æœ‰æ–‡ä»¶æ˜¾ç¤ºè¯Šæ–­ä¿¡æ¯\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "ä»¥ç»™å®šçš„æ ¼å¼æ˜¾ç¤ºå½“剿—¶é—´ï¼Œæˆ–是设置系统日期。\n" #~ "\n" #~ " -d,--date=字符串\t\t显示指定字符串所æè¿°çš„æ—¶é—´ï¼Œè€Œéžå½“剿—¶é—´\n" #~ " -f,--file=日期文件\t\t类似--date,从日期文件中按行读入时间æè¿°\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE å¯ä»¥æ˜¯ä¸€ä¸ªå¯é€‰çš„æ•´æ•°ï¼ŒåŽé¢è·Ÿç€ä»¥ä¸‹å•ä½ä¸­çš„一个:\n" #~ "KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 Gã€Tã€Pã€Eã€Zã€Y。\n" #~ msgid "cannot create link %s" #~ msgstr "无法创建链接%s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "è­¦å‘Šï¼šä¸æŽ¨è使用--preserve_context,请使用--preserve-context" #~ msgid "truncating %s" #~ msgstr "正在截断%s" #~ msgid "invalid number of lines: 0" #~ msgstr "无效的行数:0" #~ msgid "invalid format precision" #~ msgstr "无效的格å¼ç²¾ç¡®åº¦" #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "创建符å·é“¾æŽ¥ %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "创建符å·é“¾æŽ¥%s -> %s" #~ msgid "creating hard link %s" #~ msgstr "创建硬链接%s" #~ msgid "creating hard link %s => %s" #~ msgstr "创建硬链接%s => %s" #~ msgid "extra operand %s\n" #~ msgstr "é¢å¤–çš„æ“作数 %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "å•ä½ä¸­æ—¢æœ‰ SI å•ä½åˆæœ‰ IEC å•ä½" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "--context (-Z)选项已废弃,将在未æ¥çš„å‘行中删除" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "警告:--%s 选项已过时,请使用--reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "请注æ„-r å’Œ-s 是互斥的选项。\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS\té™åˆ¶ç¼–ç åŽæ¯è¡Œçš„长度为COLS(默认为76个字符)。\n" #~ "\t\t\t如果COLS为0,表示无此é™åˆ¶ã€‚\n" #~ "\n" #~ " -d, --decode\t\tè§£ç ã€‚\n" #~ " -i, --ignore-garbage\t在解ç çš„æ—¶å€™å¿½ç•¥éžå­—æ¯è¡¨(a-zA-Z)的字符。\n" #~ "\n" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "用法:%s [选项] æ•°å­—[åŽç¼€] 命令 [傿•°]...\n" #~ " 或:%s [选项]\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%sï¼šéžæ³•选项 -- %c\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help 显示此帮助并退出。\n" #~ " --version 输出版本信æ¯å¹¶é€€å‡º\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "当åŒ--follow (-f)一起使用时,tail 默认以文件æè¿°å†…容为观察。这æ„味ç€\n" #~ "å³ä½¿è¢«æŒ‡å®šçš„æ–‡ä»¶å·²è¢«æ”¹å,tail ä»ä¼šç»§ç»­è¿½è¸ªå…¶å°¾éƒ¨å†…容。" #~ msgid "invalid argument: %s" #~ msgstr "æ— æ•ˆçš„å‚æ•°ï¼š%s" #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "请å‘<%s> 报告%s 的错误。\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "%s 主页:<http://www.gnu.org/software/%s/>。\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "使用GNU 软件的一般帮助:<http://www.gnu.org/gethelp/>。\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "警告:--megabytes 选项已ç»è¿‡æ—¶ï¼Œè¯·ä½¿ç”¨-m。" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "如果 -e 选项生效,以下特殊åºåˆ—å¯ä»¥è¢«è¯†åˆ«ï¼š\n" #~ "\n" #~ " \\0NNN\tASCII ç ä¸ºNNN 的字符(八进制)\n" #~ " \\\\\tåæ–œæ \n" #~ " \\a\t终端å“铃\n" #~ " \\b\t退格\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory \tåˆ›å»ºä¸€ä¸ªç›®å½•è€Œéžæ–‡ä»¶\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr " -q, --quiet \t\téšè—创建文件或目录失败时的诊断信æ¯\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr " -u, --dry-run \tä¸åˆ›å»ºä»»åŠ¡; åªæ˜¾ç¤ºä¸€ä¸ªåç§°(ä¸å®‰å…¨)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr " -p DIR \t\t用DIR 作为å‰ç¼€ï¼›éšå«-t [䏿ލè]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a\t\t终端å“铃\n" #~ " \\b\t\t退格\n" #~ " \\c\t\tä¸äº§ç”Ÿæˆæ›´å¤šè¾“出\n" #~ " \\f\t\tæ¢é¡µ\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n\t\tæ¢è¡Œ\n" #~ " \\r\t\t回车\n" #~ " \\t\t\t水平制表符\n" #~ " \\v\t\t垂直制表符\n" #~ msgid "path truncated when looking for %s" #~ msgstr "查找%s 时已截断路径" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s:警告:将硬链接连至符å·é“¾æŽ¥æ˜¯ä¸é€šç”¨çš„功能" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "默认情况下ä¸ä½¿ç”¨è‰²å½©æ¥åŒºåˆ«æ–‡ä»¶ï¼Œæ­¤æ–¹å¼ç­‰äºŽä½¿ç”¨äº† --color=none 选项。若使" #~ "用\n" #~ "--color 选项但䏿Œ‡å®š WHEN 傿•°åˆ™ç­‰äºŽ--color=always。当使用 --color=auto " #~ "时,\n" #~ "åªå½“输出至终端(tty)æ—¶æ‰ä¼šæ˜¾ç¤ºè‰²å½©ã€‚\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "致命错误:关闭目录%s 失败" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "致命错误:无法从%s 打开 .." #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "致命错误:ä¸èƒ½ç¡®å®š%s (已使用 .. 返回)是安全的" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "致命错误:目录%s çš„dev/ino å‘生了å˜åЍ" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "致命错误:无法进入目录%s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "致命错误:刚刚进入的目录%s çš„dev/ino å‘生了å˜åЍ" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "致命错误:ä¸èƒ½å›žåˆ°%s 的上级目录(..)" #~ msgid "cannot remove %s directory %s" #~ msgstr "无法删除%s 目录%s" #~ msgid "cannot remove root directory %s" #~ msgstr "无法删除根目录%s" #~ msgid "cannot remove relative-named %s" #~ msgstr "ä¸èƒ½ç§»é™¤ç›¸å¯¹å‘½åçš„%s" #~ msgid "cannot restore current working directory" #~ msgstr "无法回到当å‰å·¥ä½œç›®å½•" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "指定的大å°å¯ä»¥ä½¿ç”¨ä»¥ä¸‹å•ä½ï¼š\n" #~ "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" #~ "GB=1000000000,G=1073741824,Tã€Pã€Eã€Zã€Y 便­¤ç±»æŽ¨ã€‚\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "åªä¿ç•™<输入> (或标准输入) 中接连的相åŒè¡Œç›®ä¸­çš„一个节段,并写到\n" #~ "<输出> (或标准输出)。\n" #~ "\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p 等于--preserve=mode,ownership,timestamps\n" #~ " --preserve[=ATTR_LIST] è‹¥å¯èƒ½ï¼Œä¿ç•™æŒ‡å®šçš„æ–‡ä»¶å±žæ€§\n" #~ " (默认值为:mode,ownership,timestamps)\n" #~ " é¢å¤–的属性有:linksã€all\n" #~ msgid "invalid output flag: %s" #~ msgstr "无效的输出标志:%s" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] 为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件进行备份\n" #~ " -b 类似 --backupï¼Œä½†ä¸æŽ¥å—任何傿•°\n" #~ " -c (此选项ä¸ä½œå¤„ç†)\n" #~ " -d, --directory æ‰€æœ‰å‚æ•°éƒ½ä½œä¸ºç›®å½•处ç†ï¼›è€Œä¸”会创建指定目录的所有主目" #~ "录\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr " -P, --no-dereference 从ä¸è·Ÿéšç¬¦å·é“¾æŽ¥\n" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "文件æ“作数无法与 --print-database (-p) 组åˆä½¿ç”¨ã€‚" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "用法:%s [选项]... [字符串]...\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 包括大å°ä¸º 0 个å—的文件系统\n" #~ " -B, --block-size=å¤§å° å—以指定<大å°>的字节为å•ä½\n" #~ " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼è¾“å‡ºæ–‡ä»¶ç³»ç»Ÿå¤§å° (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 类似 -hï¼Œä½†å– 1000 çš„æ¬¡æ–¹è€Œä¸æ˜¯ 1024\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼è¾“å‡ºæ–‡ä»¶å¤§å° (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 类似 -hï¼Œä½†å– 1000 çš„æ¬¡æ–¹è€Œä¸æ˜¯ 1024\n" #~ " -k å³--block-size=1K\n" #~ " -l, --count-links 连硬链接的大å°ä¹Ÿè®¡ç®—在内\n" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "用法:%s [选项] 文件...\n" #~ msgid "???? days ??:??, " #~ msgstr "???? 天 ??:??, " #~ msgid "invalid input flag: %s" #~ msgstr "无效的输入标志:%s" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse é€†åºæŽ’åº\n" #~ " -R, --recursive 递归列出所有å­ç›®å½•\n" #~ " -s, --size å’Œ -l åŒæ—¶ä½¿ç”¨æ—¶ä»¥å—为å•ä½åˆ—出æ¯ä¸ªæ–‡ä»¶çš„大" #~ "å°\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force 如果无法打开已存在的文件,会删除该文件并" #~ "å†\n" #~ " å°è¯•打开\n" #~ " -i, --interactive 覆盖文件å‰éœ€è¦ç¡®è®¤\n" #~ " -H 使用命令列中的符å·é“¾æŽ¥æŒ‡ç¤ºçš„真正目的地\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "用法:%s [选项] 目录...\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps 以<æº>文件的访问/修改时间作为相应的目的\n" #~ " 地文件的时间属性\n" #~ " -s, --strip 用 strip 命令删除 symbol table,åªé€‚用于第一åŠç¬¬äºŒ" #~ "ç§\n" #~ " 使用格å¼\n" #~ " -S, --suffix=åŽç¼€ 自行指定备份文件的<åŽç¼€>\n" #~ " -v, --verbose å¤„ç†æ¯ä¸ªæ–‡ä»¶/目录时输出åç§°\n" #~ msgid "invalid format string: %s" #~ msgstr "无效的格å¼å­—符串:%s" #~ msgid "cannot create temporary file" #~ msgstr "无法创建临时文件" #~ msgid "changing security context of %s" #~ msgstr "更改 %s çš„æƒé™" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "无法组åˆä½¿ç”¨ --target-directory å’Œ --no-target-directory" #~ msgid "cannot run strip" #~ msgstr "无法执行 strip 命令" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "用法:%s [选项] [文件]...\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system 略过属于其他文件系统的目录\n" #~ " -X 文件, --exclude-from=文件 ç”±<文件>读å–应排除的文件的样å¼\n" #~ " --exclude=PAT æŽ’é™¤ç¬¦åˆæŒ‡å®š<æ ·å¼>的文件\n" #~ " --max-depth=N åªæ˜¾ç¤ºå‚数指定的目录 N 层或以内的å­ç›®å½•的总用é‡\n" #~ " (若使用 --all 选项,也会显示文件的å ç”¨é‡)ï¼›\n" #~ " --max-depth=0 的效果等于--summarize\n" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld 天" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u é…åˆ -lt:显示访问时间而且ä¾è®¿é—®æ—¶é—´æŽ’åº\n" #~ " é…åˆ -l:显示访问时间但根æ®å称排åº\n" #~ " å¦åˆ™ï¼šæ ¹æ®è®¿é—®æ—¶é—´æŽ’åº\n" #~ " -U ä¸è¿›è¡ŒæŽ’åºï¼›ä¾æ–‡ä»¶ç³»ç»ŸåŽŸæœ‰çš„æ¬¡åºåˆ—出项目\n" #~ " -v æ ¹æ®ç‰ˆæœ¬è¿›è¡ŒæŽ’åº\n" #~ msgid "cannot create temporary file %s" #~ msgstr "无法创建临时文件%s" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "用法:%s [选项]... [文件]\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "用法:%s [选项] 文件 [...]\n" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/nb.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001166170�12107204512�011731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Norwegian messages for GNU textutils (bokmÃ¥l dialect) # Copyright (C) 1996 Free Software Foundation, Inc. # Eivind Tagseth <eivindt@multinet.no>, 1996, 1997, 1999. # msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.20\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2002-01-27 21:35+0100\n" "Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n" "Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ugyldig argument %s for %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "flertydig argument %s for %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Gyldige argument er:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "lager filen «%s»\n" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "feil ved skriving" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "kan ikke endre rettigheter til %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ukjent systemfeil" #: lib/file-type.c:38 msgid "regular empty file" msgstr "" #: lib/file-type.c:38 #, fuzzy msgid "regular file" msgstr "feil ved lesing" #: lib/file-type.c:41 msgid "directory" msgstr "" #: lib/file-type.c:44 #, fuzzy msgid "block special file" msgstr "blokkstørrelse" #: lib/file-type.c:47 #, fuzzy msgid "character special file" msgstr "tegn-posisjon er null" #: lib/file-type.c:50 msgid "fifo" msgstr "" #: lib/file-type.c:53 msgid "symbolic link" msgstr "" #: lib/file-type.c:56 msgid "socket" msgstr "" #: lib/file-type.c:59 msgid "message queue" msgstr "" #: lib/file-type.c:62 msgid "semaphore" msgstr "" #: lib/file-type.c:65 msgid "shared memory object" msgstr "" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" #: lib/file-type.c:70 #, fuzzy msgid "weird file" msgstr "feil ved lesing" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "blokkstørrelse" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "blokkstørrelse" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "feil ved skriving" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "Ukjent systemfeil" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flagget «%s» er flertydig\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flagget «--%s» trenger et argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flagget «%c%s» trenger et argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flagget «%s» trenger et argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ukjent flagg «--%s»\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ukjent flagg «%c%s»\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ukjent flagg -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flagget trenger et argument -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flagget «-W %s» er flertydig\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flagget «-W %s» tillater ikke et argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flagget «%s» trenger et argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kan ikke endre rettigheter til %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "kan ikke opprette katalog %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "virtuelt minne oppbrukt" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "kan ikke opprette katalog %s" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: lesefeil" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: ugyldig regulært uttrykk: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "ugyldig tegn-klasse «%s»" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "virtuelt minne oppbrukt" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: ugyldig regulært uttrykk: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "feil i søk med regulært uttrykk" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "feil i søk med regulært uttrykk" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "feil i søk med regulært uttrykk" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 #, fuzzy msgid "^[yY]" msgstr "^[jJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, fuzzy, c-format msgid "setting permissions for %s" msgstr "kan ikke endre rettigheter til %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "standard feilkanal" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: ugyldig prosess-id" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: ugyldig prosess-id" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "blokkstørrelse" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "Ã¥pning av fil feilet" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "kan ikke opprette katalog %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "feil ved lukking av fil" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 #, fuzzy msgid "iconv function not usable" msgstr "kan ikke skrive ut U+%04X: iconv-funksjonen er ikke brukbar" #: lib/unicodeio.c:104 #, fuzzy msgid "iconv function not available" msgstr "kan ikke skrive ut U+%04X: iconv-funksjon er ikke tilgjengelig" #: lib/unicodeio.c:111 #, fuzzy msgid "character out of range" msgstr "U+%04X: tegn utenfor tillatte verdier" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "kan ikke konvertere U+%04X til lokalt tegnsett" #: lib/unicodeio.c:183 #, fuzzy, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "kan ikke konvertere U+%04X til lokalt tegnsett" #: lib/userspec.c:106 msgid "invalid user" msgstr "ugyldig bruker" #: lib/userspec.c:107 msgid "invalid group" msgstr "ugyldig gruppe" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "ugyldig bruker" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, fuzzy, c-format msgid "Written by %s and %s.\n" msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, fuzzy, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "Skrevet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapportér feil til <bug-textutils@gnu.org>." #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Rapportér feil til <bug-textutils@gnu.org>." #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "Ã¥pning av fil feilet" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Ukjent systemfeil" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "kan ikke endre rettigheter til %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "strengsammenligning feilet" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Sett LC_ALL='C' for Ã¥ omgÃ¥ problemet." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "ugyldig argument %s for %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ugyldig linjenummer-økning: «%s»" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: tall «%.*s» for stort" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Bruk: %s [FLAGG] [FIL]...\n" "eller: %s [FLAGG] --check [FIL]\n" "Skriv eller sjekk %s-sjekksummer (%d-bit).\n" "Dersom ingen FIL er spesifisert eller FIL er -, leses det fra standard inn.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "NÃ¥r ingen FIL eller nÃ¥r FIL er -, les fra standard inn.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "lesefeil" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "ugyldig antall" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "ugyldig type-streng «%s»" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "ekstra operator «%s»" #: src/base64.c:318 src/cat.c:781 #, fuzzy, c-format msgid "closing standard input" msgstr "standard inn" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin og David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "%s: heltall forventet etter «%c»" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund og Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Føy sammen FIL(er) eller standard inn til standard ut.\n" "\n" " -A, --show-all samme som -vET\n" " -b, --number-nonblank nummerer ikke-blanke ut-linjer\n" " -e samme som -vE\n" " -E, --show-ends skriv $ pÃ¥ slutten av hver linje\n" " -n, --number nummerer alle ut-linjer\n" " -s, --squeeze-blank aldri mer enn én blank linje\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t samme som -vT\n" " -T, --show-tabs vis tabulatortegn som ^I\n" " -u (ignorert)\n" " -v, --show-nonprinting bruk ^ og M-notasjon, unntatt for LFD og TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standard ut" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: innfil er utfil" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 #, fuzzy msgid "Jim Meyering" msgstr "Mike Haertel og Paul Eggert" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "kan ikke endre rettigheter til %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "kan ikke endre rettigheter til %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "kan ikke endre rettigheter til %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, fuzzy, c-format msgid "cannot read directory %s" msgstr "kan ikke opprette katalog %s" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, fuzzy, c-format msgid "fts_read failed" msgstr "feil ved lesing" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "feil ved lukking av fil" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Bruk: %s [FLAGG]... [FIL]...\n" " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "%s: heltall forventet etter «%c»" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "ugyldig breddespesifikasjon «%s»" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "ugyldig gruppe" #: src/chgrp.c:108 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Bruk: %s [FLAGG]... [FIL]...\n" " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " +N samme som -s N (avleggs, vil bli tilbaketrukket)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "kan ikke endre rettigheter til %s" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "kan ikke opprette katalog %s" #: src/chmod.c:276 #, fuzzy, c-format msgid "changing permissions of %s" msgstr "kan ikke endre rettigheter til %s" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "kan ikke endre rettigheter til %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "ugyldig bredde: «%s»" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "kan ikke skifte til katalog, %s" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:171 #, fuzzy, c-format msgid "failed to change ownership of %s to %s\n" msgstr "kan ikke endre rettigheter til %s" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "kan ikke opprette katalog %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:468 #, fuzzy, c-format msgid "changing group of %s" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Bruk: %s [FLAGG]... [FIL]...\n" " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, fuzzy, c-format msgid "invalid group %s" msgstr "ugyldig gruppe" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "ugyldig gruppe" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, fuzzy, c-format msgid "cannot change root directory to %s" msgstr "kan ikke skifte til katalog, %s" #: src/chroot.c:206 #, fuzzy, c-format msgid "cannot chdir to root directory" msgstr "kan ikke skifte til katalog, %s" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fil for lang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Skriv CRC-sjekksum og oktett-antall for hver FIL.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Bruk: %s [FLAGG]... FIL1 FIL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "Sammenlign de sorterte filene VENSTREFIL og HØYREFIL linje for linje.\n" "\n" " -1 se bort fra linjer som bare finnes i den venstre filen\n" " -2 se bort fra linjer som bare finnes i den høyre filen\n" " -3 se bort fra linjer som finnes i begge filer\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "feil ved lesing av %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, fuzzy, c-format msgid "cannot lseek %s" msgstr "%s: kan ikke søke til posisjon %s%s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "feil ved skriving til %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "feil ved skriving" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "kan ikke endre rettigheter til %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "kan ikke endre rettigheter til %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, fuzzy, c-format msgid "cannot remove %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, fuzzy, c-format msgid "cannot create regular file %s" msgstr "kan ikke opprette midlertidig fil" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "kan ikke endre rettigheter til %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "%s: fil for lang" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, fuzzy, c-format msgid "cannot stat %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:1650 #, fuzzy, c-format msgid "omitting directory %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1811 #, fuzzy, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "kan ikke skifte til katalog, %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, fuzzy, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "kan ikke opprette katalog %s" #: src/copy.c:1861 #, fuzzy, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "kan ikke skifte til katalog, %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, fuzzy, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "kan ikke skifte til katalog, %s" #: src/copy.c:2123 #, fuzzy, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "kan ikke skifte til katalog, %s" #: src/copy.c:2166 #, fuzzy, c-format msgid "cannot move %s to %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:2416 src/mkfifo.c:132 #, fuzzy, c-format msgid "cannot create fifo %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:2425 #, fuzzy, c-format msgid "cannot create special file %s" msgstr "tegn-posisjon er null" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "kan ikke opprette katalog %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" "eller: %s -G [FLAGG]... [INN [UT]]\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:348 #, fuzzy, c-format msgid "failed to preserve permissions for %s" msgstr "kan ikke endre rettigheter til %s" #: src/cp.c:475 #, fuzzy, c-format msgid "cannot make directory %s" msgstr "kan ikke opprette katalog %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s eksisterer men er ikke en katalog" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "kan ikke opprette katalog %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "hopp over argument" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "feltliste mangler" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "kan ikke skifte til katalog, %s" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "%s eksisterer men er ikke en katalog" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "input forsvant" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: linjenummer utenfor tillatte verdier" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: «%s»: linjenummer utenfor tillatte verdier" #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr " ved %d. repetisjon\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: «%s»: ingen treff funnet" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "feil i søk med regulært uttrykk" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "skrivefeil for «%s»" #: src/csplit.c:1059 #, fuzzy, c-format msgid "%s: integer expected after delimiter" msgstr "%s: heltall forventet etter «%c»" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: «}» er nødvendig i gjentagelsesantall" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: heltall kreves mellom «{» og «}»" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: avsluttende skilletegn «%c» mangler" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ugyldig regulært uttrykk: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ugyldig mønster" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: linjenummeret mÃ¥ være større enn null" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "linjenummer «%s» er mindre enn foregÃ¥ende linjenummer, %s" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "advarsel: linjenummer «%s» er det samme som foregÃ¥ende" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "manglende konverteringsspesifikator i suffiks" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "ugyldig konvertingsspesifikator i suffiks: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "ugyldig konverteringsspesifikator i suffiks: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ugyldig konvertingsspesifikator i suffiks: %c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "for mange %%-konverteringsspesifikasjoner i suffiks" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "manglende %%-konverteringsspesifikasjon i suffiks" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ugyldig nummer" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Bruk: %s [FLAGG]... FIL MØNSTER...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Skriv ut deler av FIL skilt av MØNSTER til filene «xx01», «xx02», ...\n" "og skriv ut antall oktetter for hver del til standard ut.\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT bruk sprintf-FORMAT isteden for %d\n" " -f, --prefix=PREFIX bruk PREFIX isteden for «xx»\n" " -k, --keep-files ikke fjern utfiler ved feil\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=SIFFER bruk spesifisert antall siffer isteden for 2\n" " -s, --quiet, --silent ikke skriv ut utfil-størrelser\n" " -z, --elide-empty-files fjern tomme ut-filer\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Les standard inn hvis FIL er -. Hvert MØNSTER mÃ¥ være:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " HELTALL kopiér opp til, men ikke inkludert spesifisert " "linjenummer\n" " /REGEXP/[POSISJON] kopiér opp til, men ikke inkludert passende linje\n" " %REGEXP%[POSISJON] hopp over fram til, men ikke inkludert passende linje\n" " {HELTALL} gjenta forrige mønster spesifisert antall ganger\n" " {*} gjenta forrige mønster sÃ¥ mange ganger som mulig\n" "\n" "En linje-POSISJON er en «+» eller «-» fulgt av et positivt heltall.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Skriv ut valgte deler av linjer fra hver FIL til standard ut.\n" "\n" #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTE skriv bare ut disse oktettene\n" " -c, --characters=LISTE skriv bare ut disse tegnene\n" " -d, --delimiter=SKILLE bruk SKILLE isteden for TAB som skilletegn\n" #: src/cut.c:204 #, fuzzy msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTE skriv bare ut disse feltene. Skriv ogsÃ¥ ut\n" " linjer som ikke inneholder noen skilletegn,\n" " med mindre flagget -s er spesifisert\n" " -n (ignorert)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited skriv ikke ut linjer som ikke inneholder " "skilletegn\n" " --output-delimiter=STRENG bruk STRENG som ut-skilletegn\n" " forvalgt er Ã¥ bruke inn-skilletegnet\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Bruk en og bare en av -b, -c eller -f. Hver LISTE er bygd opp av\n" "et omrÃ¥de, eller flere omrÃ¥der skilt av komma. Hver omrÃ¥de er en av:\n" "\n" " N N'te oktett, tegn eller felt, telt fra 1\n" " N- fra N'te oktett, tegn eller felt, til slutten av linjen\n" " N-M fra N'te til M'te (inklusive) oktett, tegn eller felt\n" " -M fra første til M'te (inklusive) oktett, tegn eller felt\n" "\n" "Uten FIL, eller nÃ¥r FIL er -, leses fra standard inn.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "ugyldig byte- eller felt-liste" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "ugyldig breddespesifikasjon «%s»" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "ugyldig type-streng «%s»" #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "%s er for stor" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "felt-nummer er null" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "bare en liste-type kan spesifiseres" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "skilletegnet mÃ¥ være ett enkelt tegn" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "du mÃ¥ spesifisere en liste av bytes, tegn eller felt" #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "et skilletegn kan bare spesifiseres nÃ¥r en opererer med felt" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "fjerning av linjer uten skilletegn er meningsløst dersom en ikke opererer\n" "\tmed felt" #: src/cut.c:870 msgid "missing list of fields" msgstr "feltliste mangler" #: src/cut.c:872 msgid "missing list of positions" msgstr "posisjonsliste mangler" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standard inn" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "ugyldig bredde: «%s»" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:558 src/du.c:371 #, fuzzy, c-format msgid "time %s is out of range" msgstr "%s: linjenummer utenfor tillatte verdier" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s eksisterer men er ikke en katalog" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, fuzzy, c-format msgid "closing input file %s" msgstr "lager filen «%s»\n" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, fuzzy, c-format msgid "writing to %s" msgstr "feil ved skriving til %s" #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "ukjent flagg «-%c»" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "ugyldig breddespesifikasjon «%s»" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "ugyldig tall i feltstart" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "ugyldig gruppe" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "ugyldig bruker" #: src/dd.c:1266 src/truncate.c:310 #, fuzzy, c-format msgid "invalid number %s" msgstr "ugyldig antall" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "kan ikke opprette katalog %s" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "kan ikke opprette katalog %s" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: kan ikke søke til posisjon %s%s" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: kan ikke søke til posisjon %s%s" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "advarsel: ugyldig bredde %lu; bruker %d istedet" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "kan ikke endre rettigheter til %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: kan ikke søke til relativ posisjon %s%s" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "kan ikke endre rettigheter til %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/df.c:1335 msgid "warning: " msgstr "" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "" #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "kan ikke opprette midlertidig fil" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: ugyldig antall sekunder" #: src/dircolors.c:358 #, fuzzy, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s: ukjent flagg «%c%s»\n" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated avslutt linjer med en 0-oktett, ikke linjeskift\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Bruk: %s [FLAGG]... [FIL]...\n" " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "feil ved lesing" #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "ugyldig bredde: «%s»" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "ugyldig argument %s for %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: lesefeil" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "ugyldig gruppe" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totalt" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Stallman og David MacKenzie" #: src/env.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "kan ikke opprette katalog %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konverter tabulatorer i hver FIL til mellomrom, skriv til standard ut.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/expand.c:114 #, fuzzy msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ikke konverter tabulatorer etter ikke-blanke tegn\n" " -t, --tabs=TALL ha tabulatorer TALL tegn fra hverandre, ikke 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=LISTE bruk komma-separert LISTE med tab-posisjoner\n" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "%s er for stor" #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "tabulatorstørrelse inneholder et ugyldig tegn" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tabulatorstørrelse kan ikke være 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tabulatorstørrelser mÃ¥ være stigende" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "%s: fil for lang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, fuzzy, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, fuzzy, c-format msgid "syntax error" msgstr "standard feilkanal" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "feil i søk med regulært uttrykk" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "begrens argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Sett LC_ALL='C' for Ã¥ omgÃ¥ problemet." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "%s: ugyldig mønster" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s er for stor" #: src/factor.c:2454 #, fuzzy, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, fuzzy, c-format msgid "cannot get current directory" msgstr "kan ikke opprette katalog %s" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, fuzzy, c-format msgid "cannot change to directory %s" msgstr "kan ikke skifte til katalog, %s" #: src/find-mount-point.c:70 #, fuzzy, c-format msgid "cannot stat current directory (now %s)" msgstr "kan ikke opprette katalog %s" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Bruk: %s [-SIFFER] [FLAGG]... [FIL]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Omformattér hvert avsnitt i FILEN(e), skriv til standard ut.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin behold innrykket til de første to linjene\n" " -p, --prefix=STRENG sett kun sammen linjer som har STRENG som\n" " forstavelse\n" " -s, --split-only del opp lange linjer, men ikke fyll opp\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph innrykket til første linje er forskjellig fra " "neste\n" " -u, --uniform-spacing ett mellomrom mellom ord, to etter setninger\n" " -w, --width=TALL maksimal linjelengde (ellers 75 kolonner)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, fuzzy, c-format msgid "invalid width: %s" msgstr "ugyldig bredde: «%s»" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Brekk om linjene i hver FIL (standard inn), skriv til standard ut\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes tell bytes istedet for kolonner\n" " -s, --spaces brekk om ved mellomrom\n" " -w, --width=BREDDE bruk BREDDE kolonner istedet for 80\n" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "ugyldig antall kolonner: «%s»" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "kan ikke endre rettigheter til %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "kan ikke opprette katalog %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: ugyldig nummer" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de første 10 linjene av hver FIL til standard ut.\n" "Med mer enn en FIL er angitt, skriv ut filnavnet før hver FIL.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent ikke skriv ut filnavnene først\n" " -v, --verbose skriv alltid filnavnene først\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "ugyldig antall oktetter Ã¥ sammenligne" #: src/head.c:440 #, fuzzy, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: kan ikke søke til relativ posisjon %s%s" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, fuzzy, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: kan ikke søke til posisjon %s%s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: fil for lang" #: src/head.c:798 #, fuzzy, c-format msgid "cannot reposition file pointer for %s" msgstr "kan ikke opprette katalog %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s er sÃ¥ stor at den ikke kan representeres" #: src/head.c:886 msgid "number of lines" msgstr "antall linjer" #: src/head.c:886 msgid "number of bytes" msgstr "antall bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ugyldig antall linjer" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "ugyldig antall bytes" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "%s: ukjent flagg -- %c\n" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "kan ikke dele opp pÃ¥ mer enn én mÃ¥te" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "kan ikke opprette katalog %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "kan ikke opprette katalog %s" #: src/install.c:414 #, fuzzy, c-format msgid "creating directory %s" msgstr "kan ikke opprette katalog %s" #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "kan ikke endre rettigheter til %s" #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "kan ikke opprette katalog %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, fuzzy, c-format msgid "fork system call failed" msgstr "blokkstørrelse" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "feil ved skriving til %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, fuzzy, c-format msgid "invalid user %s" msgstr "ugyldig bruker" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" "eller: %s -G [FLAGG]... [INN [UT]]\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "%s eksisterer men er ikke en katalog" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, fuzzy, c-format msgid "invalid mode %s" msgstr "ugyldig bredde: «%s»" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 #, fuzzy msgid "Mike Haertel" msgstr "Mike Haertel og Paul Eggert" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "For hvert par av inn-linjer med like sammenføyningsfelt, skriv en linje til\n" "standard ut. Det forvalgte sammenføyningsfeltet er det første\n" "feltet, avgrenset av «blanke» tegn. Dersom FIL1 eller FIL2 (ikke begge)\n" "er -, leses det fra standard inn.\n" "\n" " -a SIDE skriv ut linjer som ikke kan parres som fra fil SIDE\n" " -e TOM erstatt manglende inn-felt med TOM\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignorer forskjeller i store/smÃ¥ bokstaver ved\n" " sammenligning av felt\n" " -j FELT (avleggs) samme som «-1 FELT -2 FELT»\n" " -j1 FELT (avleggs) samme som «-1 FELT»\n" " -j2 FELT (avleggs) samme som «-2 FELT»\n" " -o FORMAT følg FORMAT nÃ¥r utlinjen lages\n" " -t TEGN bruk TEGN som feltseparator for inn og ut\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Dersom -t TEGN ikke er angitt, er «ledende blanke» feltseparator, og " "ignoreres,\n" "ellers er felt skilt av TEGN. Hvert FELT er et feltnummer telt fra 1.\n" "FORMAT er en eller flere komma- eller blank-separerte spesifikasjoner, der\n" "hver er «SIDE.FELT» eller «0». Det forvalgte FORMATet skriver ut\n" "sammenføyningsfeltet, resten av feltene fra FIL1 og resten av feltene fra\n" "FIL2, alle skilt med TEGN.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "ugyldig felt-nummer: «%s»" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "ugyldig felt-spesifikator: «%s»" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "ugyldig filnummer i felt-spesifikator: «%s»" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "flertegnstabulator «%s»" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "begge filene kan ikke være standard inn" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, fuzzy, c-format msgid "%s: invalid process id" msgstr "%s: ugyldig mønster" #: src/kill.c:259 #, fuzzy, c-format msgid "invalid option -- %c" msgstr "%s: ukjent flagg -- %c\n" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "ugyldig argument %s for %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, fuzzy, c-format msgid "cannot create link %s to %s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, fuzzy, c-format msgid "%s: cannot overwrite directory" msgstr "kan ikke opprette katalog %s" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "kan ikke opprette katalog %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%s eksisterer men er ikke en katalog" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "kan ikke opprette katalog %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, fuzzy, c-format msgid "Usage: %s [OPTION]\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s: ugyldig nummer" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 #, fuzzy msgid "%b %e %Y" msgstr "%b %e %H:%M %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 #, fuzzy msgid "%b %e %H:%M" msgstr "%b %e %H:%M %Y" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "ugyldig bredde: «%s»" #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "ugyldig type-streng «%s»" #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "ugyldig argument %s for %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Gyldige argument er:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, fuzzy, c-format msgid "unrecognized prefix: %s" msgstr "ukjent flagg «-%c»" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, fuzzy, c-format msgid "cannot open directory %s" msgstr "kan ikke opprette katalog %s" #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "kan ikke opprette katalog %s" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "kan ikke opprette katalog %s" #: src/ls.c:2615 src/pwd.c:229 #, fuzzy, c-format msgid "reading directory %s" msgstr "kan ikke opprette katalog %s" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "kan ikke opprette katalog %s" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -f, --fields=LISTE skriv bare ut disse feltene. Skriv ogsÃ¥ ut\n" " linjer som ikke inneholder noen skilletegn,\n" " med mindre flagget -s er spesifisert\n" " -n (ignorert)\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper og Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Bruk: %s [FLAGG] [FIL]...\n" "eller: %s [FLAGG] --check [FIL]\n" "Skriv eller sjekk %s-sjekksummer (%d-bit).\n" "Dersom ingen FIL er spesifisert eller FIL er -, leses det fra standard inn.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary skriv binært til konsollenheten.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "De følgende to flaggene brukes kun ved sjekking av sjekksummer:\n" " --status ikke skriv ut noe, statuskode angir resultat\n" " -w, --warn advar mot feilformatterte MD5-sjekksum-linjer\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Summene blir beregnet som beskrevet i %s. Ved sjekking skal\n" "inndata være tidligere utdata fra dette programmet. Forvalgt \n" "modus er Ã¥ skrive ut en linje med sjekksum, et tegn som indikerer\n" "type («*» for binær, « » for tekst), og navnet til hver FIL\n" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "%s: ingen riktig formatterte %s-sjekksumlinjer funnet" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %lu: ukorrekt formattert %s-sjekksumlinje" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: FEIL ved Ã¥pning eller lesing\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "FEIL" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: ingen riktig formatterte %s-sjekksumlinjer funnet" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ADVARSEL: %d av %d oppførte %s kunne ikke leses" msgstr[1] "ADVARSEL: %d av %d oppførte %s kunne ikke leses" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ADVARSEL: %d av %d beregnede %s stemte IKKE overens" msgstr[1] "ADVARSEL: %d av %d beregnede %s stemte IKKE overens" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "flagget --status har bare betydning ved sjekking av sjekksummer" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "flaggene --binary og --text er meningsløse ved verifisering av sjekksummer" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "flagget --status har bare betydning ved sjekking av sjekksummer" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "flagget --warn har bare betydning ved sjekking av sjekksummer" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "flagget --status har bare betydning ved sjekking av sjekksummer" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "flagget --status har bare betydning ved sjekking av sjekksummer" #: src/mkdir.c:56 src/rmdir.c:164 #, fuzzy, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, fuzzy, c-format msgid "created directory %s" msgstr "kan ikke opprette katalog %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "ugyldig antall" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "ugyldig startlinjenummer: «%s»" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "ugyldig startlinjenummer: «%s»" #: src/mknod.c:176 #, fuzzy, c-format msgid "block special files not supported" msgstr "blokkstørrelse" #: src/mknod.c:185 #, fuzzy, c-format msgid "character special files not supported" msgstr "tegn-posisjon er null" #: src/mknod.c:201 #, fuzzy, c-format msgid "invalid major device number %s" msgstr "ugyldig startlinjenummer: «%s»" #: src/mknod.c:206 #, fuzzy, c-format msgid "invalid minor device number %s" msgstr "ugyldig startlinjenummer: «%s»" #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "ugyldig argument %s for %s" #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "ugyldig argument %s for %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "for mange argumenter" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "kan ikke opprette katalog %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "ugyldig argument %s for %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "kan ikke opprette midlertidig fil" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv hver fil til standard ut, med linjenummer lagt til.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIL bruk STIL for nummerering\n" " -d, --section-delimiter=CC bruk CC for Ã¥ skille logiske sider\n" " -f, --footer-numbering=STIL bruk STIL for Ã¥ nummerere bunntekst\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIL bruk STIL for Ã¥ nummerere topptekst\n" " -i, --page-increment=ANTALL linjenummerøkning for hver linje\n" " -l, --join-blank-lines=ANTALL ANTALL tomme linjer som teller som en\n" " -n, --number-format=FORMAT sett inn linjenummer etter FORMAT\n" " -p, --no-renumber ikke begynn linjenumre pÃ¥ nytt ved " "logiske\n" " sider\n" " -s, --number-separator=STRENG legg til STRENG etter (mulig) linjenummer\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=ANTALL første linjenummer pÃ¥ hver logiske side\n" " -w, --number-width=ANTALL bruk ANTALL kolonner for linjenummerering\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er\n" "to skilletegn for Ã¥ skille logiske sider, et manglende andretegn\n" "impliserer «:». Bruk \\\\ for \\. STIL er en av:\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a nummerer alle linjer\n" " t nummerer bare ikke-tomme linjer\n" " n nummerer ingen linjer\n" " pREGEXP nummerer bare linjer som passer REGEXP\n" "\n" "FORMAT er et av følgende:\n" "\n" " ln venstrejustert, ingen ledende nuller\n" " rn høyrejustert, ingen ledende nuller\n" " rz høyrejustert, ledende nuller\n" "\n" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "felt-nummer er null" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "ugyldig felt-nummer: «%s»" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "ugyldig antall" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "ugyldig filnummer i felt-spesifikator: «%s»" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "ugyldig startlinjenummer: «%s»" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "ugyldig linjenummer-økning: «%s»" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "ugyldig antall blanke linjer: «%s»" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "ugyldig linjenummer-feltbredde: «%s»" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "ugyldig linjenummer-økning: «%s»" #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "begge filene kan ikke være standard inn" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "for mange argumenter" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, fuzzy, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: ugyldig antall linjer" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "ugyldig antall" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "ugyldig linjenummer-økning: «%s»" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: fil for lang" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "ugyldig type-streng «%s»" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "ugyldig argument %s for %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ugyldig linjenummer-økning: «%s»" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "ugyldig type-streng «%s»" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "ugyldig felt-nummer: «%s»" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "ugyldig bredde: «%s»" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "kun ett argument kan spesifiseres" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "feil ved lesing av %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "begge filene kan ikke være standard inn" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Bruk: %s [FLAGG]... [FIL]...\n" " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Skriv en entydig representasjon, oktale bytes forvalgt, av FIL\n" "til standard ut. Dersom ingen FIL er spesifisert, eller FIL er -,\n" "leses det fra standard inn.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "For eldre syntaks («second call format»), betyr POSISJON -j POSISJON. \n" "MERKE er pseudoadressen til den første uskrevne byten, som økes mens\n" "utskriften pÃ¥gÃ¥r. For POSISJON og MERKE, indikerer en 0x- eller \n" "0X-forstavelse hexadesimalt tallformat. Endelser kan være . for oktal,\n" "og b for blokker pÃ¥ 512 bytes.\n" "\n" "TYPE er laget av en eller flere av følgende:\n" "\n" " a et navngitt tegn\n" " c ASCII-tegn eller backslash-notasjon\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX bestem hvordan filoffset'er skrives\n" " -j, --skip-bytes=BYTES hopp over første BYTES fra hver fil\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES begrens oppgaven til første BYTES fra hver " "fil\n" " -s, --strings[=BYTES] skriv ut strenger med minst BYTES grafiske " "tegn\n" " -t, --format=TYPE velg utformat(er)\n" " -v, --output-duplicates ikke bruk * for Ã¥ markere linjefjerning\n" " -w, --width[=BYTES] skriv BYTES bytes per utlinje\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Før-POSIX-argumenter kan blandes, de er:\n" " -a samme som -t a, velg navngitte tegn\n" " -b samme som -t oC, velg oktalbytes\n" " -c samme som -t c, velg ASCII-tegn eller backslash-notasjon\n" " -d samme som -t u2, velg korte desimaler uten fortegn\n" "\n" #: src/od.c:345 #, fuzzy msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f samme som -t fF, velg flyttall\n" " -h samme som -t x2, velg korte hexadesimale\n" " -i samme som -t d2, velg korte desimaler\n" " -l samme som -t d4, velg lange desimaler\n" " -o samme som -t o2, velg korte oktaler\n" " -x samme som -t x2, velg korte hexadesimaler\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[STØRRELSE] desimal med fortegn, STØRRELSE bytes per tall\n" " f[STØRRELSE] flyttall, STØRRELSE bytes per tall\n" " o[STØRRELSE] oktal, STØRRELSE bytes per tall\n" " u[STØRRELSE] desimal uten fortegn, STØRRELSE bytes per tall\n" " x[STØRRELSE] hexadesimal, STØRRELSE bytes per tall\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "STØRRELSE er et tall. For TYPE lik d, o, u eller x, kan STØRRELSE ogsÃ¥ være\n" "C for sizeof(char), S for sizeof(short), I for sizeof(int) eller L for \n" "sizeof(long). NÃ¥r TYPE er f, kan STØRRELSE være F for sizeof(float), \n" "D for sizeof(double) eller L for sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "ugyldig type-streng «%s»" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "ugyldig type-streng «%s»;\n" "dette systemet støtter ikke en %lu-byte heltallstype" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "ugyldig type-streng «%s»;\n" "dette systemet støtter ikke en %lu-byte flyttallstype" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "ugyldig tegn «%c» i type-streng «%s»" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "kan ikke hoppe til bak slutten av kombinert inndata" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "ugyldig ut-adresse radix «%c»; det mÃ¥ være ett av tegnene [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "ingen type kan spesifiseres ved dumping av strenger" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "kompatibilitetsmodus støtter maksimum tre argumenter" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "advarsel: ugyldig bredde %lu; bruker %d istedet" #: src/operand2sig.c:69 #, fuzzy, c-format msgid "%s: invalid signal" msgstr "%s: ugyldig prosess-id" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standard inn er lukket" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv linjer som bestÃ¥r av de sekvensielt tilsvarende linjene fra hver\n" "FIL separert med tabulatorer til standard ut.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTE bruk tegn fra LISTE istedet for tabulatorer\n" " -s, --serial ta en fil om gangen i steder for i parallell\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "ugyldig tegn «%c» i type-streng «%s»" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Jay Lepreau og David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "ingen filer kan spesifiseres nÃ¥r flagget --string brukes" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Pete TerMaat og Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "«--pages=FØRSTE_SIZE[:SISTE_SIDE]» mangler argument" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "ugyldig type-streng «%s»" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "«-l SIDE_LENGDE» igyldig antall linjer: «%s»" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "«-N TALL» ugyldig start-linjenummer: «%s»" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "«-o MARG» ugyldig linje-offset: «%s»" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "«-w SIDE_BREDDE» igyldig antall tegn: «%s»" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "«-W SIDE_BREDDE» ugyldig antall tegn: «%s»" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Kan ikke spesifisere antall kolonner nÃ¥r det skrives i parallell." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Kan ikke spesifisere bÃ¥de skriving i kryss og skriving i parallell" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "«-%c» ekstra tegn eller ugyldig tall i argumentet: «%s»" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "sidebredde for smal" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "felt-nummer er null" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Paginér eller kolumnér FIL(er) for utskrift.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FØRSTE_SIDE[:SISTE_SIDE], --pages=FØRSTE_SIDE[:SISTE_SIDE]\n" " begynn [stopp] utskrift med side FØRSTE_[SISTE_]SIDE\n" " -KOLONNE, --columns=COLONNE\n" " lag KOLONNE-kolonners utskrift og skriv kolonner " "nedover,\n" " med mindre -a brukes. Balansér antall linjer i\n" " kolonnene pÃ¥ hver side\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across skriv kolonner pÃ¥ tvers isteden for nedover, brukes " "sammen\n" " med -KOLONNE\n" " -c, --show-control-chars\n" " bruk hatt-notasjon (^G) og oktal backslah-notasjon\n" " -d, --double-space\n" " bruk dobbel linjeavstand\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " bruk FORMAT for topptekst-dato\n" " -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]]\n" " ekspander inn-TEGN (TAB) til tabulator-BREDDE (8)\n" " -F, -f, --form-feed\n" " bruk sideskift isteden for linjeskift for Ã¥ separere\n" " sider. (ved en 3-linjers topptekst med -F eller en\n" " 5-linjers topptekst og bunntekst uten -F)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h TOPPTEKST, --header=TOPPTEKST\n" " bruk en sentrert TOPPTEKST isteden for filnavn i\n" " toppteksten. -h \"\" skriver en blank linje, ikke bruk\n" " -h\"\"\n" " -i[TEGN[BREDDE], --output-tabs[=TEGN[BREDDE]]\n" " erstatt mellomrom med TEGN (TAB) til tabulator-BREDDE" "(8)\n" " -J, --join-lines flett sammen hele linjer. Skrur av -W-linje-" "trunkering,\n" " ingen kolonnejustering, -S[STRENG] setter skilletegn\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l SIDE_LENDGE, --length=SIDE_LENDGE\n" " setter sidelengden til SIDE_LENDGE (66) linjer\n" " (forvalgt antall linjer med tekst er 56, og med -F 63)\n" " -m, --merge skriv alle filer i parallell, en i hver kolonne,\n" " trunker linjer, men flett sammen hele linjer med -J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SKILL[SIFFER]], --number-linjes[=SKILL[SIFFER]]\n" " antall linjer, bruk SIFFER (5) siffer, sÃ¥ SKILL (TAB),\n" " forvalgt starter telling med første linje av innfil\n" " -N NUMMER, --first-linje-number=NUMMER\n" " start telling med NUMMER ved første linje av første\n" " side skrevet ut (se +FØRSTE_SIDE)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o MARG, --indent=MARG\n" " posisjonér hver linje med MARG (0) mellomrom,\n" " pÃ¥virker ikke -w eller -W. MARG vil adderes til " "SIDE_BREDDE\n" " -r, --no-file-warnings\n" " ikke advar nÃ¥r fil ikke kan Ã¥pnes\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[TEGN], --separator[=CHAR]\n" " skill kolonner med et enkelt tegn, forvalgt TEGNS\n" " er TAB-tegnet med -w og ingen tegn ved -W\n" " -s[TEGN] skrur av linjetrunkering av alle 3 kolonne-\n" " flaggene (-KOLONNE|-a -KOLONNE|-m) hvis ikke -w er satt\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[STRENG], --sep-string[=STRENG]\n" " skill kolonner med en STRENG. Ikke bruk -S \"STRENG\".\n" " Bare -S: Ikke noe skilletegn (samme som -S\"\").\n" " Uten -S: Fovalgt skilletegn TAB med -J og SPACE\n" " ellers (samme som -S\" \"), ingen effekt pÃ¥ kolonne-" "flagg\n" " -t, --omit-header ikke ta med topptekst og bunntekst\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " ikke ta med topp- og bunntekst, eliminer evt. " "paginering\n" " av sideskift satt i inn-filer\n" " -v, --show-non-printing\n" " bruk backslash-notasjon\n" " -w SIDEBREDDE, --with=SIDEBREDDE\n" " sett sidebredde til SIDEBREDDE (72) tegn for\n" " flerkolonners tekstutskrift. -s[tegn] skrur av (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W SIDEBREDDE, --page-width=SIDEBREDDE\n" " sett sidebredde til SIDEBREDDE (72) tegn\n" " trunkér linjer hvis ikke -J er satt. Ingen pÃ¥virkning\n" " med -S eller -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "NÃ¥r ingen FIL eller nÃ¥r FIL er -, les fra standard inn.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated avslutt linjer med en 0-oktett, ikke linjeskift\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, fuzzy, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ugyldig tegn-klasse «%s»" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "ugyldig bredde: «%s»" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "ugyldig breddespesifikasjon «%s»" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: ugyldig feltspesifikasjon «%s»" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (for regexp «%s»)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" "eller: %s -G [FLAGG]... [INN [UT]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Skriv ut en permutert indeks, inkludert kontekst, av ordene i innfilene\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference skriv ut automatisk genererte referanser\n" " -C, --copyright vis Copyright og kopieringsbetingelser\n" " -G, --traditional vær mer som System Vs «ptx»\n" " -F, --flag-truncation=STRENG bruk STRENG for Ã¥ markere linjetrunkering\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRENG makronavn Ã¥ bruke istedenfor «xx»\n" " -O, --format=roff generer utskrift som roff-direktiver\n" " -R, --right-side-refs plassér referansene pÃ¥ høyre side, ikke\n" " telt med i -w\n" " -S, --sentence-regexp=REGEXP for slutten av linjer eller slutten av\n" " setninger\n" " -T, --format=tex generer utskrift som TeX-direktiver\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP bruk REGEXP for Ã¥ treffe hvert nøkkelord\n" " -b, --break-file=FIL tegn for orddeling i denne FILen\n" " -f, --ignore-case gjør om smÃ¥ bokstaver til store for " "sortering\n" " -g, --gap-size=TALL størrelse pÃ¥ mellomrom mellom spalter i " "utfelt\n" " -i, --ignore-file=FIL les liste over ord som skal ignoreres fra " "FIL\n" " -o, --only-file=FIL les liste over ord som *ikke* skal " "ignoreres\n" " fra FIL\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references første felt av hver linje er en referanse\n" " -t, --typeset-mode - ikke implementert -\n" " -w, --width=BREDDE utskriftbredde for spalter, eksklusive\n" " referanser\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Ved ingen FIL eller hvis FIL er -, leses det fra standard inn. «-F /» er\n" "forvalgt.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "ugyldig bredde: «%s»" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "kan ikke endre rettigheter til %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "kan ikke opprette katalog %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "for mange ikke-flagg-argumenter" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "for mange ikke-flagg-argumenter" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "kan ikke opprette katalog %s" #: src/remove.c:274 #, fuzzy, c-format msgid "%s: descend into directory %s? " msgstr "kan ikke skifte til katalog, %s" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "" #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "kan ikke opprette katalog %s" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "kan ikke opprette katalog %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "feil ved lesing" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "for mange argumenter" #: src/rmdir.c:134 src/rmdir.c:233 #, fuzzy, c-format msgid "removing directory, %s" msgstr "kan ikke opprette katalog %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "kan ikke opprette katalog %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "kan ikke opprette katalog %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "kun ett argument kan spesifiseres" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "kan ikke endre rettigheter til %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "kan ikke endre rettigheter til %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "%s: linjenummer utenfor tillatte verdier" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "kan ikke endre rettigheter til %s" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "kan ikke endre rettigheter til %s" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" "eller: %s -G [FLAGG]... [INN [UT]]\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "ugyldig startlinjenummer: «%s»" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "ingen type kan spesifiseres ved dumping av strenger" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, fuzzy, c-format msgid "%s: fdatasync failed" msgstr "stat feilet" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, fuzzy, c-format msgid "%s: error writing at offset %s" msgstr "feil ved skriving til %s" #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "feil ved lukking av fil" #: src/shred.c:481 #, fuzzy, c-format msgid "%s: file too large" msgstr "%s: fil for lang" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "stat feilet" #: src/shred.c:778 #, fuzzy, c-format msgid "%s: invalid file type" msgstr "%s: ugyldig antall linjer" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, fuzzy, c-format msgid "%s: error truncating" msgstr "%s: fil trunkert" #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "stat feilet" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "" #: src/shred.c:991 #, fuzzy, c-format msgid "%s: renamed to %s" msgstr "%s: lesefeil" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: fil for lang" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "%s: fil for lang" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "%s: fil for lang" #: src/shred.c:1125 #, fuzzy, c-format msgid "%s: invalid number of passes" msgstr "%s: ugyldig antall sekunder" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, fuzzy, c-format msgid "%s: invalid file size" msgstr "%s: ugyldig antall linjer" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" "eller: %s -G [FLAGG]... [INN [UT]]\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Skriv ut valgte deler av linjer fra hver FIL til standard ut.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "ugyldig antall" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "ugyldig bredde: «%s»" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "kan ikke opprette katalog %s" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "ugyldig felt-nummer: «%s»" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Skriv en sortert konkatenering av alle FIL(er) til standard ut.\n" "\n" "Sorteringsflagg:\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignorer ledende blanke\n" " -d, --dictionary-order behandle bare blanke og alfanumeriske tegn\n" " -f, --ignore-case konverter smÃ¥ bokstaver til store\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort sammenlign i henhold til vanlige nummériske\n" " verdier\n" " -i, --ignore-nonprinting behandle bare skrivbare tegn\n" " -M, --month-sort sammenlign (ukjent) < 'JAN' < ... < 'DEC'\n" " -n, --numeric-sort sammenlign i henhold til nummériske verdier\n" " -r, --reverse reversér resultatet av sammenligningene\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort sammenlign i henhold til vanlige nummériske\n" " verdier\n" " -i, --ignore-nonprinting behandle bare skrivbare tegn\n" " -M, --month-sort sammenlign (ukjent) < 'JAN' < ... < 'DEC'\n" " -n, --numeric-sort sammenlign i henhold til nummériske verdier\n" " -r, --reverse reversér resultatet av sammenligningene\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Andre flagg:\n" "\n" " -c, --check sjekk om inndata er sortert; ikke sortér\n" " -k, --key=POS1[,POS2] start en nøkkel ved POS1, avslutt ved POS2 (fra " "1)\n" " -m, --merge flett sammen allerede sorterte filer; ikke " "sortér\n" " -o, --output=FIL skriv resultater til FIL isteden for standard " "ut\n" " -s, --stable stabiliser sortering ved Ã¥ slÃ¥ av siste-utvei-\n" " sammenligning\n" " -S, --buffer-size=STØRR bruk STØRRelse stort minne-buffer\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SKILL bruk SKILL isteden for ikke- til -tomrom-" "overgang\n" " -T, --temporary-directory=KAT bruk KATalog for midlertidige filer, ikke\n" " $TMPDIR eller %s. Kan gjentas for Ã¥\n" " spesifisere flere kataloger\n" " -u, --unique med -c: sjekk for streng sortering\n" " ellers, bare skriv ut det første av to like\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated avslutt linjer med en 0-oktett, ikke linjeskift\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS er F[.C][OPTS], hvor F er feltnummeret og C er tegnposisjonen\n" "i feltet. OPTS er en eller flere enbokstav-sorteringflagg, som\n" "overstyrer globale sorteringsflagg for den nøkkelen. Hvis ingen nøkkel\n" "er oppgitt, bruk hele linjen som nøkkel.\n" "\n" "STØRRELSE kan være fulgt av de følgende multiplikator-endelsene:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% av minne, b 1, K 1024 (forvalgt) og sÃ¥ videre for M, G, T, P, E, Z, Y.\n" "\n" "Dersom ingen FIL er oppgitt eller FIL er -, leses det fra standard inn.\n" "\n" "*** ADVARSEL ***\n" "Lokalet spesifisert av miljøet pÃ¥virker sorteringsrekkefølge.\n" "Sett LC_ALL=C for Ã¥ fÃ¥ den tradisjonelle sorteringsrekkefølgen som\n" "bruker negative oktett-verdier.\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "feil ved skriving til %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "kan ikke opprette midlertidig fil" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "Ã¥pning av fil feilet" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "feil ved lukking av fil" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "feil ved lukking av fil" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "Ã¥pning av fil feilet" #: src/sort.c:1103 #, fuzzy, c-format msgid "couldn't execute %s" msgstr "kan ikke opprette katalog %s" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "kan ikke opprette midlertidig fil" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "kan ikke opprette katalog %s" #: src/sort.c:1161 #, fuzzy, c-format msgid "couldn't execute %s -d" msgstr "kan ikke opprette katalog %s" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "kan ikke opprette katalog %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "ugyldig argument %s for %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "flertydig argument %s for %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: tall «%.*s» for stort" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat feilet" #: src/sort.c:1755 msgid "read failed" msgstr "feil ved lesing" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "strengsammenligning feilet" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: flagget «%s» er flertydig\n" msgstr[1] "%s: flagget «%s» er flertydig\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "feil ved skriving" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: uorden: " #: src/sort.c:2786 msgid "standard error" msgstr "standard feilkanal" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "kan ikke opprette katalog %s" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: ugyldig feltspesifikasjon «%s»" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: flagget «%s» er flertydig\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: ugyldig tall pÃ¥ starten av «%s»" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "ugyldig tall etter «-»" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "ugyldig tall etter «.»" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "ugyldig tegn i feltspesifikasjon" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "ugyldig tall i feltstart" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "felt-nummer er null" #: src/sort.c:4392 msgid "character offset is zero" msgstr "tegn-posisjon er null" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "ugyldig tall etter «,»" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: ugyldig antall linjer" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "lager filen «%s»\n" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "ekstra operator «%s» ikke tillatt med -c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Bruk: %s [FLAGG] [INPUT [PREFIKS]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Skriv stykker av fast størrelse av INPUT til PREFIKSaa, PREFIKSab, ...;\n" "Forvalgt PREFIKS er `x'. Dersom ingen INPUT er spesifisert, eller INPUT er " "-,\n" "leses det fra standard inn.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "lager filen «%s»\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "lager filen «%s»\n" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "lager filen «%s»\n" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "lager filen «%s»\n" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "lager filen «%s»\n" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "kan ikke dele opp pÃ¥ mer enn én mÃ¥te" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: ugyldig antall sekunder" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: ugyldig nummer" #: src/split.c:1119 #, fuzzy, c-format msgid "%s: invalid suffix length" msgstr "%s: ugyldig antall linjer" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: ugyldig antall bytes" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: ugyldig antall linjer" #: src/split.c:1236 #, fuzzy, c-format msgid "line count option -%s%c... is too large" msgstr "%s: tall «%.*s» for stort" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "ugyldig startlinjenummer: «%s»" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: ugyldig antall linjer" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "kan ikke opprette midlertidig fil" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: ukjent flagg «%c%s»\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s: ugyldig mønster" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "ugyldig backslash-beskyttelse ved slutten av streng" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "kan ikke opprette katalog %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "standard inn" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Bruk: %s [FLAGG] [FIL]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "kun ett argument kan spesifiseres" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "flaggene --string og --check kan ikke brukes samtidig" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "ugyldig argument %s for %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "flertydig argument %s for %s" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "ugyldig bredde: «%s»" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "ugyldig linjenummer-økning: «%s»" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour og David MacKenzie" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Skriv ut sjekksum og block-antall for hver FIL.\n" "\n" " -r bruk BSD-sum-algoritme, bruk 1K-blokker\n" " -s, --sysv bruk SystemV-sum-algoritme, bruk 512 byte-blokker\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, fuzzy, c-format msgid "ignoring all arguments" msgstr "for mange argumenter" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help vis denne hjelpteksten og avslutt\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version vis programversjon og avslutt\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatoriske argmenter til lange flagg er obligatoriske ogsÃ¥ for korte.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Rapportér feil til <bug-textutils@gnu.org>." #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Prøv med «%s --help» for mer informasjon.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv hver FIL til standard ut, siste linje først.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/tac.c:144 #, fuzzy msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before føy til separator før istedet for etter\n" " -r, --regex tolk separatoren som et regulært uttrykk\n" " -s, --separator=STRENG bruk STRENG som separator istedet for linjeskift\n" #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "feil ved lukking av fil" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s: fil for lang" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "kan ikke opprette midlertidig fil" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: fil for lang" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "kan ikke opprette katalog %s" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "feil ved skriving" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "%s: fil for lang" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "separatoren kan ikke være tom" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de siste %d linjene av hver FIL til standard ut.\n" "Med mer enn én FIL, innled hver med en topptekst med filnavnet.\n" "Med ingen FILer eller hvis FIL er -, les fra standard inn.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " skriv ut mer data etter hvert som filen vokser;\n" " -f, --follow og --follow=descriptot er de samme\n" " -F samme som --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N skriv ut de siste N linjene, isteden for de siste " "%d\n" " --max-unchanged-stats=N\n" " med --follow=name, Ã¥pne en FIL pÃ¥ nytt hvis den\n" " ikke har endret størrelse etter N (forvalgt %d)\n" " runder for Ã¥ se om den har blitt fjernet eller\n" " skiftet navn\n" " (dette er det vanlige tilfellet for roterte\n" " logg-filer\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID med -f, terminer etter at prosess PID dør\n" " -q, --quiet, --silent ikke skriv ut topptekster med filnavn\n" " -s, --sleep-interval=S med -f, hver runde varer circa S (forvalgt 1) " "sekunder\n" " -v, --verbose skriv alltid topptekster med filnavn\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Hvis det første tegnet av N (antall oktetter eller linjer) er en «+»,\n" "begynn Ã¥ skriv ut med det Nte elementet fra starten av hver linje, ellers\n" "skriv de siste N elementene i filen. N kan ha multiplikatorendelse:\n" "b for 512, k for 1024, m for 1048576 (1 Meg). " #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Denne forvalgte oppførselen er ikke ønskelig nÃ¥r det du virkelige vil\n" "gjøre er Ã¥ følge selve filnavnet og ikke fildeskriptoren (f.eks. logg-\n" "rotering). Bruk --follow=name i det tilfellet. Dette fører til at\n" "tail følger den navngitte filen ved Ã¥ gjenÃ¥pne filen periodisk for Ã¥ se om\n" "den har blitt fjernet og gjenopprettet av et annet program.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "lukker %s (fd=%d)" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: kan ikke søke til relativ posisjon %s%s" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: kan ikke søke til posisjon %s%s relativ til slutten" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "«%s» har blitt utilgjengelig" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "«%s» har blitt erstattet av en ikke-tailbar fil; gir opp dette filnavnet" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "«%s» har blitt erstattet av en ikke-tailbar fil; gir opp dette filnavnet" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "«%s» har blitt utilgjengelig" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "«%s» har blitt opprettet. Følger etter slutten av ny fil" #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "«%s» har blitt erstattet. Følger etter slutten av ny fil" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fil trunkert" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "ingen filer igjen" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "kan ikke opprette katalog %s" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "virtuelt minne oppbrukt" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "kan ikke opprette katalog %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "feil ved lesing av %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: kan ikke følge slutten av en fil av denne typen; gir opp denne" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "%s er for stor" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: ugyldig maksimum antall av uendrete resultat av kall til stat() mellom " "kall til open()" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: ugyldig prosess-id" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ugyldig antall sekunder" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "advarsel: --retry er nyttig kun nÃ¥r en følger ved navn" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "advarsel: PID ignoreres; --pid=PID er bare nyttid nÃ¥r man følger" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "advarsel: --pid=PID er ikke støttet pÃ¥ dette systemet" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "kan ikke opprette midlertidig fil" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "NÃ¥r ingen FIL eller nÃ¥r FIL er -, les fra standard inn.\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "flertydig argument %s for %s" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "ugyldig antall" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "Ukjent systemfeil" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "Ukjent systemfeil" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "%s: heltall forventet etter «%c»" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "for mange argumenter" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Obligatoriske argmenter til lange flagg er obligatoriske ogsÃ¥ for korte.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "feil ved skriving til %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, fuzzy, c-format msgid "invalid date format %s" msgstr "ugyldig argument %s for %s" #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, fuzzy, c-format msgid "cannot specify times from more than one source" msgstr "kan ikke dele opp pÃ¥ mer enn én mÃ¥te" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Oversett, klem sammen og/eller fjern tegn fra standard inn,\n" "skriv ut til standard ut.\n" "\n" " -c, --complement først komplementer SETT1\n" " -d, --delete slett tegn i SETT1, ikke oversett\n" " -s, --squeeze-repeats erstatt rekke av tegn med ett\n" " -t, --truncate-set1 forkort først SETT1 til lengden til SETT2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SETT er spesifisert med strenger av tegn. De fleste tegnene stÃ¥r for seg\n" "selv. Følgende sekvenser tolkes spesielt:\n" "\n" " \\NNN tegn med oktalverdi NNN (1 til 3 oktale siffer)\n" " \\\\ backslash\n" " \\a beep\n" " \\b backspace\n" " \\f sideskift (FF)\n" " \\n linjeskift (LF)\n" " \\r vognretur (CR)\n" " \\t horisontal tabulator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v vertikal tabulator\n" " TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende\n" " [TEGN1-TEGN2] samme som TEGN1-TEGN2, dersom begge sett bruker dette\n" " [TEGN*] i SETT2, kopier av TEGN inntil samme lengde til SETT1\n" " [TEGN*ANT] ANT kopier av TEGN, ANT er oktal, hvis det begynner med 0\n" " [:alnum:] alle bokstaver og tall\n" " [:alpha:] alle bokstaver\n" " [:blank:] alle horisontale blanke tegn\n" " [:cntrl:] alle kontrolltegn\n" " [:digit:] alle siffer\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] alle skrivbare tegn, unntatt blanke tegn\n" " [:lower:] alle smÃ¥ bokstaver\n" " [:print:] alle skrivbare tegn, inkludert blanke tegn\n" " [:punct:] alle tegnsettingstegn\n" " [:space:] alle horisontale og vertikale blanke tegn\n" " [:upper:] alle store bokstaver\n" " [:xdigit:] alle hexadesimale siffer\n" " [=TEGN=] alle tegn som er like TEGN\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "advarsel: den flertydige oktal-beskyttelsen \\%c%c%c blir tolket som \n" "\t2-byte-sekvensen \\0%c%c, «%c»" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "rekke-sluttpunkt i «%s-%s» er i omvendt sorteringsrekkefølge" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "ugyldig gjentagelsesteller «%s» i [c*n]-konstruksjon" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "mangler tegn-klassenavn «[::]»" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "mangler ekvivalensklassetegn «[==]»" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "ugyldig tegn-klasse «%s»" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ekvivalensklasseoperanden mÃ¥ være et enkelt tegn" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "feilplassert [:upper:]- og/eller [:lower:]-konstruksjon" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "ugyldig tegn i feltspesifikasjon" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "gjentagelseskonstruktet [c*] kan ikke opptre i streng1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "kun ett [c*] gjentagelseskonstrukt kan opptre i streng2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=]-uttrykk kan ikke opptre i streng2 under oversetting" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ved oversetting er de eneste tegnklassene som kan være i streng2\n" "«upper» og «lower»" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "nÃ¥r sett1 ikke blir forkortet, kan ikke streng2 være tom" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "nÃ¥r det oversettes med komlementerte tegnklasser\n" "mÃ¥ streng2 mappe alle tegn i domenet til én" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*]-konstruktet kan bare opptre i streng2 ved oversetting" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "to strenger mÃ¥ være gitt ved bÃ¥de sletting og sammenklemming av gjentagelser" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "to strenger mÃ¥ være gitt ved oversetting" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "kun én streng kan oppgis nÃ¥r det slettes uten sammenklemming av gjentagelser" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "kan ikke dele opp pÃ¥ mer enn én mÃ¥te" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "du mÃ¥ spesifisere en liste av bytes, tegn eller felt" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Bruk: %s [FLAGG] [FIL]\n" "Skriv en fullstendig sortert liste konsistent med den delvise sorteringen\n" "i FIL. Hvis ingen FIL eller hvis FIL er -, leses fra standard inn.\n" "\n" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: inndata inneholder en løkke:" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: inndata inneholder en løkke:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, fuzzy, c-format msgid "cannot get system name" msgstr "kan ikke opprette midlertidig fil" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konverter mellomrom i hver FIL til tabulatorer, skriv ut til standard ut.\n" "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " "inn.\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all konverter alle blanke tegn, istedet for bare " "innledende\n" " -t, --tabs=ANTALL ha tabulatorer ANTALL tegn fra hverandre istedet for " "8\n" " -t, --tabs=LISTE bruk komma-separert LISTE med tabulatorposisjoner.\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "%s er for stor" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Bruk: %s [FLAGG]... [INN [UT]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count begynn linjer med antall forekomster\n" " -d, --repeated skriv bare ut linjer det er flere av\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] skriv alle linjer det er flere av\n" " delimit-method={none(forvalgt),prepend,separate}\n" " -f, --skip-fields=N ikke sammenlign de første N feltene\n" " -i, --ignore-case ignorer forskjeller med store/smÃ¥ bokstaver\n" " -s, --skip-chars=N ikke sammenlign de første N tegnene\n" " -u, --unique skriv bare ut unike linjer\n" #: src/uniq.c:161 #, fuzzy msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N ikke sammenlign mer enn N tegn per linje\n" " -N samme som -f N\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Et felt er en rekke blanke tegn, sÃ¥ andre tegn. Felt hoppes over før tegn.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "for mange argumenter" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "ugyldig antall felt Ã¥ hoppe over" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "ugyldig antall oktetter Ã¥ hoppe over" #: src/uniq.c:539 #, fuzzy msgid "invalid number of bytes to compare" msgstr "ugyldig antall oktetter Ã¥ sammenligne" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "Ã¥ skrive alle dupliserte linjer *og* gjentagelsesantall er meningsløst" #: src/unlink.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, fuzzy, c-format msgid "cannot unlink %s" msgstr "kan ikke utføre ioctl pÃ¥ «%s»" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "ugyldig bruker" msgstr[1] "ugyldig bruker" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Skriv ut antall linjer, ord og bytes for hver FIL, og en total-linje\n" "dersom mer enn én FIL er spesifisert. Dersom ingen FIL er spesifisert,\n" "eller FIL er -, leses det fra standard inn.\n" " -c, --bytes skriv ut antall oktetter\n" " -m, --chars skriv ut antall tegn\n" " -l, --lines skriv ut antall linjer.\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 #, fuzzy msgid "IDLE" msgstr "FEIL" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Bruk: %s [FLAGG]... FIL1 FIL2\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "kan ikke endre eier og/eller gruppe for %s" #: src/yes.c:41 #, fuzzy, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "lager filen «%s»\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: ugyldig antall linjer" #, fuzzy #~ msgid "reading %s" #~ msgstr "feil ved lesing av %s" #, fuzzy #~ msgid "writing %s" #~ msgstr "feil ved skriving til %s" #, fuzzy #~ msgid "closing %s" #~ msgstr "lukker %s (fd=%d)" #, fuzzy #~ msgid "opening %s" #~ msgstr "feil ved lesing av %s" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Obligatoriske argmenter til lange flagg er obligatoriske ogsÃ¥ for korte.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX er d for desimal, o for oktal, x for hexadesimal eller n for " #~ "ingen.\n" #~ "BYTES er hexadesimal med 0x- eller 0X-prefix, multipliseres med 512\n" #~ "med endelse b, med 1024 med endelse k og med 1048576 med endelse m. \n" #~ "En z-endelse for en hvilken som helst type viser skrivbare tegn til " #~ "slutten\n" #~ "av hver linje av utskriften. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "-s uten et tall impliserer 3. -w uten et tall impliserer 32.\n" #~ "Forvalgt er at od bruker -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "program error" #~ msgstr "lesefeil" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ukjent flagg -- %c\n" #~ msgid "block size" #~ msgstr "blokkstørrelse" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "kan ikke finne login-gruppen til en numerisk bruker-ID" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Dette er fri programvare. Se kildekoden for kopieringsbetingelser.\n" #~ "Det er ingen garantier, ikke engang for SALGBARHET eller EGNETHET\n" #~ "TIL NOEN SPESIELL OPPGAVE.\n" #~ msgid "too few arguments" #~ msgstr "for fÃ¥ argumenter" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "closing standard output" #~ msgstr "standard ut" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "ugyldig antall" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman og David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Bruk: %s [FLAGG]... VENSTRE_FIL HØYRE_FIL\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "for fÃ¥ argumenter" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "advarsel: --pid=PID er ikke støttet pÃ¥ dette systemet" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp og David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: «+» eller «-» ventet etter skilletegn" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "for mange ikke-flagg-argumenter" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "ingen filer kan spesifiseres nÃ¥r flagget --string brukes" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "ukjent flagg «-%c»" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "cannot change to `..' from directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Ved -wTALL kan «w» utelates.\n" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=STØRRELSE skriv ut første STØRRELSE bytes\n" #~ " -n, --lines=ANTALL skriv ut første ANTALL tegn istedet for 10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan ha en multiplikatorendelse: b for 512, k for 1K eller\n" #~ " m for 1 Meg.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "ukjent flagg «-%c»" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "kan ikke utelate bÃ¥de bruker og gruppe" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "stat feilet" #~ msgid "" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v SIDE som -a SIDE, men dropp sammenføyde ut-linjer\n" #~ " -1 FELT sammenføy ved dette FELTet fra fil 1\n" #~ " -2 FELT sammenføy ved dette FELTet fra fil 2\n" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ugyldig feltnummer for fil 1: «%s»" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ugyldig feltnummer for fil 2: «%s»" #~ msgid "too many non-option arguments" #~ msgstr "for mange ikke-flagg-argumenter" #~ msgid "too few non-option arguments" #~ msgstr "for fÃ¥ ikke-flagg-argumenter" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram og David MacKenzie" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary les filene i binærmodus (forvalg i DOS/Windows)\n" #~ " -c, --check sjekk %s-summene mot angitt liste\n" #~ " -t, --text les filene i tekstmodus (forvalgt)\n" #~ "\n" #~ msgid "file" #~ msgstr "fil" #~ msgid "files" #~ msgstr "filer" #~ msgid "checksum" #~ msgstr "sjekksum" #~ msgid "checksums" #~ msgstr "sjekksummer" #~ msgid "no files may be specified when using --string" #~ msgstr "ingen filer kan spesifiseres nÃ¥r flagget --string brukes" #~ msgid "only one argument may be specified when using --check" #~ msgstr "kun ett argument kan spesifiseres ved bruk av --check" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "for fÃ¥ argumenter" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "ugyldig breddespesifikasjon «%s»" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram og David MacKenzie" #~ msgid "old-style offset" #~ msgstr "posisjon pÃ¥ gammel stil" #~ msgid "skip argument" #~ msgstr "hopp over argument" #~ msgid "limit argument" #~ msgstr "begrens argument" #~ msgid "minimum string length" #~ msgstr "minimal strenglengde" #~ msgid "width specification" #~ msgstr "breddespesifikasjon" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "ugyldig andre-operand i kompatibilitetsmodus «%s»" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "i kompatibilitetsmodus mÃ¥ de siste to argumentene være posisjoner" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" bredde=%d\n" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat og David MacKenzie" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "tabulatorstørrelse inneholder et ugyldig tegn" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "«--pages» ugyldig omrÃ¥de med sidenummer: «%s»" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "«--pages» ugyldig start-sidenummer: «%s»" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "«--pages» ugyldig slutt-sidenummer: «%s»" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "«--pages» start-sidenummeret er større enn slutt-sidenummeret" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "«--columns=SPALTER» ugyldig antall kolonner: «%s»" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "start-sidenummeret er større enn totalt antall sider: «%d»" #~ msgid "Page %d" #~ msgstr "Side %d" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T impliseres av -l nn nÃ¥r nn <= 10 eller <= 3 med -F. Dersom FIL ikke\n" #~ "er oppgitt, eller nÃ¥r FIL er -, leses det fra standard inn.\n" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: ugyldig mønster" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Dette programmet er fri programvare. Du kan redistribueret det og/eller\n" #~ "modifisere det under betingelsene gitt av GNU General Public License som\n" #~ "distribuert av Free Software Foundation; enten versjon 2, eller (om du " #~ "vil)\n" #~ "en hvilken som helst senere versjon.\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Dette programmet er distribuert i ønsket om at det vil være nyttig,\n" #~ "men UTEN NOEN GARANTI, til og med uten noen implisert garanti om\n" #~ "SALGBARHET eller EGNETHET TIL NOEN SPESIELL BRUK. Se GNU General\n" #~ "Public License for mer detaljer.\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Du skulle ha mottatt en kopi av GNU General Public License\n" #~ "sammen med dette programmet. Hvis ikke, skriv til Free Software " #~ "Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #~ msgid "sort size" #~ msgstr "sorteringsstørrelse" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -ANTALL samme som -l ANTALL\n" #~ " -b, --bytes=STØRRELSE skriv STØRRELSE bytes i hver utfil\n" #~ " -C, --line-bytes=STØRRELSE skriv maksimum STØRRELSE bytes med linjer " #~ "per\n" #~ " utfil\n" #~ " -l, --lines=ANTALL skriv ANTALL linjer i hver utfil\n" #~ " --verbose skriv en diagnostikk til standard error " #~ "rett\n" #~ " før hver utfil Ã¥pnes\n" #, fuzzy #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau og David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: lesefeil" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry fortsett Ã¥ prøv Ã¥ Ã¥pne en fil, selv om den\n" #~ " er utilgjengelig nÃ¥r tail starter eller hvis " #~ "den\n" #~ " blir utilgjengelig senere -- bare nyttig med -" #~ "f\n" #~ " -c, --bytes=N skriv ut de siste N oktettene\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Med --follow (-f), vil tail forvalgt følge fildeskriptoren, som betyr\n" #~ "at selv om den tail'ede filen skifter navn vil tail fortsatt følge den" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: ugyldig suffiks-tegn i avleggs flagg" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "for mange argumenter. NÃ¥r tails gamle flagg-syntaks brukes (%s)\n" #~ "kan det ikke være mer enn ett filargument. Bruk det tilsvarende -n " #~ "eller\n" #~ "-c-flagget isteden." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Advarsel: det er ikke portabelt Ã¥ bruke to eller flere filargumenter med\n" #~ "tails gamle falggsyntaks (%s). Bruk det tilsvarende -n eller -c-\n" #~ "flagget isteden." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: er sÃ¥ stor at den ikke kan representeres" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s er større enn den maksimale filstørrelsen pÃ¥ dette systemet" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: ugyldig maksimum antall etterfølgende endringer i størrelse" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman og David MacKenzie" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "creating %s" #~ msgstr "lager filen «%s»\n" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "for fÃ¥ argumenter" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Oversettelse skjer dersom -d ikke er gitt, og bÃ¥de SETT1 og SETT2 er " #~ "der.\n" #~ "-t kan bare bli brukt ved oversetting. SETT2 blir utvidet til lengden av\n" #~ "SETT1 ved Ã¥ repetere dets siste tegn som nødvendig. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Tegn til overs i \n" #~ "SETT2 ignoreres. Bare [:lower:] og [:upper:] er garantert Ã¥ ekspandere " #~ "i\n" #~ "stigende rekkefølge; brukt i SETT2 ved oversetting kan de bare brukes i " #~ "par\n" #~ "for Ã¥ angi oversetting fra store/smÃ¥ til smÃ¥/store bokstaver." #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ " \n" #~ "-s bruker SETT1 hvis det ikke er oversetting eller sletting; ellers " #~ "bruker \n" #~ "sammenklemming SETT2 og skjer etter oversetting eller sletting.\n" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ugyldig backslash-beskyttelse «\\%c»" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "minst en streng mÃ¥ være gitt ved sammenklemming av gjentagelser" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "ugyldig identidetsmapping; ved oversetting mÃ¥ evt. [:lower:]- eller\n" #~ "[:upper:]-konstruksjoner i streng1 være plassert i henhold til en\n" #~ "tilsvarende konstruksjon (henholdsvis [:upper:] eller [:lower:]) i\n" #~ "streng2" #~ msgid "only one argument may be specified" #~ msgstr "kun ett argument kan spesifiseres" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Fjern alle bortsett fra én identiske linjer fra INN\n" #~ "(eller standard inn), og skriv til UT (eller standard ut).\n" #~ "\n" # c-format #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "advarsel: «uniq %s» er avleggs; bruk «uniq -s %s» istedet" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length skriv ut lengden av den lengste linjen.\n" #~ " -w, --words skriv ut antall ord\n" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be " #~ "used.\n" #~ msgstr "" #~ "\n" #~ "Istedet for -t TALL eller -t LISTE kan -TALL eller -LISTE brukes.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan ha en multiplikator-endelse: b for 512, k for 1K, m for " #~ "1Meg.\n" #~ "Hvis -VERDI brukes som første FLAGG, leses det som -c VERDI hvis en av\n" #~ "multiplikatorene bkm er bakerst, ellers leses -n VERDI.\n" #, fuzzy #~ msgid "warning: `od -s' is obsolete; use `od --strings'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "warning: `od -w' is obsolete; use `od --width'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "warning: `pr -S' is obsolete; use `pr --sep-string'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " +POS1 [-POS2] start en nøkkel ved POS1, avslutt før POS2 " #~ "(fra 0)\n" #~ " Advarsel: dette flagget er avleggs\n" #, fuzzy #~ msgid "warning: `sort -y' is obsolete; omit `-y'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ "A first OPTION of -VALUE\n" #~ "is treated like -n VALUE unless VALUE has one of the [bkm] suffix\n" #~ "multipliers, in which case it is treated like -c VALUE.\n" #~ msgstr "" #~ "Et første FLAGG som -VERDI\n" #~ "behandles som -n VERDI med mindre VERDI har en av [bkm]-endingene,\n" #~ "isÃ¥fall behandles det som -v VERDI.\n" #~ msgid "" #~ "A first option of +VALUE is treated like -+VALUE, but this usage is " #~ "obsolete\n" #~ "and support for it will be withdrawn.\n" #~ "\n" #~ msgstr "" #~ "Et første flagg som +VERDI behandles som -+VERDI, men denne anvendelsen " #~ "er\n" #~ "avleggs og støtte for den vil bli trukket tilbake.\n" #~ msgid "warning: `tail %s' is obsolete; use -n or -c instead" #~ msgstr "advarsel: «tail %s» er avleggs; bruker -n eller -c istedet" # c-format #~ msgid "warning: `uniq %s' is obsolete; use `uniq -s %s' instead" #~ msgstr "advarsel: «uniq %s» er avleggs; bruk «uniq -s %s» istedet" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/zh_TW.gmo�������������������������������������������������������������������������0000664�0000000�0000000�00000152351�12107204520�012523� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����—�����Ô ��#��Œ������"�� ���"��G���'"��¡���o"��Ä���#��3��Ö#��E��� %��9���P%��t��Š%��7���ÿ&��¼���7'��F���ô'��ì���;(��,���()��5���U)��O��‹)����Û*�� ��k,��Ý���y-��Ò���W.��’���*/��°���½/��u���n0����ä0�����ú1��ƒ���Š2��ƒ���3��í���’3�� ��€4��z���‹5��þ���6��f��7��Æ���l8��ƒ���39��Ñ���·9����‰:��Ó���˜;��I���l<�� ��¶<��=��×=��C���?��?���Y?��š��™?��¨��4A��ú���ÝB����ØC��Ý���÷D�� ���ÕE����ãE�����ÿF�����G�����'G�� ���CG�����dG�����}G��/���G�����½G�����ÓG��>���ìG��B���+H�����nH�����H�����ŸH�����¯H��,���ÌH��8���ùH�����2I�����GI�����fI�����zI�����™I�����®I�����¿I�����ÔI�����ïI�����J�����J�����'J�����8J��'���IJ�����qJ�����ŒJ��$���ªJ�����ÏJ�����ßJ��;���õJ�����1K�����DK�����`K�����|K�����šK�����®K��"���ÅK�����èK�����ûK��)���L�����?L�����\L�����mL��1���ŒL�� ���¾L�����ßL�����òL����� M��"���&M�����IM�����XM��"���kM�� ���ŽM�� ���šM�����§M�����¹M��+���ÊM�����öM�����N�����N��)���.N�����XN�� ���jN�����uN�� ���{N�����…N��K���N��8���ÙN�����O��3���O�����OO��\���TO�����±O�� ���¸O��7���ÃO�����ûO�����P�����P����� P�� ���P�����P�����$P����'P��o���9Q�����©Q��2���­Q��1���àQ��*���R�����=R�����BR��$���GR�����lR�����qR��&���†R�� ���­R��0���ÎR��'���ÿR��T���'S��'���|S��š���¤S��&���?T��"���fT��T���‰T��†���ÞT��"���eU��~���ˆU��¤���V��=���¬V�����êV�� ���W��F���)W��'���pW��Z���˜W��`���óW��!���TX��'���vX�����žX�����£X�����¨X��¹���½X�� ���wY�����Y��;���˜Y��3���ÔY��/���Z��+���8Z��'���dZ��#���ŒZ�����°Z�����ÐZ�����ìZ��<���üZ�����9[�����?[�����E[�����G[��A���d[��2���¦[��1���Ù[�� ��� \�����\�����*\��#���1\�����U\�����q\�����‚\��*���“\�����¾\�����Ü\��"���ü\�����]��,���=]�� ���j]�����‹]�����«]��+���Ê]��#���ö]��,���^��0���G^��,���x^��#���¥^�����É^�����ä^�� ���ú^�����_�����7_�����U_�����s_��$���’_�����·_�����Ñ_�����á_�����þ_��(���`�����7`�����P`��.���e`��2���”`�����Ç`��0���â`��3���a��5���Ga�����}a�����–a�����µa�����Òa��%���ãa����� b�����b��&���7b��!���^b�����€b��&���b�����¶b�����Êb��'���Ûb�����c�����c�����1c�����Lc�����ec�����|c�� ���“c����� c�����³c�����Éc�����àc�����÷c�����d�� ���$d�����.d��"���?d�����bd�����sd�����„d��#���•d��!���¹d��'���Ûd�����e��#���"e��%���Fe�����le�����Œe�����¤e�����Áe�����Öe��.���Ûe����� f�����"f�����6f�����Ff�����cf�����f�����œf��=���¶f��@���ôf��:���5g�����pg�����‚g��;���™g�����Õg��*���ðg��-���h�����Ih�� ���bh�����ph�����h�����šh�����ªh�����»h�����Íh�����ëh��"���i�����&i�� ���Fi�����gi�����i�� ���”i�����¡i�����±i�����Ãi�����ái�� ���òi��/����j��-���0j��&���^j��)���…j�����¯j�����Äj�����Ûj�����õj��"���k��#���1k��%���Uk��7���{k��=���³k�����ñk�����l�����"l��-���:l�����hl�����xl�����ˆl��4���žl��&���Ól�� ���úl�����m����� m�����@m�����Vm��>���nm�� ���­m�� ���¸m�����Äm�� ���×m�� ���äm�� ���ðm�����úm�����n�����/n�����Cn��7���Xn�����n�����—n�����¦n�����µn�����În�� ���Þn�����ên�����o��J���!o�� ���lo�� ���zo�����‡o��*���œo�����Ço�����ão�����üo��8���p��H���Rp��?���›p��=���Ûp��>���q��3���Xq��(���Œq��f���µq��>���r��@���[r��<���œr�����Ùr��/���ñr�����!s�����9s��3���?s�����ss��2���‹s��=���¾s��,���üs��0���)t��3���Zt��7���Žt��t���Æt�� ���;u��3���Fu��j���zu��,���åu��*���v�� ���=v�� ���Iv�� ���Vv��7���dv�� ��œv�����=x��`���Vx��º���·x��ý���ry��I��pz��F���º{��U���|��¸��W|��P���~��¸���a~��J�����ð���e��0���V€��-���‡€��~��µ€��â��4‚��t��„��á���Œ…��é���n†��´���X‡��º��� ˆ��e���Ȉ��=��.‰��¬���lŠ��œ���‹��œ���¶‹��×���SŒ��õ���+��’���!Ž��ó���´Ž��=��¨��¼���æ��†���£‘��Ü���*’��:��“��ð���B”��I���3•��>��}•����¼–��:���×—��\���˜��…��o˜��'��õ™����œ��3��®����âž�����öŸ��N�� �����T¡�����e¡�����~¡�����˜¡�����³¡�� ���Ë¡��"���Õ¡��"���ø¡��$���¢��8���@¢��G���y¢�����Á¢�����Ü¢�����ô¢�����£��X���$£��A���}£�� ���¿£��-���à£�����¤�� ��� ¤�����A¤�����S¤�����k¤�����‡¤�����¥¤�����·¤�����ɤ�����á¤�����ù¤��5���¥��,���G¥��&���t¥��#���›¥�����¿¥�����Ò¥��A���í¥�����/¦�����D¦�����b¦�����w¦�����Œ¦�����¡¦��"���¹¦�����ܦ�� ���î¦�����§�����*§�����H§�� ���`§��0���§�����²§�����ͧ��*���ä§��.���¨��:���>¨�����y¨�����”¨��)���¬¨�����Ö¨�����è¨�����ú¨�����©��6���)©��!���`©�����‚©�����†©��;���Ÿ©��)���Û©�����ª�����ª�����ª�����"ª��\���)ª��:���†ª�����Áª��:���Ȫ�����«��Y��� «�����d«�� ���k«��D���x«�����½«�����Å«�����Ϋ�����Ö«�� ���Ü«�����æ«�����í«����ô«��—���­�����¬­��D���°­��9���õ­��*���/®�����Z®�����a®�����h®�����ˆ®�����®��(���¥®��%���ή��5���ô®��,���*¯��O���W¯��*���§¯��ü���Ò¯��)���ϰ��(���ù°��`���"±�����ƒ±��$���!²�����F²��¥���Ȳ��A���n³��!���°³��$���Ò³��K���÷³��*���C´��^���n´��q���Í´��'���?µ��*���gµ�����’µ�����šµ�����¡µ��§���·µ�� ���_¶�����i¶��:���‚¶��4���½¶��0���ò¶��,���#·��(���P·��$���y·�� ���ž·�����¿·�����Ü·��9���î·�����(¸�����.¸�����4¸�����8¸��0���S¸��7���„¸��7���¼¸�� ���ô¸�����¹�����¹��$���¹�����@¹�����Z¹�����j¹��6���y¹�����°¹�����͹�����å¹�����º��8���º��$���Rº��#���wº��"���›º��L���¾º��,��� »��/���8»��4���h»��-���»��#���Ë»�����ï»�����¼��;���¼��&���U¼�����|¼�����˜¼�����´¼��/���м������½�����½��!���)½�����K½��'���[½�����ƒ½�����™½��6���³½��8���ê½�����#¾��(���C¾��,���l¾��E���™¾�����ß¾�����ÿ¾�����¿�����;¿��(���K¿�����t¿�����‡¿��3���§¿��'���Û¿�����À��*���À�����=À�����ZÀ��!���kÀ�����À�����­À�����ÊÀ�����äÀ��'���ùÀ�����!Á�����4Á�����JÁ�����bÁ�����{Á�����“Á�����¦Á�����ÅÁ�����ÛÁ�� ���âÁ��'���ïÁ�����Â�����1Â�����KÂ��)���dÂ�����ŽÂ��&���¬Â�����ÓÂ��)���íÂ�����Ã�����1Ã�����KÃ�����cÃ�� ���zÃ�����†Ã��0���‹Ã�� ���¼Ã�����ÝÃ�����ñÃ�����Ä��!���!Ä�����CÄ�����YÄ��@���rÄ��;���³Ä��8���ïÄ�����(Å�����>Å��L���QÅ�����žÅ��,���¶Å��/���ãÅ�����Æ�����.Æ�����>Æ�����OÆ�����fÆ�����}Æ�����ŽÆ��'���ŸÆ�����ÇÆ��!���àÆ��!���Ç�����$Ç�����CÇ�����SÇ�����gÇ�����zÇ�����ŽÇ��!��� Ç�����ÂÇ�� ���ÒÇ��0���ßÇ��+���È��'���<È�����dÈ�����ƒÈ�����ŸÈ�����µÈ�����ÔÈ��'���íÈ��%���É��$���;É��>���`É��G���ŸÉ�����çÉ�����Ê�����$Ê��!���:Ê�����\Ê�����lÊ�����sÊ��0���„Ê��'���µÊ�����ÝÊ�����óÊ����� Ë�� ���+Ë�����8Ë��K���JË�����–Ë�����¬Ë�����ÂË�� ���ÕË�� ���âË�� ���ïË�����ùË�����Ì�����2Ì�����JÌ��B���`Ì�����£Ì�����ªÌ�� ���½Ì�����ÊÌ�� ���àÌ�����íÌ��$���Í�����'Í��E���@Í�� ���†Í�� ���“Í����� Í��*���¼Í��"���çÍ����� Î�����%Î��*���?Î��K���jÎ��=���¶Î��;���ôÎ��5���0Ï��*���fÏ��'���‘Ï��[���¹Ï��9���Ð��-���OÐ��%���}Ð��"���£Ð��1���ÆÐ�����øÐ�����Ñ��1���Ñ�����GÑ��,���]Ñ��P���ŠÑ��0���ÛÑ��+��� Ò��A���8Ò��2���zÒ��—���­Ò�����EÓ��4���XÓ��…���Ó��>���Ô��&���RÔ�����yÔ�����Ô�����¥Ô��3���µÔ�������� ���¤�������u�����\��a�������o���Ž�������¬���l��A���O�������ñ���.��� ������K�����������������������t��€��p��Ä���´�������7���|��Õ���Ð���s���V��Ö���8�����������@���»���š���‚���[��”��� ��"����������ß������_��ç���Ž���������6���i���E�����÷���?���6��ä���-���¼�����������¶���_���…��������,��h��H���º���R������k�������<���ö���‡���������Ó���;�����T��n���ý��������������W�������9��\�������d��™���X���Æ�������z����������æ���é�������<�����õ���-����������t�����„������Ô���.������ �������d�������Ç���@��n������ ��o��B���¡���“�����������á���F���¦���u��*�������ò�������¸���H����������ˆ���y��Ñ����������j�������·�������g��I��w���������������‹��e������ �����*��i����������­���U�������†��³�����������f���+��ù������¿�����������%���g���c�������2���ë�������œ���"���À��������������������â���������������0��D���T���Í�����������k��‘���V�������Ã���Q��J�������������b��/��������(�����®���;��������c��Š���z���r��…���î���ƒ���à���������������Z��^������Û���¨�����������½���Ù�������q��3�������è�������•���� �������Ê���`��!��µ���[�������Z���m���G��Œ��f������w��Q���L���h���Ì���ó�������1�����&���ª���–���’���Þ�������#��ø���I���j��r�������~���=��Ú���#���†�������L��Á���É������‰��ˆ��y���+���‚�����Ë���`���ü���:���2��������ì�����������S���²�������>��±�������7����������M��)��?������&��‡��}������N���5��l���F������1��M�������4���Ø���C��$��‘��U��������������� ����������©���×���–������0���¥���'������Y�����^�������������È�������P��8��€���9���S�� ��(����5���“������«���������Ÿ���}���£���þ���Ý�������s��¯���í���R������ô���˜��������������ÿ���¹��������������������Â������ê���„���p�����������C���—���Ü���§���Y���û�����������B��3������>������������������]��ž�����ð���Å�������~��q�������m����������ï���Ï�������°�������v������e������•�������/���'���D��:��ƒ��å���‰�������P�������O��b���$���Ò���Š��Œ���Î����������=���›���ú���’��x��x������ ��]���������� ��J��� �������������������N������)���‹���{�������������”������a��¾���������������!���G�������|���X��,���—��%������v���E��K��� ��{���4����������¢���ã�����A������W��� # users=%lu � A mere - implies -i. If no COMMAND, print the resulting environment. � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � Note that the -d and -t options accept different time-date formats. � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --version output version information and exit � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � (backup: %s)�% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%lu user�%lu users�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: %s is so large that it is not representable�%s: %s:%s: disorder: �%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot follow end of this type of file; giving up on this name�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to offset %s�%s: cannot shred append-only file descriptor�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: no properly formatted %s checksum lines found�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�, load average: %.2f�-R --dereference requires either -H or -L�-R -h requires -P�<internal>�Avail�Available�COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Compare sorted files FILE1 and FILE2 line by line. �EXIT�Echo the STRING(s) to standard output. -n do not output the trailing newline �FAILED�Filesystem�Force changed blocks to disk, update the super block. �IFree�IUse%�IUsed�Inodes�Mounted on�NAME�OK�Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Print CRC checksum and byte counts of each FILE. �Run COMMAND with root directory set to NEWROOT. �Set LC_ALL='C' to work around the problem.�Size�TIME�The strings compared were %s and %s.�Type�Unknown system error�Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [USERNAME] �Usage: %s [STRING]... or: %s OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�blocks�both files cannot be standard input�byte offset %s is too large�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot determine hostname�cannot fstat %s�cannot get current directory�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file names from %s�cannot read symbolic link %s�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set time stamps for %s�cannot skip past end of combined input�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�close failed�closing %s (fd=%d)�closing input file %s�closing output file %s�closing standard input�couldn't get boot time�creating directory %s�directory�division by zero�error in regular expression search�error reading %s�error writing %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to get attributes of %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�fdatasync failed for %s�field number %s is too large�field number is zero�fifo�file system type %s both selected and excluded�fork system call failed�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid field number: %s�invalid group�invalid group %s�invalid maximum depth %s�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid user�invalid user %s�invalid width: %s�invalid zero-length file name�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing list of fields�missing list of positions�missing operand after %s�mode of %s retained as %04lo (%s) �multiple -l or -t options specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no files remaining�no process ID specified�no type may be specified when dumping strings�number of bytes�number of lines�omitting directory %s�only one [c*] repeat construct may appear in string2�only one type of list may be specified�open failed�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�regular empty file�regular file�removed %s �semaphore�separator cannot be empty�setting permissions for %s�setting times of %s�shared memory object�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�target %s is not a directory�target directory not allowed when installing a directory�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�too many %% conversion specifications in suffix�too many repeated lines�total�unparsable value for LS_COLORS environment variable�unrecognized operand %s�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: invalid width %lu; using %d instead�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when translating with complemented character classes, string2 must map all characters in the domain to one�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�write error�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 5.3.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2005-07-02 04:13+0800 Last-Translator: Abel Cheung <abelcheung@gmail.com> Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw> Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=1; plural=0; � 登入用家數目=%lu � 僅用 - 已經等於 -i é¸é …。如果沒有指定 <指令>,則顯示所有環境變數。 � 有一個特別情æ³ï¼šå¦‚æžœåŒæ™‚指定 --force å’Œ --backup é¸é …,而且 <來æº> å’Œ <目的地> 是åŒä¸€å€‹å·²å­˜åœ¨çš„æ™®é€šæª”案的話,cp 會將 <來æº> 檔案備份。 � é è¨­çš„é¸é …為 -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是兩個用來 分辨æ¯é çš„æ¨™é ­ã€å…§å®¹å’Œè¨»è…³çš„字元;如果沒有指定第二個字元則表示是 :。 請輸入 \\ 表示 \ 字元。<æ–¹å¼> å¯ä»¥æ˜¯ä»¥ä¸‹å…¶ä¸­ä¸€å€‹ï¼š � 如果 <檔案> 是 -,會覆寫標準輸入的內容。 如果加上 --remove (-u) é¸é …表示移除 <檔案>。é è¨­çš„æ–¹å¼æ˜¯ä¸ç§»é™¤æª”案, å› ç‚ºè¦†å¯«åƒ /dev/hda 等的è£ç½®æª”案是很普éçš„ï¼Œè€Œé€™äº›æª”æ¡ˆé€šå¸¸ä¸æ‡‰ç§»é™¤ã€‚ 當覆寫普通檔案時,絕大多數人都應該使用 --remove é¸é …。 � 請注æ„,-d å’Œ -t é¸é …坿ޥå—ä¸åŒçš„æ™‚é–“/日期格å¼ã€‚ � è‹¥ <檔案> 是 - 則由標準輸入讀å–資料。æ¯ä¸€å€‹ <樣å¼> å¯ä»¥æ˜¯ï¼š � SET æ˜¯ä»¥å­—ä¸²æ–¹å¼æŒ‡å®šã€‚大部份字元都會直接處ç†ã€‚è¦è§£è­¯çš„åºåˆ—包括: \NNN 八進使•¸å­— NNN (1 至 3 個ä½)所代表的字元 \\ åæ–œè™Ÿ \a éŸ¿è² (BEL) \b 倒退字元 (backspace) \f æ›é å­—å…ƒ (form feed) \n æ›è¡Œå­—å…ƒ (new line) \r 復ä½å­—å…ƒ (return) \t 水平定ä½å­—å…ƒ (tab) � 如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀å–資料。 � ä¸åŠ é¸é …çš„è©±ï¼Œç¨‹å¼æœƒç”¢ç”Ÿä¸‰æ¬„內容。第一欄的內容åªåœ¨ <檔案1> 出ç¾ï¼Œ 第二欄的åªåœ¨ <檔案2> 出ç¾ï¼Œç¬¬ä¸‰æ¬„çš„å‰‡åŒæ™‚在兩個檔案內出ç¾ã€‚ � ä¸åŠ ä¸Šä»»ä½•é¸é …的話,顯示一些有用的身分識別資訊。 � ä»¥æ˜Žç¢ºæ–¹å¼ (é è¨­ç‚ºå…«é€²ä½æ•¸å­—) 表示 <檔案> 的內容。當指定多於一個 <檔案> 時, 會以指定的次åºå°‡æª”案內容åˆä½µã€‚如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準 輸入讀å–資料。 � --help 顯示此求助說明並離開 � --version 顯示版本資訊並離開 � -D 建立 <目的地> 的所有上層目錄,然後將 <來æº> 複製至 <目的地> -g, --group=群組 è‡ªè¡ŒæŒ‡å®šæ‰€å±¬ç¾¤çµ„ï¼Œè€Œä¸æ˜¯é€²ç¨‹ç›®å‰çš„æ‰€å±¬ç¾¤çµ„ -m, --mode=æ¨¡å¼ è‡ªè¡ŒæŒ‡å®šæ¬Šé™æ¨¡å¼ (åƒ chmod)ï¼Œè€Œä¸æ˜¯ rwxr-xr-x -o, --owner=æ“æœ‰è€… è‡ªè¡ŒæŒ‡å®šæ“æœ‰è€… (åªé©ç”¨æ–¼æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨è€…) � -D, --date-format=æ ¼å¼ ä½¿ç”¨ <æ ¼å¼> 顯示標頭的日期 -e[å­—å…ƒ[寬度]], --expand-tabs[=å­—å…ƒ[寬度]] 將輸入資料中的 <å­—å…ƒ> (é è¨­ç‚º TAB) 轉æ›ç‚ºæŒ‡å®š <寬度> çš„ 空格數目 (é è¨­ç‚º 8) -F, -f, --form-feed 使用 form feed è€Œä¸æ˜¯ newline å­—å…ƒä¾†åˆ†é  (使用此é¸é … æ™‚åªæœƒå°å‡ºä¸‰è¡Œæ¨™é ­ï¼Œå¦å‰‡æœƒå°å‡ºäº”行標頭å†åŠ è¨»è…³) � -a, --across å°å‡ºå…§å®¹æ™‚æœƒå…ˆæ©«è·¨æ‰€æœ‰æ¬„ä½ (æ©«å‘列å°),並éžå°å®Œä¸€æ¬„æ‰ è·³è‡³ç¬¬äºŒæ¬„ç¹¼çºŒåˆ—å°ï¼›æ­¤é¸é …需è¦é…åˆ -欄數 使用 -c, --show-control-chars 使用 ^ 符號 (^G) æˆ–åæ–œè™ŸåР八進使•¸å­—顯示無法列å°çš„å­—å…ƒ -d, --double-space éš”è¡Œé¡¯ç¤ºçµæžœ � -b, --before 將分隔字串加在å‰é¢è€Œä¸æ˜¯å¾Œé¢ -r, --regex 將分隔字串ç†è§£ç‚ºæ­£è¦è¡¨ç¤ºå¼ -s, --separator=字串 用 <字串> ä½œç‚ºåˆ†éš”å­—ä¸²ï¼Œè€Œä¸æ˜¯ newline å­—å…ƒ � -b, --body-numbering=æ–¹å¼ æ±ºå®šå°‡å…§å®¹åŠ ä¸Šè¡Œè™Ÿçš„ <æ–¹å¼> -d, --section-delimiter=CC 使用 CC 字元分辨標頭ã€å…§å®¹å’Œè¨»è…³ -f, --footer-numbering=æ–¹å¼ æ±ºå®šå°‡è¨»è…³åŠ ä¸Šè¡Œè™Ÿçš„ <æ–¹å¼> � -b, --bytes 計算ä½å…ƒçµ„總數而éžå­—å…ƒä½ç½® -s, --spaces åªåœ¨ç©ºæ ¼ä½ç½®æ–·é–‹ -w, --width=寬度 使用指定的 <寬度> ä½œç‚ºè¡Œå¯¬è€Œéž 80 � -b, --bytes=LIST åªé¡¯ç¤ºæŒ‡å®šçš„ä½å…ƒçµ„ -c, --characters=LIST åªé¡¯ç¤ºæŒ‡å®šçš„å­—å…ƒ -d, --delimiter=DELIM 以 DELIM 字元代替 TAB 作為欄ä½çš„分隔符號 � -c, --count æ¯è¡Œå‰åŠ ä¸Šå‡ºç¾æ¬¡æ•¸ -d, --repeated åªå°å‡ºé‡è¤‡çš„資料 � -c, --crown-margin ä¿ç•™æœ€åˆå…©è¡Œçš„ç¸®æŽ’æ–¹å¼ -p, --prefix=字串 åªè™•ç†å«æœ‰æŒ‡å®šå‰ç½® <字串> çš„æ¯ä¸€è¡Œï¼Œä¸¦å°‡è™•ç†å¥½ çš„çµæžœé‡æ–°åŠ ä¸Š <字串> -s, --split-only åªå°‡ä¸€è¡ŒéŽé•·çš„資料分開,而ä¸åˆä½µå¤šæ–¼ä¸€è¡Œçš„資料 � -d, --delimiters=列表 å覆使用 <列表> 中的字元代替 TAB -s, --serial æ¯æ¬¡åˆä½µä¸€å€‹æª”案中的æ¯ä¸€è¡Œï¼Œè€Œéžæ‰€æœ‰æª”案的æŸä¸€è¡Œ � -e èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\’ çš„ç‰¹æ®Šæ ¼å¼ -E ä¸èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\’ çš„ç‰¹æ®Šæ ¼å¼ (é è¨­ä½¿ç”¨) � -e èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\’ çš„ç‰¹æ®Šæ ¼å¼ (é è¨­ä½¿ç”¨) -E ä¸èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\’ çš„ç‰¹æ®Šæ ¼å¼ � -f, --fields=LIST åªé¡¯ç¤ºæŒ‡å®šçš„æ¬„ä½ï¼›åŒæ™‚也å°å‡ºä¸å«åˆ†éš”符號的 æ¯ä¸€è¡Œï¼Œé™¤éžé…åˆ -s é¸é …一起使用 -n (䏿œƒä½œä»»ä½•處ç†) � -f, --follow[={name|descriptor}] ç•¶æª”æ¡ˆä¸æ–·è®Šå¤§æ™‚顯示加上的資料; -fã€--follow åŠ --follow=descriptor 是相åŒçš„ -F 等於 --follow=name --retry � -i, --initial ä¸è½‰æ›éžç©ºç™½å­—元後的 TAB å­—å…ƒ -t, --tabs=數目 å°‡ tab 轉æ›ç‚ºæŒ‡å®š <數目> çš„ç©ºæ ¼è€Œä¸æ˜¯ 8 個 � -i, --inodes 顯示 inode 資訊而éžç©ºé–“ä½¿ç”¨é‡ -k å³ --block-size=1K -l, --local åªé¡¯ç¤ºæœ¬æ©Ÿçš„æª”案系統 --no-sync å–得使用é‡è³‡æ–™å‰ä¸é€²è¡Œ sync 動作 (é è¨­) � -l 使用較長格å¼åˆ—出資訊 -L, --dereference 當顯示符號éˆçµçš„æª”案資訊時,顯示符號éˆçµæ‰€æŒ‡ç¤º 的目標而並éžç¬¦è™Ÿéˆçµæœ¬èº«çš„資訊 -m 所有項目以逗號分隔,並填滿整行行寬 � -n, --digits=使•¸ ä½¿ç”¨æŒ‡å®šä½æ•¸çš„æ•¸å­—è€Œä¸æ˜¯ 2 å€‹ä½ -s, --quiet, --silent ä¸å°å‡ºè¼¸å‡ºæª”çš„å¤§å° -z, --elide-empty-files 移除空白的輸出檔 � -q, --quiet, --silent 絕ä¸é¡¯ç¤ºå«æœ‰æª”案å稱的標頭 -v, --verbose ä¸€å®šé¡¯ç¤ºå«æœ‰æª”案å稱的標頭 � -s, --only-delimited ä¸å°å‡ºä¸å«åˆ†éš”符號的æ¯ä¸€è¡Œ --output-delimiter=字串 以 <字串> 作為輸出資料的分隔符號 é è¨­æ˜¯ä½¿ç”¨è¼¸å…¥è³‡æ–™çš„分隔符號 � -s, --symbolic-link åªå»ºç«‹ç¬¦è™Ÿéˆçµè€Œä¸æ˜¯è¤‡è£½æª”案 -S, --suffix=後置字串 自行指定備份檔的 <後置字串> -t, --target-directory=目錄 將所有 <來æº> 檔案/目錄複製至指定的 <目錄> -T, --no-target-directory å°‡ <目的地> çœ‹ä½œæ™®é€šæª”æ¡ˆè™•ç† � -t 等於 -vT -T, --show-tabs å°‡ TAB 字元顯示為 ^I -u (æ­¤é¸é …ä¸ä½œè™•ç†) -v, --show-nonprinting 除了æ›è¡ŒåŠ TAB 字元外,使用 ^ åŠ M- 表示法顯示字元 � -t, --tabs=LIST 用以逗號分隔的數字來指定 tab çš„ä½ç½® � -u, --remove 覆寫後會截斷åŠç§»é™¤è©²æª”案 -v, --verbose 顯示進度 -x, --exact ä¸å°‡æª”案大å°å¢žåŠ è‡³æœ€æŽ¥è¿‘çš„å€æ®µå¤§å°ï¼›å¦‚æžœæª”æ¡ˆä¸æ˜¯æ™®é€šæª”案, é è¨­æœƒä½¿ç”¨é€™ç¨®æ¨¡å¼ -z, --zero 最後一次會使用 0 ä½å…ƒçµ„進行覆寫來隱è—覆寫動作 � -u, --update åªåœ¨ <來æº> 檔案比目的地檔案新, 或目的地檔案ä¸å­˜åœ¨æ™‚æ‰é€²è¡Œè¤‡è£½ -v, --verbose 詳細顯示進行的步驟 -x, --one-file-system 䏿œƒè·¨è¶Šæª”案系統進行æ“作 � -w, --check-chars=N æ¯è¡Œæ¯”較ä¸å¤šæ–¼ N 個字元 � -z, --zero-terminated 以ä½å…ƒçµ„ 0 è€Œéž newline 字元作為æ¯è¡Œçš„çµæŸå­—å…ƒ � [:graph:] 所有å¯åˆ—å°çš„字元,ä¸åŒ…括空格 [:lower:] 所有å°å¯«è‹±æ–‡å­—æ¯ [:print:] 所有å¯åˆ—å°çš„字元,包括空格 [:punct:] 所有標點符號 [:space:] 所有水平或垂直的空白字元 [:upper:] æ‰€æœ‰å¤§å¯«è‹±æ–‡å­—æ¯ [:xdigit:] 所有å六進使•¸å­— [=CHAR=] 所有和 CHAR åŒç­‰çš„å­—å…ƒ � \v 垂直定ä½å­—å…ƒ (vertical tab) å­—å…ƒ1-å­—å…ƒ2 ç”± <å­—å…ƒ1> é–‹å§‹å‡åºæŽ’列至 <å­—å…ƒ2> [å­—å…ƒ*] 在 SET2 裡é‡è¤‡åŠ ä¸Š <å­—å…ƒ>ï¼Œç›´è‡³ç¬¦åˆ SET1 的長度 [å­—å…ƒ*é‡è¤‡æ¬¡æ•¸] é‡è¤‡æŒ‡å®š <å­—å…ƒ>,如果 <é‡è¤‡æ¬¡æ•¸> 的第一個字元是 0 則表示 <é‡è¤‡æ¬¡æ•¸> æ˜¯å…«é€²ä½æ•¸å­— [:alnum:] æ‰€æœ‰è‹±æ–‡å­—åŠæ•¸å­— [:alpha:] 所有英文字 [:blank:] 所有水平的空白字元 [:cntrl:] 所有控制字元 [:digit:] 所有數字 � d[大å°] 有正負號的å進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„ f[大å°] 浮點數,æ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„ o[大å°] 八進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„ u[大å°] 無正負號的å進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„ x[大å°] å六進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„ � excl å¦‚æžœè¼¸å‡ºæª”å·²ç¶“å­˜åœ¨å‰‡ä½œç‚ºå¤±æ•—è™•ç† nocreat 輸出檔ä¸å­˜åœ¨çš„è©±ä¸æœƒå¯«å‡ºçµæžœ notrunc 䏿ˆªæ–·è¼¸å‡ºæª” noerror 讀å–資料發生錯誤後ä»ç„¶ç¹¼çºŒ fdatasync 真正將資料寫入ç£ç¢Ÿå¾Œæ‰çµæŸç¨‹å¼ fsync 類似 fdatasync,並寫入元資料 � none, off 䏿œƒé€²è¡Œå‚™ä»½ (å³ä½¿ä½¿ç”¨äº† --backup é¸é …ä¹Ÿä¸æœƒ) numbered, t 備份檔會加上數字 existing, nil 若有數字的備份檔已經存在則使用數字,å¦å‰‡ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½ simple, never æ°¸é ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½ � (備份:%s)�%% = 1%% 記憶體,b=1,K=1024 (é è¨­å€¼),還有 Mã€Gã€Tã€Pã€Eã€Zã€Y 如此類推。 如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。 *** 警告 *** 和語系有關的環境變數會影響排åºçµæžœã€‚ 如果è¦ä»¥ä½å…ƒçµ„數值作為排列次åºï¼Œè«‹è¨­å®šç’°å¢ƒè®Šæ•¸ LC_ALL=C。 �%lu 個使用者�%s -> %s (還原備份) �%s åŠ %s 為åŒä¸€æª”案�%så·²å­˜åœ¨ä½†ä¸æ˜¯ç›®éŒ„�%s的檔案類型ä¸è©³�%s éŽé•·�%s:%séŽå¤§ï¼Œå› æ­¤ç„¡æ³•表示�%s: %s:%s:次åºä¸æ­£ç¢ºï¼š�%sï¼šé–‹å•Ÿæˆ–è®€å–æ™‚發生錯誤 �%s:åªèƒ½æ–¼ç›®å‰çš„目錄中建立相å°ç¬¦è™Ÿéˆçµ�%sï¼šç„¡æ³•æª¢æŸ¥æ­¤é¡žæª”æ¡ˆçš„æœ«ç«¯ï¼›ä¸æœƒå†æª¢æŸ¥æ­¤æª”案å稱�%s:ä¸å¯ä»¥è¦†å¯«ç›®éŒ„�%s:無法å‘後æœå°‹�%s:無法æœå°‹�%s:無法æœå°‹è‡³ä½ç½® %s�%s:ä¸èƒ½å°‡åªå¯åŠ ä¸Šè³‡æ–™çš„æª”æ¡ˆæè¿°å­ (file descriptor) 進行 shred 動作�%s:等價字元種類中的é‹ç®—符必須是æ°å¥½ä¸€å€‹å­—å…ƒ�%s:截斷檔案時發生錯誤�%s:在 %s ä½ç½®å¯«å…¥è³‡æ–™æ™‚發生錯誤�%s:無法關閉�%s:無法開啟來寫入資料�%s:無法移除�%s:fcntl 發生錯誤�%s:fdatasync 發生錯誤�%s:檔案的大å°ç‚ºè² æ•¸�%s:檔案éŽå¤§�%s:檔案éŽå¤§�%s:檔案被截斷了�%s:fstat 發生錯誤�%s:fsync 發生錯誤�%s: ä¸å…許將實際éˆçµ (hard link) 連至目錄�%sï¼šå°‡è¼¸å…¥è³‡æ–™æŽ’åºæ™‚出ç¾è¿´åœˆï¼š�%s:輸出和輸入檔案是相åŒçš„�%s:分隔符號後應該是整數�%s:無效的 PID�%sï¼šæª”æ¡ˆé¡žåž‹ä¸æ­£ç¢º�%sï¼šé–‹å•Ÿæª”æ¡ˆå‰ stat 資料沒有改變的最大次數無效�%s:無效的號碼�%s:無效的ä½å…ƒçµ„數目�%s:無效的行數�%s:無效的秒數�%s:無效的樣å¼�%s:進程編號無效�%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s�%s:訊號無效�%s:無效的後置字串長度�%s:行號必須大於零�%s:行號超出範åœä»¥å¤–�%s:lseek 發生錯誤�%s:使用了多於一個訊號�%s:找ä¸åˆ°æ­£ç¢ºæ ¼å¼çš„ %s 總和檢查值�%s:ä½å…ƒçµ„數目éŽå¤§�%s:是å¦è¦†å¯« %s? �%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...�%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s�%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s/%6$s %7$d%%�%sï¼šè®€å–æ™‚發生錯誤�%s:是å¦ç§»é™¤%s%s? �%s:是å¦ç§»é™¤æœ‰é˜²å¯«ä¿è­·çš„%s%s? �%s:已經移除�%s:正在移除�%s:更改å稱為 %s�%s:是å¦ç½®æ› %s? �%s:%luï¼šè©²è¡Œå…§å®¹ç„¡æ•ˆï¼Œç¼ºå°‘äº†ç¬¬äºŒå€‹åƒæ•¸�%s:%lu:無法識別關éµå­— %s�’�, å¹³å‡è² è¼‰é‡: %.2f�åŒæ™‚使用 -R --dereference æ™‚é‚„éœ€è¦ -H 或 -L é¸é …�åŒæ™‚使用 -R -h æ™‚é‚„éœ€è¦ -P é¸é …�<內部資料>�å¯ç”¨�å¯ç”¨�備註�é€éŽèª¿ç”¨ link 函å¼ï¼Œå»ºç«‹é€£è‡³ <檔案1> çš„éˆçµï¼Œéˆçµå稱為 <檔案2>。 �é€éŽèª¿ç”¨ unlink 函å¼ä¾†ç§»é™¤æŒ‡å®šçš„ <檔案>。 �容é‡�é€è¡Œæ¯”較兩個已排åºçš„ <檔案1> åŠ <檔案2>。 �離開�在標準輸出顯示指定 <字串>。 -n ä¸åŠ ä¸Šæœ€å¾Œçš„æ›è¡Œå­—å…ƒ �錯誤�檔案系統�強迫將已更改的資料寫入ç£ç¢Ÿï¼Œä¸¦æ›´æ–° super block。 �Iå¯ç”¨�I已用%�I已用�Inode�掛載點�å稱�正確�輸出用來設定 LS_COLORS 環境變數的指令。 æŒ‡å®šè¼¸å‡ºçš„è¦æ ¼ï¼š -b, --sh, --bourne-shell 輸出設定 LS_COLORS çš„ Bourne shell 指令 -c, --csh, --c-shell 輸出設定 LS_COLORS çš„ C shell 指令 -p, --print-database 輸出é è¨­çš„色彩設定 �根據 <檔案> 的內容,顯示哪些人目然已經登入系統。如果沒有指定, é è¨­æœƒä½¿ç”¨ %s。使用 %s 作為檔案也很普é。 �PID�å°å‡ºæ¯å€‹ <檔案> çš„ CRC 總和檢查值åŠä½å…ƒçµ„總數。 �以新的目錄作為 <根目錄> 並執行 <指令>。 �請設定 LC_ALL='C' é¿å…å•題出ç¾ã€‚�容é‡�時間�è¦æ¯”較的字串為%såŠ%s。�類型�䏿˜Žçš„系統錯誤�用法:%s è¡¨ç¤ºå¼ æˆ–ï¼š%s é¸é … �用法:%s 檔案 或:%s é¸é … �用法:%s [æ ¼å¼] [åƒæ•¸]... 或:%s [é¸é …] �用法:%s [檔案]... 或:%s [é¸é …] �用法:%s [å稱] 或:%s é¸é … 顯示或指定系統的主機å稱。 �用法:%s [數字]... 或:%s é¸é … �用法:%s [é¸é …] [檔案] å°‡ <檔案> 中所有已進行部份排åºçš„é …ç›®è¯ç¹«èµ·ä¾†ï¼Œç”¢ç”Ÿæ–°çš„æŽ’列, è€Œè©²æŽ’åˆ—å«æœ‰ <檔案> 中的所有項目。如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。 �用法:%s [é¸é …]... 檔案 樣å¼... �用法:%s [é¸é …]... 檔案1 檔案2 �用法:%s [é¸é …]... 群組 檔案... 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案... �用法:%s [é¸é …]... 模å¼[,模å¼]... 檔案... 或:%s [é¸é …]... 八進使¨¡å¼ 檔案... 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案... �用法:%s [é¸é …]... SET1 [SET2] �用法:%s [é¸é …]... [-T] ä¾†æº ç›®çš„åœ° 或:%s [é¸é …]... 來æº... 目錄 或:%s [é¸é …]... -t 目錄 來æº... �用法:%s [é¸é …]... [-T] ä¾†æº ç›®çš„åœ° 或:%s [é¸é …]... 來æº... 目錄 或:%s [é¸é …]... -t 目錄 來æº... 或:%s [é¸é …]... -d 目錄... �用法:%s [é¸é …]... [-] [NAME=VALUE]... [指令 [åƒæ•¸]...] �用法:%s [é¸é …]... [檔案] �用法:%s [é¸é …]... [檔案]... �用法:%s [é¸é …]... [檔案]... 或:%s [é¸é …]... --files0-from=F �用法:%s [é¸é …]... [輸入 [輸出]] �用法:%s [é¸é …]... [輸入]... (沒有 -G) 或:%s -G [é¸é …]... [輸入 [輸出]] �用法:%s [é¸é …]... [æ“æœ‰è€…][:[群組]] 檔案... 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案... �用法:%s [é¸é …]... [用戶å稱] �用法:%s [字串]... 或:%s é¸é … �已用%�已用�æœ‰æ•ˆçš„åƒæ•¸ç‚ºï¼š�警告:發ç¾å¾ªç’°çš„目錄架構。 這幾乎å¯ä»¥è‚¯å®šæª”案系統已經æå£žã€‚ ** 請通知系統管ç†å“¡ã€‚** 以下的目錄是循環的一部份: %s �警告:�ç”± %s å’Œ %s 編寫。 �ç”± %s, %s, %s, %s, %s, %s, %s, %s å’Œ %s 等等編寫。 �ç”± %s, %s, %s, %s, %s, %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s, %s, %s, %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s, %s, %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s, %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s, %s å’Œ %s 編寫。 �ç”± %s, %s å’Œ %s 編寫。 �ç”± %s 編寫。 �é€²è¡Œç½®æ›æ™‚,[=c=] 表示å¼ä¸èƒ½åœ¨å­—串 2 出ç¾�^[nN]�^[yY]�‘�%2$sçš„åƒæ•¸%1$s䏿˜Žç¢º�åªæœ‰åœ¨è™•ç†æ¬„使™‚æ‰èƒ½æŒ‡å®šåˆ†éš”符號�å°‡ %s å‚™ä»½æœƒç ´å£žä¾†æºæª”,因此ä¸è¤‡è£½ %s。�å°‡ %s å‚™ä»½æœƒç ´å£žä¾†æºæª”,因此ä¸ç§»å‹• %s。�備份方å¼�å€å¡Šç‰¹æ®Šæª”案�倿®µ�兩個檔案ä¸èƒ½éƒ½æ˜¯æ¨™æº–輸入�ä½å…ƒçµ„ä½ç½® %s éŽå¤§�ç„¡æ³•å­˜å– %s�無法備份%s�ä¸èƒ½åªé¡¯ç¤ºç¸½ç”¨é‡ï¼ŒåŒæ™‚åˆé¡¯ç¤ºæ¯å€‹é …ç›®�無法更改 %s çš„æ“æœ‰æ¬Š�無法更改%s的權é™�無法以 %s 作為根目錄�無法進入 %s 目錄�ä¸å¯åŒæ™‚使用 ascii, ebcdic, ibm 中的任何二個�ä¸å¯åŒæ™‚使用 block å’Œ unblock�ä¸å¯åŒæ™‚使用 excl å’Œ nocreat�ä¸å¯åŒæ™‚使用 lcase å’Œ ucase�如果自行指定權é™ï¼Œä¸å¯åŒæ™‚é…åˆ --reference é¸é …一起使用�使用 -l 或 -t 時ä¸èƒ½åŒæ™‚指定訊號�無法將 U+%04X 轉æ›è‡³ä½¿ç”¨è€…的字元集�無法將 U+%04X 轉æ›è‡³ä½¿ç”¨è€…的字元集:%s�ä¸å¯ä»¥å°‡ç›®éŒ„ %s 複製æˆç‚ºè‡ªèº« (%s)�無法複製循環的符號éˆçµ%s�無法建立目錄%s�無法建立 FIFO %s�ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的實際éˆçµ (hard link) %1$s�無法建立連至 %2$s çš„éˆçµ %1$s�無法建立普通檔案 %s�無法建立特殊檔案 %s�無法建立符號éˆçµ %s�ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的符號éˆçµ %1$s�無法決定主機å稱�無法 fstat %s�無法讀å–ç›®å‰çš„目錄ä½ç½®�無法 lseek %s�ç„¡æ³•åŒæ™‚建立實際åŠç¬¦è™Ÿéˆçµ�無法建立目錄 %s�無法將 %s 移動至 %s�ä¸å¯ä»¥å°‡ç›®éŒ„ %s 複製至自身的å­ç›®éŒ„ (%s)�移動目錄時目的地ä¸å¯ä»¥ä¸æ˜¯ç›®éŒ„:%s -> %s�無法開啟 %s 來讀å–資料�ä¸å¯ä»¥å°‡ç›®éŒ„ %s 覆寫æˆéžç›®éŒ„�ä¸å¯ä»¥å°‡ç›®éŒ„ %2$s 覆寫éžç›®éŒ„ %1$s�在é è¨­çš„輸出格å¼ä¸­ä¸å¯èƒ½åªé¡¯ç¤ºå稱或者真正的 ID�無法讀å–目錄 %s 的內容�無法從 %s è®€å–æª”案å稱�無法讀å–符號éˆçµ %s�無法移除 %s�無法將 %s çš„æª”æ¡ˆæŒ‡æ¨™é‡æ–°å®šä½�無法設定時間�無法設定 %s 的檔案時間�無法移至åˆä½µå¾Œçš„輸入資料的末端之後�ä¸èƒ½ç”¨è¶…éŽä¸€ç¨®æ–¹å¼é€²è¡Œåˆ†å‰²�無法 stat %s�無法 stat ç›®å‰çš„目錄 (ç¾åœ¨æ˜¯ %s)�無法將 %s 的備份還原�無法 unlink %s�無法é¿é–‹ç³»çµ±æ ¸å¿ƒçš„錯誤�正在更改 %s 的所屬群組�正在更改 %s çš„æ“æœ‰è€…�正在更改 %s 的權é™�å­—å…ƒå移值是 0�å­—å…ƒå€¼è¶…å‡ºå¯æŽ¥å—的範åœä»¥å¤–�字元特殊檔案�關閉時發生錯誤�正在關閉 %s (fd=%d)�正在關閉輸入檔 %s�正在關閉輸出檔%s�關閉標準輸入�無法讀å–系統啟動時間�正在建立目錄 %s�目錄�被 0 整除�在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤�è®€å– %s 時發生錯誤�寫入 %s 時發生錯誤�出ç¾å¤šé¤˜çš„åƒæ•¸ %s�無法將 %s 的所屬群組更改為 %s �無法更改 %s çš„æ“æœ‰è€… �無法將 %s çš„æ“æœ‰è€…更改為 %s �無法å–å¾— %s 的屬性�無法ä¿ç•™%sçš„æ“æœ‰è€…åŠæ‰€å±¬ç¾¤çµ„�無法ä¿ç•™ %s 的權é™�無法ä¿ç•™ %s 的時間�%s çš„ fdatasync 失敗�æ¬„ä½æ•¸ç›® %s éŽå¤§�æ¬„ä½æ˜¯ 0�fifo�ä¸èƒ½åŒæ™‚鏿“‡å’ŒæŽ’除檔案系統類型 %s�調用 fork() 系統函å¼å¤±æ•—�%s çš„ fsync 失敗�fts_read 失敗�正在檢查 %s 的最新屬性�%s的所屬群組已ä¿ç•™ç‚º %s �iconv 功能ä¸å­˜åœ¨�iconv 功能無法使用�忽略無效的環境變數 TABSIZE çš„ tab 字元定ä½å€¼ï¼š%s�忽略無效的環境變數 QUOTING_STYLE 的變數值:%s�忽略無效的環境變數 COLUMNS 的寬度數值:%s�輸入資料消失了�輸入內容éŽé•·�無法進行跨è£ç½®çš„移動 (%s至%s);無法移除目標檔案或目錄�%2$sçš„åƒæ•¸%1$s無效�後置字串的字串轉æ›å­—符無效:%c�後置字串的字串轉æ›å­—符無效:\%.3o�無效的欄ä½ç·¨è™Ÿï¼š%s�無效的群組�群組 %s 無效�最大深度 %s 無效�æ¬Šé™æ¨¡å¼ %s 無效�權é™ç„¡æ•ˆ: %s�數字 %s 無效�欄ä½è¦æ ¼é–‹å§‹éƒ¨ä»½çš„æ•¸å­—無效�無效的ä½å…ƒçµ„數目�è¦æ¯”較的ä½å…ƒçµ„數目無效�è¦ç•¥éŽçš„ä½å…ƒçµ„數目無效�è¦ç•¥éŽçš„æ¬„使•¸ç›®ç„¡æ•ˆ�無效的行數�é¸é …無效 ─ %c�無效的使用者�使用者 %s 無效�寬度無效:%s�檔案å稱無效 (長度為零)�記憶體耗盡�訊æ¯ä½‡åˆ—�[:upper:]ã€[:lower:]çµæ§‹çš„ä½ç½®æ²’有å°é½Š�後置字串缺少了 %% 字串轉æ›è¦æ ¼�後置字串缺少了字串轉æ›å­—符�%s 後缺少了目的地檔案�ç¼ºå°‘äº†æª”æ¡ˆä½œç‚ºåƒæ•¸�ç¼ºå°‘äº†æ¬„ä½æ•¸å€¼�缺少了表示ä½ç½®çš„æ•¸å€¼�%s 後é¢ç¼ºå°‘äº†åƒæ•¸�%s çš„æ¬Šé™æ¨¡å¼ä¿ç•™ç‚º %04lo (%s) �-l 或 -t é¸é …使用了多於一次�指定了多於一個目的地目錄�符號éˆçµ %s 和該éˆçµæ‰€æŒ‡ç¤ºçš„å°è±¡éƒ½æ²’有更改 �沒有設定 SHELL 環境變數,也沒有指定 shell 類型的é¸é …�沒有更改 %s çš„æ“æœ‰è€… �已沒有任何剩餘的檔案�未指定進程編號�傾å°å­—串時ä¸èƒ½æŒ‡å®šé¡žåž‹�ä½å…ƒçµ„數目�行數�ç•¥éŽ %s 目錄�é‡è¤‡çµæ§‹ [c*] åªèƒ½åœ¨å­—串 2 出ç¾ä¸€æ¬¡�指定ä½ç½®æ™‚åªèƒ½ä½¿ç”¨ä¸€ç¨®æ ¼å¼�開啟時發生錯誤�ä¿ç•™ %s çš„æ“æœ‰è€… �%s çš„æ“æœ‰è€…å·²ä¿ç•™ç‚º %s �é é¢å¤ªçª„�ä¿ç•™%s的時間�顯示æ¯è¡Œé‡è¤‡çš„資籵åˆè¨ˆç®—該行的é‡è¤‡æ¬¡æ•¸æ˜¯æ²’有æ„義的�è®€å–æ™‚發生錯誤�讀入時發生錯誤�普通空白檔案�普通檔案�已移除%s �semaphore�分隔字串ä¸å¯ä»¥æ˜¯ç©ºçš„�正在更改 %s 的權é™�正在設定%s的時間�共用記憶體物件�ç•¥éŽæª”案 %s,因為準備複製時它已被其它檔案å–代�socket�標準錯誤輸出�標準輸出�已關閉標準輸入�標準輸出�stat 時發生錯誤�欄ä½è¦æ ¼å‡ºç¾ä¸åˆæ³•的字元�字串比較出ç¾éŒ¯èª¤�åªæœ‰åœ¨è™•ç†æ¬„使™‚æ‰å¯ä»¥åŽ»é™¤æ²’æœ‰åˆ†éš”ç¬¦è™Ÿçš„æ¯ä¸€è¡Œ�符號連çµ�æ ¼å¼éŒ¯èª¤�tab 字元寬度ä¸å¯ç‚º 0�tab å­—å…ƒå¯¬åº¦å«æœ‰ç„¡æ•ˆçš„字元:%s�tab å­—å…ƒä½ç½®å¿…須由å°è‡³å¤§�tab 字元寬度 %s éŽé•·�目的地 %s 䏿˜¯ç›®éŒ„�建立目錄時ä¸èƒ½æŒ‡å®šç›®çš„地目錄�當驗證總和檢查值時,é¸é … --binary åŠ --text 是沒有æ„義的�é¸é … --status åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義�é¸é … --warn åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義�[c*] çµæ§‹åªæœ‰åœ¨ç½®æ›æ™‚æ–¹å¯åœ¨å­—串 2 出ç¾�é‡è¤‡çµæ§‹ [c*] ä¸èƒ½åœ¨å­—串 1 出ç¾�分隔符號必須是æ°å¥½ä¸€å€‹å­—å…ƒ�顯示 dircolors 內部資料庫的é¸é …å’Œé¸æ“‡ shell 語法的é¸é … 是互相抵觸的�å°å‡ºæ—¥æœŸå’Œè¨­å®šæ—¥æœŸçš„é¸é …ä¸å¯ä»¥åŒæ™‚使用�å°å‡ºæ—¥æœŸæ‰€ç”¨çš„é¸é …是互相矛盾的�建立目錄時ä¸èƒ½ç”¨ strip é¸é …�時間 %s è¶…å‡ºå¯æŽ¥å—的範åœ�å¾Œç½®å­—ä¸²å«æœ‰éŽå¤šçš„ %% 字串轉æ›è¦æ ¼�é‡è¤‡çš„行數éŽå¤š�總計�LS_COLORS 環境變數中存在無法分æžçš„值�ç„¡æ³•è­˜åˆ¥åƒæ•¸ %s�è­¦å‘Šï¼šæ­¤ç³»çµ±ä¸æ”¯æ´ --pid=PID é¸é …�警告:會忽略 PIDï¼›--pid=PID é¸é …åªåœ¨ä¸æ–·æª¢æŸ¥æª”æ¡ˆæ™‚æ‰æœƒæœ‰æ•ˆ�警告:寬度 %lu 是無效的;以 %d 代替�è­¦å‘Šï¼šæŒ‡å®šäº†ä¾†æºæª” %s 多於一次�警告:顯示總用é‡çš„é¸é …å’Œ --max-depth=%lu 互相抵觸�警告:顯示總用é‡ç­‰æ–¼ä½¿ç”¨ --max-depth=0�警告:暫時é¿å…有關檔案 (%s) çš„ lseek 核心錯誤,檔案的 mt_type=0x%0lx ─ 有關 mt_type 類型的清單請åƒè€ƒ <sys/mtio.h>�䏿­£å¸¸çš„æª”案�è‹¥ä¸æˆªæ–·(消除) set1,字串 2 ä¸èƒ½æ˜¯ç©ºçš„�å–字元種類的餘集(complement)ä½œç½®æ›æ™‚,åªèƒ½å°‡æ‰€æœ‰å­—元映射 至一個字元,å³å­—串 2 åªå¯å«æœ‰ä¸€å€‹å­—å…ƒ�䏿œƒå»ºç«‹é€£è‡³ç›®éŒ„ %2$s 的實際éˆçµ (hard link) %1$s�䏿œƒä»¥ %2$s 覆寫剛建立的 %1$s�寫入時發生錯誤�寫入時發生錯誤�正在寫入 %s�必須指定一系列的ä½å…ƒçµ„ã€å­—元或欄ä½����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/uk.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001537066�12107204520�012122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������LŠ�����MŠ��¬���OŠ��¡���üŠ��6��ž‹��ø���ÕŒ��¾���Î��¿���Ž��Â���M��ª�����G��»��ù���’��º���ý’��p���¸“��!��)”��¼���K•��©��–��w��²—��5��*™��R��`š��~���³›�� ���2œ��\���@œ��w���œ��T�����G���j��]���²��ï���ž��w����Ÿ��¡���xŸ��#�� ����>¡��š���C¢��Ä���Þ¢��D��££��7��è¥��z��� §����›§�����¨��Þ���+©��i��� ª��J���tª��·��¿ª��›���w¬�����­��¸���•­��ˆ���N®��È���×®��„��� ¯��M��%°��à���s±��›���T²��š��ð²��—���‹´��Ó���#µ��`���÷µ��‚���X¶�����Û¶����Ü·��>���ñ¸��3��0¹��|���dº��Ý���áº��K��¿»��=��� ½��l���I½��0���¶½��D���ç½����,¾��ž��F¿��K��åÀ��Ê���1Â��–���üÂ��-��“Ã��Ê���ÁÅ��ç���ŒÆ��J���tÇ��ð���¿Ç����°È��‡���ÁÉ��¾���IÊ��á���Ë��E���êË��>���0Ì��Ë���oÌ��Œ���;Í��ü���ÈÍ��æ���ÅÎ��¿���¬Ï����lÐ��9���~Ñ�����¸Ñ�����ÏÑ��t��äÑ��¼���YÓ��ó���Ô��š��� Õ��¾���¥Õ��F��dÖ��Ì���«×��°���xØ��Ü���)Ù����Ú��Ð��Û�� ��ëÜ����� Þ���� ß��Ð�� à��y���ñá��þ��kâ�����jä��1��zä��Ë���¬ç��‰���xè����é��H��� ê��7���iê��¼���¡ê��F���^ë��ì���¥ë��v���’ì�� ��� í��¡��í��¾��·î��Ð��vð��u���Gò��F��½ò��q���õ��[��võ��:���Òö��æ��� ÷��J���ô÷��1��?ø��S��qù��u���Åú��N���;û��S��Šû��u���Þü��ë���Tý��›���@þ��†���Üþ��,���cÿ��“��ÿ��ƒ���$�º���¨���c����{����û�ß���Œ�è��l�C��U�\��™�‹���ö �Õ��‚ �i���X �A��� �x����v���}�Ø��ô�š���Í���h�Â���~�I���A�·���‹�›���C�z���ß�3���Z�û��Ž�g��Š�G���ò�J���:�p���…�5���ö�s���,��� �3��¿���ó�I���×���\�ò���4 �É���'!�Ê���ñ!�ð���¼"�–��­#�Ô���D%�"��&�Ó���<'�¬���(�¤���½(�i���b)�õ���Ì)�˜���Â*���[+�Z���l,�ù���Ç,����Á-�.��O.�Å��~/�ž���D1�G��ã1�È���+3�M��ô3�5���B5�4���x5�‰���­5�Â��76�F���ú7�Ò���A8�Ö���9�µ��ë9�©��¡<�O��K>�í��›?���‰A� ��C�£��&D�y��ÊE� ��DG�o���eH�n���ÕH�\��DI�'��¡J� ��ÉL�B���ÖM�F���N���`N�Ë��{O���GQ�9��fR��� S���ÀT�¢���QV�Ö���ôV�¡��ËW�Ê���mY�E���8Z�J���~Z�Ò���ÉZ� ��œ[���ª\�º��¹]�×���t_�&��L`�¹��sa�¿���-c���íc�Ý���óf�+���Ñg�N���ýg�Ò���Lh�’���i�°���²i�Ë���cj�»���/k�¡��ëk�›���m�…��)n�È���¯o�B���xp���»p�u���Ðq���Fr�1���\s�±��Žs�ò���@u�G���3v����{v�Ë��� w�ƒ���×w�ƒ���[x�k��ßx�‚��K{�¢��Î|�4��q~���¦���¸€�´��Ë�í���€ƒ� ��n„�ª��y…���$‡�Ó���*ˆ�<���þˆ�‘���;‰�Ò���͉�º�� Š�ª��[Œ�K���Ž���RŽ�ü���W�Ä���T�z���‘�þ���”‘�µ���“’�ô��I“�Ï���>•����–�f��ž–�5��˜�ˆ���;™�1���Ä™�û��ö™�H���ò›�;��;œ�B���w�Æ���º�!��ž�È���£ �ý���l¡�q��j¢�Y��Ü£�ü���6¥�L���3¦�×���€¦�T��X§�#��­¨�Ç���Ñ©�÷��™ª�Þ���‘¬�³��p­�ƒ���$¯�Ñ���¨¯�V��z°�i���ѱ�Í���;²�Ä��� ³�Ñ���γ�ë��� ´�K��Œµ���ض�D��ç·����,¹�Ó���º¹�Ä��Žº�I���S¼���¼���»½�H���I¿�3���’¿�O��Æ¿�c��Â� ��zÃ�=��›Ä���ÙÅ�ê��ôÆ�*��ßÈ�’��� Ê�F���Ê�C���äÊ�X��(Ë�>���Ì�?���ÀÌ� ���Í�«��� Î�9���·Î�S���ñÎ�š��EÏ�m���àÐ�û���NÑ�ä���JÒ�¨��/Ó�I��ØÔ�§���"×�$���Ê×�(���ï×�<���Ø�ú���UØ�$���PÙ�%���uÙ�*���›Ù���ÆÙ�:���åÚ�}��� Û�|���žÛ�"��Ü�&���>Þ� ���eÞ�9���†Þ�#���ÀÞ�$���äÞ�!��� ß�E���+ß�Ý���qß�:���Oà�}���Šà�:���á�,���Cá�"���pá� ���“á� ���žá�ç���¬á�,��”â�X��Áã�;���å�|��Vå���Óæ�Ô���çç�Ü���¼è�þ���™é� ���˜ê����£ê� ���¨ê����´ê����½ê����Æê����Îê����×ê����Ýê���ðê�&��� ì� ���3ì� ���=ì����Iì����\ì����oì����„ì����¢ì� ���¾ì�+���ßì���� í����$í�?���?í�D���í�0���Äí����õí�)���î����8î�0���Lî�"���}î���� î�'���°î� ���Øî����æî�!���ûî����ï�"���=ï����`ï����}ï�/���ƒï� ���³ï����Ôï����ìï�#���ð����&ð����?ð�>���\ð�"���›ð����¾ð�%���Ýð�B���ñ�*���Fñ����qñ����ñ����¢ñ�)���²ñ����Üñ�%���ùñ�,���ò����Lò�#���\ò�"���€ò�$���£ò����Èò�/���èò����ó�8���(ó����aó����vó����•ó����²ó����Æó����åó����ô� ���ô����:ô����Kô����`ô����{ô����˜ô����«ô����½ô����Ðô����áô�'���òô����õ�*���5õ����`õ�$���~õ����£õ����½õ����Íõ� ���æõ����ö�"���ö����@ö����Vö�;���lö����¨ö����»ö����×ö����ôö����÷����-÷����K÷����h÷����„÷����˜÷�"���¯÷����Ò÷�,���å÷����ø�)���,ø����Vø����sø����„ø�"���£ø�1���Æø�'���øø���� ù�(���1ù� ���Zù�,���{ù�,���¨ù�,���Õù�'���ú�-���*ú� ���Xú�(���yú�(���¢ú����Ëú����Þú����÷ú�"���û����5û����Dû�&���Wû����~û�"���™û� ���¼û� ���Èû����Õû����çû����øû����ü�5���$ü�0���Zü�.���‹ü����ºü����Öü����öü�"���ý����9ý����Iý�+���Zý�%���†ý����¬ý�)���Ìý����öý� ���øý����þ�<���þ�1���Yþ�,���‹þ�0���¸þ�,���éþ�#���ÿ�0���:ÿ����kÿ�l���oÿ�;��Üÿ����� ���.����<�6���W�5���Ž�+���Ä�(���ð�*����-���D�"���r�)���•����¿����Ñ����è����ÿ� �������!����&����,�,���4�8���a�)���š� ���Ä����Ð����â����ü� ��� ����� �������(����8� ���O� ���Y� ���e�k��o����Û����ã�K���û�8���G����€�k���‰�h���õ����^�‚���ï� ���r� ���}� ���Š�3���–�Š��Ê� ���U � ���b �w���l �w���ä �9���\ �g��– �½���þ �Ò���¼ �1����9���Á�0���û����,����;� ���K�=���X�(���–�ã���¿� ���£�$���¯�F���Ô�����U��+��������Š�<���\���Ì� ���)�+���4�+���`�0���Œ� ���½����Ç����Î�Ï���Ý�1���­����ß�I���ø� ���B�¬���M����ú�@����£��T�7���ø�?���0����p����‚����‘� ���˜����¥����ª����°����¶����¼����Í�:���Ò�…�� ����“�¦���§����N���]�×��a����9 � ���B ����M ����a � ���h ����r ����Š ����¡ ����¾ ����Ú �$���ò ����!����)!����D!� ���S!� ���_!� ���k!����x!� ���‰!����•!����§!����¸!����¿!����Ä!����Ê!����Z"� ���`"�1���m"� ���Ÿ"����­"����¾"����Ø"����é"� ���ø"� ���#� ���#� ���#����*#����/#����4#� ���N#�#���[#����#����ˆ#�*���§#����Ò#�E���Õ#����$����/$�M���@$���Ž$�—��� %�®���8&�…���ç&�H���m'�o���¶'�…���&(����¬(����°(����À(� ���Õ(�,���ã(�&���)� ���7)� ���C)� ���N)����[)� ���b)�#���p)�H���”)�2���Ý)�g���*�i��x*�ª���â+�š���,�;���(-����d-���‚-�9���œ/�*���Ö/�A���0�¸���C0�†���ü0�º���ƒ1�;���>2�¹���z2�%���43����Z3�†���Ú3�N���a4�T���°4� ��5�7���7����H7����g7� ���7� ���‰7����–7� ���›7����§7�N���»7�€��� 8����‹8�Ÿ���¦8�º���F9�7���:�@���9:����z:�D���‘:����Ö:����ç:� ���ü:���� ;����;����/;����>;� ���M;�Ý���[;�1���9<�'���k<�J���“<�u���Þ<� ���T=� ���b=� ���p=����}=�,���=�&���½=�*���ä=�;���>����K>�c���S>� ��·>����Ã?����Ó?�5���Ø?� ���@�<���@����W@����_@����p@����„@� ���™@����¥@�@���­@� ���î@����û@�$����A� ���%A�Ñ���0A�$���B����'B����9B����OB�â��bB�&���ED�%���lD�C���’D�+���ÖD����E����E� ���E����$E����6E����KE����]E����oE� ���E�#��ŽE����²F� ���ÇF�,���ÒF�j���ÿF�&���jG� ���‘G�'���²G�0���ÚG�4��� H�~��@H����¿I����ÜI����ùI�–���J�)���¯J�Y���ÙJ�'���3K�T���[K�'���°K�(���ØK����L�X���L�@���nL����¯L�?���ËL�&��� M�š���2M����ÍM����äM�#���‚N�&���¦N����ÍN�"���ìN�T���O�g���dO�†���ÌO�.���SP����‚P�"���¡P�+���ÄP�Y���ðP�~���JQ�¤���ÉQ�ä���nR�=���SS����‘S�^���¯S�b���T� ���qT�¢���’T�F���5U�}���|U�'���úU�'���"V�Z���JV�"���¥V�`���ÈV�!���)W�!���KW�$���mW� ���’W�¦���³W�M���ZX�>���¨X�'���çX�<���Y�T���LY����¡Y����¦Y����«Y����ÁY����×Y����ìY�ï���Z����òZ�¹���[�D���Â[�H���\�G���P\� ���˜\����¢\����§\����­\�´��¼\�W���q^�B���É^�k��� _�s���x_�¬���ì_�>���™`����Ø`�;���ï`�3���+a�/���_a�+���a�'���»a�#���ãa����b����'b����Cb�<���Sb����b����¤b����ªb����°b����Çb�*���Éb����ôb���� c����&c�A���Cc����…c�2���œc�1���Ïc� ���d���� d�!��� d����Bd�#���Id����md�0���‰d����ºd����Ôd����åd�*���öd����!e����?e�"���_e����‚e���� e�E���¿e�;���f� ���Af�,���bf� ���f�!���°f����Òf����òf�+���g�#���=g�#���ag�,���…g�0���²g�,���ãg�#���h����4h����Oh� ���eh����†h����¢h����µh����Óh����ñh�$���i�"���5i����Xi�'���ni����–i�5���°i�'���æi����j�!���$j����Fj����fj�1���j����±j����Áj����Þj����÷j����k����$k����8k����Lk����ck����}k�(���k����¶k����Ïk�.���äk�2���l����Fl����al����|l�%���•l�0���»l�3���ìl���� m�F���@m�B���‡m�+���Êm�5���öm�1���,n� ���^n����jn����ƒn�*���¢n����Ín����èn�)���o����/o����@o�%���\o�!���‚o� ���¤o� ���²o����Ào����Ðo�8���ëo����$p����:p����Np����lp�&���†p�'���­p�<���Õp�:���q�.���Mq�!���|q����žq�&���­q����Ôq����ïq����ÿq����r����$r����4r�#���Dr�'���hr�"���r�&���³r����Úr����ïr����s� ���#s����Ds����]s����ts�%���‹s����±s� ���Ís� ���Ús����çs����ús����t����%t����8t����Ot����ct����vt�,���t�+���ºt�-���æt�)���u�!���>u����`u����u����“u�8���ªu����ãu����úu����v����%v�3���7v� ���kv����uv� ���†v����’v����§v� ���·v����Áv�#���Ôv�"���øv� ���w����<w����[w����lw����ˆw����œw����¶w����Çw����ßw����åw����÷w�%���x����.x����Bx�$���\x�+���x�#���­x�:���Ñx�!��� y�/���.y�'���^y����†y����œy����·y����Êy����åy�+���z�*���1z�%���\z����‚z�#��� z�$���Äz����éz�%���ÿz�!���%{�'���G{�%���o{����•{����µ{����É{����Û{����ú{�(���|�,���A|� ���n|�$���|����´|����Í|����ß|����ý|�*���}�$���F}�#���k}�%���}����µ}�!���Õ}�&���÷}����~����2~�(���P~� ���y~�3���š~�-���Î~����ü~�����!���4�1���V�'���ˆ����°�1���Ð����€����€����4€����N€����h€�#���‚€�1���¦€�.���Ø€������������/�(���O����x� �������ž����»�(���Ð����ù����þ�3���‚�;���Q‚�.���‚����¼‚����Ô‚����é‚�$���ƒ�$���,ƒ�D���Qƒ����–ƒ����ªƒ����»ƒ����˃����߃����øƒ����„�%���1„�%���W„����}„����š„����´„�-���¸„����æ„����ý„�)��� …�/���6…�=���f…�@���¤…�:���å…���� †�!���>†����`†�,���r†����Ÿ†����»†����͆�A���ä†�;���&‡����b‡����}‡�!���–‡����¸‡����·����â‡� ���ý‡�!���ˆ�%���@ˆ�(���fˆ����ˆ����ªˆ����¾ˆ�*���ш�-���üˆ����*‰����:‰����Q‰����j‰����‰����–‰����¯‰����ˉ����ä‰�%���ü‰�1���"Š�#���TŠ�"���xŠ�"���›Š�1���¾Š����ðŠ� ���‹����‹����%‹����;‹�"���M‹����p‹� ���Š‹����˜‹����«‹����‹����Õ‹����ñ‹����Œ�#���"Œ�!���FŒ�!���hŒ����ŠŒ����¡Œ����ÀŒ����ÙŒ� ���øŒ������������&����8����Q����j����ƒ�!���¡����Ã�"���Û����þ����Ž� ���<Ž����]Ž����uŽ����ŠŽ�]���ŸŽ�G���ýŽ����E����Y����t����Š�!��� �*���Â� ���í� ���ú�����/���/�$���_�"���„����§����Å�2���Ú�;��� ‘����I‘����b‘����‘����‘�R���´‘�L���’����T’�(���l’� ���•’����¢’����²’����Ä’����Ú’�,���ø’�9���%“�*���_“�,���Š“�/���·“����ç“�*���í“�G���”�0���`”�:���‘”�#���Ì”�'���ð”�8���•����Q•�@���f•�/���§•����ו�7���è•�8��� –� ���Y–����g–�/���ƒ–�-���³–� ���á–�0���í–����—����8—�#���O—�&���s—�)���š—�*���Ä—����ï—�$���˜����)˜����@˜����Z˜����j˜�+���ƒ˜�1���¯˜�"���á˜� ���™����%™����7™����N™�#���l™�$���™����µ™����Ó™����è™�!���š�!���*š�%���Lš����rš�%���š����§š����¶š�7���Åš�=���ýš����;›����Y›����n›����›����§›����º›� ���Ë›����Ù›�-���ñ›�C���œ����cœ�(���xœ� ���¡œ�'���«œ����Óœ�"���íœ�������� �?���0�,���p�%�������Ã�4���Ù� ���ž�&���/ž� ���Vž�1���bž�2���”ž�#���Çž�/���ëž�$���Ÿ�(���@Ÿ����iŸ�8���ˆŸ�G���ÁŸ�9���  �#���C ����g �"���† �$���© ����Π����è ����¡����¡����3¡����Q¡�>���i¡�B���¨¡� ���ë¡� ���ö¡����¢����¢����(¢����E¢� ���X¢�7���e¢� ���¢����©¢����À¢� ���×¢� ���á¢����ë¢�)���£����/£����D£����_£����s£�$���ˆ£�-���­£�7���Û£����¤����¤����0¤����?¤����N¤����g¤� ���w¤����ƒ¤����Ф����¤����—¤����µ¤����Τ�#���ë¤�J���¥� ���Z¥� ���h¥� ���u¥����¥�*���–¥����Á¥����Ý¥����ö¥����¦����)¦�8���F¦����¦� ���…¦�H���“¦�U���ܦ�>���2§�?���q§�?���±§�8���ñ§�=���*¨�>���h¨�3���§¨����Û¨�(���l©�!���•©�N���·©�f���ª�>���mª�@���¬ª�#���íª�<���«�*���N«����y«����™«�(���±«����Ú«�/���õ«����%¬����@¬����X¬����k¬����q¬����†¬����š¬����¡¬�*���Á¬�!���ì¬�7���­����F­�"���^­����­����­�3���¤­�\���Ø­����5®����M®����e®�.���u®����¤®�0���º®����ë®�C���¯����F¯�%���c¯�B���‰¯�:���̯����°����°����5°� ���G°�H���Q°�+���š°�J���ư�2���±�8���D±�=���}±�@���»±�#���ü±���� ²�$���;²�=���`²�4���ž²�.���Ó²�,���³�<���/³����l³�0���³�3���²³�7���æ³�c���´����‚´����˜´�"���¯´�t���Ò´� ���Gµ�3���Rµ�>���†µ�5���ŵ�j���ûµ�h���f¶�_���϶�0���/·�,���`·�*���·�3���¸·�(���ì·�&���¸�(���<¸� ���e¸����q¸� ���„¸� ���‘¸�/���Ÿ¸�7���ϸ�&���¹� ���.¹���O¹����c»�á���e»�ë���G¼�Æ��3½�$��ú¾�;��À�?��[Á�=��›Â�>��ÙÃ�«��Å�u��ÄÇ���:É�¥���YÊ�„��ÿÊ�1��„Ì�ó��¶Í�Â��ªÐ�<��mÒ�ê��ªÔ� ��•×�)��� Ø�»���ÊØ�í���†Ù�Á���tÚ�“���6Û�Þ���ÊÛ���©Ü�b��­Þ����à�±��žà�9��Pã�ì���Šå�˜��wæ�á��è�D��òì�œ���7ï�®��Ôï�é���ƒñ�y��mò�¶���çó�_���žô�À��þô� ��¿ö�‘���Ì÷�Ê���^ø���)ù� ��8ú�°���Dû�¼��õû�#��²ý���Öÿ�<��ï��]��,�C��Š�Ä���Î�Î���“�E��b�R��¨ �^���û ���Z � ��`�^��j���É�l���â� ��O�j���Z�f���Å�K��,�o��x�Ô��è�ž��½�Þ���\�N��; �¸��Š$�`��C&�¯���¤'�?��T(�í��”)�õ���‚+�Q��x,�G��Ê-�u���/�w���ˆ/�Ä���0�y��Å1�…��?3�Ÿ��Å4�û��e6�Ê��a8�š���,:�F���Ç:�M���;�»��\;�P��>�þ���i?���h@�V��pA���ÇB�Ÿ��ÙD�$��yF�s��žG�Ò��I�Û��åJ���ÁM�å��_P�Ö��ER�t��T�Ì���‘W�‘��^X�$���ð\�~��]�á��”c�)��ve�L�� f�°���íh�ª���ži�U��Ij�„���Ÿk�$��$l�¿���Im� ��� n�Ø��n�Ù��îp�Š��Ès�â���Sv�Y��6w�—���z�´��({�{���Ý}�d��Y~�x���¾�/��7€�0��g‚�Ä���˜„�‹���]…�`��é…�ê���Jˆ�|��5‰�Ö���²Š�Ô���‰‹�F���^Œ�D��¥Œ�E��êŽ�g��0�¡��˜‘�Ì���:“�¿���”�G��Ç”�c��–���s™�;��œ�Õ���=ž�¶��Ÿ�«���ʤ����v¥�Ñ���ö¥�·���Ȧ���€§�¤��˜©�A��=«�+��¬�Ä���«­���p®�D��Œ¯�¿���Ѱ�\���‘±�Å��î±���´´�€���4·�¬���µ·�¾���b¸�\���!¹�º���~¹�B��9º�b��|»�z��ß½�8��ZÀ�þ���“Â�,��’Ã�°��¿Ä�è���pÆ�ú���YÇ�¯��TÈ�š��Ê�ù��ŸË�^��™Í�3��øÎ���,Ð�¦���AÑ�‘��èÑ�P��zÓ�J��ËÔ����×�È��–×�ø���_Ù�:��XÚ�)��“Ü�ï���½ß���­à���³â�w��Ïã�Y���Gæ�_���¡æ�ç���ç���éç�v���íê�õ��dë�_��Zí���ºî���Òò�!��Øõ�è��ú÷�0��ãú���þ�¦��–ÿ���=�ä��M�«���2�ü���Þ�>��Û�o�� �¬��Š �`���7�`���˜�‡��ù�†������ÿ��ˆ�Ó��ˆ�O��\�%��¬���Ò� ��ï�u��ù �q���o"�~���á"�s��`#�$��Ô$�Ð��ù&�î��Ê(�Â��¹+�O��|-�‰��Ì/���V2�$��Ø3�B��ý7�I���@9�º���Š9�Ý��E:� ��#<�{��1=� ��­>�<��»?�’��ø@�ì���‹C�F��xD�v��¿F�]���6H�ç��”H�Ï���|J�¡��LK�@���îL�k��/M���›O�ƒ���+Q�Í���¯Q�R��}R�Ä���ÐS�Ä���•T� ��ZU�¨��fY�ý��\�{�� ^�Ì��‰`�¿��Vb�—��d�a��®g�8��i�­��Ij�ƒ��÷l�V��{n�W���Òo���*p���-q�D��Mr� ��’u�™��� x���:y�Š��Øz�9��c|�Ý���}���{~���‘€�Ú��"‚�/��ý…�ý���-‡�â��+ˆ�È��Š�ô���׋�Q���ÌŒ�‡���n���¦�,��‘�r���B“�*��µ“�X��à”�;��9˜�j��u™�é��àš�{��Êœ�~��FŸ����Å �y��U¡�z��Ï¢�à��J¤�I��+¦�'��u§�˜��ª�e��6¬�Ì���œ®���i¯�þ��n°�Ñ���m²�1��?³���q´�”��€µ�q��·�÷��‡¸�·��º�í��7¼�å���%¾�„�� ¿�æ��À�Œ���wÃ�¯��Ä�)��´Å�±���ÞÇ�X���È�X��éÈ�¹��BÌ�À��üÎ�Ð��½Ð���ŽÒ�=��®Ô�½��ì×�]��ªÙ�…���Û�X���ŽÛ�#��çÛ�}��� Þ�Ž���‰Þ�Á��ß���Úà�Q���ñá�‹���Câ�Y��Ïâ�Ã���)å�¥��íå�¨��“ç�È��<é�H��ì�Ð���Nð�d���ñ�v���„ñ�y���ûñ�*��uò�^��� ô�A���ÿô�p���Aõ�â��²õ�V���•÷�¢���ì÷�¢���ø�š��2ù�Q���Íý�9���þ�V���Yþ�S���°þ�X���ÿ�[���]ÿ�º���¹ÿ�ò��t��w���g�¢���ß�w���‚�G���ú�d���B����§�"���°�t��Ó�*��H���s�Z���Œ �‹��ç �ð��s �z��d�¼��ß�Ø��œ� ���u����€����’����§����°����¹� ���Á� ���Î����Ù���ô�N��� � ���Y� ���c�P���o�2���À�"���ó�-����3���D�0���x�L���©����ö�"����t���8�’���­�b���@�.���£�Q���Ò�)���$�F���N�H���•����Þ�y���ù� ���s�&���”�x���»�#���4�N���X�?���§����ç�p���í�J���^�8���©�4���â�U����C���m�<���±�Š���î�H���y �B��� �X���!�›���^!�m���ú!�?���h"�.���¨"�D���×"�t���#�=���‘#�X���Ï#�}���($�,���¦$�w���Ó$�A���K%�^���%�/���ì%�V���&����s&�}���&�.��� '�4���<'�8���q'�&���ª'�M���Ñ'�>���(�(���^(�G���‡(�B���Ï(�D���)�2���W)�,���Š)�&���·)�&���Þ)����*�B���%*�@���h*�n���©*�0���+�U���I+�8���Ÿ+�N���Ø+�V���',� ���~,�8���Ÿ,�F���Ø,�-���-�?���M-�4���-�.���Â-����ñ-�)���.�6���©.�@���à.�:���!/�>���\/�2���›/�?���Î/�7���0�+���F0�F���r0�B���¹0�)���ü0�a���&1�8���ˆ1�G���Á1�F��� 2�B���P2�2���“2�5���Æ2�m���ü2�Z���j3�7���Å3�E���ý3�1���C4�i���u4�X���ß4�i���85�L���¢5�j���ï5�>���Z6�M���™6�N���ç6����67� ���T7�"���u7�*���˜7�!���Ã7����å7�E���8�0���H8�C���y8����½8����Ò8�(���ê8����9�9���-9�F���g9�r���®9�f���!:�G���ˆ:�8���Ð:�1��� ;�1���;;�A���m;����¯;�:���Ï;�Y��� <�P���d<�=���µ<�J���ó<����>=����A=�-���Z=�^���ˆ=�]���ç=�Y���E>�_���Ÿ>�_���ÿ>�3���_?�_���“?����ó?�×���ö?�‡��Î@�3���VC����ŠC�9���™C�P���ÓC�O���$D�P���tD����ÅD�O���GE�X���—E�K���ðE�^���<F�D���›F����àF����ýF����G����7G����NG����SG����YG�A���lG�>���®G�Z���íG����HH�&���dH�5���‹H����ÁH� ���ÐH����ÝH����æH�4���÷H�0���,I� ���]I����gI�5���ƒI�]��¹I����L�\���(L�Ž���…L�a���M� ���vM�Ø���ƒM�Ò���\N� ��/O�ð���=P� ���.Q�;���9Q� ���uQ�[���Q�Z��ÝQ����8T����NT�;��aT���U�a���µV�ã��W���ûY�“��[�V���«\�@���]�Z���C]����ž]����­]� ���½]�`���Ê]�?���+^�¦��k^����`�K���#`�…���o`����õ`�|��a����‚c� ���¢c�(��­c�±���Öe� ���ˆf�|���“f�:���g�G���Kg����“g����¤g����³g�o��Ëg�q���;i�D���­i�~���òi����qj�‚��„j�>���l�•���Fl�Ô��Ül�[���±o�K��� p����Yp����kp����zp�2���p����Ãp� ���Øp����ãp� ���ëp����öp����q�†���q�¯��£q�'���St�5��{t�"���±u���Ôu� ��Tz����`}����{}�%���–}����¼}����Ì}�(���ã}�:��� ~�9���G~�:���~�*���¼~�K���ç~�8���3�8���l����¥� ���´� ���À� ���Ì����Ù� ���ê����ö����€� ���€� ���$€����/€���8€�!���;�%���]�~���ƒ� ���‚����‚�/���!‚�"���Q‚����t‚� ���ƒ‚� ���‘‚� ���ž‚����ª‚� ���Æ‚� ���Ñ‚�-���Ü‚� ��� ƒ�V���ƒ����nƒ�G���†ƒ�E���΃� ���„�‰���!„�3���«„����ß„�Ÿ���þ„�‡��ž…���&ˆ�®��B‰�ý���ñŠ����ï‹�ÿ���Œ�Ü�������jŽ�'���nŽ�,���–Ž� ���ÃŽ�l���ÑŽ�M���>� ���Œ� ���˜� ���£� ���°����»�G���Û����#�q���´�Õ���&‘�H��ü‘�Ê��E”�K��–�f���\—�5���×�é��ù—�l���ã›�V���Pœ����§œ���)�ð���Hž�h��9Ÿ�^���¢ �m��¡�E���o¢�ê���µ¢��� £�±���£¤�¼���U¥�7��¦����J©�(���Ê©�(���ó©����ª� ���+ª� ���8ª� ���Cª�+���Oª�¼���{ª�ß���8«�3���¬�&��L¬�Ñ���s­�ƒ���E®�ˆ���É®�D���R¯�m���—¯����°�"���#°����F°����d°����x°����‰°����˜°� ���§°�¢��µ°�Z���X²�s���³²�‹���'³�é���³³� ���´� ���«´� ���¹´�%���Æ´�Y���ì´�;���Fµ�J���‚µ�œ���͵����j¶�Ò���}¶� ��P·����]¹����m¹����v¹�-���º�ª���Bº����íº����þº�1���»�3���P»� ���„»����»�€���¡»����"¼����B¼�@���I¼����м�Ð��¼�<���n¾����«¾�3���½¾�9���ñ¾�é��+¿�d���Â�E���zÂ�m���ÀÂ�V���.Ã����…Ã����ŒÃ����›Ã�"���»Ã�0���ÞÃ����Ä����(Ä����AÄ����ZÄ�L��lÄ�@���¹Æ����úÆ�`���Ç�Õ���yÇ�F���OÈ�D���–È�O���ÛÈ�^���+É�]���ŠÉ�M��èÉ�@���6Ì�=���wÌ�7���µÌ���íÌ�Q���ðÍ�”���BÎ�I���×Î�š���!Ï�K���¼Ï�O���Ð�(���XÐ�±���Ð�’���3Ñ�6���ÆÑ����ýÑ�E���‹Ò�Z��ÑÒ�+���,Ô���XÔ�=���^Õ�D���œÕ�7���áÕ�?���Ö����YÖ�Ã���ÛÖ�Ü���Ÿ×�g���|Ø�9���äØ�E���Ù�I���dÙ����®Ù�Ó���<Ú���Û�Œ��'Ü�m���´Ý�6���"Þ�˜���YÞ���òÞ�9���ôß�ä���.à�m���á�!��á�C���£â�\���çâ�ƒ���Dã�C���Èã���� ä�:���ªä�B���åä�E���(å�E���nå�!��´å�±���Öæ�ƒ���ˆç�K��� è����Xè�y���èè����bé����jé�<���qé�<���®é�&���ëé�%���ê�_��8ê�<���˜ì�S��Õì�j���)î�n���”î�‡���ï����‹ï����¦ï����¯ï����´ï�?��Êï�¨��� ó�}���³ó�é���1ô�ó���õ�I��ö�w���Y÷�(���Ñ÷�M���ú÷�B���Hø�?���‹ø�;���Ëø�7���ù�3���?ù�0���sù�,���¤ù� ���Ñù�t���òù�5���gú����ú����£ú����©ú����Èú�R���Ëú�)���û�+���Hû�8���tû�}���­û�-���+ü�s���Yü�s���Íü�$���Aý�*���fý�L���‘ý� ���Þý�z���ëý�6���fþ�~���þ�@���ÿ�9���]ÿ�J���—ÿ�t���âÿ�6���W��D���Ž��L���Ó��9��� �M���Z�u���¨�m����W���Œ�n���ä�T���S�S���¨�S���ü�R���P�b���£�B����I���I�W���“�[���ë�Y���G�b���¡�6����2���;�Q���n�B���À�/����C���3�G���w�M���¿�U��� �H���c �T���¬ �L��� �>���N �…��� �A��� ����U �J���r �R���½ �@��� �k���Q �4���½ �6���ò �=���) �=���g �A���¥ �?���ç �?���'�@���g�6���¨�4���ß�q����6���†�3���½�]���ñ�r���O�=���Â�;�����6���<�g���s�l���Û�l���H�H���µ�{���þ�u���z�^���ð�n���O�p���¾�&���/�8���V�D����e���Ô�b���:�O����X���í�'���F�7���n�R���¦�d���ù�)���^�+���ˆ�1���´�_���æ����F�9���Æ�T�����F���U�k���œ�`����B���i�d���¬�u����H���‡�Q���Ð�3���"�f���V�r���½�4���0�J���e�:���°�'���ë�G����s���[�8���Ï�+��� �1���4 ����f ����† �,���¥ �7���Ò �*��� !�*���5!�0���`!�N���‘!�2���à!����"����'"����G"�$���c"�/���ˆ"�.���¸"�+���ç"�0���#�6���D#�E���{#�j���Á#�U���,$�`���‚$�_���ã$�=���C%�B���%�&���Ä%�)���ë%�X���&�]���n&�$���Ì&�&���ñ&�#���'�}���<'����º'����É'����æ'�<���ú'�$���7(�!���\(�1���~(�c���°(�?���)�S���T)�G���¨)� ���ð)�K���*�R���]*�E���°*����ö*����+� ���4+� ���@+����a+�I���€+�9���Ê+�N���,�>���S,�?���’,�0���Ò,�O���-�7���S-�E���‹-�?���Ñ-�2���.�/���D.�%���t.�G���š.�J���â.�R���-/�N���€/�H���Ï/�I���0�O���b0�R���²0�/���1�J���51�O���€1�U���Ð1�H���&2�D���o2�)���´2�#���Þ2�7���3�N���:3�|���‰3�X���4�M���_4�K���­4�*���ù4�'���$5�L���L5�=���™5�W���×5�4���/6�8���d6�H���6�B���æ6�_���)7�F���‰7�'���Ð7�<���ø7�…���58�K���»8�u���9�h���}9�`���æ9�6���G:�A���~:�c���À:�O���$;�F���t;�u���»;�N���1<�Q���€<�E���Ò<�G���=�U���`=�F���¶=�«���ý=�S���©>�Z���ý>�7���X?�1���?�R���Â?�L���@�?���b@�0���¢@�$���Ó@�8���ø@����1A�%���6A�f���\A�v���ÃA�R���:B�J���B�.���ØB�9���C�B���AC�G���„C�p���ÌC�H���=D����†D�/���ŸD����ÏD�2���ëD�3���E�'���RE�J���zE�7���ÅE�)���ýE�>���'F����fF�N���jF�4���¹F�4���îF�#���#G�V���GG����žG�t���H�p���“H�J���I�8���OI�%���ˆI�y���®I�)���(J�(���RJ�3���{J�’���¯J�œ���BK�5���ßK�/���L�:���EL�*���€L�,���«L�6���ØL�C���M�F���SM�L���šM�@���çM�1���(N�-���ZN�1���ˆN�`���ºN�c���O�"���O�1���¢O�>���ÔO�/���P�3���CP�0���wP�<���¨P�6���åP�0���Q�W���MQ�b���¥Q�N���R�b���WR�N���ºR�[��� S�:���eS�!��� S�$���ÂS�/���çS�%���T�M���=T�@���‹T�,���ÌT�0���ùT�=���*U�-���hU�7���–U�9���ÎU�)���V�O���2V�C���‚V�I���ÆV�4���W�D���EW�A���ŠW�J���ÌW�#���X�&���;X�'���bX�&���ŠX�0���±X�0���âX�0���Y�>���DY�K���ƒY�2���ÏY�Q���Z�S���TZ�:���¨Z�U���ãZ�6���9[�'���p[�)���˜[�½���Â[�–���€\�4���]�A���L]�;���Ž]�+���Ê]�W���ö]�l���N^�/���»^�I���ë^�6���5_�l���l_�D���Ù_�O���`�H���n`�<���·`�n���ô`�j���ca�5���Îa�1���b�B���6b�/���yb�›���©b�”���Ec�:���Úc�M���d�-���cd�0���‘d�+���Âd�<���îd�L���+e�?���xe�^���¸e�]���f�S���uf�o���Éf����9g�I���Og�{���™g�R���h�q���hh�B���Úh�K���i�X���ii�0���Âi����ói�Z���ƒj� ���Þj�u���ÿj�w���uk�!���ík�6���l�E���Fl�K���Œl����Øl�m���ïl�3���]m�/���‘m�<���Ám�X���þm�^���Wn�N���¶n�?���o�c���Eo�*���©o�.���Ôo�!���p�1���%p�f���Wp�;���¾p�>���úp�G���9q�4���q�0���¶q�-���çq�7���r�A���Mr�6���r�#���Ær�>���êr�?���)s�=���is�M���§s����õs�C���t����Ut�'���ot�†���—t�}���u�(���œu�"���Åu�?���èu�<���(v�$���ev�*���Šv�1���µv�?���çv�H���'w����pw�.���x�@���0x����qx�r���zx�(���íx�g���y����~y����’y�‹���ªy�{���6z�G���²z�"���úz�l���{�<���Š{�?���Ç{�K���|�Ÿ���S|�v���ó|�@���j}�]���«}�Y��� ~�]���c~�+���Á~�m���í~�|���[�n���Ø�L���G€�F���”€�X���Û€�w���4�5���¬�-���â�6���‚�(���G‚�6���p‚�6���§‚�w���Þ‚�I���Vƒ���� ƒ����¾ƒ�"���܃�$���ÿƒ�1���$„�,���V„����ƒ„����Ÿ„����=…�$���R…�'���w…����Ÿ…����¿…�<���Î…�J��� †�-���V†�:���„†�A���¿†�*���‡�@���,‡�j���m‡�t���؇� ���Mˆ�*���Xˆ�#���ƒˆ����§ˆ�0���Lj�!���øˆ�=���‰����X‰����_‰����e‰�:���l‰�0���§‰�4���؉�8��� Š�›���FŠ�'���âŠ�%��� ‹�'���0‹�M���X‹�c���¦‹�N��� Œ�<���YŒ�9���–Œ�T���ÐŒ�5���%�s���[����Ï����á�r���ô�Š���gŽ�a���òŽ�b���T�b���·�d����`����ƒ���à�_���d‘� ��Ä‘�H���Ð’�–���“�¢���°“�Õ���S”�”���)•�_���¾•�7���–�^���V–�P���µ–�+���—�<���2—�…���o—�;���õ—�T���1˜�6���†˜�C���½˜�(���™����*™�-���9™�0���g™����˜™�P���Ÿ™�S���ð™�K���Dš�L���š�6���Ýš�8���›����M›�H���k›�Q���´›�Ü���œ�-���ãœ�.���� ���@�H���L����•�}���¬�Q���*ž�£���|ž�O��� Ÿ�U���pŸ�•���ÆŸ�{���\ ����Ø �7���õ ����-¡����H¡����c¡�W���å¡�y���=¢�^���·¢�}���£�~���”£�ž���¤�f���²¤�B���¥�u���\¥����Ò¥�l���T¦�m���Á¦�e���/§�t���•§�%��� ¨�h���0¨�c���™¨�h���ý¨�¿���f©�&���&ª�'���Mª�c���uª�¬���Ùª����†«�†���œ«�n���#¬�i���’¬�ô���ü¬�Ì���ñ­�Œ���¾®�w���K¯�Z���ï�C���°�U���b°�_���¸°�@���±�9���Y±����“±�%���¯±�0���Õ±����²�C���²�S���[²�:���¯²�F���ê²����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����1³����9³�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��äˆ��‰��‰��0‰��D‰��X‰��l‰��€‰��¤‰��ȉ��ì‰��Š��Š��8Š��A³��������������� �����������������ÿÿÿÿa³��������1���ÿÿÿÿ“³��������/���ÿÿÿÿó����������ÿÿÿÿó³�7����������ÿÿÿÿ=´�����������ÿÿÿÿm´�����������ÿÿÿÿ‡´�����������ÿÿÿÿ±´��������(���ÿÿÿÿÞ´� �������Q���ÿÿÿÿ9µ� �������R���ÿÿÿÿ•µ� �������V���ÿÿÿÿõµ������������������ÿÿÿÿ!¶�����������ÿÿÿÿ(¶� ���������������ÿÿÿÿR¶����������ÿÿÿÿs¶���������������$��������������"���ÿÿÿÿ¾¶��������!�������!�������$���ÿÿÿÿ%·��������(�������*����������ÿÿÿÿ£·�+������0���ÿÿÿÿþ·�e�������#���ÿÿÿÿ†¸�+�������0���ÿÿÿÿá¸��������&���ÿÿÿÿ ¹�>����������ÿÿÿÿX¹��������Z���ÿÿÿÿ·¹��������Z�������^�������E���ÿÿÿÿϺ�B�������]�������]����������ÿÿÿÿê»�1�������c�������c�������4���ÿÿÿÿ½�2�������J����������ÿÿÿÿ’½�����������ÿÿÿÿ¥½�������������4���ÿÿÿÿú½�.���������ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-11 22:58+0200 Last-Translator: Yuri Chornoivan <yurchor@ukr.net> Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net> Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Lokalize 1.5 � � ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ð±Ð»Ð¾ÐºÑ–Ð² та байт може ÑтоÑти один з ÑуфікÑів-множників: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 тощо Ð´Ð»Ñ G, T, P, E, Z, Y. � ТИП може ÑкладатиÑÑŒ з одного або більше наÑтупних опиÑів: a іменований знак c ASCII-знак або керівна поÑлідовніÑть з '\' � Традиційні Ñпецифікації формату можна змішувати, вони акумулюютьÑÑ: -a Ñинонім -t a, іменовані знаки -b Ñинонім -t o1, віÑімкові байти -c Ñинонім -t c, ASCII-знаки або керівні поÑлідовноÑті з '\' -d Ñинонім -t u2, беззнакові деÑÑткові двобайтові одиниці � ( ВИРÐЗ ) ВИРÐЗ Ñ–Ñтинний ! ВИРÐЗ ВИРÐЗ хибний ВИРÐЗ1 -a ВИРÐЗ2 ВИРÐЗ1 та ВИРÐЗ2 обидва Ñ–Ñтинні ВИРÐЗ1 -o ВИРÐЗ2 ВИРÐЗ1 або ВИРÐЗ2 Ñ–Ñтинний � --check-order перевірÑти, що вхідний потік Ñортований, навіть Ñкщо уÑÑ– вхідні Ñ€Ñдки утворюють пари --nocheck-order не перевірÑти, що вхідний потік коректно Ñортований � -1 не виводити Ñтовпчик 1 (Ñ€Ñдки, Ñкі Ñ” лише у ФÐЙЛ1) -2 не виводити Ñтовпчик 2 (Ñ€Ñдки, Ñкі Ñ” лише у ФÐЙЛ2) -3 не виводити Ñтовпчик 3 (Ñ€Ñдки, Ñкі Ñ” у обох файлах) � -a, --all еквівалент -b -d --login -p -r -t -T -u -b, --boot Ñ‡Ð°Ñ Ð¾Ñтаннього Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑиÑтеми -d, --dead виводити мертві процеÑи -H, --heading виводити Ñ€Ñдок з заголовками Ñтовпчиків � -b ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñпеціальним з блочним доÑтупом -c ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñпеціальним з Ñимвольним доÑтупом -d ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” каталогом -e ФÐЙЛ ФÐЙЛ Ñ–Ñнує � -l викориÑтовувати докладний формат виводу -b опуÑтити у докладному форматі початковий каталог та оболонку цього кориÑтувача -h опуÑтити у докладному форматі файл проекту цього кориÑтувача -p опуÑтити у докладному форматі файл плану цього кориÑтувача -s короткий формат виводу, типово викориÑтовуєтьÑÑ � -n РЯДОК довжина РЯДКРвідмінна від Ð½ÑƒÐ»Ñ Ð Ð¯Ð”ÐžÐš еквівалентно -n РЯДОК -z РЯДОК довжина РЯДКРдорівнює нулю РЯДОК1 = РЯДОК2 Ñ€Ñдки еквівалентні РЯДОК1 != РЯДОК2 Ñ€Ñдки не еквівалентні � ÐРГ1 * ÐРГ2 арифметичний добуток ÐРГ1 та ÐРГ2 ÐРГ1 / ÐРГ2 арифметична чаÑтка від ÐРГ1 та ÐРГ2 ÐРГ1 % AРГ2 арифметичний залишок від Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐРГ1 на ÐРГ2 � ÐРГ1 + ÐРГ2 арифметична Ñума ÐРГ1 та ÐРГ2 ÐРГ1 - ÐРГ2 арифметична Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ ÐРГ1 та ÐРГ2 � ÐРГ1 < ÐРГ2 ÐРГ1 менше ÐРГ2 ÐРГ1 <= ÐРГ2 ÐРГ1 менше або дорівнює ÐРГ2 ÐРГ1 = ÐРГ2 ÐРГ1 дорівнює ÐРГ2 ÐРГ1 != ÐРГ2 ÐРГ1 не дорівнює ÐРГ2 ÐРГ1 >= ÐРГ2 ÐРГ1 більше або дорівнює ÐРГ2 ÐРГ1 > ÐРГ2 ÐРГ1 більше ÐРГ2 � ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 та ФÐЙЛ2 мають одинакові приÑтрої та номери inode ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 змінювавÑÑ Ð¿Ñ–Ð·Ð½Ñ–ÑˆÐµ ніж ФÐЙЛ2 ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 Ñтворений пізніше ніж ФÐЙЛ2 � ЦІЛЕ копіювати до Ñ€Ñдка з вказаним номером, але не включно /REGEXP/[ЗСУВ] копіювати до відповідного Ñ€Ñдка, але не включно %%REGEXP%%[ЗСУВ] пропуÑтити до відповідного Ñ€Ñдка, але не включно {ЦІЛЕ} повторити попередній шаблон вказане чиÑло раз {*} повторити попередній шаблон макÑимальну кількіÑть разів Додатковий ЗСУВ Ñ€Ñдків -- це обов'Ñзковий Ñимвол '+' або '-' з попереднім додатнім цілим чиÑлом. � ЦІЛЕ1 -eq ЦІЛЕ2 ЦІЛЕ1 дорівнює ЦІЛОМУ2 ЦІЛЕ1 -ge ЦІЛЕ2 ЦІЛЕ1 більше або дорівнює ЦІЛОМУ2 ЦІЛЕ1 -gt ЦІЛЕ2 ЦІЛЕ1 більше ЦІЛОГО2 ЦІЛЕ1 -le ЦІЛЕ2 ЦІЛЕ1 менше або дорівнює ЦІЛОМУ2 ЦІЛЕ1 -lt ЦІЛЕ2 ЦІЛЕ1 менше ЦІЛОГО2 ЦІЛЕ1 -ne ЦІЛЕ2 ЦІЛЕ1 відмінне від ЦІЛОГО2 � РЯДОК : REGEXP перевірка відповідноÑті REGEXP початку або кінцю РЯДКРmatch РЯДОК REGEXP те Ñаме, що та РЯДОК : REGEXP substr РЯДОК ПОЗ ДОВЖИÐРчаÑтина РЯДКÐ, Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ð²Ñ–Ð´Ñ€Ð°Ñ…Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑÑ Ð²Ñ–Ð´ 1 index РЯДОК СИМВОЛИ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ñƒ РЯДКУ, де першим знайдений будь-Ñкий з СИМВОЛІВ, інакше 0 length РЯДОК довжина РЯДКР� a нумерувати вÑÑ– Ñ€Ñдки t нумерувати лише не порожні Ñ€Ñдки n не нумерувати Ñ€Ñдки pБРВ нумерувати лише Ñ€Ñдки, чаÑтина Ñких збігаєтьÑÑ Ð· базовим регулÑрним виразом БРВ ФОРМÐТ вказуєтьÑÑ Ñк один з наÑтупних: ln вирівнювати по лівому краю, не виводити початкові нулі rn вирівнювати по правому краю, не виводити початкові нулі rz вирівнювати по правому краю, виводити початкові нулі � b Ñтворити файл блочного приÑтрою (буферизований) c, u Ñтворити файл Ñимвольного приÑтрою (не буферизований) p Ñтворити іменований канал � чиÑло кориÑтувачів=%lu � додаєтьÑÑ -t, Ñкщо PAGE_LENGTH <= 10. Якщо ФÐЙЛ не вказано або вказаний Ñк -, читає Ñтандартне джерело введеннÑ. � Полем вважаєтьÑÑ Ð¿Ð¾ÑлідовніÑть пробільних знаків, за Ñкою йдуть не пробільні знаки. Спочатку пропуÑкаютьÑÑ Ð¿Ð¾Ð»Ñ, потім Ñимволи. � Спрощена програма 'finger'; виводить відомоÑті про кориÑтувача. У Ñкладі файла utmp буде викориÑтовуватиÑÑ %s. � ПроÑто '-' -- Ñинонім Ð´Ð»Ñ '-i'. Якщо не вказана КОМÐÐДÐ, виводить отримане оточеннÑ. � Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ ÑуфікÑа z до будь-Ñкого типу призведе до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¸Ñ… Ñимволів наприкінці кожного Ñ€Ñдка виведених даних. � ПіÑÐ»Ñ Ð±ÑƒÐ´ÑŒ-Ñкої з ознак йде необов'Ñзкова ширина Ð¿Ð¾Ð»Ñ Ñƒ виглÑді деÑÑткового; чиÑла потім необов'Ñзковий модифікатор, один з наÑтупних: E -- Ñкщо можливо, вживати альтернативне предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— локалі O -- Ñкщо можливо, викориÑтовувати альтернативні чиÑлові Ñимволи локалі. � Якщо ВИРÐЗ не вказаний, він вважаєтьÑÑ Ñ…Ð¸Ð±Ð½Ð¸Ð¼. У іншому випадку ВИРÐЗ може бути Ñ–Ñтинним або хибним; він вÑтановлює ÑÑ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸. Код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ð½Ð°Ñтупним образом: � Коли вказані ключі -f та -b, та SOURCE збігаєтьÑÑ Ð· DEST cp Ñтворює резервну копію DEST. � Пам'Ñтайте, що при викориÑтанні у оболонці деÑкі оператори повинні бути взÑті у дужки. Якщо обидва аргументу ÐРГ Ñ” чиÑлами, то виконуєтьÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ð¹ порівнÑннÑ, інакше вони порівнюютьÑÑ Ñк Ñ€Ñдки. При відповідноÑті шаблону повертаєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ Ñ€Ñдок Ñ€Ñдок між \( та \) або порожній Ñ€Ñдок; Ñкщо \( та \) не викориÑтовуютьÑÑ, то повертаєтьÑÑ ÐºÑ–Ð»ÑŒÐºÑ–Ñть відповідних Ñимволів. � Якщо ТИП -- це b, c або u, необхідно вказувати Ñк ОСÐОВÐИЙ, так Ñ– ДРУГОРЯДÐИЙ, а Ñкщо ТИП дорівнює p, Ñ—Ñ… не можна вказувати. Якщо ОСÐОВÐИЙ або ДРУГОРЯДÐИЙ починаютьÑÑ Ð· 0x або 0X, вони інтерпретуютьÑÑ Ñк шіÑтнадцÑткові чиÑла; Ñкщо починаютьÑÑ Ð· 0 - Ñк віÑімкові; інакше Ñк деÑÑткові. ТИП може приймати наÑтупні значеннÑ: � Зазвичай rm не вилучає каталоги. ВикориÑтовуйте ключ --recursive (-r або -R), щоб вилучити вÑÑ– перелічені каталоги разом з їхнім зміÑтом. � Типово викориÑтовуютьÑÑ -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС - це два знаки, що розділÑють логічні Ñторінки; Ñкщо вказаний лише один, то Ñ ÑкоÑті іншого викориÑтовуєтьÑÑ :. Вводьте \\ щоб отримати \. СТИЛЬ вказуєтьÑÑ Ñк один з наÑтупних: � Типово розріджені файли ДЖЕРЕЛРрозпізнаєтьÑÑ Ð·Ð° допомогою грубої евриÑтичної процедури та відповідно ÑтворюєтьÑÑ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ð¹ файл ПРИЗÐÐЧЕÐÐЯ. Таку поведінку можна визначити за допомогою параметра --sparse=auto. З параметром --sparse=always ПРТИЗÐÐЧЕÐÐЯ завжди ÑтворюєтьÑÑ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ð¼, незалежно від того, чи міÑтить файл ДЖЕРЕЛРдовгі поÑлідовноÑті нульових байтів. СкориÑтайтеÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --sparse=never Ð´Ð»Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ð¸ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ñ… файлів. Якщо вказано параметр --reflink[=always], буде виконано полегшене копіюваннÑ, за Ñкого блоки даних копіюватимутьÑÑ Ð»Ð¸ÑˆÐµ у разі внеÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½. Якщо це неможливо, ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ñ” невдачі або, Ñкщо вказано --reflink=auto, повернетьÑÑ Ð´Ð¾ Ñтандартного режиму. � ФРÐГМЕÐТИ можна задавати у форматі: N розділити на N файлів на оÑнові розміру вхідних даних K/N вивеÑти K-ий з N до stdout l/N розділити на N файлів без поділу на Ñ€Ñдки l/K/N вивеÑти K-ий з N до stdout без поділу на Ñ€Ñдки r/N подібно до «l», але з викориÑтаннÑм циклічного Ð¿ÐµÑ€ÐµÐ±Ð¸Ñ€Ð°Ð½Ð½Ñ r/K/N те Ñаме, але вивеÑти лише K-ий з N до stdout � Об'єднані параметри: * [-]LCASE Ñинонім [-]lcase cbreak Ñинонім -icanon -cbreak Ñинонім icanon � Параметри керуваннÑ: [-]clocal ÑкаÑувати керівні Ñигнали модему [-]cread дозволити ввід * [-]crtscts дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ RTS/CTS * [-]cdtrdsr дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ DTR/DSR csРвÑтановити розмір Ñимволу рівним Рбіт, Рвід 5 до 8 � ТРИВÐЛІСТЬ — чиÑло з плаваючою крапкою з додатковим ÑуфікÑом: «s» — Ñекунди (типовий), «m» — хвилини, «h» — години або «d» — дні. � Показує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ одиницÑÑ… першого доÑтупного РОЗМІРу з --block-size та змінні Ñередовища %s_BLOCK_SIZE, BLOCK_SIZE та BLOCKSIZE. Якщо розмір не буде знайдено, типовою одиницею буде 1024 байтів (або 512, Ñкщо вÑтановлено POSIXLY_CORRECT). � Символ-ОЗÐÐКРможе бути таким: append режим Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ (має ÑÐµÐ½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ; рекомендуєтьÑÑ conv=notrunc) � РЕЖИМ вказуєтьÑÑ Ñƒ формі '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Прикладиs: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Приклади: %s -12 файл1 файл2 ВивеÑти лише Ñ€Ñдки, Ñкі Ñ” Ñпільними Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»1 Ñ– файл2. %s -3 файл1 файл2 ВивеÑти Ñ€Ñдки у файл1, Ñких немає у файл2, Ñ– навпаки. � Приклади: %s /usr/bin/ -> «/usr» %s dir1/str dir2/str -> «dir1», потім «dir2» %s stdio.h -> «.» � Приклади: %s /usr/bin/sort -> «sort» %s include/stdio.h .h -> «stdio» %s -s .h include/stdio.h -> «stdio» %s -a any/str1 any/str2 -> «str1», потім «str2» � Приклади: %s f - g Виводить вміÑÑ‚ f, потім Ñтандартний потік вводу, потім вміÑÑ‚ g. %s Копіює дані зі Ñтандартного потоку вводу у Ñтандартний вивід. � Приклади: %s root /u Змінює влаÑника /u на "root". %s root:staff /u То же, але ще мінÑÑ” групу на "staff". %s -hR root /u Змінює влаÑника /u та вкладених файлів на "root". � Приклади: %s staff /u Змінює групу /u на "staff". %s -hR staff /u Змінює групу /u та вкладених файлів на "staff". � Приклади: Перетворити Ñекунди з початку епохи (1970-01-01 UTC) у дату $ date --date='@2147483647' Показати Ñ‡Ð°Ñ Ñƒ Києві СШР(ÑкориÑтайтеÑÑ tzselect(1) Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TZ) $ TZ='Europe/Kiev' date Показати локальний Ñ‡Ð°Ñ Ð´Ð»Ñ 9:00 наÑтупної п'Ñтниці у Києві $ date --date='TZ="Europe/Kiev" 09:00 next Fri' � Ð’ÑÑ– теÑти, що відноÑÑтьÑÑ Ð´Ð¾ ФÐЙЛÐ, крім -h та -L розіменовують Ñимвольні поÑиланнÑ. Пам'Ñтайте, що ви повинні ÑкаÑувати Ñпеціальне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÑƒÐ¶Ð¾Ðº Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ інтерпретатора (наприклад, за допомогою знаку '\'). ЦІЛЕ може також бути вказане Ñк "-l РЯДОК", при цьому воно приймає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ РЯДКÐ. � Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0, Ñкщо ВИРÐЗ не порожній та не 0; 1, Ñкщо ВИРÐЗ порожній або 0; 2, Ñкщо ВИРÐЗ ÑинтакÑично неправильний; та 3, Ñкщо виникла помилка. � Станом виходу буде 0, Ñкщо вÑÑ– чиÑла у вхідних даних було уÑпішно перетворено. Типово, %s припинить обробку піÑÐ»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ñ— ж помилки зі Ñтаном виходу 2. Якщо буде вказано --invalid='fail', Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— помилки Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ виведено попередженнÑ, а Ñтаном виходу буде 2. Якщо буде вказано --invalid='warn', буде виÑвлено вÑÑ–Ñ… помилки перетвореннÑ, але Ñтаном виходу буде 0. Якщо буде вказано --invalid='ignore', про помилки Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ðµ повідомлÑтиметьÑÑ, а Ñтаном виходу буде 0. � Коди виходу: 0 вÑе добре, 1 незначні проблеми (наприклад, не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до підкаталогу), 2 значні проблеми (наприклад, не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до аргументу командного Ñ€Ñдка). � СПИСОК_ПОЛІВ — відокремлений комами ÑпиÑок Ñтовпчиків, Ñкі Ñлід включити. Можливі назви Ñтовпчиків: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' Ñ– 'target' (див. Ñторінку info). � ФОРМÐТ керує виводом так Ñамо, Ñк у функції C printf. ПриймаютьÑÑ Ð½Ð°Ñтупні поÑлідовноÑті: \" подвійні лапки � ФОРМÐТ керує виводом. РозпізнаютьÑÑ Ð¿Ð¾ÑлідовноÑті: %% знак % %a міÑцева Ñкорочена назва Ð´Ð½Ñ Ñ‚Ð¸Ð¶Ð½Ñ (напр., нед) � ФОРМÐТ має відповідати виведенню одного аргументу з рухомою крапкою -- «%f». ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð»Ð°Ð¿ÐºÐ¸ (%'f) увімкне параметр --grouping (Ñкщо він підтримуєтьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾ÑŽ локаллю). Додаткове Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ (%10f) призведе до Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ… даних. Додаткові від’ємні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ (%-10f) вирівнюватимуть Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð»Ñ–Ð²Ð¾Ñ€ÑƒÑ‡. � Керує термінальною лінією, що підключена до Ñтандартного вводу. Запущена без аргументів, виводить швидкіÑть передачі інформації, line discipline та відмінноÑті від звичайних параметрів. Ð’ параметрах, СИМВОЛИ трактуютьÑÑ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ð¾ або вказуютьÑÑ Ñƒ Ñк ^c, 0x37, 0177 або 127; Ð´Ð»Ñ ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ñпеціальних Ñимволів Ñлужать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ^- та undef. � Якщо задіÑно -e, розпізнаютьÑÑ Ñ‚Ð°ÐºÑ– поÑлідовноÑті: � Якщо ФÐЙЛ вказаний Ñк -, змішувати Ñтандартний вивід. Вилучає ФÐЙЛИ, Ñкщо вказаний --remove (-u). Типово файли не вилучаютьÑÑ, оÑкільки чаÑто оброблÑютьÑÑ Ñ„Ð°Ð¹Ð»Ð¸-приÑтрої на зразок /dev/hda, а такі файли не треба вилучати. При обробці звичайних файлів більшіÑть людей викориÑтовує ключ --remove. � Якщо ФÐЙЛ не вказаний, викориÑтовуєтьÑÑ %s. ЧаÑто Ñк ФÐЙЛ вказують %s. Якщо вказані ÐРГ1 та ÐРГ2, вважаєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ -m: наприклад 'am i' та 'mom likes'. � Якщо вказаний FILE, то читати його щоб дізнатиÑÑŒ Ñкі кольори Ñким розширеннÑм призначені. Інакше викориÑтовувати типову базу даних. Ð”Ð»Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ñ–ÑˆÐ¾Ð³Ð¾ опиÑу формату FILE запуÑтите dircolors --print-database. � Якщо не вказані ПЕРШЕ або ПРИРІСТ, типово викориÑтовуєтьÑÑ 1. Тобто ПРИРІСТ типово приймаєтьÑÑ Ð·Ð° 1, навіть Ñкщо ОСТÐÐÐІЙ менше ПЕРШОГО. ПЕРШИЙ, ОСТÐÐÐІЙ та ПРИРІСТ вважаютьÑÑ Ñ‡Ð¸Ñлами з рухомою комою. ПРИРІСТ повинен бути додатнім, Ñкщо ПЕРШИЙ менше ОСТÐÐÐЬОГО, та від'ємним у іншому випадку. � Якщо РЕЖИМ дорівнює 0, відповідний потік не буферизуєтьÑÑ. � Якщо РЕЖИМ дорівнює L, Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ потоку буде викориÑтано Ñ€Ñдкову буферизацію. Цей параметр Ñ” некоректним Ð´Ð»Ñ Ñтандартного джерела даних. � Якщо ФÐЙЛ вказаний Ñк -, копіює знову у Ñтандартний вивід. � Якщо команду не вказано, виконати '${SHELL} -i' (default: '/bin/sh -i'). � Якщо Ñтандартний ввід відбуваєтьÑÑ Ð· терміналу, перенаправте його з /dev/null. Якщо Ñтандартний вивід відбуваєтьÑÑ Ð½Ð° термінал, Ñкщо можливо, додайте 'ohup.out' або '$HOME/nohup.out'. Якщо Ñтандартний потік помилок виводитьÑÑ Ð½Ð° екран, перенаправте його у Ñтандартний потік виводу. Щоб зберегти вивід до ФÐЙЛа, вкажіть '%s КОМÐÐДР> ФÐЙЛ'. � Якщо Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ буде перевищено, Ñ– не вказано --preserve-status, вийти з кодом Ñтану 124. Якщо цього не відбудетьÑÑ, вийти з кодом Ñтану КОМÐÐДИ. Якщо Ñигналу не вказано, надіÑлати Ñигнал TERM піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу очікуваннÑ. Сигнал TERM перерве Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких процеÑів, Ñкі не блокують Ñ– не перехоплюють цей Ñигнал. Іншим процеÑам Ñлід наÑилати Ñигнал KILL (9), оÑкільки цей Ñигнал не може бути перехоплено. Якщо надіÑлано Ñигнал KILL (9), Ñтаном виходу буде 128+9, а не 124. � Якщо першим Ñимволом у Ð (чиÑлі байт або Ñ€Ñдків) Ñ” «+», Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ розпочато з Ð-ого елемента від початку кожного файла, інакше буде виведено оÑтанні Релементи. Рможе мати ÑуфікÑ-множник: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y. � Параметри вводу: [-]brkint Ñимвол break буде викликати Ñигнал Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ [-]icrnl перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка [-]ignbrk ігнорувати Ñимволи Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ [-]igncr ігнорувати Ñимволи Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ � ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ð±Ð»Ð¾ÐºÑ–Ð² та байт може ÑтоÑть один з множників: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y. � ВИЗÐКЛ вказуєтьÑÑ Ñк П[.З][ПÐРÐМ][П[.З][ПÐРÐМ]] Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ñ– кінцевої позицій, де П -- номер полÑ, а З -- Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ñимволу у цьому поле, відлік обох ведетьÑÑ Ð· 1, типовою кінцевою позицією Ñ” Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка. Якщо не викориÑтано ні -t, ні -b, відлік Ñимволів у полі веÑтиметьÑÑ Ð· початку попереднього полю пробілу. ПÐРÐМ визначаєтьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ або декількома параметрами впорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð· набору [bdfgiMhnRrV]. ПÐРÐМ перевизначає загальні параметри впорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ ключа. Якщо поле ключа не вказано, Ñк ключ буде викориÑтано увеÑÑŒ Ñ€Ñдок. ПіÑÐ»Ñ Ð ÐžÐ—ÐœÐ†Ð Ð£ можна вказувати такі ÑуфікÑи-мультиплікатори: � Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, <http://gnu.org/licenses/gpl.html> Це вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати його. Вам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених законодавÑтвом. � Локальні параметри: [-]crterase Ñтирати Ñимволи Ñк забиттÑ-пробіл-Ð·Ð°Ð±Ð¸Ñ‚Ñ‚Ñ * crtkill Ñтирати веÑÑŒ Ñ€Ñдок, згідно з параметрами echoprt та echoe * -crtkill Ñтирати веÑÑŒ Ñ€Ñдок, згідно з параметрами echoctl та echok � Обов'Ñзкові аргументи Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… форм запиÑу параметрів Ñ” обов'Ñзковими Ñ– Ð´Ð»Ñ Ñкорочених форм. � ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ñ– БÐЙТів може бути вказано один з множників: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y. Кожен елемент СПИСКУ Ð´Ð»Ñ conv може бути: � ЗÐУВÐЖЕÐÐЯ: Ñкщо КОМÐÐДРÑама коригує буферизацію Ñтандартних потоків даних (наприклад tee), перевизначає відповідні параметри, змінені stdbuf. Крім того, деÑкі фільтри (зокрема dd Ñ– cat) не викориÑтовують потоки Ð´Ð»Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ/виведеннÑ, отже параметри stdbuf на них не впливають. � ПРИМІТКÐ: [ притримуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² --help та --version options, але теÑÑ‚ - ні. інтерпретує кожен з цих параметрів Ñк будь-Ñкий непорожній Ñ€Ñдок. � ПРИМІТКÐ: ваша оболонка може надавати Ñвою верÑÑ–ÑŽ %s, Ñка звичайно перекриває верÑÑ–ÑŽ, опиÑану тут. ЗвернітьÑÑ Ð´Ð¾ документації з вашої оболонки, щоб дізнатиÑÑŒ, Ñкі ключі вона підтримує. � Зауважте, що при викориÑтанні rm Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° його вміÑÑ‚ зазвичай можна відновити. ВикориÑтовуйте shred, Ñкщо потрібна більша впевненіÑть у неможливоÑті Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту. � Зауважте, що ключі -d та -t Ñприймають різні формати дати та чаÑу. � Зауважте, що під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° LC_COLLATE. � ЗауваженнÑ: uniq не зможе визначити повторених Ñ€Ñдків, Ñкщо ці Ñ€Ñдки не Ñ” ÑуÑідніми. Вам варто Ñпочатку впорÑдкувати вхідні дані, або ÑкориÑтатиÑÑ Â«sort -u» заміÑть uniq. Крім того, під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°, вÑтановлені змінною LC_COLLATE. � Ðеобов'Ñзковий знак Ð¼Ñ–Ð½ÑƒÑ Ð¿ÐµÑ€ÐµÐ´ ПÐРÐМЕТРом означає зміну знаку. Зірочкою позначені параметри, не опиÑані у Ñтандарті POSIX. ДоÑтупніÑть того чи іншого параметру визначаєтьÑÑ ÑиÑтемою, що викориÑтовуєтьÑÑ. � РЕЖИМ може бути чиÑлом, за Ñким вказано один з таких ÑуфікÑів: KB 1000, K 1024, MB 1000*1000, M 1024*1024 тощо Ð´Ð»Ñ G, T, P, E, Z, Y. У такому разі відповідний потік буде повніÑтю буферизовано зі вÑтановленнÑм розміру буфера у РЕЖИМ байтів. � Параметри виводу: * bsРпауза піÑÐ»Ñ Ð·Ð°Ð±Ð¾ÑŽ, діапазон Ð [0..1] * crРпауза піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸, діапазон Ð [0..3] * ffРпауза піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñторінки, діапазон Ð [0..1] * nlРпауза піÑÐ»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ñдка, діапазон Ð [0..1] � ВлаÑник не змінюєтьÑÑ, Ñкщо він не вказаний у аргументі. Група також не змінюєтьÑÑ, Ñкщо не вказана; але Ñкщо піÑÐ»Ñ Ñимвольного ВЛÐСÐИКРÑтоїть знак ':', вважаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð° групи на оÑновну групу поточного кориÑтувача. ВЛÐСÐИК та ГРУПРможуть бути Ñк чиÑловими, так Ñ– Ñимвольними. � Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ на Ñтандартний вивід. Ðижче порожніми Ñ€Ñдками розділені групи за зроÑтаннÑм пріоритету. Можливі ВИРÐЗИ: ÐРГ1 | ÐРГ2 ÐРГ1, Ñкщо він відмінний від нулÑ, інакше ÐРГ2 ÐРГ1 & ÐРГ2 ÐРГ1, Ñкщо обидва відмінні від нулÑ, інакше 0 � Якщо ФÐЙЛ вказаний Ñк -, читає Ñтандартний ввід. ШÐБЛОРвказуєтьÑÑ Ð½Ð°Ñтупним чином: � Про вади у %s повідомлÑйте на адреÑу %s. � Про вади повідомлÑйте за такою адреÑою: %s � ТÐБЛИЦі вказуютьÑÑ Ñк Ñимвольні Ñ€Ñдки. У багатьох випадках Ñимволи предÑтавлÑють Ñамі Ñебе. ПриймаютьÑÑ Ð½Ð°Ñтупні поÑлідовноÑті: \ÐÐРзнак з віÑімковим кодом ÐÐÐ (від 1 до 3 цифр) \\ зворотна похила риÑка \a звуковий Ñигнал \b Ð·Ð°Ð±Ð¸Ñ‚Ñ‚Ñ \f Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñторінки \n новий Ñ€Ñдок \r Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ \t горизонтальна табулÑÑ†Ñ–Ñ � СИГÐÐЛ може бути назвою Ñигналу, Ñк HUP, або номером Ñигналу, Ñк '1', або кодом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, перерваного Ñигналом. PID Ñ” цілим чиÑлом; Ñкщо воно Ñ” від'ємним, то означає групу процеÑів. � Якщо ТИП -- одна з літер [doux], ЧИСЛО можна вказувати Ñк C (char), S (short), I (int) або L (long), Ñкщо ТИП дорівнює f, ЧИСЛО може бути F (float), D (double) або L (long double). � РОЗМІР Ñ” цілим чиÑлом з додатковим значеннÑм одиниці (приклад: 10M = 10*1024*1024). ОдиницÑми можуть бути K, M, G, T, P, E, Z, Y (Ñтепені 1024) або KB, MB... (Ñтепені 1000). � Перед РОЗМІРом може бути додано один з таких Ñимволів-модифікаторів: «+» — розширити, «-» — звузити, «<» — не більше, «>» — не менше, «/» — зменшити до кратного, «%» — збільшити до кратного. � Якщо надіÑлати запущеному процеÑу 'dd' Ñигнал %s, він виведе на Ñтандартний потік помилок ÑтатиÑтику вводу/виводу та продовжить копіюваннÑ. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 вхідних запиÑів 18335302+0 вихідних запиÑів 9387674624 байта (9.4 GB) Ñкопійовано, 34.6279 Ñекунди, 271 Мб/Ñ ÐšÐ»ÑŽÑ‡Ñ–: � Спеціальні Ñимволи: * dsusp СИМВОЛ СИМВОЛ буде надÑилати терміналу Ñигнал зупинки при завершенні вводу eof СИМВОЛ СИМВОЛ буде означати кінець файла (Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ) eol СИМВОЛ СИМВОЛ буде означати кінець Ñ€Ñдка � Спеціальні параметри: РвÑтановити швидкіÑть Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñƒ Рбод * cols Рповідомити Ñдру, що термінал має Ð Ñтовпчиків * columns Ð Ñинонім cols � Типовий ÑÑƒÑ„Ñ–ÐºÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñних копій ~, лише Ñкщо не вÑтановлена змінна Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ SIMPLE_BACKUP_SUFFIX або ключ --suffix. СпоÑіб контролю верÑій можна вказати ключем --backup або змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ VERSION_CONTROL. Можливі значеннÑ: � Дані закодовані Ñимволами з алфавіту base64, відповідно до RFC 3548. При декодуванні ввід може міÑтити також Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдків окрім байтів формального алфавіту base64. Вказуйте ключ --ignore-garbage, щоб Ñпробувати ігнорувати неалфавітні знаки в закодованому потоці. � Вказані нижче ключі впливають на ÑпоÑіб обходу ієрархії каталогів при заданому ключі -R. Якщо вказано декілька цих ключів, діє лише оÑтанній. -H Ñкщо аргумент командного Ñ€Ñдка Ñ” Ñимвольним поÑиланнÑм на каталог, перейти за ним -L переходити за кожним Ñимвольним поÑиланнÑм на каталог -P не переходити за Ñимвольними поÑиланнÑми (типово) � Три наведених нижче параметра викориÑтовуютьÑÑ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум: --quiet не виводити Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ уÑпішно перевіреного файла --status не виконувати вивід, код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ” уÑпіх перевірки -w, --warn попереджувати про неправильно Ñформовані Ñ€Ñдки у ÑпиÑку контрольних Ñум � Метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум опиÑано у %s. Вхідними даними при перевірці мають бути отримані раніше дані виводу цієї програми. Типово виводить Ñ€Ñдок з контрольною Ñумою, Ñимвол, що вказує на тип файла («*» Ð´Ð»Ñ Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ…, « » Ð´Ð»Ñ Ñ‚ÐµÐºÑтових), та назву кожного ФÐЙЛа. � Можливі форматні поÑлідовноÑті Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² (без --file-system): %a права доÑтупу у віÑімковій формі %A права доÑтупу у текÑтовій формі %b кількіÑть виділених блоків (дивітьÑÑ %B) %B розмір блоку, що повідомлÑєтьÑÑ %b, у байтах %C Ñ€Ñдок з контекÑтом безпеки SELinux � Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÑ” файли (чаÑто щойно зібрані) до вказаного вами міÑÑ†Ñ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ. Якщо вам потрібно отримати Ñ– вÑтановити готовий до викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½Ð¾Ðº у ÑиÑтемі GNU/Linux, вам краще ÑкориÑтатиÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ°Ð¼Ð¸, зокрема yum(1) або apt-get(1). У перших трьох формах копіює ДЖЕРЕЛО до ПРИЗÐÐЧЕÐÐЯ або декілька ДЖЕРЕЛ до вже Ñтвореного КÐТÐЛОГу, вÑтановлюючи режими доÑтупу та влаÑника/групу. Ð’ четвертій формі Ñтворює вÑÑ– компоненти вказаних КÐТÐЛОГІВ. � Ð”Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°, що починаєтьÑÑ Ð· «-» (приклад: «-foo»), викориÑтовуйте одну з наÑтупних команд: %s -- -foo %s ./-foo � ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ, Ñкщо не вказано -d Ñ– обох таблиць, ТÐБЛИЦІ1 Ñ– ТÐБЛИЦІ2. -t можна викориÑтовувати лише під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ. Якщо потрібно, ТÐБЛИЦЮ2 буде розширено до розмірів ТÐБЛИЦІ1 повтореннÑм оÑтаннього Ñимволу. Зайві Ñимволи ТÐБЛИЦІ2 буде пропущено. Гарантовано розширюютьÑÑ Ñƒ порÑдку зроÑÑ‚Ð°Ð½Ð½Ñ Ð»Ð¸ÑˆÐµ [:lower:] Ñ– [:upper:]. ВикориÑтані у ТÐБЛИЦІ2 під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñимволи можна викориÑтовувати Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтру лише у парах. -s викориÑтовує ТÐБЛИЦЮ1, Ñкщо не виконуєтьÑÑ Ð½Ñ– перетвореннÑ, ні вилученнÑ. Інакше, Ð´Ð»Ñ ÑƒÑ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ Ð¢ÐБЛИЦЯ2. Ð£Ñ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑÑ Ð¿Ñ–ÑÐ»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ вилученнÑ. � Параметри одиниць: � Якщо не вказано -t ЗÐÐК, початкові знаки пробілів розділÑють Ð¿Ð¾Ð»Ñ Ñ‚Ð° ігноруютьÑÑ, у іншому випадку Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÑŽÑ‚ÑŒÑÑ Ð—ÐÐКОМ. ПОЛЕ — це номер полÑ, що відраховуєтьÑÑ Ð²Ñ–Ð´ 1. ФОРМÐТ — це один або декілька розділених комами або знаками пробілів опиÑів формату: «ÐОМЕР_ФÐЙЛÐ.ПОЛЕ» або «0». Типово ФОРМÐТ виводить Ñпільне поле, інші Ð¿Ð¾Ð»Ñ Ð· ФÐЙЛÐ1 та інші Ð¿Ð¾Ð»Ñ Ð· ФÐЙЛÐ2, розділені ЗÐÐКом. Якщо ФОРМÐТом Ñ” ключове Ñлово «auto», перший Ñ€Ñдок кожного з файлів визначає кількіÑть полів Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ€Ñдка. Важливе: ФÐЙЛ1 та ФÐЙЛ2 має бути впорÑдковано за Ñпільними полÑми. Ðаприклад, ÑкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ « sort -k 1b,1 » Ñкщо «join» вказано без параметрів, або « join -t '' », Ñкщо «sort» вказано без параметрів. Зауважте, що під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ викориÑтано правила, вказані за допомогою змінної LC_COLLATE. Якщо вхідні дані не впорÑдковано Ñ– ÑкіÑÑŒ з Ñ€Ñдків не може бути об'єднано, буде показано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· попередженнÑм про це. � ВикориÑтовуйте один, Ñ– лише один, з ключів -b, -c чи -f. Кожен СПИСОК ÑкладаєтьÑÑ Ð· одного діапазону, або кількох діапазонів, розділених комами. Вибрані чаÑтини вхідного файла виводÑтьÑÑ Ñƒ тому порÑдку, у Ñкому вони, з'ÑвлÑютьÑÑ Ð½Ð° вході, та виводÑтьÑÑ Ñ€Ñ–Ð²Ð½Ð¾ один раз. � ВикориÑÑ‚Ð°Ð½Ð½Ñ -s призводить до Ñ–Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ -L Ñ– -P. Інакше, оÑтанній параметр визначає роботу програми, Ñкщо призначеннÑм Ñ” Ñимволічне поÑиланнÑ. Типове значеннÑ: %s. � ВикориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð² файлів вимкнено типово Ñ– за допомогою --color=never. Якщо визначено --color=auto, ls видаватиме коди кольорів, лише Ñкщо Ñтандартне Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²'Ñзано з терміналом. Змінити параметри можна за допомогою змінної Ñередовища LS_COLORS. Ð”Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— змінної ÑкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ dircolors. � Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід. Типово вважаєтьÑÑ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼ '-F /'. � Якщо вхідний файл не вказаний, або Ñкщо вказано Ñимвол -, викориÑтовуєтьÑÑ Ñтандартний ввід. � Якщо запущений без ключів виводить результат у три Ñтовпчики. Перший Ñтовпчик міÑтить Ñ€Ñдки, унікальні Ð´Ð»Ñ Ð¤ÐЙЛÐ1, другий -- унікальні Ð´Ð»Ñ Ð¤ÐЙЛÐ2, а третій -- Ñпільні Ð´Ð»Ñ Ð¾Ð±Ð¾Ñ… файлів Ñ€Ñдки. � Якщо КЛЮЧІ не вказані, виводить Ñтандартний набір кориÑних відомоÑтей. � Виводить однозначне (типово байтове віÑімкове) предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¤ÐЙЛРна Ñтандартний вивід. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід. � (діє лише на ÑиÑтемі з підтримкою зміни прав влаÑноÑті Ñимволічних поÑилань) � ???� --backup[=КОÐТРОЛЬ] Ñтворювати резервні копії цільових файлів -b те Ñаме, що та --backup, але без аргументу -f, --force перепиÑувати Ñ–Ñнуючі файли без Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ -i, --interactive запитувати підтвердженнÑ, перш ніж перепиÑувати -n, --no-clobber не перепиÑувати вже Ñтворені файли Якщо буде вказано декілька -i, -f, -n, братиметьÑÑ Ð´Ð¾ уваги лише оÑтанній параметр. � --backup[=КОÐТРОЛЬ] робити резервну копію кожного цільового файла -b те ж, що й --backup, але не приймає аргумент -d, -F, --directory дозволÑÑ” ÑуперкориÑтувачу Ñтворювати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° каталоги (примітка: ймовірно, це не вийде через ÑиÑтемні обмеженнÑ, навіть Ð´Ð»Ñ ÑуперкориÑтувача) -f, --force вилучати вже Ñтворені цільові файли � --backup[=CONTROL] Ñтворити резервну копію перед вилученнÑм -b те Ñаме, що Ñ– --backup, але без аргументу -c (ігноруєтьÑÑ) -C, --compare порівнÑти кожну пару файлів джерела Ñ– Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–, за певних умов, не змінювати Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -d, --directory вважати вÑÑ– аргументи каталогами; Ñтворювати вÑÑ– компоненти вказаних каталогів � --batch-size=NMERGE об'єднувати не більше NMERGE джерел Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¾Ð´Ñ€Ð°Ð·Ñƒ; Ð´Ð»Ñ Ñ€ÐµÑˆÑ‚Ð¸ викориÑтовувати тимчаÑові файли � --block-size=РОЗМІР викориÑтовувати блоки розміром РОЗМІР. Ðаприклад, «--block-size=M» виводить розміри у одиницÑÑ… 1.048.576 байтів. Формат РОЗМІРу наведено нижче. -B, --ignore-backups не виводити файли, що закінчуютьÑÑ Ð½Ð° ~ -c з -lt: Ñортувати за чаÑом зміни; з -l: виводити Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ та впорÑдкувати за назвою, у іншому випадку впорÑдкувати за чаÑом зміни, найновіші — перші � --complement доповнити множину вибраних байтів, знаків або полів. � --debug коментувати чаÑтину Ñ€Ñдка, викориÑтану Ð´Ð»Ñ Ð²Ð¿Ð¾Ñ€ÑдковуваннÑ, попереджати щодо Ñумнівного викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾ stderr --files0-from=Ф читати вхідні дані з файлів, вказаних за допомогою назв, відокремлених нуль-Ñимволом, у файлі Ф; Якщо Ф — -, читати назви зі Ñтандартного джерела вхідних даних � --debug виводити Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ некоректних вхідних даних � --dereference впливає на ціль кожного Ñимволічного поÑиланнÑ, а не на Ñаме Ñимволічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ -h, --no-dereference обробити Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть файлів, на Ñкі вони поÑилаютьÑÑ � --field=N заміÑити чиÑло у полі N вхідних даних (типове поле -- 1) � --files0-from=F читати вхідні дані з файлів, вказаних назвами зі ÑпиÑку, розділеного Ñимволами NUL у файлі F. Якщо F дорівнює «-», назви буде прочитано зі Ñтандартного джерела даних -L, --max-line-length вивеÑти довжину найбільшого Ñ€Ñдка -w, --words вивеÑти кількіÑть Ñлів � --files0-from=Ф вивеÑти звіт про файли, чиї назви (завершені нулем) перераховані у файлі Ф Якщо Ф вказано - назви берутьÑÑ Ð·Ñ– Ñтандартного вводу -H еквівалент ключа --dereference-args (-D) -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді (наприклад, 1K 234M 2G) � --format=ФОРМÐТ викориÑтовувати Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñтилі printf; див. докладний Ð¾Ð¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð² нижче � --from-unit=N вказати розмірніÑть одиниці у вхідних даних (заміÑть типової 1) � --from=ПОТОЧÐИЙ_ВЛÐСÐИК:ПОТОЧÐÐ_ГРУПРзмінює влаÑника та/або групу кожного файла лише Ñкщо поточний влаÑник та/або група відповідає вказаному виразу. Як група, так Ñ– влаÑник можуть бути опущені, у цьому випадку відповідніÑть атрибута не обов'Ñзкова. � --from=ОДИÐИЦЯ автоматично маÑштабувати вхідні чиÑла за ОДИÐИЦЕЮ; типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -- 'none'; див. Ð¾Ð¿Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ нижче � --group-directories-first показувати каталоги перед файлами. розширюєтьÑÑ Ð·Ð° допомогою параметра --sort, але викориÑÑ‚Ð°Ð½Ð½Ñ --sort=none (-U) вимикає Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ � --grouping групувати цифри відповідно до правил локалі, наприклад 1.000.000 (не працюватиме у локалі C/POSIX) � --header[=N] вивеÑти (без перетвореннÑ) перші N Ñ€Ñдків заголовка; Ñкщо не вказано, типовим значеннÑм Ñ” 1 � --help показати цю довідку та вийти � --indicator-style=СТИЛЬ додавати до назв елементів індикатор з вказаним СТИЛЕМ: none (типово), slash (-p), file-type (--file-type), classify (-F) -i, --inode з -l, виводити номер i-вузла кожного файла -I, --ignore=ШÐБЛОРне виводити файли, що відповідають ШÐБЛОÐУ -k, --kibibytes викориÑтовувати 1024-байтові блоки � --invalid=РЕЖИМ режим обробки некоректних Ñимволів. Можливі режими: abort (перервати обробку, типовий), fail (обробити з помилками), warn (попередити), ignore (ігнорувати). � --lookup намагатиÑÑŒ канонізувати назви вузлів через DNS -m лише назва вузлі та кориÑтувач, пов'Ñзані з Ñтандартним вводом -p, --process виводити активні процеÑи, Ñкі породжені init � --no-preserve-root не оброблÑти / оÑобливим чином --preserve-root не вилучати / (типова поведінка) -r, -R, --recursive рекурÑивно вилучати каталоги та Ñ—Ñ… вміÑÑ‚ -d, --dir вилучати порожні каталоги -v, --verbose поÑÑнювати дії, що виконуютьÑÑ � --no-preserve-root не трактувати '/' оÑобливим чином (типово) --preserve-root перешкоджати рекурÑивному виконанню на '/' � --no-preserve=СПИС_ÐТТР не зберігати вказані атрибути --parents добавить вихідний шлÑÑ… до КÐТÐЛОГУ � --one-file-system при вилученні ієрархії рекурÑивно, пропуÑкати каталоги, що лежать на інших файлових ÑиÑтемах, ніж вказані аргументами командного Ñ€Ñдку � --output[=СПИСОК_ПОЛІВ] викориÑтовувати формат виведеннÑ, визначений СПИСКОМ_ПОЛІВ, або вивеÑти вÑÑ– полÑ, Ñкщо СПИСОК_ПОЛІВ не вказано. -P, --portability виводити у форматі POSIX --sync викликати sync перед отриманнÑм інформації про викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² -t, --type=ТИП перерахувати лише файлові ÑиÑтеми вказаного ТИПУ -T, --print-type виводити тип файлової ÑиÑтеми -x, --exclude-type=ТИП виключати файлові ÑиÑтеми вказаного ТИПУ -v (ігноруєтьÑÑ) � --padding=N доповнити виведені дані до N Ñимволів. ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚Ð½Ð¾Ð³Ð¾ N призведе до Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ€ÑƒÑ‡ Від’ємні N вирівнюватимуть дані ліворуч. ЗауваженнÑ: Ñкщо виведені дані будуть довшими за N, Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ðµ відбуватиметьÑÑ. Типовим Ñ” автоматичне доповненнÑ, Ñкщо буде виÑвлено пробіли. � --pid=PID з ключем -f, перерватиÑÑ, коли Ð¿Ñ€Ð¾Ñ†ÐµÑ PID завершує роботу -q, --quiet, --silent не виводити заголовки з назвами файлів --retry повторювати Ñпроби відкрити файл, навіть Ñкщо доÑтуп до нього буде втрачено, кориÑно, Ñкщо вказано назву файла, тобто з --follow=name � --preserve-context зберегти контекÑÑ‚ безпеки SELinux -Z, --context=CONTEXT вÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² та каталогів � --preserve-status вийти зі Ñтаном рівним Ñтану КОМÐÐДИ, навіть Ñкщо Ñ‡Ð°Ñ Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ перевищено --foreground Якщо timeout не запущено безпоÑередньо з командної оболонки, надати змогу КОМÐÐДІ читати дані з TTY Ñ– отримувати Ñигнали TTY. У цьому режимі дочірні процеÑи КОМÐÐДИ не підлÑгатимуть обмеженню чаÑу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° завершеннÑ. -k, --kill-after=ТРИВÐЛІСТЬ надÑилати Ñигнал KILL, Ñкщо КОМÐÐДРне завершила роботу протÑгом вказаного чаÑу з надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñигналу. -s, --signal=СИГÐÐЛ вказати Ñигнал, Ñкий Ñлід надÑилати у разі Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу очікуваннÑ. СИГÐÐЛом може бути назва, наприклад HUP, або чиÑло. ПереглÑнути ÑпиÑок Ñигналів можна за допомогою команди «kill -l» � --reference=ЗФÐЙЛа викориÑтовувати групу ЗФÐЙЛа заміÑть Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð“Ð Ð£ÐŸÐ˜ � --reference=ЗФÐЙЛ викориÑтовувати режим ЗФÐЙЛа, заміÑть значень РЕЖИМ � --reference=ЗФÐЙЛ викориÑтовувати влаÑника та групу ЗФÐЙЛа заміÑть Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð’Ð›ÐСÐИКÐ:ГРУПИ � --reference=ЗФÐЙЛРвикориÑтовувати контекÑÑ‚ ЗФÐЙЛРзаміÑть Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ ÐšÐžÐТЕКСТ � --rfc-3339[=СПЕЦ] вивеÑти дату/Ñ‡Ð°Ñ Ñƒ форматі RFC 3339 СПЕЦ='date', 'seconds' або 'ns' Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ñ‚Ð¸ та чаÑу з вказаною точніÑтю. -s, --set=РЯДОК вÑтановити чаÑ, що опиÑуєтьÑÑ Ð Ð¯Ð”ÐšÐžÐœ -u, --utc, --universal показати або вÑтановити універÑальний координований Ñ‡Ð°Ñ � --round=СПОСІБ ÑпоÑіб Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¼Ð°ÑштабуваннÑ. Варіанти: up (до більшого), down (до меншого), from-zero (до дальшого до нулÑ, типовий), towards-zero (до ближчого до нулÑ), nearest (до найближчого цілого � --sort=СЛОВО Ñортувати відповідно до СЛОВО: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort Ñортувати за номером верÑÑ–Ñ— � --sparse=КОЛИ керує ÑтвореннÑм розріджених файлів. Див. нижче. --strip-trailing-slashes вилучає уÑÑ– кінцеві похилі риÑки з кожного аргументу ДЖЕРЕЛО � --strict з --check вийти з ненульовим кодом Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ-Ñкого некоректного джерела вхідних даних � --strip-trailing-slashes вилучає вÑÑ– кінцеві коÑÑ– риÑки з кожного аргументу ДЖЕРЕЛО -S, --suffix=СУФІКС перевизначає ÑÑƒÑ„Ñ–ÐºÑ Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій � --suffix=СУФФ додавати СУФФ до ШÐБЛОÐу. СУФФ не повинен міÑтити Ñимволів похилої риÑки. Цей параметр буде викориÑтано, Ñкщо ШÐБЛОРне завершуєтьÑÑ Ð½Ð° X. � --suffix=СУФІКС додати СУФІКС до виведених чиÑел Ñ– викориÑтовувати СУФІКС у вхідних даних. � --tag Ñтворити контрольну Ñуму у форматі BSD � --time-style=СТИЛЬ з -l, виводити Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовуючи СТИЛЬ: full-iso, long-iso, iso, locale, +ФОРМÐТ. ФОРМÐТ інтерпретуєтьÑÑ Ñк у 'date'; Ñкщо ФОРМÐТ - це ФОРМÐТ1<переведеннÑ-Ñ€Ñдка>ФОРМÐТ2, ФОРМÐТ1 заÑтоÑовуєтьÑÑ Ð´Ð¾ Ñтарих файлів, а ФОРМÐТ2 до нових; Ñкщо до СТИЛЮ доданий Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ 'posix-', то він діє лише не у POSIX локалі � --tmpdir[=КÐТ] інтерпретувати ШÐБЛОРвідноÑно КÐТ. Якщо КÐТ не вказано, викориÑтовуєтьÑÑ $TMPDIR, Ñкщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ задане, викориÑтовуєтьÑÑ /tmp., ШÐБЛОРне повинен бути абÑолютною назвою. Ðа відміну від -t, ШÐБЛОРможе міÑтити похилі риÑки, але mktemp Ñтворюватиме лише оÑтанній компонент таких запиÑів. � --to-unit=N розмірніÑть одиниці у виведених даних (заміÑть типової 1) � --to=ОДИÐИЦЯ автоматично маÑштабувати виведені чиÑла за ОДИÐИЦЕЮ; див. Ð¾Ð¿Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ нижче � --verbose виводити діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ відкриттÑм кожного файла виводу � --version показати інформацію про верÑÑ–ÑŽ та вийти � --all вивеÑти кількіÑть вÑтановлених процеÑорів --ignore=N Ñкщо можна, виключити N модулів обробки � -evenp Ñинонім -parenb cs8 * [-]lcase Ñинонім xcase iuclc olcuc litout Ñинонім -parenb -istrip -opost cs8 -litout Ñинонім parenb istrip opost cs7 nl Ñинонім -icrnl -onlcr -nl Ñинонім icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb два біти Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ñƒ Ñимволі (один, Ñкщо з '-') [-]hup надÑилати Ñигнал обриву термінальної лінії, коли оÑтанній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°ÐºÑ€Ð¸Ð²Ð°Ñ” термінал [-]hupcl Ñинонім [-]hup [-]parenb генерувати при виводі біт парноÑті та очікувати біт парноÑті на вводі [-]parodd вÑтановити перевірку на непарніÑть (або парніÑть, Ñкщо з '-') � [-]ignpar ігнорувати Ñимволи з помилками парноÑті * [-]imaxbel при переповненні буферу вводу подавати звуковий Ñигнал та не Ñкидати буфер, ігноруючи подальший ввід [-]inlcr перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ [-]inpck викориÑтовувати перевірку парноÑті вводу [-]istrip очищати Ñтарший (воÑьмий) біт Ñимволів, що вводÑтьÑÑ � [-]isig викориÑтовувати ÑпецÑимволи interrupt, quit, та suspend [-]noflsh заборонити ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ піÑÐ»Ñ Ð¿Ñ€Ð¸Ð¹Ð¾Ð¼Ñƒ ÑпецÑимволів interrupt та quit * [-]prterase Ñинонім [-]echoprt * [-]tostop призупинÑти фонові програми, що намагаютьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° термінал * [-]xcase відображати '\' Ð´Ð»Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… літер, вживаєтьÑÑ Ð· icanon � cooked Ñинонім brkint ignpar istrip icrnl ixon opost isig icanon, Ñимволи eof та eol мають типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -cooked Ñинонім raw crt Ñинонім echoe echoctl echoke � dec Ñинонім echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq Ñинонім [-]ixany ek вÑтановити типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñимволів erase та kill evenp Ñинонім parenb -parodd cs7 � ispeed РвÑтановити швидкіÑть вводу * line РвикориÑтовувати протокол лінії Ð min РвикориÑтовуєтьÑÑ Ð· -icanon, вÑтановити Рмінімальним чиÑлом Ñимволів Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ospeed РвÑтановити швидкіÑть виводу � oddp Ñинонім parenb parodd cs7 -oddp Ñинонім -parenb cs8 [-]parity Ñинонім [-]evenp pass8 Ñинонім -parenb -istrip cs8 -pass8 Ñинонім parenb istrip cs7 � raw Ñинонім -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw Ñинонім cooked � sane Ñинонім cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, вÑÑ– ÑпецÑимволи мають типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ � stop СИМВОЛ СИМВОЛ буде призупинÑти ввід susp СИМВОЛ СИМВОЛ буде надÑилати терміналу Ñигнал зупинки * swtch СИМВОЛ СИМВОЛ буде перемикати рівень ÑкладноÑті оболонки * werase СИМВОЛ СИМВОЛ буде Ñтирати оÑтаннє введене Ñлово � %% один знак % %b інтерпретувати escape-поÑлідовноÑті у ÐРГУМЕÐТІ, крім віÑімкових у формі \0 або \0ÐÐРа також вÑÑ– Ñпецифікації формату у Ñтилі C, що закінчуютьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ з знаків diouxXfeEgGcs; ÐРГУМЕÐТ приводитьÑÑ Ð´Ð¾ відповідного типу. ОброблÑютьÑÑ Ñ‚Ð°ÐºÐ¾Ð¶ знаки змінної ширини. � %A міÑцева повна назва Ð´Ð½Ñ Ñ‚Ð¸Ð¶Ð½Ñ (напр., понеділок) %b міÑцева Ñкорочена назва міÑÑÑ†Ñ (напр., Ñіч) %B міÑцева повна назва міÑÑÑ†Ñ (напр., Ñічень) %c міÑцевий Ñ‡Ð°Ñ Ñ‚Ð° дата (напр., Чтв 3 Мар 23:05:25 2005) � %C ÑтоліттÑ; Ñк %Y, але без двох оÑтанніх цифр (наприклад 20) %d день міÑÑÑ†Ñ (наприклад 01) %D дата; те Ñаме, що Ñ– %m/%d/%y %e день міÑÑцÑ, доповнений пробілами; те Ñаме, що Ñ– %_d � %F повна дата; еквівалентно %Y-%m-%d %g оÑтанні дві цифри року Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚Ð¸Ð¶Ð½Ñ ISO (Ñм. %G) %G рік Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚Ð¸Ð¶Ð½Ñ ISO (Ñм. %V); звичайно буває кориÑно лише з %V � %S Ñекунди (00..60) %t табулÑÑ†Ñ–Ñ %T чаÑ, аналог %H:%M:%S %u день Ñ‚Ð¸Ð¶Ð½Ñ (1..7); 1 означає понеділок � %U номер Ñ‚Ð¸Ð¶Ð½Ñ Ñƒ році, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- Ð½ÐµÐ´Ñ–Ð»Ñ (00..53) %V номер Ñ‚Ð¸Ð¶Ð½Ñ Ð¿Ð¾ ISO, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- понеділок (01..52) %w день Ñ‚Ð¸Ð¶Ð½Ñ (0..6), 0 означає неділю %W номер Ñ‚Ð¸Ð¶Ð½Ñ Ñƒ році, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- понеділок (00..53) � %d номер приÑтрою, деÑÑтковий %D номер приÑтрою, шіÑтнадцÑтковий %f низькорівневий режим, шіÑтнадцÑтковий %F тип файла %g ідентифікатор групи-влаÑника %G назва групи-влаÑника � %h кількіÑть жорÑтких поÑилань %i кількіÑть inode %m точка Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %n назва файла %N екранована назва файла, Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ñ–Ð¼ÐµÐ½Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑÑ %o оптимальний розмір блоку введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %s повний розмір, у байтах %t оÑновний тип приÑтрою, шіÑтнадцÑтковий %T другорÑдний тип приÑтрою, шіÑтнадцÑтковий � %h те Ñаме, що й %b %H Ñ‡Ð°Ñ (00..23) %I Ñ‡Ð°Ñ (01..12) %j номер Ð´Ð½Ñ Ñƒ році (001..366) � %i Ідентифікатор файлової ÑиÑтеми, шіÑтнадцÑтковий %l МакÑимальна довжина назви файла %n Ðазва файла %s Розмір блоку (Ð´Ð»Ñ ÑˆÐ²Ð¸Ð´ÑˆÐ¾Ñ— передачі) %S Фундаментальний розмір блоку (Ð´Ð»Ñ Ð¾Ð±Ð»Ñ–ÐºÑƒ блоків) %t Тип, шіÑтнадцÑтковий %T Тип у текÑтовій формі � %k Ñ‡Ð°Ñ Ð· доповненнÑм пробілом ( 0..23); те Ñаме, що Ñ– %_H %l Ñ‡Ð°Ñ Ð· доповненнÑм пробілом ( 1..12); те Ñаме, що Ñ– %_I %m міÑÑць (01..12) %M хвилини (00..59) � %n новий Ñ€Ñдок %N наноÑекунди (000000000..999999999) %p міÑцевий еквівалент AM або PM; пропуÑкаєтьÑÑ Ñкщо невідомо %P Ñк %p, але малими літерами %r Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до локалі, 12-годинний формат (напр., 11:11:04 PM) %R години та хвилини відповідно до локалі, 24-годинний формат; аналог %H:%M %s чиÑло Ñекунд, що минули з 1970-01-01 00:00:00 UTC � %u ідентифікатор кориÑтувача-влаÑника %U ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача-влаÑника %w Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° у зручному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–; - Ñкщо невідомий %W Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° у Ñекундах від початку Епохи; 0 Ñкщо невідомий %x Ñ‡Ð°Ñ Ð¾Ñтанньої доÑтупу %X Ñ‡Ð°Ñ Ð¾Ñтанньої доÑтупу у Ñекундах з початку Епохи %y Ñ‡Ð°Ñ Ð¾Ñтанньої зміни %Y Ñ‡Ð°Ñ Ð¾Ñтанньої зміни у Ñекундах з початку Епохи %z Ñ‡Ð°Ñ Ð¾Ñтанньої зміни %Z Ñ‡Ð°Ñ Ð¾Ñтанньої зміни у Ñекундах з початку Епохи � %x міÑцеве предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ñ‚Ð¸ (напр., дд/мм/рр) %X міÑцеве предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу (напр., 23:13:48) %y оÑтанні дві цифри року (00..99) %Y рік � %z +ггхх чаÑовий поÑÑ (наприклад -0400) %:z +гг:Ñ…Ñ… чаÑовий поÑÑ (наприклад -04:00) %::z +гг:Ñ…Ñ…:ÑÑ Ñ‡Ð°Ñовий поÑÑ (наприклад -04:00:00) %:::z чаÑовий поÑÑ Ð· доÑтатньою кількіÑтю двокрапок (наприклад -04, +05:30) %Z алфавітне ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñового поÑÑу (наприклад EDT) Типово date доповнює чиÑлові Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ»Ñми. � + ЛЕКСЕМРÑприймати ЛЕКСЕМУ Ñк Ñ€Ñдок, навіть Ñкщо це ключове Ñлово, Ñк 'match', або оператор, Ñк '/' ( ВИРÐЗ ) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ � +ПЕРШÐ_СТОРІÐКÐ[:ОСТÐÐÐЯ_СТОРІÐКÐ], --pages=ПЕРШÐ_СТОРІÐКÐ[:ОСТÐÐÐЯ_СТОРІÐКÐ] почати [завершити] друк на ПЕРШІЙ_[ОСТÐÐÐІЙ_]СТОРІÐЦІ -КІЛЬКІСТЬ, --columns=КІЛЬКІСТЬ виводити вказану КІЛЬКІСТЬ колонок та виводити Ñ—Ñ… вниз, лише коли не вказаний ключ -a. БаланÑувати кількіÑть Ñ€Ñдків у колонці на кожній Ñторінці. � - +ФОРМÐТ (наприклад +%H:%M) Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ у Ñтилі 'date' � --output-delimiter=РЯД розділÑти Ñтовпчику вÑтавлÑючи РЯД � --userspec=КОР:ГРУПРвказати кориÑтувача Ñ– групу (ід. або назву) --groups=СПИСОК_ГРУП вказати додаткові групи у форматі гр1,гр2,…,грN � -0, --null завершувати кожен Ñ€Ñдок виведених даних 0-байтом заміÑть Ñимволу нового Ñ€Ñдка -a, --all виводить обÑÑг Ð´Ð»Ñ ÑƒÑÑ–Ñ… файлів, а не лише каталогів --apparent-size виводить дійÑні розміри, а не зайнÑтий диÑковий проÑтір; хоча Ñправжній розмір звичайно менший, іноді він може бути більшим через дірки у файлах, внутрішньої фрагментації, непрÑмих блоків та Ñ‚.Ñ–. � -0, --null завершувати кожен Ñ€Ñдок 0-байтом заміÑть розриву Ñ€Ñдка � -A, --address-radix=ОСÐОВРвиводити зÑув у файлах викориÑтовуючи вказану ÑиÑтему чиÑÐ»ÐµÐ½Ð½Ñ ÐžÐ¡ÐОВОЮ може бути одна з літер [doxn], деÑÑткова, віÑімкова, шіÑтнадцÑткова або ніÑка -j, --skip-bytes=РпропуÑтить перші Рбайт � -A, --auto-reference виводити автоматично згенеровані поÑÐ¸Ð»Ð°Ð½Ð½Ñ -G, --traditional увімкнути режим ÑуміÑноÑті з System V -F, --flag-truncation=РЯДОК викориÑтовувати РЯДОК Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð¸Ñ… Ñ€Ñдків � -B, --block-size=РОЗМІР викориÑтовувати блоки вказаного РОЗМІРУ. Приклад: «-BM» виводить розміри у одиницÑÑ… у 1.048.576 байтів. Формат РОЗМІР опиÑано нижче. -b, --bytes еквівалент «--apparent-size --block-size=1» -c, --total підбивати підÑумок -D, --dereference-args розіменовувати Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñƒ командному Ñ€Ñдку -d, --max-depth=Рвиводити підÑумки Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ (або файла, Ñкщо вказано --all), лише, Ñкщо він перебуває на Ð-му або нижчому рівні відноÑно аргументу командного Ñ€Ñдка; --max-depth=0 — те Ñаме, що Ñ– Ð´Ð»Ñ --summarize � -C виводити ÑпиÑок у декілька колонок --color[=КОЛИ] вказує, чи позначати типи файлів кольором. КОЛИ може бути «never» (не позначати), «always» (виділÑти) або «auto» (залежить від термінала) -d, --directory виводити назви каталогів, а не Ñ—Ñ… зміÑÑ‚, а також не Ñлідувати за Ñимволічним поÑиланнÑм -D, --dired Ñтворити виведені дані у режимі Emacs dired � -D Ñтворювати вÑÑ– початкові Ñкладові ЦІЛІ крім оÑтанньої, потім копіювати ДЖЕРЕЛО у ЦІЛЬ -g, --group=ГРУПРвÑтановлювати ГРУПУ, а не групу поточного процеÑу -m, --mode=РЕЖИМ вÑтановлювати РЕЖИМ (Ñк chmod), а не rwxr-xr-x -o, --owner=ВЛÐСÐИК вÑтановлювати ВЛÐСÐИКР(лише Ð´Ð»Ñ ÑуперкориÑтувача) � -D, --all-repeated[=delimit-method] вивеÑти вÑÑ– Ñ€Ñдки, що повторюютьÑÑ delimit-method={none(типово),prepend,separate)} Ð Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð·Ð° порожніми Ñ€Ñдками. -f, --skip-fields=Рне порівнювати перші Рполів -i, --ignore-case ігнорувати при порівнÑнні регіÑтр -s, --skip-chars=Рне порівнювати перші Рзнаків -u, --unique виводити лише Ñ€Ñдки, що не повторюютьÑÑ -z, --zero-terminated кінцеві Ñ€Ñдки з 0 байта, без Ñимволу нового Ñ€Ñдка � -D, --date-format=ФОРМÐТ викориÑтовувати Ð´Ð»Ñ Ð´Ð°Ñ‚Ð¸ у заголовку вказаний ФОРМÐТ -e[ЗÐÐК[ЧИСЛО]], --expand-tabs[=ЗÐÐК[ЧИСЛО]] перетворювати вхідні ЗÐÐКИ (табулÑцію) у вказане ЧИСЛО пробілів (8) -F, -f, --form-feed Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ñторінок вживати знак переноÑу Ñторінки, а не нового Ñ€Ñдка (з трьохрÑдковим заголовком, Ñкщо Ñ” ключ -F, та п'ÑтирÑдковим заголовком та кінцівкою, Ñкщо ключ -F не вказаний) � -G, --no-group у довгому ÑпиÑку, не виводити назви груп -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді (наприклад, 1K 234M 2G) -H, --si те Ñаме, але виводити Ñтупені 1000, а не 1024 � -H, --dereference-command-line Ñлідувати за Ñимвольними поÑиланнÑми у командному Ñ€Ñдку --dereference-command-line-symlink-to-dir Ñлідувати за уÑіма Ñимвольними поÑиланнÑми у командному Ñ€Ñдку, Ñкі вказують на каталог --hide=ШÐБЛОРне виводити файли, що відповідають ШÐБЛОÐУ оболонки (ÑкаÑовуєтьÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -a або -A) � -I питати перед вилученнÑм більш ніж трьох файлів або при рекурÑивному вилученні. Менш набридливий ніж -i, хоча забезпечує захиÑÑ‚ від більшоÑті помилок --interactive[=КОЛИ] питати КОЛИ: never, once (-I), always (-i). Без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐšÐžÐ›Ð˜ — питати завжди � -L ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñимвольним поÑиланнÑм (еквівалент -h) -O ФÐЙЛ ФÐЙЛ Ñ–Ñнує та належить поточному ефективному кориÑтувачу -p ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” іменованим каналом -r ФÐЙЛ ФÐЙЛ Ñ–Ñнує доÑтупний Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ -s ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ненульовий розмір � -L, --dereference Ñлідувати за поÑиланнÑм -f, --file-system показати Ñтан файлової ÑиÑтеми, а не файла � -L, --logical викориÑтовувати PWD з Ñередовища, навіть Ñкщо там міÑÑ‚ÑтьÑÑ Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ -P, --physical пропуÑтити вÑÑ– Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ � -M, --macro-name=РЯДОК назва макроÑу, Ñку Ñлід викориÑтовувати заміÑть 'xx' -O, --format=roff генерувати вивід у виглÑді директив roff -R, --right-side-refs поміщати поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñправа, не діє при -w -S, --sentence-regexp=REGEXP Ð´Ð»Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдків або ÐºÑ–Ð½Ñ†Ñ Ñ€ÐµÑ‡ÐµÐ½ÑŒ -T, --format=tex генерувати вивід у виглÑді директив TeX � -N, --read-bytes=N читати лише N байтів у кожному файлі -S, --strings[=N] виводити Ñ€Ñдки довжиною принаймні N байтів графічних знаків Якщо N не вказано, буде викориÑтано 3 -t, --format=ТИП вибір формату або форматів виводу -v, --output-duplicates не позначати знаком * Ñ€Ñдки, що не виводÑтьÑÑ -w[N], --width[=N] виводити N байтів у кожному Ñ€Ñдку виводу Якщо N не вказано, буде викориÑтано 32 --traditional приймати аргументи у традиційній формі � -P, --no-dereference не Ñлідувати за Ñимвольним поÑиланнÑм (типово) -S, --separate-dirs не включати розмір каталогів --si подібне до -h, але з викориÑтаннÑм мір, кратних до 1000, а не 1024 -s, --summarize виводити лише Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ аргументу � -R, --recursive змінювати файли Ñ– каталоги рекурÑивно � -R, --recursive оброблÑти файли Ñ– каталоги рекурÑивно � -R, -r, --recursive копіювати каталоги рекурÑивно --reflink[=КОЛИ] керувати копіÑми clone/CoW. Див. нижче. --remove-destination вилучати кожен цільовий файл, перш ніж копіювати його (протилежніÑть до --force) � -S Ñортувати за розміром файла --sort=СЛОВО extension -X, none -U, size -S, time -t, version -v, status -c, time -t, atime -u, access -u, use -u --time=СЛОВО з -l, виводити заміÑть чаÑу зміни чаÑ, вказаний СЛОВОМ: atime, access, use, ctime або status; Ñкщо --sort=time, викориÑтовувати вказаний Ñ‡Ð°Ñ Ñк ключ ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ � -S ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñокетом -t [ДФ] деÑкриптор файла ДФ відкритий на терміналі -u ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака set-user-ID -w ФÐЙЛ ФÐЙЛ Ñ–Ñнує та доÑтупний Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу -x ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” виконуваним � -S, --suffix=СУФІКС вказує СУФІКС Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій -t, --target-directory=КÐТÐЛОГ вказує КÐТÐЛОГ, у Ñкому Ñтворювати поÑÐ¸Ð»Ð°Ð½Ð½Ñ -T, --no-target-directory завжди вважати ÐÐЗВУ_ПОСИЛÐÐÐЯ звичайним файлом -v, --verbose виводити назву кожного файла перед ÑтвореннÑм поÑÐ¸Ð»Ð°Ð½Ð½Ñ � -S[РЯДОК], --sep-string[=РЯДОК] розділÑти колонки необов'Ñзковим РЯДКОМ; без -S: розділювач — табулÑціÑ, Ñкщо вказано ключ -J, інакше пробіл (те Ñаме, що -S" "); не впливає на ключі Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº -t, --omit-header не виводити заголовки � -T, --omit-pagination не виводити заголовки, ігнорувати Ñимволи розриву Ñторінки у вхідних файлах -v, --show-nonprinting викориÑтовувати Ð·Ð°Ð¿Ð¸Ñ Ð· «\» та віÑімковим кодом -w, --width=ШИРИÐÐ_СТОРІÐКИ вÑтановити ШИРИÐУ_СТОРІÐКИ (72) у Ñтовпчиках Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ у декілька колонок, -s[знак] вимикає (72) � -T, -w, --mesg додавати ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ Ñк +, - або ? -u, --users перерахувати підключених кориÑтувачів --message еквівалент -T --writable еквівалент -T � -W, --page-width=ШИРИÐÐ_СТОРІÐКИ вÑтановити ШИРИÐУ_СТОРІÐКИ (72) Ñимволи, уÑікати Ñ€Ñдки, Ñкщо не вказаний ключ -J; не змінюєтьÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -S чи -s � -W, --word-regexp=REGEXP регулÑрний вираз Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ð¸Ñ… Ñлів -b, --break-file=ФÐЙЛ ФÐЙЛ з Ñимволами-розділювачами Ñлів -f, --ignore-case перетворювати до верхнього регіÑтру при Ñортуванні -g, --gap-size=ЧИСЛО розмір проміжку між полÑми виводу, виражений у Ñтовпчиках -i, --ignore-file=ФÐЙЛ прочитати перелік ігнорованих Ñлів з ФÐЙЛР-o, --only-file=ФÐЙЛ лише прочитати ÑпиÑок Ñлів з заданого ФÐЙЛР� -X, --exclude-from=ФÐЙЛ виключити файли, назви Ñких відповідають зразку з ФÐЙЛа --exclude=ЗРÐЗОК виключити файли, назви Ñких відповідають ЗРÐЗКУ -x, --one-file-system пропуÑкати каталоги на різних файлових ÑиÑтемах � -Z, --context=КОРвÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐÐЗВРу КОР� -Z, --context=КОРвÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— ÐÐЗВИ у КОР� -a змінювати лише Ñ‡Ð°Ñ Ð´Ð¾Ñтупу -c, --no-create не Ñтворювати файлів -d, --date=РЯДОК проаналізувати РЯДОК Ñ– викориÑтовувати його заміÑть поточного чаÑу -f (ігноруєтьÑÑ) � -a, --across виводити колонки поперек, а не вниз; викориÑтовуєтьÑÑ Ñ€Ð°Ð·Ð¾Ð¼ з ключем -ЧИСЛО -c, --show-control-chars викориÑтовувати Ð·Ð°Ð¿Ð¸Ñ Ð· шапочкою (^G) або зворотною коÑою риÑкою (та віÑімковим кодом) -d, --double-space вÑтавлÑти порожній Ñ€Ñдок піÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ виведеного Ñ€Ñдка � -a, --all не ігнорувати запиÑи, що починаютьÑÑ Ð· . -A, --almost-all не виводити неÑвні . Ñ– .. --author разом з -l, виводити автора кожного файла -b, --escape виводити віÑімкові керівні поÑлідовноÑті заміÑть неграфічних знаків � -a, --all включати віртуальні файлові ÑиÑтеми -B, --block-size=РОЗМІР викориÑтовувати блоки вказаного РОЗМІРУ. Приклад: «-BM» виводить розміри у одиницÑÑ… у 1.048.576 байтів. Формат РОЗМІР опиÑано нижче. --total виводити підÑумок -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді (наприклад, 1K 234M 2G) -H, --si те Ñаме, але викориÑтовувати Ñтупені 1000, а не 1024 � -a, --all вивеÑти поточні параметри у текÑтовій формі -g, --save вивеÑти поточні параметри у формі, що зрозуміла програмі stty -F, --file=ПРИСТРІЙ відкрити та викориÑтовувати вказаний приÑтрій заміÑть Ñтандартного вводу � -a, --all перетворювати вÑÑ– пробільні знаки, а не лише початкові --first-only перетворювати лише початкові пробільні знаки (перекриває-a) -t, --tabs=ЧИСЛО вживати табулÑцію вказаної ширини, а не 8 (включає -a) -t, --tabs=СПИСОК викориÑтовувати заданий СПИСОК (розділених комами) позицій табулÑції (включає -a) � -a, --archive те Ñаме що та -dR --preserve=all --attributes-only не копіювати даних файла, лише атрибути --backup[=CONTROL] Ñтворити резервну копію перед вилученнÑм -b те Ñаме, що й --backup, але без аргументу --copy-contents копіює зміÑÑ‚ Ñпеціальних файлів при рекурÑивному викориÑтанні -d те Ñаме, що й --no-dereference --preserve=link � -a, --multiple увімкнути підтримку декількох аргументів, вважати кожен з них ÐÐЗВОЮ -s, --suffix=СУФІКС вилучити кінцевий СУФІКС -z, --zero відокремлювати пункти у виведенні Ñимволом NUL, а не Ñимволом нового Ñ€Ñдка � -a, --suffix-length=РвикориÑтовувати ÑуфікÑи довжини Ð (типово %d) -b, --bytes=ЧИСЛО запиÑувати у кожен файл виводу вказане ЧИСЛО байт -C, --line-bytes=ЧИСЛО запиÑувати не більше вказаного ЧИСЛРбайт з Ñ€Ñдка -d, --numeric-suffixes викориÑтовувати чиÑлові, а не алфавітні ÑуфікÑи -e, --elide-empty-files do not generate empty output files with '-n' --filter=КОМÐÐДРзапиÑувати КОМÐÐДУ до оболонки; назвою файла Ñ” $FILE -l, --lines=ЧИСЛО запиÑувати у кожен файл виводу вказане ЧИСЛО Ñ€Ñдків -n, --number=КІЛЬКІСТЬ Ñтворити КІЛЬКІСТЬ фрагментів виведеннÑ. Див. нижче. -u, --unbuffered копіювати вхідні дані безпоÑередньо до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· «-n r/...» � -b, --before приєднати розділювач до початку, а не до ÐºÑ–Ð½Ñ†Ñ -r, --regex Ñприймати розділювач Ñк регулÑрний вираз -s, --separator=РЯДОК вказати розділювачем РЯДОК, а не знак '\n' � -b, --binary читати у двійковому режимі � -b, --binary читати у двійковому режимі (типово, Ñкщо читаєтьÑÑ Ð½Ðµ термінальне введеннÑ) � -b, --body-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків тіла -d, --section-delimiter=СС викориÑтовувати СС Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… Ñторінок -f, --footer-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків нижнього колонтитулу � -b, --bytes прочитати байти, а не Ñтовпчики -s, --spaces розбивати лише на пробілах -w, --width=ЧИСЛО викориÑтовувати вказане ЧИСЛО Ñтовпчиків, а не 80 � -b, --bytes=СПИСОК вибрати лише вказані байти -c, --characters=СПИСОК вибрати лише вказані знаки -d, --delimiter=РОЗДІЛЮВÐЧ викориÑтовувати РОЗДІЛЮВÐЧ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² заміÑть табулÑції � -b, --ignore-leading-blanks ігнорувати початкові пробіли -d, --dictionary-order розглÑдати лише пропуÑки, літери та цифри -f, --ignore-case ігнорувати регіÑтр літер � -b, --suffix-format=ФОРМÐТ викориÑтовувати ФОРМÐТ Ñк у sprintf заміÑть %02d -f, --prefix=ПРЕФІКС викориÑтовувати ПРЕФІКС заміÑть 'xx' -k, --keep-files не вилучати файли виводу при помилках � -c --format=ФОРМÐТ викориÑтовувати вказаний ФОРМÐТ, а не типовий; переводити Ñ€Ñдок піÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ викориÑÑ‚Ð°Ð½Ð½Ñ Ð¤ÐžÐ ÐœÐТУ --printf=ФОРМÐТ Ñк --format, але інтерпретувати керівні поÑлідовноÑті Ñ– не переводити Ñ€Ñдок наприкінці. Якщо потрібно Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка, вÑтавте у ФОРМÐТ \n. -t, --terse виводити дані у компактній формі � -c, --bytes=РвивеÑти оÑтанні Рбайтів; вкажіть «-c +л, щоб Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ розпочато з Ð-го байта кожного з файлів � -c, --bytes=[-]K вивеÑти перші K байтів кожного файла; Ñкщо перед K Ñтоїть «-», вивеÑти вÑÑ–, крім K оÑтанніх байтів кожного файла -n, --lines=[-]K вивеÑти перші K Ñ€Ñдків кожного файла, а не 10; Ñкщо перед K Ñтоїть «-», вивеÑти вÑÑ–, крім K оÑтанніх Ñ€Ñдків кожного файла � -c, --changes подібний до verbose, але повідомити про них, лише Ñкщо внеÑено зміни -f, --silent, --quiet придушити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки -v, --verbose вивеÑти діагноÑтичні дані Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з оброблених файлів � -c, --check читати Ñуми %s з ФÐЙЛІВ та порівнÑти Ñ—Ñ… � -c, --check, --check=diagnose-first перевірÑти, чи Ñортовані вхідні файли; не Ñортувати -C, --check=quiet, --check=silent Ñк -c, але не повідомлÑти про перший помилковий Ñ€Ñдок --compress-program=ПРОГ ÑтиÑкати тимчаÑові файли командою ПРОГ; розпаковувати командою ПРОГ -d � -c, --count виводити чиÑло повторів на початку кожного Ñ€Ñдка -d, --repeated виводити лише Ñ€Ñдки, що повторюютьÑÑ � -c, --crown-margin зберігати відÑтупи двох перших Ñ€Ñдків -p, --prefix=РЯДОК форматувати лише Ñ€Ñдки, що починаютьÑÑ Ð· РЯДОК, зберігаючи при цьому Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ Ñ€Ñдків -s, --split-only розбивати довгі Ñ€Ñдки, але не заповнювати � -c, --no-create не Ñтворювати файлів � -d, --date=РЯДОК показати чаÑ, опиÑаний РЯДКОМ, а не теперішній. -f, --file=ФÐЙЛ_ДÐТИ подібний до --date Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з Ñ€Ñдків ФÐЙЛ_ДÐТИ -I[СПЕЦЧÐСУ], --iso-8601[=СПЕЦЧÐСУ] вивеÑти дату Ñ– Ñ‡Ð°Ñ Ñƒ форматі ISO 8601. СПЕЦЧÐСУ='date' визначає лише дату (типово), 'hours', 'minutes', 'seconds' Ñ– 'ns' -- дата Ñ– Ñ‡Ð°Ñ Ð· відповідною точніÑтю. � -d, --decode декодувати дані -i, --ignore-garbage під Ñ‡Ð°Ñ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкати Ñимволи поза абеткою -w, --wrap=СТОВПЧИК переноÑити кодовані Ñ€Ñдки піÑÐ»Ñ Ñимволу СТОВПЧИК (типово 76). 0 вимикає перенеÑÐµÐ½Ð½Ñ Ñ€Ñдків. � -d, --delimiter=X викориÑтовувати X заміÑть пробілу Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² � -d, --delimiters=СПИСОК викориÑтовувати заміÑть табулÑції знаки зі СПИСКУ -s, --serial оброблÑти файли поÑлідовно � -d, --directory Ñтворити каталог, а не файл -u, --dry-run не Ñтворювати нічого; лише вивеÑти назву (не Ñ” безпечним) -q, --quiet вимкнути діагноÑтику щодо помилок ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñ– каталогів � -e інтерпретувати керівні поÑлідовноÑті -E не інтерпретувати керівні поÑлідовноÑті (типово) � -e інтерпретувати керівні поÑлідовноÑті (типово) -E не інтерпретувати керівні поÑлідовноÑті � -e, --canonicalize-existing вÑÑ– компоненти шлÑху мають Ñ–Ñнувати -m, --canonicalize-missing не повинно Ñ–Ñнувати жодного компонента -L, --logical оброблÑти компоненти '..' до Ñимволічних поÑилань -P, --physical оброблÑти Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ (типово) -q, --quiet придушити більшіÑть повідомлень про помилки --relative-to=ФÐЙЛ вивеÑти визначений шлÑÑ… відноÑно ФÐЙЛа --relative-base=ФÐЙЛ вивеÑти абÑолютні шлÑхи, Ñкщо вони не Ñ” підлеглими ФÐЙЛ -s, --strip, --no-symlinks не розгортати Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ -z, --zero відокремлювати чаÑтини результату NUL, а не Ñимволом нового Ñ€Ñдка � -e, --echo вважати кожен ÐРГУМЕÐТ вхідним Ñ€Ñдком -i, --input-range=ÐИЖ-ВИЩ вважати чиÑла від ÐИЖ до ВИЩ вхідним Ñ€Ñдком -n, --head-lines=РЯДКІВ виводити принаймні кількіÑть РЯДКІВ -o, --output=ФÐЙЛ вивеÑти результат у ФÐЙЛ, а не Ñтандартний вивід --random-source=ФÐЙЛ випадкові дані з ФÐЙЛа -z, --zero-terminated завершувати Ñ€Ñдки нульовим байтом, а не Ñимволом нового Ñ€Ñдка � -f не Ñортувати, вмикає -aU, вимикає -lst -F, --classify додавати до назви індикатор (один з */=>@|) --file-type аналогічно, але не додавати '*' --format=СЛОВО across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time виводити повну дату та Ñ‡Ð°Ñ � -f опуÑтити у короткому форматі Ñ€Ñдок з заголовками колонок -w опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача -i опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та назву віддаленої машини -q опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, назву віддаленої машини та Ñ‡Ð°Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті � -f Ñинонім -t fF, чиÑла з плаваючою комою -i Ñинонім -t dI, деÑÑткові цілі -l Ñинонім -t dL, деÑÑткові довгі цілі -o Ñинонім -t o2, віÑімкові двобайтові одиниці -s Ñинонім -t d2, деÑÑткові двобайтові одиниці -x Ñинонім -t x2, шіÑтнадцÑткові двобайтові одиниці � -f ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” звичайним файлом -g ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака set-group-ID -G ФÐЙЛ ФÐЙЛ Ñ–Ñнує та належить поточної ефективній групі -h ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñимвольним поÑиланнÑм (еквівалент -L) -k ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака sticky � -f, --canonicalize отримати канонічну назву файла шлÑхом рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним поÑиланнÑм в уÑÑ–Ñ… компонентах шлÑху; вÑÑ– компоненти пути, крім оÑтаннього, повинні Ñ–Ñнувати -e, --canonicalize-existing отримати канонічну назву файла шлÑхом рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним поÑиланнÑм у кожній компоненті вказаного пути; вÑÑ– компоненти шлÑху повинні Ñ–Ñнувати � -f, --fields=СПИСОК вибрати лише вказані полÑ; також виводити вÑÑ– Ñ€Ñдки, що не міÑÑ‚Ñть розділювачів, Ñкщо не вказаний ключ -s -n (ігноруєтьÑÑ) � -f, --follow[={name|descriptor}] виводити дані, що надходÑть, при зроÑтанні файла; -f, --follow та --follow=descriptor еквівалентні -F еквівалент --follow=name --retry � -f, --force Ñкщо не можна відкрити Ñ–Ñнуючий файл, вилучити його та Ñпробувати ще раз (буде проігноровано, Ñкщо вказано параметр -n ) -i, --interactive запитувати Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ перепиÑом (перевизначає раніше вказаний параметрі -n ) -H Ñлідувати за Ñимвольним поÑиланнÑм у ДЖЕРЕЛО � -f, --force змінювати права, дозволÑючи запиÑ, Ñкщо потрібно -n, --iterations=N перепиÑати N разів заміÑть (%d) типово --random-source=ФÐЙЛ брати випадкові дані з ФÐЙЛа -s, --size=N очиÑтити N байт (можливі ÑуфікÑи, подібні до K, M, G) � -f, --format ФОРМÐТ викориÑтовувати ФОРМÐТ у Ñтилі printf -s, --separator РЯДОК викориÑтовувати РЯДОК Ñк розділювач (типово \n) -w, --equal-width вирівнювати за шириною з додаваннÑм початкових нулів � -g Ñк Ñ– -l, але не виводити влаÑника � -g GID[,GID1...] також вÑтановити головний ідентифікатор групи у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ GID, та (Ñкщо вказано) ідентифікатори додаткових груп ID у GID1, ... � -g, --general-numeric-sort порівнювати чиÑла у загальному форматі -i, --ignore-nonprinting розглÑдати лише друковані знаки -M, --month-sort порівнювати (невідомо) < 'JAN' < ... < 'DEC' � -h, --header-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків верхнього колонтитула -i, --page-increment=ЧИСЛО крок Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків -l, --join-blank-lines=ЧИСЛО вказане ЧИСЛО порожніх Ñ€Ñдків вважати одним -n, --number-format=ФОРМÐТ викориÑтовувати ФОРМÐТ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків -p, --no-renumber не починати нумерацію з початку піÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— логічної Ñторінки -s, --number-separator=РЯДОК додавати РЯДОК піÑÐ»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° � -h ЗÐГОЛОВОК, --header=ЗÐГОЛОВОК викориÑтовувати Ð´Ð»Ñ Ñторінок центрований ЗÐГОЛОВОК, а не назву файла; -h "" виводить порожній Ñ€Ñдок; не викориÑтовуйте -h "" -i[ЗÐÐК[ШИРИÐÐ]], --output-tabs[=ЗÐÐК[ШИРИÐÐ]] замінити пробіли ЗÐÐКÐМИ (табулÑцію) вказаної ШИРИÐИ (8) -J, --join-lines об'єднувати повні Ñ€Ñдки, вимкнути ÑƒÑ€Ñ–Ð·Ð°Ð½Ð½Ñ Ñ€Ñдків (-W), не вирівнювати колонки, --sep-string[=РЯДОК] задає розділювачі � -h, --human-numeric-sort порівнювати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ зручному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ– (приклад: 2к 1Г) � -h, --no-dereference впливає на Ñимволічне поÑиланнÑ, а не на файл, на Ñкий вказує (діє лише на ÑиÑтемі з підтримкою зміни чаÑових позначок Ñимволічних поÑилань) -m змірити лише Ñ‡Ð°Ñ Ð²Ð½ÐµÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ � -i, --ignore-case ігнорувати регіÑтр літер при порівнÑнні полів -j ПОЛЕ еквівалентно '-1 ПОЛЕ -2 ПОЛЕ' -o ФОРМÐТ виводити відповідно до ФОРМÐТУ -t ЗÐÐК викориÑтовувати ЗÐÐК Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² вводу та виводу � -i, --ignore-environment почати з порожнім оточеннÑм -0, --null завершувати кожне з виведених Ñ€Ñдків 0-байтом, а не розривом Ñ€Ñдка -u, --unset=ÐÐЗВРвилучити з Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ ÐÐЗВИ � -i, --initial не перетворювати знаки табулÑції піÑÐ»Ñ Ð·Ð½Ð°ÐºÑ–Ð² пробілів -t, --tabs=ЧИСЛО вÑтановлює ширину табулÑції, типово 8 � -i, --inodes вивеÑти інформацію про індекÑні деÑкриптори, а не про викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² -k аналог --block-size=1K -l, --local перерахувати лише локальні файлові ÑиÑтеми --no-sync не викликати sync перед отриманнÑм інформації про викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² (типово) � -i, --input=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартного Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ -o, --output=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартного Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ -e, --error=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартних помилок � -i, --interactive запитувати, чи Ñлід вилучати Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -L, --logical розіменувати призначеннÑ, Ñкі Ñ” Ñимволічними поÑиланнÑми -n, --no-dereference вважати поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ файлом, Ñкщо воно Ñ” Ñимволічним поÑиланнÑм на каталог -P, --physical Ñтворювати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿Ð¾Ñередньо на Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ -r, --relative Ñтворювати Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñно Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ -s, --symbolic Ñтворювати Ñимволічні поÑиланнÑ, заміÑть жорÑтких � -k Ñк --block-size=1K -L, --dereference розіменувати вÑÑ– Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ -l, --count-links прочитати кожне жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñк окремий файл -m Ñк --block-size=1M � -k, --key=ВИЗÐКЛ впорÑдкувати за ключем, ВИЗÐКЛ визначає міÑце Ñ– тип -m, --merge об'єднати вже впорÑдковані файли; не впорÑдковувати � -l викориÑтовувати широкий формат -L, --dereference показувати інформацію про Ñимвольні поÑиланнÑ, виводити інформацію про файл, на Ñкий поÑилаєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ -m виводити ÑпиÑок на вÑÑŽ ширину через кому � -l, --length=ДОВЖИÐÐ_СТОРІÐКИ вÑтановити ДОВЖИÐУ_СТОРІÐКИ (66) (типово кількіÑть Ñ€Ñдків текÑту рівно 56, а з -F 63) -m, --merge виводити вÑÑ– файли паралельно, по одному у Ñтовпчику, урізати Ñ€Ñдка, але з'єднувати повні Ñ€Ñдки при -J � -l, --link Ñтворювати жорÑткі поÑиланнÑ, а не копіювати -L, --dereference завжди Ñлідувати за Ñимволічним поÑиланнÑм у ДЖЕРЕЛО � -l, --login виводити процеÑи входу у ÑиÑтему � -m, --canonicalize-missing отримати канонічну назва файла шлÑхом рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним поÑиланнÑм в уÑÑ–Ñ… компонентах шлÑху; компоненти не обов'Ñзково мають Ñ–Ñнувати -n, --no-newline не виводити кінцевий роздільник -q, --quiet, -s, --silent не виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки -v, --verbose повідомлÑти про помилки -z, --zero відокремлювати виведені Ñ€Ñдки нуль-байтом, а не Ñимволом нового Ñ€Ñдка � -m, --mode=РЕЖИМ вÑтановити права доÑтупу у РЕЖИМ, а не a=rw - umask � -m, --mode=MODE вÑтановити код доÑтупу (Ñк у chmod) -p, --parents не виводити помилок Ñкщо каталог Ñ–Ñнує, при потребі Ñтворювати батьківÑькі каталоги -v, --verbose виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ кожен Ñтворений каталог -Z, --context=CTX вÑтановити контекÑÑ‚ безпеки SELinux кожного Ñтвореного каталогу на CTX � -n, --adjustment=N збільшити поÑтупливіÑть на ціле чиÑло N (типово 10) � -n, --digits=ЦИФРИ викориÑтовувати вказане чиÑло ЦИФР заміÑть 2 -s, --quiet, --silent не виводити розміри вихідних файлів -z, --elide-empty-files вилучати порожні файли виводу � -n, --lines=Рвиводити оÑтанні РрÑдків, а не оÑтанні %d ÑкориÑтайтеÑÑ -n +K Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдків з Ð-го --max-unchanged-stats=Ð c ключем --follow=name, повторно відкривати ФÐЙЛ, Ñкий не змінивÑÑ Ð¾Ñтанні Ð (типово %d) ітерацій, щоб перевірити, чи не було його вилучено або перейменовано (таке звичайно буває при ротації ÑиÑтемних протокольних файлів) З inotify цей параметр малокориÑний. � -n, --no-clobber не перепиÑувати Ñ–Ñнуючий файл (перевизначає попередній параметр -i) -P, --no-dereference ніколи не йти за Ñимволічними поÑиланнÑми у ДЖЕРЕЛО � -n, --numeric-sort порівнювати чиÑлові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñдків -R, --random-sort Ñортувати за випадковими хешами ключів --random-source=ФÐЙЛ випадкові дані з ФÐЙЛР-r, --reverse зворотний порÑдок порівнÑÐ½Ð½Ñ � -n, --numeric-uid-gid Ñк -l, але виводити чиÑлові UID та GID -N, --literal виводити назви Ñк Ñ” (не оброблÑти оÑобливим чином, наприклад, керівні знаки) -o Ñк -l, але не виводити інформацію про групу -p, --indicator-style=slash додавати індикатор / до каталогів � -n[РОЗД[ЧИСЛО]], --number-lines[=РОЗД[ЧИСЛО]] нумерувати Ñ€Ñдки, викориÑтовуючи вказане ЧИСЛО (5) цифр та РОЗДілювач (табулÑцію); типово Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ Ð· першого вхідного Ñ€Ñдка -N, --first-line-number=ÐОМЕР почати нумерацію з ÐОМЕРРз першого Ñ€Ñдка першої Ñторінки, що виводитьÑÑ (дивітьÑÑ +ПЕРШÐ_СТОРІÐКÐ) � -o, --indent=ПОЛЕ зÑувати кожен Ñ€Ñдок на ПОЛЕ (нуль) пробілів (не впливає на -w або -W); ПОЛЕ додаєтьÑÑ Ð´Ð¾ ШИРИÐÐ_СТОРІÐКИ -r, --no-file-warnings не попереджати про неможливіÑть Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° � -o, --io-blocks вважати РОЗМІР кількіÑтю блоків введеннÑ-виваденнÑ, а не байтів � -o, --output=ФÐЙЛ виводити у ФÐЙЛ, а не на Ñтандартний вивід -s, --stable Ñтабілізувати ÑортуваннÑ, виключивши перевірку на рівніÑть -S, --buffer-size=РОЗМІР викориÑтовувати в пам'Ñті буфер вказаного РОЗМІРУ � -p те Ñаме, що й --preserve=mode,ownership,timestamps --preserve[=СПИС_ÐТТР] зберігати вказані атрибути (типово: mode,ownership,timestamps), Ñкщо можливо додаткові атрибути: context, links, xattr, all � -p КÐТÐЛОГ викориÑтовувати КÐТÐЛОГ Ñк префікÑ; додає -t [заÑтарілий] -t вважати ШÐБЛОРодиночним компонентом назви файла, відноÑно каталогу: $TMPDIR, Ñкщо вÑтановлено; у іншому разі каталог вказуєтьÑÑ Ñƒ -p; інакше /tmp [заÑтаріло] � -p, --parents вилучити КÐТÐЛОГ Ñ– підлеглі каталоги. Ðаприклад, «rmdir -p a/b/c» робить те ж Ñаме, що й «rmdir a/b/c a/b a». -v, --verbose виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ обробленого каталогу � -p, --preserve-timestamps вÑтановлювати цільовим файлам Ñ‡Ð°Ñ Ð´Ð¾Ñтупу/зміни Ñк у Ñ—Ñ… файлів-ДЖЕРЕЛ -s, --strip вилучати таблиці Ñимволів --strip-program=ПРОГРÐМРпрограма, що викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ -S, --suffix=СУФІКС викориÑтовувати Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій заданий СУФІКС -t, --target-directory=КÐТÐЛОГ копіювати вÑÑ– аргументи-ДЖЕРЕЛРу КÐТÐЛОГ -T, --no-target-directory вважати ЦІЛЬ звичайним файлом -v, --verbose виводити назву кожного Ñтворюваного каталогу � -q, --count вÑÑ– назви та кількіÑть підключених кориÑтувачів -r, --runlevel виводити поточний рівень Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ -s, --short виводити лише назву, лінію та Ñ‡Ð°Ñ (приймаєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾) -t, --time виводити оÑтанню зміна ÑиÑтемного чаÑу � -q, --hide-control-chars виводити ? заміÑть не графічних Ñимволів --show-control-chars виводити недруковані Ñимволи (типово Ñкщо програма не 'ls' та вивід йде не на термінал). -Q, --quote-name взÑти назву файла у дужки --quoting-style=СЛОВО викориÑтовувати вид Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð´ÑƒÐ¶ÐºÐ°Ð¼Ð¸ СЛОВО: literal, shell, shell-always, c, escape � -q, --quiet, --silent не виводити заголовки з назвами файлів -v, --verbose завжди виводити заголовки з назвами файлів � -r, --reference=ФÐЙЛ показати Ñ‡Ð°Ñ Ð¾Ñтанньої зміни ФÐЙЛу -R, --rfc-2822 виводити Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до RFC-2822 Приклад: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=ФÐЙЛ викориÑтовувати Ñ‡Ð°Ñ Ð¤ÐЙЛРзаміÑть поточного -t Ð§Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати [[Ð’Ð’]РР]ММДДггхх[.ÑÑ] заміÑть поточного чаÑу --time=СЛОВО змінити вказаний чаÑ: СЛОВО access, atime, use еквівалентно -a СЛОВО modify, mtime еквівалентно -m � -r, --reference=RФÐЙЛ оÑновний розмір RФÐЙЛР-s, --size=РОЗМІР вÑтановити або змінити розмір файла, відповідно до РОЗМІР � -r, --references перше поле у кожній Ñ€Ñдку Ñ” поÑиланнÑм -t, --typeset-mode - не реалізовано - -w, --width=ЧИСЛО ширина виводу у Ñтовпчиках, без ÑƒÑ€Ð°Ñ…ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñилань � -r, --reverse зворотний порÑдок ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ -R, --recursive рекурÑивно виводити каталоги -s, --size виводити розмір кожного файла, у блоках � -s, --only-delimited не виводити Ñ€Ñдки, що не міÑÑ‚Ñть розділювачів --output-delimiter=РЯДОК викориÑтовувати РЯДОК Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² при виводі, типово викориÑтовуєтьÑÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÐ²Ð°Ñ‡ Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ � -s, --signal=СИГÐÐЛ, -СИГÐÐЛ вказує назву або номер Ñигналу, що надÑилаєтьÑÑ -l, --list виводить назви Ñигналів або переводить назви у номери та назад -t, --table виводить таблицю з інформацією про Ñигнали � -s, --sleep-interval=Рз ключем -f, перевірÑти Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… даних приблизно кожні Ð Ñекунд (типово 1). Якщо викориÑтано inotify Ñ– --pid=P, перевірÑти Ð¿Ñ€Ð¾Ñ†ÐµÑ P принаймні кожні Ð Ñекунд. -v, --verbose завжди виводити заголовки з назвами файлів � -s, --symbolic-link Ñтворювати Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð° не копіювати -S, --suffix=СУФІКС викориÑтовувати Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñних копій вказаний СУФІКС --target-directory=КÐТÐЛОГ Ñкопіювати вÑÑ– ДЖЕРЕЛРу КÐТÐЛОГ -T, --no-target-directory вважати ЦІЛЬ звичайним файлом � -s[ЗÐÐК],--separator[=ЗÐÐК] розділÑти колонки одним знаком, типово ЗÐÐК дорівнює табулÑції, без ключа -w, та порожній, Ñкщо Ñ” ключ -w -s[ЗÐÐК] вимикає ÑƒÑ€Ñ–Ð·Ð°Ð½Ð½Ñ Ñ€Ñдків Ð´Ð»Ñ ÑƒÑÑ–Ñ… трьох ключів Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº (-ЧИСЛО |-a -ЧИСЛО|-m), Ñкщо немає ключа -w � -t впорÑдковувати за чаÑом зміни, найновіші Ñпочатку -T, --tabsize=ЧИСЛО крок табулÑції дорівнює ЧИСЛУ заміÑть 8 � -t еквівалент -vT -T, --show-tabs відображати Ñимволи табулÑцій Ñк ^I -u (ігноруєтьÑÑ) -v, --show-nonprinting викориÑтовувати нотацію ^ та M-, за винÑтком Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка та табулÑції � -t, --field-separator=РОЗДІЛЮВÐЧ викориÑтовувати при пошуку ключових полів РОЗДІЛЮВÐЧ, а не перехід від непробільних знаків до пробільних -T, --temporary-directory=КÐТÐЛОГ викориÑтовувати Ð´Ð»Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñових файлів КÐТÐЛОГ, а не $TMPDIR або %s; декілька таких ключів задають декілька каталогів -u, --unique з -c, Ñуворо перевірÑти порÑдок; без -c, виводити лише перше з кількох рівних � -t, --tabs=СПИСОК викориÑтовувати розділений комами ÑпиÑок позицій табулÑції � -t, --tagged-paragraph відÑтуп першого Ñ€Ñдка, відмінний від другого -u, --uniform-spacing один пробіл піÑÐ»Ñ Ñлова, два піÑÐ»Ñ Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ -w, --width=ЧИСЛО макÑимальна довжина Ñ€Ñдка (типово 75 позицій) -g, --goal=ДОВЖИÐРоÑтаточна довжина (типово 93% довжини) � -t, --target-directory=КÐТÐЛОГ переміÑтити вÑÑ– ДЖЕРЕЛРу КÐТÐЛОГ -T, --no-target-directory вважати ЦІЛЬ звичайним файлом -u, --update переміщувати лише тоді коли файл ДЖЕРЕЛО новіший ніж цільовий файл, або коли цільовий файл відÑутній -v, --verbose поÑÑнювати виконувані дії � -t, --text читати у текÑтовому режимі (типово, Ñкщо читаєтьÑÑ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¸Ð¹ ввід) � -t, --text читати у текÑтовому режимі (типово) � -t, --threshold=РОЗМІР виключити запиÑи, менші за РОЗМІР, Ñкщо додатне, або запиÑи, більші за РОЗМІР, Ñкщо від’ємне --time виводити Ñ‡Ð°Ñ Ð¾Ñтанньої зміни будь-Ñкого файла у каталозі або уÑÑ–Ñ… його підкаталогів --time=СЛОВО виводити вказаний у СЛОВО чаÑ, а не Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸: atime, access, use, ctime або status --time-style=СТИЛЬ виводити чаÑ, викориÑтовуючи СТИЛЬ: full-iso, long-iso, iso, +ФОРМÐТ ФОРМÐТ інтерпретуєтьÑÑ Ñк у 'date' � -u з -lt: Ñортувати та виводити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу з -l: виводити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу та впорÑдкувати за назвою інакше: впорÑдкувати за чаÑом доÑтупу -U не впорÑдковувати; виводити відповідно до фізичного Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ -v впорÑдкувати за номерами (верÑією) у текÑтовому форматі � -u, --remove обрізати та вилучати файл піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñи -v, --verbose виводити поÑтуп -x, --exact не округлÑти розміри файлів до наÑтупного цілого блоку; типово Ð´Ð»Ñ Ð½ÐµÐ·Ð²Ð¸Ñ‡Ð½Ð¸Ñ… файлів -z, --zero перезапиÑати у конці нулÑми, щоб Ñховати Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ � -u, --update копіювати лише тоді коли вихідний файл новіший ніж цільовий файл, або коли цільовий файл відÑутній -v, --verbose поÑÑнювати що зроблено -x, --one-file-system залишатиÑÑŒ у межах однієї файлової ÑиÑтеми � -u, --user=КОРИСТУВÐЧ вÑтановити кориÑтувача КОРИСТУВÐЧ у цільовому контекÑті безпеки -r, --role=РОЛЬ вÑтановити роль РОЛЬ у цільовому контекÑті безпеки -t, --type=ТИП вÑтановити тип ТИП у цільовому контекÑті безпеки -l, --range=ДІÐПÐЗОРвÑтановити діапазон ДІÐПÐЗОРу цільовому контекÑті безпеки � -v ÐОМЕР Ñк -а ÐОМЕР, але не виводити наÑвні пари Ñ€Ñдків -1 ПОЛЕ вважати Ñпільним вказане ПОЛЕ файла 1 -2 ПОЛЕ вважати Ñпільним вказане ПОЛЕ файла 2 --check-order перевірити, чи впорÑдковано належним чином введеннÑ, навіть Ñкщо Ð´Ð»Ñ Ð²ÑÑ–Ñ… вхідних Ñ€Ñдків Ñ” пари --nocheck-order не перевірÑти, чи впорÑдковано вхідні дані --header вважати перший Ñ€Ñдок кожного файла заголовками полів, вивеÑти Ñ—Ñ… без Ñпроб знайти Ð´Ð»Ñ Ð½Ð¸Ñ… пари � -v, --kernel-version вивеÑти верÑÑ–ÑŽ Ñдра -m, --machine вивеÑти тип Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸ -p, --processor вивеÑти тип процеÑора або "невідомо" -i, --hardware-platform вивеÑти тип апаратної платформи або "невідомо" -o, --operating-system вивеÑти назву операційної ÑиÑтеми � -v, --starting-line-number=ЧИСЛО перший номер Ñ€Ñдка Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— логічної Ñторінки -w, --number-width=ЧИСЛО викориÑтовувати вказане ЧИСЛО Ñтовпчиків Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків � -v, --verbose вивеÑти діагноÑтичні дані Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з оброблених файлів � -w, --check-chars=Рпорівнювати перші Рзнаків Ñ€Ñдків � -w, --width=ЧИСЛО задає ширину екрана заміÑть поточного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -x вивід ÑпиÑку Ñ€Ñдками, а не Ñтовпчиками -X Ñортувати за розширеннÑм у алфавітному порÑдку -Z, --context виводити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ файла -1 виводити по одному файлу у Ñ€Ñдку � -z, --zero завершувати кожен Ñ€Ñдок нуль-байтом заміÑть розриву Ñ€Ñдка � -z, --zero-terminated завершувати Ñ€Ñдки нульовим байтом, а не Ñимволом нового Ñ€Ñдка � КОÐТЕКСТ Повний контекÑÑ‚ безпеки -c, --compute обчиÑлити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ контекÑту перед зміною -t, --type=ТИП тип (Ð´Ð»Ñ Ñ‚Ñ–Ñ”Ñ— ж ролі, що й у батьківÑькому) -u, --user=КОРИСТУВÐЧ кориÑтувач -r, --role=РОЛЬ роль -l, --range=ДІÐПÐЗОРдіапазон Ñ€Ñ–Ð²Ð½Ñ � Файл: «%n» Ід.: %-8i Довжина назви: %-7l Тип: %T Розмір блоку: %-10s Базовий розмір блоку: %S Блоки: загалом: %-10b вільних: %-10f доÑтупних: %a Inode: загалом: %-10c вільних: %d � Файл: %N Розмір: %-10s Блоків: %-10b Блок в/в: %-6o %F � ПроцеÑи у Ñтані неперервного Ñну також впливають на Ñереднє завантаженнÑ. � [:graph:] вÑÑ– друковані знаки, за винÑтком пробілу [:lower:] вÑÑ– маленькі літери [:print:] вÑÑ– друковані знаки, включно з пробілом [:punct:] вÑÑ– знаки пунктуації [:space:] вÑÑ– вертикальні або горизонтальні пробільні знаки [:upper:] вÑÑ– великі літери [:xdigit:] вÑÑ– шіÑтнадцÑткові цифри [=ЗÐÐК=] вÑÑ– знаки, еквівалентні ЗÐÐКУ � \0NNN байт з віÑімковим значеннÑм NNN (від 1 до 3 цифр) \xHH байт з шіÑтнадцÑтковим значеннÑм HH (від 1 до 2 цифр) � \NNN байт з віÑімковим значеннÑм NNN (від 1 до 3 цифр) \xÐРбайт з шіÑтнадцÑтковим кодом ÐÐ (від 1 до 2 цифр) \uÐÐÐРзнак Unicode (ISO/IEC 10646) з шіÑтнадцÑтковим кодом ÐÐÐÐ (4 цифри) \UÐÐÐÐÐÐÐРзнак Unicode з шіÑтнадцÑтковим кодом ÐÐÐÐÐÐÐÐ (8 цифр) � \\ зворотна риÑка \a дзвінок (BEL) \b backspace \c не виводити завершальний Ñимвол нового Ñ€Ñдка \e escape \f нова Ñторінка \n новий Ñ€Ñдок \r Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ \t горизонтальна табулÑÑ†Ñ–Ñ \v вертикальна табулÑÑ†Ñ–Ñ � \v вертикальна табулÑÑ†Ñ–Ñ Ð—ÐÐК1-ЗÐÐК2 вÑÑ– знаки від ЗÐÐК1 до ЗÐÐК2 у порÑдку зроÑÑ‚Ð°Ð½Ð½Ñ [ЗÐÐК*] ЗÐÐК заповнює ТÐБЛИЦЮ2 до довжини ТÐБЛИЦІ1 [ЗÐÐК*ЧИСЛО] вказане ЧИСЛО однакових ЗÐÐКІВ; ЧИСЛО віÑімкових, Ñкщо починаєтьÑÑ Ð· 0 [:alnum:] вÑÑ– літери та цифри [:alpha:] вÑÑ– літери [:blank:] вÑÑ– горизонтальні пробільні Ñимволи [:cntrl:] вÑÑ– керівні знаки [:digit:] вÑÑ– цифри � ascii з EBCDIC на ASCII ebcdic з ASCII на EBCDIC ibm з ASCII на альтернативну EBCDIC block заповнювати запиÑи, що закінчуютьÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñом Ñ€Ñдка, пробілами до розміру cbs unblock замінювати кінцеві пробіли у запиÑах з розміром cbs переноÑом Ñ€Ñдка lcase змінювати регіÑтр з верхнього на нижній ucase змінювати регіÑтр з нижнього на верхній sparse Ñпробувати виконати Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть запиÑу до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… блоків NUL swab мінÑти міÑцÑми кожну пару вхідних байтів sync доповнювати кожен вхідний блок нулÑми до розміру ibs; Ñкщо вживаєтьÑÑ Ñ€Ð°Ð·Ð¾Ð¼ з block або unblock, доповнювати пробілами � auto приймати додаткові одно-/дволітерні ÑуфікÑи: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary викориÑтовувати двійковий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… � cio викориÑтовувати конкурентне введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð´Ð°Ñ‚Ð¸ � count_bytes вважати «count=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ iflag) � d[ЧИСЛО] знакове деÑÑткове ціле розміром вказане ЧИСЛО байт f[ЧИСЛО] чиÑло з плаваючою точкою розміром вказане ЧИСЛО байт o[ЧИСЛО] віÑімкове ціле розміром вказане ЧИСЛО байт u[ЧИСЛО] беззнакове деÑÑткове ціле розміром вказане ЧИСЛО байт x[ЧИСЛО] шіÑтнадцÑткове ціле розміром вказане ЧИСЛО байт � direct викориÑтовувати прÑмий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… � directory помилка, Ñкщо не Ñ” каталогом � dsync викориÑтовувати Ñинхронізований ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… � excl завершатьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ, Ñкщо файл виводу уже Ñ–Ñнує nocreat не Ñтворювати файл виводу notrunc не обрізати файл виводу noerror продовжувати піÑÐ»Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ fdatasync фізично запиÑати файл виводу перед завершеннÑм fsync аналогічно, але запиÑати також метадані � fullblock акумулювати повні блоки вводу (лише iflag) � iec приймати додаткові однолітерні ÑуфікÑи: 1K = 1024, 1M = 1048576, ... � iec-i приймати додаткові дволітерні ÑуфікÑи: 1Ki = 1024, 1Mi = 1048576, ... � if=ФÐЙЛ читати ФÐЙЛ, а не Ñтандартне Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ iflag=СПИСОК читати відповідно до СПИСКУ Ñимволів, елементи Ñлід розділÑти комами obs=ЧИСЛО запиÑувати вказане ЧИСЛО байт за раз (типово 512) of=ФÐЙЛ запиÑувати у ФÐЙЛ, а не у Ñтандартне Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ oflag=СПИСОК запиÑувати відповідно до ÑпиÑку Ñимволів, елементи Ñлід розділÑти комами seek=N пропуÑтити з початку виводу N блоків розміром obs skip=N пропуÑтити з початку вводу N блоків розміром ibs status=РЕЖИМ РЕЖИМ Ð¿Ñ€Ð¸Ð´ÑƒÑˆÐµÐ½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… до stderr; «noxfer» — придушити Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÑтатиÑтики передаваннÑ, «none» — придушити Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких даних � noatime не оновлювати Ñ‡Ð°Ñ Ð¾Ñтаннього доÑтупу � nocache відкинути кешовані дані � noctty не призначати керівний термінал з файла � nofollow не Ñлідувати за Ñимвольним поÑиланнÑм � nolinks помилка, Ñкщо знайдено декілька поÑилань � nonblock викориÑтовувати ввід/вивід без Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ � none без автоматичного маÑштабуваннÑ; викориÑÑ‚Ð°Ð½Ð½Ñ ÑуфікÑів призведе до Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку � none, off ніколи не Ñтворювати резервних копій (навіть Ñкщо вказаний ключ --backup) numbered, t Ñтворювати нумеровані копії existing, nil Ñкщо Ñ–Ñнують нумеровані копії, то Ñтворювати нумеровані інакше Ñтворювати проÑті simple. never завжди Ñтворювати проÑті копії � seek_bytes вважати «seek=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ oflag) � si приймати додаткові однолітерні ÑуфікÑи: 1K = 1000, 1M = 1000000, ... � skip_bytes вважати «skip=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ iflag) � sync те Ñаме, але також Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð¸Ñ… � text викориÑтовувати текÑтовий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… � %H:%M � (резервна копіÑ: %s)�* [-]ctlecho відображати керівні Ñимволи з шапкою ('^c') [-]echo відображати Ñимволи, що вводÑтьÑÑ * [-]echoctl Ñинонім [-]ctlecho [-]echoe Ñинонім [-]crterase [-]echok відображати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка піÑÐ»Ñ Ñимволу Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ �* [-]echoke Ñинонім [-]crtkill [-]echonl відображати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка, навіть Ñкщо інші Ñимволи не відображаютьÑÑ * [-]echoprt виводити Ñтерті Ñимволи у зворотному порÑдку, між '\' та '/' [-]icanon викориÑтовувати ÑпецÑимволи erase, kill, werase, та rprnt [-]iexten викориÑтовувати ÑпецÑимволи, не опиÑані у Ñтандарті POSIX �* [-]iuclc перетворювати великі літери на малі * [-]ixany дозволити будь-Ñкому Ñимволу відновити ввід [-]ixoff дозволити надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñимволів призупиненнÑ/Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ [-]ixon дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ даних [-]parmrk відмічати помилки парноÑті (поÑлідовніÑтю з 255 нулів) [-]tandem Ñинонім [-]xioff � * [-]iutf8 вважати, що вхідні знаки у кодуванні UTF-8 �* [-]ocrnl перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка * [-]ofdel заповнювати Ñимволами Ð·Ð°Ñ‚Ð¸Ñ€Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть нулів * [-]ofill викориÑтовувати Ñимволи Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ñ‚Ñ€Ð¸Ð¼Ð¾Ðº * [-]olcuc перетворювати маленькі літери на великі * [-]onlcr перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ * [-]onlret Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка призводить до Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ �* [-]onocr не виводити Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у першому Ñтовпчику [-]opost форматувати вивід * tabÐ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°ÑƒÐ·Ð¸ піÑÐ»Ñ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð¾Ñ— табулÑції, допуÑтимі Ð [0..3] * tabs Ñинонім tab0 * -tabs Ñинонім tab3 * vtРпауза піÑÐ»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— табулÑції, діапазон Ð [0..1] �* eol2 СИМВОЛ інший СИМВОЛ Ð´Ð»Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка erase СИМВОЛ СИМВОЛ буде Ñтирати оÑтанній введений до нього intr СИМВОЛ СИМВОЛ буде надÑилати Ñигнал Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ kill СИМВОЛ СИМВОЛ буде Ñтирати поточний Ñ€Ñдок �* lnext СИМВОЛ СИМВОЛ буде вводити наÑтупний Ñимвол, ÑкаÑовуючи його Ñпеціальну дію quit СИМВОЛ СИМВОЛ буде надÑилати Ñигнал виходу * rprnt СИМВОЛ СИМВОЛ буде перериÑовувати поточний Ñ€Ñдок start СИМВОЛ СИМВОЛ буде відновлювати ввід �* rows Рповідомити Ñдру, що термінал має РрÑдків * size вивеÑти чиÑла Ñтовпчиків та Ñ€Ñдків, відомі Ñдру speed вивеÑти швидкіÑть терміналу time РвикориÑтовуєтьÑÑ Ð· -icanon, вÑтановити чаÑову межу Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ РдеÑÑтим Ñекунди � ??:???? � Термінал� контекÑÑ‚=%s� egid=%s� euid=%s� gid=%s� групи=�давно� при повторі %s �% 1% пам'Ñті, b 1, k 1024 (типово), та так далі Ð´Ð»Ñ M, G, T, P, E, Z, Y. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід. *** ПОПЕРЕДЖЕÐÐЯ *** Ð’Ñтановлена в Ñередовищі локаль впливає на порÑдок ÑортуваннÑ. Щоб отримати традиційний порÑдок, що викориÑтовує ÑиÑтемні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ð°Ð¹Ñ‚, вÑтановіть LC_ALL=C. �%.*s: неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ�%b %e %Y�%b %e %H:%M�%lu кориÑтувач�%lu кориÑтувачі�%lu кориÑтувачів�%s (Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного виразу %s)�%s -> %s (відновленнÑ) �%s [-d] аварійно завершений�%s та %s - один Ñ– той Ñамий файл�%s Ñ–Ñнує, але не Ñ” каталогом�%s з'ÑвивÑÑ; початий вивід Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�%s Ñтав доÑтупний�%s Ñтав недоÑтупний�%s було замінено віддаленим файлом. Кінець виводу Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— назви�%s був замінений файлом, Ð´Ð»Ñ Ñкого tail незаÑтоÑовний; кінець виводу Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— назви�%s був заміщений; вивід продовжуєтьÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�%s має невідомий тип файла�%s має непридатний, ймовірно від'ємний розмір�Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка %s: <%s> �%s Ð´Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка: <http://www.gnu.org/software/%s/> �%s не Ñ” правильним цілим додатнім чиÑлом�%s надто велике�%s можна викориÑтовувати лише у Ñередовищі з підтримкою SELinux у Ñдрі�дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s�помилка підпроцеÑу %s�дочірнім процеÑом %s отримано Ñигнал щодо аварійного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ %d�вказано %s, але без %s�%s перепише вхідні дані; перериваємо роботу�%s%s, аргумент '%s' Ñ” занадто об’ємним�%s-%s�%s: %s наÑтільки великий, що його неможливо машинно предÑтавити�%s: %s: номер Ñ€Ñдка поза допуÑтимими межами�%s: %s: відповідніÑть не знайдено�%s: %s:%s: неправильний порÑдок: �%s: при вказуванні чиÑла повторів Ñлід додати '}'�%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ або прочитати �%s: очікуєтьÑÑ Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ð¹ оператор�%s: відноÑні Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° Ñтворювати лише у поточному каталозі�%s: не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ неблокуючий режим�%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір файла�%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ ID %lu �%s: не можна Ñтежити за кінцем файла такого типу; вивід продовжуєтьÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�ÑŽ%s: не вдалоÑÑ Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ вказівник файла на початкову позицію�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñати каталог�%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÐ¾Ñ‚Ð¸Ñ‚Ð¸ÑÑŒ�%s: не вдалоÑÑ Ð·Ñунути вказівник файла�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на %s відноÑно кінцÑ�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ до позиції %s�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на %s�%s: не вдалоÑÑ Ð½Ð°Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ файловий деÑкриптор з лише з правом додаваннÑ�%s: не вдалоÑÑ Ð¿Ñ€Ð¾Ð¿ÑƒÑтити�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на вказану кількіÑть�%s: пропущено кінцевий роздільник '%c'�%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ неблокуючий режим�%s: ÑпуÑтитьÑÑ Ñƒ каталог %s? �%s: ÑпуÑтитьÑÑ Ñƒ захищений від запиÑу каталог %s? �%s: кінець файла�%s: потрібно вказати один Ñимвол, що визначає ÐºÐ»Ð°Ñ ÐµÐºÐ²Ñ–Ð²Ð°Ð»ÐµÐ½Ñ‚Ð½Ð¸Ñ… йому�%s: помилка при Ñкороченні�%s: помилка запиÑи за зÑувом %s�%s: очікуєтьÑÑ Ñ‡Ð¸Ñлове значеннÑ�%s: не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸�%s: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо розширень�%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�%s: не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸�%s: не вдалоÑÑ Ñкинути вказівник на файл�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fcntl завершилаÑÑŒ помилкою�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fdatasync завершилаÑÑŒ невдало�%s: файл має від'ємний розмір�%s: файл надто ÑкоротивÑÑ�%s: файл надто великий�%s: файл надто великий�%s: файл обрізаний�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fstat завершилаÑÑŒ помилкою�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fsync завершилаÑÑŒ невдало�%s: не допуÑкаєтьÑÑ Ñтворювати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° каталоги�%s: на вході міÑтитьÑÑ Ñ†Ð¸ÐºÐ»:�%s: на вході міÑтитьÑÑ Ð½ÐµÐ¿Ð°Ñ€Ð½Ð° кількіÑть лекÑем�%s: вхідний файл Ñ” файлом виводу�%s: піÑÐ»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÐ²Ð°Ñ‡Ð° очікуєтьÑÑ Ñ†Ñ–Ð»Ðµ чиÑло�%s: некоректний розмір блоку введеннÑ-виведеннÑ�%s: неправильний PID�%s: некоректний номер фрагмента�%s: неправильний лічильник на початку %s�%s: неправильна директива�%s: неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ð»Ñ %s�%s: неправильний розмір файла�%s: неправильний тип файла�%s: неправильна макÑимальна кількіÑть не змінених параметрів між відкриттÑми�%s: неприпуÑтимий чиÑло�%s: неправильна кількіÑть байт�%s: некоректна кількіÑть фрагментів�%s: неправильна кількіÑть Ñ€Ñдків�%s: неправильна кількіÑть проходів�%s: неправильне чиÑло Ñекунд�%s: некоректне чиÑло Ð´Ð»Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ�%s: некоректний параметр — «%c» �%s: неприпуÑтимий шаблон�%s: неправильний ідентифікатор процеÑу�%s: неприпуÑтимий регулÑрний вираз: %s�%s: неправильний Ñигнал�%s: некоректне початкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ чиÑловому ÑуфікÑÑ–�%s: неправильна довжина ÑуфікÑу�%s: номер Ñ€Ñдка повинен бути більше нулÑ�%s: номер Ñ€Ñдка поза допуÑтимими межами�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ lseek завершилаÑÑŒ помилкою�%s: задано декілька Ñигналів�%s: нові права доÑтупу %s, а не %s�%s: не знайдено правильно Ñкладених Ñ€Ñдків контрольних Ñум %s�%s: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ приÑтрою немає відомоÑтей про розмір�%s: такого кориÑтувача не Ñ–Ñнує�%s: пропущено вже перелічений каталогу�%s: чиÑло байт надто великий�%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «%c%s» не передбачено �%s: неоднозначний параметр «%s»; можливі варіанти:�%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «--%s» не передбачено �%s: до параметра «--%s» Ñлід додати аргумент �%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «-W %s» не передбачено �%s: параметр «-W %s» не Ñ” однозначним �%s: до параметра «-W %s» Ñлід додати аргумент �%s: до параметра Ñлід додати аргумент — «%c» �%s: перепиÑати %s? �%s: прохід %lu/%lu (%s)...�%s: прохід %lu/%lu (%s)...%s�%s: прохід %lu/%lu (%s)...%s/%s %d%%�%s: помилка читаннÑ�%s: вилучити %s %s? �%s: вилучити уÑÑ– аргументи рекурÑивно? �%s: вилучити уÑÑ– аргументи? �%s: вилучити захищений від запиÑу %s %s? �%s: вилучено�%s: вилученнÑ�%s: перейменований на %s�%s: замінити %s? �%s: помилка Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾ файла�%s: надто багато Ñ€Ñдків контрольних Ñум�%s: намагатиÑÑŒ перепиÑати %s, незважаючи на права доÑтупу %04lo (%s)? �%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ макÑимальну довжину назви файла�%s: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ вÑÑ– запитані дії�%s: очікуєтьÑÑ ÑƒÐ½Ð°Ñ€Ð½Ð¸Ð¹ оператор�%s: невідомий параметр «%c%s» �%s: невідомий параметр «--%s» �%s: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ðµ не повніÑтю�%s: помилка запиÑу�%s: помилка під Ñ‡Ð°Ñ Ñпроби запиÑу�%s:%lu: неправильний Ñ€Ñдок; пропущена друга лекÑема�%s:%lu: некоректна нульова довжина назви файла�%s:%lu ключове Ñлово %s не розпізнано�%s: між '{' та '}' має бути вказано ціле чиÑло�»�очікуєтьÑÑ ')'�очікуєтьÑÑ ')', виÑвлено %s�'-%c' зайві знаки або неправильне чиÑло у аргументі: %s�'--pages=ПЕРШÐ_СТОР[:ОСТÐÐÐЯ_СТОР]' пропущений аргумент�'-N ÐОМЕР' неправильний номер початкового Ñ€Ñдка: %s�«-W ШИРИÐÐ_СТОРІÐКИ» неправильна кількіÑть знаків: %s�'-l ДОВЖИÐÐ_СТОРІÐКИ' неправильна кількіÑть Ñ€Ñдків: %s�'-o ПОЛЕ' неправильний зÑув: %s�«-w ШИРИÐÐ_СТОРІÐКИ» неправильна кількіÑть знаків: %s�©�* файлові ÑиÑтеми, Ñкі кешують файли у тимчаÑових Ñховищах, наприклад клієнти NFS верÑÑ–Ñ— 3 * ÑтиÑнені файлові ÑиÑтеми �* файлові ÑиÑтеми з журналом, наприклад Ñкі йдуть у комплекті AIX та Solaris (та JFS, ReiserFS, XFS, Ext3 та ін.) * файлові ÑиÑтеми, Ñкі запиÑують надлишкові дані та зберігають працездатніÑть навіть Ñкщо виникають невдалі запиÑи, наприклад файлові ÑиÑтеми, що побудовані на технології RAID * файлові ÑиÑтеми, Ñкі Ñтворюють копії Ñтану, наприклад NFS-Ñервер від Network Appliance �, ÑÐµÑ€ÐµÐ´Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ñ–Ñть: %.2f�, %g Ñ, %s/s �аргумент --%s %s Ñ” занадто великим�--context (-Z) працює, Ñкщо Ñдро має підтримку SELinux�--filter не оброблÑÑ” фрагменти, видобуті до stdout�--grouping не можна викориÑтовувати разом з --format�--header проігноровано, оÑкільки вхідні дані надходÑть з командного Ñ€Ñдка�--padding не можна викориÑтовувати разом з --format�--reflink можна викориÑтовувати лише разом з --sparse=auto�підтримки --tag у режимі --text не передбачено�Ð”Ð»Ñ ÐºÐ¾Ð¼Ð±Ñ–Ð½Ð°Ñ†Ñ–Ñ— ключів -R --dereference Ñлід вказати -H або -L�при вказуванні -R -h потрібно вказати -P�-ef не допуÑкає -l�-nt не допуÑкає -l�-ot не допуÑкає -l�<внутрішній>�??? �?????�Перервано�ДоÑтуп: %x Модиф.: %y Зміна: %z Створ.: %w �ДоÑтуп: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �СімейÑтво Ð°Ð´Ñ€ÐµÑ Ð½Ðµ підтримуєтьÑÑ Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вузла�Сигнал таймера�Ð’ÑÑ– запити завершені�Буфер аргументів надто малий�Arnold Robbins�Assaf Gordon�ДоÑÑ‚�ДоÑтупно�Помилковий ÑиÑтемний виклик�Ðеправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ai_flags�Brian Fox�Канал обірвано�Помилка каналу обміну даними�УВÐГÐ: Пам'Ñтайте, що shred покладаєтьÑÑ Ð½Ð° дуже важливе припущеннÑ: що ваша файлова ÑиÑтема перезапиÑує файли "на міÑці". Зазвичай це так, але багато ÑучаÑних файлових ÑиÑтеми не задовольнÑють цьому припущенню. ОÑÑŒ приклади файлових ÑиÑтем, на Ñких shred не ефективний або не дає гарантії ефективноÑті в уÑÑ–Ñ… режимах файлової ÑиÑтеми: �КОМЕÐТÐР�Перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора�Викликає функцію link Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð· назвою ФÐЙЛ2 на Ñ–Ñнуючий ФÐЙЛ1. �Викликає функцію unlink Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ. �Ð’Ñього�Змінити групу кожного файла ФÐЙЛ на ГРУПУ. З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛРна контекÑÑ‚ ЗФÐЙЛÐ. �Змінити режим Ð´Ð»Ñ Ð²ÑÑ–Ñ… файлів на РЕЖИМ. З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛУ на контекÑÑ‚ ЗФÐЙЛÐ. �Змінити влаÑника Ñ–/або групу Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з ФÐЙЛів на ВЛÐСÐИКРі/або ГРУПУ. З ключем --reference, змінити влаÑника Ñ– групу вÑÑ–Ñ… ФÐЙЛів на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð—Ð¤ÐЙЛа. �Змінює контекÑÑ‚ безпеки кожного файла ФÐЙЛ на КОÐТЕКСТ. З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛа на контекÑÑ‚ ЗФÐЙЛа. �Chet Ramey�Дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð² роботу�Colin Plumb�Порівнює Ñортовані файли ФÐЙЛ1 та ФÐЙЛ2 по Ñ€Ñдках. �ÐšÐ¾Ð½ÐºÐ°Ñ‚ÐµÐ½Ð°Ñ†Ñ–Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² чи Ñтандартного вводу до Ñтандартного потоку виводу. -A, --show-all еквівалент -vET -b, --number-nonblank кількіÑть непорожніх Ñ€Ñдків виводу -e еквівалент -vE -E, --show-ends показувати $ наприкінці кожного Ñ€Ñдка -n, --number кількіÑть уÑÑ–Ñ… Ñ€Ñдків виводу -s, --squeeze-blank не більше ніж один порожній Ñ€Ñдок �КонтекÑÑ‚: %C �Поновлено�Перетворює пробіли у ФÐЙЛÐÐ¥ у знаки табулÑції та виводить на Ñтандартний вивід. Якщо ФÐЙЛ не вказано або вказано Ñк -, читаютьÑÑ Ð´Ð°Ð½Ñ– зі Ñтандартного джерела вхідних даних. �Перетворює знаки табулÑції у кожному ФÐЙЛІ на пробіли та виводить на Ñтандартний вивід. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає. Ñтандартний ввід �Копіює ДЖЕРЕЛО у ЦІЛЬ, або декілька ДЖЕРЕЛ у КÐТÐЛОГ. �Копіює файл, перетворює та форматує залежно від операндів. bs=ЧИСЛО примуÑово веÑти Ð·Ð°Ð¿Ð¸Ñ Ñ– Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ€Ñ†Ñ–Ñми у ЧИСЛО байтів cbs=ЧИСЛО перетворювати вказане ЧИСЛО байт за раз conv=СПИСОК перетворювати файл відповідно до СПИСКУ Ñимволів, елементи має бути розділено комами count=ЧИСЛО копіювати лише вказане ЧИСЛО вхідних блоків ibs=ЧИСЛО читати вказане ЧИСЛО байт за раз (типово 512) �Копіює Ñтандартний ввід у кожен ФÐЙЛ, а також у Ñтандартний вивід. -a, --append допиÑати у вказані ФÐЙЛИ -i, --ignore-interrupts ігнорувати Ñигнали Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ �Створити у безпечний ÑпоÑіб файл або каталог Ñ– вивеÑти їхню назву. ШÐБЛОРмає ÑкладатиÑÑ Ð¿Ñ€Ð¸Ð½Ð°Ð¹Ð¼Ð½Ñ– з трьох «X» поÑпіль у оÑтанньому компоненті. Якщо ШÐБЛОРне вказано, викориÑтовуєтьÑÑ tmp.XXXXXXXXXX Ñ– додаєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ --tmpdir. �Створює іменовані канали (FIFO) Ð´Ð»Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ NAME. �Створює DIRECTORY, Ñкщо він ще не Ñ–Ñнує. �Створює Ñпеціальній файл з назвою NAME та типом TYPE. �David M. Ihnat�David MacKenzie�David Madore�ПриÑтрій: %Dh/%dd Inode: %-10i ПоÑиланнÑ: %-5h Тип приÑтрою: %t,%T �ПриÑтрій: %Dh/%dd Inode: %-10i ПоÑиланнÑ: %h �ВиÑвлÑÑ” некоректні та непереноÑні конÑтрукції у назвах файлів. -p перевірка Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆÐ¾Ñті POSIX-ÑиÑтем -P перевірка на порожні назви та початковий «-» --portability перевірка Ð´Ð»Ñ ÑƒÑÑ–Ñ… POSIX-ÑиÑтем (еквівалентно до -p -P) �Каталог: �Показати файл або Ñтан файлової ÑиÑтеми. �Показати поточний Ñ‡Ð°Ñ Ñƒ вказаному ФОРМÐТі або вÑтановити ÑиÑтемну дату. �Dmitry V. Levin�Скидає вÑÑ– додаткові групи, вÑтановлює ідентифікатори кориÑтувача та групи Ñк у вказаного КОРИСТУВÐЧРта запуÑкає КОМÐÐДУ з вказаними ÐРГУМЕÐТÐМИ. ЗавершуєтьÑÑ Ð·Ñ– ÑтатуÑом 111, Ñкщо не вдалоÑÑ Ð²Ñтановити потрібні ідентифікатори кориÑтувача та групи. У іншому випадку повертаєтьÑÑ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¹ ÑÑ‚Ð°Ñ‚ÑƒÑ ÐšÐžÐœÐÐДИ. Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ root (UID=0). �ПаÑтка емулÑтора�ВИХІД�Діапазони вказуютьÑÑ Ð½Ð°Ñтупним чином: Ð Ð-ний байт, знак або поле; рахуючи від 1 Ð- від Ð-го байту, знаку або Ð¿Ð¾Ð»Ñ Ð´Ð¾ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка Ð-М від Ð-го до М-го (включно) байту, знаку або Ð¿Ð¾Ð»Ñ -М від першого до М-го (включно) байту, знаку або Ð¿Ð¾Ð»Ñ Ð¯ÐºÑ‰Ð¾ ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід. �Виводить РЯДОК(РЯДКÐ) на Ñтандартний вивід. -n не виводити завершальне Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка �Eric Blake�Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з кодом Ñтану, що відповідає невдалому виконанню.�Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð· уÑпішним ÑтатуÑом.�Вихідний ÑÑ‚Ð°Ñ‚ÑƒÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ð’Ð˜Ð ÐЗОМ. �Ф. Пінард�ПОМИЛКÐ�FIXME: невідомо�ФОРМÐТ повинен бути придатний Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ одного аргументу типу 'double'; типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %.PRECf Ñкщо ПЕРШЕ, ПРИРІСТ, та ОСТÐÐÐЄ Ñ” чиÑлами з плаваючою комою з макÑимальною точніÑтю ТОЧÐ, та %g у іншому випадку. �У файлів-черг немає оÑновного та другорÑдного чиÑла приÑтрою.�Перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розмір файла�Файли буде Ñтворено з правами u+rw, каталоги — u+rwx, Ð¼Ñ–Ð½ÑƒÑ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ umask. �Ф. ÑиÑтема�Фільтрує ÑуÑідні відповідні Ñ€Ñдків з ВХОДУ (або Ñтандартного введеннÑ), з запиÑом до ВИХОДУ (або Ñтандартного виведеннÑ). Якщо не вказано параметрів, відповідні Ñ€Ñдки об'єднуютьÑÑ Ð· Ñ€Ñдками, виÑвленими першими. �Помилка обчиÑлень з рухомою комою�ОзнайомитиÑÑ Ð· повною документацією можна за допомогою команди info coreutils '%s invocation' �Ð”Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— пари вхідних Ñ€Ñдків з однаковими полÑми виводить Ñ€Ñдок до Ñтандартного виведеннÑ. Типово Ñпільне поле вважаєтьÑÑ Ð¿ÐµÑ€ÑˆÐ¸Ð¼, Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÑŽÑ‚ÑŒÑÑ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ пробілів. Якщо один з ФÐЙЛІВ вказано Ñк -, читає Ñтандартний потік введеннÑ. -a ÐОМЕР виводити Ñ€Ñдки що не мають пари з файла з вказаним номером (1 або 2) -e РЯДОК замінювати при виводі порожні Ñ€Ñдки вказаним РЯДКОМ �ЗапиÑує змінені блоки на диÑк, оновлює Ñуперблок �Загальна довідка з ПЗ GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Від'єднаннÑ�Можливе введеннÑ-виведеннÑ�ÐЕÐКТИВÐИЙ�Вільн�Вик%�Викор�Ian Lance Taylor�Ðеактивний�Якщо ФÐЙЛ не вказано, викориÑтовуєтьÑÑ %s. ЧаÑто заміÑть ФÐЙЛ вказують %s. �Якщо заÑтоÑовуютьÑÑ Ð¹ перша, й друга форми виклику, вважаєтьÑÑ Ð´Ñ€ÑƒÐ³Ð° форма, Ñкщо оÑтанній операнд починаєтьÑÑ Ð½Ð° + або (Ñкщо вказані два операнда) на цифру. Операнд ЗСУВ означає -j ЗСУВ. МІТКР-- це пÑевдоадреÑа першого виведеного байту, збільшуєтьÑÑ Ñƒ процеÑÑ– виводу. ÐŸÑ€ÐµÑ„Ñ–ÐºÑ 0x або 0X задає ЗСУВ або МІТКУ Ñк шіÑтнадцÑткові чиÑла, ÑÑƒÑ„Ñ–ÐºÑ . -- Ñк віÑімкові, а ÑÑƒÑ„Ñ–ÐºÑ b помножує на 512. �Помилкова інÑтрукціÑ�Окрім того, резервні копії та вилучені дзеркала файлової ÑиÑтеми можуть міÑтити копії файла, Ñкі не можна вилучити, Ñ– Ñкі пізніше надають змогу відновити знищений файл. �У реальному житті: �У першій формі ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ПРИЗÐÐЧЕÐÐЯ з назвою ПОСИЛÐÐÐЯ. У другий формі ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ПРИЗÐÐЧЕÐÐЯ у поточному каталозі. У третій та четвертій формах ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° кожне ПРИЗÐÐЧЕÐÐЯ у вказаному КÐТÐЛОЗІ. Типово ÑтворюютьÑÑ Ð¶Ð¾Ñ€Ñткі поÑиланнÑ, а з ключем --symbolic — Ñимволічні. Типово, кожне Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (назва нового поÑиланнÑ) не повинно Ñ–Ñнувати. У разі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¶Ð¾Ñ€Ñтких поÑилань кожне ПРИЗÐÐЧЕÐÐЯ має Ñ–Ñнувати. Символічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ міÑтити довільний текÑÑ‚. Під Ñ‡Ð°Ñ Ð¿Ñ–Ð·Ð½Ñ–ÑˆÐ¾Ð³Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐŸÐ Ð˜Ð—ÐÐЧЕÐÐЯ відноÑне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸Ð¼ÐµÑ‚ÑŒÑÑ Ð½Ð° оÑнові батьківÑького каталогу поÑиланнÑ. �Ð’ випадку файлових ÑиÑтем ext3 наведене вище Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ñ€Ð½Ðµ (тож, shred не такий ефективний), лише у режимі data=journal, коли окрім метаданих у журнал заноÑÑтьÑÑ Ñ‚Ð°ÐºÐ¾Ð¶ Ñамі дані файлів. Ð’ режимах data=ordered (типово) та data=writeback програма shred працює у звичайному режимі. Режими журналу ext3 можна змінити, додавши ключ data=щоÑÑŒ до параметрів Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ñ— файлової ÑиÑтеми у файлі /etc/fstab, згідно документації на Ñторінці man Ð´Ð»Ñ mount (man mount). �ÐеÑкінченіÑть�ÐеÑкінченіÑть�Інформаційний запит�І-вузлів�ПерериваннÑ�Перервано за Ñигналом�Ðеправильне зворотне поÑиланнÑ�Ðекоректна назва клаÑу Ñимволу�Ðеправильний Ñимвол порівнÑннÑ�ÐеприпуÑтимий вміÑÑ‚ \{\}�Ðекоректний попередній регулÑрний вираз�Ðеправильний кінець діапазону�Ðеправильний регулÑрний вираз�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Вбито�ЛІÐІЯ�ВХІД�Виводить дані щодо ФÐЙЛів (типово у поточному каталозі). ВпорÑдковує у алфавітному порÑдку, Ñкщо не вказано ні --sort, ні один з параметрів -cftuSUX. �РеєÑтраційне ім'Ñ'�РеєÑтраційна назва: �Ðе вдалоÑÑ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ проÑтоту за теÑтом Люка. Цього не мало ÑтатиÑÑ.�Mark Kettenis�Matthew Bradburn�Помилка Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ð¼'Ñті�СкінчилаÑÑŒ пам'Ñть�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�змонтований на�ÐÐЗВÐ�Ðазва�Ðевідома назва чи ÑервіÑ�Niels Moller�З даною назвою вузла не пов'Ñзано жодної адреÑи�Ðемає збігів�ВідÑутній попередній регулÑрний вираз�Критична помилка при розв'Ñзанні назв�Гаразд�При вилученні без ÑƒÑ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ–Ð² можна вказати дві лише одну таблицю.�Ключі, що вказують порÑдок: �Інші параметри: �Виводить переÑтавлений алфавітний вказівник Ñлів вхідних файлів, включаючи контекÑÑ‚. �Видає команди Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ LS_COLORS. Вказати формат виводу: -b, --sh, --bourne-shell вивеÑти код Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ LS_COLORS у Bourne shell -c, --csh, --c-shell вивеÑти код Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ LS_COLORS у C shell -p, --print-database вивеÑти типові параметри --help показати довідку та вийти --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти �Виводить вÑÑ– ÐÐЗВИ, вилучаючи компоненту праворуч від оÑтанньої похилої риÑки; Ñкщо ÐÐЗВРне міÑтить похилої риÑки, виводить «.» (тобто поточний каталог). �Виводить фікÑовані за розміром чаÑтини ВХІДÐІ_ДÐÐІ до файлів ПРЕФІКСaa, ПРЕФІКСab, ...; типово розмір чаÑтини дорівнює 1000 Ñ€Ñдків, а ПРЕФІКС дорівнює 'x'. Якщо ВХІДÐІ_ДÐÐІ не вказано або вказано Ñк -, читає дані зі Ñтандартного джерела даних. �Виводить чаÑтини ФÐЙЛÐ, розділені ШÐБЛОÐОМ (ШÐБЛОÐÐМИ), до файлів 'xx00', 'xx01', ... та виводить чиÑло байт у кожній чаÑтині на Ñтандартний вивід. �Ліміти платформи виводу обмежені у форматі придатному Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñƒ ÑценаріÑÑ…. �Виводить ÑпиÑок підключених кориÑтувачів відповідно до ФÐЙЛÐ. Якщо ФÐЙЛ не вказаний, викориÑтовуєтьÑÑ %s. ЧаÑто у ÑкоÑті ФÐЙЛРвказують %s. �ПерезапиÑує декілька раз вказані файли, щоб уÑкладнити Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð°Ð²Ñ–Ñ‚ÑŒ з викориÑтаннÑм дуже коштовного обладнаннÑ. �PID�ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s �ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s (%s) �Padraig Brady�Розбиває ФÐЙЛ(и) на Ñторінки або колонки під Ñ‡Ð°Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ. �Ðеправильно закодований Ñ€Ñдок параметрів�Paul Eggert�Paul Rubin�Pete TerMaat�План: �Відмова живленнÑ�ПередчаÑний кінець регулÑрного виразу�Виводить ÐРГУМЕÐТ(и) відповідно до ФОРМÐТ, або або виконати відповідно до OPTION: �Виводить контрольну Ñуму (CRC) та чиÑло байт Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ. �ВивеÑти ÐÐЗВУ з вилученнÑм компонента каталогу на початку Ñ€Ñдка. Також вилучити завершальний СУФІКС (Ñкщо вказано). �Виводить певні відомоÑті про ÑиÑтему. Якщо КЛЮЧ не вказаний, вважаєтьÑÑ -s. -a, --all вивеÑти вÑÑŽ інформацію, у наÑтупному порÑдку, крім -p та -i, Ñкщо вони невідомі: -s, --kernel-name вивеÑти назву Ñдра -n, --nodename вивеÑти назву машини у мережі -r, --release вивеÑти номер випуÑку операційної ÑиÑтеми �Виводить контрольну Ñуму Ñ– кількіÑть блоків Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛа. -r викориÑтовувати метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум BSD, розмір блоку 1 кБ -s, --sysv викориÑтовувати метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум System V, розмір блоку 512 байт �ВивеÑти дані щодо учаÑті у групах Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ІМЕÐІ КОРИСТУВÐЧÐ, Ñкщо імені не вказано, буде показано дані Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу (може бути іншим, Ñкщо було змінено базу даних груп). �ВивеÑти дані щодо кориÑтувачів, Ñкі працюють у ÑиÑтемі. �ВивеÑти архітектуру машини. �Виводить кількіÑть розривів Ñ€Ñдків, Ñлів та байт Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛа та Ñумарний Ñ€Ñдок. Якщо не було вказано ФÐЙЛ, або вказано ФÐЙЛ «-», читає дані зі Ñтандартного джерел введеннÑ. Словом вважаєтьÑÑ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð° поÑлідовніÑть Ñимволів, обмежених пробілами. За допомогою вказаних нижче параметрів можна вибрати дані, Ñкі буде виведено. ПорÑдок буде завжди таким: розриви Ñ€Ñдків, Ñлова, Ñимволи, байти, макÑимальна довжина Ñ€Ñдка. -c, --bytes вивеÑти кількіÑть байт -m, --chars вивеÑти кількіÑть знаків -l, --lines вивеÑти кількіÑть розривів Ñ€Ñдків �Виводить чиÑла від ПЕРШОГО до ОСТÐÐÐЬОГО з кроком ПРИРІСТ. �Виводить або змінює характериÑтики термінала. �Виводить вибрані чаÑтини Ñ€Ñдків з кожного ФÐЙЛРна Ñтандартний вивід. �Виводить поточний чаÑ, Ñ‡Ð°Ñ Ð±ÐµÐ·Ð¿ÐµÑ€ÐµÑ€Ð²Ð½Ð¾Ñ— роботи ÑиÑтеми, кількіÑть кориÑтувачів у ÑиÑтемі та Ñереднє чиÑло завдань у черзі запуÑку за оÑтанні 1, 5 та 15 хвилин.�Виводить назву файла Ð´Ð»Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»Ñƒ, що приєднаний до Ñтандартному вводу. -s, --silent, --quiet не виводити, лише повернути код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ �Виводити перші 10 Ñ€Ñдків кожного ФÐЙЛРна Ñтандартний вивід. Якщо задано декілька ФÐЙЛІВ, Ñпочатку виводити заголовок з назвою файла. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід. �Виводить повну назву поточного робочого каталогу. �Виводить оÑтанні %d Ñ€Ñдків кожного з ФÐЙЛІВ на Ñтандартний вивід. Якщо задано декілька ФÐЙЛІВ, Ñпочатку виводить заголовок з назвою файла. Якщо ФÐЙЛ не вказано або вказано Ñк -, читає Ñтандартний ввід. �Виводить ім'Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кориÑтувача. �Виводить кількіÑть модулів обробки, доÑтупних поточному процеÑу, може бути меншим за кількіÑть процеÑорів, Ñкі працюватимуть. �Виводить проÑті множники Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ вказаного цілого ЧИСЛÐ. Якщо чиÑла не вказано у командному Ñ€Ñдку, читати дані зі Ñтандартного джерела. �ВивеÑти визначену абÑолютну назву файла; вÑÑ– компоненти, окрім оÑтанньої, має бути вже Ñтворено �ВивеÑти ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, що відповідає поточному ефективному id кориÑтувача. Ðналогічно виклику id -un. �Виводить відомоÑті про ім'Ñ Ñ‚Ð° групу КОРИСТУВÐЧРабо (Ñкщо не вказано КОРИСТУВÐЧÐ) Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кориÑтувача. -a ігнорувати, визначено лише Ð´Ð»Ñ ÑуміÑноÑті -Z, --context виводити лише контекÑÑ‚ безпеки поточного кориÑтувача -g, --group виводити лише ID групи -G, --groups виводити лише додаткові групи -n, --name виводити назва заміÑть номера, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² -ugG -r, --real виводити дійÑні, а не ефективні ID, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² -ugG -u, --user виводити лише ID кориÑтувача �Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволічного поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ канонічну назву файла �Триває обробка запиту�Збіг Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ�Проект: �Q. Frank Xia�Вихід�Randy Smith�Сигнал реального чаÑу %d�Виконати Ð¿ÐµÑ€ÐµÑ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸Ñла ЧИСЛО або чиÑел зі Ñтандартного джерела даних, Ñкщо ЧИСЛО не вказано. �Переформатує кожен абзац у ФÐЙЛІ(ах) та виводить на Ñтандартне виведеннÑ. Параметр -ШИРИÐÐ Ñ” Ñкороченою формою --width=ЧИСЛО. �Розмір виразу надто великий�Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¤ÐЙЛІВ (Ñимволічних поÑилань). -f, --force ігнорувати файли Ñ– аргументи, Ñких не Ñ–Ñнує, ніколи не питати -i питати перед кожним вилученнÑм �Вилучає КÐТÐЛОГИ, Ñкщо вони порожні. --ignore-fail-on-non-empty ігнорувати вÑÑ– помилки, коли каталог не порожній �Перейменовує ДЖЕРЕЛО у ПРИЗÐÐЧЕÐÐЯ, або переміщує ДЖЕРЕЛРдо КÐТÐЛОГУ. �Безперервно виводити вказаний РЯДОК (РЯДКИ) або, Ñкщо РЯДОК не вказано, 'y'. �Про вади у %s повідомлÑйте на адреÑу %s �Повідомте %s про помилку у перекладі на <http://translationproject.org/team/> �Запит ÑкаÑовано�Запит не ÑкаÑовано�Втрачено реÑурÑ�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�ЗапуÑкає КОМÐÐДУ зі зміненим значеннÑм поÑтупливоÑті, що впливає на пріоритет Ð´Ð»Ñ Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°. Якщо КОМÐÐДУ не вказано, виводитьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑтупливоÑті. ДопуÑтимі межі: від %d (найбільший пріоритет) до %d (найменший). �Виконує КОМÐÐДУ з вказаним кореневим каталогом. �Виконує КОМÐÐДУ ігноруючи Ñигнали обриву термінальної лінії. �ЗапуÑкає КОМÐÐДУ зі зміненими діÑми з буферизації Ð´Ð»Ñ Ñтандартних потоків. �ЗапуÑтити програму з іншим контекÑтом безпеки. Ñкщо не вказано ні КОÐТЕКСТ, ані КОМÐÐДÐ, виводитьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¹ контекÑÑ‚ безпеки. �Russell Coker�Scott Bartram�Scott Miller�Помилка адреÑуваннÑ�ÐадÑилає процеÑам Ñигнали або виводить Ñигнали. �Servname не підтримуєтьÑÑ Ð´Ð»Ñ ai_socktype�Щоб обійти цю проблему, вÑтановіть LC_ALL='C'�Ð’Ñтановлює кожній ÐÐЗВІ відповідне ЗÐÐЧЕÐÐЯ та запуÑкає КОМÐÐДУ у цьому Ñередовищі. �Оболонка: �Показати інформацію про файлову ÑиÑтему, на Ñкій розташований кожен з ФÐЙЛІВ, або, типово, про уÑÑ– файлові ÑиÑтеми. �Зменшити або збільшити розмір кожного ФÐЙЛа до вказаного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¯ÐºÑ‰Ð¾ ФÐЙЛа не Ñ–Ñнує, його буде Ñтворено. Якщо розмір ФÐЙЛа перевищуватиме вказаний, додаткові дані буде втрачено. Якщо розмір ФÐЙЛа буде меншим, його буде збільшено. Додаткову чаÑтину буде заповнено нульовими байтами. �Simon Josefsson�Розм�Ð”Ð»Ñ Ñпеціального файла повинні бути вказані оÑновний та другорÑдний номери приÑтрою.�Помилка роботи зі Ñтеком�ЗапуÑтити КОМÐÐДУ Ñ– завершити Ñ—Ñ— роботу, Ñкщо Ñ—Ñ— не буде завершено протÑгом чаÑу ТРИВÐЛІСТЬ. �Зупинено�Зупинено (Ñигнал)�Зупинено (ввід з термінала)�Зупинено (вивід на термінал)�Stuart Kemp�Виконано�Сумарне викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¸Ñкового проÑтору кожного ФÐЙЛÐ, з каталогами. �СиÑтемна помилка�ЧаÑ�ТимчаÑова помилка розв'ÑÐ·Ð°Ð½Ð½Ñ Ð½Ð°Ð·Ð²�Припинено�ПіÑÐ»Ñ '%' можуть йти наÑтупні необов'Ñзкові ознаки: - (дефіÑ) не доповнювати це поле _ (підкреÑленнÑ) доповнювати пробілами 0 (нуль) доповнювати нулÑми ^ викориÑтовувати верхній регіÑтр, Ñкщо можливо # викориÑтовувати протилежний регіÑтр, Ñкщо можливо �Помилка порівнÑÐ½Ð½Ñ Ñ€Ñдків %s та %s.�Torbjorn Granlund�ÐŸÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð½Ð° точці зупину�Зворотна коÑа риÑка наприкінці�Перетворює, ущільнює та/або вилучає Ñимволи зі Ñтандартного Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ– виводить Ñ—Ñ… до Ñтандартного виведеннÑ. -c, -C, --complement Ñпочатку отримати Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¢ÐБЛИЦІ1 -d, --delete вилучати знаки з ТÐБЛИЦІ1, не перетворювати -s, --squeeze-repeats заміщати поÑлідовноÑті знаків, що повторюютьÑÑ, з перелічених у ТÐБЛИЦІ1 на єдиний такий знак -t, --truncate-set1 Ñпочатку вкоротити ТÐБЛИЦЮ1 до розміру ТÐБЛИЦІ2 �Спробуйте '%s --help' Ð´Ð»Ñ Ð¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— інформації. �Спробуйте «%s ./%s», щоб вилучити файл %s. �При вилученні Ñ– ущільненні повторів Ñлід вказати два Ñ€Ñдки.�При перетворенні потрібно вказати дві таблиці.�Тип�Ulrich Drepper�Ðевідома помилка�Ðевідомий Ñигнал %d�Ðевідома ÑиÑтемна помилка�Ðепарна ( чи \(�Ðепарна ) чи \)�Ðепарна [ чи [^�Ðепарна \{�Оновити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу та Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ кожного ФÐЙЛРдо поточної позначки чаÑу. Якщо ФÐЙЛа у аргументі не Ñ–Ñнує Ñ– не вказано -c або -h, його буде Ñтворено порожнім. Якщо у аргументі ФÐЙЛ вказано Ñимвол -, він оброблÑєтьÑÑ Ð¾Ñобливим чином та призводить до зміни позначки чаÑу Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð°, пов'Ñзаного зі Ñтандартним виведеннÑм даних. �Термінова Ð´Ñ–Ñ Ð· введеннÑ-виведеннÑ�ВикориÑтаннÑ: %s �ВикориÑтаннÑ: %s КОМÐÐДР[ÐРГУМЕÐТ]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s КОÐТЕКСТ КОМÐÐДР[аргументи] або: %s [ -c ] [-u КОРИСТУВÐЧ] [-r РОЛЬ] [-t ТИП] [-l ДІÐПÐЗОÐ] КОМÐÐДР[аргументи] �ВикориÑтаннÑ: %s ВИРÐЗ або: %s КЛЮЧ �ВикориÑтаннÑ: %s ФÐЙЛ або: %s КЛЮЧ �ВикориÑтаннÑ: %s ФÐЙЛ1 ФÐЙЛ2 або: %s КЛЮЧ �ВикориÑтаннÑ: %s ФОРМÐТ [ÐРГУМЕÐТ]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s ÐÐЗВР[СУФІКС] чи: %s КЛЮЧ... ÐÐЗВÐ... �ВикориÑтаннÑ: %s ЧИСЛО[СУФІКС] або: %s КЛЮЧ ПризупинÑÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° вказане ЧИСЛО Ñекунд. СУФІКС може приймати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 's', що означає Ñекунди (типове значеннÑ), 'm' -- хвилини, 'h' -- години та 'd' -- дні. Ðа відміну від інших реалізацій, Ñкі вимагають, щоб ЧИСЛО було цілим, тут воно може бути довільним чиÑлом з плаваючою комою. �ВикориÑтаннÑ: %s ПÐРÐМЕТР... КОМÐÐДР�ВикориÑтаннÑ: %s ПÐРÐМЕТР... ФÐЙЛ... �ВикориÑтаннÑ: %s КЛЮЧ... [ФÐЙЛ]... �ВикориÑтаннÑ: %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [ПÐРÐМЕТР]... або %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-a|--all] або %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-g|--save] �ВикориÑтаннÑ: %s [-ШИРИÐÐ] [ПÐРÐМЕТР]... [ФÐЙЛ]... �ВикориÑтаннÑ: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID... або: %s -l [СИГÐÐЛ]... або: %s -t [СИГÐÐЛ]... �ВикориÑтаннÑ: %s [ФÐЙЛ]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s [ÐÐЗВÐ] або: %s КЛЮЧ Виводить або вÑтановлює назву цієї ÑиÑтеми. �ВикориÑтаннÑ: %s [ЧИСЛО]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s [ОПЕРÐÐД]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s [КЛЮЧ] �ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ВивеÑти чиÑловий ідентифікатор (шіÑтнадцÑткове) Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ вузла. �ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ТРИВÐЛІСТЬ КОМÐÐДР[ÐРГУМЕÐТ]... або: %s [ПÐРÐМЕТР] �ВикориÑтаннÑ: %s [КЛЮЧ] ÐÐЗВÐ... �ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ÐОВИЙКОРІÐЬ [КОМÐÐДР[ÐРГУМЕÐТ]...] або: %s ПÐРÐМЕТР �ВикориÑтаннÑ: %s [КЛЮЧ] [КОМÐÐДР[ÐРГ]...] �ВикориÑтаннÑ: %s [КЛЮЧ] [ФÐЙЛ] Виводити повніÑтю Ñортований ÑпиÑок, що відповідає чаÑтковому Ñортуванню у заданому ФÐЙЛІ. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід. �ВикориÑтаннÑ: %s [КЛЮЧ]... �ВикориÑтаннÑ: %s [КЛЮЧ]... КОÐТЕКСТ ФÐЙЛ або: %s [КЛЮЧ]... [-u КОРИСТУВÐЧ] [-r РОЛЬ] [-l ДІÐПÐЗОÐ] [-t ТИП] ФÐЙЛ... або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ... �ВикориÑтаннÑ: %s [КЛЮЧ]... КÐТÐЛОГ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ ШÐБЛОÐ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ1 ФÐЙЛ2 �ВикориÑтаннÑ: %s [КЛЮЧ]... ГРУПРФÐЙЛ... чи: %s [КЛЮЧ]... --reference=ЗФÐЙЛРФÐЙЛ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ОСТÐÐÐЄ або: %s [КЛЮЧ]... ПЕРШЕ ОСТÐÐÐЄ або: %s [КЛЮЧ]... ПЕРШЕ ПРИРІСТ ОСТÐÐÐЄ �ВикориÑтаннÑ: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФÐЙЛ або: %s [КЛЮЧ]... ВІСІМК-РЕЖИМ ФÐЙЛ... або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐЗВРТИП [ОСÐОВÐИЙ ДРУГОРЯДÐИЙ] �ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐЗВÐ... �ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐБІР1 [ÐÐБІР2] �ВикориÑтаннÑ: %s [КЛЮЧ]... [ ФÐЙЛ | ÐРГ1 ÐРГ2] �ВикориÑтаннÑ: %s [КЛЮЧ]... [+ФОРМÐТ] або: %s [-u|--utc|--universal] [ММДДррхх[[СС]РР][.ÑÑ]] �ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ЦІЛЬ або: %s [КЛЮЧ]... ДЖЕРЕЛО... КÐТÐЛОГ або: %s [КЛЮЧ]... -t КÐТÐЛОГ ДЖЕРЕЛО... �ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ПРИЗÐÐЧЕÐÐЯ або %s [КЛЮЧ]... ДЖЕРЕЛО... КÐТÐЛОГ або %s [КЛЮЧ]... -t КÐТÐЛОГ ДЖЕРЕЛО... або %s [КЛЮЧ]... -d КÐТÐЛОГ... �ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ПРИЗÐÐЧЕÐÐЯ ПОСИЛÐÐÐЯ (1-а форма) або %s [КЛЮЧ]... ПРИЗÐÐЧЕÐÐЯ (2-а форма) або %s [КЛЮЧ]... ПРИЗÐÐЧЕÐÐЯ... КÐТÐЛОГ (3-Ñ Ñ„Ð¾Ñ€Ð¼Ð°) або %s [КЛЮЧ]... -t КÐТÐЛОГ ПРИЗÐÐЧЕÐÐЯ... (4-а форма) �ВикориÑтаннÑ: %s [КЛЮЧ]... [-] [ÐÐЗВÐ=ЗÐÐЧЕÐÐЯ]... [КОМÐÐДР[ÐРГ]...] �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ] �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ] або: %s -e [КЛЮЧ]... [ÐРГУМЕÐТ]... або: %s -i ÐИЖ-ВИЩ [КЛЮЧ]... �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ] ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° чи Ñтандартного потоку вводу у форматі Base64, Ñ– Ð·Ð°Ð¿Ð¸Ñ Ñƒ Ñтандартний потік виводу. �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]... �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]... або: %s [-abcdfilosx]... [ФÐЙЛ] [[+]ЗСУВ[.][b]] або: %s --traditional [КЛЮЧ]... [ФÐЙЛ] [[+]ЗСУВ[.][b] [+][МІТКÐ][.][b]] �ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]... або: %s [КЛЮЧ]... --files0-from=Ф �ВикориÑтаннÑ: %s [ПÐРÐМЕТР] [ФÐЙЛ]... Виводить або перевірÑÑ” контрольні Ñуми %s (%d-бітові). Якщо ФÐЙЛ не вказано або вказано Ñк «-», читає Ñтандартне джерело даних. �ВикориÑтаннÑ: %s [КЛЮЧ]... [ВХІД [ВИХІД]] �ВикориÑтаннÑ: %s [ПÐРÐМЕТР]... [ВХІДÐІ_ДÐÐІ [ПРЕФІКС]] �ВикориÑтаннÑ: %s [КЛЮЧ]... [ВХІД]... (без -G) або: %s -G [КЛЮЧ]... [ВХІД [ВИХІД]] �КориÑтуваннÑ: %s [ПÐРÐМЕТР]... [ЧИСЛО]... �ВикориÑтаннÑ: %s [КЛЮЧ]... [ВЛÐСÐИК][:[ГРУПÐ]] ФÐЙЛ... або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ... �ВикориÑтаннÑ: %s [КЛЮЧ]... [ШÐБЛОÐ] �ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ] �ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ]... �ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ]... �ВикориÑтаннÑ: %s [ПÐРÐМЕТР]... [ЗМІÐÐÐ]... Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… змінних Ñередовища. Якщо параметр ЗМІÐÐРне вказано, виводить пари назва-Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²ÑÑ–Ñ…. �ВикориÑтаннÑ: %s [СКОРОЧЕÐИЙ-ПÐРÐМЕТР]... КОРИСТУВÐЧ КОМÐÐДР[ÐРГУМЕÐТ]... або %s ПÐРÐМЕТР-ПОВÐІСТЮ �ВикориÑтаннÑ: %s [СКОРОЧЕÐИЙ-ПÐРÐМЕТР]... [РЯДОК]... або %s ДОВГИЙ-ПÐРÐМЕТР �ВикориÑтаннÑ: %s [РЯДОК]... або: %s КЛЮЧ �ВикориÑтаннÑ: %s [ аргументи командного Ñ€Ñдка, що ігноруютьÑÑ ] або: %s КЛЮЧ �ВикориÑтаннÑ: test ВИРÐЗ або: test або: [ ВИРÐЗ ] або: [ ] або: [ КЛЮЧ �Вик%�Вик�Визначений кориÑтувачем Ñигнал 1�Визначений кориÑтувачем Ñигнал 2�ДопуÑтимі аргументи:�Коректні аргументи: �Можливі поÑлідовноÑті Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ… ÑиÑтем: %a кількіÑть вільних блоків, доÑтупних Ð´Ð»Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ кориÑтувача %b повна кількіÑть блоків даних у файловій ÑиÑтемі %c повна кількіÑть вузлів у файловій ÑиÑтемі %d кількіÑть вільних файлових вузлів у файловій ÑиÑтемі %f кількіÑть вільних блоків у файловій ÑиÑтемі �Збіг Ñ‡Ð°Ñ Ð½Ð° віртуальному таймері�УВÐГÐ: Ð—Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ð½Ñ Ñƒ Ñтруктурі каталогу. Швидше за вÑе, це означає, що ваша файлова ÑиÑтема пошкоджена. ПОВІДОМТЕ Ð’ÐШОГО СИСТЕМÐОГО ÐДМІÐІСТРÐТОРÐ. ÐаÑтупний каталог Ñ” чаÑтиною циклу: %s �ПопередженнÑ: --context (-Z) ігноруєтьÑÑ; Ñдро не підтримує SELinux.�ПопередженнÑ: --preserve-context ігноруєтьÑÑ; Ñдро не підтримує SELinux.�ПОПЕРЕДЖЕÐÐЯ: ігноруємо параметр --strip-program, оÑкільки параметр -s не вказано�ПопередженнÑ: �Коли�Де�Зміна вікна�З --follow (-f) tail типово Ñлідкує за деÑкриптором файла, тобто, навіть Ñкщо назву файла буде змінено, tail продовжуватиме Ñтежити за його кінцем. Така типова поведінка небажана, Ñкщо ви хочете Ñлідкувати за файлом, Ñкий має певну назву, а не за деÑкриптором (наприклад файлом журналу, Ñкий підлÑгає періодичній ротації). У такому разі викориÑтовуйте --follow=name. Це змуÑить tail Ñлідувати за вказаним файлом, беручи до уваги його перейменуваннÑ, Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ ÑтвореннÑ. �Розбиває Ñ€Ñдки у ФÐЙЛІ(ах) (типово читає Ñтандартний ввід) та виводить на Ñтандартний вивід. �Виводить випадково переÑтавлені вхідні Ñ€Ñдки на Ñтандартний вивід. �Виводить ФÐЙЛИ на Ñтандартний вивід, починаючи з оÑтанньої Ñ€Ñдка. Якщо ФÐЙЛ не вказано або вказано Ñк -, читає Ñтандартний ввід. �Виводить кожен ФÐЙЛ на Ñтандартний вивід, додаючи номери Ñ€Ñдків. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід. �Виводить на Ñтандартний вивід Ñ€Ñдки, Ñкладені з відповідних Ñ€Ñдків вхідних ФÐЙЛІВ, що розділÑютьÑÑ Ñ‚Ð°Ð±ÑƒÐ»Ñцією. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід. �ВивеÑти Ñортоване ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… ФÐЙЛ(ів) на Ñтандартний вивід. �Ðвтор програми %s та %s. �Ðвтор програми %s, %s, %s. %s, %s, %s, %s %s, %s та інші. �Ðвтор програми %s, %s, %s. %s, %s, %s, %s %s та %s �Ðвтор програми %s, %s, %s. %s, %s, %s, %s та %s �Ðвтор програми %s, %s, %s. %s, %s, %s та %s �Ðвтор програми %s, %s, %s. %s, %s та %s �Ðвтор програми %s, %s, %s. %s та %s �Ðвтор програми %s, %s, %s та %s. �Ðвтор програми %s, %s та %s. �Ðвтор програми %s. �вираз [=c=] не може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ2 при перетворенні�^ не знайдено збігів з ключем �^[nN]�^[yY]�Помилка _open_osfhandle�«�Ñкщо вказана поправка, треба вказати команду�ai_family не підтримуєтьÑÑ�ai_socktype не підтримуєтьÑÑ�неоднозначний аргумент %s Ð´Ð»Ñ %s�розділювач Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних можна вказувати лише при обробці полів�Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ %s�Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð°Ñної копії %s знищить оригінал; %s не Ñкопійовано�Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð°Ñної копії %s знищить оригінал; %s не перенеÑений�тип резервної копії�файл блочного приÑтрою�блочні Ñпеціальні файли не підтримуютьÑÑ�блоків�заміÑть обох файлів не можна вказувати одночаÑно Ñтандартний ввід�байтовий зÑув %s надто великий�не вдалоÑÑ Ð·Ð°ÑтоÑувати чаÑтковий контекÑÑ‚ Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ файла %s�не можна отримати контекÑÑ‚ процеÑу�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до %s�не вдалоÑÑ Ñтворити резервну копію Ð´Ð»Ñ %s�не можна одночаÑно підбивати Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð° виводити вÑÑ– елементи�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s�Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ права доÑтупу до %s�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ кореневий каталог на %s�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ каталог на %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ до кореневого каталогу�не можна викориÑтовувати Ð²Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ --target-directory (-t) Ñ– --no-target-directory (-T)�не можна одночаÑно викориÑтовувати --target-directory Ñ– --no-target-directory�не можна одночаÑно викориÑтовувати ключі -e та -i�не можна одночаÑно викориÑтовувати будь-Ñкі два з {ascii,ebcdic,ibm}�не можна одночаÑно викориÑтовувати block та unblock�не можна одночаÑно викориÑтовувати direct Ñ– nocache�не можна одночаÑно викориÑтовувати excl та nocreat�не можна одночаÑно викориÑтовувати lcase та ucase�не можна викориÑтовувати разом ключі режиму та --reference�не можна об'єднувати Ñигнал з -l або -t�не вдалоÑÑ Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñти назви файлів %s та %s�неможливо перетворити U+%04X у локальне кодуваннÑ�неможливо перетворити U+%04X у локальне кодуваннÑ: %s�не вдалоÑÑ Ñкопіювати каталог, %s, у Ñамого Ñебе, %s�не вдалоÑÑ Ñкопіювати циклічне Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�Ðе вдалоÑÑ Ñтворити каталог %s�не вдалоÑÑ Ñтворити чергу %s�не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s�не вдалоÑÑ Ñтворити поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s�не вдалоÑÑ Ñтворити канал�не вдалоÑÑ Ñтворити звичайний файл %s�не вдалоÑÑ Ñтворити Ñпеціальній файл %s�не вдалоÑÑ Ñтворити Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�не вдалоÑÑ Ñтворити Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s�не вдалоÑÑ Ñтворити тимчаÑовий файл у %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ за Ñимвольним поÑиланнÑм %s�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ приÑтрій та inode Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ назву машини�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ %s. ПовертаємоÑÑ Ð´Ð¾ ÑпоÑобу опитуваннÑ�не можна виконувати --relative без --symbolic�помилка ioctl на %s�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ назву групи Ð´Ð»Ñ ID %lu�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ ID %s�не вдалоÑÑ Ñлідувати за %s за назвою�не можна примуÑово вказувати контекÑÑ‚ та %s зберігати його �не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ fstat Ð´Ð»Ñ %s�поточний каталог недоÑтупний�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ефективний GID�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ефективний UID�не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ поÑтупливіÑть�не вдалоÑÑ Ð²Ñтановити Ñправжній GID�не вдалоÑÑ Ð²Ñтановити Ñправжній UID�не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ назву ÑиÑтеми�не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ lseek Ð´Ð»Ñ %s�не можна Ñтворювати жорÑтке та Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно�не вдалоÑÑ Ñтворити каталог %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити %s у %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ½ÐµÑти %s у Ñвій влаÑний підкаталог, %s�не можна перейменувати каталог на файл, що не Ñ” каталогом: %s -> %s�не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу�не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог %s�обробка небезпечного Ñимвольного поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s неможлива�не можна перезапиÑувати каталог %s файлом, що не Ñ” каталогом�не можна перезапиÑати файл %s, що не Ñ” каталогом, каталогом %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ форматований вивід�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ розширені атрибути, cp зібрано без підтримки xattr�не можна зберігати контекÑÑ‚ безпеки, Ñкщо Ñдро не підтримує SELinux�не можна виводити "only" Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ ніж одного варіанту�не можна виводити лише назви або дійÑні ID у типовому форматі�не можна виводити контекÑÑ‚ безпеки, коли вказано кориÑтувача�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ каталог %s�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ назви файлів з %s�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ інформацію файлової ÑиÑтеми Ð´Ð»Ñ %s�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð°Ð¹Ð¼ÐµÑ€Ñƒ реального чаÑу�не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�%помилка при читані змонтованих файлових ÑиÑтем�не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s�не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ каталог: %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник файла Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ файловий деÑкриптор %d: помилка dup2�не вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити %s�не вдалоÑÑ Ð²Ñтановити %s�не вдалоÑÑ Ð²Ñтановити дату�не вдалоÑÑ Ð²Ñтановити ідентифікатор групи рівним %lu�не вдалоÑÑ Ð²Ñтановити оÑновну назву -- Ñ†Ñ ÑиÑтема не має такої функції�не вдалоÑÑ Ð²Ñтановити назву у %s�не вдалоÑÑ Ð²Ñтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑтупливоÑті�не вдалоÑÑ Ð²Ñтановити мітки чаÑу Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ñтановити ідентифікатор кориÑтувача рівним %lu�неможливо перейти за межу оÑтаннього вхідного файла�не можна вказувати --null (-0) з командою�не можна одночаÑно вказувати друк вздовж Ñ– паралельно.�неможливо вказати кількіÑть позицій під Ñ‡Ð°Ñ Ð¿Ð°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ друку�не вдалоÑÑ Ð²ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ‡Ð°Ñ Ð· кількох джерел�не можна розбивати одразу кількома методами�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ каталогу (наразі %s)�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ Ñтандартного джерела вхідних даних�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ touch Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ %s з резервної копії�не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÑпоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÑпоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° батьківÑьким каталогом %s�не вдалоÑÑ Ð¾Ð±Ñ–Ð¹Ñ‚Ð¸ помилку Ñдра�змінено групу %s з %s на %s �змінено влаÑника %s з %s на %s �зміна групи Ð´Ð»Ñ %s�зміна влаÑника %s�зміна прав доÑтупу Ð´Ð»Ñ %s�зміна контекÑту безпеки Ð´Ð»Ñ %s �нульовий знаковий зÑув�Ñимвол поза діапазоном�файл Ñимвольного приÑтрою�знакові Ñпеціальні файли не підтримуютьÑÑ�Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s�зміна чаÑу�помилка закриттÑ�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ %s (fd=%d)�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файла %s�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ введеннÑ�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° виводу %s�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ виведеннÑ�Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ каналу�закриваєтьÑÑ Ñтандартний потік вводу�у режимі ÑуміÑноÑті підтримуєтьÑÑ Ð½Ðµ більше одного файла.�конфліктуючі Ñ€Ñдки заміни Ð´Ð»Ñ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ полÑ�вказано конфліктні Ñпецифікатори контекÑту безпеки�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим буферизації %s у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s �неможливо Ñтворити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð»Ñ %s -d�не вдалоÑÑ Ñтворити тимчаÑовий файл�неможливо виконати %s�неможливо виконати %s -d�у %s не знайдено Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ з відповідним i-node�не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ завантаженнÑ�Ñтворений каталог %s�ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s�ÑтворюєтьÑÑ Ñ„Ð°Ð¹Ð» %s �ÑпиÑок роздільників завершуєтьÑÑ Ð½ÐµÐµÐºÑ€Ð°Ð½Ð¾Ð²Ð°Ð½Ð¾ÑŽ зворотною риÑкою: %s�каталог�Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль�помилка dup2�порожній Ñ€Ñдок %s Ñ” неприпуÑтимим�Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° файла�Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑціÑ�помилка при закритті файла�помилка у механізмі відповідноÑті регулÑрних виразів�помилка пошуку регулÑрного виразу�помилка під Ñ‡Ð°Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ñдків міÑÑців�помилка під Ñ‡Ð°Ñ ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° подією inotify�помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ %s�помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ñ— inotify�помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних�помилка під Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° команду�помилка запиÑу %s�Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð· FILE=%s �вихід=�зайвий аргумент %s�зайвий операнд %s�додатковий операнд %s не припуÑтимий з -%c�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ у канонічну форму %s�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ контекÑÑ‚ %s на %s�не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ групу %s з %s на %s �помилка зміни групи %s на %s �не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим %s з %04lo (%s) на %04lo (%s) �не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s �не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s з %s на %s �не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s на %s �помилка зміни каталогу на %s�не вдалоÑÑ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s з %s�не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ %s�не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ канал вхідних даних�помилка при обчиÑленні нового контекÑту�не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ деÑкі з вхідних чиÑел�не вдалоÑÑ Ñтворити каталог через шаблон %s�не вдалоÑÑ Ñтворити файл через шаблон %s�не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s => %s�не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° %.0s%s�не вдалоÑÑ Ñтворити канал�не вдалоÑÑ Ñтворити контекÑту безпеки: %s�не вдалоÑÑ Ñтворити Ñимволічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�не вдалоÑÑ Ñтворити Ñимволічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s -> %s�не вдалоÑÑ Ñтворити тимчаÑовий файл у %s�помилка під Ñ‡Ð°Ñ Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ ÐºÐµÑˆÑƒ Ð´Ð»Ñ %s�не вдалоÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ %s�не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s�помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s�помилка при отриманні поточного контекÑту�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ контекÑÑ‚ файлової ÑиÑтеми Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²�не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ групи Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу�помилка при отриманні груп кориÑтувачів %s�не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s�не вдалоÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл %s�не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s�помилка при Ñпробі відкрити %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ�не вдалоÑÑ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%Lf» Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ автора %s�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ влаÑника %s�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ права доÑтупу Ð´Ð»Ñ %s�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ мітки чаÑу Ð´Ð»Ñ %s�не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð¸Ñ‚Ð¸ Ñтандартний потік помилок�не вдалоÑÑ Ð¿ÐµÑ€ÐµÑпрÑмувати stderr до /dev/null�не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s�помилка при вилученні каталогу %s�не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸, не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ñтандартне джерело введеннÑ�не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити %s у режимі %s�помилка при відновленні типового контекÑту при Ñтворенні файла�не вдалоÑÑ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¸ÑÑŒ до початкового робочого каталогу�не вдалоÑÑ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¸ÑÑ Ð´Ð¾ початку потоку даних Ð´Ð»Ñ %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ команду %s�не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ команду: «%s -c %s»�не вдалоÑÑ Ð²Ñтановити %s контекÑÑ‚ безпеки компоненту %s�не вдалоÑÑ Ð²Ñтановити змінну Ñередовища FILE�не вдалоÑÑ Ð²Ñтановити додаткові групи�помилка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ контекÑту Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² %s�не вдалоÑÑ Ð²Ñтановити ідентифікатор групи�помилка при вÑтановленні нового діапазону %s�помилка при вÑтановленні нової ролі %s�помилка при вÑтановленні нового типу %s�помилка при вÑтановленні нового кориÑтувача %s�не вдалоÑÑ Ð²Ñтановити додаткові групи�не вдалоÑÑ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ так, щоб ÐºÐ¾Ð¿Ñ–Ñ Ñтандартного потоку помилок закрилаÑÑŒ на початку виконаннÑ�не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s на %s�не вдалоÑÑ Ð²Ñтановити ідентифікатор кориÑтувача�помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s�не вдалоÑÑ Ð²Ð¸Ð¼ÐºÐ½ÑƒÑ‚Ð¸ O_DIRECT: %s�не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ñередовища за допомогою %s�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fdatasync Ð´Ð»Ñ %s завершилаÑÑŒ помилкою�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fflush завершилаÑÑŒ помилкою�номер Ð¿Ð¾Ð»Ñ %s надто великий�нульовий номер полÑ�Ð¿Ð¾Ð»Ñ Ñ‚Ð° позиції нумеруютьÑÑ Ð· 1�fifo�файл %d не Ñортований�операнди-файли не можна викориÑтовувати разом з --files0-from�Операнди-файли не можна одночаÑно викориÑтовувати з --print-database (-p)�файлова ÑиÑтема типа %s Ñ– вибрана, Ñ– виключена�ÑиÑтемний виклик fork завершивÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ�формат %s закінчуєтьÑÑ Ñƒ %%�формат %s не міÑтить директиву %%�формат %s має надто багато директив %%�формат міÑтить %s невідому директиву %%%c�при виводі Ñ€Ñдків однакової ширини формат можна не вказувати�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fsync Ð´Ð»Ñ %s завершилаÑÑŒ помилкою�помилка fts_close�помилка при операції fts_read�помилка fts_read: %s�ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñного шлÑху�отримуютьÑÑ Ð½Ð¾Ð²Ñ– атрибути %s�група %s залишена Ñк %s �grouping не можна викориÑтовувати разом з --to�Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ діє у цій локалі�Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ iconv недоÑтупна�функцію iconv неможливо викориÑтати�id=�ігноруємо --no-newline з декількома аргументами�вÑÑ– аргументи проігноровані�вÑÑ– аргументи проігноровані�вивід додаєтьÑÑ Ñƒ %s�ігноруєтьÑÑ Ð²Ð²Ñ–Ð´ та Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ stderr на stdout�проігноровано неправильний розмір табулÑції змінної Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ TABSIZE: %s�проігноровано неправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ QUOTING_STYLE: %s�проігноровано неправильну довжину змінної Ñередовища COLUMNS: %s�аргументи, що не Ñ” ключами проігноровані�Ð¿Ð¾Ð»Ñ Ð¾Ð±'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ %lu, %lu неÑуміÑні�неÑуміÑна табулÑціÑ�не можна викориÑтовувати inotify, повертаємоÑÑ Ð´Ð¾ ÑпоÑобу опитуваннÑ�вичерпано реÑурÑи inotify�ввід Ñтав недоÑтупний�вхідний Ñ€Ñдок надто великий�надто короткий Ñ€Ñдок вхідних даних, у полі %ld не виÑвлено чиÑел Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ�помилка при переміщенні з приÑтрою %s на приÑтрій %s: не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ цільовий файл�некоректний аргумент %s%s — '%s'�некоректний аргумент --%s %s�некоректний аргумент --threshold «-0»�неправильна поправка %s�неправильний аргумент %s�неправильний аргумент %s Ð´Ð»Ñ %s�неправильний Ñтиль нумерації тіла: %s�некоректний режим буферизації %s Ð´Ð»Ñ %s �некоректний байт, Ñимвол або ÑпиÑок полів�неправильний знак '%c' у Ñ€Ñдку типу %s�неправильний ÐºÐ»Ð°Ñ Ð·Ð½Ð°ÐºÑ–Ð² %s�неправильний контекÑÑ‚: %s�неприпуÑтиме перетвореннÑ�неправильний Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–: %c�неправильний Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–: \%.3o�неправильна дата %s�неправильний формат дати %s�неприпуÑтимий Ñпадаючий діапазон�неправильний приÑтрій %s %s�неправильний тип приÑтрою %s�неправильний номер полÑ: %s�неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ð»Ñ: %s�некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ, «%s»�неправильна ширина полÑ: %s�неправильний номер файла у Ñпецифікації полÑ: %s�некоректні прапорці у Ñпецифікації перетвореннÑ: %%%c%c�неправильний аргумент з плаваючою комою: %s�неправильний Ñтиль нумерації нижнього колонтитула: %s�некоректний формат %s (Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð¸)�некоректний формат %s, інÑтрукцією має бути %%['][-][N]f�неправильна ширина інтервалу: %s�неправильна група�неправильна група %s�некоректний ÑпиÑок груп %s�неправильна група: %s�неправильний Ñтиль нумерації заголовка: %s�некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, «%s»�неправильні вхідні дані�неприпуÑтима ознака входу�неприпуÑтимий вхідний діапазон %s�неправильне ціле чиÑло %s�неправильний цілий аргумент %s�неправильна кількіÑть Ñ€Ñдків %s�неправильна line discipline %s�неправильна ширина Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка: %s�неправильний приріÑÑ‚ номеру Ñ€Ñдка: %s�неправильний формат нумерації Ñ€Ñдків: %s�неправильна довжина Ñ€Ñдка: %s�неправильне оÑновне чиÑло приÑтрою %s�неприпуÑтима макÑимальна глибина %s�неправильне другорÑдне чиÑло приÑтрою %s�неправильний режим�неправильний режим %s�неправильний режим: %s�неправильний номер %s�неправильне чиÑло піÑÐ»Ñ ','�неправильне чиÑло піÑÐ»Ñ '-'�неправильне чиÑло піÑÐ»Ñ '.'�неправильне чиÑло на початку полÑ�неправильна кількіÑть порожніх Ñ€Ñдків: %s�неправильна кількіÑть байт�неправильна кількіÑть байт, що порівнюютьÑÑ�неправильна кількіÑть байт, що пропуÑкаютьÑÑ�неправильне чиÑло Ñтовпчиків: %s�неправильна кількіÑть полів, що пропуÑкаютьÑÑ�неправильна кількіÑть Ñ€Ñдків�некоректне чиÑло: «%s»�неправильний ключ -- '%c'�неправильний ключ -- %c; -ШИРИÐРрозпізнаєтьÑÑ, лише Ñкщо це перший аргумент, у іншому випадку вказуйте -w N�неправильно вказана оÑнова ÑиÑтеми чиÑÐ»ÐµÐ½Ð½Ñ '%c', повинна бути одним з Ñимволів [doxn]�неприпуÑтимий ознака виводу�некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Â«%s»�некоректний діапазон Ñторінок %s�неправильна точніÑть: %s�неправильний діапазон без кінцевого значеннÑ: -�неправильно вказана кількіÑть повторів %s у конÑтрукції [c*n]�неправильна ÑпецифікаціÑ�неправильний номер початкового Ñ€Ñдка: %s�неприпуÑтимий ознака ÑтатуÑу�некоректний шаблон, %s, міÑтить Ñимвол Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²�некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ аргументі %s%s: '%s'�некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ вхідних даних «%s»: «%s»�некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ вхідних даних: «%s»�неправильний розмір табулÑції: %s�неправильний шаблон, %s, міÑтить Ñимвол Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²�неправильний шаблон, %s; з --tmpdir, він не може бути абÑолютним�неправильний інтервал чаÑу %s�неправильний формат чаÑу %s�неправильний завершальний ключ -- '%c'�неправильний Ñ€Ñдок типу %s�неправильно вказаний тип %s; Ñ†Ñ ÑиÑтема не підтримує %lu-байтове типу з плаваючою комою�неправильно вказаний Ñ€Ñдок типу %s; Ñ†Ñ ÑиÑтема не підтримує %lu-байтове цілого типу�некоректна Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ: «%s»�неправильна універÑальна назва знаку \%c%0*x�неправильний кориÑтувач�неправильний кориÑтувач %s�неприпуÑтима довжина: %s�неправильна величина переноÑу: %s�неправильна назва файла нульової довжини�небезпечно рекурÑивно оброблÑти %s�небезпечно рекурÑивно оброблÑти %s (те ж Ñаме, що й %s)�ключ %lu має нульову ширину, його буде проігноровано�ключ %lu Ñ” чиÑловим, він охоплює декілька полів�занадто велике вхідне значеннÑ, «%s», можлива втрата точноÑті�попередній=�початковий '-' у компоненті назві файла %s�початкові пробіли у ключі %lu буде враховано; варто також вказати «b»�межу %lu перевищено довжиною %lu у назві файла %s�перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ %lu довжиною %lu у компоненті імені файла %s�Ñ€Ñдкова Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ñ–Ñ stdin не має ÑенÑу�ключ кількоÑті Ñ€Ñдків -%s%c... надто великий�номер Ñ€Ñдка %s менше номеру попереднього Ñ€Ñдка, %s�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка�довга верÑÑ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «--megabytes» вважаєтьÑÑ Ð·Ð°Ñтарілою, Ñкоро Ñ—Ñ— буде вилучено�макÑимум --%s аргумент з поточним rlimit що дорівнює %s�пам'Ñть вичерпано�пам'Ñть вичерпано буфером Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… розміром у %zu байтів (%s)�пам'Ñть вичерпано буфером Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… розміром у %zu байтів (%s)�черга повідомлень�мінімальним аргументом --%s Ñ” %s�непарні конÑтрукції [:upper:] та/або [:lower:]�пропущено Ð¾Ð¿Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (%%) у ÑуфікÑÑ–�пропущено ']'�у вхідних даних не виÑтачає ÑуфікÑа «i»: «%s» (наприклад Ki/Mi/Gi)�пропущений аргумент піÑÐ»Ñ %s�пропущений аргумент Ð´Ð»Ñ %s�пропущено назву клаÑу знаків '[::]'�пропущений Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–�піÑÐ»Ñ %s пропущений операнд, що вказує цільовий файл�пропущений знак клаÑу еквівалентноÑті '[==]'�пропущений операнд, що вказує файл�неправильна шіÑтнадцÑткове чиÑло у escape-поÑлідовноÑті�відÑутній ÑпиÑок полів�відÑутній ÑпиÑок позицій�відÑутній операнд�пропущений операнд піÑÐ»Ñ %s�режим повинен визначати лише біти прав доÑтупу до файла�режим %s змінено з %04lo (%s) на %04lo (%s) �права доÑтупу %s залишені Ñк %04lo (%s) �обхід точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %s вже здійÑнено�переÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ введеннÑ�багатознакова табулÑÑ†Ñ–Ñ %s�задано декілька ключів -i�задано декілька ключів -l або -t�вказано декілька програм ÑтиÑканнÑ�задано декілька розділювачів�множинні діапазони�задано декілька файлів Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ�задано декілька вихідних форматів�вказано декілька форматів виводу�вказано декілька відноÑних модифікаторів�множинні ролей�вказано декілька цільових каталогів�множинні типи�множинні кориÑтувачі�ані Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s, ані об'єкт на Ñкий воно вказує, не були змінені �або змінна Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ SHELL відÑутнÑ, або не вказаний тип інтерпретатору�не змінений влаÑник %s �не вказано команду�не вказано параметра перетвореннÑ�не вказана жодна файлова ÑиÑтема�більше немає файлів�немає вхідних даних з %s�реєÑтраційне ім'Ñ Ð²Ñ–Ð´Ñутнє�не вказаний ідентифікатор процеÑу�при дампі Ñ€Ñдків не можна вказувати тип�не вказано ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача; при викориÑтанні ключа -l треба вказати хоча б одне�не цілочиÑловий аргумент�непереноÑний знак %s у назві файла %s�не tty�Ð·Ð°Ð¿Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· через виÑÑче Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s не виконуєтьÑÑ�чиÑло у %s надто велике�кількіÑть паралельних впорÑдкувань має бути ненульовою�чиÑло байт�чиÑло Ñ€Ñдків�початкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð¸Ñлового ÑуфікÑа Ñ” занадто великим Ð´Ð»Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ ÑуфікÑа�викориÑтано заÑтарілий ключ «%s»; вам варто ÑкориÑтатиÑÑ ÐºÐ»ÑŽÑ‡ÐµÐ¼ «%s»�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ñуву при читанні файла %s�пропуÑк каталогу %s�у ТÐБЛИЦІ2 може викориÑтовуватиÑÑŒ лише одна конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*]�можна вказати лише одне приÑтрій�можна вказати лише один тип ÑпиÑку�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°ÑÑŒ помилкою�параметр «-%s» проігноровано�параметри «-%s» проігноровано�параметри «-%s» проігноровано�параметр «-r» заÑтоÑовуєтьÑÑ Ð»Ð¸ÑˆÐµ у разі, Ñкщо збігів не виÑвлено�параметр --output: поле «%s» Ñ” невідомим�параметр --output: поле «%s» викориÑтано декілька разів�параметр викориÑтовує неправильний контекÑÑ‚ -- %c�параметри %s Ñ– %s не можна викориÑтовувати одночаÑно�неÑуміÑні параметри '-%s'�параметри --backup Ñ– --no-clobber не можна викориÑтовувати одночаÑно�параметри --compare (-C) Ñ– --preserve-timestamps не можна викориÑтовувати одночаÑно�параметри --compare (-C) Ñ– --strip не можна викориÑтовувати одночаÑно�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð°Ð¼â€™Ñті (запитано %zu байтів)�вичерпано ÑуфікÑи Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… файлів�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файла %s�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файла %s у бік збільшеннÑ�влаÑник %s залишений без змін �влаÑник %s залишений Ñк %s �Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñƒ Ñторінок�Ñторінка надто вузька�Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s�Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¼Ñ–Ñ‚ÐºÐ¸ про Ñ‡Ð°Ñ %s�вивід уÑÑ–Ñ… Ñ€Ñдків, що повторюютьÑÑ Ñ‚Ð° чиÑла повторів не має ÑенÑу�неправильний порÑдок меж діапазону '%s-%s'�помилка читаннÑ�помилка читаннÑ�Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s�Ð·Ð°Ð¿Ð¸Ñ Ð½Ð°Ð´Ñ‚Ð¾ великий�переÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ stderr до stdout�звичайний порожній файл�звичайний файл�відкидаємо ÑÑƒÑ„Ñ–ÐºÑ Â«%s» у вхідних даних (варто викориÑтовувати --from Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ збереженнÑ)�вилучено %s �вилучено каталог: %s �Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ, %s�рівень виконаннÑ�Ñемафор�розділювач не може бути порожнім�Щоб обійти цю проблему, вÑтановіть LC_ALL='C'�вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð·Ð½Ð°Ðº Ð´Ð»Ñ %s�вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s�вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñових позначок %s�об'єкт Ñпільній пам'Ñті�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ skip-bytes + read-bytes надто велике�припущено %s, оÑкільки він розташований на іншому приÑтрої�пропущено файл %s, оÑкільки він був замінений під Ñ‡Ð°Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ�Ñокет�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ squfof�Ñтандартна помилка�Ñтандартний ввід�Ñтандартний ввід закритий�Ñтандартний вивід�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ stat завершилаÑÑŒ помилкою�stderr�stdin�stdout�зайвий знак у Ñпецифікації полÑ�помилка порівнÑÐ½Ð½Ñ Ñ€Ñдків�помилка Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ñдків�Ð¿Ñ€Ð¾Ñ†ÐµÑ strip завершивÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ�заборона виводу Ñ€Ñдків, що не міÑÑ‚Ñть розділювачів, має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при роботі з полÑми�Ñимволічне поÑиланнÑ�ÑинтакÑична помилка�Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑиÑтеми�розмір табулÑції не може дорівнювати нулю�розмір табулÑції міÑтить неприпуÑтимий знак (знаки): %s�номера позицій табулÑції повинні зроÑтати�розмір табулÑції надто великий %s�розмір табулÑції надто великий�позиції табулÑції надто далеко одна від одної�вказана ціль %s не Ñ” каталогом�при вÑтановленні каталогу не можна вказувати цільовий каталог�термінал=�test та/або [�ключі --binary та --text не мають ÑенÑу при перевірці контрольних Ñум�параметр --compare (-C) пропуÑкаєтьÑÑ, Ñкщо ви вкажете режим з заборонними бітами�ключ --quiet має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум�ключ --status має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум�ключ --strict має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум�ключ --tag не має ÑенÑу під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ контрольних Ñум�ключ --warn має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум�конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*] може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ2 лише при перетворенні�конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*] не може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ1�аргумент %s не починаєтьÑÑ Ð·Ñ– знаку '+'; При вказуванні дати, кожен аргумент, що не Ñ” ключем, повинен мати Ñимвольний формат та починатиÑÑŒ зі знаку '+'.�розділювач повинен бути одним Ñимволом�команда, за Ñкою виконувалоÑÑ ÑпоÑтереженнÑ, завершила роботу критичною помилкою�ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ у текÑтовому та виводі, зрозумілому програмі stty, виключають один одного�ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ внутрішньої бази даних dircolors та ключі Ð´Ð»Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ ÑинтакÑиÑу оболонки взаємно виключають друг друга�ключі Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу не можуть заÑтоÑовуватиÑÑŒ разом�ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ дати взаємно виключають друг друга�Ñ€Ñдки, що порівнювалиÑÑŒ %s та %s.�при вÑтановленні каталогу не можна вживати ключ strip�довжина ÑуфікÑа не повинна бути меншою за %zu�РÑдок до Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ %s�Ñ‡Ð°Ñ %s поза допуÑтимим діапазоном�Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° кориÑтувача %s Ñлід викориÑтовувати -g too�надто мало Ñимволів X у шаблоні %s�надто багато опиÑів Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (%%) у ÑуфікÑÑ–�надто багато знаків у таблиці�надто багато Ñ€Ñдків, що повторюютьÑÑ�надто багато шаблонів�загалом�помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ…Ð¾Ð´Ñƒ: %s�об'єкт типізованої пам'Ñті�uid=%s�Ðеможливо вивеÑти Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку�не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ поточний робочий каталог�не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s�неочікувана помилка: fts_info=%d: %s повідомте %s�невідомий двійковий оператор�невідомий Ñтан від команди (0x%X)�невідомий потік�невідомий ідентифікатор кориÑтувача: %s�незрозуміле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ LS_COLORS�Ðерозпізнаний тип файлової ÑиÑтеми 0x%08lx Ð´Ð»Ñ %s. Будь лаÑка, повідомте про нього до %s. ПовертаємоÑÑ Ð´Ð¾ проÑтого опитуваннÑ.�операнд %s не розпізнаний�не розпізнаний префікÑ: %s�%2d:%02d, �%ld день %2d:%02d, �%ld дні %2d:%02d, �%ld днів %2d:%02d, �???? днів ??:??, �викориÑтовуйте --no-preserve-root, щоб ÑкаÑувати Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ небезпеку�викориÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° впорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ %s�викориÑÑ‚Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтандартного Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð½Ðµ працює у режимі файлової ÑиÑтеми�викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ñте порівнÑÐ½Ð½Ñ Ð±Ð°Ð¹Ñ‚Ñ–Ð²�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ: «%s»�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ: «%Lg» (обробка значень більше 999Y неможлива)�Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ: «%Lg» (варто ÑкориÑтатиÑÑ --to)�Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ %s [-d]�Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дочірній процеÑ�Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ strip�попередженнÑ: �попередженнÑ: %s: знаки, наÑтупні за знаковою конÑтантою, проігноровані�попередженнÑ: %s: не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ контекÑÑ‚ у %s�попередженнÑ: 'touch %s' заÑтарів; викориÑтовуйте 'touch -t %04ld%02d%02d%02d%02d.%02d'�попередженнÑ: --pid=PID не підтримуєтьÑÑ Ð½Ð° цій ÑиÑтемі�попередженнÑ: ключ --retry кориÑний лише при Ñлідуванні за назвою файла�попередженнÑ: PID ігнорований; ключ --pid=PID кориÑний лише при Ñлідуванні�попередженнÑ: неекранована зворотна похила риÑка наприкінці формату не Ñ” переноÑимою�попередженнÑ: зворотна похила риÑка наприкінці формату�попередженнÑ, не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸: %s�попередженнÑ: Ñпроба Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñ–Ð² Ñдра завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾�попередженнÑ: неÑкінченне ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° Ñтандартним вводом неефективне�попередженнÑ: зайві аргументи проігноровані, починаючи з %s�попередженнÑ: некоректний зÑув файла піÑÐ»Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ читаннÑ�попередженнÑ: неправильна ширина %lu; буде викориÑтана %d�попередженнÑ: номер Ñ€Ñдка %s дорівнює попередньому номеру Ñ€Ñдка�попередженнÑ: sigprocmask�попередженнÑ: вхідний файл %s вказаний більше одного разу�попередженнÑ: Ð¿Ñ–Ð´Ð±Ð¸Ñ‚Ñ‚Ñ Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” з --max-depth=%lu�попередженнÑ: Ð¿Ñ–Ð´Ð±Ð¸Ñ‚Ñ‚Ñ Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ†Ðµ те ж Ñаме, що й --max-depth=0�попередженнÑ: неоднозначна віÑімкова поÑлідовніÑть \%c%c%c трактуєтьÑÑ Ñк двобайтова поÑлідовніÑть \0%c%c, %c�попередженнÑ: timer_create�попередженнÑ: timer_settime�попередженнÑ: керівна поÑлідовніÑть '\%c' не розпізнана�попередженнÑ: обходитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° lseek у Ñдрі Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° (%s) mt_type=0x%0lx -- Ñм. <sys/mtio.h> Ð´Ð»Ñ ÑпиÑку типів�дивний файл�Ñкщо чаÑтина таблиці1 не відкидаєтьÑÑ, таблицÑ2 не повинна бути порожньою�при читанні імен файлів з stdin, не допуÑкаютьÑÑ Ð½Ð°Ð·Ð²Ð¸ файлів %s�при вказуванні Ñтилю виводу не можна вÑтановлювати режим�при перетворенні з доповненнÑм клаÑів Ñимволів, ТÐБЛИЦЯ2 повинна Ñтавити у відповідніÑть вÑім Ñимволам Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ð¾ один Ñимвол�Ñкщо під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ñдок1 буде довшим за Ñ€Ñдок2, оÑтанній Ñ€Ñдок не повинен завершуватиÑÑ ÐºÐ»Ð°Ñом Ñимволів�при перетворенні, у ТÐБЛИЦІ2 можуть викориÑтовуватиÑÑŒ лише клаÑи 'upper' та 'lower'�не буде копіюватиÑÑ %s через щойно Ñтворене Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s�жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на каталог %s не буде Ñтворено�не перепиÑуєтьÑÑ Ñ‰Ð¾Ð¹Ð½Ð¾ Ñтворений %s %s�при заданому --parents ціль повинна бути каталогом�у разі Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ --suffix, шаблон %s має завершувати на X�при FILE=%s, код виходу %d від команди: %s�при FILE=%s, Ñигнал %s від команди: %s�помилка запиÑу�помилка запиÑу Ð´Ð»Ñ %s�Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ�Ð·Ð°Ð¿Ð¸Ñ Ñƒ %s�Ñлід вказати -c, -t, -u, -l, -r, або контекÑÑ‚�треба вказати ÑпиÑок байт, Ñимволів або полів�вам Ñлід вказати відноÑний %s з %s�можна визначити лише щоÑÑŒ одне: %s або %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% запиÑів прочитано %+% запиÑів запиÑано �% обрізаний Ð·Ð°Ð¿Ð¸Ñ �% обрізані запиÑи �% обрізаних запиÑів � Ñкопійовано % байт (%s)� Ñкопійовано % байти (%s)� Ñкопійовано % байтів (%s)�не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до % у файлі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %s�зÑув надто великий: не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до величини seek=% (%lu-байтних) блоків�не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до % у файлі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %s�%s:%: не впорÑдковано: %.*s�не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити буфер stdio у % байтів �%s: %: неправильно Ñкладений Ñ€Ñдок контрольної Ñуми %s�ПОПЕРЕДЖЕÐÐЯ: % Ñ€Ñдок має помилкове форматуваннÑ�ПОПЕРЕДЖЕÐÐЯ: % Ñ€Ñдки мають помилкове форматуваннÑ�ПОПЕРЕДЖЕÐÐЯ: % Ñ€Ñдків мають помилкове форматуваннÑ�ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ % вказаний файл�ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ % вказані файли�ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ % вказаних файлів�ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглаÑÑŒ % обчиÑлена контрольна Ñума�ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглиÑÑŒ % обчиÑлені контрольні Ñуми�ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглиÑÑŒ % обчиÑлених контрольних Ñум�номер початкової Ñторінки % перевищує загальну кількіÑть Ñторінок %�Сторінка %�Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ % * % байтових блоків Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s�не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ %s до % байтів���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sl.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001623164�12107204514�011753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU coreutils. # Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Klemen KoÅ¡ir <klemen913@gmail.com>, 2011. # $Id: coreutils-8.20-pre1.sl.po,v 1.2 2012/10/28 21:27:44 peterlin Exp $ # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-10-28 22:27+0100\n" "Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n" "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "%100==4 ? 3 : 0);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neveljavni argument %s za %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "dvoumni argument %s za %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Veljavni argumenti so:" #: lib/closein.c:100 msgid "error closing file" msgstr "napaka pri zapiranju datoteke" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "napaka pri pisanju" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "ohranjena dovoljenja za %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Neznana sistemska napaka" #: lib/file-type.c:38 msgid "regular empty file" msgstr "navadna prazna datoteka" #: lib/file-type.c:38 msgid "regular file" msgstr "navadna datoteka" #: lib/file-type.c:41 msgid "directory" msgstr "imenik" #: lib/file-type.c:44 msgid "block special file" msgstr "bloÄna enota" #: lib/file-type.c:47 msgid "character special file" msgstr "znakovna enota" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" # ! INEXACT #: lib/file-type.c:53 msgid "symbolic link" msgstr "simbolna povezava" #: lib/file-type.c:56 msgid "socket" msgstr "vtiÄnica" #: lib/file-type.c:59 msgid "message queue" msgstr "vrsta sporoÄil" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "deljen pomnilniÅ¡ki predmet" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tipiziran pomnilniÅ¡ki predmet" #: lib/file-type.c:70 msgid "weird file" msgstr "Äudna datoteka" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Družina naslovov za ime gostitelja ni podprta" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "RazreÅ¡evanje imena zaÄasno ni uspelo" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Slaba vrednost ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Nepopravljiv neuspeh pri razreÅ¡evanju imena" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family ni podprt" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Dodelitev pomnilnika ni uspela" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Z imenom gostitelja ni povezan noben naslov" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Ime ali storitev ni poznana" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname ni podprt za ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype ni podprt" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Sistemska napaka" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Medpomnilnik za argumente premajhen" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Obdelava zahtevka v teku" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Zahtevek preklican" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Zahtevek ni preklican" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Vsi zahtevki obdelani" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Prekinjeno s signalom" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "ParametriÄni niz nepravilno kodiran" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Neznana napaka" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: izbira »%s« je dvoumna; možnosti:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: izbira »--%s« zahteva argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neprepoznana izbira »--%s«\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neprepoznana izbira »%c%s«\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neveljavna izbira -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: izbira zahteva argument -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: izbira »-W %s« je dvoumna\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: izbira »-W %s« zahteva argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "dovoljenj %s ni mogoÄe spremeniti" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "imenika %s ni mogoÄe ustvariti" # ! INEXACT #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "zmanjkalo pomnilnika" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ni mogoÄe zabeležiti trenutnega delovnega imenika" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "vrnitev v zaÄetni delovni imenik ni uspela" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "»" #: lib/quotearg.c:313 msgid "'" msgstr "«" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: konec datoteke" #: lib/regcomp.c:131 msgid "Success" msgstr "UspeÅ¡no" #: lib/regcomp.c:134 msgid "No match" msgstr "Brez zadetkov" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Neveljaven regularni izraz" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Neveljaven razvrÅ¡Äevalni znak" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Neveljavno ime razreda znakov" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "ZakljuÄna obratna poÅ¡evnica" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Neveljaven povratni sklic" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Uklepaj [ ali [^ brez para" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Uklepaj ( ali \\( brez para" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Uklepaj \\{ brez para" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Neveljavna vsebina \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Neveljaven konec razpona" # ! INEXACT #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Pomnilnik izÄrpan" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Neveljaven predhodni regularni izraz" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "PredÄasen zakljuÄek regularnega izraza" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regularni izraz je preobsežen" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Zaklepaj ) ali \\) brez para" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "PrejÅ¡njega regularnega izraza ni" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "rekurzivno delovanje na %s je nevarno" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "rekurzivno delovanje na %s (isto kot %s) je nevarno" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "uporabite --no-preserve-root, da zaobidete to varovalko" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJdD]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "nastavljena dovoljenja za %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Odklop" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Prekinitev" #: lib/siglist.h:37 msgid "Quit" msgstr "KonÄanje" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Nedovoljen ukaz" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Past" #: lib/siglist.h:46 msgid "Aborted" msgstr "Prekinjen" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "PrekoraÄitev plavajoÄe vejice" #: lib/siglist.h:52 msgid "Killed" msgstr "Pobit" #: lib/siglist.h:55 msgid "Bus error" msgstr "Napaka vodila" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Napaka segmentacije" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Prekinjen cevovod" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Budilka" #: lib/siglist.h:67 msgid "Terminated" msgstr "ZakljuÄen" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Nujno V/I stanje" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Ustavljen (signal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Ustavljen" #: lib/siglist.h:79 msgid "Continued" msgstr "Nadaljevan" #: lib/siglist.h:82 msgid "Child exited" msgstr "Izhod nasledniÅ¡kega procesa" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Ustavljen (vhod TTY)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Ustavljen (izhod TTY)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "MogoÄ V/I" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Presežena omejitev procesorskega Äasa" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Presežena omejitev dolžine datoteke" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Iztek virtualne Å¡toparice" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Iztek profilirne Å¡toparice" #: lib/siglist.h:106 msgid "Window changed" msgstr "Zamenjano okno" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "UporabniÅ¡ki signal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "UporabniÅ¡ki signal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Past EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Slab sistemski klic" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Napaka sklada" #: lib/siglist.h:126 msgid "Information request" msgstr "Informacijski zahtevek" #: lib/siglist.h:128 msgid "Power failure" msgstr "Izpad toka" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Vir izgubljen" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "ni mogoÄe ustvariti cevovoda" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "podproces %s ni uspel" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "RealnoÄasovni signal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Neznani signal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funkcija iconv ne deluje" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funkcija iconv ni na voljo" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "koda znaka izven obsega" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "znaka s kodo U+%04X ni mogoÄe pretvoriti v lokalni nabor znakov" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "znaka s kodo U+%04X ni moÄ pretvoriti v lokalni nabor znakov: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "neveljavno uporabniÅ¡ko ime" #: lib/userspec.c:107 msgid "invalid group" msgstr "neveljavno ime skupine" #: lib/userspec.c:108 msgid "invalid spec" msgstr "neveljavna specifikacija" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "sporoÄila o napaki ni mogoÄe prikazati" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Priprava paketa: %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Priprava paketa: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "GPLv3+: GNU GPL, 3. izdaja ali poznejÅ¡a <http://www.gnu.org/licenses/gpl." "html>\n" "To je prosto programje; lahko ga redistribuirate in/ali spreminjate.\n" "Za izdelek ni NOBENEGA JAMSTVA, do z zakonom dovoljene meje.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Avtor(ica): %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Avtorja: %s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Avtorji: %s, %s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Avtorji: %s, %s, %s\n" "in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s, %s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s, %s, %s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s, %s, %s, %s\n" "in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s in %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Avtorji: %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s in drugi.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "PoroÄila o napakah: %s\n" "Napake v prevodu sporoÄite na <translation-team-sl@lists.sourceforge.net>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Napake v programu %s sporoÄite na: %s\n" "Napake v prevodu sporoÄite na <translation-team-sl@lists.sourceforge.net>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "DomaÄa stran %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Spletna stran %s: <http://www.gnu.org/software/%s/>.\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "SploÅ¡na pomoÄ za rabo programja GNU: <http://www.gnu.org/gethelp/>.\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "klic _open_osfhandle ni uspel" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "ni mogoÄe obnoviti fd %d: klic dup2 ni uspel" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "podproces %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "podproces %s je prejel terminalni signal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standardni vhod" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standardni izhod" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standardna izhod za napake" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "neznani tok" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "ponovno odpiranje %s v naÄinu %s ni uspelo" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "primerjanje nizov ni uspelo" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Nastavite LC_ALL='C', da bi odpravili težavo." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Primerjana niza sta bila %s in %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "oblikovanega izpisa ni mogoÄe izvesti" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "neveljavni %s%s argument '%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "neveljavna pripona pri %s%s argumentu '%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s: argument '%s' je prevelik" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Uporaba: %s [IZBIRA]... [DATOTEKA]\n" "Base64 kodira ali dekodira DATOTEKO ali standardni vhod na standardni " "izhod.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode dekodiraj podatke\n" " -i, --ignore-garbage pri dekodiranju ignoriraj nealfabetiÄne znake\n" " -w, --wrap=N prelomi vrstice pri N znakiv v vrstici (privzeto 76)." "\\\n" " N=0 pomeni brez preloma vrstic\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "ÄŒe DATOTEKA ni podana, ali pa je enaka -, beremo s standardnega vhoda.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Podatki so kodirani skladno z abecedo base64, opisano v priporoÄilu RFC " "3548.\n" "Dekodiranje ob znakih abecede base64 tolerira znake za nove vrstice. " "Uporabite\n" "--ignore-garbage za poskus rekonstrukcije kodiranega toka, ki vsebuje Å¡e " "druge\n" "znake izven abecede base64.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "napaka pri branju" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "neveljavni vhod" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "neveljavna Å¡irina: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "odveÄni operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "zapiramo standardni vhod" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uporaba: %s IME [PRIPONA]\n" " ali: %s IZBIRA... IME...\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "IzpiÅ¡emo IME datoteke brez celotne poti do nje. ÄŒe je podana PRIPONA,\n" "izpiÅ¡emo ime datoteke brez pripone.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple podpiraj veÄ argumentov in obravnavaj vsakega kot " "IME\n" " -s, --suffix=PRIPONA odstrani PRIPONO\n" " -z, --zero vrstice zakljuÄi z znakom NUL namesto z LF\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Zgledi:\n" " %s /usr/bin/sort -> »sort«\n" " %s include/stdio.h .h -> »stdio«\n" " %s -s .h include/stdio.h -> »stdio«\n" " %s -a nekaj/niz1 nekaj/niz2 -> »niz1« ki mu sledi »niz2«\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "manjkajoÄ operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "PrepiÅ¡emo DATOTEKO, veÄ DATOTEK ali standardni vhod na standardni izhod.\n" "\n" " -A, --show-all enakovredno sestavljeni izbiri -vET\n" " -b, --number-nonblank oÅ¡tevilÄi neprazne izpisane vrstice,\n" " prevlada nad izbiro -n\n" " -e enakovredno sestavljeni izbiri -vE\n" " -E, --show-ends izpiÅ¡i $ na koncu vsake vrstice\n" " -n, --number oÅ¡tevilÄi vse izpisane vrstice\n" " -s, --squeeze-blank zaporedje veÄ praznih vrstic skrÄi v eno\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t enakovredno sestavljeni izbiri -vT\n" " -T, --show-tabs prikaži znake TAB kot ^I\n" " -u (se ne upoÅ¡teva)\n" " -v, --show-nonprinting krmilne znake razen LF in TAB izpiÅ¡i kot ^ and " "M-\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Zgleda:\n" " %s f - g IzpiÅ¡e vsebino datoteke »f«, zatem standardni vhod, zatem " "vsebino »g«.\n" " %s PrepiÅ¡i vsebino standardnega vhoda na standardni izhod.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ioctl na »%s« ni mogoÄ" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standardni izhod" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: vhodna in izhodna datoteka sta isti" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russel Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "ustvarjenje varnostnega konteksta ni uspelo: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "nastavitev %s varnostnega konteksta na %s ni bila uspeÅ¡na" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "branje varnostnega konteksta %s ni uspelo" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "delnega konteksta ni mogoÄe uporabiti na neoznaÄeni datoteki %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "zamenava konteksta %s na %s ni uspela" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "dostop do %s ni mogoÄ" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "imenika %s ni mogoÄe prebrati" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "spreminjanje varnostnega konteksta %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read ni uspel" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close ni uspel" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [IZBIRA]... KONTEKST DATOTEKA...\n" " ali: %s [IZBIRA]... [-u UPORABNIK] [-r VLOGA] [-l OBSEG] [-t TIP] " "DATOTEKA...\n" " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Navedenim DATOTEKAM spremenimo varnostni kontekst v KONTEKST.\n" "Z izbiro --reference spremenimo vsem DATOTEKAM varnostni kontekst v istega,\n" "kot ga ima ZGLED.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference deluje na ciljne datoteke simbolnih povezav, ne " "pa\n" " na same simbolne povezave (prvivzeto)\n" " -h, --no-deferefence deluje na simbolne povezave, ne na ciljne " "datoteke\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UPORABNIK nastavi UPORABNIKA v ciljnem varnostnem kontekstu\n" " -r, --role=VLOGA nastavi VLOGO v ciljnem varnostnem kontekstu\n" " -t, --type=TIP nastavi TIP v ciljnem varnostnem kontekstu\n" " -l, --range=OBSEG nastavi OBSEG v ciljnem varnostnem kontekstu\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=ZGLED namesto izrecno navedenega KONTEKSTA tega " "nastavimo\n" " enako, kot ga ima nastavljen ZGLED\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive rekurzivno obdelamo imenike in datoteke\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Naslednje izbire vplivajo na to, kako je pri podani izbiri -R preÄesano \n" "datoteÄno drevo. ÄŒe je navedena veÄ kot ena od naÅ¡tetih izbir, se upoÅ¡teva\n" "le zadnja.\n" "\n" " -H Äe je argument ukazne vrstice simbolna povezava na\n" " imenik, preÄeÅ¡i ta imenik\n" " -L preÄeÅ¡i vse simbolne povezave na imenike, na " "katere\n" " naletiÅ¡\n" " -P ne preÄeÅ¡i nobene simbolne povezave (privzeto)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference zahteva bodisi -H, bodisi -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h zahteva -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "manjkajoÄ operand za %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "neveljavni kontekst: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "podana doloÄila varnostnega konteksta si nasprotujejo" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "branje prilastkov (atributov) %s ni uspelo" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "neveljavna skupina: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [IZBIRA]... SKUPINA DATOTEKA...\n" " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Navedenim DATOTEKAM spremenimo varnostni kontekst v KONTEKST.\n" "Z izbiro --reference, spremenimo vsem DATOTEKAM varnostni kontekst v " "istega,\n" "kot ga ima ZGLED.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes kot »verbose«, a samo ob spremembah\n" " -f, --silent, --quiet niÄesar ne izpiÅ¡i, samo vrni izhodni status\n" " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (uporabno samo v sistemih, ki dovoljujejo " "spremembo\n" " lastniÅ¡tva simbolne povezave)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=DATOTEKA uporabi skupino navedene DATOTEKE, namesto da\n" " izrecno navedemo skupino\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Zgleda:\n" "\n" " %s staff /u Spremeni skupino podimenika »/u« v »staff«.\n" " %s -hR staff /u Spremeni skupino podimenika »/u« s podimeniki v »staff«.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "beremo nove prilastke (atribute) %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "tako simbolna povezava %s kot sklicevana datoteka/imenik sta nespremenjena\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "zaÅ¡Äita datoteke %s spremenjena z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "sprememba zaÅ¡Äite datoteke %s z %04lo (%s) na %04lo (%s) ni uspela\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "zaÅ¡Äita datoteke %s ohranjena kot %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "delovanje na obviseni simbolni povezavi %s ni mogoÄe" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "spreminjanje dovoljenj %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nova dovoljenja so %s, ne %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [IZBIRA]... ZAÅ ÄŒITA[,ZAÅ ÄŒITA]... DATOTEKA...\n" " ali: %s [IZBIRA]... OKTALNA_KODA DATOTEKA...\n" " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Navedenim DATOTEKAM spremenimo zaÅ¡Äito v navedeno ZAÅ ÄŒITO.\n" "Z izbiro --reference spremenimo vsem DATOTEKAM zaÅ¡Äito v enako,\n" "kot jo ima ZGLED.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=DATOTEKA uporabi enako zaÅ¡Äito, kot jo ima navedena\n" " DATOTEKA, namesto da zaÅ¡Äito izrecno navajamo\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive rekurzivno obdelaj datoteke in imenike\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Vsaka ZAÅ ÄŒITA ima obliko »[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+«.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "ni moÄ podati izbire --reference in Å¡e izrecno navesti ZAÅ ÄŒITE" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "neveljavni naÄin: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "zamenava lastniÅ¡tva %s z %s na %s ni uspela\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "skupina %s spremenjena z %s na %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "brez spremembe lastniÅ¡tva %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "zamenava lastniÅ¡tva %s z %s na %s ni uspela\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "zamenjava skupine %s z %s na %s ni uspela\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "zamenava lastniÅ¡tva %s ni uspela\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "zamenava lastniÅ¡tva %s na %s ni uspela\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "zamenjava skupine %s na %s ni uspela\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "lastnik datoteke %s ostaja %s\n" # ! INEXACT #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "skupina datoteke %s ohranjena kot %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "lastniÅ¡tvo datoteke %s nespremenjeno\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "ni mogoÄe slediti povezavi %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "spreminjanje lastniÅ¡tva %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "spreminjanje skupino %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [IZBIRA]... [LASTNIK][:[SKUPINA]] DATOTEKA...\n" " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Spremeni LASTNIKA in/ali SKUPINO vsake navedene DATOTEKE na podani " "vrednosti.\n" "Pri podani izbiri --reference spremeni lastnika in/ali skupino na " "vrednosti,\n" "kot jih ima datoteka ZGLED.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=TRENUTNI_LASTNIK:TRENUTNA_SKUPINA\n" " lastnika in/ali skupino zamenjamo samo pri tistih\n" " datotekah, pri katerih trenutni lastnik in " "skupina\n" " ustrezata navedenima. Lastnika ali skupino lahko\n" " izpustimo; tedaj ujemanje za izpuÅ¡Äeno kategorijo\n" " tega ni veÄ pogoj.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=ZGLED namesto izrecno navedenega para UPORABNIK:SKUPINA\n" " ju nastavi na vrednosti, kot ju ima datoteka ZGLED\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "ÄŒe ni podan, lastnik datoteke ostane isti. Skupina se ohrani, Äe ni podana,\n" "spremeni pa v skupino lastnika, Äe lastniku sledi dvopiÄje (:). LASTNIK in\n" "SKUPINA sta lahko podana s simbolno ali numeriÄno vrednostjo.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Zgledi:\n" " %s root /u Spremeni lastnika imenika »/u« v »root«.\n" " %s root:staff /u Podobno, a obenem spremeni Å¡e njegovo skupino v " "»staff«.\n" " %s -hR root /u Spremeni lastnika imenika »/u« in podimenikov v »root«.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "neveljavno ime skupine %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "neveljaven seznam skupin %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "dodatnih skupin ni uspelo nastaviti" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [IZBIRA] NOVI_KOREN [UKAZ [ARGUMENT]...]\n" " ali: %s IZBIRA\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Izvedemo UKAZ tako, da korenski imenik postavimo na KOREN.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UPORABNIK:SKUPINA doloÄi uporabnika ali skupino (ID ali ime)\n" " --groups=SEZNAM doloÄi dodatne skupine (g1, g2,... gN)\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "ÄŒe UKAZ ni podan, izvedemo »${SHELL} -i« (privzeto »/bin/sh -i«).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "korenskega imenika ni mogoÄe prestaviti na %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "korenski imenik ni dosegljiv s chdir" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "nastavitev GID ni uspela" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "nastavitev UID ni uspela" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "ukaza %s ni uspelo izvesti" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: datoteka je predolga" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Uporaba: %s [DATOTEKA]...\n" " ali: %s [IZBIRA]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "IzpiÅ¡emo nadzorno vsoto in dolžino v bajtih za vsako DATOTEKO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Uporaba: %s [IZBIRA]... DATOTEKA1 DATOTEKA2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "Urejeni datoteki DATOTEKA1 in DATOTEKA2 primerjamo vrstico za vrstico.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Brez podanih izbir program izpiÅ¡e tri stolpce. V prvem stolpcu so vrstice,\n" "ki se pojavijo le v DATOTEKI1, v drugem vrstice, ki se pojavijo le v " "DATOTEKI2,\n" "v tretjem pa vrstice, skupne obema datotekama.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 izpusti vrstice, ki se pojavijo samo v prvi datoteki\n" " -2 izpusti vrstice, ki se pojavijo samo v drugi datoteki\n" " -3 izpusti vrstice, ki se pojavijo v obeh datotekah\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order preveri, ali je vhod pravilno urejen, Äetudi so\n" " vse vhodne vrstice s pari\n" " --nocheck-order ne preverjaj, ali je vhod pravilno urejen\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=NIZ razmejilnik med stolpci naj bo NIZ\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Primerjave upoÅ¡tevajo pravila, navedena v »LC_COLLATE«.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Zgledi:\n" " %s -12 datoteka1 datoteka2 IzpiÅ¡i le vrstice, navzoÄe v datoteki1 in " "datoteki2\n" " %s -3 datoteka1 datoteka2 IzpiÅ¡i vrstice, ki so le v datoteki1, ne pa \n" " tudi v datoteki2, ali obratno\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "datoteka %d ni urejena" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "podanih je veÄ razmejilnikov" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "prazen %s ni dovoljen" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "napaka pri branju %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "premikanje z lseek po %s ni mogoÄe" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "napaka pri pisanju na %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: branje informacij extents ni uspelo" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: pisanje ni uspelo" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "razÅ¡irjanje %s ni uspelo" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "briÅ¡emo dovoljenja za %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "lastniÅ¡tvo za %s ni bilo ohranjeno" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "vpogled v datoteko %s ni uspel" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "avtorstvo datoteke %s ni bilo ohranjeno" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "datotek %s ni mogoÄe odpreti za branje" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "statusa %s ni moÄ ugotoviti s fstat" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "datoteko %s izpustimo, ker je bila med prepisom zamenjana" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "branje konteksta ustvarjenja datoteÄnega sistema ni uspelo" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "nastavitev varnostnega konteksta %s na %s ni uspela" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "ni mogoÄe odstraniti %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "odstranjena %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ne piÅ¡emo prek obvisene simbolne povezave %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "ni mogoÄe ustvariti navadne datoteke %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "ustvarjanje klona %s iz %s ni uspelo" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "ohranjeni Äasi za %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "odpiranje %s ni uspelo" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: naj piÅ¡emo prek %s navzlic zaÅ¡Äiti %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: naj piÅ¡emo prek %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (varnostna kopija: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "povrnitev privzetega konteksta ustvarjenja datoteke ni uspela" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "ni mogoÄe ustvariti trde povezave %s na %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "statusa %s ni moÄ ugotoviti s stat" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "izpuÅ¡Äamo imenik %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "opozorilo: izvorna datoteka %s je podana veÄ kot enkrat" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s in %s sta ena in ista datoteka" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "prek ne-imenika %s ne moremo pisati imenika %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "prek pravkar ustvarjene datoteke %s ne moremo zapisati %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "prek imenika %s ne moremo zapisati ne-imenika" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "imenika ne moremo premakniti v ne-imenik: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "varnostna kopija %s bi uniÄila izvirnik; %s ni premaknjen" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "varnostna kopija %s bi uniÄila izvirnik; %s ni prepisan" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "ni mogoÄe izdelati varnostne kopije %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ne bomo prepisali %s prek pravkar ustvarjene simbolne povezave %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "imenika %s se ne da prepisati vase, v %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ni mogoÄe ustvariti trde povezave %s na imenik %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "imenika %s se ne da premakniti v %s, ki je podimenik prvega" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "ni mogoÄe premakniti %s v %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "premik med enotami ni uspel: %s v %s; cilja ni moÄ odstraniti" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "nastavitev privzetega konteksta datoteke na %s ni uspela" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "ni mogoÄe prepisati cikliÄne simbolne povezave %s" # ! INEXACT #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: relativne simbolne povezave so mogoÄe samo znotraj imenika" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "ni mogoÄe ustvariti simbolne povezave %s na %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "ni mogoÄe ustvariti FIFO %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "ni mogoÄe ustvariti posebne datoteke %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "ni mogoÄe prebrati simbolne povezave %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "ni mogoÄe ustvariti simbolne povezave %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s ima neznan tip datoteke" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "ni mogoÄe odstraniti varnostne kopije %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (brez varnostne kopije)\n" # ! INEXACT #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ\n" " ali: %s [IZBIRA]... IZVOR... IMENIK\n" " ali: %s [IZBIRA]... --target-directory=IMENIK IZVOR...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "PrepiÅ¡emo IZVOR v CILJ, ali veÄ IZVOROV v IMENIK.\n" "\n" # ! INEXACT #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive isto kot -dR --preserve=all\n" " --attributes-only ne prepiÅ¡i podatkov datoteke, ampak le " "prilastke\n" " --backup[=TIP] pred pisanjem prek obstojeÄe ciljne " "datoteke \n" " izdelamo varnostno kopijo podanega TIPA\n" " -b enako kot --backup, vendar ne sprejema " "argumenta\n" " --copy-contents pri rekurzivnem prepisovanju prepiÅ¡emo " "vsebino\n" " posebnih datotek\n" " -d isto kot --no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force Äe ciljne datoteke ni mogoÄe odpreti, jo\n" " odstranimo in poskusimo znova (nepotrebno,\n" " Äe je uporabljena izbira -n)\n" " -i, --interactive pred vsakim pisanjem prek obstojeÄe datoteko\n" " zahtevamo potrditev (prevlada nad izbiro -" "n)\n" " -H sledimo simbolnim povezavam v VIRU\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link ustvarimo trde povezave namesto kopij " "datotek\n" " -L, --dereference vedno sledimo simbolnim povezavam v VIRU\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber ne piÅ¡emo prek obstojeÄe datoteke (prevlada\n" " nad prejÅ¡njo izbiro -i)\n" " -P, --no-dereference nikoli ne sledimo simbolnim povezavam v VIRU\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p isto kot --preserve=mode,ownership," "timestamps\n" " --preserve[=SEZN_PRIL] Äe je mogoÄe, ohranimo navedene prilastke\n" " (atribute) datotek (privzeto: mode, " "ownership,\n" " timestamps; dodatno: context, links, " "xattr,\n" " all)\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=SEZN_PRIL ne ohranimo navedenih prilastkov\n" " --parents pot do vira dodaj v IMENIK\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive imenike prepiÅ¡emo rekurzivno\n" " --reflink[=KDAJ] nadzor kopij CoW/klon. Glejte spodaj.\n" " --remove-destination vsako ciljno datoteko vedno odstranimo pred\n" " poskusom pisanja vanjo (prim. --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KDAJ kdaj ustvarimo razprÅ¡ene datoteke. Glejte " "spodaj.\n" " --strip-trailing-slashes odstrani zakljuÄne poÅ¡evnice iz vseh " "podanih\n" " IZVOROV\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link ustvari simbolne povezave namesto kopij\n" " -S, --suffix=PRIPONA pripona varnostne kopije naj bo PRIPONA\n" " --target-directory=IMENIK vse IZVORE premakni v IMENIK\n" " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update prepiÅ¡i samo. Äe je IZVOR novejÅ¡i od CILJA " "ali\n" " kadar CILJ Å¡e ne obstaja\n" " -v, --verbose z razlago poteka\n" " -x, --one-file-system samo krajevni datoteÄni sistem\n" # ! INEXACT #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Privzeto se z grobo hevristiko ugotavlja, ali je IZVOR razprÅ¡ena datoteka, \n" "CILJ pa je v tem primeru tudi razprÅ¡ena datoteka. Isto dosežemo tudi z " "izbiro \n" "--sparse=auto. Z izbiro --sparse=always bo CILJ razprÅ¡en vedno, kadar " "IZVOR\n" "vsebuje dovolj dolgo zaporedje znakov niÄ. Izbira --sparse=never vedno " "prepreÄi\n" "ustvarjanje razprÅ¡enih datotek.\n" "\n" "ÄŒe je podana izbira --reflink[=always], se izvede »lahko« kopiranje, pri\n" "katerem se podatkovni bloki prepiÅ¡ejo le, Äe so spremenjeni. ÄŒe to ni " "mogoÄe, \n" "Äe pride pri kopiranju do napake, ali Äe je podana izbira --reflink=auto, " "se \n" "uporabi standardno kopiranje.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Varnostna kopija ima pripono »~«, razen Äe ni z izbiro --suffix ali\n" "spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugaÄe. Vrsto varnostnih\n" "kopij lahko nastavimo z izbiro --backup ali spremenljivko\n" "VERSION_CONTROL. Možnosti so:\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nikoli ne delamo varnostne kopije, niti z izbiro --backup\n" " numbered, t oÅ¡tevilÄene varnostne kopije\n" " existing, nil oÅ¡tevilÄene varnostne kopije, Äe take že obstajajo,\n" " sicer enostavne\n" " simple, never vedno enostavne varnostne kopije\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "V posebnem primeru napravi cp varnostno kopijo IZVORa, kadar sta podani " "izbiri\n" "--force in --backup, IZVOR in CILJ pa sta isto ime za obstojeÄo navadno\n" "datoteko.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "Äasi za %s niso bili ohranjeni" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "dovoljenja datoteke %s niso ohranjena" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "ni mogoÄe ustvariti imenika %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s obstaja, vendar ni imenik" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "odpiranje %s ni uspelo" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "manjkajoÄ operand datoteke" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "manjkajoÄ operand ciljne datoteke za %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "izbiri --target-directory (-t) in --no-target-directory (-T) se izkljuÄujeta" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "cilj %s ni imenik" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "pri izbiri --parents mora biti cilj imenik" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "podanih je veÄ ciljnih imenikov" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "hkratne trde in simbolne povezave niso mogoÄe" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "izbiri --backup in --no-clobber se medsebojno izkljuÄujeta" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink je moÄ uporabiti le skupaj z --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "vrsta varnostne kopije" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "ohranitev varnostnega konteksta brez jedra s podporo SELinux ni mogoÄa" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "razÅ¡irjenih atributov ni moÄ ohraniti, cp je zgrajen brez podpore za xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "vhod je izginil" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: Å¡tevilka vrstice izven razpona" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: Å¡tevilka vrstice izven razpona" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " pri ponovitvi %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ujemanja ni" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "napaka pri iskanju z regularnimi izrazi" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "napaka pri pisanju za %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: za razmejilnikom priÄakovano celo Å¡tevilo" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: pri ponovitvah je zahtevan »}«" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: med »{« in »}« je zahtevano celo Å¡tevilo" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: manjkajoÄ zakljuÄni razmejilnik »%c«" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: neveljavni regularni izraz: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: neveljavni vzorec" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: Å¡tevilo vrstice mora biti pozitivno" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "Å¡tevilka vrstice %s je nižja od Å¡tevilke vrstice pred njo, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "opozorilo: Å¡tevilka vrstice %s je ista kot tista pred njo" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "manjkajoÄe doloÄilo pretvorbe v priponi" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "neveljavno doloÄilo pretvorbe v priponi: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "neveljavno doloÄilo pretvorbe v priponi: \\\\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "neveljavna oznaÄba v doloÄilu pretvorbe: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "preveÄ doloÄil pretvorbe %% v priponi" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "manjkajoÄe doloÄilo pretvorbe %% v priponi" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: neveljavno Å¡tevilo" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Uporaba: %s [IZBIRA]... DATOTEKA VZOREC...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "IzpiÅ¡emo kose DATOTEKE, loÄene z VZORCEM in zapiÅ¡emo v datoteke »xx01«, " "»xx02«...,\n" "Å¡tevilo bajtov v vsakem posamiÄnem kosu pa izpiÅ¡emo na standardni izhod.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=OBLIKA uporabi OBLIKO spritntf namesto %02d\n" " -f, --prefix=PREDPONA uporabi podano PREDPONO namesto »xx«\n" " -k, --keep-files ob napaki ne odstrani nepopolno zapisanih " "datotek\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=Å TEVKE uporabi navedeno Å¡tevilo Å¡tevk namesto " "privzetih 2\n" " -s, --quiet, --silent brez izpisa velikosti na standardni izhod\n" " -z, --elide-empty-files odstrani prazne izhodne datoteke\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "ÄŒe je DATOTEKA -, beremo s standardnega vhoda. VZOREC je lahko eden od:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " CELO_Å TEVILO prepiÅ¡i do navedene vrstice, ne vÅ¡tevÅ¡i te vrstice\n" " /REGIZR/[ODMIK] prepiÅ¡i do ODMIKA, ne vÅ¡tevÅ¡i ujemajoÄe se vrstice\n" " %%REGIZR%%[ODMIK] preskoÄi na ODMIK, ne vÅ¡tevÅ¡i ujemajoÄe se vrstice\n" " {CELO_Å TEVILO} ponovi prejÅ¡nji regularni izraz navedenokrat\n" " {*} ponovi prejÅ¡nji regularni izraz, kolikorkrat gre\n" "\n" "Zapis vrstice ODMIKA je znak »+« ali »-«, ki mu sledi pozitivno celo " "Å¡tevilo.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "polja in pozicije se Å¡tejejo od 1 dalje" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Uporaba: %s IZBIRA... [DATOTEKA]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Izbrane dele vrstic iz vsake od navedenih DATOTEK izpiÅ¡emo na standardni " "izhod.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=SEZNAM izpiÅ¡i samo navedene bajte\n" " -c, --characters=SEZNAM izpiÅ¡i samo navedene znake\n" " -d, --delimiter=RAZMEJ polja so razmejena z znakom RAZMEJ namesto s TAB\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=SEZNAM izpiÅ¡i samo navedena polja; izpiÅ¡i tudi vse " "vrstice,\n" " ki ne vsebujejo razmejilnika, razen Äe je " "podana\n" " izbira -s\n" " -n (se ne upoÅ¡teva)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement komplement množice izbranih bajtov, znakov ali " "polj\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ne izpiÅ¡i vrstic, ki ne vsebujejo razmejilnika\n" " --output-delimiter=NIZ naj bo NIZ razmejilnik na izhodu\n" " privzeti izhodni razmejilnik je enak vhodnemu\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Izbire -b, -c in -f se medsebojno izkljuÄujejo. Vsak SEZNAM lahko sestavlja " "en\n" "ali veÄ razponov, ki so med seboj loÄeni z vejico. Izbrani vhod je zapisan " "v\n" "istem vrstnem redu, kot je bil prebran, in je zapisan natanko enkrat.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vsak razpon ima lahko obliko:\n" "\n" " N N-ti bajt, znak ali polje, Å¡teto od 1 dalje\n" " N- od N-tega bajta, znaka ali polja do konca vrstice\n" " N-M od N-tega do vkljuÄno M-tega bajta, znaka ali polja\n" " -M od prvega do vkljuÄno M-tega bajta, znaka ali polja\n" "\n" "ÄŒe DATOTEKA ni podana, ali Äe je enaka - (minusu), se bere standardni vhod.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "neveljavni seznam bajtov ali polj" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "neveljavni razpon brez konÄne toÄke: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "neveljavni padajoÄi razpon" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "odmik %s (v bajtih) je prevelik" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "Å¡tevilka polja %s je prevelika" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "doloÄen je lahko samo en tip seznama" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "razmejilnik mora biti en sam znak" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "podati je treba seznam bajtov, znakov ali polj" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "vhodni razmejilnik se sme doloÄiti le, kadar delamo s polji" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "neizpisovanje vrstic, ki ne vsebujejo razmejilnika\n" "\tje smiselno le, kadar delamo s polji" #: src/cut.c:870 msgid "missing list of fields" msgstr "seznam polj manjka" #: src/cut.c:872 msgid "missing list of positions" msgstr "seznam položajev manjka" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Uporaba: %s [IZBIRA]... [+OBLIKA]\n" " ali: %s [-u|--utc|--universal] [MMDDuumm[[SS]LL][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "IzpiÅ¡emo trenutni Äas v podani OBLIKI, ali pa nastavimo sistemski Äas.\n" "\n" " -d, --date=NIZ izpiÅ¡i Äas podan v NIZU namesto trenutnega\n" " -f, --file=DATOTEKA enako kot --date za vsako vrstico v DATOTEKI\n" " -I[SPEC], --iso-8601[=SPEC] izpiÅ¡i datum/uro skladno s standardom ISO " "8601.\n" " SPEC je lahko »date« za izpis datuma " "(privzeto),\n" " »hours«, »minutes«, »seconds« ali »ns« za izpis\n" " datuma in ure v zahtevani natanÄnosti.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=DATOTEKA izpiÅ¡i Äas zadnje spremembe za navedeno " "DATOTEKO\n" " -R, --rfc-2822 Äas izpiÅ¡i skladno s priporoÄilom RFC-2822\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=DOLOÄŒILO datum v obliki, skladni s priporoÄilom RFC-3339\n" " DOLOÄŒILO je lahko »date«, »seconds« ali »ns«\n" " za datum in uro v navedeni natanÄnosti.\n" " Datum in Äas sta v izpisu loÄena z enim\n" " presledkom: 2006-08-07 12:34:56-06:00\n" " -s, --set=NIZ nastavi Äas na v NIZU podano vrednost\n" " -u, --utc, --universal izpis ali nastavitev Äasa v UTC namesto v " "lokalnem\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "Izpis doloÄa izbrana OBLIKA. TolmaÄ razume naslednja zaporedja:\n" "\n" " %% znak za odstotek: %\n" " %a lokalizirano okrajÅ¡ano ime dneva v tednu (npr. ned)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokalizirano polno ime dneva v tednu, spremen. Å¡irine (npr. nedelja)\n" " %b lokalizirano okrajÅ¡ano ime meseca (npr. jan)\n" " %B lokalizirano polno ime meseca, spremenljive Å¡irine (npr. januar)\n" " %c lokaliziran izpis datuma in ure (sob 04 nov 1989 12:02:33 CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C stoletje; kot %Y, vendar brez zadnjih dveh Å¡tevk (npr. 20)\n" " %d dan v mesecu (npr. 01)\n" " %D datum; isto kot %m/%d/%y\n" " %e dan v mesecu, dopolnjen s presledki; isto kot %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F poln datum; isto kot %Y-%m-%d\n" " %g dvoÅ¡tevilÄno leto, ustrezajoÄe Å¡tevilki tedna ISO (glejte %G)\n" " %G Å¡tiriÅ¡tevilÄno leto, ustrezajoÄe Å¡tevilki tedna ISO (glejte %V);\n" " praviloma uporabno le v kombinaciji z %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h isto kot %b\n" " %H ura (00..23)\n" " %I ura (01..12)\n" " %j dan v letu (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k ura, dopolnjena s presledki ( 0..23); isto kot %_H\n" " %l ura, dopolnjena s presledki ( 1..12); isto kot %_I\n" " %m mesec (01..12)\n" " %M minuta (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n nova vrstica\n" " %N nanosekunde (000000000..999999999)\n" " %p lokalizirana oznaka za dopoldanske (AM) ali popoldanske (PM) ure\n" " %P isto kot %P, a z malimi Ärkami\n" " %r Äas v lokaliziranem 12-urnem zapisu (npr. 11:11:04 PM)\n" " %R Äas v 24-urnem zapisu; isto kot %H:%M\n" " %s sekunde od 00:00:00, 1970-01-01 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekunde (00..60) (60 samo v primeru prestopne sekunde)\n" " %t vodoravni tabulator\n" " %T Äas v 24-urnem zapisu; isto kot %H:%M:%S\n" " %u dan v tednu (1..7); 1 je ponedeljek\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Å¡tevilka tedna v letu z nedeljo kot prvim dnevom v tednu (00..53)\n" " %V Å¡tevilka tedna ISO, s ponedeljkom kot prvim dnevom v tednu (01..53)\n" " %w dan v tednu (0..6); 0 predstavlja nedeljo\n" " %W Å¡tevilka tedna v letu s ponedeljkom kot prvim dnevom v tednu " "(00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x lokaliziran zapis datuma (npr. 21/31/99)\n" " %X lokaliziran zapis ure (npr. 23:13:48)\n" " %y zadnji dve Å¡tevki leta (00..99)\n" " %Y leto\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z Äasovni pas v Å¡tevilÄnem zapisu +hhmm (npr. +0100)\n" " %:z Äasovni pas v Å¡tevilÄnem zapisu +hh:mm (npr. +01:00)\n" " %::z Äasovni pas v Å¡tevilÄnem zapisu +hh:mm:ss (npr. +01:00:00)\n" " %:::z Äasovni pas v Å¡tevilÄnem zapisu; Å¡tevilo dvopiÄij ustreza zahtevani\n" " natanÄnosti (npr. +01, +05:30)\n" " %Z alfanumeriÄna okrajÅ¡ava Äasovnega pasu (npr. CET)\n" "\n" "Privzeto so Å¡tevilÄna polja v datumu do polne dolžine polja dopolnjena\n" "z niÄlami.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Naslednja neobvezna doloÄila lahko sledijo znaku »%«:\n" "\n" " »-« (minus) ne dopolnjuj polja\n" " »_« (podÄrtaj) dopolni polje s presledki\n" " »0« (niÄla) dopolni polje z niÄlami\n" " »^« Äe je mogoÄe, uporabi velike Ärke\n" " »#« Äe je mogoÄe, uporabi nasprotne Ärke\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Vsaki izbiri sledi neobvezna Å¡irina polja, navedena kot desetiÅ¡ko Å¡tevilo,\n" "zatem neobvezni modifikator, ki je nekaj od naslednjega:\n" "»E« za lokalizirano alternativno predstavitev, Äe je ta na voljo, ali\n" "»O« za lokalizirane alternativne Å¡tevilÄne simbole, Äe so ti na voljo.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Zgledi:\n" "\n" "Pretvori sekunde od epohe (1970-01-01 UTC) v datum:\n" " $ date --date='@2147483647'\n" "\n" "Prikaži Äas v drugi Äasovni coni (uporabite ukaz tzselect(1) za izbiro TZ):\n" " $ TZ=='Asia/Singapore' date\n" "\n" "Prikaži lokalni Äas ob 9. uri zjutraj naslednji ponedeljek v New Yorku:\n" " $ date --date='TZ=\"America/New_York\" 09:00 next Mon\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standardni vhod" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "neveljavni datum %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "podana je veÄ kot ena oblika izhoda" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "izbire pri doloÄanju datumov za izpis se medsebojno izkljuÄujejo" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "izbiri za izpis in nastavitev datuma se medsebojno izkljuÄujeta" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumentu %s manjka vodilni »+«;\n" "Pri doloÄanju datuma morajo biti vsi argumenti, ki niso izbire,\n" "doloÄitelji oblike datuma in se morajo zaÄeti s »+«" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "datuma ni mogoÄe nastaviti" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Äas %s je izven razpona" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [OPERAND]...\n" " ali: %s IZBIRA\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "PrepiÅ¡i datoteko ter jo pretvori in preoblikuj glede na izbire.\n" "\n" " bs=BAJTOV preberi in zapiÅ¡i zahtevano Å¡tevilo BAJTOV naenkrat\n" " cbs=BAJTOV pretvori zahtevano Å¡tevilo BAJTOV naenkrat\n" " conv=PRETVORBA pretvori datoteko, kot zahteva PRETVORBA (seznam " "simbolov,\n" " loÄen z vejicami)\n" " count=BLOKOV prepiÅ¡i zgolj zahtevano Å¡tevilo vhodnih BLOKOV\n" " ibs=BAJTOV beri po zahtevano Å¡tevilo BAJTOV naenkrat (privzeto 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=DATOTEKA beri z navedene DATOTEKE namesto s standardnega vhoda\n" " iflag=ZASTAVICA beri kot z vejicami loÄen seznam simbolov\n" " obs=BAJTOV piÅ¡i po zahtevano Å¡tevilo BAJTOV naenkrat (privzeto 512)\n" " of=DATOTEKA piÅ¡i na navedeno DATOTEKA namesto na standardni izhod\n" " oflag=ZASTAVICA piÅ¡i kot z vejicami loÄen seznam simbolov\n" " seek=BLOKOV na zaÄetku pisanja preskoÄi zahtevano Å¡tevilo BLOKOV\n" " dolžine obs\n" " skip=BLOKOV na zaÄetku branja preskoÄi zahtevano Å¡tevilo BLOKOV\n" " dolžine ibs\n" " status=IZPIS omeji IZPIS na stderr; »noxfer« brez statistike prenosa,\n" " »none« brez vseh izpisov\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Å tevila N in BAJTOV lahko okrajÅ¡amo s priponami za množenje: c = 1,\n" "w = 2, b = 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024, xM = M,\n" "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" "\n" "PRETVORBA je lahko (veÄ izbir loÄimo z vejico):\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii iz EBCDIC v ASCII\n" " ebcdic iz ASCII v EBCDIC\n" " ibm iz ASCII v »alternate EBCDIC«\n" " block zapise terminirane z NEWLINE zapolni z presledki do dolžine cbs\n" " unblock sledilne presledke v zapisu dolžine cbs nadomesti z NEWLINE\n" " lcase velike Ärke zamenjaj z malimi\n" " ucase male Ärke zamenjaj z velikimi\n" " sparse pri vhodnih blokih z znaki NUL se namesto zapisovanja poskusi\n" " premakniti za dolžino bloka\n" " swab paroma zamenjaj bajte na vhodu\n" " sync vsak vhodni blok zapolni z znaki NUL dolžine ibs; Äe smo podali\n" " tudi block ali unblock, zapolni s presledki namesto z znaki " "NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl prenehaj z delom, Äe izhodna datoteka že obstaja\n" " nocreat ne zapiÅ¡i izhodne datoteke\n" " notrunc ne poreži izhodne datoteke\n" " noerror nadaljuj po napaki pri branju\n" " fdatasync fiziÄno zapiÅ¡i izhodno datoteko pred zakljuÄkom dela\n" " fsync enako, vendar zapiÅ¡i tudi metapodatke \n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "ZASTAVICA je lahko:\n" "\n" " append dodajanje na konec datoteke (smiselno le pri izhodu; " "priporoÄeno\n" " conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio uporabi vzporedne vhodno-izhodne funkcije za podatke\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct uporabi neposredne vhodno-izhodne funkcije za podatke\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory opusti, razen Äe je imenik\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" " dsync uporabi sinhronizirane vhodno-izhodne funkcije za podatke\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync enako, a tudi za metapodatke\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock naberi polne bloke na vhodu (zgolj iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock uporabi neblokirne vhodno-izhodne funkcije\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime ne ažuriraj Äasa zadnjega dostopa\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache zavrzi medpomnjene podatke\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ne doloÄaj krmilnega terminala iz datoteke\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne sledi simbolnim povezavam\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks opusti, Äe je datoteka veÄkratno povezana\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary uporabi binarne vhodno-izhodne funkcije za podatke\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text uporabi besedilne vhodno-izhodne funkcije za podatke\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes upoÅ¡tevaj »count=N« kot Å¡teto v bajtih (samo iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes upoÅ¡tevaj »skip=N« kot Å¡teto v bajtih (samo iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes upoÅ¡tevaj »seek=N« kot Å¡teto v bajtih (samo iflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "ÄŒe poÅ¡ljemo tekoÄemu procesu »dd« signal %s, ta izpiÅ¡e vhodno-izhodne\n" "statistike na standardni izhod za napake in nadaljuje z delom.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Izbire so:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> zapisov na vhodu\n" "%<PRIuMAX>+%<PRIuMAX> zapisov na izhodu\n" # ! INEXACT #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> odrezanih zapisov\n" msgstr[1] "%<PRIuMAX> odrezan zapis\n" msgstr[2] "%<PRIuMAX> odrezana zapisa\n" msgstr[3] "%<PRIuMAX> odrezani zapisi\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> bajtov (%s) prepisanih" msgstr[1] "%<PRIuMAX> bajt (%s) prepisan" msgstr[2] "%<PRIuMAX> bajta (%s) prepisana" msgstr[3] "%<PRIuMAX> bajti (%s) prepisani" #: src/dd.c:720 msgid "Infinity B" msgstr "neskonÄno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "zapiramo vhodno datoteko %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "zapiramo izhodno datoteko %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "izklop O_DIRECT ni uspel: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "piÅ¡emo na %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "neprepoznan operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "neveljavna pretvorba" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "neveljavna vhodna zastavica" # ! INEXACT #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "neveljavno izhodna zastavica" #: src/dd.c:1227 msgid "invalid status flag" msgstr "neveljavna statusna zastavica" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "neveljavno Å¡tevilo %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "pretvorbe ascii, ebcdic in ibm se medsebojno izkljuÄujejo" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "pretvorbi block in unblock se medsebojno izkljuÄujeta" # ! INEXACT #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "pretvorbi lcase in ucase se medsebojno izkljuÄujeta" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "pretvorbi excl in nocreat se medsebojno izkljuÄujeta" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "izbiri direct in nocache se medsebojno izkljuÄujeta" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "opozorilo: obvoz okoli napake lseek v jedru za datoteko (%s)\n" " vrste mt_type=0x%0lx -- glejte <sys/mtio.h> za seznam zvrsti" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: pri branju premik s »skip« ni mogoÄ" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: pri pisanju premik s »seek« ni mogoÄ" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "prekoraÄitev odmika pri branju datoteke %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "opozorilo: neveljavni odmik datoteke po napaki pri branju" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "napake v jedru ni bilo mogoÄe zaobiti" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "nastavljanje zastavic za %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "pomnilnik porabljen z vhodnim medpomnilnikom velikosti %zu bajtov (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" "pomnilnik porabljen z izhodnim medpomnilnikom velikosti %zu bajtov (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: pri branju premik na zahtevani odmik ni mogoÄ" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "obrezovanje na %<PRIuMAX> bajtov pri izhodni datoteki %s ni uspelo" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync ni uspel za %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync ni uspel za %s<" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "odpiranje %s ni uspelo" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "odmik prevelik: ni moÄ odrezati na dolžino seek=%<PRIuMAX> (%lu-bajtnih) " "blokov" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "obrezovanje na %<PRIuMAX> bajtov pri izhodni datoteki %s ni uspelo" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "neuspela zavržba medpomnjenih podatkov za: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Dat. sist." #: src/df.c:175 msgid "Type" msgstr "Tip" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokov" #: src/df.c:181 msgid "Used" msgstr "Upor." #: src/df.c:184 msgid "Available" msgstr "Na voljo" #: src/df.c:187 msgid "Use%" msgstr "Upo%" #: src/df.c:190 msgid "Inodes" msgstr "Inodov" #: src/df.c:193 msgid "IUsed" msgstr "IUpor" #: src/df.c:196 msgid "IFree" msgstr "IPros" #: src/df.c:199 msgid "IUse%" msgstr "IUpo%" #: src/df.c:202 msgid "Mounted on" msgstr "Priklopljeno na" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "opozorilo: izvorna datoteka %s je podana veÄ kot enkrat" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Vel." #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Prost" #: src/df.c:474 msgid "Capacity" msgstr "Kapacit." #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "IzpiÅ¡emo informacije o datoteÄnem sistemu, na katerem se nahaja DATOTEKA,\n" "ali (privzeto) o vseh datoteÄnih sistemih.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all vkljuÄno s praznimi datoteÄnimi sistemi\n" " -B, --block-size=N uporabljamo N bajtov velike bloke; npr. »-BM« " "izpiÅ¡e\n" " velikosti v enotah po 1.048.576 bajtov\n" " --total izpis skupne porabe\n" " -h, --human-readable velikosti v Äloveku umljivi obliki (npr. 1K 234M " "2G)\n" " -H, --si podobno kot -h, vendar z bazo 1000 namesto 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes izpis informacije o inode namesto o porabi blokov\n" " -k isto kot --block-size=1K\n" " -l, --local omejimo seznam na lokalni datoteÄni sistem\n" " --no-sync brez klica sync() pred izpisom porabe (privzeto)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability izhodni format POSIX\n" " --sync klic sync() pred izpisom porabe\n" " -t, --type=TIP samo datoteÄni sistemi tipa TIP\n" " -T, --print-type izpis datoteÄnega sistem\n" " -x, --exclude-type=TIP brez datoteÄnih sistemov tipa TIP\n" " -v (se ne upoÅ¡teva)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "izbiri --compare (-C) in --strip se medsebojno izkljuÄujeta" #: src/df.c:1335 msgid "warning: " msgstr "opozorilo: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" "raba dolge izbire »--megabytes« je odsvetovana, v kratkem bo izbira ukinjena" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "tip datoteÄnega sistema %s je obenem izbran in izloÄen" #: src/df.c:1500 msgid "Warning: " msgstr "Opozorilo: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "tabele priklopljenih datoteÄnih sistemov ni moÄ prebrati" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "obdelan ni bil noben datoteÄni sistem" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" # ! INEXACT #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Izpis ukazov za nastavitev spremenljivke LS_COLORS.\n" "\n" "DoloÄitev oblike izhoda:\n" " -b, --sh, --bourne-shell oblika Bournove ukazne lupine za nastavitev \n" " spremenljivke LS_COLORS\n" " -c, --csh, --c-shell oblika ukazne lupine C za nastavitev " "LS_COLORS\n" " -p, --print-database izpis privzeth vrednosti\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "ÄŒe je DATOTEKA podana, iz nje preberemo, katero barvo uporabimo za kateri " "tip\n" "datotek oziroma pripon. Sicer se uporabi vgrajena tabela. Za podrobnosti o \n" "skladnji datoteke poženite »dircolors --print-database«.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: neveljavna vrstica; manjka drugi element" # ! INEXACT #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: neprepoznana kljuÄna beseda %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "izpis privzetih vrednosti (izbira --print-data-base, -p) ni združljiv\n" "z izbiro sintakse ukazne lupine" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "datoteÄnih operandov ni mogoÄe kombinirati z izbiro --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "spremenljivka SHELL ni nastavljena, niti ni podan tip ukazne lupine" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Uporaba: %s [IZBIRA] IME...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "IzpiÅ¡emo IME brez elementa za zadnjo poÅ¡evnico (/) in brez zakljuÄnih\n" "poÅ¡evnic; Äe IME ne vsebuje poÅ¡evnic, izpiÅ¡emo ».« (pomeni trenutni " "imenik).\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -0, --null vrstice naj se zakljuÄijo z znakom NUL, ne LF\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Zgledi:\n" " %s /usr/bin/ -> »/usr«\n" " %s dir1/str dir2/str -> »dir1«, ki mu sledi »dir2«\n" " %s stdio.h -> ».«\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" " ali: %s [IZBIRA]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Povzetek porabe diska za datoteko DATOTEKA, rekurzivno po podimenikih.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all izpis za vse datoteke, ne le za imenike\n" " --apparent-size izpis navidezne dolžine namesto porabe diska; " "slednja \n" " je navadno veÄja, v doloÄenih primerih (razprÅ¡ene\n" " datoteke, notranja fragmentiranost, indirektni " "bloki\n" " ipd.) pa je lahko tudi manjÅ¡a\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=ENOTA Å¡tejemo v ENOTA bajtov velikih blokih;\n" " npr. »-BM« izpiÅ¡e velikost v enotah po 1.048.576\n" " bajtov. Glejte spodaj za format podane ENOTE. \n" " -b, --bytes isto kot »--apparent-size --block-size=1«\n" " -c, --total skupni povzetek\n" " -D, --dereference-args razreÅ¡imo le simbolne povezave, navedene v ukazni " "vrstici\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=S poraba diska za datoteke, navedene v datoteki S;\n" " datoteke v seznamu morajo biti loÄene z znakom " "NUL;\n" " Äe je S enak »-«, se bere s standardnega vhoda\n" " -H isto kot --dereference-args (-D)\n" " -h, --human-readable velikosti v Äloveku berljivem zapisu (npr. 1K 234M " "2G)\n" " --si podobno kot -h, vendar v bazi 1000 namesto 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k isto kot --block-size=1K\n" " -l, --count-links trde povezeva Å¡tejemo po veÄkrat\n" " -m isto kot --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference sledimo vsem simbolnim povezavam, Å¡tejemo ciljne " "datoteke\n" " -P, --no-dereference ne sledimo nobeni simbolni povezavi (privzeto)\n" " -O, --null vsako izhodno vrstico zakljuÄimo z znakom NUL " "namesto NL\n" " -S, --separate-dirs brez velikosti podimenikov\n" " -s, --summarize za vsak argument samo povzetek\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time prikaži Äas zadnje spremembe katerekoli datoteke v\n" " imeniku ali kateregakoli od podimenikov\n" " --time=BESEDA prikaži Äas kot BESEDA namesto Äasa zadnje " "spremembe:\n" " atime, access, use, ctime ali status\n" " --time-style=SLOG prikaži Äas z uporabo navedenega SLOGA\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT se tolmaÄi kot pri ukazu »date«\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "neskonÄno" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "priklopna toÄka %s je bila že preÄesana" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read ni uspel: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "neveljavna najveÄja globina %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "neveljavni --%s argument %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "možnosti se izkljuÄujeta - ali izpis vseh, ali povzetek" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "opozorilo: povzetek je isto kot izbira --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "opozorilo: povzetek se izkljuÄuje z --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "datoteÄnih operandov ni mogoÄe kombinirati z izbiro --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: napaka pri branju" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "pri branju imen datotek s standardnega vhoda ime %s ni dovoljeno." # ! INEXACT #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "neveljavno ime (dolžina niÄ) datoteke" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "skupno" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uporaba: %s [KRATKA_IZBIRA]... [NIZ]...\n" " ali: %s DOLGA_IZBIRA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "IzpiÅ¡emo NIZ ali veÄ NIZOV na standardni izhod.\n" "\n" " -n ne izpisuj konÄnega znaka za novo vrstico\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e pri izpisu tolmaÄi spodaj navedena ubežna zaporedja " "(privzeto)\n" " -E onemogoÄi tolmaÄenje ubežnih zaporedij v NIZIH\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e pri izpisu tolmaÄi spodaj navedene ubežna zaporedja\n" " -E onemogoÄi tolmaÄenje ubežnih zaporedij v NIZIH (privzeto)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "ÄŒe je podana izbira -e, se tolmaÄijo naslednja zaporedja:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ obratna poÅ¡evnica\n" " \\a zvonÄek (BEL)\n" " \\b pomik za znak nazaj\n" " \\c ne izpisuj niÄesar veÄ\n" " \\e ubežni znak\n" " \\f skok na novo stran\n" " \\n skok v novo vrstico\n" " \\r vrnitev na zaÄetek vrstice\n" " \\t horizontalni tabulator\n" " \\v vertikalni tabulator\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN bajt z osmiÅ¡ko kodo NNN (1, 2 ali 3 Å¡tevke)\n" " \\xHH bajt s Å¡estnajstiÅ¡ko kodo HH (1 ali 2 Å¡tevki)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Uporaba: %s [IZBIRA]... [-] [IME=VREDNOST]... [UKAZ [ARGUMENT]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "DoloÄi VREDNOST spremenljivki okolja z danim IMENOM in poženi UKAZ.\n" "\n" " -i, --ignore-environment zaÄni iz praznega okolja\n" " -0, --null vsako izhodno vrstico zakljuÄi z znakom NUL\n" " namesto z znakom za novo vrstico\n" " -u, --unset=IME odstrani spremenljivko z navedenim IMENOM iz " "okolja\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Sam - implicira -i. ÄŒe UKAZ ni podan, izpiÅ¡emo spremenljivke okolja.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "ni mogoÄe odnastaviti %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "ni mogoÄe nastaviti %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "ni mogoÄe doloÄiti --null (-0) z ukazom" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tabulatorje v vsaki od DATOTEK nadomestimo s presledki in rezultat izpiÅ¡emo\n" "na standardni izhod. ÄŒe DATOTEKA ni podana, ali Äe je enaka - (minus), " "beremo\n" "s standardnega vhoda.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial nadomesti samo tabulatorje, ki sledijo praznim znakom\n" " -t, --tabs=Å IRINA Å IRINA tabulatorja naj bo navedeno namesto 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=SEZNAM uporabi z vejicami loÄen SEZNAM eksplicitnih " "tabulatorjev\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tabulator je prevelik %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "Å¡irina tabulatorja vsebuje neveljavni(-e) znak(e): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "Å¡irina tabulatorja ne more biti 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "seznam tabulatorjev mora biti naraÅ¡ÄajoÄ" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "vhodna vrstica je predolga" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s IZRAZ\n" " ali: %s IZBIRA\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Ovrednoten IZRAZ izpiÅ¡emo na standardni izhod. Operatorji v spodnjem\n" "seznamu so razvrÅ¡Äeni po naraÅ¡ÄajoÄi prednosti, prazna vrstica loÄi\n" "skupine z isto prednostjo. Vrednost IZRAZA je lahko:\n" "\n" " ARG1 | ARG2 ARG1, Äe ta ni prazen ali enak 0, sicer ARG2\n" " \n" " ARG1 & ARG2 ARG1, Äe ni noben argumentov prazen ali enak 0, sicer 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 je manjÅ¡i od ARG2\n" " ARG1 <= ARG2 ARG1 je manjÅ¡i ali enak ARG2\n" " ARG1 = ARG2 ARG1 je enak ARG2\n" " ARG1 != ARG2 ARG1 ni enak ARG2\n" " ARG1 >= ARG2 ARG1 je veÄji ali enak ARG2\n" " ARG1 > ARG2 ARG1 je veÄji od ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetiÄna vsota ARG1 in ARG2\n" " ARG1 - ARG2 aritmetiÄna razlika ARG1 in ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetiÄni produkt ARG1 in ARG2\n" " ARG1 / ARG2 aritmetiÄni koliÄnik pri deljenju ARG1 z ARG2\n" " ARG1 % ARG2 aritmetiÄni ostanek pri deljenju ARG1 z ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " NIZ : REGIZR ujemanje NIZA s sidranim regularnim izrazom REGIZR\n" "\n" " match STRING REGIZR isto kot NIZ : REGIZR\n" " substr NIZ POLOŽAJ DOLŽINA podniz NIZA, POLOŽAJ se Å¡teje od 1 dalje \n" " index NIZ ZNAKI mesto v NIZU, kjer se nahajajo ZNAKI, sicer " "0\n" " length NIZ dožina NIZA\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SIMBOL ravnaj s SIMBOLOM, kot da je NIZ, Äeprav je\n" " kljuÄna beseda kot »match« ali operator kot " "»/«\n" "\n" " ( IZRAZ ) vrednost IZRAZA\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Pazite na to, da morajo mnogi operatorji biti zavarovani z obratno " "poÅ¡evnico\n" "ali narekovaji, da jih ne interpretira ukazna lupina. Primerjava je\n" "aritmetiÄna, Äe sta oba argumenta Å¡tevili, sicer leksikografska. Ujemanje\n" "vzorcev vrne niz med oklepajema \\( in \\) ali pa prazen niz; Äe \\( in \\)\n" "nista podana, vrne Å¡tevilo znakov, ki se ujemajo, ali 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Izhodni status je 0, Äe IZRAZ ni prazen ali enak 0; 1, Äe je IZRAZ prazen " "ali 0;\n" "2, Äe IZRAZ ni skladenjsko pravilen; 3, Äe je priÅ¡lo do napake.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "napaka v skladnji" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "napaka v ujemalniku z regularnimi izrazi" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "ne-celoÅ¡tevilÄni argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "deljenje z niÄ" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "nastavite LC_ALL='C', da bi odpravili težavo." #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "primerjana niza sta bila %s in %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Möller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Lucasov test praÅ¡tevil ni uspel. Do te napake ne bi smelo priti" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "prekoraÄitev obsega za vrsto squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ni veljavno pozitivno celo Å¡tevilo" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s je preveliko" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [Å TEVILO]...\n" " ali: %s IZBIRA\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "IzpiÅ¡e prafaktorje za vsako od podanih celih Å TEVIL. ÄŒe nobeno Å¡tevilo ni\n" "podano kot argument v ukazni vrstici, jih beremo s standardnega vhoda.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "trenutnega imenika ni mogoÄe ugotoviti" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "imenik %s ni dosegljiv" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "statusa trenutnega imenika (zdaj %s) ni moÄ ugotoviti" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Uporaba: %s [-Å IRINA] [IZBIRA]... [DATOTEKA]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Vsak odstavek v DATOTEKI(-ah) preoblikujemo in izpiÅ¡emo na standardni " "izhod.\n" "Izbira -Å IRINA je okrajÅ¡ava za --width=Å TEVILO.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin ohrani zamik prvih dveh vrstic\n" " -p, --prefix=NIZ preoblikuj samo vrstice, ki se zaÄno z NIZOM,\n" " tega pridaj oblikovanim vrsticam\n" " -s, --split-only poreži predolge vrstice, a brez poravnave\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph zamik prve vrstice v odstavku je razliÄen od " "druge\n" " -u, --uniform-spacing en presledek med besedami, dva za piko\n" " -w, --width=Å IRINA najveÄja Å¡irina vrstice (privzeto 75 znakov)\n" " -g, --goal=Å IRINA želena Å¡irina (privzeto 93% celotne Å¡irine)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "neveljavna izbira -- %c; -WIDTH je prepoznana le, Äe je navedena kot prva\n" "izbira; namesto tega uporabite -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "neveljavna Å¡irina: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Vrstice v vsaki DATOTEKI na vhodu (privzet je standardni vhod) prelomimo\n" "in rezultat izpiÅ¡emo na standardni izhod.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes Å¡tejemo bajte namesto znakov\n" " -s, --spaces prelom na presledkih\n" " -w, --width=Å IRINA nastavimo Å IRINO vrstic (privzeto 80)\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "neveljavno Å¡tevilo stoplcev: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Uporaba: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Izpis lokalnih omejitev v obliki, uporabne za skripte ukazne lupine.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "branje skupine za uporabnika %s ni uspelo" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "branje skupine za trenutni proces ni uspelo" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "ime skupine za GID %lu ni ugotovljivo" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "IzpiÅ¡e Älanstvo v skupinah za navedenega UPORABNIKA, ali, Äe UPORABNIK ni " "podan,\n" "za trenutni proces (ki je drugaÄen, Äe se je baza groups vmes spremenila).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "pravega UID ni mogoÄe ugotoviti" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "efektivnega GID ni mogoÄe ugotoviti" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "pravega GID ni mogoÄe ugotoviti" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: uporabnik ne obstaja" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "IzpiÅ¡emo prvih 10 vrstic vsake od DATOTEK na standardni izhod.\n" "ÄŒe je podana veÄ kot ena DATOTEKA, pred vsebino izpiÅ¡emo Å¡e ime datoteke.\n" "ÄŒe DATOTEKA ni podana, ali Äe je enaka -, beremo s standardnega vhoda.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K izpiÅ¡i prvih K bajtov vsake datoteke;\n" " Äe Å¡tevilu predhodi »-«, izpiÅ¡i vse razen " "zadnjih\n" " K bajtov vsake datoteke\n" " -n, --lines=[-]K izpiÅ¡i prvih K vrstic vsake datoteke namesto " "prvih 10;\n" " Äe Å¡tevilu predhodi »-«, izpiÅ¡i vse razen " "zadnjih\n" " K vrstic vsake datoteke\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent vedno brez izpisa imena datoteke\n" " -v, --verbose vedno izpiÅ¡emo Å¡e ime datoteke\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K ima lahko množiteljsko pripono:\n" "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: datoteka se je preveÄ skrÄila" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: Å¡tevilo bajtov je preveliko" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: premik na zaÄetni položaj ni mogoÄ" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: premik na odmik %s ni mogoÄ" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: ni mogoÄe nastaviti datoteÄnega kazalca" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "ni mogoÄe premakniti datoteÄnega kazalca za %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s je tako veliko, da ni predstavljivo" #: src/head.c:886 msgid "number of lines" msgstr "Å¡tevilo vrstic" #: src/head.c:886 msgid "number of bytes" msgstr "Å¡tevilo bajtov" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "neveljavno Å¡tevilo vrstic" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "neveljavno Å¡tevilo bajtov" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "neveljavna zakljuÄna izbira -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Uporaba: %s [IZBIRA]\n" "IzpiÅ¡emo (Å¡estnajstiÅ¡ko) identifikacijsko Å¡tevilko trenutnega raÄunalnika.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Uporaba: %s [IME]\n" " ali: %s IZBIRA\n" "IzpiÅ¡emo ali nastavimo gostiteljsko ime trenutnega sistema.\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "imena ni moÄ nastaviti na %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "na tem sistemu imena raÄunalnika ni mogoÄe nastavljati" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "imena raÄunalnika ni mogoÄe ugotoviti" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "IzpiÅ¡emo podatke o uporabniku in skupini za navedenega UPORABNIKA.\n" "ÄŒe uporabnik ni naveden, se izpiÅ¡ejo podatki za trenutnega uporabnika.\n" "\n" " -a (se ne upoÅ¡teva, združljivost s starejÅ¡imi razliÄicami)\n" " -Z, --context izpiÅ¡i le varnostni kontekst danega uporabnika\n" " -g, --group izpiÅ¡i le efektivno Å¡tevilko skupine (GID)\n" " -G, --groups izpiÅ¡i Å¡tevilke vseh skupin\n" " -n, --name pri izbirah -ugG izpiÅ¡i ime uporabnika namesto Å¡tevilke\n" " -r, --real izpiÅ¡i pravi ID namesto efektivnega, skupaj z -ugG\n" " -u, --user izpiÅ¡i le efektivno Å¡tevilko uporabnika (UID)\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Brez navedene IZBIRE izpiÅ¡emo nekaj uporabnih identifikacijskih informacij.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) deluje samo pri jedru s podporo SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "izpis varnostnega konteksta ni mogoÄ ob podanem uporabniku" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "ni mogoÄe izpisati le neÄesa, Äe je podanih veÄ možnosti" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "v privzeti obliki ni možen izpis samo imen ali realnih ID" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "konteksta procesa ni mogoÄe pridobiti" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "efektivnega UID ni mogoÄe ugotoviti" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "uporabniÅ¡kega imena za UID %s ni moÄ ugotoviti" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " skupine=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontekst=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "opozorilo: %s: sprememba konteksta na %s ni uspela" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "ustvarjanje imenik %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "lastniÅ¡tva %s ni mogoÄe spremeniti" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "datoteke %s ni moÄ Äasovno oznaÄiti" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "vejitev ni mogoÄa" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "ni mogoÄe pognati %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "Äakamo na »strip«" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "proces »strip« se je zakljuÄil nenormalno" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "neveljavno ime uporabnika %s" # ! INEXACT #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ\n" " ali: %s [IZBIRA]... IZVOR... IMENIK\n" " ali: %s [IZBIRA]... -t IMENIK IZVOR...\n" " ali: %s [IZBIRA]... -d IMENIK...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Ta namestitveni program prepiÅ¡e datoteke (pogosti pravkar prevedene) v\n" "podane ciljne imenike. ÄŒe želite naložiti in namestiti pripravljene\n" "programske pakete v sistem GNU/Linux, uporabite program za upravljanje\n" "programskih paketov, npr. yum(1) ali apt-get(1).\n" "\n" "V prvih treh oblikah prepiÅ¡emo IZVOR na CILJ ali veÄ IZVOROV v IMENIK\n" "ter obenem nastavimo zaÅ¡Äito, lastnika in skupino. V Äetrti obliki\n" "ustvarimo nov IMENIK ali veÄ IMENIKOV s podanimi lastnostmi.\n" "\n" # ! INEXACT #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke \n" " izdelamo varnostno kopijo podanega TIPA\n" " -b enako kot --backup, vendar ne sprejema argumenta\n" " -c (se ne upoÅ¡teva)\n" " -C, --compare primerjaj vse pare izvornih in ciljnih datotek, in v\n" " nekaterih primerih sploh ne spremeni ciljne " "datoteke\n" " -d, --directory vse argumente obravnavamo kot imena imenikov; " "ustvarimo\n" " vse komponente podanih imenikov\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D ustvarimo vse vodilne komponente CILJA razen zadnje,\n" " zatem prepiÅ¡emo IZVOR na CILJ\n" " -g, --group=SKUPINA uporabniÅ¡ka skupina, namesto skupine trenutnega " "procesa\n" " -m, --mode=ZAÅ ÄŒITA zaÅ¡Äita (kot v chmod), namesto privzete rwxr-xr-x\n" " -o, --owner=LASTNIK lastnik (samo superuporabnik)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps ohranimo Äas dostopa/spremembe, kot jih ima " "IZVOR\n" " -s, --strip ogulimo simbolne tabele\n" " --strip-program=PROGRAM za guljenje simbolne tabele uporabi PROGRAM\n" " -S, --suffix=PRIPONA izrecno navedemo pripono varnostnih kopij\n" " -t, --target-directory=IMENIK prepiÅ¡i vse IZVORE v IMENIK\n" " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" " -v, --verbose z izpisom imen vseh ustvarjenih imenikov\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context ohrani varnostni kontekst SELinux\n" " -Z, --context=KONTEKST nastavi varnostni kontekst SELinux datotek in " "imenikov\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "OPOZORILO: doloÄilo --preserve-context ni upoÅ¡tevano; jedro ne podpira " "SELinux." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "OPOZORILO: izbira --context (-Z) ni upoÅ¡tevana; jedro ne podpira SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "opcija »strip« ni dovoljena pri namestitvi imenika" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "navedba ciljnega imenika ni dovoljena pri namestitvi imenika" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "konteksta ni mogoÄe nastaviti na %s in ga obenem ohraniti" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "neveljavni naÄin %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "OPOZORILO: izbira --strip-program se ne upoÅ¡teva, ker ni podana izbira -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "izbiri --compare (-C) in --preserve-timestamps se medsebojno izkljuÄujeta" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "izbiri --compare (-C) in --strip se medsebojno izkljuÄujeta" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "izbira --compare (-C) se ne upoÅ¡teva, kadar doloÄite naÄin brez bitov " "dovoljenj" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Za vsak par vrstic na vhodu z enakimi združitvenimi polji izpiÅ¡emo vrstico\n" "na standardni izhod. Privzeto združitveno polje je prvo, loÄeno s praznim\n" "prostorom. ÄŒe sta DATOTEKA1 ali DATOTEKA2 (ne pa obe hkrati) enaki -, " "beremo\n" "s standardnega vhoda.\n" "\n" " -a DATOTEKA izpiÅ¡emo tudi vrstice brez para, ki izvirajo iz " "navedene \n" " DATOTEKE (spremenljivka DATOTEKA lahko zavzame " "vrednosti\n" " 1 ali 2, kar ustreza DATOTEKI1 in DATOTEKI2)\n" " -e PRAZNO manjkajoÄe vhodno polje nadomestimo z nizom PRAZNO\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case pri primerjanju obravnavamo velike in male Ärke enako\n" " -j POLJE isto kot »-1 POLJE -2 POLJE«\n" " -o OBLIKA pri izpisu uporabimo predpisano OBLIKO\n" " -t ZNAK navedeni ZNAK naj bo loÄilo med polji na vhodu in " "izhodu\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v DATOTEKA isto kot -a DATOTEKA, vendar brez združenih izhodnih " "vrstic\n" " -1 POLJE združujemo glede na navedeno POLJE v prvi datoteki\n" " -2 POLJE združujemo glede na navedeno POLJE v drugi datoteki\n" " --check-order preveri, ali je vhod pravilno urejen, Äetudi so\n" " vse vhodne vrstice s pari\n" " --nocheck-order ne preverjaj, ali je vhod pravilno urejen\n" " --header obravnavaj prvo vrstico vsake datoteke kot zaglavje;\n" " izpiÅ¡i ga, ne da bi ga skuÅ¡al vzporediti\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "ÄŒe izbira -t ZNAK ni podana, vodilni presledki loÄujejo polja in se ne\n" "upoÅ¡tevajo, sicer pa loÄuje polja ZNAK. POLJE je Å¡tevilka polja, Å¡teto od 1\n" "dalje. OBLIKA je eno ali veÄ z vejico ali presledkom loÄenih doloÄil, vsako\n" "od njih je oblike »DATOTEKA.POLJE« ali »0«. Privzeta OBLIKA izpiÅ¡e\n" "združitveno polje, vsa preostala polja iz DATOTEKE1, in zatem Å¡e vsa\n" "preostala polja iz DATOTEKE2; loÄilo med polji je ZNAK. ÄŒe je OBLIKA " "kljuÄna\n" "beseda »auto«, prva vrstica vsake datoteke doloÄa Å¡tevilo polj v vsaki " "vrstici.\n" "\n" "Pomembno: DATOTEKA1 in DATOTEKA2 morata biti urejeni po polju, po katerem\n" "ju združujemo. Npr. uporabite »sort -k 1b,1«, kadar »join« nima dodatnih\n" "izbir, ali »joint -t ''«, Äe »sort« nima dodatnih izbir.\n" "Primerjava upoÅ¡teva lokalizacijska pravila, navedena v »LC_COLLATE«.\n" "ÄŒe vhod ni urejen in nekaterih vrstic ni mogoÄe združiti, bo izpisano\n" "opozorilno sporoÄilo.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: ni urejeno: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "neveljavna Å¡tevilka polja: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "neveljavno doloÄilo polja: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "neveljavna Å¡tevilka datoteke v doloÄilu polja: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "nezdružljivi združevalni polji %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "nasprotujoÄa si niza za nadomestitev praznega polja" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "veÄznakovni tabulator %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "nezdružljivi tabulatorji" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "obeh datotek ne moremo hkrati brati s standardnega vhoda" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Uporaba: %s [-s SIGNAL | -SIGNAL] PID...\n" " ali: %s -l [SIGNAL]...\n" " ali: %s -t [SIGNAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Procesom poÅ¡ljemo signale, ali pa izpiÅ¡emo signale.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL\n" " doloÄimo ime ali Å¡tevilko signala, ki ga želimo poslati\n" " -l, --list izpiÅ¡emo imena signalov, ali pretvorimo Å¡tevilko signala\n" " v ime (ali obratno)\n" " -t, --table izpiÅ¡emo tabelo signalnih informacij\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL lahko podamo z imenom (npr. »HUP«) ali Å¡tevilko (npr. »1«),\n" "ali pa z izhodno statusno kodo procesa, ustavljenega s signalom.\n" "PID (identifikacijska Å¡tevilkoa uporabnika) je celo Å¡tevilo; negativna \n" "vrednost doloÄa identifikacijko Å¡tevilko skupine.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: neveljavna identifikacijska Å¡tevilka procesa" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "neveljavna izbira -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: podan veÄ kot en signal" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "hkrati sta podani izbiri -l in -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "signala ni moÄ kombinirati z izbirama -l ali -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "Å¡tevilka procesa (PID) ni doloÄena" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "neuspeÅ¡na dodelitev %<PRIuMAX> bajtov za izravnalnik stdio\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "neveljavni izravnalni naÄin %s za %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "izravnavanja %s ni moÄ nastaviti v naÄin %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s DATOTEKA1 DATOTEKA2\n" " ali: %s IZBIRA\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "S klicem funkcije link(2) ustvarimo povezavo med povezavo DATOTEKO2 in\n" "obstojeÄo DATOTEKO1.\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "ni mogoÄe ustvariti povezave %s na %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: trda pozezava ni dovoljena za imenik" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: ni mogoÄe pisati prek imenika" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: naj nadomestimo %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "ni mogoÄe ustvariti simbolne povezave %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "ni mogoÄe ustvariti simbolne povezave %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "ni mogoÄe ustvariti trde povezave %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "ni mogoÄe ustvariti trde povezave %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "ni mogoÄe ustvariti trde povezave %s => %s" # ! INEXACT #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Uporaba: %s [IZBIRA]... [-T] CILJ POVEZAVA (prva oblika)\n" " ali: %s [IZBIRA]... CILJ (druga oblika)\n" " ali: %s [IZBIRA]... CILJ... IMENIK (tretja oblika)\n" " ali: %s [IZBIRA]... -t IMENIK CILJ (Äetrta oblika)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "V prvi obliki ustvarimo povezavo do doloÄenega CILJA z imenom POVEZAVE.\n" "V drugi obliki se ustvari povezava do CILJA v trenutnem imeniku.\n" "V tretji in Äetrti povezavi ustvarimo povezavo do vsakega CILJA v\n" "navedenem IMENIKU. Privzeti tip povezav so trde povezave; simbolne\n" "zahtevamo z izbiro --symbolic. Privzeto nobena POVEZAVA (ime povezave)\n" "Å¡e ne sme obstajati. Pri ustvarjanju trdih povezav morajo CILJI\n" "obstajati. Simbolne povezave lahko vsebujejo poljubno besedilo;\n" "kasneje, ob razreÅ¡evanju, se relativna povezava tolmaÄi glede na njen\n" "nadimenik.\n" "\n" # ! INEXACT #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=TIP] pred pisanjem prek obstojeÄe ciljne datoteke\n" " izdelamo varnostno kopijo podanega TIPA\n" " -b enako kot --backup, vendar ne sprejema " "argumenta\n" " -d, -F, --directory trde povezave imenikov (samo naduporabnik;\n" " zaradi sistemskih omejitev izbira morda ni\n" " mogoÄa)\n" " -f, --force odstranimo morebitne obstojeÄe ciljne " "datoteke\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive s pozivom pred vsakim brisanjem\n" " -L, --logical razreÅ¡i CILJE, ki so simbolne povezave\n" " -n, --no-dereference obravnavaj simbolne povezave na imenik kot\n" " navadne datoteke\n" " -P, --physical ustvari trde povezave na simbolne povezave\n" " -r, --relative ustvari simbolne povezavo relativno na " "lokacijo\n" " povezave\n" " -s, --symbolic ustvari simbolne povezave namesto trdih\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=PRIPONA izrecno doloÄena pripona varnostne kopije\n" " -t, --target-directory=IMENIK izrecna navedba IMENIKA, v katerem ustvari\n" " povezave\n" " -T, --no-target-directory vedno obravnavaj POVEZAVO kot navadno " "datoteko\n" " -v, --verbose z izpisom imen datotek, ki jih povezujemo\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Uporaba -s prekliÄe izbiri -L in -P. Sicer pa zadnja podana izbira doloÄa\n" "obnaÅ¡anje, kadar je izvor simbolna povezava; privzeto je %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "izbiri --target-directory in --no-target-directory se izkljuÄujeta" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "izbira --relative ni mogoÄa brez izbire --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "POPRAVI: neznano" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Uporaba: %s [IZBIRA]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "IzpiÅ¡emo uporabniÅ¡ko ime trenutnega uporabnika.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "uporabniÅ¡ko ime manjka" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" # ! INEXACT #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ne upoÅ¡tevamo neveljavne vrednosti spremenljivke QUOTING_STYLE: %s" # ! INEXACT #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ne upoÅ¡tevamo neveljavne Å¡irine v spremenljivki COLUMNS: %s" # ! INEXACT #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "ne upoÅ¡tevamo neveljavnega tabulatorja v spremenljivki TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "neveljavna Å¡irina vrstice: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "neveljavni tabulator: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "neveljavna oblika ure %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Veljavni argumenti so:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (npr. +%H:%M) za izpis v slogu »date«\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "napaka pri inicializaciji nizov za mesece" # ! INEXACT #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "neprepoznana predpona: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "vrednosti v spremenljivki LS_COLORS ni moÄ raztolmaÄiti" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "imenika %s ni mogoÄe odpreti" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "ni mogoÄe ugotoviti enote in inoda datoteke %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: že izpisanega imenika ne podvajamo" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "beremo imenik %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "zapiramo imenik %s" # ! INEXACT #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "ni mogoÄe primerjati imen datotek %s in %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Izpis informacij o DATOTEKAH (privzeto vse datoteke v trenutnem imeniku),\n" "urejenih po abecedi, Äe ni podana nobena od izbir -cftuvSUX ali --sort.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all vkljuÄno z imeni, ki se zaÄnejo s piko\n" " -A, --almost-all kot »-a«, vendar brez ».« in »..«\n" " --author skupaj z -l: izpis avtorja datoteke\n" " -b, --escape izpis C-jevske ubežne kode za neizpisljive " "znake\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=ENOTA merjeno v ENOTA bajtov velikih blokih;\n" " npr. »--block-size=M« izpiÅ¡e velikost v\n" " enotah po 1.048.576 bajtov. Glejte spodaj " "za\n" " format podane ENOTE.\n" " -B, --ignore-backups ne izpisuj varnostnih kopij, ki se konÄajo z ~\n" " -c razvrÅ¡Äeno po datumu zadnje spremembe;\n" " skupaj z -lt: prikaži Äas zadnje spremembe " "stanja\n" " (ctime) in uredi po njem;\n" " skupaj z -l: prikaži ctime, urejeno po " "imenih;\n" " sicer: urejeno po ctime, zaÄenÅ¡i z " "najnovejÅ¡im\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C imena izpiÅ¡emo v stolpcih\n" " --color[=KDAJ] kdaj se uporabijo barve za oznaÄitev tipa " "datoteke\n" " Možnosti so »never«, »always« (privzeto) in \n" " »auto«; veÄ informacij je spodaj\n" " -d, --directory izpis imen imenika(-ov) namesto njihove " "vsebine,\n" " brez sledenja simbolnim povezavam\n" " -D, --dired izpis primeren za naÄin »dired« v Emacsu\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f brez razvrÅ¡Äanja; omogoÄi -aU, onemogoÄi -ls --" "color\n" " -F, --classify s pripono (*/=@|) oznaÄi tip datoteke\n" " --file-type podobno, vendar ne pripenja »*«\n" " --format=BESEDA across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time kot -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g kot -l, vendar brez izpisa lastnika\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " združi imenike pred datotekami\n" " mogoÄa je dopolnitev z izbiro --sort, raba\n" " --sort=none (-U) onemogoÄi združevanje\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group kot -l, vendar brez izpisa skupine\n" " -h, --human-readable skupaj z -l izpiÅ¡i velikost v Äloveku umljivem\n" " zapisu (npr.1K 234M 2G)\n" " --si podobno kot -h, vendar v bazi 1000 namesto " "1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line sledimo simbolnim povezavam v ukazni " "vrstici\n" " --dereference-command-line-symlink-to-dir\n" " sledimo vsem simbolnim povezavam v ukazni " "vrstici,\n" " ki kažejo na imenike\n" " --hide=VZOREC brez impliciranih vnosov, opisanih z VZORCEM\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=BESEDA imenom datotek pripnemo indikator: BESEDA " "sme\n" " biti »none« (privzeto), »slash« (-p), »file-" "type«\n" " (--file-type) ali »classify« (-F)\n" " -i, --inode izpis inoda pri vsaki datoteki\n" " -I, --ignore=VZOREC pri izpisu izpusti imena, ki ustrezajo VZORCU\n" " -k, --kibibytes uporabljaj 1024-bajtne bloke\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l dolga oblika izpisa\n" " -L, --dereference izpis imen datotek, na katere kažejo simbolne\n" " povezave, namesto simbolnih povezav\n" " -m z vejicami loÄena imena prek celotne Å¡irine " "vrstice\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid Å¡tevilÄne vrednosti UID in GID namesto imen\n" " -N, --literal izpis imen v neobdelani obliki (npr. krmilnih\n" " znakov ne obravnavamo posebno)\n" " -o dolga oblika izpisa brez uporabniÅ¡ke skupine\n" " -p, --indicator-style=slash imenike oznaÄimo s pripono »/«\n" # ! INEXACT #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars namesto krmilnih znakov izpiÅ¡emo vpraÅ¡aje (?)\n" " --show-control-chars neobdelan izpis krmilnih znakov (privzeta " "izbira,\n" " razen pri ukazu »ls« in izhodu na terminal)\n" " -Q, --quote-name imena izpiÅ¡emo v dvojnih narekovajih\n" " --quoting-style=BESEDA slog izpisa; BESEDA je lahko »literal«, " "»locale«,\n" " »shell«, »shell-always«, »c« ali »escape«\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse razvrstitev po obrnjenem vrstnem redu\n" " -R, --recursive rekurziven izpis podimenikov\n" " -s, --size izpis velikosti datotek (v blokih)\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S datoteke uredi po velikosti\n" " --sort=BESEDA namesto po imenu uredi po: brez urejanja \n" " (BESEDA=none), priponi (extension), Äasu " "nastanka\n" " (time) ali razliÄici (version)\n" " --time=BESEDA skupaj z -l: namesto Äasa zadnje spremembe " "prikaži\n" " Äas nastanka (BESEDA=ctime ali status) ali Äas\n" " zadnjega dostopa (atime, access ali use); " "skupaj\n" " z izbiro --sort=time tudi uredi po izbranem " "Äasu\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=SLOG skupaj z -l: Äas prikaži glede na slog, podan " "s \n" " SLOGOM: full-iso, iso, locale, posix-iso, " "+OBLIKA\n" " OBLIKO tolmaÄimo kot pri ukazu »date«; Äe je\n" " OBLIKA enaka OBLIKA1<nova_vrstica>OBLIKA2, " "velja\n" " prva za stare datoteke, druga pa za nove;\n" " Äe se SLOG zaÄne s predpono »posix-«, velja\n" " podani slog samo izven krajevnega okolja POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ureditev po datumu zadnje modifikacije;\n" " zaÄenÅ¡i z najnovejÅ¡im Äasom\n" " -T, --tabsize=STOLPCEV tabulator nastavljen na STOLPCEV namesto na 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u skupaj z -lt: uredi po datumu zadnjega dostopa " "in\n" " ga prikaži; skupaj z -l: prikaži datum " "zadnjega\n" " dostopa in uredi po imenu; sicer uredi po " "Äasu\n" " zadnjega dostopa\n" " -U brez urejanja; kot so v imeniku\n" " -v urejanje po Å¡tevilki razliÄice\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=STOLPCEV Å¡irina zaslova STOLPCEV namesto trenutne " "vrednosti\n" " -x izpis urejen v vrstice namesto v stolpce\n" " -X abecedna ureditev po priponah\n" " -Z, --context izpis varnostnega konteksta SELinux za vsako " "datoteko\n" " -1 izpis po eno datoteko v vrstici\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Uporaba barv za razloÄevanje zvrsti datotek je onemogoÄeno privzeto in z\n" "izbiro --color=never. Pri izbiri --color=auto ls doda barvne kode le, Äe\n" "je standardni izhod povezan s terminalom. Spremenljivka okolja LS_COLORS\n" "lahko spremeni nastavitev. Nastavite jo z ukazom dircolors.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Izhodni status:\n" " 0 Äe je vse v redu,\n" " 1 pri manjÅ¡ih težavah (npr. nedosegljivi podimeniki),\n" " 2 pri resnih težavah (npr. nedosegljivi argumenti ukazne lupine).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" "IzpiÅ¡e ali preveri nadzorne vsote %s (%d-bitne).\n" "ÄŒe DATOTEKA ni podana ali Äe je enaka -, se bere s standardnega vhoda.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary beri binarno (privzeto, razen pri branju s " "terminala)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary beri binarno\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check preberi %s vsot iz DATOTEK in jih preveri\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag ustvari nadzorno vsoto v slogu BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text beri besedilno (privzeto pri branju s terminala)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text beri besedilno (privzeto)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Naslednje tri izbire so uporabne le pri preverjanju nadzornih vsot:\n" " --quiet brez izpisa pri uspeÅ¡no verificiranih datotekah\n" " --status brez izpisa, izhodna statusna koda kaže uspeh\n" " -w, --warn z opozorili pri nepravilno oblikovanih vrsticah\n" " z nadzornimi vsotami MD5\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict (skupaj s --check) zakljuÄi z napako za neveljaven " "vhod\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "IzraÄun nadzornih vsot je opisan v %s. Pri preverjanju mora biti datoteka\n" "z vrednostmi v enaki obliki kot izpis programa. Privzet naÄin je izpis\n" "vrstice z nadzorno vsoto, statusnim znakom (»*« za binarne, presledek za\n" "besedilne datoteke) in imenom DATOTEKE, za katero je bila izraÄunana\n" "nadzorna vsota.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: preveÄ vrstic z nadzorno vsoto" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: nepravilno oblikovana vrstica z nadzorno vsoto %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: NAPAKA pri odpiranju ali branju\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "NAPAKA" #: src/md5sum.c:597 msgid "OK" msgstr "V REDU" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: nobene pravilno oblikovane vrstice z nadzorno vsoto %s ni najti" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "OPOZORILO: %<PRIuMAX> vrstic je nepravilno oblikovanih" msgstr[1] "OPOZORILO: %<PRIuMAX> vrstica je nepravilno oblikovana" msgstr[2] "OPOZORILO: %<PRIuMAX> vrstici sta nepravilno oblikovani" msgstr[3] "OPOZORILO: %<PRIuMAX> vrstice so nepravilno oblikovane" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "OPOZORILO: %<PRIuMAX> navedenih datotek ni mogoÄe prebrati" msgstr[1] "OPOZORILO: %<PRIuMAX> navedene datoteke ni mogoÄe prebrati" msgstr[2] "OPOZORILO: %<PRIuMAX> navedenih datotek ni mogoÄe prebrati" msgstr[3] "OPOZORILO: %<PRIuMAX> navedenih datotek ni mogoÄe prebrati" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "OPOZORILO: %<PRIuMAX> nadzornih vsot se NE ujema" msgstr[1] "OPOZORILO: %<PRIuMAX> nadzorna vsota se NE ujema" msgstr[2] "OPOZORILO: %<PRIuMAX> nadzorni vsoti se NE ujemata" msgstr[3] "OPOZORILO: %<PRIuMAX> nadzorne vsote se NE ujemajo" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag ne podpira naÄina --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "izbira --tag ni smiselna pri preverjanju nadzornih vsot" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "izbiri --binary in --text nista smiselni pri preverjanju nadzornih vsot" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "izbira --status je smiselna samo pri preverjanju nadzornih vsot" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "izbira --warn je smiselna samo pri preverjanju nadzornih vsot" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "izbira --quiet je smiselna samo pri preverjanju nadzornih vsot" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "izbira --strict je smiselna samo pri preverjanju nadzornih vsot" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Uporaba: %s [IZBIRA]... IMENIK...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Ustvari IMENIK (ali veÄ imenikov), Äe ta Å¡e ne obstaja.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=ZAÅ ÄŒITA nastavi zaÅ¡Äito (kot pri chmod) namesto privzete\n" " a=rwx - umask\n" " -p, --parents brez opozorila Äe imenik obstaja; po potrebi ustvari\n" " Å¡e starÅ¡evske imenike\n" " -v, --verbose z obvestilom o vsakem ustvarjenem imeniku\n" " -Z, --context=KONTEKST nastavi varnostni kontekst za vsak ustvarjeni " "imenik\n" " na KONTEKST\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "ustvarjen imenik %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Uporaba: %s [IZBIRA]... IME...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Ustvarimo poimenovano cev (FIFO) z navedenim IMENOM.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=ZAÅ ÄŒITA nastavi bite ZAÅ ÄŒITE namesto privzete a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX za vsako IME nastavi varnostni kontekst SELinux na CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "napaÄna zaÅ¡Äita" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "naÄin mora doloÄiti le bite dovoljenja za dostop do datoteke" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Uporaba: %s [IZBIRA]... IME TIP [GLAVNO POMOŽNO]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Ustvarimo posebno datoteko navedenega TIPA z navedenim IMENOM.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX nastavi varnostni kontekst SELinux za IME na CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "GLAVNO in POMOŽNO Å¡tevilo moramo vedno navesti za TIP b, c ali u, ne smemo " "pa\n" "ju navesti pri TIPU p. ÄŒe se GLAVNO ali POMOŽNO Å¡tevilo zaÄne z 0x ali 0X, " "se\n" "ga tolmaÄi kot Å¡estnajstiÅ¡ko Å¡tevilo; Äe se zaÄne z vodilno niÄko, kot " "osmiÅ¡ko,\n" "sicer pa kot desetiÅ¡ko Å¡tevilo. TIP je lahko:\n" # ! INEXACT #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b ustvarimo bloÄno enoto (z izravnalnikom)\n" " c, u ustvarimo znakovno enoto (brez izravnalnika)\n" " p ustvarimo FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Posebne datoteke zahtevajo, da sta podani glavno in pomožno Å¡tevilo naprave" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Poimenovane cevi nimajo glavnih in pomožnih Å¡tevil naprave" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "bloÄne enote niso podprte" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "znakovne enote niso podprte" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "neveljavno GLAVNO Å¡tevilo enote %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "neveljavno POMOŽNO Å¡tevilo enote %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "neveljavna enota %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "neveljavna vrsta naprave %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" # ! INEXACT #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Uporaba: %s [IZBIRA]... [PREDLOGA]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Varno ustvari zaÄasno datoteko ali imenik in izpiÅ¡i njeno ime.\n" "PREDLOGA mora vsebovati vsaj 3 zaporedne znake X v zadnji komponenti imena.\n" "ÄŒe PREDLOGA ni podana, se uporabi tmp.XXXXXXXXXX in implicira --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Datoteke so ustvarjene z zaÅ¡Äito u+rw, imeniki pa z u+rwx, oboje minus " "omejitve\n" "umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory ustvari imenik, ne datoteke\n" " -u, --dry-run ne ustvari niÄesar, le izpiÅ¡e ime (ni varno)\n" " -q, --quiet brez poroÄila o neuspelem ustvarjanju datoteke/" "imenika\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=PRIPONA podani PREDLOGI dodaj PRIPONO. PRIPONA ne sme " "vsebovati\n" " poÅ¡evnice. Izbira implicira, da se PRIPONA ne " "zakljuÄi\n" " z znakom X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=IMENIK] tolmaÄi PREDLOGO relativno glede na IMENIK. ÄŒe " "IMENIK\n" " ni doloÄen, uporabi $TMPDIR, in Äe ta ni " "nastavljen,\n" " /tmp. Pri tej izbiri PREDLOGA ne sme biti absolutna\n" " pot. Za razliko od -t lahko PREDLOGA vsebuje " "poÅ¡evnice,\n" " toda tudi tu mktemp ustvari samo zadnjo komponento.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p IMENIK uporabi IMENIK kot predpono; implicira -t " "(odsvetovano)\n" " -t tolmaÄi PREDLOGO kot eno samo komponento imena " "datoteke,\n" " relativno glede na imenik: $TMPDIR, Äe je " "nastavljen;\n" " imenik, doloÄen s -p; ali /tmp (odsvetovano).\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "preusmeritev standardnega izhoda za napake na /dev/null ni uspela" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "preveÄ predlog" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "ob izbiri --suffix se mora vzorec %s konÄati z X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "neveljavna pripona %s, vsebuje loÄilnik imenikov" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "premalo mest (X) v predlogi %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "neveljavna predloga, %s, vsebuje loÄilnike imenikov" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "neveljavna predloga, %s; pri izbiri --tmpdir ne sme biti absolutna" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "ustvarjenje imenika s predlogo %s ni uspelo" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "ustvarjenje datoteke s predlogo %s ni uspelo" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Preimenujemo IZVOR v CILJ, ali veÄ IZVOROV v IMENIK.\n" "\n" # ! INEXACT #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=TIP] pred pisanjem prek obstojeÄe ciljne " "datoteke \n" " izdelaj varnostno kopijo podanega TIPA\n" " -b enako kot --backup, vendar ne sprejema " "argumenta\n" " -f, --force brez vpraÅ¡anj piÅ¡i prek obstojeÄih CILJEV\n" " -i, --interactive zahtevaj potrditev pred pisanjem prek " "obstojeÄega\n" " CILJA\n" " -n, --no-clobber ne piÅ¡i prek obstojeÄih datotek\n" "Ob hkratni navedbi izbir -i, -f in -n se upoÅ¡teva zadnja od njih.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes odstrani zakljuÄne poÅ¡evnice iz vseh " "podanih\n" " IZVOROV\n" " -S, --suffix=PRIPONA izrecno navedena PRIPONA varnostnih kopij\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=IMENIK vse IZVORE premakni v navedeni IMENIK\n" " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" " -u, --update datoteko premakni samo, Äe je novejÅ¡a od\n" " obstojeÄe ciljne ali Äe ciljna ne obstaja\n" " -v, --verbose z razlago poteka\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Uporaba: %s [IZBIRA]... [UKAZ [ARGUMENT]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Požene UKAZ s spremenjeno vrednost »nice«, kar vpliva na prioriteto " "izvajanja.\n" "ÄŒe UKAZ ni podan, izpiÅ¡e trenutno raven prioritete. Vrednosti »nice« so " "med \n" "%d (najviÅ¡ja prioriteta procesa) in %d (najnižja).\n" "\n" " -n, --adjustment=POPRAVEK poveÄaj raven za POPRAVEK (privzeto 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "neveljavni popravek %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "ob podanem popravku ravni moramo podati tudi ukaz" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "prioriteta izvajanja ni ugotovljiva" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "prioritete izvajanja ni mogoÄe nastaviti" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vsako od DATOTEK prepiÅ¡emo na standardni izhod in spotoma oÅ¡tevilÄimo " "vrstice.\n" "ÄŒe DATOTEKA ni podana, ali Äe je enaka -, beremo s standardnega vhoda.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju vrstic " "telesa\n" " -d, --section-delimiter=CC uporabi CC pri loÄitvi logiÄnih strani\n" " -f, --footer-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju znožja " "strani\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=SLOG uporabi SLOG pri oÅ¡tevilÄenju zglavja " "strani\n" " -i, --line-increment=Å TEVILO Å¡tevilke vrstic inkrementiraj vsako " "vrstico\n" " -l, --join-blank-lines=Å TEVILO skupino Å TEVILA praznih vrstic Å¡tej kot " "eno\n" " -n, --number-format=OBLIKA Å¡tevilke vrstic vrini glede na OBLIKO\n" " -p, --no-renumber oÅ¡tevilÄenje vrstic naj teÄe prek log. " "strani\n" " -s, --number-separator=NIZ pripni NIZ (možni) Å¡tevilki vrstice\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --staring-line-number=Å TEVILO Å¡tevilka prve vrstice na novi logiÄni\n" " strani\n" " -w, --number-width=Å TEVILO Å TEVILO znakov Å¡irine za oÅ¡tevilÄenje\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Privzete so izbire -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sta dva " "loÄitvena\n" "znaka za loÄevanje logiÄnih strani; Äe je drugi znak izpuÅ¡Äen, se " "privzame :.\n" "Uporabite \\\\\\\\ za \\\\. SLOG je nekaj od naÅ¡tetega:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a oÅ¡tevilÄi vse vrstice\n" " t oÅ¡tevilÄi samo polne vrstice, praznih ne\n" " n ne oÅ¡tevilÄi nobene vrstice\n" " pREGIZR oÅ¡tevilÄi samo vrstice, ki se ujemajo z osnovnim regularnim\n" " izrazom REGIZR\n" "\n" "OBLIKA je nekaj od naÅ¡tetega:\n" "\n" " ln levo poravnano, brez vodilnih niÄel\n" " rn desno poravnano, brez vodilnih niÄel\n" " rz desno poravnano, z vodilnimi niÄlami\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "prekoraÄitev Å¡tevilke vrstice" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "neveljavni slog oÅ¡tevilÄenja glave: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "neveljavni slog oÅ¡tevilÄenja telesa: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "neveljavni slog oÅ¡tevilÄenja noge: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "neveljavna zaÄetna Å¡tevilka vrstice: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "neveljavni vrstiÄni inkrement: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "neveljavno Å¡tevilo praznih vrstic: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "neveljavna Å¡irina polja s Å¡tevilko vrstice: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "neveljavna oblika oÅ¡tevilÄenja vrstic: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s UKAZ [ARGUMENT]...\n" " ali: %s IZBIRA\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Poženemo UKAZ, pri Äemer ne upoÅ¡tevamo signalov za prekinitev.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "ÄŒe je standardni vhod terminal, ga preusmerimo z /dev/null.\n" "ÄŒe je standardni izhod terminal, dodajamo izhod na »nohup.out«, Äe je " "mogoÄe,\n" "sicer pa na »$HOME/nohup.out«.\n" "ÄŒe je standardni izhod za napake terminal, ga preusmerimo na standardni " "izhod.\n" "Izhod preusmerimo na DATOTEKO z ukazom »%s UKAZ > DATOTEKA«.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "onemogoÄenje standardnega izhoda ni uspelo" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ne upoÅ¡tevamo vhoda" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ne upoÅ¡tevamo vhoda; izhod dodajamo na konec %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "izhod dodajamo na konec %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "nastavitev, da se kopija stderr zapre ob koncu izvajanja, ni uspela" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "ne upoÅ¡tevamo vhoda; standardni izhod za napake preusmerimo na standardni " "izhod" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "standardni izhod za napake preusmerjamo na standardni izhod" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "preusmeritev standardnega izhoda za napake ni uspela" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uporaba: %s [IZBIRA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "IzpiÅ¡i Å¡tevilo procesnih enot na razpolago trenutnemu procesu, kar je\n" "lahko manj od Å¡tevila delujoÄih procesorjev\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all izpiÅ¡i Å¡tevilo nameÅ¡Äenih procesorjev\n" " --ignore=N Äe je mogoÄe, izloÄi N procesnih enot\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: neveljavno Å¡tevilo izloÄenih enot" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: vrednost nepopolno pretvorjena" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "neveljavno Å¡tevilo %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "neveljavna pripona pri %s%s argumentu '%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s ni mogoÄe odpreti za pisanje" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "neveljavni tabulator: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict (skupaj s --check) zakljuÄi z napako za neveljaven " "vhod\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Druge izbire:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "doloÄilo %s ne vsebuje direktive %%" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "neveljavna Å¡irina oblike" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "doloÄilo %s se zakljuÄi z %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "doloÄilo %s vsebuje preveÄ direktiv %%" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "neveljavna pripona pri %s%s argumentu '%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "neveljavni razpon strani %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "neveljavna Å¡tevilka polja: »%s«" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "neveljavni datum %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "datoteÄnih operandov ni mogoÄe kombinirati z izbiro --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "datoteÄnih operandov ni mogoÄe kombinirati z izbiro --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "podanih je veÄ izbir -i" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "datoteÄnih operandov ni mogoÄe kombinirati z izbiro --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "napaka pri branju %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "onemogoÄenje standardnega izhoda ni uspelo" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" " ali: %s [-abcdfilosx]... [DATOTEKA] [[+]ODMIK[.][b]]\n" " ali: %s --traditional [IZBIRA] [DATOTEKA] [[+]ODMIK[.][b] [[+]OZNAKA][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Na standardni izhod zapiÅ¡emo enoznaÄno predstavitev DATOTEKE, privzeto\n" "osmiÅ¡ki zapis bajtov. ÄŒe je navedenih veÄ DATOTEK, jih na vhodu\n" "zlepimo v zaporedje. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s\n" "standardnega vhoda.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "ÄŒe sta uporabljena tako prva kot druga oblika klica, se upoÅ¡teva druga,\n" "kadar se zadnji operand zaÄne s + ali (kadar sta dva operanda) s Å¡tevko.\n" "Operand ODMIK pomeni izbiro -j ODMIK. OZNAKA je psevdonaslov prvega\n" "izpisanega bajta in se priÅ¡teje odmiku pri izpisu. Pri ODMIKU in OZNAKI\n" "predpona 0x ali 0X naznanja Å¡estnajstiÅ¡ki zapis. Pripone so lahko . za\n" "osmiÅ¡ki zapis ali b za množenje s 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=OSNOVA OSNOVA pri izpisu odmikov v datoteki (doxn)\n" " -j, --skip-bytes=Å TEVILO pri vsaki datoteki preskoÄimo prvih Å TEVILO " "bajtov\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=Å TEVILO izpis omejim na Å TEVILO bajtov v vsaki " "datoteki\n" " -S Å TEVILO, --strings[=Å TEVILO] zaporedje, dolgo vsaj Å TEVILO bajtov, \n" " izpiÅ¡i kot niz\n" " -t, --format=TIP doloÄi obliko ali oblike izpisov\n" " -v, --output-duplicates ne uporabi * za oznako izpuÅ¡Äenih vrstic\n" " -w, --width[=Å TEVILO] v vsaki vrstici izpiÅ¡i Å TEVILO bajtov\n" " --traditional sprejemi argumente v tradicionalni obliki\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "DoloÄila v tradicionalni obliki lahko kombiniramo in se sestavljajo:\n" " -a isto kot -t a, poimenovani znaki, brez osmega bita\n" " -b isto kot -t o1, osmiÅ¡ki izpis bajtov\n" " -c isto kot -t c, ASCII; neizpisljive znake uvedi z obratno poÅ¡evnico\n" " -d isto kot -t u2, desetiÅ¡ki izpis dvobajtnih nepredznaÄenih enot\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f isto kot -t fF, izpis Å¡tevil s plavajoÄo vejico\n" " -i isto kot -t dI, desetiÅ¡ki izpis dvobajtnih predznaÄenih celih Å¡tevil\n" " -l isto kot -t dL, desetiÅ¡ki izpis Å¡tiribajtnih predznaÄenih celih " "Å¡tevil\n" " -o isto kot -t o2, osmiÅ¡ki izpis dvobajtnih enot\n" " -s isto kot -t d2, desetiÅ¡ki izpis dvobajtnih enot\n" " -x isto kot -t x2, Å¡estnajstiÅ¡ki izpis dvobajtnih enot\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIP je lahko eno ali veÄ doloÄil s seznama:\n" "\n" " a poimenovani znaki\n" " c znaki ASCII; neizpisljivi znaki uvedeni z obratno poÅ¡evnico\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[ENOTA] predznaÄeno desetiÅ¡ko celo Å¡tevilo dolžine ENOTA bajtov\n" " f[ENOTA] Å¡tevilo v plavajoÄi vejici dolžine ENOTA bajtov\n" " o[ENOTA] osmiÅ¡ko Å¡tevilo dolžine ENOTA bajtov\n" " u[ENOTA] nepredznaÄeno desetiÅ¡ko celo Å¡tevilo dolžine ENOTA bajtov\n" " x[ENOTA] Å¡estnajstiÅ¡ko Å¡tevilo dolžine ENOTA bajtov\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "ENOTA je Å¡tevilka. Za TIPE d,o,u ali x je ENOTA lahko tudi C, kar\n" "pomeni dolžino tipa char, S (dolžina tipa short), I (dolžina tipa int) ali\n" "L (dolžina tipa long). ÄŒe je TIP f, je lahko ENOTA tudi F za dolžino\n" "tipa float, D (dolžina tipa double) ali L (dolžina tipa long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K ima lahko množiteljsko pripono:\n" "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "neveljavna oznaka tipa %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "neveljavna oznaka tip %s;\n" "ta sistem ne omogoÄa %lu-bajtnega celoÅ¡tevilÄnega tipa" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "neveljavna oznaka tip %s;\n" "ta sistem ne omogoÄa %lu-bajtnega zapisa v plavajoÄi vejici" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "neveljavni znak %c v oznaki tipa %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "ni mogoÄe prek konca kombiniranega vhoda" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "neveljavna osnova naslovov »%c«; veljavne so možnosti d, o, x in n" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "tip ne sme biti doloÄen, kadar iznaÅ¡amo nize" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "združljivostni naÄin podpira najveÄ eno datoteko" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "vsota preskoÄenih in prebranih bajtov je prevelika" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "opozorilo: neveljavna Å¡irina %lu; namesto nje jemljemo %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: neveljavni signal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standardni vhod je zaprt" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vsaki od vrstic iz prve DATOTEKE s tabulatorjem na konec pridružimo " "istoležno\n" "vrstico iz druge DATOTEKE, in tako naprej do konca seznama DATOTEK. ÄŒe\n" "DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=SEZNAM za loÄitev uporabimo znake s SEZNAMA namesto TAB\n" " -s, --serial datoteke združujemo zaporedno namesto vzporedno\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "seznam razmejilnikov se konÄa z nezavarovano obratno poÅ¡evnico: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnosticira neveljavna ali neprenosljiva imena datotek.\n" "\n" " -p preveri za veÄino sistemov POSIX\n" " -P preveri za prazna imena in vodilne »-« v imenih\n" " --portability preveri za vse sisteme POSIX (enakovredno -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "vodilni »-« v delu imena datoteke %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "neprenosljiv znak %s v imenu datoteke %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "prazno ime datoteke" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: najveÄje dovoljene dolžine imena datoteke ni moÄ ugotoviti" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "meja %lu presežena za dolžino %lu pri imenu datoteke %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "meja %lu presežena za dolžino %lu pri delu imena datoteke %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "UporabniÅ¡ko ime: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Pravo ime: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Imenik: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Ukazna lupina: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "NaÄrt:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr " Ime" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Neak" #: src/pinky.c:411 msgid "When" msgstr "Kdaj" #: src/pinky.c:414 msgid "Where" msgstr "Kje" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l dolga oblika izpisa\n" " -b v dolgi obliki izpusti domaÄi imenik in ukazno lupino\n" " -h v dolgi obliki izpusti uporabnikovo datoteko .project\n" " -p v dolgi obliki izpusti uporabnikovo datoteko .plan\n" " -s kratka oblika izpisa (privzeto)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f v kratki obliki izpusti legendo k stolpcem\n" " -w v kratki obliki izpusti polno ime uporabnika\n" " -i v kratki obliki izpusti polno ime uporabnika in ime " "raÄunalnika\n" " -q v kratki obliki izpusti polno ime uporabnika, ime " "raÄunalnika\n" " in Äas neaktivnosti\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Poenostavljeni program »finger«: izpis informacij o uporbnikih.\n" "Datoteka UTMP bo %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "uporabniÅ¡ko ime ni podano; pri izbiri -l mora biti podano vsaj eno" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "»--pages=PRVA_STRAN[:ZADNJA_STRAN]«: manjkajoÄi argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "neveljavni razpon strani %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "»-l DOLŽINA_STRANI« nedovoljeno Å¡tevilo vrstic: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "»-N Å TEVILKA« nedovoljena Å¡tevilka zaÄetne vrstice: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "»-o ROB« nedovoljeni odmik od levega roba: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "»-w Å IRINA_STRANI« neveljavno Å¡tevilo znakov: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "»-W Å IRINA_STRANI« neveljavno Å¡tevilo znakov: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "pri vzporednem izpisu ni mogoÄe doloÄiti Å¡tevila stolpcev" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "možnosti izpisa poÄez in vzporednega izpisa se izkljuÄujeta" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "»-%c« dodatni znaki ali neveljavno Å¡tevilo v argumentu: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Å¡irina strani premajhna" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "zaÄetna stran %<PRIuMAX> presega skupno Å¡tevilo strani %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "prekoraÄitev Å¡tevila strani" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Stran %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "OÅ¡tevilÄimo strani ali poravnamo besedilo v DATOTEKI v stolpce za izpis.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRVA_STRAN[:ZADNJA_STRAN], --pages=PRVA_STRAN[:ZADNJA_STRAN]\n" " tiskanje zaÄnemo na PRVI in konÄamo na ZADNJI STRANI\n" " -STOLPCI, --columns=STOLPCI\n" " izpis v danem Å¡tevilu STOLPCEV, ki teÄejo od zgoraj " "navzdol\n" " razen Äe je izbrano -a. Å tevilo vrstic v stolpcih na " "strani\n" " je uravnoteženo.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across skupaj s -STOLPCI; stolpce tiskamo poprek prek strani\n" " namesto navzdol.\n" " -c, --show-control-chars\n" " uporabimo zapis ^G in osmiÅ¡ki zapis z uvodno obratno\n" " poÅ¡evnico\n" " -d, --double-space\n" " izpis z dvojnim razmakom\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=OBLIKA\n" " izpis datuma v glavi v navedeni OBLIKI\n" " -e[ZNAK[Å IRINA]], --expand-tabs[=ZNAK[Å IRINA]]\n" " ZNAKE (privzeto TAB) na vhodu razÅ¡irimo v tabulator\n" " dane Å IRINE (privzeto 8)\n" " -F, -f, --form-feed\n" " strani loÄimo z znaki za skok na novo stran namesto s\n" " praznimi vrsticami (s 3-vrstiÄnim zglavjem z izbiro -F\n" " ali 5-vrstiÄnim zglavjem in znožjem brez -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=ZGLAVJE\n" " uporabimo navedeno osredinjeno ZGLAVJE namesto imena\n" " datoteke; -h \\\"\\\" izpiÅ¡e prazno vrstica; ne " "uporabljajte -h\\\"\\\"\n" " -i[ZNAK[Å IRINA]], --output-tabs[=ZNAK[Å IRINA]]\n" " presledke skrÄimo v ZNAK (privzeto TAB) do Å IRINE\n" " tabulatorja (privzeto 8)\n" " -J, --join-lines združujemo cele vrstice, brez rezanja vrstic z -W, brez\n" " poravnave stolpcev, --sep-string[=NIZ] nastavi loÄila\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=DOLŽINA_STRANI\n" " doloÄimo DOLŽINO STRANI, v vrsticah (privzeto 66)\n" " (privzeto Å¡tevilo vrstic besedila je 56, z -F 63)\n" " -m, --merge datoteke izpisujemo vzporedno, po eno v stolpec. " "Predolge\n" " vrstice porežemo, razen z izbiro -J, kjer združimo " "celotne\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[LOÄŒ[Å TEVILO]], --number-lines[=LOÄŒ[Å TEVILO]]\n" " vrstice oÅ¡tevilÄimo, Å¡irina polja je Å TEVILO (privzeto " "5)\n" " znakov, sledi LOÄŒ (privzeto TAB). OÅ¡tevilÄenje gre od " "prve\n" " vrstice vhodne datoteke.\n" " -N, --first-line-number=Å TEVILO\n" " oÅ¡tevilÄenje zaÄnemo z navedenim Å TEVILOM v prvi vrstici " "na\n" " prvi natisnjeni strani (glej +PRVA_STRAN)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=ROB\n" " vrstice zamaknemo za ROB znakov od levega roba; ne " "vpliva\n" " na -w in -W; ROB se priÅ¡teje Å IRINI_STRANI.\n" " -r, --no-file-warnings\n" " brez opozoril, kadar ni mogoÄe odpreti datoteke\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ZNAK], --separator[=ZNAK]\n" " stolpce loÄimo z navedenim ZNAKOM; privzeti ZNAK je " "TAB,\n" " Äe ni podana izbira -w in 'no char' pri izbiri -w;\n" " -s[ZNAK] izkljuÄi okrajÅ¡anje vrstic za vse tristolpÄne\n" " izbire (-STOLPEC|-a -STOLPEC|-m), razen Äe je podan -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[NIZ], --sep-string[=NIZ]\n" " stolpce loÄimo z navedenim NIZOM\n" " Brez -S: privzeto loÄilo (TAB pri -J, presledki sicer -\n" " isto kot -S\" \"), brez uÄinka na nastavitve stolpcev\n" " -t, --omit-header brez zglavja in repa\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " brez zglavja in repa; brez oÅ¡tevilÄenja strani, ki jih\n" " povzroÄijo znaki za skok na novo stran v vhodni " "datoteki\n" " -v, --show-nonprinting\n" " z uporabo osmiÅ¡kih vrednosti z ubežnimi zaporedji\n" " -w, --width=Å IRINA_STRANI\n" " Å IRINO STRANI nastavimo na dano Å¡tevilo znakov (privz. " "72);\n" " samo besedilo v veÄ stolpcih; -s[znak] izklopi\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=Å IRINA_STRANI\n" " Å IRINO STRANI nastavimo na dano Å¡tevilo znakov (privz. " "72);\n" " predolge vrstice porežemo razen z izbiro -J; ne vpliva " "na\n" " izbiri -s in -S\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "ÄŒe je DOLŽINA_STRANI <= 10, se privzame izbira -t. Kadar DATOTEKA ni podana\n" "ali je enaka -, se bere standardni vhod.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Uporaba: %s [IZBIRA]... [SPREMENLJIVKA]...\n" "IzpiÅ¡e vrednosti navedenih SPREMENLJIVK okolja.\n" "ÄŒe SPREMENLJIVKA ni podana, izpiÅ¡e imena in vrednosti vseh spremenljivk.\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null vrstice naj se zakljuÄijo z znakom NUL, ne LF\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "opozorilo: %s: znak(i), sledeÄi znakovni konstanti, niso bili upoÅ¡tevani" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s OBLIKA [ARGUMENT]...\n" " ali: %s IZBIRA\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "IzpiÅ¡emo ARGUMENT(E) v navedeni OBLIKI, ali izvedemo glede na IZBIRO:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "OBLIKA nazdira izpis enako kot pri funkciji printf v C. TolmaÄena zaporedja " "so:\n" "\n" " \\\" dvojni narekovaj\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN bajt z osmiÅ¡ko kodo NNN (1 do 3 Å¡tevke)\n" " \\xHH bajt s Å¡estnajstiÅ¡ko kodo HH (1 ali 2 Å¡tevki)\n" " \\uHHHH znak Unicode (ISO/IEC 10646) s Å¡estnajstiÅ¡ko kodo HHHH (4 " "Å¡tevke)\n" " \\UHHHHHHHH znak Unicode s Å¡estnajstiÅ¡ko kodo HHHHHHHH (8 Å¡tevk)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% znak za odstotek\n" " %b ARGUMENT kot niz z raztolmaÄenimi znaki, ki jih uvajajo obratne\n" " poÅ¡evnice; osmiÅ¡ka zaporedja so v obliki \\O ali \\ONNN\n" "\n" "Vsa oblikovna doloÄila iz C, ki se konÄajo na diouxXfeEgGcs so\n" "raztolmaÄena, Äe je ARGUMENT prej pretvorjen v pravilen podatkovni\n" "tip. Spremenljive Å¡irine se obravnavajo pravilno.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: priÄakovana je Å¡tevilÄna vrednost" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: vrednost nepopolno pretvorjena" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "v ubežnem zaporedju manjka Å¡estnajstiÅ¡ko Å¡tevilo" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "neveljavno univerzalno ime znaka \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "neveljavna Å¡irina polja: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "neveljavna natanÄnost: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: neveljavna doloÄitev pretvorbe" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "opozorilo: odveÄni argumenti zaÄenÅ¡i s %s niso bili upoÅ¡tevani" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (za regularni izraz %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Uporaba: %s [IZBIRA]... [VHOD]... (brez -G)\n" " ali: %s -G [IZBIRA]... [VHOD [IZHOD]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Izpis permutiranega kazala gesel v vhodnih datotekah, skupaj s kontekstom.\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference izpis samodejno generiranih vnosov\n" " -G, --traditional obnaÅ¡anje kot »ptx« v sistemu System V\n" " -F, --flag-truncation=NIZ za oznaÄevanje okrajÅ¡anih vrstic uporabi " "NIZ\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=NIZ uporabi podano ime makroukaza (privzeto " "»xx«)\n" " -O, --format=roff izpis v obliki stavnega jezika roff\n" " -R, --right-side-refs sklici ob desnem robu (niso vÅ¡teti v -w)\n" " -S, --sentence-regexp=REGIZR za konce vrstic ali konce stavkov\n" " -T, --format=tex izpis v obliki stavnega jezika tex\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGIZR uporabi REGIZR za lovljenje besed\n" " -b, --break-file=DATOTEKA znake v podani DATOTEKI razlomi po besedah\n" " -f, --ignore-case pri urejanju obravnavaj male in velike " "Ärke \n" " enako\n" " -g, --gap-size=Å TEVILO Å¡irina razmaka v znakih med polji v izpisu\n" " -i, --ignore-file=DATOTEKA seznam neupoÅ¡tevanih besed preberi iz " "DATOTEKE\n" " -o, --only-file=FILE preberi le seznam besed iz navedene " "DATOTEKE\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references prvo polje v vsaki vrstici je sklic\n" " -t, --typeset-mode - ni izvedeno -\n" " -w, --width=Å TEVILO Å¡irina izhoda v znakih, brez sklicev\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Kadar DATOTEKA ni podana ali je enaka -, se bere standardni vhod. Privzeto\n" "oznaÄevanje okrajÅ¡anih vrstic je »-F /«.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "neveljavna Å¡irina razmaka: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "IzpiÅ¡emo celotno pot trenutnega delovnega imenika.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical uporabi se spremenljivka PWD iz okolja, Äetudi vsebuje " "simbolne\n" " povezave\n" " -P, --physical brez vseh simbolnih povezav\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "menjava imenika v %s ni uspela" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "branje statistike %s ni uspelo" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "imeniÅ¡kega vnosa z ujemajoÄim inodom v %s ni moÄ najti" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ne-izbirnih argumentov ne upoÅ¡tevamo" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Uporaba: %s [IZBIRA]... DATOTEKA...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "IzpiÅ¡i vrednost simbolne povezave ali kanoniÄno ime datoteke\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize kanoniziran izpis vsake komponente vsake " "simbolne\n" " povezave z rekurzivnim sledenjem povezav; " "vse\n" " komponente poti razen zadnje morajo " "obstajati\n" " -e, --canonicalize-existing kanoniziran izpis vsake komponente vsake " "simbolne\n" " povezave z rekurzivnim sledenjem povezav; " "vse\n" " komponente poti morajo obstajati\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing kanoniziran izpis vsake komponente vsake " "simbolne\n" " povezave z rekurzivnim sledenjem povezav; " "brez\n" " pogojev glede obstoja\n" " -n, --no-newline brez izpisa sledilnih znakov za novo vrstico\n" " -q, --quiet,\n" " -s, --silent brez izpisa veÄine poroÄil o napakah\n" " -v, --verbose z poroÄili o napakah\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ne-izbirnih argumentov ne upoÅ¡tevamo" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "IzpiÅ¡i razreÅ¡eno absolutno ime datoteke:\n" "vse komponente poti razen zadnje morajo obstajati\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing vse komponente poti morajo obstajati\n" " -m, --canonicalize-missing katerakoli komponenta poti lahko manjka\n" " -L, --logical razreÅ¡i .. pred simbolnimi povezavami\n" " -P, --physical razreÅ¡i simbolne povezave, kot so (privzeto)\n" " -q, --quiet brez izpisa veÄine obvestil o napakah\n" " --relative-to=DATOTEKA izpiÅ¡i razreÅ¡eno pot relativno glede na " "DATOTEKO\n" " --relative-base=DATOTEKA izpiÅ¡i absolutne poti, razen za poti pod \n" " DATOTEKO\n" " -s, --strip, --no-symlinks ne razreÅ¡uj simbolnih povezav\n" " -z, --zero izpis loÄi z znakom NUL namesto z novo " "vrstico\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "ustvarjamo relativno pot" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: naj se spustimo v imenik %s, ki je zavarovan proti pisanju? " # POZOR!!! Razisci, kaj je misljeno! #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: naj se spustimo v podimenik %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: naj se odstrani %s %s, ki je zavarovana proti pisanju? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: naj se odstrani %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "odstranjen imenik: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "imenika ni mogoÄe odstraniti: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "preskakujemo %s, ker je na drugi napravi" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "preÄenje ni uspelo: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "nepriÄakovan neuspeh: fts_info=%d: %s\n" "prosimo, javite na %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Poskusite »%s ./%s«, da bi odstranili datoteko %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Odstranimo navedene DATOTEKE.\n" "\n" " -f, --force brez opozoril o neobstojeÄih datotekah ali izbirah,\n" " brez zahteve po potrditvi pred vsakim brisanjem\n" " -i zahtevamo potrditev pred vsakim brisanjem\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I zahtevamo potrditev pred brisanjem treh ali veÄ " "datotek,\n" " ali pri rekurzivnem brisanju. Manj moteÄe kot -i, " "vseeno\n" " pa varuje pred veÄino napak.\n" " --interactive[=KDAJ] potrditev glede na KDAJ: never (nikoli), once \n" " (enkrat, isto kot -I), always (vedno, isto kot -i,\n" " privzeto)\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system pri hierarhiÄnem odstranjevanju imenikov preskoÄi\n" " vse imenike na datoteÄnem sistemu, drugem od " "tistega,\n" " ki pripada argumentu ukazne vrstice\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root imenika »/« ne obravnavamo kot izjeme \n" " --preserve-root ne odstrani »/« (privzeto)\n" " -r, -R, --recursive rekurzivno brisanje vsebine imenikov s podimeniki " "vred\n" " -d, --dir odstrani prazne imenike\n" " -v, --verbose z razlago poteka\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Privzeto ukaz »rm« ne odstrani imenikov. Z izbiro --recursive (-r ali -R)\n" "pa odstrani tudi vse navedene imenike z njihovo vsebino vred.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Datoteko, katere ime se zaÄne z minusom (npr. »-bla«) lahko odstranimo z " "enim\n" "od naslednjih dveh ukazov:\n" " %s -- -bla\n" "\n" " %s ./-bla\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Vsebino datotek, izbrisanih z ukazom rm, je z dovolj znanja in Äasa vÄasih\n" "mogoÄe rekonstruirati. ÄŒe bi bili radi bolj gotovi, da je vsebina zares\n" "nepovratno izbrisana, razmislite o uporabi ukaza shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: naj vse argumente rekurzivno odstranimo? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: naj se odstranijo vsi argumenti? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "odstranjujemo imenik, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "odstranitev imenika %s ni uspela" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Odstrani IMENIK ali IMENIKE, Äe so prazni.\n" "\n" " --ignore-fail-on-non-empty\n" " nadaljuj kljub napaki, Äe je do te priÅ¡lo zgolj zato,\n" " ker kateri od navedenih imenikov ni prazen\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents odstrani IMENIK in njegove nadimenike, Äe so prazni;\n" " npr.: »rmdir -p a/b/c« naredi isto kot »rmdir a/b/c a/b " "a«\n" " -v, --verbose z diagnostiÄnim sporoÄilom za vsak obdelan imenik\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "odstranitev %s ni uspela" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Uporaba: %s KONTEKST UKAZ [argumenti]\n" " ali: %s [ -c ] [-u UPORABNIK] [-r VLOGA] [-t TIP] [-l OBSEG] UKAZ " "[argumenti]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Požene program v drugem varnostnem kontekstu.\n" "ÄŒe ni podan ne KONTEKST, ne UKAZ, izpiÅ¡e trenutni varnostni kontekst.\n" "\n" " CONTEXT popoln varnostni kontekst\n" " -c, --compute pred spremembo izraÄunaj prehodni kontekst procesa\n" " -t, --type=TIP tip (v enaki vlogi kot starÅ¡)\n" " -u, --user=UPORABNIK uporabnik\n" " -r, --role=VLOGA vloga\n" " -l, --range=OBSEG obseg ravni\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "veÄ vlog" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "veÄ tipov" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "veÄ uporabnikov" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "veÄ obsegov" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "branje trenutnega konteksta ni uspelo" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "podati morate -c, -t, -u, -l, -r ali kontekst" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "ukaz ni doloÄen" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s lahko uporabite le z jedrom SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "izraÄun novega konteksta ni uspel" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "nastavitev novega uporabnika %s ni uspela" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "nastavitev novega tipa %s ni uspela" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "nastavitev novega obsega %s ni uspela" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "nastavitev nove vloge %s ni uspela" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "varnostnega konteksta %s ni mogoÄe nastaviti" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Uporaba: %s [IZBIRA]... ZADNJE\n" " ali: %s [IZBIRA]... PRVO ZADNJE\n" " ali: %s [IZBIRA]... PRVO KORAK ZADNJE\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "IzpiÅ¡emo Å¡tevila od PRVEGA do ZADNJEGA s podanim KORAKOM.\n" "\n" " -f, --format DOLOÄŒILO uporabi oblikovno DOLOÄŒILO kot v printf(3)\n" " -s, --separator NIZ uporabi NIZ kot loÄilo med Å¡tevili (privzeto: " "\\n)\n" " -w, --equal-width polja dopolni do enake Å¡irine z vodilnimi " "niÄlami\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "ÄŒe sta bodisi PRVO bodisi KORAK izpuÅ¡Äena, se zanju uporabi privzeta\n" "vrednost 1; izpuÅ¡Äeni KORAK zavzame vrednost 1 celo takrat, kot je\n" "ZADNJE manjÅ¡e od PRVEGA. PRVO, KORAK in ZADNJE so tolmaÄena kot\n" "Å¡tevila s plavajoÄo vejico. KORAK je navadno pozitiven, Äe je PRVO\n" "Å¡tevilo manjÅ¡e od ZADNJEGA, sicer pa negativen.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "Podano oblikovno DOLOÄŒILO mora biti primerno za izpis enega argumenta tipa\n" "»double«; privzeto je %.PRECf, Äe so PRVO, KORAK in ZADNJE decimalna " "Å¡tevila\n" "predstavljena v fiksni natanÄnosti PREC, sicer pa %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argument ni neveljavno Å¡tevilo v plavajoÄi vejici: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "doloÄilo %s vsebuje neznano direktivo %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "pri izpisu polj enake Å¡irine ni dovoljeno podati oblikovnega doloÄila" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uporaba: %s [KRATKA_IZBIRA]... UPORABNIK UKAZ [ARGUMENT]...\n" " ali: %s [DOLGA_IZBIRA]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Izpusti vse dodatne skupine, privzame Å¡tevilki uporabnika in skupine (UID \n" "in GID) navedenega UPORABNIKA ter požene UKAZ z vsemi podanimi ARGUMENTI.\n" "Ob izhodu vrne statusno kodo 111, Äe ni bilo mogoÄe privzeti zahtevanih UID\n" "in GID, sicer pa vrne izhodno statusno kodo UKAZA.\n" "Program je uporaben le, kadar ga poganja superuporabnik (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] nastavi tudi primarni ID skupine na Å¡tevilÄni GID, ter\n" " (Äe je podano) dodatni ID skupine na GID1...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "neznana Å¡tevilka uporabnika (UID): %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "za uporabo user-ID %s morate uporabiti tudi -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "dodatne skupine ni mogoÄe nastaviti" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "nastavitev GID na %lu ni mogoÄa" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "nastavitev UID na %lu ni mogoÄa" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Vsebino navedene DATOTEKE uniÄimo tako, da prek nje veÄkrat zapiÅ¡emo\n" "drugo vsebino.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force po potrebi dovolimo pisanje na datoteko/enoto\n" " -n, --iterations=N prek datoteke piÅ¡eno N-krat namesto privzetega (%d)\n" " --random-source=DATOTEKA preberi nakljuÄne bajte iz DATOTEKE\n" " -s, --size=N uniÄimo podano Å¡tevilo bajtov (dovoljene pripone K, M, " "G...)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove datoteko po uniÄenju vsebine skrajÅ¡aj in odstrani\n" " -v, --verbose s prikazom napredka med delom\n" " -x, --exact brez zaokroževanja velikosti datotek do polnega bloka\n" " (privzeto za predmete, ki niso navadne datoteke)\n" " -z, --zero na koncu zapiÅ¡i prek datoteke niÄle, da se prikrije " "uniÄenje\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "ÄŒe je DATOTEKA »-«, uniÄi vsebino, prebrano s standardnega vhoda.\n" "\n" "DATOTEKE odstranimo le, Äe je podana izbira --remove (-u). Privzeto " "datoteke\n" "ne odstranimo, kar je primerneje za delo z napravami (npr. /dev/hda). Pri " "delu \n" "z navadnimi datotekami veÄina uporablja izbiro --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "OPOZORILO: Delovanje programa »shred« temelji na zelo pomembni " "predpostavki,\n" "da datoteÄni sistem piÅ¡e prek starih podatkov. Vsi tradicionalni datoteÄni\n" "sistemi so res taki, Å¡tevilne sodobne zasnove datoteÄnih sistemov pa ne.\n" "Navedeni so zgledi datoteÄnih sistemov, na katerih program »shred« ne bo\n" "uÄinkovit, ali pa njegova uÄinkovitost ni zajamÄena v vseh naÄinih " "delovanja\n" "datoteÄnega sistema:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* datoteÄni sistemi s strukturiranim dnevnikom ali z dnevnikom sprememb, " "kot\n" " jih uporabljata AIX in Solaris (tudi JFS, ReiserFS, XFS, Ext3 itn.)\n" "\n" "* datoteÄni sistemi, ki podatke zapisujejo redundantno in lahko nadaljujejo\n" " z delom, Äeprav vsa pisanja niso bila uspeÅ¡na (npr. RAID)\n" "\n" "* datoteÄni sistemi, ki shranjujejo trenutne slike stanja diska, npr.\n" " strežnik NFS podjetja Network Appliace\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* datoteÄni sistemi, ki hranijo medpomnilnik na zaÄasnih lokacijah, npr.\n" " odjemniki NFS verzije 3\n" "\n" "* stisnjeni datoteÄni sistemi\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "V primeru datoteÄnih sistemov ext3 velja gornje opozorilo o neuÄinkovitosti\n" "programa shred le v naÄinu »data=journal«, ki zapisuje dnevnik sprememb\n" "podatkov v datotekah, ne le podatkov o datotekah. V naÄinih »data=ordered«\n" "(kar je privzeti naÄin) ter »data=writeback« deluje shred kot obiÄajno.\n" "NaÄine dnevniÅ¡kega beleženja sprememb pri ext3 doloÄimo z izbiro " "»data=nekaj«\n" "pri priklopu doloÄenega datoteÄnega sistema v datoteki /etc/fstab,\n" "kot je opisano v priroÄniku ukaza »mount« (glejte »man mount«).\n" "\n" "Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah\n" "in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je\n" "mogoÄe rekonstruirati uniÄeno datoteko.\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah\n" "in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je\n" "mogoÄe rekonstruirati uniÄeno datoteko.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: klic fdatasync ni uspel" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync ni uspel" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: ni mogoÄe previti na zaÄetek" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: prehod %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: napaka med pisanjem pri odmiku %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: klic lseek ni uspel" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: datoteka prevelika" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: prehod %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: prehod %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: klic fstat ni uspel" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: neveljavni tip datoteke" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: velikost datoteke negativna" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: napaka pri krajÅ¡anju" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: klic fcntl ni uspel" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: ni mogoÄe uniÄiti datoteke, v katero smemo le dodajati" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: odstranjujemo" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: preimenovano v %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: ni mogoÄe odstraniti" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: odstranjeno" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: ni mogoÄe zapreti" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: ni mogoÄe odpreti za pisanje" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: neveljavno Å¡tevilo prehodov" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "naveden je veÄ kot en izvor nakljuÄnih Å¡tevil" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: neveljavna velikost datoteke" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Uporaba: %s [IZBIRA]... [DATOTEKA]\n" " ali: %s [IZBIRA]... [ARGUMENT]...\n" " ali: %s -i SP-ZG [IZBIRA]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "NakljuÄno permutacijo vrstic na vhodu zapiÅ¡emo na standardni izhod.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo obravnavaj vsak ARG kot vhodno vrstico\n" " -i, --input-range=SP-ZG obravnavaj vsako Å¡tevilo SP..ZG kot vhodno " "vrstico\n" " -n, --head-lines=VRSTICE izpiÅ¡i najveÄ navedeno Å¡tevilo VRSTIC\n" " -o, --output=DATOTEKA zapiÅ¡i rezultat na DATOTEKO namesto na std. " "izhod\n" " --random-source=DATOTEKA preberi nakljuÄne bajte iz datoteke\n" " -z, --zero-terminated zakljuÄi vrstice z \\0, ne z znakom za novo " "vrstico\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "podanih je veÄ izbir -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "neveljavni vhodni razpon %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "neveljavno Å¡tevilo vrstic %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "podana je veÄ kot ena izhodna datoteka" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "izbir -e in -i ni mogoÄe kombinirati" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Uporaba: %s Å TEVILO[PRIPONA]\n" " ali: %s IZBIRA\n" "Premor za Å TEVILO sekund. PRIPONA je lahko »s« za sekunde (privzeto),\n" "»m« za minute, »h« za ure ali »d« za dneve. Za razliko od veÄine\n" "drugih izvedb, ki zahtevajo, da je Å TEVILO celo Å¡tevilo, je tu lahko\n" "poljubno Å¡tevilo v zapisu s plavajoÄo vejico. ÄŒe je podanih veÄ argumentov,\n" "velja premor za vsoto njihovih vrednosti.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "neveljavni Äasovni interval %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "ure s stvarnim Äasom ni moÄ prebrati" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Vsebino vseh DATOTEK na vhodu združimo, uredimo, in izpiÅ¡emo na standarni " "izhod.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Izbire pri urejanju:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ne upoÅ¡tevaj vodilnih presledkov\n" " -d, --dictionary-order upoÅ¡tevaj samo Ärke, Å¡tevke in presledke\n" " -f, --ignore-case male in velike Ärke so enakovredne\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort primerjaj po sploÅ¡ni Å¡tevilski vrednosti\n" " -i, --ignore-nonprinting v kljuÄih upoÅ¡tevaj samo izpisljive znake\n" " -M, --month-sort kljuÄe uredi: (neznano) < »jan« < ... < »dec«\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort primerjaj Äloveku umljiv zapis (npr. 2K, 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort primerjaj po Å¡tevilski vrednosti nizov\n" " -R, --random-sort uredi po nakljuÄnem kljuÄu\n" " --random-source=DATOTEKA beri nakljuÄne bajte iz DATOTEKE\n" " -r, --reverse izpis v obrnjenem vrstnem redu\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=BESEDA uredi glede na BESEDO: sploÅ¡no Å¡tevilÄno -g,\n" " Äloveku umljivo Å¡tevilÄno -h, mesec -M, \n" " Å¡tevilÄno -n, nakljuÄno -R, razliÄica -V\n" " -V, --version-sort uredi po Å¡tevilki razliÄice v besedilu\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Druge izbire:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=N združuj najveÄ N vhodov naenkrat; pri veÄjem\n" " Å¡tevilu uporabi zaÄasne datoteke\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first Äe je datoteka urejena, je ne urejaj " "znova\n" " -C, --check=quiet, --check=silent kot -c, le brez poroÄila o prvi slabi " "vrstici\n" " --compress-program=PROGRAM zaÄasne datoteke stisni s PROGRAMOM; pri\n" " dekomprimiranju uporabi »PROGRAM -d«\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug oznaÄi del vrstice, uporabljen pri urejanju\n" " in izpiÅ¡i opozorilo o vpraÅ¡ljivi rabi na stderr\n" " --files0-from=DATOTEKA beri vhod s seznama imen datotek v DATOTEKI;\n" " imena so zakljuÄena z NUL; Äe je DATOTEKA »-« ,\n" " se bere standardni vhod\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KLJUÄŒ urejaj glede na KLJUÄŒ, ki podaja položaj in tip\n" " -m, --merge že urejene datoteke združi brez ponovnega " "urejanja\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=DATOTEKA izhod zapiÅ¡i na DATOTEKO namesto na standardni " "izhod\n" " -s, --stable urejanje stabiliziraj z onemogoÄenjem skrajnih\n" " primerjav\n" " -S, --buffer-size=VELIKOST doloÄi VELIKOST izravnalnika\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=LOÄŒILO LOÄŒILO namesto prehodov med znaki in " "presledki\n" " -T, --temporary-directory=IMENIK \n" " uporabi IMENIK za zaÄasne datoteke namesto " "$TMPDIR\n" " ali %s; veÄtere izbire doloÄajo veÄ imenikov\n" " --parallel=N nastavi Å¡tevilo hkratnih urejanj na N\n" " -u, --unique skupaj z -c: preveri za strogo urejenost;\n" " sicer izpiÅ¡i samo prve od zaporednih enakih " "vrstic\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated vrstice naj se zakljuÄijo z znakom NUL, ne LF\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "KLJUÄŒ ima obliko P[.Z][IZBIRE],[P[.Z][IZBIRE]], kjer je P Å¡tevilka\n" "polja in Z položaj znaka znotraj polja, oboje Å¡teto od 1 dalje do\n" "konca vrstice. ÄŒe ni podana nobena od izbir -t ali -b, se znaki v\n" "polju Å¡tejejo od zaÄetka predhodnega presledka. IZBIRE so lahko ena\n" "ali veÄ od enoÄrkovnih izbir urejanja [bdfgiMhnRrV], kar prevlada nad\n" "globalnimi nastavitvami za ta kljuÄ. ÄŒe KLJUÄŒ ni podan, se kot kljuÄ\n" "uporabi celotna vrstica.\n" "\n" "VELIKOSTI lahko sledi ena od naslednji multiplikativnih pripon:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% pomnilnika, b 1, k 1024 (privzeto), itn. za M, G, T, P, E, Z, Y.\n" "\n" "ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" "\n" "***OPOZORILO***\n" "Krajevne prilagoditve vplivajo na urejanje. ÄŒe želite tradicionalno " "obnaÅ¡anje\n" "(urejanje po Å¡tevilski vrednosti bajtov), uporabite LC_ALL=C.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "Äakamo na %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] se je zakljuÄil nenormalno" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "zaÄasne datoteke v %s ni mogoÄe ustvariti" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "odpiranje ni uspelo" #: src/sort.c:970 msgid "fflush failed" msgstr "klic fflush ni uspel" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "zapiranje ni uspelo" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "klic dup2 ni uspel" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "ni mogoÄe izvesti %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "zaÄasne datoteke ni mogoÄe ustvariti" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "ni mogoÄe ustvariti procesa za %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "ni mogoÄe izvesti %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "opozorilo: ni moÄ odstraniti %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "neveljavni --%s argument %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "najmanjÅ¡i --%s argument je %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s argument %s je prevelik" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "najveÄji dovoljeni argument --%s pri trenutni vrednosti rlimit je %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "Å¡tevilo vzporednih stolpcev mora biti veÄje od niÄ" #: src/sort.c:1494 msgid "stat failed" msgstr "poizvedba po statusu ni uspela" #: src/sort.c:1755 msgid "read failed" msgstr "branje ni uspelo" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "pretvorba niza ni uspela" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "nepretvorjeni niz je bil %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ brez ujemanja za kljuÄ\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "uporabljen opuÅ¡Äen kljuÄ Â»%s«; nadomestite ga z »%s«" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "kljuÄ %lu ima Å¡irino niÄ in ne bo upoÅ¡tevan" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "vodeÄi presledki so pomembni pri kljuÄu %lu; morda morate navesti tudi »b«" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "kljuÄ %lu je Å¡tevilÄen in se razteza prek veÄ polj" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "izbire »-%s« niso bile upoÅ¡tevane" msgstr[1] "izbira »-%s« ni bila upoÅ¡tevana" msgstr[2] "izbiri »-%s« nista bili upoÅ¡tevani" msgstr[3] "izbire »-%s« niso bile upoÅ¡tevane" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "izbira »-r« se nanaÅ¡a le na primerjanje v skrajni sili" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "pisanje ni uspelo" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: neurejenost: " #: src/sort.c:2786 msgid "standard error" msgstr "standardna napaka" #: src/sort.c:3698 msgid "cannot read" msgstr "branje ni mogoÄe" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: neveljavno doloÄilo polja: %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "izbire »-%s« so nezdružljive" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: neveljavni Å¡tevec na zaÄetku %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "neveljavno Å¡tevilo za »-«" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "neveljavno Å¡tevilo za ».«" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "zablodeli znak v doloÄilu polja" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "podan je veÄ kot en program za stiskanje" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "neveljavno Å¡tevilo zaÄetka polja" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "Å¡tevilka polja je niÄ" #: src/sort.c:4392 msgid "character offset is zero" msgstr "znakovni zamik je niÄ" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "neveljavno Å¡tevilo za »,«" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "prazen tabulator" # POZOR!!! Razisci, kaj program res tu pocne! # ! INEXACT #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "ni mogoÄe prebrati imen datotek iz %s" # ! INEXACT #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: neveljavno ime datoteke (dolžina niÄ)" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "ni vhoda iz %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "z uporabo %s pravil za urejanje" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "z uporabo preproste primerjave bajtov" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "dodatni operand %s pri izbiri -%c ni dovoljen" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "dolžina pripone mora biti najmanj %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Uporaba: %s [IZBIRA]... [VHOD [PREDPONA]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Datoteko VHOD razrežemo na kose enake dolžine, poimenovane PREDPONAaa,\n" "PREDPONAab...; privzeta dolžina je 1000 vrstic, privzeta PREDPONA pa »x«.\n" "ÄŒe VHOD ni podan ali je enak -, se bere s standardnega vhoda.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N uporabi pripone dolžine N (privzeto %d)\n" " -b, --bytes=VELIKOST doloÄimo VELIKOST (v bajtih) izhodnih datotek\n" " -C, --line-bytes=VELIKOST velikost izhodnih datotek je navzgor omejena " "na\n" " VELIKOST (v bajtih)\n" " -d, --numeric-suffixes uporabi Å¡tevilÄne pripone namesto Ärkovnih\n" " -e, --elide-empty-files ne ustvari praznih datotek z »-n«\n" " --filter=SKRIPT izhod podamo SKRIPTU ukazne lupine; ime datoteke\n" " je podano s $FILE\n" " -l, --lines=Å TEVILO doloÄimo Å TEVILO vrstic v izhodni datoteki\n" " -n, --number=KOSOV ustvari KOSOV izhodnih datotek. Glejte nižje.\n" " -u, --unbuffered takoj prepiÅ¡i vhod na izhod z »-n r/...«\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose z izpisom diagnostike tik\n" " preden odpremo posamiÄno datoteko\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "KOSI so lahko:\n" "N razdeli na N datotek, glede na velikost vhoda\n" "K/N izpiÅ¡i K-ti kos od N-tih na standardni izhod\n" "l/N razdeli na N datotek brez deljenja vrstic\n" "l/K/N izpiÅ¡i K-ti kos od N-tih na standardni izhod brez deljenja vrstic\n" "r/N kot »l«, vendar ob uporabi krožne porazdelitve\n" "r/K/N podobno, vendar izpiÅ¡i le vsak izpiÅ¡i K-ti kos od N-tih \n" " na standardni izhod\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "pripone izhodnih datotek so izÄrpane" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "ustvarjanje datoteke %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s bi pisal prek vhoda; prekinjamo" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "nastavitev spremenljivke FILE ni uspela" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "izvajamo s FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "ni mogoÄe ustvariti cevovoda" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "zapiramo prejÅ¡nji cevovod" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "zapiramo izhodni cevovod" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "prestavljamo vhodni cevovod" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "zapiramo vhodni cevovod" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "ukaz ni bil uspeÅ¡no izveden: \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "zapiranje vhodnega cevovoda ni uspelo" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "Äakamo na nasledniÅ¡ki proces" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "pri FILE=%s prejeli signal %s od ukaza: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "pri FILE=%s prejeli izhodno kodo %d od ukaza: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "neznani status ukaza (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "razcep na veÄ kot en naÄin ni mogoÄ" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: neveljavno Å¡tevilo kosov" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: neveljavno Å¡tevilo kosa" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: neveljavno dolžina pripone" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: neveljavno Å¡tevilo bajtov" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: neveljavno Å¡tevilo vrstic" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "Å¡tevec vrstic -%s%c... je prevelik" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: neveljavna zaÄetna vrednost za Å¡tevilÄno pripono" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: neveljavna velikost V/I bloka" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter ne obdeluje kosa, zapisanega na standardni izhod" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "zaÄetna vrednost Å¡tevilÄne pripone je prevelika glede na dolžino pripone" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: velikosti datoteke ni mogoÄe ugotoviti" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "kanoniziranje %s ni uspelo" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "opozorilo: neprepoznana izbira »\\%c«" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: neveljavna direktiva" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "opozorilo: obratna poÅ¡evnica na koncu formatnega doloÄila" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "uporaba %s za oznako standardnega vhoda ne deluje v datoteÄnem naÄinu" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "ni mogoÄe prebrati datoteÄnega sistema %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "statusa standardnega vhoda ni mogoÄe ugotoviti" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" "Datoteka: \"%n\"\n" " ID: %-8i Dol.im.: %-7l Tip: %T\n" "Velikost bloka: %-10s Osnovna velikost bloka: %S\n" "Bloki: Skupaj: %-10b Prosto: %-10f Na voljo: %a\n" "Inodi: Skupaj: %-10c Prosto: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" "Datoteka: %N\n" "Velikost: %-10s\tBlokov: %-10b V/I Blok: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr " Naprava: %Dh/%dd\tInod: %-10i Povezave: %-5h Tip naprave: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr " Naprava: %Dh/%dd\tInod: %-10i Povezave: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr " Dostop: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontekst: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Dostop: %x\n" "Modifik.: %y\n" "Spremem.: %z\n" " Rojstvo: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Izpis statusa datoteke ali datoteÄnega sistema.\n" "\n" " -L, --dereference s sledenjem povezav\n" " -f, --file-system izpis statusa datoteÄnega sistema, ne statusa " "datoteke\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c, --format=OBLIKA namesto privzete uporabi podano OBLIKO;\n" " nova vrstica za vsako uporabo OBLIKE\n" " --printf=OBLIKA podobno kot --format, vendar s tolmaÄenjem ubežnih\n" " zaporedij in brez izpisa obvezne zakljuÄne nove \n" " verstice; Äe jo želite, dodajte \\n v OBLIKO.\n" " -t, --terse izpis podatkov v zgoÅ¡Äeni obliki\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Veljavna oblikovna zaporedja za datoteke (brez --file-system):\n" "\n" " %a - osmiÅ¡ki zapis pravic do dostopa\n" " %A - pravice do dostopa zapisane v Äloveku umljivi obliki\n" " %b - Å¡tevilo dodeljenih blokov (glej %B)\n" " %B - velikost v bajtih za vsak blok, ki ga javi »%b«\n" " %C - niz z varnostnim kontekstom SELinux\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d - Å¡tevilka naprave v desetiÅ¡kem zapisu\n" " %D - Å¡tevilka naprave v Å¡estnajstiÅ¡kem zapisu\n" " %f - surov Å¡estnajstiÅ¡ki naÄin\n" " %F - zvrst datoteke\n" " %g - Å¡tevilka skupine (GID) lastnika\n" " %G - ime skupine lastnika\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h - Å¡tevilo trdih povezav\n" " %i - Å¡tevilka inoda\n" " %m - toÄka priklopa\n" " %n - ime datoteke\n" " %N - ime datoteke (ciljne datoteke, Äe gre za simbolno povezavo)\n" " %o - namig o optimalni velikosti V/I bloka\n" " %s - skupna velikost v bajtih\n" " %t - glavna Å¡tevilka zvrsti enote, Å¡estnajstiÅ¡ko\n" " %T - pomožna Å¡tevilka zvrsti enote, Å¡estnajstiÅ¡ko\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u - uporabniÅ¡ka Å¡tevilka (UID) lastnika\n" " %U - uporabniÅ¡ko ime lastnika\n" " %w - Äas rojstva datoteke, Äloveku berljiv zapis; - Äe ni znan\n" " %W - Äas rojstva datoteke, v sekundah od 1970-01-01; 0 Äe ni znan\n" " %x - Äas zadnjega dostopa, Äloveku berljiv zapis\n" " %X - Äas zadnjega dostopa, v sekundah od 1970-01-01\n" " %y - Äas zadnje spremembe, Äloveku berljiv zapis\n" " %Y - Äas zadnje spremembe, v sekundah od 1970-01-01\n" " %z - Äas zadnje spremembe inoda, Äloveku berljiv zapis\n" " %Z - Äas zadnje spremembe inoda, v sekundah od 1970-01-01\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Veljavna formatna zaporedja za datoteÄne sisteme:\n" "\n" " %a - Å¡tevilo prostih blokov, dostopnih za uporabnike\n" " %b - skupno Å¡tevilo blokov v datoteÄnem sistemu\n" " %c - skupno Å¡tevilo inodov v datoteÄnem sistemu\n" " %d - Å¡tevilo prostih inodov v datoteÄnem sistemu\n" " %f - Å¡tevilo prostih blokov v datoteÄnem sistemu\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i - identifikacijska Å¡tevilka datoteÄnega sistema, Å¡estnajstiÅ¡ko\n" " %l - najveÄja dovoljena dolžina imen datotek\n" " %n - ime datoteke\n" " %s - optimalna velikost bloka za prenos\n" " %S - osnovna velikost bloka (za Å¡tetje blokov)\n" " %t - zvrst v Å¡estnajstiÅ¡kem zapisu\n" " %T - zvrst v Äloveku umljivi obliki\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Uporaba: %s IZBIRA... UKAZ\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Izvedi UKAZ z modificiranimi izravnalnimi operacijami za standardne tokove.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=NAÄŒIN Prilagodi izravnavanje toka standardnega vhoda\n" " -o, --output=NAÄŒIN Prilagodi izravnavanje toka standardnega izhoda\n" " -e, --error=NAÄŒIN Prilagodi izravnavanje toka standardnega izhoda napak\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "ÄŒe je NAÄŒIN enak »L«, se za tok uporablja izravnavanje na ravni vrstic.\n" "Na izbira ni veljavna, Äe je izbran standardni vhod.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "ÄŒe je NAÄŒIN enak »0« (niÄla), se za tok ne uporablja izravnavanje.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Sicer je NAÄŒIN Å¡tevilka, ki ji lahko sledi ena od naslednjih oznak: \n" "KB 1000, K 1024, MB 1000×1000, M 1024×1024 in tako dalje za G, T, P, E, Z in " "Y.\n" "V tem primeru bo izbrani tok izravnavan, velikost izravnalnika pa NAÄŒIN " "bajtov.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "OPOMBA: ÄŒe UKAZ sam prilagodi izravnavanje svojih standardnih tokov (tak je " "npr.\n" "»tee«), bo ta nastavitev prevladala nad nastavitvami, nastavljenimi v " "»stdbuf«.\n" "Nekateri filtri (npr. »dd« in »cat«) ne uporabljajo standardnih tokov za " "vhod \n" "in izhod, zato nastavitve »stdbuf« nanje nimajo uÄinka.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "neuspelo iskanje %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "posodobitev okolja z %s ni uspela" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "vrstiÄno izravnavanje standardnega vhoda ni smiselno" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Uporaba: %s [-F ENOTA] [--file=ENOTA] [NASTAVITEV]...\n" " ali: %s [-F ENOTA] [--file=ENOTA] [-a|-all]\n" " ali: %s [-F ENOTA] [--file=ENOTA] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "IzpiÅ¡emo ali spremenimo lastnosti terminala.\n" "\n" " -a, --all izpiÅ¡i vse trenutne nastavitve v Äloveku berljivi " "obliki\n" " -g, --save izpiÅ¡i vse trenutne nastavitve v obliki, ki jo bere " "stty\n" " -F, --file=ENOTA odpri in uporabi navedeno ENOTO namesto standardnega " "vhoda\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Neobvezni minus (-) pred NASTAVITVIJO pomeni njen izklop. Zvezdica (*)\n" "oznaÄuje nastavitve, ki so razÅ¡iritve standarda POSIX. Dejansko\n" "dostopne nastavitve so odvisne od sistema.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Posebni znaki:\n" " * dsusp ZNAK ZNAK bo, ko poÄisti vhodni medpomnilnik, poslal signal za\n" " ustavitev terminala\n" " eof ZNAK ZNAK bo zakljuÄil datoteko (konÄal vhod)\n" " eol ZNAK ZNAK bo zakljuÄil vrstico\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 ZNAK alternativni ZNAK za zakljuÄek vrstice\n" " erase ZNAK ZNAK bo pobrisal nazadnje vneseni znak\n" " intr ZNAK ZNAK bo poslal signal za prekinitev\n" " kill ZNAK ZNAK bo pobrisal trenutno vrstico\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext ZNAK ZNAK bo vnesel naslednji navedeni znak\n" " quit ZNAK ZNAK bo poslal signal za konÄanje\n" " * rprnt ZNAK ZNAK bo obnovil (ponovno izrisal) trenutno vrstico\n" " start ZNAK ZNAK bo ponovno pognal ustavljeni izhod\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop ZNAK ZNAK bo ustavil izhod\n" " susp ZNAK ZNAK bo poslal signal za ustavitev terminala\n" " * swtch ZNAK ZNAK bo preklopil v drugo plast lupine\n" " * werase ZNAK ZNAK bo pobrisal nazadnje vneseno besedo\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Posebne nastavitve:\n" "\n" " N hitrosti vhoda in izhoda nastavi na N bitov/s\n" " * cols N sporoÄi jedru, da uporabljamo terminal z N stolpci\n" " * columns N isto kot cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N vhodno hitrost nastavimo na N bitov/s\n" " * line N uporabi komunikacijski protokol N\n" " min N z -icanon; naj bo N znakov minimum pri branju\n" " ospeed N izhodno hitrost nastavimo na N bitov/s\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N sporoÄi jedru, da uporabljamo terminal z N vrsticami\n" " * size izpiÅ¡i podatke iz jedra o Å¡tevilu stolpcev in vrstic\n" " speed izpiÅ¡i hitrost terminala\n" " time N z -icanon, nastavi iztek Äasa pri branju na N desetink " "sekunde\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Krmilne nastavitve:\n" " [-]clocal onemogoÄi modemske krmilne signale\n" " [-]cread omogoÄi sprejem vhoda\n" " * [-]crtscts omogoÄi usklajevanje RTS/CTS\n" " csN nastavi velikost znaka v bitih na N; N je v intervalu " "[5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb dva konÄna bita za znak (pri »-« je en sam)\n" " [-]hup poÅ¡lji signal za odložitev, ko zadnji proces zapre " "terminal\n" " [-]hupcl isto kot [-]hup\n" " [-]parenb poÅ¡iljaj paritetni bit na izhodu in ga priÄakuj na vhodu\n" " [-]parodd izberi liho pariteto (oziroma sodo pri »-«)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Vhodne nastavitve:\n" " [-]brkint prekinitve sprožijo signal za prekinitev\n" " [-]icrnl pretvori znak CR v NL\n" " [-]ignbrk ne upoÅ¡tevaj prekinitvenih znakov\n" " [-]igncr ne upoÅ¡tevaj znaka za pomik na levi rob\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ne upoÅ¡tevaj znakov z napaÄno pariteto\n" " * [-]imaxbel zapiskaj in ne izprazni polnega medpomnilnika na znaku\n" " [-]inlcr pretvori znak NL v CR\n" " [-]inpck omogoÄi preverjanje paritete na vhodu\n" " [-]istrip najviÅ¡ji (osmi) bit znakov vedno postavi na niÄ\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 privzemi, da znaki na vhodu uporabljajo kodiranje UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc pretvori velike Ärke v male\n" " * [-]ixany omogoÄi, da katerikoli znak, ne le XON, ponovno požene " "izpis\n" " [-]ixoff omogoÄi poÅ¡iljanje znakov XON in XOFF\n" " [-]ixon omogoÄi uskladitev z znaki XON/XOFF\n" " [-]parmrk oznaÄi napako v pariteti z zaporedjem 255-0-ZNAK\n" " [-]tandem isto kot [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Izhodne nastavitve:\n" " * bsN slog zakasnitve pri brisalki; N je v intervalu [0..1]\n" " * crN slog zakasnitve pri pomiku na zaÄetek vrste; N je v [0..3]\n" " * ffN slog zakasnitve pri pomiku na naslednjo stran; N je v " "[0..1]\n" " * nlN slog zakasnitve pri skoku v naslednjo vrsto; N je v [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl pretvori znake CR v NL\n" " * [-]ofdel zapolnjuj z znaki za brisanje namesto z znaki NUL\n" " * [-]ofill uporabi znake za zapolnjevanje namesto Äasovnih zakasnitev\n" " * [-]olcuc pretvori male Ärke v velike\n" " * [-]onlcr pretvori znake NL v CR\n" " * [-]onlret znak NL opravi Å¡e pomik na zaÄetek vrste\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ne izpisuj znakov CR v prvem stolpcu\n" " [-]opost dodatna obdelava izhoda\n" " * tabN slog zakasnitve pri tabulatorju; N je v intervalu [0..1]\n" " * tabs isto kot tab0\n" " * -tabs isto kot tab3\n" " * vtN slog zakasnitve pri vertikalnem tabulatorju; N je v [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokalne nastavitve:\n" " [-]crterase izpisuj znak za brisanje kot brisanje-presledek-brisanje\n" " * crtkill pobriÅ¡i celotno vrstico ob upoÅ¡tevanju echoprt in echoe\n" " * -crtkill pobriÅ¡i celotno vrstico ob upoÅ¡tevanju echoctl in echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho krmilne znake izpisuj v zapisu s streÅ¡ico (npr. »^C«)\n" " [-]echo izpisuj vnesene znake\n" " * [-]echoctl isto kot [-]ctlecho\n" " [-]echoe isti kot [-]crterase\n" " [-]echok izpiÅ¡i znak za novo vrstico po brisanju vrstice\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke isto kot [-]crtkill\n" " [-]echonl izpisuj znak za novo vrstico, Äetudi ostalih ne\n" " * [-]echoprt izpisuj pobrisane znake nazaj, med »\\« in »/«\n" " [-]icanon omogoÄi posebne znake erase, kill, werase in rprnt\n" " [-]iexten omogoÄi posebne znake, ki niso del priporoÄila POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig omogoÄi posebne znake interrupt, quit in suspend\n" " [-]noflsh onemogoÄi izpraznitev medpomnilnika po znakih interrupt in " "quit\n" " * [-]prterase isto kot [-]echoprt\n" " * [-]tostop ustavi vsa opravila v ozadju, ki poskuÅ¡ajo pisati na " "terminal\n" " * [-]xcase skupaj z icanon, predhodi vse velike Ärke z obratno\n" " poÅ¡evnico »\\«\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinacijske nastavitve:\n" " * [-]LCASE isto kot [-]lcase\n" " cbreak isto kot -icanon\n" " -cbreak isto kot icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked isto kot brkint ignpar istrip icrnl ixon opost isig\n" " icanon, znaka eof in eol na njuni privzeti vrednosti\n" " -cooked isto kot raw\n" " crt isto kot echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec isto kot echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq isto kot [-]ixany\n" " ek znaka erase in kill na njuni privzeti vrednosti\n" " evenp isto kot parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp isto kot -parenb cs8\n" " * [-]lcase isto kot xcase iuclc olcuc\n" " litout isto kot -parenb -istrip -opost cs8\n" " -litout isto kot parenb istrip opost cs7\n" " nl isto kot -icrnl -onlcr\n" " -nl isto kot icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp isto kot parenb parodd cs7\n" " -oddp isto kot -parenb cs8\n" " [-]parity isto kot [-]evenp\n" " pass8 isto kot -parenb -istrip cs8\n" " -pass8 isto kot parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw isto kot -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw isto kot cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane isto kot cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, vsi posebni znaki\n" " na njihove privzete vrednosti\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Upravljaj s terminalskim vodom, povezanim s standardnim vhodom. Brez\n" "argumentov izpiÅ¡e hitrost, komunikacijski protokol in vse spremembe\n" "glede na stty sane. Pri nastavitvah je ZNAK mogoÄe podati dobesedno,\n" "ali pa v notacijah ^c, 0x37, 0177 ali 127; s posebnimi vrednostmi ^-\n" "in undef prekliÄemo nastavitve posebnih znakov.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "navedena je lahko samo ena enota" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "izbiri za izpis v Äloveku berljivi obliki ter obliki, ki jo lahko prebere\n" "stty, sta si nasprotujoÄi" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "pri doloÄanju sloga izhoda ni mogoÄe nastavljati naÄinov" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: ne-blokirnega naÄina ni mogoÄe ponovno zagnati" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "neveljavni argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "izbiri %s manjka argument" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "neveljavni komunikacijski protokol %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: vseh zahtevanih operacij se ni dalo izvesti" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: ni podatka o velikosti te enote" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "neveljavni celoÅ¡tevilÄni argument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Za vsako DATOTEKO izpiÅ¡e nadzorno vsoto in Å¡tevilo blokov.\n" "\n" " -r algoritem BSD za nadzorno vsoto, velikost blokov 1 KB\n" " -s, --sysv algoritmom System V za nadzorno vsoto, velikost blokov 512 " "B\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Stanje na disku uskladimo s stanjem v diskovnem medpomnilniku.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ne upoÅ¡tevamo nobenih argumentov" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "OPOZORILO: vaÅ¡a ukazna lupina ima lahko vgrajeno vrednost %s, ki navadno\n" "prevlada nad tu opisano razliÄico. Prosimo, obrnite se na dokumentacijo\n" "vaÅ¡e ukazne lupine za podrobnosti o podprtih izbirah.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help ta navodila\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version razliÄica programa\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obvezni argumenti, navedeni pri dolgi obliki izbire, veljajo tudi za " "kratko.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "VELIKOST je celo Å¡tevilo, ki mu lahko sledi enota (npr. 10M = " "10×1024×1024).\n" "Enote so K, M, G, T, P, E, Z, Y (potence 1024) ali KB, MB... (potence " "1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Izpisane vrednosti so v enotah prve razpoložljive ENOTE, podane z izbiro\n" "--block-size ter s spremenljivkami okolja %s_BLOCK_SIZE, BLOCK_SIZE in\n" "BLOCKSIZE. Privzeta enota je 1024 bajtov (512 pri nastavljenem " "POSIXLY_CORRECT).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Napake v programu %s sporoÄite na %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Napake v prevodu %s sporoÄite na <http://translationproject.org/team/sl." "html>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "Za popolno dokumentacijo poženite: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Poskusite »%s --help« za izÄrpnejÅ¡a navodila\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "POZOR: Cirkularna struktura imenikov.\n" "To skoraj gotovo pomeni resno napako v datoteÄnem sistemu.\n" "OBVESTITE UPRAVITELJA SISTEMA.\n" "Naslednja dva imenika imata isto Å¡tevilo inode:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vsako od DATOTEK prepiÅ¡emo na standardni izhod v obratnem vrstnem redu, od\n" "zadnje vrstice proti prvi. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s\n" "standardnega vhoda.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before loÄilo dodamo pred, ne za izpisano vrstico\n" " -r, --regex loÄila obravnavamo kot regularne izraze\n" " -s, --separator=NIZ vrstice naj loÄuje NIZ, ne znak za novo vrstico\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: klic seek ni uspel" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "zapis je prevelik" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "zaÄasne datoteke v %s ni mogoÄe ustvariti" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "%s ni mogoÄe odpreti za pisanje" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "toka za %s ni mogoÄe previti na zaÄetek" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: napaka pri pisanju" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "datoteke %s ni mogoÄe odpreti za branje" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "loÄilo ne more biti prazno" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Zadnjih %d vrstic vsake od podanih DATOTEK izpiÅ¡emo na standardni izhod.\n" "ÄŒe je podana veÄ kot ena DATOTEKA, izpiÅ¡emo pred tem Å¡e glavo z imenom\n" "datoteke. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega " "vhoda.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K izpiÅ¡i zadnjih K bajtov datoteke; uporabite -c " "+K\n" " za izpis bajtov od K-tega dalje v vsaki datoteki\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}] pri datotekah, ki rastejo, sledimo\n" " trenutnemu koncu datoteke; -f, --follow in\n" " --follow=descriptor so sopomenke\n" " -F isto kot --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K izpiÅ¡i zadnjih K vrstic namesto privzetih %d;\n" " uporabite -n +K za izpis vrstic zaÄenÅ¡i z K-to\n" " --max-unchanged-stats=N\n" " skupaj z --follow=name, ponovno odpri DATOTEKO, " "ki\n" " se ni spremenila v zadnjih N (privzeto %d) " "branjih;\n" " s tem preverimo, ali vmes ni bila izbrisana ali\n" " preimenovana (uporabno pri dnevniÅ¡kih " "datotekah).\n" " Z inotify je ta izbira redkokdaj uporabna.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID obenem z -f: proces zakljuÄimo, ko PID ugasne\n" " -q, --quiet, --silent vedno brez izpisa glave z imenom datoteke\n" " --retry datoteko poskuÅ¡aj odpreti, Äetudi ni dostopna v\n" " trenutku, ko poženemo tail ali pa postane\n" " nedostopna kasneje -- uporabno skupaj s " "sledenjem\n" " imena (izbira --follow-name)\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N skupaj z -f, premor približno N sekund\n" " (privzeto 1,0 sekunda) med ponovitvami.\n" " Z inotify in --pid=P, preveri proces P najmanj\n" " vsakih N sekund.\n" " -v, --verbose vedno z izpisom glave z imenom datoteke\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "ÄŒe je Å¡tevilo K (Å¡tevilo vrstic ali bajtov) predznaÄeno z znakom " "»+« (plus),\n" "priÄnemo izpis od K-te vrstice (K-tega bajta) naprej namesto zadnjih K\n" "vrstic (bajtov) v vsaki datoteki. K ima lahko množiteljsko pripono:\n" "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Ob podani izbiri --follow (-f) »tail« sledi opisniku datoteke, kar pomeni, " "da\n" "»tail« nadaljuje s spremnljanjem konca datoteke, Äetudi je ta preimenovana.\n" "Privzeti naÄin ni uporaben, Äe želimo spremljati datoteko z danim imenom \n" "(npr. dnevniÅ¡ki zapisi). V tem primeru uporabimo --follow=name. V tem " "naÄinu\n" "»tail« periodiÄno poskusi odpreti datoteko in tako preverja, ali ta Å¡e\n" "obstaja, ali pa je bila vmes zbrisana ter ponovno ustvarjena.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "zapiramo %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: premik na relativni odmik %s ni mogoÄ" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: premik na odmik %s (relativno od konca) ni mogoÄ" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "ni moÄ ugotoviti lokacije %s, uporabljamo programsko izpraÅ¡evanje" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "neprepoznan tip datoteÄnega sistema 0x%08lx za %s. Prosimo, javite to " "napako na %s. namesto tega uporabljamo programsko izpraÅ¡evanje" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s je postala nedostopna" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s je bila nadomeÅ¡Äena z datoteko, kateri ni moÄ slediti konca; opuÅ¡Äamo" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s je bila nadomeÅ¡Äena z datoteko na oddaljeni lokaciji; opuÅ¡Äamo" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s je postala dostopna" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s se je pojavila; sledimo konec nove datoteka" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s je bila zamenjana; sledimo konec nove datoteke" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: ne-blokirnega naÄina ni mogoÄe spremeniti" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: datoteka je porezana" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nobene datoteke ni veÄ" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "opazovanje nadimenika %s ni mogoÄe" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "viri za inotify so izÄrpani" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "opazovanje %s ni mogoÄe" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "napaka pri nadzoru dogodka inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "napaka pri branju dogodka inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: koncu te zvrsti datoteke ni mogoÄe slediti; s tem imenom odnehamo" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "Å¡tevilo v %s je preveliko" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: neveljavno najveÄje Å¡tevilo nespremenjenih statusov med odpiranji" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: neveljavna Å¡tevilka procesa (PID)" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: neveljavno Å¡tevilo sekund" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "izbira je uporabljena v neveljavnem kontekstu -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "opozorilo: izbira --retry je veÄinoma uporabna le, kadar ji sledi ime" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "opozorilo: PID ni upoÅ¡tevan; --pid=PID je uporabno samo pri sledenju" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "opozorilo: izbira --pid=PID na tem sistemu ni podprta" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "sledenje %s po imenu ni mogoÄe" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "opozorilo: sledenje standardnemu vhodu za vekomaj ni uÄinkovito" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "ni moÄ uporabiti inotify, uporabljamo programsko izpraÅ¡evanje" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Standarni vhod prepiÅ¡emo na standardni izhod in Å¡e na vse navedene " "DATOTEKE.\n" "\n" " -a, --append dodajaj na konec datoteke, namesto da piÅ¡eÅ¡ " "prek\n" " -i, --ignore-interrupts ne upoÅ¡tevaj signalov za prekinitev\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "ÄŒe je DATOTEKA enaka -, prepiÅ¡emo nazaj na standardni izhod.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "manjkajoÄ argument za %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "neveljavno celo Å¡tevilo %s" #: src/test.c:241 msgid "')' expected" msgstr "priÄakuje se »)«" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "priÄakuje se »)«, naleteli na %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: priÄakuje se unarni operator" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt ne sprejema -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef ne sprejema -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot ne sprejema -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "neznan binarni operator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: priÄakuje se binarni operator" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Uporaba: test IZRAZ\n" " ali: test\n" " ali: [ IZRAZ ]\n" " ali: [ ]\n" " ali: [ IZBIRA\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Ovrednoti IZRAZ in rezultat vrne kot izhodno kodo.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Rezultat ovrednotenja IZRAZA je lahko resniÄno (true) ali neresniÄno " "(false).\n" "IzpuÅ¡Äen IZRAZ se privzeto ovrednoti kot neresniÄno. IZRAZ je eden od:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( IZRAZ ) IZRAZ je pravilen\n" " ! IZRAZ IZRAZ ni pravilen\n" " IZRAZ1 -a IZRAZ2 IZRAZ1 in IZRAZ2 sta oba pravilna\n" " IZRAZ1 -o IZRAZ2 IZRAZ1 ali IZRAZ2 sta pravilna\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] NIZ dolžina NIZA je veÄja od niÄ\n" " NIZ isto kot -n NIZ\n" " -z NIZ dolžina NIZA je enaka niÄ\n" " NIZ1 = NIZ2 niza sta enaka\n" " NIZ1 != NIZ2 niza se razlikujeta\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " Å TEVILO1 -eq Å TEVILO2 celo Å TEVILO1 je enako celemu Å TEVILU2\n" " Å TEVILO1 -ge Å TEVILO2 celo Å TEVILO1 je veÄje ali enako od celega " "Å TEVILU2\n" " Å TEVILO1 -gt Å TEVILO2 celo Å TEVILO1 je veÄje od celega Å TEVILU2\n" " Å TEVILO1 -le Å TEVILO2 celo Å TEVILO1 je manjÅ¡e ali enako od celega " "Å TEVILU2\n" " Å TEVILO1 -lt Å TEVILO2 celo Å TEVILO1 je manjÅ¡e od celega Å TEVILU2\n" " Å TEVILO1 -ne Å TEVILO2 celo Å TEVILO1 ni enako celemu Å TEVILU2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " DATOTEKA1 -ef DATOTEKA2 datoteki imata isto Å¡tevilko naprave in inoda\n" " DATOTEKA1 -nt DATOTEKA2 DATOTEKA1 je bila spremenjena kasneje kot " "DATOTEKA2\n" " DATOTEKA1 -ot DATOTEKA2 DATOTEKA1 je bila spremenjena prej kot DATOTEKA2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b DATOTEKA DATOTEKA obstaja in je bloÄna posebna enota\n" " -c DATOTEKA DATOTEKA obstaja in je znakovna posebna enota\n" " -d DATOTEKA DATOTEKA obstaja in je imenik\n" " -e DATOTEKA DATOTEKA obstaja\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f DATOTEKA DATOTEKA obstaja in je navadna datoteka\n" " -g DATOTEKA DATOTEKA obstaja in ima postavljen bit SGID\n" " -G DATOTEKA DATOTEKA obstaja in pripada isti skupini\n" " -h DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -L)\n" " -k DATOTEKA DATOTEKA obstaja in ima postavljen lepljivi bit\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -h)\n" " -O DATOTEKA DATOTEKA obstaja in pripada istemu uporabniku\n" " -p DATOTEKA DATOTEKA obstaja in je poimenovana cev\n" " -r DATOTEKA DATOTEKA obstaja in jo smemo brati\n" " -s DATOTEKA DATOTEKA obstaja in ni prazna (dolžina > 0)\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S DATOTEKA DATOTEKA obstaja in je vtiÄnica\n" " -t DATOTEKA deskriptor DATOTEKE (navadno standarni izhod) je odprt na " "terminalu\n" " -u DATOTEKA DATOTEKA obstaja in ima postavljen bit SUID\n" " -w DATOTEKA DATOTEKA obstaja in nanjo smemo pisati\n" " -x DATOTEKA DATOTEKA obstaja in jo smemo izvajati ali iskati\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Razen pri izbirah -h in -L se pri vseh testih v zvezi z DATOTEKAMI sledi\n" "simbolnim povezavam. Pazite na to, da je potrebno oklepaje opremiti z\n" "obratnimi poÅ¡evnicami, da jih ne tolmaÄi ukazna lupina. Celo Å TEVILO je\n" "lahko tudi -l NIZ, ki se ovrednoti na dolžino NIZA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "Pomnite: [ upoÅ¡teva izbiri --help in --version, »test« pa ne.\n" "»test« tudi ta niza obravnava enako kot druge neprazne NIZE.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test in/ali [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "manjkajoÄ Â»]«" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "odveÄen argument %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "opozorilo: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "opozorilo: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "opozorilo: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Uporaba: %s [IZBIRA] TRAJANJE UKAZ [ARGUMENT]...\n" " ali: %s [IZBIRA]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Poženi UKAZ, in ga pobij, Äe po TRAJANJE sekund Å¡e teÄe.\n" "\n" "Obvezni argumenti, navedeni pri dolgi obliki izbire, veljajo tudi za " "kratko.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " kadar ukaza »timeout« je poganjamo interaktivi iz ukazne\n" " lupine, dovoli UKAZU, da s terminala bere in prejema\n" " signale. V tem naÄinu nasledniÅ¡ki procesi UKAZA po " "izteku\n" " ne bodo prekinjeni.\n" " -k, --kill-after=TRAJANJE\n" " Äe UKAZ po preteÄenem TRAJANJU od zaÄetnega signala\n" " Å¡e vedno teÄe, poÅ¡lji signal KILL.\n" " -s, --signal=SIGNAL\n" " doloÄimo signala, ki ga procesu poÅ¡ljemo ob izteku Äasa\n" " SIGNAL lahko podamo z imenom (npr. »HUP«) ali Å¡tevilko.\n" " Seznam signalov lahko izvemo z ukazom »kill -l«.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "TRAJANJE je realno Å¡tevilo z neobvezno pripono:\n" "»s« za sekunde (privzeto), »m« za minute, »h« za ure in »d« za dneve.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "ÄŒe se ukaz ob preteku Äasa Å¡e izvaja, se vrne izhodna statusna koda 124,\n" "sicer pa normalna izhodna statusna koda UKAZA. ÄŒe SIGNAL ni podan, se\n" "poÅ¡lje signal TERM. Signal TERM pobije vsak proces, ki ne blokira ali \n" "prestreže tega signala. Pri nekaterih procesih je morda treba uporabiti\n" "signal KILL (9), ki ga ni mogoÄe prestreÄi. Ob poslanem signalu KILL(9)\n" "izhodni status ni 124, ampak 128+9.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "opozorilo: pomnilniÅ¡kih izmetov ni mogoÄe onemogoÄiti" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "napaka pri Äakanju na ukaz" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "nadzorovani ukaz je izvrgel pomnilniÅ¡ko sliko" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "neveljavna oblika datuma %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "%s ni dosegljiv" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "nastavljanje Äasov %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "ÄŒas zadnjega dostopa in spremembe vsake DATOTEKE postavimo na trenutni Äas.\n" "\n" "ÄŒe DATOTEKA ne obstaja, se ustvari prazna datoteka, razen Äe sta podani\n" "izbiri -c ali -h.\n" "\n" "DATOTEKA, enaka »-«, se obravnava posebej in povzroÄi spremembo Äasov pri\n" "datoteki, povezani s standardnim izhodom.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a spremeni samo Äas zadnjega dostopa\n" " -c, --no-create brez ustvarjanja novih datotek\n" " -d, --date=NIZ razÄleni NIZ in uporabi ta Äas namesto trenutnega\n" " -f (se ne upoÅ¡teva)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference deluje na simbolne povezave, ne na ciljne datoteke\n" " (uporabno samo na sistemih, ki dovoljujejo " "spremembo\n" " lastniÅ¡tva simbolne povezave)\n" " -m spremeni samo Äas zadnje spremembe\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=DATOTEKA uporabi Äas podane DATOTEKE namesto trenutnega\n" " -t ŽIG uporabi [[CC]YY]MMDDhhmm[.ss] namesto trenutnega " "Äasa\n" " --time=BESEDA nastavimo Äas, podan z BESEDO: \n" " Äas dostopa: access, atime, use (isto kot -a)\n" " Äas spremembe: mtime, modify (isto kot -m)\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Bodite pozorni na to, da izbiri -d in -t sprejemata razliÄna zapisa datuma\n" "in Äasa.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "hkrati lahko navedemo samo en vir" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "opozorilo: »touch %s« je opuÅ¡Äeno; uporabite »touch -t %04ld%02d%02d%02d%02d." "%02d«" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Uporaba: %s [IZBIRA]... MNOŽICA1 [MNOŽICA2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Prevedemo, stisnemo ali pobriÅ¡emo znake iz toka podatkov na standardnem \n" "vhodu ter rezultat piÅ¡emo na standardni izhod.\n" "\n" " -c, -C, --complement komplement MNOŽICE 1.\n" " -d, --delete pobriÅ¡emo znake, navedene v MNOŽICI 1.\n" " -s, --squeeze-repeats sosledje enakih znakov, navedeno v MNOŽICI 1,\n" " nadomestimo z enim samim znakom\n" " -t, --truncate-set1 MNOŽICO 1 najprej skrÄimo na velikost MNOŽICE 2.\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "MNOŽICE doloÄajo nizi znakov. VeÄinoma predstavljajo sebe, posebej pa se\n" "tolmaÄijo naslednja zaporedja:\n" "\n" " \\\\NNN znak z osmiÅ¡ko kodo NNN (dolžina 1, 2 ali 3 osmiÅ¡ke " "Å¡tevke)\n" " \\\\\\\\ obratna poÅ¡evnica\n" " \\\\a zvonÄek\n" " \\\\b pomik za en znak v levo\n" " \\\\f skok na novo stran\n" " \\\\n skok v novo vrstico\n" " \\\\r pomik na levi rob\n" " \\\\t vodoravni tabulator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\\\v navpiÄni tabulator\n" " ZNAK1-ZNAK2 naraÅ¡ÄajoÄe zaporedje znakov od ZNAKA1 do ZNAKA2\n" " [ZNAK1-ZNAK2] isto kot ZNAK1-ZNAK2, Äe to uporabljata obe množici\n" " [ZNAK*] v MNOŽICI 2; toliko ponovitev ZNAKA kot v MNOŽICI 1\n" " [ZNAK*N] N ponovitev znaka; osmiÅ¡ka vrednost, Äe se N zaÄne z " "niÄlo\n" " [:alnum:] vse Ärke in Å¡tevke\n" " [:alpha:] vse Ärke\n" " [:blank:] vsi vodoravni prazni znaki\n" " [:cntrl:] vsi krmilni znaki\n" " [:digit:] vse Å¡tevke\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] vsi izpisljivi znaki razen presledka\n" " [:lower:] vse male Ärke\n" " [:print:] vsi izpisljivi znaki s presledkom vred\n" " [:punct:] vsa loÄila\n" " [:space:] vsi prazni znaki, vodoravni in navpiÄni\n" " [:upper:] vse velike Ärke\n" " [:xdigit:] vse Å¡estnajstiÅ¡ke Å¡tevke\n" " [=ZNAK=] vsi znaki, ki so enakovredni navedenemu ZNAKU\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "ÄŒe izbira -d ni podana in sta navedeni tako MNOŽICA1 kot MNOŽICA2, se " "izvede\n" "prevedba. Izbira -t se sme uporabiti samo ob prevedbi. ÄŒe je MNOŽICA 2 " "krajÅ¡a\n" "od MNOŽICE 1, se privzame ponovitev zadnjega znaka v MNOŽICI 2 do dolžine\n" "MNOŽICE 1. Znaki, ki v MNOŽICI 2 segajo prek dolžine MNOŽICE 1, se ne \n" "upoÅ¡tevajo. Edino razreda [:lower:] in [:upper:] se zajamÄeno razÅ¡irita v\n" "naraÅ¡ÄajoÄem vrstnem redu. ÄŒe je kateri od njiju naveden v MNOŽICI 2, ju \n" "lahko uporabimo le za pretvorbo med velikimi in malimi Ärkami. Izbira -s\n" "uporablja MNOŽICO 1, kadar ne prevajamo ali briÅ¡emo, sicer pa stiskanje \n" "uporablja MNOŽICO 2 in se izvede po prevajanju in brisanju.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "opozorilo: dvoumno osmiÅ¡ko ubežno zaporedje \\%c%c%c \n" "\ttolmaÄimo kot dvobajtno zaporedje \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "opozorilo: nezavarovana obratna poÅ¡evnica na koncu niza ni prenosljiva" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "meji razpona »%s-%s« nista navedeni v naraÅ¡ÄajoÄem abecednem redu" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "neveljavno Å¡tevilo ponavljanj %s v konstruktu [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "manjkajoÄe ime razreda znakov »[::]«" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "manjkajoÄ znak za ekvivalenco razredov »[==]«" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "neveljavni razred znakov %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: operand ekvivalentnih razredov sme biti en sam znak" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "neporavnana konstrukta [:upper:] in/ali [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "preveÄ znakov v množici" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "Äe je pri prevedbi niz 1 daljÅ¡i od niza 2,\n" "se slednji ne sme zakljuÄiti z znakovnim razredom" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "konstrukt ponovitev znaka [c*] se ne sme pojaviti v nizu 1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "kveÄjemu en konstrukt ponovitev znaka [c*] se sme pojaviti v nizu 2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "izrazi [=c=] se pri prevedbi ne smejo pojavljati v nizu 2" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "edina razreda znakov, ki se smeta pri prevedbi pojaviti v nizu 2,\n" "sta »upper« in »lower«" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "kadar ne krajÅ¡amo niza 1, mora biti niz 2 neprazen" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "pri prevedbi s komplementi znakovnih razredov mora\n" "niz 2 preslikati vse znake iz domene v enega" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "konstrukt [c*] se sme pojaviti v nizu 2 le pri prevedbi" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Ob hkratnem veÄkratnem brisanju in stiskanju morata biti podana dva niza." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Pri prevedbi morata biti podana dva niza." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "Kadar briÅ¡emo brez veÄkratnega stiskanja, sme biti podan samo en niz." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [neupoÅ¡tevani argumenti ukazne vrstice]\n" " ali: %s IZBIRA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "ZakljuÄi s statusno kodo, ki kaže uspeh." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "ZakljuÄi s statusno kodo, ki kaže neuspeh." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Uporaba: %s IZBIRA... DATOTEKA...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "ZmanjÅ¡aj ali poveÄaj VELIKOST DATOTEKE do navedene vrednosti.\n" "\n" "ÄŒe DATOTEKA ne obstaja, se ustvari.\n" "\n" "ÄŒe je VELIKOST DATOTEKE veÄja od navedene, so dodatni podatki izgubljeni.\n" "ÄŒe je VELIKOST DATOTEKE manjÅ¡a od navedene, se podaljÅ¡a tako, da se do\n" "predpisane dolžine dopolni z znaki \\0.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create ne ustvari nobene datoteke\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks obravnavaj VELIKOST podano v V/I blokih, ne v " "bajtih\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=DATOTEKA uporabi velikost navedene DATOTEKE\n" " -s, --size=VELIKOST nastavi ali spremeni datoteko na navedeno VELIKOST\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "VELIKOST ima lahko predpono, ki je lahko eden od naslednjih modifikatorjev:\n" "»+«: poveÄaj za, »-«: zmanjÅ¡aj za, »<«: najveÄ toliko, »>«: najmanj toliko,\n" "»/« zaokroži navzdol na veÄkratnik od, »%« zaokroži navzgor na veÄkratnik " "od.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "prekoraÄitev obsega pri dolžini %<PRIdMAX>×%<PRIdMAX> bajtov datoteke %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s ima neuporabno, navidezno negativno velikost" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "ni mogoÄe prebrati velikosti %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "prekoraÄitev obsega pri zaokrožitvi navzgor velikosti datoteke %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "prekoraÄitev obsega pri poveÄevanju dolžine datoteke %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "ni mogoÄe odrezati datoteke %s pri dolžini %<PRIdMAX> bajtov" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "podanih je veÄ relativnih modifikatorjev" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "navesti morate bodisi %s bodisi %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "navesti morate relativni %s z %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s je bil doloÄen, %s pa ne" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s ni mogoÄe odpreti za pisanje" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uporaba: %s [IZBIRA] [DATOTEKA]\n" "ZapiÅ¡emo povsem urejen seznam, usklajen z delno ureditvijo v DATOTEKI.\n" "ÄŒe DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: liho Å¡tevilo vnosov na vhodu" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: zanka na vhodu:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "IzpiÅ¡emo ime enote terminala, s katere beremo standardni vhod.\n" "\n" " -s, --silent, --quiet niÄesar ne izpiÅ¡i, samo vrni izhodni status\n" #: src/tty.c:120 msgid "not a tty" msgstr "ni terminal" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "IzpiÅ¡emo razliÄne sistemske podatke. Brez IZBIRE je isto kot -s.\n" "\n" " -a, --all izpiÅ¡i vse podatke v naslednjem vrstnem redu;\n" " z izjemo -p in -i, Äe nista znana\n" " -r, --kernel-name izpiÅ¡i ime jedra operacijskega sistema\n" " -n, --nodename izpiÅ¡i omrežno ime raÄunalnika\n" " -r, --kernel-release izpiÅ¡i izdajo jedra operacijskega sistema\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version izpiÅ¡i razliÄico jedra operacijskega sistema\n" " -m, --machine izpiÅ¡i podatke o strojni opremi\n" " -p, --processor izpiÅ¡i vrsto procesorja ali »unknown«\n" " -i, --hardware-platform izpiÅ¡i podatke o strojnem okolju ali »unknown«\n" " -o, --operating-system izpiÅ¡i ime operacijskega sistema\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "IzpiÅ¡i arhitekturo sistema.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "ime sistema ni ugotovljivo" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Presledke v vsaki DATOTEKI nadomestimo s tabulatorji in rezultat zapiÅ¡emo " "na\n" "standardni izhod. ÄŒe DATOTEKA ni podana ali je enaka -, beremo s " "standardnega\n" "vhoda.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all pretvorimo vse prazne prostore, ne le vodilnih\n" " --first-only navzlic izbiri -a pretvorimo samo vodilne presledke\n" " -t, --tabs=Å TEVILO tabulatorji naj bodo Å TEVILO znakov narazen namesto\n" " privzetih 8 (omogoÄi -a)\n" " -t, --tabs=SEZNAM z vejicami loÄen seznam eksplicitnih položajev " "tabulatorja\n" " (omogoÄi -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "razmik med tabulatorji je prevelik" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "vrednost tabulatorja je prevelika" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Uporaba: %s [IZBIRA]... [VHOD [IZHOD]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtriraj soslednje ujemajoÄe se vrstice pri branju z VHODA (ali\n" "standardnega vhoda) in pisanju na IZHOD (ali standardni izhod).\n" "\n" "ÄŒe ni navedena nobena IZBIRA, se zaporedne enake vrstice nadomestijo z eno.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count na zaÄetku vsake vrstice izpiÅ¡emo tudi Å¡tevilo " "ponovitev\n" " -d, --repeated izpiÅ¡emo samo podvojene vrstice\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=RAZMEJITEV] izpiÅ¡i vse podvojene vrstice\n" " RAZMEJITEV={none (privzeto), prepend, separate}\n" " Posamezne izpise razmejujejo prazne vrstice.\n" " -f, --skip-fields=N pri primerjanju izpusti prvih N polj\n" " -i, --ignore-case male in velike Ärke obravnavaj enakovredno\n" " -s, --skip-chars=N pri primerjanju izpusti prvih N znakov\n" " -u, --unique izpiÅ¡i samo nepodvojene vrstice\n" " -z, --zero-terminated vrstice zakljuÄi z znakom NUL, ne LF\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N primerjamo prvih N znakov v vrstici\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Polje je zaporedje praznih znakov (navadno presledkov ali tabulatorjev), ki\n" "mu sledi zaporedje nepraznih znakov. Polja se preskoÄijo pred znaki.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Pomnite: »uniq« ne zazna ponovljenih vrstic, Äe te niso v sosledju.\n" "Vhod je treba najprej urediti, ali uporabiti »sort -u« brez »uniq«.\n" "Primerjava upoÅ¡teva lokalizirana pravila, navedena v »LC_COLLATE«.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "preveÄ ponovljenih vrstic" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "neveljavno Å¡tevilo preskoÄenih polj" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "neveljavno Å¡tevilo preskoÄenih bajtov" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "neveljavno Å¡tevilo primerjanih bajtov" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "izpis vseh podvojenih vrstic skupaj s Å¡tevilom ponovitev ni smiseln" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s DATOTEKA\n" " ali: %s IZBIRA\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Odstranitev navedene DATOTEKE s klicem funkcije unlink(2).\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "s klicem unlink ni mogoÄe odstraniti %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "Äas od zagona ni ugotovljiv" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "pokonci ???? dni ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "pokonci %ld dni %2d:%02d, " msgstr[1] "pokonci %ld dan %2d:%02d, " msgstr[2] "pokonci %ld dni %2d:%02d, " msgstr[3] "pokonci %ld dni %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "pokonci %ld dni %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu uporabnikov" msgstr[1] "%lu uporabnik" msgstr[2] "%lu uporabnika" msgstr[3] "%lu uporabniki" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", povpr. obremenitev %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "IzpiÅ¡e trenutni Äas, Äas, ki je pretekel od zagona raÄunalnika, Å¡tevilo\n" "trenutno prijavljenih uporabnikov in povpreÄno Å¡tevilo opravil v Äakalni\n" "vrsti v zadnji minuti, petih minutah in 15 minutah." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" "SpeÄi procesi, ki\n" "jih ni mogoÄe prekiniti, tudi prispevajo k prikazu obremenitve.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "ÄŒe DATOTEKA ni navedena, uporabimo %s. ObiÄajno je DATOTEKA %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Seznam trenutno prijavljenih uporabnikov zapiÅ¡emo na DATOTEKO.\n" "ÄŒe DATOTEKA ni navedena, uporabimo %s. ObiÄajno je DATOTEKA %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "IzpiÅ¡e Å¡tevilo bajtov, besed in vrstic v vsaki od podanih DATOTEK, ter\n" "skupne vrednosti, Äe je bila podana veÄ kot ena DATOTEKA. ÄŒe DATOTEKA ni \n" "podana ali je enaka -, se bere s standardnega vhoda. Beseda je definirana\n" "kot neprazno zaporedje znakov, razmejeno s presledki.\n" "\n" "S spodnjimi izbirami doloÄimo, kateri Å¡tevci bodo izpisani. Izpisani so\n" "vedno v istem vrstnem redu: nova vrstica, besede, znaki, bajti, dolžina\n" "najdaljÅ¡e vrstice.\n" " -c, --bytes izpis Å¡tevila bajtov\n" " -m, --chars izpis Å¡tevila znakov\n" " -l, --lines izpis Å¡tevila vrstic\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=DATOTEKA preberi imena datotek s seznama\n" " z \\0 zakljuÄenih imen v navedeni DATOTEKI;\n" " ÄŒe je DATOTEKA »-«, se bere standardni vhod.\n" " -L, --max-line-length izpiÅ¡i dolžino najdaljÅ¡e vrstice\n" " -w, --words izpiÅ¡i Å¡tevilo besed\n" #: src/who.c:210 msgid " old " msgstr " staro " #: src/who.c:440 msgid "system boot" msgstr "sistemski zagon" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" #: src/who.c:485 msgid "LOGIN" msgstr "PRIJAVA" #: src/who.c:505 msgid "clock change" msgstr "sprem. ure" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "run-level" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "last=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "Å t. up.=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "IME" #: src/who.c:559 msgid "LINE" msgstr "LINIJA" #: src/who.c:559 msgid "TIME" msgstr "ÄŒAS" #: src/who.c:559 msgid "IDLE" msgstr "NEAKT." #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "IZH." #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Uporaba: %s [IZBIRA]... [ DATOTEKA | ARGUMENT1 ARGUMENT2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Izpis podatkov o trenutno prijavljenih uporabnikih.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all isto kot -b -d --login -p -r -t -T -u\n" " -b, --boot Äas zadnjega zagona\n" " -d, --dead izpis mrtvih procesov\n" " -H, --heading izpiÅ¡i vrstico z legendo\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login izpiÅ¡i prijavne procese sistema\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup uporabi DNS za poizvedbo o kanoniÄnih imenih " "raÄunalnikov\n" " -m samo imena raÄunalnikov ter uporabnik, povezan s\n" " standardnim vhodom\n" " -p, --process izpiÅ¡emo aktivne procese, ki jih je zagnal init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count vsi uporabniki in Å¡tevilo vseh prijavljenih uporabnikov\n" " -r, --runlevel izpiÅ¡emo trenutni nivo teka sistema\n" " -s, --short izpiÅ¡emo le uporabniÅ¡ko ime, linijo in Äas prijave " "(privzeto)\n" " -t, --time izpiÅ¡emo zadnjo spremembo sistemske ure\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg navedi možnost poÅ¡iljanja sporoÄil kot +, - ali ?\n" " -u, --users seznam vseh prijavljenih uporabnikov\n" " --message isto kot -T\n" " --writable isto kot -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "ÄŒe DATOTEKA ni navedena, piÅ¡emo na %s. ObiÄajno je DATOTEKA %s.\n" "ÄŒe sta podana ARGUMENT1 in ARGUMENT2, uporabi -m; obiÄajno sta argumenta\n" "»am i« ali »mom likes«.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "IzpiÅ¡e ime uporabnika, povezanega s trenutno dejavno uporabniÅ¡ko " "identiteto.\n" "Isto kot »id -un«.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: uporabniÅ¡ko ime za UID %lu ni ugotovljivo\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [NIZ]...\n" " ali: %s IZBIRA\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Ponavljaje izpisujemo vrstico s podanim NIZOM (privzeto »y«).\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "z uporabo aritmetike enojne natanÄnosti" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "z uporabo aritmetike z poljubno natanÄnostjo" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "ustvarjanje datoteke %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Uporaba: %s [IZBIRA] IME...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: neveljavno dolžina pripone" #~ msgid "reading %s" #~ msgstr "beremo %s" #~ msgid "writing %s" #~ msgstr "zapisovanje %s" #~ msgid "closing %s" #~ msgstr "zapiramo %s" #~ msgid "accessing %s" #~ msgstr "dostopamo do %s" #~ msgid "opening %s" #~ msgstr "odpiramo %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system brez imenikov na ostalih datoteÄnih sistemih\n" #~ " -X --exclude-from=DATOTEKA brez datotek, ki jih pokrivajo vzorci, \n" #~ " podani v DATOTEKI\n" #~ " --exclude=VZOREC brez datotek, ki jih pokriva podani VZOREC\n" #~ " --max-depth=N skupni izpis samo za imenike (in datoteke pri\n" #~ " izbiri --all), ki so N ali manj ravni pod v " #~ "ukazni \n" #~ " lupini navedenim imenikom; --max-depth=0 je isto " #~ "kot\n" #~ " --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nikoli ne delamo varnostne kopije, niti z izbiro --" #~ "backup\n" #~ " numbered, t oÅ¡tevilÄene varnostne kopije\n" #~ " existing, nil oÅ¡tevilÄene varnostne kopije, Äe take že obstajajo,\n" #~ " sicer enostavne\n" #~ " simple, never vedno enostavne varnostne kopije\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "OPOZORILO: izbira --page-increment je opuÅ¡Äena; namesto nje uporabite --" #~ "line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Vsi argumenti pri dolgi obliki izbire so obvezni tudi pri kratki.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "OSNOVA je lahko d (desetiÅ¡ka), o (osmiÅ¡ka), x (Å¡estnajstiÅ¡ka) ali n " #~ "(nobena).\n" #~ "ÄŒe ima Å TEVILO predpono 0x ali 0X, se tolmaÄi kot Å¡estnajstiÅ¡ka " #~ "vrednost.\n" #~ "Množiteljske pripone: b pomeni množenje s 512, kB 1000, K 1024, MB " #~ "1000×1000,\n" #~ "M 1024×1024, GB 1000×1000×1000, G 1024×1024×1024 itn. za T, P, E, Z in " #~ "Y.\n" #~ "Pripona z pri kateremkoli tipu doda prikaz izpisljivih znakov na koncu " #~ "vsake\n" #~ "vrstice.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Izbira --string brez argumenta privzame vrednost 3. Izbira --width brez\n" #~ "argumenta privzame vrednost 32. Privzete vrednosti, ki jih uporablja " #~ "»od«,\n" #~ "so: -A o -t oS -w 16.\n" # ! INEXACT #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uporaba: %s [IZBIRA]... DATOTEKA\n" #~ msgid "Password:" #~ msgstr "Geslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ni mogoÄe odpreti /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nastavitev skupin ni mogoÄa" #~ msgid "cannot set group id" #~ msgstr "nastavitev GID ni mogoÄa" #~ msgid "cannot set user id" #~ msgstr "nastavitev UID ni mogoÄa" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [-] [UPORABNIK [ARGUMENT]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Aktivno uporabniÅ¡ko in skupinsko identiteto spremenimo na identiteto\n" #~ "navedenega UPORABNIKA.\n" #~ "\n" #~ " -, -l, --login naj bo ukazna lupina prijavna lupina\n" #~ " -c, --command=UKAZ ukazni lupini podamo en sam navedeni UKAZ " #~ "s -c\n" #~ " -f, --fast ukazni lupini podamo izbiro -f (samo csh " #~ "in tcsh)\n" #~ " -m, --preserve-environment brez spreminjanja nastavitev okolja\n" #~ " -p isto kot -m\n" #~ " -s, --shell=LUPINA poženemo navedeno LUPINO (Äe jo /etc/" #~ "shells dovoli)\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Minus - brez Äesarkoli pomeni isto kot -l. ÄŒe UPORABNIK ni naveden, se\n" #~ "privzame naduporabnik.\n" #~ msgid "user %s does not exist" #~ msgstr "uporabnik %s ne obstaja" #~ msgid "incorrect password" #~ msgstr "napaÄno geslo" #~ msgid "using restricted shell %s" #~ msgstr "z omejeno ukazno lupino %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "opozorilo: imenik %s ni dosegljiv" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Zgleda:\n" #~ " %s /usr/bin/sort Izhod: »sort«.\n" #~ " %s include/stdio.h .h Izhod: »stdin«.\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s IME\n" #~ " ali: %s IZBIRA\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "izbira --relative-base zahteva izbiro --relative-to" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Vsem DATOTEKAM spremenimo Älanstvo v navedeno SKUPINO.\n" #~ "Z izbiro --reference spremenimo vsem DATOTEKAM skupino v isto skupino,\n" #~ "kot jo ima ZGLED.\n" #~ "\n" #~ " -c, --changes kot »verbose«, a samo ob spremembah\n" #~ " --deferefence deluje na ciljne datoteke (privzeto), ne na \n" #~ " simbolne povezave\n" #~ " \n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet brez veÄine opozoril o napakah\n" #~ " --reference=ZGLED namesto izrecno navedene SKUPINE jo nastavi \n" #~ " enako, kot jo ima ZGLED\n" #~ " -R, --recursive rekurzivno obdelaj imenike in datoteke\n" #~ " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Spremenimo ZAÅ ÄŒITO za DATOTEKO.\n" #~ "\n" #~ " -c, --changes kot »verbose«, a samo ob izvedenih spremembah\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet brez veÄine opozoril o napakah\n" #~ " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #~ " --reference=ZGLED namesto, da izrecno navedemo ZAÅ ÄŒITO, to " #~ "nastavi\n" #~ " enako, kot jo ima ZGLED\n" #~ " -R, --recursive rekurzivno obdelaj imenike in datoteke\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Spremeni LASTNIKA in/ali SKUPINO vsake navedene DATOTEKE na podani " #~ "vrednosti.\n" #~ "Pri podani izbiri --reference spremeni lastnika in/ali skupino na " #~ "vrednosti,\n" #~ "kot jih ima datoteka ZGLED.\n" #~ "\n" #~ " -c, --changes informativna obvestila ob spremembah\n" #~ " --dereference deluje na ciljne datoteke simbolnih povezav\n" #~ " (privzeto), ne pa na same simbolne povezave\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet brez veÄine obvestil o napakah\n" #~ " --reference=ZGLED lastnika/skupino spremenimo na vrednost, kot " #~ "jo\n" #~ " ima ZGLED, namesto da podamo par LASTNIK:" #~ "SKUPINA\n" #~ " -R, --recursive rekurzivno obdelamo imenike in datoteke\n" #~ " -v, --verbose z izpisom diagnostike ob vsaki obdelani " #~ "datoteki\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "IzpiÅ¡emo trenutni Äas v podani OBLIKI, ali pa nastavimo sistemski Äas.\n" #~ "\n" #~ " -d, --date=NIZ izpiÅ¡i Äas podan v NIZU namesto trenutnega\n" #~ " -f, --file=DATOTEKA enako kot --date za vsako vrstico v DATOTEKI\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "ENOTA je lahko ena od naslednjih oznak (ali pa celo Å¡tevilo, ki mu lahko\n" #~ "sledi ena od naslednjih oznak): KB 1000, K 1024, MB 1000×1000, M " #~ "1024×1024 in \n" #~ "tako dalje za G, T, P, E, Z in Y.\n" #~ msgid "cannot create link %s" #~ msgstr "ni mogoÄe ustvariti povezave %s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "OPOZORILO: izbira --preserve_context je opuÅ¡Äena; namesto nje uporabite --" #~ "preserve-context" #~ msgid "truncating %s" #~ msgstr "prirezovanje %s" #~ msgid "invalid number of lines: 0" #~ msgstr "neveljavno Å¡tevilo vrstic: 0" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=Å IRINA Vrstice prelomi tako, da so Å¡iroke najveÄ Å IRINA " #~ "znakov\n" #~ " (privzeto 76). Vrednost Å IRINA=0 onemogoÄi " #~ "prelom.\n" #~ "\n" #~ " -d, --decode Dekodiraj podatke.\n" #~ " -i, --ignore-garbage Pri dekodiranju ne upoÅ¡tevaj nealfanumeriÄnih " #~ "znakov.\n" #~ "\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "invalid format precision" #~ msgstr "neveljavna natanÄnost oblike" #~ msgid "creating symbolic link %s" #~ msgstr "ustvarjamo simbolno povezavo %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "ustvarjamo simbolno povezavo %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "ustvarjamo trdo povezavo %s" #~ msgid "creating hard link %s => %s" #~ msgstr "ustvarjamo trdo povezavo %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "odveÄni operand %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "pri enotah so navedene tako predpone SI kot IEC" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "izbira --context (-Z) je opuÅ¡Äena in bo v prihodnjih izdajah umaknjena" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA] Å TEVILO[PRIPONA] UKAZ [ARGUMENT]...\n" #~ " ali: %s [IZBIRA\n" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "opozorilo: izbira --%s je opuÅ¡Äena; uporabite --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Izbiri -r in -s se medsebojno izkljuÄujeta.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nedovoljena izbira -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "neveljavni argument: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Ta navodila\n" #~ " --version RazliÄica programa\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Z izbiro --follow (-f) tail privzeto sledi deskriptorju datoteke, kar " #~ "pomeni,\n" #~ "da konec datoteke sledimo tudi, Äe je ta vmes preimenovana. " #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "PoroÄila o napakah %s javite na <%s>.\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "Spletna stran %s: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "SploÅ¡na pomoÄ za rabo programja GNU: <http://www.gnu.org/gethelp/>.\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "izbira --megabytes je odsvetovana; namesto nje uporabite -m" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "ÄŒe je veljavna izbira -e, pri izpisu prepoznamo in tolmaÄimo naslednja\n" #~ "ubežna zaporedja:\n" #~ "\n" #~ " \\ONNN znak s kodo NNN (osmiÅ¡ko) v trenutnem kodnem naboru\n" #~ " \\\\ obrnjena poÅ¡evnica\n" #~ " \\a zvonÄek (BEL)\n" #~ " \\b pomik za znak nazaj\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory ustvari imenik, ne datoteke\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet brez poroÄila o neuspelem ustvarjanju datoteke/" #~ "imenika\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr " -u, --dry-run ne ustvari niÄesar, le izpiÅ¡e ime (ni varno)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p IMENIK uporabi IMENIK kot predpono; implicira -t " #~ "(odsvetovano)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a zvonÄek (BEL)\n" #~ " \\b pomik za znak nazaj\n" #~ " \\c ne izpisuj niÄesar veÄ\n" #~ " \\f skok na novo stran\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n skok v novo vrstico\n" #~ " \\r vrnitev na zaÄetek vrstice\n" #~ " \\t horizontalni tabulator\n" #~ " \\v vertikalni tabulator\n" #~ msgid "path truncated when looking for %s" #~ msgstr "pot porezana pri iskanju %s" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Privzeto se barve ne uporabljajo za oznaÄevanje vrste datoteke. To je\n" #~ "enakovredno izbiri --color=none. Izbira --color brez argumenta KDAJ je\n" #~ "enakovredna --color=always. Pri izbiri --color=auto se barve uporabijo " #~ "samo,\n" #~ "kadar je standardni izhod terminal (tty). Na rabo barv vpliva lupinska\n" #~ "spremenljivka LS_COLORS, ki jo lahko nastavljamo z ukazom »dircolors«.\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "USODNA NAPAKA: zapiranje imenika %s ni uspelo" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "USODNA NAPAKA: ni mogoÄe odpreti .. iz %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "USODNA NAPAKA: ni mogoÄe zagotoviti varnosti %s (vrnjeno prek ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "USODNA NAPAKA: imenik %s ima spremenjen dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "USODNA NAPAKA: imenika %s ni mogoÄe doseÄi" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "USODNA NAPAKA: imenik %s, ki smo ga ravno zaÄeli obdelovati, je spremenil " #~ "dev/ino" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "USODNA NAPAKA: iz imenika %s ni dosegljiv imenik .." #~ msgid "cannot remove %s directory %s" #~ msgstr "%s imenika %s ni mogoÄe odstraniti" #~ msgid "cannot remove root directory %s" #~ msgstr "korenskega imenika %s ni mogoÄe odstraniti" #~ msgid "cannot remove relative-named %s" #~ msgstr "relativno poimenovanega %s ni mogoÄe odstraniti" #~ msgid "cannot restore current working directory" #~ msgstr "trenutnega imenika ni mogoÄe povrniti" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: opozorilo: trda povezava na simbolno povezavo ni prenosljiva" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko množiteljsko pripono:\n" #~ "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" #~ "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #~ msgid "" #~ "\n" #~ "SIZE is a number which may be followed by one of the following suffixes:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST je Å¡tevilo, ki mu lahko sledi ena od naslednjih oznak: \n" #~ "KB 1000, K 1024, MB 1000×1000, M 1024×1024 in tako dalje za G, T, P, E, Z " #~ "in Y.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Sosledje enakih vrstic na VHODU (ali standardnem vhodu) nadomestimo z " #~ "eno\n" #~ "samo in rezultat zapiÅ¡emo na IZHOD (standardni izhod).\n" #~ "\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uporaba: %s [IZBIRA] [DATOTEKA]...\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference ne sledimo simbolnim povezavam v VIRU\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Varnostna kopija ima pripono »~«, razen Äe ni z izbiro --suffix ali\n" #~ "spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugaÄe. Vrsto varnostnih\n" #~ "kopij lahko nastavimo z izbiro --backup ali spremenljivko\n" #~ "VERSION_CONTROL. Možnosti so:\n" #~ "\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "izbira --reply je odsvetovana; namesto nje uporabite -i ali -f" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "OPOZORILO: uporabljajte --si, ne -H; pomen izbire -H se bo kmalu " #~ "spremenil\n" #~ "in postal sopomenka za --dereference-args (-D)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uporaba: %s [IZBIRA]... [NIZ]...\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Vsa podana Å TEVILA razstavimo na prafaktorje in slednje izpiÅ¡emo.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "izpis varnostnega konteksta ni mogoÄ, Äe ni omogoÄen SELinux ali ob\n" #~ "izpisu ID za drugega uporabnika" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Izhodni status je enak 0, Äe je vse v redu; 1, Äe je priÅ¡lo do manjÅ¡ih " #~ "težav;\n" #~ "2, Äe je priÅ¡lo do veÄjih težav.\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uporaba: %s [IZBIRA] IMENIK...\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" width?%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SNIZ, --sep-string[=NIZ]\n" #~ msgid "no %% directive in format string %s" #~ msgstr "manjkajoÄe doloÄilo pretvorbe %% v oblikovnem nizu %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "preveÄ doloÄil pretvorbe %% v oblikovnem nizu %s" #~ msgid "invalid format string: %s" #~ msgstr "neveljavno oblikovno doloÄilo: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uporaba: %s [IZBIRE]... DATOTEKA [...]\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort primerjaj po sploÅ¡ni Å¡tevilski vrednosti\n" #~ " -i, --ignore-nonprinting v kljuÄih upoÅ¡tevaj samo izpisljive znake\n" #~ " -M, --month-sort kljuÄe uredi: (neznano) < »jan« < ... < " #~ "»dec«\n" #~ " -n, --numeric-sort primerjaj po Å¡tevilski vrednosti nizov\n" #~ " -R, --random-sort uredi po nakljuÄnem kljuÄu\n" #~ " --random-source=DATOTEKA beri nakljuÄne bajte iz DATOTEKE\n" #~ " (privzeto /dev/urandom)\n" #~ " --sort=BESEDA uredi glede na BESEDO: sploÅ¡no-Å¡tevilÄno -" #~ "g,\n" #~ " mesec -M, Å¡tevilÄno -n, nakljuÄno -R\n" #~ " -r, --reverse izpis v obrnjenem vrstnem redu\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "zaÄasne datoteke ni mogoÄe ustvariti" #~ msgid "couldn't open temporary file" #~ msgstr "zaÄasne datoteke ni mogoÄe odpreti" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uporaba: %s [IZBIRA] DATOTEKA...\n" #~ msgid "new_mode: mode\n" #~ msgstr "nov_naÄin: naÄin\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry datoteko poskuÅ¡aj odpreti, Äetudi ni dostopna " #~ "v\n" #~ " trenutku, ko poženemo tail ali pa postane\n" #~ " nedostopna kasneje -- uporabno skupaj s " #~ "sledenjem\n" #~ " imena (izbira --follow-name)\n" #~ " -c, --bytes=N izpiÅ¡i zadnjih N bajtov datoteke; uporabite +N " #~ "za\n" #~ " izpis bajtov od N-tega dalje v vsaki " #~ "datoteki\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "ÄŒe izbira -d ni podana in sta navedeni tako MNOŽICA1 kot MNOŽICA2, se " #~ "privzame\n" #~ "prevedba. Izbira -t se sme uporabiti samo ob prevedbi. ÄŒe je MNOŽICA 2 " #~ "krajÅ¡a\n" #~ "od MNOŽICE 1, se privzame ponovitev zadnjega znaka v MNOŽICI 2 do " #~ "dolžine\n" #~ "MNOŽICE 1. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Znaki, ki v MNOŽICI 2 segajo prek dolžine MNOŽICE 1, se ne upoÅ¡tevajo.\n" #~ "Edino razreda [:lower:] in [:upper:] se zajamÄeno razÅ¡irita v " #~ "naraÅ¡ÄajoÄem\n" #~ "vrstnem redu. ÄŒe je kateri od njiju naveden v MNOŽICI 2, ju lahko " #~ "uporabimo\n" #~ "le za pretvorbo med velikimi in malimi Ärkami. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Izbira -s uporablja MNOŽICO 1,\n" #~ "kadar ne prevajamo ali briÅ¡emo, sicer pa stiskanje uporablja MNOŽICO 2 in " #~ "se\n" #~ "izvede po prevajanju in brisanju.\n" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s v teku " #~ msgid "am" #~ msgstr "A.M." #~ msgid "pm" #~ msgstr "P.M." #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dni" #~ msgstr[1] "%ld dan" #~ msgstr[2] "%ld dneva" #~ msgstr[3] "%ld dnevi" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [ DATOTEKA ]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "neprepoznan operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " najprej imeniki, zatem datoteke\n" #~ msgid "block size" #~ msgstr "velikost bloka" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ta program je prosta programska oprema; lahko ga redistribuirate in/ali\n" #~ "spreminjate po pogojih, doloÄenih v »GNU General Public License«, \n" #~ "<http://www.gnu.org/licenses/gpl.html>. Za izdelek ni NOBENEGA JAMSTVA, " #~ "do\n" #~ "z zakonom dovoljene meje.\n" #~ msgid "invalid %s `%s'" #~ msgstr "neveljaven %s »%s«" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neveljaven znak sledi %s v »%s«" #~ msgid "%s `%s' too large" #~ msgstr "%s »%s« je preveliko" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "izbira --kilobytes je odsvetovana; namesto nje uporabite -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko pripono b za množenje s 512, k za 1024 ali m za " #~ "1024×1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "izbiri »le uporabnik« in »le skupina« se izkljuÄujeta" #~ msgid "cannot get supplemental group list" #~ msgstr "dodaten seznam skupin ni na voljo" #~ msgid "skip argument" #~ msgstr "preskoÄi argument" #~ msgid "limit argument" #~ msgstr "omeji argument" #~ msgid "minimum string length" #~ msgstr "najmanjÅ¡a dolžina niza" #~ msgid "width specification" #~ msgstr "doloÄilo Å¡irine" #~ msgid "page range" #~ msgstr "razpon strani" #~ msgid "sort size" #~ msgstr "velikost urejanja" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko pripono b za množenje s 512, k za 1024 ali m za " #~ "1048576.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "ÄŒas zadnjega dostopa in spremembe DATOTEKE postavimo na trenutni Äas.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Opozorilo: izbira -i bo v prihodnjih izdajah ukinjena; uporabite -u" #~ msgid "strip failed" #~ msgstr "»strip« ni uspel" #~ msgid "value %s is so large that it is not representable" #~ msgstr "vrednost %s je tolikÅ¡na, da ni strojno predstavljiva" # ! INEXACT #~ msgid "cannot change owner and/or group of %s" #~ msgstr "lastnika in/ali skupine %s ni mogoÄe spremeniti" #~ msgid "cannot chdir to directory %s" #~ msgstr "dostop do imenika %s ni mogoÄ" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "imena skupine, ki pripada Å¡tevilÄnemu UID, ni mogoÄe ugotoviti" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "ni mogoÄe pisati prek imenika %s" #~ msgid "symbolic links are not supported on this system" #~ msgstr "ta sistem ne podpira simbolnih povezav" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "opozorilo: neprenosljiv osnovni regularni izraz: %s : uporaba »^« kot\n" #~ "prvega znaka v osnovnem regularnem izrazu ni prenosljiva, ignorirano" #~ msgid "unrecognized option `-%c'" #~ msgstr "neprepoznana izbira »-%c«" #~ msgid "cannot return to working directory" #~ msgstr "vrnitev v delovni imenik ni mogoÄa" #~ msgid "cannot return to current directory" #~ msgstr "vrnitev v trenutni imenik ni mogoÄa" #~ msgid "create symbolic link %s to %s" #~ msgstr "simbolna povezava %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "trda povezava %s na %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "ni mogoÄe spremeniti dovoljenj za imenik %s" #~ msgid "fifo files not supported" #~ msgstr "datoteke FIFO niso podprte" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "ni mogoÄe spremeniti dovoljenj za FIFO %s" #~ msgid "cannot set permissions of %s" #~ msgstr "ni mogoÄe nastaviti dovoljenj za %s" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Ta program je prosta programska oprema; lahko ga redistribuirate in/ali\n" #~ "spreminjate po pogojih, doloÄenih v »GNU General Public License«, izdani\n" #~ "pri Free Software Foundation; 2. izdaja (ali novejÅ¡a, Äe razpolagate z " #~ "njo).\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Ta program se razÅ¡irja v upanju, da je koristen, vendar BREZ " #~ "KAKRÅ NEGAKOLI\n" #~ "JAMSTVA, niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO. " #~ "Za\n" #~ "podrobnosti si oglejte »GNU General Public License«.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Izvod »GNU General Public License« bi moral biti priložen temu programu;\n" #~ "Äe ni, piÅ¡ite Free Software Foundation, Inc., 51 Franklin Street, Fifth\n" #~ "Floor, Boston, MA 02110-1301, ZDA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "sprememba imenika iz %s v .. ni mogoÄa" #~ msgid "cannot lstat `.' in %s" #~ msgstr "klic lstat trenutnega imenika v %s ni mogoÄ" #~ msgid "cannot lstat %s" #~ msgstr "statusa %s ni moÄ ugotoviti z lstat" #~ msgid "cannot chdir from %s to %s" #~ msgstr "premik iz imenika %s v %s ni mogoÄ" #~ msgid "cannot remove `.' or `..'" #~ msgstr "ni mogoÄe odstraniti imenikov ».« ali »..«" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Odstranimo navedene DATOTEKE.\n" #~ "\n" #~ " -d, --directory brisanje imenikov, vkljuÄno s polnimi (samo super-" #~ "user)\n" #~ " -f, --force brez opozoril o neobstojeÄih datotekah, brez " #~ "vpraÅ¡anj\n" #~ " -i, --interactive zahtevamo potrditev pred vsakim brisanjem\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Izpis statusa datoteke ali datoteÄnega sistema.\n" #~ "\n" #~ " -f, --file-system izpis statusa datoteÄnega sistema, ne statusa " #~ "datoteke\n" #~ " -c, --format=OBLIKA namesto privzete uporabi podano OBLIKO\n" #~ " -L, --dereference s sledenjem povezav\n" #~ " -t, --terse izpis podatkov v zgoÅ¡Äeni obliki\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Opozorilo: izbira »-l« je odsvetovana; uporabite »-L«" #~ msgid "the --allow-missing option is deprecated; use --retry instead" #~ msgstr "" #~ "izbira --allow-missing je odsvetovana; namesto nje uporabite --retry" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle dodaj Äas neaktivnosti z v obliki URE:MINUTE, . ali " #~ "star\n" #~ " (opuÅ¡Äena oblika; uporabite -u)\n" #~ " -l, --login izpis sistemskih prijavnih procesov\n" #~ " (enakovredno SUS -l)\n" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: povrnitev delovnega imenika ni mogoÄa" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "To je prost program; pogoji, pod katerimi ga lahko razmnožujete in\n" #~ "razÅ¡irjate so navedeni v izvorni kodi. Za program ni NOBENEGA jamstva,\n" #~ "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO.\n" #~ msgid "closing standard output" #~ msgstr "zapiramo standardni izhod" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "ZAÅ ÄŒITA je ena ali veÄ Ärk iz »ugoa«, eden od znakov +-= in\n" #~ "ena ali veÄ Ärk iz »rwxXstugo«.\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "opozorilo: --version-control (-V) je zastarela oblika izbire, ki bo v\n" #~ "eni od naslednjih izdaj odpravljena. Uporabljajte --backup=%s." #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z zapis Äasovnega pasu skladno z RFC-2822 (-0500) (nestandardna " #~ "razÅ¡iritev)\n" #~ " %Z Äasovni pas (npr. CET); prazno, Äe Äasovni pas ni doloÄen\n" #~ "\n" #~ "Privzeto so Å¡tevilÄna polja v datumu do polne dolžine polja dopolnjena\n" #~ "z niÄlami. GNU date pozna Å¡e naslednji doloÄili med znakom »%%« in\n" #~ "numeriÄnim doloÄilom:\n" #~ "\n" #~ " »-« (minus) ne dopolnjuj polja\n" #~ " »_« (podÄrtaj) dopolni polje s presledki\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "pri izbiri --rfc-822 (-R) ni dovoljeno podati oblikovnega niza" #~ msgid "undefined" #~ msgstr "nedoloÄeno" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s zapisov na vhodu\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s zapisov na izhodu\n" # ! INEXACT #~ msgid "truncated records" #~ msgstr "odrezani zapisi" #~ msgid "file offset out of range" #~ msgstr "odmik izven obmoÄja" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "»-LIST« je opuÅ¡Äena oblika; uporabite »-t LIST«" #~ msgid "`%s' is too large" #~ msgstr "»%s« je preveliko" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [morebitni argumeni v ukazni vrstici se ne upoÅ¡tevajo]\n" #~ " ali: %s IZBIRA\n" #~ "KonÄamo z izhodno kodo, ki signalizira napako.\n" #~ "\n" #~ "Navedeni izbiri nimata kratke oblike.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "»%s« je opuÅ¡Äena oblika; uporabite »%s«" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: Å¡tevilo bajtov je preveliko" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "»-%s« je opuÅ¡Äena oblika; uporabite »-%c %.*s%.*s%s«" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "Äasovne oznake %s ni moÄ najti" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "neveljavna Å¡tevilka polja za prvo datoteko: »%s«" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "neveljavna Å¡tevilka polja za drugo datoteko: »%s«" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary datoteke beremo v binarnem naÄinu (privzeto v\n" #~ " okoljih DOS/Windows)\n" #~ " -c, --check izraÄunane nadzorne vsote %s primerjamo z " #~ "vrednostmi\n" #~ " v navedeni datoteki\n" #~ " -t, --text datoteke beremo v besedilnem naÄinu (privzeto)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "pri izbiri --check sme biti doloÄen samo en operand" #~ msgid "cannot get priority" #~ msgstr "ni mogoÄe izvedeti prioritete" #~ msgid "cannot set priority" #~ msgstr "prioritete ni mogoÄe nastaviti" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnosticiramo neprenosljive konstrukte v IMENU.\n" #~ "\n" #~ " -p, --portability preveri za vse sisteme POSIX, ne le za tega\n" #~ msgid "column count too large" #~ msgstr "Å¡tevilo stolpcev preveliko" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "»--columns=STOLPCI« neveljavno Å¡tevilo stolpcev: »%s«" #~ msgid "stdin: read error" #~ msgstr "stdin: napaka pri branju" #~ msgid "`%s' option is obsolete; use `%s-%c %<PRIuMAX>'" #~ msgstr "»%s« je opuÅ¡Äena oblika; uporabite »%s-%c %<PRIuMAX>«" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: priÄakuje se celoÅ¡tevilÄni izraz\n" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "pred -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "pred -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "pred -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "pred -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "pred -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: test IZRAZ\n" #~ " ali: test\n" #~ " ali: [ IZRAZ ]\n" #~ " ali: [ ]\n" #~ " ali: [ IZBIRA\n" #~ "Ovrednotimo IZRAZ; rezultat vrnemo kot izhodni status. \n" #~ "\n" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [morebitni argumenti v ukazni vrstici se ne upoÅ¡tevajo]\n" #~ " ali: %s IZBIRA\n" #~ "KonÄamo z izhodno kodo, ki signalizira uspeh.\n" #~ "\n" #~ "Navedeni izbiri nimata kratke oblike.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "»-SEZNAM« je opuÅ¡Äena oblika; uporabite »--first-only -t SEZNAM«" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "»-%lu« je opuÅ¡Äena oblika; uporabite »-f %lu«" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: uporabniÅ¡ko ume za UID %lu ni ugotovljivo\n" #~ msgid "program error" #~ msgstr "napaka v programu" #~ msgid "stack overflow" #~ msgstr "prekoraÄitev sklada" #~ msgid "too few arguments" #~ msgstr "premalo argumentov" # Je to res v redu? # ! INEXACT #~ msgid "cannot change to null group" #~ msgstr "ni mogoÄe spremeniti na skupino niÄ" #~ msgid "group number" #~ msgstr "Älan skupine" # ! INEXACT #~ msgid "invalid group number %s" #~ msgstr "neveljavna Å¡tevilka skupine %s" #~ msgid "invalid mode string: %s" #~ msgstr "neveljaven naÄin %s" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman in David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uporaba: %s [IZBIRA]... LEVA DESNA\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie in Jim Meyering" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: navedeni cilj ni imenik" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "prepisujemo veÄ datotek, vendar zadnji argument %s ni imenik" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp in David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po razmejilniku priÄakovana ,*` ali ,-`" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie in Jim Meyering" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "preveÄ ne-izbirnih argumentov: %s%s" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie in Stuart Kemp" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "samo eno od {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock," #~ "sync}" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy in Paul Eggert" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "pri izpisu privzetih vrednosti (izbira --print-data-base, -p) ni " #~ "dovoljeno\n" #~ "podati argumenta DATOTEKA" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie in Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert in Jim " #~ "Meyerling" #~ msgid "cannot change to parent of directory %s" #~ msgstr "imenik nad imenikom %s ni dosegljiv" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "IzpiÅ¡emo NIZ ali veÄ NIZOV na standardni izhod.\n" #~ "\n" #~ " -n ne izpisuj konÄnega znaka za novo vrstico\n" #~ " -e pri izpisu tolmaÄi spodaj navedene ubežne sekvence\n" #~ " -E onemogoÄi tolmaÄenje ubežnih sekvenc v NIZIH\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Izbiro -wÅ TEVILO lahko uporabimo tudi v obliki -Å TEVILO.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=VELIKOST izpiÅ¡emo prvih VELIKOST bajtov z zaÄetka " #~ "datoteke\n" #~ " -n, --lines=Å TEVILO izpiÅ¡emo dano Å TEVILO vrstic namesto prvih 10\n" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins in David MacKenzie" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "nameÅ¡Äamo veÄ datotek, vendar zadnji argument %s ni imenik" #~ msgid "%s is a directory" #~ msgstr "%s je imenik" #~ msgid "too many non-option arguments" #~ msgstr "preveÄ neizbirnih argumentov" #~ msgid "too few non-option arguments" #~ msgstr "premalo neizbirnih argumentov" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker in David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Datoteka obstaja" # ! INEXACT #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... CILJ [POVEZAVA]\n" #~ " ali: %s [IZBIRA]... CILJ... IMENIK\n" #~ " ali: %s [IZBIRA]... --target-directory=IMENIK CILJ...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "pri veÄih povezavah mora biti zadnji argument imenik" #~ msgid "files" #~ msgstr "naÅ¡tetih datotek" #~ msgid "checksum" #~ msgstr "izraÄunane nadzorne vsote" #~ msgid "checksums" #~ msgstr "izraÄunanih nadzornih vsot" #~ msgid "no files may be specified when using --string" #~ msgstr "pri izbiri --string ne sme biti podana nobena datoteka" #~ msgid "wrong number of arguments" #~ msgstr "napaÄno Å¡tevilo argumentov" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "niti glavno niti pomožno Å¡tevilo ne sme biti podano za FIFO" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie in Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "pri premikanju veÄih datotek mora biti zadnji argument imenik" #~ msgid "invalid option `%s'" #~ msgstr "neveljavna izbira ,%s`" #~ msgid "invalid priority `%s'" #~ msgstr "neveljavna prioriteta ,%s`" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram in David MacKenzie" #~ msgid "old-style offset" #~ msgstr "odmik v starem slogu" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "neveljaven drugi operand v združljivostnem naÄinu ,%s`" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v združljivostnem naÄinu morata biti zadnja dva argumenta odmika" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat in David MacKenzie" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "pot ,%s` vsebuje neprenosljiv znak ,%c`" #~ msgid "`%s' is not a directory" #~ msgstr ",%s` ni imenik" #~ msgid "directory `%s' is not searchable" #~ msgstr "imenik ,%s` ni berljiv" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "dolžina imena ,%s` je %ld; presega mejo %ld" #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "dolžina poti ,%s` je %d; presega mejo %ld" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie in Kaveh Ghazi" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr ",--pages` neveljavni obseg Å¡tevilk strani: ,%s`" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr ",--pages` neveljavna zaÄetna Å¡tevilka strani: ,%s`" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr ",--pages` neveljavna konÄna Å¡tevilka strani: ,%s`" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr ",--pages` zaÄetna Å¡tevilka strani je viÅ¡ja od konÄne" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "zaÄetna stran je viÅ¡ja od celotnega Å¡tevila strani: ,%d`" #~ msgid "Page %d" #~ msgstr "Str. %d" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie in Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: neveljaven ubežni znak" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uporaba: %s oblika [argument...]\n" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman in Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "ÄŒe je zaÄetna vrednost manjÅ¡a kot meja, mora biti\n" #~ "korak negativen" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "Äe je zaÄetna vrednost manjÅ¡a kot meja, mora biti\n" #~ "korak pozitiven" #~ msgid "invalid number" #~ msgstr "neveljavno Å¡tevilo" #~ msgid "*** invalid date/time ***" #~ msgstr "*** neveljavni datum/Äas ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau in David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor in Jim Meyering" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neveljavna enoznakovna pripona pri zastareli izbiri" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "preveÄ argumentov: Pri stari skladnji izbir (%s) lahko podamo kot " #~ "argument le\n" #~ "eno datoteko. Namesto tega uporabite izbiri -n ali -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Opozorilo: pri uporabi stare skladnje (%s) navedba dveh ali veÄ datotek\n" #~ "ni prenosljiva. Namesto nje uporabite izbiri -n ali -c." #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s presega najveÄjo dovoljeno velikost datoteke na tem sistemu" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: neveljavno najveÄje Å¡tevilo zaporednih sprememb velikosti" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman in David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "priÄakuje se argument\n" #~ msgid "too many arguments\n" #~ msgstr "preveÄ argumentov\n" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie in Randy Smith" #~ msgid "file arguments missing" #~ msgstr "datoteka ni podana" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "neveljavno ubežno zaporedje ,\\%c`" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "vsaj en niz mora biti podan pri stiskanju veÄ znakov" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "neveljavna identiÄna preslikava: pri prevedbi mora biti vsak konstrukt [:" #~ "upper:]\n" #~ "ali [:lower:] v nizu 1 poravnan z ustreznim konstruktom (torej [:lower:] " #~ "ali\n" #~ "[:upper:]) v nizu 2" #~ msgid "only one argument may be specified" #~ msgstr "dovoljen je le en argument" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie in Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Opozorilo: pomen izbire -l se bo v prihodnji izdaji spremenil, tako da " #~ "bo\n" #~ "skladen s POSIX" #~ msgid "warning: unable to use large stack" #~ msgstr "opozorilo: uporaba velikega sklada ni mogoÄa" #~ msgid " Type" #~ msgstr " Vrsta" #~ msgid "missing file arguments" #~ msgstr "datoteka ni podana" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/tr.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000311706�12107204520�012116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���}��0�����U���(�����T5�����\5��h5������ü5��ø���ý5��Â���ö6��ª���¹7��G��d8��ù���¬9��º���¦:��p���a;��!��Ò;��¼���ô<��w��±=��5��)?��~���_@�� ���Þ@��G���ì@��w���4A��¡���¬A��#��NB����rC��Ä���wD��z���<E��à���·E��›���˜F����4G��3��IH��0���}I��Ê���®I��ç���yJ��E���aK��Œ���§K��æ���4L����M��9���-N��t��gN��Ì���ÜO��7���©P��¼���áP��F���žQ��ì���åQ��¾��ÒR��,���‘T��º���¾T��5���yU����¯U����ÎV��×���íW��ò���ÅX��É���¸Y��Ê���‚Z��ð���M[��Ô���>\��Z���]��O��n]����¾^�� ��N`����oa��¢���Žb��¡��1c�� ��Ód��Ý���áe��Ò���¿f��’���’g��°���%h��u���Öh����Li�����bj��ƒ���òj��ƒ���vk��4��úk����/m����An��í���To�� ��Bp��z���Mq��þ���Èq��f��Çr��Æ���.t��Þ���õt��ƒ���Ôu��Í���Xv��Ñ���&w��ë���øw����äx��Ó���óy��I���Çz����{�� ��Ÿ|��=��À}��C���þ~��?���B��š��‚��¨����ú���Æ‚��$���Áƒ��*���æƒ����„��9���0…��#���j…��!���Ž…��Ý���°…��,���ކ�� ���»†��X��Ɇ��;���"ˆ��|��^ˆ����Û‰��Ô���ïŠ��Ü���Ä‹��þ���¡Œ����� �����¥�����®�����´����Ç��&���ãŽ�� ��� �� �������� �����3�����H�� ���d�����…�����ž��/���®�����Þ�����ô��>��� ��"���L��B���o��*���²�����Ý�����ü�����‘��)���‘�����H‘��%���e‘��,���‹‘��$���¸‘�����Ý‘��/���ý‘��8���-’�����f’�����{’�����š’�����·’�����Ë’�����ê’�����ÿ’�����“�����%“�����@“�����]“�����p“�����‚“�����•“�����¦“��'���·“�����ß“��*���ú“�����%”��$���C”�����h”�����x”�����Ž”��;���¤”�����à”�����ó”�����•�����+•�����H•�����f•�����z•��"���‘•�����´•�����Ç•��)���á•����� –�����(–�����9–��1���X–��'���Š–��(���²–�� ���Û–�����ü–�����—�����(—��"���C—�����f—�����u—��"���ˆ—�� ���«—�� ���·—�����Ä—�����Ö—�����ç—�����÷—��0���˜��.���D˜��"���s˜�����–˜��+���¦˜�����Ò˜�����ò˜�����ô˜��)��� ™�����4™�� ���F™�����Q™�����V™�� ���\™�����f™��K���n™��8���º™�����ó™��3���ü™��½���0š�� ���îš�����úš��\���ÿš��0���\›�� ���›�����—›��1���ž›�� ���Л��7���Û›�����œ�����œ�����œ�����$œ�����*œ�����/œ�����>œ�����Eœ�����Jœ�� ���Pœ�� ���]œ�����hœ�����mœ�����rœ��E���uœ����»œ��o���Í�����=ž�����Až��2���Hž��†���{ž��;���Ÿ��%���>Ÿ�� ���dŸ��1���nŸ��'��� Ÿ��*���ÈŸ�����óŸ�����ûŸ��5���� �����6 ��$���; ��+���` �����Œ �����‘ ��,���¦ ��&���Ó �� ���ú ��'���¡��0���C¡��Y���t¡��'���Ρ��T���ö¡��'���K¢��(���s¢�����œ¢�����°¢��&���Ì¢��š���ó¢�����Ž£��#���¥£��&���É£�����ð£��"���¤��T���2¤��g���‡¤��†���ï¤��.���v¥�����¥¥��"���Ä¥��+���ç¥��Y���¦��~���m¦��¤���ì¦��ä���‘§��=���v¨�����´¨�� ���Ò¨��¢���ó¨��F���–©��'���Ý©��Z���ª��`���`ª��!���Áª�� ���ãª��'���«�����,«�����1«�����6«��¹���K«�� ���¬�����¬�����¬�����¬��;���1¬��3���m¬��/���¡¬��+���Ѭ��'���ý¬��#���%­�����I­�����i­�����…­��<���•­�����Ò­�����Ø­�����Þ­��*���à­����� ®��A���(®�����j®��2���®��1���´®�� ���æ®�����ò®��!���¯�����'¯��#���.¯�����R¯�����n¯�����¯��*���¯�����»¯�����Ù¯��"���ù¯�����°�����:°��,���Y°�� ���†°�����§°�����ǰ��+���æ°��#���±��#���6±��,���Z±��0���‡±��,���¸±��#���å±����� ²�����$²�� ���:²�����[²�����w²�����•²�����³²��$���Ò²�����÷²��'��� ³�����5³�����O³�����h³�����x³�����•³�����¬³��(���¼³�����å³�����þ³��.���´��2���B´�����u´�����´�����«´��0���Ä´��3���õ´��5���)µ�����_µ�����xµ��*���—µ�����µ�����ݵ�����úµ��%��� ¶�����1¶�����A¶��8���\¶�����•¶�����³¶��&���Ͷ��.���ô¶��!���#·�����E·��&���T·�����{·�����‹·�����Ÿ·��'���°·�����Ø·�����í·�����¸�����!¸�����:¸�����Q¸��%���h¸�� ���ޏ�� ���›¸�����¨¸�����»¸�����и�����æ¸�����ý¸��8���¹�����M¹�����d¹�����y¹�� ���¹�����™¹�� ���ª¹��"���´¹�����×¹�����è¹�����ù¹�����ÿ¹�����º��#���"º��!���Fº��'���hº�����º�����¦º�����ź�����Þº��$���ðº��#���»��%���9»�����_»��!���»��-���¡»��1���Ï»�����¼�����¼�� ���+¼�����9¼�����V¼�����k¼��.���p¼�����Ÿ¼��D���·¼�����ü¼�����½����� ½�����=½�����Y½�����v½�����½�����”½��=���«½��@���é½��:���*¾�����e¾�����ƒ¾�����•¾�����§¾��;���¾¾�����ú¾�� ���¿��*���6¿��-���a¿�����¿�����¦¿�����»¿�����Ò¿�����ë¿��#���À��"���'À�����JÀ�� ���`À�����nÀ��"���À��#���¢À��!���ÆÀ��!���èÀ����� Á�����!Á�����@Á�����YÁ�� ���xÁ�����…Á�����•Á�����¦Á�����¸Á��!���ÖÁ�����øÁ��"���Â�����3Â�� ���SÂ�����tÂ�����ŒÂ��]���¡Â�����ÿÂ�� ���Ã�����6Ã�����KÃ��(���hÃ�� ���‘Ã�����žÃ�����®Ã�����ÀÃ��,���ÞÃ��9��� Ä�����EÄ��0���KÄ��:���|Ä��'���·Ä�����ßÄ�����ôÄ�� ���Å��/���Å��-���CÅ�����qÅ��&���‹Å��)���²Å�����ÜÅ��$���ñÅ�����Æ�����-Æ�����GÆ�����WÆ��"���pÆ��#���“Æ�����·Æ��%���ׯ��7���ýÆ��=���5Ç�����sÇ�����‘Ç�� ���¤Ç�����²Ç��-���ÊÇ��C���øÇ��(���<È�� ���eÈ�����oÈ�����È��%���È�����µÈ��4���ËÈ�� ����É��&���!É�� ���HÉ�����TÉ�����nÉ�����ŽÉ�����¤É��>���¼É�� ���ûÉ�� ���Ê�����Ê�����'Ê�����8Ê�� ���KÊ�� ���XÊ�����dÊ�����{Ê�� ���’Ê�� ���œÊ�����¦Ê�����ÀÊ�����ÕÊ�����ðÊ�����Ë��$���Ë��7���>Ë�����vË�����}Ë�����ŒË�����›Ë�����´Ë�� ���ÄË�����ÐË�����îË��J���Ì�� ���RÌ�� ���`Ì�����mÌ��*���‚Ì�����­Ì�����ÉÌ�����âÌ�����ùÌ��8���Í�����OÍ��H���UÍ��?���žÍ��=���ÞÍ��>���Î��3���[Î��(���Î��N���¸Î��f���Ï��>���nÏ��@���­Ï��<���îÏ�����+Ð��/���CÐ�����sÐ�����ŽÐ�����¦Ð�����¬Ð�����ÀÐ��3���ÔÐ�����Ñ����� Ñ��0���8Ñ��H���iÑ��2���²Ñ��=���åÑ�����#Ò��=���>Ò��,���|Ò��0���©Ò��3���ÚÒ��7���Ó��t���FÓ�� ���»Ó��3���ÆÓ��5���úÓ��j���0Ô��,���›Ô��*���ÈÔ�� ���óÔ�� ���ÿÔ�� ��� Õ��7���Õ��¾��RÕ��×���×��Ù���é×��«���ÃØ��{��oÙ����ëÚ��¬���îÛ��_���›Ü����ûÜ��¶���Þ��w��ÅÞ��›��=à��Š���Ùá�����dâ��R���€â��¾���Óâ��È���’ã��š��[ä��p��öå��G��gç��z���¯è��ñ���*é��£���ê��`��Àê��~��!ì��J��� í����ëí��ú���ï��M���ÿï��£���Mð����ñð���� ò��k��� ó��‰��Œó��Û���õ��>���òõ��æ���1ö��K���÷��·���d÷�� ��ø��3���(ú��ì���\ú��8���Iû��$��‚û��^��§ü��Ü���þ����ãþ�� ��ÿÿ��Ï��� �ð���Û�ä���Ì�_���±�‚���Ð��”�!��e�S��‡�Ê���Û �¸��¦ �n��_ ���Î�ð���è����Ù�Ã���w�•���;���Ñ�½���â�{��� �{����b��˜�ö���û�&��ò�ú����Ñ���‡���æ�5��n�¢��¤���G���W �m���u!�9��ã!�­���#�"��Ë#�N��î$�â���=&�&�� '�™��G(�O��á)�B��1+�M���t,�}���Â,�•��@-�$��Ö.�Æ��û0�,���Â2�,���ï2�O��3�J���l4�'���·4�&���ß4�ö���5�;���ý5� ���96�–��F6�F���Ý7�¼��$8�,��á9�æ���;���õ;� ��=����>� ���#>����->� ���4>�G��B>� ���Š?� ���«?� ���µ?����Á?����á?����@����@�"���2@����U@�@���e@����¦@����½@�H���Ý@�%���&A�)���LA�+���vA����¢A����ÂA����×A�=���æA�0���$B�&���UB�D���|B�$���ÁB�#���æB�-��� C�R���8C����‹C�)��� C�!���ÊC����ìC����ÿC����D����,D����CD� ���^D����D����D����´D����ÉD����ÝD����ôD�'��� E�G���3E�#���{E�.���ŸE�$���ÎE����óE�"���F����(F�A���AF����ƒF����—F����³F����ÑF����îF���� G����!G�4���@G����uG�-���ŠG�)���¸G�"���âG����H�$���$H�@���IH�'���ŠH�3���²H����æH�#���I����*I����CI�%���aI����‡I����™I� ���°I� ���ÑI� ���ÝI�%���ëI�"���J����4J� ���RJ�/���sJ�,���£J�&���ÐJ����÷J�-��� K�&���7K����^K�'���`K�5���ˆK����¾K����ÞK����çK����ìK����ñK� ���öK�e����L�P���fL����·L�H���ÀL�Ê��� M����ÔM����ÛM�`���ãM�2���DN� ���wN� ���N�9���ŒN� ���ÆN�J���ÓN����O����%O����*O����1O����6O� ���=O� ���HO����UO����YO����`O����rO����ƒO����ŠO����O�\���–O�”��óO�‰���ˆQ����R����R�N���R�“���lR�3����S�2���4S����gS�6���nS�9���¥S�?���ßS����T����&T�?���*T����jT�+���oT�%���›T����ÁT����ÆT�=���àT�.���U�*���MU�2���xU�=���«U�l���éU�1���VV�}���ˆV�1���W�6���8W����oW�#���‰W�,���­W�)��ÚW����Y�'���!Y�+���IY�%���uY�*���›Y�a���ÆY�s���(Z�œ���œZ�8���9[�(���r[�,���›[�4���È[�f���ý[�‹���d\�³���ð\���¤]�F���§^�$���î^�'���_�®���;_�M���ê_�/���8`�n���h`�p���×`�1���Ha�-���za�3���¨a����Üa����âa����ça�Ä���ýa����Âb����Ëb����Ôb� ���Úb�K���ûb�>���Gc�:���†c�5���Ác�1���÷c�-���)d�)���Wd�$���d����¦d�4���Ád����öd����üd����e�%���e�!���*e�B���Le�!���e�6���±e�5���èe����f����/f�"���Cf����ff�&���kf����’f����±f����Ãf�1���Ôf�#���g�)���*g�'���Tg����|g����”g�B���®g�:���ñg�1���,h�W���^h�0���¶h�'���çh�-���i�5���=i�9���si�,���­i�'���Úi����j����j�"���9j�"���\j� ���j���� j�#���Àj�$���äj� ��� k�.���k����Fk����_k�'���|k����¤k����Äk����Ük�*���õk���� l����:l�%���Pl�:���vl����±l����Îl����ël�8���m�0���:m�J���km����¶m����Ìm�'���ìm����n����3n� ���Qn����_n����n�$���“n�9���¸n�%���òn�+���o�P���Do�)���•o�*���¿o����êo�)���üo����&p����>p����^p�$���vp�%���›p�!���Áp�)���ãp�7��� q����Eq����\q�(���tq����q����±q����Îq����çq����ÿq�"���r����Br�<���_r�%���œr����Âr����Ør����ðr����ör� ���s�<���s����Ps����ds� ���ws����‚s����–s�1���«s�%���Ýs�/���t����3t�"���Rt����ut����t�"��� t�%���Ãt����ét�"���u�'���'u�2���Ou�@���‚u����Ãu����Õu����õu���� v����(v����?v�5���Dv�$���zv�?���Ÿv����ßv����ûv�&���w����=w����\w�$���nw����“w�%���›w�M���Áw�M���x�U���]x�+���³x� ���ßx����íx����üx�B���y�"���Yy�&���|y�/���£y�2���Óy����z����!z����8z����Sz� ���pz�$���‘z�(���¶z�!���ßz����{����{�(���"{�/���K{�(���{{�'���¤{� ���Ì{�$���í{����|�$���1|� ���V|����d|����u|����‡|�%���š|�"���À|����ã|�.���û|�!���*}�!���L}����n}����ˆ}�t���¡}����~�+���-~����Y~����t~�(���~����¸~����Î~����ç~�&���ÿ~�2���&�<���Y����–�?���›�H���Û�.���$€����S€����n€����~€�?���€�*���Í€����ø€�'����*���>����i� ������� ����³����Ç����Ö�&���ó�/���‚�+���J‚�%���v‚�;���œ‚�C���Ø‚����ƒ�)���:ƒ����dƒ����yƒ�,���™ƒ�L���ƃ�3���„����G„� ���V„����d„�$���t„����™„�4���®„����ã„�&���…����*…����E…�$���`…����……���� …�v���¿…� ���6†����D†����\†����n†����‚†� ���”†� ���¡†����­†����À†����Ó†����ç†� ���ï†�!���‡����2‡�!���N‡����p‡�1���‡�C���¿‡����ˆ� ��� ˆ����ˆ����&ˆ����=ˆ����Oˆ����aˆ�'���}ˆ�V���¥ˆ� ���üˆ���� ‰����‰�)���/‰�3���Y‰����‰����¨‰����¾‰�-���؉� ���Š�R���Š�L���cŠ�J���°Š�=���ûŠ�'���9‹����a‹�j���‹�j���ì‹�K���WŒ�4���£Œ�3���ØŒ���� �:���'����b����~����œ����£�#���¾�0���â����Ž����)Ž�I���DŽ�@���ŽŽ�,���ÏŽ�O���üŽ����L�B���b�2���¥�8���Ø�4����*���F�’���q� ���‘�*���‘�7���;‘�•���s‘�<��� ’�0���F’� ���w’����…’����’�1���®’����ß���y�����������!��‘���0������¥���é���g������8��z��'���y��������������~�����D��l������B��Ô�������¹��þ������¹������°��¤��A��ú�� ��È��Ë���h������c��Œ���…��Y������� ���‘��½��n��Z��ª���<���7���5���ñ��Ø�������û������´���§��¢���¾�����������r��v����Â��R��(��� ���%��3�������P��t��`���¶��¨���w��#���x��ê��� ���­�������æ��|��W���‡���������ë����š���Á����������”�������������_���{��D��±���������������������������������ç��O����2��,��“��ö���(��v�������@��ù�������x���Š���¤���6���Ì��� ������]���ø������U��/���J������^���¬�����������8���¿���������������������H�����������������’��Ú��3����j������������;��Ÿ����ä������à��Á�������Ú�����������l����������q�����•���„��f��S��������������·�����l���$��¥����������Ê�������N��6��¼������N���õ��ç���Q���Î��À���X��������»�������¦��Õ��;������A��@���c��ÿ���$���ò��¯���ˆ��³��_��O���s��‹������å���B���‚��ô������������Þ���4���>��������������7��D���Q��+���ü������¯��9��˜�������������£������1������4������a���&���Ï��������Ä����������=��ú���u���ï������!���z��Ø������µ������*������"���|������B��×��Ð������������’���U�����������������������c���G��T��V����–������«�� ��C��E������E��e��½���m��›���M��´��ó������������X��Ó������ð��S�������™������������¿��œ������—��‹��?�����e�����‚���‰���������&��¦���«���:��L������Ô��“�������¡���Å��E���v��é��S���������»������}������,���?����_����������)��J����������Û����������A���P���â���k��k���©������¾��ó���Í��� ��������������€��������¸��ž���[��������þ������û���Ò���������� ��õ�������ƒ��� ��O��§�������ñ����������U������ÿ��Ò���F��À��1�������ý���7������å������u��5����������í��µ�������Ä���H��<����Ž������!��Q��g��6�����^������}���ý��Ê��m������i��ž������<��P��Ö������È�������n���š��Û�����(�� ���²���,��º��/��d��©���ð������������b��ï���R�����������É��@��j��í���¼�����������Ó���Í��������Þ��ù��F����������������C��Ü�������Œ��p����������������Ü��ä��.��…���.������������������°���K��\���Ö���d����Â���Ÿ���-�������Å���t������•��o������º���f�����������k��Y��|���q��e����������Ã�������‡��"����������÷��:�������V���b�� ���4����x�����K��u������ƒ����G��o��¡��Ù��m��� ����ë���/������������������T��æ���w���0��è���á�����I���Y��×������h���÷�������b���®�������}��G���0������������W�� ��Æ���T��� ��>��—���Ž��â��Ì��8��>���M���Z�������������[������-�� ��~���‰��� ��¶���$����W��£���ê��i���a�����Ý����������������������������]�������î��:����¨��Ù���²������p��Ñ���#������2��€���á���?��{�������������Š������#��Z�������ã��d�������9������Î���†���������z���­��N�����=�������ª������`��ö��î���.�����������f��{���%���·��à���Ý���t���������Ç������›��y��I��R�����������q����h������É���&�������������� ��'��ü�������¬��L���F���*��g��� ���Ç��� ���w��ß��†�����+��r��C�������=��"��2���`������������������H��è��p���˜������s������Ï���J�������ì������������������œ��¢��)��j�������\��;���i��)���Õ���\��M��X�������ì�����������5����V�����–���o���”��������������„������¸�����™��ˆ���ã���+��ô���K���n������Ñ�����������������L�� ��Æ��^�����[���%������9�������±���ø���ò���]������'��®��I��Ã������1��������������a��r���-��*���Ë��³���Ð���s���3�����à’�t5��ˆ5��¤5��¸5��Ì5��è5��è’��������(���ÿÿÿÿ“������������������ÿÿÿÿA“�����������ÿÿÿÿH“��������.���ÿÿÿÿ{“������������������ÿÿÿÿ¾“�����������ÿÿÿÿ� ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A mere - implies -i. If no COMMAND, print the resulting environment. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: %s is so large that it is not representable�%s: %s:%s: disorder: �%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�, load average: %.2f�-R --dereference requires either -H or -L�-R -h requires -P�<internal>�??? �Avail�Available�COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Compare sorted files FILE1 and FILE2 line by line. �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Directory: �EXIT�Echo the STRING(s) to standard output. -n do not output the trailing newline �Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�Fifos do not have major and minor device numbers.�Filesystem�Force changed blocks to disk, update the super block. �IDLE�IFree�IUse%�IUsed�Idle�In real life: �Inodes�LINE�Login�Login name: �Mounted on�NAME�Name�OK�Only one string may be given when deleting without squeezing repeats.�Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Plan: �Print CRC checksum and byte counts of each FILE. �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Project: �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Set LC_ALL='C' to work around the problem.�Shell: �Size�Special files require major and minor device numbers.�TIME�The strings compared were %s and %s.�Two strings must be given when translating.�Type�Unknown system error�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot follow %s by name�cannot fstat %s�cannot get current directory�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�directory�division by zero�empty tab�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to return to initial working directory�failed to set the copy of stderr to close on exec�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fifo�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid argument %s for %s�invalid body numbering style: %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field width: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid header numbering style: %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid precision: %s�invalid starting line number: %s�invalid tab size: %s�invalid time style format %s�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s retained as %04lo (%s) �multiple -l or -t options specified�multiple output files specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�total�typed memory object�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: invalid width %lu; using %d instead�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�write error�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 5.3.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2005-03-14 04:17+0200 Last-Translator: Deniz Akkus Kanca <deniz@arayan.com> Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net> Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.9.1 � ( İFADE ) İFADE doÄŸrudur ! İFADE İFADE yanlıştır İFADE1 -a İFADE2 İFADE1 ve İFADE2 her ikisi de doÄŸrudur İFADE1 -o İFADE2 ya İFADE1 ya da İFADE2 doÄŸrudur � -a, --all -b -d --login -p -r -t -T -u ile aynı -b, --boot son sistem açılış zamanı -d, --dead ölü iÅŸlemleri yazdırır -H, --heading sütun baÅŸlığı satırı yazdırır � -b DOSYA DOSYA vardır ve blok özeldir -c DOSYA DOSYA vardır ve karakter özeldir -d DOSYA DOSYA vardır ve bir dizindir -e DOSYA DOSYA vardır � -l belirtilen KULLANICIlar için uzun biçemde çıktı üretir -b uzun biçemde kullanıcının ev dizini ve kabuÄŸunu göstermez -h uzun biçemde kullanıcının proje dosyasını göstermez -p uzun biçemde kullanıcının plan dosyasını göstermez -s kısa biçemde çıktı üretir, öntanımlı � -n DİZGE DİZGEnin uzunluÄŸu sıfırdan farklıdır DİZGE -n DİZGE ile aynıdır -z DİZGE DİZGEnin uzunluÄŸu sıfırdır DİZGE1 = DİZGE2 DİZGEler eÅŸittir DİZGE1 != DİZGE2 DİZGEler farklıdır � ARG1 * ARG2 aritmetik çarpma iÅŸlemi ARG1 / ARG2 aritmetik bölme iÅŸleminde bölümü verir ARG1 % ARG2 aritmetik bölme iÅŸleminde kalanı verir � ARG1 + ARG2 aritmetik toplama iÅŸlemi ARG1 - ARG2 aritmetik çıkarma iÅŸlemi � ARG1 < ARG2 ARG1 küçüktür ARG2 ARG1 <= ARG2 ARG1 küçük ya da eÅŸittir ARG2 ARG1 = ARG2 ARG1 eÅŸittir ARG2 ARG1 != ARG2 ARG1 farklıdır ARG2 ARG1 >= ARG2 ARG1 büyük ya da eÅŸittir ARG2 ARG1 > ARG2 ARG1 büyüktür ARG2 � DOSYA1 -ef DOSYA2 DOSYA1 ve DOSYA2 aynı aygıtta ve aynı uzunluktadır DOSYA1 -nt DOSYA2 DOSYA1 DOSYA2den daha yenidir DOSYA1 -ot DOSYA2 DOSYA1 DOSYA2den daha eskidir � TAMSAYI1 -eq TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸittir TAMSAYI1 -ge TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸit ya da büyüktür TAMSAYI1 -gt TAMSAYI2 TAMSAYI1 TAMSAYI2den büyüktür TAMSAYI1 -le TAMSAYI2 TAMSAYI1 TAMSAYI2ye eÅŸit ya da küçüktür TAMSAYI1 -lt TAMSAYI2 TAMSAYI1 TAMSAYI2den küçüktür TAMSAYI1 -ne TAMSAYI2 TAMSAYI1 TAMSAYI2den farklıdır � DİZGE : DÜZİFD ilk karakterinden itibaren DİZGE içindeki DÜZenliİFaDe ile eÅŸleÅŸen kısım match DİZGE DÜZİFD DİZGE : DÜZİFD ile aynı substr DİZGE KONUM UZNLK DİZGEnin KONUMdan baÅŸlayan UZuNLuKtaki alt dizgesi index DİZGE KARKTR DİZGE içinde KARaKTeRlerin ilk rastlandığı konum length DİZGE DİZGEnin karakter sayısı � b özel blok (önbellekli) dosyası oluÅŸturur c, u özel karakter (önbellekli) dosyası oluÅŸturur p FIFO oluÅŸturur � kullanıcı sayısı: %lu � Sadece -, -i uygular. KOMUT verilmezse mevcut çevre deÄŸiÅŸkenlerini listeler. � İFADE yok ise, çıkış durumu öntanımlı olarak yanlış (false) olur. İFADEnin sonucunun doÄŸru ya da yanlış olmasına göre aÅŸağıdaki çıkış durumlarından biri belirlenir: � Özel bir durum olarak, cp force ve backup seçenekleri verilmiÅŸ ve KAYNAK ve HEDEF deÄŸiÅŸkenleri birbirine eÅŸit olup mevcut, normal bir dosyayı gösteriyorlarsa KAYNAK'ın bir yedeÄŸini alır. � Kabukta yorumlanması için öncelenmesi ya da yorumlanmaması için tırnak içine alınması gereken iÅŸlemimlerinden sakının. KarşılaÅŸtırmalar her ikisi de sayısal ise sayısal, deÄŸilse sözlük sırasına göredir. Örgüsel eÅŸleÅŸmeler \(ve \) arasındaki eÅŸleÅŸen dizge ile ya da null ile sonuçlanır; eÄŸer \(ve \) kullanılmamışsa eÅŸleÅŸen karakter sayısıyla ya da 0 ile sonuçlanır. � TÜR b,c veya u olduÄŸu zaman hem MAJÖR, hem de MİNÖR belirtilmelidir. TÜR p olduÄŸu zaman ne MAJÖR ne de MİNÖR belirtilmelidir. EÄŸer MAJÖR veya MİNÖR 0x veya 0X ile baÅŸlarsa, onaltılık olarak algılanır. EÄŸer 0 ile baÅŸlarlarsa, sekizlik olarak algılanır. Bütün diÄŸer deÄŸerler onluk olarak algılanır. TÜR, aÅŸağıdaki deÄŸerlerde olabilir: � aksi belirtilmedikçe otomatik olarak kullanılan seçenekler: -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn KK, mantıksal sayfaları ayırmak için kullanılan iki ayraç karakteridir. İkinci karakter verilmemiÅŸse :. kabul edilir. \. elde etmek için \\ yazılır. TARZ, aÅŸağıdaki deÄŸerlerden biri olarak belirtilmelidir: � BirleÅŸik ayarlar: * [-]LCASE [-]lcase ile aynı cbreak -icanon ile aynı -cbreak icanon ile aynı � -h ve -L haricinde bütün DOSYA ile ilgili testler sembolik baÄŸları izler. Parantezlerin kabukta öncelem (örn. tersbölü ile) gerektirdiÄŸini unutmayın. TAMSAYI yerine DİZGE uzunluÄŸuna karşılık olarak -l DİZGE kullanılabilir. � EÄŸer İFADE boÅŸ veya 0 deÄŸil ise, çıkış durumu 0, eÄŸer İFADE boÅŸ veya 0 ise 1, eÄŸer İFADE sözdizim hatası içeriyor ise 2, bir hata var ise 3 olur. � Standart girdiye baÄŸlı olan tty hattını yönetir. Argümansız çalıştırıldığında iletiÅŸim hızını, hat disiplinini, stty sane ayarından farklı ayarları gösterir. Ayarlarda KRKT yazıldığı gibi ya da ^c, 0x37, 0177 ya da 127 olarak gösterilmiÅŸ bir karakter olabilir. ^- veya undef deÄŸerleri bu özel karakteri geçersiz kılar � EÄŸer DOSYA - ise, standart çıktıyı bu iÅŸleme tabi tutar EÄŸer --remove (-u) belirtilmiÅŸse DOSYA(ları) siler. Öntanımlı deÄŸer dosyaları silmez çünkü bu komut genelde /dev/hda gibi aygıt dosyaları üzerinde çalıştırılır ve o dosyalar genelde silinmemelidir. Normal dosyalar üzerinde çalıştırıldığı zaman genelde --remove seçeneÄŸi kullanılır. � DOSYA verilmemiÅŸse veya DOSYA - ise, standart girdi tekrar kopyalanır. � Girdi ayarları: [-]brkint kırma karakterleri kesme sinyali üretir [-]icrnl satır başı karakterini alt satıra geçme karakteri olarak yorumlar [-]ignbrk kırma karakterlerini yoksayar [-]igncr satır başı karakterlerini yoksayar � Yerel ayarlar: [-]crterase silme karakterlerini gerisilme-boÅŸluk-gerisilme olarak yansılar * crtkill satırları echoprt ve echoe ayarlarına uygun olarak siler * -crtkill satırları echoctl ve echok ayarlarına uygun olarak siler � Dikkat: -d ve -t seçenekleri farklı zaman/tarih biçemleri kabul ederler. � AYARdan önceki seçimlik `-' anlamı ters çevirir. * karakteri POSIX olmayan ayarları gösterir. Hangi ayarların kullanılabileceÄŸi sisteme göre deÄŸiÅŸir. � Çıktı ayarları: * bsN geri silme tarzı gecikme, N [0..1] arasında * crN satır başı tarzı gecikme, N [0..3] arasında * ffN sayfa başı tarzı gecikme, N [0..1] arasında * nlN alt satıra geçiÅŸ tarzı gecikme, N [0..1] arasında � İFADE'nin deÄŸerini standart çıktıya yazdırır. AÅŸağıda boÅŸ satır artan öncelik gruplarını ayırır. İFADE:|n ARG1 | ARG2 eÄŸer ARG1 boÅŸ veya 0 ise ARG2, deÄŸil ise ARG1 ARG1 & ARG2 eÄŸer iki argüman da 0 veya boÅŸ ise ARG2, deÄŸil ise ARG1 � EÄŸer DOSYA - olarak verilmiÅŸse, standart girdiyi okur. Her KALIP, aÅŸağıdaki seçeneklerden olabilir: � KUMEler burada karakter dizgeleri anlamındadır. anlamlı olan sıralamalar aÅŸağıdadır: \NNN NNN (1-3 tane sekizlik basamak ) sekizlik deÄŸeri olan karakter \\ ters kesik \a bip sesi \b geri git \f form ilerletme \n yeni satır \r satır başı \t enine tab � Özel karakterler * dsusp KRKT KRKT okuma sırasında dur (SIGSTOP) sinyali gönderecektir eof KRKT KRKT dosya sonu karakteri olacak (girdiyi sonlandırır) eol KRKT KRKT satır sonu karakteri olacak � DOSYA verilmemiÅŸse veya DOSYA - ise, standart girdi okunur. � Seçenek verilmemiÅŸse üç sütuna çıktı verir. Birinci sütun yalnızca DOSYA1'de bulunan satırları, ikinci sütun yalnızca DOSYA2'de bulunan satırları, üçüncü sütun her iki dosyada da bulunan satırları içerir. � SEÇENEK belirtilmeksizin bazı yararlı kullanıcı bilgileri gösterir. � DOSYA'yı, (hiçbir seçenek belirtilmediÄŸinde sekizlik sayı sisteminde), standart çıktıya yazar. DOSYA adı verilmemiÅŸse veya - olarak verilmiÅŸse, standart girdiden okur. � --backup[=KONTROL] her mevcut hedef dosyanın bir yedeÄŸini alır -b --backup gibi fakat argüman almaz -d, -F, --directory süper kullanıcının dizinleri sabit baÄŸlamasına izin verir (not: sistem kısıtlamaları yüzünden büyük ihtimal ile süper kullanıcı için dahi bu iÅŸlem baÅŸarısız olacaktır) -f, --force önceden var olan hedef dosyaları siler � --help bu yardımı gösterir ve çıkar � --lookup makina isimlerini DNS üzerinden IP ile eÅŸleÅŸtirmeye çalışır -m stdGirdi'deki kullanıcı ve makina ismini gösterir -p, --process init tarafından baÅŸlatılan aktif iÅŸlemleri listeler � --version sürüm bilgisini gösterir ve çıkar � -evenp -parenb cs8 ile aynı * [-]lcase xcase iuclc olcuc ile aynı litout -parenb -istrip -opost cs8 ile aynı -litout parenb istrip opost cs7 ile aynı nl -icrnl -onlcr ile aynı -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret ile aynı � [-]ignpar eÅŸlik hataları olan karakterleri yoksayar * [-]imaxbel girdi tamponu taÅŸtığında uyarı sesi üretir [-]inlcr alt satıra geçme karakterini satır başı karakteri olarak yorumlar [-]inpck girdi eÅŸlik denetimini etkinleÅŸtirir [-]istrip girdi karakterlerinin yüksek (8.) bitini temizler � cooked brkint ignpar istrip icrnl ixon opost isig icanon eof ve eol karakterlerinin öntanımlı deÄŸerleri ile aynı -cooked raw ile aynı crt echoe echoctl echoke ile aynı � dec echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u ile aynı * [-]decctlq [-]ixany ile aynı ek karakter ve satır silme karakterlerinin öntanımlı deÄŸerleriyle aynı evenp parenb -parodd cs7 ile aynı � ispeed N girdi hızını N olarak ayarlar * line N terminal hat disiplinini N yapar min N -icanon ile okumanın tamamlanması için gereken en az karakter sayısını N yapar ospeed N çıktı hızını N olarak ayarlar � oddp parenb parodd cs7 ile aynı -oddp -parenb cs8 ile aynı [-]parity [-]evenp ile aynı pass8 -parenb -istrip cs8 ile aynı -pass8 parenb istrip cs7 ile aynı � raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 ile aynı -raw cooked ile aynı � stop KRKT KRKT çıktıyı durduracaktır susp KRKT KRKT bir terminal dur (SIGSTOP) sinyali gönderecektir * swtch KRKT KRKT baÅŸka bir kabuk katmanına geçecektir * werase KRKT KRKT son sözcüğü silecektir � %h %b ile aynı %H saat (00..23) %I saat (01..12) %j yılın günü (001..366) � -D HEDEF'in en sondaki hariç tüm öğelerini oluÅŸturur, sonra KAYNAK'ı HEDEF'e kopyalar -g, --group=GRUP İşlemin ÅŸimdiki grubu yerine grup üyeliÄŸini GRUP'a atar -m, --mode=KİP izin kipini rwxr-xr-x yerine KİP olarak atar (chmod gibi) -o, --owner=SAHİP sahibi atar (yalnızca süper-kullanıcı) � -D, --date-format=FORMAT baÅŸlık tarihini yazarken FORMAT'ı kullanır -e[KARAKTER[GENISLIK]], --expand-tabs[=KARAKTER[GENISLIK]] KARAKTER(KARAKTER belirtilmediÄŸinde TAB) yerine GENISLIK(GENISLIK belirtilmediÄŸinde 8) tane boÅŸluk koyar -F, -f, --form-feed yenisatır karakteri yerine (\n) formfeed (\f) karakteri kullanarak sayfaları ayırır � -L DOSYA DOSYA vardır ve bir sembolik baÄŸdır -O DOSYA DOSYA vardır ve etkin kullanıcı kimliÄŸine aittir -p DOSYA DOSYA vardır ve bir isimli veri yoludur -r DOSYA DOSYA vardır ve okunabilirdir -s DOSYA DOSYA vardır ve uzunluÄŸu sıfırdan büyüktür � -S DOSYA DOSYA vardır ve bir sokettir -t [DB] dosya belirteci DB (öntanımlı:stdÇıktı) bir terminalde açıktır -u DOSYA DOSYA vardır ve kullanıcı-kimlik belirleme biti ayarlıdır -w DOSYA DOSYA vardır ve yazılabilirdir -x DOSYA DOSYA vardır ve çalıştırılma (veya arama) izni verilmiÅŸtir � -T, -w, --mesg kullanıcının ileti durumunu +, - veya ? olarak gösterir -u, --users sistemde olan kullanıcıları listeler --message -T ile aynı --writable -T ile aynı � -W, --word-regexp=REGEXP anahtar kelimeleri REGEXP'i kullanarak belirler -b, --break-file=DOSYA DOSYA'daki karakterlere bakarak kelime sonlarını belirler -f, --ignore-case büyük/küçük harf ayrımı yapmaz -g, --gap-size=SAYI çıktının kolonları arasındaki boÅŸluk geniÅŸliÄŸi SAYI olur -i, --ignore-file=DOSYA girdi üzerinde çalışırken DOSYA daki kelimeleri dikkate almaz -o, --only-file=DOSYA girdide sadece DOSYA'daki kelimeleri dikkate alır � -a, --across satırları yukardan aÅŸağı yerine soldan saÄŸa yazar. bu seçenek -KOLON ile kullanılır -c, --show-control-chars ÅŸapka(^G) ve sekizli ters kesik notasyonunu kullanarak kontrol karakterlerini de gösterir -d, --double-space çift aralık bırakarak yazar � -b, --before ayracı satırdan sonra deÄŸil, satırdan önce koyar -r, --regex ayracı düzenli ifade olarak kabul eder (regex = regular expression (düzenli ifade)) -s, --seperator=AYRAC satırları `\n' yerine AYRAC ile ayır � -b, --body-numbering=TARZ satırları TARZ tarzında numaralandırır. -d, --section-delimiter=KK mantıksal sayfaları ayırırken KK'yi kullanır -f, --footer-numbering=TARZ altyazıları TARZ tarzında numaralandırır � -b, --bytes sütunlar yerine baytları sayar -s, --spaces satırı boÅŸluklarda böler -w, --width=N 80 yerine N sütun kullanır � -b, --bytes=LİSTE sadece bu baytları gösterir -c, --characters=LİSTE sadece bu karakterleri gösterir -d, --delimiter=AYRAÇ Alan ayracı olarak TAB yerine AYRAÇ'ı kullanır � -c, --count her satır başına tekrar sayısını yazar -d, --repeated sadece aynısından iki tane olan satırları gösterir � -c, --crown-margin paragrafın ilk iki satırını deÄŸiÅŸtirmez -p, --prefix=DİZGE sadece DİZGE ile baÅŸlayan satırları yeniden biçemler -s, --split-only uzun satırları böler fakat kısaları birleÅŸtirmez � -d, --delimiters=LISTE TABlar yerine LISTE'deki karakterleri kullanır -s, --serial Her dosyayı (paralel olarak yazmak yerine) arka arkaya yazar � -e terskesme kaçışlarını yorumlar -E (öntanımlı) terskesme kaçışlarını yorumlamaz � -e (öntanımlı) terskesme kaçışlarını yorumlar -E terskesme kaçışlarını yorumlamaz � -f kısa biçemde sütun baÅŸlığı satırını göstermez -w kısa biçemde kullanıcının tam adını göstermez -i kısa biçemde kullanıcının tam adı ve uzak makinayı göstermez -q kısa biçemde kullanıcının tam adı, uzak makina ve atıl zamanını göstermez � -f veya -t fF, gerçel sayıları seçer -i veya -t dI, 10luk kısa sayıları seçer -l veya -t dL, 10luk uzun sayıları seçer -o veya -t o2, 8lik 2 bayt sayıları seçer -x veya -t x2, 16lik 2 bayt sayıları seçer � -f DOSYA DOSYA vardır ve normal bir dosyadır -g DOSYA DOSYA vardır ve grup-kimliÄŸi belirlidir -G DOSYA DOSYA vardır ve etkin grup kimliÄŸine aittir -h DOSYA DOSYA vardır ve sembolik baÄŸdır (-L ile aynı) -k DOSYA DOSYA vardır ve kalıcı biti ayarlıdır � -f, --fields=LİSTE sadece bu alanları gösterir; ayrıca, eÄŸer -s seçeneÄŸi belirtilmemiÅŸse, içinde ayraç olmayan tüm satırları yazdırır. -n (yoksayılır) � -f, --follow[={name|descriptor}] dosyayı sürekli izler, yeni satırlar eklendikçe onları da çıktıya yazar. --follow=name dosya ismini kullanarak izler,--follow=descriptor dosya açıldığında sistemin döndüğü dosya descriptor'ını kullanarak izler. -F --follow=name --retry 'ın aynısı � -i, --initial BoÅŸluktan sonra gelmeyen tabları deÄŸiÅŸtirmez -t, --tabs=N tabların yerine 8 deÄŸil N boÅŸluk koyar � -i, --inodes blok kullanımı yerine idüğüm bilgilerini gösterir -k, --block-size=1024 gibi -l, --local listelemeyi yerel dosyasistemleri ile sınırlar --no-sync (öntanımlı) kullanım bilgisini almadan önce sync yapmaz � -l uzun listeleme biçemi kullanır -L, --dereference bir sembolik baÄŸ için dosya bilgilerini gösterirken, sembolik bağın imlediÄŸi dosyanın bilgilerini gösterir, sembolik bağın kendi bilgilerini deÄŸil -m satırı virgül ayraçlı girdilerle doldurur � -n, --digits=BASAMAK BASAMAK sayısında basamak kullanır (-n kullanılmadıkça 2 ) -s, --quiet, --silent çıktı dosyalarının bayt büyüklüklerini vermez -z, --elide-empty-files boÅŸ çıktı dosyalarını siler � -q, --count tüm çalışan kullanıcı isimlerini ve sayısını gösterir -r, --runlevel ÅŸimdiki açılış seviyesini gösterir -s, --short yalnız isim, satır ve zamanı gösterir (öntanımlı) -t, --time son sistem saat deÄŸiÅŸikliÄŸini gösterir � -q, --quiet, --silent dosya isimlerini göstermez -v, --verbose dosya isimlerini gösterir � -r, --references her satırın ilk alanını referans olarak kullanır -t, --typeset-mode [henüz çalışmayan bir seçenek] -w, --width=SAYI çıktıdaki kolon sayısı SAYI olur (referans hariç) � -s, --only-delimited içinde ayraç olmayan alanları yazdırmaz --output-delimeter=DİZGE çıktı ayracı olarak DİZGE'yi kullanır � -s, --signal=SİNYAL, -SİNYAL Gönderilecek sinyalin adı veya numarası. -l, --list Sinyal adlarını listeler ya da sinyal isimleri ile sinyal numaraları arasında dönüşüm yapar. -t, --table Sinyal bilgileri tablosu gösterir. � -s, --symbolic-link kopyalama yerine sembolik baÄŸ oluÅŸturur -S, --suffix=SONEK normal yedekleme soneki yerine SONEK'i kullanır -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır -T, --no-target-directory HEDEF'i normal bir dosya kabul eder � -t -vT ile aynı -T, --show-tabs TAB karakterlerini ^I olarak gösterir -u (yoksayılır) -v, --show-nonprinting LFD ve TAB hariç ^ ve M- nitelemesini kullanır � -t, --tabs=LİSTE LİSTE virgülle ayrılmış sayılardır. Listedeki sayılar tabların satırdaki yerlerine karşılık gelir. Satırda listenin uzunluÄŸundan fazla tab varsa, fazla olan tablar yerine bir boÅŸluk koyar � -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır -T, --no-target-directory HEDEF'i normal bir dosya kabul eder -u, --update taşıma iÅŸlemini yalnızca KAYNAK dosyası hedeften daha yeni ise, veya hedef dosya yok ise yapar -v, --verbose ne yapıldığını anlatır � -u, --remove üzerine yazdıktan sonra dosyayı sıfırlar ve siler -v, --verbose ilerlemeyi gösterir -x, --exact dosya boyutunu sonraki tam bloÄŸa yuvarlamaz bu iÅŸlem, normal dosya olmayan dosyalar için öntanımlıdır -z, --zero iÅŸlemi gizlemek için en son olarak üzerine sıfırlarla yazar � -u, --update yalnızca KAYNAK dosya hedef dosyadan daha yeni olduÄŸu veya hedef dosya mevcut olmadığı zaman kopyalar -v, --verbose ne yapıldığını anlatır -x, --one-file-system bu dosya sisteminde kalır � -w, --check-chars=N her satırda N'den fazla karakter karşılaÅŸtırmaz � -z, --zero-terminated satırları satır-sonu karakteri (\n) yerine 0'la (0 baytı) bitirir � [:graph:] boÅŸluk hariç, tüm yazılabilir karakterler [:lower:] tüm küçük harfler [:print:] boÅŸluk dahil, tüm yazılabilir karakterler [:punct:] tüm noktalama isaretleri [:space:] tüm enine veya boyuna boÅŸluklar [:upper:] tüm büyük harfler [:xdigit:] tüm onaltılık sistem rakamları [=KAR=] KAR'a eÅŸ olan tüm karakterler � \v boyuna tab KAR1-KAR2 büyükten küçüğe KAR1 den KAR2 ye kadarki tüm karakterler [KAR*] KUME2'de kullanılır:KUME1'in boyuna gelene kadar KAR'ın tekrarı [KAR*TEKRAR] KAR'ın TEKRAR kere tekrarı, TEKRAR 0 ile baÅŸlıyorsa sekizlik sayı olarak algılanır [:alnum:] tüm harf ve rakamlar [:alpha:] tüm harfler [:blank:] tüm enine boÅŸluklar [:cntrl:] tüm kontrol karakterleri [:digit:] tüm rakamlar � d[SAYI] iÅŸaretli (signed) ondalık sayı olarak yazar, her sayı için SAYI bayt kullanır f[SAYI] gerçel sayı olarak yazar, her sayı için SAYI bayt kullanır o[SAYI] sekizlik sayı olarak yazar, her sayı için SAYI bayt kullanır u[SAYI] iÅŸaretsiz (unsigned) ondalık sayı olarak yazar, her sayı için SAYI bayt kullanır x[SAYI] 16lik sayı olarak yazar, her sayı için SAYI bayt kullanır � direct veri için direkt I/O kullanır � dsync veri için senkron I/O kullanır � excl çıktı dosyası var ise baÅŸarısız olur nocreat çıktı dosyasını oluÅŸturmaz notrunc çıktı dosyasını budamaz noerror okuma hatalarından sonra da devam eder fdatasync bitirmeden önce çıktı dosya verisini fiziken yazdırır fsync fdatasync gibi fakat ek olarak meta veriyi de yazdırır � noctty dosyadan kontrol eden terminali ayarlamaz terminal from file � nofollow sembolik baÄŸları izlemez � nonblock bloklamayan I/O kullanır � none, off hiç yedekleme yapma (--backup kullanılsa bile) numbered, t numaralanmış yedekleme yap existing, nil eÄŸer numaralanmış yedekler var ise numaralanmış, yoksa basit simple, never her zaman basit yedekleme yap � sync önceki gibi fakat meta veri için de geçerli � (yedek: %s)�* [-]iuclc büyük harfleri küçük harf olarak yorumlar * [-]ixany sadece baÅŸla karakteri deÄŸil herhangi bir karakter girdiyi baÅŸlatır [-]ixoff baÅŸla/dur karakterlerinin gönderimini etkinleÅŸtirir [-]ixon XON/XOFF akış denetimini etkinleÅŸtirir [-]parmrk eÅŸlik hatalarını imler (255-0-karakter sıralamasıyla) [-]tandem [-]ixoff ile aynı � * [-]iutf8 girdi karakterlerinin UTF-8 kodlu olduÄŸunu varsayar �* [-]ocrnl satır başını alt satıra geçiÅŸ olarak yorumlar * [-]ofdel 0 karakteri yerine dolgu için silme karakterini kullanır * [-]ofill gecikmeler için zamanlama yapmak yerine dolgu karakterlerini kullanır * [-]olcuc küçük harfleri büyük harf olarak yorumlar * [-]onlcr alt satıra geçiÅŸi satır başı olarak yorumlar * [-]onlret alt satıra geçiÅŸ karakteri satır başı yapar �* [-]onocr satır başı karakterini ilk karakter olarak basmaz [-]opost iÅŸlem sonrası çıktı * tabN yatay sekme tarzı gecikme, N [0..3] arasında * tabs tab0 ile aynı * -tabs tab3 ile aynı * vtN düşey sekme tarzı gecikme, N [0..1] arasında �* eol2 KRKT satır sonu için diÄŸer bir KRKT olacaktır erase KRKT KRKT yazılan son karakteri silecektir intr KRKT KRKT bir kesme (SIGINT) sinyali gönderecektir kill KRKT KRKT bulunulan satırı silecektir �* lnext KRKT KRKT izleyen özel karakterin yorumlanmasını engelleyecektir quit KRKT KRKT bir çıkış (SIGQUIT) sinyali gönderecektir * rprnt KRKT KRKT bulunulan satırı yeniden yazacaktır start KRKT KRKT durdurulduktan sonra çıktıyı yeniden baÅŸlatacaktır �* rows N çekirdeÄŸe terminal satır sayısını N olarak bildirir * size çekirdeÄŸe uygun satır ve sütun sayısını gösterir speed terminal hızını gösterir time N -icanon ile okuma zaman aşımını N/10 saniyeye ayarlar � TTY� gruplar=� eski � %s tekrarda �%%(hafızayı yüzdeyle belirtmek için) , b, k (varsayılan), M, G, T, P, E, Z, Y. DOSYA verilmediÄŸinde veya - olduÄŸunda standart girdiden okur. *** UYARI *** Çevre deÄŸiÅŸkenlerince belirlenen locale dosyası sıralamayı etkiler. bayt deÄŸerlerine göre sıralama için LC_ALL çevre deÄŸiÅŸkenine C deÄŸerini atayın. �%.*s: geçersiz çevrim tanımı�%b %e %Y�%b %e %H:%M�%lu kullanıcı�%lu kullanıcı�%s -> %s (yedeklemeyi geri al) �%s ve %s aynı dosya�%s var ama bir dizin deÄŸil�%s bilinmeyen dosya türüne sahip�%s çok büyük�%s: %s bu bilgisayarda kullanılamayacak kadar büyük bir sayı�%s: %s:%s: sırasız: �%s:açma veya okuma BAÅžARISIZ �%s: göreceli sembolik baÄŸlar yalnızca mevcut dizinde oluÅŸturulabilir�%s: bloklamayan kip deÄŸiÅŸtirilemedi�%s: tail bu çeÅŸit dosyayı takip edemez�%s: orjinal konuma geri gidilemiyor (lseek)�%s: dizinin üzerine yazılamaz�%s: geri gelinemiyor�%s: aranamadı�%s: dosyanın sonundan %s görecesine geri gidilemiyor (seek)�%s: %s görecesine ilerleme (seek) yapılamıyor�%s: görece %s'ye ilerlenemiyor (seek)�%s: yalnızca eklenebilir kipte dosya belirteçine shred uygulanamaz�%s: bloklamayan kip sıfırlanamadı�%s: %s dizininin içine inilsin mi?�%s: korumalı dizin %s'nin içine inilsin mi?�%s: eÅŸitlik sınıfı (equivalance class)operandı tek karakterden oluÅŸmalıdır�%s: kısaltmada hata�%s %s göreli konumunda yazdırma hatası�%s: bir sayısal argüman gerekli�%s: kapatılamadı�%s: yazmak için açılamadı�%s: silinemedi�%s: fcntl baÅŸarısız�%s: fdatasync baÅŸarısız�%s: dosya büyüklüğü negatif�%s: dosya fazla küçülmüş�%s: dosya çok büyük�%s: dosya fazla uzun�%s: dosya kısaldı�%s: fstat baÅŸarısız�%s: fsync baÅŸarısız�%s: dizinde sabit baÄŸa izin verilmiyor�%s: girdide bir döngü (döngü=loop, Graph Teorideki anlamında) var�%s: girdide tek sayılı andaç var�%s: girdi dosyası çıktı dosyası ile aynı�%s: ayraçtan sonra tamsayı olmalı�%s: geçersiz PID�%s: geçersiz dosya büyüklüğü�%s: geçersiz dosya tipi�%s:--max-unchanged-stats seçeneÄŸiyle verilen argüman geçersiz�%s: geçersiz sayı�%s: geçersiz bayt sayısı�%s: geçersiz satır sayısı�%s geçersiz sayıda geçiÅŸ�%s: geçersiz saniye sayısı�%s: geçersiz kalıp�%s: geçersiz iÅŸlem kimlik no�%s: geçersiz düzenli ifade(regular expression): %s�%s: geçersiz sinyal�%s: -a seçeneÄŸine verilen arguman geçersiz�%s: satır sayısı 0'dan büyük olmalı�%s: satır sayısı kapsam dışı�%s: arama (lseek) baÅŸarısız�%s: birden fazla sinyal belirtilmiÅŸ�%s: doÄŸru biçemlenmiÅŸ %s saÄŸlama toplam satırı bulunamadı�%s: bu aygıt için boyut bilgileri yok�%s: önceden listelenmiÅŸ dizin tekrar listelenmedi�%s: bayt sayısı fazla büyük�%s: %s'ın üzerine yazılsın mı?�%s: geçiÅŸ %lu/%lu (%s)�%s: geçiÅŸ %lu/%lu (%s)...%s�%s: geçiÅŸ %lu/%lu (%s)...%s/%s %d%%�%s: okuma hatası�%s: %s %s silinsin mi?�%s: korumalı %s %s silinsin mi?�%s: silindi�%s: siliniyor�%s: %s olarak yeniden adlandırıldı�%s: %s'un üzerine yazılsın mı?�%s: arama (seek) baÅŸarısız�%s: çok fazla saÄŸlama satırı�%s: maksimum dosya adı uzunluÄŸu belirlenemedi�%s: istenen iÅŸlemlerin tümü yapılamıyor�%s: deÄŸer tamamen dönüştürülmedi�%s: yazma hatası�%s: %lu geçersiz satır; ikinci dizgecik yok�%s: %lu: tanınmayan anahtar kelime %s�'� çalışıyor, yük ortalaması: %.2f�-R --dereference ile ya -H veya -L kullanılmalıdır�-R -h ile -P kullanılmalıdır�<içsel>�??? �BoÅŸ�BoÅŸ�AÇIKLAMA�Mevcut olan DOSYA1'e DOSYA2 adında bir baÄŸ oluÅŸturmak için 'link' (baÄŸ) iÅŸlevini çağırın. �Belirtilen DOSYA'yı silmek için 'unlink' (baÄŸ çöz) iÅŸlevini çağırın. �Kapasite�Sıralı dosyalar DOSYA1 ve DOSYA2'yi satır satır karşılaÅŸtırır. �Standart girdiyi verilen DOSYAlara ve ayrıca standart çıktıya kopyalar. -a, --append DOSYAların üzerine yazmaz sonuna ekler -i, --ignore-interrupts kesme sinyallerini yoksayar �Dizin:�ÇIKIÅž�DİZGE(leri) standart çıktıya yazdırır. -n sonlayan yenisatırı yazdırmaz �İFADEye göre üretilen durum kodu ile çıkar. �F. Pinard�BAÅžARISIZ�Fifoların majör ve minör aygıt numarası bulunmaz. %s�Dosyasistemi�DeÄŸiÅŸen blokları diske yazılmaya zorlar ve süper bloÄŸu günceller. �ATIL �BoÅŸ�IKull%�Dolu�BoÅŸta�Gerçekte:�Dosyaindeksi�HAT�GiriÅŸ�Kullanıcı ismi:�BaÄŸlanılan yer�İSİM�İsim�Tamam�tekrar edilen karakterler bire indirgenMEden silme yapılıyorsa sadece bir dizge verilmeli.�LS_COLORS çevre deÄŸiÅŸkenini deÄŸiÅŸtirmek için çıktı komutları. Çıktı formatını belirler: -b, --sh, --bourne-shell LS_COLORS'u belirlemek için Bourne kabuk komutları çıktılar -c, --csh, --c-shell LS_COLORS'u belirlemek için C kabuk komutları çıktılar -p, --print-database öntanımlıları çıktılar �DOSYAya göre çalışmakta olan kullanıcıları gösterir. DOSYA verilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır. �PID�Plan: �Her DOSYA'nın CRC saÄŸlama toplamlarını ve bayt sayılarını yazdırır. �Standart girdiye baÄŸlı terminalin dosya ismini gösterir. -s, --silent, --quiet hiçbir ÅŸey göstermez, sadece çıkış durumu ile döner �Çalışılan dizinin tam dosya yolunu gösterir. �Çalıştıran kullanıcının ismini gösterir. �Proje:�KOMUT'u kök dizin YENİKÖK olarak çalıştırır. �KOMUTu çalıştırır, ve bitir sinyallerini yoksayar. �Problemi devre dışı bırakmak için LC_ALL='C' tanımlayın.�Kabuk:�Boy�Özel dosyalar, majör ve minör aygıt numaraları gerektirir.�SAAT�KarşılaÅŸtırılan dizgeler %s ve %s idi.�çevrim için iki dizge verilmelidir.�Tür�Bilinmeyen sistem hatası�Kullanımı: %s BİÇEM [ARGÜMAN]... veya: %s SEÇENEK �Kullanımı: %s İFADE veya: %s SEÇENEK �Kullanım: %s DOSYA veya: %s SEÇENEK �Kullanım: %s DOSYA1 DOSYA2 veya: %s SEÇENEK �Kullanımı: %s BİÇEM [ARGÜMAN]... veya: %s SEÇENEK �Kullanımı: %s [-s SİNYAL] | -SİNYAL] PID... ya da: %s -l [SİNYAL]... ya da: %s -t [SİNYAL]... �Kullanım: %s [DOSYA]... veya: %s [SEÇENEK] �Kullanımı: %s [İSİM] veya: %s SEÇENEK Çalıştırıldığı sistemin makina ismini deÄŸiÅŸtirir ya da gösterir. �Kullanımı: %s [SAYI]... veya: %s SEÇENEK �Kullanımı: %s [İŞLEYEN]... veya: %s SEÇENEK �Kullanım: %s [SEÇENEK] �Kullanım: %s [SEÇENEK] İSİM... �Kullanımı: %s [SEÇENEK] [KOMUT [ARG]...] �Kullanım: %s [SECENEK] [DOSYA] DOSYA'daki kısmi sıralamayı (kısmi sıralama=partial ordering, matematiksel bir terim) göz önüne alarak DOSYA'nın tam sıralı (tam sıralı = totally ordered, matematiksel terim) halini çıktıya yazar. (tsort = topological sort, topolojik sıralama) �Kullanım: %s [SEÇENEK]... �Kullanım: %s [SEÇENEK]... DİZİN... �Kullanım: %s [SEÇENEK]... DOSYA KALIP... �Kullanım: %s [SEÇENEK]... DOSYA... �Kullanım: %s [SEÇENEK]... DOSYA1 DOSYA2 �Kullanım: %s [SEÇENEK]... GRUP DOSYASI veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA... �Kullanımı: %s [SEÇENEK]... SON veya: %s [SEÇENEK]... İLK SON ya da: %s [SEÇENEK]... İLK ARTIÅž SON �Kullanım: %s [SEÇENEK]... KİP[,KİP]... DOSYA... veya: %s [SEÇENEK]... SEKİZLİK-KİP DOSYA veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA... �Kullanım: %s [SEÇENEK]...İSİM TİP [MAJÖR MİNÖR] �Kullanımı: %s [SEÇENEK]... İSİM... �Kullanım: %s [SEÇENEK]... KÜME1 [KÜME2] �Kullanımı: %s [SEÇENEK]... [ DOSYA | ARG1 ARG2 ] �Kullanımı: %s [SEÇENEK]... [+BİÇEM] veya: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Kullanım: %s [SEÇENEK]... [-T] KAYNAK HEDEF veya: %s [SEÇENEK]... KAYNAK... DİZİN veya: %s [SEÇENEK]... -t DİZİN KAYNAK... �Kullanım: %s [SEÇENEK]... [T] KAYNAK HEDEF veya: %s [SEÇENEK]... KAYNAK... DİZİN veya: %s [SEÇENEK]... -t DİZİN KAYNAK... veya: %s [SEÇENEK]... -d DİZİN... �Kullanım: %s [SEÇENEK]... [-T] KAYNAK BAÄž_ADI (1. biçem) veya: %s [SEÇENEK]... HEDEF (2. biçem) veya: %s [SEÇENEK]... HEDEF...DİZİN (3. biçem) veya: %s [SEÇENEK]... -t DİZİN HEDEF... (4. biçem) �Kullanımı: %s [SEÇENEK]... [-] [İSİM=DEÄžER]... [KOMUT [ARG]...] �Kullanım: %s [SEÇENEK]... [DOSYA] �Kullanım: %s [SEÇENEK]... [DOSYA]... �Kullanım: %s [SEÇENEK]... [DOSYA]... veya: %s [-abcdfilosx]... [DOSYA] [[+]GÖRELİ[.][b]] veya: %s --traditional [SEÇENEK] [DOSYA] [[+]GÖRELİ[.][b] [[+]ETİKET]][.][b] �Kullanım: %s [SEÇENEK]... DOSYA veya: %s [SEÇENEK]... --files0-from=F �Kullanım: %s [SEÇENEK]... [GİRDİ [ÇIKTI]] �Kullanım: %s [SEÇENEK]... [GİRDİ]... (-G olmaksızın) veya: %s -G [SEÇENEK]... [GİRDİ [ÇIKTI]] �Kullanım: %s [SEÇENEK]... [SAHİP][:[GRUP]] DOSYA... veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA... �Kullanımı: %s [SEÇENEK]... [KULLANICI-İSMİ] �Kullanımı: %s [SEÇENEK]... [KULLANICI]... �Kullanımı: %s [DİZGE]... veya: %s SEÇENEK �Kull%�Dolu�Geçerli argümanlar:�Uyarı: Döngülü dizin yapısı Bu hemen her zaman bozulmuÅŸ bir dosya sisteminiz olduÄŸunu gösterir. SİSTEM YÖNETİCİNİZE HABER VERİN. AÅŸağıdaki dizin bu çevrimin bir parçası: %s �Uyarı: � zaman� yer�%s ve %s tarafından yazıldı. �%s, %s, %s, %s, %s, %s, %s, %s, %s ve baÅŸkaları tarafından yazıldı. �%s, %s, %s, %s, %s, %s, %s, %s ve %s tarafından yazıldı. �%s, %s, %s, %s, %s, %s, %s ve %s tarafından yazıldı. �%s, %s, %s, %s, %s, %s ve %s tarafından yazıldı. �%s, %s, %s, %s, %s ve %s tarafından yazıldı. �%s, %s, %s, %s ve %s tarafından yazıldı. �%s, %s, %s ve %s tarafından yazıldı. �%s, %s ve %s tarafından yazıldı. �%s tarafından yazıldı. �KUME2'de çeviri yaparken [=c=] ifadeleri yer alamaz�^[hH]�^[eE]�`�komut ayarlama ile birlikte verilmeli�%s argümanı `%s' için belirsiz�sadece alanlar üzerinde iÅŸlem yaparken bir ayraç belirtilebilir�çıktı, %s'nin sonuna ekleniyor�%s'ı yedeklemek kaynağı yok eder; %s kopyalanmadı�%s'ı yedeklemek kaynağı yok eder; %s taşınmadı�yedekleme türü�blok özel dosyası�özel blok dosyalar desteklenmiyor�blok�her iki dosya da standart girdi olamaz�bayt görecesi %s çok büyük�%s'e eriÅŸilemedi�%s yedeklenemedi�hem özetleyip hem bütün girdiler gösterilemez�%s'in sahipliÄŸi deÄŸiÅŸtirilemiyor�%s'in eriÅŸim izinleri deÄŸiÅŸtirilemiyor�kök dizini %s olarak deÄŸiÅŸtirilemedi�%s dizinine geçilemedi�kök dizinine geçilemedi�{ascii, ebcdic, ibm} deÄŸerlerinin herhangi ikisi birleÅŸtirilemez�`block' ve `unblock' seçenekleri aynı anda kullanılamaz�`excl' ve `nocreat' seçenekleri birleÅŸtirilemez�`lcase' (küçük harf) ve `ucase' (büyük harf) seçenekleri aynı anda kullanılamaz�kip ve --reference seçenekleri birleÅŸtirilemez�sinyal, -l veya -t ile birleÅŸtirilemez�%s ve %s dosya adları karşılaÅŸtırılamaz�U+%04X yerel karakter kümesine dönüştürülemiyor�U+%04X yerel karakter kümesine dönüştürülemiyor: %s�bir dizin, %s, kendi içine kopyalanamaz, %s�çevrimli sembolik baÄŸ %s kopyalanamaz�%s dizini oluÅŸturulamıyor�%s fifosu oluÅŸturulamadı�%s sabit bağı %s'e baÄŸlanamadı�%s sabit bağı %s'e baÄŸlanamadı�normal dosya %s oluÅŸturulamadı�özel dosya %s oluÅŸturulamadı�%s sembolik bağı oluÅŸturulamadı�sembolik baÄŸ %s, %s'e baÄŸlanamadı�%s izlenemedi�%s'nın aygıtı ve i-düğümü belirlenemedi�makina ismi saptanamadı�%s adı ile takip edilemiyor�%s'nin dosya durumu (fstat) alınamadı�çalışılan dizin alınamadı�sistem ismi alınamadı�%s'de lseek yapılamadı�hem sabit hem sembolik baÄŸ oluÅŸturulamaz�dizin %s oluÅŸturulamadı�%s %s'e taşınamadı�%s kendi alt dizinine taşınamaz, %s�bir dizin, dizin olmayanın üzerine taşınamaz: %s -> %s�%s okumak için açılamadı�%s yazmak için açılamadı�dizin %s açılamadı�Dizin %s'ın üzerine dizin olmayan bir dosya yazılamaz�Dizin olmayan %s'un üzerine dizin %s yazılamaz�öntanımlı biçemde gerçek kimlikler veya gerçek isimler gösterilemez�%s dizini okunamıyor�%s'den dosya adları okunamadı�%s için dosyasistem bilgisi okunamadı�gerçekzaman saati okunamıyor�%s sembolik bağı okunamadı�%s silinemedi�%s üzerinde lseek baÅŸarısız�tarih ayarlanamadı�grup kimliÄŸi %lu olarak atanamıyor�makina ismi deÄŸiÅŸtirilemedi; bu sistemde bu yetenek yok�%s için zaman damgalama yapılamadı�kullanıcı kimliÄŸi %lu olarak atanamıyor�girdinin dikkate alınmayacak bölümü toplam girdiden daha büyük verilmiÅŸ�zaman birden fazla kaynaktan belirtilemez�-C -l -b seçenekleri beraber kullanılmaz�%s durumlanamadı�ÅŸimdiki dizin durumlanamadı (ÅŸimdi %s)�`touch' %s yapılamadı�%s yedeklemesi geri alınamadı�%s bağı çözülemedi�çekirdek hatası bertaraf edilemedi�%s'in grup üyeliÄŸi deÄŸiÅŸtiriliyor�%s'in sahipliÄŸi deÄŸiÅŸtiriliyor�%s'nın eriÅŸim izinleri deÄŸiÅŸtiriliyor�sıralama anahtarında belirtilen karakter yeri sıfır�karakter kapsamdışı�karakter özel dosyası�özel karakter dosyaları desteklenmiyor�saat deÄŸiÅŸikliÄŸi�kapatma iÅŸlemi baÅŸarısız�%s kapatılıyor (fd=%d)�%s dizini kapatılıyor�girdi dosyası %s kapatılıyor�çıktı dosyası %s kapatılıyor�standart girdi kapatılıyor�%s içinde eÅŸleÅŸen i-düğümlü dizin girdisi bulunamadı�sistemin baÅŸlama zamanı alınamadı�dizin %s oluÅŸturuldu�dizin %s oluÅŸturuluyor�dizin�sıfırla bölüm�boÅŸ sekme�düzenli ifade (regular expression) aramasında hata oluÅŸtu�%s'i okunurken hata�%s'e yazarken hata�çıkış=�%s argümanı fazla�`%s' operandı fazla�%s'in grup üyeliÄŸi %s olarak deÄŸiÅŸtirilemedi �%s'nın sahipliÄŸi deÄŸiÅŸtirilemedi �%s'nın sahipliÄŸi %s olarak deÄŸiÅŸtirilemedi �%s dizinine chdir baÅŸarısız�%s'nın öznitelikleri alınamadı�%s dosyasına bakılamadı�%s açılamadı�%s'nin yazar bilgileri korunamadı�%s'nin sahiplik bilgileri korunamadı�%s'in izinleri korunamadı�%s'in zaman damgaları korunamadı�standart hata yeniden yönlendirilemedi�baÅŸlangıç çalışma dizinine geri dönülemedi�standart hatanın kopyası, exec sonunda kapanmaya ayarlanamadı�%s durumlanamadı�%s için fdatasync baÅŸarısız�fflush baÅŸarısız�alan numarası %s çok büyük�alan numarası sıfır�fifo�dosyasistem türü %s hem seçili hem dışarlanmış�fork sistem çaÄŸrısı baÅŸarısız�eÅŸ geniÅŸlikli dizgeler için biçem dizgesi belirtilmeyebilir�%s için fsync baÅŸarısız�fts_read baÅŸarısız oldu�%s'nın yeni öznitelikleri alınıyor�%s'in grubu %s olarak korundu �iconv iÅŸlevi yok�iconv iÅŸlevi kullanılabilir deÄŸil�kimlik=�argümanların tamamı yoksayılıyor�çevre deÄŸiÅŸkeni TABSIZE'da bulunan geçersiz sekme boyutu yoksayıldı: %s�çevre deÄŸiÅŸkeni QUOTING_STYLE'da bulunan geçersiz deÄŸer yoksayıldı: %s�çevre deÄŸiÅŸkeni COLUMNS'da belirtilen geçersiz geniÅŸlik deÄŸeri yoksayıldı: %s�seçenek olmayan argümanlar yoksayılıyor�uyumsuz sekme�girdi yok oldu�girdi satırı fazla uzun�aygıt arası taşıma baÅŸarısız: %s'yı %s'a; hedef silinemedi�%s argümanı `%s' için geçersiz�geçersiz gövde numaralama tarzı: %s�sonekte geçersiz dönüşüm belirleyicisi: %c�sonekte geçersiz dönüşüm belirleyicisi: \%.3o�geçersiz tarih biçemi %s�geçersiz aygıt %s %s�geçersiz aygıt türü %s�geçersiz alan numarası: %s�geçersiz satır geniÅŸliÄŸi: %s�gerçel sayı argüman geçersiz: %s�geçersiz altbilgi numaralama tarzı: %s�geçersiz boÅŸluk geniÅŸliÄŸi: %s�grup geçersiz�geçersiz grup %s�geçersiz baÅŸlık numaralama tarzı: %s�geçersiz satır numarası alan geniÅŸliÄŸi: %s�geçersiz satır numarası artışı: %s�geçersiz satır numaralama biçemi: %s�geçersiz satır geniÅŸliÄŸi: %s�geçersiz majör aygıt numarası %s�geçersiz maksimum derinlik %s�geçersiz minör aygıt numarası %s�geçersiz kip�geçersiz kip %s�geçersiz kip: %s�geçersiz sayı %s�alan baÅŸlangıcında geçersiz sayı�geçersiz boÅŸ satır sayısı: %s�geçersiz bayt sayısı�karşılaÅŸtırılacak bayt sayısı geçersiz�atlanacak bayt sayısı geçersiz�atlanacak alan sayısı geçersiz�geçersiz satır sayısı�geçersiz seçenek -- %c�geçersiz seçenek -- %c; GENİŞLİK yalnızca ilk seçenek olduÄŸu zaman kabul edilir; bunun yerine -w N kullanın�geçersiz kesinlik: %s�geçersiz baÅŸlangıç satır numarası: %s�geçersiz sekme boyutu: %s�geçersiz tarih biçemi %s�evrensel karakter ismi \%c%0*x geçersiz�kullanıcı geçersiz�geçersiz kullanıcı %s�geçersiz geniÅŸlik: %s�geçersiz sıfır uzunluklu dosya adı�%s üzerinde döngüsel iÅŸlem yapmak tehlikelidir�%s üzerinde döngüsel iÅŸlem yapmak tehlikelidir (%s gibi)�son=�%1$lu limiti, %3$s dosya adının %2$lu uzunluÄŸu ile aşıldı�%1$lu limiti, %3$s dosya adı bileÅŸeninin %2$lu uzunluÄŸu ile aşıldı�satır sayma seçeneÄŸi -%s%c... fazla büyük�satır numarası taÅŸması�bellek tükendi�ileti kuyruÄŸu�ayarlanmamış veya uymayan [:upper:] ve/veya [:lower:] ifadesi�sonekte %% dönüşüm belirleyicisi eksik�%s sonrasında eksik argüman�sonekte dönüşüm belirleyicisi eksik�%s sonrasında hedef dosya iÅŸleyeni eksik�dosya iÅŸleyeni eksik�öncelemde onaltılık sayı yok�alan listesi eksik�konum listesi eksik�eksik iÅŸlenen�`%s'den sonra eksik iÅŸlenen�%s'nin kipi %04lo (%s) olarak korundu �birden fazla -l veya -t seçeneÄŸi belirtilmiÅŸ�birden fazla çıktı dosyası belirtilmiÅŸ�birden fazla hedef dizin belirtilmiÅŸ�ne sembolik baÄŸ %s ne de imlediÄŸi dosya deÄŸiÅŸtirilmedi �SHELL çevre deÄŸiÅŸkeni yok ve kabuk türü seçeneÄŸi verilmemiÅŸ�%s'in sahipliÄŸi deÄŸiÅŸmedi �üzerinde çalışabilecek dosya kalmadı�kullanıcı ismi yok�süreç kimliÄŸi belirtilmemiÅŸ�dizgeler çıktılanırken tür belirtilemez�kullanıcı adı belirtilmemiÅŸ; -l kullanırken en az bir tane belirtilmeli�%2$s dosya adında taşınmaz karakter %1$s bulundu�bir tty deÄŸil�bayt sayısı�satır sayısı�%s dosya okunurken görece taÅŸması�%s dizini atlanıyor�KUME2'de yalnızca bir [c*] tekrar yapısı olabilir�sadee tek aygıt belirtilebilir�sadece bir liste türü belirtilebilir�açma iÅŸlemi baÅŸarısız�%s'nin sahipliÄŸi korundu �%s'nin sahipliÄŸi %s olarak korundu �sayfa geniÅŸliÄŸi çok dar�%s'in zaman damgaları korundu�hem aynı olan satırların yazılmasına izin vermek hem de aynı olan satırların sayısını yazdırmak anlamsız�okuma hatası�okuma baÅŸarısız oldu�dizin %s okunuyor�kayıt çok büyük�normal boÅŸ dosya�normal dosya�%s silindi �%s dizini silindi �dizin %s siliniyor�açılış-seviyesi�semafor�-s 'ten sonra AYRAC belirtilmeli�%s için seçenekler belirtiliyor�%s'in izinleri ayarlanıyor�%s'in zamanları deÄŸiÅŸtiriliyor�paylaşımlı bellek nesnesi�atlanacak baytlar + okunacak baytlar çok büyük�kopyalandığı esnada deÄŸiÅŸtirildiÄŸi için %s dosyası atlandı�soket�standart hata�standart girdi�standart girdi kapalı�standart çıktı�stat baÅŸarısız�alan tanımında fazla harf�dizge karşılaÅŸtırması baÅŸarısız�ayrılmamış alanları atlamak sadece alanlar üzerinde iÅŸlem yapılırken anlamlı�sembolik baÄŸ�sözdizimi hatası�tab boyu 0 olamaz�sekme boyunda geçersiz karakter(ler): %s�tab boyları küçükten büyüğe sıralı olmalı�sekme boyu %s çok büyük�sekmeler fazla aralı�hedef %s bir dizin deÄŸil�bir dizin kurulurken hedef dizin belirlenemez�terminal=� --binary ve --text seçenekleri saÄŸlama toplamlarını kontrol ederken geçersiz�--status seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı�--warn seçeneÄŸi yalnızca saÄŸlama toplam kontrolü sırasında anlamlı�[c*] ifadesi KUME2'de sadece çeviri yaparken kullanılabilir�[c*] tekrar yapısı KUME1'de bulunamaz�ayraç tek karakter olmalıdır�ayrıntılı çıktı seçenekleri ile stty-okuyabilir tarzı çıktı seçenekleri birlikte kullanılamaz�dircolors çıktısının hem içsel veritabanına, hem de bir kabuk sentaksına göre olması çeliÅŸkili�zamanı ayarlamak ve göstermek için bu seçenekler birlikte kullanılamaz�tarih belirten bu seçenekler birlikte kullanılamaz�bir dizin kurulurken strip seçeneÄŸi kullanılamaz�%s zamanı aralık dışı�sonekte gereÄŸinden fazla %% dönüşüm belirleyicisi var�kümede çok fazla karakter�çok fazla tekrar eden satır�toplam�türlenmiÅŸ bellek nesnesi�bilinmeyen kullanıcı kimliÄŸi: %s�çevre deÄŸiÅŸkeni LS_COLORS'da taranamaz deÄŸer�geçersiz iÅŸleyen %s�tanımlanmamış önek: %s�--no-preserver-root seçeneÄŸini kullanarak bu güvenlik tedbirini aşın�uyarı: %s: karakter sabitini izleyen karakter(ler) yoksayıldı�uyarı: --pid=PID bu sistemde desteklenmiyor�uyarı: --pid=PID sadece -f seçeneÄŸiyle kullanıldığında bir anlam taşır�uyarı: %s silinemedi�uyarı: standart girdiyi sonsuza dek takip etmek verimli deÄŸildir�uyarı: geçersiz geniÅŸlik %lu; %d kullanılıyor�uyarı: %s kaynak dosyası bir defadan çok belirtilmiÅŸ�uyarı: özetlemek --max-depth=%lu ile çakışıyor�uyarı: özetlemek --max-depth=0 ile aynı�uyarı: mt_type=0x%2$0lx, %1$s dosyası için lseek çekirdek hatasına alternatifler kullanılıyor -- tür listesi için <sys/mtio.h>'e bakın�garip dosya�KUME1 kısaltılmıyorsa KUME2 boÅŸ olamaz�bir çıktı tarzı belirtildiÄŸinde kipler ayarlanamaz�karakter sınıflarının tümleyicileri (küme tümleyen=set complement) kullanıldığında KUME2 sadece bir karakter kullanan ifadeler içerebilir�Dizine sabit baÄŸ oluÅŸturulmayacak: sabit baÄŸ %s, dizin %s�yeni oluÅŸturulmuÅŸ %s'un üzerine %s yazılamaz�yazma hatası�yazma baÅŸarısız oldu�%s'e yazılıyor�bayt, karakter ya da alan listesi belirtilmelidir�PRIuMAX�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%s: %: yanlış biçemlenmiÅŸ %s saÄŸlama satırı�baÅŸlangıç sayfa numarası % sayfa sayısı % deÄŸerini aşıyor�Sayfa %�����������������������������������������������������������coreutils-8.21/po/gl.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002000545�12107204510�011724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Galician translation of the GNU textutils. # Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. # Jacobo Tarrio <jtarrio@trasno.net>, 2000, 2001, 2002. # msgid "" msgstr "" "Project-Id-Version: textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2002-07-23 03:07+0200\n" "Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n" "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento incorrecto %s para %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambiguo para %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Os parámetros correctos son:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "volcando o ficheiro" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "erro de escritura" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "non se pode cambia-los permisos de %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Erro do sistema descoñecido" #: lib/file-type.c:38 msgid "regular empty file" msgstr "ficheiro normal baleiro" #: lib/file-type.c:38 msgid "regular file" msgstr "ficheiro normal" #: lib/file-type.c:41 msgid "directory" msgstr "directorio" #: lib/file-type.c:44 msgid "block special file" msgstr "ficheiro especial de bloque" #: lib/file-type.c:47 msgid "character special file" msgstr "ficheiro especial de carácter" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "ligazón simbólica" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "cola de mensaxes" #: lib/file-type.c:62 msgid "semaphore" msgstr "semáforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "obxecto de memoria compartida" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "obxecto de memoria compartida" #: lib/file-type.c:70 msgid "weird file" msgstr "ficheiro estraño" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "os ficheiros \"fifo\" non están soportados" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "os ficheiros \"fifo\" non están soportados" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "os ficheiros \"fifo\" non están soportados" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "erro de escritura" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "Erro do sistema descoñecido" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opción \"%s\" é ambigua\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opción \"--%s\" non permite un argumento\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opción \"%c%s\" precisa dun argumento\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opción descoñecida \"--%s\"\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opción descoñecida \"%c%s\"\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opción incorrecta -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opción precisa dun argumento -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opción \"-W %s\" é ambigua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opción \"-W %s\" non permite un argumento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opción \"%s\" precisa dun argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "non se pode cambia-los permisos de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "non se pode crea-lo directorio %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memoria esgotada" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "non se pode crea-lo directorio %s" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "\"" #: lib/quotearg.c:313 msgid "'" msgstr "\"" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: erro de lectura" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: expresión regular incorrecta: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "clase de caracteres \"%s\" incorrecta" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memoria esgotada" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: expresión regular incorrecta: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "erro ao buscar por expresións regulares" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "erro ao buscar por expresións regulares" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "erro ao buscar por expresións regulares" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sSyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, fuzzy, c-format msgid "setting permissions for %s" msgstr "non se pode cambia-los permisos de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "erro estándar" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 #, fuzzy msgid "Continued" msgstr "¿continuar? " #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 #, fuzzy msgid "Virtual timer expired" msgstr "memoria virtual esgotada" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: PID incorrecto" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: PID incorrecto" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "ficheiro especial de bloque" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "a apertura fallou" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "non se pode crea-lo directorio %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "o peche fallou" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "a función iconv non é utilizable" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "a función iconv non está dispoñible" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "carácter fóra de rango" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "non se pode converter U+%04X ao xogo de caracteres local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "non se pode converter U+%04X ao xogo de caracteres local: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "usuario incorrecto" #: lib/userspec.c:107 msgid "invalid group" msgstr "grupo incorrecto" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "usuario incorrecto" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, fuzzy, c-format msgid "Written by %s and %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, fuzzy, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Informe dos erros no programa a <%s>.\n" "Informe dos erros na traducción a <proxecto@trasno.net>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Informe dos erros no programa a <%s>.\n" "Informe dos erros na traducción a <proxecto@trasno.net>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "a apertura fallou" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Erro do sistema descoñecido" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "non foi posible mudar o grupo de %s a %s\n" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "a comparación de cadeas fallou" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Estabreza LC_ALL='C' para palia-lo problema" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "As cadeas que se compararon foron %s e %s" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argumento incorrecto %s para %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "incremento de números de liña incorrecto: \"%s\"" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: conta \"%.*s\" grande de máis" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Emprego: %s [OPCIÓN] [FICHEIRO]...\n" " ou: %s [OPCIÓN] --check [FICHEIRO]\n" "Amosar ou comprobar sumas de comprobación %s (de %d bits).\n" "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "erro de lectura" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "número incorrecto" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "cadea de tipo incorrecta \"%s\"" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "operando \"%s\" extra" #: src/base64.c:318 src/cat.c:781 #, fuzzy, c-format msgid "closing standard input" msgstr "entrada estándar" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin e David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Imprimir NOME quitando tódolos compoñentes de directorios.\n" "Se se indica, quitar tamén o SUFIXO final.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "%s: esperábase un enteiro tras \"%c\"" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Grandlund e Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatenar FICHEIRO(s), ou a entrada estándar, na saída estándar.\n" "\n" " -A, --show-all equivalente a -vET\n" " -b, --number-nonblank numera-las liñas de saída non baleiras\n" " -e equivalente a -vE\n" " -E, --show-ends amosar $ ao final de cada liña\n" " -n, --number numerar tódalas liñas de saída\n" " -s, --squeeze-blank nunca máis dunha soa liña en branco\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t equivalente a -vT\n" " -T, --show-tabs amosa-los caracteres TAB coma ^I\n" " -u (ignorado)\n" " -v, --show-nonprinting usar notación de ^ e M-, excepto en LFD e TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "non se poden facer operacións de ioctl en \"%s\"" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "saída estándar" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: o ficheiro de entrada é o mesmo que o de saída" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 #, fuzzy msgid "Jim Meyering" msgstr "Mike Haertel e Paul Eggert" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "obtendo os atributos de %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "obtendo os atributos de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "non se pode cambia-los permisos de %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, fuzzy, c-format msgid "cannot access %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, fuzzy, c-format msgid "cannot read directory %s" msgstr "non se pode crea-lo directorio %s" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "non se pode cambia-los permisos de %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, fuzzy, c-format msgid "fts_read failed" msgstr "erro de lectura" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "o peche fallou" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPCIÓN]... ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "%s: esperábase un enteiro tras \"%c\"" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "opción de anchura non válida: \"%s\"" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, fuzzy, c-format msgid "failed to get attributes of %s" msgstr "obtendo os atributos de %s" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "grupo incorrecto" #: src/chgrp.c:108 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" "Visualiza-la conta de comprobación CRC e o número de bytes de cada " "FICHEIRO.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosar información sobre a versión e saír\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "obtendo os novos atributos de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "non se mudou a ligazón simbólica %s nin o ficheiro referido\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "o modo de %s mudou a %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "non foi posible muda-lo modo de %s a %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "o modo de %s mantense como %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "non se pode crea-lo directorio %s" #: src/chmod.c:276 #, fuzzy, c-format msgid "changing permissions of %s" msgstr "non se pode cambia-los permisos de %s" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "non se pode cambia-los permisos de %s" #: src/chmod.c:371 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPCIÓN]... ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "anchura non válida: \"%s\"" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "mudouse o dono de %s a %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "mudouse o grupo de %s a %s\n" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "mudando o dono de %s" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "non se pode cambia-los permisos de %s" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "non se pode cambia-los permisos de %s" #: src/chown-core.c:171 #, fuzzy, c-format msgid "failed to change ownership of %s to %s\n" msgstr "non se pode cambia-los permisos de %s" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "mantense o dono de %s como %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "mantense o grupo de %s como %s\n" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "mantense o dono de %s como %s\n" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "mudando o dono de %s" #: src/chown-core.c:468 #, fuzzy, c-format msgid "changing group of %s" msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "O dono non se altera se non existe. O grupo non se altera se non existe,\n" "mais cámbiase ao grupo de login se está implícito con `:'. O DONO e o " "GRUPO\n" "poden ser numéricos ou simbólicos.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, fuzzy, c-format msgid "invalid group %s" msgstr "grupo incorrecto" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "grupo incorrecto" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "obtendo os atributos de %s" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, fuzzy, c-format msgid "cannot change root directory to %s" msgstr "non se pode cambiar ao directorio %s" #: src/chroot.c:206 #, fuzzy, c-format msgid "cannot chdir to root directory" msgstr "non se pode cambiar ao directorio %s" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "non se poden omiti-lo usuario e o grupo" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "obtendo os atributos de %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: ficheiro longo de máis" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Amosa-la suma de comprobación CRC e o número de bytes de cada FICHEIRO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Uso: %s [OPCIÓN]... FICHEIRO1 FICHEIRO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "Compara os ficheiros ordeados FICHEIRO_ESQUERDO e FICHEIRO_DEREITO liña a " "liña.\n" "\n" " -1 elimina-las liñas que só aparezan no ficheiro esquerdo\n" " -2 elimina-las liñas que só aparezan no ficheiro dereito\n" " -3 elimina-las liñas que só aparezan nalgún dos ficheiros\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "\\%c: secuencia de escape non válida" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "erro lendo %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, fuzzy, c-format msgid "cannot lseek %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "erro escribindo %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "obtendo os atributos de %s" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "erro de escritura" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "obtendo os atributos de %s" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "non se pode cambia-los permisos de %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, fuzzy, c-format msgid "failed to preserve ownership for %s" msgstr "mantense o dono de %s" #: src/copy.c:723 #, fuzzy, c-format msgid "failed to lookup file %s" msgstr "mantense a data de %s" #: src/copy.c:728 #, fuzzy, c-format msgid "failed to preserve authorship for %s" msgstr "mantense o dono de %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "non se pode abrir %s para lectura" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, fuzzy, c-format msgid "cannot remove %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, fuzzy, c-format msgid "removed %s\n" msgstr "borrando %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, fuzzy, c-format msgid "cannot create regular file %s" msgstr "non se pode crea-lo ficheiro temporal" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "mantense a data de %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "mantense a data de %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: ¿sobrescribir %s, ignorando o modo %04lo? " #: src/copy.c:1478 #, fuzzy, c-format msgid "%s: overwrite %s? " msgstr "%s: erro de escritura" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (copia de seguridade: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, fuzzy, c-format msgid "cannot stat %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:1650 #, fuzzy, c-format msgid "omitting directory %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s e %s son o mesmo ficheiro" #: src/copy.c:1811 #, fuzzy, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "non se pode cambiar ao directorio %s" #: src/copy.c:1829 src/ln.c:214 #, fuzzy, c-format msgid "will not overwrite just-created %s with %s" msgstr "non se pode sobrescribir o non-directorio %s co directorio %s" #: src/copy.c:1847 #, fuzzy, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:1861 #, fuzzy, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "non se pode cambiar ao directorio %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "facer copia de seguridade de %s destruiría a orixe; %s non movido" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "facer copia de seguridade de %s destruiría a orixe; %s non copiado" #: src/copy.c:1915 src/ln.c:276 #, fuzzy, c-format msgid "cannot backup %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "non se pode sobrescribir o non-directorio %s co directorio %s" #: src/copy.c:2056 #, fuzzy, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "non se pode cambiar ao directorio %s" #: src/copy.c:2123 #, fuzzy, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "non se pode cambiar ao directorio %s" #: src/copy.c:2166 #, fuzzy, c-format msgid "cannot move %s to %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "obtendo os atributos de %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "non se pode copia-la ligazón simbólica cíclica %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: só se poden facer ligazóns simbólicas relativas no directorio actual" #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:2416 src/mkfifo.c:132 #, fuzzy, c-format msgid "cannot create fifo %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:2425 #, fuzzy, c-format msgid "cannot create special file %s" msgstr "ficheiro especial de carácter" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "ligazón simbólica" #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "non se pode crea-lo directorio %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s é un tipo de ficheiro descoñecido" #: src/copy.c:2644 src/ln.c:358 #, fuzzy, c-format msgid "cannot un-backup %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (restaurado da copia de seguridade)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Uso: %s [OPCIÓN]... ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=CANDO controla-la creación de ficheiros con ocos\n" " -R, --recursive copia-los directorios recursivamente\n" " --strip-trailing-slashes quita-la barra final dos argumentos de ORIXE\n" " -s, --symbolic-link facer ligazóns simbólicas en vez de copiar\n" " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" " seguridade\n" " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" " DIRECTORIO\n" " -u, --update copiar só se o ficheiro ORIXE é máis novo\n" " que o ficheiro de destino, ou se este\n" " non existe\n" " -v, --verbose explica-lo que está a se facer\n" " -x, --one-file-system manterse neste sistema de ficheiros\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "Por omisión, os ficheiros ORIXE con ocos son detectados por unha heurística\n" "ruda e o ficheiro DESTINO correspondente créase tamén con ocos. Este é\n" "o comportamento escollido por --sparse=auto. Indique --sparse=always para\n" "crear un ficheiro DESTINO con ocos se o ficheiro ORIXE contén unha\n" "sucesión de bytes cero longa de abondo. Utilice --sparse=never para\n" "inhibi-la creación de ficheiros con ocos.\n" "\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 #, fuzzy msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" "Renomea ORIXE a DESTINO, ou mover ORIXE(s) a DIRECTORIO.\n" "\n" " --backup[=CONTROL] facer unha copia de seguridade de cada " "ficheiro\n" " destino\n" " -b como --backup mais sen aceptar argumentos\n" " -f, --force non preguntar antes de sobrescribir\n" " -i, --interactive preguntar antes de sobrescribir\n" " --strip-trailing-slashes elimina-las barras finais de tódolos\n" " argumentos ORIXE\n" " -S, --suffix=SUFIXO substituí-lo sufixo habitual de copia de\n" " seguridade\n" " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" " DIRECTORIO\n" " -u, --update mover só os non-directorios máis antigos ou\n" " os recentes\n" " -v, --verbose explica-lo que está a se facer\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" " --sparse=CANDO controla-la creación de ficheiros con ocos\n" " -R, --recursive copia-los directorios recursivamente\n" " --strip-trailing-slashes quita-la barra final dos argumentos de ORIXE\n" " -s, --symbolic-link facer ligazóns simbólicas en vez de copiar\n" " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" " seguridade\n" " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" " DIRECTORIO\n" " -u, --update copiar só se o ficheiro ORIXE é máis novo\n" " que o ficheiro de destino, ou se este\n" " non existe\n" " -v, --verbose explica-lo que está a se facer\n" " -x, --one-file-system manterse neste sistema de ficheiros\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "Por omisión, os ficheiros ORIXE con ocos son detectados por unha heurística\n" "ruda e o ficheiro DESTINO correspondente créase tamén con ocos. Este é\n" "o comportamento escollido por --sparse=auto. Indique --sparse=always para\n" "crear un ficheiro DESTINO con ocos se o ficheiro ORIXE contén unha\n" "sucesión de bytes cero longa de abondo. Utilice --sparse=never para\n" "inhibi-la creación de ficheiros con ocos.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "O sufixo de copia de seguridade é `~', a menos que se estableza con --" "suffix\n" "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" "establecido coa opción --backup ou coa variable de ambiente " "VERSION_CONTROL.\n" "Os valores poden ser:\n" "\n" " none, off non facer nunca copias de seguridade (mesmo con --backup)\n" " numbered, t facer copias de seguridade numeradas\n" " existing, nil copias numeradas se xa existen numeradas, se non simples\n" " simple, never facer sempre copias de seguridade simples\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 #, fuzzy msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" "O sufixo de copia de seguridade é `~', a menos que se estableza con --" "suffix\n" "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" "establecido coa opción --backup ou coa variable de ambiente " "VERSION_CONTROL.\n" "Os valores poden ser:\n" "\n" " none, off non facer nunca copias de seguridade (mesmo con --backup)\n" " numbered, t facer copias de seguridade numeradas\n" " existing, nil copias numeradas se xa existen numeradas, se non simples\n" " simple, never facer sempre copias de seguridade simples\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Como caso especial, o cp fai unha copia de seguridad da ORIXE cando se usan\n" "as opcións `force' e `backup', e ORIXE e DESTINO teñen o mesmo nome que un\n" "ficheiro regular xa existente.\n" #: src/cp.c:317 #, fuzzy, c-format msgid "failed to preserve times for %s" msgstr "mantense a data de %s" #: src/cp.c:348 #, fuzzy, c-format msgid "failed to preserve permissions for %s" msgstr "non se pode cambia-los permisos de %s" #: src/cp.c:475 #, fuzzy, c-format msgid "cannot make directory %s" msgstr "non se pode crea-lo directorio %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existe pero non é un directorio" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "mantense a data de %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "argumento de salto" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "lista de campos non atopada" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "non se pode cambiar ao directorio %s" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "%s existe pero non é un directorio" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "ao manter os camiños de acceso, o destino ten que ser un directorio" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "\\%c: secuencia de escape non válida" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "non se poden facer ligazóns duras e simbólicas ao mesmo tempo" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo de copia de seguridade" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "a entrada desapareceu" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: número de liña inexistente" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: \"%s\": número de liña fóra do seu rango" #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr " na repetición %d\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: \"%s\": non se atopou nada que coincidira" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "erro ao buscar por expresións regulares" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "erro de escritura en \"%s\"" #: src/csplit.c:1059 #, fuzzy, c-format msgid "%s: integer expected after delimiter" msgstr "%s: esperábase un enteiro tras \"%c\"" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: fai falla un \"}\" no número de repeticións" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: fai falla un enteiro entre \"{\" e \"}\"" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: delimitador de peche \"%c\" non atopado" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: expresión regular incorrecta: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: patrón incorrecto" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: o número de liña debe ser maior que cero" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "o número de liña \"%s\" é menor que o número de liña anterior, %s" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "aviso: o número de liña \"%s\" é o mesmo que o número de liña anterior" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "especificador de conversión non atopado no sufixo" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "especificador de conversión do sufixo incorrecto: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "especificador de conversión do sufixo incorrecto: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "especificador de conversión do sufixo incorrecto: %c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "demasiadas especificacións de conversión %% no sufixo" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "especificación de conversión %% non atopada no sufixo" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: número incorrecto" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Uso: %s [OPCIÓN]... FICHEIRO PATRÓN...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Gravar anacos do FICHEIRO separadas polos PATRÓNs nos ficheiros \"xx01\",\n" "\"xx02\", ..., e amosa-lo número de bytes de cada anaco na saída estándar.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMATO emprega-lo FORMATO de sprintf no canto de %d\n" " -f, --prefix=PREFIXO emprega-lo PREFIXO no canto de \"xx\"\n" " -k, --keep-files non elimina-los ficheiros de saída se hai " "erros\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CIFRAS usa-lo número de cifras indicado no canto de " "2\n" " -s, --quite, --silent non amosa-los tamaños dos ficheiros de saída\n" " -z, --elide-empty-files elimina-los ficheiros de saída baleiros\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lese da entrada estándar se o FICHEIRO é -. Cada PATRÓN pode ser:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ENTEIRO copiar ata o número de liña indicado, sen incluílo\n" " /EXPREG/[DESPRAZ] copiar ata a liña que coincide, sen incluíla\n" " %EXPREG%[DESPRAZ] saltar ata a liña que coincide, sen incluíla\n" " {ENTEIRO} repeti-lo patrón anterior o número de veces indicado\n" " {*} repeti-lo patrón anterior tantas veces como se poida\n" "\n" "Un DESPRAZamento de liña é un signo \"+\" ou \"-\" seguido por un enteiro " "positivo.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Amosar partes seleccionadas das liñas de cada FICHEIRO na saída estándar.\n" "\n" #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA amosar só estes bytes\n" " -c, --characters=LISTA amosar só estes caracteres\n" " -d, --delimiter=DELIM emprega-lo DELIMitador no canto da tabulación\n" #: src/cut.c:204 #, fuzzy msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA amosar só estes campos; tamén amosa calquera liña\n" " que non conteña o carácter delimitador, agás se\n" " se indica a opción -s\n" " -n (ignórase)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --verbose amosar un diagnóstico no erro estándar antes de\n" " abrir cada ficheiro de saída\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited non amosa-las liñas que non conteñan " "delimitadores\n" " --output-delimiter=CADEA emprega-la CADEA coma delimitador de saída\n" " por defecto emprégase o delimitador de entrada\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Empregue un e só un de -b, -c ou -f. Cada LISTA componse dun rango ou " "varios\n" "rangos separados por comas. Cada rango é un de:\n" "\n" " N N-ésimo byte, carácter ou campo, contado dende 1\n" " N- do N-ésimo byte, carácter ou campo, ata a fin da liña\n" " N-M do N-ésimo ao M-ésimo (inclusive) byte, carácter ou campo\n" " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" "\n" "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "lista de bytes ou campos non correcta" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "opción de anchura non válida: \"%s\"" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "cadea de tipo incorrecta \"%s\"" #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "%s é grande de máis" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "o número do campo é cero" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "só se pode indicar un tipo de lista" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "o delimitador debe ser un só carácter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "debe especificarse unha lista de bytes, caracteres ou campos" #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "só se pode especificar un delimitador cando se traballa con campos" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "elimina-las liñas sen delimitadores ten sentido\n" "\tsó cando se traballa con campos" #: src/cut.c:870 msgid "missing list of fields" msgstr "lista de campos non atopada" #: src/cut.c:872 msgid "missing list of positions" msgstr "lista de posicións non atopada" #: src/date.c:123 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Uso: %s [OPCIÓN]... [+FORMATO]\n" " ou: %s [OPCIÓN] [MMDDhhmm[[SS]AA][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "entrada estándar" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "anchura non válida: \"%s\"" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "\\%c: secuencia de escape non válida" #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "as opcións para imprimir e establece-la data non se poden usar xuntas" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "o argumento `%s' non ten un `+' ó comezo;\n" "Cando se usa unha opción para especificar datas, tódolos\n" "argumentos que non son opcións teñen que ser unha cadea\n" "de formato comezando con `+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "non se pode establece-la data" #: src/date.c:558 src/du.c:371 #, fuzzy, c-format msgid "time %s is out of range" msgstr "%s: número de liña inexistente" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii de EBCDIC a ASCII\n" " ebcdic de ASCII a EBCDIC\n" " ibm de ASCII a EBCDIC alternado\n" " block completar rexistros rematados en nova liña con espacios ata o\n" " tamaño cbs\n" " unblock substituí-los espacios finais dos rexistros de tamaño cbs por\n" " unha fin de liña\n" " lcase cambia-las letras maiúsculas a minúsculas\n" " ucase cambia-las letras minúsculas a maiúsculas\n" " swab trocar cada par de bytes da entrada\n" " sync completar cada bloque de entrada con NULs ata o tamaño ibs; ao\n" " usalo con block e unblock, completar con espacios en vez de " "NULs\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc non trunca-lo ficheiro de saída\n" " noerror continuar se hai erros de lectura\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s existe pero non é un directorio" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "rexistro truncado" msgstr[1] "rexistro truncado" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, fuzzy, c-format msgid "closing input file %s" msgstr "creando ficheiro \"%s\"\n" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "pechando o ficheiro de saída %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, fuzzy, c-format msgid "writing to %s" msgstr "erro escribindo %s" #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opción descoñecida \"-%c\"" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "opción de anchura non válida: \"%s\"" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "número non válido ao comezo do campo" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "grupo incorrecto" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "usuario incorrecto" #: src/dd.c:1266 src/truncate.c:310 #, fuzzy, c-format msgid "invalid number %s" msgstr "número incorrecto" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "non se poden omiti-lo usuario e o grupo" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "As cadeas que se compararon foron %s e %s" #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "non se pode executar %s" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: non se pode borrar" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "aviso: ancho %lu incorrecto; usando %d na súa vez" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "establecendo a data de %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: non se pode desprazar á posición relativa %s%s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "avanzando os pasados %s bytes no ficheiro de saída %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "mantense a data de %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "avanzando os pasados %s bytes no ficheiro de saída %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "mantense a data de %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Sist. Fich" #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloques" #: src/df.c:181 msgid "Used" msgstr "Usado" #: src/df.c:184 msgid "Available" msgstr "Dispoñib" #: src/df.c:187 msgid "Use%" msgstr "Uso%" #: src/df.c:190 msgid "Inodes" msgstr "Inodos" #: src/df.c:193 msgid "IUsed" msgstr "IUsados" #: src/df.c:196 msgid "IFree" msgstr "ILibres" #: src/df.c:199 msgid "IUse%" msgstr "IUso%" #: src/df.c:202 msgid "Mounted on" msgstr "Montado en" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Tamaño" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Disp" #: src/df.c:474 msgid "Capacity" msgstr "Capacid" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Aviso: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "o sistema de ficheiros tipo %s foi escollido e exluído ao mesmo tempo" #: src/df.c:1500 msgid "Warning: " msgstr "Aviso: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%snon se pode le-la táboa cos sistemas de ficheiros montados" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/dircolors.c:98 #, fuzzy msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Escribe os comandos para establece-la variable de ambiente LS_COLORS.\n" "\n" "Para axusta-lo formato de saída:\n" " -b, --sh, --bourne-shell amosa-lo código para establecer LS_COLORS\n" " para Bourne shell\n" " -c, --csh, --c-shell amosa-lo código para establecer LS_COLORS\n" " para C-shell\n" " -p, --print-database amosa-los códigos predeterminados\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "Se se indica FICHEIRO, lese para determinar que cores usar para cada tipo\n" "de ficheiros e extensións. Se non, úsase unha base de datos precompilada.\n" "Para máis detalles do formato destes ficheiros, execute `dircolors\n" "--print-database'.\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: número de segundos incorrecto" #: src/dircolors.c:358 #, fuzzy, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s: opción descoñecida \"%c%s\"\n" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, fuzzy, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "as opcións de estilos de saída lexible para humanos e para o\n" "stty son mutuamente exluintes" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "non existe a variable de ambiente SHELL, e non se indicou ningunha opción\n" "de tipo de shell" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Amosar NOME co seu /compoñente final quitado; se NOME non contén ningún /,\n" "escribirase `.' (o directorio actual).\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated remata-las liñas cun byte 0, non un\n" " salto de liña\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "erro de lectura" #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "anchura non válida: \"%s\"" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argumento incorrecto %s para %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "non se pode resumir e amosar tódalas entradas ao mesmo tempo" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "aviso: resumir é o mesmo que usar --max-depth=0" #: src/du.c:900 #, fuzzy, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "aviso: resumir vai en conflicto con --max-depth=%d" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: erro de lectura" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "grupo incorrecto" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Stallman e David MacKenzie" #: src/env.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Establecer cada NOME a VALOR no ambiente e executar COMANDO.\n" "\n" " -i, --ignore-environment comezar cun ambiente baleiro\n" " -u, --unset=NOME quita-la variable do ambiente\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converti-las tabulacións de cada FICHEIRO a espacios, gravando na saída\n" "estándar. Sen un FICHEIRO, ou se o FICHEIRO é -, lese da entrada estándar.\n" "\n" #: src/expand.c:114 #, fuzzy msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial non converti-las tabulacións despois de algo distinto\n" " a un espacio en branco\n" " -t, --tabs=NÚMERO face-las tabulacións de NÚMERO espacios, non 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA empregar unha lista separada por comas de " "posicións\n" " de tabulación\n" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "%s é grande de máis" #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "o tamaño da tabulación contén un carácter incorrecto" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "o tamaño da tabulación non pode ser 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "os tamaños das tabulacións deben ser crecentes" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "%s: ficheiro longo de máis" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, fuzzy, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Teña en conta que moitos dos operadores necesitan caracteres de escape ou\n" "comiñas para as shells.\n" "As comparacións son aritméticas se ambos ARGs son números, doutro xeito " "serán\n" "lexicográficas.\n" "Os encaixes dos patróns devolven a cadea entre \\( e \\), ou nada; se non\n" "se usan \\( e \\), devólvese o número de caracteres coincidintes ou 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, fuzzy, c-format msgid "syntax error" msgstr "erro estándar" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "erro ao buscar por expresións regulares" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argumento de límite" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Estabreza LC_ALL='C' para palia-lo problema" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "As cadeas que se compararon foron %s e %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "`%s' non é un enteiro positivo válido" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s é grande de máis" #: src/factor.c:2454 #, fuzzy, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Escribir factores de cada NÚMERO; sen argumentos lese da entrada estándar.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" " Amosa-los factores primos de tódolos NÚMEROs enteiros indicados. Se non " "se\n" " indicaron argumentos na liña de comandos, lense da entrada estándar.\n" #: src/find-mount-point.c:40 #, fuzzy, c-format msgid "cannot get current directory" msgstr "non se pode crea-lo directorio %s" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, fuzzy, c-format msgid "cannot change to directory %s" msgstr "non se pode cambiar ao directorio %s" #: src/find-mount-point.c:70 #, fuzzy, c-format msgid "cannot stat current directory (now %s)" msgstr "non se pode crea-lo directorio %s" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Uso: %s [-DIXITOS] [OPCIÓN]... [FICHEIRO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformatar cada parágrafo nos FICHEIROs, escribindo na saída estándar.\n" "Se non se indica un FICHEIRO ou se é \"-\", lese da entrada estándar.\n" "\n" #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin preserva-lo sangrado das dúas primeiras liñas\n" " -p, --prefix=CADEA combinar só as liñas coa CADEA coma prefixo\n" " -s, --splitonly parti-las liñas longas, pero non encher\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph sangría da primeira liña diferente da da " "segunda\n" " -u, --uniform-spacing un espacio entre palabras, dous tralas frases\n" " -w, --width=NÚMERO ancho de liña máximo (75 columnas por defecto)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, fuzzy, c-format msgid "invalid width: %s" msgstr "anchura non válida: \"%s\"" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Parti-las liñas de entrada de cada FICHEIRO (entrada estándar por defecto),\n" "gravando na saída estándar.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes contar bytes no canto de columnas\n" " -s, --spaces partir nos espacios\n" " -w, --width=ANCHO empregar ANCHO columnas no canto de 80\n" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "número de columnas incorrecto: \"%s\"" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "non se poden omiti-lo usuario e o grupo" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "non se poden cambia-los permisos de `%s'" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "non se poden omiti-lo usuario e o grupo" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Non hai tal usuario" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Amosa-las primeiras 10 liñas de cada FICHEIRO na saída estándar.\n" "Con máis dun FICHEIRO, preceder cada un cunha cabeceira que dá o nome do\n" "ficheiro. Sen un FICHEIRO, ou cando este é -, lese da entrada estándar.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent non amosa-las cabeceiras cos nomes dos ficheiros\n" " -v, --verbose amosar sempre as cabeceiras cos nomes dos " "ficheiros\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "número de bytes a comparar non válido" #: src/head.c:440 #, fuzzy, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: non se pode desprazar á posición relativa %s%s" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, fuzzy, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: non se pode desprazar á posición %s%s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: ficheiro longo de máis" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s é tan grande que non é representable" #: src/head.c:886 msgid "number of lines" msgstr "número de liñas" #: src/head.c:886 msgid "number of bytes" msgstr "número de bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "número de liñas incorrecto" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "número de bytes incorrecto" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "%s: opción incorrecta -- %c\n" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Uso: %s\n" " ou: %s OPCIÓN\n" "Escribi-lo identificador numérico (en hexadecimal) da máquina actual.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/hostname.c:56 #, fuzzy, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Uso: %s [NOME]\n" " ou: %s OPCIÓN\n" "Amosar ou establece-lo nome da máquina deste sistema.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "non se poden facer operacións de ioctl en \"%s\"" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "non se pode establece-lo nome de máquina; o sistema non ten esa capacidade" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "non se pode determina-lo nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Amosa-la información de NOME_USUARIO, ou do usuario actual.\n" "\n" " -a ignorada, para compatibilidade con outras versións\n" " -g, --group amosar só o ID de grupo\n" " -G, --groups amosar só os grupos suplementarios\n" " -n, --name amosa-lo nome en vez do número, para as opcións -ugG\n" " -r, --real amosa-lo ID real en vez do efectivo, para as opcións -ugG\n" " -u, --user amosar só o ID de usuario\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión\n" "\n" "Sen ningunha OPCIÓN, escríbese un conxunto útil de información de\n" "identificación.\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "non se pode partir en máis dun xeito" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "non se pode escribir só o nome ou o identificador real no formato por defecto" #: src/id.c:199 #, fuzzy, c-format msgid "can't get process context" msgstr "non se pode obte-lo tipo de procesador" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "non se poden cambia-los permisos de `%s'" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " grupos=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "non se pode crea-lo directorio %s" #: src/install.c:414 #, fuzzy, c-format msgid "creating directory %s" msgstr "non se pode crea-lo directorio %s" #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "non se pode cambia-los permisos de %s" #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "non se pode crea-lo directorio %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, fuzzy, c-format msgid "fork system call failed" msgstr "ficheiro especial de bloque" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "erro escribindo %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, fuzzy, c-format msgid "invalid user %s" msgstr "usuario incorrecto" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Uso: %s [OPCIÓN]... ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, fuzzy, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "a cadea de formato non se pode especificar ó escribir cadeas da mesma anchura" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "" "a cadea de formato non se pode especificar ó escribir cadeas da mesma anchura" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, fuzzy, c-format msgid "invalid mode %s" msgstr "anchura non válida: \"%s\"" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 #, fuzzy msgid "Mike Haertel" msgstr "Mike Haertel e Paul Eggert" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Para cada parella de liñas de entrada con campos de join idénticos, amosar\n" "unha liña na saída estándar. O campo de join por defecto é o primeiro,\n" "delimitado con espacios en branco. Cando FICH1 ou FICH2 (non os dous) é -,\n" "lese da entrada estándar.\n" "\n" " -a LADO amosa-las liñas sen parella que proceden do ficheiro " "LADO\n" " -e BALEIRO substituí-los campos de entrada baleiros con BALEIRO\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignora-las maiúsculas/minúsculas ao compara-los campos\n" " -j CAMPO (obsoleto) equivalente a \"-1 CAMPO -2 CAMPO\"\n" " -j1 CAMPO (obsoleto) equivalente a \"-1 CAMPO\"\n" " -j2 CAMPO (obsoleto) equivalente a \"-2 CAMPO\"\n" " -o FORMATO aplica-lo FORMATO ao construí-la liña de saída\n" " -t CAR emprega-lo CARácter coma separador de campos de entrada\n" " e saída\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "A menos que se indique -t CAR, os espacios en branco ao principio da liña\n" "separan campos e ignóranse; senón os campos sepáranse con CAR. Cada CAMPO é\n" "un número de campo que se conta dende 1. FORMATO é unha ou máis " "especificacións\n" "separadas por comas, cada unha do tipo \"LADO.CAMPO\" ou \"0\". O FORMATO " "por\n" "defecto amosa o campo de join, os campos restantes de FICHEIRO1 e os campos\n" "restantes de FICHEIRO2, todos separados por CAR.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "número de campo incorrecto: \"%s\"" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "especificador de campo incorrecto: \"%s\"" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "número de ficheiro incorrecto na especificación de campos: \"%s\"" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "tabulación multi-carácter \"%s\"" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "os dous ficheiros non poden ser entrada estándar" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 #, fuzzy msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" "Copiar a entrada estándar a cada ficheiro, e tamén á saída estándar.\n" "\n" " -a, --append engadir ós FICHEIROs indicados, non " "sobrescribir\n" " -i, --ignore-interrupts ignora-los sinais de interrupción\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, fuzzy, c-format msgid "%s: invalid process id" msgstr "%s: patrón incorrecto" #: src/kill.c:259 #, fuzzy, c-format msgid "invalid option -- %c" msgstr "%s: opción incorrecta -- %c\n" #: src/kill.c:268 #, fuzzy, c-format msgid "%s: multiple signals specified" msgstr "\\%c: secuencia de escape non válida" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "argumento incorrecto %s para %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, fuzzy, c-format msgid "cannot create link %s to %s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:190 #, fuzzy, c-format msgid "%s: hard link not allowed for directory" msgstr "`%s' non é un directorio" #: src/ln.c:255 #, fuzzy, c-format msgid "%s: cannot overwrite directory" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: ¿substituír %s?" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "non se pode crea-lo directorio %s" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Uso: %s [OPCIÓN]... ORIXE DESTINO (primeira forma)\n" " ou: %s [OPCIÓN]... ORIXE... DIRECTORIO (segunda forma)\n" " ou: %s -d [OPCIÓN]... DIRECTORIO (terceira forma)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%s existe pero non é un directorio" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "non se pode crea-lo directorio %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, fuzzy, c-format msgid "Usage: %s [OPTION]\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s: número incorrecto" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 #, fuzzy msgid "%b %e %Y" msgstr "%e %b %Y %H:%M" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 #, fuzzy msgid "%b %e %H:%M" msgstr "%e %b %Y %H:%M" #: src/ls.c:1580 #, fuzzy, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "ignorando o tamaño de tabulador non válido na variable de ambiente TABSIZE: " "%s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorando o ancho non válido na variable de ambiente COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "ignorando o tamaño de tabulador non válido na variable de ambiente TABSIZE: " "%s" #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "anchura non válida: \"%s\"" #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "cadea de tipo incorrecta \"%s\"" #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "argumento incorrecto %s para %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Os parámetros correctos son:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, fuzzy, c-format msgid "unrecognized prefix: %s" msgstr "opción descoñecida \"-%c\"" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "a variable de ambiente LS_COLORS ten un valor ilexible" #: src/ls.c:2514 src/pwd.c:161 #, fuzzy, c-format msgid "cannot open directory %s" msgstr "non se pode crea-lo directorio %s" #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "non se pode crea-lo directorio %s" #: src/ls.c:2615 src/pwd.c:229 #, fuzzy, c-format msgid "reading directory %s" msgstr "non se pode crea-lo directorio %s" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "non se pode cambiar ao directorio %s" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "As cadeas que se compararon foron %s e %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -g (ignorada)\n" " -G, --no-group non amosa-la información do grupo\n" " -h, --human-readable escribi-los tamaños nun formato lexible para\n" " humanos (p.ex. 1K 234M 2G)\n" " --si o mesmo, mais usando potencias de 1000, non " "1024\n" " -H igual que `--si' por agora; cambiará para " "seguir\n" " a norma POSIX\n" " --indicator-style=PALABRA engadir un indicador de estilo PALABRA aos\n" " nomes das entradas: none [ningún] " "(defecto),\n" " classify [clasificar] (-F), file-type\n" " [tipo de ficheiro] (-p)\n" " -i, --inode escribi-lo número de índice de cada ficheiro\n" " -I, --ignore=PATRÓN non amosa-las entradas que encaixen co PATRÓN\n" " de shell\n" " -k, --kilobytes coma --block-size=1024\n" " -l usar un formato longo de listaxe\n" " -L, --dereference amosa-las entradas apuntadas polas ligazóns\n" " simbólicas\n" " -m encher ao ancho cunha lista de entradas " "separadas\n" " por coma\n" " -n, --numeric-uid-gid amosar UIDs e GIDs numéricos en vez dos nomes\n" " -N, --literal amosa-los nomes reais (non tratar p.ex. os\n" " caracteres de control como especiais)\n" " -o usar un formato de listado longo sen a " "información\n" " do grupo\n" " -p, --file-type engadir un indicador ás entradas (un de /=@|)\n" " -q, --hide-control-chars escribir ? en vez dos caracteres non gráficos\n" " --show-control-chars amosa-los caracteres non gráficos tal como son\n" " (predeterminado a menos que o programa sexa\n" " `ls' e a saída sexa un terminal)\n" " -Q, --quote-name arrodea-los nomes entre comiñas\n" " --quoting-style=PALABRA utiliza-lo estilo de cita PALABRA para os " "nomes\n" " das entradas:\n" " literal, shell, shell-always, c, escape\n" " -r, --reverse inverte-la orde ao face-la ordenación\n" " -R, --recursive amosa-los subdirectorios recursivamente\n" " -s, --size escribi-lo tamaño de cada ficheiro, en bloques\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -f, --fields=LISTA amosar só estes campos; tamén amosa calquera liña\n" " que non conteña o carácter delimitador, agás se\n" " se indica a opción -s\n" " -n (ignórase)\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper e Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Emprego: %s [OPCIÓN] [FICHEIRO]...\n" " ou: %s [OPCIÓN] --check [FICHEIRO]\n" "Amosar ou comprobar sumas de comprobación %s (de %d bits).\n" "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary usar escrituras binarias á consola.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "As seguintes dúas opcións son útiles só ao comproba-las sumas:\n" " --status non amosar nada; o código de estado indica o " "éxito\n" " -w, --warn abisar das liñas mal formatadas\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "As sumas calcúlanse tal como se describe en %s. Ao comprobar, a entrada\n" "debería ser unha saída anterior deste programa. O modo por defecto é amosar\n" "unha liña con suma de comprobación, un carácter que indica tipo (\"*\" para\n" "binario, \" \" para texto) e o nome de cada FICHEIRO.\n" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "%s: non se atoparon liñas de suma de comprobación %s ben formatadas" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %lu: liña de suma de comprobación %s mal formatada" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: apertura ou lectura FALLIDA\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "FALLA" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: non se atoparon liñas de suma de comprobación %s ben formatadas" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "AVISO: non se puido ler %d de %d %s listados" msgstr[1] "AVISO: non se puido ler %d de %d %s listados" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "AVISO: NON coincidiron %d de %d %s calculadas" msgstr[1] "AVISO: NON coincidiron %d de %d %s calculadas" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "a opción --status ten sentido só cando se verifican sumas" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "as opcións --binary e --text non teñen sentido cando se comproban sumas" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "a opción --status ten sentido só cando se verifican sumas" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "a opción --warn ten sentido só cando se verifican sumas" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "a opción --status ten sentido só cando se verifican sumas" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "a opción --status ten sentido só cando se verifican sumas" #: src/mkdir.c:56 src/rmdir.c:164 #, fuzzy, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" "Crea o(s) DIRECTORIO(s), se aínda non existen.\n" "\n" " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en vez\n" " de rwxrwxrwx - umask\n" " -p, --parents suprimi-los erros se xa existe, crea-los directorios\n" " pais se for necesario\n" " -v, --verbose escribir unha mensaxe por cada directorio creado\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/mkdir.c:168 #, fuzzy, c-format msgid "created directory %s" msgstr "non se pode crea-lo directorio %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" "Crea tuberías nomeadas (FIFOs) cos NOMEs indicados.\n" "\n" " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en vez\n" " de a=rw - umask\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "número incorrecto" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 #, fuzzy msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "Crea o ficheiro especial NOME do TIPO indicado.\n" "\n" " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en vez\n" " de a=rw - umask\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "MAJOR e MINOR están prohibidos para o TIPO p, obrigatorios noutros casos.\n" "O TIPO pode ser:\n" "\n" " b crea un ficheiro especial de bloques (buffered)\n" " c, u crea un ficheiro especial de caracteres (unbuffered)\n" " p crea unha FIFO\n" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "" "ao crear ficheiros especiais de bloque, débense indicar os números\n" "de dispositivo `major' e `minor'" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "número de liña inicial incorrecto: \"%s\"" #: src/mknod.c:176 #, fuzzy, c-format msgid "block special files not supported" msgstr "ficheiro especial de bloque" #: src/mknod.c:185 #, fuzzy, c-format msgid "character special files not supported" msgstr "ficheiro especial de carácter" #: src/mknod.c:201 #, fuzzy, c-format msgid "invalid major device number %s" msgstr "número de liña inicial incorrecto: \"%s\"" #: src/mknod.c:206 #, fuzzy, c-format msgid "invalid minor device number %s" msgstr "número de liña inicial incorrecto: \"%s\"" #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "argumento incorrecto %s para %s" #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "argumento incorrecto %s para %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "demasiados argumentos" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "non se pode crea-lo directorio %s" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "mantense a data de %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" "Renomea ORIXE a DESTINO, ou mover ORIXE(s) a DIRECTORIO.\n" "\n" " --backup[=CONTROL] facer unha copia de seguridade de cada " "ficheiro\n" " destino\n" " -b como --backup mais sen aceptar argumentos\n" " -f, --force non preguntar antes de sobrescribir\n" " -i, --interactive preguntar antes de sobrescribir\n" " --strip-trailing-slashes elimina-las barras finais de tódolos\n" " argumentos ORIXE\n" " -S, --suffix=SUFIXO substituí-lo sufixo habitual de copia de\n" " seguridade\n" " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" " DIRECTORIO\n" " -u, --update mover só os non-directorios máis antigos ou\n" " os recentes\n" " -v, --verbose explica-lo que está a se facer\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "argumento incorrecto %s para %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "ten que se dar un comando co axuste" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "non se pode crea-lo ficheiro temporal" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "non se pode establece-la data" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Amosar cada FICHEIRO na saída estándar, engadindo os números de liña.\n" "Sen un FICHEIRO, ou cando este é -, lese da entrada estánda.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " "corpo\n" " -d, --section-delimiter=CC empregar CC para separa-las páxinas " "lóxicas\n" " -f, --footer-numbering=ESTILO usa-lo ESTILO para numera-las liñas do pé\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=ESTILO emprega-lo ESTILO para numera-las liñas\n" " da cabeceira\n" " -i, --page-increment=NÚMERO incremento do número de liña en cada liña\n" " -l, --join-blank-lines=NÚMERO contar cada grupo de NÚMERO liñas " "baleiras\n" " coma unha soa liña\n" " -n, --number-format=FORMATO inseri-los números de liña seguindo o " "FORMATO\n" " -p, --no-renumber non reinicia-los números de liña con cada\n" " páxina lóxica\n" " -s, --number-separator=CADEA engadi-la CADEA tras cada número de liña\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=NÚMERO primeiro número de liña nas páxinas " "lóxicas\n" " -w, --number-width=NÚMERO empregar NÚMERO columnas nos números de " "liña\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Por defecto selecciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC son\n" "dous caracteres delimitadores para separar páxinas lóxicas; use non se\n" "indica o segundo carácter suponse :. Escriba \\\\ para obter \\.\n" "ESTILO pode ser:\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numerar tódalas liñas\n" " t numerar só as liñas que non estean baleiras\n" " n non numerar ningunha liña\n" " pEXPREG numera-las liñas que encaixen na expresión regular EXPREG\n" "\n" "FORMATO pode ser:\n" "\n" " ln xustificado á esquerda, sen ceros á esquerda\n" " rn xustificado á dereita, sen ceros á esquerda\n" " rz xustificado á dereita, con ceros á esquerda\n" "\n" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "o número do campo é cero" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "número de campo incorrecto: \"%s\"" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "número incorrecto" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "número de ficheiro incorrecto na especificación de campos: \"%s\"" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "número de liña inicial incorrecto: \"%s\"" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "incremento de números de liña incorrecto: \"%s\"" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "número de liñas en blanco incorrecto: \"%s\"" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "ancho do campo do número de liña incorrecto: \"%s\"" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "incremento de números de liña incorrecto: \"%s\"" #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "os dous ficheiros non poden ser entrada estándar" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "demasiados argumentos" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, fuzzy, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: número de liñas incorrecto" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valor non convertido por completo" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "número incorrecto" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "incremento de números de liña incorrecto: \"%s\"" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: ficheiro longo de máis" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "cadea de tipo incorrecta \"%s\"" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "argumento incorrecto %s para %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "incremento de números de liña incorrecto: \"%s\"" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "cadea de tipo incorrecta \"%s\"" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "número de campo incorrecto: \"%s\"" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "anchura non válida: \"%s\"" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "\\%c: secuencia de escape non válida" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "erro lendo %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "os dous ficheiros non poden ser entrada estándar" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Escribir na saída estándar unha representación non ambigua, con\n" "bytes octais por defecto, do FICHEIRO. Con máis dun argumento de\n" "FICHEIRO, concatenalos na orde listada para forma-la entrada. Sen\n" "un FICHEIRO, ou se este é -, lese da entrada estándar.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Para a sintaxe antiga (segundo formato de chamada), DESPRAZAMENTO significa\n" "-j DESPRAZAMENTO. ETIQUETA é o pseudo-enderezo do primeiro byte imprimido,\n" "que se incrementa segundo o envorcado progresa. Para o DESPRAZAMENTO e a\n" "ETIQUETA, un prefixo 0x ou 0X indica hexadecimal; os sufixos poden ser .\n" "para octal e b para multiplicar por 512.\n" "\n" "TIPO componse de unha ou máis destas especificacións:\n" "\n" " a carácter con nome\n" " c carácter ASCII ou escapado\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BASE indicar como se amosan os desprazamentos\n" " -j, --skip-bytes=BYTES omiti-los primeiros BYTES bytes de entrada\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES limita-lo envorado a BYTES bytes de entrada\n" " -s, --strings[=BYTES] usar cadeas de alomenos BYTES caracteres " "gráficos\n" " -t, --format=TIPO escolle-lo formato ou formatos de saída\n" " -v, --output-duplicatoes non empregar * para indica-las liñas borradas\n" " -w, --width[=BYTES] amosar BYTES bytes por liña de saída\n" " --traditional acepta-los argumentos en formato tradicional\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "As especificacións de formtao tradicionais pódense mesturar; acumúlanse:\n" " -a igual que -t a, escoller caracteres nomeados\n" " -b igual que -t oC, escoller bytes octais\n" " -c igual que -t c, escoller caracteres ASCII ou escapados\n" " -d igual que -t u2, escoller números curtos decimais sen signo\n" #: src/od.c:345 #, fuzzy msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f igual que -t fF, escoller números en punto flotante\n" " -h igual que -t x2, escoller números curtos hexadecimais\n" " -i igual que -t d2, escoller números curtos decimais\n" " -l igual que -t d4, escoller números longos decimais\n" " -o igual que -t o2, escoller números curtos octais\n" " -x igual que -t x2, escoller números curtos hexadecimais\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[TAMAÑO] decimal con signo, TAMAÑO bytes por enteiro\n" " f[TAMAÑO] punto flotante, TAMAÑO bytes por enteiro\n" " o[TAMAÑO] octal, TAMAÑO bytes por enteiro\n" " u[TAMAÑO] decimal sen signo, TAMAÑO bytes por enteiro\n" " x[TAMAÑO] hexadecimal, TAMAÑO bytes por enteiro\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "TAMAÑO é un número. Para cada TIPO de doux, TAMAÑO tamén pode ser C\n" "para sizeof(char), S para sizeof(short), I para sizeof(int) ou L para\n" "sizeof(long). Se TIPO é f, TAMAÑO tamén pode ser F para sizeof(float),\n" "D para sizeof(double) ou L para sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "cadea de tipo incorrecta \"%s\"" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "cadea de tipo incorrecta \"%s\";\n" "este sistema non proporciona un tipo integral de %lu bytes" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "cadea de tipo incorrecta \"%s\";\n" "este sistema non proporciona un tipo de punto flotante de %lu bytes" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "carácter \"%c\" incorrecto na cadea de tipo \"%s\"" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "non se pode saltar máis aló do final da entrada combinada" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "base de direccións de saída \"%c\" incorrecta; debe ser un carácter de [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "non se pode especificar un tipo ao volcar cadeas" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "o modo de compatibilidade soporta 3 argumentos como moito" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "aviso: ancho %lu incorrecto; usando %d na súa vez" #: src/operand2sig.c:69 #, fuzzy, c-format msgid "%s: invalid signal" msgstr "%s: PID incorrecto" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "a entrada estándar está pechada" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escribi-las liñas que consisten nas liñas correspondentes secuenciamente de\n" "cada FICHEIRO, separadas por tabulacións, na saída estándar.\n" "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA utilizar carácters da LISTA no canto de " "tabulacións\n" " -s, --serial pegar un ficheiro de cada vez no canto de en " "paralelo\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "carácter \"%c\" incorrecto na cadea de tipo \"%s\"" #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "ficheiro normal baleiro" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Jay Lepreau e David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nome de usuario: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Na vida real: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "directorio" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Proxecto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 #, fuzzy msgid "Name" msgstr " Nome" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "Inactivo" #: src/pinky.c:411 msgid "When" msgstr "Cando" #: src/pinky.c:414 msgid "Where" msgstr "Onde" #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "non se pode especificar ficheiros cando se usa --string" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Pete TerMaat e Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "\"--pages=PRIMEIRA_PÃXINA[:ÚLTIMA_PÃXINA]\" falta un argumento" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "cadea de tipo incorrecta \"%s\"" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "\"-l LONXITUDE\" número de liñas incorrecto: \"%s\"" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "\"-N NÚMERO\" número de liña inicial incorrecto: \"%s\"" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "\"-o MARXE\" desprazamento de liña incorrecto: \"%s\"" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-w ANCHO_PAXINA\" número de caracteres incorrecto: \"%s\"" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-W ANCHO_PAXINA\" número de caracteres incorrecto: \"%s\"" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Non se pode especifica-lo número de columnas ao imprimir en paralelo." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Non se pode especifica-la impresión a través e en paralelo á vez." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "\"-%c\" caracteres extra ou número non válido no argumento: \"%s\"" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "páxina demasiado estreita" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "o número do campo é cero" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Paxinar ou encolumna-lo(s) FICHEIRO(s) para imprimir.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIMEIRA[:DERRADEIRA], --pages=PRIMEIRA[:DERRADEIRA]\n" " comezar [parar] a impresión na páxina PRIMEIRA " "[DERRADEIRA]\n" " -COLUMNA, --columns=COLUMNA\n" " producir unha saída en varias COLUMNAS, e imprimi-las\n" " columnas, agás se se emprega -a. Balancea-lo número de\n" " liñas nas columnas de cada páxina.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across separar en filas horizontais no canto de en columnas\n" " verticais; emprégase con -COLUMNA\n" " -c, --show-control-chars\n" " emprega-la notación do circunflexo (^G) e da barra " "octal\n" " -d, --double-space\n" " amosa-la saída a doble espacio\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMATO\n" " emprega-lo FORMATO para a data da cabeceira\n" " -e[CAR[ANCHO]], --expand-tabs[=CAR[ANCHO]]\n" " expandi-los CARacteres de entrada (tabulacións) ao\n" " ANCHO de tabulación (8)\n" " -F, -f, --form-feed\n" " empregar saltos de páxina no canto de saltos de liña " "para\n" " separa-las páxinas (cunha cabeceira de páxina de tres\n" " liñas con -F ou unha cabeceira e pé de 5 liñas sen -" "F)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h CABECEIRA, --header=CABECEIRA\n" " empregar unha CABECEIRA centrada no canto do nome do\n" " ficheiro na cabeceira da páxina. -h \"\" amosa unha " "liña\n" " e branco; non empregue -h\"\"\n" " -i[CAR[ANCHO]], -output-tabs[=CAR[ANCHO]]\n" " cambia-los CARacteres (tabulacións) por espacios ata o\n" " ANCHO das tabulacións (8)\n" " -J, --join-lines mesturar liñas completas; desactiva o truncamento de " "liñas\n" " de -W, sen aliñamento de columnas, --sep-string[=CADEA\n" " estabrece os separadores\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l LONXITUDE, --length=LONXITUDE\n" " estabrece-la lonxitude das páxinas a LONXITUDE (66) " "liñas\n" " (o número de liñas de texto por defecto é 56, e con -F " "63)\n" " -m, --merge amosar tódolos ficheiros en paralelo, un en cada " "columna,\n" " trunca-las liñas, pero uni-las liñas de lonxitude\n" " completa con -J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[CIFRAS]], --number-lines[=SEP[CIFRAS]]\n" " numera-las liñas, empregando CIFRAS (5) cifras, e " "despois\n" " un SEParador (tabulación); a conta comeza por defecto " "na\n" " primeira liña do ficheiro de entrada\n" " -N NÚMERO, --first-line-number=NÚMERO\n" " comezar a contar no NÚMERO na primeira liña da primeira\n" " páxina imprimida (vexa +PRIMEIRA)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o MARXE, --indent=MARXE\n" " desprazar cada liña con MARXE (cero) espacios; non ten\n" " efecto sobre -w ou -W, MARXE hase engadir a ANCHO\n" " -r, --no-file-warnings\n" " omiti-lo aviso cando non se pode abrir un ficheiro\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CAR], --separator[=CAR]\n" " separa-las columnas cun só carácter; o valor por " "defecto\n" " de CAR é a tabulación sen -w e \"ningún\" con -w\n" " -s[CAR] desactiva o truncamento das liñas en tódalas\n" " opcións de tres columnas (-COLUMNA|-a -COLUMNA|-m) agás\n" " se -w está estabrecido\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " separa-las columnas coa CADEA,\n" " sen -S: Separador por defecto (tabulación) con -J e\n" " <espacio> noutro caso (igual que -S\" \"), sen efecto " "nas\n" " opcións de columnas\n" " -t, --omit-header omiti-las cabeceiras e pés de páxina\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " omiti-las cabeceiras e pés de páxina, e elimina-las\n" " paxinacións estabrecidas mediante saltos de páxina nos\n" " ficheiros de entrada\n" " -v, --show-nonprinting\n" " emprega-la notación de barra octal\n" " -w, ANCHO, --width=ANCHO\n" " estabrece-lo ancho da páxina a ANCHO (72) caracteres só\n" " para o formato de saída de varias solumnas de texto,\n" " -s[car] desactívao (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W ANCHO, --page-width=ANCHO\n" " estabrecer sempre o ancho da páxina a ANCHO (72)\n" " caracteres, trunca-las liñas, agás cando a opción -J " "estea\n" " estabrecida; non interfire con -S ou -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Uso: %s [VARIABLE]...\n" " ou: %s OPCIÓN\n" "Se non se indica ningunha VARIABLE de ambiente, escribir todas elas.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated remata-las liñas cun byte 0, non un\n" " salto de liña\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "aviso: %s: os caracteres que seguen á constante de carácter foron ignorados" #: src/printf.c:88 #, fuzzy, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: agardábase un valor numérico" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valor non convertido por completo" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "falta un número hexadecimal na secuencia de escape" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "clase de caracteres \"%s\" incorrecta" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "anchura non válida: \"%s\"" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "opción de anchura non válida: \"%s\"" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: especificación de campo incorrecta \"%s\"" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "aviso: os argumentos de máis foron ignorados" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (para a expresión regular \"%s\")" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" " ou: %s -G [OPCIÓN] [ENTRADA [SAÃDA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Amosar un índice permutado, incluíndo o contexto, das palabras dos ficheiros " "de entrada.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference amosa-las referencias xeradas " "automaticamente\n" " -C, --copyright amosa-lo Copyright e as condicións de copia\n" " -G, --traditional funcionar coma o \"ptx\" de System V\n" " -F, --flag-truncation=CADEA emprega-la CADEA para marca-las liñas " "truncadas\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=CADEA nome de macro a empregar no canto de \"xx" "\"\n" " -O, --format=roff xera-la saída coma directivas roff\n" " -R, --right-side-refs pór referencias á dereita, sen contalas en -" "w\n" " -S, --sentence-regexp=EXPREG para a fin de liña ou fin de oración\n" " -T, --format=tex xera-la saída coma directivas TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=EXPREG emprega-la EXPREG para compara-las claves\n" " -b, --break-file=FICHEIRO caracteres que parten palabras neste " "FICHEIRO\n" " -f, --ignore-case converte-las minúsculas a maiúsculas\n" " para ordear\n" " -g, --gap-size=NÚMERO tamaño do oco entre campos de saída\n" " -i, --ignore-file=FICHEIRO le-la lista de palabras ignoradas do " "FICHEIRO\n" " -o, --only-file=FICHEIRO le-la lista de palabras únicas do FICHEIRO\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references o primeiro campo de cada liña é unha\n" " referencia\n" " -t, --typeset-mode - sen implementar -\n" " -w, --width=NÚMERO ancho da saída, excluíndo referencias\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Sen un FICHEIRO, ou se o FICHEIRO é -, lese da entrada estándar.\n" "\"-F /\" por defecto.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "anchura non válida: \"%s\"" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "obtendo os atributos de %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "demasiados argumentos" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "demasiados argumentos" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "non se pode crea-lo directorio %s" #: src/remove.c:274 #, fuzzy, c-format msgid "%s: descend into directory %s? " msgstr "non se pode cambiar ao directorio %s" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, fuzzy, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: ¿borra-lo ficheiro protexido contra escritura %s? " #: src/remove.c:291 #, fuzzy, c-format msgid "%s: remove %s %s? " msgstr "%s: ¿borrar %s? " #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "non se pode crea-lo directorio %s" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "non se pode crea-lo directorio %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "erro de lectura" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: ¿borrar %s? " #: src/rmdir.c:134 src/rmdir.c:233 #, fuzzy, c-format msgid "removing directory, %s" msgstr "non se pode crea-lo directorio %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "non se pode crea-lo directorio %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" "Borra o(s) DIRECTORIO(s), se están baleiros.\n" "\n" " --ignore-fail-on-non-empty\n" " ignora-los erros producidos soamente porque o directorio\n" " non está baleiro\n" " -p, --parents borra-lo directorio, e entón tentar borrar tódolos\n" " directorios compoñentes do seu camiño. P.ex,\n" " `rmdir -p a/b/c' é similar a `rmdir a/b/c a/b a'\n" " -v, --verbose amosar unha mensaxe por cada directorio procesado\n" " --help amosar esta axuda e saír\n" " --version amosa-la información e saír\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "obtendo os atributos de %s" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "só se pode especificar un argumento" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "mantense a data de %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "mantense a data de %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "mantense a data de %s" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "obtendo os atributos de %s" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "non se pode cambia-los permisos de %s" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" " ou: %s -G [OPCIÓN] [ENTRADA [SAÃDA]]\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "Escribi-los números dende PRIMEIRO a ÚLTIMO, en incrementos de INCREMENTO.\n" "\n" " -f, --format FORMATO usar un FORMATO de estilo printf(3) (defecto: %" "%g)\n" " -s, --separator CADEA usar CADEA para separa-los números (defecto: " "\\n)\n" " -w, --equal-width iguala-la anchura recheando con ceros ó comezo\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "Se non se indican PRIMEIRO ou INCREMENTO, por defecto son 1.\n" "PRIMEIRO, INCREMENTO e ÚLTIMO interprétanse coma valores de coma frotante.\n" "INCREMENTO ten que ser positivo se PRIMEIRO é máis pequeno que ÚLTIMO, e\n" "negativo doutro xeito. Se se indica, o argumento de FORMATO ten que conter\n" "só un dos formatos de coma frotante de estilo printf %%e, %%f, %%g.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "número de liña inicial incorrecto: \"%s\"" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s é un tipo de ficheiro descoñecido" #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "non se pode especificar un tipo ao volcar cadeas" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "non se pode obte-la lista de grupos suplementarios" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "non se poden omiti-lo usuario e o grupo" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "non se poden omiti-lo usuario e o grupo" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, fuzzy, c-format msgid "%s: fdatasync failed" msgstr "a obtención de datos do ficheiro fallou" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, fuzzy, c-format msgid "%s: cannot rewind" msgstr "non se pode executar %s" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: pasada %lu/%lu (%s)..." #: src/shred.c:452 #, fuzzy, c-format msgid "%s: error writing at offset %s" msgstr "erro escribindo %s" #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "o peche fallou" #: src/shred.c:481 #, fuzzy, c-format msgid "%s: file too large" msgstr "%s: ficheiro longo de máis" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: pasada %lu/%lu (%s)...%s" #: src/shred.c:520 #, fuzzy, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: pasada %lu/%lu (%s)...%s/%s" #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "a obtención de datos do ficheiro fallou" #: src/shred.c:778 #, fuzzy, c-format msgid "%s: invalid file type" msgstr "%s: lonxitude do sufixo non válida" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: o ficheiro ten un tamaño negativo" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, fuzzy, c-format msgid "%s: error truncating" msgstr "%s: ficheiro truncado" #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "a obtención de datos do ficheiro fallou" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: non se pode facer un borrado seguro dun descriptor de ficheiro\n" "de tipo só-engadir" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: borrando" #: src/shred.c:991 #, fuzzy, c-format msgid "%s: renamed to %s" msgstr "%s: erro de lectura" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: ficheiro longo de máis" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: borrado" #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "%s: ficheiro longo de máis" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "%s: ficheiro longo de máis" #: src/shred.c:1125 #, fuzzy, c-format msgid "%s: invalid number of passes" msgstr "%s: número de segundos incorrecto" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "\\%c: secuencia de escape non válida" #: src/shred.c:1148 #, fuzzy, c-format msgid "%s: invalid file size" msgstr "%s: lonxitude do sufixo non válida" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" " ou: %s -G [OPCIÓN] [ENTRADA [SAÃDA]]\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Amosar partes seleccionadas das liñas de cada FICHEIRO na saída estándar.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "\\%c: secuencia de escape non válida" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "número incorrecto" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "anchura non válida: \"%s\"" #: src/shuf.c:284 src/sort.c:4435 #, fuzzy, c-format msgid "multiple output files specified" msgstr "\\%c: secuencia de escape non válida" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Uso: %s NÚMERO[SUFIXO]...\n" " ou: %s OPCIÓN\n" "Facer unha pausa de NÚMERO segundos. SUFIXO pode ser `s' para segundos, " "`m'\n" "para minutos, `h' para horas ou `d' para días. Ó contrario que a maioría " "das\n" "implementacións, que requiren que NÚMERO sexa un enteiro, aquí NÚMERO pode " "ser\n" "calquera número de coma frotante.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "número de campo incorrecto: \"%s\"" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "non se pode le-lo reloxo coa hora real" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Escribi-la concatenación ordeada de tódolos FICHEIRO(s) na saída estándar.\n" "\n" "Opcións de ordeamento:\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignora-los espacios en branco iniciais\n" " -d, --dictionary-order considerar só espacios e caracteres " "alfanuméricos\n" " -f, --ignore-case ignora-las maiúsculas e minúsculas\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort comparar de acordo ao valor numérico xeral\n" " -i, --ignore-nonprinting considerar só os caracteres imprimibles\n" " -M, --month-sort comparar (descoñecido) < \"XAN\" < ... < \"DEC" "\"\n" " -n, --numeric-sort comarar de acordo ao valor numérico da cadea\n" " -r, --reverse inverti-lo resultado das comparacións\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort comparar de acordo ao valor numérico xeral\n" " -i, --ignore-nonprinting considerar só os caracteres imprimibles\n" " -M, --month-sort comparar (descoñecido) < \"XAN\" < ... < \"DEC" "\"\n" " -n, --numeric-sort comarar de acordo ao valor numérico da cadea\n" " -r, --reverse inverti-lo resultado das comparacións\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Outras opcións:\n" "\n" " -c, --check comprobar se a entrada está ordeada e non " "ordear\n" " -k, --key=POS1[,POS2] comezo da clave en POS1 e remate en POS2\n" " -m, --merge mesturar ficheiros xa ordeados e non ordear\n" " -o, --output=FICHEIRO grava-lo resultado no FICHEIRO\n" " -s, --stable estabiliza-la ordeación eliminando a " "comparación\n" " de derradeiro recurso\n" " -S, --buffer-size=TAMAÑO empregar un buffer de memoria deste TAMAÑO\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP emprega-lo SEParador no canto de espacios en " "branco\n" " -T, --temporary-directory=DIR emprega-lo DIRectorio para ficheiros " "temporais,\n" " non $TMPDIR ou %s\n" " -u, --unique con -c: comprobar se a ordeación é estricta\n" " noutro caso: amosar só o primeiro dun grupo\n" " de elementos iguais\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated remata-las liñas cun byte 0, non un\n" " salto de liña\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS é F[.C][OPCS], onde F é o número do campo e C a posición do carácter\n" "no campo. OPCS está composto de unha ou varias opcións de ordenación dunha\n" "soa letra, que desactivan as opcións globais desa clave. Se non se dá unha\n" "clave, úsase toda a liña coma a clave.\n" "\n" "TAMAÑO pode estar seguido polos seguintes sufixos multiplicativos:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% de memoria, b 1, K 1024 (por defecto), e así para M, G, T, P, E, Z e " "Y.\n" "\n" "Sen un FICHEIRO ou cando o FICHEIRO é -, lese da entrada estándar.\n" "\n" "*** AVISO ***\n" "O locale especificado nas variables de ambiente afecta á orde.\n" "Estabreza LC_ALL=C para obte-la orde tradicional que emprega\n" "valores de byte nativos.\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "erro escribindo %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "non se pode crea-lo ficheiro temporal" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "a apertura fallou" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "volcando o ficheiro" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "o peche fallou" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "a apertura fallou" #: src/sort.c:1103 #, fuzzy, c-format msgid "couldn't execute %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "non se pode crea-lo ficheiro temporal" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "non se pode crea-lo directorio %s" #: src/sort.c:1161 #, fuzzy, c-format msgid "couldn't execute %s -d" msgstr "non se poden cambia-los permisos de `%s'" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "argumento incorrecto %s para %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "argumento %s ambiguo para %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: conta \"%.*s\" grande de máis" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "a obtención de datos do ficheiro fallou" #: src/sort.c:1755 msgid "read failed" msgstr "erro de lectura" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "a comparación de cadeas fallou" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: a opción \"%s\" é ambigua\n" msgstr[1] "%s: a opción \"%s\" é ambigua\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "erro de escritura" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: desorde: " #: src/sort.c:2786 msgid "standard error" msgstr "erro estándar" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "non se poden cambia-los permisos de `%s'" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: especificación de campo incorrecta \"%s\"" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: a opción \"%s\" é ambigua\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: conta non válida ao principio de \"%s\"" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "número non válido despois de \"-\"" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "número non válido despois de \".\"" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "carácter de sobras na especificación do campo" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "\\%c: secuencia de escape non válida" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "número non válido ao comezo do campo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "o número do campo é cero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "o desprazamento do carácter é cero" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "número non válido despois de \",\"" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "As cadeas que se compararon foron %s e %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: lonxitude do sufixo non válida" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "creando ficheiro \"%s\"\n" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "operando \"%s\" extra non admitido despois de -c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Uso: %s [OPCIÓN] [ENTRADA [PREFIXO]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Gravar anacos de ENTRADA de tamaño fixo en PREFIXOaa, PREFIXOab, ...; o " "PREFIXO\n" "por defecto é \"x\". Sen ENTRADA, ou se a ENTRADA é -, lese da entrada " "estándar.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose amosar un diagnóstico no erro estándar antes de\n" " abrir cada ficheiro de saída\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Esgotáronse os sufixos de ficheiros de saída" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "creando ficheiro \"%s\"\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "a variable de ambiente LS_COLORS ten un valor ilexible" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "mantense a data de %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "non se pode cambiar ao directorio %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "pechando o ficheiro de saída %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "creando ficheiro \"%s\"\n" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "creando ficheiro \"%s\"\n" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "non foi posible mudar o grupo de %s a %s\n" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "non se pode partir en máis dun xeito" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: número de segundos incorrecto" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: número incorrecto" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: lonxitude do sufixo non válida" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: número de bytes incorrecto" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: número de liñas incorrecto" #: src/split.c:1236 #, fuzzy, c-format msgid "line count option -%s%c... is too large" msgstr "%s: conta \"%.*s\" grande de máis" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "número de liña inicial incorrecto: \"%s\"" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: lonxitude do sufixo non válida" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "non se pode determina-lo nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: opción descoñecida `-%c'\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s: patrón incorrecto" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "secuencia de escape incorrecta na fin da cadea" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "entrada estándar" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Uso: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [PARÃMETRO]...\n" " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Escribir ou cambia-las características do terminal.\n" "\n" " -a, --all escribir tódolos parámetros actuais dun xeito lexible\n" " para humanos\n" " -g, --save escribir tódolos parámetros actuais dun xeito lexible\n" " para o stty\n" " -F, --file=DISPOSITIVO abrir e usa-lo DISPOSITIVO indicado en vez da\n" " entrada estándar\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" "\n" "Un - opcional diante de PARÃMETRO indica negación. Un * marca os " "parámetros\n" "non POSIX. O sistema presente define os parámetros que están dispoñibles.\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" "\n" "Parámetros de control:\n" " [-]clocal desactiva-los sinais de control do módem\n" " [-]cread permitir que se reciba entrada\n" "* [-]crtscts activar negociación RTS/CTS\n" " csN establece-lo tamaño do carácter a N bits, con N entre " "[5..8]\n" " [-]cstopb usar dous bits de parada por carácter (un con `-')\n" " [-]hup enviar un sinal de colgar cando o último proceso pecha o " "tty\n" " [-]hupcl o mesmo que [-]hup\n" " [-]parenb xerar un bit de paridade na saída e agardar un bit de " "paridade\n" " na entrada\n" " [-]parodd establecer paridade impar (mesmo con `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 #, fuzzy msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "\n" "Parámetros da saída:\n" "* bsN estilo de retardo do carácter de borrado, N entre [0..1]\n" "* crN estilo de retardo do retorno de carro, N entre [0..3]\n" "* ffN estilo de retardo do salto de páxina, N entre [0..1]\n" "* nlN estilo de retardo do carácter de nova liña, N entre [0..1]\n" "* [-]ocrnl converter retornos de carro en nova liña\n" "* [-]ofdel usar caracteres de borrado para rechear, en vez de " "caracteres\n" " nulos\n" "* [-]ofill usar caracteres de recheo en vez de tempos de retardo\n" "* [-]olcuc converter caracteres minúsculos a maiúsculos\n" "* [-]onlcr converter unha nova liña a retorno de carro + nova liña\n" "* [-]onlret o carácter de nova liña fai un retorno de carro\n" "* [-]onocr non escribi-los retornos de carro na primeira columna\n" " [-]opost pos-procesar a saída\n" "* tabN estilo de retardo da tabulación horizontal, N entre [0..3]\n" "* tabs o mesmo que tab0\n" "* -tabs o mesmo que tab3\n" "* vtN estilo de retardo da tabulación vertical, N entre [0..1]\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Manexar a liña tty conectada á entrada estándar. Sen argumentos,\n" "escribi-la tasa de baudios, a disciplina da liña, e as desviacións respecto\n" "a stty sane. Nos parámetros, CARAC tómase literalmente, ou codificado\n" "coma en ^c, 0x37, 0177 ou 127; os valores especiais ^- ou undef úsanse para\n" "desactiva-los caracteres especiais.\n" #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "só se pode especificar un argumento" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "as opcións --string e --check son mutuamente exclusivas" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "cando se indica un estilo de saída, non se poden establecer modos" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: non se pode restablece-lo modo de non bloqueo" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "argumento incorrecto %s para %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "argumento %s ambiguo para %s" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "anchura non válida: \"%s\"" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: non se poden facer tódalas operacións pedidas" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: non hai información de tamaño para este dispositivo" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "incremento de números de liña incorrecto: \"%s\"" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour e David MacKenzie" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Imprimi-la suma de comprobación e o número de bloques de cada FICHEIRO.\n" "\n" " -r non usar -s, usa-lo algoritmo de suma de BSD e bloques de " "1k\n" " -s, --sysv usa-lo algoritmo de suma System V, usar bloques de 512 " "bytes\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, fuzzy, c-format msgid "ignoring all arguments" msgstr "demasiados argumentos" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help amosar esta axuda e saír\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version amosar información da versión e saír\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Os argumentos obrigatorios nas opcións longas tamén o son nas opcións " "curtas.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Informe dos erros no programa a <%s>.\n" "Informe dos erros na traducción a <proxecto@trasno.net>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Escriba \"%s --help\" para máis información.\n" #: src/system.h:628 #, fuzzy, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "AVISO: Estructura circular de directorios.\n" "Con probabilidad isto quere dicir que o sistema de ficheiros está " "corrompido.\n" "INFÓRMEO AO SEU ADMINISTRADOR DE SISTEMA\n" "Os dous seguintes directorios teñen o mesmo número de inodo:\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Amosar cada FICHEIRO na saída estándar, coa derradeira liña de primeira.\n" "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before incluí-lo separador antes e non despois\n" " -r, --regex interpreta-lo separador como unha expresión " "regular\n" " -s, --separator=CADEA usa-la CADEA coma separador na vez de salto de " "liña\n" #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "o peche fallou" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s: ficheiro longo de máis" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "non se pode crea-lo ficheiro temporal" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: ficheiro longo de máis" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "mantense a data de %s" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "erro de escritura" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "non se pode abrir %s para lectura" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "o separador non pode estar baleiro" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Amosa-las derradeiras %d liñas de cada FICHEIRO na saída estándar.\n" "Con máis dun FICHEIRO, antecédese cada un cunha cabeceira que dá o nome do\n" "ficheiro. Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada " "estándar.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " amosa-los datos engadidos segundo o ficheiro " "medre;\n" " -f, --follow e --follow=descriptor son " "equivalentes\n" " -F igual que --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N amosa-las derradeiras N liñas, no canto de %d\n" " --max-unchanged-stats=N\n" " con --follow-name, reabrir un FICHEIRO que non\n" " cambiou o tamaño despois de N (%d por defecto)\n" " iteracións para ver se se borrou ou renomeou\n" " (é o caso normal de ficheiros de rexistro " "rotados)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID con -f, rematar trala morte do proceso co PID\n" " -q, --quiet, --silent non amosa-las cabeceiras cos nomes de ficheiro\n" " -s, --sleep-interval=S con -f, cada iteración dura S (1) segundos\n" " -v, --verbose amosar sempre as cabeceiras cos nomes de " "ficheiro\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Se o primeiro carácter de N (o número de bytes ou liñas) é un \"+\", " "comézase\n" "a amosar no N-ésimo elemento dende o principio de cada ficheiro; noutro " "caso,\n" "amos-los N derradeiros elementos do ficheiro. N pode ter un sufixo\n" "multiplicativo: b para 512, k para 1024, m para 1048576 (1 Mega).\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Este comportamento por defecto non é desexable cando quere\n" "segui-lo nome do ficheiro, non o descriptor do ficheiro (por exemplo,\n" "rotación de rexistros). Empregue --follow=name neste caso. Isto fai que " "tail\n" "siga o ficheiro nomeado reabríndoo periodicamente para ver se outro " "programa\n" "o eliminou e volveu crear.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "pechando %s (fd=%d)" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: non se pode desprazar á posición relativa %s%s" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: non se pode desprazar á posición relativa á final %s%s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "\"%s\" volveuse inaccesible" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "\"%s\" foi remprazado cun ficheiro do que non se pode amosa-la fin; " "abandonando este ficheiro" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "\"%s\" foi remprazado cun ficheiro do que non se pode amosa-la fin; " "abandonando este ficheiro" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "\"%s\" volveuse accesible" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "\"%s\" apareceu; buscando a fin do novo ficheiro" #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "\"%s\" foi remprazado; buscando a fin do ficheiro novo" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: non se pode restablece-lo modo de non bloqueo" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: ficheiro truncado" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "non quedan ficheiros" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "non se pode crea-lo directorio %s" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "memoria virtual esgotada" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "erro lendo %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: non se pode segui-la fin deste tipo de ficheiro; abandoando este nome" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "%s é grande de máis" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: número máximo de datos non cambiados entre aperturas incorrecto" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID incorrecto" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: número de segundos incorrecto" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "aviso: --retry é útil só cando vai seguido por name" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "aviso: PID ignorado; --pid=PID é útil só cando segue" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "aviso: --pid=PID non é soportado neste sistema" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "non se pode crea-lo ficheiro temporal" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 #, fuzzy msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copiar a entrada estándar a cada ficheiro, e tamén á saída estándar.\n" "\n" " -a, --append engadir ós FICHEIROs indicados, non " "sobrescribir\n" " -i, --ignore-interrupts ignora-los sinais de interrupción\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "argumento %s ambiguo para %s" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "número incorrecto" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "agardábase ')'\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "agardábase ')', atopouse %s\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: agardábase un operador unario\n" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt non acepta -l\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef non acepta -l\n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-nt non acepta -l\n" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "Erro do sistema descoñecido" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: agardábase un operador binario\n" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 #, fuzzy msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "Visualiza-la conta de comprobación CRC e o número de bytes de cada " "FICHEIRO.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosar información sobre a versión e saír\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 #, fuzzy msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ( EXPRESIÓN ) a EXPRESIÓN é certa\n" " ! EXPRESIÓN a EXPRESIÓN é falsa\n" " EXPRESIÓN1 -a EXPRESIÓN2 a EXPRESIÓN1 e a EXPRESIÓN2 son certas\n" " EXPRESIÓN1 -o EXPRESIÓN2 a EXPRESIÓN1 ou a EXPRESIÓN2 é certa\n" "\n" " [-n] CADEA a lonxitude da CADEA é distinta de cero\n" " -z CADEA a lonxitude da CADEA é cero\n" " CADEA1 = CADEA2 as cadeas son iguais\n" " CADEA1 != CADEA2 as cadeas non son iguais\n" "\n" " ENTEIRO1 -eq ENTEIRO2 ENTEIRO1 é igual a ENTEIRO2\n" " ENTEIRO1 -ge ENTEIRO2 ENTEIRO1 é maior ou igual que ENTEIRO2\n" " ENTEIRO1 -gt ENTEIRO2 ENTEIRO1 é maior que ENTEIRO2\n" " ENTEIRO1 -le ENTEIRO2 ENTEIRO1 é menor ou igual que ENTEIRO2\n" " ENTEIRO1 -lt ENTEIRO2 ENTEIRO1 é menor que ENTEIRO2\n" " ENTEIRO1 -ne ENTEIRO2 ENTEIRO1 é distinto que ENTEIRO2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 #, fuzzy msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Teña en conta que as parénteses teñen que levar códigos de escape (p.ex con\n" "barras invertidas) para as shells.\n" "ENTEIRO pode ser tamén -l CADEA, que se evalúa coma a lonxitude de CADEA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "falta un `]'\n" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "demasiados argumentos" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Os argumentos obrigatorios nas opcións longas tamén o son nas opcións " "curtas.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "erro escribindo %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, fuzzy, c-format msgid "invalid date format %s" msgstr "argumento incorrecto %s para %s" #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "establecendo a data de %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, fuzzy, c-format msgid "cannot specify times from more than one source" msgstr "non se pode partir en máis dun xeito" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Traducir, comprimir, e/ou borrar caracteres da entrada estándar,\n" "escribindo na saída estándar.\n" "\n" " -c, --complement complementar antes o CONXUNTO1\n" " -d, --delete borra-los caracteres do CONXUNTO1, non traducilos\n" " -s, --squeeze-repeats cambiar cada secuencia de caracteres repetidos\n" " listados no CONXUNTO1 por unha soa aparición\n" " dese carácter\n" " -t, --truncate-set1 truncar antes o CONXUNTO1 á lonxitude do " "CONXUNTO2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Os CONXuntos especifícanse coma cadeas de caracteres. A maioría " "represéntanse\n" "a si mesmos. As secuencias interpretadas son:\n" "\n" " \\NNN carácter co valor octal NNN (1 a 3 díxitos octais)\n" " \\\\ barra invertida\n" " \\a campá audible\n" " \\b retroceso dun carácter\n" " \\f salto de páxina\n" " \\n salto de liña\n" " \\r retorno de carro\n" " \\t tabulación horizontal\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tabulación vertical\n" " CAR1-CAR2 tódolos caracteres entre CAR1 e CAR2 en orde ascendente\n" " [CAR*] en CONX2, copias do CARácter ata a lonxitude de CONX1\n" " [CAR*REPET] REPETir copias do CARácter, REPET é octal se comeza por 0\n" " [:alnum:] tódalas letras e díxitos\n" " [:alpha:] tódalas letras\n" " [:blank:] tódolos espacios en branco horizontais\n" " [:cntrl:] tódolos caracteres de control\n" " [:digit:] tódolos díxitos\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] tódolos caracteres imprimibles, sen incluí-los espacios\n" " [:lower:] tódalas letras minúsculas\n" " [:print:] tódolos caracteres imprimibles, incluíndo os espacios\n" " [:punct:] tódolos caracteres de puntuación\n" " [:space:] tódolos espacios en branco horizontais e verticais\n" " [:upper:] tódalas letras maiúsculas\n" " [:xdigit:] tódolos díxitos hexadecimais\n" " [=CAR=] tódolos caracteres equivalentes a CAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "A traducción faise se non se indica -d e ámbolos dous CONXUNTO1 e CONXUNTO2\n" "aparecen. Pode usarse -t só cando se traduce. CONXUNTO2 esténdese ata a\n" "lonxitude do CONXUNTO1 repetindo o seu derradeiro carácter tantas veces " "como\n" "sexa necesario. Os caracteres excesivos do CONXUNTO2 ignóranse. Só se\n" "garantiza que [:lower:] e [:upper:] serán expandidos en orde crecente; " "usados\n" "no CONXUNTO2 na traducción, poden ser usados só en parellas para indica-la\n" "conversión de maiúsculas a minúsculas e viceversa. -s usa o CONXUNTO1 se " "non\n" "se está a traducir ou borrar; noutro caso a compresión usa o CONXUNTO2 e\n" "sucede trala traducción ou borrado.\n" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "aviso: a secuencia de escape octal ambigua \\%c%c%c é\n" "\tinterpretada coma a secuencia de 2 bytes \\0%c%c, \"%c\"" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "%s: aviso: facer unha ligazón dura dunha ligazón simbólica non é portable" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "os estremos do rango \"%s-%s\" están en orde inversa" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "número de repeticións \"%s\" incorrecto na construcción [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "falta o nome da clase de caracteres \"[::]\"" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "falta o carácter da clase de equivalencias \"[==]\"" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "clase de caracteres \"%s\" incorrecta" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: o operando de clases de equivalencia debe ser un só carácter" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "construcción [:upper:] e/ou [:lower:] mal aliñada" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "carácter de sobras na especificación do campo" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "a construcción de repetición [c*] non pode aparecer na cadea1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "só pode aparecer una construcción de repetición [c*] na cadea2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "as expresións [=c=] non poden aparecer na cadea2 ao traducir" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "cando se traduce, as únicas clases de caracteres que poden aparecer\n" "na cadea2 son \"upper\" e \"lower\"" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "cando non se trunca o conxunto1, a cadea2 non debe estar baleira" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "cando se traduce con clases de caracteres complementarias,\n" "a cadea2 debe facer corresponder tódolos caracteres do dominio nun só" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "a construcción [c*] pode aparecer na cadea2 só cando se traduce" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "deben proporcionarse dúas cadeas para borrar e comprimir repeticións" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "deben proporcionarse dúas cadeas para traducir" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "debe proporcionarse só unha cadea para borrar sen comprimir repeticións" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: o ficheiro ten un tamaño negativo" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "non se pode partir en máis dun xeito" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "\\%c: secuencia de escape non válida" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "debe especificarse unha lista de bytes, caracteres ou campos" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "non se pode abrir %s para lectura" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uso: %s [OPCIÓN] [FICHEIRO]\n" "Escribir unha lista totalmente ordeada consistente coa ordeación parcial\n" "do FICHEIRO. Se non se indica un FICHEIRO, ou cando o FICHEIRO é -, lese\n" "da entrada estándar.\n" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: a entrada contén un lazo:" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: a entrada contén un lazo:" #: src/tty.c:65 #, fuzzy msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Escribi-lo nome de ficheiro do terminal conectado á entrada estándar.\n" "\n" " -s, --silent, --quiet non escribir nada, só devolver un código de saída\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/tty.c:120 msgid "not a tty" msgstr "non é unha tty" #: src/uname.c:124 #, fuzzy msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Escribir información do sistema. Sen ningunha OPCIÓN, suponse -s.\n" "\n" " -a, --all amosar toda a información\n" " -m, --machine amosa-lo tipo de máquina (hardware)\n" " -n, --nodename amosa-lo nome da máquina de nó de rede\n" " -r, --release amosa-la distribución do sistema operativo\n" " -s, --sysname amosa-lo nome do sistema operativo\n" " -p, --processor amosa-lo tipo de procesador da máquina\n" " -v amosa-la versión do sistema operativo\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, fuzzy, c-format msgid "cannot get system name" msgstr "non se pode crea-lo ficheiro temporal" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converte-los espacios de cada FICHEIRO a tabulacións, gravando na saída\n" "estándar. Sen un FICHEIRO ou cando o FICHEIRO é -, lese da entrada " "estándar.\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all converter tódolos espacios, no canto de só os " "iniciais\n" " -t, --tabs=NÚMERO tabulacións de NÚMERO caracteres no canto de 8\n" " -t, --tabs=LISTA empregar unha lista de posicións separadas por comas\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "%s é grande de máis" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Uso: %s [OPCIÓN]... [ENTRADA [SAÃDA]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count preceder cada liña co número de aparicións\n" " -d, --repeated amosar só as liñas duplicadas\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=método] amosar tódalas liñas duplicadas\n" " método={none(por defecto),prepend,separate}\n" " (ningún, anteceder, separar)\n" " A delimitación faise con liñas en branco.\n" " -f, --skip-fields=N evitar compara-los primeiros N campos\n" " -i, --ignore-case ignora-las diferencias entre maiúsculas-minúsculas\n" " ao comparar\n" " -s, --skip­chars=N evitar compara-los primeiros N caracteres\n" " -u, --unique amosar só as liñas únicas\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N non comparar máis de N caracteres en cada liña\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Un campo é un grupo de espacios seguidos de varios caracteres.\n" "Os campos omítense antes dos caracteres.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "demasiados argumentos" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "número de campos a omitir non válido" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "número de bytes a omitir non válido" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "número de bytes a comparar non válido" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "amosar tódalas liñas duplicadas e a conta de repeticións non ten sentido" #: src/unlink.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, fuzzy, c-format msgid "cannot unlink %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "non se pode obte-la data de inicio" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s funcionando " #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "usuario incorrecto" msgstr[1] "usuario incorrecto" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", carga media: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Escribi-la hora actual, o tempo que leva o sistema funcionando, o\n" "número de usuarios no sistema, e o número medio de procesos na fila\n" "de execución nos últimos 1, 5 e 15 minutos.\n" "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" "é %s\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Escribir quen está conectado actualmente segundo FICHEIRO.\n" "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" "é %s\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/users.c:106 #, fuzzy, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Escribir quen está conectado actualmente segundo FICHEIRO.\n" "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" "é %s\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Escribi-lo número de bytes, palabras e liñas de cada FICHEIRO, e unha liña\n" "cos totais se se indica máis dun FICHEIRO. Se non se indica un FICHEIRO, " "ou\n" "se o FICHEIRO é -, lese da entrada estándar.\n" " -c, --bytes escribi-lo número de bytes\n" " -m, --chars escribi-lo número de caracteres\n" " -l, --lines escribi-lo número de saltos de liña\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " antigo " #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, fuzzy, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "número de usuarios=%u\n" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "LIÑA" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 #, fuzzy msgid "IDLE" msgstr "FALLA" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Uso: %s [OPCIÓN]... FICHEIRO1 FICHEIRO2\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "Escribir quen está conectado actualmente segundo FICHEIRO.\n" "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" "é %s\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Escribi-lo nome de usuario asociado ó identificador efectivo de usuario " "actual\n" "O mesmo que id -un.\n" "\n" " --help amosar esta axuda e saír\n" " --version amosa-la información da versión e saír\n" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #: src/yes.c:41 #, fuzzy, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "creando ficheiro \"%s\"\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: lonxitude do sufixo non válida" #~ msgid "Try `%s --help' for more information.\n" #~ msgstr "Escriba \"%s --help\" para máis información.\n" #, fuzzy #~ msgid "reading %s" #~ msgstr "erro lendo %s" #, fuzzy #~ msgid "writing %s" #~ msgstr "erro escribindo %s" #, fuzzy #~ msgid "closing %s" #~ msgstr "pechando %s (fd=%d)" #~ msgid "accessing %s" #~ msgstr "accediendo a %s" #, fuzzy #~ msgid "opening %s" #~ msgstr "erro lendo %s" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ "O sufixo de copia de seguridade é `~', a menos que se estableza con --" #~ "suffix\n" #~ "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" #~ "establecido coa opción --backup ou coa variable de ambiente " #~ "VERSION_CONTROL.\n" #~ "Os valores poden ser:\n" #~ "\n" #~ " none, off non facer nunca copias de seguridade (mesmo con --" #~ "backup)\n" #~ " numbered, t facer copias de seguridade numeradas\n" #~ " existing, nil copias numeradas se xa existen numeradas, se non " #~ "simples\n" #~ " simple, never facer sempre copias de seguridade simples\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Tódolos argumentos para as opcións longas son obrigatorios nas opcións " #~ "curtas.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "BASE é d para decimal, o para octal, x para hexadecimao ou n para " #~ "ningunha.\n" #~ "BYTES é hexadecimal cun prefixo 0x ou 0X; multiplícase por 512 cun " #~ "sufixo\n" #~ "b, por 1024 con k e por 1048576 con m. Ao engadir un sufixo z a calquera\n" #~ "tipo engádese unha mostra de caracteres imprimibles á final de cada liña\n" #~ "de saída. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string sen un número implica 3. --width sen un número implica 32.\n" #~ "Por defecto, od emprega -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "Password:" #~ msgstr "Contrasinal:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: non se pode abrir /dev/tty" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia-lo identificador efectivo de usuario e grupo ós de USUARIO.\n" #~ "\n" #~ " -, -l, --login facer que a shell sexa de login\n" #~ " -c, --command=COMANDO enviar un só COMANDO á shell con -c\n" #~ " -f, --fast enviar a opción -f á shell (para csh ou " #~ "tcsh)\n" #~ " -m, --preserve-environment non esquece-las variables de ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL executar SHELL se /etc/shells o permite\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "user %s does not exist" #~ msgstr "o usuario %s non existe" #~ msgid "incorrect password" #~ msgstr "contrasinal incorrecto" #~ msgid "using restricted shell %s" #~ msgstr "usando shell restrinxida %s" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Muda o modo de cada FICHEIRO a MODO.\n" #~ "\n" #~ " -c, --changes coma `verbose' mais informando só dos cambios\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro " #~ "procesado\n" #~ " --reference=FICH-R usa-lo modo de FICH-R en vez do valor MODO\n" #~ " -R, --recursive mudar ficheiros e directorios recursivamente\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Cada MODO é unha ou máis das letras ugoa, un dos símbolos +-= e unha ou " #~ "máis\n" #~ "das letras rwxXstugo.\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Amosa-la data actual no FORMATO indicado, ou establece-la data do " #~ "sistema.\n" #~ "\n" #~ " -d, --date=CADEA amosa-la data descrita por CADEA, non " #~ "`agora'\n" #~ " -f, --file=FICH_DATA coma --date, unha vez para cada liña en " #~ "FICH_DATA\n" #~ " -I, --iso-8601[=ESPDATA] escribir unha cadea de data/hora seguindo o\n" #~ " estándar ISO-8601. ESPDATA=`date' (ou sen " #~ "nada)\n" #~ " para que só o sexa a data, `hours', `minutes' " #~ "ou\n" #~ " `seconds' para a data e a hora coa precisión\n" #~ " indicada.\n" #~ " -r, --reference=FICH amosa-la última data de modificación de FICH\n" #~ " -R, --rfc-822 amosar unha cadea coa data seguindo o " #~ "RFC-822\n" #~ " -s, --set=CADEA establece-la data descrita por CADEA\n" #~ " -u, --utc, --universal escribir ou establece-la Hora Universal " #~ "Coordinada\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "program error" #~ msgstr "erro do programa" #~ msgid "stack overflow" #~ msgstr "desbordamento da pila" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opción incorrecta -- %c\n" #~ msgid "block size" #~ msgstr "tamaño de bloque" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "non se pode obte-lo grupo de login dun UID numérico" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Isto é software libre; vexa o código fonte polas condicións de copia. NON " #~ "hai\n" #~ "garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN " #~ "DETERMINADO.\n" #~ msgid "too few arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "closing standard output" #~ msgstr "saída estándar" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #~ msgid "group number" #~ msgstr "número de grupo" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "número incorrecto" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman e David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uso: %s [OPCIÓN]... FICHEIRO_ESQUERDO FICHEIRO_DEREITO\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de copia de seguridade é `~', a menos que se estableza con --" #~ "suffix\n" #~ "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" #~ "establecido coa opción --backup ou coa variable de ambiente " #~ "VERSION_CONTROL.\n" #~ "Os valores poden ser:\n" #~ "\n" #~ " none, off non facer nunca copias de seguridade (mesmo con --" #~ "backup)\n" #~ " numbered, t facer copias de seguridade numeradas\n" #~ " existing, nil copias numeradas se xa existen numeradas, se non " #~ "simples\n" #~ " simple, never facer sempre copias de seguridade simples\n" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "número de argumentos insuficiente" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s existe pero non é un directorio" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "a copiar varios ficheiros, mais o derradeiro argumento %s non é un " #~ "directorio" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "aviso: --version-control (-V) está obsoleta; quitarase o soporte\n" #~ "nunha versión futuro. Use --backup=%s no seu lugar." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "aviso: --pid=PID non é soportado neste sistema" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp e David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: esperábase un \"+\" ou un \"-\" tralo delimitador" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "non se pode especificar ficheiros cando se usa --string" #~ msgid "undefined" #~ msgstr "non definido" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin e David MacKenzie" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rexistros lidos\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rexistros escritos\n" #~ msgid "truncated records" #~ msgstr "rexistros truncados" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "opción descoñecida \"-%c\"" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "só unha conversión de {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "non se poden usar argumentos de tipo FICHEIRO coa opción para amosa-la\n" #~ "base de datos interna de dircolors" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "cannot change to `..' from directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "a opción \"-LIST\" é obsoleta; empregue \"-t LISTA\"" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "aviso: ERB non portable: `%s': usar `^' coma o primeiro carácter\n" #~ "cunha expresión regular básica non é portable; ignorarase" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [opcións de liña de comandos ignoradas]\n" #~ " ou: %s OPCIÓN\n" #~ "Saír cun código de estado indicando fallo.\n" #~ "\n" #~ "Estes nomes de opcións non se poden abreviar.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "En -wNÚMERO, a letra \"w\" pódese omitir.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "a opción \"%s\" é obsoleta; empregue \"%s\"" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=TAMAÑO amosa-los primeiros TAMAÑO bytes\n" #~ " -n, --lines=NÚMERO amosa-las primerias NÚMERO liñas no canto de " #~ "10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO pode ter un sufixo multiplicativo: b para 512, k para 1K, m para 1 " #~ "mega.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "opción descoñecida \"-%c\"" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "a opción \"-%s\" é obsoleta; empregue \"-%c %.*s%.*s%s\"" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin e David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "non se poden omiti-lo usuario e o grupo" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "a instalar varios ficheiros, mais o derradeiro argumento %s non é un " #~ "directorio" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s existe pero non é un directorio" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "non se pode move-lo punteiro do ficheiro de %s" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "non se pode executar %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "a obtención de datos do ficheiro fallou" #~ msgid "" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v LADO coma -a LADO, pero suprimindo as liñas de saída " #~ "correctas\n" #~ " -1 CAMPO face-lo join neste CAMPO do ficheiro 1\n" #~ " -2 CAMPO face-lo join neste CAMPO do ficheiro 2\n" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "número de campo incorrecto para o ficheiro 1: \"%s\"" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "número de campo incorrecto para o ficheiro 2: \"%s\"" #~ msgid "too many non-option arguments" #~ msgstr "demasiados argumentos" #~ msgid "too few non-option arguments" #~ msgstr "insuficientes argumentos" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram e David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: O ficheiro xa existe" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "ligazón simbólica" #~ msgid "create hard link %s to %s" #~ msgstr "crear ligazón dura %s a %s" #~ msgid "creating symbolic link %s to %s" #~ msgstr "a crear a ligazón simbólica de %s a %s" #~ msgid "creating hard link %s to %s" #~ msgstr "a crear a ligazón dura de %s a %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "ao facer varias ligazóns, o último argumento ten que ser un directorio" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary le-los ficheiros en modo binario\n" #~ " (por defecto en DOS/Windows)\n" #~ " -c, --check comproba-las sumas %s contra a lista dada\n" #~ " -t, --text le-los ficheiros en modo texto (por defecto)\n" #~ "\n" #~ msgid "file" #~ msgstr "ficheiro" #~ msgid "files" #~ msgstr "ficheiros" #~ msgid "checksum" #~ msgstr "sumas" #~ msgid "checksums" #~ msgstr "sumas" #~ msgid "no files may be specified when using --string" #~ msgstr "non se pode especificar ficheiros cando se usa --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "só se pode especificar un argumento cando se usa --check" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "os números de dispositivo `major' e `minor' non se poden indicar para " #~ "fifos" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "ao mover varios ficheiros, o último argumento debe ser un directorio" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Executar COMANDO cunha prioridade de execución axustada.\n" #~ "Sen COMANDO, escribi-la prioridade de execución actual. AXUSTE é 10\n" #~ "por defecto. O rango vai dende -20 (máxima prioridade) a 19 (mínima).\n" #~ "\n" #~ " -AXUSTE incrementar primeiro a prioridade por AXUSTE\n" #~ " -n, --adjustment=AXUSTE o mesmo que -AXUSTE\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "opción de anchura non válida: \"%s\"" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram e David MacKenzie" #~ msgid "old-style offset" #~ msgstr "desprazamento ao estilo antigo" #~ msgid "skip argument" #~ msgstr "argumento de salto" #~ msgid "limit argument" #~ msgstr "argumento de límite" #~ msgid "minimum string length" #~ msgstr "lonxitude mínima da cadea" #~ msgid "width specification" #~ msgstr "especificación do ancho" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "segundo operando no modo de compatibilidade \"%s\" incorrecto" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "no modo de compatibilidade, os últimos 2 argumentos deben ser " #~ "desprazamentos" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" ancho=%d\n" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat e David MacKenzi" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnosticar construccións non portables en NOME.\n" #~ "\n" #~ " -p, --portability comprobar para tódolos sistemas POSIX, non só este\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "o tamaño da tabulación contén un carácter incorrecto" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s existe pero non é un directorio" #~ msgid "directory `%s' is not searchable" #~ msgstr "o directorio `%s' é inaccesible" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "o nome `%s' ten unha lonxitude de %d; excede o límite de %d" #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "a rota `%s' ten unha lonxitude de %d; excede o límite de %d" #~ msgid "TTY" #~ msgstr "TTY" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "\"--pages\" rango de números de páxina incorrecto: \"%s\"" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "\"--pages\" número de páxina inicial incorrecto: \"%s\"" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "\"--pages\" número de páxina final incorrecto: \"%s\"" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "\"--pages\" o número de páxina inicial é maior có número de páxina final" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "\"--columns=COLUMNA\" número de columnas incorrecto: \"%s\"" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e %b %Y %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "o número de páxina inicial é maior có número total de páxinas: \"%d\"" #~ msgid "Page %d" #~ msgstr "Páxina %d" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCADEA, --sep-string[=CADEA]\n" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T vai incluído en -l nn cando nn <= 10 ou <= 3 con -F. Sen un FICHEIRO, " #~ "ou\n" #~ "cando o FICHEIRO é -, lese da entrada estándar.\n" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: patrón incorrecto" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uso: %s formato [argumento...]\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Este programa é software libre; pode redistribuílo e/ou modificalo baixo\n" #~ "os termos da Licencia Pública Xeral de GNU tal como a publicou a Free\n" #~ "Software Foundation; xa ben a versión 2 ou (á súa elección) calquera\n" #~ "versión posterior.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Este programa distribúese coa intención de que sexa útil, pero\n" #~ "sen NINGUNHA GARANTÃA; nin sequera a garantía implícita de\n" #~ "COMERCIABILIDADE ou VALIDEZA PARA UN FIN PARTICULAR. Vexa a Licencia\n" #~ "Pública Xeral de GNU para máis detalles.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Debería ter recibido unha copia da Licencia Pública Xeral con este\n" #~ "programa; se non, escriba á Free Software Foundation, Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, EE.UU.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "non se pode executar %s" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "non se pode cambiar ao directorio %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "non se pode borrar `.' nin `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Borra (desliga) o(s) FICHEIRO(s).\n" #~ "\n" #~ " -d, --directory desligar directorio, aínda que non estea baleiro\n" #~ " (só super usuario)\n" #~ " -f, --force ignora-los ficheiros que non existan, non " #~ "preguntar\n" #~ " -i, --interactive preguntar antes de borrar\n" #~ " -r, -R, --recursive borra-los contidos dos directorios " #~ "recursivamente\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Para borrar un ficheiro que empeza con `-', por exemplo `-foo',\n" #~ "use un destes comandos:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ "\n" #~ "Advirta que se utiliza rm para borrar un ficheiro, normalmente é posible\n" #~ "recupera-los contidos dese ficheiro. Se quere ter máis seguridade de " #~ "que\n" #~ "o contido é realmente irrecuperable, considere utilizar o shred.\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "cando o valor de comezo e máis grande que o límite,\n" #~ "o incremento ten que ser negativo" #, fuzzy #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "o argumento número do campo inicial da opción `-k' debe ser positivo" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #~ msgid "sort size" #~ msgstr "tamaño de ordeación" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N empregar sufixos de lonxitude N (%d por " #~ "defecto)\n" #~ " -b, --byte=TAMAÑO pór TAMAÑO bytes en cada ficheiro de saída\n" #~ " -C, --line-bytes=TAMAÑO pór como moito TAMAÑO bytes de liñas por " #~ "ficheiro\n" #~ " de saída\n" #~ " -l, --lines=NÚMERO pór NÚMERO liñas por ficheiro de saída\n" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "a opción \"-%d\" é obsoleta; empregue \"-l %d\"" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modo\n" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau e David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: erro de lectura" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry seguir tentando abrir un ficheiro incluso se " #~ "é\n" #~ " inaccesible cando tail comeza ou se se volve\n" #~ " inaccesible despois -- útil só con -f\n" #~ " -c, --bytes=N amosa-los derradeiros N bytes\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Con --follow (-f), tail segue por defecto o descriptor de ficheiro, o " #~ "que\n" #~ "significa que incluso se se renomea un ficheiro ao que se lle fai tail, " #~ "tail\n" #~ "ha continuar seguindo a súa fin. " #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: carácter sufixo incorrecto nunha opción obsoleta" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "demasiados argumentos; cando se usa a sintaxe obsoleta de tail (%s) non " #~ "pode\n" #~ "haber máis dun argumento de ficheiro. Empregue as opcións equivalentes -n " #~ "ou\n" #~ "-c na súa vez." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Aviso: non é portable o uso de dous ou máis argumentos de ficheiro coa\n" #~ "sintaxe obsoleta de tail (%s). Empregue as opcións equivalentes -n ou -c\n" #~ "na súa vez." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "a opción \"%s\" é obsoleta; empregue \"%s-%c %.*s\"" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: é tan grande que non é representable" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s é maior có tamaño máximo dos ficheiros neste sistema" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: número máximo de cambios de tamaño consecutivos incorrecto" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman e David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "agardábase un argumento\n" #~ msgid "integer expression expected %s\n" #~ msgstr "agardábase unha expresión enteira %s\n" #~ msgid "before -lt" #~ msgstr "antes de -lt" #~ msgid "after -lt" #~ msgstr "despois de -lt" #~ msgid "before -le" #~ msgstr "antes de -le" #~ msgid "after -le" #~ msgstr "despois de -le" #~ msgid "before -gt" #~ msgstr "antes de -gt" #~ msgid "after -gt" #~ msgstr "despois de -gt" #~ msgid "before -ge" #~ msgstr "antes de -ge" #~ msgid "after -ge" #~ msgstr "despois de -ge" #~ msgid "before -ne" #~ msgstr "antes de -ne" #~ msgid "after -ne" #~ msgstr "despois de -ne" #~ msgid "before -eq" #~ msgstr "antes de -eq" #~ msgid "after -eq" #~ msgstr "despois de -eq" #~ msgid "after -t" #~ msgstr "despois de -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "creating %s" #~ msgstr "creando ficheiro \"%s\"\n" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "número de argumentos insuficiente" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "A traducción ocorre se non se dá -d e CONX1 e CONX2 aparecen. -t pódese\n" #~ "empregar só ao traducir. CONX2 esténdese ata a lonxitude de CONX1 " #~ "repetindo\n" #~ "o seu derradeiro carácter tanto como sexa necesario. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Os caracteres sobrantes\n" #~ "de CONX1 ignóranse. Só se garante que [:lower:] e [:upper:] se expanden " #~ "en\n" #~ "orde ascendente; empregado en CONX2 ao traducir, só se poden empregar en\n" #~ "parellas para especifica-la conversión de maiúsculas a minúsculas e\n" #~ "viceversa. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ " -s emprega CONX1 se non está traducindo ou borrando; noutro caso\n" #~ "ao encoller emprégase CONX2 e ocorre trala traducción ou borrado.\n" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "secuencia de escape \"\\%c\" incorrecta" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "debe proporcionarse alomenos unha cadea para comprimir repeticións" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "correspondencia de identidades incorrecta; ao traducir, toda " #~ "construcción\n" #~ "[:lower:] ou [:upper:] da cadea1 debe aliñarse cunha construcción que\n" #~ "corresponda ([:upper:] ou [:lower:], respectivamente) na cadea2" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [opcións de liña de comandos ignoradas]\n" #~ " ou: %s OPCIÓN\n" #~ "Saír cun código de estado indicando éxito.\n" #~ "\n" #~ "Estes nomes de opcións non se poden abreviar.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "only one argument may be specified" #~ msgstr "só se pode especificar un argumento" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "a opción \"-LISTA\" é obsoleta; empregue \"--first-only -t LISTA\"" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descartar tódalas liñas idénticas da ENTRADA (ou entrada estándar) agás " #~ "unha,\n" #~ "gravando na SAÃDA (ou saída estándar).\n" #~ "\n" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "a opción \"-%lu\" é obsoleta; empregue \"-f %lu\"" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%d day" #~ msgid_plural "%d days" #~ msgstr[0] "día" #~ msgstr[1] "día" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length escribi-la lonxitude da liña máis longa\n" #~ " -w, --words escribi-lo número de palabras\n" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "non se pode establece-la data" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: o directorio %s está protexido contra escritura; ¿entrar nel de\n" #~ "calquera xeito? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "borrando tódalas entradas do directorio %s\n" #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "non se pode crea-lo directorio %s" #~ msgid " (might be nonempty)" #~ msgstr " (podería non estar baleiro)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "aviso: non se pode cambiar ó directorio %s" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " ou: %s [-acm] MMDDhhmm[AA] FICHEIRO... (obsoleto)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Muda a pertenza de grupo de cada FICHEIRO a GRUPO.\n" #~ "\n" #~ " -c, --changes coma `verbose' mais informando só dos cambios\n" #~ " --dereference afectar ao ficheiro ao que se refire a ligazón\n" #~ " simbólica, en vez da propia ligazón simbólica\n" #~ " -h, --no-dereference afectar ás ligazóns simbólicas en vez dos " #~ "ficheiros\n" #~ " referidos (só dispoñible en sistemas que poidan\n" #~ " muda-lo dono dunha ligazón simbólica)\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " --reference=FICH-R usa-lo grupo de FICH-R en vez do valor indicado\n" #~ " de GRUPO\n" #~ " -R, --recursive operar en ficheiros e directorios " #~ "recursivamente\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro procesado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada FICHEIRO a DONO e/ou GRUPO.\n" #~ "\n" #~ " -c, --changes coma --verbose pero só cando hai algún cambio\n" #~ " --dereference afectar ao ficheiro ao que se refire a ligazón\n" #~ " simbólica, en vez da propia ligazón simbólica\n" #~ " -h, --no-dereference afectar ás ligazóns simbólicas en vez dos " #~ "ficheiros\n" #~ " referidos (só dispoñible en sistemas que poden\n" #~ " muda-lo dono dunha ligazón simbólica)\n" #~ " --from=DONO_ACTUAL:GRUPO_ACTUAL\n" #~ " muda-lo dono e/ou o grupo de cada ficheiro só " #~ "se\n" #~ " o seu dono e/ou grupo actual coincide co " #~ "indicado\n" #~ " aquí. Pode indicarse só un deles, nese caso " #~ "non\n" #~ " se requirirá a coincidencia co atributo " #~ "omitido.\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " --reference=FICH-R usa-lo dono e o grupo de FICH-R en vez dos " #~ "valores\n" #~ " DONO:GRUPO indicados\n" #~ " -R, --recursive cambiar ficheiros e directorios recursivamente\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro procesado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "Copia ORIXE a DESTINO, ou múltiples ORIXE(s) a un DIRECTORIO.\n" #~ "\n" #~ " -a, --archive igual a -dpR\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -d, --no-dereference non seguir as ligazóns simbólicas\n" #~ " -f, --force se non se pode abrir un ficheiro destino,\n" #~ " borralo e tentar de novo\n" #~ " -i, --interactive preguntar antes de sobrescribir\n" #~ " -H segui-las ligazóns simbólicas de liña de\n" #~ " comandos\n" #~ " -l, --link facer ligazóns en vez de copiar\n" #~ " -L, --dereference seguir as ligazóns simbólicas\n" #~ " -p, --preserve mante-los atributos dos ficheiros se é " #~ "posible\n" #~ " --parents engadi-lo camiño da orixe ao DIRECTORIO\n" #~ " -P o mesmo que `--parents' por agora; logo " #~ "será\n" #~ " `--no-dereference' para seguir POSIX\n" #~ " -r copiar recursivamente, os non-directorios " #~ "coma\n" #~ " ficheiros. AVISO: empregue -R se " #~ "quere\n" #~ " copiar ficheiros especiais coma FIFOs " #~ "ou\n" #~ " /dev/zero\n" #~ " --remove-destination eliminar os ficheiros de destino antes de\n" #~ " tentar abrilos (contraste con --force)\n" #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "Copia un ficheiro, converténdoo e formatándoo segundo as opcións.\n" #~ "\n" #~ " bs=BYTES forzar ibs=BYTES e obs=BYTES\n" #~ " cbs=BYTES converter BYTES bytes de cada vez\n" #~ " conv=PALABRAS converte-lo ficheiro segundo a lista de palabras " #~ "separadas\n" #~ " por coma.\n" #~ " count=BLOQUES copiar só BLOQUES bloques de entrada\n" #~ " ibs=BYTES ler BYTES bytes de cada vez\n" #~ " if=FICHEIRO ler do FICHEIRO en vez da entrada estándar\n" #~ " obs=BYTES escribir BYTES bytes de cada vez\n" #~ " of=FILE escribir no FICHEIRO en vez da saída estándar\n" #~ " seek=BLOQUES saltar na saída os primeiros BLOQUES de tamaño obs\n" #~ " skip=BLOQUES saltar na entrada os primeiros BLOQUES de tamaño ibs\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "BLOQUES e BYTES poden te-los seguintes sufixos multiplicativos:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1.000.000, M 1.048.576,\n" #~ "GD 1.000.000.000, G 1.073.741.824, e do mesmo xeito para T, P, E, Z, Y.\n" #~ "Cada PALABRA pode ser:\n" #~ "\n" #~ " ascii de EBCDIC a ASCII\n" #~ " ebcdic de ASCII a EBCDIC\n" #~ " ibm de ASCII a EBCDIC alternado\n" #~ " block completar rexistros rematados en nova liña con espacios ata " #~ "o\n" #~ " tamaño cbs\n" #~ " unblock substituí-los espacios finais dos rexistros de tamaño cbs " #~ "por\n" #~ " unha fin de liña\n" #~ " lcase cambia-las letras maiúsculas a minúsculas\n" #~ " notrunc non trunca-lo ficheiro de saída\n" #~ " ucase cambia-las letras minúsculas a maiúsculas\n" #~ " swab trocar cada par de bytes da entrada\n" #~ " noerror continuar se hai erros de lectura\n" #~ " sync completar cada bloque de entrada con NULs ata o tamaño ibs; " #~ "ao\n" #~ " usalo con block e unblock, completar con espacios en vez de " #~ "NULs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Amosa información acerca do sistema de ficheiros no que reside cada " #~ "FICHEIRO,\n" #~ "ou tódolos sistemas de ficheiros por omisión.\n" #~ "\n" #~ " -a, --all incluí-los sistemas de ficheiros con 0 bloques\n" #~ " --block-size=TAM utilizar bloques de TAM bytes\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible para " #~ "persoas\n" #~ " (p.ex. 1K 234M 2G)\n" #~ " -H, --si o mesmo, mais usando potencias de 1000, non de " #~ "1024\n" #~ " -i, --inodes amosa-la información de inodos en vez dos " #~ "bloques\n" #~ " utilizados\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l, --local limita-la lista aos sistemas de ficheiros locais\n" #~ " -m, --megabytes coma --block-size=1048576\n" #~ " --no-sync non chamar a sync antes de obte-la información " #~ "de\n" #~ " uso (opción por defecto)\n" #~ " -P, --portability usa-lo formato POSIX de saída\n" #~ " --sync chamar a sync antes de obte-la información de " #~ "uso\n" #~ " -t, --type=TIPO limita-la lista aos sistemas de ficheiros do tipo " #~ "TIPO\n" #~ " -T, --print-type escribi-lo tipo de sistema de ficheiros\n" #~ " -x, --exclude-type=TIPO limita-la lista aos sistemas de ficheiros que " #~ "non\n" #~ " sexan do tipo TIPO\n" #~ " -v (ignorada)\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Amosa un resume da utilización do disco de cada FICHEIRO, recursivamente " #~ "para\n" #~ "directorios.\n" #~ "\n" #~ " -a, --all escribi-la conta para tódolos ficheiros, non só " #~ "os\n" #~ " directorios\n" #~ " -b, --bytes escribi-lo tamaño en bytes\n" #~ " -c, --total producir un total\n" #~ " -D, --dereference-args segui-los camiños a través de ligazóns " #~ "simbólicas\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible para " #~ "persoas\n" #~ " (p.ex., 1K 234M 2G)\n" #~ " -H, --si o mesmo, mais usando potencias de 1000, non de " #~ "1024\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l, --count-links conta-los tamaños múltiples veces se hai ligazóns " #~ "duras\n" #~ " -L, --dereference seguir tódalas ligazóns simbólicas\n" #~ " -m, --megabytes coma --block-size=1048576\n" #~ " -S, --separate-dirs non incluí-lo tamaño dos subdirectorios\n" #~ " -s, --summarize amosar só o total para cada argumento\n" #~ " -x, --one-file-system omiti-los directorios en sistemas de ficheiros\n" #~ " distintos\n" #~ " -X FICH, --exclude-from=FICH excluí-los ficheiros que coincidan con " #~ "algún\n" #~ " patrón contido en FICH.\n" #~ " --exclude=PATRÓN excluí-los ficheiros que coincidan co PATRÓN\n" #~ " --max-depth=N escribi-lo total para un directorio (ou ficheiro, " #~ "con\n" #~ " --all), só se está N ou menos niveis debaixo " #~ "do\n" #~ " argumento da liña de comandos; --max-depth=0 é " #~ "o\n" #~ " mesmo que --summarize\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Nas dúas primeiras formas, copia a ORIXE en DESTINO ou varias ORIXE(s) " #~ "ao\n" #~ "DIRECTORIO existente, axustando os permisos e o dono/grupo.\n" #~ "Na terceira forma, crea tódolos compoñentes do(s) DIRECTORIO(s) " #~ "indicados.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -c (ignorada)\n" #~ " -d, --directory tratar tódolos argumentos como directorios; crear " #~ "tódolos\n" #~ " compoñentes dos directorios indicados\n" #~ " -D crear tódolos compoñentes iniciais de DESTINO agás " #~ "o\n" #~ " derradeiro, entón copiar ORIXE a DESTINO; útil na\n" #~ " primeira forma\n" #~ " -g, --group=GRUPO establece-los permisos de grupo, en vez do grupo " #~ "do\n" #~ " proceso\n" #~ " -m, --mode=MODO establece-los permisos (coma en chmod), en vez de\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=OWNER establece-lo dono (só super-usuario)\n" #~ " -p, --preserve-timestamps mante-las datas de acceso/modificación dos\n" #~ " ficheiros ORIXE nos correspondentes de " #~ "destino\n" #~ " -s, --strip elimina-las táboas de símbolos, só para a primeira " #~ "e\n" #~ " segunda forma\n" #~ " -S, --suffix=SUFIXO subsituí-lo sufixo habitual da copia de seguridade\n" #~ " -v, --verbose escribi-lo nome de cada directorio ao crealo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la versión da información e saír\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Crea unha ligazón ao OBXECTIVO indicado cun NOME_DA_LIGAZÓN opcional.\n" #~ "Se se omite o NOME_DA_LIGAZÓN, crearase unha ligazón co mesmo nome base " #~ "que\n" #~ "o OBXECTIVO no directorio actual. Cando se usa a segunda forma con máis " #~ "dun\n" #~ "OBXECTIVO, o último argumento ten que ser un directorio; crea ligazóns " #~ "no\n" #~ "DIRECTORIO para cada OBXECTIVO. Crea ligazóns duras por defecto, " #~ "ligazóns\n" #~ "simbólicas con --symbolic. Cando se crean ligazóns duras, cada " #~ "OBXECTIVO\n" #~ "debe existir.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -d, -F, --directory facer ligazón dura de directorios (só " #~ "super\n" #~ " usuario)\n" #~ " -f, --force borra-los ficheiros destino que xa existan\n" #~ " -n, --no-dereference trata-los destinos que sexan ligazóns " #~ "simbólicas\n" #~ " a un directorio coma se fosen ficheiros " #~ "normais\n" #~ " -i, --interactive preguntar se os destinos se borran\n" #~ " -s, --symbolic facer ligazóns simbólicas en vez de duras\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO indica-lo DIRECTORIO onde se crean " #~ "as\n" #~ " ligazóns\n" #~ " -v, --verbose escribi-lo nome de cada ficheiro antes de\n" #~ " face-la ligazón\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\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\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "Amosa información dos FICHEIROs (por omisión no directorio actual).\n" #~ "Ordena as entradas alfabeticamente se non se indica ningunha das opcións\n" #~ "-cftuSUX nin --sort.\n" #~ "\n" #~ " -a, --all non oculta-las entradas que empezan con .\n" #~ " -A, --almost-all non amosa-las entradas . e .. implícitas\n" #~ " -b, --escape escribir caracteres de escape en octal para\n" #~ " os caracteres non gráficos\n" #~ " --block-size=TAMAÑO usar bloques de TAMAÑO bytes\n" #~ " -B, --ignore-backups non lista-las entradas que rematan con ~\n" #~ " -c con -lt: amosar e ordenar por ctime (data " #~ "da\n" #~ " última modificación da información do " #~ "estado\n" #~ " de ficheiro)\n" #~ " con -l: amosar ctime e ordenar polo nome\n" #~ " doutro xeito: ordenar por ctime\n" #~ " -C amosa-las entradas en columnas\n" #~ " --color[=CANDO] controla-lo emprego da cor para distingui-" #~ "los\n" #~ " tipos de ficheiros. CANDO pode ser " #~ "`never'\n" #~ " (nunca), `always' (sempre) ou " #~ "`auto' (auto)\n" #~ " -d, --directory amosa-las entradas de directorio en vez dos\n" #~ " seus contidos\n" #~ " -D, --dired xera-la saída para o modo `dired' de Emacs\n" #~ " -f non ordenar, actívase -aU, desactívase -lst\n" #~ " -F, --classify engadir un indicador ás entradas (un de */" #~ "=@|)\n" #~ " --format=PALABRA accross -x [cruzar], commas -m [comas],\n" #~ " horizontal -x, long -l [longo], single-" #~ "column\n" #~ " -1 [unha columna], verbose -l " #~ "[explicativo],\n" #~ " vertical -C\n" #~ " --full-time amosa-la data e a hora completas\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\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" #~ msgstr "" #~ " -g (ignorada)\n" #~ " -G, --no-group non amosa-la información do grupo\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible " #~ "para\n" #~ " humanos (p.ex. 1K 234M 2G)\n" #~ " --si o mesmo, mais usando potencias de 1000, non " #~ "1024\n" #~ " -H igual que `--si' por agora; cambiará para " #~ "seguir\n" #~ " a norma POSIX\n" #~ " --indicator-style=PALABRA engadir un indicador de estilo PALABRA " #~ "aos\n" #~ " nomes das entradas: none [ningún] " #~ "(defecto),\n" #~ " classify [clasificar] (-F), file-type\n" #~ " [tipo de ficheiro] (-p)\n" #~ " -i, --inode escribi-lo número de índice de cada " #~ "ficheiro\n" #~ " -I, --ignore=PATRÓN non amosa-las entradas que encaixen co " #~ "PATRÓN\n" #~ " de shell\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l usar un formato longo de listaxe\n" #~ " -L, --dereference amosa-las entradas apuntadas polas ligazóns\n" #~ " simbólicas\n" #~ " -m encher ao ancho cunha lista de entradas " #~ "separadas\n" #~ " por coma\n" #~ " -n, --numeric-uid-gid amosar UIDs e GIDs numéricos en vez dos " #~ "nomes\n" #~ " -N, --literal amosa-los nomes reais (non tratar p.ex. os\n" #~ " caracteres de control como especiais)\n" #~ " -o usar un formato de listado longo sen a " #~ "información\n" #~ " do grupo\n" #~ " -p, --file-type engadir un indicador ás entradas (un de /" #~ "=@|)\n" #~ " -q, --hide-control-chars escribir ? en vez dos caracteres non " #~ "gráficos\n" #~ " --show-control-chars amosa-los caracteres non gráficos tal como " #~ "son\n" #~ " (predeterminado a menos que o programa " #~ "sexa\n" #~ " `ls' e a saída sexa un terminal)\n" #~ " -Q, --quote-name arrodea-los nomes entre comiñas\n" #~ " --quoting-style=PALABRA utiliza-lo estilo de cita PALABRA para os " #~ "nomes\n" #~ " das entradas:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse inverte-la orde ao face-la ordenación\n" #~ " -R, --recursive amosa-los subdirectorios recursivamente\n" #~ " -s, --size escribi-lo tamaño de cada ficheiro, en " #~ "bloques\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S ordenar polo tamaño dos ficheiros\n" #~ " --sort=PALABRA extension [extensión] -X, none [ningunha] -" #~ "U,\n" #~ " size [tamaño] -S, time [data] -t, version\n" #~ " [version] -v, status [estado] -c, atime " #~ "[data\n" #~ " de acceso] -u, access [acceso] -u, use " #~ "[use] -u\n" #~ " --time=PALABRA amosa-la data segundo PALABRA, en vez da " #~ "data\n" #~ " de modificación: atime, access, use, " #~ "ctime, ou\n" #~ " status; usa-la data especificada para " #~ "ordenar\n" #~ " se --sort=time\n" #~ " -t ordenar pola data de modificación\n" #~ " -T, --tabsize=COLS establece-los tabuladores cada COLS, en vez " #~ "de 8\n" #~ " -u con -lt: amosar e ordenar pola data de " #~ "acceso\n" #~ " con -l: amosa-la data de acceso e ordenar " #~ "polo\n" #~ " nome\n" #~ " doutro xeito: ordear pola data de acceso\n" #~ " -U non ordenar; amosa-las entradas na orde do\n" #~ " directorio\n" #~ " -v ordenar por versión\n" #~ " -w, --width=COLS establece-la anchura da pantalla en vez do\n" #~ " valor actual\n" #~ " -x amosa-las entradas en liñas, en vez de " #~ "columnas\n" #~ " -X ordenar alfabéticamente pola extensión da\n" #~ " entrada\n" #~ " -1 amosar un ficheiro por liña\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Por defecto, non se usan cores para distingui-los tipos de ficheiros. É\n" #~ "equivalente a usar --color=none. Usa-la opción --color sen o argumento\n" #~ "opcional CANDO é equivalente a usar --color=always. Con --color=auto, " #~ "os\n" #~ "códigos de cor escríbense só se a saída está conectada a un terminal " #~ "(tty).\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Sobrescribe repetidamente o(s) FICHEIRO(s) indicados, para facer que " #~ "sexa\n" #~ "máis difícil recuperar os datos, mesmo en hardware complexo.\n" #~ "\n" #~ " -f, --force alterar os permisos para poder escribir se for " #~ "necesario\n" #~ " -n, --iterations=N Sobrescribir N veces en vez do predeterminado (%d)\n" #~ " -s, --size=N destruír este número de bytes (acéptanse sufixos coma k, " #~ "M, G)\n" #~ " -u, --remove truncar e eliminar o ficheiro tras sobrescribilo\n" #~ " -v, --verbose amosar a evolución\n" #~ " -x, --exact non axustar o tamaño dos ficheiros ata un bloque " #~ "completo\n" #~ " -z, --zero sobrescribir con ceros ao rematar para agochar a " #~ "destrucción\n" #~ " - saída estándar do shred\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Os ficheiros bórranse ao indicarse --remove (-u). Por omisión non se " #~ "eliminan\n" #~ "porque o habitual é actuar en ficheiros de dispositivo como /dev/hda, e\n" #~ "normalmente estes non deben ser borrados. No caso dos ficheiros " #~ "regulares,\n" #~ "a maioría da xente usa a opción --remove.\n" #~ "\n" #~ "PRECAUCIÓN: Advirta que o shred se basea en asumir algo moi importante:\n" #~ "que os sistemas de ficheiros sobrescriben os datos. Isto é o xeito " #~ "tradicional\n" #~ "de facelo, pero moitos sistemas de ficheiros modernos están deseñados " #~ "para\n" #~ "non satisfacer isto. Estes son exemplos de sistemas de ficheiros cos que " #~ "o\n" #~ "shred non é efectivo:\n" #~ "\n" #~ "* sistemas 'journaled' ou estructurados con log, como os fornecidos con " #~ "AIX\n" #~ " e Solaris (e JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* sistemas que escriben datos redundantes e continúan mesmo se algunha\n" #~ " escritura falla, como os sistemas de ficheiros baseados en RAID\n" #~ "\n" #~ "* sistemas que fan capturas periódicas, como o servidor NFS de Network\n" #~ " Appliance\n" #~ "\n" #~ "* sistemas que fan caché en localizacións temporais, como os clientes de\n" #~ " NFS versión 3\n" #~ "\n" #~ "* sistemas de ficheiros comprimidos\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "Actualiza a data de acceso e modificación de cada FICHEIRO á data " #~ "actual.\n" #~ "\n" #~ " -a cambiar só a data de acceso\n" #~ " -c, --no-create non crear ningún ficheiro\n" #~ " -d, --date=CADEA analizar CADEA e usala en vez da data actual\n" #~ " -f (ignorada)\n" #~ " -m cambiar só a data de modificación\n" #~ " -r, --reference=FICH usa-las datas deste ficheiro en vez da data " #~ "actual\n" #~ " -t DATA usar [[SS]AA]MMDDhhmm[.ss] en vez da data " #~ "actual\n" #~ " --time=PALABRA establece-lo tempo indicado por PALABRA:\n" #~ " [acceso] -a, atime [data de acceso] -a,\n" #~ " mtime [data de modificación] -m, modify\n" #~ " [modificación] -m, use [uso] -a\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Advirta de que os tres formatos de hora/data recoñecidos polas opcións -" #~ "d\n" #~ "e -t, e polo argumento obsoleto, son todos diferentes.\n" #~ msgid "" #~ "Warning: the meaning of `-P' will change in the future to conform to " #~ "POSIX.\n" #~ "Use `--parents' for the old meaning, and `--no-dereference' for the new " #~ "one." #~ msgstr "" #~ "Aviso: o significado de `-P' mudará no futuro para seguir a norma POSIX.\n" #~ "Use `--parents' para o significado antigo, e `--no-dereference' para o " #~ "novo." #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 1999 Free Software Foundation, Inc." #, fuzzy #~ msgid "%a %b %d %H:%M:%S %Y" #~ msgstr "%e %b %Y %H:%M" #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "ao crear ficheiros especiais de carácter, débense indicar os números\n" #~ "de dispositivo `major' e `minor'" #~ msgid "days" #~ msgstr "días" #~ msgid "users" #~ msgstr "usuarios" #, fuzzy #~ msgid "%s: only one signal specififier allowed" #~ msgstr "só se pode especificar un argumento" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) " #~ "[00-99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla a saída. A única opción válida para a segunda forma\n" #~ "indica a Hora Universal Coordinada. As secuencias interpretadas son:\n" #~ "\n" #~ " %%%% un %% literal\n" #~ " %%a o nome de semana abreviado localizado (Dom..Sáb)\n" #~ " %%A o nome de semana completo localizado, lonx. variable (Domingo.." #~ "Sábado)\n" #~ " %%b o nome de mes abreviado localizado (Xan..Dec)\n" #~ " %%B o nome de mes completo localizado, lonx. variable (Xaneiro.." #~ "Decembro)\n" #~ " %%c data e hora localizadas (Sáb Nov 04 12:02:33 EST 1989)\n" #~ " %%d día de mes (01..31)\n" #~ " %%D data (mm/dd/aa)\n" #~ " %%e día de mes, recheado con espacios en blanco ( 1..31)\n" #~ " %%h o mesmo que %%b\n" #~ " %%H hora (00..23)\n" #~ " %%I hora (01..12)\n" #~ " %%j día do ano (001..336)\n" #~ " %%k hora ( 0..23)\n" #~ " %%l hora ( 1..12)\n" #~ " %%m mes (01..12)\n" #~ " %%M minuto (00..59)\n" #~ " %%n un carácter de nova liña\n" #~ " %%p AM ou PM localizados\n" #~ " %%r hora, en formato de 12 horas (hh:mm:ss [AP]M)\n" #~ " %%s segundos dende as 00:00:00 do 1 de xaneiro de 1970 (extensión " #~ "GNU)\n" #~ " %%S segundo (00..60)\n" #~ " %%t un tabulador horizontal\n" #~ " %%T hora, en formato de 24 horas (hh:mm:ss)\n" #~ " %%U número de semana do ano, co domingo de primeiro día da semana " #~ "(00..53)\n" #~ " %%V número de semana do ano, co luns de primeiro día da semana " #~ "(01..53)\n" #~ " %%w día da semana (0..6); 0 é o domingo\n" #~ " %%W número de semana do ano, co luns de primeiro día da semana " #~ "(00..53)\n" #~ " %%x representación da data localizada (dd/mm/aa)\n" #~ " %%X representación da hora localizada (%%H:%%M:%%S)\n" #~ " %%y últimos dous díxitos do ano (00..99)\n" #~ " %%Y ano (1970..)\n" #~ " %%z zona horaria numérica estilo RFC-822 (+0100) (extensión non " #~ "estándar)\n" #~ " %%Z zona horaria (p.ex, CET), ou nada se non se pode determina-la " #~ "zona\n" #~ "\n" #~ "Por defecto, date rechea os campos numéricos con ceros. O date de GNU\n" #~ "recoñece os seguintes modificadores entre `%%' e unha directiva " #~ "numérica.\n" #~ "\n" #~ " `-' (guión) non rechea-lo campo\n" #~ " `_' (subliñado) rechea-lo campo con espacios\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Escribi-la(s) CADEA(s) á saída estándar.\n" #~ "\n" #~ " -n non escribi-lo carácter de nova liña ó final\n" #~ " -e activa-la interpretación de caracteres de escape " #~ "mediante\n" #~ " barra invertida, listados abaixo\n" #~ " -E desactiva-la interpretación desas secuencias nas " #~ "CADEAs\n" #~ " --help amosar esta axuda e saír (ten que estar soa)\n" #~ " --version amosa-la información da versión e saír (ten que estar " #~ "soa)\n" #~ "\n" #~ "Sen -E, as seguintes secuencias son recoñecidas e inseridas:\n" #~ "\n" #~ " \\NNN o carácter co código ASCII NNN (en octal)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá (BEL)\n" #~ " \\b borrado do carácter anterior\n" #~ " \\c suprime o carácter de nova liña final\n" #~ " \\f salto de páxina\n" #~ " \\n nova liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "Escribi-lo valor de EXPRESIÓN á saída estándar. As liñas en branco " #~ "separan\n" #~ "os grupos de prioridade crecente. EXPRESIÓN pode ser:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 se non é nulo nin 0, doutro xeito ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 se ningún argumento é nulo ou cero, doutro xeito " #~ "0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 é menor que ARG2\n" #~ " ARG1 <= ARG2 ARG1 é menor ou igual que ARG2\n" #~ " ARG1 = ARG2 ARG1 é igual que ARG2\n" #~ " ARG1 != ARG2 ARG1 é distinto que ARG2\n" #~ " ARG1 >= ARG2 ARG1 é maior ou igual que ARG2\n" #~ " ARG1 > ARG2 ARG1 é maior que ARG2\n" #~ "\n" #~ " ARG1 + ARG2 suma aritmética de ARG1 e ARG2\n" #~ " ARG1 - ARG2 resta aritmética de ARG1 e ARG2\n" #~ "\n" #~ " ARG1 * ARG2 producto aritmético de ARG1 e ARG2\n" #~ " ARG1 / ARG2 cociente aritmético de ARG1 dividido entre ARG2\n" #~ " ARG1 %% ARG2 resto aritmético de ARG1 dividido entre ARG2\n" #~ "\n" #~ " CADEA : REGEXP encaixe da expresión regular REGEXP en CADEA\n" #~ "\n" #~ " match CADEA REGEXP o mesmo que CADEA : REGEXP\n" #~ " substr CADEA POS LONXIT subcadea de CADEA, contando a POS dende 1\n" #~ " index CADEA CARACTERES índice da CADEA onde se atopa calquera dos\n" #~ " CARACTERES, senón 0\n" #~ " length CADEA lonxitude da CADEA\n" #~ " quote PALABRA interpreta PALABRA como unha cadea, mesmo se\n" #~ " é unha palabra reservada coma `match' ou " #~ "un\n" #~ " un operador coma `/'\n" #~ "\n" #~ " ( EXPRESIÓN ) valor de EXPRESIÓN\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ " -l escribir a saída cun formato longo\n" #~ " -b omiti-lo directorio do usuario e a shell no formato " #~ "longo\n" #~ " -h omiti-lo ficheiro de proxecto do usuario no formato " #~ "longo\n" #~ " -p omiti-lo ficheiro plan do usuario no formato longo\n" #~ " -s escribir a saída cun formato curto (por defecto)\n" #~ " -f omiti-la liña de cabeceiras no formato curto\n" #~ " -w omiti-lo nome completo do usuario no formato curto\n" #~ " -i omiti-lo nome completo do usuario e a máquina remota " #~ "no\n" #~ " formato curto\n" #~ " -q omiti-lo nome completo do usuario, a máquina remota e " #~ "o\n" #~ " tempo de inactividade no formato curto\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Un programa `finger' lixeiro; escribe a información de usuario\n" #~ "O ficheiro utmp será %s.\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Escribi-lo(s) ARGUMENTO(s) seguindo o FORMATO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "FORMATO controla a saída, como en printf de C. As secuencias " #~ "interpretadas\n" #~ "son:\n" #~ "\n" #~ " \\\" comiñas\n" #~ " \\0NNN carácter co valor octal NNN (0 a 3 díxitos)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá audible (BEL)\n" #~ " \\b borrar carácter anterior\n" #~ " \\c non escribir nada máis\n" #~ " \\f salto de páxina\n" #~ " \\n nova liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #~ " \\xNNN carácter co valor hexadecimal NNN (1 a 3 díxitos)\n" #~ "\n" #~ " %%%% un carácter %%\n" #~ " %%b ARGUMENTO é unha cadea con caracteres de escape `\\' " #~ "interpretados\n" #~ "\n" #~ "e tódalas especificacións de formato de C rematando cunha das letras\n" #~ "diouxXfeEgGcs, convertendo os ARGUMENTOs ó tipo correcto primeiro. " #~ "Manéxanse\n" #~ "as anchuras das variables.\n" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Caracteres especiais:\n" #~ "* dsusp CARAC CARAC enviará un sinal de para-lo terminal unha vez que " #~ "a\n" #~ " entrada sexa limpada\n" #~ " eof CARAC CARAC enviará un final de ficheiro (remata-la entrada)\n" #~ " eol CARAC CARAC enviará un final de liña\n" #~ "* eol2 CARAC CARAC alternativo para rematar unha liña\n" #~ " erase CARAC CARAC borrará o último carácter escrito\n" #~ " intr CARAC CARAC enviará un sinal de interrupción\n" #~ " kill CARAC CARAC borrará a liña actual\n" #~ "* lnext CARAC CARAC introducirá o seguinte carácter tal como é\n" #~ " quit CARAC CARAC enviará un sinal de saída\n" #~ "* rprnt CARAC CARAC redebuxará a liña actual\n" #~ " start CARAC CARAC reiniciará a saída despois de parala\n" #~ " stop CARAC CARAC parará a saída\n" #~ " susp CARAC CARAC enviará un sinal de parada do terminal\n" #~ "* swtch CARAC CARAC trocará a unha capa de shell distinta\n" #~ "* werase CARAC CARAC borrará a última palabra escrita\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Parámetros especiais:\n" #~ " N establece-las velocidades de entrada e de saída a N " #~ "baudios\n" #~ "* cols N dicirlle ó núcleo que o terminal ten N columnas\n" #~ "* columns N o mesmo que cols N\n" #~ " ispeed N establece-la velocidade de entrada a N\n" #~ "* line N usa-la disciplina de liña N\n" #~ " min N con -icanon, establecer a N o número de caracteres mínimo " #~ "para\n" #~ " unha lectura completa\n" #~ " ospeed N establece-la velocidade de saída a N\n" #~ "* rows N dicirlle ó núcleo que o terminal ten N ringleiras\n" #~ "* size escribi-lo número de ringleiras e columnas segundo o " #~ "núcleo\n" #~ " speed escribi-la velocidade do terminal\n" #~ " time N con -icanon, establece-lo tempo de expiración de lectura, " #~ "en\n" #~ " N décimas de segundo\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Parámetros da entrada:\n" #~ " [-]brkint o carácter `break' provoca un sinal de interrupción\n" #~ " [-]icrnl converter un retorno de carro a unha nova liña\n" #~ " [-]ignbrk ignora-los caracteres `break'\n" #~ " [-]igncr ignora-los retornos de carro\n" #~ " [-]ignpar ignora-los caracteres con erro de paridade\n" #~ "* [-]imaxbel se o buffer de entrada está cheo e chega un carácter, " #~ "non\n" #~ " limpalo e emitir un pitido\n" #~ " [-]inlcr converter unha nova liña a un retorno de carro\n" #~ " [-]inpck activa-la comprobación da paridade da entrada\n" #~ " [-]istrip limpa-lo bit alto (oitavo) dos caracteres de entrada\n" #~ "* [-]iuclc converte-los caracteres maiúsculos a minúsculos\n" #~ "* [-]ixany permitir que calquera carácter reinicie a saída, non só\n" #~ " o carácter de comezo\n" #~ " [-]ixoff activa-lo envío de caracteres de comezo/parada\n" #~ " [-]ixon activa-lo control de fluxo XON/XOFF\n" #~ " [-]parmrk marcar erros de paridade (cunha secuencia 255-0-" #~ "carácter)\n" #~ " [-]tandem o mesmo que [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Parámetros locais:\n" #~ " [-]crterase escribi-los caracteres de suprimir coma borrar-espacio-" #~ "borrar\n" #~ "* crtkill eliminar toda a liña obedecendo ós parámetros echoprt e " #~ "echoe\n" #~ "* -crtkill elimitar toda a liña obedecendo ós parámetros echoctl e " #~ "echok\n" #~ "* [-]ctlecho escribi-los caracteres de control cunha notación en " #~ "sombreiro\n" #~ " (`^c')\n" #~ " [-]echo escribi-los caracteres da entrada\n" #~ "* [-]echoctl o mesmo que [-]ctlecho\n" #~ " [-]echoe o mesmo que [-]crterase\n" #~ " [-]echok escribir unha nova liña despois dun carácter de matar\n" #~ "* [-]echoke o mesmo que [-]crtkill\n" #~ " [-]echonl escribir unha nova liña mesmo se non se están a escribir\n" #~ " outros caracteres\n" #~ "* [-]echoprt escribi-los caracteres borrados para atrás, entre `\\' e " #~ "'/'\n" #~ " [-]icanon permiti-los caracteres especiais erase, kill, werase e " #~ "rprnt\n" #~ " [-]iexten permiti-los caracteres especiais non-POSIX\n" #~ " [-]isig permiti-los caracteres especiais interrupt, quit e " #~ "suspend\n" #~ " [-]noflsh non limpa-lo buffer despois dos caracteres especiais " #~ "interrupt\n" #~ " e quit\n" #~ "* [-]prterase o mesmo que [-]echoprt\n" #~ "* [-]tostop para-los traballos en background que tenten escribir ó " #~ "terminal\n" #~ "* [-]xcase con icanon, marca-los caracteres maiúsculos con `\\'\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Parámetros de combinacións:\n" #~ "* [-]LCASE o mesmo que [-]lcase\n" #~ " cbreak o mesmo que -icanon\n" #~ " -cbreak o mesmo que icanon\n" #~ " cooked o mesmo que brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, caracteres eof e eol ós seus valores por defecto\n" #~ " -cooked o mesmo que raw\n" #~ " crt o mesmo que echoe echoctl echoke\n" #~ " dec o mesmo que echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ "* [-]decctlq o mesmo que [-]ixany\n" #~ " ek caracteres erase e kill ós seus valores por defecto\n" #~ " evenp o mesmo que parenb -parodd cs7\n" #~ " -evenp o mesmo que -parenb cs8\n" #~ "* [-]lcase o mesmo que xcase iuclc olcuc\n" #~ " litout o mesmo que -parenb -istrip -opost cs8\n" #~ " -litout o mesmo que parenb istrip opost cs7\n" #~ " nl o mesmo que -icrnl -onlcr\n" #~ " -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp o mesmo que parenb parodd cs7\n" #~ " -oddp o mesmo que -parenb cs8\n" #~ " [-]parity o mesmo que [-]evenp\n" #~ " pass8 o mesmo que -parenb -istrip cs8\n" #~ " -pass8 o mesmo que parenb istrip cs7\n" #~ " raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck\n" #~ " -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw o mesmo que cooked\n" #~ " sane o mesmo que cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, e tódolos\n" #~ " caracteres especiais ós seus valores por defecto.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " FICHEIRO1 -ef FICHEIRO2 o FICHEIRO1 e o FICHEIRO2 teñen os mesmos " #~ "números\n" #~ " de dispositivo e de inodo\n" #~ " FICHEIRO1 -nt FICHEIRO2 o FICHEIRO1 é máis novo (data de " #~ "modificación)\n" #~ " que o FICHEIRO2\n" #~ " FICHEIRO1 -ot FICHEIRO2 o FICHEIRO1 é máis antigo que o FICHEIRO2\n" #~ "\n" #~ " -b FICHEIRO o FICHEIRO existe e é especial de bloque\n" #~ " -c FICHEIRO o FICHEIRO existe e é especial de carácter\n" #~ " -d FICHEIRO o FICHEIRO existe e é un directorio\n" #~ " -e FICHEIRO o FICHEIRO existe\n" #~ " -f FICHEIRO o FICHEIRO existe e é un ficheiro normal\n" #~ " -g FICHEIRO o FICHEIRO existe e ten o bit de establecer ID de grupo\n" #~ " -G FICHEIRO o FICHEIRO existe e o seu dono é o ID efectivo de grupo\n" #~ " -k FICHEIRO o FICHEIRO existe e ten o bit pegañento (sticky)\n" #~ " -L FICHEIRO o FICHEIRO existe e é unha ligazón simbólica\n" #~ " -O FICHEIRO o FICHEIRO existe e o seu dono é o ID efectivo de " #~ "usuario\n" #~ " -p FICHEIRO o FICHEIRO existe e é unha canalización nomeada (named " #~ "pipe)\n" #~ " -r FICHEIRO o FICHEIRO existe e é lexible\n" #~ " -s FICHEIRO o FICHEIRO existe e ten un tamaño maior que cero\n" #~ " -S FICHEIRO o FICHEIRO existe e é un socket\n" #~ " -t [DF] o descritor de FICHEIRO DF (saída estándar por defecto) " #~ "está\n" #~ " aberto nun terminal\n" #~ " -u FICHEIRO o FICHEIRO existe e ten o bit de establecer ID de " #~ "usuario\n" #~ " -w FICHEIRO o FICHEIRO existe e pódese escribir\n" #~ " -x FICHEIRO o FICHEIRO existe e é executable\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading escribir unha liña coas cabeceiras das columnas\n" #~ " -i, -u, --idle engadir o tempo de inactividade do usuario na forma\n" #~ " HORAS:MINUTOS, . ou antigo\n" #~ " -l, --lookup tentar canoniza-los nomes de máquinas a través de " #~ "DNS\n" #~ " -m só o nome da máquina e o usuario asociado coa " #~ "entrada\n" #~ " estándar\n" #~ " -q, --count tódolos nomes de entrada e número de usuarios " #~ "conectados\n" #~ " -s (ignorada)\n" #~ " -T, -w, --mesg engadi-lo estado de mensaxes do usuario como +, - " #~ "ou ?\n" #~ " --message o mesmo que -T\n" #~ " --writable o mesmo que -T\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" #~ "é %s.\n" #~ "Se se indican ARG1 e ARG2, asumirase -m: usualmente son `am i' ou `mom " #~ "likes'.\n" #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "USER" #~ msgstr "USUARIO" #~ msgid "MESG " #~ msgstr "MENS " #~ msgid "LOGIN-TIME " #~ msgstr "HORA DE LOGIN" #~ msgid "FROM\n" #~ msgstr "DENDE\n" #~ msgid "<undef>" #~ msgstr "<sen definir>" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "Extraer anacos de FICHEIRO separados por PATRÓN(s) aos ficheiros `xx01',\n" #~ "`xx02', ..., e escribi-lo tamaño de cada anaco na saída estándar.\n" #~ "\n" #~ " -b, --suffix-format=FORMATO usa-lo FORMATO de sprintf na vez de %%d\n" #~ " -f, --prefix=PREFIXO usa-lo PREFIXO na vez de `xx'\n" #~ " -k, --keep-files non borra-los ficheiros de saida se hai " #~ "erros\n" #~ " -n, --digits=DIXITOS usa-lo número de díxitos indicado na vez de " #~ "2\n" #~ " -s, --quiet, --silent non visualiza-lo tamaño dos ficheiros de " #~ "saida\n" #~ " -z, --elide-empty-files borra-los ficheiros de saída baleiros\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Le-la entrada estándar se o FICHEIRO é -. Cada PATRÓN pode ser:\n" #~ "\n" #~ " ENTEIRO copiar ata, non incluíndoo, o número de liña " #~ "indicado\n" #~ " /REGEXP/[DESPRAZ] copiar ata, non incluíndoa, unha liña que coincida\n" #~ " %%REGEXP/[DESPRAZ] saltar ata, non incluíndoa, unha liña que coincida\n" #~ " {ENTEIRO} repeti-lo último patrón o número de veces que se " #~ "indica\n" #~ " {*} repeti-lo último patrón tantas veces como se poida\n" #~ "\n" #~ "Un DESPRAZamento de liña é un `+' ou `-' seguido dun enteiro positivo.\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Imprimir partes seleccionadas de liñas de cada FICHEIRO na saída " #~ "estándar.\n" #~ "\n" #~ " -b, --bytes=LISTA amosar só eses bytes\n" #~ " -c, --characters=LISTA amosar só eses caracteres\n" #~ " -d, --delimiter=DELIM usar DELIM en vez de TAB como delimitador de " #~ "campo\n" #~ " -f, --fields=LISTA amosar só eses campos\n" #~ " -n (ignorado)\n" #~ " -s, --only-delimited non amosar liñas que non conteñan " #~ "delimitadores\n" #~ " --output-delimiter=CADEA usar CADEA coma delimitador de saída\n" #~ " por defecto emprégase o delimitador de " #~ "entrada\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Use unha, e só unha das opcións -b, -c ou -f. Cada LISTA componse dun\n" #~ "rango, ou varios rangos separados por comas. Cada rango é un de:\n" #~ "\n" #~ " N N-ésimo byte, carácter ou campo, contado a partir de 1\n" #~ " N- do N-ésimo byte, carácter ou campo, á fin da liña\n" #~ " N-M do N-ésimo ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ "\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Converte-las tabulacións en cada FICHEIRO en espacios, escribindo na " #~ "saída\n" #~ "estándar. Sen un FICHEIRO, ou cando o FICHEIRO é -, le-la entrada " #~ "estándar.\n" #~ "\n" #~ " -i, --initial converter só as tabulacións do principio da liña\n" #~ " -t, --tabs=NÚMERO usar tabulacións de NÚMERO caracteres, e non 8\n" #~ " -t, --tabs=LISTA usar unha lista de posicións separadas por comas\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Na vez de -t NÚMERO ou -t LISTA, pódense usar -NÚMERO ou -LISTA.\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING combine only lines having STRING as prefix\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=NUMBER maximum line width (default of 75 columns)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "Reformatar cada parágrafo no(s) FICHEIRO(s), escribindo na saída " #~ "estándar.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é `-', ler na entrada " #~ "estándar.\n" #~ "\n" #~ "Os argumentos obligatorios nas opcións longas sono tamén nas curtas.\n" #~ " -c, --crown-margin conserva-la sangría das primeiras dúas liñas.\n" #~ " -p, --prefix=CADEA combinar só as liñas que teñan a CADEA de " #~ "prefixo\n" #~ " -s, --split-only parti-las liñas longas, pero non reencher\n" #~ " -t, --tagged-paragraph a sangría da primeira liña é distinta da da " #~ "segunda\n" #~ " -u, --uniform-spacing un espacio entre palabras, e dous entre " #~ "oracións\n" #~ " -w, --width=NÚMERO ancho máximo da liña (75 columnas se non se " #~ "indica)\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "En -wNÚMERO, a letra `w' pode ser omitida.\n" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Parti-las liñas de entrada de cada FICHEIRO (a entrada estándar se non " #~ "se\n" #~ "indican), escribindo na saída estándar.\n" #~ "\n" #~ " -b, --bytes contar bytes na vez de columnas\n" #~ " -s, --spaces parti-las liñas nos espacios en branco\n" #~ " -w, --width=ANCHO usar ANCHO columnas na vez de 80\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "" #~ "Print first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "Visualiza-las primeiras 10 liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, precede cada un cunha cabeceira que indica o seu " #~ "nome.\n" #~ "Se non se indica un FICHEIRO ou cando o FICHEIRO é -, ler da entrada " #~ "estándar.\n" #~ "\n" #~ " -c, --bytes=TAMAÑO visualiza-los primeiros TAMAÑO bytes\n" #~ " -n, --lines=NÚMERO visualiza-las primeiras NÚMERO liñas na vez de " #~ "10\n" #~ " -q, --quiet, --silent non visualiza-las cabeceiras cos nomes de " #~ "ficheiro\n" #~ " -v, --verbose visualiza-las cabeceiras sempre\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "TAMAÑO pode ter un sufixo multiplicador: b para 512, k para 1K, m para " #~ "1M.\n" #~ "Se se usa -VALOR como primeira OPCIÓN, ler -c VALOR cando un dos\n" #~ "multiplicadores bkm segue inmediatamente ó VALOR; noutro caso ler -n " #~ "VALOR.\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ "Para cada parella de liñas de entrada con campos de join idénticos, " #~ "escribir\n" #~ "unha liña na saída estándar. O campo de join é o primeiro, delimitado " #~ "por\n" #~ "espacios en branco, se non se indica outro. Cando o FICHEIRO1 ou o " #~ "FICHEIRO2\n" #~ "(non ámbolos dous á vez) é -, lese da entrada estándar.\n" #~ "\n" #~ " -a LADO visualiza-las liñas non emparellables do ficheiro " #~ "LADO\n" #~ " -e BALEIRO cambia-los campos de entrada non atopados por " #~ "BALEIRO\n" #~ " -i, --ignore-case ignora-las maiúsculas/minúsculas ao compara-los " #~ "campos\n" #~ " -j CAMPO (obsoleto) equivalente a `-1 CAMPO -2 CAMPO'\n" #~ " -j1 CAMPO (obsoleto) equivalente a `-1 CAMPO'\n" #~ " -j2 CAMPO (obsoleto) equivalente a `-2 CAMPO'\n" #~ " -o FORMATO aplica-lo FORMATO ao construi-la liña resultante\n" #~ " -t CARÃCTER usa-lo CARÃCTER como separador de campos\n" #~ " -v LADO coma -a LADO, pero eliminando as liñas de saída\n" #~ " -1 CAMPO unir po-lo CAMPO indicado do ficheiro 1\n" #~ " -2 CAMPO unir po-lo CAMPO indicado do ficheiro 2\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "A menos que se indique -t CARÃCTER, os espacios en branco iniciais " #~ "separan\n" #~ "campos e son ignorados; do outro xeito, os campos son separados por " #~ "CARÃCTER.\n" #~ "Un CAMPO é un número de campo contando a partir de 1. FORMATO é unha ou " #~ "máis\n" #~ "especificacións separadas por comas ou espacios en branco, cada unha da " #~ "forma\n" #~ "`LADO.CAMPO' ou `0'. O FORMATO que se aplica se non se indica ningún\n" #~ "visualiza o campo de join, os campos restantes de FICHEIRO1 e os campos\n" #~ "restantes de FICHEIRO2, todo separado por CHAR.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check MD5 checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check MD5 sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated MD5 checksum " #~ "lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in RFC 1321. When checking, the " #~ "input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN] --check [FICHEIRO]\n" #~ "Visualizar ou comproba-las sumas de comprobación MD5.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " -b, --binary le-los ficheiros en modo binario (por defecto " #~ "en DOS/Windows)\n" #~ " -c, --check comproba-las sumas MD5 contra a lista dada\n" #~ " -t, --text le-los ficheiros en modo texto (por defecto)\n" #~ "\n" #~ "As seguintes dúas opcións son útiles só cando se comproban as sumas:\n" #~ " --status non visualizar, o código de estado informa do " #~ "éxito\n" #~ " -w, --warn avisar de liñas de suma MD5 mal formatadas\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "As sumas calcúlanse como se describe no RFC 1321. Cando se comproban, a\n" #~ "entrada debería ser unha saída anterior deste programa. O modo por " #~ "defecto\n" #~ "é visualizar unha liña con suma de comprobación, un carácter que indica " #~ "o\n" #~ "tipo (`*' para binario, ` ' para texto), e o nome de cada FICHEIRO.\n" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "Escribir cada FICHEIRO na saída estándar, con números de liña engadidos.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, ler da entrada " #~ "estándar.\n" #~ "\n" #~ " -b, --body-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "corpo\n" #~ " -d, --section-delimiter=CC usar CC para separa-las páxinas " #~ "lóxicas\n" #~ " -f, --footer-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "pé\n" #~ " -h, --header-numbering=ESTILO usa-lo ESTILO para numera-las liñas da\n" #~ " cabeceira\n" #~ " -i, --page-increment=NÚMERO incremento do número de liña\n" #~ " -l, --join-blank-lines=NÚMERO cada grupo de NÚMERO liñas baleiras " #~ "cóntase\n" #~ " como unha soa\n" #~ " -n, --number-format=FORMATO inserta-los números de liña polo " #~ "FORMATO\n" #~ " -p, --no-renumber non reinicia-los números de liña coa " #~ "páxina\n" #~ " -s, --number-separator=CADEA engadi-la CADEA tras cada número de " #~ "liña\n" #~ " -v, --first-page=NÚMERO primeiro número de liña de cada páxina\n" #~ " -w, --number-width=NÚMERO usar NÚMERO columnas para os números de " #~ "liña\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e " #~ "saír\n" #~ "\n" #~ "Se non se indica, selecciónase -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" #~ "CC son dous caracteres delimitadores para separar páxinas lóxicas; se " #~ "non\n" #~ "hai segundo carácter suponse :. Teclee \\\\ para obter \\. O ESTILO é " #~ "un de:\n" #~ "\n" #~ " a numerar tódalas liñas\n" #~ " t numerar só as liñas non baleiras\n" #~ " n non numera-las liñas\n" #~ " pREGEXP numerar só as liñas que coinciden con REGEXP\n" #~ "\n" #~ "O FORMATO é un de:\n" #~ "\n" #~ " ln xustificar á esquerda, sen ceros iniciais\n" #~ " rn xustificar á dereita, sen ceros iniciais\n" #~ " rz xustificar á dereita, con ceros iniciais\n" #~ "\n" #~ msgid "" #~ "Write an unambiguous representation, octal bytes by default, of FILE\n" #~ "to standard output. With no FILE, or when FILE is -, read standard " #~ "input.\n" #~ "\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first on each file\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes per file\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ "Escribir unha representación non ambigua, con bytes octais se non se " #~ "indica,\n" #~ "do FICHEIRO na saída estándar. Sen un FICHEIRO, ou se o FICHEIRO é -, " #~ "ler da\n" #~ "entrada estándar.\n" #~ "\n" #~ " -A, --address-radix=BASE decidir cómo se visualizan os " #~ "desprazamentos\n" #~ " -j, --skip-bytes=BYTES saltarse BYTES bytes de entrada en cada " #~ "ficheiro\n" #~ " -N, --read-bytes=BYTES limita-lo volcado a BYTES bytes por " #~ "ficheiro\n" #~ " -s, --strings[=BYTES] visualizar cadeas de alomenos BYTES " #~ "caracteres\n" #~ " gráficos\n" #~ " -t, --format=TIPO selecciona-lo formato ou formatos de saída\n" #~ " -v, --output-duplicates non usar * para marca-la eliminación de " #~ "liñas\n" #~ " -w, --width[=BYTES] visualizar BYTES bytes por liña de saída\n" #~ " --traditional aceptar argumentos en formato pre-POSIX\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Pódense mestura-las especificacións de formato pre-POSIX, e son " #~ "acumulativas:\n" #~ " -a igual que -t a, selecciona-los caracteres nomeados\n" #~ " -b igual que -t oC, seleccionar bytes octais\n" #~ " -c igual que -t c, seleccionar caracteres ASCII ou secuencias de " #~ "escape\n" #~ " -d igual que -t u2, seleccionar enteiros curtos decimais sen signo\n" #~ " -f igual que -t fF, seleccionar números en coma flotante\n" #~ " -h igual que -t x2, seleccionar enteiros curtos hexadecimais\n" #~ " -i igual que -t d2, seleccionar enteiros curtos decimais\n" #~ " -l igual que -t d4, seleccionar enteiros longos decimais\n" #~ " -o igual que -t o2, seleccionar enteiros curtos octais\n" #~ " -x igual que -t x2, seleccionar enteiros curtos hexadecimais\n" #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ "Para a sintaxe antiga (segundo formato de chamada), DESPRAZAMENTO quere " #~ "dicir\n" #~ "-j DESPRAZAMENTO. ETIQUETA é a pseudo-dirección do primeiro byte " #~ "visualizado,\n" #~ "que se incrementa durante o volcado. Para DESPRAZAMENTO e ETIQUETA, un\n" #~ "prefixo 0x ou 0X indica hexadecimal; os sufixos poden ser . para octal e\n" #~ "b para multiplicar por 512.\n" #~ "\n" #~ "TIPO componse dunha ou máis destas especificacións:\n" #~ "\n" #~ " a carácter nomeado\n" #~ " c carácter ASCII ou secuencia de escape\n" #~ " d[TAMAÑO] decimal con signo, TAMAÑO bytes por enteiro\n" #~ " f[TAMAÑO] punto flotante, TAMAÑO bytes por enteiro\n" #~ " o[TAMAÑO] octal, TAMAÑO bytes por enteiro\n" #~ " u[TAMAÑO] decimal sen signo, TAMAÑO bytes por enteiro\n" #~ " x[TAMAÑO] hexadecimal, TAMAÑO bytes por enteiro\n" #~ "\n" #~ "TAMAÑO é un número. Para o TIPO en doux, TAMAÑO pode tamén ser C para\n" #~ "sizeof(char), S para sizeof(short), I para sizeof(int) ou L para\n" #~ "sizeof(long). Se TIPO é f, TAMAÑO tamén pode ser F para sizeof(float), D\n" #~ "para sizeof(double) ou L para sizeof(long double).\n" #~ "\n" #~ "BASE é d para decimal, o para octal, x para hexadecimal ou n para " #~ "ningunha.\n" #~ "BYTES é hexadecimal se leva un prefixo 0x ou 0X, multiplícase por 512 se\n" #~ "leva un sufixo b, por 1024 cun k e por 1048576 cun m. Engadir un sufixo " #~ "z\n" #~ "a calqueira tipo engade unha mostra de caracteres imprimibles á fin de " #~ "cada\n" #~ "liña de saída. -s sen un número implica 3. -w sen un número implica " #~ "32.\n" #~ "Se non se indica nada, od usa -A o -t d2 -w 16.\n" #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "o número de bytes indicado `%s' é maior có valor máximo\n" #~ "representable de tipo `long'" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Escribir liñas consistentes nas liñas que corresponden secuencialmente " #~ "en\n" #~ "cada FICHEIRO, separadas por tabulacións, na saída estándar.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " -d, --delimiters=LISTA usa-los caracteres da LISTA na vez de " #~ "tabulacións\n" #~ " -s, --serial pegar un ficheiro de cada vez na vez de en " #~ "paralelo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "%s%*s%s%*sPage" #~ msgstr "%s%*s%s%*sPáxina" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Paxinar ou encolumna-lo(s) FICHEIRO(s) para imprimir.\n" #~ "\n" #~ " +PRIMEIRA_PÃXINA[:ÚLTIMA_PÃXINA]\n" #~ " comezar [deter] a impresión coa PRIMEIRA_[ÚLTIMA_]" #~ "PÃXINA\n" #~ " -COLUMNAS, --columnas=COLUMNAS\n" #~ " producir unha saida de COLUMNAS columnas e imprimir " #~ "por\n" #~ " columnas, agás se se usa a opción -a. Iguala-lo " #~ "número\n" #~ " de liñas nas columnas de cada páxina.\n" #~ " -a, --across imprimi-las columnas a través e non cara a abaixo, " #~ "úsase\n" #~ " á vez que -COLUMNAS\n" #~ " -c, --show-control-chars\n" #~ " usa-las notacións de circunflexo (^G) e barra octal\n" #~ " -d, --double-space\n" #~ " producir a saída a dobre espacio\n" #~ " -e[CAR[ANCHO]], --expand-tabs[=CAR[ANCHO]]\n" #~ " expandi-los CARacteres de entrada (TABs) ao ANCHO " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " usar saltos de páxina na vez de saltos de liña para\n" #~ " separar páxinas (por unha cabeceira de páxina de 3 " #~ "liñas\n" #~ " con -f ou unha cabeceira e un pé de 5 liñas sen -f)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " with long headers left-hand-side truncation may " #~ "occur,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h CABECEIRA, --header=CABECEIRA\n" #~ " usar unha CABECEIRA centrada na vez do nome do " #~ "ficheiro.\n" #~ " Con cabeceiras longas, pode haber truncamento á " #~ "esquerda\n" #~ " -h \"\" imprime unha liña en branco. Non use -h\"\"\n" #~ " -i[CAR[ANCHO]], --output-tabs[=CAR[ANCHO]]\n" #~ " cambia-los espacios por CARacteres (TABs) de ANCHO " #~ "(8)\n" #~ " -J, --join-lines mesturar liñas completas, desactiva -W, sen " #~ "aliñamento\n" #~ " de columnas, -S[CADEA] pon separadores\n" #~ " -l LONXITUDE, --length=LONXITUDE\n" #~ " establece-la lonxitude da páxina a LONXITUDE (66) " #~ "liñas\n" #~ " (se non se indica nada, 56 liñas, e con -F 63)\n" #~ " -m, --merge imprimir tódolos ficheiros en paralelo, un en cada\n" #~ " columna, trunca-las liñas, pero uni-las liñas de\n" #~ " lonxitude completa con -J\n" #~ " -n[SEP[CIFRAS]], --number-lines[=SEP[CIFRAS]]\n" #~ " numera-las liñas, empregar CIFRAS (5) cifras, e logo " #~ "o\n" #~ " SEParador (TAB), a conta comeza por defecto coa " #~ "primeira\n" #~ " liña do ficheiro de entrada\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " comezar a contar polo NÚMERO na primeira liña da " #~ "primeira\n" #~ " páxina imprimida (vexa +PRIMEIRA_PÃXINA)\n" #~ " -o MARXE, --indent=MARXE\n" #~ " desprazar cada liña MARXE (cero) espacios, non " #~ "afectar\n" #~ " a -w ou -W, a MARXE engádese ao ANCHO_PAXINA\n" #~ " -r, --no-file-warnings\n" #~ " omiti-los avisos cando non se pode abrir un ficheiro\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the <TAB> character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator <TAB> with -J and " #~ "<space>\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[CAR], --separator[=CAR]\n" #~ " separa-las columnas cun só CARácter, o CARácter por\n" #~ " defecto é o carácter <TAB> sen -w, e ningún con -w\n" #~ " -s[CAR] desactiva o truncamento das tres opcións de\n" #~ " columnas (-COLUMNAS|-a -COLUMNAS|-m) agás se se " #~ "indica -w\n" #~ " -S[CADEA], --sep-string[=CADEA]\n" #~ " separa-las columnas cunha CADEA opcional, non " #~ "empregue\n" #~ " -S \"CADEA\", -S só: Non se emprega separador (igual " #~ "ca\n" #~ " -S\"\"), sen -S: Separador por defecto <TAB> con -J " #~ "e\n" #~ " <espacio>, noutro caso (igual que -S\" \"), sen " #~ "efecto nas\n" #~ " opcións de columnas\n" #~ " -t, --omit-header omiti-las cabeceiras e pés de páxina\n" #~ " -T, --omit-pagination\n" #~ " omiti-las cabeceiras e pés de páxina, eliminar toda " #~ "a\n" #~ " paxinación con saltos de liña dos ficheiros de " #~ "entrada\n" #~ " -v, --show-nonprinting\n" #~ " usa-la notación octal de barra invertida\n" #~ " -w ANCHO_PÃXINA, --width=ANCHO_PÃXINA\n" #~ " poñe-lo ancho de páxina a ANCHO_PÃXINA (72) " #~ "caracteres\n" #~ " só para a saida de varias columnas de texto, -s[car]\n" #~ " desactívao (72)\n" #~ " -W ANCHO_PÃXINA, --page-width=ANCHO_PÃXINA\n" #~ " establece-lo ancho da páxina a ANCHO_PÃXINA (72)\n" #~ " caracteres e trunca-las liñas, agás cando se indica " #~ "a\n" #~ " opción -J, sen interferencias con -S ou -s\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "-T é implicado por -l nn cando nn <= 10 ou <= 3 con -F. Se non se indica " #~ "un\n" #~ "FICHEIRO, ou cando o FICHEIRO é -, ler da entrada estándar.\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ "\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "Os argumentos que son obrigatorios nas opcións longas son obrigatorios " #~ "nas\n" #~ "curtas tamén.\n" #~ "\n" #~ " -A, --auto-reference amosa-las referencias xeradas " #~ "automaticamente\n" #~ " -C, --copyright amosa-lo Copyright e as condicións de " #~ "copia\n" #~ " -G, --traditional parecerse máis ao `ptx' de System V\n" #~ " -F, --flag-truncation=CADEA usa-la CADEA para marca-las liñas " #~ "truncadas\n" #~ " -M, --macro-name=CADEA nome de macro que empregar na vez de " #~ "`xx'\n" #~ " -O, --format=roff xera-la saída coma directivas de roff\n" #~ " -R, --right-side-refs poñe-las referencias á dereita, non " #~ "contadas\n" #~ " en -w\n" #~ " -S, --sentence-regexp=REGEXP para a fin das liñas ou das oracións\n" #~ " -T, --format=tex xera-la saída coma directivas de TeX\n" #~ " -W, --word-regexp=REGEXP usar REGEXP para busca-las claves\n" #~ " -b, --break-file=FICHEIRO caracteres que parten palabras neste " #~ "FICHEIRO\n" #~ " -f, --ignore-case converte-las minúsculas a maiúsculas " #~ "para\n" #~ " ordear\n" #~ " -g, --gap-size=NÚMERO tamaño do oco entre campos da saída\n" #~ " -i, --ignore-file=FICHEIRO ler toda a lista de palabras de " #~ "FICHEIRO\n" #~ " -o, --only-file=FICHEIRO le-la lista de palabras só do FICHEIRO\n" #~ " -r, --references o primeiro campo de cada liña é unha\n" #~ " referencia\n" #~ " -t, --typeset-mode - non implementado -\n" #~ " -w, --width=NÚMERO ancho da saída, excluindo a referencia\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información sobre a versión e " #~ "saír\n" #~ "\n" #~ "Se non se indica un FICHEIRO ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "A opción `-F /' inclúese se non se indica outra cousa.\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Este programa é software libre; pode redistribuílo e/ou modificalo\n" #~ "baixo os termos da Licencia Pública Xeral de GNU tal como foi publicada\n" #~ "pola Free Software Foundation; xa a versión 2, ou (á súa elección)\n" #~ "calqueira versión posterior.\n" #~ "\n" #~ "Este programa é distribuído coa esperanza de que sexa útil, pero\n" #~ "SEN NINGUNHA GARANTÃA; nin sequera a garantía implícita de " #~ "COMERCIABILIDADE\n" #~ "ou APTITUDE PARA UN FIN EN PARTICULAR. Vexa a Licencia Pública Xeral de\n" #~ "GNU para ter máis detalles.\n" #~ "\n" #~ "Debería ter recibido unha copia da Licencia Pública Xeral de GNU con\n" #~ "este programa; se non é o caso, escriba á Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, EE.UU.\n" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ " +POS1 [-POS2] start a key at POS1, end it *before* POS2 " #~ "(obsolescent)\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with zero (contrast with the -k option)\n" #~ " -b ignore leading blanks in sort fields or keys\n" #~ " -c check if given files already sorted, do not sort\n" #~ " -d consider only [a-zA-Z0-9 ] characters in keys\n" #~ " -f fold lower case to upper case characters in keys\n" #~ " -g compare according to general numerical value, imply -" #~ "b\n" #~ " -i consider only [\\040-\\0176] characters in keys\n" #~ " -k POS1[,POS2] start a key at POS1, end it *at* POS2\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with one (contrast with zero-based +POS " #~ "form)\n" #~ " -m merge already sorted files, do not sort\n" #~ " -M compare (unknown) < `JAN' < ... < `DEC', imply -b\n" #~ " -n compare according to string numerical value, imply -b\n" #~ " -o FILE write result on FILE instead of standard output\n" #~ " -r reverse the result of comparisons\n" #~ " -s stabilize sort by disabling last resort comparison\n" #~ " -t SEP use SEParator instead of non- to whitespace " #~ "transition\n" #~ " -T DIRECTORY use DIRECTORY for temporary files, not $TMPDIR or %s\n" #~ " -u with -c, check for strict ordering;\n" #~ " with -m, only output the first of an equal sequence\n" #~ " -z end lines with 0 byte, not newline, for find -print0\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Escribir una concatenación ordeada de tódolos FICHEIRO(s) na saída " #~ "estándar.\n" #~ "\n" #~ " +POS1 [-POS2] comezar unha clave en POS1, e acabala *antes* de POS2\n" #~ " (obsoleta). Os números de campo e os desprazamentos\n" #~ " numéranse comezando por 0 (non coma a opción -k\n" #~ " -b ignora-los espacios en branco iniciais nos campos e " #~ "claves\n" #~ " de ordeación\n" #~ " -c comprobar se os ficheiros xa están ordeados, non " #~ "ordear\n" #~ " -d considerar só os caracteres [a-zA-Z0-9 ] nas claves\n" #~ " -f converter minúsculas a maiúsculas nas claves\n" #~ " -g comparar segundo o valor numérico xeral, implica -b\n" #~ " -i considerar só os caracteres [\\040-\\0176] nas claves\n" #~ " -k POS1[,POS2] comezar unha clave en POS1, e acabala *en* POS2\n" #~ " os números de campo e os desprazamentos numéranse " #~ "comezando\n" #~ " por 1 (non coma a forma +POS, que comeza en 0)\n" #~ " -m mesturar ficheiros xa ordeados, non ordear\n" #~ " -M comparar (descoñecido) < 'JAN' < ... < 'DEC', implica -" #~ "b\n" #~ " -n comparar polo valor numérico de cadea, implica -b\n" #~ " -o FICHEIRO escribi-lo resultado no FICHEIRO na vez da saída " #~ "estándar\n" #~ " -r inverti-lo resultado das comparacións\n" #~ " -s estabiliza-la ordeación desactivando a comparación de\n" #~ " derradeiro recurso\n" #~ " -t SEP usa-lo SEParador na vez de espacios en branco\n" #~ " -T DIRECTORIO usa-lo DIRECTORIO para ficheiros temporais, non " #~ "$TMPDIR\n" #~ " ou %s\n" #~ " -u con -c, controla-la ordenación estricta;\n" #~ " con -m, visualizar só a primeira dun grupo de iguais\n" #~ " -z acabada-las liñas cun byte 0, non cun salto de liña, " #~ "para\n" #~ " find -print0\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "cando se usan os especificadores de clave ao antigo estilo +POS e -POS,\n" #~ "o especificador +POS debe ir primeiro" #~ msgid "option `-k' requires an argument" #~ msgstr "a opción `-k' precisa dun argumento" #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "a especificación do campo inicial ten un `.' pero non o segue\n" #~ "o desprazamento" #~ msgid "" #~ "starting field character offset argument to the `-k' option\n" #~ "must be positive" #~ msgstr "" #~ "o argumento desprazamento do campo inicial da opción `-k'\n" #~ "debe ser positivo" #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "" #~ "a especificación do campo ten un `,' pero non o segue a\n" #~ "especificación do seguinte campo" #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "o argumento número de campo final da opción `-k' debe ser positivo" #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "a especificación do campo final ten `.' pero non segue\n" #~ "o desprazamento" #~ msgid "option `-o' requires an argument" #~ msgstr "a opción `-o' precisa dun argumento" #~ msgid "option `-t' requires an argument" #~ msgstr "a opción `-t' precisa dun argumento" #~ msgid "option `-T' requires an argument" #~ msgstr "a opción `-T' precisa dun argumento" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "PREFIX is `x'. With no INPUT, or when INPUT is -, read standard input.\n" #~ "\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "Escribir anacos de tamaño fixo do ficheiro de ENTRADA nos ficheiros " #~ "PREFIXOaa,\n" #~ "PREFIXOab, ...; se non se indica o prefixo, este é `x'. Sen un ficheiro " #~ "de\n" #~ "ENTRADA, ou se a ENTRADA é -, lese da entrada estándar.\n" #~ "\n" #~ " -b, --bytes=TAMAÑO poñer TAMAÑO bytes por ficheiro de saída\n" #~ " -C, --line-bytes=TAMAÑO poñer como máximo TAMAÑO bytes de liñas por " #~ "ficheiro\n" #~ " de saída\n" #~ " -l, --lines=NÚMERO poner NÚMERO liñas por ficheiro de saída\n" #~ " -NÚMERO igual que -l NÚMERO\n" #~ " --verbose visualizar un diagnóstico no error estándar " #~ "xusto\n" #~ " antes de abrir cada ficheiro de saída\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "O TAMAÑO pode ter un sufixo multiplicador: b para 512, k para 1K, m para " #~ "1Meg.\n" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}] output appended data as the file " #~ "grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -n, --lines=N output the last N lines, instead of the last " #~ "%d\n" #~ " --max-unchanged-stats=N see the texinfo documentation\n" #~ " (the default is %d)\n" #~ " --max-consecutive-size-changes=N see the texinfo documentation\n" #~ " (the default is %d)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep S seconds between iterations\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ "Escribi-las derradeiras %d liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, precédese cada un cunha cabeceira que indica o " #~ "nome.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " --retry seguir tentando abrir un ficheiro incluso se " #~ "é\n" #~ " inaccesible cando tail comeza ou se se " #~ "volve\n" #~ " inaccesible despois -- útil só con -f\n" #~ " -c, --bytes=N escribi-los derradeiros N bytes\n" #~ " -f, --follow[={name|descriptor}] escribi-los datos engadidos cando o\n" #~ " ficheiro medra. -f, --follow, e\n" #~ " --follow=descriptor son equivalentes\n" #~ " -n, --lines=N escribi-las derradeiras N liñas, na vez das " #~ "%d\n" #~ " --max-unchanged-stats=N vexa a documentación de texinfo\n" #~ " (por defecto é %d)\n" #~ " --max-consecutive-size-changes=N vexa a documentación de texinfo\n" #~ " (por defecto é %d)\n" #~ " --pid=PID con -f, rematar despois de que proceso " #~ "indicado\n" #~ " morra\n" #~ " -q, --quiet, --silent non escribi-las cabeceiras que indican os " #~ "nomes\n" #~ " -s, --sleep-interval=S con -f, durmir S segundos entre iteracións\n" #~ " -v, --verbose escribir sempre as cabeceiras que indican os " #~ "nomes\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Se o primeiro carácter de N (o número de bytes ou liñas) é un `+',\n" #~ "escríbese comezando polo N-ésimo elemento dende o principio de cada " #~ "ficheiro,\n" #~ "e nos demáis casos escríbense os derradeiros N elementos do ficheiro. N " #~ "pode\n" #~ "ter un sufixo multiplicativo: b para 512, k para 1024, m para 1048576 (1\n" #~ "Mega). Unha primeira OPCIÓN de -VALOR ou +VALOR é tratada coma -n VALOR " #~ "ou\n" #~ "-n +VALOR agás se VALOR ten un dos sufixos multiplicadores [bkm], entón\n" #~ "trátase coma -c VALOR ou -c +VALOR.\n" #~ "\n" #~ "Con --follow (-f), tail segue, por defecto, o descriptor do ficheiro, o " #~ "que\n" #~ "significa que incluso se un ficheiro ao que se fai tail se lle cambia o " #~ "nome,\n" #~ "tail segue amosando a súa fin. Este comportamento por defecto non é " #~ "desexable\n" #~ "cando quere amosa-lo ficheiro con ese nome, non o seu descriptor (por " #~ "exemplo,\n" #~ "rotación de ficheiros de rexistro). Use --follow=name nese caso. Isto fai " #~ "que\n" #~ "tail busque o ficheiro con ese nome reabríndoo periodicamente para ver " #~ "se\n" #~ "foi eliminado e recreado por outro programa.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR1-CHAR2] same as CHAR1-CHAR2, if both SET1 and SET2 use this\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ "Os CONXUNTOs especifícanse como cadeas de caracteres. A maioría " #~ "represéntanse\n" #~ "a sí mesmos. As secuencias interpretadas son:\n" #~ "\n" #~ " \\NNN o carácter co valor octal NNN (de 1 a 3 díxitos " #~ "octais)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá audible (BEL)\n" #~ " \\b borrar carácter anterior\n" #~ " \\f salto de páxina\n" #~ " \\n salto de liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #~ " CAR1-CAR2 tódolos caracteres de CAR1 a CAR2 en orde crecente\n" #~ " [CAR1-CAR2] igual que CAR1-CAR2, se CONXUNTO1 e CONXUNTO2 o usan á " #~ "vez\n" #~ " [CAR*] en CONXUNTO2, copias de CAR ata a lonxitude do " #~ "CONXUNTO1\n" #~ " [CAR*REPET] REPETir copias de CAR, REPETir un octal se comeza por " #~ "0\n" #~ " [:alnum:] tódalas letras e díxitos\n" #~ " [:alpha:] tódalas letras\n" #~ " [:blank:] tódolos espacios en branco horizontais\n" #~ " [:cntrl:] tódolos caracteres de control\n" #~ " [:digit:] tódolos díxitos\n" #~ " [:graph:] tódolos caracteres imprimibles, sen conta-lo espacio\n" #~ " [:lower:] tódalas letras minúsculas\n" #~ " [:print:] tódolos caracteres imprimibles, contando o espacio\n" #~ " [:punct:] tódolos caracteres de puntuación\n" #~ " [:space:] tódolos espacios en branco horizontais e verticais\n" #~ " [:upper:] tódalas letras maiúsculas\n" #~ " [:xdigit:] tódolos díxitos hexadecimais\n" #~ " [=CAR=] tódolos caracteres equivalentes a CAR\n" #~ msgid "" #~ "Convert spaces in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -a, --all convert all whitespace, instead of initial " #~ "whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Converte-los espacios de cada FICHEIRO a tabulacións, escribindo na " #~ "saída\n" #~ "estándar. Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da " #~ "entrada\n" #~ "estándar.\n" #~ "\n" #~ " -a, --all converte-los espacios en branco, non só os " #~ "iniciais\n" #~ " -t, --tabs=NÚMERO que as tabulacións sexan de NÚMERO caracteres e non " #~ "8\n" #~ " -t, --tabs=LISTA usar unha lista de posicións separadas por comas\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Na vez de -t NÚMERO ou -t LISTA, pode empregarse -NÚMERO ou -LISTA.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated print all duplicate lines\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ "Desbotar tódalas as liñas idénticas sucesivas, agás unha, da ENTRADA (ou\n" #~ "entrada estándar), escribindo na SAÃDA (ou saída estándar).\n" #~ "\n" #~ " -c, --count precede-las liñas polo número de repeticións\n" #~ " -d, --repeated escribir só as liñas duplicadas\n" #~ " -D, --all-repeated escribir tódalas liñas duplicadas\n" #~ " -f, --skip-fields=N evita-la comparación dos primeiros N campos\n" #~ " -i, --ignore-case ignora-las maiúsculas e minúsculas na " #~ "comparación\n" #~ " -s, --skip-chars=N evita-la comparación dos primeiros N caracteres\n" #~ " -u, --unique escribir só as liñas que non estén duplicadas\n" #~ " -w, --check-chars=N non comparar máis de N caracteres nas liñas\n" #~ " -N igual que -f N\n" #~ " +N igual que -s N\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Un campo é un conxunto de caracteres distintos de espacios en branco.\n" #~ "Sáltanse os campos e logo os caracteres.\n" #~ msgid "could not find loop" #~ msgstr "non se puido atopa-lo lazo" �����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ro.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000146656�12107204517�012131� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���a��0���8��5��@&�����3�����3��,3������,4�����-4��G���/4��ˆ���w4��È����5��„���É5��Ê���N6�����7�����07��7���E7�� ���}7��i���‰7��4���ó7��‰���(8��1���²8��Ó���ä8��$���¸9��(���Ý9��$���:����+:��#���J;��"���n;�� ���‘;�� ���œ;�� ���ª;�����µ;�� ���º;�����Æ;�����Ï;��&���Õ;�� ���ü;�� ���<�����<�����%<�� ���A<�����b<�����{<�����–<�����¯<��0���Ã<��"���ô<�����=��/���'=�� ���W=�����x=�����=�����­=�����Ì=�����Ü=�����ù=��#��� >�����->��/���M>�����}>�����>�����¢>�����¿>�����Ó>�����ò>�����?�����?�����3?�����F?�����X?�����k?�����|?��$���š?�����¿?�����Ï?�����å?�����û?�����@�����$@�����@@�����\@�����z@�����–@�����ª@��"���Á@�����ä@��)���÷@�����!A�����>A��"���]A��(���€A�� ���©A��,���ÊA��,���÷A��-���$B�� ���RB��(���sB�����œB�����¯B�����¾B��&���ÑB�����øB�� ���C�� ���C�����,C�����>C�����OC�����kC�����‹C�����«C�����»C�� ���½C�����ÊC�����áC�����åC�� ���ûC��-��� D��)���7D�����aD�����sD�����ŠD�����¡D�����¸D�����½D�����ÃD��)���ËD�����õD�����E�����!E�����0E�� ���6E�����@E�����PE�� ���gE�� ���qE�����{E�����“E�� ���œE�� ���§E�� ���´E��3���ÀE�� ���ôE�����þE����� F�� ���F�� ���*F�����6F��\���FF�� ���£F�����­F�����´F�� ���ÍF�����ØF��?���ñF�����1G�� ���@G�����MG�����SG�����YG�����_G�����pG�����uG�����‰G�����˜G�� ���ŸG�����©G�����ÁG��$���ÙG�����þG�����H�����+H�� ���:H�� ���FH�� ���RH�����_H�� ���pH�����|H�����ŽH�����ŸH�����¦H�����«H�� ���±H�� ���¾H�����ÌH�����ÝH�����÷H�����I�� ���I�� ���%I�� ���2I�� ���>I�����II�����NI��#���hI�����ŒI�����•I��*���´I�����ßI�����âI�����öI�����úI����� J�� ���J��&���-J�� ���TJ�� ���`J�� ���kJ�����xJ�� ���J��#���J��2���±J�����äJ��;���K��%���>K��7���dK�����œK�� ���»K�� ���ÅK�����ÒK�� ���×K�����ãK�����÷K�����L�����)L�����:L�� ���OL�����]L�����qL�����‚L�����‘L�� ��� L��1���®L�� ���àL�� ���îL�� ���üL��&��� M��*���0M�����[M�����cM�����sM��5���xM�����®M�����¶M�����ÇM�����ÛM�� ���ðM�����üM�� ���N��$���N�� ���6N��$���AN�����fN�����xN�����}N�� ���ŒN�����šN�����¬N�����ÁN�����ÓN�����åN�� ���÷N�����O�� ���O��,���$O��&���QO�� ���xO��'���™O��0���ÁO�����òO�����P��)���.P��Y���XP��'���²P��T���ÚP��'���/Q��(���WQ�����€Q��X���”Q��?���íQ��&���-R�����TR��#���kR��&���R�����¶R��"���ÕR��T���øR��†���MS��.���ÔS�����T��"���"T��Y���ET��~���ŸT��=���U�����\U�� ���zU��¢���›U��F���>V��'���…V��Z���­V��`���W��!���iW��!���‹W��$���­W�� ���ÒW��>���óW�����2X�����7X�����<X�����RX�����hX�����}X�� ���“X�����X�����¢X�����¨X�����·X��;���ÎX��3��� Y��/���>Y��+���nY��'���šY��#���ÂY�����æY�����Z�����"Z�����2Z�����8Z�����>Z��*���@Z�����kZ�����ƒZ�����Z�����ºZ��2���ÑZ�� ���[�����[�����#[��#���*[��0���N[�����[�����™[�����ª[�����»[�����Ù[��"���ù[�����\�����:\��E���Y\��;���Ÿ\�� ���Û\�����ü\�����]��+���;]��#���g]��#���‹]��,���¯]��0���Ü]��,��� ^��#���:^�����^^�����y^�����•^�����³^�����Ñ^��$���ð^�����_��'���+_�����S_�����m_�����ƒ_�����“_�����°_�����Ç_�����×_�����ð_��.���`�����4`�����O`�����j`��0���ƒ`��3���´`�����è`�����a��)���a�����Ha�� ���Ya�����ga�����wa��.���a�����¼a�����Ëa�����Ûa�����ëa������b�����b�� ���4b�����Ub�����lb�����ƒb�� ���Ÿb�����¬b�����¿b�����Ôb�����êb�����c��,���c�����Ec�����dc�����yc�����c�� ���¡c�����«c�� ���¼c�����Èc�����Ýc�����íc�� ����d�����!d�����2d�����Cd�����Ud��$���fd��#���‹d��!���¯d��'���Ñd�����ùd��*���e��%���:e��%���`e�����†e��,���¥e�� ���Òe��$���óe�����f�����1f��#���Cf��%���gf�����f��!���­f��&���Ïf�����öf����� g�� ���(g��-���Ig�����wg�����g��1���°g�����âg�����ùg�����h�����!h�� ���9h�����Gh�����dh��(���yh�����¢h�����§h�����Æh�����Úh�����ëh�����ûh�����i�����4i�����Qi�����ki�����oi�����†i��)���•i��/���¿i�����ïi����� j�����j�����6j�����Lj�� ���gj�����ˆj�����œj�����¯j�����¿j�����Öj�����ëj�����k�����k�����7k��"���Ok�� ���rk�����€k�����‘k�����§k��"���¹k�� ���Ük�����êk��!���ýk�����l�� ���6l�����Cl�����Sl�����dl��!���vl�����˜l�����°l�����Îl�����æl�����ûl�����m�����%m�� ���;m�����\m��2���pm��;���£m�����ßm�� ���ým����� n�����n�����,n��,���Jn��9���wn��8���±n�����ên�� ���ûn����� o��)���#o�����Mo�����bo�����yo�����“o�����£o��"���¼o��#���ßo�����p�����!p��!���Ap��%���cp�����‰p�����§p�����¼p�����Öp�����ép��(���q�����*q�����Dq�����Tq�����dq��&���zq�� ���¡q��8���­q�����æq������r����� r�����>r�� ���Vr�� ���ar�����mr�����‚r�����“r�����°r�� ���Ãr�� ���Ðr�����Ür�����ór�� ��� s�����s��)���.s�����Xs�����ms�����ˆs�����œs��$���±s��-���Ös��7���t�����<t�����Ct�����Rt�����at�����zt�� ���Št�����–t�����t�����£t�����ªt�����Ãt�� ���àt�� ���ît�� ���ût�����u�����$u��(���*u��#���Su�����wu�����—u�����¯u�����Êu�����åu�����ýu�����v�����v��*���6v�����av�����yv��3���ˆv�����¼v�����Ôv��0���ìv��4���w��,���Rw��<���w��0���¼w�� ���íw��>���øw��3���7x�� ���kx�����wx�� ���Šx�� ���—x��7���¥x��î��Ýx�����Ìz��I���Îz��Ÿ���{��ä���¸{��’���|��ð���0}�����!~�����?~��D���[~�� ��� ~��x���¬~��5���%��©���[��0���€��â���6€��0�����4���J��1�����)��±��*���Û‚��2���ƒ�� ���9ƒ�����Dƒ�� ���Tƒ�����_ƒ�� ���dƒ�� ���pƒ�����zƒ��(���‚ƒ�� ���«ƒ�� ���µƒ��1���Áƒ��)���óƒ�����„�����=„�����T„��#���m„�����‘„��6���¬„��#���ã„�����…��9���…��+���S…�� ���…����� …��"���½…�����à…��&���÷…�����†��-���4†�� ���b†��4���ƒ†�����¸†�����ц��#���ê†�����‡��'���&‡�����N‡�����e‡��&���v‡�����‡�����³‡�����ɇ�����߇��0���ð‡��+���!ˆ�����Mˆ�����]ˆ��#���vˆ�����šˆ�����µˆ�����Ȉ�����æˆ�����‰��#��� ‰�����D‰��#���V‰��$���z‰�����Ÿ‰��4���²‰��'���ç‰�� ���Š��$���0Š��,���UŠ��#���‚Š��0���¦Š��0���׊��1���‹��%���:‹��+���`‹�����Œ‹�����£‹�����¸‹��+���Ï‹��"���û‹�� ���Œ�� ���+Œ�����9Œ�����NŒ�����cŒ��%���Œ��%���¥Œ�����ËŒ�����áŒ�����åŒ�����÷Œ������������ ���2��2���@��)���s�� ��������«�����¾�����Ñ�����ä�����é�� ���ï��-���ù�����'Ž�� ���@Ž�����aŽ�����pŽ�� ���vŽ�����Ž��!���˜Ž�� ���ºŽ�����ÄŽ�� ���ÚŽ�� ���ûŽ�� ���������� ���%��B���1�� ���t�����~������� ��������ª�����²��Y���Ã����������.��0���5�����f�����y��M���—�����å�� ���ô�����‘�����‘�� ��� ‘�����‘�����(‘�����0‘�����G‘�����[‘�� ���c‘�����n‘�����†‘��(��� ‘�����É‘�����æ‘�����’�� ���’�� ���’�� ���*’�����7’�� ���H’�����T’�����f’�����w’�����’�� ���…’�����“’�� ���«’�����¹’�����Ê’�����å’�����÷’�� ���“�� ���“�� ���!“�� ���-“�����7“�����<“��(���Y“�����‚“��$���’“��)���·“�����á“�����ä“�����ü“������”�����”�� ���+”��'���9”�� ���a”�� ���m”�� ���x”�����…”�����Œ”��(���œ”��R���Å”��#���•��>���<•��+���{•��P���§•�����ø•�� ���–�� ���–�����*–�� ���3–�����?–�����W–�����t–�����’–�����¢–�����´–�����Ç–�����Û–�����ì–�����û–�� ��� —��H���—�� ���a—�� ���o—�� ���}—��,���Š—��.���·—�� ���æ—�����ô—�����˜��E��� ˜�����Q˜�����W˜�����f˜�����z˜�� ���Ž˜�����š˜�����¡˜��'���²˜�����Ú˜��&���ã˜����� ™�����™����� ™�����/™�����C™�����X™�����v™�����Ž™�����¦™�����¾™�����Й�����ç™��7���ö™��.���.š��-���]š��7���‹š��:���Ú��%���þš��'���$›��5���L›��e���‚›��4���è›��p���œ��1���Žœ��2���Àœ�����óœ��c��� ��U���q��-���Ç�����õ��%���ž��-���8ž��'���fž��.���Žž��l���½ž��ª���*Ÿ��7���ÕŸ��(���  ��2���6 ��c���i ��ˆ���Í ��F���V¡��&���¡��)���Ä¡��Á���î¡��U���°¢��/���£��j���6£��|���¡£��&���¤��)���E¤��,���o¤��,���œ¤��L���ɤ�����¥�����¥�����#¥�����B¥�����a¥�����y¥�� ���—¥�����¢¥�����¨¥�����­¥�����Ä¥��8���Ù¥��0���¦��,���C¦��(���p¦��$���™¦�� ���¾¦�����ߦ�����ü¦�� ���§�����#§�����)§�����1§��&���5§�����\§�����w§�����”§�����²§��<���̧����� ¨�����"¨�����7¨��+���?¨��F���k¨��)���²¨�����ܨ��!���ó¨��&���©��"���<©��.���_©��!���Ž©��*���°©��H���Û©��>���$ª��#���cª��"���‡ª��!���ªª��<���̪��)��� «��1���3«��9���e«��=���Ÿ«��3���Ý«��2���¬�����D¬��#���a¬��(���…¬��&���®¬��+���Õ¬��.���­�����0­��7���N­��#���†­�� ���ª­�����Ë­��"���å­��%���®�����.®�����H®�����f®��2���€®��$���³®��&���Ø®�����ÿ®��.���¯��3���M¯�����¯��+���ž¯��8���ʯ�����°�����°�����/°��!���H°��6���j°�����¡°�����º°�����а�����ç°�����þ°�����±��*���8±�����c±�����ƒ±��#���Ÿ±�����ñ�����×±�����î±��#���²��#���)²�����M²��7���k²��&���£²�����ʲ�����Û²�����ò²����� ³�����³�� ���'³�����3³�����C³��!���^³��)���€³�����ª³�����¿³�����Õ³�����ê³��)���þ³��(���(´��%���Q´��+���w´�����£´��,���´��.���ï´��.���µ��"���Mµ��5���pµ��5���¦µ��3���ܵ�� ���¶�����1¶��+���I¶��+���u¶��&���¡¶��&���ȶ��/���ï¶�����·�� ���6·��&���W·��2���~·�����±·��+���η��F���ú·�����A¸��!���]¸�����¸�����™¸�� ���´¸�� ���¸�����ã¸��:���ý¸�����8¹��(���=¹�����f¹�����}¹�����¹�����¢¹�����¹�����ܹ�����ú¹�����º�����º�����9º��1���Mº��?���º��#���¿º�����ãº�����øº�����»�����+»��#���I»�����m»�����»�����•»�����¨»�����Æ»�����ß»�����ü»��!���¼�����:¼��)���Z¼�� ���„¼�����‘¼�����¡¼�����À¼��)���Ѽ�����û¼����� ½��&���'½�����N½�� ���k½�����y½�����н�����œ½��!���®½�����н�����ê½�����¾����� ¾�����9¾�����S¾�����q¾��&���ˆ¾�����¯¾��3���Ǿ��:���û¾�� ���6¿�����W¿�����j¿�����€¿��*���—¿��+���¿��:���î¿��D���)À�����nÀ�����€À�����‘À��+���ªÀ�����ÖÀ�����íÀ����� Á�����%Á�����4Á��"���LÁ��'���oÁ��"���—Á��(���ºÁ��'���ãÁ��#��� Â��$���/Â�����TÂ��#���pÂ�����”Â��)���ªÂ��2���ÔÂ�����Ã�����#Ã�����5Ã�����EÃ��*���YÃ�����„Ã��7���˜Ã�����ÐÃ��!���ìÃ��%���Ä�����4Ä�����TÄ�����eÄ�����uÄ�����ŒÄ��"���¤Ä�����ÇÄ�����ÝÄ�� ���ïÄ�����üÄ�����Å�����(Å�����0Å��-���LÅ�����zÅ��#���šÅ�����¾Å�����ÕÅ��&���òÅ��1���Æ��E���KÆ�����‘Æ�����—Æ�����¨Æ�� ���ºÆ�����ÛÆ�� ���íÆ�����ùÆ����� Ç�����Ç�����.Ç�����MÇ�����mÇ�����ƒÇ�����–Ç�����¦Ç�����ÁÇ��0���ÇÇ��%���øÇ�����È��"���;È�����^È��!���~È����� È�����ºÈ�����ÏÈ��$���ÕÈ��0���úÈ�����+É�����EÉ��B���UÉ�����˜É�����®É��Q���ÄÉ��<���Ê��;���SÊ��K���Ê��@���ÛÊ�����Ë��K���+Ë��2���wË�����ªË�����¼Ë�����ØË�����éË��D���ùË�����(������� ���¾��%�����������������3���†����–���Š������������'����������������å���n���b��N������Ã��j���4��������������F������È���i���/���ë������Ä��m�� �������Z�� ������0��¤������7��ò���—���¬���������������ƒ��”���Q��Ô���à��²������!��ý��[��_��¸���7����������A����������l��Æ���¡���Ý���x��?��š��^��2����X�������™��ô���±��÷���¨���B������…���������ï��Z�����������S��ó��?�������#��b�������"�������‚���”��Á���H��æ��$��×��F���Y��ù�������D��Ü���Å����{���a���0���a������-�����z��ß�������(����������{��s����������������p���5������ö���4��!��¾���j�����‰������u���P�������Š���M��W���ˆ���L���X��·��S��¹��v���������������™���V��%��E������A���2�������ÿ��³�������;������������������������B�������W��ú��������q��Œ������‚��o��*������ò������‡��i��©����� ���_���Ž���t��•�� ��À���Ú������¥��É��º��½��ð���É���t���„��Ï��Ý��ñ��`�������������+����é��ù��`�����)��Ø��������6��ß����Ë�����µ���������c������.��R��O��I���A��d��������������Ø�����è���€��������������ê����������G��9������±���~��@������U��:�����������“���«��T��f���ä���ë���„���È��®������ø��R����������>���˜����¸��ä������5��|������ê��w��µ�����C���õ��­����Ÿ���I��Ì������P��Z��y�������N���c���'���¥���D�����������-���E��ü���Ú���9������<��&��Ç��@����������������������������“��,���O��‹�����������Y���8��0��ç���Ô��â���’������£��é���«���Ç���>��q���R���Â��� ��M�������7���¹�������Y��Ž��v����������H���f������Q��ú��� ��–��K��´��ñ���Ñ���ž���������B��%���ô������£���������)����*�������2��î���r��Q���T�������� ���ý������á�������������������9���û��×���D������N��W��g���Þ������õ�������œ������®����������€�������<�����������Ï���;��u��G��Ð������J��è��@���?��~���J��Û���H����������Æ��ö�� ��)���…���¼��Í��k������^���Ù��]��3����������*������ç��>�������_����[��þ���k������� ���C��°������¬��� ����������í��Ÿ��›���´�������m���ÿ������� ������¿������Ê��S���\���}��6��&���M��˜������������� ��[���º�������Ù���r�����Õ��E���������h������‹��$������å��`�������š���(�����h���3����ã�������������6�����������.��� ��������������������Î���²�������¯����������­�������^����������G���w���z���x�������Ó��4�������������������P����î��œ���&��á��������������¿���V��.��!���†������ì��|���‡�����������ó���L��n�������Å���p������1���Â��#���©����=�������¯���/��'���������y������½���U��Ë��‰���F��Í�������=��8��X������¶���e�������1����������Õ�������ã����K�����������ª����������ª���à���+�����������Ì�������������������§���U�������°���\��æ���§��Á�����������o���]����J�����������‘��l���»��� �����������������þ����������Þ��������������’�������í�������#��+��1��"����������\��Ñ�����¤���=������ì�����÷��³��T���-��a��À��]�������Ä���Ö�����Ã�������â������������������¼�������¶����������Œ���5��¡��Ü��L������O���ˆ��������I������ƒ��� ���V���¢�������ž���Ð���<����������������� ������Ê�������‘�������Ó���•���Ò��:��"��,��ð��Û��¢�� ��e��Ò���Ö��Î������—���������»��,��������$��������s�������·�����K�� ���¦���;���ø�������û���:��/��¦���� ��C��g��›��¨��ï����������d��8���ü��}����������>Ì��<3��h3��|3��3��¤3��Ð3��ô3��4��FÌ���������������� �����������������ÿÿÿÿfÌ���������1���ÿÿÿÿ˜Ì���������/���ÿÿÿÿÈÌ������������ÿÿÿÿÏÌ���������������������������������ÿÿÿÿÍ��������������������������ÿÿÿÿ^Í��������������������������ÿÿÿÿ¥Í������������ÿÿÿÿ� � A mere - implies -i. If no COMMAND, print the resulting environment. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Report %s bugs to %s � Report bugs to: %s � With no FILE, or when FILE is -, read standard input. � ???� %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -c, --no-create do not create any files � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � binary use binary I/O for data � cio use concurrent I/O for data � direct use direct I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � nofollow do not follow symlinks � text use text I/O for data � %H:%M%P � (backup: %s)� ??:???? � TTY� context=%s� groups=� old �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s and %s are the same file�%s exists but is not a directory�%s has become accessible�%s has become inaccessible�%s has unknown file type�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: binary operator expected�%s: cannot overwrite directory�%s: cannot seek�%s: cannot seek to offset %s�%s: cannot skip�%s: cannot skip to specified offset�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: error truncating�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid directive�%s: invalid file size�%s: invalid file type�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: line number must be greater than zero�%s: line number out of range�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '--%s' doesn't allow an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: write error�'�')' expected�')' expected, found %s�(C)�, load average: %.2f�, %g s, %s/s �--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�??? �?????�Aborted�Address family for hostname not supported�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Bus error�CPU time limit exceeded�Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Continued�David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�Echo the STRING(s) to standard output. -n do not output the trailing newline �F. Pinard�FAILED�File size limit exceeded�Filesystem�Floating point exception�General help using GNU software: <http://www.gnu.org/gethelp/> �H. Peter Anvin�I/O possible�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�Illegal instruction�In real life: �Inodes�Interrupt�Interrupted by a signal�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Ordering options: �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print CRC checksum and byte counts of each FILE. �Print machine architecture. �Print the full filename of the current working directory. �Print the name of the current user. �Print value of a symbolic link or canonical file name �Processing request in progress�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Report %s bugs to: %s �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Russell Coker�Scott Bartram�Scott Miller�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�Warning: �When�Where�Window changed�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�appending output to %s�backing up %s would destroy source; %s not copied�backup type�block special file�blocks�both files cannot be standard input�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot fstat %s�cannot get current directory�cannot get system name�cannot lseek %s�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot read directory %s�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot run %s�cannot set date�cannot set name to %s�cannot specify times from more than one source�cannot stat %s�cannot touch %s�cannot watch %s�changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character out of range�character special file�clearing permissions for %s�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�compatibility mode supports at most one file�couldn't create temporary file�created directory %s�creating directory %s�creating file %s �directory�division by zero�dup2 failed�empty %s not allowed�empty file name�error closing file�error initializing month strings�error reading %s�error writing %s�extra argument %s�extra operand %s�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to get attributes of %s�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to reopen %s with mode %s�failed to return to initial working directory�failed to run command %s�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set user-ID�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�fsync failed for %s�fts_close failed�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring non-option arguments�input disappeared�input line is too long�invalid adjustment %s�invalid argument %s for %s�invalid body numbering style: %s�invalid context: %s�invalid conversion�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid footer numbering style: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid line numbering format: %s�invalid line width: %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number of blank lines: %s�invalid number of bytes�invalid number of columns: %s�invalid number of lines�invalid option -- %c�invalid output flag�invalid page range %s�invalid precision: %s�invalid starting line number: %s�invalid status flag�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid trailing option -- %c�invalid user�invalid user %s�invalid width: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�line number %s is smaller than preceding line number, %s�memory exhausted�message queue�missing argument after %s�missing destination file operand after %s�missing file operand�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s retained as %04lo (%s) �multiple -l or -t options specified�multiple delimiters specified�multiple output files specified�multiple output formats specified�multiple target directories specified�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no process ID specified�nonportable character %s in file name %s�number in %s is too large�number of bytes�number of lines�omitting directory %s�only one type of list may be specified�open failed�options --backup and --no-clobber are mutually exclusive�ownership of %s retained �ownership of %s retained as %s �preserving permissions for %s�preserving times for %s�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�string comparison failed�string transformation failed�symbolic link�syntax error�system boot�target %s is not a directory�term=�the delimiter must be a single character�the strings compared were %s and %s�the untransformed string was %s�time %s is out of range�too few X's in template %s�too many characters in set�too many repeated lines�too many templates�total�unable to display error message�unable to record current working directory�unknown binary operator�unknown stream�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�warning: ignoring excess arguments, starting with %s�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�weird file�when reading file names from stdin, no file name of %s allowed�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: GNU coreutils 8.4 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2010-01-24 17:20+0200 Last-Translator: Sergiu Bivol <sergiu@ase.md> Language-Team: Romanian <translation-team-ro@lists.sourceforge.net> Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 <20)) ? 1 : 2; X-Generator: Lokalize 1.0 � � Un simplu - implică -i. Fără COMANDÄ‚ tipăreÈ™te mediul rezultant. � Exemple: %s f - g Arată conÈ›inutul lui f, apoi intrarea standard, apoi conÈ›inutul lui g. %s Copiază intrarea standard spre ieÈ™irea standard. � Exemple: %s root /u Schimbă proprietarul lui /u la „rootâ€. %s root:staff /u Asemenea, dar schimbă È™i grupul la „staffâ€. %s -hR root /u Schimbă proprietarul lui /u È™i al subdosarelor la „rootâ€. � Exemple: %s staff /u Schimbă grupul lui /u la „staffâ€. %s -hR staff /u Schimbă grupul lui /u È™i al subdosarelor la „staffâ€. � LicenÈ›a GPLv3+: GNU GPL versiunea 3 sau ulterioară <http://gnu.org/licenses/gpl.html>. Acesta este software liber: sînteÈ›i liber să-l modificaÈ›i È™i să-l redistribuiÈ›i. Nu există NICIO GARANÈšIE, în limitele prevăzute de lege. � RaportaÈ›i erorile %s la %s � RaportaÈ›i erorile la: %s � Fără FIȘIER, sau cînd FIȘIER e -, citeÈ™te intrarea standard. � ???� %S secundă (00..60) %t un tabulator %T ora; identic cu %H:%M:%S %u ziua săptămînii (1..7); 1 e Luni � --output-delimiter=ȘIR separă coloanele cu ȘIR � --userspec=UTILIZATOR:GRUP specifică utilizatorul È™i grupul (ID sau nume) de utilizat --groups=LISTÄ‚_G specifică grupuri suplimentare ca g1,g2,..,gN � -c, --no-create nu crea niciun fiÈ™ier � -t echivalent cu -vT -T, --show-tabs afiÈ™ează caracterele TAB ca ^I -u (ignorat) -v, --show-nonprinting utilizează notaÈ›ia ^ È™i M-, în afară de LFD È™i TAB � binary utilizează I/E binară pentru date � cio utilizează I/E concurentă pentru date � direct utilizează I/E directă pentru date � excl eÈ™uează dacă fiÈ™ierul de ieÈ™ire există deja nocreat nu crea fiÈ™ierul de ieÈ™ire notrunc nu trunchia fiÈ™ierul de ieÈ™ire noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � nofollow nu urma legăturile simbolice � text utilizează I/E textuală pentru date � %H:%M%P � (rezervă: %s)� ??:???? � TTY� context=%s� grupuri=� vechi �%.*s: specificare de conversie nevalidă�%b %e %Y�%b %e %H:%M�%lu utilizator�%lu utilizatori�%lu de utilizatori�%s È™i %s sînt unul È™i acelaÈ™i fiÈ™ier�%s există dar nu este un dosar�%s a devenit accesibil�%s a devenit inaccesibil�%s are un tip de fiÈ™ier necunoscut�Pagina oficială %s: <%s> �Pagina oficială %s: <http://wwwgnu.org/software/%s/> �%s nu este un întreg pozitiv valid�%s este prea mare�%s: %s este atît de mare încît nu poate fi reprezentat�%s: %s: număr linie în afara intervalului�%s: %s: nicio potrivire găsită�%s: operator binar aÈ™teptat�%s: dosarul nu se poate suprascrie�%s: nu se poate căuta�%s: nu se poate căuta la decalajul %s�%s: nu se poate sări�%s: nu se poate sări la decalajul specificat�%s: descindeÈ›i în dosarul %s? �%s: descindeÈ›i în dosarul protejat la scriere %s? �%s: sfîrÈ™it de fiÈ™ier�%s: eroare la trunchiere�%s: se aÈ™tepta o valoare numerică�%s: eÈ™ec la închidere�%s: eÈ™ec la deschiderea pentru scriere�%s: eÈ™ec la eliminare�%s: fcntl eÈ™uat�%s: fiÈ™ierul are dimensiune nevalidă�%s: fiÈ™ier prea mare�%s: fiÈ™ier prea lung�%s: fiÈ™ier trunchiat�%s: fstat eÈ™uat�%s: fiÈ™ierul de intrare este fiÈ™ier de ieÈ™ire�%s: se aÈ™teaptă întreg după delimitator�%s: PID nevalid�%s: directivă nevalidă�%s: dimensiune de fiÈ™ier nevalidă�%s: tip de fiÈ™ier nevalid�%s: număr nevalid�%s: număr de octeÈ›i nevalid�%s: număr de linii nevalid�%s: număr de secunde nevalid�%s: opÈ›iune nevalidă -- „%c†�%s: model nevalid�%s: identificator de proces nevalid�%s: expresie regulată nevalidă: %s�%s: semnal nevalid�%s: numărul liniei trebuie să fie mai mare ca zero�%s: număr linie în afara intervalului�%s: semnale multiple specificate�%s: noile permisiuni sînt %s, nu %s�%s: nu se face lista dosarului deja făcută�%s: numărul de octeÈ›i e prea mare�%s: opÈ›iunea „%c%s†nu permite un argument �%s: opÈ›iunea „--%s†nu permite un argument �%s: opÈ›iunea „-W %s†nu permite un argument �%s: opÈ›iunea „-W %s†e ambiguă �%s: opÈ›iunea cere un argument -- „%c†�%s: suprascrieÈ›i %s? �%s: eroare de citire�%s: eliminaÈ›i %s %s? �%s: eliminaÈ›i toate argumentele recursiv? �%s: eliminaÈ›i toate argumentele? �%s: eliminat�%s: eliminare�%s: redenumit în %s�%s: înlocuiÈ›i %s? �%s: operator unar aÈ™teptat�%s: opÈ›iune necunoscută „%c%s†�%s: opÈ›iune necunoscută „--%s†�%s: eroare de scriere�â€�„)†aÈ™teptat�„)†aÈ™teptat, %s găsit�(C)�, încărcare medie: %.2f�, %g s, %s/s �--reflink poate fi utilizat numai cu --sparse=auto�-R --dereference necesită fie -H, fie -L�-R -h cere -P�-ef nu acceptă -l�-nt nu acceptă -l�-ot nu acceptă -l�??? �?????�Abandonat�Familie de adrese pentru gazdă nesusÈ›inută�Toate cererile terminate�Tampon prea mic pentru argumente�Arnold Robbins�Liber�Disponibil�Apel de sistem greÈ™it�Valoare greÈ™ită pentru ai_flags�Brian Fox�Eroare de magistrală�S-a depășit limita de timp CPU�Capacitate�Chet Ramey�Copilul s-a închis�Colin Plumb�Compară fiÈ™ierele sortate FIȘIER1 È™i FIȘIER2 linie cu linie. �Continuat�David M. Ihnat�David MacKenzie�David Madore�Dosar: �Dmitrii V. Levin�Imită ȘIR(uri) spre ieÈ™irea standard. -n nu afiÈ™a linia nouă finală �François Pinard�EȘUAT�S-a depășit limita de dimensiune a fiÈ™ierului�Sistem de fiÈ™iere�ExcepÈ›ie de virgulă mobilă�Ajutor general la utilizarea aplicaÈ›iilor GNU: <http://wwwgnu.org/gethelp/> �H. Peter Anvin�I/E posibile�ILiber�IUz%�IUtilizat�Ian Lance Taylor�Inactiv�InstrucÈ›iune ilegală�ÃŽn viaÈ›a reală: �Inoduri�ÃŽntrerupe�ÃŽntrerupt de un semnal�ConÈ›inut nevalid al \{\}�Expresie regulată precedentă nevalidă�SfîrÈ™it nevalid de domeniu�Expresie regulată nevalidă�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Omorît�LINIE�Autentificare�Nume de autentificare: �Mark Kettenis�Matthew Bradburn�EÈ™ec la alocarea memoriei�Memorie epuizată�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Montat pe�Nume�Nume sau serviciu necunoscut�Nicio adresă asociată cu numele gazdei�Nicio potrivire�Nicio expresie regulată anterioară�EÈ™ec nerecuperabil la rezolvarea numelui�OK�OpÈ›iuni de ordonare: �PID�ÃŽmpachetat de %s �ÃŽmpachetat de %s (%s) �Padraig Brady�Șirul parametrului e codificat greÈ™it�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Pană de curent�SfîrÈ™it prematur al expresiei regulate�TipăreÈ™te suma de verificare CRC È™i numărul de octeÈ›i al fiecărui FIȘIER. �TipăreÈ™te arhitectura maÈ™inii. �TipăreÈ™te denumirea completă a dosarului de lucru curent. �TipăreÈ™te numele utilizatorului curent. �TipăreÈ™te valoarea unei legături simbolice sau denumiri de fiÈ™ier canonice �Prelucrare cerere în curs�Proiect: �Q. Frank Xia�Termină�Randy Smith�Semnal în timp real %d�Expresie regulată prea mare�RaportaÈ›i erorile %s la: %s �Cerere anulată�Cerere neanulată�Resursă pierdută�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Rulează COMANDÄ‚ cu dosarul rădăcină stabilit la RÄ‚DÄ‚CINÄ‚NOUÄ‚. �Russell Coker�Scott Bartram�Scott Miller�Nume de server nesuportat pentru ai_socktype�StabiliÈ›i LC_ALL='C' pentru a evita problema.�Interpretor: �Simon Josefsson�Dimens�FiÈ™ierele speciale necesită numere de dispozitiv majore È™i minore.�Oprit�Oprit (semnal)�Oprit (intrare tty)�Oprit (ieÈ™ire tty)�Stuart Kemp�Succes�Eroare de sistem�Eroare temporară la rezolvarea numelui�Terminat�Șirurile comparate au fost %s È™i %s.�Torbjorn Granlund�Tip�Ulrich Drepper�Eroare necunoscută�Semnal necunoscut %d�Eroare de sistem necunoscută�( sau \( fără pereche�) sau \) fără pereche�[ sau [^ fără pereche�\{ fără pereche�CondiÈ›ie I/E urgentă�Utilizare: %s �Utilizare: %s COMANDÄ‚ [ARG]... sau: %s OPÈšIUNE �Utilizare: %s EXPRESIE sau: %s OPÈšIUNE �Utilizare: %s FIȘIER sau: %s OPÈšIUNE �Utilizare: %s FIȘIER1 FIȘIER2 sau: %s OPÈšIUNE �Utilizare: %s FORMAT [ARGUMENT]... sau: %s OPÈšIUNE �Utilizare: %s OPÈšIUNE... FIȘIER... �Utilizare: %s OPÈšIUNE... [FIȘIER]... �Utilizare: %s [-LĂȚIME] [OPÈšIUNE]... [FIȘIER]... �Utilizare: %s [-s SEMNAL | -SEMNAL] PID... sau: %s -l [SEMNAL]... sau: %s -t [SEMNAL]... �Utilizare: %s [FIȘIER]... sau: %s [OPÈšIUNE] �Utilizare: %s [NUME] sau: %s OPÈšIUNE TipăreÈ™te sau stabileÈ™te numele de gazdă al sistemului curent. �Utilizare: %s [NUMÄ‚R]... sau: %s OPÈšIUNE �Utilizare: %s [OPERAND]... sau: %s OPÈšIUNE �Utilizare: %s [OPÈšIUNE] �Utilizare: %s [OPÈšIUNE] TipăreÈ™te identificatorul numeric (hexazecimal) pentru gazda curentă. �Utilizare: %s [OPÈšIUNE] RÄ‚DÄ‚CINÄ‚NOUÄ‚ [COMANDÄ‚ [ARG]...] sau: %s OPÈšIUNE �Utilizare: %s [OPÈšIUNE] [COMANDÄ‚ [ARG]...] �Utilizare: %s [OPÈšIUNE]... �Utilizare: %s [OPÈšIUNE]... DOSAR... �Utilizare: %s [OPÈšIUNE]... FIȘIER MODEL... �Utilizare: %s [OPÈšIUNE]... FIȘIER... �Utilizare: %s [OPÈšIUNE]... FIȘIER1 FIȘIER2 �Utilizare: %s [OPÈšIUNE]... GRUP FIȘIER... sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER... �Utilizare: %s [OPÈšIUNE]... REGIM[,REGIM]... FIȘIER... sau: %s [OPÈšIUNE]... REGIM-OCTAL FIȘIER... sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER... �Utilizare: %s [OPÈšIUNE]... DENUMIRE TIP [MAJOR MINOR] �Utilizare: %s [OPÈšIUNE]... DENUMIRE... �Utilizare: %s [OPÈšIUNE]... MULÈšIME1 [MULÈšIME2] �Utilizare: %s [OPÈšIUNE]... [+FORMAT] sau: %s [-u|--utc|--universal] [LLZZhhmm[[SS]AA][.ss]] �Utilizare: %s [OPÈšIUNE]... [-T] SURSÄ‚ DEST sau: %s [OPÈšIUNE]... SURSÄ‚... DOSAR sau: %s [OPÈšIUNE]... -t DOSAR SURSÄ‚... �Utilizare: %s [OPÈšIUNE]... [-] [NUME=VALOARE]... [COMANDÄ‚ [ARG]...] �Utilizare: %s [OPÈšIUNE]... [FIȘIER] �Utilizare: %s [OPÈšIUNE]... [FIȘIER]... �Utilizare: %s [OPÈšIUNE]... [FIȘIER]... sau: %s [-abcdfilosx]... [FIȘIER] [[+]DECALAJ[.][b]] sau: %s --traditional [OPÈšIUNE]... [FIȘIER] [[+]DECALAJ[.][b] [+][ETICHETÄ‚][.][b]] �Utilizare: %s [OPÈšIUNE]... [FIȘIER]... sau: %s [OPÈšIUNE]... --files0-from=F �Utilizare: %s [OPÈšIUNE]... [INTRARE [PREFIX]] �Utilizare: %s [OPÈšIUNE]... [INTRARE]... (fără -G) sau: %s -G [OPÈšIUNE]... [INTRARE [IEȘIRE]] �Utilizare: %s [OPÈšIUNE]... [PROPRIETAR][:[GRUP]] FIȘIER... sau: %s [OPÈšIUNE]... --reference=FIȘIER-REF FIȘIER... �Utilizare: %s [OPÈšIUNE]... [ȘABLON] �Utilizare: %s [OPÈšIUNE]... [UTILIZATOR] �Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]... �Utilizare: %s [OPÈšIUNE]... [UTILIZATOR]... �Utilizare: %s [OPÈšIUNE-SCURTÄ‚]... [ȘIR]... sau: %s OPÈšIUNE-LUNGÄ‚ �Uz%�Utilizat�Semnal definit de utilizator 1�Semnal definit de utilizator 2�Argumente valide sînt:�Cronometrul virtual a expirat�AtenÈ›ie: �Cînd�Unde�Fereastra s-a schimbat�Scris de %s È™i %s. �Scris de %s, %s, %s, %s, %s, %s, %s, %s, %s È™i alÈ›ii. �Scris de %s, %s, %s, %s, %s, %s, %s, %s È™i %s. �Scris de %s, %s, %s, %s, %s, %s, %s È™i %s. �Scris de %s, %s, %s, %s, %s, %s È™i %s. �Scris de %s, %s, %s, %s, %s È™i %s. �Scris de %s, %s, %s, %s È™i %s. �Scris de %s, %s, %s È™i %s. �Scris de %s, %s È™i %s. �Scris de %s. �^[nN]�^[dDyY]�„�o comandă trebuie dată cu o ajustare�ai_family nu este suportat�ai_socktype nu este suportat�argument ambiguu %s pentru %s�ieÈ™irea se adaugă la %s�copierea de rezervă %s ar distruge sursa; %s nu este copiat�tip copie de siguranță�fiÈ™ier bloc special�blocuri�ambele fiÈ™iere nu pot fi intrarea standard�nu se poate aplica context parÈ›ial asupra fiÈ™ierului ne-etichetat %s�contextul procesului nu poate fi obÈ›inut�%s nu poate fi accesat�%s nu poate fi copiat de rezervă�apartenenÈ›a %s nu poate fi schimbată�permisiunile %s nu se pot modifica�dosarul rădăcină nu poate fi schimbat la %s�nu se poate schimba la dosarul %s�nu se poate schimba la dosarul rădăcină�nu se pot combina --target-directory (-t) È™i --no-target-directory (-T)�nu se pot combina --target-directory È™i --no-target-directory�block È™i unblock nu se pot combina�excl È™i nocreat nu se pot combina�lcase È™i ucase nu se pot combina�opÈ›iunile regimului È™i ale --reference nu pot fi combinate�semnalul nu se poate combina cu -l sau -t�denumirile de fiÈ™ier %s È™i %s nu se pot compara�U+%04X nu poate fi convertit în setul de caractere local�U+%04X nu poate fi convertit în setul de caractere local: %s�nu se poate copia un dosar, %s, în el însuÈ™i, %s�nu se poate copia legătura simbolică ciclică %s�dosarul %s nu poate fi creat�nu se poate crea legătura %s la %s�fiÈ™ierul obiÈ™nuit %s nu poate fi creat�fiÈ™ierul special %s nu poate fi creat�legătura simbolică %s nu poate fi creată�nu se poate crea legătura simbolică %s la %s�%s nu poate fi dereferenÈ›iat�dispozitivul È™i inodul pentru %s nu pot fi determinate�numele gazdei nu se poate determina�nu se poate face ioctl asupra %s�nu se poate face fstat %s�nu se poate obÈ›ine dosarul curent�nu se poate obÈ›ine numele sistemului�nu se poate face lseek %s�dosarul %s nu poate fi făcut�nu se poate muta %s la %s�%s nu poate fi mutat într-un subdosar al său, %s�%s nu poate fi deschis pentru citire�%s nu se poate deschide pentru scriere�dosarul %s nu poate fi deschis�nu se poate suprascrie dosarul %s cu non-dosar�nu se poate suprascrie non-dosarul %s cu dosarul %s�dosarul %s nu poate fi citit�legătura simbolică %s nu poate fi citită�tabelul sistemelor de fiÈ™iere montate nu poate fi citit�%s nu poate fi eliminat�nu se poate rula %s�nu se poate stabili data�numele nu poate fi stabilit la %s�timpii nu pot fi specificaÈ›i din mai mult de o sursă�nu se poate face stat %s�nu se poate atinge %s�%s nu se poate urmări�se modifică grupul %s�se modifică apartenenÈ›a %s�se modifică permisiunile %s�se schimbă contextul de securitate al %s �caracter în afara diapazonului�fiÈ™ier caracterial special�se curăță permisiunile pentru %s�închidere eÈ™uată�se închide %s (fd=%d)�se închide dosarul %s�se închide fiÈ™ierul de intrare %s�se închide fiÈ™ierul de ieÈ™ire %s�se închide intrarea standard�regimul de compatibilitate susÈ›ine cel mult un fiÈ™ier�fiÈ™ierul temporar nu a putut fi creat�creat dosarul %s�se creează dosarul %s�se creează fiÈ™ierul %s �dosar�împărÈ›ire la zero�dup2 eÈ™uat�%s gol interzis�denumire de fiÈ™ier goală�eroare la închiderea fiÈ™ierului�eroare la iniÈ›ializarea È™irurilor lunii�eroare la citirea %s�eroare la scrierea %s�argument în plus %s�operand %s în plus�eÈ™ec la schimbarea contextului %s în %s�eÈ™ec la modificarea grupului %s în %s �eÈ™ec la schimbarea apartenenÈ›ei %s �eÈ™ec la schimbarea apartenenÈ›ei %s la %s �nu s-a putut face chdir în %s�eÈ™ec la crearea dosarului prin È™ablonul %s�eÈ™ec la crearea fiÈ™ierului prin È™ablonul %s�eÈ™ec la crearea contextului de securitate: %s�eÈ™ec la obÈ›inerea atributelor %s�eÈ™ec la obÈ›inerea grupurilor pentru procesul curent�eÈ™ec la obÈ›inerea grupurilor pentru utilizatorul %s�eÈ™ec la obÈ›inerea contextului de securitate al %s�găsirea fiÈ™ierului %s a eÈ™uat�eÈ™ec la deschiderea %s�păstrarea apartenenÈ›ei pentru %s a eÈ™uat�păstrarea permisiunilor pentru %s a eÈ™uat�păstrarea timpilor pentru %s a eÈ™uat�redirijarea ieÈ™irii standard a eÈ™uat�eÈ™ec la redirecÈ›ionarea stderr spre /dev/null�eÈ™ec la eliminarea %s�eÈ™ec la eliminarea dosarului %s�deschiderea %s în regimul %s a eÈ™uat�întoarcerea la dosarul de lucru iniÈ›ial a eÈ™uat�eÈ™ec la rularea comenzii %s�eÈ™ec la stabilirea grupurilor suplimentare�eÈ™ec la stabilirea contextului implicit de creare a fiÈ™ierelor la %s�eÈ™ec la stabilirea ID-grup�eÈ™ec la stabilirea ID-utilizator�nu s-a putut face stat %s�fdatasync eÈ™uat pentru %s�fflush eÈ™uat�numărul de cîmp %s e prea mare�numărul cîmpului e zero�cîmpurile È™i poziÈ›iile sînt numerotate începînd cu 1�fifo�fiÈ™ierul %d nu este în ordine sortată�fsync eÈ™uat pentru %s�fts_close a eÈ™uat�fts_read a eÈ™uat�se obÈ›in noile atribute ale %s�grupul %s reÈ›inut ca %s �funcÈ›ie iconv indisponibilă�funcÈ›ie iconv inutilizabilă�id=�se ignoră toate argumentele�se ignoră intrarea�se ignoră intrarea È™i ieÈ™irea se adaugă la %s�se ignoră intrarea È™i se redirecÈ›ionează stderr spre stdout�se ignoră argumentele non-opÈ›iune�intrarea a dispărut�linie de intrare prea lungă�ajustare nevalidă %s�argument nevalid %s pentru %s�stil nevalid de numerotare corp: %s�context nevalid: %s�conversie nevalidă�dată nevalidă %s�format de dată necunoscut %s�dispozitiv nevalid %s %s�tip de dispozitiv nevalid %s�număr de cîmp nevalid: %s�specificator de cîmp nevalid: %s�lățime de cîmp nevalidă: %s�stil nevalid de numerotare coloncifru: %s�grup nevalid�grup %s nevalid�listă de grupuri %s nevalidă�grup nevalid: %s�stil nevalid de numerotare colontitlu: %s�intrare nevalidă�fanion de intrare nevalid�format nevalid de numerotare linii: %s�lățime linie nevalidă: %s�regim nevalid�regim nevalid %s�regim nevalid: %s�număr nevalid %s�număr nevalid de linii goale: %s�număr de octeÈ›i nevalid�număr nevalid de coloane: %s�număr de linii nevalid�opÈ›iune nevalidă -- %c�fanion de ieÈ™ire nevalid�interval de pagini nevalid %s�precizie nevalidă: %s�număr nevalid de linie iniÈ›ială: %s�fanion de stare nevalid�È™ablonul nevalid, %s, conÈ›ine separator de dosare�È™ablon nevalid, %s; cu --tmpdir, poate să nu fie absolut�opÈ›iune finală nevalidă -- %c�utilizator nevalid�utilizator nevalid %s�lățime nevalidă: %s�denumire fiÈ™ier de lungime zero nevalidă�operarea recursivă pe %s este periculoasă�operarea recursivă pe %s este periculoasă (la fel ca %s)�numărul de linie %s e mai mic decît numărul liniei precedente, %s�memorie epuizată�coadă de mesaje�argument lipsă după %s�lipsă operand fiÈ™ier destinaÈ›ie după %s�lipsă operand fiÈ™ier�lipseÈ™te lista de cîmpuri�lipseÈ™te lista de poziÈ›ii�operand lipsă�operand lipsă după %s�regimul %s reÈ›inut ca %04lo (%s) �multiple opÈ›iuni -l sau -t specificate�delimitatori multipli specificaÈ›i�multiple fiÈ™iere de ieÈ™ire specificate�multiple formate de ieÈ™ire specificate�multiple dosare-È›intă specificate�nicio modificare la apartenenÈ›a %s �nicio comandă specificată�niciun sistem de fiÈ™iere prelucrat�niciun fiÈ™ier rămas�niciun identificator de proces specificat�caracter neportabil %s în denumirea de fiÈ™ier %s�numărul din %s e prea mare�număr de octeÈ›i�număr de linii�se omite dosarul %s�poate fi specificat numai un tip de listă�deschidere eÈ™uată�opÈ›iunile --backup È™i --no-clobber se exclud reciproc�apartenenÈ›a %s reÈ›inută �apartenenÈ›a %s reÈ›inută ca %s �se păstrează permisiunile pentru %s�se păstrează timpii pentru %s�eroare de citire�citire eÈ™uată�se citeÈ™te dosarul %s�înregistrare prea mare�stderr se redirijează spre stdout�fiÈ™ier gol obiÈ™nuit�fiÈ™ier obiÈ™nuit�eliminat %s �dosar eliminat: %s �se elimină dosarul, %s�semafor�separatorul nu poate fi gol�stabiliÈ›i LC_ALL='C' pentru a evita problema�se stabilesc fanioane pentru %s�se stabilesc permisiunile pentru %s�se stabilesc timpii %s�obiect de memorie partajată�skip-bytes + read-bytes este prea mare�se sare %s, întrucît se află pe alt dispozitiv�se sare fiÈ™ierul %s, întrucît a fost înlocuit în timpul copierii�soclu�eroarea standard�intrarea standard�intrarea standard este închisă�ieÈ™irea standard�stat eÈ™uat�eroarea standard�intrarea standard�ieÈ™irea standard�compararea È™irurilor a eÈ™uat�transformarea È™irului a eÈ™uat�legătură simbolică�eroare de sintaxă�demarare sistem�È›inta %s nu este un dosar�term=�delimitatorul trebuie să fie un singur caracter�È™irurile comparate au fost %s È™i %s�È™irul transformat a fost %s�ora %s este în afara intervalului�prea puÈ›ini X în È™ablonul %s�prea multe caractere în mulÈ›ime�prea multe linii repetate�prea multe È™abloane�total�imposibil de afiÈ™at mesaj de eroare�dosarul de lucru curent nu poate fi înregistrat�operator binar necunoscut�flux necunoscut�valoarea pentru variabila de mediu LS_COLORS nu poate fi parcursă�operand %s necunoscut�prefix necunoscut: %s�utilizaÈ›i --no-preserve-root pentru a suprascrie această valoare de siguranță�atenÈ›ie: se ignoră argumentele în exces, începînd cu %s�atenÈ›ie: lățime nevalidă %lu; se utilizează %d în loc�atenÈ›ie: numărul de linie %s e acelaÈ™i ca È™i numărul liniei precedente�atenÈ›ie: fiÈ™ierul-sursă %s specificat mai mult decît o dată�fiÈ™ier ciudat�la citirea denumirilor de fiÈ™iere din stdin, denumirea %s nu este permisă�cu --parents, destinaÈ›ia trebuie să fie un dosar�eroare de scriere�eroare de scriere pentru %s�scriere eÈ™uată�se scrie în %s�trebuie să specificaÈ›i o listă de octeÈ›i, caractere sau cîmpuri�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�Page %�%+% înregistrări citite %+% înregistrări scrise �% înregistrare trunchiată �% înregistrări trunchiate �% de înregistrări trunchiate �% octet (%s) copiat�% octeÈ›i (%s) copiaÈ›i�% de octeÈ›i (%s) copiaÈ›i�Pagina %�����������������������������������������������������������������������������������coreutils-8.21/po/af.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000073065�12107204515�012066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����r�����¬ ��ó��<��������9��� ��7���C��,���{��5���¨��Ó���Þ��?���² �� ���ò ������!�����!�����!�����!�� ���'!�� ���1!�����=!�����R!�� ���n!�����!�����¨!�����¸!��>���Ñ!�����"�����/"�����A"�����^"�����~"�����“"�����²"�����Ï"�����ê"�����ý"�����#��'���"#�����J#�����e#��$���ƒ#�����¨#�����¸#�����Î#�����ä#�����÷#�����$�����/$�����L$�����j$�����~$��"���•$�����¸$�����Ë$��)���å$�����%�����,%��'���K%�� ���s%�����”%�����§%�����À%��"���Û%�����þ%����� &��"��� &�� ���C&�� ���O&�����\&�����n&�����&��"���&�����²&�����Ò&�����Ô&�� ���ê&�����õ&�����ú&�� ����'����� '��8���'��3���K'�� ���'�����‹'�� ���'�����š'�� ���¡'�����¬'�����±'�����¶'�����Å'�����Ê'�� ���Ð'�� ���Ý'�����è'�����í'�����ò'��o���õ'�����e(�����i(��2���p(��%���£(�� ���É(��1���Ó(��*���)�����0)�����8)�����=)��$���B)�����g)�����l)��,���)��&���®)�� ���Õ)��'���ö)��0���*��Y���O*��'���©*��'���Ñ*�����ù*����� +��&���)+�����P+��#���g+��&���‹+�����²+��"���Ñ+��T���ô+�����I,��"���h,��+���‹,�����·,�� ���Õ,��'���ö,��!���-�� ���@-��'���a-�����‰-�����Ž-�����“-�� ���¨-�����²-�����·-�����½-��;���Ô-��3���.��/���D.��+���t.��'��� .��#���È.�����ì.����� /�����(/�����8/�����>/�����D/�����F/��A���c/�����¥/��2���¼/��1���ï/�� ���!0�����-0��!���@0�����b0�����i0�����…0�����–0�����§0�����Å0��"���å0�����1�����&1��,���E1��0���r1��,���£1��#���Ð1�����ô1�����2�� ���%2�����F2�����b2�����€2�����ž2��$���½2�����â2�����ü2�����3�����%3�����B3�����Y3��(���i3�����’3�����«3��.���À3��2���ï3�����"4�����=4��0���V4��3���‡4�����»4�����Ô4�����ï4����� 5��%���5�����C5��!���S5�����u5�����„5�����”5�����¨5�����¹5�����Î5�����ç5�����6�����6�����26��%���I6�� ���o6�� ���|6�����‰6�����œ6�����²6�����É6�����à6�����÷6����� 7�� ���"7�����,7�� ���=7��"���G7�����j7�����{7�����Œ7��#���’7��'���¶7�����Þ7�����ý7�����8��$���(8��#���M8��%���q8�����—8��!���·8��-���Ù8�����9�����$9�����99�����>9�����V9�����f9�����ƒ9�����Ÿ9�����¼9�����Ö9�����Ú9�����ñ9�����:�����!:��;���3:�����o:�� ���Š:��*���«:��-���Ö:�����;�����;�����0;�����G;�����`;��#���x;��"���œ;�� ���¿;�����Í;��"���Þ;��#���<��!���%<��!���G<�����i<�����€<�����Ÿ<�����¸<�� ���×<�����ä<�����ô<�����=��!���$=�����F=��"���^=�����=�� ���¡=�����Â=�����Ú=�����ï=�� ���>�����&>�����;>��(���X>�� ���>�����Ž>�����ž>��,���°>��9���Ý>�����?��'���?�����E?�� ���V?��-���d?��&���’?��$���¹?�����Þ?�����õ?��"���@��#���2@�����V@�����v@�� ���‰@�����—@�� ���¯@�����¹@�����É@�����Ù@�� ���ï@��&���A�� ���7A�����CA�����cA�����yA�� ���‘A�� ���œA�����¨A�����½A�� ���ÐA�� ���ÝA�����éA������B�� ���B�� ���!B�����+B�����EB�����`B�����tB��7���‰B�����ÁB�����ÈB�����×B�����æB�����ÿB�� ���C�����C�����9C��J���RC�� ���C�� ���«C�����¸C�����ÍC�����æC��?���ìC��=���,D��(���jD��>���“D��@���ÒD�����E��/���+E�����[E�����aE�����uE��0���E��0���¾E�� ���ïE��,���úE��*���'F�� ���RF�� ���^F�� ���kF��7���yF��c��±F��M���H��C���cH��*���§H��0���ÒH��Ó���I��Y���×I�����1J�����@J�����EJ�����MJ�����RJ�� ���cJ�� ���mJ�����yJ�����’J��'���®J�����ÖJ�����ôJ�����K��J���K��!���iK�����‹K��)���¥K��"���ÏK�����òK��.���L��!���=L�����_L�����L�����’L�����¤L��6���¹L�����ðL��+��� M��-���5M�����cM�����uM�����‘M�����ªM�����¾M�����ÙM�����õM�����N�����/N�����EN��)���]N�����‡N�����šN��'���¶N�����ÞN��&���ûN��@���"O�����cO�����O�����O�����©O��"���ÄO�� ���çO�����ôO�� ��� P�����*P�����:P�����SP�����eP�����uP��)���‰P��!���³P�����ÕP�����×P�����ðP�����ùP�� ���þP�� ��� Q�� ���Q��C���Q��>���cQ�� ���¢Q�����­Q�� ���µQ�����¿Q�� ���ÆQ�����ÓQ�����ÙQ�����ßQ�����òQ�����öQ�� ���ÿQ�� ��� R�����R�����R�����!R��y���$R�����žR�����¢R��4���©R��*���ÞR����� S��9���S��*���KS�����vS�����{S�����ƒS��)���‡S�����±S�����¶S��.���ÌS��-���ûS��'���)T��-���QT��5���T��Y���µT��.���U��,���>U�����kU�� ���„U��(���¥U�����ÎU��$���êU��+���V��%���;V��)���aV��Z���‹V��$���æV��(��� W��0���4W��%���eW��&���‹W��-���²W��%���àW��*���X��-���1X�����_X�� ���hX�� ���rX�� ���“X�����¡X�����©X�����®X��:���ÆX��4���Y��0���6Y��,���gY��(���”Y��$���½Y�� ���âY�����Z�����Z�����1Z�����7Z�����=Z��!���?Z��O���aZ�����±Z��J���ÌZ��I���[�� ���a[�����n[��+���[�����­[�����²[�� ���Ð[�� ���ñ[��'���\��)���:\��)���d\��,���Ž\��+���»\��8���ç\��<��� ]��4���]]��8���’]�����Ë]�����ê]��&���^�� ���-^��#���N^��"���r^��%���•^��+���»^��#���ç^����� _�����(_�����H_��#���h_�����Œ_��:���©_�����ä_�����ý_��>���`��=���W`��!���•`��!���·`��1���Ù`��5��� a�����Aa��'���Za��,���‚a�����¯a��0���Ça�����øa��)���b�����=b�����Yb�����pb�����Œb�����¥b�� ���Àb��"���áb�����c�����c�����:c��/���Qc�����c�����•c�� ���¨c�����Éc�����èc��$���d��"���+d�����Nd�����`d�� ���td�����~d�����Žd��+��� d�����Ìd�����äd�����ýd��-���e��4���4e��#���ie�����e�����ªe��(���Áe��)���êe��(���f��&���=f��&���df��-���‹f�����¹f�����Óf�����åf�����êf�����g��!���g�����<g��#���Yg�����}g�����—g�����›g��1���»g�����íg����� h��X���h�����vh��#���”h��/���¸h��2���èh�����i�����5i�����Mi�����fi�����i��"���—i��$���ºi�����ßi�����ði��#���j��(���(j��(���Qj��#���zj�����žj�����·j�����Öj�����ój�����k�����!k�����4k��"���Hk�� ���kk�����Œk��%���£k��&���Ék��&���ðk�����l�����/l�����El�����\l�����{l�����•l��)���´l�����Þl�����òl����� m��+���m��9���Im�����ƒm��+���‹m�����·m�����Çm��.���Öm��+���n��+���1n�����]n�����wn��$���”n��,���¹n��)���æn�����o�����(o�����<o�����\o�� ���ko�� ���xo�����†o��(���£o��*���Ìo�����÷o��"��� p�����,p�����?p�����Zp�����cp�����up�����Žp�� ��� p�����­p�����¾p�����Ùp�� ���õp�����q����� q�� ���)q�����Jq�����dq��@���yq�����ºq�����¾q�����Óq�����äq������r�����r��'���#r�����Kr��e���hr�����Îr�� ���àr�����ìr�����s����� s��?���&s��=���fs��&���¤s��I���Ës��@���t�����Vt��+���mt�����™t����� t�����»t��E���Õt��;���u�� ���Wu��.���eu��3���”u�� ���Èu�����Òu�����åu��7���ýu�����³���¬���D��w���î���Õ���œ���‚���ç���b���¿���ò���…�������–�������Ù���O��������� ���¦���:���D���_�������,��Æ�������ó���K���d�����÷���Î�������#���”���E�����������]���������������¸���€����������7������-�����ý���A���Ï����������²���Y��Á���F������z���b������W��Q���o����­�����������è�������y�������‡���ä���M���v������ƒ��������4��ë�������º�������T������/��N������—�����ú�����*��ì���Œ���x�������Z���^���8��š���9���>�������������Ç���������� ��Ž���5���C������l��Q��R���§�����V������%���J������Ò���Z������¥�����������+������f���à���c������<��¼�����K�������������ž���n��������;��¯���U������“��� �������������R��G��ö���½���ß���¤�������¡�������j�����«���5�����1���&��á�������†�������$��@���B���a���i���)������k���Ý���X������������Û�����������È���£���Ä���������������A��Ñ�������|����������� ��±���������þ���O��M��2��í���?���„���3�������ñ�������:��1��e���Ÿ���Š�������������������'���7���������������Ã�������e��H���m���ü����������}���¹���(�������������i��������,��� ���!������������r���������T��H��!�������•�������U��Ë���‘�����������s�������c���g�������q��.��ˆ���4���N�������/�������B��×���0���@��õ�������h������p���À������� ��S��������<������å�������X��=���Ü���ÿ�������"��� ���P�����������$�������d���Å����������������Ê�������a������É���J�������Ø���S������ �������\���ï���6������’���I���`���>���â���ê������~���h�������j��������[���®���L���*���ù���´���������������������Ì���‹���û����� ���)�����ã���Â���¢���G�����&���_��é�������{���Ó���°���m��o�������ø�����������L��.���`�������������9������Ö���������™���Í���g��]����������3��ð������"��^��k������-��¾���›����������f��æ���������Y���u���Ð���P��n���¨���»���µ���%�����©���Þ��� ��6���;�����������Ú����������E������\��p������ô�������I������=��?���������˜���Ô���������V���t���q����������¶�������·���‰���[�� �������'��(�����+����������ª���2������� ���8���#��0������l���C��� ��r�����F�����������W���� Read standard input if FILE is -. Each PATTERN may be: � With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --version output version information and exit � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -z, --zero-terminated end lines with 0 byte, not newline � (backup: %s)� TTY� groups=� old � on repetition %s �%b %e %Y�%b %e %H:%M�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek to offset %s�%s: descend into directory %s? �%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid file size�%s: invalid file type�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: multiple signals specified�%s: no size information for this device�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: value not completely converted�%s:%lu: unrecognized keyword %s�'�, load average: %.2f�<internal>�??? �Avail�Available�COMMENT�Call the unlink function to remove the specified FILE. �Compare sorted files FILE1 and FILE2 line by line. �Directory: �EXIT�F. Pinard�FAILED�Filesystem�IDLE�Idle�In real life: �LINE�Login�Login name: �Mounted on�NAME�Name�OK�Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Plan: �Print CRC checksum and byte counts of each FILE. �Print the name of the current user. �Project: �Run COMMAND with root directory set to NEWROOT. �Set LC_ALL='C' to work around the problem.�Shell: �Size�TIME�The strings compared were %s and %s.�Type�Unknown system error�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Use%�Used�Valid arguments are:�Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�`�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�byte offset %s is too large�cannot access %s�cannot backup %s�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot determine hostname�cannot follow %s by name�cannot fstat %s�cannot get current directory�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot read directory %s�cannot read realtime clock�cannot read symbolic link %s�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot split in more than one way�cannot stat %s�cannot touch %s�cannot un-backup %s�cannot unlink %s�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clock change�close failed�closing %s (fd=%d)�closing input file %s�closing output file %s�closing standard input�couldn't get boot time�created directory %s�creating directory %s�directory�division by zero�empty tab�error in regular expression search�error reading %s�error writing %s�exit=�failed to change group of %s to %s �failed to change ownership of %s to %s �failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to return to initial working directory�field number %s is too large�field number is zero�fifo�fork system call failed�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring non-option arguments�incompatible tabs�input disappeared�inter-device move failed: %s to %s; unable to remove target�invalid argument %s for %s�invalid body numbering style: %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field width: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid group�invalid group %s�invalid header numbering style: %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid precision: %s�invalid starting line number: %s�invalid tab size: %s�invalid time style format %s�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�line count option -%s%c... is too large�memory exhausted�message queue�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing hexadecimal number in escape�missing list of fields�missing list of positions�mode of %s retained as %04lo (%s) �multiple -l or -t options specified�multiple output files specified�no files remaining�no login name�no process ID specified�not a tty�number of bytes�number of lines�omitting directory %s�only one device may be specified�only one type of list may be specified�open failed�ownership of %s retained as %s �page width too narrow�preserving times for %s�read error�read failed�reading directory %s�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting permissions for %s�setting times of %s�shared memory object�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab stop is too large %s�term=�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the delimiter must be a single character�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�time %s is out of range�too many %% conversion specifications in suffix�total�unknown user-ID: %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�warning: source file %s specified more than once�weird file�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�write error�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 5.2.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2004-03-17 11:58+0200 Last-Translator: Petri Jooste <rkwjpj@puk.ac.za> Language-Team: Afrikaans <i18n@af.org.za> Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit � Lees vanaf standaardtoevoer as LÊER gegee is as -. Elke PATROON kan wees: � Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer. � --help wys hierdie teks en stop � --version wys weergawe-inligting en stop � -t ekwivalent aan -vT -T, --show-tabs wys keepkarakters as ^I -u (ignored) -v, --show-nonprinting gebruik ^ and M- notasie, behalwe vir LFD and TAB � -z, --zero-terminated beëindig reëls met 'n 0-greep, i.p.v. 'n nuwereëlkarakter �(rugsteun: %s)� TTY�groepe=� oud�by herhaling %s �%b %e %Y�%b %e %H:%M�%s -> %s (ont-rugsteun) �%s en %s is dieselfde lêer�%s bestaan maar is nie 'n lêergids nie�%s het 'n onbekende lêertipe�%s is te groot�%s: MISLUKTE open of lees �%s: relatiewe simboliese skakels kan slegs in die huidige gids gemaak word�%s: kan nie die gids oorskryf nie�%s: kan nie teruggaan nie�%s: kan nie skuif tot by uitwyking %s nie�%s: wil jy ingaan in lêergids %s?�%s: fout tydens afeindiging�%s: fout tydens skryfbewerking by uitwyking %s�%s: 'n numeriese waarde is verwag�%s: lêer het negatiewe grootte�%s: lêer te groot�%s: lêer te lank�%s: lêer is afgekap�%s: 'n vaste skakel word nie toegelaat vir 'n gids nie�%s: toevoer bevat 'n lus�%s: Die toevoerlêernaam is 'n afvoerlêer.�%s: 'n heelgetal is verwag na die skeisimbool�%s: ongeldige PID�%s: ongeldige lêergrootte.�%s: ongeldige lêertipe:�%s: ongeldige getal�%s: ongeldige aantal grepe�%s: ongeldige aantal reëls�%s: ongeldige aantal lopies�%s: ongeldige aantal sekondes�%s: ongeldige patroon�%s: ongeldige proses-id�%s: ongeldige reëlmatige uitdrukking: %s�%s: ongeldige sein�%s: ongeldige suffikslengte�%s: reëlnommer moet groter as nul wees�%s: reëlnommer buite bereik�%s: veelvuldige seine is gespesifiseer�%s: geen grootte-inligting is beskikbaar vir hierdie toestel nie�%s: aantal grepe is te veel�%s: oorskryf %s?�%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: leesfout�%s: verwyder %s %s? �%s: verwyder lees-alleen %s %s? �%s: is verwyder�%s: besig om te verwyder�%s: hernoem as %s�%s: vervang %s?�%s: seek het misluk�%s: waarde is nie volledig omgeskakel nie�%s:%lu: onbekende sleutelwoord %s�'�, ladinggemiddeld: %.2f�<intern>�??? �Beskikbaar�Beskikbaar�KOMMENTAAR�Roep die unlink-funksie om die gespesifiseerde LÊER te verwyder. �Vergelyk gesorteerde lêers LÊER1 en LÊER2 reël-vir-reël. �Lêergids:�VERLAAT�F. Pinard�GEFAAL�Lêerstelsel�LUIER�Luier�In die regte lewe:�LYN�Aanteken�Aantekennaam:�Geheg aan�NAAM�Naam�OK�Vertoon wie tans aangeteken is volgens LÊER. As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen. �PID�Plan: �Druk CRC-toetssom en greeptellings van elke LÊER. �Druk die naam van die huidige gebruiker. �Projek:�Loop BEVEL met wortelgids gestel volgens NUWEBEGINPUNT. �Stel LC_ALL='C' om die probleem te systap�Dop:�Grootte�TYD�Die stringe wat vergelyk is, is %s en %s.�Tipe�Onbekende stelselfout�Gebruik so: %s BEVEL [ARG]... of: %s OPSIE �Gebruik so: %s UITDRUKKING of: %s OPSIE �Gebruik so: %s LÊER of: %s OPSIE �Gebruik so: %s LÊER1 LÊER2 of: %s OPSIE �Gebruik so: %s FORMAAT [ARGUMENT]... of: %s OPSIE �Gebruik so: %s [-s SEIN | -SEIN] PID... of: %s -l [SEIN]... of: %s -t [SEIN]... �Gebruik so: %s [LÊER]... of: %s [OPSIE] �Gebruik so: %s [GETAL]... of: %s OPSIE �Gebruik so: %s [OPSIE] �Gebruik so: %s [OPSIE] NAAM... �Gebruik so: %s [OPSIE] [BEVEL [ARG]...] �Gebruik so: %s [OPSIE]... �Gebruik so: %s [OPSIE]... GIDS... �Gebruik so: %s [OPSIE]... LÊER PATROON... �Gebruik so: %s [OPSIE]... LÊER... �Gebruik so: %s [OPSIE]... LÊER1 LÊER2 �Gebruik so: %s [OPSIE]... GROEP LÊER... of: %s [OPSIE]... --reference=RLÊER LÊER... �Gebruik so: %s [OPSIE]... NAAM... �Gebruik so: %s [OPSIE]... STEL1 [STEL2] �Gebruik so: %s [OPSIE]... [ LÊER | ARG1 ARG2 ] �Gebruik so: %s [OPSIE]... [ LÊER ] �Gebruik so: %s [OPSIE]... [LÊER]... �Gebruik so: %s [OPSIE]... [TOEVOER [AFVOER]] �Gebruik so: %s [OPSIE]... [ LÊER ] �Gebruik so: %s [OPSIE]... [GEBRUIKER]... �Gebruik so: %s [STRING]... of: %s OPSIE �Gebruik%�InGebruik�Geldige parameters is soos volg:�Waarskuwing: �Wanneer�Waar�Geskryf deur %s en %s. �Geskryf deur %s, %s, %s, %s, %s, %s, %s %s, %s en ander. �Geskryf deur %s, %s, %s, %s, %s, %s, %s, %s en %s. �Geskryf deur %s, %s, %s, %s, %s, %s, %s en %s. �Geskryf deur %s, %s, %s, %s, %s, %s en %s. �Geskryf deur %s, %s, %s, %s, %s en %s. �Geskryf deur %s, %s, %s, %s en %s. �Geskryf deur %s, %s, %s en %s. �Geskryf deur %s, %s en %s. �Geskryf deur %s. �^[nN]�^[jJ]�`�dubbelsinnige parameter %s vir %s�slegs wanneer velde gebruik word mag 'n toevoer-skeikarakter gespesifiseer word�afvoer word bygevoeg by %s�om rugsteun te neem van %s sal die bron vernietig; %s is nie gekopieer nie�om rugsteun te neem van %s sal die bron vernietig; %s is nie verskuif nie�rugsteuntipe�spesiale bloklêer�spesiale bloklêers word nie ondersteun nie�blok�greepuitwyking %s is te groot�kan nie toegang verkry na %s nie�kan nie rugsteun neem van %s nie�kan nie eienaarskap van %s verander nie�kan nie toegangsregte van %s verander nie�kan nie wortelgids verander na %s toe nie�kan nie chdir doen om na gids %s te gaan nie�kan nie chdir uitvoer na wortelgids toe nie�kan nie U+%04X omskakel na 'n plaaslike karakterstel nie�kan nie U+%04X omskakel na 'n plaaslike karakterstel nie: %s�kan nie 'n lêergids, %s, na homself kopieer nie, %s�sikliese simboliese skakel %s kan nie gekopieer word nie�Kan nie lêergids %s skep nie.�kan nie die pyp %s skep nie�kon nie vaste skakel %s na %s skep nie�kon nie skakel %s na %s skep nie�kan nie 'n gewone lêer %s skep nie�kan nie spesiale lêer %s skep nie�kon nie simboliese skakel %s skep nie�kon nie simboliese skakel %s na %s skep nie�kan die masjiennaam nie vasstel nie�kan nie %s per naam volg nie�kan nie fstat op %s uitvoer nie�kan nie huidige gids verkry nie�kan nie die stelselnaam vasstel nie�kan nie lseek op %s doen nie�kan nie sowel vaste skakels as simboliese skakels maak nie�kan nie gids %s maak nie�kan nie %s skuif na %s nie�kan nie 'n gids %s skuif na 'n kind van dieselfde gids nie, %s�'n gids kan nie geskuif word bo-oor 'n nie-gids nie: %s -> %s�kan nie %s oopmaak om te lees nie�Kan nie lêergids %s oopmaak nie.�gids %s kan nie oorskryf word met 'n nie-gids nie�die nie-gids %s kan nie met gids %s oorskryf word nie�kan nie gids %s lees nie�kan nie die reëletyd-horlosie lees nie�simboliese skakel %s kan nie gelees word nie�kan nie %s verwyder nie�kan nie die lêerwyser herposisioneer vir %s nie�kon nie die datum stel nie�kan nie verdeel op meer as een manier nie�kan nie stat %s uitvoer nie�kan nie %s aanraak nie�kan nie %s ont-rugsteun nie�kan nie %s ontkoppel nie�groep van %s word verander�eienaarskap van %s word verander�toegangsregte van %s word verander�karakteruitwyking is nul�karakter is buite die grense�spesiale karakterlêer�spesiale karakterlêers word nie ondersteun nie�horlosieverandering�'close' het gefaal�lêer word toegemaak: %s (fd=%d)�toevoerlêer %s word toegemaak�afvoerlêer %s word toegemaak�standaard-toevoer word nou toegemaak�kon nie die herlaaityd vasstel nie�gids %s is geskep�gids %s word geskep�lêergids�deling deur nul�leë keepkarakter�fout in soektog met reëlmatige uitdrukking�fout met die les van %s�fout met die skryf na %s�verlaat=�groep kon nie van %s na %s verander word nie �groep kon nie eienaarskap van %s na %s verander nie �kon nie attribute van %s verkry nie�kon nie lêer %s opspoor nie�kon nie %s oopmaak nie�outeurskap van %s kon nie behou word nie�eienaarskap van %s kon nie behou word nie�magtigings vir %s kon nie behou word nie�lêertye van %s kon nie behou word nie�kon nie standaardfoutafvoer herlei nie�kon nie na aanvanklike werkgids terugkeer nie�veldnommer %s is te groot�veldnommer is nul�fifo�fork-stelselroep het gefaal�fts_read het misluk�nuwe attribute van %s word verkry�groep van %s is behou as %s �iconv-funksie is nie beskikbaar nie�iconv-funksie onbruikbaar�id=�all parameters word geïgnoreer�parameters wat nie opsies is nie word geïgnoreer�onversoenbare keepkarakters�toevoer het verdwyn�inter-toestel verskuiwing het misluk: %s na %s; die bestemming kan nie verwyder word nie�ongeldige parameter %s vir %s�ongeldige styl vir lyfnommering: %s�ontbrekende omskakelingaanduider in suffiks: %c�ontbrekende omskakelingaanduider in suffiks: \%.3o�ongeldige datumformaat %s�ongeldige toestel %s %s�ongeldige toesteltipe %s�ongeldige veldnommer: %s�ongeldige veldwydte: %s�ongeldige wisselpunt parameter: %s�ongeldige styl vir voetnommering: %s�ongeldige groep �ongeldige groep %s�ongeldige styl vir kopnommering: %s�ongeldige wydte vir reëlnommer veld: %s�ongeldige inkrement vir reëlnommers: %s�ongeldige reëlnommeringformaat: %s�ongeldige reëlwydte: %s�ongeldige hooftoestelnommer %s�ongeldige maksimum diepte %s�ongeldige subtoestelnommer %s�ongeldige modus�ongeldige modus %s�ongeldige nommer %s�ongeldige nommer by begin van veld�ongeldige aantal leë reëls: %s�ongeldige aantal grepe�ongeldige aantal grepe om te vergelyk�ongeldige aantal grepe om oor te slaan�ongeldige aantal velde om oor te slaan�ongeldige aantal reëls�ongeldige opsie -- %c�ongeldige presisie: %s�ongeldige beginreëlnommer: %s�ongeldige keepgrootte: %s�ongeldige tydformaatstring: %s�ongeldige universele karakternaam \%c%0*x�ongeldige gebruiker�ongeldige gebruiker %s�ongeldige wydte: %s�dit is gevaarlik om rekursief te werk op %s�dit is gevaarlik om rekursief te werk op %s (net soos %s)�laaste=�opsie om reëls te tel -%s%c... is te groot�geheue uitgeput�boodskapwagtou�ontbrekende %% omskakelingaanduider in suffiks�ontbrekende omskakelingaanduider in suffiks�heksadesimale getal ontbreek in ontsnapkode�ontbrekende lys van velde�ontbrekende lys van posisies�modus van %s is behou as %04lo (%s) �veelvuldige -l of -t opsies is gespesifiseer�veelvuldige afvoerlêers is gespesifiseer�geen oorblywende lêers�geen gebruikersnaam�geen proses-id is gespesifiseer�nie 'n tty nie�aantal grepe�aantal reëls�lêergids %s word oorgeslaan�slegs een toestel mag gespesifiseer word�slegs een soort lys mag gespesifiseer word�'open' het gefaal�eienaarskap van %s is behou as %s �Bladsywydte te nou�lêertye van %s word behou�leesfout�'read' het gefaal�lêergids %s word gelees�gewone leë lêer�gewone lêer�%s is verwyder. �lêergids is verwyder: %s �lêergids word verwyder, %s�uitvoervlak�semafoor�verdeler mag nie leeg wees nie�toegangsregte vir %s word gestel�die tyd van %s is verstel�gedeeldegeheue-objek�lêer %s word oorgeslaan, want dit is vervang tydens kopieëring�sok�standaardfout-afvoer�standaardtoevoer�standaardtoevoer is gesluit�standaard-afvoer�'stat' het gefaal�verdwaalde karakter in veldspesifikasie�stringvergelyking het gefaal�om nie-afgeslote reëls te onderdruk, maak slegs sin wanneer dit op velde van toepassing gemaak word�simboliese skakel�sintaksfout�inkeping mag nie 0 wees nie�inkeping is te groot %s�term=�die --status opsie is slegs sinvol by die nagaan van toetssomme�die --warn opsie is slegs sinvol by die nagaan van toetssomme�die verdeler mag net een karakter wees�die opsies om die tyd te vertoon en te stel kan nie saam gebruik word nie�die opsies om drukdatums te spesifiseer is onderling uitsluitend�tyd %s is buite bereik�te veel %% omskakelingaanduiders in suffiks�totaal�onbekende gebruiker-id: %s�onbekende voorvoegsel: %s�gebruik --no-preserve-root om hierdie veiligheidsnet ter syde te stel�waarskuwing: bronlêer %s is meer as een keer gespesifiseer�vreemde lêer�sal nie 'n vaste skakel %s skep na gids %s nie�die pasgeskepte %s sal nie met %s oorskryf word nie�skryffout�'write' het gefaal�besig om te skryf na %s�u moet 'n lys van grepe, karakters of velde spesifiseer����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/zh_CN.gmo�������������������������������������������������������������������������0000664�0000000�0000000�00000626460�12107204520�012500� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���î��0��� '��­��O�����Äi�����Ôi�� j������Äl�����Ål��ø���Çl��¾���Àm��¿���n��Â���?o��ª���p��G��­p��ù���õq��º���ïr��p���ªs��!��t��¼���=u��w��úu��5��rw��R��¨x��~���ûy�� ���zz��\���ˆz��w���åz��G���]{��ï���¥{��w���•|��¡��� }��#��¯}����Ó~��š���Ø��Ä���s€��D��8��z���}ƒ��Þ���øƒ��i���ׄ��›���A…��ˆ���Ý…��È���f†��„���/‡��à���´‡��›���•ˆ��—���1‰��`���ɉ��‚���*Š����­Š��>���‹��3��Œ��K��5��0���Ž��Ê���²Ž��–���}��Ê�����ç���ß��‡���Ç‘��¾���O’��á���“��E���ð“��Œ���6”��ü���Ô��æ���À•����§–��9���¹—�����ó—����� ˜��t��˜��Ì���”™��°���aš����›�� ��&œ��þ��G��Ë���FŸ���� ��7���0¡��¼���h¡��F���%¢��ì���l¢�� ���Y£��¡��e£��¾��¥��Ð��Ʀ��u���—¨��q��� ©��[��©��1��Ûª��S�� ¬��ë���a­��,���M®��º���z®�����5¯��ß���Ư��\��¦°��‹���²����²��Â���¥³��·���h´��›��� µ��g��¼µ��p���$·��5���•·��s���Ë·����?¸����^¹��×���}º��ò���U»��É���H¼��Ê���½��ð���ݽ��–��ξ��Ô���eÀ��Ó���:Á��¬���Â��¤���»Â��i���`Ã��õ���ÊÃ��Z���ÀÄ��.��Å��ž���JÆ��G��éÆ��M��1È��4���É��‰���´É��F���>Ê��O��…Ê��í��ÕË����ÃÍ�� ��SÏ��£��`Ð��y��Ò�� ��~Ó��n���ŸÔ����Õ��Ë��)Ö����õ×����Ù��¢���¥Ú��Ö���HÛ��¡��Ü��E���ÁÝ��J���Þ��Ò���RÞ�� ��%ß����3à��&��Bá��¹��iâ��Ý���#ä��+���å��N���-å��Ò���|å��’���Oæ��°���âæ��Ë���“ç��¡��_è��›���ê��B���ê����àê��u���õë����kì��1���í��ò���³í�����¦î��Ë���6ï��ƒ���ð��ƒ���†ð��‚�� ñ��4��ò����Âó����Ôô��´��çõ��í���œ÷�� ��Šø����•ù��<���›ú��‘���Øú��º��jû��ª��%ý��K���Ðþ����ÿ��z���!��þ���œ��µ���›�f��Q�5��¸�1���î�H��� �;��i�Æ���¥�!��l�È���Ž �ý���W �q��U �Y��Ç �ü���!�L����×���k�T��C�#��˜�÷��¼�Þ���´�ƒ���“�Ñ����i���é�Í���S�Ä���!�Ñ���æ�ë���¸���¤�D��³�Ó���ø�Ä��Ì�I���‘���Û�H���i!�3���²!�c��æ!� ��J#�=��k$�ê��©%�*��”'�’���¿(�C���R)�X��–)�?���ï*�«���/+�9���Û+�S���,�š��i,�m���.�û���r.�ä���n/�¨��S0�$���ü1�(���!2�ú���J2�$���E3�%���j3�*���3���»3�:���Ú4�&���5� ���<5�9���]5�#���—5�$���»5�!���à5�Ý���6�,���à6�"��� 7� ���07� ���;7�X��I7�;���¢8�|��Þ8���[:�Ô���o;�Ü���D<�þ���!=� ��� >����+>� ���0>����<>����E>����K>���^>�&���z?� ���¡?� ���«?����·?����Ê?����Ý?����ò?����@� ���,@�+���M@����y@����’@�?���­@�D���í@�0���2A����cA�)���|A����¦A�0���ºA�"���ëA����B�'���B����FB�/���fB� ���–B����·B����ÏB����åB����þB�>���C�"���ZC����}C�%���œC�B���ÂC�*���D����0D����OD����aD�)���qD����›D�%���¸D�,���ÞD���� E�#���E�$���?E����dE�/���„E����´E�8���ÄE����ýE����F����1F����NF����bF����F���� F����µF����ÆF����ÛF����öF����G����&G����8G����KG����\G�'���mG����•G�*���°G����ÛG�$���ùG����H����8H����HH� ���aH����‚H�"���˜H����»H����ÑH�;���çH����#I����6I����RI����oI����‹I����¨I����ÆI����ãI����ÿI����J�"���*J����MJ����`J�)���zJ����¤J����ÁJ����ÒJ�"���ñJ�1���K�'���FK�(���nK� ���—K�,���¸K�,���åK�'���L�-���:L� ���hL�(���‰L�(���²L����ÛL����îL����M�"���"M����EM����TM�&���gM����ŽM�"���©M� ���ÌM� ���ØM����åM����÷M����N����N�5���4N�0���jN�.���›N����ÊN����æN����O�"���&O����IO����YO�+���jO�%���–O����¼O����ÜO� ���ÞO����ëO����P�l���P�;��sP����¯Q� ���ÅQ����ÓQ�6���îQ�-���%R�)���SR����}R����R����¦R����½R� ���ÔR����ßR����äR����êR�,���òR�8���S�)���XS� ���‚S����ŽS���� S����ºS����ÉS� ���ÏS����ÙS����éS� ����T� ��� T� ���T�k�� T����ŒU����”U�K���¬U�8���øU����1V� ���:V� ���EV� ���RV�3���^V�Š��’V� ���X� ���*X�½���4X����òX����Y� ���Y�=���Y�(���\Y�ã���…Y� ���iZ����uZ�U��…Z����Û[����ä[�<��é[�\���&]� ���ƒ]�+���Ž]�+���º]�0���æ]� ���^����!^����(^�1���7^����i^� ���‚^����^�@���¦^�7���ç^�?���_����__����q_����€_� ���‡_����”_����™_����Ÿ_����¥_����«_����¼_�:���Á_����ü_�¦���`����·`�×��Æ`� ���žb����©b����½b� ���Äb����Îb����æb����ýb����c����6c�$���Nc����sc����…c���� c� ���¯c� ���»c� ���Çc����Ôc� ���åc����ñc����d����d����d���� d����&d� ���,d� ���9d����Gd����Xd����rd����ƒd� ���’d� ��� d� ���­d� ���¹d����Äd����Éd����Îd�#���èd���� e����e�*���4e����_e�E���be����¨e����¼e���Íe�H���ßf�o���(g����˜g����œg����¬g� ���Ág�&���Ïg� ���ög� ���h� ��� h����h� ���!h�#���/h�H���Sh�2���œh�i��Ïh�ª���9j�š���äj�;���k����»k�¸���Ùk�†���’l�;���m�%���Um����{m�†���ûm�T���‚n� ��×n�7���âp����q����9q� ���Qq� ���[q����hq� ���mq����yq����q�º���¨q����cr�D���zr����¿r����Ðr� ���år����ór����s����s����'s� ���6s�1���Ds�'���vs� ���žs� ���¬s� ���ºs����Çs�&���Ús�*���t����,t����4t����Dt�5���It� ���t����‹t����“t����¤t����¸t� ���Ít����Ùt� ���át����ît�$���ót� ���u�$���#u����Hu����Zu����pu�â��ƒu�C���fw�+���ªw����Öw����Ûw� ���êw����øw���� x����x����1x����Cx� ���Ux����bx� ���wx�,���‚x�j���¯x�&���y� ���Ay�'���by�0���Šy����»y����Øy����õy�–���z�)���«z�Y���Õz�'���/{�T���W{�'���¬{�(���Ô{����ý{�X���|�@���j|����«|�?���Ç|�&���}�š���.}����É}����à}�#���~~�&���¢~����É~�"���è~�T��� �g���`�†���È�.���O€����~€�"���€�+���À€�Y���ì€�~���F�¤���Å�ä���j‚�=���Oƒ����ƒ�^���«ƒ� ��� „�¢���+„�F���΄�}���…�'���“…�'���»…�Z���ã…�`���>†�!���Ÿ†�!���Á†�$���ã†� ���‡�¦���)‡�M���Ї�>���ˆ�'���]ˆ�<���…ˆ�T���ˆ����‰����‰����!‰����7‰����M‰����b‰�¹���x‰�D���2Š�H���wŠ�G���ÀŠ� ���‹����‹����‹����‹�´��,‹����áŒ�;���øŒ�3���4�/���h�+���˜�'���Ä�#���ì����Ž����0Ž����LŽ�<���\Ž����™Ž����­Ž����³Ž����¹Ž�*���»Ž����æŽ����þŽ�����A���5����w�2���Ž�1���Á� ���ó����ÿ�!�������4�#���;����_�0���{����¬����Æ����×�*���è����‘����1‘�"���Q‘����t‘����’‘�E���±‘�;���÷‘� ���3’�,���T’� ���’�!���¢’����Ä’����ä’�+���“�#���/“�#���S“�,���w“�0���¤“�,���Õ“�#���”����&”����A”� ���W”����x”����””����²”����Д�$���ï”�"���•����7•�'���M•����u•�5���•����Å•�!���Û•����ý•�1���–����H–����X–����u–����‰–���� –����º–�(���Ê–����ó–���� —�.���!—�2���P—����ƒ—����ž—����¹—�%���Ò—�0���ø—�3���)˜����]˜�F���}˜�B���Ę�+���™�5���3™�1���i™����›™����´™�*���Ó™����þ™����š�)���6š����`š����qš�%���š� ���³š� ���Áš����Ïš����ßš�8���úš����3›����I›����]›����{›�&���•›�'���¼›�<���ä›�:���!œ�.���\œ�!���‹œ����­œ�&���¼œ����ãœ����þœ��������"����3����C�#���S�'���w����Ÿ����´����Í� ���è���� ž����"ž����9ž�%���Pž����vž� ���’ž� ���Ÿž����¬ž����¿ž����Ôž����êž����Ÿ�,���Ÿ�+���EŸ�-���qŸ�)���ŸŸ�!���ÉŸ����ëŸ����  ���� �8���5 ����n ����… ����š ����° �3��� � ���ö �����¡� ���¡����¡����2¡� ���B¡����L¡�#���_¡�"���ƒ¡� ���¦¡����Ç¡����æ¡����÷¡����¢����-¢����>¢����D¢����V¢�%���g¢����¢�$���§¢�#���Ì¢�!���ð¢�'���£����:£����P£�*���p£�%���›£����Á£�#���ߣ�$���¤�%���(¤�!���N¤�'���p¤����˜¤����¸¤����̤����Þ¤����ý¤�(���¥�,���D¥� ���q¥�$���’¥����·¥����Ð¥�$���â¥�#���¦�%���+¦����Q¦�!���q¦�&���“¦����º¦����Φ�(���ì¦� ���§�3���6§�-���j§����˜§�1���±§����ã§�1���¨����5¨����L¨����g¨����¨����›¨�#���µ¨�1���Ù¨�.��� ©����:©����P©����b©�(���‚©����«©� ���é����Ñ©����î©�(���ª����,ª����1ª�3���Pª�;���„ª�.���Àª����ïª����«����«�$���:«�$���_«�D���„«����É«����Ý«����î«����þ«����¬����/¬����K¬����h¬����‚¬����†¬����¬�)���¬¬�/���Ö¬�=���­�@���D­�:���…­����À­�!���Þ­�����®�,���®����?®����[®����m®�;���„®����À®����Ù®����ï®����¯� ���¯�!���?¯����a¯����|¯����¯�*���£¯�-���ί����ü¯���� °����#°����<°����Q°����h°����°����°�%���µ°�1���Û°�#��� ±�"���1±����T±� ���j±����x±����‰±����Ÿ±�"���±±� ���Ô±����â±����õ±���� ²����²����;²����Q²�#���l²�!���²�!���²²����Ô²����ë²���� ³����#³� ���B³����O³����_³����p³����‚³�!��� ³����³�"���Ú³����ý³����´� ���;´����\´����t´�]���‰´����ç´����û´����µ�!���'µ�*���Iµ� ���tµ� ���µ����¢µ�/���¶µ����æµ�2���ûµ�;���.¶����j¶����ƒ¶���� ¶����¾¶�R���Õ¶�L���(·�(���u·� ���ž·����«·����»·����Í·����ã·�,���¸�9���.¸�*���h¸�,���“¸����À¸�0���Ƹ�:���÷¸�#���2¹�'���V¹�8���~¹����·¹�/���̹����ü¹�7��� º�8���Eº� ���~º����Œº�/���¨º�-���غ����»���� »�&���7»�)���^»����ˆ»�$���»����»����Ù»����ó»����¼�+���¼�"���H¼����k¼����‚¼�#��� ¼�$���ļ����é¼����½����½�!���<½�!���^½�%���€½����¦½�%���µ½����Û½����ê½�7���ù½�=���1¾����o¾����¾����¢¾����¼¾����Ͼ� ���à¾����î¾�-���¿�C���4¿����x¿�(���¿� ���¶¿�'���À¿����è¿�"���À����%À����5À�%���EÀ����kÀ�4���À� ���¶À�&���×À� ���þÀ�$��� Á�8���/Á�G���hÁ�9���°Á����êÁ�"��� Â�$���,Â����QÂ����kÂ����‹Â���� Â����¶Â����ÔÂ�>���ìÂ� ���+Ã� ���6Ã����BÃ����WÃ����hÃ����…Ã� ���˜Ã� ���¥Ã����±Ã����ÈÃ� ���ßÃ� ���éÃ����óÃ�)��� Ä����7Ä����LÄ����gÄ����{Ä�$���Ä�-���µÄ�7���ãÄ����Å����"Å����1Å����@Å����YÅ� ���iÅ����uÅ����|Å����‚Å����‰Å����§Å����ÀÅ�#���ÝÅ�J���Æ� ���LÆ� ���ZÆ� ���gÆ����sÆ�*���ˆÆ����³Æ����ÏÆ����èÆ����Ç����Ç�8���8Ç����qÇ� ���wÇ�H���…Ç�U���ÎÇ�>���$È�?���cÈ�=���£È�>���áÈ�3��� É�(���TÉ�N���}É�f���ÌÉ�>���3Ê�@���rÊ�#���³Ê�<���×Ê�*���Ë����?Ë����_Ë�(���wË���� Ë�/���»Ë����ëË����Ì����Ì����1Ì����7Ì����LÌ����`Ì�*���€Ì�!���«Ì�7���ÍÌ����Í�"���Í����@Í����OÍ�3���cÍ����—Í����¯Í�.���ÇÍ����öÍ�0��� Î����=Î�C���TÎ����˜Î����µÎ����ÉÎ�H���ÛÎ�+���$Ï�2���PÏ�8���ƒÏ�=���¼Ï�@���úÏ�#���;Ð����_Ð�=���zÐ�4���¸Ð�.���íÐ�,���Ñ�<���IÑ�0���†Ñ�3���·Ñ�7���ëÑ�c���#Ò�t���‡Ò� ���üÒ�3���Ó�>���;Ó�5���zÓ�j���°Ó�h���Ô�0���„Ô�,���µÔ�*���âÔ�3��� Õ�(���AÕ� ���jÕ����vÕ� ���‰Õ� ���–Õ�/���¤Õ�7���ÔÕ�&��� Ö� ���3Ö�¤��TÖ����ù×�ô���û×�Ž���ðØ�q���Ù�µ���ñÙ�º���§Ú�ó���bÛ�Ö���VÜ�£���-Ý�k���ÑÝ�î���=Þ�Ë���,ß���øß�[��á�ÿ���oâ�’���oã����ä�r���ä����‡ä�J���å� ��Rå�œ���sæ�­���ç�Q��¾ç�6��é�‡���Gê�å���Ïê�H��µë�\���þí�Þ���[î�_���:ï�µ���šï�ª���Pð�ß���ûð�Ÿ���Ûñ���{ò�Í���ƒó�‰���Qô�l���Ûô����Hõ�B��æõ�0���)÷�@��Z÷�þ���›ø�G���šù�¡���âù�–���„ú�Û���û�¶���÷û�t���®ü�Ÿ���#ý�¡���Ãý�E���eþ�…���«þ�Û���1ÿ�Ù��� ��-��ç��I����!���_�Y����û���Û�Þ���×�}���¶�ö���4�ï���+�Ø���ä���ô���Ù �M���ø �²���F �_���ù ���Y � ���r �n��~ � ��í�5��ø�m���.�9���œ���Ö�à���Ú����»�™���¼�-���V�­���„�–���2�|���É���F�}���N�Ê���Ì�‹���—�ƒ���#�Ÿ���§�š��G�B���â�-���%�l���S�æ���À���§�–���©�¼���@ �Ð���ý �œ���Î!�Ö���k"�8��B#�Ê���{$�õ���F%�Ö���<&�§���'�f���»'���"(�U���8)�[��Ž)�ž���ê*�:��‰+���Ä,�*���Ì-�½���÷-�B���µ.�<��ø.�‘��50�C��Ç1�î��� 3���ú3�4�� 5���A6�x���J7���Ã7�ï��Ù8�&��É:�I��ð;�”���:=�›���Ï=�§��k>�N���@�R���b@� ���µ@�Ë���VA�ô���"B���C�G��2D�Ç���zE�)���BF�Y���lF�Ü���ÆF�‘���£G�Â���5H�£���øH�A��œI�e���ÞJ�@���DK�)��…K�v���¯L�ó���&M�"���N�¶���=N�¤���ôN�Ô���™O�^���nP�^���ÍP�d��,Q�Ï���‘R�ƒ��aS���åT���öU�Ž���úV����‰W���'X�)���7Y����aY�µ��áY�•��—[�E���-]�Ç���s]�Ž���;^�Ä���Ê^�œ���_�ð���,`����a�)���b�U���Hb�Z��žb�²���ùc�}��¬d�Ž���*f�Ì���¹f���†g���Šh�È���§i�?���pj�¸���°j�Ó���ik���=l�µ��Em�¬���ûn�‚���¨o�¹���+p�X���åp�¶���>q�ˆ���õq�´���~r���3s�A��6t�ë���xu�Ð���dv�|��5w�B���²x�F��õx�N���<z�/���‹z���»z�Ø���Î{�Í���§|�•��u}�þ��� �‡��� €�I���’€�¶���Ü€�B���“�¿���Ö�<���–‚�K���Ó‚�c��ƒ�r���ƒ„���ö„�Å���ý…�ß��Æ�)���£ˆ�#���͈�a��ñˆ�&���SŠ�6���zŠ�&���±Š���ØŠ�/���ï‹� ���Œ����@Œ�+���^Œ�!���ŠŒ�4���¬Œ�+���áŒ��� �9���"Ž�$���\Ž����Ž����‰Ž�$��˜Ž�1���½�'��ï�ä���‘�Ú���ü‘�Ó���×’�å���«“� ���‘”����œ”� ���¡”����¬”����²”����»”�=��Ì”���� –����'–� ���0–� ���<–����J–����b–����{–����“–����¬–�0���Å–����ö–���� —�3���—�;���S—�0���—����À—�*���Ù—����˜�4���˜����N˜� ���j˜�/���t˜����¤˜�#���¿˜����ã˜�����™����™����,™����H™�8���e™� ���ž™����¿™�.���Ý™�5��� š�&���Bš����iš����š����™š�,���«š����Øš�#���øš�P���›����m›� ���›� ��� ›����Á›�,���Ý›���� œ�)���œ����Fœ�&���aœ����ˆœ���� œ����²œ����Òœ����ðœ�$�������'����=����[����v����ˆ����š�$���¯����Ô�%���æ�)��� ž�#���6ž� ���Zž�#���{ž����Ÿž����ºž����Òž����äž����Ÿ����Ÿ����1Ÿ����IŸ�,���dŸ����‘Ÿ����£Ÿ����»Ÿ����П����åŸ����ýŸ���� ����* ����C ����X �"���p ����“ ����¨ ����À ����Ù ����ñ � ���¡�!���$¡�)���F¡� ���p¡�)���‘¡����»¡�$���С�$���õ¡�!���¢�%���<¢����b¢�"���|¢�#���Ÿ¢����â�$���Û¢�&����£�.���'£����V£����h£� ���‚£����££�(���¾£����ç£����ö£����¤����#¤����;¤����M¤�<���k¤�&���¨¤�&���Ϥ����ö¤�!���¥�!���5¥� ���W¥����x¥����Š¥�2���œ¥�&���Ï¥�%���ö¥����¦� ���¦����+¦����G¦�]���K¦�]��©¦����¨����¨����2¨�D���G¨�*���Œ¨�,���·¨����ä¨����ó¨����©����-©����J©����Y©����^©� ���d©�H���n©�;���·©�$���ó©� ���ª����%ª����;ª����Qª����`ª����gª����nª����„ª� ���šª� ���¤ª� ���±ª�%��¾ª����ä«����ë«�E���ü«�.���B¬����q¬� ���x¬����ƒ¬� ���–¬�4���¢¬�X��׬� ���0®� ���=®�²���G®����ú®���� ¯� ���¯�F���&¯�/���m¯�ä���¯� ���‚°����°�5�� °����Ö±����ç±�§��î±�>���–³� ���Õ³�!���à³�!���´�&���$´� ���K´����U´����\´�<���k´����¨´� ���Á´����δ�C���Þ´�A���"µ�:���dµ����Ÿµ����±µ����Àµ����ǵ����×µ� ���Þµ� ���èµ� ���óµ����ýµ����¶�I���¶� ���_¶�„���l¶� ���ñ¶�”��ü¶� ���‘¸� ���¸����ª¸����°¸����·¸����Ǹ����ݸ����ö¸���� ¹����!¹����@¹����Y¹����r¹� ���¹� ���¹� ���™¹����¦¹� ���·¹����ù����Õ¹� ���æ¹����ð¹����÷¹����þ¹� ���º� ���º����!º����2º� ���Eº����Rº� ���aº� ���nº� ���{º� ���‡º����‘º����˜º����Ÿº�!���µº� ���׺����áº�*����»����+»�E���2»����x»����Š»� ��œ»�A���©¼�†���ë¼� ���r½� ���|½����н� ���œ½����ª½� ���ɽ� ���Õ½� ���à½� ���í½� ���ø½����¾�A���!¾�7���c¾�N��›¾�µ���ê¿�©��� À�(���JÁ� ���sÁ�ˆ���”Á�‡���Â�,���¥Â� ���ÒÂ�Q���óÂ�g���EÃ�O���­Ã�¿��ýÃ�,���½Å����êÅ����ýÅ� ���Æ� ���!Æ����.Æ� ���5Æ����AÆ����PÆ�o���fÆ�"���ÖÆ�O���ùÆ����IÇ����YÇ� ���iÇ����vÇ����ŠÇ����›Ç����ªÇ� ���¹Ç�>���ÇÇ�,���È� ���3È� ���AÈ� ���OÈ� ���\È����fÈ�,���…È� ���²È����¼È����ÌÈ�<���ÓÈ� ���É� ���É����$É����6É����LÉ� ���bÉ����nÉ� ���uÉ����‚É����‰É� ���¨É�#���²É����ÖÉ����èÉ����üÉ�™��Ê�?���©Ë�6���éË���� Ì����'Ì� ���6Ì����CÌ����RÌ����hÌ����|Ì����’Ì����¦Ì����µÌ� ���ÆÌ�2���ÓÌ�t���Í�)���{Í�&���¥Í�/���ÌÍ�/���üÍ����,Î� ���LÎ�$���mÎ�›���’Î�.���.Ï�e���]Ï�-���ÃÏ�T���ñÏ�+���FÐ�/���rÐ����¢Ð�L���¸Ð�H���Ñ����NÑ�D���nÑ�*���³Ñ�¨���ÞÑ����‡Ò�¶��� Ò�"���WÓ�)���zÓ�"���¤Ó�(���ÇÓ�g���ðÓ�r���XÔ�¢���ËÔ�B���nÕ�"���±Õ�$���ÔÕ�5���ùÕ�]���/Ö����Ö�´���×�ë���Ò×�A���¾Ø�!����Ù�p���"Ù�$���“Ù�µ���¸Ù�L���nÚ�™���»Ú�!���UÛ�*���wÛ�g���¢Û�q��� Ü�#���|Ü�$��� Ü�'���ÅÜ�#���íÜ�‘���Ý�K���£Ý�@���ïÝ�.���0Þ�=���_Þ�X���Þ����öÞ����þÞ����ß����ß����5ß����Kß�§���aß�V��� à�Z���`à�C���»à� ���ÿà���� á���� á����á�;��$á����`â�H���wâ�=���Àâ�5���þâ�1���4ã�,���fã�'���“ã�!���»ã����Ýã����ùã�:��� ä����Eä����Xä����^ä����dä�$���fä����‹ä����¡ä����¶ä�3���Óä����å�)���å�)���Få� ���på����}å����å����©å�-���­å����Ûå�#���ôå����æ����1æ����@æ�6���Oæ����†æ����¢æ����»æ����Ðæ����åæ�N���þæ�?���Mç�!���ç�=���¯ç�&���íç�'���è�%���<è�$���bè�.���‡è�$���¶è����Ûè�+���úè�0���&é�#���Wé�#���{é����Ÿé� ���´é�'���Õé�$���ýé����"ê����=ê����Xê�*���sê����žê����½ê�&���Öê����ýê�4���ë����Hë�(���fë����ë�0���§ë�%���Øë����þë����ì����-ì����Cì����\ì�*���kì����–ì����«ì�3���Ãì�,���÷ì����$í����@í����\í����qí�#���Œí�*���°í����Ûí�V���÷í�>���Nî�'���î�;���µî�'���ñî����ï����.ï�%���Mï����sï����Œï�3���§ï����Ûï����êï����ð����!ð����0ð����@ð����Sð�9���lð����¦ð����Áð����×ð����óð�!���ñ� ���1ñ�3���Rñ�*���†ñ�-���±ñ�*���ßñ�$��� ò�A���/ò�-���qò����Ÿò����®ò����Êò����ãò����óò����ó����!ó����=ó����Yó����uó����ˆó����¨ó�'���¾ó����æó����ùó����ô� ���(ô� ���5ô����Bô����Zô����iô����„ô����Ÿô�$���²ô�$���×ô�!���üô�+���õ����Jõ����bõ����{õ����Šõ�-���œõ����Êõ����ãõ����öõ���� ö�8���!ö����Zö� ���aö�*���kö����–ö� ���¨ö� ���µö����¿ö����Õö����ôö����÷����2÷����M÷����`÷����{÷����Ž÷����ž÷����¦÷����¸÷�1���Î÷�����ø����ø�!���2ø����Tø�!���qø����“ø����«ø�!���Äø�!���æø����ù���� ù����>ù����Zù����xù� ���“ù����´ù����Ìù����Üù����ìù����ú�$���$ú�!���Iú����kú����Šú����©ú����¿ú����Ïú����èú����û����û����6û�(���Rû����{û����Œû�'���£û�!���Ëû�$���íû�!���ü����4ü�'���Iü����qü����‡ü����¦ü����¹ü����Òü����ëü����ý����ý�!���3ý�$���Uý����zý�$���ý����µý����Ïý����èý����ÿý����þ����*þ����=þ� ���Uþ����bþ�8���þ�6���ºþ�/���ñþ����!ÿ����@ÿ����Vÿ����oÿ�#���‹ÿ�9���¯ÿ����éÿ����üÿ���� ����������2�����I�����h�����~�����—�����›�� ���®��#���»��-���ß��D��� �7���R�;���Š����Æ�!���â�����6�������N� ���c����p�>���€����¿����×����ì����ÿ����� ���7����X����p� ���‚�)����,���¹����æ����ø��������'����B����[����s����‘�2���©����Ü����ø��������1� ���L����Y����h����}����� ���­����º����Í����è����ú��������$����9����T����r��������¢����»����×����ð������������'����9����X����p����‚����¡����À����Õ����ô�����Y�������v����‰����Ÿ����´�3���Ô���� ���� ����2 �'���E ����m �)���‹ �M���µ ���� ���� ����9 ����U �X���p �X���É �"���" ����E ����U ����g ����| ����š �$���¶ �2���Û ���� ����+ ����K �.���S �4���‚ �'���· ����ß �$���û � ��� �=���- � ���k �/���x �/���¨ � ���Ø ����å �3���ý �'���1����Y����l�����*���ž����É����â������������%����5�$���K�&���p����—����©�$���Â����ç������������/����K����g����€� ���Ÿ����©� ���Å� ���Ï�=���Ù�E�������]����z��������£����¶� ���Ï����Ü�'���ï�E�������]�3���m����¡�'���²����Ú����ð� ��������!���,����N�C���]����¡�$���º� ���ß�*���ì�&����:���>�,���y����¦����Â�B���á����$����>� ���]����j����q����„�9���ž� ���Ø� ���å����ò�����$�������?� ���O� ���\����i����� ���•� ���¢����¬�,���Â����ï������������4�,���G�,���t�D���¡� ���æ� ���ð� ���ý���� � ��� ����-� ���L� ���Y� ���f����s����Œ����¨����¾�>���Ú� ���� ���&� ���3����@�)���Z�!���„����¦����Ä����Ú����ð�*�������1� ���9�4���G�N���|�,���Ë�-���ø�+���&�I���R�=���œ����Ú�G���ù�[���A�0����9���Î� ����$���)����N����j����…�*���›����Æ�-���Û���� ����(� ���8� ���E����O����a����t�!�������¯�.���Ê����ù�"���� ���2����<�1���S����…���� ����»����×�2���ò����% �=���; ����y ����’ � ���¡ �A���® �,���ð �$���!�;���B!�U���~!�T���Ô!�$���)"����N"�0���i"�-���š"�*���È"�3���ó"�*���'#�*���R#�:���}#�4���¸#�`���í#����N$� ���Þ$�1���ë$�8���%�6���V%�_���%�H���í%� ���6&�-���W&�$���…&�7���ª&�.���â&� ���'����'� ���1'����>'�/���M'�3���}'�-���±'�$���ß'��������Ç������ä��9��Ì��„��ê�����������������„���Æ��©���Ž������à������W��÷�������í��ê�� �� ����������Û��/��~��I���ð��|��ÿ��X��|��ë��Œ��%��������y���Á����J��N���F��¢���?��±������E���µ��q�������[��4��������Å������K��¡������6���W��������������×��0������Z��������������#���������…��…��¤������>��ú���������9�������Ý��æ������³�����E��h��“��-�����`��l��‰��I����������^��������������–�������ƒ��£��ñ��W���������¾����������Ð���4��£���°���Ð��Æ������g��`���������������!����b��H��§��r�������Ö�����ô��®��������Õ����������Ž��8�� ��Î��±���¨��f��Ï��Ç��ÿ��y��ü��µ������������Q��;�������&���6��¡����������™�������n��µ����������‚������������������Ù��*���¬��›��Á���E������Ü��Ç��û��z��A��^����Ñ����������j��4���\��� ���������������Ø������­������U���������¡���U���i��ç��s����������������������—������������•��Å��ð�������Ù������Ä��Ä��5��æ���������Ñ����������Ä��É���ý��������������¹����P��ƒ��â��–��±������������„������e������ñ���Q��8������3��¯������������������������¼����������¹��¬��Ü��������������[���\��ÿ������Y�����������÷����|��À���8���=��ï���ù����������7������ƒ���ô���������Í����������I�� �������Á��«���Ö���þ��¤��Z���������� ��������Q��Ã��â������÷��Ÿ��q������¸����������«��ª���V���‚��ã�������T���î��·������›��•�������„��-��®��0���º������������ƒ��½�����à��K���¥��õ���á���������³������¶���>������2������g������ì�����������V��Ü��è������{������•��Í������¯��Ô��œ���Û�����������§���B��§��7���š��î���×��î������m���Þ������æ��Ó��‹��ô����ä���æ���������ì����¸��ð��€��î��t���E��������B��É��x��)��ß��u������£����G��¦����������^��������������v��������������G���x������(��ª��O��$���Ý���������í���t��”���$����������i���¦�����������‚��{���†��–��Ð��ˆ����������]��������à��§����É��z��Å������Î��¯����Ý��Æ��¼��Ê��Ž��&����Û����������Ü�������€��k����Ï������²��C���£�� ��a��m������d���â��È��º��ê��è����������­������Š��6��w����¼���ö��ç����������½�������0��‘����k��ö���©��Ë��Ã��¹��}���`��·�������Â�� ��®���P��Þ��_���Ô��(��8�������������c�����������½��s����d������������X���c��C��k������‘���ÿ���í��å�� �������B��Ó��O������������������+��������¥��'��������~��3������������å���ï��j��œ��é��T�� ��F��®��È�����N��ì��˜��$��•��i������p��¸��³��4����������&��¦������‹��?��������À�����z����R������š��ª��>��½��å��������ü����� ���ä������f���+���¥��~������������������~������Ã�������˜��b����������d��������s��Ú��Â��w��p����­��¹��”����������Ð��Ñ��$��æ��Ë��(������p��������������������x��ˆ��‘������ö��¯���;��í��a��š���Š��ß���u��/��œ��#������ú���@��¤��P��[����Þ���*������Ÿ������2���q��Ù������Æ��%������Ä������S��������k��ë��������A������ ����S��¿�������-������d������%���¶������Á��a���‹�������·���´��ã��R���K��.������1������S��ø��¶������.��������e������€�������y�� ����Ù���H����� ���v��"��å����Ù��Œ������n��5��Ó����������������-���Ï��Š��n��À��™��������ú��X����������D��q��ç����������–��x���R��c��9������ ��$��á������+�� �������������� ��������;������’��T��É��&������ˆ��†�������é��†��T������1�����‡��Œ��(�������‚��‚���¾��{����������Ÿ��Ð������������?��¿��C�� ��‡���¾��¡��3������»���p���l��m��U��\����������_��-������€��»��Ý��›�����ù������)������Y������%��o��J��‘����y��°������ë�����¿��Ì��Y��ž��Ó��[��]��7��®��q��H���n�����Å��¹�������Ï��D��������������Ê��O�� ��‹��‰������Ã��V������j��{������D��R����� ������ ��Ô��:��F���E��ò���b������õ��”��)���Ê��–��f��©��ã��‡��ò��ó��@��a��1��<����é��z�������C��=������O���g��¢��l��!���—������ ���������������'��X��ä��™��Ë��#��ñ��/����������,���é���"������#��Ô�������@������´���������G����ä����������\��ç�����������4��‰���W�� ��¢��r����������h��Ö��Ò��¸��g������ã��}��������������G�������������u���B���t��m��%��Ô��Ò��<������o��������������������>��¼������������À������Y��»��Ÿ��Ò��o������”��«��Š��š��6����������ô��¯������ì������²�����C��ì������Í������Æ�����`������.������à�������l���ß��M��ß��y��ß������:�������˜����������ª��Õ��‡������;��ü��·�� ������*����‡����������_������i��G�������� ��«��ý��—������^���������ï��ˆ���ž���F��3��s���Ø��¥��Ò������M��s��<���ê��U������Z���T��r������+��e�������������»��/�����.��l��K��P���Ú�����ª��Ò���}��Ì��ó���¤��� ���t��Ú������3��L���†����Ñ��w�������L��A��N������M����¦��6�����¸��9����2��Ë������ï��Â��������D���������¿������Q��������������5������Z��"���•��!��=��û������,��ž��Á��å��Í���Å���h������ˆ��P��v��Õ��Y������ð��´��¾��t����������±��Œ������� ��(������ ��x��������ý���º��:����������������|��Ç��H��!��ú��}��î��°��Ë���Ø��M���]�����������ë����è��Z��S�� ���´����W��Þ��Ÿ���÷��¶�� ��Þ����È������Õ���í��u��…��Ö������L��^��:��Ž���?��������������ø��Â��o��â��u��A������7��²��„���������� ��b��œ��F��?��›���Ñ����������Ü��ë������µ��������������e���w��)��=����Œ��b���‹��h���������������Ç������—�����������������p�����}��…������/��½����������Û��Ê�������[������\��c��’�������+��.���������������L��ê���’����������³��c��º���‰����������v��à����<����������������������������h��*��Í��á����_����°��j�������ù�������ò����¬�������’��Ì������d����;����������À��n������­���“��¢������°������ ��]��×��f��g�������Ú��¨��Ê��*������8��]��K��~������é������"��³���Q��’��2��£��������´��×�����������<��­��N������R��þ���f��á��M��>���O��Ö��I��)��™��Â���������������J��D��{������1��ž��»��è���B��ò��A���������������,����v���õ��È����������k��z����¼��J��!������‰����¥���“��þ������á��¬���������Ú���w��¾���ü����������V��7��º��‘��è������Ì�����Û�� ��j��¤��Ï������Ø���Î��Õ������'���N������¶��������J���'��ç������É��2��5��…�����������=���I��,��������þ��¨���“��â�����˜��—������¿����������”��a��Î���:��Ä�������ø���ý��€����©��9������U��Ž����������H��›������ó��²��5���©��������S���0��&��û��ù���������"��@�����±��,��m������ø��Ó���������™��'��×������«��������ö��ž����¡����L������Š���������������š��V�� ������Ã��œ��¦��|�������§��˜���`��i��o���������_��ã��†��0����������#��¨��¢����È���¬��ƒ��õ���������e����������������������ó�� ��µ���û�������·������X��r��ñ������Î������1������Ø��Ý������r������������¨������@������“�������²�����(���� (�Dj��pj��„j��˜j��¬j��Àj��Ôj��èj��üj��k��$k��@k��Tk��pk��„k��°k��Äk��Øk��ìk���l��l��(l��<l��Pl��dl��€l��”l��°l��(��������������� �����������������ÿÿÿÿ4(��������1���ÿÿÿÿf(��������/���ÿÿÿÿ–(�7����������ÿÿÿÿà(�����������ÿÿÿÿ)�����������ÿÿÿÿ:)��������(���ÿÿÿÿg)� �������Q���ÿÿÿÿÂ)� �������R���ÿÿÿÿ*� �������V���ÿÿÿÿ~*������������������ÿÿÿÿª*�����������ÿÿÿÿ±*� ���������������ÿÿÿÿÛ*����������ÿÿÿÿü*� ���������������������������� ���ÿÿÿÿ++�����������ÿÿÿÿD+�����������ÿÿÿÿY+�!�������*���ÿÿÿÿ¤+�#����������ÿÿÿÿÞ+��������1���ÿÿÿÿ,��������(���ÿÿÿÿE,� ����������ÿÿÿÿf,� ������� ���ÿÿÿÿ,� ����������ÿÿÿÿ±,� �����������������ÿÿÿÿÖ,�����������ÿÿÿÿà,����������������ÿÿÿÿ-����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to set %s security context component to %s�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.11-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2011-03-28 00:26+0800 Last-Translator: Aron Xu <happyaron.xu@gmail.com> Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com> Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; � � ( è¡¨è¾¾å¼ ) 表达å¼çš„值为真 ! è¡¨è¾¾å¼ è¡¨è¾¾å¼çš„值为å‡(éž) 表达å¼1 -a 表达å¼2 两个表达å¼çš„值都为真时结果为真(与) 表达å¼1 -o 表达å¼2 两个表达å¼ä¸­ä»»ä¸€çš„值为真时结果为真(或) � --check-order 检查输入是å¦è¢«æ­£ç¡®æŽ’åºï¼Œå³ä½¿æ‰€æœ‰è¾“å…¥è¡Œå‡æˆå¯¹ --nocheck-order 䏿£€æŸ¥è¾“入是å¦è¢«æ­£ç¡®æŽ’åº � -1 ä¸è¾“出文件1 特有的行 -2 ä¸è¾“出文件2 特有的行 -3 ä¸è¾“出两个文件共有的行 � -a, --all 等于-b -d --login -p -r -t -T -u é€‰é¡¹çš„ç»„åˆ -b, --boot 上次系统å¯åŠ¨æ—¶é—´ -d, --dead 显示已死的进程 -H, --heading 输出头部的标题列 � -b 文件 指定文件存在且为å—设备文件 -c 文件 指定文件存在且为字符设备文件 -d 文件 指定文件存在且为目录 -e 文件 指定文件存在 � -l 对指定用户输出完整的长格å¼ä¿¡æ¯ -b 在长格å¼ä¸­çœç•¥ç”¨æˆ·ä¸»ç›®å½•以åŠç™»å½• shell -h 在长格å¼ä¸­çœç•¥ç”¨æˆ·çš„项目文件 -p 在长格å¼ä¸­çœç•¥ç”¨æˆ·çš„计划文件 -s 输出短格å¼ä¿¡æ¯(默认) � -n 字符串 字符串的长度éžé›¶ 字符串 等于"-n 字符串" -z 字符串 字符串的长度为零 字符串1 = 字符串2 两个字符串相等 字符串1 != 字符串2 两个字符串ä¸ç­‰ � ARG1 * ARG2 计算 ARG1 与ARG2 相乘之积 ARG1 / ARG2 计算 ARG1 与ARG2 相除之商 ARG1 % ARG2 计算 ARG1 与ARG2 相除之余数 � ARG1 + ARG2 计算 ARG1 与ARG2 相加之和 ARG1 - ARG2 计算 ARG1 与ARG2 相å‡ä¹‹å·® � ARG1 < ARG2 ARG1 å°äºŽARG2 ARG1 <= ARG2 ARG1 å°äºŽæˆ–等于ARG2 ARG1 = ARG2 ARG1 等于ARG2 ARG1 != ARG2 ARG1 ä¸ç­‰äºŽARG2 ARG1 >= ARG2 ARG1 大于或等于ARG2 ARG1 > ARG2 ARG1 大于ARG2 � 文件1 -ef 文件2 文件1 与文件2 的设备和节点å·ç›¸ç­‰ 文件1 -nt 文件2 文件1 的上次修改时间新于文件2 文件1 -ot 文件2 文件1 的上次修改时间旧于文件2 � æ•´æ•°1 -eq æ•´æ•°2 æ•´æ•°1 等于整数2 æ•´æ•°1 -ge æ•´æ•°2 æ•´æ•°1 大于等于整数2 æ•´æ•°1 -gt æ•´æ•°2 æ•´æ•°1 大于 æ•´æ•°2 æ•´æ•°1 -le æ•´æ•°2 æ•´æ•°1 大于等于整数2 æ•´æ•°1 -lt æ•´æ•°2 æ•´æ•°1 å°äºŽ æ•´æ•°2 æ•´æ•°1 -ne æ•´æ•°2 æ•´æ•°1 ä¸ç­‰äºŽæ•´æ•°2 � 字符串 : è¡¨è¾¾å¼ å®šä½å­—符串中匹é…表达å¼çš„æ¨¡å¼ match 字符串 è¡¨è¾¾å¼ ç­‰äºŽ"字符串 :表达å¼" substr 字符串 åç§»é‡ é•¿åº¦ 替æ¢å­—符串的å­ä¸²ï¼Œå移的数值从 1 起计 index 字符串 字符 在字符串中å‘现字符的地方建立下标,或者标0 length 字符串 字符串的长度 � a å¯¹æ‰€æœ‰è¡Œç¼–å· t 对éžç©ºè¡Œç¼–å· n ä¸ç¼–è¡Œå· pBRE åªå¯¹ç¬¦åˆæ­£åˆ™è¡¨è¾¾å¼BRE çš„è¡Œç¼–å· FORMAT 是下列之一: ln 左对é½ï¼Œç©ºæ ¼ä¸ç”¨0 å¡«å…… rn å³å¯¹é½ï¼Œç©ºæ ¼ä¸ç”¨0 å¡«å…… rz å³å¯¹é½ï¼Œç©ºæ ¼ç”¨0 å¡«å…… � b 创建(有缓冲的)区å—特殊文件 c, u 创建(没有缓冲的)字符特殊文件 p 创建先进先出(FIFO)特殊文件 � # 用户数=%lu � 如果页长<=10 则使用-t 选项。如果FILE 没有定义, 或者FILE 是"-",则从标准输入读入。 � 若域中为先空字符(通常包括空格以åŠåˆ¶è¡¨ç¬¦),然åŽéžç©ºå­—符,域中字符å‰çš„空字符将被跳过。 � å•纯的 - æ„å‘³ç€ -i。如果没有命令,则打å°ç»“果环境。 � 在任何标记之åŽè¿˜å…许一个å¯é€‰çš„域宽度指定,它是一个å进制数字。 作为一个å¯é€‰çš„修饰声明,它å¯ä»¥æ˜¯E,在å¯èƒ½çš„æƒ…况下使用本地环境关è”çš„ 表示方å¼ï¼›æˆ–者是O,在å¯èƒ½çš„æƒ…况下使用本地环境关è”的数字符å·ã€‚ � 被çœç•¥çš„表达å¼çš„值默认为å‡ï¼Œå¦åˆ™å¯èƒ½ä¸ºçœŸä¹Ÿå¯èƒ½ä¸ºå‡ï¼Œ 并会被设为退出状æ€å€¼ã€‚有效的表达å¼åº”属于下列之一: � æœ‰ä¸€ä¸ªç‰¹åˆ«æƒ…å†µï¼šå¦‚æžœåŒæ—¶æŒ‡å®š--force å’Œ--backup é€‰é¡¹ï¼Œè€Œæºæ–‡ä»¶å’Œç›®æ ‡æ–‡ä»¶ 是åŒä¸€ä¸ªå·²å­˜åœ¨çš„一般文件的è¯ï¼Œcp ä¼šå°†æºæ–‡ä»¶å¤‡ä»½ã€‚ � è¯·æ³¨æ„æœ‰è®¸å¤šè¿ç®—æ“作符都å¯èƒ½éœ€è¦ç”± shell 先实施转义。 如果å‚与è¿ç®—çš„ ARG 自å˜é‡éƒ½æ˜¯æ•°å­—,比较符就会被视作数学符å·ï¼Œå¦åˆ™å°±æ˜¯å¤šä¹‰çš„。 模å¼åŒ¹é…会返回"\"å’Œ"\"之间被匹é…çš„å­å­—符串或空(null);如果未使用"\"å’Œ"\", 则会返回匹é…å­—ç¬¦æ•°é‡æˆ–是 0。 � 当类型为"p"æ—¶å¯ä¸æŒ‡å®šä¸»è®¾å¤‡å·å’Œæ¬¡è®¾å¤‡å·ï¼Œå¦åˆ™å®ƒä»¬æ˜¯å¿…须指定的。 如果主设备å·å’Œæ¬¡è®¾å¤‡å·ä»¥"0x"或"0X"开头,它们会被视作åå…­è¿›åˆ¶æ•°æ¥ è§£æžï¼›å¦‚果以"0"开头,则被视作八进制数;其余情况下被视作å进制数。 å¯ç”¨çš„类型包括: � 默认时,rm ä¸ä¼šåˆ é™¤ç›®å½•。使用--recursive(-r 或-R)选项å¯åˆ é™¤æ¯ä¸ªç»™å®š 的目录,以åŠå…¶ä¸‹æ‰€æœ‰çš„内容。 � 默认的选项设置是-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是用于分隔 逻辑页数的两个分界符,其中缺失的第二个字符暗å«äº†":"ï¼Œå¦‚æžœæ‚¨è¦æŒ‡å®š"\", 请输入"\\"。å¯ç”¨çš„æ ·å¼å¦‚下: � é»˜è®¤æƒ…å†µä¸‹ï¼Œæºæ–‡ä»¶çš„ç¨€ç–æ€§ä»…仅通过简å•的方法判断,对应的目标文件目标文件也 被为稀ç–。这是因为默认情况下使用了--sparse=auto 傿•°ã€‚如果明确使用 --sparse=always 傿•°åˆ™ä¸è®ºæºæ–‡ä»¶æ˜¯å¦åŒ…å«è¶³å¤Ÿé•¿çš„0 åºåˆ—也将目标文件创文 建为稀ç–件。 使用--sparse=never 傿•°ç¦æ­¢åˆ›å»ºç¨€ç–文件。 当指定了--reflink[=always] 傿•°æ—¶æ‰§è¡Œè½»é‡åŒ–çš„å¤åˆ¶ï¼Œå³åªåœ¨æ•°æ®å—被修改的 情况下æ‰å¤åˆ¶ã€‚如果å¤åˆ¶å¤±è´¥æˆ–è€…åŒæ—¶æŒ‡å®šäº†--reflink=auto,则返回标准å¤åˆ¶æ¨¡å¼ã€‚ � 综åˆè®¾ç½®ï¼š * [-]LCASE 等于[-]lcase cbreak 等于-icanon -cbreak 等于icanon � 所显示的数值是æ¥è‡ª --block-sizeã€%s_BLOCK_SIZEã€BLOCK_SIZE åŠ BLOCKSIZE 环境å˜é‡ä¸­ç¬¬ä¸€ä¸ªå¯ç”¨çš„ SIZE å•ä½ã€‚ å¦åˆ™ï¼Œé»˜è®¤å•使˜¯ 1024 字节(或是 512,若设定 POSIXLY_CORRECT çš„è¯)。 � FLAG 符å·å¯ä»¥æ˜¯ï¼š append 追加模å¼(仅对输出有æ„义;éšå«äº†conv=notrunc) � 示例: %s -12 文件1 文件2 åªæ‰“å°åœ¨æ–‡ä»¶1 和文件2 中都有的行 %s -3 文件1 文件2 打å°åœ¨æ–‡ä»¶1 中有,而文件2 中没有的行。å之亦然。 � 示例: %s f - g 先输出f 的内容,然åŽè¾“出标准输入的内容,最åŽè¾“出g 的内容。 %s 将标准输入的内容å¤åˆ¶åˆ°æ ‡å‡†è¾“出。 � 示例: %s root /u å°† /u 的属主更改为"root"。 %s root:staff /u 和上é¢ç±»ä¼¼ï¼Œä½†åŒæ—¶ä¹Ÿå°†å…¶å±žç»„更改为"staff"。 %s -hR root /u å°† /u åŠå…¶å­ç›®å½•下所有文件的属主更改为"root"。 � 示例: %s staff /u å°† /u 的属组更改为"staff"。 %s -hR staff /u å°† /u åŠå…¶å­ç›®å½•下所有文件的属组更改为"staff"。 � 除-h å’Œ-L 以外,其它所有与指定文件相关的测试都会作用于符å·é“¾æŽ¥ã€‚ è¯·ç•™å¿ƒæ‚¨åœ¨å¿…è¦æ—¶éœ€ç”±shell 转义圆括å·å­—符(ä¾‹å¦‚ä½¿ç”¨åæ–œæ )。 指定整数也å¯ç”¨"-l 字符串"表示,这会估算相应字符串的长度。 � 若表达å¼çš„å€¼æ—¢ä¸æ˜¯ç©ºä¹Ÿä¸æ˜¯ 0,退出状æ€å€¼ä¸º 0;若表达å¼çš„值为空或为 0, 退出状æ€å€¼ä¸º 1。如果表达å¼çš„奿³•无效,则会在出错时返回退出状æ€å€¼ 3。 � 退出状æ€ï¼š 0 正常 1 一般问题 (ä¾‹å¦‚ï¼šæ— æ³•è®¿é—®å­æ–‡ä»¶å¤¹) 2 严é‡é—®é¢˜ (ä¾‹å¦‚ï¼šæ— æ³•ä½¿ç”¨å‘½ä»¤è¡Œå‚æ•°) � 指定格å¼ç±»ä¼¼ C 中的 printf å‡½æ•°ï¼Œå¯æŽ§åˆ¶è¾“å‡ºã€‚æœ‰æ•ˆçš„è§£é‡Šåºåˆ—有: \" åŒå¼•å· � 给定的格å¼FORMAT 控制ç€è¾“出,解释åºåˆ—如下: %% 一个文字的 % %a 当å‰locale 的星期å缩写(例如: 日,代表星期日) � 处ç†è¿žæŽ¥åˆ°æ ‡å‡†è¾“入的tty 终端行设置。当ä¸é™„åŠ å‚æ•°æ—¶ï¼Œç¨‹åºä¼šè¾“出波特率ã€è¡Œçº¦æŸ 规则以åŠä¸Žæ ‡å‡†stty 设置间的å差。在设置中,字符会被é€å­—è¯»å–æˆ–是被编ç ä¸º^c〠0x37ã€0177 或127 这样的字符,其中有特殊值^- 或undef è¢«ç”¨äºŽç¦æ­¢ç‰¹æ®Šå­—符。 � è‹¥-e å¯ç”¨ï¼Œåˆ™ä»¥ä¸‹åºåˆ—å³å¯è¯†åˆ«ï¼š � 如果指定文件为"-",粉碎标准输出的数æ®ã€‚ 如果加上--remove (-u)é€‰é¡¹è¡¨ç¤ºåˆ é™¤æ–‡ä»¶ã€‚é»˜è®¤çš„æ–¹å¼æ˜¯ä¸åˆ é™¤æ–‡ä»¶ï¼Œå› ä¸º 覆盖åƒ/dev/hda 等的设备文件是很普é的,而这些文件通常ä¸åº”删除。当覆盖 一般文件时,ç»å¤§å¤šæ•°äººéƒ½ä¼šä½¿ç”¨--remove 选项。 � 如果çœç•¥äº†é¦–数或者增é‡ï¼Œåˆ™é»˜è®¤å…¶å€¼ä¸º1,å³ä½¿è¿™æ ·å°¾æ•°ä»å°äºŽé¦–数。 首数ã€å¢žé‡å’Œå°¾æ•°å‡ä»¥æµ®ç‚¹æ•°å½¢å¼è§£é‡Šã€‚当首数å°äºŽå°¾æ•°æ—¶å¢žé‡ä¸€èˆ¬ä¸ºæ­£å€¼ï¼Œ 相å在首数大于尾数时增é‡ä¸€èˆ¬ä¸ºè´Ÿæ•°ã€‚ � 如果文件指定为"-",则将输入内容å¤åˆ¶åˆ°æ ‡å‡†è¾“出。 � 输入设置: [-]brkint 任务中断会触å‘ä¸­æ–­ä¿¡å· [-]icrnl 将回车转æ¢ä¸ºæ¢è¡Œç¬¦ [-]ignbrk 忽略中断字符 [-]igncr 忽略回车 � K åŽé¢å¯ä»¥è·Ÿä¹˜å·: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y åŒæ ·é€‚用。 � 许å¯è¯ï¼šGPLv3+:GNU 通用公共许å¯è¯ç¬¬3 版或更新版本<http://gnu.org/licenses/gpl.html>。 本软件是自由软件:您å¯ä»¥è‡ªç”±ä¿®æ”¹å’Œé‡æ–°å‘布它。 在法律范围内没有其他ä¿è¯ã€‚ � 本地设置: [-]crterase 擦除字符回显为退格符 * crtkill ä¾ç…§echoprt å’Œechoe 的设置清除所有行 * -crtkill ä¾ç…§echoctl å’Œechol 的设置清除所有行 � 注æ„:[ æœä»Ž --help å’Œ --version 选项但 test ä¸åŒã€‚ test 将其和其他éžç©ºå­—符串åŒèƒ½å¯¹å¾…。 � 注æ„:您的shell 内å«è‡ªå·±çš„%s 程åºç‰ˆæœ¬ï¼Œå®ƒä¼šè¦†ç›–这里所æåŠçš„相应 版本。请查阅您的shell 文档获知它所支æŒçš„选项。 � 请注æ„,如果使用rm æ¥åˆ é™¤æ–‡ä»¶ï¼Œé€šå¸¸ä»å¯ä»¥å°†è¯¥æ–‡ä»¶æ¢å¤åŽŸçŠ¶ã€‚å¦‚æžœæƒ³ä¿è¯ 该文件的内容无法还原,请考虑使用shred。 � 请注æ„,-d å’Œ-t 选项坿ޥå—ä¸åŒçš„æ—¶é—´/日期格å¼ã€‚ � å¯é€‰- 在设置å‰çš„æŒ‡ç¤ºä¸­ï¼Œ* 标记出了éžPOSIX 标准的设置。以下系 统定义象å¾äº†å“ªäº›è®¾ç½®æ˜¯æœ‰æ•ˆçš„。 � å¦åˆ™ MODE 就应该是以下数字å•ä½ä¸­çš„一个: KB 1000,K 1024,MB 1000*1000,M 1024*1024ï¼Œä»¥åŠ Gã€Tã€Pã€Eã€Zã€Y。 在此情况下,相应的æµå°†ç¼“冲由 MODE 指定大å°çš„缓冲字节。 � 输出设置: * bsN 退格延迟的风格,N 的值为0 至1 * crN 回车延迟的风格,N 的值为0 至3 * ffN æ¢é¡µå»¶è¿Ÿçš„风格,N 的值为0 至1 * nlN æ¢è¡Œå»¶è¿Ÿçš„风格,N 的值为0 至1 � 将表达å¼çš„值列å°åˆ°æ ‡å‡†è¾“出,分隔符下é¢çš„ç©ºè¡Œå¯æå‡ç®—å¼ä¼˜å…ˆçº§ã€‚ å¯ç”¨çš„è¡¨è¾¾å¼æœ‰ï¼š ARG1 | ARG2 è‹¥ARG1 的值ä¸ä¸º0 或者为空,则返回ARG1,å¦åˆ™è¿”回ARG2 ARG1 & ARG2 若两边的值都ä¸ä¸º0 或为空,则返回ARG1,å¦åˆ™è¿”回 0 � 如果文件为"-"ï¼Œåˆ™è¯»å–æ ‡å‡†è¾“入。æ¯ä¸ª"æ ¼å¼"å¯ä»¥æ˜¯ï¼š � 请å‘%2$s 报告%1$s 的错误 � 请å‘<%s> æŠ¥å‘Šè½¯ä»¶é”™è¯¯ã€‚è¯·å‘ <i18n-zh@googlegroups.com> 报告翻译错误。 � SET æ˜¯ä¸€ç»„å­—ç¬¦ä¸²ï¼Œä¸€èˆ¬éƒ½å¯æŒ‰ç…§å­—é¢å«ä¹‰ç†è§£ã€‚è§£æžåºåˆ—如下: \NNN 八进制值为NNN 的字符(1 至3 个数ä½) \\ åæ–œæ  \a ç»ˆç«¯é¸£å“ \b 退格 \f æ¢é¡µ \n æ¢è¡Œ \r 回车 \t 水平制表符 � 特殊字符: * dsusp 字符 æ¯å½“输入刷新时会å‘é€ä¸€ä¸ªç”¨äºŽç»ˆç«¯é˜»å¡žä¿¡å·çš„字符 eof 字符 表示文件末尾而å‘é€çš„字符(用于终止输入) eol 字符 为表示行尾而å‘é€çš„字符 � 特殊设置: N 设置输入输出速度为N 波特 * cols N 统治内核终端上有N æ  * columns N 等于cols N � æ•°æ®ä»¥ RFC 3548 规定的 Base64 å­—æ¯æ ¼å¼è¿›è¡Œç¼–ç ã€‚ è§£ç æ—¶ï¼Œè¾“入数æ®(加密æµ)å¯èƒ½åŒ…å«ä¸€äº›éžæœ‰æ•ˆ Base64 字符的新行字符。å¯ä»¥å°è¯•用 --ignore-garbage é€‰é¡¹æ¥æ¢å¤åР坆æµä¸­ä»»ä½•éž base64 字符。 � 以下三个选项在进行校验时éžå¸¸æœ‰ç”¨ï¼š --quiet ä¸ä¸ºæ ¡éªŒæˆåŠŸçš„æ–‡ä»¶è¾“å‡ºOK --status ä¸è¾“出任何内容,使用退出状æ€å·æ˜¾ç¤ºæˆåŠŸ -w, --warn 对格å¼ä¸å‡†ç¡®çš„æ ¡éªŒå’Œè¡Œè¿›è¡Œè­¦å‘Š � 仅在SET1 å’ŒSET2 éƒ½ç»™å‡ºï¼ŒåŒæ—¶æ²¡æœ‰-d 选项的时候æ‰ä¼šè¿›è¡Œæ›¿æ¢ã€‚ ä»…åœ¨æ›¿æ¢æ—¶æ‰å¯èƒ½ç”¨åˆ°-t 选项。如果需è¦SET2 将被通过在末尾添加原æ¥çš„æœ«å­—ç¬¦çš„æ–¹å¼ è¡¥å……åˆ°åŒSET1 等长。SET2 中多余的字符将被çœç•¥ã€‚åªæœ‰[:lower:] å’Œ[:upper:] 以å‡åºå±•å¼€å­—ç¬¦ï¼›åœ¨ç”¨äºŽæ›¿æ¢æ—¶çš„SET2 中以æˆå¯¹è¡¨ç¤ºå¤§å°å†™è½¬æ¢ã€‚-s 作用于SET1ï¼Œæ—¢ä¸ æ›¿æ¢ä¹Ÿä¸åˆ é™¤ï¼Œå¦åˆ™åœ¨æ›¿æ¢æˆ–展开åŽä½¿ç”¨SET2 缩å‡ã€‚ � 仅使用f -b, -c 或-f 中的一个。æ¯ä¸€ä¸ªåˆ—表都是专门为一个类别作出的,或者您å¯ä»¥ç”¨é€—å·éš” å¼€è¦åŒæ—¶æ˜¾ç¤ºçš„ä¸åŒç±»åˆ«ã€‚您的输入顺åºå°†ä½œä¸ºè¯»å–顺åºï¼Œæ¯ä¸ªä»…能输入一次。 � 使用色彩æ¥åŒºåˆ†æ–‡ä»¶ç±»åž‹çš„功能已被ç¦ç”¨ï¼Œé»˜è®¤è®¾ç½®å’Œ --color=never åŒæ—¶ç¦ç”¨äº†å®ƒã€‚ 使用 --color=auto 选项,ls åªåœ¨æ ‡å‡†è¾“出被连至终端时æ‰ç”Ÿæˆé¢œè‰²ä»£ç ã€‚ LS_COLORS 环境å˜é‡å¯æ”¹å˜æ­¤è®¾ç½®ï¼Œå¯ä½¿ç”¨ dircolors 命令æ¥è®¾ç½®ã€‚ � 如果没有指定文件,或者文件为"-",则从标准输入读å–。 � 如果ä¸é™„带选项,程åºä¼šç”Ÿæˆä¸‰åˆ—è¾“å‡ºã€‚ç¬¬ä¸€åˆ—åŒ…å«æ–‡ä»¶1 ç‰¹æœ‰çš„è¡Œï¼Œç¬¬äºŒåˆ—åŒ…å« æ–‡ä»¶2 特有的行,而第三列包å«ä¸¤ä¸ªæ–‡ä»¶å…±æœ‰çš„行。 � 如果ä¸é™„带任何选项,程åºä¼šæ˜¾ç¤ºä¸€äº›å¯ä¾›è¯†åˆ«ç”¨æˆ·èº«ä»½çš„æœ‰ç”¨ä¿¡æ¯ã€‚ � 将指定文件以八进制形å¼(默认)转储到标准输出。如果指定了多于一个的文件 傿•°ï¼Œç¨‹åºä¼šè‡ªåŠ¨å°†è¾“å…¥çš„å†…å®¹æ•´åˆä¸ºåˆ—è¡¨å¹¶ä»¥åŒæ ·çš„å½¢å¼è¾“出。 如果没有指定文件,或指定文件为"-",程åºä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚ � ???� --backup[=CONTROL] 为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份 -b 类似--backup 但䏿ޥå—傿•° -f, --force 覆盖å‰ä¸è¯¢é—® -i, --interactive 覆盖å‰è¯¢é—® -n, --no-clobber ä¸è¦†ç›–已存在文件 如果您指定了-iã€-fã€-n 中的多个,仅最åŽä¸€ä¸ªç”Ÿæ•ˆã€‚ � --backup[=CONTROL] 为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份文件 -b 类似--backupï¼Œä½†ä¸æŽ¥å—任何傿•° -d, -F, --directory 创建指å‘目录的硬链接(åªé€‚用于超级用户) -f, --force 强行删除任何已存在的目标文件 � --backup[=CONTROL] 为æ¯ä¸ªå·²å­˜åœ¨çš„æ–‡ä»¶åˆ›å»ºå¤‡ä»½ -b 类似--backup 但䏿ޥå—傿•° -c (忽略) -C, --compare 比较æ¯ç»„æºæ–‡ä»¶å’Œç›®æ ‡æ–‡ä»¶ï¼Œåœ¨ä¸€äº›æƒ…况下ä¸ä¿®æ”¹ç›®æ ‡æ–‡ä»¶ -d, --directory å°†æ‰€æœ‰å‚æ•°è§†ä¸ºç›®å½•å称;为指定的目录创建所有组件 � --batch-size=NMERGE 一次最多åˆå¹¶NMERGE 个输入;如果输入更多 则使用临时文件 � --complement 补全选中的字节ã€å­—符或域 � --debug 为用于排åºçš„行添加注释,并将有å¯èƒ½æœ‰é—®é¢˜çš„ 用法输出到标准错误输出 --files0-from=文件 从指定文件读å–以NUL 终止的å称,如果该文件被 指定为"-"则从标准输入读文件å � --files0-from=文件 从指定文件读å–以NUL 终止的å称,如果该文件被 指定为"-"则从标准输入读文件å -L, --max-line-length 显示最长行的长度 -w, --words 显示å•è¯è®¡æ•° � --from=当剿‰€æœ‰è€…:当剿‰€å±žç»„ åªå½“æ¯ä¸ªæ–‡ä»¶çš„æ‰€æœ‰è€…和组符åˆé€‰é¡¹æ‰€æŒ‡å®šæ—¶æ‰æ›´æ”¹æ‰€ 有者和组。其中一个å¯ä»¥çœç•¥ï¼Œè¿™æ—¶å·²çœç•¥çš„å±žæ€§å°±ä¸ éœ€è¦ç¬¦åˆåŽŸæœ‰çš„å±žæ€§ã€‚ � --group-directories-first 在文件å‰åˆ†ç»„目录。此选项å¯ä¸Ž--sort 一起使用, 但是一旦使用--sort=none (-U)å°†ç¦ç”¨åˆ†ç»„ � --help 显示此帮助信æ¯å¹¶é€€å‡º � --lookup å°è¯•通过 DNS 查验主机å -m åªé¢å¯¹å’Œæ ‡å‡†è¾“入有直接交互的主机和用户 -p, --process 显示由 init 进程è¡ç”Ÿçš„æ´»åŠ¨è¿›ç¨‹ � --sno-preserve=属性列表 ä¸ä¿ç•™æŒ‡å®šçš„æ–‡ä»¶å±žæ€§ --parents å¤åˆ¶å‰åœ¨ç›®æ ‡ç›®å½•åˆ›å»ºæ¥æºæ–‡ä»¶è·¯å¾„中的所有目录 � --one-file-system 递归删除一个层级时,跳过所有ä¸ç¬¦åˆå‘½ä»¤è¡Œå‚ 数的文件系统上的文件 � --pid=PID åŒ -f 一起使用,当 PID 所对应的进程死去åŽç»ˆæ­¢ -q, --quiet, --silent ä¸è¾“出给出文件å的头 --retry å³ä½¿ç›®æ ‡æ–‡ä»¶ä¸å¯è®¿é—®ä¾ç„¶è¯•å›¾æ‰“å¼€ï¼›åœ¨ä¸Žå‚æ•° --follow=name åŒæ—¶ä½¿ç”¨æ—¶å¸¸å¸¸æœ‰ç”¨ã€‚ � --preserve-context ä¿æŒSELinux 的安全环境 -Z, --context=CONTEXT 设置文件和目录的SELinux 安全环境 � --sort=WORD 按照WORD æŒ‡å®šçš„æ ¼å¼æŽ’åºï¼š 一般数字-g,高å¯è¯»æ€§-h,月份-M,数字-n, éšæœº-R,版本-V -V, --version-sort åœ¨æ–‡æœ¬å†…è¿›è¡Œè‡ªç„¶ç‰ˆæœ¬æŽ’åº � --sparse=WHEN æŽ§åˆ¶åˆ›å»ºç¨€ç–æ–‡ä»¶çš„æ–¹å¼ --strip-trailing-slashes åˆ é™¤å‚æ•°ä¸­æ‰€æœ‰æºæ–‡ä»¶/ç›®å½•æœ«ç«¯çš„æ–œæ  � --strip-trailing-slashes 去掉æ¯ä¸ªæºæ–‡ä»¶å‚数尾部的斜线 -S, --suffix=SUFFIX 替æ¢å¸¸ç”¨çš„备份文件åŽç¼€ � --suffix=SUFF å°† SUFF 添加至 TEMPLATE。SUFF ä¸èƒ½å¸¦æ–œæ ã€‚ è‹¥ TEMPLATE ä¸ä»¥ X 结尾,则此选项éšå¼å®žçŽ°ã€‚ � --tmpdir[=DIR] å°†TEMPLATE å’ŒDIR 目录关è”。如果DIR 没有被指定,则 æ ¹æ®$TMPDIR 是å¦è¢«è®¾ç½®æ¥é€‰æ‹©æ˜¯$TMPDIR 还是 /tmp。 在这个选项中,TEMPLATE ä¸èƒ½æ˜¯ç»å¯¹è·¯å¾„。 与-t ä¸åŒï¼ŒTEMPLATE å…许带斜线。 ä½†æ­¤ç§æƒ…况下mktemp 仅以斜线åŽéƒ¨åˆ†ç”Ÿæˆç›®å½•。 � --verbose 在æ¯ä¸ªè¾“出文件打开å‰è¾“å‡ºæ–‡ä»¶ç‰¹å¾ � --version 显示版本信æ¯å¹¶é€€å‡º � --all æ‰“å°æ‰€æ‹¥æœ‰çš„处ç†å™¨æ•°ç›® --ignore=N 如果有å¯èƒ½ï¼Œå¿½ç•¥ N 个处ç†å™¨ � -evenp 等于-parenb cs8 * [-]lcase 等于xcase iuclc olcuc litout 等于-parenb -istrip -opost cs8 -litout 等于parenb istrip opost cs7 nl 等于-icrnl -onlcr -nl 等于icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar å¿½ç•¥å«æœ‰å¥‡å¶ä¸å¯¹ç§°é”™è¯¯çš„字符 * [-]imaxbel å‘出终端å“铃但ä¸åˆ·æ–°å­—符的完整输入缓冲 [-]inlcr å°†æ¢è¡Œç¬¦è½¬æ¢ä¸ºå›žè½¦ [-]inpck å¯ç”¨è¾“入奇嶿€§æ ¡éªŒ [-]istrip 剥除输入字符的高8 使¯”特 � cooked 等于brkint ignpar istrip icrnl ixon opost isig icanon eof eol 等的默认值 -cooked 等于-raw crt 等于echoe echoctl echoke � dec 等于echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq 等于[-]ixany ek 清除所有字符,将它们回溯为默认值 evenp 等于parenb -parodd cs7 � ispeed N 设置输入速度为N 波特 * line N 设置行约æŸè§„则为N min N å’Œ -icanon é…åˆä½¿ç”¨ï¼Œè®¾ç½®æ¯æ¬¡ä¸€å®Œæ•´è¯»å…¥çš„æœ€å°å­—符数为<N> ospeed N 设置输出速度为N 波特 � oddp 等于parenb parodd cs7 -oddp 等于-parenb cs8 [-]parity 等于[-]evenp pass8 等于-parenb -istrip cs8 -pass8 等于parenb istrip cs7 � raw 等于-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw 等于cooked � sane 等于cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echokeï¼Œæ‰€æœ‰ç‰¹æ®Šå­—ç¬¦å‡ ä½¿ç”¨é»˜è®¤å€¼ � stop 字符 åœæ­¢è¾“出的字符 susp 字符 å‘é€ç»ˆç«¯é˜»æ–­ä¿¡å·çš„字符 * swtch 字符 在ä¸åŒçš„shell 层次间切æ¢çš„字符 * werase 字符 擦除å‰ä¸€ä¸ªè¾“入的å•è¯çš„字符 � %A 当å‰locale 的星期å全称 (如:星期日) %b 当å‰locale 的月å缩写 (如:一,代表一月) %B 当å‰locale 的月å全称 (如:一月) %c 当å‰locale 的日期和时间 (如:2005å¹´3月3æ—¥ 星期四 23:05:25) � %C 世纪;比如 %Y,通常为çœç•¥å½“å‰å¹´ä»½çš„åŽä¸¤ä½æ•°å­—(例如:20) %d 按月计的日期(例如:01) %D 按月计的日期;等于%m/%d/%y %e 按月计的日期,添加空格,等于%_d � %F 完整日期格å¼ï¼Œç­‰ä»·äºŽ %Y-%m-%d %g ISO-8601 æ ¼å¼å¹´ä»½çš„æœ€åŽä¸¤ä½ (å‚è§%G) %G ISO-8601 æ ¼å¼å¹´ä»½ (å‚è§%V),一般åªå’Œ %V 结åˆä½¿ç”¨ � %S ç§’(00-60) %t 输出制表符 Tab %T 时间,等于%H:%M:%S %u 星期,1 代表星期一 � %U ä¸€å¹´ä¸­çš„ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨æ—¥ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(00-53) %V ISO-8601 æ ¼å¼è§„èŒƒä¸‹çš„ä¸€å¹´ä¸­ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨ä¸€ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(01-53) %w 一星期中的第几日(0-6),0 代表周一 %W ä¸€å¹´ä¸­çš„ç¬¬å‡ å‘¨ï¼Œä»¥å‘¨ä¸€ä¸ºæ¯æ˜ŸæœŸç¬¬ä¸€å¤©(00-53) � %h 等于%b %H å°æ—¶(00-23) %I å°æ—¶(00-12) %j 按年计的日期(001-366) � %n æ¢è¡Œ %N 纳秒(000000000-999999999) %p 当å‰locale 下的"上åˆ"或者"下åˆ",未知时输出为空 %P 与%p 类似,但是输出å°å†™å­—æ¯ %r 当å‰locale 下的 12 å°æ—¶æ—¶é’Ÿæ—¶é—´ (如:11:11:04 下åˆ) %R 24 å°æ—¶æ—¶é—´çš„æ—¶å’Œåˆ†ï¼Œç­‰ä»·äºŽ %H:%M %s 自UTC æ—¶é—´ 1970-01-01 00:00:00 ä»¥æ¥æ‰€ç»è¿‡çš„ç§’æ•° � %x 当å‰locale 下的日期æè¿° (如:12/31/99) %X 当å‰locale 下的时间æè¿° (如:23:13:48) %y 年份最åŽä¸¤ä½æ•°ä½ (00-99) %Y 年份 � %z +hhmm 数字时区(例如,-0400) %:z +hh:mm 数字时区(例如,-04:00) %::z +hh:mm:ss 数字时区(例如,-04:00:00) %:::z 数字时区带有必è¦çš„精度 (例如,-04,+05:30) %Z 按字æ¯è¡¨æŽ’åºçš„æ—¶åŒºç¼©å†™ (例如,EDT) 默认情况下,日期的数字区域以0 填充。 � +首页[:末页], --pages=首页[:末页] 在指定的首页/末页处开始/åœæ­¢æ‰“å° -列数, --columns=列数 输出指定的列数。如果指定了-a 选项,则从上到下列å°ã€‚ 程åºä¼šè‡ªåŠ¨åœ¨æ¯ä¸€é¡µå‡è¡¡æ¯åˆ—å ç”¨çš„行数。 � --output-delimiter=STR ä¾ç…§STR 分列 � --userspec=用户:组 指定所用的用户åŠç”¨æˆ·ç»„(å¯ä½¿ç”¨"æ•°å­—"或"åå­—") --groups=组列表 指定å¯ä¾›é€‰æ‹©çš„用户组列表,形如组1,组2,组3... � -0, --null ä»¥ç©ºå­—ç¬¦è€Œéžæ–°è¡Œç¬¦ç»“æŸæ¯ä¸€è¾“出行 � -D 创建目标目录的所有必è¦çš„父目录,然åŽå°†æºæ–‡ä»¶å¤åˆ¶è‡³è¯¥ç›®å½• -g, --group=组 è‡ªè¡Œè®¾ç½®æ‰€å±žç»„ï¼Œè€Œä¸æ˜¯è¿›ç¨‹ç›®å‰çš„æ‰€å±žç»„ -m, --mode=æ¨¡å¼ è‡ªè¡Œè®¾ç½®æƒé™æ¨¡å¼(åƒchmod)ï¼Œè€Œä¸æ˜¯rwxr-xr-x -o, --owner=所有者 自行设置所有者(åªé€‚用于超级用户) � -D, --all-repeated[=delimit-method 显示所有é‡å¤çš„行 delimit-method={none(default),prepend,separate} ä»¥ç©ºè¡Œä¸ºç•Œé™ -f, --skip-fields=N 比较时跳过å‰N 列 -i, --ignore-case 在比较的时候ä¸åŒºåˆ†å¤§å°å†™ -s, --skip-chars=N 比较时跳过å‰N 个字符 -u, --unique åªæ˜¾ç¤ºå”¯ä¸€çš„行 -z, --zero-terminated 使用'\0'作为行结æŸç¬¦ï¼Œè€Œä¸æ˜¯æ–°æ¢è¡Œ � -D, --date-format=æ ¼å¼ ä½¿ç”¨éµå¾ªæŒ‡å®šæ ¼å¼çš„页眉日期 -e[字符[宽度]], --expand-tabs[=字符[宽度]] 扩展输入的字符(制表符) 到制表符宽度(8) -F, -f, --form-feed 使用出纸页页标代替新行作为页é¢é—´çš„分隔符 (使用-F 选项时报头为3 行,ä¸ä½¿ç”¨æ—¶ä¸º5 行) � -G, --no-group 以一个长列表的形å¼ï¼Œä¸è¾“出组å -h, --human-readable 与-l 一起,以易于阅读的格å¼è¾“å‡ºæ–‡ä»¶å¤§å° (例如 1K 234M 2G) --si åŒä¸Šé¢ç±»ä¼¼ï¼Œä½†æ˜¯ä½¿ç”¨1000 为基底而éž1024 � -H, --dereference-command-line è·Ÿéšå‘½ä»¤è¡Œåˆ—出的符å·é“¾æŽ¥ --dereference-command-line-symlink-to-dir è·Ÿéšå‘½ä»¤è¡Œåˆ—出的目录的符å·é“¾æŽ¥ --hide=PATTERN éšè—符åˆPATTERN 模å¼çš„项目 (-a 或 -A 将覆盖此选项) � -I 在删除超过三个文件或者递归删除å‰è¦æ±‚确认。此选项比-i æ ç¤ºå†…å®¹æ›´å°‘ï¼Œä½†åŒæ ·å¯ä»¥é˜»æ­¢å¤§å¤šæ•°é”™è¯¯å‘生 --interactive[=WHEN] æ ¹æ®æŒ‡å®šçš„WHEN 进行确认æç¤ºï¼šnever,once (-I), 或者always (-i)ã€‚å¦‚æžœæ­¤å‚æ•°ä¸åŠ WHEN 则总是æç¤º � -L 文件 指定文件存在且为符å·é“¾æŽ¥(等于-h) -O 文件 指定文件存在且属主ID 有效 -p 文件 指定文件存在且为命åç®¡é“ -r 文件 æŒ‡å®šæ–‡ä»¶å­˜åœ¨ä¸”å…·å¤‡è¯»å–æƒé™ -s 文件 指定文件存在且其大å°å¤§äºŽ0 � -L, --logical 使用环境å˜é‡ä¸­çš„PWD,å³ä½¿å…¶ä¸­åŒ…å«ç¬¦å·é“¾æŽ¥ -P, --physical é¿å…所有符å·é“¾æŽ¥ � -R, -r, --recursive 递归å¤åˆ¶ç›®å½•åŠå…¶å­ç›®å½•内的所有内容 --reflink[=WHEN] 控制克隆/CoW 副本。请查看下é¢çš„内如。 --remove-destination å°è¯•打开目标文件å‰å…ˆåˆ é™¤å·²å­˜åœ¨çš„目的地 文件 (相对于 --force 选项) � -S æ ¹æ®æ–‡ä»¶å¤§å°æŽ’åº --sort=WORD 以下是å¯é€‰ç”¨çš„WORD 和它们代表的相应选项: extension -X status -c none -U time -t size -S atime -u time -t access -u version -v use -u --time=WORD å’Œ-l åŒæ—¶ä½¿ç”¨æ—¶æ˜¾ç¤ºWORD 所代表的时间而éžä¿®æ”¹æ—¶ 间:atimeã€accessã€useã€ctime 或status;加上 --sort=time 选项时会以指定时间作为排åºå…³é”®å­— � -S 文件 指定文件存在且为套接字文件 -t FD 已有一个终端打开了文件的æè¿°ç¬¦FD -u 文件 指定文件存在且设置了setuid ä½ -w 文件 指定文件存在且具备写入æƒé™ -x 文件 指定文件存在且具备执行或æœç´¢(针对目录)æƒé™ � -T, --omit-pagination æŒ‰ç…§è¾“å…¥æ–‡ä»¶ä¸­çš„è®¾ç½®å¿½ç•¥é¡µçœ‰å’Œé¡µè„šå¹¶é™¤åŽ»æ‰€æœ‰åˆ†é¡µè®°å· -v, --show-nonprinting ä½¿ç”¨å…«è¿›åˆ¶åæ–œæ æ ‡è®° -w, --width=页é¢å®½åº¦ 为多æ é¡µé¢è¾“出将设置为指定的字符数(默认72), 仅当-s[char] 选项ä¸å¯ç”¨æ—¶æœ‰æ•ˆ(å³ä¿æŒé»˜è®¤å€¼ 72)。 � -T, -w, --mesg 用+,- 或 ? 标注用户消æ¯çŠ¶æ€ -u, --users 列出已登录的用户 --message 等于-T --writable 等于-T � -W, --page-width=页宽 总是将页宽设置为指定的(默认72)字符数, 除éž-J 选项å¯ç”¨æ€»æ˜¯æˆªæ–­è¡Œï¼Œæ­¤å‚数与-S 或-s å†²çª � -W, --word-regexp=æ­£åˆ™è¡¨è¾¾å¼ ä½¿ç”¨æ­£åˆ™è¡¨è¾¾å¼åŒ¹é…æ¯ä¸ªå…³é”®å­— -b, --break-file=文件 以文件中包å«çš„å•è¯ä¸ºåˆ†éš”字符 -f, --ignore-case æŽ’åºæ—¶åˆå¹¶å°å†™å­—æ¯å’Œå¤§å†™å­—æ¯ -g, --gap-size=数值 指定多个输出区å—间的列间隙尺寸 -i, --ignore-file=文件 从指定文件中读å–忽略å•è¯çš„列表 -o, --only-file=文件 åªä»ŽæŒ‡å®šæ–‡ä»¶ä¸­è¯»å–å•è¯åˆ—表 � -Z, --context=CTX 将对应å称文件的SELinux 安全环境设置为CTX � -Z, --context=CTX å°†æ¯ä¸ªåˆ›å»ºçš„目录的SELinux 安全环境设置为CTX � -a åªæ›´æ”¹è®¿é—®æ—¶é—´ -c, --no-create ä¸åˆ›å»ºä»»ä½•文件 -d, --date=字符串 使用指定字符串表示时间而éžå½“剿—¶é—´ -f (忽略) � -a, --across 设置æ¯åˆ—从上到下输出,é…åˆ"-列数"选项一起使用 -c, --show-control-chars 使用头标(^G)å’Œå…«è¿›åˆ¶åæ–œæ æ ‡è®° -d, --double-space 加å€è¾“出空白区域 � -a, --all ä¸éšè—任何以. 开始的项目 -A, --almost-all 列出除. åŠ.. 以外的任何项目 --author 与-l åŒæ—¶ä½¿ç”¨æ—¶åˆ—出æ¯ä¸ªæ–‡ä»¶çš„作者 -b, --escape 以八进制溢出åºåˆ—表示ä¸å¯æ‰“å°çš„字符 � -a, --all è½¬æ¢æ‰€æœ‰ç©ºæ ¼ï¼ŒåŒ…括但ä¸åªèµ·å§‹ç©ºæ ¼ --first-only 仅转æ¢èµ·å§‹ç©ºæ ¼(覆盖-a 选项) -t, --tabs=N 设置制表符宽度为N 而éžé»˜è®¤çš„8(å¯ç”¨-a 选项) -t, --tabs=列表 使用逗å·åˆ†éš”的列表列出制表符ä½ç½®(å¯ç”¨-a 选项) � -a, --archive 等于-dR --preserve=all --attributes-only ä»…å¤åˆ¶å±žæ€§è€Œä¸å¤åˆ¶æ•°æ® --backup[=CONTROL 为æ¯ä¸ªå·²å­˜åœ¨çš„目标文件创建备份 -b 类似--backup 但䏿ޥå—傿•° --copy-contents åœ¨é€’å½’å¤„ç†æ˜¯å¤åˆ¶ç‰¹æ®Šæ–‡ä»¶å†…容 -d 等于--no-dereference --preserve=links � -b, --before 在行å‰è€Œéžè¡Œå°¾æ·»åŠ åˆ†éš”æ ‡å¿— -r, --regex å°†åˆ†éš”æ ‡å¿—è§†ä½œæ­£åˆ™è¡¨è¾¾å¼æ¥è§£æž -s, --separator=字符串 使用指定字符串代替æ¢è¡Œä½œä¸ºåˆ†é𔿠‡å¿— � -b, --binary 以二进制模å¼è¯»å– � -b, --binary 以二进制模å¼è¯»å–(除éžä»Žtty 标准输入读å–å¦åˆ™ä¸ºé»˜è®¤) � -b, --body-numbering=æ ·å¼ ä½¿ç”¨æŒ‡å®šæ ·å¼ç¼–å·æ–‡ä»¶çš„æ­£æ–‡è¡Œç›® -d, --section-delimiter=CC 使用指定的CC 分割逻辑页数 -f, --footer-numbering=æ ·å¼ ä½¿ç”¨æŒ‡å®šæ ·å¼ç¼–å·æ–‡ä»¶çš„页脚行目 � -b, --bytes è®¡ç®—å­—èŠ‚æ•°è€Œä¸æ˜¯åˆ—æ•° -s, --spaces 在空格处断行 -w, --width=宽度 使用指定的列宽度代替默认的80 � -b, --bytes=列表 åªé€‰ä¸­æŒ‡å®šçš„这些字节 -c, --characters=列表 åªé€‰ä¸­æŒ‡å®šçš„这些字符 -d, --delimiter=分界符 使用指定分界符代替制表符作为区域分界 � -b, --ignore-leading-blanks 忽略å‰å¯¼çš„空白区域 -d, --dictionary-order åªè€ƒè™‘空白区域和字æ¯å­—符 -f, --ignore-case 忽略字æ¯å¤§å°å†™ � -c --format=æ ¼å¼ ä½¿ç”¨æŒ‡å®šè¾“å‡ºæ ¼å¼ä»£æ›¿é»˜è®¤å€¼ï¼Œæ¯ç”¨ä¸€æ¬¡æŒ‡å®šæ ¼å¼æ¢ä¸€æ–°è¡Œ --printf=æ ¼å¼ ç±»ä¼¼ --formatï¼Œä½†æ˜¯ä¼šè§£é‡Šåæ–œæ è½¬ä¹‰ç¬¦ï¼Œä¸ä½¿ç”¨æ¢è¡Œä½œ 输出结尾。如果您ä»å¸Œæœ›ä½¿ç”¨æ¢è¡Œï¼Œå¯ä»¥åœ¨æ ¼å¼ä¸­ 加入"\n" -t, --terse ä½¿ç”¨ç®€æ´æ ¼å¼è¾“出 � -c, --bytes=K 输出最åŽK 字节;å¦å¤–,使用-c +K 从æ¯ä¸ªæ–‡ä»¶çš„ 第K 字节输出 � -c, --check 从文件中读å–%s 的校验值并予以检查 � -c, --check, --check=diagnose-first 检查输入是å¦å·²æŽ’åºï¼Œè‹¥å·²æœ‰åºåˆ™ä¸è¿›è¡Œæ“作 -C, --check=quiet, --check=silent 类似-cï¼Œä½†ä¸æŠ¥å‘Šç¬¬ä¸€ä¸ªæ— åºè¡Œ --compress-program=ç¨‹åº ä½¿ç”¨æŒ‡å®šç¨‹åºåŽ‹ç¼©ä¸´æ—¶æ–‡ä»¶ï¼›ä½¿ç”¨è¯¥ç¨‹åº çš„-d 傿•°è§£åŽ‹ç¼©æ–‡ä»¶ � -c, --count 在æ¯è¡Œå‰åŠ ä¸Šè¡¨ç¤ºç›¸åº”è¡Œç›®å‡ºçŽ°æ¬¡æ•°çš„å‰ç¼€ç¼–å· -d, --repeated åªè¾“出é‡å¤çš„行 � -c --crown-margin ä¿æŒå‰ä¸¤è¡Œçš„缩进 -p, --prefix=字符串 åªå¯¹ä»¥æŒ‡å®šå­—ç¬¦ä¸²å¼€å¤´çš„è¡Œé‡æ–°æ ¼å¼åŒ–, å°†å‰ç¼€é‡æ–°é™„ç€åˆ°è¢«é‡æ–°æ ¼å¼åŒ–的行上 -s, --split-only 分割过长的行,但ä¸è‡ªåŠ¨è¡¥è¶³ � -c, --no-create ä¸åˆ›å»ºæ–‡ä»¶ � -d, --decode è§£ç æ•°æ® -i, --ignore-garbag è§£ç æ—¶å¿½ç•¥éžå­—æ¯å­—符 -w, --wrap=字符数 在指定的字符数åŽè‡ªåЍæ¢è¡Œ(默认为76),0 为ç¦ç”¨è‡ªåЍæ¢è¡Œ � -d, --delimiters=列表 改用指定列表里的字符替代制表分隔符 -s, --serial ä¸ä½¿ç”¨å¹³è¡Œçš„行目输出模å¼ï¼Œè€Œæ˜¯æ¯ä¸ªæ–‡ä»¶å ç”¨ä¸€è¡Œ � -d, --directory åˆ›å»ºä¸€ä¸ªç›®å½•è€Œéžæ–‡ä»¶ -u, --dry-run ä¸åˆ›å»ºä»»ä½•东西,仅打å°å‡ºå字。(仅供测试) -q, --quiet 䏿˜¾ç¤ºä»»ä½•æœ‰å…³æ–‡ä»¶æˆ–ç›®å½•åˆ›å»ºé”™è¯¯ä¿¡æ¯ � -e å¯ç”¨è§£é‡Šåæ–œæ çš„转义功能 -E ç¦ç”¨è§£é‡Šåæ–œæ çš„转义功能(默认) � -e å¯ç”¨è§£é‡Šåæ–œæ çš„转义功能(默认) -E ç¦ç”¨è§£é‡Šåæ–œæ çš„转义功能 � -e, --echo å°†æ¯ä¸ªå‚数视为输入行 -i, --input-range=LO-HI å°†LO 到HI çš„æ¯ä¸ªæ•°å­—视为输入行 -n, --head-count=行数 最多输出指定的行数 -o, --output=文件 å°†ç»“æžœè¾“å‡ºåˆ°æŒ‡å®šæ–‡ä»¶è€Œéžæ ‡å‡†è¾“出 --random-source=文件 ä»ŽæŒ‡å®šæ–‡ä»¶èŽ·å¾—éšæœºæ¯”特 -z, --zero-terminated 以0 结æŸè¡Œè€Œéžæ–°è¡Œ � -f 在短格å¼ä¸­çœç•¥åˆ—æ æŠ¥å¤´ -w 在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨å -i 在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨å以åŠè¿œç¨‹ä¸»æœº -q 在短格å¼ä¸­çœç•¥ç”¨æˆ·å…¨åã€è¿œç¨‹ä¸»æœºä»¥åŠç©ºé—²æ—¶é—´ � -f å³ -t fFï¼ŒæŒ‡å®šæµ®ç‚¹æ•°å¯¹ç…§è¾“å‡ºæ ¼å¼ -i å³ -t dl,指定åè¿›åˆ¶æ•´æ•°å¯¹ç…§è¾“å‡ºæ ¼å¼ -l å³ -t dL,指定åè¿›åˆ¶é•¿æ•´æ•°å¯¹ç…§è¾“å‡ºæ ¼å¼ -o å³ -t o2,指定åŒå­—节å•ä½å…«è¿›åˆ¶æ•°çš„å¯¹ç…§è¾“å‡ºæ ¼å¼ -s å³ -t d2,指定åŒå­—节å•ä½åè¿›åˆ¶æ•°çš„å¯¹ç…§è¾“å‡ºæ ¼å¼ -x å³ -t x2,指定åŒå­—节å•ä½åå…­è¿›åˆ¶æ•°çš„å¯¹ç…§è¾“å‡ºæ ¼å¼ � -f 文件 指定文件存在且为普通文件 -g 文件 指定文件存在且设置了setgid ä½ -G 文件 指定文件存在且属组ID 有效 -h 文件 指定文件存在且为符å·é“¾æŽ¥ (等价于 -L) -k 文件 æŒ‡å®šæ–‡ä»¶å­˜åœ¨ä¸”è®¾ç½®äº†ç²˜é™„ä½ � -f, --canonicalize 递归跟éšç»™å‡ºæ–‡ä»¶å的所有符å·é“¾æŽ¥ä»¥æ ‡å‡†åŒ–, 除最åŽä¸€ä¸ªå¤–所有组件必须存在 -e, --canonicalize-existing 递归跟éšç»™å‡ºæ–‡ä»¶å的所有符å·é“¾æŽ¥ä»¥æ ‡å‡†åŒ–, 所有组件都必须存在 � -f, --fields=列表 åªé€‰ä¸­æŒ‡å®šçš„è¿™äº›åŸŸï¼›å¹¶æ‰“å°æ‰€æœ‰ä¸åŒ…å«åˆ†ç•Œç¬¦çš„ 行,除éž-s 选项被指定 -n (忽略) � -f, --follow[={name|descriptor}] 峿—¶è¾“出文件å˜åŒ–åŽè¿½åŠ çš„æ•°æ®ã€‚ -f, --follow 等于--follow=descriptor -F å³--follow=name --retry � -f, --force å¿…è¦æ—¶ä¿®æ”¹æƒé™ä»¥ä½¿ç›®æ ‡å¯å†™ -n, --iterations=N 覆盖N 次,而éžä½¿ç”¨é»˜è®¤çš„%d 次 --random-source=文件 从指定文件中å–å‡ºéšæœºå­—节 -s, --size=N 粉碎数æ®ä¸ºæŒ‡å®šå­—节的碎片(å¯ä½¿ç”¨Kã€M å’ŒG 作为å•ä½) � -g 类似-l,但ä¸åˆ—出所有者 � -g GID[,GID1...] 将主组ID 设置为指定的数字GID,如果指定了GID1, åˆ™åŒæ—¶æ·»åŠ è¿™äº›é™„åŠ ç»„ID,... � -h, --header-numbering=æ ·å¼ ä½¿ç”¨æŒ‡å®šæ ·å¼ç¼–å·æ–‡ä»¶çš„页眉行目 -i, --page-increment=数值 设置æ¯ä¸€è¡Œé历åŽçš„自动递增值 -l, --join-blank-lines=数值 设置数值为多少的若干空行被视作一行 -n, --number-format=æ ¼å¼ æ ¹æ®æŒ‡å®šæ ¼å¼æ’å…¥è¡Œå· -p, --no-renumber åœ¨é€»è¾‘é¡µæ•°åˆ‡æ¢æ—¶ä¸å°†è¡Œå·å€¼å¤ä½ -s, --number-separator=字符串 å¯èƒ½çš„è¯åœ¨è¡Œå·åŽæ·»åŠ å­—ç¬¦ä¸² � -h, --header=页眉 在页眉中使用居中的指定字符代替文件å -h "" 输出一个空行,ä¸è¦ä½¿ç”¨ -h"" -i[字符[宽度]], --output-tabs[=字符[宽度]] 使用指定字符(或制表符)代替空格ä¸è¶³åˆ°æŒ‡å®šåˆ¶è¡¨ç¬¦å®½åº¦(默认8) -J, --join-lines åˆå¹¶æ•´ä¸ªè¡Œï¼Œå…³é—­-W 选项的行截断,ä¸ä½¿ç”¨æ è°ƒæ•´ï¼Œä½¿ç”¨ --sep-string[=字符串] 设置分隔符 � -h, --human-numeric-sort 使用易读性数字(例如: 2K 1G) � -h, --no-dereference 会影å“符å·é“¾æŽ¥æœ¬èº«ï¼Œè€Œéžç¬¦å·é“¾æŽ¥æ‰€æŒ‡ç¤ºçš„目的地 (å½“ç³»ç»Ÿæ”¯æŒæ›´æ”¹ç¬¦å·é“¾æŽ¥çš„æ‰€æœ‰è€…æ—¶ï¼Œæ­¤é€‰é¡¹æ‰æœ‰ç”¨) -m åªæ›´æ”¹ä¿®æ”¹æ—¶é—´ � -i, --initial ä¸è½¬æ¢éžç©ºç™½ç¬¦åŽçš„制表符 -t, --tabs=æ•°å­— 设置æ¯ä¸ªåˆ¶è¡¨ç¬¦ä¸ºæŒ‡å®šæ•°å­—çš„å®½åº¦ï¼Œè€Œä¸æ˜¯é»˜è®¤çš„8 � -i, --inodes 显示inode ä¿¡æ¯è€Œéžå—ä½¿ç”¨é‡ -k å³--block-size=1K -l, --local åªæ˜¾ç¤ºæœ¬æœºçš„æ–‡ä»¶ç³»ç»Ÿ --no-sync å–å¾—ä½¿ç”¨é‡æ•°æ®å‰ä¸è¿›è¡ŒåŒæ­¥åŠ¨ä½œ(默认) � -i, --input=MODE 调整标准输入æµç¼“冲区 -o, --output=MODE 调整标准输出æµç¼“冲区 -e, --error=MODE 调整标准错误æµç¼“冲区 � -l 使用较长格å¼åˆ—å‡ºä¿¡æ¯ -L, --dereference 当显示符å·é“¾æŽ¥çš„æ–‡ä»¶ä¿¡æ¯æ—¶ï¼Œæ˜¾ç¤ºç¬¦å·é“¾æŽ¥æ‰€æŒ‡ç¤º 的对象而并éžç¬¦å·é“¾æŽ¥æœ¬èº«çš„ä¿¡æ¯ -m 所有项目以逗å·åˆ†éš”,并填满整行行宽 � -l, --length=页长 使用指定页长的行数(默认66) (默认文本行数为56,当å¯ç”¨-F 时为 63) -m, --merge 在åŒä¸€è¡Œæ˜¾ç¤ºæ‰€æœ‰æ–‡ä»¶ï¼Œæ¯ä¸ªæ–‡ä»¶å ç”¨ä¸€æ ï¼Œåˆ†å‰²è¡Œï¼Œä½†æ˜¯å½“ 使用-J 时将行åˆå¹¶åˆ°å®Œæ•´é•¿åº¦ � -l,--login 显示系统登录进程 � -m, --mode=æ¨¡å¼ è®¾ç½®æƒé™æ¨¡å¼(类似chmod)ï¼Œè€Œä¸æ˜¯rwxrwxrwx å‡umask � -m, --mode=æ¨¡å¼ è®¾ç½®æƒé™æ¨¡å¼(类似chmod)ï¼Œè€Œä¸æ˜¯rwxrwxrwx å‡umask -p, --parents éœ€è¦æ—¶åˆ›å»ºç›®æ ‡ç›®å½•的上层目录,但å³ä½¿è¿™äº›ç›®å½•已存在也ä¸å½“ä½œé”™è¯¯å¤„ç† -v, --verbose æ¯æ¬¡åˆ›å»ºæ–°ç›®å½•éƒ½æ˜¾ç¤ºä¿¡æ¯ -Z, --context=CTX å°†æ¯ä¸ªåˆ›å»ºçš„目录的SELinux 安全环境设置为CTX � -n, --digits=æ•°ä½ ä½¿ç”¨æŒ‡å®šçš„è¿›åˆ¶æ•°ä½ä»£æ›¿äºŒè¿›åˆ¶ -s, --quiet, --silent 䏿˜¾ç¤ºè¾“出文件的尺寸计数 -z, --elide-empty-files 删除空的输出文件 � -n, --lines=K 输出最åŽK 行,代替最åŽ%d 行;使用-n +K 从æ¯ä¸ªæ–‡ä»¶çš„第K 字节输出 --max-unchanged-stats=N 使用--follow=name, 釿–°æ‰“开一个在N(默认为%d) æ¬¡è¿­ä»£åŽæ²¡æœ‰æ”¹å˜å¤§å°çš„æ–‡ä»¶æ¥çœ‹å®ƒæ˜¯å¦è¢«è§£é™¤è¿ž 接或é‡å‘½å(这是循环日志文件的通常情况)。 由于有inotify,这个选项很少使用。 � -n, --no-clobber ä¸è¦è¦†ç›–已存在的文件(使å‰é¢çš„ -i 选项失效) -P, --no-dereference ä¸è·Ÿéšæºæ–‡ä»¶ä¸­çš„符å·é“¾æŽ¥ � -n, --numeric-sort æ ¹æ®å­—符串数值比较 -R, --random-sort æ ¹æ®éšæœºhash æŽ’åº --random-source=文件 ä»ŽæŒ‡å®šæ–‡ä»¶ä¸­èŽ·å¾—éšæœºå­—节 -r, --reverse 逆åºè¾“出排åºç»“æžœ � -n, --numeric-uid-gid 类似 -l,但列出UID åŠGID å· -N, --literal 输出未ç»å¤„ç†çš„项目åç§° (如ä¸ç‰¹åˆ«å¤„ç†æŽ§åˆ¶å­—ç¬¦) -o 类似 -l,但ä¸åˆ—å‡ºæœ‰å…³ç»„çš„ä¿¡æ¯ -p, --indicator-style=slash 对目录加上表示符å·"/" � -n[分隔符[使•°]], --number-lines[=分隔符[使•°]] 显示行å·ï¼Œä½¿ç”¨æŒ‡å®š(默认5) 使•°ï¼ŒåŽæŽ¥åˆ†éš”ç¬¦(默认TAB) 默认从输入文件的第一行开始计数 -N, --first-line-number=æ•°å­— 从首页的首行以指定数字开始计数(å‚看"+首页") � -o, --indent=ç¼©è¿›é‡ å°†æ¯è¡Œç¼©è¿›(默认0)个空格,ä¸å½±å“-w 或-W 傿•°ï¼Œ 缩进亮的值将被加入页é¢å®½åº¦ -r, --no-file-warnings 当文件无法打开时忽略警告 � -o, --io-blocks å°†SIZE 视为IO å—æ•°è€Œä¸ä½¿ç”¨å­—节数 � -o, --output=文件 å°†ç»“æžœå†™å…¥åˆ°æ–‡ä»¶è€Œéžæ ‡å‡†è¾“出 -s, --stable ç¦ç”¨last-resort 比较以稳定比较算法 -S, --buffer-size=å¤§å° æŒ‡å®šä¸»å†…å­˜ç¼“å­˜å¤§å° � -p 等于--preserve=模å¼,所有æƒ,时间戳 --preserve[=属性列表 ä¿æŒæŒ‡å®šçš„属性(默认:模å¼,所有æƒ,时间戳),如果 å¯èƒ½ä¿æŒé™„加属性:环境ã€é“¾æŽ¥ã€xattr ç­‰ � -p DIR 使用 DIR 作为目录åï¼›éšå¼å®žçް -t(已废除) -t 把 TEMPLATE 相对于目录$TMPDIR 作为å•独的文件å (å¦‚æžœè®¾ç½®äº†è¯¥å‚æ•°çš„è¯);此目录也å¯ä»¥é€šè¿‡-p æŒ‡å®šï¼›è¿˜å¯ ä»¥é€šè¿‡/tmp指定[䏿ލè] � -p, --preserve-timestamps ä¿®æ”¹æºæ–‡ä»¶çš„访问/ä¿®æ”¹æ—¶é—´ä»¥ä¸Žç›®æ ‡æ–‡ä»¶ä¿æŒä¸€è‡´ -s, --strip 拆解符å·è¡¨ --strip-program=ç¨‹åº æŒ‡å®šæ‹†è§£äºŒè¿›åˆ¶æ–‡ä»¶çš„ç¨‹åº -S, --suffix=åŽç¼€ 覆盖常用备份文件åŽç¼€ -t, --target-directory=目录 å°†æºæ–‡ä»¶æ‰€æœ‰å‚æ•°å¤åˆ¶åˆ°æŒ‡å®šç›®å½• -T, --no-target-directory 将目标文件视为普通文件 -v, --verbose 创建目录时显示其åç§° � -q, --count 列出所有已登录用户的登录åä¸Žç”¨æˆ·æ•°é‡ -r, --runlevel 显示当å‰çš„è¿è¡Œçº§åˆ« -s, --short åªæ˜¾ç¤ºåç§°ã€çº¿è·¯å’Œæ—¶é—´(默认) � -q, --quiet, --silent 䏿˜¾ç¤ºåŒ…å«ç»™å®šæ–‡ä»¶å的文件头 -v, --verbose 总是显示包å«ç»™å®šæ–‡ä»¶å的文件头 � -r, --reference=文件 显示文件指定文件的最åŽä¿®æ”¹æ—¶é—´ -R, --rfc-2822 以RFC 2822æ ¼å¼è¾“出日期和时间 例如:2006å¹´8月7日,星期一 12:34:56 -0600 � -r, --reference=文件 ä½¿ç”¨æ­¤æ–‡ä»¶çš„å¤§å° -s, --size=å¤§å° ä½¿ç”¨æ­¤å¤§å° � -r, --references 设置æ¯è¡Œçš„第一个区å—为关è”引用 -t, --typeset-mode -- 此功能尚未实现 -- -w, --width=数值 æ¯åˆ—的输出宽度,ä¸è®¡å…³è”引用 � -r, --reverse é€†åºæŽ’åˆ— -R, --recursive 递归显示å­ç›®å½• -s, --size 以嗿•°å½¢å¼æ˜¾ç¤ºæ¯ä¸ªæ–‡ä»¶åˆ†é…的尺寸 � -s, --only-delimited 䏿‰“å°æ²¡æœ‰åŒ…å«åˆ†ç•Œç¬¦çš„行 --output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入 的分界符 � -s, --signal=ä¿¡å·ï¼Œ-ä¿¡å· æŒ‡å®šè¦å‘é€çš„ä¿¡å·å或信å·ä»£ç ã€‚ -l, --list 列出å¯ç”¨çš„ä¿¡å·åç§°ï¼ŒåŒæ—¶æä¾›ä¿¡å·å与信å·ä»£ç çš„对照 -t, --table 显示一个有关信å·å…·ä½“ä¿¡æ¯çš„表格。 � -s, --symbolic-link åªåˆ›å»ºç¬¦å·é“¾æŽ¥è€Œä¸å¤åˆ¶æ–‡ä»¶ -S, --suffix=åŽç¼€ 自行指定备份文件的åŽç¼€ -t, --target-directory=目录 å°†æ‰€æœ‰å‚æ•°æŒ‡å®šçš„æºæ–‡ä»¶/目录 å¤åˆ¶è‡³ç›®æ ‡ç›®å½• -T, --no-target-directory 将目标目录视作普通文件 � -s[CHAR], --separator[=CHAR] ç”±å•个字符分隔å„列,未附加-w 时默认为制表符,å¦åˆ™ä¸ºç©ºã€‚ å¦å¤–除éž-w 选项被指定,å¦åˆ™"-s[CHAR]"会å±è”½ä¸‰ä¸ªåˆ—相关 的截行选项(-COLUMN|-a -COLUMN|-m) � -t 与-vT 等价 -T, --show-tabs 将跳格字符显示为^I -u (被忽略) -v, --show-nonprinting 使用^ å’ŒM- 引用,除了LFDå’Œ TAB 之外 � -t, --field-separator=分隔符 使用指定的分隔符代替éžç©ºæ ¼åˆ°ç©ºæ ¼çš„è½¬æ¢ -T, --temporary-directory=目录 使用指定目录而éž$TMPDIR 或%s 作为 临时目录,å¯ç”¨å¤šä¸ªé€‰é¡¹æŒ‡å®šå¤šä¸ªç›®å½• --parallel=N å°†åŒæ—¶è¿è¡Œçš„æŽ’åºæ•°æ”¹å˜ä¸ºN -u, --unique é…åˆ-c,严格校验排åºï¼›ä¸é…åˆ-c,则åªè¾“出一次排åºç»“æžœ � -t, --tabs=列表 指定制表符ä½ç½®åˆ—表,用逗å·åˆ†éš” � -t, --target-directory=DIRECTORY å°†æ‰€æœ‰å‚æ•°æŒ‡å®šçš„æºæ–‡ä»¶æˆ–ç›®å½• 移动至 指定目录 -T, --no-target-directory å°†ç›®æ ‡æ–‡ä»¶è§†ä½œæ™®é€šæ–‡ä»¶å¤„ç† -u, --update åªåœ¨æºæ–‡ä»¶æ–‡ä»¶æ¯”目标文件新,或目标文件 ä¸å­˜åœ¨æ—¶æ‰è¿›è¡Œç§»åЍ -v, --verbose 详细显示进行的步骤 � -t, --text 以纯文本模å¼è¯»å–(从tty æ ‡å‡†è¾“å…¥è¯»å–æ—¶ä¸ºé»˜è®¤) � -t, --text 以纯文本模å¼è¯»å–(默认) � -u åŒ-lt 一起使用:按照访问时间排åºå¹¶æ˜¾ç¤º åŒ-lä¸€èµ·ä½¿ç”¨ï¼šæ˜¾ç¤ºè®¿é—®æ—¶é—´å¹¶æŒ‰æ–‡ä»¶åæŽ’åº å…¶ä»–ï¼šæŒ‰ç…§è®¿é—®æ—¶é—´æŽ’åº -U ä¸è¿›è¡ŒæŽ’åºï¼›æŒ‰ç…§ç›®å½•顺åºåˆ—出项目 -v 在文本中进行数字(版本)çš„è‡ªç„¶æŽ’åº � -u, --remove è¦†ç›–åŽæˆªæ–­å¹¶åˆ é™¤æ–‡ä»¶ -v, --verbose æ˜¾ç¤ºè¯¦ç»†ä¿¡æ¯ -x, --exact ä¸å°†æ–‡ä»¶å¤§å°å¢žåŠ è‡³æœ€æŽ¥è¿‘çš„å—å¤§å° -z, --zero 最åŽä¸€æ¬¡ä½¿ç”¨0 进行覆盖以éšè—覆盖动作 � -u, --update åªåœ¨æºæ–‡ä»¶æ¯”目标文件新,或目标文件 ä¸å­˜åœ¨æ—¶æ‰è¿›è¡Œå¤åˆ¶ -v, --verbose 显示详细的进行步骤 -x, --one-file-system ä¸è·¨è¶Šæ–‡ä»¶ç³»ç»Ÿè¿›è¡Œæ“作 � -v æ–‡ä»¶ç¼–å· ç±»ä¼¼ -a 文件编å·ï¼Œä½†ç¦æ­¢ç»„åˆè¾“出行 -1 域 在文件1 çš„æ­¤åŸŸç»„åˆ -2 域 在文件2 çš„æ­¤åŸŸç»„åˆ --check-order æ£€æŸ¥è¾“å…¥è¡Œæ˜¯å¦æ­£ç¡®æŽ’åºï¼Œå³ä½¿æ‰€æœ‰è¾“å…¥è¡Œå‡æ˜¯æˆå¯¹çš„ --nocheck-order 䏿£€æŸ¥è¾“å…¥æ˜¯å¦æ­£ç¡®æŽ’åº --header 将首行视作域的头部,直接输出而ä¸å¯¹å…¶è¿›è¡ŒåŒ¹é… � -v, --kernel-version 输出内核版本 -m, --machine 输出主机的硬件架构åç§° -p, --processor 输出处ç†å™¨ç±»åž‹æˆ–"unknown" -i, --hardware-platform è¾“å‡ºç¡¬ä»¶å¹³å°æˆ–"unknown" -o, --operating-system 输出æ“作系统åç§° � -v, --starting-line-number=æ•°å­— æ¯ä¸ªé€»è¾‘é¡µä¸Šçš„ç¬¬ä¸€è¡Œçš„è¡Œå· -w, --number-width=æ•°å­— 为行å·ä½¿ç”¨æŒ‡å®šçš„æ æ•° � -w, --check-chars=N 对æ¯è¡Œç¬¬N 个字符以åŽçš„内容ä¸ä½œå¯¹ç…§ � -w, --width=COLS 自行指定è¤å¹•宽度而ä¸ä½¿ç”¨ç›®å‰çš„æ•°å€¼ -x é€è¡Œåˆ—å‡ºé¡¹ç›®è€Œä¸æ˜¯é€æ åˆ—出 -X æ ¹æ®æ‰©å±•åæŽ’åº -1 æ¯è¡Œåªåˆ—出一个文件 � -z, --zero-terminated 以0 å­—èŠ‚è€Œéžæ–°è¡Œä½œä¸ºè¡Œå°¾æ ‡å¿— � 文件:"%n" ID:%-8i 文件å长度:%-7l 类型:%T å—大å°ï¼š%-10s 基本å—大å°ï¼š%S å—:总计:%-10b 空闲:%-10f å¯ç”¨ï¼š%a Inodes: 总计:%-10c 空闲:%d � 文件:%N 大å°ï¼š%-10s å—:%-10b IO å—:%-6o %F � 处于ä¸å¯ä¸­æ–­ç¡çœ çжæ€çš„程åºåŒæ ·å½±å“系统平å‡è´Ÿè½½ã€‚ � [:graph:] æ‰€æœ‰çš„å¯æ‰“å°å­—符,ä¸åŒ…括空格 [:lower:] 所有的å°å†™å­—æ¯ [:print:] æ‰€æœ‰çš„å¯æ‰“å°å­—符,包括空格 [:punct:] 所有的标点字符 [:space:] 所有呈水平或垂直排列的空白字符 [:upper:] æ‰€æœ‰çš„å¤§å†™å­—æ¯ [:xdigit:] 所有的å六进制数 [=字符=] 所有和指定字符相等的字符 � \0NNN 字节数以八进制数 NNN (1至3ä½)表示 \xHH 字节数以å六进制数 HH (1至2ä½)表示 � \NNN 字节以八进制数 NNN(1至3使•°)表示 \xHH 字节以å六进制数 HH(1至2使•°)表示 \uHHHH Unicode(ISO/IEC 10646)字符以å六进制数 HHHH(4使•°)表示 \UHHHHHHHH Unicode 字符以å六进制数 HHHHHHHH(8使•°)表示 � \\ åæ–œæ  \a å“铃声 \b 退格 \c ä¸å†äº§ç”Ÿæ–°çš„输出 \e 转义符 \f æ¢é¡µ \n 新行 \r 回车 \t 水平制表符 \v 竖直制表符 � \v 垂直制表符 字符1-字符2 从字符1 到字符2 çš„å‡åºé€’增过程中ç»åŽ†çš„æ‰€æœ‰å­—ç¬¦ [字符*] 在SET2 中适用,指定字符会被连续å¤åˆ¶ç›´åˆ°å»åˆè®¾ç½®1 的长度 [字符*次数] 对字符执行指定次数的å¤åˆ¶ï¼Œè‹¥æ¬¡æ•°ä»¥ 0 开头则被视为八进制数 [:alnum:] 所有的字æ¯å’Œæ•°å­— [:alpha:] æ‰€æœ‰çš„å­—æ¯ [:blank:] 所有呈水平排列的空白字符 [:cntrl:] 所有的控制字符 [:digit:] 所有的数字 � binary 使用二进制I/O å­˜å–æ¨¡å¼ � cio 使用并行I/O å­˜å–æ¨¡å¼ � d[尺寸] 有符å·å进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节 f[尺寸] 浮点数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节 o[尺寸] 八进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节 u[尺寸] 无符å·å进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节 x[尺寸] å六进制数,æ¯ä¸ªæ•´å½¢æ•°å æŒ‡å®šå°ºå¯¸çš„字节 � direct 使用直接I/O å­˜å–æ¨¡å¼ � directory é™¤éžæ˜¯ç›®å½•,å¦åˆ™ directory 失败 � dsync ä½¿ç”¨åŒæ­¥I/O å­˜å–æ¨¡å¼ � excl fail if the output file already exists nocreat do not create the output file notrunc 䏿ˆªæ–­è¾“出文件 noerror è¯»å–æ•°æ®å‘生错误åŽä»ç„¶ç»§ç»­ fdatasync 结æŸå‰å°†è¾“出文件数æ®å†™å…¥ç£ç›˜ fsync 类似上é¢ï¼Œä½†æ˜¯å…ƒæ•°æ®ä¹Ÿä¸€åŒå†™å…¥ � fullblock 为输入积累完整å—(ä»…iflag) � noatime 䏿›´æ–°å­˜å–æ—¶é—´ � nocache ä¸¢å¼ƒç¼“å­˜æ•°æ® � noctty 䏿 ¹æ®æ–‡ä»¶æŒ‡æ´¾æŽ§åˆ¶ç»ˆç«¯ � nofollow ä¸è·Ÿéšé“¾æŽ¥æ–‡ä»¶ � nolinks 如果有多é‡é“¾æŽ¥ï¼Œåˆ™nolinks 失败 � nonblock 使用无阻塞I/O å­˜å–æ¨¡å¼ � none, off ä¸è¿›è¡Œå¤‡ä»½(å³ä½¿ä½¿ç”¨äº†--backup 选项) numbered, t å¤‡ä»½æ–‡ä»¶åŠ ä¸Šæ•°å­—è¿›è¡ŒæŽ’åº existing, nil 若有数字的备份文件已ç»å­˜åœ¨åˆ™ä½¿ç”¨æ•°å­—,å¦åˆ™ä½¿ç”¨æ™®é€šæ–¹å¼å¤‡ä»½ simple, never 永远使用普通方å¼å¤‡ä»½ � sync ä¸Žä¸Šè€…ç±»ä¼¼ï¼Œä½†åŒæ—¶ä¹Ÿå¯¹å…ƒæ•°æ®ç”Ÿæ•ˆ � text 使用文本I/O å­˜å–æ¨¡å¼ � %H:%M � (备份:%s)� * [-]iuclc 将大写字æ¯è½¬æ¢ä¸ºå°å†™ * [-]ixany 使得任何字符都会é‡å¯è¾“出,ä¸ä»…仅是起始字符 [-]ixoff å¯ç”¨å¼€å§‹/åœæ­¢å­—ç¬¦ä¼ é€ [-]ixon å¯ç”¨XON/XOFF æµæŽ§åˆ¶ [-]parmrk æ ‡è®°å¥‡å¶æ ¡éªŒé”™è¯¯ (结åˆ255-0 字符åºåˆ—) [-]tandem 等于[-]ixoff � * [-]iutf8 å‡å®šè¾“入字符都是UTF-8 ç¼–ç  � * [-]ocrnl 将回车转æ¢ä¸ºæ¢è¡Œç¬¦ * [-]ofdel 使用删除字符代替空字符作填充 * [-]ofill å»¶è¿Ÿæ—¶ä½¿ç”¨å­—ç¬¦å¡«å……ä»£æ›¿å®šæ—¶å™¨åŒæ­¥ * [-]olcuc 转æ¢å°å†™å­—æ¯ä¸ºå¤§å†™ * [-]onlcr å°†æ¢è¡Œç¬¦è½¬æ¢ä¸ºå›žè½¦ * [-]onlret 使得æ¢è¡Œç¬¦çš„è¡Œä¸ºè¡¨çŽ°å’Œå›žè½¦ç›¸åŒ � * [-]onocr ä¸åœ¨ç¬¬ä¸€åˆ—输出回车 [-]opost åŽç»­è¿›ç¨‹è¾“出 * tabN 水平制表符延迟的风格,N 的值为0 至3 * tabs 等于tab0 * -tabs 等于tab3 * vtN 垂直制表符延迟的风格,N 的值为0 至1 � * eol2 字符 为表示行尾而å‘é€çš„å¦ä¸€ä¸ªå¯é€‰å­—符 erase 字符 擦除å‰ä¸€ä¸ªè¾“入文字的字符 intr 字符 用于å‘é€ä¸­æ–­ä¿¡å·çš„字符 kill 字符 用于擦除当å‰ç»ˆç«¯è¡Œçš„字符 � * lnext 字符 用于输入下一个引用文字的字符 quit 字符 用于å‘é€é€€å‡ºä¿¡å·çš„字符 * rprnt 字符 用于é‡ç»˜å½“å‰è¡Œçš„字符 start 字符 åœ¨åœæ­¢åŽé‡æ–°å¼€å¯è¾“出的字符 � * rows N å‘内核通告此终端有N 行 * size æ ¹æ®å†…核信æ¯è¾“出当å‰ç»ˆç«¯çš„行数和列数 speed 输出终端速度(å•ä½ä¸ºæ³¢ç‰¹) time N å’Œ-icanon é…åˆä½¿ç”¨ï¼Œè®¾ç½®è¯»å–超时为N 个å分之一秒 � ??:???? � TTY� 环境=%s� 组=� æ—§çš„ � 在循环ä½%s �内存使用率% 1%,b 1ã€K 1024 (默认),Mã€Gã€Tã€Pã€Eã€Zã€Y ç­‰ä¾æ­¤ç±»æŽ¨ã€‚ å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为"-"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚ *** 警告 *** 本地环境å˜é‡ä¼šå½±å“排åºç»“果。 如果希望以字节的自然值获得最传统的排åºç»“果,请设置LC_ALL=C。 �%.*s:无效的转æ¢å£°æ˜Ž�%b %e %Y�%b %e %H:%M�%lu 个用户�%s (æ­£åˆ™è¡¨è¾¾å¼ %s)�%s -> %s (还原备份) �%s [-d] 䏿­£å¸¸ç»“æŸ�%s 与%s 为åŒä¸€æ–‡ä»¶�%s 存在但并éžç›®å½•�%s å·²è¢«å»ºç«‹ï¼Œæ­£åœ¨è·Ÿéšæ–°æ–‡ä»¶çš„æœ«å°¾�%s å·²ç»å¯ä»¥è®¿é—®�%s å·²ä¸å¯è®¿é—®�%s 已被替æ¢ä¸ºä¸€ä¸ªè¿œç¨‹æ–‡ä»¶ï¼Œæ”¾å¼ƒè·Ÿè¸ª�%s 已被替æ¢ä¸ºtail 无法处ç†çš„æ–‡ä»¶ï¼Œæ”¾å¼ƒè·Ÿè¸ª�%s 已被替æ¢ï¼Œæ­£åœ¨è·Ÿéšæ–°æ–‡ä»¶çš„æœ«å°¾�%s 的文件类型ä¸è¯¦�%s 的文件大å°ä¸ºè´Ÿæ•°ï¼Œæ— æ³•使用�%s 的主页:<%s> �%s 项目主页:<http://www.gnu.org/software/%s/> �%s 䏿˜¯æœ‰æ•ˆçš„æ­£æ•´æ•°�%s 太大�%s åªèƒ½ç”¨äºŽå¯ç”¨äº†SELinux 支æŒçš„内核�已指定%s 但未指定%s�%s:%s 过大以至于无法表示�%s:%s:行数超出范围�%s:%s:无匹é…�%s:%s:%s:无åºï¼š �%s:打开或读å–失败 �%s: 预期为åŒç›®è¿ç®—符�%s:åªèƒ½äºŽå½“å‰ç›®å½•中创建相对的符å·é“¾æŽ¥�%s:无法更改éžé˜»å¡žæ¨¡å¼�%s:无法确定文件大å°�%s:无法找到用户ID 为%lu 的用户å �%sï¼šæ— æ³•è·Ÿéšæ­¤ç±»åž‹æ–‡ä»¶çš„æœ«å°¾ï¼Œå·²æ”¾å¼ƒ�%s:lseek 无法回溯到åˆå§‹ä½ç½®�%s:无法覆盖目录�%s:无法å绕æ“作�%s:无法æœç´¢�%s:无法检索相对åç§»é‡çš„æœ«å°¾ %s�%s:无法检索到åç§»é‡%s�%s:无法检索相对åç§»é‡ %s�%s:ä¸èƒ½å¯¹åªå¯è¿½åŠ æ•°æ®çš„æ–‡ä»¶æè¿°ç¬¦(file descriptor) 进行粉碎�%s:无法跳过�%s:无法跳至指定åç§»é‡�%s:无法é‡ç½®éžé˜»å¡žæ¨¡å¼�%s:是å¦è¿›å…¥ç›®å½•%s? �%s:是å¦è¿›å…¥æœ‰å†™ä¿æŠ¤çš„目录%s ?�%s:文件结æŸ�%s:åŒç±»æ“作数必须是å•个字符�%s:截断文件时出错�%s:在ä½ç½®%s 写入时出现错误�%s:需è¦ä¸€ä¸ªæ•°å€¼�%s:无法关闭�%s:无法获得 extent ä¿¡æ¯�%sï¼šæ— æ³•ä»¥å†™æ¨¡å¼æ‰“å¼€�%s:删除失败�%s:文件控制æ“作失败(fcntl)�%s:fadatsync 失败�%s:文件的大å°ä¸ºè´Ÿæ•°�%s:文件被过度收缩�%s:文件过大�%s:文件太大�%s:文件已截断�%sï¼šèŽ·å–æ–‡ä»¶çжæ€å¤±è´¥(fstat)�%s:fsync 失败�%s: ä¸å…许将硬链接指å‘目录�%sï¼šè¾“å…¥å†…å®¹ä¸­å«æœ‰å¾ªçŽ¯æ®µè½ï¼š�%s:输入内容的行数为奇数�%s:输入文件是输出文件�%s:分界符åŽåº”è¯¥è·Ÿéšæ•´æ•°�%s:无效的IO å—大å°�%s:无效的进程å·�%sï¼šæ— æ•ˆå—æ•°�%s:在%s 处的计数无效�%s:无效指令�%s:无效的区å—è§„æ ¼%s�%sï¼šæ–‡ä»¶å¤§å°æ— æ•ˆ�%s:无效的文件类型�%s:两次打开的间隔因过大而无效�%s:无效数字�%s:无效的字节数�%sï¼šæ— æ•ˆçš„å—æ•°�%s:无效的行数�%s:覆盖次数无效�%s:无效的秒数�%s:无效的忽略数�%s:无效选项 -- %c �%s:无效的模å¼�%s:无效的进程å·�%s:无效的正则表达å¼ï¼š%s�%s:无效的信å·�%s:文件类型无效�%s:行å·å¿…须大于0�%s:行数超出范围�%s:lseek 失败�%sï¼šåŒæ—¶æŒ‡å®šäº†å¤šä¸ªä¿¡å·�%s:新的æƒé™ä¸º%s,而éž%s�%s:找ä¸åˆ°æ ¼å¼é€‚用的%s 校验和�%s:此设备没有大å°ä¿¡æ¯�%s:ä¸ä¼šå†åˆ—出已ç»åˆ—出的目录�%s:字节数过大�%s:选项"%c%s"ä¸å…è®¸å¸¦å‚æ•° �%s:选项"--%s"ä¸å…è®¸å¸¦å‚æ•° �%s:选项"--%s"å¿…éœ€å¸¦å‚æ•° �%s:选项"-W %s"ä¸å…è®¸å¸¦å‚æ•° �%s:选项"-W %s"歧义 �%s:选项"-W %s"å¿…éœ€å¸¦å‚æ•° �%sï¼šé€‰é¡¹å¿…éœ€å¸¦å‚æ•° -- "%c" �%s:是å¦è¦†ç›–%s? �%s:第%lu 次,共%lu 次 (%s)...�%s:第%lu 次,共%lu 次 (%s)...%s�%s:第%lu 次,共%lu 次 (%s)...%s/%s %d%%�%s:读å–出错�%s:是å¦åˆ é™¤%s %s?�%sï¼šé€’å½’åˆ é™¤æ‰€æœ‰å‚æ•°ï¼Ÿ�%sï¼šåˆ é™¤æ‰€æœ‰å‚æ•°ï¼Ÿ�%s:是å¦åˆ é™¤æœ‰å†™ä¿æŠ¤çš„%s %s?�%s:已删除�%s:正在删除�%s:å称已更改为 %s�%sï¼šæ˜¯å¦æ›¿æ¢%s? �%s:检索失败�%s:校验和的行数过多�%s:是å¦è¦†ç›–%s,而ä¸ç†ä¼šæƒé™æ¨¡å¼%04lo (%s)? �%s:ä¸èƒ½ç¡®å®šæœ€å¤§æ–‡ä»¶å长度�%s:无法执行所有请求的æ“作�%s: 预期为å•ç›®è¿ç®—符�%s:无法识别的选项"%c%s" �%s:无法识别的选项"--%s" �%s:给定值ä¸èƒ½å®Œå…¨è½¬æ¢�%s:写入出错�%s:写入失败�%s:%luï¼šæ­¤è¡Œæ— æ•ˆï¼›ç¼ºå°‘äº†ç¬¬äºŒæ æ•°æ®�%s:%lu:无效的 0 长度文件å�%s:%lu:无法识别的关键字%s�"�预期为')'�预期为 ')',实际为%s�(C)�* 文件系统是存放于缓存ä½ç½®ï¼Œæ¯”如NFS 第三版用户端 * 压缩文件系统 �* æœ‰çºªå½•ç»“æž„æˆ–æ˜¯æ—¥å¿—å¼æ–‡ä»¶ç³»ç»Ÿï¼Œå¦‚AIX åŠSolaris 使用的文件系统 (ä»¥åŠ JFSã€ReiserFSã€XFSã€Ext3 ç­‰) * 会é‡å¤å†™å…¥æ•°æ®ï¼ŒåŠå³ä½¿ä¸€éƒ¨ä»½å†™å…¥åŠ¨ä½œå¤±è´¥åŽä»å¯ç»§ç»­çš„æ–‡ä»¶ç³»ç»Ÿï¼Œå¦‚使用 RAID 的文件系统 * ä¼šä¸æ—¶è¿›è¡Œå¿«ç…§è®°å½•的文件系统,åƒNetwork Applicance çš„NFS æœåС噍 �,平å‡è´Ÿè½½ï¼š%.2f�,%g 秒,%s/ç§’ �--%s 傿•°%s 太长�--context (-Z) 选项åªèƒ½åœ¨å¼€å¯SELinux 支æŒçš„内核上使用�--reflink åªèƒ½ä¸Ž--sparse=auto 一起用�-R --dereference 需è¦-H 或-L 其中之一�-R -h 需è¦-P�-ef ä¸èƒ½ä¸Ž-l åŒæ—¶ä½¿ç”¨�-nt ä¸èƒ½ä¸Ž-l åŒæ—¶ä½¿ç”¨�-ot ä¸èƒ½äºŽ-l åŒæ—¶ä½¿ç”¨�<内部数æ®>�??? �?????�已中止�最近访问:%x 最近更改:%y 最近改动:%z 创建时间:%w �æƒé™ï¼š(%04a/%10.10A) Uid:(%5u/%8U) Gid:(%5g/%8G) �主机å的地å€å®¶æ—ä¸è¢«æ”¯æŒ�时钟警告�全部请求已完æˆ�傿•°ç¼“冲区太å°�Arnold Robbins�å¯ç”¨�å¯ç”¨�错误的系统调用�错误的ai_flags 值�Brian Fox�管é“中断�总线错误�警告:请注æ„使用shred 时有一个很é‡è¦çš„æ¡ä»¶ï¼š 文件系统会在原æ¥çš„ä½ç½®è¦†ç›–指定的数æ®ã€‚ä¼ ç»Ÿçš„æ–‡ä»¶ç³»ç»Ÿç¬¦åˆæ­¤æ¡ä»¶ï¼Œä½†è®¸å¤šçް代 的文件系统都ä¸ç¬¦åˆæ¡ä»¶ã€‚以下是会令shred æ— æ•ˆæˆ–ä¸æ‹…ä¿ä¸€å®šæœ‰æ•ˆçš„æ–‡ä»¶ç³»ç»Ÿçš„ 例å­ï¼š �备注�CPU æ—¶é—´è¶…æ—¶�调用 link 函数创建从既存的文件1 到文件2 的链接。 �调用 unlink 函数删除指定的文件。 �é…é¢�Chet Ramey�å­è¿›ç¨‹å·²é€€å‡º�Colin Plumb�é€è¡Œæ¯”较已排åºçš„æ–‡ä»¶æ–‡ä»¶1 和文件2。 �å°†[文件]或标准输入组åˆè¾“出到标准输出。 -A, --show-all 等于-vET -b, --number-nonblank 对éžç©ºè¾“å‡ºè¡Œç¼–å· -e 等于-vE -E, --show-ends 在æ¯è¡Œç»“æŸå¤„显示"$" -n, --number å¯¹è¾“å‡ºçš„æ‰€æœ‰è¡Œç¼–å· -s, --squeeze-blank ä¸è¾“出多行空行 �环境:%C �已继续�将标准输入å¤åˆ¶åˆ°æ¯ä¸ªæŒ‡å®šæ–‡ä»¶ï¼Œå¹¶æ˜¾ç¤ºåˆ°æ ‡å‡†è¾“出。 -a, --append 内容追加到给定的文件而éžè¦†ç›– -i, --ignore-interrupts å¿½ç•¥ä¸­æ–­ä¿¡å· �David M. Ihnat�David MacKenzie�David Madore�设备:%Dh/%dd Inode:%-10i 硬链接:%-5h 设备类型:%t,%T �设备:%Dh/%dd Inode:%-10i 硬链接:%h �判断无效或未移æ¤çš„æ–‡ä»¶å。 -p 为类POSIX 兼容系统检查 -P 检查空文件åå’Œå‰å¯¼"-"文件å --portability 为完整POSIX 兼容系统检查(等于-p -P) �主目录: �Dmitry V. Levin�使用指定的用户(æ•°å­—ID 或者用户å) 替代原有用户ID 和组ID è¿è¡Œè¿žåŒå‚数的指定命令 如果无法指定请求的用户和组ID 则以状æ€å·111 退出,å¦åˆ™ä»¥æ‰€æ‰§è¡Œå‘½ä»¤çš„终止状æ€å·é€€å‡ºã€‚ 此程åºé€šå¸¸ä»…在使用root è¿è¡Œæ—¶æœ‰ç”¨ (root 的用户ID 为0)。 �æ•获EMT ä¿¡å·�退出�æ¯ç§å‚æ•°æ ¼å¼è¡¨ç¤ºèŒƒå›´å¦‚下: N 从第1 个开始数的第N 个字节ã€å­—符或域 N- 从第N 个开始到所在行结æŸçš„æ‰€æœ‰å­—符ã€å­—节或域 N-M 从第N 个开始到第M 个之间(包括第M 个)的所有字符ã€å­—节或域 -M 从第1 个开始到第M 个之间(包括第M 个)的所有字符ã€å­—节或域 å½“æ²¡æœ‰æ–‡ä»¶å‚æ•°ï¼Œæˆ–者文件ä¸å­˜åœ¨æ—¶ï¼Œä»Žæ ‡å‡†è¾“å…¥è¯»å– �å°† STRING 回显到标准输出。 -n ä¸å°¾éšæ¢è¡Œç¬¦ �Eric Blake�以表示失败的状æ€å€¼é€€å‡º�以表示æˆåŠŸçš„çŠ¶æ€å€¼é€€å‡º�退出状æ€å€¼å–决于表达å¼ã€‚ �F. Pinard�失败�FIXME:未知�先进先出(FIFO)文件ä¸éœ€è¦æŒ‡å®šä¸»ã€æ¬¡è®¾å¤‡å·ã€‚�文件大å°è¶…过é™åˆ¶�文件系统�浮点数异常�è¦èŽ·å–完整文档,请è¿è¡Œï¼šinfo coreutils '%s invocation' �强迫将已更改的数æ®å†™å…¥ç£ç›˜ï¼Œå¹¶æ›´æ–°è¶…级å—。 �GNU 软件一般性帮助:<http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�挂起�å¯èƒ½éœ€è¦I/O�空闲�å¯ç”¨(I)�已用(I)%�已用(I)�Ian Lance Taylor�空闲�如果文件没有指定,则使用%s,%s 是通用的相关文件。 �éžæ³•æ“作�å¦å¤–,文件系统备份和远程镜åƒå¯èƒ½ä¼š 包å«ä¸èƒ½è¢«åˆ é™¤çš„æ–‡ä»¶å‰¯æœ¬ï¼Œè¿™å°†ä¼š å…许碎片文件被æ¢å¤ã€‚ �实å: �在Ext3 文件系统中,以上å…责声明仅适用于å¯ç”¨äº†data=journal 模å¼çš„æƒ…况, æ­¤æ—¶æ–‡ä»¶æ—¥å¿—è®°å½•äº†é™„åŠ çš„å…ƒæ•°æ® shred 的作用将å—到影å“。在data=ordered(默认) 或data=writeback 模å¼ä¸‹shred ä»ç„¶æœ‰æ•ˆã€‚ Ext3 日志模å¼å¯é€šè¿‡å‘/etc/fstab 的挂载选项中添加data=something 进行设置, 您å¯ä»¥æŸ¥çœ‹mount çš„man 页é¢ä»¥èŽ·å¾—è¯¦ç»†ä¿¡æ¯ã€‚ �æ— ç©·é‡ B�ä¿¡æ¯è¯·æ±‚�Inode�中断�被信å·ä¸­æ–­�无效的åŽå‘引用�无效的字符类型å�无效的校勘字符�\{\} 中内容无效�无效的å‰ç½®æ­£åˆ™è¡¨è¾¾å¼�无效的范围结æŸç¬¦�无效的正则表达å¼�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�å·²æ€æ­»�线路�登录�登录�登录å: �Mark Kettenis�Matthew Bradburn�内存分é…失败�内存耗尽�Michael Meskes�Michael Ston�Mike Haertel�Mike Parker�挂载点�åç§°�åå­—�å称或æœåŠ¡æœªçŸ¥�没有与主机åå…³è”的地å€�无匹é…�缺少之å‰çš„æ­£åˆ™è¡¨è¾¾å¼�åç§°è§£æžæ—¶å‡ºçްä¸å¯æ¢å¤çš„错误�确定�当进行ä¸å«ç¼©å‡çš„删除æ“作时åªèƒ½ç»™å®šä¸€ç»„字符串。�排åºé€‰é¡¹ï¼š �其他选项: �输出用æ¥è®¾ç½® LS_COLORS 环境å˜é‡çš„命令。 指定输出的规格: -b, --sh, --bourne-shell 输出设置LS_COLORS çš„Bourne shell 命令 -c, --csh, --c-shell 输出设置LS_COLORS çš„C shell 命令 -p, --print-database 输出默认的色彩设置 �为Shell 脚本格å¼è¾“出基于æ“作平å°çš„é™åˆ¶å‚数。 �æ ¹æ®æ–‡ä»¶åˆ¤æ–­è¾“å‡ºå½“å‰æœ‰è°æ­£ç™»å½•在系统上。 如果文件未予指定,则使用%s,%s 是通用的相关文件。 �进程å·�ç”±%s 打包 �ç”±%s (%s)打包 �Padraig Brady�傿•°å­—符串编ç ä¸æ­£ç¡®�Paul Eggert�Paul Rubin�Pete TerMaat�计划: �电æºé”™è¯¯�正则表达å¼å¼‚常结æŸ�æŒ‰ç…§æŒ‡å®šæ ¼å¼æ‰“å°å‚æ•°æˆ–æŒ‰ç…§é€‰é¡¹æ‰§è¡Œè¯¥å‚æ•°ï¼š �输出æ¯ä¸ªæ–‡ä»¶çš„ CRC 校验值和字节统计。 �输出一组系统信æ¯ã€‚如果ä¸è·Ÿéšé€‰é¡¹ï¼Œåˆ™è§†ä¸ºåªé™„加-s 选项。 -a, --all 以如下次åºè¾“出所有信æ¯ã€‚其中若-p å’Œ -i 的探测结果ä¸å¯çŸ¥åˆ™è¢«çœç•¥ï¼š -s, --kernel-name 输出内核åç§° -n, --nodename 输出网络节点上的主机å -r, --kernel-release 输出内核å‘è¡Œå· �为æ¯ä¸ªæŒ‡å®šçš„æ–‡ä»¶è¾“出校验和以åŠå—计数。 -r 使用BSD 加和算法,以1 KB ä¸ºä¸€ä¸ªå— -s, --sysv 使用System V 加和算法,以51åŒå­—èŠ‚ä¸ºä¸€ä¸ªå— �显示æ¯ä¸ªè¾“å…¥çš„ç”¨æˆ·åæ‰€åœ¨çš„全部组,如果没有指定用户å则默认为当å‰è¿›ç¨‹ç”¨æˆ·(当用户组数æ®åº“å‘ç”Ÿå˜æ›´æ—¶å¯èƒ½å¯¼è‡´å·®å¼‚)。 �显示当å‰å·²ç™»å½•的用户信æ¯ã€‚ �输出机器的体系结构。 �è¾“å‡ºå½“å‰æ—¶é—´ï¼Œç³»ç»Ÿå¯åŠ¨æ—¶é—´ï¼Œå½“å‰ç™»å½•ç”¨æˆ·æ•°ä»¥åŠæœ€è¿‘1ã€5 å’Œ15 分钟系统è¿è¡Œ 队列中的平å‡ä»»åŠ¡æ•°ã€‚�æ˜¾ç¤ºå‡ºè¿žæŽ¥åˆ°å½“å‰æ ‡å‡†è¾“入的终端设备文件å。 -s, --silent, --quiet ä»€ä¹ˆä¹Ÿä¸æ˜¾ç¤ºï¼Œåªè¿”回退出状æ€å€¼ �输出当å‰å·¥ä½œç›®å½•的完整å称。 �显示当å‰ç”¨æˆ·çš„å称。 �打å°å½“å‰è¿›ç¨‹å¯ç”¨çš„处ç†å™¨æ•°ï¼Œ 此数目å¯èƒ½å°äºŽå®žé™…工作数 �输出æ¯ä¸ªæŒ‡å®šçš„æ•°å­—的素因å­ï¼Œå¦‚果没有在命令行中指定则从标准输入读å–。 �显示与当å‰çš„æœ‰æ•ˆç”¨æˆ·ID 相关è”的用户å。 与id -un 相åŒã€‚ �显示指定用户或当å‰ç”¨æˆ·(当未指定用户时)的用户与组信æ¯ã€‚ -a 忽略,仅为与其他版本相兼容而设计 -Z, --context 仅显示当å‰ç”¨æˆ·çš„安全环境 -g, --group 仅显示有效的用户组ID -G, --groups 显示所有组的ID -n, --name 显示组åç§°è€Œéžæ•°å­—,ä¸ä¸Ž-ugG 一起使用 -r, --real 显示真实ID è€Œéžæœ‰æ•ˆID,与-ugG 一起使用 -u, --user 仅显示有效用户ID �输出符å·é“¾æŽ¥å€¼æˆ–æƒå¨æ–‡ä»¶å。 �正在处ç†è¯·æ±‚�定时器æè¿°å·²è¿‡æœŸ�项目: �Q. Frank Xia�退出�Randy Smith�实时信å·%d�正则表达å¼è¿‡é•¿�删除指定的空目录。 --ignore-fail-on-non-empty 忽略仅由目录éžç©ºäº§ç”Ÿçš„æ‰€æœ‰é”™è¯¯ �è¯·å‘ %2$s 报告 %1$s 的错误 �请å‘<http://translationproject.org/team/zh_CN.html> 报告%s 的翻译错误 �è¯·æ±‚å·²å–æ¶ˆ�è¯·æ±‚æœªå–æ¶ˆ�资æºä¸¢å¤±�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�以指定的新根为è¿è¡ŒæŒ‡å®šå‘½ä»¤æ—¶çš„的根目录。 �忽略挂起信å·è¿è¡ŒæŒ‡å®šçš„命令。 �Russell Coker�Scott Bartram�Scott Miller�段错误�ai_socktype 䏿”¯æŒ Servname�请设置LC_ALL='C' 以é¿å…出现问题。�Shell: �Simon Josefsson�容é‡�创建å—è®¾å¤‡æ–‡ä»¶æ—¶ï¼Œå¿…éœ€æŒ‡å®šä¸»ã€æ¬¡è®¾å¤‡å·ã€‚�栈错误�å·²åœæ­¢�å·²åœæ­¢(ä¿¡å·)�å·²åœæ­¢(tty 输入)�å·²åœæ­¢(tty 输出)�Stuart Kemp�æˆåŠŸ�系统错误�æ—¶é—´�åç§°è§£æžå‡ºçŽ°ä¸´æ—¶é”™è¯¯�已终止�è¦æ¯”较的字符串为%s å’Œ%s。�Torbjorn Granlund�跟踪/断点陷阱�æœ«å°¾çš„åæ–œæ �从标准输入中替æ¢ã€ç¼©å‡å’Œ/或删除字符,并将结果写到标准输出。 -c, -C, --complement 首先补足SET1 -d, --delete 删除匹é…SET1 的内容,并ä¸ä½œæ›¿æ¢ -s, --squeeze-repeats 如果匹é…于SET1 的字符在输入åºåˆ—中存在连续的 é‡å¤ï¼Œåœ¨æ›¿æ¢æ—¶ä¼šè¢«ç»Ÿä¸€ç¼©ä¸ºä¸€ä¸ªå­—符的长度 -t, --truncate-set1 先将SET1 的长度截为和SET2 相等 �å½“åŒæ—¶é‡å¤åˆ é™¤å’Œç¼©å‡æ—¶å¿…须给出两组字符串。�å½“è¿›è¡Œæ›¿æ¢æ“作时必须给定两组字符串。�类型�Ulrich Drepper�未知错误�未知信å·%d�未知的系统错误�未匹é…çš„( 或\(�未匹é…çš„ ) 或 \)�未匹é…çš„[ 或[^�未匹é…çš„\{�急需I/O æ¡ä»¶�用法:%s �用法:%s 命令 [傿•°]...  或:%s 选项 �用法: %s 环境 命令 [傿•°]  或: %s [ -c ] [-u 用户] [-r 角色] [-t 类型] [-l 范围] 命令 [傿•°] �用法:%s è¡¨è¾¾å¼ ã€€æˆ–ï¼š%s 选项 �用法:%s 文件  或:%s 选项 �用法:%s 文件1 文件2  或:%s 选项 �用法:%s æ ¼å¼ [傿•°]  或:%s 选项 �用法:%s [选项]... 命令 �用法:%s 选项... 文件... �用法:%s [选项]... [文件]... �用法:%s [-F 设备 | --file=设备] [设置]...  或:%s [-F 设备 | --file=设备] [-a|--all]  或:%s [-F 设备 | --file=设备] [-g|--save] �用法:%s [-宽度] [选项]... [文件]... �用法:%s [-s ä¿¡å· | -ä¿¡å·] 进程å·...  或:%s -l [ä¿¡å·]...  或:%s -t [ä¿¡å·]... �用法:%s [文件]...  或:%s [选项] �用法:%s [åç§°]  或:%s 选项 显示或设置当å‰ç³»ç»Ÿçš„主机å。 �用法:%s [æ•°å­—]...  或:%s 选项 �用法:%s [æ“作数] ...  或:%s 选项 �用法:%s [选项] �用法:%s [选项] 显示当å‰ä¸»æœºçš„æ•°å­—标识符(å六进制)。 �用法:%s [选项] åœç•™æ—¶é—´ 命令 [傿•°]...  或:%s 选项 �用法:%s [选项] åç§°... �用法:%s [选项] æ–°æ ¹ [命令 [傿•°]...]  或:%s 选项 �用法:%s [选项] [命令 [傿•°]...] �用法:%s [选项] [文件] 对ä¸å®Œå…¨æŽ’åºçš„æ–‡ä»¶å®žè¡Œå®Œæ•´çš„列表排åºã€‚ å¦‚æžœä¸æŒ‡å®šæ–‡ä»¶ï¼Œæˆ–者文件为"-"ï¼Œåˆ™ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ•°æ®ã€‚ �用法:%s [选项]... �用法: %s [选项]... 环境 文件...  或: %s [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件...  或: %s [选项]... --reference=å‚考文件 文件... �用法:%s [选项]... 目录... �用法:%s [选项]... 文件 æ ¼å¼... �用法:%s [选项]... 文件... �用法:%s [选项]... 文件1 文件2 �用法:%s [选项]... 用户组 文件...  或:%s [选项]... --reference=å‚考文件 文件... �用法:%s [选项]... 尾数  或:%s [选项]... 首数 尾数  或:%s [选项]... 首数 å¢žé‡ å°¾æ•° �用法:%s [选项]... 模å¼[,模å¼]... 文件...  或:%s [选项]... å…«è¿›åˆ¶æ¨¡å¼ æ–‡ä»¶...  或:%s [选项]... --reference=å‚考文件 文件... �用法:%s [选项]... åç§° 类型 [ä¸»è®¾å¤‡å· æ¬¡è®¾å¤‡å·] �用法:%s [选项]... åç§°... �用法:%s [选项]... SET1 [SET2] �用法:%s [选项]... [ 文件 | 傿•°1 傿•°2 ] �用法:%s [选项]... [+æ ¼å¼]  或:%s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �用法:%s [选项]... [-T] æºæ–‡ä»¶ 目标文件  或:%s [选项]... æºæ–‡ä»¶... 目录  或:%s [选项]... -t 目录 æºæ–‡ä»¶... �用法:%s [选项]... [-T] æºæ–‡ä»¶ 目标文件  或:%s [选项]... æºæ–‡ä»¶... 目录  或:%s [选项]... -t 目录 æºæ–‡ä»¶...  或:%s [选项]... -d 目录... �用法:%s [选项]... [-T] 目标 链接å (ç¬¬ä¸€ç§æ ¼å¼)  或:%s [选项]... 目标 (ç¬¬äºŒç§æ ¼å¼)  或:%s [选项]... 目标... 目录 (ç¬¬ä¸‰ç§æ ¼å¼)  或:%s [选项]... -t 目录 目标... (ç¬¬å››ç§æ ¼å¼) �用法:%s [选项]... [-] [åç§°=值]... [命令 [傿•°]...] �用法:%s [选项]... [文件] �用法: %s [选项]... [文件]  或者: %s -e [选项]... [傿•°]...  或者: %s -i LO-HI [选项]... �用法:%s [选项]... [文件]... �用法:%s [选项]... [文件]...  或:%s [-abcdfilosx]... [文件] [[+]åç§»é‡[.][b]]  或:%s --traditional [选项]... [文件] [[+]åç§»é‡[.][b] [+][标签][.][b]] �用法:%s [选项]... [文件]...  或:%s [选项]... --files0-from=F �用法:%s [选项]... [文件]... 显示或检查 %s(%d-bit) 校验和。 若没有文件选项,或者文件处为"-",则从标准输入读å–。 �用法:%s [选项]... [文件] �用法:%s [选项]... [输入 [å‰ç¼€]] �用法:%s [选项]... [输入]... (ä¸åŒ…括 -G 选项)  或:%s -G [选项]... [输入 [输出]] �用法:%s [选项]... [所有者][:[组]] 文件...  或:%s [选项]... --reference=å‚考文件 文件... �用法:%s [选项]... [TEMPLATE] �用法:%s [选项]... [用户å] �用法:%s [选项]... [用户å]... �用法: %s [选项]... [用户]... �用法: %s [选项]... [å˜é‡]... 显示指定的环境å˜é‡çš„值。 如果没有指定å˜é‡ï¼Œåˆ™æ‰“å°å‡ºæ‰€æœ‰å˜é‡çš„å称和值。 �用法:%s [短选项]... 用户 命令 [傿•°]...  或:%s 长选项 �用法:%s [短选项]... [字符串]...  或:%s 长选项 �用法:%s [字符串]...  或:%s 选项 �用法:%s [å¿½ç•¥ä»»ä½•å‘½ä»¤è¡Œå‚æ•°]  或:%s 选项 �用法:%s è¡¨è¾¾å¼ ã€€æˆ–ï¼štest  或:[表达å¼]  或:[ ]  或:[ 选项 �已用%�已用�ç”¨æˆ·è‡ªå®šä¹‰ä¿¡å· 1�ç”¨æˆ·è‡ªå®šä¹‰ä¿¡å· 2�æœ‰æ•ˆçš„å‚æ•°ä¸ºï¼š�虚拟记时器过期�警告:å‘现循环的目录架构。 这几乎å¯ä»¥è‚¯å®šæ–‡ä»¶ç³»ç»Ÿå·²ç»æŸå。 ** 请通知系统管ç†å‘˜ã€‚** 以下的目录是循环的一部份: %s �警告:忽略--context (-Z) 傿•°ï¼Œå½“å‰è¿è¡Œçš„内核没有å¯ç”¨SELinux 支æŒ�警告:忽略--preserve-context 傿•°ï¼Œå½“å‰è¿è¡Œçš„内核没有å¯ç”¨SELinux 支æŒ�警告:忽略--strip-program 选项,因为-s 选项没有指明�警告:�从�æ¥è‡ª�窗å£å·²æ›´æ”¹�å¦‚æžœæ‚¨å¸Œæœ›å³æ—¶è¿½æŸ¥ä¸€ä¸ªæ–‡ä»¶çš„æœ‰æ•ˆåç§°è€Œéžæè¿°å†…å®¹(例如循环日志),默认 的程åºåŠ¨ä½œå¹¶ä¸å¦‚您所愿。在这ç§åœºåˆå¯ä»¥ä½¿ç”¨--follow=name 选项,它会使 tail 定期追踪打开给定å称的文件,以确认它是å¦è¢«åˆ é™¤æˆ–被其它æŸäº›ç¨‹åºé‡æ–°åˆ›å»ºè¿‡ã€‚ �ç”±%s å’Œ%s 编写。 �ç”±%sã€%sã€%s〠%sã€%sã€%sã€%s〠%sã€%sã€å’Œå…¶ä»–人编写。 �ç”±%sã€%sã€%s〠%sã€%sã€%sã€%s〠%sã€å’Œ%s 编写。 �ç”±%sã€%sã€%s〠%sã€%sã€%sã€%s å’Œ%s 编写。 �ç”±%sã€%sã€%s〠%sã€%sã€%s å’Œ %s 编写。 �ç”±%sã€%sã€%s〠%sã€%s å’Œ %s 编写。 �ç”±%sã€%sã€%s〠%s å’Œ %s 编写。 �ç”±%sã€%sã€%s å’Œ %s 编写。 �ç”±%sã€%s å’Œ%s 编写。 �ç”±%s 编写。 �åœ¨æ›¿æ¢æ“作中字符串2 里ä¸èƒ½å‡ºçŽ°è¡¨è¾¾å¼[=c=]�^ 没有匹é…项 �^[nN]�^[yY]�"�命令必须和调整值é…åˆæŒ‡å®š�䏿”¯æŒçš„ai_family�䏿”¯æŒai_socktype�%2$s çš„å‚æ•°%1$s 䏿˜Žç¡®�åªæœ‰å½“æ“作域时æ‰å¯ä»¥æŒ‡å®šè¾“入分界符�把输出追加到%s�备份%s ä¼šç ´åæºæ–‡ä»¶ï¼›æœªå¤åˆ¶%s�备份%s ä¼šç ´åæºæ–‡ä»¶ï¼›æœªç§»åŠ¨%s�备份方å¼�å—特殊文件�䏿”¯æŒåŒºå—特殊文件�å—�ä¸èƒ½ä»Žæ ‡å‡†è¾“å…¥åŒæ—¶è¯»å–两个文件�字节åç§»é‡%s 过大�éƒ¨åˆ†å…³è”æ— æ³•应用于文件%s�ä¸èƒ½å¾—到进程环境�无法访问%s�无法备份%s�ä¸èƒ½æ—¢æ˜¾ç¤ºæ€»ç”¨é‡ï¼ŒåŒæ—¶åˆæ˜¾ç¤ºæ¯ä¸ªé¡¹ç›®�无法更改%s 的所有æƒ�无法更改%s çš„æƒé™�无法进入目录%s�无法进入目录%s�无法切æ¢åˆ°æ ¹ç›®å½•�æ— æ³•åŒæ—¶ä½¿ç”¨--target-directory (-t) å’Œ--no-target-directory (-T) 选项�æ— æ³•åŒæ—¶ä½¿ç”¨ --target-directory å’Œ --no-target-directory�ä¸èƒ½åŒæ—¶æŒ‡å®š-e å’Œ-i 选项�ä¸å¯å°†{asciiã€ebcdicã€idm}中的任æ„两个结åˆä½¿ç”¨�ä¸å¯å°†block å’Œunblock 结åˆä½¿ç”¨�ä¸å¯å°†direct å’Œnocreat 结åˆä½¿ç”¨�ä¸å¯å°†excl å’Œnocreat 结åˆä½¿ç”¨�ä¸å¯å°†lcase å’Œucase 结åˆä½¿ç”¨�无法组åˆä½¿ç”¨ mode å’Œ --reference 选项�无法将-l 或-t 选项结åˆä½¿ç”¨�无法比较文件å%s å’Œ %s�无法将U+%04X 转æ¢è‡³ç”¨æˆ·çš„字符集�无法将U+%04X 转æ¢è‡³ç”¨æˆ·çš„字符集:%s�无法将目录%s å¤åˆ¶åˆ°è‡ªå·±%s�无法å¤åˆ¶å¾ªçŽ¯çš„ç¬¦å·é“¾æŽ¥%s�无法创建目录%s�无法创建先进先出文件%s�无法创建指å‘%2$s 的硬链接%1$s�无法创建指å‘%2$s 的链接%1$s�无法创建普通文件%s�无法创建特殊文件%s�无法创建符å·é“¾æŽ¥%s�无法创建指å‘%2$s 的符å·é“¾æŽ¥%1$s�无法在%s 创建临时文件�æ— æ³•å–æ¶ˆ%s 的引用�无法决定%s 所在的设备åŠinode�无法确定主机å�æ— æ³•å®šä½ %s çš„ä½ç½®ï¼Œå›žå½’为 polling 机制�无法在 %s 上执行 ioctrl�无法找到ID 为%lu 的用户的属组�无法按åç§°è·Ÿéš%s�无法对%s å¼ºåˆ¶ä¸ºç›®æ ‡çŽ¯å¢ƒï¼Œä¿æŒåŽŸæ ·�无法获å–%s 的文件状æ€(fstat)�无法获得当å‰ç›®å½•�无法获å–优先级�无法获å–系统å�无法获得%s 的大å°�无法lseek %s�æ— æ³•åŒæ—¶åˆ›å»ºç¡¬é“¾æŽ¥åŠç¬¦å·é“¾æŽ¥�无法创建目录%s�无法将%s 移动至%s�无法将目录%s 移动至自身的å­ç›®å½•%s 下�无法将目录移动至éžç›®å½•:%s -> %s�无法打开%s è¯»å–æ•°æ®�无法打开%s è¯»å–æ•°æ®�无法打开目录%s�无法创建符å·é“¾æŽ¥%s�无法以éžç›®å½•æ¥è¦†ç›–目录%s�无法以目录%2$s æ¥è¦†ç›–éžç›®å½•%1$s�ä¸èƒ½æ‰§è¡Œæ ¼å¼åŒ–输出�无法ä¿ç•™æ‰©å±•属性,当å‰ä½¿ç”¨çš„ cp 副本编译时没有å¯ç”¨ xattr 支æŒ�无法在未å¯ç”¨SELinux 支æŒçš„内核上使用安全环境�有多ç§é€‰æ‹©ï¼Œæ— æ³•输出唯一的�ä»¥é»˜è®¤æ ¼å¼æ— æ³•åªæ˜¾ç¤ºåç§°æˆ–åªæ˜¾ç¤ºçœŸå®žID。�ä¸èƒ½æ˜¾ç¤ºç‰¹å®šç”¨æˆ·çš„安全环境�无法读å–目录%s�无法从%s ä¸­è¯»å–æ–‡ä»¶å�无法为 %s è¯»å–æ–‡ä»¶ç³»ç»Ÿä¿¡æ¯�无法读å–实时时钟�无法读å–符å·é“¾æŽ¥%s�%s 无法读å–已挂载上的文件系统的目录�无法删除%s�无法删除目录:%s�无法å¤ä½%s 的文件指针�无法è¿è¡Œ%s�无法设定 %s�无法设置日期�无法设置组ID 为%lu�无法设置主机å,此系统似乎ä¸å…·å¤‡æ­¤åŠŸèƒ½�无法设置主机å为%s�无法设置优先级�无法设置%s 的时间戳�无法设置用户ID 为%lu�无法略过输入内容的报尾�无法以命令指定--null (-0)�æ— æ³•åŒæ—¶æŒ‡å®šç›¸äº¤è¾“å‡ºå’Œå¹³è¡Œè¾“å‡ºå‚æ•°�åœ¨å¹³è¡Œè¾“å‡ºå‚æ•°æ—¶ä¸èƒ½æŒ‡å®šæ æ•°�无法由多于一ç§çš„æ¥æºæ¥æŒ‡å®šæ—¶é—´�无法以多于一ç§çš„æ–¹å¼åˆ‡åˆ†è¾“å…¥�无法获å–%s 的文件状æ€(stat)�无法获å–当å‰ç›®å½•的文件状æ€(stat,当å‰ç›®å½•是%s)�æ— æ³•ä»Žæ ‡å‡†è¾“å…¥èŽ·å–æ–‡ä»¶ä¿¡æ¯(stat)�无法创建%s�无法将%s 的备份还原�无法清除%s 的链接�无法撤消 %s�无法监视%s�无法监视%s 的上级目录�无法é¿å…内核的错误�正在更改%s 的所属组�正在更改%s 的所有者�更改%s çš„æƒé™�正在更改%s 的安全环境 �字符åç§»é‡ä¸ºé›¶�å­—ç¬¦å€¼è¶…å‡ºå¯æŽ¥å—的范围以外�字符特殊文件�䏿”¯æŒå­—符特殊文件�清除%s çš„æƒé™�时钟更改�关闭失败�正在关闭 %s (fd=%d)�关闭目录%s�正在关闭输入文件%s�正在关闭输出文件%s�关闭标准输入�å…¼å®¹æ¨¡å¼æœ€å¤šæ”¯æŒä¸€ä¸ªæ–‡ä»¶�有冲çªçš„ç©ºåŒºå—æ›¿æ¢å­—符串�给出的安全环境说明冲çª�无法将%2$s 的缓冲模å¼è®¾ç½®ä¸º%1$s �无法创建进程%s -d�无法创建临时文件�无法执行%s�无法执行%s -d�在匹é…çš„inode %s 上找ä¸åˆ°ç›®å½•å…¥å£�无法获å–å¯åŠ¨æ—¶é—´�已创建目录 %s�正在创建目录%s�正在创建文件%s �åˆ†å‰²ç¬¦åˆ—è¡¨ä»¥ä¸€ä¸ªæœªè·³è¿‡çš„åæ–œçº¿ç»“æŸï¼š%s�目录�除以零�å¤åˆ¶å·²æ‰“开文件æè¿°ç¬¦å¤±è´¥(dup2)�ä¸å…许空的%s�空文件å�空标签�关闭文件时出错�正则表达å¼åŒ¹é…器出错�æ­£åˆ™è¡¨è¾¾å¼æœç´¢æ—¶å‡ºé”™�åˆå§‹åŒ–月份字符串出错�监视inotify 事件出错�读å–%s 时出错�读å–inotify 事件出错�等待命令出错�写入%s 出错�退出=�å¤šä½™çš„å‚æ•°%s�é¢å¤–çš„æ“作数 %s�ä¸å…许é¢å¤–çš„æ“作数%s 与-%c 一起使用�标准化%s 失败�改å˜%s 的环境到%s 失败�无法更改%s 的所属组为%s �更改%s 的所有者失败 �无法更改%s 的所有者为%s �无法切æ¢åˆ°ç›®å½•%s�计算新的环境失败�无法通过模æ¿%s 创建目录�无法通过模æ¿%s 创建文件�无法创建硬链接%s�无法创建硬链接%s => %s�无法创建硬链接%.0s%s�创建安全环境失败:%s�无法创建符å·é“¾æŽ¥%s�无法创建符å·é“¾æŽ¥%s -> %s�无法丢弃缓存:%s�扩展%s 失败�查找%s 失败�无法å–å¾—%s 的属性�无法获得当å‰å®‰å…¨çŽ¯å¢ƒ�èŽ·å–æ–‡ä»¶ç³»ç»Ÿåˆ›å»ºçŽ¯å¢ƒå¤±è´¥�获å–当å‰è¿›ç¨‹ç”¨æˆ·ç»„失败�获å–用户%s 的属组失败�无法å–å¾—%s 的安全环境�查阅文件%s 失败�打开%s 失败�ä¿ç•™%s 的作者失败�无法ä¿ç•™%s 的所有者�ä¿ç•™%s çš„æƒé™å¤±è´¥�无法ä¿ç•™%s 的时间�é‡å®šå‘标准错误失败�é‡å®šå‘标准错误到/dev/null 失败�删除 %s 失败�删除目录 %s 失败�标准输入ä¸å¯ç”¨ï¼Œæ— æ³•é‡å®šå‘�以%s 模å¼é‡æ–°æ‰“å¼€%s 失败�æ¢å¤é»˜è®¤æ–‡ä»¶åˆ›å»ºçŽ¯å¢ƒå¤±è´¥�返回到åˆå§‹å·¥ä½œç›®å½•失败�无法è¿è¡Œå‘½ä»¤%s�设置%s 安全环境组件到%s 失败�设置附加组失败�无法å–å¾—%s 的创建环境�设置组ID 失败�设置新范围%s 失败�设置新角色%s 失败�设置新类型%s 失败�设置新用户%s 失败�设置附加组失败�执行时关闭标准错误失败�设置%s 的安全环境为%s 失败�设置用户ID 失败�获å–%s 的文件状æ€å¤±è´¥(stat)�无法关闭O_DIRECT:%s�æ›´æ–°%s 的环境失败�%s çš„fdatasync 失败�冲洗æµå¤±è´¥(fflush)�域编å·%s 过大�区å—ç¼–å·ä¸ºé›¶�åºå·ä»Ž1 开始计数�先进先出�文件%d 没有被正确排åº�文件æ“作数ä¸èƒ½äºŽ--files0-from 傿•°ä¸€èµ·ä½¿ç”¨�文件æ“作和--print-database (-p)ä¸èƒ½åŒæ—¶ä½¿ç”¨�ä¸èƒ½åŒæ—¶é€‰æ‹©å’ŒæŽ’除文件系统类型%s�创建系统进程(fork)出错�æ ¼å¼%s 以%% 结æŸ�æ ¼å¼%s 没有%% 指令�æ ¼å¼%s 中%% 指令过多�æ ¼å¼%s ä¸­åŒ…å«æœªçŸ¥%%%c 指令�当输出等宽字符串时ä¸åº”冿Œ‡å®šæ ¼å¼å­—符串�%s çš„fsync 失败�fts_close 失败�fts_read 失败�fts_read 失败:%s�检查 %s 的新属性�%s 的所属组已ä¿ç•™ä¸º%s �iconv 函数ä¸å­˜åœ¨�iconv 函数无法使用�id=�å¿½ç•¥ä»»ä½•å‚æ•°�忽略输入�忽略输入并把输出追加到%s�忽略输入é‡å®šå‘错误到标准输出端�忽略无效的环境å˜é‡ TABSIZE 所示的制表符尺寸值:%s�忽略无效的环境å˜é‡QUOTING_STYLE 的键值:%s�忽略无效的环境å˜é‡ COLUMNS 所示的宽度值:%s�å¿½ç•¥ä¸æ˜¯é€‰é¡¹çš„傿•°�ä¸å…¼å®¹çš„连接区å—%lu,%lu�ä¸å…¼å®¹çš„æ ‡ç­¾�无法使用 inotify 机制,回归为 polling 机制�inotify 资æºè€—å°½�输入消失�输入行太长�无法进行跨设备的移动:%s 至%s;无法删除目标�无效的 --%s 傿•°%s�无效的调整值%s�æ— æ•ˆçš„å‚æ•° %s�%2$s çš„å‚æ•°%1$s 无效�æ— æ•ˆçš„æ­£æ–‡å·æ ·å¼ï¼š%s�%2$s 的缓冲模å¼%1$s 无效 �无效的字符类型%s�无效模å¼ï¼š%s�è½¬æ¢æ— æ•ˆ�下标中出现无效的转æ¢è§„格:%c�下标中出现无效的转æ¢è§„格:\%.3o�无效的日期%s�日期格å¼%s 无效�无效的缩å°çš„范围�无效的设备文件%s %s�无效的设备类型 %s�无效的区å—ç¼–å·%s�无效的区å—定义符:%s�无效的域宽度:%s�在区å—定义中出现无效的文件编å·ï¼š%s�无效的转æ¢å£°æ˜Ž%%%c%c�æ— æ•ˆçš„æµ®ç‚¹å‚æ•°ï¼š%s�æ— æ•ˆçš„é¡µè„šå·æ ·å¼ï¼š%s�无效的间隙宽度:%s�无效的组�无效的组%s�无效的组列表%s�无效的组:%s�æ— æ•ˆçš„é¡µçœ‰å·æ ·å¼ï¼š%s�输入无效�输入标志无效�无效的输入范围:%s�无效的整数%s�æ— æ•ˆçš„æ•´æ•°å‚æ•°%s�无效的行数%s�无效的行约æŸ%s�无效的行宽数值:%s�无效的行å·é€’增值:%s�æ— æ•ˆçš„ç¼–å·æ ¼å¼ï¼š%s�无效的行宽:%s�æ— æ•ˆçš„ä¸»è®¾å¤‡å· %s�目录最大深度%s 无效�æ— æ•ˆçš„æ¬¡è®¾å¤‡å· %s�无效的æƒé™æ¨¡å¼�无效模å¼%s�无效模å¼ï¼š%s�无效的数字%s�区å—èµ·å§‹å¤„çš„ç¼–å·æ— æ•ˆ�无效的空行数:%s�无效的å·ç %s�è¦å¯¹ç…§çš„å­—èŠ‚æ•°é‡æ— æ•ˆ�è¦ç•¥è¿‡çš„å­—èŠ‚æ•°é‡æ— æ•ˆ�无效的列数:%s�è¦ç•¥è¿‡çš„åŒºå—æ•°é‡æ— æ•ˆ�无效的å·ç %s�无效的选项 -- %c�无效选项 -- %c;宽度必须是第一个选项æ‰èƒ½è¢«æ­£ç¡®è¯†åˆ«ï¼›è¯·ä½¿ç”¨ -w N�输出标志无效�页ç èŒƒå›´%s 无效�无效的精度:%s�无终点的无效的范围:-�åœ¨å‚æ•°ç»“æž„ [c*n] 中有无效的é‡å¤æ¬¡æ•°%s�无效的 spec�无效的起始行å·ï¼š%s�çŠ¶æ€æ ‡å¿—无效�无效åŽç¼€ %sï¼Œå«æœ‰ç›®å½•分隔符�无效的制表符尺寸:%s�无效模æ¿ï¼Œ%s,包å«ç›®å½•分隔符�无效模æ¿ï¼Œ%s;如果与--tmpdir åŒæ—¶ä½¿ç”¨åˆ™ä¸å¯ä»¥æ˜¯ç»å¯¹è·¯å¾„�无效的时间间隔%s�无效的日期时间格å¼%s�无效的加附选项 -- %c�无效类型的字符串%s�无效的类型字符串%sï¼› 系统无法æä¾›å¯¹%lu-字节浮点类型数值的支æŒ�无效的类型字符串%sï¼› 系统无法æä¾›å¯¹%lu-字节整形类型数值的支æŒ�无效的通用字符åç§°\%c%0*x�无效的用户�无效的用户%s�无效的宽度:%s�无效的æ¢è¡Œå­—符数:%s�无效的零长度文件å�在%s 进行递归æ“作å分å±é™©�在%s 进行递归æ“作å分å±é™©(与%s 相åŒ)�值%lu 宽度为零,忽略�值%lu 为数字且跨多个域�最近=�文件å%3$s 的长度%2$lu 超出é™å€¼%1$lu�æ–‡ä»¶åæˆåˆ†%3$s 的长度%2$lu 超出é™å€¼%1$lu�对标准输入进行行缓冲无æ„义�行数选项-%s%c... 过大�行å·%s 比先å‰çš„行å·%s æ›´å°�è¡Œå·æº¢å‡º�最大 --%s 傿•°åœ¨å½“å‰èµ„æºé™åˆ¶(rlimit)设置下是%s�内存耗尽�%zu 字节的输入缓冲导致内存耗尽(%s)�%zu 字节的输出缓冲导致内存耗尽(%s)�消æ¯é˜Ÿåˆ—�æœ€å° --%s 傿•°æ˜¯%s�[:upper:] å’Œ/或[:lower:] 的结构对é½ä¸å®Œæ•´�下标中丢失了%% 转æ¢è§„格字符�%s åŽç¼ºå°‘傿•°�缺少%s çš„å‚æ•°�下标中丢失了转æ¢è§„æ ¼�在%s åŽç¼ºå°‘äº†è¦æ“作的目标文件�缺少了文件æ“作数�Escape 中缺失å六进制数�缺少域列表�缺少ä½ç½®åˆ—表�缺少æ“作数�%s åŽç¼ºå°‘æ“作数�模å¼å¿…é¡»åªæŒ‡å®šæ–‡ä»¶è®¸å¯ä½�%s çš„æƒé™æ¨¡å¼ä¿ç•™ä¸º%04lo (%s) �多字符标签%s�指定了多个-i 选项�åŒæ—¶æŒ‡å®šäº†å¤šä¸ª-l 或-t 选项�指定了多个压缩程åº�已定义多é‡åˆ†éš”符�å¤åˆçº§åˆ«èŒƒå›´�指定了多个输出文件�指定了多ç§è¾“出格å¼�æŒ‡å®šäº†å¤šä¸ªéšæœºæº�指定了多个相关修饰符�多角色�指定了多个目标目录�多类型�多用户�符å·é“¾æŽ¥%s 和该链接所指示的对象都未被更改 �没有设置SHELL 环境å˜é‡ï¼Œä¹Ÿæ²¡æœ‰æŒ‡å®šshell 类型的选项�%s 的归属关系未更改 �没有指定命令�æœªå¤„ç†æ–‡ä»¶ç³»ç»Ÿ�没有剩余文件�没有æ¥è‡ª%s 的输入�无登录å�未指定进程å·�在转储字符串时ä¸èƒ½æŒ‡å®šç±»åž‹�没有指定用户å,当使用-l é€‰é¡¹æ—¶è‡³å°‘éœ€è¦æŒ‡å®šä¸€ä¸ª�éžæ•´æ•°å‚æ•°�有ä¸é€šç”¨çš„字符%s 被包å«åœ¨æ–‡ä»¶å%s 中�䏿˜¯ä¸€ä¸ª tty�无法通过符å·é“¾æŽ¥%s 进行æ“作�%s 中的数字过大�å•个的数字必须ä¸ä¸ºé›¶�字节数�傿•°æ•°ç›®é”™è¯¯�读入文件%s æ—¶åç§»é‡æº¢å‡º�略过目录%s�在字符串2 中åªèƒ½å‡ºçŽ°ä¸€æ¬¡[c*] 结构的é‡å¤æ¬¡æ•°å£°æ˜Ž�åªèƒ½æŒ‡å®šä¸€ä¸ªè®¾å¤‡�åªèƒ½æŒ‡å®šåˆ—表中的一ç§ç±»åž‹�打开失败�在未定义环境中的无效选项 -- %c�选项--backup å’Œ --no-clobber 互斥�选项--compare (-C) å’Œ--preserve-timestamps 是互斥的�选项--compare (-C) å’Œ--strip 是互斥的�已排除输出文件åŽç¼€�扩展文件%s 大尿—¶æº¢å‡º�处ç†å¤§äºŽç­‰äºŽæ–‡ä»¶%s 的指定大å°çš„æœ€å¤§å€æ•°æ—¶æº¢å‡º�%s 的所有æƒå·²ä¿ç•™ �%s 的所有者已ä¿ç•™ä¸º%s �é¡µç æº¢å‡º�过窄�%s çš„ä¿ç•™æƒé™�正在ä¿ç•™ %s 的时间�åŒæ—¶è¾“出é‡å¤çš„行和é‡å¤è®¡æ•°æ˜¯æ²¡æœ‰æ„义的�读å–错误�读å–失败�正在读å–目录%s�记录数æ®è¿‡å¤§�é‡å®šå‘标准错误到标准输出�普通空文件�普通文件�已删除%s �已删除目录:%s �正在删除目录 %s�è¿è¡Œçº§åˆ«�ä¿¡å·é‡�分隔符ä¸èƒ½ä¸ºç©º�请设置LC_ALL='C' 以é¿å…出现问题。�正在设置%s 的标记�设置%s çš„æƒé™�正在设置%s 的时间�共享内存对象�略过字节数+ 读入字节数的值过大�跳过%s,因为它ä½äºŽä¸åŒçš„设备上�跳过文件%s,因为在准备å¤åˆ¶æ—¶å®ƒå·²è¢«å…¶å®ƒæ–‡ä»¶å–代�套接字�标准错误�标准输入�标准输入已关闭�标准输出�èŽ·å–æ–‡ä»¶çжæ€å¤±è´¥(stat)�标准错误�标准输入�标准输出�区å—中有孤立字符�字符串比较出现错误�字符串转æ¢å¤±è´¥�æ‹†è§£è¿‡ç¨‹éžæ­£å¸¸ä¸­æ­¢�æ¸…é™¤æ²¡æœ‰åˆ†ç•Œç¬¦çš„è¡Œåªæœ‰åœ¨ æ“ä½œåŸŸæ—¶æ‰æœ‰æ„义�符å·é“¾æŽ¥�语法错误�系统引导�制表符尺寸ä¸å¯ä¸º0�åˆ¶è¡¨ç¬¦å°ºå¯¸ä¸­åŒ…å«æ— æ•ˆå­—符:%s�制表符尺寸必须是å‡åºçš„�%s:制表符跳格é‡è¿‡å¤§�制表符é™é•¿è¿‡å¤§�制表符过于分散�目标%s 䏿˜¯ç›®å½•�安装目录时ä¸èƒ½ç”¨ç›®æ ‡ç›®å½•选项�终端=�test å’Œ/或[�在校验时--binary å’Œ--text 选项是无æ„义的�当您使用ä¸å…è®¸çš„æ¯”ç‰¹æ•°æŒ‡å®šæ¨¡å¼æ˜¯--compare (-C) 选项被忽略�åªæœ‰åœ¨æ ¡éªŒæ—¶--quiet é€‰é¡¹æ‰æœ‰æ„义�åªæœ‰åœ¨æ ¡éªŒæ—¶--status é€‰é¡¹æ‰æœ‰æ„义�åªæœ‰åœ¨æ ¡éªŒæ—¶--warn é€‰é¡¹æ‰æœ‰æ„义�å½“è¿›è¡Œæ›¿æ¢æ“作时[c*] ç»“æž„çš„å‚æ•°åªèƒ½å‡ºçŽ°åœ¨å­—ç¬¦ä¸²2 中�在字符串1 中ä¸èƒ½å‡ºçް[c*] 结构的é‡å¤æ¬¡æ•°å£°æ˜Ž�分界符必须是å•个字符�verbose å’Œ stty-readable 两ç§è¾“入风格的选项是互相抵触的�显示 dircolors 内部数æ®åº“的选项和选择 shell 语法的选项 是互相抵触的�显示与设置时间的选项ä¸èƒ½åŒæ—¶ä½¿ç”¨�è¢«æŒ‡å®šçš„è¿™å‡ ç§æ—¥æœŸæ˜¾ç¤ºé€‰é¡¹æ˜¯ç›¸äº’抵触的�已比较的字符串为%s å’Œ%s�安装目录时ä¸èƒ½ç”¨strip 选项�åŽç¼€é•¿åº¦è‡³å°‘应为%zu�未转æ¢çš„字符串为%s�æ—¶é—´%s 超出范围�您应当将-g 与用户ID %s 一起使用�模æ¿%s 中X 太少�下标中出现过多的%% 转æ¢è§„格字符�设置中的字符数é‡è¿‡å¤š�é‡å¤è¡Œè¿‡å¤š�模æ¿è¿‡å¤š�总用é‡�é历失败:%s�共享内存对象�无法显示错误信æ¯�无法记录目å‰çš„工作目录�无法设置安全环境%s�异常错误:fts_info=%d: %s 请报告给 %s�未知åŒç›®è¿ç®—符�æ¥è‡ªå‘½ä»¤çš„æœªçŸ¥çŠ¶æ€ (0x%X)�未知æµ�未知的用户ID:%s�LS_COLORS 环境å˜é‡ä¸­å­˜åœ¨æ— æ³•解些的值�无法识别的æ“作数%s�无法识别的å‰ç¼€ï¼š%s�å·²å¯åЍ%ld 天%2d:%02d,�å·²å¯åЍ???? 天 ??:??,�使用 --no-preserve-root 选项跳过安全模å¼�使用%s 排åºè§„则�用 %s 进行标准输入在文件系统模å¼ä¸‹æ— æ³•工作�使用简å•字节比较�等待 %s [-d]�等待拆解�警告:%s:跟éšåœ¨å¸¸é‡å­—符åŽçš„其它字符已被忽略�警告:%s:切æ¢åˆ°%s 用户环境失败�è­¦å‘Šï¼šæ­¤ç³»ç»Ÿä¸æ”¯æŒ--pid=PID�警告:--retry 傿•°éœ€è¦åœ¨åŽé¢é™„加åç§°åŽä½¿ç”¨�警告:已忽略进程å·ï¼Œåªæœ‰åœ¨è·Ÿé𿍡å¼ä¸‹--pid=PID é€‰é¡¹æ‰æ˜¯æœ‰ç”¨çš„�è­¦å‘Šï¼šåœ¨å­—ç¬¦ä¸²ç»“å°¾ä½¿ç”¨ä¸ºè½¬ä¹‰çš„åæ–œæ æ˜¯ä¸€ç§ä¸å¯ç§»æ¤çš„åšæ³•�è­¦å‘Šï¼šæ ¼å¼æœ«å°¾å‡ºçް忖œæ �警告:无法删除:%s�è­¦å‘Šï¼šæ— é™æœŸè·Ÿéšæ ‡å‡†è¾“å…¥æ˜¯æ— ç”¨çš„�警告:从%s 开始已忽略超é‡çš„傿•°�警告:文件读å–失败åŽå移错误�警告:无效的宽度值%lu,已使用%d 代替�警告:行å·%s 比先å‰çš„è¡Œå·æ›´å°�è­¦å‘Šï¼šæŒ‡å®šæ¥æºæ–‡ä»¶%s 多于一次�警告:显示总用é‡çš„选项和--max-depth=%lu 互斥�警告:显示总用é‡ç­‰ä»·äºŽä½¿ç”¨--max-depth=0�警告:å«ä¹‰ä¸æ¸…的八进制内容 \%c%c%c 已被视作为åŒå­—节åºåˆ— \0%c%c, %c 处ç†�警告:暂时é¿å…有关文件%s çš„lseek 内核错误 错误地å€åœ¨mt_type=0x%0lx -- 有关mt_type 类型的列表请å‚考<sys/mtio.h>�夿€ªæ–‡ä»¶�当䏿ˆªæ–­è®¾ç½®1 时,字符串2 ä¸èƒ½ä¸ºç©º�å½“ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ—¶ï¼Œä¸å…许指定文件å%s�当指定了输出风格时,模å¼ä¸èƒ½å†è¢«è®¾ç½®�当以åç›¸æ¨¡å¼æ›¿æ¢å­—符类型时,字符串2 必须将所有字符映射到一个字域�当字符串1 长度大于字符串2时,åŽè€…ä¸èƒ½ä»¥å­—符类结尾�ä¸ä¼šä»¥%s 覆盖刚创建的%s�ä¸ä¼šåˆ›å»ºæŒ‡å‘目录%2$s 的硬链接%1$s�ä¸ä¼šä»¥%2$s 覆盖刚创建的%1$s�当跟éš--parents 选项时,目的地必须是目录�使用 --suffixï¼Œæ¨¡æ¿ %s 必须以 X 结尾�写入错误�写入%s 时出错�写入失败�正在写入%s�您必须指定-c,-t,-u,-l,-r 或环境�您必须指定一组字节ã€å­—符或域的列表�您必须为%2$s 中指定一个相关的%1$s�您必须在%s 或%s 中指定一个�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�记录了%+% 的读入 记录了%+% 的写出 �% ä¸ªè¢«æˆªæ–­äº†çš„å— �%字节(%s)å·²å¤åˆ¶�åç§»é‡è¿‡å¤§ï¼šæ— æ³•在seek=% (%lu-字节) å—的长度上实施截断�无法针对输出文件%2$s çš„%1$ 字节处实施截断�åˆ†é… % 字节标准输入输出(stdio)缓冲区失败 �%s:%:%s 的校验和行目格å¼ä¸é€‚当�警告:% 行的格å¼ä¸é€‚当�警告:% 个列出的文件无法读å–�警告:% 个校验和ä¸åŒ¹é…�起始页ç % 超出了最大页数%�第 % 页�在文件%3$s çš„%1$ * %2$ 字节å—中溢出�在%2$ 字节处截断%1$s 失败�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ia.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000017174�12107204516�012071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����d������<��‰���\������€����������‘��,���­��,���Ú��,��� ��'���4 ��-���\ �� ���Š ��(���« ��(���Ô �����ý ����� �����= �����? ��)���G �� ���q �����} ����� �����© �� ���À �� ���Ì �� ���Ö �����à �����ù ������ �� ��� ����� �����6 �����M �����j �����† ��$���ž �����à �����Õ �����ð �����÷ ����� �����" ��#���< �����` �����i ��*���ˆ ��&���³ ��#���Ú �����þ ����� �����" �����= �����N �����c ��&���v ����� �����¥ �����¶ �� ���¾ ��$���Ë �� ���ð �����û ������� ���$�����2�����G�����Y�����k�� ���}�����Š�����Ÿ�����´�����º�����À�����Â�����Ú�����ô����������$�����D�����_�� ���v�����€��-���“�����Á�����Æ��,���á��9��������H�� ���Y�����g�����…�� ���˜�� ���¥�����¯�����Ê�����ß�� ���æ�����ô��*�����0���3�� ���d�� ���o��°��{�����,�����<��1���Y��.���‹��1���º��*���ì��2�����!���J��+���l��+���˜��#���Ä��#���è����� �������>���"�� ���a�����k��'���ˆ�����°�����Î�����Ý�����ü��.��������A�����V�����m�����…����� ��*���¾��!���é����� ��(���'�����P�����m�����‹��#���¡�����Å�����×��)���ó����������3��4���S��/���ˆ��#���¸��#���Ü��������#��������7�����J�����a��'���{�����£�����º�����Ð�����Ù��0���ê�������)���3�����]�����y�����‰�����¥�����»�����Ñ�����ç�����ù����������+�����1�����9�����;�����T�����o�����‹��,���¢��%���Ï�����õ�� ����������8���5�����n�����s��-�����<���¾�����û����� ��$��������C�� ���V�� ���c�� ���m�����Ž�����«�����²�����Ä��9���à��@����� ���[�����i���������H������?���1������D���O������)���������������7���Y���G������������I��������������A���F���W���'���������������/���9������������������������������S������&���+�������_���E�������:���=���T�������a���������(������V��������������,��� ������� ��� ���L�������R���\���>�������d����������J���0�������$���@����������3�������Q���������� ���2���^���b�������4���!������� ���%�������<��� ���B�������6������K������X���Z������C���-���`�������U���*���8������P����������;���5���#�������c���.�������N���"���������������]���[�������M����%s: end of file�%s: invalid option -- '%c' �%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �'�Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Bad value for ai_flags�Broken pipe�Bus error�Continued�Floating point exception�Hangup�Illegal instruction�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�Killed�Memory allocation failure�Memory exhausted�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�Parameter string not correctly encoded�Premature end of regular expression�Processing request in progress�Quit�Regular expression too big�Request canceled�Request not canceled�Segmentation fault�Servname not supported for ai_socktype�Stopped�Stopped (signal)�Success�System error�Temporary failure in name resolution�Terminated�Trace/breakpoint trap�Trailing backslash�Unknown error�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Valid arguments are:�^[nN]�^[yY]�`�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�block special file�cannot change permissions of %s�cannot create directory %s�character special file�directory�error closing file�failed to return to initial working directory�fifo�invalid argument %s for %s�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�memory exhausted�message queue�preserving permissions for %s�regular empty file�regular file�semaphore�setting permissions for %s�shared memory object�socket�symbolic link�typed memory object�unable to record current working directory�use --no-preserve-root to override this failsafe�weird file�write error�Project-Id-Version: coreutils-8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-12-22 07:27+0400 Last-Translator: Nik Kalach <nik.kalach@inbox.ru> Language-Team: Interlingua <translation-team-ia@lists.sourceforge.net> Language: ia MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); �%s: fin de file�%s: option invalide -- '%c' �%s: le option '%c%s' non accepta necun argumento �%s: le option '%s' es ambigue; possibilitates:�%s: le option '--%s' non accepta necun argumento �%s: le option '--%s' require un argumento �%s: le option '-W %s' non accepta necun argumento �%s: le option '-W %s' es ambigue �%s: le option '-W %s' require un argumento �%s: le option require un argumento -- '%c' �%s: option non recognoscite '%c%s' �%s: option non recognoscite '--%s' �'�Termination anormal�Le familia de adresses pro le nomine de host non es supportate�Eveliator�Tote le requestas completate�Le buffer del argumento es troppo parve�Valor incorrecte pro ai_flags�Conducto rupte�Violation de accesso a memoria�Continuar un processo�Exception al calculation con virgula flottante�Clausura de terminal�Instruction malformate�Requesta de interrumper�Interrumpite per un signal�Referentia a retro incorrecte�Nomine de classe de characteres incorrecte�Character de collation incorrecte�Contento de \{\} incorrecte�Expression regular precedente incorrecte�Fin de intervallo incorrecte�Expression regular incorrecte�Termination immediate�Insuccesso de allocation de momoria�Memoria exhaurite�Nomine o servicio incognite�Necun adresse associate al nomine de host�Nulle correspondentia�Nulle expression regular previe�Insuccesso irrecuperabile in le resolution de nomine�Catena de parametros codificate incorrectemente�Fin prematur del expression regular�Processamento del requesta in curso�Requesta de quitar�Expression regular es troppo grande�Requesta annullate�Requesta non annullate�Violation de segmentation�Servname non supportate pro ai_socktype�Requesta de suspension�Suspender un processo�Successo�Error de systema�Insuccesso temporanee in le resolution de nomine�Requesta de termination�Trappa al puncto de traciage o suspension�Barra oblique inverse final�Error incognite�Error del systema incognite�( o \( non accopulate�) o \) non accopulate�[ o [^ non accopulate�\{ non accopulate�Condition de I/O urgente�Le argumentos valide es:�^[nN]�^[sSyY]�`�ai_family non supportate�ai_socktype non supportate�argumento %s ambigue pro %s�file special de blocos�impossibile de cambiar le permissiones de %s�impossibile de crear le directorio %s�file special de characteres�directorio�error al clauder le file�impossibile de revenir al directorio de travalio initial�fifo�argumento %s invalide pro %s�il es periculose operar recursivemente sur %s�il es periculose operar recursivemente sur %s (identic a %s)�memoria exhauste�cauda de messages�preservation del permissiones pro %s�file regular vacue�file regular�semaphoro�initiation de permissiones de %s�objecto de memoria condivise�socket�ligamine symbolic�objecto de memoria con typo�impossibile de registrar le directorio de travalio actual�utilisa --no-preserve-root pro inhibir iste mesura de securitate�file estranie�error de scriptura�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/nb.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000053355�12107204517�012101� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����‹������t��¿���Ì������È ��Ä���É ��9���Ž ��t��È ��7���=��ì���u��,���b��5�������Å��¡��U�� ��÷��Ò�����’���Ø��u���k�����á�� ��q��Æ���|��ƒ���C��Í���Ç��Ñ���•��Ó���g��I���;��?���…��š��Å��¨��`��ú��� ���� �� ��� !�����A!��/���Q!�����!�����—!��B���°!��8���ó!�����,"�����>"�����Q"�����l"�����Š"��;���š"�����Ö"�����é"�����#�����!#�����?#��"���S#��)���v#����� #��1���½#�����ï#�����þ#������$�����$��2��� $��*���=$��$���h$�����$��'���¢$��š���Ê$��&���e%��"���Œ%��"���¯%�� ���Ò%��'���ó%��Z���&�����v&�����‹&��<���›&�����Ø&�����Þ&�����à&��#���ý&�����!'��,���A'�����n'��&���‰'��!���°'�����Ò'�� ���ë'�����ø'��"��� (�����.(�����?(�����P(�����e(�����w(��*���’(��-���½(�� ���ë(�����ù(�����)�����/)�� ���O)�����p)�� ���ˆ)�����•)��/���¦)��-���Ö)��&���*�����+*�����B*�����\*��-���o*�����*�����­*��4���½*��&���ò*�� ���+�����%+��>���;+�� ���z+�� ���…+�����‘+�����«+�����º+�����É+�����â+�� ���ò+�����þ+�����,��J���5,�����€,�����•,��H���±,��?���ú,��=���:-��>���x-��3���·-��(���ë-��/���.�����D.��2���J.��=���}.��,���».��3���è.��j���/�� ���‡/�� ���“/��7��� /��z��Ø/��®���S1��<���2��•��?2��;���Õ3��Ÿ���4��3���±4��/���å4��ª��5��÷��À6����¸8��É���Î9�����˜:��z���6;�����±;��ô���?<��¹���4=��u���î=��ù���d>��Ï���^?��Ë���.@��C���ú@��L���>A����‹A��ö�� C����E��O�� F��$���pG�����•G��0���¤G�����ÕG��"���éG��C��� H��6���PH�����‡H�����˜H��!���©H�����ËH�����ßH��Z���öH�����QI�����dI�����}I�����—I�����³I��!���ÈI��,���êI��(���J��5���@J�� ���vJ�����ƒJ�����†J�����‹J��3���ŽJ��'���ÂJ��4���êJ�����K��%���1K��¦���WK��$���þK�����#L��"���BL�����eL�����ƒL��K���£L�����ïL�����M��9���M�����NM�����TM�����WM��(���tM��!���M��.���¿M�����îM��3��� N��'���?N�����gN�����}N�����•N��!���§N�����ÉN�����ßN�����øN����� O�����O��-���6O��2���dO�����—O�����¦O�����¿O��%���ÔO��!���úO�����P�����2P�����AP��7���YP��1���‘P��-���ÃP�����ñP�����Q�����Q��3���,Q�� ���`Q�� ���mQ��7���{Q��#���³Q�����×Q�����íQ��H���R�����JR�����SR�����cR�����‚R�� ���•R�����¢R�� ���¹R�� ���ÅR�� ���ÑR�����òR��T��� S��$���bS��'���‡S��K���¯S��?���ûS��=���;T��:���yT��6���´T��&���ëT��3���U�����FU��7���MU��B���…U��/���ÈU��:���øU��_���3V�����“V�����¥V��5���·V���������5���I�������k���b���G���d���\�������$���=���q���7���„���l�������X���h������]������c���)���e������9�������(���%���@���‡�������;���4���Y���������3���‹������A�������L���.���H���'���…���0���O���r���E���������W�����������+����������{�������D���f���������������o���v�����������������‚����������� ����������<������z���M���[�������J���Z�����������,����������u���x���‰���F���w�������:���|���Q���ƒ���>��������������t���Š���m���P�����������†�����������R������1���C���N��� ���g������}���n��� �������^�������������T���U��� �������p������&���`���B������"�������������/���j�����������8���€�������y����������2������������������ˆ�������K��� ���?���-�������*��������������� ���i��������������V���#���s���_������6�������~���a�������S�����������!���� By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � With no FILE, or when FILE is -, read standard input. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --version output version information and exit � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%s exists but is not a directory�%s is too large�%s: %s is so large that it is not representable�%s: %s:%s: disorder: �%s: FAILED open or read �%s: cannot follow end of this type of file; giving up on this name�%s: equivalence class operand must be a single character�%s: file too long�%s: file truncated�%s: input contains a loop:�%s: input file is output file�%s: invalid PID�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid pattern�%s: invalid regular expression: %s�%s: line number must be greater than zero�%s: line number out of range�%s: no properly formatted %s checksum lines found�%s: read error�'�FAILED�OK�Print CRC checksum and byte counts of each FILE. �Set LC_ALL='C' to work around the problem.�The strings compared were %s and %s.�Unknown system error�Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Valid arguments are:�Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�`�ambiguous argument %s for %s�both files cannot be standard input�cannot change permissions of %s�cannot convert U+%04X to local character set�cannot create directory %s�cannot skip past end of combined input�cannot split in more than one way�character offset is zero�close failed�closing %s (fd=%d)�error in regular expression search�error reading %s�error writing %s�field number is zero�input disappeared�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid group�invalid number at field start�invalid number of bytes�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid user�memory exhausted�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing list of fields�missing list of positions�no files remaining�no type may be specified when dumping strings�number of bytes�number of lines�only one [c*] repeat construct may appear in string2�only one type of list may be specified�open failed�page width too narrow�printing all duplicated lines and repeat counts is meaningless�read error�read failed�separator cannot be empty�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�tab size cannot be 0�tab sizes must be ascending�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�too many %% conversion specifications in suffix�total�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: invalid width %lu; using %d instead�when not truncating set1, string2 must be non-empty�when translating with complemented character classes, string2 must map all characters in the domain to one�write error�write failed�you must specify a list of bytes, characters, or fields�Project-Id-Version: GNU textutils 2.0.20 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2002-01-27 21:35+0100 Last-Translator: Eivind Tagseth <eivindt@multinet.no> Language-Team: Norwegian <i18n-nb@lister.ping.uio.no> Language: nb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit � Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er to skilletegn for Ã¥ skille logiske sider, et manglende andretegn impliserer «:». Bruk \\ for \. STIL er en av: � Les standard inn hvis FIL er -. Hvert MØNSTER mÃ¥ være: � SETT er spesifisert med strenger av tegn. De fleste tegnene stÃ¥r for seg selv. Følgende sekvenser tolkes spesielt: \NNN tegn med oktalverdi NNN (1 til 3 oktale siffer) \\ backslash \a beep \b backspace \f sideskift (FF) \n linjeskift (LF) \r vognretur (CR) \t horisontal tabulator � NÃ¥r ingen FIL eller nÃ¥r FIL er -, les fra standard inn. � Skriv en entydig representasjon, oktale bytes forvalgt, av FIL til standard ut. Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard inn. � --help vis denne hjelpteksten og avslutt � --version vis programversjon og avslutt � -D, --date-format=FORMAT bruk FORMAT for topptekst-dato -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]] ekspander inn-TEGN (TAB) til tabulator-BREDDE (8) -F, -f, --form-feed bruk sideskift isteden for linjeskift for Ã¥ separere sider. (ved en 3-linjers topptekst med -F eller en 5-linjers topptekst og bunntekst uten -F) � -W, --word-regexp=REGEXP bruk REGEXP for Ã¥ treffe hvert nøkkelord -b, --break-file=FIL tegn for orddeling i denne FILen -f, --ignore-case gjør om smÃ¥ bokstaver til store for sortering -g, --gap-size=TALL størrelse pÃ¥ mellomrom mellom spalter i utfelt -i, --ignore-file=FIL les liste over ord som skal ignoreres fra FIL -o, --only-file=FIL les liste over ord som *ikke* skal ignoreres fra FIL � -a, --across skriv kolonner pÃ¥ tvers isteden for nedover, brukes sammen med -KOLONNE -c, --show-control-chars bruk hatt-notasjon (^G) og oktal backslah-notasjon -d, --double-space bruk dobbel linjeavstand � -b, --body-numbering=STIL bruk STIL for nummerering -d, --section-delimiter=CC bruk CC for Ã¥ skille logiske sider -f, --footer-numbering=STIL bruk STIL for Ã¥ nummerere bunntekst � -b, --bytes tell bytes istedet for kolonner -s, --spaces brekk om ved mellomrom -w, --width=BREDDE bruk BREDDE kolonner istedet for 80 � -c, --count begynn linjer med antall forekomster -d, --repeated skriv bare ut linjer det er flere av � -d, --delimiters=LISTE bruk tegn fra LISTE istedet for tabulatorer -s, --serial ta en fil om gangen i steder for i parallell � -f, --follow[={name|descriptor}] skriv ut mer data etter hvert som filen vokser; -f, --follow og --follow=descriptot er de samme -F samme som --follow=name --retry � -n, --digits=SIFFER bruk spesifisert antall siffer isteden for 2 -s, --quiet, --silent ikke skriv ut utfil-størrelser -z, --elide-empty-files fjern tomme ut-filer � -q, --quiet, --silent ikke skriv ut filnavnene først -v, --verbose skriv alltid filnavnene først � -r, --references første felt av hver linje er en referanse -t, --typeset-mode - ikke implementert - -w, --width=BREDDE utskriftbredde for spalter, eksklusive referanser � -s, --only-delimited skriv ikke ut linjer som ikke inneholder skilletegn --output-delimiter=STRENG bruk STRENG som ut-skilletegn forvalgt er Ã¥ bruke inn-skilletegnet � -t samme som -vT -T, --show-tabs vis tabulatortegn som ^I -u (ignorert) -v, --show-nonprinting bruk ^ og M-notasjon, unntatt for LFD og TAB � -t, --tabs=LISTE bruk komma-separert LISTE med tab-posisjoner � -z, --zero-terminated avslutt linjer med en 0-oktett, ikke linjeskift � [:graph:] alle skrivbare tegn, unntatt blanke tegn [:lower:] alle smÃ¥ bokstaver [:print:] alle skrivbare tegn, inkludert blanke tegn [:punct:] alle tegnsettingstegn [:space:] alle horisontale og vertikale blanke tegn [:upper:] alle store bokstaver [:xdigit:] alle hexadesimale siffer [=TEGN=] alle tegn som er like TEGN � \v vertikal tabulator TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende [TEGN1-TEGN2] samme som TEGN1-TEGN2, dersom begge sett bruker dette [TEGN*] i SETT2, kopier av TEGN inntil samme lengde til SETT1 [TEGN*ANT] ANT kopier av TEGN, ANT er oktal, hvis det begynner med 0 [:alnum:] alle bokstaver og tall [:alpha:] alle bokstaver [:blank:] alle horisontale blanke tegn [:cntrl:] alle kontrolltegn [:digit:] alle siffer � d[STØRRELSE] desimal med fortegn, STØRRELSE bytes per tall f[STØRRELSE] flyttall, STØRRELSE bytes per tall o[STØRRELSE] oktal, STØRRELSE bytes per tall u[STØRRELSE] desimal uten fortegn, STØRRELSE bytes per tall x[STØRRELSE] hexadesimal, STØRRELSE bytes per tall �% 1% av minne, b 1, K 1024 (forvalgt) og sÃ¥ videre for M, G, T, P, E, Z, Y. Dersom ingen FIL er oppgitt eller FIL er -, leses det fra standard inn. *** ADVARSEL *** Lokalet spesifisert av miljøet pÃ¥virker sorteringsrekkefølge. Sett LC_ALL=C for Ã¥ fÃ¥ den tradisjonelle sorteringsrekkefølgen som bruker negative oktett-verdier. �%s eksisterer men er ikke en katalog�%s er for stor�%s: %s er sÃ¥ stor at den ikke kan representeres�%s: %s:%s: uorden: �%s: FEIL ved Ã¥pning eller lesing �%s: kan ikke følge slutten av en fil av denne typen; gir opp denne�%s: ekvivalensklasseoperanden mÃ¥ være et enkelt tegn�%s: fil for lang�%s: fil trunkert�%s: inndata inneholder en løkke:�%s: innfil er utfil�%s: ugyldig prosess-id�%s: ugyldig maksimum antall av uendrete resultat av kall til stat() mellom kall til open()�%s: ugyldig nummer�%s: ugyldig antall bytes�%s: ugyldig antall linjer�%s: ugyldig antall sekunder�%s: ugyldig mønster�%s: ugyldig regulært uttrykk: %s�%s: linjenummeret mÃ¥ være større enn null�%s: linjenummer utenfor tillatte verdier�%s: ingen riktig formatterte %s-sjekksumlinjer funnet�%s: lesefeil�»�FEIL�OK�Skriv CRC-sjekksum og oktett-antall for hver FIL. �Sett LC_ALL='C' for Ã¥ omgÃ¥ problemet.�Strengene som ble sammenlignet var «%s» og «%s».�Ukjent systemfeil�Bruk: %s [FIL]... eller: %s [FLAGG] �Bruk: %s [FLAGG] [FIL] Skriv en fullstendig sortert liste konsistent med den delvise sorteringen i FIL. Hvis ingen FIL eller hvis FIL er -, leses fra standard inn. �Bruk: %s [FLAGG]... FIL MØNSTER... �Bruk: %s [FLAGG]... FIL1 FIL2 �Bruk: %s [FLAGG]... SETT1 [SETT2] �Bruk: %s [FLAGG]... [FIL]... �Bruk: %s [FLAGG]... [INN [UT]] �Bruk : %s [FLAGG]... [INN]... (uten -G) eller: %s -G [FLAGG]... [INN [UT]] �Gyldige argument er:�Skrevet av %s. �[=c=]-uttrykk kan ikke opptre i streng2 under oversetting�^[nN]�«�flertydig argument %s for %s�begge filene kan ikke være standard inn�kan ikke endre rettigheter til %s�kan ikke konvertere U+%04X til lokalt tegnsett�kan ikke opprette katalog %s�kan ikke hoppe til bak slutten av kombinert inndata�kan ikke dele opp pÃ¥ mer enn én mÃ¥te�tegn-posisjon er null�feil ved lukking av fil�lukker %s (fd=%d)�feil i søk med regulært uttrykk�feil ved lesing av %s�feil ved skriving til %s�felt-nummer er null�input forsvant�ugyldig argument %s for %s�ugyldig konvertingsspesifikator i suffiks: %c�ugyldig konverteringsspesifikator i suffiks: \%.3o�ugyldig gruppe�ugyldig tall i feltstart�ugyldig antall bytes�ugyldig antall oktetter Ã¥ hoppe over�ugyldig antall felt Ã¥ hoppe over�ugyldig antall linjer�ugyldig bruker�virtuelt minne oppbrukt�feilplassert [:upper:]- og/eller [:lower:]-konstruksjon�manglende %%-konverteringsspesifikasjon i suffiks�manglende konverteringsspesifikator i suffiks�feltliste mangler�posisjonsliste mangler�ingen filer igjen�ingen type kan spesifiseres ved dumping av strenger�antall bytes�antall linjer�kun ett [c*] gjentagelseskonstrukt kan opptre i streng2�bare en liste-type kan spesifiseres�Ã¥pning av fil feilet�sidebredde for smal�Ã¥ skrive alle dupliserte linjer *og* gjentagelsesantall er meningsløst�lesefeil�feil ved lesing�separatoren kan ikke være tom�standard feilkanal�standard inn�standard inn er lukket�standard ut�stat feilet�ugyldig tegn i feltspesifikasjon�strengsammenligning feilet�fjerning av linjer uten skilletegn er meningsløst dersom en ikke opererer med felt�tabulatorstørrelse kan ikke være 0�tabulatorstørrelser mÃ¥ være stigende�flaggene --binary og --text er meningsløse ved verifisering av sjekksummer�flagget --status har bare betydning ved sjekking av sjekksummer�flagget --warn har bare betydning ved sjekking av sjekksummer�[c*]-konstruktet kan bare opptre i streng2 ved oversetting�gjentagelseskonstruktet [c*] kan ikke opptre i streng1�skilletegnet mÃ¥ være ett enkelt tegn�for mange %%-konverteringsspesifikasjoner i suffiks�totalt�advarsel: --pid=PID er ikke støttet pÃ¥ dette systemet�advarsel: PID ignoreres; --pid=PID er bare nyttid nÃ¥r man følger�advarsel: ugyldig bredde %lu; bruker %d istedet�nÃ¥r sett1 ikke blir forkortet, kan ikke streng2 være tom�nÃ¥r det oversettes med komlementerte tegnklasser mÃ¥ streng2 mappe alle tegn i domenet til én�feil ved skriving�feil ved skriving�du mÃ¥ spesifisere en liste av bytes, tegn eller felt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pt.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001450677�12107204513�011766� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Portuguese translation of the "coreutils" messages # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # António João Serras Rendas <arendas@mail.telepac.pt>, 1996 # Helder Correia <helder.pereira.correia@gmail.com>, 2007-2008 # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2008-04-23 00:02+0100\n" "Last-Translator: Helder Correia <helder.pereira.correia@gmail.com>\n" "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumento %s inválido para %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumento %s ambíguo para %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumentos válidos:" #: lib/closein.c:100 msgid "error closing file" msgstr "erro ao fechar o ficheiro" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "erro de escrita" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "a preservar as permissões de %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Erro de sistema desconhecido" #: lib/file-type.c:38 msgid "regular empty file" msgstr "ficheiro regular vazio" #: lib/file-type.c:38 msgid "regular file" msgstr "ficheiro regular" #: lib/file-type.c:41 msgid "directory" msgstr "pasta" #: lib/file-type.c:44 msgid "block special file" msgstr "ficheiro especial de blocos" #: lib/file-type.c:47 msgid "character special file" msgstr "ficheiro especial de caracteres" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "ligação simbólica" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "fila de mensagens" #: lib/file-type.c:62 msgid "semaphore" msgstr "semáforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objecto de memória partilhada" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objecto de memória tipada" #: lib/file-type.c:70 msgid "weird file" msgstr "ficheiro estranho" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Família de endereços da máquina não suportada" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Falha temporária na resolução de nome" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valor mau para ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Falha irrecuperável na resolução de nome" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family não suportada" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Falha de alocação de memória" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nenhum endereço associado ao nome de máquina" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nome ou serviço desconhecido" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname não suportado para ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype não suportado" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Erro de sistema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Memória tampão de argumentos demasiado pequena" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Processamento de pedido a decorrer" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Pedido cancelado" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Pedido não cancelado" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Todos os pedidos terminados" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrompido por um sinal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Expressão de parâmetros codificada incorrectamente" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Erro desconhecido" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opção '%s' é ambígua\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opção '--%s' não permite um argumento\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opção '%c%s' não permite um argumento\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opção '%s' requere um argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opção '--%s' desconhecida\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opção '%c%s' desconhecida\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opção inválida -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opção requere um argumento -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opção '-W %s' é ambígua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opção '-W %s' não permite um argumento\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opção '%s' requere um argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "impossível alterar as permissões de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "impossível criar a pasta %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memória esgotada" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "impossível gravar a pasta de trabalho actual" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "erro ao regressar à pasta de trabalho inicial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fim de ficheiro" #: lib/regcomp.c:131 msgid "Success" msgstr "Sucesso" #: lib/regcomp.c:134 msgid "No match" msgstr "Sem correspondência" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expressão regular inválida" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Carácter de ordem inválido" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nome de classe de carácter inválido" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Barra invertida no final" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Referência anterior inválida" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ ou [^ não correspondido" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( ou \\( não correspondido" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ não correspondido" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Conteúdo de \\{\\} inválido" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Limite final de intervalo inválido" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memória esgotada" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Expressão regular precedente inválida" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fim prematuro de expressão regular" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Expressão regular demasiado grande" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") ou \\) não correspondido" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nenhuma expressão regular anterior" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "é perigoso operar recursivamente sobre %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "é perigoso operar recursivamente sobre %s (mesmo que %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "use --no-preserve-root para contornar esta segurança contra falhas" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "a definir as permissões de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Erro de sistema" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "mud. relógio" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: sinal inválido" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: sinal inválido" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "erro na chamada de sistema fork" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "erro de open" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "impossível criar fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: erro de seek" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "intervalo de tempo inválido %s" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "função iconv inutilizável" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "função iconv indisponível" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "carácter fora de limite" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "impossível converter U+%04X para conjunto de caracteres local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "impossível converter U+%04X para conjunto de caracteres local: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "utilizador inválido" #: lib/userspec.c:107 msgid "invalid group" msgstr "grupo inválido" #: lib/userspec.c:108 msgid "invalid spec" msgstr "especificação inválida" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl." "html>\n" "Isto é software livre: pode alterá-lo e redistribuí-lo.\n" "NÃO Hà GARANTIA, até onde a lei o permite.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Escrito por %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Escrito por %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s e outros.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Comunique erros através de <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Comunique erros através de <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "erro de open" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Erro de sistema desconhecido" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "erro ao remover %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "erro na comparação de expressões" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Defina LC_ALL='C' para contornar o problema." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "As expressões comparadas foram %s e %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "impossível formatar o resultado de saída" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argumento %s%s inválido '%s'" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "sufixo inválido no argumento %s%s '%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "argumento %s%s '%s' demasiado grande" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Utilização: %s [OPÇÃO] [FICHEIRO]\n" "Codificar ou descodificar em base64 o FICHEIRO, ou a entrada padrão, para a " "saída padrão.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler entrada padrão.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Os dados são codificados como descrito para o alfabeto base64 em RFC 3548.\n" "Ao descodificar, a entrada pode conter novas linhas adicionalmente aos " "bytes\n" "do alfabeto base64 formal. Use --ignore-garbage para tentar recuperar\n" "de quaisquer outros caracteres não alfabéticos nos dados codificados.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "erro de leitura" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "dados de entrada inválidos" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "comprimento de partição inválido: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operando extra %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "a fechar a entrada padrão" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Utilização: %s NOME [SUFIXO]\n" " ou: %s OPÇÃO\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Mostrar NOME com todas as pastas removidas.\n" "Se especificado, remover também um SUFIXO.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "operando em falta" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatenar FICHEIRO(s), ou entrada padrão, para a saída padrão.\n" "\n" " -A, --show-all equivalente a -vET\n" " -b, --number-nonblank numerar linhas de saída não vazia\n" " -e equivalente a -vE\n" " -E, --show-ends mostrar $ no fim de cada linha\n" " -n, --number numerar todas as linhas de saída\n" " -s, --squeeze-blank eliminar linhas vazias de saída repetidas\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t equivalente a -vT\n" " -T, --show-tabs mostrar caracteres TAB como ^I\n" " -u (ignorado)\n" " -v, --show-nonprinting usar a notação ^ e M-, excepto para LFD e TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exemplos:\n" " %s f - g Despejar conteúdo de f, depois a entrada padrão, depois conteúdo " "de g.\n" " %s Copiar a entrada padrão para a saída padrão.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "erro ao executar ioctl em %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "canal de saída padrão (stdout)" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: o ficheiro de entrada é o ficheiro de saída" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "erro ao criar contexto de segurança: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "erro ao definir o contexto de segurança de %s para %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "erro ao obter contexto de segurança de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "impossível aplicar contexto parcial ao ficheiro não etiquetado %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "erro ao alterar contexto de %s para %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "impossível aceder a %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "impossível ler a pasta %s" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "a alterar contexto de segurança de %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read falhou" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "erro de close" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilização: %s [OPÇÃO]... CONTEXTO FICHEIRO...\n" " ou: %s [OPÇÃO]... [-u UTILIZADOR] [-r PAPEL] [-l INTERVALO] [-t " "TIPO] FICHEIRO...\n" " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Mudar o contexto de segurança de cada FICHEIRO para CONTEXTO.\n" "Com --reference, mudar cont. de segurança de cada FICHEIRO para o de " "FICHREF.\n" "\n" " -c, --changes como verboso mas comunicar apenas quando há " "mudança\n" " -h, --no-dereference afectar lig. simbólicas e não fich. referenciados\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UTILIZADOR definir UTILIZADOR no contexto de segurança alvo\n" " -r, --role=PAPEL definir PAPEL no contexto de segurança alvo\n" " -t, --type=TIPO definir TIPO no contexto de segurança alvo\n" " -l, --range=ALCANCE definir ALCANCE no contexto de segurança alvo\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root não tratar '/' de forma especial (predefinição)\n" " --preserve-root falhar ao operar recursivamente em '/'\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=FICHREF usar contexto de segurança de FICHREF em vez de\n" " especificar um valor de CONTEXTO\n" " -R, --recursive operar em ficheiros e pastas recursivamente\n" " -v, --verbose despejar um diagnóstico para cada ficheiro " "processado\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "As opções seguintes modificam a forma como uma hierarquia é percorrida " "quando a\n" "opção -R também é especificada. Se mais d oque uma for especificada, apenas " "a\n" "final toma efeito.\n" "\n" " -H se um argumento é uma ligação simbólica\n" " para uma pasta, percorrê-la\n" " -L percorrer todas as ligações simbólicas para pastas\n" " encontradas\n" " -P não percorrer ligações simbólicas (predefinido)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference requere -H ou -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h requere -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "operando em falta após %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "contexto inválido: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "especificadores de contexto de segurança em conflito" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "erro ao obter os atributos de %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "grupo inválido: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilização: %s [OPÇÃO]... GRUPO FICHEIRO...\n" " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Mudar o contexto de segurança de cada FICHEIRO para CONTEXTO.\n" "Com --reference, mudar cont. de segurança de cada FICHEIRO para o de " "FICHREF.\n" "\n" " -c, --changes como verboso mas comunicar apenas quando há " "mudança\n" " -h, --no-dereference afectar lig. simbólicas e não fich. referenciados\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference afectar cada ligação simbólica em vez de qualquer\n" " ficheiro referido (apenas útil em sistemas que " "podem\n" " alterar o dono de uma ligação simbólica)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exemplos:\n" " %s staff /u Mudar o grupo de /u para \"staff\".\n" " %s -hR staff /u Mudar o grupo de /u e sub-ficheiros para \"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "a obter os novos atributos de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ligação simbólica %s e referência inalteradas\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "modo de %s alterado para %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "erro ao alterar o modo de %s para %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "modo de %s mantido como %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "impossível operar sobre ligação simbólica %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "a alterar as permissões de %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: as novas permissões são %s, não %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilização: %s [OPÇÃO]... MODO[,MODO]... FICHEIRO...\n" " ou: %s [OPÇÃO]... MODO-OCTAL FICHEIRO...\n" " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Mudar o contexto de segurança de cada FICHEIRO para CONTEXTO.\n" "Com --reference, mudar cont. de segurança de cada FICHEIRO para o de " "FICHREF.\n" "\n" " -c, --changes como verboso mas comunicar apenas quando há " "mudança\n" " -h, --no-dereference afectar lig. simbólicas e não fich. referenciados\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=FICHREF usar contexto de segurança de FICHREF em vez de\n" " especificar um valor de CONTEXTO\n" " -R, --recursive operar em ficheiros e pastas recursivamente\n" " -v, --verbose despejar um diagnóstico para cada ficheiro " "processado\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Cada MODO tem a forma '[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "impossível combinar opções de modo e --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "modo inválido: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "dono de %s alterado para %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "grupo de %s alterado para %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "dono de %s inalterado\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "erro ao alterar o dono de %s para %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "erro ao alterar o grupo de %s para %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "erro ao alterar o dono de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "erro ao alterar o dono de %s para %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "erro ao alterar o grupo de %s para %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "dono de %s mantido como %s \n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupo de %s mantido como %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "dono de %s inalterado\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "impossível desreferenciar %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "a alterar o dono de %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "a alterar o grupo de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilização: %s [OPÇÃO]... [DONO][:[GRUPO]] FICHEIRO...\n" " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=DONO_ACTUAL:GRUPO_ACTUAL\n" " alterar o dono e/ou grupo de cada ficheiro apenas " "se\n" " o seu dono e/ou grupo actuais correspondem aos\n" " especificados aqui. Qualquer um pode ser omitido,\n" " uma correspondência não será requerida.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "O dono não é alterado se omitido. O grupo não é alterado se omitido, mas\n" "alterado para o grupo de utilizador se implicado por um ':' após um um DONO\n" "simbólico. DONO e GRUPO podem ser numéricos e simbólicos.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exemplos:\n" " %s root /u Mudar o dono de /u para \"root\".\n" " %s root:staff /u Semelhante, mas mudar também o grupo para \"staff\".\n" " %s -hR root /u Mudar o dono de /u e sub-ficheiros para \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grupo %s inválido" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "grupo %s inválido" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "erro ao definir grupo(s) adicional(is)" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Utilização: %s OPÇÃO UTILIZADOR COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Executar COMANDO como pasta raiz definida como NOVARAIZ.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Se nenhum comando for dado, executar ``${SHELL} -i'' (predefinido: /bin/" "sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "impossível alterar a pasta raiz para %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "impossível mudar para a pasta raiz" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "erro ao definir o novo papel %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "erro ao definir o novo utilizador %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "impossível executar o comando %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: ficheiro demasiado grande" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Utilização: %s [FICHEIRO]...\n" " ou: %s [OPÇÃO]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Exibir o CRC e contagem de bytes de cada FICHEIRO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Utilização: %s [OPÇÃO]... FICHEIRO1 FICHEIRO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Comparar os ficheiros ordenados FICHEIRO1 e FICHEIRO2 linha a linha.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Sem opções, produzir resultado em 3 colunas. A primeira coluna contém\n" "linhas exclusivas do FICHEIRO1, a segunda linhas exclusivas do FICHEIRO2\n" "e a terceira linhas comuns a ambos os ficheiros.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 suprimir linhas exclusivas ao FICHEIRO1\n" " -2 suprimir linhas exclusivas ao FICHEIRO2\n" " -3 suprimir linhas comuns aos dois ficheiros\n" #: src/comm.c:122 #, fuzzy msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" " -v NUMFICH como -a NUMFICH, mas suprimir linhas de saída juntas\n" " -1 CAMPO juntar neste CAMPO do ficheiro 1\n" " -2 CAMPO juntar neste CAMPO do ficheiro 2\n" " --check-order verificar entrada ordenada, mesmo que todas as linhas " "de\n" " entrada estejam em pares\n" " --nocheck-order não verificar ordenação da entrada\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, fuzzy, c-format msgid "file %d is not in sorted order" msgstr "Ficheiro %d não está ordenado" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "múltiplas opções -i especificadas" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "erro ao ler %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "impossível alterar o posicionamento dentro do ficheiro %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "erro ao escrever %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "erro ao obter o contexto actual" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "erro de escrita" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "erro ao abrir %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "a limpar as permissões de %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "erro ao preservar o dono de %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "ficheiro %s não encontrado" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "erro ao preservar o criador de %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "impossível abrir %s para leitura" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "impossível obter o estado de %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "a saltar o ficheiro %s, uma vez que foi substituído ao ser copiado" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "erro ao obter o contexto de criação do sistema de ficheiros" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "erro ao alterar o contexto de segurança de %s para %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "impossível remover %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s removido\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "a não escrever através da ligação simbólica %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "impossível criar o ficheiro regular %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "erro ao fechar a pasta %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "a preservar os dados de tempo de %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "erro ao abrir %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: tentar sobrescrever %s, cancelando o modo %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: sobrescrever %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (salvaguarda: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "erro ao restaurar o context de criação de ficheiros predefinido" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "impossível criar a ligação persistente %s para %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "impossível analisar %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "a omitir a pasta %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "aviso: ficheiro de origem %s especificado mais de uma vez" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s e %s são o mesmo ficheiro" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "impossível sobrescrever a não-pasta %s com a pasta %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "recém-criado %s não será sobrescrito com %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "impossível sobrescrever a pasta %s com não-pasta" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "impossível mover a pasta para a não pasta: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "salvaguardar %s destruiria a origem; %s não movido" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "salvaguardar %s destruiria a origem; %s não copiado" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "impossível salvaguardar %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "%s não será copiado através da ligação simbólica recém-criada %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "impossível copiar uma pasta, %s, para si própria, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "a ligação persistente %s não será copiada para a pasta %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "impossível mover %s para uma própria sub-pasta, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "impossível mover %s para %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "erro ao mover entre dispositivos: %s para %s; impossível remover alvo" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "erro ao alterar contexto padrão de criação de ficheiros %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "impossível copiar a ligação simbólica cíclica %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: ligações simbólicas relativas possíveis apenas na pasta actual" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "impossível criar a ligação simbólica %s para %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "impossível criar fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "impossível criar o ficheiro especial %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "impossível ler a ligação simbólica %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "impossível criar a ligação simbólica %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s é um tipo de ficheiro desconhecido" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "impossível recuperar %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (recuperação)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Utilização: %s [OPÇÃO]... [-T] FONTE DESTINO\n" " ou: %s [OPÇÃO]... FONTE... PASTA\n" " ou: %s [OPÇÃO]... -t PASTA FONTE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Copiar FONTE para DESTINO, ou múltiplas FONTE(s) pasta PASTA.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive o mesmo que -dpR\n" " --backup[=CONTROLO] salvaguardar os ficheiros de destino " "existentes\n" " -b como --backup mas não aceita um argumento\n" " --copy-contents copiar conteúdo de ficheiros especiais quando " "recursivo\n" " -d o mesmo que --no-dereference --" "preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force se um ficheiro de destino existente não " "puder\n" " ser aberto, remover e tentar novamente\n" " -i, --interactive perguntar antes de sobrescrever\n" " -H seguir as ligações simbólicas da linha de " "comandos em ORIGEM\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link ligar ficheiros em vez de copiar\n" " -L, --dereference seguir sempre ligações simbólicas em ORIGEM\n" #: src/cp.c:190 #, fuzzy msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -f, --force se um ficheiro de destino existente não " "puder\n" " ser aberto, remover e tentar novamente\n" " -i, --interactive perguntar antes de sobrescrever\n" " -H seguir as ligações simbólicas da linha de " "comandos em ORIGEM\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p o mesmo que --preserve=mode,ownership," "timestamps\n" " --preserve[=LISTA_ATRIB] preservar os atributos especificados " "(predefinido:\n" " mode,ownership,timestamps), se possível\n" " atributos adicionais: context, links, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LISTA_ATRIB não preservar os atributos especificados\n" " --parents usar nome completo de ficheiro de origem em " "PASTA\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive copiar pastas recursivamente\n" " --remove-destination remover cada ficheiro de destino existente " "antes\n" " de tentar abri-lo (oposto a --force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=QUANDO controlar criação de ficheiros esparsos\n" " --strip-trailing-slashes remover as 'barras' de cada argumento de\n" " ORIGEM\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link criar ligações simbólicas em vez de copiar\n" " -S, --suffix=SUFIXO redefinir o sufixo habitual de salvaguarda\n" " -t, --target-directory=PASTA copiar todas os argumentos de ORIGEM para " "PASTA\n" " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update copiar apenas quando ORIGEM é mais recente\n" " que o ficheiro de destino ou o ficheiro de\n" " destino não existe\n" " -v, --verbose explicar o que está a ser feito\n" " -x, --one-file-system permanecer neste sistema de ficheiros\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Por omissão, ficheiros ORIGEM esparsos são detectados por uma má heurística " "e\n" "o correspondente ficheiro de DESTINO torna-se também esparso. Esse é o\n" "comportamento seleccionado por --sparse=auto. Especifique --sparse=always " "para\n" "criar um DESTINO esparso quando a ORIGEM contém uma sequência longa de bytes " "0.\n" "Use --sparse=never para inibir a criação de ficheiros esparsos.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "O sufixo de salvaguarda é '~', a não ser com --suffix ou " "SIMPLE_BACKUP_SUFFIX.\n" "O método de controlo de versão pode ser escolhido com --backup ou com a\n" "variável de ambiente VERSION_CONTROL. Eis os valores:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nunca efectuar salvaguardas (mesmo se usado com --backup)\n" " numbered, t efectuar salvaguardas numeradas\n" " existing, nil numeradas se existirem salvaguardas numeradas, senão " "simples\n" " simple, never efectuar sempre salvaguardas simples\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Como caso especial, o cp salvaguarda a ORIGEM quando as opções 'force' e\n" "'backup' são dadas e ORIGEM e DESTINO têm o mesmo nome para um ficheiro\n" "existente e regular.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "erro ao preservar os tempos de %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "erro ao preservar permissões de %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "impossível criar a pasta %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existe mas não é uma pasta" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "erro ao abrir %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "operando de ficheiro em falta" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "operando de ficheiro de destino em falta após %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "Impossível combinar --target-directory (-t) e --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "o destino %s não é uma pasta" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "com --parents, o destino deve ser uma pasta" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "múltiplas pastas de destino especificadas" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "impossível criar ligações simbólicas e persistentes" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "" "as opções para especificar datas para impressão são mutuamente exclusivas" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo de salvaguarda" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "impossível preservar contexto de segurança sem um sistema operativo com " "suporte SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "a entrada desapareceu" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: número de linha fora de alcance" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: número de linha fora de alcance" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "em repetição %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: correspondência não encontrada" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "erro na pesquisa de expressão regular" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "erro de escrita para %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: inteiro esperado após delimitador" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: '}' é requerido na contagem de repetição" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: inteiro requerido entre '{' e '}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: delimitador de fecho '%c' em falta" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: expressão regular inválida: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: padrão inválido" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: número de linha deve ser maior que zero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "o número de linha %s é inferior ao precedente, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "aviso: o número de linha %s é igual ao precedente" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "especificador de conversão em falta no sufixo" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "especificação de conversão inválida no sufixo: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "especificação de conversão inválida no sufixo: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: especificação de conversão inválida" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "demasiadas especificações de conversão %% no sufixo" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "especificação de conversão %% inválida no sufixo" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: número inválido" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Utilização: %s [OPÇÃO]... FICHEIRO PADRÃO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Despejar partes de FICHEIRO separadas por PADRÃO(ÕES) para os ficheiros " "'xx00',\n" "'xx01', ..., e exibir contagem de bytes de cada parte.\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMATO usar FORMATO sprintf em vez de %02d\n" " -f, --prefix=PREFIXO usar PREFIXO em vez de `xx'\n" " -k, --keep-files preservar ficheiros de saída após erro\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DÃGITOS usar número dado de DÃGITOS em vez 2\n" " -s, --quiet, --silent não exibir tamanhos dos ficheiros de saída\n" " -z, --elide-empty-files remover ficheiros de saída vazios\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Ler a entrada padrão se FICHEIRO for -. Cada PADRÃO pode ser:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " INTEIRO copiar até (excluindo) número de linha especificado\n" " /EXPREG/[ÃNDICE] copiar até (excluindo) uma linha que corresponda\n" " %EXPREG%[ÃNDICE] saltar até (excluindo) uma linha que corresponda\n" " {INTEIRO} repetir o padrão anterior INTEIRO vezes\n" " {*} repetir o padrão anterior até não ser possível\n" "\n" "Um ÃNDICE de linha é um '+' or '-' requerido seguido de um inteiro " "positivo.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "campos e posições são numerados a partir de 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Utilização: %s OPÇÃO... [FICHEIRO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Mostrar partes seleccionadas de linhas de cada FICHEIRO.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA escolher apenas estes bytes\n" " -c, --characters=LISTA escolher apenas estes caracteres\n" " -d, --delimiter=DELIM usar DELIM em vez de TAB para delimitar campos\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA escolher apenas estes campos; exibir todas as " "linhas\n" " sem carácter delimitador, a não ser que a opção -" "s\n" " seja especificada\n" " -n (ignorado)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement complementar o conjunto de bytes escolhidos,\n" " caracteres ou campos.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited não exibir linhas sem delimitadores\n" " --output-delimiter=EXP usar EXP como o delimitador de saída\n" " o modo predefinido é usar o delimitador de " "entrada\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Usar uma e apenas uma de -b, -c ou -f. Cada LISTA é feita de um alcance\n" "ou vários alcances separados por vírgula. Entrada seleccionada é escrita\n" "na mesma ordem de leitura e exactamente uma vez.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Cada alcance é um de:\n" "\n" " N N-ésimo byte, carácter ou campo, countado a partir de 1\n" " N- do N-ésimo byte, carácter ou campo, até fim da linha\n" " N-M do N-ésimo ao do M-ésimo (inclusive) byte, carácter ou campo\n" " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" "\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "byte ou lista de campo inválido" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "intervalo inválido sem fim: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "intervalo decrescente inválido" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "posição de byte %s demasiado grande" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "número de campo %s demasiado grande" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "apenas um tipo de lista pode ser especificado" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "o delimitador deve ser um único carácter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "deve especificar uma lista de bytes, caracteres ou campos" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "um delimitador de entrada deve ser especificado apenas para campos" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "suprimir linhas não delimitadas faz sentido\n" "\tapenas para campos" #: src/cut.c:870 msgid "missing list of fields" msgstr "lista de campos ausente" #: src/cut.c:872 msgid "missing list of positions" msgstr "lista de posições ausente" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Utilização: %s [OPÇÃO]... [+FORMATO]\n" " ou: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FICHEIRO mostrar o último tempo de modificação de " "FICHEIRO\n" " -R, --rfc-2822 exibir data e hora no formato RFC 2822.\n" " Exemplo: Seg, 07 Ago 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=ESPECTEMPO exibir data e hora no formato RFC 3339.\n" " ESPECTEMPO='date', 'seconds' ou 'ns' para\n" " data e hora na precisão indicada.\n" " Data e hora são separadas por\n" " um espaço: 2006-08-07 12:34:56-06:00\n" " -s, --set=EXPR alterar a hora descrita por EXPR\n" " -u, --utc, --universal exibir ou alterar Hora Universal Coordenada " "(UTC)\n" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMATO controla a saída. A única opção válida para a segunda forma\n" "expecifica Hora Universal Coordenada. Sequências interpretadas:\n" "\n" " %% um literal %\n" " %a nome de semana local abreviado (ex.: Dom)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A nome local completo de semana (ex.: Domingo)\n" " %b nome local abreviado de mês (ex.: Jan)\n" " %B nome local completo de mês (ex.: Janeiro)\n" " %c data e hora local (ex.: Qui Mar 3 23:05:25 2005)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C século; como %Y, excepto omitir últimos dois dígitos (ex., 21)\n" " %d dia do mês (ex., 01)\n" " %D data; o mesmo que %m/%d/%y\n" " %e dia do mês, alinhado a espaço; o mesmo que %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F data completa; o memso que %Y-%m-%d\n" " %g últimos dois dígitos de número de semana ISO (ver %G)\n" " %G ano de número de semana ISO (ver %V); normalmente útil apenas com %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h o mesmo que %b\n" " %H hora 00..23)\n" " %I hora (01..12)\n" " %j dia do ano (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k hora ( 0..23)\n" " %l hora ( 1..12)\n" " %m mês (01..12)\n" " %M minuto (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n uam nova linha\n" " %N nanosegundos (000000000..999999999)\n" " %p equivalente da localização a AM ou PM; vazia se desconhecido\n" " %P como %p, mas em minúsculas\n" " %r equivalente da localização a tempo de 12 horas (ex., 11:11:04 PM)\n" " %R horas e minutos de 24 hora; o mesmo que %H:%M\n" " %s segundos desde 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S segundo (00..60)\n" " %t uma tabulação (TAB)\n" " %T hora (tempo completo); o mesmo que %H:%M:%S\n" " %u dia da semana (1..7); 1 é Segunda-feira\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U número de semana do ano, Domingo como primeiro dia da semana " "(00..53)\n" " %V número de semana ISO, Segunda-feira primeiro dia da semana (01..53)\n" " %w dia de semana (0..6); 0 é Domingo\n" " %W número de semana do ano, Segunda-feira primeiro dia da semana " "(00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x representação de data local (ex., 31/12/99)\n" " %X representação de hora local (ex., 23:13:48)\n" " %y últimos dois dígitos do ano (00..99)\n" " %Y ano\n" #: src/date.c:221 #, fuzzy msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z zona horária numérica +hhmm (ex., -0400)\n" " %:z zona horária numérica +hh:mm (e.g., -04:00)\n" " %::z zona horária numérica +hh:mm:ss (e.g., -04:00:00)\n" " %:::z zona horária numérica com : para prec. necessária (ex., -04, " "+05:30)\n" " %Z abreviação de zona horária alfabética (ex., EDT)\n" "\n" "Por omissão, date preenche campos numéricos com zeros.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "As seguintes preferências opcionais podem seguir-se a '%':\n" "\n" " - (hífen) não encher o campo\n" " _ (sublinhado) encher com espaços\n" " 0 (zero) encher com zeros\n" " ^ usar maiúsculas se possível\n" " # usar capitalização oposta se possível\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Após as preferências vem uma largura de campo opcional, um número decimal;\n" "depois um modificador opcional, o qual pode ser\n" "E para usar as representações locais alternativas se disponíveis, ou\n" "O para usar os símbolos numéricos locais alternativos se disponíveis.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "canal de entrada por omissão (stdin)" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "data inválida %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "múltiplos formatos de saída especificados" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "as opções para especificar datas para impressão são mutuamente exclusivas" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "as opções para imprimir e definir o tempo não podem ser usadas juntas" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "o argumento %s necessita de um '+' inicial;\n" "Ao usar uma opção para especificar data(s), qualquer argumento não-opção\n" "deve ser uma expressão de formato iniciada por '+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "impossível alterar a data" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "o tempo %s está fora de alcance" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s [OPERANDO]...\n" " ou: %s OPÇÃO\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copiar um ficheiro, convertendo e formatando de acordo com os operandos.\n" "\n" " bs=BYTES forçar ibs=BYTES e obs=BYTES\n" " cbs=BYTES converter BYTES bytes de cada vez\n" " conv=CONVS converter o ficheiro como lista separada por vírgulas\n" " count=BLOCOS copiar apenas BLOCOS blocos de entrada\n" " ibs=BYTES ler BYTES bytes de cada vez\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FICHEIRO ler a partir de FICHEIRO em vez de stdin\n" " iflag=OPÇÕES ler como lista de símbolos separados por vírgulas\n" " obs=BYTES escrever BYTES bytes de cada vez\n" " of=FILE escrever para FICHEIRO em vez de stdout\n" " oflag=OPÇÕES escrever como lista de símbolos separados por vírgulas\n" " seek=BLOCOS saltar BLOCOS blocos de tamanho obs no início da saída\n" " skip=BLOCOS saltar BLOCOS blocos de tamanho ibs no início da entrada\n" " status=noxfer suprimir estatísticas de transferência\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCOS e BYTES podem ser seguidos pelos seguintes sufixos multiplicativos:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y.\n" "\n" "Cadda símbolo CONV pode ser:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii de EBCDIC para ASCII\n" " ebcdic de ASCII para EBCDIC\n" " ibm de ASCII para EBCDIC alternativo\n" " block encher campos terminados por nova linha com espaço de tamanho " "cbs\n" " unblock substituir espaços finais em campos de tamanho cbs com nova " "linha\n" " lcase alterar maiúsculas para minúsculas\n" " ucase alterar minúsculas para maiúsculas\n" " swab trocar cada par de bytes de entrada\n" " sync encher cada bloco de entrada com ibs NULs; quando usado\n" " com block ou unblock, encher com espaços em vez de NULs\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl falhar se o ficheiro de saída já existir\n" " nocreat não criar o ficheiro de saída\n" " notrunc não truncar o ficheiro de saída\n" " noerror continuar após erros de leitura\n" " fdatasync escrever fisicamente dados no ficheiro de saída antes de " "terminar\n" " fsync da mesma forma, mas escrever igualmente os meta-dados\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada símbolo OPÇÃO pode ser:\n" "\n" " append modo acrescentar (sentido só para saída; conv=notrunc sugerido)\n" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr " text usar E/S de texto para dados\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct usar E/S directas para dados\n" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr " erro de pasta a menos que seja uma pasta\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync usar E/S sincronizadas para dados\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync da mesma forma, mas também para meta-dados\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock usar E/S não-bloquantes\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime não actualizar o tempo de acesso\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty não atribuir terminal de controlo do ficheiro\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow não seguir ligações simbólicas\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks falhar se multiplamente ligado\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary usar E/S binárias para dados\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text usar E/S de texto para dados\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar um sinal %s a um processo 'dd' em execução faz com que\n" "exiba estatísticas E/S no erro padrão e depois resuma a cópia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registos dentro\n" " 18335302+0 registos fora\n" " 9387674624 bytes (9.4 GB) copiado, 34.6279 segundos, 271 MB/s\n" "\n" "Opções são:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> registos dentro\n" "%<PRIuMAX>+%<PRIuMAX> registos fora\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> registo truncado\n" msgstr[1] "%<PRIuMAX> registos truncados\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) copiado" msgstr[1] "%<PRIuMAX> bytes (%s) copiados" #: src/dd.c:720 msgid "Infinity B" msgstr "Infinitivo B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "a fechar o ficheiro de entrada %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "a apagar o ficheiro de saída %s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "erro ao entrar na pasta %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "a escrever em %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operando desconhecido %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversão inválida" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "opção de entrada inválida" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "opção de saída inválida" #: src/dd.c:1227 msgid "invalid status flag" msgstr "opção de estado inválida" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "número inválido %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "impossível combinar quaisquer dois de {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "impossível combinar bloquear e desbloquear" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "impossível combinar letras minúsculas e maiúsculas" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "impossível combinar excl e nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "impossível combinar excl e nocreat" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "aviso: a contornar erro de lseek do kernel para o ficheiro (%s)\n" " de mt_type=0x%0lx -- ver <sys/mtio.h> para a lista de tipos" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: impossível indexar" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: impossível indexar" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "erro de excesso de índice ao ler o ficheiro %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "aviso: índice de ficheiro inválido após erro de leitura" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "impossível contornar erro do kernel" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "a definir opções para %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: impossível mover para a posição relativa %s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "a truncar aos %<PRIuMAX> bytes no ficheiro de saída %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "erro de fdatasync para %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "erro de fsync para %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "erro ao abrir %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "índice muito alto: erro ao truncar para seek=%<PRIuMAX> blocos (de %lu bytes)" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "a truncar aos %<PRIuMAX> bytes no ficheiro de saída %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "erro ao entrar na pasta %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Sist.fichs" #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blocos" #: src/df.c:181 msgid "Used" msgstr "Ocup" #: src/df.c:184 msgid "Available" msgstr "Livres" #: src/df.c:187 msgid "Use%" msgstr "Uso%" #: src/df.c:190 msgid "Inodes" msgstr "Inodes" #: src/df.c:193 msgid "IUsed" msgstr "IOcup" #: src/df.c:196 msgid "IFree" msgstr "ILivr" #: src/df.c:199 msgid "IUse%" msgstr "UsoI%" #: src/df.c:202 msgid "Mounted on" msgstr "Montado em" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "aviso: ficheiro de origem %s especificado mais de uma vez" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Tama" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Livre" #: src/df.c:474 msgid "Capacity" msgstr "Capacida" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Mostrar informação acerca do sistema de ficheiros onde cada FICHEIRO " "reside,\n" "ou todos os sistemas de ficheiros por omissão.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all incluir sistemas de ficheiros manequins\n" " -B, --block-size=TAMANHO usar blocos de TAMANHO bytes\n" " -h, --human-readable tamanhos em formato para humanos (ex., 1K 234M 2G)\n" " -H, --si da mesma forma, mas usar potências de 1000, não " "1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes listar inodes em vez de utilização de blocos\n" " -k como --block-size=1K\n" " -l, --local limitar listagem a sistemas de ficheiros locais\n" " --no-sync não invocar sync antes de obter informação " "(predef.)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability usar o formato de saída POSIX\n" " --sync invocar sync antes de obter a informação\n" " -t, --type=TIPO limitar listagem a sist. de ficheiros de tipo TIPO\n" " -T, --print-type exibir o tipo do sistema de ficheiros\n" " -x, --exclude-type=TIPO limitar listagem a sist. ficheiros não de tipo " "TIPO\n" " -v (ignorado)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "" "as opções para especificar datas para impressão são mutuamente exclusivas" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Aviso: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "sistema de ficheiros de tipo %s simultaneamente escolhido e excluído" #: src/df.c:1500 msgid "Warning: " msgstr "Aviso: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "impossível ler a tabela de sistemas de ficheiros montados" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "nenhum sistema de ficheiros processado" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Utilização: %s [OPÇÃO]... [FICHEIRO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Emitir comandos para ajustar a variável de ambiente LS_COLORS.\n" "\n" "Determinar o formato da saída:\n" " -b, --sh, --bourne-shell emitir código Bourne shell para ajustar " "LS_COLORS\n" " -c, --csh, --c-shell emitir código C shell para ajustar LS_COLORS\n" " -p, --print-data-base emitir códigos predefinidos\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Se FICHEIRO especificado, ler para determinar que cores usar para que tipos\n" "de ficheiro e extensões. Senão, uma base de dados precompilada é usada.\n" "Para detalhes no formato destes ficheiros, corra 'dircolors --print-" "database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: linha inválida; segundo símbolo em falta" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: palavra-chave desconhecida %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "as opções de saída da base de dados interna para dircolors e para sintaxe " "de\n" "shell são mutuamente exclusivas" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "Operandos ficheiros não podem ser combinados com --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "nenhuma variável de ambiente SHELL e nenhuma opção de tipo de shell" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Utilização: %s [OPÇÃO] NOME...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Exibir NOME sem a componente '/'; se NOME não contiver / mostrar '.'\n" "(o que significa a pasta actual).\n" "\n" " --help mostra esta ajuda e sai\n" " --version mostra a informação de versão e sai\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated terminar linhas com byte 0, não nova linha\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Exemplos:\n" " %s /usr/bin/sort Mostrar \"/usr/bin\".\n" " %s stdio.h Mostrar \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" " ou: %s [OPÇÃO]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Resumir utilização de disco de cada FICHEIRO, recursivamente para pastas.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all escrever contagens todos os ficheiros, não só " "pastas\n" " --apparent-size mostrar tamanhos aparentes, não utiliz. disco; " "apesar\n" " de o tamanho aparente ser habit. mais pequeno, " "pode\n" " ser maior devido a buracos em ficheiros " "(esparsos),\n" " fragmentação interna, blocos indirectos e afins\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=TAMANHO usar blocos de TAMANHO bytes\n" " -b, --bytes equivalente a '--apparent-size --block-size=1'\n" " -c, --total produzir um grande total\n" " -D, --dereference-args desreferenciar só ligações simbólicas listadas na\n" " linha de comandos\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F resumir util. de disco dos nomes de ficheiro " "terminados\n" " por NUL especificados no ficheiro F\n" " -H como --si, mas lança um aviso; mudará brevemente " "para\n" " ser equivalente a --dereference-args (-D)\n" " -h, --human-readable mostrar tamanhos para humanos (ex., 1K 234M 2G)\n" " --si como -h, mas usar potências de 1000, não 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k como --block-size=1K\n" " -l, --count-links contar tamanho várias vezes se ligado " "persistentemente\n" " -m como --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference desreferenciar todas as ligações simbólicas\n" " -P, --no-dereference não seguir qualquer ligação simbólica (predefinido)\n" " -0, --null terminar linhas de saída com byte 0, não nova linha\n" " -S, --separate-dirs não incuir tamanhos das pastas\n" " -s, --summarize mostrar apenas um total para cada argumento\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time mostrar tempo da última modificação de cada " "ficheiro\n" " na pasta, ou cada sua subpasta\n" " --time=PALAV mostrar tempo como PALAV em vez de tempo de " "modific.:\n" " atime, access, use, ctime ou status\n" " --time-style=EST mostrar tempos usando o estilo ESTILO:\n" " full-iso, long-iso, iso, +FORMATO\n" " FORMATO é interpretado como 'date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Infinitivo B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read falhou" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "profundidade máxima %s inválida" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argumento inválido %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "impossível resumir e mostrar todas as entradas ao mesmo tempo" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "aviso: resumo é o mesmo que usar --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "aviso: resumo conflicte com --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Operandos ficheiros não podem ser combinados com --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: erro de leitura" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "ao ler nomes de ficheiros de stdln, nome de %s não permitido" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nome de ficheiro vazio inválido'" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Utilização: %s [EXPRESSÃO]...\n" " ou: %s OPÇÃO\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Ecoar as EXPRESSÃO(ões) para a saída padrão.\n" "\n" " -n não despejar a nova linha final\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e activar interpretação de sinaliz. barra invertida " "(predef.)\n" " -E desactivar interpretação de barras invertidas sinalizadas\n" #: src/echo.c:54 #, fuzzy msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e activar interpretação de sinaliz. barra invertida " "(predef.)\n" " -E desactivar interpretação de barras invertidas sinalizadas\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c suprimir nova linha final\n" " \\f form feed\n" " \\n nova linha\n" " \\r carriage return\n" " \\t tabulador horizontal\n" " \\v tabulador vertical\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Utilização: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Alterar cada NOME para VALOR no ambiente e correr o COMANDO.\n" "\n" " -i, --ignore-environment começar com um ambiente vazio\n" " -u, --unset=NOME retirar variável NOME do ambiente\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Um mero - implica -i. Sem COMANDO, mostrar o ambiente resultante.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "impossível analisar %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "impossível analisar %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converter TABs em cada FICHEIRO para espaços, escrevendo na saída padrão.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial não converter TABs após caracteres não-brancos\n" " -t, --tabs=NÚMERO considerar TABs de NÚMERO caracteres, não 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA usar lista explícita de TABs separ. por vírgulas\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "o tabulador é demasiado grande %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "o tamanho do tabulador contém caracteres inválidos: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tamanho de TAB não pode ser 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tamanhos de TABs devem ser crescentes" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "linha de entrada demasiado grande" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Utilização: %s EXPRESSÃO\n" " ou: %s OPÇÃO\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Exibir o valor de EXPRESSÃO. Uma linha vazia por baixo separa\n" "grupos de precedência crescentes. EXPRESSÃO pode ser:\n" "\n" " ARG1 | ARG2 ARG1 se não for nulo nem 0, senão ARG2\n" "\n" " ARG1 & ARG2 ARG1 se nenhum argumento for nulo ou 0, senão 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 é menor que ARG2\n" " ARG1 <= ARG2 ARG1 é menor ou igual a ARG2\n" " ARG1 = ARG2 ARG1 é igual a ARG2\n" " ARG1 != ARG2 ARG1 é diferente de ARG2\n" " ARG1 >= ARG2 ARG1 é maior ou igual a ARG2\n" " ARG1 > ARG2 ARG1 é maior que ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 soma aritmética de ARG1 e ARG2\n" " ARG1 - ARG2 diferença aritmética de ARG1 e ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 produto aritmético de ARG1 e ARG2\n" " ARG1 / ARG2 quociente aritmético de ARG1 dividido por ARG2\n" " ARG1 % ARG2 resto aritmético de ARG1 dividido por ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " EXPR : EXPREG correspondência de padrão ancorada de EXPREG em EXPR\n" "\n" " match EXPR EXPREG o mesmo que EXPR : EXPREG\n" " substr EXPR POS COMPRIM subexpressão de STRING, POS contada a partir de " "1\n" " index EXPR CARACTS índice de EXPR onde onde um CARACTS existe, ou " "0\n" " length EXPR comprimento de EXPR\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SÃMBOLO interpretar SÃMBOLO como uma expressão, mesmo " "que\n" " reservada como 'match' ou operador como '/'\n" "\n" " ( EXPRESSÃO ) valor de EXPRESSÃO\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Tenha em conta que muitos operadores necessitam ser sinalizados ou escritos\n" "entre aspas. Comparações são aritméticas se todos os ARGs são números, " "senão\n" "lexicográficas. Padrões retornam a expressão entre \\( e \\) ou nula; se\n" "\\( e \\) não são usados, retornam o número de caracteres combinados ou 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Estado de saída é 0 se EXPRESSÃO não for nem nula nem 0, 1 se EXPRESSÃO é " "nula\n" "ou 0, 2 se EXPRESSÃO for sintacticamente inválida e 3 se um erro ocorrer.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "erro de sintaxe" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "erro no analisador de expressões regulares" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argumento não numérico" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "divisão por zero" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Defina LC_ALL='C' para contornar o problema." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "As expressões comparadas foram %s e %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s não é um inteiro positivo válido" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s é muito grande" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s [NÚMERO]...\n" " ou: %s OPÇÃO\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" "Exibir os factores primos de todos os NÚMEROS inteiros especificados.\n" "Sem argumentos, são lidos do canal de entrada padrão.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "impossível obter a pasta actual" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "impossível mudar para a pasta %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "impossível obter a pasta actual (agora %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Utilização: %s [-DÃGITOS] [OPÇÃO]... [FICHEIRO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformatar cada parágrafo em FICHEIRO(s), escrevendo para a saída padrão.\n" "Sem FICHEIRO ou se FICHEIRO for '-', ler a entrada padrão.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin preservar indentação das primeiras duas linhas\n" " -p, --prefix=EXPRESSÃO reformatar apenas linhas que começam por " "EXPRESSÃO,\n" " inserindo o prefixo nas linhas reformatadas\n" " -s, --split-only separar linhas longas, mas não reencher\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph indentação da primeira linha diferente da " "segunda\n" " -u, --uniform-spacing um espaço entre palavras, dois depois de frases\n" " -w, --width=LARGURA largura máxima de linha (predefinida 75 " "colunas)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "opção inválida -- %c; -LARGURA é reconhecida apenas quando é a primeira\n" "opção; use -w N ao invés" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "largura inválida: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Envolver as linhas de entrada em cada FICHEIRO (entrada padrão por " "omissão),\n" "escrelendo para a saída padrão.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes countar bytes em vez de colunas\n" " -s, --spaces separar nos espaços\n" " -w, --width=LARGURA usar LARGURA colunas em vez de 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "número inválido de colunas: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Utilização: %s [OPÇÃO]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "erro ao obter os grupos do utilizador %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "erro ao obter os grupos do processo corrente" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "impossível encontrar o nome do grupo com ID %lu" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]\n" #: src/groups.c:54 #, fuzzy msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Mostrar informação para UTILIZADOR ou, sem UTILIZADOR especificado,\n" "o processo corrente (diferente se base de dados de grupos foi alterada).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "impossível alterar o ID do utilizador" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "impossível desreferenciar %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "impossível alterar o ID do utilizador" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Utilizador inexistente" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Mostrar as primeiras 10 linhas de cada FICHEIRO.\n" "Com mais de um FICHEIRO, preceder cada linha com o nome do ficheiro.\n" "Sem FICHEIRO ou quando FICHEIRO é -, ler a entrada padrão.\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N mostrar os primeiros N bytes de cada ficheiro;\n" " com '-' atras, mostrar todos excepto os " "últimos\n" " N bytes de cada ficheiro\n" " -n, --lines=[-]N mostrar as primeiras N linhas em vez das 10;\n" " com '-' atras, mostrar todas excepto as " "últimas\n" " N linhas de cada ficheiro\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent nuncar mostrar cabeçalhos com nomes de ficheiros\n" " -v, --verbose mostrar sempre cabeçalhos com nomes de ficheiros\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "N pode ter um sufixo de multiplicação:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 e assim por diante para T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: o ficheiro encolheu demasiado" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: número de bytes muito grande" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: impossível retornar à posição original" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: impossível deslocar para a posição %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: impossível remover" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "impossível reposicionar apontador de ficheiro para %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s é tão grande que não é representável" #: src/head.c:886 msgid "number of lines" msgstr "número de linhas" #: src/head.c:886 msgid "number of bytes" msgstr "número de bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "número de linhas inválido" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "número de bytes inválido" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "opção final inválida -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Utilização: %s\n" " ou: %s OPÇÃO\n" "Exibir o identificador numérico (hexadecimal) da máquina actual.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Utilização: %s [NOME]\n" " ou: %s [OPÇÃO]\n" "Exibir ou alterar o nome de máquina do sistema actual.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "impossível alterar o nome de máquina para %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "impossível alterar nome da máquina; o sistema não tem a funcionalidade" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "impossível determinar o nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Exibir informação de UTILIZADOR, ou o utilizador actual.\n" "\n" " -a ignorar, para fins de compatibilidade com outras versões\n" " -Z, --context mostrar só o contexto de segurança do utilizador actual\n" " -g, --group mostrar só o ID do grupo efectivo\n" " -G, --groups mostrar todos os ID's de grupos\n" " -n, --name mostrar o nome em vez de um número, para -ugG\n" " -r, --read mostrar o ID real em vez do ID efectivo, com -ugG\n" " -u, --user mostrar só o ID do utilizador\n" "\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sem qualquer OPÇÃO, mostrar alguma informação útil identificada.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) apenas funciona com SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "impossível mostrar contexto de segurança quando especificado pelo utilizador" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "impossível mostrar \"apenas\" de mais de uma escolha" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "impossível exibir apenas nomes ou IDs reais no formato predefinido" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "impossível obter contexto do processo" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "impossível desreferenciar %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "impossível encontrar o nome do utilizador com ID %lu" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " grupos=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "contexto inválido: %s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "aviso: %s: erro ao alterar contexto para %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "a criar a pasta %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "impossível alterar o dono de %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "impossível alterar marcas de tempo de %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "erro na chamada de sistema fork" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "impossível correr strip" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "a aguardar por strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "o processo strip terminou anormalmente" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "utilizador inválido %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Utilização: %s [OPÇÃO]... [-T] ORIGEM DESTINO\n" " ou: %s [OPÇÃO]... ORIGEM... PASTA\n" " ou: %s [OPÇÃO]... -t PASTA ORIGEM...\n" " ou: %s [OPÇÃO]... -d PASTA...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "Nas primeiras 3 formas, copiar ORIGEM para DESTINO ou múltiplas ORIGEM(ns)\n" "para a PASTA existente, e também definir modos de permissão e dono/grupo.\n" "Na quarta forma, criar todos os componentes da(s) PASTA(s) dada(s).\n" "\n" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROLO] salvaguardar cada ficheiro de destino existente\n" " -b como --backup mas não aceita um argumento\n" " -c (ignorado)\n" " -d, --directory tratar todos os argumentos como pastas: criar todos " "os\n" " componentes das pastas especificadas\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D criar todos os componentes iniciais de DESTINO " "excepto\n" " o último e depois copiar ORIGEM para DESTINO\n" " -g, --group=GRUPO alterar grupo de posse, não o actual grupo do " "processo\n" " -m, --mode=MODO alterar permissões (como em chmod), não rwxr-xr-x\n" " -o, --owner=DONO alterar dono (apenas superutilizador)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps aplicar tempos de acesso/modif. de ORIGEM" "(ens)\n" " para ficheiros de destino correspondentes\n" " -s, --strip remover tabelas de símbolos\n" " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual\n" " -t, --target-directory=PASTA copiar todos os argumentos ORIGEM para " "PASTA\n" " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" " -v, --verbose mostrar o nome de cada pasta assim que criadas\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context preservar contexto de segurança SELinux\n" " -Z, --context=CONTEXTO alterar cont. de segurança SELinux de fich. e " "pastas\n" #: src/install.c:859 #, fuzzy, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "Aviso: a ignorar --preserve-context; este sistema tem SELinux desactivado." #: src/install.c:869 #, fuzzy, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "Aviso: a ignorar --context (-Z); SELinux não activado." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "a opção strip não pode ser usada ao instalar uma pasta" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "pasta de destino não permitida ao instalar uma pasta" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "impossível forçar contexto alvo a %s e preservá-lo" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "modo inválido %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "as opções para saída em modo verboso e estilos de saída legíveis\n" "pelo stty são mutuamente exclusivas" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" "as opções para especificar datas para impressão são mutuamente exclusivas" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "PAra cada par de linhas de entrada com campos de junção idênticos, escrever\n" "uma linha na saída padrão. O campo de junção predefinido é o primeiro,\n" "delimitado por espaço. Quando FICH1 ou FICH2 (não ambos) é -, ler stdin.\n" "\n" " -a NUMFICH mostrar linhas sem par vindas do ficheiro NUMFICH, onde\n" " NUMFICH é 1 ou 2, correspondente a FICH1 ou FICH2\n" " -e VAZIO substituir campos de entrada em falta com VAZIO\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignorar diferenças de capitalização ao comparar campos\n" " -j CAMPO equivalente a '-1 CAMPO -2 CAMPO'\n" " -o FORMATO obedecer FORMATO ao construir linha de saída\n" " -t CAR usar CAR como separador de campo de entrada e saída\n" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMFICH como -a NUMFICH, mas suprimir linhas de saída juntas\n" " -1 CAMPO juntar neste CAMPO do ficheiro 1\n" " -2 CAMPO juntar neste CAMPO do ficheiro 2\n" " --check-order verificar entrada ordenada, mesmo que todas as linhas " "de\n" " entrada estejam em pares\n" " --nocheck-order não verificar ordenação da entrada\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Excepto se -t CAR for dado, espaços iniciais separam campos e são " "ignorados,\n" "senão campos são separados por CAR. Qualquer CAMPO é um número de campo a\n" "partir de 1. FORMATO é uma ou mais especificações separadas por vírgulas ou\n" "espaço, cada sendo 'NUMFICH.CAMPO' ou '0'. FORMATO predefinido despeja " "campos\n" "juntos, campos restantes de FICH1, campos restantes de FICH2, todos " "separados\n" "por CAR.\n" "\n" "Importante: FICH1 e FICH2 devem ser ordenados nos campos de junção.\n" "Ex., use 'sort -k 1b,1' se 'join' não tiver opções.\n" "Se a entrada não estiver ordenada e algumas linhas não podem ser juntas, " "uma\n" "mensagem de aviso será mostrada.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "número de campo inválido: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "especificador de campo inválido: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "número de ficheiro inválido no especificador de campo: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "campos de junção inválidos %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "expressões de substituição de campo vazio em conflicto" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "tabulador multi-carácter %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "tabuladores incompatíveis" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ambos os ficheiros não podem ser a entrada padrão" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Utilização: %s [-s SINAL | -SINAL] PID...\n" " ou: %s -l [SINAL]...\n" " ou: %s -t [SINAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Enviar sinais a processos ou listar sinais.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SINAL, -SINAL\n" " especificar o nome ou número do sinal a enviar\n" " -l, --list listar nomes dos sinais ou converter para/de números\n" " -t, --table exibir uma tabela de informao de informação sinais\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SINAL pode ser um nome de sinal como 'HUP', um número de sinal como '1' ou\n" "um estado de saída de um processo terminado por um sinal.\n" "PID é um inteiro; se negativo identifica um grupo de processos.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: número de processo inválido" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opção inválida -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: múltiplos sinais especificados" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "múltiplas opções -l ou -t especificadas" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "impossível combinar sinal com -l ou -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "número de processo não especificado" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "argumento %s inválido para %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Utilização: %s FICHEIRO1 FICHEIRO2\n" " ou: %s OPÇÃO\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Chamar a função link para criar uma ligação FICH2 para um FICH1 existente.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "impossível criar ligação %s para %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: ligação persistente não autorizada para a pasta" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: impossível sobrescrever a pasta" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: substituir %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "impossível criar a ligação simbólica %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "impossível criar a ligação simbólica %s para %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "a criar ligação persistente para %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "impossível criar a ligação persistente %s para %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "impossível criar a ligação persistente %s para %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Utilização: %s [OPÇÃO]... [-T] DESTINO NOME_LIGAÇÃO (1o formato)\n" " ou: %s [OPÇÃO]... DESTINO (2o formato)\n" " ou: %s [OPÇÃO]... DESTINO... PASTA (3o formato)\n" " ou: %s [OPÇÃO]... -t PASTA DESTINO... (4o formato)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Na primeira forma, criar uma ligação para DESTINO com nome NOME_LIGAÇÃO.\n" "Na segunda forma, criar uma ligação para DESTINO na pasta actual.\n" "Na terceira e quarta formas, criar ligações para cada DESTINO na PASTA.\n" "Criar ligações persistentes por omissão, ligações simbólicas com --" "symbolic.\n" "Ao criar ligações persistentes, cada DESTINO deve existir.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROLO] salvaguardar cada ficheiro de destino " "existente\n" " -b como --backup mas não aceita um argumento\n" " -d, -F, --directory deixar o superutil. tentar ligações " "persistentes\n" " para pastas (nota: provavelm. falhará devido " "a\n" " restrições de sistema, mesmo para o sup-" "util.)\n" " -f, --force remover ficheiros de destino existentes\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference tratar destinos que são ligações simbólicas\n" " para uma pasta como se fossem um fich. " "normal\n" " -i, --interactive perguntar antes de remover destinos\n" " -s, --symbolic criar ligações simbólicas em vez de " "persistentes\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual\n" " -t, --target-directory=PASTA especificar a PASTA na qual criar as\n" " ligações\n" " -T, --no-target-directory tratar NOME_LIGAÇÃO como um ficheiro normal\n" " -v, --verbose mostrar o nome de cada ficheiro ligado\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "Impossível combinar --target-directory e --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "impossível criar a ligação simbólica %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Utilização: %s [OPÇÃO]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Exibir o nome do utilizador actual.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "sem nome de utilizador" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "a ignorar valor inválido da variável de ambiente QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "a ignorar largura inválida na variável de ambiente COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "a ignorar tamanho de tab inválido na variável de ambiente TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "largura de linha inválida: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "tamanho de tabulação inválido: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "formato de estilo de tempo inválido %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Argumentos válidos:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefixo desconhecido: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "a variável de ambiente LS_COLORS tem um valor ilegível" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "impossível abrir a pasta %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "impossível obter o dispositivo e inode de %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: a não listar pasta já listada" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "a ler a pasta %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "a fechar a pasta %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "impossível comparar os nomes de ficheiro %s e %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Listar informação acerca dos FICHEIROs (a pasta actual por omissão).\n" "Ordenar entradas alfabeticamente se nenhuma de -cftuvSUX e --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all não ignorar entradas iniciadas por .\n" " -A, --almost-all não listar . e .. implícitas\n" " --author com -l, mostrar o autor de cada ficheiro\n" " -b, --escape mostrar sinal. octais para caract. não " "gráficos\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=TAMANHO usar blocos de TAMANHO bytes\n" " -B, --ignore-backups não listar entradas terminadas com ~\n" " -c com -lt: ordenar por e mostrar ctime (tempo da\n" " última modificação do estado do ficheiro)\n" " com -l: mostrar ctime e ordenar por nome\n" " senão: ordenar por ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C listar entradas por colunas\n" " --color[=QUANDO] controlar se cor é usada para distinguir tipos " "de\n" " ficheiro. QUANDO é 'never', 'always' ou " "'auto'\n" " -d, --directory listar entradas da pasta em vez do conteúdo e " "não\n" " desreferenciar ligações simbólicas\n" " -D, --dired gerar saída desenhada para o modo de pastas " "Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f não ordenar, activar -aU, desactivar -ls --" "color\n" " -F, --classify acrescentar indicador (um de */=>@|) às " "entradas\n" " --file-type da mesma forma, excepto não acrescentar '*'\n" " --format=PALAVRA ao longo -x, vírgulas -m, horizontal -x, longo -" "l,\n" " uma coluna -1, verboso -l, vertical -C\n" " --full-time como -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g como -l, mas não listar o dono\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " agrupar pastas antes de ficheiros.\n" " aumentar com uma opção --sort, mas qualquer\n" " uso de --sort=none (-U) desactiva " "agrupamento\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group numa listagem longa, não mostrar nomes de " "grupos\n" " -h, --human-readable com -l, mostrar tamanhos legíveis por humanos\n" " (ex., 1K 234M 2G)\n" " --si igual, mas usar potências de 1000, não 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " seguir ligações simbólicas listadas na consola\n" " --dereference-command-line-symlink-to-dir\n" " seguir cada ligação simbólica da linha de\n" " comandos que aponte para uma pasta\n" " --hide=PADRÃO não listar entradas que correspondam ao PADRÃO\n" " (redefinido por -a ou -A)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=PAL adicionar indicador com estilo PAL às " "entradas:\n" " none (predefinido), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode mostrar o número de índice de cada ficheiro\n" " -I, --ignore=PADRÃO não listar entradas que correspondam ao PADRÃO\n" " -k como --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l usar um formato de listagem longo\n" " -L, --dereference ao mostrar informação para uma ligação " "simbólica,\n" " mostrar informação do ficheiro referenciado " "em\n" " vez da própria ligação\n" " -m encher largura com entradas separadas por ,\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid como -l, mas listar util. numérico e IDs de " "grupo\n" " -N, --literal mostrar nomes em bruto (ex. não tratar " "caracteres\n" " de controlo de forma especial)\n" " -o como -l, mas não listar informação de grupo\n" " -p, --indicator-style=slash\n" " acrescentar indicador / a pastas\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars exibir ? em vez de caracteres não-gráficos\n" " --show-control-chars exibir caracteres não-gráficos (predefinido\n" " a não ser com `ls' e um terminal como saída)\n" " -Q, --quote-name colocar aspas nos nomes das entradas\n" " --quoting-style=PALAV usar estilo de citação PALAV para nomes:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse ordem inversa ao ordenar\n" " -R, --recursive listar subpastas recursivamente\n" " -s, --size mostrar o tamanho de cada ficheiro, em blocos\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S ordenar por tamanho de ficheiro\n" " --sort=PAL ordenar por PAL em vez de nome: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=PAL com -l, mostrar tempo como PAL, não tempo de\n" " modific.: atime -u, access -u, use -u, ctime -" "c,\n" " ou status -c; usar tempo especificado como " "chave\n" " de ordenação se --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=ESTILO com -l, mostrat tempos usando o ESTILO:\n" " full-iso, long-iso, iso, locale, +FORMATO.\n" " FORMATO é interpretado como 'date'; se FORMATO " "é\n" " FORMATO1<nova-linha>FORMATO2, FORMATO1 aplica-" "se\n" " a ficheiros não recentes e FORMATO2 a " "recentes;\n" " se ESTILO é prefixado com 'posix-', ESTILO " "toma\n" " efeito apenas fora da localização POSIX\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ordenar por tempo de modificação\n" " -T, --tabsize=COLS assumir TABs de COLS espaços em vez de 8\n" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u com -lt: ordenar por, e mostrar, tempo de " "acesso\n" " com -l: mostrar tempo acesso e ordenar por " "nome\n" " senão: ordenar por tempo de acesso\n" " -U não ordenar; listar entradas na ordem da pasta\n" " -v ordenar por versão\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS assumir largura de ecrã em vez do valor actual\n" " -x listar entradas por linhas, não por colunas\n" " -X ordenar alfabeticamente por extensão\n" " -Z, --context mostrar contextos de segurança SELinux\n" " -1 listar um ficheiro por linha\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Utilização: %s [OPÇÃO] [FICHEIRO]...\n" "Mostrar ou verificar %s somas de controlo (de %d bits).\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary ler em modo binário (predefinido excepto ao ler " "stdin)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary ler em modo binário\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check ler somas de %s dos FICHEIROs e verificá-las\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text ler em modo de texto (predefinido ao ler stdin)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text ler em modo de texto (predefinido)\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "As duas seguintes opções são úteis apenas ao verificar somas de controlo:\n" " --status não mostrar nada, código de saída mostra sucesso\n" " -w, --warn avisar linhas de somas de controlo mal formatadas\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "As somas são calculadas como descrito em %s. Ao verificar, a entrada deve " "ser\n" "uma saída anterior deste programa. O modo predefinido é exibir uma linha " "com\n" "soma de controlo, um carácter indicando o tipo ('*' para binário, ' ' para\n" "texto) e nome para cada FICHEIRO.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: demasiadas linhas de somas de controlo" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: linha de soma de controlo %s mal formatada" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: ERRO de abertura ou leitura\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "ERRO" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: encontradas linhas de somas de controlo %s mal formatadas" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: linha de soma de controlo %s mal formatada" msgstr[1] "%s: %<PRIuMAX>: linha de soma de controlo %s mal formatada" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "AVISO: %<PRIuMAX> de %<PRIuMAX> ficheiro listado não lido" msgstr[1] "AVISO: %<PRIuMAX> de %<PRIuMAX> ficheiros listados não lidos" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "AVISO: %<PRIuMAX> de %<PRIuMAX> soma de controlo não corresponde" msgstr[1] "AVISO: %<PRIuMAX> de %<PRIuMAX> somas de controlo não correspondem" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "a opção --status apenas faz sentido ao verificar somas de controlo" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "as opções --binary e --text não têm sentido ao verificar somas de controlo" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "a opção --status apenas faz sentido ao verificar somas de controlo" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "a opção --warn apenas faz sentido ao verificar somas de controlo" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "a opção --status apenas faz sentido ao verificar somas de controlo" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "a opção --status apenas faz sentido ao verificar somas de controlo" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Utilização: %s [OPÇÃO]... PASTA...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Criar as PASTA(s),caso ainda não existam.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODO alterar modo do ficheiro (como chmod), não a=rwx - " "umask\n" " -p, --parents sem erro se existir, criar pastas antecessoras se " "preciso\n" " -v, --verbose mostrar uma mensagem para cada pasta criada\n" " -Z, --context=CTX alterar o context de segurança SELinux de cada pasta\n" " criada para CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "pasta %s criada" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Utilização: %s [OPÇÃO]... NOME...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Criar pipes nomeados (FIFOs) com os NOMEs dados.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=MODO alterar permissões para MODO, não a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX alterar cont. segur. SELinux de cada NOME para CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "modo inválido" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "modo deve especificar apenas bits de permissão de ficheiro" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Utilização: %s [OPÇÃO]... NOME TIPO [MAIOR MENOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Criar o ficheiro especial NOME com o TIPO dado.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX alterar contexto de segur. SELinux de NOME para CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Tanto MAIOR como MENOR devem ser especificadas quando TIPO é b, c ou u, e " "devem\n" "ser omitidas quando TIPO é p. Se MAIOR ou MENOR começarem com 0x ou 0X,\n" "é interpretado como hexadecimal; senão, se começarem por 0, como octal;\n" "senão, como decimal. TIPO pode ser:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b criar um ficheiro especial de bloco (protegido)\n" " c, u criar um ficheiro especial de caracteres (não protegido)\n" " p criar um FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Ficheiros especiais requerem números maior e menor do dispositivo." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifos não possuem números maior e menor de dispositivo." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "ficheiros especiais de tipo bloco não suportados" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "ficheiros especiais de tipo caracter não suportados" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "número maior de dispositivo inválido %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "número menor de dispositivo inválido %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "dispositivo inválido %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tipo de dispositivo inválido %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Utilização: %s [OPÇÃO]... [MOLDE]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Criar um ficheiro ou pasta temporários de forma segura e mostrar o nome.\n" "Se MOLDE não for especificado, usar tmp.XXXXXXXXXX.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 #, fuzzy msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=PASTA] interpretar MOLDE relativamente a PASTA. Se PASTA não " "for\n" " especificada, usar $TMPDIR se definida, senão /tmp.\n" " Com esta opção, MOLDE não pode ser um nome absoluto.\n" " Contrariamente a -t, MOLDE pode conter barras, mas " "ainda\n" " assim mktemp cria apenas a componente final.\n" #: src/mktemp.c:95 #, fuzzy msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -t interpretar MOLDE como componente de um nome de " "ficheiro,\n" " relativo a uma pasta: $TMPDIR, se definida; senão a\n" " pasta especificada via -p; senão /tmp [obsoleto]\n" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "erro ao redireccionar o canal de erro padrão" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "demasiados moldes (templates)" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, fuzzy, c-format msgid "invalid suffix %s, contains directory separator" msgstr "molde (template) inválido, %s, contém separador de pastas" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "muito poucos X's no molde (template) %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "molde (template) inválido, %s, contém separador de pastas" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "molde (template) inválido, %s; com --tmpdir, pode não ser absoluto" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "erro ao criar pasta via molde (template) %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "erro ao criar ficheiro via molde (template) %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Renomear ORIGEM para DESTINO ou mover ORIGEM(ns) para PASTA.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROLO] savaguardar cada ficheiro de destino " "existente\n" " -b como --backup mas não aceita um argumento\n" " -f, --force não perguntar antes de sobrescrever\n" " -i, --interactive perguntar antes de sobrescrever\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes remover barras no final de cada argumento\n" " de ORIGEM\n" " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=PASTA mover todas as ORIGEM(ns) para a PASTA\n" " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" " -u, --update mover apenas quando a ORIGEM é mais recente\n" " que o ficheiro de destino ou quando o\n" " ficheiro de destino não existe\n" " -v, --verbose explicar o que está a ser feito\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Utilização: %s [OPÇÃO] [COMANDO [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Correr COMANDO com prioridade, ajustada afectando o planeamento de " "processos.\n" "Sem COMANDO, mostrar a prioridade actual. Prioridades variam entre %d\n" "(mais favorável) e %d (menos favorável).\n" "\n" " -n, --adjustment=N somar inteiro N à prioridade (predifinido 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ajuste inválido %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "um comando deve ser dado com um ajuste" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "impossível obter nível de prioridade" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "impossível alterar nível de prioridade" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escrever cada FICHEIRO para a saída padrão, com número de linha.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=ESTILO usar ESTILO para numerar linhas de corpo\n" " -d, --section-delimiter=CC usar CC para separar páginas lógicas\n" " -f, --footer-numbering=ESTILO usar ESTILO para numerar linhas de roda-" "pé\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=ESTILO usar ESTILO para numerar linhas de " "cabeçalho\n" " -i, --page-increment=NÚMERO incremento de número de linha em cada " "linha\n" " -l, --join-blank-lines=NÚMERO NÚMERO linhas vazias contadas como uma\n" " -n, --number-format=FORMATO inserir números de linha no FORMATO\n" " -p, --no-renumber não limpar número de linha em páginas " "lógicas\n" " -s, --number-separator=EXP adicionar EXP após (possível) número de " "linha\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=NÚMERO numerar primeira linha a cada página " "lógica\n" " -w, --number-width=NÚMERO usar NÚMERO colunas para números de linha\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Predefinidamente, seleciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC são\n" "dois caracteres delimitadores para separar páginas lógicas, um segundo\n" "carácter em falta implica :. Escreva \\\\ para \\. ESTILO é um de:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numerar todas as linhas\n" " t numerar apenas linhas não vazias\n" " n não numerar linhas\n" " pERB numerar apenas linhas que correspondam à expressão regular\n" " básica, ERB\n" "\n" "FORMATO é um de:\n" "\n" " ln alinhado à esquerda, sem zeros iniciais\n" " rn alinhar à direita, sem zeros iniciais\n" " rz alinhar à direita, com zeros iniciais\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "número de linha demasiado grande" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "estilo de numeração de cabeçalho inválido: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "estilo de numeração de corpo inválido: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "estilo de numeração de roda-pé inválido: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "número de linha inicial inválido: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incremento de número de linha inválido: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "número inválido de linhas em branco: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "largura de campo de número de linha inválida: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "formato de numeração de linha inválido: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s COMANDO [ARG]...\n" " ou: %s OPÇÃO\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Executar COMANDO, ignorando sinais de término.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Se a entrada padrão é um terminal, redireccioná-la de /dev/null.\n" "Se a saída padrão é um terminal, acrecentar saída a 'nohup.out' se " "possível,\n" "senão '$HOME/nohup.out'.\n" "Se o erro padrão é um terminal, redireccioná-lo para a saída padrão.\n" "Para gravar a saída para FICHEIRO, use '%s COMANDO > FICHEIRO'.\n" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "erro ao redireccionar o canal de erro padrão" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "a ignorar a entrada" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "a ignorar a entrada e a acrescentar a saída a %s" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "a ignorar a entrada e a acrescentar a saída a %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "erro ao configurar a cópia de stderr para fechar em exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "a ignorar entrada e a redireccionar stderr para stdout" #: src/nohup.c:199 #, fuzzy, c-format msgid "redirecting stderr to stdout" msgstr "a ignorar entrada e a redireccionar stderr para stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "erro ao redireccionar o canal de erro padrão" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Utilização: %s [OPÇÃO]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: número de linhas inválido" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valor não convertido na totalidade" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "número inválido %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "sufixo inválido no argumento %s%s '%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: erro ao abrir para escrita" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "tamanho de tabulação inválido: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "o destino %s não é uma pasta" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "formato de largura inválido" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "sufixo inválido no argumento %s%s '%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "Alcance de página inválido %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "número de campo inválido: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "data inválida %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Operandos ficheiros não podem ser combinados com --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Operandos ficheiros não podem ser combinados com --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "múltiplas opções -i especificadas" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Operandos ficheiros não podem ser combinados com --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "erro ao ler %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "erro ao redireccionar o canal de erro padrão" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" " ou: %s [-abcdfilosx]... [FICHEIRO] [[+]POSIÇÃO[.][b]]\n" " ou: %s --traditional [OPÇÃO]... [FICHEIRO] [[+]POSIÇÃO[.][b] [+]" "[ETIQUETA][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Escrever uma representação não ambígua, predefinidamente bytes octais,\n" "de FICHEIRO para a saída padrão. Com mais de um argumento FICHEIRO,\n" "concatená-los na ordem listada para formar a entrada.\n" "Sem FICHEIRO ou quando FILE é -, ler a entrada padrão.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Se ambos o primeiro e segundo formatos se aplicarem, o segundo é assumido " "se\n" "o último operando começar por + ou (se houver 2 operandos) um dígito.\n" "Um operando ÃNDICE significa -j ÃNDICE. ETIQUETA é o pseudo-endereço do\n" "primeiro byte mostrado, incrementado ao longo que se despeja.\n" "Para ÃNDICE e ETIQUETA, um prefixo 0x ou 0X indica hexadecimal;\n" "sufixos podem ser . para octal e b para multiplicar por 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADICAL decidir como exibir índices de ficheiros\n" " -j, --skip-bytes=BYTES saltar BYTES bytes de entrada iniciais\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES limitar a BYTES bytes de entrada\n" " -S, --strings[=BYTES] despejar cadeias de pelo menos BYTES " "caracteres\n" " -t, --format=TIPO seleccionar formato ou formatos de saída\n" " -v, --output-duplicates não usar * para marcar supressão de linha\n" " -w, --width[=BYTES] despejar BYTES bytes por linha de saída\n" " --traditional aceitar argumentos na forma tradicional\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Especificações de formato tradicionais podem ser combinadas; elas acumulam:\n" " -a como -t a, seleccionar caract. nomeados ignorando bit de ordem alta\n" " -b como -t o1, seleccionar bytes octais\n" " -c como -t c, seleccionar caract. ASCII ou barras invertidas " "sinalizadas\n" " -d como -t u2, seleccionar unidades de 2 bytes decimais positivas\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f como -t fF, seleccionar reais\n" " -i como -t dI, seleccionar inteiros decimais\n" " -l como -t dL, seleccionar decimais longos\n" " -o como -t o2, seleccionar unidades octais de 2 bytes\n" " -s como -t d2, seleccionar unidades decimais de 2 bytes\n" " -x como -t x2, seleccionar unidades hexadeciamis de 2 bytes\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPO é feito de uma ou mais destas especificações:\n" "\n" " a carácter nomeado, ignorando o bit de alta ordem\n" " c carácter ASCII ou barra invertida sinalizada\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[TAMANHO] decimal com sinal, TAMANHO bytes por inteiro\n" " f[TAMANHO] vírgula flutuante, TAMANHO bytes por inteiro\n" " o[TAMANHO] octal, TAMANHO bytes por inteiro\n" " u[TAMANHO] decimal sem sinal, TAMANHO bytes por inteiro\n" " x[TAMANHO] hexadecimal, TAMANHO bytes por inteiro\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "TAMANHO é um número. Para TIPO em doux, TAMANHO pode também ser C para\n" "sizeof(char), S para sizeof(short), I para sizeof(int) or L para\n" "sizeof(long). Se TIPO é f, TAMANHO pode também ser F para sizeof(float), D\n" "para sizeof(double) ou L para sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "N pode ter um sufixo de multiplicação:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 e assim por diante para T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "expressão inválida %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "expressão de tipo inválida %s;\n" "este sistema não providencia um tipo integral de %lu bytes" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "expressão de tipo inválida %s;\n" "este sistema não providencia um tipo de vírgula flutuante de %lu bytes" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "carácter inválido '%c' na expressão de tipo %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "impossível slatar depois do fim da entrada combinada" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "radical de endereço de saída '%c' inválido; tem de ser um carácter de [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "nenhum tipo pode ser especificado ao despejar expressões" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "Modo de compatibilidade suporta no máximo um ficheiro." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes é demasiado grande" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "aviso: largura inválida %lu; a usar %d ao invés" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: sinal inválido" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "o canal de entrada padrão está fechado" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escrever linhas consistindo das linhas correspondentes sequencialmente de\n" "cada FICHEIRO, separadas por TABs, para a saída padrão.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA reusar caracteres de LISTA em vez de TABs\n" " -s, --serial colar um ficheiro de cada vez em vez de em " "paralelo\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "lista de delimitadores termina com uma barra invertida assinalada: %s" #: src/pathchk.c:90 #, fuzzy msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnosticar construções não portáveis em NOME.\n" "\n" " -p verificar para a maioria dos sistemas POSIX\n" " -P verificar nomes vazios e '-' no início\n" " --portability verificar todos os sistemas POSIX (equivalente a -p -" "P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "'-' no início de uma componente do nome de ficheiro %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "carácter não portável %s no nome de ficheiro %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "nome de ficheiro vazio" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: erro ao determinar o comprimento máximo de nome de ficheiro" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limite %lu excedido por comprimento %lu do nome de ficheiro %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "limite %lu excedido por comprimento %lu da componente do nome de ficheiro %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nome de utilizador: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Na vida real: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Pasta: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Consola: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projecto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Utilizador" #: src/pinky.c:407 msgid "Name" msgstr "Nome" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Inactivo" #: src/pinky.c:411 msgid "When" msgstr "Quando" #: src/pinky.c:414 msgid "Where" msgstr "Onde" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l produzir saída longa para os UTILIZADORes especificados\n" " -b omitir a pasta pessoa do utilizador e shell em formato " "longo\n" " -h omitir o ficheiro de projecto do utilizador em formato " "longo\n" " -p omitir o ficheiro de plano do utilizador em formato longo\n" " -s produzir saída curta (predefinido)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f omitir a linha de títulos de coluna em formato curto\n" " -w omitir o nome completo do utilizador em formato curto\n" " -i omitir nome comp. do util. e máquina remota em formato " "curto\n" " -q omitir o nome completo do utilizador, máquina remota e " "tempo\n" " de inactividade em formato curto\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Um programa 'finger' leve; exibir informação de utilizador.\n" "O ficheiro utmp será %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "nenhum utilizador especificado; pelo menos um deve sê-lo com -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "'--pages=PRIM_PÃG[:ÚLT_PÃG]' argumento em falta" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "Alcance de página inválido %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "'-l COMP_PÃG' número inválido de linhas: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N NÚMERO' número de linha inicial inválido: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "'-o MARGEM' índice de linha inválido: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "'-w COMP_PÃG' número de caracteres inválido: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "'-W COMP_PÃG' número inválido de caracteres: %s" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Impossível especificar número de colunas ao escrever em paralelo." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "Impossível especificar simultaneamente escrita paralela e não paralela." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "'-%c' caracteres extra ou número inválido no argumento: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "largura de página muito estreita" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "número de página inicial %<PRIuMAX> excede contagem de páginas %<PRIuMAX>" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "Excesso de número de página" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Página %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Paginar ou colunizar FICHEIRO(s) para impressão.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIM_PÃG[:ÚLT_PÃG], --pages=PRIM_PÃG[:ÚLT_PÃG]\n" " iniciar [parar] impressão com página PRIM_[ÚLT_]PÃG\n" " -COLUNAS, --columns=COLUNAS\n" " despejar COLUNAS colunas e mostrar colunas " "descendentemente\n" " excepto se -a for usada. Equilibrar o número de linhas " "nas\n" " colunas de cada página.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across imprimir colunas em largura, não altura, usado em " "conjunto\n" " com -COLUNAS\n" " -c, --show-control-chars\n" " usar notações de chapéu (^G) e barra invertida octal\n" " -d, --double-space\n" " duplicar o espaço da saída\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMATO\n" " usar FORMATO para a data de cabeçalho\n" " -e[CAR[LARGURA]], --expand-tabs[=CAR[LARGURA]]\n" " expandir CARacteres de entrada (TABs) para LARGURA (8)\n" " -F, -f, --form-feed\n" " usar form feeds em vez de nova linha para separar " "páginas\n" " (por um cabeçalho de página de 3 linhas com -F ou\n" " cabeçalho e reboque de 5 linhas sem -F)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h CABEÇALHO, --header=CABEÇALHO\n" " usar um CABEÇALHO centrado em vez do nome do ficheiro,\n" " -h \"\" imprime uma linha vazia, não use -h\"\"\n" " -i[CAR[LARGURA]], --output-tabs[=CAR[LARGURA]]\n" " substituir espaços por CARs (TABs) com LARGURA (8)\n" " -J, --join-lines juntar linhas completas, desactiva truncagem -W, sem\n" " alinhamento de cols., --sep-string[=EXP] define " "separadores\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l ALT_PÃG, --length=ALT_PÃG\n" " altera a altura de página para ALT_PÃG (66) linhas\n" " (predefinido 56 linhas de texto, 63 com -F)\n" " -m, --merge imprimir todos os ficheiros em paralelo, um em cada " "coluna,\n" " truncar linhas, mas juntar linhas de altura completa com " "-J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[DÃGITOS]], --number-lines[=SEP[DÃGITOS]]\n" " numerar linhas, usar DÃGITOS (5) dígitos, depois SEP " "(TAB),\n" " contagem predefinida começa com a primeira linha de " "entrada\n" " -N NÚMERO, --first-line-number=NÚMERO\n" " contar a partir de NÚMERO na primeira linha da primeira\n" " página impressa (ver +PRIM_PÃG)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o MARGEM, --indent=MARGEM\n" " iniciar cada linha com MARGEM (zero) espaços, não\n" " afectar -w ou -W, MARGEM será adicionada a LARG_PÃG\n" " -r, --no-file-warnings\n" " omitir aviso quando um ficheiro não puder ser aberto\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CAR],--separator[=CAR]\n" " separar colunas por um único carácter, predefinido para " "CAR\n" " é o carácter <TAB> sem -w e nenhum com -w\n" " -s[CAR] desactiva truncagem de linha de todas as 3 " "opções\n" " de colunas (-COLUNAS|-a -COLUNAS|-m), excepto com -w\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " separar colunas por EXPR,\n" " sem -S: Separador predefinido <TAB> com -J, senão " "<espaço>\n" " (o mesmo que -S\" \"), não afecta opções de colunas\n" " -t, --omit-header omitir cabeçalhos e reboques de página\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " omitir cabeçalhos e reboques de página, eliminar " "paginação\n" " por form feeds nos ficheiros de entrada\n" " -v, --show-nonprinting\n" " usar notação de barra invertida octal\n" " -w LARG_PÃG, --width=LARG_PÃG\n" " alterar largura de página para LARG_PÃG (72) caracteres " "só\n" " para saída de múlt. cols. de texto, -s[char] desactiva " "(72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W LARG_PÃG, --page-width=LARG_PÃG\n" " alterar largura de página para LARG_PÃG (72) caracteres\n" " sempre, truncar linhas, excepto com -J, sem " "interferência\n" " com -S ou -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t é implícito se COMP_PÃG <= 10. Sem FICHEIRO, ou quando\n" "FICHIERO é -, ler a entrada padrão.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Utilização: %s [VARIÃVEL]...\n" " ou: %s OPÇÃO\n" "Sem qualquer VARIÃVEL especificada, exibir todas.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated terminar linhas com byte 0, não nova linha\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "aviso: %s: carácter(acteres) a seguir a carácter constante foram ignorados" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s FORMATO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Exibir ARGUMENTO(s) no FORMATO, ou executar de acordo com OPÇÃO:\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMATO controla a saída como em printf do C. Sequências interpretadas são:\n" "\n" " \\\" aspas\n" " \\NNN carácter com valor octal NNN (1 a 3 dígitos)\n" " \\\\ barra invertida\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xHH byte com valor hexadecimal HH (1 a 2 dígitos)\n" " \\uHHHH carácter Unicode (ISO/IEC 10646) com valor hex HHHH (4 dígitos)\n" " \\UHHHHHHHH carácter Unicode com valor HHHHHHHH (8 dígitos)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% um único %\n" " %b ARGUMENTO como uma expressão com escapes '\\' interpretados,\n" " excepto que escapes octais são da forma \\0 ou \\0NNN\n" "\n" "e todas as especificações de formato C que terminem com um de " "diouxXfeEgGcs,\n" "ARGUMENTOs convertidos para tipo devido antes. Larguras variáveis são " "aceites.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: valor numérico esperado" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valor não convertido na totalidade" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "falta um número hexadecimal no caracter de escape" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "nome de carácter universal inválido \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "largura de campo inválida: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "precisão inválida: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: especificação de conversão inválida" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "aviso: a ignorar argumentos excessivos, a começar por %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (para expressão regular %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Utilização: %s [OPÇÃO]... [ENTRADA]... (sem -G)\n" " ou: %s -G [OPÇÃO]... [ENTRADA [SAÃDA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Despejar um índice permutado, incluindo contexto, das palavras nos ficheiros " "de entrada.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference despejar referências geradas " "automaticamente\n" " -G, --traditional actuar mais de acordo com o 'ptx' System V\n" " -F, --flag-truncation=EXPR usar EXPR para marcar truncagens de linhas\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=EXPR nome de macro a usar em vez de 'xx'\n" " -O, --format=roff gerar saída como directivas roff\n" " -R, --right-side-refs referências à direita, ignoradas com -w\n" " -S, --sentence-regexp=EXPREG para fins de linhas ou frases\n" " -T, --format=tex gerar saída como directivas TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=EXPREG usar EXPREG para combinar cada palavra-" "chave\n" " -b, --break-file=FICHEIRO caracteres separação palavras neste " "FICHEIRO\n" " -f, --ignore-case ignorar capitalização\n" " -g, --gap-size=NÚMERO espaço entre campos de saída, em colunas\n" " -i, --ignore-file=FICHEIRO ler lista palavras a ignorar de FICHEIRO\n" " -o, --only-file=FICHEIRO ler lista palavras únicas de FICHEIRO\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references primeiro campo de cada linha é uma " "referência\n" " -t, --typeset-mode - não implementado -\n" " -w, --width=NÚMERO largura saída em colunas, referência " "excluída\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Sem FICHEIRO ou se FICHEIRO é -, ler a entrada padrão. '-F /' por omissão.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "largura de espaço inválida: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Mostrar o caminho completo da pasta de trabalho actual.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "erro ao entrar na pasta %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "erro ao analisar %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "entrada de pasta não encontrada em %s com i-node correspondente" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "a ignorar argumentos não-opção" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Utilização: %s [OPÇÃO]... FICHEIRO...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Exibir o valor de uma ligação simbólica.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize canonizar seguindo todas as ligações " "simbólicas\n" " em cada componente do nome dado " "recursivamente;\n" " todas as componentes menos última devem " "existir\n" " -e, --canonicalize-existing canonizar seguindo todas as ligações " "simbólicas\n" " em cada componente do nome dado " "recursivamente,\n" " todas as componentes devem existir\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing canonizar seguindo todas as ligações " "simbólicas\n" " em cada componente do nome dado " "recursivamente,\n" " sem requisitos na existência das " "componentes\n" " -n, --no-newline não despejar fim de linha\n" " -q, --quiet,\n" " -s, --silent suprimir a maioria das mensagens de erro\n" " -v, --verbose relatar os erros\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "a ignorar argumentos não-opção" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: entrar na pasta protegida contra escrita %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: entrar na pasta %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: remover %s %s protegido contra escrita?" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: remover %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "pasta removida: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "impossível remover a pasta %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "a saltar %s, uma vez que se encontra noutro dispositivo" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "erro de read" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Tente '%s ./%s' para remover o ficheiro %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Remover (desligar) FICHEIRO(s).\n" "\n" " -f, --force ignorar ficheiros inexistentes, nunca perguntar\n" " -i perguntar antes de cada remoção\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I perguntar uma vez antes de remover mais de 3 " "ficheiros\n" " ou ao remover recursivamente. Menos intrusivo que -" "i,\n" " protegendo ainda contra a maioria dos erros\n" " --interactive[=QUANDO] perguntlr de acordo com QUANDO: never, once (-" "I)\n" " ou always (-i). Sem QUANDO, perguntar sempre\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system ao remover uma hierarquia recursivamente, saltar\n" " pastas de um sistema de ficheiros diferente do\n" " do argumento especificado na linha de comandos\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root não tratar '/' de forma especial\n" " --preserve-root não remover '/' (predefinido)\n" " -r, -R, --recursive remover pastas e seus conteúdos recursivamente\n" " -v, --verbose explicar o que está a ser feito\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Por omissão, rm não remove pastas. Use a opção --recursive (-r ou -R)\n" "para remover cada pasta listada também, bem como os seus conteúdos.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Para remover um ficheiro cujo nome começa por '-', por exemplo '-foo',\n" "utilize um destes comandos:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Note que se usar rm para remover um ficheiro, normalmente é possível " "recuperar\n" "os conteúdos desse ficheiro. Se quiser maior garantia que os conteúdos " "sejam\n" "realmente irrecuperáveis, considere a utilização de shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: remover todos os argumentos recursivamente? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: remover todos os argumentos? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "a remover a pasta, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "erro ao remover a pasta %s" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Remover a(s) PASTA(s), se estiverem vazias.\n" "\n" " --ignore-fail-on-non-empty\n" " ignorar erros relacionadas unicamente com o facto de uma\n" " pasta não estar vazia\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents Remover PASTA e antecedentes. Ex.: 'rmdir -p a/b/c' é\n" " semelhante a 'rmdir a/b/c a/b a'.\n" " -v, --verbose Exibir um diagnóstico para cada pasta processada\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "erro ao remover %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Utilização: %s CONTEXTO COMANDO [args]\n" " ou: %s [ -c ] [-u UTILIZADOR] [-r PAPEL] [-t TIPO] [-l ALCANCE] " "COMANDO [args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "EXecutar um programa num contexto de segurança diferente.\n" "Sem CONTEXTO nem COMANDO, mostrar o actual contexto de segurança.\n" "\n" " CONTEXTO Contexto de segurança completo\n" " -c, --compute computar contexto transição do processo antes de mudar\n" " -t, --type=TIPO tipo (para mesmo papel que pai)\n" " -u, --user=UTILIZADOR identidade do utilizador\n" " -r, --role=PAPEL papel\n" " -l, --range=ALCANCE intervalo de nível\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "múltiplos papéis" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "múltiplos tipos" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "múltiplos utilizadores" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "múltiplos intervalos de nível" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "erro ao obter o contexto actual" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "deve especificar -c, -t, -u, -l, -r ou contexto" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nenhum comando especificado" #: src/runcon.c:201 #, fuzzy, c-format msgid "%s may be used only on a SELinux kernel" msgstr "runcon apenas pode ser usado com SELinux activado" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "erro ao computar um novo contexto" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "erro ao definir o novo utilizador %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "erro ao definir o novo tipo %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "erro ao definir o novo intervalo %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "erro ao definir o novo papel %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "erro ao definir o context de segurança %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Utilização: %s [OPÇÃO]... ÚLTIMO\n" " ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Exibir números de PRIMEIRO a ÚLTIMO, em intervalos de INCREMENTO.\n" "\n" " -f, --format=FORMATO usar FORMATO vírgula flutuante estilo printf " "style\n" " -s, --separator=EXPR usar EXPR para separar números (predefinido: " "\\n)\n" " -w, --equal-width equalizar largura preenchendo zeros iniciais\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Se PRIMEIRO ou INCREMENTO for omitido, assume-se 1. Isto é, um INCREMENTO\n" "omitido assume-se 1 mesmo quando ÚLTIMO é mais pequeno que PRIMEIRO.\n" "PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores reais.\n" "INCREMENTO é habitualmente positivo se PRIMEIRO é menor que ÚLTIMO, e\n" "INCREMENTO é habitualmente negativo se PRIMEIRO é maior que ÚLTIMO.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMATO deve ser indicado para mostrar um argumento de tipo 'double';\n" "predefinido como %.PRECf se PRIMEIRO, INCREMENTO e ÚLTIMO são todos números\n" "decimais de ponto fixo com precisão máxima PREC, seno como %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argumento em vírgula flutuante inválido: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s é um tipo de ficheiro desconhecido" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "a expressão de formatação não deve ser especificada ao mostrar expressões da " "mesma largura" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Utilização: %s OPÇÃO UTILIZADOR COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Descartar grupos suplementares, assumir IDs de utilizador e grupo do " "UTILIZADOR\n" "especificado (ID numérico ou nome) e executar COMANDO com ARGUMENTOs.\n" "Sair com estado 111 se incapaz de assumir IDs de utilizador e grupo " "requeridos.\n" "Caso contrário, sair com o estado de saída de COMANDO.\n" "Este programa é útil apenas quando executado pelo superutilizador (ID " "zero).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] definir também o ID de grupo primário como GID numérico\n" " e (se pedido) IDs de grupo suplementares como GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ID de utilizador desconhecido: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "para usar o ID de utilizador %s necessita usar -g também" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "erro ao definir grupo(s) adicional(is)" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "impossível alterar o identificador de grupo para %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "impossível alterar o identificador de utilizador para %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Sobrescrever os FICHEIRO(s) especificados repetidamente, de forma a tornar\n" "ainda mais difícil recuperar os dados mesmo para equipamento muito caro.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force alterar permissões para permitir escrita se necessário\n" " -n, --iterations=N Sobrescrever N vezes em vez do predefinido (%d)\n" " --random-source=FICH obter bytes aleatórios de FICH (/dev/urandom)\n" " -s, --size=N destruir N bytes (sufixos como K, M e G são aceites)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove truncar e remover o ficheiro após sobrescrever\n" " -v, --verbose exibir o progresso\n" " -x, --exact não arredondar tamanhos de ficheiro para próximo bloco;\n" " predefinido para ficheiros não regulares\n" " -z, --zero adicionar zeros no final da escrita para esconder " "destruição\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Se FICHEIRO é -, destruir a saída padrão.\n" "\n" "Remover FICHEIRO(s) se --remove (-u) for especificada. Por omissão, não se\n" "removem os ficheiros porque é comum operar-se em ficheiros de dispositivos " "como\n" "/dev/hda e habitualmente não devem ser removidos. Ao operar em ficheiros\n" "regulares, a opção mais comum é --remove option.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "ATENÇÃO: Note que shred baseia-se numa assunção muito importante:\n" "que o sistema de ficheiro sobrescreve dados no lugar. Este é o modo " "tradicional\n" "de o fazer, mas alguns sistemas modernos não satisfazem esta assunção.\n" "Seguem-se exemplos de sistemas de ficheiros em que shred não é eficaz, ou\n" "não é garantido que seja eficaz em todos os modos do sistema de ficheiros:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* sistemas de ficheiros com journaling, como os fornecidos com AIX e " "Solaris\n" "(e JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* sistemas de ficheiros que escrevem dados redundantes e continuam, mesmo " "após\n" "falhas de escrita, como sistemas de ficheiros baseados em RAID\n" "\n" "* sistemas com imagens instantâneas, como Network Appliance's NFS server\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* sistemas de ficheiros com cache em locais temporários, como clientes\n" "NFS versão 3\n" "\n" "* sistemas de ficheiros com compressão\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "No caso de sistemas de ficheiros ext3, o texto acima aplica-se\n" "(e shred tem portanto eficácia limitada) apenas em modo data=journal,\n" "que regista dados de ficheiros além de apenas metadata. Em ambos os modos\n" "data=ordered (predefinido) e data=writeback, shred funciona como " "habitualmente.\n" "Modos de journaling ext3 podem slr alterados adicionando a opção " "data=something\n" "às opções de montagem para um sistemas de ficheiros particular em /etc/" "fstab,\n" "como documentado na página de manual mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Adicionalmente, salvaguardas de sistemas de ficheiros e espelhos remotos " "podem\n" "conter cópias do ficheiro que não podem ser removidas e isso permitirá que " "um\n" "ficheiro destruído seja recuperado mais tarde.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: error de fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: error de fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: impossível retroceder" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: pass %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: erro ao escrever na posição %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: erro de lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: ficheiro demasiado grande" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: pass %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: erro de fstat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tipo de ficheiro inválido" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: ficheiro tem tamanho negativo" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: erro de truncagem" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: erro de fcntl" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: impossível destruir ficheiro (apenas se pode acrescentar)" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: a remover" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: renomeado para %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: impossível remover" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: removido" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: erro ao fechar" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: erro ao abrir para escrita" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: número de passagens inválido" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "múltiplas origens aleatórias especificadas" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: tamanho de ficheiro inválido" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Utilização: %s [OPÇÃO]... [FICHEIRO]\n" " ou: %s -e [OPÇÃO]... [ARG]...\n" " ou: %s -i BAIXO-ALTO [OPÇÃO]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Escrever uma permutação aleatória das linhas de entrada na saída padrão.\n" "\n" #: src/shuf.c:60 #, fuzzy msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo tratar cada ARG com ouma linha de entrada\n" " -i, --input-range=BAIXO-ALTO tratar cada núm. BAIXO a ALTO como entrada\n" " -n, --head-lines=LINHAS despejar no máximo LINHAS linhas\n" " -o, --output=FICHEIRO escrever resultado em FICHEIRO, não saída " "padrão\n" " --random-source=FICH obter bytes aleatórios de FICH (/dev/urandom)\n" " -z, --zero-terminated terminar linhas com byte zero, não nova linha\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "múltiplas opções -i especificadas" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "intervalo de entrada inválido %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "contagem de linhas inválida %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "múltiplos ficheiros de saída especificados" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "impossível combinar as opções -e e -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Utilização: %s NÚMERO[SUFIXO]...\n" " ou: %s OPÇÃO\n" "Pausar por NÚMERO segundos. SUFIXO pode ser 's' para segundos " "(predefinido),\n" "'m' para minutos, 'h' para horas ou 'd' para dias. Oposto a outras versões\n" "que requerem NÚMERO inteiro, aqui NÚMERO pode ser um real arbitrário.\n" "Dados dois ou mais argumentos, pausar pela quantidade de tempo especificada\n" "pela soma dos seus valores.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "intervalo de tempo inválido %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "impossível consultar relógio de tempo real" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Escrever concatenação ordenada de todos os FICHEIROs na saída padrão.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignorar espaços iniciais\n" " -d, --dictionary-order considerar apenas espaços e car. " "alfanuméricos\n" " -f, --ignore-case ignorar capitalização de letras\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 #, fuzzy msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" "Outras opções:\n" "\n" " -c, --check, --check=diagnose-first verificar entrada ordenada; não " "ordenar\n" " -C, --check=quiet, --check=silent como -c mas não avisar primeira linha " "má\n" " --compress-program=PROG comprimir temporários com PROG;\n" " descomprimir com PROG -d\n" " -k, --key=POS1[,POS2] iniciar uma chave na POS1, acabar POS2 (origem " "1)\n" " -m, --merge combinar ficheiros já ordenados; não ordenar\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FICHEIRO resultado no FICHEIRO em vez da saída padrão\n" " -s, --stable estabilizar desactivando comparações de recurso\n" " -S, --buffer-size=TAMANHO usar TAMANHO para memória principal temporária\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP usar SEP em vez de transição vazio-não-vazio\n" " -T, --temporary-directory=PASTA usar PASTA temporária, não $TMPDIR ou " "%s;\n" " múltiplas opções especificam múltiplas pastas\n" " -u, --unique com -c, verificar ordenação estricta;\n" " sem -c, mostrar só primeiro de iguais\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated terminar linhas com byte 0, não nova linha\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS é F[.C][OPTS], onde F é o número de campo e C a posição de carácter\n" " no campo; ambos têm origem 1. Se nem -t nem -b estiver em efeito,\n" "caracteres num campo são contados do início do espaço branco precedente. " "OPTS\n" "é uma ou mais opções de ordenação de letra única, que sobrescrevem as " "opções\n" "de ordenação globais para essa chave. Sem chave dada, usar a linha inteira.\n" "\n" "TAMANHO pode ser seguido pelos seguintes sufixos multiplicativos:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% de memória, b 1, K 1024 (predef.) e por aí fora para M, G, T, P, E, Z, " "Y.\n" "\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" "*** AVISO ***\n" "A localização lespecificada pelo ambiente afecta a ordem de ordenação.\n" "Defina LC_ALL=C para obter a ordenação tradicional que utiliza valores\n" "de byte nativos.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "a aguardar por %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] terminou de forma anormal" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "impossível criar a pasta temporária %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "erro de open" #: src/sort.c:970 msgid "fflush failed" msgstr "erro de fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "erro de close" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "erro de dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "impossível executar %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "impossível criar o ficheiro temporário" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "impossível criar o processo para %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "impossível executar %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "aviso: impossível remover: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "argumento inválido %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "argumento %s%s inválido '%s'" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "argumento %s%s '%s' demasiado grande" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "error de stat" #: src/sort.c:1755 msgid "read failed" msgstr "erro de read" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "erro na transformação de expressões" #: src/sort.c:2046 #, fuzzy, c-format msgid "the untransformed string was %s" msgstr "a expressão não transformada era %s." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: a opção '%s' é ambígua\n" msgstr[1] "%s: a opção '%s' é ambígua\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "erro de escrita" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: desordem: " #: src/sort.c:2786 msgid "standard error" msgstr "erro padrão" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: impossível retroceder" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: especificação de campo inválida %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "as opções '-%s' são incompatíveis" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: contagem inválida no início de %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "número inválido após '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "número inválido após '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "carácter solto na especificação de campo" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "múltiplos programas de compressão especificados" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "número inválido no início do campo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "número de campo é zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "índice de carácter é zero" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "número inválido após ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "TAB vazio" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "impossível ler os nomes de ficheiros a partir %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "nome de ficheiro vazio inválido'" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "a fechar o ficheiro de entrada %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "operando extra %s não permitido com -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Utilização: %s [OPÇÃO] [ENTRADA [PREFIXO]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Despejar partes de ENTRADA de tamanho fixo para PREFIXOaa, PREFIXOab, ...;\n" "tamanho predef. 1000 linhas e PREFIXO predef. 'x'. Sem ENTRADA, ou quando\n" "ENTRADA é -, ler a entrada padrão.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N usar sufixos de comprimento N (predefinido %d)\n" " -b, --bytes=TAMANHO colocar TAMANHO bytes por ficheiro de saída\n" " -C, --line-bytes=TAMANHO colocar no máximo TAMANHO bytes de linhas por " "fich.\n" " -d, --numeric-suffixes usar sufixos numéricos em vez de alfabéticos\n" " -l, --lines=NÚMERO colocar NÚMERO linhas por ficheiro de saída\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose mostrar um diagnóstico imediatamente antes de " "cada\n" " ficheiro ser aberto\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Sufixos de ficheiro de saída esgotados" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "a criar o ficheiro %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "erro ao definir o novo papel %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "erro ao remover %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "a fechar a pasta %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "a apagar o ficheiro de saída %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "a fechar o ficheiro de entrada %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "a fechar o ficheiro de entrada %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "erro ao alterar contexto de %s para %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "erro ao fechar a pasta %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "a aguardar por strip" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "impossível dividir em mais do que uma forma" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: número de segundos inválido" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: número inválido" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: comprimento de sufixo inválido" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: número de bytes inválido" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: número de linhas inválido" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "opção de contagem de linha -%s%c... é demasiado grande" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "número de linha inicial inválido: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: tamanho de ficheiro inválido" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "impossível determinar o nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "erro ao abrir %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "aviso: código de escape '\\%c' desconhecido" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: directiva inválida" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "aviso: barra invertida no final do formato" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "impossível ler a informação do sistema de ficheiros para %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "a fechar a entrada padrão" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "EXibir o estado de ficheiros ou do sistema de ficheiros.\n" "\n" " -L, --dereference seguir ligações simbólicas\n" " -f, --file-system estado do sistema de ficheiros em vez de ficheiro\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMATO usar o FORMATO especificado em vez do predefinido;\n" " escrever carácter nova linha após cada uso de " "FORMATO\n" " --printf=FORMATO como --format, mas interpretar escapes e não\n" " mostrar um carácter nova linha mandatório.\n" " Se quiser um, inclua \\n em FORMATO.\n" " -t, --terse mostrar a informação em forma resumida\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "As sequências de formato válidas para ficheiros (sem --file-system):\n" "\n" " %a Direitos de acesso em octal\n" " %A Direitos de acesso legíveis por humanos\n" " %b Número de blocos alocados (ver %B)\n" " %B Tamanho em bytes de cada bloco relatado por %b\n" " %C Expressão de contexto de segurança SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Número de dispositivo em decimal\n" " %D Número de dispositivo em hexadecimal\n" " %f Modo bruto em hexadecimal\n" " %F Tipo de ficheiro\n" " %g ID de grupo do dono\n" " %G Nome de grupo do dono\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Número de ligações persistentes\n" " %i Número de inode\n" " %n Nome de ficheiro\n" " %N Nome de ficheiro entre aspas com desreferência se ligação simbólica\n" " %o Tamanho de bloco de entrada/saída\n" " %s Tamanho total, em bytes\n" " %t Tipo de dispositivo maior, em hexadecimal\n" " %T Tipo de dispositivo menor, em hexadecimal\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID de utilizador do dono\n" " %U Nome de utilizador do dono\n" " %x Tempo do último acesso\n" " %X Tempo do último acesso em segundos desde Epoch\n" " %y Tempo da última modificação\n" " %Y Tempo do última modificação em segundos desde Epoch\n" " %z Tempo da última alteração\n" " %Z Tempo da última alteração em segundos desde Epoch\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Sequências de formato válidas para sistemas de ficheiros:\n" "\n" " %a Blocos livres disponíveis para não-superutilizador\n" " %b Total de blocos de dados no sistema de ficheiros\n" " %c Total de nós de ficheiros no sistema de ficheiros\n" " %d Nós de ficheiros livres no sistema de ficheiros\n" " %f Blocos livres no sistema de ficheiros\n" " %C Expressão de contexto de segurança SELinux\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ID de sistem de ficheiros em hexadecimal\n" " %l Comprimento máximo de nomes de ficheiros\n" " %n Nome de ficheiro\n" " %s Tamanho de bloco (para transferências mais rápidas\n" " %S Tamanho de bloco fundamental (para contagens de blocos)\n" " %t Tipo em hexadecimal\n" " %T Tipo legível por humanos\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Utilização: %s [OPÇÃO]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "erro ao abrir %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "erro ao alterar o contexto de segurança de %s para %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Utilização: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [ATRIBUTO]...\n" " or: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" " or: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Exibir ou alterar características de terminal.\n" "\n" " -a, --all mostrar preferências legíveis por humanos\n" " -g, --save mostrar preferências legíveis por stty\n" " -F, --file=DISPOSITIVO abrir e usar o DISPOSITIVO em vez de stdin\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Opcional - antes de PREFERÊNCIA indica negação. Um * marca preferências\n" "não-POSIX. O sistema base define quais as preferências disponíveis.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caracteres especiais:\n" " * dsusp CAR CAR enviará um sinal de término após a entrada processada\n" " eof CAR CAR enviará um fim de ficheiro (terminar a entrada)\n" " eol CAR CAR terminará a linha\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CAR CAR alternativo para terminar a linha\n" " erase CAR CAR apagará o último carácter inserido\n" " intr CAR CAR enviará um sinal de interrupção\n" " kill CAR CAR apagará a linha actual\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CAR CAR inserirá o último carácter entre aspas\n" " quit CAR CAR enviará um sinal de saída\n" " * rprnt CAR CAR redesenhará a linha actual\n" " start CAR CAR reiniciará a saída após pará-la\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CHAR CHAR parará a saída\n" " susp CHAR CHAR enviará um sinal de término\n" " * swtch CHAR CHAR mudará para uma camada de shell diferente\n" " * werase CHAR CHAR apagará a última palavra inserida\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Preferências especiais:\n" " N alterar as taxas de entrada e saída para N bauds\n" " * cols N dizer ao sistema operativo que o terminal tem N colunas\n" " * columns N o mesmo que cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N alterar a taxa de entrada para N\n" " * line N usar disciplina de linha N\n" " min N com -icanon, definir mínimo N caracteres para leitura " "completa\n" " ospeed N alterar a taxa de saída para N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N dizer ao sistema operativo que o terminal tem N linhas\n" " * size mostrar o número de linhas e colunas de acordo com o " "kernel\n" " speed mostrar a velocidade do terminal\n" " time N com -icanon, definir limite de leitura N décimos de " "segundo\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Preferências de controlo:\n" " [-]clocal desactivar sinais de controlo de modem\n" " [-]cread permitir recepção de entrada\n" " * [-]crtscts activar cumprimento RTS/CTS\n" " csN definir tamanho de carácter N bits, N em [5..8]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb usar dois bits de paragem por carácter (um com '-')\n" " [-]hup enviar sinal de espera quando o último processo fechar a " "tty\n" " [-]hupcl o mesmo que [-]hup\n" " [-]parenb gerar bit de paridade na saída e esperar por um na entrada\n" " [-]parodd definir paridade ímpar (mesmo com '-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Preferências de entrada:\n" " [-]brkint paragens causam um sinal de interrupção\n" " [-]icrnl traduzir carriage return (CR) para nova linha\n" " [-]ignbrk ignorar caracteres de paragem\n" " [-]igncr ignorar carriage return\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignorar caracteres com erros de paridade\n" " * [-]imaxbel emitir som e não despejar um buffer de entrada num " "carácter\n" " [-]inlcr traduzir nova linha para carriage return\n" " [-]inpck activar verificação de paridade da entrada\n" " [-]istrip limpar o bit alto (8) de caracteres de entrada\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 assumir caracteres de entrada em UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc traduzir maiúsculas em minúsculas\n" " * [-]ixany deixar qualquer carácter reiniciar a saída, não só o " "inicial\n" " [-]ixoff activar envio de caracteres início/fim\n" " [-]ixon activar controlo de fluxo XON/XOFF\n" " [-]parmrk marcar erros de paridade (com sequência de 255 caracteres " "0)\n" " [-]tandem o mesmo que [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Preferências de saída:\n" " * bsN estilo de atraso de backspace, N em [0..1]\n" " * crN estilo de atraso de carriage return, N em [0..3]\n" " * ffN estilo de atraso de form feed, N em [0..1]\n" " * nlN estilo de atraso de nova linha, N em [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl traduzir carriage return para nova linha\n" " * [-]ofdel usar caracteres de delete em vez de null para preencher.\n" " * [-]ofill preencher caracteres em vez de esperar por temporizador\n" " * [-]olcuc traduzir minúsculas para maiúsculas\n" " * [-]onlcr traduzir nova linha para carriage return-nova linha\n" " * [-]onlret nova linha executa um carriage return\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr não mosrtar carriage returns na primeira coluna\n" " [-]opost pós-processar saída\n" " * tabN estilo de atraso de tab horizontal, N em [0..3]\n" " * tabs o mesmo que tab0\n" " * -tabs o mesmo que tab3\n" " * vtN estilo de atraso de tab vertical, N em [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Preferências locais:\n" " [-]crterase ecoar caracteres de limpeza como backspace-espaço-" "backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho ecoar caracteres de controlo em notação de chapéu (`^c')\n" " [-]echo ecoar caracteres de entrada\n" " * [-]echoctl o mesmo que [-]ctlecho\n" " [-]echoe o mesmo que [-]crterase\n" " [-]echok ecoar uma nova linha após um carácter de término\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke o mesmo que [-]crtkill\n" " [-]echonl ecoar nova linha mesmo sem ecoar outros caracteres\n" " * [-]echoprt ecoar caracteres apagados invertidamente, entre '\\' and " "'/'\n" " [-]icanon activar caracteres especiais erase, kill, werase e rprnt\n" " [-]iexten activar caracteres especiais não-POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig activar caracteres especiais interrupt, quit e suspend\n" " [-]noflsh desactivar despejo após caracteres especiais interrupt e " "quit\n" " * [-]prterase o mesmo que [-]echoprt\n" " * [-]tostop parar processos em fundo que tentem escrever no terminal\n" " * [-]xcase com icanon, escape com '\\' para maiúsculas\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Preferências de combinação:\n" " * [-]LCASE o mesmo que [-]lcase\n" " cbreak o mesmo que -icanon\n" " -cbreak o mesmo que icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked o mesmo que brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof e eol nos seus valores predefinidos\n" " -cooked o mesmo que raw\n" " crt o mesmo que echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec o mesmo que echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq o mesmo que [-]ixany\n" " ek erase e kill nos seus valores predefinidos\n" " evenp o mesmo que parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp o mesmo que -parenb cs8\n" " * [-]lcase o mesmo que xcase iuclc olcuc\n" " litout o mesmo que -parenb -istrip -opost cs8\n" " -litout o mesmo que parenb istrip opost cs7\n" " nl o mesmo que -icrnl -onlcr\n" " -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp o memso que parenb parodd cs7\n" " -oddp o memso que -parenb cs8\n" " [-]parity o memso que [-]evenp\n" " pass8 o memso que -parenb -istrip cs8\n" " -pass8 o memso que parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw o mesmo que cooked\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane o mesmo que cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, todos caracteres\n" " especiais nos seus valores predefinidos.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Trata o tty ligado ao canal de entrada por defeito (stdin). Sem argumentos,\n" "imprime o ritmo em baud, a disciplina da linha e diferenças em relação a " "stty\n" "sane. Nos parâmetros, CHAR é aceite literalmente, ou codificado com em ^C,\n" "0x37, 0177 ou 127; valores especiais ^- ou undef são utilizados para anular\n" "caracteres especiais.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "apenas um dispositivo deve ser especificado" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "as opções para saída em modo verboso e estilos de saída legíveis\n" "pelo stty são mutuamente exclusivas" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "ao especificar um modo de saída, não pode alterar um modo" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: impossível desactivar modo não-bloqueante" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argumento inválido %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "argumento em falta para %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "disciplina de linha inválida %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: impossível realizar todas as operações pedidas" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: nenhuma informação de tamanho para este dispositivo" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argumento inteiro inválido %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Exibir a soma de controlo e contagem de blocos para cada FICHEIRO.\n" "\n" " -r ignorar -s, usar algoritmo de soma BSD, usar blocos de 1K\n" " -s, --sysv usar algoritmo de soma System V, usar blocos de 512 bytes\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Forçar blocos alterados para disco, actualizar o superbloco.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "a ignorar todos os argumentos" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NOTA: a sua shell pode ter a sua versão de %s, que habitualmente ultrapassa\n" "a versão descrita aqui. Por favor veja a documentação da sua shell para\n" "detalhes acerca das opções suportadas.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help exibir esta ajuda e sair\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version mostrar a informação de versão e sair\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Argumentos mandatórios para opções longas são mandatórios para opções curtas " "também.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Comunique erros através de <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Tente '%s --help' para mais informações.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "AVISO: Estrutura de pastas circular.\n" "Isto significa quase de certeza que o sistema de ficheiros está corrompido.\n" "NOTIFIQUE O ADMINISTRADOR DO SISTEMA.\n" "A pasta seguinte pertence ao ciclo:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escrever cada FICHEIRO para a saída padrão, última linha em primeiro.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before anexar o separador antes em vez de depois\n" " -r, --regex interpretar o separador como uma expressão " "regular\n" " -s, --separator=EXPR usar EXPR como o separador em vez de nova linha\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: erro de seek" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "campo demasiado grande" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "impossível criar a pasta temporária %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: erro ao abrir para escrita" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "erro ao preservar os tempos de %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: erro de escrita" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "impossível abrir %s para leitura" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "o separador não pode ser vazio" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Exibir as últimas %d linhas de cada FICHEIRO.\n" "Com mais de um FICHEIRO, anteceder cada um com um cabeçalho com o seu nome.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " despejar dados continuamente à medida que " "cresce;\n" " -f, --follow e --follow=descriptor são\n" " equivalentes\n" " -F o mesmo que --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N despejar últimas N linhas em vez das últimas %d;\n" " ou use +N para despejar linhas a partir da N-" "ésima\n" " --max-unchanged-stats=N\n" " com --follow=name, reabrir um FICHEIRO que não\n" " mudou o tamanho após N (predefinido %d) " "iteraçoes\n" " para ver se se foi removido ou renomeado\n" " (este é o caso habitual de logs rotativos)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID com -f, terminar após ID de processo, PID morre\n" " -q, --quiet, --silent nunca despejar cabeçalhos com nomes de ficheiros\n" " -s, --sleep-interval=S com -f, dormir por aproximadamente S segundos\n" " (predefinido 1.0) entre iterações.\n" " -v, --verbose despejar sempre cabeçalhos com nomes de " "ficheiros\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Se o primeiro carácter de N (o número de bytes ou linhas) é um '+',\n" "mostrar início com o N-ésimo elemento do início de cada ficheiro, senão,\n" "mostrar os últimos N elementos no ficheiro. N pode ter sufixo " "multiplicador:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 e assim por diante para T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Este comportamento predefinido não é desejável quando quiser mesmo " "monitorizar\n" "o nome actual do ficheiro, não o descritor do ficheiro (ex., rotatividade " "de\n" "log). Use --follow=name nesse caso. Tal causa a monitorização do ficheiro\n" "nomeado reabrindo-o periodicamente para confirmar se foi removido e " "recriado\n" "por qualquer outro programa.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "a fechar %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: impossível mover para a posição relativa %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: impossível mover para a posição relativa ao fim %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s tornou-se inacessível" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s foi substituído por um ficheiro não analisável; a desistir do nome" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s foi substituído por um ficheiro não analisável; a desistir do nome" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s tornou-se acessível" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s apareceu; a seguir fim do novo ficheiro" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s foi substituído; a seguir fim do novo ficheiro" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: impossível alterar modo de desbloqueamento" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: ficheiro truncado" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nenhum ficheiro em falta" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "impossível obter a pasta actual (agora %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "memória esgotada" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "impossível executar sobre %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "erro ao ler %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: impossível seguir fim de ficheiro deste tipo; a desistir" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "número em %s é demasiado grande" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: número máximo de estados inalterados entre aberturas inválido" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: número de processo inválido (PID)" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: número de segundos inválido" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opção usada em contexto inválido -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "aviso: --retry é útil quando se persegue por nome" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "aviso: PID ignorado; --pid=PID é útil quando se persegue" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "aviso: --pid=PID não é suportado neste sistema" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "impossível perseguir %s pelo nome" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "aviso: perseguir a entrada padrão indefinidamente não tem efeito" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copiar a entrada padrão para cada FICHEIRO e para a saída padrão.\n" "\n" " -a, --append acrescentar aos FICHEIROs, não sobrescrever\n" " -i, --ignore-interrupts ignorar os sinais de interrupção\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Se um FICHEIRO é -, copiar novamente para a saída padrão.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argumento em falta após %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "inteiro inválido %s" #: src/test.c:241 msgid "')' expected" msgstr "')' esperado" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' esperado, %s encontrado" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: operador unário esperado" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt não aceita -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef não aceita -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot não aceita -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operador binário desconhecido" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: operador binário esperado" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Utilização: test EXPRESSÃO\n" " or: test\n" " or: [ EXPRESSÃO ]\n" " or: [ ]\n" " or: [ OPÇÃO\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Sair com o estado determinado por EXPRESSÃO.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Uma EXPRESSÃO omitida toma o valor falso. Caso contrário,\n" "EXPRESSÃO é verdadeiro ou falso e define estado de saída. É um de:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSÃO ) EXPRESSÃO é verdadeira\n" " ! EXPRESSÃO EXPRESSÃO é falsa\n" " EXPRESSÃO1 -a EXPRESSÃO2 EXPRESSÃO1 e EXPRESSÃO2 são verdadeiras\n" " EXPRESSÃO1 -o EXPRESSÃO2 uma de EXPRESSÃO1 e EXPRESSÃO2 é verdadeira\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n EXPR o tamanho de EXPR é não-zero\n" " EXPR equivalente a -n EXPR\n" " -z EXPR o tamanho de EXPR é zero\n" " EXPR1 = EXPR2 as espressões são iguais\n" " EXPR1 != EXPR2 as espressões são diferentes\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2\n" " INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2\n" " INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2\n" " INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2\n" " INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2\n" " INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FICH1 -ef FICH2 FICH1 e FICH2 têm os mesmos números de dispositivo e " "inode\n" " FICH1 -nt FICH2 FICH1 é mais recente (data de modificação) que FICH2\n" " FICH1 -ot FICH2 FICH1 é mais antigo que FICH2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FICH FICH existe e é especial de blocos\n" " -c FICH FICH existe e é especial de caracteres\n" " -d FICH FICH existe e é uma pasta\n" " -e FICH FICH existe\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FICH FICH existe e é um ficheiro regular\n" " -g FICH FICH existe e é set-group-ID\n" " -G FICH FICH existe e é possuído pelo ID de grupo efectivo\n" " -h FICH FICH existe e é uma ligação simbólica (o mesmo que -L)\n" " -k FICH FICH existe e tem o seu bit sticky (pegajoso) activado\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FICH FICH existe e é uma ligação simbólica (o mesmo que -h)\n" " -O FICH FICH existe e é possuído pelo ID de utilizador efectivo\n" " -p FICH FICH existe e é um pipe nomeado\n" " -r FICH FICH existe e permissão de leitura é garantida\n" " -s FICH FICH existe e tem um tamanho maior que zero\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FICH FICH existe e é um socket\n" " -t DF file descriptor DF está aberto num terminal\n" " -u FICH FICH existe e o seu bit set-user-ID bit está activado\n" " -w FICH FICH existe e permissão de escrita é garantida\n" " -x FICH FICH existe e permissão de execução (ou pesquisa) é garantida\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Excepto para -h e -L, todos os testes relacionados com FICH desreferenciam\n" "ligações simbólicas. Note que parêntesis precisam de escape (ex., com \\)\n" "para shells. INTEIRO pode também ser -l EXPR, que resulta no tamanho de " "EXPR.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NOTA: [ honra as opções --help e --version, mas test não o faz.\n" "test trata cada uma delas como trata qualquer outra EXPR não vazia.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test e/ou [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "']' em falta" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argumento extra %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Utilização: %s OPÇÃO UTILIZADOR COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Argumentos mandatórios para opções longas são mandatórios para opções curtas " "também.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "erro ao escrever %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "formato de data inválido %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "impossível executar sobre %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "a alterar os tempos de %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Actualizar o acesso e tempos de modificação de cada FICHEIRO para o actual.\n" "\n" "Um argumento FICHEIRO que não existe é criado vazio.\n" "\n" "Um argumento FICHEIRO como - é tratado especialmente e causa a alteração " "dos\n" "tempos do ficheiro associado com a saída padrão.\n" "\n" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a alterar apenas o tempo de acesso\n" " -c, --no-create não criar qualquer ficheiro\n" " -d, --date=EXPR analisar EXPR e usá-la em vez do tempo actual\n" " -f (ignorado)\n" " -m alterar apenas o tempo de modificação\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference afectar cada ligação simbólica em vez de qualquer\n" " ficheiro referido (apenas útil em sistemas que " "podem\n" " alterar o dono de uma ligação simbólica)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FICH usar o tempo deste ficheiro em vez do tempo actual\n" " -t SELO usar [[SS]AA]MMDDhhmm[.ss] em vez do tempo actual\n" " --time=PALAVRA alterar o tempo especificado:\n" " PALAVRA é access, atime ou use: equivalente a -a\n" " PALAVRA é modify ou mtime: equivalente a -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Note que as opções -d e -t aceitam diferentes formatos hora-data.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "impossível especificar tempos a partir de mais de uma fonte" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "aviso: 'touch %s' é obsoleto; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Utilização: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Traduzir, encolher e/ou apagar caracteres entrada padrão,\n" "escrevendo na saída padrão.\n" "\n" " -c, -C, --complement primeiro complementar SET1\n" " -d, --delete apagar caracteres em SET1, não traduzir\n" " -s, --squeeze-repeats substituir cada sequência de entrada de um " "carácter\n" " repetido listado em SET1 com uma única " "ocorrência\n" " desse carácter\n" " -t, --truncate-set1 primeiro truncar SET1 para tamanho de SET2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SETs são especificados como cadeias de caracteres. A maioria\n" "auro-representa-se. Sequências interpretadas são:\n" "\n" " \\NNN carácter com valor octal NNN (1 a 3 dígitos octais)\n" " \\\\ backslash (barra invertida)\n" " \\a BEL audível\n" " \\b backspace (espaço atrás)\n" " \\f form feed\n" " \\n nova linha\n" " \\r return (enter)\n" " \\t tab horizontal\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tab vertical\n" " CAR1-CAR2 todos os caracteres de CAR1 a CAR2 por ordem crescente\n" " [CAR*] em SET2, cópias de CAR até tamanho de SET1\n" " [CAR*REP] REP cópias de CAR, REP octal se começar por 0\n" " [:alnum:] todas as letras e dígitos\n" " [:alpha:] todas as letras\n" " [:blank:] todos os espaços brancos horizontais\n" " [:cntrl:] todos os caracteres de controlo\n" " [:digit:] todos os dígitos\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] todos os caracteres mostráveis, excluindo space (espaço)\n" " [:lower:] todas as letras minúsculas\n" " [:print:] todos os caracteres mostráveis, incluindo space (espaço)\n" " [:punct:] todos os caracteres de pontuação\n" " [:space:] todos os espaços brancos horizontais e verticais\n" " [:upper:] todas as letras maiúsculas\n" " [:xdigit:] todos os dígitos hexadecimais\n" " [=CAR=] todos os caracteres equivalentes a CAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "aviso: o escape octal ambíguo \\%c%c%c está a ser\n" "\tinterpretado como a sequência de 2 bytes \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "aviso: uma barra invertida sem escape no fim da expressão não é portável" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "limites do intervalo '%s-%s' estão em ordem de sequência inversa" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "contagem de repetição inválida %s na construção [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "nome de classe de carácter '[::]' em falta" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "carácter de classe de equivalência '[==]' em falta" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "classe de caracteres inválida %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: operando de classe de equivalência deve ser um único carácter" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "construção [:upper:] e/ou [:lower:] desalinhada(s)" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "demasiados caracteres no conjunto" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "a construção de repetição [c*] pode não aparecer na expressão1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "apenas uma construção de repetição [c*] pode aparecer na expressão2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "expressões [=c=] podem não aparecer na expressão2 ao traduzir" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ao traduzir, as únicas classes de caracteres que podem aparecer em\n" "expressão2 são 'upper' 'lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "ao não truncar set1, expressão2 deve ser não vazia" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "ao traduzir com classes de caracteres complementadas,\n" "expressão2 deve mapear todos os caracteres no domínio para um" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "a construção [c*] pode aparecer em expressão2 apenas ao traduzir" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "Apenas uam expressão pode ser dada ao apagar sem espremer repetições" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Duas expressões devem ser dadas ao traduzir" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "Apenas uam expressão pode ser dada ao apagar sem espremer repetições" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Utilização: %s [argumentos de linha de comando ignorados]\n" " ou: %s OPÇÃO\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Sair com um código de estado indicando sucesso" #: src/true.c:46 #, fuzzy msgid "Exit with a status code indicating failure." msgstr "Sair com um código de estado indicando sucesso" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Utilização: %s OPÇÃO... [FICHEIRO]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 #, fuzzy msgid " -c, --no-create do not create any files\n" msgstr " -d, --directory criar uma pasta, não um ficheiro\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: ficheiro tem tamanho negativo" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "impossível alterar o dono de %s" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "erro de excesso de índice ao ler o ficheiro %s" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "erro de excesso de índice ao ler o ficheiro %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "múltiplas pastas de destino especificadas" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "deve especificar uma lista de bytes, caracteres ou campos" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "impossível abrir %s para escrita" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Utilização: %s [OPÇÃO] [FICHEIRO]\n" "Escrever lista totalmente ordenada consistente com ord. parcial em " "FICHEIRO.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: entrada contém um número mpar de símbolos" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: entrada contém um ciclo:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Mostrar o nome de ficheiro do terminal ligado ao canal de entrada padrão.\n" "\n" " -s, --silent, --quiet não mostra nadar, só retornar um estado de saída\n" #: src/tty.c:120 msgid "not a tty" msgstr "não é um tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Mostrar alguma informação sobre o sistema. Sem OPÇÃO, o mesmo que -s.\n" "\n" " -a, --all mostrar toda a informação, na seguinte ordem,\n" " excepto omitir -p e -i se desconhecidos:\n" " -s, --kernel-name mostrar o nome do sistema operativo\n" " -n, --nodename mostrar o nome do nó da máquina na rede\n" " -r, --kernel-release mostrar a versão do sistema operativo\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version mostrar a versão do kernel\n" " -m, --machine mostrar o nome de hardware da máquina\n" " -p, --processor mostrar o tipo do processador ou \"desconhecido" "\"\n" " -i, --hardware-platform mostrar a plataforma de hardware ou \"unknown\"\n" " -o, --operating-system mostrar o sistema operativo\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Exibir a arquitectura da máquina.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "impossível obter o nome do sistema" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converter expaços em cada FICHEIRO para TABs, escrevendo na saída padrão.\n" "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all converter todos os espaços, em vez de apenas os iniciais\n" " --first-only converter apenas os espaços inicias (anula -a)\n" " -t, --tabs=N TABs de N caracteres em vez de 8 (activa -a)\n" " -t, --tabs=LISTA usar lista sep. por vírg. de posições de TABs (activa -" "a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "TABs demasiado separados" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "valor de paragem de TAB demasiado grande" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Utilização: %s [OPÇÃO]... [ENTRADA [SAÃDA]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count prefixar linhas com o número de ocorrências\n" " -d, --repeated exibir apenas linhas duplicadas\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=método-delimit] mostrar todas as linhas duplicadas\n" " método-delimit={none(predefinido),prepend,separate}\n" " Delimitação é feita com linhas vazias.\n" " -f, --skip-fields=N evitar comparar os primeiros N campos\n" " -i, --ignore-case ignorar capitalização ao comparar\n" " -s, --skip-chars=N evitar comparar os primeiros N caracteres\n" " -u, --unique apenas mostrar linhas únicas\n" " -z, --zero-terminated terminlr linhas com byte zero, não nova linha\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N comparar não mais que N caracteres nas linhas\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Um campo é um conjunto de caracteres de espaço seguido de caracteres não-" "espaço.\n" "Campos são saltados antes de caracteres.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Nota: 'uniq' não afecta linhas repetidas a menos que são adjacentes.\n" "Pode querer ordenar a entrada primeiro, ou utilizar 'sort -u' sem `uniq'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "demasiados linhas repetidas" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "número inválido de campos a ignorar" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "número inválido de bytes a ignorar" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "número inválido de bytes a comparar" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "mostrar linhas duplicadas e contagens de repetidas não faz sentido" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Utilização: %s FICHEIRO\n" " ou: %s OPÇÃO\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Invocar a função unlink para remover o FICHEIRO especificado.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "impossível executar sobre %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "impossível obter o tempo de arranque" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? up " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? dias ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s up " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu utilizador" msgstr[1] "%lu utilizadores" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", carga média: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Exibir o tempo actual, há quanto tempo o sistema foi iniciado,\n" "o número de utilizadores no sistemas e a média de processos\n" "na file de execução nos últimos 1, 5 e 15 minutes.\n" "Se FICHEIRO não for especificado, usar %s. %s como FICHIRO é comum.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Mostrar quem se encontra no sistema de acordo com FICHEIRO.\n" "Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Mostrar quem se encontra no sistema de acordo com FICHEIRO.\n" "Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Mostrar contagens de novas linhas, palavras e bytes para cada FICHEIRO, e " "uma\n" "linha de total com mais de um FICHEIRO. Sem FICHEIRO, ou quando FICHEIRO é " "-,\n" "ler a entrada padrão.\n" " -c, --bytes mostrar as contagens de bytes\n" " -m, --chars mostrar as contagens de caracteres\n" " -l, --lines mostrar as contagens de novas linhas\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F ler entrada dos ficheiros especificados por nomes\n" " terminados por zero no ficheiro F\n" " -L, --max-line-length mostrar o comprimento da linha mais longa\n" " -w, --words mostrar as contagens de palavras\n" #: src/who.c:210 msgid " old " msgstr " old " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "Erro de sistema" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "saíd=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "mud. relógio" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "nível-exe" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "últi=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# utlzs=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NOME" #: src/who.c:559 msgid "LINE" msgstr "LINH" #: src/who.c:559 msgid "TIME" msgstr "TEMP" #: src/who.c:559 msgid "IDLE" msgstr "INAC" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMENTÃ" #: src/who.c:560 msgid "EXIT" msgstr "SAÃD" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Utilização: %s [OPÇÃO]... [ FICHEIRO | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all o mesmo que -b -d --login -p -r -t -T -u\n" " -b, --boot tempo do último início do sistema\n" " -d, --dead mostrar processos mortos\n" " -H, --heading mostrar linha de títulos de colunas\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" " -l, --login mostrar processos de registo de entraad do sistema\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup tentar canonizar nomes de máquinas via DNS\n" " -m apenas nome de máquina e utilizador associados com " "stdin\n" " -p, --process mostrar processos activos criados por init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count todos nomes de utilizador e no. de utilizadores no " "sistema\n" " -r, --runlevel mostrar o nível de execução actual\n" " -s, --short mostrar apenas nome, linha e tempo (predefinido)\n" " -t, --time mostrar última mudança do relógio de sistema\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg adicionar estado de mensagem do utilizador como +, - " "ou ?\n" " -u, --users listar utilizadores actualmente no sistema\n" " --message o mesmo que -T\n" " --writable o mesmo que -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum.\n" "Se ARG1 ARG2 dados, -m presumido: 'am i' ou 'mom likes' são comuns.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Exibir o nome do utilizador associado ao ID efectivo actual.\n" "O mesmo que id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: impossível encontrar um nome para o ID de utilizador %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s [EXPRESSÃO]...\n" " ou: %s OPÇÃO\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Despejar repetidamente uma linha com as EXPRESSÃO(ões) especificadas, ou " "'y'.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "a criar o ficheiro %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Utilização: %s [OPÇÃO] NOME...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: comprimento de sufixo inválido" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s /usr/bin/sort Mostrar \"sort\".\n" #~ " %s include/stdio.h .h Mostrar \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "a ler %s" #~ msgid "writing %s" #~ msgstr "a escrever %s" #~ msgid "closing %s" #~ msgstr "a fechar %s" #~ msgid "accessing %s" #~ msgstr "a aceder a %s" #~ msgid "opening %s" #~ msgstr "a abrir %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s NOME\n" #~ " ou: %s OPÇÃO\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system saltar pastas em sistemas de ficheiros " #~ "diferentes\n" #~ " -X FILE, --exclude-from=FICH Excluir ficheiros com qualquer padrão em " #~ "FICH.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N mostrar o total de uma pasta (ou ficheiro, com --" #~ "all)\n" #~ " só se estiver N ou menos níveis abaixo do " #~ "argumento\n" #~ " da linha de comando; --max-depth=0 é o mesmo " #~ "que\n" #~ " --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nunca efectuar salvaguardas (mesmo se usado com --" #~ "backup)\n" #~ " numbered, t efectuar salvaguardas numeradas\n" #~ " existing, nil numeradas se existirem salvaguardas numeradas, senão " #~ "simples\n" #~ " simple, never efectuar sempre salvaguardas simples\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "a opção --megabytes está obsoleta; use -m ao invés" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Todos os argumentos de opções longas são mandatórios para opções curtas.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RAIZ é d para decimal, o para octal, x para hexadecimal ou n para " #~ "nenhum.\n" #~ "BYTES é hexadecimal com prefixo 0x ou 0X, e pode ter um sufixo " #~ "multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, e por aí fora para T, P, E, Z, Y.\n" #~ "Adicionando um sufixo z a qualquer tipo mostra caracteres exibíveis no " #~ "fim de\n" #~ "cada linha de saída. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string sem um número implica 3. --width sem um número\n" #~ "implica 32. Por omissão, od usa -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Utilização: %s [OPÇÃO]... FICHEIRO\n" #~ msgid "Password:" #~ msgstr "Senha:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: impossível abrir /dev/tty" #~ msgid "cannot set groups" #~ msgstr "impossível definir grupos" #~ msgid "cannot set group id" #~ msgstr "impossível alterar a identificação de grupo" #~ msgid "cannot set user id" #~ msgstr "impossível alterar o ID do utilizador" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [-] [UTILIZADOR [ARGUMENTO]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Alterar as identificações de utilizador e de grupo efectivas do " #~ "UTILIZADOR.\n" #~ "\n" #~ " -, -l, --login tornar a shell numa shell de login\n" #~ " -c, --command=COMANDO enviar um único COMANDO à shell com -c\n" #~ " -f, --fast enviar -f à shell (para csh ou tcsh)\n" #~ " -m, --preserver-environment preservar as variáveis do ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL correr SHELL se /etc/shells o permitir\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Um simples - implica -l. Sem UTILIZADOR, assumir root.\n" #~ msgid "user %s does not exist" #~ msgstr "o utilizador %s não existe" #~ msgid "incorrect password" #~ msgstr "senha incorrecta" #~ msgid "using restricted shell %s" #~ msgstr "a usar a shell restrita %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "aviso: impossível mudar para a pasta %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Mudar o grupo de cada FICHEIRO para GRUPO.\n" #~ "Com --reference, mudar o grupo de cada FICHEIRO para o mesmo de FICHREF.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "mudança\n" #~ " --dereference afectar a referência de cada ligação simbólica " #~ "(por\n" #~ " omissão) em vez da própria ligação simbólica\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root não tratar '/' de forma especial (predefinido)\n" #~ " --preserve-root não operar recursivamente em '/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet eliminar a maioria das mensages de erro\n" #~ " --reference=FICHREF usar o grupo de FICHREF em vez de especificar\n" #~ " um valor de GRUPO\n" #~ " -R, --recursive operar em ficheiros e pastas recursivamente\n" #~ " -v, --verbose despejar um diagnóstico para cada ficheiro " #~ "processado\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Alterar o modo de cada FICHEIRO para MODO.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "alteração\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " -v, --verbose mostrar um diagnóstico por cada ficheiro " #~ "processado\n" #~ " --reference=FICHREF usar o modo de FICHREF em vez dos valores de " #~ "MODO\n" #~ " -R, --recursive mudar ficheiros e pastas recursivamente\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Alterar o dono e/ou grupo de cada FICHEIRO PARA DONO e/ou GRUPO.\n" #~ "Com --reference, alterar o dono e grupo de cada FICHEIRO para os de " #~ "FICHREF.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "alterações\n" #~ " --dereference afectar a referência de cada ligação simbólica\n" #~ " (predefinido), em vez da própria ligação " #~ "simbólica\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprimir a maior parte das mensagens de erro\n" #~ " --reference=FICHREF usar o dono e o grupo de FICHREF em vez de\n" #~ " especificar valores DONO:GRUPO\n" #~ " -R, --recursive operar em ficheiros e pastas recursivamente\n" #~ " -v, --verbose despejar um diagnóstico para cada ficheiro " #~ "processado\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Exibir o tempo actual no FORMATO dado, ou alterar a data do sistema.\n" #~ "\n" #~ " -d, --date=EXPR mostrar o tempo descrito por EXPR, não o " #~ "actual\n" #~ " -f, --file=FICHEIRO como --date mas uma vez para cada linha de " #~ "FICHEIRO\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMANHO pode ser (ou um inteiro opcionalmente seguido de) um dos " #~ "seguintes:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 e por aí fora para G, T, P, E, " #~ "Z, Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opção ilegal -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido: %s" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Partir linhas codificadas após COLS caracteres " #~ "(76).\n" #~ " Usar 0 para desactivar partição de linhas.\n" #~ "\n" #~ " -d, --decode Descodificar os dados.\n" #~ " -i, --ignore-garbage Ao descodificar, ignorar caracteres não " #~ "alfabéticos.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Mostrar esta ajuda e sair.\n" #~ " --version Exibir a informação de versão e sair.\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Utilização: %s [OPÇÃO] [FICHEIRO]...\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s NOVARAIZ [COMANDO...]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "cannot create link %s" #~ msgstr "impossível criar a ligação %s" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nunca seguir ligações simbólicas em " #~ "ORIGEM\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de salvaguarda é '~', a menos que definido com --suffix ou " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "O método de controlo de versão pode ser seleccionado com a opção --backup " #~ "ou\n" #~ "atravé da variável de ambiente VERSION_CONTROL. Eis os valores:\n" #~ "\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "a opção --reply está obsoleta; use -i ou -f ao invés" #~ msgid "invalid format precision" #~ msgstr "formato de precisão inválido" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "AVISO: use --si, não -H; o significado da opção -H mudará em breve\n" #~ "para ser o mesmo de --dereference-args (-D)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Utilização: %s [OPÇÃO]... [EXPRESSÃO]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Se -e estiver em efeito, as seguintes sequências são reconhecidas:\n" #~ "\n" #~ " \\0NNN o carácter cujo código ASCII é NNN (octal)\n" #~ " \\\\ barra invertida (backslash)\n" #~ " \\a alerta (BEL)\n" #~ " \\b espaço atrás (backspace)\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Exibir os factores primos de cada NÚMERO.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "impossível exibir contexto com SELinux desactivado ou ao mostrar o ID\n" #~ "de outro utilizador" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: aviso: criar uma ligação persistente para simbólica não é portável" #~ msgid "creating symbolic link %s" #~ msgstr "a criar ligação simbólica %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "a criar ligação simbólica %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "a criar ligação persistente %s" #~ msgid "creating hard link %s => %s" #~ msgstr "a criar ligação persistente %s => %s" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Por omissão, não é usada cor para distinguir tipos de ficheiros. Isto é\n" #~ "equivalente a usar --color=none. Usar a opção --color sem o argumento " #~ "opcional\n" #~ "QAUNDO é equivalente a usar --color=always. Com --color=auto, códigos de " #~ "cor\n" #~ "são despejados apenas se a saída padrão estiver conectada a um terminal " #~ "(tty).\n" #~ "A variável de ambiente LS_COLORS pode influenciar as cores e pode ser\n" #~ "facilmente alterada através do comando dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Estado de saída status é 0 se OK, 1 com problemas menores, 2 com erros " #~ "graves.\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Utilização: %s [OPÇÃO] PASTA...\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet sem relatos de erros de criacao de ficheiros/pastas\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run não criar nada; apenas mostrar um nome (inseguro)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p PASTA usar PASTA como um prefixo; implica -t [obsoleto]\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" largr=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SEXPR, --sep-string[=EXPR]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a alerta (BEL)\n" #~ " \\b espaço atrás (backspace)\n" #~ " \\c não produzir mais saída\n" #~ " \\f form feed\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nova linha\n" #~ " \\r carriage return\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: erro ao fechar a pasta %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: erro ao abrir .. de %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAL: impossível assegurar que %s é seguro" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: pasta %s mudou dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: impossível entrar na pasta %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAL: pasta acabada de entrar %s mudou dev/ino" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: impossível retornar a .. a partir de %s" #~ msgid "cannot remove root directory %s" #~ msgstr "impossível remover a pasta raiz %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "impossível remover %s" #~ msgid "cannot restore current working directory" #~ msgstr "impossível restaurar a pasta de trabalho actual" #~ msgid "no %% directive in format string %s" #~ msgstr "nenhuma directiva %% na expressão de formato %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "demasiadas directivas %% na expressão de formato %s" #~ msgid "invalid format string: %s" #~ msgstr "expressão de formatação inválida: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Utilização: %s [OPÇÕES]... FICHEIRO [...]\n" #~ msgid "extra operand %s\n" #~ msgstr "operando extra %s\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort comparar de acordo com valor numérico " #~ "genérico\n" #~ " -i, --ignore-nonprinting considerar apenas caracteres " #~ "representáveis\n" #~ " -M, --month-sort comparar (desconhecido) < 'JAN' < ... < " #~ "'DEC'\n" #~ " -n, --numeric-sort comparar de acordo com valor numérico\n" #~ " -R, --random-sort ordenar por geração aleatória de chaves\n" #~ " --random-source=FICH obter bytes aleatórios de FICH (/dev/" #~ "urandom)\n" #~ " --sort=PALAVRA ordenar de acordo com PALAVRA:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse inverter o resultado das comparações\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "impossível criar ficheiro temporário" #~ msgid "couldn't open temporary file" #~ msgstr "impossível abrir o ficheiro temporário" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "TAMANHO pode ter um sufixo multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y.\n" #~ msgid "invalid number of lines: 0" #~ msgstr "número de linhas inválido: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Utilização: %s [OPÇÃO] FICHEIRO...\n" #~ msgid "new_mode: mode\n" #~ msgstr "modo_novo: modo\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry tentar sempre abrir um ficheiro mesmo se " #~ "estiver\n" #~ " inacessível quando tail iniciar ou se se " #~ "tornar\n" #~ " inacessível depois; útil ao perseguir por " #~ "nome,\n" #~ " por exemplo, com --follow=name\n" #~ " -c, --bytes=N despejar os últimos N bytes; alternativamente, " #~ "usar\n" #~ " +N para despejar bytes a partir do N-ésimo\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Com --follow (-f), tail persegue o descritor de ficheiro, o que " #~ "significa\n" #~ "que mesmo que um ficheiro aberto com tail seja renomeado, o seu fim será\n" #~ "monitorizado na mesma. " #~ msgid "creating %s" #~ msgstr "a criar %s" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Tradução ocorre se -d não é dado e SET1 e SET2 aparecem.\n" #~ "-t apenas pode ser usado ao traduzir. SET2 é extendido ao tamanho de\n" #~ "SET1 repetindo o seu último carácter se necessário. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Caracteres excessivos\n" #~ "de SET2 são ignorados. Apenas [:lower:] e [:upper:] são garantidamente\n" #~ "expandidos em ordem ascendente; usados em SET2 ao traduzir, podem apenas\n" #~ "ser usado aos pares para especificar conversão de capitalização. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s usa SET1 se não estiver a\n" #~ "traduzir nem a apagar; senão usa SET2 e ocorre após\n" #~ "tradução ou remoção.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Ignorar todas excepto uma de linhas sucessivas idênticas de ENTRADA (ou\n" #~ "entrada padrão), escrevendo na SAÃDA (ou saída padrão).\n" #~ "\n" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dia" #~ msgstr[1] "%ld dias" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [ FICHEIRO ]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "operando desconhecido %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " agrupar pastas antes de ficheiros\n" �����������������������������������������������������������������coreutils-8.21/po/eo.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000501261�12107204516�012076� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���Õ��0���Ø&��…��€M�����”g�����¤g��Üg������¼j�����½j��¾���¿j��¿���~k��Â���>l��G��m��º���In��p���o��!��uo��©��—p��5��Ar��~���ws�� ���ös��w���t��T���|t��G���Ñt��¡���u��#��»u����ßv��š���äw��D��x��J���Äz��›���{�����«{��¸���-|��ˆ���æ|��È���o}��„���8~��›���½~����Y��>���n€��|���­€��Ý���*��0���‚��D���9‚����~‚��–���˜ƒ��Ê���/„��>���ú„��Ë���9…��¿���†����ņ��9���ׇ�����ˆ�����(ˆ��¼���=ˆ��Ü���úˆ����׉��Ð��ëŠ�� ��¼Œ�����Ý��Ë���ÞŽ��H���ª��7���ó��¼���+��F���è��ì���/‘��v���’�� ���“’��q���Ÿ’��æ���“��1��ø“��S��*•��,���~–��º���«–�����f—�����æ—��i���w˜��A���á˜��x���#™��v���œ™��Â���š��I���Öš��5��� ›��s���V›��È���Ê›��4���“œ��‰���Èœ��F���R��í��™��n���‡Ÿ��B���öŸ��F���9 ����€ ��¢���›¡��E���>¢��J���„¢��º��Ï¢��&��Ф��¹��±¥��¿���k§��+���+¨��N���W¨��’���¦¨��°���9©��»���ê©��…��¦ª��È���,¬��B���õ¬��u���8­����®­��ò���Ä®�����·¯��ƒ���G°��ƒ���˰��‚��O±��4��Ò²��í���´��z���õ´��þ���pµ��ˆ���o¶��1���ø¶��H���*·��;��s·��Æ���¯¸��È���v¹��T��?º��Ç���”»��Þ���\¼��ƒ���;½��Ñ���¿½��ë���‘¾����}¿��Ó���ŒÀ��I���`Á����ªÁ��H���ÈÂ��3���Ã��=��EÃ����ƒÄ��*��žÅ��F���ÉÆ��C���Ç��>���TÇ��?���“Ç��«���ÓÇ��9���È��S���¹È��m��� É��ä���{É��Ý���`Ê�� ���>Ë�� ���IË�� ���WË�����bË�� ���gË�����sË�����|Ë�����…Ë�����Ë�����–Ë�����œË��&���¯Ë�� ���ÖË�� ���àË�����ìË�����ÿË�����Ì�����'Ì�����EÌ�� ���aÌ��+���‚Ì�����®Ì�����ÇÌ��?���âÌ��D���"Í��0���gÍ�����˜Í��)���±Í�����ÛÍ��0���ïÍ��"��� Î�����CÎ��'���SÎ�� ���{Î�����‰Î��!���žÎ�����ÀÎ��"���àÎ�����Ï��/��� Ï�� ���PÏ�����qÏ�����‰Ï��#���ŸÏ�����ÃÏ�����ÜÏ��>���ùÏ��"���8Ð�����[Ð��%���zÐ��B��� Ð��*���ãÐ�����Ñ�����-Ñ�����?Ñ��)���OÑ�����yÑ��%���–Ñ��,���¼Ñ�����éÑ��#���ùÑ��"���Ò��$���@Ò�����eÒ��/���…Ò�����µÒ��8���ÅÒ�����þÒ�����Ó�����2Ó�����OÓ�����cÓ�����‚Ó�����¡Ó�� ���¶Ó�����×Ó�����èÓ�����ýÓ�����Ô�����5Ô�����HÔ�����ZÔ�����mÔ�����~Ô��'���Ô�����·Ô��*���ÒÔ�����ýÔ��$���Õ�����@Õ�����ZÕ�����jÕ�� ���ƒÕ�����¤Õ��"���ºÕ�����ÝÕ�����óÕ��;��� Ö�����EÖ�����XÖ�����tÖ�����‘Ö�����­Ö�����ÊÖ�����èÖ�����×�����!×�����5×��"���L×�����o×��,���‚×�����¯×��)���É×�����ó×�����Ø�����!Ø��"���@Ø��1���cØ��'���•Ø�����½Ø��(���ÎØ�� ���÷Ø��,���Ù��,���EÙ��,���rÙ��'���ŸÙ��-���ÇÙ�� ���õÙ��(���Ú��(���?Ú�����hÚ�����{Ú�����”Ú��"���¯Ú�����ÒÚ�����áÚ��&���ôÚ�����Û��"���6Û�� ���YÛ�� ���eÛ�����rÛ�����„Û�����•Û�����¥Û��5���ÁÛ��0���÷Û��.���(Ü�����WÜ�����sÜ�����“Ü��"���³Ü�����ÖÜ�����æÜ��+���÷Ü��%���#Ý�����IÝ��)���iÝ�����“Ý�� ���•Ý�����¢Ý��<���¹Ý��1���öÝ��,���(Þ��0���UÞ��,���†Þ��#���³Þ��0���×Þ�����ß����� ß�� ���"ß�����0ß��6���Kß��5���‚ß��-���¸ß��"���æß��)��� à�����3à�����Eà�����\à�����sà�� ���Šà�����•à�����šà����� à��,���¨à��8���Õà��)���á�� ���8á�����Dá�����Vá�����pá�����á�� ���…á�����á�����Ÿá�� ���¶á�� ���Àá�� ���Ìá�����Öá�����Þá��K���öá��8���Bâ�����{â��k���„â��h���ðâ�����Yã�� ���êã�� ���õã�� ���ä��3���ä��Š��Bä�� ���Íå�� ���Úå��½���äå�����¢æ�����±æ�� ���Áæ��=���Îæ��(��� ç��ã���5ç�� ���è�����%è�����5è�����>è��<��Cè��\���€é�� ���Ýé��+���èé��+���ê�� ���@ê�����Jê�����Qê��1���`ê�����’ê�� ���«ê�����¶ê��@���Ïê��7���ë��?���Hë�����ˆë�����šë�����©ë�� ���°ë�����½ë�����Âë�����Èë�����Îë�����Ôë�����åë��:���êë�����%ì�����9ì�����Hì�� ���Qì�����\ì�����pì�� ���wì�����ì�����™ì�����°ì�����Íì�����éì��$���í�����&í�����8í�����Sí�� ���bí�� ���ní�� ���zí�����‡í�� ���˜í�����¤í�����¶í�����Çí�����Îí�����Óí�����Ùí�� ���ßí�� ���ìí�����úí����� î�����%î�����6î�� ���Eî�� ���Sî�� ���`î�� ���lî�����wî�����|î�����î�� ���›î��#���¨î�����Ìî�����Õî��*���ôî�����ï��E���"ï�����hï�����|ï����ï��—���Ÿð��H���7ñ��o���€ñ�����ðñ�����ôñ�����ò�� ���ò��&���'ò�� ���Nò�� ���Zò�� ���eò�����rò�� ���yò��#���‡ò��2���«ò��i��Þò��ª���Hô��š���óô��;���Žõ�����Êõ����èõ��¸���ø��†���»ø��;���Bù��%���~ù�����¤ù��†���$ú��T���«ú�� ���û��7��� ý�����Cý�����bý�� ���zý�� ���„ý�����‘ý�� ���–ý�����¢ý�����¶ý��º���Ñý��@���Œþ�����Íþ��D���äþ�����)ÿ�����:ÿ�� ���Oÿ�����]ÿ�����qÿ�����‚ÿ�����‘ÿ�� ��� ÿ��1���®ÿ��'���àÿ�� ����� ����� ���$�����1��&���D��*���k�����–�����ž�����®��5���³�� ���é�����õ�����ý���������"� ���7����C� ���K����X�$���]� ���‚�$�������²����Ä����Ú�&���í�%����C���:�+���~����ª����¯� ���¾����Ì����Þ����ó��������� ���)����6� ���K�,���V�&���ƒ� ���ª�'���Ë�0���ó�4���$����Y����v����“�–���²�)���I�Y���s�'���Í�T���õ�'���J�(���r����›�X���¯�@�������I�?���e�&���¥�š���Ì����g����~�#��� �&���@ ����g �"���† �T���© �g���þ �†���f �.���í ���� �"���; �+���^ �Y���Š �~���ä �¤���c �=��� ����F �^���d � ���à �¢���ä �F���‡�}���Î�'���L�'���t�Z���œ�`���÷�!���X�!���z�$���œ� ���Á�¦���â�M���‰�>���×�'����<���>�T���{����Ð����Õ����Ú����ð������������1�D���G�H���Œ�G���Õ� �������'����,����2����A�;���X�3���”�/���È�+���ø�'���$�#���L����p��������¬�<���¼����ù���� ������������0�*���2����]����u�����A���¬����î�2����1���8� ���j����v�!���‰����«�#���²����Ö�0���ò����#����=����N�*���_����Š����¨�"���È����ë���� �E���(�;���n� ���ª�,���Ë� ���ø�!�������;����[�+���z�#���¦�#���Ê�,���î�0����,���L�#���y��������¸� ���Î����ï���� ��������<����Z�$���y�"���ž����Á�'���×����ÿ�5����'���O����w�!�������¯����Ï�1���è��������*����G����`����y��������¡����µ����Ì����æ�(���ö��������8�.���M�2���|����¯����Ê����å�%���þ�0���$ �3���U ����‰ �F���© �B���ð �+���3!�5���_!�1���•!� ���Ç!����Ó!����ì!�*��� "����6"����Q"�)���n"����˜"����©"�%���Å"�!���ë"� ��� #� ���#����)#����9#�8���T#����#����£#����·#����Õ#�&���ï#�'���$�<���>$�:���{$�.���¶$�!���å$����%�&���%����=%����X%����h%����|%����%����%�#���­%�'���Ñ%�"���ù%�&���&����C&����X&����q&� ���Œ&����­&����Æ&����Ý&�%���ô&����'� ���6'� ���C'����P'����c'����x'����Ž'����¡'����¸'����Ì'����ß'�,���ö'�+���#(�-���O(�)���}(�!���§(����É(����è(����ü(�8���)����L)����c)����x)����Ž)�3��� )� ���Ô)����Þ)� ���ï)����û)����*� ��� *����**�#���=*�"���a*� ���„*����¥*����Ä*����Õ*����ñ*���� +����+����4+����:+����L+�%���]+����ƒ+�$���+�+���Â+�#���î+�:���,�!���M,�/���o,�'���Ÿ,����Ç,����Ý,����ø,����-�*���3-�%���^-����„-�#���¢-�$���Æ-����ë-�%���.�!���'.�'���I.�%���q.����—.����·.����Ë.����Ý.����ü.�(���/�,���C/� ���p/�$���‘/����¶/����Ï/����á/����ÿ/�$���0�#���B0�%���f0����Œ0�!���¬0�&���Î0����õ0���� 1�(���'1� ���P1�3���q1�-���¥1����Ó1����ò1�!��� 2�1���-2�'���_2����‡2�1���§2����Ù2����ð2���� 3����%3����?3�#���Y3�1���}3�.���¯3����Þ3����ô3����4�(���&4����O4� ���g4����u4����’4�(���§4����Ð4����Õ4�3���ô4�;���(5�.���d5����“5����«5����À5�$���Þ5�$���6�D���(6����m6����6����’6����¢6����¶6����Ï6����ì6����7����%7����?7����C7����Z7�)���i7�/���“7�=���Ã7�@���8�:���B8����}8�!���›8����½8�,���Ï8����ü8����9����*9�;���A9����}9����˜9����±9����Ç9����Û9� ���ö9�!���:�(���9:����b:����}:����‘:�*���¤:�-���Ï:����ý:���� ;����$;����=;����R;����i;����‚;����ž;�%���¶;�1���Ü;�#���<�"���2<����U<� ���k<����y<����Š<���� <�"���²<� ���Õ<����ã<����ö<���� =���� =����<=����R=�#���m=�!���‘=�!���³=����Õ=����ì=���� >����$>� ���C>����P>����`>����q>����ƒ>����œ>����µ>����Î>�!���ì>����?�"���&?����I?����i?� ���‡?����¨?����À?�]���Õ?�G���3@����{@����@����¥@�!���»@�*���Ý@� ���A� ���A����6A�/���JA�$���zA����ŸA�2���´A�;���çA����#B����<B����YB����wB�R���ŽB�L���áB�(���.C� ���WC����dC����tC����†C����œC�,���ºC�9���çC�*���!D�,���LD����yD�*���D�G���ªD�0���òD�:���#E�#���^E�'���‚E�8���ªE����ãE�/���øE����(F�7���9F�8���qF� ���ªF����¸F�/���ÔF�-���G� ���2G����>G����XG�#���oG�&���“G�)���ºG�*���äG����H�$���$H����IH����`H����zH����ŠH�+���£H�1���ÏH�"���I����$I����6I����MI�#���kI�$���I����´I����ÒI����çI�!���J�!���)J�%���KJ����qJ�%���€J����¦J����µJ�7���ÄJ�=���üJ����:K����XK����mK����‡K����šK� ���«K����¹K�-���ÑK�C���ÿK����CL�(���XL� ���L�'���‹L����³L�"���ÍL����ðL�����M�?���M�,���PM�%���}M����£M�4���¹M� ���îM�&���N� ���6N�1���BN�2���tN�$���§N����ÌN�8���ëN�G���$O�9���lO����¦O�"���ÅO�$���èO���� P����'P����GP����\P����rP����P�>���¨P�B���çP� ���*Q� ���5Q����AQ����VQ����gQ����„Q� ���—Q� ���¤Q����°Q����ÇQ� ���ÞQ� ���èQ����òQ�)��� R����6R����KR����fR����zR�$���R�-���´R�7���âR����S����!S����7S����FS����US����nS� ���~S����ŠS����‘S����—S����žS����¼S����ÕS�#���òS�J���T� ���aT� ���oT� ���|T����ˆT�*���T����ÈT����äT����ýT����U����0U�8���MU����†U� ���ŒU�H���šU�U���ãU�>���9V�?���xV�?���¸V�8���øV�=���1W�>���oW�3���®W����âW�(���sX�N���œX�f���ëX�>���RY�@���‘Y�#���ÒY�<���öY�*���3Z����^Z����~Z�(���–Z����¿Z�/���ÚZ���� [����%[����=[����P[����V[����k[����[����†[�*���¦[�!���Ñ[�7���ó[����+\�"���C\����f\����u\�3���‰\����½\����Õ\�.���í\����]�0���2]����c]�C���z]����¾]����Û]����ï]���� ^� ���^�H���%^�+���n^�J���š^�2���å^�8���_�=���Q_�@���_�#���Ð_����ô_�$���`�=���4`�4���r`�.���§`�,���Ö`�<���a�0���@a�3���qa�7���¥a�c���Ýa����Ab����Wb�"���nb� ���‘b�3���œb�>���Ðb�5���c�j���Ec�h���°c�_���d�0���yd�,���ªd�*���×d�3���e�(���6e�&���_e�(���†e� ���¯e����»e� ���Îe� ���Ûe�/���ée�7���f�&���Qf� ���xf�Ë��™f����eh�Ã���gh�Û���+i�ß���j�†��çj�¼���nl�p���+m���œm�¢��¼n�_��_p����¿q����Mr�~���er�[���är�O���@s�«���s�W��<t�*��”u�•���¿v�d��Uw�S���ºy�Ø���z�š���çz�Ó���‚{�Š���V|�ß���á|�–���Á}�–���X~�'��ï~�<���€����T€�æ���â€�8���É�B���‚�2��E‚�¤���xƒ���„�B���-…�É���p…�Ð���:†��� ‡�L���ˆ�*���iˆ�c���”ˆ�¾���øˆ�ø���·‰���°Š� ��‹�"��c�2��†Ž�â���¹�d���œ�B���‘�Ì���D‘�F���’�ë���X’�x���D“� ���½“�r���É“����<”�P��Ú”�\��+–�5���ˆ—�É���¾—�y���ˆ˜�—���™�n���š™�H��� š�h���Rš�Ÿ���»š�ž���[›�O���ú›�4���Jœ�‡���œ�Î����9���Ö�•���ž�E���¦ž���ìž�‚���ý �D���€¡�E���Å¡��� ¢�Ï���+£�C���û£�H���?¤�Ñ��ˆ¤�;��Z¦�Æ��–§�Þ���]©�,���<ª�x���iª�±���âª�µ���”«�ã���J¬�‹��.­�Ï���º®�N���Н�z���Ù¯�.��T°���ƒ±�–���†²�“���³�“���±³�È��E´���¶�í���·�ƒ���¸���‰¸�’���š¹�>���-º�Q���lº�U��¾º�Ö���¼�Ñ���ë¼�0��½½�Ð���î¾�û���¿¿����»À�Ö���;Á�ê���Â�)��ýÂ�ê���'Ä�>���Å�1��QÅ�v���ƒÆ�9���úÆ�=��4Ç�(��rÈ�N��›É�I���êÊ�A���4Ë�F���vË�P���½Ë�Å���Ì�B���ÔÌ�T���Í�r���lÍ�ð���ßÍ�ù���ÐÎ����ÊÏ����ÓÏ����ãÏ����ìÏ� ���ñÏ����ÿÏ����Ð����Ð����Ð����"Ð����(Ð����8Ð� ���UÐ� ���_Ð����kÐ����‚Ð����›Ð����±Ð����ÎÐ�"���îÐ�)���Ñ����;Ñ����NÑ�@���cÑ�F���¤Ñ�1���ëÑ����Ò�,���<Ò����iÒ�7���„Ò�#���¼Ò����àÒ�$���ôÒ� ���Ó����'Ó�*���AÓ����lÓ�(���€Ó�%���©Ó�2���ÏÓ�$���Ô����'Ô����AÔ����VÔ�"���vÔ�*���™Ô�C���ÄÔ�'���Õ�"���0Õ�/���SÕ�@���ƒÕ�.���ÄÕ�$���óÕ�'���Ö����@Ö�2���TÖ�&���‡Ö�/���®Ö�)���ÞÖ����×�&��� ×����G×�+���f×� ���’×�;���³×����ï×�7���Ø����;Ø����RØ����pØ����ŒØ�.���¡Ø�$���ÐØ����õØ�1��� Ù����=Ù����XÙ�#���wÙ����›Ù����µÙ����ÍÙ����äÙ�0���úÙ����+Ú�,���FÚ����sÚ�0���Ú�7���ÁÚ�$���ùÚ� ���Û����?Û����PÛ�$���gÛ����ŒÛ���� Û����»Û����ÕÛ�?���íÛ����-Ü����AÜ����_Ü����|Ü����šÜ����¸Ü����ØÜ����öÜ����Ý����1Ý����PÝ����nÝ�.���ƒÝ����²Ý�%���ËÝ� ���ñÝ����Þ����-Þ�"���KÞ�)���nÞ�0���˜Þ����ÉÞ�&���äÞ� ��� ß�)���,ß�1���Vß�)���ˆß�&���²ß�*���Ùß�$���à�'���)à�'���Qà����yà����“à����­à�#���Éà� ���íà����ûà�*���á�#���=á�1���aá� ���“á� ���¡á����¯á����Ãá����Ýá�%���÷á�7���â�6���Uâ�-���Œâ�+���ºâ����æâ����ã�#��� ã����Dã����Tã�+���kã�)���—ã�$���Áã�%���æã���� ä� ���ä����ä�3���8ä�5���lä�-���¢ä�+���Ðä�+���üä�#���(å�+���Lå����xå����{å� ���–å�*���¤å�8���Ïå�>���æ�9���Gæ�*���æ�,���¬æ����Ùæ����îæ����ç����ç� ���3ç� ���=ç����Iç����Oç�.���Xç�8���‡ç�/���Àç� ���ðç����üç�#���è����=è����\è����bè����jè����zè����•è� ���­è� ���»è����Åè�#���Íè�5���ñè�A���'é����ié����ré����ôé�¶���‚ê����9ë� ���Pë����Zë�>���së�¬��²ë����_í� ���ní�Ï���yí����Iî����gî����‡î�C���¢î�-���æî���ï� ���,ð����8ð� ���Wð����cð�[��ið�^���Åñ����$ò�.���<ò�+���kò�!���—ò����¹ò� ���Âò�<���Íò�"��� ó� ���-ó����;ó�>���Oó�P���Žó�F���ßó�$���&ô����Kô� ���hô����sô����…ô����‹ô����‘ô����—ô�"���Ÿô����Âô�?���Èô� ���õ� ���õ����õ����'õ� ���/õ����;õ� ���Cõ����Nõ����gõ����õ����›õ����´õ����Ìõ����êõ�����ö����ö����6ö����Oö����jö� ���‡ö����¨ö�"���Àö�$���ãö����÷� ���÷����÷���� ÷����'÷����7÷�!���T÷����v÷����Œ÷����¢÷����Á÷����Ý÷����ø÷� ���ø����ø����"ø����'ø����Aø�9���[ø� ���•ø����¡ø�&���½ø����äø�D���êø����/ù����Dù���Tù�œ���hú�I���û�t���Oû����Äû����Èû����Ùû����ïû�&���ü����6ü����Pü����iü����ƒü����‹ü����¥ü�?���Åü�¤��ý�Á���ªþ�œ���lÿ�5��� ��*���?��<��j��Ÿ���§�Œ���G�?���Ô�!����‚���6�{���¹�E���5�5��{�B���±����ô�(��� � ���6����A� ���[����e����~����“����¬�A���J �'���Œ �O���´ ���� ���� ����% �%���7 �#���] ���� ����  ����À �8���Ý �6��� ����M ����i ����† � ���  �*���¬ �)���× ���� �!��� ����+ �?���2 � ���r ����} ���� ����¥ ����Ä ����ã ����� � ��� � ��� �#��� � ���B �%���L �&���r ����™ ����µ �'���Õ �(���ý �J���&�.���q���� ����¥����Ä����Ó����ç����ü���� ����� ���/����:����Q�<���a�-���ž�-���Ì�7���ú�<���2�?���o� ���¯�#���Ð�%���ô�¬����1���Ç�w���ù�4���q�g���¦�2����4���A����v�^���Ž�M���í����;�S���[�0���¯�«���à����Œ�Á���§�'���i�3���‘�%���Å�,���ë�m����r���†�°���ù�<���ª�"���ç�&��� �>���1�d���p����Õ�º���e�H��� �$���i�w���Ž�'����½���.�\���ì�ž���I�6���è�-����`���M�}���®�%���,�&���R�)���y�&���£�·���Ê�]���‚ �J���à �0���+!�<���\!�o���™!���� "����"����"����$"����4"����N"�&���i"�F���"�J���×"�A���"#����d#� ���m#����w#����{#����#�9���§#�2���á#�.���$�*���C$�&���n$�"���•$����¸$����×$����ò$�4���%����7%����R%����X%� ���`%����%�'���„%����¬%����Æ%����â%�8����&����9&�;���P&�:���Œ&����Ç&����Ø&� ���ê&���� '�)���'����<'�;���\'�&���˜'����¿'����Ò'�3���ð'�!���$(� ���F(�)���g(� ���‘(� ���²(�R���Ó(�R���&)�"���y)�/���œ)�&���Ì)�'���ó)�%���*�$���A*�:���f*�1���¡*�'���Ó*�(���û*�,���$+�2���Q+�'���„+����¬+����È+�%���ä+���� ,����',�!���<,�#���^,����‚,�%���¢,�*���È,����ó,�/��� -����<-�3���Y-�&���-����´-�)���Ð-�)���ú-����$.�:���>.�0���y.�$���ª.�$���Ï.�$���ô.����/�!���4/�!���V/�*���x/����£/����Â/�2���Ú/���� 0����)0�-���@0�1���n0���� 0�"���¾0����á0�*���1�3���,1�6���`1�%���—1�P���½1�;���2�+���J2�F���v2�9���½2� ���÷2����3�#���!3�1���E3�%���w3����3�2���½3����ð3����4�0���!4�9���R4����Œ4����4����°4�#���Æ4�<���ê4����'5����C5����]5�$���|5�/���¡5�4���Ñ5�0���6�>���76�*���v6�"���¡6�'���Ä6�?���ì6�0���,7����]7����o7����7����¥7����»7�*���Ñ7�1���ü7�'���.8�+���V8����‚8����š8����¶8�%���Ò8����ø8����9����(9�!���;9����]9����x9����‡9����™9����¸9����Ï9����ê9�����:����:����1:����I:�.���_:�3���Ž:�+���Â:�.���î:�+���;�$���I;����n;����‚;�E���›;�'���á;���� <����<����5<�5���J<� ���€<����Š<����š<����­<����Ã<� ���Ó<����Ý<����ú<����=�'���4=�'���\=����„=�$���›=����À=����Þ=����÷=����>����>����/>�+���G>����s>�*���Œ>�-���·>�'���å>�>��� ?�%���L?�1���r?�+���¤?�-���Ð?����þ?����@�$���9@�+���^@�)���Š@�"���´@�(���×@�)����A����*A�)���BA�"���lA�(���A�*���¸A�'���ãA���� B����!B�$���6B�'���[B�3���ƒB�/���·B�)���çB�.���C����@C����^C� ���vC�$���—C�&���¼C�&���ãC�%��� D�#���0D�*���TD�7���D����·D� ���ÍD�&���îD�'���E�7���=E�,���uE� ���¢E����ÃE�$���àE�;���F�/���AF�$���qF�:���–F����ÑF�!���ðF�!���G�!���4G�#���VG�$���zG�>���ŸG�3���ÞG����H�'���2H�"���ZH�.���}H����¬H����ËH����àH����ÿH�#���I� ���9I�%���CI�=���iI�C���§I�<���ëI����(J����EJ� ���`J�*���J�)���¬J�A���ÖJ����K����3K����MK����fK����ƒK�!���œK����¾K� ���ÕK����öK����L����L����2L�+���BL�C���nL�H���²L�F���ûL�@���BM����ƒM����¢M����ÂM�-���ÓM�&���N����(N����8N�A���TN�"���–N�'���¹N����áN����øN����O�)���+O� ���UO�$���vO����›O����²O����ÉO�%���ÛO�(���P����*P����;P����SP����qP����ˆP����ŸP����·P����ÏP�'���çP�*���Q����:Q�)���ZQ����„Q����¡Q����°Q����ÃQ����ÚQ�(���íQ����R����(R����;R����MR����aR����}R����›R�"���»R�"���ÞR����S����!S����;S����ZS����yS����˜S����¨S����»S����ÏS����âS����ûS����T����-T�'���LT����tT�%���ŽT�#���´T����ØT�#���øT����U����6U�h���KU�A���´U����öU���� V����%V�$���:V�/���_V����V����ŸV����¿V�:���ÒV�-��� W����;W�;���TW�F���W����×W����òW���� X����+X�N���CX�M���’X�%���àX����Y����Y����*Y����>Y�!���ZY�$���|Y�1���¡Y�,���ÓY�4����Z����5Z�#���>Z�K���bZ�1���®Z�3���àZ�'���[�!���<[�:���^[����™[�A���¬[����î[�8���\�8���=\� ���v\�,���‚\�3���¯\�"���ã\� ���]����]����*]� ���A]����b]�#���‚]�&���¦]����Í]����æ]����þ]����^����.^����?^�(���X^�5���^����·^����×^����ì^����þ^�%���_�$���A_����f_����_� ���™_� ���º_�!���Û_�$���ý_� ���"`�!���/`� ���Q`����^`�7���m`�O���¥`����õ`����a� ���-a����Na����aa����sa����‡a�+���¤a�J���Ða����b�$���6b����[b�)���jb����”b�$���­b����Òb����ãb�>���ôb�1���3c�.���ec����”c�3���°c����äc�#���d����&d�0���;d�,���ld�(���™d����Âd�2���ßd�A���e�3���Te�"���ˆe�'���«e�(���Óe����üe����f����3f����Ff����bf����f�C���šf�0���Þf� ���g����g����*g����@g�.���Tg����ƒg����œg����¬g����»g����Ôg� ���ìg����ög����ÿg�)���h����Eh����^h����yh����‘h�5���¥h�0���Ûh�<��� i� ���Ii� ���Si����ti� ���…i����‘i� ���¦i� ���²i����Ói� ���äi� ���ði����üi����j�"���2j�"���Uj�>���xj� ���·j� ���Äj����Ñj����Új�/���új����*k� ���Fk����gk����…k����¥k�5���Àk����ök����ük�>���l�V���Ml�0���¤l�1���Õl�1���m�-���9m�/���gm�;���—m�.���Óm�‘���n�$���”n�K���¹n�a���o�7���go�:���Ÿo�$���Úo�8���ÿo�)���8p����bp����€p�1���›p����Íp�'���ìp����q����-q����Eq����Zq����aq����zq����Žq����•q�*���²q�*���Ýq�G���r����Pr�"���mr����r����¡r�9���·r����ñr���� s�6���#s����Zs�;���ss����¯s�A���És���� t����%t����<t����Ut����pt�3���yt�0���­t�F���Þt�:���%u�8���`u�E���™u�L���ßu�&���,v����Sv�)���qv�-���›v�1���Év�5���ûv�1���1w�6���cw�)���šw�7���Äw�0���üw�Z���-x�"���ˆx�(���«x�#���Ôx����øx�/���y�D���8y�;���}y�`���¹y�V���z�E���qz�.���·z�+���æz�&���{�4���9{�2���n{�#���¡{�%���Å{� ���ë{����÷{���� |����|�9���.|�2���h|�!���›|����½|����ð��6��������¡��q��=��Ó�������������3��Ô��!����������(��¾��ý��É��M��å���÷������ì���h���_��e��+��"����������Š��ä������Æ���ú���4�������l������ ����±��á���������� ��L����÷��K��$������€��R��Ç��I���›��+��²��¾���®��”���������� ��î��´������������#������¦��+�������,��^����������Q��:��(��æ��a��o����������‚��Ø�����†��'��p��ª��Z��ø�������|�� �������Ë��é���%��4��À��Œ���)��������m��`������'��‘��Ä��2������������²��l��_������¨��°��d��[��ž��p������5��L��B����­��Œ������ ��.��w��š��ô�������I��s��������;��Î��"��$��ˆ����“������������ü��Ã��3����´���������}��v��������:������É����“��<��V��B��Ä����z��Í�����������p��å��…������1��³��¬��i��Y���œ��¬����������ë��Ê�������•��™�������=���a����‰���:��ƒ����>��<��Ì������À�������µ��S��(��ö��F���I��v��Œ����������è���õ��Ž��¨��������-�����Ñ��'����»���è��r��ú��A��F������ì������¶��������������Ì��������l��ï������d��7�����º��P��S��3��¿��Å��¤�������Þ���›��¡��}��i���(��n���������K��{��¢����?������������Z���ý��¦��®��ë������¦������à����������…���2��¬��a��©��N��x���������������;��µ�������E����f��­�������~������¢��Ï���Á��Ž��¼��r���f������ ����!��Ê������V���������������E���§���{���b��]��Ê��Z��˜��f���•��~��o��¨��Ö���Ì��«������&��������å��@������¯��Ü���¼��Ü��u�������v������Ê������W����´��¹���´��N�������õ��� ����¤������� ��À��z������â�� �������S��������×�������}���Ù���O������•������j���Ð������é��Q��� ��Ó��%���é��Œ��Ÿ��U���������+��������î�������"���³���u��������ï���Ó�������¾��������������2���€������‡���ô��¨��J��m���Y��C������X��ó��)��¹��%��������2��X��a���T��ã��¬���P��”���Ú������ÿ��‘���Z��ö�������������i������í������`�� ���f����E��Š���Ï������6�����¼����������¥��^������y��—��ñ��p��ê��-��Å����������á����š��‡��˜���T������°������£�������������ƒ�������·����/���������� ��“����ƒ��œ��h��/������›���S���~���º��)���—��÷���E��¡���Ý���Ú�������Š������«��’��ž���H��� ��ú��Ý��������^���j������±������Û��„����Â��N��)��¨�������À��>��Ÿ��6������������ô��¹��•��������?��Ž�������������g��œ�����Ó��������������¼��� ��º����Æ��‚��8��»��z������š��������û��.���,��¼������ª��ö���O���»��«���������������þ��������������Ç��º��”��Ñ��–������g��^��������������-��J��t������¸����������#��Â����¸��#������¥���Ä��ë��Ë��T���§��!��ˆ����� ��������������������&����ø����y��©������e��J���|������†������x������@�������5������B���î�������������n����������¯������A��¶���� ��Ò���n��_��·��þ��Ñ��×��&������—��Ã������Î��|��ˆ�����������©��������������������²��£��r������Ã����j��Õ������X�������L����Ð���R��ª��´������x��A����������°���X��"��C��=������c��ú��%��¥�� ���Æ��ï����������������…��Ò����í��Q��0����‰��½����©��·�������������$��Ð��Å��~��Æ��t����������®��_���Ü��u��Ü��¦���������K��{��W���\��*��¯�� ���Ç���¬��i��'���-��<��U��O��è������������#����������Š��7��O��ÿ��Í��ý��*������f��—���~����ƒ��t���ê��5��É��&���[��Ø��ø��º���5���H��������P��e���D��Ä������9���÷������¡��/����ã������¹��j��s��m��Â��Ó��Á��U��ð������|�������â��{��Ù������˜��B��K�������Y��ø������‘������ñ��G��q���ç��I���������v��¯�������õ��ž��,��)������e��†������i��������/��û���ð��a������Ž������1��}������Û������.��‹��ì������@�����/�����]�����£����������>���“���������5������ˆ��í��� ��Þ��ã��ä���X��F��Ç��¸��Ð����l�������d�������†��µ������]��ù��×��Å��Æ�����<������g�������±�������'��·������Ô��������������™������Ÿ���‹����«��9��$��k�������������Ï������;���ç��6���n����������ç�����‡������j��3������� ������W������¸��­��U��=����Ì���������������¿������”��Ž������������������Õ��� ��¶�� �����������’��s��£��C�������ß����������•�������2������p�������D������I������C��t��y���������Í��F��í��ª��������������á��Ú��±��Ÿ��L��G�� ��£������Ä��Í��‹����������������Õ��œ���—��é��������������¾��¡������1�� ��7�� ��¹��h��ó��b��V��å���������w��¯��Å�����Ö��o��o�������S��;��°�� ������ ������Þ�����Í��à���(���ç��������������Ê��+��������z������À��…�������������r������û����������������������x��k��ó��Ô������ª���H��³����������ž������w���7����V�������������� ������¢��Ø��¥������9��e��%��¿���â��m��w��Y������������Ñ������„��¿��c�������‰������Î��k����›��H��*��®�������U��ê��������§��_��«������k��Û�����������˜��ÿ��E��Á������������������ì��Ë��}������������������µ��¦��Š��ê���™����������Ç��1���ñ���x���`�������^��ß��?��ù��ù���r��A��b��…��µ��D���á�������»��#���š������¶��œ��’�������Z��Ë��@��M������²������g��W��B��Ú������G��„��–��N��È��Ò��`��Û��‡������c�����m��ò��*�������J��¢�������P���q��â���‚���Y����±��,�������8���ü������&������ƒ��­������8��õ������t����€���.��ý�������Ã��Ô����©����A�������0������Ÿ��������{������ä��0����������Þ��¤��k��3�����Á���<���J������R���è������„���à��‹��.��7������ü��Ô���„��u��²���ã���6��!������������’����c��à����������–���þ���ð��ë�������������������È������������4��-���’��¾������É������Q��§��Õ������”������‚��Î������š�����T��W��9��`������:���\��"��­������b��;��������ù��‡��g��½������ä��M���F��������������Ï���������� ��4������›����\����$�������|��ó���™����q��4��Ñ�����������������È��‰��Ò��ñ������������������n�����h��s��Q��î��y������ÿ���¶�������C��d��M������s�����������?��N��������È������ ��V��Ù��–�����@��ü�������¸���]��Ý��>����h����������†�������D��l����������³����������������������������¤��Ý��������o������T��������\���0������?����™������y���z���Î���û��ß�������ò��‰��*�� ��æ��Ö������ž��½��M����ò�������d����������þ��ß��Á��€������=��®�� �� ��Â��������������ô��!���ˆ������:��]����G������Ù��8������Ë������������������–��¤��R������æ�����������˜��·�������������æ����ò������c��u��‚������������������¥��¿��O��H��Ð��G���È���Ï��9��������Œ��½���������Ò���������� ���D��w������K��Ø�������€��»������[������v��� ��×��Ã�������8��>������Õ��Ö��������³��É���������������Â��§��,����������‘��\����R�����L���“��½��P������������q��[���1������‘������0�������������b���¢��°����������ï������‹�������ö��Ì������[���������Ù|����á|�h��@h��Th��hh��|h��h��¤h��¸h��Ìh��àh��ôh��i��$i��@i��Ti��€i��œi��¸i��Ìi��ài��ôi��j��$j��@j��\j��xj��Œj��¨j��é|��������������� �����������������ÿÿÿÿ }��������1���ÿÿÿÿ;}��������/���ÿÿÿÿk}�7����������ÿÿÿÿµ}�����������ÿÿÿÿå}�����������ÿÿÿÿ~��������(���ÿÿÿÿ<~� �������Q���ÿÿÿÿ—~� �������R���ÿÿÿÿó~� �������V���ÿÿÿÿS������������������ÿÿÿÿ�����������ÿÿÿÿ†� ���������������ÿÿÿÿ°����������ÿÿÿÿÑ��������������������������������ÿÿÿÿû������������������ÿÿÿÿ%€������������������ÿÿÿÿT€�>����������ÿÿÿÿ§€�����������ÿÿÿÿÚ€�/������� ���ÿÿÿÿ� ����������ÿÿÿÿ7� �������#����������ÿÿÿÿ~� �������&����������ÿÿÿÿÌ� �������,�������%���ÿÿÿÿ&‚��������!����������ÿÿÿÿ\‚�����������ÿÿÿÿd‚� ���������������ÿÿÿÿ‚����������ÿÿÿÿ� � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --complement complement the set of selected bytes, characters or fields � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � %H:%M%P � (backup: %s)� ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In real life: �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Virtual timer expired�WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option used in invalid context -- %c�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils-8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-01-01 15:51+0100 Last-Translator: Benno Schulenberg <benno@vertaalt.nl> Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net> Language: eo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Lokalize 1.0 � � --check-order kontroli ke la enigo estas Äuste ordigita, eĉ se ĉiuj enigaj linioj estas pareblaj --nocheck-order ne kontroli ke la enigo estas Äuste ordigita � -1 forlasi kolumnon 1 (liniojn unikajn al DOSIERO1) -2 forlasi kolumnon 2 (liniojn unikajn al DOSIERO2) -3 forlasi kolumnon 3 (liniojn kiuj aperas en ambaÅ­ dosieroj) � -a, --all egalas al «-b -d --login -p -r -t -T -u» -b, --boot montri tempon de lasta sistemstarto -d, --dead montri ankaÅ­ mortajn procezojn -H, --heading montri linion de kolumno-kapoj � -l produkti eligon en longa aranÄo por la indikata(j) UZANTO(j) -b forlasi hejman dosierujon kaj Åelon de uzanto en longa aranÄo -h forlasi projektan dosieron de uzanto en longa aranÄo -p forlasi la 'plan'-dosieron de uzanto en longa aranÄo -s produkti eligon en mallonga aranÄo (ĉi tio estas la defaÅ­lto) � ARG1 * ARG2 aritmetika produkto de ARG1 kaj ARG2 ARG1 / ARG2 aritmetika kvociento de ARG1 dividita per ARG2 ARG1 % ARG2 aritmetika resto de ARG1 dividita per ARG2 � ARG1 + ARG2 aritmetika sumo de ARG1 kaj ARG2 ARG1 - ARG2 aritmetika diferenco de ARG1 kaj ARG2 � ARG1 < ARG2 ARG1 estas malpli ol ARG2 ARG1 <= ARG2 ARG1 estas malpli aÅ­ egalas al ARG2 ARG1 = ARG2 ARG1 egalas al ARG2 ARG1 != ARG2 ARG1 ne egalas al ARG2 ARG1 >= ARG2 ARG1 estas pli ol aÅ­ egalas al ARG2 ARG1 > ARG2 ARG1 estas pli ol ARG2 � ENTJERO kopii Äis sed ne inkluzive indikata lininumero /REGESP/[DEÅœOVO] kopii Äis sed ne inkluzive kongrua linio %REFESP%[DEÅœOVO] transpasi Äis sed ne inkluzive kongrua linio {ENTJERO} ripeti la antaÅ­an Åablonon je ĉi tiu nombro de fojoj {*} ripeti la antaÅ­an Åablonon kiel eble plej multe Linia DEÅœOVO estas necesa '+' aÅ­ '-' kun posta pozitiva entjero. � ĈENO : REGULESPRIMO ankrita Åablona kongruo de REGULESPRIMO en ĈENO match ĈENO REGULESPRIMO same kiel 'ĈENO : REGULESPRIMO' substr ĈENO POZICIO LONGO subĉeno de ĈENO (POZICIO nombriÄas ekde 1) index ĈENO SIGNOJ pozicio en ĈENO kie ĉi tiuj SIGNOJ troviÄas, alie 0 length ĈENO longo de ĈENO � b krei blokan specialan dosieron (bufritan) c, u krei signan specialan dosieron (nebufritan) p krei vicmemoron ('FIFO'-n) � nombro da uzantoj=%lu � Kampo estas vico de blankspacoj (kutime spacetoj kaj/aÅ­ taboj) kaj poste neblankaj signoj. Kampoj saltiÄas antaÅ­ signoj. � Malpeza 'finger'-programo; eligas informon pri uzantoj. La uzita 'utmp'-dosiero estos %s. � Nura «-» signifas «-i». Sen iu KOMANDO, eligi la rezultan ĉirkaÅ­aĵon. � Specialkaze, «cp» faras savkopion de ORIGINO kiam opcioj «--force» kaj «--backup» indikatas, kaj ORIGINO kaj CELO estas la sama nomo de ekzistanta normala dosiero. � Notu ke Åeloj ofte bezonas citilojn aÅ­ eskapsignon por iuj operacisimboloj. Se kaj ARG1 kaj ARG2 estas nombroj, oni komparas nombre, alie leksikografie. Åœablona rekono liveras la ĉenon kongruan al parentezo inter \( kaj \), aÅ­ malplenan ĉenon. Se oni ne indikas \( kaj \), Åablona rekono liveras la nombron de kongruaj signoj, aÅ­ 0. � ĈEFNUMERO kaj KROMNUMERO ambaÅ­ indikendas kiam TIPO estas 'b' aÅ­ 'c' aÅ­ 'u', kaj ili forlasendas kiam TIPO estas 'p'. Kiam ĈEFNUMERO aÅ­ KROMNUMERO komencas per '0x' aÅ­ '0X', Äi interpretiÄas kiel deksesuma; alie, se Äi komencas per '0', kiel okuma; alie, kiel dekuma. TIPO povas esti: � DefaÅ­lte, 'rm' ne forigas dosierujojn. Uzu opcion '--recursive' (-r aÅ­ -R) por ankaÅ­ forigi ĉiun indikatan dosierujon kaj Äian tutan enhavon. � DefaÅ­lte, maldensaj ORIGINOj detektiÄas per kruda heÅ­ristiko kaj la koresponda CELO-dosiero fariÄas maldensa ankaÅ­. Tiu konduto elektiÄas de «--sparse=aÅ­to». Indiku «--sparse=always» por ĉiam krei maldensan CELO-dosieron kiam ajn la ORIGINO enhavas sufiĉe longan sekvencon de nulbajtoj. Uzu «--sparse=never» por malebligi kreon de maldensaj dosieroj. Kiam indikatas «--reflink[=always]», mola kopio fariÄas, en kiu la datumblokoj estos kopiataj nur kiam ili modifotas. Se mola kopio ne eblas, malsukcesas la kopio, aÅ­ (se «--reflink=aÅ­to» indikatas) normala kopio fariÄas anstataÅ­e. � Ĉiu MODUSO estas laÅ­ la formo «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+». � Ekzemploj: %s -12 dosiero1 dosiero2 Montras nur liniojn kiuj ĉeestas en ambaÅ­ dosieroj. %s -3 dosiero1 dosiero2 Montras liniojn kiuj ĉeestas en unu dosiero sed ne en la alia. � Ekzemploj: %s /usr/bin/ -> «/usr» %s ujo1/ĉeno ujo2/ĉeno -> «ujo1» kaj poste «ujo2» %s stdio.h -> «.». � Ekzemploj: %s /usr/bin/sort -> «sort» %s include/stdio.h .h -> «stdio» %s -s .h include/stdio.h -> «stdio» %s -a ia/ĉeno1 ia/ĉeno2 -> «ĉeno1» kaj poste «ĉeno2» � Ekzemploj: %s f - g Eligas enhavon de f, poste ĉefenigujon, poste enhavon de g. %s Kopias ĉefenigujon al ĉefeligujo. � Ekzemploj: %s root /u ÅœanÄas la posedanton de /u al "root". %s root:teamo /u Egale, sed ankaÅ­ ÅanÄas la grupon al "teamo". %s -hR root /u ÅœanÄas la posedanton de /u kaj subdosieroj al "root". � Ekzemploj: %s teamo /u ÅœanÄas la grupon de /u al "teamo". %s -hR teamo /u ÅœanÄas la grupon de /u kaj Äiaj subdosieroj al "teamo". � Elirstato estas 0 se ESPRIMO estas nek vaka nek nulo, 1 se ESPRIMO estas vaka aÅ­ nulo, 2 se ESPRIMO estas sintakse nevalida, kaj 3 se eraro okazis. � Regas la tty-lineon konektatan al ĉefenigujo. Sen argumentoj, eligas rapidecon, linean protokolon, kaj diferencojn disde '/stty sane'. En ecoj, SIGNO prezentas sin mem, aÅ­ estas kodita (ekzemple ^c, 0x37, 0177, aÅ­ 127); la specialaj valoroj '^-' aÅ­ 'undef' malebligas specialajn signojn. � Se opcio '-e' efikas, la subaj eskapsekvencoj rekoniÄas: � Se DOSIERO ne indikatas, %s uzatas. Kutimas %s kiel DOSIERO. Kiam du ARGUMENTOj indikatas («estas mi» eblas), opcio «-m» kompreniÄas. � Se DOSIERO indikatas, Äi legiÄas por decidi kiujn kolorojn uzi por kiuj dosiertipoj kaj dosierfinaĵoj. Alie, antaÅ­kompilita datumbazo uzatas. Por detaloj pri la aranÄo de tiuj dosieroj, lanĉu 'dircolors --print-database'. � Kiam DOSIERO estas «-», kopii denove al ĉefeligujo. � Sen KOMANDO, lanĉiÄas '${SHELL} -i' (defaÅ­lte: '/bin/sh -i'). � Se ĉefenigujo estas terminalo, alidirekti Äin de «/dev/null». Se ĉefeligujo estas terminalo, aldoni eligon al dosiero «nohup.out», se eblas, alie al «$HOME/nohup.out» Se ĉeferar-eliguo estas terminalo, alidirekti Äin al ĉefeligujo. Por savi la eligon al DOSIERO, uzu «%s KOMANDO > DOSIERO». � NOMBRO povas havi obligilan sufikson: b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024, GB = 1000*1000*1000, G = 1024*1024*1024, ktp por T, P, E, Z, Y. � Ĉi tiu estas libera programaro: vi rajtas Äin ÅanÄi kaj redistribui. La Äusta licenco estas GPLv3+: GNU GPL versio 3 aÅ­ sekva; por la kompleta (angla) teksto vidu <http://gnu.org/licenses/gpl.html>. Ĉi tiu programaro ne garantiatas, ene de la limoj de la leÄo. � Notu ke komparoj honoras la regulojn indikatajn de 'LC_COLLATE'. � Notu: 'uniq' nur rimarkas ripetitajn liniojn kiam ili estas apudaj. Vi eble volas unue ordigi la enigon, aÅ­ uzi 'sort -u' sen 'uniq'. AnkaÅ­, komparoj honoras la regulojn indikatajn de 'LC_COLLATE'. � Posedanto ne ÅanÄiÄas se mankas. AnkaÅ­ grupo ne ÅanÄiÄas se mankas, sed Äi ÅanÄiÄas al la ensaluta grupo se ':' sekvas simbolan POSEDANTOn. POSEDANTO kaj GRUPO povas esti numerecaj aÅ­ simbolaj. � Eligas la valoron de ESPRIMO al ĉefeligujo. (Sube vaka linio disigas kreskantajn antaÅ­ecajn grupojn.) ESPRIMO povas esti: ARG1 | ARG2 ARG1 se Äi estas nek vaka nek nulo, alie ARG2 ARG1 & ARG2 ARG1 se nek ARG1 kaj ARG2 estas vaka aÅ­ nulo, alie nulo � Kiam DOSIERO estas «-», ĉefenigujo legiÄas. Ĉiu ÅœABLONO povas esti: � Raportu programmisojn en «%s» al <%s>. � Raportu programmisojn al %s; sciigu tradukerarojn al <translation-team-eo@lists.sourceforge.net>. � SIGNALO povas esti signalnomo kiel 'HUP', signalnumero kiel '1', aÅ­ la elirstato de procezo kiu terminiÄis per signalo. PROCEZNUMERO estas entjero; se negativa, Äi indikas procezgrupon. � La savkopia sufikso estas «~», krom se agordita per «--suffix» aÅ­ per ĉirkaÅ­aĵa variablo «SIMPLE_BACKUP_SUFFIX». La versirega metodo elekteblas per «--backup» aÅ­ per ĉirkaÅ­aĵa variablo «VERSION_CONTROL». Jen la eblaj metodoj: � La datenoj estas koditaj kiel priskribas RFC 3548 por la alfabeto 'base64'. Por malkodado eblas ke krom la bajtoj de la formala base64-alfabeto estu iuj liniavancoj en la enigaĵo. Uzu «--ignore-garbage» por provi toleri aliajn ne-alfabetajn signojn en la kodita fluo. � La sekvaj opcioj modifas la trapason de la hierarkio kiam la opcio «-R» indikatas. Se pli ol unu el ili indikatas, nur la lasta efikas. -H se komandlinia argumento estas simbola ligo al dosierujo, trapasi Äin -L trapasi ĉiun renkontatan simbolan ligon al dosierujo -P ne trapasi iujn ajn simbolajn ligojn (defaÅ­lte) � La sekvaj tri opcioj nur utilas dum kontrolo de kontrolsumoj: --quiet ne eligi «bone» por ĉiu sukcese kontrolita dosiero --status ne eligi ion ajn; la elirstato montras (mal)sukceson -w, --warn averti pri malÄuste formitaj kontrolsumaj linioj � La kontrolsumoj kalkuliÄas kiel estas priskribita en %s. Dum kontrolo, la enigo devas esti antaÅ­a eligo de ĉi tiu programo. La defaÅ­lta reÄimo estas eligi por ĉiu DOSIERO linion kiu konsistas de: kontrolsumo, signo kiu indikas la enigan moduson («*» por duuma, spaceto por teksta), kaj la nomo. � Uzu unu, kaj nur unu, de «-b», «-c», aÅ­ «-f». Ĉiu LISTO konsistendas el unu gamo, aÅ­ multaj gamoj disigitaj per komoj. Elektita enigo skribiÄas en la sama ordo en kiu Äi legiÄas, kaj skribiÄas ekzakte unufoje. � Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. DefaÅ­lte uziÄas opcio «-F /». � Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. � Kiam sen opcioj, produktas trikolumnan eligon. La unua kolumno entenas liniojn unikajn al DOSIERO1, la dua kolumno liniojn unikajn al DOSIERO2, kaj la tria kolumno liniojn komunajn al ambaÅ­ dosierojn. � Sen iu ajn OPCIO, eligi iun utilan aron de uzanta kaj grupa informo. � Eligas neambiguan reprezenton (per okumaj bajtoj defaÅ­lte) de DOSIERO al ĉefeligujo. Kun pli ol unu DOSIERO, ili kunmetiÄas en la indikata ordo por formi la enigon. Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. � (utilas nur en sistemoj kie eblas ÅanÄi posedanton de simbola ligo) � (nekonata)� --complement komplementi la aron de elektitaj bajtoj, signoj, aÅ­ kampoj � --dereference (defaÅ­lte) efiki la referencatan de ĉiu simbola ligo -h, --no-dereference efiki simbolan ligon mem anstataÅ­ kion Äi indikas � --files0-from=DOS legi la enigon el la dosieroj kiuj indikatas en la dosiero DOS per NUL-finitaj nomoj; se DOS estas «-», la nomoj legiÄas el ĉefenigujo -L, --max-line-length montri la longon de la plej longa linio -w, --words montri la nombron de vortoj � --from=NUNA_POSEDANTO:NUNA_GRUPO ÅanÄi la posedanton kaj/aÅ­ grupon de ĉiu dosiero nur se Äia nuna posedanto kaj/aÅ­ grupo kongruas kun la ĉi tie indikataj; la unua aÅ­ la dua povas esti forlasata, en kiu kazo kongruo ne bezonas por tiu � --help montri ĉi tiun helpon kaj eliri � --lookup provi normaligi gastnomojn per DNS -m montri nur gastnomon kaj uzanton kiu uzas ĉefenigujon -p, --process montri aktivajn procezojn kiuj kreiÄis far 'init' � --no-preserve-root ne trakti '/' aparte (la defaÅ­lto) --preserve-root rifuzi operacii rikure sur '/' � --no-preserve=ATRIBUTLISTO ne konservi la indikatajn atributojn --parents uzi plenan ORIGINOdosieran nomon sub DOSIERUJO � --reference=REFERENCDOSIERO uzi la grupon de REFERENCDOSIERO anstataÅ­ valoron � --reference=REFDOS uzi la moduson de REFDOS anstataÅ­ de MODUSOn � --reference=REFERENCDOSIERO uzi posedanton kaj grupon de REFERENCDOSIERO � --reference=REFERENCDOSIERO uzi sekurecan kuntekston de REFERENCDOSIERO anstataÅ­ la valoron KUNTEKSTO � --sparse=KIAM stiri kreon de maldensaj dosieroj (vidu sube) --strip-trailing-slashes forigi ajn vostajn suprenstrekojn de ĉiu ORIGINO � --strict kun «--check»: eliri nenule por iu ajn nevalida enigo � --version montri programversion kaj eliri � --all eligi la nombron de instalitaj procesoroj --ignore=NOMBRO se eblas, ekskluzivi NOMBROn de procesoraj unuoj � + Ä´ETONO interpreti Ä´ETONOn kiel ĉeno, eĉ se Äi estas Ålosilvorto kiel 'match' aÅ­ operacio kiel '/' ( ESPRIMO ) valoro de ESPRIMO � --output-delimiter=ĈENO disigi kolumnojn kun ĈENO � --userspec=UZANTO:GRUPO uzendaj uzanto kaj grupo (ID aÅ­ nomo) --groups=GRUPLISTO agordendaj aldonaj grupoj (indiki kiel «g1,g2,..,gN») � -0, --null disigi eligon per nulbajtoj anstataÅ­ per novlinioj � -D, --all-repeated[=disigmetodo] montri ĉiujn ripetitajn liniojn; disigmetodo povas esti 'none' (defaÅ­lte), 'prepend', aÅ­ 'separate'; disigo fariÄas per vakaj linioj -f, --skip-fields=N eviti kompari la unuajn N kampojn -i, --ignore-case ignori malsamecojn usklecajn je komparo -s, --skip-chars=N eviti kompari la unuajn N signojn -u, --unique nur montri unikajn liniojn -z, --zero-terminated fini liniojn per NUL-bajto anstataÅ­ novlinio � -L, --logical uzi PWD de la ĉirkaÅ­aĵo, eĉ se Äi enhavas simbolajn ligojn -P, --physical eviti ĉiujn simbolajn ligojn � -R, --recursive ÅanÄas dosierojn kaj dosierujojn rikure � -R, --recursive operacii rikure pri dosieroj kaj dosierujoj � -R, --recursive, -r kopii dosierujojn rikure --reflink[=KIAM] kopii nur skribotajn blokojn (vidu sube) --remove-destination forigi ĉiun ekzistantan celdosieron antaÅ­ ol provi malfermi Äin (kontraste kun «--force») � -T, -w, --mesg aldoni mesaÄan staton de la uzanto kiel «+», «-» aÅ­ «?» -u, --users montri ensalutitajn uzantojn --message egalas al «-T» --writable egalas al «-T» � -Z, --context=KTT agordi la sekurecan kuntekston de NOMO al KTT � -Z, --context=KTT agordi la sekurecan kuntekston de ĉiu NOMO al KTT � -a, --all inkluzivi virtualajn dosiersistemojn -B, --block-size=NOMBRO skali grandojn per NOMBRO antaÅ­ eligi ilin; '-BM' ekzemple elmetas grandojn en unuoj de 1048576 bajtoj; vidu ankaÅ­ sube --total eligi grandan totalon -h, --human-readable eligi grandojn en homlegebla aranÄo (ekzemple: 1K 234M) -H, --si same, sed uzi potencojn de 1000 anstataÅ­ de 1024 � -a, --all konverti ĉiujn blankspacojn anstataÅ­ nur la komencajn --first-only konverti nur komencan sinsekvon de blankspacoj (nuligas '-a') -t, --tabs=NMBRO meti tabojn dise je NMBRO anstataÅ­ 8 pozicioj (ebligas '-a') -t, --tabs=LISTO uzi komadisigatan LISTOn de tabpozicioj (ebligas '-a') � -a, --archive egalas al «-dR --preserve=all» --attributes-only ne kopii la dosierdatumojn, nur la atributojn --backup[=STIRO] fari savkopion de ĉiu ekzistanta cela dosiero -b kiel «--backup», sed ne akceptas argumenton --copy-contents kopii enhavon de specialaj dosieroj kiam rikure -d egalas al «--no-dereference --preserve=links» � -a, --multiple permesi plurajn argumentojn kaj trakti ĉiun kiel NOMOn -s, --suffix=SUFIKSO forlasi ĉi tiun SUFIKSOn kiam Äi okazas -z, --zero disigi eligon per nulbajtoj anstataÅ­ per novlinioj � -b, --binary legi en duuma moduso � -b, --binary legi en duuma moduso (defaÅ­lte kiam ne legiÄas terminala ĉefenigujo) � -b, --bytes kalkuli bajtojn anstataÅ­ de kolumnojn -s, --spaces faldi nur je spacetoj (kiam eblas) -w, --width=NOMBRO uzi ĉi tiun larÄon anstataÅ­ de 80 � -b, --bytes=LISTO elekti nur ĉi tiujn bajtojn -c, --characters=LISTO elekti nur ĉi tiujn signojn -d, --delimiter=SIGNO uzi SIGNOn anstataÅ­ TAB-on por kampdisigilo � -b, --suffix-format=ARANÄœO uzi ĉi tiun ARANÄœOn (de 'sprintf') anstataÅ­ %02d -f, --prefix=PREFIKSO uzi ĉi tiun PREFIKSOn anstataÅ­ 'xx' -k, --keep-files ne forigi eligajn dosierojn kiam eraro okazas � -c, --bytes=[-]NOMBRO eligi la unuajn NOMBRO bajtojn de ĉiu dosiero; kun komenca «-», eligi ĉiujn bajtojn krom la NOMBRO lastaj -n, --lines=[-]NOMBRO eligi la unuajn NOMBRO liniojn anstataÅ­ unuajn dek; kun komenca «-», eligi ĉiujn liniojn krom la NOMBRO lastaj � -c, --changes kiel '--verbose', sed nur kiam ÅanÄo okazis -f, --silent, --quiet forlasi la plejmulton de erarmesaÄoj -v, --verbose eligi mesaÄon por ĉiu dosiero kiu proceziÄis � -c, --check legi %s-kontrolsumojn el la DOSIEROj kaj kontroli ilin � -c, --count prefiksi liniojn per la nombro de okazoj -d, --repeated montri nur la ripetitajn liniojn � -c, --crown-margin konservi krommarÄenon de la unuaj du linioj -p, --prefix=ĈENO rearanÄi nur liniojn kiuj komencas per ĈENO, realdonante tiun prefikson al rearanÄitaj linioj -s, --split-only fendi longajn liniojn, sed ne rerektigi ilin � -d, --decode malkodi la datenojn -i, --ignore-garbage ignori nealfabetajn signojn dum malkodado -w, --wrap=NOMBRO faldi koditajn liniojn post NOMBRO (defaÅ­lte 76) da signoj; uzu 0 por malÅalti linifaldadon � -d, --delimiters=LISTO uzi la signojn el tiu LISTO anstataÅ­ tabojn -s, --serial alglui unu dosieron pofoje anstataÅ­ ĉiujn paralele � -e ebligi interpretadon de malsuprenstrekaj eskapoj -E malebligi interpretadon de malsuprenstrekaj eskapoj (defaÅ­lto) � -e ebligi interpretadon de malsuprenstrekaj eskapoj (defaÅ­lto) -E malebligi interpretadon de malsuprenstrekaj eskapoj � -e, --echo trakti ĉiun ARGUMENTOn kiel enigan linion -i, --input-range=DE-ÄœIS trakti ĉiun numeron ekde DE tra ÄœIS kiel enigan linion -n, --head-count=NOMBRO eligi maksimume NOMBRO liniojn -o, --output=DOSIERO eligi rezulton al DOSIERO anstataÅ­ al ĉefeligujo --random-source=DOSIERO preni hazardajn bajtojn el DOSIERO -z, --zero-terminated disigi eligon per nulbajtoj anstataÅ­ per novlinioj � -f forlasi la linion de kolumnaj ĉapoj en mallonga aranÄo -w forlasi plenan uzantnomon en mallonga aranÄo -i kiel '-w' sed ankaÅ­ forlasi foran gastiganton -q kiel '-i' sed ankaÅ­ forlasi vakan tempon � -f, --fields=LISTO elekti nur ĉi tiujn kampojn; ankaÅ­ eligi ĉiun linion kiu ne enhavas disigilon, krom se la opcio «-s» indikatas -n (ignoriÄas) � -i, --initial ne konverti tabojn post ne-blankspacoj -t, --tabs=NOMBRO meti tabojn dise je NOMBRO anstataÅ­ 8 pozicioj � -i, --inodes listigi informon pri indeksnodoj anstataÅ­ pri blokuzado -k kiel '--block-size=1K' -l, --local limigi listadon al lokaj dosiersistemoj --no-sync ne voki 'sync' antaÅ­ havigo de uzadinformo (defaÅ­lto) � -l, --link senpere ligi dosierojn anstataÅ­ kopii ilin -L, --dereference ĉiam sekvi simbolajn ligojn en ORIGINO � -l, --login montri ensalutajn procezojn de la sistemo � -m, --mode=MODUSO uzendaj permesoj (vidu 'chmod') anstataÅ­ de 'a=rw - umask' � -m, --mode=MODUSO uzendaj permesoj (vidu 'chmod') anstataÅ­ de 'a=rwx - umask' -p, --parents ne estas eraro se jam ekzistas, kaj krei patrajn dosierujojn laÅ­bezone -v, --verbose eligi mesaÄon por ĉiu kreita dosierujo -Z, --context=KTT agordi sekurecan kuntekston de ĉiu kreita dosierujo al KTT � -n, --digits=NOMBRO uzi ĉi tiun nombron de ciferoj anstataÅ­ 2 -s, --quiet, --silent ne montri la bajtnombrojn de la eligaj dosieroj -z, --elide-empty-files forigi vakajn eligajn dosierojn � -n, --no-clobber ne anstataÅ­igi ekzistantan dosieron (transpasas antaÅ­an opcion «-i») -P, --no-dereference neniam sekvi simbolajn ligojn en ORIGINO � -p egalas al «--preserve=mode,ownership,timestamps» --preserve[=ATRIBUTLISTO] konservi la indikatajn atributojn (defaÅ­lte: «mode,ownership,timestamps»), eblas ankaÅ­: «context, links, xattr, all» � -p, --parents forigi la DOSIERUJOn kaj Äiajn patrajn; ekzemple «rmdir -p a/b/c» similas al «rmdir a/b/c a/b a» -v, --verbose eligi mesaÄon por ĉiu dosierujo kiu proceziÄis � -q, --count montri nur nomojn kaj nombron de ensalutitaj uzantoj -r, --runlevel montri nunan rulnivelon -s, --short montri nur nomon, terminalon kaj tempon (defaÅ­lte) -t, --time montri la lastan sistemhorloÄan ÅanÄon � -q, --quiet, --silent neniam eligi ĉapojn kun dosiernomoj -v, --verbose ĉiam eligi ĉapojn kun dosiernomoj � -s, --only-delimited ne eligi liniojn kiuj ne enhavas disigilojn --output-delimter=ĈENO uzi tiun ĉi ĈENOn kiel eligan disigilon; defaÅ­lte uziÄas la eniga disigilo � -s, --signal=SIGNALO, -SIGNALO la nomo aÅ­ la numero de la sendenda signalo -l, --list [IO] montri signalnomojn (aÅ­ konverti inter nomoj kaj numeroj) -t, --table montri tabelon de informoj pri signaloj � -s, --symbolic-link krei simbolajn ligojn anstataÅ­ kopii la enhavon -S, --suffix=SUFIKSO uzi ĉi tiun anstataÅ­ kutiman savkopian sufikson -t, --target-directory=DOSIERUJO kopii ĉiujn ORIGINOjn al DOSIERUJO -T, --no-target-directory trakti CELO kiel normala dosiero � -t egalas al opcioj «-vT» -T, --show-tabs montri ĉiun TAB-signon kiel «^I» -u (ignorata) -v, --show-nonprinting uzi «^» kaj «M-» notigon, escepte por LFD kaj TAB � -t, --tabs=LISTO uzi komadisigatan LISTOn de tabpozicioj � -t, --tagged-paragraph krommarÄeno de unua linio malsamas al tiu de dua -u, --uniform-spacing unu spaceto inter vortoj, du post frazoj -w, --width=LARÄœO maksimuma larÄo de linio (defaÅ­lto: 75 kolumnoj) -g, --goal=LARÄœO cela larÄo (defaÅ­lto: 93% de maksimuma larÄo) � -t, --text legi en teksta moduso (defaÅ­lte kiam legiÄas terminala ĉefenigujo) � -t, --text legi en teksta moduso (defaÅ­lte) � -u, --update kopii nur kiam la ORIGINO estas pli nova ol la cela dosiero aÅ­ kiam la cela dosiero mankas -v, --verbose montri nomon de ĉiu dosiero antaÅ­ ol kopii Äin -x, --one-file-system resti sur dosiersistemo sur kiu kopiado komencis � -u, --user=UZANTO difini uzanton UZANTO en la cela sekureca kunteksto -r, --role=ROLO difini rolon ROLO en la cela sekureca kunteksto -t, --type=TIPO difini tipon TIPO en la cela sekureca kunteksto -l, --range=GAMO difini gamon GAMO en la cela sekureca kunteksto � -v, --kernel-version montri la version de la kerno -m, --machine montri la klason de la procesoro -p, --processor montri la tipon de la procesoro aÅ­ «unknown» -i, --hardware-platform montri la klason de la komputilo aÅ­ «unknown» -o, --operating-system montri la nomon de la mastruma sistemo � -v, --verbose eligi mesaÄon por ĉiu dosiero kiu proceziÄis � -w, --check-chars=N kompari en ĉiu linio ne pli ol N signoj � -z, --zero disigi eligon per nulbajtoj anstataÅ­ per novlinioj � -z, --zero-terminated disigi eligon per nulbajtoj anstataÅ­ per novlinioj � Dosiero: "%n" ID: %-8i Nomlongo: %-7l Tipo: %T Blokgrando: %-10s Baza blokgrando: %S Blokoj -- Tutaj: %-10b Liberaj: %-10f Disponeblaj: %a I-nodoj -- Tutaj: %-10c Liberaj: %d � Dosiero: %N Grando: %-10s Blokoj: %-10b IO-bloko: %-6o %F � Procezoj en ne-interrompebla dormstato ankaÅ­ kontribuas al la meznombra ÅarÄo. � \0NNN bajto kun okuma valoro NNN (1 Äis 3 ciferoj) \xHH bajto kun deksesuma valoro HH (1 aÅ­ 2 ciferoj) � \\ malsuprenstreko \a pepo (BEL) \b retropaÅo \c produkti nenian plian eligon \e eskapo \f paÄavanco \n liniavanco \r ĉaretreiro \t horizontala tabo \v vertikala tabo � none, off neniam fari savkopiojn (eĉ se «--backup» indikatas) numbered, t fari numeratajn savkopiojn existing, nil numeratajn se numeratajn savkopiojn ekzistas, alie simplajn simple, never ĉiam fari simplajn savkopiojn � %H:%M � (savkopio: %s)� ??:?? � TTY� kunteksto=%s� EGID=%s� EUID=%s� GID=%s� grupoj=�longe� ĉe ripeto %s �nevalida konvertindiko: %.*s�%b %e %Y�%b %e %H:%M�%lu uzanto�%lu uzantoj�%s (por regulesprimo %s)�%s -> %s (restaÅ­ro) �'%s [-d]' finiÄis nenormale�%s kaj %s estas la sama dosiero�%s ekzistas sed ne estas dosierujo�%s aperis; sekvatas fino de nova dosiero�%s iÄis atingebla�%s iÄis neatingebla�%s anstataÅ­iÄis per fora dosiero; rezignatas pri ĉi tiu nomo�%s anstataÅ­iÄis per nesekvebla dosiero; rezignatas pri ĉi tiu nomo�%s anstataÅ­iÄis; sekvatas fino de nova dosiero�%s havas nekonatan dosiertipon�%s havas neuzeblan, Åajne negativan grandon�HejmpaÄo de «%s»: <%s> �HejmpaÄo de «%s»: <http://www.gnu.org/software/%s/> �%s ne estas valida pozitiva entjero�%s estas tro granda�eblas uzi %s nur je SE-Linuksa kerno�subprocezo %s�subprocezo %s malsukcesis�subprocezo %s ricevis pereigan signalon %d�indikatas %s sen %s�%s anstataÅ­igus la enigon -- abortiÄas�argumento de %s%s tro grandas: «%s»�%s: %s estas tiel granda ke Äi ne prezentiÄeblas�%s: %s: lininumero estas ekster gamo�%s: %s: paron ne trovatas�%s: %s:%s: malordo: �%s: '}' nepras en ripeta nombro�%s: malsukcesis malfermo aÅ­ lego �duloka operacisigno atendatas, %s trovitas�%s: krei relativajn simbolajn ligojn eblas nur en aktuala dosierujo�%s: ne eblas ÅanÄi nebarantan moduson�%s: ne eblas eltrovi dosiergrandon�%s: ne eblas eltrovi nomon por uzanta ID-o %lu �%s anstataÅ­iÄis per fora dosiero; rezignatas pri ĉi tiu nomo�%s: ne eblas fari 'lseek' reen al unua pozicio�%s: ne eblas anstataÅ­igi dosierujon�malsukcesis 'lseek' Äis komenco sur %s�%s: 'seek' ne eblas�%s: ne eblas fari 'seek' al finrelativa pozicio %s�%s: ne eblas fari 'seek' al pozicio %s�%s: ne eblas fari 'seek' al relativa pozicio %s�maleblas tutviÅi nur-aldonan dosieron %s�%s: ne eblas transsalti�%s: ne eblas salti al indikata pozicio�%s: mankas ferma disigilo '%c'�%s: malsukcesis reagordi nebarantan moduson�%s: ĉu eniri en dosierujon %s? �%s: ĉu eniri en kontraÅ­skribe protektatan dosierujon %s? �%s: fino de dosiero�%s: ekvivalentklasa argumento nepras esti ununura signo�%s: eraro dum trunkado�%s: skrib-eraro je pozicio %s�%s: numera valoro atendatas�malsukcesis fermi %s�%s: malsukcesis eltrovi informon pri 'extents'�malsukcesis malfermi %s por skribado�malsukcesis forigi %s�%s: malsukcesis reagordi dosierpozician indikilon�malsukcesis fcntl() sur %s�malsukcesis 'fdatasync' por %s�%s: dosiero havas negativan grandon�%s: dosiero Årumpis troe�%s: dosiero tro grandas�%s: dosiero tro longas�%s: dosiero trunkitas�malsukcesis eltrovi statinformon pri malferma %s�malsukcesis 'fsync' por %s�%s: senpera ligo malpermesatas por dosierujo�%s: enigo enhavas iteracion:�%s: enigo enhavas malparecan nombron de simboloj�eniga dosiero %s estas la eliga dosiero; Äi ignoriÄas�%s: post disigilo atendiÄas entjero�nevalida grando por IO-bloko: %s�%s: nevalida PID�nevalida pecnumero: %s�%s: nevalida nombro je komenco de %s�nevalida indiko: %s�%s: nevalida kampindiko %s�%s: nevalida dosiergrando�%s: nevalida dosiertipo�nevalida nombro da senÅanÄaj statinformoj inter malfermoj: %s�%s: nevalida numero�nevalida nombro da bajtoj: %s�nevalida nombro da pecoj: %s�nevalida nombro da linioj: %s�nevalida nombro de paÅoj: %s�%s: nevalida nombro da sekundoj�%s: nevalida ignorenda nombro�%s: nevalida opcio -- «%c» �%s: nevalida serĉa Åablono�%s: nevalida indiko de procezo�%s: nevalida regulesprimo: %s�%s: nevalida signalo�%s: nevalida komenca valoro por numera sufikso�nevalida sufikslongo: %s�%s: lininumero devas esti pli ol nulo�%s: lininumero estas ekster gamo�malsukcesis 'lseek' sur %s�%s: pluraj signaloj indikatas�%s: novaj permesoj estas %s, ne %s�%s: neniu valida %s-kontrolsumo troviÄas�%s: mankas informo pri grando de ĉi tiu aparato�%s: tiu uzanto ne ekzistas�%s: ne listiÄas jam listita dosierujo�%s: nombro de bajtoj tro grandas�%s: opcio «%c%s» ne toleras argumenton �%s: opcio «%s» estas plursenca; eblaĵoj estas:�%s: opcio «--%s» ne toleras argumenton �--%s: opcio «%s» bezonas argumenton �%s: opcio «-W %s» ne toleras argumenton �%s: opcio «-W %s» estas plursenca �%s: opcio «-W %s» bezonas argumenton �%s: opcio bezonas argumenton -- «%c» �%s: ĉu anstataÅ­igi %s? �%s: paÅo %lu/%lu (%s)...�%s: paÅo %lu/%lu (%s)...%s�%s: paÅo %lu/%lu (%s)...%s/%s %d%%�%s: leg-eraro�%s: ĉu forigi %s %s? �%s: ĉu forigi ĉiujn argumentojn rikure? �%s: ĉu forigi ĉiujn argumentojn? �%s: ĉu forigi kontraÅ­skribe protektatan %s %s? �forigiÄis %s�forigiÄas %s�%s renomiÄis al %s�%s: ĉu anstataÅ­igi %s? �malsukcesis 'seek' sur %s�%s: tro multaj linioj de kontrolsumoj�%s: ĉu anstataÅ­igi %s, ignorante moduson %04lo (%s)? �%s: ne eblas eltrovi maksimuman longecon de dosiernomo�%s: ne eblas efiki ĉiujn petatajn operaciojn�unuloka operacisigno atendatas, %s trovitas�%s: nekonata opcio «%c%s» �%s: nekonata opcio «--%s» �%s: valoro ne komplete konvertiÄis�%s: skrib-eraro�%s: malsukcesis skribo�%s:%lu: nevalida linio; mankas dua simbolo�%s:%lu: nevalida dosiernomo (longo nulas)�%s:%lu: nerekoniÄas Ålosilvorto %s�%s}: entjero nepras inter '{' kaj '}'�»�')' atendatas�')' atendatas, %s trovitas�troaj signoj aÅ­ nevalida nombro je opcio '-%c': %s�mankas argumento en '--page=UNUA_PAÄœO[:LASTA_PAÄœO]'�nevalida komenca lininumero je opcio '-N': %s�nevalida nombro da signoj je opcio '-W': %s�nevalida nombro da linioj je opcio '-l': %s�nevalida marÄeno je opcio '-o': %s�nevalida nombro da signoj je opcio '-w': %s�©�, meznombra ÅarÄo: %.2f�, %g s, %s/s �argumento por opcio '--%s' tro grandas: %s�opcio '--context' (-Z) nur funkcias kun SE-Linuksa kerno�opcio «--filter» ne pritraktas pecon eligatan al ĉefeligujo�eblas uzi opcion '--reflink' nur kune kun '--sparse=auto'�opcioj '--tag' kaj '--text' ne kombineblas�'-R --dereference' bezonas aÅ­ '-H' aÅ­ '-L'�'-R -h' bezonas '-P'�'-ef' ne akceptas '-l'�'-nt' ne akceptas '-l'�'-ot' ne akceptas '-l'�<interna>�(nekonata) �-----�Abortita�Atingo: %x Modifo: %y ÅœanÄo: %z Kreo: %w �Atingo: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G) �Ne subteniÄas adresfamilio por komputilretnomo�VekhorloÄo�Ĉiuj petoj estas plenumitaj�Bufro por argumentoj tro malgrandas�Arnold ROBINS (Arnold Robbins)�Liber�Liberaj�Misa sistemvoko�Misa valoro por 'ai_flags'�Brajen FOKS (Brian Fox)�Rompita dukto�Bus-eraro�Komento�Limo de procesortempo transpasiÄis�Kreas ligon de nomo DOSIERO2 al ekzistanta DOSIERO1. �Forigas la indikatan DOSIEROn per alvoko al funkcio 'unlink()'. �Kapacito�ÅœanÄas la grupon de ĉiu DOSIERO al GRUPO. Kun «--reference», ÅanÄas la grupon de ĉiu DOSIERO al tiu de REFERENCDOSIERO. �Åœangas la moduson de ĉiu DOSIERO al MODUSO. Kun opcio «--reference», Äi Åangas la moduson de ĉiu DOSIERO al tiu de REFERENCDOSIERO. �ÅœanÄas la posedanton kaj/aÅ­ grupon de ĉiu DOSIERO al POSEDANTO kaj/aÅ­ GRUPO. Kun «--reference», ÅanÄas la posedanton kaj grupon de ĉiu DOSIERO al tiuj de REFERENCDOSIERO. �Ĉet REMI (Chet Ramey)�Ido finis�Kolin PLOM (Colin Plumb)�Komparas ordigitajn dosierojn DOSIERO1 kaj DOSIERO2 po-linie. �Ĉenigas DOSIERO(j)n, aÅ­ ĉefenigujon, al ĉefeligujo. -A, --show-all egalas al opcioj «-vET» -b, --number-nonblank numerigi nevakajn eligliniojn (nuligas opcion «-n») -e egalas al opcioj «-vE» -E, --show-ends montri «$» je la fino de ĉiu linio -n, --number numerigi ĉiujn eligliniojn -s, --squeeze-blank forlasi ripetitajn vakajn eligliniojn �Kunteksto: %C �DaÅ­rigita�Kopias ĉefenigujon al ĉiu indikata DOSIERO, kaj ankaÅ­ al ĉefeligujo. -a, --append postglui al la indikataj DOSIEROj, ne anstataÅ­igi -i, --ignore-interrrupts ignori interrompsignalojn �David IĤNAT (David M. Ihnat)�David MEKENZI (David MacKenzie)�David MADOR (David Madore)�Aparato: %Dh/%dd I-nodo: %-10i Ligoj: %-5h Aparattipo: %t,%T �Aparato: %Dh/%dd I-nodo: %-10i Ligoj: %h �Diagnozas nevalidajn aÅ­ neporteblajn dosiernomojn. -p fari kontrolon por la plejmulto de POSIX-sistemoj -P kontroli ankaÅ­ je vakaj nomoj kaj komencaj «-» --portability fari kontrolon por ĉiuj POSIX-sistemoj (egalas al '-p -P') �Dosierujo: �Dmitri LEVIN (Dmitry V. Levin)�EMT-komando�Eliro�Ĉiu gamo povas esti unu el: N la N-a bajto, signo aÅ­ kampo, numerata ekde 1 N- de la N-a bajto, signo aÅ­ kampo, Äis la fino de la linio N-M de la N-a al la M-a (inkluzive) bajto, signo aÅ­ kampo -M de la unua Äis la M-a (inkluzive) bajto, signo aÅ­ kampo Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. �Eligi la indikata(j)n ĈENO(j)n al ĉefeligujo. -n ne eligi la finan linifinon �Erik BLEJK (Eric Blake)�Eliras kun rezultkodo kiu indikas malsukceson.�Eliras kun rezultkodo kiu indikas sukceson.�FransÅ­a PINAR (François Pinard)�MALSAMAS�(nekonato)�Vicmemoro ('FIFO') ne havas ĉefan kaj kroman aparatnumeron.�Limo de dosiergrando transpasiÄis�Dosiersistemo�Glitkomkalkul-eraro�Por kompleta dokumentado rulu: info coreutils '%s invocation' �Devigas skribon de ÅanÄitaj blokoj al disko, kaj Äisdatigas la superblokon. �Äœenerala helpo por uzi GNU-programojn: <http://www.gnu.org/gethelp/> �Äœusepe SKRIVANO (Giuseppe Scrivano)�Piter ANVIN (H. Peter Anvin)�Malkonekto�Enigo/eligo eblas�Vakas�I-lbr�Iuza%�I-uzata�Ien Lans TEJLOR (Ian Lance Taylor)�Vakas�Se DOSIERO ne indikatas, %s uzatas. Kiel DOSIERO kutimas %s. �Miskomando�Vera nomo: �senfino�senfino�Informmendo�I-nodoj�Interrompo�Interrompita per signalo�Nevalida retroreferenco�Nevalida nomo de signoklaso�Nevalida kunmetita signo�Nevalida enhavo de \{\}�Nevalida antaÅ­a regulesprimo�Nevalida fino de gamo�Nevalida regulesprimo�Äœejmz JONGMAN (James Youngman)�Äœej LEPRO (Jay Lepreau)�Äœim KINGDON (Jim Kingdon)�Äœim MEJERING (Jim Meyering)�Äœosef ARSENO (Joseph Arceneaux)�Kave GAZI (Kaveh Ghazi)�Kejven AGEJPUR (Kayvan Aghaiepour)�Kevin BRAŬNSDORF (Kevin Braunsdorf)�Buĉita�Terminalo�LOGIN�Saluto�Ensaluta nomo: �Mark KETENIS (Mark Kettenis)�Mefju BREDBORN (Matthew Bradburn)�Mankas sufiĉa memoro�Mankas sufiĉa memoro�Majkel MESKES (Michael Meskes)�Majkel STON (Michael Stone)�Majk HERTEL (Mike Haertel)�Majk PARKER (Mike Parker)�Metita sur�Nomo�Nomo�Nomo aÅ­ servo ne konatas�Nils MOLER (Niels Moller)�Neniu adreso estas asociata kun nomo de gastiga komputilo�Neniu trafo�Mankas antaÅ­a regulesprimo�Neriparebla malsukceso ĉe nom-eltrovo�bonas�Nur unu signoĉeno permesatas kiam forigiÄas sen kunpremi ripetojn.�Ordigantaj opcioj: �Aliaj opcioj: �Eligas komandojn por agordi la ĉirkaÅ­aĵan variablon 'LS_COLORS'. -b, --sh, --bourne-shell eligi Bourne-Åelan kodon por starigi 'LS_COLORS' -c, --csh, --c-shell eligi C-Åelan kodon por starigi 'LS_COLORS' -p, --print-database eligi la defaÅ­ltojn �Montras ĉiun NOMOn sen sia lasta nestreka ero kaj sen finaj suprenstrekoj; se NOMO ne enhavas suprenstreko, eligiÄas «.» (indikanta la nuna dosierujo). �Eligas platformdependajn limojn en aranÄo kiu utilas por Åelskriptoj. �Montras kiuj estas aktuale ensalutitaj laÅ­ DOSIERO. Se DOSIERO ne indikatas, %s uzatas. Kiel DOSIERO kutimas %s. �PID�Pakigita far %s �Pakigita far %s (%s) �Padrejg BREJDI (Pádraig Brady)�Parametra ĉeno ne estas Äuste kodita�PaÅ­l EGERT (Paul Eggert)�PaÅ­l RUBIN (Paul Rubin)�Pit TERMAT (Pete TerMaat)�Plano: �Elektra provizo perdiÄis�Neatendita fino de regulesprimo�Montras la CRC-kontrolsumon kaj bajtnombrojn de ĉiu DOSIERO. �Montras certan informon pri la komputilo. Sen iu OPCIO, opcio «-s» kompreniÄas. -a, --all montri ĉiujn informojn en la ordo de la sekvantaj opcioj, forlasante «-p» kaj «-i» se ili nekonatas -s, --kernel-name montri la nomon de la kerno -n, --nodename montri la retnomon de la komputilo -r, --kernel-release montri la eldonon de la kerno �Eligas kontrolsumon kaj nombron de blokoj por ĉiu DOSIERO. -r uzi BSD-sumalgoritmon, uzi blokojn de 1K -s, --sysv uzi Sistemo V-sumalgoritmon, uzi blokojn de 512 bajtoj �Montras grupajn anecojn por ĉiu indikata UZANTNOMO aÅ­, sen iu UZANTNOMO, por la aktuala procezo. (Tiuj povas malsami se la grupa datumbazo ÅanÄiÄis.) �Montras informon pri la aktuale ensalutitaj uzantoj. �Montras la arkitekturon de la komputilo. �Montras la nombrojn de novlinioj, vortoj kaj bajtoj por ĉiu DOSIERO, kaj plue linion de totaloj se pli ol unu DOSIERO indikatas. Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. Vorto estas nenullonga vico de signoj limigita de blankspaco. La subaj opcioj uzeblas por elekti kiuj nombroj montriÄos, sed ĉiam en la sekvanta ordo: novlinioj, vortoj, signoj, bajtoj, kaj maksimuma linilongo. -c, --bytes montri la nombron de bajtoj -m, --chars montri la nombron de signoj -l, --lines montri la nombron de novlinioj �Montras la nunan tempon, la daÅ­ron kiu la sistemo jam rulas, la nombro de uzantoj, kaj la meznombro de taskoj en la rulvico dum la lastaj 1, 5 kaj 15 minutoj.�Montras la dosiernomon de la terminalo kiu estas konektata al ĉefenigujo. -s, --silent, --quiet eligi nenion, nur produkti elirstaton �Eligas la kompletan dosiernomon de la aktuala labordosierujo. �Eligas nomon de aktuala uzanto. �Eligi nombron de procesoraj unuoj kiuj disponeblas al la nuna procezo, kiu povas esti malpli ol la nombro de aktivaj procesoroj. �Eligas la primajn faktorojn de ĉiu indikata ENTJERO. Se neniu indikatas sur la komandlinio, ili legiÄas de ĉefenigujo. �Montras la uzantnomon de la aktuala uzanta ID-o. Samas al 'id -un'. �Montras uzantan kaj grupan informon por la indikata UZANTNOMO, aÅ­ (kiam UZANTNOMO preterlasatas) por la aktuala uzanto. -a ignoriÄas (rekoniÄas nur por kongrui kun aliaj versioj) -Z, --context eligi nur la sekurecan kuntekston de la aktuala uzanto -g, --group eligi nur la efektivan grupan ID-on -G, --groups eligi ĉiujn grupajn ID-ojn -n, --name eligi nomon anstataÅ­ nombron (kun '-ugG') -r, --real eligi la veran ID anstataÅ­ la efektivan ID-on (kun '-ugG') -u, --user eligi nur la efektivan uzantan ID-on �Montras la valoron de simbola ligo aÅ­ Äian norman dosiernomon. �Traktado de peto daÅ­ras�Profilanta horloÄo transpasis limtempon�Projekto: �Frenk KSIA (Q. Frank Xia)�Forlasigo�Rendi SMIF (Randy Smith)�Realtempa signalo %d�Regulesprimo tro grandas�Forigas ĉiun DOSIERUJOn, se Äi vakas. --ignore-fail-on-non-empty ignori ĉiun malsukceson kiu kaÅ­ziÄas nur per nevaka dosierujo �DaÅ­re eligas linion kun (ĉiuj) indikata(j) ĈENO(j), aÅ­ 'y'. �Raportu programmisojn en «%s» al: %s �Sciigu tradukerarojn en «%s» al <translation-team-eo@lists.sourceforge.net>. �Peto nuligitas�Peto ne nuligitas�Risurco perdiÄis�Riĉard STOLMEN (Richard M. Stallman)�Riĉard MLINARIK (Richard Mlynarik)�Roland HIBNER (Roland Huebner)�Roland MEKGRAF (Roland McGrath)�Ros PETERSON (Ross Paterson)�Rulas KOMANDOn kun CELDOSIERUJO kiel radika dosierujo. �Rulas KOMANDOn, ignorante ajnajn 'hangup'-signalojn. �Rosel KUKER (Russell Coker)�Skot BARTREM (Scott Bartram)�Skot MILER (Scott Miller)�Adres-eraro�'servname' ne subtenatas por 'ai_socktype'�Agordu LC_ALL='C' por eviti la problemon.�Åœelo: �Simon ÄœOSEFSON (Simon Josefsson)�Grando�Specialaj dosieroj postulas ĉefajn kaj kromajn aparatnumerojn.�Stak-eraro�PaÅ­zigita (uzule)�PaÅ­zigita (signale)�PaÅ­zigita (pro terminalenigo)�PaÅ­zigita (pro terminaleligo)�StjuÅ­art KEMP (Stuart Kemp)�Sukceso�Sistemeraro�Ensalutis�Dumtempa malsukceso ĉe nom-eltrovo�Ĉesigita�La komparitaj ĉenoj estis %s kaj %s.�Torbjern GRANLUND (Torbjörn Granlund)�Spurumo-/romppunkto-komando�Malsuprenstreko '\' ĉe la fino�Tajpu '%s --help' por pli da informoj. �Tajpu '%s ./%s' por forigi dosieron %s. �Endas indiki du signoĉenojn kiam kaj forigiÄas kaj kunpremiÄas ripetoj.�Endas indiki du signoĉenojn kiam tradukiÄas.�Tipo�UlriÄ¥ DREPER (Ulrich Drepper)�Nekonata eraro�Nekonata signalo %d�Nekonata sistemeraro�Senpara ( aÅ­ \(�Senpara ) aÅ­ \)�Senpara [ aÅ­ [^�Senpara \{�UrÄa enig-/elig-stato�Uzmaniero: %s �Uzmaniero: %s KOMANDO [ARGUMENTO...] aÅ­: %s OPCIO �Uzmaniero: %s ESPRIMO aÅ­: %s OPCIO �Uzmaniero: %s DOSIERO aÅ­: %s OPCIO �Uzmaniero: %s DOSIERO1 DOSIERO2 aÅ­: %s OPCIO �Uzmaniero: %s ARANÄœO [ARGUMENTO...] aÅ­: %s OPCIO �Uzmaniero: %s NOMO [SUFIKSO] aÅ­: %s OPCIO... NOMO... �Uzmaniero: %s OPCIO... KOMANDO �Uzmaniero: %s OPCIO... DOSIERO... �Uzmaniero: %s OPCIO... [DOSIERO...] �Uzamniero: %s [-F APARATO | --file=APARATO] [AGORDO...] aÅ­: %s [-F APARATO | --file=APARATO] [-a|--all] aÅ­: %s [-F APARATO | --file=APARATO] [-g|--save] �Uzmaniero: %s [-LARÄœO] [OPCIO...] [DOSIERO...] �Uzmaniero: %s [-s SIGNALO | -SIGNALO] PROCEZNUMERO... aÅ­: %s -l [SIGNALO...] aÅ­: %s -t [SIGNALO...] �Uzmaniero: %s [DOSIERO...] aÅ­: %s [OPCIO] �Uzmaniero: %s [NOMO] aÅ­: %s OPCIO Montras aÅ­ agordas la retnomon de la aktuala komputilo. �Uzmaniero: %s [ENTJERO...] aÅ­: %s OPCIO �Uzmaniero: %s [ARGUMENTO...] aÅ­: %s OPCIO �Uzmaniero: %s [OPCIO] �Uzmaniero: %s [OPCIO] Montras la numeran (deksesuman) identigilon de la aktuala komputilo. �Uzmaniero: %s [OPCIO] DAŬRO KOMANDO [ARGUMENTO...] aÅ­: %s [OPCIO] �Uzmaniero: %s [OPCIO] NOMO... �Uzmaniero: %s [OPCIO] CELDOSIERUJO [KOMANDO [ARGUMENTO...]] aÅ­: %s OPCIO �Uzmaniero: %s [OPCIO] [KOMANDO [ARGUMENTO...]] �Uzmaniero: %s [OPCIO] [DOSIERO] Eligas tute ordigitan liston kiu koheras kun la parta ordo en DOSIERO. Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. �Uzmaniero: %s [OPCIO...] �Uzmaniero: %s [OPCIO...] KUNTEKSTO DOSIERO... aÅ­: %s [OPCIO...] [-u UZANTO] [-r ROLO] [-l GAMO] [-t TIPO] DOSIERO... aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO... �Uzmaniero: %s [OPCIO...] DOSIERUJO... �Uzmaniero: %s [OPCIO...] DOSIERO SERĈŜABLONO... �Uzmaniero: %s [OPCIO...] DOSIERO... �Uzmaniero: %s [OPCIO...] DOSIERO1 DOSIERO2 �Uzmaniero: %s [OPCIO...] GRUPO DOSIERO... aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO... �Uzmaniero: %s [OPCIO...] LASTA aÅ­: %s [OPCIO...] UNUA LASTA aÅ­: %s [OPCIO...] UNUA PAÅœO LASTA �Uzmaniero: %s [OPCIO...] MODUSO[,MODUSO...] DOSIERO... aÅ­: %s [OPCIO...] OKUMA_MODUSO DOSIERO... aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO... �Uzmaniero: %s [OPCIO...] NOMO TIPO [ĈEFNUMERO KROMNUMERO] �Uzmaniero: %s [OPCIO...] NOMO... �Uzmaniero: %s [OPCIO...] ARO1 [ARO2] �Uzmaniero: %s [OPCIO...] [ DOSIERO | ARGUMENTO1 ARGUMENTO2 ] �Uzmaniero: %s [OPCIO...] [+ARANÄœO] aÅ­: %s [-u|--utc|--universal] [MMTThhmm[[CC]JJ][.ss]] �Uzmaniero: %s [OPCIO...] [-T] ORIGINO CELO aÅ­: %s [OPCIO...] ORIGINO... DOSIERUJO aÅ­: %s [OPCIO...] -t DOSIERUJO ORIGINO... �Uzmaniero: %s [OPCIO...] [-T] ORIGINO CELO aÅ­: %s [OPCIO...] ORIGINO... DOSIERUJO aÅ­: %s [OPCIO...] -t DOSIERUJO ORIGINO... aÅ­: %s [OPCIO...] -d DOSIERUJO... �Uzmaniero: %s [OPCIO...] [-] [NOMO=VALORO]... [KOMANDO [ARGUMENTO...]] �Uzmaniero: %s [OPCIO...] [DOSIERO] �Uzmaniero: %s [OPCIO...] [DOSIERO] aÅ­: %s -e [OPCIO...] [ARGUMENTO...] aÅ­: %s -i DE-ÄœIS [OPCIO...] �Uzmaniero: %s [OPCIO...] [DOSIERO...] �Uzmaniero: %s [OPCIO...] [DOSIERO...] aÅ­: %s [-abcdfilosx] [DOSIERO... [[+]DEÅœOVO[.][b]] aÅ­: %s --traditional [OPCIO...] [DOSIERO] [[+]DEÅœOVO[.][b]] [[+]ETIKEDO[.][b]] �Uzmaniero: %s [OPCIO...] [DOSIERO...] aÅ­: %s [OPCIO...] --files0-from=LISTDOSIERO �Uzmaniero: %s [OPCIO...] [DOSIERO...] Montras aÅ­ kontrolas %s-kontrolsumojn (%d-bitajn). Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas. �Uzmaniero: %s [OPCIO...] [ENIGDOSIERO [ELIGDOSIERO]] �Uzmaniero: %s [OPCIO...] [ENIGO [PREFIKSO]] �Uzmaniero: %s [OPCIO...] [ENIGO...] (sen '-G') aÅ­: %s -G [OPCIO...] [ENIGO [ELIGO]] �Uzmaniero: %s [OPCIO...] [POSEDANTO][:[GRUPO]] DOSIERO... aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO... �Uzmaniero: %s [OPCIO...] [ÅœABLONO] �Uzmaniero: %s [OPCIO...] [UZANTNOMO] �Uzmaniero: %s [OPCIO...] [UZANTNOMO...] �Uzmaniero: %s [OPCIO...] [UZANTO...] �Uzmaniero: %s [OPCIO...] [VARIABLO...] Eligas la valorojn de la indikata(j) ĉirkaÅ­aĵa(j) variablo(j). Sen iu VARIABLO, paroj de nomo kaj valoro por ĉiuj ekzistantaj eligiÄas. �Uzmaniero: %s [MALLONGA_OPCIO...] UZANTO KOMANDO [ARGUMENTO...] aÅ­: %s LONGA_OPCIO �Uzmaniero: %s [MALLONGA_OPCIO...] [ĈENO...] aÅ­: %s LONGA_OPCIO �Uzmaniero: %s [ĈENO...] aÅ­: %s OPCIO �Uzmaniero: %s [ignorataj argumentoj] aÅ­: %s OPCIO �Uzamaniero: test ESPRIMO aÅ­: test aÅ­: [ ESPRIMO ] aÅ­: [ ] aÅ­: [ OPCIO �Uza%�Uzata�Uzula signalo 1�Uzula signalo 2�Validaj argumentoj estas:�Validaj argumentoj estas: �Virtuala horloÄo transpasis limtempon�AVERTO: ignoriÄas '--context' (-Z); tiu ĉi kerno ne subtenas SELinux�AVERTO: ignoriÄas '--preserve-context'; tiu ĉi kerno ne subtenas SELinux�AVERTO: ignoriÄas '--strip-program' ĉar opcio '-s' ne indikatas�Averto: �Ensalutis�Kie�Fenestro ÅanÄiÄis�Verkita de %s kaj %s. �Verkita de %s, %s, %s, %s, %s, %s, %s, %s, %s kaj aliaj. �Verkita de %s, %s, %s, %s, %s, %s, %s, %s kaj %s. �Verkita de %s, %s, %s, %s, %s, %s, %s kaj %s. �Verkita de %s, %s, %s, %s, %s, %s kaj %s. �Verkita de %s, %s, %s, %s, %s kaj %s. �Verkita de %s, %s, %s, %s kaj %s. �Verkita de %s, %s, %s kaj %s. �Verkita de %s, %s kaj %s. �Verkita de %s. �dum traduko esprimoj «[=s=]» ne permesatas en ARO2�^ neniu kongruo por klavo �^[nN]�^[jJyY]�'_open_osfhandle()' malsukcesis �«�kune kun Äustigo endas indiki komandon�'ai_family' ne subtenatas�'ai_socktype' ne subtenatas�plursenca argumento %s por %s�eblas indiki enigan disigilon nur kiam traktante kampojn�eligo aldoniÄas al %s�fari savkopion de %s detruus fontdosieron; %s ne kopiiÄis�fari savkopion de %s detruus fontdosieron; %s ne moviÄis�tipo de savkopio�blokaparatdosiero�blokaparatdosieroj ne subtenatas�blokoj�ne ambaÅ­ dosieroj povas esti ĉefenigujo�bajtpozicio %s estas tro granda�ne eblas apliki partan kuntekston al sen-etikeda dosiero %s�ne eblas eltrovi kuntekston de procezo�ne eblas atingi %s�ne eblas krei savkopion de %s�ne eblas ambaÅ­ resumi kaj montri ĉiujn elementojn�ne eblas ÅanÄi posedanton de %s�ne eblas ÅanÄi permesojn de %s�ne eblas ÅanÄi radikan dosierujon al %s�ne eblas ÅanÄi al dosierujo %s�ne eblas iri al radika dosierujo�nekombineblas la opcioj '--target-directory' (-t) kaj '--no-target-directory' (-T)�nekombineblas la opcioj '--target-directory' (-t) kaj '--no-target-directory' (-T)�nekombineblas opcioj '-e' kaj '-i'�ne eblas kombini iujn ajn el {ascii,ebcdic,ibm}�ne eblas kombini 'block' kaj 'unblock'�ne eblas kombini 'direct' kaj 'nocache'�ne eblas kombini 'excl' kaj 'nocreat'�ne eblas kombini 'lcase' kaj 'ucase'�nekombineblas modusaj argumentoj kaj opcio «--reference»�maleblas kombini signalon kun opcio '-l' aÅ­ '-t'�ne eblas kompari dosiernomojn %s kaj %s�ne eblas konverti U+%04X al loka signaro�ne eblas konverti U+%04X al loka signaro: %s�ne eblas kopii dosierujon %s al ene de si mem (%s)�ne eblas kopii ciklan simbolan ligon %s�ne eblas krei dosierujon %s�ne eblas krei vicmemoron %s�ne eblas krei senperan ligon %s al %s�ne eblas krei ligon %s al %s�ne eblas krei dukton�ne eblas krei regulan dosieron %s�ne eblas krei specialan dosieron %s�ne eblas krei simbolan ligon %s�ne eblas krei simbolan ligon %s al %s�malsukcesis krei provizoran dosieron en %s�ne eblas malreferenci %s�ne eblas eltrovi aparaton kaj indeksnodon de %s�ne eblas eltrovi la retnomon�ne eblas eltrovi lokon de %s; uzatas nun skrutinio�maleblas '--relative' sen '--symbolic'�ne eblas fari 'ioctl' al %s�ne eblas eltrovi nomon por grupa ID-o %lu�ne eblas eltrovi nomon por uzantnumero %s�ne eblas sekvi %s je nomo�maleblas ambaÅ­ agordi celkuntekston al %s kaj reteni Äin�malsukcesis eltrovi statinformon pri malferma %s�ne eblas eltrovi aktualan dosierujon�malsukcesis eltrovi efektivan GID-on�malsukcesis eltrovi efektivan UID-on�ne eblas eltrovi afablecon�malsukcesis eltrovi realan GID-on�malsukcesis eltrovi realan UID-on�malsukcesis eltrovi la nomon de la sistemo�ne eblas eltrovi grandon de %s�ne eblas 'lseek' sur %s�ne eblas krei samtempe senperan kaj simbolan ligon�ne eblas krei dosierujon %s�ne eblas movi %s al %s�ne eblas movi %s al subdosiero de si mem (%s)�ne eblas movi dosierujon al nedosierujo: %s -> %s�ne eblas malfermi %s por legi�malsukcesis malfermi %s por skribi�ne eblas malfermi dosierujon %s�ne eblas trakti sencelan simbolan ligon %s�ne eblas anstataÅ­igi dosierujon %s per nedosierujo�ne eblas anstataÅ­igi nedosierujon %s per dosierujo %s�ne eblas efektivigi formatitan eligon�maleblas konservi etenditajn atributojn; 'cp' kompilitis sen subteno por 'xattr'�ne eblas konservi sekurecan kuntekston sen SE-Linuksa kerno�maleblas eligi ion kun pliaj "nuraj" opcioj�maleblas eligi nur nomojn aÅ­ realajn numerojn en la defaÅ­lta aranÄo�maleblas eligi sekurecan kuntekston kiam uzanto indikatas�ne eblas legi�ne eblas legi dosierujon %s�malsukcesis legi dosiernomojn el %s�malsukcesis legi en dosiersistemo informon pri %s�malsukcesis legi realtempan horloÄon�ne eblas legi simbolan ligon %s�ne eblas legi tabelon de surmetitaj dosiersistemoj�ne eblas forigi %s�ne eblas forigi dosierujon %s�ne eblas ÅanÄi dosierpozician indikilon pri %s�ne eblas restaÅ­ri dosiernumeron %d: 'dup2()' malsukcesis�ne eblas ruli %s�ne eblas estigi %s�ne eblas agordi daton�ne eblas agordi grupan ID-on al %lu�maleblas agordi retnomon; ĉi tiu sistemo ne povas fari tion�ne eblas agordi nomon al %s�ne eblas agordi afablecon�ne eblas agordi tempojn pri %s�ne eblas agordi uzantan ID-on al %lu�maleblas transsalti la finon de kombinata enigo�ne eblas indiki opcio '--null' (-0) kune kun komando�ne eblas printi ambaÅ­ vertikale kaj horizontale�ne eblas indiki nombro da kolumnoj kiam printiÄas horizontale�nekombineblas opcio '-t' kun '-d' aÅ­ '-r'�maleblas dividi en pluraj manieroj�malsukcesis eltrovi statinformon pri %s�malsukcesis eltrovi statinformon pri aktuala dosierujo (nun %s)�malsukcesis eltrovi statinformon pri ĉefenigujo�ne eblas tuÅi %s�ne eblas restaÅ­ri savkopion %s�malsukcesis forigi %s�ne eblas malestigi %s�ne eblas rigardadi %s�ne eblas rigardadi patran dosierujon de %s�tamen rezultas ke maleblas preterpasi kern-eraron�ÅanÄiÄis grupo de %s -- de %s al %s �ÅanÄiÄis posedanto de %s -- de %s al %s �ÅanÄiÄas grupo de %s�ÅanÄiÄas posedanto de %s�ÅanÄiÄas permesoj pri %s�ÅanÄiÄas sekureca kunteksto de %s �signopozicio estas nulo�signo estas ekster gamo�signoaparatdosiero�signoaparatdosieroj ne subtenatas�vakigiÄas permesoj pri %s�horloÄÅanÄo�malsukcesis fermo�fermiÄas %s (dosiernumero=%d)�fermiÄas dosierujo %s�fermiÄas eniga dosiero %s�fermiÄas eniga dukto�fermiÄas eliga dosiero %s�fermiÄas eliga dukto�fermiÄas antaÅ­a dukto�fermiÄas ĉefenigujo�kongrua moduso permesas maksimume unu dosieron�konfliktas la anstataÅ­igaj ĉenoj por vakaj kampoj�konfliktas la indikoj de sekureca kunteksto�malsukcesis agordi bufran moduson de %s al %s �malsukcesis krei novan procezon por '%s -d'�malsukcesis krei provizoran dosieron�malsukcesis ruli %s�malsukcesis ruli '%s -d'�malsukcesis trovi en %s dosierujan elementon kies indeksnodo kongruas�ne eblas eltrovi la tempon de praÅargo�kreiÄas dosierujo %s�kreiÄas dosierujo %s�kreiÄas dosiero %s �listo de disigiloj finas per nuda malsuprenstreko: %s�dosierujo�divido per nulo�malsukcesis dup2()�vaka %s ne permesatas�vaka dosiernomo�vaka tabo�eraro dum fermado de dosiero�eraro en regulesprima serĉo�eraro en regulesprima serĉo�eraro dum estigo de monataj signoĉenoj�eraro dum rigardado de 'inotify'-evento�eraro dum legado de %s�eraro dum legado de 'inotify'-evento�eraro dum atendado je komando�eraro dum skribado de %s�plenumiÄas kun FILE=%s �eliro=�superflua argumento: %s�superflua argumento: %s�aldona argumento %s ne permesatas por '-%c'�malsukcesis normaligi %s�malsukcesis ÅanÄi kuntekston de %s al %s�malsukcesis ÅanÄi grupon de %s de %s al %s �malsukcesis ÅanÄi grupon de %s al %s �malsukcesis ÅanÄi moduson de %s de %04lo (%s) al %04lo (%s) �malsukcesis ÅanÄi posedanton de %s �malsukcesis ÅanÄi posedanton de %s de %s al %s �malsukcesis ÅanÄi posedanton de %s al %s �malsukcesis ÅanÄi aktualan dosierujon al %s�malsukcesis kloni %s el %s�malsukcesis fermi enigan dukton�malsukcesis kalkuli novan kuntekston�malsukcesis krei dosierujon tra Åablono %s�malsukcesis krei dosieron tra Åablono %s�malsukcesis krei senperan ligon %s�malsukcesis krei senperan ligon %s al %s�malsukcesis krei senperan ligon al %.0s%s�malsukcesis krei dukton�malsukcesis krei sekurecan kuntekston: %s�malsukcesis krei simbolan ligon %s�malsukcesis krei simbolan ligon %s al %s�malsukcesis krei provizoran dosieron en %s�malsukcesis forĵeti kaÅmemoron por %s�malsukcesis etendi %s�malsukcesis trovi %s�malsukcesis eltrovi atributojn de %s�malsukcesis eltrovi aktualan kuntekston�malsukcesis eltrovi dosiersisteman krean kuntekston�malsukcesis eltrovi grupojn por aktuala procezo�malsukcesis eltrovi grupojn por uzanto %s�malsukcesis eltrovi sekurecan kuntekston de %s�malsukcesis trovi dosieron %s�malsukcesis malfermi %s�malsukcesis malfermi %s por legi�malsukcesis malfermi %s por skribado�malsukcesis konservi aÅ­torecon pri %s�malsukcesis konservi posedanton pri %s�malsukcesis konservi permesojn pri %s�malsukcesis konservi tempojn pri %s�malsukcesis alidirektigi ĉeferar-eligujon�malsukcesis alidirektigi ĉeferar-eligujon al /dev/null�malsukcesis forigi %s�malsukcesis forigi dosierujon %s�malsukcesis fari ĉefenigujon neuzebla�malsukcesis remalfermi %s kun moduso %s�malsukcesis restaÅ­ri defaÅ­ltan dosierkrean kuntekston�malsukcesis reveni al komenca labordosierujo�malsukcesis revolvi fluon por %s�malsukcesis ruli komandon %s�malsukcesis ruli komandon "%s -c %s"�malsukcesis agordi elementon %s de sekureca kunteksto al %s�malsukcesis agordi ĉirkaÅ­aĵan variablon FILE�malsukcesis agordi la pluajn grupojn�malsukcesis agordi defaÅ­ltan dosierkrean kuntekston al %s�malsukcesis agordi grupnumeron�malsukcesis agordi novan gamon %s�malsukcesis agordi novan rolon %s�malsukcesis agordi novan tipon %s�malsukcesis agordi novan uzanton %s�malsukcesis agordi la pluajn grupojn�malsukcesis agordi kopion de ĉeferar-eligujo fermiÄi je rulo�malsukcesis agordi sekurecan kuntekston de %s al %s�malsukcesis agordi uzantnumeron�malsukcesis eltrovi statinformon pri %s�malsukcesis malÅalti O_DIRECT: %s�malsukcesis Äisdatigi la ĉirkaÅ­aĵon kun %s�malsukcesis 'fdatasync' por %s�malsukcesis fflush()�kampnumero %s estas tro granda�kampnumero estas nulo�kampoj kaj pozicioj komencas ekde 1�vicmemoro�dosiero %d ne estas en ordigita sekvo�nekombineblas dosieraj argumentoj kun opcio «--files0-from»�nekombineblas dosieraj argumentoj kun opcio '--print-database' (-p)�dosiersistema tipo %s estas ambaÅ­ elektita kaj ekskluzivita�ne eblas krei novan procezon�aranÄo %s finiÄas per %%�aranÄo %s ne enhavas %%-indikon�aranÄo %s enhavas tro multajn %%-indikojn�aranÄo %s enhavas nekonatan %%%c-indikon�ne permesatas indiki aranÄon kiam eligiÄas egallarÄajn ĉenojn�malsukcesis 'fsync' por %s�malsukcesis 'fts_close()'�malsukcesis 'fts_read()'�malsukcesis 'fts_read()': %s�relativa pado generiÄas�eltroviÄas novaj atributoj de %s�grupo de %s restas %s �funkcio 'iconv()' ne disponeblas�funkcio 'iconv()' ne uzeblas�id=�ignoratas ĉiuj argumentoj�enigo ignoratas�enigo ignoratas, kaj eligo aldoniÄas al %s�enigo ignoratas, kaj ĉeferar-eligujo alidirektiÄas al ĉefeligujo�ignoriÄas nevalida grando de tabo (%s) en ĉirkaÅ­aĵa variablo TABSIZE�ignoriÄas nevalida valoro (%s) de ĉirkaÅ­aĵa variablo QUOTING_STYLE�ignoriÄas nevalida larÄo (%s) en ĉirkaÅ­aĵa variablo COLUMNS�ignoratas ne-opciaj argumentoj�nekongruaj kunigkampoj %lu, %lu�nekongruaj taboj�ne eblas uzi 'inotify'; uzatas nun skrutinio�mankas sufiĉaj risurcoj por 'inotify'�enigo malaperis�eniga linio estas tro longa�malsukcesis movo inter aparatoj: %s al %s; ne eblas forigi celon�nevalida argumento de %s%s: «%s»�nevalida argumento por opcio '--%s': %s�nevalida alÄustigo %s�nevalida argumento %s�nevalida argumento %s por %s�nevalida stilo por numeri korpliniojn: %s�nevalida bufra moduso %s por %s �nevalida signo '%c' en tipa ĉeno %s�nevalida signoklaso %s�nevalida kunteksto: %s�nevalida konverto�nevalida konvertindiko en sufikso: %c�nevalida konvertindiko en sufikso: \%.3o�nevalida dato %s�nevalida dataranÄo: %s�nevalida gamo, Äi malkreskas�nevalida aparato %s %s�nevalida aparattipo %s�nevalida kampnumero: %s�nevalida kampindiko: %s�nevalida kampgrando: %s�nevalida dosiernumero en kampindiko: %s�nevalidaj flagoj en konvertindiko:: %%%c%c�nevalida glitkoma argumento: %s�nevalida stilo por numeri piedliniojn: %s�nevalida larÄo de fendo: %s�nevalida grupo�nevalida grupo: %s�nevalida gruplisto: %s�nevalida grupo: %s�nevalida stilo por numeri kapliniojn: %s�nevalida enigaĵo�nevalida enigflago�nevalida gamo: %s�nevalida entjero %s�nevalida entjerargumento %s�nevalida nombro de linioj: %s�nevalida protokolo %s por lineo�nevalida lininumera kampgrando: %s�nevalida lininumera alkremento: %s�nevalida lininumera aranÄo: %s�nevalida linia larÄo: %s�nevalida ĉefa aparatnumero %s�nevalida maksimuma profundo %s�nevalida kroma aparatnumero %s�nevalida moduso�nevalida moduso %s�nevalida moduso: %s�nevalida numero %s�nevalida numero post ','�nevalida numero post '-'�nevalida numero post '.'�nevalida numero je kampkomenco�nevalida nombro da malplenaj linioj: %s�nevalida nombro da bajtoj�nevalida nombro de komparendaj bajtoj�nevalida nombro de saltendaj bajtoj�nevalida nombro da kolumnoj: %s�nevalida nombro de saltendaj kampoj�nevalida nombro da linioj�nevalida opcio -- %c�nevalida opcio %c; opcio '-LARÄœO' nur rekoniÄas kiam Äi esta la unua; alie uzu '-w LARÄœO' anstataÅ­e�nevalida eligadresa bazo '%c'; Äi devas esti unu signo el [doxn]�nevalida eligflago�nevalida gamo de paÄoj: %s�nevalida precizo: %s�nevalida gamo, sen finpunktoj: «-»�nevalida ripeta nombro %s en konstruo «[s*n]»�nevalida indiko�nevalida komenca lininumero: %s�nevalida statflago�nevalida sufikso %s; Äi enhavas apartigilon de dosierujoj�nevalida sufikso en argumento de %s%s: «%s»�nevalida taba grando: %s�nevalida Åablono %s; Äi enhavas apartigilon de dosierujoj�nevalida Åablono %s; kun opcio '--tmpdir' Äi ne rajtas esti absoluta�nevalida tempintervalo: %s�nevalida temparanÄo: %s�nevalida opcio je la fino -- %c�nevalida tipa ĉeno: %s�nevalida tipa ĉeno: %s ĉi tiu sistemo ne provizas glitkomtipon de %lu bajtoj�nevalida tipa ĉeno: %s ĉi tiu sistemo ne provizas entjertipon de %lu bajtoj�nevalida universala signonomo \%c%0*x�nevalida uzanto�nevalida uzanto: %s�nevalida larÄo: %s�nevalida faldiga grando: %s�nevalida dosiernomo (longo nulas)�estas danÄere operacii rikure al %s�estas danÄere operacii rikure al %s (samkiel %s)�klavo %lu havas nulan larÄon kaj ignoriÄos�klavo %lu estas numera kaj ampleksas plurajn kampojn�antaÅ­a=�komenca '-' en ero de dosiernomo %s�antaÅ­iraj spacetoj havas signifon en klavo %lu; pripensu indiki ankaÅ­ 'b'�limon %lu transpasas longeco %lu de dosiernomo %s�limon %lu transpasas longeco %lu de dosiernomero %s�linia bufrado de ĉefenigaĵo sensencas�lininombro '-%s%c...' tro grandas�lininumero %s estas pli malgranda ol antaÅ­a lininumero %s�troo de lininumero�maksimuma argumento por opcio '--%s' je aktuala 'rlimit' estas %s�mankas sufiĉa memoro�mankas sufiĉa memoro por eniga bufro de %zu bajtoj (%s)�mankas sufiĉa memoro por eliga bufro de %zu bajtoj (%s)�mesaÄovico�minimuma argumento por opcio '--%s' estas %s�misorda konstruo kun '[:upper:]' kajaÅ­ '[:lower:]'�mankas konvertindiko %% en sufikso�mankas ']'�mankas argumento post %s�mankas argumento al %s�mankas signoklasa nomo en '[::]'�mankas konvertindiko en sufikso�mankas celdosiera argumento post %s�mankas ekvivalentklasa signo en '[::]'�mankas dosiera argumento�mankas deksesuma nombro�mankas listo de kampoj�mankas listo de pozicioj�mankas argumento�mankas argumento post %s�moduso povas indiki nur permesajn bitojn�moduso de %s ÅanÄiÄis de %04lo (%s) al %04lo (%s) �moduso de %s restas %04lo (%s) �moviÄas eniga dukto�plursigna tabo %s�pluraj opcioj '-i' indikatas�pluraj opcioj '-l' aÅ­ '-t' indikatas�pluraj kunpremaj programoj indikatas�pluraj limigiloj indikatas�pluraj gamoj de niveloj�pluraj eligaj dosieroj indikatas�pluraj eligaj aranÄoj indikatas�pluraj aleatoraj fontoj indikatas�pluraj relativaj modifiloj indikatas�pluraj roloj�pluraj celaj dosierujoj indikatas�pluraj tipoj�pluraj uzantoj�nek simbola ligo %s nek Äia referanto estas ÅanÄita �ĉirkaÅ­aĵa variablo SHELL ne ekzistas, kaj neniu Åelsintaksa opcio indikatas�ne ÅanÄiÄis posedanto de %s �neniu komando indikatas�neniu dosiersistemo pritraktatas�ne restas dosieroj�neniu enigo el %s�neniu ensaluta nomo�neniu proceznumero indikatas�ne eblas indiki tipon kiam Åutendas ĉenoj�neniu uzantnomo indikatas; endas indiki almenaÅ­ unu nomo kiam '-l' uzatas�argumento estas ne-entjera�neportebla signo %s en dosiernomo %s�ne estas 'tty'�ne skribiÄos tra sencela simbola ligo %s�nombro en %s tro grandas�paralelnombro devas esti pli ol nulo�nombro da bajtoj�nombro da linioj�komenca valoro de numereca sufikso tro grandas por sufikslongo�uziÄis olda klavo %s; pripensu uzi %s anstataÅ­e�pozicio trograndiÄis dum legado de dosiero %s�preterpasiÄas dosierujo %s�nur unu ripeta konstruo «[s*]» permesatas en ARO2�eblas indiki nur unu aparaton�eblas indiki nur unu tipon de listo�malsukcesis malfermo�opcio «-%s» ignoratas�opcioj «-%s» ignoratas�opcio «-r» aplikas nur al lastebla komparo�opcio uzatas en nevalida kunteksto -- %c�nekombineblas opcioj «-%s»�nekombineblas opcioj '--backup' kaj '--no-clobber'�nekombineblas opcioj '--compare' (-C) kaj '--preserve-timestamps'�nekombineblas opcioj '--compare' (-C) kaj '--strip'�elirdosieraj sufiksoj elĉerpiÄis�troo dum etendo de grando de dosiero %s�troo dum rondigo de grando de dosiero %s�posedanto de %s reteniÄas �posedanto de %s restas %s �troo de paÄnumero�tro malgrandas paÄa larÄo�konserviÄas permesoj pri %s�konserviÄas tempoj pri %s�sensencas montri kaj ĉiujn ripetitajn liniojn kaj la ripetnombrojn�la gamekstremoj en '%s-%s' estas en inversa ordo�leg-eraro�malsukcesis lego�legiÄas dosierujo %s�rikordo tro grandas�ĉeferar-eligujo alidirektiÄas al ĉefeligujo�normala malplena dosiero�normala dosiero�forigiÄis %s �forigiÄis dosierujo %s �forigiÄas dosierujo %s�rulnivelo�semaforo�disigilo ne povas esti vaka�Agordu LC_ALL='C' por eviti la problemon.�agordiÄas flagoj pri %s�agordiÄas permesoj pri %s�agordiÄas tempoj de %s�komuna memorobjekto�la sumo de la argumentoj de '-j' kaj '-N' tro grandas�transsaltatas %s, ĉar Äi estas en alia aparato�ignoratas dosiero %s, ĉar Äi estis substituata dum kopiado�konektilo�troo en atendovico de «SQUFOF»�ĉeferar-eligujo�ĉefenigujo�ĉefenigujo fermitas�ĉefeligujo�malsukcesis eltrovi statinformon�ĉeferar-eligujo�ĉefenigujo�ĉefeligujo�hazarda signo en kampindiko�ĉena komparo malsukcesis�malsukcesis transformi signoĉenon�procezo 'strip' finiÄis nenormale�subpremi liniojn sen disigilo eblas nur kiam traktante kampojn�simbola ligo�sintakseraro�(starto)�taba pozicio ne povas esti nulo�taba pozicio enhavas nevalida(j)n signo(j)n: %s�tabaj pozicioj devas kreski�taba pozicio %s estas tro granda�taba pozicio estas tro granda�tabaj pozicioj tro malproksimas�cela %s ne estas dosierujo�celdosierujo malpermesatas dum instalado al dosierujo�term=�'test' kajaÅ­ '['�opcioj '--binary' kaj '--text' ne havas sencon dum sumkontrolo�opcio '--compare' (-C) ignoriÄas kiam indikatas moduso kiu enhavas nepermesajn bitojn�opcio '--quiet' nur havas sencon dum sumkontrolo�opcio '--status' nur havas sencon dum sumkontrolo�opcio '--strict' nur havas sencon dum sumkontrolo�opcio '--tag' ne havas sencon dum sumkontrolo�opcio '--warn' nur havas sencon dum sumkontrolo�ripeta konstruo «[s*]» permesatas en ARO2 nur dum traduko�ripeta konstruo «[s*]» ne permesatas en ARO1�argumento %s ne havas komencan '+'; kiam opcio por indiki dato(j)n uzatas, iu ajn neopcia argumento devas esti aranÄa ĉeno kiu komencas per '+'�la disigilo devas esti ununura signo�nekombineblas opcioj '-a' kaj '-g' (por hom-legebla kaj stty-legebla eligo)�nekombineblas la opcio por eligi la internan datumbazon kun iu opcio kiu elektas Åelan sintakson�nekombineblas la opcioj por eligi kaj por agordi tempon�nekombineblas la diversaj opcioj por indiki eligotaj datoj�la komparitaj ĉenoj estis %s kaj %s�opcio '--strip' malpermesatas dum instalado al dosierujo�longo de sufikso nepras esti almenaÅ­ %zu�la neÅanÄita ĉeno estas %s�tempo %s estas ekster gamo�por uzi uzant-ID %s nepras uzi ankaÅ­ opcion '-g'�tro malmultaj X en Åablono %s�tro multaj konvertindikoj %% en sufikso�tro multaj signoj en aro�tro da ripetitaj linioj�tro multaj Åablonoj�totalo�malsukcesis transiro: %s�tipita memorobjekto�UID=%s�ne eblas montri erarmesaÄon�ne eblas registri aktualan labordosierujon�malsukcesis agordi sekurecan kuntekston %s�neatendita malsukceso: fts_info()=%d: %s bonvolu raporti ĉi tion al %s�nekonata duloka operacisigno�nekonata rezulto (0x%X) el komando�nekonata fluaĵo�nekonata uzant-ID: %s�valoro de ĉirkaÅ­aĵa variablo LS_COLORS ne analizeblas �ne rekonatas argumento %s�nerekonata prefikso: %s�rulas %ld tago %2d:%02d, �rulas %ld tagoj %2d:%02d, �rulas ??? tagoj ??:??, �uzu «--no-preserve-root» por malÅalti ĉi tiun sekurilon�uzatas %s ordigaj reguloj�uzi %s por indiki ĉefenigujo ne funkcias en dosiersistema moduso�uzatas simpla bajtkomparo�atendado pri '%s [-d]'�atendado pri ida procezo�atendiÄas fino de 'strip'�averto: �averto: %s: signo(j) post signokonstanto ignoriÄas�averto: %s: malsukcesis ÅanÄi kuntekston al %s�averto: 'touch %s' arkaikas; uzu 'touch -t %04ld%02d%02d%02d%02d.%02d'�averto: opcio '--pid=PID' ne subtenatas en ĉi tiu sistemo�averto: opcio '--retry' ĉefe utilas dum sekvado je nomo�averto: PID ignoratas; opcio '--pid=PID' ĉefe utilas nur dum sekvado�averto: necitata malsuprenstreko ĉe la fino de signoĉeno ne transporteblas�averto: malsuprenstreko je aranÄofino�averto: malsukcesis forigi %s�averto: malsukcesis malÅalti nekropsiojn�averto: sekvi ĉefenigujon senĉese ne efikas�averto: troaj argumentoj ignoratas, komence de %s�averto: nevalida dosiera pozicio post malsukcesa lego�averto: nevalida larÄo %lu; uzatas %d anstataÅ­e�averto: lininumero %s egalas al ĵusantaÅ­a lininumero�averto: fontdosiero %s indikatas plurfoje�averto: resumi konfliktas kun opcio «--max-depth=%lu»�averto: resumi egalas al opcio «--max-depth=0»�averto: plursenca okuma eskapsigno \%c%c%c kompreniÄas kiel du-bitoka sekvo: \0%c%c, %c�averto: malsukcesis krei horloÄon�averto: malsukcesis agordi horloÄtempon�averto: nerekonata eskapsigno '\%c'�stranga dosiero�kiam ARO1 ne trunkiÄas, ARO2 devas esti nevaka�kiam dosiernomoj legatas de ĉefenigujo, ne permesatas dosiernomo %s�ne permesatas indiki reÄimon kune kun indiko de eligostilo�dum traduko kun komplementaj signoklasoj, ARO2 devas bildigi ĉiujn signojn en la domajno al unu�kiam dum traduko ARO1 pli longas ol ARO2, la lasta ĉeno ne rajtas fini per signoklaso�dum traduko nur la signoklasoj 'upper' kaj 'lower' permesatas en ARO2�ne kopiiÄos %s tra ĵuskreita simbola ligo %s�ne kreiÄos senpera ligo %s al dosierujo %s�ne anstataÅ­iÄos ĵuskreita %s per %s�kun opcio «--parents» la celo devas esti dosierujo�kun opcio '--suffix', Åablono %s devas fini per X�kun FILE=%s, eliro %d el komando %s�kun FILE=%s, signalo %s el komando %s�skrib-eraro�skrib-eraro por %s�malsukcesis skribo�skribiÄas al %s�nepras indiki '-c', '-l', '-r', '-t', '-u' aÅ­ kuntekston�nepras indiki liston de bajtoj, signoj, aÅ­ kampoj�nepras indiki relativan %s kun %s�nepras indiki aÅ­ %s aÅ­ %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% rikordo eniÄis %+% rikordoj eliÄis �% trunkita rikordo �% trunkitaj rikordoj �% bajto (%s) kopiiÄis�% bajtoj (%s) kopiiÄis�pozicio estas tro granda: ne eblas trunki al longeco de seek=% (%lu-bajtaj) blokoj�malsukcesis trunki al % bajtoj en eliga dosiero %s�malsukcesis disponigi enigan/eligan bufron de % bajtoj �%s: linio %: nevalida %s-kontrolsumo�AVERTO: % linio malbone aranÄatas�AVERTO: % linioj malbone aranÄatas�AVERTO: % listita dosiero ne legeblas�AVERTO: % listitaj dosieroj ne legeblas�AVERTO: % kalkulita kontrolsumo NE kongruas�AVERTO: % kalkulitaj kontrolsumoj NE kongruas�komenca paÄnumero % pligrandas ol nombro da paÄoj %�PaÄo %�troo en % * %-bajtaj blokoj por dosiero %s�malsukcesis trunki %s al % bajtoj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ja.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001602364�12107204511�011723� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Japanese messages for GNU coreutils # Copyright (C) 2000, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Masahito Yamaga <yamaga@ipc.chiba-u.ac.jp>, 2002. # derived from the version by Yasuyuki Furukawa <yasu@on.cs.keio.ac.jp> 1998. # Jun Nishii <jun@flatout.org> 1999. # Daisuke Yamashita <yamad@mb.infoweb.ne.jp> 1999. # Yasuaki Taniguchi <yasuakit@gmail.com>, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.14\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2011-10-28 09:23+0900\n" "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\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" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$s ã«å¯¾ã™ã‚‹å¼•æ•° %1$s ãŒé–“é•ã£ã¦ã„ã¾ã™" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$s ã«å¯¾ã™ã‚‹å¼•æ•° %1$s ãŒæ›–昧ã§ã™" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "有効ãªå¼•æ•°:" #: lib/closein.c:100 msgid "error closing file" msgstr "ファイルクローズエラー" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "%s ã®ãƒ‘ーミッションをä¿å­˜ã—ã¦ã„ã¾ã™" #: lib/error.c:188 msgid "Unknown system error" msgstr "䏿˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼" #: lib/file-type.c:38 msgid "regular empty file" msgstr "通常ã®ç©ºãƒ•ァイル" #: lib/file-type.c:38 msgid "regular file" msgstr "通常ファイル" #: lib/file-type.c:41 msgid "directory" msgstr "ディレクトリ" #: lib/file-type.c:44 msgid "block special file" msgstr "ブロックスペシャルファイル" #: lib/file-type.c:47 msgid "character special file" msgstr "キャラクタスペシャルファイル" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "シンボリックリンク" #: lib/file-type.c:56 msgid "socket" msgstr "ソケット" #: lib/file-type.c:59 msgid "message queue" msgstr "メッセージキュー" #: lib/file-type.c:62 msgid "semaphore" msgstr "セマフォ" #: lib/file-type.c:65 msgid "shared memory object" msgstr "共有メモリオブジェクト" #: lib/file-type.c:68 msgid "typed memory object" msgstr "型付メモリオブジェクト" #: lib/file-type.c:70 msgid "weird file" msgstr "䏿˜Žãªãƒ•ァイル" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "ホストåã«å¯¾ã™ã‚‹ Address family ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "åå‰è§£æ±ºã«ä¸€æ™‚çš„ã«å¤±æ•—ã—ã¾ã—ãŸ" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "ai_flags ã«å¯¾ã™ã‚‹èª¤ã£ãŸå€¤ã§ã™" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "åå‰è§£æ±ºã§ãƒªã‚«ãƒãƒªã§ããªã„失敗ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "メモリé…ç½®ã«å¤±æ•—ã—ã¾ã—ãŸ" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "ホストåã«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã›ã‚“" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "åå‰ã¾ãŸã¯ã‚µãƒ¼ãƒ“スãŒä¸æ˜Žã§ã™" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "ai_socktype ã«å¯¾ã—㦠Servname ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: lib/gai_strerror.c:67 msgid "System error" msgstr "システムエラー" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "引数ãƒãƒƒãƒ•ã‚¡ãŒå°ã•ã™ãŽã¾ã™" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "è¦æ±‚ã•れãŸå‡¦ç†ã¯å®Ÿè¡Œä¸­ã§ã™" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "è¦æ±‚ãŒã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã—ãŸ" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "è¦æ±‚ãŒã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã›ã‚“ã§ã—ãŸ" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "ã™ã¹ã¦ã®è¦æ±‚ãŒå®Œäº†ã—ã¾ã—ãŸ" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "シグナル割り込ã¿ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãƒ¼æ–‡å­—åˆ—ãŒæ­£ã—ãエンコードã•れã¦ã„ã¾ã›ã‚“" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "䏿˜Žãªã‚¨ãƒ©ãƒ¼" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™: 次ã®ã‚‚ã®ãŒå¯èƒ½ã§ã™:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: オプション '--%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: オプション '--%s' ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: オプション '--%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: 無効ãªã‚ªãƒ—ション -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: オプション '-W %s' ã¯æ›–昧ã§ã™\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "%s ã®ãƒ‘ーミッションを変更ã§ãã¾ã›ã‚“" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "ディレクトリ %s を作æˆã§ãã¾ã›ã‚“" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "ãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ç¾åœ¨ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’記録ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "åˆæœŸä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: ファイル終了 (EOF)" #: lib/regcomp.c:131 msgid "Success" msgstr "æˆåŠŸ" #: lib/regcomp.c:134 msgid "No match" msgstr "一致ã—ã¾ã›ã‚“" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "ç„¡åŠ¹ãªæ­£è¦è¡¨ç¾ã§ã™" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "無効ãªç…§åˆæ–‡å­—ã§ã™" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "ç„¡åŠ¹ãªæ–‡å­—クラスåã§ã™" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "終端ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "無効ãªå‰æ–¹å‚ç…§ã§ã™" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ ã¾ãŸã¯ [^ ãŒä¸ä¸€è‡´ã§ã™" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( ã¾ãŸã¯ \\( ãŒä¸ä¸€è‡´ã§ã™" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ ãŒä¸ä¸€è‡´ã§ã™" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "\\{\\} ã®ä¸­èº«ãŒç„¡åйã§ã™" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "無効ãªç¯„囲終了ã§ã™" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "ãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "無効ãªå‰æ–¹æ­£è¦è¡¨ç¾ã§ã™" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚了ã—ã¾ã—ãŸ" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "æ­£è¦è¡¨ç¾ãŒå¤§ãã™ãŽã¾ã™" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") ã¾ãŸã¯ \\) ãŒä¸ä¸€è‡´ã§ã™" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚りã¾ã›ã‚“" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "%s ã«é–¢ã—ã¦å†å¸°çš„ã«æ“作ã™ã‚‹ã“ã¨ã¯å±é™ºã§ã™" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "%s ã«é–¢ã—ã¦å†å¸°çš„ã«æ“作ã™ã‚‹ã“ã¨ã¯å±é™ºã§ã™ (%s ã‚‚åŒæ§˜)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "ã“ã®ãƒ•ェイルセーフを上書ãã™ã‚‹ã«ã¯ --no-preserve-root を使用ã—ã¦ãã ã•ã„" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "%s ã®ãƒ‘ーミッションを設定ã—ã¾ã™" #: lib/siglist.h:31 msgid "Hangup" msgstr "Hangup" #: lib/siglist.h:34 msgid "Interrupt" msgstr "割り込ã¿" #: lib/siglist.h:37 msgid "Quit" msgstr "終了" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Illegal instruction" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trace/breakpoint trap" #: lib/siglist.h:46 msgid "Aborted" msgstr "中止" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "æµ®å‹•å°æ•°ç‚¹ä¾‹å¤–" #: lib/siglist.h:52 msgid "Killed" msgstr "強制終了" #: lib/siglist.h:55 msgid "Bus error" msgstr "ãƒã‚¹ã‚¨ãƒ©ãƒ¼" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmentation fault" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Broken pipe" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Alarm clock" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminated" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "緊急 I/O 状態" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "åœæ­¢ (シグナル)" #: lib/siglist.h:76 msgid "Stopped" msgstr "åœæ­¢" #: lib/siglist.h:79 msgid "Continued" msgstr "継続" #: lib/siglist.h:82 msgid "Child exited" msgstr "å­ãƒ—ロセス終了" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "åœæ­¢ (tty 入力)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "åœæ­¢ (tty 出力)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O å¯èƒ½" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "CPU時間制é™ã‚’è¶…éŽã—ã¾ã—ãŸ" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "ファイルサイズ制é™ã‚’è¶…éŽã—ã¾ã—ãŸ" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "仮想タイマーãŒçµ‚了ã—ã¾ã—ãŸ" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "プロファイリングタイマーãŒçµ‚了ã—ã¾ã—ãŸ" #: lib/siglist.h:106 msgid "Window changed" msgstr "Window ãŒå¤‰æ›´ã•れã¾ã—ãŸ" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "ユーザー定義シグナル1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "ユーザー定義シグナル2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT トラップ" #: lib/siglist.h:120 msgid "Bad system call" msgstr "é–“é•ã£ãŸã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ«" #: lib/siglist.h:123 msgid "Stack fault" msgstr "スタックエラー" #: lib/siglist.h:126 msgid "Information request" msgstr "æƒ…å ±è¦æ±‚" #: lib/siglist.h:128 msgid "Power failure" msgstr "é›»æºã‚¨ãƒ©ãƒ¼" #: lib/siglist.h:131 msgid "Resource lost" msgstr "リソースãŒç„¡ããªã‚Šã¾ã—ãŸ" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "fifo %s を作æˆã§ãã¾ã›ã‚“" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: ファイル探査 (seek) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "リアルタイムシグナル %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "䏿˜Žãªã‚·ã‚°ãƒŠãƒ« %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv 関数ãŒä½¿ãˆã¾ã›ã‚“" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv é–¢æ•°ãŒæœ‰åйã§ã¯ã‚りã¾ã›ã‚“" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "ç¯„å›²å¤–ã®æ–‡å­—" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04X をローカル文字セットã«å¤‰æ›ã§ãã¾ã›ã‚“" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04X をローカル文字セット %s ã«å¤‰æ›ã§ãã¾ã›ã‚“" #: lib/userspec.c:106 msgid "invalid user" msgstr "ユーザ指定ãŒä¸æ­£" #: lib/userspec.c:107 msgid "invalid group" msgstr "グループ指定ãŒä¸æ­£" #: lib/userspec.c:108 msgid "invalid spec" msgstr "ç„¡åŠ¹ãªæŒ‡å®š" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "エラーメッセージを表示ã§ãã¾ã›ã‚“" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "パッケージ作æˆè€…: %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "パッケージ作æˆè€…: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "作者 %s。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "作者 %s ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "作者 %s〠%sã€ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%sã€ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%s〠%sã€ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%s〠%s〠%sã€ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%s〠%s〠%s〠%sã€\n" "ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%s〠%s〠%s〠%sã€\n" "%sã€ãŠã‚ˆã³ %s。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "作者 %s〠%s〠%sã€\n" "%s〠%s〠%s〠%sã€\n" "%s〠%s〠ãŠã‚ˆã³ä»–ã®æ–¹ã€…。\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "ãƒã‚°ã‚’発見ã—ãŸã‚‰ <%s> ã«å ±å‘Šã—ã¦ä¸‹ã•ã„。\n" "翻訳ã«é–¢ã™ã‚‹ãƒã‚°ã¯<translation-team-ja@lists.sourceforge.net>ã«å ±å‘Šã—ã¦ãã ã•" "ã„。\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "%s ã®ãƒã‚°ã¯ <%s> ã«å ±å‘Šã—ã¦ãã ã•ã„。\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "GNU ソフトウェアを使用ã™ã‚‹éš›ã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "オープンã«å¤±æ•—ã—ã¾ã—ãŸ" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "標準入力" #: lib/xfreopen.c:36 msgid "stdout" msgstr "標準出力" #: lib/xfreopen.c:37 msgid "stderr" msgstr "標準エラー出力" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "䏿˜Žãªã‚¹ãƒˆãƒªãƒ¼ãƒ " #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "%s をモード %s ã§å†åº¦é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "æ–‡å­—åˆ—ã®æ¯”較ã«å¤±æ•—" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "å•題を回é¿ã™ã‚‹ãŸã‚ã« LC_ALL='C' を指定ã—ã¦ãã ã•ã„." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "比較ã—ãŸæ–‡å­—列㯠%s 㨠%s ã§ã™." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "書å¼è¨­å®šã‚’行ã£ãŸå‡ºåŠ›ã‚’å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "引数 `%3$s' ã«å¯¾ã—㦠%1$s%2$s ãŒç„¡åйã§ã™" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "引数 `%3$s' ã«å¯¾ã—ã¦ç„¡åŠ¹ãªæŽ¥å°¾è¾ž %1$s%2$s ã§ã™" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "引数 `%3$s' ã«å¯¾ã™ã‚‹ %1$s%2$s ãŒå¤§ãã™ãŽã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "使用法: %s [オプション]... [ファイル]\n" "ファイルã¾ãŸã¯æ¨™æº–入力を Base64 エンコード・デコードã—ã¦æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾" "ã™ã€‚\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode データをデコードã™ã‚‹\n" " -i, --ignore-garbage デコード時ã«éžè‹±æ•°å­—を無視ã™ã‚‹\n" " -w, --wrap=COLS COLS æ–‡å­—ã§æ”¹è¡Œã‚’行ㆠ(デフォルト:76)。\n" " 0 を指定ã—ãŸå ´åˆã€æ”¹è¡Œã‚’行ã‚ãªã„\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®šãŒãªã‹ã£ãŸã‚Š, - ã§ã‚ã£ãŸå ´åˆ, 標準入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "データを RFC 3548 ã§å®šç¾©ã•れ㟠base64 英字ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‡ã‚³ãƒ¼ãƒ‰ã—ã¾ã™ã€‚\n" "デコード時ã«ã¯å…¥åŠ›ã«ã¯æ­£å¼ãª base64 英字ã«åŠ ãˆã¦æ”¹è¡Œæ–‡å­—ãŒå«ã¾ã‚Œã¦ã„ã‚‹\n" "å ´åˆãŒã‚りã¾ã™ã€‚入力ストリームã«ä»–ã®éžè‹±å­—ãƒã‚¤ãƒˆãŒå«ã¾ã‚Œã¦ã„ã¦å›žå¾©\n" "ã—ãŸã„å ´åˆã¯ --ignore-garbage を使用ã—ã¦ãã ã•ã„。\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "無効ãªå…¥åŠ›" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ç„¡åŠ¹ãªæŠ˜ã‚Šè¿”ã—列数: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "ä½™åˆ†ãªæ¼”ç®—å­ %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "標準入力を閉ã˜ã¦ã„ã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "使用法: %s åå‰ [接尾辞]\n" "ã¾ãŸã¯: %s オプション\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "パスåã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªéƒ¨åˆ†ã‚’å–りã®ãžã„ãŸåå‰ã‚’表示ã—ã¾ã™ã€‚\n" "指定ãŒã‚れã°ã€æœ«å°¾ã®æŽ¥å°¾è¾žã‚‚å–り除ãã¾ã™ã€‚\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "オペランドãŒã‚りã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "使用法: %s [オプション]... [ファイル]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "ファイルã€ã¾ãŸã¯æ¨™æº–入力を連çµã—ã€æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚\n" "\n" " -A, --show-all -vETã¨åŒã˜\n" " -b, --number-nonblank 空行を除ã„ã¦è¡Œç•ªå·ã‚’付ã‘加ãˆã‚‹ã€‚-n より優先ã•れ" "ã‚‹\n" " -e -vEã¨åŒã˜\n" " -E, --show-ends è¡Œã®æœ€å¾Œã« $ を付ã‘加ãˆã‚‹\n" " -n, --number å…¨ã¦ã®è¡Œã«è¡Œç•ªå·ã‚’付ã‘加ãˆã‚‹\n" " -s, --squeeze-blank 連続ã—ãŸç©ºè¡Œã®å‡ºåŠ›ã‚’æŠ‘æ­¢ã™ã‚‹\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t -vTã¨åŒã˜\n" " -T, --show-tabs TAB文字を`^I'ã§è¡¨ç¤º\n" " -u (無視)\n" " -v, --show-nonprinting éžè¡¨ç¤ºæ–‡å­—ã¨`^'ã‚„`^'を付ã‘ã¦è¡¨ç¤º (LFDã¨TABã¯é™¤" "ã)\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "例:\n" " %s f - g 最åˆã« f ã®ä¸­èº«ã‚’出力ã—ã€æ¬¡ã«æ¨™æº–入力を出力ã—ã¾ã™ã€‚\n" " ãã—㦠g ã®ä¸­èº«ã‚’出力ã—ã¾ã™ã€‚\n" " %s 標準入力を標準出力ã«è¤‡è£½ã—ã¾ã™ã€‚\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "%s ã§ ioctl を実行ã§ãã¾ã›ã‚“" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "標準出力" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: 入力ファイルã¨å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒåŒã˜ã§ã™" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "セキュリティコンテキストã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "%s セキュリティコンテキストコンãƒãƒ¼ãƒãƒ³ãƒˆã‚’ %s ã«è¨­å®šå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" "ラベルãŒä»˜ã‘られã¦ã„ãªã„ファイル %s ã«éƒ¨åˆ†çš„ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’é©ç”¨ã§ãã¾ã›ã‚“" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "%s ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "%s ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "ディレクトリ %s を読ã¿è¾¼ã‚ã¾ã›ã‚“" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’変更ã—ã¦ã„ã¾ã™\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "使用法: %s [OPTION]... CONTEXT FILE...\n" "ã¾ãŸã¯: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" "ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ CONTEXT ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" "--reference ãŒã‚ã‚‹å ´åˆã€å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ RFILE ã®ã‚‚ã®ã«\n" "変更ã—ã¾ã™ã€‚\n" "\n" " -h, --no-dereference å‚ç…§å…ˆã®ãƒ•ァイルã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã«é©ç”¨ã™" "ã‚‹\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USER 対象ã¨ãªã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’\n" " USER ã«è¨­å®šã™ã‚‹\n" " -r, --role=ROLE 対象ã¨ãªã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ãƒ­ãƒ¼ãƒ«ã‚’\n" " ROLE ã«è¨­å®šã™ã‚‹\n" " -t, --type=TYPE 対象ã¨ãªã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ã‚¿ã‚¤ãƒ—ã‚’\n" " TYPE ã«è¨­å®šã™ã‚‹\n" " -l, --range=RANGE 対象ã¨ãªã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ç¯„囲を\n" " RANGE ã«è¨­å®šã™ã‚‹\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root `/' を特別扱ã„ã—ãªã„ (デフォルト)\n" " --preserve-root `/' ã«å¯¾ã™ã‚‹å†å¸°çš„ãªæ“作を失敗ã•ã›ã‚‹\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFILE CONTEXT ã®å€¤ã‚’指定ã™ã‚‹ã®ã«ä»£ã‚ã£ã¦ RFILE ã®\n" " セキュリティコンテキストを使用ã™ã‚‹\n" " -R, --recursive ファイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«æ“作ã™ã‚‹\n" " -v, --verbose å„ファイルを処ç†ã—ãŸæ™‚ã®è¨ºæ–­ã‚’出力ã™ã‚‹\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "以下ã®ã‚ªãƒ—ション㯠-R オプションã¨ä½µã›ã¦æŒ‡å®šã•れãŸã¨ãã«ã©ã®ã‚ˆã†ã«éšŽå±¤ã‚’\n" "横断ã™ã‚‹ã‹ã®å‹•作を変更ã—ã¾ã™ã€‚2個以上指定ã•れãŸã¨ãã¯æœ€å¾Œã®ã‚ªãƒ—ションã®\n" "ã¿æœ‰åйã«ãªã‚Šã¾ã™ã€‚\n" "\n" " -H コマンドライン引数ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ã‚·ãƒ³ãƒœ\n" " リックリンクã®å ´åˆã«ã€ãƒªãƒ³ã‚¯ã‚’辿る\n" " -L ディレクトリã«å¯¾ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã«é­é‡ã—\n" " ãŸæ™‚ã«ã¯å…¨ã¦è¾¿ã‚‹\n" " -P シンボリックリンクを辿らãªã„ (デフォルト)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference 㯠-H ã¾ãŸã¯ -L ã®ã„ãšã‚Œã‹ãŒå¿…è¦ã§ã™" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h 㯠-P ãŒå¿…è¦ã§ã™" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "%s ã®å¾Œã«ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãŒã‚りã¾ã›ã‚“" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "無効ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "与ãˆã‚‰ã‚ŒãŸã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆæŒ‡å®šãŒç«¶åˆã—ã¦ã„ã¾ã™" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "%s ã®å±žæ€§æƒ…報をå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "無効ãªã‚°ãƒ«ãƒ¼ãƒ—: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "使用法: %s [OPTION]... GROUP FILE...\n" "ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ CONTEXT ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" "--reference ãŒã‚ã‚‹å ´åˆã€å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ RFILE ã®ã‚‚ã®ã«\n" "変更ã—ã¾ã™ã€‚\n" "\n" " -h, --no-dereference å‚ç…§å…ˆã®ãƒ•ァイルã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã«é©ç”¨ã™" "ã‚‹\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference å‚ç…§å…ˆã®ãƒ•ァイルã§ã¯ãªãã€ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯è‡ªä½“ã«\n" " 効果を与ãˆã‚‹ (ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®æ‰€æœ‰æ¨©ã‚’変更ã§ã\n" " るシステムã§ã®ã¿åˆ©ç”¨å¯èƒ½)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "例:\n" " %s staff /u /u ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ \"staff\" ã«å¤‰æ›´ã™ã‚‹ã€‚\n" " %s -hR staff /u /u ãŠã‚ˆã³ãã®é…下ã®ãƒ•ァイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ \"staff\"\n" " ã«å¤‰æ›´ã™ã‚‹ã€‚\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "%s ã®æ–°ãŸãªå±žæ€§æƒ…報をå–得中" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "シンボリックリンク %s ã‚‚ãã®å‚照先も変更ã•れã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ %04lo (%s) ã‹ã‚‰ %04lo (%s) ã¸å¤‰æ›´ã—ã¾ã—ãŸ\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ %04lo (%s) ã‹ã‚‰ %04lo (%s) ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s ã®ãƒ¢ãƒ¼ãƒ‰ã¯ %04lo (%s) ã¨ã—ã¦ä¿ç•™ã•れã¾ã—ãŸ\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "å‚ç…§å…ˆãŒãªã„シンボリックリンク %s ã‚’æ“作ã§ãã¾ã›ã‚“" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "%s ã®ãƒ‘ーミッションを変更ã—ã¦ã„ã¾ã™" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: æ–°è¦ãƒ‘ーミッション㯠%s ã§ã™ã€‚%s ã§ã¯ã‚りã¾ã›ã‚“。" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "使用法: %s [OPTION]... MODE[,MODE]... FILE...\n" "ã¾ãŸã¯: %s [OPTION]... OCTAL-MODE FILE...\n" "ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ CONTEXT ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" "--reference ãŒã‚ã‚‹å ´åˆã€å„ FILE ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ RFILE ã®ã‚‚ã®ã«\n" "変更ã—ã¾ã™ã€‚\n" "\n" " -h, --no-dereference å‚ç…§å…ˆã®ãƒ•ァイルã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã«é©ç”¨ã™" "ã‚‹\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFILE CONTEXT ã®å€¤ã‚’指定ã™ã‚‹ã®ã«ä»£ã‚ã£ã¦ RFILE ã®\n" " セキュリティコンテキストを使用ã™ã‚‹\n" " -R, --recursive ファイルã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«æ“作ã™ã‚‹\n" " -v, --verbose å„ファイルを処ç†ã—ãŸæ™‚ã®è¨ºæ–­ã‚’出力ã™ã‚‹\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "å„ MODE 㯠`[ugoa]*([-+=]([rwxXst]*|[ugo]))+' ã®å½¢å¼ã§ã™ã€‚\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "モード㨠--reference ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "無効ãªãƒ¢ãƒ¼ãƒ‰: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s ã®æ‰€æœ‰è€…ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã—ã¾ã—ãŸ\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã—ã¾ã—ãŸ\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "%s ã®æ‰€æœ‰è€…ã«å¤‰æ›´ã¯ã‚りã¾ã›ã‚“\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "%s ã®æ‰€æœ‰è€…ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "%s ã®æ‰€æœ‰è€…変更ã«å¤±æ•—ã—ã¾ã—ãŸ\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "%s ã®æ‰€æœ‰è€…ã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s ã®æ‰€æœ‰è€…㯠%s ã®ã¾ã¾ä¿ç•™ã•れã¾ã—ãŸ\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—㯠%s ã®ã¾ã¾ä¿ç•™ã•れã¾ã—ãŸ\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s ã®æ‰€æœ‰è€…ã¯ãã®ã¾ã¾ä¿ç•™ã•れã¾ã—ãŸ\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s ã‚’å‚ç…§ã§ãã¾ã›ã‚“" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "%s ã®æ‰€æœ‰è€…を変更中" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—を変更中" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "使用法: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" "ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " ã“ã“ã§æŒ‡å®šã—ãŸç¾åœ¨ã®æ‰€æœ‰è€…やグループã¨ä¸€è‡´ã—ãŸå ´åˆ" "ã«\n" " ã®ã¿å„ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—を変更ã™ã‚‹ã€‚ã„" "ãš\n" " れã‹ã¯çœç•¥å¯èƒ½ã§ã‚りã€çœç•¥ã•れãŸå±žæ€§ã¯ä¸€è‡´æ¤œæŸ»ãŒè¡Œ" "ã‚\n" " れãªã„。\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "æ‰€æœ‰è€…ã®æŒ‡å®šãŒç„¡ã„å ´åˆã«ã¯å¤‰æ›´ã•れã¾ã›ã‚“ã€‚ã‚°ãƒ«ãƒ¼ãƒ—ã®æŒ‡å®šãŒç„¡ã„å ´åˆã«ã¯\n" "変更ã•れã¾ã›ã‚“ãŒã€`:' ã§ã‚°ãƒ«ãƒ¼ãƒ—を暗示ã™ã‚‹ã¨ãƒ­ã‚°ã‚¤ãƒ³ã‚°ãƒ«ãƒ¼ãƒ—ã«å¤‰æ›´ã•れã¾" "ã™ã€‚\n" "OWNER 㨠GROUP ã¯åå‰ã§ã‚‚数値ã§ã‚‚æ§‹ã„ã¾ã›ã‚“。\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "例:\n" " %s root /u /u ã®æ‰€æœ‰è€…ã‚’ \"root\" ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" " %s root:staff /u åŒæ§˜ã§ã™ãŒã€ã‚°ãƒ«ãƒ¼ãƒ—ã‚‚ \"staff\" ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" " %s -hR root /u /u é…下ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ã‚’ \"root\" ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "無効ãªã‚°ãƒ«ãƒ¼ãƒ— %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "無効ãªã‚°ãƒ«ãƒ¼ãƒ—リスト %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "追加ã®ã‚°ãƒ«ãƒ¼ãƒ—を設定ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "使用法: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" "ã¾ãŸã¯: %s OPTION\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "ルートディレクトリを NEWROOT ã«è¨­å®šã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=USER:GROUP 使用ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ— (ID ã¾ãŸã¯åå‰) を指" "定ã—ã¾ã™\n" " --groups=G_LIST g1,g2,..,gN å½¢å¼ã§è¿½åŠ ã®ã‚°ãƒ«ãƒ¼ãƒ—を指定ã—ã¾ã™\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "COMMAND ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€``${SHELL} -i'' (デフォルト: /bin/sh) を実行ã—ã¾" "ã™ã€‚\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "ルートディレクトリを %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "ルートディレクトリã«ç§»å‹•ã§ãã¾ã›ã‚“" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "グループ ID ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "ユーザー ID ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "コマンド %s ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: ファイルãŒé•·ã™ãŽã¾ã™" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "使用法: %s [FILE]...\n" "ã¾ãŸã¯: %s [OPTION]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "å„ FILE ã® CRC ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŠã‚ˆã³ãƒã‚¤ãƒˆæ•°ã‚’表示ã—ã¾ã™ã€‚\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "使用法: %s [OPTION]... FILE1 FILE2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "ソートã•れãŸãƒ•ァイル FILE1 ãŠã‚ˆã³ FILE2 を一行ãšã¤æ¯”較ã—ã¾ã™ã€‚\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "オプションãŒç„¡ã„å ´åˆã€3列ã®å‡ºåŠ›ã‚’ç”Ÿæˆã—ã¾ã™ã€‚1列目㯠FILE1 ã®ã¿ã«å«ã¾\n" "れる行ã€2列目㯠FILE2 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œã€3列目ã¯ä¸¡æ–¹ã®ãƒ•ァイルã«å«ã¾ã‚Œ\n" "る行ã¨ãªã‚Šã¾ã™ã€‚\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 1列目を抑止ã™ã‚‹ (FILE1 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œ)\n" " -2 2列目を抑止ã™ã‚‹ (FILE2 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œ)\n" " -3 3列目を抑止ã™ã‚‹ (両方ã®ãƒ•ァイルã«å«ã¾ã‚Œã‚‹è¡Œ)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order å…¨ã¦ã®è¡Œã®çµ„ã¿åˆã‚ã›ãŒä¸€è‡´ã—ã¦ã„ã¦ã‚‚ã€æ­£ã—ã\n" " ソートã•れã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹\n" " --nocheck-order å…¥åŠ›ãŒæ­£ã—ãソートã•れã¦ã„ã‚‹ã‹ã‚’確èªã—ãªã„\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR 列を STR ã§åˆ†å‰²ã™ã‚‹\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "注: 比較ã®å„ªå…ˆé †ä½ã¨æ–¹æ³•㯠`LC_COLLATE' ã§æŒ‡å®šã—ã¾ã™ã€‚\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "例:\n" " %s -12 file1 file2 file1 㨠file2 ã®ä¸¡æ–¹ã«å­˜åœ¨ã™ã‚‹è¡Œã®ã¿ã‚’表示ã™ã‚‹\n" " %s -3 file1 file2 file1 ã«å­˜åœ¨ã—㦠file2 ã«å­˜åœ¨ã—ãªã„行ãŠã‚ˆã³ file2\n" " ã«å­˜åœ¨ã—㦠file1 ã«å­˜åœ¨ã—ãªã„行を表示ã™ã‚‹\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "ファイル %d ãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "複数ã®åŒºåˆ‡ã‚Šæ–‡å­—ãŒæŒ‡å®šã•れã¾ã—ãŸ" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "空㮠%s ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "%s ã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "lseek %s ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "%s ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: エクステント情報ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: 書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "%s ã®æ‹¡å¼µã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "%s ã®ãƒ‘ーミッションを消去ã—ã¦ã„ã¾ã™" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "%s ã®æ‰€æœ‰è€…ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "ファイル %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "%s ã®ä½œæˆè€…ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s ã‚’ 読ã¿è¾¼ã¿ç”¨ã«é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "%s ã‚’ fstat ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "コピー中ã«ç§»å‹•ã•れãŸãŸã‚ã€ãƒ•ァイル %s をスキップã—ã¦ã„ã¾ã™" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "ファイルシステム作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "%s を削除ã§ãã¾ã›ã‚“" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s を削除ã—ã¾ã—ãŸ\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "å‚ç…§å…ˆãŒç„¡ã„シンボリックリンク %s を通ã˜ã¦æ›¸ã込むã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "通常ファイル %s を作æˆã§ãã¾ã›ã‚“" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "%2$s ã‹ã‚‰ %1$s ã¸ã®è¤‡è£½ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’ä¿å­˜ä¸­" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" "%s: %s を上書ãã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚モード %04lo (%s) を上書ãã—ã¾ã™ã‹? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s を上書ãã—ã¾ã™ã‹? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "デフォルトã®ãƒ•ァイル作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®å¾©å…ƒã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "%s ã‹ã‚‰ %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "%s ã‚’ stat ã§ãã¾ã›ã‚“" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "ディレクトリ %s ã‚’çœç•¥ã—ã¦ã„ã¾ã™" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "警告: コピー元ファイル %s ãŒè¤‡æ•°æŒ‡å®šã•れã¾ã—ãŸ" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s 㨠%s ã¯åŒã˜ãƒ•ァイルã§ã™" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ディレクトリã§ã¯ãªã„ %s をディレクトリ %s ã§ä¸Šæ›¸ãã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "ãŸã£ãŸä»Šä½œæˆã—㟠%s ã«ã¯ %s ã§ä¸Šæ›¸ãã—ã¾ã›ã‚“" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "ディレクトリ %s をディレクトリ以外ã§ä¸Šæ›¸ãã§ãã¾ã›ã‚“" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "ディレクトリをディレクトリ以外ã«ç§»å‹•ã§ãã¾ã›ã‚“: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã¨å…ƒãƒ•ァイルãŒå£Šã‚Œã¾ã™ -- %s を移動ã—ã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã¨å…ƒãƒ•ァイルãŒå£Šã‚Œã¾ã™ -- %s をコピーã—ã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã¾ã›ã‚“" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "ãŸã£ãŸä»Šä½œæˆã—ãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ %2$s を通ã—㦠%1$s をコピーã§ãã¾ã›ã‚“" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "ディレクトリ %s を自分自身 %s ã«ã‚³ãƒ”ーã§ãã¾ã›ã‚“" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "%s ã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s を自分自身ã®ã‚µãƒ–ディレクトリ %s ã«ç§»å‹•ã§ãã¾ã›ã‚“" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "%s ã‹ã‚‰ %s ã¸ç§»å‹•ã§ãã¾ã›ã‚“" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "デãƒã‚¤ã‚¹é–“移動失敗: %s ã‹ã‚‰ %s 。移動先を削除ã§ãã¾ã›ã‚“" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "デフォルトã®ãƒ•ァイル作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "循環ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ %s ã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: カレントディレクトリ上ã§ã®ã¿ç›¸å¯¾ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒã§ãã¾ã™" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "%s ã‹ã‚‰ %s ã¸ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "fifo %s を作æˆã§ãã¾ã›ã‚“" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "特殊ファイル %s を作æˆã§ãã¾ã›ã‚“" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "シンボリックリンク %s を読ã¿è¾¼ã‚ã¾ã›ã‚“" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "シンボリックリンク %s を作æˆã§ãã¾ã›ã‚“" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s ã®ãƒ•ァイルタイプãŒä¸æ˜Žã§ã™" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "%s を復元ã§ãã¾ã›ã‚“" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (復元)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "使用法: %s [OPTION]... [-T] SOURCE DEST\n" "ã¾ãŸã¯: %s [OPTION]... SOURCE... DIRECTORY\n" "ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY SOURCE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "SOURCE ã‹ã‚‰ DEST ã¸ã€ã¾ãŸã¯è¤‡æ•°ã® SOURCE ã‚’ DIRECTORY ã¸ã‚³ãƒ”ーã—ã¾ã™ã€‚\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive -dR --preserve=all ã¨åŒæ§˜\n" " --attributes-only ファイルã®ãƒ‡ãƒ¼ã‚¿ã‚’コピーã›ãšã€ãƒ•ァイルã®å±žæ€§ã®" "ã¿ã‚³ãƒ”ーã™ã‚‹\n" " --backup[=CONTROL] コピー先ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作" "æˆã™ã‚‹\n" " -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å—ã‘付ã‘ãªã„\n" " --copy-contents å†å¸°æ™‚ã«ç‰¹æ®Šãƒ•ァイルã®å†…容をコピーã™ã‚‹\n" " -d --no-dereference --preserve=links ã¨åŒæ§˜\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force コピー先ã«ãƒ•ァイルãŒå­˜åœ¨ã—ã€é–‹ãã“ã¨ãŒã§ããªã„" "å ´åˆã€\n" " 削除ã—ã¦ã‹ã‚‰å†åº¦è©¦ã¿ã‚‹ (-n オプションを使用" "ã—ãŸ\n" " å ´åˆã¯å†—é•·ã¨ãªã‚‹)\n" " -i, --interactive 上書ãã™ã‚‹å‰ã«ç¢ºèªã™ã‚‹ (å‰ã«æŒ‡å®šã—㟠-n オプ" "ション\n" " を上書ãã™ã‚‹)\n" " -H SOURCE ã«ã‚るコマンド行ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’" "ãŸã©ã‚‹\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link コピーã®ä»£ã‚りã«ãƒ•ァイルã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã™" "ã‚‹\n" " -L, --dereference SOURCE ã«ã‚るシンボリックリンクを常ã«ãŸã©ã‚‹\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber 存在ã™ã‚‹ãƒ•ァイルを上書ãã—ãªã„ (å‰ã«æŒ‡å®šã—ãŸ\n" " -i オプションを上書ãã™ã‚‹)\n" " -P, --no-dereference SOURCE ã«ã‚るシンボリックリンクを決ã—ã¦ãŸã©ã‚‰" "ãªã„\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p --preserve=mode,ownership,timestamps ã¨åŒæ§˜\n" " --preserve[=ATTR_LIST] 指定ã—ãŸå±žæ€§ã‚’ä¿è­·ã™ã‚‹ (デフォルト: mode," "ownership,\n" " timestamps)。追加å¯èƒ½ãªå±žæ€§: context, " "links, \n" " xattr, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST 指定ã—ãŸå±žæ€§ã‚’ä¿è­·ã—ãªã„\n" " --parents DIRECTORY é…下㧠SOURCE ファイルã®ãƒ•ルパスåã‚’" "使用ã™ã‚‹\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive å†å¸°çš„ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’コピーã™ã‚‹\n" " --reflink[=WHEN] clone/CoW コピーを制御ã™ã‚‹ã€‚下記をå‚ç…§\n" " --remove-destination コピー先ã«ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã€é–‹ãå‰ã«å‰Šé™¤" "ã™ã‚‹\n" " (--force ã¨å¯¾ç…§çš„)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WHEN スパースファイル作æˆã‚’制御ã™ã‚‹ã€‚下記をå‚ç…§\n" " --strip-trailing-slashes å„ SOURCE 引数ã‹ã‚‰æœ«å°¾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’å…¨ã¦å‰Š" "除\n" " ã™ã‚‹\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link コピーã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’作æˆã™ã‚‹\n" " -S, --suffix=SUFFIX 通常ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾辞を上書ãã™ã‚‹\n" " -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ã‚³ãƒ”ーã™" "ã‚‹\n" " -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã†\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update SOURCE ファイルãŒã‚³ãƒ”ー先ファイルより新ã—ã„" "ã‹\n" " 存在ã—ãªã„時ã ã‘コピーã™ã‚‹\n" " -v, --verbose 実行ã—ã¦ã„ã‚‹ã“ã¨ã‚’説明ã™ã‚‹\n" " -x, --one-file-system ã“ã®ãƒ•ァイルシステムã ã‘ã§å®Ÿè¡Œã™ã‚‹\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "デフォルトã§ã¯ã€SOURCE スパースファイルã¯ç™ºè¦‹çš„æ‰‹æ³•ã§æ¤œå‡ºã•れã€å¯¾å¿œã™ã‚‹\n" "DEST ファイルã¯ã‚¹ãƒ‘ースファイルã¨ã—ã¦ä½œæˆã•れã¾ã™ã€‚ã“れ㯠--sparse=auto\n" "ãŒé¸æŠžã•れãŸã¨ãã®å‹•作ã§ã™ã€‚--sparse=always を指定ã—ãŸå ´åˆã€SOURCE ファ\n" "イルã«å€¤ãŒ 0 ã®ãƒã‚¤ãƒˆãŒå分ãªé•·ã•å«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«ã¯ DEST ãŒã‚¹ãƒ‘ース\n" "ファイルã¨ã—ã¦ä½œæˆã•れã¾ã™ã€‚スパースファイルã®ä½œæˆã‚’ç¦æ­¢ã™ã‚‹å ´åˆã¯\n" "--sparse=never を使用ã—ã¦ãã ã•ã„。\n" "\n" "--reflink[=always] ãŒæŒ‡å®šã•れãŸå ´åˆã€è»½é‡ã‚³ãƒ”ーãŒå®Ÿè¡Œã•れデータブロック\n" "ãŒå¤‰æ›´ã•れãŸå ´åˆã«ã®ã¿ã‚³ãƒ”ーã•れã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã€ã‚³ãƒ”ーãŒå¤±æ•—ã—ãŸ\n" "å ´åˆã€ã¾ãŸã¯ --reflink=auto ãŒæŒ‡å®šã•れãŸå ´åˆã€é€šå¸¸ã®ã‚³ãƒ”ーã«ãƒ•ェイル\n" "ãƒãƒƒã‚¯ã•れã¾ã™ã€‚\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾辞ã¯ã€--suffix ã‚„ SIMPLE_BACKUP_SUFFIX ãŒè¨­å®šã•れãªã„㨠`~' " "ã«\n" "ãªã‚Šã¾ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç†æ–¹æ³•㯠--backup オプションや VERSION_CONTROL 環境変" "æ•°\n" "を通ã—ã¦é¸æŠžã§ãã¾ã™ã€‚以下ãŒãã®éš›ã®å€¤ã§ã™:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã—ãªã„ (--backup を付ã‘ãŸæ™‚ã§ã‚‚)\n" " numbered, t 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹\n" " existing, nil 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒã‚れã°ç•ªå·ä»˜ãã€\n" " ãã†ã§ãªã‘れã°ã€simple ã§ä½œæˆã™ã‚‹\n" " simple, never 常ã«ç°¡æ˜“ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆ\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "特別ãªå ´åˆã¨ã—ã¦ã€cp 㯠-f 㨠-b オプションãŒä¸Žãˆã‚‰ã‚Œã€SOURCE 㨠DEST ãŒ\n" "åŒä¸€ãƒ•ァイルã§ã‚る時ã¯ã€SOURCE ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã—ã¾ã™ã€‚\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "%s ã®ãƒ‘ーミッションã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "ディレクトリ %s を作æˆã§ãã¾ã›ã‚“" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s ã¯å­˜åœ¨ã—ã¾ã™ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "ファイルオペランドãŒã‚りã¾ã›ã‚“" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "%s ã®å¾Œã«å®›å…ˆã®ãƒ•ァイルオペランドãŒã‚りã¾ã›ã‚“" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "--target-directory (-t) 㨠--no-target-directory (-T) ã‚’åŒæ™‚ã«æŒ‡å®šã§ãã¾ã›ã‚“" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "宛先㮠%s ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "--parents ãŒã‚ã‚‹å ´åˆã€å®›å…ˆã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "複数ã®å®›å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚‚シンボリックリンクも作æˆã§ãã¾ã›ã‚“" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "オプション --backup 㨠--no-clobber ã¯ç›¸äº’排他的ã§ã™" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink 㯠--sparse=auto ã®ã¿ã¨åˆã‚ã›ã¦ä½¿ç”¨ã§ãã¾ã™" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—タイプ" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "SELinux ãŒæœ‰åйãªã‚«ãƒ¼ãƒãƒ«ä»¥å¤–ã§ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ä¿è­·ã§ãã¾ã›ã‚“" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "拡張属性をä¿è­·ã§ãã¾ã›ã‚“。cp ㌠xattr サãƒãƒ¼ãƒˆãªã—ã§ä½œæˆã•れã¦ã„ã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "入力ãŒç„¡ããªã‚Šã¾ã—ãŸ" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: 範囲外ã®è¡Œç•ªå·" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: 範囲外ã®è¡Œç•ªå·" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " 繰り返㗠%s 回目\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: 一致ã—ã¦ã„ã‚‹ã‚‚ã®ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "æ­£è¦è¡¨ç¾ã«ã‚ˆã‚‹æ¤œç´¢ä¸­ã®ã‚¨ãƒ©ãƒ¼" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "%s ã¸ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: 区切り文字ã®å¾Œã«ã¯æ•´æ•°ãŒäºˆæœŸã•れã¾ã™" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: 繰り返ã—カウントã«ã¯ `}' ãŒå¿…è¦ã§ã™" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: `{' 㨠`}' ã®é–“ã«ã¯æ•´æ•°å€¤ãŒå¿…è¦ã§ã™" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: 終了ã®åŒºåˆ‡ã‚Šæ–‡å­— `%c' ãŒã‚りã¾ã›ã‚“" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ç„¡åŠ¹ãªæ­£è¦è¡¨ç¾ã§ã™: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: 無効ãªãƒ‘ターン指定ã§ã™" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: 行番å·ã¯ã‚¼ãƒ­ã‚ˆã‚Šå¤§ãã„æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "è¡Œç•ªå· %s ãŒå‰ã«å‡ºç¾ã—ãŸè¡Œç•ªå· %s よりå°ã•ã„値ã§ã™" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "警告: è¡Œç•ªå· %s ãŒå‰ã«å‡ºç¾ã—ãŸè¡Œç•ªå·ã¨åŒã˜å€¤ã§ã™" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "末尾ã®å¤‰æ›ä¿®é£¾å­ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "末尾ã®å¤‰æ›ä¿®é£¾å­ãŒç„¡åйã§ã™: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "末尾ã®å¤‰æ›ä¿®é£¾å­ãŒç„¡åйã§ã™: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "変æ›ä¿®é£¾å­ã«ç„¡åйãªãƒ•ラグãŒã‚りã¾ã™: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "末尾㮠%% 変æ›ä¿®é£¾å­ãŒå¤šã™ãŽã¾ã™" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "末尾㮠%% 変æ›ä¿®é£¾å­ãŒç„¡åйã§ã™" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: 無効ãªç•ªå·ã§ã™" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "使用法: %s [OPTION]... FILE PATTERN...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "PATTERN ã«ã‚ˆã£ã¦åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æ–­ç‰‡ã‚’ファイル `xx00'〠`xx01'〠...\n" "ã«å‡ºåŠ›ã—ã€å„断片ã®ãƒã‚¤ãƒˆæ•°ã‚’標準出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT %02d ã®ä»£ã‚り㫠sprintf ã® FORMAT を使用ã™ã‚‹\n" " -f, --prefix=PREFIX 接頭辞ã¨ã—㦠`xx' ã®ä»£ã‚り㫠PREFIX を使用ã™ã‚‹\n" " -k, --keep-files エラー発生時ã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‰Šé™¤ã—ãªã„\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DIGITS 2 ã®ä»£ã‚ã‚Šã«æŒ‡å®šã•ã‚ŒãŸæ•°å­—を使用ã™ã‚‹\n" " -s, --quiet, --silent 出力ファイルã®å¤§ãã•を表示ã—ãªã„\n" " -z, --elide-empty-files 空ã®å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‰Šé™¤ã™ã‚‹\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "ファイル㌠- ãªã‚‰ã°æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ å„々ã®ãƒ‘ターンã¯\n" "次ã®ã‚ˆã†ã«ãªã‚Šã¾ã™:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " 行数 指定行ã®ç›´å‰ã¾ã§(ãã®è¡Œã¯å«ã¾ã‚Œãªã„)を書ã込む\n" " /æ­£è¦è¡¨ç¾/[オフセット] 一致ã™ã‚‹è¡Œã®ç›´å‰ã¾ã§ã‚’書ã込む\n" " %%æ­£è¦è¡¨ç¾%%[オフセット] 一致ã™ã‚‹è¡Œã®ç›´å‰ã¾ã§ã‚’スキップ\n" " {整数値} ç›´å‰ã®ãƒ‘ターンを指定ã—ãŸæ•°ã ã‘繰り返ã™\n" " {*} ç›´å‰ã®ãƒ‘ターンをå¯èƒ½ãªã ã‘繰り返ã™\n" "\n" "ã‚ªãƒ•ã‚»ãƒƒãƒˆã®æŒ‡å®šã«ã¯ `+' ã¾ãŸã¯ `-' ã«æ­£ã®æ•´æ•°å€¤ã‚’ç¶šã‘ã¦æŒ‡å®šã—ã¾ã™.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "フィールドã¨ä½ç½®ã¯1ã‹ã‚‰å§‹ã¾ã‚‹ç•ªå·ã§ã™" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "使用法: %s OPTION... [FILE]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "ファイルã®å„行ã‹ã‚‰é¸æŠžã—ãŸéƒ¨åˆ†ã ã‘を切り出ã—ã€æ¨™æº–出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIST ãƒã‚¤ãƒˆã§æ•°ãˆãŸ LIST ã‚’é¸æŠžã™ã‚‹\n" " -c, --characters=LIST æ–‡å­—ã§æ•°ãˆãŸ LIST ã‚’é¸æŠžã™ã‚‹\n" " -d, --delimiter=DELIM フィールドã®åŒºåˆ‡ã‚Šæ–‡å­—ã¨ã—㦠TAB ã®ä»£ã‚り㫠DELIM\n" " を使用ã™ã‚‹ \n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIST LIST ã®ãƒ•ィールドã®ã¿ã‚’é¸æŠžã™ã‚‹ã€‚-s オプションãŒ\n" " 指定ã•れãªã„é™ã‚Šã€åŒºåˆ‡ã‚Šæ–‡å­—ã‚’å«ã¾ãªã„行も表示\n" " ã™ã‚‹\n" " -n (無視ã•れる)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement é¸æŠžã•れãŸãƒã‚¤ãƒˆæ•°ã€æ–‡å­—æ•°ã¾ãŸã¯ãƒ•ィールド数ã®\n" " 組を補足ã™ã‚‹\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited 区切り文字をå«ã¾ãªã„行を出力ã—ãªã„\n" " --output-delimiter=STRING 出力ã®åŒºåˆ‡ã‚Šæ–‡å­—ã¨ã—㦠STRING を使用\n" " デフォルトã§ã¯å…¥åŠ›ã®åŒºåˆ‡ã‚Šæ–‡å­—を使用\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "-b〠-c ã¾ãŸã¯ -f ã¯ãŸã ä¸€ã¤ã®ã¿ã€ã—ã‹ã‚‚å¿…ãšä½¿ç”¨ã—ã¦ãã ã•ã„ã€‚å„ \n" "LIST ã¯ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚ŒãŸå˜ä¸€ã¾ãŸã¯è¤‡æ•°ã®ç¯„å›²ã§æ§‹æˆã•れã¾ã™ã€‚é¸æŠž\n" "ã—ãŸå…¥åŠ›ã¯èª­ã¿è¾¼ã¾ã‚ŒãŸé †ç•ªã§ãŸã ä¸€åº¦ã ã‘出力ã•れã¾ã™ã€‚\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "範囲指定ã¯ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã§ã™ã€‚\n" " N N 番目ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド。行頭を1ã¨ã™ã‚‹\n" " N- N 番目ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールドã‹ã‚‰è¡Œæœ«ã¾ã§\n" " N-M N 番目ã‹ã‚‰ M 番目(ã“れもå«ã‚ã‚‹)ã¾ã§ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド\n" " -M 行頭ã‹ã‚‰ M 番目(ã“れもå«ã‚ã‚‹)ã¾ã§ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド\n" "\n" "FILE ãŒç„¡ã„ã¾ãŸã¯ - ã®å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "無効ãªãƒã‚¤ãƒˆã¾ãŸã¯ãƒ•ィールド指定ã§ã™" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "端点ãŒç„¡ã„無効ãªç¯„囲ã§ã™: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "無効ãªé™é †ã®ç¯„囲ã§ã™" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "ãƒã‚¤ãƒˆã‚ªãƒ•セット %s ãŒå¤§ãã™ãŽã¾ã™" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ç•ªå· %s ãŒå¤§ãã™ãŽã¾ã™" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "åˆ‡ã‚Šå‡ºã—æ–¹ã¨ã—ã¦æŒ‡å®šã§ãã‚‹ã®ã¯ 1 種類ã ã‘ã§ã™" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "åŒºåˆ‡ã‚Šæ–‡å­—ã«æŒ‡å®šã§ãã‚‹ã®ã¯ 1 文字ã ã‘ã§ã™" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "ãƒã‚¤ãƒˆ, 文字, ã‚‚ã—ãã¯ãƒ•ィールドã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¦ãã ã•ã„" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "フィールドをæ“作ã™ã‚‹å ´åˆã®ã¿å…¥åŠ›åŒºåˆ‡ã‚Šæ–‡å­—ã‚’æŒ‡å®šã§ãã¾ã™" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "区切られã¦ã„ãªã„è¡Œã®æŠ‘åˆ¶ãŒæœ‰åйãªã®ã¯, \n" "\tフィールドをæ“作ã™ã‚‹å ´åˆã®ã¿ã§ã™" #: src/cut.c:870 msgid "missing list of fields" msgstr "フィールドã®ãƒªã‚¹ãƒˆãŒã‚りã¾ã›ã‚“" #: src/cut.c:872 msgid "missing list of positions" msgstr "ä½ç½®æŒ‡å®šãƒªã‚¹ãƒˆãŒã‚りã¾ã›ã‚“" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "使用法: %s [OPTION]... [+FORMAT]\n" "ã¾ãŸã¯: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FILE FILE ã®æœ€çµ‚変更時刻を表示ã™ã‚‹\n" " -R, --rfc-2822 RFC 2822 å½¢å¼ã§æ—¥ä»˜ã¨æ™‚刻を出力ã™ã‚‹\n" " 例: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIMESPEC RFC 3339 å½¢å¼ã§æ—¥ä»˜ã¨æ™‚刻を出力ã™ã‚‹\n" " TIMESPEC=`date', `seconds' ã¾ãŸã¯ `ns' ã§\n" " ç¤ºã™æ—¥ä»˜ã€æ™‚刻ã®ç²¾åº¦ã«ãªã‚‹ã€‚\n" " æ—¥ä»˜ã¨æ™‚刻ã¯å˜ä¸€ã®ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚Œã€æ¬¡\n" " ã®ã‚ˆã†ã«ãªã‚‹: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING STRING ã§è¨˜è¿°ã•れる時間ã«è¨­å®šã™ã‚‹\n" " -u, --utc, --universal UTC (å”定世界時) 時間を表示ã¾ãŸã¯è¨­å®šã™ã‚‹\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT ã§å‡ºåŠ›ã‚’åˆ¶å¾¡ã—ã¾ã™ã€‚解釈ã•ã‚Œã‚‹æ–‡å­—åˆ—ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚\n" "\n" " %% 文字 %\n" " %a ロケール表示ã«ã‚ˆã‚‹æ›œæ—¥ã®çœç•¥å (例: Sunã€æ—¥)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A ロケール表示ã§ã®æ›œæ—¥ã®å®Œå…¨å (例: Sundayã€æ—¥æ›œæ—¥)\n" " %b ロケール表示ã§ã®æœˆã®çœç•¥å (例: Jan)\n" " %B ロケール表示ã§ã®æœˆã®å®Œå…¨å (例: January)\n" " %c ロケール表示ã§ã®æ—¥ä»˜ã¨æ™‚刻 (例: Thu Mar 3 23:05:25 2005)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C 世紀。%Y ã¨åŒæ§˜ã ãŒä¸‹2æ¡ãŒçœç•¥ã•れる (例: 20)\n" " %d 月ã®ä¸­ã®ä½•日目ã‹ã‚’表ã™å€¤ (例: 01)\n" " %D 日付。 %m/%d/%y ã¨åŒæ§˜\n" " %e スペースã§å­—幅調整ã•ã‚ŒãŸæœˆã®ä¸­ã®ä½•日目ã‹ã‚’表ã™å€¤ã€‚%_d ã¨åŒæ§˜\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F 完全形å¼ã®æ—¥ä»˜ã€‚ %Y-%m-%d ã¨åŒæ§˜\n" " %g ISO 週番å·ã®æœ€å¾Œã®2æ¡ (%G å‚ç…§)\n" " %G ISO 週番å·ã®å¹´éƒ¨åˆ† (%V å‚ç…§)。通常㯠%V ã¨åŒæ™‚ã«ä½¿ç”¨ã•れる\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h %b ã¨åŒæ§˜\n" " %H 時 (00..23)\n" " %I 時 (01..12)\n" " %j å¹´ã®é–‹å§‹æ—¥ã‹ã‚‰ã®æ—¥æ•° (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k スペース詰ã‚ã®æ™‚ ( 0..23)。 %_H ã¨åŒæ§˜\n" " %l スペース詰ã‚ã®æ™‚ ( 1..12)。 %_I ã¨åŒæ§˜\n" " %m 月 (01..12)\n" " %M 分 (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n 改行\n" " %N ナノ秒 (000000000..999999999)\n" " %p AM ã¾ãŸã¯ PM ã®ãƒ­ã‚±ãƒ¼ãƒ«ã§ã®è¡¨ç¤ºã€‚䏿˜Žãªå ´åˆã¯ç©ºç™½\n" " %P %p ã¨åŒæ§˜ã ãŒã€å°æ–‡å­—ã§è¡¨ç¤ºã™ã‚‹\n" " %r ロケール12時間表示ã§ã®æ™‚刻 (例 11:11:04 PM)\n" " %R 24時間表示ã§ã®æ™‚ãŠã‚ˆã³åˆ†ã€‚%H:%M ã¨åŒæ§˜\n" " %s 1970-01-01 00:00:00 UTC ã‹ã‚‰ã®ç§’æ•°\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S ç§’ (00..60)\n" " %t 水平タブ\n" " %T 時刻。%H:%M:%S ã¨åŒæ§˜\n" " %u 週ã®ä½•日目ã‹ã‚’表ã™å€¤ (1..7); 1 ãŒæœˆæ›œæ—¥\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U 日曜日を週åˆã‚ã¨ã—ãŸé€±ç•ªå· (00..53)\n" " %V ISO 週番å·ã€‚月曜日を週åˆã‚ã¨ã™ã‚‹ (01..53)\n" " %w 週ã®ä½•日目ã‹ã‚’表ã™å€¤ (0..6); 0 を日曜日ã¨ã™ã‚‹\n" " %W 月曜日を週åˆã‚ã¨ã—ãŸé€±ç•ªå· (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x ロケール表示ã§ã®æ—¥ä»˜ (例: 12/31/99)\n" " %X ロケール表示ã§ã®æ™‚刻 (例: 23:13:48)\n" " %y 西暦ã§ã®å¹´ã®ä¸‹2æ¡ (00..99)\n" " %Y å¹´\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -0400)\n" " %:z +hh:mm å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -04:00)\n" " %::z +hh:mm:ss å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -04:00:00)\n" " %:::z å¿…è¦ãªç²¾åº¦ã«å¿œã˜ã¦ : ãŒä½¿ç”¨ã•れるタイムゾーン表示 (例: -04, " "+05:30)\n" " %Z 英字ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³çœç•¥å½¢ (例: EDT)\n" "\n" "デフォルトã§ã¯0ã§æ—¥ä»˜ã®ç©ºç™½éƒ¨åˆ†ãŒåŸ‹ã‚られã¾ã™ã€‚\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "次ã®ã‚ªãƒ—ションフラグを `%' ã®å¾Œã«ç¶šã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™:\n" "\n" " - (ãƒã‚¤ãƒ•ン) フィールドã®ç©ºç™½ã‚’埋ã‚ãªã„\n" " _ (アンダースコア) フィールドã®ç©ºç™½ã‚’スペースã§åŸ‹ã‚ã‚‹\n" " 0 (ゼロ) フィールドã®ç©ºç™½ã‚’0ã§åŸ‹ã‚ã‚‹\n" " ^ å¯èƒ½ãªå ´åˆã¯å¤§æ–‡å­—を使用ã™ã‚‹\n" " # å¯èƒ½ãªå ´åˆã¯å°æ–‡å­—を使用ã™ã‚‹\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "フラグã®å¾Œã«ã‚ªãƒ—ションã§ãƒ•ィールド幅をåé€²æ•°ã§æŒ‡å®šã§ãã¾ã™ã€‚ãã®å¾Œã«ã‚ªãƒ—ショ" "ンã§\n" "以下ã®ã„ãšã‚Œã‹ã®ä¿®é£¾è¾žã‚’指定ã§ãã¾ã™ã€‚\n" "E ã¯ãƒ­ã‚±ãƒ¼ãƒ«ã§ä»£æ›¿ã®è¡¨è¨˜ã‚’ãŒåˆ©ç”¨å¯èƒ½ãªæ™‚ã«ã¯ä»£æ›¿è¡¨è¨˜ã‚’利用ã—ã¾ã™ã€‚\n" "O ã¯ãƒ­ã‚±ãƒ¼ãƒ«ã§ä»£æ›¿ã®æ•°å­—ãŒåˆ©ç”¨å¯èƒ½ãªã¨ãã«ã¯ä»£æ›¿æ•°å­—を利用ã—ã¾ã™ã€‚\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "例:\n" "エãƒãƒƒã‚¯ (1970-01-01 UTC) ã‹ã‚‰ã®ç§’数を日時ã«å¤‰æ›ã™ã‚‹å ´åˆ\n" " $ date --date='@2147483647'\n" "\n" "米国西海岸ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã§æ—¥æ™‚を表示ã™ã‚‹å ´åˆ (TZ を探ã™ã«ã¯ tzselect(1) を使" "用ã—ã¾ã™)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "ãƒ­ãƒ¼ã‚«ãƒ«æ™‚é–“ã®æ¬¡ã®é‡‘曜日åˆå‰9時を米国西海岸ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã§è¡¨ç¤ºã™ã‚‹å ´åˆ\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "標準入力" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "%s ã¯ç„¡åŠ¹ãªæ—¥ä»˜ã§ã™" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "複数ã®å‡ºåЛ形å¼ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "日付表示を指定ã™ã‚‹ã‚ªãƒ—ションãŒç›¸äº’ã«æŽ’ä»–çš„ã§ã™" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "表示オプションã¨è¨­å®šã‚ªãƒ—ションã¯åŒæ™‚ã«æŒ‡å®šã§ãã¾ã›ã‚“" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "引数 %s ã®å…ˆé ­ã« `+' ãŒã‚りã¾ã›ã‚“。\n" "日付を指定ã™ã‚‹ã‚ªãƒ—ションを使用ã™ã‚‹å ´åˆã€ã‚ªãƒ—ションã§ãªã„引数\n" "㯠`+' ã§å§‹ã¾ã‚‹æ›¸å¼æ–‡å­—列ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“。" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "日時を設定ã§ãã¾ã›ã‚“" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "時間 %s ãŒç¯„囲外ã§ã™" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s [OPERAND]...\n" "ã¾ãŸã¯: %s OPTION\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "オペランド OPERAND ã«å¾“ã£ã¦å¤‰æ›ã€æ›¸å¼è¨­å®šã—ãªãŒã‚‰ãƒ•ァイルをコピーã—ã¾ã™ã€‚\n" "\n" " bs=BYTES 一回㫠BYTES ãƒã‚¤ãƒˆãšã¤èª­ã¿æ›¸ãã™ã‚‹\n" " cbs=BYTES 一回㫠BYTES ãƒã‚¤ãƒˆå¤‰æ›ã™ã‚‹\n" " conv=CONVS コンマã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ãƒªã‚¹ãƒˆã¨ã—ã¦ãƒ•ァイルを変æ›ã™ã‚‹\n" " count=BLOCKS 入力ブロック BLOCKS 個分ã ã‘コピーã™ã‚‹\n" " ibs=BYTES 一回㫠BYTES ãƒã‚¤ãƒˆãšã¤èª­ã¿è¾¼ã‚€ (デフォルト: 512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FILE 標準入力ã®ä»£ã‚り㫠FILE ã‹ã‚‰èª­ã¿è¾¼ã‚€\n" " iflag=FLAGS コンマã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ãƒªã‚¹ãƒˆã¨ã—ã¦èª­ã¿è¾¼ã‚€\n" " obs=BYTES 一回㫠BYTES ãƒã‚¤ãƒˆãšã¤æ›¸ã込む (デフォルト: 512)\n" " of=FILE 標準出力ã®ä»£ã‚り㫠FILE ã«æ›¸ã込む\n" " oflag=FLAGS コンマã§åŒºåˆ‡ã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ãƒªã‚¹ãƒˆã¨ã—ã¦æ›¸ã込む\n" " seek=BLOCKS 出力開始時㫠BLOCKS 個分ã€ã‚µã‚¤ã‚º obs ã®ãƒ–ロックをスキップã™" "ã‚‹\n" " skip=BLOCKS 入力開始時㫠BLOCKS 個分ã€ã‚µã‚¤ã‚º ibs ã®ãƒ–ロックをスキップã™" "ã‚‹\n" " status=noxfer 転é€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹è¡¨ç¤ºã‚’抑止ã™ã‚‹\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCKS ãŠã‚ˆã³ BYTES ã¯ä»¥ä¸‹ã®å€æ•°æŽ¥å°¾å­ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™:\n" "c =1ã€w =2ã€b =512ã€kB =1000ã€K =1024ã€MB =1000*1000ã€M =1024*1024ã€xM =M\n" "GB =1000*1000*1000ã€G =1024*1024*1024ã€ãŠã‚ˆã³ Tã€Pã€Eã€Zã€Y ãªã©ã§ã™ã€‚\n" "\n" "å„ CONV シンボルã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii EBCDIC ã‹ã‚‰ ASCII ã¸\n" " ebcdic ASCII ã‹ã‚‰ EBCDIC ã¸\n" " ibm ASCII ã‹ã‚‰ alternate EBCDIC ã¸\n" " block 改行区切りã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’サイズ㌠cbs ã«ãªã‚‹ã‚ˆã†ã«ã‚¹ãƒšãƒ¼ã‚¹ã§åŸ‹ã‚ã‚‹\n" " unblock サイズ㌠cbs ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã®å¾Œç¶šã‚¹ãƒšãƒ¼ã‚¹ã‚’改行ã§ç½®æ›ã™ã‚‹\n" " lcase å¤§æ–‡å­—ã‚’å°æ–‡å­—ã«å¤‰æ›ã™ã‚‹\n" " ucase å°æ–‡å­—を大文字ã«å¤‰æ›ã™ã‚‹\n" " swab 入力ãƒã‚¤ãƒˆã®å„組を入れ替ãˆã‚‹\n" " sync å„入力ブロックをサイズ㌠ibs ã«ãªã‚‹ã¾ã§ NUL ã§åŸ‹ã‚る。block\n" " ã¾ãŸã¯ unblock ã¨ä¸€ç·’ã«åˆ©ç”¨ã•れãŸå ´åˆ NUL ã§ãªãスペースã§åŸ‹ã‚" "ã‚‹\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹å ´åˆã«å¤±æ•—ã•ã›ã‚‹\n" " nocreat 出力ファイルを作æˆã—ãªã„\n" " notrunc 出力ファイルを切り詰ã‚ãªã„\n" " noerror 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼å¾Œã‚‚継続ã™ã‚‹\n" " fdatasync 終了å‰ã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‡ãƒ¼ã‚¿ã‚’ç‰©ç†çš„ã«æ›¸ã込む\n" " fsync 上ã¨åŒæ§˜ã ãŒãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã«å¯¾ã—ã¦ã‚‚使用ã™ã‚‹\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "å„ FLAG シンボルã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:\n" "\n" " append 追加モード (出力ã«å¯¾ã—ã¦ã®ã¿æ„味ãŒã‚る。 conv=notrunc を推奨)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio データã«å¯¾ã—ã¦åŒæ™‚ I/O を使用ã™ã‚‹\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct データã«å¯¾ã—ã¦ç›´æŽ¥ I/O を使用ã™ã‚‹\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory ディレクトリã§ç„¡ã„å ´åˆã«å¤±æ•—ã•ã›ã‚‹\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync データã«å¯¾ã—ã¦åŒæœŸ I/O を使用ã™ã‚‹\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync 上ã¨åŒæ§˜ã ãŒãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã«å¯¾ã—ã¦ã‚‚使用ã™ã‚‹\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock 入力ã®ãƒ–ロックãŒã„ã£ã±ã„ã«ãªã‚‹ã¾ã§è“„ç©ã™ã‚‹ (iflag ã®ã¿)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock éžãƒ–ロック I/O を使用ã™ã‚‹\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime アクセス時間を更新ã—ãªã„\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache キャッシュデータを破棄ã™ã‚‹\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ファイルã‹ã‚‰ã®åˆ¶å¾¡ç«¯æœ«ã‚’割り当ã¦ãªã„\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow シンボリックリンクをãŸã©ã‚‰ãªã„\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks 複数リンクã•れã¦ã„ã‚‹å ´åˆã«å¤±æ•—ã•ã›ã‚‹\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary データã«å¯¾ã—ã¦ãƒã‚¤ãƒŠãƒªãƒ¼ I/O を使用ã™ã‚‹\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text データã«å¯¾ã—ã¦ãƒ†ã‚­ã‚¹ãƒˆ I/O を使用ã™ã‚‹\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "%s シグナルを実行中㮠`dd' ã«é€ã‚‹ã¨ I/O 統計情報を標準出力ã«\n" "表示ã—ã¦ã‚³ãƒ”ーを続ã‘ã¾ã™ã€‚\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 レコード入力\n" " 18335302+0 レコード出力\n" " 9387674624 ãƒã‚¤ãƒˆ (9.4 GB) コピーã•れã¾ã—ãŸã€ 34.6279 秒〠271 MB/ç§’\n" "\n" "ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æ¬¡ã®é€šã‚Šã§ã™:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> レコード入力\n" "%<PRIuMAX>+%<PRIuMAX> レコード出力\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> 切り詰ã‚られãŸãƒ¬ã‚³ãƒ¼ãƒ‰\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> ãƒã‚¤ãƒˆ (%s) コピーã•れã¾ã—ãŸ" #: src/dd.c:720 msgid "Infinity B" msgstr "ç„¡é™ B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "〠%g 秒〠%s/ç§’\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "入力ファイル %s ã‚’é–‰ã˜ã¦ã„ã¾ã™" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "出力ファイル %s ã‚’é–‰ã˜ã¦ã„ã¾ã™" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "O_DIRECT をオフã«ã§ãã¾ã›ã‚“ã§ã—㟠: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "%s ã«æ›¸ãè¾¼ã¿ä¸­ã§ã™" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "%s : èªè­˜ã§ããªã„オペランドã§ã™" #: src/dd.c:1218 msgid "invalid conversion" msgstr "無効ãªå¤‰æ›ã§ã™" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "無効ãªå…¥åŠ›ãƒ•ãƒ©ã‚°ã§ã™" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "無効ãªå‡ºåŠ›ãƒ•ãƒ©ã‚°ã§ã™" #: src/dd.c:1227 msgid "invalid status flag" msgstr "無効ãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ラグã§ã™" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "%s : ç„¡åŠ¹ãªæ•°å­—ã§ã™" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "asciiã€ebcdicã€ibm ã®ã©ã®2個も組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "block 㨠unblock を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "lcase 㨠ucase を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "excl 㨠nocreat を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "direct 㨠nocache を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "警告: lseek ã®ã‚«ãƒ¼ãƒãƒ«ãƒã‚°ã«å¯¾å‡¦ã—ã¾ã™ã€‚\n" " ファイル (%s) ã® mt_type=0x%0lx -- <sys/mtio.h> ã®ã‚¿ã‚¤ãƒ—リストを見ã¦ä¸‹ã•ã„" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: スキップã§ãã¾ã›ã‚“" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: seek ã§ãã¾ã›ã‚“" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "ファイル %s を読ã¿è¾¼ã¿ä¸­ã«ã‚ªãƒ•セットãŒã‚ªãƒ¼ãƒãƒ¼ãƒ•ローã—ã¾ã—ãŸ" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "警告: 読ã¿è¾¼ã¿å¤±æ•—後ã®ç„¡åйãªãƒ•ァイルオフセットã§ã™" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "最終的ã«ã‚«ãƒ¼ãƒãƒ«ãƒã‚°ã‚’回é¿ã§ãã¾ã›ã‚“" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "%s ã®ãƒ•ラグを設定中" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "大ãã• %zu ãƒã‚¤ãƒˆã®å…¥åŠ›ãƒãƒƒãƒ•ã‚¡ã«ã‚ˆã‚Šãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—㟠(%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "大ãã• %zu ãƒã‚¤ãƒˆã®å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ã«ã‚ˆã‚Šãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—㟠(%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: 指定ã•れãŸã‚ªãƒ•セットã¾ã§ã‚¹ã‚­ãƒƒãƒ—ã§ãã¾ã›ã‚“" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "%<PRIuMAX> ãƒã‚¤ãƒˆã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ« %s を切り詰ã‚ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "%s ã«å¯¾ã™ã‚‹ fdatasync ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "%s ã«å¯¾ã™ã‚‹ fsync ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "オフセットéŽå¤§: seek=%<PRIuMAX> (%lu ãƒã‚¤ãƒˆ) ブロックã®é•·ã•ã¾ã§åˆ‡ã‚Šè©°ã‚ã‚‹ã“ã¨" "ãŒã§ãã¾ã›ã‚“" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "%<PRIuMAX> ãƒã‚¤ãƒˆã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ« %s を切り詰ã‚ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "キャッシュ破棄ã«å¤±æ•—ã—ã¾ã—ãŸ: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "ファイルシス" #: src/df.c:175 msgid "Type" msgstr "タイプ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "ブロック" #: src/df.c:181 msgid "Used" msgstr "使用" #: src/df.c:184 msgid "Available" msgstr "使用å¯" #: src/df.c:187 msgid "Use%" msgstr "使用%" #: src/df.c:190 msgid "Inodes" msgstr "Iノード" #: src/df.c:193 msgid "IUsed" msgstr "I使用" #: src/df.c:196 msgid "IFree" msgstr "I残り" #: src/df.c:199 msgid "IUse%" msgstr "I使用%" #: src/df.c:202 msgid "Mounted on" msgstr "マウントä½ç½®" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "警告: コピー元ファイル %s ãŒè¤‡æ•°æŒ‡å®šã•れã¾ã—ãŸ" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "サイズ" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "残り" #: src/df.c:474 msgid "Capacity" msgstr "容é‡" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "å„ FILE ãŒå­˜åœ¨ã™ã‚‹ãƒ•ァイルシステムã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¾ã™ã€‚\n" "ã¾ãŸã¯ã€ãƒ‡ãƒ•ォルトã§ã¯å…¨ã¦ã®ãƒ•ァイルシステムã«ã¤ã„ã¦è¡¨ç¤ºã—ã¾ã™ã€‚\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all サイズ㌠0 ã®ãƒ€ãƒŸãƒ¼ãƒ•ァイルシステムをå«ã‚ã‚‹\n" " -B, --block-size=SIZE SIZE ã®å€æ•°ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€‚例: `-BM' ã¯è¡¨ç¤ºã™ã‚‹æ™‚" "ã«\n" " 1,048,576 ãƒã‚¤ãƒˆã®å€æ•°ã¨ã—ã¦ã‚µã‚¤ã‚ºã‚’表示ã™ã‚‹\n" " --total ç·åˆè¨ˆå®¹é‡ã‚’表示ã™ã‚‹\n" " -h, --human-readable 人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼ã§ã‚µã‚¤ã‚ºã‚’表示ã™ã‚‹ (例: 1K 234M " "2G)\n" " -H, --si åŒæ§˜ã ãŒã€1024 å€ã§ã¯ãªã 1000 å€ã®å€¤ã‚’使用ã™ã‚‹\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes ブロック使用é‡ã®ä»£ã‚り㫠iノード情報を表示ã™ã‚‹\n" " -k --block-size=1K ã¨åŒæ§˜\n" " -l, --local ローカルファイルシステムã®ã¿è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«åˆ¶é™ã™ã‚‹\n" " --no-sync 使用é‡ã®æƒ…報を得るå‰ã« sync を行ã‚ãªã„ (デフォルト)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability POSIX 出力形å¼ã‚’使用ã™ã‚‹\n" " --sync 使用é‡ã®æƒ…報を得るå‰ã« sync を実行ã™ã‚‹\n" " -t, --type=TYPE 種類㌠TYPE ã®ãƒ•ァイルシステムã®ã¿è¡¨ç¤ºã™ã‚‹\n" " -T, --print-type ファイルシステムã®ç¨®é¡žã‚’表示ã™ã‚‹\n" " -x, --exclude-type=TYPE 種類㌠TYPE ã§ã¯ãªã„ファイルシステムã®ã¿è¡¨ç¤ºã™" "ã‚‹\n" " -v (無視ã•れる)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "オプション --compare (-C) ãŠã‚ˆã³ --strip ã¯æŽ’ä»–çš„ã§ã™" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "警告: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "%s å½¢å¼ãƒ•ァイルシステムãŒé¸æŠž/éžé¸æŠžã®ä¸¡æ–¹ã§æŒ‡å®šã•れã¾ã—ãŸ" #: src/df.c:1500 msgid "Warning: " msgstr "警告: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "マウントã•れã¦ã„るファイルシステムã®ãƒ†ãƒ¼ãƒ–ルを読ã‚ã¾ã›ã‚“" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "ファイルシステムãŒå‡¦ç†ã•れã¾ã›ã‚“ã§ã—ãŸ" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "使用法: %s [OPTION]... [FILE]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "環境変数 LS_COLORS ã®å®šç¾©ã™ã‚‹ãŸã‚ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’出力ã—ã¾ã™ã€‚\n" "\n" "å‡ºåŠ›ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®æ±ºå®š:\n" " -b, --sh, --bourne-shell Bourne シェル形å¼ã§ LS_COLORS を出力ã™ã‚‹\n" " -c, --csh, --c-shell C シェル形å¼ã§ LS_COLORS を出力ã™ã‚‹\n" " -p, --print-database デフォルト値を標準出力ã«è¡¨ç¤ºã™ã‚‹\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "ファイルを指定ã—ãŸã¨ãã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã‚„æ‹¡å¼µå­æ¯Žã«ã©ã®è‰²ã‚’使ã†ã‹ã«ã¤ã„" "ã¦ã€\n" "ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’èª­ã‚“ã§æ±ºå®šã—ã¾ã™ã€‚ãã‚Œä»¥å¤–ã®æ™‚ã¯äºˆã‚コンパイルã•れãŸãƒ‡ãƒ¼ã‚¿\n" "ベースãŒä½¿ã‚れã¾ã™ã€‚ã“ã†ã„ã£ãŸãƒ•ァイルã®ãƒ•ォーマットã®è©³ç´°ãŒçŸ¥ã‚ŠãŸã‘れã°ã€\n" "`dircolors --print-database' を実行ã—ã¦ãã ã•ã„。\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: 無効ãªè¡Œã€‚2個目ã®ãƒˆãƒ¼ã‚¯ãƒ³ãŒã‚りã¾ã›ã‚“" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: %s ã¯èªè­˜ã§ããªã„キーワードã§ã™" #: src/dircolors.c:359 msgid "<internal>" msgstr "<内部>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "dircolors ã®å†…部データベース出力ãŠã‚ˆã³ã‚·ã‚§ãƒ«æ§‹æ–‡\n" "é¸æŠžã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "ファイルオペランド㨠--print-database (-p) を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "環境変数 SHELL ãŒå®šç¾©ã•れã¦ãŠã‚‰ãšã€ã‚·ã‚§ãƒ«åž‹ã®ã‚ªãƒ—ションも与ãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "使用法: %s [OPTION]... NAME...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "NAME ã®æœ€å¾Œã® / (スラッシュ) 以é™ã®è¦ç´  ( / ã‚’å«ã‚€) を削除ã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚ã‚‚" "ã— \n" "NAME ã« / ãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã¯ `.' (カレントディレクトリをæ„味ã™ã‚‹) を表示" "ã—ã¾ã™ã€‚\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -0, --null å‡ºåŠ›è¡Œã®æœ€å¾Œã«æ”¹è¡Œæ–‡å­—ã§ã¯ãªã NULL 文字を付加ã™ã‚‹\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "例:\n" " %s /usr/bin/ 出力 \"/usr\"\n" " %s stdio.h 出力 \".\"\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "使用法: %s [OPTION]... [FILE]...\n" "ã¾ãŸã¯: %s [OPTION]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "å„ファイルã®ãƒ‡ã‚£ã‚¹ã‚¯ä½¿ç”¨é‡ã‚’集計ã—ã¾ã™ã€‚ディレクトリã¯å†å¸°çš„ã«å‡¦ç†ã—ã¾ã™ã€‚\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all ディレクトリã ã‘ã§ãªãã€å…¨ã¦ã®ãƒ•ァイルã«ã¤ã„ã¦è¡¨ç¤ºã™" "ã‚‹\n" " --apparent-size ディスク使用é‡ã ã‘ã§ãªã実際ã®ã‚µã‚¤ã‚ºã‚‚表示ã™ã‚‹ã€‚実際" "ã®\n" " サイズã¯é€šå¸¸å°ã•ããªã‚‹ãŒã€ã‚¹ãƒ‘ースファイルã€å†…部フ" "ラ\n" " グメンテーションã€é–“接ブロックãªã©ã®ç†ç”±ã§å¤§ãããª" "ã‚‹\n" " ã“ã¨ã‚‚ã‚る。\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=SIZE SIZE ã®å€æ•°ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€‚例: `-BM' ã¯è¡¨ç¤ºã™ã‚‹æ™‚" "ã«\n" " 1,048,576 ãƒã‚¤ãƒˆã®å€æ•°ã¨ã—ã¦ã‚µã‚¤ã‚ºã‚’表示ã™ã‚‹\n" " -b, --bytes `--apparent-size --block-size=1' ã¨åŒæ§˜\n" " -c, --total ç·åˆè¨ˆå®¹é‡ã‚’表示ã™ã‚‹\n" " -D, --dereference-args ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§æŒ‡å®šã•れãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯\n" " ã®ã¿ã‚’ãŸã©ã‚‹\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F F ã®ä¸­ã§æŒ‡å®šã•れ㟠NUL ã§åŒºåˆ‡ã‚‰ã‚ŒãŸåå‰ã®ãƒ•ァイルã‹" "ら\n" " ディスク使用é‡ã‚’読ã¿å–ã‚‹\n" " F ã« - ãŒæŒ‡å®šã•れãŸå ´åˆæ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã‚€\n" " -H --dereference-args (-D) ã¨åŒæ§˜\n" " -h, --human-readable 人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼ã§ã‚µã‚¤ã‚ºã‚’表示ã™ã‚‹ (例: 1K 234M " "2G)\n" " --si -h ã¨åŒæ§˜ã ãŒã€1024 å€ã§ã¯ãªã 1000 å€ã®å€¤ã‚’使用ã™" "ã‚‹\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k --block-size=1K ã¨åŒæ§˜\n" " -l, --count-links ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã•れãŸå ´åˆãã®å€‹æ•°åˆ†ã‚µã‚¤ã‚ºã‚’æ•°ãˆã‚‹\n" " -m --block-size=1M ã¨åŒæ§˜\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference å…¨ã¦ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã‚‹\n" " -P, --no-dereference シンボリックリンクをãŸã©ã‚‰ãªã„ (デフォルト)\n" " -0, --null å„出力行ã«å¯¾ã—改行ã®ã§ã¯ãªã値㌠0 ã®ãƒã‚¤ãƒˆã‚’使用ã™" "ã‚‹\n" " -S, --separate-dirs å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ã‚µã‚¤ã‚ºã‚’å«ã‚ãªã„\n" " -s, --summarize å„引数ã®åˆè¨ˆå®¹é‡ã®ã¿è¡¨ç¤ºã™ã‚‹\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time ディレクトリã¾ãŸã¯ãã®å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å«ã¾ã‚Œã‚‹å…¨ã¦\n" " ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€çµ‚更新時間を表示ã™ã‚‹\n" " --time=WORD 更新時間ã®ä»£ã‚り㫠WORD ã®æ™‚間を表示ã™ã‚‹ã€‚WORD ã®\n" " å€™è£œã¯æ¬¡ã®é€šã‚Š:\n" " atimeã€accessã€useã€ctime ã¾ãŸã¯ status\n" " --time-style=STYLE 時間を STYLE ã®å½¢å¼ã§è¡¨ç¤ºã™ã‚‹ã€‚STYLE ã®å€™è£œã¯\n" " 次ã®é€šã‚Š:\n" " full-isoã€long-isoã€isoã€+FORMAT\n" " FORMAT 㯠`date' ã¨åŒæ§˜ã«è§£é‡ˆã•れる\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "ç„¡é™ B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read ã«å¤±æ•—ã—ã¾ã—ãŸ: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "ç„¡åŠ¹ãªæœ€å¤§ã®æ·±ã• %s ã§ã™" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "--%s ã®å¼•æ•° %s ãŒç„¡åйã§ã™" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "åˆè¨ˆã¨å…¨ã‚¨ãƒ³ãƒˆãƒªã®è¡¨ç¤ºã®ä¸¡æ–¹ã‚’ã€ä¸€åº¦ã«æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "警告: 統計(-s)㨠--max-depth=0 ã¯åŒã˜ç”¨æ³•ã§ã™" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "警告: 統計(-s)㨠--max-depth=%lu ã®æŒ‡å®šãŒç«¶åˆã—ã¦ã„ã¾ã™" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "ファイルオペランド㨠--files0-from ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "ファイルåを標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã„ã‚‹å ´åˆã«ã€ãƒ•ァイルå %s を指定ã§ãã¾ã›ã‚“" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "無効ãªé•·ã•ãŒ0ã®ãƒ•ァイルåã§ã™" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "åˆè¨ˆ" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "使用法: %s [SHORT-OPTION]... [STRING]...\n" "ã¾ãŸã¯: %s LONG-OPTION\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "STRING を標準出力ã«å‡ºåŠ›ã™ã‚‹\n" "\n" " -n æœ€å¾Œã«æ”¹è¡Œã‚’出力ã—ãªã„\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã™ã‚‹ (デフォルト)\n" " -E ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã—ãªã„\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã™ã‚‹\n" " -E ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã—ãªã„ (デフォルト)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "-e ãŒæœ‰åйãªå ´åˆã€ä»¥ä¸‹ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ãŒè§£é‡ˆã•れã¾ã™ã€‚\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥\n" " \\a 警告 (BEL)\n" " \\b ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹\n" " \\c 以é™ã‚’出力ã—ãªã„\n" " \\e エスケープ\n" " \\f フォームフィード\n" " \\n 改行\n" " \\r キャリッジリターン\n" " \\t 水平タブ\n" " \\v 垂直タブ\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN å…«é€²æ•°ã®æ•°å€¤ NNN (1 ã‹ã‚‰ 3 å€‹ã®æ•°å­—)\n" " \\xHH åå…­é€²æ•°ã®æ•°å€¤ HH (1 ã¾ãŸã¯ 2 å€‹ã®æ•°å­—)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "使用法: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "環境変数 NAME ã‚’ VALUE ã«è¨­å®šã—〠COMMAND を実行ã—ã¾ã™\n" "\n" " -i, --ignore-environment 環境変数ãŒç„¡ã„状態ã§é–‹å§‹ã™ã‚‹\n" " -0, --null 出力ã™ã‚‹è¡Œã®çµ‚端を改行ã§ã¯ãªã値㌠0 ã®ãƒã‚¤ãƒˆã«ã™ã‚‹\n" " -u, --unset=NAME 環境変数ã‹ã‚‰å¤‰æ•°ã‚’削除ã™ã‚‹\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "- ã ã‘を指定ã—ãŸå ´åˆã¯ -i を指定ã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã€‚COMMAND ãŒæŒ‡å®šã•れãªã‘れ" "ã°æœ€çµ‚çš„ãªç’°å¢ƒå¤‰æ•°ã‚’表示ã—ã¾ã™ã€‚\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "%s ã‚’éžè¨­å®šã«ã§ãã¾ã›ã‚“" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "%s を設定ã§ãã¾ã›ã‚“" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "COMMAND 㨠--null (-0) ã‚’åŒæ™‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å„ FILE ã®ã‚¿ãƒ–をスペースã«å¤‰æ›ã—ã€æ¨™æº–å‡ºåŠ›ã«æ›¸ã出ã—ã¾ã™ã€‚ FILE ãŒæŒ‡å®š\n" "ã•れã¦ã„ãªã„ã‹ `-' ã®å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial éžç©ºç™½é¡žæ–‡å­—ã®å¾Œã«ã‚るタブを変æ›ã—ãªã„\n" " -t, --tabs=NUMBER ã‚¿ãƒ–ã®æ–‡å­—æ•°ã‚’ 8 個ã§ã¯ãªã NUMBER 個ã«ã™ã‚‹\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=LIST コンマ(,)ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ LIST ã«ã‚¿ãƒ–ä½ç½®ã‚’設定ã™ã‚‹\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "タブã®ä½ç½® %s ãŒå¤§ãã™ãŽã¾ã™" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "タブサイズã«ç„¡åŠ¹ãªæ–‡å­—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "タブサイズã¯0(ゼロ)ã«ã§ãã¾ã›ã‚“" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "ã‚¿ãƒ–ã‚µã‚¤ã‚ºã®æŒ‡å®šã¯æ˜‡é †ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "入力ファイルãŒé•·ã™ãŽã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "使用法: %s EXPRESSION\n" "ã¾ãŸã¯: %s OPTION\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "EXPRESSION ã®å€¤ã‚’標準出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚下記ã¯å„ªå…ˆé †ä½ã‚°ãƒ«ãƒ¼ãƒ—毎ã«ç©ºç™½è¡Œ\n" "ã§åŒºåˆ‡ã£ã¦æ˜‡é †ã«ä¸¦ã¹ã¦ã„ã¾ã™ã€‚ EXPRESSION ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚\n" "\n" " ARG1 | ARG2 ARG1 ㌠null, 0 ã§ç„¡ã„å ´åˆã¯ ARG1。ãã†ã§ãªã‘れ㰠ARG2\n" "\n" " ARG1 & ARG2 両方ã®å¼•数㌠null, 0 ã§ç„¡ã„å ´åˆã¯ ARG1 ãã†ã§ãªã‘れ㰠0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 ㌠ARG2 よりå°ã•ã„\n" " ARG1 <= ARG2 ARG1 ㌠ARG2 よりå°ã•ã„ã‹ç­‰ã—ã„\n" " ARG1 = ARG2 ARG1 ㌠ARG2 ã¨ç­‰ã—ã„\n" " ARG1 != ARG2 ARG1 ㌠ARG2 ã¨ç­‰ã—ããªã„\n" " ARG1 >= ARG2 ARG1 ㌠ARG2 より大ãã„ã‹ç­‰ã—ã„\n" " ARG1 > ARG2 ARG1 ㌠ARG2 より大ãã„\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 ARG1 㨠ARG2 ã®è¶³ã—ç®—\n" " ARG1 - ARG2 ARG1 㨠ARG2 ã®å¼•ãç®—\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 ARG1 㨠ARG2 ã®æŽ›ã‘ç®—\n" " ARG1 / ARG2 ARG1 ã® ARG2 ã«ã‚ˆã‚‹å‰²ã‚Šç®—\n" " ARG1 % ARG2 ARG1 ã® ARG2 ã«ã‚ˆã‚‹å‰²ã‚Šç®—ã®ã‚ã¾ã‚Š\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRING : REGEXP STRING ã«ãŠã‘ã‚‹æ­£è¦è¡¨ç¾ REGEXP ã«ã‚ˆã‚‹ãƒ‘ターン照åˆ\n" "\n" " match STRING REGEXP STRING : REGEXP ã¨åŒã˜\n" " substr STRING POS LENGTH STRING ã®éƒ¨åˆ†æ–‡å­—列を返ã™, POS 㯠1ã‹ã‚‰å§‹ã¾ã‚‹\n" " index STRING CHARS STRING ã‹ã‚‰ CHARS ãŒè¦‹ã¤ã‹ã£ãŸå ´æ‰€ã‚’è¿”ã™.\n" " 見ã¤ã‹ã‚‰ãªã‘れ㰠0\n" " length STRING STRING ã®é•·ã•\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN TOKEN ㌠`match' ã®ã‚ˆã†ãªã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚„ `/' ã®\n" " よã†ãªæ¼”ç®—å­ã§ã‚ã£ã¦æ–‡å­—列ã¨ã—ã¦è§£é‡ˆ.\n" "\n" " ( å¼ ) å¼ã®å€¤\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "多ãã®æ¼”ç®—å­ã¯ã‚·ã‚§ãƒ«ã«æ¸¡ã™ãŸã‚ã«ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã™ã‚‹ã‹å¼•用符ã§å›²ã‚€å¿…è¦ãŒã‚りã¾ã™.\n" "比較㯠ARG ãŒã„ãšã‚Œã‚‚数値ã§ã‚れã°å¤§ãã•ã«ã‚ˆã‚Š, ãれ以外ã®å ´åˆã«ã¯è¾žæ›¸é †ã«\n" "より行ã‚れã¾ã™. パターン照åˆã¯, \\( 㨠\\) ã®é–“, ã‚‚ã—ãã¯ãƒŒãƒ«æ–‡å­—ã«ä¸€è‡´ã—ãŸ\n" "文字列を返ã—ã¾ã™. \\( 㨠\\) を使ã‚ãªã„å ´åˆã¯ä¸€è‡´ã™ã‚‹æ–‡å­—æ•°ã‹ 0 ã‚’è¿”ã—ã¾ã™.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "終了ステータス㯠EXPRESSION ㌠null, 0 以外ã®å ´åˆã¯ 0。EXPRESSION ㌠null, 0 " "ã®å ´åˆã¯1。\n" "EXPRESSION ãŒæ§‹æ–‡ã‚¨ãƒ©ãƒ¼ã®å ´åˆã¯ 2。ãã®ä»–ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã¯ 3。\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "構文エラー" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "æ­£è¦è¡¨ç¾æ¤œç´¢ä¸­ã®ã‚¨ãƒ©ãƒ¼" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "æ•´æ•°ã§ãªã„引数" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "ゼロã§ã®å‰²ã‚Šç®—" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "å•題を回é¿ã™ã‚‹ãŸã‚ã« LC_ALL='C' を指定ã—ã¦ãã ã•ã„。" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "比較ã—ãŸæ–‡å­—列㯠%s 㨠%s ã§ã™" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ã¯æœ‰åŠ¹ãªæ­£ã®æ•´æ•°ã§ã¯ã‚りã¾ã›ã‚“" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s ã¯é•·ã™ãŽã¾ã™" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s [NUMBER]...\n" "ã¾ãŸã¯: %s OPTION\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "指定ã•れãŸå„æ•´æ•° NUMBER ã®ç´ å› æ•°ã‚’表示ã—ã¾ã™ã€‚コマンドラインã«ä½•も指定ã•\n" "れãªã„å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "カレントディレクトリをå–å¾—ã§ãã¾ã›ã‚“" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "ディレクトリ %s ã«ç§»å‹•ã§ãã¾ã›ã‚“" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "カレントディレクトリを stat ã§ãã¾ã›ã‚“ (ç¾åœ¨ %s )" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "使用法: %s [-WIDTH] [OPTION]... [FILE]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "FILE 内ã®å„段è½ã‚’冿•´å½¢ã—ã¦æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚オプション -WIDTH ã¯\n" "--width=DIGITS ã®çœç•¥å½¢ã§ã™ã€‚\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin 先頭 2 行ã®ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã‚’ä¿è­·ã™ã‚‹\n" " -p, --prefix=STRING STRING ã§å§‹ã¾ã‚‹è¡Œã®ã¿å†æ•´å½¢ã™ã‚‹ã€‚\n" " 冿•´å½¢ã—ãŸè¡Œã«ã¯å…ˆé ­ã« STRING ã‚’ã¤ã‘ã‚‹\n" " -s, --split-only é•·ã„行を分割ã™ã‚‹ã€‚ãŸã ã—インデントã¯è¡Œã‚ãªã„\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph 1 行目㨠2 行目ã¨ã§ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆãŒç•°ãªã‚‹æ®µè½ã‚’処ç†\n" " -u, --uniform-spacing å˜èªžã®é–“ã«ã¯ 1ã¤, æ–‡ã®é–“ã«ã¯ 2 ã¤ã®ç©ºç™½ã‚’ç½®ã\n" " -w, --width=NUMBER 最大行幅 (標準 75文字) を指定\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "無効ãªã‚ªãƒ—ション -- %c。 -WIDTH ã¯æœ€åˆã®å¼•æ•°ã§ã‚ã‚‹å ´åˆã®ã¿èªè­˜ã•れã¾ã™ã€‚ãれ" "以外ã§ã¯\n" " -w N を使用ã—ã¦ãã ã•ã„。" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "無効ãªå¹…: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "å„ FILE (ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯æ¨™æº–入力) ã®å…¥åŠ›è¡Œã‚’æŠ˜ã‚Šè¿”ã—ã€æ¨™æº–å‡ºåŠ›ã«æ›¸ã\n" "è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes 列数ã§ã¯ãªããƒã‚¤ãƒˆæ•°ã§æ•°ãˆã‚‹\n" " -s, --spaces 空白ã®ä½ç½®ã§æŠ˜ã‚Šè¿”ã™\n" " -w, --width=WIDTH 80 ã®ä»£ã‚りã«å¹…ã‚’ WIDTH ã§æŒ‡å®šã™ã‚‹\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "無効ãªåˆ—æ•°ã§ã™: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "使用法: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "シェルスクリプトã§ä½¿ç”¨ã—ã‚„ã™ã„å½¢å¼ã§ãƒ—ラットフォームä¾å­˜ã®åˆ¶é™ã‚’出力ã—ã¾" "ã™ã€‚\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "ユーザー %s ã®ã‚°ãƒ«ãƒ¼ãƒ—å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "ç¾åœ¨ã®ãƒ—ロセスã®ã‚°ãƒ«ãƒ¼ãƒ—å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "グループ ID %lu ã®ã‚°ãƒ«ãƒ¼ãƒ—åãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "使用法: %s [OPTION]... [USERNAME]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "å„ USERNAME ãŒæ‰€å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—を表示ã—ã¾ã™ã€‚USERNAME ãŒæŒ‡å®šã•れãªã„å ´åˆã¯\n" "ç¾åœ¨ã®ãƒ—ロセス (ã“れã¯ã‚°ãƒ«ãƒ¼ãƒ—データベースãŒå¤‰æ›´ã•れãŸå ´åˆã«ã¯ç•°ãªã‚‹å ´åˆ\n" "ãŒã‚りã¾ã™) ã«é–¢ã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "ユーザ ID を設定ã§ãã¾ã›ã‚“" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "%s ã‚’å‚ç…§ã§ãã¾ã›ã‚“" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "ユーザ ID を設定ã§ãã¾ã›ã‚“" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: ãã®ã‚ˆã†ãªãƒ¦ãƒ¼ã‚¶ã¯å­˜åœ¨ã—ã¾ã›ã‚“" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å„ FILE ã®å…ˆé ­ 10 行を標準出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚FILE ãŒ2個以上指定ã•れãŸå ´åˆã¯\n" "ヘッダーã¨ã—ã¦ãƒ•ァイルåãŒå†…容ã®å‰ã«å‡ºåŠ›ã•れã¾ã™ã€‚FILE ãŒæŒ‡å®šã•れãªã„å ´åˆã€\n" "ã¾ãŸã¯ FILE ã« - ãŒæŒ‡å®šã•れãŸå ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K å„ファイルã®å…ˆé ­ K ãƒã‚¤ãƒˆã‚’表示ã™ã‚‹ã€‚å‰ã« `-' ãŒã‚" "ã‚‹å ´åˆã€\n" " å„ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¾Œã® K ãƒã‚¤ãƒˆã‚’除ã„ãŸå…¨ã¦ã‚’表示ã™" "ã‚‹\n" " -n, --lines=[-]K 先頭10行ã®ä»£ã‚りã«å„ファイルã®å…ˆé ­ K 行を表示ã™" "る。å‰ã«\n" " `-' ãŒã‚ã‚‹å ´åˆã€å„ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¾Œã® K 行を除ã„ãŸ" "å…¨ã¦ã‚’\n" " 表示ã™ã‚‹\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent ファイル毎ã®ãƒ˜ãƒƒãƒ€ãƒ¼å‡ºåŠ›ã‚’è¡Œã‚ãªã„\n" " -v, --verbose 常ã«ãƒ•ァイル毎ã®ãƒ˜ãƒƒãƒ€ãƒ¼å‡ºåŠ›ã‚’è¡Œã†\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K ã«ã¯ä»¥ä¸‹ã®å€æ•°æŽ¥å°¾å­ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™:\n" "b =512ã€kB =1000ã€K =1024ã€MB =1000*1000ã€M =1024*1024\n" "GB =1000*1000*1000ã€G =1024*1024*1024ã€ãŠã‚ˆã³ Tã€Pã€Eã€Zã€Y ãªã©ã§ã™ã€‚\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: ファイルãŒå°ã•ã縮ã‚られã™ãŽã¦ã„ã¾ã™" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: ãƒã‚¤ãƒˆæ•°ãŒå¤§ãã™ãŽã¾ã™" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: å…ƒã®ä½ç½®ã« lseek ã§æˆ»ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: オフセット %s ã¾ã§ seek ã§ãã¾ã›ã‚“" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: 削除ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "%s ã«å¯¾ã™ã‚‹ãƒ•ァイルãƒã‚¤ãƒ³ã‚¿ã‚’å†é…ç½®ã§ãã¾ã›ã‚“" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s ã¯å¤§ãã™ãŽã¦è¡¨ç¤ºã§ãã¾ã›ã‚“" #: src/head.c:886 msgid "number of lines" msgstr "行数" #: src/head.c:886 msgid "number of bytes" msgstr "ãƒã‚¤ãƒˆæ•°" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "無効ãªè¡Œæ•°ã§ã™" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "無効ãªãƒã‚¤ãƒˆæ•°ã§ã™" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "無効ãªå¾Œç¶šã®ã‚ªãƒ—ションã§ã™ -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "使用法: %s [OPTION]\n" "ç¾åœ¨ã®ãƒ›ã‚¹ãƒˆã®è­˜åˆ¥ç”¨æ•°å€¤ (å六進数) を表示ã—ã¾ã™ã€‚\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "使用法: %s [NAME]\n" "ã¾ãŸã¯: %s OPTION\n" "ç¾åœ¨ã®ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ›ã‚¹ãƒˆåを表示ã—ã¾ã™ã€‚\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "åå‰ã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "ホストåを設定ã§ãã¾ã›ã‚“。ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã¯ãƒ›ã‚¹ãƒˆå設定機能ãŒã‚りã¾ã›ã‚“。" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "ホストåを特定ã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "使用法: %s [OPTION]... [USERNAME]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "USERNAME ã§æŒ‡å®šã•れãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã®æƒ…報を表示ã—ã¾ã™ã€‚USERNAME ãŒæŒ‡å®šã•" "れãªã„\n" "å ´åˆã¯ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…報を表示ã—ã¾ã™ã€‚\n" "\n" " -a 無視ã•れる。他ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã®äº’æ›æ€§ã®ãŸã‚存在ã—ã¦ã„ã‚‹\n" " -Z, --context ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ã¿è¡¨ç¤ºã™ã‚‹\n" " -g, --group 実効グループ ID ã®ã¿è¡¨ç¤ºã™ã‚‹\n" " -G, --groups å…¨ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ— ID を表示ã™ã‚‹\n" " -n, --name -ugG ã§åå‰ã®ä»£ã‚ã‚Šã«æ•°å€¤ã‚’表示ã™ã‚‹\n" " -r, --real -ugG ã§å®Ÿåй ID ã®ä»£ã‚りã«å®Ÿ IDを表示ã™ã‚‹\n" " -u, --user 実効ユーザー ID ã®ã¿è¡¨ç¤ºã™ã‚‹\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "OPTION ãŒæŒ‡å®šã•れãªã„å ´åˆã€è­˜åˆ¥æƒ…å ±ã®ã†ã¡æœ‰ç”¨ãªç‰©ã‚’表示ã—ã¾ã™ã€‚\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) 㯠SELinux ãŒæœ‰åйãªã‚«ãƒ¼ãƒãƒ«ã®ã¿å‹•作ã—ã¾ã™" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæŒ‡å®šã•ã‚ŒãŸæ™‚ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’表示ã§ãã¾ã›ã‚“" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "å˜ä¸€é …ç›®ã®ã¿è¡¨ç¤ºã™ã‚‹ã‚ªãƒ—ションを複数指定ã§ãã¾ã›ã‚“" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "標準ã®å½¢å¼ã§ã¯, åå‰ã¾ãŸã¯ ID ã ã‘を表示ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "プロセスã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "%s ã‚’å‚ç…§ã§ãã¾ã›ã‚“" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "ユーザー ID %lu ã«å¯¾ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼åãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " groups=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " context=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "警告: %s: コンテキスト %s ã¸ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "ディレクトリ %s を作æˆã—ã¦ã„ã¾ã™" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "%s ã®æ‰€æœ‰æ¨©ã‚’変更ã§ãã¾ã›ã‚“" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "%s ã®æ™‚刻を設定ã§ãã¾ã›ã‚“" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "fork システムコールãŒå¤±æ•—ã—ã¾ã—ãŸ" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "%s を実行ã§ãã¾ã›ã‚“" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "strip ã‚’å¾…ã£ã¦ã„ã¾ã™" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "strip プロセスãŒç•°å¸¸çµ‚了ã—ã¾ã—ãŸ" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "無効ãªãƒ¦ãƒ¼ã‚¶ãƒ¼: %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "使用法: %s [OPTION]... [-T] SOURCE DEST\n" "ã¾ãŸã¯: %s [OPTION]... SOURCE... DIRECTORY\n" "ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY SOURCE...\n" "ã¾ãŸã¯: %s [OPTION]... -d DIRECTORY...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "install プログラムã¯é¸æŠžã—ãŸã‚³ãƒ”ー先ã«ãƒ•ァイルをコピーã—ã¾ã™ (通常ã¯ç›´å‰ã«\n" "コンパイルã—ãŸãƒ•ァイル)。 GNU/Linuxシステムã§ã™ãã«ä½¿ç”¨ã§ãるパッケージ\n" "をダウンロードã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã„å ´åˆã¯ yum(1) ã¾ãŸã¯ apt-get(1) ã®ã‚ˆã†\n" "ãªãƒ‘ッケージ管ç†ãƒ—ログラムを代ã‚りã«ä½¿ç”¨ã—ã¦ãã ã•ã„。\n" "\n" "最åˆã®3個ã®å½¢å¼ã¯ SOURCE ã‹ã‚‰ DEST ã¸ã€ã¾ãŸã¯è¤‡æ•°ã® SOURCE を既存㮠" "DIRECTORY\n" "ã«ãƒ‘ーミッションãŠã‚ˆã³æ‰€æœ‰æ¨©ã€ã‚°ãƒ«ãƒ¼ãƒ—を設定ã—ãªãŒã‚‰ã‚³ãƒ”ーã—ã¾ã™ã€‚\n" "4番目ã®å½¢å¼ã¯æŒ‡å®šã•れ㟠DIRECTORY å…¨ã¦ã®æ§‹æˆè¦ç´ ã‚’作æˆã—ã¾ã™ã€‚\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] コピー先ã«ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯å„ファイルã®ãƒãƒƒ" "ク\n" " アップを作æˆã™ã‚‹\n" " -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ããªã„\n" " -c (無視ã•れる)\n" " -C, --compare コピー元ã¨ã‚³ãƒ”ー先ã®çµ„ã‚’ãれãžã‚Œæ¯”較ã™ã‚‹ã€‚ãれらãŒåŒ" "ã˜\n" " å ´åˆã¯ã‚³ãƒ”ー先を変更ã—ãªã„\n" " -d, --directory å…¨ã¦ã®å¼•数をディレクトリã¨ã—ã¦æ‰±ã†ã€‚指定ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆ" "リ\n" " ã®æ§‹æˆè¦ç´ ã‚’å…¨ã¦ä½œæˆã™ã‚‹\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D DEST ã®å‰ã«ã‚ã‚‹ã™ã¹ã¦ã®æ§‹æˆè¦ç´ ã®ã†ã¡æœ€å¾Œã®ç‰©ã‚’除ã„ãŸ" "物\n" " を作æˆã—ã€ãれã‹ã‚‰ SOURCE ã‹ã‚‰ DEST ã¸ã‚³ãƒ”ーã™ã‚‹\n" " -g, --group=GROUP ファイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ç¾åœ¨ã®ãƒ—ロセスグループã®ä»£ã‚りã«\n" " GROUP ã«è¨­å®šã™ã‚‹\n" " -m, --mode=MODE パーミッションを rwxr-xr-x ã§ã¯ãªã MODE (chmod ã¨åŒ" "ã˜\n" " 指定方法) ã«è¨­å®šã™ã‚‹\n" " -o, --owner=OWNER 所有権を設定ã™ã‚‹ (スーパーユーザーã®ã¿)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps DESTINATION ファイルã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ»å¤‰æ›´æ™‚刻を\n" " SOURCE ã®æ™‚刻ã«è¨­å®šã™ã‚‹\n" " -s, --strip シンボルテーブルを strip ã™ã‚‹\n" " --strip-program=PROGRAM ãƒã‚¤ãƒŠãƒªã‚’ strip ã™ã‚‹æ™‚ã«ä½¿ç”¨ã•れるプログラ" "ム\n" " -S, --suffix=SUFFIX ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾å­ã‚’ SUFFIX ã«ã™ã‚‹\n" " -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ã‚³ãƒ”ーã™" "ã‚‹\n" " -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã†\n" " -v, --verbose ディレクトリを作æˆã—ãŸã¨ãã«ãã®åå‰ã‚’表示ã™ã‚‹\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context SELinux ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ä¿æŒã™ã‚‹\n" " -Z, --context=CONTEXT ファイルãŠã‚ˆã³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® SELinux セキュリティ\n" " コンテキストを CONTEXT ã«è¨­å®šã™ã‚‹\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "警告: --preserve-context ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚カーãƒãƒ«ã§ SELinux ãŒæœ‰åйã§ã¯ã‚り" "ã¾ã›ã‚“" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "警告: --context (-Z) ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚カーãƒãƒ«ã§ SELinux ãŒæœ‰åйã§ã¯ã‚りã¾ã›" "ã‚“" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "strip オプションã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’インストールã™ã‚‹éš›ã«ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "ディレクトリをインストールã™ã‚‹éš›ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã§ãã¾ã›ã‚“" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "ターゲットã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«å¼·åˆ¶çš„ã«è¨­å®šã§ãã¾ã›ã‚“。ãã®ã¾ã¾ç¶­æŒ\n" "ã•れã¾ã™" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "無効ãªãƒ¢ãƒ¼ãƒ‰: %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "警告: -s ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ãªã„ãŸã‚ --strip-program オプションã¯\n" "無視ã•れã¾ã™" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "オプション --compare (-C) ãŠã‚ˆã³ --preserve-timestamps ã¯æŽ’ä»–çš„ã§ã™" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "オプション --compare (-C) ãŠã‚ˆã³ --strip ã¯æŽ’ä»–çš„ã§ã™" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "--compare (-C) オプションã¯è¨±å¯ã•れã¦ã„ãªã„モードã®ãƒ“ットãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆ" "ã«ã¯ç„¡è¦–ã•れã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "入力行ã®ã‚るフィールドを比較ã—ã€åŒä¸€ã ã£ãŸå ´åˆã€çµåˆã—ã¦æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾" "ã™ã€‚\n" "スペースã§åŒºåˆ‡ã‚‰ã‚ŒãŸæœ€åˆã®ãƒ•ィールドãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æ¯”較ã•れã¾ã™ã€‚ FILE1 ã¾ãŸ" "㯠FILE2\n" "㌠- ã®å ´åˆ(両方ã¯ä¸å¯)ã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚\n" "\n" " -a FILENUM ファイル FILENUM ã‹ã‚‰ã®çµ„ã¿åˆã‚ã›ã®å¯¾å¿œã¥ã‘ãŒã§ããªã„行" "ã‚‚\n" " 出力ã™ã‚‹ã€‚FILENUM 㯠1 ã¾ãŸã¯ 2 ã§ã‚りãれãžã‚Œ FILE1 \n" " ã¾ãŸã¯ FILE2 を表ã™\n" " -e EMPTY 入力フィールドãŒå­˜åœ¨ã—ãªã„å ´åˆ EMPTY ã§ç½®ãæ›ãˆã‚‹\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case フィールドを比較ã™ã‚‹æ™‚ã«å¤§æ–‡å­—ã¨å°æ–‡å­—ã®é•ã„を無視ã™ã‚‹\n" " -j FIELD `-1 FIELD -2 FIELD' ã¨åŒç­‰\n" " -o FORMAT å‡ºåŠ›è¡Œç”Ÿæˆæ™‚ã« FORMAT ã«å¾“ã†\n" " -t CHAR 入出力区切り文字ã¨ã—㦠CHAR を使用ã™ã‚‹\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FILENUM -a FILENUM ã¨åŒæ§˜ã ãŸçµåˆã—ãŸè¡Œã‚’出力ã—ãªã„\n" " -1 FIELD FILE1 ã® FIELD 番目ã®ãƒ•ィールドを使用ã—ã¦çµåˆã™ã‚‹\n" " -2 FIELD FILE1 ã® FIELD 番目ã®ãƒ•ィールドを使用ã—ã¦çµåˆã™ã‚‹\n" " --check-order 入力行ã®çµ„ã¿åˆã‚ã›ãŒå…¨ã¦å­˜åœ¨ã—ã¦ã„ãŸã¨ã—ã¦ã‚‚ã€å…¥åŠ›\n" " ãŒæ­£ã—ãä¸¦ã¹æ›¿ãˆã‚‰ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹\n" " --nocheck-order å…¥åŠ›ãŒæ­£ã—ã並ã¹ã‚‰ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã—ãªã„\n" " --header å„ファイルã®1行目をヘッダã¨ã—ã¦æ‰±ã„ã€çµåˆã›ãšã«\n" " 表示を行ã†\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "-t CHAR ãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚Šã€å…ˆå°Žã™ã‚‹ç©ºç™½ãŒãƒ•ィールドを分離ã—ã€ç„¡è¦–ã•れã¾" "ã™ã€‚\n" "ãã†ã§ãªã„å ´åˆã¯ãƒ•ィールド㯠CHAR ã«ã‚ˆã£ã¦åˆ†é›¢ã•れã¾ã™ã€‚å…¨ã¦ã® FIELD 㯠1 ã‹" "ら\n" "å§‹ã¾ã‚‹ãƒ•ィールド番å·ã§ã™ã€‚ FORMAT ã¯ä¸€ã¤ä»¥ä¸Šã®ã‚³ãƒ³ãƒž (,) ã¾ãŸã¯ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚Œ" "ãŸ\n" "フィールド指定㧠`FILENUM.FIELD' ã¾ãŸã¯ `0' ã§ã™ã€‚デフォルト㮠FORMAT ã§ã¯çµ" "åˆã•れãŸ\n" "フィールド〠FILE1 ã®æ®‹ã£ãŸãƒ•ィールドã€FILE2 ã®æ®‹ã£ãŸãƒ•ィールドを CHAR ã§åŒº" "切ã£ã¦\n" "出力ã—ã¾ã™ã€‚FORMAT ㌠'auto' ã¨ã„ã†äºˆç´„語ã®å ´åˆã€å„ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€åˆã®è¡Œã«ã‚ˆã£ã¦" "å„行ã®\n" "出力ã•ã‚Œã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ•°ãŒæ±ºå®šã•れã¾ã™ã€‚\n" "\n" "é‡è¦: FILE1 ãŠã‚ˆã³ FILE2 ã¯çµåˆã™ã‚‹ãƒ•ィールドã«é–¢ã—ã¦ã‚½ãƒ¼ãƒˆã•れã¦ã„ãªã‘れã°ã„" "ã‘ã¾ã›ã‚“。\n" "例ãˆã°ã€`join' ã«ã‚ªãƒ—ションを指定ã—ãªã„ã¨ã㯠` sort -k 1b,1 ' を使用ã—ã€\n" " `sort' ã«ã‚ªãƒ—ションを指定ã—ãªã„ã¨ã㯠` join -t '' ' を使用ã—ã¾ã™ã€‚\n" "備考ã¨ã—ã¦ã€æ¯”較ã®å„ªå…ˆé †ä½ã¯ `LC_COLLATE' ã§æŒ‡å®šã•れãŸè¦å‰‡ã«åŸºã¥ãã¾ã™ã€‚\n" "ã‚‚ã—入力ãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ãªãã€ã„ãã¤ã‹ã®è¡ŒãŒçµåˆã§ããªã„å ´åˆã¯ã€è­¦å‘Šãƒ¡ãƒƒã‚»ãƒ¼" "ジãŒ\n" "表示ã•れã¾ã™ã€‚\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: ソートã•れã¦ã„ã¾ã›ã‚“: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "無効ãªãƒ•ィールド番å·ã§ã™: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "無効ãªãƒ•ィールド指定ã§ã™: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "フィールド指定ã§ã®ãƒ•ァイル番å·ã¯ç„¡åйã§ã™: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "çµåˆã™ã‚‹ãƒ•ィールドãŒä¸å®Œå…¨ã§ã™ %luã€%lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "ç©ºã®æ–‡å­—列を置æ›ã™ã‚‹æ–‡å­—列ãŒç«¶åˆã—ã¦ã„ã¾ã™" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "複数文字ã®ã‚¿ãƒ– %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "äº’æ›æ€§ã®ãªã„タブã§ã™" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "両方ã®ãƒ•ァイルを標準入力ã«ã¯ã§ãã¾ã›ã‚“" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "使用法: %s [-s SIGNAL | -SIGNAL] PID...\n" "ã¾ãŸã¯: %s -l [SIGNAL]...\n" "ã¾ãŸã¯: %s -t [SIGNAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "プロセスã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡ã™ã‚‹ã‹ã€ã‚·ã‚°ãƒŠãƒ«ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL é€ä¿¡ã•れるシグナルã®åå‰ã¾ãŸã¯ç•ªå·\n" " -l, --list シグナルåãŠã‚ˆã³ç•ªå·ã®ä¸€è¦§\n" " -t, --table シグナル情報ã®ä¸€è¦§è¡¨ã‚’表示\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL 㯠`HUP' ã®ã‚ˆã†ãªã‚·ã‚°ãƒŠãƒ«åã‚„ `1' ã®ã‚ˆã†ãªã‚·ã‚°ãƒŠãƒ«ç•ªå·ã€ã¾ãŸã¯\n" "シグナルã«ã‚ˆã£ã¦çµ‚了ã•れãŸãƒ—ロセスã®çµ‚了状態ã§ã™ã€‚\n" "PID ã¯æ•´æ•°ã§ã™ã€‚è² ã®å ´åˆã¯ãƒ—ロセスグループを示ã—ã¾ã™ã€‚\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: 無効ãªãƒ—ロセスID" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "無効ãªã‚ªãƒ—ション -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: 複数ã®ã‚·ã‚°ãƒŠãƒ«ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "-l ã¾ãŸã¯ -t オプションãŒè¤‡æ•°æŒ‡å®šã•れã¦ã„ã¾ã™" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "-l ã¾ãŸã¯ -t ã¨ã‚·ã‚°ãƒŠãƒ«ã‚’組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "プロセス ID ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "%<PRIuMAX> ãƒã‚¤ãƒˆã®æ¨™æº–入出力ãƒãƒƒãƒ•ã‚¡ã®å‰²ã‚Šå½“ã¦ã«å¤±æ•—ã—ã¾ã—ãŸ\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%2$s ã«å¯¾ã™ã‚‹ãƒãƒƒãƒ•ァリングモード %1$s ã¯ç„¡åйã§ã™\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "%s ã®ãƒãƒƒãƒ•ァリングモードを %s ã«è¨­å®šã§ãã¾ã›ã‚“\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "使用法: %s FILE1 FILE2\n" "ã¾ãŸã¯: %s OPTION\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "リンク関数を呼ã³å‡ºã—ã¦ã€å­˜åœ¨ã—ã¦ã„ã‚‹ FILE1 ã«å¯¾ã™ã‚‹ FILE2 ã¨ã„ã†åå‰ã®ãƒªãƒ³ã‚¯" "を作æˆã—ã¾ã™ã€‚\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "%2$s ã¸ã®ãƒªãƒ³ã‚¯ %1$s を作æˆã§ãã¾ã›ã‚“" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: ディレクトリã«å¯¾ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: ディレクトリを上書ãã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" # %s: ersetze `%s'? #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s ã‚’ç½®ãæ›ãˆã¾ã™ã‹(yes/no)? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "シンボリックリンク %s ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "%s ã‹ã‚‰ %s ã¸ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "%.0s%s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ %s ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "%s ã‹ã‚‰ %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "使用法: %s [OPTION]... [-T] TARGET LINK_NAME (1番目ã®å½¢å¼)\n" "ã¾ãŸã¯: %s [OPTION]... TARGET (2番目ã®å½¢å¼)\n" "ã¾ãŸã¯: %s [OPTION]... TARGET... DIRECTORY (3番目ã®å½¢å¼)\n" "ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY TARGET... (4番目ã®å½¢å¼)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "1番目ã®å½¢å¼ã§ã¯ TARGET ã«å¯¾ã™ã‚‹ LINK_NAME ã¨ã„ã†åå‰ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ã¾ã™ã€‚\n" "2番目ã®å½¢å¼ã§ã¯ TARGET ã«å¯¾ã™ã‚‹ãƒªãƒ³ã‚¯ã‚’ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ä½œæˆã—ã¾ã™ã€‚\n" "3番目ã¨4番目ã®å½¢å¼ã§ã¯å„ TARGET ã«å¯¾ã™ã‚‹ãƒªãƒ³ã‚¯ã‚’ DIRECTORY ã®ä½œæˆã—ã¾ã™ã€‚\n" "デフォルトã§ã¯ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ãŒä½œæˆã•れã¾ã™ã€‚--symbolic を使用ã™ã‚‹ã¨ã‚·ãƒ³ãƒœãƒªãƒƒ" "ク\n" "リンクãŒä½œæˆã•れã¾ã™ã€‚ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã™ã‚‹å ´åˆã¯ TARGET ãŒå­˜åœ¨ã—ãªã‘れã°\n" "ã„ã‘ã¾ã›ã‚“。シンボリックリンクã¯ä»»æ„ã®ãƒ†ã‚­ã‚¹ãƒˆã‚’ä¿æŒã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n" "後ã§è§£æ±ºã•ã‚ŒãŸæ™‚相対的ãªãƒªãƒ³ã‚¯ã¯è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ç‰©ã¨ã—ã¦è§£é‡ˆã•れã¾" "ã™ã€‚\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] 対象ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™" "ã‚‹\n" " -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å–らãªã„\n" " -d, -F, --directory スーパーユーザãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒªãƒ³" "ク\n" " を作æˆã™ã‚‹ã“ã¨ã‚’許å¯ã™ã‚‹ã€‚(備考: スーパーユー" "ã‚¶\n" " ã§ã‚ã£ã¦ã‚‚システムã®åˆ¶é™ã§å¤±æ•—ã™ã‚‹ã“ã¨ãŒã‚" "ã‚‹)\n" " -f, --force 対象ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«å‰Šé™¤ã™ã‚‹\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive 対象を削除ã™ã‚‹ã‹ã©ã†ã‹ç¢ºèªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™" "ã‚‹\n" " -L, --logical シンボリックリンクå‚ç…§å…ˆã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆ" "ã™ã‚‹\n" " -n, --no-dereference 対象ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®" "å ´åˆ\n" " 通常ファイルã«å¯¾ã™ã‚‹ç‰©ã®ã‚ˆã†ã«æ‰±ã†\n" " -P, --physical シンボリックリンク自体ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã™" "ã‚‹\n" " -s, --symbolic ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’作æˆ" "ã™ã‚‹\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFIX ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾å­ã‚’ SUFFIX ã«ã™ã‚‹\n" " -t, --target-directory=DIRECTORY リンクを作æˆã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ DIRECTORY " "ã«\n" " ã™ã‚‹\n" " -T, --no-target-directory LINK_NAME を通常ファイルã¨ã—ã¦æ‰±ã†\n" " -v, --verbose リンクを作æˆã—ãŸæ™‚ã«ãƒ•ァイルåを表示ã™ã‚‹\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "-s を使用ã—ãŸæ™‚㯠-L ãŠã‚ˆã³ -P ã¯ç„¡è¦–ã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€å…ƒãƒ•ァイルãŒã‚·" "ンボリック\n" "リンクã®å ´åˆã¯æœ€å¾Œã«æŒ‡å®šã—ãŸã‚ªãƒ—ションã§å‹•作ãŒåˆ¶å¾¡ã•れã¾ã™ã€‚デフォルト㯠%s " "ã§ã™ã€‚\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "--target-directory ãŠã‚ˆã³ --no-target-directory ã¯çµ„ã¿åˆã‚ã›ã¦ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "シンボリックリンク %s を作æˆã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: unknown" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "使用法: %s [OPTION]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶åを表示ã—ã¾ã™ã€‚\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "ログインåãŒã‚りã¾ã›ã‚“" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "環境変数 QUOTING_STYLE ã®å€¤(%s)ãŒä¸é©åˆ‡ãªã®ã§ç„¡è¦–ã—ã¾ã™" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "環境変数 COLUMNS ã®å€¤(%s) ãŒä¸é©åˆ‡ãªè¡Œå¹…ãªã®ã§ç„¡è¦–ã—ã¾ã™" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "環境変数 TABSIZE ã®å€¤(%s) ãŒä¸é©åˆ‡ãªã‚¿ãƒ–サイズãªã®ã§ç„¡è¦–ã—ã¾ã™" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "無効ãªè¡Œå¹…ã§ã™: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "無効ãªã‚¿ãƒ–å¹…ã§ã™: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "ç„¡åŠ¹ãªæ™‚刻書å¼ã§ã™: %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "有効ãªå¼•æ•°:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "æœˆã®æ–‡å­—åˆ—åˆæœŸåŒ–時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "èªè­˜ã§ããªã„接頭辞ã§ã™: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "環境変数 LS_COLORS ã®å€¤ã‚’解釈ã§ãã¾ã›ã‚“" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "ディレクトリ %s ã‚’é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "%s ã®ãƒ‡ãƒã‚¤ã‚¹ã¨ i ノードを決定ã§ãã¾ã›ã‚“" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: æ—¢ã«ä¸€è¦§è¡¨ç¤ºã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãŸã‚一覧表示ã—ã¾ã›ã‚“" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "ディレクトリ %s を読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "ディレクトリ %s ã‚’é–‰ã˜ã¦ã„ã¾ã™" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "ファイルå %s ãŠã‚ˆã³ %s を比較ã§ãã¾ã›ã‚“" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "FILE ã«é–¢ã™ã‚‹æƒ…報を一覧表示ã—ã¾ã™ (デフォルトã¯ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª)。\n" "-cftuvSUX ã¾ãŸã¯ --sort ãŒæŒ‡å®šã•れãªã„é™ã‚Šã€è¦ç´ ã¯ã‚¢ãƒ«ãƒ•ァベット順ã§ä¸¦ã¹æ›¿ãˆ" "られã¾ã™ã€‚\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all . ã§å§‹ã¾ã‚‹è¦ç´ ã‚’無視ã—ãªã„\n" " -A, --almost-all . ãŠã‚ˆã³ .. を一覧表示ã—ãªã„\n" " --author -l ã¨åˆã‚ã›ã¦ä½¿ç”¨ã—ãŸæ™‚ã€å„ファイルã®ä½œæˆè€…を表" "示ã™ã‚‹\n" " -b, --escape 表示ä¸å¯èƒ½ãªæ–‡å­—ã®å ´åˆã« C å½¢å¼ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—文字" "を表示ã™ã‚‹\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=SIZE SIZE ã®å€æ•°ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã€‚例: `--block-size=M' " "ã¯\n" " 表示ã™ã‚‹æ™‚ã« 1,048,576 ãƒã‚¤ãƒˆã®å€æ•°ã¨ã—ã¦ã‚µã‚¤" "ズを\n" " 表示ã™ã‚‹ã€‚SIZE ã®å½¢å¼ã¯ä»¥ä¸‹ã‚’å‚ç…§\n" " -B, --ignore-backups ~ ã§çµ‚了ã™ã‚‹è¦ç´ ã‚’一覧表示ã—ãªã„\n" " -c -lt ã¨ä½¿ç”¨ã—ãŸå ´åˆ: ctime (ファイル状態情報を変" "æ›´ã—ãŸæ™‚é–“)\n" " ã§ä¸¦ã¹æ›¿ãˆã¦è¡¨ç¤ºã™ã‚‹\n" " -l ã¨ä½¿ç”¨ã—ãŸå ´åˆ: åå‰ã§ä¸¦ã¹æ›¿ãˆã¦ ctime を表" "示ã™ã‚‹\n" " ãれ以外: ctime ã§æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆã‚‹\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C è¦ç´ ã‚’列ã”ã¨ã«ä¸¦ã¹ã‚‹\n" " --color[=WHEN] カラー出力をã™ã‚‹ã€‚ WHEN ã®ãƒ‡ãƒ•ォルト値㯠" "`always'ã€\n" " `never' ã¾ãŸã¯ `auto'。詳細ã¯ä¸‹éƒ¨ã‚’å‚ç…§\n" " -d, --directory ディレクトリã®ä¸­èº«ã®ä»£ã‚りã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªè‡ªèº«ã‚’一" "覧表示ã™ã‚‹ã€‚\n" " ã“ã®ã¨ãã«ã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿らãªã„\n" " -D, --dired Emacs ã® dired モード用ã«è¨­è¨ˆã•れãŸå‡ºåŠ›ã‚’ç”Ÿæˆã™" "ã‚‹\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f ソートã—ãªã„。 -aU ãŒæœ‰åŠ¹ã€ -ls --color ãŒç„¡åйã«" "ãªã‚‹\n" " -F, --classify è¦ç´ ã«è­˜åˆ¥å­ (*/=>@| ã®ã†ã¡ã®ä¸€ã¤) を加ãˆã¦å‡ºåŠ›" "ã™ã‚‹\n" " --file-type 上ã¨åŒæ§˜ã ãŒ `*' を加ãˆãªã„\n" " --format=WORD across 㯠-x〠commas 㯠-m〠horizontal 㯠-" "x〠long 㯠-lã€\n" " single-column 㯠-1〠verbose 㯠-l〠" "vertical 㯠-C\n" " --full-time -l --time-style=full-iso ã¨åŒæ§˜\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g -l ã¨åŒæ§˜ã ãŒãƒ•ァイル所有者を表示ã—ãªã„\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " ファイルã®å‰ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’グループ化ã—ã¦è¡¨ç¤ºã™" "る。\n" " --sort オプションã®ä¸€ã¤ã¨ä½µã›ã¦ä½¿ç”¨ã™ã‚‹ãŒã€\n" " --sort=none (-U) ã¨ä½µã›ãŸã¨ãã¯ã‚°ãƒ«ãƒ¼ãƒ—化ã—ãª" "ã„\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group 詳細リスト形å¼ã®æ™‚ã«ã‚°ãƒ«ãƒ¼ãƒ—åを表示ã—ãªã„\n" " -h, --human-readable -l ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸã¨ãã«äººé–“ãŒèª­ã¿ã‚„ã™ã„å½¢å¼ã§" "表示ã™ã‚‹\n" " (例: 1K 234M 2G)\n" " --si 上ã¨åŒæ§˜ã ãŒä¹—æ•°ã®å˜ä½ã« 1024 ã®ä»£ã‚り㫠1000 ã‚’" "使用ã™ã‚‹\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " コマンド行ã§ãƒªã‚¹ãƒˆã•れãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿" "ã‚‹\n" " --dereference-command-line-symlink-to-dir\n" " コマンド行ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指" "ã—ã¦ã„ã‚‹\n" " 時ã«ã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る\n" " --hide=PATTERN シェル形å¼ã® PATTERN ã«ä¸€è‡´ã™ã‚‹è¦ç´ ã¯è¡¨ç¤ºã—ãª" "ã„\n" " (-a ã¾ãŸã¯ -A ã§ä¸Šæ›¸ãã•れる)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=WORD è¦ç´ ã®åå‰ã« WORD å½¢å¼ã®è­˜åˆ¥å­ã‚’加ãˆã‚‹:\n" " none (デフォルト)〠slash (-p)ã€\n" " file-type (--file-type)〠classify (-F)\n" " -i, --inode å„ファイル㮠i ノード番å·ã‚’表示ã™ã‚‹\n" " -I, --ignore=PATTERN シェル形å¼ã® PATTERN ã«ä¸€è‡´ã™ã‚‹è¦ç´ ã¯è¡¨ç¤ºã—ãª" "ã„\n" " -k --block-size=1K ã¨åŒæ§˜\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l 詳細リスト形å¼ã‚’表示ã™ã‚‹\n" " -L, --dereference シンボリックリンクã®ãƒ•ァイル情報を表示ã™ã‚‹ã¨ã" "ã¯\n" " リンクãã®ã‚‚ã®ã§ã¯ãªãリンクå‚ç…§å…ˆã®ãƒ•ァイル\n" " 情報を表示ã™ã‚‹\n" " -m è¦ç´ ã®ãƒªã‚¹ãƒˆã‚’カンマã§åŒºåˆ‡ã‚Šã€ä¸€è¡Œã«è©°ã‚込む\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid -l ã¨åŒæ§˜ã ãŒ UID 㨠GID を数値ã§è¡¨ç¤ºã™ã‚‹\n" " -N, --literal 生ã®è¦ç´ åを表示ã™ã‚‹ (制御文字ãªã©ã‚’特別扱ã„ã—ãª" "ã„)\n" " -o -l ã¨åŒæ§˜ã ãŒã‚°ãƒ«ãƒ¼ãƒ—情報を表示ã—ãªã„\n" " -p, --indicator-style=slash\n" " ディレクトリã«å¯¾ã—ã¦è­˜åˆ¥å­ / を加ãˆã¦è¡¨ç¤ºã™ã‚‹\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars 表示ä¸å¯èƒ½ãªæ–‡å­—ã‚’ ? ã«ç½®ãæ›ãˆã‚‹\n" " --show-control-chars 表示ä¸å¯èƒ½ãªæ–‡å­—ã‚’ãã®ã¾ã¾è¡¨ç¤º (プログラムãŒ\n" " `ls' ã§ãªã‹ã£ãŸã‚Šå‡ºåŠ›ãŒç«¯æœ«ã§ãªã„å ´åˆã®åˆæœŸçж" "æ…‹)\n" " -Q, --quote-name ファイルåをダブルクォート(\")ã§å›²ã‚€\n" " --quoting-style=WORD é …ç›®åã®ã‚¯ã‚©ãƒ¼ãƒˆã« WORD 文字を使ã†:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse ソート順をå転ã•ã›ã‚‹\n" " -R, --recursive å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«ä¸€è¦§è¡¨ç¤ºã™ã‚‹\n" " -s, --size ブロックå˜ä½ã§å„ファイルサイズを表示ã™ã‚‹\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S ファイルサイズ順ã«ã‚½ãƒ¼ãƒˆã™ã‚‹\n" " --sort=WORD åå‰é †ã®ä»£ã‚ã‚Šã«æ¬¡ã® WORD ã§æŒ‡å®šã—ãŸé †ã§ã‚½ãƒ¼ãƒˆã™" "ã‚‹: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD -l ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ãƒ•ァイル更新時刻ã®ä»£ã‚ã‚Šã«æ¬¡" "ã® WORD \n" " ã§æŒ‡å®šã—ãŸæ™‚間を表示ã™ã‚‹: atime -u, access -u, " "use -u, ctime -c,\n" " ã¾ãŸã¯ status -c。\n" " --sort=time を指定ã—ãŸå ´åˆã¯ã‚½ãƒ¼ãƒˆã®ã‚­ãƒ¼ã¨ã—ã¦\n" " 指定ã—ãŸæ™‚é–“ãŒä½¿ç”¨ã•れる\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STYLE -l ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€æ¬¡ã® STYLE å½¢å¼ã§æ™‚間を表示ã™" "ã‚‹:\n" " full-iso, long-iso, iso, locale, +FORMAT。\n" " FORMAT 㯠`date' ã¨åŒæ§˜ã«è§£é‡ˆã•れる。FORMAT ãŒ\n" " FORMAT1<newline>FORMAT2 ã¨ãªã£ã¦ã„ã‚‹å ´åˆã€" "FORMAT1 ã¯ãƒ•ァイル\n" " ã‹ã‚‰é›¢ã‚ŒãŸå´ã«è¡¨ç¤ºã•れ〠FORMAT2 ã¯ãƒ•ァイルå´ã«" "表示ã•れる。\n" " STYLE ã®æŽ¥é ­è¾žã« `posix-' ã‚’ã¤ã‘ãŸå ´åˆã€ STYLE " "㯠POSIX ロケール\n" " ã§ã¯ç„¡ã„å ´åˆã«ã®ã¿åŠ¹æžœãŒã‚ã‚‹\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ãƒ•ã‚¡ã‚¤ãƒ«æ›´æ–°æ™‚é–“ã§æ–°ã—ã„é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹\n" " -T, --tabsize=COLS タブ幅を 8 ã®ä»£ã‚り㫠COLS ã«ã™ã‚‹\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u -lt ã¨ä½¿ç”¨: アクセス時間ã§ã‚½ãƒ¼ãƒˆã€è¡¨ç¤ºã™ã‚‹\n" " -l ã¨ä½¿ç”¨: åå‰ã§ã‚½ãƒ¼ãƒˆã—ã€ã‚¢ã‚¯ã‚»ã‚¹æ™‚間を表示" "ã™ã‚‹\n" " ãã®ä»–: アクセス時間ã§ã‚½ãƒ¼ãƒˆã™ã‚‹\n" " -U ソートをã—ãªã„。ディレクトリã«å«ã¾ã‚Œã¦ã„ã‚‹è¦ç´ é †" "ã§è¡¨ç¤ºã™ã‚‹\n" " -v 自然㪠(ãƒãƒ¼ã‚¸ãƒ§ãƒ³) æ•°å­—é †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS スクリーン幅ã¨ã—ã¦ç¾åœ¨ã®å€¤ã®ä»£ã‚り㫠COLS を使用" "ã™ã‚‹\n" " -x è¦ç´ ã‚’列ã”ã¨ã§ã¯ãªã行ã”ã¨ã«è¡¨ç¤ºã™ã‚‹\n" " -X æ‹¡å¼µå­ã®ã‚¢ãƒ«ãƒ•ァベット順ã«ã‚½ãƒ¼ãƒˆã™ã‚‹\n" " -Z, --context å„ファイル㮠SELinux セキュリティコンテキストを" "表示ã™ã‚‹\n" " -1 1 ファイル 1 行ã§è¡¨ç¤ºã™ã‚‹\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "デフォルトã¾ãŸã¯ --color=never を指定ã—ãŸå ´åˆã€ãƒ•ァイルã®ç¨®é¡žã‚’判別ã™ã‚‹ãŸã‚" "ã®\n" "カラー表示ã¯ç„¡åйã¨ãªã‚Šã¾ã™ã€‚ --color=auto を指定ã—ãŸå ´åˆã€æ¨™æº–出力ãŒç«¯æœ«ã«æŽ¥" "ç¶š\n" "ã•れã¦ã„ã‚‹å ´åˆã®ã¿ã‚«ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’出力ã—ã¾ã™ã€‚LS_COLORS 環境変数ã«ã‚ˆã£ã¦å‹•作\n" "を設定ã§ãã¾ã™ã€‚LS_COLORS を設定ã™ã‚‹å ´åˆã¯ dircolors を使用ã—ã¦ãã ã•ã„。\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "終了ステータス:\n" " 0 正常終了ã€\n" " 1 軽微ãªå•題ãŒç™ºç”Ÿ (例: å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„)ã€\n" " 2 é‡å¤§ãªå•題ãŒç™ºç”Ÿ (例: コマンド引数ãŒèª¤ã£ã¦ã„ã‚‹)。\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "使用法: %s [OPTION]... [FILE]...\n" "%s (%d-bit) ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’表示ã¾ãŸã¯ç…§åˆã—ã¾ã™ã€‚\n" "FILE ã®æŒ‡å®šãŒç„¡ã„ã‹ã€ - ãŒæŒ‡å®šã•れãŸå ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary ãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã§èª­ã¿è¾¼ã‚€ (tty 標準入力以外ã‹ã‚‰èª­ã¿è¾¼ã‚€" "時ã®ãƒ‡ãƒ•ォルト)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary ãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã§èª­ã¿è¾¼ã‚€\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check FILE ã‹ã‚‰ %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’読ã¿è¾¼ã¿ã€ç…§åˆã™ã‚‹\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text テキストモードã§èª­ã¿è¾¼ã‚€ (tty 標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€æ™‚ã®" "デフォルト)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text テキストモードã§èª­ã¿è¾¼ã‚€ (デフォルト)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "次ã®3ã¤ã®ã‚ªãƒ—ションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’ç…§åˆã™ã‚‹å ´åˆã«ã®ã¿æœ‰åйã§ã™:\n" " --quiet ファイルã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆãŒæˆåŠŸã—ãŸã¨ãã« OK を表示" "ã—ãªã„\n" " --status 何も出力ã—ãªã„。終了コードã§çµæžœã‚’判別ã™ã‚‹\n" " -w, --warn ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡Œã®æ›¸å¼ãŒä¸æ­£ãªå ´åˆã«è­¦å‘Šã‚’行ã†\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict --check ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ç„¡åйãªå…¥åŠ›ãŒã‚ã‚‹å ´åˆã« 0 以外" "ã§çµ‚了ã™ã‚‹\n" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¯ %s ã«è¨˜ã•れã¦ã„る通りã«è¨ˆç®—ã•れã¾ã™ã€‚ç…§åˆã®éš›ã«å…¥åŠ›\n" "ã™ã‚‹ãƒ•ァイルã¯ã“ã®ãƒ—ログラムã«ã‚ˆã£ã¦å‡ºåŠ›ã•れãŸå½¢å¼ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。\n" "特ã«ã‚ªãƒ—ションを指定ã—ãªã„ã§å®Ÿè¡Œã—ãŸå ´åˆã«ã¯ã€ãれãžã‚Œã®ãƒ•ァイル毎ã«\n" "ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã€å…¥åŠ›ãƒ¢ãƒ¼ãƒ‰ã®å°(ãƒã‚¤ãƒŠãƒªã«ã¯ `*', テキストã«ã¯ ` ')〠\n" "ãŠã‚ˆã³ãƒ•ァイルåを表示ã—ã¾ã™ã€‚\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡ŒãŒå¤šã™ãŽã¾ã™" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡Œã¨ã—ã¦ä¸é©åˆ‡ãªæ›¸å¼ã§ã™" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: オープンã¾ãŸã¯èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "失敗" #: src/md5sum.c:597 msgid "OK" msgstr "完了" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¨ã—ã¦é©åˆ‡ãªæ›¸å¼ã®è¡ŒãŒã‚りã¾ã›ã‚“ã§ã—ãŸ" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "警告: 書å¼ãŒä¸é©åˆ‡ãªè¡ŒãŒ %<PRIuMAX> 行ã‚りã¾ã™" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "警告: 一覧ã«ã‚ã‚‹ %<PRIuMAX> 個ã®ãƒ•ァイルãŒèª­ã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "警告: %<PRIuMAX> 個ã®è¨ˆç®—ã—ãŸãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸ" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "--status オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã«ã¯ --binary ãŠã‚ˆã³ --text オプションã¯ç„¡æ„味ã§ã™" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "--status オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "--warn オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "--quiet オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "--strict オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "使用法: %s [OPTION]... DIRECTORY...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "ディレクトリãŒå­˜åœ¨ã—ãªã„å ´åˆã«ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã—ã¾ã™ã€‚\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE ファイルã®ãƒ‘ーミッションを a=rwx - umask ã§ã¯ãªãã€" "(chmod ã®ã‚ˆã†ã«) MODE ã«è¨­å®šã™ã‚‹\n" " -p, --parents ディレクトリãŒå­˜åœ¨ã—ã¦ã„ã¦ã‚‚エラーを返ã•ãªã„。必è¦ã«å¿œã˜" "ã¦è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã™ã‚‹\n" " -v, --verbose ディレクトリを作æˆã™ã‚‹ã”ã¨ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹\n" " -Z, --context=CTX 作æˆã—ãŸå„ディレクトリ㫠SELinux セキュリティコンテキス" "ト CTX \n" " を設定ã™ã‚‹\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "ディレクトリ %s を作æˆã—ã¾ã—ãŸ" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "使用法: %s [OPTION]... NAME...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "NAME ã¨ã„ã†åå‰ã®åå‰ä»˜ãパイプ (FIFO) を作æˆã—ã¾ã™ã€‚\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODE ファイルã®ãƒ‘ーミッションを a=rw - umask ã§ã¯ãªãã€(chmod " "ã®ã‚ˆã†ã«) MODE ã«è¨­å®šã™ã‚‹\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX 作æˆã—ãŸå„ NAME ã« SELinux セキュリティコンテキスト CTX " "を設定ã™ã‚‹\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "無効ãªãƒ¢ãƒ¼ãƒ‰" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "モードã«ã¯ãƒ•ァイルパーミッションã®ãƒ“ットã®ã¿æŒ‡å®šã§ãã¾ã™" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "使用法: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "スペシャルファイル NAME をタイプ TYPE ã§ä½œæˆã—ã¾ã™ã€‚\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX 作æˆã—㟠NAME ã« SELinux セキュリティコンテキスト CTX ã‚’" "設定ã™ã‚‹\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "TYPE ㌠b, c, u ã®å ´åˆã¯ MAJOR 㨠MINOR ã®ä¸¡æ–¹ã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“。" "TYPE ãŒ\n" "p ã®å ´åˆã¯çœç•¥ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。MAJOR 㨠MINOR ㌠0x ã¾ãŸã¯ 0X ã§å§‹ã¾ã‚‹å ´" "åˆã«\n" "ã¯å六進数ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚0 ã§å§‹ã¾ã‚‹å ´åˆã«ã¯å…«é€²æ•°ã§ã€ãれ以外ã¯å進数ã§" "解釈\n" "ã•れã¾ã™ã€‚ TYPE ã¯æ¬¡ã®é€šã‚Šã§ã™:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b ブロック型(ãƒãƒƒãƒ•ァリングã•れる)スペシャルファイルを作æˆ\n" " c, u キャラクタ型(ãƒãƒƒãƒ•ァリングã•れãªã„)スペシャルファイルを作æˆ\n" " p åå‰ã¤ãパイプを作æˆ\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "スペシャルファイルを作æˆã™ã‚‹æ™‚ã¯ã€MAJOR ãŠã‚ˆã³ MINOR デãƒã‚¤ã‚¹ç•ªå·ã‚’\n" "指定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO ã« MAJOR ãŠã‚ˆã³ MINOR デãƒã‚¤ã‚¹ç•ªå·ã‚’指定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "ブロックスペシャルファイルã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "キャラクタスペシャルファイルã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "無効㪠MAJOR デãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "無効㪠MINOR デãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "無効ãªãƒ‡ãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "無効ãªãƒ‡ãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—ã§ã™: %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "使用法: %s [OPTION]... [TEMPLATE]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "一時ファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’安全ã«ä½œæˆã—ã€ãã®åå‰ã‚’表示ã—ã¾ã™ã€‚TEMPLATE " "文字列\n" "ã¯æœ€å¾Œã«é€£ç¶šã—㟠`X' を最低 3 個ã¯å«ã¾ãªã‘れã°ã„ã‘ã¾ã›ã‚“。 TEMPLATE ãŒæŒ‡å®šã•" "れãªã„\n" "å ´åˆã€tmp.XXXXXXXXXX ãŒä½¿ç”¨ã•れ〠--tmpdir ã¯æš—黙的ãªå€¤ã¨ãªã‚Šã¾ã™ã€‚\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "ファイル㯠u+rw ã‹ã‚‰ umask ã®è¨­å®šã‚’å·®ã—引ã„ãŸã‚‚ã®ãŒä½œæˆã•れã¾ã™ã€‚\n" "ディレクトリ㯠u+rwx ã‹ã‚‰ umask ã®è¨­å®šã‚’å·®ã—引ã„ãŸã‚‚ã®ãŒä½œæˆã•れã¾ã™ã€‚\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory ファイルã§ã¯ãªãã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã™ã‚‹\n" " -u, --dry-run åå‰ã®ã¿è¡¨ç¤ºã—ã€ä½•も作æˆã—ãªã„ (安全ã§ã¯ãªã„)\n" " -q, --quiet ファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä½œæˆå¤±æ•—ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’抑止ã™" "ã‚‹\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF TEMPLATE ã« SUFF を追加ã™ã‚‹ã€‚ SUFF ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ãŒ" "å«ã¾ã‚Œã¦ã¯\n" " ã„ã‘ãªã„。ã“ã®ã‚ªãƒ—ションã§ã¯ TEMPLATE ã®æœ€å¾Œã« X ãŒå«" "ã¾ã‚Œã¦ã„ãª\n" " ã„ã¨æš—黙的ã«ä»®å®šã•れる。\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] TEMPLATE ã‚’ DIR ã«å¯¾ã™ã‚‹ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã†ã€‚DIR ãŒæŒ‡" "定\n" " ã•れã¦ã„ãªã„å ´åˆã€$TMPDIR ãŒè¨­å®šã•れã¦ã„れã°ä½¿ç”¨ã•れ" "る。\n" " ãれ以外㯠/tmp ãŒä½¿ç”¨ã•れる。ã“ã®ã‚ªãƒ—ションを使用ã™" "ã‚‹\n" " å ´åˆã€ TEMPLATE ã¯çµ¶å¯¾ãƒ‘スã§ã‚ã£ã¦ã¯ãªã‚‰ãªã„。 -t ã¨" "ç•°\n" " ãªã‚Šã€ TEMPLATE ã«ã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ã‚’å«ã‚“ã§ã‚‚良ã„。ã—" "ã‹\n" " ã—ã€mktemp ã¯æœ«ç«¯ã®è¦ç´ ã®ã¿ä½œæˆã—ã€é€”中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" "ã‚’\n" " 作æˆã—ãªã„。\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR DIR を接頭辞ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã€‚ -t (éžæŽ¨å¥¨) ãŒæš—黙的ã«ä½¿ç”¨" "ã•れる\n" " -t TEMPLATE ã‚’ $TMPDIR (設定ã•れã¦ã„ã‚‹å ´åˆ)ã€ã¾ãŸã¯ -p オ" "プション\n" " ã§æŒ‡ã•れã¦ã„るディレクトリã€ã¾ãŸã¯ /tmp ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘" "スã®å˜ä¸€\n" " ファイルåè¦ç´ ã¨ã—ã¦è§£é‡ˆã™ã‚‹ (éžæŽ¨å¥¨)\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "標準エラー出力を /dev/null ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "TEMPLATE ãŒå¤šã™ãŽã¾ã™" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" "--suffix を使用ã™ã‚‹å ´åˆã€ãƒ†ãƒ³ãƒ—レート %s 㯠X ã§çµ‚了ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "%s: ç„¡åŠ¹ãªæŽ¥å°¾è¾žã§ã™ã€‚ディレクトリ区切り文字ãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "テンプレート %s ã«å«ã¾ã‚Œã¦ã„ã‚‹ X ã®æ•°ãŒå°‘ãªã™ãŽã¾ã™" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "%s: 無効ãªãƒ†ãƒ³ãƒ—レートã§ã™ã€‚ディレクトリ区切り文字ãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "%s: 無効ãªãƒ†ãƒ³ãƒ—レートã§ã™ã€‚ --tmpdir を使用ã™ã‚‹å ´åˆã€çµ¶å¯¾ãƒ‘スã§ç„¡ã„ã‹ã‚‚ã—れ" "ã¾ã›ã‚“" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "テンプレート %s ã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã§ãã¾ã›ã‚“" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "テンプレート %s ã‹ã‚‰ãƒ•ァイルを作æˆã§ãã¾ã›ã‚“" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "ファイルåã®å¤‰æ›´ã€ã‚‚ã—ãã¯è¤‡æ•°ã®ãƒ•ァイルをディレクトリã¸ç§»å‹•ã—ã¾ã™ã€‚\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] ファイルを上書ãã™ã‚‹éš›ã«ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™" "ã‚‹\n" " -b --backup åŒæ§˜ã ãŒã€å¼•æ•°ã‚’ã¨ã‚‰ãªã„\n" " -f, --force 上書ãã®å‰ã«ç¢ºèªã‚’行ã‚ãªã„\n" " -i, --interactive 上書ãã®å‰ã«ç¢ºèªã‚’行ã†\n" " -n, --no-clobber 既存ã®ãƒ•ァイルを上書ãã—ãªã„\n" "-i, -f, -n を一ã¤ä»¥ä¸Šä½¿ç”¨ã—ãŸå ´åˆã€æœ€å¾Œã®ã‚ªãƒ—ションãŒä½¿ç”¨ã•れã¾ã™ã€‚\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes å„ SOURCE å¼•æ•°ã®æœ€å¾Œã«ã‚るスラッシュ (/) ã‚’å–" "り除ã\n" " -S, --suffix=SUFFIX 通常ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾辞を SUFFIX ã§ä¸Šæ›¸ãã™" "ã‚‹\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ç§»å‹•ã™" "ã‚‹\n" " -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã†\n" " -u, --update SOURCE ファイルãŒç§»å‹•å…ˆã®ãƒ•ァイルより新ã—ã„" "ã‹ã€\n" " 移動先ãŒå­˜åœ¨ã—ãªã„å ´åˆã®ã¿ç§»å‹•を行ã†\n" " -v, --verbose 実行中ã®å‹•作を表示ã™ã‚‹\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "使用法: %s [OPTION] [COMMAND [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "優先度を指定ã—㦠COMMAND を実行ã—ã¾ã™ã€‚ã“れã¯ãƒ—ロセススケジュールã«\n" "影響をã‚ãŸãˆã¾ã™ã€‚COMMAND を指定ã—ãªã„å ´åˆã€ç¾åœ¨ã®å„ªå…ˆåº¦ã‚’表示ã—ã¾ã™ã€‚\n" "優先度ã®ç¯„囲㯠%d (最高) ã‹ã‚‰ %d (最低) ã§ã™ã€‚\n" "\n" " -n, --adjustment=N 整数値 N を優先度ã«åŠ ãˆã‚‹ (デフォルト: 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "%s: 無効ãªå„ªå…ˆåº¦ã§ã™" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "優先度を指定ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’与ãˆãªãã¦ã¯ã„ã‘ã¾ã›ã‚“" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "優先度をå–å¾—ã§ãã¾ã›ã‚“" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "優先度を設定ã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "指定ã—ãŸãれãžã‚Œã®ãƒ•ァイルã«è¡Œç•ªå·ã‚’付ã‘è¶³ã—ã¦æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚\n" "ファイルを指定ã—ãªã„ã‹ `-' を指定ã—ãŸå ´åˆã«ã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STYLE 本文ã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹\n" " -d, --section-delimiter=CC è«–ç†ãƒšãƒ¼ã‚¸ã®åŒºåˆ‡ã‚Šè¨˜å·ã« CC を利用ã™ã‚‹\n" " -f, --footer-numbering=STYLE フッタã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STYLE ヘッダã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹\n" " -i, --line-increment=NUMBER 行番å·ã®å¢—分を NUMBER ã«ã™ã‚‹\n" " -l, --join-blank-lines=NUMBER NUMBER 個以下ã®ç©ºè¡Œã‚’一ã¤ã¨ã—ã¦æ•°ãˆã‚‹\n" " -n, --number-format=FORMAT 行番å·ã®å‡ºåЛ形å¼ã‚’ FORMAT ã«ã™ã‚‹\n" " -p, --no-renumber è«–ç†æ”¹ãƒšãƒ¼ã‚¸ã§è¡Œç•ªå·ã‚’リセットã—ãªã„\n" " -s, --number-separator=STRING 行番å·ã®å¾Œã‚ã« STRING を加ãˆã‚‹ (å¯èƒ½ãªå ´" "åˆ)\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NUMBER è«–ç†æ”¹ãƒšãƒ¼ã‚¸ã®å…ˆé ­è¡Œç•ªå·ã‚’ NUMBER ã«ã™" "ã‚‹\n" " -w, --number-width=NUMBER 行番å·ã‚’表示ã™ã‚‹åˆ—å¹…ã‚’ NUMBER ã«ã™ã‚‹\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æŒ‡å®šãŒç„¡ã‘れã°ã€ãƒ—ログラム㯠-v1 -i1 -l1 -sTAB -w6 -nrn -hn \n" "-bt -fn ã¨ã—ã¦å‹•作ã—ã¾ã™ã€‚ CC 値㯠論ç†ãƒšãƒ¼ã‚¸ã®åŒºåˆ‡ã‚Šè¨˜å·ã‚’指定ã™ã‚‹ãŸã‚ã®\n" "2 ã¤ã®æ–‡å­—ã§ã™ã€‚2ã¤ã‚ã®æ–‡å­—ãŒæŒ‡å®šã•れãªã„å ´åˆã«ã¯æš—黙㫠: ãŒæŒ‡å®šã•れã¾ã™ã€‚\n" "`\\\\' ã‚’ 指定ã—ãŸã‘れã°, `\\\\' を使ã†ã‚ˆã†ã«ã—ã¦ãã ã•ã„。\n" "STYLE ã¯ä»¥ä¸‹ã®ã†ã¡ã® 1 ã¤ã‚’指定ã—ã¾ã™ã€‚\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a ã™ã¹ã¦ã®è¡Œç•ªå·\n" " t 空行以外ã®è¡Œç•ªå·\n" " n 空行ã®è¡Œç•ªå·\n" " pBRE 基本正è¦è¡¨ç¾ BRE ã«ä¸€è‡´ã™ã‚‹è¡Œã®ã¿ã‚’æ•°ãˆãŸã¨ãã®è¡Œç•ªå·\n" "\n" "FORMAT ã«ã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã‚’指定ã—ã¾ã™:\n" "\n" " ln å·¦æƒãˆã€0ã§åŸ‹ã‚ãªã„\n" " rn 峿ƒãˆã€0ã§åŸ‹ã‚ãªã„\n" " rz 峿ƒãˆã€0ã§åŸ‹ã‚ã‚‹\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "行番å·ãŒæº¢ã‚Œã¾ã—ãŸ" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "無効ãªãƒ˜ãƒƒãƒ€ç•ªå·æ›¸å¼ã§ã™: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "ç„¡åŠ¹ãªæœ¬æ–‡ç•ªå·æ›¸å¼ã§ã™: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "ç„¡åŠ¹ãªæŒ¯ã£ãŸç•ªå·æ›¸å¼ã§ã™: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "開始行番å·ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "行番å·ã®å¢—åˆ†ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "空行ã®è¡Œç•ªå·ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "無効ãªè¡Œç•ªå·å¹…ã®æŒ‡å®šã§ã™: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "無効ãªè¡Œç•ªå·æ›¸å¼ã§ã™: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s COMMAND [ARG]...\n" "ã¾ãŸã¯: %s OPTION\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "HUP シグナルを無視ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—㦠COMMAND を実行ã—ã¾ã™ã€‚\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "標準入力ãŒç«¯æœ«ã®å ´åˆã€ /dev/null ã‹ã‚‰ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚\n" "標準出力ãŒç«¯æœ«ã®å ´åˆã€å¯èƒ½ãªã‚‰ `nohup.out' ã«å‡ºåŠ›ãŒè¿½åŠ ã•れã¾ã™ã€‚ä¸å¯èƒ½ãªå ´åˆ" "ã¯\n" "`$HOME/nohup.out' ã«å‡ºåŠ›ãŒè¿½åŠ ã•れã¾ã™ã€‚\n" "標準エラー出力ãŒç«¯æœ«ã®å ´åˆã€æ¨™æº–出力ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚出力を FILE ã«ä¿" "å­˜\n" "ã—ãŸã„å ´åˆã¯ `%s COMMAND > FILE' を使用ã—ã¦ãã ã•ã„。\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "標準入力ãŒä½¿ç”¨ã§ããªã„ãŸã‚å–り込むã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "入力を無視ã—ã¾ã™" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "入力を無視ã—ã€å‡ºåŠ›ã‚’ %s ã«è¿½è¨˜ã—ã¾ã™" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "出力を %s ã«è¿½è¨˜ã—ã¾ã™" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "exec æ™‚ã«æ¨™æº–エラー出力ã®ã‚³ãƒ”ーを閉ã˜ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "標準入力を無視ã—ã€æ¨™æº–エラー出力を標準出力ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "標準エラー出力を標準出力ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "標準エラー出力ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "使用法: %s [OPTION]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "ç¾åœ¨ã®ãƒ—ロセスã§ä½¿ç”¨å¯èƒ½ãªãƒ—ãƒ­ã‚»ã‚¹ãƒ¦ãƒ‹ãƒƒãƒˆã®æ•°ã‚’表示ã—ã¾ã™ã€‚ã“ã®æ•°ã¯ç¾åœ¨\n" "オンラインã«ãªã£ã¦ã„るプロセッサ数より少ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all å°Žå…¥ã•れã¦ã„ã‚‹ãƒ—ãƒ­ã‚»ãƒƒã‚µã®æ•°ã‚’表示ã™ã‚‹\n" " --ignore=N å¯èƒ½ã§ã‚れ㰠N 個ã®ãƒ—ロセスユニットを無視ã™ã‚‹\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: 無視ã™ã‚‹æ•°ãŒç„¡åйã§ã™" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: 値ã¯å®Œå…¨ã«ã¯å¤‰æ›ã•れã¦ã„ã¾ã›ã‚“" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "%s : ç„¡åŠ¹ãªæ•°å­—ã§ã™" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "引数 `%3$s' ã«å¯¾ã—ã¦ç„¡åŠ¹ãªæŽ¥å°¾è¾ž %1$s%2$s ã§ã™" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: 書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "無効ãªã‚¿ãƒ–å¹…ã§ã™: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "使用法: %s [OPTION]... [USER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict --check ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ç„¡åйãªå…¥åŠ›ãŒã‚ã‚‹å ´åˆã« 0 以外" "ã§çµ‚了ã™ã‚‹\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "ãã®ã»ã‹ã®ã‚ªãƒ—ション:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "FORMAT %s ã« %% 指定ãŒã‚りã¾ã›ã‚“" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "ç„¡åŠ¹ãªæ›¸å¼å¹…ã§ã™" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "FORMAT %s ㌠%% ã§çµ‚了ã—ã¦ã„ã¾ã™" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "FORMAT %s ã« %% 指定ãŒå¤šã™ãŽã¾ã™" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "引数 `%3$s' ã«å¯¾ã—ã¦ç„¡åŠ¹ãªæŽ¥å°¾è¾ž %1$s%2$s ã§ã™" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "無効ãªãƒšãƒ¼ã‚¸ç¯„囲ã§ã™ %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "無効ãªãƒ•ィールド番å·ã§ã™: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "%s ã¯ç„¡åŠ¹ãªæ—¥ä»˜ã§ã™" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "ファイルオペランド㨠--files0-from ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "ファイルオペランド㨠--files0-from ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "複数㮠-i ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "ファイルオペランド㨠--files0-from ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "%s ã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "標準入力ãŒä½¿ç”¨ã§ããªã„ãŸã‚å–り込むã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "使用法: %s [OPTION]... [FILE]...\n" "ã¾ãŸã¯: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" "ã¾ãŸã¯: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "FILE を明確ãªè¡¨ç¾å½¢å¼ (デフォルトã¯å…«é€²æ•°) ã§æ¨™æº–å‡ºåŠ›ã«æ›¸ã出ã—ã¾ã™ã€‚\n" "FILE ãŒ2個以上ã®å ´åˆã¯ã€è¨˜è¿°ã•れãŸé †ç•ªã§é€£çµã•れã€å…¥åŠ›ã•れã¾ã™ã€‚FILE\n" "を指定ã—ãªã„ã‹ã€ - ã®å ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "一番目ã¨äºŒç•ªç›®ã®ä½¿ç”¨æ³•ã¯ä¸¡æ–¹ä½¿ç”¨ã§ãã¾ã™ã€‚最後ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãŒ + ã§å§‹ã¾ã‚‹ã‹ã€\n" "(オペランドãŒ2個ã§) æ•°å­—ã®å ´åˆã«ã¯äºŒç•ªç›®ã®ä½¿ç”¨æ³•ã¨è¦‹ãªã•れã¾ã™ã€‚\n" "OFFSET オペランド㯠-j OFFSET ã¨åŒã˜ã§ã™ã€‚LABEL ã¯è¡¨ç¤ºã•れる最åˆã®ãƒã‚¤ãƒˆã®\n" "仮想的ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã€ãƒ€ãƒ³ãƒ—処ç†ã•れるã«ã¤ã‚Œã¦å¢—加ã—ã¾ã™ã€‚\n" "OFFSET ãŠã‚ˆã³ LABEL ã« 0x ã¾ãŸã¯ 0X 接頭辞をã¤ã‘ã‚‹ã¨å六進数を表ã—ã¾ã™ã€‚\n" "æŽ¥å°¾å­ . ã¯å…«é€²æ•°ã‚’表ã—ã¾ã™ã€‚æŽ¥å°¾å­ b 㯠512 å€ã‚’表ã—ã¾ã™ã€‚\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX ファイルオフセットã®è¡¨ç¤ºå½¢å¼ã‚’指定ã™ã‚‹\n" " -j, --skip-bytes=BYTES ファイルã®å…ˆé ­ã‚ˆã‚Š BYTES 分スキップã™ã‚‹\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES ダンプã™ã‚‹ãƒ•ァイルã®å¤§ãã•ã‚’ BYTES ã«åˆ¶é™ã™ã‚‹\n" " -S, --strings[=BYTES] 表示å¯èƒ½ãª BYTES 以上ã®é•·ã•ã‚’æŒã¤æ–‡å­—列を出力ã™" "ã‚‹\n" " -t, --format=TYPE 出力フォーマットを指定ã™ã‚‹\n" " -v, --output-duplicates `*' マークã§å‡ºåŠ›è¡Œã‚’çœç•¥ã™ã‚‹ã®ã‚’ã‚„ã‚ã‚‹\n" " -w, --width[=BYTES] 一行ã‚ãŸã‚Šã®å‡ºåŠ›ãƒã‚¤ãƒˆæ•°ã‚’ BYTES ãƒã‚¤ãƒˆã«ã™ã‚‹\n" " --traditional å¤ã„ POSIX ã®å½¢å¼ã®å¼•æ•°ã‚’å—ã‘付ã‘ã‚‹\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "å¤ã„æ›¸å¼æŒ‡å®šã‚’æ··åˆã•ã›ã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。ãれらã¯ç´¯åŠ ã•れã¾ã™:\n" " -a -t a ã¨åŒæ§˜ã€‚文字åを表示ã™ã‚‹ã€‚最上ä½ãƒ“ットã¯ç„¡è¦–ã•れる\n" " -b -t o1ã¨åŒæ§˜ã€‚八進数ã§è¡¨ç¤ºã™ã‚‹\n" " -c -t c ã¨åŒæ§˜ã€‚ ASCII 文字ã¾ãŸã¯ \\ エスケープ文字ã§è¡¨ç¤ºã™ã‚‹\n" " -d -t u2ã¨åŒæ§˜ã€‚符å·ãªã—å進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f -t fFã¨åŒæ§˜ã€‚æµ®å‹•å°æ•°ç‚¹ã§è¡¨ç¤ºã™ã‚‹\n" " -i -t dIã¨åŒæ§˜ã€‚å進整数ã§è¡¨ç¤ºã™ã‚‹\n" " -l -t dLã¨åŒæ§˜ã€‚å進長整数ã§è¡¨ç¤ºã™ã‚‹\n" " -o -t o2ã¨åŒæ§˜ã€‚八進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹\n" " -s -t d2ã¨åŒæ§˜ã€‚å進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹\n" " -x -t x2ã¨åŒæ§˜ã€‚å六進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TYPE ã¯æ¬¡ã®ã„ãšã‚Œã‹ä¸€ã¤ä»¥ä¸Šã‚’指定ã—ã¾ã™:\n" "\n" " a 文字å。最上ä½ãƒ“ットã¯ç„¡è¦–ã•れる\n" " c ASCII 文字ã¾ãŸã¯ \\ エスケープ文字\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[サイズ] 符å·ä»˜ã10進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š\n" " f[サイズ] æµ®å‹•å°æ•°ç‚¹ 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š\n" " o[サイズ] 8進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š\n" " u[サイズ] 符å·ãªã—10進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š\n" " x[サイズ] 16進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "ã“ã“ã§ã®ã‚µã‚¤ã‚ºã®æŒ‡å®šã¯æ•°å­—ã§ã™. タイプ㌠doux ã«å«ã¾ã‚Œã‚‹ãªã‚‰, サイズã«\n" "ã¯,C 㯠sizeof(char) ã¨ã—ã¦, S 㯠sizeof(short) ã¨ã—ã¦, I 㯠sizeof(int), \n" "ã¾ãŸã¯ L㯠sizeof(long) も指定ã§ãã¾ã™. ã¾ãŸã‚¿ã‚¤ãƒ—㌠f ãªã‚‰ã°, ã•らã«\n" "F 㯠sizeof(float) ã¨ã—ã¦, D 㯠sizeof(double) ã¨ã—ã¦, ã¾ãŸã¯ \n" "L 㯠sizeof(long double) ã¨ã—ã¦æŒ‡å®šã§ãã¾ã™.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K ã«ã¯ä»¥ä¸‹ã®å€æ•°æŽ¥å°¾å­ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™:\n" "b =512ã€kB =1000ã€K =1024ã€MB =1000*1000ã€M =1024*1024\n" "GB =1000*1000*1000ã€G =1024*1024*1024ã€ãŠã‚ˆã³ Tã€Pã€Eã€Zã€Y ãªã©ã§ã™ã€‚\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "無効㪠TYPE 指定文字列ã§ã™: %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "無効㪠TYPE 指定文字列ã§ã™: %s;\n" "ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ %lu ãƒã‚¤ãƒˆæ•´æ•°åž‹ã‚’扱ãˆã¾ã›ã‚“" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "無効㪠TYPE 指定文字列ã§ã™: %s;\n" "ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ %lu ãƒã‚¤ãƒˆæµ®å‹•å°æ•°ç‚¹åž‹ã‚’扱ãˆã¾ã›ã‚“" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "型指定文字列 %2$s ã«ç„¡åŠ¹ãªæ–‡å­— `%1$c' ãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "入力ã®çµ‚端を越ãˆã¦èª­ã¿ã¨ã°ã™äº‹ã¯ã§ãã¾ã›ã‚“" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "無効ãªå‡ºåŠ›ã‚¢ãƒ‰ãƒ¬ã‚¹ã®åŸºæ•° `%c' ãŒæŒ‡å®šã•れã¾ã—ãŸ\n" " -- doxn ã®ã„ãšã‚Œã‹ã‚’指定ã—ã¦ãã ã•ã„" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "文字列ダンプ時ã®åž‹ã¯æŒ‡å®šã§ãã¾ã›ã‚“" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "互æ›ãƒ¢ãƒ¼ãƒ‰ã§ã¯ 1 個ã®ãƒ•ァイルã—ã‹ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "スキップãƒã‚¤ãƒˆæ•°ã¨èª­ã¿è¾¼ã¿ãƒã‚¤ãƒˆæ•°ã®å’ŒãŒå¤§ãã™ãŽã¾ã™" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "警告: å¹… %lu ã¯ç„¡åйãªå€¤ã§ã™ã€‚代ã‚り㫠%d を使用ã—ã¾ã™" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: 無効ãªã‚·ã‚°ãƒŠãƒ«ã§ã™" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "標準入力ãŒé–‰ã˜ã‚‰ã‚Œã¦ã„ã¾ã™" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "FILE ã®å„行ã‹ã‚‰, 一致ã™ã‚‹è¡Œã‚’タブ文字ã§åŒºåˆ‡ã‚Š, é †ã«æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™.\n" "FILE ãŒæŒ‡å®šã•れãªã„, ã‚ã‚‹ã„㯠`-' を指定ã—ãŸå ´åˆã«ã¯æ¨™æº–入力を読ã¿è¾¼ã¿ã¾ã™.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LIST タブ文字ã®ä»£ã‚りã«, LIST ã®æ–‡å­—を区切りã¨ã—ã¦ä½¿ç”¨\n" " -s, --serial 一行毎ã§ã¯ãªã, 一度㫠1 ã¤ã®ãƒ•ァイルを貼付ã‘ã‚‹\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "区切り LIST ãŒã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•れã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§çµ‚了ã—ã¦ã„ã¾ã™: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "無効ã¾ãŸã¯å¯æ¬æ€§ã®ç„¡ã„ファイルåã§ã‚ã‚‹ã‹ã©ã†ã‹è¨ºæ–­ã—ã¾ã™ã€‚\n" "\n" " -p ã»ã¨ã‚“ã©ã® POSIX システムã«åˆã†ã‹ã©ã†ã‹ç¢ºèªã™ã‚‹\n" " -P åå‰ãŒç©ºã§ã‚ã‚‹ã‹ã€å…ˆé ­ã« \"-\" ãŒã‚ã‚‹ã‹ã‚’確èªã™ã‚‹\n" " --portability å…¨ã¦ã® POSIX システムã«åˆã†ã‹ã©ã†ã‹ã‚’確èªã™ã‚‹\n" " (-p -P ã¨ç­‰ä¾¡)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "ファイルå %s ã®è¦ç´ ã®å…ˆé ­ã« `-' ãŒã‚りã¾ã™" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "ファイルå %2$s ã®ä¸­ã«å¯æ¬æ€§ã®ãªã„文字 %1$s ãŒã‚りã¾ã™ã€‚" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "ファイルåãŒç©ºã§ã™" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: ファイルåã®æœ€å¤§é•·ã‚’決ã‚ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "ファイルå %3$s ã®é•·ã• %2$lu ã¯åˆ¶é™å€¤ %1$lu ã‚’è¶…éŽã—ã¦ã„ã¾ã™" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "ファイルåã®è¦ç´  %3$s ã®é•·ã• %2$lu ã¯åˆ¶é™å€¤ %1$lu ã‚’è¶…éŽã—ã¦ã„ã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " (䏿˜Ž)" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr " 䏿˜Ž" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "ログインå: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "実å: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "(䏿˜Ž)\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "ディレクトリ" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "シェル: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "プロジェクト: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "プラン:\n" #: src/pinky.c:405 msgid "Login" msgstr "ログイン" #: src/pinky.c:407 msgid "Name" msgstr "åå‰" #: src/pinky.c:408 msgid " TTY" msgstr "端末" #: src/pinky.c:410 msgid "Idle" msgstr "待機" #: src/pinky.c:411 msgid "When" msgstr "開始時刻" #: src/pinky.c:414 msgid "Where" msgstr "ログイン元" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "使用法: %s [OPTION]... [USER]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l 指定ã•れãŸãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦é•·å½¢å¼ã§å‡ºåŠ›\n" " -b é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚·ã‚§ãƒ«ã‚’çœç•¥\n" " -h é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ—ロジェクトファイルをçœç•¥\n" " -p é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ—ランファイルをçœç•¥\n" " -s 短形å¼ã§å‡ºåŠ› (標準)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f 短形å¼ã§ãƒ˜ãƒƒãƒ€è¡Œã‚’çœç•¥\n" " -w 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ ã‚’çœç•¥ã™ã‚‹\n" " -i 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ ã¨ãƒ­ã‚°ã‚¤ãƒ³å…ƒã‚’çœç•¥\n" " -q 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ , ログイン元ãŠã‚ˆã³å¾…機時間をçœ" "ç•¥\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "è»½é‡ `finger' プログラムã§ã™ã€‚ユーザ情報を表示ã—ã¾ã™ã€‚\n" "utmp ファイル㯠%s ãŒä½¿ç”¨ã•れã¾ã™ã€‚\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "ユーザåãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。 -l を使用ã™ã‚‹å ´åˆã¯æœ€ä½Ž 1 å€‹ã¯æŒ‡å®šã—ãªã‘れã°ã„" "ã‘ã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=FIRST_PAGE[:LAST_PAGE]' 引数ãŒã‚りã¾ã›ã‚“" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "無効ãªãƒšãƒ¼ã‚¸ç¯„囲ã§ã™ %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l PAGE_LENGTH' 無効ãªè¡Œæ•°ã§ã™: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N NUMBER' 無効ãªé–‹å§‹è¡Œç•ªå·ã§ã™: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o MARGIN' 無効ãªè¡Œã‚ªãƒ•セットã§ã™: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w PAGE_WIDTH' ç„¡åŠ¹ãªæ–‡å­—æ•°ã§ã™: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W PAGE_WIDTH' ç„¡åŠ¹ãªæ–‡å­—æ•°ã§ã™: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "並列ã«å°åˆ·ã™ã‚‹ã¨ãã«ã¯åˆ—数を指定ã§ãã¾ã›ã‚“" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "æ®µçµ„ã®æ¨ªæ–¹å‘å°åˆ·(-a)ã¨ä¸¦åˆ—å°åˆ·ã‚’åŒæ™‚指定ã§ãã¾ã›ã‚“." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' ä½™åˆ†ãªæ–‡å­—ãŒä»˜ã„ã¦ã„ã‚‹ã‹å¼•æ•°ã®æ•°å­—ãŒç„¡åйã§ã™: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "ページ幅ãŒç‹­ã™ãŽã¾ã™" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "é–‹å§‹ãƒšãƒ¼ã‚¸ç•ªå· %<PRIuMAX> ã¯ç·ãƒšãƒ¼ã‚¸ç•ªå· %<PRIuMAX> ã‚’è¶…éŽã—ã¦ã„ã¾ã™" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "ページ番å·ãŒæº¢ã‚Œã¾ã—ãŸ" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "%<PRIuMAX> ページ" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "å°å­—ã®ãŸã‚ã«ã€ãƒšãƒ¼ã‚¸ä»˜ã‘や段組を行ãªã„ã¾ã™ã€‚\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " FIRST_PAGE ã‹ã‚‰å°å­—ã‚’é–‹å§‹ã— LAST_PAGE ã¾ã§ã‚’å°å­—ã™ã‚‹\n" " LAST_PAGE ã‚’çœç•¥ã—ãŸå ´åˆ, 最後ã¾ã§å°å­—ã™ã‚‹\n" " -COLUMN, --columns=COLUMN\n" " -a を使用ã—ãªã„é™ã‚Šã€ COLUMN æ®µã®æ®µçµ„を生æˆã—ã€æ®µã®ä¸‹æ–¹" "ã«\n" " å‘ã‘ã¦å‡ºåŠ›ã™ã‚‹ã€‚ページ毎ã«ã‚«ãƒ©ãƒ å†…ã®è¡Œæ•°ã‚’調整ã™ã‚‹\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across å„è¡Œã‚’æ®µçµ„ã®æ¨ªæ–¹å‘ã¸é †ã«å‡ºåŠ›ã™ã‚‹ã€‚-COLUMN オプションã¨å…±" "ã«\n" " 使用ã™ã‚‹\n" " -c, --show-control-chars\n" " 制御文字ã«ãƒãƒƒãƒˆã‚’ã¤ã‘ (例: ^G), ãã®ä»–ã®å°å­—ä¸èƒ½ãªæ–‡å­—\n" " ã«ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ 8 進数ã§è¡¨ç¤ºã™ã‚‹\n" " -d, --double-space\n" " 行間ã«ç©ºè¡Œã‚’挿入ã™ã‚‹\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " ãƒ˜ãƒƒãƒ€ã®æ—¥ä»˜ã®å½¢å¼ã¨ã—㦠FORMAT を用ã„ã‚‹\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " 入力ã•れ㟠CHAR ã‚’å¹… WIDTH ã®ç©ºç™½ã«æ‹¡ã’ã‚‹\n" " CHAR, WIDTH ã®æŒ‡å®šãŒãªã‘れ㰠CHAR 㯠TAB, \n" " WIDTH 㯠8 ã«å¤‰æ›´\n" " -F, -f, --form-feed\n" " 改ページã®éš›ã«æ”¹è¡Œã§ã¯ãªã, 改ページコードを使用\n" " (-f ã¨å…±ã« 3行分, -f を指定ã—ãªã„å ´åˆ 5行分ã®ãƒ˜ãƒƒãƒ€ã‚’出" "力)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=HEADER\n" " ページヘッダã¨ã—ã¦ãƒ•ァイルåã®ä»£ã‚りã«ä¸­å¤®ã«é…ç½®ã—㟠" "HEADER を使用\n" " ã™ã‚‹ã€‚ -h \"\" ã¯ç©ºè¡Œã‚’表示ã™ã‚‹ã€‚ -h\"\" を使用ã—ã¦ã¯ãªã‚‰" "ãªã„\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " スペースをタブ幅 WIDTH (8) ã® CHAR (TAB) ã§ç½®æ›ã™ã‚‹\n" " -J, --join-lines å…¨ã¦ã®è¡Œã‚’ä½µåˆã—ã€-W ã«ã‚ˆã‚‹è¡Œåˆ‡ã‚Šè©°ã‚をオフã€åˆ—é…置を無" "効ã€åŒºåˆ‡ã‚Š\n" " 文字を --sep-string[=STRING] ã«è¨­å®šã™ã‚‹\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=PAGE_LENGTH\n" " 1ページã®è¡Œæ•°ã‚’ PAGE_LENGTH (66) ã«ã™ã‚‹ (デフォルトã¯\n" " 56行ã§ã€ -F を使用ã—ãŸã¨ã㯠63 行)\n" " -m, --merge å…¨ã¦ã®ãƒ•ァイルを並列ã«å°åˆ·ã™ã‚‹ã€‚ 1 ファイル 1 列ã¨ã—ã€\n" " -J オプションã§è¡Œã‚’çµåˆã—ãŸå ´åˆã‚’除ãã€è¡Œã‚’切り詰ã‚る。\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " 行番å·ã‚’付ã‘る。ãã®éš›ã«ã¯ DIGITS (5) æ¡ã¨ã—ã€ãã®å¾Œ\n" " ã« SEP (TAB)を使用ã™ã‚‹ã€‚デフォルトã§ã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®\n" " 1 行目ã‹ã‚‰æ•°ãˆå§‹ã‚ã‚‹\n" " -N, --first-line-number=NUMBER\n" " 表示ã—ãŸæœ€åˆã®ãƒšãƒ¼ã‚¸ã®1行目を NUMBER ã¨ã—ã¦æ•°ãˆå§‹ã‚\n" " ã‚‹ (+FIRST_PAGE ã‚’å‚ç…§)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGIN\n" " å„行ã®ã‚ªãƒ•セットを MARGIN (zero) 個ã®ã‚¹ãƒšãƒ¼ã‚¹ã¨ã™ã‚‹ã€‚\n" " -w ã¾ãŸã¯ -W ã«ã¯å½±éŸ¿ã—ãªã„。 MARGIN 㯠PAGE_WIDTH ã«\n" " 加算ã•れる\n" " -r, --no-file-warnings\n" " ファイルを開ã‘ãªã‹ã£ãŸã¨ãã«è­¦å‘Šã‚’表示ã—ãªã„\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CHAR], --separator[=CHAR]\n" " 列ã®åŒºåˆ‡ã‚Šã«å˜ä¸€ã®æ–‡å­— CHAR を使用ã™ã‚‹ã€‚-w ã‚’ä½µã›ã¦æŒ‡å®šã—" "ãªã„\n" " å ´åˆã€CHAR ã®ãƒ‡ãƒ•ォルト㯠<TAB> 文字ã¨ãªã‚‹ã€‚-w ã‚’ä½µã›ã¦æŒ‡" "定ã—\n" " ãŸå ´åˆã€'文字ãªã—' ã¨ãªã‚‹ã€‚-s[CHAR] ã¯å…¨ã¦ã® 3列オプショ" "ン\n" " (-COLUMN|-a -COLUMN|-m) ã§ -w を指定ã—ã¦ã„ã‚‹å ´åˆã‚’除ã切" "り詰\n" " ã‚ãŒç„¡åйã¨ãªã‚‹\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SSTRING, --sep-string[=STRING]\n" " STRING ã«ã‚ˆã£ã¦åˆ—を区切る\n" " -S ãªã—ã§ -J を指定ã—ãŸå ´åˆ: デフォルトã®åŒºåˆ‡ã‚Šæ–‡å­— " "<TAB>\n" " ãれ以外ã®å ´åˆ: 区切り文字 <space> (-S\" \" ã¨åŒã˜)\n" " 列オプションã«ã¯å½±éŸ¿ã‚’åŠã¼ã•ãªã„\n" " -t, --omit-header ページã®ãƒ˜ãƒƒãƒ€ãƒ¼ã¨ãƒ•ッターを表示ã—ãªã„\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " ヘッダや本文ã®ä½™ç™½ã‚’çœç•¥ã—ã€å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®æ”¹ãƒšãƒ¼ã‚¸ã‚’\n" " 無視ã™ã‚‹\n" " -v, --show-nonprinting\n" " ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥(\\) エスケープã®å…«é€²æ•°è¡¨è¨˜ã‚’使用ã™ã‚‹\n" " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" " 複数列ã®å‡ºåŠ›æ™‚ã®ã¿ãƒšãƒ¼ã‚¸å¹…ã‚’ PAGE_WIDTH (72)\n" " 文字ã«è¨­å®šã™ã‚‹ã€‚ -s[char] ã¯ç„¡åйã«ãªã‚‹\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=PAGE_WIDTH\n" " -J オプションを併ã›ã¦æŒ‡å®šã—ãªã„å ´åˆã€ãƒšãƒ¼ã‚¸å¹…を常㫠\n" " PAGE_WIDTH (72) 文字ã«è¨­å®šã—ã€è¡Œã‚’切り詰ã‚る。-S ã¾\n" " ãŸã¯ -s オプションã«ã¯å½±éŸ¿ã—ãªã„\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "PAGE_LENGTH <= 10 ã®å ´åˆã¯ -t ãŒæš—黙的ã«åˆ©ç”¨ã•れã¾ã™ã€‚FILE を指定ã—ãªã„ã‹ã€ " "FILE\n" "㌠- ã®æ™‚ã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "使用法: %s [OPTION]... [VARIABLE]...\n" "指定ã—ãŸç’°å¢ƒå¤‰æ•° VARIABLE ã®å€¤ã‚’表示ã—ã¾ã™ã€‚VARIABLE を指定ã—ãªã„å ´åˆã¯å…¨ã¦" "ã®\n" "環境変数ã®åå‰ã¨å€¤ã‚’表示ã—ã¾ã™ã€‚\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null å‡ºåŠ›è¡Œã®æœ€å¾Œã«æ”¹è¡Œæ–‡å­—ã§ã¯ãªã NULL 文字を付加ã™ã‚‹\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "警告: %s: 文字定数ã®å¾Œã®æ–‡å­—ãŒç„¡è¦–ã•れã¾ã—ãŸ" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s FORMAT [ARGUMENT]...\n" "ã¾ãŸã¯: %s OPTION\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "ARGUMENT ã‚’ FORMAT ã«å¾“ã£ã¦è¡¨ç¤ºã™ã‚‹ã‹ OPTION ã«å¾“ã£ã¦å®Ÿè¡Œã—ã¾ã™:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT ã«ã‚ˆã£ã¦ C 言語㮠printf ã®ã‚ˆã†ã«å‡ºåЛ形å¼ã‚’制御ã—ã¾ã™ã€‚解釈ã•れる\n" "æ–‡å­—åˆ—ã¯æ¬¡ã®é€šã‚Šã§ã™: \n" "\n" " \\\" ダブルクォーテーション\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN 八進数ã§è¡¨ç¾ã—ãŸãƒã‚¤ãƒˆ NNN (æ•°å­— 1 ã‹ã‚‰ 3 文字)\n" " \\xHH å六進数ã§è¡¨ç¾ã—ãŸãƒã‚¤ãƒˆ HH (英数字 1, 2 文字)\n" " \\uHHHH å六進数ã§è¡¨ç¾ã—㟠Unicode (ISO/IEC 10646) スカラー値 HHHH (4æ–‡" "å­—)\n" " \\UHHHHHHHH å六進数ã§è¡¨ç¾ã—㟠Unicode スカラー値 HHHHHHHH (8 文字)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% å˜ä¸€ã®æ–‡å­— %\n" " %b ARGUMENT 㯠`\\' ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ãŒè§£é‡ˆã•れる文字列ã§ã™ã€‚\n" " ãŸã ã—八進数ã¯ä¾‹å¤–ã§ \\0 ã¾ãŸã¯ \\0NNN ã®æ›¸å¼ã«ãªã‚Šã¾ã™ã€‚\n" "\n" "ã¾ãŸ diouxXfeEgGcs ã®ã„ãšã‚Œã‹ã§çµ‚了ã™ã‚‹å…¨ã¦ã® C æ›¸å¼æŒ‡å®šã«ã‚ˆã‚Š\n" "ARGUMENT ã¯æœ€åˆã«é©åˆ‡ãªåž‹ã«å¤‰æ›ã•れã¾ã™ã€‚å¯å¤‰å¹…も使用ã§ãã¾ã™ã€‚\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: 数値ã«ã‚ˆã‚‹æŒ‡å®šã‚’ã—ã¦ä¸‹ã•ã„" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: 値ã¯å®Œå…¨ã«ã¯å¤‰æ›ã•れã¦ã„ã¾ã›ã‚“" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "エスケープ中ã«16é€²æ•°ã®æ•°å€¤ãŒã‚りã¾ã›ã‚“" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "\\%c%0*x: 無効ãªãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰æ–‡å­—åã§ã™" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "無効ãªãƒ•ィールド幅ã§ã™: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "無効ãªç²¾åº¦ã§ã™: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: 無効ãªå¤‰æ›æŒ‡å®šã§ã™" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "警告: %s ã§å§‹ã¾ã‚‹ä½™è¨ˆãªå¼•æ•°ã¯ç„¡è¦–ã•れã¾ã™" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (æ­£è¦è¡¨ç¾ %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "使用法: %s [OPTION]... [INPUT]... (-G ãªã—)\n" "ã¾ãŸã¯: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "入力ファイルã«å«ã¾ã‚Œã‚‹å˜èªžã®ç´¢å¼•ã‚’ä¸¦ã¹æ›¿ãˆã€å‰å¾Œã‚’å«ã‚ã¦å‡ºåŠ›ã—ã¾ã™ã€‚\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference 自動生æˆã—ãŸå‚照文を出力ã™ã‚‹\n" " -G, --traditional System V ã® `ptx' ã«ã‚ˆã‚Šè¿‘ã„動作を行ã†\n" " -F, --flag-truncation=STRING 行ã®åˆ‡ã‚Šè©°ã‚ã®ç›®å°ã« STRING を使用ã™ã‚‹\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRING `xx' ã®ä»£ã‚りã«ä½¿ã†ãƒžã‚¯ãƒ­åを指定\n" " -O, --format=roff roff 命令ã§å‡ºåŠ›ã‚’ç”Ÿæˆ\n" " -R, --right-side-refs å‚照文をå³ã«. ãŸã ã— -w ã®å‹˜å®šã«ã¯å…¥ã‚‰ãªã„\n" " -S, --sentence-regexp=REGEXP 行末ã¾ãŸã¯æ–‡æœ«ã‚’表ç¾ã™ã‚‹æ­£è¦è¡¨ç¾ã‚’指定\n" " -T, --format=tex TeX 命令ã§å‡ºåŠ›ã‚’ç”Ÿæˆ\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP キーワードã«å¯¾ã—㦠REGEXP ã§ä¸€è‡´ã‚’調ã¹ã‚‹\n" " -b, --break-file=FILE ã“ã® FILE 中ã‹ã‚‰å˜èªžã‚’分割ã™ã‚‹æ–‡å­—ã‚’å–å¾—\n" " -f, --ignore-case å°æ–‡å­—を大文字ã«å¤‰ãˆã¦ä¸¦ã³æ›¿ãˆ\n" " -g, --gap-size=NUMBER 出力ã®ãƒ•ィールド間ã®åˆ—中ã®éš™é–“ã®å¤§ãã•\n" " -i, --ignore-file=FILE FILE ã‹ã‚‰ç„¡è¦–ã™ã‚‹å˜èªžä¸€è¦§ã‚’読ã¿è¾¼ã‚€\n" " -o, --only-file=FILE ã“ã® FILE ã‹ã‚‰å˜èªžä¸€è¦§ã®ã¿ã‚’読ã¿è¾¼ã‚€\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references å„行ã®ç¬¬1フィールドをå‚ç…§æ–‡ã¨è¦‹ãªã™\n" " -t, --typeset-mode - 未実装 -\n" " -w, --width=NUMBER 列ã®å‡ºåŠ›å¹…ã‚’æŒ‡å®š. å‚照文を除ã„ã¦æ•°ãˆã‚‹\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "FILE を指定ã—ãªã„ã€ã¾ãŸã¯ FILE ㌠- ã®å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "無効ãªéš™é–“ã®å¹…ã§ã™: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "ç¾åœ¨ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ•ルパスåを表示ã—ã¾ã™ã€‚\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical 環境ã‹ã‚‰ PWD ã‚’å–å¾—ã—ã¦ä½¿ç”¨ã™ã‚‹ã€‚シンボリックリンクã¯\n" " ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹\n" " -P, --physical å…¨ã¦ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "%s ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’変更 (chdir) ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "%s ã®å±žæ€§æƒ…報をå–å¾— (stat) ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "%s ã®ä¸­ã« i ノードãŒä¸€è‡´ã—ã¦ã„るディレクトリãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "éžã‚ªãƒ—ション引数を無視ã—ã¾ã™" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "使用法: %s [OPTION]... FILE...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "シンボリックリンクã®å€¤ã¾ãŸã¯æ­£è¦åŒ–ã•れãŸãƒ•ァイルåを表示ã—ã¾ã™ã€‚\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize 与ãˆã‚‰ã‚ŒãŸåå‰ã®è¦ç´ ä¸­ã«å­˜åœ¨ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯" "リンクを\n" " å†å¸°çš„ã«å…¨ã¦è¾¿ã‚‹ã€‚最後ã®è¦ç´ ä»¥å¤–ã¯å­˜åœ¨ã—ãªã‘" "れã°ã„ã‘\n" " ãªã„\n" " -e, --canonicalize-existing 与ãˆã‚‰ã‚ŒãŸåå‰ã®è¦ç´ ä¸­ã«å­˜åœ¨ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯" "リンクを\n" " å†å¸°çš„ã«å…¨ã¦è¾¿ã‚‹ã€‚最後ã®è¦ç´ ã‚‚å«ã‚ã¦å…¨ã¦å­˜åœ¨" "ã—ãªã‘れ\n" " ã°ã„ã‘ãªã„\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing 与ãˆã‚‰ã‚ŒãŸåå‰ã®è¦ç´ ä¸­ã«å­˜åœ¨ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯" "リンクを\n" " å†å¸°çš„ã«å…¨ã¦è¾¿ã‚‹ã€‚è¦ç´ ãŒå­˜åœ¨ã—ãªãã¦ã‚‚よã„\n" " -n, --no-newline æœ€å¾Œã«æ”¹è¡Œæ–‡å­—を出力ã—ãªã„\n" " -q, --quiet,\n" " -s, --silent ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸å‡ºåŠ›ã‚’æŠ‘æ­¢ã™ã‚‹\n" " -v, --verbose エラーメッセージを報告ã™ã‚‹\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "éžã‚ªãƒ—ション引数を無視ã—ã¾ã™" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: 書ãè¾¼ã¿ä¿è­·ã•れãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª %s é…下を削除ã—ã¾ã™ã‹? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: ディレクトリ %s é…下ã«å…¥ã‚Šã¾ã™ã‹? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: 書ãè¾¼ã¿ä¿è­·ã•れãŸãƒ•ァイル %s %s を削除ã—ã¾ã™ã‹?" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: %s %s を削除ã—ã¾ã™ã‹? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "ディレクトリを削除ã—ã¾ã—ãŸ: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "ディレクトリを削除ã§ãã¾ã›ã‚“: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "ç•°ãªã‚‹ãƒ‡ãƒã‚¤ã‚¹ä¸Šã«ã‚ã‚‹ãŸã‚ %s をスキップã—ã¾ã™" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "横断失敗: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "予期ã—ãªã„エラー: fts_info=%d: %s\n" "%s ã«å ±å‘Šã—ã¦ãã ã•ã„" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "ファイル %3$s を削除ã™ã‚‹ãŸã‚ã«ã¯ `%1$s ./%2$s' を行ã£ã¦ãã ã•ã„。\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "FILE を削除 (unlink) ã—ã¾ã™ã€‚\n" "\n" " -f, --force 存在ã—ãªã„ファイルを無視ã™ã‚‹ã€‚確èªã‚’行ã‚ãªã„\n" " -i 削除を行ã†ã¨ãã«ç¢ºèªã‚’行ã†\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I 3 個を超ãˆã‚‹ãƒ•ァイルを削除ã™ã‚‹ã‹ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°" "çš„ã«\n" " 削除ã™ã‚‹å ´åˆã¯ç¢ºèªã‚’ã™ã‚‹ã€‚多ãã®é–“é•ã„を防ãŽãªãŒã‚‰" "ã‚‚\n" " -i よりã¯ç¢ºèªå›žæ•°ãŒå°‘ãªããªã‚‹\n" " --interactive[=WHEN] WHEN ã«æŒ‡å®šã—ãŸæ™‚ã«ç¢ºèªã‚’行ã†ã€‚WHEN ã¯æ¬¡ã®é€šã‚Š:\n" " never, once (-I) ã¾ãŸã¯ always (-i)。WHEN ã‚’çœç•¥" "ã—ãŸ\n" " å ´åˆã¯ always ã¨ã¿ãªã™\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system 階層をå†å¸°çš„ã«å‰Šé™¤ã™ã‚‹ã¨ãã«ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã¨\n" " ç•°ãªã£ãŸãƒ•ァイルシステムã«ã‚るディレクトリをス\n" " キップã™ã‚‹\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root `/' を特別ãªã‚‚ã®ã¨ã—ã¦æ‰±ã‚ãªã„\n" " --preserve-root `/' を削除ã—ãªã„ (デフォルト)\n" " -r, -R, --recursive ディレクトリã¨ãã®ä¸­èº«ã‚’å†å¸°çš„ã«å‰Šé™¤ã™ã‚‹\n" " -v, --verbose 何を行ã£ã¦ã„ã‚‹ã‹ã‚’表示ã™ã‚‹\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "デフォルトã§ã¯ rm ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ã¾ã›ã‚“。ディレクトリをãã®ä¸­èº«å…¨ã¦" "ã‚’\n" "å«ã‚ã¦å‰Šé™¤ã™ã‚‹ã¨ãã«ã¯ --recursive (-r ã¾ãŸã¯ -R) オプションを使用ã—ã¦ãã ã•" "ã„。\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "`-' ã§å§‹ã¾ã‚‹åå‰ã®ãƒ•ァイルを削除ã™ã‚‹ã«ã¯ã€ä¾‹ãˆã° `-foo' ã¨ã„ã†ãƒ•ァイルãªã‚‰\n" "ã“ã†ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã‚’使ã„ã¾ã—ょã†\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "ファイルã®å‰Šé™¤ã« rm を使ã£ãŸå ´åˆã€å分ãªå°‚é–€æ€§ã¨æ™‚é–“ãŒã‚れã°ã€ãƒ•ァイル内容\n" "ã®ä¸€éƒ¨ã‚’復元ã§ãã‚‹ã‹ã‚‚ã—れãªã„ã¨ã„ã†ã“ã¨ã«ã¯ç•™æ„ã—ã¦ãã ã•ã„。もã—ファイル\n" "内容を本当ã«å¾©å…ƒä¸å¯èƒ½ã«ã™ã‚‹ä¿è¨¼ã‚’å¾—ãŸã‘れã°ã€shred ã®åˆ©ç”¨ã‚’考ãˆã¦ãã ã•" "ã„。\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: å…¨ã¦ã®å¼•æ•°ã‚’å†å¸°çš„ã«å‰Šé™¤ã—ã¾ã™ã‹? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: å…¨ã¦ã®å¼•数を削除ã—ã¾ã™ã‹? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "ディレクトリ %s を削除ã—ã¦ã„ã¾ã™" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "ディレクトリ %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "中身ãŒç©ºã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª DIRECTORY を削除ã—ã¾ã™ã€‚\n" "\n" " --ignore-fail-on-non-empty\n" " ディレクトリãŒç©ºã§ãªã„ãŸã‚削除ã«å¤±æ•—ã—ãŸå ´åˆã€ãã®ã‚¨ãƒ©ãƒ¼\n" " ã ã‘を無視ã™ã‚‹\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents DIRECTORY ã¨ãã®è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã™ã‚‹ã€‚例ã¨ã—㦠\n" " `rmdir -p a/b/c' 㯠`rmdir a/b/c a/b a' ã¨åŒæ§˜ã«ãªã‚‹\n" " -v, --verbose ディレクトリを処ç†ã™ã‚‹ã”ã¨ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "%s を削除ã§ãã¾ã›ã‚“" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "使用法: %s CONTEXT COMMAND [args]\n" "ã¾ãŸã¯: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "プログラムを異ãªã‚‹ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§å®Ÿè¡Œã—ã¾ã™ã€‚\n" "CONTEXT ã‚‚ COMMAND も指定ã—ãªã„å ´åˆã¯ç¾åœ¨ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’表示\n" "ã—ã¾ã™ã€‚\n" "\n" " CONTEXT 完全ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ\n" " -c, --compute 修正å‰ã«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆç§»è¡Œå‡¦ç†ã‚’計算ã™ã‚‹\n" " -t, --type=TYPE タイプ (親ã®ãƒ­ãƒ¼ãƒ«ã¨åŒã˜ã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹)\n" " -u, --user=USER ユーザ識別情報\n" " -r, --role=ROLE ロール\n" " -l, --range=RANGE レãƒãƒ¬ãƒƒã‚¸\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "複数ã®ãƒ­ãƒ¼ãƒ«" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "複数ã®ã‚¿ã‚¤ãƒ—" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "複数ã®ãƒ¦ãƒ¼ã‚¶" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "複数ã®ãƒ¬ãƒãƒ¬ãƒƒã‚¸" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "ç¾åœ¨ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "-c, -t, -u, -l, -r, ã¾ãŸã¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "ã‚³ãƒžãƒ³ãƒ‰ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s 㯠SELinux kernel ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "æ–°ã—ã„コンテキストを計算ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "æ–°ã—ã„ユーザ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "æ–°ã—ã„タイプ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "æ–°ã—ã„レンジ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "æ–°ã—ã„ロール %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "セキュリティコンテキスト %s を設定ã§ãã¾ã›ã‚“" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "使用法: %s [OPTION]... LAST\n" "ã¾ãŸã¯: %s [OPTION]... FIRST LAST\n" "ã¾ãŸã¯: %s [OPTION]... FIRST INCREMENT LAST\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "FIRST ã‹ã‚‰ LAST ã¾ã§ã®æ•°å­—ã‚’ INCREMENT é–“éš”ã§è¡¨ç¤ºã—ã¾ã™ã€‚\n" "\n" " -f, --format=FORMAT printf å½¢å¼ã® FORMAT ã§æµ®å‹•å°æ•°ç‚¹ã‚’表示ã™ã‚‹\n" " -s, --separator=STRING æ•°å­—ã®åŒºåˆ‡ã‚Šã« STRING を使用ã™ã‚‹ (デフォルト: " "\\n)\n" " -w, --equal-width 先頭を 0 ã§åŸ‹ã‚ã¦å¹…ãŒç­‰ã—ããªã‚‹ã‚ˆã†ã«ã™ã‚‹\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "FIRST ã‹ INCREMENT ã‚’çœç•¥ã—ãŸå ´åˆã€ãƒ‡ãƒ•ォルトã¨ã—㦠1 ãŒè¨­å®šã•れã¾ã™ã€‚よã£" "ã¦\n" "INCREMENT ã‚’çœç•¥ã—ãŸå ´åˆã¯ LAST ㌠FIRST よりå°ã•ã„å ´åˆã§ã‚‚デフォルト㌠1ã«\n" "ãªã‚Šã¾ã™ã€‚FIRST〠INCREMENT ãŠã‚ˆã³ LAST ã¯æµ®å‹•å°æ•°ã®å€¤ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚\n" "FIRST ㌠LAST よりå°ã•ã„å ´åˆã€é€šå¸¸ INCREMENT ã‚’æ­£ã«ã—ã¾ã™ã€‚ã¾ãŸã€\n" "FIRST ㌠LAST より大ãã„å ´åˆã€é€šå¸¸ INCREMENT を府ã«ã—ã¾ã™ã€‚\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT 㯠`double' を引数ã¨ã—ã¦è¡¨ç¤ºã™ã‚‹ã®ã«é©ã—ãŸã‚‚ã®ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“。\n" "FIRSTã€INCREMENT ãŠã‚ˆã³ LAST ã®å…¨ã¦ãŒå›ºå®šå進尿•°ã§ ã€æœ€å¤§ç²¾åº¦ãŒ PREC ã®å ´" "åˆã€\n" "デフォルト㯠%.PRECf ã«ãªã‚Šã¾ã™ã€‚ãれ以外㯠%g ã«ãªã‚Šã¾ã™ã€‚\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "å¼•æ•°ã®æµ®å‹•å°æ•°ãŒç„¡åйã§ã™: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "FORMAT %s ã«ä¸æ˜Žãª %%%c 指定ãŒã‚りã¾ã™" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "ç­‰ã—ã„å¹…ã®æ–‡å­—列を表示ã™ã‚‹ã¨ãã« FORMAT 文字列を指定ã§ããªã„ã‹ã‚‚ã—れã¾ã›ã‚“" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "使用法: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" "ã¾ãŸã¯: %s LONG-OPTION\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "è£œåŠ©ã‚°ãƒ«ãƒ¼ãƒ—ã®æ¨©é™ã‚’ç„¡ãã—ã€ãƒ¦ãƒ¼ã‚¶ID ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ— ID を指定ã—㟠USER (æ•°" "値\n" "ã§ã®ID ã¾ãŸã¯ãƒ¦ãƒ¼ã‚¶å) ã®ã‚‚ã®ã¨ã—㦠COMMAND ã‚’ 指定ã—ãŸå¼•æ•° ARGUMENT ã§å®Ÿè¡Œ\n" "ã—ã¾ã™ã€‚終了ステータスã¯ãƒ¦ãƒ¼ã‚¶IDãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—IDãŒä½¿ç”¨ã§ããªã„å ´åˆã¯ 111 ã§" "ã™ã€‚\n" "ãれ以外ã®å ´åˆã€çµ‚了ステータス㯠COMMAND ã®çµ‚了ステータスã«ãªã‚Šã¾ã™ã€‚\n" "ã“ã®ãƒ—ログラム㯠root (ユーザID ㌠0) ã§å®Ÿè¡Œã—ãŸå ´åˆã«ã®ã¿å½¹ã«ç«‹ã¡ã¾ã™ã€‚\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] 主グループ ID を数値 GID ã«è¨­å®šã™ã‚‹ã€‚追加グループ ID ã‚’\n" " GID1, ... ã«è¨­å®šã™ã‚‹ (指定ã•れã¦ã„ãŸå ´åˆ)\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "䏿˜Žãªãƒ¦ãƒ¼ã‚¶ ID ã§ã™: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "ユーザ ID %s を使用ã™ã‚‹å ´åˆã«ã¯ -g も使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "追加グループã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "グループ ID ã‚’ %lu ã«è¨­å®šã§ãã¾ã›ã‚“" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "ユーザ ID ã‚’ %lu ã«è¨­å®šã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "指定ã•れãŸãƒ•ァイルã«å¯¾ã—ã¦ä¸Šæ›¸ãを繰り返ã—ã€éžå¸¸ã«é«˜ä¾¡ãªæ©Ÿæ¢°ã§ã•ãˆã‚‚\n" "データ復元ã®ç‚ºã®èª¿æŸ»ã‚’行ã†äº‹ãŒéžå¸¸ã«å›°é›£ã¨ãªã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force 書ãè¾¼ã¿ãŒã§ãるよã†ã«å¿…è¦ã«å¿œã˜ã¦ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’変更ã™ã‚‹\n" " -n, --iterations=N N 回上書ãを繰り返㙠(デフォルト: %d 回)\n" " --random-source=FILE ランダムãƒã‚¤ãƒˆã®ã‚½ãƒ¼ã‚¹ã‚’ FILE ã«ã™ã‚‹\n" " -s, --size=N N ã§æŒ‡å®šã—ãŸãƒã‚¤ãƒˆæ•° shred を行ㆠ(接尾辞ã¨ã—㦠K, M, G ãª" "ã©\n" " ãŒä½¿ç”¨å¯èƒ½)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove 上書ã後ã«ãƒ•ァイルを切り詰ã‚ã¨å‰Šé™¤ã‚’行ã†\n" " -v, --verbose 進行状æ³ã‚’表示ã™ã‚‹\n" " -x, --exact ブロックを満ãŸã™ã‚ˆã†ã«ãƒ•ァイルサイズを切り上ã’ãªã„。通常\n" " ファイル以外ã§ã¯ã“れãŒãƒ‡ãƒ•ォルトã®å‹•作\n" " -z, --zero shred を行ã£ãŸã“ã¨ã‚’éš ã™ãŸã‚ã«æœ€å¾Œã« 0 ã§ä¸Šæ›¸ãã™ã‚‹\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "FILE ㌠- ã®å ´åˆã€æ¨™æº–出力を shred ã—ã¾ã™ã€‚\n" "\n" "--remove (-u) ãŒæŒ‡å®šã•れãŸã¨ãã«ã¯ FILE を削除ã—ã¾ã™ã€‚/dev/hda ã®ã‚ˆã†ãª\n" "デãƒã‚¤ã‚¹ãƒ•ァイルをæ“作ã™ã‚‹ã®ãŒä¸€èˆ¬çš„ã§ã‚りã€ãれらã®ãƒ•ァイルã¯é€šå¸¸å‰Šé™¤ã™\n" "ã‚‹ã¹ãã§ã¯ãªã„ãŸã‚ã€ãƒ‡ãƒ•ォルトã§ã¯ãƒ•ァイルを削除ã—ã¾ã›ã‚“。通常ファイルを\n" "æ“作ã™ã‚‹æ™‚ã¯ã€ã»ã¨ã‚“ã©ã®äººãŒ --remove オプションを使用ã—ã¾ã™ã€‚\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "警告: shred ã¯éžå¸¸ã«é‡è¦ãªä»®å®šã«åŸºã¥ã„ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。\n" "ファイルシステムã¯ãƒ‡ãƒ¼ã‚¿ãŒå­˜åœ¨ã™ã‚‹å ´æ‰€ã«ä¸Šæ›¸ãã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚ã“れ\n" "ã¯ä¼çµ±çš„ãªæ–¹æ³•ã§ã™ãŒã€è¿‘年設計ã•れãŸå¤šãã®ãƒ•ァイルシステムã§ã¯ã“ã®ä»®å®š\n" "ã¯æº€ãŸã•れã¾ã›ã‚“ã€‚ä¸‹è¨˜ã«æŒ™ã’ã‚‹ã®ã¯ shred ãŒã‚ã¾ã‚ŠåŠ¹æžœçš„ã§ã¯ç„¡ã„ã‹ã€å…¨ã¦\n" "ã®ãƒ¢ãƒ¼ãƒ‰ã§ shred ãŒåŠ¹æžœçš„ã§ã‚ã‚‹ã“ã¨ã‚’ä¿è¨¼ã§ããªã„ファイルシステムã®ä¾‹ã§ã™ã€‚\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* ログ構造ã¾ãŸã¯ã‚¸ãƒ£ãƒ¼ãƒŠãƒªãƒ³ã‚°ãƒ•ァイルシステム。AIX ã‚„ Solaris (ãŠã‚ˆã³ JFS,\n" " ReiserFS, XFS, Ext3 ãªã©) ã§æä¾›ã•れã¦ã„ã‚‹\n" "* 冗長データを書ãè¾¼ã¿ã€æ•°å›žã®æ›¸ãè¾¼ã¿å¤±æ•—ãŒç™ºç”Ÿã—ã¦ã‚‚使用を続ã‘られるファイ" "ル\n" " システム。RAID ベースã®ãƒ•ァイルシステムãªã©\n" "* Network Appliance ã® NFS サーãƒãªã©ã‚¹ãƒŠãƒƒãƒ—ショットを作æˆã™ã‚‹ãƒ•ァイルシステ" "ム\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* 一時領域ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’作æˆã™ã‚‹ãƒ•ァイルシステム。 NFS ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 \n" " クライアントãªã©\n" "\n" "* 圧縮ファイルシステム\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "ext3 ファイルシステムã®å ´åˆã¯ã€ä¸Šè¨˜ã®åˆ¶é™äº‹é … (ãŠã‚ˆã³ shred ã®åŠ¹æžœãŒé™å®šçš„\n" "ã«ãªã£ã¦ã—ã¾ã†ã“ã¨) 㯠data=journal ãƒ¢ãƒ¼ãƒ‰ã®æ™‚ã®ã¿ç™ºç”Ÿã—ã¾ã™ã€‚ã“ã®ã¨ãã¯\n" "メタデータã«åŠ ãˆã¦ãƒ•ァイルデータもジャーナルãŒè¡Œã‚れã¾ã™ã€‚ data=ordered\n" "(デフォルト) ãŠã‚ˆã³ data=writeback モードã®å ´åˆã€shred ã¯é€šå¸¸é€šã‚Šå‹•作ã—ã¾" "ã™ã€‚\n" "ext3 ã®ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ãƒ¢ãƒ¼ãƒ‰ã¯ mount ã®ã‚ªãƒ—ション㫠data=... オプションを与ãˆã‚‹\n" "ã“ã¨ã«ã‚ˆã£ã¦å¤‰æ›´ã•れã¾ã™ã€‚ファイルシステムã®ã‚ªãƒ—ション㯠/etc/fstab ファイ" "ル\n" "ã«è¨˜è¿°ã•れã¾ã™ã€‚詳細ã¯ãƒžãƒ‹ãƒ¥ã‚¢ãƒ« (man mount) ã«è¨˜è¿°ã•れã¦ã„ã¾ã™ã€‚\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "加ãˆã¦ã€ãƒ•ァイルシステムã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŠã‚ˆã³ãƒªãƒ¢ãƒ¼ãƒˆãƒŸãƒ©ãƒ¼ã«å‰Šé™¤ã§ããªã„\n" "ファイルã®ã‚³ãƒ”ーãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ã“れã«ã‚ˆã‚Š shred ã—ãŸãƒ•ァイル\n" "ãŒå¾Œã§å¾©å…ƒã§ãã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‡ãƒ¼ã‚¿åŒæœŸ (fdatasync) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«åŒæœŸ (fsync) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: å·»ãæˆ»ã—ã§ãã¾ã›ã‚“" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: çµŒéŽ %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: オフセット %s ã§æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: ファイル走査 (lseek) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: ファイルãŒå¤§ãã™ãŽã¾ã™" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: çµŒéŽ %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: çµŒéŽ %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: ファイル状態å–å¾— (fstat) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: 無効ãªãƒ•ァイルã®ç¨®é¡žã§ã™" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: ファイルãŒè² ã®å¤§ãã•ã«ãªã£ã¦ã„ã¾ã™" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«åˆ‡ã‚Šè©°ã‚æ™‚ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­æ“作 (fcntl) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: 追加用ファイル記述å­ã«ã¯ shred ã§ãã¾ã›ã‚“" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: 削除ã—ã¦ã„ã¾ã™" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: %s ã«åå‰ãŒå¤‰æ›´ã•れã¾ã—ãŸ" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: 削除ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: 削除ã—ã¾ã—ãŸ" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: 書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: 無効ãªç¹°ã‚Šè¿”ã—回数ã§ã™" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "複数ã®ãƒ©ãƒ³ãƒ€ãƒ ã‚½ãƒ¼ã‚¹ãŒæŒ‡å®šã•れã¾ã—ãŸ" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: 無効ãªãƒ•ァイルサイズã§ã™" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "使用法: %s [OPTION]... [FILE]\n" "ã¾ãŸã¯: %s -e [OPTION]... [ARG]...\n" "ã¾ãŸã¯: %s -i LO-HI [OPTION]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "入力行をランダムã«ä¸¦ã¹æ›¿ãˆã¦æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo å„ ARG を入力行ã¨ã—ã¦æ‰±ã†\n" " -i, --input-range=LO-HI LO ã‹ã‚‰ HI ã¾ã§ã®å„数を入力行ã¨ã—ã¦æ‰±ã†\n" " -n, --head-count=COUNT 最大 COUNT 行ã¾ã§å‡ºåŠ›ã™ã‚‹\n" " -o, --output=FILE çµæžœã‚’ (標準出力ã§ã¯ãªã) FILE ã«æ›¸ã込む\n" " --random-source=FILE ランダムãƒã‚¤ãƒˆã®ã‚½ãƒ¼ã‚¹ã‚’ FILE ã«ã™ã‚‹\n" " -z, --zero-terminated 行末を改行文字ã§ã¯ãªã NULL 文字ã«ã™ã‚‹\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "複数㮠-i ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "%s: 無効ãªå…¥åŠ›ç¯„å›²ã§ã™" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "%s: 無効ãªè¡Œæ•°ã§ã™" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "複数ã®å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "-e 㨠-i ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "使用法: %s NUMBER[SUFFIX]...\n" "ã¾ãŸã¯: %s OPTION\n" "NUMBER ç§’é–“åœæ­¢ã—ã¾ã™ã€‚ SUFFIX ã«ã¯ `s' ç§’ (デフォルト)〠`m' 分〠`h' 時ã€\n" "`d' 日を指定ã—ã¾ã™ã€‚多ãã®å®Ÿè£…ã¨ç•°ãªã‚Š NUMBER ã«ã¯æ•´æ•°ã ã‘ã§ãªãã€ä»»æ„ã®æµ®" "å‹•\n" "å°æ•°ã‚’指定ã§ãã¾ã™ã€‚2個以上ã®å¼•数を与ãˆãŸå ´åˆã€æŒ‡å®šã—ãŸå€¤ã®åˆè¨ˆã¶ã‚“ã®æ™‚é–“\n" "åœæ­¢ã—ã¾ã™ã€‚\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "%s: ç„¡åŠ¹ãªæ™‚é–“é–“éš”ã§ã™" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "å®Ÿæ™‚é–“ã®æ™‚計を読ã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "ファイルã®å†…容をソートã—ã¦æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚入力ファイルãŒè¤‡æ•°ã®å ´" "åˆã€\n" "連çµã—ã¦å‡ºåŠ›ã—ã¾ã™ã€‚\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "ä¸¦ã³æ›¿ãˆã‚ªãƒ—ション:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks 先頭ã®ç©ºç™½ã‚’無視ã™ã‚‹\n" " -d, --dictionary-order 空白ãŠã‚ˆã³è‹±æ•°å­—ã®ã¿å«ã¾ã‚Œã¦ã„ã‚‹ã¨ä»®å®šã™ã‚‹\n" " -f, --ignore-case å¤§æ–‡å­—ãƒ»å°æ–‡å­—を区別ã—ãªã„\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort ä¸€èˆ¬çš„ãªæ•°å€¤ã¨ã—ã¦æ¯”較を行ã†\n" " -i, --ignore-nonprinting 表示å¯èƒ½ãªæ–‡å­—ã®ã¿æ¯”較を行ã†\n" " -M, --month-sort 月åã§ã‚½ãƒ¼ãƒˆã™ã‚‹ (䏿˜Ž) < `JAN' < ... < `DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort 人間ãŒèª­ã‚€ã“ã¨ãŒã§ãã‚‹å½¢å¼ã®æ•°å€¤ã‚’比較ã™ã‚‹ " "(例: 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort 文字列を数値ã¨ã¿ãªã—ã¦æ¯”較ã™ã‚‹\n" " -R, --random-sort キーã®ãƒ©ãƒ³ãƒ€ãƒ ãƒãƒƒã‚·ãƒ¥é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹\n" " --random-source=FILE ランダムソースを FILE ã«è¨­å®šã™ã‚‹\n" " -r, --reverse 逆順ã«ã‚½ãƒ¼ãƒˆã‚’行ã†\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=WORD WORD ã«å¿œã˜ã¦ã‚½ãƒ¼ãƒˆã™ã‚‹ã€‚WORD ã®å€™è£œã¯æ¬¡ã®é€š" "り:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort 自然㪠(ãƒãƒ¼ã‚¸ãƒ§ãƒ³) æ•°å­—é †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "ãã®ã»ã‹ã®ã‚ªãƒ—ション:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE ä¸€åº¦ã«æœ€å¤§ NMERGE 行ã€ä½µåˆã‚’行ã†ã€‚ãれ以上ã®å ´" "åˆ\n" " ã¯ä¸€æ™‚ファイルãŒä½¿ç”¨ã•れる\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first 入力ãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹ã€‚" "ソート\n" " ã¯è¡Œã‚ãªã„\n" " -C, --check=quiet, --check=silent -c ã¨åŒæ§˜ã ãŒã€æ­£ã—ãソートã•れã¦ã„ãªã„" "最åˆ\n" " ã®è¡Œã‚’出力ã—ãªã„\n" " --compress-program=PROG PROG を使用ã—ã¦ä¸€æ™‚ファイルを圧縮ã—ã€PROG -d " "ã‚’\n" " 使用ã—ã¦å±•é–‹ã™ã‚‹\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug ソートã«ä½¿ç”¨ã•れã¦ã„る行ã®ä¸€éƒ¨ã«æ³¨é‡ˆã‚’ã¤ã‘ã¦ã€ä¸" "確ã‹ãª\n" " 使用方法ã«ã¤ã„ã¦æ¨™æº–エラー出力ã«è­¦å‘Šã‚’表示ã™" "ã‚‹\n" " --files0-from=F ファイル F ã«å«ã¾ã‚ŒãŸ NULL 文字ã§åŒºåˆ‡ã‚‰ã‚ŒãŸæ–‡å­—列" "ã‚’\n" " ファイルåã¨ã—ã¦æ‰±ã„ã€ãれらã®ãƒ•ァイルã®ä¸­èº«ã‚’å…¥" "力行\n" " ã¨ã—ã¦èª­ã¿è¾¼ã‚€ã€‚ファイル F ã« - を指定ã—ãŸæ™‚ã¯ã€" "ファ\n" " イルåを標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=POS1[,POS2] ソートã®ã‚­ãƒ¼ã®é–‹å§‹ã‚’ POS1 (デフォルト㯠1)ã€çµ‚了" "ã‚’ POS2 (デ\n" " フォルトã¯è¡Œæœ«) ã«è¨­å®šã™ã‚‹ã€‚ POS ã®æ§‹æ–‡ã¯ä¸‹è¨˜ã‚’å‚" "ç…§\n" " -m, --merge ソートã•れãŸãƒ•ァイルを併åˆã™ã‚‹ã€‚ソート自体ã¯è¡Œã‚" "ãªã„\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FILE çµæžœã‚’標準出力ã®ä»£ã‚り㫠FILE ã«æ›¸ã込む\n" " -s, --stable å‰ã®æ¯”è¼ƒçµæžœã«é ¼ã‚‰ãªã„安定的ãªä¸¦ã³æ›¿ãˆã‚’行ã†\n" " -S, --buffer-size=SIZE 主記憶ã®ãƒãƒƒãƒ•ã‚¡ã®å¤§ãã•ã¨ã—㦠SIZE を使用ã™ã‚‹\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP フィールド区切り文字ã¨ã—ã¦ç©ºç™½ã®ä»£ã‚り㫠SEP を使" "用ã™ã‚‹\n" " -T, --temporary-directory=DIR 一時ディレクトリã¨ã—㦠$TMPDIR ã¾ãŸã¯ %s ã§" "ã¯ãªã\n" " DIR を使用ã™ã‚‹ã€‚オプションを複数指定ã™ã‚‹ã¨ã€è¤‡" "æ•°ã®ãƒ‡ã‚£\n" " レクトリを指定ã§ãã‚‹\n" " --parallel=N åŒæ™‚ã«å®Ÿè¡Œã™ã‚‹ã‚½ãƒ¼ãƒˆã®æ•°ã‚’ N ã«å¤‰æ›´ã™ã‚‹\n" " -u, --unique -c ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã€å޳坆ã«é †åºã‚’確èªã™ã‚‹ã€‚-" "c を付ã‘\n" " ãšã«ä½¿ç”¨ã—ãŸå ´åˆã€æœ€åˆã®åŒä¸€è¡Œã®ã¿å‡ºåŠ›ã™ã‚‹\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated æ–‡å­—åˆ—ã®æœ€å¾Œã«æ”¹è¡Œã§ãªã NULL 文字を付加ã™ã‚‹\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS 㯠F[.C][OPTS] ã®æ›¸å¼ã§æŒ‡å®šã—ã¾ã™ã€‚F ã¯ãƒ•ィールド番å·ã§ã™ã€‚ C ã¯ãƒ•ィール" "ド内\n" "ã®æ–‡å­—ä½ç½®ã§ã™ã€‚両方ã¨ã‚‚開始番å·ã¯ 1 ã§ã™ã€‚-t 㨠-b ã®ä¸¡æ–¹ã¨ã‚‚指定ãŒç„¡ã„å ´" "åˆã€\n" "ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å†…ã®æ–‡å­—æ•°ãŒã€å‰ã«ã‚る空白ã®é–‹å§‹ã‹ã‚‰æ•°ãˆã‚‰ã‚Œã¾ã™ã€‚ OPT ã¯ä¸€ã¤ä»¥ä¸Š" "ã® 1\n" "ãƒã‚¤ãƒˆã§è¡¨ã—ãŸã®ä¸¦ã³æ›¿ãˆã‚ªãƒ—ションã§ã™ã€‚ã“れã¯ã€æŒ‡å®šã—ãŸã‚­ãƒ¼ã«å¯¾ã—ã¦å¤§åŸŸã‚ªãƒ—" "ショ\n" "ンをより優先ã•れã¾ã™ã€‚ã‚­ãƒ¼ãŒæŒ‡å®šã•れãªã„å ´åˆã€è¡Œå…¨ä½“ãŒã‚­ãƒ¼ã¨ã—ã¦ä½¿ç”¨ã•れã¾" "ã™ã€‚\n" "\n" "SIZE ã®å¾Œã«ã¯ä»¥ä¸‹ã®å€æ•°ãªã©ã‚’指定ã™ã‚‹æŽ¥å°¾è¾žã‚’ç¶šã‘ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™:\n" "\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% ã¯ãƒ¡ãƒ¢ãƒªã®ä½• % を使用ã™ã‚‹ã‹ã€‚b 㯠1å€ã€K 㯠1024å€ (標準)ã€‚åŒæ§˜ã« M, G, T, " "P, E, Z, T\n" "ãªã©ã‚‚指定ã§ãã¾ã™ã€‚\n" "\n" "*** 警告 ***\n" "環境変数ã«ã‚ˆã£ã¦æŒ‡å®šã•れãŸãƒ­ã‚±ãƒ¼ãƒ«ã§ä¸¦ã³æ›¿ãˆé †åºãŒå¤‰ã‚りã¾ã™ã€‚\n" "本æ¥ã®ãƒã‚¤ãƒˆå˜ä½ã®å€¤ã‚’使用ã—ãŸä¼çµ±çš„ãªä¸¦ã³æ›¿ãˆé †ã«ã—ãŸã„å ´åˆã€\n" "LC_ALL=C を指定ã—ã¦ãã ã•ã„。\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "%s [-d] ã‚’å¾…ã£ã¦ã„ã¾ã™" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] ãŒç•°å¸¸çµ‚了ã—ã¾ã—ãŸ" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "一時ファイルを %s 内ã«ä½œæˆã§ãã¾ã›ã‚“" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "オープンã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "クローズã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "%s を実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "一時ファイルを作æˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "プロセス %s -d を作æˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "%s -d を実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "待機中: 削除ã§ãã¾ã›ã‚“: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "--%s ã®å¼•æ•° %s ãŒç„¡åйã§ã™" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "--%s ã®å¼•æ•°ã®æœ€å°å€¤ã¯ %s ã§ã™ã€‚" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s ã®å¼•æ•°ã®å€¤ %s ã¯å¤§ãã™ãŽã¾ã™" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "ç¾åœ¨ã® rlimit ã«åŸºã¥ã„㟠--%s ã®å¼•æ•°ã®æœ€å¤§å€¤ã¯ %s ã§ã™" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "parallel ã®å¼•数㯠0 ã§ã¯ã„ã‘ã¾ã›ã‚“" #: src/sort.c:1494 msgid "stat failed" msgstr "状態å–å¾— (stat) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:1755 msgid "read failed" msgstr "読ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "文字列ã®å¤‰æ›ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "変æ›å‰ã®æ–‡å­—列㯠%s ã§ã™" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "キーã«å¯¾ã—㦠^ ãŒä¸€è‡´ã—ã¾ã›ã‚“\n" #: src/sort.c:2389 #, fuzzy, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "éžæŽ¨å¥¨ãªã‚­ãƒ¼ `%s' ãŒä½¿ç”¨ã•れã¦ã„ã¾ã™ã€‚代ã‚り㫠`%s' を使用ã—ã¦ãã ã•ã„" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "キー %lu ã®å¹…㯠0 ã®ãŸã‚無視ã•れã¾ã™" #: src/sort.c:2406 #, fuzzy, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "キー %lu ã«ãŠã„ã¦å…ˆé ­ã®ç©ºç™½é¡žæ–‡å­—ã¯æ„味をæŒã¡ã¾ã™ã€‚`b' も指定ã™ã‚‹ã“ã¨ã‚’検討ã—" "ã¦ãã ã•ã„" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "キー %lu ãŒæ•°å€¤ã®ãŸã‚複数ã®ãƒ•ィールドã«å±•é–‹ã•れã¾ã™" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "オプション `-%s' ã¯ç„¡è¦–ã•れã¾ã™" #: src/sort.c:2457 #, fuzzy, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "オプション `-r' ã¯æœ€å¾Œã®æ¯”較ã®ã¿ã«é©ç”¨ã•れã¾ã™" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: é †åºãŒä¸è¦å‰‡: " #: src/sort.c:2786 msgid "standard error" msgstr "標準エラー" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: å·»ãæˆ»ã—ã§ãã¾ã›ã‚“" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: 無効ãªãƒ•ィールド指定ã§ã™: %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "オプション `-%s' ã¯ä¸¡ç«‹ã—ã¾ã›ã‚“" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: %s ã®é–‹å§‹ç•ªå·ãŒç„¡åйã§ã™" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "`-' ã®å¾Œã®æ•°å­—ãŒæ­£ã—ãã‚りã¾ã›ã‚“" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "`.' ã®å¾Œã®æ•°å­—ãŒæ­£ã—ãã‚りã¾ã›ã‚“" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "フィールド指定ã«ä½¿ãˆãªã„文字ãŒã‚りã¾ã™" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "複数ã®åœ§ç¸®ãƒ—ãƒ­ã‚°ãƒ©ãƒ ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "フィールド開始番å·ãŒç„¡åйã§ã™" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "フィールド番å·ãŒã‚¼ãƒ­ã§ã™" #: src/sort.c:4392 msgid "character offset is zero" msgstr "文字ã®ã‚ªãƒ•セットãŒã‚¼ãƒ­ã§ã™" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "`,' ã®å¾Œã®æ•°å­—ãŒæ­£ã—ãã‚りã¾ã›ã‚“" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "タブãŒç©ºã§ã™" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "ファイルåã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚€ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: é•·ã•㌠0 ã®ãƒ•ァイルåã¯ç„¡åйã§ã™" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "%s ã‹ã‚‰ã®å…¥åŠ›ãŒã‚りã¾ã›ã‚“" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "%s ソートルールを使用ã—ã¦ã„ã¾ã™" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "å˜ãªã‚‹ãƒã‚¤ãƒˆæ¯”較を使用ã—ã¦ã„ã¾ã™" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "追加ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ %s 㯠-%c ã¨ä½µã›ã¦ä½¿ç”¨ã§ãã¾ã›ã‚“" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "接尾辞ã®é•·ã•ã¯æœ€ä½Ž %zu å¿…è¦ã§ã™" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "使用法: %s [OPTION]... [INPUT [PREFIX]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "INPUT ã‚’ PREFIXaa, PREFIXab, ... ã¨ã„ã†å›ºå®šã‚µã‚¤ã‚ºã®ãƒ•ァイルã«åˆ†å‰²ã—ã¾ã™ã€‚\n" "デフォルトã®å¤§ãã•㯠1000 行ã§ã™ã€‚デフォルト㮠PREFIX 㯠`x' ã§ã™ã€‚ INPUT\n" "ãŒæŒ‡å®šã•れãªã„ã‹ã€INPUT ã« - を指定ã—ãŸå ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N 接尾辞ã®é•·ã•ã‚’ N ã«ã™ã‚‹ (デフォルト: %d)\n" " -b, --bytes=SIZE 出力ファイルã®å¤§ãã•ã‚’ SIZE ãƒã‚¤ãƒˆã”ã¨ã«ã™ã‚‹\n" " -C, --line-bytes=SIZE 出力ファイルã«å«ã¾ã‚Œã‚‹è¡Œã®æœ€å¤§ã‚µã‚¤ã‚ºã‚’ SIZE ã«ã™" "ã‚‹\n" " -d, --numeric-suffixes 接尾辞を英字ã§ã¯ãªãæ•°å­—ã«ã™ã‚‹\n" " -e, --elide-empty-files `-n' を使用ã—ãŸæ™‚ã«ç©ºãƒ•ァイルを作æˆã—ãªã„\n" " --filter=COMMAND シェルコマンド COMMAND ã«ãƒ•ァイルåã‚’ $FILE ã¨ã—ã¦" "出力ã™ã‚‹\n" " -l, --lines=NUMBER 出力ファイルをã«å«ã¾ã‚Œã‚‹è¡Œæ•°ã‚’ NUMBER 行ã”ã¨ã«ã™" "ã‚‹\n" " -n, --number=CHUNKS 塊 (CHUNKS) 出力ファイルを作æˆã™ã‚‹ã€‚下記をå‚ç…§\n" " -u, --unbuffered `-n r/...' を使用ã—ãŸæ™‚ã«ã™ãã«å…¥åŠ›ã‚’å‡ºåŠ›ã«ã‚³ãƒ”ーã™" "ã‚‹\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose å„出力ファイルを開ãå‰ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’\n" " 表示ã™ã‚‹\n" #: src/split.c:236 #, fuzzy msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "塊 (CHUNKS) ã¯æ¬¡ã®é€šã‚Šã§ã™:\n" "N 入力サイズã«å¿œã˜ã¦ N 個ã®ãƒ•ァイルã«åˆ†å‰²ã™ã‚‹\n" "K/N N 個中 K 番目を標準出力ã«å‡ºåŠ›ã™ã‚‹\n" "l/N 行内ã®åˆ†å‰²ã¯ã—ãªã„ã§ N 個ã®ãƒ•ァイルã«åˆ†å‰²ã™ã‚‹\n" "l/K/N 行内ã®åˆ†å‰²ã¯ã—ãªã„ã§ N 個中 K 番目を標準出力ã«å‡ºåŠ›ã™ã‚‹\n" "r/N `l' ã¨åŒæ§˜ã ãŒãƒ©ã‚¦ãƒ³ãƒ‰ãƒ­ãƒ“ン分割をã™ã‚‹\n" "r/K/N 上記ã¨åŒæ§˜ã ãŒ N 個中 K 番目を標準出力ã«å‡ºåŠ›ã™ã‚‹\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®æŽ¥å°¾è¾žã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "ファイル %s を作æˆã—ã¦ã„ã¾ã™\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "環境変数 FILE ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "FILE=%s ã§å®Ÿè¡Œã—ã¦ã„ã¾ã™\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "パイプã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "以å‰ã®ãƒ‘イプを閉ã˜ã¦ã„ã¾ã™" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "出力パイプを閉ã˜ã¦ã„ã¾ã™" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "入力パイプを移動ã—ã¦ã„ã¾ã™" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "入力パイプを閉ã˜ã¦ã„ã¾ã™" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "コマンド実行ã«å¤±æ•—ã—ã¾ã—ãŸ: \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "入力パイプを閉ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "å­ãƒ—ロセスを待機ã—ã¦ã„ã¾ã™" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "FILE=%s ã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‹ã‚‰ã‚·ã‚°ãƒŠãƒ« %s ã‚’å—ã‘å–りã¾ã—ãŸ: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "FILE=%s 㧠次ã®ã‚³ãƒžãƒ³ãƒ‰ãŒçµ‚了ステータス %d ã§çµ‚了ã—ã¾ã—ãŸ: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "䏿˜Žãªã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータスã§ã™ (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "複数ã®åˆ†å‰²æ–¹æ³•ã¯æŒ‡å®šã§ãã¾ã›ã‚“" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: 無効ãªå¡Šã®æ•°ã§ã™" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: 無効ãªå¡Šã®ç•ªå·ã§ã™" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: 接尾辞ã®é•·ã•ãŒæ­£ã—ãã‚りã¾ã›ã‚“" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: 無効ãªãƒã‚¤ãƒˆæ•°è¡¨è¨˜ã§ã™" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: 無効ãªè¡Œæ•°è¡¨è¨˜ã§ã™" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "行数を指定ã™ã‚‹ã‚ªãƒ—ション -%s%c ãŒå¤§ãã™ãŽã¾ã™" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "開始行番å·ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: 無効㪠IO ブロックサイズã§ã™" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter ã¯æ¨™æº–出力ã«å‡ºåŠ›ã•れãŸå¡Šã‚’処ç†ã—ã¾ã›ã‚“" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: ファイルサイズを決定ã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "%s ã®æ­£è¦åŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "警告: èªè­˜ã§ããªã„エスケープã§ã™: `\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: ç„¡åŠ¹ãªæŒ‡å®šã§ã™" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "警告: æ›¸å¼æ–‡å­—列ã®çµ‚端ã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒã‚りã¾ã™" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "ファイルシステムモードã§ã¯ %s を使用ã—ã¦æ¨™æº–入力を指定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "%s ã«é–¢ã™ã‚‹ãƒ•ァイルシステム情報を読ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "æ¨™æº–å…¥åŠ›ã®æƒ…報をå–å¾— (stat) ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Device: %Dh/%dd\tInode: %-10i Links: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Context: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "ファイルã¾ãŸã¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®æƒ…報を表示ã—ã¾ã™ã€‚\n" "\n" " -L, --dereference リンクを辿る\n" " -f, --file-system ファイル情報ã®ä»£ã‚りã«ãƒ•ァイルシステム情報を表示ã™" "ã‚‹\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT デフォルトã®ä»£ã‚り㫠FORMAT ã§æŒ‡å®šã—ãŸæ›¸å¼ã§è¡¨ç¤ºã™" "る。\n" " FORMAT を使用ã—ãŸå¾Œã«ã¯æ”¹è¡Œæ–‡å­—を毎回出力ã™ã‚‹\n" " --printf=FORMAT --format ã¨åŒæ§˜ã ãŒã€ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—" "ã‚’\n" " 解釈ã—ã€æœ€å¾Œã«æ”¹è¡Œæ–‡å­—を出力ã—ãªã„。改行ãŒå¿…è¦ãªå ´" "åˆã¯\n" " FORMAT ã« \\n ã‚’å«ã‚ã‚‹å¿…è¦ãŒã‚ã‚‹\n" " -t, --terse ç°¡æ½”ãªå½¢å¼ã§æƒ…報を表示ã™ã‚‹\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "ファイルã«å¯¾ã™ã‚‹ (--file-system ç„¡ã—) 有効㪠FORMAT ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:\n" "\n" " %a アクセス権ã®å…«é€²æ•°è¡¨è¨˜\n" " %A アクセス権ã®äººé–“ãŒèª­ã‚ã‚‹å½¢å¼ã§ã®è¡¨è¨˜\n" " %b é…ç½®ã•れãŸãƒ–ロック数 (%B å‚ç…§)\n" " %B %b ã«ã‚ˆã£ã¦å ±å‘Šã•れãŸå„ブロックã®ãƒã‚¤ãƒˆæ•°\n" " %C SELinux ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆæ–‡å­—列\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d デãƒã‚¤ã‚¹ç•ªå·ã®å進数表記\n" " %D デãƒã‚¤ã‚¹ç•ªå·ã®å六進数表記\n" " %f Raw モードã®å六進数表記\n" " %F ファイルã®ç¨®é¡ž\n" " %g 所有者ã®ã‚°ãƒ«ãƒ¼ãƒ— ID\n" " %G 所有者ã®ã‚°ãƒ«ãƒ¼ãƒ—å\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®æ•°\n" " %i i ノード番å·\n" " %m マウントãƒã‚¤ãƒ³ãƒˆ\n" " %n ファイルå\n" " %N ファイルå。シンボリックリンクã®å ´åˆã¯å‚照先ファイルå\n" " %o I/O ブロックサイズ\n" " %s åˆè¨ˆã‚µã‚¤ã‚ºã€‚ãƒã‚¤ãƒˆæ•°ã§è¡¨è¨˜\n" " %t メジャーデãƒã‚¤ã‚¹ç•ªå·ã®å六進数表記\n" " %T マイナーデãƒã‚¤ã‚¹ç•ªå·ã®å六進数表記\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u 所有者ã®ãƒ¦ãƒ¼ã‚¶ ID\n" " %U 所有者ã®ãƒ¦ãƒ¼ã‚¶å\n" " %w 最åˆã«ä½œæˆã—ãŸæ—¥æ™‚ (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)ã€‚ä¸æ˜Žãªå ´åˆã«ã¯ -\n" " %W 最åˆã«ä½œæˆã—ãŸæ—¥æ™‚ (Epoch ã‹ã‚‰ã®ç§’æ•°)ã€‚ä¸æ˜Žãªå ´åˆã«ã¯ 0\n" " %x 最終アクセス日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" " %X 最終アクセス日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" " %y 最終更新日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" " %Y 最終更新日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" " %z 最終変更日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" " %Z 最終変更日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "ファイルシステムã«å¯¾ã™ã‚‹æœ‰åŠ¹ãªæ›¸å¼æ–‡å­—列:\n" "\n" " %a 特権ユーザ以外ãŒåˆ©ç”¨å¯èƒ½ãªç©ºãブロック数\n" " %b ファイルシステムã®åˆè¨ˆãƒ‡ãƒ¼ã‚¿ãƒ–ロック数\n" " %c ファイルシステムã®åˆè¨ˆãƒ•ァイルノード数\n" " %d ファイルシステムã®ç©ºãファイルノード数\n" " %f ファイルシステムã®ç©ºãブロック数\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ファイルシステム ID ã®å六進数表記\n" " %l ファイルåã®æœ€å¤§é•·\n" " %n ファイルå\n" " %s ブロックサイズ (転é€ã‚’拘æŸã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹)\n" " %S 基本ブロックサイズ (ブロック数を数ãˆã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹)\n" " %t タイプã®å六進数表記\n" " %T タイプã®äººé–“ãŒèª­ã¿ã‚„ã™ã„表記\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "使用法: %s OPTION... COMMAND\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "標準入出力ストリームã®ãƒãƒƒãƒ•ァ動作を変更ã—㦠COMMAND を実行ã—ã¾ã™ã€‚\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODE 標準入力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹\n" " -o, --output=MODE 標準出力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹\n" " -e, --error=MODE 標準エラー出力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "MODE ã« `L' を指定ã—ãŸå ´åˆã€è¡Œå˜ä½ã§ãƒãƒƒãƒ•ã‚¡ã•れã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションã¯\n" "標準入力ã«å¯¾ã—ã¦ã¯ç„¡åйã§ã™ã€‚\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "MODE ã« `0' を指定ã™ã‚‹ã¨ã€å¯¾å¿œã—ãŸã‚¹ãƒˆãƒªãƒ¼ãƒ ã§ãƒãƒƒãƒ•ァ動作ãŒç„¡åйã«ãªã‚Šã¾" "ã™ã€‚\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "ãれ以外ã®å ´åˆã¯ MODE ã«æ•°å€¤ã‚’指定ã—ã¾ã™ã€‚数値ã«ã¯æ¬¡ã®å€æ•°ã‚’指定ã™ã‚‹ã“ã¨ãŒã§" "ãã¾ã™:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, ãã®ä»– G, T, P, E, Z, Y ãªã©ã€‚\n" "対応ã—ãŸã‚¹ãƒˆãƒªãƒ¼ãƒ ã« MODE ãƒã‚¤ãƒˆã®ã‚µã‚¤ã‚ºãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒãƒƒãƒ•ã‚¡ãŒè¨­å®šã•れã¾" "ã™ã€‚\n" "\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "注æ„: COMMAND ãŒæ¨™æº–ストリームã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹å ´åˆ (代表例: " "`tee')ã€\n" "`stdbuf' ã«ã‚ˆã£ã¦å¤‰æ›´ã•れãŸè¨­å®šãŒä¸Šæ›¸ãã•れã¾ã™ã€‚ã¾ãŸã„ãã¤ã‹ã®ãƒ•ィルタ\n" "(`dd', `cat' ç­‰) ã¯å…¥å‡ºåŠ›ã«ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’使用ã—ãªã„ãŸã‚〠`stdbuf' 設定ã®å½±éŸ¿\n" "ã‚’å—ã‘ã¾ã›ã‚“。\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "%s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "環境を %s ã«æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "標準入力ã«å¯¾ã™ã‚‹è¡Œãƒ¢ãƒ¼ãƒ‰ã®ãƒãƒƒãƒ•ã‚¡è¨­å®šã¯æ„味ãŒã‚りã¾ã›ã‚“" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "使用法: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" "ã¾ãŸã¯: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" "ã¾ãŸã¯: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "端末設定ã®è¡¨ç¤ºã€ã¾ãŸã¯å¤‰æ›´ã‚’行ã„ã¾ã™ã€‚\n" "\n" " -a, --all ç¾åœ¨ã®ã™ã¹ã¦ã®è¨­å®šã‚’人間ã«èª­ã‚ã‚‹å½¢å¼ã§å‡ºåŠ›ã™ã‚‹\n" " -g, --save ç¾åœ¨ã®ã™ã¹ã¦ã®è¨­å®šã‚’ stty ãŒè§£é‡ˆã§ãã‚‹å½¢å¼ã§å‡ºåŠ›ã™ã‚‹\n" " -F, --file=DEVICE 標準入力ã®ä»£ã‚り㫠DEVICE ã§æŒ‡å®šã•れãŸãƒ‡ãƒã‚¤ã‚¹ã‚’使用ã™" "ã‚‹\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "SETTING ã®å‰ã« - を付ã‘ã‚‹ã¨ã€å¦å®šã‚’表ã—ã¾ã™ã€‚ * (アスタリスク) 表示㯠POSIX\n" "ã«è¦å®šã•れã¦ã„ãªã„設定を表ã—ã¾ã™ã€‚使用ã—ã¦ã„るシステムã«ã‚ˆã£ã¦åˆ©ç”¨å¯èƒ½ãª " "SETTING\n" "ãŒæ±ºã¾ã‚Šã¾ã™ã€‚\n" "\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "特殊文字:\n" " * dsusp CHAR CHAR ã¯å…¥åŠ›ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ã¨, ç«¯æœ«åœæ­¢ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡\n" " eof CHAR CHAR ã¯ãƒ•ァイル終端をé€ä¿¡ (入力ã®çµ‚了)\n" " eol CHAR CHAR ã¯è¡Œæœ«\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CHAR 行末を示ã™åˆ¥ã® CHAR\n" " erase CHAR CHAR ã¯æœ€å¾Œã«ã‚¿ã‚¤ãƒ—ã•ã‚ŒãŸæ–‡å­—を削除\n" " intr CHAR CHAR ã¯å‰²ã‚Šè¾¼ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡\n" " kill CHAR CHAR ã¯ç¾åœ¨ã®è¡Œã‚’削除\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CHAR CHAR ã¯å¼•用ã•ã‚ŒãŸæ¬¡ã®æ–‡å­—を入力\n" " quit CHAR CHAR ã¯çµ‚了シグナルをé€ä¿¡\n" " * rprnt CHAR CHAR ã¯ç¾åœ¨ã®è¡Œã‚’å†è¡¨ç¤º\n" " start CHAR CHAR ã¯åœæ­¢ã—ãŸå‡ºåŠ›ã‚’å†é–‹\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CHAR CHAR å‡ºåŠ›ã‚’åœæ­¢\n" " susp CHAR CHAR ã¯ç«¯æœ«åœæ­¢ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡\n" " * swtch CHAR CHAR ã¯åˆ¥ã®ã‚·ã‚§ãƒ«å±¤ã«åˆ‡ã‚Šæ›¿ãˆ\n" " * werase CHAR CHAR ã¯æœ€å¾Œã«ã‚¿ã‚¤ãƒ—ã•れãŸå˜èªžã‚’削除\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "特殊設定:\n" " N 入出力ã®é€Ÿåº¦ã‚’ N ボーã«è¨­å®š\n" " * cols N ターミナル㌠N æ¡ã§ã‚ã‚‹ã“ã¨ã‚’カーãƒãƒ«ã«é€šçŸ¥\n" " * columns N cols N ã¨åŒã˜\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N 入力速度を N ã«è¨­å®š\n" " * line N 回線制御è¦å‰‡ N を使用\n" " min N -icanon ã¨å…±ã«ä½¿ã„, 完全ãªèª­è¾¼ã¿ã«å¯¾ã—ã¦æœ€ä½Ž N 文字を設定\n" " ospeed N 出力速度を N ã«è¨­å®š\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N タームãªã‚‹ãŒ N 行ã§ã‚ã‚‹ã“ã¨ã‚’カーãƒãƒ«ã«é€šçŸ¥\n" " * size カーãƒãƒ«ã«å¯¾å¿œã—ãŸè¡Œæ•°ã¨æ¡æ•°ã‚’表示\n" " speed 端末速度を表示\n" " time N -icanon ã¨å…±ã«ä½¿ã„, 読込ã¿ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ 10 分㮠N ç§’ã«è¨­" "定\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "制御設定:\n" " [-]clocal モデム制御信å·ã‚’無効ã«\n" " [-]cread å—ã‘å–る入力を許å¯\n" " * [-]crtscts RTS/CTS ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ã‚’有効ã«\n" " csN 文字ã®å¤§ãã•ã‚’ N ビットã«è¨­å®š, N ã®ç¯„囲㯠[5..8]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb 1文字ã‚ãŸã‚Š 2ストップビットを使用 (1 ã®å ´åˆã¯ `-' を付ã‘" "ã‚‹)\n" " [-]hup 最後ã®ãƒ—ロセス㌠tty ã‚’é–‰ã˜ãŸã‚‰ãƒãƒ³ã‚°ã‚¢ãƒƒãƒ—シグナルをé€ã‚‹\n" " [-]hupcl [-]hup ã¨åŒã˜\n" " [-]parenb パリティビットを出力ã—, 入力ã«ãƒ‘リティビットãŒã‚ã‚‹ã¨ã™ã‚‹\n" " [-]parodd 奇パリティを設定 (å¶ã¯ `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "入力設定:\n" " [-]brkint ブレイクã§å‰²ã‚Šè¾¼ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’発生\n" " [-]icrnl 復帰 (CR) を改行 (LF) ã«ç¿»è¨³\n" " [-]ignbrk ブレイク文字を無視\n" " [-]igncr 復帰 (CR) を無視\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar パリティエラーã®ã‚る文字を無視\n" " * [-]imaxbel 発信音を鳴らã—, 文字ã«å…¨å…¥åŠ›ãƒãƒƒãƒ•ã‚¡ã‚’åã出ã•ãªã„\n" " [-]inlcr 改行 (LF) を復帰 (CR) ã«ç¿»è¨³\n" " [-]inpck 入力パリティã®ãƒã‚§ãƒƒã‚¯ã‚’å¯èƒ½ã«\n" " [-]istrip å…¥åŠ›æ–‡å­—ã®æœ€ä¸Šä½ (第8) ビットをè½ã¨ã™\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 入力文字を UTF-8 ã¨è¦‹ãªã™\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc å¤§æ–‡å­—ã‚’å°æ–‡å­—ã«ç¿»è¨³\n" " * [-]ixany 開始文字ã ã‘ã§ãªã, ä»»æ„ã®æ–‡å­—ã§å‡ºåŠ›ã‚’å†é–‹\n" " [-]ixoff é–‹å§‹ãŠã‚ˆã³åœæ­¢æ–‡å­—ã®é€ä¿¡ã‚’å¯èƒ½ã«\n" " [-]ixon XON/XOFF フロー制御をå¯èƒ½ã«\n" " [-]parmrk パリティーエラーをマーク (255-0 文字ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã§)\n" " [-]tandem [-]ixoff ã¨åŒã˜\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "出力設定:\n" " * bsN ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã®é…延スタイル. N ã®ç¯„囲㯠[0..1]\n" " * crN 復帰 (CR) é…延スタイル. N ã®ç¯„囲㯠[0..3]\n" " * ffN 用紙é€ã‚Šé…延スタイル. N ã®ç¯„囲㯠[0..1]\n" " * nlN 改行 (LF) é…延スタイル. N ã®ç¯„囲㯠[0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl 復帰 (CR) を改行 (LF) ã«ç¿»è¨³\n" " * [-]ofdel ヌル文字ã®ä»£ã‚りã«åŸ‹ã‚る文字ã¨ã—ã¦å‰Šé™¤æ–‡å­—を使用\n" " * [-]ofill é…å»¶ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã®ä»£ã‚りã«åŸ‹ã‚る文字を使用\n" " * [-]olcuc å°æ–‡å­—を大文字ã«ç¿»è¨³\n" " * [-]onlcr 改行 (LF) を復帰改行 (CR-LF) ã«ç¿»è¨³\n" " * [-]onlret 改行 (LF) ãŒå¾©å¸° (CR) ã¨ã—ã¦æŒ¯èˆžã†\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr 1æ¡ç›®ã®å¾©å¸° (CR) を表示ã—ãªã„\n" " [-]opost プロセス後出力\n" " * tabN 水平タブé…延スタイル. N ã®ç¯„囲㯠[0..3]\n" " * tabs tab0 ã¨åŒã˜\n" " * -tabs tab3 ã¨åŒã˜\n" " * vtN 垂直タブé…延スタイル. N ã®ç¯„囲㯠[0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "ローカル設定:\n" " [-]crterase backspace-space-backspace ã¨ã—ã¦å‰Šé™¤æ–‡å­—をエコー\n" " * crtkill echoprt 㨠echoe ã®è¨­å®šã«ã—ãŸãŒã£ã¦å…¨ã¦ã®è¡Œã‚’削除\n" " * -crtkill echoctl 㨠echok ã®è¨­å®šã«ã—ãŸãŒã£ã¦å…¨ã¦ã®è¡Œã‚’削除\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho ãƒãƒƒãƒˆè¨˜å· (`^c') ã§åˆ¶å¾¡æ–‡å­—をエコー\n" " [-]echo 入力文字をエコー\n" " * [-]echoctl [-]ctlecho ã¨åŒã˜\n" " [-]echoe [-]crterase ã¨åŒã˜\n" " [-]echok 削除文字ã®å¾Œã§æ”¹è¡Œã‚’エコー\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke [-]crtkill ã¨åŒã˜\n" " [-]echonl ä»–ã®æ–‡å­—をエコーã—ãªãã¦ã‚‚改行をエコー\n" " * [-]echoprt `\\' 㨠'/' ã®é–“ã§, 削除ã•ã‚ŒãŸæ–‡å­—を逆順ã«ã‚¨ã‚³ãƒ¼\n" " [-]icanon erase, kill, werase ãŠã‚ˆã³ rprnt 特殊文字を使用å¯èƒ½ã«\n" " [-]iexten éž POSIX 特殊文字を使用å¯èƒ½ã«\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig 割り込㿠(interrupt), 終了 (quit) ãŠã‚ˆã³ä¸­æ–­ (suspend)\n" " 特殊文字を使用å¯èƒ½ã«\n" " [-]noflsh 割り込㿠(interrupt) ã¨çµ‚了 (quit) 特殊文字ã®å¾Œã®å‡ºåŠ›ã‚’ç„¡åŠ¹" "ã«\n" " * [-]prterase [-]echoprt ã¨åŒã˜\n" " * [-]tostop ç«¯æœ«ã«æ›¸ã込もã†ã¨ã™ã‚‹ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¸ãƒ§ãƒ–ã‚’åœæ­¢\n" " * [-]xcase icanon ã¨å…±ã«ä½¿ã„, 大文字ã«å¯¾ã—㦠`\\' ã§ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "組åˆã›è¨­å®š:\n" " * [-]LCASE [-]lcase ã¨åŒã˜\n" " cbreak -icanon ã¨åŒã˜\n" " -cbreak icanon ã¨åŒã˜\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked brkint ignpar istrip icrnl ixon opost isig ã¨åŒã˜\n" " icanon, eof ãŠã‚ˆã³ eol æ–‡å­—ã¯æ¨™æº–ã®å€¤\n" " -cooked raw ã¨åŒã˜\n" " crt echoe echoctl echoke ã¨åŒã˜\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u ã¨åŒ" "ã˜\n" " * [-]decctlq [-]ixany ã¨åŒã˜\n" " ek erase 㨠kill 文字を標準ã®å€¤ã«\n" " evenp parenb -parodd cs7 ã¨åŒã˜\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp -parenb cs8 ã¨åŒã˜\n" " * [-]lcase xcase iuclc olcuc ã¨åŒã˜\n" " litout -parenb -istrip -opost cs8 ã¨åŒã˜\n" " -litout parenb istrip opost cs7 ã¨åŒã˜\n" " nl -icrnl -onlcr ã¨åŒã˜\n" " -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret ã¨åŒã˜\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp parenb parodd cs7 ã¨åŒã˜\n" " -oddp -parenb cs8 ã¨åŒã˜\n" " [-]parity [-]evenp ã¨åŒã˜\n" " pass8 -parenb -istrip cs8 ã¨åŒã˜\n" " -pass8 parenb istrip cs7 ã¨åŒã˜\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0 ã¨åŒã˜\n" " -raw cooked ã¨åŒã˜\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke ã¨åŒã˜,\n" " å…¨ã¦ã®ç‰¹æ®Šæ–‡å­—ã¯æ¨™æº–ã®å€¤.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "標準入力ã¨ã¤ãªãŒã£ãŸç«¯æœ«ã‚’制御ã—ã¾ã™ã€‚引数を指定ã—ãªã„å ´åˆã€\n" "ボーレートã€å›žç·šåˆ¶å¾¡è¦å‰‡ãŠã‚ˆã³ stty sane ã‹ã‚‰ã®ãšã‚Œã‚’表示ã—ã¾ã™ã€‚\n" "設定ã®éš›ã«ã¯ã€ CHAR ã¯æ–‡å­—é€šã‚Šã«æ‰±ã‚れるã‹ã€ ^c, 0x37, 0177 ã¾ãŸã¯ 127 \n" "ã®ã‚ˆã†ã«ã‚³ãƒ¼ãƒ‰åŒ–ã•れã¾ã™ã€‚特別ãªå€¤ ^- ã¾ãŸã¯ undef ã¯ç‰¹æ®Šæ–‡å­—を無効ã«\n" "ã™ã‚‹ã®ã«ä½¿ç”¨ã•れã¾ã™ã€‚\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "DEVICE ã¯ä¸€ã¤ã ã‘指定ã§ãã¾ã™" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "冗長出力㨠stty ãŒè§£é‡ˆã§ãる出力形å¼ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æŽ’ä»–çš„ã§ã™" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "出力形å¼ã‚’指定ã—ãŸå ´åˆã€ãƒ¢ãƒ¼ãƒ‰ã‚’設定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: éžãƒ–ロッキングモードをå†è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "%s: 無効ãªå¼•æ•°ã§ã™" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "%s ã«å¯¾ã™ã‚‹å¼•æ•°ãŒã‚りã¾ã›ã‚“" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "%s: 無効ãªå›žç·šåˆ¶å¾¡è¦å‰‡ã§ã™" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: è¦æ±‚ã•れãŸå‡¦ç†ã®å…¨ã¦ã‚’実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã‚µã‚¤ã‚ºæƒ…å ±ãŒã‚りã¾ã›ã‚“" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "%s: ç„¡åŠ¹ãªæ•´æ•°ã®å¼•æ•°ã§ã™" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "å„ FILE ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¨ãƒ–ロック数を表示ã—ã¾ã™.\n" "\n" " -r BSD å½¢å¼ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ 1K ãƒã‚¤ãƒˆã®ãƒ–ロックを" "使用ã—ã¾ã™\n" " -s, --sysv System V å½¢å¼ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ 512 ãƒã‚¤ãƒˆã®ãƒ–" "ロックを使用ã—ã¾ã™\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "強制的ã«ãƒ‡ã‚£ã‚¹ã‚¯ã‚’変更ã•れãŸãƒ–ロックã«å¤‰æ›´ã—ã€ã‚¹ãƒ¼ãƒ‘ーブロックを更新ã™ã‚‹ã€‚\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "å…¨ã¦ã®å¼•数を無視ã—ã¾ã™" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "注æ„: 使用ã—ã¦ã„るシェルã«ã‚ˆã£ã¦ã¯çµ„ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã¨ã—㦠%s ã‚’æŒã£ã¦ã„ã‚‹å ´" "åˆ\n" "ãŒã‚りã€é€šå¸¸ã¯ã“ã“ã§è¨˜è¿°ã—ã¦ã„ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚ˆã‚Šå„ªå…ˆçš„ã«ä½¿ç”¨ã•れã¾ã™ã€‚シェル" "ã®\n" "文書をå‚ç…§ã—ã¦ã‚ªãƒ—ションãªã©ã®è©³ç´°ã‚’確èªã—ã¦ãã ã•ã„。\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help ã“ã®ä½¿ã„方を表示ã—ã¦çµ‚了ã™ã‚‹\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "é•·ã„オプションã«å¿…é ˆã®å¼•æ•°ã¯çŸ­ã„オプションã«ã‚‚å¿…é ˆã§ã™ã€‚\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "--block-size ã§æŒ‡å®šã—㟠SIZE, %s_BLOCK_SIZE, BLOCK_SIZE ãŠã‚ˆã³BLOCKSIZE 環境" "変数\n" "ã®ã†ã¡ã€æœ€åˆã«æŒ‡å®šã•れã¦ã„るサイズå˜ä½ã§å€¤ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€ãƒ‡" "フォ\n" "ルトã®å˜ä½ã¯ 1024 ãƒã‚¤ãƒˆã«ãªã‚Šã¾ã™ (POSIXLY_CORRECT ãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆ 512 " "ãƒ\n" "イト)。\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "%s ã®ãƒã‚°ã‚’発見ã—ãŸå ´åˆã¯ %s ã«å ±å‘Šã—ã¦ãã ã•ã„。\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "%s ã®ç¿»è¨³ã«é–¢ã™ã‚‹ãƒã‚°ã¯ <http://translationproject.org/team/ja.html> ã«é€£çµ¡ã—" "ã¦ãã ã•ã„。\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "å®Œå…¨ãªæ–‡æ›¸ã‚’å‚ç…§ã™ã‚‹å ´åˆã¯ info coreutils '%s invocation' を実行ã—ã¦ãã ã•" "ã„。\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "詳ã—ã㯠`%s --help' を実行ã—ã¦ä¸‹ã•ã„。\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "警告: ディレクトリ構造ãŒå¾ªç’°ã—ã¦ã„ã¾ã™\n" "ã“れã¯ãƒ•ァイルシステムãŒç ´æã—ã¦ã„ã‚‹ã«ã»ã¨ã‚“ã©ç­‰ã—ã„状態ã§ã™ã€‚\n" "**管ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„**\n" "以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå¾ªç’°ã—ã¦ã„る一部ã§ã™:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ファイル毎ã«è¡Œã‚’逆順ã«ã—ã¦æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚FILE ãŒæŒ‡å®šã•れãªã„ã‹\n" "FILE ã¨ã—㦠- ãŒæŒ‡å®šã•れãŸå ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before 区切り文字列をレコード後ã‚ã§ã¯ãªãå‰ã«ä»˜åŠ ã™ã‚‹\n" " -r, --regex 区切り文字列を正è¦è¡¨ç¾ã¨ã—ã¦è§£é‡ˆã™ã‚‹\n" " -s, --separator=STRING 改行文字ã®ä»£ã‚り㫠STRING を区切り文字列ã«ã™ã‚‹\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: ファイル探査 (seek) ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "レコードãŒå¤§ãã™ãŽã¾ã™" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "一時ファイルを %s 内ã«ä½œæˆã§ãã¾ã›ã‚“" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: 書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: 書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "%s ã‚’ 読ã¿è¾¼ã¿ç”¨ã«é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "区切り文字ãŒç©ºã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å„々㮠FILE ã®æœ€å¾Œã® %d è¡Œã‚’æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚複数㮠FILE ãŒæŒ‡å®šã•れ\n" "ãŸå ´åˆã€ãƒ•ァイルåãŒãƒ˜ãƒƒãƒ€æƒ…å ±ã¨ã—ã¦å‡ºåŠ›ã•れã¾ã™ã€‚FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€\n" "FILE ㌠- ã®å ´åˆã¯ã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K 最後㮠K ãƒã‚¤ãƒˆã‚’出力ã™ã‚‹ã€‚-c +K ã¨ã„ã†å½¢å¼ã§æŒ‡å®š" "ã—ãŸ\n" " å ´åˆã¯å„ファイルã®å…ˆé ­ã‹ã‚‰ K 番目ã®ãƒã‚¤ãƒˆä»¥é™ã‚’出" "力ã™ã‚‹\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " ファイルãŒå¤§ãããªã‚‹ã«åˆã‚ã›ã¦å‡ºåŠ›ã«ãƒ‡ãƒ¼ã‚¿ã‚’追加ã™" "ã‚‹\n" " -f, --follow ãŠã‚ˆã³ --follow=descriptor\n" " ã¯ç­‰ä¾¡ã«ãªã‚‹\n" " -F --follow=name --retry ã¨ç­‰ä¾¡\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K 最後㮠%d 行ã§ã¯ãªã K 行を出力ã™ã‚‹ã€‚-n +K ã¨ã„ã†" "å½¢å¼ã§æŒ‡å®š\n" " ã—ãŸå ´åˆã€å…ˆé ­ã‹ã‚‰ K 行目以é™ã‚’出力ã™ã‚‹\n" " --max-unchanged-stats=N\n" " --follow=name ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€N (デフォルトã§ã¯ " "%d)回 stat \n" " を繰り返ã—ã¦ã‚‚ファイルサイズãŒå¤‰ã‚ã£ã¦ã„ãªã„å ´åˆ" "ã¯ã€ãƒ•ァイ\n" " ルã®å‰Šé™¤ã‚„åå‰ã®å¤‰æ›´ãŒè¡Œã‚れã¦ã„ãªã„ã‹ã‚’確èªã™ã‚‹ãŸ" "ã‚ã« FILE\n" " ã‚’å†ã‚ªãƒ¼ãƒ—ンã™ã‚‹\n" " (ログファイルãŒãƒ­ãƒ¼ãƒ†ãƒ¼ãƒˆã•ã‚ŒãŸæ™‚ã«ã“ã®ã‚ˆã†ãªçŠ¶æ…‹" "ãŒç™ºç”Ÿã™ã‚‹)。\n" " inotify ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã¯ã»ã¨ã‚“ã©æœ‰åйã§ã¯ãª" "ã„\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID -f ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€PID ã®ãƒ—ロセスãŒçµ‚了ã—ãŸå¾Œã«çµ‚" "了ã™ã‚‹\n" " -q, --quiet, --silent 与ãˆãŸãƒ•ァイルåを示ã™ãƒ˜ãƒƒãƒ€ã‚’出力ã—ãªã„\n" " --retry ファイルãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã‹å¦ã‹ã«é–¢ã‚らãšãƒ•ァイルを" "é–‹ã\n" " ã“ã¨ã‚’試ã¿ã‚‹ã€‚ã“れ㯠--follow=name ã¨ä½µã›ã¦ä½¿ç”¨" "ã—ã€\n" " ファイルåã§è¿½è·¡ã™ã‚‹ã¨ãã«å½¹ã«ç«‹ã¤\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N -f ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ç¹°ã‚Šè¿”ã—ã®é–“隔を約 N ç§’\n" " (デフォルト: 1.0ç§’) ã«è¨­å®šã™ã‚‹ã€‚\n" " inotify ãŠã‚ˆã³ --pid=P ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã€\n" " 最低 N ç§’é–“ã« 1 回ã€ãƒ—ロセス P ã®ç¢ºèªã‚’行ã†ã€‚\n" " -v, --verbose ファイルåを表ã™ãƒ˜ãƒƒãƒ€ã‚’常ã«å‡ºåŠ›ã™ã‚‹\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "K (ãƒã‚¤ãƒˆæ•°ã¾ãŸã¯è¡Œæ•°) ã®æœ€åˆã®æ–‡å­—㌠`+' ã§ã‚ã£ãŸå ´åˆã€å„ファイルã®å…ˆé ­\n" "ã‹ã‚‰æ•°ãˆã¦ K 番目ã®é …ç›®ã‹ã‚‰è¡¨ç¤ºã‚’é–‹å§‹ã—ã¾ã™ã€‚ãã†ã§ãªã‘れã°ã€ãƒ•ァイルã®\n" "最後㮠K 個ã®é …目を表示ã—ã¾ã™ã€‚K ã«ã¯å€æ•°ã‚’表ã™ä»¥ä¸‹ã®æŽ¥å°¾è¾žã‚’付加ã—ã¦ã‚‚\n" "æ§‹ã„ã¾ã›ã‚“: \n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000,\n" "G 1024*1024*1024, ãã®ä»– T, P, E, Z, Y ãªã©ã€‚\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "--follow (-f) を使用ã™ã‚‹ã¨ã€tail ã¯ãƒ‡ãƒ•ォルトã§ãƒ•ァイル記述å­ã‚’追跡ã—ã¾ã™ã€‚\n" "ã“ã®ãŸã‚ tail ã§è¿½è·¡ã—ã¦ã„るファイルã®åå‰ãŒå¤‰æ›´ã•れãŸã¨ã—ã¦ã‚‚〠tail ã¯\n" "å…ƒã®ãƒ•ァイルã®çµ‚端を追跡ã—ç¶šã‘ã¾ã™ã€‚ã“ã®ãƒ‡ãƒ•ォルトã®å‹•作ã¯ãƒ•ァイル記述å­\n" "ã§ã¯ãªãã€å®Ÿéš›ã«ã‚ã‚‹åå‰ã‚’æŒã¤ãƒ•ァイルを追跡ã™ã‚‹å ´åˆã«ã¯æœ›ã¾ã—ãã‚りã¾ã›\n" "ã‚“ (例: ログã®ãƒ­ãƒ¼ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©)。ãã®ã‚ˆã†ãªå ´åˆã«ã¯ --follow=name を使\n" "用ã—ã¦ãã ã•ã„。ã“れã«ã‚ˆã‚Šåå‰ã®å¤‰æ›´ã€å‰Šé™¤ã€ä½œæˆãªã©ã«ã‚ã‚ã›ã¦åå‰ã®ã¤ã„ãŸ\n" "ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ«å°¾ã‚’追跡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s (fd=%d) ã‚’é–‰ã˜ã¦ã„ã¾ã™" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: 相対オフセット %s ã¾ã§æŽ¢æŸ» (seek) ã§ãã¾ã›ã‚“" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: ファイル終端ã‹ã‚‰ã®ç›¸å¯¾ã‚ªãƒ•セット %s ã¾ã§æŽ¢æŸ» (seek) ã§ãã¾ã›ã‚“" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "%s ã®ä½ç½®ãŒæ±ºå®šã§ãã¾ã›ã‚“。ãƒãƒ¼ãƒªãƒ³ã‚°ã«æˆ»ã‚Šã¾ã™" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s ã¯ã‚¢ã‚¯ã‚»ã‚¹ä¸èƒ½ã«ãªã‚Šã¾ã—ãŸ" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s ã¯çµ‚端を追跡ã§ããªã„ファイルã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯" "処ç†ã‚’終了ã—ã¾ã™" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ•ァイルã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯å‡¦ç†ã‚’終了" "ã—ã¾ã™" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s ã¯ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã«ãªã‚Šã¾ã—ãŸ" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s ãŒç¾ã‚Œã¾ã—ãŸã€‚æ–°ã—ã„ファイルã®çµ‚端を追跡ã—ã¾ã™" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s ã¯ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚æ–°ã—ã„ファイルã®çµ‚端を追跡ã—ã¾ã™" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: éžãƒ–ロッキングモードã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: ファイルãŒåˆ‡ã‚Šè©°ã‚られã¾ã—ãŸ" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "ファイルãŒå…¨ã残ã£ã¦ã„ã¾ã›ã‚“" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "%s ã®è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’監視ã§ãã¾ã›ã‚“" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "inotify 資æºã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s を監視ã§ãã¾ã›ã‚“" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "inotify イベントを監視中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "inotify イベントã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: ã“ã®ç¨®é¡žã®ãƒ•ァイル終端を追跡ã§ãã¾ã›ã‚“。ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯å‡¦ç†ã‚’終" "了ã—ã¾ã™" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "%s ã«å«ã¾ã‚Œã‚‹ç•ªå·ã¯å¤§ãã™ãŽã¾ã™" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: 無変化ã®çŠ¶æ…‹ã®æœ€å¤§æ•°ãŒç„¡åйã§ã™" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: 無効ãªãƒ—ロセス番å·ã§ã™" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: 無効ãªç§’æ•°ã§ã™" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "無効ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã‚ªãƒ—ションãŒä½¿ç”¨ã•れã¾ã—㟠-- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "warning: --retry ã¯ä¸»ã«åå‰ã§è¿½è·¡ã‚’ã—ã¦ã„ã‚‹ã¨ãã®ã¿æœ‰åйã§ã™" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "警告: PID ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚--pid=PID ã¯è¿½è·¡ã‚’ã—ã¦ã„ã‚‹ã¨ãã®ã¿æœ‰åйã§ã™" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "警告: --pid=PID ã¯ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "%s ã‚’åå‰ã§è¿½è·¡ã§ãã¾ã›ã‚“" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "警告: 標準入力を永久ã«è¿½è·¡ã™ã‚‹ã“ã¨ã¯åŠ¹æžœçš„ã§ã¯ã‚りã¾ã›ã‚“" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify を使用ã§ãã¾ã›ã‚“。ãƒãƒ¼ãƒªãƒ³ã‚°ã«æˆ»ã‚Šã¾ã™" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "æ¨™æº–å…¥åŠ›ã‚’å„ FILE ã«ã‚³ãƒ”ーã—ã€æ¨™æº–出力ã«ã‚‚出力ã—ã¾ã™ã€‚\n" "\n" " -a, --append 指定ã•れãŸãƒ•ァイルã«è¿½åŠ ã—ã€ä¸Šæ›¸ãã—ãªã„\n" " -i, --ignore-interrupts 割込ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’無視\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "FILE ã« - を指定ã—ãŸå ´åˆã€æ¨™æº–出力ã«å†åº¦ã‚³ãƒ”ーã—ã¾ã™\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s ã®å¾Œã«å¼•æ•°ãŒã‚りã¾ã›ã‚“" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "%s: ç„¡åŠ¹ãªæ•´æ•°ã§ã™" #: src/test.c:241 msgid "')' expected" msgstr "')' 予期ã•れã¾ã™" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' ãŒäºˆæœŸã•れるã¨ã“ã‚ã« %s ãŒã‚りã¾ã™" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: å˜é …演算å­ãŒäºˆæœŸã•れã¾ã™" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“" #: src/test.c:367 msgid "unknown binary operator" msgstr "䏿˜ŽãªäºŒé …演算å­ã§ã™" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: 二項演算å­ãŒäºˆæœŸã•れã¾ã™" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "使用法: test EXPRESSION\n" "ã¾ãŸã¯: test\n" "ã¾ãŸã¯: [ EXPRESSION ]\n" "ã¾ãŸã¯: [ ]\n" "ã¾ãŸã¯: [ OPTION\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "終了ステータス㯠EXPRESSION ã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã¾ã™\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "EXPRESSION ãŒçœç•¥ã•れるã¨ãƒ‡ãƒ•ォルトã§ã¯å½ (false) ã«ãªã‚Šã¾ã™ã€‚ãれ以外\n" "ã®å ´åˆã¯ EXPRESSION ãŒçœŸ (true) ã‹å½ (false) ã‹ã«ã‚ˆã£ã¦çµ‚了ステータス\n" "ãŒè¨­å®šã•れã¾ã™ã€‚ã“ã‚Œã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã«ãªã‚Šã¾ã™:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSION ) EXPRESSION ãŒçœŸ\n" " ! EXPRESSION EXPRESSION ãŒå½\n" " EXPRESSION1 -a EXPRESSION2 EXPRESSION1 㨠EXPRESSION2 ã®ä¸¡æ–¹ãŒçœŸ\n" " EXPRESSION1 -o EXPRESSION2 EXPRESSION1 㨠EXPRESSION2 ã®ã„ãšã‚Œã‹ãŒçœŸ\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRING STRING ã®é•·ã•㌠0 ã§ãªã„\n" " STRING -n STRING ã¨ç­‰ä¾¡\n" " -z STRING STRING ã®é•·ã•㌠0\n" " STRING1 = STRING2 ä¸¡æ–¹ã®æ–‡å­—列ãŒç­‰ã—ã„\n" " STRING1 != STRING2 ä¸¡æ–¹ã®æ–‡å­—列ãŒç­‰ã—ããªã„\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 ㌠INTEGER2 ã«ç­‰ã—ã„\n" " INTEGER1 -ge INTEGER2 INTEGER1 ㌠INTEGER2 以上\n" " INTEGER1 -gt INTEGER2 INTEGER1 ㌠INTEGER2 より大ãã„\n" " INTEGER1 -le INTEGER2 INTEGER1 ㌠INTEGER2 以下\n" " INTEGER1 -lt INTEGER2 INTEGER1 ㌠INTEGER2 未満\n" " INTEGER1 -ne INTEGER2 INTEGER1 ㌠INTEGER2 ã«ç­‰ã—ããªã„\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FILE1 -ef FILE2 FILE1 㨠FILE2 ãŒåŒã˜ãƒ‡ãƒã‚¤ã‚¹ã§ inode ã‚‚ç­‰ã—ã„\n" " FILE1 -nt FILE2 FILE1 ㌠FILE2 より (æ›´æ–°ã•ã‚ŒãŸæ™‚刻ãŒ) æ–°ã—ã„\n" " FILE1 -ot FILE2 FILE1 ㌠FILE2 よりå¤ã„\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ãƒ–ロックデãƒã‚¤ã‚¹ã§ã‚ã‚‹\n" " -c FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ãƒ‡ãƒã‚¤ã‚¹ã§ã‚ã‚‹\n" " -d FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã‚ã‚‹\n" " -e FILE FILE ãŒå­˜åœ¨ã™ã‚‹\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤é€šå¸¸ãƒ•ァイルã§ã‚ã‚‹\n" " -g FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ set-group-ID ã•れã¦ã„ã‚‹\n" " -G FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®ŸåŠ¹ã‚°ãƒ«ãƒ¼ãƒ— ID ã«ã‚ˆã£ã¦æ‰€æœ‰ã•れã¦ã„ã‚‹\n" " -h FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã§ã‚ã‚‹ (-L ã¨åŒã˜)\n" " -k FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚¹ãƒ†ã‚£ãƒƒã‚­ãƒ¼ãƒ“ットãŒç«‹ã£ã¦ã„ã‚‹\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã§ã‚ã‚‹ (-h ã¨åŒã˜)\n" " -O FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®ŸåŠ¹ãƒ¦ãƒ¼ã‚¶ ID ã«ã‚ˆã£ã¦æ‰€æœ‰ã•れã¦ã„ã‚‹\n" " -p FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤åå‰ä»˜ãパイプã§ã‚ã‚‹\n" " -r FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤èª­ã¿è¾¼ã¿ãŒè¨±å¯ã•れã¦ã„ã‚‹\n" " -s FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å¤§ãã•㌠0 より大ãã„\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚½ã‚±ãƒƒãƒˆã§ã‚ã‚‹\n" " -t FD ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ FD ãŒã‚¿ãƒ¼ãƒŸãƒŠãƒ«ä¸Šã§é–‹ã„ã¦ã„ã‚‹\n" " -u FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ set-user-ID bit ãŒç«‹ã£ã¦ã„ã‚‹\n" " -w FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤æ›¸ãè¾¼ã¿ãŒè¨±å¯ã•れã¦ã„ã‚‹\n" " -x FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®Ÿè¡Œ (ã¾ãŸã¯æ¤œç´¢) ãŒè¨±å¯ã•れã¦ã„ã‚‹\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "-h ãŠã‚ˆã³ -L を除ãã€å…¨ã¦ã® FILE 関連ã®ãƒ†ã‚¹ãƒˆã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿りã¾" "ã™ã€‚\n" "å°æ‹¬å¼§ã¯ã‚·ã‚§ãƒ«ã«å¯¾ã—㦠(ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãªã©ã«ã‚ˆã£ã¦) エスケープãŒå¿…è¦ãªã“" "ã¨\n" "ã«æ³¨æ„ã—ã¦ãã ã•ã„。INTEGER ã¯æ–‡å­—列ã®é•·ã•を返㙠-l STRING を使ã†ã“ã¨ã‚‚å¯èƒ½ã§" "ã™ã€‚\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "備考: [ ã§ã¯ --help ãŠã‚ˆã³ --version オプションを使ãˆã¾ã™ãŒã€test ã§ã¯\n" "使ãˆã¾ã›ã‚“。 test ã¯ãれらを空ã§ãªã„ STRING ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚\n" #: src/test.c:791 msgid "test and/or [" msgstr "test ãŠã‚ˆã³/ã¾ãŸã¯ [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "`]' ãŒã‚りã¾ã›ã‚“" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "%s: 余分ãªå¼•æ•°ã§ã™" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "警告: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "警告: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "警告: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "使用法: %s [OPTION] DURATION COMMAND [ARG]...\n" "ã¾ãŸã¯: %s [OPTION]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "COMMAND ã‚’é–‹å§‹ã—ã€DURATION 経éŽå¾Œã‚‚実行中ã®å ´åˆã¯çµ‚了ã•ã›ã¾ã™ã€‚\n" "\n" "é•·ã„オプションã«å¿…é ˆã®å¼•æ•°ã¯çŸ­ã„オプションã«ã‚‚å¿…é ˆã§ã™ã€‚\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " timeout をシェルプロンプトã‹ã‚‰ç›´æŽ¥å®Ÿè¡Œã—ã¦ã„ãªã„時ã€" "COMMAND\n" " ㌠TTY ã‹ã‚‰ã®å…¥åŠ›ã‚’èª­ã¿å–りã€TTY シグナルをå—ã‘å–ã‚‹ã“ã¨ã‚’" "許\n" " å¯ã™ã‚‹ã€‚ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ COMMAND ã®å­ãƒ—ロセスã¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ" "ã—\n" " ãªã„。\n" " -k, --kill-after=DURATION\n" " 最åˆã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã£ã¦ã‹ã‚‰ DURATION を経éŽã—ã¦ã‚‚ " "COMMAND \n" " ãŒå‹•作ã—ã¦ã„ã‚‹å ´åˆã¯ KILL シグナルをé€ã‚‹\n" " -s, --signal=SIGNAL\n" " タイムアウト時ã«é€ã‚‹ã‚·ã‚°ãƒŠãƒ«ã‚’指定ã™ã‚‹ã€‚ SIGNAL\n" " ã¯`HUP' ã®ã‚ˆã†ãªåå‰ã‹ç•ªå·ã‚’使用ã™ã‚‹ã€‚シグナル\n" " 一覧ã«ã¤ã„ã¦ã¯ `kill -l` ã‚’å‚ç…§\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DURATION ã¯æµ®å‹•å°æ•°ã§æŒ‡å®šã—ã€æ¬¡ã®æŽ¥å°¾è¾žã‚’追加ã§ãã¾ã™:\n" "`s' ã¯ç§’ (デフォルト)〠`m' ã¯åˆ†ã€`h' ã¯æ™‚ã€`d' ã¯æ—¥ã€‚\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "コマンドãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ãŸå ´åˆã€çµ‚了ステータス㯠124 ã«ãªã‚Šã¾ã™ã€‚ãれ以外\n" "ã®çµ‚了ステータス㯠COMMAND ã®çµ‚了ステータスã«ãªã‚Šã¾ã™ã€‚ã‚·ã‚°ãƒŠãƒ«ãŒæŒ‡å®šã•れ\n" "ã¦ã„ãªã„å ´åˆã€ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæ™‚ã«ã¯ TERM シグナルãŒé€ã‚‰ã‚Œã¾ã™ã€‚TERM シグナル\n" "ã¯ã€ãƒ—ロセスã§ãƒ–ãƒ­ãƒƒã‚¯ã‹æ•æ‰ã•れãªã„é™ã‚Šãƒ—ロセスを終了ã•ã›ã¾ã™ã€‚TERM ã§çµ‚\n" "了ã§ããªã„プロセスを終了ã•ã›ã‚‹ãŸã‚ã«ã¯ KILL (9) シグナルãŒå¿…è¦ã§ã™ã€‚\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "警告: コアダンプã®ç„¡åŠ¹åŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "コマンド待機中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "%s: ç„¡åŠ¹ãªæ—¥ä»˜ã®æ›¸å¼ã§ã™" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "%s ã« touch ã§ãã¾ã›ã‚“" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を設定中ã§ã™" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "å„ FILE ã®ã‚¢ã‚¯ã‚»ã‚¹æ—¥æ™‚ã¨æ›´æ–°æ—¥æ™‚ã‚’ç¾åœ¨æ™‚åˆ»ã«æ›´æ–°ã—ã¾ã™ã€‚\n" "\n" "引数 FILE ãŒå­˜åœ¨ã—ãªã„å ´åˆã€ -c ã¾ãŸã¯ -h ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れãªã„é™ã‚Šã€\n" "空ファイルãŒä½œæˆã•れã¾ã™ã€‚\n" "\n" "FILE 引数㫠- を指定ã™ã‚‹ã¨ç‰¹åˆ¥ã«å–り扱ã‚ã‚Œã€æ¨™æº–出力ã«é–¢ä¿‚ã¥ã‘られã¦ã„ã‚‹\n" "ãƒ•ã‚¡ã‚¤ãƒ«ã®æ—¥æ™‚を変更ã—ã¾ã™ã€‚\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a アクセス日時ã®ã¿å¤‰æ›´ã™ã‚‹\n" " -c, --no-create ファイルを作æˆã—ãªã„\n" " -d, --date=STRING ç¾åœ¨æ™‚刻ã®ä»£ã‚り㫠STRING を解釈ã—ã¦ä½¿ç”¨ã™ã‚‹\n" " -f (無視ã•れる)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference シンボリックリンクå‚ç…§å…ˆã§ã¯ãªãシンボリック自体ã«\n" " 影響を与ãˆã‚‹ (シンボリックリンクã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’\n" " 変更ã§ãるシステムã®ã¿æœ‰åй)\n" " -m 更新日時ã®ã¿å¤‰æ›´ã™ã‚‹\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FILE ç¾åœ¨æ™‚刻ã®ä»£ã‚り㫠FILE ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を使用ã™ã‚‹\n" " -t STAMP ç¾åœ¨æ™‚刻ã®ä»£ã‚り㫠[[CC]YY]MMDDhhmm[.ss] å½¢å¼ã®\n" " STAMP ã§æŒ‡å®šã•ã‚ŒãŸæ™‚刻を使ã†\n" " --time=WORD WORD 指定ã—ãŸç¨®é¡žã®æ™‚刻を変更ã™ã‚‹:\n" " WORD ㌠access, atime, use ã®å ´åˆã¯ -a ã¨ç­‰ä¾¡\n" " WORD ㌠modify, mtime ã®å ´åˆã¯ -m ã¨ç­‰ä¾¡\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "-d 㨠-t オプションã§ã¯ç•°ãªã£ãŸæ—¥æ™‚ã®å½¢å¼ã‚’å—ã‘付ã‘ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•" "ã„。\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "時刻を2カ所以上ã‹ã‚‰å–å¾—ã™ã‚‹ã‚ˆã†ã«ã¯æŒ‡å®šã§ãã¾ã›ã‚“" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "警告: `touch %s' ã¯éžæŽ¨å¥¨ã§ã™ã€‚ `touch -t %04ld%02d%02d%02d%02d.%02d' を使用" "ã—ã¦ãã ã•ã„" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "使用法: %s [OPTION]... SET1 [SET2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚“ã æ–‡å­—ã‚’ç½®æ›ã€åˆ‡ã‚Šè©°ã‚ã€å‰Šé™¤ã—ã€æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾" "ã™ã€‚\n" "\n" " -c, --complement SET1 ã®è£œé›†åˆã‚’使用ã™ã‚‹\n" " -d, --delete SET1 ä¸­ã®æ–‡å­—を削除ã™ã‚‹ã€‚ç½®æ›ã¯è¡Œã‚ãªã„\n" " -s, --squeeze-repeats 入力ã®ä¸­ã« SET1 ã«å«ã¾ã‚Œã‚‹æ–‡å­—ãŒé€£ç¶šã—ã¦å­˜åœ¨ã™ã‚‹\n" " å ´åˆã« 1 個ã«ç½®æ›ã™ã‚‹\n" " -t, --truncate-set1 最åˆã« SET1 ã‚’ SET2 ã®é•·ã•ã¾ã§åˆ‡ã‚Šè©°ã‚ã‚‹\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SET ã¯æ–‡å­—列ã«ã‚ˆã£ã¦æŒ‡å®šã—ã¾ã™ã€‚多ãã®å ´åˆãã®æ–‡å­—自身を表ç¾ã—ã¾ã™ã€‚\n" "解釈ã®ã•れ方ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:\n" "\n" " \\NNN 文字ã®å…«é€²æ•°è¡¨ç¾(1 ã‹ã‚‰ 3 個㮠八進数)\n" " \\\\ ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥\n" " \\a ベル\n" " \\b ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹\n" " \\f フォームフィード\n" " \\n 改行\n" " \\r 復帰\n" " \\t 水平タブ\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v 垂直タブ\n" " CHAR1-CHAR2 CHAR1 ã‹ã‚‰ CHAR2 ã¾ã§ã‚’昇順ã«å±•é–‹ã—ãŸæ–‡å­—列\n" " [CHAR1-CHAR2] SET1 㨠SET2 ã®ä¸¡æ–¹ã§æŒ‡å®šã—ãŸå ´åˆã«ã¯ CHAR1-CHAR2 ã¨åŒã˜\n" " [CHAR*] SET2 ã¨ã—ã¦, CHAR ã‚’ SET1 ã®é•·ã•分展開ã—ãŸæ–‡å­—列\n" " [CHAR*REPEAT] CHAR ã‚’ REPEAT 個展開ã—ãŸæ–‡å­—列, REPEAT ã®å€¤ã‚’ 0 ã‹ã‚‰\n" " å§‹ã‚ãŸå ´åˆã«ã¯å…«é€²æ•°ã¨ã—ã¦è§£é‡ˆã™ã‚‹\n" " [:alnum:] å…¨ã¦ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¨æ•°å­—\n" " [:alpha:] å…¨ã¦ã®ã‚¢ãƒ«ãƒ•ァベット\n" " [:blank:] å…¨ã¦ã®æ°´å¹³æ–¹å‘空白類文字\n" " [:cntrl:] å…¨ã¦ã®åˆ¶å¾¡æ–‡å­—\n" " [:digit:] å…¨ã¦ã®æ•°å­—\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] å…¨ã¦ã®è¡¨ç¤ºå¯èƒ½æ–‡å­—。空白ã¯å«ã¾ãªã„\n" " [:lower:] å…¨ã¦ã®å°æ–‡å­—アルファベット\n" " [:print:] å…¨ã¦ã®è¡¨ç¤ºå¯èƒ½æ–‡å­—。空白もå«ã‚€\n" " [:punct:] å…¨ã¦ã®å¥èª­ç‚¹\n" " [:space:] å…¨ã¦ã®æ°´å¹³åŠã³åž‚直タブ文字\n" " [:upper:] å…¨ã¦ã®å¤§æ–‡å­—アルファベット\n" " [:xdigit:] å…¨ã¦ã®å六進数数値\n" " [=CHAR=] å…¨ã¦ã® CHAR ã¨ç­‰ä¾¡ãªæ–‡å­—\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "ç½®æ›ã¯ -d ãŒä¸Žãˆã‚‰ã‚Œãšã€ SET1 ãŠã‚ˆã³ SET2 ã®ä¸¡æ–¹ãŒæŒ‡å®šã•れãŸã¨ãã«å®Ÿè¡Œã•れã¾" "ã™ã€‚\n" "-t ã¯ç½®æ›ã®æ™‚ã®ã¿ä½¿ç”¨ã•れã¾ã™ã€‚SET2 ã¯å¿…è¦ã«å¿œã˜ã¦ SET1 ã®é•·ã•ã¾ã§æœ€å¾Œã®æ–‡å­—" "ã‚’\n" "繰り返ã™ã“ã¨ã§æ‹¡å¼µã•れã¾ã™ã€‚ SET2 ã®è¶…éŽã—ãŸæ–‡å­—ã¯ç„¡è¦–ã•れã¾ã™ã€‚[:lower:] ãŠ" "よ\n" "ã³ [:upper:] ã®ã¿ã€ç½®æ›ã«ãŠã‘ã‚‹ SET2 ã§ä½¿ç”¨ã™ã‚‹ã¨æ˜‡é †ã§ã‚ã‚‹ã“ã¨ãŒä¿è¨¼ã•れã¾" "ã™ã€‚\n" "ã“れã¯å¤§æ–‡å­—ãƒ»å°æ–‡å­—ã®å¤‰æ›ã‚’指定ã™ã‚‹æ™‚ã®ã¿ã«çµ„ã¿åˆã‚ã›ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ç½®" "æ›\n" "ã§ã‚‚削除ã§ã‚‚ãªã„å ´åˆã¯ -s ã§ã¯ SET1 ãŒä½¿ã‚れã¾ã™ã€‚切り詰ã‚ã®å ´åˆã«ã¯ SET2 ãŒ" "ç½®\n" "æ›ã€å‰Šé™¤ã®å¾Œã«ä½¿ç”¨ã•れã¾ã™ã€‚\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "警告: 曖昧ãªå…«é€²æ•°ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ— \\%c%c%c ã¯\n" "\t2ãƒã‚¤ãƒˆã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ \\0%c%c, %c ã¨ã—ã¦è§£é‡ˆã•れã¾ã™" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "警告: æ–‡å­—åˆ—ã®æœ€å¾Œã«ã‚るエスケープã•れã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯å¯æ¬æ€§ãŒã‚り" "ã¾ã›ã‚“" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "範囲指定 `%s-%s' ã®ç«¯ç‚¹ãŒé€†é †ã«æŒ‡å®šã•れã¦ã„ã¾ã™" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "[c*n] ã®æ§‹æˆå†…ã«ã‚る繰り返ã—回数 %s ã¯ç„¡åйã§ã™" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "文字クラスåãŒã‚りã¾ã›ã‚“ `[::]'" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "ç­‰ä¾¡ã‚¯ãƒ©ã‚¹ã®æ–‡å­—ãŒã‚りã¾ã›ã‚“ `[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "%s ã¯ç„¡åŠ¹ãªæ–‡å­—クラスã§ã™" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: 等価クラス演算å­ã¯ä¸€ã¤ã®æ–‡å­—ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "[:upper:] 㨠[:lower:] ã¨ã®æ§‹æˆãŒä¸€è‡´ã—ã¾ã›ã‚“" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "SET å†…ã®æ–‡å­—ãŒå¤šã™ãŽã¾ã™" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "string2 より長ㄠstring1 ã§ç½®æ›ã‚’行ã†å ´åˆã«ã¯ string2 ã¯æ–‡å­—クラス\n" "ã§çµ‚了ã—ã¦ã„ã¦ã¯ã„ã‘ã¾ã›ã‚“" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "[c*] 繰り返ã—回数指定ã¯1å€‹ç›®ã®æ–‡å­—列中ã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "[c*] 繰り返ã—回数指定㯠2å€‹ç›®ã®æ–‡å­—列中ã§ã¯1回ã ã‘利用ã§ãã¾ã™" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "ç½®æ›ã®æ™‚ã«ã¯ã€2å€‹ç›®ã®æ–‡å­—列中㧠[=c=] å½¢å¼ã®è¡¨ç¾ã¯ã§ãã¾ã›ã‚“" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "ç½®æ›ã®æ™‚ã€2å€‹ç›®ã®æ–‡å­—列中ã§åˆ©ç”¨ã§ãる文字 `upper' 㨠`lower' ã ã‘ã§ã™" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" "SET1 を切りæ¨ã¦ã‚‹ã®ã§ã¯ãªã„å ´åˆã¯, 2å€‹ç›®ã®æ–‡å­—列を指定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "è£œé›†åˆæ–‡å­—クラスã§ç½®æ›ã‚’行ãªã†ã¨ã, 2 ã¤ç›®ã®æ–‡å­—列ã¯è©²å½“ã™ã‚‹æ–‡å­—ã®å…¨ã¦ã®\n" "ç½®æ›çµæžœã‚’特定ã§ããªã‘れã°ãªã‚Šã¾ã›ã‚“" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*] ãŒ2å€‹ç›®ã®æ–‡å­—列ã«å­˜åœ¨ã—ã¦ã‚‚良ã„ã®ã¯ç½®æ›ã®æ™‚ã®ã¿ã§ã™" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "削除ãŠã‚ˆã³åˆ‡ã‚Šè©°ã‚ã®ç¹°ã‚Šè¿”ã—を両方ã¨ã‚‚行ã†ã¨ãã¯æ–‡å­—列を2個与ãˆãªã‘れã°ã„ã‘ã¾" "ã›ã‚“。" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "ç½®æ›ã‚’行ã†ã¨ãã¯2å€‹ã®æ–‡å­—列を与ãˆãªã‘れã°ã„ã‘ã¾ã›ã‚“" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "切り詰ã‚を繰り返ã•ãªã„ã§å‰Šé™¤ã™ã‚‹æ™‚ã¯æ–‡å­—列ã¯ä¸€ã¤ã ã‘å—ã‘付ã‘られã¾ã™" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "使用法: %s [コマンドライン引数ã¯ç„¡è¦–ã•れã¾ã™]\n" "ã¾ãŸã¯: %s OPTION\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "çµ‚äº†ã‚³ãƒ¼ãƒ‰ã¯æˆåŠŸã«ãªã‚Šã¾ã™ã€‚" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "終了コードã¯å¤±æ•—ã«ãªã‚Šã¾ã™ã€‚" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "使用法: %s OPTION... FILE...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "å„ FILE を指定ã—ãŸå¤§ãã•ã¾ã§æ‹¡å¼µã¾ãŸã¯åˆ‡ã‚Šè©°ã‚を行ã„ã¾ã™ã€‚\n" "\n" "FILE ãŒå­˜åœ¨ã—ãªã„å ´åˆã¯ä½œæˆã•れã¾ã™ã€‚\n" "\n" "FILE ãŒæŒ‡å®šã—ãŸã‚µã‚¤ã‚ºã‚ˆã‚Šå¤§ãã„å ´åˆã¯ä½™åˆ†ãªãƒ‡ãƒ¼ã‚¿ã¯å¤±ã‚れã¾ã™ã€‚ FILE ãŒ\n" "å°ã•ã„å ´åˆã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã—ãŸã‚µã‚¤ã‚ºã‚ˆã‚Šå°ã•ã„å ´åˆã¯ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ‹¡å¼µã•れã€\n" "æ‹¡å¼µã—ãŸéƒ¨åˆ† (hole ã«ãªã‚‹) を読ã¿è¾¼ã‚“ã ã¨ãã¯å€¤ãŒ 0 ã®ãƒã‚¤ãƒˆã¨ãªã‚Šã¾ã™ã€‚\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create ファイルを作æˆã—ãªã„\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks SIZE ã‚’ãƒã‚¤ãƒˆã§ã¯ãªã I/O ブロックã¨ã—ã¦æ‰±ã†\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFILE サイズã¨ã—㦠RFILE ã®ã‚µã‚¤ã‚ºã‚’使用ã™ã‚‹\n" " -s, --size=SIZE ファイルサイズを SIZE ã«è¨­å®šãƒ»èª¿æ•´ã™ã‚‹\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "SIZE ã«ã¯æ¬¡ã®æŽ¥é ­è¾žã‚’ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™:\n" "`+' 拡大ã™ã‚‹ã€ `-' 切り詰ã‚る〠`<' 最大ã€`>' 最å°ã€\n" "`/' 倿•°ã¾ã§åˆ‡ã‚Šæ¨ã¦ã‚‹, `%' 倿•°ã¾ã§åˆ‡ã‚Šä¸Šã’る。\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "%<PRIdMAX> * %<PRIdMAX> ãƒã‚¤ãƒˆã®ãƒ–ロックã¯ãƒ•ァイル %s ã«å¯¾ã—ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ•ロー" "ã—ã¦ã„ã¾ã™" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。負ã®å¤§ãã•ã«ãªã£ã¦ã„るよã†ã§ã™" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "%s ã®ã®ã‚µã‚¤ã‚ºã‚’å–å¾—ã§ãã¾ã›ã‚“" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "ファイル %s ã®åˆ‡ã‚Šä¸Šã’時ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ•ローãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "ファイル %s ã®æ‹¡å¤§æ™‚ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ•ローãŒç™ºç”Ÿã—ã¾ã—ãŸ" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "ファイル %s ã‚’ %<PRIdMAX> ãƒã‚¤ãƒˆã¸åˆ‡ã‚Šè©°ã‚ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "複数ã®ç›¸å¯¾ä½ç½®ã‚’表ã™ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã™" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "%s ã¾ãŸã¯ %s ã®ã„ãšã‚Œã‹ã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "%2$s ã¨ä½µã›ã¦ç›¸å¯¾çš„㪠%1$s を指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ãŒ %s ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s を書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "使用法: %s [OPTION] [FILE]\n" "FILE 内ã«å«ã¾ã‚Œã¦ã„る部分的ã«é †åºã¥ã‘られãŸé …目を使用ã—ã¦ã€å®Œå…¨ã«é †åºã¥ã‘られ" "ãŸä¸€è¦§\n" "を作æˆã—ã€å‡ºåŠ›ã‚’è¡Œã„ã¾ã™ã€‚\n" "FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€- ã®å ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: 入力ã«è¦ç´ æ•°ãŒå¥‡æ•°ã®é …ç›®ãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: 入力ã«ãƒ«ãƒ¼ãƒ—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "æ¨™æº–å…¥åŠ›ã«æŽ¥ç¶šã•れã¦ã„る端末ã®ãƒ•ァイルåを表示ã—ã¾ã™ã€‚\n" "\n" " -s, --silent, --quiet 何も出力ã—ãªã„。終了ステータスã®ã¿è¿”ã™\n" #: src/tty.c:120 msgid "not a tty" msgstr "tty ã§ã¯ã‚りã¾ã›ã‚“" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "システム情報を表示ã—ã¾ã™ã€‚ OPTION ãŒæŒ‡å®šã•れã¦ã„ãªã„å ´åˆã¯ -s ã¨åŒã˜ã§ã™ã€‚\n" "\n" " -a, --all 以下ã®é †ç•ªã§ã‚·ã‚¹ãƒ†ãƒ æƒ…報を全ã¦è¡¨ç¤ºã™ã‚‹ (ãŸã ã— -" "p\n" " 㨠-i ㌠unknown ã®å ´åˆã¯çœç•¥ã•れる):\n" " -s, --kernel-name カーãƒãƒ«åを表示ã™ã‚‹\n" " -n, --nodename ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒŽãƒ¼ãƒ‰ã¨ã—ã¦ã®ãƒ›ã‚¹ãƒˆåを表示ã™ã‚‹\n" " -r, --kernel-release カーãƒãƒ«ãƒªãƒªãƒ¼ã‚¹ç•ªå·ã‚’表示ã™ã‚‹\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version カーãƒãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹\n" " -m, --machine マシンã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢åを表示ã™ã‚‹\n" " -p, --processor プロセッサã®ç¨®é¡žã‚’表示ã™ã‚‹ã€‚䏿˜Žãªå ´åˆã¯ \"unknown" "\" ã¨ãªã‚‹\n" " -i, --hardware-platform ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãƒ—ラットフォームを表示ã™ã‚‹ã€‚䏿˜Žãªå ´åˆ" "㯠\"unknown\" ã¨ãªã‚‹\n" " -o, --operating-system オペレーティングシステムã®åå‰ã‚’表示ã™ã‚‹\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "マシンã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã‚’表示ã—ã¾ã™ã€‚\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "システムåã‚’å–å¾—ã§ãã¾ã›ã‚“" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å„ FILE ã«å«ã¾ã‚Œã¦ã„る空白をタブã«å¤‰æ›ã—ã¦æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚\n" "FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€ - ãŒæŒ‡å®šã•れãŸå ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all 先頭ã®ç©ºç™½ã ã‘ã§ãªãã€å…¨ã¦ã®ç©ºç™½ã‚’変æ›ã™ã‚‹\n" " --first-only 空白ã®ã†ã¡æœ€åˆã®ä¸€é€£ã®ç©ºç™½ã®ã¿å¤‰æ›ã™ã‚‹ (-a より優先ã•れ" "ã‚‹)\n" " -t, --tabs=N タブ幅を 8文字ã§ã¯ãªã N 文字ã«ã™ã‚‹ (-a ãŒæœ‰åйã«ãªã‚‹)\n" " -t, --tabs=LIST タブä½ç½®ã‚’コンマã§åŒºåˆ‡ã‚‰ã‚ŒãŸ LIST ã«è¨­å®šã™ã‚‹ (-a ãŒæœ‰åйã«" "ãªã‚‹)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "タブãŒé›¢ã‚Œã™ãŽã¦ã„ã¾ã™" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "タブ幅ãŒå¤§ãã™ãŽã¾ã™" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "使用法: %s [OPTION]... [INPUT [OUTPUT]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "INPUT (ã¾ãŸã¯æ¨™æº–入力) ã§é€£ç¶šã—ã¦åŒã˜è¡ŒãŒã‚れ㰠フィルタをã—㦠OUTPUT\n" "(ã¾ãŸã¯æ¨™æº–出力) ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚\n" "\n" "ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れãªã„å ´åˆã€åŒã˜è¡Œã¯ä¸€ã¤ã«ã¾ã¨ã‚られã¾ã™ã€‚\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count 行ã®å‰ã«ç™ºç”Ÿå›žæ•°ã‚’出力ã™ã‚‹\n" " -d, --repeated é‡è¤‡ã—ãŸè¡Œã®ã¿å‡ºåŠ›ã™ã‚‹\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] å…¨ã¦ã®é‡è¤‡ã—ãŸè¡Œã‚’出力ã™ã‚‹\n" " delimit-method={none(default),prepend,separate}\n" " 空白行ã§åŒºåˆ‡ã‚‹\n" " -f, --skip-fields=N 最åˆã® N 個ã®ãƒ•ィールドを比較ã—ãªã„\n" " -i, --ignore-case 比較ã§å¤§æ–‡å­—ã¨å°æ–‡å­—ã®é•ã„を無視ã™ã‚‹\n" " -s, --skip-chars=N 最åˆã® N æ–‡å­—ã¯æ¯”較ã—ãªã„\n" " -u, --unique é‡è¤‡ã—ã¦ã„ãªã„行ã®ã¿å‡ºåŠ›ã™ã‚‹\n" " -z, --zero-terminated 行ã®çµ‚ã‚りを (改行ã§ã¯ãªã) 0 ã¨ã™ã‚‹\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N 行ã®ä¸­ã§ N 文字以上を比較ã—ãªã„\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "フィールドã¨ã¯ç©ºç™½é¡žæ–‡å­— (通常ã¯ã‚¹ãƒšãƒ¼ã‚¹ã¨ã‚¿ãƒ–) ãŒã¾ã¨ã¾ã£ã¦ã‚りã€ãã®å¾Œã«éž" "空白類文字\n" "ãŒã‚ã‚‹ã‚‚ã®ã§ã™ã€‚文字ã®å‰ã®ãƒ•ィールドã¯ã‚¹ã‚­ãƒƒãƒ—ã•れã¾ã™ã€‚\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "備考: 'uniq' ã¯éš£æŽ¥ã—ã¦ãªã„é™ã‚Šé‡è¤‡ã—ãŸè¡Œã‚’検出ã—ã¾ã›ã‚“。最åˆã«\n" "入力をソートã—ã¦ãã ã•ã„。`uniq' を使用ã›ãš `sort -u' を使用ã™ã‚‹ã“ã¨\n" "ã‚‚ã§ãã¾ã™ã€‚ã¾ãŸã€æ¯”較ã®å„ªå…ˆé †ä½ã¯ `LC_COLLATE' ã§æŒ‡å®šã•れãŸè¦å‰‡ã«\n" "基ã¥ãã¾ã™ã€‚\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "é‡è¤‡ã—ãŸè¡ŒãŒå¤šã™ãŽã¾ã™" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "スキップã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰æ•°ã®æŒ‡å®šãŒç„¡åйã§ã™" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "スキップã™ã‚‹ãƒã‚¤ãƒˆæ•°ã®æŒ‡å®šãŒç„¡åйã§ã™" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "比較ã™ã‚‹ãƒã‚¤ãƒˆæ•°ã®æŒ‡å®šãŒç„¡åйã§ã™" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "å…¨ã¦ã®é‡è¤‡è¡Œã¨ç¹°ã‚Šè¿”ã—回数を表示ã™ã‚‹ã“ã¨ã«æ„味ãŒã‚りã¾ã›ã‚“" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "使用法: %s FILE\n" "ã¾ãŸã¯: %s OPTION\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "指定ã—㟠FILE を削除ã™ã‚‹ãŸã‚ã« unlink 関数を呼ã³å‡ºã—ã¾ã™ã€‚\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "%s を削除 (unlink) ã§ãã¾ã›ã‚“" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "起動時刻をå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %P %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "ç¨¼åƒæ™‚é–“ ???? days ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "ç¨¼åƒæ™‚é–“ %ld æ—¥ %2d:%02d " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "ç¨¼åƒæ™‚é–“ %ld æ—¥ %2d:%02d " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu ユーザ" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", å¹³å‡è² è·çއ: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "ç¾åœ¨æ™‚刻ã€ã‚·ã‚¹ãƒ†ãƒ èµ·å‹•ã‹ã‚‰ã®æ™‚é–“ã€ã‚·ã‚¹ãƒ†ãƒ ä¸Šã«ã„るユーザ数ã€ãŠã‚ˆã³\n" "ç›´è¿‘1ã€5ã€15分間ã®å®Ÿè¡Œã‚­ãƒ¥ãƒ¼ã«å­˜åœ¨ã™ã‚‹ã‚¸ãƒ§ãƒ–ã®å¹³å‡æ•°ã‚’表示ã—ã¾ã™ã€‚" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" "å¹³å‡\n" "è² è·çއã«ã¯å‰²ã‚Šè¾¼ã¿ä¸å¯èƒ½ãª sleep 状態ã«ã‚るプロセス数も影響ã—ã¾ã™ã€‚\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "FILE を指定ã—ãªã„å ´åˆã€%s ãŒä½¿ç”¨ã•れã¾ã™ã€‚ FILE ã¨ã—ã¦ã¯ %s ãŒä¸€èˆ¬çš„ã§ã™ã€‚\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "ç¾åœ¨èª°ãŒãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹ã‹ã«ã¤ã„ã¦ã¯ FILE ã«åŸºã¥ã„ã¦å‡ºåŠ›ã•れã¾ã™ã€‚\n" "FILE を指定ã—ãªã„å ´åˆã€%s ãŒä½¿ç”¨ã•れã¾ã™ã€‚ FILE ã¨ã—ã¦ã¯ %s ãŒä¸€èˆ¬çš„ã§ã™ã€‚\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "å„ FILE ã®æ”¹è¡Œã€å˜èªžæ•°ãŠã‚ˆã³ãƒã‚¤ãƒˆæ•°ã‚’表示ã—ã¾ã™ã€‚ FILE ãŒè¤‡æ•°æŒ‡å®šã•れãŸ\n" "å ´åˆã¯è¡Œæ•°ã®åˆè¨ˆã‚‚表示ã—ã¾ã™ã€‚ FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€ FILE ㌠- ã®å ´åˆã€\n" "標準入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚å˜èªžã¯ç©ºç™½é¡žæ–‡å­—ã§åŒºåˆ‡ã‚‰ã‚ŒãŸé•·ã•㌠0 ã§ãªã„文字\n" "列ã§ã™ã€‚\n" "æ•°ãˆã¦è¡¨ç¤ºã™ã‚‹ã‚‚ã®ã‚’é¸æŠžã™ã‚‹ãŸã‚ã«ä¸‹è¨˜ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã§ãã¾ã™ã€‚表示ã¯\n" "å¸¸ã«æ¬¡ã®é †ã§ã™: 改行数ã€å˜èªžæ•°ã€æ–‡å­—æ•°ã€ãƒã‚¤ãƒˆæ•°ã€è¡Œã®æœ€å¤§é•·ã€‚\n" " -c, --bytes ãƒã‚¤ãƒˆæ•°ã‚’表示ã™ã‚‹\n" " -m, --chars 文字数を表示ã™ã‚‹\n" " -l, --lines æ”¹è¡Œã®æ•°ã‚’表示ã™ã‚‹\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F 入力ã¨ã—㦠NULL 文字ã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ•ァイル F を使用\n" " ã™ã‚‹ã€‚F ㌠- ã®å ´åˆã¯åå‰ã‚’標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€\n" " -L, --max-line-length 最も長ã„行ã®é•·ã•を表示ã™ã‚‹\n" " -w, --words å˜èªžæ•°ã‚’表示ã™ã‚‹\n" #: src/who.c:210 msgid " old " msgstr " 昔 " #: src/who.c:440 msgid "system boot" msgstr "システム起動" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "ID=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "端末=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "終了=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "時刻ã®å¤‰æ›´" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "run-level" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "最後=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "ユーザ数=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "åå‰" #: src/who.c:559 msgid "LINE" msgstr "端末" #: src/who.c:559 msgid "TIME" msgstr "時間" #: src/who.c:559 msgid "IDLE" msgstr "IDLE" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "コメント" #: src/who.c:560 msgid "EXIT" msgstr "終了" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "使用法: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "ç¾åœ¨ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„るユーザã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¾ã™ã€‚\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all -b -d --login -p -r -t -T -u ã¨åŒã˜\n" " -b, --boot 最後ã«ã‚·ã‚¹ãƒ†ãƒ ãŒèµ·å‹•ã—ãŸæ™‚刻\n" " -d, --dead 終了ã—ãŸãƒ—ロセスを表示\n" " -H, --heading ヘッダ行を表示\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login システムã®ãƒ­ã‚°ã‚¤ãƒ³ãƒ—ロセスを表示ã™ã‚‹\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup æ­£å¼ãªãƒ›ã‚¹ãƒˆåã‚’ DNS ã‹ã‚‰å–å¾—ã™ã‚‹ã‚ˆã†ã«è©¦ã¿ã‚‹\n" " -m 標準入力ã«é–¢é€£ã¥ã‘られãŸãƒ›ã‚¹ãƒˆåã¨ãƒ¦ãƒ¼ã‚¶ã®ã¿ã‚’表示ã™ã‚‹\n" " -p, --process init ã«ã‚ˆã£ã¦èµ·å‹•ã•れãŸã‚¢ã‚¯ãƒ†ã‚£ãƒ–プロセスを表示ã™ã‚‹\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count ログイン中ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ­ã‚°ã‚¤ãƒ³åã¨ãƒ¦ãƒ¼ã‚¶æ•°\n" " -r, --runlevel ç¾åœ¨ã®ãƒ©ãƒ³ãƒ¬ãƒ™ãƒ«ã‚’表示\n" " -s, --short åå‰, 行ãŠã‚ˆã³æ™‚é–“ã®ã¿ã‚’表示 (標準)\n" " -t, --time 最後ã«ã‚·ã‚¹ãƒ†ãƒ ã®æ™‚刻ãŒå¤‰æ›´ã•ã‚ŒãŸæ™‚刻を表示\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg ユーザã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸çŠ¶æ…‹ã‚’ +, - ã¾ãŸã¯ ? ã§è¿½è¨˜\n" " -u, --users ログイン中ã®ãƒ¦ãƒ¼ã‚¶ã‚’一覧\n" " --message -T ã¨åŒã˜\n" " --writable -T ã¨åŒã˜\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã•れãªã„å ´åˆã¯, %s を使用.\n" "ファイルã¨ã—㦠%s ãŒæŒ‡å®šã•れるã¨, ã“れã¾ã§ã®ç´¯ç©ãƒ‡ãƒ¼ã‚¿ã‚’表示.\n" "引数1 引数2 ãŒæŒ‡å®šã•れるã¨, -m ãŒä»®å®š: 通常㯠`am i' ã¾ãŸã¯ `mom likes'.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "ç¾åœ¨ã®å®ŸåŠ¹ãƒ¦ãƒ¼ã‚¶ ID ã«å¯¾å¿œã—ãŸãƒ¦ãƒ¼ã‚¶åを表示ã—ã¾ã™ã€‚ id -un ã¨ç­‰ä¾¡ã§ã™ã€‚\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: ユーザID %lu ã«å¯¾ã™ã‚‹ãƒ¦ãƒ¼ã‚¶åãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s [STRING]...\n" "ã¾ãŸã¯: %s OPTION\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "指定ã•れãŸå…¨ã¦ã® STRING ã¾ãŸã¯ `y' ã‹ã‚‰ãªã‚‹è¡Œã‚’繰り返ã—出力ã—ã¾ã™ã€‚\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "å›ºå®šåˆ¶åº¦ã®æ¼”算を使用ã—ã¾ã™" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "ä»»æ„ç²¾åº¦ã®æ¼”算を使用ã—ã¾ã™" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "ファイル %s を作æˆã—ã¦ã„ã¾ã™\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "使用法: %s [OPTION]... [USER]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: 接尾辞ã®é•·ã•ãŒæ­£ã—ãã‚りã¾ã›ã‚“" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "例:\n" #~ " %s /usr/bin/sort 出力 \"sort\"。\n" #~ " %s include/stdio.h .h 出力 \"stdio\"。\n" #~ msgid "reading %s" #~ msgstr "%s を読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #~ msgid "writing %s" #~ msgstr "%s を書ã込んã§ã„ã¾ã™" #~ msgid "closing %s" #~ msgstr "%s ã‚’é–‰ã˜ã¦ã„ã¾ã™" #~ msgid "accessing %s" #~ msgstr "%s ã«ã‚¢ã‚¯ã‚»ã‚¹ä¸­" #~ msgid "opening %s" #~ msgstr "%s ã‚’é–‹ã„ã¦ã„ã¾ã™" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s NAME\n" #~ "ã¾ãŸã¯: %s OPTION\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ç•°ãªã‚‹ãƒ•ァイルシステムã«ã‚るディレクトリをス" #~ "キップã™ã‚‹\n" #~ " -X, --exclude-from=FILE FILE 内ã«å«ã¾ã‚Œã‚‹ãƒ‘ターンã«ä¸€è‡´ã™ã‚‹ãƒ•ァイルをå«" #~ "ã‚ãªã„\n" #~ " --exclude=PATTERN PATTERN ã«ä¸€è‡´ã™ã‚‹ãƒ•ァイルをå«ã‚ãªã„\n" #~ " -d, --max-depth=N コマンドライン引数ã‹ã‚‰æ•°ãˆã¦æ·±ã•㌠N 以下ディレク" #~ "トリ階層ã®\n" #~ " åˆè¨ˆã®ã¿è¡¨ç¤ºã™ã‚‹ (--all を指定ã—ãŸæ™‚ã¯ãƒ•ァイルも" #~ "å«ã‚ã‚‹)。\n" #~ " --max-depth=0 㯠--summarize ã¨ç­‰ä¾¡ã«ãªã‚‹\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã—ãªã„ (--backup を付ã‘ãŸæ™‚ã§ã‚‚)\n" #~ " numbered, t 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹\n" #~ " existing, nil 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒã‚れã°ç•ªå·ä»˜ãã€\n" #~ " ãã†ã§ãªã‘れã°ã€simple ã§ä½œæˆã™ã‚‹\n" #~ " simple, never 常ã«ç°¡æ˜“ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆ\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "警告: --page-increment ã¯éžæŽ¨å¥¨ã§ã™ã€‚ --line-increment を使用ã—ã¦ãã ã•ã„" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "é•·ã„オプションã«å¿…é ˆã®å¼•æ•°ã¯çŸ­ã„オプションã«ã‚‚å¿…é ˆã§ã™ã€‚\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX ã«ã¯ã‚¢ãƒ‰ãƒ¬ã‚¹ã®åŸºæ•°ã‚’指定ã—ã¾ã™ã€‚d ã¯å進数を〠o ã¯å…«é€²æ•°ã‚’ã€x ã¯å" #~ "六進数ã§ã™ã€‚\n" #~ "n を指定ã—ãŸã¨ãã«ã¯ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’表示ã—ã¾ã›ã‚“。\n" #~ "BYTES ã®æŽ¥é ­è¾žã« 0x ã¾ãŸã¯ 0X ã‚’ã¤ã‘ã‚‹ã¨å六進数ã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚ã¾ãŸã€æ¬¡" #~ "ã®å€æ•°æŽ¥å°¾è¾ž\n" #~ "を指定ã§ãã¾ã™:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 ã«ãªã‚Šã¾ã™ã€‚ T, P, E, Z, Y ãªã©ã‚‚åŒæ§˜" #~ "ã§ã™ã€‚\n" #~ "å…¨ã¦ã® TYPE 指定㧠z 接尾辞をã¤ã‘ã‚‹ã¨å„å‡ºåŠ›è¡Œã®æœ€å¾Œã«ã®è¡¨ç¤ºå¯èƒ½ãªæ–‡å­—を出" #~ "力ã—ã¾ã™ã€‚\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã«æ•°å€¤ã‚’指定ã—ãªã„å ´åˆã¯ 3 ã¨ã¿ãªã•れã¾ã™ã€‚--width オプ" #~ "ションã«\n" #~ "数値を指定ã—ãªã„㨠32 ã¨ã¿ãªã•れã¾ã™ã€‚デフォルトã§ã¯ -A o -t oS -w16 オプ" #~ "ションãŒ\n" #~ "使用ã•れã¾ã™ã€‚\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "使用法: %s [OPTION]... FILE\n" #~ msgid "Password:" #~ msgstr "パスワード:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: /dev/tty ã‚’é–‹ã‘ã¾ã›ã‚“" #~ msgid "cannot set groups" #~ msgstr "グループを設定ã§ãã¾ã›ã‚“" #~ msgid "cannot set group id" #~ msgstr "グループ ID を設定ã§ãã¾ã›ã‚“" #~ msgid "cannot set user id" #~ msgstr "ユーザ ID を設定ã§ãã¾ã›ã‚“" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "使用法: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "実効ユーザ ID ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ— ID ã‚’ USER ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" #~ "\n" #~ " -, -l, --login シェルをログインシェルã«ã™ã‚‹\n" #~ " -c, --command=COMMAND å˜ä¸€ã® COMMAND ã‚’ -c を付ã‘ã¦ã‚·ã‚§ãƒ«ã«æ¸¡ã™\n" #~ " -f, --fast -f ã‚’ã‚·ã‚§ãƒ«ã«æ¸¡ã™ (csh ã¾ãŸã¯ tcsh 用)\n" #~ " -m, --preserve-environment 環境変数をå†è¨­å®šã—ãªã„\n" #~ " -p -m ã¨åŒã˜\n" #~ " -s, --shell=SHELL /etc/shells ã§è¨±å¯ã•れã¦ã„れ㰠SHELL を実行" #~ "ã™ã‚‹\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "- ã ã‘を指定ã—ãŸå ´åˆã¯ -l ã¨è¦‹ãªã•れã¾ã™ã€‚USER を指定ã—ãªã‘れã°ã€root ã§ã‚" #~ "ã‚‹ã¨è¦‹ãªã•れã¾ã™ã€‚\n" #~ msgid "user %s does not exist" #~ msgstr "%s ã¨ã„ã†ãƒ¦ãƒ¼ã‚¶ã¯å­˜åœ¨ã—ã¾ã›ã‚“" #~ msgid "incorrect password" #~ msgstr "パスワードãŒé•ã„ã¾ã™" #~ msgid "using restricted shell %s" #~ msgstr "制é™ä»˜ãシェル %s を使ã„ã¾ã™" #~ msgid "warning: cannot change directory to %s" #~ msgstr "注æ„: ディレクトリ %s ã«ç§»å‹•ã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "å„ FILE ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ GROUP ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" #~ "--reference ãŒã‚ã‚‹å ´åˆã€å„ファイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ RFILE ã®ã‚‚ã®ã«å¤‰æ›´ã—ã¾" #~ "ã™ã€‚\n" #~ "\n" #~ " -c, --changes 冗長出力ã®ã‚ˆã†ã§ã‚ã‚‹ãŒã€å¤‰æ›´æ™‚ã«ã®ã¿å‡ºåŠ›ã™ã‚‹\n" #~ " --dereference シンボリックリンク自身ã§ã¯ãªãã€ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³" #~ "クã®\n" #~ " å‚ç…§å…ˆã«å½±éŸ¿ã‚’åŠã¼ã™(ã“れãŒãƒ‡ãƒ•ォルト)。\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' を特別ãªã‚‚ã®ã¨ã—ã¦æ‰±ã‚ãªã„ (デフォルト)\n" #~ " --preserve-root `/' ã«å¯¾ã™ã‚‹å†å¸°çš„ãªæ“作を失敗ã•ã›ã‚‹\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’抑制ã™ã‚‹\n" #~ " --reference=RFILE GROUP を指定ã™ã‚‹ä»£ã‚り㫠RFILE ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’\n" #~ " 使用ã™ã‚‹\n" #~ " -R, --recursive ファイルãŠã‚ˆã³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«æ“作ã™ã‚‹\n" #~ " -v, --verbose ファイルãŒå‡¦ç†ã•れるã”ã¨ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™" #~ "ã‚‹\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "å„ FILE ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ MODE ã«å¤‰æ›´ã™ã‚‹\n" #~ "\n" #~ " -c, --changes 冗長出力ã®ã‚ˆã†ã§ã‚ã‚‹ãŒã€å¤‰æ›´æ™‚ã«ã®ã¿å‡ºåŠ›ã™ã‚‹\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’抑制ã™ã‚‹\n" #~ " -v, --verbose å„ファイルを処ç†ã™ã‚‹ãŸã³ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã™" #~ "ã‚‹\n" #~ " --reference=RFILE MODE ã®å€¤ã®ä»£ã‚り㫠RFILE ã®ãƒ¢ãƒ¼ãƒ‰ã‚’利用ã™ã‚‹\n" #~ " -R, --recursive ファイルãŠã‚ˆã³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«å¤‰æ›´ã™ã‚‹\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "å„ FILE ã®æ‰€æœ‰è€…ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ OWNER ãŠã‚ˆã³ GROUP ã«å¤‰æ›´ã—ã¾ã™ã€‚\n" #~ "--reference ãŒã‚ã‚‹å ´åˆã€å„ FILE ã®æ‰€æœ‰è€…ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ RFILE ã®ã‚‚ã®ã«å¤‰" #~ "æ›´\n" #~ "ã—ã¾ã™ã€‚\n" #~ "\n" #~ " -c, --changes 冗長出力ã®ã‚ˆã†ã§ã‚ã‚‹ãŒã€å¤‰æ›´æ™‚ã«ã®ã¿å‡ºåŠ›ã™ã‚‹\n" #~ " --dereference シンボリック自体ã§ã¯ãªãã€å„シンボリックリンク" #~ "ã®\n" #~ " å‚ç…§å…ˆã«åŠ¹æžœã‚’ä¸Žãˆã‚‹ (デフォルト)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet ã»ã¨ã‚“ã©ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’抑制ã™ã‚‹\n" #~ " --reference=RFILE OWNER:GROUP を指定ã™ã‚‹ä»£ã‚りã«ã€RFILE \n" #~ " ã®æ‰€æœ‰è€…ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—を使用ã™ã‚‹\n" #~ " -R, --recursive ファイルãŠã‚ˆã³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«æ“作ã™ã‚‹\n" #~ " -v, --verbose å„ファイルãŒå‡¦ç†ã•れるãŸã³ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力" #~ "ã™ã‚‹\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "与ãˆã‚‰ã‚ŒãŸ FORMAT ã§ç¾åœ¨æ™‚刻を表示ã—ã¾ã™ã€‚ã¾ãŸã¯ã‚·ã‚¹ãƒ†ãƒ æ™‚刻を設定ã—ã¾" #~ "ã™ã€‚\n" #~ "\n" #~ " -d, --date=STRING ç¾åœ¨æ™‚刻ã§ã¯ãªã STRING ã§è¨˜è¿°ã•ã‚ŒãŸæ™‚刻を表示" #~ "ã™ã‚‹\n" #~ " -f, --file=DATEFILE DATEFILE ã®å„行ã«å¯¾ã—㦠--date ã¨åŒæ§˜ã«å‹•作ã™" #~ "ã‚‹\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE ã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã§ã™ (æ•´æ•°ã®å¾Œã«ä»˜åŠ ã•れるã‹ã‚‚ã—れã¾ã›ã‚“):\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, ãã®ä»– G, T, P, E, Z, Y ãª" #~ "ã©ã€‚\n" #~ msgid "cannot create link %s" #~ msgstr "リンク %s を作æˆã§ãã¾ã›ã‚“" #~ msgid "truncating %s" #~ msgstr "%s を切り詰ã‚ã¦ã„ã¾ã™" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "警告: --preserve_context ã¯å»ƒæ­¢ã•れã¾ã—ãŸã€‚代ã‚り㫠--preserve-context ã‚’" #~ "使用ã—ã¦ãã ã•ã„" #~ msgid "invalid number of lines: 0" #~ msgstr "無効ãªè¡Œæ•°ã§ã™: 0" #~ msgid "invalid format precision" #~ msgstr "ç„¡åŠ¹ãªæ›¸å¼ç²¾åº¦ã§ã™" #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "シンボリックリンク %s を作æˆã—ã¦ã„ã¾ã™" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "%2$s ã¸ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ %1$s を作æˆã—ã¦ã„ã¾ã™" #~ msgid "creating hard link %s" #~ msgstr "ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ %s を作æˆã—ã¦ã„ã¾ã™" #~ msgid "creating hard link %s => %s" #~ msgstr "%2$s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ %1$s を作æˆã—ã¦ã„ã¾ã™" #~ msgid "extra operand %s\n" #~ msgstr "%s: 余分ãªã‚ªãƒšãƒ©ãƒ³ãƒ‰ã§ã™\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "å˜ä½ã®æŽ¥é ­è¾žã¨ã—㦠SI 㨠IEC ã®ä¸¡æ–¹ãŒå­˜åœ¨ã—ã¦ã„ã¾ã™" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "--context (-Z) オプションã¯éžæŽ¨å¥¨ã§ã™ã€‚å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯å‰Šé™¤ã•れã¾ã™ã€‚" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "警告: --%s オプションã¯éžæŽ¨å¥¨ã§ã™ã€‚ --reference を使用ã—ã¦ãã ã•ã„" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "-r 㨠-s ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æŽ’ä»–çš„ã«ä½¿ç”¨ã•れるã“ã¨ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %w Time of file birth, human-readable; - if unknown\n" #~ " %W Time of file birth, seconds since Epoch; 0 if unknown\n" #~ " %:W Time of file birth, nanoseconds remainder; 0 if unknown\n" #~ " %x Time of last access, human-readable\n" #~ " %X Time of last access, seconds since Epoch\n" #~ " %:X Time of last access, nanoseconds remainder\n" #~ " %y Time of last modification, human-readable\n" #~ " %Y Time of last modification, seconds since Epoch\n" #~ " %:Y Time of last modification, nanoseconds remainder\n" #~ " %z Time of last change, human-readable\n" #~ " %Z Time of last change, seconds since Epoch\n" #~ " %:Z Time of last change, nanoseconds remainder\n" #~ "\n" #~ msgstr "" #~ " %u 所有者ã®ãƒ¦ãƒ¼ã‚¶ ID\n" #~ " %U 所有者ã®ãƒ¦ãƒ¼ã‚¶å\n" #~ " %w 最åˆã«ä½œæˆã—ãŸæ—¥æ™‚ (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)ã€‚ä¸æ˜Žãªå ´åˆã«ã¯ -\n" #~ " %W 最åˆã«ä½œæˆã—ãŸæ—¥æ™‚ (Epoch ã‹ã‚‰ã®ç§’æ•°)ã€‚ä¸æ˜Žãªå ´åˆã«ã¯ 0\n" #~ " %:W 最åˆã«ä½œæˆã—ãŸæ—¥æ™‚ (å°æ•°ç‚¹ä»¥ä¸‹ã®éƒ¨åˆ†ã‚’ナノ秒å˜ä½ã§è¡¨ç¤º)ã€‚ä¸æ˜Žãªå ´åˆ" #~ "ã«ã¯ 0\n" #~ " %x 最終アクセス日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" #~ " %X 最終アクセス日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" #~ " %:X 最終アクセス日時 (å°æ•°ç‚¹ä»¥ä¸‹ã®éƒ¨åˆ†ã‚’ナノ秒å˜ä½ã§è¡¨ç¤º)\n" #~ " %y 最終更新日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" #~ " %Y 最終更新日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" #~ " %:Y 最終更新日時 (å°æ•°ç‚¹ä»¥ä¸‹ã®éƒ¨åˆ†ã‚’ナノ秒å˜ä½ã§è¡¨ç¤º)\n" #~ " %z 最終変更日時 (人間ãŒèª­ã¿ã‚„ã™ã„å½¢å¼)\n" #~ " %Z 最終変更日時 (Epoch ã‹ã‚‰ã®ç§’æ•°)\n" #~ " %:Z 最終変更日時 (å°æ•°ç‚¹ä»¥ä¸‹ã®éƒ¨åˆ†ã‚’ナノ秒å˜ä½ã§è¡¨ç¤º)\n" #~ "\n" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/be.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000203306�12107204515�012057� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0���p��½��° �����¤+�����¬+��¼+������¼,��Â���½,�� ���€-��¡���Ž-��ˆ���0.��È���¹.��0���‚/��¾���³/��9���r0��7���¬0��,���ä0��º���1��5���Ì1��¤���2��Z���§2��.��3�� ��14��¢���R5��1���õ5��Æ���'6��Þ���î6��Ñ���Í7��Ó���Ÿ8��=��s9��*��±:��?���Ü;����<��Ý���;=��"���>�� ���<>�����J>�����O>�����X>�����^>�� ���q>�� ���{>�����‡>�����š>�����­>�����Â>�� ���Þ>�����ÿ>�����?��D���3?�����x?��"���‘?�����´?��/���Ä?�� ���ô?�����@�����-@�����C@��>���\@��"���›@��%���¾@��*���ä@�����A�����.A�����>A��%���[A�����A�����–A�����µA�����ÒA�����æA�����B�����B�����+B�����@B�����[B�����nB�����€B�����“B�����¤B��'���µB�����ÝB��*���øB�����#C��$���AC�����fC�� ���vC��"���—C�����ºC�����ÐC�����æC�����ùC�����D�����1D�����ND�����lD�����€D��"���—D�����ºD��)���ÍD�����÷D�����E�����%E��"���DE��'���gE�� ���E�����°E�����ÃE�����ÜE�����÷E�����F��"���F�� ���<F�� ���HF�����UF�����gF�����xF�����ˆF��"���¤F�����ÇF��+���×F�����G�����#G�����%G�����)G��)���?G�����iG�� ���{G�����†G��)���‹G�����µG�����ÇG�� ���ÍG�����×G�����îG��8���öG�����/H��½���8H�� ���öH�����I��0���I�����8I�� ���?I��7���JI�����‚I�����‡I�����ŒI�� ���›I�����¦I�����¾I�����ÃI�� ���ÉI�����ÖI�� ���ðI�����ûI������J�����J��#���J��*���CJ�����nJ�����qJ�����…J�����‰J��2���J��i��ÃJ��;���-L��%���iL��T���L�� ���äL�����îL��1���ÿL��'���1M��*���YM�����„M�����ŒM�� ���‘M�����žM��$���£M��$���ÈM�����íM�� ���òM������N��,���N��&���BN�� ���iN��'���ŠN��0���²N��Y���ãN��'���=O��T���eO��'���ºO��(���âO����� P�����P��&���;P�����bP��#���yP��&���P�����ÄP��"���ãP��T���Q��g���[Q��†���ÃQ��.���JR�����yR��"���˜R��+���»R��Y���çR��=���AS�����S�� ���S��F���¾S��'���T��Z���-T��`���ˆT��!���éT�� ��� U��'���,U��<���TU��T���‘U�����æU�����ëU�����ðU�� ���V�����V�����V�����V��;���1V��3���mV��/���¡V��+���ÑV��'���ýV��#���%W�����IW�����iW�����…W�����•W�����›W�����¡W��*���£W�����ÎW�����æW������X��A���X�����_X��2���vX��1���©X�� ���ÛX�����çX��!���úX�����Y��#���#Y�����GY�����cY�����tY��*���…Y�����°Y�����ÎY��"���îY�����Z�����/Z��+���NZ��#���zZ��,���žZ��0���ËZ��,���üZ��#���)[�����M[�����h[�� ���~[�����Ÿ[�����»[�����Ù[�����÷[��$���\�����;\�����Q\�����k\�����\�����š\�����ª\�����Ç\�����Û\�����ò\��(���]�����+]�����D]��.���Y]��2���ˆ]�����»]�����Ö]�����ñ]��0��� ^��3���;^�����o^�����ˆ^��*���§^�����Ò^�����í^����� _�����_�����+_��8���F_�����_�����•_�����©_�����Ç_��.���á_�����`��&���`�����F`�����V`�����j`��'���{`�����£`�����¸`�����Ñ`�����ì`�����a��%���a�� ���@a�� ���Ma�����Za�����ma�����‚a�����˜a�����¯a�����Æa�����Ýa�����òa�����b�� ���b�����$b�����5b�� ���Eb��#���Ob��"���sb�����–b�����§b�����¸b�����¾b�����Ðb��#���áb��!���c��'���'c�����Oc�����ec�����„c�����c��$���¯c��#���Ôc��%���øc�����d��!���>d��-���`d�����Žd����� d�� ���¸d�����Æd�����ãd��.���èd�����e�����+e�����;e�����Xe�����te�����‘e�����«e�����¯e��=���Æe��@���f�����Ef�����cf�����uf��;���Œf�����Èf�����Þf�����òf�� ��� g�����.g��*���Ig��-���tg�����¢g�����²g�����Ég�����Þg�����õg�����h��"���&h�����Ih�� ���_h�����mh��"���~h�����¡h�����½h��#���Øh��!���üh��!���i�����@i�����Wi�����vi�����i�� ���®i�����»i�����Ëi�����Üi��!���îi�����j��"���(j�����Kj�����ij�����j�����–j�� ���¬j�����Íj�����âj�����ûj�����k��(���/k�� ���Xk�����ek�����uk�����‡k�����¥k��8���«k�����äk�����ùk�� ��� l��-���l�����Fl�����`l��&���wl��)���žl�����Èl�����Ýl�����ôl�����m�����m��"���7m�����Zm�����qm��!���‘m��%���³m��7���Ùm��=���n�����On�����mn�� ���€n�����Žn�� ���¦n�����°n�����Ên�����Ún��%���ên�����o�� ���&o��&���Go�� ���no�����zo�����”o�����´o�����Êo�� ���âo�� ���ío�����ùo�����p�����p�� ���2p�� ���?p�����Kp�����bp�� ���yp�� ���ƒp�����p�����§p�����¼p�����×p�����ëp��7����q�����8q�����?q�����Nq�����]q�����vq�� ���†q�����’q��J���«q�� ���öq�� ���r�����r��*���&r�����Qr�����mr�����†r�����¢r�����¿r�� ���År��=���Ór��(���s��>���:s��@���ys�����ºs��/���Òs�����t�����t�����5t�����;t��*���Ot�����zt�����Žt�����¦t��2���¾t�����ñt��4��� u��,���Au��<���nu��0���«u�� ���Üu��,���çu��*���v��3���?v�� ���sv�����v�� ���’v�� ���Ÿv��7���­v��å��åv�� ��Ëx��"���Øy��ð���ûy��ï���ìz����Ü{��P���÷|��³��H}��w���ü~��v���t��<���ë��<��(€��I���e��ò���¯��v���¢‚��Ò��ƒ����ì„���� ‡��Q���ˆ����jˆ��‡��û‰��h��ƒ‹��Q��ìŒ��¦��>Ž��´��å��n���š‘��^�� ’��r��h“��`���Û”�����<•�����R•�� ���d•�� ���q•�� ���~•�� ���Ÿ•�� ���©•��\���µ•��*���–��(���=–��.���f–��.���•–�����Ä–�� ���á–��x���—��,���{—��4���¨—�����Ý—��H���ü—��K���E˜��6���‘˜�����Ș��3���è˜��v���™��M���“™��T���á™��i���6š��:��� š��B���Ûš��D���›��W���c›��'���»›��8���ã›��8���œ��'���Uœ��;���}œ��'���¹œ�����áœ�����ôœ��-��� ��(���9��(���b�����‹�����©�����¼��O���Ï��-���ž��Z���Mž��I���¨ž��L���òž�����?Ÿ��<���\Ÿ��=���™Ÿ��.���ן��*��� ��#���1 ��<���U ��<���’ ��B���Ï ��@���¡��'���S¡��0���{¡��2���¬¡��+���ß¡��O��� ¢��F���[¢�����¢¢��4���µ¢��.���ê¢��R���£��C���l£��!���°£�� ���Ò£��"���ó£��#���¤�����:¤��A���W¤�����™¤�����¬¤��$���Ť�����ê¤�����¥��F���¥��?���]¥�����¥��W���½¥��A���¦�����W¦�����Y¦��)���]¦��;���‡¦�����æ�����ݦ�����ð¦��f���õ¦��$���\§�� ���§�� ���ާ��/���›§�����˧��g���Ó§�� ���;¨��J��G¨�� ���’©�����Ÿ©��m���¤©�����ª�����!ª��‡���6ª�����¾ª�����ê�����Òª�����ñª��8��� «�����C«�����H«�����O«��0���h«��!���™«�����»«�� ���À«��3���Ë«��I���ÿ«��S���I¬�� ���¬��2���¨¬�����Û¬�� ���߬��_���ê¬��U��J­��E��� ¯��S���æ¯��Ä���:°�����ÿ°�����±��L���-±��O���z±��R���ʱ�����²�� ���/²��!���:²�����\²��X���a²��>���º²�����ù²��!����³��4���"³��Q���W³��A���©³��?���ë³��J���+´��S���v´��Š���Ê´��F���Uµ��£���œµ��B���@¶��T���ƒ¶��4���ض��:��� ·��Q���H·��7���š·��>���Ò·��C���¸��;���U¸��K���‘¸��‚���ݸ��³���`¹��Þ���º��Y���óº��=���M»��Q���‹»��^���Ý»��z���<¼��}���·¼��:���5½��E���p½��e���¶½��O���¾��‚���l¾��±���ï¾��I���¡¿��M���ë¿��F���9À��†���€À��•���Á�����Á�� ���¤Á�� ���¯Á�� ���ÐÁ�����ÝÁ�����æÁ�����íÁ��G���Â��4���NÂ��0���ƒÂ��,���´Â��'���áÂ��$��� Ã�� ���.Ã�����OÃ�����lÃ�����}Ã�����…Ã�����Ã��m���Ã��-���ýÃ��/���+Ä��0���[Ä��ƒ���ŒÄ��)���Å��r���:Å��r���­Å��"��� Æ��,���CÆ��Q���pÆ�� ���ÂÆ��V���ÏÆ��2���&Ç��8���YÇ��B���’Ç��e���ÕÇ��=���;È��1���yÈ��I���«È��6���õÈ��F���,É��T���sÉ��F���ÈÉ��\���Ê��`���lÊ��P���ÍÊ��[���Ë��1���zË��+���¬Ë��L���ØË��?���%Ì��@���eÌ��@���¦Ì��D���çÌ��L���,Í��C���yÍ��;���½Í��1���ùÍ��9���+Î��,���eÎ��=���’Î��?���ÐÎ��=���Ï��*���NÏ��]���yÏ��1���×Ï��4��� Ð��W���>Ð��S���–Ð��<���êÐ��:���'Ñ��1���bÑ��K���”Ñ��N���àÑ��3���/Ò��C���cÒ��`���§Ò��V���Ó��F���_Ó��&���¦Ó��0���ÍÓ��8���þÓ��}���7Ô��5���µÔ��C���ëÔ��I���/Õ��J���yÕ��[���ÄÕ��)��� Ö��V���JÖ��/���¡Ö��K���ÑÖ�����×��;���:×�����v×��&���‘×��$���¸×��:���Ý×��(���Ø��S���AØ�����•Ø��!���«Ø�����ÍØ��,���íØ��+���Ù��/���FÙ��8���vÙ��=���¯Ù�����íÙ��"��� Ú��#���/Ú�� ���SÚ�� ���^Ú��-���Ú�����­Ú��N���ÍÚ��@���Û��"���]Û�����€Û�� ���ŸÛ�� ���«Û��(���ÌÛ��:���õÛ��>���0Ü��F���oÜ�����¶Ü��7���ËÜ��/���Ý��&���3Ý��A���ZÝ��K���œÝ��;���èÝ��7���$Þ��^���\Þ��Y���»Þ�����ß�����&ß�����Cß��2���Sß�����†ß��g���‹ß�����óß����� à��5���à��'���Tà��)���|à��K���¦à�����òà��?���öà��„���6á��~���»á��Z���:â�����•â��&���³â��v���Úâ��,���Qã��"���~ã��,���¡ã��E���Îã��5���ä��b���Jä��e���­ä��"���å��-���6å��+���då��-���å��2���¾å��8���ñå��K���*æ��8���væ��!���¯æ��$���Ñæ��O���öæ��#���Fç��9���jç��N���¤ç��f���óç��K���Zè��4���¦è��@���Ûè��?���é��@���\é�����é��"���½é��#���àé��"���ê��Q���'ê��>���yê��V���¸ê��@���ë��>���Pë��-���ë��3���½ë��E���ñë��8���7ì��/���pì��:��� ì��1���Ûì��Q��� í��-���_í��0���í��-���¾í��3���ìí�� ��� î��Y���.î��<���ˆî�����Åî��'���åî��_��� ï��/���mï��)���ï��\���Çï��F���$ð��.���kð��(���šð��4���Ãð��%���øð��3���ñ��/���Rñ��6���‚ñ��9���¹ñ��A���óñ��S���5ò�����‰ò��Š��� ó��5���”ó��-���Êó��"���øó��"���ô�����>ô��!���]ô��!���ô��!���¡ô��O���Ãô�����õ��I���2õ��P���|õ��!���Íõ��;���ïõ��1���+ö��9���]ö��!���—ö�����¹ö�����Ùö��(���ùö�����"÷��(���>÷�����g÷�����÷�� ���”÷��#���µ÷�����Ù÷�����ê÷��I���ù÷��1���Cø��/���uø��$���¥ø��1���Êø��o���üø�����lù��.���sù�����¢ù��0���Àù�����ñù�����ú��0���)ú��ˆ���Zú�����ãú��'���û��C���)û��X���mû��A���Æû��:���ü��,���Cü��B���pü�� ���³ü�����¾ü��x���Óü��F���Lý��j���“ý��d���þý��2���cþ��^���–þ��<���õþ��0���2ÿ�� ���cÿ��-���nÿ��V���œÿ��2���óÿ��*���&��1���Q��X���ƒ��3���Ü��S����h���d�h���Í�[���6����’�T���¨�V���ý�l���T����Á�%���Ý���������\���0������������k��\������!���I��� ���o������É��×���´�� ��O����=����������¹����������c�������:���t��æ������|����������B��œ���&���������@������u���ß��÷��û��¸��H������ë���è���È���?���…���í��������ê��ú��½���������‰��‡���D���Ž��&������Ç������†���t���ò���§��€��î��Ò�������Ø���õ�����Æ���L��w�����3��L���}��ã������r��·���+���Ú�������f���þ���1�������é�����ç��p���µ���ï�������%�������m��£��w��Ð���¡���ñ���•������·������z���������� ���±�����,��¤�����������m���H���ª���¨��n�������²��˜���Ý������2��¨���v������������"�������;������D��������‹���¬������������������K���Ù��"��¦���­��Y��M���ü������ý���³��Î��’������R������^��¥�� ������¾��©���Q���h���������©��I��^���½���~���×���������Ê���ð���ì�����¿�������Z��¤��À��¾���ù������`��–�����?��J����������Ã����Ò��­���������ò����������Á��Ç���o�������»��[��Ó��� ����)�����¼���Y���‡��a����������+��«���¶���J������������������Ù���ó���Ä��¢��Â���T��|��•���y���Ó��º���ˆ������Ñ������F���Ê��c��������������������À���V������4��è��Ô��A������������C��ä���à���Å���Ø��´���Æ��å��!��Õ�������������¯���ß�������“�������������Í������������d��������¼���� ��p��ë��ƒ�������������l���ž�����{��#��������������”��2���ï��Ý���Å��á�������™������7�����’�������(��b��n��Þ���N��V���Û������û���k���Í������>��������â��Ö��ø���G������Ü��ã��������������]������e��/������˜������s��0������ ��ê���W���v��å�������6��÷�������²��������������������h�������������ñ��Ž���.����������7��������ó��8��®������Ï�������e���Â��€���{���s�����������f��Ÿ����������â���ž������%��d���‚������ù���8���������x��W�� ���¥���ö��C�������=���.�������]�������4�������Š�������z���<���R�������$���q���-���������Ô���Ú��Î��� ��ª��3�������þ��“��l��������N���°������<������œ��Ä���»���§���±��E���E�� ���—���Œ���9��u����������î���¶��#�������g���É���_��������������@����������ð����������á��;���(���£�������†��Þ��j��P���¢�������”���¸���������������*������¡��«��¹���Z�������Š������Ë���Ñ���ÿ��Á���™���Q��Ë��U�������1��}���ô������‹������ú���A���U�� ��������������ý��5���������Ö�������ä��Ï������„��Ð��\�������Û���¬��ˆ���_������³���ç�������O�����>���5��S���Œ������Ì�����,���–���������������������›��/��X���µ��Ã���'��Õ��-��������������� ���ø����������æ���„���������°�������í��*���'���S��F������`���ì������ô�������Ÿ���¦��i���i��È������Ü���b�������9���Ì������º��¿��…���������ü��� �������T���à��š��õ���������P��š���—����������0���M���������›���������a��g������:������x���y�����‘�����������ƒ���������������������X����®�����������¯������~��r���j�������é������ ��‚���[�������G��q�����B���K��6���‰���)���$������ÿ�����ö���‘�����������������Ì+��ø+�� ,�� ,��4,��`,��„,��¨,��•��������������� �����������������ÿÿÿÿµ��������1���ÿÿÿÿç��������/���ÿÿÿÿ��������(���ÿÿÿÿD��������������������������������ÿÿÿÿ…���������������#�������$���ÿÿÿÿì��������%�������'�������(���ÿÿÿÿa��������`���ÿÿÿÿ� -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � # users=%lu � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � If a FILE is -, copy again to standard output. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Read standard input if FILE is -. Each PATTERN may be: � With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --version output version information and exit � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -l, --login print system login processes � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -z, --zero-terminated end lines with 0 byte, not newline � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � text use text I/O for data � (backup: %s)� TTY� groups=� old � on repetition %s �%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has unknown file type�%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot seek�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no size information for this device�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�(C)�, load average: %.2f�-R --dereference requires either -H or -L�-R -h requires -P�<internal>�??? �Address family for hostname not supported�All requests done�Avail�Available�Bad value for ai_flags�COMMENT�Call the unlink function to remove the specified FILE. �Capacity�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Directory: �EXIT�Exit with the status determined by EXPRESSION. �FAILED�Filesystem�Force changed blocks to disk, update the super block. �IDLE�Idle�In real life: �Infinity B�Interrupted by a signal�LINE�Login�Login name: �Memory allocation failure�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�Non-recoverable failure in name resolution�OK�Ordering options: �PID�Plan: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print the full filename of the current working directory. �Print the name of the current user. �Print the user name associated with the current effective user ID. Same as id -un. �Project: �Request canceled�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Set LC_ALL='C' to work around the problem.�Shell: �Size�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Type�Unknown error�Unknown system error�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�Valid arguments are:�Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine mode and --reference options�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine hostname�cannot do ioctl on %s�cannot follow %s by name�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot remove %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot specify times from more than one source�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character out of range�character special file�character special files not supported�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�couldn't get boot time�created directory %s�creating directory %s�creating file %s �directory�division by zero�empty file name�empty tab�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to return to initial working directory�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�fifo�file system type %s both selected and excluded�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring non-option arguments�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field width: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid header numbering style: %s�invalid integer argument %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of columns: %s�invalid number of lines�invalid option -- %c�invalid precision: %s�invalid starting line number: %s�invalid tab size: %s�invalid time interval %s�invalid time style format %s�invalid type string %s�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid zero-length file name�last=�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple output files specified�multiple output formats specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no files remaining�no login name�no process ID specified�not a tty�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one device may be specified�only one type of list may be specified�open failed�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving times for %s�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�target %s is not a directory�term=�test and/or [�the --warn option is meaningful only when verifying checksums�the delimiter must be a single character�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�time %s is out of range�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�total�typed memory object�unable to record current working directory�unknown user-ID: %s�unrecognized operand %s�unrecognized prefix: %s�warning: --pid=PID is not supported on this system�warning: cannot remove: %s�warning: ignoring excess arguments, starting with %s�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�weird file�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 5.97 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2006-08-16 03:27+0300 Last-Translator: Alexander Nyakhaychyk <nyakhaychyk@gmail.com> Language-Team: Belarusian <i18n@mova.org> Language: be MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); � -a, --all тое, што й -b -d --login -p -r -t -T -u -b, --boot Ñ‡Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– ÑÑ‹ÑÑ‚Ñмы -d, --dead друкуе Ð¼Ñ‘Ñ€Ñ‚Ð²Ñ‹Ñ Ð¿Ñ€Ñ†ÑÑÑ‹ -H, --heading друкуе радок загалоўкаў Ñлупкоў � # карыÑтальнікі=%lu � Загад cp запаÑіць КРЫÐІЦы калі зададзены выбары -f Ñ– -b, Ñ– калі КРЫÐІЦРй ПРЫЗÐÐЧЭÐЬÐЕ адна й Ñ‚Ð°Ñ Ð¶ назва Ñ–Ñнуючага звычанага файлу. � Прыклады: %s f - g Выводзіць зьмеÑÑ‚ f, затым Ñтандартны ўвод, затым зьмеÑÑ‚ файла g. %s Капіюе Ñтандартны ўвод на Ñтандартны вывад. � Прыклады: %s root /u ЗьмÑнÑе ўладальніка /u на "root". %s root:staff /u Тое Ñама, але ÑÑˆÑ‡Ñ Ð·ÑŒÐ¼ÑнÑе групу на "staff". %s -hR root /u ЗьмÑнÑе ўладальніка /u Ñ– Ñубфайлаў на "root". � Калі ФÐЙЛ -, капіюе зноў на Ñтандартны ўвод. � ЗÐÐŽÐ’ÐГÐ! Ваш інтÑрпрÑтатар загадаў можа мець улаÑную вÑÑ€ÑÑ–ÑŽ %s, ÑкаÑ, звычайна, замÑнÑе вÑÑ€ÑÑ–ÑŽ, што апіÑана тутака. Калі лаÑка, зьвÑрніцеÑÑ Ð´Ð° дакумÑнтацыі вашага інтÑрпрÑтатара загадаў, каб даведацца аб парамÑтрах, ÑÐºÑ–Ñ Ñ‘Ð½ падтрымлівае. � Чытае Ñтандартны ўвод, калі замеÑÑ‚ ФÐЙЛа -. Кожны ЎЗОР можа быць: � Калі ФÐЙЛ не зададзены альбо зададзены -, чытае Ñтандартны ўвод. � --help паказвае гÑтую даведку � --lookup паÑпрабаваць вызначыць назвы вузлоў праз DNS -m толькі назву вузла й Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка, зьвÑзанае Ñа stdin -p, --process друкуе Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ñ†ÑÑÑ‹, Ð½Ð°Ñ€Ð¾Ð´Ð¶Ð°Ð½Ñ‹Ñ init � --version выводзіць зьвеÑткі пра вÑÑ€ÑÑ–ÑŽ � %F Ð¿Ð¾ÑžÐ½Ð°Ñ Ð´Ð°Ñ‚Ð°; тое, што й %Y-%m-%d. %g дзвюх лічбавы год нумара Ñ‚Ñ‹Ð´Ð½Ñ Ñž ISO (гл. %G). %G год нумара Ñ‚Ñ‹Ð´Ð½Ñ Ñž ISO (гл. %V); звычайна ідзе разам з %V. � %h Ñк Ñ– %b %H гадзіна (00..23) %I гадзіна (01..12) %j дзень году (001..366) � %n новы радок %N нанаÑÑкунды (000000000..999999999) %p мÑÑцовы Ñквівалент паказчык AM ці PM; нічога калі Ñго нÑма %P Ñк %p, але малымі літарамі %r мÑÑцовы Ñ‡Ð°Ñ Ñƒ 12-гадзінным фармаце (напрыклад 11:11:04 PM) %R 24-гадзінны чаÑ; Ñк Ñ– %H:%M %s колькаÑьць ÑÑкундаў з 1970-01-01 00:00:00 UTC � -L ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, зьÑўлÑецца Ñымбалічнай ÑпаÑылкай (тое, што й -h) -O ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, Ñ– ім валодае карыÑтальнік з ÑÑ„Ñктыўным ID карыÑтальніка -p ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, зьÑўлÑецца найменным канвÑерам -r ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, маюцца правы на Ñго чытаньне -s ФÐЙЛ ФÐЙЛ Ñ–Ñнуе, Ñго памер большы за нуль � -T, -w, --mesg дадае ÑÑ‚Ð°Ñ‚ÑƒÑ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñк +, - альбо ? -u, --users друкуе ÑÑŒÐ¿Ñ–Ñ ÑƒÐ²Ð°Ð¹ÑˆÐ¾ÑžÑˆÑ‹Ñ… карыÑтальнікаў --message тое, што й -T --writable тое, што й -T � -l, --login друкуе працÑÑÑ‹ ўваходу Ñž ÑÑ‹ÑÑ‚Ñму � -n, --digits=РÐЗРÐДЫ ВыкарыÑтоўваць зададзеную колькаÑьць разрадаў, замеÑÑ‚ звычайных двух. -s, --quiet, --silent Ðе друкаваць падлікі памераў файлаў вываду. -z, --elide-empty-files ВыдалÑць Ð¿Ð°Ñ€Ð¾Ð¶Ð½Ñ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду. � -q, --count уÑе карыÑтальнікі й колькаÑьць увайшоўшых -r, --runlevel друкуе бÑгучы ўзровень працы (run-level) -s, --short друкуе толькі імÑ, лінію й Ñ‡Ð°Ñ (прадвызначаны вывад) -t, --time друкуе апошнюю зьмену ÑÑ‹ÑÑ‚Ñмнага чаÑу � -s, --only-delimited Ðе друкуе радкі без падзÑлÑльніка. --output-delimiter=РÐДОК ВыкарыÑтоўвае радок Ñк падзÑлÑльнік вываду; дапомна выкарыÑтоўваецца падзÑлÑльнік уводу. � -t раўназначна -vT -T, --show-tabs адлюÑтроўвае знак TAB Ñк ^I -u (адхілена) -v, --show-nonprinting выарыÑтоўвае ^ Ñ– M- запіÑ, за выключÑньнем LFD Ñ– TAB � -u, --update капуе толькі калі файл КРЫÐІЦРнавешы за файл прызначÑньнÑ, ці файл прызначÑньне прапушчаны -v, --verbose пведамлÑе што ўжо зроблена -x, --one-file-system не пакідаць межы гÑтае файлавае ÑÑ‹ÑÑ‚Ñмы � -v, --kernel-version друкуе вÑÑ€ÑÑ–ÑŽ Ñдра -m, --machine друкуе апаратную назву кампутара -p, --processor друкуе тып працÑÑара альбо "невÑдома" -i, --hardware-platform друкуе назву плÑтформы альбо "невÑдома" -o, --operating-system друкуе назву апÑрацыйнае ÑÑ‹ÑÑ‚Ñмы � -z, --zero-terminated ЗавÑршаць радкі байтам 0, а Ð½Ñ Ð½Ð¾Ð²Ñ‹Ð¼ радком. � excl fail if the output file already exists nocreat do not create the output file notrunc Ðе абразаць файл вываду. noerror ПрацÑгваць працу паÑÑŒÐ»Ñ Ð¿Ð°Ð¼Ñ‹Ð»Ð°Ðº чытаньнÑ. fdatasync physically write output file data before finishing fsync likewise, but also write metadata � none, off ніколі не запаÑіць (нават калі зададзены --backup) numbered, t Ñтвараць Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ð·Ð°Ð¿Ð°ÑÑ‹ existing, nil нумараваць, калі йÑнуе нумараваны, інакш не нумараваць simple, never заўÑёды Ñтвараць Ð½ÐµÐ½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ � text выкарыÑтоўваць Ñ‚ÑкÑтавы ўвод/вывад Ð´Ð»Ñ Ð´Ð°Ð½Ñ‹Ñ… � (запаÑны: %s)� ТÑрмінал� групы=� Ñтары � на паўтарÑньні %s �%b %e %Y�%b %e %H:%M�%lu карыÑтальнік�%lu карыÑтальніка�%lu карыÑтальнікаў�%s (Ð´Ð»Ñ Ñталага выразу %s)�%s -> %s (ваÑтанаўленьне) �%s Ñ– %s адзін Ñ– той жа ж файл�%s Ñ–Ñнуе, але гÑта Ð½Ñ Ñ‚Ñчка�%s Ñтаў даÑтупны�%s Ñтаў недаÑтупны�%s быў заменены на небÑÑконцы файл; апрацоўка гÑтага файла Ñпынена�%s мае невÑдомы від файлу�%s - гÑта не Ñтаноўчы цÑлы лік�%s занадта вÑлікі�%s: %s такі вÑлікі, што немагчыма паказаць�%s: %s: нумар радка па-за дазволенымі межамі�%s: %s: Ñупадзеньне Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ð°�%s: %s:%s: бÑзладдзе: �%s: немагчыма прачытаць файл �%s: можа Ñтварыць адноÑнае знакавае лучыва толькі Ñž бÑгучае Ñ‚Ñчцы�%s: немагчыма зьмÑніць незаблÑкаваны Ñ€Ñжым�%s: немагчыма адшукаць Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка з ID %lu �%s: немагчыма перамÑÑьціцца назад да зыходнага Ñтановішча�%s: немагчыма перазапіÑаць Ñ‚Ñчку�%s: немагчыма пераÑунуць паказальнік�%s: немагчыма перамÑÑьціцца да зруха %s�%s: немагчыма перамÑÑьціцца да адноÑнага зруху %s�%s: памылка абрÑзаньнÑ�%s: памылка запіÑу Ð»Ñ Ð²Ð¾Ð´Ñтупа %s�%s: чакаецца лічбавае значÑньне�%s: немагчыма зачыніць�%s: немагчыма адчыніць Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу�%s: немагчыма выдаліць�%s: збой fcntl�%s: збой fdatasync�%s: файл мае адмоўны памер�%s: файл занадта вÑлікі�%s: файл занадта вÑлікі�%s: файл абрÑзаны�%s: збой fstat�%s: збой fsync�%s: жорÑÑ‚ÐºÑ–Ñ ÑпаÑылкі Ð´Ð»Ñ Ñ‚Ñчак не дазволены�%s: увод утрымлівае цыкал:�%s: увод утрымлівае нÑцотную колькаÑьць ÑлемÑнтаў�%s: файл уводу зьÑўлÑецца й файлам вываду�%s: паÑÑŒÐ»Ñ Ð¿Ð°Ð´Ð·ÑлÑльніка чакаецца цÑлы лік�%s: нерÑчаіÑны PID�%s: нерÑчаіÑны падлік на пачатку %s�%s: нерÑчаіÑнае вызначÑньне Ð¿Ð¾Ð»Ñ %s�%s: нерÑчаіÑны памер файла�%s: нерÑчаіÑны від файла�%s: нерÑчаіÑны нумар�%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў�%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў�%s: Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць праходаў�%s: нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць ÑÑкундаў�%s: нерÑчаіÑны прыклад�%s: недзеÑздольны id-працÑÑу�%s: нерÑчаіÑны Ñталы выраз: %s�%s: недзеÑздольны Ñыгнал�%s: нумар радку павінен быць большым за нуль.�%s: нумар радку за дапушчальнымі межамі�%s: збой lseek�%s: Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñыгналаў�%s: Ð½Ð¾Ð²Ñ‹Ñ Ð¿Ñ€Ð°Ð²Ñ‹: %s, замеÑÑ‚ %s�%s: нÑма зьвеÑтак пра памеры Ð´Ð»Ñ Ð³Ñтае прылады�%s: колькаÑьць байтаў занадта вÑлікаÑ�%s: перазапіÑаць %s? �%s: праход %lu/%lu (%s)...�%s: праход %lu/%lu (%s)...%s�%s: памылка чытаньнÑ�%s: выдаліць %s %s? �%s: выдаліць абаронены ад запіÑу %s %s? �%s: выдален�%s: выдаленьне�%s: перайменаваны Ñž %s�%s: замÑніць %s? �%s: збой seek�%s: зашмат радкоў з кантрольнымі Ñумамі�%s: значÑньне цалка не пераўтворана�%s: памылка запіÑу�%s:%lu: нерÑчаіÑны радок; прапушчана Ð´Ñ€ÑƒÐ³Ð°Ñ Ñ‡Ð°Ñтка�%s:%lu: нераÑпазнанае ключавое Ñлова %s�'�(C)�, ÑÑÑ€ÑднÑÑ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°: %.2f�-R --dereference патрабуе альо -H альбо -L�-R -h патрабуе -P�<унутраны>�??? �ГÑта адраÑÐ½Ð°Ñ ÑÑм'Ñ Ð´Ð»Ñ Ð³Ñтага вузла не падтрымліваецца�УÑе запыты выкананы�Вольна�Вольна�КепÑкае значÑнне Ð´Ð»Ñ ai_flags�COMMENT�Выклікае функцыю unlink Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½ÑŒÐ½Ñ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð³Ð° ФÐЙЛа. �ÐміÑÑ‚.�ПерапіÑвае Ñтандартны ўвод у кожны ФÐЙЛ, а такÑама Ñž Ñтандартны вывад. -a, --append Дадае да ФÐЙЛаў (не перазапіÑвае Ñ–Ñ…). -i, --ignore-interrupts Ðе зьвÑртае ўвагі на Ñыгнал ÑпыненьнÑ. �ТÑчка: �EXIT�ЗавÑршае працу з кодам вÑртаньнÑ, Ñкі вызначаецца ВЫРÐЗÐМ. �ПÐМЫЛКÐ�Ф-Ñ ÑÑ‹ÑÑ‚Ñма� Вымагае запіÑу ÑžÑÑ–Ñ… зьмененых блёкаў на дыÑк Ñ– абнаўленьне ÑупÑрблёка. �IDLE�ДарÑмна�У ÑапраўднаÑьці:�БÑÑконцаÑьць�Спынена з-за Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ñігналу�LINE�ІмÑ�Уліковае ймÑ:�Збой Ñ€Ð°Ð·Ð¼ÐµÑ€ÐºÐ°Ð²Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼Ñці�Пункт мантаваньнÑ�NAME�Ðазва�ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° або паÑлуга�ÐдÑутнічае звÑзаны з назвай вузла адраÑ�ÐÐµÐ²Ñ‹Ð¿Ñ€Ð²Ñ–Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° Ñž вызначÑнні назвы вузла�ДОБРÐ�ПарамÑтры ўпарадкаваньнÑ: �PID�ПлÑн: �Друкуе CRC падлік Ñ– колькаÑьць байтаў кожнага ФÐЙЛу. �Друкуе пÑÑžÐ½Ñ‹Ñ Ð·ÑŒÐ²ÐµÑткі пра ÑÑ‹ÑÑ‚Ñму. Выклік без ПÐРÐМЭТРа раўназначны выкліку з парамÑтрам -s. -a, --all друкуе ÑžÑе зьвеÑткі Ñž наÑтупным парадку, за выключÑньнем пропуÑку -p Ñ– -i, калі невÑдома: -s, --kernel-name друкуе назву Ñдра -n, --nodename друкуе назву вузла Ñеткі -r, --kernel-release друкуе назву выпуÑку Ñдра � Друкуе поўную назву бÑгучае Ñ‚Ñчкі. �Друкуе ўліковае Ñ–Ð¼Ñ Ð±Ñгучага карыÑтальніка. �Друкуе ўліковае Ñ–Ð¼Ñ ÐºÐ°Ñ€Ñ‹Ñтальніка, зьвÑзанае зь бÑгучым ÑÑ„Ñктыўным ID карыÑтальніка. Тое Ñамае, што й "id -un". �ПражÑкт:�Запыт ÑкаÑаваны�ЗапуÑкае ЗÐГÐД з новай каранёвай Ñ‚Ñчкай. � Выконвае загад, незаўважаючы Ñыгналы HUP. �УÑталюйце LC_ALL='C' каб працаваць без пытаньнÑÑž.�Ðбалонка:�Памер�СіÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°�TIME�ЧаÑовы збой у вызначÑнні назвы вузла вфаыв выфа �Радкі былі параўнаны тут %s Ñ– тут %s.�Тып�ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°�ÐевÑÐ´Ð¾Ð¼Ð°Ñ ÑÑ–ÑÑ‚ÑÐ¼Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°�ВыкарыÑтаньне: %s ЗÐГÐД [ДОВÐД]... ці: %s ВЫБÐР �ВыкарыÑтаньне: %s ВЫРÐЗ ці: %s ВЫБÐР �ВыкарыÑтаньне: %s ФÐЙЛ ці: %s ВЫБÐР �ВыкарыÑтаньне: %s ФÐЙЛ1 ФÐЙЛ2 ці: %s ВЫБÐР �ВыкарыÑтаньне: %s ФÐРМÐТ [ДОВÐД]... ці: %s ВЫБÐР �ВыкарыÑтаньне: %s [-s СЫГÐÐЛ | -СЫГÐÐЛ] PID... ці: %s -l [СЫГÐÐЛ]... ці: %s -t [СЫГÐÐЛ]... �ВыкарыÑтаньне: %s [ФÐЙЛ]... ці: %s [ВЫБÐР] �ВыкарыÑтаньне: %s [ÐÐЗВÐ] ці: %s ВЫБÐР Друкуе ці ÑžÑталёўвае назву бÑгучага вузла(ÑÑ‹ÑÑ‚Ñмы). �ВыкарыÑтаньне: %s [ЛІК]... ці: %s ВЫБÐР �ВыкарыÑтаньне: %s [ÐПЭРÐÐД]... або: %s ПÐРÐМЭТÐР �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР] �ВыкарыÑтаньне: %s [ВЫБÐР] ÐÐЗВÐ... �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР] [ЗÐГÐД [ДОВÐД]...] �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... �ВыкарыÑтаньне: %s [ВЫБÐР]... ТЭЧКР... �ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ УЗОР.. �ВыкарыÑтаньне: %s [ВЫБÐР]... ФÐЙЛ... �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... ФÐЙЛ1 ФÐЙЛ2 �ВыкарыÑтаньне: %s [ВЫБÐР]... ГРУПРФÐЙЛ... or: %s [ВЫБÐР]... --reference=RФÐЙЛ ФÐЙЛ... �ВыкарыÑтаньне: %s [ВЫБÐР]... ÐПОШÐІ ці: %s [ВЫБÐР]... ПЕРШЫ ÐПОШÐІ ці: %s [ВЫБÐР]... ПЕРШЫ ПРЫРОСТ ÐПОШÐІ �ВыкарыÑтаньне: %s [ВЫБÐР]... РЭЖЫМ[,РЭЖЫМ]... ФÐЙЛ... ці: %s [ВЫБÐР]... Ð’ÐСЬМЯРЫЧÐЫ_РЭЖЫМ ФÐЙЛ... ці: %s [ВЫБÐР]... --reference=RФÐЙЛ ФÐЙЛ... �ВыкарыÑтаньне: %s [ВЫБÐР]... ÐÐЗВРТЫП [МÐЖОР МІÐОР] �ВыкарыÑтаньне: %s [ВЫБÐР]... ÐÐЗВÐ... �ВыкарыÑтаньне: %s [ВЫБÐР]... МÐОСТВÐ1 [МÐОСТВÐ2] �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ ФÐЙЛ | ДОВÐД1 ДОВÐД2 ] �ВыкарыÑтаньне: %s [ВЫБÐР]... [+ФÐРМÐТ] ці: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �ВыкарыÑтаньне: %s [ВЫБÐР]... [-] [ПЕРÐМЕÐÐÐЯ=ЗÐÐЧЭÐЬÐЕ]... [ЗÐГÐД [ДОВÐД]...] �ВыкарыÑтаньне: %s [ВЫБÐР]... [ФÐЙЛ] �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [ФÐЙЛ]... �ВыкарыÑтаньне: %s [КЛЮЧ]... [ФÐЙЛ]... ці: %s [КЛЮЧ]... --files0-from=F �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [УВОД [ВЫВÐД]] �ВыкарыÑтаньне: %s [ВЫБÐР]... [УВОД]... (без -G) ці: %s -G [ВЫБÐР]... [УВОД [ВЫВÐД]] �ВыкарыÑтаньне: %s [ПÐРÐМЭТÐР]... [УЛÐДÐЛЬÐІК][:[ГРУПÐ]] ФÐЙЛ... альбо: %s [ПÐРÐМЭТÐР]... --reference=RFILE ФÐЙЛ... �ВыкарыÑтаньне: %s [ВЫБÐР]... [УЛІКОВÐЕ_ЙМЯ] �ВыкарыÑтаньне: %s [ВЫБÐР]... [КÐРЫСТÐЛЬÐІК]... �ВыкарыÑтаньне: %s [РÐДОК]... ці: %s ВЫБÐР �ВыкарыÑтаньне: %s [довады загаднага радка ігнаруюцца] альбо: %s ПÐРÐМЭТÐР �ВыкарыÑтаньне: test ВЫРÐЗ альбо: test альбо: [ ВЫРÐЗ ] альбо: [ ] альбо: [ ПÐРÐМЭТÐР �У-а%�Ужыта�РÑчаіÑÐ½Ñ‹Ñ Ð´Ð¾Ð²Ð°Ð´Ñ‹:�Увага: �Калі�Дзе�Ðўтары: %s Ñ– %s. �Ðўтары:·%s,·%s,·%s, %s,·%s,·%s,·%s, %s,·%s Ñ– іншыÑ. �Ðўатры: %s, %s, %s, %s, %s, %s, %s, %s Ñ– %s. �Ðўтары: %s, %s, %s, %s, %s, %s, %s Ñ– %s. �Ðўтары: %s, %s, %s, %s, %s, %s Ñ– %s. �Ðўтары %s, %s, %s, %s, %s Ñ– %s. �Ðўтары: %s, %s, %s, %s Ñ– %s. �Ðўтары: %s, %s, %s Ñ– %s. �Ðўтары: %s, %s Ñ– %s. �Ðўтар: %s. �^[нÐ]�^[тТ]�`�загад муÑіць быць зададзены разам Ñа значÑньнем прыÑрытÑту�ai_family не падтрымліваецца�ai_socktype не падтрымліваецца�неадназначны довад %s Ð´Ð»Ñ %s�падзÑлÑльнік уводу можа быць зададзены толькі Ð´Ð»Ñ Ð´Ð·ÐµÑньнÑÑž над палÑмі�далучÑньне вываду да %s�ÑтварÑньне запаÑной копіі %s зьнішчыць крыніцу; %s не ÑкапіÑван�ÑтварÑньне запаÑной копіі %s зьнішчыць крыніцу; %s не перанеÑен�від запаÑной копіі�аÑаблівы кавалкавы файл�адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð±Ð»Ñ‘Ñ‡Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ непадтрымліваюцца�блёкаў�абодва файлы Ð½Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ быць Ñтандартным уводам�байт зруху %s занадта вÑлікі�немагчыма атрымаць доÑтуп да %s�немагчыма Ñтварыць запаÑную копію %s�немагчыма адначаÑова й падлічыць Ñ– паказаць уÑе пункты�немагчыма зьмÑніць уладальніка %s�немагчыма зьмÑніць правы %s�немагчыма зьмÑніць каранёвую Ñ‚Ñчку на %s�немагчыма перайÑьці Ñž Ñ‚Ñчку %s�немачыма перайÑьці да каранёвае Ñ‚Ñчкі�немагчыма ÑумÑÑьціць Ñ€Ñжым Ñ– парамÑтры --reference�немагчыма параўнаць назвы файлаў %s Ñ– %s�немагчыма пераўтварыць U+%04X у мÑÑцовы набор знакаў�немагчыма пераўтварыць U+%04X у мÑÑцовы набор знакаў: %s�немагчыма ÑкапіÑваць Ñ‚Ñчку, %s, Ñаму Ñž ÑÑбе, %s�немагчыма ÑкапіÑваць цыклічнае знакавае лучыва %s�немагчыма Ñтварыць Ñ‚Ñчку %s�немагчыма Ñтварыць fifo %s�немагчыма Ñтварыць жорÑткае лучыва %s на %s�немагчыма Ñтварыць ÑпаÑылку %s на %s�немагчыма Ñтварыць звычайны файл %s�немагчыма Ñтварыць аÑаблівы файл %s�немагчыма Ñтварыць знакавае лучыва %s�немагчыма Ñтварыць знакавае лучыва %s на %s�немагчыма знайÑьці аб'ект ÑпаÑылкі %s�немагчыма вызначыць назву вузла�немагчыма выканаць ioctl на %s�немагчыма крочыць за %s па назве�немагчыма выканаць fstat %s�немагчыма атрымаць бÑгучую Ñ‚Ñчку�немагчыма атрымаць значÑньне niceness�немагчыма атрымаць назву ÑÑ‹ÑÑ‚Ñмы�немагчыма зрабіць lseek %s�немагчыма Ñтварыць ні жорÑткае, ні знакавае лучыва�немагчыма Ñтварыць Ñ‚Ñчку %s�немагчыма перамÑÑьціць %s у %s�немагчыма перамÑÑьціць %s ва ўлаÑную падтÑчку, %s�немагчыма перамÑÑьціць Ñ‚Ñчку Ñž Ð½Ñ Ñ‚Ñчку: %s -> %s�немагыма адчыніць %s Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ�немагчыма адчыніць %s Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу�немагчыма адчыніць Ñ‚Ñчку %s�немагчыма перазапіÑаць Ñ‚Ñчку %s Ð½Ñ Ñ‚Ñчкай�немагчыма перазапіÑаць Ð½Ñ Ñ‚Ñчку %s Ñ‚Ñчкай %s�немагчыма прачытаць Ñ‚Ñчку %s�немагчыма прачытаць назвы файлаў з %s�немагчыма прачытаць зьвеÑткі файлавае ÑÑ‹ÑÑ‚Ñмы Ð´Ð»Ñ %s�немагчыма прачытаць гадзіньнік Ñ€Ñальнага чаÑу�немагчыма прачытаць знакавае лучыва %s�немагчыма выдаліць %s�немагчыма ÑžÑталÑваць дату�немагчыма задаць ID групы Ð´Ð»Ñ %lu�немагчыма ÑžÑталÑваць назву вузла, ÑÑ‹ÑÑ‚Ñме бракуе функцыÑнальнаÑьці�немагчыма ÑžÑталÑваць назву %s�немагчыма ÑžÑталÑваць значÑньне niceness�немагчыма ÑžÑталÑваць адбіткі чаÑу Ð´Ð»Ñ %s�немагчыма выÑтавіць ID карыÑтальніка Ñž %lu�немагчыма вызначыць Ñ‡Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆ чым з адной крыніцы�немагчыма зрабіць stat %s�немагчыма атрымаць Ñтан бÑгучае Ñ‚Ñчкі (зараз %s)�немагчыма дакрануцца да %s�немагчыма ваÑтанавіць %s з запаÑное копіі�немагчыма unlink %s�немагчыма абмінуць памылку Ñдра�зьмена групы %s�зьмена ўладальніка %s�зьмÑненьне правоў %s�знак па за дапушчальнымі межамі�аÑаблівы знакавы файл�адмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð·Ð½Ð°ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ непадтрымліваюцца�зьмена чаÑу�памылка закрыцьцÑ�зачынÑецца %s (fd=%d)�зачынÑецца дырÑÐºÑ‚Ð¾Ñ€Ñ‹Ñ %s�зачынÑецца файл уводу %s�закрываецца файл вываду %s�зачыненьне Ñтандартнага уводу�немагчыма вызначыць Ñ‡Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ–�Ñтворана Ñ‚Ñчка %s�Ñтвараецца Ñ‚Ñчка %s�ÑтварÑньне файла %s �Ñ‚Ñчка�дзÑленьне на нуль�Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð° назва файла�пуÑÑ‚Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑцыÑ�памылка Ñž ÑупаÑтаўлÑльніку Ñталых выразаў�памылка Ñž пошуку звычайнага выразу�памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ %s�памылка запіÑу %s�выхад=�дадатковы довад %s�непатрÑбны аргумÑнт %s�немагчыма зьмÑніць групу %s на %s �немагчыма зьмÑніць уладальніка %s �немагчыма зьмÑніць уладальніка %s на %s �збой chdir у %s�немагчыма атрымаць атрыбуты %s�немагчыма адшукаць файл %s�немагчыма адчыніць %s�збой пры захаваньні аўтарÑтва Ð´Ð»Ñ %s�памылка пры захаваньні ўладальніку Ð´Ð»Ñ %s�збой пры захаваньні правоў Ð´Ð»Ñ %s�збой пры захаваньні чаÑу Ð´Ð»Ñ %s�немагчыма перанакіраваць Ñтандартны вывад памылак�немагчыма вÑрнуцца Ñž пачатковую працоўную Ñ‚Ñчку�збой stat %s�збой fdatasync Ð´Ð»Ñ %s�збой fflush�нумар Ð¿Ð¾Ð»Ñ %s занадта вÑлікі�fifo�Ñ„Ð°Ð¹Ð»Ð°Ð²Ð°Ñ ÑÑ‹ÑÑ‚Ñма тыпу %s адначаÑова вылучана й выключана�збой fsync Ð´Ð»Ñ %s�збой fts_read�атрыманьне новых атрыбутаў %s�група %s захавана Ñк %s �недаÑтупна Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ iconv�Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ iconv непрыгодна Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаньнÑ�id=�на ÑžÑе довады не зьвÑртаецца ўвага�незаўважае незразумелы памер табулÑцыі Ñž пераменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ TABSIZE: %s�незаўважаецца нерÑчаіÑнае значÑньне зьменнай аÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ QUOTING_STYLE: %s�незаўважаюцца довады, ÑÐºÑ–Ñ Ð½Ðµ зьўлÑюцца выбарамі�увод недаÑтупны�радок вываду задаўгі�збой міжпрыладнага перамÑшчÑньнÑ: %s у %s; немагчыма выдаліць мÑту�нерÑчаіÑнае значÑньне %s�нерÑчаіÑны довад %s�нерÑчаіÑны довад %s Ð´Ð»Ñ %s�нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ñ†ÐµÐ»Ð°: %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ»ÑÑа знака %s�нерÑчаіÑны вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы: %c�нерÑчаіÑны вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы: \%.3o�нерÑчаіÑÐ½Ð°Ñ Ð´Ð°Ñ‚Ð° %s�нерÑчаіÑны фармат даты %s�нерÑчаіÑÐ½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° %s %s�нерÑчаіÑны від прылады %s�недзеÑздольны нумар полÑ: %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s�нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð¿Ð°Ð´Ð²Ð°Ð»Ñƒ: %s�нерÑчаіÑÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÑƒ: %s�нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð°�нерÑчаіÑÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð° %s�нерÑчаіÑны Ñтыль Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð·Ð°Ð³Ð°Ð»Ð¾ÑžÐºÑƒ: %s�кепÑкі цÑлы довад %s�нерÑчаіÑÐ½Ð°Ñ Ð´Ñ‹Ñцыпліна лініі %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° радка: %s�недзеÑздольнае значÑньне павелічÑÐ½ÑŒÐ½Ñ Ð½ÑƒÐ¼Ð°Ñ€Ñƒ радка: "%s"�нерÑчаіÑны фармат Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ñ€Ð°Ð´ÐºÐ¾Ñž: %s�Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñ€Ð°Ð´ÐºÐ°: %s�нерÑчаіÑны мажорны нумар прылады %s�Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ Ð½Ð°Ð¹Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð³Ð»Ñ‹Ð±Ñ–Ð½Ñ %s�нерÑчаіÑны мінорны нумар прылады %s�нерÑчаіÑны Ñ€Ñжым�нерÑчаіÑны Ñ€Ñжым %s�нерÑчаіÑны Ñ€Ñжым: %s�нерÑчаіÑны нумар %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць чыÑтых радокоў: %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў�нерÑчаіÑÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць байтаў Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°ÑžÐ½Ð°Ð½ÑŒÐ½Ñ�Ð½ÐµÐ·Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ»Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ñлупкоў: %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць радкоў�нерÑчаіÑны парамÑтар -- %c�нерÑчаіÑÐ½Ð°Ñ Ð´Ð°ÐºÐ»Ð°Ð´Ð½Ð°Ñьць: %s�нерÑчаіÑны нумар пачатковага радка: %s�незразумелы памер табулÑцыі: %s�нерÑчаіÑны адрÑзак чаÑу %s�незразумелы фармат Ñтылю чаÑу %s�недзеÑздольны радок тыпу %s�нерÑчаіÑÐ½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ўнівÑÑ€Ñальнага знаку \%c%0*x�нерÑчаіÑны карыÑтальнік�нерÑчаіÑны карыÑтальнік %s�недзеÑÐ·Ð´Ð¾Ð»ÑŒÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ: %s�назва файла нулÑвой даўжыні�апошні=�нумар радка %s меншы за нумар папÑÑ€ÑднÑга радка, %s�перапаўненьне колькаÑьці радкоў�памÑць вычарпана�чарга паведамленьнÑÑž�ва ÑžÑтаўцы прапушчан %% вызначальнік пераўтварÑньнÑ�прапушчаны довад паÑÑŒÐ»Ñ %s�прапушчаны довад Ð´Ð»Ñ %s�прапушчан вызначальнік пераўтварÑÐ½ÑŒÐ½Ñ Ð²Ð° ÑžÑтаўцы�прапушчаны файл прызначÑÐ½ÑŒÐ½Ñ Ð¿Ð°ÑÑŒÐ»Ñ %s�прапушчаны файлавы довад�прапушчан ÑÑŒÐ¿Ñ–Ñ Ð¿Ð°Ð»Ñ‘Ñž�прапушчан ÑÑŒÐ¿Ñ–Ñ Ñтановішчаў�прапушчаны аргумент�прапушчаны аргумент паÑÐ»Ñ %s�Ñ€Ñжым %s утрыманы Ñк %04lo (%s) �шмат-байтавы знак табулÑцыі %s�Ð·Ð°Ð´Ð°Ð½Ñ‹Ñ ÑˆÐ¼Ð°Ñ‚Ð»Ñ–ÐºÑ–Ñ Ñ„Ð°Ð¹Ð»Ñ‹ вываду�зададзены некалькі фарматаў вываду�зададзены некалькі дырÑкторыÑÑž прызначÑньнÑ�ні знакавае лучува %s ні файл, на Ñкі Ñно ÑпаÑылаецца, не былі зьменены �адÑутнічае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ñ Ð°ÑÑÑ€Ð¾Ð´Ð·ÑŒÐ´Ð·Ñ SHELL да таго ж, незаданы выбар віду абалонкі�зьмены ўладальніка %s не было �не заÑталоÑÑ Ð±Ð¾Ð»ÑŒÑˆ файла�нÑма ўліковага ймÑ�незаданы ID працÑÑу�гÑта не Ñ‚Ñрмінал�нумар у %s завÑлікі�колькаÑьць байтаў�колькаÑьць радкоў�перапаўненьне зруху цÑгам Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° %s�мінаецца Ñ‚Ñчка %s�толькі адна прылада можа быць пазначана�толькі адзін від ÑьпіÑу можа быць зададзены�памылка адкрыцьцÑ�у %s заÑтаўÑÑ Ñ€Ð°Ð½ÐµÐ¹ÑˆÑ‹ ўладальнік �уладальнік %s захаваны Ñк %s �ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ñтаронкі занадта вузкаÑ�захоўвае Ñ‡Ð°Ñ Ð´Ð»Ñ %s�памылка чытаньнÑ�памылка чытаньнÑ�чытаецца дырÑÐºÑ‚Ð¾Ñ€Ñ‹Ñ %s�Ð·Ð°Ð¿Ñ–Ñ Ð·Ð°Ð²Ñлікі�звычайны парожні файл�звычайны файл�выдален %s �Ñ‚Ñчка выдалена: %s �выдалÑецца Ñ‚Ñчка, %s�узровень�ÑÑмафор�падзÑлÑльнік павінен нешта ўтрымліваць�выÑтаўленьне ÑьцÑгоў Ð´Ð»Ñ %s�уÑталÑваньне правоў Ð´Ð»Ñ %s�уÑталÑваньне чаÑу %s�абьект з агульнай памÑцьцю�файл %s мінаецца, таму што ён быў заменены пад Ñ‡Ð°Ñ ÐºÐ°Ð¿Ñ–ÑваньнÑ�socket�Ñтандартны вывад памылак�Ñтандартны ўвод�Ñтандартны вывад зачынены�Ñтандартны вывад�збой пачатку�памылка Ð¿Ð°Ñ€Ð°ÑžÐ½Ð°Ð½ÑŒÐ½Ñ Ñ€Ð°Ð´ÐºÑƒ�падаўленьне непадзеленых радкоў мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– Ð´Ð»Ñ Ð´Ð·ÐµÑньнÑÑž над палÑмі�знакавае лучыва�ÑынтакÑÑ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°�памер табулÑцыі Ð½Ñ Ð¼Ð¾Ð¶Ð° быць нулÑвым�памер табулÑцыі зьмÑшчае нерÑчаіÑны(Ñ) знак(Ñ–): %s�памеры табулÑцыі павінны ўзраÑтаць�крок табулÑцыі %s занадта вÑлікі�крок табулÑцыі завÑлікі�Ð·Ð³Ð°Ð´Ð°Ð½Ð°Ñ Ð¼Ñта %s не з'ÑўлÑецца Ñ‚Ñчкай�Ñ‚Ñрм.=�test Ñ–/альбо [�выбар --warn мае ÑÑÐ½Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ– тады, калі параўноваюцца Ð¿Ñ€Ð°Ð²ÐµÑ€Ñ‡Ñ‹Ñ Ñумы�падзÑлÑльнік паінен быць адным знакам�выбары Ð´Ð»Ñ ÑžÑталÑÐ²Ð°Ð½ÑŒÐ½Ñ Ð¹ друку чаÑу нельга ўжываць разам�выбары, што вызначаюць дату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ ўзаема выключныÑ�Ñ‡Ð°Ñ %s за дазволенымі межамі�за шмат ва ÑžÑтаўцы %% вызначальнікаў пераўтварÑньнÑ�зашмат знакаў у знакавым мноÑтве�зашмат аднолькавых радкоў�уÑÑго�тыпізаваны аб'ект памÑці�немагчыма запіÑаць цÑперашнюю працоўную Ñ‚Ñчку�невÑдомы ID карыÑтальніка: %s�нераÑпазнаны апÑранд %s�нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ñтаўка: %s�увага: --pid=PID не падтрымліваецца на гÑтае ÑÑ‹ÑÑ‚Ñме�увага: немагчыма выдаліць: %s�увага: ігнаруецца лішак довадаў пачынаючы з %s�Увага! ÐерÑчаіÑÐ½Ð°Ñ ÑˆÑ‹Ñ€Ñ‹Ð½Ñ %lu; выкарыÑтоўвайце %d замеÑÑ‚ Ñе�Увага! Ðумар радка %s Ñупадае з нумарам папÑÑ€ÑднÑга радка.�увага: зыходны файл %s зададзены больш за адзін раз�лёÑавы файл�жорÑткае лучыва %s на Ñ‚Ñчку %s Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ Ñтворана�толькі што Ñтвораны %s з %s Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ перазапіÑаны�калі зададзены --parents, прызначÑньне муÑіць быць дырÑкторыÑй�памылка запіÑу�памылка запіÑу Ð´Ð»Ñ %s�памылка запіÑу�Ð·Ð°Ð¿Ñ–Ñ Ñƒ %s�вы павінны пазначыць ÑÑŒÐ¿Ñ–Ñ Ð±Ð°Ð¹Ñ‚Ð°Ñž, знакаў ці палёў�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�%s: %: improperly formatted %s checksum line�%+% запіÑаў уайшло %+% запіÑаў выйшла �% абрÑзаны Ð·Ð°Ð¿Ñ–Ñ �% абрÑзаных запіÑÑ‹ �% абрÑзаных запіÑаў �% байт (%s) ÑкапіÑваны�% байты (%s) ÑкапіÑвана�% байтаў (%s) ÑкапіÑвана�%s: %: Ð½Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»ÑŒÐ½Ð° Ñкладзены радок з кантрольнай Ñумай %s���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/gl.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000105211�12107204516�012070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����ù������ä��Q��¬������ð��¡���ñ��#��“��Ä���·����|��9���‘��t��Ë��þ��@��7���?��ì���w��,���d��5���‘����Ç��¡��W�� ��ù ��Ý���"��Ò���å"��’���¸#��u���K$�����Á$�� ��Q%��Æ���\&��ƒ���#'��Í���§'��Ñ���u(��Ó���G)��I���*��C���e*��?���©*��š��é*��¨��„,��ú���-.����(/�� ���G0�����U0�����^0����d0�����€1�����•1�� ���±1�����Ò1�����ë1��/���û1�����+2�����A2��>���Z2��B���™2��,���Ü2��$��� 3��8���.3�����g3�����„3�����Ÿ3�����±3�����Ä3�����ß3�����ý3��;��� 4�����I4�����\4�����x4�����”4�����²4��"���Æ4�����é4��)���5�����-5��1���J5��'���|5�����¤5�����½5�����Ø5�� ���ç5�� ���ó5������6��.���6��"���@6�����c6�����e6�� ���{6�����†6�����‹6�� ���‘6�����›6�����¤6�� ���«6�����¶6�����¼6�����Â6�����È6�����Í6�����Ü6�����ã6�����è6�� ���î6�����û6�� ��� 7�����7�����7��2���!7�� ���T7��*���^7�����‰7�����‘7��$���–7�����»7�����À7��'���Õ7��š���ý7��&���˜8��"���¿8��"���â8�� ���9��'���&9��Z���N9�����©9�����®9�����³9�� ���È9�����Ò9�����×9�����Ý9��<���í9�����*:�����0:�����6:��*���8:�����c:��2���€:��1���³:�� ���å:�����ñ:�����;��#��� ;��*���/;�����Z;��,���z;��0���§;��#���Ø;�����ü;�����<��(���1<�����Z<��5���u<�����«<��%���Æ<�����ì<��8���ü<��&���5=��!���\=�����~=�����—=�����°=�����Ç=�� ���Þ=�����ë=�����þ=�����>�� ���,>��"���6>�����Y>�����j>��#���{>�����Ÿ>�����´>��.���¹>�����è>�����?�����!?�����>?��=���X?��:���–?�����Ñ?�����ã?��*���þ?��-���)@�� ���W@�����e@�����ƒ@��"���›@�����¾@�� ���Þ@�����ÿ@�� ���A�����$A�� ���5A��/���CA��-���sA��&���¡A��$���ÈA�����íA�����B��"���B��7���AB��=���yB�����·B��-���ÊB�� ���øB�����C�����C��4���"C��&���WC�� ���~C�����ŠC�����ªC�����ÀC��>���ØC�� ���D�� ���"D�����.D�� ���AD�� ���ND�����XD�����rD�����†D�����›D�����¢D�����±D�����ÀD�����ÙD�� ���éD�����õD�����E��J���,E�� ���wE�����…E�����šE��H���¶E��?���ÿE��=���?F��>���}F��3���¼F��(���ðF��>���G��/���XG�����ˆG��3���ŽG��H���ÂG��2��� H��=���>H��,���|H��7���©H�� ���áH��3���ìH��5��� I��j���VI�� ���ÁI�� ���ÍI��7���ÚI��v��J��¹���‰K��X��CL��à���œM��N��}N��F���ÌO��Å��P����ÙQ��D���jT����¯T��+���²U��9���ÞU����V��õ��X��4��Z��ä���H[��î���-\��Ÿ���]��~���¼]�� ���;^��ü���Ü^��â���Ù_��›���¼`��÷���Xa��ç���Pb��Ù���8c��~���d��I���‘d��z���Ûd��×��Ve��ç��.g����i��&��)j�����Pk�����kk�����tk��9��}k��-���·l�����ål��#���m��&���&m�����Mm��-���cm�����‘m�� ���¦m��K���Çm��I���n��V���]n��1���´n��B���æn��"���)o��&���Lo�����so�����o�����¥o��4���Äo�����ùo��E��� p�����Rp�����ip�� ���‰p��"���ªp�����Íp��%���äp��#��� q��.���.q�� ���]q��E���~q��9���Äq�����þq�����r�����6r�� ���Jr�� ���Vr�����cr��3���yr��%���­r�����Ór�����Õr�� ���êr�����ôr�����ùr�� ���þr�����s�����s�� ���s�����!s�����)s�����/s�����7s�����@s�����Os�����Vs�����\s�����bs�����ts�� ���…s�����s�����“s��K���šs�� ���æs��+���ñs�����t�����%t��)���-t�����Wt�����\t��(���yt��Ç���¢t��)���ju��)���”u��+���¾u��#���êu��(���v��U���7v�����v�����’v�����˜v�����¶v�����¾v�����Äv�����Év��=���Úv�����w�����w�����&w��#���(w�����Lw��D���iw��C���®w�����òw�����x�����*x��1���2x��=���dx��%���¢x��8���Èx��<���y��4���>y��!���sy��)���•y��?���¿y��!���ÿy��N���!z��&���pz��.���—z�����Æz��K���äz��;���0{��%���l{�����’{��$���§{�����Ì{�����å{�����|�����|�� ���'|��"���H|�� ���k|��(���v|�� ���Ÿ|�����­|��)���À|�����ê|�����}��F��� }�� ���Q}�����r}��&���’}��"���¹}��P���Ü}��A���-~�����o~�����…~��5���¥~��8���Û~�������&���%�����L��'���h��%�����&���¶�����Ý�����ú����� €�����€��3���/€��7���c€��2���›€��3���΀������������&���>��>���e��[���¤������‚��0���‚�����F‚�����V‚�����g‚��A���y‚��$���»‚�����à‚�����ò‚�����ƒ�����,ƒ��K���Bƒ�����Žƒ�����žƒ�����®ƒ�����ƃ�� ���Öƒ��"���àƒ�����„�����„�����;„�����B„�����Q„��!���c„�����…„��(���–„��/���¿„�����ï„��R���…�����b…��'���v…��0���ž…��I���Ï…��;���†��9���U†��A���†��?���ц��'���‡��F���9‡��7���€‡�����¸‡��6���¾‡��M���õ‡��/���Cˆ��7���sˆ��2���«ˆ��0���Þˆ�����‰��@���!‰��B���b‰��‚���¥‰�����(Š�����:Š��<���LŠ�����«���à�������.���$���Î�������²����������’���I��������������F���Ì���U���Ç���0���”���c�������˜���=����������������]���æ���®�������������� ���»������N���r���Ø����������ƒ���+���¬�������q���ã���´�����������Ÿ���:���Š���Ý���Ô�����������8������� ���%���>�������×���™�������Ê�������1���ö�������†���l������9�������a�������z���è���Ò���é���î���¥�������¤���P�����������y���s�������º���~����������°��������������������������K���Ä���"���*���k������������������O������#���›���S���“���C�������6���¾���ë���}���‹���t���w���ð�����������ó�������ì���v�������\���������������^������������������o���5���T���n���å���À���·�������3���{���d���H���'���³���Å�������B���������������j���p���ê���÷���Ü���Õ����������� �������•���ô���i���…���–���ª���m���„���x���¦���Ð���D�����������G�������õ�������€����������Â���¢���¿�������Q���Û���X��������������Œ�������Á�������‘���ò���—���������������œ���ç���|���Z������� ���_���£�������R��������������¼���J���¶���E���������@���L�������ä���<���u���W�������[���;���)���‡���M���Ú���â���ˆ������Ï��� ���Ã���©��� ���A��� ���������¹���È���¨���á���Y���¡���š�������ø������4���Ù���Í���V���­���2���?���Ó���¯���Æ���Ë�����������Þ���e���/���-���h���!������¸����������‚���í���Ž�������Ñ���������½���7���µ�������‰��������������ñ����������Ö���,���(���&�������ž�������É�������ù���f������±���ï���b���`�����������§�������g������ß���� As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � With no FILE, or when FILE is -, read standard input. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --version output version information and exit � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � (backup: %s)� groups=� old �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: %s is so large that it is not representable�%s: %s:%s: disorder: �%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot follow end of this type of file; giving up on this name�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: equivalence class operand must be a single character�%s: expected a numeric value�%s: file has negative size�%s: file too long�%s: file truncated�%s: input contains a loop:�%s: input file is output file�%s: invalid PID�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid pattern�%s: invalid regular expression: %s�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: read error�%s: removed�%s: removing�%s: replace %s? �%s: unable to perform all requested operations�%s: value not completely converted�'�, load average: %.2f�<internal>�??? �Avail�Available�Capacity�FAILED�Filesystem�IFree�IUse%�IUsed�Idle�In real life: �Inodes�LINE�Login�Login name: �Memory exhausted�Mounted on�OK�Plan: �Print CRC checksum and byte counts of each FILE. �Project: �Set LC_ALL='C' to work around the problem.�Shell: �Size�The strings compared were %s and %s.�Type�Unknown system error�Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Use%�Used�Valid arguments are:�Warning: �When�Where�Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ambiguous argument %s for %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�blocks�both files cannot be standard input�cannot both summarize and show all entries�cannot change permissions of %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot determine hostname�cannot make both hard and symbolic links�cannot open %s for reading�cannot print only names or real IDs in default format�cannot read realtime clock�cannot reposition file pointer for %s�cannot set date�cannot set hostname; this system lacks the functionality�cannot skip past end of combined input�cannot split in more than one way�changing ownership of %s�character offset is zero�character out of range�character special file�close failed�closing %s (fd=%d)�closing output file %s�couldn't get boot time�directory�error in regular expression search�error reading %s�error writing %s�failed to change group of %s to %s �field number is zero�fifo�file system type %s both selected and excluded�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid width in environment variable COLUMNS: %s�input disappeared�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid group�invalid number at field start�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid user�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing hexadecimal number in escape�missing list of fields�missing list of positions�mode of %s retained as %04lo (%s) �neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no files remaining�no type may be specified when dumping strings�not a tty�number of bytes�number of lines�only one [c*] repeat construct may appear in string2�only one type of list may be specified�open failed�ownership of %s retained as %s �page width too narrow�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�regular empty file�regular file�semaphore�separator cannot be empty�setting times of %s�shared memory object�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�tab size cannot be 0�tab sizes must be ascending�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options to print and set the time may not be used together�too many %% conversion specifications in suffix�total�unparsable value for LS_COLORS environment variable�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: invalid width %lu; using %d instead�warning: summarizing is the same as using --max-depth=0�weird file�when not truncating set1, string2 must be non-empty�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�write error�write failed�you must specify a list of bytes, characters, or fields�Project-Id-Version: textutils 2.0.22 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2002-07-23 03:07+0200 Last-Translator: Jacobo Tarrio <jtarrio@trasno.net> Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es> Language: gl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit � Como caso especial, o cp fai unha copia de seguridad da ORIXE cando se usan as opcións `force' e `backup', e ORIXE e DESTINO teñen o mesmo nome que un ficheiro regular xa existente. � Teña en conta que moitos dos operadores necesitan caracteres de escape ou comiñas para as shells. As comparacións son aritméticas se ambos ARGs son números, doutro xeito serán lexicográficas. Os encaixes dos patróns devolven a cadea entre \( e \), ou nada; se non se usan \( e \), devólvese o número de caracteres coincidintes ou 0. � Por defecto selecciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC son dous caracteres delimitadores para separar páxinas lóxicas; use non se indica o segundo carácter suponse :. Escriba \\ para obter \. ESTILO pode ser: � Manexar a liña tty conectada á entrada estándar. Sen argumentos, escribi-la tasa de baudios, a disciplina da liña, e as desviacións respecto a stty sane. Nos parámetros, CARAC tómase literalmente, ou codificado coma en ^c, 0x37, 0177 ou 127; os valores especiais ^- ou undef úsanse para desactiva-los caracteres especiais. � Lese da entrada estándar se o FICHEIRO é -. Cada PATRÓN pode ser: � Os CONXuntos especifícanse coma cadeas de caracteres. A maioría represéntanse a si mesmos. As secuencias interpretadas son: \NNN carácter co valor octal NNN (1 a 3 díxitos octais) \\ barra invertida \a campá audible \b retroceso dun carácter \f salto de páxina \n salto de liña \r retorno de carro \t tabulación horizontal � A traducción faise se non se indica -d e ámbolos dous CONXUNTO1 e CONXUNTO2 aparecen. Pode usarse -t só cando se traduce. CONXUNTO2 esténdese ata a lonxitude do CONXUNTO1 repetindo o seu derradeiro carácter tantas veces como sexa necesario. Os caracteres excesivos do CONXUNTO2 ignóranse. Só se garantiza que [:lower:] e [:upper:] serán expandidos en orde crecente; usados no CONXUNTO2 na traducción, poden ser usados só en parellas para indica-la conversión de maiúsculas a minúsculas e viceversa. -s usa o CONXUNTO1 se non se está a traducir ou borrar; noutro caso a compresión usa o CONXUNTO2 e sucede trala traducción ou borrado. � Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar. � Escribir na saída estándar unha representación non ambigua, con bytes octais por defecto, do FICHEIRO. Con máis dun argumento de FICHEIRO, concatenalos na orde listada para forma-la entrada. Sen un FICHEIRO, ou se este é -, lese da entrada estándar. � --help amosar esta axuda e saír � --version amosar información da versión e saír � -D, --date-format=FORMATO emprega-lo FORMATO para a data da cabeceira -e[CAR[ANCHO]], --expand-tabs[=CAR[ANCHO]] expandi-los CARacteres de entrada (tabulacións) ao ANCHO de tabulación (8) -F, -f, --form-feed empregar saltos de páxina no canto de saltos de liña para separa-las páxinas (cunha cabeceira de páxina de tres liñas con -F ou unha cabeceira e pé de 5 liñas sen -F) � -W, --word-regexp=EXPREG emprega-la EXPREG para compara-las claves -b, --break-file=FICHEIRO caracteres que parten palabras neste FICHEIRO -f, --ignore-case converte-las minúsculas a maiúsculas para ordear -g, --gap-size=NÚMERO tamaño do oco entre campos de saída -i, --ignore-file=FICHEIRO le-la lista de palabras ignoradas do FICHEIRO -o, --only-file=FICHEIRO le-la lista de palabras únicas do FICHEIRO � -a, --across separar en filas horizontais no canto de en columnas verticais; emprégase con -COLUMNA -c, --show-control-chars emprega-la notación do circunflexo (^G) e da barra octal -d, --double-space amosa-la saída a doble espacio � -b, --before incluí-lo separador antes e non despois -r, --regex interpreta-lo separador como unha expresión regular -s, --separator=CADEA usa-la CADEA coma separador na vez de salto de liña � -b, --body-numbering=ESTILO usa-lo ESTILO para numera-las liñas do corpo -d, --section-delimiter=CC empregar CC para separa-las páxinas lóxicas -f, --footer-numbering=ESTILO usa-lo ESTILO para numera-las liñas do pé � -b, --bytes contar bytes no canto de columnas -s, --spaces partir nos espacios -w, --width=ANCHO empregar ANCHO columnas no canto de 80 � -c, --count preceder cada liña co número de aparicións -d, --repeated amosar só as liñas duplicadas � -d, --delimiters=LISTA utilizar carácters da LISTA no canto de tabulacións -s, --serial pegar un ficheiro de cada vez no canto de en paralelo � -f, --follow[={name|descriptor}] amosa-los datos engadidos segundo o ficheiro medre; -f, --follow e --follow=descriptor son equivalentes -F igual que --follow=name --retry � -n, --digits=CIFRAS usa-lo número de cifras indicado no canto de 2 -s, --quite, --silent non amosa-los tamaños dos ficheiros de saída -z, --elide-empty-files elimina-los ficheiros de saída baleiros � -q, --quiet, --silent non amosa-las cabeceiras cos nomes dos ficheiros -v, --verbose amosar sempre as cabeceiras cos nomes dos ficheiros � -r, --references o primeiro campo de cada liña é unha referencia -t, --typeset-mode - sen implementar - -w, --width=NÚMERO ancho da saída, excluíndo referencias � -s, --only-delimited non amosa-las liñas que non conteñan delimitadores --output-delimiter=CADEA emprega-la CADEA coma delimitador de saída por defecto emprégase o delimitador de entrada � -t equivalente a -vT -T, --show-tabs amosa-los caracteres TAB coma ^I -u (ignorado) -v, --show-nonprinting usar notación de ^ e M-, excepto en LFD e TAB � -t, --tabs=LISTA empregar unha lista separada por comas de posicións de tabulación � -w, --check-chars=N non comparar máis de N caracteres en cada liña � -z, --zero-terminated remata-las liñas cun byte 0, non un salto de liña � [:graph:] tódolos caracteres imprimibles, sen incluí-los espacios [:lower:] tódalas letras minúsculas [:print:] tódolos caracteres imprimibles, incluíndo os espacios [:punct:] tódolos caracteres de puntuación [:space:] tódolos espacios en branco horizontais e verticais [:upper:] tódalas letras maiúsculas [:xdigit:] tódolos díxitos hexadecimais [=CAR=] tódolos caracteres equivalentes a CAR � \v tabulación vertical CAR1-CAR2 tódolos caracteres entre CAR1 e CAR2 en orde ascendente [CAR*] en CONX2, copias do CARácter ata a lonxitude de CONX1 [CAR*REPET] REPETir copias do CARácter, REPET é octal se comeza por 0 [:alnum:] tódalas letras e díxitos [:alpha:] tódalas letras [:blank:] tódolos espacios en branco horizontais [:cntrl:] tódolos caracteres de control [:digit:] tódolos díxitos � d[TAMAÑO] decimal con signo, TAMAÑO bytes por enteiro f[TAMAÑO] punto flotante, TAMAÑO bytes por enteiro o[TAMAÑO] octal, TAMAÑO bytes por enteiro u[TAMAÑO] decimal sen signo, TAMAÑO bytes por enteiro x[TAMAÑO] hexadecimal, TAMAÑO bytes por enteiro � excl fail if the output file already exists nocreat do not create the output file notrunc non trunca-lo ficheiro de saída noerror continuar se hai erros de lectura fdatasync physically write output file data before finishing fsync likewise, but also write metadata � (copia de seguridade: %s)� grupos=� antigo �% 1% de memoria, b 1, K 1024 (por defecto), e así para M, G, T, P, E, Z e Y. Sen un FICHEIRO ou cando o FICHEIRO é -, lese da entrada estándar. *** AVISO *** O locale especificado nas variables de ambiente afecta á orde. Estabreza LC_ALL=C para obte-la orde tradicional que emprega valores de byte nativos. �%s -> %s (restaurado da copia de seguridade) �%s e %s son o mesmo ficheiro�%s existe pero non é un directorio�%s é un tipo de ficheiro descoñecido�%s é grande de máis�%s: %s é tan grande que non é representable�%s: %s:%s: desorde: �%s: apertura ou lectura FALLIDA �%s: só se poden facer ligazóns simbólicas relativas no directorio actual�%s: non se pode segui-la fin deste tipo de ficheiro; abandoando este nome�%s: non se pode facer un borrado seguro dun descriptor de ficheiro de tipo só-engadir�%s: non se pode restablece-lo modo de non bloqueo�%s: o operando de clases de equivalencia debe ser un só carácter�%s: agardábase un valor numérico�%s: o ficheiro ten un tamaño negativo�%s: ficheiro longo de máis�%s: ficheiro truncado�%s: a entrada contén un lazo:�%s: o ficheiro de entrada é o mesmo que o de saída�%s: PID incorrecto�%s: número máximo de datos non cambiados entre aperturas incorrecto�%s: número incorrecto�%s: número de bytes incorrecto�%s: número de liñas incorrecto�%s: número de segundos incorrecto�%s: patrón incorrecto�%s: expresión regular incorrecta: %s�%s: lonxitude do sufixo non válida�%s: o número de liña debe ser maior que cero�%s: número de liña inexistente�%s: non se atoparon liñas de suma de comprobación %s ben formatadas�%s: non hai información de tamaño para este dispositivo�%s: pasada %lu/%lu (%s)...�%s: pasada %lu/%lu (%s)...%s�%s: erro de lectura�%s: borrado�%s: borrando�%s: ¿substituír %s?�%s: non se poden facer tódalas operacións pedidas�%s: valor non convertido por completo�"�, carga media: %.2f�<interno>�??? �Disp�Dispoñib�Capacid�FALLA�Sist. Fich�ILibres�IUso%�IUsados�Inactivo�Na vida real: �Inodos�LIÑA�Login�Nome de usuario: �Memoria esgotada�Montado en�OK�Plan: �Amosa-la suma de comprobación CRC e o número de bytes de cada FICHEIRO. �Proxecto: �Estabreza LC_ALL='C' para palia-lo problema�Shell: �Tamaño�As cadeas que se compararon foron %s e %s�Tipo�Erro do sistema descoñecido�Uso: %s [FICHEIRO]... ou: %s [OPCIÓN] �Uso: %s [OPCIÓN] [FICHEIRO] Escribir unha lista totalmente ordeada consistente coa ordeación parcial do FICHEIRO. Se non se indica un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar. �Uso: %s [OPCIÓN]... FICHEIRO PATRÓN... �Uso: %s [OPCIÓN]... FICHEIRO1 FICHEIRO2 �Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2] �Uso: %s [OPCIÓN]... [FICHEIRO]... �Uso: %s [OPCIÓN]... [ENTRADA [SAÃDA]] �Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G) ou: %s -G [OPCIÓN] [ENTRADA [SAÃDA]] �Uso%�Usado�Os parámetros correctos son:�Aviso: �Cando�Onde�Escrito por %s. �as expresións [=c=] non poden aparecer na cadea2 ao traducir�^[nN]�^[sSyY]�"�ten que se dar un comando co axuste�argumento %s ambiguo para %s�facer copia de seguridade de %s destruiría a orixe; %s non copiado�facer copia de seguridade de %s destruiría a orixe; %s non movido�tipo de copia de seguridade�ficheiro especial de bloque�bloques�os dous ficheiros non poden ser entrada estándar�non se pode resumir e amosar tódalas entradas ao mesmo tempo�non se pode cambia-los permisos de %s�non se pode converter U+%04X ao xogo de caracteres local�non se pode converter U+%04X ao xogo de caracteres local: %s�non se pode copia-la ligazón simbólica cíclica %s�non se pode crea-lo directorio %s�non se pode determina-lo nome da máquina�non se poden facer ligazóns duras e simbólicas ao mesmo tempo�non se pode abrir %s para lectura�non se pode escribir só o nome ou o identificador real no formato por defecto�non se pode le-lo reloxo coa hora real�non se pode move-lo punteiro do ficheiro de %s�non se pode establece-la data�non se pode establece-lo nome de máquina; o sistema non ten esa capacidade�non se pode saltar máis aló do final da entrada combinada�non se pode partir en máis dun xeito�mudando o dono de %s�o desprazamento do carácter é cero�carácter fóra de rango�ficheiro especial de carácter�o peche fallou�pechando %s (fd=%d)�pechando o ficheiro de saída %s�non se pode obte-la data de inicio�directorio�erro ao buscar por expresións regulares�erro lendo %s�erro escribindo %s�non foi posible mudar o grupo de %s a %s �o número do campo é cero�fifo�o sistema de ficheiros tipo %s foi escollido e exluído ao mesmo tempo�obtendo os novos atributos de %s�mantense o grupo de %s como %s �a función iconv non está dispoñible�a función iconv non é utilizable�ignorando o tamaño de tabulador non válido na variable de ambiente TABSIZE: %s�ignorando o ancho non válido na variable de ambiente COLUMNS: %s�a entrada desapareceu�argumento incorrecto %s para %s�especificador de conversión do sufixo incorrecto: %c�especificador de conversión do sufixo incorrecto: \%.3o�grupo incorrecto�número non válido ao comezo do campo�número de bytes incorrecto�número de bytes a comparar non válido�número de bytes a omitir non válido�número de campos a omitir non válido�número de liñas incorrecto�usuario incorrecto�memoria esgotada�cola de mensaxes�construcción [:upper:] e/ou [:lower:] mal aliñada�especificación de conversión %% non atopada no sufixo�especificador de conversión non atopado no sufixo�falta un número hexadecimal na secuencia de escape�lista de campos non atopada�lista de posicións non atopada�o modo de %s mantense como %04lo (%s) �non se mudou a ligazón simbólica %s nin o ficheiro referido �non existe a variable de ambiente SHELL, e non se indicou ningunha opción de tipo de shell�non quedan ficheiros�non se pode especificar un tipo ao volcar cadeas�non é unha tty�número de bytes�número de liñas�só pode aparecer una construcción de repetición [c*] na cadea2�só se pode indicar un tipo de lista�a apertura fallou�mantense o dono de %s como %s �páxina demasiado estreita�mantense a data de %s�amosar tódalas liñas duplicadas e a conta de repeticións non ten sentido�erro de lectura�erro de lectura�ficheiro normal baleiro�ficheiro normal�semáforo�o separador non pode estar baleiro�establecendo a data de %s�obxecto de memoria compartida�socket�erro estándar�entrada estándar�a entrada estándar está pechada�saída estándar�a obtención de datos do ficheiro fallou�carácter de sobras na especificación do campo�a comparación de cadeas fallou�elimina-las liñas sen delimitadores ten sentido só cando se traballa con campos�ligazón simbólica�o tamaño da tabulación non pode ser 0�os tamaños das tabulacións deben ser crecentes�as opcións --binary e --text non teñen sentido cando se comproban sumas�a opción --status ten sentido só cando se verifican sumas�a opción --warn ten sentido só cando se verifican sumas�a construcción [c*] pode aparecer na cadea2 só cando se traduce�a construcción de repetición [c*] non pode aparecer na cadea1�o delimitador debe ser un só carácter�as opcións para imprimir e establece-la data non se poden usar xuntas�demasiadas especificacións de conversión %% no sufixo�total�a variable de ambiente LS_COLORS ten un valor ilexible�aviso: %s: os caracteres que seguen á constante de carácter foron ignorados�aviso: --pid=PID non é soportado neste sistema�aviso: PID ignorado; --pid=PID é útil só cando segue�aviso: ancho %lu incorrecto; usando %d na súa vez�aviso: resumir é o mesmo que usar --max-depth=0�ficheiro estraño�cando non se trunca o conxunto1, a cadea2 non debe estar baleira�cando se indica un estilo de saída, non se poden establecer modos�cando se traduce con clases de caracteres complementarias, a cadea2 debe facer corresponder tódolos caracteres do dominio nun só�erro de escritura�erro de escritura�debe especificarse unha lista de bytes, caracteres ou campos����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/hu.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001001372�12107204516�012106� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���7��0���è)�� �� S�����Äo�����Ôo�� p������ìr�����ír��ø���ïr��¾���ès��¿���§t��Â���gu��ª���*v��G��Õv��ù���x��º���y��p���Òy��!��Cz��¼���e{��w��"|��5��š}��R��Ð~��~���#€�� ���¢€��\���°€��w��� ��G���…��ï���Í��w���½‚��¡���5ƒ��#��׃����û„��š����†��Ä���›†��D��`‡��z���¥‰��Þ��� Š��i���ÿŠ��›���i‹��ˆ���Œ��È���ŽŒ��„���W��M��Ü��à���*��›��� ��—���§��`���?‘��‚��� ‘����#’��>���8“��3��w“��K��«”��0���÷•��Ê���(–��–���ó–��-��Š—��Ê���¸™��ç���ƒš��‡���k›��¾���ó›��á���²œ��E���”��Œ���Ú��ü���gž��æ���dŸ����K ��9���]¡�����—¡�����®¡��t��á��š���8£��Ì���Ó£��°��� ¤����Q¥��Ð��e¦�� ��6¨����W©��þ��jª��Ë���i¬����5­��7���S®��¼���‹®��F���H¯��ì���¯��v���|°�� ���ó°��¡��ÿ°��¾��¡²��Ð��`´��u���1¶��q���§¶��[��·��æ���u¸��1��\¹��S��Žº��ë���â»��,���μ��“��û¼��º���¾�����J¿��ß���Û¿��\��»À��‹���Â��i���¤Â��A���Ã��x���PÃ��v���ÉÃ����@Ä��Â���VÅ��I���Æ��·���cÆ��›���Ç��g��·Ç��p���É��5���É��s���ÆÉ����:Ê����YË��×���xÌ��ò���PÍ��É���CÎ��Ê��� Ï��ð���ØÏ��–��ÉÐ��Ô���`Ò��Ó���5Ó��¬��� Ô��¤���¶Ô��i���[Õ��õ���ÅÕ��˜���»Ö��Z���T×��ù���¯×�����©Ø��.��7Ù��Å��fÚ��ž���,Ü��G��ËÜ��M��Þ��4���aß��‰���–ß��F��� à��O��gà��í��·á����¥ã�� ��5å��£��Bæ��y��æç�� ��`é��n���ê��B���ðê��F���3ë����zë��Ë��•ì����aî��9��€ï����ºð��¢���Kò��Ö���îò��¡��Åó��E���gõ��J���­õ��Ò���øõ�� ��Ëö����Ù÷��&��èø��¹��ú��Ý���Éû��+���§ü��N���Óü��Ò���"ý��’���õý��°���ˆþ��Ë���9ÿ��¡����›���§�È���C�B��� ���O�u���d���Ú�1���ð�ò���"�����Ë���¥�ƒ���q�ƒ���õ�‚��y �4��ü ���1 ���C �´��V�í��� � ��ù����<��� �‘���G�º��Ù�ª��”�K���?���‹�z����þ��� �µ��� ����À�f��P�5��·�ˆ���í�1���v�H���¨�;��ñ�Æ���- �!��ô �È���#�ý���ß#�q��Ý$�Y��O&�ü���©'�L���¦(�×���ó(�T��Ë)�#�� +�÷��D,�Þ���<.�ƒ���/�Ñ���Ÿ/�i���q0�Í���Û0�Ä���©1�Ñ���n2�ë���@3�K��,4���x5�D��‡6����Ì7�Ó���Z8�Ä��.9�I���ó:���=;�H���Ë<�3���=�c��H=� ��¬>�=��Í?��� A�ê��&B�*��D�’���<E�F���ÏE�C���F�X��ZF�?���³G�«���óG�9���ŸH�S���ÙH�š��-I�m���ÈJ�û���6K�ä���2L�¨��M�$���ÀN�(���åN�ú���O�$��� P�%���.P�*���TP���P�:���žQ�&���ÙQ� ����R�9���!R�#���[R�$���R�!���¤R�Ý���ÆR�,���¤S�"���ÑS� ���ôS� ���ÿS�X�� T�;���fU�|��¢U���W�Ô���3X�Ü���Y�þ���åY� ���äZ����ïZ� ���ôZ�����[���� [����[���"[�&���>\� ���e\� ���o\����{\����Ž\����¡\����¶\����Ô\� ���ð\�+���]����=]����V]�?���q]�D���±]�0���ö]����'^�)���@^����j^�0���~^�"���¯^����Ò^�'���â^���� _����*_�/���G_� ���w_����˜_����°_����Æ_����ß_�>���ü_�"���;`����^`�%���}`�B���£`�*���æ`����a����0a����Ba�)���Ra����|a�%���™a�,���¿a����ìa�#���üa�$��� b����Eb�/���eb����•b�8���¥b����Þb����ób����c����/c����Cc����bc����c����–c����§c����¼c����×c����ôc����d����d����,d����=d�'���Nd����vd�*���‘d����¼d�$���Úd����ÿd����e����)e� ���Be����ce�"���ye����œe����²e�;���Èe����f����f����3f����Pf����lf����‰f����§f����Äf����àf����ôf�"��� g����.g����Ag�)���[g����…g����¢g����³g�"���Òg�1���õg�'���'h����Oh�(���`h� ���‰h�,���ªh�,���×h�,���i�'���1i�-���Yi� ���‡i�(���¨i�(���Ñi����úi���� j����&j�"���Aj����dj����sj�&���†j����­j�"���Èj� ���ëj� ���÷j����k����k����'k����7k�5���Sk�0���‰k�.���ºk����ék����l����%l�"���El����hl����xl�+���‰l�%���µl����Ûl����ûl� ���ýl���� m����!m�l���%m�;��’m����În� ���än����òn�6��� o�5���Do�-���zo�)���¨o����Òo����äo����ûo����p� ���)p����4p����9p����?p�,���Gp�8���tp�)���­p� ���×p����ãp����õp����q����q� ���$q����.q����>q� ���Uq� ���_q� ���kq�k��uq����ár����ér�K���s�8���Ms����†s�k���s�h���ûs����dt� ���õt� ����u� ��� u�3���u�Š��Mu� ���Øv� ���åv�½���ïv����­w����¼w� ���Ìw�=���Ùw�(���x�ã���@x� ���$y����0y�U��@y����–z����Ÿz�<��¤z�\���á{� ���>|�+���I|�+���u|�0���¡|� ���Ò|����Ü|����ã|�1���ò|����$}�I���=}� ���‡}����’}�@���«}�£��ì}�7����?���È����€����€����)€� ���0€����=€����B€����H€����N€����T€����e€�:���j€����¥€�¦���¹€����`�×��o� ���Gƒ����Rƒ����fƒ� ���mƒ����wƒ����ƒ����¦ƒ����Ã����߃�$���÷ƒ����„����.„����I„� ���X„� ���d„� ���p„����}„� ���Ž„����š„����¬„����½„����Ä„����É„����Ï„� ���Õ„� ���â„����ð„����…����…����,…� ���;…� ���I…� ���V…� ���b…����m…����r…����w…�#���‘…����µ…����¾…�*���Ý…����†�E��� †����Q†����e†���v†�H���ˆ‡�o���ч����Aˆ����Eˆ����Uˆ� ���jˆ�&���xˆ� ���Ÿˆ� ���«ˆ� ���¶ˆ����È� ���ʈ�#���؈�H���üˆ�2���E‰�i��x‰�ª���âŠ�š���‹�;���(Œ����dŒ���‚Œ�¸���œŽ�†���U�;���Ü�%�������>�†���¾�N���E‘�T���”‘� ��é‘�7���ô“����,”����K”� ���c”� ���m”����z”� ���”����‹”����Ÿ”�º���º”����u•�D���Œ•����Ñ•����â•� ���÷•����–����–����*–����9–� ���H–�1���V–�'���ˆ–� ���°–� ���¾–� ���Ì–����Ù–�&���ì–�*���—����>—����F—����V—�5���[—� ���‘—����—����¥—����¶—����Ê—� ���ß—����ë—� ���ó—�����˜�$���˜� ���*˜�$���5˜����Z˜����l˜����‚˜�â��•˜�C���xš�+���¼š����èš����íš� ���üš���� ›����›����1›����C›����U›� ���g›����t›� ���‰›�,���”›�j���Á›�&���,œ� ���Sœ�'���tœ�0���œœ����Íœ����êœ�����–���&�)���½�Y���ç�'���Až�T���iž�'���¾ž�(���æž����Ÿ�X���#Ÿ�@���|Ÿ�?���½Ÿ�&���ýŸ�š���$ ����¿ ����Ö �#���t¡�&���˜¡����¿¡�"���Þ¡�T���¢�g���V¢�†���¾¢�.���E£����t£�"���“£�+���¶£�Y���â£�~���<¤�¤���»¤�ä���`¥�=���E¦����ƒ¦�^���¡¦� ����§�¢���!§�F���ħ�}��� ¨�'���‰¨�'���±¨�Z���Ù¨�`���4©�!���•©�!���·©�$���Ù©� ���þ©�¦���ª�M���ƪ�>���«�'���S«�<���{«�T���¸«���� ¬����¬����¬����-¬����C¬����X¬�ï���n¬����^­�¹���t­�D���.®�H���s®�G���¼®� ���¯����¯����¯����¯�´��(¯����ݰ�;���ô°�3���0±�/���d±�+���”±�'���À±�#���è±���� ²����,²����H²�<���X²����•²����©²����¯²����µ²�*���·²����â²����ú²����³�A���1³����s³�2���г�1���½³� ���ï³����û³�!���´����0´�#���7´����[´�0���w´����¨´����´����Ó´�*���ä´����µ����-µ�"���Mµ����pµ����޵�E���­µ�;���óµ� ���/¶�,���P¶� ���}¶�!���ž¶����À¶����à¶�+���ÿ¶�#���+·�#���O·�,���s·�0��� ·�,���Ñ·�#���þ·����"¸����=¸� ���S¸����t¸����¸����®¸����̸�$���ë¸�"���¹����3¹�'���I¹����q¹�5���‹¹����Á¹�!���×¹����ù¹�1���º����Dº����Tº����qº����Šº����£º����·º����˺����ߺ����öº����»�(��� »����I»����b»�.���w»�2���¦»����Ù»����ô»����¼�%���(¼�0���N¼�3���¼����³¼�F���Ó¼�B���½�+���]½�5���‰½�1���¿½����ñ½���� ¾�*���)¾����T¾����o¾�)���Œ¾����¶¾����Ǿ�%���ã¾� ��� ¿� ���¿����%¿����5¿�8���P¿����‰¿����Ÿ¿����³¿����Ñ¿�&���ë¿�'���À�<���:À�:���wÀ�.���²À�!���áÀ����Á�&���Á����9Á����TÁ����dÁ����xÁ����‰Á����™Á�#���©Á�'���ÍÁ�"���õÁ�&���Â����?Â����TÂ����mÂ� ���ˆÂ����©Â����ÂÂ����ÙÂ�%���ðÂ����Ã� ���2Ã� ���?Ã����LÃ����_Ã����tÃ����ŠÃ����Ã����´Ã����ÈÃ����ÛÃ�,���òÃ�+���Ä�-���KÄ�)���yÄ�!���£Ä����ÅÄ����äÄ����øÄ�8���Å����HÅ����_Å����tÅ����ŠÅ�3���œÅ� ���ÐÅ����ÚÅ� ���ëÅ����÷Å���� Æ� ���Æ����&Æ�#���9Æ�"���]Æ� ���€Æ����¡Æ����ÀÆ����ÑÆ����íÆ����Ç����Ç����0Ç����6Ç����HÇ�%���YÇ����Ç�$���™Ç�+���¾Ç�#���êÇ�:���È�!���IÈ�/���kÈ�'���›È����ÃÈ����ÙÈ����ôÈ����É�*���/É�%���ZÉ����€É�#���žÉ�$���ÂÉ����çÉ�%���ýÉ�!���#Ê�'���EÊ�%���mÊ����“Ê����³Ê����ÇÊ����ÙÊ����øÊ�(���Ë�,���?Ë� ���lË�$���Ë����²Ë����ËË����ÝË����ûË�$���Ì�#���>Ì�%���bÌ����ˆÌ�!���¨Ì�&���ÊÌ����ñÌ����Í�(���#Í� ���LÍ�3���mÍ�-���¡Í����ÏÍ����îÍ�!���Î�1���)Î�'���[Î����ƒÎ�1���£Î����ÕÎ����ìÎ����Ï����!Ï����;Ï�#���UÏ�1���yÏ�.���«Ï����ÚÏ����ðÏ����Ð�(���"Ð����KÐ� ���cÐ����qÐ����ŽÐ�(���£Ð����ÌÐ����ÑÐ�3���ðÐ�;���$Ñ�.���`Ñ����Ñ����§Ñ����¼Ñ�$���ÚÑ�$���ÿÑ�D���$Ò����iÒ����}Ò����ŽÒ����žÒ����²Ò����ÏÒ����ëÒ����Ó����"Ó����&Ó����=Ó�)���LÓ�/���vÓ�=���¦Ó�@���äÓ�:���%Ô����`Ô�!���~Ô���� Ô�,���²Ô����ßÔ����ûÔ���� Õ�;���$Õ����`Õ����{Õ����”Õ����ªÕ����¾Õ� ���ÙÕ�!���úÕ����Ö����7Ö����KÖ�*���^Ö�-���‰Ö����·Ö����ÇÖ����ÞÖ����÷Ö���� ×����#×����<×����X×�%���p×�1���–×�#���È×�"���ì×����Ø� ���%Ø����3Ø����DØ����ZØ�"���lØ� ���Ø����Ø����°Ø����ÇØ����ÚØ����öØ���� Ù�#���'Ù�!���KÙ�!���mÙ����Ù����¦Ù����ÅÙ����ÞÙ� ���ýÙ���� Ú����Ú����+Ú����=Ú�!���[Ú����}Ú�"���•Ú����¸Ú����ØÚ� ���öÚ����Û����/Û�]���DÛ����¢Û����¶Û����ÌÛ�!���âÛ�*���Ü� ���/Ü� ���<Ü����]Ü�/���qÜ�$���¡Ü����ÆÜ�2���ÛÜ�;���Ý����JÝ����cÝ����€Ý����žÝ�R���µÝ�L���Þ�(���UÞ� ���~Þ����‹Þ����›Þ����­Þ����ÃÞ�,���áÞ�9���ß�*���Hß�,���sß���� ß�0���¦ß�:���×ß�#���à�'���6à�8���^à����—à�/���¬à����Üà�7���íà�8���%á� ���^á����lá�/���ˆá�-���¸á����æá�����â�&���â�)���>â����hâ�$���}â����¢â����¹â����Óâ����ãâ�+���üâ�1���(ã�"���Zã����}ã����ã����¦ã�#���Äã�$���èã���� ä����+ä����@ä�!���`ä�!���‚ä�%���¤ä����Êä�%���Ùä����ÿä����å�7���å�=���Uå����“å����±å����Æå����àå����óå� ���æ����æ�-���*æ�C���Xæ����œæ�(���±æ� ���Úæ�'���äæ���� ç�"���&ç����Iç����Yç�%���iç����ç�4���¥ç� ���Úç�&���ûç� ���"è�$���.è�8���Sè�G���Œè�9���Ôè����é�"���-é�$���Pé����ué����é����¯é����Äé����Úé����øé�>���ê� ���Oê� ���Zê����fê����{ê����Œê����©ê� ���¼ê� ���Éê����Õê����ìê� ���ë� ��� ë����ë�)���1ë����[ë����pë����‹ë����Ÿë�$���´ë�-���Ùë�7���ì����?ì����Fì����Uì����dì����}ì� ���ì����™ì���� ì����¦ì����­ì����Ëì����äì�#���í�J���%í� ���pí� ���~í� ���‹í����—í�*���¬í����×í����óí���� î����(î����?î�8���\î����•î� ���›î�H���©î�U���òî�>���Hï�?���‡ï�?���Çï�=���ð�>���Eð�3���„ð�(���¸ð�N���áð�f���0ñ�>���—ñ�@���Öñ�#���ò�<���;ò�*���xò����£ò����Ãò�(���Ûò����ó�/���ó����Oó����jó����‚ó����•ó����›ó����°ó����Äó�*���äó�!���ô�7���1ô����iô�"���ô����¤ô����³ô�3���Çô�\���ûô����Xõ����põ�.���ˆõ����·õ�0���Íõ����þõ�C���ö����Yö����vö����Šö����¤ö�H���¶ö�+���ÿö�2���+÷�8���^÷�=���—÷�@���Õ÷�#���ø����:ø�$���Uø�=���zø�4���¸ø�.���íø�,���ù�<���Iù�0���†ù�3���·ù�7���ëù�c���#ú����‡ú����ú�t���´ú� ���)û�3���4û�>���hû�5���§û�j���Ýû�h���Hü�0���±ü�,���âü�*���ý�3���:ý�(���ný�&���—ý�(���¾ý� ���çý����óý� ���þ� ���þ�/���!þ�7���Qþ�&���‰þ� ���°þ�Å��Ñþ����—��ø���™��Î���’�Û���a�ê���=�Ç���(���ð�:���©���?�t���é���^ ���o �†��r �æ��ù �¡��à�–���‚�����t���0�¦���¥�€���L�C��Í�¯����Ã���Á�”��…�*���§���E���í�¦��ö�›������9����O�¢���à�¢���ƒ� ��& �Ì���G!�^��"�2��s#�º���¦$�Â���a%�o���$&�–���”&�q��+'�S���(�w��ñ(�¦��i*�O���,���`,�«���f-���.�Ö���’0�U��i1�¡���¿2���a3�Ñ���g4�_���95�®���™5���H6�*��J7�,��u8�G���¢9�-���ê9�'���:�V��@:�§���—;���?<�Þ���C=�/��">�ù��R?�\��LA�T��©B�™��þC�Ü���˜F�K��uG�J���ÁH�å��� I�S���òI�'��FJ����nK� ���üK�Ö��L�¼��ßM�Ø��œO�œ���uQ����R�¾��’R�ë���QT�Y��=U�Á��—V�*��YX�;���„Y�Ü��ÀY�ø���[�ž���–\�ò���5]�®��(^�É���×_�ƒ���¡`�S���%a�œ���ya�“���b�F��ªb� ��ñc�Š���ýd� ��ˆe�í���”f�Ó��‚g�…���Vi�D���Üi�’���!j�Q��´j�v��l���}m�5��šn���Ðo�ò���ïp���âq�¿��är�ô���¤t�E��™u�á���ßv�°���Áw�…���rx���øx�Å���þy�a���Äz�'��&{�®���N|�‡��ý|�‘��…~�Ð����˜��è�¡��ƒ�I���#…�Ê���m…�A���8†�ž��z†�`��ˆ���zŠ�ð���—Œ�Õ��ˆ�Ð��^�V��/‘�¬���†’�J���3“�N���~“�9��Í“�×��•�g��ß—�§��G™�2��ïš�ä���"�2��ž�"��:Ÿ�V���]¡�r���´¡���'¢�;��A£�r��}¤�å��ð¥�õ��Ö§�(��Ì©�0���õª�‹���&«�|��²«�¹���/­�Í���é­���·®�Ë��À¯�°���Œ±�+��=²�m���i³�u��׳�ˆ���Mµ�q��Öµ�4���H·�D��}·�è���¸�ô���«¹�²��� º�²���S»�õ��¼�È��ü½�—��Å¿�Q��]Á���¯Â���ÇÄ� ��âÅ�6��ïÆ�I���&È�é���pÈ�i��ZÉ�k��ÄË�{���0Î�%��¬Î����ÒÏ�R��pÐ�ý���ÃÑ�Ë���ÁÒ�É��Ó�–��WÕ�œ���îÖ�C���‹×�R���Ï×�y��"Ø�ë���œÙ�È��ˆÚ���QÝ�S��UÞ���©ß�Ø��¬á�N��…ã�Y���Ôä�U��.å�T��„æ�‹��Ùç�ž��eé�@��ì����Eí�ä���ãí����Èî���Xï�Ð���nð�)��?ñ�0��iò�“��šó�¡��.õ���Ðö�˜���`ø� ��ùø�·��ú�|���Òü� ��Oý�ˆ���ðþ�E���yÿ�(��¿ÿ�ˆ��è���q�Ï��„�k��T�ª��À�ž���k �s��� �Q���~ �Ì��Ð �L��� �É���ê �B���´�j���÷�Ô��b�w���7�6��¯�â���æ���É�2���Ï�5����*��8�4���c�,���˜�8���Å�b��þ�H���a�1���ª�1���Ü�@����/���O�H����*���È�#��ó�K����3���c� ���—����¢�ƒ��½�L���A�Ë��Ž�Q��Z �Þ���¬!�-��‹"�I��¹#� ���%����%� ���%� ���!%����-%����5%�’��M%�.���à&����'� ���'�#���$'����H'�1���_'�'���‘'����¹'����Ó'�4���ò'����'(����>(�\���X(�c���µ(�D���)����^)�C���y)����½)�1���Õ)�%���*����-*�0���?*����p*�(���Œ*�*���µ*�.���à*�"���+����2+�+���O+�'���{+�S���£+�+���÷+�'���#,�B���K,�^���Ž,�/���í,�$���-����B-����a-�;���}-�.���¹-�1���è-�O���.����j.�*���.�0���ª.�!���Û.�/���ý.����-/�I���=/����‡/�/���¢/����Ò/����ð/�5��� 0�&���B0�!���i0����‹0����¤0����Á0�"���Þ0����1����1����-1����D1����`1�5���y1����¯1�1���Í1�%���ÿ1�9���%2� ���_2����€2����–2�)���³2����Ý2�)���ú2����$3����B3�Q���`3����²3����Ê3�"���ç3���� 4����%4�'���B4�3���j4�(���ž4����Ç4�%���ß4�+���5����15����L5�0���k5�*���œ5����Ç5����à5�+���þ5�H���*6�6���s6����ª6�8���È6����7�9���7�<���V7�9���“7�8���Í7�7���8�-���>8�8���l8�6���¥8� ���Ü8����ý8����9�#���39����W9�A���j9�7���¬9�+���ä9�M���:� ���^:����l:�"���:����¢:����´:�#���Ï:�_���ó:�5���S;�1���‰;�-���»;�)���é;�)���<�(���=<����f<����u<�5���<�3���Å<�$���ù<����=����"=�=���@=����~=�—���=�š��>����´?����Ì?����Û?�?���û?�I���;@�C���…@�1���É@�'���û@�$���#A�$���HA�$���mA����’A����›A���� A� ���¦A�A���³A�?���õA�+���5B����aB����pB����…B����£B����²B����¸B����¿B����ÖB� ���òB����üB����C�=��C� ���[D����gD�c���‚D�J���æD����1E� ���:E�’���ÛE�Ý���nF� ���LG����WG� ���pG�A���|G�Ê��¾G����‰I� ���˜I���¢I����¨J����·J� ���ÇJ�E���ÔJ�.���K���IK� ���\L����iL�Œ��yL� ���N����N���N�h���¶O� ���P�,���*P�,���WP�;���„P� ���ÀP����ÊP����ÑP�<���ãP� ��� Q�X���AQ� ���šQ����¨Q�R���¿Q�H��R�N���[T�W���ªT����U����U����#U����3U����CU����IU����PU����VU����\U����mU�\���uU����ÒU�¿���èU� ���¨V�+��¶V� ���âX����îX����Y� ��� Y����Y����5Y�"���UY�%���xY����žY�.���¼Y����ëY�#���Z����,Z� ���;Z� ���GZ� ���SZ����`Z� ���qZ����}Z����Z���� Z����¨Z����®Z����½Z����ÄZ� ���ÛZ����éZ����úZ����[����'[� ���6[� ���D[� ���Q[� ���][����j[����o[�'���t[�#���œ[����À[�&���Ï[�)���ö[���� \�Y���(\����‚\����ž\�R��³\�Z���^�‰���a^����ë^����ï^����ÿ^� ���_�4���"_� ���W_� ���c_� ���n_����{_����‚_�/���ž_�i���Î_�S���8`�³��Œ`�Ø���@b�ª���c�E���Äc�(��� d�n��3d�È���¢f�·���kg�>���#h�0���bh�Š���“h�§���i�g���Æi�w���.j�•��¦j�L���<m�!���‰m�!���«m� ���Ím� ���×m� ���äm� ���îm����úm�!���n�Ç���6n�,���þn�_���+o����‹o���� o����Ào����Øo����ìo����ýo���� p� ���p�J���)p�J���tp� ���¿p� ���Íp� ���Ûp����èp�-���ýp�P���+q����|q����‘q����¡q�S���¨q� ���üq� ���r����r����)r����Cr� ���]r� ���ir� ���sr����€r����…r����£r�1���²r����är�!���ör����s���)s�_���Hu�1���¨u����Úu����àu����ïu����ÿu����v����.v����Gv����`v����yv����‹v����¢v�9���²v�¤���ìv�2���‘w�-���Äw�5���òw�A���(x�$���jx�%���x�'���µx�®���Ýx�8���Œy�n���Åy�4���4z�r���iz�2���Üz�6���{����F{�b���b{�X���Å{�Y���|�.���x|�Í���§|����u}�ó���”}�,���ˆ~�-���µ~�'���ã~�,��� �q���8�ˆ���ª�¬���3€�8���à€�#����0���=�4���n�h���£�™��� ‚�Ç���¦‚�ý���nƒ�G���l„�&���´„�u���Û„�)���Q…�Ë���{…�T���G†�´���œ†�2���Q‡�2���„‡�o���·‡�‚���'ˆ�'���ªˆ�2���Òˆ�5���‰�1���;‰�½���m‰�k���+Š�X���—Š�:���ðŠ�\���+‹�l���ˆ‹����õ‹����ú‹�����Œ����Œ�*���4Œ�+���_Œ�3��‹Œ����¿�Á���Þ�_��� Ž�c�����h���d����Í����ß����å����é�ÿ��������’�6���’�.���I’�*���x’�&���£’�"���Ê’����í’���� “����'“� ���>“�J���I“����”“����´“����º“����“�-���Æ“����ô“����”�E���0”�I���v”�,���À”�O���í”�R���=•����•����¬•�'���•����ê•�.���ð•����–�F���?–����†–����¦–�"���¹–�O���Ü–�&���,—�,���S—�;���€—�/���¼—�'���ì—�N���˜�K���c˜�*���¯˜�<���Ú˜�0���™�0���H™�/���y™�/���©™�7���Ù™�7���š�/���Iš�G���yš�B���Áš�6���›�/���;›�4���k›���� ›�4���¼›�/���ñ›�'���!œ�'���Iœ�'���qœ�;���™œ�,���Õœ�����6���� ���L�>���m�(���¬�5���Õ���� ž�V���+ž����‚ž�+���–ž�.���ž�4���ñž����&Ÿ�-���FŸ�3���tŸ� ���¨Ÿ����ÉŸ����åŸ�B���ùŸ�!���< �"���^ �;��� �?���½ ����ý ����¡�2���=¡�6���p¡�5���§¡�7���Ý¡�*���¢�\���@¢�N���¢�,���ì¢�V���£�F���p£�+���·£�0���ã£�G���¤�"���\¤�"���¤�2���¢¤����Õ¤�-���é¤�0���¥����H¥����`¥����w¥�=���”¥�T���Ò¥�.���'¦�"���V¦�%���y¦�E���Ÿ¦�8���å¦�0���§�A���O§�A���‘§�+���Ó§�(���ÿ§����(¨�5���;¨�%���q¨����—¨�/���¯¨����ߨ����÷¨���� ©�*���©� ���I©�1���j©�3���œ©�"���Щ�$���ó©�&���ª�0���?ª����pª����‡ª����¦ª�*���¿ª����êª���� «����«����0«����F«����_«� ���|«����«� ���º«� ���Û«� ���ü«�6���¬�4���T¬�7���‰¬�.���Á¬�5���ð¬�$���&­����K­����d­�[���€­�*���Ü­����®����!®����=®�<���U®� ���’®����®����¯®����®����Þ®� ���î®����ø®�,���¯�*���@¯�1���k¯�&���¯����į�%���Þ¯�$���°����)°�)���A°����k°����s°����ˆ°�=���¢°�!���à°�C���±�B���F±�B���‰±�V���̱�1���#²�D���U²�D���š²�2���ß²�$���³�.���7³�+���f³�O���’³�J���â³� ���-´�&���N´�;���u´�)���±´�5���Û´�-���µ�-���?µ�,���mµ�;���šµ����Öµ����ôµ�*��� ¶�,���8¶�C���e¶�9���©¶�5���ã¶�4���·� ���N·����o·�%���Š·�#���°·�(���Ô·�*���ý·�+���(¸�#���T¸�6���x¸�E���¯¸����õ¸�.���¹�A���C¹�'���…¹�N���­¹�9���ü¹�4���6º�&���kº�0���’º�]���ú�7���!»�.���Y»�^���ˆ»�.���ç»�+���¼�'���B¼�'���j¼�.���’¼�3���Á¼�i���õ¼�K���_½�6���«½����â½�)���û½�:���%¾�.���`¾����¾����¥¾����¾�4���Õ¾���� ¿����¿�C���-¿�L���q¿�P���¾¿�#���À����3À�.���MÀ�3���|À�7���°À�_���èÀ�*���HÁ����sÁ����“Á����ªÁ�#���ÅÁ����éÁ�#���Â�%���%Â����KÂ�)���OÂ�"���yÂ�S���œÂ�i���ðÂ�i���ZÃ�f���ÄÃ�d���+Ä�5���Ä�1���ÆÄ����øÄ�<���Å�"���LÅ����oÅ����Å�J���Å�'���èÅ�!���Æ����2Æ����QÆ�6���nÆ�+���¥Æ�/���ÑÆ�"���Ç����$Ç����@Ç�=���\Ç�@���šÇ����ÛÇ�!���ôÇ�#���È����:È����VÈ����vÈ�%���“È�"���¹È�5���ÜÈ�=���É�*���PÉ�-���{É�!���©É����ËÉ����áÉ����ûÉ����Ê�,���4Ê����aÊ����wÊ�%���—Ê����½Ê�#���ÖÊ����úÊ����Ë�+���5Ë�%���aË�*���‡Ë����²Ë�$���ÍË�&���òË�$���Ì����>Ì����QÌ����hÌ����Ì�(���—Ì����ÀÌ����àÌ�4���ùÌ�*���.Í����YÍ�)���wÍ����¡Í����¸Í�ˆ���ÖÍ����_Î�!���Î����¡Î�-���¾Î�7���ìÎ����$Ï� ���AÏ����bÏ�@���Ï�7���ÂÏ�"���úÏ�?���Ð�K���]Ð����©Ð�'���ÆÐ�'���îÐ�&���Ñ�d���=Ñ�]���¢Ñ�0����Ò����1Ò����MÒ����mÒ�"���‹Ò�+���®Ò�2���ÚÒ�E��� Ó�9���SÓ�9���Ó����ÇÓ�D���ÐÓ�O���Ô�2���eÔ�-���˜Ô�8���ÆÔ����ÿÔ�6���Õ����MÕ�D���bÕ�D���§Õ� ���ìÕ� ���÷Õ�:���Ö�;���SÖ�#���Ö����³Ö�9���ÑÖ�7��� ×����C×�.���\×����‹×����¢×����½×�"���Ñ×�.���ô×�F���#Ø�2���jØ� ���Ø����¾Ø����ÖØ�%���ôØ�%���Ù����@Ù����_Ù� ���uÙ�$���–Ù�#���»Ù�&���ßÙ� ���Ú�)���Ú� ���=Ú����JÚ�P���^Ú�E���¯Ú�"���õÚ����Û�(���.Û����WÛ����lÛ����…Û�!��� Û�5���ÂÛ�T���øÛ����MÜ�2���cÜ����–Ü�;���žÜ�&���ÚÜ�0���Ý����2Ý� ���AÝ�6���NÝ����…Ý�F���žÝ�!���åÝ� ���Þ����(Þ�F���AÞ�I���ˆÞ�[���ÒÞ�J���.ß�#���yß�;���ß�@���Ùß����à����4à����Nà� ���hà� ���‰à� ���ªà�H���Ëà����á����#á����;á����Sá�B���fá����©á����Àá� ���Ñá����ßá����øá� ���â����â����'â�O���Gâ����—â�"���µâ����Øâ����óâ�9���ã�*���Iã�:���tã����¯ã����¸ã����Ðã�#���äã����ä����ä����4ä����Lä����`ä�+���tä�+��� ä�(���Ìä�)���õä�\���å����|å����å����Ÿå����°å�4���Èå�#���ýå����!æ����<æ�&���Sæ�#���zæ�@���žæ����ßæ����åæ�U���õæ�b���Kç�H���®ç�I���÷ç�I���Aè�G���‹è�F���Óè�D���é�3���_é�k���“é�‚���ÿé�[���‚ê�_���Þê�1���>ë�F���pë�+���·ë�$���ãë�+���ì�V���4ì�)���‹ì�;���µì����ñì����í����)í� ���9í����Cí����_í�!���yí�5���›í�,���Ñí�A���þí����@î�(���^î����‡î�)���î�>���Çî�u���ï����|ï����•ï�/���¬ï����Üï�V���òï�$���Ið�T���nð�-���Ãð�$���ñð����ñ����6ñ�\���Tñ�G���±ñ�D���ùñ�N���>ò�Z���ò�_���èò�:���Hó�.���ƒó�9���²ó�J���ìó�a���7ô�I���™ô�S���ãô�A���7õ�;���yõ�S���µõ�V��� ö�o���`ö����Ðö����îö�”��� ÷����¢÷�<���²÷�Z���ï÷�=���Jø�…���ˆø�w���ù�Y���†ù�=���àù�;���ú�8���Zú�A���“ú�8���Õú�7���û� ���Fû�"���Qû����tû����Šû�>���¥û�8���äû�2���ü�2���Pü����C��Õ������-���h��ª�� ������E�����7��³�������f��†��y����������ž����u���®��é������®��;�������(������â����������>��»������Z������ª����������4��a����d��Ú��ÿ��º���=�����Ò���������\������<��ë��Ô���ý���´������¼��í������ ��ð��˜��±���������,������Û�������Þ������¿������º������·��ü��_��U������h������û��<������!������Ž��ð��h��u��ð��$��s������$��E���:��·��t���m���Ç��¨��4������Ä��‹��ù�������î��¤������D��1��™�����o���R��‹��¬��¥���%��9���Ø��Î��*��E���������É��3��"��P��G������5������������������À���Þ��¡�������Q��Æ��!��*����������¼���ö���ƒ������®��9��Ã��¤��ú���v��à����¹��€��c��^��U������µ������$���¨��Õ��3����K������ß��æ��������������`���/��2��"�������Å������7����Û��q��¢��´���L�����������r������É��‘��Ž��m��¶��8��–���ï����Ý���� ���c��5��-����Š���œ��Û��f���*�������U��i������î��è��������6��ž���������%��;��Ü��–��Ú���ý��ª����à���K��~������)��������î���� ��ó������-��Á��˜���¤���C�����������—��3��Í���¼��*����������������\������������������‡��’����[��~��2��Ô����ß�� ���O����������Ô��…���þ����������º��R���ú��!����������È��ä��Ì��9��Ä��B�������ô������1��½�� ���z������:����š��F�����&���¿���x����7������å����…������Ð�����������&���������������g��ñ��´����������������Û������¡��������!������¥����ç��É������*������ ����������������� ���������-��Ÿ��S������9��ê������¾���%��¾��|��ú����������î��(��ã�� ���Ô��������G��c���V��L��M������Î���º��}��Ã������P��Ø��ƒ���Ý������=��‰������g��w��@��õ��S��¿��1��Â��j����œ������º�����B��]��¦��������C��ÿ��B��Š��'��f��_��Ò�����Ž����I�������[��Å��ï��/��+��T��ó������� ��…���� �����������������#��“������"����������#���ž���n��n����à��™������O���â���q��ó��ü�������Y��®�����”������u����Â������‹��b���������_�����Å��ô��«��·��7��r������,���¸��ã��~������p����������‰��×��á��B��“��ó��Ö��Œ�������ˆ���4���\���ˆ��´������o��p����Y��Œ����������������N������������� ��}����������X�������ó��­��k��¼��'��W��� ��K�����������(����������Q��������������5��������������ì������½��Z��q�������.���l��Ê��Ù���g���œ��µ��v������æ��‰��8������;����ç��������†��­���������������Ý������+�����������»��������������Î��4��.��h��×��î���:��“���Ä������&��t��°���[���÷��¶�� ��D���§����§����������ñ����������i��×��y������Î������������ø�����š��”��ù��^��û��è��a����������ƒ��s������L��ù��Ò������¯������ý������¢��|��Ü���Ò��Œ��@����������Š������Í��C��������������������«��Ê��_������)������ý������o�����²����›��y��¢��S������a�� ������*��y������·�������ò������õ��6��Ú���������û���A��±����������������������Q���ß�������ÿ������<��¨�������������������8�����"��ô��æ��x��Æ������������¡��E������ ��R��†���'��’���1��Ì��ü������4��Ë������©����������Ó��G��H����������…��£������•��ˆ��Æ���ø��–��ê������Ó��b��������l���m��‘��¬��Y��ä��Â������¯����6��J��=�����������]���±������(��I��j����������@��Y��•���š������G��Ÿ��¶���•������’������°������������O����������V������������������b��°����z��Ð��Þ������F������‡��³��ï���¡��Ç��e����������“��±��n��������)������V����������� ��w��^���¾������������ ��`��»�������,������þ������������������������k������3���Ž���7�����������������������>���„����������N��â������¹������1�����������������������B��(����������¨��É��ö��W����������3��ï��"��`��I��t��Þ���{���Ø�������€�����������������������ú��Ë��˜������‚����������l��o������������J���˜��©�� ��a���‘�����#��þ��@��‚������¬�������¯���f��������������V��X��������J��!��:���í������È�� ��\������ ��¦��À��@���Y�����������=��&��‘��Z�� ��,��ƒ��H��ø�������v���Ï������������ã���A��å�������������������� �����������q��2��ª������������‚��������������������$����������z���„��_������ü����������l������8��Ð��þ������Ó��R��À��Í��€��Ï������å��ˆ��Á����u������Ã�������/���Ö��Ÿ���������� �������������¬������N��/��ì����Ì��i���¸���œ���)���Ï��–��í���M���6��e������������€��������¹���e�������g��Ü��¡����·��ò������è��^��#��a����Š����t������µ��õ��‚��²������¦��í������b������������������!������\��Å������Í��¤������0����à��Ë��;��Ž��ß������L��§��ý��ì�������±��”��û��)������¯��0������»��p��w��� ��Z��’��ê��%������ª�������Ë�����Ç���8��'������Ë��T������������Q������ô���‘��0��O��$������}������ù��Í�� ��Ú��]��D��i��A��—����/������r������°��«��ö��µ�� ��²���Ý��Î��5��J��������j������ÿ��ë��z��‹���f�� ��ž��]����������•��d���ï����������������������é��`������£���Ñ���‚���r���������+��÷���š��’��P��c��4������������¯��¦������»������x�����������������������������T��0������P���²����L����“��³��W��½��‹���������������2����G���«������5���S������.��¹��v������é��������,��+��K������}������Ó���W������Ü��ê����������C��Ê��þ���-��Ã������c��Ö����—������†��°����>�����5��������Ú��÷������ß����P��˜�����³��Œ��¢��9��ð��E��������¹��«���3��#������H��Æ������(��[��>��j�������Õ��d�����é��� ��6��<��s�������ž��Ñ������ �����N������0��­��ö������U��À��/��s������)��•��´��j��ä��'���Ñ������d������ �����?��X������Á���g��Ü��Ù��¥��ç��.�����������������������x��Ô������Ó���������v��F�����k������×��¨����������I��������N��z��é��?�����É���^������›��|������F����ñ����������Ì���–��Ï���{��?��¼��¤��Ÿ�����~���©��è��›������.��1��è���­��n��������D��%��0���w��„����ö��¸������ �� ��¶����d��á��­���›���¿������Â���”���‰��ã��…������ð���ä������£��á���‰���Ù������y���¾��ü��Ö��Ù��A�� ����������Á��½����������Q������½���M��×���e��í��ñ���h���{����Õ������Ç��O����������ø������[��—��„���õ������¥��w��Ñ������†��Á������������&��b��'��u��k���¸����ã������W��R��2���Ä�������e��������¿������à��È�� ��U���Ä������������A���V��ò����ë��Ç��������������ç��{������Š��ì��}��������� ��x��.��Ñ��Ý�������������������ÿ��� ��|���M��â��H�����ô����©��p�������t������<�������™����������§��â������¦���?���m��—���ä���‡������������Û������S���T��m��™��¥��������K��&��Ø��Ù��å��+��q��Â��ˆ��Z���÷������Ê���s��$��������������Þ������€�� ��>����������F��;��,��÷��T�����������„������l��H��æ������k��Ã��å�����û�����������á��Ï��p��Ö���³����������6���`��µ���ë���2��À��M��ù��7������¢����������ò����I��Œ������Ò������#��D��Ÿ������ú��|��È���›��ƒ��=��������ë����¸��ñ��i��"����Å�������œ�� ������Ð��������X��æ���Õ��Ì��š�������ø������������£��Ð�����+��¾������£������á��Ø�������o��X�� ������©���²������]������:��ò���®���ì��{������������������”������?��È��ê���¶��������~��J��Æ��r����‡���™�� ��¬������ç���%��§���Ê��õ���n�����-��‡�������������ƒü����‹ü�Dp��pp��„p��˜p��¬p��Àp��Ôp��èp��üp��q��$q��@q��Tq��pq��„q��°q��Ìq��èq��üq��r��$r��8r��Tr��pr��Œr��¨r��¼r��Ør��“ü��������������� �����������������ÿÿÿÿ³ü��������1���ÿÿÿÿåü��������/���ÿÿÿÿý�7����������ÿÿÿÿ_ý�����������ÿÿÿÿý�����������ÿÿÿÿ¹ý��������(���ÿÿÿÿæý� �������Q���ÿÿÿÿAþ� �������R���ÿÿÿÿþ� �������V���ÿÿÿÿýþ������������������ÿÿÿÿ)ÿ�����������ÿÿÿÿ0ÿ� ���������������ÿÿÿÿZÿ����������ÿÿÿÿ{ÿ��������������������������������ÿÿÿÿ¤ÿ������������������ÿÿÿÿÌÿ������������������ÿÿÿÿøÿ�'�������)���ÿÿÿÿH���������-���ÿÿÿÿ���������.���ÿÿÿÿÍ���������8���ÿÿÿÿ ��������3�������!���ÿÿÿÿp��������2������� ���ÿÿÿÿÔ��������?�������-���ÿÿÿÿR��������$����������ÿÿÿÿŠ�����������ÿÿÿÿ“�������������%���ÿÿÿÿÌ�"������ ���ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s%s argument '%s' too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.15 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-01-22 02:58+0100 Last-Translator: Gabor Kelemen <kelemeng@gnome.hu> Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net> Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Lokalize 1.0 � � ( KIFEJEZÉS ) a KIFEJEZÉS igaz ! KIFEJEZÉS a KIFEJEZÉS hamis KIFEJEZÉS1 -a KIFEJEZÉS2 mind a KIFEJEZÉS1, mind a KIFEJEZÉS2 igaz KIFEJEZÉS1 -o KIFEJEZÉS2 vagy a KIFEJEZÉS1, vagy a KIFEJEZÉS2 igaz � --check-order a bemenet megfelelÅ‘ rendezésének ellenÅ‘rzése, még ha minden bemeneti sor párosítható is. --nocheck-order ne ellenÅ‘rizze a bemenet megfelelÅ‘ rendezését � -1 az 1. oszlop (a FÃJL1-ben egyedi sorok) elnyomása -2 a 2. oszlop (a FÃJL2-ben egyedi sorok) elnyomása -3 a 3. oszlop (a mindkét fájlban szereplÅ‘ sorok) elnyomása � -a, --all ugyanaz, mint -b -d --login -p -r -t -T -u -b, --boot az utolsó rendszerindítás ideje -d, --dead döglött folyamatok kiírása -H, --heading oszlopfejléceket tartalmazó sor kiírása � -b FÃJL a FÃJL létezik és speciális blokkfájl -c FÃJL a FÃJL létezik és speciális karakterfájl -d FÃJL a FÃJL létezik és könyvtár -e FÃJL a FÃJL létezik � -l hosszú formátumú kimenet előállítása a megadott FELHASZNÃLÓKHOZ -b a felhasználó saját könyvtárának és parancsértelmezÅ‘jének kihagyása a hosszú formátumból -h a felhasználó projektfájljának kihagyása a hosszú formátumból -p a felhasználó tervfájljának kihagyása a hosszú formátumból -s rövid formátumú kimenet előállítása, ez az alapértelmezett � -n KARAKTERLÃNC a KARAKTERLÃNC hossza nem nulla KARAKTERLÃNC azonos a -n KARAKTERLÃNCCAL -z KARAKTERLÃNC a KARAKTERLÃNC hossza nulla KARAKTERLÃNC1 = KARAKTERLÃNC2 a karakterláncok azonosak KARAKTERLÃNC1 != KARAKTERLÃNC2 a karakterláncok nem azonosak � ARG1 * ARG2 ARG1 és ARG2 aritmetikai szorzata ARG1 / ARG2 ARG1 és ARG2 aritmetikai hányadosa ARG1 % ARG2 ARG1 és ARG2 aritmetikai maradéka � ARG1 + ARG2 ARG1 és ARG2 aritmetikai összege ARG1 - ARG2 ARG1 és ARG2 aritmetikai különbsége � ARG1 < ARG2 ARG1 kisebb, mint ARG2 ARG1 <= ARG2 ARG1 kisebb vagy egyenlÅ‘ ARG2 ARG1 = ARG2 ARG1 egyenlÅ‘ ARG2 ARG1 != ARG2 ARG1 nem egyenlÅ‘ ARG2 ARG1 >= ARG2 ARG1 nagyobb vagy egyenlÅ‘ ARG2 ARG1 > ARG2 ARG1 nagyobb mint ARG2 � FÃJL1 -ef FÃJL2 a FÃJL1 és a FÃJL2 azonos eszköz- és inode számokkal rendelkeznek FÃJL1 -nt FÃJL2 a FÃJL1 újabb (a módosítás dátuma szerint), mint a FÃJL2 FÃJL1 -ot FÃJL2 a FÃJL1 régebbi, mint a FÃJL2 � EGÉSZ1 -eq EGÉSZ2 az EGÉSZ1 egyenlÅ‘ az EGÉSZ2-vel EGÉSZ1 -ge EGÉSZ2 az EGÉSZ1 nagyobb vagy egyenlÅ‘, mint az EGÉSZ2 EGÉSZ1 -gt EGÉSZ2 az EGÉSZ1 nagyobb, mint az EGÉSZ2 EGÉSZ1 -le EGÉSZ2 az EGÉSZ1 kisebb vagy egyenlÅ‘, mint az EGÉSZ2 EGÉSZ1 -lt EGÉSZ2 az EGÉSZ1 kisebb, mint az EGÉSZ2 EGÉSZ1 -ne EGÉSZ2 az EGÉSZ1 nem egyenlÅ‘ az EGÉSZ2-vel � KARAKTERLÃNC : REGEXP a REGEXP horgonyzott mintaillesztése a KARAKTERLÃNCRA match KARAKTERLÃNC REGEXP ugyanaz, mint a KARAKTERLÃNC : REGEXP substr KARAKTERLÃNC POZ HOSSZ a KARAKTERLÃNC részkarakterlánca, a POZ 1-tÅ‘l számítva index KARAKTERLÃNC KARAKTEREK a KARAKTEREK elÅ‘fordulásának indexe a KARAKTERLÃNCBAN, vagy 0 length KARAKTERLÃNC a KARAKTERLÃNC hossza � a az összes sor számozása t csak a nem üres sorok számozása n ne számozzon sorokat pBRE csak a BRE alapvetÅ‘ szabályos kifejezésre illeszkedést tartalmazó sorok számozása A FORMÃTUM az alábbiak egyike: ln balra igazított, nincsenek kezdÅ‘ nullák rn jobbra igazított, nincsenek kezdÅ‘ nullák rz jobbra igazított, kezdÅ‘ nullákkal � b speciális blokkfájl (pufferelt) létrehozása c, u speciális karakterfájl (nem-pufferelt) létrehozása p FIFO létrehozása � # felhasználók=%lu � A -t következik, ha az OLDALHOSSZ <= 10. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. � Egy mezÅ‘ üreshely karakterek (szóközök és/vagy tabok) sorozata, amelyet nem üreshely karakterek követnek. A mezÅ‘k karakterek elÅ‘tti része ki lesz hagyva. � Egy egyszerű - maga után vonja a -i kapcsolót. Ha nincs PARANCS megadva, akkor kiírja az eredményül kapott környezetet. � Ezután minden jelölÅ‘ egy decimális, elhagyható mezÅ‘szélességgel jön, majd egy szintén elhagyható módosító, amely vagy az E, a területi beállítások alternatív ábrázolásának használatához, vagy O a területi beállítások alternatív numerikus szimbólumainak használatához, ha ezek elérhetÅ‘k. � Egy kihagyott KIFEJEZÉS alapértelmezett értéke hamis. Egyébként a KIFEJEZÉS igaz vagy hamis és beállítja a kilépési állapotot. A KIFEJEZÉS az alábbiak egyike: � Kivételt képez, amikor a cp biztonsági mentést készít a FORRÃSRÓL és a force és backup kapcsolók egyaránt meg vannak adva, továbbá a FORRÃS és a CÉL ugyanaz a szabályos fájl. � Ne feledd, hogy sok operátort escape-elni vagy idézÅ‘jelek közé kell tenni parancsértelmezÅ‘khöz. Az összehasonlítások aritmetikaiak, ha mindkét ARG szám, különben lexikografikusak. A mintaillesztések az illeszkedÅ‘ karakterláncot adják vissza a \( és \) között, vagy nullértéket; ha a \( és \) nincsenek használva, akkor az illeszkedÅ‘ karakterek számát vagy 0-t adnak vissza. � Mind a MAJORT, mind a MINORT meg kell adni, ha a TÃPUS b, c vagy u és el kell Å‘ket hagyni, ha a TÃPUS p. Ha a MAJOR vagy MINOR kezdete 0x vagy 0X, akkor ez hexadecimálisan lesz értelmezve, egyébként ha 0-val, akkor oktálisan, egyébként decimálisan. A TÃPUS az alábbiak egyike lehet: � Alapértelmezésben az rm nem töröl könyvtárakat. A --recursive (-r vagy -R) használatával minden egyes felsorolt könyvtár és azok tartalma is törölhetÅ‘. � Az alapértelmezett kiválasztás a -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. A CC két, logikai oldalakat elválasztó karakter, ha a második karakter hiányzik, akkor : kerül felhasználásra. A \\ beírásával kapható a \ jel. A STÃLUS az alábbiak egyike: � Alapértelmezésben a program kitalálja, hogy a FORRÃS fájl ritka-e vagy nem. Amennyiben igen, a megfelelÅ‘ CÉL fájl is ritka lesz. Ez a --sparse=auto kapcsolónak megfelelÅ‘ viselkedés. Megadható a --sparse=always kapcsoló, ekkor a CÉL fájl ritka lesz, amennyiben a FORRÃS megfelelÅ‘ mennyiségű nulla bájtot tartalmaz. A --sparse=never kapcsolóval letiltható a ritka fájlok létrehozása. A --reflink[=always] megadásakor könnyűsúlyú másolást végez, ahol az adatblokkok csak módosítás esetén lesznek másolva. Ha ez nem lehetséges, akkor a másolás meghiúsul, vagy ha --reflink=auto megadásakor hagyományos másolás kerül végrehajtásra. � Kombinációs beállítások: * [-]LCASE ugyanaz, mint a [-]lcase cbreak ugyanaz, mint a -icanon -cbreak ugyanaz, mint az icanon � A megjelenített értékek a --block-size és a %s_BLOCK_SIZE, BLOCK_SIZE és BLOCKSIZE környezeti változók elsÅ‘ elérhetÅ‘ MÉRET egységében vannak. EllenkezÅ‘ esetben az egység alapértelmezése 1024 bájt (vagy 512, ha a POSIXLY_CORRECT változó be van állítva). � A JELÖLÅK az alábbiak lehetnek: append hozzáfűzési mód (csak kimenet esetén van értelme; javasolt a conv=notrunc) � Példák: %s -12 fájl1 fájl2 Csak a fájl1 fájl2 közös sorainak kiírása. %s -3 fájl1 fájl2 A fájl1 és a fájl2 nem közös sorainak kiírása. � Példák: %s f - g ElÅ‘bb f, majd a szabványos bemenet, majd g tartalmának kiírása. %s A szabványos bemenet másolása a szabványos kimenetre. � Példák: %s root /u A /u tulajdonosának megváltoztatása „rootâ€-ra. %s root:staff /u Hasonló, de a csoportot megváltoztatja „staffâ€-ra. %s -hR root /u A /u és az alatta található fájlok tulajdonosának módosítása „rootâ€-ra. � Példák: %s staff /u A /u csoportjának módosítása „staffâ€-ra. %s -hR staff /u A /u és az alatta található fájlok csoportjának módosítása „staffâ€-ra. � Példák: Az epoch (1970. 01. 01. UTC) óta eltelt másodpercek átalakítása dátummá $ date --date='@2147483647' A közép-európai idÅ‘ megjelenítése (a TZ megkereshetÅ‘ a tzselect(1) programmal) $ TZ='Europe/Budapest' date A helyi idÅ‘ megjelenítése következÅ‘ péntek 9.00-kor $ date --date='TZ="Europe/Budapest" 09:00 next Fri' � A -h és -L kivételével az összes, a FÃJLLAL kapcsolatos teszt követi a szimbolikus hivatkozásokat. Ne feledje, hogy a zárójeleket escapelni kell (például visszaper jelekkel) a parancsértelmezÅ‘k számára. Az EGÉSZ lehet -l KARAKTERLÃNC is, ez a KARAKTERLÃNC hosszát veszi fel értékül. � A kilépési állapot 0, ha a KIFEJEZÉS nem null vagy 0 értékű, 1, ha a KIFEJEZÉS null vagy 0 értékű, 2, ha a KIFEJEZÉS szintaktikailag érvénytelen és 3, ha hiba történt. � Kilépési állapot: 0 ha OK, 1 kisebb problémák esetén (például nem érhetÅ‘ el az alkönyvtár), 2 komoly problémák esetén (például nem érhetÅ‘ el a parancssori paraméter). � A FORMÃTUM vezérli a kimenetet, mint a C printf(). Az értelmezett sorozatok: \†dupla idézÅ‘jel � A FORMÃTUM vezérli a kimenetet. Az értelmezett sorozatok: %% egy % jel %a a területi beállítások rövidített napneve (például: v) � A szabványos bemenetre kötött tty vonalat kezeli. Argumentumok nélkül kiírja a baud sebességet, vonalmódszert és az eltéréseket az stty sane beállítástól. A beállításokban a KAR literálisan lesz értelmezve, vagy kódolva mint a ^c, 0x37, 0177 vagy 127; a ^- vagy undef különleges értékek a különleges karakterek letiltására használatosak. � Ha az -e meg van adva, akkor a következÅ‘ sorozatok is felismerésre kerülnek: � Ha a FÃJL a -, akkor a szabványos kimenetet semmisíti meg Csak akkor törli a FÃJLOKAT, ha megadod a --remove (-u) kapcsolót. Alapértelmezésben nem törli a fájlokat, mert gyakran használatos eszközfájlokon (például /dev/hda), és ezeket a fájlokat általában nem kell törölni. Ãltalános fájlokon általában használni szokták a --remove kapcsolót. � Ha az ELSÅ vagy a NÖVEKMÉNY nincs megadva, akkor az alapértelmezés 1. Ez azt jelenti, hogy a kihagyott NÖVEKMÉNY akkor is 1 lesz alapértelmezésben, ha az UTOLSÓ kisebb, mint az ELSÅ. Az ELSÅ, NÖVEKMÉNY és UTOLSÓ lebegÅ‘pontos értékekként kerülnek értelmezésre. A NÖVEKMÉNY általában pozitív, ha az ELSÅ kisebb, mint az UTOLSÓ, és általában negatív, ha az ELSÅ nagyobb, mint az UTOLSÓ. � Ha a FÃJL nincs megadva, vagy -, akkor újra a szabványos bemenetre másol. � Bemeneti beállítások: [-]brkint a sortörés megszakítás szignált okoz [-]icrnl a kocsivissza új sorrá fordítása [-]ignbrk sortörés karakterek figyelmen kívül hagyása [-]igncr kocsivissza figyelmen kívül hagyása � A K a következÅ‘ szorzó-utótagokkal rendelkezhet: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y. � A KULCSDEF M[.K][KAPCS][,M[.K][KAPCS]] alakú a kezdÅ‘ és befejezÅ‘ pozícióhoz, ahol az M a mezÅ‘ száma és a K a karakterpozíció a mezÅ‘ben, mindkettÅ‘ 1-rÅ‘l indul, és a befejezÅ‘ alapértelmezése a sor vége. Ha sem a -t, sem a -b kapcsoló nincs megadva, akkor a mezÅ‘ karakterei a megelÅ‘zÅ‘ üreshely karaktertÅ‘l lesznek számolva. A KAPCS néhány egybetűs rendezési kapcsoló lehet: [bdfgiMhnRrV], amelyek felülbírálják az adott kulcsra vonatkozó globális rendezési kapcsolókat. Ha nincs kulcs megadva, akkor a teljes sort használja kulcsként. A MÉRETET a következÅ‘ többszörözÅ‘ utótagok követhetik: � A licenc GPLv3+: a GNU GPL 3. vagy újabb változata <http://gnu.org/licenses/gpl.html> Ez egy szabad szoftver, terjesztheti és/vagy módosíthatja. NINCS GARANCIA, a törvény által engedélyezett mértékig. � Helyi beállítások: [-]crterase az erase karakterek visszaadása mint backspace-szóköz-backspace * crtkill az összes vonal kilövése az echoprt és echoe beállítások alkalmazásával * -crtkill az összes vonal kilövése az echoctl és echok beállítások alkalmazásával � MEGJEGYZÉS: A [ figyelembe veszi a --help és --version kapcsolókat, de a test nem. A test ezeket bármely más nem üres KARAKTERLÃNCHOZ hasonlóan kezeli. � MEGJEGYZÉS: a parancsértelmezÅ‘ rendelkezhet a(z) %s egy saját változatával, amely általában helyettesíti az itt leírt változatot. Az az által támogatott kapcsolókkal kapcsolatos részletekért forduljon a parancsértelmezÅ‘ dokumentációjához. � Megjegyzés: az rm paranccsal törölt fájl tartalma megfelelÅ‘ tapasztalat és/vagy idÅ‘ esetén visszaállítható. A tartalom biztosabb végleges törléséhez fontolja meg a shred parancs használatát. � Megjegyzés: a -d és -t kapcsolókhoz megadandó dátum- és idÅ‘formátumok különböznek. � A BEÃLLÃTÃSOK elÅ‘tti elhagyható - tagadást jelöl. A * nem POSIX beállításokat jelöl. Az alapul szolgáló rendszer határozza meg az elérhetÅ‘ beállításokat. � Egyébként a MÓD egy szám, amelyet a következÅ‘k egyike követhet: KB 1000, K 1024, MB 1000*1000, M 1024*1024 és ugyanígy G, T, P, E, Z, Y. Ebben az esetben a megfelelÅ‘ adatfolyam teljesen pufferelt lesz, MÓD bájt méretű puffer használatával. � Kimeneti beállítások: * bsN a backspace késleltetési stílusa, N lehet [0..1] * crN a kocsivissza késleltetési stílusa, N lehet [0..3] * ffN lapdobás késleltetési stílusa, N lehet [0..1] * nlN új sor késleltetési stílusa, N lehet [0..1] � A KIFEJEZÉS értékének kiírása a szabványos kimenetre. Egy üres sor alább növekvÅ‘ precedenciájú csoportokat választ el. A KIFEJEZÉS lehet: ARG1 | ARG2 ARG1, ha az nem null vagy 0, egyébként ARG2 ARG1 & ARG2 ARG1, ha egyik argumentum sem null vagy 0, egyébként 0 � Ha a FÃJL a -, akkor a szabványos bemenetet olvassa. A MINTA lehet: � A(z) %s hibái a(z) %s címen jelenthetÅ‘k. � A hibák a(z) %s címen jelenthetÅ‘k. � A HALMAZOK karakterláncokként vannak meghatározva. A legtöbb saját magát képviseli. Az értelmezett sorozatok: \NNN az NNN oktális értékű karakter (1-3 számjegy) \\ fordított osztásjel \a riadó (BEL) \b visszaper \f lapdobás \n új sor \r kocsivissza \t vízszintes tab � A MÉRET egy egész és elhagyható egység (például: 10M = 10*1024*1024). Az egységek K, M, G, T, P, E, Z, Y (1024 hatványai) vagy KB, MB, … (1000 hatványai) � Speciális karakterek: * dsusp KAR a KAR egy terminál leállítása szignált fog küldeni a bemenet kiürítésekor eof KAR a KAR egy fájl végét fog küldeni (a bemenet befejeztetése) eol KAR a KAR lezárja a sort � Speciális beállítások: N beállítja a bemeneti és kimeneti sebességeket N baudra * cols N közli a kernellel, hogy a terminál N oszloppal rendelkezik * columns N ugyanaz, mint a cols N � Az adatok kódolása a base64 ábécé által az RFC 3548-ban leírt módon történik. A visszafejtés a szabványnak megfelelÅ‘ bemenetet követel meg alapértelmezésben, az --ignore-garbage kapcsoló használatával megkísérelhetÅ‘ a helyreállítás az ábécében nem szereplÅ‘ karakterekbÅ‘l. � Az alábbi kapcsolók a hierarchia bejárását módosítják, ha a -R kapcsoló is meg van adva. Ha egynél több van megadva, akkor csak a legutolsó fejti ki hatását. -H ha egy parancssori argumentum szimbolikus link egy könyvtárra, akkor bejárja -L minden könyvtárra mutató szimbolikus link bejárása -P ne járjon be egyetlen szimbolikus linket sem (alapértelmezett) � Az alábbi három kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor hasznos: --quiet ne írja ki az OK-t minden sikeres ellenÅ‘rzéskor --status ne írjon ki semmit, az állapotkód jelzi a sikert -w, --warn figyelmeztessen a helytelenül formázott ellenÅ‘rzőösszeg-sorokra � Az érvényes formátumsorozatok fájlokhoz: (a --file-system nélkül): %a hozzáférési jogok oktálisan %A hozzáférési jogok ember által olvasható formában %b a lefoglalt blokkok száma (lásd %B) %B a „%b†által jelentett egyes blokkok mérete bájtokban %C SELinux biztonsági kontextus karakterlánc � A fordítás akkor következik be, ha a -d nincs megadva, és a HALMAZ1 és HALMAZ2 is jelen van. A -t csak fordításkor használható. A HALMAZ2 szükség esetén az utolsó karakterének ismétlésével kiterjesztésre kerül a HALMAZ1 hosszára. A HALMAZ2 fölösleges karakterei figyelmen kívül maradnak. Csak a [:lower:] és [:upper:] növekvÅ‘ sorrendű feloldása garantált; a HALMAZ2-ben fordításkor csak párban használhatók kis- és nagybetűk átalakításának megadásához. A -s a HALMAZ1-et használja ha nem fordít vagy töröl, ellenkezÅ‘ esetben az összenyomás a HALMAZ2-t használja és fordítás vagy törlés után következik be. � A -b, -c vagy -f közül csak egyet használj. Minden egyes LISTA legalább egy, vesszÅ‘kkel elválasztott tartományból áll. A kiválasztott bemenet a beolvasás sorrendjében és pontosan egyszer kerül kiírásra. � A fájltípusok megkülönböztetése szín alapján alapértelmezésben és a --color=never esetén is le van tiltva. A --color=auto esetén az ls csak akkor ad színkódokat, ha a szabványos kimenet egy terminál. Az LS_COLORS környezeti változóval módosíthatók a beállítások, ehhez a dircolors parancs használható. � Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. � Kapcsolók nélkül három oszlopból álló kimenetet állít elÅ‘. Az elsÅ‘ oszlop tartalmazza a FÃJL1-ben egyedi sorokat, a második a FÃJL2-ben egyedi sorokat, a harmadik oszlop pedig a mindkét fájlban közös sorokat. � KAPCSOLÓK nélkül az azonosított információk egy hasznos halmazát írja ki. � A FÃJL egy egyértelmű ábrázolásának kiírása, alapértelmezetten oktális bájtokkal, a szabványos kimenetre. Több FÃJL argumentumot összefűz a felsorolás sorrendjében a bemenet kialakítása érdekében. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. � (csak azokon a rendszereken hasznos, ahol a szimbolikus link tulajdonosa módosítható) � ???� --backup[=CONTROL] minden létezÅ‘ célfájlról biztonsági mentést készít -b mint a --backup, de nem fogad el argumentumot -f, --force nem kérdez felülírás elÅ‘tt -i, --interactive felülírás elÅ‘tt kérdez -n, --no-clobber ne írja felül a meglévÅ‘ fájlokat Ha a -i, -f, -n közül többet is megad, akkor csak az utolsó lép életbe. � --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít -b mint a --backup, de nem fogad el argumentumot -d, -F, --directory könyvtárak hard linkelése (csak root) (megjegyzés: valószínűleg meg fog hiúsulni a rendszer korlátozásai miatt, még a rootnak is) -f, --force létezÅ‘ célfájlok törlése � --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít -b mint a --backup, de nem fogad el argumentumot -c (figyelmen kívül marad) -C, --compare a forrás- és célfájlpárok összehasonlítása, egyes esetekben egyáltalán nem módosítja a célt. -d, --directory minden argumentum könyvtárnév; a megadott könyvtárak minden elemét létrehozza � --batch-size=NMERGE egyszerre legfeljebb NMERGE bemenet összefésülése, többhöz használjon ideiglenes fájlokat � --complement a kijelölt bájtok, karakterek vagy mezÅ‘k halmazának kiegészítése. � --debug a rendezésre használt sorszakasz jelzése, és figyelmeztetés a megkérdÅ‘jelezhetÅ‘ használatról a szabványos kimenetre --files0-from=F bemenet olvasása az F fájlban található, NULL-végű nevek által megadott fájlokból; Ha az F a -, akkor a szabványos bemenetrÅ‘l olvas � --dereference az egyes szimbolikus linkek hivatkozóit érinti (ez az alapértelmezett), és nem magát a szimbolikus linket -h, --no-dereference a szimbolikus linket érinti, és nem a fájlt � --files0-from=F bemenet olvasása az F fájlban található, NULL végű nevek által megadott fájlokból. Ha az F a -, akkor a szabványos bemenetrÅ‘l olvassa a neveket -L, --max-line-length a leghosszabb sor hosszának kiírása -w, --words szószámok kiírása � --from=JELENLEGI_TULAJ:JELENLEGI_CSOPORT csak akkor változtatja meg a fájl tulajdonosát és/ vagy csoportját, ha a jelenlegi beállítások megegyeznek a megadottakkal. A két attribútum közül bármelyik elhagyható, ebben az esetben nincs szükség egyezésre a kihagyott attribútumhoz � --group-directories-first könyvtárak fájlok elé csoportosítása. kiegészíthetÅ‘ --sort kapcsolóval, de a --sort=none (-U) használata letiltja a csoportosítást � --help ezen súgó megjelenítése és kilépés � --indicator-style=SZÓ a bejegyzésnevekhez jelet fűz a SZÓ alapján: none (alapértelmezett), slash (-p), file-type (--file-type) classify (-F) -i, --inode kiírja az egyes fájlok indexszámát -I, --ignore=MINTA nem írja ki a parancsértelmezÅ‘ MINTÃRA illeszkedÅ‘ bejegyzéseket -k, --kibibytes 1024 bájtos blokkok használata � --lookup kísérlet a gépnevek egyszerűsítésére a DNS használatával -m csak a szabványos bemenethez társított gépnév és felhasználó -p, --process az init által indított aktív folyamatok kiírása � --no-preserve=ATTR_LISTA nem Å‘rzi meg a megadott attribútumokat --parents teljes forrásfájlnév használata a KÖNYVTÃR alatt � --one-file-system könyvtárszerkezet rekurzív törlésekor minden olyan könyvtár kihagyása, amely a megfelelÅ‘ parancssori kapcsoló ban megadottól eltérÅ‘ fájlrendszeren van � --pid=PID a -f kapcsolóval, befejezÅ‘dik, ha a PID folyamatazonosító megszűnik -q, --quiet, --silent ne írja ki a fájlneveket megadó fejléceket --retry próbáljon megnyitni egy fájlt akkor is, ha az (már) nem érhetÅ‘ el; hasznos név szerinti követéskor azaz a --follow=name kapcsolóval � --preserve-context a SELinux biztonsági kontextus megÅ‘rzése -Z, --context=KONTEXTUS fájlok és könyvtárak SELinux biztonsági kontextusának beállítása � --reference=RFÃJL a megadott RFÃJL csoportjának használata CSOPORT érték megadása helyett � --reference=RFÃJL az RFÃJL MÓDJÃT állítja be a MÓD értékek helyett � --reference=RFÃJL a megadott RFÃJL csoportját és tulajdonosát állítja be TULAJ:CSOPORT értékek megadása helyett � --reference=RFÃJL a megadott RFÃJL biztonsági kontextusát használja egy KONTEXTUS érték megadása helyett � --sort=SZÓ rendezés a SZÓ szerint: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort (verzió)számok természetes rendezése a szövegen belül � --sparse=EKKOR ritka fájlok létrehozásának szabályozása. Lásd alább. --strip-trailing-slashes eltávolítja a befejezÅ‘ osztásjeleket minden egyes FORRÃS argumentumról � --strict a --check kapcsolóval: nem nulla értékkel lép ki minden érvénytelen bemenet esetén � --strip-trailing-slashes eltávolítja a befejezÅ‘ per jeleket minden FORRÃS argumentumról -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos kiterjesztésének felülbírálása � --suffix=UTÓTAG az UTÓTAG hozzáfűzése a SABLONHOZ. Az UTÓTAG nem tartalmazhat osztásjelet. Ez a kapcsoló akkor kerül felhasználásra, ha a SABLON nem X-re végzÅ‘dik. � --tmpdir[=KVT] a SABLON értelmezése a KVT könyvtárhoz képest. Ha a KVT nincs megadva, akkor a $TMPDIR értékét használja, egyébként a /tmp könyvtárat. Ezzel a kapcsolóval használva a SABLON nem lehet abszolút név. A -t használatával ellentétben a SABLON tartalmazhat osztásjeleket, de az mktemp csak az utolsó összetevÅ‘t hozza létre. � --verbose diagnosztikai üzenet kiírása minden egyes kimeneti fájl megnyitása elÅ‘tt � --version verzióinformációk megjelenítése és kilépés � --all a beépített processzorok számának kiírása --ignore=N ha lehetséges, N feldolgozóegység figyelmen kívül hagyása � -evenp ugyanaz, mint a -parenb cs8 * [-]lcase ugyanaz, mint az xcase iuclc olcuc litout ugyanaz, mint a -parenb -istrip -opost cs8 -litout ugyanaz, mint a parenb istrip opost cs7 nl ugyanaz, mint az -icrnl -onlcr -nl ugyanaz, mint az icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar paritáshibás karakterek figyelmen kívül hagyása * [-]imaxbel hangjelzés és ne ürítse a teli bemeneti puffert karakter érkezésekor [-]inlcr új sor fordítása kocsivissza karakterré [-]inpck bemeneti paritás-ellenÅ‘rzés engedélyezése [-]istrip bemeneti karakterek magas (8.) bitjének törlése � cooked ugyanaz, mint a brkint ignpar istrip icrnl ixon opost isig icanon, eof és eol karakterek beállítása az alapértelmezett értékeikre -cooked ugyanaz, mint a raw crt ugyanaz, mint az echoe echoctl echoke � dec ugyanaz, mint az echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq ugyanaz, mint a [-]ixany ek erase és kill karakterek beállítása az alapértelmezett értékeikre evenp ugyanaz, mint a parenb -parodd cs7 � ispeed N beállítja a bemeneti sebességet N-re * line N az N vonalmódszer használata min N az -icanon használatakor N karakteres minimumot állít be egy befejezett olvasáshoz ospeed N beállítja a kimeneti sebességet N-re � oddp ugyanaz, mint a parenb parodd cs7 -oddp ugyanaz, mint a -parenb cs8 [-]parity ugyanaz, mint a [-]evenp pass8 ugyanaz, mint a -parenb -istrip cs8 -pass8 ugyanaz, mint a parenb istrip cs7 � raw ugyanaz, mint az -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw ugyanaz, mint a cooked � sane ugyanaz, mint a cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, az összes különleges karakter beállítása az alapértelmezett értékeikre � stop KAR a KAR leállítja a kimenetet susp KAR a KAR egy terminál leállítása szignált küld * swtch KAR a KAR egy másik parancsértelmezÅ‘-rétegre fog váltani * werase KAR a KAR törli az utoljára begépelt szót � %A a területi beállítások teljes napneve, (például: vasárnap) %b a területi beállítások rövidített hónapneve (például: Jan) %B a területi beállítások teljes hónapneve, (például: Január) %c a területi beállítások dátuma és ideje (2005. dec. 25., vasárnap, 15.48.38 CET) � %C század; mint a %Y, de az utolsó két számjegy elmarad (például: 20) %d a hónap napja (például: 01) %D dátum; ugyanaz, mint %m/%d/%y %e a hónap napja szóközökkel feltöltve; ugyanaz, mint a %_d � %F teljes dátum; ugyanaz, mint a %Y-%m-%d %g az ISO hétszám évének utolsó két számjegye (lásd %G) %G az ISO hétszám éve (lásd %V); csak %V-vel hasznos � %S másodperc (00..60) %t egy tab %T idÅ‘, ugyanaz , mint a %H:%M:%S %u a hét napja (1..7); az 1 a HétfÅ‘t jelenti � %U az év hetének száma, a hét elsÅ‘ napja Vasárnap (00..53) %V az év hetének száma (ISO), a hét elsÅ‘ napja HétfÅ‘ (01..53) %w a hét napja (0..6); a 0 Vasárnapot jelenti %W az év hetének száma, a hét elsÅ‘ napja HétfÅ‘ (00..53) � %d eszközszám decimálisan %D eszközszám hexadecimálisan %f nyers mód hexadecimálisan %F fájltípus %g a tulajdonos csoportazonosítója %G a tulajdonos csoportneve � %h ugyanaz, mint %b %H óra (00..23) %I óra (01..12) %j az év napja (001..366) � %i fájlrendszer-azonosító hexadecimálisan %l fájlnevek maximális hossza %n fájlnév %s blokkméret (gyorsabb átvitelekhez) %S alapvetÅ‘ blokkméret (blokkszámokhoz) %t fájlrendszer típusa hexadecimálisan %T fájlrendszer ember által olvasható formában � %k óra, szóközzel feltöltött ( 0..23); ugyanaz mint %_H %l óra, szóközzel feltöltött ( 1..12); ugyanaz mint %_I %m hónap (01..12) %M perc (00..59) � %n egy új sor %N nanomásodpercek (000000000..999999999) %p a területi beállítások nagybetűs AM vagy PM jelzÅ‘je; üres ha ismeretlen %P mint a %p, de kisbetűkkel %r a területi beállítások szerinti idÅ‘, 12 órás (például: 00.55.52) %R 24 órás óra és perc, ugyanaz mint a %H:%M %s a „00:00:00 1970-01-01 UTC†óta eltelt másodpercek száma � %u a tulajdonos felhasználói azonosítója %U a tulajdonos felhasználóneve %w a fájl ember által olvasható születési ideje, - ha ismeretlen %W a fájl születési ideje az Epoch óta eltelt másodpercekként, 0 ha ismeretlen %x utolsó hozzáférés ember által olvasható ideje %X utolsó hozzáférés ideje az Epoch óta eltelt másodpercekként %y utolsó módosítás ember által olvasható ideje %Y utolsó módosítás ideje az Epoch óta eltelt másodpercekként %z utolsó változtatás ember által olvasható ideje %Z utolsó változtatás ideje az Epoch óta eltelt másodpercekként � %x a területi beállítások dátumábrázolása (például 2006-01-12) %X a területi beállítások időábrázolása (például 01.02.32) %y az év utolsó két számjegye (00..99) %Y év � %z +óópp numerikus idÅ‘zóna (például: -0400) %:z +óó:pp numerikus idÅ‘zóna (például: -04:00) %::z +óó:pp:ss numerikus idÅ‘zóna (például: -04:00:00) %:::z numerikus idÅ‘zóna a :-tal a szükséges pontossághoz (például: -04, +05:30) %Z betűkbÅ‘l álló idÅ‘zóna-rövidítés (például: CET) Alapértelmezésben a date a numerikus mezÅ‘ket nullákkal tölti ki. � +ELSÅ_OLDAL[:UTOLSÓ_OLDAL], --pages=ELSÅ_OLDAL[:UTOLSÓ_OLDAL] a nyomtatás elkezdése [befejezése] az ELSÅ_[UTOLSÓ]_OLDALON -OSZLOP, --columns=OSZLOP OSZLOP darab oszlop előállítása és az oszlopok nyomtatása, lefelé, hacsak a -a nincs megadva. A sorok számának kiegyensúlyozása az oszlopokban minden egyes oldalon. � --output-delimiter=STR oszlopok elválasztása a STR karakterlánccal � --userspec=FELH:CSOP használandó felhasználó és csoport megadása (azonosító vagy név) --groups=G_LISTa kiegészítÅ‘ csoportok megadása mint g1,g2,..,gN � -0, --null a sorok lezárása a 0 bájttal új sor helyett � -D a CÉL minden elemét létrehozza, kivéve az utolsót, majd a FORRÃST CÉLRA másolja; elsÅ‘ alakkal hasznos -g, --group=CSOPORT a CSOPORTOT állítja be a folyamat csoportja helyett -m, --mode=MÓD a jogosultságot MÓDRA állítja (mint a chmodnál), rwxr-xr-x helyett -o, --owner=TULAJDONOS tulajdonos beállítása (csak root) � -D, --all-repeated[=elhatárolási-mód] az összes többszörözött sor kiírása elhatárolási-mód={none(alapért.),prepend,separate} Az elhatárolás üres sorokkal valósul meg. -f, --skip-fields=N az elsÅ‘ N mezÅ‘ összehasonlításának elkerülése -i, --ignore-case a kis- és nagybetűk nem különböznek összehasonlításkor -s, --skip-chars=N az elsÅ‘ N karakter összehasonlításának elkerülése -u, --unique csak az egyedi sorok kiírása -z, --zero-terminated a sorok befejezése 0 bájttal új sor helyett � -D, --date-format=FORMÃTUM a FORMÃTUM használata a fejléc dátumához -e[KAR[SZÉLESSÉG], --expand-tabs[=KAR[SZÉLESSÉG]] a bemeneti KARAKTEREK (TAB-ok) kiterjesztése a tab SZÉLESSÉGÉRE (8) -F, -f, --form-feed lapdobások használata új sorok helyett az oldalak elválasztására (egy 3 soros oldalfejléccel a -F vagy egy 5 soros fejléccel és bevezetÅ‘vel az -F nélkül) � -G, --no-group hosszú felsorolásnál nem írja ki a csoportneveket -h, --human-readable közérthetÅ‘ formátum (például 1K 234M 2G) -H, --si ugyanaz mint elÅ‘bb, de a szorzó 1024 helyett 1000 � -H, --dereference-command-line parancssorban megadott szimbolikus linkek követése --dereference-command-line-symlink-to-dir minden egyes parancssori szimbolikus link követése amely egy könyvtárra mutat --hide=MINTA ne listázza a parancsértelmezÅ‘ MINTÃRA illeszkedÅ‘ bejegyzéseket (a -a vagy -A felülbírálja) � -I egyszer kérdez háromnál több fájl eltávolításakor vagy rekurzív törlés esetén. Nem olyan zavaró, mint a -i, de a legtöbb hiba ellen véd --interactive[=MIKOR] a MIKOR-nak megfelelÅ‘en kérdez: never (soha), once (egyszer, mint a -I), vagy always (mindig, mint a -i). A MIKOR megadása nélkül mindig kérdez � -L FÃJL a FÃJL létezik és szimbolikus link (ugyanaz, mint a -h) -O FÃJL a FÃJL létezik és a hatásos felhasználói azonosító tulajdona -p FÃJL a FÃJL létezik és egy névvel rendelkezÅ‘ adatcsatorna -r FÃJL a FÃJL létezik és olvasható -s FÃJL a FÃJL létezik és mérete nagyobb, mint nulla � -L, --logical a környezet PWD-jének használata, még ha szimbolikus linkeket is tartalmaz -P, --physical minden szimbolikus link elkerülése � -R, --recursive fájlok és könyvtárak rekurzív módosítása � -R, --recursive rekurzívan működik a fájlokon és könyvtárakon � -R, -r, --recursive könyvtárak rekurzív másolása --reflink[=EKKOR] klón/CoW másolatok vezérlése. Lásd alább. --remove-destination minden célfájl törlése, még mielÅ‘tt megpróbálná megnyitni (ellentétben a --force kapcsolóval) � -S rendezés fájlméret alapján --sort=SZÓ rendezés a SZÓ szerint a név helyett, a SZÓ érvényes értékei és a kapcsoló, amelynek megfelelnek: extension -X, size -S, time -t, version -v --time=SZÓ a -l kapcsolóval együtt használva az idÅ‘t a SZÓNAK megfelelÅ‘en mutatja a módosítás ideje helyett: atime: -u, access: -u, use: -u, ctime: -c vagy status: -c; a megadott idÅ‘ alapján rendez, ha a --sort=time kapcsoló meg van adva � -S FÃJL a FÃJL létezik és az egy foglalat -t [FD] az FD fájlleíró (alapértelmezésben a szabványos kimenet) meg van nyitva egy terminálon -u FÃJL a FÃJL létezik és a setuid bitje be van állítva -w FÃJL a FÃJL létezik és írható -x FÃJL a FÃJL létezik és végrehajtható (vagy kereshetÅ‘) � -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos kiterjesztésének felülbírálása -t --target-directory=KÖNYVTÃR a linkek létrehozására szolgáló KÖNYVTÃR megadása -T, --no-target-directory a LINK_NEVE fájl kezelése mindig normál fájlként -v, --verbose linkelés elÅ‘tt kiírja minden fájl nevét � -T, --omit-pagination oldalfejlécek és befejezÅ‘k kihagyása, a bemeneti fájlokban található lapdobások által beállított oldalakra tördelés megszüntetése -v, --show-nonprinting oktális visszaper jelölés használata -w, --width=OLDAL_SZÉLESSÉG az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72) karakterre, csak több szöveges oszlopot tartalmazó kimenethez, az s[karakter] kikapcsolja (72) � -T, -w, --mesg a felhasználó üzenetállapotának hozzáadása mint +, - vagy ? -u, --users bejelentkezett felhasználók felsorolása --message ugyanaz, mint a -T --writable ugyanaz, mint a -T � -W, --page-width=OLDAL_SZÉLESSÉG az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72) karakterre mindig, a sorok csonkítása, kivéve ha a -J kapcsoló be van állítva, nincs interferencia a -S vagy -s kapcsolókkal � -W, --word-regexp=REGEXP a REGEXP használata minden egyes kulcsszó -b, --break-file=FÃJL szótörÅ‘ karakterek ebben a FÃJLBAN -f, --ignore-case kisbetűk nagybetűkké alakítása a rendezéshez -g, --gap-size=SZÃM rés mérete oszlopokban a kimeneti mezÅ‘k között -i, --ignore-file=FÃJL figyelmen kívül hagyandó szavak listájának olvasása a FÃJLBÓL -o, --only-file=FÃJL az egyedüli szólista olvasása ebbÅ‘l a FÃJLBÓL � -Z, --context=KTX a NÉV SELinux biztonsági kontextusának beállítása a KTX-re � -Z, --context=KTX minden NÉV SELinux biztonsági kontextusának beállítása a KTX-re � -a csak az elérési idÅ‘t módosítja -c, --no-create nem hoz létre fájlt -d, --date=KARAKTERLÃNC a KARAKTERLÃNC feldolgozása és használata a jelenlegi idÅ‘ helyett -f (figyelmen kívül marad) � -a, --across oszlopok kiírása vízszintesen és nem függÅ‘legesen, a -OSZLOP kapcsolóval együtt használatos -c, --show-control-chars kalapos (^G) és oktális visszaper jelölés használata -d, --double-space a kimenet dupla kitöltése � -a, --all nem rejti el a .-tal kezdÅ‘dÅ‘ bejegyzéseket -A, --almost-all nem listázza ki a . és .. bejegyzéseket --author a -l kapcsolóval kiírja az egyes fájlok szerzÅ‘jét -b, --escape C-stílusú escape karaktereket jelenít meg a nem-grafikus karakterek helyett � -a, --all az összes üreshely karakter átalakítása csak a kezdÅ‘k helyett --first-only csak a kezdÅ‘ üreshelykarakter-sorozatok átalakítása (felülbírálja a -a kapcsolót) -t, --tabs=N a tabok N karakter szélesek 8 helyett (bekapcsolja a -a kapcsolót) -t, --tabs=LISTA a tabpozíciók vesszÅ‘kkel elválasztott LISTÃJÃNAK használata (bekapcsolja a -a kapcsolót) � -a, --archive ugyanaz, mint a -dR --preserve=all --attributes-only nem másol fájladatokat, csak az attribútumokat --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít -b mint a --backup, de nem fogad el argumentumot --copy-contents rekurzió esetén a speciális fájlok tartalmát is másolja -d mint a --no-dereference --preserve=links � -b, --before az elválasztó elé és nem utána kerül csatolásra -r, --regex az elválasztó értelmezése szabályos kifejezésként -s, --separator=KARAKTERLÃNC a KARAKTERLÃNC használata elválasztóként az új sor helyett � -b, --binary bináris módú olvasás � -b, --binary olvasás bináris módban (alapértelmezett, ha nem terminál szabványos bemenetet olvas) � -b, --body-numbering=STÃLUS a STÃLUS használata a törzs sorainak számozásához -d, --section-delimiter=CC a CC használata a logikai oldalak elválasztásához -f, --footer-numbering=STÃLUS a STÃLUS használata a lábléc sorainak számozásához � -b, --bytes bájtok számolása az oszlopok helyett -s, --spaces tördelés szóközöknél -w, --width=SZÉLESSÉG SZÉLESSÉG darab oszlop használata 80 helyett � -b, --bytes=LISTA csak ezen bájtok kiválasztása -c, --characters=LISTA csak ezen karakterek kiválasztása -d, --delimiter=ELHAT az ELHAT használata a TAB helyett mezÅ‘elválasztóként � -b, --ignore-leading-blanks kezdÅ‘ üreshelyek figyelmen kívül hagyása -d, --dictionary-order csak üres és alfanumerikus karakterek figyelembe vétele -f, --ignore-case kisbetűk nagybetűkké alakítása � -c --format=FORMÃTUM a megadott FORMÃTUMOT használja az alapértelmezett helyett; minden FORMÃTUM után új sor --printf=FORMÃTUM mint a --format, de értelmezi a fordított osztásjeles, védelmet és nem tesz kötelezÅ‘en befejezÅ‘ új sort. Új sorhoz a FORMÃTUMBAN használja a \n jelölést. -t, --terse információk kiírása tömör formátumban � -c, --bytes=K az utolsó K bájt kiírása, ehelyett használható a -c +K a bájtok kiíratására minden fájl K. bájtjától kezdve � -c, --changes mint a részletes mód, de csak a végrehajtott változásokat jelzi -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet -v, --verbose minden feldolgozott fájl után diagnosztikai üzenetet ír ki � -c, --check %s összegek olvasása a FÃJLOKBÓL, és azok ellenÅ‘rzése � -c, --check, --check=diagnose-first a bemenet rendezettségének ellenÅ‘rzése; ne rendezzen -C, --check=quiet, --check=silent mint a -c, de nem jelenti az elsÅ‘ hibás sort --compress-program=PROG ideiglenes fájlok tömörítése a PROG, kibontása a PROG -d segítségével � -c, --count a sorok elé az elÅ‘fordulások számának kiírása -d, --repeated csak a kettÅ‘zött sorok kiírása � -c, --crown-margin az elsÅ‘ két sor behúzásának megtartása -p, --prefix=KARAKTERLÃNC csak a KARAKTERLÃNC kezdetű sorok újraformázása, az elÅ‘tag újraformázott sorokhoz való ismételt csatolásával -s, --split-only hosszú sorok szétvágása, de újratöltés nélkül � -c, --no-create ne hozzon létre fájlokat � -d, --decode adatok dekódolása -i, --ignore-garbage dekódoláskor az ábécében nem szereplÅ‘ karakterek figyelmen kívül hagyása -w, --wrap=OSZL kódolt sorok törése OSZL karakter után (alapértelmezésben 76). A 0 kikapcsolja a törést � -d, --delimiters=LISTA a LISTA karaktereinek újrafelhasználása tabok helyett -s, --serial egyszerre egy fájl beillesztése párhuzamos feldolgozás helyett � -d, --directory könyvtár és nem fájl létrehozása -u, --dry-run nem hoz létre semmit, csak a nevet írja ki (nem biztonságos) -q, --quiet a fájl/könyvtár-létrehozási hibáról szóló diagnosztika elnyomása � -e a visszaper escape-k értelmezésének bekapcsolása -E a visszaper escape-k értelmezésének kikapcsolása (alapértelmezett) � -e a visszaper escape-k értelmezésének bekapcsolása (alapértelmezett) -E a visszaper escape-k értelmezésének kikapcsolása � -e, --echo minden egyes ARG bemeneti sorként való kezelése -i, --input-range=LO-HI a LO és HI közötti számok kezelése bemeneti sorként -n, --head-count=SZÃM legfeljebb SZÃM darab sor kiírása -o, --output=FÃJL az eredmény kiírása a FÃJLBA a szabványos kimenet helyett --random-source=FÃJL véletlen bájtok olvasása a FÃJLBÓL -z, --zero-terminated a sorok lezárása a 0 bájttal az új sor helyett � -f az oszlopfejlécek sorának kihagyása a rövid formátumban -w a felhasználó teljes nevének kihagyása a rövid formátumban -i a felhasználó teljes nevének és távoli kiszolgálójának kihagyása a rövid formátumban -q a felhasználó teljes nevének, távoli kiszolgálójának és üresjárati idejének kihagyása a rövid formátumban � -f ugyanaz, mint -t fF, lebegÅ‘pontosak kiválasztása -i ugyanaz, mint -t dI, decimális egészek kiválasztása -l ugyanaz, mint -t dL, decimális hosszúak kiválasztása -o ugyanaz, mint -t o2, oktális 2 bájtos egységek kiválasztása -s ugyanaz, mint -t d2, tízes alapú 2 bájtos egységek kiválasztása -x ugyanaz, mint -t x2, hexadecimális 2 bájtos egységek kiválasztása � -f FÃJL a FÃJL létezik és szabályos fájl -g FÃJL a FÃJL létezik és a setgid bit be van állítva -G FÃJL a FÃJL létezik és a hatásos csoportazonosító tulajdona -h FÃJL a FÃJL létezik és szimbolikus link (ugyanaz, mint a -L) -k FÃJL a FÃJL létezik és a ragadós bit be van állítva � -f, --canonicalize egyszerűsítés minden szimbolikus link rekurzív követésével az adott név minden összetevÅ‘jében, az utolsó kivételével minden összetevÅ‘nek léteznie kell -e, --canonicalize-existing egyszerűsítés minden szimbolikus link rekurzív követésével az adott név minden összetevÅ‘jében, minden összetevÅ‘nek léteznie kell � -f, --fields=LISTA csak ezen mezÅ‘k kiválasztása; valamint bármely sor kiírása, amely nem tartalmaz elhatárolókaraktert, kivéve ha a -s kapcsoló meg van adva -n (figyelmen kívül marad) � -f, --follow[={name|descriptor}] a fájl növekedése során hozzáfűzött adatok kiírása; a -f, --follow és --follow=descriptor megegyeznek -F ugyanaz, mint a --follow=name --retry � -f, --force jogosultságok megváltoztatása, ha akadályozzák az írást -n, --iterations=N N-szer írja felül az alapértelmezett %d helyett --random-source=FÃJL véletlenszerű bájtok olvasása a FÃJLBÓL -s, --size=N ennyi bájt megsemmisítése (a k, M, G utótagok megengedettek) � -g mint a -l, de tulajdonos kiírása nélkül � -g GID[,GID1…] az elsÅ‘dleges csoportazonosító beállítása a numerikus GID-re és (ha meg van adva) akkor a kiegészítÅ‘ csoportazonosítók beállítása a GID1, … értékeire � -h, --header-numbering=STÃLUS a STÃLUS használata a fejléc sorainak számozásához -i, --line-increment=SZÃM a sorszám növekménye soronként -l, --join-blank-lines=SZÃM SZÃM darab üres sor számolása egynek -n, --number-format=FORMÃTUM sorszámok beszúrása a FORMÃTUMNAK megfelelÅ‘en -p, --no-renumber ne állítsa vissza a sorszámokat logikai oldalaknál -s, --number-separator=KARAKTERLÃNC a KARAKTERLÃNC felvétele a (lehetséges) sorszámnál � -h, --header=FEJLÉC egy középre igazított FEJLÉC használata a fájlnév helyett az oldalfejlécben, a -h "" egy üres sort nyomtat, ne használja a -h"" kapcsolót -i[KAR[SZÉLESSÉG], --output-tabs[=KAR[SZÉLESSÉG]] a szóközök cseréje KARAKTEREKRE (TAB-okra) a tab SZÉLESSÉGÉIG (8) -J, --join-lines teljes sorok összefésülése, kikapcsolja a -W sorcsonkítást, nincs oszlopigazítás, a --sep-string[=KARAKTERLÃNC] beállítja az elválasztókat � -h, --human-numeric-sort közérthetÅ‘ számok összehasonlítása (például: 2K 1G) � -h, --no-dereference nem a fájl, hanem a rá mutató szimbolikus link csoportját állítja át (csak olyan rendszereken, ahol a szimbolikus link idÅ‘bélyege módosítható) -m csak a módosítási idÅ‘t módosítja � -i, --initial ne alakítsa át a tabokat nem üreshely karakterek után -t, --tabs=SZÃM a tabok SZÃM karakter szélesek legyenek, ne pedig 8 � -i, --inodes inode információk blokkhasználat helyett -k ugyanaz, mint a --block-size=1K -l, --local csak a helyi fájlrendszereket írja ki --no-sync nem adja ki a sync parancsot a használati információk beolvasása elÅ‘tt (alapértelmezett) � -i, --input=MÓD Szabványos bemenet adatfolyam pufferelésének módosítása -o, --output=MÓD Szabványos kimenet adatfolyam pufferelésének módosítása -e, --error=MÓD Szabványos hibakimenet adatfolyam pufferelésének módosítása � -k, --key=KULCSDEF rendezés kulccsal; a KULCSDEF megadja a helyet és típust -m, --merge a már rendezett fájlok összefésülése; ne rendezzen � -l hosszú formátum -L, --dereference szimbolikus linkek fájlinformációinak megjelenítésekor a szimbolikus linkek által mutatott fájlok adatait jeleníti meg a link adatai helyett -m a szélességet a bejegyzések vesszÅ‘vel elválasztott listájával tölti ki � -l, --length=OLDALHOSSZ beállítja az oldalhosszúságot OLDALHOSSZ (66) sorra (a szövegsorok alapértelmezett száma 56, és a -F esetén 63) -m, --merge az összes fájl párhuzamos nyomtatása, egyet minden oszlopba, a sorokat csonkítja, de a teljes hosszúságú sorokat a -J használatakor összekapcsolja � -l, --link fájlok hard linkelése másolás helyett -L, --dereference a szimbolikus linkek követése mindig a FORRÃSBAN � -l, --login kiírja a rendszer bejelentkezési folyamatait � -m, --mode=MÓD fájljogosultságok beállítása a MÓDRA, nem a=rw - umask � -m, --mode=MÓD fájlmód beállítása, (mint a chmod), nem a=rwx - umask -p, --parents könyvtárstruktúrát hoz létre. Nem ad hibát, ha már létezik -v, --verbose üzenetet ír ki minden egyes létrehozott könyvtárhoz -Z, --context=KTX minden létrehozott könyvtár SELinux biztonsági kontextusának beállítása a KTX-re � -n, --digits=SZÃMJEGYEK a megadott számú számjegy használata a 2 helyett. -s, --quiet, --silent ne írja ki a kimeneti fájlok méretének összegét -z, --elide-empty-files üres kimeneti fájlok eltávolítása � -n, --lines=K az utolsó K sor kiírása az utolsó %d helyett vagy a +K segítségével a sorok a K.-tól kezdÅ‘dÅ‘en írathatók ki --max-unchanged-stats=N a --follow=name kapcsolóval újranyit egy FÃJLT, amely mérete nem változott N (alapértelmezett: %d) ismétlés után, annak kiderítése érdekében, hogy az törlésre vagy átnevezésre került-e (ez a megszokott eset forgatott naplófájlok esetén). Az inotify használatakor ez ritkán hasznos. � -n, --no-clobber ne írjon felül meglévÅ‘ fájlt (felülbírálja a korábbi -i kapcsolót) -P, --no-dereference soha ne kövesse a szimbolikus linkeket a FORRÃSBAN � -n, --numeric-sort karakterláncok számértéke szerinti összehasonlítás -R, --random-sort rendezés a kulcsok véletlen hashe szerint --random-source=FÃJL véletlen bájtok a FÃJLBÓL -r, --reverse az összehasonlítások eredményének megfordítása � -n, --numeric-uid-gid mint a -l, de az felhasználó- és csoportazonosítókat számmal írja ki -N, --literal nyers bejegyzésnevek kiírása (nem kezeli megkülönböztetett módon például a vezérlÅ‘karaktereket) -o mint a -l, de a csoportinformációk kiírása nélkül -p, --indicator-style=slash egy / jelet fűz a könyvtárakhoz � -n[ELV[SZÃMJEGYEK]], --number-lines[=ELV[SZÃMJEGYEK]] sorok számozása, SZÃMJEGYEK (5) darab számjegy, majd az ELVÃLASZTÓ (TAB) használatával, a számolás alapértelmezésben a bemeneti fájl elsÅ‘ sorával kezdÅ‘dik. -N NUMBER, --first-line-number=SZÃM a számolás kezdése a SZÃMMAL az elsÅ‘ kinyomtatott oldal elsÅ‘ sorában (lásd +ELSÅ_OLDAL) � -o, --indent=MARGÓ minden egyes sor eltolása MARGÓ (nulla) szóközzel, nincs hatással a -w vagy -W kapcsolókra, a MARGÓ az OLDAL_SZÉLESSÉGHEZ lesz hozzáadva. -r, --no-file-warnings figyelmeztetés kihagyása, ha egy fájl nem nyitható meg � -o, --io-blocks A MÉRET bájtok helyett IO blokkok számaként való kezelése � -o, --output=FÃJL az eredmény írása a FÃJLBA a szabványos kimenet helyett -s, --stable a rendezés stabilizálása az utolsó újrarendezési összehasonlítás letiltásával -S, --buffer-size=MÉRET a MÉRET használata a fÅ‘ memóriapufferhez � -p mint a --preserve=mode,ownership,timestamps --preserve[=ATTR_LISTA] megadott attribútumok megtartása (alap: mode,ownership,timestamps), ha lehet további attribútumokat is: context, links, xattr, all � -p KVT a KVT használata elÅ‘tagként, a -t használatát feltételezi [elavult] -t a SABLON értelmezése egyetlen fájlnév-összetevÅ‘ként, egy könyvtárhoz képest: $TMPDIR, ha az be van állítva, különben a -p segítségével megadott könyvtár, különben /tmp [elavult] � -p, --preserve-timestamps a FORRÃS elérési és módosítási idejét állítja be a megfelelÅ‘ célfájlokon -s, --strip eltávolítja a szimbólumtáblákat --strip-program=PROGRAM a binárisok lecsupaszítására használt program -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos kiterjesztésének felülbírálása -t, --target-directory=KÖNYVTÃR az összes FORRÃS argumentum másolása a KÖNYVTÃRBA -T, --no-target-directory a CÉL kezelése normál fájlként -v, --verbose minden létrehozott könyvtár nevét kiírja � -q, --count az összes bejelentkezési név és a bejelentkezett felhasználók számának kiírása -r, --runlevel a jelenlegi futási szint -s, --short csak a név, vonal és idÅ‘ kiírása (alapértelmezett) -t, --time az utolsó rendszeróra-változás kiírása � -q, --quiet, --silent soha ne írja ki a fájlneveket megadó fejléceket -v, --verbose mindig írja ki a fájlneveket megadó fejléceket � -r, --reference=FÃJL a FÃJL utolsó módosítása dátumának megjelenítése -R, --rfc-2822 IdÅ‘pont kiírása RFC 2822 formátumban. Például: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFÃJL ezen RFÃJL méretének használata -s, --size=MÉRET fájlméret beállítása ezen MÉRETRE vagy MÉRETTEL � -r, --references minden egyes sor elsÅ‘ mezÅ‘je egy hivatkozás -t, --typeset-mode - nincs megvalósítva - -w, --width=SZÃM a kimenet szélessége oszlopokban, a hivatkozások kihagyásával � -r, --reverse sorrend megfordítása rendezéskor -R, --recursive alkönyvtárak rekurzív listázása -s, --size az egyes fájlok méretének kiírása blokkban � -s, --only-delimited ne írja ki az elhatárolókat nem tartalmazó sorokat --output-delimiter=KARAKTERLÃNC a KARAKTERLÃNC használata a kimenet elhatárolójaként, az alapértelmezés a bemenet elhatárolójának használata � -s, --signal=SZIGNÃL, -SZIGNÃL megadja az elküldendÅ‘ szignál nevét vagy számát -l, --list szignálnevek felsorolása, vagy szignálnevek számokká és visszaalakítása -t, --table szignálinformációkat tartalmazó táblázat kiírása � -s, --sleep-interval=N a -f kapcsolóval, aludjon körülbelül N másodpercig (alapértelmezett: 1.0) az ismétlések között Az inotify és a --pid=P használatakor a P folyamat ellenÅ‘rzése N másodpercenként legalább egyszer. -v, --verbose mindig írja ki a fájlneveket megadó fejléceket � -s, --symbolic-link szimbolikus link létrehozása másolás helyett -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos kiterjesztésének felülbírálása -t, --target-directory=KÖNYVTÃR minden FORRÃS argumentum másolása a megadott KÖNYVTÃRBA -T, --no-target-directory a CÉL kezelése normál fájlként � -s[KARAKTER],--separator[=KARAKTER] az oszlopok elválasztása egyetlen KARAKTERREL, az alapértelmezés a <TAB> karakter a -w nélkül és „semmi†a -w esetén. A -s[KARAKTER] kikapcsolja a sorcsonkítást mind a 3 oszlopkapcsolóhoz (-OSZLOP|-a -OSZLOP|-m), kivéve ha a -w be van állítva � -t módosítás dátuma alapján rendez, legújabb elÅ‘re -T, --tabsize=OSZL tabulátor minden OSZL-nál, 8 helyett � -t azonos a -vT-vel -T, --show-tabs a TAB karaktereket ^I formában jeleníti meg -u (figyelmen kívül marad) -v, --show-nonprinting a ^ és M- jelölés használata az LFD és TAB kivételével � -t, --field-separator=ELV az ELV használata a nem üresrÅ‘l üresre áttérés helyett -T, --temporary-directory=KÖNYVTÃR a KÖNYVTÃR használata az átmeneti fájlokhoz a $TMPDIR vagy a(z) %s helyett; több kapcsolóval több könyvtár adható meg --parallel=N a párhuzamosan futó rendezések számának módosítása N-re -u, --unique a -c esetén szigorú rendezés ellenÅ‘rzése, a -c nélkül csak az elsÅ‘t írja ki egy egyenlÅ‘ menetbÅ‘l � -t, --tabs=LISTA az explicit tab pozíciók vesszÅ‘kkel elválasztott listájának használata � --target-directory=KÖNYVTÃR minden FORRÃS áthelyezése a megadott KÖNYVTÃRBA -T, --no-target-directory a CÉL kezelése normál fájlként -u, --update csak akkor helyezi át, ha a célfájl régebbi, mint a FORRÃS, vagy ha a célfájl nem létezik -v, --verbose elmagyarázza, mi történik � -t, --text olvasás szöveges módban (alapértelmezett, ha terminál szabványos bemenetet olvas) � -t, --text olvasás szöveges módban (alapértelmezett) � -u „-ltâ€-vel: rendezés és kiírás hozzáférési idÅ‘ szerint „-lâ€-lel: a hozzáférési idÅ‘ kiírása, és rendezés név szerint egyébként: rendezés hozzáférési idÅ‘ szerint -U nincs rendezés; a bejegyzések felsorolása könyvtári sorrendben -v rendezés a szövegben lévÅ‘ (verzió)számok szerint � -u, --remove fájl csonkítása és törlése felülírás után -v, --verbose folyamat elÅ‘rehaladásának mutatása -x, --exact nem kerekíti fel a fájlméretet a következÅ‘ teljes blokkra ez az alapértelmezés nem szabályos fájlok esetén -z, --zero a végén nullákkal írja felül a fájlt, így álcázva a megsemmisítést � -u, --update csak akkor másol, ha a CÉL fájl régebbi mint a FORRÃS, vagy ha a CÉL nem létezik -v, --verbose elmagyarázza, mi történik -x, --one-file-system az adott fájlrendszeren marad � -u, --user=FELHASZNÃLÓ a FELHASZNÃLÓ felhasználó beállítása a cél biztonsági kontextusában -r, --role=SZEREP a SZEREP szerep beállítása a cél biztonsági kontextusában -t, --type=TÃPUS a TÃPUS típus beállítása a cél biztonsági kontextusában -l, --range=TARTOMÃNY a TARTOMÃNY tartomány beállítása a cél biztonsági kontextusában � -v FÃJLSZÃM mint a -a FÃJLSZÃM, de elnyomja az összekapcsolt kimeneti sorokat -1 MEZŠösszekapcsolás az 1. fájl ezen MEZÅJE alapján -2 MEZŠösszekapcsolás a 2. fájl ezen MEZÅJE alapján --check-order a bemenet megfelelÅ‘ rendezésének ellenÅ‘rzése, még ha minden bemeneti sor párosítható is. --nocheck-order ne ellenÅ‘rizze a bemenet megfelelÅ‘ rendezését --header minden fájl elsÅ‘ sorát mezÅ‘fejlécnek tekinti, ezeket a párosításukra tett kísérlet nélkül írja ki � -v, --kernel-version a kernel verziójának kiírása -m, --machine a gép hardvere nevének kiírása -p, --processor a processzor típusának vagy az „unknown†szó kiírása -i, --hardware-platform a hardverplatform vagy „unknown†az „unknown†szó kiírása -o, --operating-system az operációs rendszer kiírása � -v, --starting-line-number=SZÃM az elsÅ‘ sorszám minden logikai oldalon -w, --number-width=SZÃM SZÃM darab oszlop használata a sorszámokhoz � -v, --verbose minden feldolgozott fájl után diagnosztikai üzenetet ír ki � -w, --check-chars=N a sorokban N-tÅ‘l ne hasonlítson össze több karaktert � -w, --width=OSZL feltételezi, hogy a képernyÅ‘ OSZL széles -x a bejegyzéseket soronként, és nem oszloponként listázza -X ábécé sorba rendez, kiterjesztés szerint -Z, --context az egyes fájlok teljes SELinux biztonsági kontextusának kiírása -1 soronként egy fájlnevet ír ki � -z, --zero-terminated a sorok lezárása a 0 bájttal új sor helyett � Fájl: „%n†ID: %-8i névhossz: %-7l típus: %T Blokkméret: %-10s alapvetÅ‘ blokkméret: %S Blokkok: összes: %-10b szabad: %-10f elérhetÅ‘: %a Inode-ok: összes: %-10c szabad: %d � Fájl: %N Méret: %-10s blokkok: %-10b IO-blokk: %-6o %F � A megszakíthatatlan alvási állapotban lévÅ‘ folyamatok is hozzájárulnak az átlagos terheléshez. � [:graph:] az összes nyomtatható karakter, kivéve a szóközt [:lower:] az összes kisbetű [:print:] az összes nyomtatható karakter, beleértve a szóközt [:punct:] az összes központozó karakter [:space:] az összes vízszintes vagy függÅ‘leges üreshely [:upper:] az összes nagybetű [:xdigit:] az összes hexadecimális számjegy [=KAR=] az összes karakter, amely azonos a KAR karakterrel � \0NNN NNN oktális értékű bájt (1 - 3 számjegy) \xHH HH hexadecimális értékű bájt (1 - 2 számjegy) � \NNN az NNN oktális értékű karakter (1 - 3 számjegy) \xHH a HH hexadecimális értékű bájt (1 - 2 számjegy) \uHHHH a HHHH hexadecimális értékű Unicode (ISO/IEC 10646) karakter (4 számjegy) \UHHHHHHHH a HHHHHHHH hexadecimális értékű Unicode karakter (8 számjegy) � \\ visszaper \a riasztás (BEL) \b backspace \c nincs több kimenet \e escape \f lapdobás \n új sor \r kocsivissza \t vízszintes tab \v függÅ‘leges tab � \v függÅ‘leges tab KAR1-KAR2 az összes karakter KAR1 és KAR2 között növekvÅ‘ sorrendben [KAR*] a HALMAZ2-ben, a KAR másolatai a HALMAZ1 hosszáig [KAR*ISMÉTLÉS] a KAR ISMÉTLÉS darab másolata, az ISMÉTLÉS oktális, ha 0-val kezdÅ‘dik [:alnum:] az összes betű és számjegy [:alpha:] az összes betű [:blank:] az összes vízszintes üreshely [:cntrl:] az összes vezérlÅ‘karakter [:digit:] az összes számjegy � binary bináris I/O használata az adatokhoz � cio párhuzamos I/O használata az adatokhoz � d[MÉRET] elÅ‘jeles decimális, MÉRET bájt egészenként f[MÉRET] lebegÅ‘pontos, MÉRET bájt egészenként o[MÉRET] oktális, MÉRET bájt egészenként u[MÉRET] elÅ‘jel nélküli decimális, MÉRET bájt egészenként x[MÉRET] hexadecimális, MÉRET bájt egészenként � direct közvetlen I/O használata az adatokhoz � directory működés csak könyvtárakon � dsync szinkronizált I/O használata az adatokhoz � excl a működés visszautasítása, ha kimeneti fájl már létezik nocreat ne hozza létre a kimeneti fájlt notrunc nem csonkolja a kimeneti fájlt noerror folytatás olvasási hibák után fdatasync a kimeneti fájladatok kiírása fizikailag a befejezés elÅ‘tt fsync hasonló az elÅ‘zÅ‘höz, de a metaadatokat is kiírja � fullblock a bemenet teljes blokkjainak összegyűjtése (csak iflag) � noatime ne frissítse a hozzáférési idÅ‘t � nocache gyorsítótárazott adatok eldobása � noctty ne rendelje hozzá a vezérlÅ‘ terminált fájlból � nofollow ne kövesse a szimbolikus linkeket � nolinks többszörös linkek esetén a működés visszautasítása � nonblock nem blokkoló I/O használata � none, off nem készít mentést (még a --backup megadása esetén sem) numbered, t számozott mentést készít existing, nil számozott, ha már létezik számozott változat, egyébként egyszerű simple, never mindig egyszerű biztonsági mentés � sync hasonló az elÅ‘zÅ‘höz, de a metaadatok esetén is érvényes � text szöveges I/O használata az adatokhoz � %H.%M%P � (biztonsági mentés: %s)� * [-]iuclc nagybetűs karakterek kisbetűssé alakítása * [-]ixany bármely karakter újrakezdheti a kimenetet, nem csak a start [-]ixoff start/stop karakterek küldésének engedélyezése [-]ixon XON/XOFF folyamvezérlés engedélyezése [-]parmrk paritáshibák jelölése (egy 255-0 karaktersorozattal) [-]tandem ugyanaz, mint a [-]ixoff � * [-]iutf8 a bemeneti karakterek UTF-8 kódolásának feltételezése � * [-]ocrnl a kocsivissza új sorrá fordítása * [-]ofdel delete karakterek használata kitöltéshez null karakterek helyett * [-]ofill kitöltÅ‘ karakterek használata idÅ‘zítés helyett a késleltetésekhez * [-]olcuc kisbetűs karakterek nagybetűssé alakítása * [-]onlcr új sor karakterek kocsivissza - új sorrá alakítása * [-]onlret az új sor kocsivisszát hajt végre � * [-]onocr ne írjon ki kocsivissza karaktereket az elsÅ‘ oszlopba [-]opost kimenet utófeldolgozása * tabN vízszintes tab késleltetési stílus, N lehet [0..3] * tabs ugyanaz, mint a tab0 * -tabs ugyanaz, mint a tab3 * vtN függÅ‘leges tab késleltetési stílus, N lehet [0..1] � * eol2 KAR alternatív KAR a sor lezárására erase KAR a KAR törli az utoljára beírt karaktert intr KAR a KAR egy megszakítási szignált fog küldeni kill KAR a KAR törli az aktuális sort � * lnext KAR a KAR hatására a következÅ‘ karakter idézÅ‘jelek között kerül bevitelre quit KAR a KAR egy kilépési szignált fog küldeni * rprnt KAR a KAR újrarajzolja az aktuális sort start KAR a KAR újraindítja a kimenetet annak leállítása után � * rows N közli a kernellel, hogy a terminál N sorral rendelkezik * size kiírja a sorok és oszlopok számát a kernellel összhangban speed kiírja a terminál sebességét time N az -icanon használatakor beállítja az olvasási idÅ‘túllépést N tizedmásodpercre � ??:???? � TTY� kontextus=%s� csoportok=� régi � a(z) %s ismétlésben �% 1% a memóriából, b 1, K 1024 (alapértelmezett), és ugyanígy M, G, T, P, E, Z, Y Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. *** FIGYELMEZTETÉS *** A környezet által megadott területi beállítások befolyásolják a rendezési sorrendet. Az LC_ALL=C beállításával megkapható a hagyományos rendezési sorrend, amely a natív bájtértékeket használja. �%.*s: érvénytelen konverziós specifikáció�%Y %b %e�%b %e %H.%M�%lu felhasználó�%lu felhasználó�%s (a(z) %s regexphez)�%s -> %s (biztonsági mentés visszaállítása) �A(z) %s [-d] váratlanul befejezÅ‘dött�%s és %s ugyanaz a fájl�%s létezik, de nem könyvtár�%s megjelent; a program az új fájl végét követi�%s elérhetÅ‘vé vált�%s elérhetetlenné vált�%s le lett cserélve egy távoli fájlra, a program ezen a néven befejezi a próbálkozást�%s le lett cserélve egy követhetetlen fájlra; a program ezen a néven befejezi a próbálkozást�%s helyettesítésre került; a program az új fájl végét követi�%s fájltípusa ismeretlen�%s használhatatlan, nyilvánvalóan negatív mérettel rendelkezik�A(z) %s honlapja: <%s> �A %s honlapja: <http://www.gnu.org/software/%s/> �%s nem egy érvényes pozitív egész�a(z) %s túl nagy�a(z) %s csak SELinux rendszermagon használható�%s meg lett adva, de %s nem�%s%s: a(z) „%s†argumentum túl nagy�%s: %s olyan nagy, hogy nem ábrázolható�%s: %s: a sorszám kívül esik a tartományon�%s: %s: a találat nem található�%s: %s:%s: rendezetlenség: �%s: a megnyitás vagy olvasás meghiúsult �%s: a program bináris operátort várt�%s: relatív szimbolikus linkeket csak az aktuális könyvtárban lehet létrehozni�%s: nem módosítható a nem blokkoló mód�%s: a fájlméret nem határozható meg�%s: nem található a név a(z) %lu felhasználói azonosítóhoz �%s: ezen fájltípus vége nem követhetÅ‘; a program ezen a néven befejezi a próbálkozást�%s: nem lehet lseek-elni az eredeti pozícióra�%s: a könyvtár nem írható felül�%s: nem lehet visszacsévélni�%s: nem lehet pozicionálni�%s: nem lehet a(z) %s befejezÅ‘ relatív eltolásra keresni�%s: nem lehet a(z) %s eltolásra pozicionálni�%s: nem lehet a(z) %s relatív eltolásra keresni�%s: nem lehet a megsemmisíteni a csak hozzáfűzésre megnyitott fájlleírót�%s: nem lehet ugrani�%s: nem lehet a megadott eltolásra ugrani�%s: nem állítható vissza a nem blokkoló mód�%s: belép a(z) %s könyvtárba? �%s: belép a(z) %s írásvédett könyvtárba? �%s: fájl vége�%s: az egyenlÅ‘ségosztály operandusnak egyetlen karakternek kell lennie�%s: hiba a csonkításnál�%s: írási hiba a következÅ‘ eltolásnál: %s�%s: a várt érték numerikus�%s: a bezárás meghiúsult�%s: az extent információinak lekérése meghiúsult�%s: az írásra megnyitás meghiúsult�%s: az eltávolítás meghiúsult�%s: az fcntl meghiúsult�%s: az fdatasync meghiúsult�%s: a fájl mérete negatív�%s: a fájl túl sokat zsugorodott�%s: a fájl túl nagy�%s: a fájl túl nagy�%s: a fájl csonkítva�%s: az elérés meghiúsult�%s: az fsync meghiúsult�%s: könyvtárra mutató hard link nem engedélyezett�%s: bemenet hurkot tartalmaz:�%s: a bemenet páratlan számú jelsort tartalmaz�%s: a bemeneti fájl a kimeneti fájl�%s a program egész értéket várt az elhatároló után�%s: érvénytelen IO-blokkméret�%s: érvénytelen PID�%s: érvénytelen darabszám�%s: érvénytelen szám a(z) %s kezdetén�%s: érvénytelen direktíva�%s: érvénytelen mezÅ‘specifikáció: %s�%s: érvénytelen fájlméret�%s: érvénytelen fájltípus�%s: a változatlan statok maximális száma érvénytelen a megnyitások között�érvénytelen szám: %s�%s: érvénytelen bájtszám�%s: a darabok száma érvénytelen�%s: érvénytelen sorszám�%s: érvénytelen menetszám�%s: a másodpercek száma érvénytelen�%s: érvénytelen figyelmen kívül hagyandó szám�%s: érvénytelen kapcsoló -- „%c†�%s: érvénytelen minta�%s: érvénytelen folyamatazonosító�%s: érvénytelen szabályos kifejezés: %s�%s: érvénytelen szignál�%s: érvénytelen utótaghossz�%s: a sorszámnak nagyobbnak kell lennie, mint 0�%s: a sorszám kívül esik a tartományon�%s: az lseek meghiúsult�%s: több szignált adott meg�%s: az új jogosultságok: %s, nem pedig %s�%s: nem találhatók megfelelÅ‘en formázott %s ellenÅ‘rzőösszeg sorok�%s: nincsenek méretinformációk ehhez az eszközhöz�%s: nincs ilyen felhasználó�%s: a már listázott könyvtár nem kerül listázásra�%s: a bájtszám túl nagy�%s: a(z) „%c%s†kapcsoló nem enged meg argumentumot �%s: a(z) „%s†kapcsoló nem egyértelmű, lehetÅ‘ségek:�%s: a(z) „--%s†kapcsoló nem enged meg argumentumot �%s: a(z) „--%s†kapcsolóhoz argumentum szükséges �%s: a „-W %s†kapcsoló nem enged meg argumentumot �%s: a „-W %s†kapcsoló nem egyértelmű �%s: a(z) „-W%s†kapcsolóhoz argumentum szükséges �%s: a kapcsoló egy argumentumot igényel -- „%c†�%s: felülírod a(z) %s fájlt? �%s: %lu/%lu menet (%s)…�%s: %lu/%lu menet (%s)…%s�%s: %lu/%lu menet (%s)…%s/%s %d%%�%s: olvasási hiba�%1$s: eltávolítja a(z) %3$s nevű, „%2$s†típusú elemet? �%s: rekurzívan eltávolítja az összes argumentumot? �%s: eltávolítja az összes argumentumot? �%1$s: eltávolítja az írásvédett %3$s nevű, „%2$s†típusú elemet? �%s: törölve�%s: törlés alatt�%s: átnevezve a következÅ‘re: %s�%s: %s cseréje? �%s: a keresés meghiúsult�%s: túl sok ellenÅ‘rzőösszeg-sor�%s: megpróbálja felülírni a(z) %s fájlt, figyelmen kívül hagyva a(z) %04lo (%s) módot? �%s: a maximális fájlnévhossz nem határozható meg�%s: nem hajtható végre az össze kért művelet�%s: a program egyoperandusú operátort várt�%s: a(z) „%c%s†kapcsoló ismeretlen �%s: a(z) „--%s†kapcsoló ismeretlen �%s: az érték átalakítása nem teljes�%s: íráshiba�%s: az írás meghiúsult�%s:%lu: érvénytelen sor; a második token hiányzik�%s:%lu: érvénytelen nulla hosszúságú fájlnév�%s:%lu: a(z) %s kulcsszó ismeretlen�â€�a program „)†jelet várt�a program „)†jelet várt, de a következÅ‘t találta: %s�©�* azon fájlrendszerek, amelyek gyorsítótárai átmeneti helyen találhatók, ilyen az NFS kliens 3-as verziója * tömörített fájlrendszerek �* naplózó fájlrendszerek, ilyen az AIX és a Solaris fájlrendszere (valamint a JFS, a ReiserFS, az XFS, az Ext3 stb.) * azon fájlrendszerek, amelyek redundánsan írják az adatokat és akkor is továbbhaladnak az írással, ha valamelyik írás sikertelen, ilyenek a RAID alapú fájlrendszerek. * pillanatfelvételeket alkalmazó fájlrendszerek, ilyen a Network Appliance NFS kiszolgálója �, átlagos terh.: %.2f�, %g mp, %s/s �a --%s %s argumentuma túl nagy�a --context (-Z) csak SELinux-képes rendszermagokkal működik�a --filter nem dolgozza fel a kinyert adatdarabot a szabványos kimenetre�a --reflink csak a --sparse=auto kapcsolóval együtt használható�A -R --dereference igényli a -H vagy -L egyikét�a -R -h megköveteli a -P használatát�a -ef nem fogadja el a -l kapcsolót�a -nt nem fogadja el a -l kapcsolót�a -ot nem fogadja el a -l kapcsolót�<belsÅ‘>�??? �?????�Megszakítva� Elérés: %x Módosítás: %y Változás: %z Születés: %w �Hozzáférés: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �A címcsalád a gépnévhez nem támogatott�Ébresztőóra�Minden kérés kész�A paraméterpuffer túl kicsi�Arnold Robbins�Szab.�Szabad�Hibás rendszerhívás�Az ai_flags értéke hibás�Brian Fox�Megszakadt csÅ‘vezeték�Buszhiba�VIGYÃZAT: A shred működése egy fontos feltételezésen alapul: azon, hogy a fájlrendszer azonnal felülírja az adatokat. Ez a hagyományos eljárás, de sok korszerű fájlrendszer eltér ettÅ‘l. A következÅ‘ fájlrendszereken nem, vagy nem minden fájlrendszermód esetén garantált a shred hatásossága: �MEGJEGYZÉS�CPU-idÅ‘korlát túllépve�A link függvény meghívása egy létezÅ‘ FÃJL1-re mutató FÃJL2 nevű link létrehozásához. �Az unlink függvény meghívása a megadott FÃJL törlése érdekében. �Kapacit.�Megváltoztatja mindegyik FÃJL csoportját a CSOPORTRA. A --reference használatával minden FÃJL kontextusát a REFERENCIAFÃJL kontextusára változtatja. �Megváltoztatja mindegyik FÃJL módját a MÓDRA. A --reference használatával minden FÃJL módját a REFERENCIAFÃJL módjára változtatja. �Megváltoztatja mindegyik FÃJL tulajdonosát és/vagy csoportját a TULAJDONOSRA és/vagy a CSOPORTRA. A --reference használata esetén mindegyik FÃJL tulajdonosát és csoportját a REFERENCIAFÃJLÉRA változtatja. �Chet Ramey�Gyerekfolyamat kilépett�Colin Plumb�A rendezett FÃJL1 és FÃJL2 összehasonlítása sorról sorra. �Összefűzi a FÃJLOKAT, vagy a szabványos bemenetet a szabványos kimenetre. -A, --show-all azonos a -vET-vel -b, --number-nonblank a nem üres kimeneti sorok megszámozása -e azonos a -vE-vel -E, --show-ends egy $ jelet jelenít meg minden egyes sor végén -n, --number megszámoz minden kimeneti sort -s, --squeeze-blank az ismétlÅ‘dÅ‘ üres kimeneti sorokat nem jeleníti meg �Kontextus: %C �Folytatva�A szabványos bemenet másolása minden egyes FÃJLBA, valamint a szabványos kimenetre is. -a, --append hozzáfűzés a megadott FÃJLOKHOZ, felülírás helyett -i, --ignore-interrupts megszakítási szignálok figyelmen kívül hagyása. �David M. Ihnat�David MacKenzie�David Madore� Eszköz: %Dh/%dd I-node: %-10i linkek: %-5h eszköztípus: %t,%T � Eszköz: %Dh/%dd I-node: %-10i linkek: %h �Érvénytelen vagy hordozhatatlan fájlnevek felismerése. -p a legtöbb POSIX rendszer ellenÅ‘rzése -P üres nevek és a kezdÅ‘ „-†ellenÅ‘rzése --portability az összes POSIX rendszer ellenÅ‘rzése (azonos a -p -P-vel) �Könyvtár: �Dmitry V. Levin�Minden kiegészítÅ‘ csoport eldobása, a megadott FELHASZNÃLÓNÉV felhasználó- és csoportazonosítójának felvétele és a PARANCS futtatása a megadott ARGUMENTUMOKKAL. 111-es állapottal lép ki, ha a szükséges UID és GID nem vehetÅ‘ fel. Egyébként a PARANCS kilépési állapotával tér vissza. Ez a program csak akkor hasznos, ha a root (0 felhasználói azonosító) futtatja. �EMT csapda�KILÉP�Minden egyes tartomány az alábbiak egyike: N N. bájt, karakter vagy mezÅ‘, 1-tÅ‘l számítva N- az N. bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l, a sor végéig N-M az N. bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l, az M.-ig (azt is beleértve) -M az elsÅ‘ bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l az M.-ig (azt is beleértve) Ha a FÃJL nincs megadva vagy -, akkor a szabványos bemenetet olvassa. �A KARAKTERLÃNCOK kiírása a szabványos kimenetre. -n ne írja ki a befejezÅ‘ új sort �Eric Blake�Kilépés egy hibát jelzÅ‘ állapotkóddal.�Kilépés egy sikert jelzÅ‘ állapotkóddal.�Kilépés a KIFEJEZÉS által meghatározott állapottal. �F. Pinard�HIBÃS�FIXME: ismeretlen�A Fifo-k nem rendelkeznek major és minor eszközszámokkal.�Fájlméret korlátja túllépve�A Fájlok u+rw, a könyvtárak u+rwx mínusz az umask korlátozásaival jönnek létre. �Fájlrendszer�LebegÅ‘pontos kivétel�A teljes dokumentációért futtassa az „info coreutils %s hívás†parancsot �Minden egyes azonos összekapcsolási mezÅ‘vel rendelkezÅ‘ bementi sorpárhoz kiír egy sort a szabványos kimenetre. Az alapértelmezett összekapcsolási mezÅ‘ az elsÅ‘, üreshely karakterekkel elválasztva. Ha a FÃJL1 vagy FÃJL2 (nem mindkettÅ‘) a -, akkor a szabványos bemenetrÅ‘l olvas. -a FÃJLSZÃM a FÃJLSZÃM fájlból származó nem párosítható sorok kiírása, ahol a FÃJLSZÃM 1 vagy 2, a FÃJL1-nek vagy a FÃJL2-nek megfelelÅ‘en. -e ÜRES a hiányzó bemeneti mezÅ‘k helyettesítése az ÜRESSEL �A megváltozott blokkokat azonnal kiírja lemezre, frissíti a szuperblokkot �Ãltalános segítség a GNU szoftverek használatához: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Felfüggesztés�I/O lehetséges�ÜRES�ISzab.�IFo.%�IFogl�Ian Lance Taylor�Üresj.�Ha a FÃJL nincs megadva, akkor a(z) %s fájlt használja. A(z) %s használata általános �Illegális utasítás�Ezen kívül a törölni kívánt fájlnak lehetnek példányai fájlrendszermentésben vagy egy távoli tükörkiszolgálón. Ezek alapján vissza lehet állítani a megsemmisített fájlt. �Valójában: �Az ext3 fájlrendszerek esetén csak data=journal módban érvényes a fenti figyelmeztetés (és így a shred csak korlátozott hatékonyságú), amely a fájladatokat is naplózza a metaadatokon kívül. Mind a data=ordered (alapértelmezett) és data=writeback módokban a shred a szokásos módon működik. Az Ext3 naplózási módjai megváltoztathatók a data=valami kapcsoló felvételével egy adott fájlrendszer csatlakoztatási kapcsolói közé az /etc/fstab fájlban, ahogyan az a mount kézikönyvoldalában dokumentálva van (man mount). �Végtelen B�Információkérés�Inode-ok�Megszakítás�Egy szignál megszakította�Érvénytelen visszahivatkozás�érvénytelen karakterosztálynév�Érvénytelen leválogatási karakter�A \{\} tartalma érvénytelen�Érvénytelen megelÅ‘zÅ‘ szabályos kifejezés�Érvénytelen tartományvég�Érvénytelen szabályos kifejezés�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�KilÅ‘ve�VONAL�BEJELENTKEZÉS�Bejel.�Bejelentkezési név: �Mark Kettenis�Matthew Bradburn�Memóriafoglalási hiba�Elfogyott a memória�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Csatol. pont�NÉV�Név�A név vagy a szolgáltatás nem ismert�Nincs cím társítva a gépnévhez�Nincs találat�Nincs megelÅ‘zÅ‘ szabályos kifejezés�Helyreállíthatatlan névfeloldási hiba�RENDBEN�Csak egy karakterlánc adható meg az ismétlések összenyomása nélküli törlésnél.�Rendezési lehetÅ‘ségek: �Egyéb kapcsolók: �Kiírja a megfelelÅ‘ shell parancsot az LS_COLOR környezeti változó beállításához. Kimeneti formátum megállapítása -b, --sh, --bourne-shell Bourne shell kód az LS_COLORS beállításához -c, --csh, --c-shell C shell kód az LS_COLORS beállításához -p, --print-data-base alapértelmezés kiírása �PlatformfüggÅ‘ korlátok kiírása shell parancsfájlok számára hasznos formátumban. �Kiírja, hogy a FÃJL szerint ki van bejelentkezve. Ha a FÃJL nincs megadva, akkor a %s fájlt használja. A %s használata általános �PID�Csomagolta: %s �Csomagolta: %s (%s) �Padraig Brady�A paraméter-karakterlánc kódolása nem megfelelÅ‘�Paul Eggert�Paul Rubin�Pete TerMaat�Terv: �Tápfeszültség-kimaradás�A szabályos kifejezés túl korán véget ért�Az ARGUMENTUMOK kiírása a FORMÃTUMNAK megfelelÅ‘en vagy végrehajtásuk a KAPCSOLÓNAK megfelelÅ‘en: �Minden egyes FÃJL CRC ellenÅ‘rzőösszegének és bájtjai számának kiírása. �Bizonyos rendszerinformációkat ír ki. KAPCSOLÓ nélkül ugyanaz, mint a -s. -a, --all az össze információ kiírása a következÅ‘ sorrendben: kivéve a -p és -i kihagyását, ha ismeretlenek: -s, --kernel-name a kernel nevének kiírása -n, --nodename a hálózati csomópont gépnevének kiírása -r, --kernel-release a kernel kiadásának kiírása �Minden egyes FÃJLHOZ ellenÅ‘rzőösszeg és blokkszámok kiírása. -r a BSD sum algoritmus és 1K blokkok használata -s, --sysv a System V sum algoritmus és 512 bájtos blokkok használata �A FELHASZNÃLÓNÉV, vagy ha nincs megadva FELHASZNÃLÓNÉV, akkor az aktuális folyamat csoporttagságainak kiírása (ez eltérhet, ha a csoportadatbázis módosult). �Információk kiírása az éppen bejelentkezett felhasználókról. �A gép architektúrájának kiírása. �Új sor, szó- és bájtszámokat ír ki minden egyes FÃJLHOZ, és a sorok számának összesítését, ha több FÃJL van megadva. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. A szó egy nem nulla hosszú karaktersorozat, amelyet üres hely karakterek határolnak. Az alábbi kapcsolókkal kiválaszthatók a kinyomtatandó számok, mindig a következÅ‘ sorrendben: újsor, szó, karakter, bájt, maximális sorhossz. -c, --bytes a bájtok számának kiírása -m, --chars a karakterek számának kiírása -l, --lines az új sorok számának kiírása �Az aktuális idÅ‘, a rendszer futásidejének, a rendszer felhasználói számának és a futási sorban található feladatok átlagos számának kiírása az elmúlt 1, 5 és 15 percre vonatkozóan.�A szabványos bemenetre kapcsolt terminál fájlnevének kiírása. -s, --silent, --quiet nem ír ki semmit, csak a kilépési állapotot adja vissza �Az aktuális munkakönyvtár teljes fájlnevének kiírása. �Az aktuális felhasználó nevének kiírása. �Az aktuális folyamat által elérhetÅ‘ feldolgozóegységek számának kiírása ez kisebb lehet az elérhetÅ‘ processzorok számánál �Kiírja az összes megadott egész SZÃM prímtényezÅ‘it. Ha nincsenek argumentumok megadva a parancssorban, akkor a szabványos bemenetrÅ‘l kerülnek beolvasásra. �A feloldott abszolút fájlnév kiírása az utolsó összetevÅ‘ kivételével mindnek léteznie kell �Az aktuális hatásos felhasználói azonosítóhoz társított felhasználónév kiírása. Ugyanaz, mint az id -un. �Információk kiírása a FELHASZNÃLÓNÉVRÅL vagy (ennek hiányában) az aktuális felhasználóról. -a figyelmen kívül marad, a más verziókkal való kompatibilitáshoz -Z, --context csak a jelenlegi felhasználó biztonsági kontextusának kiírása -g, --group csak a hatásos csoportazonosító kiírása -G, --groups az összes csoportazonosító kiírása -n, --name egy név kiírása egy szám helyett, az -ugG kapcsolókhoz -r, --real a valódi azonosító kiírása a hatásos helyett, az -ugG kapcsolókkal -u, --user csak a hatásos felhasználói azonosító kiírása �Egy szimbolikus link vagy kanonikus fájlnév értékének megjelenítése �Kérés feldolgozása folyamatban�A profilozási idÅ‘zítÅ‘ lejárt�Projekt: �Q. Frank Xia�Kilépés�Randy Smith�Valós idejű szignál %d�A szabályos kifejezés túl nagy�Törli a KÖNYVTÃRAKAT, ha ezek üresek. --ignore-fail-on-non-empty figyelmen kívül hagyja a hibákat, amelyek egyetlen oka, hogy a könyvtár nem üres �A(z) %s hibái a(z) %s címen jelenthetÅ‘k. �A(z) %s fordítási hibái a <http://translationproject.org/team/hu.html> címen jelenthetÅ‘k. �Kérés megszakítva�A kérés nem lett megszakítva�ErÅ‘forrás elveszítve�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�A PARANCS futtatása a gyökérkönyvtár ÚJGYÖKÉRRE állításával. �A PARANCS futtatása a hangup szignálok figyelmen kívül hagyásával. �Russell Coker�Scott Bartram�Scott Miller�Szegmentálási hiba�A Servname nem támogatott az ai_socktype-hoz�Ãllítsa be az LC_ALL='C' környezeti változót a probléma megkerüléséhez.�ParancsértelmezÅ‘: �Simon Josefsson�Méret�Speciális fájlok létrehozásakor meg kell adni major és minor eszközszámokat.�Veremhiba�Leállítva�Leállítva (szignál)�Leállítva (tty bemenet)�Leállítva (tty kimenet)�Stuart Kemp�Sikerült�Rendszerhiba�IDÅ�Ãtmeneti névfeloldási hiba�BefejezÅ‘dött�Az összehasonlított karakterláncok: %s és %s.�Torbjorn Granlund�Nyomkövetési/töréspont csapda�Záró visszaper�Karakterek fordítása, összenyomása és/vagy törlése a szabványos bemenetrÅ‘l és kiírás a szabványos kimenetre. -c, -C, --complement a HALMAZ1 komplemensének használata -d, --delete a HALMAZ1 karaktereinek törlése, nincs fordítás -s, --squeeze-repeats a HALMAZ1-ben felsorolt karakterek ismétlÅ‘dÅ‘ bemeneti sorozatainak helyettesítése a karakter egyetlen elÅ‘fordulásával -t, --truncate-set1 a HALMAZ1 csonkítása a HALMAZ2 hosszára �Két karakterláncot kell megadni az ismétlések egyidejű törlésekor és összenyomásakor.�Fordításkor meg kell adni két karakterláncot.�Típ.�Ulrich Drepper�Ismeretlen hiba�Ismeretlen szignál %d�Ismeretlen rendszerhiba�Pár nélküli ( vagy \(�Pár nélküli ) vagy \)�Pár nélküli [ vagy [^�Pár nélküli \{�SürgÅ‘s I/O feltétel�Használat: %s �Használat: %s PARANCS [ARG]… vagy: %s KAPCSOLÓ �Használat: %s KONTEXTUS PARANCS [argumentumok] vagy: %s [ -c ] [-u FELHASZNÃLÓ] [-r SZEREP] [-t TÃPUS] [-l TARTOMÃNY] PARANCS [argumentumok] �Használat: %s KIFEJEZÉS vagy: %s KAPCSOLÓ �Használat: %s FÃJL vagy: %s KAPCSOLÓ �Használat: %s FÃJL1 FÃJL2 vagy: %s KAPCSOLÓ �Használat: %s FORMÃTUM [ARGUMENTUM]… vagy: %s KAPCSOLÓ �Használat: %s KAPCSOLÓ… PARANCS �Használat: %s KAPCSOLÓ… FÃJL… �Használat: %s KAPCSOLÓ… [FÃJL]… �Használat: %s [-F ESZKÖZ | --file=ESZKÖZ] [BEÃLLÃTÃS]… vagy: %s [-F ESZKÖZ | --file=ESZKÖZ] [-a|--all] vagy: %s [-F ESZKÖZ | --file=ESZKÖZ] [-g|--save] �Használat: %s [-SZÉLESSÉG] [KAPCSOLÓ]… [FÃJL]… �Használat: %s [-s SZIGNÃL | -SZIGNÃL] PID… vagy: %s -l [SZIGNÃL]… vagy: %s -t [SZIGNÃL]… �Használat: %s [FÃJL]… vagy: %s [KAPCSOLÓ] �Használat: %s [NÉV] vagy: %s KAPCSOLÓ Az aktuális rendszer gépnevének kiíratása vagy beállítása. �Használat: %s [SZÃM]… vagy: %s KAPCSOLÓ �Használat: %s [OPERANDUS]… vagy: %s KAPCSOLÓ �Használat: %s [KAPCSOLÓ] �Használat: %s [KAPCSOLÓ] Kiírja az aktuális gép numerikus (hexadecimális) azonosítóját. �Használat: %s [KAPCSOLÓ] IDÅTARTAM PARANCS [ARGUMENTUM]… vagy: %s [KAPCSOLÓ] �Használat: %s [KAPCSOLÓ] ÚJGYÖKÉR [PARANCS [ARGUMENTUM]…] vagy: %s KAPCSOLÓ �Használat: %s [KAPCSOLÓ] [PARANCS [ARG]…] �Használat: %s [KAPCSOLÓ] [FÃJL] Teljesen rendezett lista kiírása a FÃJLBAN található részleges rendezéssel összhangban. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. �Használat: %s [KAPCSOLÓ]… �Használat: %s [KAPCSOLÓ]… KONTEXTUS FÃJL… vagy: %s [KAPCSOLÓ]… [-u FELHASZNÃLÓ] [-r SZEREP] [-l TARTOMÃNY] [-t TÃPUS] FÃJL… vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL… �Használat: %s [KAPCSOLÓ]… KÖNYVTÃR… �Használat: %s [KAPCSOLÓ]… FÃJL MINTA… �Használat: %s [KAPCSOLÓ]… FÃJL… �Használat: %s [KAPCSOLÓ]… FÃJL1 FÃJL2 �Használat: %s [KAPCSOLÓ]… CSOPORT FÃJL… vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL… �Használat: %s [KAPCSOLÓ]… UTOLSÓ vagy: %s [KAPCSOLÓ]… ELSÅ UTOLSÓ vagy: %s [KAPCSOLÓ]… ELSÅ NÖVEKMÉNY UTOLSÓ �Használat: %s [KAPCSOLÓ]… MÓD[,MÓD]… FÃJL… vagy: %s [KAPCSOLÓ]… OKTÃLIS-MÓD FÃJL… vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL… �Használat: %s [KAPCSOLÓ]… NÉV TÃPUS [MAJOR MINOR] �Használat: %s [KAPCSOLÓ] NÉV… �Használat: %s [KAPCSOLÓ]… HALMAZ1 [HALMAZ2] �Használat: %s [KAPCSOLÓ]… [ FÃJL | ARG1 ARG2 ] �Használat: %s [KAPCSOLÓ]… [+FORMÃTUM] vagy: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Használat: %s [KAPCSOLÓ]… [-T] FORRÃS CÉL vagy: %s [KAPCSOLÓ]… FORRÃS… KÖNYVTÃR vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR FORRÃS… �Használat: %s [KAPCSOLÓ]… [-T] FORRÃS CÉL vagy: %s [KAPCSOLÓ]… FORRÃS… KÖNYVTÃR vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR FORRÃS… vagy: %s [KAPCSOLÓ]… -d KÖNYVTÃR… �Használat: %s [KAPCSOLÓ]… [-T] CÉL LINK_NEVE (1. alak) vagy: %s [KAPCSOLÓ]… CÉL (2. alak) vagy: %s [KAPCSOLÓ]… CÉL… KÖNYVTÃR (3. alak) vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR… CÉL… (4. alak) �Használat: %s [KAPCSOLÓ]… [-] [NÉV=ÉRTÉK]… [PARANCS [ARG]…] �Használat: %s [KAPCSOLÓ]… [FÃJL] �Használat: %s [KAPCSOLÓ]… [FÃJL] vagy: %s -e [KAPCSOLÓ]… [ARG]… vagy: %s -i LO-HI [KAPCSOLÓ]… �Használat: %s [KAPCSOLÓ]… [FÃJL]… �Használat: %s [KAPCSOLÓ]… [FÃJL]… vagy: %s [-abcdfilosx]… [FÃJL] [[+]ELTOLÃS[.][b]] vagy: %s --traditional [KAPCSOLÓ]… [FÃJL] [[+]ELTOLÃS[.][b] [+][CÃMKE][.][b]] �Használat: %s [KAPCSOLÓ]… FÃJL… vagy: %s [KAPCSOLÓ]… --files0-from=F �Használat: %s [KAPCSOLÓ]… [FÃJL]… %s (%d bites) ellenÅ‘rzőösszegek kiírása vagy ellenÅ‘rzése. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa. �Használat: %s [KAPCSOLÓ]… [BEMENET [KIMENET]] �Használat: %s [KAPCSOLÓ]… [BEMENET [ELÅTAG]] �Használat: %s [KAPCSOLÓ]… [BEMENET]… (-G nélkül) vagy: %s -G [KAPCSOLÓ]… [BEMENET [KIMENET]] �Használat: %s [KAPCSOLÓ]… [TULAJDONOS] [:[CSOPORT] FÃJL… vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL… �Használat: %s [KAPCSOLÓ]… [SABLON] �Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓNÉV] �Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓNÉV]… �Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓ]… �Használat: %s [KAPCSOLÓ]… [VÃLTOZÓ]… A megadott környezeti VÃLTOZÓK értékeinek kiírása. Ha nincs megadva környezeti VÃLTOZÓ, akkor az összes név-érték párt kiírja. �Használat: %s [RÖVID KAPCSOLÓ]… FELHASZNÃLÓ PARANCS [ARGUMENTUM]… vagy: %s HOSSZÚ KAPCSOLÓ �Használat: %s [RÖVID-KAPCSOLÓ]… [KARAKTERLÃNC]… vagy: %s HOSSZÚ-KAPCSOLÓ �Használat: %s [KARAKTERLÃNC]… vagy: %s KAPCSOLÓ �Használat: %s [figyelmen kívül hagyott parancssori argumentumok] vagy: %s KAPCSOLÓ �Használat: test KIFEJEZÉS vagy: test vagy: [ KIFEJEZÉS ] vagy: [ ] vagy: [ KAPCSOLÓ �Fo.%�Fogl.�Felhasználói szignál 1�Felhasználói szignál 2�Az érvényes argumentumok a következÅ‘k:�Az érvényes argumentumok a következÅ‘k: �Az érvényes formátumsorozatok fájlrendszerekhez: %a a nem rendszergazda számára elérhetÅ‘ szabad blokkok %b adatblokkok összesen a fájlrendszeren %c fájlcsomópontok összesen a fájlrendszeren %d szabad fájlcsomópontok a fájlrendszeren %f szabad blokkok a fájlrendszeren �Virtuális idÅ‘zítés lejárt�FIGYELMEZTETÉS: körkörös könyvtárszerkezet. Ez majdnem biztosan azt jelenti, hogy a fájlrendszer sérült. ÉRTESÃTSD A RENDSZERGAZDÃT. A következÅ‘ könyvtár része a körnek: %s �FIGYELMEZTETÉS: a --context (-Z) figyelmen kívül marad; ez a rendszermag nem SELinux-képes.�FIGYELMEZTETÉS: a --preserve-context figyelmen kívül marad; ez a rendszermag nem SELinux-képes.�FIGYELMEZTETÉS: a --strip-program kapcsoló figyelmen kívül marad, mivel a -s kapcsoló nincs megadva�Figyelmeztetés: �Mikor�Hol�Ablakméret változott�A --follow (-f) kapcsolóval a tail alapértelmezésben a fájlleírót követi, ez azt jelenti, hogy a tail a fájl végét még a fájl átnevezése után is követi. Ez az alapértelmezett viselkedés nem fogadható el, ha valójában a fájlnevet és nem a fájlleírót akarja követni (például naplóforgatás esetén). Ebben az esetben használja a --follow=name kapcsolót. Ennek hatására a tail a megadott nevű fájlt úgy követi, hogy az átnevezést, eltávolítást és létrehozást kezelje. �Ãrta %s és %s. �Ãrta %s, %s, %s, %s, %s, %s, %s, %s, %s, és mások. �Ãrta %s, %s, %s, %s, %s, %s, %s, %s, és %s. �Ãrta %s, %s, %s, %s, %s, %s, %s, és %s. �Ãrta %s, %s, %s, %s, %s, %s, és %s. �Ãrta %s, %s, %s, %s, %s, és %s. �Ãrta %s, %s, %s, %s, és %s. �Ãrta %s, %s, %s, és %s. �Ãrta %s, %s, és %s. �Ãrta %s. �[=c=] kifejezések nem jelenhetnek meg a 2. karakterláncban fordításkor�^ nincs illeszkedés a kulcsra �^[nN]�^[iIyY]�â€�meg kell adni egy parancsot a módosítással�az ai_family nem támogatott�az ai_socktype nem támogatott�a(z) „%s†argumentum nem egyértelmű a következÅ‘höz: „%sâ€�bemeneti elhatároló csak mezÅ‘kön való működés esetén adható meg�kimenet hozzáfűzése a következÅ‘höz: %s�%s biztonsági mentése megsemmisítené a forrást; %s nem került másolásra�%s biztonsági mentése megsemmisítené a forrást; %s nem került áthelyezésre�biztonsági mentés típusa�speciális blokkfájl�a speciális blokkfájl nem támogatott�blokk�mindkét fájl nem lehet a szabványos bemenet�a(z) %s bájteltolás túl nagy�nem alkalmazható részleges kontextus a(z) %s nem címkézett fájlra�a kontextus nem dolgozható fel�%s nem érhetÅ‘ el�%s biztonsági mentése sikertelen�nem lehet egyszerre összesítést kérni és minden bejegyzést megjeleníteni�%s tulajdonosa nem változtatható meg�nem lehet %s jogosultságait megváltoztatni�a gyökérkönyvtár nem váltható át a következÅ‘re: %s�nem lehet a következÅ‘ könyvtárba lépni: %s�nem lehet a gyökérkönyvtárba lépni�A --target-directory (-t) és a --no-target-directory (-T) nem kombinálhatók�a --target-directory és a --no-target-directory nem használhatók együtt�a -e és -i kapcsolók nem kombinálhatók�az {ascii,ebcdic,ibm} közül csak egy adható meg egyszerre�a block és az unblock nem adható meg egyszerre�a direct és a nocache nem adható meg egyszerre�az excl és a nocreat nem adható meg egyszerre�az lcase és az ucase nem adható meg egyszerre�a mód és a --reference kapcsolók nem kombinálhatók�a szignál nem kombinálható a -l vagy -t kapcsolóval�%s és %s fájlnevek nem hasonlíthatók össze�nem lehet helyi karakterkészletbe átalakítani a következÅ‘t: U+%04X�nem lehet a(z) U+%04X-t helyi karakterkészletbe átalakítani: %s�%s könyvtárat nem lehet saját magába (%s) másolni�%s körkörös szimbolikus link nem másolható�nem lehet a következÅ‘ könyvtárat létrehozni: %s�%s fifo nem hozható létre�%s hard link nem hozható létre a következÅ‘re: %s�%s link nem hozható létre a következÅ‘re: %s�%s reguláris fájl nem hozható létre�%s speciális fájl nem hozható létre�%s szimbolikus link nem hozható létre�%s szimbolikus link nem hozható létre a következÅ‘re: %s�nem hozható létre ideiglenes fájl itt: %s�%s nem követhetÅ‘�%s eszközét és inode-ját nem lehet megállapítani�a gépnév nem határozható meg�%s helye nem határozható meg, visszatérés a lekérdezésre�nem végezhetÅ‘ ioctl a következÅ‘n: %s�nem található a név a(z) %lu csoportazonosítóhoz�%s nem követhetÅ‘ név szerint�a cél kontextusa nem kényszeríthetÅ‘ a következÅ‘re: %s és nem és Å‘rizhetÅ‘ meg�fstat %s sikertelen�aktuális könyvtár beolvasása sikertelen�a hatásos csoportazonosító nem kérhetÅ‘ le�a hatásos felhasználóazonosító nem kérhetÅ‘ le�nem kérhetÅ‘ le a nice érték�a valódi csoportazonosító nem kérhetÅ‘ le�a valódi felhasználóazonosító nem kérhetÅ‘ le�nem kérhetÅ‘ le a rendszer neve�%s mérete nem kérhetÅ‘ le�lseek %s sikertelen�nem lehet egyszerre hard linket és szimbolikus linket létrehozni�%s könyvtár nem hozható létre�%s-t nem lehet ide áthelyezni: %s�%s-t nem lehet egy saját alkönyvtárába (%s) áthelyezni�a könyvtárat nem lehet nem könyvtárba áthelyezni: %s -> %s�%s nem nyitható meg olvasásra�%s nem nyitható meg olvasásra�nem lehet a következÅ‘ könyvtárat megnyitni: %s�nem lehet dolgozni a(z) %s törött szimbolikus linken�%s könyvtárat nem írható felül nem könyvtárral�%s nem könyvtár; nem írható felül %s könyvtárral�a formázott kiírás nem hajtható végre�a kiterjesztett attribútumok nem Å‘rizhetÅ‘k meg, a cp xattr támogatás nélkül készült�a biztonsági kontextus nem Å‘rizhetÅ‘ meg SELinux-képes rendszermag nélkül�nem írható ki „csak†több választás�csak nevek vagy valódi azonosítók nem írhatók ki az alapértelmezett formátumban�a biztonsági kontextus nem írható ki, ha meg van adva felhasználó�a következÅ‘ könyvtár nem olvasható: %s�nem olvashatók fájlnevek a következÅ‘bÅ‘l: %s�nem lehet fájlrendszer-információkat beolvasni a következÅ‘höz: %s�a valósidejű óra nem olvasható�%s szimbolikus link nem olvasható�a csatolt fájlrendszerek táblája nem olvasható�%s nem törölhetÅ‘�nem törölhetÅ‘ a következÅ‘ könyvtár: %s�nem lehet újrapozicionálni %s fájlmutatóját�a(z) %s nem futtatható�%s nem állítható be�nem állítható be a dátum�a csoportazonosító nem állítható be a következÅ‘re: %lu�a gépnév nem állítható be; ebbÅ‘l a rendszerbÅ‘l hiányzik ez a funkcionalitás�a név nem állítható be a következÅ‘re: %s�nem állítható be a nice érték�%s idÅ‘bélyegei nem állíthatók be�a felhasználói azonosító nem állítható be a következÅ‘re: %lu�nem lehet a kombinált bemenet elhagyott végére ugrani�a --null (-0) nem adható meg paranccsal együtt�nem adható meg mind a vízszintes, mind a párhuzamos nyomtatás�nem adható meg az oszlopok száma párhuzamos nyomtatás esetén�az idÅ‘k nem adhatók meg több forrásból�egynél több módon nem lehet darabolni�stat %s sikertelen�nem lehet az aktuális könyvtárat elérni (most %s)�a szabványos bemenet nem érhetÅ‘ el�%s elérése sikertelen�%s biztonsági mentése nem állítható vissza�%s törlése sikertelen�%s nem törölhetÅ‘�%s nem figyelhetÅ‘�nem lehet %s szülÅ‘könyvtárát figyelni�a kernelhiba nem kerülhetÅ‘ meg�%s csoportja megváltoztatva errÅ‘l: %s erre: %s �%s tulajdonosa megváltoztatva errÅ‘l: %s erre: %s �%s csoportjának megváltoztatása�%s tulajdonosának megváltoztatása�%s jogosultságainak megváltoztatása�%s biztonsági kontextusának megváltoztatása �karaktereltolás nulla�tartományon kívüli karakter�speciális karakterfájl�a speciális karakterfájl nem támogatott�%s jogosultságainak törlése�óraváltozás�a lezárás meghiúsult�%s lezárása (fd=%d)�%s könyvtár bezárása�%s bemeneti fájl lezárása�bemeneti adatcsatorna lezárása�%s kimeneti fájl lezárása�kimeneti adatcsatorna lezárása�korábbi adatcsatorna bezárása�a szabványos bemenet lezárása�a kompatibilitási mód legfeljebb egy fájlt támogat�ütközÅ‘ üres-mezÅ‘ helyettesítési karakterlánc�ütközÅ‘ biztonságikontextus-meghatározót adott meg�nem állítható be %s pufferelése %s módra �nem hozható létre folyamat a következÅ‘höz: %s -d�nem hozható létre ideiglenes fájl�nem hajtható végre: %s�nem hajtható végre: %s -d�nem található megegyezÅ‘ i-node-dal rendelkezÅ‘ könyvtárbejegyzés a következÅ‘ben: %s�a rendszerindítás ideje nem kérhetÅ‘ le�%s könyvtár létrejött�%s könyvtár létrehozása�%s fájl létrehozása �az elválasztólista nem escapelt visszaperre végzÅ‘dik: %s�könyvtár�osztás nullával�a dup2 meghiúsult�üres %s nem engedélyezett�üres fájlnév�üres tab�hiba a fájl lezárásakor�hiba a szabályos kifejezés illesztésében�hiba a szabályos kifejezés keresésében�hiba a hónap karakterláncok elÅ‘készítésekor�hiba az inotify esemény figyelésekor�hiba %s olvasása közben�hiba az inotify esemény olvasásakor�hiba a parancsra várakozás közben�hiba %s írása közben�végrehajtás a FÃJL=%s használatával �kilép=�extra argumentum: %s�extra operandus: „%sâ€�a(z) %s extra operandus nem engedélyezett a -%c kapcsolóval�%s kanonikalizálása meghiúsult�%s kontextusának megváltoztatása meghiúsult a következÅ‘re: %s�%s csoportjának megváltoztatása sikertelen errÅ‘l: %s erre: %s �%s csoportjának megváltoztatása sikertelen a következÅ‘re: %s �%s jogosultságainak megváltoztatása sikertelen errÅ‘l: %04lo (%s) erre: %04lo (%s) �%s tulajdonosának megváltoztatása meghiúsult �%s tulajdonosának megváltoztatása sikertelen errÅ‘l: %s erre: %s �%s tulajdonosának megváltoztatása sikertelen a következÅ‘re: %s �a következÅ‘ könyvtárba lépés meghiúsult: %s�%s klónozása meghiúsult innen: %s�a bemeneti adatcsatorna bezárása meghiúsult�az új kontextus kiszámítása meghiúsult�a könyvtár létrehozása meghiúsult a következÅ‘ sablon használatával: %s�a fájl létrehozása meghiúsult a következÅ‘ sablon használatával: %s�%s hard link nem hozható létre�%s -> %s hard link nem hozható létre�hard link létrehozása meghiúsult a következÅ‘re: %.0s%s�az adatcsatorna létrehozása meghiúsult�a biztonsági kontextus létrehozása meghiúsult: %s�%s szimbolikus link létrehozása meghiúsult�%s -> %s szimbolikus link nem hozható létre�nem hozható létre ideiglenes fájl itt: %s�a következÅ‘ gyorsítótárának eldobása meghiúsult: %s�%s kiterjesztése meghiúsult�%s keresése meghiúsult�%s attribútumainak beolvasása sikertelen�a jelenlegi kontextus lekérése meghiúsult�a fájlrendszer létrehozási kontextusának lekérése meghiúsult�a jelenlegi folyamat csoportjainak lekérése meghiúsult�%s felhasználó csoportjainak lekérése meghiúsult�%s biztonsági kontextusának lekérése meghiúsult�%s fájl kikeresése meghiúsult�%s megnyitása meghiúsult�%s megnyitása olvasásra meghiúsult�%s megnyitása írásra meghiúsult�%s szerzÅ‘jének megtartása meghiúsult�%s tulajdonosának megtartása meghiúsult�%s jogosultságainak megtartása sikertelen�%s idÅ‘inek megtartása meghiúsult�a szabványos hibakimenet átirányítása meghiúsult�a szabványos hibakimenet átirányítása meghiúsult a /dev/null-ba�%s eltávolítása meghiúsult�a(z) %s könyvtár eltávolítása meghiúsult�a szabványos hibakimenet használhatatlanná tétele meghiúsult�%s újranyitása %s móddal meghiúsult�az alapértelmezett fájllétrehozási kontextus visszaállítása meghiúsult�a visszatérés meghiúsult a kiinduló munkakönyvtárba�az adatfolyam visszaállítása meghiúsult erre: %s�a(z) %s parancs futtatása meghiúsult�a parancs futtatása meghiúsult: „%s -c %sâ€�a(z) %s biztonsági kontextus összetevÅ‘jének beállítása meghiúsult a következÅ‘re: %s�a FÃJL környezeti változó beállítása meghiúsult�a további csoportok beállítása meghiúsult�az alapértelmezett fájllétrehozási kontextus beállítása meghiúsult a következÅ‘re: %s�a csoportazonosító beállítása meghiúsult�%s új tartomány beállítása meghiúsult�%s új szerep beállítása meghiúsult�%s új típus beállítása meghiúsult�%s új felhasználó beállítása meghiúsult�a kiegészítÅ‘ csoportok beállítása meghiúsult�a szabványos hibakimenet másolatának beállítása meghiúsult „bezárás végrehajtáskor†módra�%s biztonsági kontextusának beállítása meghiúsult a következÅ‘re: %s�a felhasználói azonosító beállítása meghiúsult�%s elérése meghiúsult�az O_DIRECT kikapcsolása meghiúsult: %s�a környezet frissítése meghiúsult a következÅ‘vel: %s�az fdatasync meghiúsult a következÅ‘höz: %s�az fflush meghiúsult�a(z) %s mezÅ‘szám túl nagy�a mezÅ‘szám nulla�a mezÅ‘k és pozíciók számozása 1-tÅ‘l kezdÅ‘dik�fifo�a(z) %d. fájl nincs rendezve�a fájloperandusok nem kombinálhatók a --files0-from kapcsolóval�a fájloperandusok nem kombinálhatók a --print-database (-p) kapcsolóval.�%s típusú fájlrendszer ki is van jelölve, de figyelmen kívül is van hagyva�a fork() rendszerhívás sikertelen�a formátum (%s) vége %%�a formátum (%s) nem tartalmaz %% direktívát�a formátum (%s) túl sok %% direktívát tartalmaz�a formátum (%s) ismeretlen %%%c direktívát tartalmaz�a formátum-karakterlánc nem használható egyenlÅ‘ szélességű karakterláncok kiírásakor�az fsync meghiúsult a következÅ‘höz: %s�a fts_close hívás meghiúsult�az fts_read sikertelen�az fts_read sikertelen: %s�%s új attribútumainak beolvasása�%s csoportja maradt %s �az iconv függvény nem érhetÅ‘ el�az iconv függvény nem használható�id=�minden argumentum figyelmen kívül marad�bemenet figyelmen kívül hagyása�bemenet figyelmen kívül hagyása és kimenet hozzáfűzése a következÅ‘höz: %s�bemenet figyelmen kívül hagyása és a szabványos hibakimenet átirányítása a szabványos kimenetre�a TABSIZE környezeti változóban megadott érvénytelen tabulátorméret figyelmen kívül hagyása: %s�a QUOTING_STYLE környezeti változóban megadott érvénytelen érték figyelmen kívül hagyása: %s�a COLUMNS környezeti változóban megadott érvénytelen szélesség figyelmen kívül hagyása: %s�a nem kapcsoló argumentumok figyelmen kívül hagyva�inkompatibilis összekapcsolási mezÅ‘k: %lu, %lu�nem kompatibilis tabok�az inotify nem használható, visszatérés a lekérdezésre�az inotify-erÅ‘források elfogytak�a bemenet eltűnt�a bemeneti sor túl hosszú�eszközközi áthelyezés sikertelen: %s --> %s; cél törlése sikertelen�érvénytelen %s%s argumentum: „%sâ€�érvénytelen --%s argumentum: %s�érvénytelen módosítás: %s�érvénytelen argumentum: %s�a(z) %s argumentum érvénytelen a következÅ‘höz: %s�érvénytelen törzsszámozási stílus: %s�a pufferelési mód (%s) a következÅ‘höz: %s �érvénytelen karakterosztály: %s�érvénytelen kontextus: %s�érvénytelen átalakítás�az utótagból hiányzik az átalakítás meghatározása: %c�az utótagból hiányzik az átalakítás meghatározása: \%.3o�érvénytelen dátum: %s�érvénytelen dátumformátum: %s�érvénytelen csökkenÅ‘ tartomány�érvénytelen eszköz %s %s�érvénytelen eszköztípus: %s�érvénytelen mezÅ‘szám: %s�érvénytelen mezÅ‘meghatározás: %s�érvénytelen mezÅ‘szélesség: %s�érvénytelen mezÅ‘szám a mezÅ‘specifikációban: %s�érvénytelen jelzÅ‘k a konverziós specifikációban: %%%c%c�érvénytelen lebegÅ‘pontos argumentum: %s�érvénytelen láblécszámozási stílus: %s�érvénytelen résszélesség: %s�érvénytelen csoport�érvénytelen csoport: %s�érvénytelen csoportlista: %s�érvénytelen csoport: %s�érvénytelen fejlécszámozási stílus: %s�érvénytelen bemenet�érvénytelen bemeneti jelölÅ‘�érvénytelen bemeneti tartomány: %s�érvénytelen egész: %s�érvénytelen egész argumentum: %s�érvénytelen sorszám: %s�érvénytelen vonalmódszer: %s�érvénytelen sorszámmezÅ‘ szélesség: %s�érvénytelen sorszámnövekmény: %s�érvénytelen sorszámozási formátum: %s�érvénytelen sorhossz: %s�érvénytelen major eszközszám: %s�érvénytelen maximális mélység: %s�érvénytelen minor eszközszám: %s�érvénytelen mód�érvénytelen mód: %s�érvénytelen mód: %s�érvénytelen szám: %s�érvénytelen szám a mezÅ‘ kezdeténél�érvénytelen üressorszám: %s�érvénytelen bájtszám�az összehasonlítandó bájtok száma érvénytelen�a kihagyandó bájtok száma érvénytelen�érvénytelen oszlopszám: %s�a kihagyandó mezÅ‘k száma érvénytelen�érvénytelen sorszám�érvénytelen kapcsoló -- %c�a(z) -- %c kapcsoló érvénytelen; a -WIDTH csak akkor ismerhetÅ‘ fel, ha az az elsÅ‘ kapcsoló; használja helyette a -w N kapcsolót�érvénytelen kimeneti jelölÅ‘�érvénytelen oldaltartomány: %s�érvénytelen pontosság: %s�érvénytelen tartomány végpont nélkül: -�%s ismétlési szám érvénytelen a [c*n] szerkezetben�érvénytelen meghatározás�érvénytelen kezdÅ‘sorszám: %s�érvénytelen állapotjelölÅ‘�a(z) %s utótag érvénytelen, könyvtárelválasztót tartalmaz�érvénytelen utótag a(z) %s%s argumentumban: „%sâ€�érvénytelen tabulátorméret: %s�érvénytelen sablon, a(z) %s könyvtárelválasztót tartalmaz�érvénytelen sablon, a(z) %s a --tmpdir használatakor nem lehet abszolút�érvénytelen idÅ‘tartam: %s�érvénytelen idÅ‘formátum stílus: %s�érvénytelen bevezetÅ‘ kapcsoló -- %c�érvénytelen típus-karakterlánc: %s�érvénytelen típus-karakterlánc: %s ez a rendszer nem biztosít %lu bájtos lebegÅ‘pontos típust�érvénytelen típus-karakterlánc: %s ez a rendszer nem biztosít %lu bájtos egész típust�érvénytelen univerzális karakternév: \%c%0*x�érvénytelen felhasználó�érvénytelen felhasználó: %s�érvénytelen szélesség: %s�érvénytelen sortörésméret: %s�érvénytelen nulla hosszúságú fájlnév�veszélyes rekurzívan dolgozni a következÅ‘n: %s�veszélyes rekurzívan dolgozni a következÅ‘n: %s (ugyanaz, mint %s)�a(z) %lu. kulcs nulla hosszú és figyelmen kívül marad�a(z) %lu. kulcs numerikus és több mezÅ‘be is átnyúlik�utolsó=�a(z) %1$lu korlát átlépve a(z) %3$s fájlnév %2$lu hossza által�a(z) %1$lu korlát átlépve a(z) %3$s fájlnévösszetevÅ‘ %2$lu hossza által�a szabványos bemenet sorpufferelése értelmetlen�a -%s%c… sorszámolási kapcsoló túl nagy�a(z) %s sorszám kisebb, mint a megelÅ‘zÅ‘ sorszám (%s)�sorszámtúlcsordulás�a minimális --%s argumentum a jelenlegi rlimittel: %s�elfogyott a memória�a memóriát elfogyasztotta a %zu bájt hosszú bemeneti puffer (%s)�a memóriát elfogyasztotta a %zu bájt hosszú kimeneti puffer (%s)�üzenetsor�a minimális --%s argumentum: %s�hibásan igazított [:upper:] és/vagy [:lower:] szerkezet�az utótagból hiányzik a %% átalakítási meghatározás�a(z) %s utáni argumentum hiányzik�a(z) %s argumentuma hiányzik�az utótagból hiányzik az átalakítás meghatározása�hiányzik a célfájl-operandus a következÅ‘ után: %s�hiányzó fájloperandus�hiányzó hexadecimális érték az escape-ben�a mezÅ‘lista hiányzik�a pozíciólista hiányzik�hiányzó operandus�a(z) „%s†operandusa hiányzik�a mód csak fájljogosultságbiteket adhat meg�%s jogosultságai megváltoztatva errÅ‘l: %04lo (%s) erre: %04lo (%s) �%s jogosultsága a következÅ‘ maradt: %04lo (%s) �bemeneti adatcsatorna mozgatása�többkarakteres tab: %s�több -i kapcsolót adott meg�több -l vagy -t kapcsolót adott meg�több tömörítÅ‘program van megadva�több -elválasztót adott meg�több szinttartomány�több kimeneti fájl van megadva�több kimeneti formátum van megadva�több véletlen forrás van megadva�több relatív módosító van megadva�több szerep�több kimeneti célkönyvtár van megadva�több típus�több felhasználó�a szimbolikus link (%s) és az általa hivatkozott fájl egyaránt változatlan �nincs SHELL változó beállítva és nem adtad meg a shell típusát�%s tulajdonosa nem változott meg �nincs megadva parancs�nem került feldolgozásra fájlrendszer�nem maradtak fájlok�nincs bemenet ebbÅ‘l: %s�nincs bejelentkezési név�nincs megadva folyamatazonosító�nem adható meg típus karakterláncok kiíratásakor�nincs megadva felhasználói név; legalább egyet meg kell adni a -l használatakor�nem egész argumentum�nem hordozható karakter (%s) a(z) %s fájlnévben�nem tty�nincs írás a(z) %s törött szimbolikus linken keresztül�a szám túl nagy a következÅ‘ben: %s�a párhuzamos rendezések száma nem lehet nulla�bájtok száma�sorok száma�eltolástúlcsordulás a(z) %s fájl olvasása közben�%s könyvtár kihagyása�csak egy [c*] ismétlési szerkezet jelenhet meg a 2. karakterláncban�csak egyetlen eszköz adható meg�csak egy listatípus adható meg�a megnyitás meghiúsult�a kapcsoló érvénytelen kontextusban került felhasználásra: -- %c�a --backup és --no-clobber kapcsolók egymást kölcsönösen kizárják�a --compare (-C) és az --preserve-timestamps kapcsolók egymást kölcsönösen kizárják�a --compare (-C) és --strip kapcsolók egymást kölcsönösen kizárják�a kimenetifájl-utótagok elfogytak�túlcsordulás a(z) %s fájl méretének növelése közben�túlcsordulás a(z) %s fájl méretének felkerekítése közben�%s tulajdonosa megtartva �%s tulajdonosa maradt %s �oldalszám-túlcsordulás�az oldalszélesség túl keskeny�%s jogosultságainak megtartása�%s összes idejének megtartása�az összes kettÅ‘zött sor és az ismétlÅ‘dések kiírása értelmetlen�olvasási hiba�az olvasás meghiúsult�%s könyvtár olvasása�a rekord túl nagy�a szabványos hibakimenet átirányítása a szabványos kimenetre�szabályos üres fájl�szabályos fájl�%s törölve �%s könyvtár törölve �%s könyvtár törlése�futási szint�szemafor�az elválasztó nem lehet üres�állítsa be az LC_ALL='C' környezeti változót a probléma megkerüléséhez�%s jelölÅ‘inek beállítása�%s jogosultságainak beállítása�%s idejének beállítása�megosztott memóriaobjektum�a kihagyandó és beolvasandó bájtok összege túl nagy�%s kihagyása, mivel másik eszközön van�%s fájl kihagyása, mivel kicserélték másolás közben�foglalat�szabványos hibakimenet�szabványos bemenet�a szabványos bemenet le van zárva�szabványos kimenet�az elérés meghiúsult�szabványos hibakimenet�szabványos bemenet�szabványos kimenet�véletlen karakter a mezÅ‘specifikációban�karakterlánc-összehasonlítás sikertelen�a karakterlánc-átalakítás sikertelen�A strip folyamat hibával fejezÅ‘dött be�el nem határolt sorok elnyomásának csak mezÅ‘kön való működés esetén van értelme�szimbolikus link�szintaktikai hiba�rendszerindulás�a tabméret nem lehet 0�a tabméret érvénytelen karaktereket tartalmaz: %s�a tabméreteknek növekedniük kell�a tab méret túl nagy: %s�a tab méret túl nagy�a tabok túl messze vannak egymástól�a megadott cél (%s) nem könyvtár�könyvtár telepítésénél nem engedélyezett a célkönyvtár�term=�test és/vagy [�a --binary és --text kapcsolók értelmetlenek ellenÅ‘rzőösszegek ellenÅ‘rzésekor�a --compare (-C) kapcsoló figyelmen kívül marad, ha engedélyezÅ‘ bitek nélküli módot ad meg�a --quiet kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes�a --status kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes�a --strict kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes�a --warn kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes�a [c*] szerkezet a 2. karakterláncban csak fordításkor jelenhet meg�a [c*] ismétlési szerkezet nem jelenhet meg az 1. karakterláncban�az elhatárolónak egyetlen karakternek kell lennie�a részletes és az stty-által olvasható kimeneti stílusok kapcsolói egymást kölcsönösen kizárják�a dircolors belsÅ‘ adatbázisának kilistázása és a shell szintaxis kiíratása két egymást kölcsönösen kizáró kapcsoló�az idÅ‘ kiíratására és beállítására használt kapcsolók nem használhatók együtt�a dátumok megadására a kiíratáshoz használt kapcsolók egymást kölcsönösen kizárják�az összehasonlított karakterláncok: %s és %s.�könyvtár telepítésénél nem használható a „strip†kapcsoló�az utótag hossza legalább %zu kell legyen�az átalakítatlan karakterlánc: %s�a(z)%s idÅ‘pont kívül esik a tartományon�a(z) %s felhasználói azonosító használatához a -g kapcsolót is használnia kell�túl kevés X a következÅ‘ sablonban: %s�túl sok %% átalakítási meghatározás van az utótagban�túl sok karakter a halmazban�túl sok ismétlÅ‘dÅ‘ sor�túl sok sablon�összesen�a bejárás meghiúsult: %s�típusos memóriaobjektum�nem jeleníthetÅ‘ meg hibaüzenet�az aktuális munkakönyvtár feljegyzése meghiúsult�%s biztonsági kontextus nem állítható be�váratlan hiba: fts_info=%d: %s jelentse a következÅ‘ címen: %s�ismeretlen bináris operátor�ismeretlen állapot a parancstól (0x%X)�ismeretlen adatfolyam�ismeretlen felhasználói azonosító: %s�az LS_COLORS környezeti változó értéke nem értelmezhetÅ‘�Ismeretlen fájlrendszertípus (0x%08lx) ehhez: %s. Jelentse be ezt a hibát itt: %s. Visszaállás a lekérdezésre.�ismeretlen operandus: %s�ismeretlen elÅ‘tag: %s�fut %ld nap %2d.%02d, �fut %ld nap %2d.%02d, �fut ???? nap ??.??, �a --no-preserve-root kapcsoló használatával ez a hibamentes mód felülbírálható�%s rendezési szabályok használata�%s használata a szabványos bemenet jelzésére nem működik fájlrendszer módban�egyszerű bájtösszehasonlítás használata�várakozás a következÅ‘re: %s [-d]�várakozás a gyermekfolyamatra�várakozás a strip programra�figyelmeztetés: %s: a karakteres állandót követÅ‘ karakterek figyelmen kívül maradtak�figyelmeztetés: %s: nem módosítható a kontextus a következÅ‘re: %s�figyelmeztetés: ez a rendszer nem támogatja a --pid=PID kapcsolót�figyelmeztetés: a --retry elsÅ‘sorban név szerinti követés esetén hasznos�figyelmeztetés: a PID figyelmen kívül marad; a --pid=PID csak követés esetén hasznos�figyelmeztetés: a karakterlánc végén a nem escape-elt fordított osztásjel nem portolható�figyelmeztetés: fordított osztásjel a formátum végén�figyelmeztetés: a(z) %s nem távolítható el�figyelmeztetés: a magkiíratások letiltása meghiúsult�figyelmeztetés: a szabványos bemenet korlátlan követése nem hatékony�figyelmeztetés: a többletargumentumok figyelmen kívül maradnak, a következÅ‘tÅ‘l kezdve: %s�figyelmeztetés: érvénytelen fájleltolás a meghiúsult olvasás után�figyelmeztetés: %lu szélesség érvénytelen, helyette %d kerül felhasználásra�figyelmeztetés: a(z) %s sorszám azonos a megelÅ‘zÅ‘ sorszámmal�figyelmeztetés: %s forrásfájl többször is meg van adva�figyelmeztetés: az összesítés kérése ütközik a --max-depth=%lu kapcsolóval�figyelmeztetés: az összesítés megegyezik a --max-depth=0 kapcsoló használatával�figyelmeztetés: a nem egyértelmű oktális \%c%c%c sorozat a következÅ‘képpen lesz értelmezve: \0%c%c, %c�figyelmeztetés: timer_create�figyelmeztetés: timer_settime�figyelmeztetés: lseek kernel hiba kivédése a következÅ‘ fájlnál: %s (mt_type=0x%0lx) A <sys/mtio.h> fájlban megtalálod a típusok listáját�szokatlan fájl�a halmaz1 csonkításakor a 2. karakterlánc nem lehet üres�fájlnevek szabványos bemenetrÅ‘l való olvasásakor a(z) %s fájlnév nem engedélyezett�egy kimeneti stílus megadásakor nem állíthatók be módok�kiegészítÅ‘ karakterosztályokkal való fordításkor a 2. karakterláncnak a tartomány összes karakterét egyre kell leképeznie�ha a karakterlánc1 fordításkor hosszabb, mint a karakterlánc2, akkor az utóbbi nem végzÅ‘dhet karakterosztállyal�a(z) %s nem kerül átmásolásra az imént létrehozott %s szimbolikus linken keresztül�%2$s könyvtárra mutató %1$s hard link nem lesz létrehozva�az éppen létrehozott %s-t nem fogom felülírni ezzel: %s�a --parents használatakor a cél könyvtár kell legyen�a --suffix használatakor, a sablonnak (%s) X-re kell végzÅ‘dnie�a FÃJL=%s mellett %d kilépés ettÅ‘l a parancstól: %s�a FÃJL=%s mellett %s szignál ettÅ‘l a parancstól: %s�íráshiba�írási hiba a következÅ‘höz: %s�az írás meghiúsult�írás a következÅ‘be: %s�meg kell adnia a -c, -t, -u, -l, -r egyikét vagy a kontextust�bájtok, karakterek vagy mezÅ‘k listáját kell megadnod�meg kell adnia egy relatív %s értéket ezzel: %s�meg kell adnia a következÅ‘k egyikét: %s vagy %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% beolvasott rekord %+% kiírt rekord �% levágott rekord �% levágott rekord �% bájt (%s) másolva�% bájt (%s) másolva�Az eltolás túl nagy: nem lehet seek=% (%lu bájt) blokk hosszára csonkítani�a csonkítás meghiúsult % bájtra a következÅ‘ kimeneti fájlban: %s�nem sikerült % bájt szabványos kimeneti puffert foglalni �%s: %: nem megfelelÅ‘en formázott %s ellenÅ‘rzőösszeg-sor�FIGYELMEZTETÉS: % sor nem megfelelÅ‘en formázott�FIGYELMEZTETÉS: % sor nem megfelelÅ‘en formázott�FIGYELMEZTETÉS: % felsorolt fájl nem olvasható�FIGYELMEZTETÉS: % felsorolt fájl nem olvasható�FIGYELMEZTETÉS: % számított ellenÅ‘rzőösszeg NEM egyezett�FIGYELMEZTETÉS: % számított ellenÅ‘rzőösszeg NEM egyezett�a(z) % kezdÅ‘ oldalszám meghaladja a(z) % oldalszámot�%. oldal�túlcsordulás % * % bájtos blokkokban a(z) %s fájlhoz�%s csonkítása meghiúsult a(z) %. bájtnál�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sk.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001763177�12107204513�011762� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Slovak translations for GNU coreutils # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Miroslav Vasko <vasko@debian.cz>, 1999. # Ján Ondrej <ondrejj(at)salstar.sk>, 2008. # Ivan Masár <helix84@centrum.sk>, 2007, 2008, 2012. # msgid "" msgstr "" "Project-Id-Version: coreutils 8.18-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-07-03 01:06+0100\n" "Last-Translator: Ivan Masár <helix84@centrum.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neplatný argument %s pre %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "nejednoznaÄný argument %s pre %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Platné argumenty sú:" #: lib/closein.c:100 msgid "error closing file" msgstr "chyba pri zatváraní súboru" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "chyba pri zápise" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "zachovávajú sa práva %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Neznáma systémová chyba" #: lib/file-type.c:38 msgid "regular empty file" msgstr "obyÄajný prázdny súbor" #: lib/file-type.c:38 msgid "regular file" msgstr "obyÄajný súbor" #: lib/file-type.c:41 msgid "directory" msgstr "adresár" #: lib/file-type.c:44 msgid "block special file" msgstr "blokový Å¡peciálny súbor" #: lib/file-type.c:47 msgid "character special file" msgstr "znakový Å¡peciálny súbor" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolický odkaz" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "front správ" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "zdieľaný pamäťový objekt" #: lib/file-type.c:68 msgid "typed memory object" msgstr "typový pamäťový objekt" #: lib/file-type.c:70 msgid "weird file" msgstr "Äudný súbor" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Rodina adries názvu stroja nie je podporovaná" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "DoÄasná chyba v rozlíšení názvu" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Zlá hodnota ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Nenapraviteľná chyba v rozlíšení názvu" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family nie je podporovaná" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Chyba alokácie pamäte" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "S názvom stroja nie je asociovaná žiadna adresa" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Názov alebo služba nie je známa" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "ai_socktype nepodporuje servname " #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype nie je podporovaný" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Systémová chyba" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Buffer pre argumenty je príliÅ¡ malý" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Prebieha spracovanie požiadavky" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Požiadavka zruÅ¡ená" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Požiadavka nebola zruÅ¡ená" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "VÅ¡etky požiadavky vykonané" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "PreruÅ¡ené signálom" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "ReÅ¥azec parametrov nebol korektne zakódovaný" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Neznáma chyba" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: voľba `%s' nie je jednoznaÄná\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: prepínaÄ `--%s' nepovoľuje argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: prepínaÄ `%c%s' nepovoľuje argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: prepínaÄ `%s' vyžaduje argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neznámy prepínaÄ `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neznámy prepínaÄ `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: chybný prepínaÄ -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: prepínaÄ vyžaduje argument -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: prepínaÄ `-W %s' nie je jednoznaÄný\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: prepínaÄ `-W %s' nepovoľuje argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: prepínaÄ `%s' vyžaduje argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "nie je možné zmeniÅ¥ práva %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "vyÄerpaná pamäť" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "nie je možné zaznamenaÅ¥ aktuálny pracovný adresár" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "nepodarilo sa vrátiÅ¥ prvotný pracovný adreár" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: koniec súboru" #: lib/regcomp.c:131 msgid "Success" msgstr "ÚspeÅ¡né" #: lib/regcomp.c:134 msgid "No match" msgstr "Bez zhody" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Neplatný regulárny výraz" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Neplatný znak kolacionovania" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Neplatný názov triedy znaku" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Lomka na konci" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Neplatná spätná referencia" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ alebo [^ bez náprotivku" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( alebo \\( bez náprotivku" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ bez náprotivku" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Neplatný obsah \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Neplatné ukonÄenie rozsahu" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Pamäť bola vyÄerpaná" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Neplatný predchádzajúci regulárny výraz" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "PredÄasný koniec regulárneho výrazu" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Tegulárny výraz je príliÅ¡ veľký" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") alebo \\) bez náprotivku" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Žiaden predoÅ¡lý regulárny výraz" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "je nebezpeÄné rekurzívne operovaÅ¥ nad %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "je nebezpeÄné rekurzívne operovaÅ¥ nad %s (zhodné s %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "použite --no-preserve-root na vypnutie tejto bezpeÄnostnej poistky" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYaAáÃ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "nastavujú sa práva %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "ZavesiÅ¥" #: lib/siglist.h:34 msgid "Interrupt" msgstr "PreruÅ¡iÅ¥" #: lib/siglist.h:37 msgid "Quit" msgstr "UkonÄiÅ¥" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Neplatná inÅ¡trukcia" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Zastavenie trasovania/breakpoint" #: lib/siglist.h:46 msgid "Aborted" msgstr "ZruÅ¡ený" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Výnimka pohyblivej desatinnej Äiarky" #: lib/siglist.h:52 msgid "Killed" msgstr "Zabitý" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Systémová chyba" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Chyba segmentácie" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "PreruÅ¡ená rúra" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Budík" #: lib/siglist.h:67 msgid "Terminated" msgstr "UkonÄený" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Naliehavý stav V/V" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Zastavený (signál)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Zastavený" #: lib/siglist.h:79 #, fuzzy msgid "Continued" msgstr "pokraÄovaÅ¥? " #: lib/siglist.h:82 msgid "Child exited" msgstr "Potomok skonÄil" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Zastavený (vstup tty)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Zastavený (výstup tty)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "V/V možný" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "PrekroÄený Äasový limit CPU" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "PrekroÄený limit veľkosti súboru" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "VyprÅ¡al virtuálny ÄasovaÄ" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "VyprÅ¡al profilovací ÄasovaÄ" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "zmena Äasu" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: neplatný signál" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: neplatný signál" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Zastavenie EMT" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "veľkosÅ¥ bloku" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Chyba zásobnáka" #: lib/siglist.h:126 msgid "Information request" msgstr "ŽiadosÅ¥ o informácie" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "zlyhalo otvorenie" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Zdroj stratený" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: zlyhalo posunutie v súbore" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "chybné Äíslo položky: `%s'" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Neznámy signál %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funkcia iconv nie je použiteľná" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funkcia iconv nie je dostupná" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "znak je mimo rozsahu" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "nie je možné konvertovaÅ¥ U+%04X do lokálnej znakovej sady" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "nie je možné konvertovaÅ¥ U+%04X do lokálnej znakovej sady: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "neplatný používateľ" #: lib/userspec.c:107 msgid "invalid group" msgstr "neplatná skupina" #: lib/userspec.c:108 msgid "invalid spec" msgstr "neplatná Å¡pec." #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "nie je možné zobraziÅ¥ chybovú správu" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Balík vytvoril %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Balík vytvoril %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licencia GPLv3+: GNU GPL versie 3 alebo neskorÅ¡ia <http://gnu.org/licenses/" "gpl.html>\n" "Toto je slobodný softvér: môžete ho slobodne meniÅ¥ a šíriÅ¥.\n" "Neexistuje ŽIADNA ZÃRUKA do rozsahu aký povoľuje aplikovateľné právo.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napísal %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Napísal %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Napísal %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Napísal %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s\n" "a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s a %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Napísal %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s a Äalší.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Chyby v programe oznamujte tu: <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Chyby v programe oznamujte tu: <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Domovská stránka %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "VÅ¡eobecná pomoc pri používaní softvéru GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "zlyhalo otvorenie" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "nemožno obnoviÅ¥ fd %d: dup2 zlyhal" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "podproces %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "podproces %s dostal kritický signál %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "Å¡t. vstup" #: lib/xfreopen.c:36 msgid "stdout" msgstr "Å¡t. výstup" #: lib/xfreopen.c:37 msgid "stderr" msgstr "Å¡t. chybový výstup" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Neznáma systémová chyba" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "nepodarilo sa odstrániÅ¥ %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "porovnanie reÅ¥azcov zlyhalo" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Nastavením LC_ALL='C' obídete tento problém." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Porovnávané reÅ¥azce boli %s a %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "nie je možné vykonaÅ¥ formátovaný výstup" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "neplatný %s%s argument „%s“" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "naplatná prípona v argumente %s%s „%s“" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s argument „%s“ je príliÅ¡ veľký" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Použitie: %s [VOĽBA] [SÚBOR]\n" "Base64 zakódovanie alebo dekódovanie SÚBORu alebo Å¡tand. vstupu na Å¡tand. " "výstup.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode dekódovaÅ¥ dáta\n" " -i, --ignore-garbage poÄas dekódovania ignorovaÅ¥ neabecedné znaky\n" " -w, --wrap=STĹP zalomiÅ¥ nekódované riadky po STĹP znakoch " "(predvolene 76).\n" " Použite 0 na zamedzenie zalamovania riadkov\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Bez SÚBORu alebo keÄ SÚBOR je - Äíta zo Å¡tand. vstupu.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Dáta sú zakódované podľa popisu base64 abecedy v RFC 3548.\n" "Pri dekódovaní môže vstup okrem bajtov formálnej base64 abecedy\n" "obsahovaÅ¥ znaky nového riadka. Použitím --ignore-garbage zapnete\n" "pokus o zotavenie v prípade výskytu iných nealfabetických znakov\n" "v kódovanom toku.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "chyba pri Äítaní" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "neplatný vstup" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "neplatná veľkosÅ¥ zalamovania: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "nadbytoÄný operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "zatvára sa Å¡tandardný vstup" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "VypísaÅ¥ NÃZOV bez adresárov vedúcich k nemu.\n" "OdstrániÅ¥ aj PRÃPONU, pokiaľ bola zadaná.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple zapne podporu viacerých argumentov a považuje každý " "za NÃZOV\n" " -s, --suffix=PRÃPONA odstráni PRÃPONU na konci\n" " -z, --zero oddeľuje výstup znakom NUL namiesto nového riadka\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Príklady:\n" " %s /usr/bin/sort -> „sortâ€\n" " %s include/stdio.h .h -> „stdioâ€\n" " %s -s .h include/stdio.h -> „stdioâ€\n" " %s -a any/str1 any/str2 -> „str1†a následne „str2â€\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "chýba operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Spája SÚBOR(Y) alebo Å¡tandardný vstup na Å¡tandardný výstup.\n" "\n" " -A, --show-all rovnaké ako -vET\n" " -b, --number-nonblank Äísluje neprázdne výstupné riadky\n" " -e rovnaké ako -vE\n" " -E, --show-ends vypíše $ na konci každého riadku\n" " -n, --number Äísluje vÅ¡etky výstupné riadky\n" " -s, --squeeze-blank prázdne riadky idúce po sebe redukuje na jediný\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t rovnaké ako -vT\n" " -T, --show-tabs vypisuje znak TAB ako ^I\n" " -u (ignorované)\n" " -v, --show-nonprinting použije zápis ^ a M-, okrem znakov LF a TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Príklady:\n" " %s f - g Výstup obsah f, potom Å¡tand. vstup, potom obsah g.\n" " %s KopírovaÅ¥ Å¡tand. vstup na Å¡tand. výstup.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "nie je možné vykonaÅ¥ ioctl na %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "Å¡tandardný výstup" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: vstupný súbor je zároveň výstupným" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "nie je možné vytvoriÅ¥ bezpeÄnostný kontext: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "nepodarilo sa nastaviÅ¥ %s zložku bezpeÄnostného kontextu na %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "nepodarilo sa získaÅ¥ bezpeÄnostný kontext %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "nie je možné použiÅ¥ ÄiastoÄný kontext na súbor bez oznaÄenia %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "nepodarilo sa zmeniÅ¥ bezpeÄnostný kontext %s na %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "nie je možné pristupovaÅ¥ k %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "nie je možné naÄítaÅ¥ adresár %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "zmena bezpeÄnostného kontextu %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read zlyhalo" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "zlyhalo zatvorenie súboru" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použitie: %s [VOĽBA]... KONTEXT SÚBOR\n" " alebo: %s [VOĽBA]... [-u POUŽ] [-r ROLA] [-l ROZSAH] [-t TYP] SÚBOR...\n" " alebo: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "ZmeniÅ¥ bezpeÄnostný kontext každého SÚBORu na KONTEXT.\n" "S parametrom --reference zmení bezpeÄnostný kontext každého SÚBORU\n" "na rovnaký ako má RSÚBOR.\n" "\n" " -c, --changes ako verbose, ale oznamovaÅ¥ iba keÄ sa vykoná zmena\n" " -h, --no-dereference ovplyvňuje referenta každého symbolického odkazu\n" " (toto je Å¡tandardné správanie) namiesto samotného\n" " symbolického odkazu\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 #, fuzzy msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" "ZmeniÅ¥ bezpeÄnostný kontext každého SÚBORu na KONTEXT.\n" "S parametrom --reference sa zmení bezpeÄnostný kontext každého\n" "SÚBORU na rovnaký ako má RSÚBOR.\n" "\n" " -c, --changes ako verbose, ale oznamovaÅ¥ iba keÄ sa vykoná zmena\n" " -h, --no-dereference ovplyvňuje referenta každého symbolického odkazu\n" " (toto je Å¡tandardné správanie) namiesto samotného\n" " symbolického odkazu\n" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=POUŽ nastaviÅ¥ používateľa POUŽ v cieľovom bezpeÄnostnom " "kontexte\n" " -r, --role=ROLA nastaviÅ¥ rolu ROLA v cieľovom bezpeÄnostnom " "kontexte\n" " -t, --type=TYP nastaviÅ¥ typ TYP v cieľovom bezpeÄnostnom kontexte\n" " -l, --range=ROZSAH nastaviÅ¥ rozsah ROZSAH v cieľovom bezpeÄnostnom " "kontexte\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root nezaobchádzaÅ¥ „/“ Å¡peciálne (predvolené)\n" " --preserve-root zabrániÅ¥ rekurzívnemu prechádzaniu od „/“\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RSÚBOR použije bezpeÄnostný kontext RSÚBORU namiesto " "zadania\n" " hodnoty KONTEXT\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive rekurzívne prechádzaÅ¥ adresármi a súbormi\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose vypíše diagnostiku pri každom spracovanom súbore\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Nasledovné voľby menia spôsob prechádzania hierarchie, keÄ je\n" "uvedená voľba -R. Ak je uvedená viac ako jedna, úÄinná je iba\n" "posledná uvedená.\n" "\n" " -H ak je argument príkazového riadka symbolický odkaz\n" " na adresár, prechádzaÅ¥ ním\n" " -L prechádzaÅ¥ každý symbolický odkaz v adresári\n" " -P neprechádzaÅ¥ žiadne symbolické odkazy (Å¡tandardne)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference vyžaduje buÄ -H alebo -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h vyžaduje -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "chýba operand po %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "neplatný kontexxt: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "boli zadané konflitné Å¡pecifikátory kontextu" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "nepodarilo sa zistiÅ¥ atribúty %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "neplatná skupina: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]...\n" " alebo: %s [PREPÃNAÄŒ]... --reference=RSÚBOR SÚBOR...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "ZmaniÅ¥ skupinu každého SÚBORU na SKUPINU.\n" "S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes ako verbose, ale hlási iba v prípade zmien\n" " -f, --silent, --quiet potlaÄí väÄÅ¡inu chybových správ\n" " -v, --verbose vypíše diagnostiku pri každom spracovanom súbore\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (užitoÄné iba na systémoch, ktoré môžu zmeniÅ¥ \n" " vlastníctvo symbolického odkazu)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFILE použiÅ¥ skupinu súboru RSÚBOR namiesto\n" " zadania hodnoty SKUPINA\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Príklady:\n" " %s staff /u ZmeniÅ¥ skupinu /u na „staff“.\n" " %s -hR staff /u ZmeniÅ¥ skupinu /u a podsúborov na „staff“.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "zisÅ¥ujem nové atribúty %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "symbolický odkaz %s ani odkazovaný súbor neboli zmenené\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "režim súboru %s sa zmenil z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "zmena režimu súboru %s z %04lo (%s) na %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "práva súboru %s zostali %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "nie je možné pracovaÅ¥ s visiacim symbolickým odkazom %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "menia sa práva %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nové práva sú %s, nie %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Použitie: %s [VOĽBA]... REŽIM[,REŽIM]... SÚBOR...\n" " or: %s [VOĽBA]... OSMIÄŒ-REŽIM SÚBOR...\n" " or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "ZmeniÅ¥ režim každého SÚBORU na REŽIM.\n" "S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive rekurzívne prechádzaÅ¥ adresármi a súbormi\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "každý REŽIM je v tvare „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+“.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "nie je možné kombinovaÅ¥ voľby režimu a --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "neplatný režim: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "vlastník %s zmenený z %s na %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "skupina %s zmenená z %s na %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "vlastníctvo %s zostalo nezmenené\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "nepodarilo sa zmeniÅ¥ vlastníctvo %s z %s na %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "nepodarilo sa zmeniÅ¥ skupinu %s z %s na %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "nepodarilo sa zmeniÅ¥ práva %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "nepodarilo sa zmeniÅ¥ práva %s na %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "zmena skupiny %s na %s zlyhala\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "vlastník %s zostal %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "skupina súboru %s zostala %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "vlastník %s zostal zachovaný\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "nie je možné dereferencovaÅ¥ %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "mením vlastníctvo %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "mení sa skupina %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Usage: %s [VOĽBA]... [VLASTNÃK][:[SKUPINA]] SÚBOR...\n" " or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "ZmeniÅ¥ skupinu alebo vlastníka každého SÚBORu na SKUP alebo VLAST.\n" "S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "Vlastník nie je zmenený, pokiaľ nebol zadaný. Skupina nie je zmenená,\n" "pokiaľ nie je zadaná, ale bude zmenená na prihlasovaciu skupinu,\n" "pokiaľ je to vyžiadané dvojbodkou. VLASTNÃK aj SKUPINA môžu byÅ¥\n" "tak Äíselné, ako aj symbolické.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "neplatná skupina %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "neplatný zoznam skupín %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "nie je možné nastaviÅ¥ ÄalÅ¡ie skupiny" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Použitie: %s NOVÃKOREŇ [PRÃKAZ...]\n" " alebo: %s VOĽBA\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "nie je možné zmeniÅ¥ koreňový adresár na %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nie je možné vojsÅ¥ do koreňového adresára" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "nepodarilo sa nastaviÅ¥ novú rolu %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "nepodarilo sa nastaviÅ¥ nového používateľa %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "nie je možné vykonaÅ¥ príkaz %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: súbor je príliÅ¡ dlhý" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "VypísaÅ¥ kontrolný súÄet CRC a poÄet bajtov každého SÚBORu.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... SÚBOR1 SÚBOR2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "PorovnaÅ¥ po riadkoch zotriedené súbory SÚBOR1 a SÚBOR2.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Bez volieb vypíše trojstĺpcový výstup. Prvý stĺpec obsahuje riadky\n" "jedineÄné pre SÚBOR1, druhý stĺpec obsahuje riadky jedineÄné pre SÚBOR2,\n" "a tretí stĺpec obsahuje riadky spoloÄné obom súborom.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 neukazuje riadky obsiahnuté iba v súbore SÚBOR1\n" " -2 neukazuje riadky obsiahnuté iba v súbore SÚBOR2\n" " -3 neukazuje riadky spoloÄné obom súborom\n" #: src/comm.c:122 #, fuzzy msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" " Porovnáva súbory ĽAVÃ_SÚBOR a PRAVÃ_SÚBOR, ktorých riadky sú usporiadané\n" "podľa nejakého kľúÄa, riadok po riadku. Výstupom sú tri stĺpce, riadky " "obsiahnuté\n" "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky spoloÄné\n" "obom súborom.\n" "\n" " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" " -3 neukazuje riadky spoloÄné obom súborom\n" " --help vypíše tuto nápovedu a skonÄí\n" " --version vypíše oznaÄenie verzie a skonÄí\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "uvedených viacero oddeľovaÄov" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "chyba pri Äítaní %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nie je možné vykonaÅ¥ lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "chyba pri zápise %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "nepodarilo sa zistiÅ¥ aktuálny kontext" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "chyba pri zápise" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "Äistia sa oprávnenia %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "nepodarilo sa zachovaÅ¥ vlastníctvo %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "nepodarilo sa vyhľadaÅ¥ súbor %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "nepodarilo sa zachovaÅ¥ autorstvo %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "nie je možné otvoriÅ¥ %s pre Äítanie" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "nie je možné vykonaÅ¥ fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "preskakuje sa súbor %s, keÄže bol nahradený poÄas kopírovania" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "nepodarilo sa získaÅ¥ kontext vytvorenia súborového systému" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "nie je možné nastaviÅ¥ bezpeÄnostný kontext %s na %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "nie je možné odstrániÅ¥ %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "odstránené %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "nezapisuje sa prostredníctvom visiaceho symbolického odkazu %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "nie je možné vytvoriÅ¥ obyÄajný súbor %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "nie je možné zatvoriÅ¥ adresár %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "zachovávam Äasy %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: prepísaÅ¥ %s bez ohľadu na práva %04lo? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: prepísaÅ¥ %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "(záloha: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "nepodarilo sa obnoviÅ¥ Å¡tandardný kontext vytvorenia súborového systému" #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "nie je možné stat() %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "vynecháva sa adresár %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "upozornenie: zdrojový súbor %s uvedený viac ako jedenkrát" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s a %s predstavujú ten istý súbor" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "nie je možné prepísaÅ¥ súbor %s (ktorý nie je adresár) adresárom %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "nie je možné prepísaÅ¥ práve vytvorený %s súborom %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "nie je možné prepísaÅ¥ adresár %s súborom (ktorý nie je adresár)" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "nie je možné presunúť adresár %s na súbor %s (ktorý nie je adresár)" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "vytvorenie záložnej kópie %s by zniÄilo zdroj; %s nebol presunutý" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "vytvorenie záložnej kópie %s by zniÄilo zdroj; %s nebol skopírovaný" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "nie je možné zálohovaÅ¥ %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "nie je možné skopírovaÅ¥ súbor %s práve vytvoreným symbolickým odkazom %s" #: src/copy.c:2056 #, fuzzy, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "nie je možné vojsÅ¥ do adresára, %s" #: src/copy.c:2123 #, fuzzy, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "nie je možné vojsÅ¥ do adresára, %s" #: src/copy.c:2166 #, fuzzy, c-format msgid "cannot move %s to %s" msgstr "ioctl na `%s' nie je možné vykonaÅ¥" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "presunutie medzi zariadeniami zlyhalo: %s na %s; nepodarilo sa odstrániÅ¥ cieľ" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "zisÅ¥ujem atribúty %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "nie je možné skopírovaÅ¥ zacyklený symbolický odkaz %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: relatívne symbolické odkazy je možné vytvoriÅ¥ iba v aktuálnom adresári" #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/copy.c:2416 src/mkfifo.c:132 #, fuzzy, c-format msgid "cannot create fifo %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/copy.c:2425 #, fuzzy, c-format msgid "cannot create special file %s" msgstr "pozícia znaku je nula" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "ioctl na `%s' nie je možné vykonaÅ¥" #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s je neznámy typ souboru" #: src/copy.c:2644 src/ln.c:358 #, fuzzy, c-format msgid "cannot un-backup %s" msgstr "nie je možné spustiÅ¥ %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (obnovenie zálohy)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Použitie: %s [VOĽBA]... KONIEC\n" " alebo: %s [VOĽBA]... ZAÄŒIATOK KONIEC\n" " alebo: %s [VOĽBA]... ZAÄŒIATOK KROK LAST\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "SkopírovaÅ¥ ZDROJ na CIEĽ alebo viacero CIEĽOV do ADRESÃRa.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive rovnaké ako -dpR\n" " --backup[=CONTROL] vytvoriÅ¥ zálohu každého existujúceho " "cieľového súboru\n" " -b ako --backup, ale neprijíma arhument\n" " --copy-contents pri rekurzívnom kopírovaní skopírovaÅ¥ obsah " "Å¡peciálnych súborov\n" " -d rovnaké ako --no-dereference --" "preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force ak nie je možné otovoriÅ¥ existujúci\n" " cieľový súbor, odstrániÅ¥ ho a skúsiÅ¥ znova\n" " -i, --interactive výzva pred prepísaním\n" " -H nasledovaÅ¥ symbolické odkazy z príkazového " "riadka v ZDROJi\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link odkazovaÅ¥ na súbory namiesto kopírovania\n" " -L, --dereference vždy nasledovaÅ¥ symbolické odkazy v ZDROJi\n" #: src/cp.c:190 #, fuzzy msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -f, --force ak nie je možné otovoriÅ¥ existujúci\n" " cieľový súbor, odstrániÅ¥ ho a skúsiÅ¥ znova\n" " -i, --interactive výzva pred prepísaním\n" " -H nasledovaÅ¥ symbolické odkazy z príkazového " "riadka v ZDROJi\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p rovnaké ako --preserve=mode,ownership," "timestamps\n" " --preserve[=ATTR_LIST] zachovaÅ¥ uvedené atribúty (Å¡tandardne:\n" " mode,ownership,timestamps), ak je to možné\n" " ÄalÅ¡ie atribúty: context, links, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST nezachovávaÅ¥ uvedené atribúty\n" " --parents použiÅ¥ v ADRESÃRI plný názov zdrojového " "súboru\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive rekurzívne kopírovaÅ¥ adresáre\n" " --remove-destination pred pokusom o otvorenie každého cieľového " "súboru\n" " ho odstrániÅ¥ (na rozdiel od --force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KEDY tvorba nesúvislých (deravých) súborov\n" " -R, --recursive kopírovaÅ¥ adresáre rekurzívne\n" " --strip-trailing-slashes odstrániÅ¥ z každého ZDROJa koncové lomítko\n" " -s, --symbolic-link namiesto odkazov vytvoriÅ¥ symbolické odkazy\n" " -S, --suffix=PRÃPONA zmeniÅ¥ obvyklú príponu zálohových súborov\n" " na PRÃPONU\n" " --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára\n" " -u, --update kopírovaÅ¥ iba pokiaľ je zdrojový súbor novší\n" " ako cieľový alebo pokiaľ cieľový súbor " "neexistuje\n" " -v, --verbose vypisovaÅ¥ informácie o vykonaných operáciách\n" " -x, --one-file-system zostaÅ¥ v tomto súborovom systéme\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" "\n" "Pokiaľ nie je zadané inak, nesúvislé (deravé) súbory sú detekované\n" "a zodpovedajúci cieľový súbor je vytvorený taktiež ako nesúvislý.\n" "Toto je tiež správanie sa pri voľbe --sparse=auto. Pri zadaní voľby\n" "--sparse=always bude vytvorený nesúvislý súbor vždy ak zdrojový\n" "súbor obsahuje dostatoÄne dlhú postupnosÅ¥ nulových bajtov. Voľba\n" "--sparse=never zabráni tvoreniu nesúvislých súborov.\n" "\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 #, fuzzy msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" "Premenovanie ZDROJa na CIEĽ alebo premiestnenie ZDROJa(ov) do ADRESÃRa.\n" "\n" " --backup[=CONTROL] vytvoriÅ¥ záložnú kópiu každého existujúceho\n" " CIEĽa\n" " -b ako --backup, ale nepovoľuje argument\n" " -f, --force prepísaÅ¥ existujúce ciele bez opýtania\n" " -i, --interactive pred prepísaním súboru sa opýtaÅ¥\n" " --strip-trailing-slashes odstrániÅ¥ koncové lomítka z každého\n" " ZDROJa\n" " -S, --suffix=PRÃPONA zmeniÅ¥ obvyklú príponu záložných kópií\n" " --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára\n" " -u, --update premiestniÅ¥ iba novÅ¡ie a úplne nové soubory\n" " -v, --verbose vypisovaÅ¥ informácie o priebehu\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" "\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" " --sparse=KEDY tvorba nesúvislých (deravých) súborov\n" " -R, --recursive kopírovaÅ¥ adresáre rekurzívne\n" " --strip-trailing-slashes odstrániÅ¥ z každého ZDROJa koncové lomítko\n" " -s, --symbolic-link namiesto odkazov vytvoriÅ¥ symbolické odkazy\n" " -S, --suffix=PRÃPONA zmeniÅ¥ obvyklú príponu zálohových súborov\n" " na PRÃPONU\n" " --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára\n" " -u, --update kopírovaÅ¥ iba pokiaľ je zdrojový súbor novší\n" " ako cieľový alebo pokiaľ cieľový súbor " "neexistuje\n" " -v, --verbose vypisovaÅ¥ informácie o vykonaných operáciách\n" " -x, --one-file-system zostaÅ¥ v tomto súborovom systéme\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" "\n" "Pokiaľ nie je zadané inak, nesúvislé (deravé) súbory sú detekované\n" "a zodpovedajúci cieľový súbor je vytvorený taktiež ako nesúvislý.\n" "Toto je tiež správanie sa pri voľbe --sparse=auto. Pri zadaní voľby\n" "--sparse=always bude vytvorený nesúvislý súbor vždy ak zdrojový\n" "súbor obsahuje dostatoÄne dlhú postupnosÅ¥ nulových bajtov. Voľba\n" "--sparse=never zabráni tvoreniu nesúvislých súborov.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "Prípona záložných súborov je ~, pokiaľ nie je nastavená voľbou --suffix " "alebo\n" "premennou SIMPLE_BACKUP_SUFFIX. Spôsob tvorby záložných kópií súborov môže " "byÅ¥\n" "nastavený premennou VERSION_CONTROL, prípustné hodnoty sú:\n" "\n" " none, off nikdy nevytváraÅ¥ záložné kópie (ani ak bolo zadané --" "backup)\n" " numbered, t tvoriÅ¥ Äíslované záložné kópie\n" " existing, nil tvoriÅ¥ Äíslované, pokiaľ už Äíslované záložné kópie\n" " existujú, inak tvoriÅ¥ jednoduché\n" " simple, never vždy tvoriÅ¥ jednoduché záložné kópie súborov \n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nikdy nevytváraÅ¥ záložné kópie (ani ak bolo zadané --" "backup)\n" " numbered, t tvoriÅ¥ Äíslované záložné kópie\n" " existing, nil tvoriÅ¥ Äíslované, pokiaľ už Äíslované záložné kópie\n" " existujú, inak tvoriÅ¥ jednoduché\n" " simple, never vždy tvoriÅ¥ jednoduché záložné kópie súborov \n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Ako Å¡peciálny prípad, cp tvorí záložné kópie ZDROJa, pokiaľ sú zadané voľby\n" "force a backup a ZDROJ a CIEĽ sú rovnakým menom pre existujúci bežný súbor.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "nie je možné zachovaÅ¥ Äasy %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "nie je možné zachovaÅ¥ práva %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existuje, ale nie je adresárom" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "chýba operand súboru" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "chýba operand cieľového súboru po %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "Nie je možné kombinovaÅ¥ --target-directory a --no-target-directory" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "cieľ %s nie je adresárom" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "pri použití voľby --parents cieľ musí byÅ¥ adresárom" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "boli uvedené viaceré cieľové adresáre" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "nie je možné zároveň vytvoriÅ¥ pevný a symbolický odkaz" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "typ zálohy" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "vstup sa stratil" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: Äíslo riadku je mimo rozsah" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: Äíslo riadka je mimo rozsahu" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " v opakovaní %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: zhoda nenájdená" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "chyba pri vyhľadávaní pomocou regulárneho výrazu" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "chyba pri zápise do %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: po oddeľovaÄi sa oÄakáva celé Äíslo" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: '}' je požadovaná v poÄítadle opakovaní" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: medzi `{' a `}' musí byÅ¥ celé Äíslo" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: chýba koncový oddeľovaÄ â€ž%c“" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: chybný regulárny výraz: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: chybný vzor" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: Äíslo riadku musí byÅ¥ väÄÅ¡ie ako nula" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "Äíslo riadka %s je menÅ¡ie ako Äíslo predchádzajúceho riadka, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" "upozornenie: Äíslo riadka %s je rovnaké ako Äíslo predcházajúceho riadka" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "v parametri prepínaÄa chýba urÄenie typu konverzie" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "chybne zadaný typ konverzie v parametri prepínaÄa: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "chybne zadaný typ konverzie v parametri prepínaÄa: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%s: chybne zadaná položka `%s'" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "príliÅ¡ mnoho typov konverzie %% v parametri prepínaÄa" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "v parametri prepínaÄa chýba zadanie typu konverzie pomocou %%" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: chybné Äíslo" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... SÚBOR VZOROV...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "chybný zoznam bajtov alebo položiek" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "chybný typ reÅ¥azca `%s'" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "neplatné Äíslo" #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "%s je príliÅ¡ veľa" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "Äíslo položky je nula" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "môže byÅ¥ zadaný iba jeden typ zoznamu" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "oddeľovaÄ musí byÅ¥ jediný znak" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "musíte zadat zoznam bajtov, znakov alebo položiek" #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "oddeľovaÄ môže byÅ¥ zadaný iba pri práci s položkami" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "potlaÄenie riadkov neobsahujúcich oddeľovaÄ, má význam iba\n" "\tpri použití pracuje s poľami" #: src/cut.c:870 msgid "missing list of fields" msgstr "chýba zoznam položiek" #: src/cut.c:872 msgid "missing list of positions" msgstr "chýba zoznam pozícií" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Použitie: %s [VOĽBA]... [+FORMÃT]\n" " alebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "Å¡tandardný vstup" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "neplatný dátum %s" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "\\%c: neprípustná sekvencia" #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "voľby pre výpis a nastavenie Äasu nemôžu byÅ¥ použité spoloÄne" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumentu `%s' chýba úvodný znak `+';\n" "Pokiaľ je pre Å¡pecifikáciu dátumu použitá voľba, vÅ¡etky argumenty,\n" "ktoré nie sú voľbami, musia byÅ¥ formátovacím reÅ¥azcom s úvodným `+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "nie je možné nastaviÅ¥ dátum" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Äas %s je mino rozsahu" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "KopírovaÄ súbor, priÄom sa skonvertuje a sformátuje podľa operandov.\n" "\n" " bs=BAJTOV vynútiÅ¥ ibs=BAJTOV a obs=BAJTOV\n" " cbs=BAJTOV skonvertovaÅ¥ BAJTOV bajtov naraz\n" " conv=KONV skonvertovaÅ¥ podľa tohto zoznamu symbolov oddelených " "Äiarkami\n" " count=BLOKOV skopírovaÅ¥ iba BLOKOV vstupných blokov\n" " ibs=BAJTOV ÄítaÅ¥ BAJTOV bajtov naraz\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=SÚBOR ÄítaÅ¥ zo SÚBORu namiesto Å¡tandardného vstupu\n" " iflag=PRÃZN ÄítaÅ¥ podľa tohto zoznamu symbolov oddelených Äiarkami\n" " obs=BAJTOV zapísaÅ¥ BAJTOV bajtov naraz\n" " of=SÚBOR zapísaÅ¥ do SÚBORu namiesto na Å¡tandardný výstup\n" " oflag=PRÃZN zapisovaÅ¥ podľa tohto zoznamu symbolov oddelených " "Äiarkami\n" " seek=BLOKOV preskoÄiÅ¥ BLOKOV s veľkosÅ¥ou obs na zaÄiatku výstupu\n" " skip=BLOKOV preskoÄiÅ¥ BLOKOV s veľkosÅ¥ou ibs na zaÄiatku vstupu\n" " status=noxfer potlaÄiÅ¥ výpis Å¡tatistiky prenosu\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Po BLOKOV a BAJTOV môže byÅ¥ uvedená jedna z nasledovných prípon:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 atÄ pre T, P, E, Z, Y.\n" "\n" "Každý symbol KONV môže byÅ¥:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii z EBCDIC do ASCII\n" " ebcdic z ASCII do EBCDIC\n" " ibm z ASCII do alternatívneho EBCDIC\n" " block vyplniÅ¥ záznamy ukonÄené novým riadkom medzerami na veľkosÅ¥ cbs\n" " unblock nahradiÅ¥ medzery na konci záznamov s veľkosÅ¥ou cbs znakom nového " "riadka\n" " lcase zmeniÅ¥ veľké písmená na malé\n" " ucase zmeniÅ¥ malé písmená na veľké\n" " swab vymeniÅ¥ každú dvojicu bajtov na vstupe\n" " sync vyplniÅ¥ každý blok znakom NULL na veľkosÅ¥ ibs;\n" " keÄ sa použije s block alebo unblock, vyplniÅ¥ medzerami namiesto " "NULL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl skonÄiÅ¥ neúspeÅ¡ne, ak výstupný súbor už existuje\n" " nocreat nevytváraÅ¥ výstupný súbor\n" " notrunc neskracovaÅ¥ výstupný súbor\n" " noerror pokraÄovaÅ¥ aj pri chybách pri Äítaní\n" " fdatasync pred ukonÄením fyzicky zapísaÅ¥ údaje\n" " fsync podobne, ale zapísaÅ¥ aj metadáta\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Každý symbol PRÃZN môže byÅ¥:\n" "\n" " append režim pridávania (zmysluplné iba pre výstup; navrhuje sa " "conv=notrunc)\n" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr " text použiÅ¥ pre dáta textový V/V\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct použiÅ¥ pre dáta priamy V/V\n" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s existuje, ale nie je adresárom" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync použiÅ¥ pre dáta synchronizovaný V/V\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync podobne, ale aj pre metadáta\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock použiÅ¥ neblokoujúci V/V\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime neaktualizovaÅ¥ Äas posledného prístupu\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty nepriraÄovaÅ¥ zo súboru riadiaci terminál\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow nenasledovaÅ¥ symbolické odkazy\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks skonÄiÅ¥ neúspeÅ¡ne pri viacnásobnom odkaze\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary použiÅ¥ pre dáta binárny V/V\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text použiÅ¥ pre dáta textový V/V\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Poslaním signálu %s bežiacemu procesu „dd“ spôsobíte, že\n" "vypíše Å¡tatistiku V/V na Å¡tandardný chybový výstup a bude pokraÄovaÅ¥ v " "kopírovaní.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 záznamov preÄítaných\n" " 18335302+0 záznamov zapísaných\n" " 9387674624 skopírovaných bajtov (9.4 GB), 34.6279 sekúnd, 271 MB/s\n" "\n" "Voľby sú:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> záznamov preÄítaných\n" "%<PRIuMAX>+%<PRIuMAX> záznamov zapísaných\n" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "skrátený záznam" msgstr[1] "skrátený záznam" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) copied" msgstr[1] "%<PRIuMAX> skopírované bajty (%s)" msgstr[2] "%<PRIuMAX> skopírovaných bajtov (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "nekoneÄno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, fuzzy, c-format msgid "closing input file %s" msgstr "vytváram súbor `%s'\n" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "zatváram výstupný súbor %s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "zmena skupiny %s na %s zlyhala\n" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "zápis do %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "neznámy operand %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "neplatná konverzia: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "neplatný vstupný prepínaÄ: %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "neplatný výstupný prepínaÄ: %sneplatná skupina" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "neplatný stavový prepínaÄ: %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "neplatné Äíslo %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "nie je možné skombinovaÅ¥ dve z {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "nie je možné skombinovaÅ¥ block a unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "nie je možné skombinovaÅ¥ lcase a ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "nie je možné skombinovaÅ¥ excl a nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "nie je možné skombinovaÅ¥ excl a nocreat" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "upozornenie: obchádza sa chyba jadra vo funkcii lseek v súbore (%s)\n" " mt_type=0x%0lx -- pozri zoznam typov v <sys/mtio.h>" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: nie je možné vyhľadaÅ¥" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: nie je možné vyhľadaÅ¥" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "preteÄenie pozície pri Äítaní súboru %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "upozornenie: chybný ofset v súbore po neúspeÅ¡nom Äítaní" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "nakoniec nie je možné obísÅ¥ chybu jadra" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "nastavujem príznaky %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "presúvam sa za %s bajtov vo výstupnom súbore %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync zlyhalo na %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync zlyhalo na %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "hodnota pozície je príliÅ¡ veľká: nie je možné skrátiÅ¥ na dĺžku seek=" "%<PRIuMAX> (%lu-bajtových) blokov" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "presúvam sa za %s bajtov vo výstupnom súbore %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "zmena skupiny %s na %s zlyhala\n" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Súborový systém" #: src/df.c:175 msgid "Type" msgstr "Typ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloky" #: src/df.c:181 msgid "Used" msgstr "Použ" #: src/df.c:184 msgid "Available" msgstr "Dostupné" #: src/df.c:187 msgid "Use%" msgstr "Pou%" #: src/df.c:190 msgid "Inodes" msgstr "I-uzly" #: src/df.c:193 msgid "IUsed" msgstr "IPouž" #: src/df.c:196 msgid "IFree" msgstr "IVoľ" #: src/df.c:199 msgid "IUse%" msgstr "IPou%" #: src/df.c:202 msgid "Mounted on" msgstr "Pripojený na" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "upozornenie: zdrojový súbor %s uvedený viac ako jedenkrát" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Veľk" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Dost" #: src/df.c:474 msgid "Capacity" msgstr "Kapacita" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "ZobraziÅ¥ informácie o súborovom systéme, na ktorom sa nachádza SÚBOR\n" "alebo Å¡tandardne o vÅ¡etkých súborových systémoch.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all vrátane Äisto logických súborových systémov\n" " -B, --block-size=VEĽ použiÅ¥ bloky s veľkosÅ¥ou VEĽ\n" " -h, --human-readable vypisovaÅ¥ veľkosti vo formáte Äitateľnom pre Äloveka " "(napr., 1K 234M 2G)\n" " -H, --si podobne, ale používaÅ¥ násobky 1000, nie 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes vypísaÅ¥ informácue o inode-och namiesto využitia " "blokov\n" " -k ekvivalent --block-size=1K\n" " -l, --local obmedziÅ¥ výpis iba na lokálne súborové systémy\n" " --no-sync nevyvolávaÅ¥ sync pred získaním informácií o využití " "(Å¡tandardne)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability použiÅ¥ výstup vo formáte POSIX\n" " --sync vyvolaÅ¥ sync pred získaním informácií o využití\n" " -t, --type=TYP obmedziÅ¥ výpis iba na súborové systémy typu TYP\n" " -T, --print-type vypísaÅ¥ typ súborového systému\n" " -x, --exclude-type=TYP obmedziÅ¥ výpis iba na súborové systémy, ktoré " "nie sú typu TYP\n" " -v (ignoruje sa)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Upozornenie: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "súborový systém %s je zároveň vybratý a vylúÄený" #: src/df.c:1500 msgid "Warning: " msgstr "Upozornenie: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%snie je možné preÄítaÅ¥ tabuľku pripojených súborových systémov" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "neboli spracované žiadne súborové systémy" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]...\n" #: src/dircolors.c:98 #, fuzzy msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Príkaz pre nastavenie premennej prostredia LS_COLOR.\n" "\n" "Å pecifikovaÅ¥ výstupný formát:\n" " -b, --sh, --bourne-shell výstupom je Bourne shellový príkaz\n" " pre nastavenie LS_COLORS\n" " -c, --csh, --c-shell výstupom je C shellový príkaz\n" " pre nastavenie LS_COLORS\n" " -p, --print-database vypísaÅ¥ Å¡tandardné nastavenia\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Ak je zadaný SÚBOR, naÄítaÅ¥ ho, aby sa zistilo, ktoré farby použiÅ¥ pre\n" "ktoré typy a prípony súborov. Inak použiÅ¥ predkompilovanú databázu.\n" "Podrobnosti o formáte týchto súborov spustite „dircolors --print-database“.\n" #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: neplatný poÄet sekúnd" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: neznáme kľúÄové slovo %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interné>" #: src/dircolors.c:440 #, fuzzy, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "voľby pre podrobný a stty-Äitateľný formát výstupu\n" "sa navzájom vyluÄujú" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "Operandy súboru nie je možné kombinovaÅ¥ s --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "nie je nastavená premenná prostredia SHELL a typ shellu nie je zadaný" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Použitie: %s [VOĽBA] NÃZOV...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "VypísaÅ¥ NÃZOV s odstráneným koncovým komponentom a predchádzajúcim " "lomítkom.\n" "Pokiaľ NÃZOV neobsahuje lomítko, vypísaÅ¥ `.' (s významom aktuálneho " "adresára).\n" "\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Použitie: %s [VOĽBA]... [SÚBOR]...\n" " or: %s [VOĽBA]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "VypísaÅ¥ zhrnutie využitia disku každým SÚBORom, rekurzívne prechádzaÅ¥ " "adresáre.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all vypísaÅ¥ Äísla pri vÅ¡etkých súboroch, nie len pri " "adresároch\n" " --apparent-size napísaÅ¥ veľkosti ako vyzerajú namiesto využitia " "disku;\n" " hoci sú veľkosti ako vyzerajú zvyÄajne menÅ¡ie, " "môžu\n" " byÅ¥ väÄÅ¡ie z dôvodu dier v („sparse“) súboroch, " "vnútornej\n" " fragmentácii, nepriamym blokom a podobne\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=VEĽ použiÅ¥ bloky s veľkosÅ¥ou VEĽ\n" " -b, --bytes ekvivalent „--apparent-size --block-size=1“\n" " -c, --total vypísaÅ¥ celkové zhrnutie\n" " -D, --dereference-args dereferencovaÅ¥ iba symbolické odkazy, ktoré sú " "uvedené\n" " na príkazovom riadku\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F summarizovaÅ¥ využitie disku súbormi uvedenými\n" " v súbore s názvami ukonÄeným znakmi NULL\n" " -H ako --si, ale vyvolá aj upozornenie; Äoskoro sa " "zmení\n" " na ekvivalent --dereference-args (-D)\n" " -h, --human-readable vypísaÅ¥ veľkosti vo formáte Äitateľnompre Äloveka " "(napr., 1K 234M 2G)\n" " --si ako -h, ale použiÅ¥ násobky 1000, nie 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k ako --block-size=1K\n" " -l, --count-links poÄítaÅ¥ veľkosÅ¥ viacnásobne pri pevných odkazoch\n" " -m ako --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference dereferencovaÅ¥ vÅ¡etky symbolické odkazy\n" " -P, --no-dereference nenasledovaÅ¥ žiadne symbolické odkazy (Å¡tandardne)\n" " -0, --null ukonÄiÅ¥ každý riadok výstupu bajtom 0 namiesto znaku " "nového riadka\n" " -S, --separate-dirs nevypisovaÅ¥ veľkosti podadresárov\n" " -s, --summarize zobraziÅ¥ iba zhrnutie pre každý z argumentov\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "nekoneÄno B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read zlyhalo" #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "chybné Äíslo položky: `%s'" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "chybný argument %s pre `%s'" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "nie je možné súÄasne sumarizovaÅ¥ a vypisovaÅ¥ vÅ¡etky položky" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "upozornenie: sumarizácia je to isté ako --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "upozornenie: sumarizácia je v konflikte s --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Operandy súboru nie je možné kombinovaÅ¥ s --print-database (-p)." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: chyba pri Äítaní" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "neplatná skupina" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "celkom" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Použitie: %s [VOĽBA]... [-] [NÃZOV=HODNOTA]... [PRÃKAZ [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "NastaviÅ¥ v prostredí každú PREMENNÚ na HODNOTU a spustiÅ¥ PRÃKAZ.\n" "\n" " -i, --ignore-environment zaÄaÅ¥ s prázdnym prostredím\n" " -u, --unset=NAME odstrániÅ¥ premennú z prostredia\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "nie je možné spustiÅ¥ %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "nie je možné stat() %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa\n" "Å¡tandardný vstup.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "%s je príliÅ¡ veľa" #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "veľkosÅ¥ tabulátoru obsahuje neplatný znak" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "veľkosÅ¥ tabulátoru nemôže byÅ¥ 0" # sizes or positions? - rzm #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "postupnosÅ¥ pozíc tabulátorov musí byÅ¥ rastúca" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "vstupný riadok je príliÅ¡ dlhý" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Použitie: %s VÃRAZ...\n" " alebo: %s VOĽBA\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Pozor na to, že veľa operátorov musí byÅ¥ v shelli citovaných. Porovnania sú\n" "aritmetické, pokiaľ sú oba argumenty Äíselné, inak sú lexikografické.\n" " Hľadanievzoru vracia vyhovujúci reÅ¥azec medzi \\( a \\) alebo prázdny " "reÅ¥azec; pokiaľ\n" "\\( a \\) nie sú použité, vracia poÄet vyhovujúcich znakov alebo 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaktická chyba" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "chyba pri vyhľadávaní pomocou regulárneho výrazu" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "neÄíselný argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "delenie nulou" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "nastavením LC_ALL='C' obídete tento problém" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Porovnávané reÅ¥azce boli %s a %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s nie je platné kladné celé Äíslo" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s je príliÅ¡ veľa" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s [ÄŒÃSLO]...\n" " alebo: %s VOĽBA\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " Vypíše prvoÄinitele vÅ¡etkých zadaných celých ÄŒÃSIEL. Pokiaľ na príkazovom\n" " riadku nie sú zadané žiadne argumenty, budú naÄítané zo Å¡tandardného " "vstupu.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "nie je možné zmeniÅ¥ aktuálny adresár" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "nie je možné vojsÅ¥ do adresára %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nie je možné stat() aktuálny adresár (%s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Použitie: %s [-ÄŒÃSLICA] [PREPÃNAÄŒ]... [SÚBOR]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin zachová odsadenie prvých dvoch riadkov\n" " -p, --prefix=REŤAZEC pracuje iba s riadkami zaÄínajúcimi REŤAZCOM,\n" " ktorý pripojí pred riadky so zmeneným " "formátom\n" " -s, --split-only iba rozdelí dlhé riadky\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph odsadí prvý riadok rozdielne od druhého\n" " -u, --uniform-spacing jedna medzera medzi slovami, dve za vetou\n" " -w, --width=Å ÃRKA maximálna šírka riadka (implicitne 75 stĺpcov)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "neplatná šírka: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "neplatný poÄet stĺpcov: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Použitie: %s [VOĽBA]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "zmena skupiny %s na %s zlyhala\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "zmena skupiny %s na %s zlyhala\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "nie je možné zmeniÅ¥ používateľa a/alebo skupinu %s" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... MNOŽINA1 [MNOŽINA2]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "nie je možné nastaviÅ¥ ID používateľa" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "súbor sa nedá rozdeliÅ¥ viacerými spôsobmi" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "nie je možné nastaviÅ¥ ID používateľa" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Používateľ neexistuje" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše prvých 10 riadkov každého SÚBORu na Å¡tandardný výstup. S viac ako\n" "jedným SÚBORom, bude pred vypísaním každého uvedená hlaviÄka obsahujúca " "názov\n" "súboru. Ak SÚBOR nebude zadaný alebo bude -, naÄíta sa Å¡tandardný vstup.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Po BLOKOV a BAJTOV môže byÅ¥ uvedená jedna z nasledovných prípon:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 atÄ pre T, P, E, Z, Y.\n" "\n" "Každý symbol KONV môže byÅ¥:\n" "\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: poÄet bajtov je príliÅ¡ veľký" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nie je možné presunúť sa na pozíciu %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: nepodarilo sa odstrániÅ¥" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "nie je možné zmeniÅ¥ pozíciu ukazovateľa v súbore %s" # src/tail.c:968 #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s je príliÅ¡ veľký, preto nie je reprezentovateľný" #: src/head.c:886 msgid "number of lines" msgstr "poÄet riadkov" #: src/head.c:886 msgid "number of bytes" msgstr "poÄet bajtov" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "chybný poÄet riadkov" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "chybný poÄet bajtov" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "chybná posledná voľba -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Použitie: %s\n" " alebo: %s VOĽBA\n" "VypísaÅ¥ numerický (hexadecimálny) identifikátor aktuálneho poÄítaÄa.\n" "\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" "\n" #: src/hostname.c:56 #, fuzzy, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Použitie: %s [NÃZOV]\n" " alebo: %s VOĽBA\n" "VypísaÅ¥ názov tohoto systému.\n" "\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "ioctl na `%s' nie je možné vykonaÅ¥" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "nie je možné nastaviÅ¥ názov; tento systém to neumožňuje" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "nie je možné zistiÅ¥ názov systému" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... MNOŽINA1 [MNOŽINA2]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "VypísaÅ¥ informáciu o POUŽÃVATEĽOVI, alebo o aktuálnom používateľovi.\n" "\n" " -a ignorované, kvôli kompatibilite s inými verziami\n" " -g, --group vypísaÅ¥ iba identifikáciu skupiny\n" " -G, --groups vypísaÅ¥ iba identifikáciu doplnkových skupín\n" " -n, --name namiesto Äísla vypísaÅ¥ meno, pre -ugG\n" " -r, --real vypísaÅ¥ reálne ID namiesto efektívneho ID, pre -ugG\n" " -u, --user vypísaÅ¥ iba ID používateľa\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "súbor sa nedá rozdeliÅ¥ viacerými spôsobmi" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "v implicitnom formáte nie je možné vypísaÅ¥ iba mená alebo reálne ID" #: src/id.c:199 #, fuzzy, c-format msgid "can't get process context" msgstr "nie je možné zistiÅ¥ typ procesora" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "súbor sa nedá rozdeliÅ¥ viacerými spôsobmi" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "nie je možné zistiÅ¥ meno pre ID používateľa %u\n" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " skupiny=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "neplatný kontexxt: %s" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "vytvára sa adresár %s" #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "nie je možné zmeniÅ¥ práva %s" #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, fuzzy, c-format msgid "fork system call failed" msgstr "veľkosÅ¥ bloku" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "nie je možné spustiÅ¥ %s" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "chyba pri zápise %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "neplatný používateľ %s" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Použitie: %s [VOĽBA]... KONIEC\n" " alebo: %s [VOĽBA]... ZAÄŒIATOK KONIEC\n" " alebo: %s [VOĽBA]... ZAÄŒIATOK KROK LAST\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, fuzzy, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "formátovací reÅ¥azec nemôže byÅ¥ použitý, pokiaľ je požadovaná rovnaká šírka" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "" "formátovací reÅ¥azec nemôže byÅ¥ použitý, pokiaľ je požadovaná rovnaká šírka" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, fuzzy, c-format msgid "invalid mode %s" msgstr "chybné Äíslo položky: `%s'" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " Porovnáva súbory ĽAVÃ_SÚBOR a PRAVÃ_SÚBOR, ktorých riadky sú usporiadané\n" "podľa nejakého kľúÄa, riadok po riadku. Výstupom sú tri stĺpce, riadky " "obsiahnuté\n" "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky spoloÄné\n" "obom súborom.\n" "\n" " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" " -3 neukazuje riadky spoloÄné obom súborom\n" " --help vypíše tuto nápovedu a skonÄí\n" " --version vypíše oznaÄenie verzie a skonÄí\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "chybné Äíslo položky: `%s'" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "chybne zadaná položka: `%s'" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "chybné Äíslo súboru v popise položky: `%s'" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "viacznakový tabulátor `%s'" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "nekompatibilné tabulátory" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "obidva súbory nemôžu byÅ¥ Å¡tandardným vstupom" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Použitie: %s [-s SIGNÃL | -SIGNÃL] PID...\n" " alebo: %s -l [SIGNÃL]...\n" " alebo: %s -t [SIGNÃL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "PoslaÅ¥ signály procesom alebo vypísaÅ¥ signály.\n" "\n" #: src/kill.c:88 #, fuzzy msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" "KopírovaÅ¥ Å¡tandardný vstup do každého SÚBORU a tiež na Å¡tandardný výstup.\n" "\n" " -a, --append pridaÅ¥ na koniec SÚBORU, neprepisovaÅ¥\n" " -i, --ignore-interrupts ignorovaÅ¥ signály preruÅ¡enia\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNÃL môže byÅ¥ názov signálu ako „HUP“ alebo Äíslo signálu ako „1“,\n" "alebo návratový kód procsu ukonÄeného signálom.\n" "PID je celé Äíslo; ak je záporné, oznaÄuje skupinu procesov.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: neplatný id procesu" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "neplatná voľba -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: uvedených viacero signálov" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "bolo zadaných viacero volieb -l alebo -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "nie je možné kombinovaÅ¥ signál s voľbou -l alebo -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "nebol zadaný ID procesu" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "neplatný argument %s pre %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Použitie: %s SÚBOR1 SÚBOR2\n" " alebo: %s VOĽBA\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "nie je možné vytvoriÅ¥ odkaz z %s na %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: na adresár nie je povolený pevný odkaz" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: nie je možné prepísaÅ¥ adresár" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: prepísaÅ¥ %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "vytvára sa pevný odkaz na %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Použitie: %s [VOĽBA]... [-T] CIEĽ NÃZOV_ODKAZU (1. tvar)\n" " alebo: %s [VOĽBA]... CIEĽ (2. tvar)\n" " alebo: %s [VOĽBA]... ZDROJ... ADRESÃR (3. tvar)\n" " alebo: %s [VOĽBA]... -t ADRESÃR CIEĽ... (4. tvar)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "Nie je možné kombinovaÅ¥ --target-directory a --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "nie je možné vytvoriÅ¥ adresár %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: neznámy" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Použitie: %s [VOĽBA]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "žiadne prihlasovacie meno" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignoruje sa neplatná hodnota premennej prostredia QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorujem chybnú šírku v premennej prostredia COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "ignorujem chybný rozostup tabulátorov v premennej prostredia TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "neplatná šírka riadka: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "neplatná veľkosÅ¥ tabulátora: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "neplatný formát Äasu: %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Platné argumenty sú:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "neznáma predpona: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "nezrozumiteľná hodnota v premennej prostredia LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "nie je možné otvoriÅ¥ adresár %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "nie je možné urÄiÅ¥ zariadenie a inode pre %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: nevypisuje sa už vypísaný adresár" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "Äíta sa adresár %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "zatvíra sa adresár %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "nie je možné porovnaÅ¥ názvy súborov %s a %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -g (ignorované)\n" " -G, --no-group nevypisovaÅ¥ informácie o skupinách\n" " -h, --human-readable veľkosti v ľahko Äitateľnom formáte\n" " (napr. 1K 234M 2G)\n" " --si podobne, ale použiÅ¥ mocniny 1000 namiesto 1024\n" " -H zatiaľ to isté ako --si; Äoskoro sa zmení\n" " kvôli kompatibilite s POSIX-om\n" " --indicator-style=Å TÃL pripojiÅ¥ indikátor Å¡týlu Å TÃL k názvom:\n" " none (predvoľba), classify (-F), file-type (-" "p)\n" " -i, --inode ku každému súboru vypísaÅ¥ aj Äíslo jeho i-uzlu\n" " -I, --ignore=VZOR nevypisovaÅ¥ súbory vyhovujúce shellovému VZORu\n" " -k, --kilobytes ako --block-size=1024\n" " -l použiÅ¥ dlhý formát\n" " -L, --dereference v prípade symbolických odkazov vypísaÅ¥ " "vlastnosti,\n" " súboru, na ktorý odkaz odkazuje\n" " -m oddeľovaÅ¥ súbory Äiarkami\n" " -n, --numeric-uid-gid namiesto mena vlastníka (UID) a skupiny (GID)\n" " vypísaÅ¥ Äísla\n" " -N, --literal nespracovávaÅ¥ riadiace znaky v názvoch súborov\n" " -o použiÅ¥ dlhý formát bez informácií o skupinách\n" " -p, --file-type doplniÅ¥ znak urÄujúci typ každého souboru " "(jeden z /=@|)\n" " -q, --hide-control-chars namiesto negrafických znakov vypísaÅ¥ '?'\n" " --show-control-chars vypísaÅ¥ aj negrafické znaku (predvolené)\n" " -Q, --quote-name vložiÅ¥ názvy do úvodzoviek (citácia)\n" " --quoting-style=SLOVO citovaÅ¥ mená Å¡týlom SLOVO:\n" " literal, shell, shell-always, c, escape\n" " -r, --reverse usporiadaÅ¥ v opaÄnom poradí\n" " -R, --recursive vypísaÅ¥ adresáre rekurzívne\n" " -s, --size vypísaÅ¥ veľkosÅ¥ každého súboru v blokoch\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr " -R, --recursive vypíše adresáre rekurzívne\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Použitie: %s [VOĽBA] [SÚBOR]...\n" "Vypíše alebo skontroluje kontrolné súÄty %s (%d-bit).\n" " Pokiaľ nie je SÚBOR zadaný, naÄíta sa Å¡tandardný vstup.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr " -b, --binary ÄítaÅ¥ v binárnom režime\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary ÄítaÅ¥ v binárnom režime\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -b, --binary ÄítaÅ¥ v binárnom režime\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "%s: nenájdené správne sformátované riadky %s kontrolného súÄtu" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %lu: nesprávne sformátovaný riadok %s kontrolného súÄtu" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: ZLYHALO otvorenie alebo Äítanie\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "CHYBNÃ" #: src/md5sum.c:597 msgid "OK" msgstr "V PORIADKU" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: nenájdené správne sformátované riadky %s kontrolného súÄtu" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %lu: nesprávne sformátovaný riadok %s kontrolného súÄtu" msgstr[1] "%s: %lu: nesprávne sformátovaný riadok %s kontrolného súÄtu" msgstr[2] "%s: %lu: nesprávne sformátovaný riadok %s kontrolného súÄtu" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "prepínaÄ --status má význam iba pri overovaní kontrolných súÄtov" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "prepínaÄe --binary a --text sú bezvýznamné pri overovaní kontrolných súÄtov" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "prepínaÄ --status má význam iba pri overovaní kontrolných súÄtov" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "prepínaÄ --warn má význam iba pri overovaní kontrolných súÄtov" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "prepínaÄ --status má význam iba pri overovaní kontrolných súÄtov" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "prepínaÄ --status má význam iba pri overovaní kontrolných súÄtov" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Použitie: %s [VOĽBA... ADRESÃR...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=PRÃVA nastaviÅ¥ prístupové práva (ako s 'chmod'), nie rwxrwxrwx " "-\n" " umask\n" " -p, --parents existencia nie je chybou, vytvoriÅ¥ rodiÄovské adresáre,\n" " pokiaľ je to potrebné.\n" " -v, --verbose vypísaÅ¥ správu o každom vytváranom adresári\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "bol vytvorený adresár %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Použitie: %s [VOĽBA]... NÃZOV...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=PRÃVA nastaviÅ¥ prístupové PRÃVA (ako s „chmod“), nie a=rw - " "umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "neplatný režim" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Použitie: %s [VOĽBA]... NÃZOV TYP [HLAVNÉ VEDĽAJÅ IE]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b vytvoriÅ¥ blokový Å¡peciálny súbor (s buferom)\n" " c, u vytvoriÅ¥ znakový Å¡peciálny súbor (bez bufera)\n" " p vytvoriÅ¥ rúru (FIFO)\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Pri vytváraní Å¡peciálneho blokového súboru musí byÅ¥ zadané\n" "hlavné a vedľajÅ¡ie Äíslo zariadenia." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO nemajú hlavné a vedľajÅ¡ie Äísla zariadenia." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "Å¡peciálne blokové súbory nie sú podporované" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "Å¡peciálne znakové súbory nie sú podporované" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "neplatné hlavné Äíslo zariadenia %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "neplatné vedľajÅ¡ie Äíslo zariadenia %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "neplatné zariadenie %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "neplatný typ zariadenia %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Použitie: %s [VOĽBA]... [Å ABLÓNA]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "príliÅ¡ veľa Å¡ablón" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "nie je možné vytvoriÅ¥ adresár prostredníctvom Å¡ablóny %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "nepodarilo sa vytvoriÅ¥ súbor prostredníctvom Å¡ablóny %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "SkopírovaÅ¥ ZDROJ na CIEĽ alebo viacero CIEĽOV do ADRESÃRa.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " -a, --archive rovnaké ako -dpR\n" " --backup[=CONTROL] vytvoriÅ¥ zálohu každého existujúceho " "cieľového súboru\n" " -b ako --backup, ale neprijíma arhument\n" " --copy-contents pri rekurzívnom kopírovaní skopírovaÅ¥ obsah " "Å¡peciálnych súborov\n" " -d rovnaké ako --no-dereference --" "preserve=links\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára\n" " -T, --no-target-directory považovaÅ¥ CIEĽ za bežný súbor\n" " -u, --update premiestniÅ¥ iba ak je ZDROJový súbor novší\n" " ako cieľový súbor alebo keÄ cieľový súbor " "chýba\n" " -v, --verbose vypisovaÅ¥ informácie o priebehu\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Použitie: %s [VOĹBA] [PRÃKAZ [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "neplatné nastavenie %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "s úpravou musí byÅ¥ zadaný príkaz" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "nie je možné zistiÅ¥ nice" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "nie je možné nastaviÅ¥ nice" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa\n" "Å¡tandardný vstup.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=Å TÃL použiÅ¥ Å TÃL na Äíslovanie riadkov tela\n" " -d, --section-delimiter=CC použiÅ¥ CC na oddelenie logických stránok\n" " -f, --footer-numbering=Å TÃL použiÅ¥ Å TÃL na Äíslovanie riadkov pätiÄky\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "preteÄenie poÄtu riadkov" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "neplatný Å¡týl Äíslovania hlaviÄky: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "neplatný Å¡týl Äíslovania tela: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "neplatný Å¡týl Äíslovania pätiÄky: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "neplatné poÄiatoÄné Äíslo riadka: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "neplatná hodnota prírastku Äísla riadka: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "neplatný poÄet prázdnych riadkov: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "neplatná šírka poľa Äísla riadku: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "neplatný formát Äíslovania riadkov: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s PRÃKAZ [ARG]...\n" " alebo: %s VOĽBA\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "obidva súbory nemôžu byÅ¥ Å¡tandardným vstupom" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignoruje sa vstup" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "pridáva sa výstup k %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Použitie: %s [VOĽBA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: chybný poÄet riadkov" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: hodnota nebola úplne prevedená" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "neplatné Äíslo %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "naplatná prípona v argumente %s%s „%s“" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: nepodarilo sa otvoriÅ¥ na zápis" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "neplatná veľkosÅ¥ tabulátora: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "cieľ %s nie je adresárom" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "neplatná šírka vo formáte" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "naplatná prípona v argumente %s%s „%s“" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "chybný rozsah stránok %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "chybné Äíslo položky: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "neplatný dátum %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Operandy súboru nie je možné kombinovaÅ¥ s --print-database (-p)." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Operandy súboru nie je možné kombinovaÅ¥ s --print-database (-p)." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "uvedených viacero volieb -i" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Operandy súboru nie je možné kombinovaÅ¥ s --print-database (-p)." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "chyba pri Äítaní %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "obidva súbory nemôžu byÅ¥ Å¡tandardným vstupom" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Použitie: %s [VOĽBA]... [SÚBOR]...\n" " alebo: %s [-abcdfilosx]... [SÚBOR] [[+]POSUN[.][b]]\n" " alebo: %s --traditional [VOĽBA]... [SÚBOR] [[+]POSUN[.][b] [+][NÃVESTIE]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Po BLOKOV a BAJTOV môže byÅ¥ uvedená jedna z nasledovných prípon:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 atÄ pre T, P, E, Z, Y.\n" "\n" "Každý symbol KONV môže byÅ¥:\n" "\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "neplatný reÅ¥azec typu %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "neplatný reÅ¥azec typu %s;\n" "tento systém neposkytuje %lu-bajtové celé Äísla" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "neplatný reÅ¥azec typu %s;\n" "tento systém neposkytuje %lu-bajtové Äísla s plávajúcou desatinnou\n" "Äiarkou" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "neplatný znak „%c“ v reÅ¥azci typu „%s“" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "nemožno preskoÄiÅ¥ koniec kombinovaného vstupu" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "chybný základ výstupnej adresy `%c'; musí to byÅ¥ jeden zo znakov [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "pri vypisovaní reÅ¥azcov nemožno zadaÅ¥ typ" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "V kompatibilnom režime je podporovaný najviac jeden súbor." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "upozornenie: chybná šírka %lu; namiesto nej sa použije %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: neplatný signál" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "Å¡tandardný vstup je uzavrený" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa\n" "Å¡tandardný vstup.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "neprenosný znak %s v názve súboru %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "prázdny názov súboru" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: nebolo možné urÄiÅ¥ maximálnu dĺžku názvu súboru" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "obmedzenie dĺžky %lu prekroÄené o %lu v názve súboru %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "obmedzenie dĺžky %lu prekroÄené o %lu v zložke názvu súboru %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 #, fuzzy msgid "?????" msgstr "???\n" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Prihlasovacie meno: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "V reáli: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Adresár: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plán:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr " Meno" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "NeÄin" #: src/pinky.c:411 msgid "When" msgstr "Kedy" #: src/pinky.c:414 msgid "Where" msgstr "Kde " #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "neboli zadané používateľské mená; pri použití prepínaÄa -l je potrebné zadaÅ¥ " "aspoň jedno" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=PRVÃ_STRÃNKA[:POSLEDNÃ_STRÃNKA]' chýbajúci parameter" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "chybný rozsah stránok %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "„-l DĹŽKA_STRÃNKY“ neplatný poÄet riadkov: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "„-N ÄŒÃSLO“ chybné Äíslo poÄiatoÄného riadka: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "„-o OKRAJ“ chybný posun riadka: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "„-w Å ÃRKA_STRÃNKY“ neplatný poÄet znakov: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "„-W Å ÃRKA_STRÃNKY“ neplatný poÄet znakov: %s" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Pri výpise vedľa seba, nie je možné zadaÅ¥ poÄet stĺpcov." # wzdluz? - rzm #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Nie je možné zadaÅ¥ výpis súborov po sebe a vedľa seba." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "„-%c“ nadbytoÄné znaky alebo neplatné Äíslo v argumente: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "šírka stránky je príliÅ¡ malá" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "PreteÄenie Äísla strany" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " Porovnáva súbory ĽAVÃ_SÚBOR a PRAVÃ_SÚBOR, ktorých riadky sú usporiadané\n" "podľa nejakého kľúÄa, riadok po riadku. Výstupom sú tri stĺpce, riadky " "obsiahnuté\n" "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky spoloÄné\n" "obom súborom.\n" "\n" " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" " -3 neukazuje riadky spoloÄné obom súborom\n" " --help vypíše tuto nápovedu a skonÄí\n" " --version vypíše oznaÄenie verzie a skonÄí\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Bez SÚBORu alebo keÄ SÚBOR je - Äíta zo Å¡tand. vstupu.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Použitie: %s [PREMENNÃ]...\n" " alebo: %s VOĽBA\n" "Pokiaľ nie je zadaná PREMENNÃ, vypísaÅ¥ vÅ¡etky.\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "upozornenie: %s: znak (znaky) nasledujúce za znakovou konÅ¡tantou boli " "ignorované" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s FORMÃT [ARGUMENT]...\n" " alebo: %s [VOĽBA]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: oÄakávaná numerická hodnota" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: hodnota nebola úplne prevedená" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "v sekvencii chýba hexadecimálne Äíslo" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "chybná trieda znaku `%s'" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "chybné Äíslo položky: `%s'" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "chybný typ reÅ¥azca `%s'" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: chybne zadaná položka `%s'" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "upozornenie: nadbytoÄné argumenty boli ignorované, zaÄína sa s %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (pre regvýr `%s')" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Použitie: %s [PREPÃNAÄŒ]... [VSTUP]... (bez -G)\n" " alebo: %s -G [PREPÃNAÄŒ]... [VSTUP [VÃSTUP]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Bez SÚBORu alebo keÄ SÚBOR je - Äíta zo Å¡tand. vstupu.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "chybné Äíslo položky: `%s'" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "zmena skupiny %s na %s zlyhala\n" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "zlyhalo stat() %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignurujú sa argumenty, ktoré nie sú voľbami" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignurujú sa argumenty, ktoré nie sú voľbami" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: zostúpiÅ¥ do adresára chráneného voÄi zápisu %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: zostúpiÅ¥ do adresára %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: zmazaÅ¥ súbor chránený proti zápisu %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: zmazaÅ¥ %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "odstránený adresár: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "nie je možné odstrániÅ¥ adresár %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "zlyhalo Äítanie" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: odstrániÅ¥ vÅ¡etky argumenty? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "odstraňuje sa adresár, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "nepodarilo sa odstrániÅ¥ adresár %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents odstrániÅ¥ ADRESÃR a potom vÅ¡etky elementy cesty k nemu.\n" " Napr. „rmdir -p a/b/c“ je podobný ako „rmdir a/b/c a/b " "a“.\n" " --verbose vypísaÅ¥ správu pre každý spracovaný adresár\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "nepodarilo sa odstrániÅ¥ %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "nepodarilo sa zistiÅ¥ aktuálny kontext" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nebol zadaný príkaz" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "nepodarilo sa vypoÄítaÅ¥ nový kontext" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "nepodarilo sa nastaviÅ¥ nového používateľa %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "nepodarilo sa nastaviÅ¥ nový typ %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "nepodarilo sa nastaviÅ¥ nový rozsah %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "nepodarilo sa nastaviÅ¥ novú rolu %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "nie je možné nastaviÅ¥ bezpeÄnostný kontext %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Použitie: %s [VOĽBA]... POSLEDNÃ\n" " alebo: %s [VOĽBA]... PRVà POSLEDNÃ\n" " alebo: %s [VOĽBA]... PRVà KROK POSLEDNÃ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "KROK by mal byÅ¥ kladný, pokiaľ je ZAÄŒIATOK menší ako KONIEC, inak záporný.\n" "Pokiaľ je zadaný, FORMÃT musí obsahovaÅ¥ práve jeden z výstupných\n" "printf-formátov pre Äísla v pohyblivej rádovej Äiarke %%e, %%f alebo %%g.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "neplatný argument s plávajúcou desatinnou Äiarkou: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s je neznámy typ souboru" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "keÄ sa tlaÄia reÅ¥azce s rovnakou šírkou, formátovací reÅ¥azec nemusí byÅ¥ " "zadaný" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Použitie: %s VOĽBA POUŽÃVATEĽ PRÃKAZ [ARGUMENT]...\n" " alebo: %s VOĽBA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "nie je možné nastaviÅ¥ ÄalÅ¡ie skupiny" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "nie je možné nastaviÅ¥ ID-skupiny na %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "nie je možné nastaviÅ¥ ID-používateľa na %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync zlyhalo" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync zlyhal" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: nie je možné presunúť sa na zaÄiatok súboru" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: prechod %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: chyba pri zápise na ofset %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek zlyhal" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: súbor je príliÅ¡ veľký" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: prechod %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: prechod %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat zlyhal" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: neplatný typ súboru" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: súbor má zápornú dĺžku" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: chyba pri skracovaní" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl zlyhalo" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: nie je možné skartovaÅ¥ deskriptor urÄený iba pre pridávanie" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: maže sa" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: premenovaný na %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: nepodarilo sa odstrániÅ¥" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: zmazaný" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: nepodarilo sa zatvoriÅ¥" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: nepodarilo sa otvoriÅ¥ na zápis" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: neplatný poÄet prechodov" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "boli uvedené viaceré náhodné zdroje" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: neplatná veľkosÅ¥ súboru" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Použitie: %s [VOĽBA]... [SÚBOR]\n" " alebo: %s -e [VOĽBA]... [ARG]...\n" " alebo: %s -i LO-HI [VOĽBA]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "uvedených viacero volieb -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "neplatný rozash vstupu %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "naplatný poÄet riadkov %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "uvedených viacero výstupných súborov" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "nie je možné kombinovaÅ¥ voľby -e a -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Použitie: %s ÄŒÃSLO[PRÃPONA]...\n" " alebo: %s VOĽBA\n" "PoÄkaÅ¥ POÄŒET sekúnd.\n" "PRÃPONA môže byÅ¥ s pre sekundy, m pre minúty, h pre hodiny alebo d pre dni.\n" "Na rozdiel od väÄÅ¡iny implementácií vyžadujúcich, aby ÄŒÃSLO bolo celé, tu\n" "môže byÅ¥ zadané aj ako desatinné.\n" "\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "chybné Äíslo položky: `%s'" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "nie je možné preÄítaÅ¥ hodiny reálneho Äasu" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" "Spojí vÅ¡etky SÚBORy a zotriedený výsledok zapíše na Å¡tandardný výstup.\n" "\n" "Voľby zoraÄovania:\n" "\n" " -b, --ignore-leading-blanks ignoruje úvodné medzery\n" " -d, --dictionary-order zohľadňuje iba medzery a alfanumerické znaky\n" " -f, --ignore-case zamení v kľúÄoch malé písmená za veľké\n" " -g, --general-numeric-sort porovnáva podľa vÅ¡eobecnej veľkosti Äísiel\n" " -i, --ignore-nonprinting zohľadňuje iba tlaÄiteľné znaky\n" " -M, --month-sort porovná podľa mesiacov (neznámy) < `JAN' <\n" " ... < `DEC'\n" " -n, --numeric-sort porovná podľa reÅ¥azcovej veľkosti Äísiel\n" " -r, --reverse obrátený výsledok porovnávania\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POZ je F[.C][PREPÃNAÄŒE], kde F je Äíslo položky a C pozícia znaku v " "položke,\n" "obidvoje poÄítané od 1 s -k, od 0 so zastaranou formou. PREPÃNAÄŒE sú " "vytvorené\n" "z jedného alebo viacerých písmen radenia, ktoré zablokujú globálne " "nastavenie\n" "pre tento kľúÄ. Ak nebude kÄ¾ÃºÄ zadaný, ako kÄ¾ÃºÄ sa použije celý riadok.\n" "Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa Å¡tandardný vstup.\n" "\n" "VEĽKOSŤ môže byÅ¥ nasledovaná nasledovnými príponami násobkov:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "4ak8 sa na %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "nie je možné vytvoriÅ¥ doÄasný súbor %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "zlyhalo otvorenie" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush zlyhalo" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "zlyhalo zatvorenie súboru" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 zlyhalo" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nebolo možné spustiÅ¥ %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "nebolo možné vytvoriÅ¥ doÄasný súbor" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "nie je možné vytvoriÅ¥ proces pre %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nebolo možné vykonaÅ¥ %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "upozornenie: nie je možné odstrániÅ¥: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "chybný argument %s pre `%s'" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "neplatný %s%s argument „%s“" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s%s argument „%s“ je príliÅ¡ veľký" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "zlyhal stat" #: src/sort.c:1755 msgid "read failed" msgstr "zlyhalo Äítanie" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "transformácia reÅ¥azca sa nepodarila" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "netransformovaný reÅ¥azec bol %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: prepínaÄ `-W %s' nie je jednoznaÄný\n" msgstr[1] "%s: prepínaÄ `-W %s' nie je jednoznaÄný\n" msgstr[2] "%s: prepínaÄ `-W %s' nie je jednoznaÄný\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "chyba pri zápise" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: nezotriediteľné: " #: src/sort.c:2786 msgid "standard error" msgstr "Å¡tandardná chyba" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "nie je možné spustiÅ¥ %s" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: chybne zadaná položka `%s'" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: chybný poÄet na zaÄiatku `%s'" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "chybné Äíslo za `-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "chybné Äíslo za `.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "neoÄakávaný znak v Å¡pecifikácii položky" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "\\%c: neprípustná sekvencia" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "chybné Äíslo na zaÄiatku položky" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "Äíslo položky je nula" #: src/sort.c:4392 msgid "character offset is zero" msgstr "pozícia znaku je nula" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "chybné Äíslo za `,'" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "prázdna záložka" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "nie je možné vytvoriÅ¥ odkaz %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "neplatná skupina" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "vytváram súbor `%s'\n" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "nadbytoÄný operand `%s' nie je povolený, pokiaľ je použité -c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Použitie: %s [PREPÃNAÄŒ] [SÚBOR [PREDPONA]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "vytvára sa súbor %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "nepodarilo sa nastaviÅ¥ novú rolu %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "nepodarilo sa odstrániÅ¥ %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "zatvíra sa adresár %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "zatváram výstupný súbor %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "vytváram súbor `%s'\n" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "vytváram súbor `%s'\n" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "nepodarilo sa zmeniÅ¥ bezpeÄnostný kontext %s na %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "nie je možné zatvoriÅ¥ adresár %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "chyba pri zápise %s" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "súbor sa nedá rozdeliÅ¥ viacerými spôsobmi" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: neplatný poÄet sekúnd" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: chybné Äíslo" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: neplatná dĺžka prípony" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: chybný poÄet bajtov" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: chybný poÄet riadkov" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "voľba poÄtu riadkov -%s%c... je príliÅ¡ veľká" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "neplatné poÄiatoÄné Äíslo riadka: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: neplatná veľkosÅ¥ súboru" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "nie je možné zistiÅ¥ názov systému" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "upozornenie: nerozpoznaná úniková klauzula „\\%c“" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: neplatná direktíva" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "upozornenie: spätná lomka na konci reÅ¥azca" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "nie je možné naÄítaÅ¥ systémové informácie %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "zatvára sa Å¡tandardný vstup" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr "neplatný kontexxt: %s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Použitie: %s [VOĽBA]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 #, fuzzy msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "VEĽKOSŤ môže byÅ¥ (alebo môže byÅ¥ celé Äíslo, po ktorom nasleduje) jedno z " "nasledovných:\n" "kB 1000, K 1024, MB 1000*1000, M 1024*1024 atÄ pre G, T, P, E, Z, Y.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "nepodarilo sa otvoriÅ¥ %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "nie je možné nastaviÅ¥ bezpeÄnostný kontext %s na %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Použitie: %s [-F ZARIADENIE] [--file=ZARIADENIE] [NASTAVENIE]...\n" " alebo: %s [-F ZARIADENIE] [--file=ZARIADENIE] [-a|--all]\n" " alebo: %s [-F ZARIADENIE] [--file=ZARIADENIE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "NastaviÅ¥ alebo zmeniÅ¥ charakteristiku terminálu.\n" "\n" " -a, --all vypísaÅ¥ vÅ¡etky aktuálne nastavenia vo formáte\n" " Äitateľnom pre Äloveka\n" " -g, --save vypísaÅ¥ vÅ¡etky aktuálne nastavenia vo formáte\n" " Äitateľnom pre stty\n" " -F, --file=ZARIADENIE otvoriÅ¥ a používaÅ¥ zadané zariadenie namiesto\n" " Å¡tandardného vstupu\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb používaÅ¥ dva stop bity (jeden s „-“)\n" " [-]hup poslaÅ¥ signál zavesenia, keÄ posledný proces zatvorí " "terminál\n" " [-]hupcl ako [-]hup\n" " [-]parenb generovaÅ¥ paritný bit na výstupa a oÄakávaÅ¥ ho na vstupe\n" " [-]parodd nastaviÅ¥ nepárnu paritu (aj s „-“)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "* [-]ocrnl prekladaÅ¥ znaky návratu na zaÄiatok riadka na nové riadky\n" "* [-]ofdel pre vyplnenie použiÅ¥ znaky vymazania namiesto nulových " "znakov\n" "* [-]ofill použiÅ¥ výplňové znaky namiesto oneskorení\n" "* [-]olcuc prekladaÅ¥ malé znaky na veľké\n" "* [-]onlcr prekladaÅ¥ nové riadky na znaky návratu na zaÄiatok riadka\n" "* [-]onlret znak nového riadku prejde na zaÄiatok riadka\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Ovládanie terminálu pripojeného na Å¡tandardný vstup. Bez argumentov\n" "vypíše baudovú rýchlosÅ¥, linkovú disciplínu a odchylky od stty sane.\n" "V nastaveniach sa ZNAK Å¡pecifikuje tak ako je, alebo kódovaný spôsobom\n" "^c, 0x37, 0177 alebo 127; pre zákaz Å¡peciálneho znaku treba použiÅ¥\n" "^- alebo undef.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "môže byÅ¥ zadané iba jedno zariadenie" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "prepínaÄe --string a --check sa vzájomne vyluÄujú" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "úri Å¡pecifikácii výstupného Å¡týlu nemusia byÅ¥ režimy nastavené" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: nie je možné opustiÅ¥ neblokovací režim" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "chybný argument %s pre `%s'" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "nejednoznaÄný argument %s pre `%s'" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "chybné Äíslo položky: `%s'" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: nie je možné vykonaÅ¥ vÅ¡etky požadované operácie" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: neexistuje informácia o veľkosti tohoto zariadenia" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "neplatný celoÄíselný argument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Ku každému SÚBORu vypíše kontrolný súÄet a poÄet blokov.\n" "\n" " -r má prednosÅ¥ pred -s, použije algoritmus BSD a bloky " "veľkosti 1 KB\n" " -s, --sysv použije algoritmus System V a bloky veľkosti 512 bajtov\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorujú sa vÅ¡etky argumenty" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help zobrazí tohto pomocníka a skonÄí\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version vypíše informácie o verzii a skonÄí\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Povinné argumenty dlhých tvarov volieb sú taktiež povinné pre krátke tvary " "volieb.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Chyby v programe oznamujte tu: <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Viac informácií získate príkazom `%s --help'.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "UPOZORNENIE: Zacyklená Å¡truktúra adresárov.\n" "To skoro urÄite znamená, že máte poÅ¡kodený súborový systém.\n" "INFORMUJTE SVOJHO SPRÃVCU SYSTÉMU.\n" "Nasledujúce adresáre sú súÄasÅ¥ou cyklu:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa\n" "Å¡tandardný vstup.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before pripojí oddeľovaÄ riadkov pred riadky namiesto\n" " za ne\n" " -r, --regex interpretuje oddeľovaÄ ako regulárny výraz\n" " -s, --separator=REŤAZEC použije REŤAZEC ako oddeľovaÄ namiesto nového " "riadku\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: zlyhalo posunutie v súbore" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "záznam je príliÅ¡ dlhý" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "nie je možné vytvoriÅ¥ doÄasný súbor %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: nepodarilo sa otvoriÅ¥ na zápis" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "nie je možné zachovaÅ¥ Äasy %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: chyba pri zápise" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "nie je možné otvoriÅ¥ %s pre Äítanie" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "oddeľovaÄ nemôže byÅ¥ prázdny" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Vypíše prvých %d riadkov každého súboru na Å¡tandardný výstup. S viac ako\n" "jedným súborom, bude pred vypísaním každého uvedená hlaviÄka obsahujúca " "meno\n" "súboru. Ak SÚBOR nebude zadaný alebo bude -, naÄíta sa Å¡tandardný vstup.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "zatvára sa %s (fd=%d)" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "nie je možné vytvoriÅ¥ adresár %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "`%s' sa stal nedostupným" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "súbor `%s' bol nahradený iným, neumožňujúcim sledovanie jeho konca." #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "súbor `%s' bol nahradený iným, neumožňujúcim sledovanie jeho konca." #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "`%s' sa stal dostupným" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "súbor %s sa objavil. Sledovanie konca súboru pokraÄuje." #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "" "súbor %s bol nahradený iným. Sledovanie konca súboru\n" "pokraÄuje." #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: nie je možné opustiÅ¥ neblokovací režim" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: súbor bol skrátený" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "už nezostávajú žiadne súbory" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "nie je možné stat() aktuálny adresár (%s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "vyÄerpaná pamäť" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "nie je možné vykonaÅ¥ touch %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "chyba pri Äítaní %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: nie je možné sledovaÅ¥ koniec tohoto typu súboru; zanechávam tento názov" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "%s je príliÅ¡ veľa" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: neplatné Äíslo maximálneho poÄtu nezmenených výsledkov funkcie stat\n" "medzi otvoreniami" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: chybné PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: neplatný poÄet sekúnd" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "upozornenie: --retry je užitoÄné najmä pri sledovaní podľa názvu" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "upozornenie: PID bol ignorovaný; --pid=PID je užitoÄné iba pri nasledovaní" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "upozornenie: --pid=PID nie je na tomto systéme podporované" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "nie je možné vytvoriÅ¥ doÄasný súbor" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 #, fuzzy msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "KopírovaÅ¥ Å¡tandardný vstup do každého SÚBORU a tiež na Å¡tandardný výstup.\n" "\n" " -a, --append pridaÅ¥ na koniec SÚBORU, neprepisovaÅ¥\n" " -i, --ignore-interrupts ignorovaÅ¥ signály preruÅ¡enia\n" " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "nejednoznaÄný argument %s pre `%s'" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "neplatné celé Äíslo %s" #: src/test.c:241 msgid "')' expected" msgstr "oÄakávaný znak „)â€" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "oÄakávaný znak „)â€, nájdený %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: oÄakával sa unárny operátor" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt neakceptuje -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef neakceptuje -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot neakceptuje -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "neznámy binárny operátor" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: oÄakával sa binárny operátor" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 #, fuzzy msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" "\n" " --help vypíše túto nápovedu a skonÄí\n" " --version vypíše oznaÄenie verzie a skonÄí\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 #, fuzzy msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ( VÃRAZ ) VÃRAZ je pravdivý\n" " ! VÃRAZ VÃRAZ je nepravdivý\n" " VÃRAZ1 -a VÃRAZ2 VÃRAZ1 aj VÃRAZ2 sú pravdivé\n" " VÃRAZ1 -o VÃRAZ2 VÃRAZ1 alebo VÃRAZ2 je pravdivý\n" "\n" " [-n] REŤAZEC dĺžka REŤAZCA je nenulová\n" " -z REŤAZEC dĺžka REŤAZCA je nulová\n" " REŤAZEC1 = REŤAZEC2 reÅ¥azce sa rovnajú\n" " REŤAZEC1 != REŤAZEC2 reÅ¥azce sa nerovnajú\n" "\n" " CELÉČÃSLO1 -eq CELÉČÃSLO2 CELÉČÃSLO1 sa rovná CELÉČÃSLO2\n" " CELÉČÃSLO1 -ge CELÉČÃSLO2 CELÉČÃSLO1 je väÄÅ¡ie alebo rové CELÉČÃSLO2\n" " CELÉČÃSLO1 -gt CELÉČÃSLO2 CELÉČÃSLO1 je väÄÅ¡ie ako CELÉČÃSLO2\n" " CELÉČÃSLO1 -le CELÉČÃSLO2 CELÉČÃSLO1 je menÅ¡ie alebo rovné CELÉČÃSLO2\n" " CELÉČÃSLO1 -lt CELÉČÃSLO2 CELÉČÃSLO1 je menÅ¡ie ako CELÉČÃSLO2\n" " CELÉČÃSLO1 -ne CELÉČÃSLO2 CELÉČÃSLO1 sa nerovná CELÉČÃSLO2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 #, fuzzy msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Pozor na to, že zátvorky musia byÅ¥ v shelli chránené (napr. spätnými\n" "lomítkami. CELÉČÃSLO môže byÅ¥ tiež -l REŤAZEC, Äo sa vyhodnotí na\n" "dĺžku REŤAZCA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "test a/alebo [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "chýba „]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argument %s je naviac" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Použitie: %s VOĽBA POUŽÃVATEĽ PRÃKAZ [ARGUMENT]...\n" " alebo: %s VOĽBA\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Povinné argumenty dlhých tvarov volieb sú taktiež povinné pre krátke tvary " "volieb.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "chyba pri zápise %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "chybný formát dátumu %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "nie je možné vykonaÅ¥ touch %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "nastavujem Äasy %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference má vplyv na každý symbolický odkaz, nie len na\n" " súbory, na ktoré sa odkazuje (to je užitoÄné iba " "na\n" " systémoch, ktoré môžu zmeniÅ¥ Äasovú známku\n" " symbolického odkazu)\n" " -m zmeniÅ¥ len Äas poslendnej zmeny\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "nie je možné uviesÅ¥ poÄet z viac ako jedného zdroja" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "upozornenie: „touch %s“ je zastaralé; použite „touch -t %04ld%02d%02d%02d" "%02d.%02d“" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... MNOŽINA1 [MNOŽINA2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" " Nahradzuje, komprimuje a/alebo maže znaky zo Å¡tandardného vstupu, " "výsledok\n" "je zapisovaný na Å¡tandardný výstup.\n" "\n" " -c, --complement najprv vytvorí doplnok MNOŽINY1\n" " -d, --delete iba maže znaky z MNOŽINY1\n" " -s, --squeeze-repeats nahradí postupnosti jedného znaku iba jedným\n" " -t, --truncate-set1 najprv skráti MNOŽINU1 na dĺžku MNOŽINY2\n" " --help vypíše túto nápovedu a skonÄí\n" " --version vypíše oznaÄenie verzie a skonÄí\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "upozornenie: nejednoznaÄný osmiÄkový zápis \\%c%c%c bude\n" "\tinterpretovaný ako 2-bajtová postupnosÅ¥ \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "upozornenie: spätná lomka na konci reÅ¥azca bez únikovej klauzuly nie je " "portabilná" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "konce rozsahu `%s-%s' sú v obrátenom poradí" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "chybný poÄet opakovaní „%s†v konÅ¡trukcii [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "chýba názov triedy znaku „[::]â€" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "chýba názov triedy znaku „[::]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "chybná trieda znaku %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: operand v triede [=c=] musí byÅ¥ jediný znak" # ? - rzm #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "nezarovnané(á) konÅ¡trukcie(a) [:upper:] a/alebo [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "príliÅ¡ veľa znakov v množine" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" # should it be string1 or SET1? #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "konÅ¡trukcia opakovania [c*] sa nemôže vyskytovaÅ¥ v string1" # string2 or SET2? #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "konÅ¡trukcia opakovania [c*] sa môže vyskytovaÅ¥ v string1 iba raz" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "výraz [=c=] sa nemôže vyskytovaÅ¥ v string1 pri nahradzovaní" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "pri nahradzovaní môžu byÅ¥ v string2 iba triedy znakov\n" "`upper' a `lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "pokiaľ MNOŽINA1 nie je skracovaná, potom MNOŽINA2 nesmie byÅ¥ prázdna" # ? - rzm #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "pri nahradzovaní s triedou doplnku množiny znakov\n" "string2 musí mapovaÅ¥ vÅ¡etky znaky z tejto oblasti do jedného" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "výraz [c*] môže byÅ¥ v string2 iba pri nahradzovaní" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "dve množiny musia byÅ¥ zadané pri mazaní a komprimovaní opakujúcich sa znakov" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Pri preklade musia byÅ¥ zadané dva reÅ¥azce" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Iba jeden reÅ¥azec môže byÅ¥ zadaný pri mazaní bez komprimovania\n" "opakujúcich sa znakov." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Použitie: %s [ignorované parametre príkazového riadka]...\n" " alebo: %s VOĽBA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 #, fuzzy msgid " -c, --no-create do not create any files\n" msgstr " -d, --directory vytvoriÅ¥ adresár, nie súbor\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: súbor má zápornú dĺžku" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "súbor sa nedá rozdeliÅ¥ viacerými spôsobmi" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "preteÄenie pozície pri Äítaní súboru %s" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "preteÄenie pozície pri Äítaní súboru %s" #: src/truncate.c:230 #, fuzzy, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "presúvam sa za %s bajtov vo výstupnom súbore %s" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "boli uvedené viaceré cieľové adresáre" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "nie je možné nastaviÅ¥ bezpeÄnostný kontext %s na %s" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "nie je možné nastaviÅ¥ bezpeÄnostný kontext %s na %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "nie je možné otvoriÅ¥ %s na Äítanie" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Použitie: %s [VOĽBA] [SÚBOR]\n" "Výstupom je úplne zotriedený zoznam v súlade s ÄiastoÄným zotriedením " "SÚBORU.\n" " Pokiaľ nie je SÚBOR zadaný, naÄíta sa Å¡tandardný vstup.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: vstup obsahuje nepárny poÄet tokenov" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: vstup obsahuje cyklus:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "VypísaÅ¥ názov súboru terminálu spojeného so Å¡tandardným vstupom.\n" "\n" " -s, --silent, --quiet nevypisovaÅ¥ niÄ, iba vrátiÅ¥ výstupný stav\n" #: src/tty.c:120 msgid "not a tty" msgstr "nie je terminál" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "VypísaÅ¥ niektoré systémové informácie. Žiadna VOĽBA zodpovedá -s.\n" "\n" " -a, --all vypísaÅ¥ vÅ¡etky informácie v nasledovnom poradí,\n" " iba vynechaÅ¥ -p a -i ak sú neznáme:\n" " -s, --kernel-name vypísaÅ¥ názov jadra operaÄného systému\n" " -n, --nodename vypísaÅ¥ názov poÄítaÄa v sieti\n" " -r, --release vypísaÅ¥ verziu jadra operaÄného systému\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nie je možné zistiÅ¥ systémový názov" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, naÄíta sa\n" "Å¡tandardný vstup.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "hodnota tabulátora je príliÅ¡ veľká" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [VSTUP [VÃSTUP]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "príliÅ¡ veľa zopakovaných riadkov" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "chybný poÄet polí na preskoÄenie" # bytes to skip? we were talking about chars? - rzm #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "chybný poÄet znakov na preskoÄenie" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "chybný poÄet znakov na porovnanie" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "výpis vÅ¡etkých opakujúcich sa riadkov a poÄítadla opakovania nemá zmysel" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Použitie: %s SÚBOR\n" " alebo: %s VOĽBA\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "nie je možné odpojiÅ¥ (unlink) %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "nie je možné zistiÅ¥ Äas zavedenia systému" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s beží " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu používateľ" msgstr[1] "%lu používatelia" msgstr[2] "%lu používateľov" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", priemerná záťaž: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "VypísaÅ¥ aktuálny Äas, Äas od spustenia systému, poÄet používateľov\n" "systému a priemerný poÄet úloh vo fronte za poslednú minútu,\n" "5 minút a 15 minút.\n" "Pokiaľ nie je zadaný SÚBOR, použiÅ¥ %s. %s ako SÚBOR je obvyklý.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "VypísaÅ¥, kto je momentálne prihlásený podľa SÚBORU.\n" "Pokiaľ nie je zadaný SÚBOR, použiÅ¥ %s. %s ako SÚBOR je obvyklý.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "VypísaÅ¥, kto je momentálne prihlásený podľa SÚBORU.\n" "Pokiaľ nie je zadaný SÚBOR, použiÅ¥ %s. %s ako SÚBOR je obvyklý.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Ku každému SÚBORu vypíše poÄet riadkov, slov a bajtov. Ak bude zadaný viac\n" "ako jeden SÚBOR, vypíše aj celkové údaje. Pokiaľ SÚBOR nebude zadaný alebo\n" "bude -, naÄíta sa Å¡tandardný vstup.\n" "\n" " -c, --bytes vypíše poÄet bajtov\n" " -m, --chars vypíše poÄet znakov\n" " -l, --lines vypíše poÄet riadkov\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F naÄítaÅ¥ vstup zo súborov na základe\n" " nulou ukonÄených názvov v súbore F\n" " -L, --max-line-length vypísaÅ¥ dĺžku najdlhÅ¡ieho riadka\n" " -w, --words vypísaÅ¥ poÄty slov\n" #: src/who.c:210 msgid " old " msgstr " dávno " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "Systémová chyba" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "ukonÄ=" #: src/who.c:485 #, fuzzy msgid "LOGIN" msgstr "TERM" #: src/who.c:505 msgid "clock change" msgstr "zmena Äasu" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "úroveň-behu" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "posledný=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# používateľov=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NÃZOV" #: src/who.c:559 msgid "LINE" msgstr "TERM" #: src/who.c:559 msgid "TIME" msgstr "ÄŒAS" #: src/who.c:559 msgid "IDLE" msgstr "NEÄŒINNÃ" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTÃR" #: src/who.c:560 msgid "EXIT" msgstr "UKONÄŒ" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Použitie: %s [PREPÃNAÄŒ]... [ SÚBOR | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "VypísaÅ¥, kto je momentálne prihlásený podľa SÚBORU.\n" "Pokiaľ nie je zadaný SÚBOR, použiÅ¥ %s. %s ako SÚBOR je obvyklý.\n" "\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "VypísaÅ¥ meno používateľa spojené s aktuálnym efektívnym id používateľa.\n" "Rovnaké ako id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: nie je možné zistiÅ¥ meno pre ID používateľa %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "vytvára sa súbor %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Použitie: %s [VOĽBA] NÃZOV...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: neplatná dĺžka prípony" #~ msgid "reading %s" #~ msgstr "Äíta sa %s" #~ msgid "writing %s" #~ msgstr "zapisuje sa %s" #~ msgid "closing %s" #~ msgstr "zatvára sa %s" #~ msgid "accessing %s" #~ msgstr "pristupujem k %s" #~ msgid "opening %s" #~ msgstr "otváram %s" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nikdy nevytváraÅ¥ záložné kópie (ani ak bolo zadané --" #~ "backup)\n" #~ " numbered, t tvoriÅ¥ Äíslované záložné kópie\n" #~ " existing, nil tvoriÅ¥ Äíslované, pokiaľ už Äíslované záložné kópie\n" #~ " existujú, inak tvoriÅ¥ jednoduché\n" #~ " simple, never vždy tvoriÅ¥ jednoduché záložné kópie súborov \n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Použitie: %s [VOĽBA]... [SÚBOR]\n" #~ msgid "Password:" #~ msgstr "Heslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: nie je možné otvoriÅ¥ /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nie je možné nastaviÅ¥ skupiny" #~ msgid "cannot set group id" #~ msgstr "nie je možné nastaviÅ¥ ID skupiny" #~ msgid "cannot set user id" #~ msgstr "nie je možné nastaviÅ¥ ID používateľa" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Použitie: %s [VOĽBA]... [-] [POUŽÃVATEĽ [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "ZmeniÅ¥ efektívne id používateľa a skupiny na id POUŽÃVATEĽA.\n" #~ "\n" #~ " -, -l, --login urobiÅ¥ tento shell prihlasovacím\n" #~ " -c, --command=PRÃKAZ odovzdaÅ¥ shellu jediný PRÃKAZ pomocou -c\n" #~ " -f, --fast odovzdaÅ¥ shellu -f (pre csh alebo tcsh)\n" #~ " -m, --preserve-environment zachovaÅ¥ premenné prostredia\n" #~ " -p rovnaké ako -m\n" #~ " -s, --shell=SHELL spustiÅ¥ SHELL, pokiaľ to /etc/shells " #~ "povoľuje\n" #~ msgid "user %s does not exist" #~ msgstr "používateľ %s neexistuje" #~ msgid "incorrect password" #~ msgstr "nesprávne heslo" #~ msgid "using restricted shell %s" #~ msgstr "použitý obmedzený shell %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "upozornenie: nie je možné zmeniÅ¥ adresár na %s" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nepovolený prepínaÄ -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "neplatný argument: %s" #~ msgid "Try `%s --help' for more information.\n" #~ msgstr "Viac informácií získate príkazom `%s --help'.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=STĹP ZalamovaÅ¥ zakódované riadky po STĹP znakoch " #~ "(Å¡tandardne 76).\n" #~ " Nastavením na 0 vypnete zalamovanie riadkov.\n" #~ "\n" #~ " -d, --decode DekódovaÅ¥ dáta.\n" #~ " -i, --ignore-garbage Pri dekódovaní ignorovaÅ¥ nealfabetické znaky.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help vypíše tohto pomocníka a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Príklady:\n" #~ " %s /usr/bin/sort Výstup \"sort\".\n" #~ " %s include/stdio.h .h Výstup \"stdio\".\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "ZmeniÅ¥ skupinu každého SÚBORu na SKUPINA.\n" #~ "S parametrom --reference sa zmení skupina každého SÚBORU\n" #~ "na rovnakú ako skupin RSÚBORu.\n" #~ "\n" #~ " -c, --changes ako výreÄný ale oznamovaÅ¥ iba keÄ sa vykoná " #~ "zmena\n" #~ " --dereference ovplyvňuje referenta každého symbolického " #~ "odkazu\n" #~ " (toto je Å¡tandardné správanie) namiesto " #~ "samotného\n" #~ " symbolického odkazu\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlaÄí väÄÅ¡inu chybových správ\n" #~ " --reference=RSÚBOR použiÅ¥ skupiny RSÚBORu namiesto zadania\n" #~ " hodnoty SKUPINA\n" #~ " -R, --recursive rekurzívne vykonávaÅ¥ na adresároch súboroch\n" #~ " -v, --verbose vypísaÅ¥ diagnostiku každého spracovaného súboru\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "ZmeniÅ¥ režim každého SÚBORu na REŽIM.\n" #~ "\n" #~ " -c, --changes rovnaké ako verbose, ale oznamovaÅ¥ len " #~ "vykonanie zmeny\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root nezaobchádzaÅ¥ s „/“ Å¡peciálne (Å¡tandardné)\n" #~ " --preserve-root zabrániÅ¥ rekurzívnemu prechádzaniu od „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet potlaÄiÅ¥ väÄÅ¡inu chybových správ\n" #~ " -v, --verbose vypísaÅ¥ informáciu o každom spracovanom súbore\n" #~ " --reference=RSÚBOR použiÅ¥ práva RSÚBORu namiesto PRÃV\n" #~ " -R, --recursive vykonaÅ¥ operáciu aj vo vnorených adresároch\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nikdy nenasledovaÅ¥ symbolické odkazy v " #~ "ZDROJi\n" #~ msgid "invalid format precision" #~ msgstr "neplatná presnosÅ¥ vo formáte" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "VypísaÅ¥ aktuálny Äas v zadanom FORMÃTE alebo nastaviÅ¥ systémový Äas.\n" #~ "\n" #~ " -d, --date=REŤAZEC zobraziÅ¥ Äas zadaný REŤAZCOM namiesto `teraz'\n" #~ " -f, --file=SÚBOR ako --date pre každý riadok SÚBORU\n" #~ " -I, --iso-8601[=Å PEC] vypísaÅ¥ dátum/Äas v ISO-8601 formáte.\n" #~ " Å PEC=`date' (alebo niÄ) pre samotný dátum,\n" #~ " `hours', `minutes', alebo `seconds' pre dátum\n" #~ " a Äas po zadanú presnosÅ¥.\n" #~ " -r, --reference=SÚBOR zobraziÅ¥ Äas poslednej zmeny SÚBORU\n" #~ " -R, --rfc-822 vypísaÅ¥ Äas vo formáte vyhovujúcom RFC-822\n" #~ " -s, --set=REŤAZEC nastaviÅ¥ Äas zadaný REŤAZCOM\n" #~ " -u, --utc, --universal vypísaÅ¥ alebo nastaviÅ¥ univerzálny svetový " #~ "Äas\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VEĽKOSŤ môže byÅ¥ (alebo môže byÅ¥ celé Äíslo, po ktorom nasleduje) jedno z " #~ "nasledovných:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 atÄ pre G, T, P, E, Z, Y.\n" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "príklady:\n" #~ " %s /usr/bin/sort VypísaÅ¥ \"/usr/bin\".\n" #~ " %s stdio.h VypísaÅ¥ \".\".\n" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #, fuzzy #~ msgid "string too long" #~ msgstr "%s: súbor je príliÅ¡ dlhý" #, fuzzy #~ msgid "arbitrary-precision support is not available" #~ msgstr "funkcia iconv nie je dostupná" #, fuzzy #~ msgid "string offset is too large" #~ msgstr "%s je príliÅ¡ veľa" #, fuzzy #~ msgid "substring length too large" #~ msgstr "%s: súbor je príliÅ¡ veľký" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: upozornenie: pevný odkaz na symbolický odkaz nie je prenositeľný" #~ msgid "creating symbolic link %s" #~ msgstr "vytvára sa symbolický odkaz %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "vytvára sa symbolický odkaz %s na %s" #~ msgid "creating hard link %s" #~ msgstr "vytvára sa pevný odkaz %s" #~ msgid "creating hard link %s => %s" #~ msgstr "vytvára sa pevný odkaz %s na %s" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory vytvoriÅ¥ adresár, nie súbor\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "KRITICKÃ: nie je možné zatvoriÅ¥ adresár %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "KRITICKÃ: nie je možné otvoriÅ¥ .. adresára %s" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "KRITICKÃ: nie je možné vojsÅ¥ do adresára %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "KRITICKÃ: nie je možné sa vrátiÅ¥ do .. z adresára %s" #, fuzzy #~ msgid "cannot remove %s directory %s" #~ msgstr "nie je možné odstrániÅ¥ adresár %s" #~ msgid "cannot remove root directory %s" #~ msgstr "nie je možné odstrániÅ¥ koreňový adresár %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "nie je možné odstrániÅ¥ relatívne pomenovaný %s" #~ msgid "cannot restore current working directory" #~ msgstr "nie je možné obnoviÅ¥ aktuálny pracovný adresár" #~ msgid "no %% directive in format string %s" #~ msgstr "chýba direktíva %% formátovacieho reÅ¥azca %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "príliÅ¡ mnoho direktív %% vo formátovacom reÅ¥azci %s" #~ msgid "invalid format string: %s" #~ msgstr "neplatný formátovací reÅ¥azec: %s" #~ msgid "extra operand %s\n" #~ msgstr "nadbytoÄný operand %s\n" #~ msgid "couldn't open temporary file" #~ msgstr "nebolo možné otvoriÅ¥ doÄasný súbor" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N použiÅ¥ prípony s dĺžkou N (Å¡tandardne %d)\n" #~ " -b, --bytes=VEĽKOSŤ zapíše VEĽKOST bajtov do výstupného súboru\n" #~ " -C, --line-bytes=VEĽKOSŤ zapíše najviac VEĽKOST bytov na výstupný " #~ "riadok\n" #~ " -d, --numeric-suffixes použiÅ¥ Äíselné prípony namiesto abecedných\n" #~ " -l, --lines=POÄŒET zapíše POÄŒET riadkov do výstupného súboru\n" #~ msgid "invalid number of lines: 0" #~ msgstr "chybný poÄet riadkov: 0" #~ msgid "creating %s" #~ msgstr "vytvára sa %s" #~ msgid "FIXME unknown" #~ msgstr "FIXME neznámy" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Použitie: %s [PREPÃNAÄŒ] [SÚBOR]...\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Prípona záložných súborov je ~, pokiaľ nie je nastavená voľbou --suffix " #~ "alebo\n" #~ "premennou SIMPLE_BACKUP_SUFFIX. Spôsob tvorby záložných kópií súborov " #~ "môže byÅ¥\n" #~ "nastavený premennou VERSION_CONTROL, prípustné hodnoty sú:\n" #~ "\n" #~ " none, off nikdy nevytváraÅ¥ záložné kópie (ani ak bolo zadané --" #~ "backup)\n" #~ " numbered, t tvoriÅ¥ Äíslované záložné kópie\n" #~ " existing, nil tvoriÅ¥ Äíslované, pokiaľ už Äíslované záložné kópie\n" #~ " existujú, inak tvoriÅ¥ jednoduché\n" #~ " simple, never vždy tvoriÅ¥ jednoduché záložné kópie súborov \n" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Použitie: %s [VOĽBA] ADRESÃR...\n" # should this be translated? - rzm #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: formát='%s' šírka=%d\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Použitie: %s [VOĽBA] SÚBOR [...]\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ "Spojí vÅ¡etky SÚBORy a zotriedený výsledok zapíše na Å¡tandardný výstup.\n" #~ "\n" #~ "Voľby zoraÄovania:\n" #~ "\n" #~ " -b, --ignore-leading-blanks ignoruje úvodné medzery\n" #~ " -d, --dictionary-order zohľadňuje iba medzery a alfanumerické " #~ "znaky\n" #~ " -f, --ignore-case zamení v kľúÄoch malé písmená za veľké\n" #~ " -g, --general-numeric-sort porovnáva podľa vÅ¡eobecnej veľkosti " #~ "Äísiel\n" #~ " -i, --ignore-nonprinting zohľadňuje iba tlaÄiteľné znaky\n" #~ " -M, --month-sort porovná podľa mesiacov (neznámy) < `JAN' " #~ "<\n" #~ " ... < `DEC'\n" #~ " -n, --numeric-sort porovná podľa reÅ¥azcovej veľkosti Äísiel\n" #~ " -r, --reverse obrátený výsledok porovnávania\n" #~ msgid "cannot create temporary file" #~ msgstr "nie je možné vytvoriÅ¥ doÄasný súbor" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Použitie: %s [VOĽBA] [SÚBOR]...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ " Nahradenie nastane, ak nie je zadaný prepínaÄ -d a sú zadané obe\n" #~ "množiny. -t môže byÅ¥ použité iba pri nahradzovaní. V prípade potreby je\n" #~ "MNOŽINA2 rozšírená na dĺžku MNOŽINY1 opakovaním posledného znaku. " #~ "PrebytoÄné\n" #~ "znaky MNOŽINY2 sú ignorované. Iba pri [:lower:] a [:upper:] je " #~ "garantované,\n" #~ "že budú rozpísané vzostupne; pri použití v MNOŽINE2 pri nahradzovaní môžu " #~ "byÅ¥\n" #~ "používané iba v pároch pre zmenu veľkosti písmen. -s používa MNOŽINU2\n" #~ "pri nahradzovaní alebo mazaní a kompresia je vykonaná až po tomto. Inak -" #~ "s\n" #~ "používa MNOŽINU1.\n" #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "\n" #~ " Nahradenie nastane, ak nie je zadaný prepínaÄ -d a sú zadané obe\n" #~ "množiny. -t môže byÅ¥ použité iba pri nahradzovaní. V prípade potreby je\n" #~ "MNOŽINA2 rozšírená na dĺžku MNOŽINY1 opakovaním posledného znaku. " #~ "PrebytoÄné\n" #~ "znaky MNOŽINY2 sú ignorované. Iba pri [:lower:] a [:upper:] je " #~ "garantované,\n" #~ "že budú rozpísané vzostupne; pri použití v MNOŽINE2 pri nahradzovaní môžu " #~ "byÅ¥\n" #~ "používané iba v pároch pre zmenu veľkosti písmen. -s používa MNOŽINU2\n" #~ "pri nahradzovaní alebo mazaní a kompresia je vykonaná až po tomto. Inak -" #~ "s\n" #~ "používa MNOŽINU1.\n" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld deň" #~ msgstr[1] "%ld dni" #~ msgstr[2] "%ld dní" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "nerozpoznaný operand %s=%s" #~ msgid "block size" #~ msgstr "veľkosÅ¥ bloku" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Tento program je slobodný softvér; môžete ho šíriÅ¥ a modifikovaÅ¥\n" #~ "podľa podmienok VÅ¡eobecnej verejnej licencie GNU <http://www.gnu.org/" #~ "licenses/gpl.html>, ale\n" #~ "BEZ AKEJKOĽVEK ZÃRUKY do miery povolenej zákonom.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "neplatný %s `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neplatný znak nasledujúci po %s v `%s'" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "nie je možné vynechaÅ¥ používateľa aj skupinu" #~ msgid "cannot get supplemental group list" #~ msgstr "nie je možné zistiÅ¥ zoznam doplnkových skupín" #~ msgid "skip argument" #~ msgstr "preskakujem argument" #~ msgid "limit argument" #~ msgstr "argument orezaný" #~ msgid "minimum string length" #~ msgstr "minimálna dĺžka reÅ¥azca" #~ msgid "width specification" #~ msgstr "specifikácia šírky" #~ msgid "sort size" #~ msgstr "veľkosÅ¥ triedenia" #, fuzzy #~ msgid "program error" #~ msgstr "chyba pri Äítaní" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "nie je možné zmeniÅ¥ používateľa a/alebo skupinu %s" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "nie je možné vojsÅ¥ do adresára, %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "nie je možné urÄiÅ¥ skupinu Äíselného UID" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Toto je voľne šíriteľný softvér - pre podmienky šírenia pozri zdrojový\n" #~ "kód. Neexistuje ŽIADNA ZÃRUKA, ani OBCHODOVATEĽNOSTI alebo VHODNOSTI\n" #~ "PRE KONKRÉTNY ÚČEL.\n" #~ msgid "too few arguments" #~ msgstr "príliÅ¡ málo argumentov" #, fuzzy #~ msgid "closing standard output" #~ msgstr "Å¡tandardný výstup" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "nie je možné zmeniÅ¥ používateľa a/alebo skupinu %s" #~ msgid "group number" #~ msgstr "Äíslo skupiny" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "neplatné Äíslo" #, fuzzy #~ msgid "invalid mode string: %s" #~ msgstr "chybný typ reÅ¥azca `%s'" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Použitie: %s [PREPÃNAÄŒ]... ĽAVÃ_SÚBOR PRAVÃ_SÚBOR\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "príliÅ¡ málo argumentov" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s existuje, ale nie je adresárom" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "je požadované kopírovanie viacerých súborov, ale posledný argument %s nie " #~ "je adresár" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varovanie: voľba --version-control (-V) je zastaralá a jej\n" #~ "podpora bude v niektorej budúcej verzii odstránená. Namiesto\n" #~ "nej použite --backup=%s." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "varovanie: --pid=PID nie je na tomto systéme podporované" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po oddeľovaÄi je oÄakávané `+' alebo `-'" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "príliÅ¡ mnoho argumentov, ktoré nie sú prepínaÄmi" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "pri použití prepínaÄa --string nemôžu byÅ¥ zadané súbory" #~ msgid "undefined" #~ msgstr "nedefinovaný" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s záznamov dnu\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s záznamov von\n" #~ msgid "truncated records" #~ msgstr "skrátených záznamov" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "prípustná je iba jedna z konverzií {ascii,ebcdic,ibm}, {lcase,ucase},\n" #~ "{block,unblock}, {unblock,sync}" #~ msgid " Type" #~ msgstr " Typ" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "pokiaľ je požadovaný výpis vnútornej databázy 'dircolors', nie\n" #~ "je možné použiÅ¥ argumenty pre súbor" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "varovanie: neprenositeľný BRE (základný regulérny výraz): `%s': použitie\n" #~ "znaku `^' na zaÄiatku nie je prenositeľné a je ignorovaný" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [ignorované argumenty]\n" #~ " alebo: %s VOĽBA\n" #~ "SkonÄiÅ¥ s výstupným kódom indikujúcim chybu.\n" #~ "\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "unrecognized option `-%c'" #~ msgstr "neznámy prepínaÄ `-%c'" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "je požadovaná inÅ¡talácia viacerých súborov, ale posledný argument %s nie " #~ "je adresár" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s existuje, ale nie je adresárom" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "zlyhal stat" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "chybné Äíslo položky pre súbor 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "chybné Äíslo položky pre súbor 2: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "príliÅ¡ mnoho argumentov, ktoré nie sú prepínaÄmi" #~ msgid "too few non-option arguments" #~ msgstr "príliÅ¡ málo argumentov, ktoré nie sú prepínaÄmi" #~ msgid "%s: File exists" #~ msgstr "%s: Súbor existuje" #~ msgid "create symbolic link %s to %s" #~ msgstr "vytvoriÅ¥ symbolický odkaz %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "vytvoriÅ¥ pevný odkaz %s na %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAÄŒIATOK KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAÄŒIATOK KROK LAST\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "pri vytváraní viacerých odkazov musí byÅ¥ posledným argumentom adresár" # in Genitive - rzm #~ msgid "file" #~ msgstr "zadaného súboru" # in Genitive - rzm #~ msgid "files" #~ msgstr "zadaných súborov" #~ msgid "checksum" #~ msgstr "kontrolného súÄtu" #~ msgid "checksums" #~ msgstr "kontrolných súÄtov" #~ msgid "no files may be specified when using --string" #~ msgstr "pri použití prepínaÄa --string nemôžu byÅ¥ zadané súbory" #~ msgid "only one argument may be specified when using --check" #~ msgstr "iba jeden argument môže byÅ¥ zadaný pri použití prepínaÄa --check" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "nie je možné zmeniÅ¥ práva %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "nie je možné zmeniÅ¥ práva %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "príliÅ¡ málo argumentov" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "pre rúry nie je potrebné zadávaÅ¥ hlavné a vedľajÅ¡ie Äíslo zariadenia" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "nie je možné zmeniÅ¥ práva %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "pri premiestňovaní viacerých súborov musí byÅ¥ posledným argumentom adresár" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "SpustiÅ¥ PRÃKAZ s upravenou plánovacou prioritou.\n" #~ "Bez PRÃKAZU vypíše aktuálnu prioritu. ÚPRAVA je implicitne 10.\n" #~ "Rozsah je od -20 (najvyššia priorita) po 19 (najnižšia).\n" #~ "\n" #~ " -ÚPRAVA najprv pripoÄítaÅ¥ k priorite ÚPRAVU\n" #~ " -n, --adjustment=ÚPRAVA ako -ADJUST\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "chybný typ reÅ¥azca `%s'" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "chybné Äíslo položky: `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #~ msgid "old-style offset" #~ msgstr "posunutie v starom Å¡týle" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "chybný druhý argument '%s' v starom formáte" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v kompatibilnom móde musia byÅ¥ posledné dva argumenty posuny" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "DiagnostikovaÅ¥ neprenositeľné prvky v NÃZVE.\n" #~ "\n" #~ " -p, --portability skontrolovaÅ¥ pre vÅ¡etky POSIX systémy, nielen " #~ "tento\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "veľkosÅ¥ tabulátoru obsahuje neplatný znak" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s existuje, ale nie je adresárom" #~ msgid "directory `%s' is not searchable" #~ msgstr "adresár `%s' nie je možné prehľadávaÅ¥" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "názov `%s' má dĺžku %d; presahuje limit %d" #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "cesta `%s' má dĺžku %d; presahuje limit %d" # c-format #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' - chybný rozsah Äísiel stránok: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' - chybné Äíslo poÄiatoÄnej stránky: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' - chybné Äíslo koncovej stránky: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' - Äíslo poÄiatoÄnej stránky je väÄÅ¡ie ako Äíslo koncovej stránky" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=STĹPCOV' neplatný poÄet stĺpcov: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "Äíslo poÄiatoÄnej stránky je väÄÅ¡ie ako poÄet stránok: `%d'" #~ msgid "Page %d" #~ msgstr "Stránka %d" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: chybný vzor" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Použitie: %s formát [argument...]\n" #, fuzzy #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ " Tento program je voľné programové vybavenie; môžete ho šíriÅ¥ a " #~ "modifikovaÅ¥\n" #~ "podľa podmienok VÅ¡eobecnej verejnej licencie GNU, vydávanej Free " #~ "Software\n" #~ "Foundation; a to buÄ verzie 2 tejto licencie alebo (podľa vášho " #~ "uváženia),\n" #~ "ktorejkoľvek neskorÅ¡ej verzie.\n" #~ "\n" #~ " Tento program je rozÅ¡irovaný v nádeji, že bude užitoÄný, avÅ¡ak BEZ " #~ "AKEJKOĽVEK\n" #~ "ZÃRUKY; neposkytujú sa ani odvodené záruky PREDAJNOSTI alebo VHODNOSTI " #~ "PRE\n" #~ "NEJAKà KONKRÉTNY ÚČEL. ÄŽaľšie podrobnosti nájdete vo VÅ¡eobecnej verejnej\n" #~ "licencii GNU.\n" #~ "\n" #~ " Kópia VÅ¡eobecnej verejnej licencie GNU mala byÅ¥ dodaná spolu s týmto\n" #~ "programom; pokiaľ sa tak nestalo, napíšte do Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "nie je možné vojsÅ¥ do adresára, %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "nie je možné spustiÅ¥ %s" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "nie je možné nastaviÅ¥ dátum" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "nie je možné vojsÅ¥ do adresára, %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "nie je možné zmazaÅ¥ `.' alebo `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "ZmazaÅ¥ SÚBOR(y).\n" #~ "\n" #~ " -d, --directory zmazaÅ¥ adresár, aj pokiaľ nie je prázdny (iba\n" #~ " superužívateľ)\n" #~ " -f, --force ignorovaÅ¥ neexistujúce soubory, nikdy sa nepýtaÅ¥\n" #~ " -i, --interactive pred každým zmazaním sa opýtaÅ¥\n" #~ " -r, -R, --recursive rekurzívne zmazaÅ¥ obsah adresárov\n" #~ " -v, --verbose vypisovaÅ¥ infomácie o priebehu\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "Súbor s menom zaÄínajúcim `-' (napr. `-foo') zmažete nasledovne:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ "\n" #~ "Pamätajte na to, že pri zmazaní súboru pomocou rm je obvykle možné obsah\n" #~ "daného súboru obnoviÅ¥. Pokiaľ sa chete lepÅ¡ie uistiÅ¥, že obsah nebude\n" #~ "možné obnoviÅ¥, uvážte použitie pomôcky shred.\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "pokiaľ je poÄiatoÄná hodnota väÄÅ¡ia ako koneÄná,\n" #~ "krok musí byÅ¥ záporný" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "pokiaľ je poÄiatoÄná hodnota menÅ¡ia ako koneÄná,\n" #~ "krok musí byÅ¥ kladný" #, fuzzy #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "stdin: read error" #~ msgstr "stdin: chyba pri Äítaní" # src/tail.c:938 #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neplatný znak v zastaralom prepínaÄi" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "príliÅ¡ mnoho argumentov; Pri použití zastaralej syntaxe prepínaÄa %s,\n" #~ "môže byÅ¥ uvedený iba jeden súborový argument. RadÅ¡ej použite\n" #~ "ekvivalentný prepínaÄ -n alebo -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varovanie: použitie dvoch alebo viacerých súborových argumentov so " #~ "zastaralou\n" #~ "syntaxou prepínaÄa %s nie je prenosné. RadÅ¡eji použite ekvivalentný " #~ "prepínaÄ\n" #~ "-n alebo -c." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" # src/tail.c:968 #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: je tak veľký, že nie je reprezentovateľný" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s je viac ako maximálna veľkosÅ¥ súboru na tomto systéme" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: neplatné Äíslo maximálneho poÄtu po sebe idúcich zmien veľkosti" #~ msgid "argument expected\n" #~ msgstr "oÄakávaný argument\n" #~ msgid "integer expression expected %s\n" #~ msgstr "oÄakávaný celoÄíselný výraz %s\n" #~ msgid "before -lt" #~ msgstr "pred -lt" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "pred -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "pred -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "pred -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "pred -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "pred -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "príliÅ¡ veľa argumentov" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "príliÅ¡ málo argumentov" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "chybný zápis `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "najmenej jedna množina musí byÅ¥ zadaná pri komprimovaní opakujúcich sa " #~ "znakov" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "nie je možné identifikovaÅ¥ mapovanie: pri nahradzovaní, ľubovoľná " #~ "konÅ¡trukcia\n" #~ "[:lower:] alebo [:upper:] v MNOŽINE1 musí byÅ¥ zarovnaná so " #~ "zodpovedajúcou\n" #~ "konÅ¡trukciou ([:upper:] alebo [:lower:]) v MNOŽINE2." #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [ignorované argumenty]...\n" #~ " alebo: %s VOĽBA\n" #~ "SkonÄiÅ¥ s výstupným kódom indikujúcim úspech.\n" #~ "\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ msgid "only one argument may be specified" #~ msgstr "môže byÅ¥ zadaný iba jeden argument" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: nie je možné zistiÅ¥ meno používateľa pre UID %u\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "nie je možné nastaviÅ¥ dátum" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: adresár %s je chránený proti zápisu; zostúpiÅ¥ napriek tomu do neho? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "mažem vÅ¡etky záznamy adresára `%s'\n" #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "nie je možné vojsÅ¥ do adresára, %s" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "nie je možné vytvoriÅ¥ adresár %s" #~ msgid " (might be nonempty)" #~ msgstr " (môže byÅ¥ neprázdny)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "varovanie: nie je možné zmeniÅ¥ adresár na %s" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne Äíslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú Äísla\n" #~ "pre `.' %lu/%lu. To znamená, že poÄas behu rm bol adresár buÄ\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne Äíslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú Äísla\n" #~ "pre `.' %lu/%lu. To znamená, že poÄas behu rm bol adresár buÄ\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne Äíslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú Äísla\n" #~ "pre `.' %lu/%lu. To znamená, že poÄas behu rm bol adresár buÄ\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " alebo: %s [-acm] MMDDhhmm[RR] SÚBOR... (zastaralé)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Zmena skupinového vlastníka každého SÚBORu na SKUPINU.\n" #~ "\n" #~ " -c, --changes ako voľba 'verbose', ale zobraziÅ¥ iba zmeny\n" #~ " --dereference pôsobiÅ¥ na odkazované súbory namiesto na\n" #~ " samotný odkaz\n" #~ " -h, --no-dereference pôsobiÅ¥ na symbolické odkazy namiesto na " #~ "súbor,\n" #~ " na ktorý odkaz odkazuje (dostupné iba na\n" #~ " systémoch umožňujúcich zmeniÅ¥ vlastníka\n" #~ " symbolického odkazu)\n" #~ " -f, --silent, --quiet potlaÄiÅ¥ väÄÅ¡inu chybových správ\n" #~ " --reference=SÚBOR2 použiÅ¥ skupinu SÚBORU2 namiesto SKUPINy\n" #~ " -R, --recursive rekurzívne zmeniÅ¥ skupinu aj vo vnorených " #~ "adresároch\n" #~ " -v, --verbose vypísaÅ¥ informáciu o každom spracovanom súbore\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Zmena vlastníka a/alebo skupinového vlastníka každého SÚBORu na VLASTNÃKa " #~ "a/alebo SKUPINU.\n" #~ "\n" #~ " -c, --changes ako voľba 'verbose', ale zobraziÅ¥ iba zmeny\n" #~ " --dereference pôsobiÅ¥ na odkazovaný súbor namiesto na\n" #~ " samotný symbolický odkaz\n" #~ " -h, --no-dereference pôsobiÅ¥ na symbolické odkazy namiesto na " #~ "súbor,\n" #~ " na ktorý odkaz odkazuje (dostupné iba na\n" #~ " systémoch umožňujúcich zmeniÅ¥ vlastníka\n" #~ " symbolického odkazu)\n" #~ " --from=SÚČASNÃ_VLASTNÃK:SÚČASNÃ_SKUPINA\n" #~ " zmeniÅ¥ vlastníka a/alebo skupinu iba pokiaľ\n" #~ " sa súÄasný vlastník a/alebo skupina zhoduje\n" #~ " so zadanými. Vlastník alebo skupina môžu\n" #~ " byÅ¥ vynechané, v takom prípade sa pre\n" #~ " vynechaný atribút zhoda nevyžaduje.\n" #~ " -f, --silent, --quiet potlaÄiÅ¥ väÄÅ¡inu chybových správ\n" #~ " --reference=RSÚBOR použiÅ¥ vlastníka a skupinu RSÚBORU namiesto\n" #~ " explicitných hodnôt VLASTNÃK:SKUPINA\n" #~ " -R, --recursive vykonaÅ¥ operáciu aj vo vnorených adresároch\n" #~ " -v, --verbose vypísaÅ¥ informáciu o každom spracovanom súbore\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "Kópia ZDROJa do CIEĽa alebo viac ZDROJov do ADRESÃRA.\n" #~ "\n" #~ " -a, --archive ekvivalent volieb '-dpR'\n" #~ " --backup[=CONTROL] vytvoriÅ¥ zálohu každého existujúceho " #~ "cieľového\n" #~ " súboru\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -d, --no-dereference nikdy nenasledovaÅ¥ symbolické odkazy\n" #~ " -f, --force pokiaľ existujúci CIEĽ nemôže byÅ¥ " #~ "otvorený,\n" #~ " zmazaÅ¥ ho a skúsiÅ¥ znovu\n" #~ " -i, --interactive pred prepísaním sa opýtaÅ¥\n" #~ " -H nasledovaÅ¥ symbolické odkazy z " #~ "príkazového\n" #~ " riadku\n" #~ " -l, --link namiesto kópií vytvoriÅ¥ odkazy\n" #~ " -L, --dereference vždy nasledovaÅ¥ symbolické odkazy\n" #~ " -p, --preserve pokiaľ je to možné, zachovaÅ¥ práva a Äasy " #~ "súborov\n" #~ " --parents pridaÅ¥ cestu k zdroju k cieľovému " #~ "ADRESÃRu\n" #~ " -P zatiaľ to isté ako --parents; Äoskoro sa\n" #~ " ale zmení na --no-dereference kvôli\n" #~ " kompatibilite s POSIX-om\n" #~ " -r kopírovaÅ¥ rekurzívne, vÅ¡etko Äo nie je " #~ "adresárom\n" #~ " kopírovaÅ¥ ako keby to bol súbor.\n" #~ " VAROVANIE: pokiaľ by ste mohli " #~ "kopírovaÅ¥\n" #~ " Å¡peciálne súbory ako FIFO alebo /dev/" #~ "zero,\n" #~ " použite -R.\n" #~ " --remove-destination odstrániÅ¥ každý existujúci CIEĽ pred " #~ "pokusom\n" #~ " o jeho otvorenie (porovnaj s --force)\n" #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "Kopírovanie súboru, konverzia a formátovanie podľa volieb.\n" #~ "\n" #~ " bs=BAJTOV vnútiÅ¥ ibs=BAJTOV a obs=BAJTOV\n" #~ " cbs=BAJTOV konvertovaÅ¥ BAJTOV bajtov naraz\n" #~ " conv=KĽÚČ_SLOVà konvertovaÅ¥ podľa Äiarkami oddeleného zoznamu " #~ "kľúÄových slov\n" #~ " count=BLOKOV kopírovaÅ¥ iba BLOKOV vstupných blokov\n" #~ " ibs=BAJTOV ÄítaÅ¥ BAJTOV bajtov naraz\n" #~ " if=SÚBOR ÄítaÅ¥ zo súboru SÚBOR namiesto zo Å¡tandardného vstupu\n" #~ " obs=BAJTOV zapisovaÅ¥ BAJTOV bajtov naraz\n" #~ " of=SÚBOR zapisovaÅ¥ do súboru SÚBOR namiesto na Å¡tandardný " #~ "výstup\n" #~ " seek=BLOKOV preskoÄiÅ¥ prvých BLOKOV výstupných blokov veľkosti " #~ "obs\n" #~ " skip=BLOKOV preskoÄiÅ¥ prvých BLOKOV vstupných blokov veľkosti ibs\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "PoÄet BAJTOV môže maÅ¥ nasledovné prípony násobku:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1 000 000, M 1 048 576,\n" #~ "GD 1 000 000 000, G 1 073 741 824, atÄ. pre T, P, E, Z, Y.\n" #~ "Každé KĽÚČ_SLOVO môže byÅ¥:\n" #~ "\n" #~ " ascii z EBCDIC do ASCII\n" #~ " ebcdic z ASCII do EBCDIC\n" #~ " ibm z ASCII do alternatívneho EBCDIC\n" #~ " block doplniÅ¥ záznamy ukonÄené zn. nového riadku medzerami do " #~ "veľkosti cbs\n" #~ " unblock zameniÅ¥ koncové medzery v záznamoch dĺžky cbs za zn. nového\n" #~ " riadku\n" #~ " lcase zmeniÅ¥ veľké písmená na malé\n" #~ " notrunc neskracovaÅ¥ výstupný súbor\n" #~ " ucase zmeniÅ¥ malé písmená na veľké\n" #~ " swab zameniÅ¥ každý pár vstupných bajtov\n" #~ " noerror pokraÄovaÅ¥ aj v prípade chyby pri Äítaní\n" #~ " sync doplniÅ¥ každý vstupný blok nulovými bajtami do veľkosti ibs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Výpis informácie o súborových systémoch, v ktorých sa SÚBORy nachádzajú\n" #~ "alebo o vÅ¡etkých súborových systémoch.\n" #~ "\n" #~ " -a, --all aj súborové systémy s 0 blokmi\n" #~ " --block-size=VEĽKOSŤ použiÅ¥ bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -h, --human-readable veľkosti v ľahko Äitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " -H, --si podobne, ale použiÅ¥ mocniny 1000 namiesto " #~ "1024\n" #~ " -i, --inodes vypísaÅ¥ informácie o i-uzloch namiesto " #~ "veľkosti v blokoch\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l, --local obmedziÅ¥ výpis na lokálne súborové systémy\n" #~ " -m, --megabytes ako --block-size=1048576\n" #~ " --no-sync nevykonaÅ¥ 'sync' pred získaním informácií " #~ "(Å¡tandard)\n" #~ " -P, --portability použiÅ¥ formát definovaný normou POSIX\n" #~ " --sync vykonaÅ¥ 'sync' pred získaním informácií\n" #~ " -t, --type=TYP obmedziÅ¥ výstup na súborové systémy typu TYP\n" #~ " -T, --print-type vypísaÅ¥ typ súborového systému\n" #~ " -x, --exclude-type=TYP vo výstupe nebudú súborové systémy typu TYP\n" #~ " -v (ignorované)\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Sumarizácia miesta na disku zabraného každým SÚBORom, adresáre prechádza\n" #~ "rekurzívne.\n" #~ "\n" #~ " -a, --all vypísaÅ¥ diskový priestor pre vÅ¡etky súbory,\n" #~ " nie iba pre adresáre\n" #~ " --block-size=VEĽKOSŤ použiÅ¥ bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -b, --bytes vypísaÅ¥ veľkosti v bajtoch\n" #~ " -c, --total vypísaÅ¥ aj celkový súÄet\n" #~ " -D, --dereference-args pokiaľ je ako argument zadaný symbolický\n" #~ " odkaz, nasledovaÅ¥ ho\n" #~ " -h, --human-readable veľkosti v ľahko Äitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " -H, --si podobne, ale použiÅ¥ mocniny 1000 namiesto " #~ "1024\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l, --count-links zapoÄítaÅ¥ veľkosti pevných odkazov viackrát\n" #~ " -L, --dereference nasledovaÅ¥ vÅ¡etky symbolické odkazy\n" #~ " -m, --megabytes ako --block-size=1048576\n" #~ " -S, --separate-dirs nezapoÄítaÅ¥ do veľkosti adresárov veľkosti " #~ "ich\n" #~ " podadresárov\n" #~ " -s, --summarize vypísaÅ¥ iba celkový súÄet pre každý argument\n" #~ " -x, --one-file-system preskoÄiÅ¥ adresáre na iných súborových " #~ "systémoch\n" #~ " -X SÚBOR, --exclude-from=SÚBOR vynechaÅ¥ súbory definované vzormi v " #~ "SÚBORe\n" #~ " --exclude=VZOR vynechaÅ¥ súbory definované VZORom\n" #~ " --max-depth=N vypísaÅ¥ súÄet pre adresár (alebo súbor pre --" #~ "all)\n" #~ " iba pokiaľ je N alebo menej úrovní pod " #~ "argumentom\n" #~ " príkazového riadku; --max-depth=0 je to " #~ "isté ako\n" #~ " --summarize\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Prvé dva formáty skopírujú ZDROJ do CIEĽa alebo viac ZDROJov do " #~ "existujúceho\n" #~ "ADRESÃRa vrátane nastavenia práv, vlastníka a/alebo skupiny. Tretí " #~ "formát\n" #~ "vytvorí ADRESÃR vrátane adresárov v jeho ceste.\n" #~ "\n" #~ " --backup=CONTROL pred zmazaním vytvoriÅ¥ záložnú kópiu\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -c (ignorované)\n" #~ " -d, --directory vytvoriÅ¥ vÅ¡etky prvky cesty k adresárom;\n" #~ " povinné pre 3. formát\n" #~ " -D vytvoriÅ¥ vÅ¡etky prvky cesty okrem posledného, " #~ "potom\n" #~ " skopírovaÅ¥ ZDROJ do CIEĽa; užitoÄné v 1. " #~ "formáte\n" #~ " -g, --group=SKUPINA nastaviÅ¥ SKUPINU ako vlastníka namiesto skupiny " #~ "procesu\n" #~ " -m, --mode=PRÃVA nastaviÅ¥ prístupové práva PRÃVA (ako s 'chmod') " #~ "namiesto\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=VLASTNÃK nastaviÅ¥ vlastníka (iba superužívateľ - root)\n" #~ " -p, --preserve-timestamps nastaviÅ¥ Äas prístupu a zmeny podľa ZDROJa\n" #~ " -s, --strip odstrániÅ¥ tabuľku symbolov (iba 1. a 2. formát)\n" #~ " -S, --suffix=PRÃPONA nastaviÅ¥ novú príponu záložných súborov\n" #~ " --verbose vypísaÅ¥ názov každého vytváraného adresára\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "VytvoriÅ¥ odkaz na CIEĽ, voliteľne so zadaným MENOM_ODKAZU. Pokiaľ\n" #~ "je MENO_ODKAZU vynechané, vytvorí sa odkaz s rovnakým menom ako\n" #~ "CIEĽ v aktuálnom adresári. Pri použití druhej formy s viac ako\n" #~ "jedným CIEĽom musí byÅ¥ posledný argument adresár, v ktorom majú\n" #~ "byÅ¥ odkazy vytvorené. Pokiaľ nie je zadané inak, budú vytvorené\n" #~ "pevné odkazy, pri zadaní --symbolic budú vytvorené symbolické.\n" #~ "Pokiaľ sú vytvárané pevné odkazy, každý CIEĽ musí existovaÅ¥.\n" #~ "\n" #~ "\n" #~ " --backup[=CONTROL] vytvoriÅ¥ zálohu každého existujúceho " #~ "cieľového\n" #~ " súboru\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -d, -F, --directory pevný odkaz na adresár (len " #~ "superužívateľ)\n" #~ " -f, --force zmazaÅ¥ existujúce súbory\n" #~ " -n, --no-dereference pokiaľ je MENO_ODKAZU symbolický odkaz na " #~ "adresár,\n" #~ " zachádzaÅ¥ s ním ako s obyÄajným súborom\n" #~ " -i, --interactive pred prípadným zmazaním súboru sa opýtaÅ¥\n" #~ " -s, --symbolic vytvoriÅ¥ symbolický odkaz namiesto pevného " #~ "odkazu\n" #~ " -S, --suffix=PRÃPONA zmeniÅ¥ obvyklú príponu záložných kópií\n" #~ " --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára\n" #~ " -v, --verbose pred vytvorením odkazu vypísaÅ¥ meno " #~ "každého súboru\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\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\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "Výpis informácií o SÚBORoch (v aktuálnom adresári, pokiaľ nie sú " #~ "zadané).\n" #~ "Pokiaľ nie je zadaná žiadna z volieb -cftuSUX alebo --sort, bude výstup\n" #~ "usporiadaný abecedne.\n" #~ "\n" #~ " -a, --all vypísaÅ¥ aj súbory zaÄínajúce bodkou\n" #~ " -A, --almost-all vypísaÅ¥ vÅ¡etky súbory okrem . a ..\n" #~ " -b, --escape vypísaÅ¥ negrafické znaky osmiÄkovo\n" #~ " --block-size=VEĽKOSŤ použiÅ¥ bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -B, --ignore-backups nevypisovaÅ¥ súbory konÄiace ~\n" #~ " -c spoloÄne s -lt: zobraziÅ¥ ctime a zoradiÅ¥ " #~ "podľa neho\n" #~ " (Äas poslednej zmeny stavovej informácie " #~ "súboru)\n" #~ " spoloÄne s -l: zobraziÅ¥ ctime a zoradiÅ¥ " #~ "podľa mena\n" #~ " inak: zoradiÅ¥ podľa ctime\n" #~ " -C vypísaÅ¥ súbory v stĺpcoch\n" #~ " --color[=KEDY] urÄiÅ¥, ako sú použité farby pre rozlíšenie " #~ "typov\n" #~ " súborov. KEDY môže byÅ¥ `never', `always' " #~ "alebo\n" #~ " `auto'\n" #~ " -d, --directory vypísaÅ¥ názvy adresárov namiesto ich obsahu\n" #~ " -D, --dired generovaÅ¥ výstup pre Emacsový dired mód\n" #~ " -f neusporiadaÅ¥, povoliÅ¥ -aU, zakázaÅ¥ -lst\n" #~ " -F, --classify doplniÅ¥ znak urÄujúci typ súborov (jeden z */" #~ "=@|)\n" #~ " --format=SLOVO across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time vypísaÅ¥ plný dátum aj Äas\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\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" #~ msgstr "" #~ " -g (ignorované)\n" #~ " -G, --no-group nevypisovaÅ¥ informácie o skupinách\n" #~ " -h, --human-readable veľkosti v ľahko Äitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " --si podobne, ale použiÅ¥ mocniny 1000 namiesto " #~ "1024\n" #~ " -H zatiaľ to isté ako --si; Äoskoro sa zmení\n" #~ " kvôli kompatibilite s POSIX-om\n" #~ " --indicator-style=Å TÃL pripojiÅ¥ indikátor Å¡týlu Å TÃL k názvom:\n" #~ " none (predvoľba), classify (-F), file-type " #~ "(-p)\n" #~ " -i, --inode ku každému súboru vypísaÅ¥ aj Äíslo jeho i-" #~ "uzlu\n" #~ " -I, --ignore=VZOR nevypisovaÅ¥ súbory vyhovujúce shellovému " #~ "VZORu\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l použiÅ¥ dlhý formát\n" #~ " -L, --dereference v prípade symbolických odkazov vypísaÅ¥ " #~ "vlastnosti,\n" #~ " súboru, na ktorý odkaz odkazuje\n" #~ " -m oddeľovaÅ¥ súbory Äiarkami\n" #~ " -n, --numeric-uid-gid namiesto mena vlastníka (UID) a skupiny " #~ "(GID)\n" #~ " vypísaÅ¥ Äísla\n" #~ " -N, --literal nespracovávaÅ¥ riadiace znaky v názvoch " #~ "súborov\n" #~ " -o použiÅ¥ dlhý formát bez informácií o " #~ "skupinách\n" #~ " -p, --file-type doplniÅ¥ znak urÄujúci typ každého souboru " #~ "(jeden z /=@|)\n" #~ " -q, --hide-control-chars namiesto negrafických znakov vypísaÅ¥ '?'\n" #~ " --show-control-chars vypísaÅ¥ aj negrafické znaku (predvolené)\n" #~ " -Q, --quote-name vložiÅ¥ názvy do úvodzoviek (citácia)\n" #~ " --quoting-style=SLOVO citovaÅ¥ mená Å¡týlom SLOVO:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse usporiadaÅ¥ v opaÄnom poradí\n" #~ " -R, --recursive vypísaÅ¥ adresáre rekurzívne\n" #~ " -s, --size vypísaÅ¥ veľkosÅ¥ každého súboru v blokoch\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S uspoiadaÅ¥ podľa dĺžky súborov\n" #~ " --sort=SLOVO extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=SLOVO zobraziÅ¥ Äas ako SLOVO namiesto Äasu zmeny:\n" #~ " atime, access, use, ctime alebo status; " #~ "použi\n" #~ " zadaný Äas pre triedenie, pokiaľ --" #~ "sort=time\n" #~ " -t usporiadaÅ¥ podľa Äasu poslednej zmeny\n" #~ " -T, --tabsize=ROZOSTUP nastaviÅ¥ tabulátory každých ROZOSTUP znakov\n" #~ " -u spoloÄne s -lt: zobraziÅ¥ Äas posledného " #~ "prístupu\n" #~ " (atime) a zoradiÅ¥ podľa neho\n" #~ " spoloÄne s -l: zobraziÅ¥ atime a zoradiÅ¥ " #~ "podľa mena\n" #~ " inak: zoradiÅ¥ podľa atime\n" #~ " -U neusporiadavaÅ¥ - vypísaÅ¥ v poradí, aké je\n" #~ " v adresári\n" #~ " -v usporiadaÅ¥ podľa verzie\n" #~ " -w, --width=STĹPCOV použiÅ¥ túto šírku obrazovky pri vypisovaní\n" #~ " -x vypisovaÅ¥ názvy po riadkoch namiesto po " #~ "stĺpcoch\n" #~ " -X usporiadaÅ¥ podľa prípon\n" #~ " -1 vypísaÅ¥ jeden súbor na jednom riadku\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "Pokiaľ nie je nastavené inak, farba sa pre oznaÄenie typov súborov " #~ "nepoužije,\n" #~ "Äo je rovnocenné s voľbou --color=none. Použitie voľby --color bez " #~ "argumentu\n" #~ "KEDY je rovnocenné s použitím voľby --color=always. Voľba --color=auto " #~ "spôsobí,\n" #~ "že farby budú použité iba pokiaľ je Å¡tandardný výstup pripojený k " #~ "terminálu\n" #~ "(tty).\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Opakovane prepisuje SÚBOR(y), aby sa aj veľmi nákladnému hardvéru\n" #~ "maximálne sÅ¥ažili pokusy o obnovu údajov.\n" #~ "\n" #~ " -f, --force zmeniÅ¥ práva pre povolenie zápisu, ak je to potrebné\n" #~ " -n, --iterations=N prepísaÅ¥ N-krát namiesto prednastavených (%d)\n" #~ " -s, --size=N prepísaÅ¥ N bajtov (prípony ako k, M, G sú možné)\n" #~ " -u, --remove skrátiÅ¥ a odstrániÅ¥ súbor po prepísaní\n" #~ " -v, --verbose zobraziÅ¥ postup\n" #~ " -x, --exact nezaokrúhľovaÅ¥ veľkosti súborov na Äalší úplný blok\n" #~ " -z, --zero na záver prepísaÅ¥ nulami, aby sa prepisovanie skrylo\n" #~ " - prepisovaÅ¥ Å¡tandardný výstup\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "SÚBOR bude zmazaný, pokiaľ bolo zadané --remove (-u). Inak sa nemaže,\n" #~ "keÄže je obvyklé prepisovaÅ¥ súbory zariadení ako /dev/hda a tieto\n" #~ "obvykle vymazané byÅ¥ nemajú. Pre obyÄajné súbory väÄÅ¡ina ľudí používa\n" #~ "voľbu --remove.\n" #~ "\n" #~ "POZOR: Prepisovanie funguje len pokiaľ je splnený dôležitý predpoklad:\n" #~ "že súborový systém prepisuje údaje na mieste. Tak sa to obvykle aj " #~ "robí,\n" #~ "ale pre veľa moderných súborových systémoch to splnené nie je.\n" #~ "Nasledujúce súborové systémy sú príkladom takých, kde shred nie je\n" #~ "úÄinný:\n" #~ "\n" #~ "* systémy založené na log-súboroch alebo žurnáli, ako napr. systémy\n" #~ " obsiahnuté v systémoch AIX, Solaris (a JFS, ReiserFS, XFS, atÄ.)\n" #~ "\n" #~ "* systémy zapisujúce redundantné údaje a sú schopné fungovaÅ¥ aj keÄ\n" #~ " niektoré zo zápisov zlyhajú, ako napr. systémy založené na RAID\n" #~ "\n" #~ "* systémy tvoriace 'snímky', ako napr. NFS server Network Appliance\n" #~ "\n" #~ "* systémy využívajúce cache na doÄasných miestach, ako napr. klienti\n" #~ " NFS verzie 3\n" #~ "\n" #~ "* komprimované súborové systémy\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "AktualizovaÅ¥ Äas posledného prístupu a poslednej zmeny každého SÚBORu\n" #~ "na aktuálny Äas\n" #~ "\n" #~ " -a zmeniÅ¥ iba Äas posledného prístupu\n" #~ " -c nevytváraÅ¥ nové súbory\n" #~ " -d, --date=REŤAZEC analyzovaÅ¥ REŤAZEC a použiÅ¥ ho namiesto " #~ "aktuálneho Äasu\n" #~ " -f (ignorované)\n" #~ " -m zmeniÅ¥ iba Äas poslednej zmeny súboru\n" #~ " -r, --reference=SÚBOR použiÅ¥ Äasy SÚBORu namiesto aktuálneho Äasu\n" #~ " -t ÄŒAS použiÅ¥ [[SS]RR]MMDDhhmm[.ss] namiesto aktuálneho " #~ "Äasu\n" #~ " --time=SLOVO aktualizovaÅ¥ Äas zadaný SLOVOm - access, atime,\n" #~ " use (to isté ako -a); modify, mtime (ako -m)\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "Zoberte na vedomie, že tri formáty dátumu a Äasu (rozpoznávané \n" #~ "voľbami -d a -t a zastaralým spôsobom ich zadania) sú vÅ¡etky rozdielne.\n" #~ msgid "" #~ "Warning: the meaning of `-P' will change in the future to conform to " #~ "POSIX.\n" #~ "Use `--parents' for the old meaning, and `--no-dereference' for the new " #~ "one." #~ msgstr "" #~ "Varovanie: význam `-P' sa v budúcnosti zmení, aby bolo vyhovené POSIX-u.\n" #~ "Pre pôvodný význam použite `--parents' a pre nový `--no-dereference'." #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc." #, fuzzy #~ msgid "%a %b %d %H:%M:%S %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "pri vytváraní Å¡peciálneho znakového súboru musí byÅ¥ zadané\n" #~ "hlavné a vedľajÅ¡ie Äíslo zariadenia" #~ msgid "days" #~ msgstr "dni" #~ msgid "users" #~ msgstr "použív." #, fuzzy #~ msgid "%s: only one signal specififier allowed" #~ msgstr "môže byÅ¥ zadaný iba jeden argument" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) " #~ "[00-99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "FORMÃT urÄuje výstup. Pre druhú formu je jedinou povolenou voľbou\n" #~ "Å¡pecifikácia univerzálneho Äasu. Platné formátovacie sekvencie sú:\n" #~ "\n" #~ " %%%% znak %%\n" #~ " %%a skratka dňa v týždni podľa aktuálneho národného prostredia (Po.." #~ "Ne)\n" #~ " %%A úplný názov dňa podľa národného prostredia, premenná dĺžka " #~ "(Pondelok..Nedeľa)\n" #~ " %%b skratka mesiaca podľa národného prostredia (Jan..Dec)\n" #~ " %%B úplný názov mesiaca podľa národného prostredia, premenná dĺžka " #~ "(Január..December)\n" #~ " %%c dátum a Äas podľa národného prostredia (Ne 28. február 1999, " #~ "18:48:59 CET)\n" #~ " %%d de+n v mesiaci (01..31)\n" #~ " %%D dátum (mm/dd/rr)\n" #~ " %%e deň v mesiaci, zarovnanie medzerou ( 1..31)\n" #~ " %%h ako %%b\n" #~ " %%H hodina (00..23)\n" #~ " %%I hodina (01..12)\n" #~ " %%j deň v roku (001..366)\n" #~ " %%k hodina ( 0..23)\n" #~ " %%l hodina ( 1..12)\n" #~ " %%m mesiac (01..12)\n" #~ " %%M minúta (00..59)\n" #~ " %%n prechod na nový riadok\n" #~ " %%p doobeda alebo poobede (podľa národného prostredia)\n" #~ " %%r Äas, 12-hodinový formát (hh:mm:ss [AP]M)\n" #~ " %%s sekundy od 00:00:00, Jan 1, 1970 (GNU rozšírenie)\n" #~ " %%S sekunda (00..60)\n" #~ " %%t horizontálny tabulátor\n" #~ " %%T Äas, 24-hodinový formát (hh:mm:ss)\n" #~ " %%U Äíslo týždňa v roku s nedeľou ako prvým dňom týždňa (00..53)\n" #~ " %%V Äíslo týždňa v roku s pondelkom ako prvým dňom týždňa (01..52)\n" #~ " %%w deň v týždni (0..6); 0 reprezentuje nedeľu\n" #~ " %%W Äíslo týždňa v roku s pondelkom ako prvým dňom týždňa (00..53)\n" #~ " %%x dátum podľa národného prostredia (dd.mm.rrrr)\n" #~ " %%X Äas podľa národného prostredia (%%H:%%M:%%S)\n" #~ " %%y posledné dve Äíslice roku (00..99)\n" #~ " %%Y rok (1970...)\n" #~ " %%z Äíselné Äasové pásmo podľa RFC-822 (+0100) (neÅ¡tandardné " #~ "rozšírenie)\n" #~ " %%Z Äasové pásmo (napr. CET) alebo prázdny reÅ¥azec, pokiaľ sa nedá " #~ "urÄiÅ¥\n" #~ "\n" #~ "Číselné údaje sú implicitne zarovnávané nulami. GNU date rozpoznáva\n" #~ "medzi `%%' a Äíselnou direktívou nasledovné modifikátory:\n" #~ "\n" #~ " `-' (pomlÄka) nezarovnávaÅ¥\n" #~ " `_' (podÄiarnik) zarovnávaÅ¥ medzerami\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "VypísaÅ¥ REŤAZEC (REŤAZCE) na Å¡tandardný výstup.\n" #~ "\n" #~ " -n po výpise neprejsÅ¥ na nový riadok\n" #~ " -e povoliÅ¥ rozpoznanie znakov uvádzaných spätným " #~ "lomítkom,\n" #~ " popísaných Äalej\n" #~ " -E zakázaÅ¥ spracovanie takýchto sekvencií\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "Bez -E sú rozpoznávané a spracované nasledujúce sekvencie:\n" #~ "\n" #~ " \\NNN znak, ktorého ASCII kód je NNN (oktalovo)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a pípnutie (BEL)\n" #~ " \\b krok späť\n" #~ " \\c potlaÄiÅ¥ koncový znak nového riadku\n" #~ " \\f prechod na novú stránku\n" #~ " \\n prechod na nový riadok\n" #~ " \\r návrat na zaÄiatok riadku\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "VypísaÅ¥ hodnotu VÃRAZU na Å¡tandardný výstup. V nasledujúcom texte\n" #~ "prázdny riadok oddeľuje skupiny podľa stúpajúcej priority. VÃRAZ môže " #~ "byÅ¥:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 ak nie je prázdny ani 0, inak ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 ak žiadny argument nie je prázdny ani nula, " #~ "otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 je menší ako ARG2\n" #~ " ARG1 <= ARG2 ARG1 je menší alebo rovný ARG2\n" #~ " ARG1 = ARG2 ARG1 je rovný ARG2\n" #~ " ARG1 != ARG2 ARG1 nie je rovný ARG2\n" #~ " ARG1 >= ARG2 ARG1 je väÄší alebo rovný ARG2\n" #~ " ARG1 > ARG2 ARG1 je väÄší ako ARG2\n" #~ "\n" #~ " ARG1 + ARG2 aritmetický súÄet ARG1 a ARG2\n" #~ " ARG1 - ARG2 aritmetický rozdiel ARG1 a ARG2\n" #~ "\n" #~ " ARG1 * ARG2 aritmetický súÄin ARG1 a ARG2\n" #~ " ARG1 / ARG2 aritmetický podiel ARG1 a ARG2\n" #~ " ARG1 %% ARG2 aritmetický zvyÅ¡ok po delení ARG1 ARG2\n" #~ "\n" #~ " REŤAZEC : REGEXP výskyt vzoru REGEXP v REŤAZCI\n" #~ "\n" #~ " match REŤAZEC REGEXP ako REŤAZEC : REGEXP\n" #~ " substr REŤAZEC POS DĹŽKA podreÅ¥azec REŤAZCA, POS poÄítaná od 1\n" #~ " index REŤAZEC ZNAKY index v REŤAZCI, kde bol nájdený niektorý " #~ "ZNAK, inak 0\n" #~ " length REŤAZEC dĺžka REŤAZCA\n" #~ " quote TOKEN interpretuj TOKEN ako reÅ¥azec, aj pokiaľ je " #~ "kľúÄovým\n" #~ " slovom ako `match' alebo operátorom ako " #~ "`/'\n" #~ "\n" #~ " ( VÃRAZ ) hodnota of VÃRAZU\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ " -l dlhá forma výstupu\n" #~ " -b vynechaÅ¥ domovský adresár a shell používateľa v dlhej " #~ "forme\n" #~ " -h vynechaÅ¥ projektový súbor používateľa v dlhej forme\n" #~ " -p vynechaÅ¥ súbor s plánom používateľa v dlhej forme\n" #~ " -s krátka forma (implicitná)\n" #~ " -f vynechaÅ¥ nadpisy stĺpcov v krátkej forme\n" #~ " -w vynechaÅ¥ úplné meno používateľa v krátkej forme\n" #~ " -i vynechaÅ¥ úplné meno používateľa a vzdialený systém v " #~ "krátkej forme\n" #~ " -q vynechaÅ¥ úplné meno používateľa, vzdialený systém a Äas " #~ "neÄinnosti\n" #~ " v krátkej forme\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "OdľahÄený program `finger'; výpis informácie o používateľovi.\n" #~ "utmp súbor bude %s.\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "VypísaÅ¥ ARGUMENT(y) podľa FORMÃTU.\n" #~ "\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "FORMÃT riadi výstup analogicky C-funkcii printf. Spracovávané sekvencie " #~ "sú:\n" #~ "\n" #~ " \\\" úvodzovky\n" #~ " \\0NNN znak s oktalovou hodnotou NNN (0 až 3 Äíslice)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a pípnutie (BEL)\n" #~ " \\b krok späť\n" #~ " \\c neprodukovaÅ¥ Äalší výstup\n" #~ " \\f nová stránka\n" #~ " \\n nový riadok\n" #~ " \\r návrat na zaÄiatok riadku\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #~ " \\xNNN znak s hexadecimálnou hodnotou NNN (1 až 3 Äíslice)\n" #~ " \\uNNNN znak s hexadecimálnou hodnotou NNNN (4 Äíslice)\n" #~ " \\UNNNNNNNN znak s hexadecimálnou hodnotou NNNNNNNN (8 Äíslic)\n" #~ "\n" #~ " %%%% znak %%\n" #~ " %%b ARGUMENT ako reÅ¥azec s interpretovanými `\\' sekvenciami\n" #~ "\n" #~ "a vÅ¡etky C Å¡pecifikácie formátu konÄiace jedným znakov diouxXfeEgGcs, s " #~ "ARGUMENTAMI\n" #~ "najprv prevedenými na správny typ. Premenné šírky budú spracované.\n" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Special characters:\n" #~ "* dsusp ZNAK ZNAK poÅ¡le signál zastavenia terminálu po zahodení\n" #~ " nepreÄítaného vstupu\n" #~ " eof ZNAK ZNAK poÅ¡le koniec súboru (ukonÄenie vstupu)\n" #~ " eol ZNAK ZNAK ukonÄuje riadok\n" #~ "* eol2 ZNAK alternatívny ZNAK pre ukonÄenie riadku\n" #~ " erase ZNAK ZNAK zmaže posledný napísaný znak\n" #~ " intr ZNAK ZNAK poÅ¡le signál preruÅ¡enia\n" #~ " kill ZNAK ZNAK zmaže aktuálny riadok\n" #~ "* lnext ZNAK ZNAK spôsobí citáciu nasledujúceho znaku\n" #~ " quit ZNAK ZNAK poÅ¡le signál ukonÄenia\n" #~ "* rprnt ZNAK ZNAK znovu vykreslí aktuálny riadok\n" #~ " start ZNAK ZNAK spustí výstup po jeho zastavení\n" #~ " stop ZNAK ZNAK zastaví výstup\n" #~ " susp ZNAK ZNAK poÅ¡le signál zastavenia terminálu\n" #~ "* swtch ZNAK ZNAK prepne do odliÅ¡nej úrovne shellu\n" #~ "* werase ZNAK ZNAK zmaže posledné napísané slovo\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Å peciálne nastavenia:\n" #~ " N nastaviÅ¥ rýchlosÅ¥ vstupu a výstupu na N baudov\n" #~ "* cols N oznámiÅ¥ jadru, že terminál má N stĺpcov\n" #~ "* columns N ako cols N\n" #~ " ispeed N nastaviÅ¥ rýchlosÅ¥ vstupu N\n" #~ "* line N použiÅ¥ linkovú disciplínu N\n" #~ " min N s -icanon nastaviÅ¥ minimum N znakov pre ukonÄené Äítanie\n" #~ " ospeed N nastaviÅ¥ rýchlosÅ¥ výstupu N\n" #~ "* rows N oznámiÅ¥ jadru, že terminál má N riadkov\n" #~ "* size vypísaÅ¥ poÄet riadkov a stĺpcov podľa údajov jadra\n" #~ " speed vypísaÅ¥ rýchlosÅ¥ terminálu\n" #~ " time N s -icanon nastaviÅ¥ Äasový limit vstupu na N desatín " #~ "sekundy\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Nastavenia vstupu:\n" #~ " [-]brkint break vyvolá signál preruÅ¡enia\n" #~ " [-]icrnl prekladaÅ¥ znaky návratu na zaÄiatok riadku na nové " #~ "riadky\n" #~ " [-]ignbrk ignorovaÅ¥ break znaku\n" #~ " [-]igncr ignorovaÅ¥ znaky návratu na zaÄiatok riadku\n" #~ " [-]ignpar ignorovaÅ¥ znaky s chybou parity\n" #~ "* [-]imaxbel pokiaľ príde znak a vyrovnávacia pamäť je plná, pípnuÅ¥\n" #~ " a nezahodiÅ¥ vstup\n" #~ " [-]inlcr prekladaÅ¥ nové riadky na znaky návratu na zaÄiatok " #~ "riadku\n" #~ " [-]inpck povoliÅ¥ kontrolu parity na vstupe\n" #~ " [-]istrip vynulovaÅ¥ najvyšší (ôsmy) bit vstupujúcich znakov\n" #~ "* [-]iuclc prekladaÅ¥ veľké znaky na malé\n" #~ "* [-]ixany znovu spustiÅ¥ výstup ľubovoľným znakom, nielen znakom " #~ "Å¡tart\n" #~ " [-]ixoff povoliÅ¥ posielanie Å¡tart/stop znakom\n" #~ " [-]ixon povoliÅ¥ XON/XOFF riadenie toku\n" #~ " [-]parmrk oznaÄiÅ¥ chyby parity (postupnosÅ¥ou znakov 255-0)\n" #~ " [-]tandem ako [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Lokálne nastavenia:\n" #~ " [-]crterase echovaÅ¥ znaky zmazania ako krok späť-medzera-krok späť\n" #~ "* crtkill vymazaÅ¥ riadok s reÅ¡pektovaním nastavení echoprt a echoe\n" #~ "* -crtkill vymazaÅ¥ riadok s reÅ¡pektovaním nastavení echoctl a echok\n" #~ "* [-]ctlecho echovaÅ¥ riadiace znaky v strieÅ¡kovej notácii (`^c')\n" #~ " [-]echo echovaÅ¥ vstupujúce znaky\n" #~ "* [-]echoctl ako [-]ctlecho\n" #~ " [-]echoe ako [-]crterase\n" #~ " [-]echok echovaÅ¥ nový riadok po znaku vymazania riadku\n" #~ "* [-]echoke ako [-]crtkill\n" #~ " [-]echonl echovaÅ¥ nový riadok aj pokiaľ sa ostatné znaky neechujú\n" #~ "* [-]echoprt echovaÅ¥ vymazané znaky v obrátenom poradí medzi `\\' a " #~ "'/'\n" #~ " [-]icanon povoliÅ¥ Å¡peciálne znaky erase, kill, werase, a rprnt\n" #~ " [-]iexten povoliÅ¥ Å¡peciálne ne-POSIX-ové znaky\n" #~ " [-]isig povoliÅ¥ Å¡peciálne znaky interrupt, quit a suspend\n" #~ " [-]noflsh zakázaÅ¥ zahodenie vstupu po znakoch interrupt and quit\n" #~ "* [-]prterase ako [-]echoprt\n" #~ "* [-]tostop zastaviÅ¥ úlohy v pozadí, keÄ skúsia zapisovaÅ¥ na " #~ "terminál\n" #~ "* [-]xcase s icanon, predradiÅ¥ `\\' pre veľké písmená\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Kombinované nastavenia:\n" #~ "* [-]LCASE ako [-]lcase\n" #~ " cbreak ako -icanon\n" #~ " -cbreak ako icanon\n" #~ " cooked ako brkint ignpar istrip icrnl ixon opost isig\n" #~ " znaky icanon, eof a eol sa nastavia na implicitné " #~ "hodnoty\n" #~ " -cooked ako raw\n" #~ " crt ako echoe echoctl echoke\n" #~ " dec ako echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq ako [-]ixany\n" #~ " ek znaky erase a kill sa nastavia na implicitné hodnoty\n" #~ " evenp ako parenb -parodd cs7\n" #~ " -evenp ako -parenb cs8\n" #~ "* [-]lcase ako xcase iuclc olcuc\n" #~ " litout ako -parenb -istrip -opost cs8\n" #~ " -litout ako parenb istrip opost cs7\n" #~ " nl ako -icrnl -onlcr\n" #~ " -nl ako icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp ako parenb parodd cs7\n" #~ " -oddp ako -parenb cs8\n" #~ " [-]parity ako [-]evenp\n" #~ " pass8 ako -parenb -istrip cs8\n" #~ " -pass8 ako parenb istrip cs7\n" #~ " raw ako -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw ako cooked\n" #~ " sane ako cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, vÅ¡etky Å¡peciálne\n" #~ " znaky sa nastavia na implicitné hodnoty.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " SÚBOR1 -ef SÚBOR2 SÚBOR1 a SÚBOR2 majú rovnaké Äísla zariadenia a " #~ "inode\n" #~ " SÚBOR1 -nt SÚBOR2 SÚBOR1 je novší (Äas zmeny) ako SÚBOR2\n" #~ " SÚBOR1 -ot SÚBOR2 SÚBOR1 je starší ako SÚBOR2\n" #~ "\n" #~ " -b SÚBOR SÚBOR existuje a je blokový Å¡peciálny súbor\n" #~ " -c SÚBOR SÚBOR existuje a je znakový Å¡peciálny súbor\n" #~ " -d SÚBOR SÚBOR existuje a je adresár\n" #~ " -e SÚBOR SÚBOR existuje\n" #~ " -f SÚBOR SÚBOR existuje a je bežný súbor\n" #~ " -g SÚBOR SÚBOR existuje a má nastavný set-group-ID bit\n" #~ " -G SÚBOR SÚBOR existuje a je vlastnený efektívnym skupinovým ID\n" #~ " -k SÚBOR SÚBOR existuje a má nastavený sticky bit\n" #~ " -L SÚBOR SÚBOR existuje a je symbolický odkaz\n" #~ " -O SÚBOR SÚBOR existuje a je vlastnený efektívnym ID používateľa\n" #~ " -p SÚBOR SÚBOR existuje a je pomenovaná rúra\n" #~ " -r SÚBOR SÚBOR existuje a je Äitateľný\n" #~ " -s SÚBOR SÚBOR existuje a má nenulovú dĺžku\n" #~ " -S SÚBOR SÚBOR existuje a je socket\n" #~ " -t [FD] deskriptor súboru FD (implicitne Å¡tandardný výstup)\n" #~ " je otvorený na termináli\n" #~ " -u SÚBOR SÚBOR existuje a má nastavený set-user-ID bit\n" #~ " -w SÚBOR SÚBOR existuje a je zapisovateľný\n" #~ " -x SÚBOR SÚBOR existuje a je vykonateľný\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading vypísaÅ¥ hlaviÄky stĺpcov\n" #~ " -i, -u, --idle vypísaÅ¥ Äas neÄinnosti ako HOD:MIN, . alebo dávno\n" #~ " -l, --lookup pokúsiÅ¥ sa o kanonizáciu mien prostredníctvom DNS\n" #~ " -m iba meno poÄítaÄa a používateľa spojené so Å¡tand. " #~ "vstupom\n" #~ " -q, --count vÅ¡etky mená používateľov a ich poÄet\n" #~ " -s (ignorované)\n" #~ " -T, -w, --mesg pridaÅ¥ stav povolenia príjmu správ ako +, - or ?\n" #~ " --message ako -T\n" #~ " --writable ako -T\n" #~ " --help vypísaÅ¥ túto pomoc a skonÄiÅ¥\n" #~ " --version vypísaÅ¥ informáciu o verzii a skonÄiÅ¥\n" #~ "\n" #~ "Ak SÚBOR nebol zadaný, použíje sa %s. %s ako SÚBOR je obvyklý.\n" #~ "Pokiaľ sú zadané ARG1 a ARG2, predpokladá sa -m: `am i' alebo `mom " #~ "likes'\n" #~ "sú obvyklé.\n" #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ msgid "USER" #~ msgstr "UŽÃV" #~ msgid "MESG " #~ msgstr "SPR " #~ msgid "LOGIN-TIME " #~ msgstr "ÄŒAS-PRIHLÃS " #~ msgid "FROM\n" #~ msgstr "Z\n" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ " Vypíše prvých 10 riadkov každého súboru na Å¡tandardný výstup. S viac " #~ "ako\n" #~ "jedným súborom, bude pred vypísaním každého uvedená hlaviÄka obsahujúca " #~ "meno\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, bude Äítaný Å¡tandardný " #~ "vstup.\n" #~ "\n" #~ " -c, --bytes=VEĽKOSŤ vypíše prvých VEĽKOSŤ bytov\n" #~ " -n, --lines=POÄŒET vypíše prvých POÄŒET riadkov namiesto prvých " #~ "10\n" #~ " -q, --quiet, --silent nikdy nevypisuje hlaviÄky s názvami súborov\n" #~ " -v, --verbose vypisuje hlaviÄky s názvami súborov vždy\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " VEĽKOSŤ môže maÅ¥ násobiacu príponu: b pre 512, k pre 1K, m pre 1M. " #~ "Pokiaľ\n" #~ "prvý prepínaÄ bude -HODNOTA a ak bude použitá násobiaca prípona, potom " #~ "bude braný\n" #~ "ako -c HODNOTA. Inak bude prepínaÄ braný ako -n HODNOTA.\n" #, fuzzy #~ msgid "warning: `od -w' is obsolete; use `od --width'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `pr -S' is obsolete; use `pr --sep-string'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " Porovnáva súbory ĽAVÃ_SÚBOR a PRAVÃ_SÚBOR, ktorých riadky sú " #~ "usporiadané\n" #~ "podľa nejakého kľúÄa, riadok po riadku. Výstupom sú tri stĺpce, riadky " #~ "obsiahnuté\n" #~ "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky " #~ "spoloÄné\n" #~ "obom súborom.\n" #~ "\n" #~ " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" #~ " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" #~ " -3 neukazuje riadky spoloÄné obom súborom\n" #~ " --help vypíše tuto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "warning: `sort -y' is obsolete; omit `-y'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `tail %s' is obsolete; use -n or -c instead" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `uniq %s' is obsolete; use `uniq -s %s' instead" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súÄet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " Konvertuje tabulátory v každom SÚBORe na medzery, výstup ide na " #~ "Å¡tandardný\n" #~ "výstup. Ak nebude SÚBOR zadaný alebo ak bude -, bude Äítaný Å¡tandardný " #~ "vstup.\n" #~ "\n" #~ " -i, --initial konvertuje iba tabulátory pred prvým znakom na " #~ "riadku\n" #~ " -t, --tabs=POÄŒET tabulátor považuje za POÄŒET (8) medzier\n" #~ " -t, --tabs=ZOZNAM použije Äiarkami oddelený zoznam pozícií " #~ "tabulátorov\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Namiesto -t POÄŒET alebo -t ZOZNAM môžete použiÅ¥ -POÄŒET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ " Konvertuje tabulátory v každom SÚBORe na medzery, výstup ide na " #~ "Å¡tandardný\n" #~ "výstup. Ak nebude SÚBOR zadaný alebo ak bude -, bude Äítaný Å¡tandardný " #~ "vstup.\n" #~ "\n" #~ " -i, --initial konvertuje iba tabulátory pred prvým znakom na " #~ "riadku\n" #~ " -t, --tabs=POÄŒET tabulátor považuje za POÄŒET (8) medzier\n" #~ " -t, --tabs=ZOZNAM použije Äiarkami oddelený zoznam pozícií " #~ "tabulátorov\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Namiesto -t POÄŒET alebo -t ZOZNAM môžete použiÅ¥ -POÄŒET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " Zalamuje vstupné riadky každého SÚBORu (implicitne Å¡tandardného " #~ "vstupu),\n" #~ "zapisujúc výstup na Å¡tandardný výstup.\n" #~ "\n" #~ " -b, --bytes pre zalamovanie poÄíta bajty na riadku namiesto " #~ "stĺpcov\n" #~ " -s, --spaces zalamuje riadky v medzerách\n" #~ " -w, --width=Å ÃRKA používa Å ÃRKA stĺpcov namiesto 80\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "V stĺpcoch nie sú zahrnuté kontrolné znaky na rozdiel od bytov.\n" #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Vypíše riadky skladajúce sa z riadkov jednotlivých SÚBORov, v zadanom " #~ "poradí,\n" #~ "a oddelených tabulátormi na Å¡tandardný výstup. Pokiaľ SÚBOR nebude " #~ "zadaný\n" #~ "alebo bude -, bude Äítaný Å¡tandardný vstup.\n" #~ "\n" #~ " -d, --delimiters=ZOZNAM použije znaky zo ZOZNAMU ako oddeľovaÄe " #~ "(namiesto TAB)\n" #~ " -s, --serial vypíše súbory za sebou namiesto vedľa seba\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ " Rozdelí SÚBOR do súborov PREDPONAaa, PREDPONAab, ... s pevnou dĺžkou.\n" #~ "Implicitná PREDPONA je `x'. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude " #~ "Äítaný\n" #~ "Å¡tandardný vstup.\n" #~ "\n" #~ " -b, --bytes=VEĽKOSŤ zapíše VEĽKOST bytov do výstupného súboru\n" #~ " -C, --line-bytes=VEĽKOSŤ zapíše najviac VEĽKOST bytov na výstupný " #~ "riadok\n" #~ " -l, --lines=POÄŒET zapíše POÄŒET riadkov do výstupného súboru\n" #~ " -POÄŒET to isté ako -l POÄŒET\n" #~ " --verbose pred otvorením každého výstupného súboru " #~ "vypíše\n" #~ " o tom oznámenie na Å¡tandardný výstup\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenei verzie a skonÄí\n" #~ "\n" #~ "VEĽKOSŤ môže maÅ¥ násobiacu príponu: b - 512, k - 1024, m - 1 Mega.\n" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --before attach the separator before instead of after\n" #~ msgstr "" #~ " Vypíše každý SÚBOR na Å¡tandardný výstup. Posledný riadok ako prvý.\n" #~ "Pokiaľ SÚBOR nebude zadaný alebo bude -, bude Äítaný Å¡tandardný vstup.\n" #~ "\n" #~ " -b, --before pripojí oddeľovaÄ riadkov pred riadky " #~ "namiesto\n" #~ " za ne\n" #~ " -r, --regex interpretuje oddeľovaÄ ako regulárny výraz\n" #~ " -s, --separator=REŤAZEC použije REŤAZEC ako oddeľovaÄ namiesto nového " #~ "riadku\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ msgstr "" #~ " Vypíše prvých 10 riadkov každého súboru na Å¡tandardný výstup. S viac " #~ "ako\n" #~ "jedným súborom, bude pred vypísaním každého uvedená hlaviÄka obsahujúca " #~ "meno\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, bude Äítaný Å¡tandardný " #~ "vstup.\n" #~ "\n" #~ " -c, --bytes=VEĽKOSŤ vypíše prvých VEĽKOSŤ bytov\n" #~ " -n, --lines=POÄŒET vypíše prvých POÄŒET riadkov namiesto prvých " #~ "10\n" #~ " -q, --quiet, --silent nikdy nevypisuje hlaviÄky s názvami súborov\n" #~ " -v, --verbose vypisuje hlaviÄky s názvami súborov vždy\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " VEĽKOSŤ môže maÅ¥ násobiacu príponu: b pre 512, k pre 1K, m pre 1M. " #~ "Pokiaľ\n" #~ "prvý prepínaÄ bude -HODNOTA a ak bude použitá násobiaca prípona, potom " #~ "bude braný\n" #~ "ako -c HODNOTA. Inak bude prepínaÄ braný ako -n HODNOTA.\n" #, fuzzy #~ msgid "" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ " V každom SÚBORe konvertuje medzery na tabulátory a výsledok vypisuje\n" #~ "na Å¡tandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, bude Äítaný\n" #~ "Å¡tandardný vstup.\n" #~ "\n" #~ " -a, --all konvertuje vÅ¡etky medzery, namiesto iba úvodných\n" #~ " -t, --tabs=POÄŒET nastaví tabulátor na POÄŒET medzier (8)\n" #~ " -t, --tabs=ZOZNAM použije Äiarkami oddelený zoznam pre pozície " #~ "tabulátorov\n" #~ " --help vypíše tuto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Namiesto -t POÄŒET alebo -t ZOZNAM je možné použiÅ¥ -POÄŒET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ " Rozdeľuje SÚBOR v miestach VZORu(ov) do súborov `xx01', `xx02', ...\n" #~ "a vypisuje veľkosti každého súboru na Å¡tandardný výstup.\n" #~ "\n" #~ " -b, --suffix-format=FORMÃT použije sprintf FORMÃT namiesto %%d\n" #~ " -f, --prefix=PREDPONA použije PREDPONU namiesto `xx'\n" #~ " -k, --keep-files nemaže výstupné súbory pri chybách\n" #~ " -n, --digits=ÄŒÃSLIC použije zadaný poÄet Äíslic namiesto 2\n" #~ " -s, --quiet, --silent nevypisuje veľkosti výstupných súborov\n" #~ " -z, --elide-empty-files maže prázdne výstupné súbory\n" #~ " --help vypíše tuto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Ak SÚBOR bude -, bude Äítaný Å¡tandardný vstup. Každý VZOR môže byÅ¥:\n" #~ "\n" #~ " CELÉ_ÄŒÃSLO kopíruje vÅ¡etko až do riadku tohto Äísla, ale bez " #~ "neho\n" #~ " /REGVÃR/[POSUN] kopíruje vÅ¡etko do riadku zodpovedajúceho " #~ "regulárnemu výrazu,\n" #~ " ale bez neho\n" #~ " %%REGVÃR%%[POSUN] preskoÄí vÅ¡etko až do riadku zodpovedajúceho " #~ "regulárnemu\n" #~ " výrazu, ale bez neho\n" #~ " {CELÉ_ÄŒÃSLO} opakuje predchádzajúci vzor toľkokrát, koľko je tu " #~ "uvedené\n" #~ " {*} opakuje predchádzajúci vzor toľkokrát, koľko je to " #~ "možné\n" #~ "\n" #~ " POSUN musí zaÄínaÅ¥ s `+' alebo `-', nasledovaný celým kladným Äíslom. " #~ "Posun\n" #~ "urÄuje koľko znakov se eÅ¡te zahrnie do bloku v mieste vyhodnotenia " #~ "REGVÃR.\n" #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Vypíše iba vybrané Äasti riadkov z každého SÚBORu na Å¡tandardný výstup.\n" #~ "\n" #~ " -b, --bytes=ZOZNAM vypíše iba tieto byty\n" #~ " -c, --characters=ZOZNAM vypíše iba tieto znaky\n" #~ " -d, --delimiter=ODDEĽOVAÄŒ ako oddeľovaÄ použije ODDEĽOVAÄŒ (namiesto " #~ "TAB)\n" #~ " -f, --fields=ZOZNAM vypíše iba tieto položky; pokiaľ nie je " #~ "zadaná\n" #~ " voľba -s, vypíše aj vÅ¡etky riadky " #~ "neobsahujúce\n" #~ " žiadny oddeľovaÄ\n" #~ " -n (ignorované)\n" #~ " -s, --only-delimited potlaÄí riadky neobsahujúce znak oddeľovaÄa\n" #~ " --output-delimiter=REŤAZEC REŤAZEC sa použije ako výstupný " #~ "oddeľovaÄ.\n" #~ " Implicitne je ako tento oddeľovaÄ použitý " #~ "vstupný\n" #~ " oddeľovaÄ.\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Použite jeden a iba jeden z prepínaÄov -b, -c a -f. Každý zoznam sa " #~ "skladá\n" #~ "z jedného rozsahu alebo z viac rozsahov oddelených Äiarkami. Každý rozsah " #~ "môže\n" #~ "byÅ¥:\n" #~ "\n" #~ " N N-tý byt, znak alebo položka, poÄítané od 1\n" #~ " N- od N-tého bytu, znaku alebo položky, do konca riadku\n" #~ " N-M od N-tého do M-tého (vrátane) bytu, znaku alebo položky\n" #~ " -M od prvního do M-tého (vrátane) bytu, znaku alebo položky\n" #~ "\n" #~ "Ak SÚBOR nie je zadaný alebo je `-', bude Äítaný zo Å¡tandardného vstupu.\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ " Pre každý pár vstupných riadkov s rovnakými prepojovacími položkami, " #~ "zapíše\n" #~ "riadok na Å¡tandardný výstup. Implicitne je prepojovacou položkou položka " #~ "prvá\n" #~ "a oddeľovaÄ je medzera. Pokiaľ SÚBOR1 alebo SÚBOR2 bude -, potom tento " #~ "bude\n" #~ "Äítaný zo Å¡tandardného vstupu.\n" #~ "\n" #~ " -a STRANA vypíše nepárové riadky pochádzajúce zo súboru STRANA\n" #~ " -e PRÃZDN nahradí chýbajúce vstupné položky znakom PRÃZDN\n" #~ " -i, --ignore-case pri porovnávaní položiek ignoruje rozdiely medzi " #~ "malými\n" #~ " a veľkými písmenami\n" #~ " -j POLOŽKA (zastarané) rovnocenné s `-1 POLE -2 POLE'\n" #~ " -j1 POLOŽKA (zastarané) rovnocenné s `-1 POLE'\n" #~ " -j2 POLOŽKA (zastarané) rovnocenné s `-2 POLE'\n" #~ " -o FORMÃT riadi sa FORMÃTom pri tvorbe výstupného riadku\n" #~ " -t ZNAK použije ZNAK ako oddeľovaÄ položiek na vstupe aj " #~ "výstupe.\n" #~ " -v STRANA ako -a STRANA, ale bez spojených riadkov.\n" #~ " -1 POLOŽKA spája pomocou tejto POLOŽKY súboru 1\n" #~ " -2 POLOŽKA spája pomocou tejto POLOŽKY súboru 2\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " Pokiaľ prepínaÄ -t ZNAK nebude zadaný, ako oddeľovaÄ bude použitá " #~ "medzera\n" #~ "a prázdne položky na zaÄiatku riadku budú ignorované. Inak bude " #~ "oddeľovaÄom\n" #~ "položiek ZNAK. Ľubovoľná POLOŽKA je poradie položky poÄítané od 1. FORMÃT " #~ "je\n" #~ "jedna alebo viac Äiarkami alebo medzerami oddelených popisovaÄov, každý " #~ "môže byÅ¥\n" #~ "'STRANA.POLOŽKA' alebo '0'. Implicitný FORMÃT vypisuje prepojovaciu " #~ "položku,\n" #~ "zbytok položiek zo súboru 1, zbytok položiek zo súboru 2. VÅ¡etky sú " #~ "oddelené\n" #~ "znakom ZNAK.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Použitie: %s [PREPÃNAÄŒ] [SÚBOR]...\n" #~ " alebo: %s [PREPÃNAÄŒ] --check [SÚBOR]\n" #~ "\n" #~ " Vypíše alebo kontroluje %s (%d-bitové) kontrolné súÄty. Pokiaľ SÚBOR\n" #~ "nebude zadaný alebo bude -, bude Äítaný Å¡tandardný vstup.\n" #~ "\n" #~ " -b, --binary Äíta súbory v binárnom móde (implicitné\n" #~ " v DOSe/Windows)\n" #~ " -c, --check porovnáva %s súÄty so zadaným zoznamom\n" #~ " -t, --text Äíta súbory v textovom móde (implicitné)\n" #~ "\n" #~ "Nasledujúce prepínaÄe sú užitoÄné iba pri overovaní kontrolných súÄtov:\n" #~ " --status nevypisuje niÄ, status kód ukazuje úspeÅ¡nosÅ¥\n" #~ " -w, --warn varovanie o nesprávne formátovaných riadkoch\n" #~ " kontrolných súÄtov\n" #~ "\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " SúÄty sú poÄítané podľa definície v %s. Pri testovaní by vstup mal\n" #~ "byÅ¥ skorším výstupom tohoto programu. Implicitné nastavenie je výpis " #~ "jedného\n" #~ "riadku pre každý SÚBOR. Formát riadku je kontrolný súÄet, znak indikujúci " #~ "typ\n" #~ "('*' pre binárny, ' ' pre textový) a meno SÚBORu.\n" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ " Prepíše každý SÚBOR na Å¡tandardný výstup a ku každému riadku pridá " #~ "jeho\n" #~ "Äíslo. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude Äítaný Å¡tandardný " #~ "vstup.\n" #~ "\n" #~ " -b, --body-numbering=Å TÃL použije Å TÃL na Äíslovanie riadkov v " #~ "tele\n" #~ " -d, --section-delimiter=CC použije CC pre oddelenie logických " #~ "stránok\n" #~ " -f, --footer-numbering=Å TÃL použije Å TÃL na Äíslovanie riadkov v " #~ "pätiÄke\n" #~ " -h, --header-numbering=Å TÃL použije Å TÃL na Äíslovanie riadkov v " #~ "hlaviÄke\n" #~ " -i, --page-increment=ÄŒÃSLO o koľko zvyÅ¡ovaÅ¥ Äíslo riadkov\n" #~ " -l, --join-blank-lines=POÄŒET berie POÄŒET prázdnych riadkov ako " #~ "jeden\n" #~ " -n, --number-format=FORMÃT Äísla riadkov vypisuje podľa FORMÃTu\n" #~ " -p, --no-renumber nenuluje Äíslo riadku na zaÄiatku " #~ "logickej\n" #~ " stránky\n" #~ " -s, --number-separator=REŤAZEC pridá reÅ¥azec za Äíslo riadku " #~ "(oddeľovaÄ\n" #~ " Äísla od Äaľšieho riadku)\n" #~ " -v, --first-page=ÄŒÃSLO Äíslo prvého riadku na logickej " #~ "stránke\n" #~ " -w, --number-width=POÄŒET Äísla riadkov vypisuje na POÄŒET miest\n" #~ " --help vypíše tuto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " Implicitné sú parametre -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sú\n" #~ "dva znaky, ktoré sú použité na oddeľovanie logických stránok. Pre zadanie " #~ "'\\'\n" #~ "je treba napísaÅ¥ '\\\\'. Å TÃL je jeden z:\n" #~ "\n" #~ " a Äísluje vÅ¡etky riadky\n" #~ " t Äísluje iba neprázdne riadky\n" #~ " n riadky neÄísluje\n" #~ " pREGVÃR Äísluje iba riadky vyhovujúce REGVÃR\n" #~ "\n" #~ "FORMÃT je jeden z:\n" #~ "\n" #~ " ln zarovnáva vľavo, bez úvodných núl\n" #~ " rn zarovnáva vpravo, bez úvodných núl\n" #~ " rz zarovnáva vpravo, s úvodnými nulami\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ " Vypíše SÚBOR v zadanom formáte, implicitný je osmiÄkový výpis, na\n" #~ "Å¡tandardný výstup. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude Äítaný\n" #~ "Å¡tandardný vstup.\n" #~ "\n" #~ " -A, --address-radix=ZÃKLAD pozíciu v súbore vypisuje v zadanej " #~ "sústave\n" #~ " -j, --skip-bytes=POÄŒET preskoÄí prvých POÄŒET bytov každého súboru\n" #~ " -N, --read-bytes=POÄŒET vypíše iba POÄŒET bytov každého súboru\n" #~ " -s, --strings[=POÄŒET] vypíše iba reÅ¥azce obsahujúce najmenej " #~ "POÄŒET\n" #~ " znakov\n" #~ " -t, --format=TYP vyberie výstupný formát alebo formáty\n" #~ " -v, --output-duplicates vypisuje aj za sebou sa opakujúce rovnaké " #~ "riadky\n" #~ " -w, --width[=POÄŒET] vypíše POÄŒET bytov na výstupný riadok\n" #~ " --traditional akceptuje argumenty v pred-POSIXovom tvare\n" #~ " --help vypíše tuto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Pred-POSIXové formáty môžu byÅ¥ používané spolu s POSIXovými, to zahŕňa:\n" #~ " -a rovnaké ako -t a, názvy znakov\n" #~ " -b rovnaké ako -t oC, byty osmiÄkovo\n" #~ " -c rovnaké ako -t c, ASCII znaky alebo kódy znakov so spätným " #~ "lomítkom\n" #~ " -d rovnaké ako -t u2, desiatkové bez znamienka (dvoj bytové - short)\n" #~ " -f rovnaké ako -t fF, Äísla s plávajúcou radovou Äiarkou\n" #~ " -h rovnaké ako -t x2, Å¡estnástkové (dvoj bytové - short)\n" #~ " -i rovnaké ako -t d2, desiatkové so znamienkom (dvoj bytové - short)\n" #~ " -l rovnaké ako -t d4, desiatkové so znamienkom (Å¡tvor bytové - long)\n" #~ " -o rovnaké ako -t o2, osmiÄkové (dvoj bytové - short)\n" #~ " -x rovnaké ako -t x2, Å¡estnástkové (dvoj bytové - short)\n" # `maybe' or `may be'? - rzm #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ " Pri starej syntaxi (druhý spôsob volania), POSUN znamená -j POSUN. " #~ "NÃVESTIE\n" #~ "je pseudo-adresa vypísaná pri prvom byte a zväÄÅ¡ovaná behom výpisu. " #~ "POSUN\n" #~ "a NÃVESTIE sú brané ako osmiÄkové Äísla. Pokiaľ Äíslo zaÄína 0x alebo " #~ "0X,\n" #~ "oznaÄuje Å¡estnástkové Äíslo. Pokiaľ Äíslo konÄí desatinnou Äiarkou '.', " #~ "oznaÄuje\n" #~ "desiatkové Äíslo. Pokiaľ Äíslo konÄí znakom 'b', znamená to, že bude " #~ "násobené\n" #~ "512-timi.\n" #~ "\n" #~ "TYP je tvorené z jednej alebo viacerých týchto možností:\n" #~ "\n" #~ " a názvy znakov\n" #~ " c ASCII znaky alebo kódy znakov so spätným lomítkom\n" #~ " d[BYTOV] desiatkové so znamienkovm s poÄtom BYTOV na Äíslo\n" #~ " f[BYTOV] s plávajúcou radovou Äiarkou s poÄtom BYTOV na Äíslo\n" #~ " o[BYTOV] osmiÄkové s poÄtom BYTOV na Äíslo\n" #~ " u[BYTOV] desiatkové bez znamienka s poÄtom BYTOV na Äíslo\n" #~ " x[BYTOV] Å¡estnástkové s poÄtom BYTOV na Äíslo\n" #~ "\n" #~ " BYTOV je Äíslo. Pre TYPy d, o, u, x môže byÅ¥ BYTOV tiež C ako\n" #~ "sizeof(char), S ako sizeof(short), I ako sizeof(int) alebo L ako\n" #~ "sizeof(long). Pokiaľ je TYP f, BYTOV môže byÅ¥ tiež F ako sizeof(float),\n" #~ "D ako sizeof(double) alebo L ako sizeof(long double).\n" #~ "\n" #~ " ZÃKLAD je d pre dekadické, o - osmiÄkové, x - Å¡estnástkové, n - " #~ "žiadne.\n" #~ "POÄŒET je braný ako Å¡estnástkové Äíslo ak zaÄína 0x alebo 0X, ak konÄí " #~ "znakom\n" #~ "'b', bude násobeno 512-ti, k - 1024-mi, m - 1048576-ti. -s bez zadaného " #~ "Äísla\n" #~ "je brané ako -s 3. -w bez Äísla je brané ako -w 32. Implicitné sú tieto\n" #~ "hodnoty -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Nastránkuje alebo nastĺpcuje SÚBOR(y) pre tlaÄ.\n" #~ "\n" #~ " +PRVÃ_STRANA[:POSLEDNÃ_STRANA], --pages=PRVÃ_STRANA[:POSLEDNÃ_STRANA]\n" #~ " zaÄne [skonÄí] výpis na strane PRVNÃ_[POSLEDNÃ_]" #~ "STRANA\n" #~ " -STĹPCOV, --columns=STĹPCOV\n" #~ " produkuje STĹPCOV-stĺpcový výstup. Riadky vypisuje\n" #~ " na stránku do stĺpcov, pokiaľ nie je Å¡pecifikovaná\n" #~ " voľba -a. Vyvažuje poÄet riadkov v stĺpcoch na " #~ "každej\n" #~ " strane.\n" #~ " -a, --across vypisuje stĺpce vodorovne miesto nadol. Používa sa " #~ "spolu\n" #~ " s prepínaÄom -STĹPCOV.\n" #~ " -c, --show-control-chars\n" #~ " použije strieÅ¡kovú notáciu (^G) a osmiÄkovú so " #~ "spätným lomítkom\n" #~ " -d, --double-space\n" #~ " za každý riadok vloží jeden prázdny\n" #~ " -D, --date-format=FORMÃT\n" #~ " použije FORMÃT pre dátum v hlaviÄke\n" #~ " -e[ZNAK[Å ÃRKA]], --expand-tabs[=ZNAK[Å ÃRKA]]\n" #~ " expanduje vstupné ZNAKy(tabulátory) na Å ÃRKA(8) " #~ "medzier\n" #~ " -F, -f, --form-feed\n" #~ " použije znak novej strany (FF) namiesto nových " #~ "riadkov (CR)\n" #~ " na oddelenie stránok (a 3-riadkovú hlaviÄku strany " #~ "pri -F\n" #~ " alebo 5-riadkovú hlaviÄku s pätiÄkou bez -F).\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h HLAVIÄŒKA, --header=HLAVIÄŒKA\n" #~ " použije vycentrovanú HLAVIÄŒKU namiesto mena súboru.\n" #~ " Pri dlhej hlaviÄke bude ľavá strana orezaná.\n" #~ " -h \"\" vypíše prázdnu hlaviÄku. Nepoužívajte -h\"\"\n" #~ " -i[ZNAK[Å ÃRKA]], --output-tabs[=ZNAK[Å ÃRKA]]\n" #~ " nahradí Å ÃRKA (8) medzier ZNAKom (tabulátorom)\n" #~ " -J, --join-lines spája celé riadky, vyradí -W skracovanie riadkov,\n" #~ " ruší stĺpce, -S[REŤAZEC] nastaví oddeľovaÄ\n" #~ " -l DĹŽKA_STRÃNKY, --length=DĹŽKA_STRÃNKY\n" #~ " nastaví dĺžku strany na DĹŽKA_STRÃNKY riadkov.\n" #~ " (implicitne je 56 riadkov textu, s -F 63)\n" #~ " -m, --merge vypíše súbory vedľa seba, každý v jednom stĺpci,\n" #~ " skracuje riadky, ale spolu s prepínaÄom -J ich " #~ "vypisuje celé\n" #~ " -n[ODDEĽ[ÄŒÃSLIC]], --number-lines[=ODDEĽ[ÄŒÃSLIC]]\n" #~ " Äísluje riadky, vypisuje ÄŒÃSLIC (5) Äíslic a potom " #~ "ODDEĽ\n" #~ " (TAB). Implicitne poÄítanie zaÄína od jednotky prvým\n" #~ " vstupným riadkom\n" #~ " -N ÄŒÃSLO, --first-line-number=ÄŒÃSLO\n" #~ " zaÄne poÄítanie Äíslom ÄŒÃSLO prvého riadku prvej\n" #~ " vypisovanej strany (viÄ +PRVÃ_STRANA)\n" #~ " -o OKRAJ, --indent=OKRAJ\n" #~ " odsadzuje každý riadok s OKRAJ (nula) medzerami,\n" #~ " neovplyvní -w alebo -W, OKRAJ bude pridaný do " #~ "Å ÃRKA_STRÃNKY\n" #~ " -r, --no-file-warnings\n" #~ " potlaÄí varovanie, keÄ súbor nemôže byÅ¥ otvorený\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the <TAB> character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator <TAB> with -J and " #~ "<space>\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddelí stĺpce jedným ZNAKom, Å¡tandardná hodnota pre " #~ "ZNAK\n" #~ " je znak <TAB> bez -w a 'žiadny znak' s -w\n" #~ " -s[CHAR] vypína orezávanie riadkov vo vÅ¡etkých troch\n" #~ " stĺpcových voľbách (-COLUMN|-a -COLUMN|-m), okrem " #~ "prípadu,\n" #~ " že je zapnuté -w\n" #~ " -S[REŤAZEC], --sep-string[=REŤAZEC]\n" #~ " oddeľuje stĺpce s voliteľným REŤAZCOM, nepoužívajte\n" #~ " -S \"REŤAZEC\", iba -S: nepoužitý žiadny oddeľovaÄ " #~ "(rovnako\n" #~ " ako -S\"\", bez -S: Å¡tandardný oddeľovaÄ <TAB> s -J, " #~ "inak\n" #~ " <medzera> (rovnako ako -S\" \"), žiadny efekt na " #~ "stĺpcové\n" #~ " voľby\n" #~ " -t, --omit-header nevypisuje hlaviÄky a pätiÄky stránok\n" #~ " -T, --omit-pagination\n" #~ " nevypisuje hlaviÄky a pätiÄky, odstráni stránkovanie\n" #~ " vstupného súboru (ignoruje znak novej stránky 'form " #~ "feed')\n" #~ " -v, --show-nonprinting\n" #~ " použije osmiÄkovú notáciu so spätným lomítkom\n" #~ " -w Å ÃRKA_STRÃNKY, --width=Å ÃRKA_STRANY\n" #~ " nastaví šírku strany na Å ÃRKA_STRANY (72) znakov,\n" #~ " iba pre viacstĺpcový výstup, -s[ZNAK] vypína (72)\n" #~ " -W Å ÃRKA_STRÃNKY, --page-width=Å ÃRKA_STRANY\n" #~ " nastaví šírku strany na Å ÃRKA_STRANY (72) znakov " #~ "vždy,\n" #~ " orezáva riadky, pokiaľ nie je Å¡pecifikovaná voľba -" #~ "J,\n" #~ " žiadne konflikty s -S alebo -s\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "-T mlÄky predopkladané voľbou -l nn, keÄ nn <= 10 alebo <= 3 s -F. So " #~ "žiadnym\n" #~ "SÚBOROM, alebo keÄ je SÚBOR rovný -, Äíta Å¡tandardný vstup.\n" #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ " Povinné argumenty dlhých prepínaÄov, sú tiež povinné aj pri " #~ "zodpovedajúcich\n" #~ "krátkych prepínaÄoch.\n" #~ "\n" #~ " -A, --auto-reference vo výstupe sú automaticky generované " #~ "odkazy\n" #~ " -C, --copyright vypíše autorské práva a podmeinky " #~ "kopírovania\n" #~ " -G, --traditional spôsobí chovanie ako System V `ptx'\n" #~ " -F, --flag-truncation=REŤAZEC použije REŤAZEC na urÄenie skracovania " #~ "riadkov\n" #~ " -M, --macro-name=REŤAZEC meno makra, ktoré sa má použiÅ¥ namiesto " #~ "`xx'\n" #~ " -O, --format=roff generuje výstup pre program roff\n" #~ " -R, --right-side-refs vloží odkazy vpravo, nepoÄítané v -w\n" #~ " -S, --sentence-regexp=REGVÃR pre koniec riadkov a koniec viet\n" #~ " -T, --format=tex generuje výstup pre TeX\n" #~ " -W, --word-regexp=REGVÃR použije REGVÃR na urÄenie každého slova\n" #~ " -b, --break-file=SÚBOR znaky preruÅ¡ujúce slovo v tomto SÚBORe\n" #~ " -f, --ignore-case prepísanie malých písmen na veľké pre " #~ "triedenie\n" #~ " -g, --gap-size=ÄŒÃSLO veľkosÅ¥ medzery v stĺpcoch medzi " #~ "výstupnými\n" #~ " položkami\n" #~ " -i, --ignore-file=SÚBOR preÄíta slová, ktoré sa majú ignorovaÅ¥\n" #~ " zo SÚBORu\n" #~ " -o, --only-file=SÚBOR preÄítanie zoznamu slov iba zo SÚBORu\n" #~ " -r, --references prvná položka každého riadku je odkaz\n" #~ " -t, --typeset-mode - neimplementované -\n" #~ " -w, --width=ÄŒÃSLO šírka výstupu v stĺpcoch, bez odkazov\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ "Pokiaľ nie je SÚBOR zadaný alebo je -, bude Äítaný Å¡tandardný vstup. " #~ "Implicitné\n" #~ "prepínaÄe: `-F /'\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " #~ "%s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Ostatné voľby:\n" #~ "\n" #~ " -c, --check v prípade, že vstupné súbory sú už " #~ "zoradené,\n" #~ " netriedi ich\n" #~ " -k, --key=POZ1[,POZ2] kÄ¾ÃºÄ zaÄína od POZ1, konÄí na POZ2 (zaÄ. " #~ "je 1)\n" #~ " -m, --merge spojí už zoradené súbory, netriedi ich\n" #~ " -o, --output=SÚBOR výsledok zapíše do SÚBORu namiesto na " #~ "Å¡tandardný\n" #~ " výstup\n" #~ " -s, --stable stabilizuje triedenie zakázaním koneÄného\n" #~ " triedenia rovnakých položiek\n" #~ " -S, --buffer-size=VEĽKOSŤ použi VEĽKOSŤ pre buffer v hlavnej pamäti\n" #~ " -t, --field-separator=ODDEĽ použije ODDEĽovaÄ namiesto hranice\n" #~ " medzera/nemedzera\n" #~ " -T, --temporary-directory=ADRESÃR použije ADRESÃR na doÄasné súbory,\n" #~ " nepoužíva $TMPDIR ani %s.\n" #~ " Viac volieb znamená viac adresárov.\n" #~ " -u s -c testuje striktné usporiadanie\n" #~ " inak vypíše iba prvú z rovnakých " #~ "postupností\n" #~ " -z vstupné riadky budú ukonÄené bytom 0 " #~ "namiesto\n" #~ " nového riadku\n" #~ " +POZ1 [-POZ2] zaÄni kÄ¾ÃºÄ na pozícii POZ1, ukonÄi pred " #~ "POZ2\n" #~ " (zaÄ. 0). Pozor: táto voľba je zastaraná\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ " -n, --lines=N output the last N lines, instead of the last " #~ "%d\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, each iteration lasts approximately S\n" #~ " (default 1) seconds\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Vypíše na Å¡tandardný výstup, posledných %d riadkov každého SÚBORu. " #~ "Pokiaľ\n" #~ "bude zadaný viac ako jeden súbor, predchádza výpisu každého súboru jeho " #~ "názov.\n" #~ "Pokiaľ SÚBOR nebude zadaný alebo bude -, bude Äítaný Å¡tandardný vstup.\n" #~ "\n" #~ " --retry skúša opakovane otvoriÅ¥ súbor, pokiaľ je " #~ "nedostupný\n" #~ " v Äase spustenia tail-u, prípadne pokiaľ sa " #~ "stane\n" #~ " nedostupným neskôr - užitoÄné iba s -f\n" #~ " -c, --bytes=N vypíše posledných N bytov\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " vypisuje iba dáta pridávané do súboru\n" #~ " -f, --follow a --follow=descriptor sú " #~ "ekvivalenty\n" #~ " -n, --lines=N vypíše posledných N riadkov namiesto %d\n" #~ " --max-unchanged-stats=N\n" #~ " s --follow=name znovu otvorí SÚBOR, ktorý " #~ "nezmenil\n" #~ " veľkosÅ¥ po N (implicitne %d) iteráciách, " #~ "aby\n" #~ " zistil, Äi nebol zmazaný alebo premenovaný\n" #~ " (Äo je zvykom pri rotovaných log súboroch)\n" #~ " --pid=PID s -f skonÄí po tom, ako proces PID skonÄí\n" #~ " -q, --quiet, --silent nevypisuje názvy súborov\n" #~ " -s, --sleep-interval=S spolu s -f Äaká približne S sekúnd medzi " #~ "výpismi\n" #~ " (implicitne 1)\n" #~ " -v, --verbose vždy vypisuje názvy súborov\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ msgid "" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE. Warning: a first option of +VALUE is obsolescent, and " #~ "support\n" #~ "for it will be withdrawn.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ " Pokiaľ prvný znak N (poÄet bytov alebo riadkov) je `+', výpis zaÄína\n" #~ "od N-tého elementu od zaÄiatku každého súboru. Inak sa vypisuje " #~ "posledných\n" #~ "N elementov súboru. N môže maÅ¥ násobiacu príponu: b - 512, k - 1024 " #~ "alebo\n" #~ "m - 1048576 (1 Mega). Ak je prvý prepínaÄ -HODNOTA alebo +HODNOTA, potom " #~ "je\n" #~ "bran ako -n HODNOTA alebo -n +HODNOTA, pokiaľ HODNOTA nemá násobiacu\n" #~ "príponu [bkm]. Pokiaľ ju má, potom je HODNOTA braná ako -c HODNOTA \n" #~ "alebo -c +HODNOTA. Varovanie: prvá možnosÅ¥ +HODNOTA je zastaralá\n" #~ "a jej podpora bude odstránená.\n" #~ "\n" #~ "Pri použití --follow (-f) tail implicitne sleduje deskriptor súboru, t." #~ "j.\n" #~ "vypisuje ten istý súbor aj v prípade jeho premenovania. Toto správanie\n" #~ "sa nie je vhodné v prípade, pokiaľ skutoÄne chcete sledovaÅ¥ konkrétny\n" #~ "názov súboru a nie deskriptor súboru (napr. pri rotácii log súborov).\n" #~ "V takom prípade použite --follow=name - tail bude znovu otváraÅ¥ daný\n" #~ "súbor, aby mohol zistiÅ¥ jeho prípadné odstránenie a znovuvytvorenie\n" #~ "iným programom.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ " MNOŽINY sú zadané ako reÅ¥azce znakov. VäÄÅ¡ina znakov reprezentuje ich " #~ "samých,\n" #~ "Å¡peciálny význam majú tieto:\n" #~ "\n" #~ " \\NNN znak v hodnote NNN (zadané v osmiÄkovej sústave)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a znak BEL (pípnutie)\n" #~ " \\b backspace - vymaže znak vľavo od kurzoru\n" #~ " \\f nová strana (form feed)\n" #~ " \\n nový riadok (line feed)\n" #~ " \\r návrat vozíku (return)\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #~ " ZNAK1-ZNAK2 vÅ¡etky znaky od ZNAKu1 po ZNAK2, vzostupne\n" #~ " [ZNAK1-ZNAK2] rovnakné ako ZNAK1-ZNAK2, ak je použité v oboch " #~ "množinách\n" #~ " [ZNAK*] v MNOŽINE2 kopíruje ZNAK toľkokrát, aby bola MNOŽINA2 " #~ "rovnako\n" #~ " dlhá ako MNOŽINA1\n" #~ " [ZNAK*KOĽKOKRÃT] KOĽKOKRÃT kópií ZNAKu, osmiÄkovo, keÄ zaÄína Äíslicou " #~ "0\n" #~ " [:alnum:] vÅ¡etky písmená a Äíslice\n" #~ " [:alpha:] vÅ¡etky písmená\n" #~ " [:blank:] vÅ¡etky horizontálne medzery\n" #~ " [:cntrl:] vÅ¡etky riadiace znaky\n" #~ " [:digit:] vÅ¡etky Äíslice\n" #~ " [:graph:] vÅ¡etky tlaÄiteľné znaky bez medzier\n" #~ " [:lower:] vÅ¡etky malé písmená\n" #~ " [:print:] vÅ¡etky tlaÄiteľné znaky vrátane medzier\n" #~ " [:punct:] vÅ¡etky interpunkÄné znaky\n" #~ " [:space:] vÅ¡etky horizontálne a vertikálne medzery\n" #~ " [:upper:] vÅ¡etky veľké písmená\n" #~ " [:xdigit:] vÅ¡etky Å¡estnástkové Äíslice\n" #~ " [=ZNAK=] vÅ¡etky znaky rovnocenné so ZNAKom\n" #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate)}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N (obsolescent; will be withdrawn)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ " Zo vÅ¡etkých po sebe idúcich rovnakých vstupných riadkov, vypíše na " #~ "výstup\n" #~ "vždy iba jeden. Implicitne je ako VSTUP braný Å¡tandardný vstup a ako " #~ "VÃSTUP\n" #~ "Å¡tandardný výstup.\n" #~ "\n" #~ " -c, --count pred každý riadok vloží poÄet opakovania\n" #~ " -d, --repeated vypisuje iba opakujúce sa riadky\n" #~ " -D, --all-repeated vypisuje vÅ¡etky opakujúce sa riadky\n" #~ " -f, --skip-fields=N neporovnáva prvých N položiek\n" #~ " -i, --ignore-case ignoruje rozdiel medzi malými a veľkými " #~ "písmenami\n" #~ " -s, --skip-chars=N neporovnáva prvých N znakov\n" #~ " -u, --unique vypisuje iba neopakujúce sa riadky\n" #~ " -w, --check-chars=N porovnává najviac N prvých znakov každého riadku\n" #~ " -N rovnaké ako -f N\n" #~ " +N rovnaké ako -s N (zastaralé, bude zruÅ¡ené)\n" #~ " --help vypíše túto nápovedu a skonÄí\n" #~ " --version vypíše oznaÄenie verzie a skonÄí\n" #~ "\n" #~ " Položkou je chápaný neprázdny reÅ¥azec znakov, ktoré nie sú medzerami " #~ "alebo\n" #~ "tabulátormi. Položky sú oddelené medzerami a tabulátormi. Položky budú\n" #~ "preskoÄené pred znakmi.\n" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/quot.sed��������������������������������������������������������������������������0000664�0000000�0000000�00000000231�11624730202�012442� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/vi.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001577374�12107204515�011767� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Vietnamese translation for CoreUtils. # Copyright © 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Phan Vinh Thinh <teppi82@gmail.com>, 2005. # Clytie Siddall <clytie@riverland.net.au>, 2007-2010. # Nguyá»…n VÅ© Hưng <vuhung16plus@gmail.com>, 2011-2012. # Trần Ngá»c Quân <vnwildman@gmail.com>, 2012. # Nguyá»…n Thái Ngá»c Duy <pclouds@gmail.com>, 2012. # msgid "" msgstr "" "Project-Id-Version: coreutils-8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-12-11 13:35+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Team-Website: <http://translationproject.org/team/vi.html>\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" "X-Poedit-SourceCharset: UTF-8\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "tham số %s cho %s không hợp lệ" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "đối số không rõ ràng %s cho %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Những đối số hợp lệ:" #: lib/closein.c:100 msgid "error closing file" msgstr "lá»—i đóng tập tin" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "lá»—i ghi" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "giữ nguyên quyá»n hạn cho %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Lá»—i hệ thống lạ" #: lib/file-type.c:38 msgid "regular empty file" msgstr "tập tin trống thông thưá»ng" #: lib/file-type.c:38 msgid "regular file" msgstr "tập tin thông thưá»ng" #: lib/file-type.c:41 msgid "directory" msgstr "thư mục" #: lib/file-type.c:44 msgid "block special file" msgstr "tập tin đặc biệt khối" #: lib/file-type.c:47 msgid "character special file" msgstr "tập tin đặc biệt ký tá»±" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "liên kết má»m" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "hàng đợi thông Ä‘iệp" #: lib/file-type.c:62 msgid "semaphore" msgstr "cá» hiệu" #: lib/file-type.c:65 msgid "shared memory object" msgstr "đối tượng bá»™ nhá»› chia sẻ" #: lib/file-type.c:68 msgid "typed memory object" msgstr "đối tượng bá»™ nhá»› đặt kiểu" #: lib/file-type.c:70 msgid "weird file" msgstr "tập tin kỳ lạ" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Nhóm địa chỉ cho tên máy không được há»— trợ" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Lá»—i tạm thá»i phân giải tên" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Giá trị ai_flags sai" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Lá»—i không thể phục hồi khi phân giải tên" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "không há»— trợ ai_family" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Lá»—i cấp phát bá»™ nhá»›" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Không có địa chỉ tương ứng vá»›i tên máy" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Không rõ tên hay dịch vụ" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Không há»— trợ tên dịch vụ cho ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "Không há»— trợ ai_socktype" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Lá»—i hệ thống" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Vùng đệm đối số quá nhá»" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Äang xá»­ lý yêu cầu" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Yêu cầu bị huá»· bá»" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Yêu cầu không bị huá»· bá»" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Äã xá»­ lý xong má»i yêu cầu" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Bị ngắt bởi tín hiệu" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Chuá»—i tham số sai mã hoá" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Lá»—i lạ" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: tùy chá»n “%s†chưa rõ ràng; khả năng là:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n “--%s†không cần đối số\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: tùy chá»n “%c%s†không cho phép má»™t đối số\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tùy chá»n “--%s†cần má»™t đối số\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: không nhận ra tùy chá»n “--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: không nhận ra tùy chá»n “%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: tùy chá»n không hợp lệ -- “%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tùy chá»n cần má»™t đối số -- “%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: tùy chá»n “-W %s†không rõ ràng\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: tùy chá»n “-W %s†không cho phép có đối số\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tùy chá»n “-W %s†cần má»™t đối số\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "không thay đổi được quyá»n hạn cá»§a %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "không tạo được thư mục %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "cạn bá»™ nhá»›" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "không ghi nhá»› được thư mục làm việc hiện thá»i" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "gặp lá»—i khi trở vá» thư mục làm việc khởi đầu" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "“" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: gặp kết thúc tập tin" #: lib/regcomp.c:131 msgid "Success" msgstr "Thành công" #: lib/regcomp.c:134 msgid "No match" msgstr "Không tìm thấy" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Biểu thức chính quy không hợp lệ" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ký tá»± đối chiếu không hợp lệ" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Sai tên hạng ký tá»±" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Có dấu chéo ngược theo sau" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Sai tham chiếu ngược" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Có má»™t ký tá»± “[†hay “[^†lẻ đôi" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Có má»™t ký tá»± “(†hay “\\(†lẻ đôi" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Có má»™t ký tá»± “\\{†lẻ đôi" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ná»™i dung “\\{\\}†không hợp lệ" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Sai kết thúc phạm vi" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Cạn bá»™ nhá»›" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Sai biểu thức chính quy Ä‘i trước" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Kết thúc sá»›m biểu thức chính quy" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Biểu thức chính quy quá lá»›n" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Có má»™t ký tá»± “)†hay “\\)†lẻ đôi" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Không có biểu thức chính quy Ä‘i trước" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "thá»±c hiện đệ quy trên %s là rất nguy hiểm" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "thá»±c hiện đệ quy trên %s là rất nguy hiểm (cÅ©ng như %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "hãy dùng “--no-preserve-root†để bá» qua kiểm tra này" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYcC]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nNkK]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "Ä‘ang thiết lập quyá»n hạn cho %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Treo" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Ngắt" #: lib/siglist.h:37 msgid "Quit" msgstr "Thoát" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Câu lệnh không đúng" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Bẫy tìm đưá»ng / Ä‘iểm ngắt" #: lib/siglist.h:46 msgid "Aborted" msgstr "Bị há»§y bá»" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Ngoại lệ dấu chấm động" #: lib/siglist.h:52 msgid "Killed" msgstr "Bị giết" #: lib/siglist.h:55 msgid "Bus error" msgstr "Lá»—i bus" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Lá»—i phân Ä‘oạn" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "á»ng dẫn bị ngắt" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Äồng hồ báo thức" #: lib/siglist.h:67 msgid "Terminated" msgstr "Bị chấm dứt" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Äiá»u kiện I/O khẩn" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Bị dừng (tín hiệu)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Bị dừng" #: lib/siglist.h:79 msgid "Continued" msgstr "Äã tiếp tục" #: lib/siglist.h:82 msgid "Child exited" msgstr "Tiến trình con đã kết thúc" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Bị dừng (đầu vào TTY)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Bị dừng (kết xuất TTY)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O có thể" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Vượt quá giá»›i hạn thá»i gian CPU" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Vượt quá giá»›i hạn kích cỡ tập tin" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Quá hạn bá»™ đếm thá»i gian ảo" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Quá hạn bá»™ đếm thá»i gian theo dõi cách sá»­ dụng tiá»m năng hệ thống" #: lib/siglist.h:106 msgid "Window changed" msgstr "Cá»­a sổ bị thay đổi" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Tín hiệu tá»± định nghÄ©a 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Tín hiệu tá»± định nghÄ©a 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Bẫy EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Cú gá»i hệ thống sai" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Lá»—i đống" #: lib/siglist.h:126 msgid "Information request" msgstr "Yêu cầu thông tin" #: lib/siglist.h:128 msgid "Power failure" msgstr "Gián Ä‘oạn trong việc cấp năng lượng" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Mất tài nguyên" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "không thể tạo ống dẫn" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "tiến trình con %s bị lá»—i" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Tín hiệu thá»i gian thá»±c %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Không nhận ra tín hiệu %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "hàm iconv không thể sá»­ dụng được" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "hàm iconv không sẵn dùng" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "ký tá»± nằm ngoài phạm vi" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "không chuyển đổi được U+%04X thành bảng mã ký tá»± ná»™i bá»™" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "không chuyển đổi được U+%04X thành bảng mã ký tá»± ná»™i bá»™: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "tên ngưá»i dùng không hợp lệ" #: lib/userspec.c:107 msgid "invalid group" msgstr "nhóm không hợp lệ" #: lib/userspec.c:108 msgid "invalid spec" msgstr "đặc tả không hợp lệ" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "không thể hiển thị thông Ä‘iệp lá»—i" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Gói đóng bởi %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Gói đóng bởi %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Giấy phép GPL pb3+: Giấy phép Công cá»™ng GNU phiên bản 3 hay sau\n" "<http://gnu.org/licenses/gpl.html>\n" "Äây là phần má»m tá»± do: bạn có quyá»n sá»­a đổi và phát hành lại nó.\n" "KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Viết bởi %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Viết bởi %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Viết bởi %s, %s và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "%s, và %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Viết bởi %s, %s, %s,.\n" "%s, %s, %s, %s.\n" "%s, %s, và những ngưá»i khác.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Gá»­i báo cáo lá»—i tá»›i: %s\n" "Gá»­i báo cáo lá»—i dịch tá»›i <http://translationproject.org/team/vi.html>\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Thông báo lá»—i %s tá»›i: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Trang chá»§ %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Trang chá»§ %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Trợ giúp chung vá» sá»­ dụng phần má»m GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle gặp lá»—i" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "không thể phục hồi bá»™ mô tả tập tin %d: dup2 bị lá»—i" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "tiến trình con %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "tiến trình con %s đã nhận tín hiệu nghiệm trá»ng %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "đầu vào tiêu chuẩn" #: lib/xfreopen.c:36 msgid "stdout" msgstr "đầu ra tiêu chuẩn" #: lib/xfreopen.c:37 msgid "stderr" msgstr "đầu lá»—i tiêu chuẩn" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "không hiểu luồng dữ liệu" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "không mở lại được %s vá»›i chế độ %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "gặp lá»—i khi so sánh các chuá»—i" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Hãy đặt “LC_ALL=â€C†để giải quyết vấn Ä‘á»." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Äã so sánh hai chuá»—i %s và %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "không thể thá»±c hiện kết xuất đã định dạng" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "đối số %s%s không hợp lệ “%sâ€" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "gặp hậu tố không hợp lệ trong %s%s đối số “%sâ€" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s nhận đối số “%s†là quá lá»›n" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]\n" "\n" "Mã hoá/giải mã Base64 TẬP_TIN hoặc đầu vào chuẩn ra đầu ra chuẩn.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode giải mã dữ liệu\n" " -i, --ignore-garbage khi giải mã thì cÅ©ng bá» qua ký tá»±\n" " không nằm trong bảng chữ cái\n" " -w, --wrap=Sá» ngắt dòng mã hoá sau số cá»™t này (mặc định 76).\n" " Giá trị 0 thì tắt chức năng ngắt dòng\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Không chỉ ra TẬP_TIN, hoặc khi TẬP_TIN là “-â€, thì Ä‘á»c từ đầu vào tiêu " "chuẩn.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Dữ liệu được mã hoá như được diá»…n tả cho bảng chữ cái base64 trong tài liệu\n" "RFC 3564. Khi giải mã, kết nhập có thể chứa các ký tá»± dòng má»›i, thêm vào\n" "các byte cá»§a bảng chữ cái base64 hình thức. Hãy dùng tùy chá»n\n" "â€--ignore-garbage†để thá»­ phục hồi khi luồng đã mã hoá chứa byte khác chữ " "cái.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "lá»—i Ä‘á»c" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "đầu vào sai" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "sai kích cỡ ngắt dòng: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "toán hạng thừa %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "Ä‘ang đóng đầu vào tiêu chuẩn" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Cách dùng: %s TÊN [HẬU_Tá»]\n" " hoặc: %s TÙY_CHỌN...TÊN...\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "In ra TÊN mà không có thành phần thư mục đứng ở đầu.\n" "Nếu chỉ ra, thì còn xóa HẬU_Tá» theo sau.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple há»— trợ Ä‘a tham số và xá»­ lý từng tham số như là má»™t " "TÊN\n" " -s, --suffix=SUFFIX gỡ bá» Ä‘uôi phụ tố SUFFIX\n" " -z, --zero ngăn cách kết xuất vá»›i NUL thay vì dòng má»›i\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Các ví dụ:\n" " %s /usr/bin/sort -> “sortâ€\n" " %s include/stdio.h .h -> “stdioâ€\n" " %s -s .h include/stdio.h -> “stdioâ€\n" " %s -a any/str1 any/str2 -> “str1†theo sau bởi “str2â€\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "thiếu toán hạng" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Ghép nối các FILE, hoặc đầu vào tiêu chuẩn, xuất đầu ra chuẩn.\n" "\n" " -A, --show-all tương đương vá»›i “-vETâ€\n" " -b, --number-nonblank đánh số dòng kết quả không rá»—ng\n" " -e tương đương vá»›i “-vEâ€\n" " -E, --show-ends hiển thị “$†tại cuối má»—i dòng\n" " -n, --number đánh số tất cả những dòng cá»§a kết quả\n" " -s, --squeeze-blank không bao giá» có hÆ¡n má»™t dòng rá»—ng đơn\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t tương đương vá»›i “-vTâ€\n" " -T, --show-tabs hiển thị ký tá»± TAB ở dạng “^Iâ€\n" " -u (bị bá» qua)\n" " -v, --show-nonprinting dùng ký hiệu “^†và “M-â€, trừ cho LFD và TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Ví dụ:\n" " %s f - g Xuất ná»™i dung cá»§a f, tiếp đến là đầu vào tiêu chuẩn, rồi đến ná»™i " "dung cá»§a g.\n" " %s Sao chép đầu vào tiêu chuẩn tá»›i đầu ra tiêu chuẩn.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "không thá»±c hiện được ioctl trên %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "đầu ra chuẩn" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: tập tin đầu vào là tập tin đầu ra" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "gặp lá»—i khi tạo ngữ cảnh bảo mật: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "gặp lá»—i khi đặt thành phần ngữ cảnh bảo mật %s thành %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "gặp lá»—i khi lấy ngữ cảnh bảo mật cá»§a %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "không thể áp dụng ngữ cảnh đặc thù cho tập tin không có nhãn %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "gặp lá»—i khi thay đổi ngữ cảnh cá»§a %s thành %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "không thể truy cập %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "không Ä‘á»c được thư mục %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "Ä‘ang thay đổi ngữ cảnh bảo mật cá»§a %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read bị lá»—i" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close bị lá»—i" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... NGá»®_CẢNH TẬP_TIN...\n" " hoặc: %s [TÙY_CHỌN]... [-u NGƯỜI_DÙNG] [-r VAI_TRÃ’] [-l PHẠM_VI] [-t " "KIỂU] TẬP_TIN...\n" " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Thay đổi ngữ cảnh bảo mật cá»§a má»—i TẬP_TIN thành NGá»®_CẢNH.\n" "Khi có --reference, ngữ cảnh bảo mật cá»§a từng TẬP_TIN được lấy từ " "TẬP_TIN_TC.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference tác động đến nÆ¡i chỉ đến cá»§a má»—i liên kết má»m (đây " "là\n" " mặc định), hÆ¡n là tá»± bản thân liên kết má»m đó\n" " -h, --no-dereference tác động đến liên kết tượng trưng thay vì tham " "chiếu đến tập tin\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=NGƯỜI_DÙNG đặt NGƯỜI_DÙNG trong ngữ cảnh bảo mật đích\n" " -r, --role=VAI_TRÃ’ đặt VAI_TRÃ’ trong ngữ cảnh bảo mật đích\n" " -t, --type=KIỂU đặt KIỂU trong ngữ cảnh bảo mật đích\n" " -l, --range=PHẠM_VI đặt PHẠM_VI trong ngữ cảnh bảo mật đích\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root không coi â€/†là đặc biệt (mặc định)\n" " --preserve-root không thá»±c hiện đệ quy trên “/â€\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=TẬP_TIN_TC sá»­ dụng ngữ cảnh bảo mật cá»§a TẬP_TIN_TC\n" " thay vì chỉ định NGá»®_CẢNH\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" " -R, --recursive thao tác trên các tập tin và thư mục má»™t cách đệ " "qui\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose xuất ra các chuẩn Ä‘oán cho má»i quá trính xá»­ lý tập " "tin\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Những tùy chá»n sau sá»­a đổi cách Ä‘i qua cây thư mục khi có tùy chá»n -R.\n" "cÅ©ng được chỉ định. Nếu chỉ ra hÆ¡n má»™t tùy chá»n, thì chỉ tùy chá»n cuối có\n" "hiệu lá»±c.\n" "\n" " -H nếu đối số dòng lệnh là liên kết má»m tá»›i má»™t\n" " thư mục, thì Ä‘i qua nó\n" " -L Ä‘i qua má»i liên kết má»m tá»›i má»™t thư mục\n" " mà nó gặp\n" " -P không Ä‘i qua bất kỳ liên kết má»m nào (mặc định)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference cần hoặc -H hoặc -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h cần -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "thiếu toán hạng sau %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "ngữ cảnh không hợp lệ: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "chỉ ra các toán tá»­ ngữ cảnh bảo mật xung đột vá»›i nhau" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "gặp lá»—i khi lấy thuá»™c tính cá»§a %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "nhóm không hợp lệ: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... NHÓM TẬP TIN...\n" " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Thay đổi nhóm cá»§a má»—i TẬP_TIN thành NHÓM.\n" "Khi có --reference, nhóm cá»§a má»—i TẬP_TIN được lấy từ TẬP_TIN_TC.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes giống vá»›i --verbose nhưng chỉ báo cáo khi có thay " "đổi\n" " nảy sinh\n" " -f, --silent, --quiet chặn phần lá»›n các thông tin báo lá»—i\n" " -v, --verbose hiện chi tiết quá trình xá»­ lý từng tập tin\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (chỉ hữu dụng trên hệ thống có thể thay đổi\n" " quyá»n sở hữu cá»§a má»™t liên kết má»m)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=TẬP_TIN_TC sá»­ dụng nhóm cá»§a TẬP_TIN_TC thay vì chỉ định\n" " má»™t giá trị GROUP\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Ví dụ:\n" " %s staff /u Thay đổi nhóm cá»§a /u thành “staffâ€.\n" " %s -hR staff /u Thay đổi nhóm cá»§a /u và các tập tin con thành “staffâ€.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "lấy thuá»™c tính má»›i cá»§a %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "liên kết má»m %s chưa thay đổi, đích đến cÅ©ng vậy\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "chế độ cá»§a %s đã thay đổi từ %04lo (%s) thành %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "gặp lá»—i khi chuyển đổi chế độ cá»§a %s từ %04lo (%s) thành %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "chế độ cá»§a %s vẫn là %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" "không thể thá»±c hiện trên liên kết má»m không đầu (không tham chiếu vào đâu) %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "thay đổi quyá»n hạn cá»§a %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: quyá»n hạn má»›i là %s, không phải %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... CHẾ_ÄỘ[,CHẾ_ÄỘ]... TẬP_TIN...\n" " hoặc: %s [TÙY_CHỌN]... CHẾ_ÄỘ_BÃT_PHÂN TẬP_TIN...\n" " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Thay đổi quyá»n truy cập cá»§a má»—i TẬP_TIN thành MODE.\n" "Khi có --reference, gán quyá»n cho từng TẬP_TIN bằng giá trị này từ " "TẬP_TIN_TC.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=TẬP_TIN_TC sá»­ dụng chế độ cá»§a TẬP_TIN_TC thay vì giá trị " "MODE\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" " -R, --recursive thay đổi các tập tin và thư mục má»™t cách đệ qui\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Má»—i CHẾ_ÄỘ có dạng â€[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+â€.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "không thể dùng chung chế độ và tùy chá»n --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "chế độ sai: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "đã thay đổi quyá»n sở hữu cá»§a %s từ %s thành %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "đã thay đổi nhóm cá»§a %s từ %s thành %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "không thay đổi quyá»n sở hữu cá»§a %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s từ %s thành %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "gặp lá»—i khi thay đổi nhóm cá»§a %s từ %s thành %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s thành %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "gặp lá»—i khi thay đổi nhóm cá»§a %s thành %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "quyá»n sở hữu cá»§a %s vẫn là cá»§a %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "nhóm cá»§a %s vẫn là %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "quyá»n sở hữu cá»§a %s được giữ nguyên\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "không truy cập được giá trị cá»§a %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "thay đổi quyá»n sở hữu cá»§a %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "thay đổi nhóm cá»§a %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [NGƯỜI_SỞ_Há»®U][:[NHÓM]] TẬP_TIN...\n" " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Thay đổi chá»§ sở hữu và/hoặc nhóm cá»§a từng FILE thành OWNER và/hoặc GROUP.\n" "Vá»›i tùy chá»n --reference, thay đổi chá»§ và nhóm cá»§a từng FILE giống vá»›i " "TẬP_TIN_TC.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=SỞ_Há»®U_HIỆN_CÓ:NHÓM_HIỆN_TẠI\n" " thay đổi chá»§ sở hữu và/hoặc nhóm cá»§a má»—i tập tin\n" " chỉ nếu chá»§ sở hữu và/hoặc nhóm hiện thá»i\n" " tương ứng vá»›i mẫu chỉ ra ở đây.\n" " Có thể bá» sót má»™t trong hai tham số,\n" " trong trưá»ng hợp đó không yêu cầu khá»›p nó\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=TẬP_TIN_TC sá»­ dụng owner nhóm cá»§a TẬP_TIN_TC thay vì\n" " chỉ định giá trị OWNER:GROUP\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Chá»§ sở hữu không thay nếu bị thiếu. Nhóm không thay đổi nếu thiếu, nhưng bị " "thay đổi\n" "thành nhóm đăng nhập nếu đặt má»™t dấu hai chấm “:†sau CHỦ_SỞ_Há»®U tượng " "trưng.\n" "CHỦ_SỞ_Há»®U và NHÓM có thể là các giá trị số cÅ©ng như tượng trưng.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Ví dụ:\n" " %s root /u Thay đổi ngưá»i sở hữu /u thành “rootâ€.\n" " %s root:staff /u CÅ©ng vậy, nhưng thay đổi nhóm cá»§a nó thành “staffâ€.\n" " %s -hR root /u Thay đổi ngưá»i sở hữu /u và các tập tin dưới thành " "“rootâ€.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "nhóm không hợp lệ %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "danh sách nhóm không hợp lệ %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "gặp lá»—i khi đặt nhóm phụ" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN] Gá»C_MỚI [LỆNH [Ä.Sá»]...]\n" " hoặc: %s TÙY_CHỌN\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "Chạy câu LỆNH vá»›i thư mục gốc (root) đặt là Gá»C_MỚI.\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=NGƯỜI_DÙNG:NHÓM\n" " chỉ ra ngưá»i dùng và nhóm (theo mã số hay tên) cần " "dùng\n" " --groups=G_LIST chỉ ra các nhóm phụ kiểu g1,g2,..,gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Nếu không đưa ra câu lệnh, thì chạy câu lệnh “${SHELL} -i†(mặc định: â€/bin/" "sh -iâ€).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "không chuyển đổi được thư mục gốc thành %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "không chuyển được sang thư mục gốc" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "gặp lá»—i khi đặt mã số nhóm (GID)" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "gặp lá»—i khi đặt mã số ngưá»i dùng (UID)" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "gặp lá»—i khi chạy câu lệnh %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: tập tin quá dài" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Cách dùng: %s [TẬP_TIN]...\n" " hoặc: %s [TÙY_CHỌN]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "In ra tổng kiểm tra CRC và số byte cá»§a má»—i TẬP_TIN.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN1 TẬP_TIN2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "So sánh các tập tin đã sắp xếp TẬP_TIN1 và TẬP_TIN2 theo từng dòng.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Khi không có tùy chá»n, đưa ra kết quả trong ba cá»™t. Cá»™t thứ nhất là\n" "những dòng chỉ có trong TẬP_TIN1, cá»™t thứ hai chứa những dòng chỉ\n" "có trong TẬP_TIN2, và cá»™t thứ ba chứa những dòng có chung trong chúng.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 bá» Ä‘i cá»™t 1 (những dòng chỉ có trong TẬP_TIN1)\n" " -2 bá» Ä‘i cá»™t 2 (những dòng chỉ có trong TẬP_TIN2)\n" " -3 bá» Ä‘i cá»™t 3 (những dòng có trong cả hai tập tin)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order kiểm tra dữ liệu nhập vào được sắp xếp đúng, thậm chí\n" " nếu má»i dòng nhập vào Ä‘á»u có thể kết đôi được\n" " --nocheck-order không kiểm tra xem đầu vào đã xắp xếp đúng chưa\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=CHUá»–I phân cách các cá»™t bằng chuá»—i này\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Chú ý là so sánh tuân theo quy tắc quy định bởi “LC_COLLATEâ€.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Ví dụ:\n" " %s -12 t.tin1 t.tin2 In ra chỉ những dòng nằm trong cả hai tập tin.\n" " %s -3 t.tin1 t.tin2 In ra những dòng chỉ nằm trong má»™t cá»§a hai tập tin " "này.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "tập tin %d không sắp đúng thứ tá»±" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "xác định nhiá»u hÆ¡n má»™t dấu cách" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "không cho phép %s trống" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "lá»—i Ä‘á»c %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "không lseek được %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "lá»—i ghi %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: lá»—i lấy ngữ cảnh hiện thá»i" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: lá»—i ghi" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "gặp lá»—i khi mở rá»™ng %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "Ä‘ang gá»™t quyá»n hạn cho %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "gặp lá»—i khi giữ lại quyá»n sở hữu cá»§a %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "gặp lá»—i khi tìm kiếm tập tin %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "gặp lá»—i khi bảo tồn nguồn tác giả cá»§a %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "không mở được %s để Ä‘á»c" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "không fstat được %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "bá» qua tập tin %s, vì nó bị thay thế trong khi sao chép" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "gặp lá»—i khi lấy ngữ cảnh tạo hệ thống tập tin" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "gặp lá»—i khi đặt ngữ cảnh bảo mật cá»§a %s thành %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "không gỡ bỠđược %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "đã xóa %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "không phải ghi qua liên kết má»m theo sát %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "không tạo được tập tin thông thưá»ng %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "gặp lá»—i khi nhân bản %s từ %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "bảo tồn các giá trị thá»i gian cho %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "gặp lá»—i khi mở %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: thá»­ ghi đè lên %s, cÅ©ng có quyá»n cao hÆ¡n chế độ %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: ghi đè %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (sao lưu: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "gặp lá»—i khi phục hồi ngữ cảnh tạo tập tin mặc định" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "không tạo được liên kết cứng %s tá»›i %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "không thể stat %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "bá» qua thư mục %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "cảnh báo: tập tin nguồn %s được chỉ ra nhiá»u hÆ¡n má»™t lần" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s và %s là cùng má»™t tập tin" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "không thể ghi đè %s (không phải thư mục) bằng thư mục %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "sẽ không ghi đè %s vừa má»›i tạo bằng %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "không thể ghi đè thư mục %s bằng cái không phải thư mục" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "không thể chuyển thư mục vào cái không phải thư mục: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "sao lưu %s sẽ phá há»§y nguồn; không di chuyển %s" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "sao lưu %s sẽ phá há»§y nguồn; không sao chép %s" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "không sao lưu được %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "sẽ không sao chép %s qua liên kết má»m vừa má»›i tạo %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "không sao chép được má»™t thư mục (%s) vào chính nó (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "sẽ không tạo liên kết cứng %s tá»›i thư mục %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "không di chuyển được %s vào má»™t thư mục con cá»§a chính nó (%s)" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "không di chuyển được %s vào %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "gặp lá»—i khi di chuyển giữa các thiết bị: %s tá»›i %s; không xóa được đích" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "gặp lá»—i khi đặt ngữ cảnh tạo tập tin mặc định thành %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "không sao chép được liên kết má»m vòng tròn %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: chỉ tạo được liên kết má»m tương đối trong thư mục hiện thá»i" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "không tạo được liên kết má»m %s tá»›i %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "không tạo được fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "không tạo được tập tin đặc biệt %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "không Ä‘á»c được liên kết má»m %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "không tạo được liên kết má»m %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s có kiểu tập tin chưa lạ" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "không thể há»§y sao lưu %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (há»§y sao lưu)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [-T] NGUá»’N ÄÃCH\n" " hoặc: %s [TÙY_CHỌN]... NGUá»’N... THƯ_MỤC\n" " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUá»’N...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Sao chép NGUá»’N tá»›i ÄÃCH hoặc nhiá»u NGUá»’N tá»›i THƯ_MỤC.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive giống như “-dR --preserve=allâ€\n" " --backup[=ÄIỀUKHIỂN] tạo bản sao lưu cho má»—i tập tin đích đã tồn " "tại\n" " -b giống “--backup†nhưng không chấp nhận đối " "số\n" " --copy-contents sao chép ná»™i dung cá»§a tập tin đặc biệt khi đệ " "quy\n" " -d giống như “--no-dereference --" "preserve=linksâ€\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force nếu không mở được tập tin đích\n" " thì xóa nó và thá»­ lại (dư nếu dùng tùy chá»n " "â€-nâ€)\n" " -i, --interactive há»i lại trước khi ghi đè\n" " (có quyá»n cao hÆ¡n má»™t tùy chá»n “-n†đặt " "trước)\n" " -H Ä‘i theo các liên kết má»m cá»§a dòng lệnh trong " "NGUá»’N\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link liên kết tập tin thay vào sao chép\n" " -L, --dereference luôn luôn theo liên kết má»m trong SOURCE\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber không ghi đè lên má»™t tập tin đã có\n" " (có quyá»n cao hÆ¡n má»™t tùy chá»n “-i†đặt " "trước)\n" " -P, --no-dereference không bao giá» nên theo liên kết má»m trong " "NGUá»’N\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p giống như “--preserve=mode,ownership, " "timestampsâ€\n" " --preserve[=DS_T.TÃNH] bảo tồn các thuá»™c tính chỉ ra (mặc định:\n" " * mode chế độ\n" " * ownership quyá»n sở hữu\n" " * timestamps dấu vết thá»i gian)\n" " cÅ©ng có thể có các thuá»™c tính mở rá»™ng:\n" " * context ngữ cảnh\n" " * links các liên kết\n" " * xattr\n" " * all tất cả\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=DANH_SÃCH_THUỘC_TÃNH không giữ các thuá»™c tính chỉ ra\n" " --parents dùng tên tập tin nguồn đầy đủ dưới THƯ_MỤC\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive sao chép đệ quy các thư mục\n" " --reflink[=KHI_NÀO] Ä‘iá»u khiển việc sao chép clone/CoW. Xem " "dưới.\n" " --remove-destination gỡ bá» má»—i tập tin đích đến đã có\n" " trước khi thá»­ mở nó (tương phản vá»›i “--" "forceâ€)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KHI_NÀO Ä‘iá»u khiển việc tạo tập tin sparse. Xem " "dưới.\n" " --strip-trailing-slashes gỡ bá» má»i dấu gạch ngược Ä‘i theo khá»i má»—i\n" " đối số NGUá»’N\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link tạo liên kết má»m thay cho việc sao chép\n" " -S, --suffix=HẬU_Tá» thay cho hậu tố thưá»ng dùng để sao lưu\n" " -t, --target-directory=THƯ_MỤC sao chép má»i đối số NGUá»’N vào THƯ_MỤC\n" " -T, --no-target-directory coi ÄÃCH là má»™t tập tin thông thưá»ng\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update chỉ sao chép nếu tập tin NGUá»’N má»›i hÆ¡n\n" " tập tin đích đến hoặc khi thiếu tập tin\n" " đích đến\n" " -v, --verbose cho biết cụ thể những gì đã thá»±c hiện\n" " -x, --one-file-system chỉ thá»±c hiện trên hệ thống tập tin này\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Mặc định là tập tin NGUá»’N sparse nhận ra thô sÆ¡ và tập tin ÄÃCH tương ứng\n" "cÅ©ng được sparse. Tính năng này lá»±a chá»n bởi “--sparse=autoâ€. Hãy chỉ ra\n" "â€--sparse=always†để tạo má»™t tập tin ÄÃCH sparse kể cả khi tập tin NGUá»’N\n" "chứa má»™t chuá»—i byte số không đủ dài.\n" "Hãy dùng “--sparse=never†để ngăn chặn việc tạo các tập tin sparse.\n" "\n" "Khi “--reflink[=always]†được chỉ ra, hãy chạy má»™t thao tác sao chép nhẹ " "nhàng,\n" "trong đó má»—i khối dữ liệu được sao chép chỉ nếu bị sá»­a đổi. Không thể làm " "như thế,\n" "không sao chép được hay “--reflink=auto†được chỉ ra thì phục hồi việc sao " "chép tiêu chuẩn.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Hậu tố sao lưu là “~â€, trừ khi đặt vá»›i “--suffix†hoặc " "SIMPLE_BACKUP_SUFFIX.\n" "Phương pháp Ä‘iá»u khiển phiên bản có thể chá»n qua tùy chá»n “--backupâ€\n" "hoặc qua biến môi trưá»ng VERSION_CONTROL. Có những giá trị sau:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off không bao giá» tạo bản sao lưu (dù đưa ra “--backupâ€)\n" " numbered, t tạo các bản sao lưu đã đánh số\n" " existing, nil đánh số nếu có bản sao lưu đánh số, nếu không thì đơn " "giản\n" " simple, never luôn luôn tạo sao lưu đơn giản\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Như má»™t trưá»ng hợp đặc biệt, cp tạo bản sao lưu cá»§a NGUá»’N\n" "khi đưa ra hai tùy chá»n force (ép buá»™c) và backup (sao lưu)\n" "và NGUá»’N và ÄÃCH cùng là má»™t tên cho má»™t tập tin thông thưá»ng đã tồn tại.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "gặp lá»—i khi bảo tồn các thá»i gian cho %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "gặp lá»—i bảo tồn quyá»n hạn cho %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "không tạo được thư mục %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s có nhưng không phải là thư mục" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "gặp lá»—i khi mở %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "thiếu toán hạng tập tin" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "thiếu toán hạng tập tin đích đến sau %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "không thể kết hợp --target-directory (-t) và --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "đích %s không phải là má»™t thư mục" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "khi dùng tùy chá»n “--parents†thì đích đến phải là thư mục" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "đã chỉ ra nhiá»u hÆ¡n má»™t thư mục đích" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "không thể tạo được đồng thá»i liên kết má»m và cứng" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "hai tùy chá»n “-backup†và “-no-clobber†loại từ lẫn nhau" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink chỉ có thể dùng vá»›i --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "kiểu sao lưu" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "không thể bảo tồn ngữ cảnh bảo mật trên hệ thống không há»— trợ SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "không thể bảo tồn thuá»™c tính mở rá»™ng vì cp được tạo không có há»— trợ xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "đầu vào đã biến mất" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: số dòng vượt quá giá»›i hạn" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: số dòng vượt quá giá»›i hạn" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " khi lặp lại %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: không tìm thấy" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "lá»—i trong biểu thức chính quy tìm kiếm" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "lá»—i ghi cho %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: cần số nguyên sau dấu phân cách" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: cần “}†trong số lượng lặp lại" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: cần số nguyên giữa “{†và “}â€" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: thiếu dấu phân cách đóng “%câ€" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: biểu thức chính quy không hợp lệ: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: mẫu sai" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: số thứ tá»± dòng phải lá»›n hÆ¡n không" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "số thứ tá»± dòng %s nhá» hÆ¡n số thứ tá»± dòng đứng trước, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "cảnh bảo: số thứ tá»± dòng %s trùng vá»›i số thứ tá»± dòng đứng trước" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "hậu tố thiếu sá»± xác định chuyển đổi" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "hậu tố chứa sá»± xác định chuyển đổi sai: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "hậu tố chứa sá»± xác định chuyển đổi sai: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "Cá» sai trong chỉ định hoán đổi: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "hậu tố chứa quá nhiá»u sá»± xác định chuyển đổi %%" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "hậu tố thiếu sá»± xác định chuyển đổi %%" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: số sai" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN MẪU...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "ÄÆ°a ra các phần cá»§a TẬP_TIN ngăn cách bởi (các) MẪU thành các tập tin " "“xx00â€,\n" "“xx01â€, v.v., và in ra đầu ra tiêu chuẩn kích thước theo byte cá»§a má»—i phần.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ÄỊNH_DẠNG dùng sprintf ÄỊNH_DẠNG thay cho %02d\n" " -f, --prefix=TIỀN_Tá» dùng TIỀN_Tá» thay cho “xxâ€\n" " -k, --keep-files không xóa tập tin xuất khi có lá»—i\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CHá»®_Sá» dùng số chữ số CHá»®_Sá» thay cho 2\n" " -s, --quiet, --silent không in ra kích thước cá»§a má»—i tập tin xuất\n" " -z, --elide-empty-files xóa tập tin xuất rá»—ng\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Äá»c đầu vào tiêu chuẩn nếu TẬP_TIN là “-†Má»—i MẪU có thể là:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " Sá»_NGUYÊN sao chép đến (nhưng không chứa) số thứ tá»± dòng đã chỉ " "ra\n" " /BTCQ/[HIỆU] sao chép đến (nhưng không chứa) má»™t dòng tương ứng\n" " %BTCQ%[HIỆU] nhảy tá»›i (nhưng không chứa) má»™t dòng tương ứng\n" " {Sá»_NGUYÊN} lặp lại mẫu trước vá»›i số lần đã chỉ ra\n" " {*} lặp lại mẫu trước càng nhiá»u lần càng tốt\n" "\n" "BTCQ: biểu thức chính quy\n" "\n" "HIỆU dòng phải là dấu cá»™ng “+†hay dấu trừ “-†vá»›i má»™t số nguyên dương theo " "sau.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "các trưá»ng và vị trí Ä‘á»u đánh số từ 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Cách dùng: %s TÙY_CHỌN... [TẬP_TIN]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "In ra đầu ra tiêu chuẩn phần đã chá»n cá»§a các dòng từ má»—i TẬP_TIN.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=DANH_SÃCH chỉ chá»n những byte này\n" " -c, --characters=DANH_SÃCH chỉ chá»n những ký tá»± này\n" " -d, --delimiter=DẤU sá»­ dụng DẤU này thay cho TAB, để phân cách các " "trưá»ng\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=DANH_SÃCH chỉ chá»n những trưá»ng này, đồng thá»i in má»i\n" " dòng không có ký tá»± phân cách, trừ khi đưa\n" " ra tùy chá»n “-sâ€\n" " -n (bị bá» qua)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement bổ sung tập hợp các byte, ký tá»± hoặc trưá»ng đã " "chá»n\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited không in ra những dòng không có ký tá»± phân cách\n" " --output-delimiter=CHUá»–I dùng CHUá»–I là ký tá»± phân cách cho\n" " kết quả in ra. Mặc định là ký tá»± phân cách đầu " "vào.\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Dùng chỉ má»™t cá»§a những tùy chá»n “-bâ€, “-c†và “-fâ€.\n" "Má»—i DANH_SÃCH chứa má»™t phạm vi, hoặc nhiá»u phạm vi định giá»›i\n" "bằng dấu phẩy. Äầu vào đã chá»n được ghi theo cùng má»™t thứ tá»±\n" "vá»›i việc Ä‘á»c; nó được ghi chỉ má»™t lần.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Má»—i phạm vi là má»™t trong:\n" "\n" " N Byte, ký tá»± hoặc trưá»ng thứ N đếm từ 1\n" " N- Từ byte, ký tá»± hoặc trưá»ng thứ N đến cuối dòng\n" " N-M Từ byte, ký tá»± hoặc trưá»ng thứ N đến M (tính cả M)\n" " -M Từ byte, ký tá»± hoặc trưá»ng đầu tiên đến thứ M (tính cả M)\n" "\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "sai danh sách byte hoặc trưá»ng" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "phạm vi sai không có Ä‘iểm cuối: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "phạm vi giảm dần sai" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "offset theo byte %s là quá lá»›n" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "số trưá»ng %s là quá lá»›n" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "chỉ có thể đưa ra má»™t dạng danh sách" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "dấu phân cách phải là má»™t ký tá»± đơn" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "cần chỉ ra danh sách các byte, ký tá»±, hoặc trưá»ng" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "chỉ đưa ra dấu phân cách dữ liệu vào khi thá»±c hiện vá»›i trưá»ng" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "bá» Ä‘i các dòng không phân cách chỉ có tác dụng\n" "\tkhi thá»±c hiện vá»›i trưá»ng" #: src/cut.c:870 msgid "missing list of fields" msgstr "thiếu danh sách các trưá»ng" #: src/cut.c:872 msgid "missing list of positions" msgstr "thiếu danh sách các vị trí" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [+ÄỊNH_DẠNG]\n" " hoặc: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" "\n" "C là viết tắt cá»§a thế ká»·, Y năm, M tháng, D ngày, h giá», m phút và s\n" "giây.\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Hiển thị thá»i gian hiện thá»i trong ÄỊNH_DẠNG đưa ra, hoặc đặt ngày cá»§a hệ " "thống.\n" "\n" " -d, --date=STRING hiển thị thá»i gian theo STRING, không phải " "“nowâ€\n" " -f, --file=DATEFILE giống --date má»™t lần cho má»—i dòng cá»§a DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] đưa ra ngày/giỠở dạng ISO 8601.\n" " TIMESPEC=“date†chỉ cho ngày (mặc định),\n" " “hoursâ€, “minutesâ€, “secondsâ€, hoặc “ns†cho " "ngày và\n" " thá»i gian vá»›i độ chính xác đã chỉ.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=TẬP_TIN hiển thị lần sá»­a cuối cùng cá»§a TẬP_TIN\n" " -R, --rfc-2822 đưa ra ngày tháng dạng tương thích RFC 2822\n" " Thí dụ: T2, 07 Th8 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=ÄẶC_TẢ_GIỜ đưa ra ngày và giá» dạng tương thích RFC 3339.\n" " ÄẶC_TẢ_GIỜ xác định độ chính xác â€dateâ€\n" " (ngày tháng), â€seconds†(giây) hoặc â€nsâ€\n" " (nanô-giây).\n" " Các thành phần ngày và giỠđịnh giá»›i bằng má»™t\n" " dấu cách đơn: 2006-08-07 12:34:56-06:00\n" " -s, --set=CHUá»–I đặt thá»i gian theo mẫu cá»§a CHUá»–I\n" " -u, --utc, --universal in ra hay đặt Thá»i gian Quốc tế\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "ÄỊNH_DẠNG Ä‘iá»u khiển kết xuất. Các chuá»—i được Ä‘á»c:\n" "\n" " %% má»™t chữ cái %\n" " %a tên viết tắt cá»§a ngày trong tuần cá»§a miá»n địa phương (Th 3..CN)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A tên đầy đủ cá»§a ngày trong tuần cá»§a miá»n địa phương (Thứ hai..Chá»§ " "nhật)\n" " %b tên ngắn gá»n cá»§a các tháng cá»§a miá»n địa phương (Thg 1..Thg 12)\n" " %B tên đầy đủ cá»§a các tháng cá»§a miá»n địa phương (Tháng má»™t..Tháng mưá»i " "hai)\n" " %c thá»i gian và ngày cá»§a miá»n địa phương (v.d. 14:36:33 MSD Thứ ba 26 " "Thg 4 2005)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C thế ká»·, giống như %Y, trừ bá» quên hai chữ số cuối cùng (v.d. 21)\n" " %d ngày cá»§a tháng (ví dụ, 01)\n" " %D ngày (giống như %m/%d/%y)\n" " %e ngày cá»§a tháng, để trống thay cho việc dùng 0 ( 1..31), giống như " "%_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F ngày tháng đầy đủ (giống như %Y-%m-%d\n" " %g hai chữ số cuối cùng cá»§a năm cá»§a số thứ tá»± tuần ISO (xem %G)\n" " %G năm cá»§a số thứ tá»± tuần ISO (xem %V); thưá»ng chỉ có ích cùng vá»›i %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h giống như %b\n" " %H giá» (00..23)\n" " %I giá» (01..12)\n" " %j ngày cá»§a năm (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k giá», có khoảng trống, tương tá»± như %_H\n" " %l giá», có khoảng trống, tương tá»± như %_H\n" " %m tháng (01..12)\n" " %M phút (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n má»™t dòng má»›i\n" " %N nanô-giây (000000000..999999999)\n" " %p chỉ ra AM hoặc PM viết hoa cá»§a miá»n địa phương (không rõ thì rá»—ng)\n" " %P chỉ ra am hoặc pm viết thưá»ng cá»§a miá»n địa phương (không rõ thì " "rá»—ng)\n" " %r thá»i gian, tính theo 12 giá», cá»§a miá»n địa phương (v.d. 11:11:04 CH)\n" " %R thá»i gian, tính theo 24 giá» (giống như %H:%M)\n" " %s số giây kể từ 1970-01-01 00:00:00 UTC (má»™t sá»± mở rá»™ng GNU)\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S giây (00..60); cần 60 để thích hợp vá»›i giây nhảy qua phút khác\n" " %t khoảng tab ngang\n" " %T thá»i gian (giống như %H:%M:%S)\n" " %u ngày cá»§a tuần (1..7); 1 tương ứng vá»›i Thứ Hai\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U số thứ tá»± cá»§a tuần trong năm vá»›i Chá»§ Nhật là ngày đầu tuần (00..53)\n" " %V số thứ tá»± cá»§a tuần ISO vá»›i Thứ hai là ngày đầu tuần (01..53)\n" " %w ngày trong tuần (0..6); 0 là Chá»§ Nhật\n" " %W số thứ tá»± cá»§a tuần trong năm vá»›i Thứ Hai là ngày đầu tuần (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x ngày theo quy định cá»§a miá»n địa phương (v.d. 22/10/07)\n" " %X giá» theo quy định cá»§a miá»n địa phương (v.d. 23:13:48)\n" " %y hai chữ số cuối cùng cá»§a năm (00..99)\n" " %Y năm (v.d. 2007)\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm múi giá» dạng số (v.d., -0400)\n" " %:z +hh:mm múi giá» dạng số (v.d., -04:00)\n" " %::z +hh:mm:ss múi giá» dạng số (v.d., -04:00:00)\n" " %:::z múi giá» dạng số có “:†đến mức chính xác đã yêu cầu (v.d., -04, " "+05:30)\n" " %Z viết tắt múi giá» theo kiểu bảng chữ cái (v.d., EDT, CST)\n" "\n" "Mặc định là lệnh ngày tháng đệm trưá»ng số bằng số không (0).\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Theo sau “%†có thể đặt những tùy chá»n cá» sau:\n" "\n" " - (dấu gạch nối) không đệm trưá»ng\n" " _ (dấu gạch dưới) đệm trưá»ng bằng dấu cách\n" " 0 (số không) đệm trưá»ng bằng số không\n" " ^ in ra chữ hoa nếu có thể\n" " # in ra chữ đối diện nếu có thể\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Sau má»—i cá» cÅ©ng có thể đặt bá» rá»™ng trưá»ng (theo số thập phân);\n" "rồi (cÅ©ng tùy chá»n) sá»± sá»­a đổi, hoặc:\n" "E để dùng các sá»± đại diện xen kẽ cá»§a miá»n địa phương (nếu có)\n" "hoặc\n" "O để dùng các ký hiệu thuá»™c số xen kẽ cá»§a miá»n địa phương (nếu có)\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Ví dụ:\n" "Chuyển giây từ epoch (1970-01-01 UTC) thành ngày\n" " $ date --date=\"@2147483647\"\n" "\n" "Hiển thị thá»i gian bá» tây nước Mỹ (dùng tzselect(1) để tìm TZ)\n" " $ TZ=\"America/Los_Angeles\" date\n" "\n" "Hiện thá»i gian địa phương lúc 9AM ngày thứ 6 sắp tá»›i ở bá» Tây nước Mỹ\n" " $ date --date=\"TZ=\"America/Los_Angeles\" 09:00 next Friâ€\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "đầu vào chuẩn" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "ngày sai %sâ€" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "đã chỉ ra nhiá»u định dạng kết quả" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "những tùy chá»n chỉ ra ngày để hiển thị loại trừ lẫn nhau" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "những tùy chá»n để in ra và đặt thá»i gian không sá»­ dụng được cùng nhau" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "đối số %s thiếu dấu cá»™ng “+†ở đầu;\n" "khi sá»­ dụng má»™t tùy chá»n để chỉ ra (các) ngày tháng,\n" "má»—i đối số không tùy chá»n phải là má»™t chuá»—i bắt đầu vá»›i dấu cá»™ng" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "không đặt được ngày" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "thá»i gian %s vượt ra ngoài giá»›i hạn" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s [TOÃN_HẠNG]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Sao chép tập tin, chuyển đổi và định dạng theo các toán hạng.\n" "\n" " bs=BYTES Ä‘á»c và ghi BYTES byte má»—i lần\n" " cbs=BYTES chuyển đổi BYTES byte má»—i lần\n" " conv=CONVS chuyển đổi tập tin tùy theo danh sách các ký hiệu,\n" " phân cách nhau bởi dấu phẩy\n" " count=Sá» chỉ sao chép Sá» khối đầu vào\n" " ibs=BYTES Ä‘á»c BYTES byte má»—i lần (mặc định: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=TẬP_TIN Ä‘á»c từ TẬP_TIN thay cho đầu vào tiêu chuẩn\n" " iflag=CỜ Ä‘á»c tùy theo danh sách các ký hiệu phân cách bởi dấu phẩy\n" " obs=BYTES ghi BYTES byte má»—i lần (mặc định: 512)\n" " of=TẬP_TIN ghi vào TẬP_TIN thay cho đầu ra tiêu chuẩn\n" " oflag=CỜ ghi tùy theo danh sách các ký hiệu phân cách bởi dấu phẩy\n" " seek=KHá»I bá» qua KHá»I khối vá»›i kích thước obs ở đầu đầu ra\n" " skip=KHá»I bá» qua KHá»I khối vá»›i kích thước ibs ở đầu đầu vào\n" " status=CÃI-GÃŒ CÃI-GÃŒ sẽ được chặn lại khi kết xuất ra đầu ra lá»—i;\n" " `noxfer' bá» Ä‘i thông kê truyá»n tải, `none' chặn tất cả\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N và BYTES có thể được theo sau bởi các đơn vị sau:\n" "c=1\n" "w=2\n" "b=512\n" "kB=1000\n" "K=1024\n" "MB=1000*1000\n" "M=1024*1024,\n" "xM =M\n" "GB=1000*1000*1000\n" "G=1024*1024*1024\n" "và tương tá»± vá»›i T, P, E, Z, Y.\n" "\n" "Má»—i ký hiệu CONV có thể là:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii từ EBCDIC tá»›i ASCII\n" " ebcdic từ ASCII tá»›i EBCDIC\n" " ibm từ ASCII tá»›i EBCDIC thay thế\n" " block thêm mục ghi dừng dòng má»›i vá»›i khoảng trắng đến kích cỡ cbs\n" " unblock thay thế khoảng trắng theo sau trong mục ghi kích cỡ cbs bằng " "dòng má»›i\n" " lcase thay đổi chữ HOA thành chữ thưá»ng\n" " ucase thay đổi chữ thưá»ng thành chữ HOA\n" " sparse thá»­ thay đổi vị trí thay vì ghi kết xuất cho khối đầu vào NUL\n" " swab trao đổi má»i cặp byte đưa vào\n" " sync thêm má»i khối đầu vào vá»›i NUL đến kích thước ibs; khi\n" " sá»­ dụng vá»›i block hoặc unblock, thêm bằng khoảng trắng thay vì " "NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl lá»—i nếu tập tin kết quả đã có\n" " nocreat không tạo tập tin kết quả\n" " notrunc không cắt ngắn tập tin kết quả\n" " noerror tiếp tục sau khi gặp lá»—i Ä‘á»c\n" " fdatasync ghi vật lý dữ liệu tập tin kết quả lên đĩa trước khi thoát\n" " fsync như trên, nhưng đồng thá»i ghi cả siêu dữ liệu\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Má»—i ký hiệu CỜ có thể là:\n" "\n" " append chế độ nối thêm\n" " (chỉ có ích cho đầu ra; cÅ©ng đỠnghị “conv=notruncâ€)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio dùng I/O đồng quy cho dữ liệu\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct sá»­ dụng I/O trá»±c tiếp cho dữ liệu\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory không thành công nếu không phải thư mục\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync dùng I/O đã đồng bá»™ cho dữ liệu\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync như trên, nhưng đồng thá»i cho cả siêu dữ liệu\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock tích luỹ các khối đầy đủ dữ liệu nhập vào (chỉ iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock sá»­ dụng I/O không đặt khối\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime không cập nhật giá» truy cập\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nochace bá» qua dữ liệu tạm lưu\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty không ấn định thiết bị cuối Ä‘iá»u khiển từ tập tin\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow không Ä‘i theo liên kết má»m\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks lá»—i nếu có nhiá»u liên kết\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary sá»­ dụng I/O nhị phân cho dữ liệu\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text sá»­ dụng I/O văn bản cho dữ liệu\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes coi â€count=N†như là số lượng byte (chỉ vá»›i cá» iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes coi treat â€skip=N†là số lượng byte (chỉ cá» ilag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes coi â€seek=N†là số lượng byte (chỉ cá» oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Gá»­i má»™t tín hiệu %s tá»›i tiến trình “dd†đang chạy để nó in\n" "thống kê I/O ra đầu lá»—i tiêu chuẩn và coi là nó Ä‘ang sao chép.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 mục ghi vào\n" " 18335302+0 mục ghi ra\n" " 9387674624 byte (9.4 GB) đã sao chép, 34.6279 giây, 271 MB/giây\n" "\n" "Tùy chá»n:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> mục ghi vào\n" "%<PRIuMAX>+%<PRIuMAX> mục ghi ra\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> mục ghi bị cắt ngắn\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) đã sao chép" #: src/dd.c:720 msgid "Infinity B" msgstr "B vô cùng" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "đóng tập tin vào %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "đóng tập tin ra %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "gặp lá»—i khi tắt O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Ä‘ang ghi vào %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "toán hạng không nhận ra %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "sai chuyển đổi" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "cỠđầu vào không hợp lệ" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "cỠđầu ra không hợp lệ" #: src/dd.c:1227 msgid "invalid status flag" msgstr "cá» trạng thái không hợp lệ" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "số không hợp lệ %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "không thể kết hợp hai trong số {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "không thể kết hợp block và unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "không thể kết hợp lcase (chữ thưá»ng) và ucase (chữ HOA)" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "không thể kết hợp excl và nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "không thể kết hợp direct và nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "cảnh báo: Ä‘ang gỡ rối lá»—i nhân lseek cho tập tin (%s)\n" " có mt_type=0x%0lx -- xem <sys/mtio.h> để biết danh sách các kiểu" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: không thể bá» qua" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: không thể di chuyển vị trí Ä‘á»c" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "offset bị tràn khi Ä‘á»c tập tin %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "cảnh báo: offset tập tin không hợp lệ sau lá»—i Ä‘á»c" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "vậy không làm việc được vá»›i lá»—i cá»§a nhân" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "Ä‘ang thiết lập cá» cho %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "thiếu bá»™ nhá»› vì vùng nhá»› đệm đầu vào có cỡ %zu byte (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "thiếu bá»™ nhá»› vì vùng nhá»› đệm ra có cỡ %zu byte (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: không thể nhảy đến tá»›i offset đưa ra" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "gặp lá»—i khi cắt ngắn ở %<PRIuMAX> byte trong tập tin kết quả %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync bị lá»—i cho %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync bị lá»—i cho %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "gặp lá»—i khi mở %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "độ lệch quá lá»›n: không thể cắt ngắn thành chiá»u dài seek=%<PRIuMAX> (%lu-" "byte) khối" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "gặp lá»—i khi cắt ngắn ở %<PRIuMAX> byte trong tập tin kết quả %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "không thể bá» qua cache: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Hệ thống tập tin" #: src/df.c:175 msgid "Type" msgstr "Kiểu" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "khối" #: src/df.c:181 msgid "Used" msgstr "Dùng" #: src/df.c:184 msgid "Available" msgstr "Còn" #: src/df.c:187 msgid "Use%" msgstr "%Dùng" #: src/df.c:190 msgid "Inodes" msgstr "Inode" #: src/df.c:193 msgid "IUsed" msgstr "IDùng" #: src/df.c:196 msgid "IFree" msgstr "ITrống" #: src/df.c:199 msgid "IUse%" msgstr "%IDùng" #: src/df.c:202 msgid "Mounted on" msgstr "Gắn vào" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "cảnh báo: tập tin nguồn %s được chỉ ra nhiá»u hÆ¡n má»™t lần" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Cỡ" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Còn" #: src/df.c:474 msgid "Capacity" msgstr "Dung lượng" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%2$s-%1$s" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Hiển thị thông tin vá» hệ thống tập tin chứa má»—i TẬP_TIN,\n" "hoặc tất cả các tập tin theo mặc định.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all gồm cả những hệ thống tập tin giả\n" " -B, --block-size=Cá»  dùng khối kích Cá»  trước khi in. Ví dụ: \n" " “-BM†sẽ in cỡ cá»§a đơn vị theo 1,048,576 bytes.\n" " Xem định dạng Cá»  dưới đây.\n" " --total xuất má»™t tổng số tổng quát\n" " -h, --human-readable hiện kích cỡ ở dạng dá»… Ä‘á»c (v.d. 1K 234M 2G)\n" " -H, --si như trên, nhưng dùng số mÅ© 1000 thay cho 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes liêt kê thông tin vá» inode thay cho sá»­ dụng khối\n" " -k giống như “--block-size=1Kâ€\n" " -l, --local chỉ liệt kê hệ thống tập tin cục bá»™\n" " --no-sync không gá»i sync trước khi lấy thông tin sá»­ dụng (mặc " "định)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability sá»­ dụng định dạng kết quả POSIX\n" " --sync gá»i sync trước khi lấy thông tin\n" " -t, --type=KIỂU chỉ liệt kê các hệ thống tập tin KIỂU\n" " -T, --print-type in ra kiểu hệ thống tập tin\n" " -x, --exclude-type=KIỂU chỉ liệt kê các hệ thống tập tin không phải KIỂU\n" " -v (bị bá» qua)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "hai tùy chá»n “--compare†(-C) và “--strip†loại từ lẫn nhau" #: src/df.c:1335 msgid "warning: " msgstr "cảnh báo: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "tùy chá»n dài â€--megabytes†đã lá»—i thá»i và sẽ sá»›m bị loại bá»" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "dạng hệ thống tập tin %s đã được cả chá»n và loại bá»" #: src/df.c:1500 msgid "Warning: " msgstr "Cảnh báo: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "không Ä‘á»c được bảng các hệ thống tập tin đã gắn" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "không có hệ thống tập tin được xá»­ lý" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "ÄÆ°a ra các câu lệnh đặt biến môi trưá»ng LS_COLORS.\n" "\n" "Nhận ra định dạng kết quả:\n" " -b, --sh, --bourne-shell đưa ra mã Bourne shell đặt LS_COLORS\n" " -c, --csh, --c-shell đưa ra mã C shell đặt LS_COLORS\n" " -p, --print-database xuất các giá trị mặc định\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Nếu chỉ ra TẬP_TIN, thì Ä‘á»c nó để tìm ra màu nào sá»­ dụng cho dạng tập tin\n" "và phần mở rá»™ng tập tin nào. Nếu không, sá»­ dụng cÆ¡ sở dữ liệu đã biên dịch " "từ trước.\n" "Äể xem chi tiết vỠđịnh dạng cá»§a những tập tin này, chạy “dircolors --print-" "databaseâ€.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: dòng sai; thiếu hiệu bài thứ hai" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: không nhận ra từ khóa %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<ná»™i bá»™>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "các tùy chá»n để đưa ra cÆ¡ sở dữ liệu ná»™i bá»™ cá»§a “dircolors†và\n" "để chá»n má»™t cú pháp shell loại trừ lẫn nhau" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "toán hạng tập tin không thể kết hợp vá»›i “--print-database (-p)â€" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "không có biến môi trưá»ng SHELL, và không đưa ra tùy chá»n kiểu shell" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Cách dùng: %s [TÙY-CHỌN] TÊN...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "In ra từng TÊN không có dấu gách chéo ở đầu và cuối; nếu TÊN không chứa “/†" "nào,\n" "thì in ra “.†(có nghÄ©a là thư mục hiện thá»i).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -0, --null ngắt dòng bằng NUL thay vì kí tá»± xuống dòng ở đầu ra\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Thí dụ:\n" " %s /usr/bin/ -> “/usrâ€.\n" " %s dir1/str dir2/str -> “dir1†theo sau bởi “dir2â€\n" " %s stdio.h -> “.â€.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" " hoặc: %s [TÙY_CHỌN]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Tính tổng không gian đĩa má»—i TẬP_TIN sá»­ dụng, đệ quy cho các thư mục.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all ghi số đếm cho má»i tập tin, không chỉ thư mục\n" " --apparent-size in ra kích cỡ hiển thị, thay cho sá»­ dụng đĩa; mặc " "dù\n" " kích cỡ hiển thị thưá»ng nhá» hÆ¡n, đôi khi nó\n" " lá»›n hÆ¡n do các lá»— hổng trong tập tin (â€sparseâ€),\n" " sá»± phân mảnh, khối gián tiếp, và những thứ tương " "tá»±\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=SIZE làm cỡ to hÆ¡n SIZE lần trước khi in. Ví dụ: \n" " â€-BM†sẽ in đơn vị dạng 1,048,576 bytes.\n" " Xem định dạng SIZE dưới đây.\n" " -b, --bytes tương đương “--apparent-size --block-size=1â€\n" " -c, --total đưa ra má»™t tổng tổng quát\n" " -D, --dereference-args không theo liên kết má»m được \n" " liệt kê trên dòng lệnh\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F tính tổng sá»­ dụng đĩa cá»§a các tập tin có tên dừng " "bởi\n" " NUL chỉ ra trong tập tin F\n" " -H tương đương vá»›i “--dereference-args (-D)â€\n" " -h, --human-readable in kích cỡ vá»›i định dạng dá»… Ä‘á»c (v.d. 1K 234M 2G)\n" " --si giống “-hâ€, nhưng dùng 1000 lÅ©y thừa thay cho 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k giống “--block-size=1Kâ€\n" " -l, --count-links tính kích cỡ rất nhiá»u lần nếu có liên kết cứng\n" " -m giống “--block-size=1Mâ€\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference không liên kết má»i liên kết má»m\n" " -P, --no-dereference không Ä‘i theo liên kết má»m nào (đây là mặc định)\n" " -0, --null kết thúc má»—i dòng kết quả bằng 0 byte thay cho dòng " "má»›i\n" " -S, --separate-dirs không thêm kích cÆ¡ cá»§a thư mục con\n" " -s, --summarize chỉ hiển thị tổng số cho má»—i đối số\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time hiển thị giá» sá»­a đổi cuối cùng cá»§a bất cứ tập tin " "nào\n" " trong thư mục, hoặc cá»§a bất cứ thư mục con nào cá»§a " "nó\n" " --time=TỪ hiển thị giá» theo TỪ thay cho giá» sá»­a đổi:\n" " * atime giá» truy cập\n" " * access giá» truy cập\n" " * use giá» dùng\n" " * ctime giá» thay đổi inode\n" " * status giá» lấy trạng thái\n" " --time-style=KIỂU_DÃNG hiển thị giá» theo kiểu dáng KIỂU_DÃNG:\n" " * full-iso ISO đầy đủ\n" " * long-iso ISO dài\n" " * iso ISO\n" " * +ÄỊNH_DẠNG\n" " ÄỊNH_DẠNG dùng như cá»§a lệnh “dateâ€\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "Vô hạn" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "Ä‘iểm gắn `%s' đã sẵn được đảo ngược" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read gặp lá»—i: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "độ sâu tối Ä‘a “%s†không hợp lệ" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "sai đối số “--%s†%s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "không thể đồng thá»i tóm tắt, và hiển thị má»i mục" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "cảnh báo: tóm tắt là giống vá»›i sá»­ dụng “--max-depth=0â€" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "cảnh báo: tóm tắt xung đột vá»›i “--max-depth=%luâ€" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "toán hạng tập tin không thể kết hợp vá»›i “--file0-fromâ€" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: lá»—i Ä‘á»c" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "Ä‘á»c các tên tập tin từ đầu vào tiêu chuẩn thì không cho phép tên tập tin %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "sai tên tập tin chiá»u dài bằng không" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "tổng" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN_NGẮN]... [CHUá»–I]...\n" " hoặc: %s TÙY-CHỌN-DÀI\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Hiển thị CHUá»–I ra đầu ra tiêu chuẩn.\n" "\n" " -n không in ra ký tá»± dòng má»›i Ä‘i theo\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e bật chức năng biên dịch ký tá»± thoát gạch ngược (mặc định)\n" " -E tắt khả năng biên dịch ký tá»± thoát gạch ngược\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e bật chức năng Ä‘á»c ký tá»± thoát chéo ngược\n" " -E tắt chức năng Ä‘á»c ký tá»± thoát chéo ngược (mặc định)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "â€-e†có hiệu lá»±c thì cÅ©ng nhận ra những dãy theo đây:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ sổ chéo ngược\n" " \\a cảnh giác (BEL)\n" " \\b xóa lùi\n" " \\c không xuất gì thêm nữa\n" " \\e thoát\n" " \\f kéo trang\n" " \\n dòng má»›i\n" " \\r xuống dòng\n" " \\t cá»™t tab theo chiá»u ngang\n" " \\v cá»™t tab theo chiá»u dá»c\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN byte có giá trị bát phân NNN (1 đến 3 chữ số)\n" " \\xHH byte có giá trị thập lục HH (1 đến 2 chữ số)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [-] [TÊN=GIÃ_TRỊ]... [LỆNH [Ä.Sá»]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Äặt má»—i TÊN thành GIÃ_TRỊ trong môi trưá»ng và chạy câu LỆNH.\n" "\n" " -i, --ignore-environment bắt đầu vá»›i má»™t môi trưá»ng rá»—ng\n" " -0, --null kết thúc má»—i dòng kết xuất bằng 0 byte thay cho ký tá»± " "dòng má»›i\n" " -u, --unset=TÊN xóa biến TÊN khá»i môi trưá»ng\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Má»™t “-†nghÄ©a là “-iâ€. Nếu không có câu LỆNH, thì in ra môi trưá»ng kết " "quả.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "không thể bỠđặt %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "không thể đặt %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "không thể xác định --null (0) vá»›i câu lệnh" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Chuyển đổi tab trong má»—i TẬP_TIN thành khoảng trắng, ghi ra đầu ra tiêu " "chuẩn.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial không chuyển đổi tab nằm sau ký tá»± không phải trống\n" " -t, --tabs=Sá» dùng Sá» cho số ký tá»± cá»§a tab, không phải 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=D.SÃCH dùng danh sách các vị trí chính xác cá»§a tab\n" " (phân cách bởi dấu phẩy)\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "chiá»u dài tab là quá lá»›n %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "kích cỡ tab chứa ký tá»± không cho phép: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "kích cỡ tab không thể là 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "kích cỡ tab phải tăng dần" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "dòng nhập vào quá dài" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s BIỂU_THỨC\n" " hoặc: %s TÙY_CHỌN\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "In giá trị cá»§a BIỂU_THỨC ra đầu ra tiêu chuẩn. Má»™t dòng trắng ở dưới\n" "phân cách các nhóm có quyá»n ưu tiên tăng dần. BIỂU_THỨC có thể là:\n" "\n" " Ä.Sá»1 | Ä.Sá»2 Ä.Sá»1 nếu nó không phải rá»—ng hoặc 0, nếu không thì Ä." "Sá»2\n" "\n" " Ä.Sá»1 & Ä.Sá»2 Ä.Sá»1 nếu má»—i đối số không phải rá»—ng hay 0, ngược lại " "thì 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " Ä.Sá»1 < Ä.Sá»2 Ä.Sá»1 nhá» hÆ¡n Ä.Sá»2\n" " Ä.Sá»1 <= Ä.Sá»2 Ä.Sá»1 nhá» hÆ¡n hoặc bằng Ä.Sá»2\n" " Ä.Sá»1 = Ä.Sá»2 Ä.Sá»1 bằng Ä.Sá»2\n" " Ä.Sá»1 != Ä.Sá»2 Ä.Sá»1 khác Ä.Sá»2\n" " Ä.Sá»1 >= Ä.Sá»2 Ä.Sá»1 lá»›n hÆ¡n hoặc bằng Ä.Sá»2\n" " Ä.Sá»1 > Ä.Sá»2 Ä.Sá»1 lá»›n hÆ¡n Ä.Sá»2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " Ä.Sá»1 + Ä.Sá»2 tổng số há»c cá»§a Ä.Sá»1 và Ä.Sá»2\n" " Ä.Sá»1 - Ä.Sá»2 hiệu số há»c cá»§a Ä.Sá»1 và Ä.Sá»2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " Ä.Sá»1 * Ä.Sá»2 tích số há»c cá»§a Ä.Sá»1 và Ä.Sá»2\n" " Ä.Sá»1 / Ä.Sá»2 thương số há»c cá»§a Ä.Sá»1 chia cho Ä.Sá»2\n" " Ä.Sá»1 % Ä.Sá»2 phần dư khi Ä.Sá»1 chia cho Ä.Sá»2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " CHUá»–I : BTCQ đánh dấu tương ứng cá»§a BTCQ trong CHUá»–I\n" "\n" " match CHUá»–I BTCQ giống như CHUá»–I : BTCQ\n" " substr CHUá»–I VỊ_TRà DÀI chuá»—i con cá»§a CHUá»–I, VỊ_TRà đếm từ 1\n" " index CHUá»–I KÃ_Tá»° chỉ mục trong CHUá»–I ở đó tìm thấy KÃ_Tá»°, hoặc " "0\n" " length CHUá»–I chiá»u dài CHUá»–I\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + HIỆU_BÀI hiểu HIỆU_BÀI như má»™t chuá»—i, thậm chí cả khi " "nó\n" " là má»™t từ khóa như “match†hay má»™t toán tá»­ " "như “/â€\n" "\n" " ( BIỂU_THỨC ) giá trị cá»§a BIỂU_THỨC\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Cần biết rằng rất nhiá»u toán tá»­ cần đặt sau ký tá»± thoát hoặc trong dấu " "ngoặc\n" "khi gõ vào trong shell.\n" "So sánh sẽ là số há»c nếu cả hai Ä.Sá» Ä‘á»u là số, nếu không sẽ là so sánh " "nghÄ©a từ.\n" "Khá»›p mẫu sẽ trả lại chuá»—i tương ứng giữa “\\(†và “\\)†hoặc rá»—ng.\n" "Nếu không dùng “\\(†và “\\)â€, chúng sẽ trả lại số ký tá»± tương ứng hoặc 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Trạng thái thoát là:\n" " * 0 nếu BIỂU_THỨC không phải rá»—ng hoặc 0.\n" " * 1 nếu BIỂU_THỨC là rá»—ng hoặc 0\n" " * 2 nếu BIỂU_THỨC sai cú pháp\n" " * 3 nếu gặp lá»—i.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "lá»—i cú pháp" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "lá»—i trong hàm khá»›p biểu thức chính quy" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "đối số không phải số nguyên" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "chia cho không" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "đặt “LC_ALL=â€Câ€â€ để tránh vấn Ä‘á»" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "đã so sánh hai chuá»—i %s và %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Kiểm tra số nguyên tố Lucas gặp lá»—i. Äây là Ä‘iá»u không nên xảy ra" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "tràn hàng đợi squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s không phải là má»™t số nguyên dương hợp lệ" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s là quá lá»›n" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s [Sá»]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "In ra các nhân số nguyên tố cá»§a má»—i số nguyên Sá». Nếu không có đối số\n" "chỉ ra trên dòng lệnh, thì Ä‘á»c chúng từ đầu vào tiêu chuẩn.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "không lấy được thư mục hiện thá»i" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "không thể chuyển sang thư mục %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "không stat được thư mục hiện thá»i (bây giá» %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Cách dùng: %s [-RỘNG] [TÙY_CHỌN]... [TẬP_TIN]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Äịnh dạng lại má»—i Ä‘oạn văn trong (các) TẬP_TIN, cÅ©ng ghi ra đầu ra tiêu " "chuẩn.\n" "Tùy chá»n “-RỘNG†viết tắt tùy chá»n “--width=CHá»®_Sá»â€.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin giữ khoảng thụt dòng cá»§a hai dòng đầu tiên\n" " -p, --prefix=CHUá»–I chỉ định dạng lại những dòng bắt đầu vá»›i CHUá»–I,\n" " gán lại chuá»—i tiá»n tố đó vào dòng đã định dạng " "lại\n" " -s, --split-only chia những dòng dài, nhưng không Ä‘iá»n lại\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph thụt dòng cá»§a dòng đầu tiên khác vá»›i dòng thứ " "hai\n" " -u, --uniform-spacing má»™t khoảng trống giữa các từ, hai giữa các câu\n" " -w, --width=RỘNG độ rá»™ng dòng tối Ä‘a (mặc định là 75 cá»™t)\n" " -g, --goal=RỘNG độ rá»™ng mục đích (mặc định là bằng 93% of chiá»u " "rá»™ng)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "tùy chá»n sai “-- %câ€; “-WIDTH†chỉ nhận ra khi nó là tùy chá»n đầu tiên;\n" "dùng “-w N†(N là số) để thay thế" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "chiá»u rá»™ng sai: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Ngắt dòng đưa vào cá»§a má»—i TẬP_TIN (đầu vào tiêu chuẩn theo mặc định),\n" "ghi ra đầu ra tiêu chuẩn.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes đếm byte thay cho cá»™t\n" " -s, --spaces ngắt dòng ở khoảng trắng\n" " -w, --width=RỘNG dùng RỘNG cá»™t thay cho 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "sai số cá»™t: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Cách dùng: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Giá»›i hạn phụ thuá»™c vào ná»n tảng kết xuất theo má»™t định dạng thích hợp vá»›i " "văn lệnh shell.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "gặp lá»—i khi lấy các nhóm cho ngưá»i dùng %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "gặp lá»—i khi lấy các nhóm cho tiến trình hiện thá»i" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "không tìm thấy tên cho nhóm ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [TÊN_NGƯỜI_DÙNG]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "In ra (các) nhóm chứa má»—i TÊN_NGƯỜI_DÙNG hoặc, nếu không đưa ra\n" "TÊN_NGƯỜI_DÙNG, cho tiến trình hiện thá»i (mà có thể khác nếu\n" "cÆ¡ sở dữ liệu nhóm bị thay đổi).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "không thể lấy UID thá»±c" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "không thể lấy kết quả GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "không thể lấy GID thá»±c" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: không có ngưá»i dùng này" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "In 10 dòng đầu tiên cá»§a má»—i TẬP_TIN ra đầu ra tiêu chuẩn.\n" "Khi có vài TẬP_TIN, đắt trước má»—i tập tin má»™t phần đầu cho biết tên tập tin " "tin.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K in ra K byte đầu tiên cá»§a má»—i tập tin;\n" " khi có “-†ở đầu, in ra tất cả trừ K byte\n" " cuối cùng cá»§a má»—i tập tin\n" " -n, --lines=[-]K in ra K dòng đầu tiên thay vì 10;\n" " khi có “-†ở đầu, in ra tất cả trừ K dòng\n" " cuối cùng cá»§a má»—i tập tin\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent không in ra phần đầu cho biết tên tập tin\n" " -v, --verbose luôn luôn in ra phần đầu cho biết tên tập tin\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K có thể đặt các hậu tố bá»™i số sau:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, và tương tá»± vá»›i T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: tập tin đã rút ngắt quá nhiá»u" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: số byte quá lá»›n" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: không thể lseek lại vị trí gốc" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: không thể tìm tá»›i offset %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: gặp lá»—i khi đặt lại con trá» tập tin" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "không thể đặt lại vị trí cá»§a cái chỉ tập tin cho %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s quá lá»›n nên không thể đại diện" #: src/head.c:886 msgid "number of lines" msgstr "số dòng" #: src/head.c:886 msgid "number of bytes" msgstr "số byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "sai số dòng" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "sai số byte" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "sai tùy chá»n theo sau “-- %câ€" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]\n" "In ra số nhận diện (thập lục) máy chá»§ hiện thá»i.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Cách dùng: %s [TÊN]\n" " hoặc: %s TÙY_CHỌN\n" "In hoặc đặt tên máy cho hệ thống hiện thá»i.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "không thể đặt tên thành %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "không thể đặt tên máy; hệ thống này thiếu chức năng" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "không thể quyết định tên máy" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [TÊN_NGƯỜI_DÙNG]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "In thông tin vá» ngưá»i dùng và nhóm đối vá»›i TÊN_NGƯỜI_DÙNG đưa ra,\n" "hoặc (khi không đưa ra TÊN_NGƯỜI_DÙNG) vá» ngưá»i dùng hiện thá»i.\n" "\n" " -a bá» qua để tương thích vá»›i các phiên bản khác\n" " -Z, --context chỉ in ngữ cảnh bảo mật cá»§a ngưá»i dùng hiện thá»i\n" " -g, --group chỉ in ID cá»§a nhóm hoạt động\n" " -G, --groups in ID cá»§a má»i nhóm\n" " -n, --name in ra tên thay cho số, dùng cho các tùy chá»n “-ugGâ€\n" " -r, --real in ra ID thá»±c sá»± thay cho ID hoạt động, dùng vá»›i “-ugGâ€\n" " -u, --user chỉ in ra ID hoạt động cá»§a ngưá»i dùng\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Khi không có TÙY_CHỌN, in ra má»™t vài bá»™ thông tin xác định có ích.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) chỉ hoạt động vá»›i hệ thống há»— trợ SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "không thể in ngữ cảnh bảo mật khi ghi rõ ngưá»i dùng" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "không thể dùng “only†(chỉ in) nếu có nhiá»u lá»±a chá»n" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "không thể chỉ in tên hoặc ID thật ở dạng mặc định" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "không thể lấy ngữ cảnh tiến trình" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "không thể lấy UID kết quả" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "không tìm thấy tên cho ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " nhóm=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "ngữ cảnh=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "cảnh báo: %s lá»—i thay đổi ngữ cảnh thành %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "Ä‘ang tạo thư mục %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "không thay đổi được quyá»n sở hữu cá»§a %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "không đặt được nhãn thá»i gian cho %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "cuá»™c gá»i hệ thống fork (tạo tiến trình con) bị lá»—i" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "không chạy được %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "Ä‘ang đợi strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "tiến trình strip đã kết thúc bất thưá»ng" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "sai ngưá»i dùng %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [-T] NGUá»’N ÄÃCH\n" " hoặc: %s [TÙY_CHỌN]... NGUá»’N... THƯ_MỤC\n" " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUá»’N...\n" " hoặc: %s [TÙY_CHỌN]... -d THƯ_MỤC...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Chương trình cài đặt này sao chép các tập tin (thưá»ng vừa má»›i biên dịch)\n" "vào các vị trí đích được bạn chá»n.\n" "Muốn tải vá» và cài đặt má»™t gói sẵn sàng dùng vào má»™t hệ thống GNU/Linux\n" "thì bạn nên sá»­ dụng má»™t trình quản lý gói phần má»m để thay thế,\n" "v.d. yum(1) hay apt-get(1).\n" "\n" "Theo ba kiểu đầu tiên, sao chép NGUá»’N vào ÄÃCH hoặc\n" "đồng thá»i nhiá»u NGUá»’N vào THƯ_MỤC đã có,\n" "cÅ©ng thiết lập các chế độ quyá»n hạn và chá»§ sở hữu/nhóm.\n" "Theo kiểu thứ tư, tạo má»i thành phần cá»§a (các) THƯ_MỤC đưa ra.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin đích đã có\n" " -b giống “--backup†nhưng không chấp nhận đối số\n" " -c (bị bá» qua)\n" " -C, --compare so sánh má»—i cặp tập tin nguồn và đích,\n" "\t\t\t\tvà trong má»™t số trưá»ng hợp nào đó\n" "\t\t\t\tcÅ©ng không sá»­a đổi đích bằng cách nào cả\n" " -d, --directory coi má»i đối số là tên thư mục; tạo tất cả các\n" " thành phần cá»§a thư mục chỉ ra\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D tạo má»i thành phần Ä‘i trước cá»§a má»—i ÄÃCH trừ cái " "cuối,\n" " sau đó sao chép NGUá»’N tá»›i ÄÃCH\n" " -g, --group=NHÓM đặt quyá»n sở hữu nhóm, thay cho nhóm\n" " cá»§a tiến trình hiện thá»i\n" " -m, --mode=CHẾ_ÄỘ đặt chế độ quyá»n hạn (như trong chmod),\n" " thay cho “rwxr-xr-xâ€\n" " -o, --owner=SỞ_Há»®U đặt quyá»n sở hữu (chỉ cho siêu ngưá»i dùng)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps áp dụng thá»i gian truy cập/sá»­a đổi cho các\n" " tập tin NGUá»’N tá»›i các tập tin đích tương ứng\n" " -s, --strip cắt bá» các bảng ký hiệu\n" " --strip-program=TRÃŒNH chương trình dùng để cắt bá» tập tin nhị phân\n" " -S, --suffix=HẬU_Tá» ghi đè hậu số sao lưu thưá»ng dùng\n" " -t, --target-directory=THƯ_MỤC sao chép má»i đối số NGUá»’N vào THƯ_MỤC\n" " -T, --no-target-directory coi ÄÃCH như má»™t tập tin thông thưá»ng\n" " -v, --verbose in ra tên cá»§a má»—i thư mục khi tạo ra nó\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context bảo tồn ngữ cảnh bảo mật SELinux\n" " -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux\n" " cá»§a các tập tin và thư mục\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "CẢNH BÃO: bá» qua --preserve-context vì hệ thống không há»— trợ SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "CẢNH BÃO: bá» qua -context (-Z) vì hệ thống không há»— trợ SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "không được dùng tùy chá»n strip khi cài đặt thư mục" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "không cho phép dùng thư mục đích khi cài đặt thư mục" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "không thể ép buá»™c ngữ cảnh đích thành %s rồi bảo tồn nó" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "chế độ sai %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "CẢNH BÃO: bá» qua “--strip-program†vì không đưa ra tùy chá»n “-sâ€" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "hai tùy chá»n “--compare†(-C) và “--preserve-timestamps†loại từ lẫn nhau" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "hai tùy chá»n “--compare†(-C) và “--strip†loại từ lẫn nhau" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "tùy chá»n “--compare†(-C) bị bá» qua khi bạn chỉ định má»™t chế độ có bit không " "cho phép" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Vá»›i má»—i cặp dòng văn bản đưa vào vá»›i trưá»ng để gia nhập giống nhau,\n" "ghi má»™t dòng văn bản ra đầu ra tiêu chuẩn. Trưá»ng để gia nhập mặc định\n" "là đầu tiên, giá»›i hạn bở khoảng trắng.\n" "Khi FILE1 hoặc FILE2 (không đồng thá»i) là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" " -a FILENUM in ra dòng không có cặp từ tập tin số FILENUM, ở đó\n" " FILENUM là 1 hoặc 2, tương ứng vá»›i FILENUM1 hoặc " "FILENUM2\n" " -e EMPTY thay thế các trưá»ng nhập thiếu bằng EMPTY\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case bá» qua sá»± khác nhau vá» kiểu chữ HOA/thưá»ng khi so sánh " "các trưá»ng\n" " -j TRƯỜNG tương đương vá»›i “-1 TRƯỜNG -2 TRƯỜNGâ€\n" " -o ÄỊNH_DẠNG tuân theo ÄỊNH_DẠNG khi tạo ra dòng kết quả\n" " -t KÃ_Tá»° dùng KÃ_Tá»° làm ký tá»± phân chia trưá»ng đưa vào và kết quả " "ra\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v TẬP_TIN_Sá» giống như “-a TẬP_TIN_Sá»â€,\n" " nhưng bá» Ä‘i các dòng nhập đã nối lại\n" " -1 TRƯỜNG nối lại ở TRƯỜNG này cá»§a tập tin 1\n" " -2 TRƯỜNG nối lại ở TRƯỜNG này cá»§a tập tin 2\n" " --check-order kiểm tra dữ liệu nhập vào được sắp xếp đúng không,\n" " thậm chí nếu tất cả các dòng nhập vào\n" " có khả năng ghép cặp\n" " --nocheck-order đừng kiểm tra dữ liệu nhập vào được sắp xếp đúng không\n" " --header xá»­ lý dòng đầu cá»§a từng tập tin là dòng đầu trưá»ng,\n" " in ra mà không thá»­ kết đôi\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Trừ phi đưa ra tùy chá»n “-t CHARâ€, ký tá»± trắng nào Ä‘i trước\n" "sẽ phân cách các trưá»ng và bị bá» qua, không thì thì phân cách bởi CHAR.\n" "Má»—i FIELD được đánh số và bắt đầu đếm từ 1.\n" "FORMAT là má»™t hoặc vài định dạng phân cách bởi má»™t hay hÆ¡n\n" "khoảng trắng hoặc dấu phẩy, vá»›i cấu trúc “FILENUM. FIELDâ€\n" "hoặc “0â€. FORMAT kết xuất mặc định đưa ra trưá»ng để nối lại,\n" "những trưá»ng còn lại trong FILE1, các trưá»ng còn lại\n" "trong FILE2, cả phân cách bởi CHAR.\n" "Nếu FORMAT là từ khoá â€autoâ€, thế thì dòng đầu tiên\n" "cá»§a mối tập tin được xác định bằng số trưá»ng xuất ra bởi má»—i dòng.\n" "\n" "Quan trá»ng: FILE1 và FILE2 phải được sắp xếp theo vùng nối lại.\n" "V.d. dùng “sort -k 1b,1†nếu “join†không có tùy chá»n.\n" "hay sá»­ dụng “join -t ''†nếu â€sort†không có tùy chá»n.\n" "Ghi chú: việc so sánh tùy theo quy tắc cá»§a “LC_COLLATEâ€.\n" "Nếu đầu vào không phải được sắp xếp và má»™t số dòng nào đó\n" "không nối lại được, má»™t thông Ä‘iệp cảnh báo sẽ được hiển thị.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: chưa được sắp xếp: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "số thứ tá»± trưá»ng sai: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "sá»± xác định trưá»ng sai: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "sai số thứ tá»± tập tin trong sá»± xác định trưá»ng: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "không tương thích nối lại hai trưá»ng %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "xung đột các chuá»—i thay thế trưá»ng rá»—ng" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "khoảng tab Ä‘a ký tá»± %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "các khoảng tab không tương thích vá»›i nhau" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "cả hai tập tin không thể là đầu vào chuẩn" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Cách dùng: %s [-s TÃN_HIỆU | -TÃN_HIỆU] PID...\n" " hoặc: %s -l [TÃN_HIỆU]...\n" " hoặc: %s -t [TÃN_HIỆU]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Gá»­i tín hiệu tá»›i tiến trình, hoặc liệt kê các tín hiệu.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=TÃN_HIỆU, -TÃN_HIỆU\n" " chỉ ra tên hoặc số cá»§a tín hiệu cần gá»­i\n" " -l, --list liệt kê tên các tín hiệu, hoặc chuyển đổi tên tín hiệu " "tá»›i/từ các số\n" " -t, --table in ra bảng thông tin vá» tín hiệu\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "TÃN_HIỆU có thể là má»™t tên tín hiệu như “HUP†(treo, gác), hoặc má»™t số thứ " "tá»± tín hiệu như “1â€,\n" "hoặc trạng thái thoát cá»§a má»™t tiến trình dừng bởi má»™t tín hiệu.\n" "PID là má»™t số nguyên, nếu âm thì đại diện cho má»™t nhóm tiến trình.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: mã số tiến trình sai" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "tùy chá»n sai -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: đã chỉ ra nhiá»u tín hiệu" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "xác định nhiá»u tùy chá»n “-l†hoặc “-tâ€" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "không thể kết hợp tín hiệu vá»›i “-l†hoặc “-tâ€" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "chưa ghi rõ ID tiến trình" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "gặp lá»—i khi cấp phát má»™t vùng đệm I/O tiêu chuẩn %<PRIuMAX> byte\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "sai đặt chế độ chuyển hoán đệm %s cho %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "không đặt được việc chuyển hoán đệm %s thành chế độ %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s TẬP_TIN1 TẬP_TIN2\n" " hoặc: %s TÙY_CHỌN\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Gá»i hàm số link để tạo liên kết có tên TẬP_TIN2 tá»›i má»™t TẬP_TIN1 đã có.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "không tạo được liên kết %s tá»›i %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: không cho phép liên kết cứng tá»›i thư mục" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: không ghi đè được thư mục" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: thay thế %s không? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "không tạo được liên kết má»m %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "không tạo được liên kết má»m %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "không tạo được liên kết cứng tá»›i %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "không tạo được liên kết cứng %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "không tạo được liên kết cứng %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [-T] ÄÃCH TÊN_LIÊN_KẾT (dạng thứ 1)\n" " hoặc: %s [TÙY_CHỌN]... ÄÃCH (dạng thứ 2)\n" " hoặc: %s [TÙY_CHỌN]... ÄÃCH... THƯ_MỤC (dạng thứ 3)\n" " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC ÄÃCH... (dạng thứ 4)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Theo kiểu thứ 1, tạo má»™t liên kết tá»›i ÄÃCH vá»›i tên TÊN_LIÊN_KẾT.\n" "Theo kiểu thứ 2, tạo má»™t liên kết tá»›i ÄÃCH trong thư mục hiện tại.\n" "Theo kiểu thứ 3 và thứ 4, tạo liên kết tá»›i má»—i ÄÃCH trong THƯ_MỤC.\n" "Tạo liên kết cứng theo mặc định, liên kết má»m vá»›i tùy chá»n--symbolic.\n" "Theo mặc định, má»—i đích (tên cá»§a liên kết má»›i) phải tồn tại.\n" "Khi tạo liên kết cứng, má»—i ÄÃCH phải tồn tại sẵn. Liên kết má»m\n" "có thể chứa văn bản tùy ý; nếu được giải quyết vá» sau, má»™t liên kết tương " "đối\n" "được hiểu là mối quan hệ vá»›i thư mục cấp trên.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin tồn tại ở nÆ¡i " "đến\n" " -b giống “--backup†nhưng không chấp nhận đối số\n" " -d, -F, --directory cho phép siêu ngưá»i dùng thá»­ tạo liên kết " "cứng\n" " tá»›i thư mục (chú ý: rất có thể sẽ không\n" " thành công do hạn chế cá»§a hệ thống,\n" " thậm chí đối vá»›i siêu ngưá»i dùng)\n" " -f, --force xóa các tập tin tồn tại ở nÆ¡i đến\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive nhắc có nên gỡ bỠđích hay không\n" " -L, --logical bá» tham chiếu đến ÄÃCH mà nó là liên kết tượng " "trưng\n" " -n, --no-dereference xá»­ lý LINK_NAME như các tập tin thông thưá»ng\n" " nếu nó là liên kết tượng trưng đến má»™t thư " "mục\n" " -P, --physical tạo liên kết cứng trá»±c tiếp đến liên kết tượng " "trưng\n" " -r, --relative tạo liên kết tượng trưng tương đỗi tá»›i vị trí " "liên kết\n" " -s, --symbolic tạo liên kết tượng trưng thay cho liên kết " "cứng\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=HẬU_Tá» dùng thay cho hậu tố sao lưu thông thưá»ng\n" " -t, --target-directory=THƯ_MỤC chỉ ra THƯ_MỤC đến đó cần tạo\n" " các liên kết\n" " -T, --no-target-directory luôn coi TÊN_LIÊN_KẾT là má»™t tập tin thông " "thưá»ng\n" " -v, --verbose in ra tên cá»§a má»—i tập tin đã liên kết\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Sá»­ dụng tùy chá»n -s thì lá» cả hai -L và -P. Không thì tùy chá»n đưa ra cuối " "cùng sẽ\n" "Ä‘iá»u khiển ứng xá»­ khi nguồn là má»™t liên kết tượng trưng; mặc định là %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "không thể kết hợp “--target-directory†và “--no-target-directory†[loại từ " "lẫn nhau !]" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "không thá»±c hiện tùy chá»n --relative mà không có --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: không hiểu" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "In ra tên cá»§a ngưá»i dùng hiện thá»i.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "không có tên đăng nhập" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%H:%M %e %b" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "Ä‘ang bá» qua giá trị sai cá»§a biến môi trưá»ng kiểu dáng trích dẫn " "QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "Ä‘ang bá» qua bá» rá»™ng sai trong biến môi trưá»ng cá»™t COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "Ä‘ang bá» qua kích cỡ tab sai trong biến môi trưá»ng TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "sai bá» rá»™ng dòng: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "sai kích cỡ tab: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "sai định dạng kiểu thá»i gian %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Äối số không hợp lệ là:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (e.g., +%H:%M) cho định dạng “dateâ€-style\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "lá»—i khởi tạo các chuá»—i tháng" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "không hiểu tiá»n tố: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" "giá trị không thể phân tích cho biến môi trưá»ng đặc tả màu sắc LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "không mở được thư mục %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "không nhận ra thiết bị và inode cá»§a %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: không liệt kê thư mục đã liệt kê" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "Ä‘ang Ä‘á»c thư mục %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "Ä‘ang đóng thư mục %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "không so sánh được tên tập tin %s và %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Liệt kê thông tin vá» các FILE (thư mục hiện thá»i theo mặc định).\n" "Sắp xếp các mục theo bảng chữ cái nếu không có “-cftuvSUX†hoặc “--sortâ€.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all đừng bá» qua mục bắt đầu vá»›i “.â€\n" " -A, --almost-all đừng liệt kê “.†và “..†theo ngầm định\n" " --author vá»›i “-l†thì in ra tác giả cá»§a má»—i tập tin\n" " -b, --escape in ra thoát chuá»—i kiểu-C cho ký tá»± không thể\n" " hiển thị\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=SIZE biến đổi kích cỡ SIZE trước khi in chúng. Ví " "dụ:\n" " â€--block-size=M†in kích thước theo đơn vị " "cá»§a\n" " 1,048,576 bytes. Xem định dạng SIZE ở dưới " "đây.\n" " -B, --ignore-backups không liệt kê các mục có Ä‘uôi “~†mhư ngầm " "định\n" " -c vá»›i “-ltâ€: sắp xếp theo, và hiển thị ctime\n" " (thá»i gian sá»­a đổi cuối cùng cá»§a thông tin\n" " trạng thái tập tin)\n" " vá»›i “-lâ€: hiển thị ctime và sắp xếp theo tên " "nếu\n" " không: sắp xếp theo ctime, sá»›m hÆ¡n xếp trước\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C liệt kê các mục theo cá»™t\n" " --color[=KHI] phân biệt kết xuất theo màu sắc.\n" " KHI có thể là:\n" " * never không bao giá»\n" " * always luôn luôn (mặc định)\n" " * auto tá»± động\n" " Thông tin thêm xem ở dưới đây\n" " -d, --directory liệt kê mục nhập thư mục thay vì ná»™i dung,\n" " và không chỉ tá»›i đích cá»§a liên kết má»m\n" " -D, --dired tạo kết xuất thích hợp vá»›i chế độ dired cá»§a " "Emacs\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f không sắp xếp, dùng “-aUâ€, tắt “-ls --colorâ€\n" " -F, --classify nối thêm chỉ thị (má»™t trong “*/=>@|â€) vào các " "mục\n" " --file-type cÅ©ng vậy, nhưng không nối thêm “*â€\n" " --format=TỪ TỪ là:\n" " * across -x ngang qua\n" " * commas -m dấu phẩy\n" " * horizontal -x nằm ngang\n" " * long -l dài\n" " * single-column -1 cá»™t đơn\n" " * verbose -l xuất chi tiết\n" " * vertical -C thẳng đứng\n" " --full-time giống “-l --time-style=full-isoâ€\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" " -g giống “-lâ€, nhưng không liệt kê ngưá»i sở hữu\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " nhóm lại các thư mục trước các tập tin.\n" " Làm tăng lên vá»›i tùy chá»n “--sortâ€,\n" " nhưng bất cứ lần nào dùng “--sort=none†(-U)\n" " sẽ tắt chức năng nhóm lại.\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group trong danh sách dài, không in ra tên nhóm\n" " -h, --human-readable vá»›i “-lâ€, in kích cỡ ở dạng dá»… Ä‘á»c\n" " (v.d. 1K 234M 2G)\n" " --si giống trên, nhưng dùng 1000 lÅ©y thừa, không " "phải 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " Ä‘i theo liên kết má»m liệt kê trên dòng lệnh\n" " --dereference-command-line-symlink-to-dir\n" " Ä‘i theo má»—i liên kết má»m trên dòng lệnh\n" " chỉ tá»›i má»™t thư mục\n" " --hide=MẪU không liệt kê những mục tương ứng vá»›i MẪU cá»§a " "shell\n" " (ghi đè bởi “-a†hoặc “-Aâ€)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=TỪ nối thêm vào tên mục chỉ thị vá»›i dạng TỪ:\n" " không có(mặc định), dấu gạch (-p)\n" " kiểu tập tin(--file-type), phân loại(-F)\n" " -i, --inode in ra số chỉ mục cá»§a má»—i tập tin\n" " -I, --ignore=MẪU không liệt kê các mục tương ứng vá»›i MẪU cá»§a " "shell\n" " -k, --kibibytes sá»­ dụng khối 1024-byte\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l dùng dạng danh sách dài\n" " -L, --dereference khi hiển thị thông tin cho má»™t liên kết má»m,\n" " hiển thị thông tin cho tập tin mà liên kết " "chỉ\n" " đến thay cho bản thân liên kết\n" " -m liệt kê liá»n nhau các mục, cách nhau bởi dấu " "phẩy\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid giống “-lâ€, nhưng liệt kê UID và GID dạng số\n" " -N, --literal in ra tên thô cá»§a các mục (v.d. không coi các\n" " ký tá»± Ä‘iá»u khiển là đặc biệt)\n" " -o giống “-lâ€, nhưng không liệt kê thông tin vá» " "nhóm\n" " -p, --indicator-style=slash\n" " nối thêm vào thư mục chỉ thị “/â€\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars in dấu “?†thay cho các ký tá»± không phải đồ " "há»a\n" " --show-control-chars hiển thị các ký tá»± không phải đồ há»a như chúng " "có\n" " (mặc định trừ khi chương trình là “ls†và " "đầu\n" " ra là thiết bị cuối)\n" " -Q, --quote-name đặt tên các mục trong ngoặc kép\n" " --quoting-style=TỪ dùng dạng trích dẫn TỪ cho tên các mục:\n" " * literal văn chương\n" " * locale miá»n địa phương\n" " * shell shell\n" " * shell-always luôn luôn shell\n" " * c\n" " * escape thoát\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse đảo ngược thứ tá»± khi sắp xếp\n" " -R, --recursive liệt kê đệ quy các thư mục con\n" " -s, --size in kích cỡ đã cấp phát cá»§a má»—i tập tin, theo " "khối\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S sắp xếp theo kích cỡ tập tin\n" " --sort=TỪ sắp xếp theo TỪ thay cho tên:\n" " * extension -X phần mở rá»™ng\n" " * none -U không có\n" " * size -S kích cỡ\n" " * time -t thá»i gian\n" " * version -v phiên bản\n" " --time=TỪ vá»›i “-lâ€, hiển thị thá»i gian theo TỪ\n" " thay vì thá»i gian sá»­a đổi:\n" " * atime -u thá»i gian truy cập cuối\n" " * access -u thá»i gian truy cập\n" " * use -u thá»i gian sá»­ dụng\n" " * ctime -c thá»i gian thay đổi inode " "cuối\n" " * status -c thá»i gian lấy trạng thái\n" " dùng thá»i gian chỉ ra làm tiêu\n" " chuẩn sắp xếp nếu “--sort=timeâ€\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=KIỂU_DÃNG vá»›i “-lâ€, hiển thị các thá»i gian theo " "KIỂU_DÃNG:\n" " * full-iso ISO đầy đủ\n" " * long-iso ISO dài\n" " * iso ISO\n" " * locale miá»n địa phương\n" " * +ÄỊNH_DẠNG.\n" " ÄỊNH_DẠNG được giải thích giống như “dateâ€;\n" " nếu ÄỊNH_DẠNG là " "â€ÄỊNH_DẠNG1<dòng_má»›i>ÄỊNH_DẠNG2â€\n" " thì ÄỊNH_DẠNG1 áp dụng cho các tập tin không\n" " phải vừa mở, và ÄỊNH_DẠNG2 áp dụng cho các " "tập\n" " tin vừa mở;\n" " nếu KIỂU_DÃNG có tiá»n tố “posix-†đứng " "trước,\n" " KIỂU_DÃNG chỉ có tác động bên ngoài miá»n địa " "phương POSIX.\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t sắp xếp theo thá»i gian thay đổi\n" " -T, --tabsize=COLS giả định chiá»u dài tab là COLS thay cho 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u vá»›i “-ltâ€: sắp xếp theo, và hiển thị thá»i gian " "truy cập\n" " vá»›i “-lâ€: hiển thị thá»i gian truy cập và sắp " "xếp theo tên\n" " nếu không: sắp xếp theo thá»i gian truy cập\n" " -U không sắp xếp; liệt kê các mục theo thứ bậc cá»§a " "thư mục\n" " -v sắp xếp các số thứ tá»± (phiên bản) má»™t cách tá»± " "nhiên bên trong văn bản\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=CỘT giả sá»­ chiá»u rá»™ng màn hình thay vì giá trị hiện " "thá»i\n" " -x liệt kê các mục theo dòng thay vì theo cá»™t\n" " -X sắp xếp phần mở rá»™ng các mục theo bảng chữ cái\n" " -Z, --context in bất kỳ ngữ cảnh bảo mật SELinux nào cá»§a má»—i " "tập tin\n" " -1 liệt kê má»™t tập tin trên má»—i dòng\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Chức năng sá»­ dụng màu sắc để phân biệt các kiểu tập tin khác nhau\n" "cÅ©ng bị tắt theo mặc định và khi dùng tùy chá»n “--color=neverâ€\n" "(màu = không bao giá»). Khi dùng “--color=auto†(màu = tá»± động),\n" "lệnh liệt kê “ls†chỉ xuất mã màu khi đầu ra tiêu chuẩn được kết nối\n" "đến má»™t thiết bị cuối. Biến môi trưá»ng “LS_COLORS†(màu sắc cá»§a ls)\n" "cÅ©ng có khả năng sá»­a đổi thiết lập này. Hãy sá»­ dụng lệnh “dircolors†để đặt " "nó.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Trạng thái thoát:\n" " 0 nếu ổn,\n" " 1 nếu gặp lá»—i nhá» (v.d. không thể truy cập đến thư mục con),\n" " 2 nếu gặp lá»—i nghiêm trá»ng (v.d. không thể truy cập đến đối số dòng lệnh)\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" "In hoặc tính tổng kiểm tra %s (%d bit).\n" "Nếu không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary Ä‘á»c ở chế độ nhị phân\n" " (mặc định trừ khi Ä‘á»c đầu vào tiêu chuẩn tty)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary Ä‘á»c ở chế độ nhị phân \n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check Ä‘á»c tổng %s từ các FILE và kiểm tra\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag tạo tổng kiểm tra kiểu-BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text Ä‘á»c ở chế độ văn bản\n" " (mặc định khi Ä‘á»c đầu vào tiêu chuẩn tty\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text Ä‘á»c ở chế độ văn bản (mặc định) \n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Ba tùy chá»n sau chỉ có ích khi tính tổng kiểm tra (checksum):\n" " --quiet đừng in ra OK cho má»—i tập tin được thẩm tra đúng\n" " --status không in ra gì cả, mã trạng thái cho biết thành công\n" " -w, --warn cảnh báo vá» những dòng tổng kiểm tra có định dạng " "sai\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict cùng --check, sẽ thoát vá»›i giá trị trả vá» không phải\n" " số không vá»›i đầu vào bất kỳ\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Tổng được tính như mô tả trong %s. Khi kiểm tra, dữ liệu vào phải là\n" "dữ liệu ra trước đây cá»§a chương trình này. Chế độ mặc định là in ra\n" "má»™t dòng ghi tổng kiểm tra, má»™t ký tá»± chỉ dạng (â€*†cho nhị phân,\n" "â€dấu cách†cho văn bản), và tên cho má»—i FILE.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: quá nhiá»u dòng tổng kiểm tra" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: dòng tổng kiểm tra %s có định dạng không đúng" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: mở hoặc Ä‘á»c BỊ Lá»–I\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "BỊ Lá»–I" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: không tìm thấy dòng tổng kiểm tra %s vá»›i định dạng đúng" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%<PRIuMAX>: dòng tổng kiểm tra có định dạng không đúng" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "CẢNH BÃO: không Ä‘á»c được %<PRIuMAX>" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "CẢNH BÃO: %<PRIuMAX> đã kiểm tra KHÔNG tương ứng" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag không há»— trợ chế độ --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "tùy chá»n “--tag†chỉ có ý nghÄ©a khi tính tổng kiểm tra" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "các tùy chá»n “--binary†và “--text†mất ý nghÄ©a khi tính tổng kiểm tra" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "tùy chá»n “--status†chỉ có ý nghÄ©a khi tính tổng kiểm tra" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "tùy chá»n “--warn†chỉ có ý nghÄ©a khi tính tổng kiểm tra" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "tùy chá»n “--quiet†chỉ có ý nghÄ©a khi tính tổng kiểm tra" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "tùy chá»n “--status†chỉ có ý nghÄ©a khi tính tổng kiểm tra" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... THƯ_MỤC...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Tạo (các) THƯ_MỤC, nếu chúng chưa có.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=CHẾ_ÄỘ đặt chế độ tập tin (giống như chmod),\n" " thay cho “a=rwx - umaskâ€\n" " -p, --parents không đưa ra lá»—i nếu có, tạo thư mục mẹ khi cần thiết\n" " -v, --verbose in ra thông báo má»—i khi tạo má»™t thư mục\n" " -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux\n" " cá»§a má»—i thư mục đã tạo thành NGá»®_CẢNH\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "đã tạo thư mục %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TÊN...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Tạo ống (pipe) có tên (FIFO) vá»›i TÊN chỉ ra.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=CHẾ_ÄỘ đặt quyá»n hạn tập tin thành CHẾ_ÄỘ,\n" " thay cho “a=rw - umaskâ€\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux\n" " cá»§a má»—i TÊN thành NGá»®_CẢNH\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "chế độ không hợp lệ" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "chế độ phải xác định chỉ các bit đặt quyá»n hạn tập tin" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TÊN KIỂU [LỚN NHỎ]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Tạo tập tin đặc biệt vá»›i TÊN và KIỂU đưa ra.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux\n" " cá»§a TÊN thành NGá»®_CẢNH\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Phải đưa ra cả LỚN và NHỎ khi KIỂU là b, c hoặc u,\n" "và phải bá» Ä‘i khi KIỂU là p.\n" "Nếu LỚN hoặc NHỎ bắt đầu vá»›i:\n" " tiá»n tố giải thích dạng\n" " * 0x hoặc 0X thập lục\n" " * 0 bát phân\n" " * gì khác thập phân\n" "KIỂU có thể là:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b tạo má»™t tập tin đặc biệt kiểu khối (có bá»™ đệm)\n" " c, u tạo má»™t tập tin đặc biệt kiểu ký tá»± (không có bá»™ đệm)\n" " p tạo má»™t FIFO (VTRT: Vào Trước, Ra Trước)\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Tập tin đặc biệt yêu cầu các số thiết bị lá»›n và nhá»." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO không có các số thiết bị lá»›n và nhá»." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "không há»— trợ tập tin đặc biệt kiểu khối" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "không há»— trợ tập tin đặc biệt kiểu ký tá»±" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "sai số lá»›n cá»§a thiết bị %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "sai số nhá» cá»§a thiết bị %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "sai thiết bị %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "sai kiểu thiết bị %s" # Há» tên Anh #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [MẪU]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Tạo tạm thá»i má»™t tập tin hay thư mục má»™t cách an toàn, và in tên cá»§a nó.\n" "MẪU phải chứa ít nhất 3 chữ X liên tiếp trong thành phần cuối cùng.\n" "Không ghi rõ MẪU thì dùng “tmp.XXXXXXXXXXâ€, và “--tmpdir†được dùng.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "Tập tin được tạo u+rw, và thư mục u+rwu, không có ràng buá»™c umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory tạo má»™t thư mục, không phải má»™t tập tin\n" " -u, --dry-run đừng tạo gì, chỉ in ra má»™t tên (không an toàn)\n" " -q, --quiet thu hồi các hàm chẩn Ä‘oán vá» lá»—i tạo tập tin hay thư " "mục\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=HẬU_Tá» nối thêm hậu tố này vào MẪU. Không cho phép hậu tố " "chứa dấu sổ chéo.\n" " Tùy chá»n này được ngầm định nếu MẪU không kết thúc " "bằng chữ X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=THƯ_MỤC] Ä‘á»c MẪU tương đối so vá»›i THƯ_MỤC. Không ghi rõ\n" " THƯ_MỤC thì dùng $TMPDIR (nếu đặt), không thì “/" "tmpâ€.\n" " Khi dùng tùy chá»n này, MẪU không thể là má»™t tên " "tuyệt\n" " đối. Không giống như “-tâ€, MẪU có thể chứa dấu gạch\n" " ngược, nhưng mktemp chỉ tạo thành phần cuối cùng.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p THƯ_MỤC dùng T.MỤC làm tiá»n tố; ngầm định “-t†[bị phản đối]\n" " -t diá»…n dịch MẪU là má»™t thành phần tên tập tin đơn,\n" " tương đối so vá»›i má»™t thư mục: $TMPDIR, nếu đặt;\n" " không thì thư mục được ghi rõ vá»›i “-pâ€;\n" " không thì “/tmp†[bị phản đối]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "không chuyển hướng được đầu lá»—i tiêu chuẩn tá»›i /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "quá nhiá»u mẫu" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "dùng “--suffix†(hậu tố) thì mẫu %s phải kết thúc bằng chữ X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "hậu tố không hợp lệ %s, chứa dấu phân cách thư mục" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "quá ít X trong mẫu %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "mẫu không hợp lệ, %s, chứa dấu phân cách thư mục" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "mẫu không hợp lệ, %s; vá»›i “--tmpdir†thì không thể là tuyệt đối" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "gặp lá»—i khi tạo thư mục thông qua mẫu %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "gặp lá»—i khi tạo tập tin thông qua mẫu %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Äổi tên NGUá»’N thành ÄÃCH, hoặc di chuyển (các) NGUá»’N vào THƯ_MỤC.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin đích đã có\n" " -b giống “--backup†nhưng không chấp nhận đối " "số\n" " -f, --force không há»i lại trước khi ghi đè\n" " -i, --interactive há»i lại trước khi ghi đè\n" " -n, --no-clobber không ghi đè lên tập tin đã có\n" "\n" "Nếu bạn ghi rõ hÆ¡n má»™t cá»§a những tùy chá»n “-iâ€, “-f†và “-nâ€\n" "thì chỉ tùy chá»n cuối cùng có tác động.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes xóa má»i dấu gạch nằm theo khá»i má»—i đối số " "NGUá»’N\n" " -S, --suffix=HẬU_Tá» ghi đè lên HẬU_Tá» thông thưá»ng\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=THƯ_MỤC di chuyển má»i đối số NGUá»’N vào THƯ_MỤC\n" " -T, --no-target-directory coi ÄÃCH như má»™t tập tin thông thưá»ng\n" " -u, --update chỉ di chuyển khi tập tin NGUá»’N má»›i hÆ¡n\n" " tập tin ở nÆ¡i đến hoặc khi không có tập " "tin\n" " ở nÆ¡i đến\n" " -v, --verbose nói rõ vá» những gì Ä‘ang thá»±c hiện\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Cách dùng: %s [TÙY_CHỌN] [LỆNH [Ä.Sá»]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Chạy câu LỆNH vá»›i giá trị ưu tiên (nice) khác để thay đổi quyá»n ưu tiên xá»­ " "lý.\n" "Khi không có câu LỆNH, in ra giá trị nice hiện thá»i. Giá trị nice nằm trong " "khoảng\n" "từ %d (ưu tiên vá» thá»i gian cao nhất) đến %d (ưu tiên ít nhất).\n" "\n" " -n, --adjustment=N cá»™ng thêm N vào giá trị nice (mặc định 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "Ä‘iá»u chỉnh sai %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "phải đưa ra má»™t câu lệnh vá»›i má»™t Ä‘iá»u chỉnh" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "không lấy được giá trị ưu tiên" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "không đặt được giá trị ưu tiên" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "In má»—i TẬP_TIN tá»›i đầu ra tiêu chuẩn, vá»›i số thứ tá»± cá»§a các dòng ở đầu.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần " "thân\n" " -d, --section-delimiter=CC dùng CC để phân cách cách trang lôgíc\n" " -f, --footer-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần " "chân\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần đầu\n" " -i, --page-increment=SỠđộ tăng số thứ tá»± dòng\n" " -l, --join-blank-lines=SỠđếm Sá» dòng rá»—ng như má»™t dòng\n" " -n, --number-format=ÄỊNH_DẠNG chèn số thứ tá»± dòng theo ÄỊNH_DẠNG\n" " -p, --no-renumber không đặt lại số thứ tá»± dòng tại trang " "lôgíc\n" " -s, --number-separator=CHUá»–I thêm CHUá»–I vào sau số thứ tá»± dòng (có " "thể)\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=Sá» số thứ tá»± dòng đầu tiên trên má»—i trang " "lôgíc\n" " -w, --number-width=Sá» dùng Sá» cá»™t để hiển thị số thứ tá»± dòng\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Theo mặc định, chá»n “-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fnâ€.\n" "CC là hai ký tá»± phân cách dùng để chia các trang lôgíc;\n" "khi thiếu ký tá»± thứ hai thì nó ngầm hiểu là “:â€.\n" "Gõ “\\\\†để dùng “\\â€. STYLE là má»™t trong:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a đánh số má»i dòng\n" " t chỉ đánh số những dòng không rá»—ng\n" " n không đánh số dòng\n" " pBRE chỉ dánh số những dòng chứa tương ứng vá»›i\n" " biểu thức chính quy cÆ¡ bản, BRE\n" "\n" "ÄỊNH_DẠNG là má»™t trong:\n" "\n" " ln canh hàng trái, không có các số 0 ở đầu\n" " rn canh hàng phải, không có các số 0 ở đầu\n" " rz canh hàng phải, có các số 0 ở đầu\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "vượt quá số dòng có thể" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "sai dạng đánh số vào phần đầu: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "sai dạng đánh số vào phần thân: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "sai dạng đánh số vài phần chân: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "sai số cá»§a dòng bắt đầu: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "sai độ tăng số cá»§a dòng: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "sai số dòng trắng: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "sai chiá»u dài trưá»ng số cá»§a dòng: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "sai định dạng đánh số dòng: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s LỆNH [Ä.Sá»]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Chạy câu LỆNH, và bá» qua tín hiệu treo (hangup).\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Äầu vào tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó từ “/dev/nullâ€.\n" "Äầu ra tiêu chuẩn là thiết bị cuối thì nối thêm kết xuất vào\n" "â€nohup.out†nếu có thể, không thì “$HOME/nohup.outâ€.\n" "Äầu lá»—i tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó vào đầu ra tiêu " "chuẩn.\n" "Äể lưu kết xuất vào tập tin, dùng “%s LỆNH > TẬP_TINâ€.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "gặp lá»—i khi vô hiệu hoá đầu vào tiêu chuẩn" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "Ä‘ang bá» qua dữ liệu vào" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "Ä‘ang bá» qua dữ liệu vào và nối thêm kết xuất vào %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "nối thêm kết xuất vào %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "gặp lá»—i khi khi đặt bản sao cá»§a lá»—i tiêu chuẩn để đóng khi thá»±c hiện" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "Ä‘ang bá» qua dữ liệu vào và chuyển hướng lá»—i tiêu chuẩn tá»›i đầu vào tiêu chuẩn" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" "Ä‘ang chuyển hướng đầu lá»—i tiêu chuẩn (stderr) tá»›i đầu ra tiêu chuẩn (stdout)" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "chuyển hướng đầu lá»—i tiêu chuẩn không thành công" # Há» tên à #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "In ra số đơn vị xá»­ lý sẵn sàng cho tiến trình hiện thá»i,\n" "má»™t số có thể nhá» hÆ¡n số bá»™ xá»­ lý trá»±c tuyến\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all in ra số bá»™ xá»­ lý được cài đặt\n" " --ignore=Sá» nếu có thể thì loại trừ SỠđơn vị xá»­ lý\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: con số không hợp lệ cần bá» qua" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: giá trị chưa được chuyển đổi hoàn toàn" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "số không hợp lệ %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "gặp hậu tố không hợp lệ trong %s%s đối số “%sâ€" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "mở %s để ghi gặp lá»—i" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "sai kích cỡ tab: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [NGƯỜI_DÙNG]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict cùng --check, sẽ thoát vá»›i giá trị trả vá» không phải\n" " số không vá»›i đầu vào bất kỳ\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Tùy chá»n khác:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "định dạng %s không có chỉ thị %%" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "định dạng chiá»u dài sai" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "định dạng %s kết thúc bằng %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "định dạng %s có quá nhiá»u chỉ thị %%" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "gặp hậu tố không hợp lệ trong %s%s đối số “%sâ€" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "sai phạm vi trang %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "số thứ tá»± trưá»ng sai: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "ngày sai %sâ€" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "toán hạng tập tin không thể kết hợp vá»›i “--file0-fromâ€" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "toán hạng tập tin không thể kết hợp vá»›i “--file0-fromâ€" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "đã chỉ ra nhiá»u tùy chá»n “-iâ€" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "toán hạng tập tin không thể kết hợp vá»›i “--file0-fromâ€" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "lá»—i Ä‘á»c %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "gặp lá»—i khi vô hiệu hoá đầu vào tiêu chuẩn" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" " hoặc: %s [-abcdfilosx]... [TẬP_TIN] [[+]HIỆU[.][b]]\n" " hoặc: %s --traditional [TÙY_CHỌN]... [TẬP_TIN] [[+]HIỆU[.][b] [+][NHÃN]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Ghi TẬP_TIN dạng rõ ràng vào đầu ra tiêu chuẩn, theo byte bát phân theo mặc " "định.\n" "Khi có vài đối số TẬP_TIN, thì nối chúng vá»›i nhau theo thứ tá»± liệt kê để tạo " "dữ liệu vào.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Nếu áp dụng cả dạng gá»i thứ nhất và thứ hai, thì dạng thứ hai có tác dụng\n" "nếu toán hạng cuối cùng bắt đầu vá»›i “+†hoặc (nếu có 2 toán hạng) má»™t chữ " "số.\n" "Má»™t toán hạng HIỆU có nghÄ©a “-j HIỆUâ€. NHÃN là má»™t địa chỉ giả lập tại\n" "byte đầu tiên được in, tăng lên khi tiến trình đổ Ä‘ang chạy. Äối vá»›i\n" "HIỆU và NHÃN, má»™t tiá»n tố “0x†hoặc “0X†cho biết nó là thập lục;\n" "hậu tố Ä‘uôi có thể là “.†đối vá»›i bát phân và “b†để nhân lên 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=CÆ _Sá» quyết định cách in các hiệu tập tin\n" " -j, --skip-bytes=BYTE bá» qua BYTE byte đầu tiên từ đầu vào\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTE giá»›i hạn việc đổ thành BYTE byte dữ liệu vào\n" " -S, BYTES --strings[=BYTE] cho ra các chuá»—i cá»§a ít nhất BYTE ký tá»± đồ " "há»a\n" " -t, --format=KIỂU chá»n (các) định dạng kết quả\n" " -v, --output-duplicates không dùng “*†để đánh dấu việc bá» dòng\n" " -w[BYTES], --width[=BYTE] cho ra BYTE byte trên má»—i dòng\n" " --traditional chấp nhận đối số dạng truyá»n thống\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Có thể kết hợp tham số ở dạng truyá»n thống; chúng tích lÅ©y:\n" " tham số giống như chá»n\n" " -a -t a ký tá»± có tên, bá» qua bit bậc cao\n" " -b -t o1 byte bát phân\n" " -c -t c ký tá»± ASCII hoặc ký tá»± thoát \n" " -d -t u2 đơn vị hai byte thập phân không có chữ ký\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " tham số giống như chá»n\n" " -f -t fF dấu chấm động\n" " -i -t dI số nguyên thập phân\n" " -l -t dL chiá»u dài thập phân\n" " -o -t o2 đơn vị 2 byte bát phân\n" " -s -t d2 đơn vị 2 byte thập phân\n" " -x -t x2 đơn vị 2 byte thập lục\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "KIỂU là má»™t hoặc vài dạng sau:\n" " a ký tá»± có tên, bá» qua bit bậc cao\n" " c ký tá»± ASCII hoặc thoát gạch ngược\n" "\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" "Äặt Cá»  thì xuất Cá»  byte cho má»—i số nguyên:\n" " d[Cá» ] số thập phân không dấu\n" " f[Cá» ] dấu chấm động\n" " o[Cá» ] số bát phân\n" " u[Cá» ] số thập phân không dấu\n" " x[Cá» ] số thập lục\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "Cá»  là má»™t số. Äối vá»›i KIỂU doux, Cá»  còn có thể là:\n" " C sizeof(char) kích cỡ ký tá»±\n" " S sizeof(short) kích cỡ ngắn\n" " I sizeof(int) kích cỡ số nguyên\n" " L sizeof(long) kích cỡ dài\n" "Nếu KIỂU là f, Cá»  còn có thể là:\n" " F sizeof(float) kích cỡ dấu chấm động\n" " D sizeof(double) kích cỡ số chính đôi\n" " L sizeof(long double) kích cỡ số chính đôi dài\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K có thể đặt các hậu tố bá»™i số sau:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, và tương tá»± vá»›i T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "sai chuá»—i kiểu %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "sai chuá»—i kiểu %s;\n" "hệ thống này không cung cấp kiểu tích phân %lu byte" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "sai chuá»—i kiểu %s;\n" "hệ thống này không cung cấp kiểu dấu chấm động %lu byte" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "sai ký tá»± “%c†trong chuá»—i kiểu %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "không thể nhảy qua cuối cá»§a dữ liệu vào đã kết hợp" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "sai cÆ¡ số địa chỉ kết xuất “%câ€; nó phải là má»™t ký tá»± trong [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "không chỉ ra được kiểu khi đổ các chuá»—i" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "chế độ tương thích há»— trợ nhiá»u nhất má»™t tập tin" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes là quá lá»›n" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "cảnh báo: sai chiá»u rá»™ng %lu nên dùng %d thay thế" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: tín hiệu sai" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "đầu vào tiêu chuẩn bị đóng" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Viết các dòng bao gồm chuá»—i các dòng tương ứng từ má»—i TẬP_TIN,\n" "phân cách nhau bởi TAB, ra đầu ra tiêu chuẩn.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=DANH_SÃCH\n" "\t\t\t\tsá»­ dụng lại các ký tá»± từ DANH_SÃCH thay cho TAB\n" " -s, --serial dán má»™t dòng cho má»—i lần thay vì dán song song\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "danh sách dấu tách kết thúc bằng má»™t gạch chéo không được thoát: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Chẩn Ä‘oán tên tập tin không hợp lệ hay tên tập tin không khả chuyển.\n" "\n" " -p kiểm tra có hệ thống POSIX (nhận ra phần lá»›n)\n" " -P kiểm tra có tên rá»—ng và dấu gạch nối đứng trước “-â€\n" " --portability kiểm tra có hệ thống POSIX (nhận ra tất cả);\n" " bằng tùy chá»n “-p -Pâ€\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "dấu gạch nối “-†đứng trước trong phần cá»§a tên tập tin %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "ký tá»± không khả chuyển %s trong tên tập tin %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tên tập tin rá»—ng" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: không nhận ra chiá»u dài tên tập tin tối Ä‘a" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "giá»›i hạn %lu bị vượt quá theo chiá»u dài %lu cá»§a tên tập tin %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "giá»›i hạn %lu bị vượt quá theo chiá»u dài %lu cá»§a thành phần tên tập tin %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Tên đăng nhập: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Tên thật: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Thư mục: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Dá»± án: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Kế hoạch:\n" #: src/pinky.c:405 msgid "Login" msgstr "Äăng nhập" #: src/pinky.c:407 msgid "Name" msgstr "Tên" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Nghỉ" #: src/pinky.c:411 msgid "When" msgstr "Lúc" #: src/pinky.c:414 msgid "Where" msgstr "Tại" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [NGƯỜI_DÙNG]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l đưa ra kết quả dạng dài cho (các) NGƯỜI_DÙNG\n" " -b bá» Ä‘i thư mục cá nhân cá»§a ngưá»i dùng và shell trong dạng " "dài\n" " -h bá» Ä‘i tập tin dá»± án cá»§a ngưá»i dùng trong dạng dài\n" " -p bá» Ä‘i tập tin kế hoạch cá»§a ngưá»i dùng trong dạng dài\n" " -s xuất dạng ngắn, đây là mặc định\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f bá» Ä‘i dòng chỉ tên cá»™t trong dạng ngắn\n" " -w bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng trong dạng ngắn\n" " -i bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng và máy ở xa trong dạng " "ngắn\n" " -q bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng, máy ởỡa và thá»i gian " "nghỉ\n" " trong dạng ngắn\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Má»™t chương trình “finger†nhẹ; in ra thông tin vá» ngưá»i dùng.\n" "Tập tin “utmp†sẽ là %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "chưa đưa ra tên ngưá»i dùng; cần chỉ ra ít nhất má»™t tên ngưá»i dùng khi dùng â€-" "lâ€" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "thiếu tham số “--pages=TRANG_ÄẦU[:TRANG_CUá»I]â€" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "sai phạm vi trang %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "â€-l CHIỀU_DÀI_TRANG†sai số cá»§a dòng: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "â€-N Sá»â€ sai số dòng bắt đầu: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "â€-o LỀ†sai vị trí tương đối dòng: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "â€-w CHIỀU_RỘNG_TRANG†sai số ký tá»±: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "â€-W CHIỀU_RỘNG_TRANG†sai số ký tá»±: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "không chỉ ra được số cá»™t khi in ra song song" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "không thể đồng thá»i in ra chéo nhau và in ra song song." #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "â€-%c†ký tá»± mở rá»™ng hoặc số sai trong đối số: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "chiá»u rá»™ng trang quá hẹp" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "số trang bắt đầu %<PRIuMAX> vượt quá số đếm trang %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "tràn số thứ tá»± trang" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Trang %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Dàn trang hoặc dàn cá»™t (các) TẬP_TIN để in.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +TRANG_ÄẦU[:TRANG_CUá»I], --pages=TRANG_ÄẦU[:TRANG_CUá»I]\n" " bắt đầu [dừng] in ấn ở trang TRANG_ÄẦU[_CUá»I]\n" " -CỘT, --columns=CỘT\n" " đưa ra CỘT cá»™t và in ra các cá»™t xuống dưới,\n" " trừ khi dùng “-aâ€. Cân bằng số dòng trong các cá»™t\n" " trên má»—i trang.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across in các cá»™t bắt chéo nhau thay vì in xuống,\n" " sá»­ dụng cùng vá»›i “-CỘTâ€\n" " -c, --show-control-chars\n" " dùng ký hiệu mÅ© (^G) và cách ghi gạch ngược bát phân\n" " -d, --double-space\n" " nhân đôi khoảng trắng trong kết quả\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=ÄỊNH_DẠNG\n" " dùng ÄỊNH_DẠNG cho ngày tháng trong phần đầu\n" " -e[KÃ_Tá»°[RỘNG]], --expand-tabs[=KÃ_Tá»°[RỘNG]]\n" " mở rá»™ng KÃ_Tá»° đưa vào (TAB) thành chiá»u RỘNG cá»§a tab " "(8)\n" " -F, -f, --form-feed\n" " dùng các dạng khác để chia trang thay cho dòng má»›i\n" " (3 dòng phần đầu cá»§a trang vá»›i “-Fâ€,\n" " hoặc 5 dòng phần đầu và gạch dài khi không có “-Fâ€)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h ÄẦU_TRANG, --header=ÄẦU_TRANG\n" " dùng má»™t phần ÄẦU_TRANG ở giữa thay cho tên tập tin\n" " trong phần đầu trang,\n" " -h \"\" in má»™t dòng trắng, đừng sá»­ dụng -h\"\"\n" " -i[KÃ_Tá»°[RỘNG]], --output-tabs[=KÃ_Tá»°[RỘNG]]\n" " thay thế khoảng trắng vá»›i các KÃ_Tá»° (TAB) thành chiá»u " "RỘNG tab (8)\n" " -J, --join-lines gá»™p lại các dòng đầy đủ, tắt bá» cắt dòng -W,\n" " không sắp hàng các cá»™t,\n" " alignment, --sep-string[=CHUá»–I] đặt ký tá»± phân chia\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=DÀI_TRANG\n" " đặt chiá»u dài trang thành chiá»u DÀI_TRANG (66) dòng\n" " (số dòng mặc định cá»§a văn bản là 56, có “-F†thì 63)\n" " -m, --merge in song song tất cả các tập tin, má»—i tập tin trên má»™t " "cá»™t\n" " cắt ngắn các dòng, có “-J†thì cÅ©ng nhập các dòng\n" " có chiá»u dài đầy đủ.\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[PHÂN_CÃCH[CHá»®_Sá»]], --number-lines[=PHÂN_CÃCH[CHá»®_Sá»]]\n" " đánh số dòng, sá»­ dụng CHá»®_Sá» (5) chữ số, sau đó " "PHÂN_CÃCH (TAB),\n" " mặc định đếm bắt đầu từ dòng thứ nhất cá»§a tập tin nhập " "vào\n" " -N, --first-line-number=Sá»\n" " bắt đầu đếm vá»›i Sá» tại dòng thứ nhất cá»§a\n" " trang in đầu tiên (xem “+TRANG_ÄẦUâ€)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=LỀ\n" " thụt má»—i dòng vá»›i LỀ (số không) khoảng trắng,\n" " không ảnh hưởng “-w†hoặc “-Wâ€,\n" " LỀ sẽ được thêm vào chiá»u RỘNG_TRANG\n" " -r, --no-file-warnings\n" " bá» Ä‘i cảnh báo khi không mở được má»™t tập tin\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[KÃ_Tá»°],--separator[=KÃ_Tá»°]\n" " phân chia các cá»™t bằng má»™t ký tá»± đơn,\n" " mặc định cho KÃ_Tá»° là ký tá»± <TAB> không có “-wâ€\n" " và â€no char†vá»›i “-wâ€\n" " “-s[KÃ_Tá»°]†bá» việc cắt ngắn dòng cá»§a tất cả 3 tùy chá»n " "cá»™t\n" " (-CỘT|-a -CỘT|-m) trừ khi đặt “-wâ€\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[CHUá»–I], --sep-string[=CHUá»–I]\n" " phân chia các cá»™t bằng CHUá»–I,\n" " không có -S: Ký tá»± phân chia mặc định <TAB>\n" " bằng -J và <dấu_cách> nếu không (giống như -S\" \"),\n" " không ảnh hưởng đến các tùy chá»n cá»™t\n" " -t, --omit-header bá» Ä‘i phần đầu và phần Ä‘i theo cá»§a các trang\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " bá» qua phần đầu và phần Ä‘i theo cá»§a trang,\n" " loại trừ sá»± dàn trang bởi mẫu trong tập tin đưa vào\n" " -v, --show-nonprinting\n" " sá»­ dụng ký hiệu gạch ngược bát phân\n" " -w, --width=RỘNG_TRANG\n" " đặt chiá»u rá»™ng trang thành chiá»u RỘNG_TRANG (72) ký tá»±\n" " chỉ cho kết quả Ä‘a cá»™t văn bản, “-s[ký_tá»±]†tắt Ä‘i (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=RỘNG_TRANG\n" " đặt chiá»u rá»™ng trang thành luôn luôn RỘNG_TRANG (72) ký " "tá»±,\n" " cắt ngắn các dòng, trừ khi đặt tùy chá»n “-Jâ€,\n" " không can thiệp vá»›i “-S†hoặc “-sâ€\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "â€-t†là ngầm định nếu CHIỀU_DÀI_TRANG ≤ 10.\n" "Không có TẬP_TIN, hoặc TẬP_TIN là “-†thì Ä‘á»c đầu vào tiêu chuẩn.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [BIẾN]...\n" "In ra các giá trị cá»§a (những) biến môi trưá»ng đưa ra.\n" "Không đưa ra BIẾN môi trưá»ng thì in cặp tên/giá_trị cho má»—i biến.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null kết thúc má»—i dòng kết xuất bằng 0 byte thay cho ký tá»± dòng " "má»›i\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "cảnh báo: %s: bá» qua các ký tá»± theo sau hằng ký tá»±" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s ÄỊNH_DẠNG [Ä.Sá»]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "In (các) Ä.Sá» theo ÄỊNH_DẠNG, hoặc thá»±c hiện tùy theo TÙY_CHỌN:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "ÄỊNH_DẠNG Ä‘iá»u khiển kết xuất giống như trong printf kiểu C.\n" "Các chuá»—i được biên dịch là:\n" "\n" " \\\" ngoặc kép\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN byte có giá trị bát phân NNN (1 đến 3 chữ số)\n" " \\xHH byte có giá trị thập lục HH (1 đến 2 chữ số)\n" " \\uHHHH ký tá»± Unicode (ISO/IEC 10646) có giá trị thập lục HHHH (4 chữ " "số)\n" " \\UHHHHHHHH ký tá»± Unicode có giá trị thập lục HHHHHHHH (8 chữ số)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% má»™t dấu % đơn\n" " %b Äá»I_Sá» là má»™t chuá»—i có các ký tá»± thoát “\\†đã biên dịch,\n" " trừ khi dãy thoát bát phân có dạng “\\0†hoặc “\\0NNNâ€\n" "\n" "và tất cả các dạng C kết thúc bởi má»™t trong “diouxXfeEgGcsâ€,\n" "và đầu tiên các Äá»I SỠđã chuyển đổi tá»›i dạng thích hợp.\n" "Chiá»u dài các biến được Ä‘iá»u khiển.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: cần má»™t số" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: giá trị chưa được chuyển đổi hoàn toàn" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "thiếu số thập lục trong dãy thoát" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "sai tên ký tá»± chung “\\%c%0*xâ€" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "sai chiá»u rá»™ng trưá»ng: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "sai độ chính xác: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: sai sá»± xác định chuyển đổi" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "cảnh báo: bá» qua các đối số thừa nên bắt đầu từ %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (cho biểu thức chính quy %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [VÀO]... (không có “-Gâ€)\n" " hoặc: %s -G [TÙY_CHỌN]... [VÀO [RA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "ÄÆ°a ra má»™t chỉ mục đã hoán vị, bao gồm ngữ cảnh,\n" "cá»§a những từ trong các tập tin đưa vào.\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference đưa ra sá»± chỉ đến đã tạo ra tá»± động\n" " -G, --traditional làm việc giống vá»›i “ptx†cá»§a System V\n" " -F, --flag-truncation=CHUá»–I dùng CHUá»–I để đánh dấu sá»± cắt dòng\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=CHUá»–I tên vÄ© lệnh để sá»­ dụng thay cho “xxâ€\n" " -O, --format=roff tạo ra kết quả như chỉ thị roff\n" " -R, --right-side-refs đặt sá»± chỉ đến ở bên phải, không đếm trong " "â€-wâ€\n" " -S, --sentence-regexp=BTCQ cho cuối các dòng hoặc cuối các câu\n" " (BTCQ: biểu thức chính quy)\n" " -T, --format=tex tạo kết quả như chỉ thị TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=BTCQ dùng biểu thức chính quy này\n" " để tương ứng má»—i từ khóa\n" " -b, --break-file=TẬP_TIN ký tá»± phá vỡ từ trong TẬP_TIN này\n" " -f, --ignore-case đưa chữ thưá»ng thành hoa để sắp xếp\n" " -g, --gap-size=Sá» kích cỡ chá»— trống trong các cá»™t giữa\n" " các trưá»ng kết quả\n" " -i, --ignore-file=TẬP_TIN Ä‘á»c danh sách từ bá» qua từ TẬP_TIN\n" " -o, --only-file=TẬP_TIN chỉ Ä‘á»c danh sách từ từ TẬP_TIN này\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references trưá»ng đầu tiên cá»§a má»—i dòng là má»™t sá»± tham " "khảo\n" " -t, --typeset-mode (chưa thá»±c hiện)\n" " -w, --width=Sá» chiá»u rá»™ng kết quả theo cá»™t, bá» Ä‘i sá»± tham " "khảo\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Khi không có TẬP_TIN hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. “-F /†" "theo mặc định.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "chiá»u rá»™ng chá»— trống sai: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "In ra tên đầy đủ cá»§a thư mục làm việc hiện thá»i.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical dùng PWD từ môi trưá»ng, thậm chí nếu nó chứa liên kết " "tượng trưng\n" " -P, --physical tránh má»i liên kết tượng trưng\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "gặp lá»—i khi chdir (chuyển đổi thư mục) sang %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "gặp lá»—i khi stat (lấy trạng thái vá») %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "không tìm thấy mục nhập thư mục trong %s có inode tương ứng" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "Ä‘ang bá» qua các đối số không-phải-tùy-chá»n" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Hiển thị giá trị cá»§a má»™t liên kết má»m hoặc tên tập tin chuẩn tắc.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize làm hợp quy tắc bằng cách theo đệ quy\n" " má»i liên kết má»m trong má»i thành phần cá»§a tên đưa ra;\n" " tất cả thành phần (trừ mục cuối cùng) cá»§a đưá»ng dẫn phải tồn " "tại\n" " -e, --canonicalize-existing làm hợp quy tắc bằng cách theo đệ quy\n" " má»i liên kết má»m sau trong má»i thành phần cá»§a đưá»ng dẫn đưa ra,\n" " tất cả thành phầu cá»§a đưá»ng dẫn phải tồn tại\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing làm hợp quy tắc bằng cách theo đệ quy\n" " má»i liên kết má»m sau trong má»i thành phần cá»§a đưá»ng dẫn đưa ra,\n" " và không cần sá»± tồn tại cá»§a các thành phần\n" " -n, --no-newline không đưa ra ký tá»± dòng má»›i Ä‘i theo\n" " -q, --quiet không xuất chi tiết\n" " -s, --silent bá» Ä‘i hầu hết các thông báo lá»—i\n" " -v, --verbose báo cáo các thông báo lá»—i\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "Ä‘ang bá» qua các đối số không-phải-tùy-chá»n" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "In ra tên tập tin tuyệt đối đã phân giải;\n" "tất cả nhưng thành phần cuối cùng phải tồn tại sẵn\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing tất cả các bá»™ phận hợp thành đưá»ng đẫn phải " "có sẵn\n" " -m, --canonicalize-missing không cần thành phần hợp thành đưá»ng dẫn tồn " "tại\n" " -L, --logical giải quyết thành phần “..†trước liên kết " "má»m\n" " -P, --physical giải quyết liên kết má»m khi gặp (mặc định)\n" " -q, --quiet ngăn chặn phần lá»›n các báo lá»—i\n" " --relative-to=FILE in ra đưá»ng dẫn tương đối vá»›i FILE\n" " --relative-base=FILE in ra đưá»ng dẫn tuyệt đối vá»›i FILE trừ các\n" " đưá»ng dẫn nằm trong\n" " -s, --strip, --no-symlinks không mở rá»™ng liên kết má»m\n" " -z, --zero ngăn cách kết xuất vá»›i NUL thay vì tạo dòng " "má»›i\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "tạo đưá»ng dẫn tương đối" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: Ä‘i vào thư mục đã bảo vệ chống ghi %s không? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: Ä‘i vào thư mục %s không? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: xóa %s có bảo vệ chống ghi đè %s không?(k/c) " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: xóa %s %s không?(k/c) " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "đã xóa thư mục: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "không xóa được thư mục: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "Ä‘ang bá» qua %s, vì nó nằm trên thiết bị khác" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "lá»—i theo cây: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "gặp lá»—i bất thưá»ng: fts_info=%d: %s\n" "xin hãy thông báo cho %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Thá»­ lệnh “%s ./%s†để xóa tập tin %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Xoá (há»§y liên kết) các TẬP_TIN.\n" "\n" " -f, --force bá» qua tập tin không tồn tại, không bao giá» há»i " "trước\n" " -i há»i trước má»—i lần xóa\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I há»i má»—i má»™t lần xóa nhiá»u hÆ¡n 3 tập tin, hoặc:\n" " khi di chuyển đệ quy. Ãt phiá»n toái hÆ¡n“-iâ€\n" " trong khi vẫn đưa lại khả năng bảo vệ tránh\n" " khá»i phần lá»›n lá»—i.\n" " --interactive[=KHI] há»i KHI nào:\n" " * never không bao giá»\n" " * once (-I) má»™t lần\n" " * always (-i) luôn luôn\n" " không có KHI thì luôn luôn há»i trước\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system khi xóa đệ quy má»™t phân cấp,\n" " nhảy qua thư mục nằm trên hệ thống tập tin khác\n" " vá»›i hệ thống có đối số dòng lệnh tượng ứng.\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root không coi “/†là đặc biệt\n" " --preserve-root không xóa “/†(mặc định)\n" " -r, -R, --recursive xóa đệ quy các thư mục và ná»™i dung cá»§a chúng\n" " -d, --dir xóa bá» thư mục rá»—ng\n" " -v, --verbose cho biết những gì Ä‘ang thá»±c hiện\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Mặc định, “rm†không xóa thư mục. Hãy dùng tùy chá»n “--recursiveâ€\n" "(-r hoặc -R) để xóa từng thư mục đã liệt kê, cùng vá»›i ná»™i dung cá»§a chúng.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Äể xóa má»™t tập tin có tên bắt đầu vá»›i má»™t “-â€, ví dụ “-fooâ€,\n" "sá»­ dụng má»™t trong các câu lệnh sau:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Chú ý rằng nếu dùng lệnh “rm†để xóa bá» má»™t tập tin nào đó,\n" "vẫn có khả năng phục hồi má»™t phần hoặc toàn bá»™ ná»™i dung cá»§a tập tin đó\n" "(nếu có đủ kỹ năng và/hay thá»i gian).\n" "Äể đảm bảo rằng ná»™i dung không phục hồi được, hãy sá»­ dụng “shredâ€.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: xóa đệ quy má»i đối số không? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: xóa má»i đối số không? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "Ä‘ang xóa thư mục, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "gặp lá»—i khi gỡ bá» thư mục %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Gỡ bá» má»—i THƯ_MỤC trống.\n" "\n" " --ignore-fail-on-non-empty\n" " bá» qua má»—i lần thất bại do thư mục không trống gây ra\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents gỡ bá» THƯ_MỤC và các thư mục cấp trên nó;\n" " v.d. “rmdir -p a/b/c†tương tá»± vá»›i “rmdir a/b/c a/b aâ€.\n" " -v, --verbose đưa ra chuẩn Ä‘oán cho má»—i thư mục được xá»­ lý\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "gặp lá»—i khi gỡ bá» %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Cách dùng: %s NGá»®_CẢNH LỆNH [đối_số...]\n" " hoặc: %s [ -c ] [-u NGƯỜI_DÙNG] [-r VAI_TRÃ’] [-t KIỂU] [-l PHẠM_VI] " "LỆNH [đối_số...]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Chạy chương trình ở ngữ cảnh bảo mật khác.\n" "Không có NGá»®_CẢNH, cÅ©ng không có LỆNH thì in ra ngữ cảnh bảo mật hiện thá»i.\n" "\n" " NGá»®_CẢNH ngữ cảnh bảo mật hoàn toàn\n" " -c, --compute tính ngữ cảnh chuyển tiếp tiến trình trước khi sá»­a đổi\n" " -t, --type=KIỂU kiểu (cho cùng má»™t vai trá» vá»›i Ä‘iá»u mẹ)\n" " -u, --user=NGƯỜI_DÙNG nhận diện ngưá»i dùng\n" " -r, --role=VAI_TRÃ’ vai trò\n" " -l, --range=PHẠM_VI phạm vi cấp\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "Ä‘a vai trò" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "Ä‘a kiểu" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "Ä‘a ngưá»i dùng" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "Ä‘a phạm vi cấp" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "gặp lá»—i khi lấy ngữ cảnh hiện thá»i" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "phải ghi rõ tùy chá»n “-câ€, “-tâ€, “-uâ€, “-lâ€, “-r†hay ngữ cảnh" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "chưa ghi rõ lệnh" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s dùng được chỉ vá»›i hạt nhân SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "gặp lá»—i khi tính ngữ cảnh má»›i" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "gặp lá»—i khi đặt ngưá»i dùng má»›i %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "gặp lá»—i khi đặt kiểu má»›i %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "gặp lá»—i khi đặt phạm vi má»›i %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "gặp lá»—i khi đặt vai trò má»›i %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "không thể đặt ngữ cảnh bảo mật %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... CUá»I\n" " hoặc: %s [TÙY_CHỌN]... ÄẦU CUá»I\n" " hoặc: %s [TÙY_CHỌN]... ÄẦU ÄỘ_TÄ‚NG CUá»I\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "In các số từ ÄẦU đến CUá»I, cá»™ng thêm ÄỘ_TÄ‚NG sau má»—i số.\n" "\n" " -f, --format=ÄỊNH_DẠNG sá»­ dụng ÄỊNH_DẠNG dấu chấm động kiểu printf\n" " -s, --separator=CHUá»–I dùng CHUá»–I để phân cách các số (mặc định: \\n)\n" " -w, --equal-width cân bằng chiá»u rá»™ng bằng cách thêm các số 0 vào " "đầu\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Nếu bá» qua ÄẦU hoặc ÄỘ_TÄ‚NG, thì mặc định thành 1.\n" "Tức là ÄỘ_TÄ‚NG bị bá» qua mặc định thành 1 thậm chí khi CUá»I nhá» hÆ¡n ÄẦU.\n" "ÄẦU, ÄỘ_TÄ‚NG, và CUá»I biên dịch như các giá trị dấu chấm động.\n" "ÄỘ_TÄ‚NG thưá»ng là dương nếu ÄẦU nhá» hÆ¡n CUá»I,\n" "và ÄỘ_TÄ‚NG thưá»ng là âm nếu ÄẦU lá»›n hÆ¡n CUá»I.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "ÄỊNH_DẠNG phải thích hợp để in ra má»™t đối số kiểu “doubleâ€;\n" "nó có giá trị mặc định là “%.PRECf†nếu ÄẦU, ÄỘ_TÄ‚NG, và CUá»I\n" "Ä‘á»u là số thập phân dấu chấm cố định có độ chính xác tối Ä‘a PREC,\n" "và nếu không thì là %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "sai đối số dấu chấm động: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "không hiểu định dạng %s có chỉ thị %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "không được chỉ ra chuá»—i định dạng khi in các chuá»—i có chiá»u rá»™ng bằng nhau" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN_NGẮN]... NGƯỜI_DÙNG LỆNH [Äá»I_Sá»]...\n" " hoặc: %s TÙY_CHỌN_DÀI\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Bá» má»i nhóm phụ, giả sá»­ ID ngưá»i dùng và ID nhóm cá»§a NGƯỜI_DÙNG\n" "chỉ ra (ID thuá»™c số hay tên ngưá»i dùng), và chạy câu LỆNH vá»›i má»i Äá»I_SỠđưa " "ra.\n" "Thoát vá»›i trạng thái 111 nếu không thể dùng UID và GID yêu cầu.\n" "Nếu không, thoát vá»›i trạng thái thoát cá»§a câu LỆNH.\n" "Chương trình này chỉ có ích khi chạy bởi root (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] cÅ©ng đặt ID nhóm chính thành GID thuá»™c số\n" " và (nếu chỉ ra) đặt các ID nhóm phụ thành GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ID ngưá»i dùng lạ: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "để sá»­ dụng ID ngưá»i dùng %s thì phải cÅ©ng dùng tùy chá»n “-gâ€" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "gặp lá»—i khi đặt (các) nhóm phụ" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "không đặt được ID nhóm thành %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "không đặt được ID ngưá»i dùng thành %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Ghi đè nhiá»u lần (các) TẬP_TIN chỉ ra, để làm cho việc phục hồi dù\n" "bằng các thiết bị đắt tiá»n cÅ©ng khó khăn.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force Thay đổi quyá»n hạn để cho phép ghi nhá»› nếu cần thiết\n" " -n, --iterations=Sá» ghi đè Sá» lần thay cho giá trị mặc định (%d)\n" " --random-source=TẬP_TIN Lấy các byte ngẫu nhiên từ tập tin này\n" " -s, --size=N shred số byte này (chấp nhận các hậu tố K, M, G, v.d. " "“102Kâ€)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove cắt ngắn và xóa tập tin sau khi ghi đè\n" " -v, --verbose hiển thị tiến trình\n" " -x, --exact không làm tròn kích cỡ tập tin đến khối đầy tiếp theo;\n" " đây là mặc định cho các tập tin không thông thưá»ng\n" " -z, --zero thêm má»™t lần ghi đè cuối cùng bằng các số 0 để giấu việc " "dùng shred\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Nếu TẬP_TIN là “-â€, shred đầu ra tiêu chuẩn.\n" "\n" "Xóa (các) TẬP_TIN nếu có chỉ ra “--remove†(-u).\n" "Mặc định là không xóa tập tin vì nó thưá»ng thao tác trên tập tin thiết bị\n" "như “/dev/hdaâ€, và không nên xóa bá» những tập tin này.\n" "Khi thao tác trên tập tin thông thưá»ng, phần lá»›n ngưá»i dùng sá»­ dụng\n" "tùy chá»n “--removeâ€.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "CẨN THẬN: Chú ý rằng chức năng shred dá»±a trên má»™t tính chất quan trá»ng:\n" "đó là hệ thống tập tin ghi đè dữ liệu tại chá»—. Äây là cách truyá»n\n" "thống để thá»±c hiện, nhưng nhiá»u hệ thống tập tin má»›i có thiết kế\n" "không thoả mãn. Dưới đây là những hệ thống tập tin mà shred\n" "không thá»±c hiện được trên chúng, hoặc shred không chắc chắn là có thể\n" "thá»±c hiện đúng trên chúng ở má»i chế độ cá»§a hệ thống tập tin:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* các hệ thống tập tin cấu trúc log hoặc journal, như những hệ thống cá»§a\n" " AIX và Solaris (và JFS, ReiserFS, XFS, Ext3, v.v...)\n" "\n" "* hệ thống tập tin ghi dữ liệu thừa và phục hồi khi có lá»—i ghi nhá»›\n" " chẳng hạn như các hệ thống tập tin dá»±a trên RAID\n" "\n" "* hệ thống tập tin tạo ảnh chụp (hiện trạng), như cá»§a các máy phục vụ\n" " NFS Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* hệ thống tập tin nhá»› tạm ở vị trí tạm thá»i, như trình khách NFS phiên bản " "3\n" "\n" "* hệ thống tập tin đã nén\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Trong trưá»ng hợp cá»§a hệ thống tập tin ext3, sá»± từ bá» trên là thích hợp\n" "(thì shred chỉ có tác động bị hạn chế) chỉ ở chế độ “data=journalâ€\n" "(dữ liệu = nhật ký), mà làm nhật ký các dữ liệu thêm vào chỉ siêu dữ liệu.\n" "Trong cả hai chế độ “data=ordered†(dữ liệu = thứ tá»±) (mặc định)\n" "và “data=writeback†(dữ liệu = ghi vá»), shred thức hiện như bình thưá»ng.\n" "Vẫn còn có thể thay đổi chế độ làm nhật ký cá»§a ext3 bằng cách thêm\n" "tùy chá»n “data=gì†vào các tùy chá»n gắn kết cho má»™t hệ thống tập tin nào đó\n" "trong tập tin “/etc/fstabâ€, như diá»…n tả trên trang hướng dẫn vá» chức năng\n" "mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Thêm vào đó, bản sao lưu hệ thống tập tin và máy nhân ở xa\n" "có thể chứa bản sao cá»§a tập tin không thể xóa, và do đó cho phép\n" "phục hồi tập tin đã bị tẩy bởi shred.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync bị lá»—i" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync bị lá»—i" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: không thể tua lại" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: thá»±c hiện %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: lá»—i ghi tại hiệu %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek bị lá»—i" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: tập tin quá lá»›n" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: lần %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: lần %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat bị lá»—i" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: sai dạng tập tin" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: tập tin có kích cỡ âm" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: lá»—i cắt ngắn" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl bị lá»—i" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: không thể shred mô tả tập tin chỉ cho phép nối thêm vào" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: Ä‘ang xóa" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: đã đổi tên thành %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: lá»—i xóa" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: đã xóa" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: lá»—i đóng" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: lá»—i mở để ghi" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: sai số lần thá»±c hiện" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "đã chỉ ra nhiá»u nguồn ngẫu nhiên" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: sai kích cỡ tập tin" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]\n" " hoặc: %s -e [TÙY_CHỌN]... [Ä.Sá»]...\n" " hoặc: %s -i LO-HI [TÙY_CHỌN]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "In ra đầu ra tiêu chuẩn má»™t tập hợp hoán vị ngẫu nhiên cá»§a các dòng nhập " "vào.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo coi má»—i Ä.Sá» là má»™t dòng nhập vào\n" " -i, --input-range=THẤP-CAO coi má»—i con số từ THẤP đến CAO là\n" " má»™t dòng nhập vào\n" " -n, --head-count=Sá» xuất nhiá»u nhất Sá» dòng\n" " -o, --output=TẬP_TIN ghi kết quả vào tập tin này,\n" " thay cho đầu ra tiêu chuẩn\n" " --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này\n" " -z, --zero-terminated kết thúc dòng bằng 0 byte, không phải ký tá»± dòng " "má»›i\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "đã chỉ ra nhiá»u tùy chá»n “-iâ€" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "sai phạm vi nhập vào %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "sai đếm dòng %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "đã chỉ ra nhiá»u tập tin kết quả" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "không thể kết hợp hai tùy chá»n “-e†và “-iâ€" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Cách dùng: %s Sá»[HẬU_Tá»]...\n" " hoặc: %s TÙY_CHỌN\n" "Tạm dừng trong vòng Sá» giây.\n" "HẬU_Tá» có thể là:\n" " * s giây (mặc định)\n" " * m phút\n" " * h giá»\n" " * d ngày\n" "Không giống như phần lá»›n bản thá»±c hiện yêu cầu Sá» là số nguyên,\n" "ở đây Sá» có thể là số thá»±c dấu chấm động.\n" "ÄÆ°a ra hai đối số hoặc nhiá»u hÆ¡n thì tạm dừng trong thá»i gian là tổng các " "giá trị đó.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "sai khoảng thá»i gian %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "không Ä‘á»c được đồng hồ thá»i gian thá»±c" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Ghi ra đầu ra tiêu chuẩn bản ghép nối đã sắp xếp cá»§a tất cả TẬP_TIN.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Tùy chá»n sắp xếp:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks bá» qua những khoảng trắng ở đầu\n" " -d, --dictionary-order tính chỉ các dấu cách và các ký tá»± chữ-cái/số\n" " -f, --ignore-case tính chữ thưá»ng là chữ hoa\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort so sánh theo giá trị thuá»™c số kiểu chung\n" " -i, --ignore-nonprinting tính chỉ các ký tá»± có thể in được\n" " -M, --month-sort so sánh (không hiểu) < “Th1†< ... < â€Th12â€\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort so sánh các số mà ngưá»i Ä‘á»c được (v.d. 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort so sánh theo giá trị thuá»™c số kiểu chuá»—i\n" " -R, --random-sort sắp xếp theo hash ngẫu nhiên cá»§a khoá\n" " --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này\n" " -r, --reverse đảo ngược kết quả so sánh\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=TỪ sắp xếp theo TỪ:\n" " * general-numeric -g\t\tthuá»™c số kiểu chung\n" " * human-numeric -h\t\tthuá»™c số kiểu ngưá»i\n" " * month -M\t\t\t\ttháng\n" " * numeric -n\t\t\tthuá»™c số\n" " * random -R\t\t\tngẫu nhiên\n" " * version -V\t\t\tphiên bản\n" " -V, --version-sort sắp xếp số thứ tá»± (phiên bản) má»™t cách tá»± " "nhiên bên trong văn bản\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Tùy chá»n khác:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=Sá» gá»™p lại đồng thá»i nhiá»u nhất SỠđầu vào;\n" " nếu cần hÆ¡n, hãy sá»­ dụng các tập tin tạm thá»i\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\n" " kiểm tra có đầu vào đã sắp xếp; không nên sắp xếp\n" " -C, --check=quiet, --check=silent\n" " giống “-câ€, nhưng không thông báo dòng sai thứ " "nhất\n" " --compress-program=PROG\n" " nén các đồ tạm thá»i bằng chương trình này;\n" " để giải nén cÅ©ng đặt “-dâ€\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug ,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" "-k, --key=KEYDEF sắp xếp qua khóa, KEYDEF chỉ ra vị trí và kiểu\n" " -m, --merge hòa trá»™n các tập tin đã sắp xếp rồi; chứ không\n" " sắp xếp\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=TẬP_TIN ghi kết quả vào tập tin này thay cho đầu ra tiêu " "chuẩn\n" " -s, --stable ổn định sắp xếp bằng việc tắt so sánh sắp xếp " "lại cuối cùng\n" " -S, --buffer-size=Cá»  dùng Cá»  cho bá»™ nhá»› đệm chính\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP phân cách các trưá»ng bằng SEP này thay ký tá»± " "trống\n" " -T, --temporary-directory=DIR dùng DIR làm thư mục tạm thá»i, không phải\n" " $TMPDIR hay %s;\n" " có thể chỉ định nhiá»u thư mục\n" " --parallel=N thay đổi số sắp xếp chạy đồng thá»i là N\n" " -u, --unique nếu có “-câ€, kiểm tra có thứ tá»± chặt chẽ;\n" " khi không có “-câ€, chỉ xuất kết quả chạy đầu tiên\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated kết thúc dòng vá»›i 0 byte, thay cho ký tá»± dòng má»›i\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "KEYDEF là F[.C][TÙY_CHỌN...], [F[.C][TÙY_CHỌN...]] cho Ä‘iểm đầu và cuối, " "trong đó F là số thứ tá»± trưá»ng\n" "và C là vị trí cá»§a ký tá»± trong trưá»ng; cả hai có gốc bắt đầu là 1. và\n" "Ä‘iểm kết thúc mặc định là cuối dòng. Nếu cả hai -t và -b Ä‘á»u không được đặt " "khi thi hành,\n" "thì tính trưá»ng bắt đầu từ trước khoảng trắng.TÙY_CHỌN là má»™t hoặc vài ký tá»± " "đơn xếp theo thứ tá»± [bdfgiMhnRrV]\n" "các tùy chá»n này sẽ đè lên các tùy chá»n toàn cục. Khi không đưa ra má»™t " "khóa,\n" "thì dùng cả dòng làm khóa.\n" "\n" "Cá»  có thể theo bởi hậu tố là bá»™i số cá»§a:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% cá»§a bá»™ nhá»›, b 1, K 1024 (mặc định), và tương tá»± cho M, G, T, P, E, Z, " "Y.\n" "\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" "*** CẢNH BÃO ***\n" "Biến môi trưá»ng địa phương ảnh hưởng đến thứ tá»± sắp xếp.\n" "Äặt “LC_ALL=C†để dùng thứ tá»± sắp xếp truyá»n thống theo giá trị byte gốc.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "Ä‘ang đợi %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] đã chấm dứt bất thưá»ng" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "không tạo được tập tin tạm thá»i trong %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "gặp lá»—i khi mở" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush bị lá»—i" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "gặp lá»—i khi đóng" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 bị lá»—i" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "không thể thá»±c hiện %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "không tạo được tập tin tạm thá»i" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "không tạo được tiến trình cho %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "không thể thá»±c hiện %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "cảnh báo: không xóa được: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "sai đối số “--%s†%s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "đối số “--%s†tối thiểu là %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "tùy chá»n --%s nhận đối số %s quá lá»›n" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "đối số “--%s†tối Ä‘a theo giá»›i hạn rlimit hiện thá»i là %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "số song song không thể là không" #: src/sort.c:1494 msgid "stat failed" msgstr "gặp lá»—i khi lấy trạng thái vá» tập tin" #: src/sort.c:1755 msgid "read failed" msgstr "gặp lá»—i khi Ä‘á»c" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "gặp lá»—i khi chuyển dạng chuá»—i" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "chuá»—i chưa được chuyển dạng là %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ không có kết quả khá»›p\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "Ä‘ang dùng khóa cÅ© “%sâ€; hãy dùng khóa má»›i “%s†để thay thế" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "Khóa %lu có chiá»u ngang là 0 và sẽ bị bá» qua" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "có dấu cách ở đầu là quan trá»ng trong khóa %lu; hãy chỉ định “bâ€" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "Khóa %lu là số và trải rá»™ng nhiá»u trưá»ng" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "các tùy chá»n “-%s†bị bá» qua" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "Tùy chá»n â€-r†chỉ áp dụng được cho so sánh phần cuối" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "gặp lá»—i khi ghi" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: sai thứ tá»±: " #: src/sort.c:2786 msgid "standard error" msgstr "lá»—i tiêu chuẩn" #: src/sort.c:3698 msgid "cannot read" msgstr "không thể Ä‘á»c" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: sai xác định trưá»ng %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "các tùy chá»n “-%s†không tương thích vá»›i nhau" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: sai số đếm tại đầu cá»§a %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "số sai nằm sau “-â€" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "số sai nằm sau “.â€" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "ký tá»± rác trong lá»i xác định trưá»ng" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "đã chỉ ra nhiá»u chương trình nén" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "số sai tại đầu trưá»ng" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "số cá»§a trưá»ng là không" #: src/sort.c:4392 msgid "character offset is zero" msgstr "hiệu ký tá»± là không" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "số sai ở sau “,â€" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "khoảng tab trống" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "không Ä‘á»c được tên tập tin từ %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: sai tên tập tin chiá»u dài không" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "không có dữ liệu nhập vào từ %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "dùng luật sắp xếp %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "dùng so sánh byte đơn giản" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "không cho phép toán hạng thêm %s vá»›i “-%câ€" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "chiá»u dài hậu tố tổi thiểu là %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [ÄẦU_VÀO [TIỀN_Tá»]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Tạo ra các phần có kích cỡ xác định cá»§a dữ liệu VÀO vá»›i tên TIỀN_Tá»aa,\n" "TIỀN_Tá»ab, v.v.; kích cỡ mặc định là 1000 dòng, và TIỀN_Tá» mặc định\n" "là “xâ€. Khi không có dữ liệu VÀO, hoặc khi dữ liệu VÀO là “-â€,\n" "Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N sá»­ dụng các hậu tố vá»›i chiá»u dài N (mặc định %d)\n" " --additional-suffix=SUFFIX nối thêm hậu tố SUFFIX vàp têm tập tin.\n" " -b, --bytes=SIZE đặt SIZE byte cho má»—i tập tin kết quả\n" " -C, --line-bytes=SIZE đặt nhiá»u nhất Cá»  byte dòng cho má»—i tập tin kết " "quả\n" " -d, --numeric-suffixes[=FROM] sá»­ dụng hậu tố kiểu số thay cho chữ cái\n" " FROM thay đổi giá trị khởi đầu (mặc định là 0).\n" " -e, --elide-empty-files không tạo file trống vá»›i “-nâ€\n" " --filter=LỆNH ghi vào LỆNH shell; vá»›i tên tập tin $FILE\n" " -l, --lines=SỠđặt Sá» dòng cho má»—i tập tin kết quả\n" " -n, --number=CHUNKS sinh CHUNKS tập tin. Xem dưới đây\n" " -u, --unbuffered Sao chép trá»±c tiếp từ đầu vào tá»›i đầu ra vá»›i “-n " "r/...â€\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose in thông tin chẩn Ä‘oán đúng trước\n" " khi mở má»—i tập tin kết xuất\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "CHUNKS có thể là:\n" "N chia nhá» thành N tập tin theo cỡ cá»§a đầu vào\n" "K/N đầu ra thứ K trên N cá»§a stdout\n" "l/N chia nhá» thành N tập tin không có dòng chia cắt\n" "l/K/N đầu ra thứ K trên N trong stdout không có dòng chia cắt\n" "r/N tương tá»± “l†nhưng dùng phân phối round-robin\n" "r/K/N tương tá»± nhưng chỉ xuất xuất phần thứ K trên N ra stdout\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "cạn các Ä‘uôi (hậu tố) kết xuất" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "Ä‘ang tạo tập tin %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s muốn ghi đè kết xuất; Ä‘ang bá» qua" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "Không đặt được biến môi trưá»ng FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "thá»±c thi vá»›i FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "không tạo được pipe" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "đóng pipe trước" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "đóng pipe xuất ra" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "di chuyển pipe đầu vào" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "đóng pipe đầu vào" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "gặp lá»—i khi chạy câu lệnh: “%s -c %sâ€" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "không thể đóng pipe đầu vào" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "đợi tiến trình con" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "vá»›i FILE=%s, tín hiệu %s từ dòng lệnh: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "vá»›i FILE=%s, thoát %d từ dòng lệnh: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "trạng thái chưa được biết đến từ câu lệnh (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "không thể chia theo vài cách" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: sai số gói" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: sai số mảnh" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: sai chiá»u dài hậu tố" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: số byte sai" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: số dòng sai" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "tùy chá»n số đếm dòng “-%s%c...†là quá lá»›n" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: sai giá trị bắt đầu cho hậu tố dạng số" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: cỡ khối IO không hợp lệ" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter không xá»­ lý bó được xuất ra stdout" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "giá trị hậu tố bằng số khởi đầu quá lá»›n so vá»›i độ dài hậu tố" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: không thể xác định cỡ tập tin" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "không thể chuẩn hóa %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "cảnh báo: không nhận ra dãy thoát “\\%câ€" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: sai chỉ thị" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "cảnh báo: định dạng kết thúc bằng gạch ngược" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "sá»­ dụng %s để đại diện đầu vào tiêu chuẩn cÅ©ng không hoạt động trong chế độ " "hệ thống tập tin" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "không Ä‘á»c được thông tin hệ thống tập tin cho %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "không thể lấy trạng thái vỠđầu vào tiêu chuẩn" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Tập tin: \"%n\"\n" " ID: %-8i Namelen: %-7l Kiểu: %T\n" "Cỡ block: %-10s Cỡ block cÆ¡ bản: %S\n" "Block: Tổng: %-10b Trống: %-10f Sẵn dùng: %a\n" "Inode: Tổng: %-10c Trống: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Tập tin: %N\n" " Cỡ: %-10s\tBlock: %-10b IO Block: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Thiết bị: %Dh/%dd\tInode: %-10i Liên kết: %-5h Kiểu thiết bị: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Thiết bị: %Dh/%dd\tInode: %-10i Liên kết: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Truy cập: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Ngữ cảnh: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Truy cập: %x\n" "Ngày sá»­a: %y\n" "Thay đổi: %z\n" "Ngày tạo: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Hiển thị trạng thái cá»§a tập tin hay hệ thống tập tin.\n" "\n" " -L, --dereference theo các liên kết\n" " -f, --file-system hiển thị trạng thái cá»§a hệ thống tập tin\n" " thay cho trạng thái cá»§a tập tin\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=ÄỊNH_DẠNG dùng ÄỊNH_DẠNG đưa ra thay cho định dạng mặc định;\n" " xuất má»™t ký tá»± dòng má»›i sau má»—i lần dùng ÄỊNH_DẠNG\n" " --printf=ÄỊNH_DẠNG giống “--formatâ€, nhưng phiên dịch thoát chuá»—i dấu " "gạch\n" " ngược, và không kết xuất ký tá»± dòng má»›i Ä‘i theo. " "Muốn\n" " tạo dòng má»›i thì thêm “\\n†vào trong chuá»—i " "ÄỊNH_DẠNG.\n" " -t, --terse in ra thông tin dưới dạng ngắn\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Các chuá»—i định dạng đúng cho các tập tin (không có --file-system):\n" "\n" " %a quyá»n truy cập theo dạng bát phân\n" " %A quyá»n truy cập theo dạng dá»… Ä‘á»c\n" " %b số khối đã cấp phát (xem %B)\n" " %B kích cỡ theo byte cá»§a má»—i khối được %b thông báo\n" " %C chuá»—i ngữ cảnh bảo mật SELinux\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d số hiệu thiết bị theo dạng thập phân\n" " %D số hiệu thiết bị theo dạng thập lục\n" " %f chế độ thô theo dạng thập lục\n" " %F kiểu tập tin\n" " %g ID nhóm cá»§a ngưá»i sở hữu\n" " %G tên nhóm cá»§a ngưá»i sở hữu\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h số liên kết cứng\n" " %i số hiệu inode\n" " %m Ä‘iểm gắn kết\n" " %n tên tập tin\n" " %N tên tập tin đã trích dẫn (bá» liên kết nếu là liên kết má»m)\n" " %o kích cỡ khối I/O\n" " %s tổng kích cỡ theo byte\n" " %t kiểu thiết bị lá»›n theo dạng thập lục\n" " %T kiểu thiết bị nhá» theo dạng thập lục\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID cá»§a ngưá»i sở hữu\n" " %U tên ngưá»i dùng cá»§a ngưá»i sở hữu\n" " %w thá»i Ä‘iểm sinh ra tập tin, con ngưá»i Ä‘á»c được; - nếu không hiểu\n" " %W thá»i Ä‘iểm sinh ra tập tin; số giây từ Epoch; 0 nếu không hiểu\n" " %x thá»i gian truy cập cuối cùng, con ngưá»i Ä‘á»c được\n" " %X thá»i gian truy cập cuối cùng, theo giây kể từ Epoch\n" " %y thá»i gian sá»­a đổi cuối cùng, con ngưá»i Ä‘á»c được\n" " %Y thá»i gian sá»­a đổi cuối cùng, theo giây kể từ Epoch\n" " %z thá»i gian thay đổi cuối cùng, con ngưá»i Ä‘á»c được\n" " %Z thá»i gian thay đổi cuối cùng, theo giây kể từ Epoch\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Các dãy định dạng đúng cho hệ thống tập tin:\n" "\n" " %a các khối còn trống cho ngưá»i dùng không phải siêu ngưá»i dùng\n" " %b tổng số khối dữ liệu trong hệ thống tập tin\n" " %c tổng số nút tập tin trong hệ thống tập tin\n" " %d số nút tập tin còn trống trong hệ thống tập tin\n" " %f số khối còn trống trong hệ thống tập tin\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ID hệ thống tập tin theo dạng thập lục\n" " %l chiá»u dài tối Ä‘a cá»§a tên tập tin\n" " %n tên tập tin\n" " %s kích cỡ khối (để truyá»n nhanh hÆ¡n)\n" " %S kích cỡ khối cÆ¡ sở (để đếm các khối)\n" " %t kiểu tập tin theo dạng thập lục\n" " %T kiểu hệ thống tập tin theo dạng ngưá»i dá»… Ä‘á»c\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Cách dùng: %s TÙY_CHỌN... LỆNH\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Chạy câu LỆNH, vá»›i thao tác bị sá»­a đổi để chuyển hoán đệm cho các luồng tiêu " "chuẩn.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng đầu vào tiêu " "chuẩn\n" " -o, --output=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng đầu ra tiêu " "chuẩn\n" " -e, --error=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng lá»—i tiêu chuẩn\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Nếu CHẾ_ÄỘ là “L†thì luồng tương ứng được chuyển hoán đệm theo dòng.\n" "Tùy chá»n này không hợp lệ vá»›i đầu vào tiêu chuẩn.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Nếu CHẾ_ÄỘ là “0†thì luồng tương ứng không được chuyển hoán đệm.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Không thì CHẾ_ÄỘ là má»™t con số có thể Ä‘i trước má»™t cá»§a những hậu tố này:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, và tương tá»± vá»›i G, T, P, E, Z, " "Y.\n" "Trong trưá»ng hợp này, luồng tương ứng được chuyển hoán đệm má»™t cách đầy đủ,\n" "vá»›i kích cỡ vùng đệm được đặt thành CHẾ_ÄỘ byte.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "GHI CHÚ: nếu câu LỆNH Ä‘iá»u chỉnh việc chuyển hoán đệm các luồng tiêu chuẩn\n" "(v.d. “teeâ€) thì cÅ©ng ghi đè lên các thiết lập tương ứng bị “stdbuf†sá»­a " "đổi.\n" "Ngoài ra còn có má»™t số bá»™ lá»c (v.d. “dd†và “catâ€) mà không dùng luồng vá»›i " "đầu I/O,\n" "thì không bị tác động bởi thiết lập “stdbufâ€.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "không tìm thấy %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "gặp lá»—i khi cập nhật môi trưá»ng dùng %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "vô ích khi chuyển hoán đệm theo dòng đầu vào tiêu chuẩn" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Cách dùng: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [CÀI-ÄẶT]...\n" " hoặc: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [-a|--all]\n" " hoặc: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "In hoặc thay đổi các đặc Ä‘iểm cá»§a thiết bị cuối.\n" "\n" " -a, --all in má»i thiết lập hiện thá»i ở dạng dá»… Ä‘á»c cho ngưá»i " "dùng\n" " -g, --save in má»i thiết lập hiện thá»i ở dạng stty có thể Ä‘á»c\n" " -F, --file=TH.BỊ mở và dùng THIẾT_BỊ thay cho đầu vào tiêu chuẩn\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Má»™t “-†không bắt buá»™c ở trước THIẾT_LẬP chỉ ra sá»± phá»§ định.\n" "Má»™t “*†đánh dấu thiết lập không phải POSIX.\n" "Hệ thống nằm dưới xác định những thiết lập có thể.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Ký tá»± đặc biệt:\n" " * dsusp KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu dừng cá»§a thiết bị cuối khi\n" " tràn dữ liệu vào\n" " eof KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t kết thúc tập tin (dừng nhập vào)\n" " eol KÃ_Tá»° KÃ_Tá»° sẽ kết thúc dòng\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 KÃ_Tá»° KÃ_Tá»° xen kẽ để kết thúc dòng\n" " erase KÃ_Tá»° KÃ_Tá»° sẽ xóa ký tá»± cuối cùng gõ vào\n" " intr KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu gián Ä‘oạn\n" " kill KÃ_Tá»° KÃ_Tá»° sẽ xóa dòng hiện thá»i\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext KÃ_Tá»° KÃ_Tá»° sẽ nhập ký tá»± tiếp theo trong ngoặc\n" " quit KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu thoát\n" " * rprnt KÃ_Tá»° KÃ_Tá»° sẽ vẽ lại dòng hiện thá»i\n" " start KÃ_Tá»° KÃ_Tá»° sẽ chạy lại kết quả sau khi dừng nó\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop KÃ_Tá»° KÃ_Tá»° sẽ dừng kết quả\n" " susp KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu dừng cá»§a thiết bị cuối\n" " * swtch KÃ_Tá»° KÃ_Tá»° sẽ chuyển sang má»™t lá»›p shell khác\n" " * werase KÃ_Tá»° KÃ_Tá»° sẽ xóa từ đã gõ cuối cùng\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Thiết lập đặc biệt:\n" " N đặt tốc độ nhập vào và kết xuất thành N baud\n" " * cols N cho hạt nhân biết thiết bị cuối có N cá»™t\n" " * columns N giống như “cols Nâ€\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N đặt tốc độ nhập vào thành N\n" " * line N dùng ká»· luật dòng N\n" " min N vá»›i “-icanonâ€, Ä‘á»c ít nhất N ký tá»± má»—i lần Ä‘á»c\n" " ospeed N đặt tốc độ đưa kết quả ra thành N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N cho nhân biết thiết bị cuối có N dòng\n" " * size in ra số hàng và số cá»™t theo thông tin cá»§a nhân\n" " speed in ra tốc độ cá»§a thiết bị cuối\n" " time N vá»›i “-icanonâ€, đặt thá»i gian chá» Ä‘á»c\n" " thành N phần mưá»i cá»§a má»™t giây\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Thiết lập Ä‘iá»u khiển:\n" " [-]clocal bá» tín hiệu Ä‘iá»u khiển bá»™ Ä‘iá»u giải\n" " [-]cread cho phép nhận dữ liệu vào\n" " * [-]crtscts bật dùng tiến trình bắt tay RTS/CTS\n" " csN đặt kích cỡ ký tá»± thành N bit, N nằm trong [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb dùng hai bit dừng cho má»—i ký tá»± (má»™t vá»›i “-â€)\n" " [-]hup gá»­i tín hiệu treo khi tiến trình cuối cùng đóng tty\n" " [-]hupcl như “[-]hupâ€\n" " [-]parenb tạo bit tương tính chẵn lẻ trong kết quả\n" " và chá» bit tính chẵn lẻ trong dữ liệu vào\n" " [-]parodd đặt tính chẵn lẻ kiểu là lẻ (hoặc đặt “-†thì chẵn)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Thiết lập đầu vào:\n" " [-]brkint sá»± ngắt gây ra má»™t tín hiệu gián Ä‘oạn\n" " [-]icrnl chuyển return thành dòng má»›i\n" " [-]ignbrk bá» qua ký tá»± ngắt\n" " [-]igncr bá» qua return\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar bá» qua các ký tá»± vá»›i lá»—i tính chẵn lẻ\n" " * [-]imaxbel bíp và không làm tràn bá»™ đệm đầu vào đầy khi nhận má»™t ký " "tá»±\n" " [-]inlcr chuyển dòng má»›i thành return\n" " [-]inpck bật dùng kiểm tra tính chẵn lẻ đầu vào\n" " [-]istrip gá»™t bit cao (thứ 8) cá»§a các ký tá»± nhập vào\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 coi như các ký tá»± đưa vào được mã hóa UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc chuyển ký tá»± viết hoa thành viết thưá»ng\n" " * [-]ixany bất kỳ ký tá»± nào không chỉ ký tá»± khởi động cÅ©ng chạy lại " "đầu vào\n" " [-]ixoff bật dùng việc gá»­i ký tá»± chạy/dừng\n" " [-]ixon bật dùng Ä‘iá»u khiển luồng XON/XOFF\n" " [-]parmrk đánh dấu lá»—i tính chẵn lẻ (vá»›i má»™t dãy 255-0 ký tá»±)\n" " [-]tandem giống như “[-]ixoffâ€\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Thiết lập đầu ra:\n" " * bsN kiểu trì hoãn cá»§a xóa lùi, N nằm trong [0..1]\n" " * crN kiểu trì hoãn cá»§a return, N nằm trong [0..3]\n" " * ffN kiểu trì hoãn cá»§a thụt dòng, N nằm trong [0..1]\n" " * nlN kiểu trì hoãn cá»§a dòng má»›i, N nằm trong [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl chuyển return thành dòng má»›i\n" " * [-]ofdel dùng các ký tá»± xóa để làm đầy thay cho các ký tá»± rá»—ng\n" " * [-]ofill dùng các ký tá»± làm đầy (độn thêm) thay cho thá»i gian trì " "hoãn\n" " * [-]olcuc chuyển ký tá»± viết thưá»ng thành viết hoa\n" " * [-]onlcr chuyển dòng má»›i thành return-dòng má»›i\n" " * [-]onlret dòng má»›i tạo ra má»™t return\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr không in ra return trong cá»™t đầu tiên\n" " [-]opost xá»­ lý cuối cùng kết quả\n" " * tabN kiểu trì hoãn cá»§a tab ngang, N nằm trong [0..3]\n" " * tabs giống như “tab0â€\n" " * -tabs giống như “tab3â€\n" " * vtN kiểu trì hoãn cá»§a tab dá»c, N nằm trong [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Thiết lập ná»™i bá»™:\n" " [-]crterase đưa ra ký tá»± xóa như backspace-space-backspace\n" " * crtkill diệt toàn dòng theo thiết lập echoprt và echoe\n" " * -crtkill diệt toàn dòng theo thiết lập echoctl và echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho đưa ra ký tá»± control ở dạng mÅ© (“^câ€)\n" " [-]echo đưa ra ký tá»± nhập vào\n" " * [-]echoctl giống như “[-]ctlechoâ€\n" " [-]echoe giống như “[-]crteraseâ€\n" " [-]echok đưa ra má»™t dòng má»›i sau má»™t ký tá»± diệt\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke giống như “[-]crtkillâ€\n" " [-]echonl đưa ra má»™t dòng má»›i thậm chí nếu không đưa ra ký tá»± khác\n" " * [-]echoprt đưa ra ngược lại ký tá»± bị xóa, giữa “\\†và “/â€\n" " [-]icanon bật dùng các ký tá»± đặc biệt xóa, diệt, werase, và rprnt\n" " [-]iexten bật dùng các ký tá»± đặc biệt không phải POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig bật dùng các ký tá»± đặc ngắt, thoát, và ngưng\n" " [-]noflsh tắt bá» làm tràn sau các ký tá»± đặc biệt gián Ä‘oạn và thoát\n" " * [-]prterase giống như “[-]echoprtâ€\n" " * [-]tostop dừng các công việc ná»n mà thá»­ ghi vào thiết bị cuối\n" " * [-]xcase vá»›i “icanonâ€, thoát vá»›i “\\†cho các ký tá»± viết hoa\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Thiết lập tổ hợp:\n" " * [-]LCASE giống như “[-]lcaseâ€\n" " cbreak giống như “-icanonâ€\n" " -cbreak giống như “icanonâ€\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked giống như “brkint ignpar istrip icrnl ixon opost isig " "icanonâ€\n" " các ký tá»± eof và eol tá»›i giá trị mặc định cá»§a chúng\n" " -cooked giống như “rawâ€\n" " crt giống như “echoe echoctl echokeâ€\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec giống như\n" " “echoe echoctl echoke -ixany intr ^c erase 0177 kill ^uâ€\n" " * [-]decctlq giống như “[-]ixanyâ€\n" " ek các ký tá»± xóa và diệt tá»›i giá trị mặc định cá»§a chúng\n" " evenp giống như “parenb -parodd cs7â€\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp giống như “-parenb cs8â€\n" " * [-]lcase giống như “xcase iuclc olcucâ€\n" " litout giống như “-parenb -istrip -opost cs8â€\n" " -litout giống như “parenb istrip opost cs7â€\n" " nl giống như “-icrnl -onlcrâ€\n" " -nl giống như “icrnl -inlcr -igncr onlcr -ocrnl -onlretâ€\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp giống như “parenb parodd cs7â€\n" " -oddp giống như “-parenb cs8â€\n" " [-]parity giống như “[-]evenpâ€\n" " pass8 giống như “-parenb -istrip cs8â€\n" " -pass8 giống như “parenb istrip cs7â€\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw giống như\n" " “-ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0â€\n" " -raw giống như “cookedâ€\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane giống như:\n" " â€cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echokeâ€,\n" " má»—i ký tá»± đặc biệt cÅ©ng có giá trị mặc định\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Äiá»u khiển đưá»ng tty kết nối tá»›i đầu vào tiêu chuẩn. Khi không\n" "có đối số, in ra tốc độ đưá»ng truyá»n baud, ká»· luật đưá»ng truyá»n, và\n" "sá»± lệch hướng khá»i giá trị stty hữu tá»·.\n" "Trong thiết lập KÃ_Tá»° là các chữ cái hoặc mã hoá như ^c, 0x37, 0177 hoặc " "127,\n" "giá trị đặc biệt “^-†hoặc “undef†dùng để tắt bá» các ký tá»± đặc biệt.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "chỉ có thể đưa ra má»™t thiết bị" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "các tùy chá»n cho dạng kết quả chi tiết và dạng có thể Ä‘á»c stty\n" "loại trừ lẫn nhau" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "khi chỉ ra dạng kết quả, không được đặt các chế độ" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: không đặt lại được chế độ non-blocking (không chặn)" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "đối số sai %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "thiếu đối số cho %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "sai ká»· luật cá»§a dòng %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: không thể thá»±c hiện má»i thao tác yêu cầu" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: không có thông tin kích cỡ cho thiết bị này" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "sai đối số kiểu số nguyên %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "In ra tổng kiểm tra và số đếm khối cho má»—i TẬP_TIN.\n" "\n" " -r dùng thuật toán tính tổng BSD, dùng các khối 1K\n" " -s, --sysv dùng thuật toán tính tổng System V, dùng các khối 512 " "byte\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Bắt buá»™c ghi vào đĩa các khối đã thay đổi, cập nhật siêu khối.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "Ä‘ang bá» qua má»i đối số" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "GHI CHÚ: shell cá»§a bạn có thể có lệnh %s riêng cá»§a nó,\n" "mà nó lại thưá»ng có quyá»n cao hÆ¡n lệnh từ gói này.\n" "Hãy tham khảo tài liệu hướng dẫn cá»§a shell\n" "để tìm chi tiết vá» các tùy chá»n được há»— trợ.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help hiển thị trợ giúp này rồi thoát\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version đưa ra thông tin phiên bản rồi thoát\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Các đối số bắt buá»™c phải có vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy chá»n " "ngắn.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "SIZE là số nguyên và các đơn vị tùy chá»nt (ví dụ: 10M là 10*1024*1024). Các " "Ä‘on vị\n" "là K, M, G, T, P, E, Z, Y (số mÅ© cá»§a 1024) hay KB, MB, ... (số mÅ© cá»§a " "1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Giá trị hiển thị theo đơn vị kích Cá»  sẵn có đầu tiên từ “--block-sizeâ€,\n" "và các biến đổi môi trưá»ng %s_BLOCK_SIZE, BLOCK_SIZE và BLOCKSIZE.\n" "Không thì đơn vị mặc định là 1024 byte (hoặc 512 nếu đặt POSIXLY_CORRECT).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Thông báo lá»—i “%s†cho <%s>\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Hãy thông báo lá»—i dịch “%s†cho <http://translationproject.org/team/vi." "html>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Äể xem tài liệu hướng dẫn đầy đủ, hãy Ä‘á»c: info coreutils \"%s invocation\"\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Hãy thá»­ lệnh “%s --help†(trợ giúp) để biết thêm thông tin.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "CẢNH BÃO: cấu trúc thư mục vòng quanh.\n" "Gần chắc chắn là hệ thống tập tin đã bị há»ng.\n" "HÃY THÔNG BÃO CHO NGƯỜI QUẢN Là HỆ THá»NG.\n" "Thư mục sau nằm trong vòng quay:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ghi má»—i TẬP_TIN ra đầu ra tiêu chuẩn, in dòng cuối cùng đầu tiên.\n" "Khi không có TẬP_TIN hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before gắn ký tá»± phân chia ở trước thay vì sau\n" " -r, --regex biên dịch ký tá»± phân chia như là biểu thức chính " "quy\n" " -s, --separator=CHUá»–I dùng CHUá»–I làm ký tá»± phân chia thay cho dòng má»›i\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: di chuyển vị trí để Ä‘á»c gặp lá»—i" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "mục ghi quá lá»›n" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "gặp lá»—i khi tạo tập tin tạm trong %s " #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "mở %s để ghi gặp lá»—i" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "Äặt lại dòng dữ liệu cho %s gặp lá»—i" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: lá»—i ghi nhá»›" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "mở %s để Ä‘á»c gặp lá»—i" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "ký tá»± dùng để phân chia không thể là rá»—ng" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "In ra %d dòng cuối cùng cá»§a má»—i TẬP_TIN ra đầu ra tiêu chuẩn.\n" "Khi có vài TẬP_TIN, thì đầu tiên in ra phần đầu cho biết tên tập tin.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K xuất K byte cuối cùng; hoặc dùng “-c +K†để xuất\n" " các byte bắt đầu vá»›i byte thứ K cá»§a má»—i tập tin\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={tên|mô_tả}]\n" " in ra dữ liệu đã nối thêm vào cuối tập tin; “-fâ€,\n" " “--followâ€, và “--follow=mô_tả†là tương đương\n" " -F giống như “--follow=tên --retryâ€\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K xuất K dòng cuối cùng, thay cho %d cuối cùng " "hoặc\n" " dùng “-n +K†để xuất các dòng bắt đầu từ dòng thứ " "K\n" " --max-unchanged-stats=N\n" " vá»›i “--follow=tênâ€, mở lại má»™t FILE không có\n" " kích cỡ thay đổi sau N (mặc định %d) lần lặp lại\n" " để xem nó có bị bá» liên kết hay đổi tên chưa\n" " (đây thưá»ng là trưá»ng hợp các tập tin theo dõi đã\n" " quay vòng). Khi đã có inotify, chức năng này trở\n" " nên không cần thiết.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=Sá» vá»›i “-f†thì chấm dứt sau khi tiến trình Sá» chết\n" " -q, --quiet, --silent không bao giá» xuất phần đầu chỉ ra tên tập tin\n" " --retry cứ thá»­ mở má»™t tập tin nào đó, thậm chí nếu\n" " nó vẫn (hoặc trở thành) không tá»›i được;\n" " có ích khi Ä‘i theo tên, tức là dùng “--" "follow=nameâ€\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N vá»›i “-f†thì ngá»§ trong khoảng N giây\n" " (mặc định 1.0) giữa hai lần lặp lại.\n" " Khi có inotify và --pid=P, kiểm tra\n" " tiến trình P \n" " ít nhất má»™t lần má»—i N giây.\n" " -v, --verbose lúc nào cÅ©ng xuất phần đầu chỉ ra tên tập tin\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Nếu ký tá»± đầu tiên cá»§a K (số byte hoặc số dòng) là má»™t “+â€,\n" "thì in ra đầu tiên vá»›i mục thứ K từ đầu má»—i tập tin,\n" "không thì in K mục cuối cùng trong tập tin.\n" "K có thể có các Ä‘uôi bá»™i số:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, và tương tá»± như thế vá»›i T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Dùng “--follow†(-f) thì tail mặc định theo bá»™ mô tả tập tin.\n" "Có nghÄ©a là ngay cả khi tập tin được tail cÅ©ng bị thay tên, tail cứ theo dõi " "kết thúc cá»§a nó.\n" "Ứng xá»­ mặc định này không có giá trị khi ngưá»i dùng thá»±c sá»± muốn\n" "theo dõi tên thật cá»§a tập tin, chứ không phải bá»™ mô tả tập tin (ví dụ, quay\n" "vòng sổ theo dõi).\n" "Hãy dùng “--follow=tên†trong trưá»ng hợp đó.\n" "Nó khiến tail theo dõi tập tin có tên đưa ra\n" "bằng má»™t cách làm cho thích nghi việc thay tên, gỡ bá» và tạo.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "Ä‘ang đóng %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: không thể di chuyển tá»›i offset tương đối %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: không thể di chuyển vị trí Ä‘á»c tá»›i offset đối vá»›i cuối %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "không thể quyết định vị trí cá»§a %s thì phục hồi việc thăm dò" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "không nhận ra hệ thống tập tin kiểu 0x%08lx cho %s. xin hãy báo cáo Ä‘iá»u này " "cho %s. trở lại để polling" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s đã trở thành không thể truy cập" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s bị thay thế bởi tập tin không thể tail nên đầu hàng vá»›i tên này" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s bị thay thế bằng má»™t tập tin từ xa thì chịu thua vá» tên này" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s đã trở thành có thể truy cập" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s đã xuất hiện; Ä‘i theo cuối cá»§a tập tin má»›i" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s bị thay thế; Ä‘i theo cuối cá»§a tập tin má»›i" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: không thay đổi được chế độ không chặn" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: tập tin đã bị cắt ngắn" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "không còn tập tin nào" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "không thể theo dõi thư mục mẹ cá»§a %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "Dùng hết tài nguyên inotify" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "không thể theo dõi %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "gặp lá»—i khi theo dõi sá»± kiện inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "gặp lá»—i khi Ä‘á»c sá»± kiện inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: không thể Ä‘i theo cuối cá»§a kiểu tập tin này; đầu hàng vá»›i tên này" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "%s chứa má»™t con số quá lá»›n" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: sai số trạng thái không thay đổi tối Ä‘a giữa các lần mở" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: sai PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: sai số giây" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "tùy chá»n dùng theo ngữ cảnh sai -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "cảnh báo: “--retry†thưá»ng có ích khi theo sau theo tên" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "cảnh báo: PID bị bá» qua; “--pid=PID†chỉ có ích khi theo sau" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "cảnh báo: không há»— trợ “--pid=PID†trên hệ thống này" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "không thể theo sau %s theo tên" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" "cảnh báo: không hiệu quả khi theo sau đầu vào tiêu chuẩn má»™t cách không giá»›i " "hạn" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify không dùng được thì phục hồi việc trưng cầu" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Sao chép đầu vào tiêu chuẩn vào má»—i TẬP_TIN, và đồng thá»i vào đầu ra tiêu " "chuẩn.\n" "\n" " -a, --append nối thêm vào các TẬP_TIN chỉ ra, không ghi đè\n" " -i, --ignore-interrupts bá» qua tín hiệu gián Ä‘oạn\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Nếu TẬP_TIN là “-â€, sao chép trở lại đầu ra tiêu chuẩn.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "thiếu đối số ở sau %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "sai số nguyên %s" #: src/test.c:241 msgid "')' expected" msgstr "cần â€)â€" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "cần “)â€, tìm thấy %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: cần toán tá»­ má»™t ngôi" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt không chấp nhận -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef không chấp nhận -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot không chấp nhận -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "toán tá»­ hai ngôi lạ" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: cần toán tá»­ hai ngôi" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Cách dùng: test BIỂU_THỨC\n" " hoặc: test\n" " hoặc: [ BIỂU_THỨC ]\n" " hoặc: [ ]\n" " hoặc: [ TÙY_CHỌN\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Thoát vá»›i trạng thái xác định bởi BIỂU_THỨC.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Theo mặc định, má»™t BIỂU_THỨC bị bá» qua là sai (false).\n" "Không thì BIỂU_THỨC là đúng (true) hoặc sai (false)\n" "và đặt giá trị thoát. Nó là má»™t trong số:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( BIỂU_THỨC ) BIỂU_THỨC là đúng (true)\n" " ! BIỂU_THỨC BIỂU_THỨC là sai (false)\n" " BIỂU_THỨC1 -a BIỂU_THỨC2 cả BIỂU_THỨC1 và BIỂU_THỨC2 Ä‘á»u là đúng " "(true)\n" " BIỂU_THỨC1 -o BIỂU_THỨC2 BIỂU_THỨC1 hoặc BIỂU_THỨC2 là đúng (true)\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n CHUá»–I CHUá»–I có chiá»u dài khác không\n" " CHUá»–I tương đương vá»›i “-n CHUá»–Iâ€\n" " -z CHUá»–I CHUá»–I có chiá»u dài là không\n" " CHUá»–I1 = CHUá»–I2 các chuá»—i bằng nhau\n" " CHUá»–I1 != CHUá»–I2 các chuá»—i khác nhau\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " S.NGUYÊN1 -eq S.NGUYÊN2 S.NGUYÊN1 bằng S.NGUYÊN2\n" " S.NGUYÊN1 -ge S.NGUYÊN2 S.NGUYÊN1 lá»›n hÆ¡n hoặc bằng S.NGUYÊN2\n" " S.NGUYÊN1 -gt S.NGUYÊN2 S.NGUYÊN1 lá»›n hÆ¡n S.NGUYÊN2\n" " S.NGUYÊN1 -le S.NGUYÊN2 S.NGUYÊN1 nhá» hÆ¡n hoặc bằng S.NGUYÊN2\n" " S.NGUYÊN1 -lt S.NGUYÊN2 S.NGUYÊN1 nhá» hÆ¡n S.NGUYÊN2\n" " S.NGUYÊN1 -ne S.NGUYÊN2 S.NGUYÊN1 khác (không bằng) Sá»_NGUYÊN2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " T.TIN1 -ef T.TIN2 T.TIN1 và T.TIN2 có cùng số hiệu thiết bị và inode\n" " T.TIN1 -nt T.TIN2 T.TIN1 má»›i hÆ¡n (theo ngày sá»­a) T.TIN2\n" " T.TIN1 -ot T.TIN2 T.TIN1 cÅ© hÆ¡n T.TIN2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu khối\n" " -c TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu ký tá»±\n" " -d TẬP_TIN TẬP_TIN tồn tại và là thư mục\n" " -e TẬP_TIN TẬP_TIN tồn tại\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f TẬP_TIN TẬP_TIN tồn tại và là má»™t tập tin thông thưá»ng\n" " -g TẬP_TIN TẬP_TIN tồn tại và có đặt ID nhóm (set-group-ID)\n" " -G TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID nhóm hoạt động\n" " -h TẬP_TIN TẬP_TIN tồn tại và là má»™t liên kết má»m (giống như “-Lâ€)\n" " -k TẬP_TIN TẬP_TIN tồn tại và có đặc bit dính (sticky)\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L TẬP_TIN TẬP_TIN tồn tại và là má»™t liên kết má»m (giống như “-hâ€)\n" " -O TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID ngưá»i dùng hoạt động\n" " -p TẬP_TIN TẬP_TIN tồn tại và là má»™t đưá»ng ống có tên\n" " -r TẬP_TIN TẬP_TIN tồn tại và cho phép Ä‘á»c\n" " -s TẬP_TIN TẬP_TIN tồn tại và có kích cỡ lá»›n hÆ¡n không\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S TẬP_TIN TẬP_TIN tồn tại và là má»™t ổ cắm\n" " -t FD mô tả tập tin FD được mở trên má»™t thiết bị cuối\n" " -u TẬP_TIN TẬP_TIN tồn tại và có bit ID ngưá»i dùng đã đặt (set-user-ID)\n" " -w TẬP_TIN TẬP_TIN tồn tại và cho phép ghi\n" " -x TẬP_TIN TẬP_TIN tồn tại và cho phép thá»±c hiện (hoặc tìm kiếm)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Trừ đối vá»›i “-h†và “-Lâ€, má»i thá»­ nghiệm có liên quan đến TẬP_TIN\n" "sẽ bá» tham chiếu cá»§a liên kết má»m.\n" "Cần thoát các dấu ngoặc (ví dụ, bằng gạch ngược) đối trong shell.\n" "Sá»_NGUYÊN có thể đồng thá»i là “-l CHUá»–I†tính chiá»u dài cá»§a CHUá»–I.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "GHI CHÚ: [ tùy theo hai tùy chá»n “--help†(trợ giúp)\n" "và “--version†(phiên bản), còn test (thá»­) không phải.\n" "test xá»­ lý má»—i tùy chá»n này giống như CHUá»–I khác rá»—ng.\n" #: src/test.c:791 msgid "test and/or [" msgstr "thá»­ và/hoặc “[â€" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "thiếu “]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "tham số thêm %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "cảnh báo: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "cảnh báo: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "cảnh báo: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN] THỜI_LƯỢNG LỆNH [Ä.Sá»]...]\n" " or: %s [TÙY_CHỌN]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Khởi chạy LỆNH, và buá»™c kết thúc nó nếu vẫn còn chạy sau THỜI_LƯỢNG.\n" "\n" "Các đối số bắt buá»™c phải sá»­ dụng cùng vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy " "chá»n ngắn.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " Khi không chạy, sẽ bị hết giá» trá»±c tiếp từ shell prompt,\n" " cho phép COMMAND Ä‘á»c tín hiệu từ TTY và nhận TTY.\n" " Trong chế độ này, con cá»§a COMMAND sẽ không bị hết giá».\n" " -k, --kill-after=THỜI_LƯỢNG\n" " cÅ©ng gá»­i má»™t tín hiệu KILL (buá»™c kết thúc) nếu\n" " LỆNH vẫn còn chạy\n" " Trong thá»i lượng này sau khi gá»­i tín hiệu gốc.\n" " -s, --signal=TÃN_HIỆU\n" " ghi rõ tín hiệu cần gá»­i khi quá hạn.\n" " TÃN_HIỆU có thể là má»™t tên như “HUPâ€,\n" " hoặc má»™t con số.\n" " Xem “kill -l†để thấy má»™t danh sách các tín hiệu.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DURATION là má»™t số thá»±c chấm động vá»›i hậu số tùy chá»n:\n" "“s†cho giây (mặc định), “m†cho phút, “h†cho giá» và “d†cho ngày.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Nếu câu lệnh quá hạn thì thoát vá»›i trạng thái 124,\n" "không thì thoát vá»›i trạng thái cá»§a câu lệnh đó.\n" "Không đưa ra tín hiệu thì gá»­i tín hiệu TERM khi quá hạn.\n" "Tín hiệu TERM ép buá»™c kết thúc bất cứ tiến trình nào\n" "không chặn hay bắt tín hiệu đó. Äối vá»›i tiến trình khác,\n" "có thể cần sá»­ dụng tín hiệu KILL (9) vì không thể bắt tín hiệu đó.\n" "Nếu tín hiệu KILL (9) được gá»­i Ä‘i, trạng thái thoát sẽ là 128+9 thay vì " "124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "cảnh báo: tắt core dump gặp lá»—i" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "gặp lá»—i khi đợi câu lệnh" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "lệnh theo dõi đã đổ lõi" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "sai định dạng ngày tháng %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "không sá» (touch) được %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "Ä‘ang đặt thá»i gian cá»§a %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Cập nhật các thá»i gian truy cập và sá»­a đổi cá»§a má»—i TẬP_TIN\n" "lên thá»i gian hiện tại.\n" "\n" "Äối số TẬP_TIN không tồn tại thì được tạo trống,\n" "nếu không đựa ra “-c†hay “-hâ€.\n" "\n" "Chuá»—i đối số TẬP_TIN “-†được xá»­ lý đặc biệt và gây ra tiến trình\n" "touch thay đổi các thá»i gian cá»§a tập tin liên quan đến đầu ra tiêu chuẩn.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a chỉ thay đổi thá»i gian truy cập\n" " -c, --no-create không tạo tập tin nào\n" " -d, --date=CHUá»–I phân tích cú pháp cá»§a CHUá»–I và dùng nó thay cho " "thá»i gian hiện tại\n" " -f (bị bá» qua)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference ảnh hưởng má»—i liên kết má»m chứ không ảnh hưởng tập " "tin tin\n" " đích (chỉ có tác dụng trên hệ thống có thể thay " "đổi\n" " quyá»n sở hữu cá»§a má»™t liên kết má»m)\n" " -m thay đổi chỉ thá»i gian sá»­a đổi\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=TẬP_TIN dùng thá»i gian cá»§a tập tin này thay cho thá»i\n" " gian hiện thá»i\n" " -t TEM dùng [[CC]YY]MMDDhhmm[.ss] thay cho thá»i gian hiện " "tại\n" " --time=TỪ thay đổi thá»i gian chỉ ra:\n" " TỪ là access, atime, hoặc use: tương đương vá»›i “-" "aâ€\n" " TỪ là modify hoặc mtime: tương đương vá»›i “-mâ€\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Ghi chú rằng hai tùy chá»n “-d†và “-t†chấp nhận\n" "định dạng ngày/giá» khác nhau.\n" "\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "không chỉ ra được thá»i gian từ vài nguồn" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "cảnh báo: “touch %s†là cách cÅ©; hãy dùng â€touch -t %04ld%02d%02d%02d%02d." "%02dâ€" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_HỢP1 [TẬP_HỢP2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Chuyển đổi, vắt, và/hoặc xóa các ký tá»± từ đầu vào tiêu chuẩn,\n" "ghi ra đầu ra tiêu chuẩn.\n" "\n" " -c, -C, --complement dùng phần bù cá»§a TẬP_HỢP1\n" " -d, --delete xóa các ký tá»± trong TẬP_HỢP1, không chuyển đổi\n" " -s, --squeeze-repeats thay thế má»—i dãy đưa vào cá»§a má»™t ký tá»± lặp\n" " liệt kê trong TẬP_HỢP1 bằng lần xuất hiện đơn\n" " cá»§a ký tá»± đó\n" " -t, --truncate-set1 đầu tiên xén TẬP_HỢP1 thành chiá»u dài cá»§a " "TẬP_HỢP2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "TẬP_HỢP là chuá»—i các ký tá»±. Hầu hết tập hợp tá»± đại diện.\n" "Các chuá»—i được biên dịch là:\n" "\n" " \\NNN ký tá»± vá»›i giá trị bát phân NNN (1 tá»›i 3 chữ số)\n" " \\\\ gạch ngược\n" " \\a tiếng chuông BEL nghe rõ\n" " \\b xóa lùi\n" " \\f thụt dòng\n" " \\n dòng má»›i\n" " \\r return\n" " \\t tab ngang\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tab đứng\n" " KÃ_Tá»°1-KÃ_Tá»°2 má»i ký tá»± từ KÃ_Tá»°1 đến KÃ_Tá»°2 theo thứ tá»± tăng dần\n" " [KÃ_Tá»°*] trong TẬP_HỢP2, sao chép KÃ_Tá»° tá»›i chiá»u dài cá»§a TẬP_HỢP1\n" " [KÃ_Tá»°*REPEAT] LẶP LẠI sao chép cá»§a KÃ_Tá»°, LẶP LẠI bát phân nếu bằt đầu " "từ 0\n" " [:alnum:] má»i chữ cái và chữ số\n" " [:alpha:] má»i chữ cái\n" " [:blank:] má»i khoảng trắng nằm ngang\n" " [:cntrl:] má»i ký tá»± Ä‘iá»u khiển\n" " [:digit:] má»i chữ số\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] má»i ký tá»± có thể in, trừ khoảng trắng\n" " [:lower:] má»i chữ cái viết thưá»ng\n" " [:print:] má»i ký tá»± có thể in, lấy cả khoảng trắng\n" " [:punct:] má»i ký tá»± chấm câu\n" " [:space:] má»i khoảng trắng nằm ngang hoặc đứng\n" " [:upper:] má»i chữ cái viết hoa\n" " [:xdigit:] má»i chữ số thập lục\n" " [=KÃ_Tá»°=] má»i ký tá»± tương đương vá»›i KÃ_Tá»°\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Sá»± chuyển đổi xảy ra nếu không đưa ra tùy chá»n “-dâ€\n" "và cả hai TẬP_HỢP1 và TẬP_HỢP2 xuất hiện.\n" "Tùy chá»n “-t†chỉ có thể đưa ra khi chuyển đổi.\n" "TẬP_HỢP2 kéo dài thành chiá»u dài cá»§a TẬP_HỢP1\n" "bằng cách lặp lại ký tá»± cuối cùng theo yêu cầu.\n" "Ký tá»± thừa trong TẬP_HỢP2 vẫn bị bá» qua.\n" "Chỉ đảm bảo rằng [:lower:] và [:upper:] sẽ mở rá»™ng\n" "theo thứ tá»± tăng dần; dùng trong TẬP_HỢP2 khi chuyển đổi,\n" "thì chỉ có thể sá»­ dụng chúng theo cặp\n" "để ghi rõ cách chuyển đổi chữ hoa/thưá»ng.\n" "Tùy chá»n “-s†dùng TẬP_HỢP1\n" "nếu không chuyển đổi và cÅ©ng không xóa;\n" "có thì chức năng vắt dùng TẬP_HỢP2 và xảy ra\n" "đằng sau việc chuyển đổi hay xóa.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "cảnh báo: dãy thoát bát phân chưa rõ ràng “\\%c%c%câ€\n" "Ä‘ang được biên dịch như dãy 2 byte \\0%c%c, “%câ€" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "cảnh báo: không thể mang được dấu gạch ngược chưa thoát ở kết thúc chuá»—i" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "các Ä‘iểm cuối phạm vi cá»§a “%s-%s†đang ở trong thứ tá»± dãy ngược lại" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "sai số đếm lặp %s trong cấu trúc “[c*n]â€" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "thiếu tên lá»›p cá»§a ký tá»± “[::]â€" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "thiếu ký tá»± lá»›p tương đương “[==]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "sai hạng ký tá»± %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: toán hạng hạng tương đương phải là má»™t ký tá»± đơn" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "sắp hàng sai cấu trúc “[:upper:]†và/hoặc “[:lower:]â€" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "quá nhiá»u ký tá»± trong tập hợp" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "khi dịch string1 dài hÆ¡n string2,\n" "chuá»—i thứ 2 không được kết thúc bằng má»™t lá»›p ký tá»±" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "cấu trúc lặp “[c*]†không được có trong chuá»—i1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "chỉ má»™t cấu trúc lặp “[c*]†có thể nằm trong chuá»—i2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "biểu thức “[=c=]†không được có trong chuá»—i2 khi chuyển đổi" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "khi chuyển đổi, chỉ các lá»›p ký tá»± có cái mà xuất hiện trong\n" "chuá»—i2 là “upper†và “lowerâ€" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "khi không cắt ngắn tập_hợp1, chuá»—i2 phải không rá»—ng" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "khi chuyển đổi vá»›i các hạng ký tá»± bù,\n" "chuá»—i2 phải ánh xạ tá»›i má»™t má»i ký tá»± trong miá»n" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "cấu trúc “[c*]†chỉ có thể nằm trong chuá»—i2 khi chuyển đổi" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "Chỉ được đưa ra hai chuá»—i khi làm cả hai việc xóa và vắt việc lặp lại." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Phải đưa ra hai chuá»—i khi chuyển đổi." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "Chỉ được đưa ra má»™t chuá»—i khi xóa mà không vắt việc lặp lại." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s [các đối số dòng lệnh bị bá» qua]\n" " hoặc: %s TÙY_CHỌN\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Thoát vá»›i mã trạng thái thành công." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Thoát vá»›i mã trạng thái thất bại." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Cách dùng: %s TÙY_CHỌN... TẬP_TIN...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Thu nhá» hoặc mở rá»™ng kích cỡ cá»§a má»—i TẬP_TIN thành kích cỡ đưa ra.\n" "\n" "Má»™t đối số TẬP_TIN chưa tồn tại thì được tạo.\n" "\n" "Nếu má»™t tập tin nào đó vẫn lá»›n hÆ¡n kích cỡ đưa ra thì dữ liệu thừa bị mất.\n" "Nếu má»™t tập tin nào đó vẫn nhá» hÆ¡n thì nó được mở rá»™ng\n" "và phần mở rá»™ng (lá»—) được Ä‘á»c là số không byte.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create không tạo tập tin nào\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks tính kích Cá»  là má»™t số khối VR thay cho các byte\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=TẬP-TIN-TC dá»±a trên cỡ cá»§a tập tin dùng để tham chiếu\n" " -s, --size=SIZE đặt hoặc Ä‘iá»u chỉnh cỡ tập tin bằng SIZE\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "Kích Cá»  cÅ©ng có thể theo sau má»™t cá»§a những ký tá»± sá»­a đổi này:\n" "â€+†tăng theo, â€-†giảm theo, â€<†nhiá»u nhất, â€>†ít nhất\n" "â€/†làm tròn xuống bá»™i số cho, †%†làm tròn lên bá»™i số cho\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "tràn các khối byte %<PRIdMAX> * %<PRIdMAX> cho tập tin %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s có kích cỡ vô ích có vẻ là âm" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "không lấy được cỡ cá»§a %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "tràn việc làm tròn kích cỡ tập tin %s lên" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "tràn việc mở rá»™ng kích cỡ cá»§a tập tin %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "không cắt được %s ở byte thứ %<PRIdMAX> " #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "đã chỉ ra nhiá»u ký tá»± sá»­a đổi tương ứng" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "bạn phải chỉ định %s hoặc %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "phải phải chỉ định mối quan hệ giữa %s và %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s đưa ra còn %s không phải" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "không mở được %s để ghi" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]\n" "Ghi danh sách đã sắp xếp hoàn toàn mà thích hợp\n" "vá»›i sá»± sắp xếp má»™t phần trong TẬP_TIN.\n" "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: dữ liệu vào chứa má»™t số lẻ các hiệu bài" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: dữ liệu vào chứa má»™t vòng lặp:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "In ra tên tập tin cá»§a thiết bị cuối đã kết nối vá»›i đầu vào tiêu chuẩn.\n" "\n" " -s, --silent, --quiet không in gì, chỉ trả lại trạng thái thoát\n" #: src/tty.c:120 msgid "not a tty" msgstr "không phải má»™t tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "In ra má»™t số thông tin vá» hệ thống. Không có TÙY_CHỌN thì giống như “-sâ€.\n" "\n" " -a, --all in ra má»i thông tin, theo thứ tá»± sau,\n" " bá» Ä‘i “-p†và “-i†nếu không biết:\n" " -s, --kernel-name in ra tên nhân\n" " -n, --nodename in ra tên máy cá»§a nút mạng\n" " -r, --kernel-release in ra bản phát hành nhân\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version in ra phiên bản nhân\n" " -m, --machine in ra tên phần cứng cá»§a máy tính\n" " -p, --processor in ra kiểu cá»§a bá»™ xá»­ lý, hoặc \"không rõ\"\n" " -i, --hardware-platform in ra tên kiến trúc phần cứng, hoặc \"không rõ\"\n" " -o, --operating-system in ra tên hệ Ä‘iá»u hành\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "In ra kiến trúc cá»§a máy.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "không lấy được tên hệ thống" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Chuyển thành tab khoảng trắng trong má»—i TẬP_TIN, ghi ra đầu ra tiêu chuẩn.\n" "Khi không có TẬP_TIN hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all chuyển đổi má»i khoảng trắng,\n" " thay vì chỉ những khoảng trắng đầu tiên\n" " --first-only chỉ chuyển đổi những dãy khoảng trắng đầu tiên\n" " (bá» qua “-aâ€)\n" " -t, --tabs=N tab có N ký tá»± thay vì 8 (bật dùng “-aâ€)\n" " -t, --tabs=DANH_SÃCH dùng DANH_SÃCH các vị trí tab định giá»›i bằng dấu " "phẩy\n" " (bật “-aâ€)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tab phân cách nhau quá xa" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "chiá»u dài tab là quá lá»›n" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [VÀO [RA]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Lá»c các dòng ká» nhau tương ứng từ VÀO (hoặc đầu vào tiêu chuẩn).\n" "cÅ©ng ghi vào RA (hoặc đầu ra tiêu chuẩn).\n" "\n" "Không có tùy chá»n thì các dòng tương ứng được gá»™p lại đối vá»›i lần gặp thứ " "nhất.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count thêm vào trước các dòng số lần lặp lại cá»§a chúng\n" " -d, --repeated chỉ in những dòng lặp lại\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=phương_pháp_định_giá»›i]\n" " in má»i dòng trùng\n" " phương_pháp_định_giá»›i là:\n" " * none không có (mặc định)\n" " * prepend thêm vào trước\n" " * separate phân cách\n" " Có định giá»›i bằng dòng trắng.\n" " -f, --skip-fields=N không so sánh N trưá»ng đầu tiên\n" " -i, --ignore-case không phân biệt chữ hoa/thưá»ng khi so sánh\n" " -s, --skip-chars=N không so sánh N ký tá»± đầu tiên\n" " -u, --unique chỉ in má»—i dòng duy nhất\n" " -z, --zero-terminated kết thúc dòng vá»›i 0 byte,\n" " không phải ký tá»± dòng má»›i\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N so sánh nhiá»u nhất N ký tá»± trên dòng\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Má»™t trưá»ng là má»™t chuá»—i các khoảng trắng (thưá»ng là dấu cách\n" "và/hay khoảng TAB), rồi các ký tá»± không trắng.\n" "Bá» qua các trưá»ng trước khi các ký tá»±.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Ghi chú: “uniq†không phát hiện dòng lặp lại nếu chúng không ká» nhau.\n" "Trước tiên có lẽ bạn muốn sắp xếp kết xuất, hoặc dùng “sort -u†không có " "â€uniqâ€.\n" "HÆ¡n nữa, sá»± so sánh tùy theo quy tắc cá»§a “LC_COLLATEâ€.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "quá nhiá»u dòng lặp lại" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "sai số trưá»ng cần bá» qua" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "sai số byte cần bá» qua" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "sai số byte cần so sánh" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "in ra má»i dòng trùng và số đếm lặp lại là không có ý nghÄ©a" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s TẬP_TIN\n" " hoặc: %s TÙY_CHỌN\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Gá»i hàm “unlink†để xóa TẬP_TIN chỉ ra.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "không thể há»§y liên kết %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "không lấy được thá»i gian khởi động" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "chạy ???? ngày ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "chạy %ld ngày %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "chạy %ld ngày %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu ngưá»i dùng" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", mức tải trung bình: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "In ra thá»i gian hiện tại, thá»i gian hệ thống đã chạy liên tục,\n" "số ngưá»i dùng trên hệ thống, và số trung bình các công việc\n" "trong hàng đợi chạy trong 1, 5 và 15 phút cuối cùng." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Các tiến trình Ä‘ang ngá»§\n" "không gián Ä‘oạn được thì cÅ©ng được tính trong trá»ng tải trung bình.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Nếu không đưa ra TẬP_TIN, thì sá»­ dụng %s.\n" "%s được dùng như là TẬP_TIN chung.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Cho biết hiện thá»i ai đã đăng nhập theo TẬP_TIN.\n" "Nếu không đưa ra TẬP_TIN, thì sá»­ dụng %s.\n" "%s là TẬP_TIN chung.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "In số dòng má»›i, từ, và byte cá»§a má»—i FILE, và tổng số dòng\n" "cÅ©ng in dòng tổng số riêng nếu chỉ ra nhiá»u FILE.\n" "Khi không có FILE, hoặc khi FILE là “-â€,\n" "Ä‘á»c đầu vào tiêu chuẩn.\n" "Má»™t từ là má»™t dãy ký tá»± định giá»›i bằng khoảng trắng\n" "mà không có chiá»u dài số không.\n" "Có thể dùng má»™t trong các hoặc nhiá»u các tùy chá»n dưới đây để in số đếm, \n" "theo thứ tá»± sau: dòng má»›i, từ, ký tá»±, byte, độ dài dòng lá»›n nhất.\n" " -c, --bytes in số đếm byte\n" " -m, --chars in số đếm ký tá»±\n" " -l, --lines in số đếm dòng má»›i\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F Ä‘á»c dữ liệu vào từ những tập tin chỉ ra bởi\n" " các tập tin chấm dứt rá»—ng (NUL) trong tập tin F\n" " Nếu F là “-†thì Ä‘á»c các tên từ đầu vào tiêu chuẩn\n" " -L, --max-line-length in chiá»u dài cá»§a dòng dài nhất\n" " -w, --words in các số đếm từ\n" #: src/who.c:210 msgid " old " msgstr " cÅ© " #: src/who.c:440 msgid "system boot" msgstr "hệ thống khởi động" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "thoát=" #: src/who.c:485 msgid "LOGIN" msgstr "ÄÄ‚NG_NHẬP" #: src/who.c:505 msgid "clock change" msgstr "thay đổi giá»" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "mức-chạy" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "cuối=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# ngưá»i dùng=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "TÊN" #: src/who.c:559 msgid "LINE" msgstr "ÄÆ¯á»œNG" #: src/who.c:559 msgid "TIME" msgstr "GIỜ" #: src/who.c:559 msgid "IDLE" msgstr "NGHỈ" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "CHÚ_THÃCH" #: src/who.c:560 msgid "EXIT" msgstr "THOÃT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Cách dùng: %s [TÙY_CHỌN]... [ TẬP_TIN | Ä.Sá»1 Ä.Sá»2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "In ra thông tin vá» những ngưá»i dùng chưa đăng xuất.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all giống như “-b -d --login -p -r -t -T -uâ€\n" " -b, --boot thá»i gian cá»§a lần khởi động cuối\n" " -d, --dead in ra các tiến trình chết\n" " -H, --heading in dòng chứa các tiêu đỠcá»§a cá»™t\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login in ra các tiến trình đăng nhập cá»§a hệ thống\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup cố làm hợp tiêu chuẩn tên máy qua DNS\n" " -m chỉ tên máy và ngưá»i dùng kết hợp vá»›i đầu vào tiêu " "chuẩn\n" " -p, --process in các tiến trình hoạt động sinh ra bởi init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count má»i tên đăng nhập và số ngưá»i dùng đã đăng nhập\n" " -r, --runlevel in bậc chạy (runlevel) hiện thá»i\n" " -s, --short chỉ in tên, dòng và thá»i gian (mặc định)\n" " -t, --time in sá»± thay đổi đồng hồ hệ thống cuối cùng\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg thêm trạng thái thư cá»§a ngưá»i dùng như “+â€, “-†hoặc " "â€?â€\n" " -u, --users liệt kê những ngưá»i dùng đã đăng nhập\n" " --message giống như “-Tâ€\n" " --writable giống như “-Tâ€\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Nếu không chỉ ra TẬP_TIN, sá»­ dụng %s . %s như là TẬP_TIN chung.\n" "Nếu đưa ra Ä.Sá»1 Ä.Sá»2, giả sá»­ “-mâ€: thưá»ng là “am i†hoặc “mom likesâ€.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "In ra tên ngưá»i dùng tương ứng vá»›i ID ngưá»i dùng hiện thá»i hoạt động.\n" "Giống như “id -unâ€.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: không tìm thấy tên cho ID ngưá»i dùng %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Cách dùng: %s [CHUá»–I]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "In lặp lại má»™t dòng vá»›i tất cả CHUá»–I chỉ ra, hoặc “yâ€.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "Ä‘ang sá»­ dụng chức năng sá»± tính chính xác đơn" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "Ä‘ang sá»­ dụng chức năng sá»± tính chính xác tùy ý" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "Ä‘ang tạo tập tin %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Cách dùng: %s [TÙY-CHỌN] TÊN...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: sai chiá»u dài hậu tố" #~ msgid "reading %s" #~ msgstr "Ä‘á»c %s" #~ msgid "writing %s" #~ msgstr "ghi %s" #~ msgid "closing %s" #~ msgstr "đóng %s" #~ msgid "accessing %s" #~ msgstr "truy cập %s" #~ msgid "opening %s" #~ msgstr "Ä‘ang mở %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system bá» qua thư mục trên hệ thống tập tin khác\n" #~ " -X, --exclude-from=FILE bá» những tập tin tương ứng vá»›i mẫu trong FILE\n" #~ " --exclude=PATTERN bá» những tập tin tương ứng vá»›i PATTERN\n" #~ " --max-depth=N in ra tổng số cho má»™t thư mục (hoặc tập tin, vá»›i " #~ "â€--allâ€)\n" #~ " chỉ nếu nó nằm ≤ N bậc dưới đối số dòng lệnh;\n" #~ " “--max-depth=0†là tương tá»± như “--summarizeâ€\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off không bao giá» tạo bản sao lưu (dù có đưa ra --backup)\n" #~ " numbered, t tạo các bản sao lưu đã đánh số\n" #~ " existing, nil đánh số nếu có bản sao lưu đánh số, nếu không thì dùng " #~ "dạng đơn giản\n" #~ " simple, never luôn luôn tạo sao lưu dạng đơn giản\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "CẢNH BÃO: “--page-increment†bị phản đối, nên thay thế bằng “--line-" #~ "incrementâ€" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Má»i đối số dùng cùng vá»›i tùy chá»n dài thì cÅ©ng bắt buá»™c vá»›i tùy chá»n " #~ "ngắn.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "CÆ  Sá»:\n" #~ " d thập lục\n" #~ " o bát phân\n" #~ " x thập lục\n" #~ " n không có\n" #~ "BYTES:\n" #~ "có tiá»n tố số\n" #~ " 0x hoặc 0X thập lục\n" #~ "có hậu tố bá»™i số\n" #~ " b 512\n" #~ " kB 1000\n" #~ " K 1024\n" #~ " MB 1000*1000\n" #~ " M 1024*1024\n" #~ " GB 1000*1000*1000\n" #~ " G 1024*1024*1024\n" #~ "v.v. cho T, P, E, Z, Y.\n" #~ "Má»™t hậu tố Ä‘uôi z trong bất kỳ dạng nào thêm các ký tá»± có thể in ra\n" #~ "vào cuối má»—i dòng kết quả.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "â€--string†không kèm theo số ngầm hiểu là 3.\n" #~ "â€--width†không kèm theo số ngầm hiểu là 32.\n" #~ "Theo mặc định, “od†sá»­ dụng “-A o -t oS -w16â€.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN\n" #~ msgid "Password:" #~ msgstr "Mật khẩu:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: không mở được “/dev/ttyâ€" #~ msgid "cannot set groups" #~ msgstr "không đặt được các nhóm" #~ msgid "cannot set group id" #~ msgstr "không đặt được ID nhóm" #~ msgid "cannot set user id" #~ msgstr "không đặt được ID ngưá»i dùng" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Cách dùng: %s [TÙY_CHỌN]... [-] [NGƯỜI_DÙNG [Ä.Sá»]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Thay đổi id ngưá»i dùng và id nhóm hoạt động thành cá»§a NGƯỜIDÙNG.\n" #~ "\n" #~ " -, -l, --login khiến shell thành shell đăng nhập\n" #~ " -c, --command=LỆNH đưa má»™t câu LỆNH đơn tá»›i shell vá»›i “-câ€\n" #~ " -f, --fast đưa “-f†tá»›i shell (cho csh hoặc tcsh)\n" #~ " -m, --preserve-environment không đặt lại các biến môi trưá»ng\n" #~ " -p giống như “-mâ€\n" #~ " -s, --shell=TRÃŒNH_BAO chạy TRÃŒNH_BAO nếu “/etc/shells†cho phép\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Má»™t “-†ý nói “-lâ€. Nếu không đưa ra NGƯỜI_DÙNG, thì coi như ngưá»i chá»§ " #~ "(root).\n" #~ msgid "user %s does not exist" #~ msgstr "ngưá»i dùng %s không tồn tại" #~ msgid "incorrect password" #~ msgstr "sai mật khẩu" #~ msgid "using restricted shell %s" #~ msgstr "sá»­ dụng shell bị giá»›i hạn %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "cảnh báo: không thể chuyển đổi thư mục sang %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output `sort'.\n" #~ " %s include/stdio.h .h Output `stdio'.\n" #~ msgstr "" #~ "\n" #~ "Ví dụ:\n" #~ " %s /usr/bin/sort Xuất “sortâ€.\n" #~ " %s include/stdio.h .h Xuất “stdioâ€.\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Cách dùng: %s TÊN\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "--relative-base yêu cầu --relative-to" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Thay đổi nhóm cá»§a má»—i TẬP_TIN thành NHÓM.\n" #~ "Khi có “--referenceâ€, thay đổi nhóm cá»§a má»—i TẬP_TIN thành nhóm cá»§a " #~ "TẬP_TIN_TC.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ thông báo khi có thay " #~ "đổi\n" #~ " --dereference ảnh hưởng đích đến cá»§a má»—i liên kết má»m\n" #~ " (mặc định), chứ không ảnh hưởng bản thân nó\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet bá» qua phần lá»›n các thông báo lá»—i\n" #~ " --reference=TẬP_TIN_TC sá»­ dụng nhóm cá»§a TẬP_TIN_TC\n" #~ " thay cho giá trị NHÓM chỉ ra\n" #~ " -R, --recursive thá»±c hiện đệ quy trên tập tin và thư mục\n" #~ " -v, --verbose đưa ra thông tin chuẩn Ä‘oán cho má»i tập tin\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Thay đổi chế độ cá»§a má»—i TẬP_TIN thành CHẾ_ÄỘ.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ báo cáo khi có thay " #~ "đổi\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root không coi “/†là đặc biệt (mặc định)\n" #~ " --preserve-root không thao tác đệ quy trên “/â€\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet bá» qua phần lá»›n các thông báo lá»—i\n" #~ " -v, --verbose đưa ra thông tin chuẩn Ä‘oán cho má»i tập tin " #~ "được xá»­ lý\n" #~ " --reference=TẬP_TIN_TC dùng chế độ cá»§a TẬP_TIN_TC thay cho " #~ "CHẾ_ÄỘ\n" #~ " -R, --recursive thá»±c hiện đệ quy trên tập tin và thư mục\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Thay đổi ngưá»i sở hữu và/hoặc nhóm cá»§a má»—i TẬP_TIN thành NGƯỜI_SỞ_Há»®U và/" #~ "hoặc\n" #~ "NHÓM. Vá»›i “--referenceâ€, thay đổi ngưá»i sở hữu và nhóm cá»§a má»—i TẬP_TIN " #~ "thành\n" #~ "như TẬP_TIN_TC.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ báo cáo khi có thay đổi\n" #~ " --dereference ảnh hưởng đích đến cá»§a má»—i liên kết má»m\n" #~ " (mặc định), chứ không ảnh hưởng bản thân nó\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet bá» qua phần lá»›n các thông báo lá»—i\n" #~ " --reference=TẬP_TIN_TC dùng ngưá»i sở hữu và nhóm cá»§a TẬP_TIN_TC " #~ "thay\n" #~ " cho giá trị CHỦ_SỞ_Há»®U:NHÓM chỉ ra\n" #~ " -R, --recursive thá»±c hiện đệ quy trên tập tin và thư mục\n" #~ " -v, --verbose đưa ra thông tin chuẩn Ä‘oán cho má»i tập tin được " #~ "xá»­ lý\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Hiển thị thá»i gian hiện thá»i trong ÄỊNH_DẠNG đưa ra, hoặc đặt ngày cá»§a hệ " #~ "thống.\n" #~ "\n" #~ " -d, --date=CHUá»–I hiển thị thá»i gian theo CHUá»–I, không phải " #~ "“nowâ€\n" #~ " -f, --file=TẬP_TIN_NGÀY giống “--date†má»™t lần cho má»—i dòng cá»§a " #~ "TẬP_TIN_NGÀY\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "Cá»  có thể là (hoặc có thể là số nguyên Ä‘i trước) má»™t trong:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, và tương tá»± vá»›i G, T, P, E, " #~ "Z, Y.\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "truncating %s" #~ msgstr "Ä‘ang cắt ngắn %s" #~ msgid "cannot create link %s" #~ msgstr "không tạo được liên kết %s" #~ msgid "invalid format precision" #~ msgstr "định dạng độ chính xác sai" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "CẢNH BÃO: “--preserve_context†bị phản đối, nên thay thế bằng “--preserve-" #~ "contextâ€" #~ msgid "creating symbolic link %s" #~ msgstr "Ä‘ang tạo liên kết má»m %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Ä‘ang tạo liên kết má»m %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "Ä‘ang tạo liên kết cứng %s" #~ msgid "creating hard link %s => %s" #~ msgstr "Ä‘ang tạo liên kết cứng %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "toán hạng thừa %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "đơn vị có cả hai tiá»n tố SI và IEC" #~ msgid "invalid number of lines: 0" #~ msgstr "sai số dòng: 0" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "tùy chá»n “--context†(-Z) quá cÅ©\n" #~ "và sẽ bị gỡ bá» trong má»™t phiên bản sau" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "cảnh báo: tùy chá»n “--%s†quá cÅ©, hãy dùng “--referenceâ€" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Ghi chú rằng hai tùy chá»n “-r†và “-s†loại từ lẫn nhau.\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/eo.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001214540�12107204506�011733� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Esperanto translations for GNU coreutils. # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Eta klarigo pri la stilo de la tradukoj: # La mesaÄo kiu priskribas komandon uzas prezenton (-as); # la priskriboj de opcioj uzas infinitivon (-i); # kaj ordonoj al la uzanto uzas imperativon (-u). # # To get myself started, in September 2010 I downloaded the coreutils_eo.po # file from Launchpad. Since then the messages have been edited so much, # that only a few of the original phrases remain unmodified. To note: just # a handful from Aisano, Goren, and Kristjan Schmidt. -- Benno # # "Mai liber, mai sănătos, mai bogat." # # Benno Schulenberg <benno@vertaalt.nl>, 2011, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: coreutils-8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-01-01 15:51+0100\n" "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Lokalize 1.0\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "nevalida argumento %s por %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "plursenca argumento %s por %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Validaj argumentoj estas:" #: lib/closein.c:100 msgid "error closing file" msgstr "eraro dum fermado de dosiero" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "skrib-eraro" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "konserviÄas permesoj pri %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Nekonata sistemeraro" #: lib/file-type.c:38 msgid "regular empty file" msgstr "normala malplena dosiero" #: lib/file-type.c:38 msgid "regular file" msgstr "normala dosiero" #: lib/file-type.c:41 msgid "directory" msgstr "dosierujo" #: lib/file-type.c:44 msgid "block special file" msgstr "blokaparatdosiero" #: lib/file-type.c:47 msgid "character special file" msgstr "signoaparatdosiero" #: lib/file-type.c:50 msgid "fifo" msgstr "vicmemoro" #: lib/file-type.c:53 msgid "symbolic link" msgstr "simbola ligo" #: lib/file-type.c:56 msgid "socket" msgstr "konektilo" #: lib/file-type.c:59 msgid "message queue" msgstr "mesaÄovico" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "komuna memorobjekto" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tipita memorobjekto" #: lib/file-type.c:70 msgid "weird file" msgstr "stranga dosiero" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Ne subteniÄas adresfamilio por komputilretnomo" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Dumtempa malsukceso ĉe nom-eltrovo" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Misa valoro por 'ai_flags'" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Neriparebla malsukceso ĉe nom-eltrovo" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "'ai_family' ne subtenatas" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Mankas sufiĉa memoro" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Neniu adreso estas asociata kun nomo de gastiga komputilo" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nomo aÅ­ servo ne konatas" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "'servname' ne subtenatas por 'ai_socktype'" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "'ai_socktype' ne subtenatas" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Sistemeraro" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Bufro por argumentoj tro malgrandas" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Traktado de peto daÅ­ras" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Peto nuligitas" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Peto ne nuligitas" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Ĉiuj petoj estas plenumitaj" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrompita per signalo" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parametra ĉeno ne estas Äuste kodita" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Nekonata eraro" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opcio «%s» estas plursenca; eblaĵoj estas:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opcio «--%s» ne toleras argumenton\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opcio «%c%s» ne toleras argumenton\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "--%s: opcio «%s» bezonas argumenton\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: nekonata opcio «--%s»\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: nekonata opcio «%c%s»\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: nevalida opcio -- «%c»\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcio bezonas argumenton -- «%c»\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opcio «-W %s» estas plursenca\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opcio «-W %s» ne toleras argumenton\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opcio «-W %s» bezonas argumenton\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "ne eblas ÅanÄi permesojn de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "ne eblas krei dosierujon %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "mankas sufiĉa memoro" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ne eblas registri aktualan labordosierujon" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "malsukcesis reveni al komenca labordosierujo" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fino de dosiero" #: lib/regcomp.c:131 msgid "Success" msgstr "Sukceso" #: lib/regcomp.c:134 msgid "No match" msgstr "Neniu trafo" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Nevalida regulesprimo" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Nevalida kunmetita signo" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nevalida nomo de signoklaso" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Malsuprenstreko '\\' ĉe la fino" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Nevalida retroreferenco" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Senpara [ aÅ­ [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Senpara ( aÅ­ \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Senpara \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Nevalida enhavo de \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Nevalida fino de gamo" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Mankas sufiĉa memoro" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Nevalida antaÅ­a regulesprimo" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Neatendita fino de regulesprimo" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regulesprimo tro grandas" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Senpara ) aÅ­ \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Mankas antaÅ­a regulesprimo" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "estas danÄere operacii rikure al %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "estas danÄere operacii rikure al %s (samkiel %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "uzu «--no-preserve-root» por malÅalti ĉi tiun sekurilon" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "agordiÄas permesoj pri %s" # Hangup detected on controlling terminal or death of controlling process. #: lib/siglist.h:31 msgid "Hangup" msgstr "Malkonekto" # Interrupt from keyboard. #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interrompo" # Quit from keyboard. #: lib/siglist.h:37 msgid "Quit" msgstr "Forlasigo" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Miskomando" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Spurumo-/romppunkto-komando" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abortita" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Glitkomkalkul-eraro" # SIGKILL 9 Term Kill signal # Nek kaptebla nek ignorebla (malkiel ABORT) #: lib/siglist.h:52 msgid "Killed" msgstr "Buĉita" #: lib/siglist.h:55 msgid "Bus error" msgstr "Bus-eraro" # SIGSEGV 11 Core Invalid memory reference #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Adres-eraro" # SIGPIPE 13 Term Broken pipe: write to pipe with no readers #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Rompita dukto" # SIGALRM 14 Term Timer signal from alarm(2) #: lib/siglist.h:64 msgid "Alarm clock" msgstr "VekhorloÄo" # SIGTERM 15 Term Termination signal #: lib/siglist.h:67 msgid "Terminated" msgstr "Ĉesigita" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "UrÄa enig-/elig-stato" # SIGSTOP 17,19,23 Stop Stop process # Nek kaptebla nek ignorebla (samkiel SIGKILL) # Haltu (poste eblos plu iri, vd SIGCONT) #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "PaÅ­zigita (signale)" #: lib/siglist.h:76 msgid "Stopped" msgstr "PaÅ­zigita (uzule)" #: lib/siglist.h:79 msgid "Continued" msgstr "DaÅ­rigita" #: lib/siglist.h:82 msgid "Child exited" msgstr "Ido finis" # SIGTTIN 21,21,26 Stop tty input for background process #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "PaÅ­zigita (pro terminalenigo)" # SIGTTOU 22,22,27 Stop tty output for background process #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "PaÅ­zigita (pro terminaleligo)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "Enigo/eligo eblas" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Limo de procesortempo transpasiÄis" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Limo de dosiergrando transpasiÄis" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuala horloÄo transpasis limtempon" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profilanta horloÄo transpasis limtempon" # SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun) #: lib/siglist.h:106 msgid "Window changed" msgstr "Fenestro ÅanÄiÄis" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Uzula signalo 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Uzula signalo 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT-komando" # SIGSYS 12,-,12 Core Bad argument to routine (SVID) #: lib/siglist.h:120 msgid "Bad system call" msgstr "Misa sistemvoko" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Stak-eraro" # SIGINFO 29,-,- A synonym for SIGPWR #: lib/siglist.h:126 msgid "Information request" msgstr "Informmendo" #: lib/siglist.h:128 msgid "Power failure" msgstr "Elektra provizo perdiÄis" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Risurco perdiÄis" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "ne eblas krei dukton" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "subprocezo %s malsukcesis" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Realtempa signalo %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Nekonata signalo %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "funkcio 'iconv()' ne uzeblas" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "funkcio 'iconv()' ne disponeblas" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "signo estas ekster gamo" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "ne eblas konverti U+%04X al loka signaro" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "ne eblas konverti U+%04X al loka signaro: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "nevalida uzanto" #: lib/userspec.c:107 msgid "invalid group" msgstr "nevalida grupo" #: lib/userspec.c:108 msgid "invalid spec" msgstr "nevalida indiko" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "ne eblas montri erarmesaÄon" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakigita far %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakigita far %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Ĉi tiu estas libera programaro: vi rajtas Äin ÅanÄi kaj redistribui.\n" "La Äusta licenco estas GPLv3+: GNU GPL versio 3 aÅ­ sekva;\n" "por la kompleta (angla) teksto vidu <http://gnu.org/licenses/gpl.html>.\n" "Ĉi tiu programaro ne garantiatas, ene de la limoj de la leÄo.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Verkita de %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Verkita de %s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Verkita de %s, %s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Verkita de %s, %s, %s\n" "kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s, %s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s, %s, %s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s, %s, %s, %s\n" "kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s kaj %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Verkita de %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s kaj aliaj.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Raportu programmisojn al %s;\n" "sciigu tradukerarojn al <translation-team-eo@lists.sourceforge.net>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Raportu programmisojn en «%s» al: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "HejmpaÄo de «%s»: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "HejmpaÄo de «%s»: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Äœenerala helpo por uzi GNU-programojn: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "'_open_osfhandle()' malsukcesis " #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "ne eblas restaÅ­ri dosiernumeron %d: 'dup2()' malsukcesis" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "subprocezo %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "subprocezo %s ricevis pereigan signalon %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "ĉefenigujo" #: lib/xfreopen.c:36 msgid "stdout" msgstr "ĉefeligujo" #: lib/xfreopen.c:37 msgid "stderr" msgstr "ĉeferar-eligujo" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "nekonata fluaĵo" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "malsukcesis remalfermi %s kun moduso %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "ĉena komparo malsukcesis" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Agordu LC_ALL='C' por eviti la problemon." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "La komparitaj ĉenoj estis %s kaj %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "ne eblas efektivigi formatitan eligon" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "nevalida argumento de %s%s: «%s»" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "nevalida sufikso en argumento de %s%s: «%s»" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argumento de %s%s tro grandas: «%s»" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon ÄœOSEFSON (Simon Josefsson)" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Uzmaniero: %s [OPCIO...] [DOSIERO]\n" "\n" "Kodas aÅ­ malkodas 64-ume DOSIEROn (aÅ­ ĉefenigujon) al ĉefeligujo.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode malkodi la datenojn\n" " -i, --ignore-garbage ignori nealfabetajn signojn dum malkodado\n" " -w, --wrap=NOMBRO faldi koditajn liniojn post NOMBRO (defaÅ­lte 76)\n" " da signoj; uzu 0 por malÅalti linifaldadon\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "La datenoj estas koditaj kiel priskribas RFC 3548 por la alfabeto 'base64'.\n" "Por malkodado eblas ke krom la bajtoj de la formala base64-alfabeto estu\n" "iuj liniavancoj en la enigaĵo. Uzu «--ignore-garbage» por provi toleri\n" "aliajn ne-alfabetajn signojn en la kodita fluo.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "leg-eraro" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "nevalida enigaĵo" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "nevalida faldiga grando: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "superflua argumento: %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "fermiÄas ĉefenigujo" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MEKENZI (David MacKenzie)" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uzmaniero: %s NOMO [SUFIKSO]\n" " aÅ­: %s OPCIO... NOMO...\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Eligas NOMOn sen ĉiuj antaÅ­aj elementoj dosierujaj.\n" "Se indikata, ankaÅ­ forigas postan SUFIKSOn.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple permesi plurajn argumentojn kaj trakti ĉiun kiel " "NOMOn\n" " -s, --suffix=SUFIKSO forlasi ĉi tiun SUFIKSOn kiam Äi okazas\n" " -z, --zero disigi eligon per nulbajtoj anstataÅ­ per novlinioj\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Ekzemploj:\n" " %s /usr/bin/sort -> «sort»\n" " %s include/stdio.h .h -> «stdio»\n" " %s -s .h include/stdio.h -> «stdio»\n" " %s -a ia/ĉeno1 ia/ĉeno2 -> «ĉeno1» kaj poste «ĉeno2»\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "mankas argumento" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjern GRANLUND (Torbjörn Granlund)" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Riĉard STOLMEN (Richard M. Stallman)" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uzmaniero: %s [OPCIO...] [DOSIERO...]\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Ĉenigas DOSIERO(j)n, aÅ­ ĉefenigujon, al ĉefeligujo.\n" "\n" " -A, --show-all egalas al opcioj «-vET»\n" " -b, --number-nonblank numerigi nevakajn eligliniojn (nuligas opcion «-" "n»)\n" " -e egalas al opcioj «-vE»\n" " -E, --show-ends montri «$» je la fino de ĉiu linio\n" " -n, --number numerigi ĉiujn eligliniojn\n" " -s, --squeeze-blank forlasi ripetitajn vakajn eligliniojn\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t egalas al opcioj «-vT»\n" " -T, --show-tabs montri ĉiun TAB-signon kiel «^I»\n" " -u (ignorata)\n" " -v, --show-nonprinting uzi «^» kaj «M-» notigon, escepte por LFD kaj " "TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Ekzemploj: \n" " %s f - g Eligas enhavon de f, poste ĉefenigujon, poste enhavon de g.\n" " %s Kopias ĉefenigujon al ĉefeligujo.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ne eblas fari 'ioctl' al %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "ĉefeligujo" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "eniga dosiero %s estas la eliga dosiero; Äi ignoriÄas" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Rosel KUKER (Russell Coker)" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Äœim MEJERING (Jim Meyering)" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "malsukcesis krei sekurecan kuntekston: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "malsukcesis agordi elementon %s de sekureca kunteksto al %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "malsukcesis eltrovi sekurecan kuntekston de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "ne eblas apliki partan kuntekston al sen-etikeda dosiero %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "malsukcesis ÅanÄi kuntekston de %s al %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "ne eblas atingi %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "ne eblas legi dosierujon %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "ÅanÄiÄas sekureca kunteksto de %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "malsukcesis 'fts_read()'" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "malsukcesis 'fts_close()'" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uzmaniero: %s [OPCIO...] KUNTEKSTO DOSIERO...\n" " aÅ­: %s [OPCIO...] [-u UZANTO] [-r ROLO] [-l GAMO] [-t TIPO] " "DOSIERO...\n" " aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "ÅœanÄas la sekurecan kuntekston de ĉiu DOSIERO al KUNTEKSTO.\n" "Kun «--reference», ÅanÄas la sekurecan kuntekston de ĉiu\n" "DOSIERO al tiu de REFERENCDOSIERO.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference (defaÅ­lte) efiki la referencatan de ĉiu simbola " "ligo\n" " -h, --no-dereference efiki simbolan ligon mem anstataÅ­ kion Äi indikas\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=UZANTO difini uzanton UZANTO en la cela sekureca " "kunteksto\n" " -r, --role=ROLO difini rolon ROLO en la cela sekureca kunteksto\n" " -t, --type=TIPO difini tipon TIPO en la cela sekureca kunteksto\n" " -l, --range=GAMO difini gamon GAMO en la cela sekureca kunteksto\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root ne trakti '/' aparte (la defaÅ­lto)\n" " --preserve-root rifuzi operacii rikure sur '/'\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=REFERENCDOSIERO\n" " uzi sekurecan kuntekston de REFERENCDOSIERO\n" " anstataÅ­ la valoron KUNTEKSTO\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive operacii rikure pri dosieroj kaj dosierujoj\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose eligi mesaÄon por ĉiu dosiero kiu proceziÄis\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "La sekvaj opcioj modifas la trapason de la hierarkio kiam la opcio «-R»\n" "indikatas. Se pli ol unu el ili indikatas, nur la lasta efikas.\n" "\n" " -H se komandlinia argumento estas simbola ligo al\n" " dosierujo, trapasi Äin\n" " -L trapasi ĉiun renkontatan simbolan ligon al " "dosierujo\n" " -P ne trapasi iujn ajn simbolajn ligojn (defaÅ­lte)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "'-R --dereference' bezonas aÅ­ '-H' aÅ­ '-L'" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "'-R -h' bezonas '-P'" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "mankas argumento post %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "nevalida kunteksto: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "konfliktas la indikoj de sekureca kunteksto" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "malsukcesis eltrovi atributojn de %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "nevalida grupo: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uzmaniero: %s [OPCIO...] GRUPO DOSIERO...\n" " aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "ÅœanÄas la grupon de ĉiu DOSIERO al GRUPO.\n" "Kun «--reference», ÅanÄas la grupon de ĉiu DOSIERO al tiu de " "REFERENCDOSIERO.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes kiel '--verbose', sed nur kiam ÅanÄo okazis\n" " -f, --silent, --quiet forlasi la plejmulton de erarmesaÄoj\n" " -v, --verbose eligi mesaÄon por ĉiu dosiero kiu proceziÄis\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (utilas nur en sistemoj kie eblas ÅanÄi posedanton\n" " de simbola ligo)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=REFERENCDOSIERO\n" " uzi la grupon de REFERENCDOSIERO anstataÅ­ valoron\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Ekzemploj:\n" " %s teamo /u ÅœanÄas la grupon de /u al \"teamo\".\n" " %s -hR teamo /u ÅœanÄas la grupon de /u kaj Äiaj subdosieroj al \"teamo" "\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "eltroviÄas novaj atributoj de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "nek simbola ligo %s nek Äia referanto estas ÅanÄita\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "moduso de %s ÅanÄiÄis de %04lo (%s) al %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "malsukcesis ÅanÄi moduson de %s de %04lo (%s) al %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "moduso de %s restas %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "ne eblas trakti sencelan simbolan ligon %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "ÅanÄiÄas permesoj pri %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: novaj permesoj estas %s, ne %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uzmaniero: %s [OPCIO...] MODUSO[,MODUSO...] DOSIERO...\n" " aÅ­: %s [OPCIO...] OKUMA_MODUSO DOSIERO...\n" " aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Åœangas la moduson de ĉiu DOSIERO al MODUSO. Kun opcio «--reference»,\n" "Äi Åangas la moduson de ĉiu DOSIERO al tiu de REFERENCDOSIERO.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=REFDOS uzi la moduson de REFDOS anstataÅ­ de MODUSOn\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive ÅanÄas dosierojn kaj dosierujojn rikure\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Ĉiu MODUSO estas laÅ­ la formo «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=]" "[0-7]+».\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "nekombineblas modusaj argumentoj kaj opcio «--reference»" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "nevalida moduso: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "ÅanÄiÄis posedanto de %s -- de %s al %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "ÅanÄiÄis grupo de %s -- de %s al %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "ne ÅanÄiÄis posedanto de %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "malsukcesis ÅanÄi posedanton de %s de %s al %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "malsukcesis ÅanÄi grupon de %s de %s al %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "malsukcesis ÅanÄi posedanton de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "malsukcesis ÅanÄi posedanton de %s al %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "malsukcesis ÅanÄi grupon de %s al %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "posedanto de %s restas %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupo de %s restas %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "posedanto de %s reteniÄas\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "ne eblas malreferenci %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "ÅanÄiÄas posedanto de %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "ÅanÄiÄas grupo de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uzmaniero: %s [OPCIO...] [POSEDANTO][:[GRUPO]] DOSIERO...\n" " aÅ­: %s [OPCIO...] --reference=REFERENCDOSIERO DOSIERO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "ÅœanÄas la posedanton kaj/aÅ­ grupon de ĉiu DOSIERO al POSEDANTO kaj/aÅ­ " "GRUPO.\n" "Kun «--reference», ÅanÄas la posedanton kaj grupon de ĉiu DOSIERO al tiuj " "de\n" "REFERENCDOSIERO.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=NUNA_POSEDANTO:NUNA_GRUPO\n" " ÅanÄi la posedanton kaj/aÅ­ grupon de ĉiu dosiero " "nur\n" " se Äia nuna posedanto kaj/aÅ­ grupo kongruas kun la " "ĉi\n" " tie indikataj; la unua aÅ­ la dua povas esti " "forlasata,\n" " en kiu kazo kongruo ne bezonas por tiu\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=REFERENCDOSIERO\n" " uzi posedanton kaj grupon de REFERENCDOSIERO\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Posedanto ne ÅanÄiÄas se mankas. AnkaÅ­ grupo ne ÅanÄiÄas se mankas, sed\n" "Äi ÅanÄiÄas al la ensaluta grupo se ':' sekvas simbolan POSEDANTOn.\n" "POSEDANTO kaj GRUPO povas esti numerecaj aÅ­ simbolaj.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Ekzemploj:\n" " %s root /u ÅœanÄas la posedanton de /u al \"root\".\n" " %s root:teamo /u Egale, sed ankaÅ­ ÅanÄas la grupon al \"teamo\".\n" " %s -hR root /u ÅœanÄas la posedanton de /u kaj subdosieroj al \"root" "\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland MEKGRAF (Roland McGrath)" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "nevalida grupo: %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "nevalida gruplisto: %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "malsukcesis agordi la pluajn grupojn" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s [OPCIO] CELDOSIERUJO [KOMANDO [ARGUMENTO...]]\n" " aÅ­: %s OPCIO\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Rulas KOMANDOn kun CELDOSIERUJO kiel radika dosierujo.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=UZANTO:GRUPO uzendaj uzanto kaj grupo (ID aÅ­ nomo)\n" " --groups=GRUPLISTO agordendaj aldonaj grupoj (indiki kiel «g1,g2,..," "gN»)\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Sen KOMANDO, lanĉiÄas '${SHELL} -i' (defaÅ­lte: '/bin/sh -i').\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "ne eblas ÅanÄi radikan dosierujon al %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "ne eblas iri al radika dosierujo" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "malsukcesis agordi grupnumeron" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "malsukcesis agordi uzantnumeron" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "malsukcesis ruli komandon %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Frenk KSIA (Q. Frank Xia)" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: dosiero tro longas" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Uzmaniero: %s [DOSIERO...]\n" " aÅ­: %s [OPCIO]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Montras la CRC-kontrolsumon kaj bajtnombrojn de ĉiu DOSIERO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Uzmaniero: %s [OPCIO...] DOSIERO1 DOSIERO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Komparas ordigitajn dosierojn DOSIERO1 kaj DOSIERO2 po-linie.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Kiam sen opcioj, produktas trikolumnan eligon. La unua kolumno entenas\n" "liniojn unikajn al DOSIERO1, la dua kolumno liniojn unikajn al DOSIERO2,\n" "kaj la tria kolumno liniojn komunajn al ambaÅ­ dosierojn.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 forlasi kolumnon 1 (liniojn unikajn al DOSIERO1)\n" " -2 forlasi kolumnon 2 (liniojn unikajn al DOSIERO2)\n" " -3 forlasi kolumnon 3 (liniojn kiuj aperas en ambaÅ­ " "dosieroj)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order kontroli ke la enigo estas Äuste ordigita, eĉ\n" " se ĉiuj enigaj linioj estas pareblaj\n" " --nocheck-order ne kontroli ke la enigo estas Äuste ordigita\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=ĈENO disigi kolumnojn kun ĈENO\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Notu ke komparoj honoras la regulojn indikatajn de 'LC_COLLATE'.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Ekzemploj:\n" " %s -12 dosiero1 dosiero2 Montras nur liniojn kiuj ĉeestas en ambaÅ­ " "dosieroj.\n" " %s -3 dosiero1 dosiero2 Montras liniojn kiuj ĉeestas en unu dosiero sed " "ne\n" " en la alia.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "dosiero %d ne estas en ordigita sekvo" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "pluraj limigiloj indikatas" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "vaka %s ne permesatas" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "eraro dum legado de %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "ne eblas 'lseek' sur %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "eraro dum skribado de %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: malsukcesis eltrovi informon pri 'extents'" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: malsukcesis skribo" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "malsukcesis etendi %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "vakigiÄas permesoj pri %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "malsukcesis konservi posedanton pri %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "malsukcesis trovi dosieron %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "malsukcesis konservi aÅ­torecon pri %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "ne eblas malfermi %s por legi" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "malsukcesis eltrovi statinformon pri malferma %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "ignoratas dosiero %s, ĉar Äi estis substituata dum kopiado" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "malsukcesis eltrovi dosiersisteman krean kuntekston" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "malsukcesis agordi sekurecan kuntekston de %s al %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "ne eblas forigi %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "forigiÄis %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ne skribiÄos tra sencela simbola ligo %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "ne eblas krei regulan dosieron %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "malsukcesis kloni %s el %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "konserviÄas tempoj pri %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "malsukcesis malfermi %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: ĉu anstataÅ­igi %s, ignorante moduson %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: ĉu anstataÅ­igi %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (savkopio: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "malsukcesis restaÅ­ri defaÅ­ltan dosierkrean kuntekston" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "ne eblas krei senperan ligon %s al %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "malsukcesis eltrovi statinformon pri %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "preterpasiÄas dosierujo %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "averto: fontdosiero %s indikatas plurfoje" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s kaj %s estas la sama dosiero" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ne eblas anstataÅ­igi nedosierujon %s per dosierujo %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "ne anstataÅ­iÄos ĵuskreita %s per %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "ne eblas anstataÅ­igi dosierujon %s per nedosierujo" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "ne eblas movi dosierujon al nedosierujo: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "fari savkopion de %s detruus fontdosieron; %s ne moviÄis" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "fari savkopion de %s detruus fontdosieron; %s ne kopiiÄis" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "ne eblas krei savkopion de %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ne kopiiÄos %s tra ĵuskreita simbola ligo %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "ne eblas kopii dosierujon %s al ene de si mem (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ne kreiÄos senpera ligo %s al dosierujo %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "ne eblas movi %s al subdosiero de si mem (%s)" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "ne eblas movi %s al %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "malsukcesis movo inter aparatoj: %s al %s; ne eblas forigi celon" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "malsukcesis agordi defaÅ­ltan dosierkrean kuntekston al %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "ne eblas kopii ciklan simbolan ligon %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: krei relativajn simbolajn ligojn eblas nur en aktuala dosierujo" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "ne eblas krei simbolan ligon %s al %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "ne eblas krei vicmemoron %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "ne eblas krei specialan dosieron %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "ne eblas legi simbolan ligon %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "ne eblas krei simbolan ligon %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s havas nekonatan dosiertipon" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "ne eblas restaÅ­ri savkopion %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (restaÅ­ro)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Uzmaniero: %s [OPCIO...] [-T] ORIGINO CELO\n" " aÅ­: %s [OPCIO...] ORIGINO... DOSIERUJO\n" " aÅ­: %s [OPCIO...] -t DOSIERUJO ORIGINO...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Kopias ORIGINOn al CELO, aÅ­ plurajn ORIGINOjn al DOSIERUJO.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive egalas al «-dR --preserve=all»\n" " --attributes-only ne kopii la dosierdatumojn, nur la " "atributojn\n" " --backup[=STIRO] fari savkopion de ĉiu ekzistanta cela " "dosiero\n" " -b kiel «--backup», sed ne akceptas argumenton\n" " --copy-contents kopii enhavon de specialaj dosieroj kiam " "rikure\n" " -d egalas al «--no-dereference --" "preserve=links»\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force se ekzistanta celdosiero ne malfermeblas, " "forigi\n" " Äin kaj provi denove (nuliÄas per opcio «-" "n»)\n" " -i, --interactive averti antaÅ­ fari anstataÅ­igon\n" " (transpasas antaÅ­an opcion «-n»)\n" " -H sekvi komandliniajn simbolajn ligojn en " "ORIGINO\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link senpere ligi dosierojn anstataÅ­ kopii ilin\n" " -L, --dereference ĉiam sekvi simbolajn ligojn en ORIGINO\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber ne anstataÅ­igi ekzistantan dosieron\n" " (transpasas antaÅ­an opcion «-i»)\n" " -P, --no-dereference neniam sekvi simbolajn ligojn en ORIGINO\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p egalas al «--preserve=mode,ownership," "timestamps»\n" " --preserve[=ATRIBUTLISTO] konservi la indikatajn atributojn\n" " (defaÅ­lte: «mode,ownership,timestamps»),\n" " eblas ankaÅ­: «context, links, xattr, all»\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATRIBUTLISTO ne konservi la indikatajn atributojn\n" " --parents uzi plenan ORIGINOdosieran nomon sub " "DOSIERUJO\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, --recursive, -r kopii dosierujojn rikure\n" " --reflink[=KIAM] kopii nur skribotajn blokojn (vidu sube)\n" " --remove-destination forigi ĉiun ekzistantan celdosieron antaÅ­ ol\n" " provi malfermi Äin (kontraste kun «--" "force»)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KIAM stiri kreon de maldensaj dosieroj (vidu " "sube)\n" " --strip-trailing-slashes forigi ajn vostajn suprenstrekojn de ĉiu " "ORIGINO\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link krei simbolajn ligojn anstataÅ­ kopii la " "enhavon\n" " -S, --suffix=SUFIKSO uzi ĉi tiun anstataÅ­ kutiman savkopian " "sufikson\n" " -t, --target-directory=DOSIERUJO kopii ĉiujn ORIGINOjn al DOSIERUJO\n" " -T, --no-target-directory trakti CELO kiel normala dosiero\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopii nur kiam la ORIGINO estas pli nova ol " "la\n" " cela dosiero aÅ­ kiam la cela dosiero " "mankas\n" " -v, --verbose montri nomon de ĉiu dosiero antaÅ­ ol kopii " "Äin\n" " -x, --one-file-system resti sur dosiersistemo sur kiu kopiado " "komencis\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "DefaÅ­lte, maldensaj ORIGINOj detektiÄas per kruda heÅ­ristiko kaj la " "koresponda\n" "CELO-dosiero fariÄas maldensa ankaÅ­. Tiu konduto elektiÄas de «--" "sparse=aÅ­to».\n" "Indiku «--sparse=always» por ĉiam krei maldensan CELO-dosieron kiam ajn la\n" "ORIGINO enhavas sufiĉe longan sekvencon de nulbajtoj. Uzu «--sparse=never»\n" "por malebligi kreon de maldensaj dosieroj.\n" "\n" "Kiam indikatas «--reflink[=always]», mola kopio fariÄas, en kiu la " "datumblokoj\n" "estos kopiataj nur kiam ili modifotas. Se mola kopio ne eblas, malsukcesas " "la\n" "kopio, aÅ­ (se «--reflink=aÅ­to» indikatas) normala kopio fariÄas anstataÅ­e.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "La savkopia sufikso estas «~», krom se agordita per «--suffix» aÅ­ per " "ĉirkaÅ­aĵa\n" "variablo «SIMPLE_BACKUP_SUFFIX». La versirega metodo elekteblas per «--" "backup»\n" "aÅ­ per ĉirkaÅ­aĵa variablo «VERSION_CONTROL». Jen la eblaj metodoj:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off neniam fari savkopiojn (eĉ se «--backup» indikatas)\n" " numbered, t fari numeratajn savkopiojn\n" " existing, nil numeratajn se numeratajn savkopiojn ekzistas, alie " "simplajn\n" " simple, never ĉiam fari simplajn savkopiojn\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Specialkaze, «cp» faras savkopion de ORIGINO kiam opcioj «--force» kaj «--" "backup»\n" "indikatas, kaj ORIGINO kaj CELO estas la sama nomo de ekzistanta normala " "dosiero.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "malsukcesis konservi tempojn pri %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "malsukcesis konservi permesojn pri %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "ne eblas krei dosierujon %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s ekzistas sed ne estas dosierujo" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "malsukcesis malfermi %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "mankas dosiera argumento" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "mankas celdosiera argumento post %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "nekombineblas la opcioj '--target-directory' (-t) kaj '--no-target-" "directory' (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "cela %s ne estas dosierujo" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "kun opcio «--parents» la celo devas esti dosierujo" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "pluraj celaj dosierujoj indikatas" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "ne eblas krei samtempe senperan kaj simbolan ligon" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "nekombineblas opcioj '--backup' kaj '--no-clobber'" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "eblas uzi opcion '--reflink' nur kune kun '--sparse=auto'" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo de savkopio" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "ne eblas konservi sekurecan kuntekston sen SE-Linuksa kerno" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "maleblas konservi etenditajn atributojn; 'cp' kompilitis sen subteno por " "'xattr'" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "StjuÅ­art KEMP (Stuart Kemp)" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "enigo malaperis" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: lininumero estas ekster gamo" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: lininumero estas ekster gamo" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " ĉe ripeto %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: paron ne trovatas" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "eraro en regulesprima serĉo" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "skrib-eraro por %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: post disigilo atendiÄas entjero" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: '}' nepras en ripeta nombro" # La '}' endas, ĉar %s komencas per '{'. #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: entjero nepras inter '{' kaj '}'" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: mankas ferma disigilo '%c'" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: nevalida regulesprimo: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: nevalida serĉa Åablono" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: lininumero devas esti pli ol nulo" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "lininumero %s estas pli malgranda ol antaÅ­a lininumero %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "averto: lininumero %s egalas al ĵusantaÅ­a lininumero" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "mankas konvertindiko en sufikso" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "nevalida konvertindiko en sufikso: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "nevalida konvertindiko en sufikso: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "nevalidaj flagoj en konvertindiko:: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "tro multaj konvertindikoj %% en sufikso" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "mankas konvertindiko %% en sufikso" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: nevalida numero" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Uzmaniero: %s [OPCIO...] DOSIERO SERĈŜABLONO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Eligas la pecojn de DOSIERO kiuj disigatas per ÅœABLONO(j) al la dosieroj\n" "'xx00', 'xx01', ...; kaj eligas la bajtnombron de ĉiu peco al ĉefeligujo.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ARANÄœO uzi ĉi tiun ARANÄœOn (de 'sprintf') anstataÅ­ " "%02d\n" " -f, --prefix=PREFIKSO uzi ĉi tiun PREFIKSOn anstataÅ­ 'xx'\n" " -k, --keep-files ne forigi eligajn dosierojn kiam eraro okazas\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=NOMBRO uzi ĉi tiun nombron de ciferoj anstataÅ­ 2\n" " -s, --quiet, --silent ne montri la bajtnombrojn de la eligaj " "dosieroj\n" " -z, --elide-empty-files forigi vakajn eligajn dosierojn\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Kiam DOSIERO estas «-», ĉefenigujo legiÄas. Ĉiu ÅœABLONO povas esti:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ENTJERO kopii Äis sed ne inkluzive indikata lininumero\n" " /REGESP/[DEÅœOVO] kopii Äis sed ne inkluzive kongrua linio\n" " %REFESP%[DEÅœOVO] transpasi Äis sed ne inkluzive kongrua linio\n" " {ENTJERO} ripeti la antaÅ­an Åablonon je ĉi tiu nombro de fojoj\n" " {*} ripeti la antaÅ­an Åablonon kiel eble plej multe\n" "\n" "Linia DEÅœOVO estas necesa '+' aÅ­ '-' kun posta pozitiva entjero.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David IĤNAT (David M. Ihnat)" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "kampoj kaj pozicioj komencas ekde 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Uzmaniero: %s OPCIO... [DOSIERO...]\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Eligas al ĉefeligujo elektitajn partojn de linioj de ĉiu DOSIERO.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTO elekti nur ĉi tiujn bajtojn\n" " -c, --characters=LISTO elekti nur ĉi tiujn signojn\n" " -d, --delimiter=SIGNO uzi SIGNOn anstataÅ­ TAB-on por kampdisigilo\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTO elekti nur ĉi tiujn kampojn;\n" " ankaÅ­ eligi ĉiun linion kiu ne enhavas " "disigilon,\n" " krom se la opcio «-s» indikatas\n" " -n (ignoriÄas)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement komplementi la aron de elektitaj bajtoj, signoj,\n" " aÅ­ kampoj\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ne eligi liniojn kiuj ne enhavas disigilojn\n" " --output-delimter=ĈENO uzi tiun ĉi ĈENOn kiel eligan disigilon;\n" " defaÅ­lte uziÄas la eniga disigilo\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Uzu unu, kaj nur unu, de «-b», «-c», aÅ­ «-f». Ĉiu LISTO konsistendas el\n" "unu gamo, aÅ­ multaj gamoj disigitaj per komoj. Elektita enigo skribiÄas\n" "en la sama ordo en kiu Äi legiÄas, kaj skribiÄas ekzakte unufoje.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ĉiu gamo povas esti unu el:\n" "\n" " N la N-a bajto, signo aÅ­ kampo, numerata ekde 1\n" " N- de la N-a bajto, signo aÅ­ kampo, Äis la fino de la linio\n" " N-M de la N-a al la M-a (inkluzive) bajto, signo aÅ­ kampo\n" " -M de la unua Äis la M-a (inkluzive) bajto, signo aÅ­ kampo\n" "\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "nevalida listo de bajtoj aÅ­ kampoj" # La originalo malklaras, la traduko Äustas. #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "nevalida gamo, sen finpunktoj: «-»" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "nevalida gamo, Äi malkreskas" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "bajtpozicio %s estas tro granda" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "kampnumero %s estas tro granda" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "eblas indiki nur unu tipon de listo" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "la disigilo devas esti ununura signo" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "nepras indiki liston de bajtoj, signoj, aÅ­ kampoj" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "eblas indiki enigan disigilon nur kiam traktante kampojn" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "subpremi liniojn sen disigilo eblas nur kiam traktante kampojn" #: src/cut.c:870 msgid "missing list of fields" msgstr "mankas listo de kampoj" #: src/cut.c:872 msgid "missing list of positions" msgstr "mankas listo de pozicioj" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Uzmaniero: %s [OPCIO...] [+ARANÄœO]\n" " aÅ­: %s [-u|--utc|--universal] [MMTThhmm[[CC]JJ][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "ĉefenigujo" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "nevalida dato %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "pluraj eligaj aranÄoj indikatas" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "nekombineblas la diversaj opcioj por indiki eligotaj datoj" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "nekombineblas la opcioj por eligi kaj por agordi tempon" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumento %s ne havas komencan '+';\n" "kiam opcio por indiki dato(j)n uzatas, iu ajn neopcia\n" "argumento devas esti aranÄa ĉeno kiu komencas per '+'" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "ne eblas agordi daton" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "tempo %s estas ekster gamo" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "PaÅ­l RUBIN (Paul Rubin)" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s [ARGUMENTO...]\n" " aÅ­: %s OPCIO\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> rikordo eniÄis\n" "%<PRIuMAX>+%<PRIuMAX> rikordoj eliÄis\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> trunkita rikordo\n" msgstr[1] "%<PRIuMAX> trunkitaj rikordoj\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> bajto (%s) kopiiÄis" msgstr[1] "%<PRIuMAX> bajtoj (%s) kopiiÄis" #: src/dd.c:720 msgid "Infinity B" msgstr "senfino" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "fermiÄas eniga dosiero %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "fermiÄas eliga dosiero %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "malsukcesis malÅalti O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "skribiÄas al %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "ne rekonatas argumento %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "nevalida konverto" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "nevalida enigflago" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "nevalida eligflago" #: src/dd.c:1227 msgid "invalid status flag" msgstr "nevalida statflago" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "nevalida numero %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "ne eblas kombini iujn ajn el {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "ne eblas kombini 'block' kaj 'unblock'" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "ne eblas kombini 'lcase' kaj 'ucase'" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "ne eblas kombini 'excl' kaj 'nocreat'" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "ne eblas kombini 'direct' kaj 'nocache'" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: ne eblas transsalti" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: 'seek' ne eblas" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "pozicio trograndiÄis dum legado de dosiero %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "averto: nevalida dosiera pozicio post malsukcesa lego" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "tamen rezultas ke maleblas preterpasi kern-eraron" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "agordiÄas flagoj pri %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "mankas sufiĉa memoro por eniga bufro de %zu bajtoj (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "mankas sufiĉa memoro por eliga bufro de %zu bajtoj (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: ne eblas salti al indikata pozicio" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "malsukcesis trunki al %<PRIuMAX> bajtoj en eliga dosiero %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "malsukcesis 'fdatasync' por %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "malsukcesis 'fsync' por %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "malsukcesis malfermi %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "pozicio estas tro granda: ne eblas trunki al longeco de seek=%<PRIuMAX> (%lu-" "bajtaj) blokoj" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "malsukcesis trunki al %<PRIuMAX> bajtoj en eliga dosiero %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "malsukcesis forĵeti kaÅmemoron por %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "PaÅ­l EGERT (Paul Eggert)" #: src/df.c:172 msgid "Filesystem" msgstr "Dosiersistemo" #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokoj" #: src/df.c:181 msgid "Used" msgstr "Uzata" #: src/df.c:184 msgid "Available" msgstr "Liberaj" #: src/df.c:187 msgid "Use%" msgstr "Uza%" #: src/df.c:190 msgid "Inodes" msgstr "I-nodoj" #: src/df.c:193 msgid "IUsed" msgstr "I-uzata" #: src/df.c:196 msgid "IFree" msgstr "I-lbr" #: src/df.c:199 msgid "IUse%" msgstr "Iuza%" #: src/df.c:202 msgid "Mounted on" msgstr "Metita sur" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "averto: fontdosiero %s indikatas plurfoje" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Grando" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Liber" #: src/df.c:474 msgid "Capacity" msgstr "Kapacito" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Montras informon pri dosiersistemo en kiu loÄas ĉiu indikata DOSIERO,\n" "aÅ­ defaÅ­lte pri ĉiuj dosiersistemoj.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all inkluzivi virtualajn dosiersistemojn\n" " -B, --block-size=NOMBRO skali grandojn per NOMBRO antaÅ­ eligi ilin;\n" " '-BM' ekzemple elmetas grandojn en unuoj de\n" " 1048576 bajtoj; vidu ankaÅ­ sube\n" " --total eligi grandan totalon\n" " -h, --human-readable eligi grandojn en homlegebla aranÄo (ekzemple: 1K " "234M)\n" " -H, --si same, sed uzi potencojn de 1000 anstataÅ­ de 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes listigi informon pri indeksnodoj anstataÅ­ pri " "blokuzado\n" " -k kiel '--block-size=1K'\n" " -l, --local limigi listadon al lokaj dosiersistemoj\n" " --no-sync ne voki 'sync' antaÅ­ havigo de uzadinformo " "(defaÅ­lto)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability uzi la POSIX-an eligan aranÄon\n" " --sync voki 'sync' antaÅ­ havigo de uzadinformo\n" " -t, --type=TIPO nur listigi dosiersistemojn de ĉi tiu TIPO\n" " -T, --print-type eligi tipo de dosiersistemo\n" " -x, --exclude-type=TIPO ne listigi dosiersistemojn de ĉi tiu TIPO\n" " -v (ignoriÄas)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "nekombineblas opcioj '--compare' (-C) kaj '--strip'" #: src/df.c:1335 msgid "warning: " msgstr "averto: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "dosiersistema tipo %s estas ambaÅ­ elektita kaj ekskluzivita" #: src/df.c:1500 msgid "Warning: " msgstr "Averto: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "ne eblas legi tabelon de surmetitaj dosiersistemoj" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "neniu dosiersistemo pritraktatas" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "Piter ANVIN (H. Peter Anvin)" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Uzmaniero: %s [OPCIO...] [DOSIERO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Eligas komandojn por agordi la ĉirkaÅ­aĵan variablon 'LS_COLORS'.\n" "\n" " -b, --sh, --bourne-shell eligi Bourne-Åelan kodon por starigi " "'LS_COLORS'\n" " -c, --csh, --c-shell eligi C-Åelan kodon por starigi 'LS_COLORS'\n" " -p, --print-database eligi la defaÅ­ltojn\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Se DOSIERO indikatas, Äi legiÄas por decidi kiujn kolorojn uzi por kiuj\n" "dosiertipoj kaj dosierfinaĵoj. Alie, antaÅ­kompilita datumbazo uzatas.\n" "Por detaloj pri la aranÄo de tiuj dosieroj, lanĉu 'dircolors --print-" "database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: nevalida linio; mankas dua simbolo" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: nerekoniÄas Ålosilvorto %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interna>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "nekombineblas la opcio por eligi la internan datumbazon kun\n" "iu opcio kiu elektas Åelan sintakson" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "nekombineblas dosieraj argumentoj kun opcio '--print-database' (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "ĉirkaÅ­aĵa variablo SHELL ne ekzistas, kaj neniu Åelsintaksa opcio indikatas" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Uzmaniero: %s [OPCIO] NOMO...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Montras ĉiun NOMOn sen sia lasta nestreka ero kaj sen finaj suprenstrekoj;\n" "se NOMO ne enhavas suprenstreko, eligiÄas «.» (indikanta la nuna " "dosierujo).\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero disigi eligon per nulbajtoj anstataÅ­ per novlinioj\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Ekzemploj:\n" " %s /usr/bin/ -> «/usr»\n" " %s ujo1/ĉeno ujo2/ĉeno -> «ujo1» kaj poste «ujo2»\n" " %s stdio.h -> «.».\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Uzmaniero: %s [OPCIO...] [DOSIERO...]\n" " aÅ­: %s [OPCIO...] --files0-from=LISTDOSIERO\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Resumas uzon de disko por ĉiu indikata DOSIERO; rikure por dosierujoj.\n" "\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=DOS legi la enigon el la dosieroj kiuj indikatas en la\n" " dosiero DOS per NUL-finitaj nomoj; se DOS estas " "«-»,\n" " la nomoj legiÄas el ĉefenigujo\n" " -L, --max-line-length montri la longon de la plej longa linio\n" " -w, --words montri la nombron de vortoj\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "senfino" #: src/du.c:507 #, fuzzy, c-format msgid "mount point %s already traversed" msgstr "muntloko %s jam traktiÄis" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "malsukcesis 'fts_read()': %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "nevalida maksimuma profundo %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "nevalida argumento por opcio '--%s': %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "ne eblas ambaÅ­ resumi kaj montri ĉiujn elementojn" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "averto: resumi egalas al opcio «--max-depth=0»" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "averto: resumi konfliktas kun opcio «--max-depth=%lu»" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "nekombineblas dosieraj argumentoj kun opcio «--files0-from»" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: leg-eraro" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "kiam dosiernomoj legatas de ĉefenigujo, ne permesatas dosiernomo %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nevalida dosiernomo (longo nulas)" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totalo" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brajen FOKS (Brian Fox)" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Ĉet REMI (Chet Ramey)" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uzmaniero: %s [MALLONGA_OPCIO...] [ĈENO...]\n" " aÅ­: %s LONGA_OPCIO\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Eligi la indikata(j)n ĈENO(j)n al ĉefeligujo.\n" "\n" " -n ne eligi la finan linifinon\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e ebligi interpretadon de malsuprenstrekaj eskapoj " "(defaÅ­lto)\n" " -E malebligi interpretadon de malsuprenstrekaj eskapoj\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e ebligi interpretadon de malsuprenstrekaj eskapoj\n" " -E malebligi interpretadon de malsuprenstrekaj eskapoj " "(defaÅ­lto)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Se opcio '-e' efikas, la subaj eskapsekvencoj rekoniÄas:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ malsuprenstreko\n" " \\a pepo (BEL)\n" " \\b retropaÅo\n" " \\c produkti nenian plian eligon\n" " \\e eskapo\n" " \\f paÄavanco\n" " \\n liniavanco\n" " \\r ĉaretreiro\n" " \\t horizontala tabo\n" " \\v vertikala tabo\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN bajto kun okuma valoro NNN (1 Äis 3 ciferoj)\n" " \\xHH bajto kun deksesuma valoro HH (1 aÅ­ 2 ciferoj)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Riĉard MLINARIK (Richard Mlynarik)" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Uzmaniero: %s [OPCIO...] [-] [NOMO=VALORO]... [KOMANDO [ARGUMENTO...]]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Agordi en la ĉirkaÅ­aĵo ĉiun NOMOn al VALORO kaj lanĉi KOMANDOn.\n" "\n" " -i, --ignore-environment komenci kun vaka ĉirkaÅ­aĵo\n" " -0, --null disigi eligon per nulbajtoj anstataÅ­ per " "novlinioj\n" " -u, --unset=NOMO forigi variablon de la ĉirkaÅ­aĵo\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Nura «-» signifas «-i». Sen iu KOMANDO, eligi la rezultan ĉirkaÅ­aĵon.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "ne eblas malestigi %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "ne eblas estigi %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "ne eblas indiki opcio '--null' (-0) kune kun komando" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertas tabojn en ĉiu DOSIERO al spacetoj, skribante al ĉefeligujo.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ne konverti tabojn post ne-blankspacoj\n" " -t, --tabs=NOMBRO meti tabojn dise je NOMBRO anstataÅ­ 8 pozicioj\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=LISTO uzi komadisigatan LISTOn de tabpozicioj\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "taba pozicio %s estas tro granda" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "taba pozicio enhavas nevalida(j)n signo(j)n: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "taba pozicio ne povas esti nulo" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tabaj pozicioj devas kreski" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "eniga linio estas tro longa" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Majk PARKER (Mike Parker)" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "Äœejmz JONGMAN (James Youngman)" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s ESPRIMO\n" " aÅ­: %s OPCIO\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Eligas la valoron de ESPRIMO al ĉefeligujo.\n" "\n" "(Sube vaka linio disigas kreskantajn antaÅ­ecajn grupojn.)\n" "ESPRIMO povas esti:\n" "\n" " ARG1 | ARG2 ARG1 se Äi estas nek vaka nek nulo, alie ARG2\n" "\n" " ARG1 & ARG2 ARG1 se nek ARG1 kaj ARG2 estas vaka aÅ­ nulo, alie nulo\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 estas malpli ol ARG2\n" " ARG1 <= ARG2 ARG1 estas malpli aÅ­ egalas al ARG2\n" " ARG1 = ARG2 ARG1 egalas al ARG2\n" " ARG1 != ARG2 ARG1 ne egalas al ARG2\n" " ARG1 >= ARG2 ARG1 estas pli ol aÅ­ egalas al ARG2\n" " ARG1 > ARG2 ARG1 estas pli ol ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetika sumo de ARG1 kaj ARG2\n" " ARG1 - ARG2 aritmetika diferenco de ARG1 kaj ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetika produkto de ARG1 kaj ARG2\n" " ARG1 / ARG2 aritmetika kvociento de ARG1 dividita per ARG2\n" " ARG1 % ARG2 aritmetika resto de ARG1 dividita per ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " ĈENO : REGULESPRIMO ankrita Åablona kongruo de REGULESPRIMO en " "ĈENO\n" "\n" " match ĈENO REGULESPRIMO same kiel 'ĈENO : REGULESPRIMO'\n" " substr ĈENO POZICIO LONGO subĉeno de ĈENO (POZICIO nombriÄas ekde 1)\n" " index ĈENO SIGNOJ pozicio en ĈENO kie ĉi tiuj SIGNOJ troviÄas, " "alie 0\n" " length ĈENO longo de ĈENO\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + Ä´ETONO interpreti Ä´ETONOn kiel ĉeno, eĉ se Äi estas\n" " Ålosilvorto kiel 'match' aÅ­ operacio kiel " "'/'\n" "\n" " ( ESPRIMO ) valoro de ESPRIMO\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Notu ke Åeloj ofte bezonas citilojn aÅ­ eskapsignon por iuj operacisimboloj.\n" "Se kaj ARG1 kaj ARG2 estas nombroj, oni komparas nombre, alie " "leksikografie.\n" "Åœablona rekono liveras la ĉenon kongruan al parentezo inter \\( kaj \\), aÅ­\n" "malplenan ĉenon. Se oni ne indikas \\( kaj \\), Åablona rekono liveras la\n" "nombron de kongruaj signoj, aÅ­ 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Elirstato estas 0 se ESPRIMO estas nek vaka nek nulo, 1 se ESPRIMO estas\n" "vaka aÅ­ nulo, 2 se ESPRIMO estas sintakse nevalida, kaj 3 se eraro okazis.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sintakseraro" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "eraro en regulesprima serĉo" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argumento estas ne-entjera" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "divido per nulo" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Agordu LC_ALL='C' por eviti la problemon." #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "la komparitaj ĉenoj estis %s kaj %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Nils MOLER (Niels Moller)" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "troo en atendovico de «SQUFOF»" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ne estas valida pozitiva entjero" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s estas tro granda" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s [ENTJERO...]\n" " aÅ­: %s OPCIO\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Eligas la primajn faktorojn de ĉiu indikata ENTJERO. Se neniu\n" "indikatas sur la komandlinio, ili legiÄas de ĉefenigujo.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "ne eblas eltrovi aktualan dosierujon" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "ne eblas ÅanÄi al dosierujo %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "malsukcesis eltrovi statinformon pri aktuala dosierujo (nun %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ros PETERSON (Ross Paterson)" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Uzmaniero: %s [-LARÄœO] [OPCIO...] [DOSIERO...]\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "RearanÄas ĉiun paragrafon el la DOSIERO(j), skribante al ĉefeligujo.\n" "La opcio '-CIFEROJ' estas mallongigo de '--width=CIFEROJ'.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin konservi krommarÄenon de la unuaj du linioj\n" " -p, --prefix=ĈENO rearanÄi nur liniojn kiuj komencas per ĈENO,\n" " realdonante tiun prefikson al rearanÄitaj " "linioj\n" " -s, --split-only fendi longajn liniojn, sed ne rerektigi ilin\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph krommarÄeno de unua linio malsamas al tiu de " "dua\n" " -u, --uniform-spacing unu spaceto inter vortoj, du post frazoj\n" " -w, --width=LARÄœO maksimuma larÄo de linio (defaÅ­lto: 75 " "kolumnoj)\n" " -g, --goal=LARÄœO cela larÄo (defaÅ­lto: 93% de maksimuma larÄo)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "nevalida opcio %c;\n" "opcio '-LARÄœO' nur rekoniÄas kiam Äi esta la unua;\n" "alie uzu '-w LARÄœO' anstataÅ­e" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "nevalida larÄo: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Faldas enigliniojn el ĉiu DOSIERO, skribante al ĉefeligujo.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes kalkuli bajtojn anstataÅ­ de kolumnojn\n" " -s, --spaces faldi nur je spacetoj (kiam eblas)\n" " -w, --width=NOMBRO uzi ĉi tiun larÄon anstataÅ­ de 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "nevalida nombro da kolumnoj: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padrejg BREJDI (Pádraig Brady)" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Uzmaniero: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Eligas platformdependajn limojn en aranÄo kiu utilas por Åelskriptoj.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "malsukcesis eltrovi grupojn por uzanto %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "malsukcesis eltrovi grupojn por aktuala procezo" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "ne eblas eltrovi nomon por grupa ID-o %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Uzmaniero: %s [OPCIO...] [UZANTNOMO...]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Montras grupajn anecojn por ĉiu indikata UZANTNOMO aÅ­, sen iu UZANTNOMO, " "por\n" "la aktuala procezo. (Tiuj povas malsami se la grupa datumbazo ÅanÄiÄis.)\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "malsukcesis eltrovi realan UID-on" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "malsukcesis eltrovi efektivan GID-on" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "malsukcesis eltrovi realan GID-on" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: tiu uzanto ne ekzistas" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Eligas la unuajn dek liniojn de ĉiu DOSIERO al ĉefeligujo.\n" "\n" "Kun pli ol unu DOSIERO, antaÅ­ ĉiu meti ĉapon kiu montras la dosiernomon.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]NOMBRO eligi la unuajn NOMBRO bajtojn de ĉiu dosiero;\n" " kun komenca «-», eligi ĉiujn bajtojn krom la\n" " NOMBRO lastaj\n" " -n, --lines=[-]NOMBRO eligi la unuajn NOMBRO liniojn anstataÅ­ unuajn " "dek;\n" " kun komenca «-», eligi ĉiujn liniojn krom la\n" " NOMBRO lastaj\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent neniam eligi ĉapojn kun dosiernomoj\n" " -v, --verbose ĉiam eligi ĉapojn kun dosiernomoj\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "NOMBRO povas havi obligilan sufikson:\n" "b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024,\n" "GB = 1000*1000*1000, G = 1024*1024*1024, ktp por T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: dosiero Årumpis troe" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: nombro de bajtoj tro grandas" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: ne eblas fari 'lseek' reen al unua pozicio" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: ne eblas fari 'seek' al pozicio %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: malsukcesis reagordi dosierpozician indikilon" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "ne eblas ÅanÄi dosierpozician indikilon pri %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s estas tiel granda ke Äi ne prezentiÄeblas" #: src/head.c:886 msgid "number of lines" msgstr "nombro da linioj" #: src/head.c:886 msgid "number of bytes" msgstr "nombro da bajtoj" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "nevalida nombro da linioj" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "nevalida nombro da bajtoj" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "nevalida opcio je la fino -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Uzmaniero: %s [OPCIO]\n" "\n" "Montras la numeran (deksesuman) identigilon de la aktuala komputilo.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Uzmaniero: %s [NOMO]\n" " aÅ­: %s OPCIO\n" "\n" "Montras aÅ­ agordas la retnomon de la aktuala komputilo.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "ne eblas agordi nomon al %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "maleblas agordi retnomon; ĉi tiu sistemo ne povas fari tion" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "ne eblas eltrovi la retnomon" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold ROBINS (Arnold Robbins)" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Uzmaniero: %s [OPCIO...] [UZANTNOMO]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Montras uzantan kaj grupan informon por la indikata UZANTNOMO,\n" "aÅ­ (kiam UZANTNOMO preterlasatas) por la aktuala uzanto.\n" "\n" " -a ignoriÄas (rekoniÄas nur por kongrui kun aliaj versioj)\n" " -Z, --context eligi nur la sekurecan kuntekston de la aktuala uzanto\n" " -g, --group eligi nur la efektivan grupan ID-on\n" " -G, --groups eligi ĉiujn grupajn ID-ojn\n" " -n, --name eligi nomon anstataÅ­ nombron (kun '-ugG')\n" " -r, --real eligi la veran ID anstataÅ­ la efektivan ID-on (kun '-" "ugG')\n" " -u, --user eligi nur la efektivan uzantan ID-on\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sen iu ajn OPCIO, eligi iun utilan aron de uzanta kaj grupa informo.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "opcio '--context' (-Z) nur funkcias kun SE-Linuksa kerno" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "maleblas eligi sekurecan kuntekston kiam uzanto indikatas" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "maleblas eligi ion kun pliaj \"nuraj\" opcioj" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "maleblas eligi nur nomojn aÅ­ realajn numerojn en la defaÅ­lta aranÄo" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "ne eblas eltrovi kuntekston de procezo" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "malsukcesis eltrovi efektivan UID-on" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "ne eblas eltrovi nomon por uzantnumero %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "UID=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " GID=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " EUID=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " EGID=%s" #: src/id.c:377 msgid " groups=" msgstr " grupoj=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kunteksto=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "averto: %s: malsukcesis ÅanÄi kuntekston al %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "kreiÄas dosierujo %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "ne eblas ÅanÄi posedanton de %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "ne eblas agordi tempojn pri %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ne eblas krei novan procezon" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "ne eblas ruli %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "atendiÄas fino de 'strip'" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "procezo 'strip' finiÄis nenormale" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "nevalida uzanto: %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Uzmaniero: %s [OPCIO...] [-T] ORIGINO CELO\n" " aÅ­: %s [OPCIO...] ORIGINO... DOSIERUJO\n" " aÅ­: %s [OPCIO...] -t DOSIERUJO ORIGINO...\n" " aÅ­: %s [OPCIO...] -d DOSIERUJO...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "AVERTO: ignoriÄas '--preserve-context'; tiu ĉi kerno ne subtenas SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "AVERTO: ignoriÄas '--context' (-Z); tiu ĉi kerno ne subtenas SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "opcio '--strip' malpermesatas dum instalado al dosierujo" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "celdosierujo malpermesatas dum instalado al dosierujo" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "maleblas ambaÅ­ agordi celkuntekston al %s kaj reteni Äin" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "nevalida moduso %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "AVERTO: ignoriÄas '--strip-program' ĉar opcio '-s' ne indikatas" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "nekombineblas opcioj '--compare' (-C) kaj '--preserve-timestamps'" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "nekombineblas opcioj '--compare' (-C) kaj '--strip'" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "opcio '--compare' (-C) ignoriÄas kiam indikatas moduso kiu enhavas " "nepermesajn bitojn" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Majk HERTEL (Mike Haertel)" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: ne estas ordigita: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "nevalida kampnumero: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "nevalida kampindiko: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "nevalida dosiernumero en kampindiko: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "nekongruaj kunigkampoj %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "konfliktas la anstataÅ­igaj ĉenoj por vakaj kampoj" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "plursigna tabo %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "nekongruaj taboj" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ne ambaÅ­ dosieroj povas esti ĉefenigujo" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Uzmaniero: %s [-s SIGNALO | -SIGNALO] PROCEZNUMERO...\n" " aÅ­: %s -l [SIGNALO...]\n" " aÅ­: %s -t [SIGNALO...]\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Sendas signalojn al procezoj, aÅ­ eligas signalnomojn kaj -numerojn.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNALO, -SIGNALO\n" " la nomo aÅ­ la numero de la sendenda signalo\n" " -l, --list [IO] montri signalnomojn (aÅ­ konverti inter nomoj kaj " "numeroj)\n" " -t, --table montri tabelon de informoj pri signaloj\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNALO povas esti signalnomo kiel 'HUP', signalnumero kiel '1',\n" "aÅ­ la elirstato de procezo kiu terminiÄis per signalo.\n" "PROCEZNUMERO estas entjero; se negativa, Äi indikas procezgrupon.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: nevalida indiko de procezo" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "nevalida opcio -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: pluraj signaloj indikatas" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "pluraj opcioj '-l' aÅ­ '-t' indikatas" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "maleblas kombini signalon kun opcio '-l' aÅ­ '-t'" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "neniu proceznumero indikatas" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "malsukcesis disponigi enigan/eligan bufron de %<PRIuMAX> bajtoj\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "nevalida bufra moduso %s por %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "malsukcesis agordi bufran moduson de %s al %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Majkel STON (Michael Stone)" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s DOSIERO1 DOSIERO2\n" " aÅ­: %s OPCIO\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "Kreas ligon de nomo DOSIERO2 al ekzistanta DOSIERO1.\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "ne eblas krei ligon %s al %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: senpera ligo malpermesatas por dosierujo" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: ne eblas anstataÅ­igi dosierujon" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: ĉu anstataÅ­igi %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "malsukcesis krei simbolan ligon %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "malsukcesis krei simbolan ligon %s al %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "malsukcesis krei senperan ligon al %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "malsukcesis krei senperan ligon %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "malsukcesis krei senperan ligon %s al %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Uzo de opcio '-s' ignoras '-L' kaj '-P'. Alie, la laste indikata opcio\n" "difinas la konduton kiam iu CELO estas simbola ligo -- defaÅ­lte %s.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "nekombineblas la opcioj '--target-directory' (-t) kaj '--no-target-" "directory' (-T)" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "maleblas '--relative' sen '--symbolic'" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "(nekonato)" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Uzmaniero: %s [OPCIO]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Eligas nomon de aktuala uzanto.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "neniu ensaluta nomo" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignoriÄas nevalida valoro (%s) de ĉirkaÅ­aĵa variablo QUOTING_STYLE" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignoriÄas nevalida larÄo (%s) en ĉirkaÅ­aĵa variablo COLUMNS" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "ignoriÄas nevalida grando de tabo (%s) en ĉirkaÅ­aĵa variablo TABSIZE" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "nevalida linia larÄo: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "nevalida taba grando: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "nevalida temparanÄo: %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Validaj argumentoj estas:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "eraro dum estigo de monataj signoĉenoj" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "nerekonata prefikso: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "valoro de ĉirkaÅ­aĵa variablo LS_COLORS ne analizeblas " #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "ne eblas malfermi dosierujon %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "ne eblas eltrovi aparaton kaj indeksnodon de %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: ne listiÄas jam listita dosierujo" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "legiÄas dosierujo %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "fermiÄas dosierujo %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "ne eblas kompari dosiernomojn %s kaj %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Listigas informon pri DOSIERUJOj (defaÅ­lte pri la aktuala).\n" "Alfabetigas la termojn se neniu de '-cftuvSUX' nek '--sort' indikatas.\n" "\n" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "UlriÄ¥ DREPER (Ulrich Drepper)" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Skot MILER (Scott Miller)" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David MADOR (David Madore)" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uzmaniero: %s [OPCIO...] [DOSIERO...]\n" "\n" "Montras aÅ­ kontrolas %s-kontrolsumojn (%d-bitajn).\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary legi en duuma moduso\n" " (defaÅ­lte kiam ne legiÄas terminala ĉefenigujo)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary legi en duuma moduso\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check legi %s-kontrolsumojn el la DOSIEROj kaj kontroli " "ilin\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text legi en teksta moduso\n" " (defaÅ­lte kiam legiÄas terminala ĉefenigujo)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text legi en teksta moduso (defaÅ­lte)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "La sekvaj tri opcioj nur utilas dum kontrolo de kontrolsumoj:\n" " --quiet ne eligi «bone» por ĉiu sukcese kontrolita dosiero\n" " --status ne eligi ion ajn; la elirstato montras (mal)sukceson\n" " -w, --warn averti pri malÄuste formitaj kontrolsumaj linioj\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict kun «--check»: eliri nenule por iu ajn nevalida " "enigo\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "La kontrolsumoj kalkuliÄas kiel estas priskribita en %s. Dum kontrolo,\n" "la enigo devas esti antaÅ­a eligo de ĉi tiu programo. La defaÅ­lta reÄimo\n" "estas eligi por ĉiu DOSIERO linion kiu konsistas de: kontrolsumo, signo kiu\n" "indikas la enigan moduson («*» por duuma, spaceto por teksta), kaj la nomo.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: tro multaj linioj de kontrolsumoj" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: linio %<PRIuMAX>: nevalida %s-kontrolsumo" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: malsukcesis malfermo aÅ­ lego\n" # Ĉi tiu priskribas malsaman kontrolsumon. #: src/md5sum.c:595 msgid "FAILED" msgstr "MALSAMAS" # Ĉi tiu priskribas kongruan kontrolsumon. #: src/md5sum.c:597 msgid "OK" msgstr "bonas" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: neniu valida %s-kontrolsumo troviÄas" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "AVERTO: %<PRIuMAX> linio malbone aranÄatas" msgstr[1] "AVERTO: %<PRIuMAX> linioj malbone aranÄatas" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "AVERTO: %<PRIuMAX> listita dosiero ne legeblas" msgstr[1] "AVERTO: %<PRIuMAX> listitaj dosieroj ne legeblas" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "AVERTO: %<PRIuMAX> kalkulita kontrolsumo NE kongruas" msgstr[1] "AVERTO: %<PRIuMAX> kalkulitaj kontrolsumoj NE kongruas" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "opcioj '--tag' kaj '--text' ne kombineblas" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "opcio '--tag' ne havas sencon dum sumkontrolo" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "opcioj '--binary' kaj '--text' ne havas sencon dum sumkontrolo" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "opcio '--status' nur havas sencon dum sumkontrolo" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "opcio '--warn' nur havas sencon dum sumkontrolo" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "opcio '--quiet' nur havas sencon dum sumkontrolo" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "opcio '--strict' nur havas sencon dum sumkontrolo" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Uzmaniero: %s [OPCIO...] DOSIERUJO...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Kreas la DOSIERUJO(j)n, se Äi aÅ­ ili ne jam ekzistas.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODUSO uzendaj permesoj (vidu 'chmod') anstataÅ­ de 'a=rwx - " "umask'\n" " -p, --parents ne estas eraro se jam ekzistas, kaj\n" " krei patrajn dosierujojn laÅ­bezone\n" " -v, --verbose eligi mesaÄon por ĉiu kreita dosierujo\n" " -Z, --context=KTT agordi sekurecan kuntekston de ĉiu kreita dosierujo al " "KTT\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "kreiÄas dosierujo %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Uzmaniero: %s [OPCIO...] NOMO...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Kreas nomhavajn duktojn (vicmemorojn) kun la indikataj NOMOj.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODUSO uzendaj permesoj (vidu 'chmod') anstataÅ­ de 'a=rw - " "umask'\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KTT agordi la sekurecan kuntekston de ĉiu NOMO al KTT\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "nevalida moduso" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "moduso povas indiki nur permesajn bitojn" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Uzmaniero: %s [OPCIO...] NOMO TIPO [ĈEFNUMERO KROMNUMERO]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Kreas specialan dosieron kun indikata NOMO kaj de indikata TIPO.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=KTT agordi la sekurecan kuntekston de NOMO al KTT\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "ĈEFNUMERO kaj KROMNUMERO ambaÅ­ indikendas kiam TIPO estas 'b' aÅ­ 'c' aÅ­ " "'u',\n" "kaj ili forlasendas kiam TIPO estas 'p'. Kiam ĈEFNUMERO aÅ­ KROMNUMERO " "komencas\n" "per '0x' aÅ­ '0X', Äi interpretiÄas kiel deksesuma; alie, se Äi komencas per " "'0',\n" "kiel okuma; alie, kiel dekuma. TIPO povas esti:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b krei blokan specialan dosieron (bufritan)\n" " c, u krei signan specialan dosieron (nebufritan)\n" " p krei vicmemoron ('FIFO'-n)\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Specialaj dosieroj postulas ĉefajn kaj kromajn aparatnumerojn." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Vicmemoro ('FIFO') ne havas ĉefan kaj kroman aparatnumeron." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blokaparatdosieroj ne subtenatas" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "signoaparatdosieroj ne subtenatas" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "nevalida ĉefa aparatnumero %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "nevalida kroma aparatnumero %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "nevalida aparato %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "nevalida aparattipo %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Erik BLEJK (Eric Blake)" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Uzmaniero: %s [OPCIO...] [ÅœABLONO]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "malsukcesis alidirektigi ĉeferar-eligujon al /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "tro multaj Åablonoj" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "kun opcio '--suffix', Åablono %s devas fini per X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "nevalida sufikso %s; Äi enhavas apartigilon de dosierujoj" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "tro malmultaj X en Åablono %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "nevalida Åablono %s; Äi enhavas apartigilon de dosierujoj" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "nevalida Åablono %s; kun opcio '--tmpdir' Äi ne rajtas esti absoluta" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "malsukcesis krei dosierujon tra Åablono %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "malsukcesis krei dosieron tra Åablono %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Renomas ORIGINOn al CELO, aÅ­ translokas ORIGINO(j)n al DOSIERUJO.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Uzmaniero: %s [OPCIO] [KOMANDO [ARGUMENTO...]]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Rulas KOMANDOn kun ÅanÄita afableco, kiu afektas procezan planadon.\n" "Sen iu KOMANDO, la nuna afableco eligiÄas. Afablecoj etendiÄas de\n" "%d (plej favora planado) al %d (malplej favora).\n" "\n" " -n, --adjustment=N aldoni entjeron N al la afableco (defaÅ­lte 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "nevalida alÄustigo %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "kune kun Äustigo endas indiki komandon" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "ne eblas eltrovi afablecon" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "ne eblas agordi afablecon" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Skot BARTREM (Scott Bartram)" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skribas kun inversa liniordo ĉiun indikatan DOSIEROn al ĉefeligujo.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "troo de lininumero" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "nevalida stilo por numeri kapliniojn: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "nevalida stilo por numeri korpliniojn: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "nevalida stilo por numeri piedliniojn: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "nevalida komenca lininumero: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "nevalida lininumera alkremento: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "nevalida nombro da malplenaj linioj: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "nevalida lininumera kampgrando: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "nevalida lininumera aranÄo: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s KOMANDO [ARGUMENTO...]\n" " aÅ­: %s OPCIO\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Rulas KOMANDOn, ignorante ajnajn 'hangup'-signalojn.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Se ĉefenigujo estas terminalo, alidirekti Äin de «/dev/null».\n" "Se ĉefeligujo estas terminalo, aldoni eligon al dosiero «nohup.out», se " "eblas,\n" "alie al «$HOME/nohup.out»\n" "Se ĉeferar-eliguo estas terminalo, alidirekti Äin al ĉefeligujo.\n" "Por savi la eligon al DOSIERO, uzu «%s KOMANDO > DOSIERO».\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "malsukcesis fari ĉefenigujon neuzebla" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "enigo ignoratas" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "enigo ignoratas, kaj eligo aldoniÄas al %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "eligo aldoniÄas al %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "malsukcesis agordi kopion de ĉeferar-eligujo fermiÄi je rulo" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "enigo ignoratas, kaj ĉeferar-eligujo alidirektiÄas al ĉefeligujo" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "ĉeferar-eligujo alidirektiÄas al ĉefeligujo" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "malsukcesis alidirektigi ĉeferar-eligujon" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Äœusepe SKRIVANO (Giuseppe Scrivano)" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uzmaniero: %s [OPCIO...]\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Eligi nombron de procesoraj unuoj kiuj disponeblas al la nuna procezo,\n" "kiu povas esti malpli ol la nombro de aktivaj procesoroj.\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all eligi la nombron de instalitaj procesoroj\n" " --ignore=NOMBRO se eblas, ekskluzivi NOMBROn de procesoraj unuoj\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: nevalida ignorenda nombro" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valoro ne komplete konvertiÄis" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "nevalida numero %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "nevalida sufikso en argumento de %s%s: «%s»" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "malsukcesis malfermi %s por skribado" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "nevalida taba grando: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uzmaniero: %s [OPCIO...] [UZANTO...]\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict kun «--check»: eliri nenule por iu ajn nevalida " "enigo\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Aliaj opcioj:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "aranÄo %s ne enhavas %%-indikon" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "nevalida dataranÄo: %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "aranÄo %s finiÄas per %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "aranÄo %s enhavas tro multajn %%-indikojn" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "nevalida sufikso en argumento de %s%s: «%s»" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "nevalida gamo de paÄoj: %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "nevalida kampnumero: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "nevalida dato %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "nekombineblas dosieraj argumentoj kun opcio «--files0-from»" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "nekombineblas dosieraj argumentoj kun opcio «--files0-from»" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "pluraj opcioj '-i' indikatas" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "nekombineblas dosieraj argumentoj kun opcio «--files0-from»" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "eraro dum legado de %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "malsukcesis fari ĉefenigujon neuzebla" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Uzmaniero: %s [OPCIO...] [DOSIERO...]\n" " aÅ­: %s [-abcdfilosx] [DOSIERO... [[+]DEÅœOVO[.][b]]\n" " aÅ­: %s --traditional [OPCIO...] [DOSIERO] [[+]DEÅœOVO[.][b]] [[+]" "ETIKEDO[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Eligas neambiguan reprezenton (per okumaj bajtoj defaÅ­lte)\n" "de DOSIERO al ĉefeligujo. Kun pli ol unu DOSIERO,\n" "ili kunmetiÄas en la indikata ordo por formi la enigon.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "NOMBRO povas havi obligilan sufikson:\n" "b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024,\n" "GB = 1000*1000*1000, G = 1024*1024*1024, ktp por T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "nevalida tipa ĉeno: %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "nevalida tipa ĉeno: %s\n" "ĉi tiu sistemo ne provizas entjertipon de %lu bajtoj" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "nevalida tipa ĉeno: %s\n" "ĉi tiu sistemo ne provizas glitkomtipon de %lu bajtoj" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "nevalida signo '%c' en tipa ĉeno %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "maleblas transsalti la finon de kombinata enigo" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "nevalida eligadresa bazo '%c'; Äi devas esti unu signo el [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "ne eblas indiki tipon kiam Åutendas ĉenoj" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "kongrua moduso permesas maksimume unu dosieron" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "la sumo de la argumentoj de '-j' kaj '-N' tro grandas" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "averto: nevalida larÄo %lu; uzatas %d anstataÅ­e" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: nevalida signalo" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "ĉefenigujo fermitas" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skribas liniojn kiuj konsistas de la kungluo de la sekve korespondaj linioj\n" "de ĉiu indikata DOSIERO, disigitaj per TABOJ, al ĉefeligujo.\n" "\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTO uzi la signojn el tiu LISTO anstataÅ­ tabojn\n" " -s, --serial alglui unu dosieron pofoje anstataÅ­ ĉiujn " "paralele\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "listo de disigiloj finas per nuda malsuprenstreko: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnozas nevalidajn aÅ­ neporteblajn dosiernomojn.\n" "\n" " -p fari kontrolon por la plejmulto de POSIX-sistemoj\n" " -P kontroli ankaÅ­ je vakaj nomoj kaj komencaj «-»\n" " --portability fari kontrolon por ĉiuj POSIX-sistemoj (egalas al '-p -" "P')\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "komenca '-' en ero de dosiernomo %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "neportebla signo %s en dosiernomo %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "vaka dosiernomo" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: ne eblas eltrovi maksimuman longecon de dosiernomo" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limon %lu transpasas longeco %lu de dosiernomo %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "limon %lu transpasas longeco %lu de dosiernomero %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Äœosef ARSENO (Joseph Arceneaux)" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kave GAZI (Kaveh Ghazi)" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " (nekonata)" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "-----" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Ensaluta nomo: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Vera nomo: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "(nekonata)\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Dosierujo: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Åœelo: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plano:\n" #: src/pinky.c:405 msgid "Login" msgstr "Saluto" #: src/pinky.c:407 msgid "Name" msgstr "Nomo" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Vakas" #: src/pinky.c:411 msgid "When" msgstr "Ensalutis" #: src/pinky.c:414 msgid "Where" msgstr "Kie" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Uzmaniero: %s [OPCIO...] [UZANTO...]\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l produkti eligon en longa aranÄo por la indikata(j) UZANTO" "(j)\n" " -b forlasi hejman dosierujon kaj Åelon de uzanto en longa " "aranÄo\n" " -h forlasi projektan dosieron de uzanto en longa aranÄo\n" " -p forlasi la 'plan'-dosieron de uzanto en longa aranÄo\n" " -s produkti eligon en mallonga aranÄo (ĉi tio estas la " "defaÅ­lto)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f forlasi la linion de kolumnaj ĉapoj en mallonga aranÄo\n" " -w forlasi plenan uzantnomon en mallonga aranÄo\n" " -i kiel '-w' sed ankaÅ­ forlasi foran gastiganton\n" " -q kiel '-i' sed ankaÅ­ forlasi vakan tempon\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Malpeza 'finger'-programo; eligas informon pri uzantoj.\n" "La uzita 'utmp'-dosiero estos %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "neniu uzantnomo indikatas; endas indiki almenaÅ­ unu nomo kiam '-l' uzatas" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pit TERMAT (Pete TerMaat)" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland HIBNER (Roland Huebner)" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "mankas argumento en '--page=UNUA_PAÄœO[:LASTA_PAÄœO]'" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "nevalida gamo de paÄoj: %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "nevalida nombro da linioj je opcio '-l': %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "nevalida komenca lininumero je opcio '-N': %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "nevalida marÄeno je opcio '-o': %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "nevalida nombro da signoj je opcio '-w': %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "nevalida nombro da signoj je opcio '-W': %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "ne eblas indiki nombro da kolumnoj kiam printiÄas horizontale" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "ne eblas printi ambaÅ­ vertikale kaj horizontale" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "troaj signoj aÅ­ nevalida nombro je opcio '-%c': %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "tro malgrandas paÄa larÄo" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "komenca paÄnumero %<PRIuMAX> pligrandas ol nombro da paÄoj %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "troo de paÄnumero" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "PaÄo %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Uzmaniero: %s [OPCIO...] [VARIABLO...]\n" "\n" "Eligas la valorojn de la indikata(j) ĉirkaÅ­aĵa(j) variablo(j).\n" "Sen iu VARIABLO, paroj de nomo kaj valoro por ĉiuj ekzistantaj eligiÄas.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null disigi eligon per nulbajtoj anstataÅ­ per novlinioj\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "averto: %s: signo(j) post signokonstanto ignoriÄas" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s ARANÄœO [ARGUMENTO...]\n" " aÅ­: %s OPCIO\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: numera valoro atendatas" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valoro ne komplete konvertiÄis" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "mankas deksesuma nombro" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "nevalida universala signonomo \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "nevalida kampgrando: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "nevalida precizo: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "nevalida konvertindiko: %.*s" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "averto: troaj argumentoj ignoratas, komence de %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "FransÅ­a PINAR (François Pinard)" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (por regulesprimo %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Uzmaniero: %s [OPCIO...] [ENIGO...] (sen '-G')\n" " aÅ­: %s -G [OPCIO...] [ENIGO [ELIGO]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" "DefaÅ­lte uziÄas opcio «-F /».\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "nevalida larÄo de fendo: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Eligas la kompletan dosiernomon de la aktuala labordosierujo.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical uzi PWD de la ĉirkaÅ­aĵo, eĉ se Äi enhavas simbolajn " "ligojn\n" " -P, --physical eviti ĉiujn simbolajn ligojn\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "malsukcesis ÅanÄi aktualan dosierujon al %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "malsukcesis eltrovi statinformon pri %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "malsukcesis trovi en %s dosierujan elementon kies indeksnodo kongruas" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignoratas ne-opciaj argumentoj" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitri LEVIN (Dmitry V. Levin)" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Uzmaniero: %s [OPCIO...] DOSIERO...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Montras la valoron de simbola ligo aÅ­ Äian norman dosiernomon.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignoratas ne-opciaj argumentoj" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "relativa pado generiÄas" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: ĉu eniri en kontraÅ­skribe protektatan dosierujon %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: ĉu eniri en dosierujon %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: ĉu forigi kontraÅ­skribe protektatan %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: ĉu forigi %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "forigiÄis dosierujo %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "ne eblas forigi dosierujon %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "transsaltatas %s, ĉar Äi estas en alia aparato" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "malsukcesis transiro: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "neatendita malsukceso: fts_info()=%d: %s\n" "bonvolu raporti ĉi tion al %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Tajpu '%s ./%s' por forigi dosieron %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "DefaÅ­lte, 'rm' ne forigas dosierujojn. Uzu opcion '--recursive' (-r aÅ­ -R)\n" "por ankaÅ­ forigi ĉiun indikatan dosierujon kaj Äian tutan enhavon.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: ĉu forigi ĉiujn argumentojn rikure? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: ĉu forigi ĉiujn argumentojn? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "forigiÄas dosierujo %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "malsukcesis forigi dosierujon %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Forigas ĉiun DOSIERUJOn, se Äi vakas.\n" "\n" " --ignore-fail-on-non-empty\n" " ignori ĉiun malsukceson kiu kaÅ­ziÄas nur per nevaka " "dosierujo\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents forigi la DOSIERUJOn kaj Äiajn patrajn; ekzemple\n" " «rmdir -p a/b/c» similas al «rmdir a/b/c a/b a»\n" " -v, --verbose eligi mesaÄon por ĉiu dosierujo kiu proceziÄis\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "malsukcesis forigi %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "pluraj roloj" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "pluraj tipoj" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "pluraj uzantoj" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "pluraj gamoj de niveloj" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "malsukcesis eltrovi aktualan kuntekston" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "nepras indiki '-c', '-l', '-r', '-t', '-u' aÅ­ kuntekston" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "neniu komando indikatas" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "eblas uzi %s nur je SE-Linuksa kerno" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "malsukcesis kalkuli novan kuntekston" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "malsukcesis agordi novan uzanton %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "malsukcesis agordi novan tipon %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "malsukcesis agordi novan gamon %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "malsukcesis agordi novan rolon %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "malsukcesis agordi sekurecan kuntekston %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Uzmaniero: %s [OPCIO...] LASTA\n" " aÅ­: %s [OPCIO...] UNUA LASTA\n" " aÅ­: %s [OPCIO...] UNUA PAÅœO LASTA\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "nevalida glitkoma argumento: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "aranÄo %s enhavas nekonatan %%%c-indikon" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "ne permesatas indiki aranÄon kiam eligiÄas egallarÄajn ĉenojn" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uzmaniero: %s [MALLONGA_OPCIO...] UZANTO KOMANDO [ARGUMENTO...]\n" " aÅ­: %s LONGA_OPCIO\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "nekonata uzant-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "por uzi uzant-ID %s nepras uzi ankaÅ­ opcion '-g'" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "malsukcesis agordi la pluajn grupojn" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "ne eblas agordi grupan ID-on al %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "ne eblas agordi uzantan ID-on al %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Kolin PLOM (Colin Plumb)" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "malsukcesis 'fdatasync' por %s" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "malsukcesis 'fsync' por %s" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "malsukcesis 'lseek' Äis komenco sur %s" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: paÅo %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: skrib-eraro je pozicio %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "malsukcesis 'lseek' sur %s" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: dosiero tro grandas" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: paÅo %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: paÅo %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "malsukcesis eltrovi statinformon pri malferma %s" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: nevalida dosiertipo" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: dosiero havas negativan grandon" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: eraro dum trunkado" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "malsukcesis fcntl() sur %s" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "maleblas tutviÅi nur-aldonan dosieron %s" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "forigiÄas %s" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s renomiÄis al %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "malsukcesis forigi %s" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "forigiÄis %s" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "malsukcesis fermi %s" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "malsukcesis malfermi %s por skribado" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "nevalida nombro de paÅoj: %s" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "pluraj aleatoraj fontoj indikatas" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: nevalida dosiergrando" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Uzmaniero: %s [OPCIO...] [DOSIERO]\n" " aÅ­: %s -e [OPCIO...] [ARGUMENTO...]\n" " aÅ­: %s -i DE-ÄœIS [OPCIO...]\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Skribas hazardan permuton de la enigaj linioj al ĉefeligujo.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo trakti ĉiun ARGUMENTOn kiel enigan linion\n" " -i, --input-range=DE-ÄœIS trakti ĉiun numeron ekde DE tra ÄœIS kiel " "enigan linion\n" " -n, --head-count=NOMBRO eligi maksimume NOMBRO liniojn\n" " -o, --output=DOSIERO eligi rezulton al DOSIERO anstataÅ­ al " "ĉefeligujo\n" " --random-source=DOSIERO preni hazardajn bajtojn el DOSIERO\n" " -z, --zero-terminated disigi eligon per nulbajtoj anstataÅ­ per " "novlinioj\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "pluraj opcioj '-i' indikatas" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "nevalida gamo: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "nevalida nombro de linioj: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "pluraj eligaj dosieroj indikatas" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "nekombineblas opcioj '-e' kaj '-i'" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "nevalida tempintervalo: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "malsukcesis legi realtempan horloÄon" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Eligas al ĉefeligujo elektitajn partojn de linioj de ĉiu DOSIERO.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Ordigantaj opcioj:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Aliaj opcioj:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated disigi eligon per nulbajtoj anstataÅ­ per " "novlinioj\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "atendado pri '%s [-d]'" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "'%s [-d]' finiÄis nenormale" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "malsukcesis krei provizoran dosieron en %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "malsukcesis malfermo" #: src/sort.c:970 msgid "fflush failed" msgstr "malsukcesis fflush()" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "malsukcesis fermo" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "malsukcesis dup2()" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "malsukcesis ruli %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "malsukcesis krei provizoran dosieron" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "malsukcesis krei novan procezon por '%s -d'" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "malsukcesis ruli '%s -d'" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "averto: malsukcesis forigi %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "nevalida argumento por opcio '--%s': %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "minimuma argumento por opcio '--%s' estas %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argumento por opcio '--%s' tro grandas: %s" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "maksimuma argumento por opcio '--%s' je aktuala 'rlimit' estas %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "paralelnombro devas esti pli ol nulo" #: src/sort.c:1494 msgid "stat failed" msgstr "malsukcesis eltrovi statinformon" #: src/sort.c:1755 msgid "read failed" msgstr "malsukcesis lego" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "malsukcesis transformi signoĉenon" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "la neÅanÄita ĉeno estas %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ neniu kongruo por klavo\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "uziÄis olda klavo %s; pripensu uzi %s anstataÅ­e" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "klavo %lu havas nulan larÄon kaj ignoriÄos" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "antaÅ­iraj spacetoj havas signifon en klavo %lu; pripensu indiki ankaÅ­ 'b'" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "klavo %lu estas numera kaj ampleksas plurajn kampojn" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "opcio «-%s» ignoratas" msgstr[1] "opcioj «-%s» ignoratas" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "opcio «-r» aplikas nur al lastebla komparo" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "malsukcesis skribo" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: malordo: " #: src/sort.c:2786 msgid "standard error" msgstr "ĉeferar-eligujo" #: src/sort.c:3698 msgid "cannot read" msgstr "ne eblas legi" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: nevalida kampindiko %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "nekombineblas opcioj «-%s»" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: nevalida nombro je komenco de %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "nevalida numero post '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "nevalida numero post '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "hazarda signo en kampindiko" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "pluraj kunpremaj programoj indikatas" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "nevalida numero je kampkomenco" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "kampnumero estas nulo" #: src/sort.c:4392 msgid "character offset is zero" msgstr "signopozicio estas nulo" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "nevalida numero post ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "vaka tabo" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "malsukcesis legi dosiernomojn el %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: nevalida dosiernomo (longo nulas)" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "neniu enigo el %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "uzatas %s ordigaj reguloj" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "uzatas simpla bajtkomparo" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "aldona argumento %s ne permesatas por '-%c'" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "longo de sufikso nepras esti almenaÅ­ %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Uzmaniero: %s [OPCIO...] [ENIGO [PREFIKSO]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "elirdosieraj sufiksoj elĉerpiÄis" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "kreiÄas dosiero %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s anstataÅ­igus la enigon -- abortiÄas" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "malsukcesis agordi ĉirkaÅ­aĵan variablon FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "plenumiÄas kun FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "malsukcesis krei dukton" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "fermiÄas antaÅ­a dukto" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "fermiÄas eliga dukto" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "moviÄas eniga dukto" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "fermiÄas eniga dukto" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "malsukcesis ruli komandon \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "malsukcesis fermi enigan dukton" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "atendado pri ida procezo" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "kun FILE=%s, signalo %s el komando %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "kun FILE=%s, eliro %d el komando %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "nekonata rezulto (0x%X) el komando" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "maleblas dividi en pluraj manieroj" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "nevalida nombro da pecoj: %s" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "nevalida pecnumero: %s" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "nevalida sufikslongo: %s" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "nevalida nombro da bajtoj: %s" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "nevalida nombro da linioj: %s" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "lininombro '-%s%c...' tro grandas" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: nevalida komenca valoro por numera sufikso" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "nevalida grando por IO-bloko: %s" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "opcio «--filter» ne pritraktas pecon eligatan al ĉefeligujo" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "komenca valoro de numereca sufikso tro grandas por sufikslongo" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: ne eblas eltrovi dosiergrandon" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Majkel MESKES (Michael Meskes)" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "malsukcesis normaligi %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "averto: nerekonata eskapsigno '\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "nevalida indiko: %s" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "averto: malsuprenstreko je aranÄofino" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "uzi %s por indiki ĉefenigujo ne funkcias en dosiersistema moduso" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "malsukcesis legi en dosiersistemo informon pri %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "malsukcesis eltrovi statinformon pri ĉefenigujo" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Dosiero: \"%n\"\n" " ID: %-8i Nomlongo: %-7l Tipo: %T\n" "Blokgrando: %-10s Baza blokgrando: %S\n" "Blokoj -- Tutaj: %-10b Liberaj: %-10f Disponeblaj: %a\n" "I-nodoj -- Tutaj: %-10c Liberaj: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Dosiero: %N\n" " Grando: %-10s Blokoj: %-10b IO-bloko: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Aparato: %Dh/%dd I-nodo: %-10i Ligoj: %-5h Aparattipo: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Aparato: %Dh/%dd I-nodo: %-10i Ligoj: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Atingo: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kunteksto: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Atingo: %x\n" "Modifo: %y\n" "ÅœanÄo: %z\n" "Kreo: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Uzmaniero: %s OPCIO... KOMANDO\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "malsukcesis trovi %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "malsukcesis Äisdatigi la ĉirkaÅ­aĵon kun %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "linia bufrado de ĉefenigaĵo sensencas" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Uzamniero: %s [-F APARATO | --file=APARATO] [AGORDO...]\n" " aÅ­: %s [-F APARATO | --file=APARATO] [-a|--all]\n" " aÅ­: %s [-F APARATO | --file=APARATO] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Regas la tty-lineon konektatan al ĉefenigujo. Sen argumentoj, eligas\n" "rapidecon, linean protokolon, kaj diferencojn disde '/stty sane'. En ecoj,\n" "SIGNO prezentas sin mem, aÅ­ estas kodita (ekzemple ^c, 0x37, 0177, aÅ­ 127);\n" "la specialaj valoroj '^-' aÅ­ 'undef' malebligas specialajn signojn.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "eblas indiki nur unu aparaton" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "nekombineblas opcioj '-a' kaj '-g' (por hom-legebla kaj stty-legebla eligo)" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "ne permesatas indiki reÄimon kune kun indiko de eligostilo" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: malsukcesis reagordi nebarantan moduson" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "nevalida argumento %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "mankas argumento al %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "nevalida protokolo %s por lineo" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: ne eblas efiki ĉiujn petatajn operaciojn" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: mankas informo pri grando de ĉi tiu aparato" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "nevalida entjerargumento %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kejven AGEJPUR (Kayvan Aghaiepour)" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Eligas kontrolsumon kaj nombron de blokoj por ĉiu DOSIERO.\n" "\n" " -r uzi BSD-sumalgoritmon, uzi blokojn de 1K\n" " -s, --sysv uzi Sistemo V-sumalgoritmon, uzi blokojn de 512 bajtoj\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Devigas skribon de ÅanÄitaj blokoj al disko, kaj Äisdatigas la superblokon.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignoratas ĉiuj argumentoj" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help montri ĉi tiun helpon kaj eliri\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version montri programversion kaj eliri\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "(Endaj argumentoj por longaj opcioj ankaÅ­ endas por la mallongaj.)\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Raportu programmisojn en «%s» al <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Sciigu tradukerarojn en «%s» al <translation-team-eo@lists.sourceforge." "net>.\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "Por kompleta dokumentado rulu: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Tajpu '%s --help' por pli da informoj.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Äœej LEPRO (Jay Lepreau)" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skribas kun inversa liniordo ĉiun indikatan DOSIEROn al ĉefeligujo.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "malsukcesis 'seek' sur %s" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "rikordo tro grandas" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "malsukcesis krei provizoran dosieron en %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "malsukcesis malfermi %s por skribado" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "malsukcesis revolvi fluon por %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: skrib-eraro" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "malsukcesis malfermi %s por legi" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "disigilo ne povas esti vaka" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ien Lans TEJLOR (Ian Lance Taylor)" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Eligas la %d lastajn liniojn de ĉiu indikata DOSIERO al ĉefeligujo.\n" "Kun plu ol unu DOSIERO, eligas la dosiernomon antaÅ­ la liniojn.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "fermiÄas %s (dosiernumero=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: ne eblas fari 'seek' al relativa pozicio %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: ne eblas fari 'seek' al finrelativa pozicio %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "ne eblas eltrovi lokon de %s; uzatas nun skrutinio" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s iÄis neatingebla" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s anstataÅ­iÄis per nesekvebla dosiero; rezignatas pri ĉi tiu nomo" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s anstataÅ­iÄis per fora dosiero; rezignatas pri ĉi tiu nomo" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s iÄis atingebla" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s aperis; sekvatas fino de nova dosiero" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s anstataÅ­iÄis; sekvatas fino de nova dosiero" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: ne eblas ÅanÄi nebarantan moduson" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: dosiero trunkitas" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "ne restas dosieroj" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "ne eblas rigardadi patran dosierujon de %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "mankas sufiĉaj risurcoj por 'inotify'" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "ne eblas rigardadi %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "eraro dum rigardado de 'inotify'-evento" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "eraro dum legado de 'inotify'-evento" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s anstataÅ­iÄis per fora dosiero; rezignatas pri ĉi tiu nomo" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "nombro en %s tro grandas" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "nevalida nombro da senÅanÄaj statinformoj inter malfermoj: %s" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: nevalida PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: nevalida nombro da sekundoj" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opcio uzatas en nevalida kunteksto -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "averto: opcio '--retry' ĉefe utilas dum sekvado je nomo" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "averto: PID ignoratas; opcio '--pid=PID' ĉefe utilas nur dum sekvado" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "averto: opcio '--pid=PID' ne subtenatas en ĉi tiu sistemo" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "ne eblas sekvi %s je nomo" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "averto: sekvi ĉefenigujon senĉese ne efikas" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "ne eblas uzi 'inotify'; uzatas nun skrutinio" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopias ĉefenigujon al ĉiu indikata DOSIERO, kaj ankaÅ­ al ĉefeligujo.\n" "\n" " -a, --append postglui al la indikataj DOSIEROj, ne " "anstataÅ­igi\n" " -i, --ignore-interrrupts ignori interrompsignalojn\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Kiam DOSIERO estas «-», kopii denove al ĉefeligujo.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "mankas argumento post %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "nevalida entjero %s" #: src/test.c:241 msgid "')' expected" msgstr "')' atendatas" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' atendatas, %s trovitas" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "unuloka operacisigno atendatas, %s trovitas" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "'-nt' ne akceptas '-l'" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "'-ef' ne akceptas '-l'" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "'-ot' ne akceptas '-l'" #: src/test.c:367 msgid "unknown binary operator" msgstr "nekonata duloka operacisigno" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "duloka operacisigno atendatas, %s trovitas" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Uzamaniero: test ESPRIMO\n" " aÅ­: test\n" " aÅ­: [ ESPRIMO ]\n" " aÅ­: [ ]\n" " aÅ­: [ OPCIO\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "'test' kajaÅ­ '['" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin BRAŬNSDORF (Kevin Braunsdorf)" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Mefju BREDBORN (Matthew Bradburn)" #: src/test.c:858 msgid "missing ']'" msgstr "mankas ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "superflua argumento: %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "averto: malsukcesis krei horloÄon" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "averto: malsukcesis agordi horloÄtempon" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "averto: malsukcesis krei horloÄon" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Uzmaniero: %s [OPCIO] DAŬRO KOMANDO [ARGUMENTO...]\n" " aÅ­: %s [OPCIO]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Startas KOMANDOn, kaj ĉesigas Äin kiam Äi ankoraÅ­ rulas post DAŬRO.\n" "\n" "(Endaj argumentoj por longaj opcioj ankaÅ­ endas por la mallongaj.)\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "averto: malsukcesis malÅalti nekropsiojn" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "eraro dum atendado je komando" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Äœim KINGDON (Jim Kingdon)" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Rendi SMIF (Randy Smith)" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "nevalida dataranÄo: %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "ne eblas tuÅi %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "agordiÄas tempoj de %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "nekombineblas opcio '-t' kun '-d' aÅ­ '-r'" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "averto: 'touch %s' arkaikas;\n" "uzu 'touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Uzmaniero: %s [OPCIO...] ARO1 [ARO2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "averto: plursenca okuma eskapsigno \\%c%c%c\n" " kompreniÄas kiel du-bitoka sekvo: \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "averto: necitata malsuprenstreko ĉe la fino de signoĉeno ne transporteblas" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "la gamekstremoj en '%s-%s' estas en inversa ordo" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "nevalida ripeta nombro %s en konstruo «[s*n]»" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "mankas signoklasa nomo en '[::]'" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "mankas ekvivalentklasa signo en '[::]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "nevalida signoklaso %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ekvivalentklasa argumento nepras esti ununura signo" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "misorda konstruo kun '[:upper:]' kajaÅ­ '[:lower:]'" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "tro multaj signoj en aro" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "kiam dum traduko ARO1 pli longas ol ARO2,\n" "la lasta ĉeno ne rajtas fini per signoklaso" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "ripeta konstruo «[s*]» ne permesatas en ARO1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "nur unu ripeta konstruo «[s*]» permesatas en ARO2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "dum traduko esprimoj «[=s=]» ne permesatas en ARO2" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "dum traduko nur la signoklasoj 'upper' kaj 'lower' permesatas en ARO2" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "kiam ARO1 ne trunkiÄas, ARO2 devas esti nevaka" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "dum traduko kun komplementaj signoklasoj,\n" "ARO2 devas bildigi ĉiujn signojn en la domajno al unu" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "ripeta konstruo «[s*]» permesatas en ARO2 nur dum traduko" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Endas indiki du signoĉenojn kiam kaj forigiÄas kaj kunpremiÄas ripetoj." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Endas indiki du signoĉenojn kiam tradukiÄas." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "Nur unu signoĉeno permesatas kiam forigiÄas sen kunpremi ripetojn." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s [ignorataj argumentoj]\n" " aÅ­: %s OPCIO\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Eliras kun rezultkodo kiu indikas sukceson." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Eliras kun rezultkodo kiu indikas malsukceson." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Uzmaniero: %s OPCIO... DOSIERO...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "troo en %<PRIdMAX> * %<PRIdMAX>-bajtaj blokoj por dosiero %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s havas neuzeblan, Åajne negativan grandon" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "ne eblas eltrovi grandon de %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "troo dum rondigo de grando de dosiero %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "troo dum etendo de grando de dosiero %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "malsukcesis trunki %s al %<PRIdMAX> bajtoj" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "pluraj relativaj modifiloj indikatas" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "nepras indiki aÅ­ %s aÅ­ %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "nepras indiki relativan %s kun %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "indikatas %s sen %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "malsukcesis malfermi %s por skribi" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark KETENIS (Mark Kettenis)" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uzmaniero: %s [OPCIO] [DOSIERO]\n" "\n" "Eligas tute ordigitan liston kiu koheras kun la parta ordo en DOSIERO.\n" "\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: enigo enhavas malparecan nombron de simboloj" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: enigo enhavas iteracion:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Montras la dosiernomon de la terminalo kiu estas konektata al ĉefenigujo.\n" "\n" " -s, --silent, --quiet eligi nenion, nur produkti elirstaton\n" #: src/tty.c:120 msgid "not a tty" msgstr "ne estas 'tty'" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Montras certan informon pri la komputilo. Sen iu OPCIO, opcio «-s» " "kompreniÄas.\n" "\n" " -a, --all montri ĉiujn informojn en la ordo de la " "sekvantaj\n" " opcioj, forlasante «-p» kaj «-i» se ili " "nekonatas\n" " -s, --kernel-name montri la nomon de la kerno\n" " -n, --nodename montri la retnomon de la komputilo\n" " -r, --kernel-release montri la eldonon de la kerno\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version montri la version de la kerno\n" " -m, --machine montri la klason de la procesoro\n" " -p, --processor montri la tipon de la procesoro aÅ­ «unknown»\n" " -i, --hardware-platform montri la klason de la komputilo aÅ­ «unknown»\n" " -o, --operating-system montri la nomon de la mastruma sistemo\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Montras la arkitekturon de la komputilo.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "malsukcesis eltrovi la nomon de la sistemo" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertas spacetojn en ĉiu DOSIERO al taboj, skribante al ĉefeligujo.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all konverti ĉiujn blankspacojn anstataÅ­ nur la komencajn\n" " --first-only konverti nur komencan sinsekvon de blankspacoj (nuligas " "'-a')\n" " -t, --tabs=NMBRO meti tabojn dise je NMBRO anstataÅ­ 8 pozicioj (ebligas '-" "a')\n" " -t, --tabs=LISTO uzi komadisigatan LISTOn de tabpozicioj (ebligas '-a')\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabaj pozicioj tro malproksimas" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "taba pozicio estas tro granda" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Uzmaniero: %s [OPCIO...] [ENIGDOSIERO [ELIGDOSIERO]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtras apudajn kongruajn linioj elde ENIGDOSIERO (aÅ­ ĉefenigujo),\n" "kaj skribas la restaĵon al ELIGDOSIERO (aÅ­ ĉefeligujo).\n" "\n" "Sen opcioj, kongruaj linioj estas kunfandataj al la unua okazo.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count prefiksi liniojn per la nombro de okazoj\n" " -d, --repeated montri nur la ripetitajn liniojn\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=disigmetodo] montri ĉiujn ripetitajn liniojn;\n" " disigmetodo povas esti 'none' (defaÅ­lte), " "'prepend',\n" " aÅ­ 'separate'; disigo fariÄas per vakaj linioj\n" " -f, --skip-fields=N eviti kompari la unuajn N kampojn\n" " -i, --ignore-case ignori malsamecojn usklecajn je komparo\n" " -s, --skip-chars=N eviti kompari la unuajn N signojn\n" " -u, --unique nur montri unikajn liniojn\n" " -z, --zero-terminated fini liniojn per NUL-bajto anstataÅ­ novlinio\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N kompari en ĉiu linio ne pli ol N signoj\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Kampo estas vico de blankspacoj (kutime spacetoj kaj/aÅ­ taboj) kaj poste\n" "neblankaj signoj. Kampoj saltiÄas antaÅ­ signoj.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Notu: 'uniq' nur rimarkas ripetitajn liniojn kiam ili estas apudaj.\n" "Vi eble volas unue ordigi la enigon, aÅ­ uzi 'sort -u' sen 'uniq'.\n" "AnkaÅ­, komparoj honoras la regulojn indikatajn de 'LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "tro da ripetitaj linioj" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "nevalida nombro de saltendaj kampoj" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "nevalida nombro de saltendaj bajtoj" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "nevalida nombro de komparendaj bajtoj" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "sensencas montri kaj ĉiujn ripetitajn liniojn kaj la ripetnombrojn" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s DOSIERO\n" " aÅ­: %s OPCIO\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Forigas la indikatan DOSIEROn per alvoko al funkcio 'unlink()'.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "malsukcesis forigi %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "ne eblas eltrovi la tempon de praÅargo" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "rulas ??? tagoj ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "rulas %ld tago %2d:%02d, " msgstr[1] "rulas %ld tagoj %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "rulas %ld tago %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu uzanto" msgstr[1] "%lu uzantoj" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", meznombra ÅarÄo: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Montras la nunan tempon, la daÅ­ron kiu la sistemo jam rulas, la nombro\n" "de uzantoj, kaj la meznombro de taskoj en la rulvico dum la lastaj 1, 5\n" "kaj 15 minutoj." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Procezoj en ne-interrompebla dormstato ankaÅ­ kontribuas\n" "al la meznombra ÅarÄo.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Se DOSIERO ne indikatas, %s uzatas. Kiel DOSIERO kutimas %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Montras kiuj estas aktuale ensalutitaj laÅ­ DOSIERO.\n" "Se DOSIERO ne indikatas, %s uzatas. Kiel DOSIERO kutimas %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Montras la nombrojn de novlinioj, vortoj kaj bajtoj por ĉiu DOSIERO,\n" "kaj plue linion de totaloj se pli ol unu DOSIERO indikatas.\n" "Sen DOSIERO, aÅ­ kiam DOSIERO estas «-», ĉefenigujo legiÄas.\n" "Vorto estas nenullonga vico de signoj limigita de blankspaco.\n" "\n" "La subaj opcioj uzeblas por elekti kiuj nombroj montriÄos, sed ĉiam en la\n" "sekvanta ordo: novlinioj, vortoj, signoj, bajtoj, kaj maksimuma linilongo.\n" "\n" " -c, --bytes montri la nombron de bajtoj\n" " -m, --chars montri la nombron de signoj\n" " -l, --lines montri la nombron de novlinioj\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=DOS legi la enigon el la dosieroj kiuj indikatas en la\n" " dosiero DOS per NUL-finitaj nomoj; se DOS estas " "«-»,\n" " la nomoj legiÄas el ĉefenigujo\n" " -L, --max-line-length montri la longon de la plej longa linio\n" " -w, --words montri la nombron de vortoj\n" # Kiam uzanto jam tre longe ne faras ion ajn. #: src/who.c:210 msgid " old " msgstr "longe" #: src/who.c:440 msgid "system boot" msgstr "(starto)" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "eliro=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "horloÄÅanÄo" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "rulnivelo" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "antaÅ­a=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "nombro da uzantoj=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "Nomo" #: src/who.c:559 msgid "LINE" msgstr "Terminalo" #: src/who.c:559 msgid "TIME" msgstr "Ensalutis" #: src/who.c:559 msgid "IDLE" msgstr "Vakas" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "Komento" #: src/who.c:560 msgid "EXIT" msgstr "Eliro" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Uzmaniero: %s [OPCIO...] [ DOSIERO | ARGUMENTO1 ARGUMENTO2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Montras informon pri la aktuale ensalutitaj uzantoj.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all egalas al «-b -d --login -p -r -t -T -u»\n" " -b, --boot montri tempon de lasta sistemstarto\n" " -d, --dead montri ankaÅ­ mortajn procezojn\n" " -H, --heading montri linion de kolumno-kapoj\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login montri ensalutajn procezojn de la sistemo\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup provi normaligi gastnomojn per DNS\n" " -m montri nur gastnomon kaj uzanton kiu uzas ĉefenigujon\n" " -p, --process montri aktivajn procezojn kiuj kreiÄis far 'init'\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count montri nur nomojn kaj nombron de ensalutitaj uzantoj\n" " -r, --runlevel montri nunan rulnivelon\n" " -s, --short montri nur nomon, terminalon kaj tempon (defaÅ­lte)\n" " -t, --time montri la lastan sistemhorloÄan ÅanÄon\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg aldoni mesaÄan staton de la uzanto kiel «+», «-» aÅ­ «?»\n" " -u, --users montri ensalutitajn uzantojn\n" " --message egalas al «-T»\n" " --writable egalas al «-T»\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Se DOSIERO ne indikatas, %s uzatas. Kutimas %s kiel DOSIERO.\n" "Kiam du ARGUMENTOj indikatas («estas mi» eblas), opcio «-m» kompreniÄas.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Montras la uzantnomon de la aktuala uzanta ID-o.\n" "Samas al 'id -un'.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: ne eblas eltrovi nomon por uzanta ID-o %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Uzmaniero: %s [ĈENO...]\n" " aÅ­: %s OPCIO\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "DaÅ­re eligas linion kun (ĉiuj) indikata(j) ĈENO(j), aÅ­ 'y'.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "uziÄas aritmetiko de simpla precizeco" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "uziÄas aritmetiko de arbitra precizeco" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "kreiÄas dosiero %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Uzmaniero: %s [OPCIO] NOMO...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "nevalida sufikslongo: %s" #~ msgid "reading %s" #~ msgstr "legiÄas %s" #~ msgid "writing %s" #~ msgstr "skribiÄas %s" #~ msgid "closing %s" #~ msgstr "fermiÄas %s" #~ msgid "accessing %s" #~ msgstr "atingiÄas %s" #~ msgid "opening %s" #~ msgstr "malfermiÄas %s" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "AVERTO: malrekomendatas '--page-increment'; uzu '--line-increment' " #~ "anstataÅ­e" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "(Endaj argumentoj por longaj opcioj ankaÅ­ endas por la mallongaj.)\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Opcio '--string' sen nombro implikas 3; opcio '--width' sen nombro " #~ "implikas 32.\n" #~ "DefaÅ­lte 'od' uzas '-A o -t oS -w16'.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uzmaniero: %s [OPCIO...] DOSIERO\n" #~ msgid "Password:" #~ msgstr "Pasvorto:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ne eblas malfermi /dev/tty" #~ msgid "cannot set groups" #~ msgstr "malsukcesis agordi grupojn" #~ msgid "cannot set group id" #~ msgstr "malsukcesis agordi grupan ID-on" #~ msgid "cannot set user id" #~ msgstr "malsukcesis agordi uzantan ID-on" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uzmaniero: %s [OPCIO...] [-] [UZANTO [ARGUMENTO...]]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "ÅœanÄas la efektivan uzant-ID-on kaj grup-ID-on al tiu de UZANTO.\n" #~ "\n" #~ " -, -l, --login fari la Åelon ensaluta Åelo\n" #~ " -c. --command=KOMANDO pasi ununuran KOMANDOn al la Åelo kun " #~ "opcio '-c'\n" #~ " -f, --fast pasi opcion '-f' al la Åelo (por 'csh' aÅ­ " #~ "'tcsh')\n" #~ " -m, --preserve-environment ne reagordi ĉirkaÅ­aĵajn variablojn\n" #~ " -p egalas al '-m'\n" #~ " -s, --shell=ÅœELO lanĉi ÅœELOn (se /etc/shells permesas Äin)\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Nura «-» implikas «-l». Kiam UZANTO ne indikatas, \"root\" supoziÄas.\n" #~ msgid "user %s does not exist" #~ msgstr "uzanto %s ne ekzistas" #~ msgid "incorrect password" #~ msgstr "malÄusta pasvorto" #~ msgid "using restricted shell %s" #~ msgstr "uzatas limigita Åelo %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "averto: malsukcesis ÅanÄi dosierujon al %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Ekzemploj:\n" #~ " %s /usr/bin/sort Eligaĵo estas \"sort\".\n" #~ " %s include/stdio.h .h Eligaĵo estas \"stdio\".\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uzmaniero: %s NOMO\n" #~ " aÅ­: %s OPCIO\n" #~ msgid "cannot create link %s" #~ msgstr "ne eblas krei ligon %s" #~ msgid "Filesystem " #~ msgstr "Dosiersistemo " #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " I-nodoj I-uzata Ilibr Iuza%" #~ msgid " Size Used Avail Use%" #~ msgstr " Grand Uzat Liber Uza%" #~ msgid " Size Used Avail Use%" #~ msgstr " Grando Uzata Liber Uza%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blokoj Uzataj Liberaj Kapacito" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blokoj Uzataj Liberaj Uza%%" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "AVERTO: malrekomendatas '--preserve_context'; uzu '--preserve-context' " #~ "anstataÅ­e" #~ msgid "invalid number of lines: 0" #~ msgstr "nevalida nombro da linioj: 0" #~ msgid "invalid argument: %s" #~ msgstr "nevalida argumento: %s" #~ msgid "cannot remove directory %s" #~ msgstr "ne eblas forigi dosierujon %s" #~ msgid "non-numeric argument" #~ msgstr "nenumera argumento" #~ msgid "cannot run command %s" #~ msgstr "ne eblas ruli komandon %s" ����������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pt_BR.po��������������������������������������������������������������������������0000664�0000000�0000000�00001520212�12107204513�012330� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-8.18-pre1.po to Brazilian Portuguese # Tradução para o português do Brasil das mensagens do "coreutils" # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Cyro Mendes De Moraes Neto <neto@conectiva.com.br>, 1998. # Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 2001. # Juan Carlos Castro y Castro <jcastro@vialink.com.br>, 2003. # Rodolfo Ribeiro Gomes <rodolforg@gmail.com>, 2008, 2010, 2012. # msgid "" msgstr "" "Project-Id-Version: coreutils-8.18-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-06-24 16:47-0300\n" "Last-Translator: Rodolfo Ribeiro Gomes <rodolforg@gmail.com>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." "net>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%s é um argumento inválido para %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%s é um argumento ambíguo para %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Os argumentos válidos são:" #: lib/closein.c:100 msgid "error closing file" msgstr "erro ao fechar o arquivo" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "erro de gravação" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "preservando permissões para %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Erro desconhecido de sistema" #: lib/file-type.c:38 msgid "regular empty file" msgstr "arquivo comum vazio" #: lib/file-type.c:38 msgid "regular file" msgstr "arquivo comum" #: lib/file-type.c:41 msgid "directory" msgstr "diretório" #: lib/file-type.c:44 msgid "block special file" msgstr "arquivo especial de bloco" #: lib/file-type.c:47 msgid "character special file" msgstr "arquivo especial de caractere" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "ligação simbólica" #: lib/file-type.c:56 msgid "socket" msgstr "soquete" #: lib/file-type.c:59 msgid "message queue" msgstr "fila de mensagens" #: lib/file-type.c:62 msgid "semaphore" msgstr "semáforo" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objeto de memória compartilhada" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objeto de memória tipificada" #: lib/file-type.c:70 msgid "weird file" msgstr "arquivo estranho" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Não há suporte para família de endereços para nome de máquina" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Falha temporária na resolução de nome" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valor inválido para ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Falha irrecuperável na resolução de nome" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "Não há suporte para a ai_family" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Falha na alocação de memória" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nenhum endereço associado ao nome de máquina" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nome ou serviço desconhecido" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "ai_socktype não tem suporte a nome de serviço" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "não há suporte a ai_socktype" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Erro de sistema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Memória para argumentos muito pequena" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Processamento da requisição em andamento" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Requisição cancelada" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Requisição não cancelada" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Todas as requisições foram realizadas" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrompido por um sinal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Texto do parâmetro codificado incorretamente" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Erro desconhecido" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a opção \"%s\" está ambígua; possibilidades:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a opção \"--%s\" não admite argumentos\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a opção \"%c%s\" não admite argumentos\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a opção \"--%s\" exige um argumento\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opção desconhecida \"--%s\"\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opção desconhecida \"%c%s\"\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opção inválida -- \"%c\"\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opção exige um argumento -- \"%c\"\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a opção \"-W %s\" está ambígua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a opção \"-W %s\" não admite argumentos\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a opção \"-W %s\" exige um argumento\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "é impossível mudar as permissões de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "é impossível criar o diretório %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memória esgotada" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "incapaz de registrar o diretório atual de trabalho" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "falhou em retornar ao diretório inicial de trabalho" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "“" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fim de arquivo" #: lib/regcomp.c:131 msgid "Success" msgstr "Sucesso" #: lib/regcomp.c:134 msgid "No match" msgstr "Nenhuma ocorrência do padrão" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expressão regular inválida" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Caractere inválido de colagem" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nome inválido de categoria de caracteres" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Barra invertida excedente ao final" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Retrorreferência inválida" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ ou [^ sem correspondente" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( ou \\( sem correspondente" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ sem correspondente" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Conteúdo inválido de \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Fim inválido de intervalo" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memória esgotada" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "A expressão regular precedente é inválida" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fim prematuro da expressão regular" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Expressão regular grande demais" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") ou \\) sem correspondente" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nenhuma expressão regular anterior" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "é perigoso operar recursivamente em %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "é perigoso operar recursivamente em %s (o mesmo que em %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "use --no-preserve-root para contornar esta segurança" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sS]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "definindo permissões para %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Desconexão" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interrupção" #: lib/siglist.h:37 msgid "Quit" msgstr "Desistência" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Instrução ilegal" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Armadilha de ponto de interrupção/interceptações" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abortado" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Exceção de vírgula flutuante" #: lib/siglist.h:52 msgid "Killed" msgstr "Morto" #: lib/siglist.h:55 msgid "Bus error" msgstr "Erro no barramento" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Falha de segmentação" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Duto quebrado" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Relógio de alarme" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminado" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condição de E/S urgente" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Suspenso (sinal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Suspenso" #: lib/siglist.h:79 msgid "Continued" msgstr "Continuado" #: lib/siglist.h:82 msgid "Child exited" msgstr "Processo filho saiu" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Suspenso (entrada tty)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Suspenso (saída tty)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O possível" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Limite de tempo na CPU excedido" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Limite de tamanho de arquivo excedido" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Temporizador virtual expirou" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Temporizador de perfilamento expirou" #: lib/siglist.h:106 msgid "Window changed" msgstr "Janela alterada" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Sinal definido pelo usuário 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Sinal definido pelo usuário 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Armadilha de EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Chamada inválida de sistema" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Falha de pilha" #: lib/siglist.h:126 msgid "Information request" msgstr "Requisição de informação" #: lib/siglist.h:128 msgid "Power failure" msgstr "Falha de energia" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Recurso perdido" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "não foi possível criar duto" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "subprocesso de %s falhou" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Sinal de tempo real %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Sinal desconhecido %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "função iconv não utilizável" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "função iconv não disponível" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "caractere fora de faixa" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "impossível converter U+%04X para o conjunto local de caracteres" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "impossível converter U+%04X para o conjunto local de caracteres: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "usuário inválido" #: lib/userspec.c:107 msgid "invalid group" msgstr "grupo inválido" #: lib/userspec.c:108 msgid "invalid spec" msgstr "spec inválido" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "incapaz de mostrar mensagem de erro" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empacotado por %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empacotado por %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl." "html>\n" "Este é um software livre: você é livre para alterá-lo e redistribuí-lo.\n" "NÃO Hà GARANTIA, na máxima extensão permitida pela lei.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Escrito por %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Escrito por %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s\n" "e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s e %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Escrito por %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s e outros.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Relate os problemas para: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Relate os problemas de %s para: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "página de %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "página de %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Ajuda geral sobre uso de software GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle falhou" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "não foi possível restaurar o descritor de arquivo %d: dup2 falhou" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "subprocesso de %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "subprocesso de %s recebeu o sinal fatal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "entrada padrão" #: lib/xfreopen.c:36 msgid "stdout" msgstr "saída padrão" #: lib/xfreopen.c:37 msgid "stderr" msgstr "erro padrão" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "fluxo desconhecido" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "falhou em reabrir %s com modo %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "a comparação dos textos falhou" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Defina LC_ALL='C' para contornar o problema." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Os textos comparados foram %s e %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "não é possível formatar a saída" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "argumento inválido para %s%s: \"%s\"" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "sufixo inválido no argumento para %s%s: \"%s\"" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argumento de %s%s \"%s\" é grande demais" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Uso: %s [OPÇÃO]... [ARQUIVO]\n" "Codifica ou decodifica na Base64 o ARQUIVO, ou a entrada padrão, para a " "saída\n" "padrão.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode decodifica os dados\n" " -i, --ignore-garbage ao decodificar, ignora caracteres não alfabéticos\n" " -w, --wrap=COLS quebra linhas codificadas após COLS caracteres\n" " (padrão: 76).\n" " Use 0 para desabilitar\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Os dados são codificados como descrito para o alfabeto base64 na RFC 3548.\n" "Na decodificação, a entrada pode conter caracteres de nova linha além dos\n" "bytes do alfabeto base64 formal. Use --ignore-garbage para tentar se\n" "recuperar de quaisquer outros bytes fora do alfabeto no fluxo codificado.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "erro de leitura" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "entrada inválida" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "tamanho inválido para quebra: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operando extra %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "fechando entrada padrão" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uso: %s NOME [SUFIXO]\n" " ou: %s OPÇÃO... NOME...\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Mostra o NOME sem quaisquer componentes iniciais de diretório.\n" "Se especificado, remove também o SUFIXO final.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple dá suporte a múltiplos argumentos e trata cada um " "como um\n" " NOME\n" " -s, --suffix=SUFIXO remove um sufixo\n" " -z, --zero separa a saída com um caractere NUL em vez de nova-" "linha\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Exemplos:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a algo/txt1 algo/txt2 -> \"txt1\" seguido de \"txt2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "falta operando" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatena ARQUIVO(s), ou a entrada padrão, para a saída padrão.\n" "\n" " -A, --show-all equivalente a -vET\n" " -b, --number-nonblank numera as linhas de saída que não forem em " "branco,\n" " sobrepõe -n\n" " -e equivalente a -vE\n" " -E, --show-ends insere $ ao final de cada linha\n" " -n, --number numera todas as linhas de saída\n" " -s, --squeeze-blank suprime linhas em branco repetidas\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t equivalente a -vT\n" " -T, --show-tabs mostra os caracteres de tabulação como ^I\n" " -u (sem efeito)\n" " -v, --show-nonprinting utiliza a notação ^ e M-, exceto para LFD e TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exemplos:\n" " %s f - g Emite o conteúdo de f, depois a entrada padrão, e o conteúdo de " "g\n" " por fim.\n" " %s Copia a entrada padrão para a saída padrão.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "é impossível executar a função \"ioctl\" em %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "saída padrão" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: os arquivos de entrada e de saída são os mesmos" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "falhou em criar contexto de segurança: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "falhou em definir o componente %s do contexto de segurança para %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "falhou em obter o contexto de segurança de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "não pode aplicar o contexto parcial para o arquivo não-rotulado %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "falhou em alterar o contexto de %s para %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "não é possível acessar %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "não é possível ler diretório %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "alterando o contexto de segurança de %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read falhou" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close falhou" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPÇÃO]... CONTEXTO ARQUIVO...\n" " ou: %s [OPÇÃO]... [-u USUÃRIO] [-r REGRA] [-l FAIXA] [-t TIPO] ARQUIVO...\n" " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Muda o contexto de segurança de cada ARQUIVO para CONTEXTO.\n" "Com --reference, altera o contexto de segurança de cada ARQUIVO para o " "mesmo\n" "do de ARQUIVOREF.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference afeta a referência de cada ligação simbólica em " "vez\n" " da própria ligação em si (isso é o padrão)\n" " -h, --no-dereference afeta as ligações simbólicas em vez dos arquivos\n" " referenciados por elas\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USUÃRIO define o usuário USUÃRIO no contexto de segurança\n" " alvo\n" " -r, --role=REGRA define a regra REGRA no contexto de segurança alvo\n" " -t, --type=TIPO define o tipo TIPO no contexto de segurança alvo\n" " -l, --range=FAIXA define a faixa FAIXA no contexto de segurança alvo\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root não tratar \"/\" de forma diferenciada (o padrão)\n" " --preserve-root falha ao operar recursivamente em \"/\"\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=ARQR usa o contexto de segurança de ARQR em vez de\n" " especificar um valor para CONTEXTO\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" " -R, --recursive opera em arquivos e diretórios recursivamente\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose emite um diagnóstico para cada arquivo processado\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "As seguintes opções modificam como uma hierarquia é percorrida quando a\n" "opção -R é especificada também. Se mais de uma destas forem especificadas,\n" "somente a última faz efeito.\n" "\n" " -H se um argumento da linha de comando for uma\n" " ligação simbólica para diretório, percorra-o\n" " -L percorra toda ligação simbólica para diretório\n" " que for encontrada\n" " -P não percorra ligações simbólicas (padrão)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference exige -H ou -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h exige -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "falta operando depois de %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "contexto inválido: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "foram fornecidos especificadores de contexto de segurança conflitantes" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "falhou em obter os atributos de %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "grupo inválido: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPÇÃO]... GRUPO ARQUIVO...\n" " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Altera o grupo de cada ARQUIVO para GRUPO.\n" "Com --reference, altera o grupo de cada ARQUIVO para o mesmo de\n" "ARQUIVOREF.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes como verbose, mas só relata quando há uma " "alteração\n" " -f, --silent, --quiet suprime a maioria das mensagens de erro\n" " -v, --verbose emite um diagnóstico para cada arquivo processado\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (útil somente em sistemas que permitem mudar o " "dono\n" " de uma ligação simbólica)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=ARQR usa o grupo de ARQR em vez de especificar um\n" " valor para GRUPO\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exemplos:\n" " %s equipe /u Muda o grupo de /u para \"equipe\".\n" " %s -hR equipe /u Muda o grupo de /u e seus arquivos para \"equipe\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "obtendo novos atributos de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ligação simbólica %s e referência inalterados\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "modo de %s alterado de %04lo (%s) para %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "falhou em alterar o modo de %s de %04lo (%s) para %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "modo de %s mantido como %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "impossível operar na ligação simbólica quebrada %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "alterando permissões de %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: as novas permissões são %s, e não %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPÇÃO]... MODO[,MODO]... ARQUIVO...\n" " ou: %s [OPÇÃO]... MODO-OCTAL ARQUIVO...\n" " ou: %s [OPÇÃO]... --reference=ARQREF ARQUIVO...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Muda o modo de cada ARQUIVO para MODO.\n" "Com --reference, altera o modo de cada ARQUIVO para o mesmo de ARQREF.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr " --reference=ARQR usa o modo de ARQR em vez dos valores MODO\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" " -R, --recursive altera os arquivos e diretórios recursivamente\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Cada MODO é da forma \"[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+\".\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "é impossível combinar as opções MODO e --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "modo inválido: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "alterado o dono de %s de %s para %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "alterado o grupo de %s de %s para %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "não foi alterada a posse de %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "falhou em alterar dono de %s de %s para %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "falhou em alterar o grupo de %s de %s para %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "falhou em alterar a posse de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "falhou em alterar dono de %s para %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "falhou em alterar o grupo de %s para %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "dono de %s mantido como %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupo de %s mantido como %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "mantida a posse de %s\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "não foi possível obter o alvo referenciado por %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "alterando o dono de %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "alterando o grupo de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uso: %s [OPÇÃO]... [DONO][:[GRUPO]] ARQUIVO...\n" " ou: %s [OPÇÃO]... --reference=ARQREF ARQUIVO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Altera o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO.\n" "Com --reference, altera o dono e grupo de cada ARQUIVO para o de ARQR\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=DONO_ATUAL:GRUPO_ATUAL\n" " muda dono e/ou grupo de cada arquivo apenas se seu\n" " dono e/ou grupo atual forem iguais aos\n" " especificados nesta opção. Um dos dois pode ser\n" " omitido, no caso de não ser exigido o teste de tal\n" " atributo\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "O dono, caso não seja informado, permanece inalterado. O grupo também não é\n" "alterado se não informado, mas mudará para o grupo de login se deixado\n" "implícito por \":\" após um DONO simbólico.\n" "DONO e GRUPO podem ser numéricos bem como simbólicos.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exemplo:\n" " %s root /u Altera o dono de /u para \"root\".\n" " %s root:equipe /u Idem, mas também altera seu grupo para \"equipe\".\n" " %s -hR root /u Altera o dono de /u e seus arquivos para \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grupo inválido %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "lista de grupo inválido %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "falhou em estabelecer grupo(s) adicional(ais)" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [OPÇÃO] NOVORAIZ [COMANDO [ARGUMENTO]...]\n" " ou: %s OPÇÃO\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Executa COMANDO com o diretório raiz modificado para NOVORAIZ.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Se nenhum COMANDO for dado, executa \"`${SHELL} -i'\" (padrão: \"/bin/sh -i" "\").\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "não foi possível mudar o diretório raiz para %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "não foi possível ir para o diretório raiz" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "falhou em definir o ID de grupo" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "falhou em definir o ID de usuário" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "falhou em executar o comando %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: arquivo muito grande" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s [ARQUIVO]...\n" " ou: %s [OPÇÃO]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Exibe a soma de verificação CRC e o total de bytes de cada ARQUIVO.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Uso: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Compara os arquivos ordenados ARQUIVO1 e ARQUIVO2 linha por linha.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Sem opções, produz uma saída de três colunas. A primeira coluna contém as\n" "linhas únicas para ARQUIVO1, a coluna dois contém as linhas únicas para\n" "ARQUIVO2; a terceira coluna contém as linhas comuns a ambos os arquivos.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 suprime a coluna 1 (linhas só existentes em ARQUIVO1)\n" " -2 suprime a coluna 2 (linhas só existentes em ARQUIVO2)\n" " -3 suprime a coluna 3 (linhas existentes nos dois arquivos)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order verifica se a entrada está corretamente ordenada, mesmo\n" " sendo todas as linhas de entrada pareáveis\n" " --nocheck-order não verifica se a entrada está ordenada corretamente\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "o arquivo %d não está ordenado" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "foram especificados múltiplos delimitadores" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "erro lendo %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "impossível fazer \"lseek\" em %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "erro escrevendo %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "falhou em obter o contexto atual" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: falhou em escrever" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "falhou em abrir %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "apagando as permissões para %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "falhou em preservar o dono para %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "falhou em localizar o arquivo %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "falhou em preservar a autoria para %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "não foi possível abrir %s para leitura" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "não foi possível obter o estado de %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "ignorando o arquivo %s; ele foi substituído durante a cópia" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "falhou em obter o contexto de criação do sistema de arquivos" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "falhou em definir o contexto de segurança de %s para %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "não foi possível remover %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "removido %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "não se escreve através de uma ligação simbólica quebrada: %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "não foi possível criar arquivo comum %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "falhou em clonar %s a partir de %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "preservando horário para %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "falhou em abrir %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: tentar sobrescrever %s, desobedecendo o modo %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: sobrescrever %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (cópia de segurança: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "falhou em restaurar o contexto padrão de criação de arquivo" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "não foi possível criar ligação absoluta %s para %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "impossível obter estado de %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "omitindo o diretório %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "aviso: o arquivo de origem %s foi especificado mais de uma vez" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s e %s são o mesmo arquivo" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "é impossível sobrescrever o não-diretório %s com o diretório %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "não sobrescreverá o recém-criado %s com %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "é impossível sobrescrever diretório %s com um não-diretório" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "é impossível mover diretório para não-diretório: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "fazer cópia de segurança de %s destruiria o original; %s não foi movido" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "fazer cópia de segurança de %s destruiria o original; %s não foi copiado" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "não foi possível fazer cópia de segurança de %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "não copiará %s através da ligação simbólica recém-criada %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "é impossível copiar um diretório, %s, para si próprio, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "não criará ligação absoluta %s para o diretório %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "é impossível mover %s para um subdiretório de si mesmo, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "não foi possível mover %s para %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "falhou ao mover entre dispositivos: %s para %s: impossível remover destino" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "falhou em definir o contexto padrão de criação de arquivo para %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "é impossível copiar ligação simbólica cíclica %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: só é possível fazer ligações simbólicas relativas no diretório atual" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "não foi possível criar ligação simbólica %s para %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "não foi possível criar fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "não foi possível criar arquivo especial %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "não foi possível ler ligação simbólica %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "não foi possível criar ligação simbólica %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s tem um tipo desconhecido de arquivo" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "não foi possível restaurar a cópia de segurança %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (cópia de segurança restaurada)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Uso: %s [OPÇÃO]... [-T] ORIGEM DESTINO\n" " ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO\n" " ou: %s [OPÇÃO]... -t DIRETÓRIO ORIGEM...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Copia ORIGEM para DESTINO, ou múltiplas ORIGENs para DIRETÓRIO.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive o mesmo que -dR --preserve=all\n" " --attributes-only não copia os dados do arquivo, só seus\n" " atributos\n" " --backup[=CONTROLE] faz uma cópia de segurança de cada arquivo\n" " de destino já existente\n" " -b como --backup, mas não aceita argumentos\n" " --copy-contents copia o conteúdo de arquivos especiais\n" " quando recursivo\n" " -d o mesmo que --no-dereference --" "preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force se um arquivo de destino já existente não " "puder\n" " ser aberto, remove-o e tenta novamente\n" " (redundante se a opção -n for usada)\n" " -i, --interactive pergunta antes de sobrescrever (sobrepõe\n" " uma opção -n usada anteriormente)\n" " -H segue as ligações simbólicas da linha de\n" " comando em ORIGEM\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link faz ligação absoluta dos arquivos em vez de\n" " copiá-los\n" " -L, --dereference sempre segue ligações simbólicas em ORIGEM\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber não sobrescreve um arquivo existente " "(sobrepõe\n" " uma opção -i anterior)\n" " -P, --no-dereference nunca segue uma ligação simbólica em ORIGEM\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p idem a --preserve=mode,ownership,timestamps\n" " --preserve[=LST_ATRIB] preserva os atributos especificados (padrão:\n" " modo,dono,horários), e, se possível,\n" " atributos adicionais: contexto, ligações,\n" " estendidos, tudo.\n" " Os nomes a serem usados na lista devem " "estar\n" " em inglês separados por vírgula e sem " "espaço.\n" " Os atributos são: mode (modo),\n" " ownership (dono), timestamps (horários),\n" " context (contexto), links (ligações),\n" " xattr (estendidos) e all (tudo)\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LST_ATRIB não preserva os atributos especificados\n" " --parents usa o nome completo do arquivo fonte sob\n" " DIRETÓRIO\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive copia os diretórios recursivamente\n" " --reflink[=QUANDO] controla cópias clone/CoW. Veja abaixo\n" " --remove-destination remove cada arquivo de destino existente " "antes\n" " de tentar abri-lo (contrasta com --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=QUANDO controla a criação de arquivos esparsos.\n" " Veja abaixo\n" " --strip-trailing-slashes remove as barras finais de cada argumento\n" " ORIGEM\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link cria ligações simbólicas em vez de copiar\n" " -S, --suffix=SUFIXO redefine o sufixo de cópia de segurança\n" " -t --target-directory=DIR copia todos os argumentos ORIGEM para o\n" " diretório DIR\n" " -T, --no-target-directory trata DESTINO como um arquivo normal\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update copia apenas se o arquivo ORIGEM for mais\n" " recente que o arquivo destino ou se este " "não\n" " existir\n" " -v, --verbose explica o que está sendo feito\n" " -x, --one-file-system permanece neste sistema de arquivos\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Por padrão, arquivos esparsos da ORIGEM são detectados por uma heurística\n" "básica e os respectivos arquivos de DESTINOs são também feitos esparsos.\n" "Este é o comportamento escolhido por --sparse=auto. Especifique\n" "--sparse=always para criar um arquivo esparso em DESTINO sempre que o\n" "arquivo ORIGEM tiver uma sequência de bytes zero suficientemente grande.\n" "Use --sparse=never para inibir a criação de arquivos esparsos.\n" "\n" "Quando --reflink[=always] for especificado, realiza uma cópia leve, em que\n" "os blocos de dados são copiados somente quando modificados. Se isso não\n" "for possível, a cópia falha. Em outro caso, se --reflink=auto for especi-\n" "ficado, recai para a cópia padrão.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "O sufixo de cópia de segurança é \"~\", a não ser que esteja definido --" "suffix\n" "ou SIMPLE_BACKUP_SUFFIX. O método de controle de versão pode ser definido " "com\n" "--backup ou a variável de ambiente VERSION_CONTROL. Os valores possíveis " "são:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nunca faz cópias de segurança (mesmo se --backup for\n" " especificado)\n" " numbered, t faz cópias de segurança numeradas\n" " existing, nil numeradas se já existirem cópias de segurança numeradas,\n" " simples em caso contrário\n" " simple, never sempre faz cópias de segurança simples\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Como caso especial, cp faz uma cópia de segurança da ORIGEM quando as\n" "opções force e backup são fornecidas e ORIGEM e DESTINO são iguais ao nome\n" "de um arquivo comum já existente.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "falhou em preservar horário para %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "falhou em preservar permissões para %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "não foi possível criar diretório %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existe, mas não é um diretório" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "falhou em abrir %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "falta o operando arquivo" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "falta o operando arquivo de destino após %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "é impossível combinar --target-directory (-t) com --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "o alvo %s não é um diretório" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "com --parents, o destino tem que ser um diretório" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "foram especificados múltiplos diretórios-alvo" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "é impossível fazer ligações absolutas e simbólicas simultaneamente" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "as opções que --backup e --no-clobber são mutuamente exclusivas" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipo de cópia de segurança" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "é impossível preservar o contexto de segurança sem um kernel habilitado com\n" "SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "a entrada desapareceu" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: número de linha fora dos limites" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: número de linha fora dos limites" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " na repetição %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ocorrência não encontrada" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "erro na busca da expressão regular" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "erro ao escrever em %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: espera-se um número inteiro depois do delimitador" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: exige-se uma \"}\" depois do número de repetições" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: deve se especificar um número inteiro entre \"{\" e \"}\"" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: falta o delimitador de fechamento \"%c\"" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: expressão regular inválida: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: padrão inválido" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: o número de linha deve ser maior que zero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "número de linha %s é menor do que o número de linha precedente, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "atenção: o número de linha %s é igual ao número de linha anterior" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "falta especificador de conversão no sufixo" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "especificador de conversão no sufixo é inválido: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "especificador de conversão no sufixo é inválido: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "sinalizadores inválidos na especificação de conversão: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "muitos especificadores %% de conversão no sufixo" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "falta especificador %% de conversão no sufixo" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: número inválido" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Uso: %s [OPÇÃO]... ARQUIVO PADRÃO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Emite pedaços do ARQUIVO separado pelo PADRÃO(ões) para os arquivos " "\"xx00\",\n" "\"xx01\", ..., e emite o total de bytes de cada pedaço na saída padrão.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMATO usa como sufixo o FORMATO (no estilo de " "sprintf)\n" " em vez de %02d\n" " -f, --prefix=PREFIXO usa PREFIXO em vez de \"xx\"\n" " -k, --keep-files não remove arquivo de saída mesmo caso haja " "erros\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DÃGITOS usa o número especificado de dígitos em vez de " "2\n" " -s, --quiet, --silent não emite o tamanho dos arquivos de saída\n" " -z, --elide-empty-files remove arquivos de saída vazios\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lê a entrada padrão se ARQUIVO for -. Cada PADRÃO pode ser:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " INTEIRO copia até o número da linha especificado, mas não a " "inclui\n" " /EXPREG/[DESLOC] copia até a linha coincidente, mas não a inclui\n" " %EXPREG%[DESLOC] ignora tudo antes da linha coincidente\n" " {INTEIRO} repete o padrão anterior o número de vezes " "especificado.\n" " {*} repete o padrão anterior tantas vezes quanto possível\n" "\n" "O DESLOCamento de linhas, quando usado, deve utilizar um \"+\" ou \"-\" " "seguido de\n" "um inteiro positivo.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "campos e posições são numerados a partir do número 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Uso: %s OPÇÃO... [ARQUIVO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Emite as partes selecionadas das linhas de cada ARQUIVO na saída padrão.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA seleciona apenas estes bytes\n" " -c, --characters=LISTA seleciona apenas estes caracteres\n" " -d, --delimiter=DELIM usa DELIM em vez de TAB como delimitador de campo\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA seleciona somente estes campos; também emite " "qualquer\n" " linha que não contenha o caractere delimitador, " "a\n" " menos que a opção -s esteja especificada\n" " -n (sem efeito)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement complementa o conjunto dos bytes, caracteres ou\n" " campos selecionados\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited não emite linhas que não contenham delimitadores\n" " --output-delimiter=TEXTO usa TEXTO como delimitador da saída\n" " o padrão é usar o delimitador de entrada\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Use uma, e somente uma, das opções -b, -c ou -f. Cada LISTA é feita de um\n" "intervalo ou vários intervalos separados por vírgulas. A entrada " "selecionada\n" "é escrita na mesma ordem que é lida, e é escrita uma única vez.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Cada intervalo é uma das alternativas abaixo:\n" "\n" " N o eNésimo byte, caractere ou campo numerado a partir de 1\n" " N- a partir do eNésimo byte, caractere ou campo até o final da linha\n" " N-M a partir do eNésimo ao eMésimo (inclusive) byte, caractere ou campo\n" " -M a partir do primeiro ao eMésimo (inclusive) byte, caractere ou " "campo\n" "\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "lista inválida de bytes ou campos" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "não é valido um intervalo sem especificar limite: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "não é válido um intervalo decrescente" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "deslocamento de byte %s é muito grande" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "o número de campo %s é muito grande" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "somente um tipo de lista pode ser especificado" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "o delimitador deve ser um único caractere" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "deve-se especificar uma lista de bytes, caracteres ou campos" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "um delimitador de entrada só pode ser especificado quando se processa campos" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "suprimir as linhas não delimitadas só tem sentido\n" "\tquando se processa campos" #: src/cut.c:870 msgid "missing list of fields" msgstr "falta lista de campos" #: src/cut.c:872 msgid "missing list of positions" msgstr "falta lista de posições" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Uso: %s [OPÇÃO]... [+FORMATO]\n" " ou: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=ARQUIVO mostra a hora da última modificação de ARQUIVO\n" " -R, --rfc-2822 emite a data e hora no formato da RFC 2822.\n" " Exemplo: Seg, 07 Ago 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIMESPEC emite a data e hora no formato da RFC 3339.\n" " TIMESPEC=\"date\", \"seconds\" ou \"ns\" para\n" " escolher a precisão.\n" " Os componentes data e hora são separados por\n" " um único espaço: 2006-08-07 12:34:56-06:00\n" " -s, --set=TEXTO ajusta a hora para a descrita por TEXTO\n" " -u, --utc, --universal emite ou ajusta a Hora Universal Coordenada\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMATO controla a saída. As sequências interpretadas são:\n" "\n" " %% um % literal\n" " %a nome abreviado do dia de semana da localidade (por exemplo, Sáb)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A nome completo do dia de semana na localidade (por exemplo, Sábado)\n" " %b nome abreviado do mês na localidade (por exemplo, Jan)\n" " %B nome completo do mês na localidade (por exemplo, Janeiro)\n" " %c data e hora na localidade (por exemplo, Sáb 08 Mar 2008 18:34:17 " "BRT)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C século; como %Y, mas omite os dois últimos dígitos (por exemplo, 21)\n" " %d dia do mês (por exemplo, 01)\n" " %D data no formato estado-unidense; o mesmo que %d/%m/%y\n" " %e dia do mês, preenchido com espaço; o mesmo que %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F data completa; o mesmo que %Y-%m-%d\n" " %g os últimos dois dígitos do ano do número ISO da semana (veja %G)\n" " %G ano do número ISO da semana ISO (veja %V); normalmente útil só com " "%V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h o mesmo que %b\n" " %H hora (00..23)\n" " %I hora (01..12)\n" " %j dia do ano (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k hora ( 0..23)\n" " %l hora ( 1..12)\n" " %m mês (01..12)\n" " %M minuto (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n um caractere de nova-linha\n" " %N nanosegundos (000000000..999999999)\n" " %p o equivalente na localidade para AM ou PM; em branco se desconhecido\n" " %P como %p, mas em minúsculas\n" " %r a hora no relógio de 12 horas na localidade (por exemplo, 11:11:04 " "PM)\n" " %R hora e minuto no estilo 24 horas; o mesmo que %H:%M\n" " %s segundos desde 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S segundo (00..60)\n" " %t uma tabulação\n" " %T as horas; o mesmo que %H:%M:%S\n" " %u dia da semana (1..7); 1 é segunda-feira\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U número da semana no ano, sendo domingo o início da semana (00..53)\n" " %V número ISO da semana, sendo segunda-feira o início da semana " "(01..53)\n" " %w dia da semana (0..6); 0 é domingo\n" " %W número da semana no ano, sendo segunda-feira o início da semana " "(00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x representação da data na localidade (por exemplo, 31/12/99)\n" " %X representação da hora na localidade (por exemplo, 23:13:48)\n" " %y os últimos dois dígitos do ano (00..99)\n" " %Y ano\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z fuso horário numérico +hhmm (por exemplo, -0400)\n" " %:z fuso horário numérico +hh:mm (por exemplo, -04:00)\n" " %::z fuso horário numérico +hh:mm:ss (por exemplo, -04:00:00)\n" " %:::z fuso horário numérico com : para a precisão necessária\n" " (por exemplo, -04, +05:30)\n" " %Z abreviação alfabética do fuso horário (por exemplo, BRT)\n" "\n" "Por padrão, campos numéricos de data são preenchidos com zeros.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Os seguintes sinalizadores opcionais podem ser usados após \"%\":\n" "\n" " - (hífen) não preenche o campo\n" " _ (sublinha) preenche com espaços\n" " 0 (zero) preenche com zeros\n" " ^ usa maiúsculas se possível\n" " # inverte maiúsculas com minúsculas (e vice-versa) se possível\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Depois de qualquer sinalizador pode haver uma largura de campo opcional,\n" "como um número decimal; então, um modificador também opcional, que pode ser\n" " E para usar as representações alternativas da localidade, se disponível, " "ou\n" " O para usar os símbolos númericos alternativos da localidade, se " "disponível.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "entrada padrão" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "data inválida %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "foram especificados múltiplos formatos de saída" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "as opções que especificam datas para exibição são mutuamente exclusivas" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "as opções para exibir e alterar o horário não podem ser usadas juntas" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "o argumento %s não tem um \"+\" inicial;\n" "quando usada uma opção que especifique data(s), qualquer argumento que\n" "não seja uma opção tem que ser um texto de formatação começando com \"+\"" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "não foi possível ajustar data" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "hora %s fora do intervalo permitido" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [OPERANDO]...\n" " ou: %s OPÇÃO\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copia um arquivo, convertendo e formatando conforme os operandos.\n" "\n" " bs=BYTES força ibs=BYTES e obs=BYTES\n" " cbs=BYTES converte BYTES bytes de uma vez\n" " conv=CONVS converte o arquivo conforme lista de símbolos separados " "por\n" " vírgula\n" " count=BLOCOS copia somente BLOCOS blocos de entrada\n" " ibs=BYTES lê BYTES bytes de uma vez\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=ARQUIVO lê do ARQUIVO em vez de usar a entrada padrão\n" " iflag=SINALIZ lê conforme lista de símbolos separados por vírgula\n" " obs=BYTES escreve BYTES bytes de uma vez (padrão: 512)\n" " of=ARQUIVO escreve em ARQUIVO em vez de usar a saída padrão\n" " oflag=SINALIZ escreve conforme uma lista de símbolos separados por " "vírgula\n" " seek=N salta N blocos de tamanho ditado por obs a partir do " "início\n" " da saída\n" " skip=BLOCOS salta N blocos de tamanho ditado por ibs a partir do " "início\n" " da entrada\n" " status=noxfer suprime as estatísticas da transferência\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCOS e BYTES podem ser seguidos pelos seguintes sufixos multiplicativos:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M, \n" "GB =1000*1000*1000, G =1024*1024*1024, e assim por diante para T, P, E, Z e " "Y.\n" "\n" "Cada símbolo CONV pode ser:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii de EBCDIC para ASCII\n" " ebcdic de ASCII para EBCDIC\n" " ibm de ASCII para EBCDIC alternativo\n" " block preenche registros terminados por caractere de nova-linha com\n" " espaços até o tamanho ditado por cbs\n" " unblock substitui os espaços ao final dos registros de tamanho cbs\n" " por caractere de nova-linha\n" " lcase altera as maiúsculas para minúsculas\n" #: src/dd.c:568 #, fuzzy msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror continua mesmo após erros de leitura\n" " sync preenche cada bloco de entrada com NULOs até o tamanho ibs; se\n" " usado com block ou unblock, preenche com espaços em vez de " "NULOs\n" " fdatasync escreve fisicamente os dados do arquivo de saída antes de " "concluir\n" " fsync similar, mas também escreve metadados\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada SINALIZador pode ser:\n" "\n" " append modo anexar (só faz sentido para saída; sugere-se conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio usa E/S concorrente para dados\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct usa E/S direta para dados\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory falha a menos que seja um diretório\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync usa E/S sincronizada para dados\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync similar, mas também para metadados\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock usa E/S não-bloqueante\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime não atualiza o horário de acesso\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty não designa o terminal de controle do arquivo\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow não segue ligações simbólicas\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks falha se ligado múltiplas vezes\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary usa E/S binária para dados\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text usa E/S textual para dados\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar um sinal %s para o processo \"dd\" em execução faz ele emitir as\n" "estatísticas de E/S para a saída de erro padrão e depois retomar a cópia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registros de entrada\n" " 18335302+0 registros de saída\n" " 9387674624 bytes (9,4 GB) copiados, 34,6279 s, 271 MB/s\n" "\n" "As opções são:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> registros de entrada\n" "%<PRIuMAX>+%<PRIuMAX> registros de saída\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> registro truncado\n" msgstr[1] "%<PRIuMAX> registros truncados\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) copiado" msgstr[1] "%<PRIuMAX> bytes (%s) copiados" #: src/dd.c:720 msgid "Infinity B" msgstr "Banda infinita" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "fechando arquivo de entrada %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "fechando arquivo de saída %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "falhou em desativar O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "escrevendo em %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operando desconhecido %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversão inválida" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "sinalizador inválido de entrada" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "sinalizador inválido de saída" #: src/dd.c:1227 msgid "invalid status flag" msgstr "sinalizador inválido de estado" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "número inválido %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "é impossível qualquer combinação entre {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "é impossível combinar \"block\" com \"unblock\"" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "é impossível combinar \"lcase\" com \"ucase\"" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "é impossível combinar \"excl\" com \"nocreat\"" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "é impossível combinar \"direct\" com \"nocache\"" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "aviso: contornando o bug no kernel de \"lseek\" para arquivo (%s)\n" " de mt_type=0x%0lx -- veja <sys/mtio.h> para a lista de tipos" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: não foi possível ignorar" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: não foi possível buscar (\"seek\")" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "estouro de deslocamento enquanto lia o arquivo %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "aviso: deslocamento inválido de arquivo após falha de leitura" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "não foi possível contornar o bug no kernel" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "ajustando sinalizadores para %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: não foi possível ignorar até o deslocamento especificado" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "falhou em truncar aos %<PRIuMAX> bytes no arquivo de saída %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "\"fdatasync\" falhou para %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "\"fsync\" falhou para %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "falhou em abrir %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "deslocamento muito grande: é impossível truncar para um comprimento de busca=" "%<PRIuMAX> (%lu-byte) blocos" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "falhou em truncar aos %<PRIuMAX> bytes no arquivo de saída %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "falhou em descartar o cache para: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Sist. Arq." #: src/df.c:175 msgid "Type" msgstr "Tipo" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blocos" #: src/df.c:181 msgid "Used" msgstr "Usado" #: src/df.c:184 msgid "Available" msgstr "Disponível" #: src/df.c:187 msgid "Use%" msgstr "Uso%" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "IUsado" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "IUso%" #: src/df.c:202 msgid "Mounted on" msgstr "Montado em" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "aviso: o arquivo de origem %s foi especificado mais de uma vez" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Tam." #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Disp." #: src/df.c:474 msgid "Capacity" msgstr "Capacid." #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Mostra informações sobre os sistemas de arquivo nos quais cada ARQUIVO\n" "reside ou, por padrão, sobre todos os sistemas de arquivos.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all inclui sistemas de arquivo fictícios\n" " -B, --block-size=TAM o tamanho considera blocos de TAM bytes. Exemplo:\n" " -BM emite tamanhos em unidades de 1.048.576 " "bytes.\n" " Veja o formato de TAM abaixo.\n" " --total produz um total geral\n" " -h, --human-readable emite tamanhos em formato mais humanamente " "inteligível\n" " (por exemplo, 1K 234M 2G)\n" " -H, --si similar, mas usa potências de 1000, e não de 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes lista informações do inode, em vez de uso de bloco\n" " -k o mesmo que --block-size=1K\n" " -l, --local limita a listagem a sistemas locais de arquivo\n" " --no-sync não invocar \"sync\" ao obter informações de uso " "(padrão)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability usa o formato de saída POSIX\n" " --sync invoca \"sync\" antes de obter informações de uso\n" " -t, --type=TIPO limita a listagem a sistemas de arquivo de tipo " "TIPO\n" " -T, --print-type emite o tipo de sistema de arquivo\n" " -x, --exclude-type=TIPO limita a listagem a sistemas de arquivo que não\n" " sejam do tipo TIPO\n" " -v (sem efeito)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "" "as opções que especificam datas para exibição são mutuamente exclusivas" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Aviso: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "sistema de arquivos de tipo %s selecionado e excluído" #: src/df.c:1500 msgid "Warning: " msgstr "Aviso: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "não foi possível ler a tabela dos sistemas de arquivo montados" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "nenhum sistema de arquivo foi processado" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Emite comandos de saída para definir a variável de ambiente LS_COLORS.\n" "\n" "Para determinar o formato da saída:\n" " -b, --sh, --bourne-shell emite o código para definir LS_COLORS em\n" " formato conhecido pelo Bourne shell\n" " -c, --csh, --c-shell emite o código para definir LS_COLORS em\n" " formato conhecido pelo C shell\n" " -p, --print-data-base emite os códigos padrão\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Se ARQUIVO é especificado, o lê para determinar quais cores usar para que " "tipo\n" "de arquivo e extensão. Senão, uma base de dados pré-compilada é usada.\n" "Para detalhes sobre o formato destes arquivos, execute\n" " \"dircolors --print-database\".\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: linha inválida; falta o segundo termo" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: palavra chave desconhecida %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interno>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "a opção para emitir a base de dados interna de dircolors e a para " "selecionar\n" "uma sintaxe de shell são mutuamente exclusivas" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "Operandos tipo arquivo não podem ser combinados com --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "variável de ambiente SHELL não existente e não se especificou nenhum\n" "tipo de shell como argumento" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Uso: %s [OPÇÃO] NOME...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Emite NOME sem sua parte final /componente; se NOME não tiver \"/\", emite " "\".\"\n" "(o que significa o diretório atual).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero termina linhas com byte 0, e não com \"nova-linha\"\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Exemplos:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" seguido de \"dir2\"\n" " %s stdio.h -> \".\"\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" " ou: %s [OPÇÃO]... --files0-from=A\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Resume o uso do disco de cada ARQUIVO, recursivamente para diretórios.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all escreve as contagens para todos os arquivos, e não\n" " apenas para diretórios\n" " --apparent-size emite os tamanhos aparentes, em vez do uso em " "disco;\n" " embora o tamanho aparente seja normalmente menor,\n" " ele pode ser maior devido a buracos nos arquivos\n" " esparsos, fragmentação interna, blocos indiretos\n" " e outros afins\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=TAM usa blocos de TAM bytes\n" " -b, --bytes equivalente a \"--apparent-size --block-size=1\"\n" " -c, --total gera um total geral\n" " -D, --dereference-args interpreta apenas as ligações simbólicas listadas\n" " na linha de comando\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=A resume o uso de disco do arquivos de nomes " "terminados\n" " com NULO especificados no arquivo A\n" " -H similar a --si, mas também emite um aviso; logo " "será\n" " alterado para ser o mesmo que --dereference-args (-" "D)\n" " -h, --human-readable emite os tamanhos em formato inteligível a humanos\n" " (por exemplo: 1K 234M 2G)\n" " --si similar a -h, mas usa potências de 1000 e não 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k o mesmo que --block-size=1K\n" " -l, --count-links contabiliza tamanhos mais vezes se for uma ligação\n" " absoluta\n" " -m o mesmo que --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference interpreta todas as ligações simbólicas\n" " -P, --no-dereference não segue ligação simbólica (este é o padrão)\n" " -0, --null termina cada linha de saída com o byte 0, em vez de\n" " um caractere de nova-linha\n" " -S, --separate-dirs não inclui o tamanho de subdiretórios\n" " -s, --summarize mostra somente um total para cada argumento\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time mostra a hora da última modificação de todos os\n" " arquivos no diretório ou quaisquer uns de seus\n" " subdiretórios\n" " --time=PALAVRA mostra a hora como PALAVRA, em vez de a hora da " "última\n" " modificação:\n" " \"atime\", \"access\", \"use\", \"ctime\" ou " "\"status\"\n" " --time-style=ESTILO mostra a hora usando o ESTILO:\n" " full-iso, long-iso, iso, +FORMATO\n" " FORMATO é interpretado como em \"date\"\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Banda infinita" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read falhou" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "profundidade máxima inválida %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argumento inválido %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "é impossível resumir e detalhar todas as entradas ao mesmo tempo" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "aviso: resumir é o mesmo que usar --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "aviso: resumir conflita com --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Operandos tipo arquivo não podem ser combinados com --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: erro de leitura" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "ao ler nomes de arquivo da entrada padrão, não é permitido nenhum nome de " "arquivo ser %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "é inválido um nome de arquivo de comprimento nulo" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s [TEXTO]...\n" " ou: %s OPÇÃO\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Ecoa o(s) TEXTO(s) para a saída padrão.\n" "\n" " -n não emitir o caractere de nova-linha do final do TEXTO\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e habilita a interpretação de escape por barra invertida\n" " (padrão)\n" " -E desabilita a interpretação de escape por barra invertida\n" #: src/echo.c:54 #, fuzzy msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e habilita a interpretação de escape por barra invertida\n" " (padrão)\n" " -E desabilita a interpretação de escape por barra invertida\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c suprime o caractere de nova-linha ao final\n" " \\f form feed (nova página)\n" " \\n nova-linha\n" " \\r retorno de carro\n" " \\t tabulação horizontal\n" " \\v tabulação vertical\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARGUMENTO]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Define cada NOME como VALOR no ambiente e executa o COMANDO.\n" "\n" " -i, --ignore-environment começa com um ambiente vazio\n" " -u, --unset=NOME retira variável NOME do ambiente\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Um mero - implica em -i. Se não houver COMANDO, exibe o ambiente " "resultante.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "impossível obter estado de %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "impossível obter estado de %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converte tabulações de cada ARQUIVO em espaços e escreve o resultado na\n" "saída padrão. Se ARQUIVO não for especificado ou for -, lê a entrada " "padrão.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial não converte TABs após caracteres não-brancos\n" " -t, --tabs=NÚMERO as tabulações têm largura de NÚMERO caracteres, e não " "8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA usa lista de posições explícitas para tabulações,\n" " separadas por vírgula\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "parada de tabulação é muito grande %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "o tamanho de tabulação contém caractere(s) inválido(s): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "o tamanho de tabulação não pode ser 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "os tamanhos das tabulações devem ser ascendentes" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "linha de entrada é muito longa" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Uso: %s EXPRESSÃO\n" " ou: %s OPÇÃO\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Emite o valor de EXPRESSÃO para a saída padrão. Uma linha em branco abaixo\n" "separa os grupos em ordem crescente de precedência. EXPRESSÃO pode ser:\n" "\n" " ARG1 | ARG2 ARG1 se não for nulo ou 0; ARG2, em caso contrário\n" "\n" " ARG1 & ARG2 ARG1 se nenhum dos argumentos for nulo ou 0; senão, 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 é menor que ARG2\n" " ARG1 <= ARG2 ARG1 é menor ou igual a ARG2\n" " ARG1 = ARG2 ARG1 é igual a ARG2\n" " ARG1 != ARG2 ARG1 é diferente de ARG2\n" " ARG1 >= ARG2 ARG1 é maior ou igual a ARG2\n" " ARG1 > ARG2 ARG1 é maior que ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 soma aritmética de ARG1 com ARG2\n" " ARG1 - ARG2 ARG1 subtraído aritmeticamente de ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 multiplicação aritmética de ARG1 por ARG2\n" " ARG1 / ARG2 quociente da divisão aritmética de ARG1 por ARG2\n" " ARG1 % ARG2 resto da divisão aritmética de ARG1 por ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " TEXTO : EXPREG ocorrência de padrão anconrado de EXPREG no TEXTO\n" "\n" " match TEXTO EXPREG o mesmo que TEXTO : EXPREG\n" " substr TEXTO POS TAMANHO subtexto do TEXTO, POS contado a partir do 1\n" " index TEXTO CARACTERES índice no TEXTO onde quaisquer CARACTERES " "sejam\n" " encontrados; ou 0\n" " length TEXTO comprimento do TEXTO\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TERMO interpreta TERMO como um texto, mesmo se for " "uma\n" " palavra-chave como \"match\" ou um operador\n" " como \"/\"\n" "\n" " ( EXPRESSÃO ) valor de EXPRESSÃO\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Note que muitos operadores precisam ser \"escapados\" ou postos entre aspas\n" "para shells.Comparações são aritméticas se ambos os ARGumentos forem " "números; de outra\n" "forma, serão lexicográficas.\n" "A ocorrência de padrões retorna o texto coincidente entre \\( e \\) ou " "nulo;\n" "se \\( e \\) não forem usados, elas retornarão o número de caracteres\n" "coincidentes ou 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "O estado de saída é 0 se a EXPRESSÃO não for nula nem 0. Será 1 se " "EXPRESSÃO\n" "for nula ou 0; será 2 se EXPRESSÃO for sintaticamente inválida; e será 3 se\n" "um erro ocorreu.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "erro de sintaxe" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "erro na busca da expressão regular" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argumento não-numérico" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "divisão por zero" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Defina LC_ALL='C' para contornar o problema." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Os textos comparados foram %s e %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s não é um inteiro positivo válido" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s é muito grande" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [NÚMERO]...\n" " ou: %s OPÇÃO\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" "Exibe os fatores primos de todos os NÚMEROs naturais especificados. São " "lidos\n" "da entrada padrão se não forem especificados argumentos na linha de " "comando.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "não foi possível saber o diretório atual" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "não foi possível mudar para diretório %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "não foi possível realizar \"stat\" no diretório atual (agora %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Uso: %s [-DÃGITOS] [OPÇÃO]... [ARQUIVO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformata cada parágrafo no(s) ARQUIVO(s), escrevendo na saída padrão.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin mantém o recuo nas duas primeiras linhas\n" " -p, --prefix=TEXTO reformata somente as linhas que comecem com " "TEXTO,\n" " reanexando o prefixo às linhas reformatadas\n" " -s, --split-only divide as linhas longas, mas não liga à próxima\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph recuo da primeira linha diferente do da segunda\n" " -u, --uniform-spacing um espaço entre palavras, dois entre orações\n" " -w, --width=LARGURA a largura máxima da linha (o padrão é 75 " "colunas)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "opção inválida -- %c; -LARGURA é reconhecida somente quando é a primeira\n" "opção; use -w N no lugar" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "largura inválida: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Quebra as linhas de entradas de cada ARQUIVO (em caso omisso, entrada " "padrão),\n" "escrevendo na saída padrão.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes conta os bytes em vez de as colunas\n" " -s, --spaces quebra com espaços\n" " -w, --width=LARGURA usa LARGURA colunas em vez de 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "o número de colunas não é válido: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Uso: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "falhou em obter os grupos do usuário %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "falhou em obter os grupos do usuário para o processo atual" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "não foi possível encontrar o nome para a ID de grupo %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Uso: %s [OPÇÃO]... [NOMEDOUSUÃRIO]...\n" #: src/groups.c:54 #, fuzzy msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Emite informações sobre o NOMEDOUSUÃRIO ou, caso ele não seja especificado,\n" "sobre o processo atual (que é diferente se o banco de dados de grupo foi\n" "alterado).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "não foi possível definir id de usuário" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "não foi possível obter o alvo referenciado por %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "não foi possível definir id de usuário" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Usuário inexistente" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Emite as primeiras 10 linhas de cada ARQUIVO para saída padrão.\n" "Se especificados vários ARQUIVO(s), o nome de cada arquivo precede as " "linhas.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N emite os primeiros N bytes de cada arquivo;\n" " iniciando com \"-\", emite todos os bytes de " "cada\n" " arquivo, exceto os N últimos\n" " -n, --lines=[-]N emite as N primeiras linhas, e não as 10 " "primeiras;\n" " iniciando com \"-\", emite todas as linhas de " "cada\n" " arquivo, exceto as 10 últimas\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent nunca emitir cabeçalhos com os nomes dos " "arquivos\n" " -v, --verbose sempre emitir cabeçalhos com nomes dos arquivos\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "N pode ter um sufixo multiplicador:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e assim por diante com T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: arquivo pequeno demais" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: número de bytes é muito grande" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: não foi possível fazer \"lseek\" para a posição original" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: não foi possível ir à posição %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: falhou em remover" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "não foi possível reposicionar ponteiro de arquivo para %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s é tão grande que não pode ser representado" #: src/head.c:886 msgid "number of lines" msgstr "número de linhas" #: src/head.c:886 msgid "number of bytes" msgstr "número de bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "número inválido de linhas" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "número inválido de bytes" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "opção inválida -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Uso: %s [OPÇÃO]\n" "Emite o identificador numérico (em hexadecimal) para a máquina atual.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Uso: %s [NOME]\n" " ou: %s OPÇÃO\n" "Mostra ou configura o nome da máquina do sistema atual.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "não foi possível definir o nome como %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "é impossível alterar o nome da máquina; este sistema não dispõe dessa\n" "funcionalidade" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "não foi possível determinar o nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Uso: %s [OPÇÃO]... [NOMEDOUSUÃRIO]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Exibe as informações de NOMEDOUSUÃRIO, ou do usuário atual.\n" "\n" " -a ignorado, para compatibilidade com outras versões\n" " -Z, --context exibe apenas o contexto de segurança do usuário atual\n" " -g, --group exibe apenas a ID do grupo efetivo\n" " -G, --groups exibe as IDs de todos os grupos\n" " -n, --name exibe o nome em vez de um número, para -ugG\n" " -r, --read exibe a ID real em vez da ID efetiva, para -ugG\n" " -u, --user exibe apenas a ID do usuário efetivo\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sem OPÇÃO alguma, exibe um conjunto útil de informações de identificação.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) só funciona em Kernel habilitado com SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "é impossível emitir o contexto de segurança quando usário é especificado" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" "é impossível a combinação de mais de uma opção do tipo \"emite apenas\"" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "é impossível emitir apenas nomes ou ID reais no formato padrão" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "é impossível obter o contexto do processo" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "não foi possível obter o alvo referenciado por %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "não foi possível encontrar o nome para a ID de usuário %lu" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " grupos=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "contexto inválido: %s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "aviso: %s: falhou em alterar o contexto para %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "criando o diretório %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "não foi possível mudar a posse de %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "não foi possível alterar o horário de %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "a chamada de sistema \"fork\" falhou" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "não foi possível executar \"strip\"" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "esperando por \"strip\"" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "o processo \"strip\" terminou anormalmente" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "usuário inválido %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Uso: %s [OPÇÃO]... [-T] ORIGEM DESTINO\n" " ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO\n" " ou: %s [OPÇÃO]... -t DIRETÓRIO ORIGEM...\n" " ou: %s [OPÇÃO]... -d DIRETÓRIO...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "Na três primeiras formas, copia ORIGEM para DESTINO ou múltiplas ORIGEM " "para\n" "o DIRETÓRIO existente, enquanto define os modos de permissão e dono/grupo.\n" "Na quarta forma, cria todos os componentes do(s) DIRETÓRIO(s) fornecido(s).\n" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROLE] faz uma cópia de segurança de cada arquivo de\n" " destino já existente\n" " -b similar a --backup, mas não aceita argumentos\n" " -c (sem efeito)\n" " -d, --directory trata todos os argumentos como nomes de diretórios;\n" " cria todos os componentes dos diretórios " "especificados\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D cria todos os componentes iniciais de DESTINO, exceto " "o\n" " último; e então, copia ORIGEM para DESTINO\n" " -g, --group=GRUPO define o grupo, em vez de usar o grupo do processo " "atual\n" " -m, --mode=MODO define as permissões (como em chmod), em vez de rwxr-" "xr-x\n" " -o, --owner=DONO define o dono (somente para super-usuário)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps aplica os horários de acesso e modificação " "dos\n" " arquivos de ORIGEM aos arquivos de destino\n" " correspondentes\n" " -s, --strip retira as tabelas de símbolos\n" " -S, --suffix=SUFIXO redefine o sufixo convencional de cópia de segurança\n" " -t, --target-directory=DIRETÓRIO copia todos ORIGEM para DIRETÓRIO\n" " -T, --no-target-directory trata DESTINO como um arquivo normal\n" " -v, --verbose emite o nome de cada diretório à medida que for " "criado\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context preserva o contexto de segurança SELinux\n" " -Z, --context=CONTEXTO define o contexto de segurança SELinux dos " "arquivos\n" " e diretórios\n" #: src/install.c:859 #, fuzzy, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "Aviso: ignorando --preserve-context; este Kernel não é habilitado com " "SELinux." #: src/install.c:869 #, fuzzy, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "Aviso: ignorando --context (-Z); este Kernel não é habilitado com SELinux." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "a opção --strip não pode ser usada em instalação de diretório" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "não é permitido --target-directory em instalação de diretório" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "é impossível forçar o contexto alvo para %s e preservá-lo ao mesmo tempo" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "modo inválido %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "as opções para estilo de saída detalhado e inteligível ao stty\n" "são mutuamente exclusivas" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" "as opções que especificam datas para exibição são mutuamente exclusivas" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Para cada par de linhas de entrada com campos de junção idênticos, escreve " "uma\n" "linha para a saída padrão. O campo padrão de junção é o primeiro, " "delimitado\n" "por um espaço branco. Quando ARQUIVO1 ou ARQUIVO2 (não ambos) for -, lê a\n" "entrada padrão.\n" "\n" " -a ARQUIVONUM emite linhas despareadas vindo do arquivo ARQUIVONUM,\n" " onde ARQUIVONUM é 1 ou 2 (correspondendo a ARQUIVO1 " "ou\n" " ARQUIVO2)\n" " -e VAZIO substitui os campos de entrada ausentes com VAZIO\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignora maiúsculas/minúsculas ao comparar campos\n" " -j CAMPO equivalente a \"-1 CAMPO -2 CAMPO\"\n" " -o FORMATO obedece ao FORMATO enquanto constrói a linha de saída\n" " -t CARACTERE usa CARACTERE como separador de campo de entrada e " "saída\n" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v ARQUIVONUM como -a ARQUIVONUM, mas suprime as linhas de saída " "unidas\n" " -1 CAMPO junta baseado neste CAMPO do arquivo 1\n" " -2 CAMPO junta baseado neste CAMPO do arquivo 2\n" " --check-order verifica se a entrada está corretamente ordenada, mesmo " "se\n" " todas as linhas de entrada forem pareáveis\n" " --nocheck-order não verifica se a entrada está ordenada corretamente\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "A menos que -t CARACTERE seja usado, espaços brancos separam os campos e\n" "são ignorados. Caso contrário, os campos são separados por CARACTERE.\n" "Qualquer CAMPO é um número do campo contado a partir de 1.\n" "FORMATO é uma ou mais especificações separadas por espaço ou vírgula, sendo\n" "cada um \"ARQUIVONUM.CAMPO\" ou \"0\". O FORMATO padrão emite o campo de\n" "junção, os campos restantes de ARQUIVO1 e os restantes de ARQUIVO2, todos\n" "separados por CARACTERE.\n" "\n" "Importante: ARQUIVO1 e ARQUIVO2 devem ser ordenados pelos campos de junção.\n" "Por exemplo, use \"sort -k 1b,1\" se \"join\" não tiver opções.\n" "Se a entrada não estiver ordenada e algumas linhas não puderem ser unidas, " "é\n" "emitida um mensagem de aviso.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "número inválido de campo: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "especificação inválida do campo: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "número inválido de arquivo na especificação do campo: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "campos de junção incompatíveis %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "conflito entre textos de substituição de campos vazios" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "tabulação multicaractere %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "tabulações incompatíveis" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ambos os arquivos não podem ser a entrada padrão" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Uso: %s [-s SINAL | -SINAL] PID...\n" " ou: %s -l [SINAL]...\n" " ou: %s -t [SINAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Envia sinais a processos ou lista os sinais.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SINAL, -SINAL\n" " especifica o nome ou número do sinal a ser enviado\n" " -l, --list lista os nomes dos sinais, ou faz a conversão entre " "nomes\n" " de sinais e seus números (e vice-versa)\n" " -t, --table emite uma tabela de informações de sinais\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SINAL pode ser ou um nome de sinal como \"HUP\" ou um número de sinal como " "\"1\",\n" "ou ainda um estado de saída de um processo terminado por um sinal.\n" "PID é um inteiro; se negativo, identifica um grupo de processo.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: id inválida de processo" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opção inválida -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: foram especificados múltiplos sinais" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "foram especificadas múltiplas opções -l ou -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "é impossível combinar sinal com -l ou -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "nenhuma ID de processo foi especificada" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%s é um argumento inválido para %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Uso: %s ARQUIVO1 ARQUIVO2\n" " ou: %s OPÇÃO\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Chama a função link para criar uma ligação chamada ARQUIVO2 a um já " "existente\n" "ARQUIVO1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "não foi possível criar a ligação %s para %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: não são permitidas ligações absolutas para diretórios" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: é impossível sobrescrever diretórios" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: substituir %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "não foi possível criar ligação simbólica %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "não foi possível criar ligação simbólica %s para %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "criando ligação absoluta para %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "não foi possível criar ligação absoluta %s para %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "não foi possível criar ligação absoluta %s para %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Uso: %s [OPÇÃO]... [-T] ALVO NOME_LIGAÇÃO (1ª forma)\n" " ou: %s [OPÇÃO]... ALVO (2ª forma)\n" " ou: %s [OPÇÃO]... ALVO... DIRETÓRIO (3ª forma)\n" " ou: %s [OPÇÃO]... -t DIRETÓRIO ALVO... (4ª forma)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Na 1ª forma, cria uma ligação para ALVO com o nome NOME_LIGAÇÃO.\n" "Na 2ª forma, cria uma ligação para ALVO no diretório atual.\n" "Nas 3ª e 4ª formas, cria ligações para cada ALVO em DIRETÓRIO.\n" "Cria ligações absolutas por padrão; ligações simbólicas com --symbolic.\n" "Ao criar ligações absolutas, é obrigatória a existência de cada ALVO.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROLE] cria uma cópia de segurança de cada arquivo " "de\n" " destino já existente\n" " -b como --backup, mas não aceita argumentos\n" " -d, -F, --directory permite ao super-usuário tentar ligar " "diretórios\n" " de forma absoluta (nota: poderá falhar " "devido\n" " a restrições do sistema, mesmo para o\n" " super-usuário)\n" " -f, --force remove arquivos de destino existentes\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference trata os destinos que forem ligações " "simbólicas\n" " para diretório como se fosse um arquivo " "normal\n" " -i, --interactive pergunta se é para remover destinos\n" " -s, --symbolic cria ligações simbólicas em vez de absolutas\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFIXO redefine o sufixo normal de cópia de " "segurança\n" " -t, --target-directory=DIRETÓRIO especifica o DIRETÓRIO onde criar as\n" " ligações\n" " -T, --no-target-directory trata NOME_LIGAÇÃO como arquivo normal\n" " -v, --verbose emite o nome de cada arquivo ligado\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "É impossível combinar --target-directory com --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "não foi possível criar ligação simbólica %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: desconhecido" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Uso: %s [OPÇÃO]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Emite o nome do usuário atual.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "nenhum nome de usuário" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignorando valor inválido da variável de ambiente QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorando largura inválida na variável de ambiente COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "ignorando tamanho inválido de tabulação na variável de ambiente TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "largura inválida de linha: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "tamanho inválido de tabulação: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "formato inválido de estilo de hora %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Os argumentos válidos são:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefixo desconhecido: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "o valor da variável de ambiente LS_COLORS não pode ser analisado" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "não foi possível abrir o diretório %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "não foi possível determinar o dispositivo e o inode de %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: não listando o diretório já listado" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "lendo o diretório %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "fechando o diretório %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "não foi possível comparar os nomes de arquivo %s e %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Lista informações sobre os ARQUIVOs (no diretório atual por padrão).\n" "Lista as entradas em ordem alfabética se não for usada nenhuma opção -" "cftuvSUX\n" "nem --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all não ignora entradas começando com .\n" " -A, --almost-all não lista as entradas implícitas . e ..\n" " --author com -l, emite o autor de cada arquivo\n" " -b, --escape emite escapes em octal para caracteres não-\n" " gráficos\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=TAMANHO usa blocos de TAMANHO bytes\n" " -B, --ignore-backups não lista as entradas implícitas terminadas com " "~\n" " -c com -lt: ordena por, e mostra, ctime (hora da\n" " última modificação da informação de estado " "do\n" " arquivo)\n" " com -l: mostra o ctime e ordena por nome\n" " demais casos: ordena por ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C lista as entradas em colunas\n" " --color[=QUANDO] controla se usa cores para distinguir os tipos " "de\n" " arquivo. QUANDO pode ser \"never\" (nunca),\n" " \"always\" (sempre) ou \"auto" "\" (automaticamente)\n" " -d, --directory lista os diretório em vez de seu conteúdo, e " "não\n" " interpreta ligações simbólicas\n" " -D, --dired gera a saída projetada para modo \"dired\" do " "Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f não ordena, habilita -aU, desabilita -ls --" "color\n" " -F, --classify anexa indicador (um dos */=>@|) às entradas\n" " --file-type similar, exceto que não anexa \"*\"\n" " --format=PALAVRA \"across\" (-x), \"commas\" (-m), \"horizontal" "\" (-x),\n" " \"long\" (-l), \"single-column\" (-1),\n" " \"verbose\" (-l), \"vertical\" (-C)\n" " --full-time o mesmo que -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g o mesmo que -l, mas não lista o dono\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " lista os diretórios antes de listar os " "arquivos.\n" " permite usar a opção --sort, mas o uso de\n" " --sort=none (-U) desabilita o agrupamento de\n" " diretórios\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group em lista longa (-l), não emite os nomes de " "grupo\n" " -h, --human-readable com -l, emite os tamanhos em formato " "inteligível\n" " para humanos (por exemplo, 1K 234M 2G)\n" " --si similar, mas usa potências de 1000, e não de " "1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " segue as ligações simbólicas listadas na linha " "de\n" " comando\n" " --dereference-command-line-symlink-to-dir\n" " segue toda ligação simbólica da linha de " "comando\n" " que apontar para um diretório\n" " --hide=PADRÃO não lista entradas implícitas que coincidam com " "o\n" " PADRÃO em sintaxe shell (ignorado quando se " "usa\n" " -a ou -A)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=PALAVRA anexa o indicador de tipo no estilo " "PALAVRA\n" " para os nomes das entradas:\n" " \"none\" (nenhum, padrão), \"slash\" (-" "p),\n" " \"file-type\" (--file-type), \"classify" "\" (-F)\n" " -i, --inode emite o número de índice de cada arquivo\n" " -I, --ignore=PADRÃO não lista as entradas implícitas que coincidam\n" " com o PADRÃO (em sintaxe shell)\n" " -k o mesmo que --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l usa o formato de lista longa\n" " -L, --dereference quando mostrar informações de uma ligação\n" " simbólica, mostra as do arquivo a quem ela\n" " referencia, e não do arquivo tipo ligação em " "si\n" " -m preenche toda a largura com uma lista de " "entradas\n" " separadas por vírgula\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid como -l, mas lista usuário e grupo em números " "ID\n" " -N, --literal emite nomes de entradas de forma crua (não " "trata,\n" " por exemplo, caracteres de controle de forma\n" " especial)\n" " -o como -l, mas não lista informações sobre o " "grupo\n" " -p, --indicator-style=slash\n" " anexa o indicador / aos diretórios\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars emite ? em vez de caracteres não gráficos\n" " --show-control-chars emite caracteres não gráficos como são (padrão\n" " a menos que o programa seja o \"ls\" e a " "saída\n" " seja um terminal)\n" " -Q, --quote-name coloca os nomes das entradas entre aspas\n" " --quoting-style=PALAVRA usa estilo de citação PALAVRA para os nomes " "das\n" " entradas:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse inverte a ordem na ordenação\n" " -R, --recursive lista os subdiretórios recursivamente\n" " -s, --size emite o tamanho de cada arquivo, em blocos\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S ordena por tamanho de arquivo\n" " --sort=PALAVRA ordena por PALAVRA em vez de pelo nome: none -" "U,\n" " extension -X, size -S, time -t, version -v\n" " (nenhum, extensão, tamanho, hora, versão)\n" " --time=PALAVRA com -l, mostra a hora como PALAVRA em vez do\n" " horário de modificação:\n" " atime -u, access -u, use -u: último acesso,\n" " ctime -c, status -c: última modificação;\n" " usa o horário especificado como chave de\n" " ordenação se --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=ESTILO com -l, emite os horários usando o estilo " "ESTILO:\n" " full-iso, long-iso, iso, locale, +FORMATO.\n" " FORMATO é interpretado como em \"date\"; se " "for\n" " FORMATO1<newline>FORMATO2, FORMATO1 se aplica " "a\n" " arquivos não recentes, e FORMATO2 aos " "recentes;\n" " se ESTILO tem como prefixo \"posix-\", " "ESTILO\n" " só faz efeito fora da localidade POSIX\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t ordena pelo horário de modificação\n" " -T, --tabsize=COLS assume paradas de tabulação a cada COLS em vez\n" " de 8\n" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u com -lt: mostra e ordena por horário de acesso\n" " com -l: mostra o horário de acesso e ordena " "por\n" " nome demais " "casos: ordena por horário de acesso\n" " -U não ordena; lista na ordem do diretório\n" " -v ordena por versão\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS assume a largura da tela como COLS\n" " -x lista as entradas por linha em vez de por " "coluna\n" " -X ordena por ordem alfabética das extensões das\n" " entradas\n" " -Z, --context emite qualquer contexto de segurança SELinux " "de\n" " cada arquivo\n" " -1 lista um arquivo por linha\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uso: %s [OPÇÃO] [ARQUIVO]...\n" "Emite ou confere somas de verificação (checksum) %s (%d-bit).\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary lê em modo binário (padrão se não for ler da " "entrada\n" " padrão do tty)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary lê em modo binário\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check lê as somas %s dos ARQUIVOs e as confere\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text lê em modo texto (padrão se lendo a entrada " "padrão\n" " do tty)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text lê em modo texto (padrão)\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "As duas opções a seguir são úteis apenas quando conferindo as somas de\n" "verificação:\n" " --status não emite nada, o código do estado indica sucesso\n" " -w, --warn avisa sobre linhas de soma de verificação " "formatadas\n" " de maneira imprópria\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "As somas são calculadas como descrito em %s. Ao conferir, recomenda-se que\n" "o arquivo de entrada tenha sido gerado por este mesmo programa. O modo " "padrão\n" "é exibir uma linha para cada ARQUIVO com a soma de verificação, um " "caractere\n" "indicando o tipo (\"*\" para binário, \" \"para texto) e o nome do arquivo.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: muitas linhas de soma de verificação" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" "%s: %<PRIuMAX>: linha de soma de verificação %s formatada de maneira " "imprópria" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: FALHOU na abertura ou na leitura\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "FALHOU" #: src/md5sum.c:597 msgid "OK" msgstr "SUCESSO" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" "%s: foram encontradas linhas de soma de verificação %s com formatação " "imprópria" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" "%s: %<PRIuMAX>: linha de soma de verificação %s formatada de maneira " "imprópria" msgstr[1] "" "%s: %<PRIuMAX>: linha de soma de verificação %s formatada de maneira " "imprópria" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "AVISO: %<PRIuMAX> de %<PRIuMAX> arquivo listado não pôde ser lido" msgstr[1] "" "AVISO: %<PRIuMAX> dos %<PRIuMAX> arquivos listados não pôde(puderam) ser lido" "(s)" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "AVISO: %<PRIuMAX> de %<PRIuMAX> soma de verificação calculada NÃO coincide" msgstr[1] "" "AVISO: %<PRIuMAX> das %<PRIuMAX> somas de verificação calculadas NÃO coincide" "(m)" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "a opção --status só faz sentido ao conferir as somas de verificação" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "as opções --binary e --text não fazem sentido ao conferir as somas de " "verificação" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "a opção --status só faz sentido ao conferir as somas de verificação" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "a opção --warn só faz sentido ao conferir as somas de verificação" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "a opção --status só faz sentido ao conferir as somas de verificação" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "a opção --status só faz sentido ao conferir as somas de verificação" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Uso: %s [OPÇÃO]... DIRETÓRIO...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Cria o(s) DIRETÓRIO(s), se eles já não existirem.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODO define as permissões como MODO (como no chmod) em vez " "de\n" " a=rwx - umask\n" " -p, --parents não gera erro caso já exista, cria os diretórios pais à\n" " medida que forem necessários\n" " -v, --verbose emite uma mensagem para cada diretório criado\n" " -Z, --context=CTX define o contexto de segurança SELinux de cada " "diretório\n" " criado como CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "foi criado o diretório %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Uso: %s [OPÇÃO]... NOME...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Cria arquivos de pipe (\"named pipes\" ou FIFOs) com os NOMEs fornecidos.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODO define os bits de permissões de arquivo para MODO (como\n" " no chmod), e não a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX define o contexto de segurança SELinux de cada NOME\n" " como CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "modo inválido" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "o modo deve especificar apenas os bits de permissão de arquivo" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Uso: %s [OPÇÃO]... NOME TIPO [MAIOR MENOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Cria o arquivo especial NOME do TIPO fornecido.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX define o contexto de segurança SELinux de NOME como " "CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Tanto MAIOR quanto MENOR devem ser especificados se TIPO for b, c ou u; " "eles\n" "devem ser omitidos se TIPO for p. Se MAIOR ou MENOR começar com 0x ou 0X, é\n" "interpretado como hexadecimal; caso contrário, se começar com 0, como " "octal;\n" "em caso contrário, como decimal.\n" "TIPO pode ser:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b cria um arquivo especial de tipo bloco (\"buffered\")\n" " c, u cria um arquivo especial de tipo caractere (não \"buffered\")\n" " p cria uma \"FIFO\"\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Arquivos especiais exigem os números maior e menor do dispositivo." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifos não têm números maior e menor de dispositivo." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "não há suporte para arquivos especiais de bloco" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "não há suporte para arquivos especiais de caractere" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "número maior de dispostivo é inválido %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "número menor de dispostivo é inválido %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "dispositivo inválido %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tipo inválido de dispositivo %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Uso: %s [OPÇÃO]... [MODELO]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Cria um arquivo ou diretório temporário, de forma segura, e informa seu " "nome.\n" "Se MODELO não for especificado, usa tmp.XXXXXXXXXX.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 #, fuzzy msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] interpreta MODELO relativo ao DIR. Se DIR não for\n" " especificado, usa $TMPDIR, se definida; senão usa /" "tmp.\n" " Com esta opção, MODELO não deve ser um caminho " "absoluto.\n" " Ao contrário de -t, MODELO pode conter barras, mas, " "mesmo\n" " com esta opção, mktemp ainda só cria o componente " "final\n" " (o arquivo ou o diretório temporário).\n" #: src/mktemp.c:95 #, fuzzy msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -t interpreta MODELO como um único componente de nome de\n" " arquivo, relativo a um diretório: $TMPDIR, se " "definida;\n" " senão, usa o diretório especificado via -p; senão, usa\n" " /tmp [obsoleto]\n" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "falhou em redirecionar o erro padrão" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "muitos modelos" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, fuzzy, c-format msgid "invalid suffix %s, contains directory separator" msgstr "modelo inválido, %s; contém separador de diretório" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "poucos Xs no modelo %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "modelo inválido, %s; contém separador de diretório" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "modelo inválido, %s; com --tmpdir, não pode usar caminho absoluto" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "falhou em criar o diretório via modelo %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "falhou em criar o arquivo via modelo %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Renomeia ORIGEM para DESTINO ou move ORIGEM(ns) para DIRETÓRIO.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROLE] faz uma cópia de segurança de todo arquivo " "de\n" " destino já existente\n" " -b como --backup, mas não aceita argumentos\n" " -f, --force não pergunta antes de sobrescrever\n" " -i, --interactive pergunta antes de sobrescrever\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes remove quaisquer barras ao final de cada\n" " argumento origem\n" " -S, --suffix=SUFIXO redefine o sufixo costumeiro de cópia de\n" " segurança\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIR move todos os argumentos ORIGEM para o\n" " diretório DIR\n" " -T, --no-target-directory trata DESTINO como um arquivo normal\n" " -u, --update move somente quando o arquivo de ORIGEM for\n" " mais novo do o de destino ou quando o " "arquivo\n" " de destino não existe\n" " -v, --verbose explica o que está sendo feito\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Uso: %s [OPÇÃO] [COMANDO [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Executa COMANDO com um valor de nice ajustado, que afeta o escalonamento do\n" "processo.\n" "Sem COMANDO, emite o valor atual do nice. A faixa de valores do nice vai de\n" "%d (mais favorável ao escalonamento) ao %d (menos favorável).\n" "\n" " -n, --adjustment=N adiciona o número inteiro N ao valor de nice\n" " (o padrão é 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ajuste inválido %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "um comando deve ser fornecido com um ajuste" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "não foi possível obter o valor de nice" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "não foi possível ajustar o valor de nice" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escreve cada ARQUIVO para a saída padrão junto com os números das linhas.\n" "Se ARQUIVO não é fornecido ou se for -, lê a entrada padrão.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=ESTILO usa ESTILO para numeração das linhas do\n" " corpo do arquivo\n" " -d, --section-delimiter=CC usa CC para separação de páginas lógicas\n" " -f, --footer-numbering=ESTILO usa ESTILO para numeração das linhas de\n" " rodapé\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=ESTILO usa ESTILO para numeração das linhas de\n" " cabeçalho\n" " -i, --page-increment=NÚMERO o incremento do número de linha a cada " "linha\n" " -l, --join-blank-lines=NÚMERO grupo de NÚMERO linhas em branco contadas\n" " como uma única linha\n" " -n, --number-format=FORMATO insere os números de linha conforme " "FORMATO\n" " -p, --no-renumber não reinicia a numeração das linhas ao " "mudar\n" " de página lógica\n" " -s, --number-separator=TEXTO adiciona TEXTO depois do (possível) " "número\n" " da linha\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=NÚMERO número da primeira linha de cada página\n" " lógica\n" " -w, --number-width=NÚMERO usa NÚMERO colunas para numeração das " "linhas\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Por padrão, seleciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" "CC são dois caracteres delimitadores para separar as páginas lógicas;\n" "a ausência de um segundo caractere implica em :. Digite \\\\ para \\.\n" "ESTILO é um dos itens:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numera todas as linhas\n" " t numera apenas as linhas não vazias\n" " n não numera linha alguma\n" " pBRE numera apenas as linhas que coincidam com a expressão regular\n" " básica, BRE\n" "\n" "FORMATO é um dos itens a seguir:\n" "\n" " ln justificação à esquerda, sem zeros iniciais\n" " rn justificação à direita, sem zeros iniciais\n" " rz justificação à direita, com zeros iniciais\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "estouro do número de linhas" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "estilo inválido de numeração de cabeçalho: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "estilo inválido de numeração do corpo: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "estilo inválido de numeração de rodapé: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "número inválido para linha inicial: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incremento inválido de número de linha: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "número inválido de linhas vazias: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "largura inválida de campo de numeração de linha: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "formato inválido de numeração de linha: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Executa COMANDO, ignorando os sinais de desligar.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Se a entrada padrão for um terminal, a redireciona para /dev/null.\n" "Se a saída padrão for um terminal, anexa a saída a \"nohup.out\" se " "possível,\n" "ou a \"$HOME/nohup.out\" em caso contrário.\n" "Se o erro padrão for um terminal, o redireciona à saída padrão.\n" "Para salvar a saída em ARQUIVO, use \"%s COMANDO > ARQUIVO\".\n" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "falhou em redirecionar o erro padrão" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignorando entrada" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ignorando entrada e anexando saída a %s" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "ignorando entrada e anexando saída a %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "falhou em ajustar a cópia de \"stderr\" para fechar no \"exec\"" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ignorando entrada e redirecionando \"stderr\" para \"stdout\"" #: src/nohup.c:199 #, fuzzy, c-format msgid "redirecting stderr to stdout" msgstr "ignorando entrada e redirecionando \"stderr\" para \"stdout\"" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "falhou em redirecionar o erro padrão" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPÇÃO]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: número inválido de linhas" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: valor não foi convertido totalmente" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "número inválido %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "sufixo inválido no argumento para %s%s: \"%s\"" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: falhou em abrir para escrita" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "tamanho inválido de tabulação: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uso: %s [OPÇÃO]... [USUÃRIO]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "o alvo %s não é um diretório" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "largura inválida do formato" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "sufixo inválido no argumento para %s%s: \"%s\"" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "intervalo inválido de página %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "número inválido de campo: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "data inválida %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Operandos tipo arquivo não podem ser combinados com --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Operandos tipo arquivo não podem ser combinados com --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "foram especificadas múltiplas opções -i" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Operandos tipo arquivo não podem ser combinados com --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "erro lendo %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "falhou em redirecionar o erro padrão" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" " ou: %s [-abcdfilosx]... [ARQUIVO] [[+]DESLOCAMENTO[.][b]]\n" " ou: %s --traditional [OPÇÃO]... [ARQUIVO] [[+]DESLOCAMENTO[.][b] [+][RÓTULO]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Escreve uma representação sem ambigüidade, em bytes octal por padrão,\n" "de ARQUIVO para a saída padrão. Com mais de um argumento ARQUIVO,\n" "concatena-os na ordem listada para formar a entrada.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Se tanto o primeiro como o segundo formato de chamada se aplicarem, o " "segundo\n" "é assumido se o último operando começar com + ou (se houverem 2 operandos) " "com\n" "um dígito.\n" "Um operando DESLOCAMENTO significa o mesmo que -j DESLOCAMENTO. RÓTULO é um\n" "pseudo-endereço do primeiro byte emitido, incrementado à medida que " "progride\n" "o despejo de bytes.\n" "Para DESLOCAMENTO e RÓTULO, um prefixo 0x ou 0X indica um numeral " "hexadecimal;\n" "sufixos possíveis são . para octal e b para multiplicação por 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BASE decide como o deslocamento do arquivo é " "exibido\n" " -j, --skip-bytes=QTD pula os primeiros QTD bytes de entrada\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=QTD limita a emitir até QTD bytes de entrada\n" " -S, --strings[=QTD] emite textos de pelo menos QTD bytes de\n" " caracteres gráficos\n" " -t, --format=TIPO seleciona o(s) formato(s) de saída\n" " -v, --output-duplicates não usa * para identificar supressão de linha\n" " -w, --width[=QTD] emite QTD bytes por linha de saída\n" " --traditional aceita argumentos na forma tradicional\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "As especificações tradicionais de formatação podem ser misturadas; elas\n" "acumulam:\n" " -a o mesmo que -t a, seleciona caracteres com nome, ignorando o bit " "mais\n" " significativo\n" " -b o mesmo que -t o1, seleciona bytes em octal\n" " -c o mesmo que -t c, seleciona caracteres ASCII ou escapes por barra\n" " invertida\n" " -d o mesmo que -t u2, seleciona decimais sem sinal de 2-bytes\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f o mesmo que -t fF, seleciona números reais (ponto flutuante)\n" " -i o mesmo que -t dI, seleciona inteiros na base decimal\n" " -l o mesmo que -t dL, seleciona inteiros longos na base decimal\n" " -o o mesmo que -t o2, seleciona números em octal de 2 bytes\n" " -s o mesmo que -t d2, seleciona números em decimal de 2 bytes\n" " -x o mesmo que -t x2, seleciona números em hexadecimal de 2 bytes\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPO é constituído de uma ou mais destas especificações:\n" "\n" " a caractere com nome, ignorando o bit mais significativo\n" " c caractere ASCII ou escape por barra invertida\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[TAM] decimal com sinal (inteiro), TAM bytes por número\n" " f[TAM] ponto flutuante (real), TAM bytes por número\n" " o[TAM] octal, TAM bytes por número\n" " u[TAM] decimal sem sinal (natural), TAM bytes por número\n" " x[TAM] hexadecimal, TAM bytes por número\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "TAM é um número. Se TIPO é um dos \"doux\", TAM pode ser C para sizeof" "(char),\n" "S para sizeof(short), I para sizeof(int), ou L para sizeof(long). Se TIPO " "for\n" "f, TAM também pode ser F para sizeof(float), D para sizeof(double) ou L " "para\n" "sizeof(long double). O termo sizeof() refere-se a uma função da linguagem " "de\n" "programação C que indica o número de bytes para o tipo de variável.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "N pode ter um sufixo multiplicador:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e assim por diante com T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "texto de tipo inválido %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "texto de tipo inválido %s;\n" "este sistema não provê um tipo de inteiro com %lu-bytes" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "texto de tipo inválido %s;\n" "este sistema não provê um tipo de ponto-flutuante com %lu-bytes" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "caractere inválido \"%c\" no texto de tipo %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "é impossível acessar além da entrada combinada" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "base numérica inválida de endereço de saída \"%c\"; deve ser um dos " "caracteres [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "não se pode especificar um tipo ao despejar textos" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "Em modo de compatibilidade só há suporte a um arquivo no máximo." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "bytes-a-pular + bytes-a-ler é um valor muito grande" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "aviso: largura %lu inválida; será usada %d em seu lugar" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: sinal inválido" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "a entrada padrão está fechada" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escreve linhas constituídas das linhas seqüencialmente correspondentes de\n" "cada ARQUIVO, separaradas por tabulações, para a saída padrão.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA reutiliza caracteres da LISTA em vez de " "tabulações\n" " -s, --serial cola um arquivo por vez em de todos em paralelo\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "a lista de delimitadores termina com uma barra invertida não escapada: %s" #: src/pathchk.c:90 #, fuzzy msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnostica construções não portáveis em NOME.\n" "\n" " -p confere com a maioria dos sistemas POSIX\n" " -P verifica nomes vazios e \"-\" iniciais\n" " --portability confere com todos os sistemas POSIX (equivalente a -p -" "P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "um componente do nome de arquivo começa com \"-\" %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "caractere não portável %s no nome de arquivo %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "arquivo com nome em branco" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: incapaz de determinar o comprimento máximo de nome de arquivo" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limite de %lu excedido pelo comprimento de %lu do nome de arquivo %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "limite de %lu excedido pelo comprimento de %lu do componente do nome de " "arquivo %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nome de usuário: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Na vida real: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Diretório: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projeto: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Planos:\n" #: src/pinky.c:405 msgid "Login" msgstr "Usuário" #: src/pinky.c:407 msgid "Name" msgstr "Nome" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Ocioso" #: src/pinky.c:411 msgid "When" msgstr "Quando" #: src/pinky.c:414 msgid "Where" msgstr "Onde" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Uso: %s [OPÇÃO]... [USUÃRIO]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l produz uma saída de formatação longa sobre o(s) USUÃRIO" "(s)\n" " -b omite o diretório pessoal do usuário e o shell em " "formatação\n" " longa\n" " -h omite o arquivo de projeto do usuário em formatação longa\n" " -p omite o arquivo de plano do usuário em formatação longa\n" " -s produz uma saída de formatação curta; este é o padrão\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f omite a linha de cabeçalho das colunas em formatação " "curta\n" " -w omite o nome completo de usuário em formatação curta\n" " -i omite o nome completo de usuário e a máquina remota em\n" " formatação curta\n" " -q omite o nome completo de usuário, a máquina remota e o " "tempo\n" " ocioso em formatação curta\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Um programa \"finger\" mais leve; emite as informações do usuário.\n" "O arquivo utmp será %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "nenhum usuário especificado; pelo menos um deve ser fornecido ao usar -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "\"--pages=PRIMEIRA_PÃG[:ÚLTIMA_PÃG]\" está com argumentos faltando" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "intervalo inválido de página %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "\"-l TAMANHO_PÃG\" número inválido de linhas: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "\"-N NÚMERO\" número inválido de linha inicial: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "\"-o MARGEM\" deslocamento (offset) inválido de linha: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-w TAMANHO_PÃG\" número inválido de caracteres: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "\"-W TAMANHO_PÃG\" número inválido de caracteres: %s" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "É impossível especificar o número de colunas quando imprimindo em paralelo." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "É impossível especificar impressão em paralelo e transversalmente ao mesmo " "tempo." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "\"-%c\" caracteres extras ou número inválido no argumento: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "largura de página muito estreita" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "número da página inicial %<PRIuMAX> ultrapassa o total de %<PRIuMAX>" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "Estouro do número de página" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Página %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Dispõe o(s) ARQUIVO(s) em páginas ou colunas para impressão.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIMEIRA_PÃG[:ÚLTIMA_PÃG], --pages=PRIMEIRA_PÃG[:ÚLTIMA_PÃG]\n" " começa [cessa] a impressão com a PRIMEIRA_[ÚLTIMA_]PÃG\n" " -COLUMN, --columns=COLUNA\n" " emite COLUNA colunas e as imprime verticalmente, a " "menos\n" " que a opção -a seja usada. Equilibra a quantidade de\n" " linhas nas colunas de cada página.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across imprime as colunas transversalmente ao invés de\n" " verticalmente; usada junto com -COLUNA\n" " -c, --show-control-chars\n" " usa a notação de circunflexo (^G) e de octal com barra\n" " invertida\n" " -d, --double-space\n" " espaço duplo na saída\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMATO\n" " usa FORMATO para a data no cabeçalho\n" " -e[CARACTERE[LARGURA]], --expand-tabs[=CARACTERE[LARGURA]]\n" " expande os CARACTEREs de entrada (TABs) para a LARGURA\n" " de tabulação (8)\n" " -F, -f, --form-feed\n" " usa caractere de nova-página (form feed) em vez de um " "de\n" " nova-linha para separar páginas (por um cabeçalho de " "3\n" " linhas com -F ou por cabeçalho e rodapé de 5 linhas " "sem\n" " -F)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h CABEÇALHO, --header=CABEÇALHO\n" " usa um CABEÇALHO centralizado em vez do nome de " "arquivo,\n" " -h \"\" emite uma linha em branco, não use -h\"\"\n" " -i[CARACTERE[LARGURA]], --output-tabs[=CARACTERE[LARGURA]]\n" " substitui espaços por CARACTERES (TABs) para a LARGURA\n" " de tabulação (8)\n" " -J, --join-lines mescla linhas completas, desativa o truncamento de " "linhas,\n" " nenhum alinhamento de colunas, --sep-string[=TEXTO]\n" " define os separadores\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l TAMANHO_PÃG, --length=TAMANHO_PÃG\n" " define o tamanho da página para TAMANHO_PÃG (66) linhas\n" " (o número padrão de linhas de texto é 56, ou 63 com -" "F)\n" " -m, --merge emite todos os arquivos em paralelo, um por coluna, " "trunca\n" " linhas, mas junta as de comprimento completo com -J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEPARADOR[DÃGITOS]], --number-lines[=SEPARADOR[DÃGITOS]]\n" " numera as linhas, usa DÃGITOS (5) dígitos, e então o\n" " SEPARADOR (TAB), começando a contagem a partir da\n" " primeira linha do arquivo de entrada, por padrão.\n" " -N NÚMERO, --first-line-number=NÚMERO\n" " começa a contagem a partir de NÚMERO na primeira linha " "da\n" " página impressa (veja +PRIMEIRA_PÃG)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o MARGEM, --indent=MARGEM\n" " desloca cada linha com MARGEM (zero) espaços; não afeta -" "w\n" " ou -W, MARGEM será adicionada à LAGURA_PÃG\n" " -r, --no-file-warnings\n" " omite avisos quando um arquivo não puder ser aberto\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CARACTERE],--separator[=CARACTERE]\n" " separa as colunas por um único caractere, o padrão para\n" " CARACTERE é <TAB> sem -w e \"nenhum caractere\" com -" "w\n" " -s[CARACTERE] desativa o truncamento de linha de " "todas\n" " as 3 opções de colunas (-COLUNA|-a COLUNA|-m), exceto\n" " quando -w estiver definida\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " separa as colunas com TEXTO,\n" " sem -S: Separador padrão é <TAB> com -J e <espaço>\n" " em caso contrário (o mesmo que -S\" \"); nenhum " "efeito\n" " nas opções de coluna\n" " -t, --omit-header omite os cabeçalho e rodapés de páginas\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " omite os cabeçalhos e rodapés das páginas, elimina toda\n" " paginação por caracteres de nova-página no arquivos " "de\n" " entrada\n" " -v, --show-nonprinting\n" " usa octal com barra invertida\n" " -w LARGURA_PÃG, --width=LARGURA_PÃG\n" " define a largura da página como LARGURA_PÃG (72) " "caracteres\n" " para saída em múltiplas colunas de texto, -s" "[CARACTERE]\n" " desativa (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W LARGURA_PÃG, --page-width=LARGURA_PÃG\n" " define a largura da página como LARGURA_PÃG (72) " "caracteres\n" " sempre, trunca linhas, exceto se a opção -J estiver\n" " definida; nenhuma interferência com -S ou -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Subentende-se -t se TAMANHO_PÃG <= 10.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Uso: %s [VARIÃVEL]...\n" " ou: %s OPÇÃO\n" "Se não for especificada nenhuma VARIÃVEL de ambiente, emite todas.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated termina linhas com byte 0, e não com \"nova-linha" "\"\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "aviso: %s: caractere(s) após constante de caractere foi(foram) ignorado(s)" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s FORMATO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Emite ARGUMENTO(s) conforme FORMATO, ou executa conforme OPÇÃO:\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMATO controla a saída como o printf da linguagem C.\n" "As seqüências interpretadas são:\n" "\n" " \\\" aspas\n" " \\NNN caractere com o valor octal NNN (de 1 a 3 dígitos)\n" " \\\\ barra invertida\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xHH byte com valor hexadecimal HH (de 1 a 2 dígitos)\n" " \\uHHHH caractere Unicode (ISO/IEC 10646) com valor hexadecimal HHHH\n" " (4 dígitos)\n" " \\UHHHHHHHH caractere Unicode com valor hexadecimal HHHHHHHH (8 dígitos)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% um único %\n" " %b ARGUMENTO como um texto com escapes por \"\\\" interpretados,\n" " exceto os escapes de octal que são na forma \\0 ou \\0NNN\n" "\n" "e todas as especificações de formatação C terminando com um dos " "diouxXfeEgGcs,\n" "com ARGUMENTOs convertidos para o tipo apropriado primeiro. Larguras " "variáveis\n" "também são tratadas.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: era esperado um valor numérico" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: valor não foi convertido totalmente" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "falta um número hexadecimal no escape" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "nome inválido de caractere universal \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "largura inválida de campo: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "precisão inválida: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: especificação inválida de conversão" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "aviso: ignorando argumentos em excesso, começando com %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (para expressão regular %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Uso: %s [OPÇÃO]... [ENTRADA]... (sem a opção -G)\n" " ou: %s -G [OPÇÃO]... [ENTRADA [SAÃDA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Emite um índice permutado, incluindo o contexto, das palavras dos arquivos " "de\n" "entrada.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference emite as referências geradas " "automaticamente\n" " -G, --traditional comporta-se mais como o \"ptx\" do System " "V\n" " -F, --flag-truncation=TEXTO usa TEXTO para sinalizar truncamento de " "linha\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=TEXTO nome de macro para usar em vez de \"xx\"\n" " -O, --format=roff gera saída como diretivas roff\n" " -R, --right-side-refs põe referências à direita, não contadas em -" "w\n" " -S, --sentence-regexp=EXPREG para fim de linhas ou de sentenças\n" " -T, --format=tex gera saída como diretivas TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=EXPREG usa EXPREG para buscar cada palavra-chave\n" " -b, --break-file=ARQUIVO caracteres de quebra de palavra neste " "ARQUIVO\n" " -f, --ignore-case muda para maiúsculas para ordenar\n" " -g, --gap-size=NÚMERO tamanho do espaçamento nas colunas entre " "os\n" " campos de saída\n" " -i, --ignore-file=ARQUIVO lê a lista de palavras ignoradas do " "ARQUIVO\n" " -o, --only-file=ARQUIVO lê somente a lista de palavras deste " "ARQUIVO\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references primeiro campo de cada linha é uma " "referência\n" " -t, --typeset-mode - não implementado -\n" " -w, --width=NÚMERO a largura de saída em colunas, referências\n" " excluídas\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Se ARQUIVO não for fornecido ou se for -, lê a entrada padrão.\n" "\"-F /\" por padrão.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "largura inválida de espaçamento: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Emite o nome completo do diretório de trabalho atual.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "falhou em mudar para o diretório %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "falhou em obter o estado de %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "não pôde encontrar a entrada de diretório em %s coincidente com o i-node" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignorando argumentos que não são opções" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Uso: %s [OPÇÃO]... ARQUIVO...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Mostra o valor de uma ligação simbólica na saída padrão.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize coloca na forma canônica interpretando toda\n" " ligação simbólica em cada componente do " "nome\n" " fornecido recursivamente;\n" " todos, exceto o último componente, devem\n" " existir\n" " -e, --canonicalize-existing coloca na forma canônica interpretando toda\n" " ligação simbólica em cada componente do " "nome\n" " fornecido recursivamente;\n" " todos os componentes devem existir\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing coloca na forma canônica interpretando toda\n" " ligação simbólica em cada componente do " "nome\n" " fornecido recursivamente, sem exigências\n" " quanto à existência dos componentes\n" " -n, --no-newline não emite nova-linha ao final da saída\n" " -q, --quiet,\n" " -s, --silent suprime a maioria das mensagens de erro\n" " -v, --verbose relata mensagens de erro\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignorando argumentos que não são opções" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: entrar no diretório protegido contra escrita %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: entrar no diretório %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: remover %s %s protegido contra escrita? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: remover %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "removeu o diretório: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "não foi possível remover o diretório %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "ignorando %s, já que está em um dispositivo diferente" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "falhou na leitura" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Experimente \"%s ./%s\" para remover o arquivo %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Remove (desvincula) o(s) ARQUIVO(s).\n" "\n" " -f, --force ignora arquivos inexistentes, nunca questionar\n" " -i questiona antes de cada remoção\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I questiona uma vez antes de remover mais que três\n" " arquivos ou ao remover recursivamente.\n" " Menos intrusivo que -i, mas ainda oferecendo " "alguma\n" " proteção contra a maioria das confusões\n" " --interactive[=QUANDO] questiona conforme QUANDO: never (nunca),\n" " once (-I) (uma vez), ou always (-i) (sempre).\n" " Sem QUANDO, questiona sempre\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system ao remover uma hierarquia recursivamente, ignora\n" " qualquer diretório que esteja em um sistema de\n" " arquivo diferente daquele do respectivo argumento\n" " da linha de comando\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root não trata \"/\" de forma especial\n" " --preserve-root não remove \"/\" (padrão)\n" " -r, -R, --recursive remove diretórios e seus conteúdos recursivamente\n" " -v, --verbose explica o que está sendo feito\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Por padrão, rm não remove diretórios. Use a opção --recursive (-r ou -R)\n" "para remover também cada diretório listado, junto com todo seu conteúdo.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Para remover um arquivo cujo nome começa com \"-\" (por exemplo, \"-foo\"),\n" "use um dos seguintes comandos:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Note que se você usar rm para remover um arquivo, normalmente é possível\n" "recuperar o conteúdo desse arquivo. Se quiser assegurar que o conteúdo seja\n" "de fato irrecuperável, considere usar shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: remover todos os argumentos recursivamente? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: remover todos os argumentos? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "removendo o diretório %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "falhou em remover o diretório %s" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Remove o(s) DIRETÓRIO(s) se seu conteúdo for vazio(s).\n" "\n" " --ignore-fail-on-non-empty\n" " ignora toda falha que ocorrer só por não estar vazio\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents remove DIRETÓRIO e seus ancestrais. Exemplo:\n" " \"rmdir -p a/b/c\" é similar a \"rmdir a/b/c a/b a\".\n" " --verbose emite um diagnóstico para cada diretório processado\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "falhou em remover %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Uso: %s CONTEXTO COMANDO [args]\n" " ou: %s [ -c ] [-u USUÃRIO] [-r REGRA] [-t TIPO] [-l FAIXA] COMANDO [args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Executa um programa em um contexto de segurança diferente.\n" "Sem CONTEXTO nem COMANDO, emite o contexto de segurança atual.\n" "\n" " CONTEXTO o contexto de segurança completo\n" " -c, --compute computa o contexto de transição de processo antes de\n" " modificar\n" " -t, --type=TIPO tipo (para mesma regra como parente)\n" " -u, --user=USUÃRIO identidade do usuário\n" " -r, --role=REGRA regra\n" " -l, --range=FAIXA faixa de nível\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "múltiplas regras" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "múltiplos tipos" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "múltiplos usuários" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "múltiplas faixas de nível" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "falhou em obter o contexto atual" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "você deve especificar -c, -t, -u, -l, -r ou contexto" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nenhum comando foi especificado" #: src/runcon.c:201 #, fuzzy, c-format msgid "%s may be used only on a SELinux kernel" msgstr "runcon só pode ser usado em um Kernel SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "falhou em computar o novo contexto" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "falhou em definir o novo usuário %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "falhou em definir o novo tipo %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "falhou em definir a nova faixa %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "falhou em definir a nova regra %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "incapaz de definir o contexto de segurança %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Uso: %s [OPÇÃO]... ÚLTIMO\n" " ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO\n" " ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Emite números de PRIMEIRO até ÚLTIMO, de INCREMENTO em INCREMENTO.\n" "\n" " -f, --format=FORMATO usa o FORMATO de ponto flutuante no estilo " "printf\n" " -s, --separator=TEXTO usa TEXTO para separar números (padrão: \\n)\n" " -w, --equal-width equaliza a largura preenchendo com zeros à " "esquerda\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Se são omitidos PRIMEIRO ou INCREMENTO, eles são tratados como 1. Isto vale\n" "mesmo se ÚLTIMO for menor que PRIMEIRO: o INCREMENTO omitido é assumido 1.\n" "PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores em ponto\n" "flutuante.\n" "INCREMENTO normalmente é positivo se PRIMEIRO for menor que ÚLTIMO, e\n" "negativo caso contrário.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMATO deve estar apropriado para mostrar um argumento do tipo \"double" "\" (real\n" "de precisão dupla); por padrão, é %.PRECf se PRIMEIRO, INCREMENTO e ÚLTIMO\n" "forem números decimais de ponto fixo com precisão máxima PREC, e é %g caso\n" "contrário.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argumento inválido de ponto flutuante: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s tem um tipo desconhecido de arquivo" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "o texto de formatação não pode ser especificado quando escrevendo textos de " "larguras iguais" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Uso: %s OPÇÃO USUÃRIO COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Descarta quaisquer grupos suplementares, assume a ID de usuário e de grupo " "do\n" "USUÃRIO especificado (ID numérica ou nome de usuário) e executa COMANDO com\n" "os ARGUMENTOs especificados.\n" "Sai com o estado 111 se for incapaz de assumir a ID de usuário e de grupo\n" "solicitada. Em caso contrário, sai com o estado de saída de COMANDO.\n" "Este programa só é útil quando executado pelo super-usuário (ID de usuário " "0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] também define a ID primária de grupo para GID e, se\n" " se especificadas, as IDs suplementares para GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ID desconhecida do usuário: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "para usar a ID do usuário %s, você precisa usar -g também" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "falhou em estabelecer grupo(s) suplementar(es)" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "não foi possível estabelecer ID de grupo para %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "não foi possível estabelecer ID de usuário para %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Sobrescreve o(s) ARQUIVO(s) especificado(s) repetidamente, para dificultar\n" "tentativas de recuperação dos dados mesmo através dos maquinários mais " "caros.\n" "Esse procedimento também é chamado de formatação física.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force altera as permissões para poder escrever se necessário\n" " -n, --iterations=N Sobrescreve N vezes em vez de %d, o padrão\n" " --random-source=ARQUIVO obtém bytes de aleatoriedade do ARQUIVO\n" " (o padrão é /dev/urandom)\n" " -s, --size=N formata essa quantidade de bytes (são aceitos sufixos como " "K,\n" " M e G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove trunca e remove o arquivo depois de sobrescrever\n" " -v, --verbose mostra o progresso\n" " -x, --exact não arredonda o tamanho dos arquivos até o próximo bloco\n" " cheio. Isso é o padrão para arquivos não-comuns.\n" " -z, --zero faz uma última sobrescrita com zeros para ocultar " "formatação\n" " física\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Se ARQUIVO for -, realiza a formatação física da saída padrão.\n" "\n" "Exclui ARQUIVO(s) se --remove (-u) for especificado. O padrão é não remover " "os\n" "arquivos, porque é comum operar em dispositivos como /dev/hda, e esse tipo " "de\n" "arquivo não deveria normalmente ser removido. Ao operar em arquivos comuns,\n" "a maioria das pessoas usam a opção --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "CUIDADO: Note que shred confia em uma hipótese muito importante:\n" "que o sistema de arquivos sobrescreve os dados no lugar. Esta é a maneira\n" "tradicional de se fazer, mas projetos modernos de sistemas de arquivos não\n" "satisfazem essa hipótese. Os exemplos a seguir são de sistemas de arquivos " "aos\n" "quais shred não faz efeito ou não tem eficácia garantida em todos os modos\n" "do sistema de arquivos:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* sistemas de arquivos em diário ou estruturado em registros, como os\n" "fornecidos com AIX e Solaris (e JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* sistemas de arquivos que escrevem dados redundantes e continuam mesmo se\n" "ocorrerem erros de escrita, tais como os baseados em RAID\n" "\n" "* sistemas de arquivo que fazem \"snapshots\", tal como o servidor Network\n" " Appliance's NFS\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* sistemas de arquivos que fazem cache em locais temporários, como os " "clientes\n" "de NFS versão 3.\n" "\n" "* sistemas de arquivos comprimidos\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "No caso dos sistemas de arquivos ext3, o aviso acima aplica (e shred tem,\n" "assim, eficácia limitada) somente quando dados=modo journal, que diariza os\n" "dados de arquivos além dos metadados. Tanto quando dados=ordenados (padrão) " "e\n" "dados=modos de writeback, shred funciona normal.\n" "Modos de journaling do ext3 podem ser alterados adicionando a opção " "data=algum\n" "modo às opções de montagem para um sistema de arquivos em particular no\n" "arquivo /etc/fstab como documentado no manual de mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Além disso, cópias de segurança e espelhos remoto de sistema de arquivos " "podem\n" "conter cópias do arquivo que não são possíveis de serem removidos e que\n" "permitirá um arquivo formatado fisicamente ser recuperado mais tarde.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: \"fdatasync\" falhou" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: \"fsync\" falhou" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: não foi possível voltar ao início" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: passagem %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: erro escrevendo na posição %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: \"lseek\" falhou" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: arquivo muito grande" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: passagem %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: passagem %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: \"fstat\" falhou" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tipo inválido de arquivo" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: arquivo tem tamanho negativo" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: erro ao truncar" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: \"fcntl\" falhou" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: é impossível formatar fisicamente um descritor de arquivo \"apenas-anexa" "\" (\"append-only\")" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: removendo" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: renomeado como %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: falhou em remover" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: removido" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: falhou em fechar" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: falhou em abrir para escrita" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: número inválido de passagens" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "foram especificadas múltiplas fontes de aleatoriedade" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: tamanho inválido de arquivo" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Uso: %s [OPÇÃO]... [ARQUIVO]\n" " ou: %s -e [OPÇÃO]... [ARGUMENTO]...\n" " ou: %s -i MENOR-MAIOR [OPÇÃO]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Escreve uma permutação aleatória das linhas de entrada para a saída padrão.\n" "\n" #: src/shuf.c:60 #, fuzzy msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo trata cada ARGUMENTO como uma linha de entrada\n" " -i, --input-range=MENOR-MAIOR trata desde o número MENOR ao MAIOR como\n" " linhas de entrada\n" " -n, --head-lines=LINHAS emite no máximo LINHAS linhas\n" " -o, --output=ARQUIVO escreve o resultado no ARQUIVO em vez de na " "saída\n" " padrão\n" " --random-source=ARQUIVO pega bytes de aleatoriedade do ARQUIVO\n" " (padrão: /dev/urandom)\n" " -z, --zero-terminated termina as linhas com byte 0, e não com nova-" "linha\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "foram especificadas múltiplas opções -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "intervalo inválido de entrada %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "quantidade inválida de linhas %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "foram especificados múltiplos arquivos de saída" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "é impossível combinar as opções -e e -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Uso: %s NÚMERO[SUFIXO]...\n" " ou: %s OPÇÃO\n" "Suspende por NÚMERO segundos.\n" "SUFIXO pode ser \"s\" para indicar segundos, \"m\" para minutos, \"h\" para " "horas\n" "ou \"d\" para dias. Ao contrário de outras implementações que exigem que\n" "NÚMERO seja um inteiro, aqui NÚMERO pode ser um número de ponto flutuante.\n" "Sendo fornecidos dois ou mais argumentos, suspende pela quantidade de tempo\n" "obtida pela soma de seus valores.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "intervalo inválido de tempo %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "não foi possível ler relógio de tempo real" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Escreve de forma ordenada a concatenação do(s) ARQUIVO(s) na saída padrão.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignora espaços-brancos iniciais\n" " -d, --dictionary-order considera apenas espaços-brancos e caracteres\n" " alfanuméricos\n" " -f, --ignore-case ignora diferença entre maiúsculas e " "minúsculas\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "Opções de ordenação:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 #, fuzzy msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" "Outras opções:\n" "\n" " -c, --check, --check=diagnose-first verifica se está ordenado; não " "ordena\n" " -C, --check=quiet, --check=silent como -c, mas não relata a primeira " "linha\n" " errada\n" " --compress-program=PROG comprime temporários com PROG;\n" " expande com PROG -d\n" " -k, --key=POS1[,POS2] começa uma chave em POS1 e a termina em POS2\n" " (origem é 1)\n" " -m, --merge mescla os arquivos já ordenados; não ordena\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=ARQUIVO escreve o resultado para ARQUIVO, e não para a\n" " saída padrão\n" " -s, --stable estabiliza a ordenação desabilitando a " "comparação\n" " da última esperança (\"last-resort\")\n" " -S, --buffer-size=TAM usa TAManho para o \"buffer\" de memória " "principal\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP usa SEP em vez de transições de espaços não\n" " brancos para espaços-brancos\n" " -T, --temporary-directory=DIR usa DIR para temporários, e não $TMPDIR ou\n" " %s;\n" " multiplas opções especificam múltiplos " "diretórios\n" " -u, --unique com -c, verifica se a ordenação é estrita;\n" " sem -c, emite apenas a primeira linha de uma\n" " seqüência repetida\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated termina linhas com byte 0, e não com \"nova-linha" "\"\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS é da forma C[.P][OPÇÕES], onde C é o número do campo, e P a posição do\n" "caractere no campo, ambos contados a partir de 1. Se -t nem -b está ativa,\n" "os caracteres em um campo são contados a partir do início do espaço branco\n" "precedente.\n" "OPÇÕES se compõem de uma ou mais opções (de uma letra) de ordenação, as " "quais\n" " substituem as opções globais de ordenação para aquela chave. Se nenhuma " "chave\n" "for fornecida, usa a linha inteira como chave.\n" "\n" "TAMANHO pode ser seguido pelos seguintes sufixos multiplicadores:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% de memória, b 1, k 1024 (padrão), e assim por diante com M, G, T, P, " "E,\n" "Z e Y.\n" "\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" "*** ATENÇÃO ***\n" "A localidade especificada no ambiente afeta a ordem de classificação.\n" "Defina LC_ALL=C para obter a ordenação tradicional que usa valores nativos " "de\n" "bytes.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "escrevendo em %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] terminado anormalmente" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "não foi possível criar arquivo temporário %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "erro abrindo arquivo" #: src/sort.c:970 msgid "fflush failed" msgstr "erro liberando dados no arquivo (\"fflush\")" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "erro fechando arquivo" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "erro na duplicação de descritor de arquivo (\"dup2\")" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "não pôde executar %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "não pôde criar arquivo temporário" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "não pôde criar processo para %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "não pôde executar %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "aviso: não foi possível remover: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "argumento inválido %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "argumento inválido para %s%s: \"%s\"" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s%s: argumento \"%s\" muito grande" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "falhou no \"stat\"" #: src/sort.c:1755 msgid "read failed" msgstr "falhou na leitura" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "a transformação do texto falhou" #: src/sort.c:2046 #, fuzzy, c-format msgid "the untransformed string was %s" msgstr "O texto não transformado era %s." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: a opção \"%s\" está ambígua\n" msgstr[1] "%s: a opção \"%s\" está ambígua\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "erro de escrita" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: desordenado: " #: src/sort.c:2786 msgid "standard error" msgstr "erro padrão" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: não foi possível voltar ao início" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: especificação inválida de campo %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "as opções \"-%s\" são incompatíveis" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: contagem inválida no início de %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "número inválido após \"-\"" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "número inválido após \".\"" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "caractere no lugar errado no campo spec" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "foram especificados múltiplos programas de compressão" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "número inválido no início do campo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "o número do campo é zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "o deslocamento de caracteres é zero" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "número inválido após \",\"" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tabulação vazia" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "não foi possível ler nomes de arquivos de %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "é inválido um nome de arquivo de comprimento nulo" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "fechando arquivo de entrada %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "operando extra %s não é permitido com -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Uso: %s [OPÇÃO] [ENTRADA [PREFIXO]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Divide ENTRADA em pedaços de tamanho fixo para PREFIXOaa, PREFIXOab, ...; o\n" "tamanho padrão é 1000 linhas, e o padrão para PREFIXO é \"x\". Se ENTRADA " "não\n" "for especificada ou for -, lê a entrada padrão.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose mostra um diagnóstico logo antes de abrir cada\n" " arquivo de saída\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Esgotaram-se os sufixos de arquivos de saída" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "criando arquivo %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "falhou em definir o contexto de segurança de %s para %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "não foi possível criar ligação absoluta %s para %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "fechando o diretório %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "fechando arquivo de saída %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "fechando arquivo de entrada %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "fechando arquivo de entrada %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "falhou em executar o comando %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "falhou em fechar o diretório %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "esperando por \"strip\"" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "é impossível subdividir em mais de uma forma" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: número inválido de segundos" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: número inválido" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: comprimento inválido de sufixo" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: número inválido de bytes" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: número inválido de linhas" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "a opção de contagem de linha -%s%c... está muito grande" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "número inválido para linha inicial: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: tamanho inválido de arquivo" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "não foi possível determinar o nome da máquina" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "falhou em abrir %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "aviso: escape desconhecido \"\\%c\"" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: diretiva inválida" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "aviso: barra invertida no final da formatação" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "não foi possível ler informações do sistema de arquivos para %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "fechando entrada padrão" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Mostra o estado do arquivo ou do sistema de arquivos.\n" "\n" " -L, --dereference segue as ligações\n" " -f, --file-system mostra o estado do sistema de arquivos, em vez de o\n" " estado do arquivo\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMATO usa o FORMATO especificado, em vez do padrão;\n" " emite uma nova-linha após cada uso do FORMATO\n" " --printf=FORMATO como --format, mas interpreta escapes de barra\n" " invertida, e não emite um caractere de nova-linha\n" " obrigatório ao final.\n" " Se quiser a nova-linha, inclua \\n no FORMATO.\n" " -t, --terse emite as informações de forma sucinta\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "As seqüências válidas de formatação para arquivos (sem --file-system):\n" "\n" " %a Permissões de acesso em octal\n" " %A Permissões de acesso em forma inteligível por humanos\n" " %b Quantidade de blocos alocados (veja %B)\n" " %B O tamanho em bytes de cada bloco relatado por %b\n" " %C Texto de contexto de segurança SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Número de dispositivo em decimal\n" " %D Número de dispositivo em hexadecimal\n" " %f Modo bruto em hexadecimal\n" " %F Tipo de arquivo\n" " %g ID de grupo do dono\n" " %G Nome de grupo do dono\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Quantidade de ligações absolutas\n" " %i Número do inode\n" " %n Nome do arquivo\n" " %N Nome do arquivo entre aspas; se for ligação simbólica, a interpreta\n" " %o Tamanho do bloco de E/S\n" " %s Tamanho total, em bytes\n" " %t Tipo maior de dispositivo em hexadecimal\n" " %T Tipo menor de dispositivo em hexadecimal\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID de usuário do dono\n" " %U Nome de usuário do dono\n" " %x Horário do último acesso\n" " %X Horário do último acesso em segundos desde Epoch\n" " %y Horário da última modificação\n" " %Y Horário da última modificação em segundos desde Epoch\n" " %z Horário da última alteração do estado\n" " %Z Horário da última alteração do estado em segundos desde Epoch\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Seqüências válidas de formatação para sistemas de arquivos:\n" "\n" " %a Blocos livres disponíveis usuário comum (não super-usuário)\n" " %b Total de blocos de dados no sistema de arquivos\n" " %c Total de nós de arquivo no sistema de arquivos\n" " %d Nós de arquivo livres no sistema de arquivos\n" " %f Blocos livres no sistema de arquivos\n" " %C Texto de contexto de segurança SELinux\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ID de Sistema de Arquivo em hexadecimal\n" " %l Máximo comprimento de nome de arquivo\n" " %n Nome de arquivo\n" " %s Tamanho de bloco (para transferências mais rápidas)\n" " %S Tamanho fundamental de bloco (para contagem de blocos)\n" " %t Tipo em hexadecimal\n" " %T Tipo em forma inteligível por humanos\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Uso: %s [OPÇÃO]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "falhou em abrir %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "falhou em definir o contexto de segurança de %s para %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Uso: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [CONFIGURAÇÃO]...\n" " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Mostra ou altera as características do terminal.\n" "\n" " -a, --all emite todas as características atuais de forma\n" " inteligível por humanos\n" " -g, --save emite todas as características atuais de forma\n" " inteligível pelo stty\n" " -F, --file=DISPOSIVO abre e usa o DISPOSItivo especificado em vez da\n" " entrada padrão\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "O uso opcional de um - antes de CONFIGURAÇÃO indica negação. Um \"*\" marca\n" "configurações não-POSIX. O sistema sobre o qual o stty é executado " "determina\n" "quais são as características disponíveis.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caracteres especiais:\n" " * dsusp CARAC CARAC enviará um sinal de parada de terminal assim que a\n" " entrada for descarregada\n" " eof CARAC CARAC enviará um fim-de-arquivo (termina a entrada)\n" " eol CARAC CARAC terminará a linha\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CARAC CARACtere alternativo para fim de linha\n" " erase CARAC CARAC apagará o último caractere digitado\n" " intr CARAC CARAC enviará um sinal de interrupção\n" " kill CARAC CARAC apagará a linha atual\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CARAC CARAC deixará o próximo caractere entre aspas\n" " quit CARAC CARAC enviará um sinal de sair (\"quit\")\n" " * rprnt CARAC CARAC redesenhará a linha atual\n" " start CARAC CARAC reiniciará a saída depois de pará-la\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CARAC CARAC irá parar a saída\n" " susp CARAC CARAC enviará um sinal de parada de terminal\n" " * swtch CARAC CARAC trocará para uma camada diferente de shell\n" " * werase CARAC CARAC apagará a última palavra digitada\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Configurações especiais:\n" " N configura as velocidades de entrada e saída para N bauds\n" " * cols N informa ao Kernel que o terminal tem N colunas\n" " * columns N o mesmo que cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N configura a velocidade de entrada para N bauds\n" " * line N usa a disciplina de linha N\n" " min N com -icanon, define o mínimo de N caracteres para uma " "leitura\n" " completa\n" " ospeed N configura a velocidade de saída para N bauds\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N informa ao Kernel que o terminal tem N linhas\n" " * size emite o número de linhas e colunas conforme o Kernel\n" " speed emite a velocidade do terminal\n" " time N com -icanon, define o tempo limite de leitura para N " "décimos\n" " de segundo\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Configurações de controle:\n" " [-]clocal desativa os sinais de controle do modem\n" " [-]cread permite os dados de entrada serem recebidos\n" " * [-]crtscts permite negociação RTS/CTS\n" " csN define o tamanho do caractere para N bits, N em [5..8]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb usa dois bits de parada por caractere (um com \"-\")\n" " [-]hup envia um sinal de desligar quando o último processo fechar\n" " o tty\n" " [-]hupcl o mesmo que [-]hup\n" " [-]parenb gera um bit de paridade na saída e espera um bit de " "paridade\n" " na entrada\n" " [-]parodd define a paridade como ímpar (par com \"-\")\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Configurações da entrada:\n" " [-]brkint \"break\" causa um sinal de interrupção\n" " [-]icrnl traduz retorno de carro como nova-linha\n" " [-]ignbrk ignora caracteres \"break\"\n" " [-]igncr ignora retorno de carro\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignora caractere com erros de paridade\n" " * [-]imaxbel emite um sinal sonoro e não descarrega um \"buffer\" de\n" " entrada cheio em um caractere\n" " [-]inlcr tranduz nova-linha por retorno de carro\n" " [-]inpck habilita a verificação de paridade da entrada\n" " [-]istrip zera o bit mais significativo (8) dos caracteres de " "entrada\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 assume que os caracteres de entrada estão na codificação " "UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc traduz caracteres em maiúsculas para em minúsculas\n" " * [-]ixany permite qualquer caractere reiniciar a saída, e não apenas\n" " o caractere de início\n" " [-]ixoff habilita o envio de caracteres de início e parada\n" " [-]ixon habilita o controle de fluxo XON/XOFF\n" " [-]parmrk marca os erros de paridade (com uma seqüência 255-0-" "caractere)\n" " [-]tandem o mesmo que [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Configurações de saída:\n" " * bsN estilo do atraso do backspace, N em [0..1]\n" " * crN estilo do atraso do retorno de carro, N em [0..3]\n" " * ffN estilo do atraso do caractere de nova-página, N em [0..1]\n" " * nlN estilo do atraso do caractere de nova-linha, N em [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl traduz retorno de carro para nova-linha\n" " * [-]ofdel usa caracteres de \"delete\" para preencher em vez de nulo\n" " * [-]ofill usa caractere de preenchimento em vez de esperar por " "atrasos\n" " * [-]olcuc traduz minúsculas para maiúsculas\n" " * [-]onlcr traduz nova-linha para retorno de carro-nova-linha\n" " * [-]onlret nova-linha provoca um retorno de carro\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr não emite retorno de carro na primeira coluna\n" " [-]opost realiza pós-processamento da saída\n" " * tabN estilo do atraso da tabulação horizontal, N em [0..3]\n" " * tabs o mesmo que tab0\n" " * -tabs o mesmo que tab3\n" " * vtN estilo do atraso da tabulação vertical, N em [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Configurações locais:\n" " [-]crterase ecoa caracteres de apagar como backspace-espaço-backspace\n" " * crtkill mata todas as linhas obedecendo as configurações de echoprt " "e\n" " echoe\n" " * -crtkill mata todas as linhas obedecendo as configurações de echoctl " "e\n" " echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho ecoa os caracteres de controle em notação de circunflexo\n" " (\"^c\")\n" " [-]echo ecoa caracteres de entrada\n" " * [-]echoctl o mesmo que [-]ctlecho\n" " [-]echoe o mesmo que [-]crterase\n" " [-]echok ecoa uma nova-linha depois de um caractere de \"kill\"\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke o mesmo que [-]crtkill\n" " [-]echonl ecoa uma nova-linha mesmo se não estiver ecoando os demais\n" " caracteres\n" " * [-]echoprt ecoa os caracteres apagados pra trás entre \"\\\" e \"/\"\n" " [-]icanon habilita os caracteres especiais de erase (apagar), kill\n" " (matar), werase (apagar palavra) e rprnt\n" " [-]iexten habilita caracteres especiais não-POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig habilita os caracteres especiais de interrupção, saída\n" " (\"quit\") e suspensão\n" " [-]noflsh desabilita descarga (\"flush\") após caracteres de " "interrupção\n" " e saída (\"quit\")\n" " * [-]prterase o mesmo que [-]echoprt\n" " * [-]tostop cessa trabalhos em plano de fundo que tentam escrever no\n" " terminal\n" " * [-]xcase com icanon, escapa com \"\\\" caracteres em maiúsculas\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Configurações de combinação:\n" " * [-]LCASE o mesmo que [-]lcase\n" " cbreak o mesmo que -icanon\n" " -cbreak o mesmo que icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked o mesmo que os caracteres brkint ignpar istrip icrnl ixon\n" " opost isig icanon, eof e eol para seus valores padrão\n" " -cooked o mesmo que raw\n" " crt o mesmo que echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec o mesmo que echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq o mesmo que [-]ixany\n" " ek caracteres \"erase\" e \"kill\" nos seus valores padrão\n" " evenp o mesmo que parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp o mesmo que -parenb cs8\n" " * [-]lcase o mesmo que xcase iuclc olcuc\n" " litout o mesmo que -parenb -istrip -opost cs8\n" " -litout o mesmo que parenb istrip opost cs7\n" " nl o mesmo que -icrnl -onlcr\n" " -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp o mesmo que parenb parodd cs7\n" " -oddp o mesmo que -parenb cs8\n" " [-]parity o mesmo que [-]evenp\n" " pass8 o mesmo que -parenb -istrip cs8\n" " -pass8 o mesmo que parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw o mesmo que \"cooked\"\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane o mesmo que cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke; todos os " "caracteres\n" " especiais com seus valores padrão.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Manipula a linha tty ligada à entrada padrão. Sem argumentos, emite a taxa " "de\n" "símbolos em baud, a disciplina da linha e as modificações em relação ao " "\"stty\n" " sane\". Nas configurações, CARAC é um caractere aceito literalmente ou\n" " codificado como em ^c, 0x37, 0177 ou 127; valores especiais ^- ou \"undef" "\"\n" " (indefinido) são utilizados para desabilitar caracteres especiais.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "somente um dispositivo pode ser especificado" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "as opções para estilo de saída detalhado e inteligível ao stty\n" "são mutuamente exclusivas" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "ao especificar um estilo de saída, não se pode definir um modo" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: não foi possível reiniciar modo não-bloqueante" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argumento inválido %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "faltando argumento para %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "disciplina inválida de linha %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: incapaz de realizar todas as operações solicitadas" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: sem informação de tamanho para este dispositivo" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argumento inválido para inteiro %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Mostra a soma de verificação (checksum) e o total de blocos para cada " "ARQUIVO.\n" "\n" " -r inibe -s, usa o algoritmo de soma do BSD, com blocos de " "1K\n" " -s, --sysv usa o algoritmo de soma do System V, com blocos de 512 " "bytes\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Força os blocos alterados para o disco, atualiza o super-bloco.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorando todos os argumentos" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NOTA: seu shell pode ter sua própria versão de %s, o que pode tornar\n" "obsoleta a versão descrita aqui. Por favor, informe-se na documentação do " "seu\n" "shell sobre a que opções ele oferece suporte.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help mostra esta ajuda e finaliza\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version informa a versão e finaliza\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Argumentos obrigatórios para opções longas também o são para opções curtas.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Relate os problemas para <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Experimente \"%s --help\" para mais informações.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "AVISO: Estrutura circular de diretórios.\n" "Isso quase sempre significa que o sistema de arquivos está corrompido.\n" "NOTIFIQUE O ADMINISTRADOR DO SISTEMA.\n" "Os diretórios a seguir fazem parte do ciclo:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escreve cada ARQUIVO na saída padrão, começando pela última linha.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before coloca o separador antes de cada linha, em vez " "de\n" " colocar depois\n" " -r, --regex interpreta o separador como uma expressão " "regular\n" " -s, --separator=TEXTO usa TEXTO como separador, em vez do caractere de\n" " \"nova-linha\"\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: busca (\"seek\") falhou" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "registro muito grande" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "não foi possível criar arquivo temporário %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: falhou em abrir para escrita" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "falhou em preservar horário para %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: erro de escrita" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "não foi possível abrir %s para leitura" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "o separador não pode ser nulo" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Mostra as %d últimas linhas de cada ARQUIVO na saída padrão.\n" "Se especificados vários ARQUIVOs, mostra o nome de cada um antes de suas\n" "respectivas linhas.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " emite os dados anexados ao arquivo à medida que " "ele\n" " cresce;\n" " -f, --follow e --follow=descriptor são opções\n" " equivalentes\n" " -F o mesmo que --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N emite as N últimas linhas, em vez das %d " "últimas;\n" " ou use +N para emitir linhas começando da N-" "ésima\n" " --max-unchanged-stats=N\n" " com --follow=name, reabre o ARQUIVO que não teve " "o\n" " tamanho alterado após N (padrão: %d) iterações\n" " para ver se ele foi removido ou renomeado\n" " (uma situação comum para arquivos de log " "rotativo)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID com -f, termina depois do processo de PID morrer\n" " -q, --quiet, --silent nunca emite cabeçalhos com os nomes dos ARQUIVOs\n" " -s, --sleep-interval=S com -f, suspende por aproximadamente S segundos\n" " (padrão: 1.0) entre as iterações.\n" " -v, --verbose sempre emite cabeçalhos com os nomes dos " "ARQUIVOs\n" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " --pid=PID com -f, termina depois do processo de PID morrer\n" " -q, --quiet, --silent nunca emite cabeçalhos com os nomes dos ARQUIVOs\n" " -s, --sleep-interval=S com -f, suspende por aproximadamente S segundos\n" " (padrão: 1.0) entre as iterações.\n" " -v, --verbose sempre emite cabeçalhos com os nomes dos " "ARQUIVOs\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Se o primeiro caractere de N (o número de bytes ou linhas) é um \"+\", " "começa\n" "do N-ésimo item de cada arquivo; caso contrário, emite os N últimos itens.\n" "N pode ter um sufixo multiplicativo:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, e assim por diante com T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Este\n" "comportamento padrão não é desejável quando você quer rastrear pelo nome\n" "verdadeiro do arquivo, e não o descritor de arquivo (por exemplo, a rotação " "de\n" "um log). Use --follow=name nesse caso. Isso faz com tail rastrear o arquivo\n" "reabrindo-o periodicamente para ver se ele foi removido e recriado por " "algum\n" "outro programa.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "fechando %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: não foi possível buscar (\"seek\") pela posição relativa %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: não foi possível buscar (\"seek\") pela posição relativa ao fim %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s se tornou inacessível" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s foi substituido por um arquivo que não pode ter seu fim monitorado; " "desistindo desse nome" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s foi substituido por um arquivo que não pode ter seu fim monitorado; " "desistindo desse nome" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s se tornou acessível" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s apareceu; monitorando o fim do novo arquivo" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s foi substituido; monitorando o fim do novo arquivo" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: não foi possível alterar o modo não-bloqueante" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: arquivo truncado" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nenhum aquivo restante" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "não foi possível realizar \"stat\" no diretório atual (agora %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "memória esgotada" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "não foi possível tocar %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "erro lendo %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: é impossivel monitorar o final deste arquivo; desistindo desse nome" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "o número em %s é muito grande" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: número inválido para máximo de estados inalterados entre aberturas do " "arquivo" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID inválido" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: número inválido de segundos" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "opção usada em um contexto inválido -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "aviso: --retry é mais usado quando monitorando pelo nome" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "aviso: PID ignorado; --pid=PID é útil somente quando monitorando" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "aviso: não há suporte para--pid=PID neste sistema" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "é impossível monitorar %s pelo nome" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "aviso: monitorar indefinidamente a entrada padrão não funciona" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copia a entrada padrão para cada ARQUIVO, e também para a saída padrão.\n" "\n" " -a, --append anexa ao(s) ARQUIVO(s) fornecido(s) em vez de\n" " sobrescrever\n" " -i, --ignore-interrupts ignora os sinais de interrupção\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Se ARQUIVO for -, copia novamente para a saída padrão.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "faltam argumentos depois de %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "número inteiro inválido %s" #: src/test.c:241 msgid "')' expected" msgstr "era esperado \")\"" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "era esperado \")\", foi encontrado %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: era esperado um operador unário" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt não aceita -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef não aceita -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot não aceita -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operador binário desconhecido" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: era esperado um operador binário" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Uso: test EXPRESSÃO\n" " ou: test\n" " ou: [ EXPRESSÃ0 ]\n" " ou: [ ]\n" " ou: [ OPÇÃO\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Sai com o estado determinado por EXPRESSÃO.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Uma EXPRESSÃO omitida resulta em falso. Nos demais casos,\n" "EXPRESSÃO é verdadeira ou falsa e configura o estado de saída.\n" "Assume uma das formas a seguir:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSÃO ) EXPRESSÃO é verdadeira\n" " ! EXPRESSÃO EXPRESSÃO é falsa\n" " EXPRESSÃO1 -a EXPRESSÃO2 tanto EXPRESSÃO1 como EXPRESSÃO2 são " "verdadeiras\n" " EXPRESSÃO1 -o EXPRESSÃO2 EXPRESSÃO1 ou EXPRESSÃO2 é(são) verdadeira(s)\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n TEXTO o comprimento do TEXTO não é nulo\n" " TEXTO equivalente a -n TEXTO\n" " -z TEXTO o comprimento do TEXTO é nulo\n" " TEXTO1 = TEXTO2 os textos são iguais\n" " TEXTO1 != TEXTO2 os textos não são iguais\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2\n" " INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2\n" " INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2\n" " INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2\n" " INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2\n" " INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " ARQUIVO1 -ef ARQUIVO2 ARQUIVO1 e ARQUIVO2 têm o mesmo número de " "dispositivo\n" " e de inode\n" " ARQUIVO1 -nt ARQUIVO2 ARQUIVO1 é mais recente (horário de modificação) " "que\n" " ARQUIVO2\n" " ARQUIVO1 -ot ARQUIVO2 ARQUIVO1 é mais antigo que ARQUIVO2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b ARQUIVO ARQUIVO existe e é especial de tipo bloco\n" " -c ARQUIVO ARQUIVO existe e é especial de tipo caractere\n" " -d ARQUIVO ARQUIVO existe e é um diretório\n" " -e ARQUIVO ARQUIVO existe\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f ARQUIVO ARQUIVO existe e é um arquivo comum\n" " -g ARQUIVO ARQUIVO existe e é set-group-ID (ajusta ID de grupo na " "execução)\n" " -G ARQUIVO ARQUIVO existe e tem como dono uma ID de grupo efetivo\n" " -h ARQUIVO ARQUIVO existe e é uma ligação simbólica (o mesmo que -L)\n" " -k ARQUIVO ARQUIVO existe e tem definido o bit de aderência (\"sticky" "\")\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L ARQUIVO ARQUIVO existe e é uma ligação simbólica (o mesmo que -h)\n" " -O ARQUIVO ARQUIVO existe e tem como dono a ID de usuário efetivo\n" " -p ARQUIVO ARQUIVO existe e é um arquivo de pipe (\"named pipe\")\n" " -r ARQUIVO ARQUIVO existe e tem permissão de leitura\n" " -s ARQUIVO ARQUIVO existe e seu tamanho é maior que zero\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S ARQUIVO ARQUIVO existe e é um soquete\n" " -t FD o descritor de arquivo FD está aberto em um terminal\n" " -u ARQUIVO ARQUIVO existe e tem definido o bit de set-user-ID\n" " -w ARQUIVO ARQUIVO existe e tem permissão de escrita\n" " -x ARQUIVO ARQUIVO existe e tem permissão de execução (ou busca)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Excetuando-se -h e -L, todos os testes relativo a ARQUIVOs interpretam as\n" "ligações simbólicas.\n" "Lembre-se que os parênteses têm que ser \"escapados\" (por exemplo, usando \n" "barras invertidas) antes, para serem passados para shells.\n" "INTEIRO pode também ser -l TEXTO, que avalia o comprimento de TEXTO.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NOTA: [ honra as opções --help e --version, mas \"test\" não.\n" "\"test\" trata cada uma delas como trataria qualquer outro TEXTO não nulo.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test e/ou [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "falta \"]\"" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argumento extra %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Uso: %s OPÇÃO USUÃRIO COMANDO [ARGUMENTO]...\n" " ou: %s OPÇÃO\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Argumentos obrigatórios para opções longas também o são para opções curtas.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "erro escrevendo %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "formato de data inválido %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "não foi possível tocar %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "configurando horário de %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Atualiza os horários de modificação e acesso de cada ARQUIVO para o horário\n" "atual.\n" "\n" "Um argumento ARQUIVO que não exista é criado vazio.\n" "\n" "Se um argumento ARQUIVO for -, ele é tratado de forma especial e faz com " "que\n" "altere os horários do arquivo associado com a saída padrão.\n" "\n" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a altera somente o horário de acesso\n" " -c, --no-create não cria arquivo algum\n" " -d, --date=TEXTO analisa TEXTO e o usa em vez da hora atual\n" " -f (sem efeito)\n" " -m altera somente o horário de modificação\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference afeta cada ligação simbólica em vez do arquivo por\n" " ela referenciado (útil somente em sistemas que\n" " permitem mudar o dono de uma ligação simbólica)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=ARQ usa os horários deste arquivo, em vez do horário " "atual\n" " -t STAMP usa [[CC]YY]MMDDhhmm[.ss] em vez do horário atual\n" " --time=PALAVRA altera o horário especificado:\n" " PALAVRA é \"access\", \"atime\" ou \"use\":\n" " equivalente a -a\n" " PALAVRA é \"modify\" ou \"mtime\": equivalente a -" "m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Note que as opções -d e -t aceitam formatos diferentes de data e hora.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "é impossível especificar horários de mais de uma fonte" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "aviso: \"touch %s\" está obsoleto; use \"touch -t %04ld%02d%02d%02d%02d.%02d" "\"" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Uso: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Traduz, comprime e/ou apaga caracteres da entrada padrão,\n" "escrevendo para a saída padrão.\n" "\n" " -c, -C, --complement primeiramente faz o complemento do CONJUNTO1\n" " -d, --delete apaga os caracteres do CONJUNTO1, não traduz\n" " -s, --squeeze-repeats substitui cada seqüência de entrada de um " "caractere\n" " repetido listado no CONJUNTO1 por uma " "única ocorrência desse caractere\n" " -t, --truncate-set1 primeiramente trunca CONJUNTO1 para o comprimento " "de\n" " CONJUNTO2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "CONJUNTOs são especificados como cadeias de caracteres. A maioria " "representa\n" "eles mesmos.\n" "As seqüências interpretadas são:\n" "\n" " \\NNN caractere com valor octal NNN (1 a 3 dígitos em octal)\n" " \\\\ barra invertida\n" " \\a sino (BEL) audível\n" " \\b backspace\n" " \\f nova-página (\"form feed\")\n" " \\n nova-linha\n" " \\r retorno (\"enter\")\n" " \\t tabulação horizontal\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v tabulação vertical\n" " CARAC1-CARAC2 todos os caracteres desde CARAC1 a CARAC2 em ordem " "crescente\n" " [CARAC*] no CONJUNTO2, cópias de CARAC até o comprimento do " "CONJUNTO1\n" " [CARAC*REPETE] REPETE cópias de CARAC; REPETE em octal se começando com " "0\n" " [:alnum:] todas as letras e dígitos\n" " [:alpha:] todas as letras\n" " [:blank:] todos os espaços brancos na horizontal\n" " [:cntrl:] todos os caracteres de controle\n" " [:digit:] todos os dígitos\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] todos os caracteres exibíveis, exceto espaços\n" " [:lower:] todas as letras minúsculas\n" " [:print:] todos os caracteres exibíveis, inclusive espaços\n" " [:punct:] todos os caracteres de pontuação\n" " [:space:] todos os espaços brancos na horizontal ou vertical\n" " [:upper:] todas as letras maiúsculas\n" " [:xdigit:] todos os dígitos hexadecimais\n" " [=CARAC=] todos os caracteres equivalentes a CARAC\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "aviso: a seqüência de escape octal ambígua \\%c%c%c\n" "está sendo interpretada como a seqüência de 2 bytes \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "aviso: não é portável ter uma barra invertida sem escape no final de um texto" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" "os extremos do intervalo em \"%s-%s\" estão em ordem inversa da seqüência de " "colagem (\"collate\")" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "número inválido de repetições %s na especificação [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "nome de classe de caracteres faltando \"[::]\"" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "caractere de classe de equivalência faltando \"[==]\"" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "classe inválida de caracteres %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: o operador de equivalência de classe deve ser um único caractere" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "as construções [:upper:] e/ou [:lower:] estão desalinhadas" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "muitos caracteres no conjunto" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "o operador de repetição [c*] não pode aparecer em CONJUNTO1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "só um operador de repetição [c*] pode aparecer em CONJUNTO2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "as expressões [=c=] não podem aparecer em CONJUNTO2 ao traduzir" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "quando traduzindo, as únicas classes de caracteres que podem aparecer em\n" "CONJUNTO2 são \"upper\" e \"lower\"" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "se não se está truncando CONJUNTO1, CONJUNTO2 não pode ser vazia" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "ao traduzir com classes de caracteres complementares,\n" "CONJUNTO2 deve mapear todos os caracteres do domínio a um só" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "as expressões [c*] só podem aparecer em CONJUNTO2 quando traduzindo" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Somente um conjunto pode ser fornecido ao remover sem omitir repetições." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Dois conjuntos devem ser fornecidos quando traduzindo." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Somente um conjunto pode ser fornecido ao remover sem omitir repetições." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Uso: %s [argumentos da linha de comando ignorados]\n" " ou: %s OPÇÃO\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Sai com um código de estado indicando sucesso." #: src/true.c:46 #, fuzzy msgid "Exit with a status code indicating failure." msgstr "Sai com um código de estado indicando sucesso." #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Uso: %s OPÇÃO... [ARQUIVO]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 #, fuzzy msgid " -c, --no-create do not create any files\n" msgstr " -d, --directory cria um diretório, e não um arquivo\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: arquivo tem tamanho negativo" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "não foi possível mudar a posse de %s" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "estouro de deslocamento enquanto lia o arquivo %s" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "estouro de deslocamento enquanto lia o arquivo %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "foram especificados múltiplos diretórios-alvo" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "deve-se especificar uma lista de bytes, caracteres ou campos" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "não foi possível abrir %s para escrita" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Uso: %s [OPÇÃO] [ARQUIVO]\n" "Escreve uma lista totalmente ordenada coerente com uma ordenação parcial no\n" "ARQUIVO.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: a entrada contém um número ímpar de termos" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: a entrada contém um ciclo:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Emite o nome de arquivo do terminal conectado à entrada padrão.\n" "\n" " -s, --silent, --quiet não emite nada, só retorna o estado de saída\n" #: src/tty.c:120 msgid "not a tty" msgstr "não é um tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Mostra certas informações sobre o sistema. Sem fornecer OPÇÃO, fica " "implícito\n" "o uso de -s.\n" "\n" " -a, --all emite todas as informações, na ordem a seguir,\n" " exceto que omite -p e -i se desconhecidos:\n" " -s, --kernel-name emite o nome do Kernel do sistema operacional\n" " -n, --nodename emite o nome do nó da máquina na rede\n" " -r, --kernel-release emite a versão de liberação do Kernel\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version emite a data em que o Kernel foi criado\n" " -m, --machine emite o nome do hardware da máquina " "(arquitetura)\n" " -p, --processor emite o tipo do processador ou \"unknown\"\n" " (desconhecido)\n" " -i, --hardware-platform emite a plataforma de hardware ou \"unknown\"\n" " (desconhecido)\n" " -o, --operating-system emite o sistema operacional\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Emite a arquitetura da máquina.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "não foi possível obter o nome do sistema" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converte os espaços de cada ARQUIVO em tabulações, escrevendo na saída " "padrão.\n" "Sem ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all converte todos os espaços brancos, não só os iniciais\n" " --first-only converte somente a seqüência inicial de espaços " "brancos\n" " (cancela -a)\n" " -t, --tabs=NÚMERO usa NÚMERO espaços em cada tabulação, em vez de 8\n" " (habilita -a)\n" " -t, --tabs=LISTA usa a LISTA (separadas por vírgulas) de posições de\n" " tabulação (habilita -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "as tabulações estão muito longínquas" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "o valor da parada de tabulação é muito grande" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Uso: %s [OPÇÃO]... [ENTRADA [SAÃDA]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count prefixa as linhas com a quantidade de ocorrências\n" " -d, --repeated só emite as linhas duplicadas (um exemplar de cada)\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=método-delimit] emite todas as linhas repetidas " "(apenas)\n" " método-delimit={none(padrão),prepend,separate}\n" " none: nenhum, prepend: antes, separate: separar\n" " A delimitação é feita com linhas em branco.\n" " -f, --skip-fields=N evita comparar os N primeiros campos\n" " -i, --ignore-case ignora as diferenças entre maiúsculas e minúsculas\n" " -s, --skip-chars=N evita comparar os N primeiros caracteres\n" " -u, --unique emite apenas as linhas únicas\n" " -z, --zero-terminated termina as linhas com o byte 0, e não com nova-" "linha\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N compara no máximo N caracteres por linha\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Um campo é uma seqüência de espaços-brancos (normalmente espaços e/ou\n" "tabulações) seguidos por caracteres que não sejam espaços-brancos.\n" "Os campos são ignorados antes de caracteres.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Nota: \"uniq\" não detecta linhas repetidas a menos que sejam adjacentes.\n" "Talvez você prefira ordenar a entrada primeiro, ou usar \"sort -u\" sem " "\"uniq\".\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "muitas linhas repetidas" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "quantidade inválida de campos para ignorar" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "quantidade inválida de bytes para ignorar" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "quantidade inválida de bytes para comparar" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "não faz sentido emitir todas as linhas duplicadas e contagens de repetição " "simultaneamente" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Uso: %s ARQUIVO\n" " ou: %s OPÇÃO\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Chama a função unlink (desfazer ligação) para remover o ARQUIVO " "especificado.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "não foi possível remover %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "não pôde obter a data de iniciação da máquina" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? no ar " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? dias ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s no ar " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu usuário" msgstr[1] "%lu usuários" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", carga média: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Emite a hora atual, o tempo que o sistema está ligado, o número de usuários\n" "no sistema e a quantidade média de processos na fila de execução do\n" "sistema nos últimos 1, 5 e 15 minutos.\n" "Se ARQUIVO não for especificado, usa-se %s. É costume usar %s como ARQUIVO.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Emite quem está atualmente conectado de acordo com ARQUIVO.\n" "Se ARQUIVO não for especificado, usa-se %s.\n" "É costume usar %s como ARQUIVO.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Emite quem está atualmente conectado de acordo com ARQUIVO.\n" "Se ARQUIVO não for especificado, usa-se %s.\n" "É costume usar %s como ARQUIVO.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Mostra a quantidade de linhas, palavras e bytes para cada ARQUIVO, e uma\n" "linha com o total se for especificado mais de um ARQUIVO.\n" "Se ARQUIVO não for especificado ou for -, lê a entrada padrão.\n" " -c, --bytes mostra a quantidade de bytes\n" " -m, --chars mostra a quantidade de caracteres\n" " -l, --lines mostra a quantidade de linhas\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=A lê a entrada dos arquivos especificados pelos " "nomes\n" " terminados com NULO contidos no arquivo A\n" " -L, --max-line-length emite o comprimento da linha mais longa\n" " -w, --words emite a quantidade de palavras\n" #: src/who.c:210 msgid " old " msgstr " antigo " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "Erro de sistema" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "térm=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "saída=" #: src/who.c:485 #, fuzzy msgid "LOGIN" msgstr "LINHA" #: src/who.c:505 msgid "clock change" msgstr "mudança de relógio" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "nível de execução" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "último=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# usuários=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NOME" #: src/who.c:559 msgid "LINE" msgstr "LINHA" #: src/who.c:559 msgid "TIME" msgstr "HORÃRIO" #: src/who.c:559 msgid "IDLE" msgstr "OCIOSO" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMENTÃRIO" #: src/who.c:560 msgid "EXIT" msgstr "SAÃDA" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Uso: %s [OPÇÃO]... [ ARQUIVO | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all o mesmo que -b -d --login -p -r -t -T -u\n" " -b, --boot horário da última iniciação do sistema\n" " -d, --dead emite os processos mortos\n" " -H, --heading emite a linha com cabeçalhos das colunas\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" " -l, --login emite os processo de acesso (\"login\") do sistema\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup tenta pôr em forma canônica os nomes de máquina via DNS\n" " -m só o nome de máquina e usuário associado à entrada " "padrão\n" " -p, --process mostra os processos ativos criados por \"init\"\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count os nomes e o total de todos os os usuários conectados\n" " -r, --runlevel emite o nível de execução (\"runlevel\") atual\n" " -s, --short emite apenas nome, linha e horário (o padrão)\n" " -t, --time emite a última modificação de relógio do sistema\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg adiciona o estado de mensagem do usuário como +, - ou ?\n" " -u, --users lista os usuários conectados\n" " --message o mesmo que -T\n" " --writable o mesmo que -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Se ARQUIVO não for especificado, usa %s. É costume usar %s como ARQUIVO.\n" "Se ARG1 ARG2 forem fornecidos, presume-se -m. Valores comuns para eles são:\n" "\"am i\" (\"sou eu\") ou \"mom likes\" (\"mamãe gosta\").\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Emite o nome do usuário associado à identificação de usuário efetivo (uid)\n" "atual.O mesmo que id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: não foi possível encontrar o nome para a ID de usuário %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [TEXTO]...\n" " ou: %s OPÇÃO\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Emite repetidamente uma linha com todos os TEXTOs especificados ou \"y\".\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "criando arquivo %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Uso: %s [OPÇÃO] NOME...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: comprimento inválido de sufixo" #~ msgid "reading %s" #~ msgstr "lendo %s" #~ msgid "writing %s" #~ msgstr "escrevendo %s" #~ msgid "closing %s" #~ msgstr "fechando %s" #~ msgid "accessing %s" #~ msgstr "acessando %s" #~ msgid "opening %s" #~ msgstr "abrindo %s" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ignora diretórios em sistemas de arquivo " #~ "diferentes\n" #~ " -X ARQ, --exclude-from=ARQ Exclui arquivos que coincidam com qualquer " #~ "padrão\n" #~ " em ARQ.\n" #~ " --exclude=PADRÃO Exclui arquivos que coincidam com o PADRÃO.\n" #~ " --max-depth=N exibe o total para um diretório (ou arquivo, com\n" #~ " --all) somente se está a N ou menos níveis " #~ "abaixo\n" #~ " do argumento da linha de comando; --max-" #~ "depth=0 é\n" #~ " equivalente a --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nunca faz cópias de segurança (mesmo se --backup for\n" #~ " especificado)\n" #~ " numbered, t faz cópias de segurança numeradas\n" #~ " existing, nil numeradas se já existirem cópias de segurança " #~ "numeradas,\n" #~ " simples em caso contrário\n" #~ " simple, never sempre faz cópias de segurança simples\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "a opção --megabytes é obsoleta; use -m no lugar" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Todos os argumentos para opções longas são obrigatórias para opções " #~ "curtas.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "BASE numérica é d para decimal, o para octal, x para hexadecimal ou n " #~ "para\n" #~ "nenhuma.\n" #~ "QTD é hexadecimal com prefixo 0x ou 0X e pode ter um sufixo " #~ "multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, e assim por diante com T, P, E, Z e " #~ "Y.\n" #~ "Adicionar um sufixo z para qualquer tipo mostra os caracteres imprimíveis " #~ "ao\n" #~ "final de cada linha de saída. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string sem um número implica em 3. --width sem um número\n" #~ "implica em 32. Por padrão, od usa -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPÇÃO]... ARQUIVO\n" #~ msgid "Password:" #~ msgstr "Senha:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: não foi possível abrir /dev/tty" #~ msgid "cannot set groups" #~ msgstr "não foi possível definir grupos" #~ msgid "cannot set group id" #~ msgstr "não foi possível definir id de grupo" #~ msgid "cannot set user id" #~ msgstr "não foi possível definir id de usuário" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPÇÃO]... [-] [USUÃRIO [ARGUMENTO]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Altera as identificações de usuário e grupo efetivo do USUÃRIO.\n" #~ "\n" #~ " -, -l, --login torna o shell em um shell de acesso " #~ "(\"login\")\n" #~ " -c, --command=COMANDO passa um único COMANDO ao shell\n" #~ " -f, --fast envia um -f ao shell (para csh ou tcsh)\n" #~ " -m, --preserve-environment não reinicia as variáveis de ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL executa SHELL se /etc/shells o permitir\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Um mero - implica em -l. Se USUÃRIO não for especificado, assume-se " #~ "root.\n" #~ msgid "user %s does not exist" #~ msgstr "usuário %s não existe" #~ msgid "incorrect password" #~ msgstr "senha incorreta" #~ msgid "using restricted shell %s" #~ msgstr "usando shell restrito %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "aviso: não foi possível mudar para o diretório %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s /usr/bin/sort Exibe \"sort\".\n" #~ " %s include/stdio.h .h Exibe \"stdio\".\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Altera o grupo de cada ARQUIVO para GRUPO.\n" #~ "Com --reference, altera o grupo de cada ARQUIVO para o mesmo do " #~ "ARQUIVOREF.\n" #~ "\n" #~ " -c, --changes como --verbose, mas só avisa quando uma " #~ "alteração\n" #~ " for feita\n" #~ " --dereference afeta o que for referenciado por cada ligação\n" #~ " simbólica (isto é o padrão), em vez da " #~ "ligação\n" #~ " simbólica em si\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime a maioria das mensagens de erro\n" #~ " --reference=ARQR usa o grupo do arquivo ARQR em vez de " #~ "especificar\n" #~ " um valor para GRUPO\n" #~ " -R, --recursive muda arquivos e diretórios recursivamente\n" #~ " -v, --verbose mostra um diagnóstico para cada arquivo " #~ "processado\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Altera o modo de cada ARQUIVO para MODO.\n" #~ "\n" #~ " -c, --changes como --verbose, mas só avisa quando uma " #~ "alteração\n" #~ " for feita\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root não tratar \"/\" de forma diferenciada (o " #~ "padrão)\n" #~ " --preserve-root falha ao operar recursivamente em \"/\"\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime a maioria das mensagens de erro\n" #~ " -v, --verbose mostra um diagnóstico para cada arquivo " #~ "processado\n" #~ " --reference=ARQREF usa o mesmo modo do arquivo ARQREF em vez dos\n" #~ " valores MODO\n" #~ " -R, --recursive altera arquivos e diretórios recursivamente\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO.\n" #~ "Com --reference, altera o dono e o grupo de cada ARQUIVO para os mesmos " #~ "do\n" #~ "ARQREF.\n" #~ "\n" #~ " -c, --changes como --verbose, mas só avisa quando uma " #~ "alteração\n" #~ " for feita\n" #~ " --dereference afeta o que for referenciado por cada ligação\n" #~ " simbólica (isto é o padrão), em vez da " #~ "ligação\n" #~ " simbólica em si\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime a marioria das mensagens de erro\n" #~ " --reference=ARQREF usa dono e grupo do arquivo ARQREF em vez de\n" #~ " especificar os valores de DONO:GRUPO\n" #~ " -R, --recursive muda arquivos e diretórios recursivamente\n" #~ " -v, --verbose mostra um diagnóstico para cada arquivo " #~ "processado\n" #~ "\n" #~ msgid "truncating %s" #~ msgstr "truncando %s" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Mostra a hora atual no FORMATO fornecido, ou ajusta a data do sistema.\n" #~ "\n" #~ " -d, --date=TEXTO mostra a hora descrita no TEXTO, não a de " #~ "\"agora\"\n" #~ " -f, --file=ARQDATA como --date uma vez para cada linha de " #~ "ARQDATA\n" #~ msgid "" #~ " nocreat do not create the output file\n" #~ " excl fail if the output file already exists\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ msgstr "" #~ " nocreat não cria o arquivo de saída\n" #~ " excl falha se o arquivo de saída já existir\n" #~ " notrunc não trunca o arquivo de saída\n" #~ " ucase altera as minúsculas para maiúsculas\n" #~ " swab troca cada par de bytes de entrada\n" #~ msgid "Filesystem " #~ msgstr "Sist. Arq. " #, fuzzy #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " Inodes IUsados ILivr IUso%%" #, fuzzy #~ msgid " Size Used Avail Use%" #~ msgstr " Tam Usad Disp Uso%%" #, fuzzy #~ msgid " Size Used Avail Use%" #~ msgstr " Tam Usado Disp Uso%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blocos Usad Dispon. Capacidade" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blocos Usad Dispon. Uso%%" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N usa sufixos de comprimento N (padrão: %d)\n" #~ " -b, --bytes=BYTES escreve BYTES bytes em cada arquivo de saída\n" #~ " -C, --line-bytes=BYTES escreve no máximo BYTES bytes por arquivo de " #~ "saída\n" #~ " -d, --numeric-suffixes usa sufixos numéricos em vez de alfabéticos\n" #~ " -l, --lines=NÚMERO escreve NÚMERO linhas em cada arquivo de saída\n" #~ msgid "invalid number of lines: 0" #~ msgstr "número inválido de linhas: 0" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAM pode ser (ou pode ser um inteiro opcionalmente seguido por):\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, extendendo para G, T, P, E, " #~ "Z, Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opção ilegal -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido: %s" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Quebra as linhas codificadas após COLS " #~ "caracteres\n" #~ " (o padrão é 76).\n" #~ " Use 0 para desabilitar a quebra de linha.\n" #~ "\n" #~ " -d, --decode Decodifica os dados.\n" #~ " -i, --ignore-garbage Quando decodificando, ignora os caracteres\n" #~ " não-alfabéticos.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Mostra esta ajuda e sai do programa.\n" #~ " --version Informa a versão e sai do programa.\n" #~ msgid "FIXME unknown" #~ msgstr "FIXME desconhecido" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOVORAIZ [COMANDO...]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nunca segue ligações simbólicas em ORIGEM\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de cópia de segurança é ~, a menos que seja definido por --" #~ "suffix\n" #~ "ou por SIMPLE_BACKUP_SUFFIX.\n" #~ "O controle de versão pode ser selecionado com a opção --backup ou com a\n" #~ "variável de ambiente VERSION_CONTROL. Estes são os valores possíveis:\n" #~ "\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "a opção --reply é obsoleta; use -i ou -f no lugar" #~ msgid "invalid format precision" #~ msgstr "precisão inválida do formato" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "AVISO: use --si, não -H; o significado da opção -H irá mudar em breve\n" #~ "para o mesmo que --dereference-args (-D)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uso: %s [OPÇÃO]... [TEXTO]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Se utilizada a opção -e, as seguintes seqüências são reconhecidas:\n" #~ "\n" #~ " \\ONNN o caractere cujo código ASCII é NNN (em octal)\n" #~ " \\\\ barra invertida\n" #~ " \\a bipe de alerta (BEL)\n" #~ " \\b backspace (retorno de um caractere)\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Exibe os fatores primos de cada NÚMERO.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "é impossível mostrar o contexto quando SELinux não está habilitado ou " #~ "quando\n" #~ "mostrando a ID de um usuário diferente" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: aviso: não é portável fazer uma ligação absoluta para uma ligação " #~ "simbólica" #~ msgid "creating symbolic link %s" #~ msgstr "criando ligação simbólica %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "criando ligação simbólica %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "criando ligação absoluta %s" #~ msgid "creating hard link %s => %s" #~ msgstr "criando ligação absoluta %s => %s" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Por padrão, não se usa cores para distinguir os tipos de arquivos. Isso " #~ "é\n" #~ "equivalente a usar --color=none. Usar a opção --color sem o argumento " #~ "QUANDO\n" #~ "opcional é equivalente a usar --color=always (sempre). Com --color=auto, " #~ "os\n" #~ "códigos de cores são usados somente se a saída padrão estiver conectada a " #~ "um\n" #~ "terminal (tty). A variável de ambiente LS_COLORS pode influenciar as " #~ "cores e\n" #~ "pode ser ajustada facilmente pelo comando dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "O estado de saída é 0 em caso de sucesso, 1 se ocorreram pequenos " #~ "problemas, e\n" #~ "2 se graves problemas acontecerem.\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uso: %s [OPÇÃO] DIRETÓRIO...\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet suprime os diagnósticos sobre falhas na criação de\n" #~ " arquivo/diretório\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr " -u, --dry-run não cria nada; só emite um nome (inseguro)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr " -p DIR usa DIR como prefixo; implica em -t [obsoleto]\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" largura=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -STEXTO, --sep-string[=TEXTO]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a alerta (BEL)\n" #~ " \\b backspace (volta um caractere)\n" #~ " \\c encerra a saída\n" #~ " \\f form feed (nova-página)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nova-linha\n" #~ " \\r retorno de carro\n" #~ " \\t tabulação horizontal\n" #~ " \\v tabulação vertical\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: falhou em fechar o diretório %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: não foi possível abrir .. de %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAL: não foi possível garantir que %s (retornado via ..) é seguro" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: diretório %s alterou dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: não foi possível entrar no diretório %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAL: diretório recém acessado %s alterou dev/ino" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: não foi possível retornar para .. de %s" #~ msgid "cannot remove root directory %s" #~ msgstr "é impossível remover o diretório raiz %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "não foi possível remover %s com nome relativo" #~ msgid "cannot restore current working directory" #~ msgstr "não foi possível restaurar o diretório de trabalho atual" #~ msgid "no %% directive in format string %s" #~ msgstr "nenhuma diretiva %% no texto de formatação %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "muitas diretivas %% no texto de formatação %s" #~ msgid "invalid format string: %s" #~ msgstr "texto inválido de formatação: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uso: %s [OPÇÕES] ARQUIVO [...]\n" #~ msgid "extra operand %s\n" #~ msgstr "operando extra %s\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort compara de acordo com um valor numérico " #~ "geral\n" #~ " -i, --ignore-nonprinting considera apenas caracteres exibíveis\n" #~ " -M, --month-sort compara (desconhecido) < \"JAN\" < ... < " #~ "\"DEZ\"\n" #~ " -n, --numeric-sort compara de acordo com o valor númerico do " #~ "texto\n" #~ " -R, --random-sort ordena por um conjunto aletório de chaves\n" #~ " --random-source=ARQ pega bytes de aleatoriedade do ARQuivo (o " #~ "padrão\n" #~ " é /dev/urandom)\n" #~ " --sort=PALAVRA ordena conforme PALAVRA:\n" #~ " general-numeric -g (numérico geral), " #~ "month -M\n" #~ " (mês), numeric -n (numérico), random -R\n" #~ " (aleatório)\n" #~ " -r, --reverse inverte o resultado das comparações\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "não foi possível criar arquivo temporário" #~ msgid "couldn't open temporary file" #~ msgstr "não pôde abrir arquivo temporário" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BYTES pode ter um sufixo multiplicativo:\n" #~ "b para 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, e assim por diante com T, P, E, Z, " #~ "Y.\n" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uso: %s [OPÇÃO] ARQUIVO...\n" #~ msgid "new_mode: mode\n" #~ msgstr "novo_modo: modo\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry fica tentando abrir um arquivo mesmo se não " #~ "estiver\n" #~ " acessível quando tail iniciar ou se ele se " #~ "ficar\n" #~ " inacessível mais tarde; útil ao monitorar " #~ "pelo\n" #~ " nome, isto é, com --follow=name\n" #~ " -c, --bytes=N emite os últimos N bytes; como alternativa, " #~ "use +N\n" #~ " para emitir bytes a partir do N-ésimo byte " #~ "de\n" #~ " cada arquivo\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Com --follow (-f), tail monitora o descritor de arquivo, o que significa " #~ "que\n" #~ "mesmo se um ARQUIVO for renomeado, tail continuará a rastrear seu fim. " #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "A tradução é feita se -d não for usada e ambos os CONJUNTOs são " #~ "informados.\n" #~ "-t somente pode ser usado quando se estiver traduzindo.\n" #~ "CONJUNTO2 é estendido à largura de CONJUNTO1, repetindo seus últimos\n" #~ "caracteres tantas vezes quanto sejam necessárias. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Os caracteres em excesso\n" #~ "no CONJUNTO2 são ignorados. Somente se garante que [:lower:] e [:upper:]\n" #~ "sejam expandidos em ordem crescente; se usados em CONJUNTO2 ao traduzir,\n" #~ "somente podem ser usados em pares, para especificar conversão entre " #~ "maiúsculas\n" #~ "e minúsculas. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s usa CONJUNTO1 se não se está traduzindo nem apagando;\n" #~ "caso contrário, compressão usa CONJUNTO2 e ocorre depois da tradução ou\n" #~ "remoção de caracteres.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descarta todas, exceto uma, linhas idênticas sucessivas da ENTRADA (ou\n" #~ "entrada padrão), escrevendo na SAÃDA (ou saída padrão).\n" #~ "\n" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dia" #~ msgstr[1] "%ld dias" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ ARQUIVO ]\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pl.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001260625�12107204517�012116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������LŠ�����MŠ��¬���OŠ��¡���üŠ��6��ž‹��ø���ÕŒ��¾���Î��¿���Ž��Â���M��ª�����G��»��ù���’��º���ý’��p���¸“��!��)”��¼���K•��©��–��w��²—��5��*™��R��`š��~���³›�� ���2œ��\���@œ��w���œ��T�����G���j��]���²��ï���ž��w����Ÿ��¡���xŸ��#�� ����>¡��š���C¢��Ä���Þ¢��D��££��7��è¥��z��� §����›§�����¨��Þ���+©��i��� ª��J���tª��·��¿ª��›���w¬�����­��¸���•­��ˆ���N®��È���×®��„��� ¯��M��%°��à���s±��›���T²��š��ð²��—���‹´��Ó���#µ��`���÷µ��‚���X¶�����Û¶����Ü·��>���ñ¸��3��0¹��|���dº��Ý���áº��K��¿»��=��� ½��l���I½��0���¶½��D���ç½����,¾��ž��F¿��K��åÀ��Ê���1Â��–���üÂ��-��“Ã��Ê���ÁÅ��ç���ŒÆ��J���tÇ��ð���¿Ç����°È��‡���ÁÉ��¾���IÊ��á���Ë��E���êË��>���0Ì��Ë���oÌ��Œ���;Í��ü���ÈÍ��æ���ÅÎ��¿���¬Ï����lÐ��9���~Ñ�����¸Ñ�����ÏÑ��t��äÑ��¼���YÓ��ó���Ô��š��� Õ��¾���¥Õ��F��dÖ��Ì���«×��°���xØ��Ü���)Ù����Ú��Ð��Û�� ��ëÜ����� Þ���� ß��Ð�� à��y���ñá��þ��kâ�����jä��1��zä��Ë���¬ç��‰���xè����é��H��� ê��7���iê��¼���¡ê��F���^ë��ì���¥ë��v���’ì�� ��� í��¡��í��¾��·î��Ð��vð��u���Gò��F��½ò��q���õ��[��võ��:���Òö��æ��� ÷��J���ô÷��1��?ø��S��qù��u���Åú��N���;û��S��Šû��u���Þü��ë���Tý��›���@þ��†���Üþ��,���cÿ��“��ÿ��ƒ���$�º���¨���c����{����û�ß���Œ�è��l�C��U�\��™�‹���ö �Õ��‚ �i���X �A��� �x����v���}�Ø��ô�š���Í���h�Â���~�I���A�·���‹�›���C�z���ß�3���Z�û��Ž�g��Š�G���ò�J���:�p���…�5���ö�s���,��� �3��¿���ó�I���×���\�ò���4 �É���'!�Ê���ñ!�ð���¼"�–��­#�Ô���D%�"��&�Ó���<'�¬���(�¤���½(�i���b)�õ���Ì)�˜���Â*���[+�Z���l,�ù���Ç,����Á-�.��O.�Å��~/�ž���D1�G��ã1�È���+3�M��ô3�5���B5�4���x5�‰���­5�Â��76�F���ú7�Ò���A8�Ö���9�µ��ë9�©��¡<�O��K>�í��›?���‰A� ��C�£��&D�y��ÊE� ��DG�o���eH�n���ÕH�\��DI�'��¡J� ��ÉL�B���ÖM�F���N���`N�Ë��{O���GQ�9��fR��� S���ÀT�¢���QV�Ö���ôV�¡��ËW�Ê���mY�E���8Z�J���~Z�Ò���ÉZ� ��œ[���ª\�º��¹]�×���t_�&��L`�¹��sa�¿���-c���íc�Ý���óf�+���Ñg�N���ýg�Ò���Lh�’���i�°���²i�Ë���cj�»���/k�¡��ëk�›���m�…��)n�È���¯o�B���xp���»p�u���Ðq���Fr�1���\s�±��Žs�ò���@u�G���3v����{v�Ë��� w�ƒ���×w�ƒ���[x�k��ßx�‚��K{�¢��Î|�4��q~���¦���¸€�´��Ë�í���€ƒ� ��n„�ª��y…���$‡�Ó���*ˆ�<���þˆ�‘���;‰�Ò���͉�º�� Š�ª��[Œ�K���Ž���RŽ�ü���W�Ä���T�z���‘�þ���”‘�µ���“’�ô��I“�Ï���>•����–�f��ž–�5��˜�ˆ���;™�1���Ä™�û��ö™�H���ò›�;��;œ�B���w�Æ���º�!��ž�È���£ �ý���l¡�q��j¢�Y��Ü£�ü���6¥�L���3¦�×���€¦�T��X§�#��­¨�Ç���Ñ©�÷��™ª�Þ���‘¬�³��p­�ƒ���$¯�Ñ���¨¯�V��z°�i���ѱ�Í���;²�Ä��� ³�Ñ���γ�ë��� ´�K��Œµ���ض�D��ç·����,¹�Ó���º¹�Ä��Žº�I���S¼���¼���»½�H���I¿�3���’¿�O��Æ¿�c��Â� ��zÃ�=��›Ä���ÙÅ�ê��ôÆ�*��ßÈ�’��� Ê�F���Ê�C���äÊ�X��(Ë�>���Ì�?���ÀÌ� ���Í�«��� Î�9���·Î�S���ñÎ�š��EÏ�m���àÐ�û���NÑ�ä���JÒ�¨��/Ó�I��ØÔ�§���"×�$���Ê×�(���ï×�<���Ø�ú���UØ�$���PÙ�%���uÙ�*���›Ù���ÆÙ�:���åÚ�}��� Û�|���žÛ�"��Ü�&���>Þ� ���eÞ�9���†Þ�#���ÀÞ�$���äÞ�!��� ß�E���+ß�Ý���qß�:���Oà�}���Šà�:���á�,���Cá�"���pá� ���“á� ���žá�ç���¬á�,��”â�X��Áã�;���å�|��Vå���Óæ�Ô���çç�Ü���¼è�þ���™é� ���˜ê����£ê� ���¨ê����´ê����½ê����Æê����Îê����×ê����Ýê���ðê�&��� ì� ���3ì� ���=ì����Iì����\ì����oì����„ì����¢ì� ���¾ì�+���ßì���� í����$í�?���?í�D���í�0���Äí����õí�)���î����8î�0���Lî�"���}î���� î�'���°î� ���Øî����æî�!���ûî����ï�"���=ï����`ï����}ï�/���ƒï� ���³ï����Ôï����ìï�#���ð����&ð����?ð�>���\ð�"���›ð����¾ð�%���Ýð�B���ñ�*���Fñ����qñ����ñ����¢ñ�)���²ñ����Üñ�%���ùñ�,���ò����Lò�#���\ò�"���€ò�$���£ò����Èò�/���èò����ó�8���(ó����aó����vó����•ó����²ó����Æó����åó����ô� ���ô����:ô����Kô����`ô����{ô����˜ô����«ô����½ô����Ðô����áô�'���òô����õ�*���5õ����`õ�$���~õ����£õ����½õ����Íõ� ���æõ����ö�"���ö����@ö����Vö�;���lö����¨ö����»ö����×ö����ôö����÷����-÷����K÷����h÷����„÷����˜÷�"���¯÷����Ò÷�,���å÷����ø�)���,ø����Vø����sø����„ø�"���£ø�1���Æø�'���øø���� ù�(���1ù� ���Zù�,���{ù�,���¨ù�,���Õù�'���ú�-���*ú� ���Xú�(���yú�(���¢ú����Ëú����Þú����÷ú�"���û����5û����Dû�&���Wû����~û�"���™û� ���¼û� ���Èû����Õû����çû����øû����ü�5���$ü�0���Zü�.���‹ü����ºü����Öü����öü�"���ý����9ý����Iý�+���Zý�%���†ý����¬ý�)���Ìý����öý� ���øý����þ�<���þ�1���Yþ�,���‹þ�0���¸þ�,���éþ�#���ÿ�0���:ÿ����kÿ�l���oÿ�;��Üÿ����� ���.����<�6���W�5���Ž�+���Ä�(���ð�*����-���D�"���r�)���•����¿����Ñ����è����ÿ� �������!����&����,�,���4�8���a�)���š� ���Ä����Ð����â����ü� ��� ����� �������(����8� ���O� ���Y� ���e�k��o����Û����ã�K���û�8���G����€�k���‰�h���õ����^�‚���ï� ���r� ���}� ���Š�3���–�Š��Ê� ���U � ���b �w���l �w���ä �9���\ �g��– �½���þ �Ò���¼ �1����9���Á�0���û����,����;� ���K�=���X�(���–�ã���¿� ���£�$���¯�F���Ô�����U��+��������Š�<���\���Ì� ���)�+���4�+���`�0���Œ� ���½����Ç����Î�Ï���Ý�1���­����ß�I���ø� ���B�¬���M����ú�@����£��T�7���ø�?���0����p����‚����‘� ���˜����¥����ª����°����¶����¼����Í�:���Ò�…�� ����“�¦���§����N���]�×��a����9 � ���B ����M ����a � ���h ����r ����Š ����¡ ����¾ ����Ú �$���ò ����!����)!����D!� ���S!� ���_!� ���k!����x!� ���‰!����•!����§!����¸!����¿!����Ä!����Ê!����Z"� ���`"�1���m"� ���Ÿ"����­"����¾"����Ø"����é"� ���ø"� ���#� ���#� ���#����*#����/#����4#� ���N#�#���[#����#����ˆ#�*���§#����Ò#�E���Õ#����$����/$�M���@$���Ž$�—��� %�®���8&�…���ç&�H���m'�o���¶'�…���&(����¬(����°(����À(� ���Õ(�,���ã(�&���)� ���7)� ���C)� ���N)����[)� ���b)�#���p)�H���”)�2���Ý)�g���*�i��x*�ª���â+�š���,�;���(-����d-���‚-�9���œ/�*���Ö/�A���0�¸���C0�†���ü0�º���ƒ1�;���>2�¹���z2�%���43����Z3�†���Ú3�N���a4�T���°4� ��5�7���7����H7����g7� ���7� ���‰7����–7� ���›7����§7�N���»7�€��� 8����‹8�Ÿ���¦8�º���F9�7���:�@���9:����z:�D���‘:����Ö:����ç:� ���ü:���� ;����;����/;����>;� ���M;�Ý���[;�1���9<�'���k<�J���“<�u���Þ<� ���T=� ���b=� ���p=����}=�,���=�&���½=�*���ä=�;���>����K>�c���S>� ��·>����Ã?����Ó?�5���Ø?� ���@�<���@����W@����_@����p@����„@� ���™@����¥@�@���­@� ���î@����û@�$����A� ���%A�Ñ���0A�$���B����'B����9B����OB�â��bB�&���ED�%���lD�C���’D�+���ÖD����E����E� ���E����$E����6E����KE����]E����oE� ���E�#��ŽE����²F� ���ÇF�,���ÒF�j���ÿF�&���jG� ���‘G�'���²G�0���ÚG�4��� H�~��@H����¿I����ÜI����ùI�–���J�)���¯J�Y���ÙJ�'���3K�T���[K�'���°K�(���ØK����L�X���L�@���nL����¯L�?���ËL�&��� M�š���2M����ÍM����äM�#���‚N�&���¦N����ÍN�"���ìN�T���O�g���dO�†���ÌO�.���SP����‚P�"���¡P�+���ÄP�Y���ðP�~���JQ�¤���ÉQ�ä���nR�=���SS����‘S�^���¯S�b���T� ���qT�¢���’T�F���5U�}���|U�'���úU�'���"V�Z���JV�"���¥V�`���ÈV�!���)W�!���KW�$���mW� ���’W�¦���³W�M���ZX�>���¨X�'���çX�<���Y�T���LY����¡Y����¦Y����«Y����ÁY����×Y����ìY�ï���Z����òZ�¹���[�D���Â[�H���\�G���P\� ���˜\����¢\����§\����­\�´��¼\�W���q^�B���É^�k��� _�s���x_�¬���ì_�>���™`����Ø`�;���ï`�3���+a�/���_a�+���a�'���»a�#���ãa����b����'b����Cb�<���Sb����b����¤b����ªb����°b����Çb�*���Éb����ôb���� c����&c�A���Cc����…c�2���œc�1���Ïc� ���d���� d�!��� d����Bd�#���Id����md�0���‰d����ºd����Ôd����åd�*���öd����!e����?e�"���_e����‚e���� e�E���¿e�;���f� ���Af�,���bf� ���f�!���°f����Òf����òf�+���g�#���=g�#���ag�,���…g�0���²g�,���ãg�#���h����4h����Oh� ���eh����†h����¢h����µh����Óh����ñh�$���i�"���5i����Xi�'���ni����–i�5���°i�'���æi����j�!���$j����Fj����fj�1���j����±j����Áj����Þj����÷j����k����$k����8k����Lk����ck����}k�(���k����¶k����Ïk�.���äk�2���l����Fl����al����|l�%���•l�0���»l�3���ìl���� m�F���@m�B���‡m�+���Êm�5���öm�1���,n� ���^n����jn����ƒn�*���¢n����Ín����èn�)���o����/o����@o�%���\o�!���‚o� ���¤o� ���²o����Ào����Ðo�8���ëo����$p����:p����Np����lp�&���†p�'���­p�<���Õp�:���q�.���Mq�!���|q����žq�&���­q����Ôq����ïq����ÿq����r����$r����4r�#���Dr�'���hr�"���r�&���³r����Úr����ïr����s� ���#s����Ds����]s����ts�%���‹s����±s� ���Ís� ���Ús����çs����ús����t����%t����8t����Ot����ct����vt�,���t�+���ºt�-���æt�)���u�!���>u����`u����u����“u�8���ªu����ãu����úu����v����%v�3���7v� ���kv����uv� ���†v����’v����§v� ���·v����Áv�#���Ôv�"���øv� ���w����<w����[w����lw����ˆw����œw����¶w����Çw����ßw����åw����÷w�%���x����.x����Bx�$���\x�+���x�#���­x�:���Ñx�!��� y�/���.y�'���^y����†y����œy����·y����Êy����åy�+���z�*���1z�%���\z����‚z�#��� z�$���Äz����éz�%���ÿz�!���%{�'���G{�%���o{����•{����µ{����É{����Û{����ú{�(���|�,���A|� ���n|�$���|����´|����Í|����ß|����ý|�*���}�$���F}�#���k}�%���}����µ}�!���Õ}�&���÷}����~����2~�(���P~� ���y~�3���š~�-���Î~����ü~�����!���4�1���V�'���ˆ����°�1���Ð����€����€����4€����N€����h€�#���‚€�1���¦€�.���Ø€������������/�(���O����x� �������ž����»�(���Ð����ù����þ�3���‚�;���Q‚�.���‚����¼‚����Ô‚����é‚�$���ƒ�$���,ƒ�D���Qƒ����–ƒ����ªƒ����»ƒ����˃����߃����øƒ����„�%���1„�%���W„����}„����š„����´„�-���¸„����æ„����ý„�)��� …�/���6…�=���f…�@���¤…�:���å…���� †�!���>†����`†�,���r†����Ÿ†����»†����͆�A���ä†�;���&‡����b‡����}‡�!���–‡����¸‡����·����â‡� ���ý‡�!���ˆ�%���@ˆ�(���fˆ����ˆ����ªˆ����¾ˆ�*���ш�-���üˆ����*‰����:‰����Q‰����j‰����‰����–‰����¯‰����ˉ����ä‰�%���ü‰�1���"Š�#���TŠ�"���xŠ�"���›Š�1���¾Š����ðŠ� ���‹����‹����%‹����;‹�"���M‹����p‹� ���Š‹����˜‹����«‹����‹����Õ‹����ñ‹����Œ�#���"Œ�!���FŒ�!���hŒ����ŠŒ����¡Œ����ÀŒ����ÙŒ� ���øŒ������������&����8����Q����j����ƒ�!���¡����Ã�"���Û����þ����Ž� ���<Ž����]Ž����uŽ����ŠŽ�]���ŸŽ�G���ýŽ����E����Y����t����Š�!��� �*���Â� ���í� ���ú�����/���/�$���_�"���„����§����Å�2���Ú�;��� ‘����I‘����b‘����‘����‘�R���´‘�L���’����T’�(���l’� ���•’����¢’����²’����Ä’����Ú’�,���ø’�9���%“�*���_“�,���Š“�/���·“����ç“�*���í“�G���”�0���`”�:���‘”�#���Ì”�'���ð”�8���•����Q•�@���f•�/���§•����ו�7���è•�8��� –� ���Y–����g–�/���ƒ–�-���³–� ���á–�0���í–����—����8—�#���O—�&���s—�)���š—�*���Ä—����ï—�$���˜����)˜����@˜����Z˜����j˜�+���ƒ˜�1���¯˜�"���á˜� ���™����%™����7™����N™�#���l™�$���™����µ™����Ó™����è™�!���š�!���*š�%���Lš����rš�%���š����§š����¶š�7���Åš�=���ýš����;›����Y›����n›����›����§›����º›� ���Ë›����Ù›�-���ñ›�C���œ����cœ�(���xœ� ���¡œ�'���«œ����Óœ�"���íœ�������� �?���0�,���p�%�������Ã�4���Ù� ���ž�&���/ž� ���Vž�1���bž�2���”ž�#���Çž�/���ëž�$���Ÿ�(���@Ÿ����iŸ�8���ˆŸ�G���ÁŸ�9���  �#���C ����g �"���† �$���© ����Π����è ����¡����¡����3¡����Q¡�>���i¡�B���¨¡� ���ë¡� ���ö¡����¢����¢����(¢����E¢� ���X¢�7���e¢� ���¢����©¢����À¢� ���×¢� ���á¢����ë¢�)���£����/£����D£����_£����s£�$���ˆ£�-���­£�7���Û£����¤����¤����0¤����?¤����N¤����g¤� ���w¤����ƒ¤����Ф����¤����—¤����µ¤����Τ�#���ë¤�J���¥� ���Z¥� ���h¥� ���u¥����¥�*���–¥����Á¥����Ý¥����ö¥����¦����)¦�8���F¦����¦� ���…¦�H���“¦�U���ܦ�>���2§�?���q§�?���±§�8���ñ§�=���*¨�>���h¨�3���§¨����Û¨�(���l©�!���•©�N���·©�f���ª�>���mª�@���¬ª�#���íª�<���«�*���N«����y«����™«�(���±«����Ú«�/���õ«����%¬����@¬����X¬����k¬����q¬����†¬����š¬����¡¬�*���Á¬�!���ì¬�7���­����F­�"���^­����­����­�3���¤­�\���Ø­����5®����M®����e®�.���u®����¤®�0���º®����ë®�C���¯����F¯�%���c¯�B���‰¯�:���̯����°����°����5°� ���G°�H���Q°�+���š°�J���ư�2���±�8���D±�=���}±�@���»±�#���ü±���� ²�$���;²�=���`²�4���ž²�.���Ó²�,���³�<���/³����l³�0���³�3���²³�7���æ³�c���´����‚´����˜´�"���¯´�t���Ò´� ���Gµ�3���Rµ�>���†µ�5���ŵ�j���ûµ�h���f¶�_���϶�0���/·�,���`·�*���·�3���¸·�(���ì·�&���¸�(���<¸� ���e¸����q¸� ���„¸� ���‘¸�/���Ÿ¸�7���ϸ�&���¹� ���.¹�è��O¹����8»�×���:»�Ç���¼�I��Ú¼� ��$¾���/¿�Æ���5À�à���üÀ�½���ÝÁ�¦��›Â�ù���BÄ�²���<Å�j���ïÅ�%��ZÆ�È���€Ç� ��IÈ�k��jÊ�C��ÖË�‘��Í�t���¬Î����!Ï�‰���=Ï�¬���ÇÏ�q���tÐ�Y���æÐ�{���@Ñ���¼Ñ�¡���ÂÒ�©���dÓ�Š��Ô�Z��™Õ�”���ôÖ�Û���‰×���eØ�Ê��€Û�n���KÝ�U��ºÝ�˜���ß�)��©ß�N���Óà�N���"á�¹��qá�ð���+ã�ƒ���ä�¹��� ä�·���Zå�Î���æ�y���áæ�}��[ç�.��Ùè�Ñ���ê�"��Úê�·���ýì���µí�X���Åî����ï�Q��žï�O��ðð�N���@ò�d��ò�—���ôó�þ���Œô�’��‹õ�G���÷�{���f÷�N���â÷�n���1ø�ª�� ø�Î��Kú�\��ü�Ø���wý�•���Pþ�B��æþ�æ���)�ð����Q����ã���S�G��7�z����¶���ú�P��±�N����^���Q� ��°�›���¼ �ü���X �*��U �!��€ �6��¢ �V���Ù�'���0�r���X�ª��Ë�Ö���v� ��M�¹���W�ÿ����k���×���}�Ç���U����*���ï��J�X��:���“�3��¦�C��Ú�ˆ���"�}��§"� ���%%�È��3%���ü(�Í����*�S��Î*�~���",�]���¡,�£���ÿ,�c���£-�¸���.�‰���À.� ���J/�‹��V/�þ��â0���á2�Å���÷4�Â��½5�w���€8�ð��ø8�P���é:�V��:;�M���‘<�1��ß<�¥��>�›���·?�N���S@�M��¢@�Ì���ðA� ��½B�“���ÉC����]D�9���îD�¿��(E�Å���èF�ø���®G�<��§H�»���äI���� J�î���1K�?�� L�n��`N�Ü��ÏO�Á���¬Q�U��nR�l���ÄU�T���1V�‰���†V����W�õ��W�å���†Y�Ç��lZ� ��4\�Š���?]�Ó���Ê]�Ø���ž^�´���w_�>���,`���k`���ƒb�N���”d�•���ãd�|���ye�B���öe�u���9f���¯f�i��¶g�i�� i�D��Šj�Ç���Ïk�ë���—l�õ���ƒm�¶���yn�è���0o� ��p�×���ºq�W��’r�â���ês�À���Ít�ß���Žu�…���nv���ôv�Ì���üw�‚��Éx�f���Lz�F��³z�¬���ú{�K��§|�'��ó}�˜���€�h��´€���‚�™��!ƒ�A���»„�;���ý„�¶���9…�*��ð…�I���ˆ�,��eˆ���’‰�â��°Š�ô��“�o��ˆ���ø�½��z“���8•�í��M–�è��;˜�K��$š�µ���p›�µ���&œ�¡��Üœ�”��~ž� ��¡�M���4¢�?���‚¢�5��¢�•��ø£���ަ�Š��£§�P��.©���ª�Ñ���…¬�ö���W­���N®���l°�k���s±�s���ß±�Û���S²�t��/³�J��¤´�ù��ïµ�m��é·�C��W¹���›º�ü���­¼�¢��ª½�Þ���MÁ�4���,Â�—���aÂ�æ���ùÂ�–���àÃ�¿���wÄ�ÿ���7Å�Ò���7Æ�Þ�� Ç�¼���éÈ�Ã��¦É�è���jË�?���SÌ�€��“Ì�{���Î�9��Î�6���ÊÏ�<��Ð�þ���>Ò�E���=Ó�–���ƒÓ���Ô�»���3Õ�»���ïÕ���«Ö�ƒ��;Ú�-��¿Ü�[��íß���Iá�C��bâ�›��¦ã�è���Bæ���+ç�ù��Aè�9��;ê���uë�D���}ì�Ñ���Âì�å���”í���zî�û��}ð�K���yò�$��Åò�@��êó�ï���+õ�™���ö�C��µö�Ô���ù÷�#��Îø�!��òú� ���ü�b��µü�u��þ�Ç���Žÿ�:���V��¨��‘��@���:�c��{�?���ß�Þ����^��þ�÷���]���U �Q��[ �‘��­ �2��? �M���r�/��À� ��ð�ƒ��ý�!���-��£���Ñ�Â��Ó�˜���–����/�i��½�r���'�ß���š�Ë���z���F�×���Z�H��2 �+��{!�P��§"�³���ø#�Ñ���¬$�(��~%�L���§'�a��ô'�ˆ��V)�”���ß*�H���t+�ª��½+���h.�E��~0���Ä1�°��Ý2�I��Ž4�]��Ø6�Œ���68�L���Ã8�B���9�š��S9�m���î:�r���\;�‰��Ï;�À���Y=�>���>�Q���Y>�Ÿ��«>�‘���K@���Ý@�9��åA�Ä��C���äD�·���æG�-���žH�2���ÌH�J���ÿH�Q��JI�4���œJ�(���ÑJ�6���úJ�D��1K�D���vL�•���»L����QM���ßM�,���ïP�,���Q�D���IQ�4���ŽQ�4���ÃQ�)���øQ�I���"R�8��lR�H���¥S����îS�H���|T�.���ÅT�.���ôT� ���#U����.U���DU�N��TV�i��£W�O��� Y���]Y�X��ßZ�Æ���8\�Ê���ÿ\� ��Ê]� ���Ö^����á^� ���æ^����ó^����ü^����_���� _����_����_�m��2_�,��� `� ���Í`� ���×`�3���ã`����a�)���4a�"���^a����a�$���™a�0���¾a����ïa����b�A���"b�V���db�6���»b����òb�0��� c����<c�2���Rc�3���…c����¹c�,���Êc����÷c���� d�.���&d����Ud�1���sd�&���¥d����Ìd�6���Òd�!��� e����+e����>e�0���^e�'���e�'���·e�P���ße�:���0f�(���kf�5���”f�(���Êf�+���óf� ���g����@g�+���[g�9���‡g�"���Ág�-���äg�4���h� ���Gh�:���hh�,���£h�:���Ðh���� i�7���*i����bi�@���si����´i����Éi�"���éi���� j�9���,j�$���fj����‹j�.���«j����Új����ëj�����k�#���k����?k����Vk����ik����{k����Œk�8���k�'���Ök�>���þk�,���=l�2���jl����l����»l����Ìl�#���èl���� m�!���#m����Em����`m�M���wm����Åm����Ùm����õm����n����,n����Ln�#���gn����‹n����«n�"���Àn�%���ãn���� o�8���o�"���Wo�*���zo����¥o�,���Ão����ðo�"��� p�:���/p�1���jp����œp�?���¼p�!���üp�/���q�6���Nq�/���…q�&���µq�0���Üq�+��� r�'���9r�'���ar����‰r����›r����¸r�&���×r����þr����s�.���&s�"���Us�0���xs� ���©s� ���·s����Äs����Üs�&���ðs�'���t�5���?t�:���ut�>���°t�)���ït�%���u�#���?u�-���cu����‘u����£u�/���µu�3���åu�(���v�:���Bv����}v����v�!���•v�?���·v�E���÷v�5���=w�7���sw�-���«w�2���Ùw�7��� x����Dx�Q���Gx�e��™x����ÿy� ���z�"���,z�N���Oz�<���žz�7���Ûz�L���{�6���`{�4���—{�.���Ì{�"���û{����|����9|����N|����c|� ���x|����†|����‹|� ���‘|�A���›|�9���Ý|�2���}����J}����Y}����y}����”}� ���£}����°}� ���¶}����À}����Þ}� ���ö}� ����~� ��� ~�Ž��~� ���©�"���³�X���Ö�=���/€� ���m€�t���y€�‚���î€�¬���q����‚� ���¼‚�#���Ç‚� ���ë‚�@���÷‚�°��8ƒ� ���é„� ���÷„�²���…�¦���¶…�C���]†�ä��¡†�Ï���†ˆ� ��V‰�@���bŠ�8���£Š�7���ÜŠ����‹����#‹� ���3‹�?���@‹�2���€‹�.��³‹� ���âŒ�+���ìŒ�R�������k�¼��{� ���8����E�Q��N�m��� � ���‘�&���‘�*���@‘�>���k‘� ���ª‘� ���´‘����‘�ä���Ò‘�4���·’�#���ì’�U���“����f“�ô���u“�%���j”�W���”�ë��è”�J���Ô–�B���—����b—����t—� ���ƒ—����—� ���ª—����´—����»—����—����Ê—� ���Û—�H���å—�ú��.˜����)š�¦���?š����æš�š��ùš�á��”����vŸ����ˆŸ����ŸŸ����´Ÿ� ���½Ÿ����ÈŸ����àŸ����ôŸ�-��� ����? ����Y ����w ���� ����­ � ���¼ � ���È � ���Ô ����á � ���ò ����þ ����¡����!¡����(¡����-¡�˜���3¡� ���Ì¡� ���Ø¡�J���æ¡� ���1¢����?¢����P¢� ���l¢����z¢� ���‰¢� ���—¢� ���¤¢� ���°¢� ���»¢����Ç¢����Т� ���ë¢�(���ø¢����!£�(���2£�+���[£����‡£�N���Ž£����Ý£� ���õ£�D���¤���H¤�¼���K¥�ß���¦�£���è¦�V���Œ§�w���ã§�’���[¨����î¨����ò¨����©� ���©�H���+©�(���t©� ���©� ���©©� ���´©����Á©����È©�3���ש�I��� ª�4���Uª�|���Šª���«�Á���¥¬�°���g­�>���®�#���W®�“��{®�>���±�*���N±�O���y±�µ���ɱ����²�å���³�/���õ³�Ý���%´�*���µ�|���.µ�”���«µ�e���@¶�r���¦¶�o��·�A���‰¹�!���˹�!���í¹� ���º� ���º����&º� ���;º�!���Gº�Q���iº�‡���»º����C»�Í���a»�¶���/¼�\���æ¼�N���C½�&���’½�Q���¹½���� ¾����¾����6¾����F¾����Z¾����k¾����z¾� ���‰¾�ã���—¾�C���{¿�3���¿¿�\���ó¿�ˆ���PÀ� ���ÙÀ� ���çÀ� ���õÀ����Á�?���Á�+���UÁ�%���Á�\���§Á� ���Â�t���Â���„Â����•Ã����¥Ã�J���«Ã� ���öÃ�U���Ä� ���YÄ����dÄ�!���yÄ�!���›Ä� ���½Ä����ÉÄ�M���ÐÄ����Å����-Å�%���2Å� ���XÅ�&��eÅ�"���ŒÆ����¯Æ�!���ÁÆ����ãÆ�í��þÆ�1���ìÈ�,���É�F���KÉ�+���’É����¾É����ÂÉ����ÑÉ����áÉ����øÉ����Ê����&Ê����<Ê����RÊ�<��cÊ���� Ë����ÀË�9���ÏË�”��� Ì�,���žÌ�&���ËÌ�-���òÌ�6��� Í�@���WÍ�Ã��˜Í�!���\Ï����~Ï�!���žÏ�Á���ÀÏ�2���‚Ð�g���µÐ�-���Ñ�[���KÑ�-���§Ñ�/���ÕÑ����Ò�W���Ò�H���tÒ����½Ò�M���ÝÒ�0���+Ó�Â���\Ó����Ô�®���9Ô�$���èÔ�)��� Õ�!���7Õ�%���YÕ�[���Õ�{���ÛÕ�“���WÖ�7���ëÖ�"���#×�+���F×�8���r×�_���«×�‰��� Ø�­���•Ø�ü���CÙ�L���@Ú� ���Ú�g���®Ú�•���Û�#���¬Û�Â���ÐÛ�K���“Ü�¥���ßÜ�/���…Ý�.���µÝ�a���äÝ�%���FÞ�n���lÞ�#���ÛÞ�'���ÿÞ�*���'ß�*���Rß�½���}ß�_���;à�H���›à�)���äà�<���á�b���Ká����®á����´á�(���»á�(���äá���� â����'â�W��Bâ�"���šã�Å���½ã�P���ƒä�T���Ôä�R���)å����|å����„å����Šå����å� ��¥å�o���¯ç�J���è�¸���jè�—���#é�Ü���»é�S���˜ê����ìê�4���ÿê�.���4ë�*���cë�&���Žë�"���µë����Øë����÷ë����ì����)ì�8���=ì����vì����‘ì����—ì����Ÿì����¶ì�.���ºì����éì�!��� í�$���+í�:���Pí����‹í�Q���§í�S���ùí����Mî����dî�,���{î����¨î�/���«î�&���Ûî�G���ï�6���Jï����ï�'���—ï�H���¿ï�'���ð�$���0ð�'���Uð�#���}ð�%���¡ð�N���Çð�M���ñ�-���dñ�5���’ñ�0���Èñ�(���ùñ�&���"ò�%���Iò�A���oò�=���±ò�*���ïò�>���ó�B���Yó�5���œó�>���Òó� ���ô����2ô�3���Qô�)���…ô����¯ô�'���Ëô�)���óô�1���õ�7���Oõ�,���‡õ����´õ�.���Ëõ�(���úõ�;���#ö�+���_ö����‹ö�)���«ö�/���Õö�'���÷�N���-÷����|÷�)���œ÷�4���Æ÷�;���û÷�'���7ø�4���_ø�;���”ø�!���Ðø����òø����ù�G���2ù� ���zù����›ù�5���»ù�9���ñù�#���+ú�"���Oú� ���rú�d���“ú�.���øú�1���'û�5���Yû�S���û�Z���ãû�9���>ü�J���xü�L���Ãü����ý�"���'ý�%���Jý�2���pý�'���£ý�3���Ëý�>���ÿý����>þ� ���Uþ�&���vþ�1���þ�&���Ïþ����öþ���� ÿ�,���)ÿ�P���Vÿ�)���§ÿ����Ñÿ����ñÿ�3�����E���D��0���Š��H���»��@����8���E�3���~����²�=���Ñ�5�������E�*���]����ˆ����Ÿ����»�-���Ó�'�������)�%���H����n����‹�$���£�$���È����í���������,���/����\� ���x����…����œ����±����Ç����ç�!�������'����G�"���X�E���{�,���Á�9���î�7���(�(���`�,���‰����¶� ���Ô�;���õ�1���1����c����x����Ž�7���¢����Ú����â� ���÷��������� ���1����;�4���T�&���‰�#���°�&���Ô����û�!��� �#���0 �,���T ���� ����’ � ���© ����³ ����Ë �8���â �'��� ����C �&���c �-���Š �*���¸ �E���ã �%���) �0���O �+���€ ����¬ �"���È ����ë �-��� �*���6 �>���a �8���  �5���Ù �2��� �8���B �9���{ � ���µ �.���Ö �6����<���<�1���y�5���«����á������'����/���E�>���u�3���´�/���è�6����"���O����r�(����#���¸�6���Ü�&����(���:�*���c�"���Ž�<���±�K���î����:�$���V�>���{�8���º�P���ó�<���D�0����'���²�/���Ú�;��� �5���F�)���|�A���¦�-���è�*����&���A�'���h�/����)���À�L���ê�=���7�4���u����ª�(���Â�-���ë����� ���3����A����]�"���t����—�����N���º�M��� �:���W�,���’����¿����Ù�!���÷�+����K���E����‘����§����¸����È����Û����ú�����3���4�6���h� ���Ÿ����À����à�.���ä�(�������<�3���X�V���Œ�C���ã�D���'�D���l�*���±�(���Ü�����=�������X����s����Ž�Q���©�g���û�!���c� ���…�-���¦����Ô����é����þ�%����$���B�(���g�-�������¾����Ø����î�1��� �4���3 ����h ����z �+���’ ����¾ ����Ù ����õ ���� !����,!����J!�,���h!�6���•!�(���Ì!�$���õ!�/���"�A���J"�!���Œ"����®"����½"����Ï"����æ"�(���ù"�(���"#����K#����d#����~#����#����»#����Û#����ô#�*���$�"���=$�"���`$����ƒ$�&���¢$�+���É$�&���õ$����%����1%����I%����a%����t%����%����ª%�!���Å%�!���ç%���� &�&���!&�(���H&����q&�%���Œ&����²&����È&����á&�\���ö&�P���S'����¤'�(���¾'����ç'� ����(�%���!(�3���G(����{(�$���‘(����¶(�=���Ë(�#��� )�2���-)�)���`)����Š)�:���¥)�c���à)����D*����`*����*����ž*�Y���¼*�Q���+�$���h+�*���+����¸+����Í+����å+����þ+�)���,�0���G,�@���x,�5���¹,�8���ï,�=���(-����f-�.���o-�H���ž-�D���ç-�O���,.�;���|.�'���¸.�A���à.����"/�N���B/�D���‘/� ���Ö/�F���ä/�F���+0����r0�.���‡0�'���¶0�,���Þ0� ��� 1�B���1����[1����r1�)���‰1�)���³1����Ý1�5���ü1����22�%���N2����t2����Š2����£2����·2�&���Ñ2�7���ø2�,���03�(���]3����†3����¤3����¸3����Î3�'���ë3����4����/4�!���?4�#���a4�'���…4�'���­4� ���Õ4�"���à4� ���5����5�J���%5�8���p5�%���©5����Ï5�!���Þ5�0����6����16����H6����Y6����q6�2���6�R���À6����7�'���*7����R7�T���g7����¼7�=���Ö7����8� ���#8�P���08�K���8�:���Í8����9�?���&9�)���f9�#���9����´9�p���Ì9�C���=:�&���:�=���¨:�*���æ:�(���;�%���:;�8���`;�G���™;�9���á;�$���<�+���@<�2���l<�3���Ÿ<����Ó<�"���î<����=����/=����K=����d=�M���x=�?���Æ=����>����>����&>����;>�I���P>����š>� ���­>�C���º>� ���þ>���� ?����"?� ���5?����??����G?�%���f?����Œ?�$���£?����È?�"���Ü?�!���ÿ?�+���!@�D���M@����’@����š@����¸@����×@�$���ì@����A� ���&A����2A����9A����?A�'���FA�$���nA�'���“A�(���»A�]���äA����BB����ZB� ���jB�!���xB�)���šB�$���ÄB����éB�(���C�'���0C����XC�A���sC� ���µC� ���ÃC�L���ÐC�m���D�A���‹D�B���ÍD�B���E�=���SE�@���‘E�D���ÒE�7���F�º���OF�)��� G�,���4G�/���aG�u���‘G�G���H�E���OH����•H�H���²H�+���ûH�#���'I����KI�G���fI����®I�/���ÊI����úI����J����2J����DJ����JJ����cJ����}J�/���„J�7���´J�5���ìJ�G���"K� ���jK�(���‹K����´K�&���ÇK�7���îK�p���&L����—L����±L����ËL�V���ßL����6M�<���PM����M�V���ªM�&���N�>���(N�\���gN�I���ÄN����O����"O����=O����WO�G���_O�3���§O�c���ÛO�1���?P�C���qP�L���µP�b���Q�*���eQ�"���Q�5���³Q�I���éQ�A���3R�5���uR�3���«R�C���ßR����#S�9���6S�@���pS�2���±S�l���äS����QT����eT�(���zT�|���£T� ��� U�=���,U�<���jU�>���§U�r���æU�x���YV�z���ÒV�U���MW�<���£W�7���àW�+���X�E���DX�4���ŠX�.���¿X� ���îX����üX� ���Y� ��� Y�.���,Y�/���[Y����‹Y����ªY����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����ÈY����ÐY�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��äˆ��‰��‰��0‰��D‰��X‰��l‰��€‰��¤‰��ȉ��ì‰��Š��Š��8Š��ØY��������������� �����������������ÿÿÿÿøY��������1���ÿÿÿÿ*Z��������/���ÿÿÿÿZZ����������ÿÿÿÿŠZ�7����������ÿÿÿÿÔZ�����������ÿÿÿÿ[�����������ÿÿÿÿ[�����������ÿÿÿÿH[��������(���ÿÿÿÿu[� �������Q���ÿÿÿÿÐ[� �������R���ÿÿÿÿ,\� �������V���ÿÿÿÿŒ\������������������ÿÿÿÿ¸\�����������ÿÿÿÿ¿\� ���������������ÿÿÿÿé\����������ÿÿÿÿ ]��������������������������������ÿÿÿÿ@]�������������������������ÿÿÿÿ]� ������������������������ÿÿÿÿÈ]�#������ ���ÿÿÿÿ ^�Q����������ÿÿÿÿu^�#������� ���ÿÿÿÿ¸^�����������ÿÿÿÿÙ^��������&���ÿÿÿÿ_��������7���ÿÿÿÿX_��������0�������/�������*���ÿÿÿÿé_��������/�������0�������,���ÿÿÿÿ|`��������(�������+�������!���ÿÿÿÿø`������������������ÿÿÿÿ.a�����������ÿÿÿÿ7a����������������ÿÿÿÿfa�&������ ���ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-13 15:30+0100 Last-Translator: RafaÅ‚ Maszkowski <rzm@icm.edu.pl> Language-Team: Polish <translation-team-pl@lists.sourceforge.net> Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); � � BAJTY sÄ… podawane jak wartość szestnastkowa z przedrostkiem 0x albo 0X i może mieć przyrostek mnożący: b 512 kB 1000 K 1024 MB 1000*1000 M 1024*1024 i tak dalej dla G, T, P, E, Z, Y. � TYP skÅ‚ada siÄ™ z jednej lub wiÄ™cej nastÄ™pujÄ…cych specyfikacji: a nazwy znaków po zignorowaniu najstarszego bitu c znaki ASCII lub kody znaków z ukoÅ›nikiem odwrotnym � Tradycyjne specyfikacje formatu mogÄ… być mieszane, akumulujÄ… siÄ™: -a to samo co -t a, nazwy znaków po zignorowaniu najstarszego bitu -b to samo co -t o1, bajty ósemkowo -c to samo co -t c, znaki ASCII lub kody znaków z ukoÅ›nikiem odwrotnym -d to samo co -t u2, dziesiÄ™tnie liczby 2-bajtowe bez znaku � ( WYRAÅ»ENIE ) WYRAÅ»ENIE jest prawdziwe ! WYRAÅ»ENIE WYRAÅ»ENIE jest faÅ‚szywe WYRAÅ»ENIE1 -a WYRAÅ»ENIE2 WYRAÅ»ENIE1 i WYRAÅ»ENIE2 sÄ… prawdziwe WYRAÅ»ENIE1 -o WYRAÅ»ENIE2 WYRAÅ»ENIE1 lub WYRAÅ»ENIE2 jest prawdziwe � --check-order sprawdzenie czy dane wejÅ›ciowe sÄ… prawidÅ‚owo posortowane, nawet jeżeli wszystkie linie mogÄ… być sparowane --nocheck-order bez sprawdzenia czy dane wejÅ›ciowe sÄ… prawidÅ‚owo posortowane � -1 bez kolumny 1 (linii, które sÄ… tylko w PLIKU1 -2 bez kolumny 2 (linii, które sÄ… tylko w PLIKU2 -3 bez kolumny 3 (linii, które sÄ… w obu plikach � -a, --all to samo co -b -d --login -p -r -t -T -u -b, --boot czas ostatniego uruchomienia systemu -d, --dead wypisanie martwych procesów -H, --heading wypisanie linii nagłówków kolumn � -b PLIK PLIK istnieje i jest urzÄ…dzeniem blokowym -c PLIK PLIK istnieje i jest urzÄ…dzeniem znakowym -d PLIK PLIK istnieje i jest katalogiem -e PLIK PLIK istnieje � -l wyÅ›wietlenie szczegółowych informacji o UÅ»YTKOWNIKU -b pominiÄ™cie katalogu domowego i powÅ‚oki użytkownika w formacie szczegółowym -h pominiÄ™cie projektu użytkownika w formacie szczegółowym -p pominiÄ™cie planu użytkownika w formacie szczegółowym -s wyÅ›wietlenie informacji w formacie skróconym (domyÅ›lnie) � [-n] NAPIS NAPIS ma dÅ‚ugość różnÄ… od zera NAPIS równoważne z -n NAPIS -z NAPIS NAPIS ma dÅ‚ugość równÄ… zero NAPIS1 = NAPIS2 napisy sÄ… równe NAPIS1 != NAPIS2 napisy sÄ… różne � ARG1 * ARG2 arytmetyczny iloczyn ARG1 i ARG2 ARG1 / ARG2 arytmetyczny iloraz ARG1 przez ARG2 ARG1 % ARG2 arytmetyczna reszta z dzielenia ARG1 przez ARG2 � ARG1 + ARG2 arytmetyczna suma ARG1 i ARG2 ARG1 - ARG2 arytmetyczna różnica ARG1 i ARG2 � ARG1 < ARG2 ARG1 jest mniejszy od ARG2 ARG1 <= ARG2 ARG1 jest mniejszy lub równy ARG2 ARG1 = ARG2 ARG1 jest równy ARG2 ARG1 != ARG2 ARG1 nie jest równy ARG2 ARG1 >= ARG2 ARG1 jest wiÄ™kszy lub równy ARG2 ARG1 > ARG2 ARG1 jest wiÄ™kszy od ARG2 � PLIK1 -ef PLIK2 PLIK1 i PLIK2 majÄ… ten sam numer urzÄ…dzenia i i-wÄ™zÅ‚a PLIK1 -nt PLIK2 PLIK1 jest nowszy niż PLIK2 (wg daty modyfikacji) PLIK1 -ot PLIK2 PLIK1 jest starszy niż PLIK2 � LICZBA_CAÅKOWITA kopiowanie do podanej linii o numerze LICZBA_CAÅKOWITA, oprócz tej linii /REGEXP/[PRZESUNIĘCIE] kopiowanie do pasujÄ…cej linii, oprócz tej linii %REGEXP%[PRZESUNIĘCIE] przeskoczenie do pasujÄ…cej linii, ale bez niej samej {LICZBA_CAÅKOWITA} powtórzenie poprzedniego wzorca podanÄ… liczbÄ™ razy {*} powtórzenie poprzedniego wzorca tyle razy ile siÄ™ da PRZESUNIĘCIE linii musi siÄ™ skÅ‚adać z „+†albo „-†oraz liczby caÅ‚kowitej. � LICZBA1 -eq LICZBA2 LICZBA1 równa LICZBIE2 (liczby caÅ‚kowite) LICZBA1 -ge LICZBA2 LICZBA1 wiÄ™ksza lub równa LICZBIE2 LICZBA1 -gt LICZBA2 LICZBA1 wiÄ™ksza od LICZBY2 LICZBA1 -le LICZBA2 LICZBA1 mniejsza lub równa LICZBIE2 LICZBA1 -lt LICZBA2 LICZBA1 mniejsza od LICZBY2 LICZBA1 -ne LICZBA2 LICZBA1 jest różna od LICZBY2 � NAPIS : WYR_REG dopasowanie wyrażenia regularnego WYR_REG do NAPISU match NAPIS WYR_REG tak jak NAPIS : WYR_REG substr NAPIS POZ DÅUGOŚĆ część NAPISU od POZYCJI liczonej od 1 index NAPIS ZNAKI poÅ‚ożenie jednego ze ZNAKÓW w NAPISIE, lub 0 length NAPIS dÅ‚ugość NAPISU � a numerowanie wszystkich linii t numerowanie tylko niepustych linii n bez numerowania linii pPODST_WYR_REG numerowanie tylko linii pasujÄ…cych do PODSTAWOWEGO_WYRAÅ»ENIA_REGULARNAEGO FORMAT to jeden z: ln dosuniÄ™te do lewej, bez zer na poczÄ…tku rn dosuniÄ™te do prawej, bez zer na poczÄ…tku rz dosuniÄ™te do prawej, z zerami na poczÄ…tku � b specjalny plik blokowy (buforowany) c, u specjalny plik znakowy (niebuforowany) p potok (FIFO) � liczba użytkowników=%lu � -t jest włączane jeżeli DÅUGOŚĆ_STRONY <= 10. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. � Pole to ciÄ…g znaków odstÄ™pu (zwykle spacji i/lub znaków TAB), za którym sÄ… znaki nie bÄ™dÄ…ce znakami odstepu. Pola sÄ… przeskakiwane przed przeskakiwaniem znaków. � Uproszczona wersja programu „fingerâ€. WyÅ›wietla informacje o użytkownikach. Åšcieżka do pliku utmp: %s . � Argument - implikuje -i. JeÅ›li nie podano POLECENIA, wyÅ›wietla otrzymane Å›rodowisko. � Dodanie przyrostka do dowolnego typu powoduje pokazanie drukowalnych znaków na koÅ„cu każdej linii danych wyjÅ›ciowych. � Po dowolnej fladze może opcjonalnie wystÄ…pić szerokość pola w postaci liczby dziesiÄ™tnej, potem opcjonalny modyfikator: E - żeby użyć alternatywnej reprezentacji lokalnej albo O - żeby użyć alternatywnych symboli numerycznych, jeżeli sÄ… dostepne � Jeżeli brakuje WYRAÅ»ENIA, domyÅ›lna wartość to faÅ‚sz. W przeciwnym przypadku WYRAÅ»ENIE jest prawdziwe lub faÅ‚szywe i wynika z niego kod stanu - jeden z: � W przypadku specjalnym cp robi kopiÄ™ zapasowÄ… ŹRÓDÅA jeżeli sÄ… podane opcje force i backup, a ŹRÓDÅO i CEL sÄ… tÄ… samÄ… nazwÄ… istniejÄ…cego pliku zwykÅ‚ego � WiÄ™kszość operatorów musi być chroniona przed interpretacjÄ… przez powÅ‚okÄ™ znakiem „\†lub cudzysÅ‚owami. Porównania sÄ… arytmetyczne, jeÅ›li obydwa ARGUMENTY sÄ… liczbami, w przeciwnym wypadku - leksykograficzne. Dopasowania zwracajÄ… napis zgodny ze wzorcem zawartym pomiÄ™dzy \( i \) lub 0; jeÅ›li \( i \) nie zostaÅ‚y użyte, dopasowanie zwraca liczbÄ™ zgodnych znaków lub 0. � Dla TYPÓW b, c i u musi być podany zarówno WIĘKSZY jak MNIEJSZY numer urzÄ…dzenia. Oba numery muszÄ… być pominiÄ™te jeżeli TYP to p. Jeżeli WIĘKSZY lub MNIEJSZY zaczyna siÄ™ od 0x albo 0X, jest interpretowany jako liczba szesnastkowa. Jeżeli zaczyna siÄ™ od 0 - jako ósemkowa. W innych wypadkach - jako dziÄ™siÄ…tkowa. TYP może być: � DomyÅ›lnie rm nie usuwa katalogów. Użyj opcji --recursive (albo -r albo -R) żeby skasować również wszystkie podane katalogi z zawartoÅ›ciÄ…. � DomyÅ›lnie wybrane sÄ… -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC to dwa ograniczniki oddzielajÄ…ce strony logiczne. Jeżeli brakuje drugiego przyjmowana jest wartość :. Napisz \\ żeby uzyskać \. STYL to jeden z: � DomyÅ›lnie ŹRÓDÅOWE pliki rzadkie sÄ… wykrywane prostÄ… heurystykÄ… i odpowiedni plik CEL jest tworzony też jako rzadki. Takie zachowanie jest wybierane przez --sparse=auto. Podaj --sparse=always (zawsze) żeby utworzyć rzadki plik CEL zawsze gdy plik ŹRÓDÅOWY zawiera wystarczajÄ…co dÅ‚ugÄ… sekwencjÄ™ zer. Użyj --sparse=never (nigdy) żeby zakazać tworzenia plików rzadkich. Jeżeli podane jest --reflink[=always] zostanie wykonane lekkie kopiowanie, co oznacza, że bloki z danymi bÄ™dÄ… skopiowane w inne miejsce tylko gdy zostanÄ… później zmodyfikowane. Jeżeli takie kopiowanie nie jest możliwe, polecenie nie wykona kopiowania i zwróci błąd. Jeżeli podane jest --reflink=auto, w razie niemożnoÅ›ci wykonania lekkiego kopiowania zostanie wykonane kopiowanie zwykÅ‚e. � Sposób podziaÅ‚u na CZĘŚCI: N podziaÅ‚ na N plików na podstawie rozmiaru danych K/N K-ta CZĘŚĆ z N wysÅ‚ana na standardowe wyjÅ›cie l/N podziaÅ‚ na N plików bez dzielenia linii l/K/N K-ta CZĘŚĆ z N wysÅ‚ana na standardowe wyjÅ›cie, podziaÅ‚ bez dzielenia linii r/N jak „lâ€, ale kolejne linie wysyÅ‚ane do kolejnych plików r/K/N jak wyżej, ale tylko K-ta część N wysÅ‚ana na standardowe wyjÅ›cie � Kombinacje ustawieÅ„: * [-]LCASE jak [-]lcase cbreak jak -icanon -cbreak jak icanon � Ustawienia sterujÄ…ce: [-]clocal wyłączenie sygnałów sterowania modemu [-]cread włączenie odbioru z wejÅ›cia * [-]crtscts włączenie sterowania przepÅ‚ywem przez RTS/CTS * [-]cdtrdsr włączenie sterowania przepÅ‚ywem przez DTR/DSR csN ustawienie wielkoÅ›ci znaku na N bitów, N w zakresie [5..8] � CZAS jest liczbÄ… rzeczywistÄ… z opcjonalnym przyrostkiem: to „s†dla sekund (domyÅ›lnie), „m†dla minut, „h†dla godzin, „d†dla dni. � WartoÅ›ci sÄ… wypisywane w jednostkach pierwszego dostÄ™pnego ROZMIARU z opcji --block-size i ze zmiennych Å›rodowiskowych %s_BLOCK_SIZE, BLOCK_SIZE i BLOCKSIZE. Jeżeli jednostka nie jest dostÄ™pna to domyÅ›lnie wynosi 1024 bajty albo 512 bajtów jeżeli ustawiona jest zmienna POSIXLY_CORRECT. � Do FLAG należą: append tryb dopisywania (ma sens tylko dla wyjÅ›cia) � UPRAWNIENIA majÄ… formÄ™ „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+â€. � PrzykÅ‚ady: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � PrzykÅ‚ady: %s -12 plik1 plik2 Wypisanie tylko linii obecnych zarówno w pliku1, jak w pliku2 %s -3 plik1 plik2 Wypisanie linii, które sÄ… w pliku1, a nie ma ich w pliku2 i odwrotnie � PrzykÅ‚ady: %s /usr/bin/ Wynik: "/usr". %s dir1/str dir2/str -> "dir1", a po nim "dir2" %s stdio.h Wynik: ".". � PrzykÅ‚ady: %s /usr/bin/sort -> "/sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1", a po nim "str2" � PrzykÅ‚ady: %s f - g Skopiowanie zawartoÅ›ci f na standardowe wyjÅ›cie, potem zawartoÅ›ci g. %s Skopiowanie standardowego wejÅ›cia na standardowe wyjÅ›cie. � PrzykÅ‚ady: %s root /u Zmiana wÅ‚aÅ›ciciela /u na "root". %s root:staff /u Podobnie, ale również zmiana grupy na "staff". %s -hR root /u Zmiana wÅ‚aÅ›ciciela /u i zawartoÅ›ci na "root". � PrzykÅ‚ady: %s staff /u Zmiana grupy /u na "staff". %s -hR staff /u Zmiana grupy /u i zawartoÅ›ci na "staff". � PrzykÅ‚ady: Zamiana liczby sekund od epoki (1970-01-01 UTC) na datÄ™: $ date --date='@2147483647' Pokazywanie czasu na zachodnim wybrzeżu USA (strefÄ™ czasowÄ… można znaleźć w manualu tzselect(1)): $ TZ='America/Los_Angeles' date Pokazanie czasu lokalnego dla 9 w najbliższy piÄ…tek na zachodnim wybrzeżu USA: $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Wszystkie testy dotyczÄ…ce PLIKÓW oprócz -h i -L rozwijajÄ… dowiÄ…zania symboliczne. Należy zwrócić uwagÄ™ na to, że nawiasy muszÄ… być chronione przed interpretacjÄ… przez powÅ‚okÄ™, np. przez „\â€. LICZBA musi być caÅ‚kowita i może mieć także postać -l NAPIS czyli dÅ‚ugość NAPISU. � Status wyjÅ›ciowy jest zerem jeżeli WYRAÅ»ENIE nie ma wartoÅ›ci null ani 0, 1 - jeżeli WYRAÅ»ENIE ma wartoÅ›c null albo 0, 2 - jeżeli WYRAÅ»ENIE ma błąd skÅ‚adni, 3 - jeżeli zostaÅ‚ wykryty inny błąd � Stan wyjÅ›ciowy to 0, jeżeli udaÅ‚o siÄ™ prawidÅ‚owo przeksztaÅ‚cić wszystkie liczby. DomyÅ›lnie %s zatrzyma siÄ™ przy pierwszym błędzie przeksztaÅ‚cania ze stanem wyjÅ›ciowym 2. Z opcjÄ… --invalid=fail jest tylko wypisywane ostrzeżenie dla każdego błędu przeksztaÅ‚cania, a stan wyjÅ›ciowy to 2. Z opcjÄ… --invalid=warn podawane sÄ… informacje diagnostyczne o każdym błędzie przeksztaÅ‚cania, a stan wyjÅ›ciowy bÄ™dzie miaÅ‚ wartość 0. Z opcjÄ… --invalid=ignore nie sÄ… podawane informacje diagnostyczne, stan wyjÅ›ciowy wynosi 0. � Kod wyjÅ›ciowy: 0 jeżeli bez błędów, 1 przy drobnych problemach (np. brak dostÄ™pu do podkatalogu), 2 przy poważnych problemach (np. brak dostÄ™pu do podanego argumentu). � LISTA_PÓL zawiera oddzielone przecinaki nazwy pól do uwzglÄ™dnienia. Możliwe nazwy pól to „sourceâ€, „fstypeâ€, „itotalâ€, „iusedâ€, „iavailâ€, „ipcentâ€, „sizeâ€, „usedâ€, „availâ€, „pcent†i „target†(zobacz dokumentacjÄ™ info). � FORMAT wyjÅ›cia jak w funkcji C printf. Rozpoznawane sekwencje: \" cudzysłów � FORMAT steruje wyjÅ›ciem. Rozpoznawane sekwencje: %% znak procenta % %a lokalny skrót nazwy dnia tygodnia (np. pon) � FORMAT musi umożliwiać wypisanie jednego argumentu zmiennoprzecinkowego „%fâ€. Opcjonalny cudzysłów (%'f) włączy --grouping (grupowanie; jeżeli umożliwiajÄ… to bieżące ustawienia regionalne). Opcjonalna szerokość (%10f) dopeÅ‚ni dane wyjÅ›ciowe spacjami. Opcjonalna ujemna szerokość (%-10f) dopeÅ‚ni spacjami od lewej. � ObsÅ‚uga linii terminalowej podłączonej do standardowego wejÅ›cia. Bez argumentów wyÅ›wietla prÄ™dkość transmisji, rygor linii i odchylenia od stty sane. W ustawieniach ZNAK powinien być podany dosÅ‚ownie lub zakodowany np. ^c, 0x37, 0177 lub 127; wartość ^- lub sÅ‚owo undef sÄ… używane do wyłączania znaków specjalnych. � Jeżeli jest włączona opcja -e, rozpoznawane sÄ… nastÄ™pujÄ…ce sekwencje: � Jeżeli PLIK jest podany jako -, zamazywane jest standardowe wyjÅ›cie. Jeżeli podana jest opcja --remove (-u) PLIK jest kasowany. DomyÅ›lnie PLIK nie jest kasowany, ponieważ czÄ™sto operacje dotyczÄ… plików urzÄ…dzeÅ„, jak /dev/hda, a takie pliki zwykle nie powinny być usuwane. Przy zamazywaniu zwykÅ‚ych plików zwykle używa siÄ™ opcji --remove. � JeÅ›li nie podano PLIKU, używany jest %s. CzÄ™sto podaje siÄ™ %s. Obecność ARG1 ARG2 implikuje -m. Typowe wywoÅ‚ania: „am iâ€, „mom likesâ€. � Jeżeli jest podany PLIK, jest czytany dla okreÅ›lenia jakie kolory sÄ… użyte z jakimi rozszerzeniami. W przeciwnym wypadku użyta jest wkompilowana baza danych. Szczegóły formatu tych plików można zobaczyć przez „dircolors --print-databaseâ€. � Jeżeli PIERWSZA lub KROK sÄ… pominiÄ™te, majÄ… domyÅ›lnÄ… wartość 1. Tzn. jeżeli KROK jest pominiÄ™ty, domyÅ›lnie ma wartość 1, nawet jeżeli OSTATNIA jest mniejsza od PIERWSZEJ. PIERWSZA, KROK i OSTATNIA sÄ… interpretowane jako liczby zmiennoprzecinkowe. KROK zwykle jest dodatni, jeÅ›li PIERWSZA jest mniejsza od OSTATNIEJ, KROK jest zwykle ujemny, jeÅ›li PIERWSZA jest wiÄ™ksza od OSTATNIEJ. � Jeżeli TRYB to „0â€, odpowiedni strumieÅ„ nie bÄ™dzie buforowany. � Jeżeli TRYB to „Lâ€, odpowiedni strumieÅ„ bÄ™dzie buforowany liniami. Opcja jest błędna dla standardowego wejÅ›cia. � Jeżeli PLIK podany jest jako -, dane sÄ… kopiowane na standardowe wyjÅ›cie. � Jeżeli nie jest podane żadne polecenie, uruchamiany jest „${SHELL} -i†(domyÅ›lnie: „/bin/sh -iâ€). � Jeżeli standardowym wejÅ›ciem jest terminal, przekierowany jest do niego /dev/null . Jeżeli standardowym wyjÅ›ciem jest terminal, dane wyjÅ›ciowe, bÄ™dÄ… dołączone do „nohup.out†a jeżeli to niemożliwe, do „$HOME/nohup.outâ€. Jeżeli standardowe wyjÅ›cie błędów jest terminalem, zostanie przekierowane na standardowe wyjÅ›cie. Å»eby zapisać dany wyjÅ›ciowe do PLIKU należy użyć „%s POLECENIE > PLIKâ€. � Jeżeli polecenie wyczerpie czas, a nie zostaÅ‚a użyta opcja --preserve-status, program podaje status wyjÅ›ciowy 124. W przeciwnym przypadku zwraca status POLECENIA. Jeżeli nie jest podany sygnaÅ‚, wysyÅ‚any jest sygnaÅ‚ TERM. TERM zabija procesy, które nie przechwytujÄ… tego sygnaÅ‚u. Dla innych procesów może być konieczne użycie sygnaÅ‚u KILL (9), który nie może być przechwycony. Po wysÅ‚aniu sygnaÅ‚u KILL (9), kod wyjÅ›cia to 128+9, a nie 124. � Jeżeli pierwszy znak N (liczby bajtów lub linii) to „+â€, pisanie zaczyna siÄ™ od N-tego elementu od poczÄ…tku każdego pliku. W przeciwnym wypadku wypisywane jest ostatnich N elementów pliku. N może mieć przyrostek mnożący: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 itd. dla T, P, E, Z, Y. � Ustawienia wejÅ›cia: [-]brkint znaki break powodujÄ… wysÅ‚anie sygnaÅ‚u przerwania [-]icrnl zamienianie znaków CR na NL [-]ignbrk ignorowanie znaku break [-]igncr ignorowanie znaku CR � N może mieć przyrostek mnożący: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y. � KLUCZ okreÅ›lajÄ…cy poczÄ…tkowe i koÅ„cowe pole to P[.Z][OPCJE][,P[.Z][OPCJE]], gdzie P jest numerem pola, a Z pozycjÄ… znaku w polu; oba liczone od jedynki, a pole koÅ„cowe to koniec linii. Jeżeli nie jest użyta opcja -t ani -b, znaki w polu sÄ… liczone do poczÄ…tku poprzedzajÄ…cego odstÄ™pu. OPCJE zawierajÄ… jednÄ… lub wiÄ™cej jednoliterowych opcji porzÄ…dkujÄ…cych [bdfgiMhnRrV], które dla tego klucza sÄ… ważniejsze niż opcje globalne. Jeżeli nie jest podany klucz, caÅ‚a linia jest używana jako klucz. ROZMIAR może być uzupeÅ‚niony o nastÄ™pujÄ…ce mnożniki: � Licencja GPLv3+: GNU GPL wersja 3 albo późniejsza http://gnu.org/licenses/gpl.html To jest wolne oprogramowanie: masz prawo je zmieniać i rozpowszechniać. Autorzy nie dajÄ… Å»ADNYCH GWARANCJI w granicach dozwolonych prawem. � Ustawienia lokalne: [-]crterase wyÅ›wietlanie znaku erase jako BS-spacja-BS * crtkill kasowanie caÅ‚ej linii zgodnie z ustawieniami echoprt i echoe * -crtkill kasowanie caÅ‚ej linii zgodnie z ustawieniami echoctl i echok � Argumenty obowiÄ…zkowe dla opcji dÅ‚ugich obowiÄ…zujÄ… również dla krótkich. � N i BAJTY mogÄ… mieć nastÄ™pujÄ…ce przyrostki mnożące: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, itd. dla T, P, E, Z, Y. Każde SÅOWO_KL może być: � UWAGA: Jeżeli POLECENIE zmienia sposób buforowania swoich standardowych strumieni (robi to np. „teeâ€), przestawi wtedy ustawienia zmienione przez „stdbufâ€. Niektóre filtry (jak „ddâ€, „cat†itp.) nie używajÄ… strumienia dla operacji wejÅ›cia/wyjÅ›cia i ich parametry nie bedÄ… zmienione przez „stdbufâ€. � UWAGA: [ interpretuje opcje --help i --version, ale test tego nie robi. test traktuje je jak każdy inny niepusty NAPIS. � UWAGA: używana przez ciebie powÅ‚oka systemowa może mieć wÅ‚asnÄ… wersjÄ™ %s, która zwykle zasÅ‚ania wersjÄ™ tu opisanÄ…. Szczegóły opcji tego polecenia opisuje dokumentacja. � Warto zauważyć, że po usuniÄ™ciu plku przy użyciu „rmâ€, jeżeli dysponuje siÄ™ dostatecznÄ… wiedzÄ… i czasem istnieje możliwość odtworzenia jego zawartoÅ›ci lub jej części. Jeżeli chcemy mieć wiÄ™kszÄ… pewność, że zawartość pliku bÄ™dzie rzeczywiÅ›cie nie do odtworzenia, należy rozważyć użycie programu shred. � Należy zauważyć, że opcje -d i -t akceptujÄ… różne formaty daty/czasu. � Zauważ, że porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami podanymi przez „LC_COLLATEâ€. � Uwaga: „uniq†nie wykrywa powtórzeÅ„ linii, które nie nastÄ™pujÄ… bezpoÅ›rednio po sobie. Dane wejÅ›ciowe można najpierw posortować albo użyć „sort -u†zamiast „uniqâ€. Porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami podanymi przez „LC_COLLATEâ€. � Opcjonalny minus przed USTAWIENIEM oznacza zaprzeczenie. Gwiazdka * oznacza ustawienia spoza POSIX. System sam okreÅ›la, które ustawienia sÄ… dostÄ™pne. � W przeciwnym przypadku TRYB jest liczbÄ…, do której można dodać jeden z przyrostków: KB 1000, K 1024, MB 1000*1000, M 1024*1024 itd. dla G, T, P, E, Z, Y. W tym przypadku odpowiedni strumieÅ„ bÄ™dzie buforowany w buforze o rozmiarze MODE bajtów. � Ustawienia dla wyjÅ›cia: * bsN styl opóźnienia po znaku BS, N w zakresie [0..1] * crN styl opóźnienia po znaku CR, N w zakresie [0..3] * ffN styl opóźnienia po znaku FF, N w zakresie [0..1] * nlN styl opóźnienia po znaku NL, N w zakresie [0..1] � WÅ‚aÅ›ciciel nie bÄ™dzie zmieniony, jeżeli nie zostaÅ‚ podany. Grupa nie bÄ™dzie zmieniona, jeżeli nie zostaÅ‚a podana; bÄ™dzie zmieniona na grupÄ™ głównÄ…, jeżeli po WÅAÅšCICIELU zostaÅ‚ podany „:â€. WÅAÅšCICIEL i GRUPA mogÄ… być podane zarówno numerycznie jak symbolicznie. � Wypisanie wartoÅ›ci WYRAÅ»ENIA na standardowym wyjÅ›ciu. Puste linie poniżej rozdzielajÄ… grupy o wzrastajÄ…cym pierwszeÅ„stwie. WYRAÅ»ENIE ma postać: ARG1 | ARG2 ARG1 jeÅ›li nie jest pusty ani równy 0, inaczej ARG2 ARG1 & ARG2 ARG1 jeÅ›li żaden argument nie jest pusty ani 0, inaczej 0 � Jeżeli PLIK jest podany jako -, czytane jest standardowe wejÅ›cie. Możliwe WZORCE: � Raporty o błędach %s wysyÅ‚aj do %s � O błędach programu poinformuj %s O błędach tÅ‚umaczenia poinformuj translation-team-pl@lists.sourceforge.net � ZBIORY sÄ… podawane jako ciÄ…gi znaków. WiÄ™kszość znaków reprezentuje same siebie. Specjalnie interpretowane ciÄ…gi to: \NNN znak o wartoÅ›ci ósemkowej NNN (od 1 do 3 cyfr ósemkowych) \\ ukoÅ›nik odwrotny \a znak BEL \b backspace \f nowa strona \n nowa linia \r powrót karetki \t tabulacja pozioma � SYGNAÅ może być podany przez nazwÄ™ jak „HUPâ€, numer jak „1†albo jako status wyjÅ›ciowy procesu zakoÅ„czonego przez sygnaÅ‚. PID jest liczbÄ… caÅ‚kowitÄ…, jeżeli ujemnÄ…, to oznacza grupÄ™ procesów. � ROZMIAR jest liczbÄ…. Dla TYPÓW [doux] ROZMIAR może być też C dla sizeof(char), S dla sizeof(short), I dla sizeof(int) albo L dla sizeof(long). Jeżeli TYP to f, ROZMIAR może być też F dla sizeof(float), D dla sizeof(double) albo L dla sizeof(long double). � ROZMIAR jest liczbÄ… caÅ‚kowitÄ… z dodanÄ… opcjonalnie jednostkÄ… (przykÅ‚ad: 10M to 10*1024*1024). Jednostki to K, M, G, T, P, E, Z, Y (potÄ™gi 1024) albo KB, MB, ... (potÄ™gi 1000). � ROZMIAR może być też poprzedzony przez jeden z nastÄ™pujÄ…cych przedrostków: „+†zwiÄ™ksz o, „-†zmniejsz o, „<†najwyżej, „>†co najmniej, „/†zaokrÄ…gl w dół do wielokrotnoÅ›ci, „%†zaokrÄ…gl w górÄ™ do wielokrotnoÅ›ci. � WysÅ‚anie sygnaÅ‚u %s do dziaÅ‚ajÄ…cego programu „dd†powoduje wypisanie statystyki wejÅ›cia i wyjÅ›cia na standardowym wyjÅ›ciu błędów i kontynuacjÄ™ kopiowania. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s � Znaki specjalne: * dsusp ZNAK ZNAK wysyÅ‚a do terminala sygnaÅ‚ stopu po opróżnieniu wejÅ›cia eof ZNAK ZNAK wysyÅ‚a znak koÅ„ca pliku (koÅ„ca wejÅ›cia) eol ZNAK ZNAK wysyÅ‚a znak koÅ„ca linii � Ustawienia specjalne: N ustawienie prÄ™dkoÅ›ci wyjÅ›ciowej i wejÅ›ciowej na N bodów * cols N ustawienie szerokoÅ›ci terminala na N kolumn * columns N to samo co cols N � Rozszerzenie nazwy kopii zapasowej to „~â€, jeżeli nie jest ustawione inaczej przez --suffix albo SIMPLE_BACKUP_SUFFIX. Traktowanie wersji może być ustawione przez opcjÄ™ --backup albo przez zmiennÄ… Å›rodowiska VERSION_CONTROL. Możliwe wartoÅ›ci: � Dane sÄ… kodowane wedÅ‚ug opisu dla alfabetu o podstawie 64 (base64) w RFC 3548. Przy dekodowaniu oprócz znaków formalnego alfabetu base64 można napotkać znaki nowej linii. Program wywoÅ‚any z opcjÄ… --ignore-garbage bÄ™dzie próbowaÅ‚ opuÅ›cić jakiekolwiek inne znaki nie z alfabetu base64. � NastÄ™pujÄ…ce opcje zmieniajÄ… sposób przeglÄ…dania katalogów gdy jest podana opcja -R. Jeżeli podane jest wiÄ™cej opcji, używana jest tylko ostatnia. -H jeżeli argumentem jest dowiÄ…zanie symboliczne do katalogu - bÄ™dzie przetworzony -L przetworzenie każdego katalogu, do którego jest dowiÄ…zanie symboliczne -P bez przetwarzania dowiÄ…zaÅ„ symbolicznych (domyÅ›lnie) � NastÄ™pujÄ…ce opcje sÄ… przydatne tylko przy sprawdzaniu sum kontrolnych: --quiet bez wypisywania OK dla każdego pozytywnie zweryfikowanego pliku --status bez wypisywania niczego, kod wyjÅ›cia przekazuje wynik -w, --warn ostrzeganie o niepoprawnie sformatowanych liniach sum � Sumy sÄ… liczone wg opisu w %s. Przy sprawdzaniu dane wejÅ›ciowe powinny być takie jak wygenerowane przez ten program na wyjÅ›ciu. DomyÅ›lny tryb to wypisanie linii z sumÄ… kontrolnÄ…, znaku wskazujÄ…cego typ („*†- binarny, spacja - tekstowy) i nazwy każdego PLIKU. � PrawidÅ‚owe specyfikacje formatu dla plików (bez opcji --file-system): %a prawa dostÄ™pu ósemkowo %A prawa dostÄ™pu w postaci czytelnej dla czÅ‚owieka %b liczba zajÄ™tych bloków (zobacz %B) %B rozmiar w bajtach każdego bloku podanego przez %b %C kontekst bezpieczeÅ„stwa SELinuksa � Program install kopiuje pliki (czÄ™sto dopiero co skompilowane) do docelowych lokalizacji wybranych przez użytkownika. Zamiast programu install można użyć programu do zarzÄ…dzania pakietami takiego jak np. yum(1) albo apt-get(1), który może skopiować z sieci i zainstalować gotowy do użytku pakiet programów. W pierwszych trzech formatach kopiowane jest ŹRÓDÅO do CELU lub wiele ŹRÓDEÅ do istniejÄ…cego KATALOGU i ustawiane sÄ… uprawnienia oraz wÅ‚aÅ›ciciel i grupa. W czwartym formacie tworzone sÄ… wszystkie katalogi skÅ‚adowe podanej Å›cieżki KATALOGU/ÓW. � Å»eby usunąć plik z nazwÄ… zaczynajÄ…ca siÄ™ od „-â€, np. „-fooâ€, można użyć jednego z poleceÅ„: %s -- -foo %s ./-foo � Zamiana nastÄ™puje gdy nie jest podana opcja -d i sÄ… podane oba zbiory, ZBIÓR1 i ZBIÓR2. Opcja -t może być użyta tylko przy zamianie. W razie potrzeby ZBIÓR2 jest uzupeÅ‚niany do dÅ‚ugoÅ›ci ZBIORU1 przez powtórzenie ostatniego znaku. Nadmiarowe znaki ZBIORU2 sÄ… ignorowane. Tylko [:lower:] i [:upper:] bÄ™dÄ… na pewno rozwiniÄ™te w porzÄ…dku rosnÄ…cym; użyte w ZBIORZE2 przy zamianie, mogÄ… być tylko zestawione w parach dla konwersji maÅ‚e-wielkie litery. Jeżeli operacjÄ… nie jest ani zamiana ani kasowanie, -s używa ZBIORU1. W przeciwnym wypadku używa ZBIORU2 i kompresja powtórzeÅ„ zachodzi po zamianie i kasowaniu. � Inne opcje: � Jeżeli nie jest podana opcja -t ZNAK, spacje na poczÄ…tku linii oddzielajÄ… pola i sÄ… ignorowane, w przeciwnym wypadku pola sÄ… oddzielane przez ZNAK. POLE jest numerem pola liczonym od 1. FORMAT to jedna lub wiÄ™cej specyfikacji „NUMER.POLE†albo „0â€. DomyÅ›lny FORMAT wypisuje pole łączÄ…ce, pozostaÅ‚e pola z PLIKU1 i pozostaÅ‚e pola z PLIKU2, wszystkie oddzielone ZNAKIEM. Jeżeli FORMAT to sÅ‚owo kluczowe „autoâ€, to pierwsza linia każdego z plików okreÅ›la liczbÄ™ pól wypisywanych w każdej linii Ważne: PLIK1 i PLIK2 muszÄ… być posortowane po polu łączÄ…cym. Np. jeżeli „join†zostaÅ‚ uruchomiony bez opcji użyj przedtem „sort -k 1b,1â€, a jeżeli „sort†byÅ‚ uruchomiony bez opcji użyj „join -t ''â€. Zauważ, że porównania odbywajÄ… siÄ™ zgodnie z reguÅ‚ami okreÅ›lonymi w „LC_COLLATEâ€. Jeżeli dane wejÅ›ciowe nie sÄ… posortowane i niektóre linie nie mogÄ… być połączone, zostanie wypisane ostrzeżenie. � Użyć można tylko jednej z opcji -b, -c albo -f. Każda LISTA skÅ‚ada siÄ™ z jednego zakresu lub wielu zakresów oddzielonych przecinkami. Przefiltrowane dane wejÅ›ciowe sÄ… wypisywane w tym samym porzÄ…dku, w jakim sÄ… czytane i sÄ… wypisywane tylko raz. � Jeżeli jest użyta opcja -s, to ignorowane sÄ… opcje -L i -P. W przeciwnym przypadku ostatnia podana opcja wpÅ‚ywa na zachowanie programu kiedy CELEM jest dowiÄ…zanie symboliczne, domyÅ›lnie jest to %s. � Używanie kolorów do wyróżnienia typów plików jest wyłączone domyÅ›lnie albo jeżeli użyta jest opcja --color=never. Przy --color-auto polecenie ls wysyÅ‚a kody kolorów tylko jeżeli jest połączone z terminalem. Zmienna Å›rodowiskowa LS_COLORS może zmienić te ustawienia. Można jÄ… ustawić przy pomocy polecenia dircolors. � Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. DomyÅ›lnie użyta jest opcja „-F /â€. � Jeżeli nie zostaÅ‚ podany PLIK albo podany jest jako -, czytane jest standardowe wejÅ›cie. � Bez opcji wypisuje wyniki w trzech kolumnach. Pierwsza zawiera linie wystÄ™pujÄ…ce tylko w PLIKU1, druga - tylko w PLIKU2, trzecia - wystÄ™pujÄ…ce w obu plikach. � Bez żadnych OPCJI wyÅ›wietla zestaw użytecznych informacji, które udaÅ‚o siÄ™ zidentyfikować. � Wypisanie jednoznacznej reprezentacji PLIKU, domyÅ›lnie bajty ósemkowo, na standardowe wyjÅ›cie. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. � (tylko dla systemów, które umiejÄ… zmienić wÅ‚aÅ›ciciela dowiÄ…zania symbolicznego) � ???� --backup[=TRYB] zrobienie kopii zapasowej każdego istniejÄ…cego pliku docelowego -b jak --backup, ale bez podawania argumentu -f, --force bez pytania przed zamazaniem pliku -i, --interactive pytanie przed zamazaniem -n, --no-clobber bez nadpisywania istniejÄ…cych plików � --backup[=TRYB] zrobienie kopii zapasowej przed skasowaniem -b jak --backup, ale bez argumentu -d, -F, --directory administrator może robić dowiÄ…zania zwykÅ‚e do katalogów (uwaga: prawdopodobnie bez powodzenia ze wzglÄ™du na ograniczenia systemowe obowiÄ…zujÄ…ce nawet administratora) -f, --force skasowanie istniejÄ…cych CELÓW bez pytania � --backup[=TRYB] robienie kopii zapasowej przed zamazaniem pliku -b jak --backup, ale bez podawania argumentu -c (ignorowane) -C, --compare porównanie wszystkich par plików źródÅ‚owych i docelowych i, w niektórych przypadkach, odstapienie od modyfikacji pliku docelowego -d, --directory traktowanie wszystkich argumentów jako nazw katalogów; tworzenie katalogów skÅ‚adowych podanych katalogów � --batch-size=POÅÄ„CZN łączenie najwyżej POÅÄ„CZN plików wejÅ›ciowych naraz; dla wiÄ™kszej liczby użyte bÄ™dÄ… pliki tymczasowe � --block-size=ROZMIAR Skala rozmiarów, np. „--block-size=M†powoduje wypisanie rozmiarów w jednostkach po 1048576 bajtów. Zobacz infomacje o formacie ROZMIARÓW poniżej. -B, --ignore-backups bez pokazania plików koÅ„czÄ…cych siÄ™ na ~ -c z -lt: sortowanie wg i wypisanie ctime (czasu ostatniej modyfikacji danych o pliku) z -l: wypisanie ctime i sortowanie wg nazw w przeciwnym przypadku: sortowanie wg ctime, najnowsze pliki na poczÄ…tku � --complement użycie dopeÅ‚nienia zbioru wybranych bajtów, znaków albo pól � --debug zanotowanie która część linii zostaÅ‚a użyta do posortowania i ostrzeganie o niewÅ‚aÅ›ciwym użyciu przez standardowe wyjÅ›cie błędu --files0-from=P dane wejÅ›ciowe bÄ™dÄ… czytane z plików rozdzielonych znakiem NUL, podanych w pliku P Jeżeli PLIK to -, nazwy czytane sÄ… ze standardowego wejÅ›cia � --debug wypisywanie ostrzeżeÅ„ o błędnych danych wejÅ›ciowych � --dereference zmiany majÄ… dotyczyć obiektów wskazywanych przez dowiÄ…zania symboliczne (zachowanie domyÅ›lne), a nie samych dowiÄ…zaÅ„ -h, --no-dereference zmiany majÄ… dotyczyć samych dowiÄ…zaÅ„ symbolicznych, a nie plików przez nie wskazywanych � --field=N zastÄ™powanie liczby w wejÅ›ciowym polu N (zamiast 1) � --files0-from=PLIK pliki wejÅ›ciowe sÄ… PLIKU, oddzielone NUL-ami Jeżeli PLIK to -, nazwy czytane sÄ… ze standardowego wejÅ›cia -L, --max-line-length wypisanie dÅ‚ugoÅ›ci najdÅ‚uższej linii -w, --words wypisanie liczby słów � --files0-from=PLIK podsumowanie zajÄ™toÅ›ci dysku przez pliki podane w PLIKU (nazwy zakoÅ„czone przez NUL) Jeżeli PLIK to -, nazwy czytane sÄ… ze standardowego wejÅ›cia -H to samo co --dereference-args (-D) -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K 234M 2G) � --format=FORMAT użycie FORMATU w stylu zmiennoprzecinkowego formatu funkcji printf. Szczegóły w opisie FORMATÓW niżej � --from-unit=N rozmiar jednostki wejÅ›ciowej (zamiast domyÅ›lnego 1). � --from=BIEŻĄCY_WÅAÅšCICIEL:BIEŻĄCA_GRUPA zmiana wÅ‚aÅ›ciciela i/lub grupy każdego pliku, jeżeli bieżący wÅ‚aÅ›ciciel i /lub grupa sÄ… takie jak podane. Atrybut nie jest porównywany jeżeli zostaÅ‚ pominiÄ™ty w opcji. � --from=JEDNOSTKI samoczynne przeskalowanie liczb wejÅ›ciowych do JEDNOSTEK. DomyÅ›lnie: „none†(„żadneâ€). Zobacz spis JEDNOSTEK poniżej. � --group-directories-first wypisanie wszystkich katalogów przed plikami; ta opcja może być uzupeÅ‚niona opcjÄ… --sort, ale wyłącza jÄ… użycie opcji --sort=none (-U) � --grouping grupowanie cyfr wg ustawieÅ„ regionalnych (np. 1.000.000). (wiÄ™c nie dziaÅ‚a dla ustawieÅ„ C/POSIX) � --header[=N] pierwsze N linii zostanie przepisanych bez konwersji. Jeżeli N nie jest podane, domyslnie jedna. � --help wyÅ›wietlenie tego opisu i zakoÅ„czenie � --indicator-style=SÅOWO dodanie wskaźników typów plików w stylu SÅOWO: none (domyÅ›lnie), slash (-p), file-type (--file-type), classify (-F) -i, --inode pokazywanie numeru i-wÄ™zÅ‚a każdego pliku -I, --ignore=WZÓR bez pokazywania plików pasujÄ…cych do shellowego WZORU -k, --kibibytes użycie bloków o rozmiarze 1024 bajtów � --invalid=TRYB reakcja na błędne liczby. TRYB to: abort (zakoÅ„cz; domyÅ›lnie), fail (błąd), warn (ostrzeżenie), ignore (ignorowanie) � --lookup rozwiÄ…zywanie nazw systemów poprzez DNS -m wyÅ›wietlenie tylko nazwy systemu i użytkownika zwiÄ…zanego ze standardowym wejÅ›ciem -p, --process aktywne procesy uruchomione przez init � --no-preserve-root bez traktowania katalogu „/†w specjalny sposób --preserve-root odmowa usuniÄ™cia „/†(domyslnie) -r, -R, --recursive usuwanie katalogów z zawartoÅ›ciÄ… rekursywnie -d, --dir usuwanie pustych katalogów -v, --verbose wyjaÅ›nianie co siÄ™ dzieje � --no-preserve-root bez traktowania katalogu „/†w specjalny sposób (domyÅ›lnie) --preserve-root odmowa rekusywnego dziaÅ‚ania na „/†� --no-preserve=LISTA_ATR bez zachowania podanych atrybutów --parents użycie peÅ‚nej Å›cieżki źródÅ‚owej KATALOG � --one-file-system poddczas rekurencyjnego usuwania katalogu pomijane sÄ… katalogi znajdujÄ…ce siÄ™ na innym systemie plików niż ten, na którym znajduje siÄ™ argument polecenia � --output[=LISTA_PÓL] użycie formatu zdefiniowanego przez LISTĘ_PÓL albo wypisanie wszystkich pól, jeżeli LISTA_PÓL zostaÅ‚a pominiÄ™ta -P, --portability użycie formatu zgodnego z POSIX-em --sync wywoÅ‚anie sync przed pobraniem informacji -t, --type=TYP pokazanie tylko systemów plików tego TYPU -T, --print-type wypisanie typów systemów plików -x, --exclude-type=TYP pokazanie tylko systemów plików nie tego TYPU -v (ignorowane) � --padding=N dopeÅ‚nienie danych wyjÅ›ciowych do N znaków. Dodatnie N oznacza dosuniÄ™cie do prawej. Ujemne - do lewej. Jeżeli dane sÄ… szersze niż N znaków, nie sÄ… dopeÅ‚niane. DomyÅ›lnie dopeÅ‚nienie jest automatyczne, jeżeli napotkane sÄ… odstÄ™py � --pid=PID z -f - zakoÅ„czenie pracy po zakoÅ„czeniu procesu o numerze PID -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików --retry staÅ‚e ponawianie próby otwierania pliku, nawet jeżeli jest niedostÄ™pny albo staje siÄ™ niedostÄ™pny później; użyteczne do Å›ledzenia wg nazwy, np. z --follow=name � --preserve-context zachowanie kontekstu bezpieczeÅ„stwa SELinux -Z, --context=KONTEKST ustawienie kontekstu bezpieczeÅ„stwa SELinux dla plików i katalogów � --preserve-status zakoÅ„czenie z podaniem statusu POLECENIA, nawet jeżeli polecenie przekroczy czas --foreground Gdy polecenie timeout nie jest uruchomione bezpoÅ›rednio z interaktywnej powÅ‚oki, pozwolenie POLECENIU na czytanie z TTY i odbierania sygnałów TTY. W tym trybie procesy potomne POLECENIA nie bedÄ… podlegać ograniczeniu czasu. -k, --kill-after=CZAS wysÅ‚anie również sygnaÅ‚u KILL (zabij) jeżeli POLECENIE nadal dziaÅ‚a po wysÅ‚aniu pierwszego sygnaÅ‚u -s, --signal=SYGNAÅ podanie sygnaÅ‚u do wysÅ‚ania po upÅ‚ywie CZASU. SYGNAÅ może być podany przez nazwÄ™, jak „HUPâ€, albo przez numer. Lista sygnałów: „kill -l†� --reference=PLIK_WZ użycie grupy pliku PLIK_WZ zamiast podania nazwy GRUPY � --reference=PLIK_WZ użycie uprawnieÅ„ pliku PLIK_WZ zamiast wartoÅ›ci UPRAWN � --reference=PLIK_WZ użycie wÅ‚aÅ›ciciela i grupy PLIK_WZ zamiast podawania wartoÅ›ci WÅAÅšCICIEL:GRUPA � --reference=PLIK_WZ użycie kontekstu bezpieczeÅ„stwa pliku PLIK_WZ zamiast podanego KONTEKSTU � --rfc-3339=CZAS wypisuje data i czas w formacie RFC 3339. Dla osiÄ…gniÄ™cia żądanej dokÅ‚adnoÅ›ci należy podać CZAS=date, „seconds†albo „nsâ€. SkÅ‚adniki data i czas sÄ… oddzielone przez pojedynczÄ… spacjÄ™: 2006-08-07 12:34:56-06:00 -s, --set=SPECYFIKACJA ustawia czas podany w SPECYFIKACJI -u, --utc, --universal wyÅ›wietla lub ustawia czas uniwersalny � --round=METODA METODA zaokrÄ…glania przy skalowaniu: up (w górÄ™), down (w dół), from-zero (od zera; domyÅ›lnie), towards-zero (w kierunku zera), nearest (najbliższa) � --sort=SÅOWO sortowanie wg SÅOWA: general-numeric (liczbowe) -g, human-numeric (liczbowe ludzkie) -h, month (miesiÄ™cy) -M, numeric (liczbowe) -n, random (losowe) -R, version (wersji) -V -V, --version-sort sortowanie wg liczb (numerów wersji) zawartych w tekÅ›cie � --sparse=GDY sterowanie tworzeniem plików rzadkich. Zobacz poniżej. --strip-trailing-slashes skasowanie ewentualnych koÅ„cowych ukoÅ›ników z nazw argumentów ŹRÓDÅOWYCH � --strict z --check bÄ™dzie zwracany niezerowy status wyjÅ›cia jeżeli dane wejÅ›ciowe sÄ… błędne � --strip-trailing-slashes usuniÄ™cie koÅ„cowych ukoÅ›ników z każdego argumentu ZRÓDÅOWEGO -S, --suffix=ROZSZERZ zmiana domyÅ›lnego rozszerzenia kopii zapasowej � --suffix=PRZYR dodanie PRZYROSTKA do WZORCA. PRZYROSTEK nie może zawierać ukoÅ›nika. Ta opcja jest domyÅ›lnie używana gdy WZORZEC nie koÅ„czy siÄ™ znakiem X. � --suffix=PRZYROSTEK dodanie PRZYROSTKA do liczb wyjÅ›ciowych i akceptowanie opcjonalnego PRZYROSTKA w liczbach wejÅ›ciowych � --tag wyliczenie sumy kontrolnej w stylu BSD � --time-style=STYL z opcjÄ… -l: pokazanie czasu przy użyciu STYLU: full-iso, long-iso, iso, locale, +FORMAT FORMAT jest interpretowany jak w „dateâ€. Jeżeli FORMAT to FORMAT1<znak nowej linii>FORMAT2, FORMAT1 dotyczy dawniejszych plików, FORMAT2 nowszych. Jeżeli STYL zaczyna siÄ™ od „posix-â€, STYL jest używany tylko dla locale nie POSIX � --tmpdir[=KATALOG] WZORZEC bÄ™dzie interpretowany wzglÄ™dem KATALOGU. Jeżeli KATALOG nie jest podany, zostanie użyty $TMPDIR, a jeżeli ta zmienna nie jest ustawiona - /tmp. Jeżeli jest użyta ta opcja, WZORZEC nie może być Å›cieżkÄ… bezwzglÄ™dnÄ…. Inaczej niż przy użyciu opcji -t, WZORZEC może zawierać ukoÅ›niki, ale mktemp i tak tworzy tylko ostatni skÅ‚adnik nazwy. � --to-unit=N rozmiar jednostki wyjÅ›ciowej (zamiast domyÅ›lnego 1). � --to=JEDNOSTKI samoczynne przeskalowanie liczb wyjÅ›ciowych do JEDNOSTEK. Zobacz opis JEDNOSTEK poniżej. � --verbose przed otwarciem każdego pliku wypisanie komunikatów diagnostycznych � --version wyÅ›wietlenie informacji o wersji i zakoÅ„czenie � --all liczba zainstalowanych procesorów --ignore=N jeżeli to możliwe, wyłączenie N procesorów � -evenp jak -parenb cs8 * [-]lcase jak xcase iuclc olcuc litout jak -parenb -istrip -opost cs8 -litout jak parenb istrip opost cs7 nl jak -icrnl -onlcr -nl jak icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb użycie dwóch bitów stopu na znak (jeden z „-â€) [-]hup wysÅ‚anie sygnaÅ‚u rozłączenia gdy ostatni proces zamknie terminal [-]hupcl to samo co [-]hup [-]parenb włączenie ustawiania i sprawdzania bitu parzystoÅ›ci [-]parodd włączenie parzystoÅ›ci nieparzystej (parzystej z „-â€) � [-]ignpar ignorowanie znaków z błędami parzystoÅ›ci * [-]imaxbel piszczenie przy peÅ‚nym buforze (bez jego opróżniania) po wprowadzeniu znaku [-]inlcr zamienianie znaków NL na CR [-]inpck włączenie kontroli parzystoÅ›ci na wejÅ›ciu [-]istrip zerowanie najstarszego (ósmego) bitu znaków na wejÅ›ciu � [-]isig wyÅ›wietlanie znaków intr, quit i susp [-]noflsh bez opróżniania bufora po znakach intr i quit * [-]prterase to samo co [-]echoprt * [-]tostop zatrzymywanie procesów w tle, próbujÄ…cych pisać na terminal * [-]xcase z icanon: wyÅ›wietlanie wielkich liter jako „\maÅ‚a-litera†� cooked jak brkint ignpar istrip icrnl ixon opost isig icanon, eof i eol ustawione na wartoÅ›ci domyÅ›lne -cooked jak raw crt jak echoe echoctl echoke � dec jak echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq jak [-]ixany ek ustawienie znaków erase i kill na wartoÅ›ci domyÅ›lne evenp jak parenb -parodd cs7 � ispeed N ustawienie prÄ™dkoÅ›ci wejÅ›ciowej na N * line N użycie rygoru linii (line discipline) N min N z -icanon ustawienie minimum N znaków peÅ‚nego odczytu ospeed N ustawienie prÄ™dkoÅ›ci wyjÅ›ciowej na N � oddp jak parenb parodd cs7 -oddp jak -parenb cs8 [-]parity jak [-]evenp pass8 jak -parenb -istrip cs8 -pass8 jak parenb istrip cs7 � raw jak -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw jak cooked � sane jak cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, wszystkie znaki specjalne przybierajÄ… standardowe wartoÅ›ci � stop ZNAK ZNAK wstrzymuje wyÅ›wietlanie susp ZNAK ZNAK wysyÅ‚a do terminala sygnaÅ‚ stop * swtch ZNAK ZNAK włącza innÄ… warstwÄ™ powÅ‚oki * werase ZNAK ZNAK kasuje ostatnie wprowadzone sÅ‚owo � %% pojedynczy % %b ARGUMENT ze zinterpretowanymi sekwencjami „\†oprócz sekwencji ósemkowych, które majÄ… formÄ™ \0 albo \0NNN i wszystkie specyfikacje formatu C zakoÅ„czone jednym ze znaków diouxXfeEgGcs z ARGUMENTAMI przeksztaÅ‚conymi najpierw do odpowiednich typów. SÄ… obsÅ‚ugiwane zmienne szerokoÅ›ci. � %A lokalna peÅ‚na nazwa dnia tygodnia (np. poniedziaÅ‚ek) %b lokalny skrót nazwy miesiÄ…ca (np. sty) %B lokalna peÅ‚na nazwa miesiÄ…ca (np. styczeÅ„) %c lokalna data i czas (np. czw mar 03 23:05:25 MEST 2005) � %C stulecie; jak %Y, ale bez dwóch ostatnich cyfr (np. 20) %d dzieÅ„ miesiÄ…ca (np. 01) %D data; to samo co %m/%d/%y %e dzieÅ„ miesiÄ…ca uzupeÅ‚niony spacjami; to samo co %_d � %F peÅ‚na data; to samo co %Y-%m-%d %g dwie ostatnie cyfry roku odpowiadajÄ…ce numerowi tygodnia ISO (zobacz %G) %G rok odpowiadajÄ…cy numerowi tygodnia ISO (zob. %V); zwykle użyteczne tylko z %V � %S sekunda (00...60) %t tabulator poziomy %T czas; to samo co %H:%M:%S %u dzieÅ„ tygodnia (1..7); 1 to poniedziaÅ‚ek � %U numer tygodnia w roku, niedziela zaczyna tydzieÅ„ (00...53) %V numer tygodnia ISO, poniedziaÅ‚ek zaczyna tydzieÅ„ (01...53) %w numer dnia tygodnia (0...6), 0 oznacza niedzielÄ™ %W numer tygodnia w roku, poniedziaÅ‚ek zaczyna tydzieÅ„ (00...53) � %d numer urzÄ…dzenia dziesiÄ™tnie %D numer urzÄ…dzenia szesnastkowo %f tryb surowy, szesnastkowo %F typ pliku %g numer grupy wÅ‚aÅ›ciciela pliku %G nazwa grupy wÅ‚aÅ›ciciela pliku � %h liczba dowiÄ…zaÅ„ zwykÅ‚ych %i numer i-wÄ™zÅ‚a %m miejsce zamontowania %n nazwa pliku %N nazwa pliku w cudzysÅ‚owach, rozwiÄ…zana jeżeli dowiÄ…zanie symboliczne %o optymalny rozmiar rozmiar wiekoÅ›ci transferu wejÅ›cia/wyjÅ›cia %s caÅ‚kowity rozmiar w bajtach %t wiÄ™kszy numer urzÄ…dzenia szesnastkowo %T mniejszy numer urzÄ…dzenia szesnastkowo � %h to samo co %b %H godzina (00...23) %I godzina (01...12) %j dzieÅ„ roku (001...366) � %i identyfikator systemu plików szesnastkowo %l maksymalna dÅ‚ugość nazw plików %n nazwa pliku %s optymalny rozmiar bloku przy zapisie/odczycie %S Podstawowy rozmiar bloku (dla zliczeÅ„ bloków) %t rodzaj systemu plików szesnastkowo %T rodzaj systemu plików w formie czytelnej dla czÅ‚owieka � %k godzina, dopeÅ‚niana spacjÄ… ( 0..23); to samo co %_H %l godzina, dopeÅ‚niana spacjÄ… ( 1..12); to samo co %_I %m miesiÄ…c (01...12) %M minuta (00...59) � %n znak nowej linii %N nanosekundy (000000000..999999999) %p lokalny odpowiednik AM lub PM; pusty jeżlei nieznany %P jak %p, ale maÅ‚ymi literami %r czas w formacie 12-godzinnym (np. 11:11:04 PM) %R czas w formacie 24-godzinnym; to samo co %H:%M %s liczba sekund od godz. 00:00:00, 1 stycznia 1970 UTC � %u identyfikator wÅ‚aÅ›ciciela %U nazwa wÅ‚aÅ›ciciela %w czytelny dla czÅ‚owieka czas utworzenia pliku albo - jeżeli nieznany %W czas utworzenia pliku w sekundach od Epoki albo - jeżeli nieznany %x czytelny dla czÅ‚owieka czas ostatniego czytania %X czas ostatniego czytania w sekundach od Epoki %y czytelny dla czÅ‚owieka czas ostatniej modyfikacji %Y czas ostatniej modyfikacji w sekundach od Epoki %z czytelny dla czÅ‚owieka czas ostatniej zmiany czasu %Z czas ostatniej zmiany czasu w sekundach od Epoki � %x lokalna reprezentacja daty (np. 12/31/99) %X lokalna reprezentacja czasu (np. 21:13:48) %y dwie ostatnie cyfry roku (00...99) %Y rok � %z strefa czasowa liczbowo +hhmm (np. -0400) %:z strefa czasowa liczbowo +hh:mm (np. -04:00) %::z strefa czasowa liczbowo +hh:mm:ss (np. -04:00:00) %:::z strefa czasowa liczbowo z : dla sprecyzowania dokÅ‚adnoÅ›ci (np. -04, +05:30) %Z literowy skrót strefy czasowej (np. EDT) DomyÅ›lnie numeryczne pola daty sÄ… dopeÅ‚niane zerami. � + SÅOWO SÅOWO interpretowane jako napis, nawet jeżeli jest to sÅ‚owo kluczowe, jak „match†albo operator jak „/†( WYRAÅ»ENIE ) wartość WYRAÅ»ENIA � +PIERWSZA_STRONA[:OSTATNIA_STRONA], --pages=PIERWSZA_STRONA[:OSTATNIA_STRONA] zaczÄ™cie [zakoÅ„czenie] od strony PIERWSZA_[OSTATNIA_]STRONA -COLUMN, --columns=KOLUMNY wypisywanie danych w tylu KOLUMNACH i drukowanie kolumn od góry do doÅ‚u, chyba że użyte jest -a. Wyrównanie liczby linii w kolumnach na każdej stronie. � - +FORMAT (np., +%H:%M) żeby podać format w stylu „date†� --output-delimiter=NAPIS oddzielenie kolumn przez NAPIS � --userspec=UÅ»YTK:GRUPA podanie użytkownika i grupy (liczbowo lub przez nazwÄ™) --groups=LISTA_GRUP podanie grup dodatkowych w postaci g1,g2,..,gN � -0, --null zakoÅ„czenie każdej linii na wyjÅ›ciu bajtem 0 zamiast znakiem nowej linii -a, --all podanie podliczenia dla plików, nie samych katalogów --apparent-size podanie rozmiarów pozornych zamiast zużycia dysku; chociaż rozmiar pozorny jest zwykle mniejszy, może być też wiÄ™kszy z powodu dziur (plików rzadkich - sparse), wewnÄ™trznej fragmentacji, bloków poÅ›rednich itp. � -0, --null zakoÅ„czenie linii bajtem 0 zamiast znakiem nowej linii � -A, --address-radix=BAZA postać wypisywania pozycji w pliku. BAZA to jedno z [doxn] dla bazy dziesiÄ™tnej, ósemkowej, szestnastkowej albo żadnej -j, --skip-bytes=BAJTY ominiÄ™cie tylu poczÄ…tkowych BAJTÓW każdego pliku � -A, --auto-reference wypisanie automatycznie wygenerowanych odnoÅ›ników -G, --traditional zachowanie zgodnoÅ›ci z wersjÄ… „ptx†z Systemu V -F, --flag-truncation=NAPIS użycie NAPISU do zaznaczania wyciÄ™tych linii � -B, --block-size=ROZMIAR Skala rozmiarów, np. „-BM†powoduje wypisanie rozmiarów w jednostkach po 1048576 bajtów. Zobacz infomacje o formacie ROZMIARÓW poniżej. -b, --bytes równoważne „--apparent-size --block-size=1†-c, --total wypisanie podsumowania caÅ‚oÅ›ci -D, --dereference-args rozwijanie dowiÄ…zaÅ„ symbolicznych podanych jako argumenty -d, --max-depth=N wypisanie sumy dla katalogu (albo pliku - z --all) tylko jeżeli jest N lub mniej poziomów poniżej argumentu polecenia; --max-depth=0 jest równoważne --summarize � -C wypisanie plików w kolumnach --color[=GDY] kolorowanie informacji. GDY to domyslnie „always†(zawsze), może być też „never†(nigdy), albo „auto†(automatyczne) -d, --directory pokazanie katalogów zamiast ich zawartoÅ›ci, bez rozwiÄ…zywania dowiÄ…zaÅ„ symbolicznych -D, --dired dane wyjÅ›ciowe dla trybu dired Emacsa � -D tworzenie wszystkich części skÅ‚adowych CELU, oprócz ostatniej, potem skopiowanie ŹRÓDÅA do CELU -g, --group=GRUPA ustawienie GRUPY zamiast bieżącej grupy -m, --mode=UPRAWNIENIA ustawienie UPRAWNIEŃ (jak w chmod) zamiast rwxr-xr-x -o, --owner=WÅAÅšCICIEL ustawienie WÅAÅšCICIELA (tylko super-user) � -D, --all-repeated[=metoda-oddzielenia] wypisanie wszystkich powtarzajÄ…cych siÄ™ linii. metoda-oddzielenia={none(domyÅ›lna),prepend,separate} (żadna, przed, pomiÄ™dzy). Do oddzielania używane sÄ… puste linie. -f, --skip-fields=N bez porównania pierwszych N pól -i, --ignore-case ignorowanie różnic miÄ™dzy maÅ‚ymi i wielkimi literami -s, --skip-chars=N bez porównania pierwszych N znaków -u, --unique wypisanie tylko linii unikalnych -z, --zero-terminated na koÅ„cach linii bajty 0, nie znak nowej linii � -D, --date-format=FORMAT FORMAT daty w nagłówku -e[ZNAK[SZER]], --expand-tabs[=ZNAK[SZER]] rozwijanie ZNAKÓW wejÅ›ciowych (TABów) do tej SZERokoÅ›ci (8) -F, -f, --form-feed do odzielania stron bÄ™dzie użyty znak nowej strony zamiast znaku nowej linii (przez 3-liniowy nagłówek strony z -F lub 5-liniowy nagłówek i stopkÄ™ bez -F) � -G, --no-group bez pokazania informacji o grupach -h, --human-readable z opcjÄ… -l podaje rozmiary w formacie czytelnym dla ludzi (np. 1K 234M 2G) --si podobnie, ale z użyciem potÄ™g 1000, nie 1024 � -H, --dereference-command-line rozwiÄ…zywanie dowiÄ…zaÅ„ symbolicznych podanych jako argumenty --dereference-command-line-symlink-to-dir rozwiÄ…zywanie dowiÄ…zaÅ„ symbolicznych podanych jako argumenty jeżeli wskazujÄ… na katalogi --hide=WZÓR bez wypisywania nazw pasujÄ…cych do WZORU (wyłączane przez -a albo -A) � -I pojedyncze pytanie przez usuniÄ™ciem wiÄ™cej niż trzech plików przy usuwaniu rekursywnym. Mniej przeszkadzajÄ…ce niż -i, ale nadal zabezpieczajÄ…ce przed wiÄ™kszoÅ›ciÄ… błędów --interactive[=KIEDY] pytania zależnie od KIEDY: never (nigdy), once (raz, -I) albo always (zawsze, -i). Bez KIEDY zawsze jest zadawane pytanie � -L PLIK PLIK istnieje i jest dowiÄ…zaniem symbolicznym (to samo co -h) -O PLIK PLIK istnieje i jego wÅ‚aÅ›cicielem jest efektywny użytkownik -p PLIK PLIK istnieje i jest potokiem z nazwÄ… (named pipe) -r PLIK PLIK istnieje i może być czytany -s PLIK PLIK istnieje i ma dÅ‚ugość wiÄ™kszÄ… od zera �Pokazanie danych pliku albo systemu plików -L, --dereference podążanie za dowiÄ…zaniami symbolicznymi -f, --file-system pokazanie danych systemu plików, a nie pliku � -L, --logical użycie katalogu ze zmiennej Å›rodowiskowej, nawet jeżeli zawiera dowiÄ…zania symboliczne -P, --physical unikanie dowiÄ…zaÅ„ symbolicznych � -M, --macro-name=NAZWA NAZWA makra używanego zamiast 'xx' -O, --format=roff wyjÅ›cie w postaci dyrektyw roff-a -R, --right-side-refs umieszczenie odnoÅ›ników po prawej, nie liczone w -w -S, --sentence-regexp=REGEXP REGEXP dla okreÅ›lenia koÅ„ców linii lub zdaÅ„ -T, --format=tex generowanie wyjÅ›cia w postaci dyrektyw TeX-a � -N, --read-bytes=BAJTY ograniczenie wielkoÅ›ci do BAJTÓW -S BAJTY, --strings[=BAJTY] wypisanie przynajmniej tylu BAJTÓW znaków graficznych. Trzech, jeżeli nie jest podana liczba BAJTÓW. -t, --format=TYP wybranie formatu/formatów danych wyjÅ›ciowych -v, --output-duplicates bez używania * do zaznaczania powtórzonych linii -w, --width[=BAJTY] wypisanie tylu BAJTÓW w każdej linii wyjÅ›ciowej. Jeżeli liczba BAJTÓW jest pominiÄ™ta: 32 --traditional akceptowanie argumentów w tradycyjnym formacie � -P, --no-dereference bez rozwijania dowiÄ…zaÅ„ symbolicznych (domyÅ›lnie) -S, --separate-dirs bez uwzglÄ™dniania rozmiarów podkatalogów --si jak -h, ale z użyciem potÄ™g 1000 nie 1024 -s, --summarize wypisanie tylko podsumowaÅ„ dla każdego argumentu � -R, --recursive zmiany też w katalogach i plikach w podkatalogach � -R, --recursive zmiany też w plikach w podkatalogach � -R, -r, --recursive rekursywnie kopiowanie podkatalogów --reflink ustawienia kopiowania CoW/clone. Zobacz poniżej. --remove-destination usuniÄ™cie każdego istniejÄ…cego pliku docelowego przed próbÄ… jego otwarcia (por. z --force) � -S sortowanie wedÅ‚ug rozmiaru --sort=SÅOWO sortowanie wg SÅOWA zamiast wg nazw: none -U (wcale), extension -X (rozszerzenia), size -S (rozmiaru), time -t (czasu), version -v (wersji) --time=SÅOWO z opcjÄ… -l: pokazanie czasu okreÅ›lonego SÅOWEM, a nie czasu modyfikacji: czas odczytu - atime, access, use - -u, czas zmiany informacji o pliku - ctime, status - -c; użycie podanego czasu do sortowania gdy podano --sort=time � -S PLIK PLIK istnieje i jest gniazdem -t DP deskryptor pliku DP jest otwarty na terminalu -u PLIK PLIK istnieje i ma atrybut set-user-id -w PLIK PLIK istnieje i może być zapisywany -x PLIK PLIK istnieje i jest wykonywalny albo przeszukiwalny � -S, --suffix=ROZSZERZENIE zmiana domyÅ›lnego ROZSZERZENIA kopii zapasowej -t, --target-directory=KATALOG podanie KATALOGU, w którym majÄ… być tworzone dowiÄ…zania -T, --no-target-directory traktowanie NAZWY_DOWIAZANIA zawsze jak zwykÅ‚ego pliku -v, --verbose wypisanie nazw plików przed dowiÄ…zaniem � -S[STRING], --sep-string[=STRING] oddzielenie kolumn przez NAPIS, bez -S: z opcjÄ… -J domyÅ›lny separator to TAB, bez -J - spacja (to samo co -S" "), nie wpÅ‚ywa na opcje dotyczÄ…ce kolumn -t, --omit-header bez wypisywania nagłówków i stopek stron � -T, --omit-pagination bez wypisywania nagłówków i stopek stron, wyłączenie formatowania stron przez znaki nowej strony w plikach wejÅ›ciowych -v, --show-nonprinting użycie zapisu ósemkowego z backslashem -w, --width=SZEROKOŚĆ_STRONY ustawienie SZEROKOÅšCI_STRONY w kolumnach (72), tylko dla wydruku wielokolumnowego, -s[ZNAK] wyłącza wartość domyÅ›lnÄ… (72) � -T, -w, --mesg zaznaczenie czy użytkownik przyjmuje komunikaty: +, - lub ? -u, --users wypisanie zalogowanych użytkowników --message to samo co -T --writable to samo co -T � -W, --page-width=SZEROKOŚĆ_STRONY ustawienie szerokoÅ›ci strony zawsze do SZEROKOÅšCI_STRONY (72), obcinanie linii, chyba że jest użyta opcja -J; nie przeszkadza opcjom -S ani -s. � -W, --word-regexp=REGEXP użycie REGEXPa do rozpoznawania słów kluczowych -b, --break-file=PLIK znaki rozdzielajÄ…ce sÅ‚owa sÄ… w tym PLIKU -f, --ignore-case traktowanie maÅ‚ych liter jak wielkich przy sortowaniu -g, --gap-size=LICZBA odstÄ™p w kolumnach miÄ™dzy polami wyjÅ›ciowymi -i, --ignore-file=PLIK czytanie listy ignorowanych słów z PLIKU -o, --only-file=FILE uwzglÄ™dnienie tylko słów z PLIKU � -X --exclude-from=PLIK pominiÄ™cie plików pasujÄ…cych do wzorców w PLIKU --exclude=WZÓR pominiÄ™cie plików pasujÄ…cych do WZORU -x, --one-file-system ominiÄ™cie katalogów bÄ™dÄ…cych w innych systemach plików � -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinux dla NAZWY jako KONT � -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinux dla każdej NAZWY jako KONT � -a zmiana tylko czasu dostÄ™pu -c, --no-create bez tworzenia nowych plików -d, --date=SPECYFIKACJA użycie SPECYFIKACJI zamiast bieżącego czasu -f (ignorowane) � -a, --across kolejne linie bÄ™dÄ… wypisane w kolejnych kolumnach, nie po kolei od góry do doÅ‚u; używa siÄ™ razem z -KOLUMNY -c, --show-control-chars użycie zapisu z daszkiem (np. ^G) i ósemkowych numerów znaków z backslashem -d, --double-space podwójny odstÄ™p na wyjÅ›ciu � -a, --all bez ukrywania plików zaczynajÄ…cych siÄ™ od . -A, --almost-all bez pokazywania . ani .. --author z -l: wypisanie autora każdego pliku -b, --escape wypisanie znaków niegraficznych ósemkowo (w stylu jÄ™zyka C, np. \012) � -a, --all pokazanie też specjalnych systemów plików -B, --block-size=ROZMIAR Skala rozmiarów, np. „-BM†powoduje wypisanie rozmiarów w jednostkach po 1048576 bajtów. Zobacz infomacje o formacie ROZMIARÓW poniżej. --total wypisanie podsumowania caÅ‚oÅ›ci -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K 234M 2G) -H, --si podobnie, ale z użyciem potÄ™g 1000, nie 1024 � -a, --all wyÅ›wietlenie wszystkich aktualnych ustawieÅ„ w postaci czytelnej dla czÅ‚owieka -g, --save wyÅ›wietlenie wszystkich aktualnych ustawieÅ„ w formacie czytelnym dla stty -F, --file=URZÄ„DZENIE otwarcie i używanie podanego URZÄ„DZENIA zamiast standardowego wejÅ›cia � -a, --all zamiana wszystkich odstÄ™pów, nie tylko poczÄ…tkowych --first-only zamiana tylko poczÄ…tkowych odstÄ™pów (wyłącza -a) -t, --tabs=N kolejne TABy co N znaków zamiast 8 (włącza -a) -t, --tabs=LISTA użycie oddzielanej przecinkami LISTY pozycji TABów (włącza -a) � -a, --archive to samo co -dR --preserve=all --attributes-only bez kopiowania danych, same atrybuty --backup[=TRYB] robienie kopii zapasowej każdego istniejÄ…cego pliku docelowego -b jak --backup, ale bez podawania argumentu --copy-contents kopiowanie zawartoÅ›ci pliku specjalnego w przypadku rekursji -d to samo co --no-dereference --preserve=links � -a, --multiple traktowanie każdego z wielu argumentów jako NAZWY -s, --suffix=PRZYROSTEK usuniÄ™cie PRZYROSTKA z koÅ„ca -z, --zero oddzielanie danych wyjÅ›ciowych znakiem NUL, a nie znakiem nowej linii � -a, --suffix-length=N tworzenie przyrostków o dÅ‚ugoÅ›ci N (domyÅ›lnie %d) --additional-suffix=PRZYROSTEK dodatkowy PRZYROSTEK nazm plików -b, --bytes=ROZMIAR zapisanie po ROZMIAR bajtów do plików wyjÅ›ciowych -C, --line-bytes=ROZMIAR zapisanie najwyżej ROZMIAR bajtów peÅ‚nych linii -d, --numeric-suffixes[=OD] użycie przyrostków liczbowych zamiast literowych, OD zmienia wartość poczÄ…tkowÄ… (domyÅ›lnie 0) -e, --elide-empty-files nie generowanie pustych plików przy opcji „-n†--filter=POLECENIE pisanie do POLECENIA powÅ‚oki; nazwa pliku to $FILE -l, --lines=ILE zapis po ILE linii do każdego pliku wyjÅ›ciowego -n, --number=CZĘŚCI podzielenie na tyle CZĘŚCI. Zob. poniżej -u, --unbuffered natychmiastowe kopiowanie wejÅ›cia na wyjÅ›cie po użyciu „-n r/...†� -b, --before dołączenie separatora przed zamiast po -r, --regex interpretowanie separatora jako wyr. regularnego -s, --separator=NAPIS użycie NAPISU jako separatora zamiast nowej linii � -b, --binary czytanie w trybie binarnym. � -b, --binary czytanie plików w trybie binarnym (domyÅ›lne jeżeli nie jest czytane tty przez standardowe wejÅ›cie) � -b, --body-numbering=STYL użycie STYLU do numerowania linii treÅ›ci -d, --section-delimiter=CC użycie CC do oddzielania stron logicznych -f, --footer-numbering=STYL użycie STYLU do numerowania linii stopek � -b, --bytes liczenie bajtów zamiast kolumn -s, --spaces Å‚amanie na spacjach -w, --width=SZER użycie SZER kolumn zamiast 80 � -b, --bytes=LISTA wypisanie tylko tych bajtów -c, --characters=LISTA wypisanie tylko tych znaków -d, --delimiter=OGRANICZNIK użycie OGRANICZNIKA zamiast TABa jako separatora � -b, --ignore-leading-blanks zignorowanie poczÄ…tkowych spacji -d, --dictionary-order branie pod uwagÄ™ tylko znaków odstÄ™pu i alfanumerycznych -f, --ignore-case traktowanie maÅ‚ych liter jak wielkich � -b, --suffix-format=FORMAT użycie FORMATU sprintf zamiast %02d -f, --prefix=PRZEDROSTEK użycie PRZEDROSTKA zamiast 'xx' -k, --keep-files bez kasowania plików wyjÅ›ciowych w razie błędów � -c --format=FORMAT użycie podanego FORMATU zamiast domyÅ›lnego; po użyciu każdego nowego FORMATU wypisywany jest znak nowej linii --printf=FORMAT jak --format, ale z interpretacjÄ… sekwencji z ukoÅ›nikiem odwrotnym i bez wypisywania znaku nowej linii. Å»eby go wypisać użyj \n w FORMACIE. -t, --terse wypisywanie informacji w skróconej formie � -c, --bytes=N wypisanie ostatnich N bajtów; alternatywnie użyj -c +K aby wypisać od N-tego bajtu z każdego z plików � -c, --bytes=[-]ILE wypisanie pierwszych ILE bajtów z każdego pliku; ILE z „-†na poczÄ…tku - wypisanie wszystkich oprócz ostatnich ILE bajtów każdego pliku -n, --lines=[-]ILE wypisanie pierwszych ILE linii zamiast 10 ILE z „-†na poczÄ…tku - wypisanie wszystkich oprócz ostatnich ILE linii każdego pliku � -c, --changes jak verbose, ale informowanie tylko gdy zaszÅ‚a zmiana -f, --silent, --quiet wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach -v, --verbose wypisanie informacji o każdym przetwarzanym pliku � -c, --check sprawdzanie sum %s zapisanych w PLIKACH � -c, --check, --check=diagnose-first sprawdzenie czy dane sÄ… posortowane, ale bez sortowania -C, --check=quiet, --check=silent jak -c, ale bez informowania o pierwszej zÅ‚ej linii --compress-program=PROG kompresowanie plików tymczasowych przez PROG; dekompresowanie przez PROG -d � -c, --count poprzedzenie linii liczbÄ… powtórzeÅ„ -d, --repeated wypisanie tylko powtórzonych linii � -c, --crown-margin zachowanie wcięć w pierwszych dwóch liniach -p, --prefix=ZNAKI przeformatowanie tylko linii majÄ…cych przedrostek ZNAKI, dołączenie ZNAKÓW do przeformatowych linii -s, --split-only podzielenie dÅ‚ugich linii, ale bez wyrównania � -c, --no-create bez tworzenia nowych plików � -d, --date=SPECYFIKACJA wypisanie czasu podanego przez SPECYFIKACJĘ, nie bieżącego (now) -f, --file=PLIKDAT jak --date, dla każdej linii PLIKUDAT -I[SPECYF_CZASU], --iso-8601[=SPECYF_CZASU] wypisani daty/czasu w formacie ISO 8601. SPECYF_CZASU=date dla podania samej daty (tryb domyÅ›lny), „hours†(godziny), „minutesâ€, „seconds†albo „ns†dla podania daty i czasu z pożądanÄ… dokÅ‚adnoÅ›ciÄ…. � -d, --decode rozkodowanie danych -i, --ignore-garbage zignorowanie znaków niealfabetycznych przy dekodowaniu -w, --wrap=KOLUMNY zawijanie zakodowanych linii po KOLUMNACH (domyÅ›lnie 76), 0 wyłącza zawijanie � -d, --delimiter=X użycie X zamiast spacji jako separatora pól � -d, --delimiters=LISTA użycie kolejnych znaków z LISTY zamiast TABów -s, --serial przepisanie plików po kolei zamiast równolegle � -d, --directory utworzenie katalogu, nie pliku -u, --dry-run bez tworzenia pliku/katalogu, tylko wypisanie nazwy (niebezpieczne) -q, --quiet wyłączenie komunikatów o błędach tworzenia plików/katalogów � -e włączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym -E wyłączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym (domyÅ›lnie) � -e włączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym (domyÅ›lnie) -E wyłączenie interpretacji sekwencji z ukoÅ›nikiem odwrotnym � -e, --canonicalize-existing wszystkie elementy Å›cieżki musza istnieć -m, --canonicalize-missing elementy Å›cieżki nie muszÄ… istnieć -L, --logical rozwiniÄ™cie elementów „..†przed dowiÄ…zaniami symbolicznymi -P, --physical rozwiniÄ™cie dowiÄ…zaÅ„ symbolicznych w kolejnoÅ›ci napotkania (zachowanie domyÅ›lne) -q, --quiet wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach --relative-to=PLIK wypisanie rozwiniÄ™tych Å›cieżek wzglÄ™dem PLIKU --relative-base=PLIK wypisanie Å›cieżek bezwzglÄ™dnych, chyba że sÄ… poniżej Å›cieżki PLIKU -s, --strip, --no-symlinks bez rozwijania dowiÄ…zaÅ„ symbolicznych -z, --zero separatorem wyjÅ›cia ma być NUL, nie znak nowej linii � -e, --echo traktowanie każdego argumentu jako linii wejÅ›ciowej -i, --input-range=LO-HI traktowanie każdej liczby od LO do HI jako linii wejÅ›ciowej -n, --head-lines=LICZBA najwyżej taka LICZBA linii bÄ™dzie zapisana na wyjÅ›ciu -o, --output=PLIK zapis wyników do PLIKU zamiast do standardowego wyjÅ›cia --random-source=PLIK pobranie losowych bajtów z PLIKU -z, --zero-terminated zakoÅ„czenie linii przez bajt 0, nie przez znak nowej linii � -f bez sortowania, włączenie -aU, wyłączenie -lst -F, --classify dopisanie znaków wskazujÄ…cych typ każdego elementu (jednego z */=>@|) --file-type podobnie, ale oprócz „*†--format=SÅOWO across (poziomo), odpowiada opcji -x, commas (oddzielone przecinkami) -m, horizontal (poziomo) -x, long (dÅ‚ugi, z dodatkowymi informacjami) -l, single-column (w jednej kolumnie) -1, verbose (dÅ‚ugi, z dodatkowymi informacjami) -l, vertical (pionowy, w kolumnach) -C --full-time jak -l --time-style=full-iso � -f pominiÄ™cie nagłówków kolumn w formacie skróconym -w pominiÄ™cie nazwiska użytkownika w formacie skróconym -i pominiÄ™cie nazwiska i zdalnego systemu w formacie skróconym -q pominiÄ™cie nazwiska, zdalnego system oraz czasu bezczynnoÅ›ci w formacie skróconym � -f to samo co -t fF, zmiennoprzecinkowo float -i to samo co -t dI, dziesiÄ™tnie integer -l to samo co -t dL, dziesiÄ™tnie long -o to samo co -t o2, ósemkowo 2-bajtowo -s to samo co -t d2, dziesiÄ™tnie 2-bajtowo -x to samo co -t x2, szesnastkowo 2-bajtowo � -f PLIK PLIK istnieje i jest zwykÅ‚ym plikiem -g PLIK PLIK istnieje i ma atrybut set-group-id -G PLIK PLIK istnieje i jego wÅ‚aÅ›cicielem jest efektywna grupa -h PLIK PLIK istnieje i jest dowiÄ…zaniem symbolicznym (to samo co -L) -k PLIK PLIK istnieje i ma ustawiony bit ochrony (sticky bit) � -f, --canonicalize doprowadzenie do postaci kanonicznej przez rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„ symbolicznych we wszystkich skÅ‚adnikach danej nazwy; muszÄ… istnieć wszystkie skÅ‚adniki oprócz ostatniego -e, --canonicalize-existing doprowadzenie do postaci kanonicznej przez rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„ symbolicznych we wszystkich skÅ‚adnikach danej nazwy; muszÄ… istnieć wszystkie skÅ‚adniki � -f, --fields=LISTA wypisanie tylko tych pól oraz linii, które nie zawierajÄ… znaku ogranicznika, chyba że podana jest opcja -s -n (ignorowane) � -f, --follow[={name|descriptor}] wypisywanie nowych danych kiedy plik roÅ›nie; -f, --follow i --follow=descriptor sÄ… równoważne -F to samo co --follow=name --retry � -f, --force jeżeli istniejÄ…cy plik docelowy nie daje siÄ™ otworzyć, bÄ™dzie skasowany i otwierany ponownie (ignorowane jeżeli użyta jest też opcja -n) -i, --interactive pytanie przed zamazaniem (wyłącza opcjÄ™ -n) -H podążanie za dowiÄ…zaniami symbolicznymi w ŹRÓDLE podanymi jako argumenty polecenia � -f, --force zmiana uprawnieÅ„ w razie potrzeby, żeby pozwolić na zapis -n, --iterations=N zamazanie N razy zamiast domyÅ›lnych %d razy --random-source=PLIK pobranie losowych bajtów z PLIKU -s, --size=N zamazanie N bajtów (można używać przyrostków takich jak K, M, G) � -f, --format=FORMAT użycie FORMATU w stylu zmiennoprzecinkowego formatu funkcji printf -s, --separator=NAPIS rozdzielenie liczb NAPISEM (domyÅ›lnie: \n) -w, --equal-width wypeÅ‚nienie zerami do równej szerokoÅ›ci � -g jak -l, ale nie pokazuje wÅ‚aÅ›ciciela � -g GID[,GID1...] również ustawienie identyfikatora grupy głównej zgodnie z numerycznym GID, a identyfikatorów dodatkowych grup - jeżeli podane - jako GID1, ... � -g, --general-numeric-sort porównywanie wedÅ‚ug wartoÅ›ci liczbowej -i, --ignore-nonprinting branie pod uwagÄ™ tylko znaków drukowalnych -M, --month-sort porzÄ…dek: (nieznany) < „JAN†< ... < „DEC†� -h, --header-numbering=STYL użycie STYLU do numeracji linii nagłówka -i, --page-increment=ILE przyrost numeracji linii dla każdej linii -l, --join-blank-lines=ILE grupa ILU pustych linii liczona jako jedna -n, --number-format=FORMAT dopisanie numerów linii zgodnie z FORMATEM -p, --no-renumber bez zerowania numeracji na poczÄ…tkach stron logicznych -s, --number-separator=NAPIS dodanie NAPISU po ewentualnym numerze linii � -h, --header=NAGÅÓWEK użycie wycentrowanego NAGÅÓWKA zamiast nazwy pliku w nagłówkach, -h "" drukuje pustÄ… linie, nie używaj -h"" -i[ZNAK[SZER]], --output-tabs[=ZNAK[SZER]] zamiana spacji na ZNAKI (TABy) do tej SZEROKOÅšCI (8) -J, --join-lines połączenie peÅ‚nych linii, wyłącza obcinanie linii przez -W, bez wyrównania kolumn, -sep-string[-NAPIS] ustawia separatory � -h, --human-numeric-sort porównanie liczb z przyrostkami (np. 2K 1G) � -h, --no-dereference operowanie na dowiÄ…zaniach symbolicznych zamiast na wskazywanych plikach (tylko dla systemów, które umiejÄ… zmienić wÅ‚aÅ›ciciela dowiÄ…zania symbolicznego) -m zmiana tylko czasu modyfikacji � -i, --ignore-case porównujÄ…c pola ignoruje różnice miÄ™dzy maÅ‚ymi i wielkimi literami -j POLE równoważne „-j 1 POLE -j 2 POLE†-o FORMAT zachowanie FORMATU przy tworzeniu linii wyjÅ›ciowej -t ZNAK użycie ZNAKU jako separatora pól linii wej. i wyj. � -i, --ignore-environment zaczÄ™cie z pustym Å›rodowiskiem -0, --null każda linia wyjÅ›ciowa zakoÅ„czona bajtem 0, a nie znakiem nowej linii -u, --unset=NAZWA usuniÄ™cie zmiennej ze Å›rodowiska � -i, --initial bez zamiany znaków tabulacji po znaku innym niż odstÄ™p -t, --tabs=ILE użycie znaków tabulacji co ILE znaków, nie co 8 � -i, --inodes wypisanie informacji o i-wÄ™zÅ‚ach zamiast o blokach -k jak --block-size=1K -l, --local ograniczenie spisu do lokalnych systemów plików --no-sync bez wywoÅ‚ania sync przed pobraniem informacji o systemach plików (domyÅ›lnie) � -i, --input=TRYB modyfikacja buforowania standardowego wejÅ›cia -o, --output=TRYB modyfikacja buforowania standardowego wyjÅ›cia -e, --error=TRYB modyfikacja buforowania standardowego wyjÅ›cia błędu � -i, --interactive program pyta czy usunąć CELE -L, --logical użyj CELÓW, które sÄ… dowiÄ…zaniami symbolicznymi -n, --no-dereference jeżeli NAZWA_DOWIÄ„ZANIA jest dowiÄ…zaniem symbolicznym do katalogu, traktowany jest jak zwykÅ‚y plik -r, --relative tworzenie dowiÄ…zaÅ„ symbolicznych wzglÄ™dem ich poÅ‚ożenia -s, --symbolic tworzenie dowiÄ…zaÅ„ symbolicznych zamiast zwykÅ‚ych � -k, --kilobytes to samo co --block-size=1K -L, --dereference rozwiniÄ™cie wszystkich dowiÄ…zaÅ„ symbolicznych -l, --count-links liczenie rozmiaru wielokrotnie jeżeli plik ma dowiÄ…zania zwykÅ‚e -m jak dla --block-size=1M � -k, --key=KLUCZ sortowanie wg KLUCZA okreÅ›lajÄ…cego pola i typ -m, --merge połączenie już posortowanych plików, bez sortowania � -l użycie dÅ‚ugiego formatu wyjÅ›ciowego -L, --dereference pokazanie informacji o pliku wskazywanym przez dowiÄ…zanie symboliczne zamiast informacji o samym dowiÄ…zaniu -m pisanie do peÅ‚nej szerokoÅ›ci, oddzielanie przecinkami � -l, --length=DÅUGOŚĆ_STRONY ustawienie takiej DÅUGOÅšCI_STRONY w liniach (66) (domyÅ›lna liczba linii tekstu: 56; dla -F 63) -m, --merge wypisanie wszystkich plików równolegle, każdy w jednej kolumnie, linie sÄ… obcinane, ale linie o peÅ‚nej dÅ‚ugoÅ›ci sÄ… łączone przez -J � -l, --link dowiÄ…zania zwykÅ‚e zamiast kopiowania -L, --dereference podążanie za wszystkimi dowiÄ…zaniami symbolicznymi w ŹRÓDLE � -l, --login wypisanie systemowych procesów login � -m, --canonicalize-missing doprowadzenie do postaci kanonicznej przez rekursywne rozwiÄ…zanie wszystkich dowiÄ…zaÅ„ symbolicznych we wszystkich skÅ‚adnikach danej nazwy; skÅ‚adniki nie muszÄ… istnieć -n, --no-newline bez wypisania koÅ„cowego znaku nowej linii -q, --quiet, -s, --silent wyłączenie wiÄ™kszoÅ›ci komunikatów o błędach -v, --verbose wypisywanie komunikatów o błędach -z, --zero zakoÅ„czenie linii wyjÅ›ciowych znakiem NUL zamiast znakiem nowej linii � -m, --mode=UPRAWN ustawienie UPRAWNIEŃ zamiast a=rw - umask � -m, --mode=UPRAWN ustawienie uprawnieÅ„ (jak w chmod), nie a=rwx - umask -p, --parents bez błędu gdy istnieje, utworzenie caÅ‚ej Å›cieżki katalogów -v, --verbose wypisanie komunikatu o każdym utworzonym katalogu -Z, --context=KONT ustawienie kontekstu bezpieczeÅ„stwa SELinuksa dla każdego tworzonego katalogu � -n, --adjustment=N dodanie N do priorytetu (domyÅ›lnie 10) � -n, --digits=CYFRY użycie podanej liczby CYFR zamiast dwóch -s, --quiet, --silent bez podawania liczby bajtów w plikach wyjÅ›ciowych -z, --elide-empty-files usuniÄ™cie pustych plików wyjÅ›ciowych � -n, --lines=K wypisanie ostatnich K linii zamiast ostatnich %d albo użyj -n +K dla wypisania linii od N-tej --max-unchanged-stats=N z --follow=name powoduje ponowne otwieranie PLIKU, który nie zmieniÅ‚ rozmiaru po N (domyÅ›lnie %d) iteracjach, dla sprawdzenia czy zostaÅ‚ usuniÄ™ty albo przemianowany (czÄ™sty przypadek dla logów) Ta opcja jest rzadko przydatna jeżeli dostÄ™pne jest inotify � -n, --no-clobber bez nadpisywania istniejÄ…cych plików (wyłącza opcjÄ™ -i) -P, --no-dereference bez podążania za dowiÄ…zaniami symbolicznymi w ŹRÓDLE � -n, --numeric-sort porównywanie wedÅ‚ug wartoÅ›ci liczbowych napisów -R, --random-sort sortowanie wg losowego skrótu kluczy --random-source=PLIK losowe bajty z PLIKU -r, --reverse odwrotny porzÄ…dek sortowania � -n, --numeric-uid-gid jak -l, ale pokazanie UID i GID liczbowo -N, --literal wypisanie nazwy dokÅ‚adnie (bez specjalnego traktowania np. znaków sterujÄ…cych) -o jak -l, ale bez informacji o grupie -p, --indicator-style=slash dodanie / do nazw katalogów � -n[SEP[CYFRY]], --number-lines[=SEP[CYFRY]] numerowanie linii tyloma CYFRAMI (5), potem SEPARATOREM (TAB), domyÅ›lnie liczone od pierwszej linii pliku wejÅ›ciowego -N, --first-line-number=LICZBA poczÄ…tek liczenia od LICZBY przy pierwszej linii pierwszej drukowanej strony (zob. +PIERWSZA_STRONA) � -o, --indent=MARGINES PrzesuniÄ™cie każdej linii o MARGINES (zero) spacji, nie wpÅ‚ywa na -w ani -W, MARGINES zostanie dodany do SZEROKOÅšCI_STRONY -r, --no-file-warnings bez ostrzeżeÅ„ kiedy plik nie może być otwarty � -o, --io-blocks ROZMIAR traktowany jako liczba bloków, nie bajtów � -o, --output=PLIK zapisanie wyniku w PLIKU zamiast na standardowym wyjÅ›ciu -s, --stable stabilizacja sortowania przez zablokowanie porównania koÅ„cowego -S, --buffer-size=ROZM ROZMIAR głównego bufora pamiÄ™ci � -p to samo co --preserve=mode,ownership,timestamps --preserve[=LISTA_ATR] zachowanie podanych atrybutów (domyÅ›lnie: mode (uprawnienia), ownership (wÅ‚aÅ›ciciel, grupa), timestamps (czasy)); jeżeli możliwe, to również dodatkowych atrybutów: context, links (dowiÄ…zania), xattr (rozszerzone atrybuty), all (wszystkie) � -p KATALOG użycie KATALOGU jako przedrostka, włącza opcjÄ™ -t [przestarzałą] -t interpretowanie WZORCA jako nazwy podanej wzglÄ™dem katalogu $TMPDIR, a jeżeli nie jest ustawiony, katalogu podanego przez opcjÄ™ -p, w innym przypadku - /tmp [przestarzaÅ‚e] � -p, --parents usuniÄ™cie KATALOGU, potem próba usuniÄ™cia każdego katalogu nadrzÄ™dnego tej Å›cieżki. Np. „rmdir -p a/b/c†jest podobne do „rmdir a/b/c a/b aâ€. -v, --verbose informacja diagnostyczna o każdym przetworzonym katalogu � -p, --preserve-timestamps ustawienie plikom docelowym czasów dostÄ™pu i modyfikacji, jak w odpowiednich plikach ŹRÓDÅOWYCH -s, --strip skasowanie tablicy symboli --strip-program=PROGRAM program do kasowania tablicy symboli -S, --suffix=ROZSZERZ zmiana domyÅ›lnego ROZSZERZENIA kopii zapasowej -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEÅ do KATALOGU -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku -v, --verbose wypisanie nazwy każdego tworzonego katalogu � -q, --count wszystkie nazwy i liczba zalogowanych użytkowników -r, --runlevel bieżący runlevel -s, --short wypisanie tylko użytkownika, terminala i czasu (domyÅ›lnie) -t, --time podanie ostatniej zmiany zegara systemowego � -q, --hide-control-chars pisanie ? zamiast znaków sterujÄ…cych --show-control-chars pokazanie znaków niedrukowalnych (domyÅ›lnie, chyba że program nazywa siÄ™ „ls†i pisze na terminalu) -Q, --quote-name ujÄ™cie nazw w cudzysÅ‚owy --quoting-style=SÅOWO zabezpieczenie znaków specjalnych w stylu SÅOWO: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików -v, --verbose zawsze wypisywane sÄ… nagłówki z nazwami plików � -r, --reference=PLIK wyÅ›wietla czas ostatniej modyfikacji PLIKU -R, --rfc-822 wypisuje datÄ™ i czas zgodnie z RFC 2822 � -r, --reference=PLIK użycie czasu tego PLIKU zamiast czasu bieżącego -t CZAS użycie [[CC]YY]MMDDhhmm[.ss] zamiast bieżącego czasu --time=SÅOWO ustawienie czasu wg SÅOWA: access atime use (czas dostÄ™pu, to samo co -a), modify mtime (czas modyfikacji, to samo co -m) � -r, --reference=PLIKODN użycie rozmiaru tego PLIKU ODNIESIENIA -s, --size=ROZMIAR użycie tego ROZMIARU � -r, --references pierwsze pole każdej linii jest odnoÅ›nikiem -t, --typeset-mode - nie zaimplementowane - -w, --width=NUMBER szerokość wyjÅ›cia w kolumnach, bez odnoÅ›ników � -r, --reverse odwrotny porzÄ…dek sortowania -R, --recursive rekursywne listowanie katalogów -s, --size wypisanie liczby bloków zajÄ™tych przez każdy plik � -s, --only-delimited bez wypisywania linii nie zawierajÄ…cych ogranicznika --output-delimiter=NAPIS użycie NAPISU jako separatora danych wyjÅ›ciowych, domyÅ›lnie używany jest separator danych wejÅ›ciowych � -s, --signal=SYGNAÅ, -SYGNAÅ nazwa albo numer SYGNAÅU do wysÅ‚ania -l, --list lista nazw sygnałów albo konwersja nazw na/z numery -t, --table tablica informacji o sygnaÅ‚ach � -s, --sleep-interval=N z -f - odczekanie po N sekund (domyÅ›lnie 1,0 s) miÄ™dzy iteracjami Z inotify i --pid=P - sprawdzanie procesu P co najmniej co N sekund. -v, --verbose wypisywanie zawsze nagłówków z nazwami plików � -s, --symbolic-link dowiÄ…zywanie symboliczne zamiast kopiowania -S, --suffix=ROZSZERZENIE zmiana domyÅ›lnego ROZSZERZ. kopii zapasowej -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEÅ do KATALOGU -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku � -s[ZNAK], --separator[=ZNAK] oddzielanie kolumn pojedynczym ZNAKIEM, domyÅ›lnie TABem, jeżeli bez opcji -w, „no char†z opcjÄ… -w -s[ZNAK] wyłącza obcinanie linii we wszystkich 3 ukÅ‚adach kolumn (-COLUMN|-a -COLUMN|-m), chyba że użyto opcji -w � -t sortowanie wg czasu modyfikacji, najnowsze na poczÄ…tku -T, --tabsize=KOLUMNA TAB co tyle KOLUMN, zamiast co 8 � -t równoważne -vT -T, --show-tabs wypisanie znaków TAB jako ^I -u (ignorowane) -v, --show-nonprinting użycie zapisu ^ i M-, oprócz LFD i TAB � -t, --field-separator=SEP użycie SEPARATORA zamiast przejÅ›cia odstÄ™p - nie-odstÄ™p -T, --temporary-directory=KATALOG użycie KATALOGU na pliki tymczasowe zamiast $TMPDIR lub %s; opcja użyta wiÄ™cej razy definiuje wiÄ™cej katalogów --parallel=N zmiana liczby równolegÅ‚ych sortowaÅ„ na N -u, --unique z -c: sprawdzenie uporzÄ…dkowania; bez -c: wypisanie tylko pierwszej z identycznych linii � -t, --tabs=LISTA użycie listy pozycji TABów oddzielanych przecinkami � -t, --tagged-paragraph wciÄ™cie pierwszej linii inne niż drugiej -u, --uniform-spacing jedna spacja miÄ™dzy sÅ‚owami, dwie miÄ™dzy zdaniami -w, --width=SZEROKOŚĆ maksymalna SZEROKOŚĆ linii (domyÅ›lnie 75 kolumn) -g, --goal=SZEROKOŚĆ docelowa SZEROKOŚĆ (domyÅ›lnie 93% of szerokoÅ›ci linii) � -t, --target-directory=KATALOG przeniesienie wszystkich argumentów ŹRÓDÅOWYCH do KATALOGU -T, --no-target-directory traktowanie CELU jak zwykÅ‚ego pliku -u, --update przenoszenie tylko gdy ŹRÓDÅO jest nowsze od CELU albo nie ma CELU -v, --verbose wyjaÅ›nianie co siÄ™ dzieje � -t, --text czytanie plików w trybie tekstowym (domyÅ›lne jeżeli czytane jest tty przez standardowe wejÅ›cie) � -t, --text czytanie plików w trybie tekstowym (domyÅ›lnie) � -t, --threshold=ROZMIAR wykluczenie elementów mniejszych niż ROZMIAR, jeżeli jest dodatni, albo wiÄ™kszych niż ROZMIAR, jeżeli jest ujemny --time pokazanie czasu ostatniej modyfikacji dowolnego pliku w katalogu albo dowolnego podkatalogu tego katalogu --time=SÅOWO zamiast czasu modyfikacji pokazuje czas wg SÅOWA: atime, access, use, ctime albo status --time-style=STYL pokazanie czasu w STYLU: full-iso, long-iso, iso, +FORMAT FORMAT jest interpretowany jak dla „date†� -u z -lt: sortowanie wg czasu i wypisanie czasu ostatniego dostÄ™pu; z -l: wypisanie czasu dostÄ™pu i sortowanie wg nazw; w przeciwnym przypadku: sortowanie wg czasu dostÄ™pu -U bez sortowania, wypisanie kolejnoÅ›ci jak w katalogu -v sortowanie wg liczb (numerów wersji) zawartych w nazwach plików � -u, --remove skrócenie i skasowanie pliku po zamazaniu -v, --verbose pokazywanie przebiegu zamazywania -x, --exact bez zaokrÄ…glania rozmiarów plików w górÄ™ do peÅ‚nych bloków, domyÅ›lnie dla plików innych niż zwykÅ‚e -z, --zero dodatkowe zamazanie zerami, aby ukryć zamazywanie � -u, --update kopiowanie tylko plików, dla których ŹRÓDÅO jest nowsze niż CEL albo brakuje CELU -v, --verbose wyjaÅ›nianie co siÄ™ dzieje -x, --one-file-system pozostanie w jednym systemie plików � -u, --user=UÅ»YTKOWNIK ustawienie UÅ»YTKOWNIKA w docelowym kontekscie bezpieczeÅ„stwa -r, --role=ROLA ustawienie ROLI w docelowym kontekscie bezpieczeÅ„stwa -t, --type=TYP ustawienie TYPU w docelowym kontekscie bezpieczeÅ„stwa -l, --range=ZAKRES ustawienie ZAKRESU w docelowym kontekscie bezpieczeÅ„stwa � -v NUMER jak -a NUMER, ale bez wypisania połączonych linii wyjÅ›c. -1 POLE połączenie plików na tym POLU pliku 1 -2 POLE połączenie plików na tym POLU pliku 2 --check-order sprawdzenie czy dane wejÅ›ciowe sÄ… prawidÅ‚owo posortowane, nawet jeżeli wszystkie linie mogÄ… być sparowane --nocheck-order bez sprawdzenia czy dane wejÅ›ciowe sÄ… prawidÅ‚owo posortowane --header traktowanie pierwszych linii plików jako nagłówków, bez prób ich sparowania � -v, --kernel-version pokazanie numeru wersji jÄ…dra systemu -m, --machine pokazanie nazwy sprzÄ™tu (architektury) -p, --processor pokazanie typu procesora albo "unknown" (nieznany) -i, --hardware-platform pokazanie platformy sprzÄ™towej albo "unknown" -o, --operating-system pokazanie nazwy systemu operacyjnego � -v, --starting-line-number=NUMER NUMER pierwszej linii na stronie logicznej -w, --number-width=ILE ILE kolumn na numery linii � -v, --verbose wypisanie informacji o każdym przetwarzanym pliku � -w, --check-chars=N porównanie najwyżej N znaków w liniach � -w, --width=KOLUMNY przyjÄ™cie takiej szerokoÅ›ci ekranu zamiast wartoÅ›ci bieżącej -x wypisanie nazw w kolejnych liniach, nie kolumnach -X sortowanie alfabetyczne wg rozszerzeÅ„ -Z, --context wypisanie kontekstu bezpieczeÅ„stwa SELinuksa -1 listowanie po jednym pliku w linii � -z, --zero oddzielanie danych wyjÅ›ciowych znakiem NUL zamiast znakiem nowej linii � -z, --zero-terminated zakoÅ„czenie linii bajtem 0 zamiast znakiem nowej linii � KONTEKST peÅ‚ny kontekst bezpieczeÅ„stwa -c, --compute wyliczenie przejÅ›ciowego kontekstu procesu przez zmodyfikowaniem kontekstu -t, --type=TYP typ (dla tej samej roli, w której jest proces rodzicielski) -u, --user=UÅ»YTKOWNIK identyfikacja użytkownika -r, --role=ROLA rola -l, --range=ZAKRES zakres poziomów � Plik: "%n" ID: %-8i dÅ‚ugość nazwy: %-7l typ: %T rozmiar bloku: %-10s podstawowy rozmiar bloku: %S bloków: Razem: %-10b wolnych: %-10f dostÄ™pnych: %a Inody: razem: %-10c wolnych: %d � Plik: %N rozmiar: %-10s bloków: %-10b bloki I/O: %-6o %F � Procesy w stanie nieprzrywalnego snu też wpÅ‚ywajÄ… na Å›rednie obciążenie. � [:graph:] wszystkie znaki drukowalne oprócz spacji [:lower:] wszystkie maÅ‚e litery [:print:] wszystkie znaki drukowalne włącznie ze spacjÄ… [:punct:] wszystkie znaki przestankowe [:space:] wszystkie odstÄ™py poziome i pionowe [:upper:] wszystkie wielkie litery [:xdigit:] wszystkie cyfry szesnastkowe [=ZNAK=] wszystkie znaki równoważne ZNAKOWI � \0NNN znak o kodzie ASCII wynoszÄ…cym NNN (ósemkowo, 1 do 3 cyfr) \xHH znak o kodzie ASCII wynoszÄ…cym HH (szestnastkowo, 1 do 2 cyfr) � \NNN bajt o ósemkowej wartoÅ›ci NNN (1 do 3 cyfr) \xHH bajt szesnastkowej wartoÅ›ci HH (1 do 2 cyfr) \uHHHH znak Unicode (ISO/IEC 10646) o szesnastkowej wartoÅ›ci HHHH (4 cyfry) \UHHHHHHHH znak Unicode o szesnastkowej wartoÅ›ci HHHHHHHH (8 cyfr) � \\ ukoÅ›nik odwrotny (backslash) \a dzwonek (BEL) \b znak cofania (backspace) \c zatrzymanie dalszego wyÅ›wietlania \e escape \f wysuniÄ™cie strony (FF) \n znak nowej linii \r znak powrotu karetki (CR) \t tabulator poziomy \v tabulator pionowy � \v tabulacja pionowa ZNAK1-ZNAK2 wszystkie znaki od ZNAK1 do ZNAK2, rosnÄ…co [ZNAK*] w ZBIORZE2 kopiuje ZNAK uzupeÅ‚niajÄ…c do dÅ‚ugoÅ›ci ZBIORU1 [ZNAK*POWTÓRZ] POWTÓRZ kopii ZNAKU, ósemkowo gdy zaczyna siÄ™ od 0 [:alnum:] wszystkie litery i cyfry [:alpha:] wszystkie litery [:blank:] wszystkie odstÄ™py poziome [:cntrl:] wszystkie znaki sterujÄ…ce [:digit:] wszystkie cyfry � ascii z EBCDIC do ASCII ebcdic z ASCII do EBCDIC ibm z ASCII do alternatywnego EBCDIC block wyrównanie rekordów zakoÅ„czonych znakami nowej linii spacjami do rozmiaru cbs unblock zamiana koÅ„cowych spacji w rekordach o rozmiarze cbs na znak nowej linii lcase zamiana wielkich liter na maÅ‚e ucase zamiana maÅ‚ych liter na wielkie sparse usiÅ‚owanie przesuniÄ™cia wskaźnika zamiast pisania bloków wyjÅ›ciowych gdy bloki wejÅ›ciowe skÅ‚adajÄ… siÄ™ ze znaków NUL swab zamiana każdej pary bajtów sync dopeÅ‚nienie każdego bloku wejÅ›ciowego zerami do rozmiaru ibs, jeżeli użyte z block albo unblock, dopeÅ‚nienie spacjami zamiast NULami � auto akceptowanie opcjonalnego jedno-dwuliterowago przyrostka: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary użycie binarnego I/O dla danych � cio użycie równolegÅ‚ego I/O dla danych � count_bytes traktowanie „count=N†jak liczby najtów (tylko iflag) � d[ROZMIAR] dziesiÄ™tny ze znakiem, liczba o takim ROZMIARZE w bajtach f[ROZMIAR] zmiennoprzecinkowy, liczba o takim ROZMIARZE w bajtach o[ROZMIAR] ósemkowy, liczba o takim ROZMIARZE w bajtach u[ROZMIAR] dziesiÄ™tny bez znaku, liczba o takim ROZMIARZE w bajtach x[ROZMIAR] szesnastkowy, liczba o takim ROZMIARZE w bajtach � direct dane zapisywane przez bezpoÅ›rednie I/O � directory błąd jeżeli nie katalog � dsync dane zapisywane przez synchronizowane I/O � excl zakoÅ„czenie jeżeli plik wyjÅ›ciowy już istnieje nocreat bez tworzenia pliku wyjÅ›ciowego notrunc bez skrócenia pliku wyjÅ›ciowego noerror kontynuowanie mimo błędów czytania fdatasync wymuszenie fizycznego zapisu danych przed zakoÅ„czeniem fsync jak fdatasync, ale też dla metadanych � fullblock odczekiwanie na peÅ‚ne bloki na wejÅ›ciu (tylko iflag) � iec akceptowanie opcjonalnego jednego jednoliterowego przyrostka: 1K = 1024, 1M = 1048576, ... � iec-i akcpetowanie opcjonalnego dwuliterowego przyrostka: 1Ki = 1024, 1Mi = 1048576, ... � if=PLIK czytanie z PLIKU zamiast ze standardowego wejÅ›cia iflag=FLAGI czytanie zgodnie z podanÄ… listÄ… słów kluczowych oddzielonych przecinkami obs=BAJTÓW zapisanie tylu BAJTÓW naraz (domyÅ›lnie: 512) of=PLIK zapisanie do PLIKU zamiast do standardowego wyjÅ›cia oflag=FLAGI pisanie zgodnie z podanÄ… listÄ… słów kluczowych oddzielonych przecinkami seek=ILE przeskoczenie ILU bloków o rozmiarze obs na wyjÅ›ciu skip=ILE przeskoczenie ILU bloków o rozmiarze ibs na wejÅ›ciu status=JAKIE JAKIE informacje nie bÄ™dÄ… wysyÅ‚ane na standardowe wyjÅ›cie błędu: „noxfer†- bez statystyki kopiowania, „none†- żadnych informacji � noatime bez aktualizacji czasu dostÄ™pu � nocache skasowanie pamiÄ™ci podrÄ™cznej � noctty bez przyporzÄ…dkowywania terminala sterujÄ…cego - pliku � nofollow bez rozwijania dowiÄ…zaÅ„ symbolicznych � nolinks błąd jeżeli wielokrotnie dołączony � nonblock użycie nie blokujÄ…cego I/O � none bez automatycznego skalowania; przyrostki spowodujÄ… błąd � none, off nigdy nie sÄ… tworzone kopie zapasowe (nawet gdy jest podana opcja --backup) numbered, t tworzenie numerowanych kopii zapasowych existing, nil numerowane jeżeli takie już istniejÄ…, jeżeli nie - proste simple, never tworzenie zawsze prostych kopii zapasowych � seek_bytes traktowanie „seek=N†jak liczby bajtów (tylko oflag) � si akceptowanie opcjonalnego jednoliterowago przyrostka: 1K = 1000, 1M = 1000000, ... � skip_bytes traktowanie „skip=N†jak liczby bajtów (tylko iflag) � sync podobnie, ale też dla metadanych � text użycie tekstowego I/O dla danych � %H:%M � (kopia zapasowa: %s)� * [-]ctlecho wyÅ›wietlanie znaków kontrolnych jako „^c†itp. [-]echo wyÅ›wietlanie każdego znaku z wejÅ›cia * [-]echoctl to samo co [-]ctlecho [-]echoe to samo co [-]crterase [-]echok wyÅ›wietlanie znaku nowej linii po znaku kill � * [-]echoke to samo co [-]crtkill [-]echonl wyÅ›wietlanie znaku NL nawet jeÅ›li inne nie sÄ… wyÅ›wietlane * [-]echoprt wyÅ›wietlanie skasowanych znaków wstecz miÄ™dzy „\†i „/†[-]icanon wyÅ›wietlanie znaków erase, kill, werase i rprnt [-]iexten wyÅ›wietlanie znaków spoza specyfikacji POSIX � * [-]iuclc zamienianie wielkich liter na maÅ‚e * [-]ixany każdy znak wznawia transmisjÄ™, nie tylko start [-]ixoff włączenie wysyÅ‚ania znaków start/stop [-]ixon włączenie protokoÅ‚u sterowania przepÅ‚ywem XON/XOF [-]parmrk zaznaczanie błędów parzystoÅ›ci sekwencjÄ… 255-0-znak [-]tandem to samo co [-]ixoff � * [-]iutf8 program zakÅ‚ada, że znaki wejÅ›ciowe sÄ… zakodowane w UTF-8 � * [-]ocrnl zamienianie znaku CR na NL * [-]ofdel używanie znaku DEL zamiast NUL jako znaku wypeÅ‚niajÄ…cego * [-]ofill używanie znaków wypeÅ‚niajÄ…cych zamiast opóźnieÅ„ transmisji * [-]olcuc zamienianie maÅ‚ych liter na wielkie * [-]onlcr zamienianie znaków NL na sekwencje CR-NL * [-]onlret znak NL powoduje powrót karetki (carriage return) � * [-]onocr bez wysyÅ‚ania znaków CR w pierwszej kolumnie [-]opost przetwarzanie znaków wyjÅ›ciowych * tabN styl opóźnienia po tabulatorze poziomym, N w zakresie [0..3] * tabs to samo co tab0 * -tabs to samo co tab3 * vtN styl opóźnienia po tabulatorze pionowym, N w zakresie [0..1] � * eol2 ZNAK alternatywny ZNAK koÅ„ca linii erase ZNAK ZNAK kasuje ostatni wprowadzony znak intr ZNAK ZNAK wysyÅ‚a sygnaÅ‚ przerwania kill ZNAK ZNAK kasuje bieżącÄ… liniÄ™ � * lnext ZNAK ZNAK wprowadza nastÄ™pny znak w cudzysÅ‚owie quit ZNAK ZNAK wysyÅ‚a sygnaÅ‚ wyjÅ›cia * rprnt ZNAK ZNAK powtarza bieżącÄ… liniÄ™ start ZNAK ZNAK wznawia wyÅ›wietlanie � * rows N ustawienie dÅ‚ugoÅ›ci terminala na N wierszy * size wyÅ›wietlenie liczby wierszy i kolumn wedÅ‚ug ustawieÅ„ jÄ…dra speed wyÅ›wietlenie prÄ™dkoÅ›ci terminala time N z -icanon ustawienie timeout na N dziesiÄ…tych sekundy � ??:???? � TTY� kontekst=%s� egid=%s� euid=%s� gid=%s� grupy=�dawno� przy powtórzeniu %s �% - 1% pamiÄ™ci, b - 1, K - 1024 (domyÅ›lnie) itd. dla M, G, T, P, E, Z, Y. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie *** UWAGA *** Locale ustawione przez zmienne Å›rodowiskowe wpÅ‚ywa na porzÄ…dek sortowania. Ustaw LC_ALL=C żeby przywrócić tradycyjny porzÄ…dek sortowania, który używa dosÅ‚ownych wartoÅ›ci bajtów. �%.*s: błędna specyfikacja przeksztaÅ‚cenia�%Y-%m-%d �%m-%d %H:%M�%lu użytkownik�%lu użytkownicy�%lu użytkowników�%s (dla wyr. regularnego %s)�%s -> %s (przywrócenie kopii zapasowej) �%s [-d] zakoÅ„czone nieprawidÅ‚owo�%s i %s to ten sam plik�%s istnieje, ale nie jest katalogiem�%s pojawiÅ‚ siÄ™; Å›ledzenie koÅ„ca nowego pliku�%s staÅ‚ siÄ™ dostÄ™pny�%s staÅ‚ siÄ™ niedostÄ™pny�%s zostaÅ‚ zamieniony na plik zdalny. koniec Å›ledzenia tej nazwy�%s zostaÅ‚ zamieniony na plik, którego nie można Å›ledzić tailem; koniec Å›ledzenia�%s zostaÅ‚ podmieniony; Å›ledzenie koÅ„ca nowego pliku�%s to nieznany typ pliku�plik %s ma zÅ‚y rozmiar, wyglÄ…dajÄ…cy na ujemny�strona domowa %s: %s �strona domowa %s: http://www.gnu.org/software/%s/ �%s nie jest poprawnÄ… dodatniÄ… liczbÄ… caÅ‚kowitÄ…�%s jest za duża�%s może być użyty tylko z jÄ…drem SELinux�proces potomny %s�%s: błąd procesu potomnego�proces potomny %s otrzymaÅ‚ fatalny sygnaÅ‚ %d�zostaÅ‚ podany %s, ale nie %s�%s nadpisaÅ‚by dane wejÅ›ciowe; zatrzymanie pracy�%s%s - argument „%s†jest za duży�%s-%s�%s: %s jest tak duża, że nie może zostać wyrażona�%s: %s: numer linii spoza zakresu�%s: %s: nie pasuje�%s: %s:%s: nieuporzÄ…dkowanie: �%s: „}†jest wymagany w liczniku powtórzeÅ„�%s: NIEPOWODZENIE otwarcia lub odczytu �%s: spodziewany operator dwuargumentowy�%s: można zrobić tylko wzglÄ™dne dowiÄ…zanie symboliczne w bieżącym katalogu�%s: zresetowanie trybu nie blokujÄ…cego nie byÅ‚o możliwe�%s: niemożliwe ustalenie rozmiaru pliku�%s: nie można znaleźć nazwy użytkownika o ID %lu �%s: pliku tego typu nie można Å›ledzić�%s: nie można ustawić pozycji wyjÅ›ciowej�%s: nie można zamazać katalogu�%s: nie można przewinąć�%s: nie można ustawić pozycji na wyjÅ›ciu�%s: nie można ustawić pozycji %s wzglÄ™dem koÅ„ca pliku�%s: nie można ustawić pozycji %s�%s: nie można ustawić pozycji wzglÄ™dnej %s�%s: nie można zamazywać pliku tylko do dopisywania�%s: nie przeskoczyć na wejÅ›ciu�%s: nie można przeskoczyć do podanej pozycji na wejÅ›ciu�%s: brak zamykajÄ…cego ogranicznika „%câ€�%s: zresetowanie trybu nie blokujÄ…cego nie byÅ‚o możliwe�%s: przejść do katalogu %s? �%s: wejść w katalog %s, zabezpieczony przed zapisem? �%s: koniec pliku�%s: operand klasy równoważnoÅ›ci musi być pojedynczym znakiem�%s: błąd obcinania�%s: błąd zapisu na pozycji %s�%s: spodziewana wartość liczbowa�%s: błąd przy zamykaniu pliku�%s: nie udaÅ‚o siÄ™ odczytać informacji o rozszerzeniach�%s: błąd przy otwieraniu do zapisu�%s: błąd przy kasowaniu pliku�%s: błąd przy ustawianiu wskaźnika do pliku�%s: błąd fcntl�%s: błąd fdatasync�%s: plik ma ujemny rozmiar�%s: plik siÄ™ za bardzo zmniejszyÅ‚�%s: plik jest za duży�%s: za dÅ‚ugi plik�%s: plik obciÄ™ty�%s: błąd fstat�%s: błąd fsync�%s: nie można zrobić dowiÄ…zania zwykÅ‚ego do katalogu�%s: dane wejÅ›ciowe zawierajÄ… pÄ™tlÄ™:�%s: dane wejÅ›ciowe zawierajÄ… nieparzystÄ… liczbÄ™ elementów�%s: plik wejÅ›ciowy jest plikiem wyjÅ›ciowym�%s: po ograniczniku powinna być liczba caÅ‚kowita�%s: błędny rozmiar bloku IO�%s: błędny PID�%s: błędny numer części�%s: błędna liczba na poczÄ…tku %s�%s: błędna dyrektywa�%s: błędna specyfikacja pola %s�%s: błędny rozmiar pliku�%s: błędny typ pliku�%s: błędna maksymalna liczba braków zmian stanów miÄ™dzy otwarciami pliku�%s: błędna liczba�%s: błędna liczba bajtów�%s: błędna liczba części�%s: błędna liczba linii�%s: błędna liczba przebiegów�%s: błędna liczba sekund�%s: błędna liczba do zignorowania�%s: błędna opcja -- „%c†�%s: błędny wzorzec�%s: błędny identyfikator procesu�%s: błędne wyrażenie regularne: %s�%s: błędny sygnaÅ‚�%s: błędna poczÄ…tkowa wartość przyrostka liczbowego�%s: błędna dÅ‚ugość przyrostka�%s: numer linii musi być wiÄ™kszy od zera�%s: numer linii spoza zakresu�%s: nie udaÅ‚o siÄ™ ustawienie pozycji lseek�%s: podano wiele sygnałów�%s: nowe uprawnienia to %s, nie %s�%s: brak poprawnie sformatowanych linii sumy kontrolnej %s�%s: brak informacji o wielkoÅ›ci tego urzÄ…dzenia�%s: nie ma takiego użytkownika�%s: nie bÄ™dzie wylistowany katalog już wylistowany poprzednio�%s: ilość bajtów jest za duża�%s: opcja „%c%s†nie może mieć argumentu �%s: opcja „%s†jest niejednoznaczna; możliwoÅ›ci:�%s: opcja „--%s†nie może mieć argumentu �%s: opcja „--%s†wymaga argumentu �%s: opcja „-W %s†nie może mieć argumentu �%s: opcja „-W %s†jest niejednoznaczna �%s: opcja „-W %s†wymaga argumentu �%s: opcja wymaga argumentu -- „%c†�%s: zamazać %s? �%s: przebieg %lu/%lu (%s)...�%s: przebieg %lu/%lu (%s)...%s�%s: przebieg %lu/%lu (%s)...%s/%s %d%%�%s: błąd odczytu�%s: usunąć %s %s? �%s: usunąć wszystkie argumenty rekursywnie? �%s: usunąć wszystkie argumenty? �%s: usunąć zabezpieczony przed zapisem %s %s? �%s: skasowany�%s: usuwanie�%s: przemianowany na %s�%s: zastÄ…pić %s? �%s: nie udaÅ‚o siÄ™ ustawienie pozycji�%s: za dużo linii z sumami kontrolnymi�%s: zamazywanie %s, obejść uprawnienia %04lo (%s)? �%s: nie można ustalić maksymalnej dÅ‚ugoÅ›ci nazwy pliku�%s: wykonanie wszystkich żądanych operacji byÅ‚o niemożliwe�%s: spodziewany operator jednoargumentowy�%s: nierozpoznana opcja „--%c%s†�%s: nierozpoznana opcja „--%s†�%s: wartość nie przeksztaÅ‚cona w caÅ‚oÅ›ci�%s: błąd zapisu�%s: błąd zapisu�%s:%lu: błędna linia, brakuje drugiego sÅ‚owa�%s:%lu: błędna nazwa pliku - o zerowej dÅ‚ugoÅ›ci�%s:%lu: nierozpoznane sÅ‚owo kluczowe %s�%s}: miÄ™dzy „{†a „}†musi być liczba caÅ‚kowita�â€�spodziewany „)â€�spodziewany „)â€, napotkany %s�„-%c†nadmiarowe znaki lub błędna liczba w argumencie: %s�„--pages=PIERWSZA_STRONA[:OSTATNIA_STRONA]†- brakujÄ…cy argument�„-N LICZBA†błędny numer linii poczÄ…tkowej: %s�„-W SZEROKOŚĆ_STRONY†błędna liczba znaków: %s�„-l DÅ_STRONY†błędna liczba linii: %s�„-o MARGINES†błędne przesuniÄ™cie linii: %s�„-w SZEROKOŚĆ_STRONY†błędna liczba znaków: %s�©�* używajÄ…cymi tymczasowego cache'a, jak klient wersji 3 NFS * kompresowanymi �* opartymi na logowaniu i journalingu, jak dostarczane z AIXem i Solarisem (oraz JFS, ReiserFS, XFS, Ext3 itd.) * takimi, które zapisujÄ… dane na dodatkowych dyskach i kontynuujÄ… pracÄ™, nawet jeżeli nie udajÄ… siÄ™ niektóre operacje zapisu, jak systemy plików oparte na RAID * które zapisujÄ… stan chwilowy, jak serwer NFS Network Appliance �, Å›rednie obciążenie: %.2f�, %g s, %s/s �opcja --%s ma za duży argument %s�opcja --context (-Z) dziaÅ‚a tylko z jÄ…drem systemu z włączonym SELinuksem.�--filter nie przekazaÅ‚ przetworzonego fragmentu do wyjÅ›cia�opcja --grouping nie może być użyta razem z --format�opcja --header zignorowana w obenoÅ›ci danych wejÅ›ciowych w linii polecenia�opcja --padding nie może być użyta razem z --format�opcji --reflink można użyć tylko ze --sparse=auto�--tag nie może być łączony z trybem --text�-R --dereference wymaga -H albo -L�-R -h wymagajÄ… podania -P�-ef nie dopuszcza -l�-nt nie dopuszcza -l�-ot nie dopuszcza -l�<wewnÄ™trzne>�??? �?????�Skasowane�DostÄ™p: %x Modyfikacja: %y Zmiana: %z Utworzenie: %w �DostÄ™p: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Rodzina adresów nie obsÅ‚ugiwana przez ten system�Zegar alarmowy�Wszystkie żądania wypeÅ‚nione�Za maÅ‚y bufor argumentów�Arnold Robbins�Assaf Gordon�dost.�dostÄ™pne�Błędne wywoÅ‚anie systemowe�ZÅ‚a wartość ai_flags�Brian Fox�Urwany potok�Błąd szyny�UWAGA: Należy pamiÄ™tać, że shred opiera siÄ™ na ważnym zaÅ‚ożeniu: że system plików zamazuje dane w tym samym miejscu, gdzie je pierwotnie zapisaÅ‚. Tak dzieje siÄ™ tradycyjnie, ale wiele nowoczesnych systemów plików tak nie robi. Z nastÄ™pujÄ…cymi systemami plików shred nie dziaÅ‚a efektywnie albo nie ma gwarancji, że dziaÅ‚a efektywnie we wszystkich trybach pracy systemu plików: �KOMENTARZ�Przekroczony limit czasu procesora�Użycie funkcji link do utworzenia dowiÄ…zania o nazwie PLIK2 do istniejÄ…cego PLIKU1. �WywoÅ‚anie funkcji unlink (usuÅ„) aby usunąć podany PLIK. �pojemność�Zmiana grupy każdego PLIKU na GRUPĘ. Z opcjÄ… --reference zmiana grupy każdego PLIKU na takÄ…, jakÄ… ma PLIK_WZ. �Zmiana uprawnieÅ„ do każdego PLIKU na UPRAWN. Z opcjÄ… --reference zmiana uprawnieÅ„ każdego PLIKU na takie, jakie ma PLIK_WZ. �Zmiana wÅ‚aÅ›ciciela i/lub grupy każdego PLIKU na WÅAÅšCICIELA i/lub GRUPĘ. Z opcjÄ… --reference zmiana wÅ‚aÅ›ciciela i grupy każdego PLIKU na takÄ…, jakÄ… ma PLIK_WZ. �Zmiana kontekstu bezpieczeÅ„stwa każdego PLIKU na KONTEKST. Z opcjÄ… --reference: zmiana kontekstu bezpieczeÅ„stwa każdego PLIKU na taki jaki ma PLIK_WZ. �Chet Ramey�Koniec dziaÅ‚ania procesu potomnego�Colin Plumb�Porównanie posortowanych plików PLIK1 i PLIK2 linia po linii. �Połączenie PLIKU(ÓW) albo standardowego wejÅ›cia i przekazanie na wyjÅ›cie. -A, --show-all równoważne -vET -b, --number-nonblank numerowanie niepustych linii na wyjÅ›ciu -e równoważne -vE -E, --show-ends wypisanie $ na koÅ„cu każdej linii -n, --number numerowanie wszystkich linii na wyjÅ›ciu -s, --squeeze-blank nigdy wiÄ™cej niż jedna pusta linia �Kontekst: %C �Kontynuacja�W każdym PLIKU spacje zamieniane sÄ… na TABy, wynik jest wypisywany na standardowe wyjÅ›cie. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Zamiana TAB-ów we wszystkich PLIKACH na spacje, wynik na standardowym wyjÅ›ciu. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Skopiowanie ŹRÓDÅA do CELU lub ŹRÓDÅA/ŹRÓDEÅ do KATALOGU. �Kopiowanie pliku z przeksztaÅ‚caniem i formatowaniem zgodnie z argumentami. bs=BAJTÓW czytanie i zapisywanie tylu BAJTÓW za jednym razem (zobacz też ibs= i obs=) cbs=BAJTÓW przeksztaÅ‚cenie tylu BAJTÓW za jednym razem conv=KONWERSJE przeksztaÅ‚cenie pliku wg listy symboli oddzielonych przecinkami count=ILE skopiowanie tylko ILU bloków z wejÅ›cia ibs=BAJTÓW czytanie tylu BAJTÓW naraz (domyÅ›lnie: 512) �Kopiuje standardowe wejÅ›cie do każdego PLIKU oraz na standardowe wyjÅ›cie. -a, --append dopisywanie do PLIKU, nie nadpisywanie -i, --ignore-interrupts ignorowanie sygnałów przerwania �Bezpieczne utworzenie tymczasowego pliku albo katalogu i wypisanie jego nazwy. WZORZEC musi zawierać co najmniej trzy kolejne znaki „X†w ostatniej części. Jeżeli WZORZEC nie jest podany, użyty bÄ™dzie wzorzec tmp.XXXXXXXXXX i domyÅ›lna wartość --tmpdir . �Tworzenie nazwanych potoków (pipes, FIFOs) o podanych NAZWACH. �Utworzenie KATALOGU/ÓW, jeżeli jeszcze nie istniejÄ…. �Utworzenie pliku specjalnego o podanej NAZWIE i TYPIE. �David M. Ihnat�David MacKenzie�David Madore�UrzÄ…dzenie: %Dh/%dd inody: %-10i dowiÄ…zaÅ„: %-5h typ: %t,%T �UrzÄ…dzenie: %Dh/%dd inody: %-10i dowiÄ…zaÅ„: %h �Diagnozowanie błędnych i nieprzenoÅ›nych nazw plików. -p sprawdzenie dla wiÄ™kszoÅ›ci systemów POSIX -P sprawdzenie pustych nazw i poczÄ…tkowych "-" --portability sprawdzenie dla wszystkich systemów POSIX (równoważne -p -P) �Katalog: �Wypisanie stanu pliku albo systemu plików �Wypisanie bieżącego czasu w podanym formacie albo ustawienie czasu systemowego. �Dmitry V. Levin�Pozbycie siÄ™ wszystkich dodatkowych grup, przyjÄ™cie identyfikatora i grupy UÅ»YTKOWNIKA (numerycznego albo nazwy) i wykonanie POLECENIA z podanymi ARGUMENTAMI. WyjÅ›cie ze statusem 111, jeżeli nie da siÄ™ przyjąć wymaganych identyfikatorów użytkownika i grupy. W przeciwnym przypadku wyjÅ›cie ze statusem wyjÅ›ciowym POLECENIA. Ten program jest przydatny tylko jeżeli jest uruchomiony przez roota (użytkownika o identyfikatorze zero) �PuÅ‚apka EMT�WYJÅšCIE�Każdy zakres to: N N-ty bajt, znak lub pole, liczone od 1 N- od N-tego bajtu, znaku lub pola do koÅ„ca linii N-M od N-tego do M-tego (włącznie) bajtu, znaku lub pola -M od pierwszego do M-tego (włącznie) bajtu, znaku lub pola Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Powtórzenie NAPISU na standardowym wyjÅ›ciu. -n bez powtarzania koÅ„cowego znaku nowej linii �Eric Blake�WyjÅ›cie z kodem oznaczajÄ…cym błąd.�WyjÅ›cie z kodem oznaczajÄ…cym powodzenie.�ZakoÅ„czenie pracy z kodem wyjÅ›cia zależnym od WYRAÅ»ENIA. �F. Pinard�NIEPOWODZENIE�FIXME: nieznany�FORMAT musi umożliwiać wypisanie jednego argumentu typu „doubleâ€; domyÅ›lnie jest to %.DOKÅf jeżeli PIERWSZA, KROK i OSTATNIA sÄ… wszystkie caÅ‚kowite, z maksymalnÄ… dokÅ‚adnoÅ›ciÄ… DOKÅ albo %g w przeciwnym przypadku. �Potoki nie majÄ… numerów wiÄ™kszych ani mniejszych.�Przekroczony limit rozmiaru plików�Pliki sÄ… tworzone z uprawnieniami u+rw, a katalogi z u+rwx minus uprawnienia umask. �System plików�Odfiltrowanie sÄ…siadujÄ…cych identycznych linii z WEJÅšCIA (albo standardowego wejÅ›cia), wynik zapisywany do WYJÅšCIA (albo standardowego wyjÅ›cia). Jeżeli nie sÄ… podane żadne opcje, pozostawiana jest tylko pierwsza z identycznych linii. �WyjÄ…tej operacji zmiennoprzecinkowej�Å»eby przeczytać kompletnÄ… dokumentacjÄ™ uruchom: info coreutils „%s invocation†�Dla każdej pary linii z identycznymi polami łączÄ…cymi wypisywana jest linia na standardowym wyjÅ›ciu. DomyÅ›lnie pole łączÄ…ce jest pierwsze i oddzielone odstÄ™pem. Gdy PLIK1 albo PLIK2 (nie oba) to -, czytane jest standardowe wejÅ›cie. -a NUMER wypisanie również linii nie do pary z pliku NUMER, gdzie numer to 1 albo 2, odpowiadajÄ…cy PLIKOWI1 albo PLIKOWI2 -e PUSTE zamiana brakujÄ…cych pól na wejÅ›ciu na PUSTE �Wymuszenie zapisu zmienionych bloków na dysk, aktualizacja super-bloku. �Pomoc w używaniu oprogramowania GNU: http://www.gnu.org/gethelp/ �Giuseppe Scrivano�H. Peter Anvin�Zawieszenie�WejÅ›cie/wyjÅ›cie możliwe�BEZCZYNNY�wolneI�%uż.I�użyteI�Ian Lance Taylor�Bezczynny�JeÅ›li nie podano PLIKU, używa %s. %s jest zwykle podawane jako PLIK. �Jeżeli i pierwszy i drugi format pasuje do użytej skÅ‚adni, a ostatni argument zaczyna siÄ™ od + albo (w przypadku dwóch argumentów) od cyfry, zakÅ‚ada siÄ™, że zostaÅ‚ użyty format trzeci. PRZESUNIĘCIE oznacza to samo co -j PRZESUNIĘCIE. ETYKIETA to pseudo-adres wypisanego bajtu, zwiÄ™ksza siÄ™ w trakcie pracy programu. Dla PRZESUNIĘCIA i ETYKIETY przedrostek 0x lub 0X oznacza zapis szesnastkowy, zapis ósemkowy jest oznaczany przez przyrostek . , a przyrostek b oznacza wielokrotność 512. �Nielegalna instrukcja�Dodatkowo backupy i zdalne kopie mogÄ… zawierać egzemplarze tego samego pliku, które nie mogÄ… zostać usuniÄ™te i plik zamazany schredem może zostać odtworzony. �ImiÄ™ i nazwisko: �W pierwszej formie - utworzenie dowiÄ…zania do CELU z nazwÄ… NAZWA_DOWIÄ„ZANIA. W drugiej formie - utworzenie dowiÄ…zania do CELU w bieżącym katalogu. W trzeciej i czwartej formie - utworzenie dowiÄ…zania do każdego CELU w KATALOGU. DomyÅ›lnie tworzone sÄ… zwykÅ‚e dowiÄ…zania (hard links), symboliczne gdy jest użyta opcja --symbolic.] DomyÅ›lnie każdy cel (nazwa nowego dowiÄ…zania) nie może jeszcze istnieć. Przy tworzeniu zwykÅ‚ych dowiÄ…zaÅ„ każdy CEL musi istnieć. DowiÄ…zania symboliczne mogÄ… zawierać dowolny tekst. Gdy sÄ… później rozwijane, dowiÄ…zanie ze Å›cieżkÄ… wzglÄ™dnÄ… jest interpretowane wzglÄ™dem katalogu, w którym siÄ™ znajduje. �W przypadku systemu plików ext3 powyższe uwagi majÄ… znaczenie (a shred ma wtedy ograniczona efektywność) tylko w trybie data=journal, w którym journallingowi podlega oprócz metadanych również zawartość pliku. Zarówno w trybie data=ordered (domyÅ›lny) jak data=writeback shred dziaÅ‚a jak zazwyczaj. Tryb jourinallingu ext3 może byc zmieniony przez dodanie opcji data=opcja do opcji mount-a dla danego systemu plików w pliku /etc/fstab, jak podaje manual (man mount) �nieskoÅ„czoność�nieskoÅ„czenie wiele B�Żądanie informacji�iwÄ™zÅ‚y�Przerwanie�PRzerwany przez sygnaÅ‚�Błędne odwoÅ‚anie�Błędna nazwa klasy znaków�Znak błędny dla bieżącego uporzÄ…dkowania�Błędna zawartość \{\}�Błędne wyrażenie regularne�Błędny koniec zakresu�Błędne wyrażenie regularne�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Zabity�TERM�LOGIN�Wypisanie informacji o PLIKACH (domyÅ›lnie w katalogu bieżącym). Sortowane alfabetyczne, jeżeli nie jest podana żadna z opcji -cftuvSUX ani --sort. �Użytkownik�Użytkownik: �Błąd testu Lucasa na liczby pierwsze. To nie powinno siÄ™ byÅ‚o zdarzyć�Mark Kettenis�Matthew Bradburn�Błąd przydziaÅ‚u pamiÄ™ci�Brak pamiÄ™ci�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�zamont. na�UÅ»YTKOWNIK�Nazwisko�Nieznana nazwa lub usÅ‚uga�Niels Moller�Z nazwÄ… nie jest zwiÄ…zany żaden adres�Brak dopasowania�Brak poprzedniego wyrażenia regularnego�Nienaprawialny błąd w rozwiÄ…zywaniu nazw�DOBRZE�Przy kasowaniu bez kompresji powtórzeÅ„ może być podany tylko jeden zbiór.�Opcje porzÄ…dkowania: �Inne opcje: �Pokazanie indeksu słów z plików wejÅ›ciowych razem z kontekstem. �Wypisanie poleceÅ„ ustawiajÄ…cych zmiennÄ… Å›rodowiskowÄ… LS_COLORS. Ustalenie formatu: -b, --sh, --bourne-shell w kodzie powÅ‚oki Bourne'a -c, --csh, --c-shell w kodzie powÅ‚oki C -p, --print-database wypisanie wartoÅ›ci domyÅ›lnych �WyÅ›wietlenie NAZWY bez ostatniego skÅ‚adnika bez ukoÅ›nika albo bez koÅ„cowego ukoÅ›nika; jeÅ›li NAZWA nie zawiera znaków „/â€, wyÅ›wietlenie „.†(co oznacza katalog bieżący). �Zapisanie równych kawaÅ‚ków PLIKU do PRZEDROSTEKaa, PRZEDROSTEKab, ...; domyÅ›lny rozmiar to 1000 linii, domyslny PRZEDROSTEK to „xâ€. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie �Zapisanie kawaÅ‚ków PLIKU oddzielonych przez WZORCE do plików „xx01â€, „xx02,†..., i podanie na standardowym wyjÅ›ciu liczby bajtów w każdym kawaÅ‚ku. �Wypisanie limitów zależnych od systemu w formacie wygodnym dla skryptów powÅ‚oki. �WyÅ›wietla kto jest zalogowany wedÅ‚ug informacji w PLIKU. JeÅ›li brak PLIKU, używa %s. CzÄ™sto podaje siÄ™ też %s. �Wielokrotne zamazanie podanego PLIKU w celu utrudnienia odzyskania jego zawartoÅ›ci nawet przy użyciu drogich urzÄ…dzeÅ„ do odzyskiwania danych. �PID�Pakowane przez %s �Pakowane przez %s (%s) �Padraig Brady�Podzielenie na strony lub uÅ‚ożenie w kolumny PLIKU/ÓW do drukowania. �Źle zakodowana specyfikacja parametrów�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Brak zasilania�Przedwczesny koniec szukania wyrażenia regularnego�Wypisuje ARGUMENT(Y) zgodnie z FORMATEM albo wykonuje zgodnie z OPCJÄ„: �Wypisanie sumy CRC i liczby bajtów każdego PLIKU. �WyÅ›wietla NAZWĘ, usuwajÄ…c wszystkie poprzedzajÄ…ce skÅ‚adniki Å›cieżki. JeÅ›li jest podany, usuwa również PRZYROSTEK. �Napisanie informacji o systemie. Bez opcji dziaÅ‚a jak z -s. -a, --all pokazanie wszystkich informacji w nastÄ™pujÄ…cej kolejnoÅ›ci, oprócz -p i -i, jeżeli nieznane: -s, --kernel-name pokazanie nazwy jÄ…dra systemu operacyjnego -n, --nodename pokazanie sieciowej nazwy systemu -r, --kernel-release pokazanie numeru edycji jÄ…dra systemu �Wypisanie sumy kontrolnej i liczby bloków dla każdego PLIKU. -r użycie algorytmu BSD i bloków po 1 KB -s, --sysv użycie algorytmu Systemu V i bloków po 512 bajtów �Wypisuje przynależność do grup każdego UÅ»YTKOWNIKA, a gdy UÅ»YTKOWNIK nie jest podany - dla bieżącego procesu (po zmianach bazy danych grup mogÄ… wystÄ…pić różnice). �Wypisuje informacjÄ™ o aktualnie zalogowanych użytkownikach. �Wypisanie architektury komputera. �Dla każdego PLIKU wypisywana jest liczba znaków nowej linii, słów i bajtów oraz podsumowanie jeżeli podany jest wiÄ™cej niż jeden PLIK. Jeżeli PLIK nie jest podany albo podany jest jako -, czytane jest standardowe wejÅ›cie. SÅ‚owo to niezerowej dÅ‚ugoÅ›ci napis ograniczony przez znaki odstÄ™pu. Poniższe opcje mogÄ… być użyte do wybrania liczników, które zawsze sÄ… podawane w nastÄ™pujÄ…cym porzÄ…dku: znak nowej linii, liczba słów, znaków, bajtów, maksymalna dÅ‚ugość linii. -c, --bytes wypisanie liczby bajtów -m, --chars wypisanie liczby znaków -l, --lines wypisanie liczby znaków nowej linii �WyÅ›wietlenie liczb od PIERWSZEJ do OSTATNIEJ z krokiem KROK. �Wypisanie lub zmiana ustawieÅ„ terminala. �Wypisywanie wybranych części linii z każdego PLIKU na standardowe wyjÅ›cie. �Wypisanie aktualnej godziny, czasu od startu systemu, liczby użytkowników zalogowanych w systemie oraz Å›redniej liczby procesów uruchamianych w ciÄ…gu ostatnich 1, 5 i 15 minut.�Napisanie nazwy terminala zwiÄ…zanego ze standardowym wejÅ›ciem. -s, --silent, --quiet nic nie jest wypisywane, zwracany jest kod powrotu �Wypisanie 10 pierwszych linii każdego PLIKU na standardowym wyjÅ›ciu. Dla wiÄ™kszej liczby PLIKÓW każdy kawaÅ‚ek ma nagłówek z nazwÄ…. Jeżeli PLIK nie jest podany albo podany jest jako -, czytane jest standardowe wejÅ›cie. �Wypisanie peÅ‚nej nazwy bieżącego katalogu. �Wypisanie %d ostatnich linii każdego PLIKU na standardowym wyjÅ›ciu. Dla wiÄ™kszej liczby PLIKÓW każda porcja ma nagłówek z nazwÄ…. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Wypisuje nazwÄ™ aktualnego użytkownika. �Wypisanie liczby procesorów dostÄ™pnych dla bieżącego procesu. Może być mniejsza niż liczba włączonych procesorów �Wypisuje rozkÅ‚ad każdej z podanych LICZB caÅ‚kowitych na czynniki pierwsze. Jeżeli argumenty nie sÄ… podane, czyta je ze standardowego wejÅ›cia. �Wypisuje znalezionÄ… bezwzglÄ™dnÄ… nazwÄ™ pliku; muszÄ… istnieć wszystkie skÅ‚adowe, poza ostatniÄ… �Wypisanie nazwy użytkownika zwiÄ…zanego z aktualnym efektywnym idetyfikatorem użytkownika. DziaÅ‚a jak id -un. �WyÅ›wietla informacjÄ™ o UÅ»YTKOWNIKU lub o aktualnym użytkowniku albo o bieżącym użytkowniku, jeżeli nie podano identyfikatora. -a ignorowane, dla zachowania kompatybilnoÅ›ci z innymi wersjami -Z, --context wypisanie tylko kontekstu bezpieczeÅ„stwa bieżącego użytkownika -g, --group wypisanie tylko efektywnego identyfikatora grupy -G, --groups wypisanie peÅ‚nej listy grup -n, --name wypisanie nazw zamiast numerów, dla -ugG -r, --real wypisanie rzeczywistego ID zamiast efektywnego, dla -ugG -u, --user wypisanie tylko efektywnego identyfikatora użytkownika �Wypisanie dowiÄ…zania symbolicznego albo pierwotnej nazwy pliku �W trakcie przetwarzania żądania�UpÅ‚ynÄ…Å‚ czas zegara profilingu�Projekt: �Q. Frank Xia�ZakoÅ„czenie zwykÅ‚e�Randy Smith�SygnaÅ‚ czasu rzeczywistego nr %d�Przeformatowanie LICZB/Y ze standardowego wejÅ›cia albo podanych jako argumenty. �Przeformatowanie akapitów w PLIKU(ACH), wynik na standardowym wyjÅ›ciu. Opcja -SZEROKOŚĆ jest skróconÄ… formÄ… -width=SZEROKOŚĆ. �Za duże wyrażenie regularne�Kasowanie (unlink) PLIKU/PLIKÓW. -f, --force ignorowanie nieistniejÄ…cych plików i argumentów, bez pytaÅ„ -i pytanie przez każdym kasowaniem �Usuwanie pustych KATALOGÓW. --ignore-fail-on-non-empty zignorowanie błędów spowodowanych wyłącznie tym, że katalog nie jest pusty �Przemianowanie ŹRÓDÅA na CEL albo przeniesienie jednego lub wielu ŹRÓDEÅ do KATALOGU. �Powtarzanie na wyjÅ›ciu linii ze wszystkimi podanymi NAPIS(AMI) albo „y†�Raporty o błędach %s wysyÅ‚aj do %s �O błędach tÅ‚umaczenia %s poinformuj przez http://translationproject.org/team/ �Żądanie skasowane�Żądnie nie skasowane�Utracony zasób�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Uruchomienie POLECENIA ze zmienionym priorytetem, co wpÅ‚ywa na przydziaÅ‚ czasu procesora. Bez POLECENIA wypisuje bieżący priorytet. Priorytet może mieć wartość od %d (najwiÄ™ksze przydziaÅ‚y czasu) do %d (najmniejsze). �Uruchomienie polecenia w katalogiem root ustawionym na NOWY_ROOT. �Uruchomienie POLECENIA ignorujÄ…cego sygnaÅ‚y HUP. �Uruchamia POLECENIE ze zmodyfikowanymi operacjami buforowania jego standardowych strumieni. �Uruchomienie programu w innym kontekscie bezpieczeÅ„stwa Bez KONTEKSTU ani POLECENIA - wypisanie bieżącego kontekstu bezpieczeÅ„stwa. �Russell Coker�Scott Bartram�Scott Miller�Błąd segmentacji�WysyÅ‚a sygnaÅ‚y do procesów albo pokazuje listÄ™ sygnałów. �Servname nie obsÅ‚ugiwany przez ai_socktype�Ustaw LC_ALL=C żeby obejść problem�Ustawienie każdej zmiennej Å›rodowiskowej NAZWA wartoÅ›ci WARTOŚĆ i wykonanie POLECENIA. �PowÅ‚oka: �Pokazuje informacje o systemie plików, w którym jest każdy z PLIKÓW, domyÅ›lnie o wszystkich systemach plików. �ObciÄ™cie albo rozciÄ…gniÄ™cie każdego PLIKU do podanego rozmiaru PLIK, który nie istnieje jest tworzony. Jeżeli PLIK jest wiÄ™kszy od podanego rozmiaru, nadmiarowe dane sÄ… tracone. Jeżeli jest krótszy, dodana część (dziura) jest odczytywana jako bajty zerowe. �Simon Josefsson�rozm.�Plik specjalny powinien mieć podane wiÄ™kszy i mniejszy numer urzÄ…dzenia�Błąd stosu�Uruchomienie POLECENIA i zabicie go, jeżeli nadal dziaÅ‚a po podanym okresie CZASU. �Zatrzymany�Zatrzymany (sygnaÅ‚)�Zatrzymane (wejÅ›cie z terminala)�Zatrzymane (wyjÅ›cie na terminal)�Stuart Kemp�Sukces�Podsumowuje zajÄ™tość dysku przez każdy PLIK, rekursywnie dla katalogów. �błąd systemu�CZAS�Tymczasowy błąd rozwiÄ…zywania nazw�ZakoÅ„czenie�NastÄ™pujÄ…ce opcjonalne flagi mogÄ… być podane po „%â€: - (myÅ›lnik) bez dopeÅ‚niania _ (podkreÅ›lenie) dopeÅ‚nienie odstÄ™pami 0 (zero) dopeÅ‚nienie zerami ^ używanie wielkich liter jeżeli to możliwe # użycie maÅ‚ych liter zamiast wielkich i odwrotnie, jeżeli to możliwe �Porównywane byÅ‚y napisy %s i %s.�Torbjorn Granlund�Zatrzymanie na trace/brakepoincie�KoÅ„cowy ukoÅ›nik odwrotny�Zamiana, usuniÄ™cie wielokrotnych i/lub skasowanie znaków ze standardowego wejÅ›cia. Wyniki sÄ… wypisywane na standardowym wyjÅ›ciu. -c, -C, --complement zbiór znaków komplementarny do ZBIORU1 -d, --delete skasowanie znaków ze ZBIORU1, bez zamian -s, --squeeze-repeats zamiana ciÄ…gu takich samych znaków ze ZBIORU1 na pojedyncze wystÄ…pienia takich znaków -t, --truncate-set1 najpierw ZBIÓR1 jest obcinany do dÅ‚ugoÅ›ci ZBIORU2 �Napisz „%s --help†dla uzyskania informacji. �Użyj „%s ./%s†żeby usunąć plik %s. �Przy kasowaniu z kompresjÄ… powtórzeÅ„ muszÄ… być podane dwa zbiory.�Przy zamianie muszÄ… być podane dwa zbiory�Typ�Ulrich Drepper�Nieznany błąd�Nieznany sygnaÅ‚ nr %d�Nieznany błąd systemu�Niesparowany ( lub \(�Niesparowany ) lub \)�Niesparowany [ lub [^�Niedopasowany \{�Uaktualnienie czasu ostatniego odczytu albo modyfikacji każdego PLIKU do bieżącego czasu. Jeżeli argument PLIK nie istnieje, jest tworzony jako pusty PLIK, chyba że podana jest opcja -c albo -h. PLIK o nazwie „-†jest traktowany specjalnie: touch ustawia czas pliku zwiÄ…zanego ze standardowym wyjÅ›ciem. �Pilny warunek wejÅ›cia/wyjÅ›cia�SkÅ‚adnia: %s �SkÅ‚adnia: %s POLECENIE [ARGUMENT]... albo: %s OPCJA �SkÅ‚adnia: %s KONTEKST POLECENIE [argumenty] albo: %s [ -c ] [-u UÅ»YTKOWNIK] [-r ROLA] [-t TYP] [-l ZAKRES] POLECENIE [argumenty] �SkÅ‚adnia: %s WYRAÅ»ENIE albo: %s OPCJA �SkÅ‚adnia: %s PLIK albo: %s OPCJA �SkÅ‚adnia: %s PLIK1 PLIK2 albo: %s OPCJA �SkÅ‚adnia: %s FORMAT [ARGUMENT]... albo: %s OPCJA �SkÅ‚adnia: %s NAZWA [PRZYROSTEK] albo: %s OPCJA... NAZWA... �SkÅ‚adnia: %s ILE[PRZYROSTEK]... albo: %s OPCJA Czekanie przez okreÅ›lonÄ… LICZBĘ sekund. PRZYROSTKIEM może być „s†dla oznaczenia sekund (domyÅ›lnie), „m†- minut, „h†- godzin i „d†- dni. Inaczej niż w wiÄ™kszoÅ›ci implementacji, w których ILE musi być liczbÄ… caÅ‚kowitÄ…, tutaj ILE może być dowolnÄ… liczbÄ… zmiennoprzecinkowÄ…. Jeżeli podane sÄ… dwa lub wiÄ™cej argumenty, przerwa trwa tyle ile suma ich wartoÅ›ci. �SkÅ‚adnia: %s OPCJA... POLECENIE �SkÅ‚adnia: %s OPCJA... PLIK... �SkÅ‚adnia: %s OPCJA... [PLIK]... �SkÅ‚adnia: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [USTAWIENIA]... albo: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [-a|--all] albo: %s [-F URZÄ„DZENIE] [--file=URZÄ„DZENIE] [-g|--save] �SkÅ‚adnia: %s [-SZEROKOŚĆ] [OPCJA]... [PLIK]... �SkÅ‚adnia: %s [-s SYGNAÅ | -SYGNAÅ] PID... albo: %s -l [SYGNAÅ]... albo: %s -t [SYGNAÅ]... �SkÅ‚adnia: %s [PLIK]... albo: %s [OPCJA] �SkÅ‚adnia: %s [NAZWA] albo: %s OPCJA WyÅ›wietlenie lub ustawienie nazwy tego systemu. �SkÅ‚adnia: %s [LICZBA]... albo: %s OPCJA �SkÅ‚adnia: %s [ARGUMENT]... albo: %s OPCJA �SkÅ‚adnia: %s [OPCJA] �SkÅ‚adnia: %s [OPCJA] WyÅ›wietla numeryczny (szesnastkowo) identyfikator tej maszyny. �SkÅ‚adnia: %s [OPCJA] CZAS POLECENIE [ARGUMENT]... albo: %s [OPCJA] �SkÅ‚adnia: %s [OPCJA] NAZWA... �SkÅ‚adnia: %s [OPCJA] NOWY_ROOT [POLECENIE [ARGUMENT]...] albo: %s OPCJA �SkÅ‚adnia: %s [OPCJA] [POLECENIE [ARGUMENT]...] �SkÅ‚adnia: %s [OPCJA] [PLIK] Wypisanie caÅ‚kowicie uporzÄ…dkowanej listy zgodnie z częściowym porzÄ…dkiem w PLIKU. Gdy nie podano PLIKU albo podano jako -, czytane jest standardowe wejÅ›cie. �SkÅ‚adnia: %s [OPCJA]... �SkÅ‚adnia: %s [OPCJA]... KONTEKST PLIK... albo: %s [OPCJA]... [-u UÅ»YTKOWNIK] [-r ROLA] [-l ZAKRES] [-t TYP] PLIK... albo: %s [OPCJA]... --reference=PLIK_WZ PLIK... �SkÅ‚adnia: %s [OPCJA]... KATALOG... �SkÅ‚adnia: %s [OPCJA]... PLIK WZORZEC... �SkÅ‚adnia: %s [OPCJA]... PLIK... �SkÅ‚adnia: %s [OPCJA]... PLIK1 PLIK2 �SkÅ‚adnia: %s [OPCJA]... GRUPA PLIK... albo: %s [OPCJA]... --reference=PLIK_WZ PLIK... �SkÅ‚adnia: %s [OPCJA]... OSTATNIA albo: %s [OPCJA]... PIERWSZA OSTATNIA albo: %s [OPCJA]... PIERWSZA KROK OSTATNIA �SkÅ‚adnia: %s [OPCJA]... UPRAWN[,UPRAWN]... PLIK... albo: %s [OPCJA]... UPRAWN_ÓS PLIK... albo: %s [OPCJA]... --reference=PLIK_WZ PLIK... �SkÅ‚adnia: %s [OPCJA]... NAZWA TYP [WIĘKSZY MNIEJSZY] �SkÅ‚adnia: %s [OPCJA]... NAZWA... �SkÅ‚adnia: %s [OPCJA]... ZBIÓR1 [ZBIÓR2] �SkÅ‚adnia: %s [OPCJA]... [ PLIK | ARGUMENT1 ARGUMENT2 ] �SkÅ‚adnia: %s [OPCJA]... [+FORMAT] albo: %s [-u|--utc|--universal] [MMDDggmm[[CC]RR][.ss]] �SkÅ‚adnia: %s [OPCJA]... [-T] ŹRÓDÅO CEL albo: %s [OPCJA]... ŹRÓDÅO... KATALOG albo: %s [OPCJA]... -t KATALOG ŹRÓDÅO... �SkÅ‚adnia: %s [OPCJA]... -T ŹRÓDÅO CEL albo: %s [OPCJA]... ŹRÓDÅO... KATALOG albo: %s [OPCJA]... -t KATALOG ŹRóDÅO... albo: %s [OPCJA]... -d KATALOG... �SkÅ‚adnia: %s [OPCJA]... [-T] CEL NAZ_DOWIÄ„Z (format pierwszy) albo: %s [OPCJA]... CEL (format drugi) albo: %s [OPCJA]... CEL... KATALOG (format trzeci) albo: %s [OPCJA]... -t KATALOG... CEL... (format czwarty) �SkÅ‚adnia: %s [OPCJA]... [-] [NAZWA=WARTOŚĆ]... [POLECENIE [ARGUMENT]...] �SkÅ‚adnia: %s [OPCJA]... [PLIK] �SkÅ‚adnia: %s [OPCJA]... [PLIK] albo: %s -e [OPCJA]... [ARGUMENT] albo: %s -i LO-HI [OPCJA]... �SkÅ‚adnia: %s [OPCJA]... [PLIK] Zakodowane lub zdekodowanie kodem 64-znakowym (base64) PLIKU albo danych miÄ™dzy standardowym wejÅ›ciem i wyjÅ›ciem. �SkÅ‚adnia: %s [OPCJA]... [PLIK]... �SkÅ‚adnia: %s [OPCJA]... [PLIK]... albo: %s [-abcdfilosx]... [PLIK] [[+]PRZESUNIĘCIE[.][b]] albo: %s --traditional [OPCJA]... [PLIK] [[+]PRZESUNIĘCIE[.][b] [[+]ETYKIETA]] �SkÅ‚adnia: %s [OPCJA]... [PLIK]... albo: %s [OPCJA]... --files0-from=P �SkÅ‚adnia: %s [OPCJA]... [PLIK]... Wypisuje albo sprawdza sumy kontrolne %s (%d-bitowe). Bez podanego PLIKU albo gdy jest podany jako -, czyta standardowe wejÅ›cie. �SkÅ‚adnia: %s [OPCJA]... [WEJÅšCIE [WYJÅšCIE]] �SkÅ‚adnia: %s [OPCJA]... [PLIK [PRZEDROSTEK]] �SkÅ‚adnia: %s [OPCJA]... [WEJÅšCIE]... (bez -G) albo: %s -G [OPCJA]... [WEJÅšCIE [WYJÅšCIE]] �SkÅ‚adnia: %s [OPCJA]... [LICZBA]... �SkÅ‚adnia: %s [OPCJA]... [WÅAÅšCICIEL][:[GRUPA]] PLIK... albo: %s [OPCJA]... --reference=PLIK_WZ PLIK... �SkÅ‚adnia: %s [OPCJA]... [WZORZEC] �SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK] �SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK]... �SkÅ‚adnia: %s [OPCJA]... [UÅ»YTKOWNIK]... �SkÅ‚adnia: %s [OPCJA]... [ZMIENNA]... Wypisuje wartoÅ›ci podanych ZMIENNYCH Å›rodowiska. Jeżeli nie jest podana żadna ZMIENNA Å›rodowiskowa, wypisywane sÄ… nazwy i wartoÅ›ci wszystkich. �SkÅ‚adnia: %s [KRÓTKA-OPCJA]... UÅ»YTKOWNIK POLECENIE [ARGUMENT]... albo: %s DÅUGA-OPCJA �SkÅ‚adnia: %s [KRÓTKA-OPCJA]... [NAPIS]... albo: %s [DÅUGA-OPCJA] �SkÅ‚adnia: %s [NAPIS] albo: %s OPCJA �SkÅ‚adnia: %s [argumenty sÄ… ignorowane] albo: %s OPCJA �SkÅ‚adnia: test WYRAÅ»ENIE albo: test albo: [ WYRAÅ»ENIE ] albo: [] albo: [ OPCJA �%uż.�użyte�SygnaÅ‚ 1 definiowany przez użytkownika�SygnaÅ‚ 2 definiowany przez użytkownika�PrawidÅ‚owe argumenty to:�PrawidÅ‚owe argumenty to: �PrawidÅ‚owe specyfikacje formatu dla systemów plików: %a liczba wolnych bloków dostÄ™pnych dla zwykÅ‚ego użytkownika %b caÅ‚kowita liczba bloków danych w systemie plików %c caÅ‚kowita liczba i-wÄ™złów w systemie plików %d liczba wolnych i-wÄ™złów w systemie plików %f liczba wolnych bloków w systemie plików �UpÅ‚ynÄ…Å‚ czas zegara wirtualnego�UWAGA: Cykliczna struktura katalogów. Prawie na pewno oznacza to, że system plików jest uszkodzony. NALEÅ»Y ZAWIADOMIĆ ADMINISTRATORA SYSTEMU. NastÄ™pujÄ…cy katalog jest częściÄ… cyklu: %s �UWAGA: zignorowana opcja --context (-Z), to jÄ…dro nie ma włączonego SELinuksa�UWAGA: zignorowana opcja --preserve-context, to jÄ…dro nie ma włączonego SELinuksa�UWAGA: opcja --strip-program zostaÅ‚a zignorowana, bo nie zostaÅ‚a podana opcja -s�Uwaga: �Kiedy�SkÄ…d�Zmiana rozmiaru okna�Z --follow (-f) tail domyÅ›lnie Å›ledzi przyrosty zawartoÅ›ci pliku o okreÅ›lonym deskryptorze, wiÄ™c nawet po zmianie nazwy Å›ledzi ten sam plik. To domyÅ›lne zachowanie jest niepożądane, jeżeli Å›ledzony ma być plik o okreÅ›lonej nazwie (np. plik logu podlegajÄ…cy rotacji). W tym przypadku należy użyć --follow=name, co powoduje, że tail Å›ledzi podany plik, otwierajÄ…c go co jakiÅ› czas ponownie, żeby sprawdzić, czy nie zostaÅ‚ przemianowany albo usuniÄ™ty i ponownie utworzony przez jakiÅ› inny program. �Åamanie linii w każdym PLIKU wejÅ›ciowym (domyÅ›lnie standardowym wejÅ›ciu), wynik na standardowym wyjÅ›ciu. �Wypisanie losowej permutacji linii wejÅ›ciowych na standardowym wyjÅ›ciu. �Przepisanie każdego PLIKU na standardowe wyjÅ›cie, w odwrotnym porzÄ…dku: ostatnia linia pierwsza. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Wypisanie każdego PLIKU na standardowe wyjÅ›cie z numerami linii. Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe wejÅ›cie. �Wypisywanie linii zÅ‚ożonych ze sklejonych kolejnych odpowiadajÄ…cych sobie linii z każdego PLIKU oddzielonych TABami, na standardowe wyjÅ›cie. Bez PLIKU albo gdy jest podany jako -, czytane jest standardowe wejÅ›cie. �Wypisanie posortowanego połączenia wszystkich PLIK(ÓW) na standardowym wyjÅ›ciu �Autorzy: %s i %s. �Autorzy: %s, %s, %s, %s, %s, %s, %s, %s, %s i inni. �Autorzy: %s, %s, %s, %s, %s, %s, %s, %s i %s. �Autorzy: %s, %s, %s, %s, %s, %s, %s i %s. �Autorzy: %s, %s, %s, %s, %s, %s i %s. �Autorzy: %s, %s, %s, %s, %s i %s. �Autorzy: %s, %s, %s, %s i %s. �Autorzy: %s, %s, %s i %s. �Autorzy: %s, %s i %s. �Napisany przez %s. �wyrażenia [=c=] nie mogÄ… być w ZBIORZE2 przy zamianie�^ brak dopasowania klucza �^[nN]�^[yYtT]�błąd _open_osfhandle�„�razem z priorytetem musi być podane polecenie�ai_family nie jest obsÅ‚ugiwana�ai_socktype nie jest obsÅ‚ugiwane�niejednoznaczny argument %s opcji %s�ogranicznik może być podany tylko dla operacji na polach�dołączenie wyników do %s�utworzenie kopii zapasowej %s zniszczyÅ‚oby żródÅ‚o; %s nie zostaÅ‚ skopiowany�utworzenie kopii zapasowej %s zniszczyÅ‚oby żródÅ‚o; %s nie zostaÅ‚ przeniesiony�rodzaj kopii zapasowej�blokowy plik specjalny�specjalne pliki blokowe nie sÄ… obsÅ‚ugiwane�bl�oba pliki nie mogÄ… być standardowym wejÅ›ciem�przesuniÄ™cie bajtowe %s jest za duże�nie można zastosować częściowego kontekstu do pliku %s bez etykiety�nie można odczytać kontekstu bezpieczeÅ„stwa procesu�nie ma dostÄ™pu do %s�nie można utworzyć kopii zapasowej %s�nie można równoczeÅ›nie tylko podsumować i wypisać wszystkich danych�nie można zmienić wÅ‚aÅ›ciciela na %s�nie można zmienić uprawnieÅ„ do %s�nie można zmienić katalogu root na %s�nie można przejść do katalogu %s�nie można przejść do katalogu root�nie można używać razem --target-directory (-t) i --no-target-directory (-T)�nie można używać równoczeÅ›nie --target-directory i --no-target-directory�nie można łączyć ustawiania opcji -e i -i�nie można podawać równoczeÅ›nie ascii, ebcdic, ibm�nie można użyć block i unblock równoczeÅ›nie�nie można użyć razem direct i nocache�nie można użyć razem excl i nocreat�nie można użyć razem lcase i ucase�nie można równoczeÅ›nie podawać uprawnieÅ„ i opcji --reference�nie można podać sygnaÅ‚u równoczeÅ›nie z opcjami -l lub -t�nie można porównać nazw plików %s i %s�nie można przeksztaÅ‚cić U+%04X do lokalnego zestawu znaków�nie można przeksztaÅ‚cić U+%04X do lokalnego zestawu znaków: %s�nie można skopiować katalogu %s do siebie samego %s�nie można skopiować cyklicznego dowiÄ…zania symbolicznego %s�nie można utworzyć katalogu %s�nie można utworzyć potoku %s�nie można utworzyć dowiÄ…zania zwykÅ‚ego %s do %s�nie można utworzyć dowiÄ…zania %s do %s�nie można utworzyć potoku�nie można utworzyć zwykÅ‚ego pliku %s�nie można utworzyć pliku specjalnego %s�nie można utworzyć dowiÄ…zania symbolicznego %s�nie można utworzyć dowiÄ…zania symbolicznego %s do %s�nie można utworzyć pliku tymczasowego w %s�nie można usunąć %s�nie można ustalić urzÄ…dzenia i i-wÄ™zÅ‚a %s�uzyskanie nazwy systemu jest niemożliwe�nie można odszukać %s; powrót do cyklicznego sprawdzania�nie można użyć --relative bez --symbolic�nie można wykonać ioctl na %s�nie można znaleźć nazwy grupy o ID %lu�nie można znaleźć nazwy użytkownika o ID %s�nie można pokazywać pliku %s wg nazwy�nie można wymusić ustawienia kontekstu pliku docelowego na %s i go zachować�nie można wykonać fstat na %s�nie można odczytać bieżącego katalogu�nie można ustalić efektywnego identyfikatora grupy�nie można ustalić efektywnego identyfikatora użytkownika�nie można ustalić ile wynosi poprawka�nie można ustalić prawdziwego identyfikatora grupy�nie można ustalić prawdziwego identyfikatora użytkownika�nie można ustalić nazwy systemu�nie można ustalić rozmiaru %s�nie można wykonać lseek na %s�nie można zrobić dowiÄ…zania symbolicznego i zwykÅ‚ego równoczeÅ›nie�nie można utworzyć katalogu %s�nie można przenieść %s do %s�nie można przenieść %s do wÅ‚asnego podkatalogu %s�nie można przenieść katalogu do nie-katalogu: %s -> %s�nie można otworzyć %s do czytania�nie można otworzyć %s do pisania�nie można otworzyć katalogu %s�operacji nie można wykonać na dowiÄ…zaniu symbolicznym %s, które nie wskazuje na istniejÄ…cy plik�nie można zamazać katalogu %s nie-katalogiem�nie można zamazać nie-katalogu %s katalogiem %s�nie można wykonać formatowanych danych wyjÅ›ciowych�nie można zachować atrybutów rozszerzonych, cp jest zbudowane bez obsÅ‚ugi xattr�nie można zachować kontekstu bezpieczeÅ„stwa bez jÄ…dra systemu z włączonym SELinuksem�wybrano wiÄ™cej niż jednÄ… z wyłączajÄ…cych siÄ™ opcji�nie da siÄ™ wypisać tylko nazw lub rzeczywistych ID w domyÅ›lnym formacie�nie można wypisać kontekstu bezpieczeÅ„stwa gdy zostaÅ‚ podany użytkownik�nie można przeczytać�nie można przeczytać katalogu %s�nie można wczytać nazw plików z %s�nie można przeczytać informacji systemowych o %s�nie można odczytać zegara systemowego�nie można przeczytać dowiÄ…zania symbolicznego %s�nie można przeczytać tablicy zamontowanych systemów plików�nie można usunąć %s�nie można usunąć katalogu: %s�nie można zmienić pozycji w pliku %s�nie można odtworzyć deskryptora %d: błąd dup2�nie udaÅ‚o siÄ™ uruchomić programu %s�nie można ustawić %s�ustawienie daty niemożliwe�nie można ustawić identyfikatora grupy %lu�ustawienie nazwy systemu jest niemożliwe; ten system nie ma takiej możliwoÅ›ci�nie można ustawić nazwy systemu jako %s�ustawienie poprawki niemożliwe�nie można ustawić czasów %s�nie można ustawić identyfikatora użytkownika %lu�nie można przeskoczyć poza koniec połączonych danych wejÅ›ciowych�nie można podać --null (-0) razem z poleceniem�nie można wypisywać równoczeÅ›nie w kolejnych kolumnach i równolegle�przy wypisywaniu równolegÅ‚ym nie można podawać liczby kolumn�nie można podać czasu z wiÄ™cej niż jednego źródÅ‚a�nie można podzielić na wiÄ™cej niż jeden sposób�nie można wykonać stat na %s�nie można odczytać danych bieżącego katalogu (obecnie %s)�nie można pobrać informacji o standardowym wejÅ›ciu�nie można dotknąć %s�nie można przywrócić kopii zapasowej %s�nie można usunąć %s�nie udaÅ‚o siÄ™ usunąć %s�nie można Å›ledzić %s�nie można Å›ledzić katalogu nadrzÄ™dnego %s�nie udaÅ‚o siÄ™ obejść błędu jÄ…dra�grupa %s zmieniona z %s na %s �wÅ‚aÅ›ciciel %s zmieniony z %s na %s �nie można zmienić grupy %s�zmiana wÅ‚aÅ›ciciela %s�nie można zmienić uprawnieÅ„ do %s�zmiana kontekstu bezpieczeÅ„stwa %s �numer znaku wynosi zero�znak spoza zakresu�znakowy plik specjalny�specjalne pliki znakowe nie sÄ… obsÅ‚ugiwane�kasowanie uprawnieÅ„ dla %s�zmiana czasu�błąd zamykania pliku�zamykanie %s (fd=%d)�zamykanie katalogu %s�zamykanie pliku wejÅ›ciowego %s�zamykanie potoku wejÅ›ciowego�zamkniÄ™cie pliku wyjÅ›ciowego %s�zamkniÄ™cie potoku wyjÅ›ciowego�zamykanie potoku�zamkniÄ™cie standardowego wejÅ›cia�tryb zgodny ze starÄ… wersjÄ… może mieć podany najwyżej jeden plik�konflikt napisów zastÄ™pujÄ…cych puste pola�podano sprzeczne specyfikacje kontekstów bezpieczeÅ„stwa�nie udaÅ‚o siÄ™ przestawić buforowania %s do trybu %s �nie udaÅ‚o siÄ™ uruchomić procesu %s -d�nie udaÅ‚o siÄ™ utworzyć pliku tymczasowego�nie udaÅ‚o siÄ™ uruchomić %s�nie udaÅ‚o siÄ™ uruchomić %s -d�w %s nie można odnaleźć katalogu z pasujÄ…cym i-wÄ™zÅ‚em�sprawdzenie czasu startu systemu jest niemożliwe�utworzony katalog %s�tworzenie katalogu %s�tworzenie pliku %s �ograniczenie koÅ„ców listy przez ukoÅ›nik odwrotny: %s�katalog�dzielenie przez zero�błąd dup2�pusty %s nie jest dozwolony�pusta nazwa pliku�pusty TAB�błąd zamkniÄ™cia pliku�błąd procedury dopasowywania wyrażeÅ„ regularnych�błąd szukania wyrażenia regularnego�błąd inicjalizacji nazw miesiÄ™cy�błąd monitorowanie zdarzenia inotify�błąd czytania %s�błąd czytania zdarzenia inotify�błąd czytania danych wejÅ›ciowych�błąd zapisu w czasie czekania na polecenie�błąd zapisu %s�wykonywanie z FILE=%s �wyjÅ›cie=�nadmiarowy argument: %s�nadmiarowy argument %s�dodatkowy argument %s nie może być użyty z opcjÄ… -%c�nie udaÅ‚o siÄ™ uzyskać dostÄ™pu do %s�nie udaÅ‚o siÄ™ kanonizować %s�nie można zmienić konteksty %s na %s�nie udaÅ‚o siÄ™ zmienić grupy %s z %s na %s �nie udaÅ‚o siÄ™ zmienić grupy z %s na %s �nie udaÅ‚o siÄ™ zmienić uprawnieÅ„ do %s z %04lo (%s) na %04lo (%s) �nie można zmienić wÅ‚aÅ›ciciela %s �nie można zmienić wÅ‚aÅ›ciciela %s z %s na %s �nie można zmienić wÅ‚aÅ›ciciela %s na %s �nie udaÅ‚o siÄ™ chdir do %s�nie udaÅ‚o siÄ™ sklonować %s z %s�nie udaÅ‚o siÄ™ zamknąć %s�nie udaÅ‚o siÄ™ zamknąć potoku wejÅ›ciowego�nie udaÅ‚o siÄ™ obliczyć nowego kontekstu�nie udaÅ‚o siÄ™ przeksztaÅ‚cić niektórych liczb wejÅ›ciowych�nie udaÅ‚o siÄ™ utworzyć katalogu przy pomocy wzorca %s�nie udaÅ‚o siÄ™ utworzyć pliki przy pomocy wzorca %s�nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego %s�nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego %s => %s�nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania zwykÅ‚ego do %.0s%s�nie udaÅ‚o siÄ™ utworzyć potoku�błąd tworzenia kontekstu bezpieczeÅ„stwa: %s�nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania symbolicznego %s�nie udaÅ‚o siÄ™ utworzyć dowiÄ…zania symbolicznego %s -> %s�nie udaÅ‚o siÄ™ utworzyć pliku tymczasowego w %s�nie udaÅ‚o siÄ™ skasować pamiÄ™ci podrÄ™cznej dla %s�nie udaÅ‚o siÄ™ rozszerzyć %s�nie udaÅ‚o siÄ™ znaleźć %s�nie udaÅ‚o siÄ™ odczytać atrybutów %s�nie udaÅ‚o siÄ™ odczytać bieżącego kontekstu�nie udaÅ‚o siÄ™ odczytać kontekstu utworzenia systemu plików�nie udaÅ‚o siÄ™ odczytać grupy bieżącego procesu�nie udaÅ‚o siÄ™ odczytać grupy użytkownika %s�nie udaÅ‚o siÄ™ odczytać kontekstu bezpieczeÅ„stwa %s�nie udaÅ‚o siÄ™ znaleźć pliku %s�nie udaÅ‚o siÄ™ otworzyć %s�nie udaÅ‚o siÄ™ otworzyć %s do czytania�błąd przy otwieraniu %s do zapisu�błąd przygotowania wartoÅ›ci „%Lf†do drukowania�nie udaÅ‚o siÄ™ zachować autorstwa %s�nie udaÅ‚o siÄ™ zachować wÅ‚asnoÅ›ci %s�nie udaÅ‚o siÄ™ zachować uprawnieÅ„ do %s�nie udaÅ‚o siÄ™ zachować czasu %s�nie udaÅ‚o siÄ™ przekierować wyjÅ›cia standardowego błędu�nie udaÅ‚o siÄ™ przekierować standardowego wyjÅ›cia błędów do /dev/null�nie udaÅ‚o siÄ™ usunąć %s�nie udaÅ‚o siÄ™ usunąć katalogu %s�nie udaÅ‚o siÄ™ uczynić standardowego wejÅ›cia bezużytecznym�nie udaÅ‚o siÄ™ ponownie otworzyć %s z uprawnieniami %s�nie udaÅ‚o siÄ™ odtworzyć domyÅ›lnego kontekstu bezpieczeÅ„stwa tworzenia pliku�nie udaÅ‚o siÄ™ wrócić do poczÄ…tkowego katalogu roboczego�nie udaÅ‚o siÄ™ zmienić pozycji w strumieniu %s�nie udaÅ‚o siÄ™ uruchomić polecenia %s�nie udaÅ‚o siÄ™ uruchomić polecenia "%s -c %s"�błąd przy ustawiania kontekstu bezpieczeÅ„stwa %s jako %s�nie udaÅ‚o siÄ™ ustawić zmiennej Å›rodowiskowej FILE�nie udaÅ‚o siÄ™ ustawić grup dodatkowych�nie udaÅ‚o siÄ™ ustawić domyÅ›lnego kontekstu tworzenia pliku %s�nie udaÅ‚o siÄ™ ustawić identyfikatora grupy�nie udaÅ‚o siÄ™ ustawić nowego zakresu %s�nie udaÅ‚o siÄ™ ustawić nowej roli %s�nie udaÅ‚o siÄ™ ustawić nowego typu %s�nie udaÅ‚o siÄ™ ustawić nowego użytkownika %s�nie udaÅ‚o siÄ™ ustawić grup dodatkowych�nie udaÅ‚o siÄ™ zamknąć kopii standardowego wyjÅ›cia przy wykonywaniu exec�nie udaÅ‚o siÄ™ ustawić kontekstu bezpieczeÅ„stwa %s jako %s�nie udaÅ‚o siÄ™ ustawić identyfikatora użytkownika�nie udaÅ‚o siÄ™ stat %s�nie udaÅ‚o siÄ™ wyłączyć O_DIRECT: %s�nie udaÅ‚o siÄ™ zaktualizować Å›rodowiska %s�nieudany fdatasync dla %s�błąd fflush�numer pola %s jest za duży�numer pola wynosi zero�pola i pozycje sÄ… numerowane od 1�potok�plik %d nie jest posortowany�nie można podawać argumentów plikowych i opcji --files0-from równoczeÅ›nie�argumenty plikowe nie mogÄ… być użyte razem z opcjÄ… --print-database (-p).�typ systemu plików %s równoczeÅ›nie wybrany i wykluczony�nie powiodÅ‚o siÄ™ wywoÅ‚anie systemowe fork�format %s koÅ„czy siÄ™ %%�format %s nie ma dyrektywy %%�format %s ma za dużo dyrektyw %%�format %s zawiera nieznanÄ… dyrektywÄ™ %%%c�nie można podawać formatu, gdy wypisywane sÄ… napisy o równej dÅ‚ugoÅ›ci�nieudany fsync dla %s�błąd fts_close�błąd fts_read�błąd fts_read %s�tworzenie Å›cieżki wzglÄ™dnej�pobranie nowych atrybutów %s�grupa %s zachowana jako %s �opcja --grouping nie może być użyta razem z --to�grupowanie nie dziaÅ‚a dla tych ustawieÅ„ regionalnych�funkcja iconv nie jest dostÄ™pna�nie można użyć funkcji iconv�id=�zignorowano --no-newline z wielona argumentami�wszystkie argumenty zostaÅ‚y zignorowane�zignorowane dane wejÅ›ciowe�zignorowanie wejÅ›cia i dołączenie wyników do %s�zignorowanie wejÅ›cia i przekierowanie standardowego błędu do standardowego wyjÅ›cia�ignorujÄ™ błędny rozmiar tab-a w zmiennej Å›rodowiska TABSIZE: %s�ignorujÄ™ błędny rozmiar zmiennej Å›rodowiskowej QUOTING_STYLE: %s�ignorujÄ™ błędnÄ… dÅ‚ugość w zmiennej Å›rodowiskowej COLUMNS: %s�zignorowano argumenty nie bÄ™dÄ…ce opcjami�niekompatybilne pola łączenia %lu, %lu�niekompatybilne TABy�nie można użyć inotify, powrót do cyklicznego sprawdzania�zabrakÅ‚o zasobów inotify�dane wejÅ›ciowe zniknęły�za dÅ‚uga linia wejÅ›ciowa�za krótka linia na wejÅ›ciu, w polu %ld nie znaleziono liczb do przeksztaÅ‚cenia�nie udaÅ‚o siÄ™ przeniesienie miÄ™dzy urzÄ…dzeniami: %s do %s; nie udaÅ‚o siÄ™ usunać pliku docelowego�%s%s - błędny argument „%sâ€�błędny argument opcji --%s: %s�błędny argument opcji --threshold: „-0â€�błędny poprawka %s�błędny argument %s�błędny argument %s opcji %s�błędny styl numerownaia treÅ›ci: %s�błędny tryb buforowania %s dla %s �błędna lista bajtów, znaków lub pól�błędny znak „%c†w specyfikacji typu %s�błędna klasa znaków %s�błędny kontekst: %s�błędna konwersja�błędne okreÅ›lenie konwersji w rozszerzeniu: %c�błędne okreÅ›lenie konwersji w rozszerzeniu: \%.3o�błędna data: %s�błędny format daty %s�błędny zakres od wiÄ™kszego do mniejszego�błędne urzÄ…dzenie %s %s�błędne typ urzÄ…dzenia %s�błędny numer pola: %s�błędna specyfikacja pola: %s�błędny numer pola: „%sâ€�błędna szerokość pola: %s�błędny numer pliku w specyfikacji pola: %s�błędne flagi w specyfikacji przeksztaÅ‚cenia: %%%c%c�błędny argument zmiennoprzecinkowy: %s�błędny styl numerowania stopek: %s�błędny format %s (przepeÅ‚nienie szerokoÅ›ci)�błędny format %s, dyrektywa powinna być w postaci %%['][-][N]f�błędna szerokość odstÄ™pu: %s�błędna grupa�błędna grupa %s�błędna lista grup %s�błędna grupa: %s�błędny styl numerowania nagłówka: %s�błędna zawartość nagłówka „%sâ€�błędne dane wejÅ›ciowe�błędna flaga wejÅ›ciowa�błędny zakres wejÅ›ciowy: %s�błędna liczba caÅ‚kowita %s�błędny argument caÅ‚kowity %s�błędna liczba linii %s�błędna dyscyplina linii: %s�błędna szerokość pola numeru linii: %s�błędny przyrost numeru linii: %s�błędny przyrost numeru linii: %s�błędna szerokość linii: %s�błędny wiÄ™kszy numer urzÄ…dzenia %s�błędny maksymalny poziom zagłębienia %s�błędny mniejszy numer urzÄ…dzenia %s�błędne uprawnienia�błędne uprawnienia %s�błędne uprawnienia %s�błędna liczba %s�błędna liczba po „,â€�błędna liczba po „-â€�błędna liczba po „.â€�błędna liczba na poczÄ…tku pola�błędna liczba pustych linii: %s�błędna liczba bajtów�błędna liczba bajtów do porównania�błędna liczba bajtów do przeskoczenia�błędna liczba kolumn: %s�błędna liczba pól do przeskoczenia�błędna liczba linii�błędna liczba „%sâ€�błędna opcja -- %c�błędna opcja -- %c; opcja -WIDTH jest rozpoznawana tylko jako pierwsza, użyj -w N zamiast�błędna baza danych wyjÅ›ciowych „%câ€; musi to być jeden ze znaków [doxn]�błędna flaga wyjÅ›ciowa�błędna wartość wypeÅ‚niania „%sâ€�błędny zakres stron %s�błąd specyfikacji precyzji: %s�błędny zakres bez podania koÅ„ca: -�błędna liczba powtórzeÅ„ %s w specyfikacji [c*n]�błędna specyfikacja�błędny poczÄ…tkowy numer linii: %s�błędna flaga stanu�błędny przyrostek %s - zawiera separator nazw podkatalogów�%s%s - błędny przyrostek „%sâ€�błędny przyrostek na wejÅ›ciu „%sâ€: „%sâ€�błędny przyrostek na wejÅ›ciu: „%sâ€�błędny rozmiar TAB-a: %s�błędny wzorzec %s - zawiera separator nazw podkatalogów�błędny wzorzec %s; nie może być Å›cieżkÄ… bezwzglÄ™dnÄ… jeżeli zostaÅ‚a użyta opcja --tmpdir�błędny odstÄ™p czasowy %s�błędny format stylu czasu %s�błędna opcja na koÅ„cu -- %c�błędna specyfikacja typu %s�błędna specyfikacja typu %s; ten system nie ma %lu-bajtowych liczb zmiennoprzecinkowych�błędna specyfikacja typu %s; ten system nie ma %lu-bajtowych liczb caÅ‚kowitych�błędny rozmiar jednostki: „%sâ€�błędna nazwa znaku uniwersalnego \%c%0*x�błędny użytkownik�błędny użytkownik %s�błędna szerokość: %s�błędny rozmiar zawijania: %s�błędna nazwa pliku o zerowej dÅ‚ugoÅ›ci�dziaÅ‚anie rekurencyjne na %s jest niebezpieczne�dziaÅ‚anie rekurencyjne na %s jest niebezpieczne (to samo co %s)�klucz %lu ma zerowÄ… dÅ‚ugość i bÄ™dzie zignorowany�klucz %lu jest numeryczny i rozciÄ…ga siÄ™ na wiele pól�duża wartość wejÅ›ciowa „%sâ€: możliwa utrata precyzji�ostatni=�„-†na poczÄ…tku skÅ‚adnika nazwy pliku %s�poczÄ…tkowe odstÄ™py sÄ… znaczÄ…ce w kluczu %lu, rozważ podanie „bâ€�ograniczenie do %lu przekroczone przez dÅ‚ugość %lu nazwy pliku %s�ograniczenie do %lu przekroczone przez dÅ‚ugość %lu skÅ‚adnika nazwy pliku %s�buforowanie liniowe standardowego wejÅ›cia nie ma znaczenia�za duża ilość linii w opcji -%s%c...�numer linii %s jest mniejszy niż numer linii poprzedzajÄ…cej, %s�przepeÅ‚nienie licznika wierszy�dÅ‚uga opcja „--megabytes†jest przestarzaÅ‚a i wkrótce bÄ™dzie usuniÄ™ta�przy aktualnej wartoÅ›ci rlimit maksymalny argument opcji --%s to %s�brak pamiÄ™ci�pamieć wyczerpana przez bufor wejÅ›ciowy o rozmiarze %zu bajtów (%s)�pamieć wyczerpana przez bufor wyjÅ›ciowy o rozmiarze %zu bajtów (%s)�kolejka komunikatów�minimalna wartość argumentu opcji --%s to %s�nie pasujÄ…ce [:upper:] i/lub [:lower:]�brak okreÅ›lenia konwersji %% w rozszerzeniu�brak „]â€�brakujÄ…cy przyrostek „i†na wejÅ›ciu: „%s†(np. Ki/Mi/Gi)�brakujÄ…cy argument %s�brakujÄ…cy argument %s�brakujÄ…ca nazwa klasy znaków „[::]â€�brak okreÅ›lenia konwersji w rozszerzeniu�brakujÄ…cy plik docelowy po %s�brakujÄ…cy znak dla klasy równoważnoÅ›ci „[==]â€�brakujÄ…cy argument plikowy�brak liczby szesnastkowej w sekwencji�brakujÄ…ca lista pól�brakujÄ…ca lista pozycji�brakujÄ…cy argument�brakujÄ…cy argument po %s�mogÄ… być podane ylko bity uprawnieÅ„�uprawnienia do %s zmienione z %04lo (%s) na %04lo (%s) �uprawnienia do %s zachowane jako %04lo (%s) �punkt montowania %s byÅ‚ już odwiedzony�zamykanie potoku wejÅ›ciowego�wieloznakowy TAB %s�podano wiele opcji -i�podano wiele opcji -l lub -t�podano wiele programów kompresujÄ…cych�podano wiele ograniczników�wiele zakresów�podano wiele plików wyjÅ›ciowych�podano wiele formatów wyjÅ›ciowych�podano wiele źródeÅ‚ losowych bajtów�podano wiele modyfikatorów wzglÄ™dnych�wiele ról�podano wiele katalogów docelowych�wiele typów�wielu użytkowników�nie zostaÅ‚o zmienione ani dowiÄ…zanie symboliczne %s ani wskazywany plik �Brak zmiennej Å›rodowiskowej SHELL i opcji typu powÅ‚oki�nie można zmienić wÅ‚aÅ›ciciela %s �brak polecenia�nie podano opcji przeksztaÅ‚cenia�nie zostaÅ‚y przetworzone żadne systemy plików�nie ma wiÄ™cej plików�brak danych z %s�brak nazwy użytkownika�brak identyfikatora procesu�nie można podawać typu przy wypisywaniu napisów�brak nazwy użytkownika - musi być podana chociaż jedna, jeżeli użyto opcji -l�argument niecaÅ‚kowity�nieprzenoÅ›ny znak %s w nazwie pliku %s�to nie jest terminal�bez zapisu przez dowiÄ…zanie symboliczne %s, które nie wskazuje na istniejÄ…cy plik�liczba w %s jest za duża�liczba równolegÅ‚ych sortowaÅ„ (parallel) musi byc niezerowy�liczba bajtów�liczba linii�poczÄ…tkowa wartość przyrostka liczbowego jest za duża jak na jego dÅ‚ugość�zostaÅ‚ użyty zdezaktualizowany klucz %s, rozważ użycie %s zamiast niego�przepeÅ‚nienie licznika pozycji w czasie czytanie pliku %s�katalog %s zostaÅ‚ pominiÄ™ty�tylko jedna specyfikacja powtarzania [c*] może być w ZBIORZE2�może być podane tylko jedno urzÄ…dzenie�można podać tylko jeden typ listy�błąd otwierania pliku�opcja „-%s†zostaÅ‚a zignorowana�opcje „-%s†zostaÅ‚y zignorowane�opcji „-%s†zostaÅ‚o zignorowanych�opcja „-r†ma zastosowanie tylko do porównaÅ„ ostatniej szansy�opcja --output: nieznane pole „%sâ€�opcja --output: pole „%s†pojawiÅ‚o siÄ™ wiÄ™cej niż raz�opcja użyta w błędnym kontekÅ›cie -- %c�opcje %s i %s wzajemnie siÄ™ wykluczajÄ…�opcje „-%s†nie pasujÄ… do siebie�opcje --backup i --no-clobber wzajemnie siÄ™ wykluczajÄ…�opcje --compare (-C) i --preserve-timestamps wzajemnie siÄ™ wykluczajÄ…�opcje --compare (-C) i --strip wzajemnie siÄ™ wykluczajÄ…�brak pamiÄ™ci (żądano %zu bajtów)�zabrakÅ‚o przyrostków plików wyjÅ›ciowych�przepeÅ‚nienie przy zwiÄ™kszaniu rozmiaru pliku %s�przepeÅ‚nienie przy zaokrÄ…glaniu rozmiaru pliku %s�wÅ‚aÅ›ciciel %s zachowany �wÅ‚aÅ›ciciel %s zachowany jako %s �przepeÅ‚nienie licznika stron�szerokość strony za maÅ‚a�zachowanie uprawnieÅ„ %s�zachowanie czasu %s�wypisywanie wszystkich powtórzonych linii i iloÅ›ci powtórzeÅ„ nie ma sensu�koÅ„ce zakresu „%s-%s†sÄ… w odwrotnym porzÄ…dku sortowania�błąd czytania�błąd czytania�czytanie katalogu %s�rekord jest za duży�przekierowanie standardowego wyjÅ›cia błędów do standardowego wyjÅ›cia�pusty zwykÅ‚y plik�zwykÅ‚y plik�odrzucony przyrostek na wejÅ›ciu: „%s†(rozważ użycie --from)�usuniÄ™ty %s �usuniÄ™ty katalog %s �usuwany katalog %s�run-level�semafor�separator nie może być pusty�Ustaw LC_ALL=C żeby obejść problem�ustawienie flag dla %s�nie można ustawić uprawnieÅ„ do %s�ustawienie czasu %s�obiekt w pamiÄ™ci współdzielonej�za duże skip-bytes + read-bytes�pominiÄ™to %s, bo jest na innym urzÄ…dzeniu�plik %s zostaÅ‚ ominiÄ™ty, bo zostaÅ‚ zmieniony w trakcie kopiowania�gniazdo�przepeÅ‚nienie kolejki squfof�standardowe wyjÅ›cie błędów�standardowe wejÅ›cie�standardowe wejÅ›cie jest zamkniÄ™te�standardowe wyjÅ›cie�błąd stat�stderr�stdin�stdout�nieprawidÅ‚owy znak w specyfikacji pola�nie udaÅ‚o siÄ™ porównanie napisów�nie udaÅ‚o siÄ™ przeksztaÅ‚cenie napisu�program strip zakoÅ„czony nieprawidÅ‚owo�blokowanie wyÅ›wietlania linii bez ograniczników jest sensowne tylko dla operacji na polach�dowiÄ…zanie symboliczne�błąd skÅ‚adni�start systemu�rozmiar TABa nie może wynosić 0�rozmiar TABa zawiera błędny znak(i): %s�kolejne pozycje TABa muszÄ… rosnąć�pozycja TABa %s jest za duża�za duża wartość pozycji koÅ„ca TABów�znaki tabulacji zbyt odlegÅ‚e od siebie�cel %s nie jest katalogiem�katalog docelowy nie może być podany przy instalowaniu katalogu�zakoÅ„czenie=�test i/lub [�opcje --binary i --text nie majÄ… znaczenia przy weryfikacji sum kontrolnych�opcja --compare (-C) jest ignorowana jeżeli zostaÅ‚ podany tryb z bitami nie bÄ™dÄ…cymi bitami praw dostÄ™pu�opcja --quiet ma znaczenie tylko przy weryfikacji sum kontrolnych�opcja --status ma znaczenie tylko przy weryfikacji sum kontrolnych�opcja --strict ma znaczenie tylko przy weryfikacji sum kontrolnych�opcja --tag nie ma znaczenia przy weryfikacji sum kontrolnych�opcja --warn ma znaczenie tylko przy weryfikacji sum kontrolnych�specyfikacja [c*] może siÄ™ pojawić w ZBIORZE2 tylko przy zamianie�specyfikacja powtarzania [c*] nie może być w ZBIORZE1�brak znaku „+†na poczÄ…tku argumentu %s; jeÅ›li użyto opcji okreÅ›lajÄ…cych datÄ™/y, każdy argument nie bÄ™dÄ…cy opcjÄ… musi być specyfikacjÄ… formatu i zaczynać siÄ™ od „+â€�ogranicznik musi być pojedynczym znakiem�monitowane polecenie zrobiÅ‚o zrzut pamiÄ™ci�opcje --all i --save wzajemnie siÄ™ wykluczajÄ…�opcje włączajÄ…ce wyÅ›wietlanie wewnÄ™trznej bazy dircolors i wybranie skÅ‚adni powÅ‚oki wykluczajÄ… siÄ™ wzajemnie�opcje wyÅ›wietlajÄ…ce i ustawiajÄ…ce czas nie mogÄ… być używane razem�opcje specyfikujÄ…ce daty do wyÅ›wietlenia wzajemnie siÄ™ wykluczajÄ…�Porównywane napisy %s i %s.�opcja obcinania (strip) nie może być użyta przy instalowaniu katalogu�przystek musi mieć co najmniej %zu znaków�nieprzeksztaÅ‚conym napisem byÅ‚ %s�czas %s jest spoza zakresu�żeby użyć identyfikatora użytkownika %s trzeba użyć też opcji -g�za maÅ‚o X-ów we wzorcu %s�za dużo okreÅ›leÅ„ konwersji %% w rozszerzeniu�za dużo znaków w zbiorze�za dużo powtórzonych linii�za dużo wzorców�razem�błąd przeglÄ…dania: %s�obiekt z typem w pamiÄ™ci�uid=%s�nie udaÅ‚o siÄ™ wypisać komunikatu o błędzie�nie udaÅ‚o siÄ™ zapisać bieżącego katalogu roboczego�nie udaÅ‚o siÄ™ ustawić kontekstu bezpieczeÅ„stwa %s�nieoczekiwany błąd: fts_info=%d: %s prosimy o wysÅ‚anie raportu do %s�nieznany operator dwuargumentowy�nieznany kod wyjÅ›ciowe polecenia (0x%X)�nieznany strumieÅ„�nieznany identyfikator użytkownika %s�niezrozumiaÅ‚a wartość zmiennej Å›rodowiska LS_COLORS�nierozpoznany system pliów typu 0x%08lx w %s; proszÄ™ wysÅ‚ać raport do %s; powrót do cyklicznego sprawdzania�nierozpoznany argument %s�nierozpoznany prefiks: %s�dziaÅ‚a %2d:%02d, �dziaÅ‚a %ld dzieÅ„ %2d:%02d, �dziaÅ‚a %ld dni %2d:%02d, �dziaÅ‚a %ld dni %2d:%02d, �dziaÅ‚a ???? dni ??:??, �użyj --no-preserve-root do wyłączenia tego zabezpieczenia�użycie reguÅ‚ sortowania %s�użycie %s jako oznaczenia standardowego wejÅ›cia nie dziaÅ‚a w trybie systemu plików�użycie prostego porównywania bajtów�wartość za duża żeby mogÅ‚a być przeksztaÅ‚cona: „%sâ€�wartość zbyt duża żeby jÄ… wypisać: „%Lg†(program nie przetwarza wartoÅ›ci > 999Y)�wartość zbyt duża żeby jÄ… wypisać: „%Lg†(rozważ użycie --to)�czekanie na %s [-d]�czekanie na proces potomny�czekanie na program strip�uwaga: �uwaga: %s: znaki nastÄ™pujÄ…ce po staÅ‚ej znakowej zostaÅ‚y zignorowane�uwaga: %s: nie udaÅ‚o siÄ™ zmienić kontekstu na %s�uwaga: „touch %s†jest formÄ… przestarzałą; używaj „touch -t %04ld%02d%02d%02d%02d.%02dâ€�uwaga: opcja --pid=PID nie dziaÅ‚a w tym systemie�uwaga: opcja --retry jest przydatna głównie przy Å›ledzeniu nazwy�uwaga: zignorowany PID; opcja --pid=PID jest przydatna tylko przy Å›ledzeniu�uwaga: ukoÅ›nik odwrotny bez poprzedzajÄ…cego znaku cytowania na koÅ„cu formatu jest nieprzenoÅ›ny�uwaga: ukoÅ›nik odwrotny na koÅ„cu formatu�uwaga: nie udaÅ‚o siÄ™ usunąć %s�uwaga: nie udaÅ‚o siÄ™ wyłączenie zrzutów pamiÄ™ci�warning: staÅ‚e podążanie za standardowym wejÅ›ciem może sie nie udać�uwaga: nadmiarowe argumenty poczÄ…wszy od %s zostaÅ‚y zignorowane�uwaga: błędna pozycja w pliku po nieudanym czytaniu�uwaga: błędna szerokość %lu; używam %d zamiast�uwaga: numer linii %s jest taki sam jak numer linii poprzedzajÄ…cej�uwaga: sigprocmask�uwaga: plik źródÅ‚owy %s pojawiÅ‚ siÄ™ wiÄ™cej niż raz�uwaga: --summarize nie może być użyte razem z --max-depth=%lu�uwaga: --summarize jest tym samym co --max-depth=0�uwaga: niejednoznaczny zapis ósemkowy \%c%c%c zostanie zinterpretowany jako sekwencja 2-bajtowa \0%c%c, %c�uwaga: timer_create�uwaga: timer_settime�uwaga: nierozpoznana sekwencja „\%câ€�uwaga: ominiÄ™cie błędu dziaÅ‚ania lseek w jÄ…drze dla pliku (%s) o mt_type=0x%0lx - zobacz listÄ™ typów w <sys/mtio.h>�dziwny plik�jeżeli nie jest obcinany ZBIÓR1, ZBIÓR2 musi być niepusty�przy czytaniu nazw na wejÅ›ciu plik nie może mieć nazwy %s�tryb nie może być ustawiany, gdy podany jest format wyjÅ›cia�przy zamianie z użyciem dopeÅ‚nieÅ„ klas znaków, ZBIÓR2 musi odwzorowywać wszystkie znaki z dziedziny na jeden�jeżeli translacja jest robiona ze ZBIOREM1 dÅ‚uższym niż ZBIÓR2, ten ostatni nie może koÅ„czyć siÄ™ klasÄ… znaków�przy zamianie w ZBIORZE2 mogÄ… siÄ™ pojawić tylko klasy znaków „upper†(wielkie litery) i „lower†(maÅ‚e litery)�plik %s nie bÄ™dzie skopiowany poprzez wÅ‚aÅ›nie utworzone dowiÄ…zanie symboliczne %s�nie można utworzyć dowiÄ…zania zwykÅ‚ego %s do katalogu %s�nie można zamazać wÅ‚aÅ›nie utworzonego %s plikiem %s�z opcjÄ… --parents cel musi być katalogiem�przy ożyciu opcjia --suffix wzorzec %s musi koÅ„czyć siÄ™ znakiem X�podczas gdy FILE=%s, status wyjÅ›cia %d polecenia %s�podczas gdy FILE=%s, sygnaÅ‚ %s z polecenia %s�błąd zapisu�błąd pisania dla %s�błąd zapisu�zapis do %s�musisz użyć -c, -t -u, -l, -r albo kontekstu�musisz podać listÄ™ bajtów, znaków albo pól�musisz podać wzglÄ™dy %s z %s�musisz podać albo %s albo %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% przeczytanych recordów %+% zapisanych recordów �% obciÄ™ty rekord �% obciÄ™te rekordy �% obciÄ™tych rekordów �skopiowany % bajt (%s)�skopiowane % bajty (%s)�skopiowane % bajtów (%s)�nie udaÅ‚o siÄ™ obciąć pliku do % bajtów w pliku wyjÅ›ciowym %s�za duża wartoÅ›c pozycji w pliku: nie można obciąć pliku do dÅ‚ugoÅ›ci seek=% (%lu bajtowych) bloków�nie udaÅ‚o siÄ™ obciąć pliku do % bajtów w pliku wyjÅ›ciowym %s�%s:%: nie jest posortowany: %.*s�nie udaÅ‚o siÄ™ zaalokować % bajtu bufora standardowego wejÅ›cia �%s: %: nieprawidÅ‚owo sformatowana linia sumy kontrolnej %s�UWAGA: % linia jest nieprawidÅ‚owo sformatowana�UWAGA: % linie sÄ… nieprawidÅ‚owo sformatowane�UWAGA: % linii jest nieprawidÅ‚owo sformatowanych�UWAGA: % podany plik nie mógÅ‚ być odczytany�UWAGA: % podane pliki nie mogÅ‚y być odczytane�UWAGA: % podanych plików nie mogÅ‚o być odczytane�UWAGA: % policzona suma siÄ™ NIE zgadza�UWAGA: % policzone sumy siÄ™ NIE zgadzajÄ…�UWAGA: % policzonych sum siÄ™ NIE zgadza�poczÄ…tkowy numer strony % przekracza liczbÄ™ stron %�Strona %�przepeÅ‚nienie przy % * % bajtach dla pliku %s�nie udaÅ‚o siÄ™ obciąć pliku %s do % bajtów������������������������������������������������������������������������������������������������������������coreutils-8.21/po/coreutils.pot���������������������������������������������������������������������0000664�0000000�0000000�00000740660�12107204504�013531� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.21\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "" #: lib/closein.c:100 msgid "error closing file" msgstr "" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "" #: lib/error.c:188 msgid "Unknown system error" msgstr "" #: lib/file-type.c:38 msgid "regular empty file" msgstr "" #: lib/file-type.c:38 msgid "regular file" msgstr "" #: lib/file-type.c:41 msgid "directory" msgstr "" #: lib/file-type.c:44 msgid "block special file" msgstr "" #: lib/file-type.c:47 msgid "character special file" msgstr "" #: lib/file-type.c:50 msgid "fifo" msgstr "" #: lib/file-type.c:53 msgid "symbolic link" msgstr "" #: lib/file-type.c:56 msgid "socket" msgstr "" #: lib/file-type.c:59 msgid "message queue" msgstr "" #: lib/file-type.c:62 msgid "semaphore" msgstr "" #: lib/file-type.c:65 msgid "shared memory object" msgstr "" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" #: lib/file-type.c:70 msgid "weird file" msgstr "" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "" #: lib/gai_strerror.c:67 msgid "System error" msgstr "" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "" #: lib/quotearg.c:313 msgid "'" msgstr "" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 msgid "Bus error" msgstr "" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" #: lib/userspec.c:106 msgid "invalid user" msgstr "" #: lib/userspec.c:107 msgid "invalid group" msgstr "" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "" #: src/cut.c:872 msgid "missing list of positions" msgstr "" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:1218 msgid "invalid conversion" msgstr "" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "" #: src/dd.c:1227 msgid "invalid status flag" msgstr "" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "" #: src/df.c:1335 msgid "warning: " msgstr "" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "" #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "" #: src/head.c:886 msgid "number of bytes" msgstr "" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "" #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "" #: src/md5sum.c:597 msgid "OK" msgstr "" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "" #: src/sort.c:970 msgid "fflush failed" msgstr "" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "" #: src/sort.c:1755 msgid "read failed" msgstr "" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "" msgstr[1] "" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "" #: src/sort.c:3698 msgid "cannot read" msgstr "" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 msgid "unknown binary operator" msgstr "" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 msgid "missing ']'" msgstr "" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "" msgstr[1] "" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 msgid "IDLE" msgstr "" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" ��������������������������������������������������������������������������������coreutils-8.21/po/ga.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000455217�12107204516�012073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���­��0���˜��ý���;�����ôN�����üN��O������ÌP��ø���ÍP��Â���ÆQ��ª���‰R��G��4S��ù���|T��º���vU��p���1V��!��¢V��¼���ÄW��w��X��5��ùY��R��/[��~���‚\�� ���]��w���]��G���‡]��ï���Ï]��w���¿^��¡���7_��#��Ù_����ý`��š���b��Ä���b��z���bc��i���Ýc��ˆ���Gd��È���Ðd��„���™e��à���f��›���ÿf����›g��3��°h��K��äi��0���0k��Ê���ak��ç���,l��‡���m��¾���œm��E���[n��Œ���¡n��æ���.o����p��9���'q��t��aq��Ì���Ör����£s��Ë���·t��7���ƒu��¼���»u��F���xv��ì���¿v��¾��¬w��ë���ky��,���Wz��º���„z�����?{��ß���Ð{��‹���°|��·���<}��p���ô}��5���e~����›~����º��×���Ù€��ò���±��É���¤‚��Ê���nƒ��ð���9„��Ô���*…��Ó���ÿ…��¤���Ó†��i���x‡��õ���â‡��Z���؈��.��3‰��ž���bŠ��O��‹����QŒ�� ��á��£��îŽ��y��’�� �� ’��Ë��-“����ù”��¢���–��¡��»–��E���]˜��J���£˜�� ��î˜��&��ü™��Ý���#›��Ò���œ��’���Ôœ��°���g��Ë���ž��u���äž����ZŸ�����p ��ƒ����¡��ƒ���„¡��4��¢����=£����O¤��´��b¥��í���§�� ��¨��<���©��‘���M©��z���ß©��þ���Zª��f��Y«��1���À¬��;��ò¬��Æ���.®��q��õ®��×���g°��Þ���?±��ƒ���²��Ñ���¢²��Í���t³��Ñ���B´��ë���µ�����¶��Ó���·��I���ã·����-¸�� ��»¹��=��ܺ��*��¼��C���E½��X��‰½��?���â¾��š��"¿��¨��½À��$���fÂ��ú���‹Â��$���†Ã��*���«Ã����ÖÃ��&���õÄ��9���Å��#���VÅ��$���zÅ��!���ŸÅ��Ý���ÁÅ��,���ŸÆ��"���ÌÆ�� ���ïÆ��X��ýÆ��;���VÈ��|��’È����Ê��Ô���#Ë��Ü���øË��þ���ÕÌ�����ÔÍ�����ÙÍ�����âÍ�����èÍ����ûÍ��&���Ï�� ���>Ï�� ���HÏ�����TÏ�����gÏ�����zÏ�����Ï�����­Ï�� ���ÉÏ��+���êÏ�����Ð�����/Ð��D���JÐ��0���Ð�����ÀÐ��"���ÙÐ�����üÐ��/��� Ñ�� ���<Ñ�����]Ñ�����uÑ�����‹Ñ�����¤Ñ��>���ÁÑ��"����Ò��%���#Ò��B���IÒ��*���ŒÒ�����·Ò�����ÖÒ�����èÒ��)���øÒ�����"Ó��%���?Ó��,���eÓ��$���’Ó�����·Ó��/���×Ó�����Ô��8���Ô�����PÔ�����eÔ�����„Ô�����¡Ô�����µÔ�����ÔÔ�����éÔ�����úÔ�����Õ�����*Õ�����GÕ�����ZÕ�����lÕ�����Õ�����Õ��'���¡Õ�����ÉÕ��*���äÕ�����Ö��$���-Ö�����RÖ�� ���bÖ�����ƒÖ��"���™Ö�����¼Ö�����ÒÖ��;���èÖ�����$×�����7×�����S×�����o×�����Œ×�����ª×�����¾×��"���Õ×�����ø×����� Ø��)���%Ø�����OØ�����lØ�����}Ø��"���œØ��1���¿Ø��'���ñØ��(���Ù�� ���BÙ�����cÙ�����vÙ�����Ù��"���ªÙ�����ÍÙ�����ÜÙ��&���ïÙ�����Ú��"���1Ú�� ���TÚ�� ���`Ú�����mÚ�����Ú�����Ú����� Ú��5���¼Ú��0���òÚ��.���#Û�����RÛ��"���nÛ�����‘Û��+���¡Û�����ÍÛ�����íÛ�� ���ïÛ�����üÛ�����Ü��l���Ü��;��„Ü�����ÀÝ�� ���ÖÝ��6���äÝ��)���Þ�����EÞ�����WÞ�����nÞ�����…Þ�� ���œÞ�����§Þ��)���¬Þ�����ÖÞ�����èÞ�����ß�����ß�� ���ß�����!ß��k��8ß�����¤à��K���¬à��8���øà�����1á�� ���:á��3���Fá��½���zá�����8â�����Gâ�� ���Wâ�� ���dâ�����pâ��U��€â�����Öã��<��Ûã��\���å��+���uå��+���¡å��0���Íå�� ���þå�����æ�����æ��1���æ�� ���Pæ��7���[æ�����“æ�����¢æ�����§æ�����­æ�����³æ�����¹æ�����Êæ��¦���Ïæ�����vç��×��…ç�� ���]é�����hé�����oé�����‡é�����žé�����»é�����×é��$���ïé�����ê�����&ê�����Aê�� ���Pê�� ���\ê�� ���hê�����uê�� ���†ê�����’ê�����¤ê�����µê�����ºê�� ���Àê�� ���Íê�����Ûê�����ìê�����ë�����ë�� ���&ë�� ���4ë�� ���Aë�� ���Më�����Xë�����]ë�����bë��#���|ë����� ë�����©ë��*���Èë�����óë��E���öë�����<ì����Pì��o���bí�����Òí��&���Öí�� ���ýí�� ��� î�� ���î�����!î��#���(î��H���Lî��2���•î��i��Èî�����2ð��†���Pð��;���×ð��%���ñ��T���9ñ�����Žñ�� ���­ñ�� ���·ñ�� ���Äñ�����Ðñ�����ëñ�����üñ�����ò�����%ò�����6ò�����Eò�� ���Tò��1���bò��'���”ò�� ���¼ò�� ���Êò�� ���Øò��&���åò��*��� ó�����7ó�����?ó�����Oó��5���Tó�� ���Šó�����–ó�� ���žó�����«ó��$���°ó��$���Õó�����úó����� ô��+���ô�����Kô�����Pô�� ���_ô�����mô�����‚ô�����”ô�����¦ô�� ���¸ô��,���Åô��j���òô��&���]õ�� ���„õ��'���¥õ��0���Íõ�����þõ��Y���ö��'���wö��T���Ÿö��'���ôö��(���÷�����E÷�����Y÷��&���u÷��š���œ÷�����7ø�����Nø��#���ìø��&���ù�����7ù��"���Vù��T���yù��g���Îù��†���6ú��.���½ú�����ìú��"��� û��+���.û��Y���Zû��~���´û��¤���3ü��ä���Øü��=���½ý�����ûý��^���þ�� ���xþ��¢���™þ��F���<ÿ��'���ƒÿ��Z���«ÿ��`�����!���g��!���‰�� ���«��'���Ì��<���ô��T���1����†����‹�����¹���¥� ���_����i����n����t�;���‹�3���Ç�/���û�+���+�'���W�#�������£����Ã����ß�<���ï����,����2����8�*���:����e����}����—�A���´�2���ö�1���)� ���[����g�!���z����œ�#���£����Ç�0���ã��������.����?�*���P����{����™�"���¹����Ü����ú� ����,���:� ���g����ˆ����¨�+���Ç�#���ó�#����,���;�0���h�,���™�#���Æ����ê���� � ��� ����< ����X ����v ����” �$���³ ����Ø �'���î ���� ����0 �!���F ����h �1��� ����³ ����à ����à ����ô ���� �(��� ����D ����] �.���r �2���¡ ����Ô ����ï ���� �%���# �0���I �3���z ����® �B���Î �+��� �5���= �1���s ����¥ ����¾ �*���Ý ��������#�)���@����j�%���{����¡����±�8���Ì������������/����M�&���g�.���Ž�!���½����ß�&���î��������%����9�'���J����r����‡���� ����»����Ô����ë�%�������(� ���D� ���Q����^����q����†����œ����³�+���Ê�-���ö�!���$����F����e����y�8�������É����à����õ���� �3���� ���Q����[� ���l����x� ���ˆ����’�#���¥�"���É����ì����ý������������&�%���7�$���]�#���‚�!���¦�'���È����ð�����*���&�%���Q�%���w��������¼�(���Ú�,���� ���0�$���Q����v�����$���¡�#���Æ�%���ê�����!���0����R����f�3���„�-���¸�1���æ�1�������J����e��������™�#���³�1���×�.��� ����8����J� ���b����p�����(���¢����Ë�.���Ð����ÿ�D�������\����p����€��������¹����Ö����ð����ô���� �)����/���D�=���t�@���²�:���ó����.�!���L����n����€����’�;���©����å����û����� ���*����K����f����z�*����-���¸����æ����ö���� ����&����;����R����k����‡�%���Ÿ�#���Å�"���é���� � ���"����0����A�"���S� ���v����„����—����®����Á����Ý����ó�#��� �!���2 �!���T ����v ���� ����¬ ����Å � ���ä ����ñ ����!����!����$!�!���B!����d!�"���|!����Ÿ!����¿!� ���Ý!����þ!����"�]���+"����‰"����"�!���³"�*���Õ"� ����#� ��� #����.#����B#�2���W#�;���Š#����Æ#����ß#����ü#����$�R���1$�L���„$�(���Ñ$� ���ú$����%����%����)%����?%�,���]%�9���Š%����Ä%�0���Ê%�:���û%�'���6&�8���^&����—&����¬&� ���½&�/���Ë&�-���û&����)'����C'�&���Z'�)���'����«'�$���À'����å'����ü'����(����&(�+���?(�"���k(����Ž(����¥(�#���Ã(�$���ç(���� )����!)�!���A)�!���c)����…)�%���”)����º)����É)�7���Ø)�=���*����N*����l*����*����›*� ���®*����¼*�-���Ô*�C���+�(���F+� ���o+�'���y+����¡+����»+����Ë+�%���Û+����,�4���,� ���L,�&���m,� ���”,�$��� ,����Å,����ß,����ÿ,����-����3-�>���K-� ���Š-� ���•-����¡-����¶-����Ç-� ���Ú-� ���ç-����ó-���� .� ���!.� ���+.����5.����O.����d.����.����“.�$���¨.�-���Í.�7���û.����3/����:/����I/����X/����q/� ���/����/����«/����Ä/�#���á/�J���0� ���P0� ���^0����k0�*���€0����«0����Ç0����à0����ü0����1�8���01����i1� ���o1�H���}1�?���Æ1�=���2�>���D2�3���ƒ2�(���·2�N���à2�f���/3�>���–3�@���Õ3�<���4����S4�(���k4����”4�/���¯4����ß4����ú4����5����%5����+5�*���?5�!���j5����Œ5����¤5�3���¸5����ì5����6�0���6����M6����a6�H���s6�+���¼6�2���è6�8���7�=���T7�@���’7�#���Ó7����÷7�=���8�4���P8�.���…8�,���´8�<���á8�0���9�3���O9�7���ƒ9�c���»9�t���:� ���”:�3���Ÿ:�>���Ó:�5���;�j���H;�0���³;�,���ä;�*���<�3���<<� ���p<����|<� ���<� ���œ<�/���ª<�7���Ú<�Ù��=�Ú���ì>�Õ���Ç?�ò���@�g��A�ã���øB�¼���ÜC����™D�J��E�Æ���dF�d��+G�Q��H�§��âI�®���ŠK����9L�¤���OL�X���ôL�"��MM�Å���pN�¼���6O�“��óO�7��‡Q�¼���¿R���|S����ŒT�x���U�œ���•U�ñ���2V�•���$W�ß���ºW�|���šX�5��Y�O��MZ���[�C���;]�õ���]�&��u^�¥���œ_�û���B`�W���>a�Ÿ���–a�ö���6b� ��-c�R���8d���‹d� ��f�N��#g�×���rh�E���Ji�Ü���i�C���mj���±j�ó��Ík�*��Ám�7���ìn�Ø���$o�‘���ýo���p�˜���¡q�¹���:r�|���ôr�:���qs�N��¬s�L��ût�÷���Hv���@w�í���Xx�ò���Fy���9z�è���<{�â���%|�â���}�‹���ë}���w~�f���†�U��í�Ï���C�q��‚�Æ��…ƒ���L…�Ã��g†�Û��+ˆ�9��Š� ��A‹�*��N�ç���yŽ�®��a�E���‘�J���V‘���¡‘�8��½’�ï���ö“�à���æ”�™���Ç•�Ë���a–�î���-—�‡���˜�&��¤˜�—���Ë™�ž���cš�Œ���›�a��›�¬��ñœ�E��žž�ù��äŸ�ô���Þ¡� ��Ó¢�R���Ý£�«���0¤�–���ܤ���s¥���‹¦�D���©§�p��î§�Î���_©���.ª���®«�J��ʬ�“���®�Ý���©®�Æ���‡¯�é���N°�,��8±�'��e²�Ø���³�J���f´�®��±´�G��`¶�\��¨·�M��¹�D���Sº�¸��˜º�F���Q¼�Ž��˜¼�œ��'¾�7���Ä¿�=��ü¿�5���:Á�;���pÁ�J��¬Á�.���÷Â�9���&Ã�(���`Ã�-���‰Ã�'���·Ã� ��ßÃ�B���íÄ�3���0Å����dÅ�h��tÅ�9���ÝÆ���Ç�<��™È�à���ÖÉ�ï���·Ê� ��§Ë����±Ì� ���¶Ì����ÁÌ����ÈÌ�N��àÌ����/Î� ���JÎ� ���TÎ�Q���`Î����²Î����ÄÎ�.���ÞÎ�#��� Ï�(���1Ï�7���ZÏ����’Ï����ªÏ�?���ÂÏ�F���Ð����IÐ�)���fÐ����Ð�)��� Ð����ÊÐ����çÐ����Ñ�#���Ñ�.���?Ñ�O���nÑ�/���¾Ñ�;���îÑ�L���*Ò�L���wÒ�6���ÄÒ����ûÒ� ���Ó�C���5Ó�*���yÓ�6���¤Ó�E���ÛÓ�/���!Ô�+���QÔ�<���}Ô����ºÔ�B���ÍÔ����Õ�1���.Õ�*���`Õ����‹Õ�'���¡Õ����ÉÕ����ÝÕ����ðÕ����Ö����&Ö����CÖ����^Ö����rÖ����†Ö����™Ö�,���¬Ö����ÙÖ�+���óÖ�4���×�=���T×����’×�$���§×����Ì×�'���ä×���� Ø� ���+Ø�J���LØ����—Ø� ���¯Ø� ���ÐØ�'���ñØ�#���Ù����=Ù�$���VÙ�(���{Ù����¤Ù����¿Ù�(���ÞÙ����Ú���� Ú� ���3Ú�!���TÚ�>���vÚ�8���µÚ�4���îÚ����#Û����CÛ����XÛ� ���wÛ�(���˜Û����ÁÛ����ØÛ�)���ëÛ����Ü�#���.Ü� ���RÜ����_Ü����pÜ����€Ü�'���“Ü�&���»Ü�I���âÜ�C���,Ý�-���pÝ�-���žÝ�#���ÌÝ����ðÝ�7��� Þ����AÞ����aÞ����cÞ�&���}Þ����¤Þ�ˆ���§Þ�m��0ß����žà����±à�F���Æà�?��� á�$���Má����rá����‰á���� á� ���·á����Åá�'���Êá� ���òá�!���â����5â����Dâ����Lâ� ���Uâ�I��vâ����Àã�A���Æã�A���ä����Jä� ���Rä�T���^ä�ì���³ä���� å����¯å� ���¿å� ���Ìå����Ùå�¦��éå����ç�—��–ç�u���.é�-���¤é�,���Òé�0���ÿé� ���0ê����:ê����Bê�:���Sê����Žê�F���ê����äê� ���óê����þê� ���ë����ë����ë� ���(ë�í���3ë����!ì���0ì� ���Kî����Xî����_î����xî�%���‘î�#���·î�#���Ûî�+���ÿî�"���+ï� ���Nï����oï� ���~ï� ���Šï� ���–ï����£ï� ���´ï����Àï����Òï����ãï����éï����ùï� ���ð����ð����/ð����Hð����Xð� ���gð� ���uð� ���‚ð����Žð����ð����¢ð����§ð�0���Äð����õð�(��� ñ�0���3ñ����dñ�I���gñ����±ñ�E��Çñ�‹��� ó����™ó�6���ó� ���Ôó� ���àó� ���ëó����øó�����ô�E��� ô�B���fô�Ž��©ô�'���8ö�”���`ö�5���õö�.���+÷�w���Z÷����Ò÷� ���ð÷� ���ý÷� ��� ø����ø����2ø����Kø����jø����~ø����ø����žø� ���­ø�8���»ø�+���ôø� ��� ù� ���.ù� ���<ù�7���Iù�=���ù����¿ù����Èù����Øù�c���Þù� ���Bú����Nú����]ú����oú�,���tú�2���¡ú����Ôú����æú�.���ýú����,û����4û����Cû����Vû� ���rû� ���€û� ���Žû����œû�1���¤û����Öû�#���Xü�$���|ü�-���¡ü�4���Ïü�!���ý�f���&ý�+���ý�Z���¹ý�)���þ�+���>þ����jþ����þ�%���œþ�¶���Âþ����yÿ�³���‘ÿ�%���E��)���k��!���•��'���·��\���ß��t���<�‘���±�3���C����w�'���—�/���¿�]���ï�ƒ���M�ª���Ñ���|�<���ƒ� ���À�f���á�#���H�º���l�I���'�*���q�[���œ�k���ø�$���d�%���‰�(���¯�,���Ø�6��� �O���< ����Œ ����• ���� �ë���´ � ���  ����ª � ���² ����¼ �B���Ì �,��� �(���< �$���e � ���Š ����« ����È ����á ����ö �=���þ ����< � ���B ����L �+���N ����z � ���™ � ���º �T���Û �G���0 �E���x ����¾ �%���Ï �4���õ ����*�)���/�%���Y�P����,���Ð����ý�&����C���>�(���‚�&���«�1���Ò�/����<���4�)���q�G���›�9���ã�8����7���V�<���Ž�,���Ë�M���ø�C���F�G���Š�L���Ò�6����$���V�#���{�.���Ÿ�*���Î�'���ù�+���!�,���M�3���z����®�8���Í�#����#���*�1���N�*���€�E���«����ñ�#��� ����.�"���J����m�<���†�(���Ã����ì�R��� �A���_�$���¡�*���Æ�'���ñ�4����G���N�P���–�+���ç�W����I���k�]���µ�L����"���`�-���ƒ�;���±�'���í�'����<���=����z�3���•����É�/���è�4����&���M�#���t�)���˜�4���Â�;���÷�2���3�D���f����«�-���Ã����ñ�+��� ����6�=���P����Ž����¥����Ä�%���Ü�����*����9���?����y����”����¥����·����Î����ç����� ���� �<���4 �5���q �7���§ �,���ß ���� !����'!�F���E!�-���Œ!����º!����Ô!����í!�J���"� ���O"����Z"� ���k"����y"� ���‹"� ���—"�2���¸"�2���ë"����#����9#����V#����_#����s#�*���†#�*���±#�#���Ü#�%����$�+���&$�(���R$�$���{$�7��� $�3���Ø$�/��� %�1���<%�/���n%�A���ž%�B���à%�1���#&�6���U&����Œ&����¬&�-���Å&�3���ó&�+���''�)���S'�:���}'����¸'� ���Í'�Q���î'�.���@(�A���o(�R���±(����)����#)�"���B)�-���e)�C���“)�Q���×)�8���)*����b*� ���s*����”*�!���¤*����Æ*�%���â*����+�,��� +����:+�P���X+����©+����Æ+�!���Ø+����ú+����,�&���6,����],�'���a,�!���‰,�J���«,�l���ö,�F���c-�L���ª-�F���÷-�6���>.�1���u.����§.����¿.� ���Î.�M���ï.����=/����X/� ���q/�*���’/�!���½/����ß/����ü/�4���0�7���F0����~0�%���”0����º0����Ú0����ô0���� 1�%���+1����Q1�7���q1�(���©1�.���Ò1� ���2����"2����62����M2�0���e2����–2����«2� ���Ë2����ì2�(���3����13� ���N3�0���o3�*��� 3�)���Ë3����õ3�,���4�!���B4�)���d4����Ž4���� 4����µ4����Ë4�#���â4�'���5����.5�4���K5�.���€5�!���¯5�0���Ñ5����6����6�n���86����§6����Æ6�!���à6�;���7����>7�&���W7����~7����œ7�>���¹7�K���ø7����D8�"���^8�%���8�"���§8�j���Ê8�`���59�6���–9����Í9����æ9����:�!���:�!���>:�4���`:�K���•:� ���á:�7���ë:�E���#;�1���i;�8���›;����Ô;����ì;����ü;�:���<�2���L<�!���<�,���¡<�3���Î<�1���=����4=�;���Q=����=����©=����Â=�!���×=�6���ù=�)���0>����Z>� ���p>����‘>�)���®>����Ø>����ë>�)����?�'���*?� ���R?�(���^?����‡?����–?�3���¦?�[���Ú?�%���6@����\@�)���{@����¥@�#���¾@�(���â@�=��� A�=���IA�.���‡A� ���¶A�2���ÁA����ôA����B���� B�1���0B�!���bB�=���„B�4���ÂB�#���÷B����C�6���,C�#���cC� ���‡C����¨C����½C�"���ÙC�F���üC����CD����VD����fD����~D����–D� ���«D� ���¹D����ÆD����ßD����öD� ��� E�$���E�$���;E����`E����yE����E�#���¤E�@���ÈE�K��� F����UF����^F����vF����…F� ���¢F����°F�'���¿F�$���çF���� G�.���)G�S���XG����¬G����¼G�!���ÑG�1���óG�2���%H����XH����sH����’H�&���¬H�@���ÓH����I����I�T���+I�Y���€I�W���ÚI�B���2J�4���uJ�8���ªJ�M���ãJ�€���1K�P���²K�F���L�>���JL����‰L�L���ŸL����ìL�3��� M����=M����[M����wM����M����•M�+���¯M�/���ÛM���� N�$���)N�4���NN����ƒN����™N�@���°N����ñN���� O�R���!O�;���tO�2���°O�I���ãO�[���-P�X���‰P�+���âP�#���Q�F���2Q�A���yQ�<���»Q�D���øQ�>���=R�;���|R�D���¸R�2���ýR�s���0S�ˆ���¤S����-T�J���=T�[���ˆT�G���äT�„���,U�E���±U�2���÷U�3���*V�B���^V����¡V�#���¶V����ÚV����ìV�;���ýV�C���9W����ª��’��ì��T�������������•��~��Ä��*��H���8���l��ç������A��Ý���������������������������B��:���-��…������Š����������d��ô��À���������´�����������<������R����Ü��…��t��ò���Ó��z���o��¢���Ÿ��!��à���©������ƒ��b���o����������–��°������÷��¤�����D���¤������-������v�����ý��”���€��Ï��Â������$������ ��b������¸��������������‰������ï�� ���i��0����������æ���\���������”����5��S���‡��\��g��8�� �������G���í������@����������»���=������Ñ��ñ��•���Æ��������������ú��B��¦������Í��Ý��¢��t���=�����������n��@��`��w��Ù���l�������X��×��“��è��v��������������¡��L��������C���}��c�������û��S��§�������I�� ��Œ��:��>��G��U��������������A��>��i��� ��p��è�����(����N������#�� ��M������û��O��� ��Î���«��¡���J������0��Ì���@���*������I�����‰�������j������+������£��4����8����������©����(�����‡���T��������;������������f��C������ž��ì��£����������»������î����­���È�����������Þ����Ž�������ÿ��Å�����������ü��j�������������������–������¬��á��?���Ÿ���ß��q����{��Þ��������� ��R������X������G�����µ�������B���)��f�����������k����������������P��É��h��R���š���������ý���������!�������¯��� ��¿���)���E������ò��������˜��a��z��^��§��à��m��¯������������€��Z��ð�������Ç���L��J��¹��ä��¿��?��Ø��������������f��ˆ�������¨������ó������s��7���É��¹��Š��Ò�������Æ�����������������/��À��2��î�������u��•��!��H������������������å��'��c���������õ��†��D��w���������p���]�������®��������������ù��›��Ü��µ����K������� �������ˆ��â��ö�������*����������Q��,��³��I��Ï�������þ������ê���¾������ç��Ž��ã��æ������ë�����������Ü���ë��^��ã������¦���e������Ð��ß���f���¯��s��«��—��p����0��Å��š���5��Ø��ð��ñ���y�������·��Í���g������X���Æ��b��Ž����������C��n��Ï����������t��5���ê��Ì������"��}�������¶���'������¹���•������Ú���x����u��Á��‚������l����������—��y��x���������� ��o������û���������������®����������¾�������P��Õ��ñ����������¸���`��C��Ù��ª��Ç��e�� ��ó��:����«���—�����������������á���Ë��F���Ã��×���]������Å��M��g��ƒ������ˆ����������‹��ž���î��\��Y��b������3��������ë��I��ý��������Ø���ß������~��¥��¬��U��"��™��!��¨�������ù����0���h��Ç���� ��X�� ���K������~���¬�������j��W��-��Q����������z�� ��<��‚������|������[��a��6���������1���é��a���������������á��ö������Ì������;��z��€��Ê��‰����-�������W���{�����H����7��Ä���è������&�������½��u���€�������W��ç���K��i��ª���N��U��>���]���������'������|��E��+���7������÷���­��ì���–������u��=��Þ��w�������Q������2��� ��|���’���������W��c������¤���ü���í���ˆ��Y���T���Œ��M�������������õ����������Ý�����������`���|��©��º��þ��)��¬���p��1������r��L��Ó��<���m��ô�����������������������J����Ê��¼��ï���2��j��n�����������Ô��œ���$��¡��V��£�������������������U���Ò��r������4��Ž��°��Y������¥��e������‘��˜���=��¸���������������������S������ª��k�����������ø�������‚���������������¼������,������� ����������¿��½�������Â������›��„��r�������®��� ��Õ��Õ���F��?��y��Ñ��Û���È���������å�����������R��›������A���������Œ��¾�� ����}��������P��†��l��������������Á���������������V������F��¢��N�����¤��������&��_��å����������‘��¨��º�������"���´��[��E��$�������ú����������{������������6��š��Ô��������������T��x������@��¦������N��ü��Z����$��™���3��×��ä������°��� ��]��œ����������º��ÿ������8������˜��h�������¦��A���ô���1�������������q��Ö��é���t��Š���Ã��þ���~������_���©�����9���’�������—��”��Ú��\���‚��O������ï��������������J���2������6��v���Ã���������������������³���3�������ÿ���­������â���ž������í��h������õ������,��x���­��#������K��4�����������M���³����O����Ê�������‡��v�� ��B������É���V���.���œ��ž����…���¨��Â���ò��9����Q���}����.��§��Z���Ë������<������¥���£��é��Ë�����������������q���&��_����Ó�������%�������”��_��š��±��d���ó��d��¢������9������������+��²��Ú����µ��–���œ��s������™������������ �����ƒ��Î��"��Ä��`��i��,��‹����������¶������„������‹���������������E���;��Ù��„���7������?������#���������n��ä���(������������������.��/���™������ú���k������‰��#���e���[���»������¥��6��‘����������ê��Î��P���Ñ���Ÿ����������ƒ���Û������m���%������L���������Á������«�����Ô������˜��ö��‹��F��*���� ��ã���9��†��{������������Š����Ò������‡��Ð��H����Ð�������Z����3��ð��›���������Í����m��G��%��È��5��â��¼���>���� ���·������„������^��Ö����q������y��k��S������§��²���c������“��+��������������²��…��±�������½��Y��D��’��ù�����%��4����d�� ��´������r��¡������“��������†���Ÿ��������o����������¶��.��&��/���������‘���÷���������� ���:��Ö�������'���[��V������æ��ø��)������������w��±��s�����1��·���/��O��À�� ��ø����������(������������Û��^���“������g�������D��;�������Œ���a��à���������� ���������}W�4O��`O��tO��ˆO��œO��°O��ÌO��àO�� P��@P��tP��ˆP��œP��¸P��…W��������������� �����������������ÿÿÿÿ¥W��������1���ÿÿÿÿ×W��������/���ÿÿÿÿX�7����������ÿÿÿÿQX��������(���ÿÿÿÿ~X������������������ÿÿÿÿªX�����������ÿÿÿÿ±X��������������������������������ÿÿÿÿØX���������������������������������������ÿÿÿÿ?Y������������������������������������ ���ÿÿÿÿÅY�5����������ÿÿÿÿ Z��������*���ÿÿÿÿ;Z�"�������$����������ÿÿÿÿ‚Z� ����������ÿÿÿÿ� ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --login print system login processes � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--context (-Z) works only on an SELinux-enabled kernel�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �Address family for hostname not supported�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad value for ai_flags�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�Filesystem�Force changed blocks to disk, update the super block. �H. Peter Anvin�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Inodes�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�LINE�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print machine architecture. �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the user name associated with the current effective user ID. Same as id -un. �Processing request in progress�Project: �Q. Frank Xia�Randy Smith�Regular expression too big�Request canceled�Request not canceled�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Torbjorn Granlund�Trailing backslash�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�conflicting empty-field replacement strings�conflicting security context specifiers given�couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to remove %s�failed to remove directory %s�failed to restore the default file creation context�failed to return to initial working directory�failed to set %s security context component to %s�failed to set default file creation context to %s�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�typed memory object�unable to record current working directory�unable to set security context %s�unknown binary operator�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 6.12 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2008-06-01 12:24-0500 Last-Translator: Kevin Scannell <kscanne@gmail.com> Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net> Language: ga MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 && n<11) ? 3 : 4; � ( SLONN ) tá SLONN fíor ! SLONN tá SLONN bréagach SLONN1 -a SLONN2 tá SLONN1 agus SLONN2 fíor SLONN1 -o SLONN2 tá SLONN1 nó SLONN2 fíor � -a, --all ar comhbhrí le `-b -d --login -p -r -t -T -u' -b, --boot am an atosaithe is déanaí -d, --dead taispeáin próisis mharbha -H, --heading taispeáin teidil na gcolún � -b COMHAD tá COMHAD ann agus is comhad speisialta den chineál `bloc' é -c COMHAD tá COMHAD ann agus is comhad speisialta den chineál `carachtar' é -d COMHAD tá COMHAD ann agus is comhadlann é -e COMHAD tá COMHAD ann � -l taispeáin eolas faoin ÚSÃIDEOIR i bhformáid fhada aschurtha -b ná taispeáin comhadlann bhaile agus blaosc i bhformáid fhada -h ná taispeáin an comhad tionscadail i bhformáid fhada -p ná taispeáin an comhad plean i bhformáid fhada -s formáid achomair (réamhshocrú) � -n TEAGHRÃN níl TEAGHRÃN folamh TEAGHRÃN ar comhbhrí le -n TEAGHRÃN -z TEAGHRÃN tá TEAGHRÃN folamh TEAGHRÃN1 = TEAGHRÃN2 is ionann iad TEAGHRÃN1 != TEAGHRÃN2 ní ionann iad � ARG1 * ARG2 iolrach uimhríochtúil de ARG1 agus ARG2 ARG1 / ARG2 líon uimhríochtúil de ARG1 roinnte le ARG2 ARG1 % ARG2 fuílleach agus ARG1 á roinnt le ARG2 � ARG1 + ARG2 suim uimhríochtúil de ARG1 agus ARG2 ARG1 - ARG2 difríocht uimhríochtúil idir ARG1 agus ARG2 � ARG1 < ARG2 Tá ARG1 níos lú ná ARG2 ARG1 <= ARG2 Tá ARG1 níos lú ná, nó is ionann agus, ARG2 ARG1 = ARG2 is ionann iad ARG1 agus ARG2 ARG1 != ARG2 ní ionann ARG1 agus ARG2 ARG1 >= ARG2 Tá ARG1 níos mó ná, nó is ionann agus, ARG2 ARG1 > ARG2 Tá ARG1 níos mó ná ARG2 � COMHAD1 -ef COMHAD2 tá uimhreacha ghléis agus inode céanna acu COMHAD1 -ef COMHAD2 tá COMHAD1 níos úire (mionathrú) ná COMHAD2 COMHAD1 -ot COMHAD2 tá COMHAD2 níos úire ná COMHAD1 � UIMHIR1 -eq UIMHIR2 is ionann iad UIMHIR1 -ge UIMHIR2 tá UIMHIR1 níos mó, nó is ionann agus, UIMHIR2 UIMHIR1 -gt UIMHIR2 tá UIMHIR1 níos mó ná UIMHIR2 UIMHIR1 -le UIMHIR2 tá UIMHIR1 níos lú, nó is ionann agus, UIMHIR2 UIMHIR1 -lt UIMHIR2 tá UIMHIR1 níos lú ná UIMHIR2 UIMHIR1 -ne UIMHIR2 ní ionann iad � TEAGHRÃN : SLONN comhoiriúnaigh an patrún SLONN i dTEAGHRÃN match TEAGHRÃN SLONN ar comhbhrí le `TEAGHRÃN : SLONN substr TEAGHRÃN ÃIT FAD fotheaghrán de TEAGHRÃN, tosaíonn ÃIT ag 1 index TEAGHRÃN CAR áit i dTEAGHRÃN atá aon charachtar i CAR, nó 0 length TEAGHRÃN fad an TEAGHRÃIN � a uimhrigh gach líne t ná huimhrigh ach línte nach folamh n ná huimhrigh ar chor ar bith pSLONN ná huimhrigh ach na línte atá comhoiriúnach le SLONN bunúsach Tá FORMÃID ar cheann de na roghanna seo a leanas: ln comhfhadaithe ar clé agus gan nialais ar tosach rn comhfhadaithe ar dheis agus gan nialais ar tosach rz comhfhadaithe ar dheis, le nialais ar tosach � b cruthaigh comhad speisialta den chineál `bloc' (maolánaithe) c, u cruthaigh comhad speisialta den chineál `carachtar' (gan mhaolán) p cruthaigh FIFO � # úsáideoirí=%lu � Is éard atá i réimse: stráice spás bán (spásanna agus táib go hiondúil), agus ansin carachtair nach spás bán. Gabhtar thar réimsí roimh charachtair. � Ciallaíonn `-' lom an rogha `-i'. Mura bhfuil ORDÚ ann, taispeáin an timpeallacht. � Tá leithead roghnach an réimse i ndiaidh na mbratach, mar uimhir dheachúlach; ansin mionathraitheoir roghnach atá ceann de: E, chun léirithe malartacha an logchaighdeán a úsáid, más féidir, nó O, chun siombalacha malartacha uimhriúla an logchaighdeán a úsáid, más féidir. � Mura bhfuil SLONN ann, is bréagach an luach réamhshocraithe. I ngach cás eile, is fíor nó bréagach SLONN agus socraíonn sé an stádas scortha. Tá sé ceann de na luachanna seo a leanas: � Mar chás speisialta, déanann `cp' cúltaca de FOINSE nuair a thugtar na roghanna --force agus --backup, agus is ionann iad na hainmneacha FOINSE agus SPRIOC ar ghnáthchomhad atá ann. � Ní foláir duit cuid mhór oibreoirí a chur idir comharthaí athfhriotal chun iad a chosaint ón bhlaosc. Déan comparáid uimhríochtúil más uimhreacha ARG1 agus ARG2; i ngach cás eile, déan comparáid fhoclóireachta. Ais-seolann patrúin chomhoiriúnacha an teaghrán atá idir \( agus \), nó nialas; mura bhfuil \( agus \) ann, ais-seolann siad líon na gcarachtar a bhí comhoiriúnaithe. � ní foláir PRÃOMH agus MION araon a thabhairt má tá an CINEÃL b, c, nó u, agus ní cheadaítear iad ar chor ar bith le CINEÃL p. Má tá 0x nó 0X ag ceann PRÃOMH nó MION, caith leis mar heicsidheachúlach; le 0 aonraic, mar ochtnártha; agus i ngach cás eile, mar deachúlach. CINEÃLacha bailí: � De réir réamhshocraithe, ní bhaineann rm comhadlanna. Úsáid an rogha --recursive (-r nó -R) chun na comhadlanna uile a bhaint freisin, in éineacht le gach rud atá isteach iontu. � Mar réamhshocrú, roghnaítear -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. Is dhá charachtar teormharcóra CC chun leathanaigh loighciúla a scaradh. Má tá an dara carachtar ar iarraidh, glactar le :. Iontráil \\ do \. Tá STÃL ar cheann de na roghanna seo a leanas: � Roghanna measctha: * [-]LCASE ar comhbhrí le [-]lcase cbreak ar comhbhrí le -icanon -cbreak ar comhbhrí le icanon � Is féidir le gach BRATACH a bheith: append mód iarcheangail (ná húsáid ach le haschur; moltar conv=notrunc) � Mar shampla: %s f - g Taispeáin f, ansin an gnáth-ionchur, agus g ina dhiaidh sin. %s Cóipeáil an gnáth-ionchur go dtí an gnáth-aschur. � Mar shampla: %s root /u Athraigh an t-úinéir de /u go "root". %s root:foireann /u Mar an gcéanna, ach athraigh a ghrúpa go "foireann" freisin. %s -hR root /u Athraigh an t-úinéir de /u agus a fochomhaid go "root". � Mar shampla: %s foireann /u Athraigh grúpa de /u go "foireann". %s -hR foireann /u Athraigh grúpa de /u agus a fhochomhaid go "foireann". � Seachas -h agus -L, dí-thagróidh tástálacha COMHAID gach nasc siombalach. Ní foláir duit `(' agus `)' a chosaint ón bhlaosc le, m.sh., cúlslaiseanna. Is féidir le hUIMHIR a bheith -l TEAGHRÃN, fad an teaghráin. � Stádas scortha = 0 mura bhfuil SLONN nialasach, 1 má tá, 2 más slonn neamhbhailí é, agus 3 má tharlaíonn earráid. � Láimhseáil an líne tty atá ceangailte leis an ngnáth-ionchur. Gan argóintí, taispeáin ráta bád, disciplín líne, agus claonadh ó stty sane. I roghanna, glactar CAR go litriúil, nó ionchódaithe m.sh. ^c, 0x37, 0177 nó 127; úsáid luachanna ^- nó undef chun carachtair speisialta a stopadh. � Más '-' é COMHAD, léirscrios an gnáth-aschur. Scrios COMHA(I)D má tá --remove (-u) ceaptha. De réir an réamhshocraithe, ná scrios na comhaid de bhrí go mbaintear le comhaid ghléis mar /dev/hda go coitianta, agus ní ceart na comhaid seo a scriosadh. Baintear úsáid as an rogha --remove go hiondúil le gnáthchomhaid. � Mura bhfuil AONÚ nó INCRIMINT tugtha, tá siad réamhshocraithe go 1. Is ionann sin agus a rá go réamhshocraítear INCRIMINT go 1, fiú amháin má tá DEIREADH níos lú ná AONÚ. Caitear le AONÚ, INCRIMINT, agus DEIREADH mar luachanna snámhphointe. Tá INCRIMINT deimhneach de ghnáth má tá AONÚ níos lú ná DEIREADH, agus tá INCRIMINT diúltach de ghnáth má tá AONÚ níos mó ná DEIREADH. � Más '-' é an COMHAD, cóipeáil arís go dtí an gnáth-aschur. � Roghanna ionchurtha: [-]brkint seol comhartha idirbhriste i ndiaidh briseadh [-]icrnl tiontaigh aisfhilleadh go líne nua [-]ignbrk déan neamhshuim ar charachtair bhriste [-]igncr déan neamhshuim ar aisfhilleadh � Roghanna logánta: [-]crterase déan macalla de charachtair léirscriosta mar cúlspás+spás+cúlspás * crtkill scrios gach líne trí ghéilleadh do na roghanna echoprt/echoe * -crtkill scrios gach líne trí ghéilleadh do na roghanna echoctl/echok � NÓTA: géilleann '[' do na roghanna --help agus --version, ach úsáideann 'test' --help agus --version díreach cosúil le aon TEAGHRÃN eile nach bhfuil folamh. � NÓTA: is féidir go bhfuil leagan eile de %s ag do bhlaosc féin, agus go hiondúil sháródh sé an leagan a ndéantar cur síos air anseo. Féach ar dhoiciméadú do bhlaoisce chun tuilleadh eolais a fháil faoi na roghanna a dtacaíonn sé leo. � Tabhair faoi deara go bhfuil formáidí difriúla am-dáta ag na roghanna -d agus -t. � Cuir `-' roghnach roimh LUACH chun diúltú a dhéanamh. Comharthaítear roghanna neamh-POSIX le `*'. Socraíonn an córas féin na roghanna atá ar fáil. � Roghanna aschuir: * bsN mód moille do chúlspásanna, N=0 nó 1 * crN mód moille d'aisfhilleadh, N=0,1,2, nó 3 * ffN mód moille d'fhoirmfhotha, N=0 nó 1 * nlN mód moille do línte nua, N=0 nó 1 � Cuir an luach de SLONN chuig an ghnáth-aschur. Dealaíonn líne fholamh thíos grúpaí tosaíochta. Is féidir SLONN a bheith: ARG1 | ARG2 ARG1 mura bhfuil sé nialasach, ARG2 má tá ARG1 & ARG2 0 má tá ceachtar nialasach, ARG1 mura bhfuil � Má tá an COMHAD `-', léigh ón ghnáth-ionchur. Is féidir PATRÚN a bheith: � Sonraíonn TACAR mar theaghrán carachtar. Ciallaíonn carachtar é féin de ghnáth. Cóid léirmhínithe: \NNN carachtar le luach ochtnártha NNN (1,2, nó 3 digit) \\ cúlslais \a BEL inchloiste \b cúlspás \f foirmfhotha \n líne nua \r aisfhilleadh \t táb cothrománach � Carachtair speisialta: * dsusp CAR Seolfaidh CAR comhartha chun an teirminéal a stopadh nuair a bheidh an t-ionchur sruthlaithe eof CAR Seolfaidh CAR comhadchríoch (críochnaigh ionchur) eol CAR Críochnóidh CAR an líne � Ionchódaítear na sonraí mar a thuairiscítear d'aibítir base64 i RFC 3548. Le linn díchódaithe, is féidir línte nua a bheith san ionchur in éineacht leis na bearta den aibítir fhoirmiúil base64. Úsáid --ignore-garbage chun iarracht a dhéanamh teacht slán ó charachtair neamhaibítreacha eile sa sruth ionchódaithe. � Úsáid ceann, agus gan ach ceann de -b, -c, nó -f. Is raon é gach LIOSTA, nó roinnt raonta scartha le camóga. Scríobhann an t-ionchur roghnaithe san ord á léadh, agus ní scríobhtar é ach uair amháin. � Mura bhfuil COMHAD ann, nó más '-' é, léigh ón gnáth-ionchur. � Mura bhfuil aon rogha ann, taispeáin an t-aschur i trí cholún. Sa chéad cholún, línte atá i gCOMHAD1 ach nach COMHAD2; sa dara cholún, línte atá i gCOMHAD2 ach nach COMHAD2, agus comhlínte sa tríú colún. � Mura bhfuil ROGHA ann, taispeáin roinnt bheag eolais thairbhigh. � Scríobh léiriú gan athbhrí, bearta ochtnártha mar réamhshocrú, de CHOMHAD chuig an ghnáth-aschur. Má tá níos mó ná argóint CHOMHAD amháin ann, comhcheangail iad in ord leis an ionchur a chruthú. Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur. � --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann -b cosúil le `--backup' ach gan argóint -d, -F, --directory ceadaigh don fhorúsáideoir nasc crua do chomhadlanna a dhéanamh (ach is dócha go dteipfear de bharr srianta an chórais, go fiú don fhorúsáideoir) -f, --force scrios sprioc-chomhad má tá sé ann cheana � --group-directories-first grúpáil comhadlanna roimh chomhaid. méadaigh le rogha --sort, ach díchumasófar grúpáil má bhaintear úsáid ar bith as --sort=none (-U) � --help taispeáin an chabhair seo agus scoir � -l, --lookup féach le caighdeánú na hóstainmneacha le DNS -m níl ach óstainm agus úsáideoir nasctha leis an ngnáth-ionchur -p, --process taispeáin próisis a chuir init ar bun � --no-preserve=TRÉITHE ná caomhnaigh na tréithe ceaptha --parents úsáid ainm lán an chomhaid faoi CHOMHADLANN � --one-file-system nuair atá comhadlanna á mbaint go hathchúrsach, ná bain comhadlanna atá ar chóras comhad nach ionann leis an gceann a sonraíodh in argóint ar líne na n-orduithe � --preserve-context caomhnaigh an comhthéacs slándála SELinux -Z, --context=CMHTCS socraigh comhthéacs slándála de chomhaid/chomhadlanna � --strip-trailing-slashes scrios slaiseanna ag deireadh gach argóint FOINSE -S, --suffix=IARMHÃR sáraigh an gnáth-iarmhír cúltaca � --verbose taispeáin diagnóisic go díreach roimh atá gach aschomhad oscailte � --version taispeáin eolas faoin leagan agus scoir � -evenp ar comhbhrí le -parenb cs8 * [-]lcase ar comhbhrí le xcase iuclc olcuc litout ar comhbhrí le -parenb -istrip -opost cs8 -litout ar comhbhrí le parenb istrip opost cs7 nl ar comhbhrí le -icrnl -onlcr -nl ar comhbhrí le icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar déan neamhshuim ar charachtair le hearráidí phaireachta * [-]imaxbel bíp agus ná sruthlaigh maolán lán ionchurtha [-]inlcr tiontaigh líne nua go haisfhilleadh [-]inpck cuir seiceáil phaireachta den ionchur ar siúl [-]istrip glan an t-ochtú giotán de gach carachtar ionchurtha � cooked ar comhbhrí le brkint ignpar istrip icrnl ixon opost isig icanon, eof agus eol ag glacadh a luachanna réamhshocraithe -cooked ar comhbhrí le `raw' crt ar comhbhrí le echoe echoctl echoke � dec ar comhbhrí le echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq ar comhbhrí le [-]ixany ek glac carachtair scriosta/maraithe a luachanna réamhshocraithe evenp ar comhbhrí le parenb -parodd cs7 � ispeed N socraigh an luas ionchurtha a bheith N bád * line N socraigh disciplín líne N min N le -icanon, N=íosmhéid de charachtair in aon léamh ospeed N socraigh an luas aschurtha a bheith N bád � oddp ar comhbhrí le parenb parodd cs7 -oddp ar comhbhrí le -parenb cs8 [-]parity ar comhbhrí le [-]evenp pass8 ar comhbhrí le -parenb -istrip cs8 -pass8 ar comhbhrí le parenb istrip cs7 � raw ar comhbhrí le -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw ar comhbhrí le `cooked' � stop CAR stopfaidh CAR an t-aschur susp CAR seolfaidh CAR comhartha chun an teirminéal a stopadh * swtch CAR athróidh CAR chuig sraith bhlaoisce eile * werase CAR léirscriosfaidh CAR an focal is déanaí � %A lá den tseachtain ina iomláine (m.sh., "Dé Domhnaigh") %b an mhí ghiorraithe (m.sh. "Ean") %B an mhí ina hiomláine (m.sh. "Eanáir") %c an dáta agus an t-am (m.sh., Aoine 30 MFómh 2005 14:23:52 UTC) � %F an dáta iomlán; ar comhbhrí le %Y-%m-%d %g bliain uimhir na seachtaine ISO: an dá dhigit deiridh (féach ar %G) %G bliain uimhir na seachtaine ISO (féach ar %V); de ghnáth úsáidtear é seo le %V amháin � %S soicind (00..60) %t táb cothrománach %T an t-am; ar comhbhrí le %H:%M:%S %u lá den tseachtain (1..7); 1 = Dé Luain � %U uimhir na seachtaine sa bhliain, le Domhnach mar an chéad lá (00..53) %V uimhir na seachtaine ISO, le Luan mar an chéad lá (01..53) %w lá na seachtaine (0..6); 0=Dé Domhnaigh %W uimhir na seachtaine sa bhliain, le Luan mar an chéad lá (00.53) � %h ar comhbhrí le %b %H uair (00..23) %I uair (01..12) %j lá den bhliain (001..366) � %n líne nua %N nanashoicindí (000000000..999999999) %p AM nó PM de réir an logchaighdeáin; (folamh más anaithnid é) %P cosúil le %p, ach le litreacha beaga %r an t-am, dhá uair déag (m.sh., 11:11:04 PM) %R an t-am, ceithre huaire fichead; ar comhbhrí le %H:%M %s soicindí ó `00:00:00 1970-01-01 UTC' � %x léiriú den dáta de réir an logchaighdeáin (m.sh., 30.09.05) %X léiriú den am de réir an logchaighdeáin (m.sh., 14:34:58) %y dhá dhigit deiridh den bhliain (00..99) %Y an bhliain � -D cruthaigh gach ball de SPRIOC seachas an deireadh, agus ansin cóipeáil FOINSE go SPRIOC -g, --group=GRÚPA socraigh grúpa in ionad an ghrúpa den phróiseas reatha -m, --mode=MÓD socraigh na ceadanna (mar le chmod), in ionad `rwxr-xr-x -o, --owner=ÚINÉIR socraigh an t-úinéir (forúsáideoir amháin) � -D, --date-format=FORMÃID taispeáin an dáta cheanntáisc de réir na FORMÃIDE -e[CAR[LEITHEAD]], --expand-tabs[=CAR[LEITHEAD]] tiontaigh CAR (TÃIB) go táb LEITHEAD (8) -F, -f, --form-feed scar leathanaigh le foirmfhothaí in ionad línte nua (le -F, úsáid ceanntásc leathanaigh de trí líne, nó, gan -F, de cúig líne agus le buntásc) � -G, --no-group i liosta fada, ná taispeáin ainm an ghrúpa -h, --human-readable le -l, taispeáin méideanna i bhformáid inléite (m.sh., 1K 234M 2G srl.) --si mar an gcéanna, ach le 1K=1000, ní 1024 � -H, --dereference-command-line lean naisc shiombalacha ó líne na n-orduithe --dereference-command-line-symlink-to-dir lean gach nasc siombalach ar líne na n-orduithe atá nasctha le comhadlann --hide=PATRÚN ná taispeáin iontrálacha atá comhoiriúnach leis an PATRÚN blaoisce (sáraithe ag -a nó -A) � -I tabhair leid uair amháin sula mbainfear níos mó ná trí chomhad, nó nuair a bhainfear go hathchúrsach. Níl sé seo chomh sáiteach le -i, cé go ndéanann sé cosaint shásúil ar an chuid is mó de bhotúin --interactive[=CATHAIN] tabhair leid de réir CATHAIN: never, once (-I), nó always (-i). Gan CATHAIN, tabhair leid i gcónaí � -L COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -h) -O COMHAD tá COMHAD ann agus is leis an aitheantas úsáideora i bhfeidhm -p COMHAD tá COMHAD ann agus is píopa ainmnithe é -r COMHAD tá COMHAD ann agus tá sé inléite -s COMHAD tá COMHAD ann agus níl sé folamh � -S sórtáil de réir méid an chomhaid --sort=FOCAL sórtáil de réir FOCAL in ionad an ainm: none -U, extension -X, size -S, time -t, version -v --time=FOCAL le -l, taispeáin an t-am mar FOCAL in ionad am mionathraithe: atime -u, access -u, use -u, ctime -c, nó status -c; úsáid an t-am sonraithe mar eochair shórtála más --sort=time � -S COMHAD tá COMHAD ann agus is soicéad é -t FD tuarascálaí comhaid FD oscailte ar theirminéal -u COMHAD tá COMHAD ann agus a ghiotán set-user-ID lasta -w COMHAD tá COMHAD ann agus is inscríofa é -x COMHAD tá COMHAD ann agus is féidir é a rith nó a chuardach � -T, -w, --mesg taispeáin stádas teachtaireachta mar +, -, nó ? -u, --users taispeáin úsáideoirí atá logáilte isteach faoi láthair --message ar comhbhrí le -T --writable ar comhbhrí le -T � -W, --word-regexp=REGEXP úsáid REGEXP chun treoirfhocail a thógáil -b, --break-file=COMHAD tá carachtair le briseadh focail i gCOMHAD -f, --ignore-case sórtáil an cás íochtair leis an gcás uachtair -g, --gap-size=UIMHIR bearna idir colúin san aschur -i, --ignore-file=COMHAD tá focail le ligean tharat i gCOMHAD -o, --only-file=COMHAD tá liosta treoirfhocal i gCOMHAD � -Z, --context=CTCS socraigh comhthéacs slándála de AINM go CTCS � -Z, --context=CTCS socraigh comhthéacs slándála de gach AINM go CTCS � -a, --across taispeáin colúin trasna an scáileáin seachas anuas úsáid le -COLÚN -c, --show-control-chars carachtair rialúcháin mar ^G nó le cúlslais ochtnártha -d, --double-space spásáil dhúbailte � -a, --all tiontaigh an spás bán ar fad, in ionad an spáis tosaigh --first-only ná tiontaigh ach an spás bán tosaigh (sáraíonn -a) -t, --tabs=N táib N carachtar óna chéile in ionad 8 (cumasaigh -a) -t, --tabs=LIOSTA liosta de tháib, scartha le camóga (cumasaigh -a) � -b, --before ceangail an deighilteoir roimh in ionad i ndiaidh -r, --regex caith leis an deighilteoir mar shlonn ionadaíochta -s, --separator=TEAGHRÃN úsáid TEAGHRÃN mar dheighilteoir in ionad líne nua � -b, --body-numbering=STÃL uimhrigh línte an choirp de réir STÃL -d, --section-delimiter=CAR Idirscar leathanaigh loighciúla le CAR -f, --footer-numbering=STÃL uimhrigh línte an bhuntáisc de réir STÃL � -b, --bytes uimhrigh bearta seachas colúin -s, --spaces bris ag spásanna -w, --width=LEITHEAD úsáid LEITHEAD colún in ionad 80 � -b, --bytes=LIOSTA ná taispeáin ach na bearta seo -c, --characters=LIOSTA ná taispeáin ach na carachtair seo -d, --delimiter=TEORAN úsáid TEORAN in ionad TAB mar theormharcóir réimse � -b, --ignore-leading-blanks déan neamhshuim ar spásanna tosaigh -d, --dictionary-order ná húsáid ach spásanna agus carachtair alfa-uimhriúla -f, --ignore-case sórtáil an cás íochtair leis an gcás uachtair � -c, --count taispeáin líon na dtarluithe ar tosach gach líne -d, --repeated ná taispeáin ach línte dúblacha � -c, --crown-margin coinnigh eangú den chéad dá líne -p, --prefix=TEAGHRÃN ná ceangail ach línte le réimír TEAGHRÃN, agus athcheangail an réimír le línte athfhormáidithe -s, --split-only deighil línte fada, ach ná hathlíon � -d, --delimiters=LIOSTA athúsáid carachtair as LIOSTA in ionad TÃIB -s, --serial greamaigh i ndiaidh a chéile, nach go comhuaineach � -e bain úsáid as na carachtair éalúcháin le cúlslaiseanna -E ná bain úsáid as na carachtair éalúcháin (réamhshocrú) � -e úsáid carachtair éalúcháin le cúlslaiseanna (réamhshocrú) -E ná húsáid na carachtair éalúcháin � -f ná taispeáin teidil na gcolún i bhformáid achomair -w ná taispeáin an t-ainm iomlán i bhformáid achomair -i ná taispeáin an t-ainm iomlán nó cianóstach i bhformáid achomair -q ná taispeáin ainm iomlán, cianóstach, nó am díomhaoin i bhformáid achomair � -f ar comhbhrí le `-t fF', roghnaigh uimhreacha shnámhphointe -i ar comhbhrí le `-t dI', roghnaigh slánuimhreacha deachúlacha -l ar comhbhrí le `-t dL', roghnaigh `long'anna deachúlacha -o ar comhbhrí le `-t o2', roghnaigh aonaid ochtnártha, 2 bheart -s ar comhbhrí le `-t d2', roghnaigh aonaid dheachúlacha, 2 bheart -x ar comhbhrí le `-t x2', roghnaigh aonaid heicsidheachúlacha, 2 bheart � -f COMHAD tá COMHAD ann agus is gnáthchomhad é -g COMHAD tá COMHAD ann agus is set-group-ID é -G COMHAD tá COMHAD ann agus is leis an ID grúpa i bhfeidhm é -h COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -L) -k COMHAD tá COMHAD ann agus tá sé a ghiotán greamaitheach lasta � -f, --canonicalize caighdeánaigh trí leanúint gach nasc siombalach i ngach ball den chonair, go hathchúrsach; ní mór gach comhpháirt (seachas an ceann deiridh) a bheith ann -e, --canonicalize-existing caighdeánaigh trí leanúint gach nasc siombalach i ngach ball den chonair, go hathchúrsach; ní mór gach comhpháirt a bheith ann � -f, --fields=LIOSTA ná taispeáin ach na réimsí seo; sa bhreis, taispeáin gach líne gan aon teormharcóir, mura bhfuil an rogha -s tugtha -n (gan feidhm) � -f, --follow[={name|descriptor}] scríobh sonraí ceangailte de réir mar fásann an comhad; tá -f, --follow, agus --follow=descriptor ar comhbhrí -F ar comhbhrí le --follow=name --retry � -g cosúil le -l, ach ná taispeáin úinéir an liosta � -g GID[,GID1...] socraigh aitheantas an phríomhghrúpa go dtí an GID uimhriúil, agus (má thugtar iad) na haitheantais forlíontacha go GID1,... � -i, --initial ná tiontaigh TÃB i ndiaidh carachtair nach spás bán -t, --tabs=UIMHIR cuir táib UIMHIR carachtar ó chéile in ionad 8 � -i, --inodes taispeáin eolas inode in ionad úsáid na mbloc -k ar comhbhrí le `--block-size=1K' -l, --local ná taispeáin ach córais chomhaid logánta --no-sync ná sync roimh eolas úsáide a fháil (réamhshocrú) � -l bain úsáid as an mhód fhoclach -L, --dereference nuair atá nasc siombalach ann, taispeáin an t-eolas faoin tagraí seachas an nasc féin -m taispeáin iontrálacha scartha le camóga � -l, --login taispeáin próisis logála isteach an chórais � -m, --mode=MÓD socraigh mód an chomhaid (mar le chmod), ní a=rwx - umask -p, --parents gan earráid má tá sé ann cheana, déan tuismitheoirí más gá -v, --verbose taispeáin tcht nuair a chruthaítear gach comhadlann -Z, --context=CTCS socraigh comhthéacs slándála SELinux de gach comhadlann a chruthaítear go CTCS � -n, --digits=DIGITà bain úsáid as DIGITà digit, in ionad 2 -s, --quiet, --silent ná taispeáin líonta na mbeart in aschomhaid -z, --elide-empty-files scrios aschomhaid fholmha � -n, --numeric-uid-gid cosúil le -l, ach taispeáin UID/GID uimhriúla -N, --literal taispeáin ainmneacha amha (ná caith le carachtair éalúcháin go speisialta) -o cosúil le `-l', ach gan eolas faoin ghrúpa -p, --indicator-style=slash cuir táscaire / le comhadlanna � -o, --output=COMHAD scríobh na torthaí i gCOMHAD in ionad an ghnáth-aschuir -s, --stable caighdeánaigh an t-ord trí dhíchumasú na sórtála den rogha dheireanach -S, --buffer-size=MÉID maolán príomhchuimhne = MÉID � -q, --count taispeáin gach ainm logála isteach agus líon na n-úsáideoirí faoi láthair -r, --runlevel taispeáin an leibhéal feidhmithe faoi láthair -s, --short ná taispeáin ach ainm, líne, agus am (réamhshocrú) -t, --time taispeáin athrú an chloig is déanaí � -q, --quiet, --silent ná taispeáin ceanntásc leis an ainm comhaid -v, --verbose taispeáin an ceanntásc leis an ainm comhaid � -r, --reference=COMHAD taispeáin am an athraithe is déanaí do COMHAD -R, --rfc-2822 taispeáin dáta agus am de réir RFC 2822 Mar shampla: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references is tagairt é an chéad réimse ar gach líne -t, --typeset-mode - neamhchríochnaithe - -w, --width=UIMHIR leithead an aschuir, gan tagairt � -s, --only-delimited ná taispeáin ach na línte le teormharcóirí --output-delimiter=TEAGHRÃN úsáid TEAGHRÃN mar theormharcóir aschuir agus an teormharcóir ionchurtha mar réamhshocrú � -s, --signal=COMHARTHA, -COMHARTHA tabhair an t-ainm nó an uimhir den chomhartha le seoladh -l, --list taispeáin ainmneacha na gcomharthaí, nó tiontaigh ainmneacha go/ó uimhreacha -t, --table taispeáin tábla le heolas faoi chomharthaí � -s, --symbolic-link nasc comhaid in ionad iad a chóipeáil -S, --suffix=IARMHÃR sáraigh an iarmhír chúltaca réamhshocraithe -t, --target-directory=COMHADLANN cóipeáil gach FOINSE go dtí COMHADLANN -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad � -t ar comhbhrí le -vT -T, --show-tabs taispeáin táib mar ^I -u (gan feidhm) -v, --show-nonprinting taispeáin rialúcháin le ^, M-; ní LFD agus TAB � -t, --tabs=LIOSTA úsáid LIOSTA táib faoi leith, scartha le camóga � --target-directory=COMHADLANN aistrigh gach FOINSE isteach i gCOMHADLANN -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad -u, --update ná haistrigh ach amháin nuair atá FOINSE níos úire ná an sprioc-chomhad, nó nuair atá an sprioc-chomhad ar iarraidh -v, --verbose mínigh na rudaí atá ag tarlú � -u, --remove teasc agus scrios comhad i ndiaidh forscríobh -v, --verbose taispeáin eolas faoin dul chun cinn -x, --exact ná slánaigh méideanna comhaid suas; is réamhshocraithe é seo le haghaidh comhad neamhghnách -z, --zero forscríobh deireanach le nialais, folaigh an léirscrios � -u, --update ná cóipeáil ach amháin nuair atá FOINSE níos úire ná an sprioc-chomhad, nó nuair atá an sprioc-chomhad ar iarraidh -v, --verbose mínigh na rudaí atá ag tarlú -x, --one-file-system fan ar an chóras chomhaid seo � -v, --kernel-version taispeáin leagan na heithne -m, --machine taispeáin ainm na gcrua-earraí -p, --processor taispeáin cineál an phróiseálaí, nó "unknown" -i, --hardware-platform taispeáin ardán na gcrua-earraí nó "unknown" -o, --operating-system taispeáin an córas oibriúcháin � -w, --check-chars=N déan comparáid ar N carachtar ar a mhéad � -w, --width=COLÚIN socraigh leithead den scáileán -x taispeáin ar línte in ionad colún -X sórtáil de réir iarmhíre an chomhaid, san ord aibítre -Z, --context taispeáin comhthéacs slándála SELinux de gach comhad má tá ann -1 taispeáin aon chomhad sa líne � -z, --zero-terminated úsáid NUL foirceanta in ionad líne nua � [:graph:] carachtair ghrafacha, ach amháin spás [:lower:] litreacha cás íochtair [:print:] carachtair ghrafacha, spás san áireamh [:punct:] comharthaí poncaíochta [:space:] spás bán, cothrománach nó ingearach [:upper:] litreacha cás uachtair [:xdigit:] digití heicsidheachúlacha [=CAR=] carachtair ar comhbhrí le CAR � \v táb ingearach CAR1-CAR2 gach carachtar idir CAR1 agus CAR2, in ord [CAR*] i dTACAR2, cóipeanna CAR go dtí fad TACAR1 [CAR*UIMHIR] UIMHIR cóip de CAR, ochtnártha má thosaíonn sé le 0 [:alnum:] litreacha agus digití [:alpha:] litreacha [:blank:] spás bán cothrománach [:cntrl:] carachtair rialúcháin [:digit:] digití � binary úsáid I/A dénártha le haghaidh sonraí � d[MÉID] slánuimhir dheachúlach le sín, MÉID beart ar cheann f[MÉID] uimhir shnámhphointe, MÉID beart ar an gceann o[MÉID] ochtnártha, MÉID beart ar an gceann u[MÉID] slánuimhir dheachúlach gan sín, MÉID beart ar an gceann x[MÉID] heicsidheachúlach, MÉID beart ar an gceann � direct úsáid I/A díreach le haghaidh sonraí � dsync úsáid I/A sioncrónaithe le haghaidh sonraí � excl teip má tá an t-aschomhad ann cheana nocreat ná cruthaigh an t-aschomhad noerror lean ar aghaidh tar éis earráidí sa léamh notrunc ná déan teascadh ar an aschomhad fdatasync scríobh ar an aschomhad go fisiceach roimh chríochnú fsync mar an gcéanna, ach scríobh meiteashonraí freisin � noatime ná nuashonraigh an t-am rochtana � noctty ná ceap an teirminéal rialaithe ó chomhad � nofollow ná lean naisc shiombalacha � nolinks teip má tá naisc iomadúla ann � nonblock úsáid I/A gan bhacainní � none, off ná déan cúltacaí choíche (fiú má tá --backup ceaptha) numbered, t déan cúltacaí agus uimhreacha orthu existing, nil numbered má tá uimhreacha orthu anois, simple mura bhfuil simple, never déan cúltacaí simplí i gcónaí � sync mar an gcéanna, ach le haghaidh meiteashonraí fosta � text úsáid I/A téacs le haghaidh sonraí � (cúltaca: %s)� * [-]iuclc tiontaigh an cás uachtair go dtí an cás íochtair * [-]ixany ceadaigh atosú le haon charachtar [-]ixoff cumasaigh seoladh de charachtair thosaigh/stoptha [-]ixon cumasaigh rialú sreafa XON/XOFF [-]parmrk comharthaigh earráidí phaireachta (le cód 255-0-carachtar) [-]tandem ar comhbhrí le [-]ixoff � * [-]iutf8 glac le carachtair san ionchódú UTF-8 � * [-]ocrnl tiontaigh aisfhilleadh go líne nua * [-]ofdel stuáil le scrioscharachtair in ionad carachtair nialasacha * [-]ofill stuáil le carachtair in ionad am-áireamh i gcás moille * [-]olcuc tiontaigh an cás íochtair go dtí an cás uachtair * [-]onlcr tiontaigh líne nua go haisfhilleadh+líne nua * [-]onlret déan líne nua aisfhilleadh � * [-]onocr ná taispeáin aisfhilleadh sa chéad cholún [-]opost iarphróiseáil an t-aschur * tabN mód moille do tháib chothrománacha, N=0,1,2, nó 3 * tabs ar comhbhrí le tab0 * -tabs ar comhbhrí le tab3 * vtN mód moille do tháib ingearacha, N=0 nó 1 � * eol2 CAR CAR eile chun an líne a chríochnú erase CAR léirscriosfaidh CAR an carachtar is déanaí intr CAR seolfaidh CAR comhartha idirbhriste kill CAR léirscriosfaidh CAR an líne reatha � * lnext CAR iontrálfaidh CAR an chéad charachtar luaite eile quit CAR seolfaidh CAR comhartha scortha * rprnt CAR priontálfaidh CAR an líne reatha arís start CAR atosóidh CAR an t-aschur i ndiaidh á stopadh � * rows N cuir in iúl go bhfuil N líne ag an teirminéal * size taispeáin líon na línte agus na gcolún de réir na heithne speed taispeáin luas an teirminéil time N le -icanon, socraigh seal fanachta, N deachú soicind � TTY� grúpaí=� sean � le linn timthriall %s �% 1% den chuimhne, b 1, K 1024 (réamhshocrú), srl. le M, G, T, P, E, Z, Y. Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur. *** RABHADH *** Athraíonn an logchaighdeán na torthaí a ghineann `sort'. Cuir LC_ALL=C chun sórtáil de réir an oird traidisiúnta (.i. de réir luachanna dúchasacha de na bearta. �%.*s: tiontú neamhbhailí�%b %e %Y�%b %e %H:%M�%lu úsáideoir�%lu úsáideoir�%lu úsáideoir�%lu n-úsáideoir�%lu úsáideoir�%s (ar regexp %s)�%s -> %s (dí-chúltaca) �Chríochnaigh %s [-d] gan an chúis a mhíniú�is iad %s agus %s an comhad céanna�Tá %s ann cheana, ach ní comhadlann é�tá %s ann anois; críoch an chomhaid nua á leanúint�tá %s insroichte anois�tá %s dorochtana anois�cuireadh comhad nach féidir a `tail' in áit %s; á thréigean�tá comhad nua in áit %s anois; críoch an chomhaid nua á leanúint�tá %s de chineál anaithnid�Ní slánuimhir dheimhneach bhailí é %s�tá %s rómhór�%s: tá %s chomh mór nach inléirithe é�%s: %s: líne-uimhir as raon�%s: %s: níl a leithéid ann�%s: %s:%s: mí-eagar: �%s: Theip ar oscailt nó ar léamh �%s: bhíothas ag súil le hoibreoir dénártha�%s: ní foláir naisc shiombalacha coibhneasta a dhéanamh sa chomhadlann oibre�%s: ní féidir mód gan bacainní a athshocrú�%s: níl aon fháil ar ainm don aitheantas úsáideora %lu �%s: ní féidir an chríoch a lorg do chomhad den chineál seo; ag tréigean�%s: ní féidir `lseek' a dhéanamh ar ais go dtí an láthair thionscantach�%s: ní féidir forscríobh a dhéanamh ar chomhadlann�%s: ní féidir atochras�%s: ní féidir seek a dhéanamh�%s: ní féidir bogadh go fritháireamh coibhneasta ón chríoch %s�%s: ní féidir bogadh go fritháireamh %s�%s: ní féidir bogadh go fritháireamh coibhneasta %s�%s: ní féidir tuarascálaí comhaid sínte amháin a léirscriosadh�%s: ní féidir mód gan bacainní a athshocrú�%s: téigh síos isteach i gcomhadlann %s? �%s: téigh síos isteach i gcomhadlann scríobh-bhactha %s? �%s: comhadchríoch�%s: ní foláir carachtar aonarach mar oibreann d'aicme coibhéise�%s: earráid le linn teasctha�%s: earráid le linn scríobh ag fritháireamh %s�%s: bhíothas ag súil le luach uimhriúil�%s: theip ar dhúnadh�%s: theip ar oscailt chun é a scríobh�%s: theip ar bhaint�%s: theip ar fcntl�%s: theip ar fdatasync�%s: comhad de mhéid diúltach�%s: is róchraptha an comhad�%s: tá an comhad rómhór�%s: comhad rófhada�%s: comhad teasctha�%s: theip ar fstat�%s: theip ar fsync�%s: ní cheadaítear nasc crua le comhadlann�%s: tá lúb san ionchur:�%s: is corr líon na dteaghrán san ionchur�%s: is ionann iad an t-inchomhad agus an t-aschomhad�%s: bhíothas ag súil le slánuimhir i ndiaidh teormharcóra�%s: PID neamhbhailí�%s: áireamh neamhbhailí ag tús %s�%s: treoir neamhbhailí�%s: sonraíocht neamhbhailí réimse %s�%s: méid comhaid neamhbhailí�%s: cineál comhaid neamhbhailí�%s: is neamhbhailí é an líon uasta `stat'anna gan athrú idir oscailtí�%s: uimhir neamhbhailí�%s: líon neamhbhailí na mbeart�%s: líon na línte neamhbhailí�%s: líon na dtimthriallta neamhbhailí�%s: líon na soicindí neamhbhailí�%s: patrún neamhbhailí�%s: aitheantas neamhbhailí próisis�%s: slonn ionadaíochta neamhbhailí: %s�%s: comhartha neamhbhailí�%s: fad iarmhíre neamhbhailí�%s: ní foláir líne-uimhir dheimhneach�%s: líne-uimhir as raon�%s: theip ar lseek�%s: Tugadh comharthaí iomadúla�%s: is %s na ceadanna nua, ní %s�%s: níl aon líne dhea-chumtha ar fáil le suim sheiceála %s�%s: níl aon eolas ar fáil faoin mhéid den ghléas seo�%s: ní liostófar comhadlann atá liostaithe cheana�%s: is rómhór líon na mbeart�%s: forscríobh %s? �%s: timthriall %lu/%lu (%s)...�%s: timthriall %lu/%lu (%s)...%s�%s: timthriall %lu/%lu (%s)...%s/%s %d%%�%s: earráid sa léamh�%s: scrios %s %s? �%s: bain gach argóint go hathchúrsach? �%s: bain gach argóint? �%s: scrios %s scríobh-bhactha %s? �%s: scriosta�%s: á scriosadh�%s: ainm nua %s�%s: ionadaigh %s? �%s: níorbh fhéidir `seek' a dhéanamh�%s: an iomarca línte shuim sheiceála�%s: déan iarracht ar %s a fhorscríobh, agus mód %04lo (%s) a shárú? �%s: ní féidir an t-uasfhad d'ainmneacha comhaid a dhéanamh amach�%s: ní féidir gach tasc iarrtha a dhéanamh�%s: bhíothas ag súil le hoibreoir aonártha�%s: níl an luach tiontaithe ar fad�%s: earráid sa scríobh�%s:%lu: líne neamhbhailí; dara teaghrán ar iarraidh�%s:%lu: lorgfhocal anaithnid %s�'�bhíothas ag súil le ')'�bhíothas ag súil le ')', fuarthas %s�©�* córais chomhad a chuireann sonraí i dtaisce i suímh shealadacha, mar shampla cliaint NFS leagan 3 * córais chomhad comhbhrúite �* córais chomhaid atá bunaithe ar log nó dialann, mar shampla le AIX agus Solaris (agus JFS, ReiserFS, XFS, Ext3, srl.) * córais chomhaid a scríobh sonraí iomarcacha agus a leanann fiú má theipeann cuid den scríobh, mar shampla chórais bunaithe ar RAID * córais a dhéanann `grianghraif', mar shampla an freastalaí NFS atá ag Network Appliances �, meánlód: %.2f�, %g shoicind, %s/s �oibríonn --context (-Z) le heithne atá cumasaithe do SELinux amháin�tá gá le ceann de -H nó -L leis na roghanna -R --dereference�tá gá le -P leis na roghanna -R -h�ní ghlacann -ef le -l�ní ghlacann -nt le -l�ní ghlacann -ot le -l�<inmheánach>�??? �Aicme sheolta d'óstainm gan tacaíocht�Cuireadh gach iarratas i gcrích�Tá an maolán argóinte róbheag�Arnold Robbins�ArFáil�Ar Fáil�Luach neamhbhailí do 'ai_flags'�FAINIC: Braitheann `shred' ar ghlacadh tromchúiseach: go ndéanann an córas comhaid forscríobh ar shonraí ina n-ionad. Is é sin an sean-nós, ach níl an glacadh seo bailí ar mhórán córais nua-aimseartha. Níl `shred' cumasach, nó níl ráthaíocht ar bith go mbeidh sé cumasach i ngach mód ar na córais a leanas: �NÓTA�Glaoigh ar an fheidhm link() chun COMHAD2 a nascadh le COMHAD1. �Bain úsáid as an fheidhm unlink() chun an COMHAD a scriosadh. �Iomlán�Colin Plumb�Déan comparáid idir na comhaid shórtáilte COMHAD1 agus COMHAD2, líne ar líne. �Cóipeáil an gnáth-ionchur chuig gach COMHAD, agus chuig an ghnáth-aschur freisin. -a, --append iarcheangail leis na COMHA(I)D, ná forscríobh -i, --ignore-interrupts déan neamhshuim ar chomharthaí idirbhriste �David M. Ihnat�David MacKenzie�David Madore�Comhadlann: �Dmitry V. Levin�Tréig aon ghrúpaí forlíontacha, glac le haitheantas úsáideora/grúpa an ÚSÃIDEORA sonraithe (aitheantas uimhriúil nó ainm an úsáideora), agus rith ORDÚ le ARGÓINTí, má tá ann. Scoir le stádas 111 mura bhfuiltear in ann na haitheantais úsáideora/grúpa a ghlacadh. I ngach cás eile, scoir le stádas scortha an ORDÚ. Ní úsáideach an clár seo mura bhfuil sé rite ag an bhforúsáideoir (UID=0). �SCOIR�Is éard atá i ngach raon ná ceann de: N N-ú beart, carachtar, nó réimse, uimhrithe ó 1 N- ón N-ú beart, carachtar, nó réimse go dtí deireadh na líne N-M ón N-ú go dtí M-ú beart, carachtar, nó réimse (araon san áireamh) -M ón aonú go dtí M-ú beart, carachtar, nó réimse (araon san áireamh) Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur. �Déan macalla ar an/na TEAGHRÃ(I)N chuig an ghnáth-aschur. -n ná scríobh an líne nua fhoirceanta �Scoir le cód scortha a chomharthaíonn teip.�Scoir le cód scortha a chomharthaíonn bua.�Scoir leis an stádas scortha tugtha ag SLONN. �F. Pinard�TEIPTHE�FIXME: anaithnid�Níl príomhuimhir ná mionuimhir ghléis ag comhaid fifo.�Córas comhaid�Scríobh bloic athraithe chuig an diosca, nuashonraigh an t-osbhloc. �H. Peter Anvin�DÃOMHAOIN�Isaor�IÚsáid%�Iídithe�Ian Lance Taylor�Díomhaoin�Is féidir freisin go bhfuil cóipeanna den chomhad i gcúltacaí an chórais comhad nó ar shuímh scáthánaithe, agus ní féidir na cóipeanna seo a bhaint. Dá bharr seo, b'fhéidir comhad léirscriosta a fháil ar ais amach anseo. �I réaltacht: �Má tá córas comhad ext3 agat, tá an séanadh thuasluaite i bhfeidhm (.i. is neamhéifeachtach é `shred') sa mhód data=journal amháin - seo é an mód a scríobhann sonraí comhaid mar aon le meiteashonraí. Sna móid data=ordered (réamhshocrú) agus data=writeback, oibríonn `shred' mar is gnách. Is féidir na móid iriseáin Ext3 a athrú trí chur na rogha data=something leis na roghanna feistithe sa chomhad /etc/fstab do chórais chomhad áirithe, mar a thuairiscítear sa leathanach lámhleabhair mount (`man mount'). �Éigríoch B�Inóid�Idirbhriste ag comhartha�Cúltagairt neamhbhailí�Ainm neamhbhailí ar aicme charachtar�Carachtar neamhbhailí comhordaithe�Ãbhar neamhbhailí idir \{ agus \}�Slonn ionadaíochta neamhbhailí roimhe seo�Tá deireadh an raoin neamhbhailí�Slonn ionadaíochta neamhbhailí�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�LÃNE�Logáil Isteach�Ainm logála isteach: �Mark Kettenis�Matthew Bradburn�Theip ar dháil chuimhne�Cuimhne ídithe�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Curtha suas ar�AINM�Ainm�Ainm nó seirbhís anaithnid�Níl seoladh ar bith ceangailte leis an óstainm�Níl a leithéid ann�Ní raibh slonn ionadaíochta roimhe seo�Teip dhocheartaithe ar réiteach na n-ainmneacha�OK�Ní foláir teaghrán aonarach a thabhairt le linn scriosta gan fáscadh.�Roghanna sórtála: �Taispeáin orduithe chun na hathróige thimpeallachta LS_COLORS a shocrú. Roghnaigh an fhormáid aschurtha: -b, --sh, --bourne-shell taispeáin cód Bourne chun LS_COLORS a shocrú -c, --csh, --c-shell taispeáin cód C-shell chun LS_COLORS a shocrú -p, --print-database taispeáin réamhshocruithe �Taispeáin úsáideoirí atá logáilte isteach faoi láthair, dar le COMHAD. Gan CHOMHAD, úsáid %s. Feictear %s mar CHOMHAD go minic. �PID�Níl an teaghrán paraiméadair ionchódaithe i gceart�Paul Eggert�Paul Rubin�Pete TerMaat�Plean: �Deireadh an tsloinn gan choinne�Taispeáin ARGÓINT(Ã) de réir FORMÃID, nó rith de réir ROGHA: �Taispeáin suim sheiceála CRC agus líon bearta di gach COMHAD. �Taispeáin eolas áirithe faoin gcóras. Gan ROGHA, is ionann é agus `-s'. -a, --all taispeáin gach faisnéis, san ord seo a leanas, ach fág -p agus -i ar lár más anaithnid: -s, --kernel-name taispeáin ainm na heithne -n, --nodename taispeáin óstainm an nóid lín -r, --kernel-release taispeáin leagan na heithne �Taispeáin ailtireacht an ríomhaire. �Taispeáin ainm an teirminéil atá ceangailte leis an ngnáth-ionchur. -s, --silent, --quiet ná taispeáin aon ní; aischuir stádas scortha �Taispeáin an t-ainm iomlán den chomhadlann oibre. �Taispeáin an t-ainm den úsáideoir reatha. �Taispeáin an t-ainm úsáideora nasctha leis an aitheantas atá i bhfeidhm faoi láthair. Ar comhbhrí le `id -un'. �Iarratas próiseála ar siúl�Tionscadal: �Q. Frank Xia�Randy Smith�Slonn ionadaíochta rómhor�Cealaíodh an t-iarratas�Níor cealaíodh an t-iarratas�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Rith ORDÚ leis an fhréamhchomhadlann mar FRÉAMHNUA. �Rith ORDÚ agus lig comharthaí HUP thar. �Russell Coker�Scott Bartram�Scott Miller�Ní thacaítear le hainm freastalaithe do 'ai_socktype'�Cuir LC_ALL='C' ionas gur féidir an fhadhb seo a sheachaint.�Blaosc: �Simon Josefsson�Méid�Ní mór príomhuimhir ghléis agus mionuimhir ghléis a cheapadh le haghaidh na gcomhad speisialta�Stuart Kemp�D'éirigh leis�Earráid chórais�AM �Teip shealadach ar réiteach na n-ainmneacha�Rinneadh comparáid idir na teaghráin %s agus %s.�Torbjorn Granlund�Cúlslais chun deiridh�Ní foláir dhá theaghrán le linn aistrithe.�Cineál�Ulrich Drepper�Earráid anaithnid�Earráid chórais anaithnid�( nó \( corr�) nó \) corr�[ nó [^ corr�\{ corr�Úsáid: %s ORDÚ [ARGÓINT]... nó: %s ROGHA �Úsáid: %s COMHTHÉACS ORDÚ [argóintí] or: %s [ -c ] [-u ÚSÃIDEOIR] [-r RÓL] [-t CINEÃL] [-l RAON] ORDÚ [argóintí] �Úsáid: %s SLONN nó: %s ROGHA �Úsáid: %s COMHAD nó: %s ROGHA �Úsáid: %s COMHAD1 COMHAD2 nó: %s ROGHA �Úsáid: %s FORMÃID [ARGÓINT]... nó: %s ROGHA �Úsáid: %s ROGHA... [COMHAD]... �Úsáid: %s [-s COMHARTHA | -SIGNAL] PID... nó: %s -l [COMHARTHA]... nó: %s -t [COMHARTHA]... �Úsáid: %s [COMHAD]... nó: %s [ROGHA] �Úsáid: %s [AINM] nó: %s ROGHA Taispeáin nó socraigh óstainm an chórais reatha. �Úsáid: %s [UIMHIR]... nó: %s ROGHA �Úsáid: %s [OIBREANN]... nó: %s ROGHA �Úsáid: %s [ROGHA] �Úsáid: %s [ROGHA] AINM... �Úsáid: %s [ROGHA] [ORDÚ [ARG]...] �Úsáid: %s [ROGHA] [COMHAD] Scríobh liosta sórtáilte go hiomlán is comhchuí leis an pháirtord i gCOMHAD. Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur. �Úsáid: %s [ROGHA]... �Úsáid: %s [ROGHA]... COMHTHÉACS COMHAD... nó: %s [ROGHA]... [-u ÚSÃIDEOIR] [-r RÓL] [-l RAON] [-t CINEÃL] COMHAD... nó: %s [ROGHA]... --reference=TCOMHAD COMHAD... �Úsáid: %s [ROGHA]... COMHADLANN... �Úsáid: %s [ROGHA]... COMHAD PATRÚN... �Úsáid: %s [ROGHA]... COMHAD... �Úsáid: %s [ROGHA]... COMHAD1 COMHAD2 �Úsáid: %s [ROGHA]... GRÚPA COMHAD... nó: %s [ROGHA]... --reference=TCOMHAD COMHAD... �Úsáid: %s [ROGHA]... DEIREADH nó: %s [ROGHA]... AONÚ DEIREADH nó: %s [ROGHA]... AONÚ INCRIMINT DEIREADH �Úsáid: %s [ROGHA]... MÓD[,MÓD]... COMHAD... nó: %s [ROGHA]... MÓD-OCHTACH COMHAD... nó: %s [ROGHA]... --reference=TCOMHAD COMHAD... �Úsáid: %s [ROGHA]... AINM CINEÃL [PRÃOMH MION] �Úsáid: %s [ROGHA]... AINM... �Úsáid: %s [ROGHA]... TACAR1 [TACAR2] �Úsáid: %s [ROGHA]... [ COMHAD | ARG1 ARG2 ]] �Úsáid: %s [ROGHA]... [+FORMÃID] nó: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC nó: %s [ROGHA]... FOINSE... COMHADLANN nó: %s [ROGHA]... -t COMHADLANN FOINSE... �Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC nó: %s [ROGHA]... FOINSE... COMHADLANN nó: %s [ROGHA]... -t COMHADLANN FOINSE... nó: %s [ROGHA]... -d COMHADLANN... �Úsáid: %s [ROGHA]... [-T] SPRIOC AINM_NAISC (an chéad leagan) nó: %s [ROGHA]... SPRIOC (an dara leagan) nó: %s [ROGHA]... SPRIOC... COMHADLANN (an tríú leagan) nó: %s [ROGHA]... -t COMHADLANN SPRIOC... (an cheathrú leagan) �Úsáid: %s [ROGHA]... [-] [AINM=LUACH]... [ORDÚ [ARG]...] �Úsáid: %s [ROGHA]... [COMHAD] �Úsáid: %s [ROGHA]... [COMHAD] nó: %s -e [ROGHA]... [ARG]... nó: %s -i ÃSEAL-ARD [ROGHA]... �Úsáid: %s [ROGHA]... [COMHAD]... �Úsáid: %s [ROGHA]... [COMHAD]... nó: %s [-abcdfilosx]... [COMHAD] [[+]FRITHÃIREAMH[.][b]] nó: %s --traditional [ROGHA]... [COMHAD] [[+]FRITHÃIREAMH[.][b] [+][LIPÉAD][.][b]] �Úsáid: %s [ROGHA]... [COMHAD]... nó: %s [ROGHA]... --files0-from=C �Úsáid: %s [ROGHA]... [IONCHUR [ASCHUR]] �Úsáid: %s [ROGHA]... [IONCHUR]... (gan -G) nó: %s -G [ROGHA]... [IONCHUR [ASCHUR]] �Úsáid: %s [ROGHA]... [ÚINÉIR][:[GRÚPA]] COMHAD... nó: %s [ROGHA]... --reference=TCOMHAD COMHAD... �Úsáid: %s [ROGHA]... [TEIMPLÉAD] �Úsáid: %s [ROGHA]... [ÚSÃIDEOIR] �Úsáid: %s [ROGHA]... [ÚSÃIDEOIR]... �Úsáid: %s [TEAGHRÃN]... nó: %s ROGHA �Úsáid: %s [argóintí gan úsáid] nó: %s ROGHA �Úsáid: test SLONN nó: test nó: [ SLONN ] nó: [ ] nó: [ ROGHA �Úsáid%�Ãdithe�Na hargóintí bailí:�RABHADH: struchtúr comhadlainne ciorclach. Is cinnte, mar an gcéanna, go bhfuil córas comhaid truaillithe agatsa. CUIR AN FHADHB SEO IN IÚL DO RIARTHÓIR DO CHÓRAIS. Tá an chomhadlann a leanas cuid den struchtúr ciorclach: %s �Rabhadh: �Cathain�Cén Ãit�Le %s agus %s. �Le %s, %s, %s, %s, %s, %s, %s, %s, %s, agus daoine eile nach iad. �Le %s, %s, %s, %s, %s, %s, %s, %s, agus %s. �Le %s, %s, %s, %s, %s, %s, %s, agus %s. �Le %s, %s, %s, %s, %s, %s, agus %s. �Le %s, %s, %s, %s, %s, agus %s. �Le %s, %s, %s, %s, agus %s. �Le %s, %s, %s, agus %s. �Le %s, %s, agus %s. �Le %s. �ní cheadaítear sloinn [=c=] i dteaghrán2 le linn aistrithe�^[nN]�^[yYiIsS]�`�ní foláir ordú a thabhairt le coigeartú�ní thacaítear le 'ai_family'�ní thacaítear le 'ai_socktype'�argóint dhébhríoch %s chun %s�ní cheadaítear teormharcóir a thabhairt ach nuair atáthar ag oibriú le réimsí�léirscriosfadh cúltaca de %s an comhad foinse; níor cóipeáladh %s�léirscriosfadh cúltaca de %s an comhad foinse; níor aistríodh %s�cineál cúltaca�comhad speisialta den chineál `bloc'�Níl comhaid speisialta den chineál `bloc' ar fáil�bloc�ní gnáth-ionchur é ceann de na comhaid�tá an fritháireamh birt %s rómhór�ní féidir comhthéacs neamhiomlán a chur i bhfeidhm ar chomhad gan lipéad %s�níl aon fháil ar chomhthéacs an phróisis�ní féidir %s a rochtain�ní féidir cúltaca a dhéanamh ar %s�ní féidir coimriú a dhéanamh agus gach iontráil a thaispeáint�ní féidir an t-úinéir de %s a athrú�ní féidir na ceadanna de %s a athrú�ní féidir an fhréamhchomhadlann a athrú go %s�ní féidir an chomhadlann oibre a athrú go %s�ní féidir chdir a dhéanamh go dtí an fhréamhchomhadlann�ní féidir roghanna -e agus -i a chumasc�ní féidir aon dá cheann de {ascii,ebcdic,ibm} a úsáid lena chéile�ní féidir `block' agus `unblock' a úsáid lena chéile�ní féidir `excl' agus `nocreat' a úsáid lena chéile�ní féidir `lcase' agus `ucase' a úsáid lena chéile�ní féidir rogha mhóid a chumasc leis an rogha --reference�ní féidir comhartha a chumasc le -l nó -t�ní féidir na hainmneacha comhaid %s agus %s a chur i gcomparáid le chéile�ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta�ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta: %s�ní féidir an chomhadlann %s a chóipeáil isteach sa chomhadlann féin, %s�ní féidir nasc siombalach ciorclach %s a chóipeáil�ní féidir comhadlann %s a chruthú�ní féidir an `fifo' %s a chruthú�ní féidir nasc crua %s a chruthú go dtí %s�ní féidir nasc a chruthú ó %s chuig %s�ní féidir gnáthchomhad %s a chruthú�ní féidir comhad speisialta %s a chruthú�ní féidir an nasc siombalach %s a chruthú�ní féidir nasc siombalach a dhéanamh ó %s go %s�ní féidir %s a dhí-thagairt�ní féidir an gléas agus inode de %s a dhéanamh amach�ní féidir an t-óstainm a aimsiú�ní féidir ioctl a dhéanamh ar %s�níl aon fháil ar ainm don aitheantas grúpa %lu�ní féidir %s a leanúint de réir a ainm�ní féidir cur iallach ar chomhthéacs sprice %s agus é a chaomhnú�ní féidir %s a `fstat'�níl an chomhadlann reatha ar fáil�níl an tosaíocht ar fáil�níl aon fháil ar an ainm córais�ní féidir %s a `lseek'�ní féidir nasc crua agus nasc siombalach araon a dhéanamh�ní féidir an chomhadlann %s a chruthú�ní féidir %s a aistriú go %s�ní féidir an chomhadlann %s a aistriú go dtí fochomhadlann dá chuid féin, %s�ní féidir comhadlann a aistriú go dtí gnáthchomhad: %s -> %s�ní féidir %s a oscailt chun léamh�ní féidir %s a oscailt chun scríobh air�ní féidir an chomhadlann %s a oscailt�ní féidir oibriú ar nasc siombalach %s gan sprioc�ní féidir forscríobh a dhéanamh ar %s (comhadlann) le gnáthchomhad�ní féidir forscríobh a dhéanamh ar %s (ní comhadlann é) le %s (comhadlann)�ní féidir aschur formáidithe a dhéanamh�ní féidir an comhthéacs slándála a chaomhnú gan eithne atá cumasaithe do SELinux�ní féidir "only" a thaispeáint le haghaidh níos mó ná rogha amháin�ní féidir ach ainmneacha nó fíoraitheantais a thaispeáint san fhormáid réamhshocraithe�ní féidir an comhthéacs slándála nuair atá sonraithe ag an úsáideoir�ní féidir comhadlann %s a léamh�ní féidir ainmneacha comhaid a léamh ó %s�ní féidir an t-eolas faoin chóras comhaid a léamh do %s�ní féidir an clog fhíor-ama a léamh�ní féidir nasc siombalach %s a léamh�ní féidir an tábla de chórais chomhad feistithe a léamh�ní féidir %s a scriosadh�ní féidir an pointeoir comhaid a athshocrú do %s�ní féidir an dáta a shocrú�ní féidir aitheantas grúpa a shocrú mar %lu�ní féidir leis an chóras seo a óstainm a shocrú�ní féidir an t-ainm a shocrú mar %s�ní féidir an tosaíocht a shocrú�ní féidir an stampa ama a shocrú do %s�ní féidir aitheantas úsáideora a shocrú mar %lu�ní féidir a ghabháil thar dheireadh an ionchuir iomláin�ní féidir amanna a shocrú ó fhoinsí iomadúla�ní féidir scoilt a dhéanamh de réir níos mó ná dóigh amháin�ní féidir %s a `stat'�níl an chomhadlann oibre ar fáil (%s anois)�ní féidir %s a `touch'�ní féidir dí-chúltaca a dhéanamh ar %s�ní féidir %s a dhínasc�tar éis an tsaoil, ní féidir fabht san eithne a sheachaint�grúpa de %s á athrú�úinéireacht ar %s á hathrú�ceadanna %s á n-athrú�is nialas an fritháireamh carachtair�carachtar as raon�comhad speisialta den chineál `carachtar'�Níl comhaid speisialta den chineál `carachtar' ar fáil�ceadanna ar %s á nglanadh�athrú an chloig�theip ar dhúnadh�%s (fd=%d) á dhúnadh�comhadlann %s á dúnadh�inchomhad %s á dhúnadh�aschomhad %s á dhúnadh�gnáth-ionchur á dhúnadh�teaghrán ionaid le haghaidh réimsí folmha i gcoinbhleacht�sonraitheoirí contrártha um chomhthéacs slándála�níorbh fhéidir próiseas a chruthú le haghaidh %s -d�níorbh fhéidir comhad sealadach a chruthú�níorbh fhéidir %s a rith�níorbh fhéidir %s -d a rith�níorbh fhéidir iontráil chomhadlainne i %s le i-nód comhoiriúnach�níl aon fháil ar am an tosaithe is déanaí�cruthaíodh comhadlann %s�comhadlann %s á cruthú�comhad %s á chruthú �críochnaíonn liosta na dteormharcóirí le cúlslais gan éalúchán: %s�comhadlann�roinnt le nialas�theip ar dup2�comhadainm folamh�táb folamh�earráid agus comhad á dhúnadh�earráid le linn cuardaigh ar shlonn ionadaíochta�earráid le linn cuardaigh ar shlonn ionadaíochta�earráid agus %s á léamh�earráid agus %s á scríobh�stádas=�argóint bhreise %s�oibreann breise %s�ní cheadaítear oibreann breise %s le -%c�theip ar chomhthéacs de %s a athrú go %s�theip ar athrú grúpa de %s go %s �theip ar athrú úinéireachta de %s �theip ar athrú úinéireachta de %s go %s �theip ar chdir go dtí an chomhadlann %s�theip ar chomhthéacs nua a chruthú�níorbh fhéidir comhadlann a chruthú le teimpléad %s�níorbh fhéidir comhad a chruthú le teimpléad %s�theip ar chomhthéacs slándála a chruthú: %s�níorbh fhéidir na saintréithe de %s a rochtain�níorbh fhéidir an comhthéacs reatha a fháil�níorbh fhéidir comhthéacs chruthú an chórais comhad a fháil�níorbh fhéidir grúpaí a fháil le haghaidh an phróisis reatha�níorbh fhéidir grúpaí a fháil le haghaidh %s�níorbh fhéidir comhthéacs slándála de %s a fháil�theip ar luchtú an chomhaid %s�Ní féidir %s a oscailt�níorbh fhéidir an t-údar de %s a chaomhnú�níorbh fhéidir an úinéireacht de %s a chaomhnú�níorbh fhéidir ceadanna a chaomhnú ar %s�níorbh fhéidir amanna a chaomhnú ar %s�níorbh fhéidir an gnáth-ionchur earráide a athsheoladh�theip ar %s a bhaint�theip ar chomhadlann %s a bhaint�níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a athchóiriú�níl aon fháil ar an chéad chomhadlann oibre�theip ar chomhpháirt chomhthéacs slándála %s a shocrú mar %s�níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a shocrú go %s�theip ar raon nua %s a shocrú�theip ar ról nua %s a shocrú�theip ar chineál nua %s a shocrú�níorbh fhéidir úsáideoir nua %s a shocrú�níorbh fhéidir an grúpa (nó na grúpaí) forlíontach a shocrú�níorbh fhéidir an chóip den ghnáth-aschur earráide a dhúnadh i ndiaidh exec�theip ar an gcomhthéacs slándála de %s a athrú go %s�theip ar stat %s�theip ar fdatasync i gcomhair %s�theip ar fflush�tá an uimhir réimse %s rómhór�is nialas an uimhir réimse�uimhrítear réimsí agus ionaid ó 1�fifo�Tá an cineál %s roghnaithe agus fágtha as�theip ar ghlao córais fork()�ní cheadaítear teaghrán formáide agus teaghráin ar comhfhad á dtaispeáint�theip ar fsync i gcomhair %s�theip ar fts_read�saintréithe nua de %s á bhfáil�Tá an grúpa de %s fós %s �níl an fheidhm iconv ar fáil�ní féidir an fheidhm iconv a úsáid�id=�ag déanamh neamhshuim ar gach argóint�ag déanamh neamhshuim ar ionchur�ag déanamh neamhshuim ar an ionchur agus an t-aschur á iarcheangal le %s�ag déanamh neamhshuim ar an ionchur, agus an gnáth-aschur earráid á athdhíriú go dtí an gnáth-aschur�tá an athróg thimpeallachta TABSIZE neamhbhailí: %s; ag ligean thar�tá an athróg thimpeallachta QUOTING_STYLE neamhbhailí: %s; ag ligean thar�tá an athróg thimpeallachta COLUMNS neamhbhailí: %s; ag ligean thar�ag déanamh neamhshuim ar argóintí nach roghanna iad�réimsí neamh-chomhoiriúnacha ceangail %lu, %lu�táib éaguibhreannacha�ionchur imithe�tá an líne ionchurtha rófhada�aistriú idir gléasanna teipthe: %s go %s; ní féidir an sprioc a scriosadh�coigeartú neamhbhailí %s�argóint neamhbhailí %s�argóint neamhbhailí %s chun %s�stíl uimhrithe neamhbhailí don chorp: %s�aicme neamhbhailí charachtair %s�comhthéacs neamhbhailí: %s�tiontú neamhbhailí�sonraitheoir tiontaithe neamhbhailí in iarmhír: %c�sonraitheoir tiontaithe neamhbhailí in iarmhír: \%.3o�dáta neamhbhailí %s�formáid neamhbhailí ar an dáta: %s�raon neamhbhailí laghdaitheach�gléas neamhbhailí %s %s�gléas neamhbhailí %s�uimhir neamhbhailí réimse: %s�sonraitheoir neamhbhailí réimse: %s�leithead líne neamhbhailí: %s�uimhir neamhbhailí chomhaid i sonraitheoir réimse: %s�argóint neamhbhailí shnámhphointe: %s�stíl uimhrithe neamhbhailí do bhuntáisc: %s�leithead neamhbhailí bearna: %s�grúpa neamhbhailí�grúpa neamhbhailí %s�grúpa neamhbhailí: %s�stíl uimhrithe neamhbhailí do cheanntásca: %s�ionchur neamhbhailí�bratach neamhbhailí ionchurtha�raon neamhbhailí ionchurtha: %s�slánuimhir neamhbhailí %s�argóint neamhbhailí shlánuimhreach %s�líon neamhbhailí línte %s�disciplín neamhbhailí líne %s�réimseleithead líne-uimhreach neamhbhailí: %s�incrimint líne-uimhreach neamhbhailí: %s�formáid líne-uimhreach neamhbhailí: %s�leithead líne neamhbhailí: %s�is neamhbhailí an phríomhuimhir ghléis %s�doimhneacht uasta neamhbhailí %s�is neamhbhailí an mhionuimhir ghléis %s�mód neamhbhailí�mód neamhbhailí %s�mód neamhbhailí: %s�uimhir neamhbhailí %s�uimhir neamhbhailí ag tús réimse�líon na línte folmha neamhbhailí: %s�líon neamhbhailí na mbeart�is neamhbhailí líon na mbeart a chur i gcomparáid�is neamhbhailí líon na mbeart le ligean thar�líon neamhbhailí na gcolún: %s�is neamhbhailí líon na réimsí le ligean thar�líon na línte neamhbhailí�rogha neamhbhailí -- %c�rogha neamhbhailí -- %c; ní ghlactar le -LEITHEAD ach nuair atá sé an chéad rogha; úsáid -w N ina háit�bratach neamhbhailí aschurtha�beachtas neamhbhailí: %s�raon neamhbhailí gan chríoch: -�líon neamhbhailí na hathráite %s i gcomhstruchtúr [c*n]�sonraíocht neamhbhailí�líne-uimhir imeachta neamhbhailí: %s�bratach neamhbhailí stádais�méid neamhbhailí táib: %s�teimpléad neamhbhailí, %s, tá deighilteoir comhadlainne ann�teimpléad neamhbhailí, %s; le --tmpdir, seans nach dearbhchonair atá ann�tréimhse neamhbhailí %s�formáid neamhbhailí ar an am: %s�rogha neamhbhailí chun deiridh -- %c�teaghrán neamhbhailí cineáil %s�teaghrán neamhbhailí cineáil %s; níl uimhreacha shnámhphointe le %lu beart le fáil ar an gcóras seo�teaghrán neamhbhailí cineáil %s; níl slánuimhreacha le %lu beart le fáil ar an gcóras seo�tá an t-ainm carachtair uilíoch \%c%0*x neamhbhailí�úsáideoir neamhbhailí�úsáideoir neamhbhailí %s�leithead neamhbhailí: %s�méid neamhbhailí timfhillte: %s�ainm neamhbhailí comhaid: folamh�tá sé contúirteach oibriú go hathchúrsach ar %s�tá sé contúirteach oibriú go hathchúrsach ar %s (is ionann agus %s é)�déanach=�sáraíodh an t-uasfhad %lu: fad %lu den ainm comhad %s�sáraíodh an t-uasfhad %lu: fad %lu den chomhpháirt ainm comhaid %s�is rómhór an rogha -%s%c... don áireamh línte�líne-uimhir %s níos lú ná an líne-uimhir roimpi, %s�líne-uimhir thar maoil�cuimhne ídithe�ciú teachtaireachta�comhstruchtúr [:upper:] agus/nó [:lower:] mí-ailínithe�sonraitheoir tiontaithe %% ar iarraidh in iarmhír�argóint ar iarraidh i ndiaidh %s�tá argóint de dhíth i ndiaidh na rogha %s�tá sonraitheoir tiontaithe ar iarraidh in iarmhír�oibreann sprioc-chomhaid ar iarraidh i ndiaidh %s�oibreann comhaid ar iarraidh�uimhir heicsidheachúlach ar iarraidh sa chód éalúcháin�liosta réimsí ar iarraidh�liosta ionad ar iarraidh�oibreann ar iarraidh�oibreann ar iarraidh i ndiaidh %s�caithfidh an mód na giotáin cheada amháin a shonrú�coimeádadh an mód de %s mar %04lo (%s) �táb ilcharachtair %s�sonraíodh roghanna -i iomadúla�roghanna -l nó -t iomadúla�sonraíodh cláir iomadúla chomhbhrúite�ilraonta leibhéil�aschomhaid iomadúla�sonraíodh formáidí iomadúla aschurtha�sonraíodh foinsí iomadúla randamacha�il-rólanna�sonraíodh sprioc-chomhadlanna iomadúla�ilchineálacha�ilúsáideoirí�níor athraíodh nasc siombalach %s ná a thagrán �níl an athróg thimpeallachta SHELL ar fáil, agus ní thugtar rogha den chineál blaoisce�níor athraíodh an t-úinéir de %s �níor sonraíodh ordú ar bith�níor próiseáladh aon chórais chomhaid�níl aon chomhad fágtha�níl aon ainm logáilte isteach ann�níor tugadh aitheantas próisis ar bith�ní cheadaítear sonrú cineáil agus teaghráin á ndumpáil�is gá ainm úsáideora amháin a thabhairt ar a laghad le -l�carachtar neamhiompartha %s in ainm comhaid %s�ní tty é�ní scríobhfar trí nasc siombalach %s gan sprioc�tá an uimhir i %s rómhór�líon na mbeart�líon na línte�fritháireamh thar maoil agus comhad %s á léamh�comhadlann %s á fágáil ar lár�ní cheadaítear ach comhstruchtúr [c*] amháin i teaghrán2�ní cheadaítear ach gléas amháin a bheith ceaptha�ní cheadaítear liostaí iomadúla�theip ar oscailt�úsáideadh an rogha i gcomhthéacs neamhbhailí -- %c�tá an t-úinéir de %s gan athrú �tá an t-úinéir de %s fós %s �leathanach róchúng�ceadanna ar %s á gcaomhnú�amanna á gcaomhnú le haghaidh %s�Is gan chiall línte dúblacha AGUS líon na hathráite a thaispeáint�earráid sa léamh�theip ar léamh�comhadlann %s á léamh�tá an taifead rómhór�gnáthchomhad folamh�gnáthchomhad�%s scriosta �scriosadh comhadlann %s �comhadlann %s á baint�leibhéal feidhmithe�séamafór�ní cheadaítear deighilteoir folamh�bratacha á socraithe le haghaidh %s�ceadanna ar %s á socrú�amanna de %s á socrú�comhad comhchuimhne�is rómhór skip-bytes + read-bytes�ag gabháil thar %s, de bhrí go bhfuil sé ar ghléas difriúil�ag gabháil thar an chomhad %s; bhí sé curtha as áit agus á chóipeáil�soicéad�gnáth-aschur earráide�gnáth-ionchur�tá an gnáth-ionchur dúnta�gnáth-aschur�stat() teipthe�carachtar ar seachrán i sonrú réimse�theip ar chomparáid idir teaghráin�theip ar thiontú teaghráin�chríochnaigh "strip" gan an chúis a mhíniú�ní cheiltear línte gan teormharcóirí ach nuair atáthar ag oibriú le réimsí�nasc siombalach�earráid chomhréire�ní féidir méid táib nialasach�tá carachta(i)r neamhbhailí sa mhéid táib: %s�caithfidh na méideanna táib a bheith ardaitheach�is rómhór an tábstop %s�is rómhór an luach tábstoip�táib rófhada ó chéile�ní comhadlann é an sprioc-chomhad %s�ní cheadaítear sprioc-chomhadlann agus comhadlann á suiteáil�teirm=�test agus/nó [�tá na roghanna --binary agus --text gan bhrí agus suimeanna seiceála á bhfíorú�tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna seiceála�tá an rogha --warn gan bhrí ach amháin nuair atáthar ag fíorú suimeanna seiceála�ní cheadaítear [c*] i dteaghrán2 ach nuair atáthar ag aistriú�ní cheadaítear an comhstruchtúr [c*] i teaghrán1�is gá an teormharcóir a bheith ina charachtar aonarach�is comheisiatach iad na roghanna d'aschur foclach agus d'aschur stty-inléite�is comheisiatach iad na roghanna chun an bunachar sonraí dircolors a aschur agus na roghanna chun comhréire blaoisce a roghnú�ní cheadaítear na roghanna chun an t-am a thaispeáint agus shocrú le chéile�is comheisiatach iad na roghanna chun dátaí a cheapadh le priontáil�ní cheadaítear an rogha --strip agus comhadlann á suiteáil�is as raon an t-am %s�chun aitheantas úsáideora %s a úsáid, ní mór duit -g a úsáid freisin�easpa Xanna i dteimpléad %s�an iomarca sonraitheoirí tiontaithe %% in iarmhír�an iomarca carachtar sa tacar�an iomarca línte dúblacha�an iomarca teimpléad�iomlán�comhad cuimhne le cineál�ní féidir an chomhadlann oibre a thaifead�ní féidir comhthéacs slándála %s a shocrú�oibreoir dénártha anaithnid�Aitheantas úsáideora anaithnid: %s�tá an athróg thimpeallachta LS_COLORS neamhbhailí�oibreann anaithnid %s�réimír anaithnid: %s�bain úsáid as --no-preserve-root chun na cosanta seo a shárú�ag feitheamh le %s [-d]�ag feitheamh le "strip"�rabhadh: %s: ag déanamh neamhshuim ar charachtair i ndiaidh tairiseach carachtair�rabhadh: %s: níorbh fhéidir an comhthéacs a athrú go %s�rabhadh: níl --pid=PID ar fáil ar an gcóras seo�rabhadh: níl --retry áisiúil ach amháin nuair a leantar de réir ainm�rabhadh: rinneadh neamhshuim ar PID; níl --pid=PID tairbheach mura bhfuiltear ag leanúint�rabhadh: cúlslais gan éalúchán ag deireadh an teaghráin agus ní inaistrithe é seo�rabhadh: cúlslais ag deireadh na formáide�rabhadh: ní féidir %s a scriosadh�rabhadh: níl maith ar bith i lorg an ghnáth-ionchur gan teorainn ama�rabhadh: ag déanamh neamhshuim ar argóintí breise, ó %s amach�rabhadh: fritháireamh neamhbhailí i ndiaidh léamh teipthe�rabhadh: leithead neamhbhailí %lu; bainfear úsáid as %d ina ionad�rabhadh: is ionann líne-uimhir %s agus an líne-uimhir roimpi�rabhadh: comhad foinse %s tugtha níos mó ná uair amháin�rabhadh: tagann an coimriú agus --max-depth=%lu salach ar a chéile�rabhadh: is ionann iad coimriú agus --max-depth=0�rabhadh: léirmhíneofar an t-éalúchán débhríoch ochtnártha \%c%c%c mar an seicheamh dhá bheart: \0%c%c, %c�rabhadh: ag seachaint fabht eithne `lseek' don chomhad (%s) de mt_type=0x%0lx -- féach ar <sys/mtio.h> le haghaidh liosta cineálacha�comhad aisteach�mura bhfuiltear ag teascadh tacar1, ní féidir teaghrán2 a bheith folamh�ní cheadaítear comhad darbh ainm %s agus ainmneacha comhaid á léamh ón ghnáth-ionchur�ní cheadaítear móid a shocrú agus an fhormáid aschurtha a cheapadh�ní foláir do theaghrán2 na carachtair ar fad a mhapáil go carachtar singil le linn aistrithe le haicme charachtair comhlánaithe�ní chóipeálfar %s trí nasc siombalach %s a cruthaíodh anois beag�ní chruthófar nasc crua %s go dtí comhadlann %s�diúltaíodh forscríobh ar an chomhad nua %s le %s�le --parents, caithfidh an sprioc-chomhad a bheith ina chomhadlann�earráid sa scríobh�earráid sa scríobh le haghaidh %s�theip ar scríobh�á scríobh i %s�caithfidh tú -c, -t, -u, -l, -r, nó comhthéacs a shonrú�ní foláir duit liosta bearta, carachtair, nó réimsí a cheapadh�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%+% taifead isteach %+% taifead amach �% taifead teasctha �% thaifead teasctha �% thaifead teasctha �% dtaifead teasctha �% taifead teasctha �cóipeáladh % bheart (%s)�cóipeáladh % bheart (%s)�cóipeáladh % bheart (%s)�cóipeáladh % mbeart (%s)�cóipeáladh % beart (%s)�fritháireamh rómhór: ní féidir teascadh go fad % (%lu beart) bloc�%s: %: líne mhíchumtha le suim sheiceála %s�tá an uimhir leathanach tosaigh % níos mó ná líon na leathanach %�Leathanach %����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sv.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001447155�12107204514�011771� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Swedish messages for coreutils. # Copyright © 1997, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Peter Antman <peter.antman@abc.se>, 1997. # Thomas Olsson <cid95tho@lustudat.student.lu.se>, 1997. # Daniel Resare <daniel@resare.com> 1999, 2000. # Göran Uddeborg <goeran@uddeborg.se>, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. # # $Revision: 1.174 $ # msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-12 11:19+0100\n" "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "felaktigt argument %s till %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "tvetydigt argument %s till %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Giltiga argument är:" #: lib/closein.c:100 msgid "error closing file" msgstr "fel när fil stängdes" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "skrivfel" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "bevarar rättigheter pÃ¥ %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Okänt systemfel" #: lib/file-type.c:38 msgid "regular empty file" msgstr "tom normal fil" #: lib/file-type.c:38 msgid "regular file" msgstr "normal fil" #: lib/file-type.c:41 msgid "directory" msgstr "katalog" #: lib/file-type.c:44 msgid "block special file" msgstr "blockspecialfil" #: lib/file-type.c:47 msgid "character special file" msgstr "teckenspecialfil" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolisk länk" #: lib/file-type.c:56 msgid "socket" msgstr "uttag (socket)" #: lib/file-type.c:59 msgid "message queue" msgstr "meddelandekö" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "delat minne-objekt" #: lib/file-type.c:68 msgid "typed memory object" msgstr "typat minne-objekt" #: lib/file-type.c:70 msgid "weird file" msgstr "konstig fil" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Adressfamiljen för värdnamnet stöds inte" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Tillfälligt fel i namnuppslagning" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Felaktigt värde för ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Oreparabelt fel i namnuppslagning" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family stöds inte" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Minnesallokeringsfel" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Ingen adress associerad med värdnamnet" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Namn eller tjänst okänd" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname stöds inte för ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype stöds inte" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Systemfel" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumentbufferten är för liten" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Bearbetar pÃ¥gÃ¥ende begäran" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Begäran annulerad" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Begäran inte annulerad" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Alla begäran utförda" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Avbruten av en signal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parametersträng inte korrekt kodad" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Okänt fel" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flaggan â€%s†är tvetydig; möjligheter:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flaggan â€--%s†tar inget argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flaggan â€%c%s†tar inget argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flaggan â€--%s†kräver ett argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: okänd flagga â€--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: okänd flagga â€%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ogiltig flagga -- â€%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaggan kräver ett argument -- â€%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flaggan â€-W %s†är tvetydig\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flaggan â€-W %s†tar inget argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaggan â€-W %s†kräver ett argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kan inte ändra rättigheter pÃ¥ %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "kan inte skapa katalog %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "minnet slut" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "kan inte notera aktuell arbetskatalog" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "kunde inte Ã¥tervända till den ursprungliga arbetskatalogen" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "â€" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: filslut" #: lib/regcomp.c:131 msgid "Success" msgstr "Lyckas" #: lib/regcomp.c:134 msgid "No match" msgstr "Ingen matchning" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Felaktigt reguljärt uttryck" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ogiltigt sorteringstecken" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ogiltigt teckenklassnamn" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Avslutande bakstreck" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ogiltig bakÃ¥treferens" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Ensam [ eller [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Ensam ( eller \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Ensam \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ogiltigt innehÃ¥ll i \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ogiltigt intervallslut" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Minnet slut" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Felaktigt tidigare reguljärt uttryck" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "För tidigt slut pÃ¥ reguljärt uttryck" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Reguljärt uttryck för stort" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Ensam ) eller \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Inget tidigare reguljärt uttryck" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "det är farligt att arbeta rekursivt pÃ¥ %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "det är farligt att arbeta rekursivt pÃ¥ %s (samma som %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "använd --no-preserve-root för att Ã¥sidosätta detta säkerhetsskydd" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYjJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "sätter rättigheter pÃ¥ %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Avringd" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Avbruten" #: lib/siglist.h:37 msgid "Quit" msgstr "Lämnad" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "OtillÃ¥ten instruktion" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "SpÃ¥rnings-/brytpunktsfälla" #: lib/siglist.h:46 msgid "Aborted" msgstr "Avbruten (SIGABRT)" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Aritmetiskt fel" #: lib/siglist.h:52 msgid "Killed" msgstr "Dödad" #: lib/siglist.h:55 msgid "Bus error" msgstr "Bussfel" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmenteringsfel" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Brutet rör" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Alarmklocka" #: lib/siglist.h:67 msgid "Terminated" msgstr "Avslutad" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "BrÃ¥dskande I/O-tillstÃ¥nd" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Stoppad (signal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Stoppad" #: lib/siglist.h:79 msgid "Continued" msgstr "Ã…terupptagen" #: lib/siglist.h:82 msgid "Child exited" msgstr "Barnstatus ändrad" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Stoppad (terminalläsning)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Stoppad (terminalskrivning)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O möjligt" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Begränsning av CPU-tid överskriden" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Begränsning av filstorlek överskriden" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Alarmklocka - virtuell tid" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profileringsklocka" #: lib/siglist.h:106 msgid "Window changed" msgstr "Ändrat fönster" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Användarsignal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Användarsignal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Emulatorfälla" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Felaktigt systemanrop" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Stackfel" #: lib/siglist.h:126 msgid "Information request" msgstr "Informationsbegäran" #: lib/siglist.h:128 msgid "Power failure" msgstr "Strömavbrott" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Förlorad resurs" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "kan inte skapa rör" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "underprocessen %s misslyckades" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Realtidssignal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Okänd signal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv-funktion inte användbar" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv-funktion inte tillgänglig" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "tecken utanför intervall" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "kan inte konvertera U+%04X till lokal teckenuppsättning" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "kan inte konvertera U+%04X till lokal teckenuppsättning: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ogiltig användare" #: lib/userspec.c:107 msgid "invalid group" msgstr "ogiltig grupp" #: lib/userspec.c:108 msgid "invalid spec" msgstr "ogiltig spec" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "kan inte visa felmeddelande" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketerad av %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paketerad av %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl." "html>.\n" "Detta är fri programvara: du fÃ¥r lov att ändra och vidaredistribuera den.\n" "Det finns INGEN GARANTI, sÃ¥ lÃ¥ngt lagen tillÃ¥ter.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Skrivet av %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Skrivet av %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Skrivet av %s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrivet av %s, %s, %s\n" "och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s\n" "och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s och %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Skrivet av %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s med flera.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapportera fel till %s.\n" "Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Rapportera fel i %s till %s\n" "Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se>\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s hemsida: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s hemsida: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Allmän hjälp med att använda GNU-program: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle misslyckades" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "kan inte Ã¥terställa fb %d: dup2 misslyckades" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "underprocessen %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "underprocessen %s fick en ödesdiger signal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standard in" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standard ut" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standard fel" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "okänd ström" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "misslyckades att öppna om %s i läge %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "strängjämförelse misslyckades" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Sätt LC_ALL='C' för att kringgÃ¥ problemet." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "De jämförda strängarna var %s och %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "det gÃ¥r inte att göra formaterad utmatning" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "felaktigt argument till %s%s: â€%sâ€" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "felaktigt suffix i argument till %s%s â€%sâ€" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argument â€%3$s†till %1$s%2$s är för stort" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Användning: %s [FLAGGA]… [FIL]\n" "Base64-koda eller -avkoda FIL, eller standard in, till standard ut.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode avkoda data\n" " -i, --ignore-garbage vid avkodning, bortse frÃ¥n ickealfabetiska tecken\n" " -w, --wrap=KOL bryt kodade rader efter KOL tecken (76 som " "standard).\n" " Använd 0 för att sÃ¥ av radbrytning\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Utan FIL, eller när FIL är -, läs standard in.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Data kodas för base64-alfabetet enligt beskrivningen i RFC 3548. Vid\n" "avkodning kan indata innehÃ¥lla nyradstecken förutom de byte som\n" "tillhör det egentliga base64-alfabetet. Använd --ignore-garbage för\n" "att försöka Ã¥terhämta frÃ¥n tecken utanför alfabetet i den kodade\n" "strömmen.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "läsfel" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ogiltig indata" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ogiltig radbrytningslängd: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "extra operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "stänger standard in" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Användning: %s NAMN [ÄNDELSE]\n" " eller: %s FLAGGA… NAMN…\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Skriv NAMN med eventuella inledande sökvägskomponenter borttagna.\n" "Tag bort eventuell specificerad ÄNDELSE.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple stöd flera argument och behandla varje som ett NAMN\n" " -s, --suffix=ÄNDELSE ta bort ett avslutande ÄNDELSE\n" " -z, --zero separera utdata med NOLL istället för nyrad\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Exempel:\n" " %s /usr/bin/sort → â€sortâ€\n" " %s include/stdio.h .h → â€stdioâ€\n" " %s -s .h include/stdio.h → â€stdioâ€\n" " %s -a any/str1 any/str2 → â€str1†följt av â€str2â€\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "argument saknas" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Användning: %s [FLAGGA]... [FIL]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Sammanfoga FIL(er), eller standard in, till standard ut.\n" "\n" " -A, --show-all som -vET\n" " -b, --number-nonblank numrera icke-tomma rader, Ã¥sidosätter -n\n" " -e som -vE\n" " -E, --show-ends visa $ i slutet av varje rad\n" " -n, --number numrera alla rader\n" " -s, --squeeze-blank utelämna upprepade tomma rader\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t likvärdigt med -vT\n" " -T, --show-tabs visa TAB-tecken som ^I\n" " -u (ignorerad)\n" " -v, --show-nonprinting använd ^ och M-notation, utom för nyrad och TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exempel:\n" " %s f - g Skriv f:s innehÃ¥ll, därefter standard in, och sedan g:s " "innehÃ¥ll.\n" " %s Kopiera standard in till standard ut.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "kan inte göra â€ioctl†pÃ¥ %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standard ut" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: infil är utfil" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "kunde inte skapa säkerhetskontext: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "kunde inte sätta %s-komponenten av säkerhetskontexten till %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "kunde inte ta reda pÃ¥ säkerhetskontext för %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "det gÃ¥r inte att sätta en partiell kontext pÃ¥ filen %s utan etikett" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "kunde inte byta kontext pÃ¥ %s till %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "kan inte komma Ã¥t %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "kan inte läsa katalog %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "ändrar säkerhetskontext för %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read misslyckades" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close misslyckades" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Användning: %s [FLAGGA]... KONTEXT FIL...\n" " eller: %s [FLAGGA]... [-u ANVÄNDARE] [-r ROLL] [-l INTVL] [-t TYP] " "FIL...\n" " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Ändra säkerhetskontext för varje FIL till KONTEXT.\n" "Med --reference, ändra säkerhetskontext för varje FIL till den hos RFIL.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference ändra referensen för varje symbolisk länk (detta " "är\n" " standard) istället för den symboliska länken själv\n" " -h, --no-dereference ändra symboliska länkar istället för referade " "filer\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=ANVÄNDARE sätt användaren ANVÄNDARE i mÃ¥lets " "säkerhetskontext\n" " -r, --role=ROLL sätt rollen ROLL i mÃ¥lets säkerhetskontext\n" " -t, --type=TYP sätt typen TYP i mÃ¥lets säkerhetskontext\n" " -l, --range=INTERVALL sätt intervallet INTERVALL i mÃ¥lets " "säkerhetskontext\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root behandla inte â€/†speciellt (normalfall)\n" " --preserve-root lÃ¥t bli att arbeta pÃ¥ â€/â€\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFIL använd RFIL:s säkerhetskontext istället för att " "ange\n" " ett KONTEXTvärde\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive arbeta pÃ¥ filer och kataloger rekursivt\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose skriv ut ett meddelande för varje bearbetad fil\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Följande flaggor modifierar hur en hierarki traverseras när flaggan -R\n" "ocksÃ¥ anges. Om mer än en anges har enbart den sista nÃ¥gon verkan.\n" "\n" " -H om ett kommandoradsargument för ett kommando är\n" " en symbolisk länk, följ den.\n" " -L följ varje symbolisk länk till en katalog som\n" " pÃ¥träffas\n" " -P följ inga symboliska länkar (normalfall)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference kräver antingen -H eller -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h kräver -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "operand saknas efter %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "ogiltig kontext: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "motstridiga specificerare för säkerhetskontext angivna" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "kunde inte hämta attribut för %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "ogiltig grupp: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Användning: %s [FLAGGA]... GRUPP FIL...\n" " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Ändra grupp för varje FIL till GRUPP.\n" "Med --reference, ändra gruppen för varje FIL till den hos RFIL.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes som â€verbose†men rapportera bara när ändringar " "görs\n" " -f, --silent, --quiet utelämna de flesta felmeddelanden\n" " -v, --verbose skriv ut ett meddelande för varje bearbetad fil\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (meningsfullt endast pÃ¥ system där det gÃ¥r att\n" " ändra ägare pÃ¥ en symbolisk länk)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFIL använd RFILs grupp istället för att ange ett\n" " GRUPPvärde\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exempel:\n" " %s staff /u Ändra gruppen för /u till â€staffâ€.\n" " %s -hR staff /u Ändra gruppen för /u och underfiler till â€staffâ€.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "hämtar nya attribut för %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "varken den symboliska länken %s eller det den refererar har ändrats\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "rättigheterna hos %s ändrade frÃ¥n %04lo (%s) till %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "kunde inte ändra rättigheterna pÃ¥ %s frÃ¥n %04lo (%s) till %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "rättigheterna hos %s är oförändrat %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "det gÃ¥r inte att ändra den lösa symboliska länken %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "ändrar rättigheter pÃ¥ %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nya rättigheter är %s, inte %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Användning: %s [FLAGGA]... RÄTTIGHET[,RÄTTIGHET]... FIL...\n" " eller: %s [FLAGGA]... OKTAL-RÄTTIGHET FIL...\n" " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Ändra rättigheterna för varje FIL till RÄTTIGHET.\n" "Med --reference, ändra rättigheter för varje FIL till dem hos RFIL.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFIL använd RFILs rättigheter istället för ett\n" " RÄTTIGHETSvärde\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive ändra filer och kataloger rekursivt\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Varje RÄTTIGHET har formen â€[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7}+â€.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "kan inte kombinera rättighets- och --reference-flaggor" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "ogiltig rättighet: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "bytte ägare av %s frÃ¥n %s till %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "bytte grupp av %s frÃ¥n %s till %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "inget byte av ägare av %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "kunde inte byta ägare pÃ¥ %s frÃ¥n %s till %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "kunde inte byta grupp för %s frÃ¥n %s till %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "kunde inte byta ägare pÃ¥ %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "kunde inte byta ägare pÃ¥ %s till %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "kunde inte byta grupp för %s till %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "ägare av %s bevarad som %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grupp av %s bevarad som %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "ägare av %s bevarad\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "kan inte följa %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "byter ägare av %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "byter grupp av %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Användning: %s [FLAGGA]... [ÄGARE][:[GRUPP]] FIL...\n" " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Ändra ägaren och/eller gruppen pÃ¥ varje FIL till ÄGARE och/eller GRUPP.\n" "Med --reference, ändra ägaren och gruppen för varje FIL till dem för RFIL.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=NUVARANDE_ÄGARE:NUVARANDE_GRUPP\n" " byt ägare och/eller grupp pÃ¥ varje fil endast om " "dess\n" " nuvarande ägare och/eller grupp stämmer med de som\n" " anges här. Endera kan utelämnas, och dÃ¥ ställs " "inget\n" " krav pÃ¥ tillhörighet för det utelämnade " "attributet.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RFIL använd RFILs ägare och grupp istället för att ange\n" " ÄGARE:GRUPPvärden\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Ägaren byts inte om den utelämnas. Grupp byts inte om utelämnad,\n" "men byts till inloggningsgrupp om underförstÃ¥dd av â€:†efter en\n" "symbolisk ÄGARE. ÄGARE och GRUPP kan vara numeriska sÃ¥väl som\n" "symboliska.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exempel:\n" " %s root /u Ändra ägare av /u till â€rootâ€.\n" " %s root:staff /u Samma, men ändra även dess grupp till â€staffâ€.\n" " %s -hR root /u Ändra ägare av /u och underfiller â€rootâ€.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "ogiltig grupp %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "ogiltig grupplista %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "misslyckades att sätta tilläggsgrupper" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Användning: %s [FLAGGA] NYROT [KOMMANDO [ARG]...]\n" " eller: %s FLAGGA\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Kör KOMMANDO med rootkatalogen satt till NYROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=ANV:GRUPP ange användare och grupp (ID eller namn) att " "använda\n" " --groups=G_LISTA ange tilläggsgrupper som g1,g2,..,gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Om inget kommando angivs, kör â€${SHELL} -i†(standard: â€/bin/sh -iâ€).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "kan inte ändra rotkatalog till %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "kan inte byta katalog till rotkatalog" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "misslyckades att sätta grupp-ID" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "misslyckades att sätta användar-ID" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "misslyckades att köra kommandot %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fil för lÃ¥ng" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Användning: %s [FIL]...\n" " eller: %s [FLAGGA]\n" "\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Skriv CRC-kontrollsumma och byteantal för varje FIL.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Användning: %s [FLAGGA]... FIL1 FIL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Jämför de sorterade filerna FIL1 och FIL2 rad för rad.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Utan flaggor produceras tre kolumner utdata. Kolumn ett innehÃ¥ller\n" "rader unika för FIL1, kolumn tvÃ¥ innehÃ¥ller filer unika för FIL2 och\n" "kolumn tre innehÃ¥ller rader gemensamma för bÃ¥da filerna.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 skriv ej kolumn 1 (rader som är unika för FIL1)\n" " -2 skriv ej kolumn 2 (rader som är unika för FIL2)\n" " -3 skriv ej kolumn 3 (rader som är förekommer i bÃ¥da " "filerna)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order kontrollera att indata är korrekt sorterad, även om\n" " alla indatarader gÃ¥r att para ihop\n" " --nocheck-order kontrollera inte att indata är korrekt sorterad\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR separera kolumner med STR\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Observera, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Exampel:\n" " %s -12 fil1 fil2 Skriv ut endast rader som finns i bÃ¥de fil1 och fil2.\n" " %s -3 fil1 fil2 Skriv ut rader i fil1 som inte finns i fil2, och " "omvänt.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "fil %d är inte i sorterad ordning" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "multipla avgränsare angivna" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "tom %s är inte tillÃ¥tet" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "fel vid läsning av %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "kan inte göra lseek i %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "fel vid skrivning av %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: misslyckades att hämta information om utsträckningar" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: misslyckaes skriva" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "misslyckades att utöka %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "tar bort rättigheter pÃ¥ %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "misslyckades att bevara ägare av %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "misslyckades att hitta filen %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "misslyckades att bevara författarskap för %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "kan inte öppna %s för läsning" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "kan inte göra fstat pÃ¥ %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "hoppar över fil %s eftersom den byttes ut medan den kopierades" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "misslyckades att hämta skapandekontexten för filsystemet" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "misslyckades att sätta säkerhetskontexten för %s till %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "kan inte ta bort %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "tog bort %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "skriver inte via en lös symbolisk länk %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "kan inte skapa normal fil %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "misslyckades att klona %s frÃ¥n %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "bevarar tider pÃ¥ %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "misslyckades att stänga %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: försök skriva över %s, Ã¥sidosätt rättigheterna %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: skriva över %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "(säkerhetskopia: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "misslyckades att Ã¥terställa standardkontext för filskapande" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "kan inte skapa hÃ¥rd länk %s till %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "kan inte ta status pÃ¥ %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "utesluter katalog %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "varning: källfil %s angiven mer än en gÃ¥ng" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s och %s är samma fil" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "kan inte skriva över icke-katalog %s med katalog %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "kommer inte skriva över nyligen skapade %s med %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "kan inte skriva över katalog %s med icke-katalog" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "kan inte flytta katalog pÃ¥ icke-katalog: %s → %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "säkerhetskopiering av %s skulle förstöra källan; %s inte flyttad" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "säkerhetskopiering av %s skulle förstöra källan; %s inte kopierad" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "kan inte göra säkerhetskopia %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "kommer inte kopiera %s genom en nyskapad symlänk %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kan inte kopiera en katalog, %s, pÃ¥ sig själv, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "kommer inte skapa hÃ¥rd länk %s till katalog %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "kan inte flytta %s till en underkatalog till sig själv, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "kan inte flytta %s till %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "flytt mellan enheter misslyckades: %s till %s; kan inte ta bort mÃ¥let" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "misslyckades att sätta standardkontext för skapade filer till %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "kan inte kopiera cyklisk symbolisk länk %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: kan bara skapa relativa symboliska länkar i aktuell katalog" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "kan inte skapa symbolisk länk %s till %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "kan inte skapa fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "kan inte skapa specialfil %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "kan inte läsa symbolisk länk %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "kan inte skapa symbolisk länk %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s har okänd filtyp" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "kan inte avsäkerhetskopiera %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s → %s (Ã¥terta säkerhetskopia)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Användning: %s [FLAGGA]... [-T] KÄLLA DEST\n" " eller: %s [FLAGGA]... KÄLLA... KATALOG\n" " eller: %s [FLAGGA]... -t KATALOG KÄLLA...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Kopiera KÄLLA till DEST, eller flera KÄLLOR till KATALOG.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive samma som -dR --preserve=all\n" " --attributes-only kopiera inte fildata, bara attributen\n" " --backup[=STYR] gör en säkerhetskopia av varje befintlig\n" " destinationsfil\n" " -b som --backup men tar inget argument\n" " --copy-contents kopiera innehÃ¥ll i specialfiler när " "rekursivt\n" " -d samma som --no-dereference --preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force om en befintlig destinationsfil inte kan\n" " öppnas, ta bort den och försök igen (denna\n" " flagga ignoreras om -n ocksÃ¥ används)\n" " -i, --interactive frÃ¥ga innan nÃ¥got skrivs över (Ã¥sidosätter " "en\n" " tidigare flagga -n)\n" " -H följ symboliska länkar pÃ¥ kommandoraden i " "KÄLLA\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link hÃ¥rdlänka filer istället fär att kopiera\n" " -L, --dereference följ alltid symboliska länkar i KÄLLA\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber skriv inte över en existerande fil " "(Ã¥sidosätter\n" " en tidigare flagga -i)\n" " -P, --no-dereference följ aldrig symboliska länkar i KÄLLA\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p samma som --preserve=mode,ownership," "timestamps\n" " --preserve[=ATTR_LISTA] bevara de angivna attributen (standard:\n" " mode,ownership,timestamps), om möjligt \n" " ytterligare attribut: context, links, " "xattr,\n" " all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LISTA bevara inte de angivna attributen\n" " --parents lägg till källsökvägen till KATALOG\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive kopiera kataloger rekursivt\n" " --reflink[=NÄR] styr klon-/CoW-kopior. Se nedan.\n" " --remove-destination ta bort varje befintlig destinationsfil före\n" " försök att öppna den (jämför med --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=NÄR styr skapande av glesa filer. Se nedan.\n" " --strip-trailing-slashes ta bort eventuella avslutande snedstreck " "frÃ¥n\n" " varje KÄLL-argument\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link gör symboliska länkar istället för att " "kopiera\n" " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" " -t, --target-directory=KATALOG flytta alla KÄLLOR till KATALOG\n" " -T, --no-target-directory behandla DEST som en vanlig fil\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopiera bara när KÄLLA är nyare än\n" " destinationen, eller när destinationen\n" " saknas helt\n" " -v, --verbose berätta vad som görs\n" " -x, --one-file-system stanna inom detta filsystem\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Normalt upptäcks en gles KÄLLA med en grov heuristik och motsvarande\n" "DEST görs likaledes gles. Det beteendet väljs av --sparse=auto. Ange\n" "--sparse=always för att alltid göra DEST gles när KÄLLA innehÃ¥ller\n" "tillräckligt lÃ¥nga nollbytesekvenser. Ange --sparse=never för att\n" "hindra skapandet av glesa filer.\n" "\n" "När --reflink[=always] anges, utför en lättviktskopiering, där datablocken\n" "endast kopieras när de modifieras. Om detta inte är möjligt misslyckas\n" "kopieringen eller, om --reflink=auto anges, faller tillbaka pÃ¥ en\n" "standardkopiering.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Ändelsen pÃ¥ säkerhetskopior är â€~†om inte annat anges av --suffix eller\n" "SIMPLE_BACKUP_SUFFIX. Versionhanteringen kan styras med --backup-flaggan " "eller\n" "med miljövariabeln VERSION_CONTROL. Den kan ha följande värden:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off gör aldrig säkerhetskopior (ens om --backup anges)\n" " numbered, t gör numrerade säkerhetskopior\n" " existing, nil numrerade om det redan finns numrerade, annars enkla\n" " simple, never gör alltid enkla säkerhetskopior\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Som ett specialfall gör cp en säkerhetskopia av KÄLLA när force- och\n" "backup-flaggorna är givna, och KÄLLA och DEST är samma namn pÃ¥ en befintlig\n" "normal fil.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "misslyckades att bevara tider för %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "misslyckades att bevara rättigheter pÃ¥ %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "kan inte skapa katalog %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s finns men är inte en katalog" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "misslyckades att komma Ã¥t %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "filoperand saknas" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "destinationfilsoperand saknas efter %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "det gÃ¥r inte att kombinera --target-directory (-t) och --no-target-directory " "(-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "mÃ¥let %s är inte en katalog" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "med --parents mÃ¥ste destinationen vara en katalog" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "multipla mÃ¥lkataloger angivna" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "kan inte göra bÃ¥de hÃ¥rda och symboliska länkar" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "flaggorna --backup och --no-clobber är ömsesidigt uteslutande" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink kan endast användas med --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "säkerhetskopietyp" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "kan inte bevara säkerhetskontext utan en kärna med SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "kan inte bevara utökade attribut, cp byggdes utan stöd för xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "indata försvann" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: radnummer utanför intervallet" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: radnummer utanför intervallet" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " vid upprepning %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ingen träff" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "fel i sökning med reguljärt uttryck" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "skrivfel för %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: heltal förväntades efter avskiljare" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: upprepningsoperatorn mÃ¥ste avslutas med â€}â€" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: heltal krävs mellan â€{†och â€}â€" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: avslutande avskiljare â€%c†saknas" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: felaktigt reguljärt uttryck: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: felaktigt mönster" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: radnummer mÃ¥ste vara större än noll" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "radnummer %s är lägre än föregÃ¥ende radnummer, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "varning: radnummer %s är detsamma som föregÃ¥ende radnummer" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "saknar formatbeskrivning i ändelse" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "felaktig formatbeskrivning i ändelse: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "felaktig formatbeskrivning i ändelse: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ogiltiga flaggor formatbeskrivning: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "för mÃ¥nga %%-formatbeskrivningar i ändelse" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "saknar %%-formatbeskrivning i ändelse" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: felaktigt tal" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Användning: %s [FLAGGA]... FIL MÖNSTER...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Skriv ut delar av FIL avdelade med MÖNSTER till filer â€xx00â€, â€xx01â€, …,\n" "och skriv ut byte-antal för varje del till standard ut.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT använd sprintf-FORMAT i stället för %02d\n" " -f, --prefix=PREFIX använd PREFIX i stället för â€xxâ€\n" " -k, --keep-files ta inte bort utfiler vid fel\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=SIFFROR använd angivet antal siffror istället för 2\n" " -s, --quiet, --silent skriv inte ut storleken pÃ¥ utmatningsfiler\n" " -z, --elide-empty-files ta bort tomma utmatningsfiler\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Läs standard in om FIL är -. Varje MÖNSTER kan vara:\n" "\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " HELTAL kopiera till men ej inklusive angivet radnummer\n" " /MÖNSTER/[AVSTÃ…ND] kopiera till men ej inklusive en rad som matchar\n" " %MÖNSTER%[AVSTÃ…ND] hoppa över till men ej inklusive, en rad som " "matchar\n" " {HELTAL} upprepa föregÃ¥ende mönster HELTAL gÃ¥nger\n" " {*} upprepa föregÃ¥ende mönster sÃ¥ mÃ¥nga gÃ¥nger som " "möjligt\n" "\n" "Ett radAVSTÃ…ND är ett â€+†eller â€-†följt av ett positivt heltal.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "fält och positioner numreras frÃ¥n 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Användning: %s FLAGGA... [FIL]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "Skriv valda delar av rader frÃ¥n varje FIL till standard ut.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA välj endast dessa byte\n" " -c, --characters=LISTA välj endast dessa tecken\n" " -d, --delimiter=AVSKILJ använd AVSKILJ i stället för TAB som " "fältavskiljare\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA välj endast dessa fält; skriv ocksÃ¥ ut rader som\n" " saknar avkiljare, om inte flaggan -s anges\n" " -n (ignorerad)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement tar komplementet av de valda byten, tecknen " "eller \n" " fälten\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited skriv inte ut rader som saknar fältavskiljare\n" " --output-delimiter=STRÄNG använd STRÄNG som avskiljare vid utmatning\n" " standard är att avända inmatningsavskiljaren\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Använd en och endast en av -b, -c eller -f. Varje LISTA bestÃ¥r av ett\n" "intervall, eller flera intervall avskilda med komman. Utvald indata\n" "skrivs i samma ordning som den läses, och skrivs exakt en gÃ¥ng.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Varje intervall är en av:\n" "\n" " N N:te byte, tecken eller fält, räknat frÃ¥n 1\n" " N- frÃ¥n N:te byte, tecken eller fält, till radslut\n" " N-M frÃ¥n N:te till och med M:te byte, tecken eller fält\n" " -M frÃ¥n första till och med M:te byte, tecken eller fält\n" "\n" "Utan FIL eller när FIL är -, läs standard in.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "felaktig byte-, tecken- eller fältlista" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "ogiltigt intervall utan slutpunkt: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "ogiltigt sjunkande intervall" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "byteposition %s är för stor" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "fältnummer %s är för stort" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "endast en sorts lista fÃ¥r användas" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "avskiljaren mÃ¥ste vara endast ett tecken" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "du mÃ¥ste specificera en lista med byte, tecken eller fält" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "en indataavskiljare kan endast specificeras vid arbete pÃ¥ fält" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "att undertrycka ej avskilda rader är endast rimligt\n" "\tvid arbete pÃ¥ fält" #: src/cut.c:870 msgid "missing list of fields" msgstr "saknar fältlista" #: src/cut.c:872 msgid "missing list of positions" msgstr "saknar lista med positionsangivelser" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Användning: %s [FLAGGA]... [+FORMAT]\n" " eller: %s [-u|--utc|--universal] [MMDDhhmm[[Ã…Ã…]Ã…Ã…][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "Visa aktuell tid med angivet FORMAT, eller ställ in systemtiden.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=STRÄNG visa tiden som beskriv av STRÄNG, inte â€nuâ€\n" " -f, --file=DATUMFIL som --date en gÃ¥ng för varje rad i DATUMFIL\n" " -I[TIDSSPEC], --iso-8601[=TIDSSPEC] skriv ut datum/tid i ISO 8601-" "format.\n" " TIDSSPEC=â€date†för endast datum (standard),\n" " â€hoursâ€, â€minutesâ€, â€secondsâ€, eller â€ns†för " "datum\n" " och tid med den angivna precisionen.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FIL visa den tidpunkt dÃ¥ FIL senast modifierades\n" " -R, --rfc-2822 skriv ut tid och datum enligt formatet RFC 2822\n" " Exampel: Mon, 07 Aug 2006 12:34:56 +0200\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIDSPEC skriv ut tid och datum enligt formatet RFC " "3339.\n" " TIDSPEC=â€dateâ€, â€seconds†eller â€ns†för att " "tid\n" " datum skall anges med angiven precision. " "Datum-\n" " och tidsdelen separeras av ett ensamt " "blanktecken:\n" " 2006-08-07 12:34:56+02:00\n" " -s, --set=STRÄNG sätt tiden som den beskrivs i STRÄNG\n" " -u, --utc, --universal sätt eller visa tiden i Universell Tid (UTC)\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT styr utskriften. Tolkade sekvenser är:\n" "\n" " %% ett literalt %\n" " %a lokalens förkortade veckodagsnamn (t.ex. sön)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokalens fullständiga veckodagsnamn (t.ex. söndag)\n" " %b lokalens förkortade mÃ¥nadsnamn (t.ex. jan)\n" " %B lokalens fullständiga mÃ¥nadsnamn (t.ex. januari)\n" " %c lokalens dag och tid (t.ex. ons 5 okt 2005 22.02.05)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Ã¥rhundrade, som %Y, fast utelämna de sista tvÃ¥ siffrorna (t.ex. 20)\n" " %d dag i mÃ¥nad (t.ex., 01)\n" " %D datum, samma som %m/%d/%y\n" " %e dag i mÃ¥nad, blankutfyllt, samma som %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F fullständigt datum, samma som %Y-%m-%d\n" " %g de sista tvÃ¥ siffrorna i Ã¥ret för ISO-veckonumret (se %G)\n" " %G Ã¥ret motsvarande ISO-veckonumret (se %V), normalt användbart endast\n" " med %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h samma som %b\n" " %H timme (00-23)\n" " %I timme (01-12)\n" " %j dag pÃ¥ Ã¥ret (001-366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k timme, blankutfyllt ( 0-23); samma som %_H\n" " %l timme, blankutfyllt ( 1-12); samma som %_I\n" " %m mÃ¥nad (01-12)\n" " %M minut (00-59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n en ny rad\n" " %N nanosekunder (000000000-999999999)\n" " %p lokalens FM- eller EM-indikator (tom i mÃ¥nga lokaler)\n" " %P lokalens fm- eller em-indikator (tom i mÃ¥nga lokaler)\n" " %r lokalens tid, 12-timmars (t.ex. 10:04:26)\n" " %R 24-timmars timme och minut, samma som %H:%M\n" " %s sekunder sedan â€1970-01-01 00.00.00 UTCâ€\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekunder (00-60)\n" " %t en tabulator\n" " %T tid, samma som %H:%M:%S\n" " %u dag i veckan (1-7), 1 är mÃ¥ndag\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U veckonummer, med söndag som första dag i veckan (00-53)\n" " %V ISO-veckonummer, med mÃ¥ndag som första dag i veckan (01-53)\n" " %w veckodag (0-6); 0 är söndag\n" " %W veckonummer, med mÃ¥ndag som första dag i veckan (00-53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x lokalens datumrepresentation (t.ex. 2005-10-06)\n" " %X lokalens tidrepresentation (t.ex 23.43.02)\n" " %y sista tvÃ¥ siffrorna i Ã¥rtalet (00-99)\n" " %Y Ã¥r\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm numerisk tidszon (t.ex., -0400)\n" " %:z +hh:mm numerisk tidszon (t.ex., -04:00)\n" " %::z +hh:mm:ss numerisk tidszon (t.ex., -04:00:00)\n" " %:::z numerisk tidszon med : som behövs för precisionen (t.ex., -04, " "+05:30)\n" " %Z alfabetisk tidszonsförkortning (t.ex., CET)\n" "\n" "Normalt fyller date ut numeriska fält med nollor.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Följande frivilliga flaggor kan komma efter â€%â€:\n" "\n" " - (bindestreck) fyll inte ut fältet\n" " _ (understrykning) fyll ut med blanksteg\n" " 0 (noll) fyll ut med nollor\n" " ^ använd versaler om möjligt\n" " # använd motsatt skiftläge om möjligt\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Efter eventuella flaggor följer en valfri fältbredd, som ett decimalt\n" "tal, sedan en valfri modifierare, som är antingen\n" "E för att använda lokalens alternativa representationer om tillgängliga, " "eller\n" "O för att använda lokalens alternativa numeriska symboler om tillgängliga.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Exempel:\n" "Konvertera sekunder sedan epoken (1970-01-01 UTC) till ett datum\n" " $ date --date='@2147483647'\n" "\n" "Visa tiden i Helsinfors i Finland (använd tzselect(1) för att hitta TZ)\n" " $ TZ='Europe/Helsinki' date\n" "\n" "Visa den lokala tiden för klockan 9 nästa fredag i Helsingfors i Finland\n" " $ date --date='TZ=\"Europe/Helsinki\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standard in" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "ogiltigt datum %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "multipla utformat angivna" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "flaggorna för att ange datum för utskrift är ömsesidigt uteslutande" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "argumenten för utskrift och för tidsinställning fÃ¥r inte användas tillsammans" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumentet %s saknar ett inledande â€+â€.\n" "När en flagga som anger datum används mÃ¥ste eventuellt argument, som\n" "inte är en flagga vara en formatsträng som börjar med â€+â€" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "kan inte ställa klockan" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "tiden %s är utanför tillÃ¥tet intervall" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s [OPERAND]...\n" " eller: %s FLAGGA\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopiera en fil med konvertering och formatering enligt operanderna.\n" "\n" " bs=BYTE läs och skriv upp till BYTE byte Ã¥t gÃ¥ngen\n" " cbs=BYTE konvertera BYTE byte Ã¥t gÃ¥ngen\n" " conv=KONV:ar konvertera filen enligt den kommaseparerade symbollistan\n" " count=N kopiera endast N inblock\n" " ibs=BYTE läs upp till BYTE byte Ã¥t gÃ¥ngen (standard: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FIL läs frÃ¥n FIL istället för standard in\n" " iflag=FLAGGOR läs enligt den kommaseparerade symbollistan\n" " obs=BYTE skriv BYTE byte Ã¥t gÃ¥ngen (standard: 512)\n" " of=FIL skriv FIL istället för standard ut\n" " oflag=FLAGGOR skriv enligt den kommaseparerade symbollistan\n" " seek=N hoppa över N obs-stora block frÃ¥n början av utfil\n" " skip=N hoppa över N ibs-stora block frÃ¥n början av infil\n" " status=VILKEN VILKEN information som skall utelämnas frÃ¥n utskrift till\n" " standard fel; â€noxfer†utelämnar överföringsstatistik,\n" " â€none†utelämnar allt\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N och BYTE kan följas av de följande multiplikativa ändelserna:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000·1000, M =1024·1024, xM =M\n" "GB =1000·1000·1000, G =1024·1024·1024, och sÃ¥ vidare för T, P, E, Z, Y.\n" "\n" "Varje KONV-symbol kan vara:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii frÃ¥n EBCDIC till ASCII\n" " ebcdic frÃ¥n ASCII till EBCDIC\n" " ibm frÃ¥n ASCII till en alternativ EBCDIC\n" " block fyll ut nyradsavslutade poster med blanktecken till cbs-storlek\n" " unblock ersätt avslutande blanktecken med nyrad i cbs-stora poster\n" " lcase ändra versaler till gemena\n" " ucase ändra gemena till versaler\n" " sparese försök att söka snarare än skriva utdata för inblock med NOLL\n" " swab byt plats pÃ¥ varje par av byte i indata\n" " sync fyll ut varje indatablock med nulltecken till ibs-storlek; när\n" " det används med block eller unblock, fyll ut med blanktecken\n" " istället för nulltecken\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl misslyckas om utilen redan finns\n" " nocreat skapa inte utfilen\n" " notrunc hugg inte av utfilen\n" " noerror fortsätt efter läsfel\n" " fdatasync skriv fysiskt data till utfilen före avslut\n" " fsync d:o, men skriv även metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Varje FLAGGsymbol kan vara:\n" "\n" " append lägg-till-läge (meningsfullt endast för utmatning, conv=notrunc\n" " rekommenderas)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio använd samtidig I/O för data\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct använd direkt I/O för data\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory misslyckas om inte en katalog\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync använd synkroniserad I/O för data\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync d:o, men även för metadata\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock ackumulera hela block av indata (endast iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock använd icke blockerande I/O\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime uppdatera inte Ã¥tkomsttiden\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache kasta mellanlagrade data\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty tilldela inte styrterminal frÃ¥n fil\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow följ inte symboliska länkar\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks misslyckas ifall flera länkar\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary använd binär I/O för data\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text använd text-I/O för data\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes behandla â€count=N†som ett antal byte (endast iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes behandla â€skip=N†som ett antal byte (endast iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes behandla â€seek=N†som ett antal byte (endast oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Genom att skicka en %s-signal till en körande â€ddâ€-process fÃ¥r\n" "man den att skriva in-/utstatistik pÃ¥ standard, och sedan fortsätta\n" "kopiera.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 poster in\n" " 18335302+0 poster ut\n" " 9387674624 byte (9.4 GB) kopierade, 34.6279 sekunder, 271 MB/s\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> poster in\n" "%<PRIuMAX>+%<PRIuMAX> poster ut\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> avhuggen post\n" msgstr[1] "%<PRIuMAX> avhuggna poster\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) kopierad" msgstr[1] "%<PRIuMAX> byte (%s) kopierade" #: src/dd.c:720 msgid "Infinity B" msgstr "Oändligt B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "stänger infil %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "stänger utdatafil %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "misslyckades att slÃ¥ av O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "skrivning till %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "okänd operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "ogiltig konvertering" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "ogiltig inflagga" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "ogiltig utflagga" #: src/dd.c:1227 msgid "invalid status flag" msgstr "ogiltig statusflagga" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "ogiltigt antal %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "kan inte kombinera nÃ¥got par av {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "kan inte kombinera block och unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "kan inte kombinera lcase och ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "kan inte kombinera excl och nocreate" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "det gÃ¥r inte att kombinera direct och nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "varning: gÃ¥r runt fel i kärnan i lseek för fil (%s)\n" " med mt_type=0x%0lx -- se <sys/mtio.h> för en lista av typer" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: kan inte hoppa över" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: kan inte söka" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "spill i filposition vid läsning av filen %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "varning: ogiltig filposition efter misslyckad läsning" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "kan inte kringgÃ¥ fel i kärnan trots allt" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "sätter flaggor för %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "minnet slut av indatabuffert av storlek %zu byte (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "minnet slut av utdatabuffert av storlek %zu byte (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: kan inte hoppa över till angiven position" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "misslyckades att hugga av vid %<PRIdMAX> byte i utdatafil %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync misslyckades för %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync misslyckades för %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "misslyckades att öppna %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "positionen för stor: kan inte hugga av till en längd av seek=%<PRIuMAX> (%lu-" "byte-)block" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "misslyckades att hugga av vid %<PRIuMAX> byte i utdatafil %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "misslyckades att kasta mellanlager för: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Filsystem" #: src/df.c:175 msgid "Type" msgstr "Typ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "block" #: src/df.c:181 msgid "Used" msgstr "Använt" #: src/df.c:184 msgid "Available" msgstr "Tillgängligt" #: src/df.c:187 msgid "Use%" msgstr "Anv%" #: src/df.c:190 msgid "Inodes" msgstr "Inoder" #: src/df.c:193 msgid "IUsed" msgstr "IAnvänt" #: src/df.c:196 msgid "IFree" msgstr "ILediga" #: src/df.c:199 msgid "IUse%" msgstr "IAnv%" #: src/df.c:202 msgid "Mounted on" msgstr "Monterat pÃ¥" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "flaggan --output: fältet â€%s†är okänt" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "flaggan --output: fältet â€%s†angivet mer än en gÃ¥ng" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Storlek" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Ledigt" #: src/df.c:474 msgid "Capacity" msgstr "Kapacitet" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Visa information om filsystemet där varje FIL ligger, eller annars alla\n" "filsystem.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all tag med lÃ¥tsasfilsystem\n" " -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T.ex.\n" " â€-BM†skriver storleka i enheter av 1 048 576 " "byte.\n" " Se STORLEKsformat nedan.\n" " --total skriv ut en totalsumma\n" " -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M 2G)\n" " -H, --si d:o, men använd potenser av 1000 istället för 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes skriv inodinformation istället för blockinformation\n" " -k som --block-size=1K\n" " -l, --local visa endast lokala filsystem\n" " --no-sync anropa inte sync innan information hämtas " "(normalfall)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=FÄLTLISTA] använd utformatet definerat av FÄLTLISTA, eller\n" " skriv alla fält om FÄLTLISTA utelämnas.\n" " -P, --portability använd POSIX-format\n" " --sync anropa sync innan information hämtas\n" " -t, --type=TYP begränsa listningen till filsystem av typen TYP\n" " -T, --print-type skriv ut filsystemtyp\n" " -x, --exclude-type=TYP utelämna filsystem av typ TYP\n" " -v (ignorerad)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "FÄLTLISTA är en kommaseparerad lista med kolumner som skall vara med. " "Giltiga\n" "fältnamn är: â€sourceâ€, â€fstypeâ€, â€itotalâ€, â€iusedâ€, â€iavailâ€, â€ipcentâ€,\n" "â€sizeâ€, â€usedâ€, â€availâ€, â€pcent†och â€target†(se infosidan).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "flaggorna %s och %s är ömsesidigt uteslutande" #: src/df.c:1335 msgid "warning: " msgstr "varning: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "den lÃ¥nga flaggan â€--megabytes†undanbedes och kommer snart tas bort" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "filsystemstypen %s är bÃ¥de vald och exkluderad" #: src/df.c:1500 msgid "Warning: " msgstr "Varning: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "kan inte läsa tabellen över monterade filsystem" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "inga filsystem bearbetade" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Användning: %s [FLAGGA]... [FIL]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Skriv ut kommandon för att sätta miljövariabeln LS_COLORS.\n" "\n" "Bestäm utformat:\n" " -b, --sh, --bourne-shell skriv kod för att sätta LS_COLORS i Bourne-" "skal\n" " -c, --csh, --c-shell skriv kod för att sätta LS_COLORS i C-skal\n" " -p, --print-database visa standardvärden\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Om FIL anges, läs den för att bestämma vilka färger som skall användas till\n" "vilka filtyper och ändelser. Annars används en fördefinierad databas. För\n" "detaljer om formatet pÃ¥ dessa filer, kör â€dircolors --print-databaseâ€.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: ogiltig rad; inget andra element" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: okänt nyckelord %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<intern>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "flaggorna för att skriva ut dircolors interna databas och att välja en\n" "skalsyntax är ömsesidigt uteslutande" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "filoperander kan inte kombineras med --print-database (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "ingen SHELL-miljövariabel, och ingen flagga för skalvariant angiven" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Användning: %s [FLAGGA] NAMN…\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Skriv ut NAMN med dess sista snedstrecksfria komponent och avslutande " "snedstreck\n" "borttagna; om NAMN inte innehÃ¥ller nÃ¥gora /, skriv â€.†(som betyder aktuell\n" "katalog)\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero separera utmatningen med NOLL istället för nyrad\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Exempel:\n" " %s /usr/bin/ → â€/usrâ€.\n" " %s dir1/str dir2/str → â€dir1†följt av â€dir2â€\n" " %s stdio.h → â€.â€.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Användning: %s [FLAGGA]... [FIL]...\n" " eller: %s [FLAGGA]... --files0-from=F\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "Sammanfatta diskanvändningen för varje FIL, rekursivt för kataloger.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null avsluta varje utrad med en 0-byte istället för " "nyrad\n" " -a, --all skriv ut värden för alla filer, inte bara kataloger\n" " --apparent-size skriv skenbar storlek, istället för diskanvändning;\n" " även om den skenbara storleken normalt är mindre, " "kan\n" " den vara större pÃ¥ grund av hÃ¥l i (â€glesaâ€) " "filer,\n" " intern fragmentering, indirekta block, och " "liknande\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T.ex.\n" " â€-BM†skriver storleka i enheter av 1 048 576 " "byte.\n" " Se STORLEKsformat nedan.\n" " -b, --bytes likvärdigt med â€--apparent-size --block-size=1â€\n" " -c, --total rapportera totalsumman\n" " -D, --dereference-args följ endast symboliska länkar som är uppräknade " "pÃ¥\n" " kommandoraden\n" " -d, --max-depth=N skriv summan för en katalog (eller fil, med --all)\n" " endast om den är N eller färre nivÃ¥er nedanför\n" " kommandoradsargumentet; --max-depth=0 är detsamma\n" " som --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F summera diskanvändning för de NOLL-terminerade\n" " filnamnen som anges i filen F;\n" " Om F är - sÃ¥ läs namn frÃ¥n standard in\n" " -H detsamma som --dereference-args (-D)\n" " -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k som --block-size=1K\n" " -L, --dereference följ alla symboliska länkar\n" " -l, --count-links räkna storlek flera gÃ¥nger för hÃ¥rda länkar\n" " -m som --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference följ inga symboliska länkar (detta är normalfallet)\n" " -S, --separate-dirs ta inte med storlek pÃ¥ underkataloger\n" " --si som -h men i exponenter av 1000 istället för 1024\n" " -s, --summarize visa bara summan för varje argument\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=STORLEK uteslut poster som är mindre än STORLEK om den " "är \n" " positivt, eller poster större än STORLEK om den " "är\n" " negativ\n" " --time visa tiden för senaste ändring av filer i " "katalogen,\n" " eller nÃ¥gon av dess underkataloger\n" " --time=ORD visa tid som ORD istället för modifieringstid:\n" " atime, access, use, ctime eller status\n" " --time-style=STIL visa tider med stilen STIL:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT tolkas so för â€dateâ€\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=FIL utelämna filer som matchar nÃ¥got mönster i FIL\n" " --exclude=MÖNSTER utelämna filer som matchar MÖNSTER\n" " -x, --one-file-system hoppa över kataloger pÃ¥ andra filsystem\n" #: src/du.c:386 msgid "Infinity" msgstr "Oändligt" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "monteringspunkten %s är redan traverserad" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read misslyckades: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "ogiltigt maxdjup %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "felaktigt argument till --threshold â€-0â€" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "kan inte samtidigt bara visa summan och alla storlekar" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "varning: att summera är detsamma som att använda --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "varning: att summera stÃ¥r i konflikt med --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "filoperander kan inte kombineras med --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: läsfel" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "när filnamn läses frÃ¥n standard in tillÃ¥ts inte filnamnet %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "ogiltigt filnamn med längd noll" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totalt" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Användning: %s [KORT_FLAGGA]... [STRÄNG]...\n" " eller: %s LÃ…NG-FLAGGA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Eka STRÄNG(arna) till standard ut.\n" "\n" " -n skriv inte ut den avslutande nyraden\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e slÃ¥ pÃ¥ tolkning av sekvenser med omvänt snedstreck " "(standard)\n" " -E slÃ¥ av tolkning av sekvenser med omvänt snedstreck\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e slÃ¥ pÃ¥ tolkning av sekvenser med omvänt snedstreck\n" " -E slÃ¥ av tolkning av sekvenser med omvänt snedstreck " "(standard)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Om -e är pÃ¥slaget tolkas följande sekvenser:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ omvänt snedstreck\n" " \\a varning (SIGNAL)\n" " \\b backsteg\n" " \\c producera ingen ytterligare utmatning\n" " \\f sidmatning\n" " \\n nyrad\n" " \\r vagnretur\n" " \\t horisontell tabulator\n" " \\v vertikal tabulator\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN byte med kotalt värde NNN (1 till 3 siffror)\n" " \\xHH byte med hexadecimalt värde HH (1 till 2 siffror)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Användning: %s [FLAGGA]... [-] [NAMN=VÄRDE]... [KOMMANDO [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "Sätt varje NAMN till VÄRDE i miljön och kör KOMMANDO.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment börja med en tom miljö\n" " -0, --null avsluta varje utmatad rad med en 0-byte istället för\n" " nyrad\n" " -u, --unset=NAMN ta bort variabeln frÃ¥n miljön\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Ett ensamt - medför -i. Om inget KOMMANDO, skriv ut den resulterande " "miljön.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "kan inte ta bort %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "kan inte sätta %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "det gÃ¥r inte att ange --null (-0) med ett kommando" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertera tabulatorer i varje FIL till mellanslag, skriv till standard ut.\n" "Utan FIL eller om FIL är -, läs standard in.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial konvertera inte tabulatorer efter icke-blanktecken\n" " -t, --tabs=ANTAL använd ANTAL tecken mellan tabulatorer, ej 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA använd kommaseparerad lista med tabulatorpositioner\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tabulatorsteg är för stort %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tabulatorsteg innehÃ¥ller felaktiga tecken: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tabulatorsteg kan inte vara 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tabulatorsteg mÃ¥ste vara stigande" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "för lÃ¥ng rad in" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Användning: %s UTTRYCK\n" " eller: %s FLAGGA\n" "\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Skriv ut värdet pÃ¥ UTTRYCK till standard ut. En tom rad nedan separerar " "grupper\n" "med ökande prioritetsordning. UTTRYCK kan vara:\n" "\n" " ARG1 | ARG2 ARG1 om det varken är null eller 0, annars ARG2\n" "\n" " ARG1 & ARG2 ARG1 om inget av argumenten är null eller 0, annars 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 är mindre än ARG2\n" " ARG1 <= ARG2 ARG1 är mindre än eller lika med ARG2\n" " ARG1 = ARG2 ARG1 är lika med ARG2\n" " ARG1 != ARG2 ARG1 är inte lika med ARG2\n" " ARG1 >= ARG2 ARG1 är större än eller lika med ARG2\n" " ARG1 > ARG2 ARG1 är större än ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetisk summa av ARG1 och ARG2\n" " ARG1 - ARG2 aritmetisk differens mellan ARG1 och ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetisk produkt av ARG1 och ARG2\n" " ARG1 / ARG2 aritmetisk kvot av ARG1 dividerat med ARG2\n" " ARG1 % ARG2 aritmetisk rest av ARG1 dividerat med ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRÄNG : REGUTTR förankrad mönstersökning efter REGUTTR i STRÄNG\n" "\n" " match STRÄNG REGUTTR samma som STRÄNG : REGUTTR\n" " substr STRÄNG POS LÄNGD delsträng av STRÄNG, POS räknas frÃ¥n 1\n" " index STRÄNG BOKST index i STRÄNG där BOKST pÃ¥träffats, eller 0\n" " length STRÄNG längden av STRÄNG\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + ELEMENT tolka ELEMENT som en sträng, även om den är " "ett\n" " nyckelord som â€match†eller en operator som " "â€/â€\n" " ( UTTRYCK ) värdet av UTTRYCK\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Var medveten om att vissa skal tolkar mÃ¥nga operatorer, som därför mÃ¥ste\n" "markeras. Jämförelser är aritmetiska om bÃ¥da ARG är siffror, annars\n" "lexikografiska. Mönsterträffar returnerar strängen som stämmer\n" "mellan \\( och \\), eller tom sträng. Om \\( och \\) inte använts, " "returneras \n" "antalet tecken som överensstämmer, eller 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Slutstatus är 0 om UTTRYCK varken är tomt eller 0, 1 om UTTRYCK är tomt\n" "eller 0, 2 om UTTRYCK är syntaktiskt felaktigt och 3 om ett fel uppstod.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaxfel" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "fel i matchningen av reguljärt uttryck" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argument som inte är heltal" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "division med noll" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "sätt LC_ALL='C' för att kringgÃ¥ problemet" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "de jämförda strängarna var %s och %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Möller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Lucas primtalstest misslyckades. Detta skall inte hända" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "squfof köspill" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s är inte ett giltigt positivt heltal" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s är för stort" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s [TAL]...\n" " eller: %s FLAGGA\n" "\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Skriv ut primfaktorerna till alla angivna heltal TAL. Om inga argument\n" "angivits pÃ¥ kommandoraden, läses de frÃ¥n standard in.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "kan inte avgöra aktuell katalog" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "kan inte byta till katalog %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "kan inte ta status pÃ¥ aktuell katalog (nu %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Användning: %s [-BREDD] [FLAGGA]... [FIL]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Formatera om varje stycke i FILen/-erna, skriv till standard ut.\n" "Flaggan -BREDD är en förkortad form av --widht=SIFFROR.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin bibehÃ¥ll indragning av de tvÃ¥ första raderna\n" " -p, --prefix=STRÄNG formatera bara om rader som börjar med STRÄNG\n" " sätt tillbaka prefixet pÃ¥ omformaterade rader\n" " -s, --split-only dela lÃ¥nga rader, men justera ej\n" # Det är ett fel att detta meddelande är markerat c-format. Men av den # anledningen mÃ¥ste ordet efter procenttecknet starta med o, u, x, etc. # Jag har felrapporterat, och gÃ¥r runt problemet genom att skriva "utav" # istället för "av". #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph indrag av första raden inte samma som andra " "raden\n" " -u, --uniform-spacing ett mellanslag mellan ord, tvÃ¥ efter meningar\n" " -w, --width=LÄNGD maximal radlängd (standardvärde 75 kolumner)\n" " -g, --goal=LÄNGD mÃ¥lradlängd (standard är 93 % utav bredden)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "ogiltig flagga -- %c; -RADLÄNGD accepteras bara när det är den första\n" "flaggan; använd -w N istället" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ogiltig radlängd: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Bryt inmatade rader i varje fil (standard in som standard) och skriv till\n" "standard ut.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes räkna byte i stället för kolumner\n" " -s, --spaces bryt vid mellanrum\n" " -w, --width=ANTAL använd ANTAL kolumner i stället för 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "felaktigt antal kolumner: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Användning: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Skriv ut plattformsberoende gränser pÃ¥ ett format som är användbart i " "skalskript.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "kunde inte avgöra grupper för användaren %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "kunde inte avgöra grupper för dem aktuella processen" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "kan inte hitta ett namn för grupp-ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Användning: %s [FLAGGA]... [ANVÄNDARNAMN]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Skriv ut gruppmedlemskap för ANVÄNDARNAMN eller, om inget ANVÄNDARNAMN " "angavs,\n" "för den aktuella processen (som kan vara annorlunda om gruppdatabasen har\n" "ändrats).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "kan inte fÃ¥ fram verklig UID" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "kan inte fÃ¥ fram effektiv GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "kan inte fÃ¥ fram verklig GID" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: ingen sÃ¥dan användare" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de 10 första raderna av varje FIL till standard ut.\n" "Vid fler än en FIL, föregÃ¥ varje fil med ett huvud med filens namn.\n" "Utan FIL eller när FIL är -, läs standard in.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K skriv de första K byte av varje fil;\n" " med det inledande â€-â€, skriv allt utom de " "sista\n" " K byte av varje fil\n" " -n, --lines=[-]K skriv de första K raderna istället för de första " "10;\n" " med det inledande â€-â€, skriv alla utom de " "sista\n" " K raderna av varje fil\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent skriv aldrig huvuden med filnamn\n" " -v, --verbose skriv alltid huvuden med filnamn\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K kan ha en multiplikativ ändelse:\n" "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" "GB 1000·1000·1000, G 1024·1024·1024, och sÃ¥ vidare för T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: filen har krympt för mycket" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: antal byte är för stort" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: kan inte söka tillbaka till startposition" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: kan inte söka till position %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: misslyckades att Ã¥terställa filpekaren" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "kan inte flytta filpekaren för %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s är sÃ¥ stor att den inte kan representeras" #: src/head.c:886 msgid "number of lines" msgstr "antal rader" #: src/head.c:886 msgid "number of bytes" msgstr "antal byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "felaktigt antal rader" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "felaktigt antal byte" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "ogiltig avslutande flagga -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Användning: %s [FLAGGA]\n" "Skriv ut den numeriska identifieraren (i hexadecimal form) för aktuell " "värd.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Användning: %s [NAMN]\n" " eller: %s FLAGGA\n" "Skriv ut eller ställ in värdnamnet pÃ¥ aktuellt system.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "kan inte sätta namnet till %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "kan inte sätta värdnamn; detta system saknar denna funktionen" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "kan inte avgöra värdnamnet" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Användning: %s [FLAGGA]... [ANVÄNDARNAMN]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Skriv ut användar- och gruppinformation om ANVÄNDARNAMN,\n" "eller (när ANVÄNDARNAMN utelämnas) om den aktuella användaren.\n" "\n" " -a ignoreras, finns för kompabilitet med andra versioner\n" " -Z, --context skriv endast säkerhetskontexten för den aktuella " "användaren\n" " -g, --group skriv endast gällande grupp-ID\n" " -G, --groups skriv alla grupp-ID\n" " -n, --name skriv ett namn i stället för ett nummer, gäller -ugG\n" " -r, --real skriv verklig ID i stället för den gällande, gäller -ugG\n" " -u, --user skriv endast gällande användar-ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Utan nÃ¥gon FLAGGA skrivs lite användbar, identifierad information ut.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) fungerar endast med en kärna med SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "kan inte visa säkerhetskontext när en användare är angiven" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "kan inte skriva â€endast†för mer än ett val" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "kan inte skriva ut bara namn eller faktiskt ID pÃ¥ standardformat" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "kan inte fÃ¥ processkontexten" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "kan inte fÃ¥ fram effekiv UID" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "kan inte hitta ett namn för användar-ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " grupper=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontext=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "varning: %s: misslyckades att byta kontext till %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "skapar katalog %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "kan inte byta ägare av %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "kan inte sätta tidsstämpel för %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "systemanropet fork misslyckades" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "kan inte köra %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "väntar pÃ¥ strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "strip-processen slutade onormalt" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "ogiltig användare %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Användning: %s [FLAGGA]... [-T] KÄLLA DEST\n" " eller: %s [FLAGGA]... KÄLLA... KATALOG\n" " eller: %s [FLAGGA]... -t KATALOG KÄLLA...\n" " eller: %s [FLAGGA]... -d KATALOG...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Detta installationsprogram kopierar filer (oftast nykompilerade) till\n" "destinationsplatser man väljer. Om man vill hämta och installera ett\n" "paket som är färdigt att använda pÃ¥ ett GNU/Linuxsystem bör du istället\n" "använda en pakethanterare som yum(1) eller apt-get(1).\n" "\n" "De första tre formaten kopierar KÄLLA till DEST eller flera KÄLLor till\n" "en befintlig KATALOG, samtidigt som rättigheter och ägare/grupp sätts.\n" "Det fjärde formatet skapar KATALOG(er) inklusive eventuella " "föräldrakataloger.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=STYR] säkerhetskopiera varje befintlig destination\n" " -b som --backup, fast tar inget argument\n" " -C, --compare jämför varje par of käll- och destinationsfiler, och\n" " modifiera i nÃ¥gra fall inte destinationen alls\n" " -c (ignoreras)\n" " -d, --directory betrakta alla argument som kataloger; skapa dem\n" " inklusive eventuella föräldrakataloger\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D skapa alla föräldrakataloger till DEST; kopiera sedan\n" " KÄLLA till DEST\n" " -g, --group=GRUPP sätt grupptillhörighet, istället för processens grupp\n" " -m, --mode=RÄTTIGHET sätt rättigheter (som för chmod), istället för rwxr-" "xr-x\n" " -o, --owner=ÄGARE sätt ägare (endast superanvändare)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps sätt KÄLLors Ã¥tkomst- och modifikationstid pÃ¥\n" " motsvarande destinationsfiler\n" " -s, --strip ta bort symboltabeller\n" " --strip-program=PROGRAM program att använda för att ta bort\n" " symboltabeller\n" " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" " -t, --target-directory=KATALOG kopiera alla KÄLLargument till KATALOG\n" " -T, --no-target-directory behandla DEST som en vanlig fil\n" " -v, --verbose skriv namnet pÃ¥ varje katalog som skapas\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context bevara SELinux-säkerhetskontext\n" " -Z, --context=KONTEXT sätt SELinux-säkerhetskontext pÃ¥ filer och " "kataloger\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "VARNING: ignorerar --preserve-context; denna kärna har inte SELinux." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "VARNING: ignorerar --context (-Z); denna kärna har inte SELinux." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "strip-flaggan kan inte användas vid installation av en katalog" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "mÃ¥lkatalog kan inte användas vid installation av en katalog" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "det gÃ¥r inte att tvinga mÃ¥lkontext till %s och bevara den" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "ogiltig rättighet %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "VARNING: ignorerar flaggan --strip-program eftersom flaggan -s inte angavs" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "flaggorna --compare (-C) och --preserve-timestamps är ömsesidigt uteslutande" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "flaggorna --compare (-C) och --strip är ömsesidigt uteslutande" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "flaggan --compare (-C) ignoreras när du anger ett läge med tillÃ¥t-inte-bitar" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "För varje par av inmatade rader med identiska join-fält, skriv en rad\n" "till standard ut. Om inget annat anges används det första fältet som\n" "join-fält avskiljda med blanktecken. När FIL1 eller FIL2 (inte bÃ¥da)\n" "är -, läs standard in.\n" "\n" " -a FILNUM skriv även omatchade rader frÃ¥n fil FILNUM, där FILNUM är " "1\n" " eller 2, motsvarande FIL1 eller FIL2\n" " -e TOM ersätt tomma inmatningsfält med TOM\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignorera skiftläge när fält jämförs\n" " -j FÄLT samma som â€-1 FÄLT -2 FÄLTâ€\n" " -o FORMAT följ FORMAT när utskriftsrader konstrueras\n" " -t TECKEN använd TECKEN som fältseparator för in- och utmatning\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FILNUM som -a FILNUM, men undertrycker förenade utmatade rader\n" " -1 FÄLT förena med detta FÄLT i fil 1\n" " -2 FÄLT förena med detta FÄLT i fil 2\n" " --check-order kontrollera att indata är korrekt sorterad, även om\n" " alla indatarader gÃ¥r att para ihop\n" " --nocheck-order kontrollera inte att indata är korrekt sorterad\n" " --header hantera första raden i varje fil som filhuvuden,\n" " skriv dem utan att försöka att para ihop dem\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Om inte -t TECKEN är givet separeras fält av inledande mellanslag\n" "som ignoreras, annars separeras fält av TECKEN. Varje FÄLT är ett\n" "fältnummer räknat frÃ¥n 1. FORMAT är en eller flera specifikationer\n" "Ã¥tskilda med komma eller mellanslag, var och en är â€FILNUM.FÄLTâ€\n" "eller â€0â€. Normalvärdet för FORMAT skriver ut de förenade fälten, de\n" "kvarvarande fälten frÃ¥n FIL1, de kvarvarande fälten frÃ¥n FIL2, allt\n" "separerat med TECKEN. Om FORMAT är nyckelordet â€auto†avgör första\n" "raden av varje fil antalet fält som skrivs ut för varje rad.\n" "\n" "Viktigt: FIL1 och FIL2 mÃ¥ste vara sorterade pÃ¥ föreningsfälten.\n" "T.ex., använd â€sort -k 1b,1†om â€join†inte har nÃ¥gra flaggor,\n" "eller använd â€join -t ''†om â€sort†inte har nÃ¥gra flaggor.\n" "Observera, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€.\n" "Om indata inte är sorterad och nÃ¥gra rader inte kan förenas, ges ett\n" "varningsmeddelande.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: är inte sorterad: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "felaktigt fältnummer: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "felaktig fältspecifikation: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "felaktigt filnummer i fältspec: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "inkompatibla join-fält %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "motsägelsefulla ersättningssträngar för tomma fält" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "flerteckenstabulator %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "inkompatibla tabulatorer" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "bÃ¥da filerna kan inte vara standard in" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Användning: %s [-s SIGNAL | -SIGNAL] PID...\n" " eller: %s -l [SIGNAL]...\n" " eller: %s -t [SIGNAL]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "Skickar signaler till processer, eller räknar upp signaler.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL\n" " ange namnet eller numret pÃ¥ signalen som skall skickas\n" " -l, --list räkna upp signalnamn, eller konvertera signalnamn till/" "frÃ¥n\n" " nummer\n" " -t, --table skriv en tabell med signalinformation\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL kan vara ett signalnamn som â€HUP†eller ett signalnummer som\n" "â€1â€, eller en slutstatus frÃ¥n en process avslutad av en signal. PID\n" "är ett heltal; om det är negativt identifierar det en processgrupp.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: ogiltigt process-id" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "ogiltig flagga -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: flera signaler angivna" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "multipla -l eller -t-flaggor angivna" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "kan inte kombinera signal med -l eller -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "inget process-ID angivet" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "misslyckades att allokera en %<PRIuMAX> byte stdio-buffert\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "felaktigt buffringsläge %s för %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "kunde inte ställa in buffring av %s till läge %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Användning: %s FIL1 FIL2\n" " eller: %s [FLAGGA]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Anropa funktionen link för att skapa en länk som heter FIL2 till en\n" "befintlig FIL1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "kan inte skapa länk %s till %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: hÃ¥rd länk inte tillÃ¥ten för katalog" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: kan inte skriva över katalog" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: ersätt %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "misslyckades att skapa symbolisk länk %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "misslyckades att skapa symbolisk länk %s → %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "misslyckades att skapa hÃ¥rd länk till %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "misslyckades att skapa hÃ¥rd länk %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "misslyckades att skapa hÃ¥rd länk %s ⇒ %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Användning: %s [FLAGGA]... [-T] MÃ…L LÄNKNAMN (format 1)\n" " eller: %s [FLAGGA]... MÃ…L (format 2)\n" " eller: %s [FLAGGA]... MÃ…L... KATALOG (format 3)\n" " eller: %s [FLAGGA]... -t KATALOG MÃ…L... (format 4)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "I det första formatet, skapa en link till MÃ…L med namnet LÄNKNAMN.\n" "I det andra formatet, skapa en länk till MÃ…L i aktuell katalog.\n" "I de tredje och fjärde formaten, skapa länkar till varje MÃ…L i KATALOG.\n" "Skapa hÃ¥rda länkar om inget annat anges, symboliska länkar med --symbolic.\n" "Normalt fÃ¥r varje destination (namn pÃ¥ ny länk) inte redan finnas.\n" "Symboliska länkar kan innehÃ¥lla godtycklig text. Om de senare löses\n" "upp tolkas en relativ länk i förhÃ¥llande till sin föräldrakatalog.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=STYR] säkerhetskopiera varje befintlig destination\n" " -b som --backup, fast tar inget argument\n" " -d, -F, --directory tillÃ¥t superanvändaren att försöka hÃ¥rt länka\n" " kataloger (obs: detta kommer formodligen\n" " misslyckas pÃ¥ grund av systemrestriktioner,\n" " även för superanvändaren)\n" " -f, --force ta bort befintliga destinationsfiler\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive frÃ¥ga om destinationer skall tas bort\n" " -L, --logical följ MÃ…L som är symboliska länkar\n" " -n, --no-dereference behandla LÄNKNAMN som en normal fil om det är\n" " är en symbolisk länk till katalog\n" " -P, --physical gör hÃ¥rda länkar direkt till symboliska " "länkar\n" " -r, --relative skapa symboliska länkar relativt " "länkpositionen\n" " -s, --symbolic gör symboliska länkar istället för hÃ¥rda " "länkar\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" " -t, --target-directory=KATALOG ange KATALOG som länkarna skall skapas i\n" " -T, --no-target-directory behandla alltid LÄNKNAMN som en vanlig fil\n" " -v, --verbose skriv namnet pÃ¥ varje länkad fil\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "Användning av -s ignorerar -L och -P. Annars styr den sist angivna flaggan\n" "beteendet när ett MÃ…L är en symbolisk länk, som standard %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "det gÃ¥r inte att kombinera --target-directory och --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "kan inte göra --relative utan --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXA: okänd" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Användning: %s [FLAGGA]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Skriv ut namnet pÃ¥ aktuell användare.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "inget inloggningsnamn" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H.%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignorerar ogiltigt värde pÃ¥ miljövariabeln QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorerar felaktig bredd i miljövariabeln COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "ignorerar felaktigt tabulatorsteg i miljövariabeln TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "felaktig radlängd: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "felaktigt tabulatorsteg %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "felaktigt tidsstilsformat %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Giltiga argument är:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (t.ex., +%H.%M) för ett format i â€dateâ€-stil\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "fel vid initiering av mÃ¥nadssträngar" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "okänt prefix: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "obegripligt värde pÃ¥ LS_COLORS-miljövariabeln" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "kan inte öppna katalog %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "kan inte avgöra enhet och inod för %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: listar inte redan listad katalog" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "läser katalog %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "stänger katalog %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "kan inte jämföra filnamnen %s och %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Visa information om FILerna (aktuell katalog om inget anges). Sortera\n" "posterna alfabetiskt om ingen av -cftuvSUX eller --sort anges.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all bortse inte frÃ¥n poster som inleds med .\n" " -A, --almost-all lista inte underförstÃ¥dda . och ..\n" " --author med -l, skriv ut författare för varje fil\n" " -b, --escape skriv C:s specialkoder för ickegrafiska tecken\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T." "ex.\n" " â€--block-size=M†skriver storleka i enheter " "av\n" " 1 048 576 byte. Se STORLEKsformat nedan.\n" " -B, --ignore-backups lista inte underförstÃ¥dda poster som slutar pÃ¥ " "~\n" " -c med -lt: sortera efter och visa ctime, (tid " "för\n" " senaste ändring av filstatusinformation)\n" " med -l: visa ctime och sortera alfabetiskt\n" " annars: sortera efter ctime, nyast först\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C lista poster kolumnvis\n" " --color[=NÄR] färglägg utskriften. NÄR är som standard " "â€alwaysâ€\n" " eller kan vara â€never†eller â€autoâ€. Mer\n" " information nedan\n" " -d, --directory lista kataloger istället för deras innehÃ¥ll,\n" " och följ inte symboliska länkar\n" " -D, --dired anpassa utdata för Emacs dired-funktion\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f sortera inte, slÃ¥ pÃ¥ -aU, slÃ¥ av -ls --color\n" " -F, --classify lägg till en indikator (en av */=>@|) till " "poster\n" " --file-type detsamma, med undantag av â€*â€\n" " --format=ORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time som -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g som -l, men skriv inte ut ägare\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " gruppera kataloger före filer.\n" " utöka med en flagga --sort, men användning\n" " av --sort=none (-U) avaktiverar gruppering\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group i lÃ¥nga listningar: skriv inte ut gruppnamn\n" " -h, --human-readable med -l, skriv storlekar i läsbart format\n" " (t.ex. 1K 234M 2G)\n" " --si d:o, men använd potenser av 1000, inte 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " följ symboliska länkar angivna pÃ¥ kommandoraden\n" " --dereference-command-line-symlink-to-dir\n" " följ varje kommandoradsargument som är en " "symbolisk\n" " länk som pekar pÃ¥ en katalog\n" " --hide=MÖNSTER visa inte underförstÃ¥dda poster som matchar " "MÖNSTER\n" " (Ã¥sidosätts av -a eller -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=ORD lägg till en indikator med stil ORD till " "postnamn:\n" " none (standard), slash (-p),\n" " file-type (-p), classify (-F)\n" " -i, --inode visa indexnummer för varje fil\n" " -I, --ignore=MÖNSTER visa inte underförstÃ¥dda poster som matchar\n" " skalMÖNSTER\n" " -k, --kibibytes använd 1024-bytesblock\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l använd lÃ¥ngt listningsformat\n" " -L, --dereference när filinformation visas för en symbolisk " "länk,\n" " visa information om filen länken refererar\n" " snarare än för själva länken\n" " -m fyll bredden med en kommaseparerad lista av " "poster\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid som -l, men lista numeriska användar- och grupp-" "ID\n" " -N, --literal skriv ut rÃ¥a postnamn (specialbehandla inte\n" " kontrolltecken till exempel)\n" " -o som -l, men lista inte gruppinformation\n" " -p, --indicator-style=slash\n" " lägg till en /-indikator till kataloger\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars skriv ? istället för ickegrafiska tecken\n" " --show-control-chars visa ickegrafiska tecken som de är (normalfall " "utom\n" " om programmet är â€ls†och utdata är en " "terminal)\n" " -Q, --quote-name omge postnamnen med citationstecken\n" " --quoting-style=ORD använd citationsstil ORD för postnamn:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse sortera baklänges\n" " -R, --recursive visa underkataloger rekursivt\n" " -s, --size skriv allokerade storleken i block för varje " "fil\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S sortera efter filstorlek\n" " --sort=ORD sortera ORDvis istället för efter namn: none -" "U,\n" " extension -X, size -S, time -t, version -v\n" " --time=ORD visa tid som ORD istället för modifieringstid:\n" " atime, access, use, ctime eller status; använd\n" " angiven tid som sorteringsnyckel om --" "sort=time\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STIL med -l, visa tider i med stil STIL:\n" " full-iso, long-sio, iso, locale, +FORMAT\n" " FORMAT tolkas som â€dateâ€; om FORMAT är\n" " FORMAT1<nyrad>FORMAT2, används FORMAT1 för " "gamla\n" " filer och FORMAT2 för nyare filer;\n" " vid tillägg av prefixet â€posix-†till STIL, " "gäller\n" " STIL endast utanför lokalen POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t sortera efter modifieringstid, nyast först\n" " -T, --tabsize=KOLUMN antag tabulatorsteg varje KOLUMN, inte var 8:e\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u med -lt: sortera efter och visa Ã¥tkomsttid\n" " med -l: visa Ã¥tkomsttid men sortera " "alfabetiskt\n" " annars: sortera enligt Ã¥tkomsttid\n" " -U sortera inte; lista poster i katalogordning\n" " -v naturlig sortering av (versions)nummer i text\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=KOLUMN anta skärmbredd istället för aktuellt värde\n" " -x lista poster radvis istället för kolumnvis\n" " -X sortera alfabetiskt efter ändelser\n" " -Z, --context skriv eventuell SELinuxsäkerhetskontext för\n" " varje fil\n" " -1 lista en fil per rad\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Användning av färger för att särskilja filtyper är avslaget bÃ¥de som\n" "standard och med --color=never. Med --color=auto, skriver ls ut\n" "färgkoder endast när standard ut är anslutet till en terminal.\n" "Miljövariablen LS_COLORS kan ändra instaällningen Använd kommandot\n" "dircolors för att sätta den.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Slutstatus:\n" " 0 om OK,\n" " 1 om smärre problem (t.ex., kan inte komma Ã¥t en underkatalog),\n" " 2 om allvarliga bekymmer (t.ex., kan inte komma Ã¥t kommandoradsargument).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Användning: %s [FLAGGA]... [FIL]...\n" "Skriv eller kontrollera %s (%d-bitars) kontrollsummor.\n" "Utan FIL eller om FIL är -, läs standard in.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary läs i binärt läge (standard om inte standard in frÃ¥n\n" " tty läses)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary läs i binärt läge\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check läs %s-summor frÃ¥n FILen och kontrollera dem\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag skapa en kontrollsumma i BSD-stil\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text läs i textläge (standard om standard in frÃ¥n tty " "läses)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text läs i textläge (standard)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "De tre följande flaggorna är användbara enbart vid verifikation av\n" "kontrollsummor:\n" " --quiet skriv inte OK för varje verifierad fil\n" " --status skriv inte ut nÃ¥got, statuskoden visar resultatet\n" " -w, --warn varna för felaktigt formaterade kontrollsummerader\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict med --check, avsluta med status skild frÃ¥n noll vid\n" " alla fel i indata\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Summorna beräknas sÃ¥ som beskrivs i %s. Vid kontroll ska indata vara\n" "tidigare utdata frÃ¥n detta program. Normalläge är att skriva en rad\n" "med en kontrollsumma, ett tecken som indikerar typen (â€*†för binärt,\n" "blanktecken för text), och namnet pÃ¥ varje FIL.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: för mÃ¥nga kontrollsummerader" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: felaktigt formaterad %s-kontrollsummerad" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: MISSLYCKADES att öppna eller läsa\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "MISSLYCKADES" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: inga korrekt formaterade %s-kontrollsummerader funna" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "VARNING: %<PRIuMAX> rad är felaktigt formaterad" msgstr[1] "VARNING: %<PRIuMAX> rader är felaktigt formaterade" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "VARNING: %<PRIuMAX> listad fil kunde inte läsas" msgstr[1] "VARNING: %<PRIuMAX> listade filer kunde inte läsas" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "VARNING: %<PRIuMAX> beräknad kontrollsumma stämde INTE" msgstr[1] "VARNING: %<PRIuMAX> beräknade kontrollsummor stämde INTE" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag stödjer inte läget --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "flaggan --tag är meningslös när kontrollsummor verifieras" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "flaggorna --binary och --text är meningsfulla enbart när kontrollsummor\n" "verifieras" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "flaggan --status är meningsfull enbart när kontrollsummor verifieras" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "flaggan --warn är meningsfull enbart när kontrollsummor verifieras " #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "flaggan --quiet är meningsfull enbart när kontrollsummor verifieras" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "flaggan --strict är meningsfull enbart när kontrollsummor verifieras" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Användning: %s [FLAGGA]... KATALOG...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Skapa KATALOG(er), om de inte redan finns.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=RÄTTIGHET sätt filrättigheter (som i chmod), inte rwxrwxrwx - " "umask\n" " -p, --parents inget fel om den finns, gör föräldrakataloger vid behov\n" " -v, --verbose skriv meddelande för varje skapad katalog\n" " -Z, --context=KTX sätt SELinuxsäkerhetskontexten pÃ¥ varje skapad katalog\n" " till KTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "skapade katalog %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Användning: %s [FLAGGA]... NAMN...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Skapa namngivna rör (FIFO) med de givna NAMNen.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=RÄTTIGHET sätt filrättighetsbitar till RÄTTIGHET, inte a=rw - " "umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KTX sätt SELinux-säkerhetskontexten pÃ¥ varje NAMN till KTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "felaktig rättighet" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "rättigheter mÃ¥ste ange endast filrättighetsbitar" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Användning: %s [FLAGGA]... NAMN TYP [ÖVRE LÄGRE]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Skapa specialfilen NAMN av angiven TYP.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KTX sätt SELinux-säkerhetskontexten pÃ¥ NAMN till KTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "BÃ¥de ÖVRE och LÄGRE mÃ¥ste anges när TYP är b, c eller u, och de fÃ¥r\n" "inte anges när TYP är p. Om ÖVRE eller LÄGRE börjar med 0x eller 0X\n" "tolkas det som hexadecimalt; annars, om det börjar med 0 som oktalt;\n" "annars som decimalt. TYP fÃ¥r vara:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b skapa en (buffrad) blockspecialfil\n" " c, u skapa en (obuffrad) teckenspecialfil\n" " p skapa en FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Specialfiler kräver övre och undre enhetsnummer" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifo:er har inte övre och undre enhetsnummer." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blockspecialfiler stöds inte" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "teckenspecialfiler stöds inte" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "ogiltigt övre enhetsnummer %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "ogiltigt undre enhetsnummer %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "ogiltig enhet %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "ogiltig enhetstyp %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Användning: %s [FLAGGA]... [MALL]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Skapa en temporarfil eller -katalog, säkert, och skriv dess namn.\n" "MALL mÃ¥ste innehÃ¥lla Ã¥tminstone 3 â€X†i följd i sin sista komponent.\n" "Om MALL inte är angivet, används tmp.XXXXXXXXXX, och --tmpdir är implicit.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Filer skapas u+rw, och kataloger u+rwx, minus begränsningar frÃ¥n umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory skapa en katalog, inte en fil\n" " -u, --dry-run skapa ingenting, skriv bara ett namn (osäkert)\n" " -q, --quiet utelämna meddelanden när det inte gÃ¥r att skapa filer/" "kataloger\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF lägg till SUFF till MALL. SUFF fÃ¥r inte innehÃ¥lla " "ett\n" " snedstreck. Denna flagga är implicit om MALL inte\n" " slutar med X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=KAT] tolka MALL relativt KAT. Om KAT inte anges använd\n" " $TMPDIR om den är satt, annars /tmp. Med denna\n" " flagga fÃ¥r MALL inte vara ett absolut namn. Till\n" " skillnad mot -t fÃ¥r MALL innehÃ¥lla snedstreck, men\n" " mktemp skapar endast den sista komponenten.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p KAT använd KAT som ett prefix, implicerar -t [undanbedes]\n" " -t tolka MALL som en ensam filnamnskomponent,\n" " relativt en katalog: $TMPDIR, om det är satt, " "annars\n" " katalogen som angetts via -p, annars /tmp " "[undanbedes]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "misslyckades att omdirigera standard fel till /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "för mÃ¥nga mallar" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "med --suffix mÃ¥ste mallen %s sluta med X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "ogiltigt suffix %s, innehÃ¥ller katalogseparator" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "för fÃ¥ X i mallen %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "ogiltig mall, %s, innehÃ¥ller katalogseparator" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "ogiltig mall, %s, med --tmpdir fÃ¥r den inte vara absolut" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "misslyckades att skapa en katalog via mallen %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "misslyckades att skapa en fil via mallen %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "Byt namn pÃ¥ KÄLLA till DEST eller flytta KÄLLor till KATALOG.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=STYR] säkerhetskopiera varje befintlig destination\n" " -b som --backup, fast tar inget argument\n" " -f, --force frÃ¥ga inte innan nÃ¥got skrivs över\n" " -i, --interactive frÃ¥ga innan nÃ¥got skrivs över\n" " -n, --no-clobber skriv inte över existerade filer\n" "Om du anger mer än en av -i, -f, -n har endast den sista nÃ¥gon effekt.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes ta bort avslutande snedstreck frÃ¥n varje \n" " KÄLLargument\n" " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=KATALOG flytta alla KÄLLargument in i KATALOG\n" " -T, --no-target-directory behandla DEST som en vanlig fil\n" " -u, --update flytta endast när KÄLLfilen är nyare än\n" " destinationsfilen eller när " "destinationsfilen\n" " inte finns\n" " -v, --verbose förklara vad som görs\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Användning: %s [FLAGGA] [KOMMANDO [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Kör KOMMANDO med justerat nice-värde, vilket pÃ¥verkar processens\n" "schemaläggning. Utan KOMMANDO skrivs nuvarande nice-värde.\n" "Nice-värden gÃ¥r frÃ¥n %d (mest gynnsamt för processen) till %d (minst\n" "gynnsamt för processen).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=N lägg till heltalet N till nice-värdet (10 som " "standard)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "felaktigt justering %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "ett kommando mÃ¥ste anges med en justering" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "kan inte avgöra nice-värde" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "kan inte sätta nice-värde" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv varje FIL till standard ut och lägg till radnummer.\n" "Utan FIL eller om FIL är -, läs standard in.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIL använd STIL för att numrera rader i " "kroppen\n" " -d, --section-delimiter=CC använd CC för att avgränsa logiska sidor\n" " -f, --footer-numbering=STIL använd STIL för att numrera rader i fot\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIL använd STIL för att numrera rader i huvud\n" " -i, --line-increment=ANTAL öka radnummer med ANTAL för varje rad\n" " -l, --join-blank-lines=ANTAL grupp med ANTAL tomma rader räknade som " "en\n" " -n, --number-format=FORMAT följ FORMAT när radnummer sätts in\n" " -p, --no-renumber börja inte om radnummer vid logiska sidor\n" " -s, --number-separator=STRÄNG lägg till STRÄNG efter (möjligt) " "radnummer\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NUMMER första radnumret pÃ¥ varje logisk sida\n" " -w, --number-width=ANTAL använd ANTAL kolumner för radnummer\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "I normalläge används -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC\n" "bestÃ¥r av tvÃ¥ tecken för att avskilja logiska sidor, saknas andra\n" "tecknet menas :. Skriv \\\\ för \\. STIL är nÃ¥gon av:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numrera alla rader\n" " t numrera endast icketomma rader\n" " n numrera inga rader\n" " pGRU numrera endast rader som stämmer med det grundläggande " "reguljära\n" " uttrycket, GRU\n" "\n" "FORMAT är nÃ¥gon av:\n" "\n" " ln vänsterjusterat, inga inledande nollor\n" " rn högerjusterat, inga inledande nollor\n" " rz högerjusterat, inledande nollor\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "spill i radnummer" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "felaktig stil för numrering av sidhuvud: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "felaktig stil för numrering av kropp: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "felaktig stil för numrering av sidfot: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "felaktigt första radnummer: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "felaktig ökning av radnummer: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "felaktigt antal tomma rader: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "felaktig bredd pÃ¥ radnumrets fält: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "felaktigt format pÃ¥ radnummer: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s KOMMANDO [ARGUMENT]...\n" " eller: %s FLAGGA\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Kör KOMMANDO, ignorera avringningssignaler.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Om standard in är en terminal, omdirigera den frÃ¥n /dev/null.\n" "Om standard ut är en terminal, lägg till utdata till â€nohup.out†om " "möjligt,\n" "â€$HOME/nohup.out†annars.\n" "Om standard fel är en terminal, omdirigera den till standard ut.\n" "För att spara utadata till FIL, använd â€%s KOMMANDO > FILâ€.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "misslyckades att göra standard in oanvändbar" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignorerar indata" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ignorerar indata och lägger till utdata till %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "lägger till utdata till %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "misslyckades att ställa in kopian av standard fel att stängas vid exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ingorerar indata och omdirigerar standard fel och standard ut" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "omdirigerar standard fel och standard ut" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "misslyckades att omdirigera standard fel" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Användning: %s [FLAGGA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Skriv antalet processorenheter som är tillgängliga för den aktuella " "procesen,\n" "vilket kan vara mindre än antalet inkopplade processorer\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all skriv antalet installerade processorer\n" " --ignore=N om möjligt, uteslut N processorenheter\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: felaktigt antal att ignorera" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "värdet är för stort för att konverteras: â€%sâ€" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "ogiltigt tal: â€%sâ€" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "bortser frÃ¥n suffix i indata: â€%s†(överväg att använda --from)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "felaktigt suffix i indata: â€%sâ€" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "saknat suffix â€i†i indata: â€%s†(t.ex. Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "misslyckades förbereda värdet â€%Lf†för utskrift" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "felaktigt enhetssteg: â€%sâ€" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "slut pÃ¥ minne (begärde %zu byte)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Användning: %s [FLAGGA]… [NUMMER]…\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "Formaterar om TAL, eller talen frÃ¥n standard in om inga är givna.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr " --debug skriv varningar om ogiltig indata\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X använd X istället för blanka som fältseparator\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr " --field=N ersätt talet i indatafält N (standard är 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMAT använd flyttalsformat FORMAT av typ printf;\n" " se FORMAT nedan för detaljer\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=ENHET skala automatiskt indatatal till ENHETer; standard " "är\n" " â€noneâ€; se ENHET nedan\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N ange indatas enhetsstorlek (istället för standard 1)\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping använd lokaldefinierad gruppering av siffror,\n" " t.ex. 1 000 000 (vilket betyder att det inte har\n" " nÃ¥gon effekt i lokalen C/POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] skriv (utan konvertering) de första N rubrikraderna;\n" " N blir 1 som standard om det inte anges\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=SÄTT felhanteringssätt för felaktiga tal: SÄTT kan vara:\n" " abort (standard), fail, warn, ignore\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N fyll ut utdata till N tecken; positivt N kommer\n" " högerjustera; negativt N kommer vänsterjustera;\n" " utfyllnad ingoreras om utdata är bredare än N;\n" " standard är att automatiskt fylla ut om ett\n" " blanktecken finns\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=METOD använd METOD för avrundning vid skalning; METOD kan " "vara:\n" " up, down, from-zero (standard), towards-zero, " "nearest\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=SUFFIX använd SUFFIX för att skriva ut tal, och accptera " "ett\n" " möjligt SUFFIX i indatatal\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=ENHET skala automatiskt utdatatal till ENHETer; se ENHET " "nedan\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" " --to-unit=N enhetsstorlek pÃ¥ utdata (istället för standard 1)\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "ENHETSflaggor:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" " none ingen automatisk skalning görs; suffix kommer orsaka ett fel\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto acceptera valfria en-/tvÃ¥teckenssuffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "mÃ¥let %s har inget %%-direktiv" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "felaktigt format %s (spill i bredden)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "format %s avslutas med %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "format %s har för mÃ¥nga %%-direktiv" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "felaktigt suffix i indata â€%sâ€: %s" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "ogiltigt utfyllnadsvärde â€%sâ€" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "felaktigt fältvärde â€%sâ€" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "ogiltigt huvudvärde â€%sâ€" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping kan inte kombineras med --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding kan inte kombineras med --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "ingen konverteringsflagga angiven" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "gruppering kan inte kombineras med --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "fel vid läsning av indata" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "misslyckades att konvertera nÃ¥gra av indatatalen" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Användning: %s [FLAGGA]... [FIL]...\n" " eller: %s [-abcdfilosx]... [FIL] [[+]FÖRSKUTNING[.][b]]\n" " eller: %s --traditional [FLAGGA]... [FIL] [[+]FÖRSKUTNING[.][b] [+]" "[ETIKETT][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Skriv en otvetydig representation, normalt oktala tecken, av FIL till\n" "standard ut. Med mer än ett FIL-argument, slÃ¥ samman dem i den\n" "angivna orningen som indata. Utan FIL eller om FIL är -, läs standard\n" "in.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Om bÃ¥de det första och andra anropsformatet är tillämpligt, används\n" "det andra formate om den sista operanden börjar med + eller (om det\n" "finns tvÃ¥ operander) en siffra. En operand FÖRSKJUTNING betyder -j\n" "FÖRSKJUTNING. ETIKETT är den första skrivna bytens pseudoadress,\n" "vilken ökas sÃ¥ länge utmatningen pÃ¥gÃ¥r. För FÖRSKJUTNING och ETIKETT\n" "indikerar förstavelserna 0x eller 0X hexadecimalt, ändelser kan vara\n" ". för oktalt och b multiplicerar med 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX utformat för filpositioner. RADIX är en av\n" " [doxn], för Decimal, Oktal, Hex eller iNgen\n" " -j, --skip-bytes=BYTE hoppa först över BYTE byte i indata\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTE begränsa utmatning till BYTE byte frÃ¥n " "indata\n" " -S BYTE, --strings[=BYTE] skriv ut strängar med minst BYTE grafiska " "tecken.\n" " 3 underförstÃ¥s när BYTE inte anges\n" " -t, --format=TYP välj format för utmatning\n" " -v, --output-duplicates använd inte * för att markera undertryckta " "rader\n" " -w[BYTE], --width[=BYTE] skriv ut BYTE byte per rad.\n" " 32 underförstÃ¥s när BYTE inte anges\n" " --traditional acceptera argument i tredje formatet ovan\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Traditionella formatspecifikationer kan blandas, de ackumuleras:\n" " -a samma som -t a, välj namngivna tecken, ingorera höga biten\n" " -b samma som -t o1, välj oktala byte\n" " -c samma som -t c, välj ASCII-tecken eller sekvenser med omvänt " "snedstreck\n" " -d samma som -t u2, välj desimala 2-bytenheter utan tecken\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f samma som -t fF, välj flyttal\n" " -i samma som -t dI, välj decimala heltal\n" " -l samma som -t dL, välj decimala lÃ¥nga heltal\n" " -o samma som -t o2, välj oktala 2-byteenheter\n" " -s samma som -t d2, välj decimala 2-byteenheter\n" " -x samma som -t x2, välj hexadecimala 2-bytenheter\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYP skapas av en eller fler av dessa specifikationer:\n" " a namngivet tecken, ignorera höga biten\n" " c ASCII-tecken eller sekvens med omvänt snedstreck\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[STORLEK] decimalt med tecken, STORLEK byte per heltal\n" " f[STORLEK] flyttal, STORLEK byte per heltal\n" " o[STORLEK] oktalt, STORLEK byte per heltal\n" " u[STORLEK] decimalt utan tecken, STORLEK byte per heltal\n" " x[STORLEK] hexadecimalt, STORLEK byte per heltal\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "STORLEK är ett tal. För TYP i [doux] kan STORLEK ocksÃ¥ vara C för\n" "sizeof(char), S för sizeof(short), I för sizeof(int) eller L för\n" "sizeof(long). Om TYP är f kan STORLEK ocksÃ¥ vara F för sizeof(float), D\n" "för sizeof(double) eller L för sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "BYTE är hex med prefixet 0x eller 0X, och kan ha en multiplikativ ändelse:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000·1000\n" " M 1024·1024\n" "och sÃ¥ vidare för G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "ogiltig typsträng %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "ogiltig typsträng %s;\n" "detta system har ingen %lu-bytes heltalstyp" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "ogiltig typsträng %s;\n" "detta system har ingen %lu-bytes flyttalstyp" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "ogiltigt tecken â€%c†i typsträngen %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "kan inte hoppa förbi slutet pÃ¥ en kombinerad inmatning" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "ogiltig radix för utmatningsadress â€%câ€; mÃ¥ste vara ett tecken frÃ¥n [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "ingen typ kan anges när strängar sparas" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "kompatibilitetsläge stödjer högst en fil" # "skip-bytes" och "read-bytes" är flaggor #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes är för stort" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "varning: ogiltig bredd %lu; använder %d i stället" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: felaktig signal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standard in stängd" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv rader som bestÃ¥r av sekventiellt korresponderande rader frÃ¥n\n" "varje FIL, Ã¥tskilda med TAB, till standard ut. Utan FIL eller om\n" "FIL är -, läs standard in.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA Ã¥teranvänd tecken frÃ¥n LISTA inställer för TAB\n" " -s, --serial klistra in en fil i taget i stället för " "parallellt\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "avgränsningslistor avslutas med en oskyddat omvänt snedstreck: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnostisera ogiltiga eller oportabla filnamn.\n" "\n" " -p kontrollera för de flesta POSIX-system\n" " -P kontrollera tomma namn och inledande â€-â€\n" " --portability kontrollera för alla POSIX-system (detsamma som -p -" "P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "inledande â€-†i en komponent av filnamnet %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "ej portabelt tecken %s i filnamnet %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tomt filnamn" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: kan inte avgöra maximal filnamnslängd" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "gränsen %lu överskreds av längden %lu för filnamnet %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "gränsen %lu överskreds av längden %lu för filnamnsdelen %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Inloggningsnamn: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "I verkliga livet: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Katalog: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Skal: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" # Rubrik i 8 tecken bred kolumn. #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Namn" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Overksam" #: src/pinky.c:411 msgid "When" msgstr "När" #: src/pinky.c:414 msgid "Where" msgstr "Var" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Användning: %s [FLAGGA]... [ANVÄNDARE]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l skriv ut i lÃ¥ngt format\n" " -b utelämna användarens hemkatalog och skal i det lÃ¥nga " "formatet\n" " -h utelämna användarens projektfil i det lÃ¥nga formatet\n" " -p utelämna användarens planfil i det lÃ¥nga formatet\n" " -s skriv ut i kort format\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f utelämna raden med kolumnrubriker i kort format\n" " -w utelämna anävndarens fullständiga namn i kort format\n" " -i utelämna användarens fullständiga namn och fjärrvärd i " "kort\n" " format\n" " -q utelämna användarens fullstädniga namn, fjärrvärd och \n" " overksamma tiden i kort format\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Ett lättviktigt â€fingerâ€-program; skriver ut användarinformation.\n" "utmp-filen kommer att vara %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "inget användarnamn angivet; Ã¥tminstone ett mÃ¥sta anges när -l används" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "â€--pages=FÖRSTA_SIDA[:SISTA_SIDA]†saknar argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "ogiltigt sidintervall %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "â€-l SIDLÄNGD†felaktigt antal rader: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "â€-N NUMMER†felaktigt första radnummer: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "â€-o MARGINAL†felaktigt indrag av rad: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "â€-w SIDBREDD†felaktigt antal tecken: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "â€-W SIDBREDD†felaktigt antal tecken: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "det gÃ¥r inte att ange antal kolumner vid parallell utskrift" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "det gÃ¥r inte att ange bÃ¥de utskrift pÃ¥ tvären och parallell utskrift" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "â€-%c†extra tecken eller felaktigt tal i argumentet: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "bredden pÃ¥ sidan är för smal" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "första sidnummer %<PRIuMAX> överskrider antalet sidor %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "spill i sidnummer" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Sida %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Paginera eller skapa kolumner av FIL(er) för utskrift.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FÖRSTA_SIDA[:SISTA_SIDA], --pages=FÖRSTA_SIDA[:SISTA_SIDA]\n" " börja [sluta] skriva vid sida FÖRSTA_[SISTA_]SIDA\n" " -KOLUMN, --columns=KOLUMN\n" " skapa KOLUMN kolumner och skriv kolumner nedÃ¥t,\n" " om inte -a används. Balansera antalet rader i " "kolumnerna\n" " pÃ¥ varje sida\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across skriv kolumner pÃ¥ tvären i stället för nedÃ¥t, används\n" " tillsammans med -KOLUMN\n" " -c, --show-control-chars\n" " använd hattnotation (^G) och oktal notation med omvänt\n" " snedstreck\n" " -d, --double-space\n" " skriv ut med dubbelt radavstÃ¥nd\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " använd FORMAT för huvuddatum\n" " -e[TECKEN[BREDD]], --expand-tabs[=TECKEN[BREDD]]\n" " expandera inmatade TECKEN (tabulatorer) till\n" " tabulatorBREDD (8)\n" " -F, -f, --form-feed\n" " använd sidmatning i stället för nya rader för att\n" " separera sidor (med ett 3-raders huvud vid -F eller\n" " 5-raders huvud och fot utan -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=HUVUD\n" " använd ett centrerat HUVUD i stället för filnamn i\n" " sidhuvud, -h \"\" skriver en tom rad. Använd inte -h" "\"\"\n" " -i[TECKEN[BREDD]], --output-tabs[=TECKEN[BREDD]]\n" " ersätt mellanslag med TECKEN (tabulatorer), BREDD breda " "(8)\n" " -J, --join-lines sammanfoga hela rader, stänger av -W radstympning, " "ingen\n" " kolumnjustering, --sep-string[STRÄNG] anger avskiljare\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=SIDLÄNGD\n" " sätt sidlängden till SIDLÄNGD (66) rader\n" " (standard 56 rader text, och med -F 63)\n" " -m, --merge skriv alla filer parallellt, en i varje kolumn, hugg av\n" " rader, men slÃ¥ samman rader till full längd med -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[SIFFROR]], --number-lines[=SEP[SIFFROR]]\n" " numrera rader, använd SIFFROR (5) siffror, sedan SEP " "(TAB),\n" " i normalläge startar räkning vid infilens första rad\n" " -N, --first-line-number=NUMMER\n" " börja räkna med NUMMER vid första raden pÃ¥ första sidan\n" " som skrivs ut (se +FÖRSTA_SIDA)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGINAL\n" " skjut in varje rad med MARGINAL (noll) mellanrum, " "pÃ¥verka\n" " ej -w eller -W, MARGINAL läggs till SIDBREDD\n" " -r, --no-file-warnings\n" " utelämna varning när en fil inte kan öppnas\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[TECKEN], --separator[=TECKEN]\n" " Ã¥tskilj kolumner med ett enda tecken, standard för " "TECKEN\n" " är tabulatortecknet utan -w och â€inget tecken†med -w\n" " -s[TECKEN] slÃ¥r av avhuggning för alla tre " "kolumnflaggorna\n" " (-KOLUMN|-a KOLUMN|-m) utom när -w är angivet\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[STRÄNG], --sep-string[=STRÄNG]\n" " Ã¥tskilj kolumner med STRÄNG,\n" " utan -S: Standardseparator <TAB> med -J och <blank>\n" " annars (samma som -S\" \"), ingen effekt pÃ¥ " "kolumnflaggor\n" " -t, --omit-header utelämna sidhuvud och sidfot\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " utelämna sidhuvud och sidfot, ta bort paginering\n" " gjord med sidmatning i infiler\n" " -v, --show-nonprinting\n" " använd oktal notation med omvänt snedstreck\n" " -w, --width=SIDBREDD\n" " sätt sidbredd till SIDBREDD (72) kolumner vid utmatning\n" " med flera textkolumner, -s[TECKEN] slÃ¥r av (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=SIDBREDD\n" " sätt sidbredd till SIDBREDD (72) kolumner vid all \n" " utmatning, hugg av rader utom om flagga -J är satt,\n" " ingen koppling till -S eller -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t är implicit om SIDLÄNGD ≤ 10. Utan FIL, eller när FIL är -, läs\n" "standard in.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Användning: %s [FLAGGA]... [VARIABEL]...\n" "Skriv värdena pÃ¥ de angivna miljöVARIABLERNA.\n" "Om ingen VARIABEL angetts, skriv ut namn- och värdepar för samtliga.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null avsluta varje utmatad rad med en 0-byte, istället för " "nyrad\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "varning: %s: tecken som följer efter teckenkonstanten har ignorerats" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s FORMAT [ARGUMENT]...\n" " eller: %s FLAGGA\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Skriv ut ARGUMENT enligt FORMAT, eller kör enligt FLAGGA:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT styr utdata som i C printf. Tolkade sekvenser är:\n" "\n" " \\\" citationstecken\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN byte med oktalt värde NNN (1 till 3 siffror)\n" " \\xHH byte med hexadecimalt värde HH (1 till 2 siffror)\n" "\n" " \\xHHHH Unicodetecken (ISO/IEC 10646) med hexadecimalt värde HHHH (4 " "siffror)\n" " \\UHHHHHHHH Unicodetecken med hexadecimalt värde HHHHHHHH (8 siffror)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% ett enkelt %\n" " %b ARGUMENT som en sträng med â€\\â€-kontrollsekvenser tolkade,\n" " utom att oktala sekvenser är pÃ¥ formen \\0 eller \\0NNN\n" "\n" "och alla specifikationer pÃ¥ C-format som slutar med en av diouxXfeEgGcs, " "med \n" "ARGUMENT konverterade till en passande typ först. Klarar av varierande " "storlek.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: ett numeriskt värde förväntas" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: värdet kunde inte konverteras helt" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "saknar hexadecimal siffra i kontrollsekvens" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ogiltigt universellt-teckennamn \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ogiltig fältbredd: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "ogiltig precision: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: felaktig fältspecifikation" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "varning: ignorerar överflödiga argument, startar med %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (för reguljäruttrycket %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Användning: %s [FLAGGA]... [INFIL]... (utan -G)\n" " eller: %s -G [FLAGGA]... [INFIL [UTFIL]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Mata ut ett permuterat index, med sammanhang, av orden i indatafilerna.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference skriv ut automatiskt genererade referenser\n" " -G, --traditional uppträd mer som System V:s â€ptxâ€\n" " -F, --flag-truncation=STRÄNG använd STRÄNG för att markera avhuggnar " "rader\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRÄNG makronamn att använda istället för â€xxâ€\n" " -O, --format=roff generera utdata som roff-direktiv\n" " -R, --right-side-refs skriv referenser till höger, ej med i -w\n" " -S, --sentence-regexp=REGUTTR för radslut eller meningsslut\n" " -T, --format=tex generera utdata som TeX-direktiv\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGUTTR använd REGUTTRY för att macha varje " "nyckelord\n" " -b, --break-file=FIL ordmellanrumstecken i denna FIL\n" " -f, --ignore-case gör om gemener till versaler för sortering\n" " -g, --gap-size=ANTAL mellanrum i kolumner mellan utdatafält\n" " -i, --ignore-file=FIL läs lista av ord att ignorera frÃ¥n FIL\n" " -o, --only-file=FIL läs lista av ord att endast använda frÃ¥n " "FIL\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references första fältet pÃ¥ varje rad är en referens\n" " -t, --typeset-mode - ej implementerat -\n" " -w, --width=ANTAL utmatningsbredd i kolumner, utan " "referenser\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Utan FIL eller om FIL är -, läs standard in. â€-F /†är standard.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "ogiltig gapbredd: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Skriv ut hela filnamnet pÃ¥ aktuell katalog.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical använd PWD frÃ¥n omgivningen, även om den innehÃ¥ller " "symlänkar\n" " -P, --physical undvik alla symlänkar\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "misslyckades att ändra katalog till %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "misslyckades att ta status pÃ¥ %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "kunde inte hitta katalogpost i %s med matchande i-nod" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignorerar argument som inte är flaggor" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Användning: %s [FLAGGA]... FIL...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Skriv värdet pÃ¥ en symbolisk länk eller kanoniskt filnamn\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize gör kanoniskt genom att följa varje " "symbolisk\n" " länk i varje komponent av det givna namnet\n" " rekursivt; alla utom den sista komponenten\n" " mÃ¥ste existera\n" " -e, --canonicalize-existing gör kanoniskt genom att följa varje " "symbolisk\n" " länk i varje komponent av det givna namnet\n" " rekursivt, alla komponenter mÃ¥ste existera\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing gör kanoniskt genom att följa varje " "symbolisk\n" " länk i varje komponent av det givna namnet\n" " rekursivt, utan krav pÃ¥ att komponenterna\n" " existerar\n" " -n, --no-newline skriv inte ut den avslutande nyraden\n" " -q, --quiet,\n" " -s, --silent undertryck de flesta meddelanden\n" " -v, --verbose rapportera felmeddelanden\n" " -z, --zero separera utdata med NOLL istället för nyrad\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignorerar --no-newline med flera argument" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Skriv de upplösta absoluta filnamnen;\n" "alla komponenter förutom den sista mÃ¥ste finnas\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing alla komponenter i sökvägen mÃ¥ste finnas\n" " -m, --canonicalize-missing inga komponenter i sökvägen behöver finnas\n" " -L, --logical lös upp â€..â€-komponenter före symlänkar\n" " -P, --physical lös upp symlänkar när de pÃ¥träffas " "(standard)\n" " -q, --quiet undertryck de flesta felmeddelanden\n" " --relative-to=FIL skriv den upplösta sökvägen relativt FIL\n" " --relative-base=FIL skriv absoluta sökvägar om de inte är under " "FIL\n" " -s, --strip, --no-symlinks expandera inte symlänkar\n" " -z, --zero separera utdata med NOLL istället för nyrad\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "genererar relativ sökväg" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: gÃ¥ ner i skrivskyddad katalog %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: gÃ¥ ner i katalog %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: ta bort skrivskyddad %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: ta bort %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "tog bort katalog: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "kan inte ta bort katalog: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "hoppar över %s, eftersom den är pÃ¥ en annan enhet" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "traversering misslyckades: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "oväntat fel: fts_info=%d: %s\n" "rapportera gärna till %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Försök med â€%s ./%s†för att ta bort filen %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Ta bort (avlänka) FIL(en/erna).\n" "\n" " -f, --force ignorera ej existerande filer och argument, frÃ¥ga " "aldrig\n" " -i frÃ¥ga före varje borttagning\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I frÃ¥ga en gÃ¥ng före mer än tre filer tas bort, eller\n" " vid rekursiv borttagning. Mindre pÃ¥trängande än -" "i,\n" " men skyddar ändÃ¥ mot de flesta misstag\n" " --interactive[=NÄR] frÃ¥ga enligt NÄR: never, once (-I), eller\n" " always (-i). Utan NÄR, frÃ¥ga alltid\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system när en hierarki tas bort rekursivt, hoppa över\n" " eventuella kataloger som ligger pÃ¥ andra " "filsystem\n" " än motsvarande kommandoradsargument gör\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root behandla inte â€/†speciellt\n" " --preserve-root ta inte bort â€/†(normalfall)\n" " -r, -R, --recursive ta bort kataloger och deras innehÃ¥ll rekursivt\n" " -d, --dir ta bort tomma kataloger\n" " -v, --verbose berätta vad som görs\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Som standard tar rm inte bort kataloger. Använd flaggan --recursive (-r " "eller\n" "-R) för att ta bort varje uppräknad katalog ocksÃ¥, tillsammans med hela " "dess\n" "inenhÃ¥ll.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "För att ta bort filer vars namn börjar med â€-â€, till exempel â€-apaâ€,\n" "använder du ett av dessa kommandon:\n" " %s -- -apa\n" "\n" " %s ./-apa\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Observera att om du använder rm för att ta bort en fil kan det vara möjligt\n" "att ta reda pÃ¥ en del av dess innehÃ¥ll, givet tillräckligt med expertis\n" "och/eller tid. För större visshet om att innehÃ¥llet verkligen är borta, \n" "överväg att använda shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: ta bort alla argument rekursivt? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: ta bort alla argument? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "tar bort katalog, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "misslyckades att ta bort katalogen %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Ta bort KATALOG(er) om de är tomma.\n" "\n" " --ignore-fail-on-non-empty\n" " ignorera alla fel som beror enbart pÃ¥ att katalogen inte " "är\n" " tom\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents ta bort KATALOG och dess föräldrar. T.ex. â€rmdir -p a/b/" "câ€\n" " motsvarar â€rmdir a/b/c a/b aâ€.\n" " -v, --verbose skriv ett meddelande för varje behandlad katalog\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "misslyckades att ta bort %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Användning: %s KONTEXT KOMMANDO [arg]\n" " eller: %s [ -c ] [-u ANV] [-r ROLL] [-t TYP] [-l INTVL] KOMMANDO [arg]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Kör ett program i en annan säkerhetskontext.\n" "Med varken KONTEXT eller KOMMANDO, skriv ut den aktuella " "säkerhetskontexten.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " KONTEXT Fullständig säkerhetskontext\n" " -c, --compute beräkna processövergÃ¥ngskontext före modifiering\n" " -t, --type=TYP typ (för samma roll som föräldern)\n" " -u, --user=ANV användaridentitet\n" " -r, --role=ROLL roll\n" " -l, --range=INTVL nivÃ¥intervall\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "flera roller" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "flera typer" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "flera användare" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "flera nivÃ¥intervall" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "misslyckades att hämta aktuell kontext" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "du mÃ¥ste ange -c, -t, -u, -l, -r eller kontext" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "inget kommando angivet" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s kan bara användas pÃ¥ en SELinuxkärna" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "misslyckades att beräkna en ny kontext" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "misslyckades att sätta ny användare %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "misslyckades att sätta ny typ %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "misslyckades att sätta nytt intervall %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "misslyckades att sätta ny roll %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "kan inte sätta säkerhetskontext %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Användning: %s [FLAGGA]... SISTA\n" " eller: %s [FLAGGA]... FÖRSTA SISTA\n" " eller: %s [FLAGGA]... FÖRSTA ÖKNING SISTA\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Skriv ut tal frÃ¥n FÖRSTA till SISTA, i steg om ÖKNING.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=FORMAT använd flyttalsFORMAT av typ printf\n" " -s, --separator=STRÄNG använd STRÄNG för att separera tal (standard: " "\\n)\n" " -w, --equal-width jämna ut bredd genom att lägga till inledande " "nollor\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Om FÖRSTA eller ÖKNING utelämnas, sätts de till 1. Det vill säga, en\n" "utelämnad ÖKNING sätts till 1 även när SISTA är mindre än FÖRSTA.\n" "FÖRSTA, ÖKNING och SISTA tolkas som flyttal. ÖKNING är normalt\n" "positivt om FÖRSTA är mindre än SISTA och ÖKNING är normalt negativt\n" "om FÖRSTA är större än SISTA.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT mÃ¥ste passa för att skriva ett argument av typen â€doubleâ€. Som\n" "standard är det %.PRECf om FÖRSTA, ÖKNING och SISTA alla är\n" "fixpunktsdecimaltal med maximal precision PREC, och annars %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "felaktigt flyttalsargument: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "formatet %s har okänt %%%c-direktiv" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "formatsträng fÃ¥r inte anges när strängar med lika bredd skrivs" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Användning: %s [KORT-FLAGGA]... ANVÄNDARE KOMMANDO [ARGUMENT]...\n" " eller: %s LÃ…NG-FLAGGA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Släpp eventuella tilläggsgrupper, anta användar-ID och grupp-ID för\n" "den angivna ANVÄNDAREn (numeriskt ID eller användarnamn), och kör\n" "KOMMANDO med angivna ARGUMENT. Avsluta med status 111 om det inte\n" "gick att anta begärda användar- och grupp-ID. Annars, avsluta med\n" "slutstatus hos KOMMANDO. Detta program är användbart endast när det\n" "körs av root (användar-ID noll).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] sätt ocksÃ¥ den primära grupp-ID:n till den numeriska " "GID,\n" " och (om angivet) tilläggsgrupp-ID:n till GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "okänt användar-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "för att använda användar-ID %s behöver du använda -g ocksÃ¥" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "misslyckades att sätta tilläggsgrupp(er)" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "kan inte sätta grupp-id till %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "kan inte sätta användar-id till %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Skriv över de angivna FIL(erna) upprepade gÃ¥nger, för att göra det svÃ¥rare\n" "även för väldigt dyra hÃ¥rdvaruutrustningar att ta fram data.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force ändra rättigheter för att tillÃ¥ta skrivning, om nödvändigt\n" " -n, --iterations=N skriv över N gÃ¥nger istället för standard (%d)\n" " --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL\n" " -s, --size=N strimla detta antal byte (ändelse som K, M, G fungerar)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove stympa och ta bort filen efter överskrivningen\n" " -v, --verbose följ processen\n" " -x, --exact avrunda inte filstorlekar upp till nästa hela block;\n" " detta är standardfallet för icke-normala filer\n" " -z, --zero lägg till en avslutande överskrivning med nollor för att\n" " dölja strimlandet\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Om FIL är -, strimla standard ut.\n" "\n" "Ta bort FIL(er) om --remove (-u) anges. Standard är att inte ta bort " "filerna\n" "för det är vanligt att arbeta pÃ¥ enhetsfiler som /dev/hda, och dessa filer\n" "bör inte tas bort. När man kör pÃ¥ en vanlig fil använder de flesta flaggan\n" "--remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "VARNING: Observera att shred bygger pÃ¥ ett väldigt viktigt antagande: att\n" "filsystemet skriver över data pÃ¥ plats. Detta är det traditionella sättet\n" "att göra saker, men mÃ¥nga moderna filsystemskonstruktioner uppfyller inte\n" "detta antagande. Följande är exempel pÃ¥ filsystem pÃ¥ vilka shred inte har\n" "nÃ¥gon effekt, eller inte är garanterat att vara effektivt i alla " "filsystemets\n" "lägen:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* loggstrukturerade eller journalfilsystem, som de som kommer med AIX och\n" "Solaris (och JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* filsystem som skriver skriver extra data och fortsätter även om en del\n" "skrivningar misslyckas, sÃ¥som RAID-baserade filsystem\n" "\n" "* filsystem som tar ögonblicksbilder, sÃ¥som Network Appliances NFS-server\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* filsystem som mellanlagrar pÃ¥ temporära platser, sÃ¥som klienter till\n" "NFS version 3\n" "\n" "* comprimerade filsystem\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "I fallet ext3-filsystem gäller den ovanstÃ¥ende friskrivningen (och shred är\n" "därmed av begränsad nytta) bara i läget data=journal, som lägger fildata i\n" "journal utöver bara metadata. I bÃ¥de läget data=ordered (standard) och\n" "data=writeback fungerar shred som vanligt. Ext3-journallägen kan ändras " "genom\n" "att lägga till flaggan data=nÃ¥got till monteringsflaggorna för ett särskilt\n" "filsystem i filen /etc/fstab, sÃ¥ som det är dokumenterat i manualsidan för\n" "mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Dessutom kan säkerhetskopior av filsystemet och fjärrspeglar innehÃ¥lla " "kopior\n" "av filen som inte kan tas bort, och som kan göra det möjligt att Ã¥terta en\n" "strimlad fil senare.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync misslyckades" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync misslyckades" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: kan inte backa till början" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: pass %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: fel vid skrivning vid position %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek misslyckades" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: filen är för stor" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: pass %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat misslyckades" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: ogiltig filtyp" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: filen har negativ storlek" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: fel vid avhuggning" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl misslyckades" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: kan inte skriva över filidentiferare som bara är öppnad för tillägg" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: tar bort" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: namnändrad till %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: misslyckades att ta bort" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: borttagen" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: misslyckades att stänga" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: misslyckades öppna för skrivning" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: ogiltigt antal pass" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "multipla slumpkällor angivna" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: ogiltig filstorlek" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Användning: %s [FLAGGA]... [FIL]\n" " eller: %s -e [FLAGGA]... [ARG]\n" " eller: %s -i LÃ…-HÖ [FLAGGA]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "Skriv en slumpvis permutation av indataraderna till standard ut.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo behandla varje ARG som en indatarad\n" " -i, --input-range=LÃ…-HÖ behandla varje nummer LÃ… till HÖ som en " "indatarad\n" " -n, --head-lines=ANTAL skriv ut högst ANTAL rader\n" " -o, --output=FIL skriv resultatet till FIL istället för standard " "ut\n" " --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL\n" " -z, --zero-terminated avsluta rader med 0-byte, inte nyrad\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "multipla -l-flaggor angivna" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "ogiltigt indataintervall %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "felaktig radantal %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "multipla utfiler angivna" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "det gÃ¥r inte att kombinera flaggorna -e och -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Användning: %s ANTAL[ÄNDELSE]…\n" " eller: %s FLAGGA\n" "Gör paus i ANTAL sekunder. ÄNDELSE kan vara â€s†för att ange sekunder\n" "(standardval), â€m†för minuter, â€h†för timmar eller â€d†för dagar.\n" "Till skillnad frÃ¥n de flesta implementationer som kräver att ANTAL är\n" "ett heltal, kan ANTAL här vara ett valfritt flyttal. Med tvÃ¥ eller\n" "flera agument, gör paus sÃ¥ länge som summan av dem anger\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "felaktigt tidsintervall: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "kan inte läsa realtidsklockan" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "Skriv en sorterad sammanfogning av alla FIL(er) till standard ut.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Sorteringsflaggor:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignorera inledande mellanslag\n" " -d, --dictionary-order betrakta endast alfanumeriska och blanka " "tecken\n" " -f, --ignore-case byt gemener mot versaler\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort jämför enligt generellt numeriskt värde\n" " -i, --ignore-nonprinting beakta endast skrivbara tecken\n" " -M, --month-sort jämför (okänd) < â€JAN†< … < â€DECâ€\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort jämför mänskligt läsbara tal (t.ex., 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort jämför enligt strängens numeriska värde\n" " -R, --random-sort sortera efter slumpvis has av nycklar\n" " --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL\n" " -r, --reverse vänd pÃ¥ resultatet av jämförelserna\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=ORD sortera enligt ORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort naturlig sortering av (versions)nummer i text\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Andra flaggor:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=ANTAL slÃ¥ samman högst ANTAL indatafiler Ã¥t gÃ¥ngen,\n" " använd temporärfiler för fler\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first kontrollera om indata är sorterad,\n" " sortera ej\n" " -C, --check=quiet, --check=silent som -c, men rapportera inte en första\n" " felaktig rad\n" " --compress-program=PROG komprimera temporärfiler med PROG;\n" " packa upp dem med PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug annotera delarna av raden som används för " "sotrering,\n" " och varna om tveksam använding till standard " "fel\n" " --files0-from=F läs indata frÃ¥n filerna som anges med\n" " nollterminerade namn i filen F.\n" " Om F är - sÃ¥ läs namn frÃ¥n standard in\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=NYCKELDEF sortera via en nyckel; NYCKELDEF anger plats och " "typ\n" " -m, --merge slÃ¥ samman redan sorterade filer, sortera inte\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FIL skriv resultatet till FIL i stället för standard " "ut\n" " -s, --stable stabilisera sortering genom att stänga av\n" " sista-utvägsjämförelse\n" " -S, --buffer-size=STORLEK använd STORLEK för huvudminnesbuffert\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP använd SEP istället för övergÃ¥ng frÃ¥n ej " "blanka\n" " till blanka\n" " -T, --temporary-directory=KAT använd KAT för tillfälliga filer, ej " "$TMPDIR\n" " eller %s;\n" " flera argument anger flera kataloger\n" " --parallel=N ändra antalet samtidiga sorteringskörningar\n" " till N\n" " -u, --unique med -c, kontrollera strikt ordningsföljd;\n" " utan -c, skriv ut endast den första av flera " "lika\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated avsluta rader med byte 0, inte ny rad\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "NYCKELDEF är F[.C][FLGR][,F[.C][FLGR]] för start och slutposition, där F är " "ett\n" "fältnummer och C en teckenpositionen inom fältet; bÃ¥da börjar pÃ¥ 1, och som\n" "standard är slutpositionen radens slut Om vare sig -t eller -b är pÃ¥\n" "räknas tecken i fältet frÃ¥n början av föregÃ¥ende blanktecken. FLGR är\n" "en eller flera enbokstavs ordningsflaggor [bdfgiMhnRrV], vilka ersätter\n" "globala ordningsflaggor för den nyckeln. Om ingen nyckel är angiven, " "använd\n" "hela raden som nyckel.\n" "\n" "STORLEK kan följas av följande multiplikativa ändelser:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% av minne, b 1, K 1024 (standard), och sÃ¥ vidare för M, G, T, P, E, Z, " "Y.\n" "\n" "Utan FIL eller om FIL är -, läs standard in.\n" "\n" "*** VARNING ***\n" "Lokalen som är angiven i omgivningen pÃ¥verkar sorteringsordning.\n" "Sätt LC_ALL=C för att fÃ¥ traditionell sorteringsordning som använder\n" "de underliggande bytevärdena.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "väntar pÃ¥ %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] avslutade oväntat" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "det gÃ¥r inte att skapa en temporärfil i %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "misslyckades öppna" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush misslyckades" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "misslyckades stänga" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 misslyckades" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "det gick inte att köra %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "det gÃ¥r inte att skapa temporärfil" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "det gick inte att skapa en process för %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "det gick inte att köra %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "varning: kan inte ta bort: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "felaktigt argument %2$s till --%1$s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "minsta argument till --%s är %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argument %2$s till %1$s är för stort" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "maximalt argument till --%s vid aktuell rlimit är %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "antal parallella mÃ¥ste skilt frÃ¥n noll" #: src/sort.c:1494 msgid "stat failed" msgstr "misslyckades ta status" #: src/sort.c:1755 msgid "read failed" msgstr "misslyckades läsa" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "strängtransformation misslyckades" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "den otransformerade strängen var %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ ingen match för nyckel\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "förlegad nyckel %s använd, överväg %s istället" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "nyckel %lu har noll bredd och kommer att ignoreras" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "inledande blanksteg är betydande i nyckel %lu, överväg att även ange â€bâ€" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "nyckel %lu är numerisk och spänner över flera fält" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "flaggan â€-%s†ignoreras" msgstr[1] "flaggorna â€-%s†ignoreras" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "alternativet â€-r†gäller bara som en sista utvägs jämförelse" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "misslyckaes skriva" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: oordning: " #: src/sort.c:2786 msgid "standard error" msgstr "standard fel" #: src/sort.c:3698 msgid "cannot read" msgstr "kan inte läsa" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: felaktig fältspecifikation %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "flaggorna â€-%s†är inkompatibla" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: felaktigt antal i början pÃ¥ %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "felaktigt nummer efter â€-â€" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "felaktigt nummer efter â€.â€" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "extra tecken i fältspecifikation" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "multipla komprimeringsprogram angivna" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "felaktigt nummer vid fältstart" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "fältnummer är noll" #: src/sort.c:4392 msgid "character offset is zero" msgstr "teckenplats är noll" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "felaktigt nummer efter â€,â€" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tom tabulator" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "kan inte läsa filnamn frÃ¥n %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: ogiltigt filnamn med längd noll" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "ingen indata frÃ¥n %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "använder %s-sorteringsregler" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "använder enkel bytejämförelse" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "extra operand %s inte tillÃ¥ten med -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "ändelsens längd behöver vara Ã¥tminstone %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Användning: %s [FLAGGA]... [INFIL [PREFIX]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Skriv ut delar av INFIL med bestämd storlek till PREFIXaa, PREFIXab, …\n" "Standardstorlek är 1000 rader, och standardprefix är â€xâ€. Utan INFIL,\n" "eller när INFIL är -, läs standard in.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N använd ändelser av längd N (standard %d)\n" " --additional-suffix=Sändelse lägg till en extra ÄNDELSE pÃ¥ filnamn.\n" " -b, --bytes=STORLEK placera STORLEK byte i varje utfil\n" " -C, --line-bytes=STORLEK placera max STORLEK byte med rader per utfil\n" " -d, --numeric-suffixes[=FRÃ…N] använd numeriska ändelser istället för\n" " alfabetiska. FRÃ…N ändrar startvärdet (0\n" " som standard).\n" " -e, --elide-empty-files generera inte tomma utfiler med â€-nâ€\n" " --filter=KOMMANDO skriv till skalKOMMANDO; filnamnet är $FILE\n" " -l, --lines=ANTAL placera ANTAL rader i varje utfil\n" " -n, --number=BITAR generera BITAR utfiler. Se nedan\n" " -u, --unbuffered kopiera omedelbart indata till utdata med â€-n r/" "…â€\n" "\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose skriv ett meddelande strax före varje\n" " utfil öppnas\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "BITAR kan vara:\n" "N dela i N filer baserat pÃ¥ storleken pÃ¥ indata\n" "K/N mata ut K:e av N till standard ut\n" "l/N dela i N filer utan att dela rader\n" "l/K/N mata ut K:e av N till standard ut utan att dela rader\n" "r/N som â€l†men använd turordningsdistribution\n" "r/K/N likadant men mata bara ut K:e av N till standard ut\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "slut pÃ¥ utfiländelser" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "skapar filen %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s skulle skriva över indata, avbryter" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "misslyckades att sätta miljövariabeln FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "kör med FIL=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "misslyckades att skapa rör" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "stänger tidigare rör" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "stänger utdatarör" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "flyttar indatarör" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "stänger indatafil" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "misslyckades att köra kommandot â€%s -c %sâ€" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "misslyckades att stänga indatarör" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "väntar pÃ¥ barnprocess" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "med FILE=%s, signal %s frÃ¥n kommando: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "med FILE=%s, slutkod %d frÃ¥n kommando: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "okänd status frÃ¥n kommando (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "kan inte dela pÃ¥ mer än ett sätt" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: ogiltigt antal bitar" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: felaktigt bitantal" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: felaktig ändelselängd" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: felaktigt antal byte" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: felaktigt antal rader" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "radantalsflagga -%s%c... är för stor" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: felaktigt startvärde för numerisk ändelse" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: ogiltig blockstorlek för IO" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter bearbetar inte en bit extraherad till standard ut" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "numerisk ändelses startvärde är för stort för ändelselängden" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: kan inte avgöra filstorlek" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "misslyckades att kanonisera %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "varning: okänd sekvens med omvänt snedstreck â€\\%câ€" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: ogiltigt direktiv" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "varning: omvänt snedstreck vid slutet av formatet" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "användning av %s att betyda standard in fungerar inte i filsystemsläge" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "kan inte läsa filsysteminformation för %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "kan inte ta status pÃ¥ standard in" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Filen: â€%nâ€\n" " ID: %-8i Namnlängd: %-7öl Typ: %T\n" "Blockstorlek: %-10s Grundläggande blockstorlek: %S\n" "Block: Totalt: %-10b Fria: %-10f Tillgängliga: %a\n" "Inoder: Totalt: %-10c Free: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fil: %N\n" " Storlek: %-10s\tBlock: %-10b IO-block: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Enhet: %Dh/%dd\tInod: %-10i Länkar: %-5h Typ av enhet: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Enhet: %Dh/%dd\tInode: %-10i Länkar:%h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Ã…tkomst: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontext: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Ã…tkomst: %x\n" "Modifiering: %y\n" " Ändring: %z\n" " Född: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Visa fil- eller filsystemstatus.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference följ länkar\n" " -f, --file-system visa filsystemstatus istället för filstatus\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT använd angivet FORMAT istället för standardformat;\n" " skriv ut en nyrad efter varje användning av " "FORMAT\n" " --printf=FORMAT som --format, men tolka specialkoder med omvänt\n" " snedstreck, och skriv inte ut en obligatorisk\n" " avslutande nyrad. Om du vill ha en nyrad, ta med\n" " \\n i FORMAT.\n" " -t, --terse skriv informationen pÃ¥ kortfattad form\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "De giltiga formatsekvenserna för filer (utan --file-system):\n" "\n" " %a Ã¥tkomsträttigheter oktalt\n" " %A Ã¥tkomsträttigheter i format läsbart för människa\n" " %b antal använda block (se %B)\n" " %B storleken i byte pÃ¥ varje block rapporterat av %b\n" " %C SELinux säkerhetskontextsträng\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d enhetsnummer decimalt\n" " %D enhetsnummer hexadecimalt\n" " %f tillstÃ¥ndet rÃ¥tt hexadecimalt\n" " %F filtyp\n" " %g grupp-ID pÃ¥ ägare\n" " %G gruppnamn pÃ¥ ägare\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h antal hÃ¥rda länkar\n" " %i inodnummer\n" " %m monteringspunkt\n" " %n filnamn\n" " %N citerat filnamn, med dereferens om symbolisk länk\n" " %o tips om optimal storlek för I/O-överföringar\n" " %s total storlek, i byte\n" " %t övre enhetsnummer hexadecimalt\n" " %T undre enhetsnummer hexadecimalt\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u användar-ID pÃ¥ ägare\n" " %U användarnamn pÃ¥ ägare\n" " %w filens födelsetid, läsbar för människa, eller - om okänd\n" " %W filens födelsetid, sekunder sedan Epok, eller 0 om okänd\n" " %x filens Ã¥tkomsttid, läsbar för människa\n" " %X filens Ã¥tkomsttid, sekunder sedan Epok\n" " %y filens modifieringstid, läsbar för människa\n" " %Y filens modifieringstid, sekunder sedan Epok\n" " %z filens ändringstid, läsbar för människa\n" " %Z filens ändringstid, sekunder sedan Epok\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Giltiga formatsekvenser för filsystem:\n" "\n" " %a fria block tillgängliga för icke superanvändare\n" " %b totalt antal datablock i filsystem\n" " %c totalt antal filnoder i filsystem\n" " %d fria filnoder i filsystem\n" " %f fria block i filsystem\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i filsystem-ID hexadecimalt\n" " %l maxlängd pÃ¥ filnamn\n" " %n filnamn\n" " %s blockstorlek (för snabbare överföringar)\n" " %S grundläggande blockstorlek (för antal block)\n" " %t filsystemstyp hexadecimalt\n" " %T filsystemstyp i format läsbart för människa\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Användning: %s FLAGGA... KOMMANDO\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Kör KOMMANDO, med modifierad buffringsoperationer för dess " "standardströmmar.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=LÄGE justera strömbuffring av standard in\n" " -o, --output=LÄGE justera strömbuffring av standard ut\n" " -e, --error=LÄGE justera strömbuffring av standard fel\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Om LÄGE är â€L†kommer motsvarande ström vara radbuffrad.\n" "Detta alternativ är ogiltigt med standard in.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Om LÄGE är â€0†kommer motsvarande ström vara obuffrad.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Annars är LÄGE ett tal som kan följas av ett av följande:\n" "KB 1000, K 1024, MB 1000·1000, M 1024·1024, och sÃ¥ vidare för G, T, P, E, Z, " "Y.\n" "I detta fall kommer strömmen vara fullt buffrad med buffertstorleken sattt " "till\n" "LÄGE byte.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "OBSERVERA: Om KOMMANDO justerar buffringen pÃ¥ sina standardströmmar (â€tee†" "gör\n" "det t.ex.) dÃ¥ kommer detta at Ã¥sidosätta motsvarande inställningar ändrade " "av\n" "â€stdbufâ€. Vidare använder nÃ¥gra filter (som â€dd†och â€cat†etc.) inte " "strömmar\n" "för I/O, och pÃ¥verkas alltsÃ¥ inte av â€stdbufâ€-inställningar.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "misslyckades att hitta %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "misslyckades att uppdatera miljön med %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "radbuffring av standard in är meningslöst" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Användning: %s [-F ENHETS | --file=ENHETS] [INSTÄLLNING]...\n" " eller: %s [-F ENHETS | --file=ENHETS] [-a|--all]\n" " eller: %s [-F ENHETS | --file=ENHETS] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Skriv ut eller ändra terminalkarakteristik.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all skriv ut alla nuvarande inställningar läsligt\n" " -g, --save skriv ut alla nuvarande inställningar i stty-format\n" " -F, --file=ENHET öppna och använd angiven ENHET istället för standard " "in\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Möjligt - före INSTÄLLNING indikerar negation. En * indikerar en\n" "icke-POSIX-inställning. Det underliggande systemet definierar vilka\n" "inställningar som är tillgängliga.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Specialtecken:\n" " * dsusp TECKEN TECKEN skickar en stoppsignal sÃ¥ fort indata är slut.\n" " eof TECKEN TECKEN skickar ett filslut (avsluta inmatning)\n" " eol TECKEN TECKEN avslutar raden\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 TECKEN alternativt TECKEN för radslut\n" " erase TECKEN TECKEN raderar det senast skrivna tecknet\n" " intr TECKEN TECKEN skickar en avbrottssignal\n" " kill TECKEN TECKEN raderar nuvarande rad\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext TECKEN TECKEN skriver nästa tecken som ett specialtecken\n" " quit TECKEN TECKEN skickar en avslutningssignal\n" " * rprnt TECKEN TECKEN ritar om nuvarande rad\n" " start TECKEN TECKEN startar utskrift igen efter att ha stoppat den\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop TECKEN TECKEN stoppar utskriften\n" " susp TECKEN TECKEN skickar en terminalstoppsignal\n" " * swtch TECKEN TECKEN byter till ett annat skal\n" " * werase TECKEN TECKEN raderar det senast skrivna ordet\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Specialinställningar:\n" " N sätt in- och utmatninshastighet till N baud\n" " * cols N säg till kärnan att terminalen har N kolumner\n" " * columns N samma som cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N sätt inmatningshastighet till N\n" " * line N använd linjetyp N\n" " min N med -icanon, sätt N tecken till minimum för en avslutad " "läsning\n" " ospeed N sätt utmatningshastighet till N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N säg till kärnan att terminalen har N rader\n" " * size skriv ut antalet rader och kolumner enligt kärnan\n" " speed skriv ut terminalens hastighet\n" " time N med -icanon, sätt timeout för läsning till N tiondels " "sekunder\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Kontrollinställningar:\n" " [-]clocal stäng av kontrollsignaler till modem\n" " [-]cread tillÃ¥t mottagandet av indata\n" " * [-]crtscts möjliggör RTS/CTS-handskakning\n" " * [-]cdtrdse möjliggör DTR/DSR-handskakning\n" " csN sätt teckenstorleken till N bitar, N i [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb använd tvÃ¥ stoppbitar per tecken (en med â€-â€)\n" " [-]hup skicka en pÃ¥läggningssignal när sista processen stänger " "ttyn\n" " [-]hupcl samma som [-]hup\n" " [-]parenb generera paritetsbit i utdata och förvänta paritetsbit i " "indata\n" " [-]parodd ställ in udda paritet (eller jämn paritet med â€-â€)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Inställningar för inmatning:\n" " [-]brkint avbrott orsakar en avbrottssignal\n" " [-]icrnl översätt vagnretur till nyrad\n" " [-]ignbrk ignorera avbrottstecken\n" " [-]igncr ignorera vagnretur\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignorera tecken med paritetsfel\n" " * [-]imaxbel ljud signal, men töm inte full indatabuffert pÃ¥ grund av\n" " ett tecken\n" " [-]inlcr översätt nyrad till vagnretur\n" " [-]inpck möjliggör paritetskontroll av indata\n" " [-]istrip rensa den höga (8:e) biten i ett inmatningstecken\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 anta inmatningstecken är UTF-8-kodade\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc översätt versaler till gemener\n" " * [-]ixany tillÃ¥t vilket tecken som helst att starta om utmatning, \n" " inte bara starttecken\n" " [-]ixoff möjliggör start/stopp-tecken\n" " [-]ixon möjliggör XON/XOFF flödeskontroll\n" " [-]parmrk markera paritetsfel (med en 255-0 teckensekvens)\n" " [-]tandem samma som [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Inställningar för utmatning:\n" " * bsN fördröjning pÃ¥ backsteg, N är [0-1]\n" " * crN fördröjning pÃ¥ vagnretur, N är [0-3]\n" " * ffN fördröjning pÃ¥ sidmatning, N är [0-1]\n" " * nlN fördröjning pÃ¥ nyrad, N är [0-1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl översätt vagnretur till nyrad\n" " * [-]ofdel använd raderingstecken till utfyllnad, istället för " "nulltecken\n" " * [-]ofill använd utfyllnadstecken istället för tidstagning \n" " vid fördröjningar\n" " * [-]olcuc översätt gemener till versaler\n" " * [-]onlcr översätt nyrad till vagnretur-nyrad\n" " * [-]onlret nyrad utför vagnretur\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr skriv inte ut vagnretur i första kolumnen\n" " [-]opost bearbetar utdata\n" " * tabN fördröjning pÃ¥ horisontell tabulator, N är [0-3]\n" " * tabs samma som tab0\n" " * -tabs samma som tab3\n" " * vtN fördröjning pÃ¥ vertikal tabulator, N är [0-1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokala inställningar:\n" " [-]crterase eka raderingstecken som backsteg-mellanslag-backsteg\n" " * crtkill radera hela raden genom att använda inställningarna \n" " för echoprt och echoe\n" " * -crtkill radera hela raden genom att använda inställningarna\n" " för echoctl och echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho eka kontrolltecken med hattnotation (â€^câ€)\n" " [-]echo eka inmatade tecken\n" " * [-]echoctl samma som [-]ctlecho\n" " [-]echoe samma som [-]crterase\n" " [-]echok eka ett nyrad efter ett dödatecken\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke samma som [-]crtkill\n" " [-]echonl eka nyrad även om inga andra tecken ekas\n" " * [-]echoprt eka raderade tecken baklänges, mellan â€\\†och â€/â€\n" " [-]icanon möjliggör specialtecknen erase, kill, werase och rprnt\n" " [-]iexten möjliggör specialtecken som inte är POSIX-tecken\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig möjliggör specialtecken för avbrott, slut och vila\n" " [-]noflsh koppla bort rensning efter avbrottsignaler och \n" " specialsluttecken\n" " * [-]prterase samma som [-]echoprt\n" " * [-]tostop stoppa bakgrundsjobb som försöker skriva till terminalen\n" " * [-]xcase tillsammans med icanon, används â€\\†som kontrollsekvens\n" " för versaltecken\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinationsinställningar:\n" " * [-]LCASE samma som [-]lcase\n" " cbreak samma som -icanon\n" " -cbreak samma som icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked samma som brkint ignpar istrip icrnl ixon oppst isig " "icanon,\n" " filsluttecken och radsluttecken till sina standardvärden\n" " -cooked samma som raw\n" " crt samma som echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec samma som echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq samma som [-]ixany\n" " ek radera- och Ã¥terställtecken till sina standardvärden\n" " evenp samma som parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp samma som -parenb cs8\n" " * [-]lcase samma som xcase iuclc olcuc\n" " litout samma som -parenb -istrip -opost cs8\n" " -litout samma som parenb istrip opost cs7\n" " nl samma som -icrnl -onlcr\n" " -nl samma som icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp samma som parenb parodd cs7\n" " -oddp samma som -parenb cs8\n" " [-]parity samma som [-]evenp\n" " pass8 samma som -parenb -istrip cs8\n" " -pass8 samma som parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw samma som -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw samma som cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane samma som cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, \n" " alla specialtecken till sina standardvärden\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Hantera ttylinjen kopplad till standard in. Utan argument skrivs \n" "baudhastighet, radtyp och avvikelse frÃ¥n stty sane ut. I inställningarna \n" "tolkas TECKEN ordagrant, eller kodat som i ^c, 0x37, 0177 eller 127;\n" "specialvärdet ^- eller undef används för att stänga av specialtecken.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "endast en enhet fÃ¥r anges" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "flaggorna för utförlig och stty-läsbar utmatningsstil är ömsesidigt\n" "uteslutande" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "när en utmatningstyp specificeras, kan inte inställningar göras" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: kan inte starta om icke-blockerande läge" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "felaktigt argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "argument saknas till %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "felaktig linjedisciplin %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: kunde inte utföra alla efterfrÃ¥gade operationer" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: ingen storleksinformation pÃ¥ denna enhet" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "felaktigt heltalsargument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Skriv kontrollsumma och antal block för varje FIL.\n" "\n" " -r använd BSD summeringsalgoritm, använd 1 k block\n" " -s, --sysv använd System V:s summeringsalgoritm, använd 512-" "byteblock\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Tvinga ut ändrade block till disk, uppdatera superblocket.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorerar alla argument" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "OBS: ditt skal kan ha sin egen version av %s, som ofta ersätter versionen " "som\n" "beskrivs här. Se dokumentationen för ditt skal för detaljer om valen det\n" "stödjer.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help visa denna hjälptext och avsluta\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version visa versionsinformation och avsluta\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Obligatoriska argument till lÃ¥nga flaggor är obligatoriska även för de " "korta.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "STORLEK är ett heltal och eventuell enhet (exampel: 10M är 10·1024·1024).\n" "Enheter är K, M, G, T, P, E, Z, Y (multiplar av 1024) eller KB, MB, …\n" "(multiplar av 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Visa värden i enheter av första tillgängliga STORLEK frÃ¥n --block-size,\n" "och miljövariablerna %s_BLOCK_SIZE, BLOCK_SIZE och BLOCKSIZE. Annars\n" "är enheten som standard 1024 byte (eller 512 om POSIXLY_CORRECT är satt).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Rapportera fel i %s till %s.\n" "Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Rapportera anmärkningar pÃ¥ översättningen av %s till <tp-sv@listor.tp-sv." "se>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "För fullständig dokumentation, kör: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Försök med â€%s --help†för mer information.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "VARNING: Cirkulär katalogstruktur.\n" "Detta betyder nästan säkert att du har ett trasigt filsystem.\n" "RAPPORTERA TILL SYSTEMANSVARIG.\n" "Följande katalog utgör del av cykeln:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv varje FIL till standard ut, sista raden först.\n" "Utan FIL, eller när FIL är -, läs standard in.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before sätt in skiljetecken före i stället för efter\n" " -r, --regex tolka skiljetecknet som ett reguljärt uttryck\n" " -s, --separator=STRÄNG använd STRÄNG som skiljetecken i stället för ny " "rad\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: sökning misslyckades" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "för stor post" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "misslyckades att att skapa en temporärfil i %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "misslyckades öppna %s för skrivning" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "misslyckades att spola tillbaka strömmen för %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: skrivfel" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "misslyckades att öppna %s för läsning" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "skiljetecken kan inte vara tomt" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de sista %d raderna frÃ¥n varje FIL till standard ut.\n" "Vid fler än en FIL, inled varje med ett huvud med filnamnet.\n" "Utan FIL eller om FIL är -, läs standard in.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K skriv ut de K sista byten; alternativt, använd -c " "+K\n" " för att skriva ut byte med början pÃ¥ den K:e i " "varje\n" " fil\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={namn|filidentifierare}]\n" " skriv ut nya rader i takt med att filen växer;\n" " -f, --follow och --follow=descriptor är\n" " likvärdiga\n" " -F samma som --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K skriv ut de sista K raderna istället för de " "sista\n" " %d, eller använd -n +K för att skriva ut rader " "med\n" " början frÃ¥n den K:e\n" " --max-unchanged-stats=N\n" " med --follow=name, öppna om en FIL som inte har\n" " ändrat storlek efter N (standard %d) iterationer\n" " för att se om den har tagits bort eller ändrat " "namn\n" " (detta är det vanliga fallet för roterade " "loggfiler)-\n" " Med inotify är denna flagga sällan användbar.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID med -f, avsluta efter att process-id PID dör\n" " -q, --quiet, --silent skriv aldrig ut huvuden med filnamn\n" " --retry fortsätt försöka öppan en fil även när den är\n" " eller blir oÃ¥tkomlig; användbart när man " "följer\n" " enligt namn, t.ex., med --follow=namn\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N med -f, sov i ungefär N sekunder (standard 1,0)\n" " mellan iterationer.\n" " Med inotify och --pid=P, kontrollera process P\n" " Ã¥tminstone var N:e sekund.\n" " -v, --verbose skriv alltid ut huvuden med filnamn\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Om det första tecknet i K (antal byte eller rader) är â€+â€, starta\n" "utmatning med den K:te posten räknat frÃ¥n början av varje fil. Skriv\n" "annars ut de sista K posterna i filen. K kan ha en multiplikativ ändelse:\n" "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" "GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Med --follow (-f), följer tail som standard filidentifieraren, vilket\n" "betyder att även om man byter namn pÃ¥ en tail:ad fil kommer tail fortsätta\n" "att följa dess slut. Detta standardbeteende är inte önskvärt när du\n" "verkligen vill följa det faktiska namnet pÃ¥ filen, inte filidentifieraren\n" "(t.ex. roterade loggfiler). Använd --follow=name i sÃ¥ fall. Det gör att\n" "tail följer den namngivna filen pÃ¥ ett sätt som hanterar att dess namn\n" "ändras, eller att filen tas bort eller skapas.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "stänger %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: kan inte söka till relativ position %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: kan inte söka till slut-relativ position %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "kan inte avgöra platsen för %s. Ã¥tergÃ¥r till pollning" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "okänd filsystemtyp 0x%08lx för %s. Rapportera gärna detta till %s. Ã…tergÃ¥r " "till pollning" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s har blivit oÃ¥tkomlig" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s har ersatts av en fil som inte kan följas; ger upp detta namn" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s har ersatts av en fjärrfil. ger upp detta namn" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s har blivit Ã¥tkomlig" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s har dykt upp; följer slutet pÃ¥ en ny fil" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s har bytts ut, följer slutet pÃ¥ den nya filen" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: kan inte ändra icke-blockerande läge" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: filen avhuggen" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "inga fler filer" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "kan inte bevaka föräldrakatalog till %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "slut pÃ¥ inotify-resurser" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "kan inte bevaka %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "fel vid övervakning av inotify-händelse" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "fel vid läsning av inotify-händelse" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%s: kan inte följa slutet pÃ¥ denna sorts fil, ger upp med detta namn" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "tal i %s är för stort" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: ogiltigt antal oförändrade status mellan öppningar" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: felaktigt PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ogiltigt antal sekunder" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "flagga använd i felaktigt sammanhang -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "varning: --retry är huvudsakligen användbar när filer följs via namn" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "varning: PID ignorerad, --pid=PID är användbar bara när man följer" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "varning: --pid=PID stöds inte pÃ¥ detta system" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "kan inte följa %s vid namn" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "varning: att följa standar in obegränsat är ineffektivt" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify kan inte användas, Ã¥tergÃ¥r till pollning" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopiera standard in till varje FIL, och även till standard ut.\n" "\n" " -a, --append lägg till till angivna FILer, skriv inte över\n" " -i, --ignore-interrupts ignorera avbrottssignaler\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Om FIL är -, kopiera igen till standard ut.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argument saknas efter %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "ogiltigt heltal %s" #: src/test.c:241 msgid "')' expected" msgstr "â€)†förväntades" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "â€)†förväntades, fann %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: unär operator förväntas" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt tar inte -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef tar inte -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot accepterar inte -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "okänd binär operator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: binär operator förväntades" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Användning: test UTTRYCK\n" " eller: test\n" " eller: [ UTTRYCK ]\n" " eller: [ ]\n" " eller: [ FLAGGA\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Avsluta med status som bestäms av UTTRYCK.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Ett utelämnat UTTRYCK behandlas som falskt. Annars är UTTRYCK sant\n" "eller falskt och sätter returvärdet. Det är nÃ¥got av:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( UTTRYCK ) UTTRYCK är sant\n" " ! UTTRYCK UTTRYCK är falskt\n" " UTTRYCK1 -a UTTRYCK2 bÃ¥de UTTRYCK1 och UTTRYCK2 är sanna\n" " UTTRYCK1 -o UTTRYCK2 nÃ¥got av UTTRYCK1 eler UTTRYCK2 är sant\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRÄNG längden pÃ¥ STRÄNG är inte noll\n" " STRÄNG likvärdigt med -n STRÄNG\n" " -z STRÄNG längden pÃ¥ STRÄNG är noll\n" " STRÄNG1 = STRÄNG2 strängarna är lika\n" " STRÄNG1 != STRÄNG2 strängarna är inte lika\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " HELTAL1 -eq HELTAL2 HELTAL1 är lika med HELTAL2\n" " HELTAL1 -ge HELTAL2 HELTAL1 är större än eller lika med HELTAL2\n" " HELTAL1 -gt HELTAL2 HELTAL1 är större än HELTAL2\n" " HELTAL1 -le HELTAL2 HELTAL1 är mindre än eller lika med HELTAL2\n" " HELTAL1 -lt HELTAL2 HELTAL1 är mindre än HELTAL2\n" " HELTAL1 -ne HELTAL2 HELTAL1 är inte lika med HELTAL2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FIL1 -ef FIL2 FIL1 och FIL2 har samma enhets- och inodnummer\n" " FIL1 -nt FIL2 FIL1 är nyare (ändringstidpunkt) än FIL2\n" " FIL1 -ot FIL2 FIL1 är äldre än FIL2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FIL FIL finns och är en specialfil för blockÃ¥tkomst\n" " -c FIL FIL finns och är en specialfil för teckenÃ¥tkomst\n" " -d FIL FIL finns och är en katalog\n" " -e FIL FIL finns\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FIL FIL finns och är en vanlig fil\n" " -g FIL FIL finns och har sätt-grupp-ID-biten satt\n" " -G FIL FIL finns och ägs av verksam grupp-ID\n" " -h FIL FIL finns och är en symbolisk länk (samma som -L)\n" " -k FIL FIL finns med fastbiten satt\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FIL FIL finns och är en symbolisk länk (samma som -h)\n" " -O FIL FIL finns coh ägs av verksam användar-ID\n" " -p FIL FIL finns och är ett namngivet rör\n" " -r FIL FIL finns och läsning är tillÃ¥ten\n" " -s FIL FIL finns och har större storlek än noll\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FIL FIL existterar och är ett uttag (socket)\n" " -t FI filidentifierare FI är öppnad mot en terminal\n" " -u FIL FIL existerar och dess set-user-ID-bit är satt\n" " -w FIL FIL existerar och skrivning är tillÃ¥ten\n" " -x FIL FIL existerar och körning (eller sökning) är tillÃ¥ten\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Förutom för -h och -L följer alla filrelaterade tester symboliska länkar.\n" "Var medveten om att parenteser mÃ¥ste föregÃ¥s av kontrollsekvens \n" "(t.ex. av omvänt snedstreck) för skal. HELTAL kan ocksÃ¥ vara -l STRÄNG,\n" "som har värdet av längden pÃ¥ STRÄNG.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "OBS: [ godkänner flaggorna --help och --version, men test gör det inte.\n" "test behandlar bÃ¥da dessa som den behandlar alla andra icketomma strängar.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test och/eller [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr " â€]†saknas" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "extra argument %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "varning: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "varning: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "varning: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Användning: %s [FLAGGA] LÖPTID KOMMANDO [ARG]...\n" " eller: %s [FLAGGA]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "Starta KOMMANDO, och döda det om det fortfarande kör efter LÖPTID.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " avsluta med samma status som KOMMANDO, även när tiden för\n" " kommandot löper ut\n" " --foreground\n" " När timeout inte körs direkt frÃ¥n en skalprompt, lÃ¥t\n" " KOMMANDO läsa frÃ¥n TTY:n och ta emot TTY-signaler. I\n" " detta läge kommer tiden för barn till KOMMANDO inte gÃ¥ ut.\n" " -k, --kill-after=LÖPTID\n" " skicka ocksÃ¥ en KILL-signal om KOMMANDO fortfarande kör\n" " sÃ¥ länge efter att den upsprungliga signalen skickades.\n" " -s, --signal=SIGNAL\n" " ange signalen som skall skickas när tiden gÃ¥r ut.\n" " SIGNAL kan vara ett namn som â€HUP†eller ett nummer.\n" " Se â€kill -l†för en lista pÃ¥ signaler.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "LÖPTID är ett flyttal eventuellt följt av ett suffix:\n" "â€s†för sekunder (standard), â€m†för minuter, â€h†för timmar eller â€d†för\n" "dagar.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Om kommandot gÃ¥r över tiden, och --preserve-status inte är satt, avsluta dÃ¥\n" "med status 124. Avsluta annars med slutstatusen frÃ¥n KOMMANDO. Om ingen\n" "signal anges, skicka signalen TERM när tiden gÃ¥r ut. Signalen TERM dödar " "en\n" "process som inte blockerar eller fÃ¥ngar den signalen. Det kan vara " "nödvändigt\n" "att använda signalen KILL (9) eftersom den signalen inte kan fÃ¥ngas, i " "vilket\n" "fall slutstatusen är 128+9 istället för 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "varning: det gick inte att avaktivera minnesdumpar" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "fel vid inväntande av kommando" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "det bevakade programmet skrev en minnesdump" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "felaktigt datumformat %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "kan inte beröra %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "sätter tider pÃ¥ %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Uppdatera Ã¥tkomst- och modifieringstiderna pÃ¥ varje fil till aktuell tid.\n" "\n" "Ett FIL-argument som inte finns skapas tomt, om inte -c eller -h anges.\n" "\n" "En - som FIL-argumentsträng hanteras speciellt och fÃ¥r touch att ändra\n" "tiden pÃ¥ filen som är kopplad till standard ut.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ändra bara Ã¥tkomsttiden\n" " -c --no-create skapa inga filer\n" " -d, --date=STRÄNG tolka STRÄNG och använd det istället för aktuell " "tid\n" " -f (ignorerad)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference ändra varje symbolisk länk istället för det den " "pekar\n" " pÃ¥ (meningsfullt endast pÃ¥ system där det gÃ¥r att\n" " tidsstämpel pÃ¥ en symbolisk länk)\n" " -m ändra bara modifikationstiden\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FIL använd FILs tider istället för aktuell tid\n" " -t STÄMPEL använd [[Ã…Ã…]Ã…Ã…]MMDDhhmm[.ss] istället för aktuell " "tid\n" " --time=ORD ändra den angivna tiden:\n" " ORD är access, atime eller use: detsamma som -a\n" " ORD är modify eller mtime: detsamma som -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Observera att flaggorna -d och -t tar olika tid-datumformat.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "kan inte ange tider frÃ¥n mer än en källa" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "varning: â€touch %s†är förÃ¥ldrat; använd â€touch -t %04ld%02d%02d%02d%02d." "%02dâ€" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Användning: %s [FLAGGA]… MÄNGD1 [MÄNGD2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Översätt, pressa ihop och/eller ta bort tecken frÃ¥n standard in, skriv till\n" "standard ut.\n" "\n" " -c, -C, --complement använd komplementet av MÄNGD1\n" " -d, --delete ta bort tecken i MÄNGD1, översätt inte\n" " -s, --squeeze-repeats ersätt varje insekvens av upprepade tecken som är\n" " uppräknat i MÄNGD1 med en ensam förekomst av " "det\n" " tecknet\n" " -t, --truncate-set1 stympa först MÄNGD1 till längden hos MÄNGD2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "MÄNGDer anges som en sträng tecken. De flesta representerar sig själva.\n" "Följande sekvenser tolkas:\n" "\n" " \\NNN tecken med det oktala värdet NNN (1 till 3 oktala " "siffror)\n" " \\\\ omvänt snedstreck\n" " \\a ljudsignal\n" " \\b baksteg\n" " \\f sidmatning\n" " \\n nyrad\n" " \\r vagnretur\n" " \\t horisontell tabulator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v vertikal tabulator\n" " TECK1-TECK2 alla tecken frÃ¥n TECK1 till TECK2 i stigande ordning\n" " [TECK*] i MÄNGD2, repetera TECK upp till längden av MÄNGD1\n" " [TECK*REP] REP kopior av TECK, REP är oktalt om det startar med 0\n" " [:alnum:] alla bokstäver och siffror\n" " [:alpha:] alla bokstäver\n" " [:blank:] alla horisontella blanktecken\n" " [:cntrl:] alla styrtecken\n" " [:digit:] alla siffror\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] alla utskrivbara tecken, ej blanka\n" " [:lower:] alla gemena bokstäver\n" " [:print:] alla skrivbara tecken, inklusive mellanrum\n" " [:punct:] alla tecken för interpunktion\n" " [:space:] alla horisontella och vertikala blanka\n" " [:upper:] alla versala bokstäver\n" " [:xdigit:] alla hexidecimala siffror\n" " [=TECKEN=] alla tecken som är lika med TECKEN\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Översättning sker om -d inte ges och bÃ¥de MÄNGD1 och MÄNGD2 finns. -t\n" "kan endast användas vid översättning. MÄNGD2 expanderas till längden\n" "av MÄNGD1 genom att dess sista tecken upprepas tillräckligt mÃ¥nga\n" "gÃ¥nger. Överflödiga tecken i MÄNGD2 ignoreras. Endast [:lower:] och\n" "[:upper:] expanderas garanterat i stigande ordning. Används de i\n" "MÄNGD2 vid översättning kan de endast användas parvis för att ange\n" "skiftlägesändring. -s använder MÄNGD1 om det ej är översättning eller\n" "borttagning; annars använder sammanpressning MÄNGD2 och sker efter\n" "översättning och borttagning.\n" # Hur översätta escape? #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "varning: den tvetydiga oktala kontrollsekvensen \\%c%c%c tolkas som\n" "en 2-byte sekvens \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "varning: ett oskyddat omvänt snedstreck vid strängslut är inte portabelt" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "intervallets ändpunkter för â€%s-%s†är i omvänd sorteringsordning" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "ogiltig upprepningsantal %s i konstruktionen [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "saknat teckenklassnamn â€[::]â€" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "saknat ekvivalensklasstecken â€[==]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "ogiltig teckenklass %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: likhetsklassoperand fÃ¥r bara bestÃ¥ av ett tecken" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "[:upper:] och/eller [:lower:] är felaktigt uppställda" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "för mÃ¥nga tecken i mängd" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "vid översättning med sträng1 längre än sträng2,\n" "fÃ¥r inte den senare strängen sluta med en teckenklass" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "Ã¥terupprepningssammansättningen [c*] fÃ¥r ej förekomma i sträng1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "endast en [c*] Ã¥terupprepningssammansättning kan förekomma i sträng2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=]-uttryck fÃ¥r inte förekomma i sträng2 vid översättning" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "vid översättning fÃ¥r endast teckenklasserna â€upper†och â€lowerâ€\n" "finnas i sträng2" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "när set1 inte stympas fÃ¥r sträng2 ej vara tom" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "vid översättning med kompleterande teckenklasser mÃ¥ste sträng2\n" "översätta alla tecken i domänen till ett" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "sammansättningen [c*] fÃ¥r förekomma i sträng2 endast vid översättning" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "TvÃ¥ strängar mÃ¥ste anges när man bÃ¥de tar bort pressar samman upprepningar." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "TvÃ¥ strängar mÃ¥ste ges vid översättning" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Endast en sträng fÃ¥r anges när man tar bort utan att pressa samman\n" "upprepaningar." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Användning: %s [ignorerade kommandoradsargument]\n" " eller: %s FLAGGA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Avsluta med en statuskod som indikerar framgÃ¥ng." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Avsluta med en statuskod som indikerar misslyckande." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Användning: %s FLAGGA… FIL…\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Krymp eller utöka storleken pÃ¥ varje FIL till den angivna storleken.\n" "\n" "Ett FILargument som inte finns skapas.\n" "\n" "Om en FIL är större än den angivna storleken förloras överskjutande data.\n" "Om en FIL är kortare utökas den och den utökade delen (ett hÃ¥l) läses\n" "som noll-byte:ar.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create skapa inga filer en fil\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks använd STORLEK som antal IO-block istället för " "byte\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFIL basera storlek pÃ¥ RFIL\n" " -s, --size=STORLEK ange eller justera filstorlek med STORLEK\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "STORLEK kan ocksÃ¥ föregÃ¥s av en av följande modifierande tecken:\n" "â€+†utöka med, â€-†minska med, â€<†högst, â€>†minst,\n" "â€/†avrunda nerÃ¥t till multipel av, â€%†avrunda uppÃ¥t till multipel av.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "spill i %<PRIdMAX> · %<PRIdMAX> byte-block för fil %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: filen har oanvändbar, till synes negativ storlek" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "kan inte hämta storleken pÃ¥ %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "spill vid avrundning uppÃ¥t av storlek pÃ¥ filen %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "spill vid utökning av storlek av filen %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "misslyckades att hugga av %s vid %<PRIdMAX> byte" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "multipla relativa modifierare angivna" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "du mÃ¥ste ange antingen %s eller %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "du mÃ¥ste ange en relativ %s till %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s angavs men inte %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "kan inte öppna %s för skrivning" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Användning: %s [FLAGGA] [FIL]\n" "Skriv en fullständigt ordnad lista konsistent med den partiella ordningen i\n" "FIL. â€Utan FIL eller om FIL är -, läs standard in.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: indata innehÃ¥ller ett udda antal element" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: indata innehÃ¥ller en slinga:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Skriv ut filnamnet pÃ¥ den terminal som är kopplad till standard in.\n" "\n" " -s, --silent, --quiet skriv inte ut nÃ¥gonting, returnera endast " "slutstatus\n" #: src/tty.c:120 msgid "not a tty" msgstr "inte en tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Skriv ut viss systeminformation. Om ingen FLAGGA angetts används -s.\n" "\n" " -a, --all skriv ut all information, i följande ordning,\n" " men utelämna -p och -i om okända:\n" " -s, --kernel-name skriv ut kärnans namn\n" " -n, --nodename skriv ut maskinens nätverksnodnamn\n" " -r, --kernel-release skriv ut kärnans utgÃ¥va\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version skriv ut kärnans version\n" " -m, --machine skriv ut maskin(hÃ¥rdvaru)typen\n" " -p, --processor skriv ut processortypen eller â€unknownâ€\n" " -i, --hardware-platform skriv ut hÃ¥rdvaruplattform eller â€unknownâ€\n" " -o, --operating-system skriv ut operativsystemet\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Skriv ut maskinarkitekturen.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "kan inte avgöra systemnamn" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertera mellanrum i varje FIL till tabulatorer, skriv till standard ut.\n" "Utan FIL eller om FIL är -, läs standard in.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all konvertera alla mellanrum, i stället för bara inledande\n" " --first-only konvertera bara inledande mellanrumsekvenser (ersätter -" "a)\n" " -t, --tabs=N tabulatorstegen är N lÃ¥nga i stället för 8 (aktiverar -" "a)\n" " -t, --tabs=LISTA använd kommaseparerad LISTA med tabulatorpositioner\n" " (aktiverar -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabulatorer är för lÃ¥ngt isär" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "tabulatorsteg är för stort" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Användning: %s [FLAGGA]… [INFIL [UTFIL]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtrera intilliggande matchande rader frÃ¥n INFIL (eller standard in),\n" "skriv till UTFIL (eller standard ut).\n" "\n" "Utan flaggor slÃ¥s matchande rader samman till den första förekomsten.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count skriv antalet gÃ¥nger raden förekom framför raden\n" " -d, --repeated skriv endast rader som förekommer flera gÃ¥nger\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=avgränsningsmetod] skriv alla upprepade rader\n" " avgränsningsmetod={none(standard),prepend,separate}\n" " Avgränsning görs med blanka rader.\n" " -f, --skip-fields=N undvik jämförelse av de första N fälten\n" " -i, --ignore-case ignorera skillnader i skiftläge vid jämförelse\n" " -s, --skip-chars=N undvik jämförelse av de första N tecknen\n" " -u, --unique skriv endast unika rader\n" " -z, --zero-terminated avsluta rader med 0-byte, inte nyrad\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N jämför inte mer än N tecken i rader\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Ett fält är en följd av blanka (vanligen mellanslag och/eller\n" "tabulatorer) och sedan tecken som ej är blanka. Fält hoppas över före\n" "tecken.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Obs: â€uniq†upptäcker inte upprepade rader om de inte är efter varandra.\n" "Du kanske vill sortera indata först, eller använda â€sort -u†utan â€uniqâ€.\n" "Dessutom, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "för mÃ¥nga upprepade rader" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "ogiltigt antal fält att hoppa över" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "ogiltigt antal byte att hoppa över" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "ogiltigt antal byte att jämföra" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "att skriva alla duplicerade rader och antalet upprepningar är meningslöst" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Användning: %s FIL\n" " eller: %s FLAGGA\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Anropa funktionen unlink för att ta bort angiven FIL.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "kan inte ta bort %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "kunde inte avgöra boot-tillfälle" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H.%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??.?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "uppe ???? dagar ??.??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "uppe %ld dag %2d.%02d, " msgstr[1] "uppe %ld dagar %2d.%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "uppe %2d.%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu användare" msgstr[1] "%lu användare" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", medellast: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Skriver ut aktuell tid, den tid som systemet varit uppe, antalet\n" "användare pÃ¥ systemet och medelvärdet av antalet jobb i körkön under\n" "de senaste 1, 5 och 15 minuterna." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Processer som sover i ett tillstÃ¥nd\n" "som inte gÃ¥r att avbryta bidrar ocksÃ¥ till lastgenomsnittet.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Om FIL inte anges, använd %s. %s som FIL är vanligt.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Skriv ut vilka som är pÃ¥loggade enligt FIL.\n" "Om FIL inte är angiven, använd %s. %s som FIL är vanligt.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Skriv antal nyrader, ord och byte för varje FIL och en rad med totaler\n" "om mer än en FIL angivits. Utan FIL eller om FIL är -, läs standard\n" "in. Ett ord är en icketom sekvens av tecken avgränsad av blanktecken.\n" "Flaggorna nedan kan användas för att välja vilka antal som skrivs, alltid\n" "i följande ordning: nyrad, ord, tecken, byte, maximal radlängd.\n" " -c, --bytes skriv antalet byte\n" " -m, --chars skriv antalet tecken\n" " -l, --lines skriv antalet rader\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F läs indata frÃ¥n filer som anges med\n" " NULL-terminerade namn i filen F.\n" " Om F är - sÃ¥ läs namn frÃ¥n standard in\n" " -L, --max-line-length skriv längden pÃ¥ den längsta raden\n" " -w, --words skriv antalet ord\n" #: src/who.c:210 msgid " old " msgstr "länge" #: src/who.c:440 msgid "system boot" msgstr "systemstart" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "slut=" #: src/who.c:485 msgid "LOGIN" msgstr "INLOGGNING" #: src/who.c:505 msgid "clock change" msgstr "klockändring" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "körnivÃ¥" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "sist=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# användare=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAMN" #: src/who.c:559 msgid "LINE" msgstr "LINJE" #: src/who.c:559 msgid "TIME" msgstr "TID" # Högst 6 tecken kommer skrivas ut. #: src/who.c:559 msgid "IDLE" msgstr "LUGN" #: src/who.c:560 msgid "PID" msgstr "PID" # Högst 8 tecken kommer skrivas ut. #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "SLUT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Användning: %s [FLAGGA]… [ FIL | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Skriv information om användare som är inloggade just nu.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all samma som -b -d --login -p -r -t -T -u\n" " -b, --boot tid för senaste systemuppstart\n" " -d, --dead skriv ut döda processer\n" " -H, --heading skriv ut rad med kolumnhuvuden\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login skriv ut inloggningsprocesser\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup försök kvalificera värdnamn med hjälp av DNS\n" " -m endast värdnamn och användarnamn associerat med standard " "in\n" " -p, --process skriv aktiva processer startade av init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count alla inloggningsnamn och antal inloggade användare\n" " -r, --runleve skriv aktuell körnivÃ¥\n" " -s, --short skriv endast namn, linje och tid (standard)\n" " -t, --time skriv alla ändringar av systemklockan\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg lägg till användares meddelandestatus som +, - eller ?\n" " -u, --users lista inloggade användare\n" " --message samma som -T\n" " --writeable samma som -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Om FIL inte är angiven, använd %s. %s som FIL är vanligt.\n" "Om ARG1 ARG2 är angivna, antas -m: â€Ã¤r jag†eller â€mamma gillar†är " "vanligt.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Skriv ut användarnamnet som associeras med den aktuella gällande användar-ID:" "t.\n" "Samma som id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: kan inte hitta namn för användar-ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s [STRÄNG]…\n" " eller: %s FLAGGA\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Skriv gÃ¥ng pÃ¥ gÃ¥ng en rad med alla specifierade STRÄNG(ar), eller â€yâ€\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "använder aritmetik med enkel precision" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "använder aritmetik med godtycklig precision" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human:\n" #~ " inmatningssträng: â€%sâ€\n" #~ " lokalens decimalkomma: â€%sâ€\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " tolkat numeriskt värde: %Lf\n" #~ " inmatningsprecision = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr " Automatskalning, hittade â€iâ€, byter till bas %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " suffixkoeffecient=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " returvärde: %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human:\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr " ingen skalning, returnerar (grupperat) värde: %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " ingen skalning, returnerar värdet: %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " skalat värde till %Lf · %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " efter avrundning, värde=%Lf · %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " returnerar värde: â€%sâ€\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Användning: %s [FLAGGOR] [TAL]\n" #~ msgid "no valid suffix found\n" #~ msgstr "ingen giltig ändelse funnen\n" #~ msgid "reading %s" #~ msgstr "läser %s" #~ msgid "writing %s" #~ msgstr "skriver %s" #~ msgid "closing %s" #~ msgstr "stänger %s" #~ msgid "accessing %s" #~ msgstr "bearbetar %s" #~ msgid "opening %s" #~ msgstr "öppnar %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system hoppa över kataloger pÃ¥ andra filsystem\n" #~ " -X, --exclude-from=FIL hoppa över filer som matchar mönster i FIL\n" #~ " --exclude=MÖNSTER hoppa över filer som matchar MÖNSTER.\n" #~ " -d, --max-depth=N skriv summan för en katalog (eller fil, med --" #~ "all)\n" #~ " endast om den är N eller färre nivÃ¥er nedanför\n" #~ " kommandoradsargumentet; --max-depth=0 är " #~ "detsamma som\n" #~ " --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off gör aldrig säkerhetskopior (ens om --backup anges)\n" #~ " numbered, t gör numrerade säkerhetskopior\n" #~ " existing, nil numrerade om det redan finns numrerade, annars enkla\n" #~ " simple, never gör alltid enkla säkerhetskopior\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "VARNING: --page-increment undanbedes, använd --line-increment istället" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Alla argument till lÃ¥nga flaggor är obligatoriska korta flaggor.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX är d för decimalt, o för oktalt, x för hexadecimalt eller n för " #~ "inget.\n" #~ "BYTE är hexadecimalt med 0x eller 0X som prefix, och kan ha ett " #~ "multiplikativt\n" #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" #~ "GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y.\n" #~ "Genom att lägga till ett z till nÃ¥gon typ visas skrivbara tecken pÃ¥ " #~ "slutet av\n" #~ "varje rad.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Flaggan --string utan ett tal implicerar 3. Flaggan --width utan ett " #~ "tal\n" #~ "implicerar 32. I normalläge använder od -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Användning: %s [FLAGGA]... FIL\n" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/hu.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001550126�12107204510�011742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Hungarian translation of GNU coreutils # This file is distributed under the same license as the coreutils package. # Copyright (C) 2002, 2005, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. # Translated using gnu.twm # # Emese Kovács <emese@instantweb.hu>, 2002. # Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006, 2007, 2008, 2010, 2011, 2012. msgid "" msgstr "" "Project-Id-Version: coreutils 8.15\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-01-22 02:58+0100\n" "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "a(z) %s argumentum érvénytelen a következÅ‘höz: %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "a(z) „%s†argumentum nem egyértelmű a következÅ‘höz: „%sâ€" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Az érvényes argumentumok a következÅ‘k:" #: lib/closein.c:100 msgid "error closing file" msgstr "hiba a fájl lezárásakor" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "íráshiba" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "%s jogosultságainak megtartása" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ismeretlen rendszerhiba" #: lib/file-type.c:38 msgid "regular empty file" msgstr "szabályos üres fájl" #: lib/file-type.c:38 msgid "regular file" msgstr "szabályos fájl" #: lib/file-type.c:41 msgid "directory" msgstr "könyvtár" #: lib/file-type.c:44 msgid "block special file" msgstr "speciális blokkfájl" #: lib/file-type.c:47 msgid "character special file" msgstr "speciális karakterfájl" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "szimbolikus link" #: lib/file-type.c:56 msgid "socket" msgstr "foglalat" #: lib/file-type.c:59 msgid "message queue" msgstr "üzenetsor" #: lib/file-type.c:62 msgid "semaphore" msgstr "szemafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "megosztott memóriaobjektum" #: lib/file-type.c:68 msgid "typed memory object" msgstr "típusos memóriaobjektum" #: lib/file-type.c:70 msgid "weird file" msgstr "szokatlan fájl" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "A címcsalád a gépnévhez nem támogatott" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Ãtmeneti névfeloldási hiba" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Az ai_flags értéke hibás" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Helyreállíthatatlan névfeloldási hiba" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "az ai_family nem támogatott" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Memóriafoglalási hiba" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nincs cím társítva a gépnévhez" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "A név vagy a szolgáltatás nem ismert" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "A Servname nem támogatott az ai_socktype-hoz" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "az ai_socktype nem támogatott" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Rendszerhiba" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "A paraméterpuffer túl kicsi" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Kérés feldolgozása folyamatban" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Kérés megszakítva" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "A kérés nem lett megszakítva" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Minden kérés kész" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Egy szignál megszakította" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "A paraméter-karakterlánc kódolása nem megfelelÅ‘" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Ismeretlen hiba" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: a(z) „%s†kapcsoló nem egyértelmű, lehetÅ‘ségek:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: a(z) „--%s†kapcsoló nem enged meg argumentumot\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: a(z) „%c%s†kapcsoló nem enged meg argumentumot\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: a(z) „--%s†kapcsolóhoz argumentum szükséges\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: a(z) „--%s†kapcsoló ismeretlen\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: a(z) „%c%s†kapcsoló ismeretlen\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: érvénytelen kapcsoló -- „%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a kapcsoló egy argumentumot igényel -- „%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: a „-W %s†kapcsoló nem egyértelmű\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: a „-W %s†kapcsoló nem enged meg argumentumot\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: a(z) „-W%s†kapcsolóhoz argumentum szükséges\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "nem lehet %s jogosultságait megváltoztatni" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "nem lehet a következÅ‘ könyvtárat létrehozni: %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "elfogyott a memória" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "az aktuális munkakönyvtár feljegyzése meghiúsult" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "â€" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fájl vége" #: lib/regcomp.c:131 msgid "Success" msgstr "Sikerült" #: lib/regcomp.c:134 msgid "No match" msgstr "Nincs találat" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Érvénytelen szabályos kifejezés" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Érvénytelen leválogatási karakter" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "érvénytelen karakterosztálynév" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Záró visszaper" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Érvénytelen visszahivatkozás" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Pár nélküli [ vagy [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Pár nélküli ( vagy \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Pár nélküli \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "A \\{\\} tartalma érvénytelen" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Érvénytelen tartományvég" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Elfogyott a memória" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Érvénytelen megelÅ‘zÅ‘ szabályos kifejezés" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "A szabályos kifejezés túl korán véget ért" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "A szabályos kifejezés túl nagy" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Pár nélküli ) vagy \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nincs megelÅ‘zÅ‘ szabályos kifejezés" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "veszélyes rekurzívan dolgozni a következÅ‘n: %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "veszélyes rekurzívan dolgozni a következÅ‘n: %s (ugyanaz, mint %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "a --no-preserve-root kapcsoló használatával ez a hibamentes mód " "felülbírálható" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[iIyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "%s jogosultságainak beállítása" #: lib/siglist.h:31 msgid "Hangup" msgstr "Felfüggesztés" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Megszakítás" #: lib/siglist.h:37 msgid "Quit" msgstr "Kilépés" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Illegális utasítás" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Nyomkövetési/töréspont csapda" #: lib/siglist.h:46 msgid "Aborted" msgstr "Megszakítva" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "LebegÅ‘pontos kivétel" #: lib/siglist.h:52 msgid "Killed" msgstr "KilÅ‘ve" #: lib/siglist.h:55 msgid "Bus error" msgstr "Buszhiba" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Szegmentálási hiba" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Megszakadt csÅ‘vezeték" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Ébresztőóra" #: lib/siglist.h:67 msgid "Terminated" msgstr "BefejezÅ‘dött" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "SürgÅ‘s I/O feltétel" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Leállítva (szignál)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Leállítva" #: lib/siglist.h:79 msgid "Continued" msgstr "Folytatva" #: lib/siglist.h:82 msgid "Child exited" msgstr "Gyerekfolyamat kilépett" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Leállítva (tty bemenet)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Leállítva (tty kimenet)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O lehetséges" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "CPU-idÅ‘korlát túllépve" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Fájlméret korlátja túllépve" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuális idÅ‘zítés lejárt" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "A profilozási idÅ‘zítÅ‘ lejárt" #: lib/siglist.h:106 msgid "Window changed" msgstr "Ablakméret változott" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Felhasználói szignál 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Felhasználói szignál 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT csapda" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Hibás rendszerhívás" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Veremhiba" #: lib/siglist.h:126 msgid "Information request" msgstr "Információkérés" #: lib/siglist.h:128 msgid "Power failure" msgstr "Tápfeszültség-kimaradás" #: lib/siglist.h:131 msgid "Resource lost" msgstr "ErÅ‘forrás elveszítve" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "%s fifo nem hozható létre" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: a keresés meghiúsult" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Valós idejű szignál %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Ismeretlen szignál %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "az iconv függvény nem használható" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "az iconv függvény nem érhetÅ‘ el" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "tartományon kívüli karakter" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "nem lehet helyi karakterkészletbe átalakítani a következÅ‘t: U+%04X" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "nem lehet a(z) U+%04X-t helyi karakterkészletbe átalakítani: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "érvénytelen felhasználó" #: lib/userspec.c:107 msgid "invalid group" msgstr "érvénytelen csoport" #: lib/userspec.c:108 msgid "invalid spec" msgstr "érvénytelen meghatározás" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "nem jeleníthetÅ‘ meg hibaüzenet" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Csomagolta: %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Csomagolta: %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "A licenc GPLv3+: a GNU GPL 3. vagy újabb változata <http://gnu.org/licenses/" "gpl.html>\n" "Ez egy szabad szoftver, terjesztheti és/vagy módosíthatja.\n" "NINCS GARANCIA, a törvény által engedélyezett mértékig.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ãrta %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ãrta %s és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ãrta %s, %s, és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, %s, és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, %s, %s, és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, %s, %s, %s,\n" "és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, és %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ãrta %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, és mások.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "A hibák a(z) %s címen jelenthetÅ‘k.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "A(z) %s hibái a(z) %s címen jelenthetÅ‘k.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "A(z) %s honlapja: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "A %s honlapja: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Ãltalános segítség a GNU szoftverek használatához: <http://www.gnu.org/" "gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "a megnyitás meghiúsult" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "szabványos bemenet" #: lib/xfreopen.c:36 msgid "stdout" msgstr "szabványos kimenet" #: lib/xfreopen.c:37 msgid "stderr" msgstr "szabványos hibakimenet" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "ismeretlen adatfolyam" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "%s újranyitása %s móddal meghiúsult" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "karakterlánc-összehasonlítás sikertelen" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "" "Ãllítsa be az LC_ALL='C' környezeti változót a probléma megkerüléséhez." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Az összehasonlított karakterláncok: %s és %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "a formázott kiírás nem hajtható végre" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "érvénytelen %s%s argumentum: „%sâ€" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "érvénytelen utótag a(z) %s%s argumentumban: „%sâ€" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s: a(z) „%s†argumentum túl nagy" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [FÃJL]\n" "A FÃJL vagy a szabványos bemenet Base64 kódolása vagy visszafejtése, a\n" "szabványos kimenetre.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode adatok dekódolása\n" " -i, --ignore-garbage dekódoláskor az ábécében nem szereplÅ‘ karakterek\n" " figyelmen kívül hagyása\n" " -w, --wrap=OSZL kódolt sorok törése OSZL karakter után\n" " (alapértelmezésben 76). A 0 kikapcsolja a törést\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Az adatok kódolása a base64 ábécé által az RFC 3548-ban leírt módon " "történik.\n" "A visszafejtés a szabványnak megfelelÅ‘ bemenetet követel meg " "alapértelmezésben,\n" "az --ignore-garbage kapcsoló használatával megkísérelhetÅ‘ a helyreállítás " "az\n" "ábécében nem szereplÅ‘ karakterekbÅ‘l.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "olvasási hiba" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "érvénytelen bemenet" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "érvénytelen sortörésméret: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "extra operandus: „%sâ€" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "a szabványos bemenet lezárása" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Használat: %s NÉV [UTÓTAG]\n" " vagy: %s KAPCSOLÓ\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Kiírja a NEVET a kezdÅ‘ könyvtárösszetevÅ‘ eltávolítása után.\n" "Ha meg van adva, a záró UTÓTAGOT is eltávolítja.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "hiányzó operandus" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Használat: %s [KAPCSOLÓ]… [FÃJL]…\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Összefűzi a FÃJLOKAT, vagy a szabványos bemenetet a szabványos kimenetre.\n" "\n" " -A, --show-all azonos a -vET-vel\n" " -b, --number-nonblank a nem üres kimeneti sorok megszámozása\n" " -e azonos a -vE-vel\n" " -E, --show-ends egy $ jelet jelenít meg minden egyes sor végén\n" " -n, --number megszámoz minden kimeneti sort\n" " -s, --squeeze-blank az ismétlÅ‘dÅ‘ üres kimeneti sorokat nem jeleníti " "meg\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t azonos a -vT-vel\n" " -T, --show-tabs a TAB karaktereket ^I formában jeleníti meg\n" " -u (figyelmen kívül marad)\n" " -v, --show-nonprinting a ^ és M- jelölés használata az LFD és TAB\n" " kivételével\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Példák:\n" " %s f - g ElÅ‘bb f, majd a szabványos bemenet, majd g tartalmának kiírása.\n" " %s A szabványos bemenet másolása a szabványos kimenetre.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "nem végezhetÅ‘ ioctl a következÅ‘n: %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "szabványos kimenet" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: a bemeneti fájl a kimeneti fájl" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "a biztonsági kontextus létrehozása meghiúsult: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" "a(z) %s biztonsági kontextus összetevÅ‘jének beállítása meghiúsult a " "következÅ‘re: %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "%s biztonsági kontextusának lekérése meghiúsult" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "nem alkalmazható részleges kontextus a(z) %s nem címkézett fájlra" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "%s kontextusának megváltoztatása meghiúsult a következÅ‘re: %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "%s nem érhetÅ‘ el" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "a következÅ‘ könyvtár nem olvasható: %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "%s biztonsági kontextusának megváltoztatása\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "az fts_read sikertelen" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "a fts_close hívás meghiúsult" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… KONTEXTUS FÃJL…\n" " vagy: %s [KAPCSOLÓ]… [-u FELHASZNÃLÓ] [-r SZEREP] [-l TARTOMÃNY] \n" " [-t TÃPUS] FÃJL…\n" " vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL…\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Megváltoztatja mindegyik FÃJL biztonsági kontextusát a KONTEXTUSRA.\n" "A --reference használatával minden egyes FÃJL biztonsági kontextusát a\n" "REFERENCIAFÃJL kontextusára változtatja.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference az egyes szimbolikus linkek hivatkozóit érinti (ez " "az\n" " alapértelmezett), és nem magát a szimbolikus " "linket\n" " -h, --no-dereference a szimbolikus linket érinti, és nem a fájlt\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=FELHASZNÃLÓ a FELHASZNÃLÓ felhasználó beállítása a cél " "biztonsági\n" " kontextusában\n" " -r, --role=SZEREP a SZEREP szerep beállítása a cél biztonsági\n" " kontextusában\n" " -t, --type=TÃPUS a TÃPUS típus beállítása a cél biztonsági " "kontextusában\n" " -l, --range=TARTOMÃNY a TARTOMÃNY tartomány beállítása a cél biztonsági\n" " kontextusában\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root a „/â€-t ne kezelje speciálisan " "(alapértelmezett)\n" " --preserve-root a rekurzív működés visszautasítása a „/†" "könyvtáron\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFÃJL a megadott RFÃJL biztonsági kontextusát használja\n" " egy KONTEXTUS érték megadása helyett\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" " -R, --recursive rekurzívan működik a fájlokon és könyvtárakon\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" " üzenetet ír ki\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Az alábbi kapcsolók a hierarchia bejárását módosítják, ha a -R kapcsoló\n" "is meg van adva. Ha egynél több van megadva, akkor csak a legutolsó\n" "fejti ki hatását.\n" "\n" " -H ha egy parancssori argumentum szimbolikus link\n" " egy könyvtárra, akkor bejárja\n" " -L minden könyvtárra mutató szimbolikus link bejárása\n" " -P ne járjon be egyetlen szimbolikus linket sem\n" " (alapértelmezett)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "A -R --dereference igényli a -H vagy -L egyikét" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "a -R -h megköveteli a -P használatát" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "a(z) „%s†operandusa hiányzik" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "érvénytelen kontextus: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "ütközÅ‘ biztonságikontextus-meghatározót adott meg" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "%s attribútumainak beolvasása sikertelen" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "érvénytelen csoport: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… CSOPORT FÃJL…\n" " vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL…\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Megváltoztatja mindegyik FÃJL csoportját a CSOPORTRA.\n" "A --reference használatával minden FÃJL kontextusát a REFERENCIAFÃJL\n" "kontextusára változtatja.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes mint a részletes mód, de csak a végrehajtott\n" " változásokat jelzi\n" " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" " üzenetet ír ki\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (csak azokon a rendszereken hasznos, ahol a " "szimbolikus\n" " link tulajdonosa módosítható)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFÃJL a megadott RFÃJL csoportjának használata CSOPORT\n" " érték megadása helyett\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Példák:\n" " %s staff /u A /u csoportjának módosítása „staffâ€-ra.\n" " %s -hR staff /u A /u és az alatta található fájlok csoportjának " "módosítása\n" " „staffâ€-ra.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "%s új attribútumainak beolvasása" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "a szimbolikus link (%s) és az általa hivatkozott fájl egyaránt változatlan\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s jogosultságai megváltoztatva errÅ‘l: %04lo (%s) erre: %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" "%s jogosultságainak megváltoztatása sikertelen errÅ‘l: %04lo (%s) erre: %04lo " "(%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s jogosultsága a következÅ‘ maradt: %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "nem lehet dolgozni a(z) %s törött szimbolikus linken" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "%s jogosultságainak megváltoztatása" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: az új jogosultságok: %s, nem pedig %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… MÓD[,MÓD]… FÃJL…\n" " vagy: %s [KAPCSOLÓ]… OKTÃLIS-MÓD FÃJL…\n" " vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL…\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Megváltoztatja mindegyik FÃJL módját a MÓDRA.\n" "A --reference használatával minden FÃJL módját a REFERENCIAFÃJL\n" "módjára változtatja.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFÃJL az RFÃJL MÓDJÃT állítja be a MÓD értékek helyett\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive fájlok és könyvtárak rekurzív módosítása\n" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Minden egyes MÓD a következÅ‘ formátumú: „[ugoa]*([-+=]([rwxXst]*|[ugo]))+â€.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "a mód és a --reference kapcsolók nem kombinálhatók" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "érvénytelen mód: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s tulajdonosa megváltoztatva errÅ‘l: %s erre: %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s csoportja megváltoztatva errÅ‘l: %s erre: %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "%s tulajdonosa nem változott meg\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "%s tulajdonosának megváltoztatása sikertelen errÅ‘l: %s erre: %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "%s csoportjának megváltoztatása sikertelen errÅ‘l: %s erre: %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "%s tulajdonosának megváltoztatása meghiúsult\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "%s tulajdonosának megváltoztatása sikertelen a következÅ‘re: %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "%s csoportjának megváltoztatása sikertelen a következÅ‘re: %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s tulajdonosa maradt %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s csoportja maradt %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "%s tulajdonosa megtartva\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s nem követhetÅ‘" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "%s tulajdonosának megváltoztatása" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "%s csoportjának megváltoztatása" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [TULAJDONOS] [:[CSOPORT] FÃJL…\n" " vagy: %s [KAPCSOLÓ]… --reference=REFERENCIAFÃJL FÃJL…\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Megváltoztatja mindegyik FÃJL tulajdonosát és/vagy csoportját a " "TULAJDONOSRA\n" "és/vagy a CSOPORTRA. A --reference használata esetén mindegyik FÃJL\n" "tulajdonosát és csoportját a REFERENCIAFÃJLÉRA változtatja.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=JELENLEGI_TULAJ:JELENLEGI_CSOPORT\n" " csak akkor változtatja meg a fájl tulajdonosát " "és/\n" " vagy csoportját, ha a jelenlegi beállítások\n" " megegyeznek a megadottakkal. A két attribútum\n" " közül bármelyik elhagyható, ebben az esetben\n" " nincs szükség egyezésre a kihagyott " "attribútumhoz\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RFÃJL a megadott RFÃJL csoportját és tulajdonosát\n" " állítja be TULAJ:CSOPORT értékek megadása " "helyett\n" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "A tulajdonos változatlan marad, ha nincs megadva. A csoport változatlan\n" "marad, ha nincs megadva, de megváltozik a bejelentkezési csoportra, a „:â€-" "ot\n" "követÅ‘ TULAJDONOS nevének megadásakor. A TULAJDONOST és a CSOPORTOT meg\n" "lehet adni számmal vagy névvel.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Példák:\n" " %s root /u A /u tulajdonosának megváltoztatása „rootâ€-ra.\n" " %s root:staff /u Hasonló, de a csoportot megváltoztatja „staffâ€-ra.\n" " %s -hR root /u A /u és az alatta található fájlok tulajdonosának\n" " módosítása „rootâ€-ra.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "érvénytelen csoport: %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "érvénytelen csoportlista: %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "a további csoportok beállítása meghiúsult" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Használat: %s [KAPCSOLÓ] ÚJGYÖKÉR [PARANCS [ARGUMENTUM]…]\n" " vagy: %s KAPCSOLÓ\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "A PARANCS futtatása a gyökérkönyvtár ÚJGYÖKÉRRE állításával.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=FELH:CSOP használandó felhasználó és csoport megadása " "(azonosító\n" " vagy név)\n" " --groups=G_LISTa kiegészítÅ‘ csoportok megadása mint g1,g2,..,gN\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Ha nincs parancs megadva, a ``${SHELL} -i'' (alapértelmezés: /bin/sh) indul " "el.\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "a gyökérkönyvtár nem váltható át a következÅ‘re: %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nem lehet a gyökérkönyvtárba lépni" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "a csoportazonosító beállítása meghiúsult" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "a felhasználói azonosító beállítása meghiúsult" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "a(z) %s parancs futtatása meghiúsult" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: a fájl túl nagy" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Használat: %s [FÃJL]…\n" " vagy: %s [KAPCSOLÓ]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Minden egyes FÃJL CRC ellenÅ‘rzőösszegének és bájtjai számának kiírása.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Használat: %s [KAPCSOLÓ]… FÃJL1 FÃJL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "A rendezett FÃJL1 és FÃJL2 összehasonlítása sorról sorra.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Kapcsolók nélkül három oszlopból álló kimenetet állít elÅ‘. Az elsÅ‘ oszlop \n" "tartalmazza a FÃJL1-ben egyedi sorokat, a második a FÃJL2-ben egyedi " "sorokat,\n" "a harmadik oszlop pedig a mindkét fájlban közös sorokat.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 az 1. oszlop (a FÃJL1-ben egyedi sorok) elnyomása\n" " -2 a 2. oszlop (a FÃJL2-ben egyedi sorok) elnyomása\n" " -3 a 3. oszlop (a mindkét fájlban szereplÅ‘ sorok) elnyomása\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order a bemenet megfelelÅ‘ rendezésének ellenÅ‘rzése, még ha\n" " minden bemeneti sor párosítható is.\n" " --nocheck-order ne ellenÅ‘rizze a bemenet megfelelÅ‘ rendezését\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" " --output-delimiter=STR oszlopok elválasztása a STR karakterlánccal\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Ne feledje, hogy az összehasonlítások figyelembe veszik az LC_COLLATE által\n" "megadott szabályokat.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Példák:\n" " %s -12 fájl1 fájl2 Csak a fájl1 fájl2 közös sorainak kiírása.\n" " %s -3 fájl1 fájl2 A fájl1 és a fájl2 nem közös sorainak kiírása.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "a(z) %d. fájl nincs rendezve" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "több -elválasztót adott meg" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "üres %s nem engedélyezett" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "hiba %s olvasása közben" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "lseek %s sikertelen" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "hiba %s írása közben" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: az extent információinak lekérése meghiúsult" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: az írás meghiúsult" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "%s kiterjesztése meghiúsult" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "%s jogosultságainak törlése" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "%s tulajdonosának megtartása meghiúsult" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "%s fájl kikeresése meghiúsult" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "%s szerzÅ‘jének megtartása meghiúsult" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s nem nyitható meg olvasásra" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "fstat %s sikertelen" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "%s fájl kihagyása, mivel kicserélték másolás közben" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "a fájlrendszer létrehozási kontextusának lekérése meghiúsult" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "%s biztonsági kontextusának beállítása meghiúsult a következÅ‘re: %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "%s nem törölhetÅ‘" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s törölve\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "nincs írás a(z) %s törött szimbolikus linken keresztül" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "%s reguláris fájl nem hozható létre" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "%s klónozása meghiúsult innen: %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "%s összes idejének megtartása" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "%s megnyitása meghiúsult" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" "%s: megpróbálja felülírni a(z) %s fájlt, figyelmen kívül hagyva a(z) %04lo " "(%s) módot? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: felülírod a(z) %s fájlt? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (biztonsági mentés: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "az alapértelmezett fájllétrehozási kontextus visszaállítása meghiúsult" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "%s hard link nem hozható létre a következÅ‘re: %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "stat %s sikertelen" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "%s könyvtár kihagyása" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "figyelmeztetés: %s forrásfájl többször is meg van adva" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s és %s ugyanaz a fájl" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "%s nem könyvtár; nem írható felül %s könyvtárral" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "az éppen létrehozott %s-t nem fogom felülírni ezzel: %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "%s könyvtárat nem írható felül nem könyvtárral" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "a könyvtárat nem lehet nem könyvtárba áthelyezni: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "%s biztonsági mentése megsemmisítené a forrást; %s nem került áthelyezésre" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "%s biztonsági mentése megsemmisítené a forrást; %s nem került másolásra" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "%s biztonsági mentése sikertelen" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "a(z) %s nem kerül átmásolásra az imént létrehozott %s szimbolikus linken " "keresztül" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "%s könyvtárat nem lehet saját magába (%s) másolni" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "%2$s könyvtárra mutató %1$s hard link nem lesz létrehozva" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "%s-t nem lehet egy saját alkönyvtárába (%s) áthelyezni" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "%s-t nem lehet ide áthelyezni: %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "eszközközi áthelyezés sikertelen:\n" "%s --> %s; cél törlése sikertelen" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "az alapértelmezett fájllétrehozási kontextus beállítása meghiúsult a " "következÅ‘re: %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "%s körkörös szimbolikus link nem másolható" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: relatív szimbolikus linkeket csak az aktuális könyvtárban lehet " "létrehozni" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "%s szimbolikus link nem hozható létre a következÅ‘re: %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "%s fifo nem hozható létre" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "%s speciális fájl nem hozható létre" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "%s szimbolikus link nem olvasható" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "%s szimbolikus link nem hozható létre" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s fájltípusa ismeretlen" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "%s biztonsági mentése nem állítható vissza" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (biztonsági mentés visszaállítása)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [-T] FORRÃS CÉL\n" " vagy: %s [KAPCSOLÓ]… FORRÃS… KÖNYVTÃR\n" " vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR FORRÃS…\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "A FORRÃST a CÉLRA, vagy több FORRÃST a KÖNYVTÃRBA másol.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive ugyanaz, mint a -dR --preserve=all\n" " --attributes-only nem másol fájladatokat, csak az " "attribútumokat\n" " --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít\n" " -b mint a --backup, de nem fogad el " "argumentumot\n" " --copy-contents rekurzió esetén a speciális fájlok tartalmát " "is\n" " másolja\n" " -d mint a --no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force ha egy létezÅ‘ célfájlt nem lehet megnyitni,\n" " akkor törli azt, majd újrapróbálja " "(redundáns\n" " a -n kapcsoló használata mellett)\n" " -i, --interactive felülírás elÅ‘tt kérdez\n" " -H parancssori szimbolikus linkek követése a\n" " FORRÃSBAN\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link fájlok hard linkelése másolás helyett\n" " -L, --dereference a szimbolikus linkek követése mindig a " "FORRÃSBAN\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber ne írjon felül meglévÅ‘ fájlt (felülbírálja a\n" " korábbi -i kapcsolót)\n" " -P, --no-dereference soha ne kövesse a szimbolikus linkeket a\n" " FORRÃSBAN\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p mint a --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LISTA] megadott attribútumok megtartása (alap:\n" " mode,ownership,timestamps), ha lehet\n" " további attribútumokat is: context, links,\n" " xattr, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LISTA nem Å‘rzi meg a megadott attribútumokat\n" " --parents teljes forrásfájlnév használata a KÖNYVTÃR " "alatt\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive könyvtárak rekurzív másolása\n" " --reflink[=EKKOR] klón/CoW másolatok vezérlése. Lásd alább.\n" " --remove-destination minden célfájl törlése, még mielÅ‘tt " "megpróbálná\n" " megnyitni (ellentétben a --force " "kapcsolóval)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=EKKOR ritka fájlok létrehozásának szabályozása.\n" " Lásd alább.\n" " --strip-trailing-slashes eltávolítja a befejezÅ‘ osztásjeleket minden\n" " egyes FORRÃS argumentumról\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link szimbolikus link létrehozása másolás helyett\n" " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " "kiterjesztésének\n" " felülbírálása\n" " -t, --target-directory=KÖNYVTÃR minden FORRÃS argumentum másolása a\n" " megadott KÖNYVTÃRBA\n" " -T, --no-target-directory a CÉL kezelése normál fájlként\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update csak akkor másol, ha a CÉL fájl régebbi mint " "a\n" " FORRÃS, vagy ha a CÉL nem létezik\n" " -v, --verbose elmagyarázza, mi történik\n" " -x, --one-file-system az adott fájlrendszeren marad\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Alapértelmezésben a program kitalálja, hogy a FORRÃS fájl ritka-e vagy nem.\n" "Amennyiben igen, a megfelelÅ‘ CÉL fájl is ritka lesz. Ez a --sparse=auto\n" "kapcsolónak megfelelÅ‘ viselkedés. Megadható a --sparse=always kapcsoló,\n" "ekkor a CÉL fájl ritka lesz, amennyiben a FORRÃS megfelelÅ‘ mennyiségű nulla\n" "bájtot tartalmaz.\n" "A --sparse=never kapcsolóval letiltható a ritka fájlok létrehozása.\n" "\n" "A --reflink[=always] megadásakor könnyűsúlyú másolást végez, ahol az\n" "adatblokkok csak módosítás esetén lesznek másolva. Ha ez nem lehetséges, " "akkor\n" "a másolás meghiúsul, vagy ha --reflink=auto megadásakor hagyományos másolás\n" "kerül végrehajtásra.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "A biztonsági másolat kiterjesztése „~â€, hacsak nincs megadva a --suffix " "vagy\n" "a SIMPLE_BACKUP_SUFFIX használatával. A verziókövetés módját megválaszthatod " "a\n" "--backup kapcsolóval vagy a VERSION_CONTROL környezeti változó " "segítségével.\n" "Az érvényes értékek a következÅ‘k:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nem készít mentést (még a --backup megadása esetén sem)\n" " numbered, t számozott mentést készít\n" " existing, nil számozott, ha már létezik számozott változat, egyébként\n" " egyszerű\n" " simple, never mindig egyszerű biztonsági mentés\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Kivételt képez, amikor a cp biztonsági mentést készít a FORRÃSRÓL és a " "force\n" "és backup kapcsolók egyaránt meg vannak adva, továbbá a FORRÃS és a CÉL " "ugyanaz a szabályos fájl.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "%s idÅ‘inek megtartása meghiúsult" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "%s jogosultságainak megtartása sikertelen" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "%s könyvtár nem hozható létre" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s létezik, de nem könyvtár" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "%s megnyitása meghiúsult" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "hiányzó fájloperandus" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "hiányzik a célfájl-operandus a következÅ‘ után: %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "A --target-directory (-t) és a --no-target-directory (-T) nem kombinálhatók" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "a megadott cél (%s) nem könyvtár" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "a --parents használatakor a cél könyvtár kell legyen" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "több kimeneti célkönyvtár van megadva" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "nem lehet egyszerre hard linket és szimbolikus linket létrehozni" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "a --backup és --no-clobber kapcsolók egymást kölcsönösen kizárják" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "a --reflink csak a --sparse=auto kapcsolóval együtt használható" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "biztonsági mentés típusa" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "a biztonsági kontextus nem Å‘rizhetÅ‘ meg SELinux-képes rendszermag nélkül" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "a kiterjesztett attribútumok nem Å‘rizhetÅ‘k meg, a cp xattr támogatás nélkül " "készült" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "a bemenet eltűnt" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: a sorszám kívül esik a tartományon" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: a sorszám kívül esik a tartományon" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " a(z) %s ismétlésben\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: a találat nem található" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "hiba a szabályos kifejezés keresésében" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "írási hiba a következÅ‘höz: %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s a program egész értéket várt az elhatároló után" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: egy „}†szükséges az ismétlésszámban" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: egy egész érték szükséges a „{†és „}†között" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: a záró „%c†elhatároló hiányzik" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: érvénytelen szabályos kifejezés: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: érvénytelen minta" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: a sorszámnak nagyobbnak kell lennie, mint 0" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "a(z) %s sorszám kisebb, mint a megelÅ‘zÅ‘ sorszám (%s)" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "figyelmeztetés: a(z) %s sorszám azonos a megelÅ‘zÅ‘ sorszámmal" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "az utótagból hiányzik az átalakítás meghatározása" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "az utótagból hiányzik az átalakítás meghatározása: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "az utótagból hiányzik az átalakítás meghatározása: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "érvénytelen jelzÅ‘k a konverziós specifikációban: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "túl sok %% átalakítási meghatározás van az utótagban" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "az utótagból hiányzik a %% átalakítási meghatározás" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "érvénytelen szám: %s" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Használat: %s [KAPCSOLÓ]… FÃJL MINTA…\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "A FÃJL MINTÃK által elválasztott darabjait az „xx00â€, „xx01â€, …, fájlokba\n" "írja, valamint az egyes darabok bájtjai számát a szabványos kimenetre írja.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMÃTUM az sprintf FORMÃTUM használata a(z) %02d " "helyett\n" " -f, --prefix=ELÅTAG az ELÅTAG használata az „xx†helyett\n" " -k, --keep-files ne törölje kimeneti fájlokat hiba esetén\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=SZÃMJEGYEK a megadott számú számjegy használata a 2 " "helyett.\n" " -s, --quiet, --silent ne írja ki a kimeneti fájlok méretének " "összegét\n" " -z, --elide-empty-files üres kimeneti fájlok eltávolítása\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Ha a FÃJL a -, akkor a szabványos bemenetet olvassa. A MINTA lehet:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " EGÉSZ másolás a megadott sorszámig, annak beleértése nélkül\n" " /REGEXP/[ELTOLÃS] másolás egy illeszkedÅ‘ sorig, annak beleértése nélkül \n" " %REGEXP%[ELTOLÃS] kihagyás egy illeszkedÅ‘ sorig, annak beleértése nélkül\n" " {EGÉSZ} az elÅ‘zÅ‘ minta ismétlése a megadott számú alkalommal\n" " {*} az elÅ‘zÅ‘ minta ismétlése ahányszor csak lehetséges\n" "\n" "A sor ELTOLÃS egy kötelezÅ‘ „+†vagy „-â€, amelyet egy pozitív egész követ.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "a mezÅ‘k és pozíciók számozása 1-tÅ‘l kezdÅ‘dik" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Használat: %s KAPCSOLÓ… [FÃJL]…\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Minden egyes FÃJL kiválasztott részeinek kiírása a szabványos kimenetre.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTA csak ezen bájtok kiválasztása\n" " -c, --characters=LISTA csak ezen karakterek kiválasztása\n" " -d, --delimiter=ELHAT az ELHAT használata a TAB helyett " "mezÅ‘elválasztóként\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTA csak ezen mezÅ‘k kiválasztása; valamint bármely " "sor\n" " kiírása, amely nem tartalmaz " "elhatárolókaraktert,\n" " kivéve ha a -s kapcsoló meg van adva\n" " -n (figyelmen kívül marad)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement a kijelölt bájtok, karakterek vagy mezÅ‘k " "halmazának\n" " kiegészítése.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ne írja ki az elhatárolókat nem tartalmazó " "sorokat\n" " --output-delimiter=KARAKTERLÃNC a KARAKTERLÃNC használata a kimenet\n" " elhatárolójaként, az alapértelmezés a bemenet\n" " elhatárolójának használata\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "A -b, -c vagy -f közül csak egyet használj. Minden egyes LISTA legalább\n" "egy, vesszÅ‘kkel elválasztott tartományból áll. A kiválasztott bemenet a\n" "beolvasás sorrendjében és pontosan egyszer kerül kiírásra.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Minden egyes tartomány az alábbiak egyike:\n" "\n" " N N. bájt, karakter vagy mezÅ‘, 1-tÅ‘l számítva\n" " N- az N. bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l, a sor végéig\n" " N-M az N. bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l, az M.-ig (azt is " "beleértve)\n" " -M az elsÅ‘ bájttól, karaktertÅ‘l vagy mezÅ‘tÅ‘l az M.-ig (azt is " "beleértve)\n" "\n" "Ha a FÃJL nincs megadva vagy -, akkor a szabványos bemenetet olvassa.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "érvénytelen bájt- vagy mezÅ‘lista" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "érvénytelen tartomány végpont nélkül: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "érvénytelen csökkenÅ‘ tartomány" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "a(z) %s bájteltolás túl nagy" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "a(z) %s mezÅ‘szám túl nagy" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "csak egy listatípus adható meg" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "az elhatárolónak egyetlen karakternek kell lennie" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "bájtok, karakterek vagy mezÅ‘k listáját kell megadnod" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "bemeneti elhatároló csak mezÅ‘kön való működés esetén adható meg" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "el nem határolt sorok elnyomásának csak mezÅ‘kön \n" "\tvaló működés esetén van értelme" #: src/cut.c:870 msgid "missing list of fields" msgstr "a mezÅ‘lista hiányzik" #: src/cut.c:872 msgid "missing list of positions" msgstr "a pozíciólista hiányzik" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [+FORMÃTUM]\n" " vagy: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Az aktuális idÅ‘ megjelenítése a megadott FORMÃTUMBAN, vagy a rendszerdátum\n" "beállítása.\n" "\n" " -d, --date=KARAKTERLÃNC a KARAKTERLÃNC által leírt dátum megjelenítése\n" " az aktuális helyett\n" " -f, --file=DÃTUMFÃJL mint a --date egyszer a DÃTUMFÃJL minden sorára\n" " -I[IDÅMEGHAT], --iso-8601[=IDÅMEGHAT] dátum/idÅ‘ kiírása ISO 8601 " "formátumban.\n" " IDÅMEGHAT=„date†a dátum kírásához " "(alapértelmezett)\n" " vagy „hoursâ€, „minutesâ€, „seconds†vagy „ns†a\n" " jelzett pontosságú dátum és idÅ‘ kiírásához.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FÃJL a FÃJL utolsó módosítása dátumának " "megjelenítése\n" " -R, --rfc-2822 IdÅ‘pont kiírása RFC 2822 formátumban.\n" " Például: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=IDÅMEGHAT dátum kiírása RFC 3339 formátumban.\n" " Az IDÅMEGHAT=„dateâ€, „secondsâ€, vagy „nsâ€\n" " a jelzett pontosságú dátumhoz és idÅ‘höz.\n" " A dátum- és időösszetevÅ‘ket egyetlen szóköz\n" " választja el: 2006-08-07 12:34:56-06:00\n" " -s, --set=KARAKTERLÃNC a KARAKTERLÃNC által leírt idÅ‘ beállítása\n" " -u, --utc, --universal a Koordinált világidÅ‘ kiírása vagy\n" " beállítása\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "A FORMÃTUM vezérli a kimenetet. Az értelmezett sorozatok:\n" "\n" " %% egy % jel\n" " %a a területi beállítások rövidített napneve (például: v)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A a területi beállítások teljes napneve, (például: vasárnap)\n" " %b a területi beállítások rövidített hónapneve (például: Jan)\n" " %B a területi beállítások teljes hónapneve, (például: Január)\n" " %c a területi beállítások dátuma és ideje (2005. dec. 25., vasárnap,\n" " 15.48.38 CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C század; mint a %Y, de az utolsó két számjegy elmarad (például: 20)\n" " %d a hónap napja (például: 01)\n" " %D dátum; ugyanaz, mint %m/%d/%y\n" " %e a hónap napja szóközökkel feltöltve; ugyanaz, mint a %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F teljes dátum; ugyanaz, mint a %Y-%m-%d\n" " %g az ISO hétszám évének utolsó két számjegye (lásd %G)\n" " %G az ISO hétszám éve (lásd %V); csak %V-vel hasznos\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h ugyanaz, mint %b\n" " %H óra (00..23)\n" " %I óra (01..12)\n" " %j az év napja (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k óra, szóközzel feltöltött ( 0..23); ugyanaz mint %_H\n" " %l óra, szóközzel feltöltött ( 1..12); ugyanaz mint %_I\n" " %m hónap (01..12)\n" " %M perc (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n egy új sor\n" " %N nanomásodpercek (000000000..999999999)\n" " %p a területi beállítások nagybetűs AM vagy PM jelzÅ‘je; üres ha " "ismeretlen\n" " %P mint a %p, de kisbetűkkel\n" " %r a területi beállítások szerinti idÅ‘, 12 órás (például: 00.55.52)\n" " %R 24 órás óra és perc, ugyanaz mint a %H:%M\n" " %s a „00:00:00 1970-01-01 UTC†óta eltelt másodpercek száma\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S másodperc (00..60)\n" " %t egy tab\n" " %T idÅ‘, ugyanaz , mint a %H:%M:%S\n" " %u a hét napja (1..7); az 1 a HétfÅ‘t jelenti\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U az év hetének száma, a hét elsÅ‘ napja Vasárnap (00..53)\n" " %V az év hetének száma (ISO), a hét elsÅ‘ napja HétfÅ‘ (01..53)\n" " %w a hét napja (0..6); a 0 Vasárnapot jelenti\n" " %W az év hetének száma, a hét elsÅ‘ napja HétfÅ‘ (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x a területi beállítások dátumábrázolása (például 2006-01-12)\n" " %X a területi beállítások időábrázolása (például 01.02.32)\n" " %y az év utolsó két számjegye (00..99)\n" " %Y év\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +óópp numerikus idÅ‘zóna (például: -0400)\n" " %:z +óó:pp numerikus idÅ‘zóna (például: -04:00)\n" " %::z +óó:pp:ss numerikus idÅ‘zóna (például: -04:00:00)\n" " %:::z numerikus idÅ‘zóna a :-tal a szükséges pontossághoz\n" " (például: -04, +05:30)\n" " %Z betűkbÅ‘l álló idÅ‘zóna-rövidítés (például: CET)\n" "\n" "Alapértelmezésben a date a numerikus mezÅ‘ket nullákkal tölti ki.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Az alábbi elhagyható jelölÅ‘k követhetik a „%†jelet:\n" "\n" " - (kötÅ‘jel) ne töltse ki a mezÅ‘t\n" " _ (aláhúzás) kitöltés szóközökkel\n" " 0 (nulla) kitöltés nullákkal\n" " ^ nagybetűk használata, ha lehetséges\n" " # ellentétes (nagy<->kis) betűk használata, ha lehetséges\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Ezután minden jelölÅ‘ egy decimális, elhagyható mezÅ‘szélességgel jön, majd\n" "egy szintén elhagyható módosító, amely vagy az E, a területi beállítások\n" "alternatív ábrázolásának használatához, vagy O a területi beállítások\n" "alternatív numerikus szimbólumainak használatához, ha ezek elérhetÅ‘k.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Példák:\n" "Az epoch (1970. 01. 01. UTC) óta eltelt másodpercek átalakítása dátummá\n" " $ date --date='@2147483647'\n" "\n" "A közép-európai idÅ‘ megjelenítése (a TZ megkereshetÅ‘ a tzselect(1) " "programmal)\n" " $ TZ='Europe/Budapest' date\n" "\n" "A helyi idÅ‘ megjelenítése következÅ‘ péntek 9.00-kor\n" " $ date --date='TZ=\"Europe/Budapest\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "szabványos bemenet" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "érvénytelen dátum: %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "több kimeneti formátum van megadva" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "a dátumok megadására a kiíratáshoz használt kapcsolók egymást kölcsönösen " "kizárják" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "az idÅ‘ kiíratására és beállítására használt kapcsolók nem használhatók együtt" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "a(z) %s argumentumból hiányzik a kezdÅ‘ „+â€;\n" "Ha kapcsolóval ad meg dátumokat, akkor minden nem kapcsoló\n" "argumentumnak „+†jellel kezdÅ‘dÅ‘ formátum-karakterláncnak kell lennie." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "nem állítható be a dátum" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "a(z)%s idÅ‘pont kívül esik a tartományon" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s [OPERANDUS]…\n" " vagy: %s KAPCSOLÓ\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Fájl másolása, az operandusoknak megfelelÅ‘ átalakítással és formázással.\n" "\n" " bs=BÃJT egyszerre BÃJT darab bájt írása (lásd még: ibs= és obs=)\n" " cbs=BÃJT BÃJT bájtot alakít át alkalmanként\n" " conv=KONV a fájl átalakítása a vesszÅ‘vel elválasztott " "szimbólumlistának\n" " megfelelÅ‘en\n" " count=BLOKK csak BLOKK bemeneti blokkot másol\n" " ibs=BÃJT egyszerre BÃJT bájtot olvas be (alapérték: 512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FÃJL olvasás a FÃJLBÓL a szabványos bemenet helyett\n" " iflag=JELÖLÅK a vesszÅ‘vel elválasztott szimbólumlistának megfelelÅ‘en " "olvas\n" " obs=BÃJT egyszerre BÃJT bájt kiírása\n" " of=FÃJL a FÃJLBA ír a szabványos kimenet helyett\n" " oflag=JELÖLÅK a vesszÅ‘vel elválasztott szimbólumlistának megfelelÅ‘en ír\n" " seek=BLOKK ennyi obs-méretű blokkot hagy ki a kimenet elején\n" " skip=BLOKK ennyi ibs-méretű blokkot hagy ki a bemenet elején\n" " status=noxfer átviteli statisztika elnyomása\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "A BLOKKHOZ és a BÃJTHOZ a következÅ‘ szorzó-utótagok adhatók meg:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" "\n" "A KULCSSZÓ szimbólumok az alábbiak lehetnek:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii EBCDIC-bÅ‘l ASCII-ba\n" " ebcdic ASCII-ból EBCDIC-be\n" " ibm ASCII-ból módosított EBCDIC-be\n" " block az új sorra végzÅ‘dÅ‘ rekordokat cbs méretűre tölti ki " "szóközökkel\n" " unblock a sorvégi szóközöket cbs méretű rekordokban soremelésre cseréli\n" " lcase nagybetűrÅ‘l kisbetűre cserél\n" " ucase kisbetűrÅ‘l nagybetűre cserél\n" " swab minden bemeneti bájtpár sorrendjét megcseréli\n" " sync minden bemeneti blokkot NULL bájtokkal ibs méretűre egészít ki;\n" " ha a „block†vagy „unblock†is szerepel a listában,\n" " akkor a feltöltéshez NULL helyett szóközt használ\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl a működés visszautasítása, ha kimeneti fájl már létezik\n" " nocreat ne hozza létre a kimeneti fájlt\n" " notrunc nem csonkolja a kimeneti fájlt\n" " noerror folytatás olvasási hibák után\n" " fdatasync a kimeneti fájladatok kiírása fizikailag a befejezés elÅ‘tt\n" " fsync hasonló az elÅ‘zÅ‘höz, de a metaadatokat is kiírja\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "A JELÖLÅK az alábbiak lehetnek:\n" "\n" " append hozzáfűzési mód (csak kimenet esetén van értelme; javasolt a\n" " conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio párhuzamos I/O használata az adatokhoz\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct közvetlen I/O használata az adatokhoz\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory működés csak könyvtárakon\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync szinkronizált I/O használata az adatokhoz\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync hasonló az elÅ‘zÅ‘höz, de a metaadatok esetén is érvényes\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock a bemenet teljes blokkjainak összegyűjtése (csak iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock nem blokkoló I/O használata\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime ne frissítse a hozzáférési idÅ‘t\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache gyorsítótárazott adatok eldobása\n" # fixme #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ne rendelje hozzá a vezérlÅ‘ terminált fájlból\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne kövesse a szimbolikus linkeket\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks többszörös linkek esetén a működés visszautasítása\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary bináris I/O használata az adatokhoz\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text szöveges I/O használata az adatokhoz\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Egy %s szignál küldésével egy futó „dd†folyamatnak kiírathatja az\n" "addig beolvasott és kiírt rekordok számát a szabványos hibakimenetre,\n" "majd folytathatja a másolást.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 beolvasott rekord\n" " 18335302+0 kiírt rekord\n" " 9387674624 bájt (9.4 GB) másolva, 34.6279 mp, 271 MB/s\n" "\n" "A kapcsolók:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> beolvasott rekord\n" "%<PRIuMAX>+%<PRIuMAX> kiírt rekord\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> levágott rekord\n" msgstr[1] "%<PRIuMAX> levágott rekord\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> bájt (%s) másolva" msgstr[1] "%<PRIuMAX> bájt (%s) másolva" #: src/dd.c:720 msgid "Infinity B" msgstr "Végtelen B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g mp, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "%s bemeneti fájl lezárása" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "%s kimeneti fájl lezárása" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "az O_DIRECT kikapcsolása meghiúsult: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "írás a következÅ‘be: %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "ismeretlen operandus: %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "érvénytelen átalakítás" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "érvénytelen bemeneti jelölÅ‘" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "érvénytelen kimeneti jelölÅ‘" #: src/dd.c:1227 msgid "invalid status flag" msgstr "érvénytelen állapotjelölÅ‘" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "érvénytelen szám: %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "az {ascii,ebcdic,ibm} közül csak egy adható meg egyszerre" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "a block és az unblock nem adható meg egyszerre" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "az lcase és az ucase nem adható meg egyszerre" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "az excl és a nocreat nem adható meg egyszerre" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "a direct és a nocache nem adható meg egyszerre" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "figyelmeztetés: lseek kernel hiba kivédése a következÅ‘ fájlnál:\n" "%s (mt_type=0x%0lx)\n" "A <sys/mtio.h> fájlban megtalálod a típusok listáját" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: nem lehet ugrani" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: nem lehet pozicionálni" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "eltolástúlcsordulás a(z) %s fájl olvasása közben" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "figyelmeztetés: érvénytelen fájleltolás a meghiúsult olvasás után" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "a kernelhiba nem kerülhetÅ‘ meg" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "%s jelölÅ‘inek beállítása" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "a memóriát elfogyasztotta a %zu bájt hosszú bemeneti puffer (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "a memóriát elfogyasztotta a %zu bájt hosszú kimeneti puffer (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: nem lehet a megadott eltolásra ugrani" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" "a csonkítás meghiúsult %<PRIuMAX> bájtra a következÅ‘ kimeneti fájlban: %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "az fdatasync meghiúsult a következÅ‘höz: %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "az fsync meghiúsult a következÅ‘höz: %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "%s megnyitása meghiúsult" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "Az eltolás túl nagy: nem lehet seek=%<PRIuMAX> (%lu bájt) blokk\n" "hosszára csonkítani" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" "a csonkítás meghiúsult %<PRIuMAX> bájtra a következÅ‘ kimeneti fájlban: %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "a következÅ‘ gyorsítótárának eldobása meghiúsult: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Fájlrendszer" #: src/df.c:175 msgid "Type" msgstr "Típ." #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokk" #: src/df.c:181 msgid "Used" msgstr "Fogl." #: src/df.c:184 msgid "Available" msgstr "Szabad" #: src/df.c:187 msgid "Use%" msgstr "Fo.%" #: src/df.c:190 msgid "Inodes" msgstr "Inode-ok" #: src/df.c:193 msgid "IUsed" msgstr "IFogl" #: src/df.c:196 msgid "IFree" msgstr "ISzab." #: src/df.c:199 msgid "IUse%" msgstr "IFo.%" #: src/df.c:202 msgid "Mounted on" msgstr "Csatol. pont" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "figyelmeztetés: %s forrásfájl többször is meg van adva" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Méret" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Szab." #: src/df.c:474 msgid "Capacity" msgstr "Kapacit." #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Arról a fájlrendszerrÅ‘l jelenít meg adatokat, ahol a megadott FÃJLOK\n" "találhatók, vagy alapértelmezésben minden fájlrendszerrÅ‘l.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all üres fájlrendszereket is listázza\n" " -B, --block-size=MÉRET MÉRET bájtos blokkok használata kiírás elÅ‘tt.\n" " Például a „-BM†a méreteket 1,048,576 bájtos\n" " egységekben írja ki. Lásd a MÉRET formátumot " "alább.\n" " --total összesítés előállítása\n" " -h, --human-readable közérthetÅ‘ formátum (például 1K 234M 2G)\n" " -H, --si ugyanaz mint elÅ‘bb, de 1000-es szorzó 1024-es " "helyett\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes inode információk blokkhasználat helyett\n" " -k ugyanaz, mint a --block-size=1K\n" " -l, --local csak a helyi fájlrendszereket írja ki\n" " --no-sync nem adja ki a sync parancsot a használati " "információk\n" " beolvasása elÅ‘tt (alapértelmezett)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability POSIX kompatibilis kimenet\n" " --sync kiadja a sync parancsot a használati információk\n" " beolvasása elÅ‘tt\n" " -t, --type=TÃPUS csak az adott TÃPUSÚ fájlrendszereket írja ki\n" " -T, --print-type fájlrendszertípusok kiírása\n" " -x, --exclude-type=TÃPUS a megadott TÃPUSÚ fájlrendszereket nem listázza " "ki\n" " -v (figyelmen kívül marad)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "a --compare (-C) és --strip kapcsolók egymást kölcsönösen kizárják" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Figyelmeztetés: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" "%s típusú fájlrendszer ki is van jelölve, de figyelmen kívül is van hagyva" #: src/df.c:1500 msgid "Warning: " msgstr "Figyelmeztetés: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "a csatolt fájlrendszerek táblája nem olvasható" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "nem került feldolgozásra fájlrendszer" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Használat: %s [KAPCSOLÓ]… [FÃJL]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Kiírja a megfelelÅ‘ shell parancsot az LS_COLOR környezeti \n" "változó beállításához.\n" "\n" "Kimeneti formátum megállapítása\n" " -b, --sh, --bourne-shell Bourne shell kód az LS_COLORS beállításához\n" " -c, --csh, --c-shell C shell kód az LS_COLORS beállításához\n" " -p, --print-data-base alapértelmezés kiírása\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Ha a FÃJL meg van adva, akkor beolvassa azt és megállapítja, hogy melyik\n" "fájltípushoz milyen színt használjon. Ha nincs, akkor a program az\n" "alapértelmezett adatbázist használja. Ha többet akar tudni a fájl\n" "formátumáról, akkor futtassa a „dircolors --print-database†parancsot.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: érvénytelen sor; a második token hiányzik" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: a(z) %s kulcsszó ismeretlen" #: src/dircolors.c:359 msgid "<internal>" msgstr "<belsÅ‘>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "a dircolors belsÅ‘ adatbázisának kilistázása és a shell szintaxis\n" "kiíratása két egymást kölcsönösen kizáró kapcsoló" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "a fájloperandusok nem kombinálhatók a --print-database (-p) kapcsolóval." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "nincs SHELL változó beállítva és nem adtad meg a shell típusát" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Használat: %s [KAPCSOLÓ] NÉV…\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Kiírja a NEVET az utolsó / összetevÅ‘jének eltávolítása után; ha a NÉV nem\n" "tartalmaz „/†jeleket, akkor egy „.†lesz a kimenet (ami az aktuális\n" "könyvtárat jelenti).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -0, --null a sorok lezárása a 0 bájttal új sor helyett\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Példák:\n" " %s /usr/bin/ A „/usr†kiírása.\n" " %s stdio.h A „.†kiírása.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Használat: %s [KAPCSOLÓ]… FÃJL…\n" " vagy: %s [KAPCSOLÓ]… --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Összefoglalja minden FÃJL lemezhasználatát, könyvtárakra rekurzívan.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all minden fájl adatait kiírja, nem csak a könyvtárakat\n" " --apparent-size a tényleges méretet írja ki a lemezhasználat " "helyett,\n" " jóllehet a tényleges méret általában kisebb, " "nagyobb\n" " is lehet a lyukak miatt a (ritka) fájlokban, a " "belsÅ‘\n" " töredezettség, indirekt blokkok és hasonlók miatt\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=MÉRET MÉRET bájtos blokkok használata kiírás elÅ‘tt.\n" " Például a „-BM†a méreteket 1,048,576 bájtos\n" " egységekben írja ki. Lásd a MÉRET formátumot " "alább.\n" " -b, --bytes ugyanaz, mint a „--apparent-size --block-size=1â€\n" " -c, --total összesítést ír ki\n" " -D, --dereference-args csak a parancssorban felsorolt szimbolikus linkek\n" " törlése\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F az F fájlban megadott, NULL végű fájlnevek\n" " lemezhasználatának összegzése\n" " Ha az F a -, a szabványos bemenetrÅ‘l olvas " "neveket\n" " -H ugyanaz, mint a --dereference-args (-D)\n" " -h, --human-readable közérthetÅ‘ formátum (például: 1K 234M 2G)\n" " --si mint elÅ‘bb, de 1000-es szorzó 1024-es helyett\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k mint a --block-size=1K\n" " -l, --count-links többször számolja a méretet, ha hard linkek vannak\n" " -m mint a --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference mindig követi a szimbolikus linkeket\n" " -P, --no-dereference ne kövesse a szimbolikus linkeket\n" " (ez az alapértelmezés)\n" " -0, --null minden egyes új sort a 0 bájttal fejez be új sor " "helyett\n" " -S, --separate-dirs alkönyvtárakat nem számolja bele\n" " -s, --summarize argumentumonként egy összeget mutat\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time a könyvtár bármely fájljának vagy alkönyvtárának " "utolsó\n" " módosítása idejének kiírása\n" " --time=SZÓ az idÅ‘ mutatása a SZÓNAK megfelelÅ‘en, a módosítási " "idÅ‘\n" " helyett: atime, access, use, ctime vagy status\n" " --time-style=STÃLUS az idÅ‘ megjelenítése a STÃLUSNAK megfelelÅ‘en:\n" " full-iso, long-iso, iso, +FORMÃTUM. A FORMÃTUM " "a\n" " „date†parancsnál megadottakhoz hasonlóan kerül\n" " értelmezésre\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Végtelen B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "az fts_read sikertelen: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "érvénytelen maximális mélység: %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "érvénytelen --%s argumentum: %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" "nem lehet egyszerre összesítést kérni és minden bejegyzést megjeleníteni" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" "figyelmeztetés: az összesítés megegyezik a --max-depth=0 kapcsoló " "használatával" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" "figyelmeztetés: az összesítés kérése ütközik a --max-depth=%lu kapcsolóval" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "a fájloperandusok nem kombinálhatók a --files0-from kapcsolóval" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: olvasási hiba" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "fájlnevek szabványos bemenetrÅ‘l való olvasásakor a(z) %s fájlnév nem " "engedélyezett" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "érvénytelen nulla hosszúságú fájlnév" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "összesen" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Használat: %s [RÖVID-KAPCSOLÓ]… [KARAKTERLÃNC]…\n" " vagy: %s HOSSZÚ-KAPCSOLÓ\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "A KARAKTERLÃNCOK kiírása a szabványos kimenetre.\n" "\n" " -n ne írja ki a befejezÅ‘ új sort\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e a visszaper escape-k értelmezésének bekapcsolása\n" " (alapértelmezett)\n" " -E a visszaper escape-k értelmezésének kikapcsolása\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e a visszaper escape-k értelmezésének bekapcsolása\n" " -E a visszaper escape-k értelmezésének kikapcsolása\n" " (alapértelmezett)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Ha az -e meg van adva, akkor a következÅ‘ sorozatok is felismerésre " "kerülnek:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ visszaper\n" " \\a riasztás (BEL)\n" " \\b backspace\n" " \\c nincs több kimenet\n" " \\e escape\n" " \\f lapdobás\n" " \\n új sor\n" " \\r kocsivissza\n" " \\t vízszintes tab\n" " \\v függÅ‘leges tab\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN NNN oktális értékű bájt (1 - 3 számjegy)\n" " \\xHH HH hexadecimális értékű bájt (1 - 2 számjegy)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Használat: %s [KAPCSOLÓ]… [-] [NÉV=ÉRTÉK]… [PARANCS [ARG]…]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Minden egyes NÉVHEZ beállítja az ÉRTÉKET a környezetben és futtatja a " "PARANCSOT.\n" "\n" " -i, --ignore-environment indulás üres környezettel\n" " -0, --null minden kimeneti sor lezárása új sor helyett 0 " "bájttal\n" " -u, --unset=NÉV változó eltávolítása a környezetbÅ‘l\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Egy egyszerű - maga után vonja a -i kapcsolót. Ha nincs PARANCS megadva, " "akkor\n" "kiírja az eredményül kapott környezetet.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "%s nem törölhetÅ‘" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "%s nem állítható be" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "a --null (-0) nem adható meg paranccsal együtt" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "A tabokat minden egyes FÃJLBAN szóközökké alakítja és kiírja a szabványos\n" "kimenetre. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet\n" "olvassa.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ne alakítsa át a tabokat nem üreshely karakterek után\n" " -t, --tabs=SZÃM a tabok SZÃM karakter szélesek legyenek, ne pedig 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTA az explicit tab pozíciók vesszÅ‘kkel elválasztott\n" " listájának használata\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "a tab méret túl nagy: %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "a tabméret érvénytelen karaktereket tartalmaz: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "a tabméret nem lehet 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "a tabméreteknek növekedniük kell" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "a bemeneti sor túl hosszú" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Használat: %s KIFEJEZÉS\n" " vagy: %s KAPCSOLÓ\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "A KIFEJEZÉS értékének kiírása a szabványos kimenetre. Egy üres sor alább \n" "növekvÅ‘ precedenciájú csoportokat választ el. A KIFEJEZÉS lehet:\n" "\n" " ARG1 | ARG2 ARG1, ha az nem null vagy 0, egyébként ARG2\n" "\n" " ARG1 & ARG2 ARG1, ha egyik argumentum sem null vagy 0, egyébként 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 kisebb, mint ARG2\n" " ARG1 <= ARG2 ARG1 kisebb vagy egyenlÅ‘ ARG2\n" " ARG1 = ARG2 ARG1 egyenlÅ‘ ARG2\n" " ARG1 != ARG2 ARG1 nem egyenlÅ‘ ARG2\n" " ARG1 >= ARG2 ARG1 nagyobb vagy egyenlÅ‘ ARG2\n" " ARG1 > ARG2 ARG1 nagyobb mint ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 ARG1 és ARG2 aritmetikai összege\n" " ARG1 - ARG2 ARG1 és ARG2 aritmetikai különbsége\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 ARG1 és ARG2 aritmetikai szorzata\n" " ARG1 / ARG2 ARG1 és ARG2 aritmetikai hányadosa\n" " ARG1 % ARG2 ARG1 és ARG2 aritmetikai maradéka\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " KARAKTERLÃNC : REGEXP a REGEXP horgonyzott mintaillesztése a " "KARAKTERLÃNCRA\n" "\n" " match KARAKTERLÃNC REGEXP ugyanaz, mint a KARAKTERLÃNC : REGEXP\n" " substr KARAKTERLÃNC POZ HOSSZ a KARAKTERLÃNC részkarakterlánca, a POZ 1-" "tÅ‘l\n" " számítva\n" " index KARAKTERLÃNC KARAKTEREK a KARAKTEREK elÅ‘fordulásának indexe a\n" " KARAKTERLÃNCBAN, vagy 0\n" " length KARAKTERLÃNC a KARAKTERLÃNC hossza\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + JELSOR a JELSOR értelmezése karakterláncként, még ha " "az\n" " egy kulcsszó is, mint a „matchâ€, vagy " "operátor\n" " mint a „/â€\n" "\n" " ( KIFEJEZÉS ) a KIFEJEZÉS értéke\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Ne feledd, hogy sok operátort escape-elni vagy idézÅ‘jelek közé kell tenni\n" "parancsértelmezÅ‘khöz. Az összehasonlítások aritmetikaiak, ha mindkét ARG " "szám,\n" "különben lexikografikusak. A mintaillesztések az illeszkedÅ‘ karakterláncot\n" "adják vissza a \\( és \\) között, vagy nullértéket; ha a \\( és \\) " "nincsenek\n" "használva, akkor az illeszkedÅ‘ karakterek számát vagy 0-t adnak vissza.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "A kilépési állapot 0, ha a KIFEJEZÉS nem null vagy 0 értékű, 1, ha a " "KIFEJEZÉS\n" "null vagy 0 értékű, 2, ha a KIFEJEZÉS szintaktikailag érvénytelen és 3, ha\n" "hiba történt.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "szintaktikai hiba" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "hiba a szabályos kifejezés illesztésében" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "nem egész argumentum" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "osztás nullával" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "állítsa be az LC_ALL='C' környezeti változót a probléma megkerüléséhez" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "az összehasonlított karakterláncok: %s és %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s nem egy érvényes pozitív egész" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "a(z) %s túl nagy" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s [SZÃM]…\n" " vagy: %s KAPCSOLÓ\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Kiírja az összes megadott egész SZÃM prímtényezÅ‘it. Ha nincsenek " "argumentumok\n" "megadva a parancssorban, akkor a szabványos bemenetrÅ‘l kerülnek " "beolvasásra.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "aktuális könyvtár beolvasása sikertelen" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "nem lehet a következÅ‘ könyvtárba lépni: %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nem lehet az aktuális könyvtárat elérni (most %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Használat: %s [-SZÉLESSÉG] [KAPCSOLÓ]… [FÃJL]…\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "A FÃJLOK minden egyes bekezdésének újraformázása és szabványos kimenetre " "írása.\n" "A -SZÉLESSÉG kapcsoló a --width=SZÉLESSÉG rövidítése.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin az elsÅ‘ két sor behúzásának megtartása\n" " -p, --prefix=KARAKTERLÃNC csak a KARAKTERLÃNC kezdetű sorok " "újraformázása,\n" " az elÅ‘tag újraformázott sorokhoz való " "ismételt\n" " csatolásával\n" " -s, --split-only hosszú sorok szétvágása, de újratöltés nélkül\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph az elsÅ‘ sor behúzása különbözik a másodikétól\n" " -u, --uniform-spacing egy szóköz szavak között, kettÅ‘ mondatok után\n" " -w, --width=SZÉLESSÉG maximum sorszélesség (alapértelmezés 75 oszlop)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "a(z) -- %c kapcsoló érvénytelen; a -WIDTH csak akkor ismerhetÅ‘ fel, ha az " "az \n" "elsÅ‘ kapcsoló; használja helyette a -w N kapcsolót" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "érvénytelen szélesség: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Minden egyes FÃJL (alapértelmezésben a szabványos bemenet) bemeneti " "sorainak\n" "tördelése és szabványos kimenetre írása.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes bájtok számolása az oszlopok helyett\n" " -s, --spaces tördelés szóközöknél\n" " -w, --width=SZÉLESSÉG SZÉLESSÉG darab oszlop használata 80 helyett\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "érvénytelen oszlopszám: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Használat: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "PlatformfüggÅ‘ korlátok kiírása shell parancsfájlok számára hasznos " "formátumban.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "%s felhasználó csoportjainak lekérése meghiúsult" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "a jelenlegi folyamat csoportjainak lekérése meghiúsult" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "nem található a név a(z) %lu csoportazonosítóhoz" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓNÉV]…\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "A FELHASZNÃLÓNÉV, vagy ha nincs megadva FELHASZNÃLÓNÉV, akkor az aktuális\n" "folyamat csoporttagságainak kiírása (ez eltérhet, ha a csoportadatbázis\n" "módosult).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "a valódi felhasználóazonosító nem kérhetÅ‘ le" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "a hatásos csoportazonosító nem kérhetÅ‘ le" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "a valódi csoportazonosító nem kérhetÅ‘ le" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: nincs ilyen felhasználó" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Minden egyes FÃJL elsÅ‘ 10 sorának kiírása a szabványos kimenetre.\n" "Több FÃJL esetén mindegyiket egy fejléc elÅ‘zi meg, amely megadja a fájl " "nevét.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N minden egyes fájl elsÅ‘ N bájtjának kiírása;\n" " a kezdÅ‘ „-†megadásakor minden egyes fájl " "utolsó\n" " N bájtja kivételével az összeset kiírja\n" " -n, --lines=[-]N az elsÅ‘ N sor kiírása az elsÅ‘ 10 helyett;\n" " a kezdÅ‘ „-†megadásakor minden egyes fájl " "utolsó\n" " N sora kivételével az összeset kiírja\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent soha ne írja ki a fájlneveket megadó fejléceket\n" " -v, --verbose mindig írja ki a fájlneveket megadó fejléceket\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "A K a következÅ‘ szorzó-utótagokkal rendelkezhet:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: a fájl túl sokat zsugorodott" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: a bájtszám túl nagy" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: nem lehet lseek-elni az eredeti pozícióra" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nem lehet a(z) %s eltolásra pozicionálni" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: az eltávolítás meghiúsult" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "nem lehet újrapozicionálni %s fájlmutatóját" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s olyan nagy, hogy nem ábrázolható" #: src/head.c:886 msgid "number of lines" msgstr "sorok száma" #: src/head.c:886 msgid "number of bytes" msgstr "bájtok száma" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "érvénytelen sorszám" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "érvénytelen bájtszám" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "érvénytelen bevezetÅ‘ kapcsoló -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Használat: %s [KAPCSOLÓ]\n" "Kiírja az aktuális gép numerikus (hexadecimális) azonosítóját.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Használat: %s [NÉV]\n" " vagy: %s KAPCSOLÓ\n" "Az aktuális rendszer gépnevének kiíratása vagy beállítása.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "a név nem állítható be a következÅ‘re: %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "a gépnév nem állítható be; ebbÅ‘l a rendszerbÅ‘l hiányzik ez a funkcionalitás" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "a gépnév nem határozható meg" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓNÉV]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Információk kiírása a FELHASZNÃLÓNÉVRÅL vagy (ennek hiányában)\n" "az aktuális felhasználóról.\n" "\n" " -a figyelmen kívül marad, a más verziókkal való " "kompatibilitáshoz\n" " -Z, --context csak a jelenlegi felhasználó biztonsági kontextusának " "kiírása\n" " -g, --group csak a hatásos csoportazonosító kiírása\n" " -G, --groups az összes csoportazonosító kiírása\n" " -n, --name egy név kiírása egy szám helyett, az -ugG kapcsolókhoz\n" " -r, --real a valódi azonosító kiírása a hatásos helyett, az -ugG\n" " kapcsolókkal\n" " -u, --user csak a hatásos felhasználói azonosító kiírása\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "KAPCSOLÓK nélkül az azonosított információk egy hasznos halmazát írja ki.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "a --context (-Z) csak SELinux-képes rendszermagokkal működik" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "a biztonsági kontextus nem írható ki, ha meg van adva felhasználó" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "nem írható ki „csak†több választás" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "csak nevek vagy valódi azonosítók nem írhatók ki az alapértelmezett " "formátumban" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "a kontextus nem dolgozható fel" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "a hatásos felhasználóazonosító nem kérhetÅ‘ le" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "nem található a név a(z) %lu felhasználói azonosítóhoz" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " csoportok=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontextus=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "figyelmeztetés: %s: nem módosítható a kontextus a következÅ‘re: %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "%s könyvtár létrehozása" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "%s tulajdonosa nem változtatható meg" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "%s idÅ‘bélyegei nem állíthatók be" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "a fork() rendszerhívás sikertelen" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "a(z) %s nem futtatható" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "várakozás a strip programra" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "A strip folyamat hibával fejezÅ‘dött be" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "érvénytelen felhasználó: %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [-T] FORRÃS CÉL\n" " vagy: %s [KAPCSOLÓ]… FORRÃS… KÖNYVTÃR\n" " vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR FORRÃS…\n" " vagy: %s [KAPCSOLÓ]… -d KÖNYVTÃR…\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Ez az install program a kiválasztott helyre másolja a (gyakran épp akkor\n" "lefordított) fájlokat. Ha GNU/Linux rendszeren szeretne használatra kész\n" "csomagot letölteni és használni, akkor használja a csomagkezelÅ‘t, mint " "például\n" "a yum(1) or apt-get(1).\n" "\n" "Az elsÅ‘ három alaknál a FORRÃST a CÉLRA másolja, több FORRÃS esetén a " "létezÅ‘\n" "KÖNYVTÃRBA másolja a fájlokat. Másolás közben beállítja a fájlok\n" "jogosultságait és a tulajdonosát/csoportját.\n" "A negyedik alaknál létrehozza az adott KÖNYVTÃRAK minden elemét.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít\n" " -b mint a --backup, de nem fogad el argumentumot\n" " -c (figyelmen kívül marad)\n" " -C, --compare a forrás- és célfájlpárok összehasonlítása, egyes\n" " esetekben egyáltalán nem módosítja a célt.\n" " -d, --directory minden argumentum könyvtárnév; a megadott könyvtárak\n" " minden elemét létrehozza\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D a CÉL minden elemét létrehozza, kivéve az utolsót,\n" " majd a FORRÃST CÉLRA másolja; elsÅ‘ alakkal hasznos\n" " -g, --group=CSOPORT a CSOPORTOT állítja be a folyamat csoportja helyett\n" " -m, --mode=MÓD a jogosultságot MÓDRA állítja (mint a chmodnál),\n" " rwxr-xr-x helyett\n" " -o, --owner=TULAJDONOS tulajdonos beállítása (csak root)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps a FORRÃS elérési és módosítási idejét állítja\n" " be a megfelelÅ‘ célfájlokon\n" " -s, --strip eltávolítja a szimbólumtáblákat\n" " --strip-program=PROGRAM a binárisok lecsupaszítására használt " "program\n" " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos kiterjesztésének\n" " felülbírálása\n" " -t, --target-directory=KÖNYVTÃR az összes FORRÃS argumentum másolása a\n" " KÖNYVTÃRBA\n" " -T, --no-target-directory a CÉL kezelése normál fájlként\n" " -v, --verbose minden létrehozott könyvtár nevét kiírja\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context a SELinux biztonsági kontextus megÅ‘rzése\n" " -Z, --context=KONTEXTUS fájlok és könyvtárak SELinux biztonsági\n" " kontextusának beállítása\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "FIGYELMEZTETÉS: a --preserve-context figyelmen kívül marad; ez a rendszermag " "nem SELinux-képes." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "FIGYELMEZTETÉS: a --context (-Z) figyelmen kívül marad; ez a rendszermag nem " "SELinux-képes." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "könyvtár telepítésénél nem használható a „strip†kapcsoló" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "könyvtár telepítésénél nem engedélyezett a célkönyvtár" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "a cél kontextusa nem kényszeríthetÅ‘ a következÅ‘re: %s és nem és Å‘rizhetÅ‘ meg" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "érvénytelen mód: %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "FIGYELMEZTETÉS: a --strip-program kapcsoló figyelmen kívül marad, mivel a -s " "kapcsoló nincs megadva" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "a --compare (-C) és az --preserve-timestamps kapcsolók egymást kölcsönösen " "kizárják" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "a --compare (-C) és --strip kapcsolók egymást kölcsönösen kizárják" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "a --compare (-C) kapcsoló figyelmen kívül marad, ha engedélyezÅ‘ bitek " "nélküli módot ad meg" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Minden egyes azonos összekapcsolási mezÅ‘vel rendelkezÅ‘ bementi sorpárhoz " "kiír\n" "egy sort a szabványos kimenetre. Az alapértelmezett összekapcsolási mezÅ‘ " "az \n" "elsÅ‘, üreshely karakterekkel elválasztva. Ha a FÃJL1 vagy FÃJL2 (nem " "mindkettÅ‘)\n" "a -, akkor a szabványos bemenetrÅ‘l olvas.\n" "\n" " -a FÃJLSZÃM a FÃJLSZÃM fájlból származó nem párosítható sorok " "kiírása,\n" " ahol a FÃJLSZÃM 1 vagy 2, a FÃJL1-nek vagy a FÃJL2-" "nek\n" " megfelelÅ‘en.\n" " -e ÜRES a hiányzó bemeneti mezÅ‘k helyettesítése az ÜRESSEL\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case kis- és nagybetűk közti különbség figyelmen kívül " "hagyása\n" " mezÅ‘k összehasonlításakor\n" " -j MEZÅ azonos a következÅ‘vel: „-1 MEZÅ -2 MEZÅâ€\n" " -o FORMÃTUM a FORMÃTUM alkalmazása a kimeneti sor előállításánál\n" " -t KARAKTER a KARAKTER használata a bementi és kimeneti mezÅ‘\n" " elválasztójaként\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FÃJLSZÃM mint a -a FÃJLSZÃM, de elnyomja az összekapcsolt " "kimeneti\n" " sorokat\n" " -1 MEZŠösszekapcsolás az 1. fájl ezen MEZÅJE alapján\n" " -2 MEZŠösszekapcsolás a 2. fájl ezen MEZÅJE alapján\n" " --check-order a bemenet megfelelÅ‘ rendezésének ellenÅ‘rzése, még ha\n" " minden bemeneti sor párosítható is.\n" " --nocheck-order ne ellenÅ‘rizze a bemenet megfelelÅ‘ rendezését\n" " --header minden fájl elsÅ‘ sorát mezÅ‘fejlécnek tekinti,\n" " ezeket a párosításukra tett kísérlet nélkül írja ki\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Ha a -t KARAKTER nincs megadva, a kezdÅ‘ üreshelyek választják el a mezÅ‘ket\n" "és figyelmen kívül maradnak, különben a mezÅ‘ket a KARAKTER választja el. A\n" "MEZÅK 1-tÅ‘l kezdve vannak sorszámozva. A FORMÃTUM egy vagy több vesszÅ‘vel " "vagy\n" "üreshellyel elválasztott specifikáció, mindegyik „FÃJLSZÃM.MEZņvagy „0â€.\n" "Az alapértelmezett FORMÃTUM kiírja az összekapcsolási mezÅ‘t, a FÃJL1 " "maradék\n" "mezÅ‘it és a FÃJL2 maradék mezÅ‘it, mindet a KARAKTERREL elválasztva.\n" "Ha a FORMÃTUM az „auto†kulcsszó, akkor az egyes fájlok elsÅ‘ sorai " "határozzák\n" "meg az egyes sorokhoz kiírt mezÅ‘k számát.\n" "\n" "Fontos: a FÃJL1-nek és a FÃJL2-nek az összekapcsolási mezÅ‘k szerint kell\n" "rendezve lennie.\n" "Ha például a „join†nem rendelkezik kapcsolókkal, akkor használhatja a\n" "„sort -k 1b,1†parancsot, vagy ha a sort nem rendelkezik kapcsolókkal, " "akkor\n" "a „join -t '' †parancsot.\n" "Ne feledje, hogy az összehasonlítások figyelembe veszik az „LC_COLLATEâ€\n" "szabályait. Ha a bemenet nincs rendezve, és egyes sorok nem kapcsolhatók\n" "össze, akkor figyelmeztetÅ‘ üzenet jelenik meg.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: nincs rendezve: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "érvénytelen mezÅ‘szám: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "érvénytelen mezÅ‘meghatározás: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "érvénytelen mezÅ‘szám a mezÅ‘specifikációban: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "inkompatibilis összekapcsolási mezÅ‘k: %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "ütközÅ‘ üres-mezÅ‘ helyettesítési karakterlánc" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "többkarakteres tab: %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "nem kompatibilis tabok" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "mindkét fájl nem lehet a szabványos bemenet" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Használat: %s [-s SZIGNÃL | -SZIGNÃL] PID…\n" " vagy: %s -l [SZIGNÃL]…\n" " vagy: %s -t [SZIGNÃL]…\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Szignálok küldése folyamatoknak, vagy szignálok felsorolása\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SZIGNÃL, -SZIGNÃL\n" " megadja az elküldendÅ‘ szignál nevét vagy számát\n" " -l, --list szignálnevek felsorolása, vagy szignálnevek számokká és\n" " visszaalakítása\n" " -t, --table szignálinformációkat tartalmazó táblázat kiírása\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "A SZIGNÃL egy szignálnév lehet, például „HUPâ€, vagy egy szignálszám, " "például\n" "„1â€, vagy egy szignál által befejeztetett folyamat kilépési állapota.\n" "A PID egy egész, ha negatív, akkor egy folyamatcsoportot azonosít.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: érvénytelen folyamatazonosító" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "érvénytelen kapcsoló -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: több szignált adott meg" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "több -l vagy -t kapcsolót adott meg" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "a szignál nem kombinálható a -l vagy -t kapcsolóval" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "nincs megadva folyamatazonosító" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "nem sikerült %<PRIuMAX> bájt szabványos kimeneti puffert foglalni\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "a pufferelési mód (%s) a következÅ‘höz: %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "nem állítható be %s pufferelése %s módra\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Használat: %s FÃJL1 FÃJL2\n" " vagy: %s KAPCSOLÓ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "A link függvény meghívása egy létezÅ‘ FÃJL1-re mutató FÃJL2 nevű link\n" "létrehozásához.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "%s link nem hozható létre a következÅ‘re: %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: könyvtárra mutató hard link nem engedélyezett" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: a könyvtár nem írható felül" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s cseréje? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "%s szimbolikus link létrehozása meghiúsult" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "%s -> %s szimbolikus link nem hozható létre" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "hard link létrehozása meghiúsult a következÅ‘re: %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "%s hard link nem hozható létre" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "%s -> %s hard link nem hozható létre" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [-T] CÉL LINK_NEVE (1. alak)\n" " vagy: %s [KAPCSOLÓ]… CÉL (2. alak)\n" " vagy: %s [KAPCSOLÓ]… CÉL… KÖNYVTÃR (3. alak)\n" " vagy: %s [KAPCSOLÓ]… -t KÖNYVTÃR… CÉL… (4. alak)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Az 1. alakban használva linket hoz létre a megadott CÉLRA a LINK_NEVE " "néven.\n" "A 2. alakban használva az aktuális könyvtárban jön lére egy link a CÉLRA.\n" "A 3. és 4. alakban használva a KÖNYVTÃRBAN linkek jönnek létre minden egyes\n" "CÉLRA. Alapértelmezésben hard linkeket hoz létre, szimbolikus linkek a\n" "--symbolic kapcsolóval hozhatók létre. Alapértelmezésben a célok (az új " "link\n" "neve) még nem létezhetnek. Hard linkek létrehozásakor minden CÉLNAK " "léteznie\n" "kell. A szimbolikus linkek tetszÅ‘leges szöveget tartalmazhatnak, késÅ‘bbi\n" "feloldáskor a relatív linkek szülÅ‘könyvtárukhoz képest lesznek értelmezve.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] minden létezÅ‘ célfájlról mentést készít\n" " -b mint a --backup, de nem fogad el argumentumot\n" " -d, -F, --directory könyvtárak hard linkelése (csak root)\n" " (megjegyzés: valószínűleg meg fog hiúsulni a\n" " rendszer korlátozásai miatt, még a rootnak " "is)\n" " -f, --force létezÅ‘ célfájlok törlése\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive célfájlok törlésekor kérdez\n" " -L, --logical szimbolikus link CÉLOK törlése\n" " -n, --no-dereference ha a LINK_NEVE szimbolikus link egy " "könyvtárra,\n" " akkor kezelje normális fájlként\n" " -P, --physical hard linkek létrehozása közvetlenül a " "szimbolikus\n" " linkekre\n" " -s, --symbolic szimbolikus linkek létrehozása hard linkek " "helyett\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " "kiterjesztésének\n" " felülbírálása\n" " -t --target-directory=KÖNYVTÃR a linkek létrehozására szolgáló KÖNYVTÃR\n" " megadása\n" " -T, --no-target-directory a LINK_NEVE fájl kezelése mindig normál " "fájlként\n" " -v, --verbose linkelés elÅ‘tt kiírja minden fájl nevét\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "A -s használata figyelmen kívül hagyja a -L és -P kapcsolókat. EllenkezÅ‘\n" "esetben az utoljára megadott kapcsoló vezérli a viselkedést, ha a CÉL\n" "szimbolikus link, alapértelmezésben %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "a --target-directory és a --no-target-directory nem használhatók együtt" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "%s szimbolikus link nem hozható létre" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: ismeretlen" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Használat: %s [KAPCSOLÓ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Az aktuális felhasználó nevének kiírása.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "nincs bejelentkezési név" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%Y %b %e" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H.%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "a QUOTING_STYLE környezeti változóban megadott érvénytelen érték\n" "figyelmen kívül hagyása: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" "a COLUMNS környezeti változóban megadott érvénytelen szélesség\n" "figyelmen kívül hagyása: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "a TABSIZE környezeti változóban megadott érvénytelen tabulátorméret\n" "figyelmen kívül hagyása: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "érvénytelen sorhossz: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "érvénytelen tabulátorméret: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "érvénytelen idÅ‘formátum stílus: %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Az érvényes argumentumok a következÅ‘k:\n" #: src/ls.c:2061 #, fuzzy msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMÃTUM (pl.: +%H:%M) a „dateâ€-stílusú formátumért\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "hiba a hónap karakterláncok elÅ‘készítésekor" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "ismeretlen elÅ‘tag: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "az LS_COLORS környezeti változó értéke nem értelmezhetÅ‘" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "nem lehet a következÅ‘ könyvtárat megnyitni: %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "%s eszközét és inode-ját nem lehet megállapítani" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: a már listázott könyvtár nem kerül listázásra" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "%s könyvtár olvasása" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "%s könyvtár bezárása" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "%s és %s fájlnevek nem hasonlíthatók össze" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Információt ír ki a FÃJLOKRÓL, alapértelmezésben az aktuális könyvtárról.\n" "Ãbécé sorrendbe rendezi a bejegyzéseket, ha nincs megadva a -cftuvSUX\n" "vagy a --sort kapcsolók valamelyike.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all nem rejti el a .-tal kezdÅ‘dÅ‘ bejegyzéseket\n" " -A, --almost-all nem listázza ki a . és .. bejegyzéseket\n" " --author a -l kapcsolóval kiírja az egyes fájlok " "szerzÅ‘jét\n" " -b, --escape C-stílusú escape karaktereket jelenít meg\n" " a nem-grafikus karakterek helyett\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=MÉRET a méretek növelése MÉRET bájttal kiírás elÅ‘tt.\n" " Például a „-BM†a méreteket 1,048,576 bájtos\n" " egységekben írja ki. Lásd a MÉRET formátumot " "alább.\n" " -B, --ignore-backups nem listázza ki a ~-ra végzÅ‘dÅ‘ fájlokat\n" " -c „-ltâ€-vel: rendezés és kiírás ctime " "(fájlállapot-\n" " információk utolsó módosításának ideje) " "szerint\n" " „-lâ€-lel: a ctime kiírása, és rendezés név\n" " szerint, egyébként: rendezés ctime szerint,\n" " legújabb elÅ‘re\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C oszlopok szerinti listázás\n" " --color[=EKKOR] beállítja, hogy mikor legyen színes a kimenet\n" " (fájltípusok szerint). Az EKKOR lehet " "„alwaysâ€,\n" " „never†vagy „autoâ€, további információk " "alább\n" " -d, --directory könyvtár listázása a könyvtár tartalma helyett\n" " és ne kövesse a szimbolikus linkeket\n" " -D, --dired az Emacs dired módja által használt kimenet\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f nem rendez, bekapcsolja a „-aU†kapcsolókat,\n" " kikapcsolja a -ls --color kapcsolókat\n" " -F, --classify jelet fűz a bejegyzéshez (a */=>@ vagy | " "egyikét)\n" " --file-type hasonló az elÅ‘zÅ‘höz, kivéve a „*â€-ot\n" " --format=SZÓ az érvényes értékek és a kapcsoló, amelynek\n" " megfelelnek: across: -x, commas: -m, " "horizontal:\n" " -x, long: -l, single-column: -1, verbose: -" "l,\n" " vertical: -C\n" " --full-time mint a -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g mint a -l, de tulajdonos kiírása nélkül\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " könyvtárak fájlok elé csoportosítása.\n" " kiegészíthetÅ‘ --sort kapcsolóval, de a\n" " --sort=none (-U) használata letiltja a\n" " csoportosítást\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group hosszú felsorolásnál nem írja ki a " "csoportneveket\n" " -h, --human-readable közérthetÅ‘ formátum (például 1K 234M 2G)\n" " -H, --si ugyanaz mint elÅ‘bb, de a szorzó 1024 helyett " "1000\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line parancssorban megadott szimbolikus linkek\n" " követése\n" " --dereference-command-line-symlink-to-dir\n" " minden egyes parancssori szimbolikus link " "követése\n" " amely egy könyvtárra mutat\n" " --hide=MINTA ne listázza a parancsértelmezÅ‘ MINTÃRA " "illeszkedÅ‘\n" " bejegyzéseket (a -a vagy -A felülbírálja)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=SZÓ a bejegyzésnevekhez jelet fűz a SZÓ alapján:\n" " none (alapértelmezett), slash (-p),\n" " file-type (--file-type) classify (-F)\n" " -i, --inode kiírja az egyes fájlok indexszámát\n" " -I, --ignore=MINTA nem írja ki a parancsértelmezÅ‘ MINTÃRA " "illeszkedÅ‘\n" " bejegyzéseket\n" " -k, --kibibytes 1024 bájtos blokkok használata\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l hosszú formátum\n" " -L, --dereference szimbolikus linkek fájlinformációinak\n" " megjelenítésekor a szimbolikus linkek által\n" " mutatott fájlok adatait jeleníti meg a link\n" " adatai helyett\n" " -m a szélességet a bejegyzések vesszÅ‘vel\n" " elválasztott listájával tölti ki\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid mint a -l, de az felhasználó- és \n" " csoportazonosítókat számmal írja ki\n" " -N, --literal nyers bejegyzésnevek kiírása (nem kezeli\n" " megkülönböztetett módon például a\n" " vezérlÅ‘karaktereket)\n" " -o mint a -l, de a csoportinformációk kiírása " "nélkül\n" " -p, --indicator-style=slash\n" " egy / jelet fűz a könyvtárakhoz\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars ? kiírása a nem grafikus karakterek helyett\n" " --show-control-chars megjeleníti a nem grafikus karaktereket\n" " (alapértelmezett, kivéve ha a program az " "„lsâ€\n" " és a kimenet egy terminál)\n" " -Q, --quote-name minden bejegyzésnevet idézÅ‘jelbe tesz\n" " --quoting-style=SZÓ a SZÓ stílusnak megfelelÅ‘en idézÅ‘jelez:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse sorrend megfordítása rendezéskor\n" " -R, --recursive alkönyvtárak rekurzív listázása\n" " -s, --size az egyes fájlok méretének kiírása blokkban\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S rendezés fájlméret alapján\n" " --sort=SZÓ rendezés a SZÓ szerint a név helyett, a SZÓ\n" " érvényes értékei és a kapcsoló, amelynek\n" " megfelelnek: extension -X, size -S,\n" " time -t, version -v\n" " --time=SZÓ a -l kapcsolóval együtt használva az idÅ‘t a " "SZÓNAK\n" " megfelelÅ‘en mutatja a módosítás ideje " "helyett:\n" " atime: -u, access: -u, use: -u, ctime: -c " "vagy\n" " status: -c; a megadott idÅ‘ alapján rendez,\n" " ha a --sort=time kapcsoló meg van adva\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STÃLUS a -l kapcsolóval együtt használva az idÅ‘t a\n" " STÃLUSNAK megfelelÅ‘ formátumban mutatja:\n" " full-iso, long-iso, iso, locale, posix-iso,\n" " +FORMÃTUM. A FORMÃTUM értelmezése hasonló, " "mint\n" " a „date†esetén; ha a FORMÃTUM\n" " FORMÃTUM1<új sor>FORMÃTUM2 alakú, akkor a\n" " FORMÃTUM1 a régebbi, míg a FORMÃTUM2\n" " az újabb fájlokra vonatkozik; ha a STÃLUS a\n" " „posix-†elÅ‘taggal rendelkezik, akkor a " "STÃLUS\n" " csak a POSIX területi beállításokon kívül\n" " lép életbe.\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t módosítás dátuma alapján rendez, legújabb " "elÅ‘re\n" " -T, --tabsize=OSZL tabulátor minden OSZL-nál, 8 helyett\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u „-ltâ€-vel: rendezés és kiírás hozzáférési idÅ‘\n" " szerint\n" " „-lâ€-lel: a hozzáférési idÅ‘ kiírása, és " "rendezés\n" " név szerint\n" " egyébként: rendezés hozzáférési idÅ‘ szerint\n" " -U nincs rendezés; a bejegyzések felsorolása\n" " könyvtári sorrendben\n" " -v rendezés a szövegben lévÅ‘ (verzió)számok " "szerint\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=OSZL feltételezi, hogy a képernyÅ‘ OSZL széles\n" " -x a bejegyzéseket soronként, és nem oszloponként\n" " listázza\n" " -X ábécé sorba rendez, kiterjesztés szerint\n" " -Z, --context az egyes fájlok teljes SELinux biztonsági\n" " kontextusának kiírása\n" " -1 soronként egy fájlnevet ír ki\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "A fájltípusok megkülönböztetése szín alapján alapértelmezésben és a\n" "--color=never esetén is le van tiltva. A --color=auto esetén az ls csak " "akkor ad\n" "színkódokat, ha a szabványos kimenet egy terminál. Az LS_COLORS környezeti\n" "változóval módosíthatók a beállítások, ehhez a dircolors parancs " "használható.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Kilépési állapot:\n" " 0 ha OK,\n" " 1 kisebb problémák esetén (például nem érhetÅ‘ el az alkönyvtár),\n" " 2 komoly problémák esetén (például nem érhetÅ‘ el a parancssori " "paraméter).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [FÃJL]…\n" "%s (%d bites) ellenÅ‘rzőösszegek kiírása vagy ellenÅ‘rzése.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary olvasás bináris módban (alapértelmezett, ha nem\n" " terminál szabványos bemenetet olvas)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary bináris módú olvasás\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check %s összegek olvasása a FÃJLOKBÓL, és\n" " azok ellenÅ‘rzése\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text olvasás szöveges módban (alapértelmezett, ha\n" " terminál szabványos bemenetet olvas)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text olvasás szöveges módban (alapértelmezett)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Az alábbi három kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor hasznos:\n" " --quiet ne írja ki az OK-t minden sikeres ellenÅ‘rzéskor\n" " --status ne írjon ki semmit, az állapotkód jelzi a sikert\n" " -w, --warn figyelmeztessen a helytelenül formázott\n" " ellenÅ‘rzőösszeg-sorokra\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict a --check kapcsolóval: nem nulla értékkel lép ki " "minden\n" " érvénytelen bemenet esetén\n" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Az összegek a(z) %s által leírt módon kerülnek kiszámításra.\n" "EllenÅ‘rzéskor a bemenetnek ezen program korábbi kimenetének kell lennie. Az\n" "alapértelmezett mód egy sornyi ellenÅ‘rzőösszeg, egy bemeneti módot jelzÅ‘\n" "karakter („*†= bináris, szóköz = szöveg) és egy név kiírása minden egyes " "FÃJLHOZ.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: túl sok ellenÅ‘rzőösszeg-sor" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: nem megfelelÅ‘en formázott %s ellenÅ‘rzőösszeg-sor" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: a megnyitás vagy olvasás meghiúsult\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "HIBÃS" #: src/md5sum.c:597 msgid "OK" msgstr "RENDBEN" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: nem találhatók megfelelÅ‘en formázott %s ellenÅ‘rzőösszeg sorok" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "FIGYELMEZTETÉS: %<PRIuMAX> sor nem megfelelÅ‘en formázott" msgstr[1] "FIGYELMEZTETÉS: %<PRIuMAX> sor nem megfelelÅ‘en formázott" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "FIGYELMEZTETÉS: %<PRIuMAX> felsorolt fájl nem olvasható" msgstr[1] "FIGYELMEZTETÉS: %<PRIuMAX> felsorolt fájl nem olvasható" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "FIGYELMEZTETÉS: %<PRIuMAX> számított ellenÅ‘rzőösszeg NEM egyezett" msgstr[1] "FIGYELMEZTETÉS: %<PRIuMAX> számított ellenÅ‘rzőösszeg NEM egyezett" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "a --status kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "a --binary és --text kapcsolók értelmetlenek ellenÅ‘rzőösszegek ellenÅ‘rzésekor" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "a --status kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "a --warn kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "a --quiet kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "a --strict kapcsoló csak ellenÅ‘rzőösszegek ellenÅ‘rzésekor értelmes" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Használat: %s [KAPCSOLÓ]… KÖNYVTÃR…\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "KÖNYVTÃRAKAT hoz létre, ha még nem léteznek.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MÓD fájlmód beállítása, (mint a chmod), nem a=rwx - umask\n" " -p, --parents könyvtárstruktúrát hoz létre. Nem ad hibát, ha már " "létezik\n" " -v, --verbose üzenetet ír ki minden egyes létrehozott könyvtárhoz\n" " -Z, --context=KTX minden létrehozott könyvtár SELinux biztonsági\n" " kontextusának beállítása a KTX-re\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "%s könyvtár létrejött" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Használat: %s [KAPCSOLÓ] NÉV…\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "NÉV nevű névvel rendelkezÅ‘ adatcsatornát (FIFO-t) hoz létre.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MÓD fájljogosultságok beállítása a MÓDRA, nem a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KTX minden NÉV SELinux biztonsági kontextusának beállítása " "a\n" " KTX-re\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "érvénytelen mód" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "a mód csak fájljogosultságbiteket adhat meg" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Használat: %s [KAPCSOLÓ]… NÉV TÃPUS [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Az adott NEVŰ és TÃPUSÚ speciális fájl létrehozása.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KTX a NÉV SELinux biztonsági kontextusának beállítása a KTX-" "re\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Mind a MAJORT, mind a MINORT meg kell adni, ha a TÃPUS b, c vagy u és el " "kell\n" "Å‘ket hagyni, ha a TÃPUS p. Ha a MAJOR vagy MINOR kezdete 0x vagy 0X, akkor " "ez\n" "hexadecimálisan lesz értelmezve, egyébként ha 0-val, akkor oktálisan, " "egyébként\n" "decimálisan. A TÃPUS az alábbiak egyike lehet:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b speciális blokkfájl (pufferelt) létrehozása\n" " c, u speciális karakterfájl (nem-pufferelt) létrehozása\n" " p FIFO létrehozása\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Speciális fájlok létrehozásakor meg kell adni major és minor\n" "eszközszámokat." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "A Fifo-k nem rendelkeznek major és minor eszközszámokkal." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "a speciális blokkfájl nem támogatott" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "a speciális karakterfájl nem támogatott" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "érvénytelen major eszközszám: %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "érvénytelen minor eszközszám: %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "érvénytelen eszköz %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "érvénytelen eszköztípus: %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Használat: %s [KAPCSOLÓ]… [SABLON]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Ideiglenes fájl vagy könyvtár létrehozása biztonságosan, és a nevének " "kiírása.\n" "A SABLONNAK legalább 3 egymást követÅ‘ X-et kell tartalmaznia az utolsó\n" "összetevÅ‘ben. Ha a SABLON nincs megadva, akkor a tmp.XXXXXXXXXX kerül\n" "felhasználásra, és a --tmpdir is felhasználásra kerül.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "A Fájlok u+rw, a könyvtárak u+rwx mínusz az umask korlátozásaival jönnek " "létre.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory könyvtár és nem fájl létrehozása\n" " -u, --dry-run nem hoz létre semmit, csak a nevet írja ki (nem " "biztonságos)\n" " -q, --quiet a fájl/könyvtár-létrehozási hibáról szóló diagnosztika " "elnyomása\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=UTÓTAG az UTÓTAG hozzáfűzése a SABLONHOZ. Az UTÓTAG nem\n" " tartalmazhat osztásjelet. Ez a kapcsoló akkor " "kerül\n" " felhasználásra, ha a SABLON nem X-re végzÅ‘dik.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=KVT] a SABLON értelmezése a KVT könyvtárhoz képest. Ha a KVT\n" " nincs megadva, akkor a $TMPDIR értékét használja,\n" " egyébként a /tmp könyvtárat. Ezzel a kapcsolóval " "használva\n" " a SABLON nem lehet abszolút név. A -t használatával\n" " ellentétben a SABLON tartalmazhat osztásjeleket, de az\n" " mktemp csak az utolsó összetevÅ‘t hozza létre.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p KVT a KVT használata elÅ‘tagként, a -t használatát " "feltételezi\n" " [elavult]\n" " -t a SABLON értelmezése egyetlen fájlnév-összetevÅ‘ként,\n" " egy könyvtárhoz képest: $TMPDIR, ha az be van állítva,\n" " különben a -p segítségével megadott könyvtár, különben\n" " /tmp [elavult]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "a szabványos hibakimenet átirányítása meghiúsult a /dev/null-ba" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "túl sok sablon" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "a --suffix használatakor, a sablonnak (%s) X-re kell végzÅ‘dnie" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "a(z) %s utótag érvénytelen, könyvtárelválasztót tartalmaz" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "túl kevés X a következÅ‘ sablonban: %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "érvénytelen sablon, a(z) %s könyvtárelválasztót tartalmaz" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "érvénytelen sablon, a(z) %s a --tmpdir használatakor nem lehet abszolút" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "a könyvtár létrehozása meghiúsult a következÅ‘ sablon használatával: %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "a fájl létrehozása meghiúsult a következÅ‘ sablon használatával: %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "A FORRÃST átnevezi a CÉLRA vagy több FORRÃST egy CÉLKÖNYVTÃRBA helyez át.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] minden létezÅ‘ célfájlról biztonsági mentést\n" " készít\n" " -b mint a --backup, de nem fogad el " "argumentumot\n" " -f, --force nem kérdez felülírás elÅ‘tt\n" " -i, --interactive felülírás elÅ‘tt kérdez\n" " -n, --no-clobber ne írja felül a meglévÅ‘ fájlokat\n" "Ha a -i, -f, -n közül többet is megad, akkor csak az utolsó lép életbe.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes eltávolítja a befejezÅ‘ per jeleket minden\n" " FORRÃS argumentumról\n" " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " "kiterjesztésének\n" " felülbírálása\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=KÖNYVTÃR minden FORRÃS áthelyezése a megadott\n" " KÖNYVTÃRBA\n" " -T, --no-target-directory a CÉL kezelése normál fájlként\n" " -u, --update csak akkor helyezi át, ha a célfájl régebbi,\n" " mint a FORRÃS, vagy ha a célfájl nem " "létezik\n" " -v, --verbose elmagyarázza, mi történik\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Használat: %s [KAPCSOLÓ] [PARANCS [ARG]…]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "A PARANCS futtatása módosított nice értékkel, amely a folyamatütemezést " "érinti.\n" "Ha a PARANCS nincs megadva, akkor az aktuális nice értéket írja ki. A nice\n" "értékek a(z) %d (leginkább elÅ‘nyben részesített) értéktÅ‘l %d-ig (legkevésbé\n" "elÅ‘nyben részesített) terjednek.\n" "\n" " -n, --adjustment=N az N egész szám hozzáadása a nice értékhez\n" " (az alapértelmezett: 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "érvénytelen módosítás: %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "meg kell adni egy parancsot a módosítással" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "nem kérhetÅ‘ le a nice érték" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "nem állítható be a nice érték" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Minden egyes FÃJL kiírása a szabványos kimenetre, sorszámokkal ellátva.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STÃLUS a STÃLUS használata a törzs sorainak\n" " számozásához\n" " -d, --section-delimiter=CC a CC használata a logikai oldalak\n" " elválasztásához\n" " -f, --footer-numbering=STÃLUS a STÃLUS használata a lábléc sorainak\n" " számozásához\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STÃLUS a STÃLUS használata a fejléc sorainak\n" " számozásához\n" " -i, --line-increment=SZÃM a sorszám növekménye soronként\n" " -l, --join-blank-lines=SZÃM SZÃM darab üres sor számolása egynek\n" " -n, --number-format=FORMÃTUM sorszámok beszúrása a FORMÃTUMNAK " "megfelelÅ‘en\n" " -p, --no-renumber ne állítsa vissza a sorszámokat logikai\n" " oldalaknál\n" " -s, --number-separator=KARAKTERLÃNC a KARAKTERLÃNC felvétele a " "(lehetséges)\n" " sorszámnál\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=SZÃM az elsÅ‘ sorszám minden logikai oldalon\n" " -w, --number-width=SZÃM SZÃM darab oszlop használata a " "sorszámokhoz\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Az alapértelmezett kiválasztás a -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. A " "CC\n" "két, logikai oldalakat elválasztó karakter, ha a második karakter hiányzik,\n" "akkor : kerül felhasználásra. A \\\\ beírásával kapható a \\ jel. A STÃLUS\n" "az alábbiak egyike:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a az összes sor számozása\n" " t csak a nem üres sorok számozása\n" " n ne számozzon sorokat\n" " pBRE csak a BRE alapvetÅ‘ szabályos kifejezésre illeszkedést " "tartalmazó\n" " sorok számozása\n" "\n" "A FORMÃTUM az alábbiak egyike:\n" "\n" " ln balra igazított, nincsenek kezdÅ‘ nullák\n" " rn jobbra igazított, nincsenek kezdÅ‘ nullák\n" " rz jobbra igazított, kezdÅ‘ nullákkal\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "sorszámtúlcsordulás" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "érvénytelen fejlécszámozási stílus: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "érvénytelen törzsszámozási stílus: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "érvénytelen láblécszámozási stílus: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "érvénytelen kezdÅ‘sorszám: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "érvénytelen sorszámnövekmény: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "érvénytelen üressorszám: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "érvénytelen sorszámmezÅ‘ szélesség: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "érvénytelen sorszámozási formátum: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s PARANCS [ARG]…\n" " vagy: %s KAPCSOLÓ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "A PARANCS futtatása a hangup szignálok figyelmen kívül\n" "hagyásával.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Ha a szabványos bemenet egy terminál, akkor átirányítja a /dev/null-ból.\n" "Ha a szabványos kimenet egy terminál, akkor a kimenetet hozzáfűzi a „nohup." "outâ€\n" "fájlhoz, ha lehetséges, ellenkezÅ‘ esetben a „$HOME/nohup.out†fájlhoz.\n" "Ha a szabványos hibakimenet egy terminál, akkor átirányítja a szabványos\n" "kimenetre. A kimenet FÃJLBA mentéséhez használja a(z) „%s PARANCS > FÃJLâ€\n" "parancsot.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "a szabványos hibakimenet használhatatlanná tétele meghiúsult" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "bemenet figyelmen kívül hagyása" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" "bemenet figyelmen kívül hagyása és kimenet hozzáfűzése a következÅ‘höz: %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "kimenet hozzáfűzése a következÅ‘höz: %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "a szabványos hibakimenet másolatának beállítása meghiúsult „bezárás\n" "végrehajtáskor†módra" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "bemenet figyelmen kívül hagyása és a szabványos hibakimenet átirányítása\n" "a szabványos kimenetre" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "a szabványos hibakimenet átirányítása a szabványos kimenetre" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "a szabványos hibakimenet átirányítása meghiúsult" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Használat: %s [KAPCSOLÓ]…\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Az aktuális folyamat által elérhetÅ‘ feldolgozóegységek számának kiírása\n" "ez kisebb lehet az elérhetÅ‘ processzorok számánál\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all a beépített processzorok számának kiírása\n" " --ignore=N ha lehetséges, N feldolgozóegység figyelmen kívül hagyása\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: érvénytelen figyelmen kívül hagyandó szám" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: az érték átalakítása nem teljes" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "érvénytelen szám: %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "érvénytelen utótag a(z) %s%s argumentumban: „%sâ€" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s megnyitása írásra meghiúsult" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "érvénytelen tabulátorméret: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓ]…\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict a --check kapcsolóval: nem nulla értékkel lép ki " "minden\n" " érvénytelen bemenet esetén\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Egyéb kapcsolók:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "a formátum (%s) nem tartalmaz %% direktívát" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "érvénytelen dátumformátum: %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "a formátum (%s) vége %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "a formátum (%s) túl sok %% direktívát tartalmaz" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "érvénytelen utótag a(z) %s%s argumentumban: „%sâ€" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "érvénytelen oldaltartomány: %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "érvénytelen mezÅ‘szám: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "érvénytelen dátum: %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "a fájloperandusok nem kombinálhatók a --files0-from kapcsolóval" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "a fájloperandusok nem kombinálhatók a --files0-from kapcsolóval" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "több -i kapcsolót adott meg" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "a fájloperandusok nem kombinálhatók a --files0-from kapcsolóval" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "hiba %s olvasása közben" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "a szabványos hibakimenet használhatatlanná tétele meghiúsult" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [FÃJL]…\n" " vagy: %s [-abcdfilosx]… [FÃJL] [[+]ELTOLÃS[.][b]]\n" " vagy: %s --traditional [KAPCSOLÓ]… [FÃJL] [[+]ELTOLÃS[.][b]\n" " [+][CÃMKE][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "A FÃJL egy egyértelmű ábrázolásának kiírása, alapértelmezetten oktális\n" "bájtokkal, a szabványos kimenetre. Több FÃJL argumentumot összefűz a " "felsorolás\n" "sorrendjében a bemenet kialakítása érdekében.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Az elsÅ‘ és második hívási alak egyidejű alkalmazása esetén a második alak\n" "feltételezett, ha az utolsó operandus +-al vagy (2 operandus esetén) " "számmal\n" "kezdÅ‘dik. Az ELTOLÃS operandus a -j ELTOLÃS kapcsolót jelenti. A CÃMKE az " "elsÅ‘\n" "kiírandó bájt pszeudo-címe, amely a kiíratás elÅ‘rehaladásával növekszik. Az\n" "ELTOLÃS és a CÃMKE esetén egy 0x vagy 0X elÅ‘tag hexadecimális ábrázolást " "jelez;\n" "az utótagok a . (oktális) és b (szorzás 512-vel) lehetnek.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=ALAP a fájleltolások kiírási módjának eldöntése\n" " -j, --skip-bytes=BÃJT BÃJT darab bemeneti bájt kihagyása elÅ‘ször\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BÃJT a kiíratás korlátozása BÃJT darab bemeneti " "bájtra\n" " -S, --strings[=BÃJT] a legalább BÃJT darab grafikus karakterbÅ‘l " "álló\n" " karakterláncok kiírása\n" " -t, --format=TÃPUS a kimeneti formátumok kiválasztása\n" " -v, --output-duplicates ne használja a * jelet a sorelnyomások " "jelölésére\n" " -w, --width[=BÃJT] BÃJT darab bájt kiírása kimeneti soronként\n" " --traditional argumentumok elfogadása a hagyományos " "formában\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "A hagyományos formátummeghatározások keverhetÅ‘k, az alábbiak lehetnek:\n" " -a ugyanaz, mint -t a, megnevezett karakterek kiválasztása, a magas\n" " sorrend bit figyelmen kívül hagyása\n" " -b ugyanaz, mint -t o1, oktális bájtok kiválasztása\n" " -c ugyanaz, mint -t c, ASCII karakterek vagy visszaper escape-ek\n" " kiválasztása\n" " -d ugyanaz, mint -t u2, elÅ‘jel nélküli tízes alapú 2 bájtos egységek\n" " kiválasztása\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f ugyanaz, mint -t fF, lebegÅ‘pontosak kiválasztása\n" " -i ugyanaz, mint -t dI, decimális egészek kiválasztása\n" " -l ugyanaz, mint -t dL, decimális hosszúak kiválasztása\n" " -o ugyanaz, mint -t o2, oktális 2 bájtos egységek kiválasztása\n" " -s ugyanaz, mint -t d2, tízes alapú 2 bájtos egységek kiválasztása\n" " -x ugyanaz, mint -t x2, hexadecimális 2 bájtos egységek kiválasztása\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "A TÃPUST az alábbi specifikációk közül néhány alkothatja:\n" "\n" " a megnevezett karakter, a magas sorrend bit figyelmen kívül " "hagyása\n" " c ASCII karakter vagy visszaper escape\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[MÉRET] elÅ‘jeles decimális, MÉRET bájt egészenként\n" " f[MÉRET] lebegÅ‘pontos, MÉRET bájt egészenként\n" " o[MÉRET] oktális, MÉRET bájt egészenként\n" " u[MÉRET] elÅ‘jel nélküli decimális, MÉRET bájt egészenként\n" " x[MÉRET] hexadecimális, MÉRET bájt egészenként\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "A MÉRET egy szám. For TYPE in doux, a MÉRET lehet C a\n" "sizeof(char), S a sizeof(short), I a sizeof(int) vagy L a\n" "sizeof(long) értékekhez. Ha a TÃPUS f, akkor a MÉRET szintén lehet F a\n" "sizeof(float), D a sizeof(double) vagy L a sizeof(long double) értékéhez.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "A K a következÅ‘ szorzó-utótagokkal rendelkezhet:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "érvénytelen típus-karakterlánc: %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "érvénytelen típus-karakterlánc: %s\n" "ez a rendszer nem biztosít %lu bájtos egész típust" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "érvénytelen típus-karakterlánc: %s\n" "ez a rendszer nem biztosít %lu bájtos lebegÅ‘pontos típust" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "a(z) %c karakter érvénytelen a(z) %s típus-karakterláncban" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "nem lehet a kombinált bemenet elhagyott végére ugrani" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "„%c†érvénytelen kimeneti cím alap; a [doxn] karakterek egyikének kell " "lennie" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "nem adható meg típus karakterláncok kiíratásakor" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "a kompatibilitási mód legfeljebb egy fájlt támogat" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "a kihagyandó és beolvasandó bájtok összege túl nagy" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" "figyelmeztetés: %lu szélesség érvénytelen, helyette %d kerül felhasználásra" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: érvénytelen szignál" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "a szabványos bemenet le van zárva" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Az egyes FÃJLOK sorozatban megfelelÅ‘ soraiból álló sorok kiírása a\n" "szabványos kimenetre, tabokkal elválasztva.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTA a LISTA karaktereinek újrafelhasználása tabok\n" " helyett\n" " -s, --serial egyszerre egy fájl beillesztése párhuzamos\n" " feldolgozás helyett\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "az elválasztólista nem escapelt visszaperre végzÅ‘dik: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Érvénytelen vagy hordozhatatlan fájlnevek felismerése.\n" "\n" " -p a legtöbb POSIX rendszer ellenÅ‘rzése\n" " -P üres nevek és a kezdÅ‘ „-†ellenÅ‘rzése\n" " --portability az összes POSIX rendszer ellenÅ‘rzése (azonos a -p -P-" "vel)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "kezdÅ‘ „-†jel a(z) %s fájlnév összetevÅ‘jében" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "nem hordozható karakter (%s) a(z) %s fájlnévben" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "üres fájlnév" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: a maximális fájlnévhossz nem határozható meg" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "a(z) %1$lu korlát átlépve a(z) %3$s fájlnév %2$lu hossza által" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "a(z) %1$lu korlát átlépve a(z) %3$s fájlnévösszetevÅ‘ %2$lu hossza által" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Bejelentkezési név: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Valójában: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Könyvtár: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "ParancsértelmezÅ‘: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Terv:\n" #: src/pinky.c:405 msgid "Login" msgstr "Bejel." #: src/pinky.c:407 msgid "Name" msgstr "Név" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Üresj." #: src/pinky.c:411 msgid "When" msgstr "Mikor" #: src/pinky.c:414 msgid "Where" msgstr "Hol" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓ]…\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l hosszú formátumú kimenet előállítása a megadott\n" " FELHASZNÃLÓKHOZ\n" " -b a felhasználó saját könyvtárának és parancsértelmezÅ‘jének\n" " kihagyása a hosszú formátumból\n" " -h a felhasználó projektfájljának kihagyása a hosszú\n" " formátumból\n" " -p a felhasználó tervfájljának kihagyása a hosszú " "formátumból\n" " -s rövid formátumú kimenet előállítása, ez az " "alapértelmezett\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f az oszlopfejlécek sorának kihagyása a rövid formátumban\n" " -w a felhasználó teljes nevének kihagyása a rövid " "formátumban\n" " -i a felhasználó teljes nevének és távoli kiszolgálójának\n" " kihagyása a rövid formátumban\n" " -q a felhasználó teljes nevének, távoli kiszolgálójának és\n" " üresjárati idejének kihagyása a rövid formátumban\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Egy könnyűsúlyú „finger†program, felhasználói információkat ír ki.\n" "Az utmp fájl a következÅ‘ lesz: %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "nincs megadva felhasználói név; legalább egyet meg kell adni\n" "a -l használatakor" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "„--pages=ELSÅ_OLDAL[:UTOLSÓ_OLDAL]†hiányzó argumentum" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "érvénytelen oldaltartomány: %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "„-l OLDALHOSSZ†érvénytelen sorszám: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "„-N SZÃM†érvénytelen kezdÅ‘ sorszám: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "„-o MARGrvénytelen soreltolás: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "„-w OLDAL_SZÉLESSÉG†érvénytelen karakterszám: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "„-W OLDAL_SZÉLESSÉG†érvénytelen karakterszám: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "nem adható meg az oszlopok száma párhuzamos nyomtatás esetén" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "nem adható meg mind a vízszintes, mind a párhuzamos nyomtatás" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" "„-%c†extra karakterek vagy érvénytelen szám a következÅ‘ argumentumban:\n" "%s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "az oldalszélesség túl keskeny" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "a(z) %<PRIuMAX> kezdÅ‘ oldalszám meghaladja a(z) %<PRIuMAX> oldalszámot" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "oldalszám-túlcsordulás" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "%<PRIuMAX>. oldal" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "A FÃJLOK oldalakra tördelése vagy oszlopokba rendezése\n" "nyomtatáshoz.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ELSÅ_OLDAL[:UTOLSÓ_OLDAL], --pages=ELSÅ_OLDAL[:UTOLSÓ_OLDAL]\n" " a nyomtatás elkezdése [befejezése] az ELSÅ_[UTOLSÓ]" "_OLDALON\n" " -OSZLOP, --columns=OSZLOP\n" " OSZLOP darab oszlop előállítása és az oszlopok " "nyomtatása,\n" " lefelé, hacsak a -a nincs megadva. A sorok számának\n" " kiegyensúlyozása az oszlopokban minden egyes oldalon.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across oszlopok kiírása vízszintesen és nem függÅ‘legesen, a\n" " -OSZLOP kapcsolóval együtt használatos\n" " -c, --show-control-chars\n" " kalapos (^G) és oktális visszaper jelölés használata\n" " -d, --double-space\n" " a kimenet dupla kitöltése\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMÃTUM\n" " a FORMÃTUM használata a fejléc dátumához\n" " -e[KAR[SZÉLESSÉG], --expand-tabs[=KAR[SZÉLESSÉG]]\n" " a bemeneti KARAKTEREK (TAB-ok) kiterjesztése a tab\n" " SZÉLESSÉGÉRE (8)\n" " -F, -f, --form-feed\n" " lapdobások használata új sorok helyett az oldalak\n" " elválasztására\n" " (egy 3 soros oldalfejléccel a -F vagy egy 5 soros\n" " fejléccel és bevezetÅ‘vel az -F nélkül)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=FEJLÉC\n" " egy középre igazított FEJLÉC használata a fájlnév " "helyett\n" " az oldalfejlécben, a -h \"\" egy üres sort nyomtat, ne\n" " használja a -h\"\" kapcsolót\n" " -i[KAR[SZÉLESSÉG], --output-tabs[=KAR[SZÉLESSÉG]]\n" " a szóközök cseréje KARAKTEREKRE (TAB-okra) a tab\n" " SZÉLESSÉGÉIG (8)\n" " -J, --join-lines teljes sorok összefésülése, kikapcsolja a -W " "sorcsonkítást,\n" " nincs oszlopigazítás, a --sep-string[=KARAKTERLÃNC]\n" " beállítja az elválasztókat\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=OLDALHOSSZ\n" " beállítja az oldalhosszúságot OLDALHOSSZ (66) sorra\n" " (a szövegsorok alapértelmezett száma 56, és a -F esetén " "63)\n" " -m, --merge az összes fájl párhuzamos nyomtatása, egyet minden\n" " oszlopba, a sorokat csonkítja, de a teljes hosszúságú\n" " sorokat a -J használatakor összekapcsolja\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[ELV[SZÃMJEGYEK]], --number-lines[=ELV[SZÃMJEGYEK]]\n" " sorok számozása, SZÃMJEGYEK (5) darab számjegy, majd az\n" " ELVÃLASZTÓ (TAB) használatával, a számolás\n" " alapértelmezésben a bemeneti fájl elsÅ‘ sorával " "kezdÅ‘dik.\n" " -N NUMBER, --first-line-number=SZÃM\n" " a számolás kezdése a SZÃMMAL az elsÅ‘ kinyomtatott oldal\n" " elsÅ‘ sorában (lásd +ELSÅ_OLDAL)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGÓ\n" " minden egyes sor eltolása MARGÓ (nulla) szóközzel, " "nincs\n" " hatással a -w vagy -W kapcsolókra, a MARGÓ az\n" " OLDAL_SZÉLESSÉGHEZ lesz hozzáadva.\n" " -r, --no-file-warnings\n" " figyelmeztetés kihagyása, ha egy fájl nem nyitható meg\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[KARAKTER],--separator[=KARAKTER]\n" " az oszlopok elválasztása egyetlen KARAKTERREL, az\n" " alapértelmezés a <TAB> karakter a -w nélkül és „semmiâ€\n" " a -w esetén. A -s[KARAKTER] kikapcsolja a sorcsonkítást\n" " mind a 3 oszlopkapcsolóhoz (-OSZLOP|-a -OSZLOP|-m), " "kivéve\n" " ha a -w be van állítva\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SKARAKTERLÃNC, --sep-string[=KARAKTERLÃNC]\n" " az oszlopok elválasztása a KARAKTERLÃNCCAL,\n" " a -S nélkül: az alapértelmezett elválasztó a <TAB> a -J\n" " kapcsolóval és <szóköz> egyébként (ugyanaz, mint a -S\" " "\")\n" " nincs hatással az oszlopkapcsolókra\n" " -t, --omit-header oldalfejlécek és befejezÅ‘k kihagyása\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " oldalfejlécek és befejezÅ‘k kihagyása, a bemeneti " "fájlokban\n" " található lapdobások által beállított oldalakra " "tördelés\n" " megszüntetése\n" " -v, --show-nonprinting\n" " oktális visszaper jelölés használata\n" " -w, --width=OLDAL_SZÉLESSÉG\n" " az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72)\n" " karakterre, csak több szöveges oszlopot tartalmazó\n" " kimenethez, az s[karakter] kikapcsolja (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=OLDAL_SZÉLESSÉG\n" " az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72)\n" " karakterre mindig, a sorok csonkítása, kivéve ha a -J\n" " kapcsoló be van állítva, nincs interferencia a -S vagy -" "s\n" " kapcsolókkal\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "A -t következik, ha az OLDALHOSSZ <= 10. Ha a FÃJL nincs megadva, vagy -, " "akkor a szabványos bemenetet olvassa.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [VÃLTOZÓ]…\n" "A megadott környezeti VÃLTOZÓK értékeinek kiírása.\n" "Ha nincs megadva környezeti VÃLTOZÓ, akkor az összes név-érték párt kiírja.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null a sorok lezárása a 0 bájttal új sor helyett\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "figyelmeztetés: %s: a karakteres állandót követÅ‘ karakterek \n" "figyelmen kívül maradtak" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s FORMÃTUM [ARGUMENTUM]…\n" " vagy: %s KAPCSOLÓ\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Az ARGUMENTUMOK kiírása a FORMÃTUMNAK megfelelÅ‘en vagy végrehajtásuk a\n" "KAPCSOLÓNAK megfelelÅ‘en:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "A FORMÃTUM vezérli a kimenetet, mint a C printf(). Az értelmezett " "sorozatok:\n" "\n" " \\†dupla idézÅ‘jel\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN az NNN oktális értékű karakter (1 - 3 számjegy)\n" " \\xHH a HH hexadecimális értékű bájt (1 - 2 számjegy)\n" " \\uHHHH a HHHH hexadecimális értékű Unicode (ISO/IEC 10646) karakter\n" " (4 számjegy)\n" " \\UHHHHHHHH a HHHHHHHH hexadecimális értékű Unicode karakter (8 " "számjegy)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% egy % jel\n" " %b az ARGUMENTUM a „\\†escape-jelölések értelmezésével,\n" " kivéve a \\0 vagy \\0NNN formátumú oktális escape-eket\n" "\n" "valamint minden, a diouxXfeEgGcs egyikére végzÅ‘dÅ‘ C formátumspecifikáció\n" "az ARGUMENTUMOK megfelelÅ‘ típusra alakítása után. A változó szélességeket\n" "kezeli a program.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: a várt érték numerikus" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: az érték átalakítása nem teljes" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "hiányzó hexadecimális érték az escape-ben" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "érvénytelen univerzális karakternév: \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "érvénytelen mezÅ‘szélesség: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "érvénytelen pontosság: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: érvénytelen konverziós specifikáció" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" "figyelmeztetés: a többletargumentumok figyelmen kívül maradnak,\n" " a következÅ‘tÅ‘l kezdve: %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (a(z) %s regexphez)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [BEMENET]… (-G nélkül)\n" " vagy: %s -G [KAPCSOLÓ]… [BEMENET [KIMENET]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "A bemeneti fájlok szavai permutált indexének kiírása a kontextust is " "beleértve.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference automatikusan előállított hivatkozások " "kiírása\n" " -G, --traditional a System V „ptxâ€-hez hasonló viselkedés\n" " -F, --flag-truncation=KARAKTERLÃNC a KARAKTERLÃNC használata a\n" " sorcsonkítások jelölésére\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=KARAKTERLÃNC a használandó makrónév az „xx†helyett\n" " -O, --format=roff a kimenet előállítása roff irányelvekként\n" " -R, --right-side-refs hivatkozások jobb oldalra helyezése, a -w\n" " nem számolja Å‘ket\n" " -S, --sentence-regexp=REGEXP sorok vagy mondatok végéhez\n" " -T, --format=tex a kimenet előállítása TeX irányelvekként\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP a REGEXP használata minden egyes kulcsszó \n" " -b, --break-file=FÃJL szótörÅ‘ karakterek ebben a FÃJLBAN\n" " -f, --ignore-case kisbetűk nagybetűkké alakítása a " "rendezéshez\n" " -g, --gap-size=SZÃM rés mérete oszlopokban a kimeneti mezÅ‘k " "között\n" " -i, --ignore-file=FÃJL figyelmen kívül hagyandó szavak listájának\n" " olvasása a FÃJLBÓL\n" " -o, --only-file=FÃJL az egyedüli szólista olvasása ebbÅ‘l a " "FÃJLBÓL\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references minden egyes sor elsÅ‘ mezÅ‘je egy " "hivatkozás\n" " -t, --typeset-mode - nincs megvalósítva -\n" " -w, --width=SZÃM a kimenet szélessége oszlopokban, a \n" " hivatkozások kihagyásával\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "A „-F /†az alapértelmezés.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "érvénytelen résszélesség: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Az aktuális munkakönyvtár teljes fájlnevének kiírása.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical a környezet PWD-jének használata, még ha szimbolikus\n" " linkeket is tartalmaz\n" " -P, --physical minden szimbolikus link elkerülése\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "a következÅ‘ könyvtárba lépés meghiúsult: %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "%s elérése meghiúsult" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "nem található megegyezÅ‘ i-node-dal rendelkezÅ‘ könyvtárbejegyzés a " "következÅ‘ben:\n" "%s" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "a nem kapcsoló argumentumok figyelmen kívül hagyva" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Használat: %s [KAPCSOLÓ]… FÃJL…\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Egy szimbolikus link vagy kanonikus fájlnév értékének megjelenítése\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize egyszerűsítés minden szimbolikus link " "rekurzív\n" " követésével az adott név minden " "összetevÅ‘jében,\n" " az utolsó kivételével minden összetevÅ‘nek\n" " léteznie kell\n" " -e, --canonicalize-existing egyszerűsítés minden szimbolikus link " "rekurzív\n" " követésével az adott név minden " "összetevÅ‘jében,\n" " minden összetevÅ‘nek léteznie kell\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing egyszerűsítés minden szimbolikus link " "rekurzív\n" " követésével az adott név minden " "összetevÅ‘jében,\n" " az összetevÅ‘k létezésére tekintet nélkül\n" " -n, --no-newline ne írja ki a záró új sort\n" " -q, --quiet,\n" " -s, --silent megszünteti a legtöbb hibaüzenetet\n" " -v, --verbose hibaüzenetek kiírása\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "a nem kapcsoló argumentumok figyelmen kívül hagyva" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "A feloldott abszolút fájlnév kiírása\n" "az utolsó összetevÅ‘ kivételével mindnek léteznie kell\n" "\n" #: src/realpath.c:77 #, fuzzy msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing az útvonal minden összetevÅ‘jének léteznie " "kell\n" " -m, --canonicalize-missing az útvonal egyik összetevÅ‘jének sem kell " "léteznie\n" " -L, --logical a „..†összetevÅ‘k feloldása a szimlinkek " "elÅ‘tt\n" " -P, --physical szimlinkek feloldása ahogy megtalálja azokat\n" " (alapértelmezett)\n" " -q, --quiet legtöbb hibaüzenet kikapcsolása\n" " --relative-to=FÃJL a feloldott útvonal kiírása a FÃJLHOZ képest\n" " --relative-base=FÃJL abszolút útvonalak kiírása, kivéve a FÃJL " "alatti\n" " útvonalakat\n" " -s, --strip, --no-symlinks ne bontsa ki a szimlinkeket\n" " -z, --zero a kimenet elválasztása új sor helyett NULL-" "lal\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: belép a(z) %s írásvédett könyvtárba? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: belép a(z) %s könyvtárba? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%1$s: eltávolítja az írásvédett %3$s nevű, „%2$s†típusú elemet? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%1$s: eltávolítja a(z) %3$s nevű, „%2$s†típusú elemet? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "%s könyvtár törölve\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "nem törölhetÅ‘ a következÅ‘ könyvtár: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "%s kihagyása, mivel másik eszközön van" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "a bejárás meghiúsult: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "váratlan hiba: fts_info=%d: %s\n" "jelentse a következÅ‘ címen: %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Próbálja kiadni a(z) „%s ./%s†parancsot a(z) %s eltávolításához.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "A FÃJLOK eltávolítása (unlink).\n" "\n" " -f, --force nem létezÅ‘ fájlok figyelmen kívül hagyása, nem " "kérdez\n" " -i kérdés minden eltávolítás elÅ‘tt\n" # rc/rm.c:166 #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I egyszer kérdez háromnál több fájl eltávolításakor\n" " vagy rekurzív törlés esetén. Nem olyan zavaró, " "mint a\n" " -i, de a legtöbb hiba ellen véd\n" " --interactive[=MIKOR] a MIKOR-nak megfelelÅ‘en kérdez: never (soha), " "once\n" " (egyszer, mint a -I), vagy always (mindig, " "mint\n" " a -i). A MIKOR megadása nélkül mindig kérdez\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system könyvtárszerkezet rekurzív törlésekor minden olyan\n" " könyvtár kihagyása, amely a megfelelÅ‘ parancssori\n" " kapcsoló ban megadottól eltérÅ‘ fájlrendszeren van\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root ne kezelje a „/†könyvtárat különlegesen\n" " (alapértelmezett)\n" " --preserve-root a rekurzív működés visszautasítása a „/†könyvtáron\n" " -r, -R, --recursive könyvtárak és tartalmuk rekurzív törlése\n" " -v, --verbose elmagyarázza, mi történik\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Alapértelmezésben az rm nem töröl könyvtárakat. A --recursive (-r vagy -R)\n" "használatával minden egyes felsorolt könyvtár és azok tartalma is " "törölhetÅ‘.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Ha „-†jellel kezdÅ‘dik a törlendÅ‘ fájl, például „-fooâ€, akkor\n" "használja a következÅ‘ parancsok egyikét:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Megjegyzés: az rm paranccsal törölt fájl tartalma megfelelÅ‘ tapasztalat és/" "vagy\n" "idÅ‘ esetén visszaállítható. A tartalom biztosabb végleges törléséhez " "fontolja\n" "meg a shred parancs használatát.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: rekurzívan eltávolítja az összes argumentumot? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: eltávolítja az összes argumentumot? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "%s könyvtár törlése" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "a(z) %s könyvtár eltávolítása meghiúsult" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Törli a KÖNYVTÃRAKAT, ha ezek üresek.\n" "\n" " --ignore-fail-on-non-empty\n" " figyelmen kívül hagyja a hibákat, amelyek egyetlen\n" " oka, hogy a könyvtár nem üres\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents törli a KÖNYVTÃRAT és szülÅ‘könyvtárait.\n" " Például, az „rmdir -p a/b/c†ugyanaz, mint\n" " az „rmdir a/b/c a/b aâ€.\n" " -v, --verbose minden feldolgozott könyvtár után diagnosztikai üzenetet " "ír ki\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "%s eltávolítása meghiúsult" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Használat: %s KONTEXTUS PARANCS [argumentumok]\n" " vagy: %s [ -c ] [-u FELHASZNÃLÓ] [-r SZEREP] [-t TÃPUS] [-l TARTOMÃNY]\n" " PARANCS [argumentumok]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Egy program futtatása másik biztonsági kontextusban.\n" "Ha sem a KONTEXTUS, sem a PARANCS nincs megadva, akkor kiírja a jelenlegi\n" "biztonsági kontextust.\n" "\n" " KONTEXTUS Teljes biztonsági kontextus\n" " -c, --compute folyamatátmeneti kontextus kiszámítása a módosítás " "elÅ‘tt\n" " -t, --type=TÃPUS típus (a szülÅ‘vel egyezÅ‘ szerephez)\n" " -u, --user=FELHASZNÃLÓ felhasználói személyazonosság\n" " -r, --role=SZEREP szerep\n" " -l, --range=TARTOMÃNY szinttartomány\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "több szerep" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "több típus" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "több felhasználó" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "több szinttartomány" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "a jelenlegi kontextus lekérése meghiúsult" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "meg kell adnia a -c, -t, -u, -l, -r egyikét vagy a kontextust" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "nincs megadva parancs" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "a(z) %s csak SELinux rendszermagon használható" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "az új kontextus kiszámítása meghiúsult" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "%s új felhasználó beállítása meghiúsult" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "%s új típus beállítása meghiúsult" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "%s új tartomány beállítása meghiúsult" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "%s új szerep beállítása meghiúsult" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "%s biztonsági kontextus nem állítható be" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Használat: %s [KAPCSOLÓ]… UTOLSÓ\n" " vagy: %s [KAPCSOLÓ]… ELSÅ UTOLSÓ\n" " vagy: %s [KAPCSOLÓ]… ELSÅ NÖVEKMÉNY UTOLSÓ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Számok kiírása az ELSÅTÅL az UTOLSÓIG, NÖVEKMÉNY lépésenként.\n" "\n" " -f, --format=FORMÃTUM printf stílusú lebegÅ‘pontos FORMÃTUM használata\n" " -s, --separator=KARAKTERLÃNC a KARAKTERLÃNC használata a számok\n" " elválasztására (alapértelmezett: \\n)\n" " -w, --equal-width szélesség kiegyenlítése bevezetÅ‘ nullákkal való\n" " kitöltéssel.\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Ha az ELSÅ vagy a NÖVEKMÉNY nincs megadva, akkor az alapértelmezés 1.\n" "Ez azt jelenti, hogy a kihagyott NÖVEKMÉNY akkor is 1 lesz " "alapértelmezésben,\n" "ha az UTOLSÓ kisebb, mint az ELSÅ. Az ELSÅ, NÖVEKMÉNY és UTOLSÓ " "lebegÅ‘pontos\n" "értékekként kerülnek értelmezésre. A NÖVEKMÉNY általában pozitív, ha az " "ELSÅ\n" "kisebb, mint az UTOLSÓ, és általában negatív, ha az ELSÅ nagyobb, mint az \n" "UTOLSÓ.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "A FORMÃTUM argumentumnak alkalmasnak kell lennie egy duplapontos típusú\n" "argumentum nyomtatására; az alapértelmezés a %.PONTOSSÃGf, ha az ELSÅ,\n" "NÖVEKMÉNY és UTOLSÓ fixpontos decimális számok pontossága legfeljebb " "PONTOSSÃG,\n" "ellenkezÅ‘ esetben %g\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "érvénytelen lebegÅ‘pontos argumentum: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "a formátum (%s) ismeretlen %%%c direktívát tartalmaz" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "a formátum-karakterlánc nem használható egyenlÅ‘ szélességű\n" "karakterláncok kiírásakor" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Használat: %s [RÖVID KAPCSOLÓ]… FELHASZNÃLÓ PARANCS [ARGUMENTUM]…\n" " vagy: %s HOSSZÚ KAPCSOLÓ\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Minden kiegészítÅ‘ csoport eldobása, a megadott FELHASZNÃLÓNÉV felhasználó- " "és\n" "csoportazonosítójának felvétele és a PARANCS futtatása a megadott\n" "ARGUMENTUMOKKAL. 111-es állapottal lép ki, ha a szükséges UID és GID nem\n" "vehetÅ‘ fel. Egyébként a PARANCS kilépési állapotával tér vissza.\n" "Ez a program csak akkor hasznos, ha a root (0 felhasználói azonosító) " "futtatja.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1…] az elsÅ‘dleges csoportazonosító beállítása a numerikus GID-" "re\n" " és (ha meg van adva) akkor a kiegészítÅ‘ " "csoportazonosítók\n" " beállítása a GID1, … értékeire\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ismeretlen felhasználói azonosító: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "a(z) %s felhasználói azonosító használatához a -g kapcsolót is használnia " "kell" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "a kiegészítÅ‘ csoportok beállítása meghiúsult" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "a csoportazonosító nem állítható be a következÅ‘re: %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "a felhasználói azonosító nem állítható be a következÅ‘re: %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "A megadott FÃJLT többször egymás után felülírja, így még nagyon költséges\n" "hardver megoldásokkal sem lehet könnyen visszaállítani az adatokat.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force jogosultságok megváltoztatása, ha akadályozzák az írást\n" " -n, --iterations=N N-szer írja felül az alapértelmezett %d helyett\n" " --random-source=FÃJL véletlenszerű bájtok olvasása a FÃJLBÓL\n" " -s, --size=N ennyi bájt megsemmisítése (a k, M, G utótagok " "megengedettek)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove fájl csonkítása és törlése felülírás után\n" " -v, --verbose folyamat elÅ‘rehaladásának mutatása\n" " -x, --exact nem kerekíti fel a fájlméretet a következÅ‘ teljes blokkra\n" " ez az alapértelmezés nem szabályos fájlok esetén\n" " -z, --zero a végén nullákkal írja felül a fájlt, így álcázva a\n" " megsemmisítést\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Ha a FÃJL a -, akkor a szabványos kimenetet semmisíti meg\n" "\n" "Csak akkor törli a FÃJLOKAT, ha megadod a --remove (-u) kapcsolót.\n" "Alapértelmezésben nem törli a fájlokat, mert gyakran használatos\n" "eszközfájlokon (például /dev/hda), és ezeket a fájlokat általában nem kell\n" "törölni. Ãltalános fájlokon általában használni szokták a --remove " "kapcsolót.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "VIGYÃZAT: A shred működése egy fontos feltételezésen alapul:\n" "azon, hogy a fájlrendszer azonnal felülírja az adatokat. Ez a hagyományos\n" "eljárás, de sok korszerű fájlrendszer eltér ettÅ‘l. A következÅ‘ \n" "fájlrendszereken nem, vagy nem minden fájlrendszermód esetén garantált a " "shred\n" "hatásossága:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* naplózó fájlrendszerek, ilyen az AIX és a Solaris fájlrendszere (valamint\n" " a JFS, a ReiserFS, az XFS, az Ext3 stb.)\n" "\n" "* azon fájlrendszerek, amelyek redundánsan írják az adatokat és akkor is\n" " továbbhaladnak az írással, ha valamelyik írás sikertelen, ilyenek a\n" " RAID alapú fájlrendszerek.\n" "\n" "* pillanatfelvételeket alkalmazó fájlrendszerek, ilyen a Network Appliance\n" " NFS kiszolgálója\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* azon fájlrendszerek, amelyek gyorsítótárai átmeneti helyen találhatók,\n" " ilyen az NFS kliens 3-as verziója\n" "\n" "* tömörített fájlrendszerek\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Az ext3 fájlrendszerek esetén csak data=journal módban érvényes a fenti\n" "figyelmeztetés (és így a shred csak korlátozott hatékonyságú), amely a\n" "fájladatokat is naplózza a metaadatokon kívül. Mind a data=ordered\n" "(alapértelmezett) és data=writeback módokban a shred a szokásos módon " "működik.\n" "Az Ext3 naplózási módjai megváltoztathatók a data=valami kapcsoló " "felvételével\n" "egy adott fájlrendszer csatlakoztatási kapcsolói közé az /etc/fstab " "fájlban,\n" "ahogyan az a mount kézikönyvoldalában dokumentálva van (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Ezen kívül a törölni kívánt fájlnak lehetnek példányai " "fájlrendszermentésben\n" "vagy egy távoli tükörkiszolgálón. Ezek alapján vissza lehet állítani a\n" "megsemmisített fájlt.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: az fdatasync meghiúsult" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: az fsync meghiúsult" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: nem lehet visszacsévélni" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: %lu/%lu menet (%s)…" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: írási hiba a következÅ‘ eltolásnál: %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: az lseek meghiúsult" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: a fájl túl nagy" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: %lu/%lu menet (%s)…%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: %lu/%lu menet (%s)…%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: az elérés meghiúsult" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: érvénytelen fájltípus" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: a fájl mérete negatív" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: hiba a csonkításnál" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: az fcntl meghiúsult" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: nem lehet a megsemmisíteni a csak hozzáfűzésre megnyitott fájlleírót" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: törlés alatt" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: átnevezve a következÅ‘re: %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: az eltávolítás meghiúsult" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: törölve" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: a bezárás meghiúsult" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: az írásra megnyitás meghiúsult" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: érvénytelen menetszám" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "több véletlen forrás van megadva" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: érvénytelen fájlméret" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Használat: %s [KAPCSOLÓ]… [FÃJL]\n" " vagy: %s -e [KAPCSOLÓ]… [ARG]…\n" " vagy: %s -i LO-HI [KAPCSOLÓ]…\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "A bemeneti sorok véletlen permutációjának kiírása a szabványos kimenetre.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo minden egyes ARG bemeneti sorként való kezelése\n" " -i, --input-range=LO-HI a LO és HI közötti számok kezelése bemeneti " "sorként\n" " -n, --head-count=SZÃM legfeljebb SZÃM darab sor kiírása\n" " -o, --output=FÃJL az eredmény kiírása a FÃJLBA a szabványos " "kimenet\n" " helyett\n" " --random-source=FÃJL véletlen bájtok olvasása a FÃJLBÓL\n" " -z, --zero-terminated a sorok lezárása a 0 bájttal az új sor helyett\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "több -i kapcsolót adott meg" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "érvénytelen bemeneti tartomány: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "érvénytelen sorszám: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "több kimeneti fájl van megadva" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Használat: %s SZÃM[UTÓTAG]…\n" " vagy: %s KAPCSOLÓ\n" "Szünet SZÃM másodpercre. Az UTÓTAG lehet „s†a másodpercekhez,\n" "(alapértelmezett) „m†percekhez, „h†órákhoz vagy „d†napokhoz. A legtöbb\n" "megvalósítással ellentétben, amelyek megkövetelik a SZÃM egész voltát, itt " "a\n" "SZÃM egy tetszÅ‘leges lebegÅ‘pontos szám lehet. Két vagy több argumentum " "megadása esetén a szünet az értékeik összege által megadott idÅ‘tartamig " "tart\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "érvénytelen idÅ‘tartam: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "a valósidejű óra nem olvasható" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Az összes FÃJL rendezett konkatenációjának kiírása a szabványos kimenetre.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Rendezési lehetÅ‘ségek:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks kezdÅ‘ üreshelyek figyelmen kívül hagyása\n" " -d, --dictionary-order csak üres és alfanumerikus karakterek " "figyelembe\n" " vétele\n" " -f, --ignore-case kisbetűk nagybetűkké alakítása\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort összehasonlítás az általános számérték " "szerint\n" " -i, --ignore-nonprinting csak nyomtatható karakterek figyelembe vétele\n" " -M, --month-sort összehasonlítás: (ismeretlen) < „JAN†< … < " "„DECâ€\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort közérthetÅ‘ számok összehasonlítása (például:\n" " 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort karakterláncok számértéke szerinti\n" " összehasonlítás\n" " -R, --random-sort rendezés a kulcsok véletlen hashe szerint\n" " --random-source=FÃJL véletlen bájtok a FÃJLBÓL\n" " -r, --reverse az összehasonlítások eredményének " "megfordítása\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=SZÓ rendezés a SZÓ szerint:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort (verzió)számok természetes rendezése a " "szövegen\n" " belül\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Egyéb kapcsolók:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE egyszerre legfeljebb NMERGE bemenet " "összefésülése,\n" " többhöz használjon ideiglenes fájlokat\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\n" " a bemenet rendezettségének ellenÅ‘rzése; ne " "rendezzen\n" " -C, --check=quiet, --check=silent\n" " mint a -c, de nem jelenti az elsÅ‘ hibás sort\n" " --compress-program=PROG ideiglenes fájlok tömörítése a PROG,\n" " kibontása a PROG -d segítségével\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug a rendezésre használt sorszakasz jelzése, és\n" " figyelmeztetés a megkérdÅ‘jelezhetÅ‘ " "használatról a\n" " szabványos kimenetre\n" " --files0-from=F bemenet olvasása az F fájlban található, NULL-" "végű\n" " nevek által megadott fájlokból;\n" " Ha az F a -, akkor a szabványos bemenetrÅ‘l " "olvas\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KULCSDEF rendezés kulccsal; a KULCSDEF megadja a helyet " "és\n" " típust\n" " -m, --merge a már rendezett fájlok összefésülése; ne " "rendezzen\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FÃJL az eredmény írása a FÃJLBA a szabványos kimenet\n" " helyett\n" " -s, --stable a rendezés stabilizálása az utolsó " "újrarendezési\n" " összehasonlítás letiltásával\n" " -S, --buffer-size=MÉRET a MÉRET használata a fÅ‘ memóriapufferhez\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=ELV az ELV használata a nem üresrÅ‘l üresre áttérés\n" " helyett\n" " -T, --temporary-directory=KÖNYVTÃR\n" " a KÖNYVTÃR használata az átmeneti fájlokhoz a\n" " $TMPDIR vagy a(z) %s helyett;\n" " több kapcsolóval több könyvtár adható meg\n" " --parallel=N a párhuzamosan futó rendezések számának " "módosítása\n" " N-re\n" " -u, --unique a -c esetén szigorú rendezés ellenÅ‘rzése, a\n" " -c nélkül csak az elsÅ‘t írja ki egy egyenlÅ‘\n" " menetbÅ‘l\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated a sorok lezárása a 0 bájttal új sor helyett\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "A KULCSDEF M[.K][KAPCS][,M[.K][KAPCS]] alakú a kezdÅ‘ és befejezÅ‘ " "pozícióhoz,\n" "ahol az M a mezÅ‘ száma és a K a karakterpozíció a mezÅ‘ben, mindkettÅ‘ 1-rÅ‘l\n" "indul, és a befejezÅ‘ alapértelmezése a sor vége. Ha sem a -t, sem a -b " "kapcsoló\n" "nincs megadva, akkor a mezÅ‘ karakterei a megelÅ‘zÅ‘ üreshely karaktertÅ‘l " "lesznek\n" "számolva. A KAPCS néhány egybetűs rendezési kapcsoló lehet: [bdfgiMhnRrV],\n" "amelyek felülbírálják az adott kulcsra vonatkozó globális rendezési " "kapcsolókat.\n" "Ha nincs kulcs megadva, akkor a teljes sort használja kulcsként.\n" "\n" "A MÉRETET a következÅ‘ többszörözÅ‘ utótagok követhetik:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% a memóriából, b 1, K 1024 (alapértelmezett), és ugyanígy M, G, T, P, E, " "Z, Y\n" "\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" "*** FIGYELMEZTETÉS ***\n" "A környezet által megadott területi beállítások befolyásolják a rendezési\n" "sorrendet. Az LC_ALL=C beállításával megkapható a hagyományos rendezési\n" "sorrend, amely a natív bájtértékeket használja.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "várakozás a következÅ‘re: %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "A(z) %s [-d] váratlanul befejezÅ‘dött" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "nem hozható létre ideiglenes fájl itt: %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "a megnyitás meghiúsult" #: src/sort.c:970 msgid "fflush failed" msgstr "az fflush meghiúsult" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "a lezárás meghiúsult" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "a dup2 meghiúsult" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nem hajtható végre: %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "nem hozható létre ideiglenes fájl" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "nem hozható létre folyamat a következÅ‘höz: %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nem hajtható végre: %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "figyelmeztetés: a(z) %s nem távolítható el" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "érvénytelen --%s argumentum: %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "a minimális --%s argumentum: %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "a --%s %s argumentuma túl nagy" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "a minimális --%s argumentum a jelenlegi rlimittel: %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "a párhuzamos rendezések száma nem lehet nulla" #: src/sort.c:1494 msgid "stat failed" msgstr "az elérés meghiúsult" #: src/sort.c:1755 msgid "read failed" msgstr "az olvasás meghiúsult" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "a karakterlánc-átalakítás sikertelen" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "az átalakítatlan karakterlánc: %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ nincs illeszkedés a kulcsra\n" #: src/sort.c:2389 #, fuzzy, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "a használt „%s†kulcs elavult, használja inkább ezt: „%sâ€" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "a(z) %lu. kulcs nulla hosszú és figyelmen kívül marad" #: src/sort.c:2406 #, fuzzy, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "a kezdÅ‘ üres helyeknek jelentÅ‘ségük van a(z) %lu. kulcsban, adja meg a „bâ€-t " "is" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "a(z) %lu. kulcs numerikus és több mezÅ‘be is átnyúlik" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "a következÅ‘ kapcsoló figyelmen kívül marad: „-%sâ€" msgstr[1] "a következÅ‘ kapcsolók figyelmen kívül maradnak: „-%sâ€" #: src/sort.c:2457 #, fuzzy, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" "a „-r†kapcsoló csak az utolsó újrarendezéses összehasonlításra érvényes" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "az írás meghiúsult" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: rendezetlenség: " #: src/sort.c:2786 msgid "standard error" msgstr "szabványos hibakimenet" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: nem lehet visszacsévélni" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: érvénytelen mezÅ‘specifikáció: %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "a következÅ‘ kapcsolók inkompatibilisak: „-%sâ€" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: érvénytelen szám a(z) %s kezdetén" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "érvénytelen szám a „-†után" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "érvénytelen szám a „.†után" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "véletlen karakter a mezÅ‘specifikációban" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "több tömörítÅ‘program van megadva" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "érvénytelen szám a mezÅ‘ kezdeténél" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "a mezÅ‘szám nulla" #: src/sort.c:4392 msgid "character offset is zero" msgstr "karaktereltolás nulla" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "érvénytelen szám a „,†után" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "üres tab" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "nem olvashatók fájlnevek a következÅ‘bÅ‘l: %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: érvénytelen nulla hosszúságú fájlnév" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "nincs bemenet ebbÅ‘l: %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "%s rendezési szabályok használata" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "egyszerű bájtösszehasonlítás használata" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "a(z) %s extra operandus nem engedélyezett a -%c kapcsolóval" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "az utótag hossza legalább %zu kell legyen" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Használat: %s [KAPCSOLÓ]… [BEMENET [ELÅTAG]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "A BEMENET rögzített méretű darabjainak kiírása az ELÅTAGaa, ELÅTAGab, …;\n" "fájlokba, az alapértelmezett méret az 1000, és az alapértelmezett ELÅTAG az\n" "„xâ€. Ha a BEMENET nincs megadva, vagy -, akkor a szabványos bemenetet " "olvassa.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N N hosszúságú utótagok használata (alapértelmezett: " "%d)\n" " -b, --bytes=MÉRET MÉRET darab bájt kimeneti fájlonként\n" " -C, --line-bytes=MÉRET legfeljebb MÉRET darab bájt hosszú sorok kimeneti\n" " fájlonként\n" " -d, --numeric-suffixes numerikus utótagok használata alfabetikusok " "helyett\n" " -e, --elide-empty-files ne generáljon üres kimeneti fájlokat a „-nâ€-nel\n" " --filter=PARANCS írás a shell PARANCSBA, a fájlnév a $FÃJL\n" " -l, --lines=SZÃM SZÃM darab sor kimeneti fájlonként\n" " -n, --number=DARABOK DARABOK számú kimeneti fájl generálása. Lásd " "alább\n" " -u, --unbuffered bemenet azonnali kimenetre másolása a „-n r/...â€\n" " használatával\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose diagnosztikai üzenet kiírása minden egyes " "kimeneti\n" " fájl megnyitása elÅ‘tt\n" #: src/split.c:236 #, fuzzy msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "A DARABOK lehet:\n" "N N fájlra osztás a bemenet mérete alapján\n" "K/N Az N K. részének szabványos kimenetre írása\n" "l/N N fájlra osztás a sorok megosztása nélkül\n" "l/K/N Az N K. részének szabványos kimenetre írása, sorok megosztása " "nélkül\n" "r/N mint az „lâ€, de körbeforgó elosztás használatával\n" "r/K/N hasonló, de csak az N K. részének szabványos kimenetre írása\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "a kimenetifájl-utótagok elfogytak" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "%s fájl létrehozása\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "a FÃJL környezeti változó beállítása meghiúsult" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "végrehajtás a FÃJL=%s használatával\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "az adatcsatorna létrehozása meghiúsult" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "korábbi adatcsatorna bezárása" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "kimeneti adatcsatorna lezárása" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "bemeneti adatcsatorna mozgatása" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "bemeneti adatcsatorna lezárása" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "a parancs futtatása meghiúsult: „%s -c %sâ€" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "a bemeneti adatcsatorna bezárása meghiúsult" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "várakozás a gyermekfolyamatra" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "a FÃJL=%s mellett %s szignál ettÅ‘l a parancstól: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "a FÃJL=%s mellett %d kilépés ettÅ‘l a parancstól: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "ismeretlen állapot a parancstól (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "egynél több módon nem lehet darabolni" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: a darabok száma érvénytelen" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: érvénytelen darabszám" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: érvénytelen utótaghossz" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: érvénytelen bájtszám" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: érvénytelen sorszám" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "a -%s%c… sorszámolási kapcsoló túl nagy" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "érvénytelen kezdÅ‘sorszám: %s" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: érvénytelen IO-blokkméret" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" "a --filter nem dolgozza fel a kinyert adatdarabot a szabványos kimenetre" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: a fájlméret nem határozható meg" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "%s kanonikalizálása meghiúsult" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "figyelmeztetés: fel nem ismert védés „\\%câ€" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: érvénytelen direktíva" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "figyelmeztetés: fordított osztásjel a formátum végén" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "%s használata a szabványos bemenet jelzésére nem működik fájlrendszer módban" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "nem lehet fájlrendszer-információkat beolvasni a következÅ‘höz: %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "a szabványos bemenet nem érhetÅ‘ el" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fájl: „%nâ€\n" " ID: %-8i névhossz: %-7l típus: %T\n" "Blokkméret: %-10s alapvetÅ‘ blokkméret: %S\n" " Blokkok: összes: %-10b szabad: %-10f elérhetÅ‘: %a\n" " Inode-ok: összes: %-10c szabad: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fájl: %N\n" " Méret: %-10s\tblokkok: %-10b IO-blokk: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr " Eszköz: %Dh/%dd\tI-node: %-10i linkek: %-5h eszköztípus: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr " Eszköz: %Dh/%dd\tI-node: %-10i linkek: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Hozzáférés: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontextus: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Elérés: %x\n" "Módosítás: %y\n" " Változás: %z\n" " Születés: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Kijelzi a fájl vagy fájlrendszer állapotát.\n" "\n" " -L, --dereference kövesse a linkeket\n" " -f, --file-system a fájlrendszer, és nem a fájl állapotát jelzi ki\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMÃTUM a megadott FORMÃTUMOT használja az alapértelmezett " "helyett;\n" " minden FORMÃTUM után új sor\n" " --printf=FORMÃTUM mint a --format, de értelmezi a fordított " "osztásjeles,\n" " védelmet és nem tesz kötelezÅ‘en befejezÅ‘ új sort.\n" " Új sorhoz a FORMÃTUMBAN használja a \\n jelölést.\n" " -t, --terse információk kiírása tömör formátumban\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Az érvényes formátumsorozatok fájlokhoz: (a --file-system nélkül):\n" "\n" " %a hozzáférési jogok oktálisan\n" " %A hozzáférési jogok ember által olvasható formában\n" " %b a lefoglalt blokkok száma (lásd %B)\n" " %B a „%b†által jelentett egyes blokkok mérete bájtokban\n" " %C SELinux biztonsági kontextus karakterlánc\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d eszközszám decimálisan\n" " %D eszközszám hexadecimálisan\n" " %f nyers mód hexadecimálisan\n" " %F fájltípus\n" " %g a tulajdonos csoportazonosítója\n" " %G a tulajdonos csoportneve\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h hard linkek száma\n" " %i I-node szám\n" " %m csatolási pont\n" " %n fájlnév\n" " %N idézÅ‘jelek közé tett fájlnév, követéssel, ha szimbolikus link\n" " %o I/O blokkméret\n" " %s teljes méret, bájtokban\n" " %t major eszköztípus hexadecimálisan\n" " %T minor eszköztípus hexadecimálisan\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u a tulajdonos felhasználói azonosítója\n" " %U a tulajdonos felhasználóneve\n" " %w a fájl ember által olvasható születési ideje, - ha ismeretlen\n" " %W a fájl születési ideje az Epoch óta eltelt másodpercekként,\n" " 0 ha ismeretlen\n" " %x utolsó hozzáférés ember által olvasható ideje\n" " %X utolsó hozzáférés ideje az Epoch óta eltelt másodpercekként\n" " %y utolsó módosítás ember által olvasható ideje\n" " %Y utolsó módosítás ideje az Epoch óta eltelt másodpercekként\n" " %z utolsó változtatás ember által olvasható ideje\n" " %Z utolsó változtatás ideje az Epoch óta eltelt másodpercekként\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Az érvényes formátumsorozatok fájlrendszerekhez:\n" "\n" " %a a nem rendszergazda számára elérhetÅ‘ szabad blokkok\n" " %b adatblokkok összesen a fájlrendszeren\n" " %c fájlcsomópontok összesen a fájlrendszeren\n" " %d szabad fájlcsomópontok a fájlrendszeren\n" " %f szabad blokkok a fájlrendszeren\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i fájlrendszer-azonosító hexadecimálisan\n" " %l fájlnevek maximális hossza\n" " %n fájlnév\n" " %s blokkméret (gyorsabb átvitelekhez)\n" " %S alapvetÅ‘ blokkméret (blokkszámokhoz)\n" " %t fájlrendszer típusa hexadecimálisan\n" " %T fájlrendszer ember által olvasható formában\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Használat: %s KAPCSOLÓ… PARANCS\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "A PARANCS futtatása módosított pufferelési műveletekkel a szabványos " "adatfolyamaihoz.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MÓD Szabványos bemenet adatfolyam pufferelésének módosítása\n" " -o, --output=MÓD Szabványos kimenet adatfolyam pufferelésének módosítása\n" " -e, --error=MÓD Szabványos hibakimenet adatfolyam pufferelésének " "módosítása\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Ha a MÓD az „Lâ€, akkor a megfelelÅ‘ adatfolyam sorpufferelt lesz.\n" "Ez a beállítás érvénytelen a szabványos bemenettel.\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Ha a MÓD „0â€, akkor a megfelelÅ‘ adatfolyam nem lesz pufferelve.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Egyébként a MÓD egy szám, amelyet a következÅ‘k egyike követhet:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024 és ugyanígy G, T, P, E, Z, Y.\n" "Ebben az esetben a megfelelÅ‘ adatfolyam teljesen pufferelt lesz, MÓD bájt\n" "méretű puffer használatával.\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "MEGJEGYZÉS: Ha a PARANCS módosítja a szabványos adatfolyamai pufferelését\n" "(mint például a „teeâ€), akkor az felülbírálja az „stdbuf†által módosított\n" "megfelelÅ‘ beállításokat. Egyes szűrÅ‘k (mint a „dd†és „catâ€) nem használnak\n" "adatfolyamokat az I/O-hoz, így az „stdbuf†beállításai nem hatnak rájuk.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "%s keresése meghiúsult" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "a környezet frissítése meghiúsult a következÅ‘vel: %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "a szabványos bemenet sorpufferelése értelmetlen" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Használat: %s [-F ESZKÖZ | --file=ESZKÖZ] [BEÃLLÃTÃS]…\n" " vagy: %s [-F ESZKÖZ | --file=ESZKÖZ] [-a|--all]\n" " vagy: %s [-F ESZKÖZ | --file=ESZKÖZ] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "A terminál jellemzÅ‘inek kiírása vagy megváltoztatása.\n" "\n" " -a, --all az összes aktuális beállítás kiírása ember által " "olvasható\n" " formában.\n" " -g, --save az összes aktuális beállítás kiírása az stty által\n" " olvasható formában.\n" " -F, --file=ESZKÖZ a megadott ESZKÖZ használata a szabványos bemenet " "helyett\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "A BEÃLLÃTÃSOK elÅ‘tti elhagyható - tagadást jelöl. A * nem POSIX " "beállításokat\n" "jelöl. Az alapul szolgáló rendszer határozza meg az elérhetÅ‘ beállításokat.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Speciális karakterek:\n" " * dsusp KAR a KAR egy terminál leállítása szignált fog küldeni a " "bemenet\n" " kiürítésekor\n" " eof KAR a KAR egy fájl végét fog küldeni (a bemenet befejeztetése)\n" " eol KAR a KAR lezárja a sort\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 KAR alternatív KAR a sor lezárására\n" " erase KAR a KAR törli az utoljára beírt karaktert\n" " intr KAR a KAR egy megszakítási szignált fog küldeni\n" " kill KAR a KAR törli az aktuális sort\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext KAR a KAR hatására a következÅ‘ karakter idézÅ‘jelek között kerül\n" " bevitelre\n" " quit KAR a KAR egy kilépési szignált fog küldeni\n" " * rprnt KAR a KAR újrarajzolja az aktuális sort\n" " start KAR a KAR újraindítja a kimenetet annak leállítása után\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop KAR a KAR leállítja a kimenetet\n" " susp KAR a KAR egy terminál leállítása szignált küld\n" " * swtch KAR a KAR egy másik parancsértelmezÅ‘-rétegre fog váltani\n" " * werase KAR a KAR törli az utoljára begépelt szót\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Speciális beállítások:\n" " N beállítja a bemeneti és kimeneti sebességeket N baudra\n" " * cols N közli a kernellel, hogy a terminál N oszloppal rendelkezik\n" " * columns N ugyanaz, mint a cols N\n" # fixme line discipline??? #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N beállítja a bemeneti sebességet N-re\n" " * line N az N vonalmódszer használata\n" " min N az -icanon használatakor N karakteres minimumot állít be " "egy\n" " befejezett olvasáshoz\n" " ospeed N beállítja a kimeneti sebességet N-re\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N közli a kernellel, hogy a terminál N sorral rendelkezik\n" " * size kiírja a sorok és oszlopok számát a kernellel összhangban\n" " speed kiírja a terminál sebességét\n" " time N az -icanon használatakor beállítja az olvasási idÅ‘túllépést " "N\n" " tizedmásodpercre\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "VezérlÅ‘beállítások:\n" " [-]clocal modem vezérlÅ‘szignálok letiltása\n" " [-]cread engedélyezi a bemenet fogadását\n" " * [-]crtscts engedélyezi az RTS/CTS kézfogást\n" " csN beállítja a karakterméretet N bitre, N értéke [5..8] lehet\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb két stop bit használata karakterenként (egy, ha „-â€)\n" " [-]hup egy hangup szignál küldése amikor az utolsó folyamat " "lezárja\n" " a tty-t\n" " [-]hupcl ugyanaz, mint a [-]hup\n" " [-]parenb paritásbit előállítása a kimenetben és paritásbit\n" " feltételezése a bemenetben\n" " [-]parodd páratlan paritás beállítása (páros, ha „-â€)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Bemeneti beállítások:\n" " [-]brkint a sortörés megszakítás szignált okoz\n" " [-]icrnl a kocsivissza új sorrá fordítása\n" " [-]ignbrk sortörés karakterek figyelmen kívül hagyása\n" " [-]igncr kocsivissza figyelmen kívül hagyása\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar paritáshibás karakterek figyelmen kívül hagyása\n" " * [-]imaxbel hangjelzés és ne ürítse a teli bemeneti puffert karakter\n" " érkezésekor\n" " [-]inlcr új sor fordítása kocsivissza karakterré\n" " [-]inpck bemeneti paritás-ellenÅ‘rzés engedélyezése\n" " [-]istrip bemeneti karakterek magas (8.) bitjének törlése\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 a bemeneti karakterek UTF-8 kódolásának feltételezése\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc nagybetűs karakterek kisbetűssé alakítása\n" " * [-]ixany bármely karakter újrakezdheti a kimenetet, nem csak a " "start\n" " [-]ixoff start/stop karakterek küldésének engedélyezése\n" " [-]ixon XON/XOFF folyamvezérlés engedélyezése\n" " [-]parmrk paritáshibák jelölése (egy 255-0 karaktersorozattal)\n" " [-]tandem ugyanaz, mint a [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Kimeneti beállítások:\n" " * bsN a backspace késleltetési stílusa, N lehet [0..1]\n" " * crN a kocsivissza késleltetési stílusa, N lehet [0..3]\n" " * ffN lapdobás késleltetési stílusa, N lehet [0..1]\n" " * nlN új sor késleltetési stílusa, N lehet [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl a kocsivissza új sorrá fordítása\n" " * [-]ofdel delete karakterek használata kitöltéshez null karakterek\n" " helyett\n" " * [-]ofill kitöltÅ‘ karakterek használata idÅ‘zítés helyett a\n" " késleltetésekhez\n" " * [-]olcuc kisbetűs karakterek nagybetűssé alakítása\n" " * [-]onlcr új sor karakterek kocsivissza - új sorrá alakítása\n" " * [-]onlret az új sor kocsivisszát hajt végre\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ne írjon ki kocsivissza karaktereket az elsÅ‘ oszlopba\n" " [-]opost kimenet utófeldolgozása\n" " * tabN vízszintes tab késleltetési stílus, N lehet [0..3]\n" " * tabs ugyanaz, mint a tab0\n" " * -tabs ugyanaz, mint a tab3\n" " * vtN függÅ‘leges tab késleltetési stílus, N lehet [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Helyi beállítások:\n" " [-]crterase az erase karakterek visszaadása mint backspace-szóköz-" "backspace\n" " * crtkill az összes vonal kilövése az echoprt és echoe beállítások\n" " alkalmazásával\n" " * -crtkill az összes vonal kilövése az echoctl és echok beállítások\n" " alkalmazásával\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho vezérlÅ‘karakterek visszaadása kalapos jelöléssel („^câ€)\n" " [-]echo bemeneti karakterek visszaadása\n" " * [-]echoctl ugyanaz, mint a [-]ctlecho\n" " [-]echoe ugyanaz, mint a [-]crterase\n" " [-]echok új sor visszaadása egy kill karakter után\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke ugyanaz, mint a [-]crtkill\n" " [-]echonl új sor visszaadása akkor is, ha más karaktereket nem ad " "vissza\n" " * [-]echoprt törölt karakterek visszaadása visszafelé, „\\†és „/†" "között\n" " [-]icanon az erase, kill, werase és rprnt különleges karakterek\n" " bekapcsolása\n" " [-]iexten a nem POSIX különleges karakterek bekapcsolása\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig a interrupt, quit és suspend különleges karakterek\n" " bekapcsolása\n" " [-]noflsh az ürítés kikapcsolása az interrupt és quit különleges\n" " karakterek után\n" " * [-]prterase ugyanaz, mint a [-]echoprt\n" " * [-]tostop azon háttérfolyamatok leállítása, amelyek a terminálra\n" " próbálnak írni\n" " * [-]xcase az icanon használatakor escape-elés a „\\†karakterekkel\n" " nagybetűs karakterekhez\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinációs beállítások:\n" " * [-]LCASE ugyanaz, mint a [-]lcase\n" " cbreak ugyanaz, mint a -icanon\n" " -cbreak ugyanaz, mint az icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked ugyanaz, mint a brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof és eol karakterek beállítása az " "alapértelmezett\n" " értékeikre\n" " -cooked ugyanaz, mint a raw\n" " crt ugyanaz, mint az echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec ugyanaz, mint az echoe echoctl echoke -ixany intr ^c erase " "0177\n" " kill ^u\n" " * [-]decctlq ugyanaz, mint a [-]ixany\n" " ek erase és kill karakterek beállítása az alapértelmezett\n" " értékeikre\n" " evenp ugyanaz, mint a parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp ugyanaz, mint a -parenb cs8\n" " * [-]lcase ugyanaz, mint az xcase iuclc olcuc\n" " litout ugyanaz, mint a -parenb -istrip -opost cs8\n" " -litout ugyanaz, mint a parenb istrip opost cs7\n" " nl ugyanaz, mint az -icrnl -onlcr\n" " -nl ugyanaz, mint az icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp ugyanaz, mint a parenb parodd cs7\n" " -oddp ugyanaz, mint a -parenb cs8\n" " [-]parity ugyanaz, mint a [-]evenp\n" " pass8 ugyanaz, mint a -parenb -istrip cs8\n" " -pass8 ugyanaz, mint a parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw ugyanaz, mint az -ignbrk -brkint -ignpar -parmrk -inpck -" "istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw ugyanaz, mint a cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane ugyanaz, mint a cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, az összes " "különleges\n" " karakter beállítása az alapértelmezett értékeikre\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "A szabványos bemenetre kötött tty vonalat kezeli. Argumentumok nélkül " "kiírja\n" "a baud sebességet, vonalmódszert és az eltéréseket az stty sane " "beállítástól. A\n" "beállításokban a KAR literálisan lesz értelmezve, vagy kódolva mint a ^c, " "0x37,\n" "0177 vagy 127; a ^- vagy undef különleges értékek a különleges karakterek\n" "letiltására használatosak.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "csak egyetlen eszköz adható meg" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "a részletes és az stty-által olvasható kimeneti stílusok\n" "kapcsolói egymást kölcsönösen kizárják" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "egy kimeneti stílus megadásakor nem állíthatók be módok" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: nem állítható vissza a nem blokkoló mód" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "érvénytelen argumentum: %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "a(z) %s argumentuma hiányzik" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "érvénytelen vonalmódszer: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: nem hajtható végre az össze kért művelet" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: nincsenek méretinformációk ehhez az eszközhöz" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "érvénytelen egész argumentum: %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Minden egyes FÃJLHOZ ellenÅ‘rzőösszeg és blokkszámok kiírása.\n" "\n" " -r a BSD sum algoritmus és 1K blokkok használata\n" " -s, --sysv a System V sum algoritmus és 512 bájtos blokkok " "használata\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "A megváltozott blokkokat azonnal kiírja lemezre, frissíti a szuperblokkot\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "minden argumentum figyelmen kívül marad" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "MEGJEGYZÉS: a parancsértelmezÅ‘ rendelkezhet a(z) %s egy saját\n" "változatával, amely általában helyettesíti az itt leírt változatot. Az az " "által\n" "támogatott kapcsolókkal kapcsolatos részletekért forduljon a " "parancsértelmezÅ‘\n" "dokumentációjához.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help ezen súgó megjelenítése és kilépés\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version verzióinformációk megjelenítése és kilépés\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Ha egy hosszú kapcsolóhoz kötelezÅ‘ argumentumot megadni, akkor ez a \n" "megfelelÅ‘ rövid kapcsolónál is kötelezÅ‘.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "A MÉRET egy egész és elhagyható egység (például: 10M = 10*1024*1024). Az\n" "egységek K, M, G, T, P, E, Z, Y (1024 hatványai) vagy KB, MB, … (1000 " "hatványai)\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "A megjelenített értékek a --block-size és a %s_BLOCK_SIZE, BLOCK_SIZE és\n" "BLOCKSIZE környezeti változók elsÅ‘ elérhetÅ‘ MÉRET egységében vannak. " "EllenkezÅ‘\n" "esetben az egység alapértelmezése 1024 bájt (vagy 512, ha a POSIXLY_CORRECT\n" "változó be van állítva).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "A(z) %s hibái a(z) %s címen jelenthetÅ‘k.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "A(z) %s fordítási hibái a <http://translationproject.org/team/hu.html>\n" "címen jelenthetÅ‘k.\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "A teljes dokumentációért futtassa az „info coreutils %s hívás†parancsot\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "További információkért adja ki a(z) „%s --help†parancsot.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "FIGYELMEZTETÉS: körkörös könyvtárszerkezet.\n" "Ez majdnem biztosan azt jelenti, hogy a fájlrendszer sérült.\n" "ÉRTESÃTSD A RENDSZERGAZDÃT.\n" "A következÅ‘ könyvtár része a körnek:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Minden egyes FÃJL kiírása a szabványos kimenetre, az utolsó sorral kezdve.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before az elválasztó elé és nem utána kerül csatolásra\n" " -r, --regex az elválasztó értelmezése szabályos " "kifejezésként\n" " -s, --separator=KARAKTERLÃNC a KARAKTERLÃNC használata elválasztóként az\n" " új sor helyett\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: a keresés meghiúsult" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "a rekord túl nagy" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "nem hozható létre ideiglenes fájl itt: %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "%s megnyitása írásra meghiúsult" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "az adatfolyam visszaállítása meghiúsult erre: %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: íráshiba" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "%s megnyitása olvasásra meghiúsult" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "az elválasztó nem lehet üres" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Minden egyes FÃJL utolsó %d sorának kiírása a szabványos kimenetre.\n" "Több FÃJL esetén mindegyiket megelÅ‘zi egy fejléc, amely megadja a " "fájlnevet.\n" "Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K az utolsó K bájt kiírása, ehelyett használható a -" "c +K\n" " a bájtok kiíratására minden fájl K. bájtjától " "kezdve\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " a fájl növekedése során hozzáfűzött adatok " "kiírása;\n" " a -f, --follow és --follow=descriptor " "megegyeznek\n" " -F ugyanaz, mint a --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K az utolsó K sor kiírása az utolsó %d helyett\n" " vagy a +K segítségével a sorok a K.-tól\n" " kezdÅ‘dÅ‘en írathatók ki\n" " --max-unchanged-stats=N\n" " a --follow=name kapcsolóval újranyit egy FÃJLT,\n" " amely mérete nem változott N (alapértelmezett: " "%d)\n" " ismétlés után, annak kiderítése érdekében, hogy " "az\n" " törlésre vagy átnevezésre került-e (ez a " "megszokott\n" " eset forgatott naplófájlok esetén).\n" " Az inotify használatakor ez ritkán hasznos.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID a -f kapcsolóval, befejezÅ‘dik, ha a PID\n" " folyamatazonosító megszűnik\n" " -q, --quiet, --silent ne írja ki a fájlneveket megadó fejléceket\n" " --retry próbáljon megnyitni egy fájlt akkor is, ha az " "(már)\n" " nem érhetÅ‘ el; hasznos név szerinti követéskor\n" " azaz a --follow=name kapcsolóval\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N a -f kapcsolóval, aludjon körülbelül N " "másodpercig\n" " (alapértelmezett: 1.0) az ismétlések között\n" " Az inotify és a --pid=P használatakor a P " "folyamat\n" " ellenÅ‘rzése N másodpercenként legalább " "egyszer.\n" " -v, --verbose mindig írja ki a fájlneveket megadó fejléceket\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Ha a K (a bájtok vagy sorok száma) elsÅ‘ karaktere egy + jel, akkor a kiírás\n" "az egyes fájlok K. elemével kezdÅ‘dik, egyébként az utolsó N elemet írja ki.\n" "A K a következÅ‘ szorzó-utótagokkal rendelkezhet:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "A --follow (-f) kapcsolóval a tail alapértelmezésben a fájlleírót követi, " "ez\n" "azt jelenti, hogy a tail a fájl végét még a fájl átnevezése után is követi.\n" "Ez az alapértelmezett viselkedés nem fogadható el, ha valójában a fájlnevet\n" "és nem a fájlleírót akarja követni (például naplóforgatás esetén). Ebben az\n" "esetben használja a --follow=name kapcsolót. Ennek hatására a tail a " "megadott\n" "nevű fájlt úgy követi, hogy az átnevezést, eltávolítást és létrehozást " "kezelje.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s lezárása (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: nem lehet a(z) %s relatív eltolásra keresni" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: nem lehet a(z) %s befejezÅ‘ relatív eltolásra keresni" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "%s helye nem határozható meg, visszatérés a lekérdezésre" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "Ismeretlen fájlrendszertípus (0x%08lx) ehhez: %s. Jelentse be ezt a hibát " "itt: %s. Visszaállás a lekérdezésre." #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s elérhetetlenné vált" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s le lett cserélve egy követhetetlen fájlra;\n" "a program ezen a néven befejezi a próbálkozást" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s le lett cserélve egy távoli fájlra, a program ezen a néven befejezi a " "próbálkozást" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s elérhetÅ‘vé vált" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s megjelent; a program az új fájl végét követi" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s helyettesítésre került; a program az új fájl végét követi" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: nem módosítható a nem blokkoló mód" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: a fájl csonkítva" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "nem maradtak fájlok" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "nem lehet %s szülÅ‘könyvtárát figyelni" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "az inotify-erÅ‘források elfogytak" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s nem figyelhetÅ‘" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "hiba az inotify esemény figyelésekor" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "hiba az inotify esemény olvasásakor" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: ezen fájltípus vége nem követhetÅ‘;\n" "a program ezen a néven befejezi a próbálkozást" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "a szám túl nagy a következÅ‘ben: %s" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: a változatlan statok maximális száma érvénytelen a megnyitások között" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: érvénytelen PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: a másodpercek száma érvénytelen" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "a kapcsoló érvénytelen kontextusban került felhasználásra: -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "figyelmeztetés: a --retry elsÅ‘sorban név szerinti követés esetén hasznos" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "figyelmeztetés: a PID figyelmen kívül marad; a --pid=PID csak követés\n" "esetén hasznos" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "figyelmeztetés: ez a rendszer nem támogatja a --pid=PID kapcsolót" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "%s nem követhetÅ‘ név szerint" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "figyelmeztetés: a szabványos bemenet korlátlan követése nem hatékony" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "az inotify nem használható, visszatérés a lekérdezésre" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "A szabványos bemenet másolása minden egyes FÃJLBA, valamint a\n" "szabványos kimenetre is.\n" "\n" " -a, --append hozzáfűzés a megadott FÃJLOKHOZ, felülírás " "helyett\n" " -i, --ignore-interrupts megszakítási szignálok figyelmen kívül hagyása.\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Ha a FÃJL nincs megadva, vagy -, akkor újra a szabványos bemenetre másol.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "a(z) %s utáni argumentum hiányzik" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "érvénytelen egész: %s" #: src/test.c:241 msgid "')' expected" msgstr "a program „)†jelet várt" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "a program „)†jelet várt, de a következÅ‘t találta: %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: a program egyoperandusú operátort várt" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "a -nt nem fogadja el a -l kapcsolót" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "a -ef nem fogadja el a -l kapcsolót" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "a -ot nem fogadja el a -l kapcsolót" #: src/test.c:367 msgid "unknown binary operator" msgstr "ismeretlen bináris operátor" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: a program bináris operátort várt" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Használat: test KIFEJEZÉS\n" " vagy: test\n" " vagy: [ KIFEJEZÉS ]\n" " vagy: [ ]\n" " vagy: [ KAPCSOLÓ\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Kilépés a KIFEJEZÉS által meghatározott állapottal.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Egy kihagyott KIFEJEZÉS alapértelmezett értéke hamis. Egyébként a KIFEJEZÉS\n" "igaz vagy hamis és beállítja a kilépési állapotot. A KIFEJEZÉS az alábbiak\n" "egyike:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( KIFEJEZÉS ) a KIFEJEZÉS igaz\n" " ! KIFEJEZÉS a KIFEJEZÉS hamis\n" " KIFEJEZÉS1 -a KIFEJEZÉS2 mind a KIFEJEZÉS1, mind a KIFEJEZÉS2 igaz\n" " KIFEJEZÉS1 -o KIFEJEZÉS2 vagy a KIFEJEZÉS1, vagy a KIFEJEZÉS2 igaz\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n KARAKTERLÃNC a KARAKTERLÃNC hossza nem nulla\n" " KARAKTERLÃNC azonos a -n KARAKTERLÃNCCAL\n" " -z KARAKTERLÃNC a KARAKTERLÃNC hossza nulla\n" " KARAKTERLÃNC1 = KARAKTERLÃNC2 a karakterláncok azonosak\n" " KARAKTERLÃNC1 != KARAKTERLÃNC2 a karakterláncok nem azonosak\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " EGÉSZ1 -eq EGÉSZ2 az EGÉSZ1 egyenlÅ‘ az EGÉSZ2-vel\n" " EGÉSZ1 -ge EGÉSZ2 az EGÉSZ1 nagyobb vagy egyenlÅ‘, mint az EGÉSZ2\n" " EGÉSZ1 -gt EGÉSZ2 az EGÉSZ1 nagyobb, mint az EGÉSZ2\n" " EGÉSZ1 -le EGÉSZ2 az EGÉSZ1 kisebb vagy egyenlÅ‘, mint az EGÉSZ2\n" " EGÉSZ1 -lt EGÉSZ2 az EGÉSZ1 kisebb, mint az EGÉSZ2\n" " EGÉSZ1 -ne EGÉSZ2 az EGÉSZ1 nem egyenlÅ‘ az EGÉSZ2-vel \n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FÃJL1 -ef FÃJL2 a FÃJL1 és a FÃJL2 azonos eszköz- és inode számokkal\n" " rendelkeznek\n" " FÃJL1 -nt FÃJL2 a FÃJL1 újabb (a módosítás dátuma szerint), mint a " "FÃJL2\n" " FÃJL1 -ot FÃJL2 a FÃJL1 régebbi, mint a FÃJL2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FÃJL a FÃJL létezik és speciális blokkfájl\n" " -c FÃJL a FÃJL létezik és speciális karakterfájl\n" " -d FÃJL a FÃJL létezik és könyvtár\n" " -e FÃJL a FÃJL létezik\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FÃJL a FÃJL létezik és szabályos fájl\n" " -g FÃJL a FÃJL létezik és a setgid bit be van állítva\n" " -G FÃJL a FÃJL létezik és a hatásos csoportazonosító tulajdona\n" " -h FÃJL a FÃJL létezik és szimbolikus link (ugyanaz, mint a -L)\n" " -k FÃJL a FÃJL létezik és a ragadós bit be van állítva\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FÃJL a FÃJL létezik és szimbolikus link (ugyanaz, mint a -h)\n" " -O FÃJL a FÃJL létezik és a hatásos felhasználói azonosító tulajdona\n" " -p FÃJL a FÃJL létezik és egy névvel rendelkezÅ‘ adatcsatorna\n" " -r FÃJL a FÃJL létezik és olvasható\n" " -s FÃJL a FÃJL létezik és mérete nagyobb, mint nulla\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FÃJL a FÃJL létezik és az egy foglalat\n" " -t [FD] az FD fájlleíró (alapértelmezésben a szabványos kimenet) meg " "van\n" " nyitva egy terminálon\n" " -u FÃJL a FÃJL létezik és a setuid bitje be van állítva\n" " -w FÃJL a FÃJL létezik és írható\n" " -x FÃJL a FÃJL létezik és végrehajtható (vagy kereshetÅ‘)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "A -h és -L kivételével az összes, a FÃJLLAL kapcsolatos teszt követi a\n" "szimbolikus hivatkozásokat. Ne feledje, hogy a zárójeleket escapelni kell\n" "(például visszaper jelekkel) a parancsértelmezÅ‘k számára.\n" "Az EGÉSZ lehet -l KARAKTERLÃNC is, ez a KARAKTERLÃNC hosszát veszi fel " "értékül.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "MEGJEGYZÉS: A [ figyelembe veszi a --help és --version kapcsolókat, de a " "test\n" "nem. A test ezeket bármely más nem üres KARAKTERLÃNCHOZ hasonlóan kezeli.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test és/vagy [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "hiányzó „]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "extra argumentum: %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "figyelmeztetés: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "figyelmeztetés: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "figyelmeztetés: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Használat: %s [KAPCSOLÓ] IDÅTARTAM PARANCS [ARGUMENTUM]…\n" " vagy: %s [KAPCSOLÓ]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "A PARANCS elindítása, és ha az IDÅTARTAM után még mindig fut, akkor " "kilövése.\n" "\n" "Ha egy hosszú kapcsolóhoz kötelezÅ‘ argumentumot megadni, akkor ez a \n" "megfelelÅ‘ rövid kapcsolónál is kötelezÅ‘.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " Ha a timeout nem közvetlenül a parancsértelmezÅ‘ promptból " "fut,\n" " akkor a PARANCS olvashat a TTY-ról és TTY szignálokat\n" " kaphat. Ebben a módban a PARANCS gyermekei nem lépik túl " "az\n" " idÅ‘korlátot.\n" " -k, --kill-after=IDÅTARTAM\n" " KILL szignál küldése, ha a PARANCS az elsÅ‘ szignál " "elküldése\n" " után ennyi idÅ‘vel még mindig fut.\n" " -s, --signal=SZIGNÃL\n" " az idÅ‘túllépéskor küldendÅ‘ szignál megadása\n" " a SZIGNÃL lehet név, mint például a „HUPâ€, vagy egy szám\n" " a szignálok listájáért lásd a „kill -l†kimenetét\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "Az IDÅTARTAM egy lebegÅ‘pontos szám, és egy elhagyható UTÓTAG követheti:\n" "„s†(másodperc, alapértelmezett), „m†(perc), „h†(óra) vagy „d†(nap).\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Ha a parancs túllépi az idÅ‘korlátot, akkor a 124-es állapottal lép ki.\n" "Egyébként a PARANCS állapotával lép ki. Ha nincs megadva szignál, akkor a " "TERM\n" "szignált küldi el idÅ‘túllépéskor. A TERM szignál kilövi a szignált nem " "blokkoló\n" "vagy el nem kapó folyamatokat. Más folyamatok esetén a KILL (9) szignál\n" "használandó, mivel ez nem kapható el.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "figyelmeztetés: a magkiíratások letiltása meghiúsult" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "hiba a parancsra várakozás közben" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "érvénytelen dátumformátum: %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "%s elérése sikertelen" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "%s idejének beállítása" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Frissíti mindegyik FÃJL elérési és módosítási idejét a jelenlegi idÅ‘re.\n" "\n" "A nem létezÅ‘ FÃJL üresen kerül létrehozásra, kivéve a -c vagy -h " "megadásakor.\n" "\n" "A - FÃJL argumentum jelentése speciális, és hatására a touch\n" "a szabványos kimenethez társított fájl idÅ‘it módosítja.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a csak az elérési idÅ‘t módosítja\n" " -c, --no-create nem hoz létre fájlt\n" " -d, --date=KARAKTERLÃNC a KARAKTERLÃNC feldolgozása és használata a\n" " jelenlegi idÅ‘ helyett\n" " -f (figyelmen kívül marad)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference nem a fájl, hanem a rá mutató szimbolikus link\n" " csoportját állítja át (csak olyan rendszereken,\n" " ahol a szimbolikus link idÅ‘bélyege módosítható)\n" " -m csak a módosítási idÅ‘t módosítja\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FÃJL a FÃJL dátumát használja a jelenlegi idÅ‘ helyett\n" " -t IDÅ a [[CC]ÉÉ]HHNNóópp[.ss] formátumot használja a \n" " jelenlegi idÅ‘ helyett\n" " --time=SZÓ a megadott idÅ‘t módosítja. A SZÓ lehet:\n" " access atime use: ugyanaz, mint a -a\n" " modify mtime: ugyanaz, mint a -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Megjegyzés: a -d és -t kapcsolókhoz megadandó dátum- és idÅ‘formátumok\n" "különböznek.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "az idÅ‘k nem adhatók meg több forrásból" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "figyelmeztetés: a „touch %s†elavult; helyette használja a\n" "„touch -t %04ld%02d%02d%02d%02d.%02d†alakot." #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Használat: %s [KAPCSOLÓ]… HALMAZ1 [HALMAZ2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Karakterek fordítása, összenyomása és/vagy törlése a szabványos bemenetrÅ‘l\n" "és kiírás a szabványos kimenetre.\n" "\n" " -c, -C, --complement a HALMAZ1 komplemensének használata\n" " -d, --delete a HALMAZ1 karaktereinek törlése, nincs fordítás\n" " -s, --squeeze-repeats a HALMAZ1-ben felsorolt karakterek ismétlÅ‘dÅ‘\n" " bemeneti sorozatainak helyettesítése a karakter\n" " egyetlen elÅ‘fordulásával\n" " -t, --truncate-set1 a HALMAZ1 csonkítása a HALMAZ2 hosszára\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "A HALMAZOK karakterláncokként vannak meghatározva. A legtöbb saját magát\n" "képviseli. Az értelmezett sorozatok:\n" "\n" " \\NNN az NNN oktális értékű karakter (1-3 számjegy)\n" " \\\\ fordított osztásjel\n" " \\a riadó (BEL)\n" " \\b visszaper\n" " \\f lapdobás\n" " \\n új sor\n" " \\r kocsivissza\n" " \\t vízszintes tab\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v függÅ‘leges tab\n" " KAR1-KAR2 az összes karakter KAR1 és KAR2 között növekvÅ‘ sorrendben\n" " [KAR*] a HALMAZ2-ben, a KAR másolatai a HALMAZ1 hosszáig\n" " [KAR*ISMÉTLÉS] a KAR ISMÉTLÉS darab másolata, az ISMÉTLÉS oktális, ha 0-" "val\n" " kezdÅ‘dik\n" " [:alnum:] az összes betű és számjegy\n" " [:alpha:] az összes betű\n" " [:blank:] az összes vízszintes üreshely\n" " [:cntrl:] az összes vezérlÅ‘karakter\n" " [:digit:] az összes számjegy\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] az összes nyomtatható karakter, kivéve a szóközt\n" " [:lower:] az összes kisbetű\n" " [:print:] az összes nyomtatható karakter, beleértve a szóközt\n" " [:punct:] az összes központozó karakter\n" " [:space:] az összes vízszintes vagy függÅ‘leges üreshely\n" " [:upper:] az összes nagybetű\n" " [:xdigit:] az összes hexadecimális számjegy\n" " [=KAR=] az összes karakter, amely azonos a KAR karakterrel\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "A fordítás akkor következik be, ha a -d nincs megadva, és a HALMAZ1 és " "HALMAZ2\n" "is jelen van. A -t csak fordításkor használható. A HALMAZ2 szükség esetén " "az\n" "utolsó karakterének ismétlésével kiterjesztésre kerül a HALMAZ1 hosszára.\n" "A HALMAZ2 fölösleges karakterei figyelmen kívül maradnak. Csak a [:lower:]\n" "és [:upper:] növekvÅ‘ sorrendű feloldása garantált; a HALMAZ2-ben " "fordításkor\n" "csak párban használhatók kis- és nagybetűk átalakításának megadásához.\n" "A -s a HALMAZ1-et használja ha nem fordít vagy töröl, ellenkezÅ‘ esetben az\n" "összenyomás a HALMAZ2-t használja és fordítás vagy törlés után következik " "be.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "figyelmeztetés: a nem egyértelmű oktális \\%c%c%c sorozat\n" "\ta következÅ‘képpen lesz értelmezve: \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "figyelmeztetés: a karakterlánc végén a nem escape-elt fordított osztásjel\n" "nem portolható" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "a(z) „%s-%s†tartományvégpontok fordított rendezési sorrendben vannak" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "%s ismétlési szám érvénytelen a [c*n] szerkezetben" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "hiányzó karakterosztály-név: „[::]â€" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "hiányzó egyenlÅ‘ségosztály-karakter: „[==]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "érvénytelen karakterosztály: %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: az egyenlÅ‘ségosztály operandusnak egyetlen karakternek kell lennie" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "hibásan igazított [:upper:] és/vagy [:lower:] szerkezet" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "túl sok karakter a halmazban" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "ha a karakterlánc1 fordításkor hosszabb, mint a karakterlánc2,\n" "akkor az utóbbi nem végzÅ‘dhet karakterosztállyal" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "a [c*] ismétlési szerkezet nem jelenhet meg az 1. karakterláncban" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "csak egy [c*] ismétlési szerkezet jelenhet meg a 2. karakterláncban" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=] kifejezések nem jelenhetnek meg a 2. karakterláncban fordításkor" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "fordításkor a 2. karakterláncban csak az „upper†és a „lowerâ€\n" "karakterosztályok jelenhetnek meg " #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "a halmaz1 csonkításakor a 2. karakterlánc nem lehet üres" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "kiegészítÅ‘ karakterosztályokkal való fordításkor a 2. karakterláncnak\n" "a tartomány összes karakterét egyre kell leképeznie" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "a [c*] szerkezet a 2. karakterláncban csak fordításkor jelenhet meg" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Két karakterláncot kell megadni az ismétlések egyidejű törlésekor és " "összenyomásakor." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Fordításkor meg kell adni két karakterláncot." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Csak egy karakterlánc adható meg az ismétlések összenyomása nélküli " "törlésnél." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Használat: %s [figyelmen kívül hagyott parancssori argumentumok]\n" " vagy: %s KAPCSOLÓ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Kilépés egy sikert jelzÅ‘ állapotkóddal." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Kilépés egy hibát jelzÅ‘ állapotkóddal." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Használat: %s KAPCSOLÓ… FÃJL…\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Az egyes FÃJLOK méretének csökkentése vagy növelése a megadott méretre\n" "\n" "A nem létezÅ‘ FÃJL paraméter létrehozásra kerül.\n" "\n" "Ha egy FÃJL nagyobb a megadott méretnél, akkor a további adatok elvesznek.\n" "Ha egy FÃJL kisebb, akkor nulla bájtokkal megnövelésre kerül.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create ne hozzon létre fájlokat\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks A MÉRET bájtok helyett IO blokkok számaként való " "kezelése\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFÃJL ezen RFÃJL méretének használata\n" " -s, --size=MÉRET fájlméret beállítása ezen MÉRETRE vagy MÉRETTEL\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "A MÉRETET megelÅ‘zheti a következÅ‘ módosítókarakterek egyike:\n" "„+†növelés, „-†csökkentés, „<†legfeljebb, „>†legalább,\n" "„/†lekerekítés a többszörösére, „%†felkerekítés a többszörösére.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "túlcsordulás %<PRIdMAX> * %<PRIdMAX> bájtos blokkokban a(z) %s fájlhoz" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s használhatatlan, nyilvánvalóan negatív mérettel rendelkezik" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "%s mérete nem kérhetÅ‘ le" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "túlcsordulás a(z) %s fájl méretének felkerekítése közben" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "túlcsordulás a(z) %s fájl méretének növelése közben" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "%s csonkítása meghiúsult a(z) %<PRIdMAX>. bájtnál" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "több relatív módosító van megadva" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "meg kell adnia a következÅ‘k egyikét: %s vagy %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "meg kell adnia egy relatív %s értéket ezzel: %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s meg lett adva, de %s nem" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s nem nyitható meg olvasásra" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Használat: %s [KAPCSOLÓ] [FÃJL]\n" "Teljesen rendezett lista kiírása a FÃJLBAN található részleges rendezéssel\n" "összhangban. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet\n" "olvassa.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: a bemenet páratlan számú jelsort tartalmaz" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: bemenet hurkot tartalmaz:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "A szabványos bemenetre kapcsolt terminál fájlnevének kiírása.\n" "\n" " -s, --silent, --quiet nem ír ki semmit, csak a kilépési állapotot adja\n" " vissza\n" #: src/tty.c:120 msgid "not a tty" msgstr "nem tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Bizonyos rendszerinformációkat ír ki. KAPCSOLÓ nélkül ugyanaz, mint a -s.\n" "\n" " -a, --all az össze információ kiírása a következÅ‘ " "sorrendben:\n" " kivéve a -p és -i kihagyását, ha ismeretlenek:\n" " -s, --kernel-name a kernel nevének kiírása\n" " -n, --nodename a hálózati csomópont gépnevének kiírása\n" " -r, --kernel-release a kernel kiadásának kiírása\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version a kernel verziójának kiírása\n" " -m, --machine a gép hardvere nevének kiírása\n" " -p, --processor a processzor típusának vagy az „unknown†szó\n" " kiírása\n" " -i, --hardware-platform a hardverplatform vagy „unknown†az „unknown†" "szó\n" " kiírása\n" " -o, --operating-system az operációs rendszer kiírása\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "A gép architektúrájának kiírása.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nem kérhetÅ‘ le a rendszer neve" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Szóközök átalakítása minden egyes FÃJLBAN tabokká és kiírás a szabványos\n" "kimenetre. Ha a FÃJL nincs megadva, vagy -, akkor a szabványos bemenetet\n" "olvassa.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all az összes üreshely karakter átalakítása csak a kezdÅ‘k\n" " helyett\n" " --first-only csak a kezdÅ‘ üreshelykarakter-sorozatok átalakítása\n" " (felülbírálja a -a kapcsolót)\n" " -t, --tabs=N a tabok N karakter szélesek 8 helyett (bekapcsolja a -a\n" " kapcsolót)\n" " -t, --tabs=LISTA a tabpozíciók vesszÅ‘kkel elválasztott LISTÃJÃNAK " "használata\n" " (bekapcsolja a -a kapcsolót)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "a tabok túl messze vannak egymástól" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "a tab méret túl nagy" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Használat: %s [KAPCSOLÓ]… [BEMENET [KIMENET]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Szomszédos egyezÅ‘ sorok szűrése a BEMENETBÅL (vagy szabványos bemenetbÅ‘l),\n" "kiírás a KIMENETRE (vagy szabványos kimenetre).\n" "\n" "Kapcsolók nélkül az egyezÅ‘ sorok az elsÅ‘ elÅ‘fordulásba lesznek egyesítve.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count a sorok elé az elÅ‘fordulások számának kiírása\n" " -d, --repeated csak a kettÅ‘zött sorok kiírása\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=elhatárolási-mód] az összes többszörözött sor kiírása\n" " elhatárolási-mód={none(alapért.),prepend,separate}\n" " Az elhatárolás üres sorokkal valósul meg.\n" " -f, --skip-fields=N az elsÅ‘ N mezÅ‘ összehasonlításának elkerülése\n" " -i, --ignore-case a kis- és nagybetűk nem különböznek " "összehasonlításkor\n" " -s, --skip-chars=N az elsÅ‘ N karakter összehasonlításának elkerülése\n" " -u, --unique csak az egyedi sorok kiírása\n" " -z, --zero-terminated a sorok befejezése 0 bájttal új sor helyett\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N a sorokban N-tÅ‘l ne hasonlítson össze több " "karaktert\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Egy mezÅ‘ üreshely karakterek (szóközök és/vagy tabok) sorozata, amelyet nem\n" "üreshely karakterek követnek. A mezÅ‘k karakterek elÅ‘tti része ki lesz " "hagyva.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Megjegyzés: A „uniq†nem ismeri fel az ismétlÅ‘dÅ‘ sorokat, hacsak nem állnak\n" "egymás után. ElÅ‘ször rendezze a bemenetet, vagy használja a „sort -uâ€\n" "parancsot a „uniq†nélkül. Az összehasonlítások figyelembe veszik az\n" "„LC_COLLATE†által megadott szabályokat.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "túl sok ismétlÅ‘dÅ‘ sor" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "a kihagyandó mezÅ‘k száma érvénytelen" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "a kihagyandó bájtok száma érvénytelen" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "az összehasonlítandó bájtok száma érvénytelen" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "az összes kettÅ‘zött sor és az ismétlÅ‘dések kiírása értelmetlen" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Használat: %s FÃJL\n" " vagy: %s KAPCSOLÓ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Az unlink függvény meghívása a megadott FÃJL törlése érdekében.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "%s törlése sikertelen" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "a rendszerindítás ideje nem kérhetÅ‘ le" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H.%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "fut ???? nap ??.??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "fut %ld nap %2d.%02d, " msgstr[1] "fut %ld nap %2d.%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "fut %ld nap %2d.%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu felhasználó" msgstr[1] "%lu felhasználó" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", átlagos terh.: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Az aktuális idÅ‘, a rendszer futásidejének, a rendszer felhasználói számának " "és a\n" "futási sorban található feladatok átlagos számának kiírása az elmúlt 1, 5 és " "15\n" "percre vonatkozóan." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " A megszakíthatatlan\n" "alvási állapotban lévÅ‘ folyamatok is hozzájárulnak az átlagos terheléshez.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Ha a FÃJL nincs megadva, akkor a(z) %s fájlt használja.\n" "A(z) %s használata általános\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Kiírja, hogy a FÃJL szerint ki van bejelentkezve.\n" "Ha a FÃJL nincs megadva, akkor a %s fájlt használja.\n" "A %s használata általános\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Új sor, szó- és bájtszámokat ír ki minden egyes FÃJLHOZ, és a sorok " "számának\n" "összesítését, ha több FÃJL van megadva. Ha a FÃJL nincs megadva, vagy -, " "akkor\n" "a szabványos bemenetet olvassa. A szó egy nem nulla hosszú karaktersorozat,\n" "amelyet üres hely karakterek határolnak.\n" "Az alábbi kapcsolókkal kiválaszthatók a kinyomtatandó számok, mindig a\n" "következÅ‘ sorrendben: újsor, szó, karakter, bájt, maximális sorhossz.\n" " -c, --bytes a bájtok számának kiírása\n" " -m, --chars a karakterek számának kiírása\n" " -l, --lines az új sorok számának kiírása\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F bemenet olvasása az F fájlban található, NULL végű\n" " nevek által megadott fájlokból. Ha az F a -, " "akkor\n" " a szabványos bemenetrÅ‘l olvassa a neveket\n" " -L, --max-line-length a leghosszabb sor hosszának kiírása\n" " -w, --words szószámok kiírása\n" #: src/who.c:210 msgid " old " msgstr " régi " #: src/who.c:440 msgid "system boot" msgstr "rendszerindulás" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "kilép=" #: src/who.c:485 msgid "LOGIN" msgstr "BEJELENTKEZÉS" #: src/who.c:505 msgid "clock change" msgstr "óraváltozás" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "futási szint" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "utolsó=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# felhasználók=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NÉV" #: src/who.c:559 msgid "LINE" msgstr "VONAL" #: src/who.c:559 msgid "TIME" msgstr "IDÅ" #: src/who.c:559 msgid "IDLE" msgstr "ÜRES" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "MEGJEGYZÉS" #: src/who.c:560 msgid "EXIT" msgstr "KILÉP" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Használat: %s [KAPCSOLÓ]… [ FÃJL | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Információk kiírása az éppen bejelentkezett felhasználókról.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all ugyanaz, mint -b -d --login -p -r -t -T -u\n" " -b, --boot az utolsó rendszerindítás ideje\n" " -d, --dead döglött folyamatok kiírása\n" " -H, --heading oszlopfejléceket tartalmazó sor kiírása\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login kiírja a rendszer bejelentkezési folyamatait\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup kísérlet a gépnevek egyszerűsítésére a DNS " "használatával\n" " -m csak a szabványos bemenethez társított gépnév és " "felhasználó\n" " -p, --process az init által indított aktív folyamatok kiírása\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count az összes bejelentkezési név és a bejelentkezett \n" " felhasználók számának kiírása\n" " -r, --runlevel a jelenlegi futási szint\n" " -s, --short csak a név, vonal és idÅ‘ kiírása (alapértelmezett)\n" " -t, --time az utolsó rendszeróra-változás kiírása\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg a felhasználó üzenetállapotának hozzáadása mint +, - " "vagy ?\n" " -u, --users bejelentkezett felhasználók felsorolása\n" " --message ugyanaz, mint a -T\n" " --writable ugyanaz, mint a -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Ha a FÃJL nincs megadva, akkor a %s fájlt használja.\n" "A %s használata általános a FÃJLKÉNT. Az ARG1 ARG2 hatása azonos\n" " a -m kapcsolóval; funkciója csupán a „who am i†vagy a „who mom likes†és\n" "hasonló parancsok értelmes megválaszolása.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Az aktuális hatásos felhasználói azonosítóhoz társított felhasználónév " "kiírása.\n" "Ugyanaz, mint az id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: nem található a név a(z) %lu felhasználói azonosítóhoz\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s [KARAKTERLÃNC]…\n" " vagy: %s KAPCSOLÓ\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Az összes megadott KARAKTERLÃNCOT vagy az „yâ€-t tartalmazó sor ismételt\n" "kiírása.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "egyszeres pontosságú aritmetika használata" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "tetszÅ‘leges pontosságú aritmetika használata" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "%s fájl létrehozása\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]… [FELHASZNÃLÓ]…\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: érvénytelen utótaghossz" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Példák::\n" #~ " %s /usr/bin/sort A kimenet: „sortâ€.\n" #~ " %s include/stdio.h .h A kimenet: „stdioâ€.\n" #~ msgid "reading %s" #~ msgstr "%s olvasása" #~ msgid "writing %s" #~ msgstr "%s írása" #~ msgid "closing %s" #~ msgstr "%s lezárása" #~ msgid "accessing %s" #~ msgstr "%s elérése" #~ msgid "opening %s" #~ msgstr "%s megnyitása" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s NÉV\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system a más fájlrendszeren lévÅ‘ könyvtárak kihagyása\n" #~ " -X --exclude-from=FÃJL a FÃJLBAN található mintákra illeszkedÅ‘ fájlok\n" #~ " kihagyása\n" #~ " --exclude=MINTA a MINTÃRA illeszkedÅ‘ nevű fájlok kihagyása\n" #~ " -d --max-depth=N csak akkor írja ki az összesítést egy adott " #~ "könyvtárra\n" #~ " (vagy fájlra a --all esetén), ha az legfeljebb " #~ "N\n" #~ " szinttel van a parancssorban megadott könyvtár " #~ "alatt.\n" #~ " A --max-depth=0 ugyanaz, mint a --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nem készít mentést (még a --backup megadása esetén " #~ "sem)\n" #~ " numbered, t számozott mentést készít\n" #~ " existing, nil számozott, ha már létezik számozott változat, " #~ "egyébként\n" #~ " egyszerű\n" #~ " simple, never mindig egyszerű biztonsági mentés\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "FIGYELMEZTETÉS: a --page-increment kapcsoló elavult, használja a --line-" #~ "increment kapcsolót helyette" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Ha egy hosszú kapcsolóhoz kötelezÅ‘ argumentumot megadni, akkor ez a \n" #~ "megfelelÅ‘ rövid kapcsolónál is kötelezÅ‘.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "Az ALAP d, ha decimális, o ha oktális, x ha hexadecimális vagy n, ha " #~ "nincs.\n" #~ "A BÃJT hexadecimális a 0x vagy 0X elÅ‘taggal és a következÅ‘ szorzó-" #~ "utótagokkal\n" #~ "rendelkezhet: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y esetén.\n" #~ "Egy z utótag hatására bármely típus esetén a nyomtatható karakterek " #~ "megjelennek\n" #~ "a kimeneti sorok végén.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "A --string kapcsoló szám nélkül 3-at jelent. A --width szám nélkül 32-t.\n" #~ "Alapértelmezésben az od a következÅ‘ket használja: -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Használat: %s [KAPCSOLÓ]… [FÃJL]\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "a --relative-base megköveteli a --relative-to megadását is" #~ msgid "Password:" #~ msgstr "Jelszó:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: a /dev/tty nem nyitható meg" #~ msgid "cannot set groups" #~ msgstr "a csoportok nem állíthatók be" #~ msgid "cannot set group id" #~ msgstr "a csoportazonosító nem állítható be" #~ msgid "cannot set user id" #~ msgstr "a felhasználóazonosító nem állítható be" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]… [-] [FELHASZNÃLÓ [ARGUMENTUM]…]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "A hatásos felhasználói azonosító és csoportazonosító megváltoztatása a\n" #~ "FELHASZNÃLÓÉRA.\n" #~ "\n" #~ " -, -l, --login a parancsértelmezÅ‘ legyen bejelentkezési\n" #~ " parancsértelmezÅ‘\n" #~ " -c, --command=PARANCS egyetlen PARANCS átadása a " #~ "parancsértelmezÅ‘nek\n" #~ " -f, --fast a -f átadása a parancsértelmezÅ‘nek (csh " #~ "vagy\n" #~ " tcsh esetén)\n" #~ " -m, --preserve-environment ne állítsa vissza a környezeti változókat\n" #~ " -p ugyanaz, mint a -m\n" #~ " -s, --shell=PARANCSÉRTELMEZÅ a PARANCSÉRTELMEZÅ futtatása, ha az /etc/" #~ "shells\n" #~ " engedélyezi\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "egy egyszerű - a -l kapcsolót jelenti. Ha a FELHASZNÃLÓ nincs megadva, " #~ "akkor a\n" #~ "root az alapértelmezés.\n" #~ msgid "user %s does not exist" #~ msgstr "a(z) %s felhasználó nem létezik" #~ msgid "incorrect password" #~ msgstr "helytelen jelszó" #~ msgid "using restricted shell %s" #~ msgstr "a(z) %s korlátozott parancsértelmezÅ‘ használata" #~ msgid "warning: cannot change directory to %s" #~ msgstr "figyelmeztetés: nem lehet a következÅ‘ könyvtárba lépni: %s" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Megváltoztatja mindegyik FÃJL csoportját a CSOPORTRA.\n" #~ "A --reference használatával minden egyes FÃJL csoportját a " #~ "REFERENCIAFÃJL\n" #~ "csoportjára változtatja.\n" #~ "\n" #~ " -c, --changes mint a bÅ‘beszédű mód, de csak a végrehajtott\n" #~ " változásokat jelzi\n" #~ " --dereference nem a szimbolikus link csoportját változtatja " #~ "meg,\n" #~ " hanem a fájlét, amire az mutat (ez az\n" #~ " alapértelmezett)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " --reference=RFÃJL a megadott RFÃJL csoportját használja a " #~ "CSOPORT\n" #~ " értéke helyett\n" #~ " -R, --recursive rekurzívan működik a fájlokon és " #~ "könyvtárakon\n" #~ " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" #~ " üzenetet ír ki\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Megváltoztatja minden egyes FÃJL jogosultságait a MÓDRA.\n" #~ "\n" #~ " -c, --changes mint a verbose, de csak a változásokat jelzi\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root a „/â€-t ne kezelje speciálisan " #~ "(alapértelmezett)\n" #~ " --preserve-root a rekurzív működés visszautasítása a „/†" #~ "könyvtáron\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " -v, --verbose minden feldolgozott fájl után üzenetet ír ki\n" #~ " --reference=RFÃJL az RFÃJL MÓDJÃT állítja be a MÓD értékek " #~ "helyett\n" #~ " -R, --recursive rekurzívan módosítja a fájlokat és " #~ "könyvtárakat\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Megváltoztatja mindegyik FÃJL tulajdonosát és/vagy csoportját a " #~ "TULAJDONOSRA\n" #~ "és/vagy a CSOPORTRA. A --reference használata esetén mindegyik FÃJL\n" #~ "tulajdonosát és csoportját a REFERENCIAFÃJLÉRA változtatja.\n" #~ "\n" #~ " -c, --changes mint a verbose, de csak a változásokat jelzi\n" #~ " --dereference nem a szimbolikus link csoportját változtatja " #~ "meg,\n" #~ " hanem a fájlét, amire az mutat\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " --reference=RFÃJL a megadott RFÃJL csoportját és tulajdonosát\n" #~ " állítja be a TULAJ:CSOPORT értéke helyett\n" #~ " -R, --recursive rekurzívan módosítja a fájlokat és " #~ "könyvtárakat\n" #~ " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" #~ " üzenetet ír ki\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Az aktuális idÅ‘ megjelenítése a megadott FORMÃTUMBAN, vagy a " #~ "rendszerdátum\n" #~ "beállítása.\n" #~ "\n" #~ " -d, --date=KARAKTERLÃNC a KARAKTERLÃNC által leírt dátum " #~ "megjelenítése\n" #~ " az aktuális helyett\n" #~ " -f, --file=DÃTUMFÃJL ugyanaz, mint a --date egyszer a DÃTUMFÃJL " #~ "minden\n" #~ " egyes sorára\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "A MÉRET lehet (egy egész, amelyet választhatóan követ) a következÅ‘k " #~ "egyike:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 és ugyanígy G, T, P, E, Z, Y.\n" #~ msgid "cannot create link %s" #~ msgstr "%s link nem hozható létre" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/zh_TW.po��������������������������������������������������������������������������0000664�0000000�0000000�00001335237�12107204515�012372� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# traditional Chinese translation of coreutils. # Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc. # # # Merged from textutils, sh-utils and fileutils translation: # # Yip Chi Lap <clyip@cs.hku.hk>, 1998. # # Yuan-Chung Cheng <platin@ms.ccafps.khc.edu.tw>, 1998. # # Abel Cheung <abelcheung@gmail.com>, 2002. # # Pofeng Lee <pofeng@linux.org.tw>, 1998, 2002. # # Abel Cheung <abelcheung@gmail.com>, 2005. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2005-07-02 04:13+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%2$sçš„åƒæ•¸%1$s䏿˜Žç¢º" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "æœ‰æ•ˆçš„åƒæ•¸ç‚ºï¼š" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "正在關閉輸入檔 %s" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "寫入時發生錯誤" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "正在更改 %s 的權é™" #: lib/error.c:188 msgid "Unknown system error" msgstr "䏿˜Žçš„系統錯誤" #: lib/file-type.c:38 msgid "regular empty file" msgstr "普通空白檔案" #: lib/file-type.c:38 msgid "regular file" msgstr "普通檔案" #: lib/file-type.c:41 msgid "directory" msgstr "目錄" #: lib/file-type.c:44 msgid "block special file" msgstr "å€å¡Šç‰¹æ®Šæª”案" #: lib/file-type.c:47 msgid "character special file" msgstr "字元特殊檔案" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "符號連çµ" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "訊æ¯ä½‡åˆ—" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaphore" #: lib/file-type.c:65 msgid "shared memory object" msgstr "共用記憶體物件" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "共用記憶體物件" #: lib/file-type.c:70 msgid "weird file" msgstr "䏿­£å¸¸çš„æª”案" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "䏿”¯æ´ FIFO 檔案" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "䏿”¯æ´ FIFO 檔案" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "䏿”¯æ´ FIFO 檔案" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "寫入時發生錯誤" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "䏿˜Žçš„系統錯誤" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s:é¸é …‘%sâ€™ä¸æ˜Žç¢º\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s:é¸é …‘--%s’ä¸å¯é…åˆåƒæ•¸ä½¿ç”¨\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s:é¸é …‘%c%s’ä¸å¯é…åˆåƒæ•¸ä½¿ç”¨\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s:é¸é …‘%s’需è¦åƒæ•¸\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s:無法識別的é¸é …‘--%s’\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s:無法識別的é¸é …‘%c%s’\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s:無效的é¸é … ─ %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s:é¸é …需è¦åƒæ•¸ ─ %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s:é¸é …‘-W %sâ€™ä¸æ˜Žç¢º\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s:é¸é …‘-W %s’ä¸å¯é…åˆåƒæ•¸ä½¿ç”¨\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s:é¸é …‘%s’需è¦åƒæ•¸\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "無法更改%s的權é™" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "無法建立目錄%s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "記憶體耗盡" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "無法建立目錄%s" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "‘" #: lib/quotearg.c:313 msgid "'" msgstr "’" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "關閉時發生錯誤" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "無效的字元種類‘%s’" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 #, fuzzy msgid "Invalid range end" msgstr "無效的類型‘%s’" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "記憶體耗盡" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "正在更改 %s 的權é™" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "æ ¼å¼éŒ¯èª¤" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 #, fuzzy msgid "Continued" msgstr "是å¦ç¹¼çºŒ? " #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s:訊號無效" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s:訊號無效" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "調用 fork() 系統函å¼å¤±æ•—" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "開啟時發生錯誤" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "無法建立 FIFO %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "關閉時發生錯誤" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv 功能無法使用" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv 功能ä¸å­˜åœ¨" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "å­—å…ƒå€¼è¶…å‡ºå¯æŽ¥å—的範åœä»¥å¤–" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "無法將 U+%04X 轉æ›è‡³ä½¿ç”¨è€…的字元集" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "無法將 U+%04X 轉æ›è‡³ä½¿ç”¨è€…的字元集:%s" #: lib/userspec.c:106 msgid "invalid user" msgstr "無效的使用者" #: lib/userspec.c:107 msgid "invalid group" msgstr "無效的群組" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "無效的使用者" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "ç”± %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "ç”± %s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "ç”± %s, %s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "ç”± %s, %s, %s\n" "å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ç”± %s, %s, %s,\n" "%s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "ç”± %s, %s, %s,\n" "%s, %s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "ç”± %s, %s, %s, %s,\n" "%s, %s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "ç”± %s, %s, %s, %s,\n" "%s, %s, %s å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ç”± %s, %s, %s, %s,\n" "%s, %s, %s, %s\n" "å’Œ %s 編寫。\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "ç”± %s, %s, %s, %s,\n" "%s, %s, %s, %s\n" "å’Œ %s 等等編寫。\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "è«‹å‘ <%s> 回報錯誤。\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "è«‹å‘ <%s> 回報錯誤。\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "開啟時發生錯誤" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "䏿˜Žçš„系統錯誤" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "無法ä¿ç•™%s的時間" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "字串比較出ç¾éŒ¯èª¤" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "請設定 LC_ALL='C' é¿å…å•題出ç¾ã€‚" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "è¦æ¯”較的字串為%såŠ%s。" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "無效的行號增加值:‘%s’" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s:數字‘%.*s’éŽå¤§" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "用法:%s [é¸é …] [檔案]...\n" " 或:%s [é¸é …] --check [檔案]\n" "å°å‡ºæˆ–檢查 %s (%d ä½å…ƒ) 總和檢查值。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀å–資料。\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "è®€å–æ™‚發生錯誤" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "輸入旗標無效:%s" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "無效的類型‘%s’" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "出ç¾å¤šé¤˜çš„åƒæ•¸ %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "關閉標準輸入" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Stuart Kemp åŠ David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "用法:%s 檔案å稱 [末端字元]\n" " 或:%s [é¸é …]\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "å°å‡º <檔案å稱>,而且減去å‰é¢æ‰€æœ‰ç›®éŒ„çš„å稱。\n" "如果指定了 <末端字元> 的話,也會嘗試從 <檔案å稱> 末端清除該等字元。\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund åŠ Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "將由 <檔案> 或標準輸入讀å–的資料連çµèµ·ä¾†ï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "\n" " -A, --show-all 等於 -vET\n" " -b, --number-nonblank 輸出時在éžç©ºç™½è¡ŒåŠ ä¸Šè¡Œè™Ÿ\n" " -e 等於 -vE\n" " -E, --show-ends 在æ¯ä¸€è¡Œæœ€å¾Œé¡¯ç¤º $ 記號\n" " -n, --number 輸出時加上行號\n" " -s, --squeeze-blank ä¸é€£çºŒè¼¸å‡ºè¶…éŽä¸€è¡Œç©ºè¡Œ\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t 等於 -vT\n" " -T, --show-tabs å°‡ TAB 字元顯示為 ^I\n" " -u (æ­¤é¸é …ä¸ä½œè™•ç†)\n" " -v, --show-nonprinting 除了æ›è¡ŒåŠ TAB 字元外,使用 ^ åŠ M- 表示法顯示字" "å…ƒ\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "無法å°â€˜%s’執行輸出入控制 (ioctl)" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "標準輸出" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s:輸出和輸入檔案是相åŒçš„" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "無法更改 %s çš„æ“æœ‰è€…\n" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "無法å–å¾— %s 的屬性" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "無法將 %s çš„æ“æœ‰è€…更改為 %s\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "ç„¡æ³•å­˜å– %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "無法讀å–目錄 %s 的內容" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "正在更改 %s 的權é™" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read 失敗" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "關閉時發生錯誤" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [é¸é …]... æ“æœ‰è€…[:[群組]] 檔案...\n" " 或:%s [é¸é …]... :群組 檔案...\n" " 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" "移除指定的 <檔案>。\n" "\n" " -d, --directory 移除å¯èƒ½ä»æœ‰è³‡æ–™çš„目錄 (åªé™æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨è€…ä½¿ç”¨)\n" " -f, --force ç•¥éŽä¸å­˜åœ¨çš„æª”案,ä¸é¡¯ç¤ºä»»ä½•訊æ¯\n" " -i, --interactive 進行任何移除æ“作å‰å¿…須先確èª\n" " -r, -R, --recursive åŒæ™‚移除該目錄下的所有目錄層\n" " -v, --verbose 詳細顯示進行的步驟\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet 去除大部份的錯誤訊æ¯\n" " --reference=åƒè€ƒæª” 使用<åƒè€ƒæª”>的所屬群組,而éžè‡ªè¡ŒæŒ‡å®š<群組>\n" " -R, --recursive åŒæ™‚處ç†ç›®éŒ„之下的所有的檔案åŠå­ç›®éŒ„\n" " -v, --verbose è™•ç†æ¯å€‹æª”案時都會顯示訊æ¯\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "åŒæ™‚使用 -R --dereference æ™‚é‚„éœ€è¦ -H 或 -L é¸é …" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "åŒæ™‚使用 -R -h æ™‚é‚„éœ€è¦ -P é¸é …" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "%s 後é¢ç¼ºå°‘äº†åƒæ•¸" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "權é™ç„¡æ•ˆ: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "無法å–å¾— %s 的屬性" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "群組 %s 無效" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [é¸é …]... 群組 檔案...\n" " 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference 影響符號éˆçµæœ¬èº«ï¼Œè€Œä¸æ˜¯ç¬¦è™ŸéˆçµæŒ‡å®šçš„目的地檔案\n" " (åªæœ‰ç³»çµ±æ”¯æ´æ›´æ”¹ç¬¦è™Ÿéˆçµçš„æ“æœ‰è€…ï¼Œé€™å€‹é¸é …æ‰æœ‰æ•ˆ)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "正在檢查 %s 的最新屬性" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "符號éˆçµ %s 和該éˆçµæ‰€æŒ‡ç¤ºçš„å°è±¡éƒ½æ²’有更改\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "%s çš„æ¬Šé™æ¨¡å¼å·²æ›´æ”¹ç‚º %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "無法將 %s çš„æ¬Šé™æ¨¡å¼æ›´æ”¹ç‚º %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "%s çš„æ¬Šé™æ¨¡å¼ä¿ç•™ç‚º %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "無法建立符號éˆçµ %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "正在更改 %s 的權é™" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "正在更改 %s 的權é™" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [é¸é …]... 模å¼[,模å¼]... 檔案...\n" " 或:%s [é¸é …]... 八進使¨¡å¼ 檔案...\n" " 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet 去除大部份的錯誤訊æ¯\n" " --reference=åƒè€ƒæª” 使用<åƒè€ƒæª”>的所屬群組,而éžè‡ªè¡ŒæŒ‡å®š<群組>\n" " -R, --recursive åŒæ™‚處ç†ç›®éŒ„之下的所有的檔案åŠå­ç›®éŒ„\n" " -v, --verbose è™•ç†æ¯å€‹æª”案時都會顯示訊æ¯\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "如果自行指定權é™ï¼Œä¸å¯åŒæ™‚é…åˆ --reference é¸é …一起使用" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "權é™ç„¡æ•ˆ: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "%s çš„æ“æœ‰è€…已更改為 %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "%s 的所屬群組已更改為 %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "沒有更改 %s çš„æ“æœ‰è€…\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "無法將 %s çš„æ“æœ‰è€…更改為 %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "無法將 %s 的所屬群組更改為 %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "無法更改 %s çš„æ“æœ‰è€…\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "無法將 %s çš„æ“æœ‰è€…更改為 %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "無法將 %s 的所屬群組更改為 %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "%s çš„æ“æœ‰è€…å·²ä¿ç•™ç‚º %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "%s的所屬群組已ä¿ç•™ç‚º %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "ä¿ç•™ %s çš„æ“æœ‰è€…\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "正在更改 %s çš„æ“æœ‰è€…" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "正在更改 %s 的所屬群組" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "用法:%s [é¸é …]... [æ“æœ‰è€…][:[群組]] 檔案...\n" " 或:%s [é¸é …]... --reference=åƒè€ƒæª” 檔案...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ç›®å‰æ“有者:ç›®å‰ç¾¤çµ„\n" " åªç•¶æ¯å€‹æª”æ¡ˆçš„æ“æœ‰è€…和群組符åˆé¸é …所指定的,\n" " æ‰æœƒæ›´æ”¹æ“有者和群組。其中一個å¯ä»¥çœç•¥ï¼Œé€™æ™‚\n" " å·²çœç•¥çš„屬性就ä¸éœ€è¦ç¬¦åˆåŽŸæœ‰çš„å±¬æ€§ã€‚\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "如果沒有指定 <æ“æœ‰è€…>ï¼Œå‰‡ä¸æœƒæ›´æ”¹ã€‚<群組> 也一樣,\n" "ä½†å¦‚æžœæ“æœ‰è€…後加上 ‘:’,<群組> æœƒæ›´æ”¹ç‚ºæ“æœ‰è€…的主è¦ç¾¤çµ„。\n" "<æ“æœ‰è€…> åŠ <群組> å¯ä»¥æ˜¯æ•¸å­—或å稱。\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "群組 %s 無效" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "群組 %s 無效" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "無法å–å¾—%s的屬性" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "用法:%s 根目錄 [指令...]\n" " 或:%s é¸é …\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "以新的目錄作為 <根目錄> 並執行 <指令>。\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "無法以 %s 作為根目錄" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "無法å–å¾—%s的屬性" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "無法å–å¾—%s的屬性" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "無法執行 %s 指令" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s:檔案éŽå¤§" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "å°å‡ºæ¯å€‹ <檔案> çš„ CRC 總和檢查值åŠä½å…ƒçµ„總數。\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "用法:%s [é¸é …]... 檔案1 檔案2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "é€è¡Œæ¯”較兩個已排åºçš„ <檔案1> åŠ <檔案2>。\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "ä¸åŠ é¸é …çš„è©±ï¼Œç¨‹å¼æœƒç”¢ç”Ÿä¸‰æ¬„內容。第一欄的內容åªåœ¨ <檔案1> 出ç¾ï¼Œ\n" "第二欄的åªåœ¨ <檔案2> 出ç¾ï¼Œç¬¬ä¸‰æ¬„çš„å‰‡åŒæ™‚在兩個檔案內出ç¾ã€‚\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 ä¸é¡¯ç¤ºä»»ä½•一行åªåœ¨ FILE1 出ç¾éŽçš„資料\n" " -2 ä¸é¡¯ç¤ºä»»ä½•一行åªåœ¨ FILE2 出ç¾éŽçš„資料\n" " -3 ä¸é¡¯ç¤ºå…©å€‹æª”æ¡ˆä¸­åŒæ™‚出ç¾çš„任何一行\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "正在關閉輸出檔%s" #: src/comm.c:411 #, fuzzy, c-format msgid "empty %s not allowed" msgstr "使用 -c 時ä¸å…許指定é¡å¤–çš„åƒæ•¸â€˜%s’" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "è®€å– %s 時發生錯誤" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "無法 lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "寫入 %s 時發生錯誤" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s:無法移除" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "寫入時發生錯誤" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "無法ä¿ç•™%s的時間" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "正在更改 %s 的權é™" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "無法ä¿ç•™%sçš„æ“æœ‰è€…åŠæ‰€å±¬ç¾¤çµ„" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, fuzzy, c-format msgid "failed to preserve authorship for %s" msgstr "無法ä¿ç•™%s的著作者" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "無法開啟 %s 來讀å–資料" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "無法 fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "ç•¥éŽæª”案 %s,因為準備複製時它已被其它檔案å–代" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "無法將 %s 的所屬群組更改為 %s\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "無法移除 %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "已移除%s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "無法建立普通檔案 %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "無法ä¿ç•™%s的時間" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "ä¿ç•™%s的時間" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "無法ä¿ç•™%s的時間" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s:是å¦è¦†å¯« %s,而ä¸ç†æœƒæ¬Šé™æ¨¡å¼ %04lo? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s:是å¦è¦†å¯« %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (備份:%s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的實際éˆçµ (hard link) %1$s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "無法 stat %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "ç•¥éŽ %s 目錄" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "è­¦å‘Šï¼šæŒ‡å®šäº†ä¾†æºæª” %s 多於一次" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s åŠ %s 為åŒä¸€æª”案" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ä¸å¯ä»¥å°‡ç›®éŒ„ %2$s 覆寫éžç›®éŒ„ %1$s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "䏿œƒä»¥ %2$s 覆寫剛建立的 %1$s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "ä¸å¯ä»¥å°‡ç›®éŒ„ %s 覆寫æˆéžç›®éŒ„" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "移動目錄時目的地ä¸å¯ä»¥ä¸æ˜¯ç›®éŒ„:%s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "å°‡ %s å‚™ä»½æœƒç ´å£žä¾†æºæª”,因此ä¸ç§»å‹• %s。" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "å°‡ %s å‚™ä»½æœƒç ´å£žä¾†æºæª”,因此ä¸è¤‡è£½ %s。" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "無法備份%s" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "䏿œƒä»¥ %2$s 覆寫剛建立的 %1$s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "ä¸å¯ä»¥å°‡ç›®éŒ„ %s 複製æˆç‚ºè‡ªèº« (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "䏿œƒå»ºç«‹é€£è‡³ç›®éŒ„ %2$s 的實際éˆçµ (hard link) %1$s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "ä¸å¯ä»¥å°‡ç›®éŒ„ %s 複製至自身的å­ç›®éŒ„ (%s)" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "無法將 %s 移動至 %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "無法進行跨è£ç½®çš„移動 (%s至%s);無法移除目標檔案或目錄" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "無法å–å¾— %s 的屬性" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "無法複製循環的符號éˆçµ%s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s:åªèƒ½æ–¼ç›®å‰çš„目錄中建立相å°ç¬¦è™Ÿéˆçµ" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的符號éˆçµ %1$s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "無法建立 FIFO %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "無法建立特殊檔案 %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "無法讀å–符號éˆçµ %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "無法建立符號éˆçµ %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s的檔案類型ä¸è©³" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "無法將 %s 的備份還原" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (還原備份)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "用法:%s [é¸é …]... [-T] ä¾†æº ç›®çš„åœ°\n" " 或:%s [é¸é …]... 來æº... 目錄\n" " 或:%s [é¸é …]... -t 目錄 來æº...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "å°‡ <來æº> 檔案複製至 <目的地>,或將多個 <檔案> 複製至指定 <目錄>。\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive 等於 -dpR\n" " --backup[=CONTROL] 為æ¯å€‹å·²å­˜åœ¨çš„目的地檔案建立備份檔\n" " -b 類似 --backupï¼Œä½†ä¸æŽ¥å—ä»»ä½•åƒæ•¸\n" " --copy-contents 當使用éžè¿´æ¨¡å¼æ™‚複製特殊檔案的內容\n" " -d 等於 --no-dereference --preserve=link\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " --no-dereference 䏿œƒæ‰¾å‡ºç¬¦è™ŸéˆçµæŒ‡ç¤ºçš„真正目的地\n" " -f, --force 如果無法開啟已存在的檔案,會移除該檔案並å†\n" " 嘗試開啟\n" " -i, --interactive 覆寫檔案å‰éœ€è¦ç¢ºèª\n" " -H 使用指令列中的符號éˆçµæŒ‡ç¤ºçš„真正目的地\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -l, --link 連çµè€Œéžè¤‡è£½æª”案\n" " -L, --dereference 一定先找出符號éˆçµæŒ‡ç¤ºçš„真正目的地\n" " -p 等於 --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] è‹¥å¯èƒ½ï¼Œä¿ç•™æŒ‡å®šçš„æª”案屬性\n" " (é è¨­å€¼ç‚ºï¼šmode,ownership,timestamps)\n" " é¡å¤–的屬性有:linksã€all\n" #: src/cp.c:203 #, fuzzy msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST ä¸ä¿ç•™æŒ‡å®šçš„æª”案屬性\n" " --parents 複製å‰å…ˆåœ¨ <目錄> 建立來æºè·¯å¾‘中的所有目錄\n" " -P 等於 ‘--no-dereference’\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive 複製目錄åŠç›®éŒ„內的所有項目\n" " --remove-destination 嘗試開啟目的地檔案å‰å…ˆç§»é™¤å·²å­˜åœ¨çš„目的地\n" " 檔案 (與 --force é¸é …ä¸åŒ)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --reply={yes,no,query} 指定如何處ç†å·²å­˜åœ¨çš„目的地檔案\n" " --sparse=WHEN 控制建立 sparse 檔案的方å¼\n" " --strip-trailing-slashes ç§»é™¤åƒæ•¸ä¸­æ‰€æœ‰ <來æº> 檔案/目錄末端的斜號\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link åªå»ºç«‹ç¬¦è™Ÿéˆçµè€Œä¸æ˜¯è¤‡è£½æª”案\n" " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" " -t, --target-directory=目錄 將所有 <來æº> 檔案/目錄複製至指定的 <目錄>\n" " -T, --no-target-directory å°‡ <目的地> 看作普通檔案處ç†\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update åªåœ¨ <來æº> 檔案比目的地檔案新,\n" " 或目的地檔案ä¸å­˜åœ¨æ™‚æ‰é€²è¡Œè¤‡è£½\n" " -v, --verbose 詳細顯示進行的步驟\n" " -x, --one-file-system 䏿œƒè·¨è¶Šæª”案系統進行æ“作\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "é è¨­æ¨¡å¼ä¸­ï¼Œ<來æº> æª”æ¡ˆæ˜¯å¦ sparse 檔案會經粗略的估計來決定,而且相應\n" "çš„ <目的地> 檔案也會是 sparse 檔案。此方å¼ç­‰æ–¼ä½¿ç”¨ --sparse=auto é¸é …。指定\n" "--sparse=always 則åªè¦ <來æº> æª”å«æœ‰è¶³å¤ é•·çš„ 0 ä½å…ƒçµ„都會產生 sparse çš„\n" "<目的地> 檔案。使用 --sparse=never æœƒç¦æ­¢ç”¢ç”Ÿ sparse 檔案。\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "備份檔的後置字串為 ‘~’,除éžä»¥ --suffix é¸é …或是 SIMPLE_BACKUP_SUFFIX\n" "環境變數指定。版本控制的方å¼å¯é€éŽ --backup é¸é …或 VERSION_CONTROL 環境\n" "è®Šæ•¸ä¾†é¸æ“‡ã€‚以下是å¯ç”¨çš„變數值:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off 䏿œƒé€²è¡Œå‚™ä»½ (å³ä½¿ä½¿ç”¨äº† --backup é¸é …ä¹Ÿä¸æœƒ)\n" " numbered, t 備份檔會加上數字\n" " existing, nil 若有數字的備份檔已經存在則使用數字,å¦å‰‡ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½\n" " simple, never æ°¸é ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "有一個特別情æ³ï¼šå¦‚æžœåŒæ™‚指定 --force å’Œ --backup é¸é …,而且 <來æº> å’Œ\n" "<目的地> 是åŒä¸€å€‹å·²å­˜åœ¨çš„æ™®é€šæª”案的話,cp 會將 <來æº> 檔案備份。\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "無法ä¿ç•™ %s 的時間" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "無法ä¿ç•™ %s 的權é™" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "無法建立目錄 %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%så·²å­˜åœ¨ä½†ä¸æ˜¯ç›®éŒ„" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "無法ä¿ç•™%s的時間" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "ç¼ºå°‘äº†æª”æ¡ˆä½œç‚ºåƒæ•¸" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "%s 後缺少了目的地檔案" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "--target-directory (-t) å’Œ --no-target-directory (-T) ä¸å¯åŒæ™‚使用" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "目的地 %s 䏿˜¯ç›®éŒ„" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "ç•¶ä¿ç•™è·¯å¾‘時,目的地必須是目錄" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "指定了多於一個目的地目錄" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "ç„¡æ³•åŒæ™‚建立實際åŠç¬¦è™Ÿéˆçµ" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "ä¸èƒ½åŒæ™‚使用 --string åŠ --check é¸é …" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "備份方å¼" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "輸入資料消失了" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s:行號超出範åœä»¥å¤–" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s:‘%s’:行號超出範åœä»¥å¤–" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s:‘%s’:找ä¸åˆ°ç¬¦åˆçš„字串" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "寫入‘%s’時發生錯誤" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s:分隔符號後應該是整數" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s:é‡è¤‡çš„æ•¸ç›®å¾Œæ‡‰è©²æ˜¯ ‘}’ å­—å…ƒ" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}:‘{’ å’Œ ‘}’ 之間必須是整數" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s:缺少了å°é–‰åˆ†éš”符號 ‘%c’" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s:無效的樣å¼" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s:行號必須大於零" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "行號 ‘%s’ å°æ–¼ä¹‹å‰çš„行號 ‘%s’" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "警告:行號 ‘%s’ 和之å‰çš„行號一樣" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "後置字串缺少了字串轉æ›å­—符" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "後置字串的字串轉æ›å­—符無效:%c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "後置字串的字串轉æ›å­—符無效:\\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%s:無效的欄ä½è¦æ ¼â€˜%s’" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "å¾Œç½®å­—ä¸²å«æœ‰éŽå¤šçš„ %% 字串轉æ›è¦æ ¼" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "後置字串缺少了 %% 字串轉æ›è¦æ ¼" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s:無效的號碼" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "用法:%s [é¸é …]... 檔案 樣å¼...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "根據 <樣å¼> 分割 <檔案>,並將之輸出至 ‘xx01’ã€â€˜xx02’ 等等的檔案,\n" "åŒæ™‚在標準輸出顯示æ¯å€‹åˆ†å‰²éƒ¨ä»½çš„ä½å…ƒçµ„數目。\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=æ ¼å¼ ä»¥ sprintf çš„ <æ ¼å¼> 代替 %02d\n" " -f, --prefix=å‰ç½®å­—串 以 <å‰ç½®å­—串> 代替 ‘xx’\n" " -k, --keep-files é‡åˆ°éŒ¯èª¤æ™‚ä¸ç§»é™¤è¼¸å‡ºæª”\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=使•¸ ä½¿ç”¨æŒ‡å®šä½æ•¸çš„æ•¸å­—è€Œä¸æ˜¯ 2 個ä½\n" " -s, --quiet, --silent ä¸å°å‡ºè¼¸å‡ºæª”的大å°\n" " -z, --elide-empty-files 移除空白的輸出檔\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "è‹¥ <檔案> 是 - 則由標準輸入讀å–資料。æ¯ä¸€å€‹ <樣å¼> å¯ä»¥æ˜¯ï¼š\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " 整數 複製直至指定行數之å‰çš„一行\n" " /æ­£è¦è¡¨ç¤ºå¼/[å移值] 複製直至符åˆè¡¨ç¤ºå¼ä¹‹å‰çš„一行\n" " %æ­£è¦è¡¨ç¤ºå¼%[å移值] 忽略直至符åˆè¡¨ç¤ºå¼ä¹‹å‰çš„一行\n" " {整數} 將之å‰çš„æ¨£å¼é‡è¤‡æŒ‡å®šçš„æ¬¡æ•¸\n" " {*} 將之å‰çš„æ¨£å¼é‡è¤‡æœ€å¤§å¯èƒ½çš„æ¬¡æ•¸\n" "\n" "行號å移值是一個(必須的)‘+’或‘-’字元加上一個正整數。\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "在標準輸出中顯示æ¯å€‹ <檔案> æ¯ä¸€è¡Œä¸­æŒ‡å®šçš„部份。\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIST åªé¡¯ç¤ºæŒ‡å®šçš„ä½å…ƒçµ„\n" " -c, --characters=LIST åªé¡¯ç¤ºæŒ‡å®šçš„å­—å…ƒ\n" " -d, --delimiter=DELIM 以 DELIM 字元代替 TAB 作為欄ä½çš„分隔符號\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIST åªé¡¯ç¤ºæŒ‡å®šçš„æ¬„ä½ï¼›åŒæ™‚也å°å‡ºä¸å«åˆ†éš”符號的\n" " æ¯ä¸€è¡Œï¼Œé™¤éžé…åˆ -s é¸é …一起使用\n" " -n (䏿œƒä½œä»»ä½•處ç†)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr " --verbose 開啟æ¯å€‹è¼¸å‡ºæª”之å‰éƒ½åœ¨æ¨™æº–錯誤輸出顯示訊æ¯\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ä¸å°å‡ºä¸å«åˆ†éš”符號的æ¯ä¸€è¡Œ\n" " --output-delimiter=字串 以 <字串> 作為輸出資料的分隔符號\n" " é è¨­æ˜¯ä½¿ç”¨è¼¸å…¥è³‡æ–™çš„分隔符號\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "å¿…é ˆæ°å¥½æŒ‡å®š -bã€-c 或 -f 其中一個é¸é …。æ¯å€‹ LIST æ˜¯ç”±ä¸€å€‹ç¯„åœæˆ–\n" "多個以逗號分隔的範åœçµ„æˆçš„ã€‚è¼¸å‡ºçµæžœå’Œè®€å–è³‡æ–™çš„æ¬¡åºæ˜¯ä¸€æ¨£çš„ï¼Œè€Œä¸”åªæœƒ\n" "寫一次。æ¯å€‹ç¯„åœå¯ä»¥æ˜¯ï¼š\n" "\n" " N ç”± 1 開始計算,åªå–第 N 個ä½å…ƒçµ„ã€å­—元或欄ä½\n" " N- 由第 N 個ä½å…ƒçµ„ã€å­—元或欄ä½ç›´è‡³è¡Œæœ«\n" " N-M 由第 N 至第 M(包括在內)個ä½å…ƒçµ„ã€å­—元或欄ä½\n" " -M 由第 1 至第 M(包括在內)個ä½å…ƒçµ„ã€å­—元或欄ä½\n" "\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "無效的ä½å…ƒçµ„或欄ä½é¸é …" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "無效的寬度é¸é …:‘%s’" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "無效的類型‘%s’" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "ä½å…ƒçµ„ä½ç½® %s éŽå¤§" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "æ¬„ä½æ•¸ç›® %s éŽå¤§" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "指定ä½ç½®æ™‚åªèƒ½ä½¿ç”¨ä¸€ç¨®æ ¼å¼" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "分隔符號必須是æ°å¥½ä¸€å€‹å­—å…ƒ" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "必須指定一系列的ä½å…ƒçµ„ã€å­—元或欄ä½" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "åªæœ‰åœ¨è™•ç†æ¬„使™‚æ‰èƒ½æŒ‡å®šåˆ†éš”符號" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "åªæœ‰åœ¨è™•ç†æ¬„使™‚æ‰å¯ä»¥åŽ»é™¤æ²’æœ‰åˆ†éš”ç¬¦è™Ÿçš„æ¯ä¸€è¡Œ" #: src/cut.c:870 msgid "missing list of fields" msgstr "ç¼ºå°‘äº†æ¬„ä½æ•¸å€¼" #: src/cut.c:872 msgid "missing list of positions" msgstr "缺少了表示ä½ç½®çš„æ•¸å€¼" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "標準輸出" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "日期無效:‘%s’" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "正在關閉輸出檔%s" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "å°å‡ºæ—¥æœŸæ‰€ç”¨çš„é¸é …是互相矛盾的" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "å°å‡ºæ—¥æœŸå’Œè¨­å®šæ—¥æœŸçš„é¸é …ä¸å¯ä»¥åŒæ™‚使用" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "無法設定時間" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "時間 %s è¶…å‡ºå¯æŽ¥å—的範åœ" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "複製檔案,並根據以下的é¸é …將資料轉æ›å’Œæ ¼å¼åŒ–。\n" "\n" " bs=ä½å…ƒçµ„ å¼·è¿« ibs=<ä½å…ƒçµ„> åŠ obs=<ä½å…ƒçµ„>\n" " cbs=ä½å…ƒçµ„ æ¯æ¬¡è½‰æ›æŒ‡å®šçš„ <ä½å…ƒçµ„>\n" " conv=é—œéµå­— 根據以逗號分隔的關éµå­—表示的方å¼ä¾†è½‰æ›æª”案\n" " count=倿®µæ•¸ç›® åªè¤‡è£½æŒ‡å®š <倿®µæ•¸ç›®> 的輸入資料\n" " ibs=ä½å…ƒçµ„ æ¯æ¬¡è®€å–指定的 <ä½å…ƒçµ„>\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=檔案 è®€å– <檔案> å…§å®¹è€Œéžæ¨™æº–輸入的資料\n" " obs=ä½å…ƒçµ„ æ¯æ¬¡å¯«å…¥æŒ‡å®šçš„ <ä½å…ƒçµ„>\n" " of=檔案 將資料寫入 <檔案> 而ä¸åœ¨æ¨™æº–輸出顯示\n" " seek=倿®µæ•¸ç›® 先略éŽä»¥ obs 為單ä½çš„æŒ‡å®š <倿®µæ•¸ç›®> 的輸出資料\n" " skip=倿®µæ•¸ç›® 先略éŽä»¥ ibs 為單ä½çš„æŒ‡å®š <倿®µæ•¸ç›®> 的輸入資料\n" " status=noxfer ä¸é¡¯ç¤ºè¼¸å…¥/è¼¸å‡ºçµæžœ\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "<倿®µæ•¸ç›®> åŠ <ä½å…ƒçµ„> å¯ä»¥åŠ ä¸Šä»¥ä¸‹çš„å–®ä½ï¼š\n" "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" "æ¯å€‹ <é—œéµå­—> å¯ä»¥æ˜¯ï¼š\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii ç”± EBCDIC 轉æ›è‡³ ASCII\n" " ebcdic ç”± ASCII 轉æ›è‡³ EBCDIC\n" " ibm ç”± ASCII 轉æ›è‡³ alternate EBCDIC\n" " block 將以 newline ä½œç‚ºçµæŸå­—å…ƒçš„å€æ®µçš„ newline æ›æˆç©ºæ ¼ï¼Œ\n" " 直至空格填滿 cbs 表示的大å°\n" " unblock 會將 cbs 大å°çš„倿®µä¸­æ‰€æœ‰çµæŸçš„空格刪除,\n" " 並轉æ›ç‚ºä¸€å€‹ newline å­—å…ƒ\n" " lcase 將大寫字元轉æ›ç‚ºå°å¯«\n" " ucase å°‡å°å¯«å­—元轉æ›ç‚ºå¤§å¯«\n" " swab äº¤æ›æ¯ä¸€å°è¼¸å…¥è³‡æ–™ä½å…ƒçµ„\n" " sync å°‡æ¯å€‹è¼¸å…¥è³‡æ–™å€æ®µä»¥ NUL 字元填滿至 ibs 的大å°ï¼›\n" " ç•¶é…åˆ block 或 unblock 時,會以空格代替 NUL 字元填充\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl 如果輸出檔已經存在則作為失敗處ç†\n" " nocreat 輸出檔ä¸å­˜åœ¨çš„è©±ä¸æœƒå¯«å‡ºçµæžœ\n" " notrunc 䏿ˆªæ–·è¼¸å‡ºæª”\n" " noerror 讀å–資料發生錯誤後ä»ç„¶ç¹¼çºŒ\n" " fdatasync 真正將資料寫入ç£ç¢Ÿå¾Œæ‰çµæŸç¨‹å¼\n" " fsync 類似 fdatasync,並寫入元資料\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "建立目錄時ä¸èƒ½æŒ‡å®šç›®çš„地目錄" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "å°‡ SIGUSR1 訊號é€è‡³åŸ·è¡Œä¸­çš„ ‘dd’ 進程時,會在標準錯誤顯示 I/O 統計資料,\n" "然後繼續執行程å¼ã€‚\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -USR1 $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "é¸é …包括:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "å€‹è¢«æˆªæ–·äº†çš„å€æ®µ" #: src/dd.c:701 #, fuzzy, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "複製了 %s ä½å…ƒçµ„ (%s)" #: src/dd.c:720 #, fuzzy msgid "Infinity B" msgstr "ç„¡é™" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ",%g 秒,%s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "正在關閉輸入檔 %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "正在關閉輸出檔%s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "無法更改%s的所屬群組為 %s\n" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "正在寫入 %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "ç„¡æ³•è­˜åˆ¥åƒæ•¸ %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "轉æ›ç”¨çš„é—œéµå­—無效:%s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "輸入旗標無效:%s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "輸出旗標無效:%s" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "狀態旗標無效:%s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "數字 %s 無效" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "ä¸å¯åŒæ™‚使用 ascii, ebcdic, ibm 中的任何二個" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "ä¸å¯åŒæ™‚使用 block å’Œ unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "ä¸å¯åŒæ™‚使用 lcase å’Œ ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "ä¸å¯åŒæ™‚使用 excl å’Œ nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "ä¸å¯åŒæ™‚使用 excl å’Œ nocreat" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "警告:暫時é¿å…有關檔案 (%s) çš„ lseek 核心錯誤,檔案的 mt_type=0x%0lx ─\n" " 有關 mt_type 類型的清單請åƒè€ƒ <sys/mtio.h>" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s:無法æœå°‹" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s:無法æœå°‹" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "警告:寬度 %lu 是無效的;以 %d 代替" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "無法é¿é–‹ç³»çµ±æ ¸å¿ƒçš„錯誤" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s:無法æœå°‹è‡³ç›¸å°ä½ç½® %s%s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "ç•¥éŽè¼¸å‡ºæª”%2$sçš„æœ€åˆ %1$s 個ä½å…ƒçµ„" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "%s çš„ fdatasync 失敗" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "%s çš„ fsync 失敗" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "無法ä¿ç•™%s的時間" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "ç•¥éŽè¼¸å‡ºæª”%2$sçš„æœ€åˆ %1$s 個ä½å…ƒçµ„" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "無法更改%s的所屬群組為 %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "檔案系統" #: src/df.c:175 msgid "Type" msgstr "類型" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "倿®µ" #: src/df.c:181 msgid "Used" msgstr "已用" #: src/df.c:184 msgid "Available" msgstr "å¯ç”¨" #: src/df.c:187 msgid "Use%" msgstr "已用%" #: src/df.c:190 msgid "Inodes" msgstr "Inode" #: src/df.c:193 msgid "IUsed" msgstr "I已用" #: src/df.c:196 msgid "IFree" msgstr "Iå¯ç”¨" #: src/df.c:199 msgid "IUse%" msgstr "I已用%" #: src/df.c:202 msgid "Mounted on" msgstr "掛載點" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "è­¦å‘Šï¼šæŒ‡å®šäº†ä¾†æºæª” %s 多於一次" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "容é‡" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "å¯ç”¨" #: src/df.c:474 msgid "Capacity" msgstr "容é‡" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "顯示æ¯å€‹ <檔案> 所在的檔案系統的資訊,é è¨­æ˜¯é¡¯ç¤ºæ‰€æœ‰æª”案系統。\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 包括大å°ç‚º 0 個倿®µçš„æª”案系統\n" " -B, --block-size=å¤§å° å€æ®µä»¥æŒ‡å®š <大å°> çš„ä½å…ƒçµ„為單ä½\n" " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼å°å‡ºæª”æ¡ˆç³»çµ±å¤§å° (例如 1K 234M 2G)\n" " -H, --si 類似 -h,但以 1000 為單ä½è€Œä¸æ˜¯ 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes 顯示 inode 資訊而éžç©ºé–“使用é‡\n" " -k å³ --block-size=1K\n" " -l, --local åªé¡¯ç¤ºæœ¬æ©Ÿçš„æª”案系統\n" " --no-sync å–得使用é‡è³‡æ–™å‰ä¸é€²è¡Œ sync 動作 (é è¨­)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability 使用 POSIX 輸出格å¼\n" " --sync å–得使用é‡è³‡æ–™å‰å…ˆé€²è¡Œ sync 動作\n" " -t, --type=類型 åªå°å‡ºæŒ‡å®š <類型> 的檔案系統資訊\n" " -T, --print-type å°å‡ºæª”案系統類型\n" " -x, --exclude-type=類型 åªå°å‡ºä¸æ˜¯æŒ‡å®š <類型> 的檔案系統資訊\n" " -v (æ­¤é¸é …ä¸ä½œè™•ç†)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "å°å‡ºæ—¥æœŸæ‰€ç”¨çš„é¸é …是互相矛盾的" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "警告:" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "ä¸èƒ½åŒæ™‚鏿“‡å’ŒæŽ’除檔案系統類型 %s" #: src/df.c:1500 msgid "Warning: " msgstr "警告:" #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%s 無法讀å–已掛載的檔案系統的åå–®" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "用法:%s [é¸é …]... [檔案]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "輸出用來設定 LS_COLORS 環境變數的指令。\n" "\n" "æŒ‡å®šè¼¸å‡ºçš„è¦æ ¼ï¼š\n" " -b, --sh, --bourne-shell 輸出設定 LS_COLORS çš„ Bourne shell 指令\n" " -c, --csh, --c-shell 輸出設定 LS_COLORS çš„ C shell 指令\n" " -p, --print-database 輸出é è¨­çš„色彩設定\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "如果指定 <檔案>,則讀å–該檔案的資料來決定檔案類型åŠå»¶ä¼¸æª”å相應的é¡è‰²ã€‚\n" "å¦å‰‡ï¼Œæœƒä½¿ç”¨ä¸€å€‹é è¨­çš„資料庫。如è¦çž­è§£æ­¤æª”案格å¼çš„細節,請執行\n" "‘dircolors --print-database’。\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%luï¼šè©²è¡Œå…§å®¹ç„¡æ•ˆï¼Œç¼ºå°‘äº†ç¬¬äºŒå€‹åƒæ•¸" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu:無法識別關éµå­— %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<內部資料>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "顯示 dircolors 內部資料庫的é¸é …å’Œé¸æ“‡ shell 語法的é¸é …\n" "是互相抵觸的" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "åŠ ä¸Šæª”æ¡ˆä½œç‚ºåƒæ•¸çš„話ä¸å¯å’Œ --print-database (-p) 一起使用。" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "沒有設定 SHELL 環境變數,也沒有指定 shell 類型的é¸é …" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "顯示檔案å稱時減去最後一個 ‘/’ 和之後的內容;如果å稱中沒有 ‘/’,則\n" "顯示 ‘.’ (表示當å‰ç›®éŒ„)。\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated 以ä½å…ƒçµ„ 0 è€Œéž newline 字元作為æ¯è¡Œçš„çµæŸå­—å…ƒ\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "用法:%s [é¸é …]... [檔案]...\n" " 或:%s [é¸é …]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "ç¸½çµæ¯å€‹ <檔案> çš„ç£ç¢Ÿç”¨é‡ï¼Œç›®éŒ„則å–總用é‡ã€‚\n" "\n" # (Abel) doesn't need to translate into such detail for --apparent-size #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all 顯示目錄中所有檔案的佔用é‡ï¼Œä¸¦éžåªæ˜¯ç›®éŒ„的總用é‡\n" " --apparent-size 顯示表é¢ä¸Šçš„æª”案大å°è€Œä¸æ˜¯çœŸæ­£çš„空間佔用é‡ï¼›é›–ç„¶\n" " 表é¢ä¸Šæª”案通常比較å°ï¼Œä½†ä¹Ÿæœ‰å¯èƒ½æ¯”較大 (例如 sparse\n" " æª”æ¡ˆã€æª”æ¡ˆåˆ†æˆæ•¸æ®µç­‰ç­‰)\n" " -B, --block-size=å¤§å° å€æ®µä»¥æŒ‡å®š <大å°> çš„ä½å…ƒçµ„為單ä½\n" " -b, --bytes 等於 ‘--apparent-size --block-size=1’\n" " -c, --total å°å‡ºæ‰€æœ‰é …目相加後的總用é‡\n" " -D, --dereference-args åªæ‰¾å‡ºç¬¦è™Ÿéˆçµæ‰€æŒ‡ç¤ºçš„真正目的地\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -x, --one-file-system 忽略屬於其它檔案系統的目錄\n" " -X 檔案, --exclude-from=檔案 ç”± <檔案> è®€å–æ‡‰æŽ’除的檔案的樣å¼\n" " --exclude=æ¨£å¼ æŽ’é™¤ç¬¦åˆæŒ‡å®š <樣å¼> 的檔案\n" " --max-depth=N åªé¡¯ç¤ºåƒæ•¸æŒ‡å®šçš„目錄 N 層或以內的å­ç›®éŒ„的總用é‡\n" " (若使用 --all é¸é …,也會顯示檔案的佔用é‡)ï¼›\n" " --max-depth=0 的效果等於 --summarize\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F ç¸½çµæª”案 F 中所有檔案å稱的使用é‡ï¼Œè€Œä¸”所有檔案å稱\n" " 都以 NUL 字元作為çµå°¾\n" " -H å³ --si,但會顯示警告訊æ¯ï¼›ç¨å¾Œæœƒå°‡æœ¬é¸é …çš„æ„義更改\n" " 為和 --dereference-args (-D) 一樣\n" " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼å°å‡ºæª”æ¡ˆå¤§å° (例如 1K 234M 2G)\n" " --si 類似 -hï¼Œä½†å– 1000 çš„æ¬¡æ–¹è€Œä¸æ˜¯ 1024\n" " -k å³ --block-size=1K\n" " -l, --count-links 將所有實際éˆçµ (hard link) 的大å°ä¹Ÿè¨ˆç®—在內\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference 找出任何符號éˆçµæŒ‡ç¤ºçš„真正目的地\n" " -P, --no-dereference ä¸è·Ÿéš¨ä»»ä½•符號éˆçµ (這個是é è¨­æ¨¡å¼)\n" " -0, --null æ¯è¡Œéƒ½ä»¥ NUL å­—å…ƒè€Œä¸æ˜¯æ›è¡Œä½œç‚ºçµå°¾\n" " -S, --separate-dirs ä¸åŒ…括å­ç›®éŒ„的佔用é‡\n" " -s, --summarize åªåˆ†åˆ¥è¨ˆç®—æ¯å€‹æª”æ¡ˆåƒæ•¸æ‰€ä½”的總用é‡\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -S æ ¹æ“šæª”æ¡ˆå¤§å°æŽ’åº\n" " --sort=WORD 以下是å¯é¸ç”¨çš„ WORD 和它們代表的相應é¸é …:\n" " extension -X status -c\n" " none -U time -t\n" " size -S atime -u\n" " time -t access -u\n" " version -v use -u\n" " --time=WORD 顯示 WORD 所代表的時間而éžä¿®æ”¹æ™‚間:\n" " atimeã€accessã€useã€ctime 或 status;加上\n" " --sort=time é¸é …時會以指定時間作為排åºç´¢å¼•\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "ç„¡é™" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read 失敗" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "最大深度 %s 無效" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "åƒæ•¸ç„¡æ•ˆ: %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "ä¸èƒ½åªé¡¯ç¤ºç¸½ç”¨é‡ï¼ŒåŒæ™‚åˆé¡¯ç¤ºæ¯å€‹é …ç›®" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "警告:顯示總用é‡ç­‰æ–¼ä½¿ç”¨ --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "警告:顯示總用é‡çš„é¸é …å’Œ --max-depth=%lu 互相抵觸" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "æœ‰æª”æ¡ˆä½œç‚ºåƒæ•¸æ™‚ä¸å¯å’Œ --files0-from 一起使用。" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%sï¼šè®€å–æ™‚發生錯誤" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "檔案å稱無效 (長度為零)" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "總計" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "用法:%s [字串]...\n" " 或:%s é¸é …\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "在標準輸出顯示指定 <字串>。\n" "\n" " -n ä¸åŠ ä¸Šæœ€å¾Œçš„æ›è¡Œå­—å…ƒ\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\\’ çš„ç‰¹æ®Šæ ¼å¼ (é è¨­ä½¿ç”¨)\n" " -E ä¸èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\\’ 的特殊格å¼\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\\’ 的特殊格å¼\n" " -E ä¸èƒ½å¤ è­˜åˆ¥åŠ ä¸Šåæ–œè™Ÿ ‘\\’ çš„ç‰¹æ®Šæ ¼å¼ (é è¨­ä½¿ç”¨)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c 立刻終止輸出任何內容\n" " \\f æ›é å­—å…ƒ (form feed)\n" " \\n æ›è¡Œå­—å…ƒ (new line)\n" " \\r 復ä½å­—å…ƒ (return)\n" " \\t 水平定ä½å­—å…ƒ (tab)\n" " \\v 垂直定ä½å­—å…ƒ\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "用法:%s [é¸é …]... [-] [NAME=VALUE]... [指令 [åƒæ•¸]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "僅用 - 已經等於 -i é¸é …。如果沒有指定 <指令>,則顯示所有環境變數。\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "無法 stat %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "無法 stat %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°‡æ¯å€‹ <檔案> 中的 tab 轉æ›ç‚ºç©ºæ ¼ï¼Œä¸¦åœ¨æ¨™æº–輸出顯示。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ä¸è½‰æ›éžç©ºç™½å­—元後的 TAB å­—å…ƒ\n" " -t, --tabs=數目 å°‡ tab 轉æ›ç‚ºæŒ‡å®š <數目> çš„ç©ºæ ¼è€Œä¸æ˜¯ 8 個\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=LIST 用以逗號分隔的數字來指定 tab çš„ä½ç½®\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tab 字元寬度 %s éŽé•·" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tab å­—å…ƒå¯¬åº¦å«æœ‰ç„¡æ•ˆçš„字元:%s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tab 字元寬度ä¸å¯ç‚º 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tab å­—å…ƒä½ç½®å¿…須由å°è‡³å¤§" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "輸入內容éŽé•·" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "用法:%s 表示å¼\n" " 或:%s é¸é …\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "æ ¼å¼éŒ¯èª¤" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "在正è¦é‹ç®—弿œå°‹æ™‚發生錯誤" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "åƒæ•¸çµæžœä¸æ˜¯æ•¸å­—" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "被 0 整除" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "請設定 LC_ALL='C' é¿å…å•題出ç¾ã€‚" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "è¦æ¯”較的字串為%såŠ%s。" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "‘%s’ 䏿˜¯æœ‰æ•ˆçš„æ­£æ•´æ•¸" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s éŽé•·" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [數字]...\n" " 或:%s é¸é …\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " 顯示æ¯å€‹æŒ‡å®šæ•´æ•¸çš„質因å­ã€‚å¦‚æžœæ²’æœ‰åƒæ•¸ï¼Œå‰‡æœƒç”±æ¨™æº–輸入讀å–åƒæ•¸ã€‚\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "無法讀å–ç›®å‰çš„目錄ä½ç½®" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "無法進入 %s 目錄" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "無法 stat ç›®å‰çš„目錄 (ç¾åœ¨æ˜¯ %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "用法:%s [-數字] [é¸é …]... [檔案]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "釿–°ç·¨æŽ’ <檔案> 中的æ¯ä¸€æ®µæ–‡å­—ï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "如果沒有指定 <檔案> 或 <檔案> 是‘-’,則由標準輸入讀å–資料。\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin ä¿ç•™æœ€åˆå…©è¡Œçš„縮排方å¼\n" " -p, --prefix=字串 åªè™•ç†å«æœ‰æŒ‡å®šå‰ç½® <字串> çš„æ¯ä¸€è¡Œï¼Œä¸¦å°‡è™•ç†å¥½\n" " çš„çµæžœé‡æ–°åŠ ä¸Š <字串>\n" " -s, --split-only åªå°‡ä¸€è¡ŒéŽé•·çš„資料分開,而ä¸åˆä½µå¤šæ–¼ä¸€è¡Œçš„資料\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph 第一和第二行的縮排方å¼ä¸åŒ\n" " -u, --uniform-spacing æ¯å…©å€‹å­—之間以一個空格分隔,å¥å­å¾Œå‰‡ç”¨å…©å€‹ç©ºæ ¼\n" " -w, --width=數字 最大的行寬 (é è¨­ç‚º 75 個字元)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "寬度無效:%s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "å°‡ <檔案> (é è¨­ç‚ºæ¨™æº–輸入) 中的æ¯ä¸€è¡Œé€²è¡Œè‡ªå‹•æ›è¡Œï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes 計算ä½å…ƒçµ„總數而éžå­—å…ƒä½ç½®\n" " -s, --spaces åªåœ¨ç©ºæ ¼ä½ç½®æ–·é–‹\n" " -w, --width=寬度 使用指定的 <寬度> ä½œç‚ºè¡Œå¯¬è€Œéž 80\n" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "ç„¡æ•ˆçš„æ¬„ä½æ•¸ç›®ï¼šâ€˜%s’" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "無法將 %s 的所屬群組更改為 %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "無法將 %s 的所屬群組更改為 %s\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "%s: 找ä¸åˆ° UID 為 %lu 的用戶å稱\n" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "用法:%s [é¸é …]... [用戶å稱]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "無法設定時間" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s:此用戶ä¸å­˜åœ¨" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "在標準輸出顯示æ¯å€‹ <檔案> çš„æœ€åˆ 10 行。\n" "當多於一個 <檔案> 時,顯示時會先加上表示檔案å稱的標頭。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N 顯示æ¯å€‹æª”æ¡ˆçš„æœ€åˆ N 個ä½å…ƒçµ„;如果附有 ‘-’ 號,\n" " 則顯示整個檔案減去最後 N 個ä½å…ƒçµ„\n" " -n, --lines=[-]N 顯示æ¯å€‹æª”æ¡ˆçš„æœ€åˆ N 行;如果附有 ‘-’ 號,\n" " 則顯示整個檔案減去最後 N 行\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent 絕ä¸é¡¯ç¤ºå«æœ‰æª”案å稱的標頭\n" " -v, --verbose ä¸€å®šé¡¯ç¤ºå«æœ‰æª”案å稱的標頭\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "<倿®µæ•¸ç›®> åŠ <ä½å…ƒçµ„> å¯ä»¥åŠ ä¸Šä»¥ä¸‹çš„å–®ä½ï¼š\n" "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" "æ¯å€‹ <é—œéµå­—> å¯ä»¥æ˜¯ï¼š\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s:ä½å…ƒçµ„數目éŽå¤§" #: src/head.c:440 #, fuzzy, c-format msgid "%s: cannot lseek back to original position" msgstr "%s:無法æœå°‹è‡³åŽŸä¾†ä½ç½®" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s:無法æœå°‹è‡³ä½ç½® %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s:無法移除" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "無法將 %s çš„æª”æ¡ˆæŒ‡æ¨™é‡æ–°å®šä½" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s:%séŽå¤§ï¼Œå› æ­¤ç„¡æ³•表示" #: src/head.c:886 msgid "number of lines" msgstr "行數" #: src/head.c:886 msgid "number of bytes" msgstr "ä½å…ƒçµ„數目" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "無效的行數" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "無效的ä½å…ƒçµ„數目" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "é¸é …無效 ─ %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "用法:%s [å稱]\n" " 或:%s é¸é …\n" "顯示或指定系統的主機å稱。\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "用法:%s [å稱]\n" " 或:%s é¸é …\n" "顯示或指定系統的主機å稱。\n" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "無法指定å稱為 ‘%s’" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "無法決定主機å稱" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "用法:%s [é¸é …]... [用戶å稱]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "顯示有關 <用戶å稱> 的資訊,沒有指定的話則顯示目å‰çš„用戶的資訊。\n" "\n" " -a æ­¤é¸é …會被忽略,åªç‚ºäº†å’Œå…¶å®ƒç‰ˆæœ¬å…¼å®¹\n" " -g, --group åªé¡¯ç¤º effective group ID\n" " -G, --groups 顯示所有群組的 group IDs\n" " -n, --name é…åˆ -u/-g/-G é¸é …時,顯示åç¨±è€Œä¸æ˜¯æ•¸å­—\n" " -r, --real é…åˆ -u/-g/-G é¸é …時,顯示真正的 ID è€Œä¸æ˜¯ effective ID\n" " -u, --user åªé¡¯ç¤º effective user ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "ä¸åŠ ä¸Šä»»ä½•é¸é …的話,顯示一些有用的身分識別資訊。\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "ä¸èƒ½ç”¨è¶…éŽä¸€ç¨®æ–¹å¼é€²è¡Œåˆ†å‰²" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "在é è¨­çš„輸出格å¼ä¸­ä¸å¯èƒ½åªé¡¯ç¤ºå稱或者真正的 ID" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "無法設定時間" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%s: 找ä¸åˆ° UID 為 %lu 的用戶å稱\n" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "無法建立目錄%s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "正在建立目錄 %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "無法更改 %s çš„æ“æœ‰æ¬Š" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "無法設定 %s 的檔案時間" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "調用 fork() 系統函å¼å¤±æ•—" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "無法執行 strip 指令" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "正在寫入 %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "使用者 %s 無效" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "用法:%s [é¸é …]... [-T] ä¾†æº ç›®çš„åœ°\n" " 或:%s [é¸é …]... 來æº... 目錄\n" " 或:%s [é¸é …]... -t 目錄 來æº...\n" " 或:%s [é¸é …]... -d 目錄...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "在最åˆä¸‰ç¨®æ ¼å¼ä¸­ï¼Œæœƒå°‡ <來æº> 複製至 <目的地> 或將多個 <來æº>\n" "複製至已存在的 <目錄>ï¼ŒåŒæ™‚è¨­å®šæ¬Šé™æ¨¡å¼åŠæ“有者/所屬群組。\n" "在第四種格å¼ä¸­ï¼Œæœƒå»ºç«‹æ‰€æœ‰æŒ‡å®šçš„目錄åŠå®ƒå€‘的所有上層目錄。\n" "\n" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] 為æ¯å€‹å·²å­˜åœ¨çš„目的地檔案進行備份\n" " -b 類似 --backupï¼Œä½†ä¸æŽ¥å—ä»»ä½•åƒæ•¸\n" " -c (æ­¤é¸é …ä¸ä½œè™•ç†)\n" " -d, --directory æ‰€æœ‰åƒæ•¸éƒ½ä½œç‚ºç›®éŒ„處ç†ï¼›è€Œä¸”會建立指定目錄的所有主目" "錄\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D 建立 <目的地> 的所有上層目錄,然後將 <來æº> 複製至\n" " <目的地>\n" " -g, --group=群組 è‡ªè¡ŒæŒ‡å®šæ‰€å±¬ç¾¤çµ„ï¼Œè€Œä¸æ˜¯é€²ç¨‹ç›®å‰çš„æ‰€å±¬ç¾¤çµ„\n" " -m, --mode=æ¨¡å¼ è‡ªè¡ŒæŒ‡å®šæ¬Šé™æ¨¡å¼ (åƒ chmod)ï¼Œè€Œä¸æ˜¯ rwxr-xr-x\n" " -o, --owner=æ“æœ‰è€… è‡ªè¡ŒæŒ‡å®šæ“æœ‰è€… (åªé©ç”¨æ–¼æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨è€…)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps 以 <來æº> 檔案的存å–/修改時間作為相應的目的\n" " 地檔案時間屬性\n" " -s, --strip 用 strip 指令移除 symbol table\n" " -S, --suffix=字串 自行指定備份檔的後置 <字串>\n" " -t, --target-directory=目錄 將所有 <來æº> 複製至該目錄\n" " -T, --no-target-directory å°‡ç›®çš„åœ°çœ‹æˆæ™®é€šæª”案\n" " -v, --verbose 建立æ¯å€‹ç›®éŒ„時都顯示å稱\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "建立目錄時ä¸èƒ½ç”¨ strip é¸é …" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "建立目錄時ä¸èƒ½æŒ‡å®šç›®çš„地目錄" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "æ¬Šé™æ¨¡å¼ %s 無效" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "ä¸èƒ½åŒæ™‚使用 --string åŠ --check é¸é …" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "å°å‡ºæ—¥æœŸæ‰€ç”¨çš„é¸é …是互相矛盾的" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "當兩個檔案指定è¦åˆä½µçš„æ¬„ä½ç›¸åŒæ™‚,åˆä½µå…©è¡Œæˆç‚ºä¸€è¡Œï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "é è¨­çš„åˆä½µæ¬„使˜¯ç¬¬ä¸€å€‹æ¬„ä½(以空格分隔計算)。如果 <檔案1> 或 <檔案2> 是 -\n" "(但ä¸èƒ½å…©å€‹éƒ½æ˜¯),則由標準輸入讀å–資料。\n" "\n" " -a 檔案數字 ç•¶æŸè¡Œé‡åˆ°ç„¡æ³•é…å°çš„æ¬„使™‚,å–其中一個檔案的內容顯示;\n" " 其中 <檔案數字> å¯ä»¥æ˜¯ 1 或 2,分別代表 <檔案1> 或 <檔案" "2>\n" " -e 字串 ç•¶ç¼ºå°‘è¼¸å…¥æ¬„ä½æ™‚,以 <字串> 代替\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ç•¶æ¯”è¼ƒæ¬„ä½æ™‚ä¸ç†æœƒå¤§å°å¯«\n" " -j æ¬„ä½ ç­‰æ–¼ ‘-1 æ¬„ä½ -2 欄ä½â€™\n" " -o æ ¼å¼ ç•¶è¼¸å‡ºæ™‚éµå¾žæŒ‡å®š <æ ¼å¼>\n" " -t å­—å…ƒ 以 <å­—å…ƒ> 作為輸入和輸出的欄ä½åˆ†éš”符號\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "除éžä½¿ç”¨äº† ‘-t 字元’ é¸é …,這時會忽略æ¯è¡Œé–‹å§‹çš„空白字元,å¦å‰‡æ¬„使œƒä»¥æŒ‡å®šçš„\n" "<å­—å…ƒ> 分隔。<欄ä½> 編號是由 1 開始算起的。<æ ¼å¼> 是一個或多個以逗號分隔的\n" "字串,æ¯å€‹å­—串å¯ä»¥æ˜¯ ‘<檔案數字>.<欄ä½>’ 或 ‘0’。é è¨­çš„ <æ ¼å¼>是先輸出用來\n" "åˆä½µçš„æ¬„ä½ï¼Œç„¶å¾Œæ˜¯ <檔案1> 的其它欄ä½ï¼Œæœ€å¾Œæ˜¯ <檔案2> 的其它欄ä½ï¼Œå…¨éƒ¨çš†ä»¥\n" "<å­—å…ƒ> 來分隔。\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "無效的欄ä½ç·¨è™Ÿï¼š%s" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "無效的欄ä½è¦æ ¼ï¼šâ€˜%s’" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "欄ä½è¦æ ¼ä¸­å«æœ‰ç„¡æ•ˆçš„æª”案編號:‘%s’" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "分隔欄ä½å­—元‘%s’多於一個字元" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "兩個檔案ä¸èƒ½éƒ½æ˜¯æ¨™æº–輸入" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s:進程編號無效" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "é¸é …無效 ─ %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s:使用了多於一個訊號" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "-l 或 -t é¸é …使用了多於一次" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "使用 -l 或 -t 時ä¸èƒ½åŒæ™‚指定訊號" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "未指定進程編號" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "é€éŽèª¿ç”¨ link 函å¼ï¼Œå»ºç«‹é€£è‡³ <檔案1> çš„éˆçµï¼Œéˆçµå稱為 <檔案2>。\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "無法建立連至 %2$s çš„éˆçµ %1$s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: ä¸å…許將實際éˆçµ (hard link) 連至目錄" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s:ä¸å¯ä»¥è¦†å¯«ç›®éŒ„" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s:是å¦ç½®æ› %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "無法建立符號éˆçµ %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的符號éˆçµ %1$s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的實際éˆçµ (hard link) %1$s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的實際éˆçµ (hard link) %1$s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "ä¸å¯ä»¥å»ºç«‹é€£è‡³ %2$s 的實際éˆçµ (hard link) %1$s" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "用法:%s [é¸é …]... ä¾†æº ç›®çš„åœ° (第一種格å¼)\n" " 或:%s [é¸é …]... 來æº... 目錄 (第二種格å¼)\n" " 或:%s -d [é¸é …]... 目錄... (第三種格å¼)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "建立連至指定 <目標> çš„éˆçµï¼Œä¸¦å¯é¸æ“‡æŒ‡å®š <éˆçµå稱>。\n" "如果沒有指定 <éˆçµå稱>,會在目å‰çš„目錄中建立一個和 <目標> å稱一樣的éˆçµã€‚\n" "當使用第二種格å¼è€Œ <目標> å¤šæ–¼ä¸€å€‹æ™‚ï¼Œæœ€å¾Œçš„åƒæ•¸å¿…須是目錄;這樣會在指定的\n" "<目錄> 中分別建立連至æ¯å€‹ <目標> çš„éˆçµã€‚é è¨­çš„é‹ä½œæ–¹å¼æ˜¯å»ºç«‹å¯¦éš›éˆçµ (hard\n" "link),若使用 --symbolic é¸é …則建立符號éˆçµã€‚當建立實際éˆçµæ™‚,æ¯å€‹ <目標>\n" "都必須存在。\n" "\n" #: src/ln.c:394 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] 為æ¯å€‹å·²å­˜åœ¨çš„目的地檔案建立備份檔\n" " -b 類似 --backupï¼Œä½†ä¸æŽ¥å—ä»»ä½•åƒæ•¸\n" " -d, -F, --directory 建立連至目錄的實際éˆçµ (åªé©ç”¨æ–¼æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨" "者)\n" " -f, --force 強迫移除任何已存在的目的地檔案\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference 如果目的地是一個連çµè‡³æŸç›®éŒ„的符號éˆçµï¼Œæœƒå°‡\n" " 該符號éˆçµç•¶ä½œæ™®é€šæª”案處ç†ï¼Œæœƒå…ˆå‚™ä»½æˆ–移除該\n" " éˆçµ\n" " -i, --interactive ç¢ºèªæ˜¯å¦ç§»é™¤ç›®çš„地檔案\n" " -s, --symbolic 建立符號éˆçµè€Œä¸æ˜¯å¯¦éš›éˆçµ\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" " --target-directory=目錄 在指定 <目錄> 中建立éˆçµ\n" " -v, --verbose 連çµå‰å…ˆå°å‡ºæ¯å€‹æª”案的å稱\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%så·²å­˜åœ¨ä½†ä¸æ˜¯ç›®éŒ„" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "無法建立符號éˆçµ %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, fuzzy, c-format msgid "Usage: %s [OPTION]\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s:無效的號碼" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 #, fuzzy msgid "%b %e %Y" msgstr "%Y-%m-%d %H:%M" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 #, fuzzy msgid "%b %e %H:%M" msgstr "%Y-%m-%d %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "忽略無效的環境變數 QUOTING_STYLE 的變數值:%s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "忽略無效的環境變數 COLUMNS 的寬度數值:%s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "忽略無效的環境變數 TABSIZE çš„ tab 字元定ä½å€¼ï¼š%s" #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "無效的寬度:‘%s’" #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "無效的類型‘%s’" #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "æœ‰æ•ˆçš„åƒæ•¸ç‚ºï¼š" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, fuzzy, c-format msgid "unrecognized prefix: %s" msgstr "無法識別的é¸é …‘-%c’" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "LS_COLORS 環境變數中存在無法分æžçš„值" #: src/ls.c:2514 src/pwd.c:161 #, fuzzy, c-format msgid "cannot open directory %s" msgstr "無法建立目錄%s" #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "無法將 %s çš„æª”æ¡ˆæŒ‡æ¨™é‡æ–°å®šä½" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "無法建立目錄%s" #: src/ls.c:2615 src/pwd.c:229 #, fuzzy, c-format msgid "reading directory %s" msgstr "無法建立目錄%s" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "無法進入%s目錄" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "è¦æ¯”較的字串為%såŠ%s。" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "列出 <檔案> 的資訊 (é è¨­ç‚ºç›®å‰çš„目錄)。\n" "å¦‚æžœä¸æŒ‡å®š -cftuSUX 或 --sort 任何一個é¸é …,則根據字æ¯å¤§å°æŽ’åºã€‚\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all ä¸éš±è—任何以 . 字元開始的項目\n" " -A, --almost-all 列出除了 . åŠ .. 以外的任何項目\n" " --author å°å‡ºæ¯å€‹æª”案的著作者\n" " -b, --escape 以八進使º¢å‡ºåºåˆ—表示ä¸å¯åˆ—å°çš„å­—å…ƒ\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=å¤§å° å€æ®µä»¥æŒ‡å®š <大å°> çš„ä½å…ƒçµ„為單ä½\n" " -B, --ignore-backups ä¸åˆ—出任何以 ~ å­—å…ƒçµæŸçš„é …ç›®\n" " -c é…åˆ -lt:根據 ctime 排åºåŠé¡¯ç¤º ctime\n" " (檔案狀態最後更改的時間)\n" " é…åˆ -l :顯示 ctime 但根據å稱排åº\n" " å¦å‰‡ :根據 ctime 排åº\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C æ¯æ¬„由上至下列出項目\n" " --color[=WHEN] 控制是å¦ä½¿ç”¨è‰²å½©åˆ†è¾¨æª”案。WHEN å¯ä»¥æ˜¯\n" " ‘never’ã€â€˜always’或‘auto’其中之一\n" " -d, --directory ç•¶é‡åˆ°ç›®éŒ„時列出目錄本身而éžç›®éŒ„內的檔案\n" " -D, --dired 產生é©åˆ Emacs çš„ dired 模å¼ä½¿ç”¨çš„çµæžœ\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f ä¸é€²è¡ŒæŽ’åºï¼Œ-aU é¸é …生效,-lst é¸é …失效\n" " -F, --classify 加上檔案類型的指示符號 (*/=@| 其中一個)\n" " --format=é—œéµå­— across -x,commas -m,horizontal -x,long -l,\n" " single-column -1,verbose -l,vertical -C\n" " --full-time å³ -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 包括大å°ç‚º 0 個倿®µçš„æª”案系統\n" " -B, --block-size=å¤§å° å€æ®µä»¥æŒ‡å®š <大å°> çš„ä½å…ƒçµ„為單ä½\n" " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼å°å‡ºæª”æ¡ˆç³»çµ±å¤§å° (例如 1K 234M 2G)\n" " -H, --si 類似 -h,但以 1000 為單ä½è€Œä¸æ˜¯ 1024\n" #: src/ls.c:4775 #, fuzzy msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -g 類似 -l,但ä¸åˆ—å‡ºæ“æœ‰è€…\n" " -G, --no-group ä¸åˆ—出任何有關群組的資訊\n" " -h, --human-readable 以容易ç†è§£çš„æ ¼å¼å°å‡ºæª”æ¡ˆå¤§å° (例如 1K 234M 2G)\n" " --si 類似 -hï¼Œä½†å– 1000 çš„æ¬¡æ–¹è€Œä¸æ˜¯ 1024\n" " -H, --dereference-command-line 使用指令列中的符號éˆçµæŒ‡ç¤ºçš„真正目的地\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=æ–¹å¼ æŒ‡å®šåœ¨æ¯å€‹é …ç›®å稱後加上指示符號 <æ–¹å¼>:\n" " none (é è¨­),classify (-F),file-type (-p)\n" " -i, --inode å°å‡ºæ¯å€‹æª”案的 inode 編號\n" " -I, --ignore=æ¨£å¼ ä¸å°å‡ºä»»ä½•ç¬¦åˆ shell è¬ç”¨å­—å…ƒ <樣å¼> 的項目\n" " -k å³ --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l 使用較長格å¼åˆ—出資訊\n" " -L, --dereference 當顯示符號éˆçµçš„æª”案資訊時,顯示符號éˆçµæ‰€æŒ‡ç¤º\n" " 的目標而並éžç¬¦è™Ÿéˆçµæœ¬èº«çš„資訊\n" " -m 所有項目以逗號分隔,並填滿整行行寬\n" #: src/ls.c:4803 #, fuzzy msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid 類似 -l,但列出 UID åŠ GID 編號\n" " -N, --literal å°å‡ºæœªç¶“處ç†çš„é …ç›®å稱 (例如ä¸ç‰¹åˆ¥è™•ç†æŽ§åˆ¶å­—" "å…ƒ)\n" " -o 類似 -l,但ä¸åˆ—出有關群組的資訊\n" " -p, --file-type 加上檔案類型的指示符號 (/=@| 其中一個)\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars 以 ? 字元代替無法列å°çš„å­—å…ƒ\n" " --show-control-chars 直接顯示無法列å°çš„å­—å…ƒ (這是é è¨­æ–¹å¼ï¼Œé™¤éžèª¿ç”¨\n" " 的程å¼å稱是‘ls’而且是在終端機畫é¢è¼¸å‡ºçµæžœ)\n" " -Q, --quote-name 將項目å稱括上雙引號\n" " --quoting-style=æ–¹å¼ ä½¿ç”¨æŒ‡å®šçš„ quoting <æ–¹å¼>顯示項目的å稱:\n" " literalã€localeã€shellã€shell-alwaysã€cã€" "escape\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse ä¾ç›¸åæ¬¡åºæŽ’åˆ—\n" " -R, --recursive åŒæ™‚列出所有å­ç›®éŒ„層\n" " -s, --size 以倿®µå¤§å°ç‚ºå–®ä½åˆ—出所有檔案的大å°\n" #: src/ls.c:4825 #, fuzzy msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S æ ¹æ“šæª”æ¡ˆå¤§å°æŽ’åº\n" " --sort=WORD 以下是å¯é¸ç”¨çš„ WORD 和它們代表的相應é¸é …:\n" " extension -X status -c\n" " none -U time -t\n" " size -S atime -u\n" " time -t access -u\n" " version -v use -u\n" " --time=WORD 顯示 WORD 所代表的時間而éžä¿®æ”¹æ™‚間:\n" " atimeã€accessã€useã€ctime 或 status;加上\n" " --sort=time é¸é …時會以指定時間作為排åºç´¢å¼•\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=æ¨£å¼ æ ¹æ“š <樣å¼> 所代表的格å¼é¡¯ç¤ºæ™‚間:\n" " full-isoã€long-isoã€isoã€localeã€+FORMAT\n" " FORMAT 峿˜¯â€˜date’所用的時間格å¼ï¼›å¦‚æžœ FORMAT\n" " 是 FORMAT1<newline>FORMAT2,FORMAT1 é©ç”¨æ–¼è¼ƒèˆŠ\n" " 的檔案而 FORMAT2 é©ç”¨æ–¼è¼ƒæ–°çš„æª”案;\n" " 如果 <樣å¼> å‰åŠ ä¸Šâ€˜posix-â€™ï¼Œå‰‡åªæœƒåœ¨ä¸ä½¿ç”¨\n" " POSIX 語系時使用該 <樣å¼>\n" " -t 根據修改時間排åº\n" " -T, --tabsize=寬度 å¦è¡ŒæŒ‡å®š tab çš„ <寬度>ï¼Œè€Œéž 8 個字元\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u é…åˆ -ltï¼šé¡¯ç¤ºå­˜å–æ™‚間而且ä¾å­˜å–時間排åº\n" " é…åˆ -lï¼šé¡¯ç¤ºå­˜å–æ™‚間但根據å稱排åº\n" " å¦å‰‡ï¼šæ ¹æ“šå­˜å–時間排åº\n" " -U ä¸é€²è¡ŒæŽ’åºï¼›ä¾æª”案系統原有的次åºåˆ—出項目\n" " -v 根據版本進行排åº\n" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -f, --fields=LIST åªé¡¯ç¤ºæŒ‡å®šçš„æ¬„ä½ï¼›åŒæ™‚也å°å‡ºä¸å«åˆ†éš”符號的\n" " æ¯ä¸€è¡Œï¼Œé™¤éžä½¿ç”¨äº† -s é¸é …\n" " -n (䏿œƒä½œä»»ä½•處ç†)\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper åŠ Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "用法:%s [é¸é …] [檔案]...\n" " 或:%s [é¸é …] --check [檔案]\n" "å°å‡ºæˆ–檢查 %s (%d ä½å…ƒ) 總和檢查值。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary (DOS/Windows)以二元碼模å¼å°‡è³‡æ–™è¼¸å‡ºè‡³ç•«é¢ã€‚\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "以下的兩個é¸é …åªåœ¨é©—證總和檢查值時有用:\n" " --status ä¸é¡¯ç¤ºä»»ä½•çµæžœï¼Œåªç”¨å›žå‚³å€¼è¡¨ç¤ºæ˜¯å¦æˆåŠŸ\n" " -w, --warn å°æ–¼æ¯ä¸€è¡Œå«æœ‰ä¸æ­£ç¢ºæ ¼å¼çš„總和檢查值都顯示警告\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "總和檢查是根據 %s æè¿°çš„æ–¹æ³•計算出來的。當驗證時,輸入資料必須是此程å¼ä»¥å¾€\n" "çš„è¼¸å‡ºçµæžœã€‚é è¨­æ¨¡å¼æ˜¯å°å‡ºç¸½å’Œæª¢æŸ¥å€¼ï¼Œä¸€å€‹ä»£è¡¨æª”案類型的字元 (‘*’表示二元\n" "碼,‘ ’[空格] 表示文字)ï¼ŒåŠæ¯å€‹ <檔案> çš„å稱。\n" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "%s:找ä¸åˆ°æ­£ç¢ºæ ¼å¼çš„ %s 總和檢查值" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s:%lu:該行的 %s 總和檢查值格å¼ä¸æ­£ç¢º" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%sï¼šé–‹å•Ÿæˆ–è®€å–æ™‚發生錯誤\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "錯誤" #: src/md5sum.c:597 msgid "OK" msgstr "正確" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s:找ä¸åˆ°æ­£ç¢ºæ ¼å¼çš„ %s 總和檢查值" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s:%lu:該行的 %s 總和檢查值格å¼ä¸æ­£ç¢º" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "警告:無法讀入 %2$d 個%3$s的其中 %1$d 個" msgstr[1] "警告:無法讀入 %2$d 個%3$s的其中 %1$d 個" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "警告:%2$d 個計算出來的%3$s的其中 %1$d 個並ä¸åŒ¹é…" msgstr[1] "警告:%2$d 個計算出來的%3$s的其中 %1$d 個並ä¸åŒ¹é…" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "é¸é … --status åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "當驗證總和檢查值時,é¸é … --binary åŠ --text 是沒有æ„義的" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "é¸é … --status åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "é¸é … --warn åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "é¸é … --status åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "é¸é … --status åªæœ‰åœ¨é©—è­‰ç¸½å’Œæª¢æŸ¥å€¼æ™‚æ‰æœ‰æ„義" #: src/mkdir.c:56 src/rmdir.c:164 #, fuzzy, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "è‹¥ç›®éŒ„ä¸æ˜¯å·²ç¶“存在則建立目錄。\n" "\n" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=æ¨¡å¼ è¨­å®šæ¬Šé™ <模å¼> (類似 chmod)ï¼Œè€Œä¸æ˜¯ rwxrwxrwx 減 umask\n" " -p, --parents éœ€è¦æ™‚建立上層目錄,如目錄早已存在則ä¸ç•¶ä½œéŒ¯èª¤\n" " -v, --verbose æ¯æ¬¡å»ºç«‹æ–°ç›®éŒ„都顯示訊æ¯\n" #: src/mkdir.c:168 #, fuzzy, c-format msgid "created directory %s" msgstr "無法建立目錄%s" #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "以指定的 <å稱> 建立 named pipe (FIFO)。\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=æ¨¡å¼ æŒ‡å®šæ¬Šé™æ¨¡å¼ (類似 chmod)ï¼Œè€Œä¸æ˜¯ a=rw 減 umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "無效的數字" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "用法:%s [é¸é …]... SET1 [SET2]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "建立指定 <類型> åŠ <å稱> 的特殊檔案。\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 #, fuzzy msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" "ç•¶ <類型> 為 p 時ä¸å¯æŒ‡å®š MAJOR åŠ MINOR,å¦å‰‡å®ƒå€‘是必須指定的。\n" "<類型> å¯ä»¥æ˜¯ï¼š\n" "\n" " b 建立 (有緩è¡çš„) å€å¡Šç‰¹æ®Šæª”案\n" " c, u 建立 (沒有緩è¡çš„) 字元特殊檔案\n" " p 建立 FIFO 特殊檔案\n" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "建立å€å¡Šç‰¹æ®Šæª”案時,必需指定 major å’Œ minor è£ç½®ç·¨è™Ÿ" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "無效的開始行號:‘%s’" #: src/mknod.c:176 #, fuzzy, c-format msgid "block special files not supported" msgstr "å€å¡Šç‰¹æ®Šæª”案" #: src/mknod.c:185 #, fuzzy, c-format msgid "character special files not supported" msgstr "字元特殊檔案" #: src/mknod.c:201 #, fuzzy, c-format msgid "invalid major device number %s" msgstr "無效的開始行號:‘%s’" #: src/mknod.c:206 #, fuzzy, c-format msgid "invalid minor device number %s" msgstr "無效的開始行號:‘%s’" #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "用法:%s [é¸é …]... [檔案]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "標準輸出" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "é‡è¤‡çš„行數éŽå¤š" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "無法建立目錄%s" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "無法ä¿ç•™ %s 的時間" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "å°‡ <來æº> å稱更改為 <目的地> å稱,或將 <來æº> 檔案移動至 <目錄>。\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] 為æ¯å€‹å·²å­˜åœ¨çš„目的地檔案建立備份檔\n" " -b 類似 --backupï¼Œä½†ä¸æŽ¥å—ä»»ä½•åƒæ•¸\n" " -f, --force 覆寫檔案å‰ä¸æœƒé€²è¡Œç¢ºèªï¼Œç­‰æ–¼ --reply=yes\n" " -i, --interactive 覆寫檔案å‰å¿…須先確èªï¼Œç­‰æ–¼ --reply=query\n" #: src/mv.c:307 #, fuzzy msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --reply={yes,no,query} 指定如何處ç†å·²å­˜åœ¨çš„目的地檔案\n" " --strip-trailing-slashes ç§»é™¤åƒæ•¸ä¸­æ‰€æœ‰ <來æº> 檔案/目錄末端的斜號\n" " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=目錄 將所有 <來æº> 檔案/目錄移動至 <目錄>\n" " -u, --update åªåœ¨ <來æº> 檔案比目的地檔案新,或目的地檔案\n" " ä¸å­˜åœ¨æ™‚æ‰æœƒç§»å‹•\n" " -v, --verbose 詳細顯示進行的步驟\n" #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "無法建立暫存檔" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "無法設定時間" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°‡æ¯å€‹ <檔案> 的內容在標準輸出顯示,並加上行號。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=æ–¹å¼ æ±ºå®šå°‡å…§å®¹åŠ ä¸Šè¡Œè™Ÿçš„ <æ–¹å¼>\n" " -d, --section-delimiter=CC 使用 CC 字元分辨標頭ã€å…§å®¹å’Œè¨»è…³\n" " -f, --footer-numbering=æ–¹å¼ æ±ºå®šå°‡è¨»è…³åŠ ä¸Šè¡Œè™Ÿçš„ <æ–¹å¼>\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=æ–¹å¼ æ±ºå®šå°‡æ¨™é ­åŠ ä¸Šè¡Œè™Ÿçš„ <æ–¹å¼>\n" " -i, --page-increment=數字 æ¯è¡Œçš„行號增加é‡\n" " -l, --join-blank-lines=行數 將指定 <行數>的空行åˆä½µæˆä¸€è¡Œ\n" " -n, --number-format=æ ¼å¼ æ ¹æ“š <æ ¼å¼> 加上行號\n" " -p, --no-renumber æ¯æ¬¡åˆ†é å¾Œä¸é‡è¨­è¡Œè™Ÿ\n" " -s, --number-separator=字串 以 <字串> 分隔行號和內容\n" # I can't imagine manpage and --help output are so outdated -- Abel #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=數字 æ¯é ç¬¬ä¸€è¡Œçš„行號\n" " -w, --number-width=數字 以指定 <數字> 的字元作為顯示行數的寬度\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "é è¨­çš„é¸é …為 -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是兩個用來\n" "分辨æ¯é çš„æ¨™é ­ã€å…§å®¹å’Œè¨»è…³çš„字元;如果沒有指定第二個字元則表示是 :。\n" "請輸入 \\\\ 表示 \\ 字元。<æ–¹å¼> å¯ä»¥æ˜¯ä»¥ä¸‹å…¶ä¸­ä¸€å€‹ï¼š\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a æ¯ä¸€è¡Œéƒ½åŠ ä¸Šè¡Œè™Ÿ\n" " t åªæœ‰éžç©ºç™½çš„行æ‰åŠ ä¸Šè¡Œè™Ÿ\n" " n æ¯ä¸€è¡Œéƒ½ä¸åŠ è¡Œè™Ÿ\n" " pæ­£è¦è¡¨ç¤ºå¼ åªæœ‰ç¬¦åˆ <æ­£è¦è¡¨ç¤ºå¼> çš„æ¯ä¸€è¡Œæ‰åŠ ä¸Šè¡Œè™Ÿ\n" "\n" "<æ ¼å¼> å¯ä»¥æ˜¯ä»¥ä¸‹å…¶ä¸­ä¸€å€‹ï¼š\n" " ln å‘å·¦å°é½Šï¼Œå‰é¢ä¸åŠ é›¶è£œä½\n" " rn å‘å³å°é½Šï¼Œå‰é¢ä¸åŠ é›¶è£œä½\n" " rz å‘å³å°é½Šï¼Œå‰é¢åŠ é›¶è£œä½\n" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "æ¬„ä½æ˜¯ 0" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "無效的欄ä½è™Ÿç¢¼ï¼šâ€˜%s’" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "無效的數字" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "欄ä½è¦æ ¼ä¸­å«æœ‰ç„¡æ•ˆçš„æª”案編號:‘%s’" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "無效的開始行號:‘%s’" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "無效的行號增加值:‘%s’" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "無效的空白行數目:‘%s’" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "無效的行號欄ä½å¯¬åº¦ï¼šâ€˜%s’" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "無效的行號增加值:‘%s’" #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "標準輸出" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "åƒæ•¸éŽå¤š" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "無法更改%sçš„æ“æœ‰è€…å’Œ/或所屬群組" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "無法更改%sçš„æ“æœ‰è€…å’Œ/或所屬群組" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, fuzzy, c-format msgid "Usage: %s [OPTION]...\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s:無效的行數" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "數字 %s 無效" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "無效的行號增加值:‘%s’" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s:無法開啟來寫入資料" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "無效的類型‘%s’" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "目的地 %s 䏿˜¯ç›®éŒ„" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "無效的行號增加值:‘%s’" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "無效的類型‘%s’" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "無效的欄ä½è™Ÿç¢¼ï¼šâ€˜%s’" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "日期無效:‘%s’" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "æœ‰æª”æ¡ˆä½œç‚ºåƒæ•¸æ™‚ä¸å¯å’Œ --files0-from 一起使用。" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "æœ‰æª”æ¡ˆä½œç‚ºåƒæ•¸æ™‚ä¸å¯å’Œ --files0-from 一起使用。" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "-l 或 -t é¸é …使用了多於一次" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "æœ‰æª”æ¡ˆä½œç‚ºåƒæ•¸æ™‚ä¸å¯å’Œ --files0-from 一起使用。" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "è®€å– %s 時發生錯誤" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "標準輸出" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "用法:%s [é¸é …]... [檔案]...\n" " 或:%s --traditional [檔案] [[+]å移值 [[+]標號]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "ä»¥æ˜Žç¢ºæ–¹å¼ (é è¨­ç‚ºå…«é€²ä½æ•¸å­—) 表示 <檔案> 的內容。當指定多於一個 <檔案> " "時,\n" "會以指定的次åºå°‡æª”案內容åˆä½µã€‚如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準\n" "輸入讀å–資料。\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "å°æ–¼èˆŠå¼çš„語法 (第二種調用的格å¼),<å移值> 等於‘-j <å移值>’。<標號>\n" "是第一個ä½å…ƒçµ„的虛擬地å€(本來是 0),會在傾å°è³‡æ–™æ™‚ç›¸æ‡‰å¢žåŠ ã€‚å°æ–¼ <å移值>\n" "å’Œ <標號>,å‰é¢åŠ ä¸Š 0x 或 0X 表示是å六進使•¸å­—;後é¢åŠ ä¸Š . 表示是八進ä½\n" "數字,加上 b 則表示乘以 512。\n" "\n" "<æ ¼å¼> å¯ä»¥æ˜¯ä¸‹åˆ—ä¸€å€‹æˆ–å¤šå€‹çš„è¦æ ¼ï¼š\n" "\n" " a ASCII 字元或以 ASCII 字元代表的控制字元\n" " c ASCII å­—å…€æˆ–åæ–œè™Ÿæº¢å‡ºåºåˆ—\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX 決定基準ä½å€çš„å–®ä½\n" " -j, --skip-bytes=ä½å…ƒçµ„ å…ˆç•¥éŽæŒ‡å®š <ä½å…ƒçµ„> 的輸入資料\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=ä½å…ƒçµ„ é™åˆ¶å‚¾å°çš„輸入資料 <ä½å…ƒçµ„> 數目\n" " -s, --strings[=ä½å…ƒçµ„] åªå°å‡ºä¸å°‘於指定 <ä½å…ƒçµ„> 大å°çš„字串常數\n" " -t, --format=æ ¼å¼ é¸æ“‡è¼¸å‡ºçš„ <æ ¼å¼>\n" " -v, --output-duplicates ä¸ä½¿ç”¨ * 表示æ¯è¡Œé‡è¤‡çš„資料\n" " -w, --width[=ä½å…ƒçµ„] æ¯è¡Œé¡¯ç¤ºæŒ‡å®šçš„ <ä½å…ƒçµ„> 數目\n" " --traditional 接å—舊å¼çš„é¸é …\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "舊å¼çš„è¦æ ¼å¯ä»¥æ··åˆä½¿ç”¨ï¼Œè€Œä¸”效果會累ç©ï¼š\n" " -a 等於 -t a, 顯示 ASCII 字元或以 ASCII 表示的控制字元\n" " -b 等於 -t oC, 顯示八進ä½ä½å…ƒçµ„\n" " -c 等於 -t c, 顯示 ASCII å­—å…ƒæˆ–åæ–œè™Ÿæº¢å‡ºåºåˆ—\n" " -d 等於 -t u2, 顯示åé€²ä½ unsigned short\n" #: src/od.c:345 #, fuzzy msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f 等於 -t fF, 顯示浮點數\n" " -h 等於 -t x2, 顯示åå…­é€²ä½ short integer\n" " -i 等於 -t d2, 顯示åé€²ä½ short integer\n" " -l 等於 -t d4, 顯示åé€²ä½ long integer\n" " -o 等於 -t o2, é¡¯ç¤ºå…«é€²ä½ short integer\n" " -x 等於 -t x2, 顯示åå…­é€²ä½ short integer\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[大å°] 有正負號的å進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„\n" " f[大å°] 浮點數,æ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„\n" " o[大å°] 八進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„\n" " u[大å°] 無正負號的å進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„\n" " x[大å°] å六進使•¸ï¼Œæ¯å€‹æ•´æ•¸ä½”指定 <大å°> çš„ä½å…ƒçµ„\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "<大å°> 是一個數字。當 <æ ¼å¼> 是 doux 其中之一時,<大å°> 也å¯ä»¥æ˜¯ï¼šè¡¨ç¤º\n" "sizeof(char) çš„ Cã€è¡¨ç¤º sizeof(short) çš„ Sã€è¡¨ç¤º sizeof(int) çš„ I 或\n" "表示 sizeof(long) çš„ L。如果 <æ ¼å¼> 是 f,<大å°> å¯ä»¥æ˜¯è¡¨ç¤º sizeof(float)\n" "çš„ Fã€è¡¨ç¤º sizeof(double) çš„ D 或表示 sizeof(long double) çš„ L。\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "<倿®µæ•¸ç›®> åŠ <ä½å…ƒçµ„> å¯ä»¥åŠ ä¸Šä»¥ä¸‹çš„å–®ä½ï¼š\n" "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" "æ¯å€‹ <é—œéµå­—> å¯ä»¥æ˜¯ï¼š\n" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "無效的類型‘%s’" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "‘%s’是無效的類型;\n" "æ­¤ç³»çµ±ä¸æ”¯æ´ %lu ä½å…ƒçµ„的整數" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "‘%s’是無效的類型;\n" "æ­¤ç³»çµ±ä¸æ”¯æ´ %lu ä½å…ƒçµ„的浮點數" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "類型‘%2$sâ€™ä¸­å«æœ‰ç„¡æ•ˆçš„字元‘%1$c’。" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "無法移至åˆä½µå¾Œçš„輸入資料的末端之後" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "輸出ä½å€çš„基數‘%c’是無效的;基數必須是 [doxn] 四個字元其中之一" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "傾å°å­—串時ä¸èƒ½æŒ‡å®šé¡žåž‹" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "在相容性模å¼ä¸‹ï¼Œæœ€å¤šåªèƒ½æœ‰ä¸‰å€‹åƒæ•¸" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "警告:寬度 %lu 是無效的;以 %d 代替" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s:訊號無效" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "已關閉標準輸入" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°‡æ¯å€‹ <檔案> 相應的æ¯ä¸€è¡Œç”¨ TAB 隔開,在標準輸出中並排顯示。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=列表 å覆使用 <列表> 中的字元代替 TAB\n" " -s, --serial æ¯æ¬¡åˆä½µä¸€å€‹æª”案中的æ¯ä¸€è¡Œï¼Œè€Œéžæ‰€æœ‰æª”案的æŸä¸€è¡Œ\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "類型‘%2$sâ€™ä¸­å«æœ‰ç„¡æ•ˆçš„字元‘%1$c’。" #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "普通空白檔案" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "目錄" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "使用é¸é … --string 時ä¸èƒ½å†æŒ‡å®šæª”案" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "‘--pages=é–‹å§‹é ç¢¼[:çµæŸé ç¢¼]â€™ç¼ºå°‘äº†åƒæ•¸" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "無效的類型‘%s’" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "‘-l æ¯é è¡Œæ•¸â€™çš„行數無效:‘%s’" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "‘-N 行號’的開始行號無效:‘%s’" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "‘-o 邊界’的字元å移值無效:‘%s’" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "‘-w é å¯¬â€™çš„字元數目無效:‘%s’" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "‘-W é å¯¬â€™çš„字元數目無效:‘%s’" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "ä¸¦æŽ’åˆ—å°æ™‚ä¸èƒ½åŒæ™‚æŒ‡å®šæ¬„ä½æ•¸ç›®ã€‚" #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "ä¸èƒ½åŒæ™‚指定橫å‘列å°èˆ‡ä¸¦æŽ’列å°ã€‚" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "åƒæ•¸â€˜%2$sâ€™å«æœ‰å¤šé¤˜çš„字元‘-%1$c’或無效的數字" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "é é¢å¤ªçª„" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "æ¬„ä½æ˜¯ 0" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "å°‡ <檔案> åˆ†é æˆ–分欄以便列å°ã€‚\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +é–‹å§‹é ç¢¼[:çµæŸé ç¢¼], --pages=é–‹å§‹é ç¢¼[:çµæŸé ç¢¼]\n" " åªå°å‡ºç”± <é–‹å§‹é ç¢¼> 至 <çµæŸé ç¢¼> çš„æ¯ä¸€é \n" " -欄數, --columns=欄數\n" " 將輸出分為指定的 <欄數> 顯示,而æ¯ä¸€æ¬„都是å‘下列å°çš„,\n" " 除éžä½¿ç”¨ -a é¸é …。它也會平å‡åˆ†ä½ˆæ¯é ä¸­æ‰€æœ‰æ¬„ä½çš„行數。\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across å°å‡ºå…§å®¹æ™‚æœƒå…ˆæ©«è·¨æ‰€æœ‰æ¬„ä½ (æ©«å‘列å°),並éžå°å®Œä¸€æ¬„æ‰\n" " 跳至第二欄繼續列å°ï¼›æ­¤é¸é …需è¦é…åˆ -欄數 使用\n" " -c, --show-control-chars\n" " 使用 ^ 符號 (^G) æˆ–åæ–œè™ŸåР八進使•¸å­—顯示無法列å°çš„å­—å…ƒ\n" " -d, --double-space\n" " éš”è¡Œé¡¯ç¤ºçµæžœ\n" # -F and -f are just the same, help text is ambiguous -- maddog #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=æ ¼å¼\n" " 使用 <æ ¼å¼> 顯示標頭的日期\n" " -e[å­—å…ƒ[寬度]], --expand-tabs[=å­—å…ƒ[寬度]]\n" " 將輸入資料中的 <å­—å…ƒ> (é è¨­ç‚º TAB) 轉æ›ç‚ºæŒ‡å®š <寬度> çš„\n" " 空格數目 (é è¨­ç‚º 8)\n" " -F, -f, --form-feed\n" " 使用 form feed è€Œä¸æ˜¯ newline å­—å…ƒä¾†åˆ†é  (使用此é¸é …\n" " æ™‚åªæœƒå°å‡ºä¸‰è¡Œæ¨™é ­ï¼Œå¦å‰‡æœƒå°å‡ºäº”行標頭å†åŠ è¨»è…³)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h 標頭文字, --header=標頭文字\n" " æ¯é çš„æ¨™é ­ä½¿ç”¨ç½®ä¸­çš„ <標頭文字> 代替檔案å稱;-h \"\"\n" " 表示空白字串,ä¸è¦ä½¿ç”¨ -h\"\" (ç•™æ„空格)\n" " -i[å­—å…ƒ[寬度]], --output-tabs[=å­—å…ƒ[寬度]]\n" " 將指定 <寬度> 的空格轉æ›ç‚º <å­—å…ƒ> (é è¨­ç‚º TAB)\n" " -J, --join-lines å°‡æ¯è¡Œè³‡æ–™å®Œæ•´åœ°åˆä½µï¼›æœƒé—œé–‰ -W é¸é …å°‡æ¯è¡Œæˆªæ–·çš„æ•ˆæžœï¼›\n" " ä¸å°‡æ¯æ¬„å°é½Šï¼›--sep-string[=字串] é¸é …å¯è¨­å®šåˆ†éš”字串\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l æ¯é è¡Œæ•¸, --length=æ¯é è¡Œæ•¸\n" " 設定æ¯é çš„總行數 (é è¨­ç‚º 66)\n" " (é è¨­å¯é¡¯ç¤ºè³‡æ–™å…§å®¹çš„行數為 56,使用 -F é¸é …時為 63)\n" " -m, --merge 並排顯示所有檔案 (æ¯æ¬„一個檔案);會將資料截短至符åˆ\n" " 欄寬,但使用 -J é¸é …則䏿œƒæˆªçŸ­ä»»ä½•一行\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[使•¸]], --number-lines[=SEP[使•¸]]\n" " 加上行號;行號由指定 <使•¸> 的數字(é è¨­ç‚º 5)加上 SEP å­—\n" " å…ƒ (é è¨­ç‚º TAB) 組æˆï¼›è¨ˆç®—行號時會以æ¯å€‹æª”案第一行開始\n" " -N 行號, --first-line-number=行號\n" " 指定æ¯å€‹æª”案第一行的 <行號> (è«‹åƒè€ƒ +é–‹å§‹é ç¢¼ 的說明)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o 邊界, --indent=邊界\n" " æ¯è¡Œå‰å…ˆåŠ ä¸Š <邊界> 所指定的空格數目(é è¨­ç‚º 0)ï¼›ä¸æœƒ\n" " 影響 -w 或 -W é¸é …ï¼›<邊界> 空格數目會加至 <é å¯¬> 的數目\n" " -r, --no-file-warnings\n" " ç„¡æ³•é–‹å•Ÿæª”æ¡ˆæ™‚ä¸æœƒå°å‡ºè­¦å‘Šè¨Šæ¯\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[å­—å…ƒ],--separator[=å­—å…ƒ]\n" " 以一個字元分隔欄ä½ï¼Œç•¶ä¸ä½¿ç”¨ -w é¸é …時é è¨­å­—元為\n" " <TAB>,å¦å‰‡ä¸ä½¿ç”¨ä»»ä½•分隔字元\n" " 除éžä½¿ç”¨äº† -w é¸é …,å¦å‰‡ -s[å­—å…ƒ] 會防止以下三種\n" " å’Œæ¬„ä½æœ‰é—œçš„é¸é …截斷æ¯è¡Œçš„資料: -欄ä½ã€-a -欄ä½ã€\n" " -m\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " 以 <字串> 分隔欄ä½ã€‚\n" " ä¸ä½¿ç”¨ -S é¸é …時,é è¨­çš„分隔字串為:使用 -J é¸é …時是\n" " <TAB>,å¦å‰‡æ˜¯ <空格> (å³ -S\" \");此é¸é …䏿œƒå½±éŸ¿å…¶å®ƒå’Œ\n" " æ¬„ä½æœ‰é—œçš„é¸é …\n" " -t, --omit-header ä¸å°å‡ºæ¨™é ­å’Œè¨»è…³\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " ä¸å°å‡ºä»»ä½•標頭和註腳,ä¸é€²è¡Œä»»ä½•因輸入檔的 form feed\n" " å­—å…ƒè€Œèµ·çš„åˆ†é æ“作\n" " -v, --show-nonprinting\n" " ä½¿ç”¨åæ–œè™ŸåР八進使•¸å­—的表示法顯示無法列å°çš„å­—å…ƒ\n" " -w é å¯¬, --width=é å¯¬\n" " 當顯示多欄的文字時設定 <é å¯¬> (é è¨­ç‚º 72 å­—å…ƒ)ï¼›-s[å­—" "å…ƒ]\n" " 會關閉此效果\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W é å¯¬, --page-width=é å¯¬\n" " 設定æ¯é çš„ <é å¯¬> (é è¨­ç‚º 72 個字元);任何一行太長都會\n" " 強行截短至符åˆé å¯¬ï¼Œé™¤éžåŒæ™‚使用 -J é¸é …ï¼›ä¸æœƒå½±éŸ¿ -S\n" " 或 -s é¸é …\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀å–資料。\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated 以ä½å…ƒçµ„ 0 è€Œéž newline 字元作為æ¯è¡Œçš„çµæŸå­—å…ƒ\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [æ ¼å¼] [åƒæ•¸]...\n" " 或:%s [é¸é …]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "無效的字元種類‘%s’" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "無效的寬度:‘%s’" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "無效的寬度é¸é …:‘%s’" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s:無效的欄ä½è¦æ ¼â€˜%s’" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (å°æ–¼æ­£è¦è¡¨ç¤ºå¼â€˜%s’)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "用法:%s [é¸é …]... [輸入]... (沒有 -G)\n" " 或:%s -G [é¸é …]... [輸入 [輸出]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "顯示輸入檔中所有字詞排列後的索引,並包括該字詞å‰å¾Œçš„æ–‡å­—。\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀入資料。\n" "é è¨­ä½¿ç”¨â€˜-F /’é¸é …。\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "無效的寬度:‘%s’" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "無法更改%s的所屬群組為 %s\n" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "無法å–å¾—%s的屬性" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "éžé¸é …çš„åƒæ•¸éŽå¤š" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "éžé¸é …çš„åƒæ•¸éŽå¤š" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "無法建立目錄%s" #: src/remove.c:274 #, fuzzy, c-format msgid "%s: descend into directory %s? " msgstr "無法進入%s目錄" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s:是å¦ç§»é™¤æœ‰é˜²å¯«ä¿è­·çš„%s%s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s:是å¦ç§»é™¤%s%s? " #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "無法建立目錄%s" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "無法建立目錄%s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "讀入時發生錯誤" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" "移除指定的 <檔案>。\n" "\n" " -d, --directory 移除å¯èƒ½ä»æœ‰è³‡æ–™çš„目錄 (åªé™æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨è€…ä½¿ç”¨)\n" " -f, --force ç•¥éŽä¸å­˜åœ¨çš„æª”案,ä¸é¡¯ç¤ºä»»ä½•訊æ¯\n" " -i, --interactive 進行任何移除æ“作å‰å¿…須先確èª\n" " -r, -R, --recursive åŒæ™‚移除該目錄下的所有目錄層\n" " -v, --verbose 詳細顯示進行的步驟\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "è¦ç§»é™¤ç¬¬ä¸€å€‹å­—元為‘-’的檔案 (例如‘-foo’),請使用以下其中一種方法:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "請注æ„,如果使用 rm 來移除檔案,通常ä»å¯ä»¥å°‡è©²æª”案æ¢å¾©åŽŸç‹€ã€‚å¦‚æžœæƒ³ä¿è­‰\n" "該檔案的內容無法還原,請考慮使用 shred。\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s:是å¦ç§»é™¤%s%s? " #: src/rmdir.c:134 src/rmdir.c:233 #, fuzzy, c-format msgid "removing directory, %s" msgstr "無法建立目錄%s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "無法建立目錄%s" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "如果 <目錄> 沒有資料則移除該目錄。\n" "\n" " --ignore-fail-on-non-empty\n" " å¿½ç•¥ä»»ä½•å› ç›®éŒ„ä»æœ‰è³‡æ–™è€Œé€ æˆçš„錯誤\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents 移除 <目錄>,然後嘗試移除指定路徑中的所有上層目錄。例如:\n" " ‘rmdir -p a/b/c’的效果等於‘rmdir a/b/c a/b a’。\n" " -v, --verbose è™•ç†æ¯å€‹ç›®éŒ„時都顯示訊æ¯\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "無法ä¿ç•™%s的時間" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "無法å–å¾— %s 的屬性" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "未指定進程編號" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "無法ä¿ç•™%s的時間" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "無法å–å¾—%s的屬性" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "無法å–å¾—%s的屬性" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "無法å–å¾—%s的屬性" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "無法å–å¾—%s的屬性" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "用法:%s [é¸é …]... [輸入]... (沒有 -G)\n" " 或:%s -G [é¸é …]... [輸入 [輸出]]\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "無效的開始行號:‘%s’" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s的檔案類型ä¸è©³" #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "傾å°å­—串時ä¸èƒ½æŒ‡å®šé¡žåž‹" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "無法改變所屬群組至沒有å稱的群組" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "é‡è¤‡è¦†å¯« <檔案>,使得å³ä½¿æ˜¯æ˜‚è²´çš„ç¡¬é«”åµæ¸¬å„€å™¨ä¹Ÿé›£ä»¥å°‡è³‡æ–™å¾©åŽŸã€‚\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force æœ‰éœ€è¦æ™‚強迫程å¼å¯å¯«å…¥æª”案\n" " -n, --iterations=N 自行指定é‡è¤‡è¦†å¯«çš„æ¬¡æ•¸ (é è¨­ç‚º %d 次)\n" " -s, --size=N 覆寫指定的ä½å…ƒçµ„數目 (å¯æŽ¥å— Kã€Mã€G 等等的單ä½)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove 覆寫後會截斷åŠç§»é™¤è©²æª”案\n" " -v, --verbose 顯示進度\n" " -x, --exact ä¸å°‡æª”案大å°å¢žåŠ è‡³æœ€æŽ¥è¿‘çš„å€æ®µå¤§å°ï¼›å¦‚æžœæª”æ¡ˆä¸æ˜¯æ™®é€šæª”案,\n" " é è¨­æœƒä½¿ç”¨é€™ç¨®æ¨¡å¼\n" " -z, --zero 最後一次會使用 0 ä½å…ƒçµ„進行覆寫來隱è—覆寫動作\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "如果 <檔案> 是 -,會覆寫標準輸入的內容。\n" "\n" "如果加上 --remove (-u) é¸é …表示移除 <檔案>。é è¨­çš„æ–¹å¼æ˜¯ä¸ç§»é™¤æª”案,\n" "å› ç‚ºè¦†å¯«åƒ /dev/hda 等的è£ç½®æª”案是很普éçš„ï¼Œè€Œé€™äº›æª”æ¡ˆé€šå¸¸ä¸æ‡‰ç§»é™¤ã€‚\n" "當覆寫普通檔案時,絕大多數人都應該使用 --remove é¸é …。\n" #: src/shred.c:180 #, fuzzy msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "警告:請注æ„使用 shred 時有一個很é‡è¦çš„æ¢ä»¶ï¼š\n" "檔案系統會在原來的ä½ç½®è¦†å¯«æŒ‡å®šçš„è³‡æ–™ã€‚å‚³çµ±çš„æª”æ¡ˆç³»çµ±ç¬¦åˆæ­¤æ¢ä»¶ï¼Œä½†è¨±å¤šè¼ƒæ–°\n" "的檔案系統都ä¸ç¬¦åˆæ¢ä»¶ã€‚以下是會令 shred 無效的檔案系統的例å­ï¼š\n" "\n" #: src/shred.c:188 #, fuzzy msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "â— æœ‰ç´€éŒ„çµæ§‹æˆ–æ˜¯æ—¥èªŒå¼æª”案系統,例如 AIX åŠ Solaris 採用的檔案系統 (以åŠ\n" " JFSã€ReiserFSã€XFSã€Ext3 等等)\n" "\n" "◠會é‡è¤‡å¯«å…¥è³‡æ–™ï¼ŒåŠå³ä½¿ä¸€éƒ¨ä»½å¯«å…¥å‹•作失敗後ä»å¯ç¹¼çºŒçš„æª”案系統,例如使用\n" " RAID 的檔案系統\n" "\n" "â— æœƒä¸æ™‚進行快照紀錄的檔案系統,例如 Network Applicance çš„ NFS 伺æœå™¨\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 #, fuzzy msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "◠會將快å–記憶放入暫存ä½ç½®çš„æª”æ¡ˆç³»çµ±ï¼Œåƒ NFS 第 3 版本的用戶端程å¼\n" "\n" "◠會壓縮資料的檔案系統\n" "\n" "å¦å¤–,檔案系統的備份åŠé ç«¯çš„ mirror 都å¯èƒ½æ“有該檔案的複製本,這些複製本\n" "都是無法移除的,而且å¯ä»¥ç”¨ä¾†å°‡ä»¥ shred 處ç†éŽçš„æª”案æ¢å¾©åŽŸç‹€ã€‚\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s:fdatasync 發生錯誤" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s:fsync 發生錯誤" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s:無法å‘後æœå°‹" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s:在 %s ä½ç½®å¯«å…¥è³‡æ–™æ™‚發生錯誤" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s:lseek 發生錯誤" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s:檔案éŽå¤§" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s/%6$s %7$d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s:fstat 發生錯誤" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%sï¼šæª”æ¡ˆé¡žåž‹ä¸æ­£ç¢º" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s:檔案的大å°ç‚ºè² æ•¸" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s:截斷檔案時發生錯誤" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s:fcntl 發生錯誤" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s:ä¸èƒ½å°‡åªå¯åŠ ä¸Šè³‡æ–™çš„æª”æ¡ˆæè¿°å­ (file descriptor) 進行 shred 動作" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s:正在移除" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s:更改å稱為 %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s:無法移除" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s:已經移除" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s:無法關閉" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s:無法開啟來寫入資料" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "正在關閉輸出檔%s" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "用法:%s [é¸é …]... [輸入]... (沒有 -G)\n" " 或:%s -G [é¸é …]... [輸入 [輸出]]\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "在標準輸出中顯示æ¯å€‹ <檔案> æ¯ä¸€è¡Œä¸­æŒ‡å®šçš„部份。\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "-l 或 -t é¸é …使用了多於一次" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "輸入旗標無效:%s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "無效的寬度:‘%s’" #: src/shuf.c:284 src/sort.c:4435 #, fuzzy, c-format msgid "multiple output files specified" msgstr "正在關閉輸出檔%s" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "如果自行指定權é™ï¼Œä¸å¯åŒæ™‚é…åˆ --reference é¸é …一起使用" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "無效的欄ä½è™Ÿç¢¼ï¼šâ€˜%s’" #: src/sleep.c:146 src/tail.c:1219 #, fuzzy, c-format msgid "cannot read realtime clock" msgstr "無法建立éˆçµ%s" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "將所有 <檔案> 內容åˆä½µå’ŒæŽ’åºï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "\n" "排åºé¸é …:\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks 忽略æ¯è¡Œé–‹å§‹çš„空白字元\n" " -d, --dictionary-order åªè€ƒæ…®ç©ºç™½å­—å…ƒã€è‹±æ–‡å­—和數字\n" " -f, --ignore-case 排åºå‰å…ˆå°‡å°å¯«å­—元轉æ›ç‚ºå¤§å¯«\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort 以普通數值的方å¼ä½œæ¯”較\n" " -i, --ignore-nonprinting åªè€ƒæ…®å¯åˆ—å°çš„å­—å…ƒ\n" " -M, --month-sort 比較月份: (䏿˜Ž) <‘JAN’< ... <‘DEC’\n" " -n, --numeric-sort 將字串轉æ›ç‚ºæ•¸å€¼ä¾†ä½œæ¯”較\n" " -r, --reverse 以相åçš„æ¬¡åºæŽ’åˆ—\n" "\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort 以普通數值的方å¼ä½œæ¯”較\n" " -i, --ignore-nonprinting åªè€ƒæ…®å¯åˆ—å°çš„å­—å…ƒ\n" " -M, --month-sort 比較月份: (䏿˜Ž) <‘JAN’< ... <‘DEC’\n" " -n, --numeric-sort 將字串轉æ›ç‚ºæ•¸å€¼ä¾†ä½œæ¯”較\n" " -r, --reverse 以相åçš„æ¬¡åºæŽ’åˆ—\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "其它é¸é …:\n" "\n" " -c, --check åªæª¢æŸ¥è¼¸å…¥è³‡æ–™æ˜¯å¦æŽ’åˆ—å¥½ï¼Œä¸æœƒçœŸæ­£å°‡è³‡æ–™æŽ’åº\n" " -k, --key=ä½ç½®1[,ä½ç½®2] 排åºç´¢å¼•ç”± <ä½ç½®1> 的欄ä½é–‹å§‹ï¼Œåœ¨ <ä½ç½®2> çš„\n" " 欄ä½çµæŸ (1 表示第一個欄ä½)\n" " -m, --merge åªåˆä½µå·²ç¶“排åºçš„æª”案;ä¸åˆ†åˆ¥æŽ’列æ¯å€‹æª”案的內容\n" " -o, --output=FILE å°‡çµæžœå¯«å…¥ <檔案> 而並éžåœ¨æ¨™æº–輸出顯示\n" " -s, --stable ä¸é€²è¡Œæœ€å¾Œçš„æ•´è¡Œæ¯”較排åº\n" " -S, --buffer-size=å¤§å° æŒ‡å®šè¨˜æ†¶ç·©è¡å€çš„ <大å°>\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP 使用 SEP 作為分隔字串,而並éžä¸€çµ„空白字元\n" " -T, --temporary-directory=目錄 自行指定暫存 <目錄>ï¼Œè€Œéž $TMPDIR 或 %s\n" " 多次使用此é¸é …坿Œ‡å®šå¤šå€‹ç›®éŒ„\n" " -u, --unique é…åˆ -c:嚴格檢查資料是å¦ä¾æ¬¡åºæŽ’列\n" " 沒有 -c:é‡åˆ°å¤šè¡Œç›¸åŒçš„資料時åªé¡¯ç¤ºç¬¬ä¸€è¡Œ\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated 以ä½å…ƒçµ„ 0 è€Œéž newline 字元作為æ¯è¡Œçš„çµæŸå­—å…ƒ\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "<ä½ç½®> çš„æ ¼å¼æ˜¯ F[.C][OPTS],其中 F 是欄ä½ç·¨è™Ÿï¼ŒC 是該欄的字元ä½ç½®ã€‚OPTS\n" "是一個或多個單字元的排åºé¸é …,這些專用的é¸é …會å–代該排åºç´¢å¼•的一般排åº\n" "é¸é …。如果沒有指定排åºç´¢å¼•,則以整行的內容作為索引。\n" "\n" "<大å°> å¯ä»¥åŠ ä¸Šå¦‚ä¸‹çš„å–®ä½ï¼š\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "%% = 1%% 記憶體,b=1,K=1024 (é è¨­å€¼),還有 Mã€Gã€Tã€Pã€Eã€Zã€Y 如此類推。\n" "\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" "*** 警告 ***\n" "和語系有關的環境變數會影響排åºçµæžœã€‚\n" "如果è¦ä»¥ä½å…ƒçµ„數值作為排列次åºï¼Œè«‹è¨­å®šç’°å¢ƒè®Šæ•¸ LC_ALL=C。\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "正在寫入 %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "無法建立暫存檔" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "開啟時發生錯誤" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "關閉時發生錯誤" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "關閉時發生錯誤" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "開啟時發生錯誤" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "無法建立暫存檔" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "無法建立目錄%s" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "無法建立目錄%s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "åƒæ•¸ç„¡æ•ˆ: %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "%2$sçš„åƒæ•¸%1$s䏿˜Žç¢º" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s:數字‘%.*s’éŽå¤§" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat 時發生錯誤" #: src/sort.c:1755 msgid "read failed" msgstr "讀入時發生錯誤" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "字串比較出ç¾éŒ¯èª¤" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s:é¸é …‘%sâ€™ä¸æ˜Žç¢º\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "寫入時發生錯誤" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s:次åºä¸æ­£ç¢ºï¼š" #: src/sort.c:2786 msgid "standard error" msgstr "標準錯誤輸出" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s:無法å‘後æœå°‹" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s:無效的欄ä½è¦æ ¼â€˜%s’" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s:é¸é …‘%sâ€™ä¸æ˜Žç¢º\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s:‘%s’開始部份的數字無效" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "‘-’後的數字無效" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "‘.’後的數字無效" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "欄ä½è¦æ ¼å‡ºç¾ä¸åˆæ³•的字元" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "指定了多於一個目的地目錄" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "欄ä½è¦æ ¼é–‹å§‹éƒ¨ä»½çš„æ•¸å­—無效" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "æ¬„ä½æ˜¯ 0" #: src/sort.c:4392 msgid "character offset is zero" msgstr "å­—å…ƒå移值是 0" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "‘,’後的數字無效" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "無法從 %s è®€å–æª”案å稱" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "檔案å稱無效 (長度為零)" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "正在關閉輸入檔 %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "使用 -c 時ä¸å…許指定é¡å¤–çš„åƒæ•¸â€˜%s’" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "用法:%s [é¸é …] [輸入 [å‰ç½®å­—串]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "å°‡ <輸入> 資料分割為固定大å°çš„éƒ¨ä»½ï¼Œä¸¦å°‡çµæžœå¯«å…¥â€˜<å‰ç½®å­—串>aa’ã€\n" "‘<å‰ç½®å­—串>ab’等等;é è¨­çš„ <å‰ç½®å­—串> 為‘x’。如果沒有指定 <輸入>\n" "或 <輸入> 是 -,則由標準輸入讀入資料。\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N 後置字串的長度為 N (é è¨­å€¼æ˜¯ %d)\n" " -b, --bytes=å¤§å° æŒ‡å®šæ¯å€‹è¼¸å‡ºæª”çš„ <大å°>,以ä½å…ƒçµ„為單ä½\n" " -C, --line-bytes=å¤§å° æ¯å€‹è¼¸å‡ºæª”放入æŸè¡Œæ•¸çš„完整資料,但 <大å°> 䏿œƒ\n" " 超出指定ä½å…ƒçµ„數目\n" " -l, --lines=行數 æ¯å€‹è¼¸å‡ºæª”放入指定 <行數> 的資料\n" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr " --verbose 開啟æ¯å€‹è¼¸å‡ºæª”之å‰éƒ½åœ¨æ¨™æº–錯誤輸出顯示訊æ¯\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "輸出檔的後置字串已用盡" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "正在建立檔案‘%s’\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "LS_COLORS 環境變數中存在無法分æžçš„值" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "無法å–å¾—%s的屬性" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "無法進入%s目錄" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "正在關閉輸出檔%s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "正在關閉輸入檔 %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "正在關閉輸入檔 %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "無法執行 %s 指令" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "%s:無法關閉" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "ä¸èƒ½ç”¨è¶…éŽä¸€ç¨®æ–¹å¼é€²è¡Œåˆ†å‰²" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s:無效的秒數" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s:無效的號碼" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s:無效的後置字串長度" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s:無效的ä½å…ƒçµ„數目" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s:無效的行數" #: src/split.c:1236 #, fuzzy, c-format msgid "line count option -%s%c... is too large" msgstr "%s:數字‘%.*s’éŽå¤§" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "無效的開始行號:‘%s’" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s:進程編號無效" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "無法決定主機å稱" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "無法ä¿ç•™%s的時間" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s:無法識別的é¸é …‘%c%s’\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%sï¼šæª”æ¡ˆé¡žåž‹ä¸æ­£ç¢º" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "å­—ä¸²æœ«ç«¯çš„åæ–œè™Ÿæº¢å‡ºåºåˆ—無效" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "無法將 %s çš„æª”æ¡ˆæŒ‡æ¨™é‡æ–°å®šä½" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "關閉標準輸入" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "é©ç”¨æ–¼æ“·å–檔案資訊 (峿˜¯ä¸ä½¿ç”¨ --filesystem é¸é …) 的格å¼ï¼š\n" "\n" " %A - 以容易ç†è§£çš„æ–¹å¼è¡¨ç¤ºå­˜å–權é™\n" " %a - 以八進使•¸å­—æ–¹å¼è¡¨ç¤ºå­˜å–權é™\n" " %b - 佔用的ç£ç¢Ÿå€æ®µæ•¸ç›®\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %D - 以å六進ä½è¡¨ç¤ºçš„è£ç½®è™Ÿç¢¼\n" " %d - 以å進ä½è¡¨ç¤ºçš„è£ç½®è™Ÿç¢¼\n" " %F - 檔案類型\n" " %f - 以å六進ä½è¡¨ç¤ºçš„æª”案類型/å­˜å–æ¬Šé™\n" " %G - 所屬群組的å稱\n" " %g - 所屬群組的號碼\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h - å¯¦éš›é€£çµ (hard link) 的數目\n" " %i - Inode 號碼\n" " %N - 加上引號後的檔案å稱,如果是符號éˆçµå‰‡åŠ ä¸Šéˆçµå¯¦éš›æŒ‡ç¤ºçš„æª”案/目錄\n" " %n - 檔案å稱\n" " %o - æœ€ç†æƒ³çš„輸出/輸入資料å€å¡Šå¤§å°\n" " %s - å¤§å° (以ä½å…ƒçµ„計)\n" " %T - 特殊檔案或è£ç½®æª”案的åå…­é€²ä½ minor 號碼\n" " %t - 特殊檔案或è£ç½®æª”案的åå…­é€²ä½ major 號碼\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %U - æ“æœ‰è€…的用戶å稱\n" " %u - æ“æœ‰è€…的用戶識別碼\n" " %X - ç”± Epoch 時間至最後存å–的時間之間經éŽçš„秒數\n" " %x - 最後存å–的時間\n" " %Y - ç”± Epoch 時間至最後更改的時間之間經éŽçš„秒數\n" " %y - 最後更改的時間\n" " %Z - ç”± Epoch 時間至最後更改 inode 資訊的時間之間經éŽçš„秒數\n" " %z - 最後更改 inode 資訊的時間\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "é©ç”¨æ–¼æ“·å–檔案系統資訊的格å¼ï¼š\n" "\n" " %a - 最高權力用戶以外的用戶å¯ä½¿ç”¨çš„空間\n" " %b - 檔案系統的總容é‡\n" " %c - æª”æ¡ˆç³»çµ±å¯æŽ¥å—的最大檔案數目\n" " %d - 檔案系統剩餘å¯ç”¨çš„æœ€å¤§æª”案數目\n" " %f - 檔案系統的剩餘空間\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i - 以å六進ä½è¡¨ç¤ºçš„æª”案系統識別碼\n" " %l - 坿ޥå—的檔案å稱最大長度\n" " %n - 檔案å稱\n" " %s - æ¬ç§»è³‡æ–™æ™‚æœ€ç†æƒ³çš„倿®µå¤§å°\n" " %T - 以容易ç†è§£çš„æ–¹å¼è¡¨ç¤ºçš„æª”案系統類型\n" " %t - 以å六進ä½è¡¨ç¤ºçš„æª”案系統類型\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "用法:%s [é¸é …] [檔案]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "無法ä¿ç•™%s的時間" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "åªèƒ½æŒ‡å®šä¸€å€‹åƒæ•¸" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "ä¸èƒ½åŒæ™‚使用 --string åŠ --check é¸é …" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "åƒæ•¸ç„¡æ•ˆ: %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "%2$sçš„åƒæ•¸%1$s䏿˜Žç¢º" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "無效的欄ä½è¦æ ¼ï¼šâ€˜%s’" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "無效的行號增加值:‘%s’" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "å°å‡ºæ¯å€‹ <檔案> 的總和檢查值åŠå€å¡Šæ•¸ç›®ã€‚\n" "\n" " -r 令 -s é¸é …無效,使用 BSD 的演算法,用 1K çš„å€å¡Šå¤§å°\n" " -s, --sysv 使用 System V 的演算法,用 512 個ä½å…ƒçµ„çš„å€å¡Šå¤§å°\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "強迫將已更改的資料寫入ç£ç¢Ÿï¼Œä¸¦æ›´æ–° super block。\n" "\n" #: src/sync.c:69 #, fuzzy, c-format msgid "ignoring all arguments" msgstr "åƒæ•¸éŽå¤š" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help 顯示此求助說明並離開\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version 顯示版本資訊並離開\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "é•·é¸é …å¿…é ˆç”¨çš„åƒæ•¸åœ¨ä½¿ç”¨çŸ­é¸é …時也是必須的。\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "è«‹å‘ <%s> 回報錯誤。\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "請嘗試執行‘%s --help’來ç²å–更多資訊。\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "警告:發ç¾å¾ªç’°çš„目錄架構。\n" "這幾乎å¯ä»¥è‚¯å®šæª”案系統已經æå£žã€‚\n" "** 請通知系統管ç†å“¡ã€‚**\n" "以下的目錄是循環的一部份:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°‡æ¯å€‹ <檔案> 由最後一行開始在標準輸出顯示出來。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before 將分隔字串加在å‰é¢è€Œä¸æ˜¯å¾Œé¢\n" " -r, --regex 將分隔字串ç†è§£ç‚ºæ­£è¦è¡¨ç¤ºå¼\n" " -s, --separator=字串 用 <字串> ä½œç‚ºåˆ†éš”å­—ä¸²ï¼Œè€Œä¸æ˜¯ newline å­—å…ƒ\n" #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "關閉時發生錯誤" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s:檔案éŽå¤§" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "無法建立暫存檔" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s:無法開啟來寫入資料" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "無法ä¿ç•™ %s 的時間" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "寫入時發生錯誤" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "無法開啟 %s 來讀å–資料" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "分隔字串ä¸å¯ä»¥æ˜¯ç©ºçš„" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "在標準輸出顯示æ¯å€‹ <檔案> 的最後 %d 行。\n" "當指定多於一個 <檔案> 時,會先å°å‡ºè¡¨ç¤ºæ¯å€‹æª”案å稱的標頭。\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " ç•¶æª”æ¡ˆä¸æ–·è®Šå¤§æ™‚顯示加上的資料;\n" " -fã€--follow åŠ --follow=descriptor 是相åŒçš„\n" " -F 等於 --follow=name --retry\n" # --max-consecutive-size-changes is undocumented -- maddog #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N 顯示最後 N è¡Œè€Œä¸æ˜¯ %d 行\n" " --max-unchanged-stats=N\n" " é…åˆ --follow=name 時,如果檢查 <檔案> N 次\n" " (é è¨­æ˜¯ %d 次)後檔案大å°ä»æ²’有改變,則會\n" " 釿–°é–‹å•Ÿ <檔案> 來檢查檔案是å¦å·²è¢«åˆªé™¤æˆ–改å\n" " (此情æ³åœ¨å‚™ä»½ç´€éŒ„檔時會較常見)\n" " --max-consecutive-size-changes=N\n" " é…åˆ --follow=name 時,如果 <檔案> 連續 N 次\n" " 改變大å°ï¼Œå‰‡èªå®šæ­¤æª”案已經被改å。\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID é…åˆ -f é¸é …時,tail æœƒåœ¨æŒ‡å®šçš„ç¨‹åº (識別碼\n" " 為 PID) 退出後中止\n" " -q, --quiet, --silent ä¸é¡¯ç¤ºä»»ä½•標明檔案å稱的標頭\n" " -s, --sleep-interval=S é…åˆ -f é¸é …時,æ¯å…©æ¬¡æª¢æŸ¥ç›¸éš”ç´„ S ç§’\n" " (é è¨­ç‚º 1 ç§’)\n" " -v, --verbose 一定顯示任何標明檔案å稱的標頭\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "如果 N (行數或ä½å…ƒçµ„數目) 的第一個字元是‘+’,會由æ¯å€‹æª”案的第 N 行開始\n" "顯示,å¦å‰‡æœƒé¡¯ç¤ºæ¯å€‹æª”案的最後 N 行。N å¯ä»¥åŠ ä¸Šå–®ä½ï¼šb 是 512,k 是 1024,\n" "m 則是 1048576 (1M)。\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "如果\n" "ç¢ºå¯¦è¦æª¢æŸ¥æª”案åç¨±è€Œä¸æ˜¯æª”案æè¿°å­æ™‚ (例如備份紀錄檔時),這種é è¨­çš„處ç†\n" "æ–¹å¼ä¸¦ä¸é©ç”¨ã€‚在這情æ³ä¸‹æ‡‰ä½¿ç”¨ --follow=name。這樣會令 tail 檢查指定å稱\n" "的檔案,方法是é‡è¤‡åœ°é–‹å•Ÿæª”案,看看它是å¦å·²è¢«ç§»é™¤å’Œå…¶å®ƒç¨‹å¼æœƒå¦å†ç”¢ç”Ÿè©²\n" "檔案。\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "正在關閉 %s (fd=%d)" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s:無法æœå°‹è‡³ç›¸å°ä½ç½® %s%s" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s:無法æœå°‹è‡³æœ«ç«¯ç›¸å°ä½ç½® %s%s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "已無法存å–‘%s’" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s:被一個無法 tail 的檔案å–ä»£ï¼›ä¸æœƒå†æª¢æŸ¥æ­¤æª”案å稱" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s:被一個無法 tail 的檔案å–ä»£ï¼›ä¸æœƒå†æª¢æŸ¥æ­¤æª”案å稱" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "已經å¯ä»¥å­˜å–‘%s’" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "‘%s’已出ç¾ï¼›æ­£åœ¨æª¢æŸ¥æ–°æª”案的末端" #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "‘%s’已被å–代;正在檢查新檔案的末端" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "無法更改%sçš„æ“æœ‰è€…å’Œ/或所屬群組" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s:檔案被截斷了" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "已沒有任何剩餘的檔案" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "無法 stat ç›®å‰çš„目錄 (ç¾åœ¨æ˜¯ %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "記憶體耗盡" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "無法å°â€˜%s’執行輸出入控制 (ioctl)" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "è®€å– %s 時發生錯誤" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "%sï¼šç„¡æ³•æª¢æŸ¥æ­¤é¡žæª”æ¡ˆçš„æœ«ç«¯ï¼›ä¸æœƒå†æª¢æŸ¥æ­¤æª”案å稱" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "%s éŽé•·" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%sï¼šé–‹å•Ÿæª”æ¡ˆå‰ stat 資料沒有改變的最大次數無效" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s:無效的 PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s:無效的秒數" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "è­¦å‘Šï¼šåªæœ‰æª¢æŸ¥æª”案å稱時 --retry é¸é …æ‰æœƒæœ‰æ•ˆ" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "警告:會忽略 PIDï¼›--pid=PID é¸é …åªåœ¨ä¸æ–·æª¢æŸ¥æª”æ¡ˆæ™‚æ‰æœƒæœ‰æ•ˆ" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "è­¦å‘Šï¼šæ­¤ç³»çµ±ä¸æ”¯æ´ --pid=PID é¸é …" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "無法建立暫存檔" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀å–資料。\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "%2$sçš„åƒæ•¸%1$s䏿˜Žç¢º" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "數字 %s 無效" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "䏿˜Žçš„系統錯誤" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s:無效的正è¦è¡¨ç¤ºå¼ï¼š%s" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 msgid "missing ']'" msgstr "" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "åƒæ•¸éŽå¤š" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [é¸é …]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "é•·é¸é …å¿…é ˆç”¨çš„åƒæ•¸åœ¨ä½¿ç”¨çŸ­é¸é …時也是必須的。\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "寫入 %s 時發生錯誤" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, fuzzy, c-format msgid "invalid date format %s" msgstr "%2$sçš„åƒæ•¸%1$s無效" #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "無法å°â€˜%s’執行輸出入控制 (ioctl)" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "正在設定%s的時間" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a åªæ›´æ”¹å­˜å–時間\n" " -c, --no-create ä¸å»ºç«‹ä»»ä½•檔案\n" " -d, --date=字串 使用 <字串> æ‰€è¡¨ç¤ºçš„æ™‚é–“è€Œä¸æ˜¯ç›®å‰çš„æ™‚é–“\n" " -f (æ­¤é¸é …ä¸ä½œè™•ç†)\n" " -m åªæ›´æ”¹ä¿®æ”¹æ™‚é–“\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference 影響符號éˆçµæœ¬èº«ï¼Œè€Œä¸æ˜¯ç¬¦è™ŸéˆçµæŒ‡å®šçš„目的地檔案\n" " (åªæœ‰ç³»çµ±æ”¯æ´æ›´æ”¹ç¬¦è™Ÿéˆçµçš„æ“æœ‰è€…ï¼Œé€™å€‹é¸é …æ‰æœ‰æ•ˆ)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=檔案 使用指定 <檔案> 的時間屬性而éžç›®å‰çš„æ™‚é–“\n" " -t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] æ ¼å¼çš„æ™‚間而éžç›®å‰çš„æ™‚" "é–“\n" " --time=WORD 使用 WORD 指定的時間:accessã€atimeã€use 都等於 -a\n" " é¸é …的效果,而 modifyã€mtime 等於 -m é¸é …的效果\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "請注æ„,-d å’Œ -t é¸é …坿ޥå—ä¸åŒçš„æ™‚é–“/日期格å¼ã€‚\n" #: src/touch.c:335 #, fuzzy, c-format msgid "cannot specify times from more than one source" msgstr "ä¸èƒ½ç”¨è¶…éŽä¸€ç¨®æ–¹å¼é€²è¡Œåˆ†å‰²" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "警告:‘touch %sâ€™å·²ç¶“éŽæ™‚;請使用‘touch -t %04d%02d%02d%02d%02d.%02d’" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "用法:%s [é¸é …]... SET1 [SET2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "從標準輸入讀å–資料,將字元置æ›ã€å£“縮ã€åˆªé™¤å¾Œï¼Œåœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "\n" " -c, --complement 以所有ä¸å±¬æ–¼ SET1 的字元 (SET1 的餘集) å–代 SET1\n" " -d, --delete 刪除所有 SET1 裡的字元,ä¸é€²è¡Œç½®æ›\n" " -s, --squeeze-repeats å°æ–¼ä»»ä½•在 SET1 中列出的字元,如果該字元在輸入資" "æ–™\n" " 中連續é‡è¤‡å‡ºç¾ï¼Œå‰‡å°‡è©²æ®µå­—元刪除至åªå‰©ä¸€å€‹\n" " -t, --truncate-set1 先將 SET1 的長度截至跟 SET2 一樣\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SET æ˜¯ä»¥å­—ä¸²æ–¹å¼æŒ‡å®šã€‚大部份字元都會直接處ç†ã€‚è¦è§£è­¯çš„åºåˆ—包括:\n" "\n" " \\NNN 八進使•¸å­— NNN (1 至 3 個ä½)所代表的字元\n" " \\\\ åæ–œè™Ÿ\n" " \\a éŸ¿è² (BEL)\n" " \\b 倒退字元 (backspace)\n" " \\f æ›é å­—å…ƒ (form feed)\n" " \\n æ›è¡Œå­—å…ƒ (new line)\n" " \\r 復ä½å­—å…ƒ (return)\n" " \\t 水平定ä½å­—å…ƒ (tab)\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v 垂直定ä½å­—å…ƒ (vertical tab)\n" " å­—å…ƒ1-å­—å…ƒ2 ç”± <å­—å…ƒ1> é–‹å§‹å‡åºæŽ’列至 <å­—å…ƒ2>\n" " [å­—å…ƒ*] 在 SET2 裡é‡è¤‡åŠ ä¸Š <å­—å…ƒ>ï¼Œç›´è‡³ç¬¦åˆ SET1 的長度\n" " [å­—å…ƒ*é‡è¤‡æ¬¡æ•¸] é‡è¤‡æŒ‡å®š <å­—å…ƒ>,如果 <é‡è¤‡æ¬¡æ•¸> 的第一個字元是 0 則表示\n" " <é‡è¤‡æ¬¡æ•¸> æ˜¯å…«é€²ä½æ•¸å­—\n" " [:alnum:] æ‰€æœ‰è‹±æ–‡å­—åŠæ•¸å­—\n" " [:alpha:] 所有英文字\n" " [:blank:] 所有水平的空白字元\n" " [:cntrl:] 所有控制字元\n" " [:digit:] 所有數字\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] 所有å¯åˆ—å°çš„字元,ä¸åŒ…括空格\n" " [:lower:] 所有å°å¯«è‹±æ–‡å­—æ¯\n" " [:print:] 所有å¯åˆ—å°çš„字元,包括空格\n" " [:punct:] 所有標點符號\n" " [:space:] 所有水平或垂直的空白字元\n" " [:upper:] 所有大寫英文字æ¯\n" " [:xdigit:] 所有å六進使•¸å­—\n" " [=CHAR=] 所有和 CHAR åŒç­‰çš„å­—å…ƒ\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "警告:æ„ç¾©ä¸æ˜Žç¢ºçš„八進使º¢å‡ºåºåˆ— \\%c%c%c 會\n" "\tç†è§£ç‚ºå…©å€‹ä½å…ƒçµ„çš„åºåˆ— \\0%c%c,‘%c’" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "%s:警告:將實際éˆçµ (hard link) 連至符號éˆçµä¸æ˜¯æ‰€æœ‰ç³»çµ±éƒ½é©ç”¨çš„功能" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "‘%s-%s’範åœçš„端點和字元應有的排列次åºç›¸å" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "[c*n] çµæ§‹ä¸­çš„é‡è¤‡æ¬¡æ•¸â€˜%s’無效" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "無效的字元種類å稱‘[::]’" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "缺少了等價字元種類的字元‘[==]’" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "無效的字元種類‘%s’" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s:等價字元種類中的é‹ç®—符必須是æ°å¥½ä¸€å€‹å­—å…ƒ" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "[:upper:]ã€[:lower:]çµæ§‹çš„ä½ç½®æ²’有å°é½Š" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "欄ä½è¦æ ¼å‡ºç¾ä¸åˆæ³•的字元" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "é‡è¤‡çµæ§‹ [c*] ä¸èƒ½åœ¨å­—串 1 出ç¾" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "é‡è¤‡çµæ§‹ [c*] åªèƒ½åœ¨å­—串 2 出ç¾ä¸€æ¬¡" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "é€²è¡Œç½®æ›æ™‚,[=c=] 表示å¼ä¸èƒ½åœ¨å­—串 2 出ç¾" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "ç½®æ›æ™‚,å¯ä»¥åœ¨å­—串 2 出ç¾çš„å­—å…ƒç¨®é¡žåªæœ‰â€˜upper’或‘lower’" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "è‹¥ä¸æˆªæ–·(消除) set1,字串 2 ä¸èƒ½æ˜¯ç©ºçš„" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "å–字元種類的餘集(complement)ä½œç½®æ›æ™‚,åªèƒ½å°‡æ‰€æœ‰å­—元映射\n" "至一個字元,å³å­—串 2 åªå¯å«æœ‰ä¸€å€‹å­—å…ƒ" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*] çµæ§‹åªæœ‰åœ¨ç½®æ›æ™‚æ–¹å¯åœ¨å­—串 2 出ç¾" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "åŒæ™‚刪除字元和壓縮é‡è¤‡å­—時必須指定兩個字串" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "ç½®æ›æ™‚必須指定兩個字串" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "刪除但ä¸å£“縮é‡è¤‡å­—時åªèƒ½æŒ‡å®šä¸€å€‹å­—串" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "用法:%s 檔案å稱\n" " 或:%s é¸é …\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "用法:%s [é¸é …]... [檔案]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s:檔案的大å°ç‚ºè² æ•¸" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "ç„¡æ³•è®€å–æ™‚é–“" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "指定了多於一個目的地目錄" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "必須指定一系列的ä½å…ƒçµ„ã€å­—元或欄ä½" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "無法開啟%s來讀å–資料" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "用法:%s [é¸é …] [檔案]\n" "å°‡ <檔案> 中所有已進行部份排åºçš„é …ç›®è¯ç¹«èµ·ä¾†ï¼Œç”¢ç”Ÿæ–°çš„æŽ’列,\n" "è€Œè©²æŽ’åˆ—å«æœ‰ <檔案> 中的所有項目。如果沒有指定 <檔案> 或\n" "<檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "%sï¼šå°‡è¼¸å…¥è³‡æ–™æŽ’åºæ™‚出ç¾è¿´åœˆï¼š" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%sï¼šå°‡è¼¸å…¥è³‡æ–™æŽ’åºæ™‚出ç¾è¿´åœˆï¼š" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, fuzzy, c-format msgid "cannot get system name" msgstr "無法建立暫存檔" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "å°‡æ¯å€‹ <檔案> 中的空格轉æ›ç‚º tabï¼Œä¸¦åœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœã€‚\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all è½‰æ›æ‰€æœ‰ç©ºç™½å­—元,並éžåªæ˜¯æ¯è¡Œé–‹å§‹çš„空白字元\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=數字 將指定 <數字> 的空格轉æ›ç‚º tabï¼Œè€Œéž 8 個\n" " -t, --tabs=LIST 用以逗號分隔的數字特別指定 tab çš„ä½ç½®\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "tab 字元寬度 %s éŽé•·" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "用法:%s [é¸é …]... [輸入 [輸出]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count æ¯è¡Œå‰åŠ ä¸Šå‡ºç¾æ¬¡æ•¸\n" " -d, --repeated åªå°å‡ºé‡è¤‡çš„資料\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=分隔方å¼]\n" " å°å‡ºæ‰€æœ‰é‡è¤‡çš„資料\n" " 分隔方å¼={none(é è¨­)ã€prependã€separate}\n" " 會使用空行來分隔資料。\n" " -f, --skip-fields=N 䏿¯”較最åˆçš„ N 個欄ä½\n" " -i, --ignore-case 比較時忽略大å°å¯«\n" " -s, --skip-chars=N 䏿¯”較最åˆçš„ N 個字元\n" " -u, --unique åªå°å‡ºæ²’有é‡è¤‡çš„資料\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N æ¯è¡Œæ¯”較ä¸å¤šæ–¼ N 個字元\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "ä¸€å€‹æ¬„ä½æ˜¯ç”±ä¸€çµ„空白字元加上一組éžç©ºç™½çš„字元組æˆçš„。\n" "ç•¶åŒæ™‚æŒ‡å®šç•¥éŽæ¬„ä½å’Œç•¥éŽå­—å…ƒä¸ä½œæ¯”è¼ƒæ™‚ï¼Œæœƒå…ˆç•¥éŽæ¬„ä½ã€‚\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "é‡è¤‡çš„行數éŽå¤š" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "è¦ç•¥éŽçš„æ¬„使•¸ç›®ç„¡æ•ˆ" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "è¦ç•¥éŽçš„ä½å…ƒçµ„數目無效" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "è¦æ¯”較的ä½å…ƒçµ„數目無效" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "顯示æ¯è¡Œé‡è¤‡çš„資籵åˆè¨ˆç®—該行的é‡è¤‡æ¬¡æ•¸æ˜¯æ²’有æ„義的" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "用法:%s 檔案\n" " 或:%s é¸é …\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "é€éŽèª¿ç”¨ unlink 函å¼ä¾†ç§»é™¤æŒ‡å®šçš„ <檔案>。\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "無法 unlink %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "無法讀å–系統啟動時間" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu 個使用者" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", å¹³å‡è² è¼‰é‡: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "根據 <檔案> 的內容,顯示哪些人目然已經登入系統。如果沒有指定,\n" "é è¨­æœƒä½¿ç”¨ %s。使用 %s 作為檔案也很普é。\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "根據 <檔案> 的內容,顯示哪些人目然已經登入系統。如果沒有指定,\n" "é è¨­æœƒä½¿ç”¨ %s。使用 %s 作為檔案也很普é。\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "å°å‡ºæ¯å€‹ <檔案> 的行數ã€å­—數åŠä½å…ƒçµ„數目,指定多個 <檔案> 時還會å°å‡ºç¸½è¨ˆã€‚\n" "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" " -c, --bytes å°å‡ºä½å…ƒçµ„數目\n" " -m, --chars å°å‡ºå­—元數目\n" " -l, --lines å°å‡ºè¡Œæ•¸\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "登入用家數目=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "å稱" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "時間" #: src/who.c:559 msgid "IDLE" msgstr "" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "備註" #: src/who.c:560 msgid "EXIT" msgstr "離開" #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "用法:%s [é¸é …]... 檔案1 檔案2\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "根據 <檔案> 的內容,顯示哪些人目然已經登入系統。如果沒有指定,\n" "é è¨­æœƒä½¿ç”¨ %s。使用 %s 作為檔案也很普é。\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: 找ä¸åˆ° UID 為 %lu 的用戶å稱\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [字串]...\n" " 或:%s é¸é …\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "é‡è¤‡å°å‡ºåŒä¸€å¥æŒ‡å®šçš„ <字串>,如沒有指定則é è¨­ç‚º ‘y’。\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "正在建立檔案‘%s’\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "用法:%s [é¸é …] [檔案]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s:無效的後置字串長度" #~ msgid "reading %s" #~ msgstr "è®€å– %s" #~ msgid "writing %s" #~ msgstr "寫入 %s" #~ msgid "closing %s" #~ msgstr "關閉 %s" #~ msgid "accessing %s" #~ msgstr "æ­£åœ¨å­˜å– %s" #~ msgid "opening %s" #~ msgstr "開啟 %s 中" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 檔案å稱\n" #~ " 或:%s é¸é …\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off 䏿œƒé€²è¡Œå‚™ä»½ (å³ä½¿ä½¿ç”¨äº† --backup é¸é …ä¹Ÿä¸æœƒ)\n" #~ " numbered, t 備份檔會加上數字\n" #~ " existing, nil 若有數字的備份檔已經存在則使用數字,å¦å‰‡ä½¿ç”¨æ™®é€šæ–¹å¼å‚™" #~ "份\n" #~ " simple, never æ°¸é ä½¿ç”¨æ™®é€šæ–¹å¼å‚™ä»½\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "é•·é¸é …å¿…é ˆç”¨çš„åƒæ•¸åœ¨ä½¿ç”¨çŸ­é¸é …時也是必須的。\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX çš„é¸æ“‡ç‚ºï¼šd 表示å進ä½ï¼Œo 表示八進ä½ï¼Œh 表示å六進ä½ï¼Œæˆ– n 表示\n" #~ "ä¸é¡¯ç¤ºåŸºæº–ä½å€ã€‚<ä½å…ƒçµ„> å¯ä»¥æ˜¯å‰ç½® 0x 或 0X çš„å六進使•¸å­—;如果 <ä½å…ƒçµ„" #~ ">\n" #~ "後加上 b 字元表示將數字乘以 512,加上 k 表示乘以 1024,加上 m 表示乘以\n" #~ "1048576。在任何 <æ ¼å¼> 後加上 z 字元會在æ¯è¡Œè¼¸å‡ºå¾Œé¡¯ç¤ºç›¸æ‡‰çš„å¯åˆ—å°å­—元。" #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ " \n" #~ "--string ä¸åŠ æ•¸å­—è¡¨ç¤ºå­—ä¸²é•·åº¦æ˜¯ 3。--width ä¸åŠ æ•¸å­—è¡¨ç¤ºå¯¬åº¦æ˜¯ 32。é è¨­\n" #~ "od 使用的é¸é …是 -A o -t d2 -w 16。\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "用法:%s [é¸é …]... [檔案]...\n" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "無法開啟目錄%s" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "ä¸å¯åŒæ™‚çœç•¥ä½¿ç”¨è€…和所屬群組" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "用法:%s [é¸é …]... [檔案]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "å°‡æ¯å€‹ <檔案> 的所屬群組設定為 <群組>。\n" #~ "加上 --reference 的話,會åƒè€ƒ <åƒè€ƒæª”> 的群組來設定。\n" #~ "\n" #~ " -c, --changes åƒ --verboseï¼Œä½†åªæœ‰åœ¨æ›´æ”¹å±¬æ€§æ™‚æ‰é¡¯ç¤ºçµæžœ\n" #~ " --dereference 會影響符號éˆçµæ‰€æŒ‡å®šçš„目的地檔案,\n" #~ " 而éžç¬¦è™Ÿéˆçµæœ¬èº« (é è¨­)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊æ¯\n" #~ " --reference=åƒè€ƒæª” 使用<åƒè€ƒæª”>的所屬群組,而éžè‡ªè¡ŒæŒ‡å®š<群組>\n" #~ " -R, --recursive åŒæ™‚處ç†ç›®éŒ„之下的所有的檔案åŠå­ç›®éŒ„\n" #~ " -v, --verbose è™•ç†æ¯å€‹æª”案時都會顯示訊æ¯\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "更改æ¯å€‹<檔案>的權é™ã€‚\n" #~ "\n" #~ " -c, --changes åƒ --verboseï¼Œä½†åªæœ‰åœ¨æ›´æ”¹å±¬æ€§æ™‚æ‰é¡¯ç¤ºçµæžœ\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊æ¯\n" #~ " -v, --verbose è™•ç†æ¯å€‹æª”案時都會顯示訊æ¯\n" #~ " --reference=åƒè€ƒæª” 使用<åƒè€ƒæª”>的權é™ï¼Œè€Œéžè‡ªè¡ŒæŒ‡å®š<權é™>\n" #~ " -R, --recursive åŒæ™‚處ç†ç›®éŒ„之下的所有的檔案åŠå­ç›®éŒ„\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "更改æ¯å€‹ <檔案> çš„ <æ“æœ‰è€…> åŠ/或 <所屬群組>。\n" #~ "\n" #~ " -c, --changes åƒ --verbose,但åªåœ¨æœ‰æ›´æ”¹æ™‚æ‰é¡¯ç¤ºçµæžœ\n" #~ " --dereference å—影響的是符號éˆçµæ‰€æŒ‡ç¤ºçš„å°è±¡ï¼Œè€Œéžç¬¦è™Ÿéˆçµæœ¬" #~ "身\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊æ¯\n" #~ " --reference=åƒè€ƒæª” 使用<åƒè€ƒæª”>çš„æ“æœ‰è€…å’Œæ‰€å±¬ç¾¤çµ„ï¼Œè€ŒéžæŒ‡ä»¤ä¸­æŒ‡å®š" #~ "çš„\n" #~ " -R, --recursive è™•ç†æ‰€æœ‰ç›®éŒ„中的檔案åŠå­ç›®éŒ„\n" #~ " -v, --verbose 處ç†ä»»ä½•檔案都會顯示訊æ¯\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "<大å°> å¯ä»¥æ˜¯ä»¥ä¸‹çš„å–®ä½ (å–®ä½å‰å¯åŠ ä¸Šæ•´æ•¸):\n" #~ "kB=1000,K=1024,MB=1000*1000,M=1024*1024,還有 G/T/P/E/Z/Y 如此類推。\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s:ä¸åˆæ³•çš„é¸é … ─ %c\n" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "無法更改%sçš„æ“æœ‰è€…å’Œ/或所屬群組" #~ msgid "cannot chdir to directory %s" #~ msgstr "無法進入%s目錄" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "無法å–å¾— UID 數值所代表的登入群組" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "這是自由軟體;請åƒè€ƒåŽŸå§‹ç¢¼çš„ç‰ˆæ¬Šè²æ˜Žã€‚æœ¬è»Ÿé«”ä¸æä¾›ä»»ä½•ä¿è­‰ï¼Œç”šè‡³ä¸æœƒåŒ…括\n" #~ "å¯å”®æ€§æˆ–é©ç”¨æ–¼ä»»ä½•特定目的的ä¿è­‰ã€‚\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "用法:%s [é¸é …] [檔案]...\n" #~ msgid "closing standard output" #~ msgstr "關閉標準輸出" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "<模å¼> 由三部份組æˆï¼šä¸€å€‹æˆ–以上的 ugoa å­—å…ƒã€+-= 符號其中一個ã€\n" #~ "和一個或以上的 rwxXstugo 字元。\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "無法覆寫 %s 目錄" #~ msgid "cannot create link %s" #~ msgstr "無法建立 %s éˆçµ" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "備份檔的後置字串為 ‘~’,除éžä»¥ --suffix é¸é …或是 SIMPLE_BACKUP_SUFFIX\n" #~ "環境變數指定。版本控制的方å¼å¯é€éŽ --backup é¸é …或 VERSION_CONTROL 環境\n" #~ "è®Šæ•¸ä¾†é¸æ“‡ã€‚以下是å¯ç”¨çš„變數值:\n" #~ "\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "警告:--version-control (-V) é¸é …å·²ç¶“éŽæ™‚;將來的版本隨時å¯èƒ½ä¸å†æ”¯æ´\n" #~ "æ­¤é¸é …。請使用 --backup=%s。" #~ msgid "symbolic links are not supported on this system" #~ msgstr "æ­¤ç³»çµ±ä¸æ”¯æ´ç¬¦è™Ÿéˆçµ" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "使用 --rfc-2822 (-R) é¸é …時ä¸èƒ½å†æŒ‡å®šè¼¸å‡ºæ ¼å¼" #~ msgid "undefined" #~ msgstr "未定義" #~ msgid "%s+%s records in\n" #~ msgstr "讀入了 %s+%s 個倿®µ\n" #~ msgid "%s+%s records out\n" #~ msgstr "輸出了 %s+%s 個倿®µ\n" #~ msgid "truncated records" #~ msgstr "å€‹è¢«æˆªæ–·äº†çš„å€æ®µ" #~ msgid "unrecognized operand %s=%s" #~ msgstr "ç„¡æ³•è­˜åˆ¥åƒæ•¸ %s=%s" #~ msgid "file offset out of range" #~ msgstr "檔案內容ä½ç½®è¶…出範åœä»¥å¤–" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "警告:請使用 --si 代替 -Hï¼›-H é¸é …çš„æ„義以後會更改為和\n" #~ " --dereference-args (-D) 一樣" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "用法:%s [é¸é …]... [字串]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "使用 -e é¸é …時,程å¼èƒ½å¤ è­˜åˆ¥ä»¥ä¸‹çš„特殊格å¼ï¼š\n" #~ "\n" #~ " \\0NNN 8 進使•¸å­— NNN 所代表的 ASCII å­—å…ƒ\n" #~ " \\\\ åæ–œè™Ÿ ‘\\’\n" #~ " \\a éŸ¿è² (BEL)\n" #~ " \\b 倒退字元 (backspace)\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "‘-LIST’ é¸é …å·²ç¶“éŽæ™‚;請改用 ‘-t LIST’" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "顯示æ¯å€‹æ•¸å­—的質因å­ã€‚\n" #~ "\n" #~ msgid "`%s' is too large" #~ msgstr "‘%s’ éŽå¤§" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "用法:%s [æ‰€æœ‰åƒæ•¸çš†æœƒè¢«å¿½ç•¥]\n" #~ " 或:%s é¸é …\n" #~ "ç°¡å–®åœ°çµæŸç¨‹å¼ï¼Œä¸¦å›žå‚³éŒ¯èª¤ç¢¼ï¼Œè¡¨ç¤ºç¨‹å¼å¤±æ•—。\n" #~ "\n" #~ "以下的é¸é …ä¸å¯ä»¥ç”¨ç°¡å¯«ã€‚\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "‘%s’é¸é …å·²éŽæ™‚;請改用 ‘%s’" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N å¯ä»¥åŠ ä¸Šå–®ä½ï¼šb 表示 512,k 表示 1024,m 表示 1024×1024。\n" #~ msgid "%s: number of bytes is large" #~ msgstr "%s:ä½å…ƒçµ„數目éŽå¤§" #~ msgid "unrecognized option `-%c'" #~ msgstr "無法識別的é¸é …‘-%c’" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "‘-%s’ é¸é …å·²éŽæ™‚;請改用 ‘-%c %.*s%.*s%s’" #~ msgid "cannot print only user and only group" #~ msgstr "ä¸å¯èƒ½åŒæ™‚åªé¡¯ç¤ºç”¨æˆ¶å’Œåªé¡¯ç¤ºç¾¤çµ„" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "無法得知 %s 的檔案時間" #~ msgid "strip failed" #~ msgstr "strip 失敗" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v 檔案數字 類似 -a <檔案數字>,但ä¸å°å‡ºåˆä½µäº†çš„任何一行\n" #~ " -1 æ¬„ä½ ä»¥æª”æ¡ˆ 1 的指定 <欄ä½> 來åˆä½µ\n" #~ " -2 æ¬„ä½ ä»¥æª”æ¡ˆ 2 的指定 <欄ä½> 來åˆä½µ\n" #~ msgid "value %s is so large that it is not representable" #~ msgstr "因為數值 %s éŽå¤§ï¼Œæ‰€ä»¥ç„¡æ³•表示" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "檔案 1 的欄ä½è™Ÿç¢¼æ˜¯ç„¡æ•ˆçš„:‘%s’" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "檔案 2 的欄ä½è™Ÿç¢¼æ˜¯ç„¡æ•ˆçš„:‘%s’" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "建立連至 %2$s çš„ç¬¦è™Ÿé€£çµ %1$s" #~ msgid "create hard link %s to %s" #~ msgstr "建立連至%2$s的實際éˆçµ (hard link)%1$s" #~ msgid "creating symbolic link %s to %s" #~ msgstr "正在建立連至%2$s的符號éˆçµ%1$s" #~ msgid "creating hard link %s to %s" #~ msgstr "正在建立連至%2$s的實際éˆçµ (hard link)%1$s" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ "\n" #~ "é è¨­æ˜¯ä¸æœƒä½¿ç”¨è‰²å½©ä¾†å€åˆ¥æª”案的。此方å¼ç­‰æ–¼ä½¿ç”¨äº† --color=none é¸é …。若使" #~ "用\n" #~ "--color é¸é …但䏿Œ‡å®š WHEN åƒæ•¸ç­‰æ–¼ --color=always。當使用 --color=auto " #~ "時,\n" #~ "åªç•¶è¼¸å‡ºè‡³çµ‚ç«¯æ©Ÿç•«é¢ (tty) æ™‚æ‰æœƒé¡¯ç¤ºè‰²å½©ã€‚\n" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary 以二元碼模å¼è®€å…¥æª”案 (DOS/Windows å¹³å°çš„é è¨­æ¨¡" #~ "å¼)\n" #~ " -c, --check 驗證由指定的清單æä¾›çš„ %s 檢查值\n" #~ " -t, --text 以文字模å¼è®€å…¥æª”案 (é è¨­æ¨¡å¼)\n" #~ "\n" #, fuzzy #~ msgid "Only one operand may be specified when using --check." #~ msgstr "使用é¸é … --check 時åªèƒ½æŒ‡å®šä¸€å€‹åƒæ•¸" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "用法:%s [é¸é …] [檔案]...\n" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "無法更改%s的權é™" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "無法更改%s的權é™" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "無法更改%s的權é™" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "無法建立目錄%s" #~ msgid "skip argument" #~ msgstr "ç•¥éŽåƒæ•¸" #~ msgid "limit argument" #~ msgstr "é™åˆ¶åƒæ•¸" #~ msgid "minimum string length" #~ msgstr "最å°å­—串長度" #~ msgid "width specification" #~ msgstr "å¯¬åº¦è¦æ ¼" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d:格å¼=\"%s\" 寬度=%d\n" #, fuzzy #~ msgid "Page range `%s'" #~ msgstr "å¤šé¤˜çš„åƒæ•¸â€˜%s’" #, fuzzy #~ msgid "column count too large" #~ msgstr "%s:數字‘%.*s’éŽå¤§" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "‘--columns=欄ä½â€™çš„æ¬„使•¸ç›®ç„¡æ•ˆï¼šâ€˜%s’" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S字串, --sep-string[=字串]\n" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "ç•¶ nn <= 10 (é…åˆ -F é¸é …時 nn <= 3) 的時候,使用 -l nn é¸é …å³è¡¨ç¤º -T é¸" #~ "é …\n" #~ "已生效。如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀å–資料。\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a éŸ¿è² (BEL)\n" #~ " \\b 倒退字元 (backspace)\n" #~ " \\c 立刻終止輸出任何內容\n" #~ " \\f æ›é å­—å…ƒ (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n æ›è¡Œå­—å…ƒ (new line)\n" #~ " \\r 復ä½å­—å…ƒ (return)\n" #~ " \\t 水平定ä½å­—å…ƒ (tab)\n" #~ " \\v 垂直定ä½å­—å…ƒ\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "æœ¬ç¨‹å¼æ˜¯è‡ªç”±è»Ÿé«”;你å¯ä»¥æ ¹æ“š Free Software Foundation 所公佈的 GNU\n" #~ "General Public License 第二版或(è‡ªç”±é¸æ“‡)è¼ƒæ–°çš„ç‰ˆæœ¬ä¸­çš„æ¢æ¬¾å޻釿–°\n" #~ "散佈åŠ/或修改本軟體。\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "ç™¼ä½ˆæœ¬è»Ÿé«”æ˜¯å¸Œæœ›å®ƒæœƒæœ‰ç”¨ï¼Œä½†ä¸æœƒæä¾›ä»»ä½•ä¿è­‰ï¼Œç”šè‡³ä¸æœƒåŒ…括å¯å”®æ€§æˆ–\n" #~ "é©ç”¨æ–¼ä»»ä½•特定目的的ä¿è­‰ã€‚詳情請åƒè€ƒ GNU General Public License。\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "你應該已經隨本軟體收到一份 GNU General Public Licenseï¼›å¦å‰‡è«‹å¯„信至\n" #~ "Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,\n" #~ "MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "無法進入%s目錄" #~ msgid "cannot lstat `.' in %s" #~ msgstr "無法在%s中 lstat‘.’" #~ msgid "%s changed dev/ino" #~ msgstr "%s的所在è£ç½®æˆ– inode 改變了" #~ msgid "cannot lstat %s" #~ msgstr "lstat%s失敗" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "無法進入%s目錄" #~ msgid "cannot remove `.' or `..'" #~ msgstr "無法移除‘.’或‘..’" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "移除指定的 <檔案>。\n" #~ "\n" #~ " -d, --directory 移除å¯èƒ½ä»æœ‰è³‡æ–™çš„目錄 (åªé™æœ€å¤§æ¬ŠåŠ›ä½¿ç”¨è€…ä½¿ç”¨)\n" #~ " -f, --force ç•¥éŽä¸å­˜åœ¨çš„æª”案,ä¸é¡¯ç¤ºä»»ä½•訊æ¯\n" #~ " -i, --interactive 進行任何移除æ“作å‰å¿…須先確èª\n" #~ " -r, -R, --recursive åŒæ™‚移除該目錄下的所有目錄層\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "無效的類型‘%s’" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "用法:%s [é¸é …] 檔案 [...]\n" #~ msgid "sort size" #~ msgstr "排åºè¨˜æ†¶ç·©è¡å€" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "<大å°> å¯ä»¥åŠ ä¸Šå–®ä½ï¼šb 表示 512,k 表示 1K,m 表示 1M。\n" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "‘-%d’é¸é …å·²éŽæ™‚;請使用‘-l %d’" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "無效的行數" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "用法:%s [é¸é …] [檔案]...\n" # How come the real behavior of -L is exactly the opposite of what docs # say? -- Abel #, fuzzy #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "顯示檔案或檔案系統的狀態。\n" #~ "\n" #~ " -f, --filesystem é¡¯ç¤ºæª”æ¡ˆç³»çµ±çš„ç‹€æ…‹ï¼Œè€Œä¸æ˜¯æª”案的狀態\n" #~ " -c --format=æ ¼å¼ ä½¿ç”¨æŒ‡å®šçš„ <æ ¼å¼> 代替é è¨­çš„æ ¼å¼\n" #~ " -L, --dereference 讀å–éˆçµæœ¬èº«çš„資訊,而éžéˆçµæŒ‡ç¤ºçš„目標檔案/目錄\n" #~ " -t, --terse åªé¡¯ç¤ºç°¡ç•¥çš„資訊\n" #, fuzzy #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "" #~ "警告:--version-control (-V) é¸é …å·²ç¶“éŽæ™‚;將來的版本隨時å¯èƒ½ä¸å†æ”¯æ´\n" #~ "æ­¤é¸é …。請使用 --backup=%s。" #~ msgid "stdin: read error" #~ msgstr "標準輸入:讀å–資料時發生錯誤" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry å³ä½¿åŸ·è¡Œ tail æ™‚æˆ–ä¸€æ®µæ™‚é–“å¾Œç„¡æ³•å­˜å–æŸæª”案,ä»" #~ "ç„¶\n" #~ " 䏿–·å˜—試開啟該檔案 ─ åªåœ¨é…åˆ -f é¸é …時有用\n" #~ " -c, --bytes=N 輸出最後的 N 個ä½å…ƒçµ„\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "è‹¥é…åˆ --follow (-f) é¸é …,tail é è¨­æœƒæª¢æŸ¥æª”案æè¿°å­ (file descriptor)ï¼›\n" #~ "峿˜¯èªªï¼Œå³ä½¿è¦ tail 的檔案已經改å,tail 仿œƒç¹¼çºŒæª¢æŸ¥è©²æª”案的末端。" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %<PRIuMAX>'" #~ msgstr "‘%s’é¸é …å·²éŽæ™‚;請使用‘%s-%c %.*s’" #, fuzzy #~ msgid "creating %s" #~ msgstr "正在建立檔案‘%s’\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "å°‡æ¯å€‹ <檔案> 的存å–åŠä¿®æ”¹æ™‚間都更新為目å‰çš„æ™‚間。\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "ç½®æ›æ“作åªåœ¨æ²’有指定 -d é¸é …å’Œ SET1ã€SET2 åŒæ™‚存在的情æ³ä¸‹æœ‰æ•ˆã€‚\n" #~ "-t é¸é …åªèƒ½åœ¨ç½®æ›æ“ä½œæ™‚ä½¿ç”¨ã€‚æœ‰éœ€è¦æ™‚,SET2 會將它的最後一個字元\n" #~ "é‡è¤‡ï¼Œç›´è‡³ SET2 的長度和 SET1 的一樣。" #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "SET2 中的多餘字元會被忽略。\n" #~ "åªæœ‰ [:lower:] åŠ [:upper:] å¯ä¿è­‰å±•開的字元以å‡åºæŽ’列;當在 SET2 中\n" #~ "ä½¿ç”¨ä½œç‚ºç½®æ›æ“作的字元時,它們åªèƒ½ä¸€èµ·ä½¿ç”¨ï¼Œè¡¨ç¤ºç½®æ›å¤§å°å¯«ã€‚" #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "è‹¥ä¸æ˜¯\n" #~ "ç½®æ›æˆ–刪除字元,-s é¸é …åªæœƒä½¿ç”¨ SET1ï¼›å¦å¤–壓縮字元會使用 SET2,並在\n" #~ "ç½®æ›æˆ–刪除字元後æ‰é€²è¡Œã€‚\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "‘-LIST’é¸é …å·²éŽæ™‚;請使用‘--first-only -t LIST’" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "å°‡ <輸入> (é è¨­ç‚ºæ¨™æº–輸入) 的資料中æ¯è¡Œé€£çºŒç›¸åŒçš„è³‡æ–™æ¨æ£„至åªå‰©ä¸€è¡Œï¼Œ\n" #~ "並在 <輸出> é¡¯ç¤ºçµæžœ (é è¨­æœƒåœ¨æ¨™æº–è¼¸å‡ºé¡¯ç¤ºçµæžœ)。\n" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "‘-%lu’é¸é …å·²éŽæ™‚;請使用‘-f %lu’" #~ msgid "am" #~ msgstr "上åˆ" #~ msgid "pm" #~ msgstr "下åˆ" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld æ—¥" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "用法:%s [é¸é …]... [檔案]\n" #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length å°å‡ºæœ€é•·ä¸€è¡Œçš„字數\n" #~ " -w, --words å°å‡ºä»¥ç©ºæ ¼éš”開為標準的字數\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "警告:以後隨時å¯èƒ½ä¸å†æ”¯æ´ -i é¸é …。請使用 -u。" #~ msgid "program error" #~ msgstr "程å¼éŒ¯èª¤" #~ msgid "stack overflow" #~ msgstr "堆疊溢ä½" #~ msgid "too few arguments" #~ msgstr "åƒæ•¸éŽå°‘" #~ msgid "group number" #~ msgstr "群組代號" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman åŠ David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "用法:%s [é¸é …]... LEFT_FILE RIGHT_FILE\n" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "è¤‡è£½å¤šå€‹æª”æ¡ˆï¼Œä½†æœ€å¾Œçš„åƒæ•¸%s並éžç›®éŒ„。" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%sï¼šåˆ†éš”ç¬¦è™Ÿå¾Œé¢æ‡‰è©²æ˜¯â€˜+’或‘-’字元" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnatã€David MacKenzie åŠ Jim Meyering" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "æ¯çµ„åªèƒ½é¸ä¸€é …作為 conv 的關éµå­—:\n" #~ "{ascii,ebcdic,ibm}ã€{lcase,ucase}ã€{block,unblock}ã€{unblock,sync}" #~ msgid " Type" #~ msgstr " 類型" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "顯示 dircolors 的內部資料庫時ä¸èƒ½åŠ ä¸Š <檔案> åƒæ•¸" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ msgstr "" #~ " -a, --all 顯示目錄中所有檔案的佔用é‡ï¼Œä¸¦éžåªæ˜¯ç›®éŒ„的總用é‡\n" #~ " -B, --block-size=å¤§å° å€æ®µä»¥æŒ‡å®š <大å°> çš„ä½å…ƒçµ„為單ä½\n" #~ " -b, --bytes 以ä½å…ƒçµ„為單ä½å°å‡ºä½”用é‡\n" #~ " -c, --total å°å‡ºæ‰€æœ‰é …目相加後的總用é‡\n" #~ " -D, --dereference-args åªæ‰¾å‡ºæŒ‡ä»¤åˆ—中的符號éˆçµæŒ‡ç¤ºçš„真正目的地\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "使用 -w數字 時,字元‘w’å¯ä»¥çœç•¥ä¸ç”¨ã€‚\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=å¤§å° å°å‡ºæœ€åˆæŒ‡å®š <大å°> çš„ä½å…ƒçµ„\n" #~ " -n, --lines=行數 å°å‡ºæœ€åˆæŒ‡å®š <行數> è€Œéžæœ€åˆ 10 行\n" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "正在安è£å¤šå€‹æª”æ¡ˆï¼Œä½†æœ€å¾Œçš„åƒæ•¸%s並éžç›®éŒ„。" #~ msgid "too many non-option arguments" #~ msgstr "éžé¸é …çš„åƒæ•¸éŽå¤š" #~ msgid "too few non-option arguments" #~ msgstr "éžé¸é …çš„åƒæ•¸éŽå°‘" #~ msgid "%s: File exists" #~ msgstr "%s:檔案已存在" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "用法:%s [é¸é …]... 目標 [éˆçµå稱]\n" #~ " 或:%s [é¸é …]... 目標... 目錄\n" #~ " 或:%s [é¸é …]... --target-directory=目錄 目標...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "建立多個éˆçµæ™‚ï¼Œæœ€å¾Œçš„åƒæ•¸å¿…需為目錄" #~ msgid "file" #~ msgstr "檔案" #~ msgid "files" #~ msgstr "檔案" #~ msgid "checksum" #~ msgstr "總和檢查值" #~ msgid "checksums" #~ msgstr "總和檢查值" #~ msgid "no files may be specified when using --string" #~ msgstr "使用é¸é … --string 時ä¸èƒ½å†æŒ‡å®šæª”案" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "ä¸èƒ½ç‚º fifo 檔案指定 major å’Œ minor è£ç½®ç·¨è™Ÿ" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "ç§»å‹•å¤šå€‹æª”æ¡ˆæ™‚ï¼Œæœ€å¾Œçš„åƒæ•¸å¿…須為目錄。" #~ msgid "old-style offset" #~ msgstr "舊å¼çš„åç§»é‡è¡¨ç¤ºæ³•" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "在相容性模å¼ä¸‹ï¼Œç¬¬äºŒå€‹é‹ç®—符號‘%s’是無效的" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "在相容性模å¼ä¸‹ï¼Œæœ€å¾Œå…©å€‹åƒæ•¸å¿…須是å移值" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "‘--pages’的é ç¢¼ç¯„åœç„¡æ•ˆï¼šâ€˜%s’" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "‘--pages’的開始é ç¢¼ç„¡æ•ˆï¼šâ€˜%s’" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "‘--pagesâ€™çš„çµæŸé ç¢¼ç„¡æ•ˆï¼šâ€˜%s’" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "‘--pages’的開始é ç¢¼å¤§æ–¼çµæŸé ç¢¼" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%Y-%m-%d %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "é–‹å§‹é ç¢¼å¤§æ–¼ç¸½é æ•¸ï¼šâ€˜%d’" #~ msgid "Page %d" #~ msgstr "第 %d é " #~ msgid "invalid number" #~ msgstr "無效的數字" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%cï¼šåœ¨å·²éŽæ™‚çš„é¸é …䏭嫿œ‰ç„¡æ•ˆçš„後置字元" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "åƒæ•¸éŽå¤šï¼›ç•¶ä½¿ç”¨å·²éŽæ™‚çš„ tail é¸é …語法 (%s) 時,ä¸å¯æŒ‡å®šå¤šæ–¼ä¸€å€‹çš„æª”案\n" #~ "åƒæ•¸ã€‚請使用åŒç­‰çš„ -n 或 -c é¸é …。" #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "警告:將兩個或以上的檔案é…åˆå·²éŽæ™‚çš„ tail é¸é …語法 (%s) 䏿˜¯åœ¨æ‰€æœ‰ç³»çµ±\n" #~ "都通用的。請使用åŒç­‰çš„ -n 或 -c é¸é …。" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s 大於此系統能接å—的最大檔案大å°" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s:檔案連續改變大å°çš„æœ€å¤§æ¬¡æ•¸ç„¡æ•ˆ" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "åæ–œè™Ÿæº¢å‡ºåºåˆ—‘\\%c’無效" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "壓縮é‡è¤‡å­—æ™‚è‡³å°‘è¦æŒ‡å®šä¸€å€‹å­—串" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "無效的æ†ç­‰æ˜ å°„ (identity mapping)ï¼›é€²è¡Œç½®æ›æ™‚ï¼Œå°æ–¼å­—串 1 的任何\n" #~ "[:lower:]ã€[:upper:] çµæ§‹ï¼Œåœ¨å­—串 2 è£¡éƒ½å¿…é ˆæœ‰ä¸€å€‹ç›¸æ‡‰çš„çµæ§‹ã€‚\n" #~ "(分別為 [:upper:]ã€[:lower:]) " #~ msgid "only one argument may be specified" #~ msgstr "åªèƒ½æŒ‡å®šä¸€å€‹åƒæ•¸" #~ msgid "cannot lstat `.'" #~ msgstr "lstat‘.’失敗" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "%s:目錄%s有防寫ä¿è­·ï¼›æ˜¯å¦ä»ç„¶è¦é€²å…¥? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "正在移除目錄%s中的所有項目\n" #~ msgid "directory %s was replaced before being removed" #~ msgstr "正準備移除目錄%s時目錄已被置æ›" #~ msgid "subdirectory of %s was moved while being removed" #~ msgstr "正準備移除%sçš„å­ç›®éŒ„時該目錄已被移走" #~ msgid " (might be nonempty)" #~ msgstr "(å¯èƒ½ä»æœ‰è³‡æ–™ï¼‰" #~ msgid "removing the directory itself: %s\n" #~ msgstr "移除目錄本身:%s\n" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/da.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001053666�12107204515�012072� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���²��0���À-��µ��P[�����$z�����4z��lz������L}�����M}��ø���O}��¾���H~��¿�����Â���Ç��ª���Š€��G��5��ù���}‚��º���wƒ��p���2„��!��£„��¼���Å…��©��‚†��w��,ˆ��5��¤‰��R��ÚŠ��~���-Œ�� ���¬Œ��\���ºŒ��w�����T�����G���ä��ï���,Ž��w�����¡���”��#��6����Z‘��š���_’��Ä���ú’��D��¿“��7��–��z���<—�����·—��Þ���E˜��i���$™��J���Ž™��›���Ù™�����uš��¸���÷š��ˆ���°›��È���9œ��„�����M��‡��à���Õž��›���¶Ÿ��—���R ��`���ê ��‚���K¡����Ρ��>���ã¢��3��"£��|���V¤��Ý���Ó¤��K��±¥��=���ý¦��l���;§��0���¨§��D���Ù§����¨��K��8©��Ê���„ª��–���O«��-��æ«��Ê���®��ç���ß®����ǯ��‡���ذ��¾���`±��á���²��E���³��>���G³��Ë���†³��Œ���R´��ü���ß´��æ���ܵ��¿���ö����ƒ·��9���•¸�����ϸ�����æ¸��t��û¸��¼���pº��š���-»��¾���È»��F��‡¼��Ì���ν��°���›¾��Ü���L¿����)À��Ð��=Á�� ��Ã�����/Ä����0Å��y���CÆ��þ��½Æ��1��¼È��Ë���îË����ºÌ��H���ØÍ��7���!Î��¼���YÎ��F���Ï��ì���]Ï��v���JÐ�� ���ÁÐ��¡��ÍÐ��¾��oÒ��Ð��.Ô��u���ÿÕ��F��uÖ��q���¼Ø��[��.Ù��æ���ŠÚ��1��qÛ��S��£Ü��ë���÷Ý��,���ãÞ��“��ß��º���¤à����_á�����wâ�����÷â��ß���ˆã��\��hä��‹���Åå��i���Qæ��A���»æ��x���ýæ��v���vç��Ø��íç����Æé��Â���Üê��I���Ÿë��·���éë��›���¡ì��û��=í��g��9ï��p���¡ð��5���ñ��s���Hñ����¼ñ��3��Ûò����ô��I��.õ��×���xö��ò���P÷��É���Cø��Ê��� ù��ð���Øù��–��Éú��Ô���`ü��"��5ý��Ó���Xþ��¬���,ÿ��¤���Ùÿ��i���~��õ���è��˜���Þ���w�Z���ˆ�ù���ã����Ý�.��k�Å��š�ž���`�G��ÿ�È���G �M�� �5���^ �4���” �‰���É �F���S �Ö���š �©��q�O���í��k���Y� ��é�£��ö�y��š� ���n���5�\��¤�B����F���D���‹�Ë��¦���r�9��‘ ���Ë!���ë"�¢���|$�Ö���%�¡��ö%�E���˜'�J���Þ'�Ò���)(� ��ü(��� *�º��+�&��Ô,�¹��û-�¿���µ/���u0�Ý���{3�+���Y4�N���…4�Ò���Ô4�’���§5�°���:6�Ë���ë6�»���·7�¡��s8�›���:�…��±:�È���7<�B����=���C=�u���X>���Î>�1���ä?�ò���@���� A�Ë���™A�ƒ���eB�ƒ���éB�k��mC�‚��ÙE�¢��\G�4��ÿH���4J���FK�´��YL�í���N� ��üN���P�<��� Q�‘���JQ�Ò���ÜQ�º��¯R�ª��jT�K���V���aV�ü���fW�z���cX�þ���ÞX�µ���ÝY�ô��“Z����ˆ\�f��]�5��^�ˆ���µ_�1���>`�H���p`�;��¹`�Æ���õa�!��¼b�È���Þd�ý���§e�q��¥f�Y��h�ü���qi�L���nj�×���»j�T��“k�#��èl�Ç��� n�÷��Ôn�Þ���Ìp�³��«q�ƒ���_s�Ñ���ãs�i���µt�Í���u�Ä���íu�Ñ���²v�ë���„w�K��px���¼y�D��Ëz����|�Ó���ž|�Ä��r}�I���7������Ÿ€�H���-‚�3���v‚�c��ª‚� ��„�=��/…���m†�ê��ˆ‡�*��s‰�’���žŠ�F���1‹�C���x‹�X��¼‹�>����?���T�«���”�9���@Ž�S���zŽ�š��ÎŽ�m���i�û���×�ä���Ó‘�¨��¸’�I��a”�$���«–�(���Ж�<���ù–�ú���6—�$���1˜�%���V˜�*���|˜���§˜�:���Æ™�&���š� ���(š�9���Iš�#���ƒš�$���§š�!���Ìš�Ý���îš�:���Ì›�:���œ�,���Bœ�"���oœ� ���’œ� ���œ�ç���«œ�,��“�X��Àž�;��� �|��U ���Ò¡�Ô���æ¢�Ü���»£�þ���˜¤� ���—¥����¢¥� ���§¥����³¥����¼¥����Å¥����Í¥����Ö¥����Ü¥���ï¥�&��� §� ���2§� ���<§����H§����[§����n§����ƒ§����¡§� ���½§�+���Þ§���� ¨����#¨�?���>¨�D���~¨�0���è����ô¨�)��� ©����7©�0���K©�"���|©����Ÿ©�'���¯©� ���ש����å©�!���ú©����ª�"���<ª����_ª�/���|ª� ���¬ª����ͪ����åª�#���ûª����«����8«�>���U«�"���”«����·«�%���Ö«�B���ü«�*���?¬����j¬����‰¬����›¬�)���«¬����Õ¬�%���ò¬�,���­����E­�#���U­�"���y­�$���œ­����Á­�/���á­����®�8���!®����Z®����o®����Ž®����«®����¿®����Þ®����ý®� ���¯����3¯����D¯����Y¯����t¯����‘¯����¤¯����¶¯����ɯ����Ú¯�'���ë¯����°�*���.°����Y°�$���w°����œ°����¶°����ư� ���ß°�����±�"���±����9±����O±�;���e±����¡±����´±����б����í±���� ²����&²����D²����a²����}²����‘²�"���¨²����˲�,���Þ²���� ³�)���%³����O³����l³����}³�"���œ³�1���¿³�'���ñ³����´�(���*´� ���S´�,���t´�,���¡´�,���δ�'���û´�-���#µ� ���Qµ�(���rµ�(���›µ����ĵ����×µ����ðµ�"��� ¶����.¶����=¶�&���P¶����w¶�"���’¶� ���µ¶� ���Á¶����ζ����à¶����ñ¶����·�5���·�0���S·�.���„·����³·����Ï·����ï·�"���¸����2¸����B¸�+���S¸�%���¸����¥¸�)���Ÿ����ï¸� ���ñ¸����þ¸�<���¹�1���R¹�,���„¹�0���±¹�,���â¹�#���º�0���3º����dº�l���hº�;��Õº����¼� ���'¼����5¼�6���P¼�5���‡¼�-���½¼�)���ë¼����½����'½����>½����U½� ���l½����w½����|½����‚½�,���н�8���·½�)���ð½� ���¾����&¾����8¾����R¾����a¾� ���g¾����q¾����¾� ���˜¾� ���¢¾� ���®¾�k��¸¾����$À����,À�K���DÀ�8���À����ÉÀ�k���ÒÀ�h���>Á����§Á� ���8Â� ���CÂ� ���PÂ�3���\Â�Š��Â� ���Ä� ���(Ä�g��2Ä�½���šÅ�Ò���XÆ����+Ç����:Ç� ���JÇ�=���WÇ�(���•Ç�ã���¾Ç� ���¢È����®È�U��¾È����Ê����Ê�<��"Ê�\���_Ë� ���¼Ë�+���ÇË�+���óË�0���Ì� ���PÌ����ZÌ����aÌ�Ï���pÌ�1���@Í����rÍ�I���‹Í� ���ÕÍ����àÍ�@���ùÍ�£��:Î�7���ÞÏ�?���Ð����VÐ����hÐ����wÐ� ���~Ð����‹Ð����Ð����–Ð����œÐ����¢Ð����³Ð�:���¸Ð����óÐ�¦���Ñ����®Ñ�×��½Ñ����•Ó� ���žÓ����©Ó����½Ó� ���ÄÓ����ÎÓ����æÓ����ýÓ����Ô����6Ô�$���NÔ����sÔ����…Ô���� Ô� ���¯Ô� ���»Ô� ���ÇÔ����ÔÔ� ���åÔ����ñÔ����Õ����Õ����Õ���� Õ����&Õ� ���,Õ� ���9Õ����GÕ����XÕ����rÕ����ƒÕ� ���’Õ� ��� Õ� ���­Õ� ���¹Õ����ÄÕ����ÉÕ����ÎÕ�#���èÕ���� Ö����Ö�*���4Ö����_Ö�E���bÖ����¨Ö����¼Ö���ÍÖ�—���ß×�H���wØ�o���ÀØ����0Ù����4Ù����DÙ� ���YÙ�&���gÙ� ���ŽÙ� ���šÙ� ���¥Ù����²Ù� ���¹Ù�#���ÇÙ�H���ëÙ�2���4Ú�i��gÚ�ª���ÑÛ�š���|Ü�;���Ý����SÝ���qÝ�¸���‹ß�†���Dà�;���Ëà�%���á����-á�†���­á�N���4â�T���ƒâ� ��Øâ�7���ãä����å����:å� ���Rå� ���\å����iå� ���nå����zå����Žå�Ÿ���©å�º���Iæ�@���ç����Eç�D���\ç����¡ç����²ç� ���Çç����Õç����éç����úç���� è� ���è�1���&è�'���Xè� ���€è� ���Žè� ���œè����©è�&���¼è�*���ãè����é����é����&é�5���+é� ���aé����mé����ué����†é����šé� ���¯é����»é� ���Ãé����Ðé�$���Õé� ���úé�Ñ���ê�$���×ê����üê����ë����$ë�â��7ë�&���í�%���Aí�C���gí�+���«í����×í����Üí� ���ëí����ùí���� î���� î����2î����Dî� ���Vî����cî� ���xî�,���ƒî�j���°î�&���ï� ���Bï�'���cï�0���‹ï�4���¼ï�~��ñï����pñ����ñ����ªñ�–���Éñ�)���`ò�Y���Šò�'���äò�T��� ó�'���aó�(���‰ó����²ó�X���Æó�@���ô����`ô�?���|ô�&���¼ô�š���ãô����~õ����•õ�#���3ö�&���Wö����~ö�"���ö�T���Àö�g���÷�†���}÷�.���ø����3ø�"���Rø�+���uø�Y���¡ø�~���ûø�¤���zù�ä���ú�=���û����Bû�^���`û� ���¿û�¢���àû�F���ƒü�}���Êü�'���Hý�'���pý�Z���˜ý�`���óý�!���Tþ�!���vþ�$���˜þ� ���½þ�¦���Þþ�M���…ÿ�>���Óÿ�'�����<���:��T���w�����Ì�����Ñ�����Ö�����ì����������ï���-�����¹���3�D���í�H���2�G���{� ���Ã����Í����Ò����Ø�´��ç����œ�;���³�3���ï�/���#�+���S�'����#���§����Ë����ë�����<�������T����h����n����t����‹�*�������¸����Ð����ê�A�������I�2���`�1���“� ���Å����Ñ�!���ä���� �#��� ����1 �0���M ����~ ����˜ ����© �*���º ����å ���� �"���# ����F ����d �E���ƒ �;���É � ��� �,���& � ���S �!���t ����– ����¶ �+���Õ �#��� �#���% �,���I �0���v �,���§ �#���Ô ����ø ���� � ���) ����J ����f ����y ����— ����µ �$���Ô �"���ù �����'���2����Z�5���t�'���ª����Ò�!���è���� ����*�1���C����u����…����¢����»����Ô����è����ü��������'����A�(���Q����z����“�.���¨�2���×���� ����%����@�%���Y�0����3���°����ä�F����B���K�+���Ž�5���º�1���ð� ���"����.����G�*���f����‘����¬�)���É����ó�����%��� �!���F� ���h� ���v����„����”�8���¯����è����þ��������0�&���J�'���q�<���™�:���Ö�.����!���@����b�&���q����˜����³����Ã����×����è����ø�#����'���,�"���T�&���w����ž����³����Ì� ���ç��������!����8�%���O����u� ���‘� ���ž����«����¾����Ó����é����ü��������'����:�,���Q�+���~�-���ª�)���Ø�!�������$����C����W�8���n����§����¾����Ó����é�3���û� ���/����9� ���J����V����k� ���{����…�#���˜�"���¼� ���ß�������������0����L����f����w��������•����§�%���¸����Þ�$���ø�+����#���I�:���m�!���¨�/���Ê�'���ú����"����8����S����n�*���Ž�%���¹����ß�#���ý�$���!����F�%���\�!���‚�'���¤�%���Ì����ò���� ����& ����8 ����W �(���u �,���ž � ���Ë �$���ì ����!����*!����<!����Z!�$���x!�#���!�%���Á!����ç!�!���"�&���)"����P"����d"�(���‚"� ���«"�3���Ì"�-����#����.#����M#�!���f#�1���ˆ#�'���º#����â#�1���$����4$����K$����f$����€$����š$�#���´$�1���Ø$�.��� %����9%����O%����a%�(���%����ª%� ���Â%����Ð%����í%�(���&����+&����0&�3���O&�;���ƒ&�.���¿&����î&����'����'�$���9'�$���^'�D���ƒ'����È'����Ü'����í'����ý'����(����*(����G(����c(����€(����š(����ž(����µ(�)���Ä(�/���î(�=���)�@���\)�:���)����Ø)�!���ö)����*�,���**����W*����s*����…*�;���œ*����Ø*����ó*���� +����"+����6+� ���Q+�!���r+�(���”+����½+����Ø+����ì+�*���ÿ+�-���*,����X,����h,����,����˜,����­,����Ä,����Ý,����ù,�%���-�1���7-�#���i-�"���-����°-� ���Æ-����Ô-����å-����û-�"��� .� ���0.����>.����Q.����h.����{.����—.����­.�#���È.�!���ì.�!���/����0/����G/����f/����/� ���ž/����«/����»/����Ì/����Þ/����÷/����0����)0�!���G0����i0�"���0����¤0����Ä0� ���â0����1����1�]���01�G���Ž1����Ö1����ê1�����2�!���2�*���82� ���c2� ���p2����‘2�/���¥2�$���Õ2����ú2�2���3�;���B3����~3����—3����´3����Ò3�R���é3�L���<4�(���‰4� ���²4����¿4����Ï4����á4����÷4�,���5�9���B5�*���|5�,���§5����Ô5�*���Ú5�G���6�0���M6�:���~6�#���¹6�'���Ý6�8���7����>7�@���S7�/���”7����Ä7�7���Õ7�8��� 8� ���F8����T8�/���p8�-��� 8� ���Î8����Ú8����ô8�#��� 9�&���/9�)���V9�*���€9����«9�$���À9����å9����ü9����:����&:�+���?:�1���k:�"���:����À:����Ò:����é:�#���;�$���+;����P;����n;����ƒ;�!���£;�!���Å;�%���ç;���� <�%���<����B<����Q<�7���`<�=���˜<����Ö<����ô<���� =����#=����6=� ���G=����U=�-���m=�C���›=����ß=�(���ô=� ���>�'���'>����O>�"���i>����Œ>����œ>�?���¬>�,���ì>�%���?����??�4���U?� ���Š?�&���«?� ���Ò?�1���Þ?�2���@�$���C@����h@�8���‡@�G���À@�9���A����BA�"���aA�$���„A����©A����ÃA����ãA����øA����B����,B�>���DB�B���ƒB� ���ÆB� ���ÑB����ÝB����òB����C���� C� ���3C� ���@C����LC����cC� ���zC� ���„C����ŽC�)���¨C����ÒC����çC����D����D�$���+D�-���PD�7���~D����¶D����½D����ÌD����ÛD����ôD� ���E����E����E����E����$E����BE����[E�#���xE�J���œE� ���çE� ���õE� ���F����F�*���#F����NF����jF����ƒF����ŸF����¶F�8���ÓF���� G� ���G�H��� G�U���iG�>���¿G�?���þG�?���>H�=���~H�>���¼H�3���ûH����/I�(���ÀI�N���éI�f���8J�>���ŸJ�@���ÞJ�#���K�<���CK�*���€K����«K����ËK�(���ãK���� L�/���'L����WL����rL����ŠL����L����£L����¸L����ÌL����ÓL�*���óL�!���M�7���@M����xM�"���M����³M����ÂM�3���ÖM�\��� N����gN����N�.���—N����ÆN�0���ÜN���� O�C���$O����hO����…O����™O����³O� ���ÅO�H���ÏO�+���P�J���DP�2���P�8���ÂP�=���ûP�@���9Q�#���zQ����žQ�$���¹Q�=���ÞQ�4���R�.���QR�,���€R�<���­R�0���êR�3���S�7���OS�c���‡S����ëS����T�"���T�t���;T� ���°T�3���»T�>���ïT�5���.U�j���dU�h���ÏU�_���8V�0���˜V�,���ÉV�*���öV�3���!W�(���UW�&���~W�(���¥W� ���ÎW����ÚW� ���íW� ���úW�/���X�7���8X�&���pX� ���—X�»��¸X����tZ�á���vZ�È���X[�Ê���!\�Ô���ì\�¼���Á]�G��~^�õ���Æ_�º���¼`�o���wa�&��ça�¯���c�¹��¾c�p��xe�:��éf�e��$h�q���Ši����üi�k��� j�Œ���xj�V���k�c���\k���Àk�x���Öl�°���Om�f���n� ��go�“���rp�°���q�¯��·q�\��gs�…���Ät�‹���Ju�ä���Öu�ƒ���»v�M���?w�¦���w�„���4x�Ç���¹x�Œ���y�Ë���z�Š���Úz�P��e{�ø���¶|�ž���¯}�¯���N~�X���þ~�Š���W���â�7�����8��8�“���q‚�ê���ƒ�-��ðƒ�C���…�n���b…�2���Ñ…�O���†�.��T†�N��ƒ‡�Þ���Òˆ�Ÿ���±‰�J��QŠ�Ø���œŒ�#��u�1��™Ž�–���Ë�Ã���b���&‘�M���6’�F���„’�ú���Ë’�Í���Æ“���””�ú���›•�å���––���|—�>���“˜����Ò˜�\���î˜�š��K™�Ô���æš�«���»›�´���gœ�P���·���mž�¯���%Ÿ�ë���ÕŸ�$��Á �å��æ¡� ��Ì£���Ö¤���ç¥�‰���§���§���©©�Õ���:­�!��®�Q���2¯�E���„¯�Ç���ʯ�K���’°�ì���Þ°�o���˱� ���;²�Ã��G²�0�� ´�ò��<¶�“���/¸�|��ø�L���@»�_��»�Ý���í¼�-��˽�‚��ù¾�ó���|À�2���pÁ�“��£Á�Ì���7Ã� ��Ä�t���Å�Š���‡Å�ä���Æ���÷Æ����wÈ�p���É�K���vÉ�{���ÂÉ�z���>Ê�Ú��¹Ê���”Ì�ý���«Í�{���©Î�Ñ���%Ï�À���÷Ï���¸Ð�£��¼Ò�x���`Ô�3���ÙÔ�~��� Õ�*��ŒÕ�S��·Ö�>�� Ø�”��JÙ�Þ���ßÚ����¾Û�Õ���¿Ü�Ô���•Ý�ô���jÞ�ž��_ß�Â���þà�L��Áá�ç���ã�Ð���öã�¥���Çä�u���må�ï���ãå�•���Óæ���iç�[���~è����Úè����Ûé�J��kê�a��¶ë�¤���î�b��½î�É��� ð�h��êð�=���Sò�2���‘ò�†���Äò�A���Kó�Ö���ó�×��dô�‚��<ö� ��¿÷�§��Êù���rû�Á��Œü�r��Nþ���Áÿ�w���×��È��O�<����?���U���•�ñ��²�ú���¤�.��Ÿ�!��Î�¦��ð �µ���— �Í���M � �� �H���%�N���n�Û���½� ��™�:��º�±��õ�]��§�½���Ç���Ã�*��‹�Ù���¶�,����t���½�Ê���2�œ���ý�¨���š�ô���C�»���8 �Ñ��ô �–���Æ"�•��]#�Ó���ó$�>���Ç%���&�w���$'�G��œ'�0���ä(�ü���)�’���*�Ä���¥*�—���j+�—���,�·��š,�–��R/�Ð��é0�G��º2�-��4���05�º��G6�é���8���ì8��� :�;���!;�•���];�Ò���ó;�Ú��Æ<�ÿ��¡>�R���¡@�ù���ô@�#��îA����C�÷���¢C�»���šD���VE�½���eG�„��#H�3��¨I�—���ÜJ�2���tK�K���§K�M��óK�µ���AM�@��÷M�Ö���8P���Q�‚��(R�h��«S�ü���U�I���V���[V�S��vW�&��ÊX�Å���ñY���·Z�ï���×\�ð��Ç]�‘���¸_�Ë���J`�|���a�ü���“a�Ä���b�Ø���Uc���.d�H��5e�+��~f�5��ªg�–���àh�Ì���wi���Dj�D���Sl�(��˜l�Q��Ám�O���o�4���co�s��˜o�(�� q���5r�!��9s���[t�ü���av�˜���^w�L���÷w�B���Dx�‡��‡x�A���z�G���Qz�¼���™z�;���V{�S���’{���æ{�n���f}���Õ}���Ø~�²��á�œ��”�%���1„�#���W„�?���{„�ò���»„�"���®…�*���Ñ…�,���ü…���)†�1���/‡�&���a‡�!���ˆ‡�2���ª‡�)���݇�/���ˆ�$���7ˆ�,��\ˆ�=���‰‰�=���lj�0���Š�$���6Š����[Š����dŠ�å���zŠ�*��`‹�e��‹Œ�2���ñ�r��$Ž���—�Ç���°�ç���x‘�ý���`’� ���^“����i“� ���n“����{“����„“����“� ���•“����Ÿ“����¨“�D��¼“�,���•� ���.•� ���8•����D•����[•� ���q•� ���’•����³•�%���Í•�.���ó•����"–����<–�?���W–�Y���—–�5���ñ–����'—�6���=—����t—�5���‰—�%���¿—����å—�&���ô—����˜����*˜�#���B˜����f˜�%���ƒ˜�!���©˜�1���˘�$���ý˜����"™����@™�(���T™�$���}™����¢™�@���À™�,���š�#���.š�,���Rš�I���š�;���Éš����›����%›����?›�8���R›� ���‹›�)���¬›�B���Ö›����œ�+���2œ�'���^œ�1���†œ����¸œ�*���Óœ� ���þœ�8��� ����C�$���[�!���€����¢� ���·�"���Ø����û�#���ž����5ž����Kž����ež����„ž����£ž����´ž����Åž����Öž����ìž�)���Ÿ�!���,Ÿ�/���NŸ����~Ÿ�'���’Ÿ����ºŸ����ØŸ����èŸ�$��� ����& ����< ����Y ����s �\���‡ ����ä ����õ ���� ¡����(¡����B¡����`¡����|¡����›¡����´¡����Ê¡�!���à¡����¢�,���¢����C¢�,���c¢� ���¢����±¢����Ç¢�)���â¢�9��� £�0���F£����w£�$���£����´£�,���У�*���ý£�,���(¤�&���U¤�-���|¤�!���ª¤�'���̤�%���ô¤����¥����-¥� ���L¥�(���m¥� ���–¥����¤¥�%���¶¥����Ü¥�!���ø¥� ���¦� ���&¦����2¦����E¦����X¦����q¦�C���¦�.���Ô¦�<���§����@§����]§����w§�(���‘§����º§����ɧ�,���ã§�'���¨����8¨�%���T¨����z¨� ���|¨����Ѝ�5���¢¨�5���ب�.���©�+���=©�.���i©�(���˜©�+���Á©����í©�t���ð©�W��eª����½«� ���Ú«�'���è«�A���¬�:���R¬�1���¬�*���¿¬����ê¬����û¬����­����)­����@­����I­����N­����T­�-���\­�8���Š­�0���í����ô­����ý­����®����6®����E®����J®����R®����f®� ���‚®����Œ®����ž®�j��¦®� ���°����°�N���;°�3���а� ���¾°�g���Ȱ�o���0±�—��� ±� ���8²����C²� ���Y²�5���e²�–��›²� ���2´����@´�W��H´�¶��� µ�é���W¶����A·����P·� ���`·�=���m·�)���«·���Õ·� ���ظ����â¸�‡��ò¸� ���zº����…º�V��Œº�[���ã»� ���?¼�*���J¼�,���u¼�8���¢¼����Û¼� ���ì¼����ø¼�Ò���½�*���Ú½�%���¾�R���+¾� ���~¾����ˆ¾�R���¢¾�­��õ¾�6���£À�A���ÚÀ����Á����.Á����=Á� ���DÁ����NÁ����VÁ����[Á����bÁ����iÁ����zÁ�B���‚Á����ÅÁ�±���ÙÁ����‹Â�Ë��Â����iÄ� ���rÄ����}Ä����—Ä����žÄ����°Ä����ÂÄ����ÝÄ����úÄ����Å�&���0Å����WÅ����rÅ����ŒÅ� ���›Å� ���§Å� ���³Å����ÀÅ� ���ÑÅ����ÝÅ����ïÅ�����Æ����Æ���� Æ����Æ� ���Æ� ���&Æ����4Æ����EÆ����dÆ����xÆ� ���‡Æ� ���•Æ� ���¢Æ� ���®Æ����»Æ����ÀÆ����ÅÆ�'���àÆ����Ç�"���Ç�&���:Ç����aÇ�P���fÇ����·Ç� ���ÉÇ�$��×Ç�Œ���üÈ�R���‰É�|���ÜÉ����YÊ� ���]Ê����kÊ� ���~Ê�%���ŒÊ� ���²Ê� ���¾Ê� ���ÉÊ����ÖÊ����ÝÊ�&���òÊ�B���Ë�3���\Ë�„��Ë�ª���Í�±���ÀÍ�:���rÎ����­Î���ÉÎ�³���âÐ�“���–Ñ�9���*Ò�+���dÒ����Ò�‡���!Ó�X���©Ó�W���Ô�.��ZÔ�B���‰Ö����ÌÖ����ëÖ� ���×� ���×����×� ���%×����1×����D×�»���b×�¯���Ø�I���ÎØ����Ù�@���3Ù����tÙ����Ù����«Ù����ºÙ����ÎÙ����ßÙ����îÙ� ���ýÙ�0��� Ú�,���<Ú� ���iÚ� ���wÚ� ���…Ú����’Ú�+���£Ú�'���ÏÚ����÷Ú����þÚ����Û�0���Û����FÛ����OÛ����WÛ����hÛ����~Û� ���“Û����ŸÛ� ���§Û����²Û�&���¶Û� ���ÝÛ�ë���èÛ�&���ÔÜ����ûÜ����Ý����&Ý�µ��EÝ�(���ûÞ�(���$ß�P���Mß�/���žß����Îß����Óß� ���âß����îß����ÿß����à����$à����7à� ���Jà� ���Uà� ���bà�/���là�u���œà�$���á����7á�'���Wá�2���á�7���²á�Ž��êá����yã����”ã����­ã�š���Èã�&���cä�_���Šä�(���êä�X���å�&���lå�*���“å����¾å�V���Ïå�A���&æ����hæ�>���æ�'���Àæ�¥���èæ����Žç�Ÿ���¢ç����Bè�#���aè����…è����¢è�R���Àè�r���é�Ž���†é�.���ê����Dê�)���`ê�'���Šê�`���²ê�w���ë�›���‹ë�è���'ì�<���í����Mí�]���gí����Åí�¢���âí�C���…î�Ž���Éî�&���Xï�(���ï�Y���¨ï�]���ð����`ð� ���ð�#��� ð����Äð�¶���äð�P���›ñ�>���ìñ�)���+ò�?���Uò�T���•ò����êò����ðò����öò����ó����(ó����?ó�ô���Wó����Lô�º���eô�J��� õ�N���kõ�J���ºõ� ���ö����ö����ö����ö�à��/ö����ø�9���&ø�2���`ø�.���“ø�*���Âø�&���íø�"���ù����7ù����Vù����qù�<���ù����¾ù����Ûù����áù����éù����ú�-���ú����5ú����Rú����qú�@���ú����Ðú�A���åú�@���'û����hû����û�#���Žû����²û�'���¹û�!���áû�4���ü����8ü����Vü����iü�/���‡ü����·ü�)���×ü�$���ý����&ý����Dý�H���dý�>���­ý�#���ìý�.���þ�#���?þ�$���cþ�"���ˆþ�!���«þ�<���Íþ�)��� ÿ�(���4ÿ�.���]ÿ�2���Œÿ�3���¿ÿ�+���óÿ���������;��'���T��!���|�����ž��"���¹�����Ü��#���û��*����%���J����p�'���‡����¯�L���Î�)�������E�%���c�$���‰����®�4���Ê����ÿ��������:����V����r����‹����£�!���»�#���Ý�����/�������M����i�6���ƒ�2���º����í���� ����,�+���F�/���r�2���¢�$���Õ�Q���ú�L���L�,���™�B���Æ�D��� ����N����]����w�.���–����Å�!���à�2�������5����H�!���d�)���†����°����Â����Õ�!���ê�C��� ����P ����n �#���ˆ �!���¬ �7���Î �(��� �@���/ �9���p �2���ª �&���Ý ���� �4���# �$���X ����} �$��� ����´ �!���É ����ë �)��� �,���+ �%���X �'���~ ����¦ ����¼ ����Ô �"���ï ���� ����$ ����: �#���I ����m � ���‡ ����” ����¥ ����· ����Ë ����Ü ����ð ������������2�4���F�0���{�@���¬�2���í�#��� �"���D����g�����8���š����Ó����ó���������A���/����q����y� ���ˆ����–� ���­� ���º����È����à�$�����'���%�*���M����x�&���� ���·����Ø����ñ�������� ���� �)���2����\�(���v�.���Ÿ�'���Î�@���ö�"���7�0���Z�)���‹� ���µ����Ö����ñ�!����4���1�(���f�"����(���²�*���Û�����)���#�%���M�+���s�'���Ÿ����Ç����ç����ü�#����&���4�1���[�0����(���¾�*���ç��������.� ���B�!���c�!���…�!���§�*���É����ô�#����*���8����c����x�&���•�$���¼�6���á�7����&���P����w�'���–�7���¾�&���ö�$����;���B����~�!���š����¼����Ú����÷�%����8���<�4���u����ª����Æ� ���æ�#�������+����H����X����t�%���‰����¯����´�2���Î�:����/���<����l����Š�!���¥�'���Ç�'���ï�I�������a����z��������¥����¾����Ô����ò��������.����K����O����i�)���{�2���¥�D���Ø�>��� �8���\ �%���• �!���» ����Ý �@���ö ����7!����R!����d!�F���{!����Â!�!���Þ!�����"����"����*"�+���F"�"���r"�$���•"����º"����Ð"����å"�/���ú"�2���*#����]#����m#����„#���� #����´#����Ê#�!���â#����$�!���$�2���>$�"���q$�(���”$����½$����Ó$����â$����ô$���� %�,���%����K%����[%����m%����Œ%����Ÿ%����º%����Ï%�&���é%�"���&����3&����R&����k&����ˆ&����¢&����À&����Ñ&����å&����ú&���� '����#'����:'� ���Q'����r'����’'�"���¦'�!���É'����ë'�#���(����+(����A(�W���T(�E���¬(����ò(����)����)�#���3)�/���W)� ���‡)� ���”)����µ)�0���É)�%���ú)���� *�1���?*�9���q*����«*����Ä*����ß*����ÿ*�T���+�O���j+�$���º+����ß+����î+�����,�!���,����5,�*���U,�9���€,�2���º,�5���í,����#-�'���+-�U���S-�5���©-�?���ß-�%���.�$���E.�8���j.����£.�G���¹.�6���/����8/�E���L/�D���’/����×/����æ/�7���0�1���>0� ���p0����~0����š0�"���´0�-���×0�"���1�)���(1����R1�2���g1����š1����¬1����Ã1����Õ1�.���ð1�6���2�'���V2����~2����“2����ª2����À2�!���ß2����3����3����23����H3�/���h3�$���˜3� ���½3����Ê3� ���æ3� ���ò3�<����4�?���=4�"���}4���� 4����·4����Ó4����ç4����ü4����5�*���*5�@���U5����–5�!���¯5� ���Ñ5�*���Ý5����6�5���6� ���T6� ���_6�;���l6�.���¨6�*���×6����7�:���7����Q7����j7����‰7�.���š7�<���É7�#���8����*8�:���H8�I���ƒ8�;���Í8�$��� 9�.���.9�.���]9����Œ9����¥9����À9����Õ9����é9����:�L���:�@���h:� ���©:� ���³:����½:����Ï:����à:����þ:����;� ��� ;����-;����B;����V;����e;����m;�&���Œ;����³;�!���Ç;����é;����þ;�#���<�.���9<�D���h<����­<� ���´<� ���Â<����Ï<� ���æ<����ò<����=���� =����=����=����8=� ���X=�%���y=�R���Ÿ=����ò=� ���>� ���>�$���>�1���?>�(���q>����š>�!���µ>����×>����÷>�7���?����L?����R?�N���i?�Y���¸?�=���@�>���P@�>���@�<���Î@�@��� A�:���LA�©���‡A�&���1B�>���XB�h���—B�>����C�B���?C�%���‚C�;���¨C�%���äC�!��� D����,D�=���LD����ŠD�3���§D����ÛD����ôD����E����#E����*E����CE����aE����hE�*���…E�'���°E�8���ØE����F�!���(F� ���JF����XF�0���mF�l���žF���� G����G�2���1G����dG�:���|G����·G�G���ÔG����H����<H����OH����fH� ���wH�:���‚H�/���½H�M���íH�:���;I�@���vI�@���·I�P���øI�5���IJ����J�/���J�D���ÍJ�=���K�6���PK�0���‡K�5���¸K�2���îK�5���!L�;���WL�g���“L����ûL����M�%���*M�i���PM����ºM�?���ËM�>��� N�:���JN�i���…N�o���ïN�U���_O�6���µO�/���ìO�,���P�3���IP�+���}P�+���©P�'���ÕP� ���ýP����Q����Q����-Q�0���<Q�2���mQ�#��� Q� ���ÄQ����6������V����������>������{��ª�����s��������o�������¿��'������¡������D�� ��������.��â��w��x��Æ��������������j��Ü������������ë��ó������‚��ä�������¾��€��ü��R��u��Œ������q���:������a����������š���}���è��ì����������l��¡��—������¦��$���F������§������5��4��e����Í��A��p����°�������œ��P��»��ü�����â��'����T��Ê������L��î��Ÿ��#��H��p��V��U��ç��¤������6��œ���������������©�������Î��� ��3��[���c��k������¶��î��·���G������.�������������®��“��†��D��M��À��Ù������������ ���Y��Å���ö������:�������…��H�������������È���ê��ë��¯��C��`����������������ï����������m��V������� ���º��æ������]��������´��à����¶��‹��À������³��Š����1��*���ß������������j���z�����æ��)��ë�������3�������þ������É�������Š��×���[��á��w��T���������� ��÷��‚�� ������Z������ñ������¸��=��“�� ������×��½��e���m���²���í��a�����E������o��:��ž��û������ˆ��������Á������Q��é�������û�����9��Ú���ì���ï��Q���Ò��Ñ������������Û��p��S���������������6��o��†��Õ����+��Æ����� ������ ��ø��Ð��Å������¦��®��ä����������ã��¸��������­��^������À��<��r��À�����������µ��i��C�������������������«����u������ ������Ã����&���™�����������������Ì���i��Ì��&������ ���������������ª����ž����������Ï��Ð��)���"��B��¦��‘��®��á��p���K��(���æ��Û���;��������~���‚�������������€��������ò��#������)��_��«��ñ��F��5��S��ó�� ���������X��/��á���6��C����T���ð������W��Ÿ����������—��M��r������˜������l�������������“��ƒ����]����ì��L������V������E��™������N��¡��÷���;������ý���a��ã����I������]��p��/��Ÿ�������U������S��‘����������,��í�� ����������+����N��×��©��d���ç��v����������»������¤���� ��������������ò��•��(������Ï���-��u��t��ƒ������<��ê��&�����b��Š��è��*��@��U�������>���G���r������m������ä��ÿ��ˆ��*��M��°��R����"��J���ù���0����-��������D��¥��”��°����Ò����Š���þ������4���������Ã��E����`���������������������ÿ������O��„����������������¥��������´��¨���������X��,����M��ð��n������¢������Ï��–�������G��������������Ñ��è�������Ÿ��¼�����������—��å���¡���â��Ø���8��Ö��¬��(������ã������d��í��0���Ó�����������í��7����Ó������l��o��:��’������É��‚������$��€��ª��¹��o������Ê���æ��V������c��{���@��±��E��ñ������������������� �������g��„��þ��h��o��ø����É������������¢���)��³��ë����É��Ý��¼��i������Ô��H������2������Ø��ø��;��»��������������y��ô��������L������ì��ç��ó���t��»���Ž��ý������Ÿ�� ��«���ç���‘��Ö����������ð��l������ä��š������ƒ�������ô��ˆ��h����„��ñ��«��|��¨��������������—������à��A������$��²������¾��‰��·��9������‡������Â���/�������k��ø������Á��8��þ�������Å������×����������Œ���_��� ��x����������‘��Ç��Á��+��,���ï����q��”��ÿ�������û��Ò��Ô��.��À��b��j�����������������e��¾��‹��y������ª��Ç��;������1���£��Ý��ß��f��s��n����������������������†���â��W�������ª��B��^��°��������������î��–��Þ��à���{������������������������������|����������Ê��w�� ��«����������µ������^��»��Ö��}��ü���ù��A����~��ú���\����������’���q��P���‡����q��%��Ï��à������%��I��,��Ã��¦���$��ó������B��?���T��›������f����������¸����Þ�������•���2��õ��ã������������¨���F���ƒ����m��é��£��2����������������Ó��Ë��S�����������_��Õ��k������¶��g��Ä��-���©��Y��d��Û��¯��������W��‚��¥��0��b��7���:��A��å����������������� ������ ���÷��Y����š��y����������²������ß���ƒ��µ������Q��=��±�����¬��9���¾������9�����Ì��`���Û�����������������������������y���ù����¸���æ������� ������™���/��ž��õ���������Ü��é��¬���Z��Ò�� ����������r���q��E��¢��Q��s�������¿��´��­��è��¥������������|��s��ö������·��]���i�� ��X���ö��v��������[��€��'��º����$��Ì��Ì��!��©��½��������9��Ž��A���Þ��R��0��¨��Ç��(����������§��´���—��°��µ��Õ��Š��������������õ��?��’��Í���Š��©��������r��=��ò��Á���P��3��O��)��Ž��^��ø���y��������c����=���ò������ú��1��…�����t��Œ��ê��������ê���Æ������‹����������������Ã�������g���ü��8��d��t����������Ÿ��Ä���¯����������²��ª��� ��î��?������Ú��[������ˆ��/��������á�� ����������z��j����������©������W�������������������Æ���ù����F������������������\������q��„���e��Ä��������������5���������������� ��z�����&����®����^���®��6���õ������õ������K���#������÷��e����������”����������������?�����Û��¹��-��|��Ž������•����������k������d��G���������G��N������S��ý������0��â�������Ù��#�����Â��<������¤��������w���‚��í���y��!��Ú��������r������·����������S��u���µ���������ú��…������å��@��+��x����������8��Ú��Ž�������f��ï���j������]������K������‰��v��@�� ����������ð��2��‰������È��˜����������g��1������8��’��,��t�������î�������•��š�� ��³������Œ��b��\��������������ô��³��±��¿��±��z���‡��~������š����������ì������Ù��¡����°��f��� ��Ç��1��O����¹���������������|�������M����§����������>��P��}������þ��-��ù��Ë����������������‡���C��"���à��û���`��������b������Ø��Ý����ð�������H��•��@���¯����������n��–���������� ��{��%��…��˜��Q��¼������\��D���d��¾���¿���������%������}��;���w��§��������W��m��ÿ������8���X��”�������²������������'��‘�������Ý������Í����������Ô���¨��Â������w��*������0��ˆ��•������������„��&������á����¤���k����>��������ü����3��c������‹����5��x��!������…��7������å������W��Ù���i��4��4��J��Œ��Î��Å��Ê����������J����������'������v���#��$������£��È��‰��V��ñ����������������l��L��¿��i���¼������(����������‡��������������Å��Ñ���å��Y��Z��Z���T����c���>��&��`��ç��_��¯��ý����������Ö���‡��u����������Ð�����ú��g��ã������ž���Õ��C��������n���}��U��Ñ��¢��^��Õ���†��g��²��7��¥��f����®���º���€��`������ ��×��~�����˜���ß��º��Ú��������N���A��~������f��ï��Ï��������u��K������Ü��Ž������é��‰�������Þ��.��Ü�������v������������������z��›������h����������������M���Ã����������¤��†����������K�� ��ý����������!��†��7�� ��{��´��Â��ÿ��_��C������'��F��¤��€���ß��H��*����������������������������������:������������‰��z�� ��R���û��ž�� ��£��”��X��"�� ��<���a����˜��Ä��ú��������������ô���¹��È������Ä��Í��N��ž������c������h������R��¢������~��{��������P�����½����������é�� ����������L��–��4��³�����5���|�����������±��“��(��;��������}��,��j��X��Â������Î��ö���Ê������Z��%��Î��I����Ç���?��Í��p��������Ý���[������U������m��¡��¼��������������Ö��È��ë������Þ������Ð��<������ ���.��/������_��b�������5������=��k���������¶�������#����ò���ö��É��I��x�������@��±���<������H��Y���¦�������Ë���!��]������Ô��¢��O�������’������Ü��B������\��Ó��e��������E�������ó������J��ô��������������P������ê����������N��6��1�� ��Ð��¬����������2���…��F��¬��“��¯��4�����������U��½��"��Î��”��Œ��Ò����������h��D��O��Ë����������‘��ˆ��­��D��l��˜��B�������­���Ñ����è������"����–���������£��Q��›���—���Ø��œ��¶��K�� ������������™������s��x��½��������������=��÷��¥���¨��n��T��������™�� ��h���Y��’����­��„��v��Á��\���3��*��J��[������J��§��.������������Æ������Z��s��������������3������¸������Ù��7����œ������I�����������›��·��+����������+�����������º��£���ƒ��§���¬��œ��a��2��¦������Ë��!�������L�������Ó������-��O��a��Ø��������‹�������“���%���9��¹��n������›��«����������š��–��­������t��ä��œ�����?������™�� ����������)������›��I��>������‹��B��Ô��G��R�����åQ����íQ�¤z��Ðz��äz��øz�� {�� {��4{��H{��\{��p{��„{�� {��´{��Ð{��ä{��|��,|��H|��\|��p|��„|��˜|��´|��Ð|��ì|��}��}��8}��õQ��������������� �����������������ÿÿÿÿR��������1���ÿÿÿÿGR��������/���ÿÿÿÿwR�7����������ÿÿÿÿÁR�����������ÿÿÿÿñR�����������ÿÿÿÿS��������(���ÿÿÿÿHS� �������Q���ÿÿÿÿ£S� �������R���ÿÿÿÿÿS� �������V���ÿÿÿÿ_T������������������ÿÿÿÿ‹T�����������ÿÿÿÿ’T� ���������������ÿÿÿÿ¼T����������ÿÿÿÿÝT��������������� �������������� ���ÿÿÿÿûT������������������ÿÿÿÿ U������������������ÿÿÿÿJU�<����������ÿÿÿÿ™U�����������ÿÿÿÿÄU�)����������ÿÿÿÿôU��������)���ÿÿÿÿ"V� �������(����������ÿÿÿÿsV� �������*�������!���ÿÿÿÿÉV� �������4�������-���ÿÿÿÿ5W������������������ÿÿÿÿdW�����������ÿÿÿÿkW� ���������������ÿÿÿÿ•W� ���������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option used in invalid context -- %c�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils-8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-10-27 13:17+0200 Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com> Language-Team: Danish <dansk@dansk-gruppen.dk> Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.11.4 � � ( UDTRYK ) UDTRYK er sandt ! UDTRYK UDTRYK er falsk UDTRYK1 -a UDTRYK2 bÃ¥de UDTRYK1 og UDTRYK2 er sande UDTRYK1 -o UDTRYK2 mindst ét af udtrykkene er sande � --check-order kontrollér om inddata er korrekt sorteret, selv hvis alle inddatalinjer kan parinddeles --nocheck-order kontrollér ikke om inddata er korrekt sorteret � -1 udelad kolonne 1 (linjer som kun findes i FIL1) -2 udelad kolonne 2 (linjer som kun findes i FIL2) -3 udelad kolonne 3 (linjer som findes i begge filer) � -a, --all samme som -b -d --login -p -r -t -T -u -b, --boot tid for seneste systemopstart -d, --dead udskriv døde processer -H, --heading udskriv linje med kolonneoverskrifter � -b FIL FIL findes og er en specialfil for blokadgang -c FIL FIL findes og er en specialfil for tegnadgang -d FIL FIL findes og er et katalog -e FIL FIL findes � -l udskriv i langt format for de angivne BRUGERe -b udelad brugerens hjemmekatalog og skal i det lange format -h udelad brugerens projektfil i det lange format -p udelad brugerens planfil i det lange format -s udskriv i kort format, dette er standard � -n STRENG længden af STRENG er forskellig fra nul STRENG samme som -n STRENG -z STRENG længden af STRENG er nul STRENG1 = STRENG2 strengene er ens STRENG1 != STRENG2 strengene er forskellige � ARG1 * ARG2 aritmetisk produkt af ARG1 og ARG2 ARG1 / ARG2 aritmetisk kvotient af ARG1 divideret med ARG2 ARG1 % ARG2 aritmetisk rest af ARG1 divideret med ARG2 � ARG1 + ARG2 aritmetisk sum af ARG1 og ARG2 ARG1 - ARG2 aritmetisk forskel mellem ARG1 og ARG2 � ARG1 < ARG2 ARG1 er mindre end ARG2 ARG1 <= ARG2 ARG1 er mindre end eller lig med ARG2 ARG1 = ARG2 ARG1 er lig med ARG2 ARG1 != ARG2 ARG1 er ikke lig med ARG2 ARG1 >= ARG2 ARG1 er større end eller lig med ARG2 ARG1 > ARG2 ARG1 er større end ARG2 � FIL1 -ef FIL2 FIL1 og FIL2 har samme enheds- og inodenummer FIL1 -nt FIL2 FIL1 er nyere (ændringstidspunkt) end FIL2 FIL1 -ot FIL2 FIL1 er ældre end FIL2 � HELTAL kopier frem til, men ikke med, angivet linjenummer /REGUDT/[POSITION] kopier frem til, men ikke med, en 'passende' linje %REGUDT%[POSITION] hop frem til, men ikke med, en 'passende' linje {HELTAL} gentag forrige mønster sÃ¥ mange gange som angivet {*} gentag forrige mønster sÃ¥ mange gange som muligt En linje-POSITION skal være '+' eller '-' fulgt af et positivt heltal � HELTAL1 -eq HELTAL2 HELTAL1 er lig med HELTAL2 HELTAL1 -ge HELTAL2 HELTAL1 er større end eller lig med HELTAL2 HELTAL1 -gt HELTAL2 HELTAL1 er større end HELTAL2 HELTAL1 -le HELTAL2 HELTAL1 er mindre end eller lig med HELTAL2 HELTAL1 -lt HELTAL2 HELTAL1 er mindre end HELTAL2 HELTAL1 -ne HELTAL2 HELTAL1 er forskellig fra HELTAL2 � STRENG : REGUDTRYK forankret mønstersøgning efter REGUDTRYK i STRENG match STRENG REGUDTRYK samme som STRENG : REGUDTRYK subtr STRENG POS LÆNGDE delstreng af STRENG, POS regnes fra 1 index STRENG BOGST index i STRENG hvor BOGST fandtes, eller 0 length STRENG længden af STRENG � a nummerér alle linjer t nummerér kun ikke-tomme linjer n nummerér ingen linjer pBRE nummerér kun linjer som matcher det basale regulære udtryk BRE FORMAT er et af følgende: ln venstrejusteret, ingen indledende nuller rn højrejusteret, ingen indledende nuller rz højrejusteret, indledende nuller � b opret en blok-specialfil (bufret) c, u opret en tegn-specialfil (ubufret) p opret en FIFO � # brugere=%lu � -t medføres hvis SIDELÆNGDE <= 10. Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. � Et felt er en række blanke tegn (sædvanligvis mellemrum og/eller tabulatorer), fulgt af ikke-blanke tegn. Felter hoppes over før tegn. � Et letvægts-'finger'-program; udskriver brugerinformation. utmp-filen vil være %s. � En - for sig selv medfører -i. Hvis ingen KOMMANDO er angivet, udskriv det resulterende miljø. � Efter eventuelle flag følger valgfrit en feltbredde, som er et decimaltal; derefter et valgfrit modifikationstegn, som er enten E for at bruge lokaltilpassede repræsentationer, hvis tilgængelige, eller O for at bruge lokaltilpassede numeriske symboler, hvis tilgængelige. � Et udeladt UDTRYK er som standard falsk. Ellers er UDTRYK sandt eller falsk og afgør returværdien. Det er én af: � Som et specialtilfælde laver cp en sikkerhedskopi af KILDE nÃ¥r flagene for 'force' og 'backup' er angivet, og KILDE og MÃ…L er samme navn for en eksisterende, regulær fil. � Vær opmærksom pÃ¥ at mange operatorer skal beskyttes mod kommandofortolkeren, f.eks. med gÃ¥seøjne. Sammenligninger er aritmetiske hvis begge ARGumenter er tal, ellers leksikografiske. Mønster-sammenligninger returnerer strengen som passede pÃ¥ mønstret mellem \( og \) eller null. Hvis \( og \) ikke bruges, returneres antal tegn som passede eller 0. � BÃ¥de OVERNR og UNDERNR skal angives nÃ¥r TYPE er b, c eller u, og de mÃ¥ ikke angives nÃ¥r TYPE er p. Hvis OVERNR eller UNDERNR begynder med 0x eller 0X, forstÃ¥s det som heksadecimalt; ellers, hvis de begynder med 0, som oktalt; ellers decimalt. TYPE kan være: � Som standard fjerner rm ikke kataloger. Brug flaget --recursive (-r eller -R) for at fjerne hvert anført katalog ogsÃ¥, sammen med alt indhold. � Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er to skilletegn for at skille logiske sider, et manglende tegn nummer to implicerer ':'. Brug \\ for \. STIL er en af: � Normalt bliver usammenhængende KILDE-filer opdaget ved hjælp af en enkel heuristik, og den korresponderende MÃ…L-fil bliver ogsÃ¥ gjort usammenhængende. Denne opførsel vælges med --sparse=auto. Angiv --sparse=always for altid at oprette usammenhængende MÃ…L-filer, for KILDE-filer, der indeholder en tilstrækkeligt lang sekvens med nul-byte. Brug --sparse=never for at forhindre oprettelse af usammenhængende filer. � KLUMPER kan være: N opdel i N filer baseret pÃ¥ størrelsen af inddata K/N udskriv K'te af N til stdout l/N opdel i N filer uden at opdele linjer l/K/N udskriv K'te af N til standard-ud uden at opdele linjer r/N som 'l', men brug jævn ('round robin-') fordeling r/K/N tilsvarende, men udskriv kun K'te af N til standard-ud � Kombinationsindstillinger: * [-]LCASE samme som [-]lcase cbreak samme som -icanon -cbreak samme som icanon � VARIGHED er et flydende kommatal, eventuelt med et suffiks: 's' for sekunder (standard), 'm' for minutter, 'h' for timer og 'd' for dage. � Visningsværdier er i enheder af første tilgængelige STØR fra --block-size eller miljøvariablerne %s_BLOCK_SIZE, BOCK_SIZE og BLOCKSIZE. Ellers er enheden som standard 1024 byte (eller 512 hvis POSIXLY_CORRECT er givet). � Hvert FLAG-symbol kan være: append tilføjelsestilstand (kun meningsfuld ved udskrift; conv=notrunc anbefales) � Hver TILSTAND er pÃ¥ formen '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Eksempler: %s -12 fil1 fil2 Udskriv kun linjer, der findes i bÃ¥de fil1 og fil2. %s -3 fil1 fil2 Udskriv linjer i fil1, som ikke er i fil2, og vice versa. � Eksempler: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" efterfulgt af "dir2" %s stdio.h -> "." � Eksempler: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a noget/str1 noget/str2 -> "str1" efterfulgt af "str2" � Eksempler: %s f - g Udskriv f's indhold, dernæst standard-ind, dernæst g's indhold. %s Kopiér standard-ind til standard-ud. � Eksempler: %s root /u Sæt ejeren af /u til "root". %s root:ansatte /u Tilsvarende, men sæt ogsÃ¥ dens gruppe til "ansatte". %s -hR root /u Sæt ejeren af /u og underfiler til "root". � Eksempler: %s ansatte /u Sæt gruppen for /u til "ansatte". %s -hR ansatte /u Sæt gruppen for /u og underfiler til "ansatte". � Eksempler: Omregn sekunder siden epoken (1970-01-01 UTC) til en dato $ date --date='@2147483647' Vis klokkeslættet pÃ¥ USA's vestkyst (brug tzselect(1) for at finde TZ) $ TZ='America/Los_Angeles' date Vis det lokale klokkeslæt for 9:00 næste fredag pÃ¥ USA's vestkyst $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � PÃ¥ nær for -h og -L, vil alle FIL-relaterede test dereferere symbolske lænker. Vær opmærksom pÃ¥ at parenteser skal undviges (f.eks. med omvendt skrÃ¥streg) for skaller. HELTAL kan ogsÃ¥ være -l STRENG, som evalueres til længden af STRENG. � Afslutningskode er 0 hvis UDTRYK er hverken null eller 0, 1 hvis UDTRYK er null eller 0, 2 hvis UDTRYK indeholder syntaksfejl, og 3 hvis der opstod en fejl. � Afslutningskode: 0 hvis OK, 1 hvis mindre problemer (f.eks.: kan ikke tilgÃ¥ underkatalog), 2 hvis alvorlige problemer (f.eks.: kan ikke tilgÃ¥ kommandolinjeargument). � FORMAT styrer uddata som i C's printf. Tolkede sekvenser er: \" citationstegn � FORMAT styrer udskriften. Fortolkede sekvenser er: %% et ordret %-tegn %a lokaliseret, forkortet ugedagsnavn (f.eks. søn) � HÃ¥ndtér tty-linjen koblet til standard-ind. Uden argumenter, udskriv bitrate, linjedisciplin og afvigelse fra 'stty sane'. I indstillinger tages TEGN bogstaveligt eller kodet som i ^c, 0x37, 0177 eller 127; specielle værdier, ^- eller undef bruges for at deaktivere specielle tegn � Hvis -e er givet, vil følgende sekvenser genkendes: � Hvis FIL er -, sÃ¥ makulér standard-ud. Slet FILer hvis --remove (-u) er angivet. Standardhandlingen er, ikke at fjerne filerne, fordi det er almindeligt at behandle enhedsfiler som /dev/hda, og disse filer bør normalt ikke fjernes. Ved behandling af almindelige filer, bruger de fleste flaget --remove. � Hvis FIL ikke er angivet, sÃ¥ brug %s. %s som FIL er almindeligt. Hvis ARG1 ARG2 er angivet, antages -m: 'am i' eller 'mom likes' er almindeligt. � Hvis FIL er angivet, læs den for at bestemme hvilke farver der skal bruges til hvilke filtyper og endelser. Ellers bruges en forudkompileret database. For detaljer om formatet for disse filer, sÃ¥ kør 'dircolors --print-database'. � Hvis FØRSTE eller FORØGELSE udelades, er den forvalgte værdi 1. Dermed svarer en udeladt FORØGELSE til 1, selv nÃ¥r SIDSTE er mindre end FØRSTE. FØRSTE, FORØGELSE og SIDSTE tolkes som flydende talværdier. FORØGELSE bør være positiv hvis FØRSTE er mindre end SIDSTE, og negativ ellers. � If TILSTAND er '0', vil den tilhørende strøm være uden buffer. � Hvis TILSTAND er 'L', vil den tilhørende strøm være linjebufret. Dette flag er ugyldigt med standard-ind. � Hvis en FIL er -, kopieres igen til standard-ud. � Hvis ingen kommando er angivet, køres '${SHELL} -i' (som standard: /bin/sh). � Hvis standard-ind er en terminal, sÃ¥ omdirigér den fra /dev/null. Hvis standard-ud er en terminal, sÃ¥ føj uddata til 'nohup.out' hvis muligt, ellers '$HOME/nohup.out'. Hvis standard-fejl er en terminal, sÃ¥ omdirigér den til standard-ud. Brug '%s KOMMANDO > FIL' for at gemme udskriften til FIL. � Hvis det første tegn i K (antal byte eller linjer) er et '+', sÃ¥ udskriv fra og med K'te element fra starten af hver fil; udskriv ellers de sidste K elementer i filen. K kan have et multiplikationssuffiks: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, og sÃ¥ videre for T, P, E, Z, Y. � Indstillinger for inddata: [-]brkint afbrydning forÃ¥rsager et afbrydningssignal [-]icrnl transformér vognretur til linjeskift [-]ignbrk ignorér afbrydningstegn [-]igncr ignorér vognretur � K kan have et multiplikativt suffiks: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 og sÃ¥ videre for T, P, E, Z, Y. � NØGLEDEF er F[.T][FLAG][,F[.T][FLAG]], for start- og slutposition, hvor F er et feltnummer og T en tegnposition i feltet. Begge starter ved 1, og slutpositionen er som standard afslutningen af linjen. Hvis hverken -t eller -b er valgt, vil tegn i et felt tælles fra begyndelsen af det foregÃ¥ende omrÃ¥de af blanke tegn. FLAG er sat sammen af et eller flere enkeltbogstavs-flag [bdfgiMhnRrV], som tilsidesætter globale sorteringsflag for denne nøgle. Hvis ingen nøgle er angivet, bruges hele linjen som nøgle. STØR kan efterfølges af de følgende multiplikative endelser: � Licens GPLv3+: GNU GPL version 3 eller nyere <http://gnu.org/licenses/gpl.html>. Dette er frit programmel: du kan frit ændre og videredistribuere det. Der gives INGEN GARANTI, i den grad som loven tillader dette. � Lokale indstillinger: [-]crterase ekko slettetegn som baktegn-mellemrum-baktegn * crtkill dræb hele linjen ved at bruge indstillingerne for echoprt og echoe * -crtkill dræb hele linjen ved at bruge indstillingerne for echoctl og echok � BEMÆRK: Hvis KOMMANDO ændrer buffertilstanden for dens standardstrømme (f.eks. gør 'tee' dette), sÃ¥ vil dette tilsidesætte de tilsvarende ændringer fra 'stdbuf'. Derudover bruger visse filtre (sÃ¥som 'dd' og 'cat') ikke strømme til I/O, og pÃ¥virkes derfor ikke af indstillingerne fra 'stdbuf'. � BEMÆRK: [ respekterer flagene --help og --version, men test gør ikke. test behandler hver af disse som den behandler enhver anden ikke-tom STRENG. � BEMÆRK: din skal har mÃ¥ske sin egen version af %s, som normalt erstatter versionen beskrevet her. Referér venligst til din skals dokumentation for detaljer angÃ¥ende de understøttede flag. � Bemærk at hvis du bruger rm til at fjerne en fil, er det mÃ¥ske muligt at genskabe noget af denne fils indhold givet tilstrækkelig ekspertise og/eller tid. Hvis du ønsker større sikkerhed for at indholdet virkelig ikke kan genskabes, sÃ¥ overvej at bruge 'shred'. � Bemærk at -d og -t flagene tager forskellige tidspunkts- og dato-formater. � Bemærk at sammenligninger følger reglerne angivet af 'LC_COLLATE'. � Bemærk: 'uniq' opdager ikke gentagne linjer, med mindre de følger umiddelbart efter hinanden. Du vil mÃ¥ske ønske at sortere inddata først, eller bruge 'sort -u' uden 'uniq'. I øvrigt følger sammenligninger reglerne angivet af 'LC_COLLATE'. � Eventuelt '-' før INDSTILLING indikerer en modsat indstilling. '*' markerer indstillinger som ikke følger POSIX-standarden. Det underliggende system definerer hvilke indstillinger som er tilgængelige. � Ellers er TILSTAND et tal, der kan følges af enhver af følgende: KB 1000, K 1024, MB 1000*1000, M 1024*1024, og sÃ¥ videre for G, T, P, E, Z, Y. I dette tilfælde vil den pÃ¥gældende strøm være fuldt bufret med bufferstørrelsen angivet til TILSTAND byte. � Indstillinger for uddata: * bsN baktegn-forsinkelsesstil, N i [0..1] * crN vognretur-forsinkelsesstil, N i [0..3] * ffN sideskift-forsinkelsesstil, N i [0..1] * nlN linjeskift-forsinkelsesstil, N i [0..1] � Ejer forbliver uændret hvis udeladt. Gruppe forbliver uændret hvis udeladt, men ændres til logind-gruppen hvis det er angivet med et ':', som følger efter en symbolsk EJER. EJER og GRUPPE kan være numerisk eller symbolsk. � Udskriv værdien af UDTRYK til standard-ud. En tom linje nedenfor adskiller grupper med voksende prioritet. UDTRYK kan være: ARG1 | ARG2 ARG1 hvis det hverken er null eller 0, ellers ARG2 ARG1 & ARG2 ARG1 hvis intet af argumenterne er null eller 0, ellers 0 � Læs standard-ind nÃ¥r FIL er '-'. Hvert MØNSTER kan være: � Rapportér %s-fejl til %s � Rapportér programfejl til %s. Oversættelsesfejl rapporteres til dansk@dansk-gruppen.dk . � MÆNGDE er angivet med strenge af tegn. De fleste tegn stÃ¥r for sig selv. Følgende sekvenser tolkes specielt: \NNN tegn med oktalværdi NNN (1 til 3 oktale cifre) \\ omvendt skrÃ¥streg \a hørbar BEL \b baktegn \f sideskift (FF) \n linjeskift (LF) \r vognretur (CR) \t vandret tabulator � SIGNAL kan være et signalnavn sÃ¥som 'HUP' eller et signalnummer sÃ¥som '1', eller en slutstatus fra en proces afsluttet af et signal. PID er et heltal; hvis det er negativt, identificerer det en procesgruppe. � STØRRELSE er et heltal eventuelt plus enhed (eksempel: 10M er 10*1024*1024). Enheder er K, M, G, T, P, E, Z, Y (potenser af 1024) eller KB, MB, ... (potenser af 1000). � STØR kan ogsÃ¥ følge efter et af følgende ændringstegn: '+' udvid med, '-' formindsk med, '<' højst, '>' mindst, '/' rund ned til multiplum af, '%' rund op til multiplum af. � Sendes et %s-signal til en kørende 'dd'-proces, vil den udskrive I/O-statistik til standard-fejl og sÃ¥ fortsætte kopieringen. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 blokke ind 18335302+0 blokke ud 9387674624 byte (9.4 GB) kopieret, 34.6279 sekunder, 271 MB/s Mulige flag: � Specialtegn: * dsusp TEGN TEGN sender et stopsignal sÃ¥ snart inddata er slut. eof TEGN TEGN sender et filslut (afslutter inddata) eol TEGN TEGN afslutter linjen � Specialindstillinger: N sæt ind- og uddatahastighed til N baud * cols N sig til kernen at terminalen har N kolonner * columns N samme som cols N � Suffikset for sikkerhedskopiering er '~', med mindre andet er angivet med --suffix eller SIMPLE_BACKUP_SUFFIX. Versionsstyringsmetoden kan vælges med flaget --backup eller vha. miljøvariabelen VERSION_CONTROL. Gyldige værdier er: � Dataene er kodet som beskrevet for base64-alfabetet i RFC 3548. Under afkodning mÃ¥ inddata indeholde linjeskiftstegn ud over de byte som findes i det formelle base64-alfabet. Brug --ignore-garbage for at forsøge at fortsætte pÃ¥ trods af andre ikke-alfabetiske byte i den kodede strøm. � Følgende flag ændrer mÃ¥den hvorpÃ¥ et hierarki gennemløbes nÃ¥r flaget -R ogsÃ¥ angives. Hvis mere end et angives, vil kun det sidst valgte være gyldigt. -H hvis kommandolinjeargumentet er en symbolsk lænke til et katalog, sÃ¥ gennemløb dette -L gennemløb enhver symbolsk kataloglænke, der mødes undervejs -P gennemløb ingen symbolske lænker (standard) � De følgende tre flag bruges kun ved kontrol af kontrolsummer: --quiet udskriv ikke O.k. for hver godkendt fil --status udskriv ikke noget; statuskode angiver resultat -w, --warn advar om fejlformaterede kontrolsum-linjer � Summerne bliver beregnet som beskrevet i %s. Ved kontrol skal inddata være tidligere uddata fra dette program. Forvalgt tilstand er at udskrive en linje med kontrolsum, et tegn som angiver inddatatilstand ('*' for binær, mellemrum for tekst), og navnet pÃ¥ hver FIL. � De gyldige format-sekvenser for filer (uden --file-system): %a adgangsrettigheder oktalt %A adgangsrettigheder pÃ¥ læsevenlig form %b antal blokke allokeret (se %B) %B størrelsen i byte for hver blok rapporteret af %b %C streng for SELinux-sikkerhedskontekst � For at fjerne en fil hvis navn begynder med et '-', for eksempel '-foo', kan du bruge en af disse kommandoer: %s -- -foo %s ./-foo � Der transskriberes hvis -d ikke er givet, og bÃ¥de MÆNGDE1 og MÆNGDE2 er der. -t kan kun bruges ved transskription. MÆNGDE2 bliver udvidet til længden af MÆNGDE1 ved at repetere dets sidste tegn om nødvendigt. Ekstra tegn i MÆNGDE2 ignoreres. Kun [:lower:] og [:upper:] garanteres at udvide i stigende orden; de bruges i MÆNGDE2, og mÃ¥ kun anvendes til at angive versalkonvertering. -s bruger MÆNGDE1 hvis der hverken transskriberes eller slettes; sammenklemning bruger MÆNGDE2 og sker efter transkription eller sletning. � Med mindre -t TEGN er angivet, vil indledende blanke tegn opfattes som feltseparatorer, og blive ignoreret; ellers benyttes TEGN som feltseparator. Hvert FELT er et feltnummer talt fra 1. FORMAT er en eller flere komma- eller blank-separerede specifikationer, der hver er 'FILNR.FELT' eller '0'. Det forvalgte FORMAT udskriver flettefeltet, resten af felterne fra FIL1 og resten af felterne fra FIL2, alle adskilt med TEGN. Hvis FORMAT er nøgleordet 'auto', bestemmer første linje af hver fil antallet af felter, der udskrives for hver linje. Vigtigt: FIL1 og FIL2 skal være sorteret efter flettefelt. Brug f.eks. "sort -k 1b,1" hvis 'join' ikke fÃ¥r nogen flag, eller "join -t ''" hvis 'sort' ikke fÃ¥r nogen flag. Bemærk at sammenligninger følger reglerne angivet ved 'LC_COLLATE'. Hvis indlinjerne ikke er sorteret, og der optræder linjer som ikke kan flettes, vil der blive vist en advarsel. � Brug netop én af -b, -c eller -f. Hver LISTE bestÃ¥r af enten ét interval, eller mange intervaller adskilt af kommaer. De valgte inddata skrives i samme rækkefølge som de læses, og skrives netop én gang. � Brug af farve til at skelne filtyper er som standard slÃ¥et fra, og med --color=never. Med --color=auto vil ls kun skrive farvekoder, nÃ¥r standard-ud er forbundet til en terminal. Indstillingerne kan ændres med miljøvariablen LS_COLORS. Brug kommandoen dircolors til at angive den. � Ved ingen FIL eller hvis FIL er -, læses fra standard-ind. '-F /' er forvalgt. � Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. � Uden flag udskrives tre kolonner. Kolonne 1 indeholder filer, der kun findes i FIL1; kolonne to indeholder filer, der kun findes i FIL2, mens kolonne tre indeholder linjer fælles for begge filer. � Uden nogen FLAG udskrives et nyttigt udvalg af identificeret information. � Skriv en entydig repræsentation, oktale byte forvalgt, af FIL til standard-ud. Med mere end ét FIL-argument sammenkædes de i den angivne rækkefølge som inddata. Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. � (kun for systemer der kan ændre ejerskabet af en symlænke) � ???� --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende mÃ¥lfil -b ligesom --backup, men tager ikke noget argument -f, --force overskriv eksisterende filer uden bekræftelse -i, --interactive bekræft før overskrivning af filer -n, --no-clobber overskriv ikke nogen eksisterende filer Hvis du angiver mere end én af -i, -f eller -n, vil kun den sidste gælde. � --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende destinationsfil -b som --backup, men tager ikke noget argument -d, -F, --directory tillad superbrugeren at forsøge at oprette hÃ¥rde lænker til kataloge (bemærk: dette vil sandsynligvis slÃ¥ fejl pÃ¥ grund af systembegrænsninger, selv for superbrugeren) -f, --force fjern eksisterende destinationsfiler � --backup[=KONTROL] opret sikkerhedskopi af hver eksisterende destinationsfil -b som --backup, men accepterer ikke et argument -c (ignoreres) -C, --compare sammenlign hvert par af kilde- og destinationsfiler, og ændr ikke destinationsfilen i visse tilfælde -d, --directory behandl alle argumenter som katalognavne; opret alle komponenter i de angivne kataloger. � --batch-size=NFLET flet højst NFLET ind-elementer pÃ¥ en gang; brug midlertidige filer hvis utilstrækkeligt � --block-size=STØR skalér størrelser med STØR før de udskrives. F.eks. vil '--block-size=M' udskrive størrelser i enheder af 1.048.576 byte. Se STØR-format nedenfor. -B, --ignore-backups vis ikke filer som ender pÃ¥ ~ -c med -lt: sortér efter, og vis, ctime (tidspunkt for sidste ændring af filstatusinformation) med -l: vis ctime og sortér efter navn ellers: sortér efter ctime, nyeste først � --complement omvend mængden af valgte byte, tegn eller felter � --debug skriv noter i delen af linjen der bruges til at sortere, og advar om tvivlsom brug i stderr --files0-from=F læs inddata fra filerne angivet ved NUL-afsluttede navne i filen F; hvis F er -, sÃ¥ læs filnavne fra standard-ind � --dereference virk pÃ¥ referenten af hver symbolsk lænke (dette er standardopførsel) frem for selve lænken -h, --no-dereference virk pÃ¥ symbolske lænker frem for refereret fil � --files0-from=F læs inddata fra filerne angivet ved NUL-afsluttede navne i filen F; Hvis F er -, sÃ¥ læs navne fra standard-ind -L, --max-line-length udskriv længden af den længste linje -w, --words udskriv ordtallene � --from=AKTUELLE_EJER:AKTUELLE_GRUPPE ændr kun ejer og/eller gruppe for hver fil, hvis filens aktuelle ejer og/eller gruppe er lig dem angivet her. Ejer eller gruppe kan udelades, og i sÃ¥ fald er overensstemmelse ikke krævet for den udeladte attribut. � --group-directories-first gruppér kataloger før filer. kan bruges med --sort-flaget, men enhver brug af --sort=none (-U) deaktiverer gruppering � --help vis denne hjælpetekst og afslut � --indicator-style=ORD tilføj indikator med stilen ORD til elementer: none (standard), slash (-p), file-type (--file-type), classify (-F), -i, --inode vis indeksnummer for hver fil -I, --ignore=MØNSTER vis ikke filer, der matcher skalmønstret MØNSTER -k, --kibibytes brug blokke pÃ¥ 1024 byte � --lookup forsøg at normalisere værtsnavne ved hjælp af DNS -m kun værtsnavn og brugernavn associeret med stdin -p, --process udskriv aktive processer startet af init � --no-preserve-root behandl ikke '/' specielt --preserve-root fjern ikke '/' (standard) -r, -R, --recursive fjern kataloger og deres indhold rekursivt -d, --dir fjern tomme kataloger -v, --verbose forklar hvad der bliver gjort � --no-preserve-root behandl ikke '/' specielt (standard) --preserve-root virk ikke rekursivt pÃ¥ '/' � --no-preserve=ATTRLISTE bevar ikke de angivne attributter --parents brug det fulde kildefilnavn under KATALOG � --one-file-system nÃ¥r et hierarki fjernes rekursivt, sÃ¥ spring ethvert katalog over, der findes pÃ¥ et andet filsystem end det, som svarer til kommandolinjeargumentet � --pid=PID med -f, terminér efter proces med ID, PID er død -q, --quiet, --silent udskriv ikke overskrifter med filnavne --retry forsøg fortsat med at Ã¥bne en fil, selv nÃ¥r den er eller bliver utilgængelig; brugbar nÃ¥r der gives et efterfølgende navn, f.eks. med --follow=name � --preserve-context behold SELinux-sikkerhedskontekst -Z, --context=KONTEKST sæt SELinux-sikkerhedskontekst for filer og kataloger � --reference=RFIL brug gruppen for RFIL frem for at angive en værdi for GRUPPE � --reference=RFIL brug tilstand for RFIL frem for TILSTAND-værdier � --reference=RFIL brug ejer og gruppe for RFIL frem for at angive værdier for EJER:GRUPPE � --reference=RFIL brug RFILs sikkerhedskontekst i stedet for at angive en KONTEKST-værdi � --rfc-3339=TIDSSPEC udskriv dato og tid i RFC 3339-format. TIMESPEC='date', 'seconds', eller 'ns' for dato og tid i den angivne præcision. Dato- og tidsdele adskilles af et enkelt mellemrum: 2006-08-07 12:34:56-06:00 -s, --set=STRENG indstil tiden som beskrevet af STRENG -u, --utc, --universal udskriv eller indstil universel tid (UTC) � --sort=ORD sortér ifølge ORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort naturlig sortering efter (versions-)numre i tekst � --sparse=NÃ…R bestem oprettelsen af usammenhængende filer. Se nedenfor --strip-trailing-slashes fjern eventuelle skrÃ¥streger i slutningen af hvert KILDE-argument � --strict afslut med status forskellig fra nul ved ugyldigt input sammen med --check � --strip-trailing-slashes fjern evt. skrÃ¥streger i slutningen af hvert KILDE-argument -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-suffiks � --suffix=SUFF føj SUFF til SKABELON. SUFF mÃ¥ ikke indeholde skrÃ¥streg. Dette flag bruges implicit hvis SKABELON ikke slutter med X. � --time-style=STIL bruges med -l; vis tidspunkter med stilen STIL: full-iso, long-iso, iso, locale, +FORMAT. FORMAT fortolkes som 'date'; hvis FORMAT er FORMAT1<linjeskift>FORMAT2, gælder FORMAT1 for ældre filer, og FORMAT2 for nyere filer; hvis 'posix-' sættes foran STYLE, vil STYLE kun blive anvendt uden for POSIX-lokalitet � --tmpdir[=KAT] fortolk SKABELON relativt til KAT. Hvis KAT ikke er angivet, sÃ¥ brug $TMPDIR hvis angivet, ellers /tmp. Med dette flag mÃ¥ SKABELON ikke være et absolut navn. I modsætning til med -t, kan SKABELON indeholde skrÃ¥streger, men da vil mktemp kun oprette den sidste komponent. � --verbose skriv informationer til standard-fejl lige før hver udfil Ã¥bnes � --version vis versionsinformation og afslut � --all udskriv antallet af installerede processorer --ignore=N hvis muligt, sÃ¥ ekskludér N processorenheder � -evenp samme som -parenb cs8 * [-]lcase samme som xcase iuclc olcuc litout samme som -parenb -istrip -opost cs8 -litout samme som parenb istrip opost cs7 nl samme som -icrnl -onlcr -nl samme som icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb brug to stop-bit per tegn (én med '-') [-]hup send et hangup-signal nÃ¥r den sidste proces lukker tty'en [-]hupcl samme som [-]hup [-]parenb generér paritetsbit ved skrivning og forvent paritetsbit ved læsning [-]parodd sæt ulige paritet (lige paritet med '-') � [-]ignpar ignorér tegn med paritetsfejl * [-]imaxbel bip-signal, men tøm ikke fuld inddatabuffer pÃ¥ grund af et tegn [-]inlcr transformér linjeskift til vognretur [-]inpck muliggør paritetskontrol af inddata [-]istrip nulstil den høje (8.) bit i et inddatategn � [-]isig aktivér specialtegn for afbrydning, afslut og hvile [-]noflsh deaktivér tømning (flush) efter specialtegnene for afbrydningssignaler og afslutning * [-]prterase samme som [-]echoprt * [-]tostop stop baggrundsjob som forsøger at skrive til terminalen * [-]xcase sammen med icanon, brug '\' som kontrolsekvens for store bogstaver � cooked samme som at sætte brkint ignpar istrip icrnl ixon opost isig icanon, eof og eol til deres standardværdier -cooked samme som raw crt samme som echoe echoctl echoke � dec samme som echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq samme som [-]ixany ek slette- og dræbertegn sættes til deres standardværdier evenp samme som parenb -parodd cs7 � ispeed N sæt inddatahastighed til N * line N anvend linjedisciplin N min N med -icanon, sæt N tegn til minimum for en afsluttet læsning ospeed N sæt udskriftshastighed til N � oddp samme som parenb parodd cs7 -oddp samme som -parenb cs8 [-]parity samme som [-]evenp pass8 samme som -parenb -istrip cs8 -pass8 samme som parenb istrip cs7 � raw samme som -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw samme som cooked � sane samme som cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, alle specialtegn sættes til deres standardværdier. � stop TEGN TEGN stopper udskriften susp TEGN TEGN sender et terminalstopsignal * swtch TEGN TEGN skifter til en anden skál * werase TEGN TEGN sletter det senest skrevne ord � %% et enkelt % %b ARGUMENT som en streng med '\'-kontrolsekvenser tolkes, med den undtagelse at oktale kontrolsekvenser er pÃ¥ formen \0 eller \0NNN og alle specifikationer i C-format som slutter med en af diouxXfeEgGcs, med ARGUMENTer konverteret til en passende type først. Variable bredder behandles. � %A lokaliseret fuldt ugedagsnavn (f.eks. søndag) %b lokaliseret forkortet mÃ¥nedsnavn (f.eks. jan) %B lokaliseret fuldt mÃ¥nedsnavn (f.eks. januar) %c lokaliseret dato og tid (f.eks. lør 04 nov 1989 12:02:33 CET) � %C Ã¥rhundrede; som %Y, dog udelades sidste to cifre (f.eks. 20) %d dag i mÃ¥ned (f.eks. 01) %D dato; samme som %m/%d/%y %e dag i mÃ¥ned, indledende nul erstattet med blanktegn; samme som %_d � %F fuld dato; samme som %Y-%m-%d %g sidste to cifre af Ã¥ret ved ISO-ugetal (se %G) %G Ã¥ret ved ISO-ugetal (se %V); er normalt kun nyttig sammen med %V � %S sekund (00..60) %t en tabulator %T tid; samme som %H:%M:%S %u dag i ugen (1..7), 1 betyder mandag � %U ugenummer, med søndag som første dag i ugen (00..53) %V ISO-ugenummer, med mandag som første dag i ugen (01..53) %w ugedag (0..6); søndag repræsenteres som 0 %W ugenummer, med mandag som første dag i ugen (00..53) � %d - enhedsnummer decimalt %D - enhedsnummer i hex %f - rÃ¥ tilstand i hex %F - filtype %g - gruppe-id pÃ¥ ejer %G - gruppenavn pÃ¥ ejer � %h antal hÃ¥rde lænker %i inode-nummer %m monteringspunkt %n filnavn %N citeret filnavn med dereference hvis symbolsk lænke %o fif om optimal I/O-blokstørrelse %s samlet størrelse i byte %t underenhedstype i hex %T overenhedstype i hex � %h samme som %b %H time (00-23) %I time (01-12) %j dag pÃ¥ Ã¥ret (001-366) � %i filsystems-id i hex %l største længde pÃ¥ filnavne %n filnavn %s blokstørrelse (for hurtigere overførsler) %S fundamental blokstørrelse (for blokoptællinger) %t filsystemtype i hex %T filsystemtype pÃ¥ læsevenlig form � %k time, med mellemrum ( 0-23); samme som %_H %l time, med mellemrum ( 1-12); samme som %_I %m mÃ¥ned (01-12) %M minut (00-59) � %n en ny linje %N nanosekunder (000000000..999999999) %p lokaleafhængig ækvivalent til AM eller PM; blank hvis ukendt %P som %p, men med smÃ¥ bogstaver %r lokaleafhængig tid, 12-timers (f.eks. 06:31:44) %R 24-timers tid i timer og minutter; samme som %H:%M %s sekunder siden 1970-01-01 00:00:00 UTC � %u bruger-id pÃ¥ ejer %U brugernavn pÃ¥ ejer %w tidspunkt for filoprettelse i læsevenligt format, eller - hvis ukendt %W tidspunkt for filoprettelse i sekunder siden Epoken, eller 0 hvis ukendt %x tidspunkt for sidste tilgang i læsevenligt format %X tidspunkt for sidste tilgang i sekunder siden Epoken %y tidspunkt for sidste indholdsændring i læsevenligt format %Y tidspunkt for sidste indholdsændring i sekunder siden Epoken %z tidspunkt for sidste filegenskabsændring i læsevenligt format %Z tidspunkt for sidste filegenskabsændring i sekunder siden Epoken � %x lokaleafhængigt datoformat (f.eks. 08-03-2009) %X lokaleafhængigt tidsformat (f.eks. 23:13:48) %y sidste to cifre i Ã¥rstallet (00..99) %Y Ã¥r � %z +hhmm numerisk tidszone (f.eks. -0400) %:z +hh:mm numerisk tidszone (f.eks. -04:00) %::z +hh:mm:ss numerisk tidszone (f.eks. -04:00:00) %:::z numerisk tidszone med : til nødvendig præcision (f.eks., -04, +05:30) %Z alfabetisk forkortelse for tidszone (f.eks., EDT) Som standard vil date udfylde eventuelle ekstra cifre ned nuller. � + SYMBOL tolk SYMBOL som en streng, selv om den er et nøgleord som "match" eller en operator som '/' ( UDTRYK ) værdien af UDTRYK � +FØRSTE_SIDE[:SIDSTE_SIDE], --pages=FØRSTE_SIDE[:SIDSTE_SIDE] start [slut] udskrift med FØRSTE_[SIDSTE_]SIDE -KOLONNER, --columns=KOLONNER lav KOLONNER-kolonners udskrift og skriv kolonner nedad medmindre '-a' er angivet. Balancér antal linjer i kolonnerne pÃ¥ hver side. � - +FORMAT (f.eks., +%H:%M) for et format i stil med 'date' � --output-delimiter=STR adskil kolonner med STR � --userspec=BRUGER:GRUPPE angiv bruger og gruppe (ID eller navn) --groups=G_LISTE angiv supplerende grupper som g1,g2,..,gN � -0, --null afslut linjer med en 0-byte frem for linjeskift � -A, --auto-reference udskriv automatisk genererede referencer -G, --traditional vær mere som System V's 'ptx' -F, --flag-truncation=STRENG brug STRENG for at markere linjeafkortning � -C vis filer i kolonner --color[=NÃ…R] udskriv med farver. NÃ…R er som standard 'always', men kan ogsÃ¥ være 'never' eller 'auto'. Mere information findes nedenfor -d, --directory vis kataloger uden at vise indholdet, og dereferér ikke symbolske lænker -D, --dired lav uddata til Emacs' dired-tilstand � -D opret alle indledende komponenter af MÃ…L undtagen den sidste, kopiér derefter KILDE til MÃ…L -g, --group=GRUPPE vælg gruppeejerskab, i stedet for processens nuværende gruppe -m, --mode=TILSTAND vælg adgangsrettigheder (som chmod), frem for rwxr-xr-x -o, --owner=EJER vælg ejerskab (kun superbruger) � -D, --all-repeated[=adskillelses-metode] udskriv alle gentagne linjer adskillelses-metode={none(forvalgt),prepend,separate} Adskillelse gøres med blanke linjer -f, --skip-fields=N sammenlign ikke de første N felter -i, --ignore-case ignorér forskelle med store og smÃ¥ bogstaver -s, --skip-chars=N sammenlign ikke de første N tegn -u, --unique udskriv kun unikke linjer -z, --zero-terminated afslut linjer med 0-byte frem for linjeskift � -D, --date-format=FORMAT brug FORMAT for dato i overskriften -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]] udvid ind-TEGN (TABs) til BREDDE blanktegn (8) -F, -f, --form-feed brug sideskift(FF) i stedet for linjeskift for at separere sider (med et 3-linjers sidehoved med -F eller et 5-linjers hoved og bund uden -F) � -G, --no-group skriv ikke gruppenavne ved langt format -h, --human-readable bruges med -l; skriv størrelser pÃ¥ læsevenlig form (f.eks. 1K 234M 2G) --si det samme, men brug 1000 som grundtal, ikke 1024 � -H, --dereference-command-line følg symbolske lænker angivet pÃ¥ kommandolinjen --dereference-command-line-symlink-to-dir følg hver symbolsk lænke angivet pÃ¥ kommandolinjen, der peger pÃ¥ et katalog --hide=MØNSTER udskriv ikke elementer, der matcher skalmønstret MØNSTER (tilsidesættes af -a eller -A) � -I spørg én gang før mere end tre filer fjernes, eller nÃ¥r der fjernes rekursivt. Mindre pÃ¥trængende end -i, men beskytter stadig mod de fleste fejltagelser --interactive[=NÃ…R] spørg jf. NÃ…R: never, once (-I), eller always (-i). Uden NÃ…R spørges altid � -L FIL FIL findes og er en symbolsk lænke (samme som -h) -O FIL FIL findes og ejes af det effektive bruger-ID -p FIL FIL findes og er en navngivet datakanal -r FIL FIL findes og er læsbar -s FIL FIL findes og har størrelse større end nul � -L, --logical brug miljøvariablen PWD, selv om den indeholder symlænker -P, --physical undgÃ¥ alle symlænker � -M, --macro-name=STRENG makronavn at bruge i stedet for 'xx' -O, --format=roff generér udskrift som roff-direktiver -R, --right-side-refs placér referencerne pÃ¥ højre side, ikke talt med i -w -S, --sentence-regexp=REGUDT for slutningen af linjer eller slutningen af sætninger -T, --format=tex generér udskrift som TeX-direktiver � -R, --recursive ændr filer og kataloger rekursivt � -R, --recursive virk pÃ¥ filer og kataloger rekursivt � -R, -r, --recursive kopiér kataloger rekursivt --reflink[=NÃ…R] bestem clone-/CoW-kopiering. Se nedenfor --remove-destination fjern hver eksisterende mÃ¥lfil før forsøg pÃ¥ at Ã¥bne den (sammenlign med --force) � -S sortér efter filstørrelse --sort=ORD sortér efter ORD frem for navn: none -U, extension -X, size -S, time -t, version -v --time=ORD bruges med -l; vis tidspunkt som ORD frem for ændringstidspunkt: atime -u, access -u, use -u, ctime -c eller status -c; brug den angivne tid som sorteringsnøgle, hvis --sort=time � -S FIL FIL findes og er en sokkel -t FD fildeskriptor FD er Ã¥bnet i en terminal -u FIL FIL findes og dens set-user-ID-bit er sat -w FIL FIL findes og er skrivbar -x FIL FIL findes og kan eksekveres (eller søges) � -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-suffiks -t, --target-directory=KATALOG angiv det KATALOG, lænkerne skal oprettes i -T, --no-target-directory behandl altid LÆNKENAVN som en normal fil -v, --verbose skriv navnet pÃ¥ hver fil, der lænkes � -S[STRENG], --sep-string[=STRENG] adskil kolonner med STRENG. Uden -S: Forvalgt skilletegn er <TAB> med -J og <mellemrum> ellers (samme som -S" "). Ingen effekt pÃ¥ kolonneflag -t, --omit-header brug ikke sidehoved og -fod � -T, --omit-pagination brug ikke sidehoved og -fod, og eliminer eventuel sidenummerering fra sideskift (form feed) i indfiler -v, --show-nonprinting brug oktal omvendt skrÃ¥stregsnotation -w, --width=SIDEBREDDE sæt altid sidebredde til SIDEBREDDE (72) kolonner. Kun for flerkolonneudskrift, -s[tegn] slÃ¥r fra (72) � -T, -w, --mesg tilføj brugeres meddelelsestatus som +, - eller ? -u, --users list indloggede brugere --message samme som -T --writable samme som -T � -W, --page-width=SIDEBREDDE sæt sidebredde til SIDEBREDDE (72) kolonner, altid. Afkort linjer hvis -J ikke er sat. PÃ¥virker ikke -S eller -s � -W, --word-regexp=REGUDT brug REGUDT for at ramme hvert nøgleord -b, --break-file=FIL tegn for orddeling i denne FIL -f, --ignore-case lav smÃ¥ bogstaver om til store for sortering -g, --gap-size=TAL størrelse pÃ¥ mellemrum mellem kolonner i udfelter -i, --ignore-file=FIL læs liste over ord som skal ignoreres fra denne FIL -o, --only-file=FIL læs kun ordliste fra denne FIL � -Z, --context=KONT sæt SELinux-sikkerhedskontekst for NAVN til KONT � -Z, --context=KONT sæt SELinux-sikkerhedskontekst for hvert NAVN til KONT � -a ændr kun læsningstidspunkt -c, --no-create opret ikke nogen filer -d, --date=STRENG fortolk og brug STRENG frem for nuværende klokkeslæt -f (ignoreres) � -a, --across skriv kolonner henover i stedet for nedad. Bruges sammen med -KOLONNER -c, --show-control-chars brug hat-notation (^G) og oktal omvendt skrÃ¥stregsnotation -d, --double-space dobbelt afstand i udskriften � -a, --all skjul ikke filer som starter med . -A, --almost-all skjul underforstÃ¥et . og .. --author bruges med -l; skriv forfatter for hver fil -b, --escape skriv undvigesekvenser for ikke-grafiske tegn i stil med C � -a, --all medtag uægte filsystemer -B, --block-size=STØR skalér størrelser med STØR før de udskrives. F.eks. vil '-BM' udskrive størrelser i enheder af 1.048.576 byte. Se STØR-format nedenfor. --total udskriv en samlet sum -h, --human-readable skriv størrelser pÃ¥ en læsevenlig form (f.eks. 1K 234M 2G) � -a, --all konvertér alle blanke, frem for blot foranstillede blanke --first-only konvertér kun indledende rækker af blanke (tilsidesæt -a) -t, --tabs=N hav tabulatorer N tegn fra hinanden frem for 8 (medfører -a) -t, --tabs=LISTE brug en kommasepareret LISTE med tabulatorpositioner (medfører -a) � -a, --archive samme som -dR --preserve=all --attributes-only kopiér ikke fildata, men kun attributter --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende mÃ¥lfil -b ligesom --backup, men tager ikke noget argument --copy-contents kopiér indholdet af specialfiler ved rekursion -d samme som --no-dereference --preserve=links � -a, --multiple understøt flere argumenter og behandl hvert som et NAVN -s, --suffix=SUFFIKS fjern efterfølgende SUFFIKS -z, --zero separér uddata med NUL frem for linjeskift � -a, --suffix-length=N brug endelser med længden N (forvalg %d) --additional-suffix=SUFFIKS føj et ekstra SUFFIKS til slutningen af filnavne. -b, --bytes=STØR skriv STØR byte i hver udfil -C, --line-bytes=STØR skriv maksimalt STØR byte med linjer per udfil -d, --numeric-suffixes[=FRA] brug numeriske suffikser frem for alfabetiske. FRA ændrer startværdien (forvalg 0). -e, --elide-empty-files generér ikke tomme udfiler med '-n' --filter=KOMMANDO skriv til skal-KOMMANDO; filnavn er $FILE -l, --lines=ANTAL skriv ANTAL linjer i hver udfil -n, --number=KLUMPER generér KLUMPER i udfiler. Se herunder -u, --unbuffered kopiér omgÃ¥ende inddata til uddata med '-n r/...' � -b, --before indsæt separator før i stedet for efter -r, --regex fortolk separatoren som et regulært udtryk -s, --separator=STRENG brug STRENG som separator i stedet for linjeskift � -b, --binary binær læsetilstand � -b, --binary binær læsetilstand (forvalg pÃ¥ nær ved læsning fra tty-stdin) � -b, --body-numbering=STIL brug STIL til nummerering -d, --section-delimiter=CC brug CC til at skille logiske sider -f, --footer-numbering=STIL brug STIL til at nummerere bundtekst � -b, --bytes tæl byte i stedet for kolonner -s, --spaces ombryd ved mellemrum -w, --width=BREDDE brug BREDDE kolonner i stedet for 80 � -b, --bytes=LISTE vælg kun disse byte -c, --characters=LISTE vælg kun disse tegn -d, --delimiter=SKILLE brug SKILLE i stedet for TAB som feltskilletegn � -b, --ignore-leading-blanks ignorér indledende blanke -d, --dictionary-order tag kun blanke og alfanumeriske tegn i betragtning -f, --ignore-case behandl smÃ¥ bogstaver som store bogstaver � -b, --suffix-format=FORMAT brug sprintf-FORMAT i stedet for %02d -f, --prefix=PRÆFIKS brug PRÆFIKS i stedet for 'xx' -k, --keep-files fjern ikke udfiler ved fejl � -c --format=FORMAT brug det angivne FORMAT frem for standardformatet; udskriv linjeskift efter hvert brug af FORMAT --printf=FORMAT som --format, men fortolk omvendt skrÃ¥stregsnotation, og udskriv ikke obligatorisk afsluttende linjeskift. Vil du have et linjeskift, sÃ¥ tilføj \n i FORMAT. -t, --terse udskriv information kortfattet � -c, --bytes=K udskriv de sidste K byte; brug alternativt -c +K til at udskrive byte fra position K i hver fil � -c, --bytes=[-]K udskriv de første K byte af hver fil; med indledende '-', udskriv alle pÃ¥ nær de sidste K byte af hver fil -n, --lines=[-]K udskriv de første K linjer frem for de første 10; med indledende '-', udskriv alle pÃ¥ nær de sidste K linjer af hver fil � -c, --changes som verbose, men rapportér kun udførte ændringer -f, --silent, --quiet undertryk de fleste fejlbeskeder -v, --verbose udskriv en statusbesked for hver fil der behandles � -c, --check læs %s-summer fra FILerne og tjek dem � -c, --check, --check=diagnose-first kontrollér sortering af data; sortér ikke -C, --check=quiet, --check=silent som -c, men anfør ikke første fejllinje --compress-program=PROG komprimér midlertidige filer med PROG; udpak dem med PROG -d � -c, --count begynd linjer med antal forekomster -d, --repeated udskriv kun linjer der er flere af � -c, --crown-margin behold indrykning for de første to linjer -p, --prefix=STRENG omformatér kun linjer som begynder med STRENG; præfikset sammensættes igen med omformaterede linjer -s, --split-only opdel lange linjer, men fyld ikke op � -c, --no-create opret ikke nogen filer � -d, --decode afkod data -i, --ignore-garbage ignorér ikke-alfabetiske tegn nÃ¥r der afkodes -w, --wrap=KOLONNER ombryd kodede linjer efter KOLONNER tegn (normalt 76). Brug 0 for at slÃ¥ linjeombrydning fra � -d, --delimiters=LISTE brug tegn fra LISTE i stedet for tabulatorer -s, --serial indsæt en fil ad gangen i stedet for i parallel � -d, --directory opret et katalog, ikke en fil -u, --dry-run opret intet; udskriv kun et navn (usikker) -q, --quiet undertryk information om fejl ved fil-/katalogoprettelse � -e aktivér fortolkning af omvendt skrÃ¥stregsnotation -E deaktivér fortolkning af omvendt skrÃ¥stregsnotation (standard) � -e aktivér fortolkning af omvendt skrÃ¥stregsnotation (standard) -E deaktivér fortolkning af omvendt skrÃ¥stregsnotation � -e, --canonicalize-existing alle stiens komponenter skal eksistere -m, --canonicalize-missing ingen af stiens komponenter behøver eksistere -L, --logical evaluér '..'-komponenter før symlænker -P, --physical evaluér symlænker nÃ¥r de findes (standard) -q, --quiet undertryk de fleste fejlmeddelelser --relative-to=FIL udskriv den evaluerede sti relativt til FIL --relative-base=FIL udskriv absolutte stier med mindre stier ligger under FIL -s, --strip, --no-symlinks omskriv ikke symlænker -z, --zero separér udskrift med NUL frem for linjeskift � -e, --echo brug hvert ARG som en inddatalinje -i, --input-range=LAV-HØJ brug hvert tal fra LAV til HØJ som en inddatalinje -n, --head-count=ANTAL udskriv højst ANTAL linjer -o, --output=FIL skriv resultat til FIL frem for standard-ud --random-source=FIL læs tilfældige byte fra FIL -z, --zero-terminated afslut linjer med 0-byte, ikke linjeskiftstegn � -f sortér ikke, brug -aU, brug ikke -ls --color -F, --classify føj en angivelse (*/=>@|) til elementerne --file-type det samme, men tilføj ikke '*' --format=ORD 'across' -x, 'commas' -m, 'horizontal' -x, 'long' -l, 'single-column' -1, 'verbose' -l, 'vertical' -C --full-time ligesom -l --time-style=full-iso � -f udelad linjen med kolonneoverskrifter i kort format -w udelad brugerens fulde navn i kort format -i udelad brugerens fulde navn og fjernvært i kort format -q udelad brugerens fulde navn, fjernvært og inaktiv tid i kort format � -f samme som -t fF, vælg flydende tal -i samme som -t dI, vælg decimalheltal -l samme som -t dL, vælg lange decimalheltal -o samme som -t o2, vælg oktale 2-byte-enheder -s samme som -t d2, vælg decimale 2-byte-enheder -x samme som -t x2, vælg hexadecimale 2-byte-enheder � -f FIL FIL findes og er en almindelig fil -g FIL FIL findes og har sæt-gruppe-ID-bitten sat -G FIL FIL findes og ejes af det effektive gruppe-ID -h FIL FIL findes og er en symbolsk lænke (samme som -L) -k FIL FIL findes med klæbebitten sat � -f, --canonicalize normalisér ved at følge hver symlænke i hver komponent i det givne navn rekursivt; alle pÃ¥ nær sidste komponent skal eksistere -e, --canonicalize-existing normalisér ved at følge hver symlænke i hver komponent i det givne navn rekursivt; alle komponenter skal eksistere � -f, --fields=LISTE vælg kun disse felter; udskriv ogsÃ¥ enhver linje som ikke indeholder et skilletegn, medmindre flaget -s er angivet -n (ignoreres) � -f, --follow[={navn|deskriptor}] udskriv tilføjede data efterhÃ¥nden som filen vokser; -f, --follow, og --follow=deskriptor er det samme -F det samme som --follow=navn --retry � -f, --force ændr om nødvendigt rettigheder for at tillade skrivning -n, --iterations=N overskriv N gange i stedet for det normale (%d) --random-source=FIL læs tilfældige byte fra FIL -s, --size=N makulér dette antal byte (endelser som K, M, G accepteres) � -g som -l, men udskriv ikke ejer � -g GID[,GID1...] sæt ogsÃ¥ primær gruppe-ID til den numeriske GID, og (hvis angivet) supplerende gruppe-ID'er til GID1, ... � -g, --general-numeric-sort sammenlign ifølge generel numerisk værdi -i, --ignore-nonprinting tag kun synlige tegn i betragtning -M, --month-sort sammenlign (ukendt) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STIL brug STIL til at nummerere toptekst -i, --line-increment=ANTAL linjenummerforøgelse for hver linje -l, --join-blank-lines=ANTAL ANTAL tomme linjer som tæller som en -n, --number-format=FORMAT indsæt linjenummer efter FORMAT -p, --no-renumber begynd ikke linjenumre pÃ¥ ny ved logiske sider -s, --number-separator=STRENG tilføj STRENG efter (muligt) linjenummer � -h, --header=OVERSKRIFT brug centreret OVERSKRIFT i stedet for filnavn i sidehoved; -h "" skriver en blank linje. Brug ikke -h"". -i[TEGN[BREDDE]], --output-tabs=[TEGN[BREDDE]] erstat mellemrum med TEGN (TAB) med tabulatorer af BREDDE (8) -J, --join-lines flet fulde linjer. Deaktiverer linjeafkortning ved -W, ingen kolonnejustering, --sep-string[=STRENG] sætter separatorer � -h, --human-numeric-sort sammenlign tal pÃ¥ læsevenlig form (f.eks. 2K, 1G) � -h, --no-dereference ændr symbolske lænker i stedet for refererede filer (kun for systemer der kan ændre tidsstempler for en symlænke) -m ændr kun ændringstidspunktet � -i, --ignore-case skeln ikke mellem store/smÃ¥ bogstaver ved sammenligning af felter -j FELT samme som '-1 FELT -2 FELT' -o FORMAT følg FORMAT ved sammensætning af udlinje -t TEGN brug TEGN som feltseparator for ind- og udfelter � -i, --initial konvertér ikke tabulatorer efter ikke-blanke tegn -t, --tabs=ANTAL hav tabulatorer ANTAL tegn fra hinanden, ikke 8 � -i, --inodes skriv inodeinformation i stedet for blokforbrug -k som --block-size=1K -l, --local vis kun lokale filsystemer --no-sync kør ikke sync før hentning af forbrugsinfo (standard) � -i, --input=TILSTAND angiv buffertilstand for standard-ind -o, --output=TILSTAND angiv buffertilstand for standard-ud -e, --error=TILSTAND angiv buffertilstand for standard-fejl � -i, --interactive bekræft før sletning af destinationer -L, --logical dereferér MÃ…L som er symbolske lænker -n, --no-dereference behandl LÆNKENAVN som en normal fil, hvis den er en symbolsk lænke til et katalog -P, --physical lav hÃ¥rde lænker direkte til symbolske lænker -r, --relative opret symbolske lænker relativt til lænkestedet -s, --symbolic lav symbolske lænker i stedet for hÃ¥rde lænker � -k, --key=NØGLEDEF sortér efter nøgle; NØGLEDEF angiver placering og type -m, --merge flet allerede sorterede filer; sortér ikke � -l brug langt listeformat -L, --dereference nÃ¥r der vises filinformation for symbolske lænker, sÃ¥ vis information for filen, som lænken peger pÃ¥, frem for lænken selv -m brug hele skærmbredden med en liste adskilt af kommaer � -l, --length=SIDELÆNGDE sæt sidelængde til SIDELÆNGDE (66) linjer (forvalgt antal tekstlinjer er 56, eller 63 med -F) -m, --merge udskriv alle filer parallelt, en i hver kolonne; afkort linjer, men flet linjer af fuld længde med -J � -l, --link opret hÃ¥rde lænker til filer frem for at kopiere -L, --dereference følg altid symbolske lænker i KILDE � -l, --login udskriv systemlogindprocesser � -m, --mode=TILSTAND sæt filrettigheder til TILSTAND, ikke a=rw - umask � -m, --mode=TILSTAND sæt rettigheder (som chmod), ikke a=rwx - umask -p, --parents opret overkataloger om nødvendigt, ingen fejl hvis findes -v, --verbose udskriv en besked for hvert katalog som oprettes -Z, --context=KONT sæt SELinux-sikkerhedskontekst for hvert oprettet katalog til KONT � -n, --digits=CIFRE brug angivet antal cifre i stedet for 2 -s, --quiet, --silent vis ikke størrelsen af udfilerne -z, --elide-empty-files fjern tomme udfiler � -n, --lines=K udskriv sidste K linjer frem for de sidste %d, eller brug -n +K til at udskrive fra og med K'te linje --max-unchanged-stats=N med --follow=name: GenÃ¥bn en FIL som ikke har ændret størrelse efter N (forvalg %d) iterationer for at se om den er blevet aflænket eller omdøbt (dette er normalt tilfældet for roterede logfiler). Dette flag er sjældent nyttigt sammen med inotify. � -n, --no-clobber overskriv ikke en eksisterende fil (tilsidesætter eventuelt tidligere flag -i) -P, --no-dereference følg aldrig symbolske lænker i KILDE � -n, --numeric-sort sammenlign ifølge numerisk værdi af strenge -R, --random-sort sortér efter tilfældig hash af nøgler --random-source=FIL hent tilfældige byte fra FIL -r, --reverse vend resultaterne af sammenligningerne om � -n, --numeric-uid-gid ligesom -l, men skriv bruger- og gruppe-ID med tal -N, --literal skriv rÃ¥ elementnavne (behandl ikke f.eks. kontroltegn anderledes) -o ligesom -l, men vis ikke gruppeinformation -p, --indicator-style=slash tilføj skrÃ¥streg som indikator for kataloger � -n[SEP[CIFRE]], --number-lines[=SEP[CIFRE]] nummerér linjer, brug CIFRE (5) cifre, sÃ¥ SEP (TAB); forvalgt tælling starter med første linje af indfil -N, --first-line-number=NUMMER start tælling med NUMMER pÃ¥ første linje pÃ¥ første side som skrives (se +FØRSTE_SIDE) � -o, --indent=MARGEN indryk linjer MARGEN (nul) mellemrum, idet -w og -W ikke pÃ¥virkes. MARGEN vil blive lagt til SIDEBREDDE -r, --no-file-warnings advar ikke nÃ¥r en fil ikke kan Ã¥bnes � -o, --io-blocks fortolk STØR som antal IO-blokke frem for byte � -o, --output=FIL udskriv resultat til FIL frem for standard-ud -s, --stable stabilisér sortering ved deaktivering af sidste-udvejs-sammenligning -S, --buffer-size=STØR brug størrelsen STØR for indre hukommelsesbuffer � -p samme som --preserve=mode,ownership,timestamps --preserve[=ATTRLISTE] bevar filattributter om muligt (standard: mode,ownership,timestamps), om muligt yderligere attributter: context, links, xattr, all � -p KAT brug KAT som præfiks; medfører -t [forældet] -t fortolk SKABELON som en enkelt filnavnskomponent relativt til et katalog: $TMPDIR, hvis angivet; ellers kataloget angivet ved -p; ellers /tmp [forældet] � -p, --parents slet KATALOG og dets overkataloger. F.eks. virker 'rmdir -p a/b/c' ligesom 'rmdir a/b/c a/b a' -v, --verbose vis meddelelse for hvert katalog som behandles � -p, --preserve-timestamps brug samme læse-/ændringstider pÃ¥ MÃ…L-filerne som der er pÃ¥ KILDE-filerne. -s, --strip fjern symboltabeller --strip-program=PROGRAM program, der bruges til at fjerne binærkode -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-suffiks -t, --target-directory=KATALOG kopiér alle KILDE-argumenter ind i KATALOG -T, --no-target-directory behandl MÃ…L som en normal fil -v, --verbose skriv navnet pÃ¥ hvert katalog nÃ¥r det bliver oprettet � -q, --count alle indlogningsnavne og antal indloggede brugere -r, --runlevel skriv aktuelt kørselsniveau -s, --short skriv kun navn, linje og tid (standard) -t, --time skriv seneste ændring af systemklokken � -q, --hide-control-chars skriv ? i stedet for ikke-grafiske tegn --show-control-chars vis ikke-grafiske tegn som de er (standard med mindre programmet er 'ls' og uddata er en terminal) -Q, --quote-name sæt filnavne i gÃ¥seøjne --quoting-style=ORD brug anførselsstil ORD for filnavn: literal, locale, shell, shell-always, c eller escape � -q, --quiet, --silent udskriv ikke overskrifter med filnavne først -v, --verbose skriv altid overskrifter med filnavne først � -r, --reference=FIL vis sidste ændringsdato for FIL -R, --rfc-2822 udskriv dato og tid i henhold til RFC-2822 Eksempel: Sun, 08 Mar 2009 14:56:49 +0100 � -r, --reference=RFIL basér størrelsen pÃ¥ RFIL -s, --size=STØR angiv eller justér filstørrelsen med STØR � -r, --references første felt i hver linje er en reference -t, --typeset-mode - ikke implementeret - -w, --width=BREDDE udskriftbredde for kolonner, eksklusive referencer � -r, --reverse sortér i omvendt rækkefølge -R, --recursive vis underkataloger rekursivt -s, --size skriv allokeret størrelse for hver fil i blokke � -s, --only-delimited udskriv ikke linjer som ikke indeholder skilletegn --output-delimiter=STRENG brug STRENG som forvalgt ud-skilletegn. forvalgt er at bruge ind-skilletegnet � -s, --signal=SIGNAL, -SIGNAL angiv navnet eller nummeret pÃ¥ signalet som skal sendes -l, --list list signalnavne, eller konvertér signalnavn til/fra nummer -t, --table skriv en tabel med signalinformation � -s, --sleep-interval=N med -f: sov cirka N sekunder mellem hver iteration (forvalg 1,0 sekund). Med inotify og --pid=P, tjekkes proces P mindst en gang hvert N sekunder. -v, --verbose udskriv altid overskrifter med filnavne � -s, --symbolic-link opret symbolske lænker i stedet for at kopiere -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-suffiks -t, --target-directory=KATALOG kopiér alle KILDE-argumenter til KATALOG -T, --no-target-directory behandl MÃ…L som en normal fil � -s[TEGN], --separator[=TEGN] adskil kolonner med et enkelt TEGN. Forvalgt TEGN er <TAB> uden -w og 'ingen tegn' med -w. -s[TEGN] slÃ¥r linjeafkortning fra for alle 3 kolonne- flagene (-KOLONNER|-a -KOLONNER|-m) bortset fra -w � -t sortér efter ændringstidspunkt, nyeste først -T, --tabsize=KOLONNER antag tabulatorstop pÃ¥ KOLONNER frem for 8 � -t samme som -vT -T, --show-tabs vis tabulatorer som ^I -u (ignoreret) -v, --show-nonprinting brug ^ og M- notation, undtagen for LFD og TAB � -t, --field-separator=SEP brug SEP i stedet for ikke-mellemrum til mellemrums-overgang -T, --temporary-directory=KAT brug KAT til mellemlagring, ikke $TMPDIR eller %s; flere flag angiver flere kataloger --parallel=N begræns antallet af parallelt kørende sorteringer til N -u, --unique med -c: tjek for streng ordning; uden -c: udskriv kun den første af en række ens � -t, --tabs=LISTE brug komma-separeret LISTE med tab-positioner � -t, --tagged-paragraph indrykning for første linje er forskellig fra næste -u, --uniform-spacing et mellemrum mellem ord, to efter sætninger -w, --width=BREDDE maksimal linjelængde (ellers 75 kolonner) -g, --goal=BREDDE mÃ¥lbredde (som standard 93 % af bredden) � -t, --target-directory=KATALOG flyt alle KILDE-argumenter ind i KATALOG -T, --no-target-directory behandl MÃ…L som en normal fil -u, --update flyt kun hvis KILDE-filen er nyere end mÃ¥lfilen, eller nÃ¥r mÃ¥lfilen ikke findes -v, --verbose forklar hvad der sker � -t, --text tekstlæsetilstand (forvalg ved læsning af tty-stdind) � -t, --text tekstlæsetilstand (forvalg) � -u med -lt: sortér efter, og vis, læsningstid med -l: vis læsningstid og sortér efter navn ellers: sortér efter læsningstid -U sortér ikke; vis filer som de ligger i kataloget -v naturlig sortering af (versions-)tal i tekst � -u, --remove afkort og fjern fil efter overskrivningen -v, --verbose vis fremskridt -x, --exact rund ikke filstørrelser op til den næste fulde blok; dette er forvalg for ikke-regulære filer -z, --zero overskriv til slut med nuller for at skjule makulering � -u, --update kopiér kun hvis KILDE-filen er nyere end mÃ¥lfilen, eller nÃ¥r mÃ¥lfilen ikke findes -v, --verbose forklar hvad der sker -x, --one-file-system bliv pÃ¥ dette filsystem � -u, --user=BRUGER sæt brugeren BRUGER i mÃ¥lsikkerhedskonteksten -r, --role=ROLLE sæt rollen ROLLE i mÃ¥lsikkerhedskonteksten -t, --type=TYPE sæt typen TYPE i mÃ¥lsikkerhedskonteksten -l, --range=INTERVAL sæt intervallet INTERVAL i mÃ¥lsikkerhedskonteksten � -v FILNR som -a FILNR, men drop flettede ud-linjer -1 FELT flet ved dette FELT fra fil 1 -2 FELT flet ved dette FELT fra fil 2 --check-order kontrollér om indlinjerne er korrekt sorteret, selv hvis alle indlinjer kan parinddeles --nocheck-order kontrollér ikke om indlinjerne er korrekt sorteret --header betragt første linje i hver fil som feltoverskrifter, og udskriv dem uden at forsøge parinddeling for disse � -v, --kernel-version udskriv kernens version -m, --machine udskriv maskintypen -p, --processor udskriv processortypen -i, --hardware-platform udskriv maskinelplatform -o, --operating-system udskriv operativsystemet � -v, --starting-line-number=ANTAL første linjenummer pÃ¥ hver logisk side -w, --number-width=ANTAL brug ANTAL kolonner til linjenummerering � -v, --verbose udskriv en statusbesked for hver fil der behandles � -w, --check-chars=N sammenlign ikke mere end N tegn per linje � -w, --width=KOLONNER antag denne skærmbredde i stedet for aktuel værdi -x vis elementer linjevis i stedet for kolonnevis -X sortér alfabetisk efter filendelser -Z, --context udskriv eventuel SELinux-sikkerhedskontekst for hver fil -1 vis én fil per linje � -z, --zero afslut linjer med en 0-byte frem for linjeskift � -z, --zero-terminated afslut linjer med en 0 byte, ikke ny-linje � Fil: "%n" Id: %-8i Navnelængde: %-7l Type: %T Blokstørrelse: %-10s Fundamental blokstørrelse: %S Blokke: Samlet: %-10b Fri: %-10f Tilgængelige: %a Inoder: Samlet: %-10c Fri: %d � Fil: %N Stør: %-10s Blokke: %-10b IO-blokke: %-6o %F � Processer i uafbrydelig sovetilstand bidrager ogsÃ¥ til belastningsmiddeltallet. � [:graph:] alle skrivbare tegn, undtaget blanke tegn [:lower:] alle smÃ¥ bogstaver [:print:] alle skrivbare tegn, inkluderet blanke tegn [:punct:] alle tegnsætningstegn [:space:] alle vandrette og lodrette blanke tegn [:upper:] alle store bogstaver [:xdigit:] alle hexadecimale cifre [=TEGN=] alle tegn som er lig TEGN � \0NNN byte med oktal værdi NNN (1 til 3 cifre) \xHH byte med heksadecimal værdi HH (1 til 2 cifre) � \NNN tegn med oktal værdi NNN (1 til 3 cifre) \xHH byte med heksadecimal værdi HH (1 til 2 cifre) \uHHHH Unicode-tegn (ISO/IEC 10646) med heksadecimal værdi HHHH (4 cifre) \UHHHHHHHH Unicode-tegn med heksadecimal værdi HHHHHHHH (8 cifre) � \\ omvendt skrÃ¥streg \a alarm (BEL) \b baktegn (backspace) \c foretag ingen yderligere udskrift \e undvigesekvens \f sideskift \n ny linje \r vognretur \t vandret tabulator \v lodret tabulator � \v lodret tabulator TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende [TEGN*] i MÆNGDE2, kopier af TEGN indtil samme længde til MÆNGDE1 [TEGN*ANTAL] ANTAL kopier af TEGN, ANTAL er oktal, hvis det begynder med 0 [:alnum:] alle bogstaver og tal [:alpha:] alle bogstaver [:blank:] alle vandrette blanke tegn [:cntrl:] alle kontroltegn [:digit:] alle cifre � ascii fra EBCDIC til ASCII ebcdic fra ASCII til EBCDIC ibm fra ASCII til alterneret EBCDIC block udfyld felter afsluttet med linjeskift med mellemrum til cbs-størrelse unblock erstat afsluttende mellemrum med linjeskift i blokke med størrelse som givet i cbs lcase lav store bogstaver om til smÃ¥ ucase ændr smÃ¥ bogstaver til store bogstaver sparse prøv at søge frem for at skrive uddata for NUL-indblokke swab ombyt hvert par af ind-byte sync udfyld hver ind-blok med NUL op til ibs-størrelse; ved brug af block eller unblock, udfyldes med blanktegn frem for NUL. � binary brug binær I/O til data � cio brug parallel data-I/O � count_bytes behandl 'count=N' som et antal byte (kun iflag) � d[STØR] decimal med fortegn, STØR byte per tal f[STØR] flydende tal, STØR byte per tal o[STØR] oktal, STØR byte per tal u[STØR] decimal uden fortegn, STØR byte per tal x[STØR] hexadecimal, STØR byte per tal � direct brug direkte data-I/O � directory meld fejl for ikke-kataloger � dsync brug synkroniseret I/O til data � excl meld fejl hvis udfilen allerede findes nocreat opret ikke udfilen notrunc afkort ikke udfilen noerror fortsæt efter læsefejl fdatasync skriv data til udfil fysisk før der afsluttes fsync tilsvarende, men skriv ogsÃ¥ metadata � fullblock opsaml fulde ind-blokke (kun iflag) � noatime opdatér ikke tilgangstid � nocache forkast lagrede data � noctty tildel ikke styrende terminal fra fil � nofollow følg ikke symbolske lænker � nolinks meld fejl hvis lænket flere gange � nonblock brug ikkeblokerende I/O � none, off lav aldrig sikkerhedskopier (selvom --backup er givet) numbered, t lav nummererede sikkerhedskopier existing, nil nummererede, hvis nummererede sikkerhedskopier eksisterer, ellers enkle sikkerhedskopier simple, never lav altid enkle sikkerhedskopier � seek_bytes behandl 'seek=N' som et antal byte (kun oflag) � skip_bytes behandl 'skip=N' som et antal byte (kun iflag) � sync tilsvarende, men ogsÃ¥ for metadata � text brug tekst-I/O til data � %H:%M � (sikkerhedskopi: %s)� * [-]ctlecho ekko kontroltegn med hatnotation ('^c') [-]echo ekko indtastede tegn * [-]echoctl samme som [-]ctlecho [-]echoe samme som [-]crterase [-]echok ekko et linjeskift efter et dræbertegn � * [-]echoke samme som [-]crtkill [-]echonl ekko linjeskift selv om ingen andre tegn ekkoes * [-]echoprt ekko slettede tegn baglæns, mellem '\' og '/' [-]icanon aktivér specialtegnene erase, kill, werase og rprnt [-]iexten aktivér specialtegn som ikke er POSIX-tegn � * [-]iuclc transformér store til smÃ¥ bogstaver * [-]ixany tillad hvilket tegn som helst at genstarte udskrift, ikke kun starttegn [-]ixoff aktivér start/stop-tegn [-]ixon aktivér XON/XOFF-flydningskontrol [-]parmrk markér paritetsfejl (med en 255-0 tegnsekvens) [-]tandem samme som [-]ixoff � * [-]iutf8 antag at ind-tegn er UTF-8-kodet � * [-]ocrnl transformér vognretur til linjeskift * [-]ofdel brug slettetegn til fyld i stedet for null-tegn * [-]ofill brug fyld-tegn (padding) i stedet for forsinkelses-timing * [-]olcuc transformér smÃ¥ bogstaver til store * [-]onlcr transformér linjeskift til vognretur-linjeskift * [-]onlret linjeskift foretager vognretur � * [-]onocr skriv ikke vognreturer i første kolonne [-]opost efterbehandl uddata * tabN vandret tab-forsinkelsesstil, N i [0..3] * tabs samme som tab0 * -tabs samme som tab3 * vtN lodret tab-forsinkelsesstil, N i [0..1] � * eol2 TEGN alternativt TEGN for linjeslut erase TEGN TEGN sletter det senest skrevne tegn intr TEGN TEGN sender et afbrydningssignal kill TEGN TEGN sletter nuværende linje � * lnext TEGN TEGN skriver næste tegn som et specialtegn quit TEGN TEGN sender en afslutningssignal * rprnt TEGN TEGN genskriver nuværende linje start TEGN TEGN starter udskrift igen efter at have stoppet den � * rows N sig til kernen at terminalen har N linjer * size udskriv antal linjer og kolonner ifølge kernen speed udskriv terminalens hastighed time N med -icanon, sæt timeout for læsning til N tiendedels sekunder � ??:???? � TTY� kontekst=%s� egid=%s� euid=%s� gid=%s� grupper=� gammel � ved gentagelse %s �% 1% af hukommelse, b 1, k 1024 (forvalgt), og sÃ¥ videre for M, G, T, P, E, Z, Y. Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. *** ADVARSEL *** Lokalet angivet i miljøet pÃ¥virker sorteringsordenen. Sæt LC_ALL=C for at fÃ¥ den traditionelle sorteringsorden som benytter de interne byte-værdier. �%.*s: ugyldig specifikation for konvertering�%e %b %Y�%e %b %H:%M�%lu bruger�%lu brugere�%s (for regudtryk %s)�%s -> %s (fjern sikkerhedskopi) �%s [-d] afsluttede uplanmæssigt�%s og %s er den samme fil�%s eksisterer, men er ikke et katalog�%s er dukket op. Følger slutningen af ny fil�%s er blevet tilgængelig�%s er blevet utilgængelig�%s er blevet erstattet af en fjern fil; giver op for dette navn�%s er blevet erstattet af en fil, der ikke kan køres 'tail' pÃ¥; giver op for dette navn�%s er blevet erstattet. Følger slutningen af ny fil�%s har ukendt filtype�%s har en ubrugelig, tilsyneladende negativ størrelse�%s hjemmeside: <%s> �Hjemmeside for %s: <http://www.gnu.org/software/%s/> �%s er ikke et gyldigt positivt heltal�%s er for stor�%s kan kun bruges pÃ¥ en SELinux-kerne�%s-underproces�%s: underproces fejlede�%s-underproces fik fatalt signal %d�%s blev angivet, men ikke %s�%s ville overskrive inddata; afbryder�%s%s-argumentet '%s' er for stort�%s: %s er sÃ¥ stor at den ikke kan repræsenteres�%s: %s: linjenummer uden for omrÃ¥de�%s: %s: ingen træffer fundet�%s: %s:%s: uorden: �%s: '}' er nødvendig i gentagelsesantal�%s: FEJL ved Ã¥bning eller læsning �%s: binær operator forventet�%s: kan kun oprette relative symbolske lænker i aktuelt katalog�%s: kan ikke ændre ikke-blokerende tilstand�%s: kan ikke bestemme filstørrelse�%s: kan ikke finde navnet for bruger-ID %lu �%s: kan ikke følge slutningen pÃ¥ denne filtype; giver op for dette navn�%s: kan ikke søge (lseek) tilbage til oprindelige position�%s: kan ikke overskrive katalog�%s: kan ikke tilbagespole�%s: kan ikke søge�%s: kan ikke søge til afsæt relativt til slutningen %s�%s: kan ikke søge til afsæt %s�%s: kan ikke søge til relativt afsæt %s�%s: kan ikke makulere beskriver for fil, der kun kan tilføjes til�%s: kan ikke overspringe�%s: kan ikke springe til det angivne afsæt�%s: afsluttende skilletegn '%c' mangler�%s: kunne ikke nulstille ikke-blokerende tilstand�%s: gÃ¥ ned i katalog %s? �%s: gÃ¥ ned i skrivebeskyttet katalog %s? �%s: filslut�%s: ækvivalensklasseoperanden skal være et enkelt tegn�%s: fejl ved afkortning�%s: fejl ved skrivning fra afsæt %s�%s: forventede en numerisk værdi�%s: kunne ikke lukke�%s: kunne ikke hente omfangsinfo�%s: kunne ikke Ã¥bne til skrivning�%s: kunne ikke fjerne�%s: kunne ikke nulstille filmarkør�%s: fcntl mislykkedes�%s: fdatasync mislykkedes�%s: fil har negativ størrelse�%s: filen er krympet for meget�%s: fil for stor�%s: fil for lang�%s: fil afkortet�%s: fstat mislykkedes�%s: fsync mislykkedes�%s: hÃ¥rd lænke ikke tilladt for katalog�%s: inddata indeholder en løkke:�%s: inddata indeholder et ulige antal elementer�%s: indfil er udfil�%s: heltal forventedes efter skilletegn�%s: ugyldig IO-blokstørrelse�%s: ugyldig PID�%s: ugyldigt klumpnummer�%s: ugyldigt antal ved starten af %s�%s: ugyldigt direktiv�%s: ugyldig feltangivelse %s�%s: ugyldig filstørrelse�%s: ugyldig filtype�%s: ugyldig maksimum antal af uændrede resultater af kald til stat() mellem kald til open()�%s: ugyldigt tal�%s: ugyldigt antal byte�%s: ugyldigt antal klumper�%s: ugyldigt antal linjer�%s: ugyldigt antal gennemløb�%s: ugyldigt antal sekunder�%s: ugyldigt antal at ignorere�%s: ugyldigt flag -- %c �%s: ugyldigt mønster�%s: ugyldig proces-id�%s: ugyldigt regulært udtryk: %s�%s: ugyldigt signal�%s: ugyldig startværdi for numerisk suffiks�%s: ugyldig længde pÃ¥ endelse�%s: linjenummeret skal være større end nul�%s: linjenummer uden for omrÃ¥de�%s: lseek mislykkedes�%s: flere signaler angivet�%s: nye adgangsrettigheder er %s, ikke %s�%s: ingen rigtigt formatterede %s-kontrolsumlinjer fundet�%s: ingen størrelsesinformation for denne enhed�%s: ingen sÃ¥dan bruger�%s: viser ikke allerede vist katalog�%s: antal byte er for stort�%s: flaget '%c%s' tillader ikke et argument �%s: flaget '%s' er flertydigt; muligheder:�%s: flaget '--%s' tillader ikke et argument �%s: flaget '--%s' kræver et argument �%s: flaget '-W %s' tillader ikke et argument �%s: flaget '-W %s' er flertydigt �%s: flaget '-W %s' kræver et argument �%s: flaget kræver et argument -- %c �%s: overskriv %s? �%s: gennemløb %lu/%lu (%s)...�%s: gennemløb %lu/%lu (%s)...%s�%s: gennemløb %lu/%lu (%s)...%s/%s %d%%�%s: læsefejl�%s: fjern %s %s? �%s: fjern alle argumenter rekursivt? �%s: fjern alle argumenter? �%s: fjern skrivebeskyttet %s %s? �%s: slettet�%s: sletter�%s: omdøbt til %s�%s: overskriv %s? �%s: søgning mislykkedes�%s: for mange kontrolsumlinjer�%s: forsøg at overskrive %s, uden hensyn til tilstand %04lo (%s)? �%s: kan ikke bestemme maksimal filnavnslængde�%s: ikke i stand til at udføre alle forespurgte operationer�%s: unær operator forventet�%s: ugyldigt flag '%c%s' �%s: ugyldigt flag '--%s' �%s: værdi ikke fuldstændig konverteret�%s: skrivefejl�%s: skrivning mislykkedes�%s:%lu: ugyldig linje; mangler andet element�%s:%lu: ugyldigt filnavn af længde nul�%s:%lu: ukendt nøgleord %s�%s}: heltal kræves mellem '{' og '}'�'�')' forventet�')' forventet, fandt %s�'-%c' ekstra tegn eller ugyldigt tal i argumentet: %s�'--pages=FØRSTE_SIDE[:SIDSTE_SIDE]' mangler argument�'-N NUMMER' har ugyldigt start-linjenummer: %s�'-W SIDEBREDDE' har ugyldigt antal tegn: %s�'-l SIDELÆNGDE' har ugyldigt antal linjer: %s�'-o MARGEN' har ugyldigt linjeafsæt: %s�'-w SIDEBREDDE' har ugyldigt antal tegn: %s�©�* filsystemer, der mellemlagrer pÃ¥ midlertidige steder, sÃ¥som NFS version 3-klienter * komprimerede filsystemer �* log-strukturerede eller journaliserende filsystemer, sÃ¥som dem der leveres med AIX og Solaris (og JFS, ReiserFS, XFS, Ext3 osv.) * filsystemer som skriver redundante data og fortsætter selv om nogle skrivninger mislykkes, sÃ¥som RAID-baserede filsystemer * filsystemer som laver øjebliksbilleder, sÃ¥som Network Appliances' NFS-server �, belastningennemsnit: %.2f�, %g s, %s/s �argumentet %2$s til --%1$s er for stort�--context (-Z) virker kun pÃ¥ en kerne, der understøtter SELinux�--filter behandler ikke en klump udtrukket til standard-ud�--reflink kan kun bruges sammen med --sparse=auto�-R --dereference kræver enten -H eller -L�-R -h kræver -P�-ef accepterer ikke -l�-nt accepterer ikke -l�-ot accepterer ikke -l�<intern>�??? �?????�Afbrudt�Adgang: %x Redig.: %y Ændret: %z Opret.: %w �Adgang: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Adressefamilie for værtsnavn understøttes ikke�Vækkeur�Alle forespørgsler fuldendt�Argumentbuffer er for lille�Arnold Robbins�Tilb�Tilbage�DÃ¥rligt systemkald�Ugyldig værdi for ai_flags�Brian Fox�Afbrudt datakanal�Busfejl�PAS PÃ…: Bemærk at 'shred' bygger pÃ¥ en meget vigtig antagelse: at filsystemet overskriver data pÃ¥ stedet. Dette er den traditionelle mÃ¥de at det pÃ¥, men mange moderne filsystemtyper opfylder ikke denne antagelse. Det følgende er eksempler pÃ¥ filsystemer hvor 'shred' ikke vil fungere efter hensigten, eller ikke vil fungere i alle filsystemtilstande: �KOMMENTAR�Grænse for CPU-tid overskredet�Kald funktionen link for at oprette en lænke FIL2 til en eksisterende FIL1. �Kald funktionen unlink for at fjerne angivet FIL. �Kapacitet�Ændr gruppen for hver FIL til GRUPPE. Med --reference ændres gruppen for hver FIL til den for RFIL. �Ændr tilstanden for hver FIL til TILSTAND. Med --reference ændres tilstanden for hver FIL til den for RFIL. �Ændr ejeren og/eller gruppen for hver FIL til EJER og/eller GRUPPE. Med --reference ændres ejer og gruppe for hver fil til de tilsvarende for RFIL. �Chet Ramey�Underproces afsluttet�Colin Plumb�Sammenlign de sorterede filer FIL1 og FIL2 linjevis. �Sammensæt FILer eller standard-ind, til standard-ud. -A, --show-all samme som -vET -b, --number-nonblank nummerér ikke-blanke ud-linjer. Tilsidesætter -n -e samme som -vE -E, --show-ends skriv $ i slutningen af hver linje -n, --number nummerér alle ud-linjer -s, --squeeze-blank skriv aldrig mere end én blank linje ad gangen �Kontekst: %C �Fortsat�Kopiér en fil med konvertering og formatering som angivet. bs=BYTE læs og skriv BYTE byte ad gangen cbs=BYTE konvertér BYTE byte ad gangen conv=KONV konvertér fil som angivet ved kommaadskilt liste af symboler count=N kopiér kun N indblokke ibs=BYTE læs BYTE byte ad gangen (standard: 512) �Kopier standard-ind til hver FIL og til standard-ud. -a, --append tilføj til de angivne FILer, overskriv ikke -i, --ignore-interrupts ignorer afbrydningssignaler �Opret midlertidig fil eller katalog pÃ¥ sikker vis, og udskriv navnet. SKABELON skal have mindst tre pÃ¥ hinanden følgende X'er i sidste komponent. Hvis SKABELON ikke angives, bruges tmp.XXXXXXXXXX, og --tmpdir er underforstÃ¥et. �David M. Ihnat�David MacKenzie�David Madore�Enhed: %Dt/%dd Inode: %-10i Lænker: %-5h Enhedstype: %t,%T �Enhed: %Dt/%dd Inode: %-10i Lænker: %h �Diagnosticér ugyldige eller uportable filnavne. -p kontrollér for de fleste POSIX-systemer -P kontrollér for tomme navne og indledende "-" --portability kontrollér for alle POSIX-systemer (svarer til -p -P) �Katalog: �Dmitry V. Levin�Smid eventuelle supplerende grupper væk, antag bruger-ID og gruppe-ID for den angivne BRUGER (numerisk ID eller brugernavn), og kør KOMMANDO med eventuelle angivne ARGUMENTer. Afslut med status 111 hvis det ikke er muligt at antage den krævede bruger- og gruppe-ID. Afslut ellers med afslutningskode for KOMMANDO. Dette program er kun nyttigt, nÃ¥r det køres som root (bruger-ID 0). �EMT-fælde�AFSLUT�Hvert interval er en af følgende: N N'te byte, tegn eller felt, talt fra 1 N- fra N'te byte, tegn eller felt, til slutningen af linjen N-M fra N'te til M'te (til og med) byte, tegn eller felt -M fra første til M'te (til og med) byte, tegn eller felt Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. �Ekko STRENGene til standard-ud. -n udskriv ikke afsluttende linjeskiftstegn �Eric Blake�Afslut med en statuskode som angiver fejl.�Afslut med en statuskode som angiver succes.�Returnér med en statusværdi som bestemmes af UDTRYK. �François Pinard�MISLYKKEDES�FIXMIG: ukendt�FORMAT skal være egnet til at udskrive et argument af typen 'double'; som standard er det %.PRÆCf hvis FØRSTE, FORØGELSE og SIDSTE alle er decimaltal med fast komma og maksimal præcision PRÆC, ellers %g. �Fifoer har ikke over- og underenhedsnumre.�Grænse for filstørrelse overskredet�Filer oprettes i u+rw-tilstand, og kataloger med u+rw minus umask-begrænsninger. �Filsystem�Flydende komma-undtagelse�Den fuldstændige dokumentation fÃ¥s ved at køre: info coreutils '%s invocation' �Skriv en linje til standard-ud for hvert par af ind-linjer med ens flettefelt. Det forvalgte flettefelt er det første felt, begrænset af blanktegn. Hvis FIL1 eller FIL2 (ikke begge) er -, læses fra standard-ind. -a FILNR udskriv ogsÃ¥ linjer som ikke kan parinddeles fra fil FILNR, hvor FILNR er 1 eller 2 svarende til FIL1 eller FIL2 -e TOM erstat manglende ind-felter med TOM �Gem ændrede blokke til disk, opdatér superblokken. �Generel hjælp til GNU-programmel: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O mulig�INAKTIV�IFri�IBrug%�IBrugt�Ian Lance Taylor�Inaktiv�Hvis FIL ikke er angivet, bruges %s. %s som FIL er almindeligt. �Illegal instruktion�Derudover kan sikkerhedskopier af filsystemer og eksterne spejlinger indeholde kopier af filen, som ikke kan fjernes, og som vil tillade senere genskabelse af en makuleret fil. �I virkeligheden: �For ext3-filsystemer gælder ovenstÃ¥ende kun i 'data=journal'-tilstand (og shred er derfor af begrænset nytte), hvilket journaliserer fildata ud over blot metadata. I begge tilstandende, data=ordered (standard) og data=writeback, vil shred fungere som normalt. Ext3-journaliseringstilstande kan ændres ved at tilføje flaget data=noget til monteringsflagene for et givet filsystem i filen /etc/fstab, som dokumenteret i man-siden for mount (man mount). �Uendelig�Uendelig B�Informationsforespørgsel�Inoder�Afbrydningssignal�Afbrudt af signal�Ugyldig baglæns reference�Ugyldigt navn pÃ¥ tegnklasse�Ugyldigt kollationeringstegn�Ugyldigt indhold af \{\}�Ugyldigt forudgÃ¥ende regulært udtryk�Ugyldigt intervalendepunkt�Ugyldigt regulært udtryk�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Dræbt�LINJE�LOGIN�Login�Login-navn: �Mark Kettenis�Matthew Bradburn�Fejl ved hukommelsesallokering�Hukommelsen opbrugt�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Monteret pÃ¥�NAVN�Navn�Navn eller tjeneste ukendt�Ingen adresse associeret med værtsnavn�Ingen træffer�Intet foregÃ¥ende regulært udtryk�Uoverkommelig fejl ved navneopløsning�O.k.�Kun én streng kan angives, nÃ¥r der slettes uden sammenklemning af gentagelser.�Sorteringsflag: �Andre flag: �Udskriv kommandoer for at sætte miljøvariablen LS_COLORS. Bestem ud-format: -b, --sh, --bourne-shell udskriv Bourne shell-kode for at sætte LS_COLORS -c, --csh, --c-shell udskriv C skal-kode for at sætte LS_COLORS -p, --print-database udskriv den interne database �Udskriv NAVN med alt fra sidste skrÃ¥streg fjernet; Hvis NAVN ikke indeholder nogen skrÃ¥streger, sÃ¥ udskriv '.' (for nuværende katalog). �Udskriv platformsafhængige grænser i et format, der er nyttigt til skalscript. �Udskriv hvem som for øjeblikket er logget ind ifølge FIL. Hvis FIL ikke er angivet bruges %s. %s som FIL er almindeligt. �PID�Pakket af %s �Pakket af %s (%s) �Padraig Brady�Parameterstreng er ikke korrekt kodet�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Fejl pÃ¥ strømkilde�Uventet afslutning af regulært udtryk�Udskriv ARGUMENTer ifølge FORMAT, eller eksekvér ifølge FLAG: �Udskriv CRC-kontrolsum og byteantal for hver FIL. �Udskriv visse systeminformationer. Hvis ingen FLAG blev angivet, bruges -s. -a, --all udskriv al information i følgende rækkefølge, dog udelades -p og -i hvis ukendte: -s, --kernel-name udskriv kernens navn -n, --nodename udskriv maskinens værtsnavn pÃ¥ netværket -r, --kernel-release udskriv kernens udgave �Udskriv kontrolsum og blokantal for hver FIL. -r brug BSD-sumalgoritme, brug 1K-blokke -s, --sysv brug System V-sumalgoritme, brug 512 byte-blokke �Udskriv gruppemedlemsskaber for hvert BRUGERNAVN eller, hvis intet BRUGERNAVN er angivet, for den aktuelle proces (som kan være forskellige hvis gruppens database er ændret). �Udskriv information om brugere som er logget ind lige nu. �Udskriv maskinarkitektur. �Udskriv antal linjeskift, ord og byte for hver FIL, samt en linje med summerne heraf, hvis mere end én FIL er angivet. Uden FIL, eller hvis FIL er -, læses standard-ind. Et ord er en følge af tegn af længde større end nul, adskilt af blanke tegn. Flagene herunder kan bruges til at vælge hvilke tal der udskrives - altid i denne rækkefølge: linjer, ord, tegn, byte, maksimal linjelænge. -c, --bytes udskriv antal byte -m, --chars udskriv antal tegn -l, --lines udskriv antal linjeskift �Udskriv den aktuelle tid, hvor længe systemet har været oppe, antal brugere pÃ¥ systemet, og det gennemsnitlige antal opgaver i kørselskøen for de seneste 1, 5 og 15 minutter.�Udskriv filnavnet for terminalen som er koblet til standard-ind. -s, --silent, --quiet udskriv ikke noget, returnér kun en afslutningsstatus �Udskriv hele filnavnet pÃ¥ det aktuelle arbejdskatalog. �Udskriv navnet pÃ¥ den nuværende bruger. �Udskriv antallet af processorenheder, der er tilgængelige for den aktuelle proces, hvilket kan være mindre end antallet af aktive processorer �Udskriv primfaktorerne til alle angivne heltal TAL. Hvis ingen argumenter er angivet pÃ¥ kommandolinjen, læses de fra standard-ind. �Bestem og udskriv det absolutte filnavn; alle pÃ¥ nær sidste komponent skal eksistere �Udskriv brugernavnet tilknyttet den nuværende effektive bruger-ID. Samme som id -un. �Udskriv bruger- og gruppeinformation for det angivne BRUGERNAVN, eller den nuværende bruger, hvis BRUGERNAVN er udeladt. -a ignoreres, for kompatibilitet med andre versioner -Z, --context udskriv kun sikkerhedskontekst for den nuværende bruger -g, --group udskriv kun det effektive gruppe-ID -G, --groups udskriv alle gruppe-ID'er -n, --name udskriv et navn i stedet for et nummer, for -ugG -r, --real udskriv virkeligt ID i stedet for effektivt, for -ugG -u, --user udskriv kun det effektive bruger-ID �Udskriv værdien af en symbolsk lænke eller et kanonisk filnavn �Forespørgsel under behandling�Profileringsstopur udløbet�Projekt: �Q. Frank Xia�Afslut�Randy Smith�Realtids signal %d�Regulært udtryk er for stort�Fjern (aflænk) FILerne. -f, --force ignorér filer og argumenter, der ikke findes; spørg aldrig -i spørg før hver sletning �Slet KATALOGer, hvis de er tomme. --ignore-fail-on-non-empty ignorér alle fejl som udelukkende skyldes at kataloget ikke er tomt �Skriv gentagne gange en linje med alle specificerede STRENGe, eller 'y' �Rapportér %s-fejl til %s �Rapportér oversættelsesfejl i %s til <dansk@dansk-gruppen.dk> �Forespørgsel annulleret�Forespørgsel ikke annulleret�Ressource tabt�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Kør KOMMANDO med rod-kataloget sat til NYROD. �Kør KOMMANDO og ignorér hangup-signaler. �Russell Coker�Scott Bartram�Scott Miller�Lagersegmentfejl�Servname understøttes ikke for ai_socktype�Sæt LC_ALL='C' for at omgÃ¥ problemet.�Skal: �Simon Josefsson�Størr�Specialfiler kræver over- og underenhedsnummer.�Stakfejl�Stoppet�Stoppet (signal)�Stoppet (tty-inddata)�Stoppet (tty-uddata)�Stuart Kemp�Success�Systemfejl�TID�Midlertidig fejl under navneopløsning�Termineret�Følgende valgfri flag kan følge '%': - (bindestreg) udfyld ikke feltet _ (understreg) udfyld med blanktegn 0 (nul) udfyld med nuller ^ brug store bogstaver hvis muligt # brug store/smÃ¥ bogstaver omvendt, hvis muligt �De sammenlignede strenge var %s og %s.�Torbjørn Granlund�Trace/breakpoint-fælde�Afsluttende omvendt skrÃ¥streg�Transskribér, sammenklem og/eller fjern tegn fra standard-ind, og skriv til standard-ud. -c, -C, --complement brug komplement af MÆNGDE1 -d, --delete slet tegn i MÆNGDE1, transskribér ikke -s, --squeeze-repeats erstat hver række af gentagne inddatategn som er anført i MÆNGDE1 med et enkelt af dette tegn -t, --truncate-set1 afkort først MÆNGDE1 til længden af MÆNGDE2 �Prøv '%s --help' for mere information. �Prøv '%s ./%s' for at fjerne filen %s. �To strenge skal være givet ved bÃ¥de sletning og sammenklemning af gentagelser.�To strenge skal være givet ved transskription.�Type�Ulrich Drepper�Ukendt fejl�Ukendt signal %d�Ukendt systemfejl�Uparret ( eller \(�Uparret ) eller \)�Uparret [ eller [^�Uparret \{�I/O-hastesag�Brug: %s �Brug: %s KOMMANDO [ARG]... eller: %s FLAG �Brug: %s KONTEKST KOMMANDO [argr] eller: %s [ -c ] [-u BRUGER] [-r ROLLE] [-t TYPE] [-l INTERV] KOMMANDO [argr] �Brug: %s UDTRYK eller: %s FLAG �Brug: %s FIL eller: %s FLAG �Brug: %s FIL1 FIL2 eller: %s FLAG �Brug: %s FORMAT [ARGUMENT]... eller: %s FLAG �Brug: %s NAVN [SUFFIKS] eller: %s FLAG... NAVN... �Brug: %s ANTAL[SUFFIKS]... eller: %s FLAG Sov i ANTAL sekunder. SUFFIKS kan være 's' for at angive sekunder (forvalgt), 'm' for minutter, 'h' for timer (hours) og 'd' for dage. I modsætning til de fleste implementationer, som kræver at ANTAL er et heltal, kan ANTAL her være et vilkÃ¥rligt flydende tal. Givet to eller flere argumenter, soves i tidsrummet givet ved værdiernes sum. �Brug: %s FLAG... KOMMANDO �Brug: %s FLAG... FIL... �Brug: %s FLAG... [FIL]... �Brug: %s [-F ENHED | --file=ENHED] [INDSTILLING]... eller: %s [-F ENHED | --file=ENHED] [-a|--all] eller: %s [-F ENHED | --file=ENHED] [-g|--save] �Brug: %s [-BREDDE] [FLAG]... [FIL]... �Brug: %s [-s SIGNAL | -SIGNAL] PID... eller: %s -l [SIGNAL]... eller: %s -t [SIGNAL]... �Brug: %s [FIL]... eller: %s [FLAG] �Brug: %s [NAVN] eller: %s FLAG Udskriv eller indstil værtsnavnet for dette system. �Brug: %s [TAL]... eller: %s FLAG �Brug: %s [OPERAND]... eller: %s FLAG �Brug: %s [FLAG] �Brug: %s [FLAG] Udskriv den numeriske identifikator (heksadecimalt) for denne vært. �Brug: %s [FLAG] VARIGHED KOMMANDO [ARG]... eller: %s [FLAG] �Brug: %s [FLAG] NAVN... �Brug: %s [FLAG] NYROD [KOMMANDO [ARG]...] eller: %s FLAG �Brug: %s [FLAG]... [KOMMANDO [ARG]...] �Brug: %s [FLAG] [FIL] Skriv en fuldstændig sorteret liste konsistent med den delvise sortering i FIL. Hvis ingen FIL eller hvis FIL er -, læses fra standard-ind. �Brug: %s [FLAG]... �Brug: %s [FLAG]... KONTEKSTFIL... eller: %s [FLAG]... [-u BRUGER] [-r ROLLE] [-l INTERVAL] [-t TYPE] FIL... eller: %s [FLAG]... --reference=RFIL FIL... �Brug: %s [FLAG]... KATALOG... �Brug: %s [FLAG]... FIL MØNSTER... �Brug: %s [FLAG]... [FIL]... �Brug: %s [FLAG]... FIL1 FIL2 �Brug: %s [FLAG]... GRUPPE FIL... eller: %s [FLAG]... --reference=RFIL FIL... �Brug: %s [FLAG]... SIDSTE eller: %s [FLAG]... FØRSTE SIDSTE eller: %s [FLAG]... FØRSTE FORØGELSE SIDSTE �Brug: %s [FLAG]... TILSTAND[,TILSTAND]... FIL... eller: %s [FLAG]... OKTAL-TILSTAND FIL... eller: %s [FLAG]... --reference=RFIL FIL... �Brug: %s [FLAG]... NAVN TYPE [OVERNR UNDERNR] �Brug: %s [FLAG]... NAVN... �Brug: %s [OPTION]... MÆNGDE1 [MÆNGDE2] �Brug: %s [FLAG]... [ FIL | ARG1 ARG2 ] �Brug: %s [FLAG]... [+FORMAT] eller: %s [FLAG] [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Brug: %s [FLAG]... [-T] KILDE MÃ…L eller: %s [FLAG]... KILDE... KATALOG eller: %s [FLAG]... -t KATALOG KILDE... �Brug: %s [FLAG]... [-T] KILDE MÃ…L eller: %s [FLAG]... KILDE... KATALOG eller: %s [FLAG]... -t KATALOG KILDE... eller: %s [FLAG]... -d KATALOG... �Brug: %s [FLAG]... [-T] KILDE LÆNKENAVN (1. form) eller: %s [FLAG]... MÃ…L (2. form) eller: %s [FLAG]... MÃ…L... KATALOG (3. form) eller: %s [FLAG]... -t KATALOG MÃ…L... (4. form) �Brug: %s [FLAG]... [-] [NAVN=VÆRDI]... [KOMMANDO [ARG]...] �Brug: %s [FLAG]... [FIL] �Brug: %s [FLAG]... [FIL] eller: %s -e [FLAG]... [ARG] eller: %s -i LAV-HØJ [FLAG]... �Brug: %s [FLAG]... [FIL]... �Brug: %s [FLAG]... [FIL]... eller: %s [-abcdfilosx]... [FIL] [[+]AFSÆT[.][b]] eller: %s --traditional [FLAG]... [FIL] [[+]AFSÆT[.][b] [+][MÆRKE][.][b]] �Brug: %s [FLAG]... [FIL]... eller: %s [FLAG]... --files0-from=F �Brug: %s [FLAG]... [FIL]... Udskriv eller tjek %s-kontrolsummer (%d-bit). Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind. �Brug: %s [FLAG]... [INDDATA [UDDATA]] �Brug: %s [FLAG]... [INDDATA [PRÆFIKS]] �Brug: %s [FLAG]... [INDDATA]... (uden -G) eller: %s -G [FLAG]... [INDDATA [UDDATA]] �Brug: %s [FLAG]... [EJER][:[GRUPPE]] FIL... eller: %s [FLAG]... --reference=RFIL FIL... �Brug: %s [FLAG]... [SKABELON] �Brug: %s [FLAG]... [BRUGERNAVN] �Brug: %s [FLAG]... [BRUGERNAVN]... �Brug: %s [FLAG]... [BRUGER]... �Brug: %s [FLAG]... [VARIABEL]... Udskriv værdierne af den eller de angivne miljøvariable VARIABEL. Hvis ingen VARIABEL angives, sÃ¥ udskriv par af navne og værdier for dem alle. �Brug: %s [KORT-FLAG]... BRUGER KOMMANDO [ARGUMENT]... eller: %s LANGT-FLAG �Brug: %s [KORT-FLAG]... [STRENG]... eller: %s LANGT-FLAG �Brug: %s [STRENG]... eller: %s FLAG �Brug: %s [kommandolinjeargumenter ignoreres] eller: %s FLAG �Brug: test UDTRYK eller: test eller: [ UDTRYK ] eller: [ ] eller: [ FLAG �Brug%�Brugt�Brugerdefineret signal 1�Brugerdefineret signal 2�Gyldige argumenter er:�Gyldige argumenter er: �Gyldige formatsekvenser for filsystemer: %a frie blokke tilgængelige for ikke-superbruger %b samlet antal datablokke i filsystem %c samlet antal filnoder i filsystem %d frie filnoder i filsystem %f frie blokke i filsystem �Virtuelt stopur udløbet�ADVARSEL: Cirkulær katalogstruktur. Dette betyder næsten helt sikkert at du har et ødelagt filsystem. RAPPORTÉR TIL SYSTEMANSVARLIG. Følgende katalog udgør en del af cirklen: %s �ADVARSEL: ignorerer --context (-Z); denne kerne understøtter ikke SELinux�ADVARSEL: ignorerer --preserve-context; denne kerne understøtter ikke SELinux�ADVARSEL: ignorerer flaget --strip-program, da flaget -s ikke blev angivet�Advarsel: �HvornÃ¥r�Hvor�Vindue ændredes�Med --follow (-f) vil tail som standard følge fildeskriptoren. Dette betyder at en fil omdøbes nÃ¥r den følges af tail, sÃ¥ vil tail fortsat udskrive ved filens afslutning. Denne opførsel er ikke ønskværdig, nÃ¥r du virkelig ønsker at følge det faktiske navn pÃ¥ filen og ikke fildeskriptoren (f.eks. ved logrotation). Brug --follow=name i dette tilfælde. Dette fÃ¥r 'tail' til at følge den angivne fil pÃ¥ en mÃ¥de, der tillader omdøbning, sletning og oprettelse. �Skrevet af %s og %s. �Skrevet af %s, %s, %s, %s, %s, %s, %s, %s, %s, og andre. �Skrevet af %s, %s, %s, %s, %s, %s, %s, %s, og %s. �Skrevet af %s, %s, %s, %s, %s, %s, %s, og %s. �Skrevet af %s, %s, %s, %s, %s, %s, og %s. �Skrevet af %s, %s, %s, %s, %s, og %s. �Skrevet af %s, %s, %s, %s, og %s. �Skrevet af %s, %s, %s, og %s. �Skrevet af %s, %s, og %s. �Skrevet af %s. �[=c=]-udtryk kan ikke optræde i streng2 under transkription�^ ingen træffer for nøgle �^[nN]�^[YyJj]�_open_osfhandle mislykkedes�'�en kommando skal være givet med en justering�ai_family understøttes ikke�ai_socktype understøttes ikke�flertydigt argument %s til %s�et inddataskilletegn kan kun specificeres ved arbejde pÃ¥ felter�føjer uddata til %s�sikkerhedskopi af %s vil overskrive kildefil; %s er ikke kopieret�sikkerhedskopi af %s vil overskrive kildefil; %s er ikke flyttet�type af sikkerhedskopi�blokspecialfil�blokspecialfiler understøttes ikke�blokke�begge filer kan ikke være standard-ind�byte-startpunktet %s er for stort�kan ikke anvende delvis kontekst til umærket fil %s�kan ikke hente proceskontekst�kan ikke tilgÃ¥ %s�kan ikke sikkerhedskopiere %s�kan ikke bÃ¥de summere og vise alle størrelser�kan ikke ændre ejerskab for %s�kan ikke ændre adgangsrettigheder pÃ¥ %s�kan ikke ændre rod-kataloget til %s�kan ikke gÃ¥ til kataloget %s�kan ikke ændre til rod-katalog�kan ikke kombinere --target-directory (-t) og --no-target-directory (-T)�kan ikke kombinere --target-directory og --no-target-directory�kan ikke kombinere flagene -e og -i�kan ikke kombinere nogen af {ascii,ebcdic,ibm}�kan ikke kombinere block og unblock�kan ikke kombinere direct og nocache�kan ikke kombinere excl og nocreat�kan ikke kombinere lcase og ucase�kan ikke kombinere tilstandsangivelse med flaget --reference�kan ikke kombinere signal med -l eller -t�kan ikke sammenligne filnavnene %s og %s�kan ikke konvertere U+%04X til lokalt tegnsæt�kan ikke konvertere U+%04X til lokalt tegnsæt: %s�kan ikke kopiere et katalog, %s, ind i sig selv, %s�kan ikke kopiere cyklisk symbolsk lænke %s�kan ikke oprette katalog %s�kan ikke oprette fifo %s�kan ikke oprette hÃ¥rd lænke %s til %s�kan ikke oprette lænke %s til %s�kan ikke oprette datakanal�kan ikke oprette almindelig fil %s�kan ikke oprette specialfil %s�kan ikke oprette symbolsk lænke %s�kan ikke oprette symbolsk lænke %s til %s�kan ikke oprette midlertidig fil i %s�kan ikke dereferere %s�kan ikke bestemme enhed og inode for %s�kan ikke bestemme værtsnavnet�kan ikke bestemme placeringen af %s. bruger i stedet gentagne forespørgsler�kan ikke bruge --relative uden --symbolic�kan ikke udføre ioctl pÃ¥ %s�kan ikke finde navn for gruppe-ID %lu�kan ikke finde navn for bruger-id %s�kan ikke følge %s ved navn�kan ikke tvinge mÃ¥lkontekst til %s og bibeholde den�kan ikke udføre fstat() %s�kan ikke finde aktuelt katalog�kan ikke finde effektiv GID�kan ikke finde effektiv UID�kan ikke hente prioritet�kan ikke finde reel GID�kan ikke finde reel UID�kan ikke finde ud af systemnavnet�kan ikke bestemme størrelsen af %s�kan ikke udføre lseek() %s�kan ikke lave bÃ¥de hÃ¥rde og symbolske lænker�kan ikke oprette katalog %s�kan ikke flytte %s til %s�kan ikke flytte %s til et underkatalog af sig selv, %s�kan ikke flytte katalog til ikke-katalog: %s -> %s�kan ikke Ã¥bne %s til læsning�kan ikke Ã¥bne %s til skrivning�kan ikke Ã¥bne katalog %s�kan ikke operere pÃ¥ dinglende symlænke %s�kan ikke overskrive katalog %s med ikke-katalog�kan ikke overskrive ikke-katalog %s med katalog %s�kan ikke udføre formateret udskrift�kan ikke beholde udvidede attributer, cp er kompileret uden xattr-understøttelse�kan ikke beholde sikkerhedskontekst uden en kerne, der understøtter SELinux�kan ikke udskrive "kun" for mere en ét valg�kan ikke udskrive kun navn eller virkelige ID'er i forvalgt format�kan ikke udskrive sikkerhedskontekst nÃ¥r denne er angivet af bruger�kan ikke læse�kan ikke læse katalog %s�kan ikke læse filnavne fra %s�kan ikke læse information om filsystem for %s�kan ikke læse realtids-ur�kan ikke læse symbolsk lænke %s�kan ikke læse tabellen over monterede filsystemer�kan ikke fjerne %s�kan ikke fjerne katalog: %s�kan ikke flytte filpegeren for %s�kan ikke gendanne fd %d: dup2 mislykkedes�kan ikke køre %s�kan ikke sætte %s�kan ikke sætte dato�kan ikke sætte gruppe-ID til %lu�kan ikke sætte værtsnavnet; dette system mangler funktionaliteten�kan ikke sætte navnet til %s�kan ikke sætte prioritet�kan ikke sætte tidsstempler for %s�kan ikke sætte bruger-ID til %lu�kan ikke springe forbi afslutning af kombineret inddata�kan ikke angive --null (-0) med kommando�kan ikke angive bÃ¥de skrivning pÃ¥ tværs og parallel skrivning�kan ikke angive antal kolonner nÃ¥r der skrives parallelt�kan ikke angive tidspunkter fra mere end én kilde�kan ikke opdele pÃ¥ mere end én mÃ¥de�kan ikke udføre stat() pÃ¥ %s�kan ikke anvende stat pÃ¥ nuværende katalog (nu %s)�kan ikke køre stat pÃ¥ standard-ind�kan ikke røre %s�kan ikke fjerne sikkerhedskopi af %s�kan ikke aflænke %s�kan ikke fjerne miljøvariabel %s�kan ikke overvÃ¥ge %s�kan ikke overvÃ¥ge ophavskataloget for %s�kan ikke arbejde omkring kernefejl alligevel�ændrede gruppe for %s fra %s til %s �ændrede ejerskab for %s fra %s til %s �ændrer gruppe for %s�ændrer ejerskab for %s�ændrer rettigheder pÃ¥ %s�ændrer sikkerhedskontekst for %s �tegnafsæt er nul�tegn uden for omrÃ¥de�tegnspecialfil�tegnspecialfiler understøttes ikke�rydder rettigheder for %s�tidsændring�fejl ved lukning�lukker %s (fd=%d)�lukker kataloget %s�lukker indfil %s�lukker inddatakanal�lukker uddatafil %s�lukker uddatakanal�lukker tidligere datakanal�lukker standard-ind�kompatibilitetstilstand understøtter højst én fil�modstridende erstatningsstrenge for tomme felter�der er givet modstridende specifikationer for sikkerhedskontekst�kunne ikke indstille buffertilstand for %s til %s �kunne ikke oprette proces for %s -d�kunne ikke oprette midlertidig fil�kunne ikke eksekvere %s�kunne ikke eksekvere %s -d�kunne ikke finde katalogpost i %s med tilsvarende i-node�kunne ikke finde ud af boot-tid�oprettede katalog %s�opretter katalog %s�opretter filen %s �skilletegnslisten slutter med en uundviget omvendt skrÃ¥streg: %s�katalog�deling med nul�fejl ved dup2�tom %s er ikke tilladt�tomt filnavn�tom tabulator�fejl ved lukning af fil�fejl i regulært udtryksmatcher�fejl i søgning med regulært udtryk�fejl ved klargørelse af mÃ¥nedsstrenge�fejl ved overvÃ¥gning af inotify-hændelse�fejl ved læsning af %s�fejl ved læsning af inotify-hændelse�fejl under ventning pÃ¥ kommando�fejl ved skrivning af %s�kører med FILE=%s �afslut=�ekstra argument %s�ekstra operand %s�ekstra operand %s er ikke tilladt med -%c�kunne ikke normalisere %s�kunne ikke ændre kontekst for %s til %s�kunne ikke ændre gruppe for %s fra %s til %s �kunne ikke ændre gruppe for %s til %s �kunne ikke ændre tilstand for %s fra %04lo (%s) til %04lo (%s) �kunne ikke ændre ejerskab for %s �kunne ikke ændre ejerskab for %s fra %s til %s �kunne ikke ændre ejerskab for %s til %s �kunne ikke foretage chdir til %s�kunne ikke klone %s fra %s�kunne ikke lukke inddatakanal�kunne ikke udregne en ny kontekst�kunne ikke oprette katalog ved hjælp af skabelon %s�kunne ikke oprette fil via skabelonen %s�kunne ikke oprette hÃ¥rd lænke %s�kunne ikke oprette hÃ¥rd lænke %s => %s�kunne ikke oprette hÃ¥rd lænke til %.0s%s�kunne ikke oprette datakanal�kunne ikke oprette sikkerhedskontekst: %s�kunne ikke oprette symbolsk lænke %s�kunne ikke oprette symbolsk lænke %s -> %s�kunne ikke oprette midlertidig fil i %s�kunne ikke fjerne cache for: %s�kunne ikke udvide %s�kunne ikke finde %s�kunne ikke hente attributter for %s�kunne ikke hente den aktuelle kontekst�kunne ikke hente filsystemets oprettelseskontekst�kunne ikke hente grupper for den aktuelle proces�kunne ikke hente grupper for brugeren %s�kunne ikke hente sikkerhedskontekst for %s�kunne ikke slÃ¥ filen %s op�kunne ikke Ã¥bne %s�kunne ikke Ã¥bne %s til læsning�kunne ikke Ã¥bne %s til skrivning�kunne ikke bevare forfatter af %s�kunne ikke bevare ejerskab for %s�kan ikke beholde adgangsrettigheder pÃ¥ %s�kunne ikke beholde tider for %s�kunne ikke omdirigere standard-fejl�kunne ikke omdirigere stderr til /dev/null�kunne ikke fjerne %s�kunne ikke fjerne katalog %s�kunne ikke ubrugeliggøre standard-ind�kunne ikke genÃ¥bne %s i tilstand %s�kunne ikke genskabe standardkontekst for filoprettelse�kunne ikke vendte tilbage til begyndelsesarbejdskatalog�kunne ikke spole strøm tilbage for %s�kunne ikke køre kommandoen %s�kunne ikke køre kommandoen: "%s -c %s"�kunne ikke sætte %s-sikkerhedskontekstkomponent til %s�kunne ikke sætte miljøvariablen FILE�kunne ikke sætte yderligere grupper�kunne ikke sætte standardkontekst for filoprettelse til %s�kunne ikke sætte gruppe-ID�kunne ikke sætte nyt interval %s�kunne ikke sætte ny rolle %s�kunne ikke sætte ny type %s�kunne ikke sætte ny bruger %s�kunne ikke sætte supplerende grupper�kunne ikke sætte kopien af stderr til at lukke ved exec�kunne ikke sætte sikkerhedskonteksten for %s til %s�kunne ikke sætte bruger-ID�kunne ikke foretage stat pÃ¥ %s�kunne ikke slÃ¥ O_DIRECT fra: %s�kunne ikke opdatere miljøet med %s�fdatasync mislykkedes for %s�fejl ved fflush�felt nummer %s er for stort�felt-nummeret er nul�felter og positioner nummereres fra 1�fifo�filen %d er ikke sorteret�filoperander kan ikke kombineres med --files0-from�filoperander kan ikke kombineres med --print-database (-p)�filsystem af typen %s er bÃ¥de valgt og udeladt�systemkaldet fork mislykkedes�formatet %s slutter med %%�formatet %s har intet %%-direktiv�formatet %s har for mange %%-direktiver�formatet %s har et ukendt %%%c-direktiv�formatstrengen kan ikke angives nÃ¥r der udskrives strenge med ens bredde�fsync mislykkedes for %s�fts_close mislykkedes�fts_read mislykkedes�fts_read mislykkedes: %s�genererer relativ sti�henter nye attributter for %s�gruppe for %s beholdt som %s �iconv-funktion ikke til stede�iconv-funktion ikke brugelig�id=�ignorerer alle argumenter�ignorerer inddata�ignorerer inddata og føjer uddata til %s�ignorerer inddata og omdirigerer stderr til stdout�ignorerer ugyldig tabulatorstørrelse i miljøvariabelen TABSIZE: %s�ignorerer ugyldig værdi af miljøvariabelen QUOTING_STYLE: %s�ignorerer ugyldig længde i miljøvariabelen COLUMNS: %s�ignorerer argumenter som ikke er flag�inkompatible join-felter %lu, %lu�inkompatible tabulatorer�inotify kan ikke bruges, bruger i stedet gentagne forespørgsler�inotify-ressourcer opbrugt�inddata forsvandt�ind-linjen er for lang�flytning mellem enheder mislykkedes: %s til %s; kan ikke fjerne mÃ¥let�ugyldigt %s%s-argument '%s'�ugyldigt argument %2$s til --%1$s�ugyldig justering %s�ugyldigt argument %s�ugyldigt argument %s til %s�ugyldig nummereringsstil til brødtekst: %s�ugyldigt buffertilstand %s til %s �ugyldigt tegn '%c' i typestrengen %s�ugyldig tegnklasse %s�ugyldig kontekst: %s�ugyldig konvertering�ugyldig konverteringsspecifikator i suffiks: %c�ugyldig konverteringsspecifikator i suffiks: \%.3o�ugyldig dato %s�ugyldigt datoformat %s�ugyldigt aftagende interval�ugyldig enhed %s %s�ugyldig enhedstype %s�ugyldigt feltnummer: %s�ugyldig specifikation af felt: %s�ugyldig feltlængde: %s�ugyldigt filnummer i feltspec: %s�ugyldige flag i konverteringsspecifikation: %%%c%c�ugyldigt flydende tal-argument: %s�ugyldig nummereringsstil til sidefod: %s�ugyldig hulbredde: %s�ugyldig gruppe�ugyldig gruppe %s�ugyldig gruppeliste %s�ugyldig gruppe: %s�ugyldig nummereringsstil til sidehoveder: %s�ugyldig inddata�ugyldigt ind-flag�ugyldigt talomrÃ¥de %s angivet�ugyldigt heltal %s�ugyldig heltalsargument %s�ugyldigt linjetal %s�ugyldig linjedisciplin %s�ugyldig bredde pÃ¥ linjenummerfelt: %s�ugyldig øgning af linjenummer: %s�ugyldigt linjenummerformat: %s�ugyldig linjelængde: %s�ugyldigt overenhedsnummer %s�ugyldig største dybde %s�ugyldigt underenhedsnummer %s�ugyldig tilstand�ugyldig tilstand %s�ugyldig tilstand: %s�ugyldigt antal %s�ugyldigt tal efter ','�ugyldigt tal efter '-'�ugyldigt tal efter '.'�ugyldigt tal ved feltbegyndelsen�ugyldigt antal tomme linjer: %s�ugyldigt antal byte�ugyldigt antal byte at sammenligne�ugyldigt antal byte at hoppe over�ugyldigt antal kolonner: %s�ugyldigt antal felter at hoppe over�ugyldigt antal linjer�ugyldigt flag - %c�ugyldigt flag -- %c; -BREDDE genkendes kun nÃ¥r det er første flag; brug -w N i stedet�ugyldig ud-adresse-grundtal '%c'; det skal være et af tegnene [doxn]�ugyldigt ud-flag�ugyldigt sideinterval %s�ugyldig præcision: %s�ugyldigt interval uden slutpunkt: -�ugyldigt gentagelsestal %s i [c*n]-konstruktion�ugyldig spec�ugyldigt første linjenummer: %s�ugyldigt statusflag�ugyldig skabelon %s, indeholder katalogseparator�ugyldigt suffiks i %s%s-argument '%s'�ugyldig tabulatorstørrelse %s�ugyldig skabelon, %s, indeholder katalogseparator�ugyldig skabelon, %s; mÃ¥ ikke være absolut med --tmpdir�ugyldigt tidsinterval %s�ugyldig tidsstilsformat %s�ugyldigt afsluttende flag -- %c�ugyldig typestreng %s�ugyldig type-streng %s; dette system understøtter ikke en %lu-byte flydende-taltype�ugyldig type-streng %s; dette system understøtter ikke en %lu-byte heltalstype�ugyldigt universelt tegnnavn \%c%0*x�ugyldig bruger�ugyldig bruger %s�ugyldig bredde: %s�ugyldig ombrydningsstørrelse: %s�ugyldigt filnavn af længde nul�det er farligt at operere rekursivt pÃ¥ %s�det er farligt at operere rekursivt pÃ¥ %s (samme som %s)�nøglen %lu har bredden nul og vil blive ignoreret�nøglen %lu er numerisk og spænder over flere felter�sidste=�indledende '-' i filnavnskomponenten %s�indledende blanke tegn er betydningsbærende i nøglen %lu; overvej ogsÃ¥ at give 'b'�grænsen %lu overgÃ¥s af længden %lu af filnavnet %s�grænsen %lu overgÃ¥s af længden %lu af filnavnskomponenten %s�linjebufring af stdin er meningsløst�linjetalflaget -%s%c... er for stort�linjenummer %s er mindre end foregÃ¥ende linjenummer, %s�overløb for linjetal�det lange tilvalg '--megabytes' er forældet og vil snart blive fjernet�største argument til --%s med nuværende rlimit er %s�hukommelsen opbrugt�hukommelsen blev opbrugt af inddatabuffer af størrelse %zu byte (%s)�hukommelsen blev opbrugt af uddatabuffer af størrelse %zu byte (%s)�meddelelseskø�mindste argument til --%s er %s�fejlplaceret [:upper:]- og/eller [:lower:]-konstruktion�manglende %%-konverteringsspecifikation i suffiks�manglende ']'�manglende argument efter %s�manglende argument til %s�mangler navn pÃ¥ tegnklasse '[::]'�manglende konverteringsspecifikator i suffiks�manglende mÃ¥lfilsoperand efter %s�mangler tegn for ækvivalensklasse '[==]'�manglende filoperand�manglende heksadecimal-tal i beskyttet tegnsekvens�feltliste mangler�positionsliste mangler�manglende operand�manglende operand efter %s�tilstand mÃ¥ kun angive bit for filrettigheder�tilstand for %s ændret fra %04lu (%s) til %04lo (%s) �tilstand for %s beholdt som %04lo (%s) �flytter inddatakanal�flertegns-tabulator %s�flere -i-flag angivet�flere -l eller -t-flag angivet�flere compress-programmer angivet�flere skilletegn angivet�flere niveauintervaller�flere udfiler angivet�flere udskriftsformater angivet�der er angivet flere kilder til tilfældige tal�flere relative modifikatorer angivet�flere roller�flere mÃ¥lkataloger angivet�flere typer�flere brugere�hverken symbolsk lænke %s eller referent er blevet ændret �ingen SHELL-miljøvariabel, og ingen skal-type angivet med flag�ingen ændring af ejerskab for %s �ingen kommando angivet�ingen filsystemer behandlet�ingen filer tilbage�ingen inddata fra %s�ikke noget login-navn�ingen proces-ID angivet�ingen type kan angives nÃ¥r strenge gemmes�intet brugernavn angivet; mindst ét skal angives nÃ¥r -l bruges�ikke-heltalligt argument�uportabelt tegn %s i filnavnet %s�ikke en tty�skriver ikke gennem dinglende symlænke %s�tal i %s er for stort�paralleliseringstallet skal være forskelligt fra nul�antal byte�antal linjer�numerisk suffiksstartværdi er for stor til suffikslængden�forældet nøgle %s brugt; overvej i stedet %s�overløb for afsæt ved læsning af fil %s�udelader katalog %s�kun en [c*] gentagelseskonstruktion kan optræde i streng2�kun en enhed kan angives�kun én slags liste mÃ¥ bruges�fejl ved Ã¥bning�flaget '-%s' ignoreres�flagene '-%s' ignoreres�flaget '-r' gælder kun som sidste udvej for sammenligninger�flag brugt i ugyldig kontekst -- %c�flagene '-%s' er inkompatible�flagene --backup og --no-clobber kan ikke bruges samtidigt�flagene --compare (-C) og --preserve-timestamps kan ikke bruges samtidigt�flagene --compare (-C) og --strip kan ikke bruges samtidigt�løbet tør for endelser til udfiler�overløb ved udvidelse af filstørrelse for %s�overløb ved oprunding af filstørrelse for %s�ejerskab for %s beholdt �ejer af %s beholdt som %s �overløb for sidetal�sidebredde for smal�beholder rettigheder for %s�beholder tider for %s�skrivning af alle duplikerede linjer *og* gentagelsesantal giver ikke mening�intervalgrænser for '%s-%s' er i omvendt sorteringsrækkefølge�læsefejl�læsefejl�læser katalog %s�blok er for stor�omdirigerer stderr til stdout�almindelig tom fil�almindelig fil�fjernede %s �fjernede katalog %s �fjerner katalog, %s�kørselsniveau�semafor�separatoren kan ikke være tom�sæt LC_ALL='C' for at omgÃ¥ problemet�sætter flag for %s�sætter adgangsrettigheder pÃ¥ %s�sætter tider for %s�delt hukommelsesobjekt�skip-bytes + read-bytes er for stor�springer %s over, da den er pÃ¥ en anden enhed�springer filen %s over, da den blev erstattet mens den blev kopieret�sokkel�standard-fejl�standard-ind�standard-ind er lukket�standard-ud�stat() mislykkedes�stderr�stdin�stdout�forvildet tegn i feltangivelse�strengsammenligning mislykkedes�strengtransformation mislykkedes�strip-proces afsluttede uplanmæssigt�fjernelse af linjer uden skilletegn giver kun mening hvis man opererer med felter�symbolsk lænke�syntaksfejl�systemstart�tabulatorstørrelse kan ikke være 0�tabulatorstørrelsen indeholder ugyldige tegn: %s�tabulatorstørrelser skal være stigende�tabulatorstop for stort %s�tabulatorstopværdien er for stor�tabulatorer er for vidt adskilt�mÃ¥let %s er ikke et katalog�mÃ¥lkatalog ikke tilladt ved installation af et katalog�term=�kontrollér og/eller [�flagene --binary og --text giver ikke mening ved verificering af kontrolsummer�flaget --compare (-C) ignoreres nÃ¥r du angiver en tilstand med ikke-adgangsrettighedsbit�flaget --quiet har kun betydning ved kontrol af kontrolsummer�flaget --status har kun betydning ved kontrol af kontrolsummer�flaget --strict har kun betydning ved kontrol af kontrolsummer�flaget --warn har kun betydning ved kontrol af kontrolsummer�[c*]-konstruktionen kan kun optræde i streng2 ved transkription�gentagelseskonstruktionen [c*] kan ikke optræde i streng1�argumentet %s mangler et indledende '+'; nÃ¥r man bruger et flag for at angive datoer, skal hvert argument, der ikke er flag, være en formatstreng som begynder med '+'�skilletegnet skal være et enkelt tegn�flagene for fyldig og stty-læsbar udskrift udelukker hinanden�flagene for at udskrive dircolors interne database og at vælge en skálsyntaks er gensidigt udelukkende�flagene for at udskrive og sætte tiden kan ikke bruges sammen�flagene for at angive datoer til udskriving kan ikke bruges sammen�de sammenlignede strenge var %s og %s�strip-flaget kan ikke bruges ved installation af et katalog�suffikslængden skal være mindst %zu�den utransformerede streng var %s�tidspunktet %s uden for omrÃ¥de�du skal yderligere angive -g hvis du vil anvende bruger-ID %s�for fÃ¥ X'er i skabelonen %s�for mange %%-konverteringsspecifikationer i suffiks�for mange tegn i mængde�for mange gentagne linjer�for mange skabeloner�totalt�gennemløb slog fejl: %s�typetildelt hukommelsesobjekt�uid=%s�kan ikke vise fejlmeddelelse�kan ikke registrere aktuelt arbejdskatalog�kunne ikke sætte sikkerhedskontekst %s�uventet fejl: fts_info=%d: %s rapportér venligst til %s�ukendt binær operator�ukendt status fra kommando (0x%X)�ukendt strøm�ukendt bruger-ID: %s�uforstÃ¥elig værdi i miljøvariabelen LS_COLORS�ukendt filsystemtype 0x%08lx for %s. rapportér venligst dette til %s. gÃ¥r over til gentagne forespørgsler�ukendt operand %s�ukendt præfiks: %s�oppe %ld dag %2d:%02d, �oppe %ld dage %2d:%02d, �oppe ???? dage ??:??, �brug --no-preserve-root for at tilsidesætte denne sikring�bruger sorteringsreglerne %s�brug af %s til at angive standard-ind fungerer ikke i filsystemtilstand�bruger simpel bytesammenligning�venter pÃ¥ %s [-d]�venter pÃ¥ underproces�venter pÃ¥ strip�advarsel: �advarsel: %s: tegn efter tegnkonstant er blevet ignorerede�advarsel: %s: kunne ikke ændre kontekst til %s�advarsel: 'touch %s' er forældet; brug 'touch -t %04ld%02d%02d%02d%02d.%02d'�advarsel: --pid=PID er ikke understøttet pÃ¥ dette system�advarsel: --retry er hovedsageligt brugbar ved følgning af navn�advarsel: PID ignoreret; --pid=PID er kun brugbart ved følgning�advarsel: uundveget omvendt skrÃ¥streg ved strengens afslutning er ikke portabel�advarsel: omvendt skrÃ¥streg ved slutningen af format�advarsel: kan ikke fjerne: %s�advarsel: deaktivering af kernedump mislykkedes�advarsel: det er ineffektivt at følge standard-ind pÃ¥ ubestemt tid�advarsel: ignorerer overflødige argumenter, startende med %s�advarsel: ugyldigt filafsæt efter fejlslagen læsning�advarsel: ugyldig bredde %lu; bruger %d i stedet�advarsel: linjenummer %s er det samme som foregÃ¥ende�advarsel: kildefil %s er angivet mere end én gang�advarsel: summering er i konflikt med --max-depth=%lu�advarsel: summering er det samme som at bruge --max-depth=0�advarsel: den flertydige oktal-undvigesekvens \%c%c%c bliver fortolket som 2-byte-sekvensen \0%c%c, %c�advarsel: timer_create�advarsel: timer_settime�advarsel: ukendt undvigesekvens '\%c'�advarsel: omgÃ¥r lseek-kernefejl for fil (%s) med mt_type=0x%0lx -- se <sys/mtio.h> for listen af typer�mærkværdig fil�nÃ¥r mængde1 ikke bliver forkortet, kan streng2 ikke være tom�nÃ¥r der læses filnavne fra stdin, mÃ¥ intet filnavn være %s�nÃ¥r en stil for uddata angives kan tilstande ikke sættes�nÃ¥r der transskriberes med komplementerede tegnklasser skal streng2 afbilde alle tegn i domænet til én�nÃ¥r der transskriberes med streng1 længere end streng2, mÃ¥ sidstnævnte streng ikke slutte med en tegnklasse�ved transkription er de eneste tegnklasser som kan være i streng2 'upper' og 'lower'�vil ikke kopiere %s gennem netop oprettet symlænke %s�vil ikke oprette hÃ¥rd lænke %s til katalog %s�vil ikke overskrive netop oprettet %s med %s�ved brug af --parents, skal mÃ¥let være et katalog�med --suffix, skal skabelon %s slutte med X�med FILE=%s, slutstatus %d fra kommando: %s�med FILE=%s, signal %s fra kommando: %s�skrivefejl�skrivefejl for %s�fejl ved skrivning�skriver til %s�du skal angive -c, -t, -u, -l, -r eller kontekst�du skal angive en liste af byte, tegn eller felter�du skal angive en relativ %s med %s�du skal angive enten %s eller %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% blokke ind %+% blokke ud �% afkortet blok �% afkortede blokke �% byte (%s) kopieret�% byte (%s) kopieret�afsæt for stort: kan ikke afkorte til en længde pÃ¥ seek=% (%lu-byte) blokke�kunne ikke afkorte til % byte i udfilen %s�kunne ikke allokere en stdio-buffer pÃ¥ % byte �%s: %: ukorrekt formateret %s-kontrolsumlinje�ADVARSEL: % linje er forkert formateret�ADVARSEL: % linjer er forkert formateret�ADVARSEL: % angivet fil kunne ikke læses�ADVARSEL: % angivne filer kunne ikke læses�ADVARSEL: % beregnet kontrolsum stemte IKKE overens�ADVARSEL: % beregnede kontrolsummer stemte IKKE overens�startsidetallet % overgÃ¥r antallet af sider %�Side %�overløb i % * % byte-blokke for filen %s�kunne ikke afkorte %s ved byte %���������������������������������������������������������������������������coreutils-8.21/po/insert-header.sin�����������������������������������������������������������������0000664�0000000�0000000�00000001240�11624730202�014223� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ChangeLog-2007��������������������������������������������������������������������0000664�0000000�0000000�00000014756�12102337340�013134� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2007-08-19 Eric Blake <ebb9@byu.net> * POTFILES.in: Add lib/closein.c. 2007-08-08 Jim Meyering <jim@meyering.net> Adapt to gnulib's latest xstrtol change. * POTFILES.in: Use lib/xstrtol-error.c, not lib/xstrtol.h. 2007-08-04 Jim Meyering <jim@meyering.net> * POTFILES.in: Remove lib/human.c. 2007-05-19 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/mktemp.c. 2007-02-02 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/runcon.c. 2007-01-13 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/chcon.c. 2006-10-19 Jim Meyering <jim@meyering.net> * POTFILES.in: Also include lib/regcomp.c, since it too uses gettext. 2006-10-19 Paul Eggert <eggert@cs.ucla.edu> * POTFILES.in: Add lib/xstrtol.h. 2006-08-22 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: More ../bootstrap-related fixes, plus remove old cruft. Add *.po, LINGUAS, Makevars. Remove *.cat, *.msg, cat-id-dbl.c, messages.mo, stamp-cat-id. 2006-08-22 Jim Meyering <jim@meyering.net> * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-20 Paul Eggert <eggert@cs.ucla.edu> * LINGUAS, Makefile.in.in, Makevars, Rules-quot, af.po, be.po: * bg.po, boldquot.sed, ca.po, cs.po, da.po, de.po, el.po: * en@boldquot.header, en@quot.header, es.po, et.po, eu.po: * fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, insert-header.sin: * it.po, ja.po, ko.po, lg.po, ms.po, nb.po, nl.po, no.po, pl.po: * pt.po, pt_BR.po, quot.sed, remove-potcdate.sin, ro.po, ru.po: * rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, uk.po, vi.po, wa.po: * zh_CN.po, zh_TW.po: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-17 Paul Eggert <eggert@cs.ucla.edu> * po/ChangeLog: Add copyright notice. * po/Makevars: Likewise. 2006-08-10 Paul Eggert <eggert@cs.ucla.edu> * Makevars (XGETTEXT_OPTIONS): Add pass-c-format flags for _ and N_, so that we get format checking even when --enable-nls. Add c-format flags for error, error_at_line, asprintf, vasprintf, asnprintf, vasnprintf, wrapf. (USE_MSGCTXT): New macro. * Rules-quot (en@quot.po-create, en@boldquot.po-create): New rules. 2006-08-09 Paul Eggert <eggert@cs.ucla.edu> * Makefile.in.in: Sync from gettext 0.15. * LINGUAS: Add ro, sr, uk, wa. * ro.po, sr.po, uk,po, wa.po: New files, gotten from the following files relative to <http://www.iro.umontreal.ca/translation/teams/PO/>: ro/fileutils-4.1.11.ro.po, sr/sh-utils-2.0.15.sr.po, uk/fileutils-4.1.11.uk.po, wa/fileutils-4.1.11.wa.po. 2006-08-09 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/randread.c, lib/xmemxfrm.c, and src/shuf.c. 2006-02-27 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/base64.c. 2005-12-17 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/acl.c. 2005-12-13 Jim Meyering <jim@meyering.net> * LINGUAS: Add Kinyarwanda (rw). Add Croatian (hr). 2005-11-22 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/euidaccess-stat.c. 2005-10-24 Jim Meyering <jim@meyering.net> * Makefile.in.in: Update from gettext cvs (0.15). (Makefile): Remove stray po-directories argument. 2005-10-07 Jim Meyering <jim@meyering.net> * POTFILES.in: Remove the lib/euidaccess-stat.c line, until I'm ready to add the corresponding file. 2005-10-02 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/euidaccess-stat.c. 2005-09-24 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/gai_strerror.c. 2005-06-14 Jim Meyering <jim@meyering.net> * POTFILES.in: Change openat.c to openat-die.c. 2005-06-02 Jim Meyering <jim@meyering.net> * POTFILES.in: Change makepath.c to mkdir-p.c here, too. 2005-05-10 Jim Meyering <jim@meyering.net> * LINGUAS: Add Vietnamese (vi). 2005-04-06 Jim Meyering <jim@meyering.net> * LINGUAS: Remove rw. * rw.po: Remove file -- many invalid message strings. 2005-04-05 Jim Meyering <jim@meyering.net> * LINGUAS: Add Kinyarwanda (rw). 2004-12-14 Jim Meyering <jim@meyering.net> * LINGUAS: Add Bulgarian (bg). 2004-11-28 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/openat.c. 2004-10-11 Jim Meyering <jim@meyering.net> * fr.po: Fix two typos reported in http://bugs.debian.org/275924 2004-09-22 Jim Meyering <jim@meyering.net> * POTFILES.in: Remove lib/xmalloc.c. Add lib/xalloc-die.c. 2004-06-26 Jim Meyering <jim@meyering.net> * LINGUAS: Add Basque (eu). 2004-04-16 Jim Meyering <jim@meyering.net> * fr.po: Correct typo in the french rendition of date's --help output: s/%r/%R/. Patch by Nicolas Boulenguez. 2004-03-02 Jim Meyering <jim@meyering.net> * LINGUAS: Add Afrikaans (af) 2004-01-13 Jim Meyering <jim@meyering.net> * POTFILES.in: Replace src/sys2.h with src/system.h. 2004-01-12 Jim Meyering <jim@meyering.net> * Makefile.in.in: Update from gettext-0.13.1. 2003-11-09 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/root-dev-ino.h. 2003-10-17 Jim Meyering <jim@meyering.net> * POTFILES.in: Add lib/xfts.c. 2003-09-22 Jim Meyering <jim@meyering.net> * Makevars (XGETTEXT_OPTIONS): Add --from-code=UTF-8 to accommodate the non-ASCII comment to translators in ptx.c regarding the author's name. 2003-08-27 Jim Meyering <jim@meyering.net> * Makefile.in.in: Update from gettext-0.12.2. 2003-08-19 Jim Meyering <jim@meyering.net> * Makevars (MSGID_BUGS_ADDRESS): Define. 2003-08-12 Jim Meyering <jim@meyering.net> * LINGUAS: Add Irish (ga). 2003-07-11 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/nohup.c and src/setuidgid.c. 2003-03-18 Jim Meyering <jim@meyering.net> * POTFILES.in: Remove lib/c-stack.c. 2003-02-16 Jim Meyering <jim@meyering.net> * LINGUAS: Add Finnish (fi). 2003-01-11 Jim Meyering <jim@meyering.net> * POTFILES.in: Add src/readlink.c. 2002-11-21 Jim Meyering <jim@meyering.net> * LINGUAS: Add ms (Malay). 2002-11-14 Jim Meyering <jim@meyering.net> * POTFILES.in: Remove lib/long-options.c and lib/same.c. Although each defines `_', neither actually used it. 2002-11-09 Jim Meyering <jim@meyering.net> * Makevars (EXTRA_LOCALE_CATEGORIES): Add LC_TIME. Patch by Tim Waugh for Red Hat bug #73669. 2002-09-25 gettextize <bug-gnu-gettext@gnu.org> * Makefile.in.in: Upgrade to gettext-0.11.5. 2002-09-16 Jim Meyering <jim@meyering.net> * LINGUAS: Add be (Belarusian). 2002-09-02 Jim Meyering <jim@meyering.net> * LINGUAS: Add lg (Luganda). ----- Copyright (C) 2002-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. ������������������coreutils-8.21/po/vi.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001171450�12107204520�012110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���¾��0��� .��»��\�����üz����� {��D{������ü}�����ý}��ø���ÿ}��¾���ø~��¿���·��Â���w€��ª���:��G��å��ù���-ƒ��º���'„��p���â„��!��S…��¼���u†��©��2‡��w��܈��5��TŠ��R��Š‹��~���ÝŒ�� ���\��\���j��w���Ç��T���?Ž��G���”Ž��ï���ÜŽ��w���Ì��¡���D��#��æ���� ’��š���“��Ä���ª“��D��o”��7��´–��z���ì—�����g˜��Þ���õ˜��i���Ô™��J���>š��›���‰š�����%›��¸���§›��ˆ���`œ��È���éœ��„���²��M��7ž��à���…Ÿ��›���f ��—���¡��`���š¡��‚���û¡����~¢��>���“£��3��Ò£��|���¥��Ý���ƒ¥��K��a¦��=���­§��l���ë§��0���X¨��D���‰¨����Ψ��K��è©��Ê���4«��–���ÿ«��-��–¬��Ê���Ä®��ç���¯��ð���w°����h±��‡���y²��¾���³��á���À³��E���¢´��>���è´��Ë���'µ��Œ���óµ��ü���€¶��æ���}·��¿���d¸����$¹��9���6º�����pº�����‡º��t��œº��¼���¼��š���μ��¾���i½��F��(¾��Ì���o¿��°���<À��Ü���íÀ����ÊÁ��Ð��ÞÂ�� ��¯Ä�����ÐÅ����ÑÆ��y���äÇ��þ��^È��1��]Ê��Ë���Í����[Î��H���yÏ��7���ÂÏ��¼���úÏ��F���·Ð��ì���þÐ��v���ëÑ�� ���bÒ��¡��nÒ��¾��Ô��Ð��ÏÕ��u��� ×��F��Ø��q���]Ú��[��ÏÚ��æ���+Ü��1��Ý��S��DÞ��ë���˜ß��,���„à��“��±à��º���Eâ�����ã�����ä�����˜ä��ß���)å��\�� æ��‹���fç��i���òç��A���\è��x���žè��v���é��Ø��Žé����gë��Â���}ì��I���@í��·���Ší��›���Bî��3���Þî��û��ï��g��ñ��p���vò��5���çò��s���ó����‘ó��3��°ô����äõ��I��÷��×���Mø��ò���%ù��É���ú��Ê���âú��ð���­û��–��žü��Ô���5þ��"�� ÿ��Ó���-��¬����¤���®�i���S�õ���½�˜���³���L�Z���]�ù���¸����²�.��@�Å��o�ž���5 �G��Ô �È��� �M��å �5���3�4���i�‰���ž�F���(�Ö���o�©��F�O��ð�í��@���.� ��¾�£��Ë�y��o� ��é�n��� �\��y�B���Ö�F������`�Ë��{���G!�9��f"��� #���À$�¢���Q&�Ö���ô&�¡��Ë'�E���m)�J���³)�Ò���þ)� ��Ñ*���ß+�º��î,�&��©.�¹��Ð/�¿���Š1���J2�Ý���P5�+���.6�N���Z6�Ò���©6�’���|7�°���8�Ë���À8�»���Œ9�¡��H:�›���ê;�…��†<�È��� >�B���Õ>���?�u���-@���£@�1���¹A�ò���ëA����ÞB�Ë���nC�ƒ���:D�ƒ���¾D�k��BE�‚��®G�¢��1I�4��ÔJ��� L���M�´��.N�í���ãO� ��ÑP���ÜQ�<���âR�‘���S�Ò���±S�º��„T�ª��?V�K���êW���6X�ü���;Y�z���8Z�þ���³Z�µ���²[�ô��h\����]^�f��í^�5��T`�ˆ���Ša�1���b�H���Eb�;��Žb�Æ���Êc�!��‘d�È���³f�ý���|g�q��zh�Y��ìi�ü���Fk�L���Cl�×���l�T��hm�#��½n�Ç���áo�÷��©p�Þ���¡r�³��€s�ƒ���4u�Ñ���¸u�V��Šv�i���áw�Í���Kx�Ä���y�Ñ���Þy�ë���°z�K��œ{���è|�D��÷}����<�Ó���Ê�Ä��ž€�I���c‚���­‚���˃�H���Y…�3���¢…�c��Ö…� ��:‡�=��[ˆ���™‰�ê��´Š�*��ŸŒ�’���Ê�F���]Ž�C���¤Ž�X��èŽ�>���A�?���€�«���À�9���l‘�S���¦‘�š��ú‘�m���•“�û���”�ä���ÿ”�¨��ä•�I��—�$���×™�(���ü™�<���%š�ú���bš�$���]›�%���‚›�*���¨›���Ó›�:���òœ�"��-�&���PŸ� ���wŸ�9���˜Ÿ�#���ÒŸ�$���öŸ�!��� �Ý���= �:���¡�:���V¡�,���‘¡�"���¾¡� ���á¡� ���ì¡�ç���ú¡�,��â¢�X��¤�;���h¥�|��¤¥���!§�Ô���5¨�Ü��� ©�þ���ç©� ���æª����ñª� ���öª����«���� «����«����«����%«����+«���>«�&���Z¬� ���¬� ���‹¬����—¬����ª¬����½¬����Ò¬����ð¬� ��� ­�+���-­����Y­����r­�?���­�D���Í­�0���®����C®�)���\®����†®�0���š®�"���Ë®����î®�'���þ®� ���&¯����4¯�!���I¯����k¯�"���‹¯����®¯����˯�/���ѯ� ���°����"°����:°�#���P°����t°����°�>���ª°�"���é°���� ±�%���+±�B���Q±�*���”±����¿±����Þ±����ð±�)����²����*²�%���G²�,���m²����š²�#���ª²�"���β�$���ñ²����³�/���6³����f³�8���v³����¯³����ij����ã³�����´����´����3´����R´� ���g´����ˆ´����™´����®´����É´����æ´����ù´���� µ����µ����/µ�'���@µ����hµ�*���ƒµ����®µ�$���̵����ñµ���� ¶����¶� ���4¶����U¶�"���k¶����޶����¤¶�;���º¶����ö¶���� ·����%·����B·����^·����{·����™·����¶·����Ò·����æ·�"���ý·���� ¸�,���3¸����`¸�)���z¸����¤¸����Á¸����Ò¸�"���ñ¸�1���¹�'���F¹����n¹�(���¹� ���¨¹�,���ɹ�,���ö¹�,���#º�'���Pº�-���xº� ���¦º�(���Ǻ�(���ðº����»����,»����E»�"���`»����ƒ»����’»�&���¥»����Ì»�"���ç»� ��� ¼� ���¼����#¼����5¼����F¼����V¼�5���r¼�0���¨¼�.���Ù¼����½����$½����D½�"���d½����‡½����—½�+���¨½�%���Ô½����ú½�)���¾����D¾� ���F¾����S¾�<���j¾�1���§¾�,���Ù¾�0���¿�,���7¿�#���d¿�0���ˆ¿����¹¿�l���½¿�;��*À����fÁ� ���|Á����ŠÁ�6���¥Á�5���ÜÁ�-���Â�"���@Â�)���cÂ����Â����ŸÂ����¶Â����ÍÂ� ���äÂ����ïÂ����ôÂ����úÂ�,���Ã�8���/Ã�)���hÃ� ���’Ã����žÃ����°Ã����ÊÃ����ÙÃ� ���ßÃ����éÃ����ùÃ� ���Ä� ���Ä� ���&Ä�k��0Ä����œÅ����¤Å�K���¼Å�8���Æ����AÆ�k���JÆ�h���¶Æ����Ç� ���°Ç� ���»Ç� ���ÈÇ�3���ÔÇ�Š��È� ���“É� ��� É�g��ªÉ�½���Ë�Ò���ÐË����£Ì����²Ì� ���ÂÌ�=���ÏÌ�(��� Í�ã���6Í� ���Î����&Î�U��6Î����ŒÏ����•Ï�<��šÏ�\���×Ð� ���4Ñ�+���?Ñ�+���kÑ�0���—Ñ� ���ÈÑ����ÒÑ����ÙÑ�Ï���èÑ�1���¸Ò����êÒ�I���Ó� ���MÓ����XÓ�@���qÓ�£��²Ó�7���VÕ�?���ŽÕ����ÎÕ����àÕ����ïÕ� ���öÕ����Ö����Ö����Ö����Ö����Ö����+Ö�:���0Ö����kÖ�¦���Ö����&×�×��5×���� Ù� ���Ù����!Ù����5Ù� ���<Ù����FÙ����^Ù����uÙ����’Ù����®Ù�$���ÆÙ����ëÙ����ýÙ����Ú� ���'Ú� ���3Ú� ���?Ú����LÚ� ���]Ú����iÚ����{Ú����ŒÚ����“Ú����˜Ú����žÚ� ���¤Ú�1���±Ú� ���ãÚ����ñÚ����Û����Û����-Û� ���<Û� ���JÛ� ���WÛ� ���cÛ����nÛ����sÛ����xÛ� ���’Û�#���ŸÛ����ÃÛ����ÌÛ�*���ëÛ����Ü�E���Ü����_Ü����sÜ���„Ü�—���–Ý�H���.Þ�o���wÞ����çÞ����ëÞ����ûÞ� ���ß�&���ß� ���Eß� ���Qß� ���\ß����iß� ���pß�#���~ß�H���¢ß�2���ëß�i��à�ª���ˆá�š���3â�;���Îâ���� ã���(ã�¸���Bå�†���ûå�;���‚æ�%���¾æ����äæ�†���dç�N���ëç�T���:è� ��è�7���šê����Òê����ñê� ��� ë� ���ë���� ë� ���%ë����1ë����Eë�Ÿ���`ë�º����ì�@���»ì����üì�D���í����Xí����ií� ���~í����Œí���� í����±í����Àí� ���Ïí�1���Ýí�'���î� ���7î� ���Eî� ���Sî����`î�&���sî�*���šî����Åî����Íî����Ýî�5���âî� ���ï����$ï����,ï����=ï����Qï� ���fï����rï� ���zï����‡ï�$���Œï� ���±ï�Ñ���¼ï�$���Žð����³ð����Åð����Ûð�â��îð�&���Ñò�%���øò�C���ó�+���bó����Žó����“ó� ���¢ó����°ó����Âó����×ó����éó����ûó� ��� ô����ô� ���/ô�,���:ô�j���gô�&���Òô� ���ùô�'���õ�0���Bõ�4���sõ�~��¨õ����'÷����D÷����a÷�–���€÷�)���ø�Y���Aø�'���›ø�T���Ãø�'���ù�(���@ù����iù�X���}ù�@���Öù����ú�?���3ú�&���sú�š���šú����5û����Lû�#���êû�&���ü����5ü�"���Tü�T���wü�g���Ìü�†���4ý�.���»ý����êý�"��� þ�+���,þ�Y���Xþ�~���²þ�¤���1ÿ�ä���Öÿ�=���»�����ù��^���� ���v�¢���—�F���:�}����'���ÿ�'���'�Z���O�`���ª�!��� �!���-�$���O� ���t�¦���•�M���<�>���Š�'���É�<���ñ�T���.����ƒ����ˆ��������£����¹����Î�ï���ä����Ô�¹���ê�D���¤�H���é�G���2 � ���z ����„ ����‰ ���� �´��ž ����S �;���j �3���¦ �/���Ú �+��� �'���6 �#���^ ����‚ ����¢ ����¾ �<���Î ���� ���� ����% ����+ ����B �*���D ����o ����‡ ����¡ �A���¾ ������2����1���J� ���|����ˆ�!���›����½�#���Ä����è�0�������5����O����`�*���q����œ����º�"���Ú����ý�����E���:�;���€� ���¼�,���Ý� ��� �!���+����M����m�+���Œ�#���¸�#���Ü�,�����0���-�,���^�#���‹����¯����Ê� ���à������������0����N����l�$���‹�"���°����Ó�'���é�����5���+�'���a����‰�!���Ÿ����Á����á�1���ú����,����<����Y����r����‹����Ÿ����³����Ç����Þ����ø�(�������1����J�.���_�2���Ž����Á����Ü����÷�%����0���6�3���g����›�F���»�B����+���E�5���q�1���§� ���Ù����å����þ�*�������H����c�)���€����ª����»�%���×�!���ý� ���� ���-����;����K�8���f����Ÿ����µ����É����ç�&����'���(�<���P�:����.���È�!���÷�����&���(����O����j����z����Ž����Ÿ����¯�#���¿�'���ã�"��� �&���.����U����j����ƒ� ���ž����¿����Ø����ï�%�������,� ���H� ���U����b����u����Š���� ����³����Ê����Þ����ñ�,����+���5�-���a�)����!���¹����Û����ú���� �8���% ����^ ����u ����Š ����  �3���² � ���æ ����ð � ���!���� !����"!� ���2!����<!�#���O!�"���s!� ���–!����·!����Ö!����ç!����"����"����."����F"����L"����^"�%���o"����•"�$���¯"�+���Ô"�#����#�:���$#�!���_#�/���#�'���±#����Ù#����ï#���� $����%$�*���E$�%���p$����–$�#���´$�$���Ø$����ý$�%���%�!���9%�'���[%�%���ƒ%����©%����É%����Ý%����ï%����&�(���,&�,���U&� ���‚&�$���£&����È&����á&����ó&����'�$���/'�#���T'�%���x'����ž'�!���¾'�&���à'����(����(�(���9(� ���b(�3���ƒ(�-���·(����å(����)�!���)�1���?)�'���q)����™)�1���¹)����ë)����*����*����7*����Q*�#���k*�1���*�.���Á*����ð*����+����+�(���8+����a+� ���y+����‡+����¤+�(���¹+����â+����ç+�3���,�;���:,�.���v,����¥,����½,����Ò,�$���ð,�$���-�D���:-����-����“-����¤-����´-����È-����á-����þ-����.����7.����Q.����U.����l.�)���{.�/���¥.�=���Õ.�@���/�:���T/����/�!���­/����Ï/�,���á/����0����*0����<0�;���S0����0����ª0����Ã0����Ù0����í0� ���1�!���)1�(���K1����t1����1����£1�*���¶1�-���á1����2����2����62����O2����d2����{2����”2����°2�%���È2�1���î2�#��� 3�"���D3����g3� ���}3����‹3����œ3����²3�"���Ä3� ���ç3����õ3����4����4����24����N4����d4�#���4�!���£4�!���Å4����ç4����þ4����5����65� ���U5����b5����r5����ƒ5����•5����®5����Ç5����à5�!���þ5���� 6�"���86����[6����{6� ���™6����º6����Ò6�]���ç6�G���E7����7����¡7����·7�!���Í7�*���ï7� ���8� ���'8����H8�/���\8�$���Œ8����±8�2���Æ8�;���ù8����59����N9����k9����‰9�R��� 9�L���ó9�(���@:� ���i:����v:����†:����˜:����®:�,���Ì:�9���ù:�*���3;�,���^;����‹;�*���‘;�G���¼;�0���<�:���5<�#���p<�'���”<�8���¼<����õ<�@��� =�/���K=����{=�7���Œ=�8���Ä=� ���ý=���� >�/���'>�-���W>� ���…>����‘>����«>�#���Â>�&���æ>�)��� ?�*���7?����b?�$���w?����œ?����³?����Í?����Ý?�+���ö?�1���"@�"���T@� ���w@����˜@����ª@����Á@�#���ß@�$���A����(A����FA����[A�!���{A�!���A�%���¿A����åA�%���ôA����B����)B�7���8B�=���pB����®B����ÌB����áB����ûB����C� ���C����-C�-���EC�C���sC����·C�(���ÌC� ���õC�'���ÿC����'D�"���AD����dD����tD�?���„D�,���ÄD�%���ñD����E�4���-E� ���bE�&���ƒE� ���ªE�1���¶E�2���èE�$���F����@F�8���_F�G���˜F�9���àF����G�"���9G�$���\G����G����›G����»G����ÐG����æG����H�>���H�B���[H� ���žH� ���©H����µH����ÊH����ÛH����øH� ��� I� ���I����$I����;I� ���RI� ���\I����fI�)���€I����ªI����¿I����ÚI����îI�$���J�-���(J�7���VJ����ŽJ����•J����«J����ºJ����ÉJ����âJ� ���òJ����þJ����K���� K����K����0K����IK�#���fK�J���ŠK� ���ÕK� ���ãK� ���ðK����üK�*���L����<L����XL����qL����L����¤L�8���ÁL����úL� ����M�H���M�U���WM�>���­M�?���ìM�?���,N�8���lN�=���¥N�>���ãN�3���"O����VO�(���çO�!���P�N���2P�f���P�>���èP�@���'Q�#���hQ�<���ŒQ�*���ÉQ����ôQ����R�(���,R����UR�/���pR���� R����»R����ÓR����æR����ìR����S����S����S�*���<S�!���gS�7���‰S����ÁS�"���ÙS����üS���� T�3���T�\���ST����°T����ÈT�.���àT����U�0���%U����VU�C���mU����±U����ÎU����âU����üU� ���V�H���V�+���aV�J���V�2���ØV�8��� W�=���DW�@���‚W�#���ÃW����çW�$���X�=���'X�4���eX�.���šX�,���ÉX�<���öX�0���3Y�3���dY�7���˜Y�c���ÐY����4Z����JZ�"���aZ�t���„Z� ���ùZ�3���[�>���8[�5���w[�j���­[�h���\�_���\�0���á\�,���]�*���?]�3���j]�(���ž]�&���Ç]�(���î]� ���^����#^� ���6^� ���C^�/���Q^�7���^�&���¹^� ���à^�,��_����.a�J��0a���{b�í���Šc�ü���xd����ue���vf�%��h�Û���:i�‘���j�^��¨j�¿���l�F��Çl�•��o�r��¤p�Ë��r�á���ãs����Åt�˜���Üt�Ã���uu�t���9v�j���®v�I��w�¿���cx�ú���#y�½��z�/��Ü{�¼��� }� ��É}�ú��Õ~�©��Ð�Ÿ���zƒ�¬���„���Ç„�Ÿ���Ù…�R���y†�»���̆�—���ˆ‡�Ô��� ˆ�Ï���õˆ���ʼn�¦���ØŠ�t��‹�D��ôŒ�¿���9Ž�Þ���ùŽ�‘���Ø�Á���j�º��,‘�J���ç’�™��2“�¹���Ì”�L��†•�‰��Ó–�a���]˜�©���¿˜�M���i™�q���·™�®��)š�†��Ø›�à���_�²���@ž�·��óž�#��«¡�ô���Ï¢�ñ���Ä£�‚��¶¤�Ï���9¦��� §�L��¨�m���[©�O���É©���ª�â���,«�o��¬�@��­�9��À®�Ž��ú¯�Z���‰±�%���ä±�q��� ²�­��|²�4��*´�Â���_µ�ü���"¶�~��·�1��ž¸�à���й���±º�|��û�4��@½�Z��u¿�N��ÐÀ�[��Â�¤���{Ã�<�� Ä�Í��]Ç�.��+Ì�+��ZÍ�}���†Ï�j���Ð���oÐ�U���uÑ�@��ËÑ�¡��� Ó� ���®Ó���ºÓ�d��ØÕ�.��=Ø�³���lÚ��� Û�a���1Þ�1��“Þ�2��Åß�‚��øà�È��{â�[��Dä�<��� å�ç��Ýå�ó���Åç�D��¹è�”���þé�³���“ê�ò���Gë�¾��:ì�Ë���ùí�Œ���Åî�d���Rï�’���·ï�“���Jð�p��Þð�}��Oó�ê���Íô�œ���¸õ�±���Uö�ç���÷�:���ï÷�÷��*ø�Ì��"ü�ˆ���ïý�?���xþ����¸þ�`��Fÿ�²��§��n��Z�Š��É���T�-��c�ü���‘���Ž��� �Ä��® ���s �¤��Ž �’��3���Æ�ï���Ì�Þ���¼�R��›���î�t����f���u�l��Ü�¡���I�ì��ë�Ã��Ø�å���œ�®��‚���1!�|��:"�?���·#�I���÷#�È���A$�b��� %����m%�¾��n&�þ��-)���,+���/.�-��A0�â��o1�S��R3���¦5�¥���47�æ��Ú7�Y���Á9�]���:�M��y:�U��Ç;�}��@�†��›A�—��"C�ò��ºD���­F���²G�i��ÌH����6K�€���¸K���9L�K��IM���•N� ��P�Ë��#R�¼��ïS�ë���¬U���˜V���6Z�;���=[����y[��� \� ���]�ß���½]�ê���^�Þ���ˆ_�,��g`�¸���”b�¾��Mc��� e�F���&f�º��mf�–���(h�p��¿h�5���0j�U��fj�²���¼k����ol�¤���pm�±���n�W��Çn�>��r�.��^t���w�_��y�•��}z���|� ��"~���,�c��K€�\���¯�Ÿ��� ‚�õ���¬‚���¢ƒ�s��«…�[���ˆ�Y��{ˆ�q��Õ‰�ª���G‹�>��ò‹�4��1�—��fŽ�Ü���þ���Û‘�²��l“�˜���•�N���¸•�‡���–�´��–�Ý���D˜�Ï��"™���ò›�6��ûœ�Á��2ž�Ñ��ôŸ�\��Æ¡�V���#£���z£�å��•¤�¥��{§�÷���!©�|��ª�-��–¬�H��Ä­�¥��� ±�í���³±�Ë��¡²�ª���m´����µ�í���¶���·�"�� ¸�©��0¹�O��Úº�§��*¼�—���Ò½���j¾�-��s¿�„���¡Á�y��&Â�Ù�� Ã�ˆ���zÅ�J���Æ���NÆ�Š��]È�€��èÉ�K��iË�â��µÌ�Y��˜Ï�¿���òÐ�`���²Ñ�G���Ò�Ç��[Ò�W���#Ô�X���{Ô�¸���ÔÔ�=���Õ�y���ËÕ�Ø��EÖ�‹���Ø�8��ªØ���ãÙ�-��üÚ�í��*Ý�8���à�2���Qà�V���„à�õ���Ûà�:���Ñá�A��� â�8���Nâ�t��‡â�X���üã�û��Uä�1���Qç�,���ƒç�S���°ç�.���è�0���3è�1���dè�0��–è�I���Çé�N���ê�I���`ê�7���ªê� ���âê����íê���ýê�Š��ì�¸��¢í�K���[ï�§��§ï�U��Oñ���¥ò���­ó�O��Êô� ���ö����%ö����*ö����:ö����Cö����Lö����Tö����\ö����bö�Œ��wö�+���ø� ���0ø� ���:ø����Fø�$���Yø����~ø�)���™ø�#���Ãø�*���çø�<���ù�)���Où�,���yù�Q���¦ù�V���øù�9���Oú�"���‰ú�+���¬ú����Øú�2���îú�:���!û����\û�1���nû���� û����µû�@���Õû�!���ü�/���8ü�/���hü� ���˜ü�1���¢ü�,���Ôü����ý����ý�1���8ý�"���jý����ý�X���¬ý�9���þ�,���?þ�6���lþ�Z���£þ�,���þþ�'���+ÿ����Sÿ�-���nÿ�Q���œÿ�%���îÿ�;�����J���P�����›��4���µ��-���ê��I����#���b�?���†����Æ�H���æ����/����F����d����y�*���Š����µ����Î�4���Ý��������'� ���@�+���a��������¦�$���¾����ã����ø�8��� �.���F�<���u�1���²�,���ä�$���� ���6����B�)���V����€�!���”����¶����Ó�N���ì� ���;����H����Z����l� ������� �-���³�.���á� ��������2���=����p�:���„����¿�2���ß�(�������;�%���P�0���v�M���§�:���õ�"���0 �0���S ����„ �>��� �:���Ü �4��� �3���L �=���€ �-���¾ �4���ì �4���! ����V �!���h ����Š �#���¦ ����Ê ����Û �-���ø �#���& �<���J � ���‡ ����• ����¤ ����à �2���Þ �(��� �O���: �:���Š �9���Å � ���ÿ �,��� �,���M�9���z����´� ���È�1���Ö�.����&���7�2���^����‘� ���•����£�D���Á�;����-���B�3���p�4���¤�4���Ù�3�������B�Œ���E�¬��Ò� ���� ��� �1���®�I���à�6���*�3���a�*���•�*���À����ë����ú��������2� ���N����[����`����f�?���v�<���¶�;���ó����/�#���H�#���l��������Ÿ����¤����©����Ä� ���Ü����æ� ���þ���� ����)���)�c���S�8���·� ���ð�Š���þ�¤���‰�É���.� ���ø�"���� ���&�V���2�ý��‰����‡����™�Í��«���y ���{!����Œ"����›"� ���«"�Q���¸"�4��� #�“��?#� ���Ó$����à$�›��ð$� ���Œ&����–&�­��&�n���K(� ���º(�,���Å(�,���ò(�>���)� ���^)� ���h)����s)�*��ˆ)�7���³*�.���ë*�T���+����o+�!���†+�_���¨+�N��,�V���W.�S���®.����/����/����#/� ���(/����6/����=/����F/����N/����U/����f/�c���m/����Ñ/�Õ���ë/� ���Á0���Ï0� ���ß3� ���é3����õ3���� 4����4����4����64����P4�)���i4�'���“4�)���»4����å4�*���ÿ4����*5� ���95� ���E5� ���Q5����^5� ���o5����{5����5� ���ž5� ���ª5� ���´5� ���Â5����Ð5�V���å5� ���<6����J6����[6����x6����‰6� ���˜6� ���¦6� ���³6� ���¿6����Ê6����Ï6����Ô6� ���ô6�5���7����77�0���J7�5���{7����±7�S���´7����8����#8�9��88�¬���r9�{���:�Ž���›:����*;����.;����D;� ���_;����m;� ���Œ;� ���˜;� ���£;����°;�/���¿;�*���ï;�T���<�B���o<���²<�ê���P>�Ð���;?�B��� @� ���O@�¡��p@�à���C�²���óC�E���¦D�0���ìD����E�°���­E�~���^F�z���ÝF�¥��XG�\���þI����[J�X���uJ� ���ÎJ� ���ÙJ����æJ� ���íJ�!���ùJ�#���K�Á���?K�Ÿ���L�O���¡L����ñL�X���M����jM�!���…M����§M����ºM����ÎM����ßM����îM� ���ýM�I��� N�=���UN� ���“N� ���¡N� ���¯N����¼N�2���ÐN�?���O����CO����KO����[O�J���`O� ���«O� ���¹O����ÅO����ßO����ýO� ���P� ���(P����5P����HP�$���NP����sP�>��…P�$���ÄQ����éQ�%���ûQ�!���!R�N��CR�O���’T�4���âT�_���U�0���wU����¨U����¯U� ���¾U����ÉU����éU�2���V�2���4V�2���gV�&���šV����ÁV����ÛV�@���ìV�¡���-W�:���ÏW�6��� X�B���AX�H���„X�H���ÍX�Ð��Y�&���çZ�,���[�.���;[�Ð���j[�:���;\����v\�=���ö\�o���4]�6���¤]�>���Û]����^�a���9^�[���›^�&���÷^�\���_�4���{_�û���°_�!���¬`�í���Î`�/���¼a�4���ìa�.���!b�7���Pb�{���ˆb�’���c�×���—c�;���od�)���«d�=���Õd�C���e�Ñ���We�¦���)f�Ù���Ðf�:��ªg�P���åh�-���6i�ˆ���di�0���íi�Í���j�a���ìj�À���Nk�-���l�=���=l�s���{l�•���ïl�)���…m�7���¯m�:���çm�5���"n�Ê���Xn�p���#o�V���”o�9���ëo�Z���%p�}���€p����þp����q�!��� q�!���-q����Oq�#���oq�—��“q�'���+s�Õ���Ss�N���)t�S���xt�T���Ìt� ���!u����/u����4u����:u�[��Vu����²w�N���Ëw�6���x�2���Qx�.���„x�*���³x�&���Þx�"���y����(y����Ey�P���Wy� ���¨y����Éy����Ñy����Ùy����õy�=���ùy����7z����Sz�&���qz�S���˜z� ���ìz�8��� {�:���F{����{����‘{�7���°{����è{�7���ï{�"���'|�R���J|�-���|����Ë|����æ|�D���}�7���G}�2���}�:���²}�(���í}�.���~�O���E~�l���•~�>����:���A�*���|�+���§�)���Ó�F���ý�@���D€�C���…€�1���É€�L���û€�P���H�D���™�:���Þ�#���‚����=‚�4���[‚�-���‚����¾‚�3���Ý‚�0���ƒ�*���Bƒ�3���mƒ�5���¡ƒ�.���׃�0���„�&���7„�R���^„�E���±„�,���÷„�(���$…�!���M…�"���o…�K���’…����Þ…�.���÷…�"���&†�"���I†�*���l†����—†����µ†�'���Ó†�#���û†����‡�G���8‡�#���€‡�&���¤‡�N���ˇ�M���ˆ�$���hˆ�!���ˆ�"���¯ˆ�d���Òˆ�H���7‰�H���€‰�;���ɉ�d���Š�^���jŠ�G���ÉŠ�D���‹�C���V‹����š‹�$���®‹�-���Ó‹�?���Œ�6���AŒ�+���xŒ�D���¤Œ����éŒ�#����E���*�E���p����¶����Ð����ç�*���Ž�E���/Ž�"���uŽ�+���˜Ž�/���ÄŽ�3���ôŽ�F���(�6���o�A���¦�7���è�6��� �!���W����y�=���Ž�?���Ì���� ‘����,‘�!���K‘����m‘����‰‘�/���£‘�9���Ó‘�2��� ’�?���@’����€’�'���›’�"���Ã’�4���æ’����“����6“� ���V“�9���w“� ���±“����Ò“����ä“����û“����”����.”����G”����_”����v”����Œ”�&���¡”�D���È”�4��� •�H���B•�M���‹•�-���Ù•�,���–����4–� ���R–�K���s–�0���¿–����ð–���� —����#—�W���=—� ���•—���� —����°—����À—����Ü—����ò—����˜�0���˜�0���O˜�&���€˜�-���§˜����Õ˜�*���å˜�"���™� ���3™����@™����Z™����b™����u™�6���Œ™����Ù�;���à™�=���š�5���Zš�W���š�8���èš�J���!›�B���l›�:���¯›�&���ê›�$���œ�(���6œ�4���_œ�3���”œ�+���Èœ�1���ôœ�5���&����\�2���w�*���ª�0���Õ�/���ž����6ž����Vž����už�,���‹ž�0���¸ž�?���éž�@���)Ÿ�6���jŸ�7���¡Ÿ�(���ÙŸ���� � ��� ����; �7���Y �7���‘ �,���É �3���ö �@���*¡�L���k¡����¸¡�'���Õ¡�9���ý¡�2���7¢�G���j¢�?���²¢�1���ò¢�%���$£�2���J£�J���}£�1���È£�"���ú£�K���¤�+���i¤�)���•¤�(���¿¤�&���è¤�.���¥�)���>¥�]���h¥�B���Æ¥�4��� ¦�2���>¦�"���q¦�4���”¦����ɦ����å¦� ���÷¦����§�6���8§����o§�+���t§�H��� §�Q���é§�J���;¨�C���†¨�'���ʨ�+���ò¨�1���©�4���P©�b���…©����è©�����ª����ª����)ª�$���Bª�"���gª����Šª����§ª�,���Ū����òª� ���öª����«�D���7«�i���|«�I���æ«�e���0¬�L���–¬�9���ã¬�8���­�2���V­�C���‰­� ���Í­����î­���� ®�^���(®�+���‡®����³®����Ñ®����è®�%���û®�,���!¯�7���N¯�-���†¯����´¯�"���˯����î¯�;���°�>���>°����}°�"���°����°°����˰����â°�!���ý°�#���±� ���C±�C���d±�1���¨±�(���Ú±�,���²�$���0²����U²����m²�%���ˆ²����®²�-���ʲ����ø²�"���³����+³����H³�&���\³����ƒ³����—³�/���¶³�$���æ³�(��� ´����4´�$���N´�/���s´�$���£´����È´����æ´����ù´���� µ����'µ����@µ����[µ����vµ����–µ� ���±µ����¿µ����ܵ����ùµ�!��� ¶����.¶����=¶�Ž���S¶�[���â¶� ���>·����_·����v·�*���·�6���»·����ò·�%���¸�$���6¸�D���[¸�B��� ¸����ã¸�@���ú¸�V���;¹����’¹�(���®¹�$���×¹����ü¹�_���º�V���rº�%���ɺ�%���ïº����»����+»����B»�-���b»�6���»�F���Ç»�8���¼�6���G¼����~¼�P���†¼�W���×¼�P���/½�^���€½�G���ß½�;���'¾�N���c¾�!���²¾�T���Ô¾�N���)¿����x¿�L���‰¿�C���Ö¿����À�+���6À�F���bÀ�7���©À����áÀ����ñÀ����Á�,���+Á�4���XÁ�3���Á�2���ÁÁ����ôÁ�+���Â�!���?Â�!���aÂ����ƒÂ����˜Â�M���´Â�H���Ã�*���KÃ�6���vÃ����­Ã����ÊÃ�*���çÃ�9���Ä�*���LÄ�+���wÄ����£Ä�+���·Ä�0���ãÄ�+���Å�9���@Å� ���zÅ�2���‡Å� ���ºÅ����ÅÅ�B���ØÅ�T���Æ�/���pÆ���� Æ�3���µÆ����éÆ�*���Ç����/Ç����MÇ�6���lÇ�j���£Ç�&���È�9���5È����oÈ�4���‡È�#���¼È�&���àÈ� ���É� ���É�Y���É�P���vÉ�)���ÇÉ����ñÉ�G���Ê�+���PÊ�0���|Ê����­Ê�(���ÂÊ�I���ëÊ�-���5Ë�;���cË�J���ŸË�[���êË�M���FÌ�+���”Ì�6���ÀÌ�4���÷Ì�3���,Í�/���`Í����Í����¬Í�"���ÌÍ�.���ïÍ�M���Î�^���lÎ� ���ËÎ����ØÎ����ïÎ���� Ï�b���Ï�"���‚Ï����¥Ï� ���ÀÏ����ÎÏ����èÏ� ���Ð� ���Ð�7���Ð�4���SÐ����ˆÐ�(���¨Ð�!���ÑÐ�$���óÐ�&���Ñ�9���?Ñ�B���yÑ����¼Ñ����ÃÑ����ÝÑ����ñÑ�%���Ò����+Ò�2���=Ò����pÒ����‹Ò����¥Ò�0���½Ò�%���îÒ�'���Ó�4���<Ó�_���qÓ����ÑÓ����ãÓ����óÓ�!���Ô�3���1Ô�!���eÔ�"���‡Ô����ªÔ����ÊÔ�,���çÔ�C���Õ����XÕ����^Õ�\���wÕ�q���ÔÕ�I���FÖ�J���Ö�J���ÛÖ�G���&×�H���n×�O���·×�?���Ø�Û���GØ�1���#Ù� ���UÙ�k���vÙ�”���âÙ�]���wÚ�M���ÕÚ�#���#Û�B���GÛ�-���ŠÛ�-���¸Û�-���æÛ�S���Ü����hÜ�C���‚Ü�'���ÆÜ����îÜ���� Ý���� Ý����'Ý�(���;Ý����dÝ�.���kÝ�>���šÝ�/���ÙÝ�H��� Þ����RÞ�B���lÞ�!���¯Þ����ÑÞ�^���ìÞ�€���Kß� ���Ìß����íß���� à����(à�B���Cà����†à����¢à� ���$á����Eá����Zá����sá� ���†á�@���”á�8���Õá�_���â�F���nâ�D���µâ�K���úâ�b���Fã�>���©ã�%���èã�(���ä�g���7ä�G���Ÿä�@���çä�<���(å�Z���eå�L���Àå�?��� æ�I���Mæ����—æ����ç����1ç�3���Lç����€ç����è�C���$è�a���hè�H���Êè�u���é�m���‰é�y���÷é�C���qê�;���µê�3���ñê�N���%ë�Q���të�.���Æë�3���õë� ���)ì����3ì����Dì����Xì�\���jì�?���Çì�<���í�'���Dí��������Y��J��������m����Ê���Á���������V��¶����Æ����´����������ü���������ö��¸��Ç������—��Ê����ã���?��/��t����l��ñ���Ë�������ø��§������#��E��b���À�����o������À��*���½��(��º��ÿ��æ��������O��Þ��ç��À����������Ÿ���«�������������æ��³��è������ò������I��������������†������������ˆ������?���‚��h����¦��q��¡���F��7������T������Í������ ��������ì��J������ü��¢��™����������6����������á��=��¾��n���‘���m�� ���������������£�������ð���R�������v��P������n��1��N������A����������B�������ƒ���x����������'���¬��\��������t��î�� ��ä��6��z��Ÿ����������|���1��û��#��÷����������P��ß��_��Œ������s��)����������Ì����������|��Ô���������;�����������“��Y�� �������L��*������������ƒ������G���ª��9��]��˜��?��#������y������Í��\�������º��}��È��`��Ñ���Ò���)���·���������¨���������¼�� ������ž��,������z��[��{��z��¹���å��Á��»��þ�������ù��Ÿ��±������Q��[��˜������������¦������º���ñ��z��X���ø��Þ������� �� ����j������H����5����������…��V��r��(��(��Z��½����������Á��F��M��b��‹��š������j��%������������������Ç��.����Æ���t������Í���_�� �����å������•�� ������•��0��|������·��P������w��¦��\��Î��������_���„��*������9������F���N������ð��ü������������~���k��€���&��y��>��‰��3�����à��Ë��”��ï��A���S���������0������³���ï��ª�����‰���Ñ������O��Ë��M��~��›��”��ð��%���ä�����/������W��„��%��Â���Ò����-��ì��E���+��`���z�����ƒ��h��à��¬��é��†������À��û��­��������|��i��ù�������›��������I������9������&���0��È������€��ÿ��`��Ø���œ�����(��!����������@��Š��º��þ��ò������)��ý���‚������?��������������Ý��²���¸��Y������†��� ��������õ��a�������������þ��Â��8�����h����Q������������í������´��Ê��w��¢��Ñ��©������;��a��s��þ��¨��G��������€���������������D������E��"��‡��g��C������ ����������C������������Õ����������ƒ��Æ������1��}���3���@����������-������}��J����<��p��®���������8��^������������$��x��������ú��ƒ��¡�� ��ˆ��©��G����������>���2������¶��h��������������,��������×�� ��������������W������7������²������—���£������ ��P���������������­��³��¡������E��ù��_��[��x��ú�����Ï��I������ã��e��è��‹������n��ê��ø���*������k��S������ñ������4��«��A������ý��û�������g�����v��Ã��½��T���™��Ô����é��Ï��Ù��K�����Ë��������ë��(��g����¥�������Õ��{��f��k��}����²������@�����i��¦���.��È������¿�������������I���k������H��!�����������X������Ã��6���ô������Æ��€��Ä�����\����������«���ª��Ò��H��i��M��������"����ê�������m��±���D������Ý�����ÿ�����������W���~����õ��������������é������%��H�� ���������ü��[���ç��Š������å����������j��0������¹��Ç����������¾��B������õ���h���I��C����3��)��'��p��¿��M���ž���t��£��Ÿ������p��r����������w������x�������������¡����������µ��Œ�������^���â��¶��±��>������������������=��¥������S�� ��ý��â��J��Ü��ð��r���Š������������y��¡��·��Ö��Š��o��Ð��������������w��¼��r��Å���É���������Ù��q��Ô��§��ñ��P������j���Á���s���«����������°���ó��“��f���Ê������H�����������¶������Œ��!��T��������B��‘��������������e�����������Ã��Ž��{������P��B��‡��…���,���a�������G��…����������Í��V��f��¼�������Ÿ������j��µ���Ì��f��ƒ��%������«��o��ˆ��è��Æ����������������¨��­������G������������’��›��=��î���ò�����������.�� ��������ä��‰������š����!��B��ª��x����������ˆ��Ó��»����—��¼��F��²��÷������÷�����������������´��z��…����r��ê����������»����������g������a��m�������³��f���������� ������������������K��������Z���Ô��€��µ��¡������à�������™��ê��‘��ü������ ��|����������‹��Q������•��0���¥������î��Ä��w��{��¼��-������v��d��'��"���›����������»����‰�����€������?��s��»������K��n������-���Ø��‡��‘��„��Œ��æ��Z��V������N���[������5���Y�����Ë��á������������•�����Ú��N��1��W��l��×��Œ��q����������� ��_������c��k���������ß�����ˆ���á���U��æ���×��˜������e�����D���2���q��™�������7��X��U��V���Û��5��Ø����X�������L���ã��$������Z����½���ò��ß���������¹��K��®��c�����������4��È���”���������������›��Ž���ì��‘�� ��o���4��Á������¼��•�� ������“������µ��:��E������R��<��ó��L������î��¨��Ù�������Ï�������@��‚��…�� ��/���¯��¨����Ê��A��`��¥��Ý����©��?��������������<���¤��‹��æ��‹��Å��5������ú��Š����������0��:��2��I������5��Ò��+��£��9���–����$���3��p���������Ð������ë��´���:������]�������R������&��l������¦��¯��ï����†��k������–���Ó������¢������Ö������Ì��ö��©��2��¤�� �����œ��¤�������������\��Â��Ù��¸��� ��¯�� ��ô������U��Q����������Ä��Ã���d��������������*������œ��v���K���e��������������6�� ��’��n��Ó��q������–��‚���µ��T��u��Õ��>��þ��t��������°��º��'��]��������Õ���#��±��������������,��/����������p��©���R��M��Ø��Î������3������ö���]��O��O���¾�����������Ð���w���c��~����������f��Å��¥�����™��—������¿��K��B������¾����‘��‰������ ������X��²��9����������c��‡�������+����������¸��Z��„��ö���������4�����������������³��������¢��á��˜��ã��������†��±��1���(���±������Ž��á��ß�������������������5��Y���Q���¢������������������������d�� ������¸��ù��§��Ñ��¦��:��d���`��¬������+��ú��ë���O��j��s��Ž�� ���������:��Ÿ��t���Û��‡��}��e��i������ä�������Ï��¨������<��6��\������������������h������$��x���N������¯��l������������d��������Ø��¢���c��9������´����������¯�����������b��7��†����������¸��`�����ì���;��í��Ü����������É��^�������������¿��#������Ï��‡��‹�����#���Ç���Þ��¹��Ã������ �������Þ��Ž������•��r��¥����������í�������S��ø��î������G��J���;��º����������ë����’������&������ö��š��������–��÷��,������§���e��ù�����½�������������� ��ê��¯��ÿ��Ù��™��F��×���è���«������Ö��������������������'��b��+���Ò��A����=���…����Ç���������������s����l�������b��U��<��Š���m��“������'����.��Ú��ž��.�����;��¹��_��8������ª��Ô������;������·����������Ý��)��D��â��°��~������ž������o��)������¤������������ï��¾����ò��ß��ô���W��ó��é����������ø��X������Î����Z������Ó��Â����������‚��8���!���ã��Ó���õ������y���>��N��+��Ä���"��œ��Ú��[��U��®��=��¤��Þ��Û�� ���������� �������@��C��‰��§��›���H��ë��š���„���6������„�� ���^��������v��ž������}��|������ï���“���è����L���� ��­��{���l��4��u��”��Ü��T������¬��Ð������o��”��������ç��Í����š��Å��]��������i���u��¿��Ö�������<������É��a��à��é���ô������n��õ�����¹��C��×����à��q������C��â���Û���ž��Ú�������·������8��m��÷������@������ ������d��È��­������&��-��������������S����������u�����V��O��R���������É��å�����������–��’������·��S��������4��å������Œ��®��®������.��u�������p��Q��g��‚��F������������®��g��*��"��°����ç��������©����������L��!��Ž����������������Ü���v��������$����T����¶���"��c��:���ç���A������7��ä��������7���ˆ��Õ������^��2������˜���������£������������–��Å��û��°��²��ú���i����������R��Ì��$��ì��=��—������������ý��µ��»������í����������������������u�����Ì���¬���½��-��Y������a�� �����˜�� ������É��M��W��ª���Î��Ö��y��]��������Ú��������������­���Û������/��Î���������������Ý��³��J��°��í�������´��,��¤��>��À������”��Ü��û��œ�������¬��“��L������������2��%����������â������’��—��~��¶��ý��ô������ ������8��ÿ��Ð����������Ä��3��1��D������ ��E��ó����������¾��š��y����������ó���ñ�� ��’�������{��Â��^��ð��������D������b������Ñ��&������£������U���œ��/����§�����lí����tí�|{��¨{��¼{��Ð{��ä{��ø{�� |�� |��4|��H|��\|��x|��Œ|��¨|��¼|��è|��ü|��}��$}��8}��L}��`}��t}��ˆ}��œ}��¸}��Ì}��è}��|í��������������� �����������������ÿÿÿÿœí��������1���ÿÿÿÿÎí��������/���ÿÿÿÿþí�7����������ÿÿÿÿHî�����������ÿÿÿÿxî�����������ÿÿÿÿ¢î��������(���ÿÿÿÿÏî� �������Q���ÿÿÿÿ*ï� �������R���ÿÿÿÿ†ï� �������V���ÿÿÿÿæï������������������ÿÿÿÿð�����������ÿÿÿÿð� ���������������ÿÿÿÿCð����������ÿÿÿÿdð��������������������������������ÿÿÿÿ‰ð�����������ÿÿÿÿ¨ð�����������ÿÿÿÿÃð�M����������ÿÿÿÿ#ñ�"�������%���ÿÿÿÿjñ�B����������ÿÿÿÿ³ñ��������>���ÿÿÿÿöñ��������;���ÿÿÿÿ2ò�%����������ÿÿÿÿXò��������&���ÿÿÿÿŒò��������!����������ÿÿÿÿÇò�����������ÿÿÿÿÏò����������������ÿÿÿÿýò�)���������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option used in invalid context -- %c�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils-8.20-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-12-11 13:35+0700 Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com> Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net> Language: vi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Team-Website: <http://translationproject.org/team/vi.html> Plural-Forms: nplurals=1; plural=0; X-Generator: LocFactoryEditor 1.8 X-Poedit-SourceCharset: UTF-8 � � ( BIỂU_THỨC ) BIỂU_THỨC là đúng (true) ! BIỂU_THỨC BIỂU_THỨC là sai (false) BIỂU_THỨC1 -a BIỂU_THỨC2 cả BIỂU_THỨC1 và BIỂU_THỨC2 Ä‘á»u là đúng (true) BIỂU_THỨC1 -o BIỂU_THỨC2 BIỂU_THỨC1 hoặc BIỂU_THỨC2 là đúng (true) � --check-order kiểm tra dữ liệu nhập vào được sắp xếp đúng, thậm chí nếu má»i dòng nhập vào Ä‘á»u có thể kết đôi được --nocheck-order không kiểm tra xem đầu vào đã xắp xếp đúng chưa � -1 bá» Ä‘i cá»™t 1 (những dòng chỉ có trong TẬP_TIN1) -2 bá» Ä‘i cá»™t 2 (những dòng chỉ có trong TẬP_TIN2) -3 bá» Ä‘i cá»™t 3 (những dòng có trong cả hai tập tin) � -a, --all giống như “-b -d --login -p -r -t -T -u†-b, --boot thá»i gian cá»§a lần khởi động cuối -d, --dead in ra các tiến trình chết -H, --heading in dòng chứa các tiêu đỠcá»§a cá»™t � -b TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu khối -c TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu ký tá»± -d TẬP_TIN TẬP_TIN tồn tại và là thư mục -e TẬP_TIN TẬP_TIN tồn tại � -l đưa ra kết quả dạng dài cho (các) NGƯỜI_DÙNG -b bá» Ä‘i thư mục cá nhân cá»§a ngưá»i dùng và shell trong dạng dài -h bá» Ä‘i tập tin dá»± án cá»§a ngưá»i dùng trong dạng dài -p bá» Ä‘i tập tin kế hoạch cá»§a ngưá»i dùng trong dạng dài -s xuất dạng ngắn, đây là mặc định � -n CHUá»–I CHUá»–I có chiá»u dài khác không CHUá»–I tương đương vá»›i “-n CHUá»–I†-z CHUá»–I CHUá»–I có chiá»u dài là không CHUá»–I1 = CHUá»–I2 các chuá»—i bằng nhau CHUá»–I1 != CHUá»–I2 các chuá»—i khác nhau � Ä.Sá»1 * Ä.Sá»2 tích số há»c cá»§a Ä.Sá»1 và Ä.Sá»2 Ä.Sá»1 / Ä.Sá»2 thương số há»c cá»§a Ä.Sá»1 chia cho Ä.Sá»2 Ä.Sá»1 % Ä.Sá»2 phần dư khi Ä.Sá»1 chia cho Ä.Sá»2 � Ä.Sá»1 + Ä.Sá»2 tổng số há»c cá»§a Ä.Sá»1 và Ä.Sá»2 Ä.Sá»1 - Ä.Sá»2 hiệu số há»c cá»§a Ä.Sá»1 và Ä.Sá»2 � Ä.Sá»1 < Ä.Sá»2 Ä.Sá»1 nhá» hÆ¡n Ä.Sá»2 Ä.Sá»1 <= Ä.Sá»2 Ä.Sá»1 nhá» hÆ¡n hoặc bằng Ä.Sá»2 Ä.Sá»1 = Ä.Sá»2 Ä.Sá»1 bằng Ä.Sá»2 Ä.Sá»1 != Ä.Sá»2 Ä.Sá»1 khác Ä.Sá»2 Ä.Sá»1 >= Ä.Sá»2 Ä.Sá»1 lá»›n hÆ¡n hoặc bằng Ä.Sá»2 Ä.Sá»1 > Ä.Sá»2 Ä.Sá»1 lá»›n hÆ¡n Ä.Sá»2 � T.TIN1 -ef T.TIN2 T.TIN1 và T.TIN2 có cùng số hiệu thiết bị và inode T.TIN1 -nt T.TIN2 T.TIN1 má»›i hÆ¡n (theo ngày sá»­a) T.TIN2 T.TIN1 -ot T.TIN2 T.TIN1 cÅ© hÆ¡n T.TIN2 � Sá»_NGUYÊN sao chép đến (nhưng không chứa) số thứ tá»± dòng đã chỉ ra /BTCQ/[HIỆU] sao chép đến (nhưng không chứa) má»™t dòng tương ứng %BTCQ%[HIỆU] nhảy tá»›i (nhưng không chứa) má»™t dòng tương ứng {Sá»_NGUYÊN} lặp lại mẫu trước vá»›i số lần đã chỉ ra {*} lặp lại mẫu trước càng nhiá»u lần càng tốt BTCQ: biểu thức chính quy HIỆU dòng phải là dấu cá»™ng “+†hay dấu trừ “-†vá»›i má»™t số nguyên dương theo sau. � S.NGUYÊN1 -eq S.NGUYÊN2 S.NGUYÊN1 bằng S.NGUYÊN2 S.NGUYÊN1 -ge S.NGUYÊN2 S.NGUYÊN1 lá»›n hÆ¡n hoặc bằng S.NGUYÊN2 S.NGUYÊN1 -gt S.NGUYÊN2 S.NGUYÊN1 lá»›n hÆ¡n S.NGUYÊN2 S.NGUYÊN1 -le S.NGUYÊN2 S.NGUYÊN1 nhá» hÆ¡n hoặc bằng S.NGUYÊN2 S.NGUYÊN1 -lt S.NGUYÊN2 S.NGUYÊN1 nhá» hÆ¡n S.NGUYÊN2 S.NGUYÊN1 -ne S.NGUYÊN2 S.NGUYÊN1 khác (không bằng) Sá»_NGUYÊN2 � CHUá»–I : BTCQ đánh dấu tương ứng cá»§a BTCQ trong CHUá»–I match CHUá»–I BTCQ giống như CHUá»–I : BTCQ substr CHUá»–I VỊ_TRà DÀI chuá»—i con cá»§a CHUá»–I, VỊ_TRà đếm từ 1 index CHUá»–I KÃ_Tá»° chỉ mục trong CHUá»–I ở đó tìm thấy KÃ_Tá»°, hoặc 0 length CHUá»–I chiá»u dài CHUá»–I � a đánh số má»i dòng t chỉ đánh số những dòng không rá»—ng n không đánh số dòng pBRE chỉ dánh số những dòng chứa tương ứng vá»›i biểu thức chính quy cÆ¡ bản, BRE ÄỊNH_DẠNG là má»™t trong: ln canh hàng trái, không có các số 0 ở đầu rn canh hàng phải, không có các số 0 ở đầu rz canh hàng phải, có các số 0 ở đầu � b tạo má»™t tập tin đặc biệt kiểu khối (có bá»™ đệm) c, u tạo má»™t tập tin đặc biệt kiểu ký tá»± (không có bá»™ đệm) p tạo má»™t FIFO (VTRT: Vào Trước, Ra Trước) � # ngưá»i dùng=%lu � â€-t†là ngầm định nếu CHIỀU_DÀI_TRANG ≤ 10. Không có TẬP_TIN, hoặc TẬP_TIN là “-†thì Ä‘á»c đầu vào tiêu chuẩn. � Má»™t trưá»ng là má»™t chuá»—i các khoảng trắng (thưá»ng là dấu cách và/hay khoảng TAB), rồi các ký tá»± không trắng. Bá» qua các trưá»ng trước khi các ký tá»±. � Má»™t chương trình “finger†nhẹ; in ra thông tin vá» ngưá»i dùng. Tập tin “utmp†sẽ là %s. � Má»™t “-†nghÄ©a là “-iâ€. Nếu không có câu LỆNH, thì in ra môi trưá»ng kết quả. � Sau má»—i cá» cÅ©ng có thể đặt bá» rá»™ng trưá»ng (theo số thập phân); rồi (cÅ©ng tùy chá»n) sá»± sá»­a đổi, hoặc: E để dùng các sá»± đại diện xen kẽ cá»§a miá»n địa phương (nếu có) hoặc O để dùng các ký hiệu thuá»™c số xen kẽ cá»§a miá»n địa phương (nếu có) � Theo mặc định, má»™t BIỂU_THỨC bị bá» qua là sai (false). Không thì BIỂU_THỨC là đúng (true) hoặc sai (false) và đặt giá trị thoát. Nó là má»™t trong số: � Như má»™t trưá»ng hợp đặc biệt, cp tạo bản sao lưu cá»§a NGUá»’N khi đưa ra hai tùy chá»n force (ép buá»™c) và backup (sao lưu) và NGUá»’N và ÄÃCH cùng là má»™t tên cho má»™t tập tin thông thưá»ng đã tồn tại. � Cần biết rằng rất nhiá»u toán tá»­ cần đặt sau ký tá»± thoát hoặc trong dấu ngoặc khi gõ vào trong shell. So sánh sẽ là số há»c nếu cả hai Ä.Sá» Ä‘á»u là số, nếu không sẽ là so sánh nghÄ©a từ. Khá»›p mẫu sẽ trả lại chuá»—i tương ứng giữa “\(†và “\)†hoặc rá»—ng. Nếu không dùng “\(†và “\)â€, chúng sẽ trả lại số ký tá»± tương ứng hoặc 0. � Phải đưa ra cả LỚN và NHỎ khi KIỂU là b, c hoặc u, và phải bá» Ä‘i khi KIỂU là p. Nếu LỚN hoặc NHỎ bắt đầu vá»›i: tiá»n tố giải thích dạng * 0x hoặc 0X thập lục * 0 bát phân * gì khác thập phân KIỂU có thể là: � Mặc định, “rm†không xóa thư mục. Hãy dùng tùy chá»n “--recursive†(-r hoặc -R) để xóa từng thư mục đã liệt kê, cùng vá»›i ná»™i dung cá»§a chúng. � Theo mặc định, chá»n “-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fnâ€. CC là hai ký tá»± phân cách dùng để chia các trang lôgíc; khi thiếu ký tá»± thứ hai thì nó ngầm hiểu là “:â€. Gõ “\\†để dùng “\â€. STYLE là má»™t trong: � Mặc định là tập tin NGUá»’N sparse nhận ra thô sÆ¡ và tập tin ÄÃCH tương ứng cÅ©ng được sparse. Tính năng này lá»±a chá»n bởi “--sparse=autoâ€. Hãy chỉ ra â€--sparse=always†để tạo má»™t tập tin ÄÃCH sparse kể cả khi tập tin NGUá»’N chứa má»™t chuá»—i byte số không đủ dài. Hãy dùng “--sparse=never†để ngăn chặn việc tạo các tập tin sparse. Khi “--reflink[=always]†được chỉ ra, hãy chạy má»™t thao tác sao chép nhẹ nhàng, trong đó má»—i khối dữ liệu được sao chép chỉ nếu bị sá»­a đổi. Không thể làm như thế, không sao chép được hay “--reflink=auto†được chỉ ra thì phục hồi việc sao chép tiêu chuẩn. � CHUNKS có thể là: N chia nhá» thành N tập tin theo cỡ cá»§a đầu vào K/N đầu ra thứ K trên N cá»§a stdout l/N chia nhá» thành N tập tin không có dòng chia cắt l/K/N đầu ra thứ K trên N trong stdout không có dòng chia cắt r/N tương tá»± “l†nhưng dùng phân phối round-robin r/K/N tương tá»± nhưng chỉ xuất xuất phần thứ K trên N ra stdout � Thiết lập tổ hợp: * [-]LCASE giống như “[-]lcase†cbreak giống như “-icanon†-cbreak giống như “icanon†� DURATION là má»™t số thá»±c chấm động vá»›i hậu số tùy chá»n: “s†cho giây (mặc định), “m†cho phút, “h†cho giá» và “d†cho ngày. � Giá trị hiển thị theo đơn vị kích Cá»  sẵn có đầu tiên từ “--block-sizeâ€, và các biến đổi môi trưá»ng %s_BLOCK_SIZE, BLOCK_SIZE và BLOCKSIZE. Không thì đơn vị mặc định là 1024 byte (hoặc 512 nếu đặt POSIXLY_CORRECT). � Má»—i ký hiệu CỜ có thể là: append chế độ nối thêm (chỉ có ích cho đầu ra; cÅ©ng đỠnghị “conv=notruncâ€) � Má»—i CHẾ_ÄỘ có dạng â€[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+â€. � Ví dụ: %s -12 t.tin1 t.tin2 In ra chỉ những dòng nằm trong cả hai tập tin. %s -3 t.tin1 t.tin2 In ra những dòng chỉ nằm trong má»™t cá»§a hai tập tin này. � Thí dụ: %s /usr/bin/ -> “/usrâ€. %s dir1/str dir2/str -> “dir1†theo sau bởi “dir2†%s stdio.h -> “.â€. � Các ví dụ: %s /usr/bin/sort -> “sort†%s include/stdio.h .h -> “stdio†%s -s .h include/stdio.h -> “stdio†%s -a any/str1 any/str2 -> “str1†theo sau bởi “str2†� Ví dụ: %s f - g Xuất ná»™i dung cá»§a f, tiếp đến là đầu vào tiêu chuẩn, rồi đến ná»™i dung cá»§a g. %s Sao chép đầu vào tiêu chuẩn tá»›i đầu ra tiêu chuẩn. � Ví dụ: %s root /u Thay đổi ngưá»i sở hữu /u thành “rootâ€. %s root:staff /u CÅ©ng vậy, nhưng thay đổi nhóm cá»§a nó thành “staffâ€. %s -hR root /u Thay đổi ngưá»i sở hữu /u và các tập tin dưới thành “rootâ€. � Ví dụ: %s staff /u Thay đổi nhóm cá»§a /u thành “staffâ€. %s -hR staff /u Thay đổi nhóm cá»§a /u và các tập tin con thành “staffâ€. � Ví dụ: Chuyển giây từ epoch (1970-01-01 UTC) thành ngày $ date --date="@2147483647" Hiển thị thá»i gian bá» tây nước Mỹ (dùng tzselect(1) để tìm TZ) $ TZ="America/Los_Angeles" date Hiện thá»i gian địa phương lúc 9AM ngày thứ 6 sắp tá»›i ở bá» Tây nước Mỹ $ date --date="TZ="America/Los_Angeles" 09:00 next Fri†� Trừ đối vá»›i “-h†và “-Lâ€, má»i thá»­ nghiệm có liên quan đến TẬP_TIN sẽ bá» tham chiếu cá»§a liên kết má»m. Cần thoát các dấu ngoặc (ví dụ, bằng gạch ngược) đối trong shell. Sá»_NGUYÊN có thể đồng thá»i là “-l CHUá»–I†tính chiá»u dài cá»§a CHUá»–I. � Trạng thái thoát là: * 0 nếu BIỂU_THỨC không phải rá»—ng hoặc 0. * 1 nếu BIỂU_THỨC là rá»—ng hoặc 0 * 2 nếu BIỂU_THỨC sai cú pháp * 3 nếu gặp lá»—i. � Trạng thái thoát: 0 nếu ổn, 1 nếu gặp lá»—i nhá» (v.d. không thể truy cập đến thư mục con), 2 nếu gặp lá»—i nghiêm trá»ng (v.d. không thể truy cập đến đối số dòng lệnh) � ÄỊNH_DẠNG Ä‘iá»u khiển kết xuất giống như trong printf kiểu C. Các chuá»—i được biên dịch là: \" ngoặc kép � ÄỊNH_DẠNG Ä‘iá»u khiển kết xuất. Các chuá»—i được Ä‘á»c: %% má»™t chữ cái % %a tên viết tắt cá»§a ngày trong tuần cá»§a miá»n địa phương (Th 3..CN) � Äiá»u khiển đưá»ng tty kết nối tá»›i đầu vào tiêu chuẩn. Khi không có đối số, in ra tốc độ đưá»ng truyá»n baud, ká»· luật đưá»ng truyá»n, và sá»± lệch hướng khá»i giá trị stty hữu tá»·. Trong thiết lập KÃ_Tá»° là các chữ cái hoặc mã hoá như ^c, 0x37, 0177 hoặc 127, giá trị đặc biệt “^-†hoặc “undef†dùng để tắt bá» các ký tá»± đặc biệt. � â€-e†có hiệu lá»±c thì cÅ©ng nhận ra những dãy theo đây: � Nếu TẬP_TIN là “-â€, shred đầu ra tiêu chuẩn. Xóa (các) TẬP_TIN nếu có chỉ ra “--remove†(-u). Mặc định là không xóa tập tin vì nó thưá»ng thao tác trên tập tin thiết bị như “/dev/hdaâ€, và không nên xóa bá» những tập tin này. Khi thao tác trên tập tin thông thưá»ng, phần lá»›n ngưá»i dùng sá»­ dụng tùy chá»n “--removeâ€. � Nếu không chỉ ra TẬP_TIN, sá»­ dụng %s . %s như là TẬP_TIN chung. Nếu đưa ra Ä.Sá»1 Ä.Sá»2, giả sá»­ “-mâ€: thưá»ng là “am i†hoặc “mom likesâ€. � Nếu chỉ ra TẬP_TIN, thì Ä‘á»c nó để tìm ra màu nào sá»­ dụng cho dạng tập tin và phần mở rá»™ng tập tin nào. Nếu không, sá»­ dụng cÆ¡ sở dữ liệu đã biên dịch từ trước. Äể xem chi tiết vỠđịnh dạng cá»§a những tập tin này, chạy “dircolors --print-databaseâ€. � Nếu bá» qua ÄẦU hoặc ÄỘ_TÄ‚NG, thì mặc định thành 1. Tức là ÄỘ_TÄ‚NG bị bá» qua mặc định thành 1 thậm chí khi CUá»I nhá» hÆ¡n ÄẦU. ÄẦU, ÄỘ_TÄ‚NG, và CUá»I biên dịch như các giá trị dấu chấm động. ÄỘ_TÄ‚NG thưá»ng là dương nếu ÄẦU nhá» hÆ¡n CUá»I, và ÄỘ_TÄ‚NG thưá»ng là âm nếu ÄẦU lá»›n hÆ¡n CUá»I. � Nếu CHẾ_ÄỘ là “0†thì luồng tương ứng không được chuyển hoán đệm. � Nếu CHẾ_ÄỘ là “L†thì luồng tương ứng được chuyển hoán đệm theo dòng. Tùy chá»n này không hợp lệ vá»›i đầu vào tiêu chuẩn. � Nếu TẬP_TIN là “-â€, sao chép trở lại đầu ra tiêu chuẩn. � Nếu không đưa ra câu lệnh, thì chạy câu lệnh “${SHELL} -i†(mặc định: â€/bin/sh -iâ€). � Äầu vào tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó từ “/dev/nullâ€. Äầu ra tiêu chuẩn là thiết bị cuối thì nối thêm kết xuất vào â€nohup.out†nếu có thể, không thì “$HOME/nohup.outâ€. Äầu lá»—i tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó vào đầu ra tiêu chuẩn. Äể lưu kết xuất vào tập tin, dùng “%s LỆNH > TẬP_TINâ€. � Nếu ký tá»± đầu tiên cá»§a K (số byte hoặc số dòng) là má»™t “+â€, thì in ra đầu tiên vá»›i mục thứ K từ đầu má»—i tập tin, không thì in K mục cuối cùng trong tập tin. K có thể có các Ä‘uôi bá»™i số: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, và tương tá»± như thế vá»›i T, P, E, Z, Y. � Thiết lập đầu vào: [-]brkint sá»± ngắt gây ra má»™t tín hiệu gián Ä‘oạn [-]icrnl chuyển return thành dòng má»›i [-]ignbrk bá» qua ký tá»± ngắt [-]igncr bá» qua return � K có thể đặt các hậu tố bá»™i số sau: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, và tương tá»± vá»›i T, P, E, Z, Y. � KEYDEF là F[.C][TÙY_CHỌN...], [F[.C][TÙY_CHỌN...]] cho Ä‘iểm đầu và cuối, trong đó F là số thứ tá»± trưá»ng và C là vị trí cá»§a ký tá»± trong trưá»ng; cả hai có gốc bắt đầu là 1. và Ä‘iểm kết thúc mặc định là cuối dòng. Nếu cả hai -t và -b Ä‘á»u không được đặt khi thi hành, thì tính trưá»ng bắt đầu từ trước khoảng trắng.TÙY_CHỌN là má»™t hoặc vài ký tá»± đơn xếp theo thứ tá»± [bdfgiMhnRrV] các tùy chá»n này sẽ đè lên các tùy chá»n toàn cục. Khi không đưa ra má»™t khóa, thì dùng cả dòng làm khóa. Cá»  có thể theo bởi hậu tố là bá»™i số cá»§a: � Giấy phép GPL pb3+: Giấy phép Công cá»™ng GNU phiên bản 3 hay sau <http://gnu.org/licenses/gpl.html> Äây là phần má»m tá»± do: bạn có quyá»n sá»­a đổi và phát hành lại nó. KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép. � Thiết lập ná»™i bá»™: [-]crterase đưa ra ký tá»± xóa như backspace-space-backspace * crtkill diệt toàn dòng theo thiết lập echoprt và echoe * -crtkill diệt toàn dòng theo thiết lập echoctl và echok � N và BYTES có thể được theo sau bởi các đơn vị sau: c=1 w=2 b=512 kB=1000 K=1024 MB=1000*1000 M=1024*1024, xM =M GB=1000*1000*1000 G=1024*1024*1024 và tương tá»± vá»›i T, P, E, Z, Y. Má»—i ký hiệu CONV có thể là: � GHI CHÚ: nếu câu LỆNH Ä‘iá»u chỉnh việc chuyển hoán đệm các luồng tiêu chuẩn (v.d. “teeâ€) thì cÅ©ng ghi đè lên các thiết lập tương ứng bị “stdbuf†sá»­a đổi. Ngoài ra còn có má»™t số bá»™ lá»c (v.d. “dd†và “catâ€) mà không dùng luồng vá»›i đầu I/O, thì không bị tác động bởi thiết lập “stdbufâ€. � GHI CHÚ: [ tùy theo hai tùy chá»n “--help†(trợ giúp) và “--version†(phiên bản), còn test (thá»­) không phải. test xá»­ lý má»—i tùy chá»n này giống như CHUá»–I khác rá»—ng. � GHI CHÚ: shell cá»§a bạn có thể có lệnh %s riêng cá»§a nó, mà nó lại thưá»ng có quyá»n cao hÆ¡n lệnh từ gói này. Hãy tham khảo tài liệu hướng dẫn cá»§a shell để tìm chi tiết vá» các tùy chá»n được há»— trợ. � Chú ý rằng nếu dùng lệnh “rm†để xóa bá» má»™t tập tin nào đó, vẫn có khả năng phục hồi má»™t phần hoặc toàn bá»™ ná»™i dung cá»§a tập tin đó (nếu có đủ kỹ năng và/hay thá»i gian). Äể đảm bảo rằng ná»™i dung không phục hồi được, hãy sá»­ dụng “shredâ€. � Ghi chú rằng hai tùy chá»n “-d†và “-t†chấp nhận định dạng ngày/giá» khác nhau. � Chú ý là so sánh tuân theo quy tắc quy định bởi “LC_COLLATEâ€. � Ghi chú: “uniq†không phát hiện dòng lặp lại nếu chúng không ká» nhau. Trước tiên có lẽ bạn muốn sắp xếp kết xuất, hoặc dùng “sort -u†không có â€uniqâ€. HÆ¡n nữa, sá»± so sánh tùy theo quy tắc cá»§a “LC_COLLATEâ€. � Má»™t “-†không bắt buá»™c ở trước THIẾT_LẬP chỉ ra sá»± phá»§ định. Má»™t “*†đánh dấu thiết lập không phải POSIX. Hệ thống nằm dưới xác định những thiết lập có thể. � Không thì CHẾ_ÄỘ là má»™t con số có thể Ä‘i trước má»™t cá»§a những hậu tố này: KB 1000, K 1024, MB 1000*1000, M 1024*1024, và tương tá»± vá»›i G, T, P, E, Z, Y. Trong trưá»ng hợp này, luồng tương ứng được chuyển hoán đệm má»™t cách đầy đủ, vá»›i kích cỡ vùng đệm được đặt thành CHẾ_ÄỘ byte. � Thiết lập đầu ra: * bsN kiểu trì hoãn cá»§a xóa lùi, N nằm trong [0..1] * crN kiểu trì hoãn cá»§a return, N nằm trong [0..3] * ffN kiểu trì hoãn cá»§a thụt dòng, N nằm trong [0..1] * nlN kiểu trì hoãn cá»§a dòng má»›i, N nằm trong [0..1] � Chá»§ sở hữu không thay nếu bị thiếu. Nhóm không thay đổi nếu thiếu, nhưng bị thay đổi thành nhóm đăng nhập nếu đặt má»™t dấu hai chấm “:†sau CHỦ_SỞ_Há»®U tượng trưng. CHỦ_SỞ_Há»®U và NHÓM có thể là các giá trị số cÅ©ng như tượng trưng. � In giá trị cá»§a BIỂU_THỨC ra đầu ra tiêu chuẩn. Má»™t dòng trắng ở dưới phân cách các nhóm có quyá»n ưu tiên tăng dần. BIỂU_THỨC có thể là: Ä.Sá»1 | Ä.Sá»2 Ä.Sá»1 nếu nó không phải rá»—ng hoặc 0, nếu không thì Ä.Sá»2 Ä.Sá»1 & Ä.Sá»2 Ä.Sá»1 nếu má»—i đối số không phải rá»—ng hay 0, ngược lại thì 0 � Äá»c đầu vào tiêu chuẩn nếu TẬP_TIN là “-†Má»—i MẪU có thể là: � Thông báo lá»—i “%s†cho <%s> � Gá»­i báo cáo lá»—i tá»›i: %s Gá»­i báo cáo lá»—i dịch tá»›i <http://translationproject.org/team/vi.html> � TẬP_HỢP là chuá»—i các ký tá»±. Hầu hết tập hợp tá»± đại diện. Các chuá»—i được biên dịch là: \NNN ký tá»± vá»›i giá trị bát phân NNN (1 tá»›i 3 chữ số) \\ gạch ngược \a tiếng chuông BEL nghe rõ \b xóa lùi \f thụt dòng \n dòng má»›i \r return \t tab ngang � TÃN_HIỆU có thể là má»™t tên tín hiệu như “HUP†(treo, gác), hoặc má»™t số thứ tá»± tín hiệu như “1â€, hoặc trạng thái thoát cá»§a má»™t tiến trình dừng bởi má»™t tín hiệu. PID là má»™t số nguyên, nếu âm thì đại diện cho má»™t nhóm tiến trình. � SIZE là số nguyên và các đơn vị tùy chá»nt (ví dụ: 10M là 10*1024*1024). Các Ä‘on vị là K, M, G, T, P, E, Z, Y (số mÅ© cá»§a 1024) hay KB, MB, ... (số mÅ© cá»§a 1000). � Kích Cá»  cÅ©ng có thể theo sau má»™t cá»§a những ký tá»± sá»­a đổi này: â€+†tăng theo, â€-†giảm theo, â€<†nhiá»u nhất, â€>†ít nhất â€/†làm tròn xuống bá»™i số cho, †%†làm tròn lên bá»™i số cho � Gá»­i má»™t tín hiệu %s tá»›i tiến trình “dd†đang chạy để nó in thống kê I/O ra đầu lá»—i tiêu chuẩn và coi là nó Ä‘ang sao chép. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 mục ghi vào 18335302+0 mục ghi ra 9387674624 byte (9.4 GB) đã sao chép, 34.6279 giây, 271 MB/giây Tùy chá»n: � Ký tá»± đặc biệt: * dsusp KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu dừng cá»§a thiết bị cuối khi tràn dữ liệu vào eof KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t kết thúc tập tin (dừng nhập vào) eol KÃ_Tá»° KÃ_Tá»° sẽ kết thúc dòng � Thiết lập đặc biệt: N đặt tốc độ nhập vào và kết xuất thành N baud * cols N cho hạt nhân biết thiết bị cuối có N cá»™t * columns N giống như “cols N†� Hậu tố sao lưu là “~â€, trừ khi đặt vá»›i “--suffix†hoặc SIMPLE_BACKUP_SUFFIX. Phương pháp Ä‘iá»u khiển phiên bản có thể chá»n qua tùy chá»n “--backup†hoặc qua biến môi trưá»ng VERSION_CONTROL. Có những giá trị sau: � Dữ liệu được mã hoá như được diá»…n tả cho bảng chữ cái base64 trong tài liệu RFC 3564. Khi giải mã, kết nhập có thể chứa các ký tá»± dòng má»›i, thêm vào các byte cá»§a bảng chữ cái base64 hình thức. Hãy dùng tùy chá»n â€--ignore-garbage†để thá»­ phục hồi khi luồng đã mã hoá chứa byte khác chữ cái. � Những tùy chá»n sau sá»­a đổi cách Ä‘i qua cây thư mục khi có tùy chá»n -R. cÅ©ng được chỉ định. Nếu chỉ ra hÆ¡n má»™t tùy chá»n, thì chỉ tùy chá»n cuối có hiệu lá»±c. -H nếu đối số dòng lệnh là liên kết má»m tá»›i má»™t thư mục, thì Ä‘i qua nó -L Ä‘i qua má»i liên kết má»m tá»›i má»™t thư mục mà nó gặp -P không Ä‘i qua bất kỳ liên kết má»m nào (mặc định) � Ba tùy chá»n sau chỉ có ích khi tính tổng kiểm tra (checksum): --quiet đừng in ra OK cho má»—i tập tin được thẩm tra đúng --status không in ra gì cả, mã trạng thái cho biết thành công -w, --warn cảnh báo vá» những dòng tổng kiểm tra có định dạng sai � Tổng được tính như mô tả trong %s. Khi kiểm tra, dữ liệu vào phải là dữ liệu ra trước đây cá»§a chương trình này. Chế độ mặc định là in ra má»™t dòng ghi tổng kiểm tra, má»™t ký tá»± chỉ dạng (â€*†cho nhị phân, â€dấu cách†cho văn bản), và tên cho má»—i FILE. � Các chuá»—i định dạng đúng cho các tập tin (không có --file-system): %a quyá»n truy cập theo dạng bát phân %A quyá»n truy cập theo dạng dá»… Ä‘á»c %b số khối đã cấp phát (xem %B) %B kích cỡ theo byte cá»§a má»—i khối được %b thông báo %C chuá»—i ngữ cảnh bảo mật SELinux � Äể xóa má»™t tập tin có tên bắt đầu vá»›i má»™t “-â€, ví dụ “-fooâ€, sá»­ dụng má»™t trong các câu lệnh sau: %s -- -foo %s ./-foo � Sá»± chuyển đổi xảy ra nếu không đưa ra tùy chá»n “-d†và cả hai TẬP_HỢP1 và TẬP_HỢP2 xuất hiện. Tùy chá»n “-t†chỉ có thể đưa ra khi chuyển đổi. TẬP_HỢP2 kéo dài thành chiá»u dài cá»§a TẬP_HỢP1 bằng cách lặp lại ký tá»± cuối cùng theo yêu cầu. Ký tá»± thừa trong TẬP_HỢP2 vẫn bị bá» qua. Chỉ đảm bảo rằng [:lower:] và [:upper:] sẽ mở rá»™ng theo thứ tá»± tăng dần; dùng trong TẬP_HỢP2 khi chuyển đổi, thì chỉ có thể sá»­ dụng chúng theo cặp để ghi rõ cách chuyển đổi chữ hoa/thưá»ng. Tùy chá»n “-s†dùng TẬP_HỢP1 nếu không chuyển đổi và cÅ©ng không xóa; có thì chức năng vắt dùng TẬP_HỢP2 và xảy ra đằng sau việc chuyển đổi hay xóa. � Trừ phi đưa ra tùy chá»n “-t CHARâ€, ký tá»± trắng nào Ä‘i trước sẽ phân cách các trưá»ng và bị bá» qua, không thì thì phân cách bởi CHAR. Má»—i FIELD được đánh số và bắt đầu đếm từ 1. FORMAT là má»™t hoặc vài định dạng phân cách bởi má»™t hay hÆ¡n khoảng trắng hoặc dấu phẩy, vá»›i cấu trúc “FILENUM. FIELD†hoặc “0â€. FORMAT kết xuất mặc định đưa ra trưá»ng để nối lại, những trưá»ng còn lại trong FILE1, các trưá»ng còn lại trong FILE2, cả phân cách bởi CHAR. Nếu FORMAT là từ khoá â€autoâ€, thế thì dòng đầu tiên cá»§a mối tập tin được xác định bằng số trưá»ng xuất ra bởi má»—i dòng. Quan trá»ng: FILE1 và FILE2 phải được sắp xếp theo vùng nối lại. V.d. dùng “sort -k 1b,1†nếu “join†không có tùy chá»n. hay sá»­ dụng “join -t ''†nếu â€sort†không có tùy chá»n. Ghi chú: việc so sánh tùy theo quy tắc cá»§a “LC_COLLATEâ€. Nếu đầu vào không phải được sắp xếp và má»™t số dòng nào đó không nối lại được, má»™t thông Ä‘iệp cảnh báo sẽ được hiển thị. � Dùng chỉ má»™t cá»§a những tùy chá»n “-bâ€, “-c†và “-fâ€. Má»—i DANH_SÃCH chứa má»™t phạm vi, hoặc nhiá»u phạm vi định giá»›i bằng dấu phẩy. Äầu vào đã chá»n được ghi theo cùng má»™t thứ tá»± vá»›i việc Ä‘á»c; nó được ghi chỉ má»™t lần. � Chức năng sá»­ dụng màu sắc để phân biệt các kiểu tập tin khác nhau cÅ©ng bị tắt theo mặc định và khi dùng tùy chá»n “--color=never†(màu = không bao giá»). Khi dùng “--color=auto†(màu = tá»± động), lệnh liệt kê “ls†chỉ xuất mã màu khi đầu ra tiêu chuẩn được kết nối đến má»™t thiết bị cuối. Biến môi trưá»ng “LS_COLORS†(màu sắc cá»§a ls) cÅ©ng có khả năng sá»­a đổi thiết lập này. Hãy sá»­ dụng lệnh “dircolors†để đặt nó. � Khi không có TẬP_TIN hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. “-F /†theo mặc định. � Không chỉ ra TẬP_TIN, hoặc khi TẬP_TIN là “-â€, thì Ä‘á»c từ đầu vào tiêu chuẩn. � Khi không có tùy chá»n, đưa ra kết quả trong ba cá»™t. Cá»™t thứ nhất là những dòng chỉ có trong TẬP_TIN1, cá»™t thứ hai chứa những dòng chỉ có trong TẬP_TIN2, và cá»™t thứ ba chứa những dòng có chung trong chúng. � Khi không có TÙY_CHỌN, in ra má»™t vài bá»™ thông tin xác định có ích. � Ghi TẬP_TIN dạng rõ ràng vào đầu ra tiêu chuẩn, theo byte bát phân theo mặc định. Khi có vài đối số TẬP_TIN, thì nối chúng vá»›i nhau theo thứ tá»± liệt kê để tạo dữ liệu vào. Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. � (chỉ hữu dụng trên hệ thống có thể thay đổi quyá»n sở hữu cá»§a má»™t liên kết má»m) � ???� --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin đích đã có -b giống “--backup†nhưng không chấp nhận đối số -f, --force không há»i lại trước khi ghi đè -i, --interactive há»i lại trước khi ghi đè -n, --no-clobber không ghi đè lên tập tin đã có Nếu bạn ghi rõ hÆ¡n má»™t cá»§a những tùy chá»n “-iâ€, “-f†và “-n†thì chỉ tùy chá»n cuối cùng có tác động. � --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin tồn tại ở nÆ¡i đến -b giống “--backup†nhưng không chấp nhận đối số -d, -F, --directory cho phép siêu ngưá»i dùng thá»­ tạo liên kết cứng tá»›i thư mục (chú ý: rất có thể sẽ không thành công do hạn chế cá»§a hệ thống, thậm chí đối vá»›i siêu ngưá»i dùng) -f, --force xóa các tập tin tồn tại ở nÆ¡i đến � --backup[=ÄIỀU_KHIỂN] tạo bản sao lưu cá»§a má»—i tập tin đích đã có -b giống “--backup†nhưng không chấp nhận đối số -c (bị bá» qua) -C, --compare so sánh má»—i cặp tập tin nguồn và đích, và trong má»™t số trưá»ng hợp nào đó cÅ©ng không sá»­a đổi đích bằng cách nào cả -d, --directory coi má»i đối số là tên thư mục; tạo tất cả các thành phần cá»§a thư mục chỉ ra � --batch-size=Sá» gá»™p lại đồng thá»i nhiá»u nhất SỠđầu vào; nếu cần hÆ¡n, hãy sá»­ dụng các tập tin tạm thá»i � --block-size=SIZE biến đổi kích cỡ SIZE trước khi in chúng. Ví dụ: â€--block-size=M†in kích thước theo đơn vị cá»§a 1,048,576 bytes. Xem định dạng SIZE ở dưới đây. -B, --ignore-backups không liệt kê các mục có Ä‘uôi “~†mhư ngầm định -c vá»›i “-ltâ€: sắp xếp theo, và hiển thị ctime (thá»i gian sá»­a đổi cuối cùng cá»§a thông tin trạng thái tập tin) vá»›i “-lâ€: hiển thị ctime và sắp xếp theo tên nếu không: sắp xếp theo ctime, sá»›m hÆ¡n xếp trước � --complement bổ sung tập hợp các byte, ký tá»± hoặc trưá»ng đã chá»n � --debug , and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference tác động đến nÆ¡i chỉ đến cá»§a má»—i liên kết má»m (đây là mặc định), hÆ¡n là tá»± bản thân liên kết má»m đó -h, --no-dereference tác động đến liên kết tượng trưng thay vì tham chiếu đến tập tin � --files0-from=F Ä‘á»c dữ liệu vào từ những tập tin chỉ ra bởi các tập tin chấm dứt rá»—ng (NUL) trong tập tin F Nếu F là “-†thì Ä‘á»c các tên từ đầu vào tiêu chuẩn -L, --max-line-length in chiá»u dài cá»§a dòng dài nhất -w, --words in các số đếm từ � --from=SỞ_Há»®U_HIỆN_CÓ:NHÓM_HIỆN_TẠI thay đổi chá»§ sở hữu và/hoặc nhóm cá»§a má»—i tập tin chỉ nếu chá»§ sở hữu và/hoặc nhóm hiện thá»i tương ứng vá»›i mẫu chỉ ra ở đây. Có thể bá» sót má»™t trong hai tham số, trong trưá»ng hợp đó không yêu cầu khá»›p nó � --group-directories-first nhóm lại các thư mục trước các tập tin. Làm tăng lên vá»›i tùy chá»n “--sortâ€, nhưng bất cứ lần nào dùng “--sort=none†(-U) sẽ tắt chức năng nhóm lại. � --help hiển thị trợ giúp này rồi thoát � --indicator-style=TỪ nối thêm vào tên mục chỉ thị vá»›i dạng TỪ: không có(mặc định), dấu gạch (-p) kiểu tập tin(--file-type), phân loại(-F) -i, --inode in ra số chỉ mục cá»§a má»—i tập tin -I, --ignore=MẪU không liệt kê các mục tương ứng vá»›i MẪU cá»§a shell -k, --kibibytes sá»­ dụng khối 1024-byte � --lookup cố làm hợp tiêu chuẩn tên máy qua DNS -m chỉ tên máy và ngưá»i dùng kết hợp vá»›i đầu vào tiêu chuẩn -p, --process in các tiến trình hoạt động sinh ra bởi init � --no-preserve-root không coi “/†là đặc biệt --preserve-root không xóa “/†(mặc định) -r, -R, --recursive xóa đệ quy các thư mục và ná»™i dung cá»§a chúng -d, --dir xóa bá» thư mục rá»—ng -v, --verbose cho biết những gì Ä‘ang thá»±c hiện � --no-preserve-root không coi â€/†là đặc biệt (mặc định) --preserve-root không thá»±c hiện đệ quy trên “/†� --no-preserve=DANH_SÃCH_THUỘC_TÃNH không giữ các thuá»™c tính chỉ ra --parents dùng tên tập tin nguồn đầy đủ dưới THƯ_MỤC � --one-file-system khi xóa đệ quy má»™t phân cấp, nhảy qua thư mục nằm trên hệ thống tập tin khác vá»›i hệ thống có đối số dòng lệnh tượng ứng. � --pid=Sá» vá»›i “-f†thì chấm dứt sau khi tiến trình Sá» chết -q, --quiet, --silent không bao giá» xuất phần đầu chỉ ra tên tập tin --retry cứ thá»­ mở má»™t tập tin nào đó, thậm chí nếu nó vẫn (hoặc trở thành) không tá»›i được; có ích khi Ä‘i theo tên, tức là dùng “--follow=name†� --preserve-context bảo tồn ngữ cảnh bảo mật SELinux -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux cá»§a các tập tin và thư mục � --reference=TẬP_TIN_TC sá»­ dụng nhóm cá»§a TẬP_TIN_TC thay vì chỉ định má»™t giá trị GROUP � --reference=TẬP_TIN_TC sá»­ dụng chế độ cá»§a TẬP_TIN_TC thay vì giá trị MODE � --reference=TẬP_TIN_TC sá»­ dụng owner nhóm cá»§a TẬP_TIN_TC thay vì chỉ định giá trị OWNER:GROUP � --reference=TẬP_TIN_TC sá»­ dụng ngữ cảnh bảo mật cá»§a TẬP_TIN_TC thay vì chỉ định NGá»®_CẢNH � --rfc-3339=ÄẶC_TẢ_GIỜ đưa ra ngày và giá» dạng tương thích RFC 3339. ÄẶC_TẢ_GIỜ xác định độ chính xác â€date†(ngày tháng), â€seconds†(giây) hoặc â€ns†(nanô-giây). Các thành phần ngày và giỠđịnh giá»›i bằng má»™t dấu cách đơn: 2006-08-07 12:34:56-06:00 -s, --set=CHUá»–I đặt thá»i gian theo mẫu cá»§a CHUá»–I -u, --utc, --universal in ra hay đặt Thá»i gian Quốc tế � --sort=TỪ sắp xếp theo TỪ: * general-numeric -g thuá»™c số kiểu chung * human-numeric -h thuá»™c số kiểu ngưá»i * month -M tháng * numeric -n thuá»™c số * random -R ngẫu nhiên * version -V phiên bản -V, --version-sort sắp xếp số thứ tá»± (phiên bản) má»™t cách tá»± nhiên bên trong văn bản � --sparse=KHI_NÀO Ä‘iá»u khiển việc tạo tập tin sparse. Xem dưới. --strip-trailing-slashes gỡ bá» má»i dấu gạch ngược Ä‘i theo khá»i má»—i đối số NGUá»’N � --strict cùng --check, sẽ thoát vá»›i giá trị trả vá» không phải số không vá»›i đầu vào bất kỳ � --strip-trailing-slashes xóa má»i dấu gạch nằm theo khá»i má»—i đối số NGUá»’N -S, --suffix=HẬU_Tá» ghi đè lên HẬU_Tá» thông thưá»ng � --suffix=HẬU_Tá» nối thêm hậu tố này vào MẪU. Không cho phép hậu tố chứa dấu sổ chéo. Tùy chá»n này được ngầm định nếu MẪU không kết thúc bằng chữ X. � --tag tạo tổng kiểm tra kiểu-BSD � --time-style=KIỂU_DÃNG vá»›i “-lâ€, hiển thị các thá»i gian theo KIỂU_DÃNG: * full-iso ISO đầy đủ * long-iso ISO dài * iso ISO * locale miá»n địa phương * +ÄỊNH_DẠNG. ÄỊNH_DẠNG được giải thích giống như “dateâ€; nếu ÄỊNH_DẠNG là â€ÄỊNH_DẠNG1<dòng_má»›i>ÄỊNH_DẠNG2†thì ÄỊNH_DẠNG1 áp dụng cho các tập tin không phải vừa mở, và ÄỊNH_DẠNG2 áp dụng cho các tập tin vừa mở; nếu KIỂU_DÃNG có tiá»n tố “posix-†đứng trước, KIỂU_DÃNG chỉ có tác động bên ngoài miá»n địa phương POSIX. � --tmpdir[=THƯ_MỤC] Ä‘á»c MẪU tương đối so vá»›i THƯ_MỤC. Không ghi rõ THƯ_MỤC thì dùng $TMPDIR (nếu đặt), không thì “/tmpâ€. Khi dùng tùy chá»n này, MẪU không thể là má»™t tên tuyệt đối. Không giống như “-tâ€, MẪU có thể chứa dấu gạch ngược, nhưng mktemp chỉ tạo thành phần cuối cùng. � --verbose in thông tin chẩn Ä‘oán đúng trước khi mở má»—i tập tin kết xuất � --version đưa ra thông tin phiên bản rồi thoát � --all in ra số bá»™ xá»­ lý được cài đặt --ignore=Sá» nếu có thể thì loại trừ SỠđơn vị xá»­ lý � -evenp giống như “-parenb cs8†* [-]lcase giống như “xcase iuclc olcuc†litout giống như “-parenb -istrip -opost cs8†-litout giống như “parenb istrip opost cs7†nl giống như “-icrnl -onlcr†-nl giống như “icrnl -inlcr -igncr onlcr -ocrnl -onlret†� [-]cstopb dùng hai bit dừng cho má»—i ký tá»± (má»™t vá»›i “-â€) [-]hup gá»­i tín hiệu treo khi tiến trình cuối cùng đóng tty [-]hupcl như “[-]hup†[-]parenb tạo bit tương tính chẵn lẻ trong kết quả và chá» bit tính chẵn lẻ trong dữ liệu vào [-]parodd đặt tính chẵn lẻ kiểu là lẻ (hoặc đặt “-†thì chẵn) � [-]ignpar bá» qua các ký tá»± vá»›i lá»—i tính chẵn lẻ * [-]imaxbel bíp và không làm tràn bá»™ đệm đầu vào đầy khi nhận má»™t ký tá»± [-]inlcr chuyển dòng má»›i thành return [-]inpck bật dùng kiểm tra tính chẵn lẻ đầu vào [-]istrip gá»™t bit cao (thứ 8) cá»§a các ký tá»± nhập vào � [-]isig bật dùng các ký tá»± đặc ngắt, thoát, và ngưng [-]noflsh tắt bá» làm tràn sau các ký tá»± đặc biệt gián Ä‘oạn và thoát * [-]prterase giống như “[-]echoprt†* [-]tostop dừng các công việc ná»n mà thá»­ ghi vào thiết bị cuối * [-]xcase vá»›i “icanonâ€, thoát vá»›i “\†cho các ký tá»± viết hoa � cooked giống như “brkint ignpar istrip icrnl ixon opost isig icanon†các ký tá»± eof và eol tá»›i giá trị mặc định cá»§a chúng -cooked giống như “raw†crt giống như “echoe echoctl echoke†� dec giống như “echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u†* [-]decctlq giống như “[-]ixany†ek các ký tá»± xóa và diệt tá»›i giá trị mặc định cá»§a chúng evenp giống như “parenb -parodd cs7†� ispeed N đặt tốc độ nhập vào thành N * line N dùng ká»· luật dòng N min N vá»›i “-icanonâ€, Ä‘á»c ít nhất N ký tá»± má»—i lần Ä‘á»c ospeed N đặt tốc độ đưa kết quả ra thành N � oddp giống như “parenb parodd cs7†-oddp giống như “-parenb cs8†[-]parity giống như “[-]evenp†pass8 giống như “-parenb -istrip cs8†-pass8 giống như “parenb istrip cs7†� raw giống như “-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0†-raw giống như “cooked†� sane giống như: â€cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echokeâ€, má»—i ký tá»± đặc biệt cÅ©ng có giá trị mặc định � stop KÃ_Tá»° KÃ_Tá»° sẽ dừng kết quả susp KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu dừng cá»§a thiết bị cuối * swtch KÃ_Tá»° KÃ_Tá»° sẽ chuyển sang má»™t lá»›p shell khác * werase KÃ_Tá»° KÃ_Tá»° sẽ xóa từ đã gõ cuối cùng � %% má»™t dấu % đơn %b Äá»I_Sá» là má»™t chuá»—i có các ký tá»± thoát “\†đã biên dịch, trừ khi dãy thoát bát phân có dạng “\0†hoặc “\0NNN†và tất cả các dạng C kết thúc bởi má»™t trong “diouxXfeEgGcsâ€, và đầu tiên các Äá»I SỠđã chuyển đổi tá»›i dạng thích hợp. Chiá»u dài các biến được Ä‘iá»u khiển. � %A tên đầy đủ cá»§a ngày trong tuần cá»§a miá»n địa phương (Thứ hai..Chá»§ nhật) %b tên ngắn gá»n cá»§a các tháng cá»§a miá»n địa phương (Thg 1..Thg 12) %B tên đầy đủ cá»§a các tháng cá»§a miá»n địa phương (Tháng má»™t..Tháng mưá»i hai) %c thá»i gian và ngày cá»§a miá»n địa phương (v.d. 14:36:33 MSD Thứ ba 26 Thg 4 2005) � %C thế ká»·, giống như %Y, trừ bá» quên hai chữ số cuối cùng (v.d. 21) %d ngày cá»§a tháng (ví dụ, 01) %D ngày (giống như %m/%d/%y) %e ngày cá»§a tháng, để trống thay cho việc dùng 0 ( 1..31), giống như %_d � %F ngày tháng đầy đủ (giống như %Y-%m-%d %g hai chữ số cuối cùng cá»§a năm cá»§a số thứ tá»± tuần ISO (xem %G) %G năm cá»§a số thứ tá»± tuần ISO (xem %V); thưá»ng chỉ có ích cùng vá»›i %V � %S giây (00..60); cần 60 để thích hợp vá»›i giây nhảy qua phút khác %t khoảng tab ngang %T thá»i gian (giống như %H:%M:%S) %u ngày cá»§a tuần (1..7); 1 tương ứng vá»›i Thứ Hai � %U số thứ tá»± cá»§a tuần trong năm vá»›i Chá»§ Nhật là ngày đầu tuần (00..53) %V số thứ tá»± cá»§a tuần ISO vá»›i Thứ hai là ngày đầu tuần (01..53) %w ngày trong tuần (0..6); 0 là Chá»§ Nhật %W số thứ tá»± cá»§a tuần trong năm vá»›i Thứ Hai là ngày đầu tuần (00..53) � %d số hiệu thiết bị theo dạng thập phân %D số hiệu thiết bị theo dạng thập lục %f chế độ thô theo dạng thập lục %F kiểu tập tin %g ID nhóm cá»§a ngưá»i sở hữu %G tên nhóm cá»§a ngưá»i sở hữu � %h số liên kết cứng %i số hiệu inode %m Ä‘iểm gắn kết %n tên tập tin %N tên tập tin đã trích dẫn (bá» liên kết nếu là liên kết má»m) %o kích cỡ khối I/O %s tổng kích cỡ theo byte %t kiểu thiết bị lá»›n theo dạng thập lục %T kiểu thiết bị nhá» theo dạng thập lục � %h giống như %b %H giá» (00..23) %I giá» (01..12) %j ngày cá»§a năm (001..366) � %i ID hệ thống tập tin theo dạng thập lục %l chiá»u dài tối Ä‘a cá»§a tên tập tin %n tên tập tin %s kích cỡ khối (để truyá»n nhanh hÆ¡n) %S kích cỡ khối cÆ¡ sở (để đếm các khối) %t kiểu tập tin theo dạng thập lục %T kiểu hệ thống tập tin theo dạng ngưá»i dá»… Ä‘á»c � %k giá», có khoảng trống, tương tá»± như %_H %l giá», có khoảng trống, tương tá»± như %_H %m tháng (01..12) %M phút (00..59) � %n má»™t dòng má»›i %N nanô-giây (000000000..999999999) %p chỉ ra AM hoặc PM viết hoa cá»§a miá»n địa phương (không rõ thì rá»—ng) %P chỉ ra am hoặc pm viết thưá»ng cá»§a miá»n địa phương (không rõ thì rá»—ng) %r thá»i gian, tính theo 12 giá», cá»§a miá»n địa phương (v.d. 11:11:04 CH) %R thá»i gian, tính theo 24 giá» (giống như %H:%M) %s số giây kể từ 1970-01-01 00:00:00 UTC (má»™t sá»± mở rá»™ng GNU) � %u ID cá»§a ngưá»i sở hữu %U tên ngưá»i dùng cá»§a ngưá»i sở hữu %w thá»i Ä‘iểm sinh ra tập tin, con ngưá»i Ä‘á»c được; - nếu không hiểu %W thá»i Ä‘iểm sinh ra tập tin; số giây từ Epoch; 0 nếu không hiểu %x thá»i gian truy cập cuối cùng, con ngưá»i Ä‘á»c được %X thá»i gian truy cập cuối cùng, theo giây kể từ Epoch %y thá»i gian sá»­a đổi cuối cùng, con ngưá»i Ä‘á»c được %Y thá»i gian sá»­a đổi cuối cùng, theo giây kể từ Epoch %z thá»i gian thay đổi cuối cùng, con ngưá»i Ä‘á»c được %Z thá»i gian thay đổi cuối cùng, theo giây kể từ Epoch � %x ngày theo quy định cá»§a miá»n địa phương (v.d. 22/10/07) %X giá» theo quy định cá»§a miá»n địa phương (v.d. 23:13:48) %y hai chữ số cuối cùng cá»§a năm (00..99) %Y năm (v.d. 2007) � %z +hhmm múi giá» dạng số (v.d., -0400) %:z +hh:mm múi giá» dạng số (v.d., -04:00) %::z +hh:mm:ss múi giá» dạng số (v.d., -04:00:00) %:::z múi giá» dạng số có “:†đến mức chính xác đã yêu cầu (v.d., -04, +05:30) %Z viết tắt múi giá» theo kiểu bảng chữ cái (v.d., EDT, CST) Mặc định là lệnh ngày tháng đệm trưá»ng số bằng số không (0). � + HIỆU_BÀI hiểu HIỆU_BÀI như má»™t chuá»—i, thậm chí cả khi nó là má»™t từ khóa như “match†hay má»™t toán tá»­ như “/†( BIỂU_THỨC ) giá trị cá»§a BIỂU_THỨC � +TRANG_ÄẦU[:TRANG_CUá»I], --pages=TRANG_ÄẦU[:TRANG_CUá»I] bắt đầu [dừng] in ấn ở trang TRANG_ÄẦU[_CUá»I] -CỘT, --columns=CỘT đưa ra CỘT cá»™t và in ra các cá»™t xuống dưới, trừ khi dùng “-aâ€. Cân bằng số dòng trong các cá»™t trên má»—i trang. � - +FORMAT (e.g., +%H:%M) cho định dạng “dateâ€-style � --output-delimiter=CHUá»–I phân cách các cá»™t bằng chuá»—i này � --userspec=NGƯỜI_DÙNG:NHÓM chỉ ra ngưá»i dùng và nhóm (theo mã số hay tên) cần dùng --groups=G_LIST chỉ ra các nhóm phụ kiểu g1,g2,..,gN � -0, --null kết thúc má»—i dòng kết xuất bằng 0 byte thay cho ký tá»± dòng má»›i � -A, --auto-reference đưa ra sá»± chỉ đến đã tạo ra tá»± động -G, --traditional làm việc giống vá»›i “ptx†cá»§a System V -F, --flag-truncation=CHUá»–I dùng CHUá»–I để đánh dấu sá»± cắt dòng � -C liệt kê các mục theo cá»™t --color[=KHI] phân biệt kết xuất theo màu sắc. KHI có thể là: * never không bao giá» * always luôn luôn (mặc định) * auto tá»± động Thông tin thêm xem ở dưới đây -d, --directory liệt kê mục nhập thư mục thay vì ná»™i dung, và không chỉ tá»›i đích cá»§a liên kết má»m -D, --dired tạo kết xuất thích hợp vá»›i chế độ dired cá»§a Emacs � -D tạo má»i thành phần Ä‘i trước cá»§a má»—i ÄÃCH trừ cái cuối, sau đó sao chép NGUá»’N tá»›i ÄÃCH -g, --group=NHÓM đặt quyá»n sở hữu nhóm, thay cho nhóm cá»§a tiến trình hiện thá»i -m, --mode=CHẾ_ÄỘ đặt chế độ quyá»n hạn (như trong chmod), thay cho “rwxr-xr-x†-o, --owner=SỞ_Há»®U đặt quyá»n sở hữu (chỉ cho siêu ngưá»i dùng) � -D, --all-repeated[=phương_pháp_định_giá»›i] in má»i dòng trùng phương_pháp_định_giá»›i là: * none không có (mặc định) * prepend thêm vào trước * separate phân cách Có định giá»›i bằng dòng trắng. -f, --skip-fields=N không so sánh N trưá»ng đầu tiên -i, --ignore-case không phân biệt chữ hoa/thưá»ng khi so sánh -s, --skip-chars=N không so sánh N ký tá»± đầu tiên -u, --unique chỉ in má»—i dòng duy nhất -z, --zero-terminated kết thúc dòng vá»›i 0 byte, không phải ký tá»± dòng má»›i � -D, --date-format=ÄỊNH_DẠNG dùng ÄỊNH_DẠNG cho ngày tháng trong phần đầu -e[KÃ_Tá»°[RỘNG]], --expand-tabs[=KÃ_Tá»°[RỘNG]] mở rá»™ng KÃ_Tá»° đưa vào (TAB) thành chiá»u RỘNG cá»§a tab (8) -F, -f, --form-feed dùng các dạng khác để chia trang thay cho dòng má»›i (3 dòng phần đầu cá»§a trang vá»›i “-Fâ€, hoặc 5 dòng phần đầu và gạch dài khi không có “-Fâ€) � -G, --no-group trong danh sách dài, không in ra tên nhóm -h, --human-readable vá»›i “-lâ€, in kích cỡ ở dạng dá»… Ä‘á»c (v.d. 1K 234M 2G) --si giống trên, nhưng dùng 1000 lÅ©y thừa, không phải 1024 � -H, --dereference-command-line Ä‘i theo liên kết má»m liệt kê trên dòng lệnh --dereference-command-line-symlink-to-dir Ä‘i theo má»—i liên kết má»m trên dòng lệnh chỉ tá»›i má»™t thư mục --hide=MẪU không liệt kê những mục tương ứng vá»›i MẪU cá»§a shell (ghi đè bởi “-a†hoặc “-Aâ€) � -I há»i má»—i má»™t lần xóa nhiá»u hÆ¡n 3 tập tin, hoặc: khi di chuyển đệ quy. Ãt phiá»n toái hÆ¡n“-i†trong khi vẫn đưa lại khả năng bảo vệ tránh khá»i phần lá»›n lá»—i. --interactive[=KHI] há»i KHI nào: * never không bao giá» * once (-I) má»™t lần * always (-i) luôn luôn không có KHI thì luôn luôn há»i trước � -L TẬP_TIN TẬP_TIN tồn tại và là má»™t liên kết má»m (giống như “-hâ€) -O TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID ngưá»i dùng hoạt động -p TẬP_TIN TẬP_TIN tồn tại và là má»™t đưá»ng ống có tên -r TẬP_TIN TẬP_TIN tồn tại và cho phép Ä‘á»c -s TẬP_TIN TẬP_TIN tồn tại và có kích cỡ lá»›n hÆ¡n không � -L, --logical dùng PWD từ môi trưá»ng, thậm chí nếu nó chứa liên kết tượng trưng -P, --physical tránh má»i liên kết tượng trưng � -M, --macro-name=CHUá»–I tên vÄ© lệnh để sá»­ dụng thay cho “xx†-O, --format=roff tạo ra kết quả như chỉ thị roff -R, --right-side-refs đặt sá»± chỉ đến ở bên phải, không đếm trong â€-w†-S, --sentence-regexp=BTCQ cho cuối các dòng hoặc cuối các câu (BTCQ: biểu thức chính quy) -T, --format=tex tạo kết quả như chỉ thị TeX � -R, --recursive thay đổi các tập tin và thư mục má»™t cách đệ qui � -R, --recursive thao tác trên các tập tin và thư mục má»™t cách đệ qui � -R, -r, --recursive sao chép đệ quy các thư mục --reflink[=KHI_NÀO] Ä‘iá»u khiển việc sao chép clone/CoW. Xem dưới. --remove-destination gỡ bá» má»—i tập tin đích đến đã có trước khi thá»­ mở nó (tương phản vá»›i “--forceâ€) � -S sắp xếp theo kích cỡ tập tin --sort=TỪ sắp xếp theo TỪ thay cho tên: * extension -X phần mở rá»™ng * none -U không có * size -S kích cỡ * time -t thá»i gian * version -v phiên bản --time=TỪ vá»›i “-lâ€, hiển thị thá»i gian theo TỪ thay vì thá»i gian sá»­a đổi: * atime -u thá»i gian truy cập cuối * access -u thá»i gian truy cập * use -u thá»i gian sá»­ dụng * ctime -c thá»i gian thay đổi inode cuối * status -c thá»i gian lấy trạng thái dùng thá»i gian chỉ ra làm tiêu chuẩn sắp xếp nếu “--sort=time†� -S TẬP_TIN TẬP_TIN tồn tại và là má»™t ổ cắm -t FD mô tả tập tin FD được mở trên má»™t thiết bị cuối -u TẬP_TIN TẬP_TIN tồn tại và có bit ID ngưá»i dùng đã đặt (set-user-ID) -w TẬP_TIN TẬP_TIN tồn tại và cho phép ghi -x TẬP_TIN TẬP_TIN tồn tại và cho phép thá»±c hiện (hoặc tìm kiếm) � -S, --suffix=HẬU_Tá» dùng thay cho hậu tố sao lưu thông thưá»ng -t, --target-directory=THƯ_MỤC chỉ ra THƯ_MỤC đến đó cần tạo các liên kết -T, --no-target-directory luôn coi TÊN_LIÊN_KẾT là má»™t tập tin thông thưá»ng -v, --verbose in ra tên cá»§a má»—i tập tin đã liên kết � -S[CHUá»–I], --sep-string[=CHUá»–I] phân chia các cá»™t bằng CHUá»–I, không có -S: Ký tá»± phân chia mặc định <TAB> bằng -J và <dấu_cách> nếu không (giống như -S" "), không ảnh hưởng đến các tùy chá»n cá»™t -t, --omit-header bá» Ä‘i phần đầu và phần Ä‘i theo cá»§a các trang � -T, --omit-pagination bá» qua phần đầu và phần Ä‘i theo cá»§a trang, loại trừ sá»± dàn trang bởi mẫu trong tập tin đưa vào -v, --show-nonprinting sá»­ dụng ký hiệu gạch ngược bát phân -w, --width=RỘNG_TRANG đặt chiá»u rá»™ng trang thành chiá»u RỘNG_TRANG (72) ký tá»± chỉ cho kết quả Ä‘a cá»™t văn bản, “-s[ký_tá»±]†tắt Ä‘i (72) � -T, -w, --mesg thêm trạng thái thư cá»§a ngưá»i dùng như “+â€, “-†hoặc â€?†-u, --users liệt kê những ngưá»i dùng đã đăng nhập --message giống như “-T†--writable giống như “-T†� -W, --page-width=RỘNG_TRANG đặt chiá»u rá»™ng trang thành luôn luôn RỘNG_TRANG (72) ký tá»±, cắt ngắn các dòng, trừ khi đặt tùy chá»n “-Jâ€, không can thiệp vá»›i “-S†hoặc “-s†� -W, --word-regexp=BTCQ dùng biểu thức chính quy này để tương ứng má»—i từ khóa -b, --break-file=TẬP_TIN ký tá»± phá vỡ từ trong TẬP_TIN này -f, --ignore-case đưa chữ thưá»ng thành hoa để sắp xếp -g, --gap-size=Sá» kích cỡ chá»— trống trong các cá»™t giữa các trưá»ng kết quả -i, --ignore-file=TẬP_TIN Ä‘á»c danh sách từ bá» qua từ TẬP_TIN -o, --only-file=TẬP_TIN chỉ Ä‘á»c danh sách từ từ TẬP_TIN này � -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux cá»§a TÊN thành NGá»®_CẢNH � -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux cá»§a má»—i TÊN thành NGá»®_CẢNH � -a chỉ thay đổi thá»i gian truy cập -c, --no-create không tạo tập tin nào -d, --date=CHUá»–I phân tích cú pháp cá»§a CHUá»–I và dùng nó thay cho thá»i gian hiện tại -f (bị bá» qua) � -a, --across in các cá»™t bắt chéo nhau thay vì in xuống, sá»­ dụng cùng vá»›i “-CỘT†-c, --show-control-chars dùng ký hiệu mÅ© (^G) và cách ghi gạch ngược bát phân -d, --double-space nhân đôi khoảng trắng trong kết quả � -a, --all đừng bá» qua mục bắt đầu vá»›i “.†-A, --almost-all đừng liệt kê “.†và “..†theo ngầm định --author vá»›i “-l†thì in ra tác giả cá»§a má»—i tập tin -b, --escape in ra thoát chuá»—i kiểu-C cho ký tá»± không thể hiển thị � -a, --all gồm cả những hệ thống tập tin giả -B, --block-size=Cá»  dùng khối kích Cá»  trước khi in. Ví dụ: “-BM†sẽ in cỡ cá»§a đơn vị theo 1,048,576 bytes. Xem định dạng Cá»  dưới đây. --total xuất má»™t tổng số tổng quát -h, --human-readable hiện kích cỡ ở dạng dá»… Ä‘á»c (v.d. 1K 234M 2G) -H, --si như trên, nhưng dùng số mÅ© 1000 thay cho 1024 � -a, --all chuyển đổi má»i khoảng trắng, thay vì chỉ những khoảng trắng đầu tiên --first-only chỉ chuyển đổi những dãy khoảng trắng đầu tiên (bá» qua “-aâ€) -t, --tabs=N tab có N ký tá»± thay vì 8 (bật dùng “-aâ€) -t, --tabs=DANH_SÃCH dùng DANH_SÃCH các vị trí tab định giá»›i bằng dấu phẩy (bật “-aâ€) � -a, --archive giống như “-dR --preserve=all†--backup[=ÄIỀUKHIỂN] tạo bản sao lưu cho má»—i tập tin đích đã tồn tại -b giống “--backup†nhưng không chấp nhận đối số --copy-contents sao chép ná»™i dung cá»§a tập tin đặc biệt khi đệ quy -d giống như “--no-dereference --preserve=links†� -a, --multiple há»— trợ Ä‘a tham số và xá»­ lý từng tham số như là má»™t TÊN -s, --suffix=SUFFIX gỡ bá» Ä‘uôi phụ tố SUFFIX -z, --zero ngăn cách kết xuất vá»›i NUL thay vì dòng má»›i � -a, --suffix-length=N sá»­ dụng các hậu tố vá»›i chiá»u dài N (mặc định %d) --additional-suffix=SUFFIX nối thêm hậu tố SUFFIX vàp têm tập tin. -b, --bytes=SIZE đặt SIZE byte cho má»—i tập tin kết quả -C, --line-bytes=SIZE đặt nhiá»u nhất Cá»  byte dòng cho má»—i tập tin kết quả -d, --numeric-suffixes[=FROM] sá»­ dụng hậu tố kiểu số thay cho chữ cái FROM thay đổi giá trị khởi đầu (mặc định là 0). -e, --elide-empty-files không tạo file trống vá»›i “-n†--filter=LỆNH ghi vào LỆNH shell; vá»›i tên tập tin $FILE -l, --lines=SỠđặt Sá» dòng cho má»—i tập tin kết quả -n, --number=CHUNKS sinh CHUNKS tập tin. Xem dưới đây -u, --unbuffered Sao chép trá»±c tiếp từ đầu vào tá»›i đầu ra vá»›i “-n r/...†� -b, --before gắn ký tá»± phân chia ở trước thay vì sau -r, --regex biên dịch ký tá»± phân chia như là biểu thức chính quy -s, --separator=CHUá»–I dùng CHUá»–I làm ký tá»± phân chia thay cho dòng má»›i � -b, --binary Ä‘á»c ở chế độ nhị phân � -b, --binary Ä‘á»c ở chế độ nhị phân (mặc định trừ khi Ä‘á»c đầu vào tiêu chuẩn tty) � -b, --body-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần thân -d, --section-delimiter=CC dùng CC để phân cách cách trang lôgíc -f, --footer-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần chân � -b, --bytes đếm byte thay cho cá»™t -s, --spaces ngắt dòng ở khoảng trắng -w, --width=RỘNG dùng RỘNG cá»™t thay cho 80 � -b, --bytes=DANH_SÃCH chỉ chá»n những byte này -c, --characters=DANH_SÃCH chỉ chá»n những ký tá»± này -d, --delimiter=DẤU sá»­ dụng DẤU này thay cho TAB, để phân cách các trưá»ng � -b, --ignore-leading-blanks bá» qua những khoảng trắng ở đầu -d, --dictionary-order tính chỉ các dấu cách và các ký tá»± chữ-cái/số -f, --ignore-case tính chữ thưá»ng là chữ hoa � -b, --suffix-format=ÄỊNH_DẠNG dùng sprintf ÄỊNH_DẠNG thay cho %02d -f, --prefix=TIỀN_Tá» dùng TIỀN_Tá» thay cho “xx†-k, --keep-files không xóa tập tin xuất khi có lá»—i � -c --format=ÄỊNH_DẠNG dùng ÄỊNH_DẠNG đưa ra thay cho định dạng mặc định; xuất má»™t ký tá»± dòng má»›i sau má»—i lần dùng ÄỊNH_DẠNG --printf=ÄỊNH_DẠNG giống “--formatâ€, nhưng phiên dịch thoát chuá»—i dấu gạch ngược, và không kết xuất ký tá»± dòng má»›i Ä‘i theo. Muốn tạo dòng má»›i thì thêm “\n†vào trong chuá»—i ÄỊNH_DẠNG. -t, --terse in ra thông tin dưới dạng ngắn � -c, --bytes=K xuất K byte cuối cùng; hoặc dùng “-c +K†để xuất các byte bắt đầu vá»›i byte thứ K cá»§a má»—i tập tin � -c, --bytes=[-]K in ra K byte đầu tiên cá»§a má»—i tập tin; khi có “-†ở đầu, in ra tất cả trừ K byte cuối cùng cá»§a má»—i tập tin -n, --lines=[-]K in ra K dòng đầu tiên thay vì 10; khi có “-†ở đầu, in ra tất cả trừ K dòng cuối cùng cá»§a má»—i tập tin � -c, --changes giống vá»›i --verbose nhưng chỉ báo cáo khi có thay đổi nảy sinh -f, --silent, --quiet chặn phần lá»›n các thông tin báo lá»—i -v, --verbose hiện chi tiết quá trình xá»­ lý từng tập tin � -c, --check Ä‘á»c tổng %s từ các FILE và kiểm tra � -c, --check, --check=diagnose-first kiểm tra có đầu vào đã sắp xếp; không nên sắp xếp -C, --check=quiet, --check=silent giống “-câ€, nhưng không thông báo dòng sai thứ nhất --compress-program=PROG nén các đồ tạm thá»i bằng chương trình này; để giải nén cÅ©ng đặt “-d†� -c, --count thêm vào trước các dòng số lần lặp lại cá»§a chúng -d, --repeated chỉ in những dòng lặp lại � -c, --crown-margin giữ khoảng thụt dòng cá»§a hai dòng đầu tiên -p, --prefix=CHUá»–I chỉ định dạng lại những dòng bắt đầu vá»›i CHUá»–I, gán lại chuá»—i tiá»n tố đó vào dòng đã định dạng lại -s, --split-only chia những dòng dài, nhưng không Ä‘iá»n lại � -c, --no-create không tạo tập tin nào � -d, --decode giải mã dữ liệu -i, --ignore-garbage khi giải mã thì cÅ©ng bá» qua ký tá»± không nằm trong bảng chữ cái -w, --wrap=Sá» ngắt dòng mã hoá sau số cá»™t này (mặc định 76). Giá trị 0 thì tắt chức năng ngắt dòng � -d, --delimiters=DANH_SÃCH sá»­ dụng lại các ký tá»± từ DANH_SÃCH thay cho TAB -s, --serial dán má»™t dòng cho má»—i lần thay vì dán song song � -d, --directory tạo má»™t thư mục, không phải má»™t tập tin -u, --dry-run đừng tạo gì, chỉ in ra má»™t tên (không an toàn) -q, --quiet thu hồi các hàm chẩn Ä‘oán vá» lá»—i tạo tập tin hay thư mục � -e bật chức năng Ä‘á»c ký tá»± thoát chéo ngược -E tắt chức năng Ä‘á»c ký tá»± thoát chéo ngược (mặc định) � -e bật chức năng biên dịch ký tá»± thoát gạch ngược (mặc định) -E tắt khả năng biên dịch ký tá»± thoát gạch ngược � -e, --canonicalize-existing tất cả các bá»™ phận hợp thành đưá»ng đẫn phải có sẵn -m, --canonicalize-missing không cần thành phần hợp thành đưá»ng dẫn tồn tại -L, --logical giải quyết thành phần “..†trước liên kết má»m -P, --physical giải quyết liên kết má»m khi gặp (mặc định) -q, --quiet ngăn chặn phần lá»›n các báo lá»—i --relative-to=FILE in ra đưá»ng dẫn tương đối vá»›i FILE --relative-base=FILE in ra đưá»ng dẫn tuyệt đối vá»›i FILE trừ các đưá»ng dẫn nằm trong -s, --strip, --no-symlinks không mở rá»™ng liên kết má»m -z, --zero ngăn cách kết xuất vá»›i NUL thay vì tạo dòng má»›i � -e, --echo coi má»—i Ä.Sá» là má»™t dòng nhập vào -i, --input-range=THẤP-CAO coi má»—i con số từ THẤP đến CAO là má»™t dòng nhập vào -n, --head-count=Sá» xuất nhiá»u nhất Sá» dòng -o, --output=TẬP_TIN ghi kết quả vào tập tin này, thay cho đầu ra tiêu chuẩn --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này -z, --zero-terminated kết thúc dòng bằng 0 byte, không phải ký tá»± dòng má»›i � -f không sắp xếp, dùng “-aUâ€, tắt “-ls --color†-F, --classify nối thêm chỉ thị (má»™t trong “*/=>@|â€) vào các mục --file-type cÅ©ng vậy, nhưng không nối thêm “*†--format=TỪ TỪ là: * across -x ngang qua * commas -m dấu phẩy * horizontal -x nằm ngang * long -l dài * single-column -1 cá»™t đơn * verbose -l xuất chi tiết * vertical -C thẳng đứng --full-time giống “-l --time-style=full-iso†� -f bá» Ä‘i dòng chỉ tên cá»™t trong dạng ngắn -w bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng trong dạng ngắn -i bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng và máy ở xa trong dạng ngắn -q bá» Ä‘i tên đầy đủ cá»§a ngưá»i dùng, máy ởỡa và thá»i gian nghỉ trong dạng ngắn � tham số giống như chá»n -f -t fF dấu chấm động -i -t dI số nguyên thập phân -l -t dL chiá»u dài thập phân -o -t o2 đơn vị 2 byte bát phân -s -t d2 đơn vị 2 byte thập phân -x -t x2 đơn vị 2 byte thập lục � -f TẬP_TIN TẬP_TIN tồn tại và là má»™t tập tin thông thưá»ng -g TẬP_TIN TẬP_TIN tồn tại và có đặt ID nhóm (set-group-ID) -G TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID nhóm hoạt động -h TẬP_TIN TẬP_TIN tồn tại và là má»™t liên kết má»m (giống như “-Lâ€) -k TẬP_TIN TẬP_TIN tồn tại và có đặc bit dính (sticky) � -f, --canonicalize làm hợp quy tắc bằng cách theo đệ quy má»i liên kết má»m trong má»i thành phần cá»§a tên đưa ra; tất cả thành phần (trừ mục cuối cùng) cá»§a đưá»ng dẫn phải tồn tại -e, --canonicalize-existing làm hợp quy tắc bằng cách theo đệ quy má»i liên kết má»m sau trong má»i thành phần cá»§a đưá»ng dẫn đưa ra, tất cả thành phầu cá»§a đưá»ng dẫn phải tồn tại � -f, --fields=DANH_SÃCH chỉ chá»n những trưá»ng này, đồng thá»i in má»i dòng không có ký tá»± phân cách, trừ khi đưa ra tùy chá»n “-s†-n (bị bá» qua) � -f, --follow[={tên|mô_tả}] in ra dữ liệu đã nối thêm vào cuối tập tin; “-fâ€, “--followâ€, và “--follow=mô_tả†là tương đương -F giống như “--follow=tên --retry†� -f, --force Thay đổi quyá»n hạn để cho phép ghi nhá»› nếu cần thiết -n, --iterations=Sá» ghi đè Sá» lần thay cho giá trị mặc định (%d) --random-source=TẬP_TIN Lấy các byte ngẫu nhiên từ tập tin này -s, --size=N shred số byte này (chấp nhận các hậu tố K, M, G, v.d. “102Kâ€) � -g giống “-lâ€, nhưng không liệt kê ngưá»i sở hữu � -g GID[,GID1...] cÅ©ng đặt ID nhóm chính thành GID thuá»™c số và (nếu chỉ ra) đặt các ID nhóm phụ thành GID1, ... � -g, --general-numeric-sort so sánh theo giá trị thuá»™c số kiểu chung -i, --ignore-nonprinting tính chỉ các ký tá»± có thể in được -M, --month-sort so sánh (không hiểu) < “Th1†< ... < â€Th12†� -h, --header-numbering=KIỂU_DÃNG dùng KIỂU_DÃNG để đánh số dòng phần đầu -i, --page-increment=SỠđộ tăng số thứ tá»± dòng -l, --join-blank-lines=SỠđếm Sá» dòng rá»—ng như má»™t dòng -n, --number-format=ÄỊNH_DẠNG chèn số thứ tá»± dòng theo ÄỊNH_DẠNG -p, --no-renumber không đặt lại số thứ tá»± dòng tại trang lôgíc -s, --number-separator=CHUá»–I thêm CHUá»–I vào sau số thứ tá»± dòng (có thể) � -h ÄẦU_TRANG, --header=ÄẦU_TRANG dùng má»™t phần ÄẦU_TRANG ở giữa thay cho tên tập tin trong phần đầu trang, -h "" in má»™t dòng trắng, đừng sá»­ dụng -h"" -i[KÃ_Tá»°[RỘNG]], --output-tabs[=KÃ_Tá»°[RỘNG]] thay thế khoảng trắng vá»›i các KÃ_Tá»° (TAB) thành chiá»u RỘNG tab (8) -J, --join-lines gá»™p lại các dòng đầy đủ, tắt bá» cắt dòng -W, không sắp hàng các cá»™t, alignment, --sep-string[=CHUá»–I] đặt ký tá»± phân chia � -h, --human-numeric-sort so sánh các số mà ngưá»i Ä‘á»c được (v.d. 2K 1G) � -h, --no-dereference ảnh hưởng má»—i liên kết má»m chứ không ảnh hưởng tập tin tin đích (chỉ có tác dụng trên hệ thống có thể thay đổi quyá»n sở hữu cá»§a má»™t liên kết má»m) -m thay đổi chỉ thá»i gian sá»­a đổi � -i, --ignore-case bá» qua sá»± khác nhau vá» kiểu chữ HOA/thưá»ng khi so sánh các trưá»ng -j TRƯỜNG tương đương vá»›i “-1 TRƯỜNG -2 TRƯỜNG†-o ÄỊNH_DẠNG tuân theo ÄỊNH_DẠNG khi tạo ra dòng kết quả -t KÃ_Tá»° dùng KÃ_Tá»° làm ký tá»± phân chia trưá»ng đưa vào và kết quả ra � -i, --initial không chuyển đổi tab nằm sau ký tá»± không phải trống -t, --tabs=Sá» dùng Sá» cho số ký tá»± cá»§a tab, không phải 8 � -i, --inodes liêt kê thông tin vá» inode thay cho sá»­ dụng khối -k giống như “--block-size=1K†-l, --local chỉ liệt kê hệ thống tập tin cục bá»™ --no-sync không gá»i sync trước khi lấy thông tin sá»­ dụng (mặc định) � -i, --input=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng đầu vào tiêu chuẩn -o, --output=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng đầu ra tiêu chuẩn -e, --error=CHẾ_ÄỘ Ä‘iá»u chỉnh việc chuyển hoán đệm luồng lá»—i tiêu chuẩn � -i, --interactive nhắc có nên gỡ bỠđích hay không -L, --logical bá» tham chiếu đến ÄÃCH mà nó là liên kết tượng trưng -n, --no-dereference xá»­ lý LINK_NAME như các tập tin thông thưá»ng nếu nó là liên kết tượng trưng đến má»™t thư mục -P, --physical tạo liên kết cứng trá»±c tiếp đến liên kết tượng trưng -r, --relative tạo liên kết tượng trưng tương đỗi tá»›i vị trí liên kết -s, --symbolic tạo liên kết tượng trưng thay cho liên kết cứng �-k, --key=KEYDEF sắp xếp qua khóa, KEYDEF chỉ ra vị trí và kiểu -m, --merge hòa trá»™n các tập tin đã sắp xếp rồi; chứ không sắp xếp � -l dùng dạng danh sách dài -L, --dereference khi hiển thị thông tin cho má»™t liên kết má»m, hiển thị thông tin cho tập tin mà liên kết chỉ đến thay cho bản thân liên kết -m liệt kê liá»n nhau các mục, cách nhau bởi dấu phẩy � -l, --length=DÀI_TRANG đặt chiá»u dài trang thành chiá»u DÀI_TRANG (66) dòng (số dòng mặc định cá»§a văn bản là 56, có “-F†thì 63) -m, --merge in song song tất cả các tập tin, má»—i tập tin trên má»™t cá»™t cắt ngắn các dòng, có “-J†thì cÅ©ng nhập các dòng có chiá»u dài đầy đủ. � -l, --link liên kết tập tin thay vào sao chép -L, --dereference luôn luôn theo liên kết má»m trong SOURCE � -l, --login in ra các tiến trình đăng nhập cá»§a hệ thống � -m, --mode=CHẾ_ÄỘ đặt quyá»n hạn tập tin thành CHẾ_ÄỘ, thay cho “a=rw - umask†� -m, --mode=CHẾ_ÄỘ đặt chế độ tập tin (giống như chmod), thay cho “a=rwx - umask†-p, --parents không đưa ra lá»—i nếu có, tạo thư mục mẹ khi cần thiết -v, --verbose in ra thông báo má»—i khi tạo má»™t thư mục -Z, --context=NGá»®_CẢNH đặt ngữ cảnh bảo mật SELinux cá»§a má»—i thư mục đã tạo thành NGá»®_CẢNH � -n, --digits=CHá»®_Sá» dùng số chữ số CHá»®_Sá» thay cho 2 -s, --quiet, --silent không in ra kích thước cá»§a má»—i tập tin xuất -z, --elide-empty-files xóa tập tin xuất rá»—ng � -n, --lines=K xuất K dòng cuối cùng, thay cho %d cuối cùng hoặc dùng “-n +K†để xuất các dòng bắt đầu từ dòng thứ K --max-unchanged-stats=N vá»›i “--follow=tênâ€, mở lại má»™t FILE không có kích cỡ thay đổi sau N (mặc định %d) lần lặp lại để xem nó có bị bá» liên kết hay đổi tên chưa (đây thưá»ng là trưá»ng hợp các tập tin theo dõi đã quay vòng). Khi đã có inotify, chức năng này trở nên không cần thiết. � -n, --no-clobber không ghi đè lên má»™t tập tin đã có (có quyá»n cao hÆ¡n má»™t tùy chá»n “-i†đặt trước) -P, --no-dereference không bao giá» nên theo liên kết má»m trong NGUá»’N � -n, --numeric-sort so sánh theo giá trị thuá»™c số kiểu chuá»—i -R, --random-sort sắp xếp theo hash ngẫu nhiên cá»§a khoá --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này -r, --reverse đảo ngược kết quả so sánh � -n, --numeric-uid-gid giống “-lâ€, nhưng liệt kê UID và GID dạng số -N, --literal in ra tên thô cá»§a các mục (v.d. không coi các ký tá»± Ä‘iá»u khiển là đặc biệt) -o giống “-lâ€, nhưng không liệt kê thông tin vá» nhóm -p, --indicator-style=slash nối thêm vào thư mục chỉ thị “/†� -n[PHÂN_CÃCH[CHá»®_Sá»]], --number-lines[=PHÂN_CÃCH[CHá»®_Sá»]] đánh số dòng, sá»­ dụng CHá»®_Sá» (5) chữ số, sau đó PHÂN_CÃCH (TAB), mặc định đếm bắt đầu từ dòng thứ nhất cá»§a tập tin nhập vào -N, --first-line-number=Sá» bắt đầu đếm vá»›i Sá» tại dòng thứ nhất cá»§a trang in đầu tiên (xem “+TRANG_ÄẦUâ€) � -o, --indent=LỀ thụt má»—i dòng vá»›i LỀ (số không) khoảng trắng, không ảnh hưởng “-w†hoặc “-Wâ€, LỀ sẽ được thêm vào chiá»u RỘNG_TRANG -r, --no-file-warnings bá» Ä‘i cảnh báo khi không mở được má»™t tập tin � -o, --io-blocks tính kích Cá»  là má»™t số khối VR thay cho các byte � -o, --output=TẬP_TIN ghi kết quả vào tập tin này thay cho đầu ra tiêu chuẩn -s, --stable ổn định sắp xếp bằng việc tắt so sánh sắp xếp lại cuối cùng -S, --buffer-size=Cá»  dùng Cá»  cho bá»™ nhá»› đệm chính � -p giống như “--preserve=mode,ownership, timestamps†--preserve[=DS_T.TÃNH] bảo tồn các thuá»™c tính chỉ ra (mặc định: * mode chế độ * ownership quyá»n sở hữu * timestamps dấu vết thá»i gian) cÅ©ng có thể có các thuá»™c tính mở rá»™ng: * context ngữ cảnh * links các liên kết * xattr * all tất cả � -p THƯ_MỤC dùng T.MỤC làm tiá»n tố; ngầm định “-t†[bị phản đối] -t diá»…n dịch MẪU là má»™t thành phần tên tập tin đơn, tương đối so vá»›i má»™t thư mục: $TMPDIR, nếu đặt; không thì thư mục được ghi rõ vá»›i “-pâ€; không thì “/tmp†[bị phản đối] � -p, --parents gỡ bá» THƯ_MỤC và các thư mục cấp trên nó; v.d. “rmdir -p a/b/c†tương tá»± vá»›i “rmdir a/b/c a/b aâ€. -v, --verbose đưa ra chuẩn Ä‘oán cho má»—i thư mục được xá»­ lý � -p, --preserve-timestamps áp dụng thá»i gian truy cập/sá»­a đổi cho các tập tin NGUá»’N tá»›i các tập tin đích tương ứng -s, --strip cắt bá» các bảng ký hiệu --strip-program=TRÃŒNH chương trình dùng để cắt bá» tập tin nhị phân -S, --suffix=HẬU_Tá» ghi đè hậu số sao lưu thưá»ng dùng -t, --target-directory=THƯ_MỤC sao chép má»i đối số NGUá»’N vào THƯ_MỤC -T, --no-target-directory coi ÄÃCH như má»™t tập tin thông thưá»ng -v, --verbose in ra tên cá»§a má»—i thư mục khi tạo ra nó � -q, --count má»i tên đăng nhập và số ngưá»i dùng đã đăng nhập -r, --runlevel in bậc chạy (runlevel) hiện thá»i -s, --short chỉ in tên, dòng và thá»i gian (mặc định) -t, --time in sá»± thay đổi đồng hồ hệ thống cuối cùng � -q, --hide-control-chars in dấu “?†thay cho các ký tá»± không phải đồ há»a --show-control-chars hiển thị các ký tá»± không phải đồ há»a như chúng có (mặc định trừ khi chương trình là “ls†và đầu ra là thiết bị cuối) -Q, --quote-name đặt tên các mục trong ngoặc kép --quoting-style=TỪ dùng dạng trích dẫn TỪ cho tên các mục: * literal văn chương * locale miá»n địa phương * shell shell * shell-always luôn luôn shell * c * escape thoát � -q, --quiet, --silent không in ra phần đầu cho biết tên tập tin -v, --verbose luôn luôn in ra phần đầu cho biết tên tập tin � -r, --reference=TẬP_TIN hiển thị lần sá»­a cuối cùng cá»§a TẬP_TIN -R, --rfc-2822 đưa ra ngày tháng dạng tương thích RFC 2822 Thí dụ: T2, 07 Th8 2006 12:34:56 -0600 � -r, --reference=TẬP_TIN dùng thá»i gian cá»§a tập tin này thay cho thá»i gian hiện thá»i -t TEM dùng [[CC]YY]MMDDhhmm[.ss] thay cho thá»i gian hiện tại --time=TỪ thay đổi thá»i gian chỉ ra: TỪ là access, atime, hoặc use: tương đương vá»›i “-a†TỪ là modify hoặc mtime: tương đương vá»›i “-m†� -r, --reference=TẬP-TIN-TC dá»±a trên cỡ cá»§a tập tin dùng để tham chiếu -s, --size=SIZE đặt hoặc Ä‘iá»u chỉnh cỡ tập tin bằng SIZE � -r, --references trưá»ng đầu tiên cá»§a má»—i dòng là má»™t sá»± tham khảo -t, --typeset-mode (chưa thá»±c hiện) -w, --width=Sá» chiá»u rá»™ng kết quả theo cá»™t, bá» Ä‘i sá»± tham khảo � -r, --reverse đảo ngược thứ tá»± khi sắp xếp -R, --recursive liệt kê đệ quy các thư mục con -s, --size in kích cỡ đã cấp phát cá»§a má»—i tập tin, theo khối � -s, --only-delimited không in ra những dòng không có ký tá»± phân cách --output-delimiter=CHUá»–I dùng CHUá»–I là ký tá»± phân cách cho kết quả in ra. Mặc định là ký tá»± phân cách đầu vào. � -s, --signal=TÃN_HIỆU, -TÃN_HIỆU chỉ ra tên hoặc số cá»§a tín hiệu cần gá»­i -l, --list liệt kê tên các tín hiệu, hoặc chuyển đổi tên tín hiệu tá»›i/từ các số -t, --table in ra bảng thông tin vá» tín hiệu � -s, --sleep-interval=N vá»›i “-f†thì ngá»§ trong khoảng N giây (mặc định 1.0) giữa hai lần lặp lại. Khi có inotify và --pid=P, kiểm tra tiến trình P ít nhất má»™t lần má»—i N giây. -v, --verbose lúc nào cÅ©ng xuất phần đầu chỉ ra tên tập tin � -s, --symbolic-link tạo liên kết má»m thay cho việc sao chép -S, --suffix=HẬU_Tá» thay cho hậu tố thưá»ng dùng để sao lưu -t, --target-directory=THƯ_MỤC sao chép má»i đối số NGUá»’N vào THƯ_MỤC -T, --no-target-directory coi ÄÃCH là má»™t tập tin thông thưá»ng � -s[KÃ_Tá»°],--separator[=KÃ_Tá»°] phân chia các cá»™t bằng má»™t ký tá»± đơn, mặc định cho KÃ_Tá»° là ký tá»± <TAB> không có “-w†và â€no char†vá»›i “-w†“-s[KÃ_Tá»°]†bá» việc cắt ngắn dòng cá»§a tất cả 3 tùy chá»n cá»™t (-CỘT|-a -CỘT|-m) trừ khi đặt “-w†� -t sắp xếp theo thá»i gian thay đổi -T, --tabsize=COLS giả định chiá»u dài tab là COLS thay cho 8 � -t tương đương vá»›i “-vT†-T, --show-tabs hiển thị ký tá»± TAB ở dạng “^I†-u (bị bá» qua) -v, --show-nonprinting dùng ký hiệu “^†và “M-â€, trừ cho LFD và TAB � -t, --field-separator=SEP phân cách các trưá»ng bằng SEP này thay ký tá»± trống -T, --temporary-directory=DIR dùng DIR làm thư mục tạm thá»i, không phải $TMPDIR hay %s; có thể chỉ định nhiá»u thư mục --parallel=N thay đổi số sắp xếp chạy đồng thá»i là N -u, --unique nếu có “-câ€, kiểm tra có thứ tá»± chặt chẽ; khi không có “-câ€, chỉ xuất kết quả chạy đầu tiên � -t, --tabs=D.SÃCH dùng danh sách các vị trí chính xác cá»§a tab (phân cách bởi dấu phẩy) � -t, --tagged-paragraph thụt dòng cá»§a dòng đầu tiên khác vá»›i dòng thứ hai -u, --uniform-spacing má»™t khoảng trống giữa các từ, hai giữa các câu -w, --width=RỘNG độ rá»™ng dòng tối Ä‘a (mặc định là 75 cá»™t) -g, --goal=RỘNG độ rá»™ng mục đích (mặc định là bằng 93% of chiá»u rá»™ng) � -t, --target-directory=THƯ_MỤC di chuyển má»i đối số NGUá»’N vào THƯ_MỤC -T, --no-target-directory coi ÄÃCH như má»™t tập tin thông thưá»ng -u, --update chỉ di chuyển khi tập tin NGUá»’N má»›i hÆ¡n tập tin ở nÆ¡i đến hoặc khi không có tập tin ở nÆ¡i đến -v, --verbose nói rõ vá» những gì Ä‘ang thá»±c hiện � -t, --text Ä‘á»c ở chế độ văn bản (mặc định khi Ä‘á»c đầu vào tiêu chuẩn tty � -t, --text Ä‘á»c ở chế độ văn bản (mặc định) � -u vá»›i “-ltâ€: sắp xếp theo, và hiển thị thá»i gian truy cập vá»›i “-lâ€: hiển thị thá»i gian truy cập và sắp xếp theo tên nếu không: sắp xếp theo thá»i gian truy cập -U không sắp xếp; liệt kê các mục theo thứ bậc cá»§a thư mục -v sắp xếp các số thứ tá»± (phiên bản) má»™t cách tá»± nhiên bên trong văn bản � -u, --remove cắt ngắn và xóa tập tin sau khi ghi đè -v, --verbose hiển thị tiến trình -x, --exact không làm tròn kích cỡ tập tin đến khối đầy tiếp theo; đây là mặc định cho các tập tin không thông thưá»ng -z, --zero thêm má»™t lần ghi đè cuối cùng bằng các số 0 để giấu việc dùng shred � -u, --update chỉ sao chép nếu tập tin NGUá»’N má»›i hÆ¡n tập tin đích đến hoặc khi thiếu tập tin đích đến -v, --verbose cho biết cụ thể những gì đã thá»±c hiện -x, --one-file-system chỉ thá»±c hiện trên hệ thống tập tin này � -u, --user=NGƯỜI_DÙNG đặt NGƯỜI_DÙNG trong ngữ cảnh bảo mật đích -r, --role=VAI_TRÃ’ đặt VAI_TRÃ’ trong ngữ cảnh bảo mật đích -t, --type=KIỂU đặt KIỂU trong ngữ cảnh bảo mật đích -l, --range=PHẠM_VI đặt PHẠM_VI trong ngữ cảnh bảo mật đích � -v TẬP_TIN_Sá» giống như “-a TẬP_TIN_Sá»â€, nhưng bá» Ä‘i các dòng nhập đã nối lại -1 TRƯỜNG nối lại ở TRƯỜNG này cá»§a tập tin 1 -2 TRƯỜNG nối lại ở TRƯỜNG này cá»§a tập tin 2 --check-order kiểm tra dữ liệu nhập vào được sắp xếp đúng không, thậm chí nếu tất cả các dòng nhập vào có khả năng ghép cặp --nocheck-order đừng kiểm tra dữ liệu nhập vào được sắp xếp đúng không --header xá»­ lý dòng đầu cá»§a từng tập tin là dòng đầu trưá»ng, in ra mà không thá»­ kết đôi � -v, --kernel-version in ra phiên bản nhân -m, --machine in ra tên phần cứng cá»§a máy tính -p, --processor in ra kiểu cá»§a bá»™ xá»­ lý, hoặc "không rõ" -i, --hardware-platform in ra tên kiến trúc phần cứng, hoặc "không rõ" -o, --operating-system in ra tên hệ Ä‘iá»u hành � -v, --starting-line-number=Sá» số thứ tá»± dòng đầu tiên trên má»—i trang lôgíc -w, --number-width=Sá» dùng Sá» cá»™t để hiển thị số thứ tá»± dòng � -v, --verbose xuất ra các chuẩn Ä‘oán cho má»i quá trính xá»­ lý tập tin � -w, --check-chars=N so sánh nhiá»u nhất N ký tá»± trên dòng � -w, --width=CỘT giả sá»­ chiá»u rá»™ng màn hình thay vì giá trị hiện thá»i -x liệt kê các mục theo dòng thay vì theo cá»™t -X sắp xếp phần mở rá»™ng các mục theo bảng chữ cái -Z, --context in bất kỳ ngữ cảnh bảo mật SELinux nào cá»§a má»—i tập tin -1 liệt kê má»™t tập tin trên má»—i dòng � -0, --null ngắt dòng bằng NUL thay vì kí tá»± xuống dòng ở đầu ra � -z, --zero-terminated kết thúc dòng vá»›i 0 byte, thay cho ký tá»± dòng má»›i � Tập tin: "%n" ID: %-8i Namelen: %-7l Kiểu: %T Cỡ block: %-10s Cỡ block cÆ¡ bản: %S Block: Tổng: %-10b Trống: %-10f Sẵn dùng: %a Inode: Tổng: %-10c Trống: %d � Tập tin: %N Cỡ: %-10s Block: %-10b IO Block: %-6o %F � Các tiến trình Ä‘ang ngá»§ không gián Ä‘oạn được thì cÅ©ng được tính trong trá»ng tải trung bình. � [:graph:] má»i ký tá»± có thể in, trừ khoảng trắng [:lower:] má»i chữ cái viết thưá»ng [:print:] má»i ký tá»± có thể in, lấy cả khoảng trắng [:punct:] má»i ký tá»± chấm câu [:space:] má»i khoảng trắng nằm ngang hoặc đứng [:upper:] má»i chữ cái viết hoa [:xdigit:] má»i chữ số thập lục [=KÃ_Tá»°=] má»i ký tá»± tương đương vá»›i KÃ_Tá»° � \0NNN byte có giá trị bát phân NNN (1 đến 3 chữ số) \xHH byte có giá trị thập lục HH (1 đến 2 chữ số) � \NNN byte có giá trị bát phân NNN (1 đến 3 chữ số) \xHH byte có giá trị thập lục HH (1 đến 2 chữ số) \uHHHH ký tá»± Unicode (ISO/IEC 10646) có giá trị thập lục HHHH (4 chữ số) \UHHHHHHHH ký tá»± Unicode có giá trị thập lục HHHHHHHH (8 chữ số) � \\ sổ chéo ngược \a cảnh giác (BEL) \b xóa lùi \c không xuất gì thêm nữa \e thoát \f kéo trang \n dòng má»›i \r xuống dòng \t cá»™t tab theo chiá»u ngang \v cá»™t tab theo chiá»u dá»c � \v tab đứng KÃ_Tá»°1-KÃ_Tá»°2 má»i ký tá»± từ KÃ_Tá»°1 đến KÃ_Tá»°2 theo thứ tá»± tăng dần [KÃ_Tá»°*] trong TẬP_HỢP2, sao chép KÃ_Tá»° tá»›i chiá»u dài cá»§a TẬP_HỢP1 [KÃ_Tá»°*REPEAT] LẶP LẠI sao chép cá»§a KÃ_Tá»°, LẶP LẠI bát phân nếu bằt đầu từ 0 [:alnum:] má»i chữ cái và chữ số [:alpha:] má»i chữ cái [:blank:] má»i khoảng trắng nằm ngang [:cntrl:] má»i ký tá»± Ä‘iá»u khiển [:digit:] má»i chữ số � ascii từ EBCDIC tá»›i ASCII ebcdic từ ASCII tá»›i EBCDIC ibm từ ASCII tá»›i EBCDIC thay thế block thêm mục ghi dừng dòng má»›i vá»›i khoảng trắng đến kích cỡ cbs unblock thay thế khoảng trắng theo sau trong mục ghi kích cỡ cbs bằng dòng má»›i lcase thay đổi chữ HOA thành chữ thưá»ng ucase thay đổi chữ thưá»ng thành chữ HOA sparse thá»­ thay đổi vị trí thay vì ghi kết xuất cho khối đầu vào NUL swab trao đổi má»i cặp byte đưa vào sync thêm má»i khối đầu vào vá»›i NUL đến kích thước ibs; khi sá»­ dụng vá»›i block hoặc unblock, thêm bằng khoảng trắng thay vì NUL � binary sá»­ dụng I/O nhị phân cho dữ liệu � cio dùng I/O đồng quy cho dữ liệu � count_bytes coi â€count=N†như là số lượng byte (chỉ vá»›i cá» iflag) �Äặt Cá»  thì xuất Cá»  byte cho má»—i số nguyên: d[Cá» ] số thập phân không dấu f[Cá» ] dấu chấm động o[Cá» ] số bát phân u[Cá» ] số thập phân không dấu x[Cá» ] số thập lục � direct sá»­ dụng I/O trá»±c tiếp cho dữ liệu � directory không thành công nếu không phải thư mục � dsync dùng I/O đã đồng bá»™ cho dữ liệu � excl lá»—i nếu tập tin kết quả đã có nocreat không tạo tập tin kết quả notrunc không cắt ngắn tập tin kết quả noerror tiếp tục sau khi gặp lá»—i Ä‘á»c fdatasync ghi vật lý dữ liệu tập tin kết quả lên đĩa trước khi thoát fsync như trên, nhưng đồng thá»i ghi cả siêu dữ liệu � fullblock tích luỹ các khối đầy đủ dữ liệu nhập vào (chỉ iflag) � if=TẬP_TIN Ä‘á»c từ TẬP_TIN thay cho đầu vào tiêu chuẩn iflag=CỜ Ä‘á»c tùy theo danh sách các ký hiệu phân cách bởi dấu phẩy obs=BYTES ghi BYTES byte má»—i lần (mặc định: 512) of=TẬP_TIN ghi vào TẬP_TIN thay cho đầu ra tiêu chuẩn oflag=CỜ ghi tùy theo danh sách các ký hiệu phân cách bởi dấu phẩy seek=KHá»I bá» qua KHá»I khối vá»›i kích thước obs ở đầu đầu ra skip=KHá»I bá» qua KHá»I khối vá»›i kích thước ibs ở đầu đầu vào status=CÃI-GÃŒ CÃI-GÃŒ sẽ được chặn lại khi kết xuất ra đầu ra lá»—i; `noxfer' bá» Ä‘i thông kê truyá»n tải, `none' chặn tất cả � noatime không cập nhật giá» truy cập � nochace bá» qua dữ liệu tạm lưu � noctty không ấn định thiết bị cuối Ä‘iá»u khiển từ tập tin � nofollow không Ä‘i theo liên kết má»m � nolinks lá»—i nếu có nhiá»u liên kết � nonblock sá»­ dụng I/O không đặt khối � none, off không bao giá» tạo bản sao lưu (dù đưa ra “--backupâ€) numbered, t tạo các bản sao lưu đã đánh số existing, nil đánh số nếu có bản sao lưu đánh số, nếu không thì đơn giản simple, never luôn luôn tạo sao lưu đơn giản � seek_bytes coi â€seek=N†là số lượng byte (chỉ cá» oflag) � skip_bytes coi treat â€skip=N†là số lượng byte (chỉ cá» ilag) � sync như trên, nhưng đồng thá»i cho cả siêu dữ liệu � text sá»­ dụng I/O văn bản cho dữ liệu � %H:%M%P � (sao lưu: %s)� * [-]ctlecho đưa ra ký tá»± control ở dạng mÅ© (“^câ€) [-]echo đưa ra ký tá»± nhập vào * [-]echoctl giống như “[-]ctlecho†[-]echoe giống như “[-]crterase†[-]echok đưa ra má»™t dòng má»›i sau má»™t ký tá»± diệt � * [-]echoke giống như “[-]crtkill†[-]echonl đưa ra má»™t dòng má»›i thậm chí nếu không đưa ra ký tá»± khác * [-]echoprt đưa ra ngược lại ký tá»± bị xóa, giữa “\†và “/†[-]icanon bật dùng các ký tá»± đặc biệt xóa, diệt, werase, và rprnt [-]iexten bật dùng các ký tá»± đặc biệt không phải POSIX � * [-]iuclc chuyển ký tá»± viết hoa thành viết thưá»ng * [-]ixany bất kỳ ký tá»± nào không chỉ ký tá»± khởi động cÅ©ng chạy lại đầu vào [-]ixoff bật dùng việc gá»­i ký tá»± chạy/dừng [-]ixon bật dùng Ä‘iá»u khiển luồng XON/XOFF [-]parmrk đánh dấu lá»—i tính chẵn lẻ (vá»›i má»™t dãy 255-0 ký tá»±) [-]tandem giống như “[-]ixoff†� * [-]iutf8 coi như các ký tá»± đưa vào được mã hóa UTF-8 � * [-]ocrnl chuyển return thành dòng má»›i * [-]ofdel dùng các ký tá»± xóa để làm đầy thay cho các ký tá»± rá»—ng * [-]ofill dùng các ký tá»± làm đầy (độn thêm) thay cho thá»i gian trì hoãn * [-]olcuc chuyển ký tá»± viết thưá»ng thành viết hoa * [-]onlcr chuyển dòng má»›i thành return-dòng má»›i * [-]onlret dòng má»›i tạo ra má»™t return � * [-]onocr không in ra return trong cá»™t đầu tiên [-]opost xá»­ lý cuối cùng kết quả * tabN kiểu trì hoãn cá»§a tab ngang, N nằm trong [0..3] * tabs giống như “tab0†* -tabs giống như “tab3†* vtN kiểu trì hoãn cá»§a tab dá»c, N nằm trong [0..1] � * eol2 KÃ_Tá»° KÃ_Tá»° xen kẽ để kết thúc dòng erase KÃ_Tá»° KÃ_Tá»° sẽ xóa ký tá»± cuối cùng gõ vào intr KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu gián Ä‘oạn kill KÃ_Tá»° KÃ_Tá»° sẽ xóa dòng hiện thá»i � * lnext KÃ_Tá»° KÃ_Tá»° sẽ nhập ký tá»± tiếp theo trong ngoặc quit KÃ_Tá»° KÃ_Tá»° sẽ gá»­i má»™t tín hiệu thoát * rprnt KÃ_Tá»° KÃ_Tá»° sẽ vẽ lại dòng hiện thá»i start KÃ_Tá»° KÃ_Tá»° sẽ chạy lại kết quả sau khi dừng nó � * rows N cho nhân biết thiết bị cuối có N dòng * size in ra số hàng và số cá»™t theo thông tin cá»§a nhân speed in ra tốc độ cá»§a thiết bị cuối time N vá»›i “-icanonâ€, đặt thá»i gian chá» Ä‘á»c thành N phần mưá»i cá»§a má»™t giây � ??:???? � TTY�ngữ cảnh=%s� egid=%s� euid=%s� gid=%s� nhóm=� cÅ© � khi lặp lại %s �% 1% cá»§a bá»™ nhá»›, b 1, K 1024 (mặc định), và tương tá»± cho M, G, T, P, E, Z, Y. Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. *** CẢNH BÃO *** Biến môi trưá»ng địa phương ảnh hưởng đến thứ tá»± sắp xếp. Äặt “LC_ALL=C†để dùng thứ tá»± sắp xếp truyá»n thống theo giá trị byte gốc. �%.*s: sai sá»± xác định chuyển đổi�%e %b %Y�%H:%M %e %b�%lu ngưá»i dùng�%s (cho biểu thức chính quy %s)�%s -> %s (há»§y sao lưu) �%s [-d] đã chấm dứt bất thưá»ng�%s và %s là cùng má»™t tập tin�%s có nhưng không phải là thư mục�%s đã xuất hiện; Ä‘i theo cuối cá»§a tập tin má»›i�%s đã trở thành có thể truy cập�%s đã trở thành không thể truy cập�%s bị thay thế bằng má»™t tập tin từ xa thì chịu thua vá» tên này�%s bị thay thế bởi tập tin không thể tail nên đầu hàng vá»›i tên này�%s bị thay thế; Ä‘i theo cuối cá»§a tập tin má»›i�%s có kiểu tập tin chưa lạ�%s có kích cỡ vô ích có vẻ là âm�Trang chá»§ %s: <%s> �Trang chá»§ %s: <http://www.gnu.org/software/%s/> �%s không phải là má»™t số nguyên dương hợp lệ�%s là quá lá»›n�%s dùng được chỉ vá»›i hạt nhân SELinux�tiến trình con %s�tiến trình con %s bị lá»—i�tiến trình con %s đã nhận tín hiệu nghiệm trá»ng %d�%s đưa ra còn %s không phải�%s muốn ghi đè kết xuất; Ä‘ang bá» qua�%s%s nhận đối số “%s†là quá lá»›n�%2$s-%1$s�%s: %s quá lá»›n nên không thể đại diện�%s: %s: số dòng vượt quá giá»›i hạn�%s: %s: không tìm thấy�%s: %s:%s: sai thứ tá»±: �%s: cần “}†trong số lượng lặp lại�%s: mở hoặc Ä‘á»c BỊ Lá»–I �%s: cần toán tá»­ hai ngôi�%s: chỉ tạo được liên kết má»m tương đối trong thư mục hiện thá»i�%s: không thay đổi được chế độ không chặn�%s: không thể xác định cỡ tập tin�%s: không tìm thấy tên cho ID ngưá»i dùng %lu �%s: không thể Ä‘i theo cuối cá»§a kiểu tập tin này; đầu hàng vá»›i tên này�%s: không thể lseek lại vị trí gốc�%s: không ghi đè được thư mục�%s: không thể tua lại�%s: không thể di chuyển vị trí Ä‘á»c�%s: không thể di chuyển vị trí Ä‘á»c tá»›i offset đối vá»›i cuối %s�%s: không thể tìm tá»›i offset %s�%s: không thể di chuyển tá»›i offset tương đối %s�%s: không thể shred mô tả tập tin chỉ cho phép nối thêm vào�%s: không thể bá» qua�%s: không thể nhảy đến tá»›i offset đưa ra�%s: thiếu dấu phân cách đóng “%câ€�%s: không đặt lại được chế độ non-blocking (không chặn)�%s: Ä‘i vào thư mục %s không? �%s: Ä‘i vào thư mục đã bảo vệ chống ghi %s không? �%s: gặp kết thúc tập tin�%s: toán hạng hạng tương đương phải là má»™t ký tá»± đơn�%s: lá»—i cắt ngắn�%s: lá»—i ghi tại hiệu %s�%s: cần má»™t số�%s: lá»—i đóng�%s: lá»—i lấy ngữ cảnh hiện thá»i�%s: lá»—i mở để ghi�%s: lá»—i xóa�%s: gặp lá»—i khi đặt lại con trá» tập tin�%s: fcntl bị lá»—i�%s: fdatasync bị lá»—i�%s: tập tin có kích cỡ âm�%s: tập tin đã rút ngắt quá nhiá»u�%s: tập tin quá lá»›n�%s: tập tin quá dài�%s: tập tin đã bị cắt ngắn�%s: fstat bị lá»—i�%s: fsync bị lá»—i�%s: không cho phép liên kết cứng tá»›i thư mục�%s: dữ liệu vào chứa má»™t vòng lặp:�%s: dữ liệu vào chứa má»™t số lẻ các hiệu bài�%s: tập tin đầu vào là tập tin đầu ra�%s: cần số nguyên sau dấu phân cách�%s: cỡ khối IO không hợp lệ�%s: sai PID�%s: sai số mảnh�%s: sai số đếm tại đầu cá»§a %s�%s: sai chỉ thị�%s: sai xác định trưá»ng %s�%s: sai kích cỡ tập tin�%s: sai dạng tập tin�%s: sai số trạng thái không thay đổi tối Ä‘a giữa các lần mở�%s: số sai�%s: số byte sai�%s: sai số gói�%s: số dòng sai�%s: sai số lần thá»±c hiện�%s: sai số giây�%s: con số không hợp lệ cần bá» qua�%s: tùy chá»n không hợp lệ -- “%c†�%s: mẫu sai�%s: mã số tiến trình sai�%s: biểu thức chính quy không hợp lệ: %s�%s: tín hiệu sai�%s: sai giá trị bắt đầu cho hậu tố dạng số�%s: sai chiá»u dài hậu tố�%s: số thứ tá»± dòng phải lá»›n hÆ¡n không�%s: số dòng vượt quá giá»›i hạn�%s: lseek bị lá»—i�%s: đã chỉ ra nhiá»u tín hiệu�%s: quyá»n hạn má»›i là %s, không phải %s�%s: không tìm thấy dòng tổng kiểm tra %s vá»›i định dạng đúng�%s: không có thông tin kích cỡ cho thiết bị này�%s: không có ngưá»i dùng này�%s: không liệt kê thư mục đã liệt kê�%s: số byte quá lá»›n�%s: tùy chá»n “%c%s†không cho phép má»™t đối số �%s: tùy chá»n “%s†chưa rõ ràng; khả năng là:�%s: tùy chá»n “--%s†không cần đối số �%s: tùy chá»n “--%s†cần má»™t đối số �%s: tùy chá»n “-W %s†không cho phép có đối số �%s: tùy chá»n “-W %s†không rõ ràng �%s: tùy chá»n “-W %s†cần má»™t đối số �%s: tùy chá»n cần má»™t đối số -- “%c†�%s: ghi đè %s? �%s: thá»±c hiện %lu/%lu (%s)...�%s: lần %lu/%lu (%s)...%s�%s: lần %lu/%lu (%s)...%s/%s %d%%�%s: lá»—i Ä‘á»c�%s: xóa %s %s không?(k/c) �%s: xóa đệ quy má»i đối số không? �%s: xóa má»i đối số không? �%s: xóa %s có bảo vệ chống ghi đè %s không?(k/c) �%s: đã xóa�%s: Ä‘ang xóa�%s: đã đổi tên thành %s�%s: thay thế %s không? �%s: di chuyển vị trí để Ä‘á»c gặp lá»—i�%s: quá nhiá»u dòng tổng kiểm tra�%s: thá»­ ghi đè lên %s, cÅ©ng có quyá»n cao hÆ¡n chế độ %04lo (%s)? �%s: không nhận ra chiá»u dài tên tập tin tối Ä‘a�%s: không thể thá»±c hiện má»i thao tác yêu cầu�%s: cần toán tá»­ má»™t ngôi�%s: không nhận ra tùy chá»n “%c%s†�%s: không nhận ra tùy chá»n “--%s†�%s: giá trị chưa được chuyển đổi hoàn toàn�%s: lá»—i ghi nhá»›�%s: lá»—i ghi�%s:%lu: dòng sai; thiếu hiệu bài thứ hai�%s:%lu: sai tên tập tin chiá»u dài không�%s:%lu: không nhận ra từ khóa %s�%s}: cần số nguyên giữa “{†và “}â€�â€�cần â€)â€�cần “)â€, tìm thấy %s�â€-%c†ký tá»± mở rá»™ng hoặc số sai trong đối số: %s�thiếu tham số “--pages=TRANG_ÄẦU[:TRANG_CUá»I]â€�â€-N Sá»â€ sai số dòng bắt đầu: %s�â€-W CHIỀU_RỘNG_TRANG†sai số ký tá»±: %s�â€-l CHIỀU_DÀI_TRANG†sai số cá»§a dòng: %s�â€-o LỀ†sai vị trí tương đối dòng: %s�â€-w CHIỀU_RỘNG_TRANG†sai số ký tá»±: %s�©�* hệ thống tập tin nhá»› tạm ở vị trí tạm thá»i, như trình khách NFS phiên bản 3 * hệ thống tập tin đã nén �* các hệ thống tập tin cấu trúc log hoặc journal, như những hệ thống cá»§a AIX và Solaris (và JFS, ReiserFS, XFS, Ext3, v.v...) * hệ thống tập tin ghi dữ liệu thừa và phục hồi khi có lá»—i ghi nhá»› chẳng hạn như các hệ thống tập tin dá»±a trên RAID * hệ thống tập tin tạo ảnh chụp (hiện trạng), như cá»§a các máy phục vụ NFS Network Appliance �, mức tải trung bình: %.2f�, %g s, %s/s �tùy chá»n --%s nhận đối số %s quá lá»›n�--context (-Z) chỉ hoạt động vá»›i hệ thống há»— trợ SELinux�--filter không xá»­ lý bó được xuất ra stdout�--reflink chỉ có thể dùng vá»›i --sparse=auto�--tag không há»— trợ chế độ --text�-R --dereference cần hoặc -H hoặc -L�-R -h cần -P�-ef không chấp nhận -l�-nt không chấp nhận -l�-ot không chấp nhận -l�<ná»™i bá»™>�??? �?????�Bị há»§y bá»�Truy cập: %x Ngày sá»­a: %y Thay đổi: %z Ngày tạo: %w �Truy cập: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Nhóm địa chỉ cho tên máy không được há»— trợ�Äồng hồ báo thức�Äã xá»­ lý xong má»i yêu cầu�Vùng đệm đối số quá nhá»�Arnold Robbins�Còn�Còn�Cú gá»i hệ thống sai�Giá trị ai_flags sai�Brian Fox�á»ng dẫn bị ngắt�Lá»—i bus�CẨN THẬN: Chú ý rằng chức năng shred dá»±a trên má»™t tính chất quan trá»ng: đó là hệ thống tập tin ghi đè dữ liệu tại chá»—. Äây là cách truyá»n thống để thá»±c hiện, nhưng nhiá»u hệ thống tập tin má»›i có thiết kế không thoả mãn. Dưới đây là những hệ thống tập tin mà shred không thá»±c hiện được trên chúng, hoặc shred không chắc chắn là có thể thá»±c hiện đúng trên chúng ở má»i chế độ cá»§a hệ thống tập tin: �CHÚ_THÃCH�Vượt quá giá»›i hạn thá»i gian CPU�Gá»i hàm số link để tạo liên kết có tên TẬP_TIN2 tá»›i má»™t TẬP_TIN1 đã có. �Gá»i hàm “unlink†để xóa TẬP_TIN chỉ ra. �Dung lượng�Thay đổi nhóm cá»§a má»—i TẬP_TIN thành NHÓM. Khi có --reference, nhóm cá»§a má»—i TẬP_TIN được lấy từ TẬP_TIN_TC. �Thay đổi quyá»n truy cập cá»§a má»—i TẬP_TIN thành MODE. Khi có --reference, gán quyá»n cho từng TẬP_TIN bằng giá trị này từ TẬP_TIN_TC. �Thay đổi chá»§ sở hữu và/hoặc nhóm cá»§a từng FILE thành OWNER và/hoặc GROUP. Vá»›i tùy chá»n --reference, thay đổi chá»§ và nhóm cá»§a từng FILE giống vá»›i TẬP_TIN_TC. �Chet Ramey�Tiến trình con đã kết thúc�Colin Plumb�So sánh các tập tin đã sắp xếp TẬP_TIN1 và TẬP_TIN2 theo từng dòng. �Ghép nối các FILE, hoặc đầu vào tiêu chuẩn, xuất đầu ra chuẩn. -A, --show-all tương đương vá»›i “-vET†-b, --number-nonblank đánh số dòng kết quả không rá»—ng -e tương đương vá»›i “-vE†-E, --show-ends hiển thị “$†tại cuối má»—i dòng -n, --number đánh số tất cả những dòng cá»§a kết quả -s, --squeeze-blank không bao giá» có hÆ¡n má»™t dòng rá»—ng đơn �Ngữ cảnh: %C �Äã tiếp tục�Sao chép tập tin, chuyển đổi và định dạng theo các toán hạng. bs=BYTES Ä‘á»c và ghi BYTES byte má»—i lần cbs=BYTES chuyển đổi BYTES byte má»—i lần conv=CONVS chuyển đổi tập tin tùy theo danh sách các ký hiệu, phân cách nhau bởi dấu phẩy count=Sá» chỉ sao chép Sá» khối đầu vào ibs=BYTES Ä‘á»c BYTES byte má»—i lần (mặc định: 512) �Sao chép đầu vào tiêu chuẩn vào má»—i TẬP_TIN, và đồng thá»i vào đầu ra tiêu chuẩn. -a, --append nối thêm vào các TẬP_TIN chỉ ra, không ghi đè -i, --ignore-interrupts bá» qua tín hiệu gián Ä‘oạn �Tạo tạm thá»i má»™t tập tin hay thư mục má»™t cách an toàn, và in tên cá»§a nó. MẪU phải chứa ít nhất 3 chữ X liên tiếp trong thành phần cuối cùng. Không ghi rõ MẪU thì dùng “tmp.XXXXXXXXXXâ€, và “--tmpdir†được dùng. �David M. Ihnat�David MacKenzie�David Madore�Thiết bị: %Dh/%dd Inode: %-10i Liên kết: %-5h Kiểu thiết bị: %t,%T �Thiết bị: %Dh/%dd Inode: %-10i Liên kết: %h �Chẩn Ä‘oán tên tập tin không hợp lệ hay tên tập tin không khả chuyển. -p kiểm tra có hệ thống POSIX (nhận ra phần lá»›n) -P kiểm tra có tên rá»—ng và dấu gạch nối đứng trước “-†--portability kiểm tra có hệ thống POSIX (nhận ra tất cả); bằng tùy chá»n “-p -P†�Thư mục: �Dmitry V. Levin�Bá» má»i nhóm phụ, giả sá»­ ID ngưá»i dùng và ID nhóm cá»§a NGƯỜI_DÙNG chỉ ra (ID thuá»™c số hay tên ngưá»i dùng), và chạy câu LỆNH vá»›i má»i Äá»I_SỠđưa ra. Thoát vá»›i trạng thái 111 nếu không thể dùng UID và GID yêu cầu. Nếu không, thoát vá»›i trạng thái thoát cá»§a câu LỆNH. Chương trình này chỉ có ích khi chạy bởi root (UID=0). �Bẫy EMT�THOÃT�Má»—i phạm vi là má»™t trong: N Byte, ký tá»± hoặc trưá»ng thứ N đếm từ 1 N- Từ byte, ký tá»± hoặc trưá»ng thứ N đến cuối dòng N-M Từ byte, ký tá»± hoặc trưá»ng thứ N đến M (tính cả M) -M Từ byte, ký tá»± hoặc trưá»ng đầu tiên đến thứ M (tính cả M) Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. �Hiển thị CHUá»–I ra đầu ra tiêu chuẩn. -n không in ra ký tá»± dòng má»›i Ä‘i theo �Eric Blake�Thoát vá»›i mã trạng thái thất bại.�Thoát vá»›i mã trạng thái thành công.�Thoát vá»›i trạng thái xác định bởi BIỂU_THỨC. �F. Pinard�BỊ Lá»–I�FIXME: không hiểu�ÄỊNH_DẠNG phải thích hợp để in ra má»™t đối số kiểu “doubleâ€; nó có giá trị mặc định là “%.PRECf†nếu ÄẦU, ÄỘ_TÄ‚NG, và CUá»I Ä‘á»u là số thập phân dấu chấm cố định có độ chính xác tối Ä‘a PREC, và nếu không thì là %g. �FIFO không có các số thiết bị lá»›n và nhá».�Vượt quá giá»›i hạn kích cỡ tập tin�Tập tin được tạo u+rw, và thư mục u+rwu, không có ràng buá»™c umask. �Hệ thống tập tin�Ngoại lệ dấu chấm động�Äể xem tài liệu hướng dẫn đầy đủ, hãy Ä‘á»c: info coreutils "%s invocation" �Vá»›i má»—i cặp dòng văn bản đưa vào vá»›i trưá»ng để gia nhập giống nhau, ghi má»™t dòng văn bản ra đầu ra tiêu chuẩn. Trưá»ng để gia nhập mặc định là đầu tiên, giá»›i hạn bở khoảng trắng. Khi FILE1 hoặc FILE2 (không đồng thá»i) là “-â€, Ä‘á»c đầu vào tiêu chuẩn. -a FILENUM in ra dòng không có cặp từ tập tin số FILENUM, ở đó FILENUM là 1 hoặc 2, tương ứng vá»›i FILENUM1 hoặc FILENUM2 -e EMPTY thay thế các trưá»ng nhập thiếu bằng EMPTY �Bắt buá»™c ghi vào đĩa các khối đã thay đổi, cập nhật siêu khối. �Trợ giúp chung vá» sá»­ dụng phần má»m GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Treo�I/O có thể�NGHỈ�ITrống�%IDùng�IDùng�Ian Lance Taylor�Nghỉ�Nếu không đưa ra TẬP_TIN, thì sá»­ dụng %s. %s được dùng như là TẬP_TIN chung. �Câu lệnh không đúng�Thêm vào đó, bản sao lưu hệ thống tập tin và máy nhân ở xa có thể chứa bản sao cá»§a tập tin không thể xóa, và do đó cho phép phục hồi tập tin đã bị tẩy bởi shred. �Tên thật: �Trong trưá»ng hợp cá»§a hệ thống tập tin ext3, sá»± từ bá» trên là thích hợp (thì shred chỉ có tác động bị hạn chế) chỉ ở chế độ “data=journal†(dữ liệu = nhật ký), mà làm nhật ký các dữ liệu thêm vào chỉ siêu dữ liệu. Trong cả hai chế độ “data=ordered†(dữ liệu = thứ tá»±) (mặc định) và “data=writeback†(dữ liệu = ghi vá»), shred thức hiện như bình thưá»ng. Vẫn còn có thể thay đổi chế độ làm nhật ký cá»§a ext3 bằng cách thêm tùy chá»n “data=gì†vào các tùy chá»n gắn kết cho má»™t hệ thống tập tin nào đó trong tập tin “/etc/fstabâ€, như diá»…n tả trên trang hướng dẫn vá» chức năng mount (man mount). �Vô hạn�B vô cùng�Yêu cầu thông tin�Inode�Ngắt�Bị ngắt bởi tín hiệu�Sai tham chiếu ngược�Sai tên hạng ký tá»±�Ký tá»± đối chiếu không hợp lệ�Ná»™i dung “\{\}†không hợp lệ�Sai biểu thức chính quy Ä‘i trước�Sai kết thúc phạm vi�Biểu thức chính quy không hợp lệ�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Bị giết�ÄÆ¯á»œNG�ÄÄ‚NG_NHẬP�Äăng nhập�Tên đăng nhập: �Kiểm tra số nguyên tố Lucas gặp lá»—i. Äây là Ä‘iá»u không nên xảy ra�Mark Kettenis�Matthew Bradburn�Lá»—i cấp phát bá»™ nhá»›�Cạn bá»™ nhá»›�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Gắn vào�TÊN�Tên�Không rõ tên hay dịch vụ�Niels Moller�Không có địa chỉ tương ứng vá»›i tên máy�Không tìm thấy�Không có biểu thức chính quy Ä‘i trước�Lá»—i không thể phục hồi khi phân giải tên�OK�Chỉ được đưa ra má»™t chuá»—i khi xóa mà không vắt việc lặp lại.�Tùy chá»n sắp xếp: �Tùy chá»n khác: �ÄÆ°a ra các câu lệnh đặt biến môi trưá»ng LS_COLORS. Nhận ra định dạng kết quả: -b, --sh, --bourne-shell đưa ra mã Bourne shell đặt LS_COLORS -c, --csh, --c-shell đưa ra mã C shell đặt LS_COLORS -p, --print-database xuất các giá trị mặc định �In ra từng TÊN không có dấu gách chéo ở đầu và cuối; nếu TÊN không chứa “/†nào, thì in ra “.†(có nghÄ©a là thư mục hiện thá»i). �Giá»›i hạn phụ thuá»™c vào ná»n tảng kết xuất theo má»™t định dạng thích hợp vá»›i văn lệnh shell. �Cho biết hiện thá»i ai đã đăng nhập theo TẬP_TIN. Nếu không đưa ra TẬP_TIN, thì sá»­ dụng %s. %s là TẬP_TIN chung. �PID�Gói đóng bởi %s �Gói đóng bởi %s (%s) �Padraig Brady�Chuá»—i tham số sai mã hoá�Paul Eggert�Paul Rubin�Pete TerMaat�Kế hoạch: �Gián Ä‘oạn trong việc cấp năng lượng�Kết thúc sá»›m biểu thức chính quy�In (các) Ä.Sá» theo ÄỊNH_DẠNG, hoặc thá»±c hiện tùy theo TÙY_CHỌN: �In ra tổng kiểm tra CRC và số byte cá»§a má»—i TẬP_TIN. �In ra má»™t số thông tin vá» hệ thống. Không có TÙY_CHỌN thì giống như “-sâ€. -a, --all in ra má»i thông tin, theo thứ tá»± sau, bá» Ä‘i “-p†và “-i†nếu không biết: -s, --kernel-name in ra tên nhân -n, --nodename in ra tên máy cá»§a nút mạng -r, --kernel-release in ra bản phát hành nhân �In ra tổng kiểm tra và số đếm khối cho má»—i TẬP_TIN. -r dùng thuật toán tính tổng BSD, dùng các khối 1K -s, --sysv dùng thuật toán tính tổng System V, dùng các khối 512 byte �In ra (các) nhóm chứa má»—i TÊN_NGƯỜI_DÙNG hoặc, nếu không đưa ra TÊN_NGƯỜI_DÙNG, cho tiến trình hiện thá»i (mà có thể khác nếu cÆ¡ sở dữ liệu nhóm bị thay đổi). �In ra thông tin vá» những ngưá»i dùng chưa đăng xuất. �In ra kiến trúc cá»§a máy. �In số dòng má»›i, từ, và byte cá»§a má»—i FILE, và tổng số dòng cÅ©ng in dòng tổng số riêng nếu chỉ ra nhiá»u FILE. Khi không có FILE, hoặc khi FILE là “-â€, Ä‘á»c đầu vào tiêu chuẩn. Má»™t từ là má»™t dãy ký tá»± định giá»›i bằng khoảng trắng mà không có chiá»u dài số không. Có thể dùng má»™t trong các hoặc nhiá»u các tùy chá»n dưới đây để in số đếm, theo thứ tá»± sau: dòng má»›i, từ, ký tá»±, byte, độ dài dòng lá»›n nhất. -c, --bytes in số đếm byte -m, --chars in số đếm ký tá»± -l, --lines in số đếm dòng má»›i �In ra thá»i gian hiện tại, thá»i gian hệ thống đã chạy liên tục, số ngưá»i dùng trên hệ thống, và số trung bình các công việc trong hàng đợi chạy trong 1, 5 và 15 phút cuối cùng.�In ra tên tập tin cá»§a thiết bị cuối đã kết nối vá»›i đầu vào tiêu chuẩn. -s, --silent, --quiet không in gì, chỉ trả lại trạng thái thoát �In ra tên đầy đủ cá»§a thư mục làm việc hiện thá»i. �In ra tên cá»§a ngưá»i dùng hiện thá»i. �In ra số đơn vị xá»­ lý sẵn sàng cho tiến trình hiện thá»i, má»™t số có thể nhá» hÆ¡n số bá»™ xá»­ lý trá»±c tuyến �In ra các nhân số nguyên tố cá»§a má»—i số nguyên Sá». Nếu không có đối số chỉ ra trên dòng lệnh, thì Ä‘á»c chúng từ đầu vào tiêu chuẩn. �In ra tên tập tin tuyệt đối đã phân giải; tất cả nhưng thành phần cuối cùng phải tồn tại sẵn �In ra tên ngưá»i dùng tương ứng vá»›i ID ngưá»i dùng hiện thá»i hoạt động. Giống như “id -unâ€. �In thông tin vá» ngưá»i dùng và nhóm đối vá»›i TÊN_NGƯỜI_DÙNG đưa ra, hoặc (khi không đưa ra TÊN_NGƯỜI_DÙNG) vá» ngưá»i dùng hiện thá»i. -a bá» qua để tương thích vá»›i các phiên bản khác -Z, --context chỉ in ngữ cảnh bảo mật cá»§a ngưá»i dùng hiện thá»i -g, --group chỉ in ID cá»§a nhóm hoạt động -G, --groups in ID cá»§a má»i nhóm -n, --name in ra tên thay cho số, dùng cho các tùy chá»n “-ugG†-r, --real in ra ID thá»±c sá»± thay cho ID hoạt động, dùng vá»›i “-ugG†-u, --user chỉ in ra ID hoạt động cá»§a ngưá»i dùng �Hiển thị giá trị cá»§a má»™t liên kết má»m hoặc tên tập tin chuẩn tắc. �Äang xá»­ lý yêu cầu�Quá hạn bá»™ đếm thá»i gian theo dõi cách sá»­ dụng tiá»m năng hệ thống�Dá»± án: �Q. Frank Xia�Thoát�Randy Smith�Tín hiệu thá»i gian thá»±c %d�Biểu thức chính quy quá lá»›n�Xoá (há»§y liên kết) các TẬP_TIN. -f, --force bá» qua tập tin không tồn tại, không bao giá» há»i trước -i há»i trước má»—i lần xóa �Gỡ bá» má»—i THƯ_MỤC trống. --ignore-fail-on-non-empty bá» qua má»—i lần thất bại do thư mục không trống gây ra �In lặp lại má»™t dòng vá»›i tất cả CHUá»–I chỉ ra, hoặc “yâ€. �Thông báo lá»—i %s tá»›i: %s �Hãy thông báo lá»—i dịch “%s†cho <http://translationproject.org/team/vi.html> �Yêu cầu bị huá»· bá»�Yêu cầu không bị huá»· bá»�Mất tài nguyên�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Chạy câu LỆNH vá»›i thư mục gốc (root) đặt là Gá»C_MỚI. �Chạy câu LỆNH, và bá» qua tín hiệu treo (hangup). �Russell Coker�Scott Bartram�Scott Miller�Lá»—i phân Ä‘oạn�Không há»— trợ tên dịch vụ cho ai_socktype�Hãy đặt “LC_ALL=â€C†để giải quyết vấn Ä‘á».�Shell: �Simon Josefsson�Cỡ�Tập tin đặc biệt yêu cầu các số thiết bị lá»›n và nhá».�Lá»—i đống�Bị dừng�Bị dừng (tín hiệu)�Bị dừng (đầu vào TTY)�Bị dừng (kết xuất TTY)�Stuart Kemp�Thành công�Lá»—i hệ thống�GIỜ�Lá»—i tạm thá»i phân giải tên�Bị chấm dứt�Theo sau “%†có thể đặt những tùy chá»n cá» sau: - (dấu gạch nối) không đệm trưá»ng _ (dấu gạch dưới) đệm trưá»ng bằng dấu cách 0 (số không) đệm trưá»ng bằng số không ^ in ra chữ hoa nếu có thể # in ra chữ đối diện nếu có thể �Äã so sánh hai chuá»—i %s và %s.�Torbjorn Granlund�Bẫy tìm đưá»ng / Ä‘iểm ngắt�Có dấu chéo ngược theo sau�Chuyển đổi, vắt, và/hoặc xóa các ký tá»± từ đầu vào tiêu chuẩn, ghi ra đầu ra tiêu chuẩn. -c, -C, --complement dùng phần bù cá»§a TẬP_HỢP1 -d, --delete xóa các ký tá»± trong TẬP_HỢP1, không chuyển đổi -s, --squeeze-repeats thay thế má»—i dãy đưa vào cá»§a má»™t ký tá»± lặp liệt kê trong TẬP_HỢP1 bằng lần xuất hiện đơn cá»§a ký tá»± đó -t, --truncate-set1 đầu tiên xén TẬP_HỢP1 thành chiá»u dài cá»§a TẬP_HỢP2 �Hãy thá»­ lệnh “%s --help†(trợ giúp) để biết thêm thông tin. �Thá»­ lệnh “%s ./%s†để xóa tập tin %s. �Chỉ được đưa ra hai chuá»—i khi làm cả hai việc xóa và vắt việc lặp lại.�Phải đưa ra hai chuá»—i khi chuyển đổi.�Kiểu�Ulrich Drepper�Lá»—i lạ�Không nhận ra tín hiệu %d�Lá»—i hệ thống lạ�Có má»™t ký tá»± “(†hay “\(†lẻ đôi�Có má»™t ký tá»± “)†hay “\)†lẻ đôi�Có má»™t ký tá»± “[†hay “[^†lẻ đôi�Có má»™t ký tá»± “\{†lẻ đôi�Äiá»u kiện I/O khẩn�Cách dùng: %s �Cách dùng: %s LỆNH [Ä.Sá»]... hoặc: %s TÙY_CHỌN �Cách dùng: %s NGá»®_CẢNH LỆNH [đối_số...] hoặc: %s [ -c ] [-u NGƯỜI_DÙNG] [-r VAI_TRÃ’] [-t KIỂU] [-l PHẠM_VI] LỆNH [đối_số...] �Cách dùng: %s BIỂU_THỨC hoặc: %s TÙY_CHỌN �Cách dùng: %s TẬP_TIN hoặc: %s TÙY_CHỌN �Cách dùng: %s TẬP_TIN1 TẬP_TIN2 hoặc: %s TÙY_CHỌN �Cách dùng: %s ÄỊNH_DẠNG [Ä.Sá»]... hoặc: %s TÙY_CHỌN �Cách dùng: %s TÊN [HẬU_Tá»] hoặc: %s TÙY_CHỌN...TÊN... �Cách dùng: %s Sá»[HẬU_Tá»]... hoặc: %s TÙY_CHỌN Tạm dừng trong vòng Sá» giây. HẬU_Tá» có thể là: * s giây (mặc định) * m phút * h giá» * d ngày Không giống như phần lá»›n bản thá»±c hiện yêu cầu Sá» là số nguyên, ở đây Sá» có thể là số thá»±c dấu chấm động. ÄÆ°a ra hai đối số hoặc nhiá»u hÆ¡n thì tạm dừng trong thá»i gian là tổng các giá trị đó. �Cách dùng: %s TÙY_CHỌN... LỆNH �Cách dùng: %s TÙY_CHỌN... TẬP_TIN... �Cách dùng: %s TÙY_CHỌN... [TẬP_TIN]... �Cách dùng: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [CÀI-ÄẶT]... hoặc: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [-a|--all] hoặc: %s [-F THIẾT_BỊ | --file=THIẾT_BỊ] [-g|--save] �Cách dùng: %s [-RỘNG] [TÙY_CHỌN]... [TẬP_TIN]... �Cách dùng: %s [-s TÃN_HIỆU | -TÃN_HIỆU] PID... hoặc: %s -l [TÃN_HIỆU]... hoặc: %s -t [TÃN_HIỆU]... �Cách dùng: %s [TẬP_TIN]... hoặc: %s [TÙY_CHỌN] �Cách dùng: %s [TÊN] hoặc: %s TÙY_CHỌN In hoặc đặt tên máy cho hệ thống hiện thá»i. �Cách dùng: %s [Sá»]... hoặc: %s TÙY_CHỌN �Cách dùng: %s [TOÃN_HẠNG]... hoặc: %s TÙY_CHỌN �Cách dùng: %s [TÙY_CHỌN] �Cách dùng: %s [TÙY_CHỌN] In ra số nhận diện (thập lục) máy chá»§ hiện thá»i. �Cách dùng: %s [TÙY_CHỌN] THỜI_LƯỢNG LỆNH [Ä.Sá»]...] or: %s [TÙY_CHỌN] �Cách dùng: %s [TÙY-CHỌN] TÊN... �Cách dùng: %s [TÙY_CHỌN] Gá»C_MỚI [LỆNH [Ä.Sá»]...] hoặc: %s TÙY_CHỌN �Cách dùng: %s [TÙY_CHỌN] [LỆNH [Ä.Sá»]...] �Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN] Ghi danh sách đã sắp xếp hoàn toàn mà thích hợp vá»›i sá»± sắp xếp má»™t phần trong TẬP_TIN. Khi không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. �Cách dùng: %s [TÙY_CHỌN]... �Cách dùng: %s [TÙY_CHỌN]... NGá»®_CẢNH TẬP_TIN... hoặc: %s [TÙY_CHỌN]... [-u NGƯỜI_DÙNG] [-r VAI_TRÃ’] [-l PHẠM_VI] [-t KIỂU] TẬP_TIN... hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN... �Cách dùng: %s [TÙY_CHỌN]... THƯ_MỤC... �Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN MẪU... �Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN... �Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN1 TẬP_TIN2 �Cách dùng: %s [TÙY_CHỌN]... NHÓM TẬP TIN... hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN... �Cách dùng: %s [TÙY_CHỌN]... CUá»I hoặc: %s [TÙY_CHỌN]... ÄẦU CUá»I hoặc: %s [TÙY_CHỌN]... ÄẦU ÄỘ_TÄ‚NG CUá»I �Cách dùng: %s [TÙY_CHỌN]... CHẾ_ÄỘ[,CHẾ_ÄỘ]... TẬP_TIN... hoặc: %s [TÙY_CHỌN]... CHẾ_ÄỘ_BÃT_PHÂN TẬP_TIN... hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN... �Cách dùng: %s [TÙY_CHỌN]... TÊN KIỂU [LỚN NHỎ] �Cách dùng: %s [TÙY_CHỌN]... TÊN... �Cách dùng: %s [TÙY_CHỌN]... TẬP_HỢP1 [TẬP_HỢP2] �Cách dùng: %s [TÙY_CHỌN]... [ TẬP_TIN | Ä.Sá»1 Ä.Sá»2 ] �Cách dùng: %s [TÙY_CHỌN]... [+ÄỊNH_DẠNG] hoặc: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] C là viết tắt cá»§a thế ká»·, Y năm, M tháng, D ngày, h giá», m phút và s giây. �Cách dùng: %s [TÙY_CHỌN]... [-T] NGUá»’N ÄÃCH hoặc: %s [TÙY_CHỌN]... NGUá»’N... THƯ_MỤC hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUá»’N... �Cách dùng: %s [TÙY_CHỌN]... [-T] NGUá»’N ÄÃCH hoặc: %s [TÙY_CHỌN]... NGUá»’N... THƯ_MỤC hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUá»’N... hoặc: %s [TÙY_CHỌN]... -d THƯ_MỤC... �Cách dùng: %s [TÙY_CHỌN]... [-T] ÄÃCH TÊN_LIÊN_KẾT (dạng thứ 1) hoặc: %s [TÙY_CHỌN]... ÄÃCH (dạng thứ 2) hoặc: %s [TÙY_CHỌN]... ÄÃCH... THƯ_MỤC (dạng thứ 3) hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC ÄÃCH... (dạng thứ 4) �Cách dùng: %s [TÙY_CHỌN]... [-] [TÊN=GIÃ_TRỊ]... [LỆNH [Ä.Sá»]...] �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN] �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN] hoặc: %s -e [TÙY_CHỌN]... [Ä.Sá»]... hoặc: %s -i LO-HI [TÙY_CHỌN]... �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]... �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]... hoặc: %s [-abcdfilosx]... [TẬP_TIN] [[+]HIỆU[.][b]] hoặc: %s --traditional [TÙY_CHỌN]... [TẬP_TIN] [[+]HIỆU[.][b] [+][NHÃN][.][b]] �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]... hoặc: %s [TÙY_CHỌN]... --files0-from=F �Cách dùng: %s [TÙY_CHỌN]... [TẬP_TIN]... In hoặc tính tổng kiểm tra %s (%d bit). Nếu không có TẬP_TIN, hoặc khi TẬP_TIN là “-â€, Ä‘á»c đầu vào tiêu chuẩn. �Cách dùng: %s [TÙY_CHỌN]... [VÀO [RA]] �Cách dùng: %s [TÙY_CHỌN]... [ÄẦU_VÀO [TIỀN_Tá»]] �Cách dùng: %s [TÙY_CHỌN]... [VÀO]... (không có “-Gâ€) hoặc: %s -G [TÙY_CHỌN]... [VÀO [RA]] �Cách dùng: %s [TÙY_CHỌN]... [NGƯỜI_SỞ_Há»®U][:[NHÓM]] TẬP_TIN... hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_TC TẬP_TIN... �Cách dùng: %s [TÙY_CHỌN]... [MẪU] �Cách dùng: %s [TÙY_CHỌN]... [TÊN_NGƯỜI_DÙNG] �Cách dùng: %s [TÙY_CHỌN]... [TÊN_NGƯỜI_DÙNG]... �Cách dùng: %s [TÙY_CHỌN]... [NGƯỜI_DÙNG]... �Cách dùng: %s [TÙY_CHỌN]... [BIẾN]... In ra các giá trị cá»§a (những) biến môi trưá»ng đưa ra. Không đưa ra BIẾN môi trưá»ng thì in cặp tên/giá_trị cho má»—i biến. �Cách dùng: %s [TÙY_CHỌN_NGẮN]... NGƯỜI_DÙNG LỆNH [Äá»I_Sá»]... hoặc: %s TÙY_CHỌN_DÀI �Cách dùng: %s [TÙY_CHỌN_NGẮN]... [CHUá»–I]... hoặc: %s TÙY-CHỌN-DÀI �Cách dùng: %s [CHUá»–I]... hoặc: %s TÙY_CHỌN �Cách dùng: %s [các đối số dòng lệnh bị bá» qua] hoặc: %s TÙY_CHỌN �Cách dùng: test BIỂU_THỨC hoặc: test hoặc: [ BIỂU_THỨC ] hoặc: [ ] hoặc: [ TÙY_CHỌN �%Dùng�Dùng�Tín hiệu tá»± định nghÄ©a 1�Tín hiệu tá»± định nghÄ©a 2�Những đối số hợp lệ:�Äối số không hợp lệ là: �Các dãy định dạng đúng cho hệ thống tập tin: %a các khối còn trống cho ngưá»i dùng không phải siêu ngưá»i dùng %b tổng số khối dữ liệu trong hệ thống tập tin %c tổng số nút tập tin trong hệ thống tập tin %d số nút tập tin còn trống trong hệ thống tập tin %f số khối còn trống trong hệ thống tập tin �Quá hạn bá»™ đếm thá»i gian ảo�CẢNH BÃO: cấu trúc thư mục vòng quanh. Gần chắc chắn là hệ thống tập tin đã bị há»ng. HÃY THÔNG BÃO CHO NGƯỜI QUẢN Là HỆ THá»NG. Thư mục sau nằm trong vòng quay: %s �CẢNH BÃO: bá» qua -context (-Z) vì hệ thống không há»— trợ SELinux�CẢNH BÃO: bá» qua --preserve-context vì hệ thống không há»— trợ SELinux�CẢNH BÃO: bá» qua “--strip-program†vì không đưa ra tùy chá»n “-sâ€�Cảnh báo: �Lúc�Tại�Cá»­a sổ bị thay đổi�Dùng “--follow†(-f) thì tail mặc định theo bá»™ mô tả tập tin. Có nghÄ©a là ngay cả khi tập tin được tail cÅ©ng bị thay tên, tail cứ theo dõi kết thúc cá»§a nó. Ứng xá»­ mặc định này không có giá trị khi ngưá»i dùng thá»±c sá»± muốn theo dõi tên thật cá»§a tập tin, chứ không phải bá»™ mô tả tập tin (ví dụ, quay vòng sổ theo dõi). Hãy dùng “--follow=tên†trong trưá»ng hợp đó. Nó khiến tail theo dõi tập tin có tên đưa ra bằng má»™t cách làm cho thích nghi việc thay tên, gỡ bá» và tạo. �Viết bởi %s và %s. �Viết bởi %s, %s, %s,. %s, %s, %s, %s. %s, %s, và những ngưá»i khác. �Viết bởi %s, %s, %s,. %s, %s, %s, %s. %s, và %s. �Viết bởi %s, %s, %s,. %s, %s, %s, %s. và %s. �Viết bởi %s, %s, %s,. %s, %s, %s, và %s. �Viết bởi %s, %s, %s,. %s, %s, và %s. �Viết bởi %s, %s, %s,. %s, và %s. �Viết bởi %s, %s, %s,. và %s. �Viết bởi %s, %s và %s. �Viết bởi %s. �biểu thức “[=c=]†không được có trong chuá»—i2 khi chuyển đổi�^ không có kết quả khá»›p �^[nNkK]�^[yYcC]�_open_osfhandle gặp lá»—i�“�phải đưa ra má»™t câu lệnh vá»›i má»™t Ä‘iá»u chỉnh�không há»— trợ ai_family�Không há»— trợ ai_socktype�đối số không rõ ràng %s cho %s�chỉ đưa ra dấu phân cách dữ liệu vào khi thá»±c hiện vá»›i trưá»ng�nối thêm kết xuất vào %s�sao lưu %s sẽ phá há»§y nguồn; không sao chép %s�sao lưu %s sẽ phá há»§y nguồn; không di chuyển %s�kiểu sao lưu�tập tin đặc biệt khối�không há»— trợ tập tin đặc biệt kiểu khối�khối�cả hai tập tin không thể là đầu vào chuẩn�offset theo byte %s là quá lá»›n�không thể áp dụng ngữ cảnh đặc thù cho tập tin không có nhãn %s�không thể lấy ngữ cảnh tiến trình�không thể truy cập %s�không sao lưu được %s�không thể đồng thá»i tóm tắt, và hiển thị má»i mục�không thay đổi được quyá»n sở hữu cá»§a %s�không thay đổi được quyá»n hạn cá»§a %s�không chuyển đổi được thư mục gốc thành %s�không thể chuyển sang thư mục %s�không chuyển được sang thư mục gốc�không thể kết hợp --target-directory (-t) và --no-target-directory (-T)�không thể kết hợp “--target-directory†và “--no-target-directory†[loại từ lẫn nhau !]�không thể kết hợp hai tùy chá»n “-e†và “-iâ€�không thể kết hợp hai trong số {ascii,ebcdic,ibm}�không thể kết hợp block và unblock�không thể kết hợp direct và nocache�không thể kết hợp excl và nocreat�không thể kết hợp lcase (chữ thưá»ng) và ucase (chữ HOA)�không thể dùng chung chế độ và tùy chá»n --reference�không thể kết hợp tín hiệu vá»›i “-l†hoặc “-tâ€�không so sánh được tên tập tin %s và %s�không chuyển đổi được U+%04X thành bảng mã ký tá»± ná»™i bá»™�không chuyển đổi được U+%04X thành bảng mã ký tá»± ná»™i bá»™: %s�không sao chép được má»™t thư mục (%s) vào chính nó (%s)�không sao chép được liên kết má»m vòng tròn %s�không tạo được thư mục %s�không tạo được fifo %s�không tạo được liên kết cứng %s tá»›i %s�không tạo được liên kết %s tá»›i %s�không thể tạo ống dẫn�không tạo được tập tin thông thưá»ng %s�không tạo được tập tin đặc biệt %s�không tạo được liên kết má»m %s�không tạo được liên kết má»m %s tá»›i %s�không tạo được tập tin tạm thá»i trong %s�không truy cập được giá trị cá»§a %s�không nhận ra thiết bị và inode cá»§a %s�không thể quyết định tên máy�không thể quyết định vị trí cá»§a %s thì phục hồi việc thăm dò�không thá»±c hiện tùy chá»n --relative mà không có --symbolic�không thá»±c hiện được ioctl trên %s�không tìm thấy tên cho nhóm ID %lu�không tìm thấy tên cho ID %s�không thể theo sau %s theo tên�không thể ép buá»™c ngữ cảnh đích thành %s rồi bảo tồn nó�không fstat được %s�không lấy được thư mục hiện thá»i�không thể lấy kết quả GID�không thể lấy UID kết quả�không lấy được giá trị ưu tiên�không thể lấy GID thá»±c�không thể lấy UID thá»±c�không lấy được tên hệ thống�không lấy được cỡ cá»§a %s�không lseek được %s�không thể tạo được đồng thá»i liên kết má»m và cứng�không tạo được thư mục %s�không di chuyển được %s vào %s�không di chuyển được %s vào má»™t thư mục con cá»§a chính nó (%s)�không thể chuyển thư mục vào cái không phải thư mục: %s -> %s�không mở được %s để Ä‘á»c�không mở được %s để ghi�không mở được thư mục %s�không thể thá»±c hiện trên liên kết má»m không đầu (không tham chiếu vào đâu) %s�không thể ghi đè thư mục %s bằng cái không phải thư mục�không thể ghi đè %s (không phải thư mục) bằng thư mục %s�không thể thá»±c hiện kết xuất đã định dạng�không thể bảo tồn thuá»™c tính mở rá»™ng vì cp được tạo không có há»— trợ xattr�không thể bảo tồn ngữ cảnh bảo mật trên hệ thống không há»— trợ SELinux�không thể dùng “only†(chỉ in) nếu có nhiá»u lá»±a chá»n�không thể chỉ in tên hoặc ID thật ở dạng mặc định�không thể in ngữ cảnh bảo mật khi ghi rõ ngưá»i dùng�không thể Ä‘á»c�không Ä‘á»c được thư mục %s�không Ä‘á»c được tên tập tin từ %s�không Ä‘á»c được thông tin hệ thống tập tin cho %s�không Ä‘á»c được đồng hồ thá»i gian thá»±c�không Ä‘á»c được liên kết má»m %s�không Ä‘á»c được bảng các hệ thống tập tin đã gắn�không gỡ bỠđược %s�không xóa được thư mục: %s�không thể đặt lại vị trí cá»§a cái chỉ tập tin cho %s�không thể phục hồi bá»™ mô tả tập tin %d: dup2 bị lá»—i�không chạy được %s�không thể đặt %s�không đặt được ngày�không đặt được ID nhóm thành %lu�không thể đặt tên máy; hệ thống này thiếu chức năng�không thể đặt tên thành %s�không đặt được giá trị ưu tiên�không đặt được nhãn thá»i gian cho %s�không đặt được ID ngưá»i dùng thành %lu�không thể nhảy qua cuối cá»§a dữ liệu vào đã kết hợp�không thể xác định --null (0) vá»›i câu lệnh�không thể đồng thá»i in ra chéo nhau và in ra song song.�không chỉ ra được số cá»™t khi in ra song song�không chỉ ra được thá»i gian từ vài nguồn�không thể chia theo vài cách�không thể stat %s�không stat được thư mục hiện thá»i (bây giá» %s)�không thể lấy trạng thái vỠđầu vào tiêu chuẩn�không sá» (touch) được %s�không thể há»§y sao lưu %s�không thể há»§y liên kết %s�không thể bỠđặt %s�không thể theo dõi %s�không thể theo dõi thư mục mẹ cá»§a %s�vậy không làm việc được vá»›i lá»—i cá»§a nhân�đã thay đổi nhóm cá»§a %s từ %s thành %s �đã thay đổi quyá»n sở hữu cá»§a %s từ %s thành %s �thay đổi nhóm cá»§a %s�thay đổi quyá»n sở hữu cá»§a %s�thay đổi quyá»n hạn cá»§a %s�Ä‘ang thay đổi ngữ cảnh bảo mật cá»§a %s �hiệu ký tá»± là không�ký tá»± nằm ngoài phạm vi�tập tin đặc biệt ký tá»±�không há»— trợ tập tin đặc biệt kiểu ký tá»±�Ä‘ang gá»™t quyá»n hạn cho %s�thay đổi giá»�gặp lá»—i khi đóng�Ä‘ang đóng %s (fd=%d)�Ä‘ang đóng thư mục %s�đóng tập tin vào %s�đóng pipe đầu vào�đóng tập tin ra %s�đóng pipe xuất ra�đóng pipe trước�Ä‘ang đóng đầu vào tiêu chuẩn�chế độ tương thích há»— trợ nhiá»u nhất má»™t tập tin�xung đột các chuá»—i thay thế trưá»ng rá»—ng�chỉ ra các toán tá»­ ngữ cảnh bảo mật xung đột vá»›i nhau�không đặt được việc chuyển hoán đệm %s thành chế độ %s �không tạo được tiến trình cho %s -d�không tạo được tập tin tạm thá»i�không thể thá»±c hiện %s�không thể thá»±c hiện %s -d�không tìm thấy mục nhập thư mục trong %s có inode tương ứng�không lấy được thá»i gian khởi động�đã tạo thư mục %s�Ä‘ang tạo thư mục %s�Ä‘ang tạo tập tin %s �danh sách dấu tách kết thúc bằng má»™t gạch chéo không được thoát: %s�thư mục�chia cho không�dup2 bị lá»—i�không cho phép %s trống�tên tập tin rá»—ng�khoảng tab trống�lá»—i đóng tập tin�lá»—i trong hàm khá»›p biểu thức chính quy�lá»—i trong biểu thức chính quy tìm kiếm�lá»—i khởi tạo các chuá»—i tháng�gặp lá»—i khi theo dõi sá»± kiện inotify�lá»—i Ä‘á»c %s�gặp lá»—i khi Ä‘á»c sá»± kiện inotify�gặp lá»—i khi đợi câu lệnh�lá»—i ghi %s�thá»±c thi vá»›i FILE=%s �thoát=�tham số thêm %s�toán hạng thừa %s�không cho phép toán hạng thêm %s vá»›i “-%câ€�không thể chuẩn hóa %s�gặp lá»—i khi thay đổi ngữ cảnh cá»§a %s thành %s�gặp lá»—i khi thay đổi nhóm cá»§a %s từ %s thành %s �gặp lá»—i khi thay đổi nhóm cá»§a %s thành %s �gặp lá»—i khi chuyển đổi chế độ cá»§a %s từ %04lo (%s) thành %04lo (%s) �gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s �gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s từ %s thành %s �gặp lá»—i khi thay đổi quyá»n sở hữu cá»§a %s thành %s �gặp lá»—i khi chdir (chuyển đổi thư mục) sang %s�gặp lá»—i khi nhân bản %s từ %s�không thể đóng pipe đầu vào�gặp lá»—i khi tính ngữ cảnh má»›i�gặp lá»—i khi tạo thư mục thông qua mẫu %s�gặp lá»—i khi tạo tập tin thông qua mẫu %s�không tạo được liên kết cứng %s�không tạo được liên kết cứng %s => %s�không tạo được liên kết cứng tá»›i %.0s%s�không tạo được pipe�gặp lá»—i khi tạo ngữ cảnh bảo mật: %s�không tạo được liên kết má»m %s�không tạo được liên kết má»m %s -> %s�gặp lá»—i khi tạo tập tin tạm trong %s �không thể bá» qua cache: %s�gặp lá»—i khi mở rá»™ng %s�không tìm thấy %s�gặp lá»—i khi lấy thuá»™c tính cá»§a %s�gặp lá»—i khi lấy ngữ cảnh hiện thá»i�gặp lá»—i khi lấy ngữ cảnh tạo hệ thống tập tin�gặp lá»—i khi lấy các nhóm cho tiến trình hiện thá»i�gặp lá»—i khi lấy các nhóm cho ngưá»i dùng %s�gặp lá»—i khi lấy ngữ cảnh bảo mật cá»§a %s�gặp lá»—i khi tìm kiếm tập tin %s�gặp lá»—i khi mở %s�mở %s để Ä‘á»c gặp lá»—i�mở %s để ghi gặp lá»—i�gặp lá»—i khi bảo tồn nguồn tác giả cá»§a %s�gặp lá»—i khi giữ lại quyá»n sở hữu cá»§a %s�gặp lá»—i bảo tồn quyá»n hạn cho %s�gặp lá»—i khi bảo tồn các thá»i gian cho %s�chuyển hướng đầu lá»—i tiêu chuẩn không thành công�không chuyển hướng được đầu lá»—i tiêu chuẩn tá»›i /dev/null�gặp lá»—i khi gỡ bá» %s�gặp lá»—i khi gỡ bá» thư mục %s�gặp lá»—i khi vô hiệu hoá đầu vào tiêu chuẩn�không mở lại được %s vá»›i chế độ %s�gặp lá»—i khi phục hồi ngữ cảnh tạo tập tin mặc định�gặp lá»—i khi trở vá» thư mục làm việc khởi đầu�Äặt lại dòng dữ liệu cho %s gặp lá»—i�gặp lá»—i khi chạy câu lệnh %s�gặp lá»—i khi chạy câu lệnh: “%s -c %sâ€�gặp lá»—i khi đặt thành phần ngữ cảnh bảo mật %s thành %s�Không đặt được biến môi trưá»ng FILE�gặp lá»—i khi đặt nhóm phụ�gặp lá»—i khi đặt ngữ cảnh tạo tập tin mặc định thành %s�gặp lá»—i khi đặt mã số nhóm (GID)�gặp lá»—i khi đặt phạm vi má»›i %s�gặp lá»—i khi đặt vai trò má»›i %s�gặp lá»—i khi đặt kiểu má»›i %s�gặp lá»—i khi đặt ngưá»i dùng má»›i %s�gặp lá»—i khi đặt (các) nhóm phụ�gặp lá»—i khi khi đặt bản sao cá»§a lá»—i tiêu chuẩn để đóng khi thá»±c hiện�gặp lá»—i khi đặt ngữ cảnh bảo mật cá»§a %s thành %s�gặp lá»—i khi đặt mã số ngưá»i dùng (UID)�gặp lá»—i khi stat (lấy trạng thái vá») %s�gặp lá»—i khi tắt O_DIRECT: %s�gặp lá»—i khi cập nhật môi trưá»ng dùng %s�fdatasync bị lá»—i cho %s�fflush bị lá»—i�số trưá»ng %s là quá lá»›n�số cá»§a trưá»ng là không�các trưá»ng và vị trí Ä‘á»u đánh số từ 1�fifo�tập tin %d không sắp đúng thứ tá»±�toán hạng tập tin không thể kết hợp vá»›i “--file0-fromâ€�toán hạng tập tin không thể kết hợp vá»›i “--print-database (-p)â€�dạng hệ thống tập tin %s đã được cả chá»n và loại bá»�cuá»™c gá»i hệ thống fork (tạo tiến trình con) bị lá»—i�định dạng %s kết thúc bằng %%�định dạng %s không có chỉ thị %%�định dạng %s có quá nhiá»u chỉ thị %%�không hiểu định dạng %s có chỉ thị %%%c�không được chỉ ra chuá»—i định dạng khi in các chuá»—i có chiá»u rá»™ng bằng nhau�fsync bị lá»—i cho %s�fts_close bị lá»—i�fts_read bị lá»—i�fts_read gặp lá»—i: %s�tạo đưá»ng dẫn tương đối�lấy thuá»™c tính má»›i cá»§a %s�nhóm cá»§a %s vẫn là %s �hàm iconv không sẵn dùng�hàm iconv không thể sá»­ dụng được�id=�Ä‘ang bá» qua má»i đối số�Ä‘ang bá» qua dữ liệu vào�Ä‘ang bá» qua dữ liệu vào và nối thêm kết xuất vào %s�Ä‘ang bá» qua dữ liệu vào và chuyển hướng lá»—i tiêu chuẩn tá»›i đầu vào tiêu chuẩn�Ä‘ang bá» qua kích cỡ tab sai trong biến môi trưá»ng TABSIZE: %s�Ä‘ang bá» qua giá trị sai cá»§a biến môi trưá»ng kiểu dáng trích dẫn QUOTING_STYLE: %s�Ä‘ang bá» qua bá» rá»™ng sai trong biến môi trưá»ng cá»™t COLUMNS: %s�Ä‘ang bá» qua các đối số không-phải-tùy-chá»n�không tương thích nối lại hai trưá»ng %lu, %lu�các khoảng tab không tương thích vá»›i nhau�inotify không dùng được thì phục hồi việc trưng cầu�Dùng hết tài nguyên inotify�đầu vào đã biến mất�dòng nhập vào quá dài�gặp lá»—i khi di chuyển giữa các thiết bị: %s tá»›i %s; không xóa được đích�đối số %s%s không hợp lệ “%sâ€�sai đối số “--%s†%s�Ä‘iá»u chỉnh sai %s�đối số sai %s�tham số %s cho %s không hợp lệ�sai dạng đánh số vào phần thân: %s�sai đặt chế độ chuyển hoán đệm %s cho %s �sai ký tá»± “%c†trong chuá»—i kiểu %s�sai hạng ký tá»± %s�ngữ cảnh không hợp lệ: %s�sai chuyển đổi�hậu tố chứa sá»± xác định chuyển đổi sai: %c�hậu tố chứa sá»± xác định chuyển đổi sai: \%.3o�ngày sai %sâ€�sai định dạng ngày tháng %s�phạm vi giảm dần sai�sai thiết bị %s %s�sai kiểu thiết bị %s�số thứ tá»± trưá»ng sai: %s�sá»± xác định trưá»ng sai: %s�sai chiá»u rá»™ng trưá»ng: %s�sai số thứ tá»± tập tin trong sá»± xác định trưá»ng: %s�Cá» sai trong chỉ định hoán đổi: %%%c%c�sai đối số dấu chấm động: %s�sai dạng đánh số vài phần chân: %s�chiá»u rá»™ng chá»— trống sai: %s�nhóm không hợp lệ�nhóm không hợp lệ %s�danh sách nhóm không hợp lệ %s�nhóm không hợp lệ: %s�sai dạng đánh số vào phần đầu: %s�đầu vào sai�cỠđầu vào không hợp lệ�sai phạm vi nhập vào %s�sai số nguyên %s�sai đối số kiểu số nguyên %s�sai đếm dòng %s�sai ká»· luật cá»§a dòng %s�sai chiá»u dài trưá»ng số cá»§a dòng: %s�sai độ tăng số cá»§a dòng: %s�sai định dạng đánh số dòng: %s�sai bá» rá»™ng dòng: %s�sai số lá»›n cá»§a thiết bị %s�độ sâu tối Ä‘a “%s†không hợp lệ�sai số nhá» cá»§a thiết bị %s�chế độ không hợp lệ�chế độ sai %s�chế độ sai: %s�số không hợp lệ %s�số sai ở sau “,â€�số sai nằm sau “-â€�số sai nằm sau “.â€�số sai tại đầu trưá»ng�sai số dòng trắng: %s�sai số byte�sai số byte cần so sánh�sai số byte cần bá» qua�sai số cá»™t: %s�sai số trưá»ng cần bá» qua�sai số dòng�tùy chá»n sai -- %c�tùy chá»n sai “-- %câ€; “-WIDTH†chỉ nhận ra khi nó là tùy chá»n đầu tiên; dùng “-w N†(N là số) để thay thế�sai cÆ¡ số địa chỉ kết xuất “%câ€; nó phải là má»™t ký tá»± trong [doxn]�cỠđầu ra không hợp lệ�sai phạm vi trang %s�sai độ chính xác: %s�phạm vi sai không có Ä‘iểm cuối: -�sai số đếm lặp %s trong cấu trúc “[c*n]â€�đặc tả không hợp lệ�sai số cá»§a dòng bắt đầu: %s�cá» trạng thái không hợp lệ�hậu tố không hợp lệ %s, chứa dấu phân cách thư mục�gặp hậu tố không hợp lệ trong %s%s đối số “%sâ€�sai kích cỡ tab: %s�mẫu không hợp lệ, %s, chứa dấu phân cách thư mục�mẫu không hợp lệ, %s; vá»›i “--tmpdir†thì không thể là tuyệt đối�sai khoảng thá»i gian %s�sai định dạng kiểu thá»i gian %s�sai tùy chá»n theo sau “-- %câ€�sai chuá»—i kiểu %s�sai chuá»—i kiểu %s; hệ thống này không cung cấp kiểu dấu chấm động %lu byte�sai chuá»—i kiểu %s; hệ thống này không cung cấp kiểu tích phân %lu byte�sai tên ký tá»± chung “\%c%0*xâ€�tên ngưá»i dùng không hợp lệ�sai ngưá»i dùng %s�chiá»u rá»™ng sai: %s�sai kích cỡ ngắt dòng: %s�sai tên tập tin chiá»u dài bằng không�thá»±c hiện đệ quy trên %s là rất nguy hiểm�thá»±c hiện đệ quy trên %s là rất nguy hiểm (cÅ©ng như %s)�Khóa %lu có chiá»u ngang là 0 và sẽ bị bá» qua�Khóa %lu là số và trải rá»™ng nhiá»u trưá»ng�cuối=�dấu gạch nối “-†đứng trước trong phần cá»§a tên tập tin %s�có dấu cách ở đầu là quan trá»ng trong khóa %lu; hãy chỉ định “bâ€�giá»›i hạn %lu bị vượt quá theo chiá»u dài %lu cá»§a tên tập tin %s�giá»›i hạn %lu bị vượt quá theo chiá»u dài %lu cá»§a thành phần tên tập tin %s�vô ích khi chuyển hoán đệm theo dòng đầu vào tiêu chuẩn�tùy chá»n số đếm dòng “-%s%c...†là quá lá»›n�số thứ tá»± dòng %s nhá» hÆ¡n số thứ tá»± dòng đứng trước, %s�vượt quá số dòng có thể�tùy chá»n dài â€--megabytes†đã lá»—i thá»i và sẽ sá»›m bị loại bá»�đối số “--%s†tối Ä‘a theo giá»›i hạn rlimit hiện thá»i là %s�cạn bá»™ nhá»›�thiếu bá»™ nhá»› vì vùng nhá»› đệm đầu vào có cỡ %zu byte (%s)�thiếu bá»™ nhá»› vì vùng nhá»› đệm ra có cỡ %zu byte (%s)�hàng đợi thông Ä‘iệp�đối số “--%s†tối thiểu là %s�sắp hàng sai cấu trúc “[:upper:]†và/hoặc “[:lower:]â€�hậu tố thiếu sá»± xác định chuyển đổi %%�thiếu “]â€�thiếu đối số ở sau %s�thiếu đối số cho %s�thiếu tên lá»›p cá»§a ký tá»± “[::]â€�hậu tố thiếu sá»± xác định chuyển đổi�thiếu toán hạng tập tin đích đến sau %s�thiếu ký tá»± lá»›p tương đương “[==]â€�thiếu toán hạng tập tin�thiếu số thập lục trong dãy thoát�thiếu danh sách các trưá»ng�thiếu danh sách các vị trí�thiếu toán hạng�thiếu toán hạng sau %s�chế độ phải xác định chỉ các bit đặt quyá»n hạn tập tin�chế độ cá»§a %s đã thay đổi từ %04lo (%s) thành %04lo (%s) �chế độ cá»§a %s vẫn là %04lo (%s) �Ä‘iểm gắn `%s' đã sẵn được đảo ngược�di chuyển pipe đầu vào�khoảng tab Ä‘a ký tá»± %s�đã chỉ ra nhiá»u tùy chá»n “-iâ€�xác định nhiá»u tùy chá»n “-l†hoặc “-tâ€�đã chỉ ra nhiá»u chương trình nén�xác định nhiá»u hÆ¡n má»™t dấu cách�Ä‘a phạm vi cấp�đã chỉ ra nhiá»u tập tin kết quả�đã chỉ ra nhiá»u định dạng kết quả�đã chỉ ra nhiá»u nguồn ngẫu nhiên�đã chỉ ra nhiá»u ký tá»± sá»­a đổi tương ứng�Ä‘a vai trò�đã chỉ ra nhiá»u hÆ¡n má»™t thư mục đích�Ä‘a kiểu�Ä‘a ngưá»i dùng�liên kết má»m %s chưa thay đổi, đích đến cÅ©ng vậy �không có biến môi trưá»ng SHELL, và không đưa ra tùy chá»n kiểu shell�không thay đổi quyá»n sở hữu cá»§a %s �chưa ghi rõ lệnh�không có hệ thống tập tin được xá»­ lý�không còn tập tin nào�không có dữ liệu nhập vào từ %s�không có tên đăng nhập�chưa ghi rõ ID tiến trình�không chỉ ra được kiểu khi đổ các chuá»—i�chưa đưa ra tên ngưá»i dùng; cần chỉ ra ít nhất má»™t tên ngưá»i dùng khi dùng â€-lâ€�đối số không phải số nguyên�ký tá»± không khả chuyển %s trong tên tập tin %s�không phải má»™t tty�không phải ghi qua liên kết má»m theo sát %s�%s chứa má»™t con số quá lá»›n�số song song không thể là không�số byte�số dòng�giá trị hậu tố bằng số khởi đầu quá lá»›n so vá»›i độ dài hậu tố�Ä‘ang dùng khóa cÅ© “%sâ€; hãy dùng khóa má»›i “%s†để thay thế�offset bị tràn khi Ä‘á»c tập tin %s�bá» qua thư mục %s�chỉ má»™t cấu trúc lặp “[c*]†có thể nằm trong chuá»—i2�chỉ có thể đưa ra má»™t thiết bị�chỉ có thể đưa ra má»™t dạng danh sách�gặp lá»—i khi mở�các tùy chá»n “-%s†bị bá» qua�Tùy chá»n â€-r†chỉ áp dụng được cho so sánh phần cuối�tùy chá»n dùng theo ngữ cảnh sai -- %c�các tùy chá»n “-%s†không tương thích vá»›i nhau�hai tùy chá»n “-backup†và “-no-clobber†loại từ lẫn nhau�hai tùy chá»n “--compare†(-C) và “--preserve-timestamps†loại từ lẫn nhau�hai tùy chá»n “--compare†(-C) và “--strip†loại từ lẫn nhau�cạn các Ä‘uôi (hậu tố) kết xuất�tràn việc mở rá»™ng kích cỡ cá»§a tập tin %s�tràn việc làm tròn kích cỡ tập tin %s lên�quyá»n sở hữu cá»§a %s được giữ nguyên �quyá»n sở hữu cá»§a %s vẫn là cá»§a %s �tràn số thứ tá»± trang�chiá»u rá»™ng trang quá hẹp�giữ nguyên quyá»n hạn cho %s�bảo tồn các giá trị thá»i gian cho %s�in ra má»i dòng trùng và số đếm lặp lại là không có ý nghÄ©a�các Ä‘iểm cuối phạm vi cá»§a “%s-%s†đang ở trong thứ tá»± dãy ngược lại�lá»—i Ä‘á»c�gặp lá»—i khi Ä‘á»c�Ä‘ang Ä‘á»c thư mục %s�mục ghi quá lá»›n�Ä‘ang chuyển hướng đầu lá»—i tiêu chuẩn (stderr) tá»›i đầu ra tiêu chuẩn (stdout)�tập tin trống thông thưá»ng�tập tin thông thưá»ng�đã xóa %s �đã xóa thư mục: %s �Ä‘ang xóa thư mục, %s�mức-chạy�cá» hiệu�ký tá»± dùng để phân chia không thể là rá»—ng�đặt “LC_ALL=â€Câ€â€ để tránh vấn Ä‘á»�Ä‘ang thiết lập cá» cho %s�Ä‘ang thiết lập quyá»n hạn cho %s�Ä‘ang đặt thá»i gian cá»§a %s�đối tượng bá»™ nhá»› chia sẻ�skip-bytes + read-bytes là quá lá»›n�Ä‘ang bá» qua %s, vì nó nằm trên thiết bị khác�bá» qua tập tin %s, vì nó bị thay thế trong khi sao chép�socket�tràn hàng đợi squfof�lá»—i tiêu chuẩn�đầu vào chuẩn�đầu vào tiêu chuẩn bị đóng�đầu ra chuẩn�gặp lá»—i khi lấy trạng thái vá» tập tin�đầu lá»—i tiêu chuẩn�đầu vào tiêu chuẩn�đầu ra tiêu chuẩn�ký tá»± rác trong lá»i xác định trưá»ng�gặp lá»—i khi so sánh các chuá»—i�gặp lá»—i khi chuyển dạng chuá»—i�tiến trình strip đã kết thúc bất thưá»ng�bá» Ä‘i các dòng không phân cách chỉ có tác dụng khi thá»±c hiện vá»›i trưá»ng�liên kết má»m�lá»—i cú pháp�hệ thống khởi động�kích cỡ tab không thể là 0�kích cỡ tab chứa ký tá»± không cho phép: %s�kích cỡ tab phải tăng dần�chiá»u dài tab là quá lá»›n %s�chiá»u dài tab là quá lá»›n�tab phân cách nhau quá xa�đích %s không phải là má»™t thư mục�không cho phép dùng thư mục đích khi cài đặt thư mục�term=�thá»­ và/hoặc “[â€�các tùy chá»n “--binary†và “--text†mất ý nghÄ©a khi tính tổng kiểm tra�tùy chá»n “--compare†(-C) bị bá» qua khi bạn chỉ định má»™t chế độ có bit không cho phép�tùy chá»n “--quiet†chỉ có ý nghÄ©a khi tính tổng kiểm tra�tùy chá»n “--status†chỉ có ý nghÄ©a khi tính tổng kiểm tra�tùy chá»n “--status†chỉ có ý nghÄ©a khi tính tổng kiểm tra�tùy chá»n “--tag†chỉ có ý nghÄ©a khi tính tổng kiểm tra�tùy chá»n “--warn†chỉ có ý nghÄ©a khi tính tổng kiểm tra�cấu trúc “[c*]†chỉ có thể nằm trong chuá»—i2 khi chuyển đổi�cấu trúc lặp “[c*]†không được có trong chuá»—i1�đối số %s thiếu dấu cá»™ng “+†ở đầu; khi sá»­ dụng má»™t tùy chá»n để chỉ ra (các) ngày tháng, má»—i đối số không tùy chá»n phải là má»™t chuá»—i bắt đầu vá»›i dấu cá»™ng�dấu phân cách phải là má»™t ký tá»± đơn�lệnh theo dõi đã đổ lõi�các tùy chá»n cho dạng kết quả chi tiết và dạng có thể Ä‘á»c stty loại trừ lẫn nhau�các tùy chá»n để đưa ra cÆ¡ sở dữ liệu ná»™i bá»™ cá»§a “dircolors†và để chá»n má»™t cú pháp shell loại trừ lẫn nhau�những tùy chá»n để in ra và đặt thá»i gian không sá»­ dụng được cùng nhau�những tùy chá»n chỉ ra ngày để hiển thị loại trừ lẫn nhau�đã so sánh hai chuá»—i %s và %s�không được dùng tùy chá»n strip khi cài đặt thư mục�chiá»u dài hậu tố tổi thiểu là %zu�chuá»—i chưa được chuyển dạng là %s�thá»i gian %s vượt ra ngoài giá»›i hạn�để sá»­ dụng ID ngưá»i dùng %s thì phải cÅ©ng dùng tùy chá»n “-gâ€�quá ít X trong mẫu %s�hậu tố chứa quá nhiá»u sá»± xác định chuyển đổi %%�quá nhiá»u ký tá»± trong tập hợp�quá nhiá»u dòng lặp lại�quá nhiá»u mẫu�tổng�lá»—i theo cây: %s�đối tượng bá»™ nhá»› đặt kiểu�uid=%s�không thể hiển thị thông Ä‘iệp lá»—i�không ghi nhá»› được thư mục làm việc hiện thá»i�không thể đặt ngữ cảnh bảo mật %s�gặp lá»—i bất thưá»ng: fts_info=%d: %s xin hãy thông báo cho %s�toán tá»­ hai ngôi lạ�trạng thái chưa được biết đến từ câu lệnh (0x%X)�không hiểu luồng dữ liệu�ID ngưá»i dùng lạ: %s�giá trị không thể phân tích cho biến môi trưá»ng đặc tả màu sắc LS_COLORS�không nhận ra hệ thống tập tin kiểu 0x%08lx cho %s. xin hãy báo cáo Ä‘iá»u này cho %s. trở lại để polling�toán hạng không nhận ra %s�không hiểu tiá»n tố: %s�chạy %ld ngày %2d:%02d, �chạy ???? ngày ??:??, �hãy dùng “--no-preserve-root†để bá» qua kiểm tra này�dùng luật sắp xếp %s�sá»­ dụng %s để đại diện đầu vào tiêu chuẩn cÅ©ng không hoạt động trong chế độ hệ thống tập tin�dùng so sánh byte đơn giản�Ä‘ang đợi %s [-d]�đợi tiến trình con�Ä‘ang đợi strip�cảnh báo: �cảnh báo: %s: bá» qua các ký tá»± theo sau hằng ký tá»±�cảnh báo: %s lá»—i thay đổi ngữ cảnh thành %s�cảnh báo: “touch %s†là cách cÅ©; hãy dùng â€touch -t %04ld%02d%02d%02d%02d.%02dâ€�cảnh báo: không há»— trợ “--pid=PID†trên hệ thống này�cảnh báo: “--retry†thưá»ng có ích khi theo sau theo tên�cảnh báo: PID bị bá» qua; “--pid=PID†chỉ có ích khi theo sau�cảnh báo: không thể mang được dấu gạch ngược chưa thoát ở kết thúc chuá»—i�cảnh báo: định dạng kết thúc bằng gạch ngược�cảnh báo: không xóa được: %s�cảnh báo: tắt core dump gặp lá»—i�cảnh báo: không hiệu quả khi theo sau đầu vào tiêu chuẩn má»™t cách không giá»›i hạn�cảnh báo: bá» qua các đối số thừa nên bắt đầu từ %s�cảnh báo: offset tập tin không hợp lệ sau lá»—i Ä‘á»c�cảnh báo: sai chiá»u rá»™ng %lu nên dùng %d thay thế�cảnh bảo: số thứ tá»± dòng %s trùng vá»›i số thứ tá»± dòng đứng trước�cảnh báo: tập tin nguồn %s được chỉ ra nhiá»u hÆ¡n má»™t lần�cảnh báo: tóm tắt xung đột vá»›i “--max-depth=%luâ€�cảnh báo: tóm tắt là giống vá»›i sá»­ dụng “--max-depth=0â€�cảnh báo: dãy thoát bát phân chưa rõ ràng “\%c%c%c†đang được biên dịch như dãy 2 byte \0%c%c, “%câ€�cảnh báo: timer_create�cảnh báo: timer_settime�cảnh báo: không nhận ra dãy thoát “\%câ€�cảnh báo: Ä‘ang gỡ rối lá»—i nhân lseek cho tập tin (%s) có mt_type=0x%0lx -- xem <sys/mtio.h> để biết danh sách các kiểu�tập tin kỳ lạ�khi không cắt ngắn tập_hợp1, chuá»—i2 phải không rá»—ng�Ä‘á»c các tên tập tin từ đầu vào tiêu chuẩn thì không cho phép tên tập tin %s�khi chỉ ra dạng kết quả, không được đặt các chế độ�khi chuyển đổi vá»›i các hạng ký tá»± bù, chuá»—i2 phải ánh xạ tá»›i má»™t má»i ký tá»± trong miá»n�khi dịch string1 dài hÆ¡n string2, chuá»—i thứ 2 không được kết thúc bằng má»™t lá»›p ký tá»±�khi chuyển đổi, chỉ các lá»›p ký tá»± có cái mà xuất hiện trong chuá»—i2 là “upper†và “lowerâ€�sẽ không sao chép %s qua liên kết má»m vừa má»›i tạo %s�sẽ không tạo liên kết cứng %s tá»›i thư mục %s�sẽ không ghi đè %s vừa má»›i tạo bằng %s�khi dùng tùy chá»n “--parents†thì đích đến phải là thư mục�dùng “--suffix†(hậu tố) thì mẫu %s phải kết thúc bằng chữ X�vá»›i FILE=%s, thoát %d từ dòng lệnh: %s�vá»›i FILE=%s, tín hiệu %s từ dòng lệnh: %s�lá»—i ghi�lá»—i ghi cho %s�gặp lá»—i khi ghi�Ä‘ang ghi vào %s�phải ghi rõ tùy chá»n “-câ€, “-tâ€, “-uâ€, “-lâ€, “-r†hay ngữ cảnh�cần chỉ ra danh sách các byte, ký tá»±, hoặc trưá»ng�phải phải chỉ định mối quan hệ giữa %s và %s�bạn phải chỉ định %s hoặc %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% mục ghi vào %+% mục ghi ra �% mục ghi bị cắt ngắn �% byte (%s) đã sao chép�độ lệch quá lá»›n: không thể cắt ngắn thành chiá»u dài seek=% (%lu-byte) khối�gặp lá»—i khi cắt ngắn ở % byte trong tập tin kết quả %s�gặp lá»—i khi cấp phát má»™t vùng đệm I/O tiêu chuẩn % byte �%s: %: dòng tổng kiểm tra %s có định dạng không đúng�%: dòng tổng kiểm tra có định dạng không đúng�CẢNH BÃO: không Ä‘á»c được %�CẢNH BÃO: % đã kiểm tra KHÔNG tương ứng�số trang bắt đầu % vượt quá số đếm trang %�Trang %�tràn các khối byte % * % cho tập tin %s�không cắt được %s ở byte thứ % �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/lg.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001125152�12107204517�012100� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���Ç��0���h&��y�� L�����„f�����”f��Ìf������¬i�����­i��ø���¯i��¾���¨j��¿���gk��Â���'l��ª���êl��G��•m��ù���Ýn��º���×o��p���’p��!��q��¼���%r��w��âr��5��Zt��R��u��~���ãv�� ���bw��\���pw��w���Íw��G���Ex��ï���x��w���}y��¡���õy��#��—z����»{��š���À|��Ä���[}��D�� ~��z���e€��Þ���à€��i���¿��›���)‚��ˆ���Å‚��È���Nƒ��„���„��à���œ„��›���}…��—���†��`���±†��‚���‡����•‡��>���ªˆ��3��éˆ��K��Š��0���i‹��Ê���š‹��–���eŒ��Ê���üŒ��ç���Ç��‡���¯Ž��¾���7��á���ö��E���Ø��Œ���‘��ü���«‘��æ���¨’����“��9���¡”�����Û”�����ò”��t��•��Ì���|–��°���I—����ú—��þ��™��Ë��� ›����Ù›��7���÷œ��¼���/��F���ì��ì���3ž�� ��� Ÿ��¡��,Ÿ��¾��Π��Ð��¢��u���^¤��q���Ô¤��[��F¥��1��¢¦��S��Ô§��ë���(©��,���ª��º���Aª�����üª��ß���«��\��m¬��‹���Ê­����V®��Â���l¯��·���/°��›���ç°��g��ƒ±��p���ë²��5���\³��s���’³����´����%µ��×���D¶��ò���·��É���¸��Ê���Ù¸��ð���¤¹��–��•º��Ô���,¼��Ó���½��¬���Õ½��¤���‚¾��i���'¿��õ���‘¿��Z���‡À��.��âÀ��ž���Â��G��°Â��M��øÃ��4���FÅ��‰���{Å��F���Æ��O��LÆ��í��œÇ����ŠÉ�� ��Ë��£��'Ì��y��ËÍ�� ��EÏ��n���fÐ����ÕÐ��Ë��ðÑ����¼Ó����ÛÔ��¢���lÖ��Ö���×��¡��æ×��E���ˆÙ��J���ÎÙ��Ò���Ú�� ��ìÚ����úÛ��&�� Ý��¹��0Þ��Ý���êß��Ò���Èà��’���›á��°���.â��Ë���ßâ��¡��«ã��›���Må����éå��u���þæ����tç��1���Šè�����¼è��Ë���Lé��ƒ���ê��ƒ���œê��‚�� ë��4��£ì����Øí����êî��´��ýï��í���²ñ�� �� ò����«ó��<���±ô��‘���îô��º��€õ��ª��;÷��K���æø����2ù��z���7ú��þ���²ú��µ���±û��f��gü��5��Îý��1���ÿ��H���6ÿ��;��ÿ��Æ���»��È���‚�ý���K�q��I�Y��»�ü����L����×���_�T��7�#��Œ �÷��° �Þ���¨ �ƒ���‡ �Ñ��� �i���Ý�Í���G�Ä����Ñ���Ú�ë���¬���˜�D��§�Ó���ì�I���À��� �c��˜� ��ü�=���ê��[�*��F�’���q�C����X��H�?���¡ �S���á �š��5!�m���Ð"�û���>#�ä���:$�¨��%�$���È&�(���í&�ú���'�$���(�%���6(�*���\(���‡(�:���¦)�&���á)�9���*�#���B*�$���f*�!���‹*�Ý���­*�,���‹+�"���¸+� ���Û+� ���æ+�X��ô+�;���M-�|��‰-���/�Ô���0�Ü���ï0�þ���Ì1� ���Ë2����Ö2� ���Û2����ç2����ð2����ö2��� 3�&���%4� ���L4� ���V4����b4����u4����ˆ4����4����»4� ���×4�+���ø4����$5����=5�?���X5�D���˜5�0���Ý5����6�)���'6����Q6�0���e6�"���–6����¹6�'���É6����ñ6�/���7� ���A7����b7����z7����7����©7�>���Æ7�"���8�%���(8�B���N8�*���‘8����¼8����Û8����í8�)���ý8����'9�%���D9�,���j9����—9�#���§9�$���Ë9����ð9�/���:����@:�8���P:����‰:����ž:����½:����Ú:����î:���� ;����";����3;����H;����c;����€;����“;����¥;����¸;����É;�'���Ú;����<�*���<����H<�$���f<����‹<� ���›<����¼<�"���Ò<����õ<���� =�;���!=����]=����p=����Œ=����¨=����Å=����ã=�����>����>����0>�"���G>����j>����}>�)���—>����Á>����Þ>����ï>�"���?�1���1?�'���c?�(���‹?� ���´?�,���Õ?�,���@�'���/@�-���W@� ���…@�(���¦@�(���Ï@����ø@���� A����$A�"���?A����bA����qA�&���„A����«A�"���ÆA� ���éA� ���õA����B����B����%B����5B�5���QB�0���‡B�.���¸B����çB����C����#C�"���CC����fC�+���vC�%���¢C����ÈC����èC� ���êC����÷C����D�l���D�;��D����»E� ���ÑE����ßE�6���úE�-���1F�)���_F����‰F����›F����²F����ÉF� ���àF����ëF����ðF����öF�)���þF� ���(G����4G����FG����`G����oG� ���uG����G����G� ���¦G� ���°G� ���¼G�k��ÆG����2I����:I�K���RI�8���žI����×I� ���àI� ���ëI� ���øI�3���J�Š��8J� ���ÃK� ���ÐK�½���ÚK����˜L����§L� ���·L�ã���ÄL� ���¨M����´M�U��ÄM����O����#O�<��(O�\���eP� ���ÂP�+���ÍP�+���ùP�0���%Q� ���VQ����`Q����gQ�1���vQ����¨Q� ���ÁQ����ÌQ�@���åQ�7���&R�?���^R����žR����°R����¿R� ���ÆR����ÓR����ØR����ÞR����äR����êR����ûR�:����S����;S�¦���OS����öS�×��T� ���ÝU����èU����üU� ���V���� V����%V����<V����YV����uV�$���V����²V����ÄV����ßV� ���îV� ���úV� ���W����W� ���$W����0W����BW����SW����ZW����_W����eW� ���kW� ���xW����†W����—W����±W����ÂW� ���ÑW� ���ßW� ���ìW� ���øW����X����X���� X�#���'X����KX����TX�*���sX����žX�E���¡X����çX����ûX��� Y�o���Z����ŽZ����’Z����¢Z� ���·Z�&���ÅZ� ���ìZ� ���øZ� ���[����[� ���[�#���%[�H���I[�2���’[�i��Å[�ª���/]�š���Ú]�;���u^����±^�¸���Ï^�†���ˆ_�;���`�%���K`����q`�†���ñ`�T���xa� ��Ía�7���Øc����d����/d� ���Gd� ���Qd����^d� ���cd����od����ƒd�º���žd����Ye�D���pe����µe����Æe� ���Ûe����ée����ýe����f����f� ���,f�1���:f�'���lf� ���”f� ���¢f� ���°f����½f�&���Ðf�*���÷f����"g����*g����:g�5���?g� ���ug����g����‰g����šg����®g� ���Ãg����Ïg� ���×g����äg�$���ég� ���h�$���h����>h����Ph����fh�â��yh�C���\j�+��� j����Ìj����Ñj� ���àj����îj�����k����k����'k����9k� ���Kk����Xk� ���mk�,���xk�j���¥k�&���l� ���7l�'���Xl�0���€l����±l����Îl����ël�–��� m�)���¡m�Y���Ëm�'���%n�T���Mn�'���¢n�(���Ên����ón�X���o�@���`o�?���¡o�&���áo�š���p����£p����ºp�#���Xq�&���|q����£q�"���Âq�T���åq�g���:r�†���¢r�.���)s����Xs�"���ws�+���šs�Y���Æs�~��� t�¤���Ÿt�ä���Du�=���)v����gv�^���…v� ���äv�¢���w�F���¨w�}���ïw�'���mx�'���•x�Z���½x�`���y�!���yy�!���›y�$���½y� ���ây�¦���z�M���ªz�>���øz�'���7{�<���_{�T���œ{����ñ{����ö{����û{����|����'|����<|�¹���R|�D��� }�H���Q}�G���š}� ���â}����ì}����ñ}����÷}�´��~����»�;���Ò�3���€�/���B€�+���r€�'���ž€�#���Æ€����ê€���� ����&�<���6����s����y�����*�������¬����Ä����Þ�A���û����=‚�2���T‚�1���‡‚� ���¹‚����Å‚�!���Ø‚����ú‚�#���ƒ����%ƒ�0���Aƒ����rƒ����Œƒ����ƒ�*���®ƒ����Ùƒ����÷ƒ�"���„����:„����X„�E���w„�;���½„� ���ù„�,���…� ���G…����h…����ˆ…�+���§…�#���Ó…�#���÷…�,���†�0���H†�,���y†�#���¦†����ʆ����å†� ���û†����‡����8‡����V‡����t‡�$���“‡�"���¸‡����Û‡�'���ñ‡����ˆ�5���3ˆ����iˆ�!���ˆ����¡ˆ�1���ºˆ����ìˆ����üˆ����‰����-‰����D‰����^‰�(���n‰����—‰����°‰�.���ʼn�2���ô‰����'Š����BŠ����]Š�%���vŠ�0���œŠ�3���ÍŠ����‹�F���!‹�B���h‹�+���«‹�5���׋�1��� Œ����?Œ����XŒ�*���wŒ����¢Œ����½Œ�)���ÚŒ���������%���1� ���W� ���e����s����ƒ�8���ž����×����í����Ž����Ž�&���9Ž�'���`Ž�<���ˆŽ�:���ÅŽ�.�����!���/����Q�&���`����‡����¢����²����Æ����×����ç�#���÷�'�������C����X����q� ���Œ����­����Æ����Ý�%���ô����‘� ���6‘� ���C‘����P‘����c‘����x‘����Ž‘����¥‘�,���¼‘�+���é‘�-���’�)���C’�!���m’����’����®’����Â’�8���Ù’����“����)“����>“����T“�3���f“� ���š“����¤“� ���µ“����Á“����Ö“� ���æ“����ð“�#���”�"���'”� ���J”����k”����Š”����›”����·”����Ñ”����â”����è”����ú”�%��� •����1•�$���K•�#���p•�!���”•�'���¶•����Þ•����ô•�*���–�%���?–����e–�#���ƒ–�$���§–�%���Ì–�!���ò–�'���—����<—����[—�(���y—�,���¢—� ���Ï—�$���ð—����˜����.˜�$���@˜�#���e˜�%���‰˜����¯˜�!���Ϙ�&���ñ˜����™����,™�(���J™� ���s™�3���”™�-���È™����ö™�1���š����Aš�1���aš����“š����ªš����Åš����ßš����ùš�#���›�1���7›�.���i›����˜›����®›����À›�(���à›���� œ� ���!œ����/œ����Lœ�(���aœ����Šœ����œ�3���®œ�;���âœ�.�������M����e����z�$���˜�$���½�D���â����'ž����;ž����Lž����\ž����yž����•ž����²ž����Ìž����О����çž�)���öž�/��� Ÿ�=���PŸ�@���ŽŸ�:���ÏŸ����  �!���( ����J �,���\ ����‰ ����¥ ����· �;���Π���� ¡����#¡����9¡����M¡� ���h¡�!���‰¡����«¡����Æ¡����Ú¡�*���í¡�-���¢����F¢����V¢����m¢����†¢����›¢����²¢����Ë¢����ç¢�%���ÿ¢�1���%£�#���W£�"���{£����ž£� ���´£����£����Ó£����é£�"���û£� ���¤����,¤����?¤����V¤����i¤����…¤����›¤�#���¶¤�!���Ú¤�!���ü¤����¥����5¥����T¥����m¥� ���Œ¥����™¥����©¥����º¥����Ì¥�!���ê¥���� ¦�"���$¦����G¦����g¦� ���…¦����¦¦����¾¦�]���Ó¦����1§����E§����[§�!���q§�*���“§� ���¾§� ���˧����ì§�/����¨����0¨�2���E¨�;���x¨����´¨����ͨ����ê¨����©�R���©�L���r©�(���¿©� ���è©����õ©����ª����ª����-ª�,���Kª�9���xª����²ª�0���¸ª�:���éª�#���$«�'���H«�8���p«����©«�/���¾«����î«� ���ÿ«���� ¬�/���)¬�-���Y¬����‡¬����¡¬�&���¸¬�)���߬���� ­�$���­����C­����Z­����t­����„­�+���­�"���É­����ì­����®�#���!®�$���E®����j®����ˆ®����®�!���½®�!���ß®�%���¯����'¯�%���6¯����\¯����k¯�7���z¯�=���²¯����ð¯����°����#°����=°����P°� ���a°����o°�-���‡°�C���µ°����ù°�(���±� ���7±�'���A±����i±����ƒ±����“±�%���£±����ɱ�4���ß±� ���²�&���5²� ���\²�$���h²�8���²�G���Ʋ�9���³����H³�"���g³�$���г����¯³����ɳ����é³����þ³����´����2´�>���J´� ���‰´� ���”´���� ´����µ´����Æ´����ã´� ���ö´� ���µ����µ����&µ� ���=µ� ���Gµ����Qµ�)���kµ����•µ����ªµ����ŵ����Ùµ�$���îµ�-���¶�7���A¶����y¶����€¶����¶����ž¶����·¶� ���Ƕ����Ó¶����Ú¶����à¶����ç¶����·����·�#���;·�J���_·� ���ª·� ���¸·� ���Å·����Ñ·�*���æ·����¸����-¸����F¸����b¸����y¸�8���–¸����ϸ� ���Õ¸�H���ã¸�U���,¹�>���‚¹�?���Á¹�=���º�>���?º�3���~º�(���²º�N���Ûº�f���*»�>���‘»�@���л�#���¼�<���5¼����r¼����’¼�(���ª¼����Ó¼�/���î¼����½����9½����Q½����d½����j½����½����“½�*���³½�!���Þ½�7����¾����8¾�"���P¾����s¾����‚¾�3���–¾����ʾ����â¾�.���ú¾����)¿�0���?¿�C���p¿����´¿����È¿�H���Ú¿�+���#À�2���OÀ�8���‚À�=���»À�@���ùÀ�#���:Á����^Á�=���yÁ�4���·Á�.���ìÁ�,���Â�<���HÂ�0���…Â�3���¶Â�7���êÂ�c���"Ã�t���†Ã� ���ûÃ�3���Ä�>���:Ä�5���yÄ�j���¯Ä�0���Å�,���KÅ�*���xÅ�3���£Å�(���×Å� ����Æ���� Æ� ���Æ� ���,Æ�/���:Æ�7���jÆ�&���¢Æ� ���ÉÆ�®��êÆ����™È�¹��›È�8��UÌ�1��ŽÍ�³��ÀÏ�Q��tÑ���ÆÒ�L��ÙÕ�š��&×� ��ÁØ�ã��ÏÙ���³Ý�a��Aß�ø��£ä�”��œç���1ê����Eë�;��_ë�4��›ì�‹���Ðí�—��\î�ò���ôï�Ê���çð�Å��²ñ�f��xô�j���ßõ�d��Jö���¯÷�Ò���Êú�Z��û�D��øü� ��=þ�÷���^ÿ�þ���V��È���U�©���þ���È�‚���Ç�¹���J�r�����w�w���Ž ��� �<��— �b���Ô�»��7�«���ó�m��Ÿ�±�� �ò���¿�{��²�ÿ���.�h���.�-��—�—��Å�/��]�ú��#�`���ˆ%�/���é%�*���&�O��D&�î��”*�`��ƒ-�Œ��ä.�Ÿ��q0�¿���6� ��Ñ6�f���Þ8���E9�Ú���]:���8;� ���¸<�û��Ä<�»��À@���|C�¡���€G�”���"H�s��·H� ��+K�Å��LN�{��P�N���ŽQ�g��ÝQ���ES�æ���[T�â��BU���%X�Ì��¶Y�ƒ��ƒ[�·��]���¿^�¹��Ú_�Ê���”c�P���_d���°d�¼��³e�á��pg�)��Rk�¸��|l�c��5n�7��™p�2��Ñq�î��s�{��ót���ow�÷��€y�}��x{�Å��ö|�ø��¼~�Æ���µ€�2��|�T��¯„�}��†�ˆ��‚Š�Á��� �P��Í�¼����¹��Û�ë��•“�H��›�h��Ê¡���3£�Ë��S¦� ��ª�?��)¬�\��i­�º��Ư�7��´�{��¹¶�¿��5º�Ê��õ¼�f��À¿�H���'È�{���pÈ�¡��ìÈ���ŽÊ���Í�—��œÏ�ú��4Õ�à��/Ù�ï��Ü�’���Þ�c��“ß�k��÷à�ò��cã�@��Væ�3��—ç�n��Ëê�ª��:ì�f���åí�†��Lî�y��Óï�Q��Mñ�Q��Ÿò�¦��ñó�Æ��˜ù�˜��_ü�Ü��øþ�è��Õ�C��¾�£���€��¦ �w���' �¯���Ÿ �&��O ���v�Ê���(��[�w��„���ü�w��!���‡"�}��$�k���–'�Ï���(�•��Ò(�…��h+�x��î,�á��g.�?��I3�R��‰5�ÿ��Ü9�™���Ü;���v<�ß��‘>�Ë��q@�…��=D�m��ÃH�.��1K�<��`L���M�ö��¦N�v��Q�€��S�©��•T�h��?V�ê��¨X�ì��“\�Í���€^�¤��N_�\��óa�â��Pe�#��3h�i��Wj�É��Ám�X��‹p�ð���äq�§��Õr�ë���}u�¨���iv�¢��w�é���µy�(��Ÿz�ð��È|�ï��¹~�[���©ƒ�«���„�ø��±„�“���ª†�n���>‡���­‡�}��¯ˆ�¿���-‹�Ñ���í‹�§���¿Œ�Š���g�È���ò�è���»Ž�*��¤�l���Ï’�`���<“� ���“����¨“�à��“����£—�P��3˜�D��„�‘��É¡�¸��[¤�´��§� ���É©����Ô©����Ù©� ���ò©����ü©����ª�ä��ª����­� ���#­� ���-­�)���9­�#���c­�%���‡­�)���­­����×­����ô­�-���®����?®����Q®�V���c®�K���º®�V���¯����]¯�>���}¯�+���¼¯�=���è¯�8���&°����_°�.���w°�(���¦°�;���ϰ�6��� ±����B±����`±�$���}±�0���¢±�Œ���Ó±�P���`²�;���±²�b���í²�/���P³�2���€³����³³�(���γ�D���÷³�>���<´�R���{´�Z���δ����)µ�9���>µ�N���xµ����ǵ�=���æµ����$¶�4���<¶�&���q¶�/���˜¶�0���ȶ����ù¶�&��� ·����4·�(���I·�"���r·�.���•·�!���Ä·����æ·����¸����"¸�+���=¸����i¸�F���ˆ¸�p���ϸ�:���@¹�1���{¹�=���­¹�&���ë¹�0���º����Cº�<���_º�*���œº�(���Ǻ�0���ðº����!»�%���;»�'���a»�#���‰»�*���­»�5���Ø»����¼����,¼�!���G¼�/���i¼����™¼�*���µ¼�4���à¼�2���½����H½�(���g½�"���½�?���³½�1���ó½�9���%¾����_¾�*���}¾�*���¨¾�0���Ó¾�+���¿�!���0¿�1���R¿�1���„¿����¶¿����Õ¿����î¿�"��� À����,À����JÀ�8���_À�-���˜À�3���ÆÀ� ���úÀ� ���Á�'���Á�!���=Á�-���_Á�2���Á�N���ÀÁ�=���Â�0���MÂ�4���~Â�"���³Â�"���ÖÂ�)���ùÂ� ���#Ã�2���DÃ�>���wÃ�)���¶Ã����àÃ����âÃ����òÃ����Ä�ˆ���Ä���žÄ�&���¦Æ� ���ÍÆ�)���ÛÆ�B���Ç�5���HÇ�[���~Ç�C���ÚÇ����È����4È����JÈ� ���`È����lÈ����qÈ����wÈ�\���•È�C���òÈ�!���6É�2���XÉ����‹É����šÉ���� É�–���¦É�#���=Ê� ���aÊ�d���kÊ�?���ÐÊ�|��Ë����Ì�y���•Ì�v���Í�\���†Í����ãÍ� ���ëÍ�7���öÍ� ���.Î�a���:Î���œÎ����:Ò�W���SÒ���«Ò����ÀÔ����ÏÔ� ���ßÔ�6��ìÔ� ���#×����.×���>×�ƒ���GÙ����ËÙ�H��ÒÙ�ã���Ü� ���ÿÜ�…��� Ý�x���Ý�j��� Þ� ���tÞ����~Þ�"���‡Þ�,���ªÞ�q���×Þ����Iß�-���]ß�h���‹ß�~���ôß�h���sà����Üà����îà�5���ýà�0���3á����dá����sá� ���xá� ���‚á����á� ��� á�b���­á�E���â�×���Vâ����.ã�Q��Aã� ���“å�²���žå����Qæ�-���Wæ�"���…æ�Q���¨æ�%���úæ�=��� ç�"���^ç�4���ç�)���¶ç�$���àç����è� ���è� ��� è� ���,è����9è� ���Jè����Vè����hè�(���yè����¢è� ���©è� ���·è����Åè� ���àè����îè�"���ÿè����"é����4é� ���Cé� ���Qé� ���^é� ���jé����xé����|é�=���ƒé�?���Áé����ê�-���ê�U���Bê����˜ê�»���ê�A���Yë����›ë�$��°ë���Õí����äî����ôî����ï� ���ï����)ï� ���Cï� ���Oï� ���Zï� ���gï�ü���rï�1���oð�h���¡ð�y��� ñ���„ñ�÷��–ô�´��Žö�I���Cø�/���ø�½���½ø�Ï���{ù�I���Kú�=���•ú�›���Óú�Ý���oû�Ø���Mü�‚��&ý�•���©����?�}���_� ���Ý� ���ê�k���÷� ���c�.���o�/���ž�4��Î�/����L���3����€� ���Ÿ�Í���À����Ž����¢����³����Â� ���Ñ�l���ß����L� ���Ú� ���è� ���ö�|����J���€�,���Ë� ���ø���� ���� �;��� ���Y �k���p �g���Ü �»���D �»���� � ���¼ ����È ����æ ���� �A��� ����G �+���× �����ƒ����1���™�Ì��Ë�&��˜�É���¿����‰����Ž�����)���º�(���ä�#��� �#���1�$���U����z�Š���˜����#�?���=�˜���}�4����4���K�=���€�N���¾�.��� �/���<�1���l�½���ž�>���\�r���›�;����Š���J�5���Õ�>��� �$���J�z���o�Y���ê�^���D�;���£�•��ß�'���u�¼����4���Z �9��� �1���É �8���û �r���4!����§!�°���8"�?���é"�1���)#�?���[#�>���›#�g���Ú#�´���B$�ë���÷$�8��ã%�[���'�0���x'�š���©'�3���D(�È���x(�j���A)���¬)�B���µ*�C���ø*�‚���<+�|���¿+�0���<,�2���m,�5��� ,�4���Ö,�ï��� -�k���û-�g���g.�:���Ï.�,��� /�»���7/� ���ó/� ���ý/�Œ���0�Œ���”0����!1�o���@1�ì���°1�U���2�X���ó2�S���L3� ��� 3����«3����¯3�H���²3�b��û3����^5�=���w5�5���µ5�1���ë5�-���6�'���K6�%���s6�!���™6����»6����Ø6�Z���ë6����F7����L7����R7�D���T7�:���™7�E���Ô7����8�a���68����˜8�L���±8�P���þ8����O9�'���m9�5���•9����Ë9�E���Ò9�5���:�[���N:�6���ª:����á:�*���ø:�H���#;�$���l;�%���‘;�0���·;�+���è;�6���<�O���K<�<���›<����Ø<�3���ø<�&���,=�$���S=�#���x=�P���œ=�6���í=�F���$>�<���k>�@���¨>�K���é>�:���5?����p?����?�6���«?�-���â?�(���@�(���9@�(���b@�5���‹@�2���Á@�'���ô@�@���A�1���]A�)���A����¹A�<���ÕA�1���B�N���DB�&���“B�=���ºB����øB�(���C�!���?C����aC�K���~C� ���ÊC�%���ëC�=���D�<���OD� ���ŒD�#���­D����ÑD�D���ñD�A���6E�J���xE�1���ÃE�m���õE�A���cF�œ���¥F�T���BG�X���—G����ðG�.���H�=���?H�!���}H�&���ŸH�>���ÆH����I����I�S���:I����ŽI����ªI����ÉI�-���áI�U���J�%���eJ����‹J�7���©J�,���áJ�K���K�/���ZK�Ÿ���ŠK�t���*L�1���ŸL�,���ÑL�,���þL�?���+M�9���kM����¥M�,���¼M�*���éM�+���N����@N�)���QN�0���{N����¬N����ÂN����áN�&���üN�P���#O����tO�'���‘O�4���¹O����îO���� P����P����3P����EP�(���YP�#���‚P�!���¦P�P���ÈP�F���Q�,���`Q�^���Q�&���ìQ�,���R����@R����\R�>���{R�6���ºR����ñR����S����'S�v���:S����±S����ÀS����ÙS�$���ìS�+���T�=���=T�!���{T�&���T�+���ÄT�+���ðT�D���U����aU�5���~U�'���´U�$���ÜU����V���� V�!���V�W���AV�*���™V�;���ÄV�,����W�+���-W�0���YW�&���ŠW�,���±W�P���ÞW�M���/X�)���}X�/���§X�7���×X�+���Y�(���;Y�5���dY� ���šY�6���»Y�q���òY�1���dZ�(���–Z�.���¿Z����îZ���� [�(���[�%���H[�#���n[�"���’[�3���µ[�7���é[����!\����6\�8���U\�6���Ž\�a���Å\�2���']� ���Z]�:���{]�(���¶]�`���ß]�#���@^�"���d^�1���‡^�5���¹^�&���ï^�+���_�D���B_�9���‡_�$���Á_����æ_�!���`�#���%`�"���I`����l`�E���`�*���Ç`�6���ò`����)a����.a�I���Ea�_���a�M���ïa�,���=b����jb�%���Šb�7���°b�/���èb�¢���c����»c����Ùc�-���öc����$d�&���Ad����hd����d����œd���� d�!���¸d�C���Úd�`���e�W���e�g���×e�W���?f�6���—f�@���Îf����g�d���.g�*���“g����¾g�5���Íg�g���h�"���kh� ���Žh����¯h����Çh�C���åh����)i�,���Ii����vi����“i�D���°i�G���õi����=j�%���Xj�,���~j����«j�"���Çj�=���êj�C���(k�(���lk�P���•k�?���æk�I���&l�D���pl�,���µl����âl����ùl�&���m����;m�E���Xm����žm�-���»m�(���ém����n�;���.n�!���jn�%���Œn�C���²n�@���ön�1���7o�3���io�'���o�0���Åo�%���öo����p����4p����Kp����ep�G���{p�1���Ãp�!���õp�6���q�0���Nq�#���q�0���£q�#���Ôq����øq�Š���r�(���›r����Är�@���är�'���%s�G���Ms�!���•s�&���·s�'���Þs�%���t�6���,t����ct�¨���ôt����u�6���´u����ëu�3���v�l���:v�l���§v�B���w����Ww����pw�&���w�@���´w�3���õw�9���)x�J���cx� ���®x�>���¸x�D���÷x�¤���<y�6���áy�.���z�1���Gz�J���yz����Äz����Öz�5���ìz�9���"{�;���\{����˜{����­{�H���Å{�)���|����8|�<���U|����’|����²|����Ñ|�%���æ|�B��� }�2���O}�J���‚}�$���Í}�6���ò}�1���)~�=���[~�'���™~�6���Á~�+���ø~�1���$�C���V�%���š�2���À�(���ó����€�?���5€�W���u€�#���Í€����ñ€�%�������*����A� ���`�����Y���ž�p���ø����i‚�N���…‚����Ô‚�5���í‚�#���#ƒ����Gƒ����Zƒ�G���nƒ����¶ƒ�=���̓�(��� „�5���4„����j„�'���†„�,���®„�>���Û„�0���…�;���K…�O���‡…�X���×…����0†�&���P†�-���w†�"���¥†����Ȇ�6���è†�§���‡����LJ����á‡����ú‡����ˆ�5���0ˆ� ���fˆ����‡ˆ� ���šˆ����¨ˆ����ˆ����Ùˆ����õˆ�6���þˆ�-���5‰����c‰����|‰����—‰� ���²‰�p���Ó‰�'���DŠ�J���lŠ����·Š� ���¾Š����ߊ�$���òŠ�-���‹�$���E‹����j‹����q‹����w‹�Q���~‹� ���Ћ����ñ‹�4���Œ�_���CŒ����£Œ�3���ÀŒ����ôŒ�<����X���D�J����'���è�)���Ž�#���:Ž����^Ž�o���{Ž����ëŽ����òŽ�_����_���b�8���Â�A���û�?���=�d���}�1���â�3���‘����H‘�«���Ê‘�M���v’�U���Ä’�+���“�4���F“����{“����˜“�T���¯“�*���”�M���/”�(���}”�)���¦”�A���Д����•�)���•�-���E•�!���s•�,���••�*���•�8���í•�7���&–�6���^–����•–�%���©–�1���Ï–����—����—�i���>—�/���¨—�F���Ø—�~���˜����ž˜����­˜�M���ʘ�>���™�6���W™�i���Ž™�€���ø™�Ž���yš�L���›����U›�O���t›�A���Ä›�Y���œ�=���`œ�3���žœ�B���Òœ�E����5���[�‰���‘�±���ž����Íž�Y���áž�`���;Ÿ�i���œŸ�/�� �F���6¡�=���}¡�2���»¡�>���î¡�F���-¢�&���t¢����›¢����º¢����΢�J���Ý¢�I���(£����r£�%���’£����ã��=��ó���(�����4��¦��Ê��ý������L���‘���Â��¸��������������C����������p��!����������µ���Ý��Ä��¯��R��Ú�������ô��Ô������������9���&�����[����â��ö��é������g���2��Â��—�����¶��}����Ì���������K���������������8��l��ˆ��l��´����������q��O���Ÿ���-�����Í�����#��¶������Í��N������©��8��3��d��A��Ò������*������������ ��µ��v�������®������›����������J��Q��²��0��¤������������}���+��ç����R���Y��™���€������è��z������������Í������«��$��U��u������&��3��‹������•�����������������������Á����-������n����������y������˜������� ����W��������� ����Î������ü���Ò�� ��� ���t��ê��<���œ��Ç��X��������¨����'��H���Ë���o���������o��‰�������������������Þ�� ��j�� �����������������î���������t��������Ñ��°���µ��@�����������������������I��d��f��¥����ß�����{��b��ì��������������"��½��.���q��=����������Y��È����f��¦��Ö��*���Œ��F��ä��s���v����¿��Ý���†��â���Ò���ª��#���d��9��^��Å�������„��+�������F�����7������º�� ��ï���ò��é��ó��j���&��k��Q���P��5��œ����������'��»��í������5���À��Û���%��«������`���t��ë�������‚��������������������Ò��0��0����������������������˜������ñ���Ç��������Î������‰����C���ª���‰��J��û��¿��D������£��>����4���:��~������ƒ����P������{����������\������'������ü��¿��D����é������‡��!���Æ��Ý��…��»���������������������I���A���{���î��Æ���·�������,������´��á��h��¤��;���„��|���×�����H��-���õ���â��”������+��¸��ž�����Õ��3���¯������e���������������æ���\�������€��º��¬��������������c���¬������m��•���z��������”������<����T��<������ä���G���C��O��$��¾�������®��a��0��Þ��€������������˜����������©�������‚�� ������1����������3����������—��x������…��E������¢������T��s���������������������×�����#��þ���x��b�������ë������h��S��������µ�� ��Ä���?��_����w�����I��������µ��O��8��6��Ø������x���à��$��˜��ù���è�������������²��N��j��”���������Z��†������ ��&�����í�������Ï��`����������n������m����������©��¸��p��������[��Î�����r��™����¼��������������;������������y���������Œ���L������~������=�� ��v��!��È��_������Ö��Ø��i�������ñ��›��P��Š��#��S����|��¹������������_��'���s��½��®��Ï��þ��;��1������Ï���L��¢��ž��M��»��E�����������4��™����E����_��� ��³��,�����������/��ò�������������5��Ì���Ó����������ï������…��Ä������,���� ��q���Ê���������¨�������f��s��]���������:��Q������Œ������ ��������Â��g�� ���»����N��«���E��������®���������%�����������E��‹��,��`��‰��"���)������?���É������¹��{��u��â����������z���•������ˆ��X������Å��Ì������²��F��J���e��ö��—��k�����Ö���ç�������� ��ã�����ò���¦��z��ÿ������g������]��:������������Ð������†��Ù��þ������}��������X��½��à��Ý��(��h��H��Ì����>���n����������2��� ��ï��K������I��6��R����������í��À��a��Y����������¡��k��|��1��ü������å������T��J������ß������@��Ø��Â��R��������"��‘��o���V���g��Ÿ�� ��ƒ��U��ÿ������§��ú���Û������‹��z��[��������������Œ��K��������Ã��³��Æ��ä��l������È��°������(��.��­��´����$��Ó����¼��}������ç��M��Ï������ª������Ð��������†������ñ������§������Ù��������������¸����’��Ú����������������'����������Å��e��G��Õ���A��ý��G������¥������y�������9��š����Ü��4����¶�� ��ƒ�����������������-��…�������%������T���L��­��5��¹���i��n��“���š��D������Ü���Ð�����������\��Ÿ������c���� �������"�������������8���x��ÿ������¼���‘��Ç���o������”��ø�� ���¿������Ÿ��K��t���^���æ������»��P���™��Z��ú��������������ˆ��.��ù��ˆ���¡��������‡������Ê��“��`��Z���:������R��U��¤�������c��B����œ��°��±��Á������*��r��l�������ª��2����~��.��½���û������I����������)���¾��Ž�������q��w��������Í��¡�������º���³������ø��m���%��U���<��4��ï��ƒ�������������Ë��˜��������������V����V������`�����£��ÿ���9��É��ó��Š��p���t������|������‘��/��‹������É������� ����­���+������������T��·���Ž��¯���õ��ê����7��±�����i��¼��è��7������–�������¾������������)����������ò��¥������Ð����������×��������‚������¢��������������Õ��|��Ä��¹����� ���,��Ô��(��Ñ��X��Â���ä��¡��b��°��þ�� �������?������i��w��s��÷�������C��À����������Ã��M���Á����!��½��À�������������h��V����������F��r��„��������A��ð������›�����8����������B��÷��²�����n�������������á���ö�������W��ð����������������d���á��’��������)��m������¿������²���Þ���ö������•������Ã��������N������.��æ��ô���¬���������������ù����a��}������€��´����������Ú��e��¥��ž�����L��*�� ������ô��@������)��\��S�����ë��¦���ô��ø���¨��é������š���¾������������?��d��Å��í��ƒ���ð��(���¥�������„��Ó���Û����������:�������F��<��á������G��\��±����j��W��‘��¡������ì�������±���������*������¢��º��^����û�����‡������Ä������¢��ð���6��–��ë������Á���£�������2��õ��7��Y�������x��Ù���î��D�������¤��S����������$�������@��y�� ����B���Z������C��ì��Ž����÷��§���¶�������©��ž�����’��#������‚��ã��m������Y��ñ��c������u��õ������Ø���������ç�������������������Ê��Ç����u���…��à�������Ã���+����û��H������¾��������ù��¸�������À������>��X���J����Ö��p��^��]��������‡���Š��K������Ù��È�������ã������£������‚��Œ��–��>����������c��i��Ô���������„�����������g��Ë����[�������ß������†���=�������Ó������Õ����������j������A��y��å���������������6��à��G��’�����B��&���·��³������-������w����������r��×���u����������€���ý��o������¤��a���‹���p���� ��Ã��¹��ú��r�������Z��­������–��k��>������´��ˆ��3��¬��[��Ë��®������1�� ����������’��æ������������������«������ ����k��a��v��¬��ú����O�� ��?��Ž��;��›������è��«��b��������Ü��­��Ü��^��Q��]��{��5��"��”��•������ž������U��Å��;������Æ��/����������·��w��ó��“��O��6���e��¦��Î��°����������%��“��Ñ��³��������ê���/������Á������S����!��¼������¯��¯������~��Š�����������ß��l��D��Æ��b��B��2����������Ú��™��å��������f���å����������P��_��Û�� ��/���œ���~���Ÿ������M��¶������H������ø������§������h���£��]����������Ñ�������·��“������Ç��š��º��Ô���š��‰��É��ü��v�� ��—�����î���f����������1�������V��@������¨��W������9��÷��M��œ��§������W��������������©��Þ������0������� ��–��¨��ì��N�������7���������������=��±��q�� ������—����������Š��ê��������ý��‡����Q��›��Ž��ª�����¸£����À£�g��0g��Dg��Xg��lg��€g��”g��¨g��¼g��Ðg��äg���h��h��0h��Dh��ph��Œh��¨h��¼h��Ðh��äh��øh��i��0i��Li��hi��|i��˜i��È£��������������� �����������������ÿÿÿÿè£��������1���ÿÿÿÿ¤��������/���ÿÿÿÿJ¤�7����������ÿÿÿÿ”¤�����������ÿÿÿÿĤ�����������ÿÿÿÿî¤��������(���ÿÿÿÿ¥� �������Q���ÿÿÿÿv¥� �������R���ÿÿÿÿÒ¥� �������V���ÿÿÿÿ2¦������������������ÿÿÿÿ^¦�����������ÿÿÿÿe¦� ���������������ÿÿÿÿ¦����������ÿÿÿÿ°¦� �������������������������������ÿÿÿÿæ¦� �����������������ÿÿÿÿ§������������������ÿÿÿÿK§�\����������ÿÿÿÿµ§�!�������#���ÿÿÿÿù§�4����������ÿÿÿÿ/¨��������E���ÿÿÿÿy¨��������7�������!���ÿÿÿÿç¨��������(����������ÿÿÿÿ9©��������0����������ÿÿÿÿ›©�&�����������������ÿÿÿÿæ©� ����������ÿÿÿÿñ©�������������5���ÿÿÿÿ>ª�+���������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to set %s security context component to %s�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s to denote standard input does not work in file system mode�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.7 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2011-02-15 20:47+0000 Last-Translator: Kizito Birabwa <kbirabwa@yahoo.co.uk> Language-Team: Luganda <kbirabwa@yahoo.co.uk> Language: lg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n !=1; X-Generator: KBabel 1.11.4 � � ( EMBOOZI ) Bw'owandika ekyakula kityi fayiro bw'etuukiriza obukalu obuli mu MBOOZI okukebera kwa test kubalibwa ng'okuyiseemu ! MBOOZI Bw'owandika ekyakula kityi fayiro bw'etatuukiriza obukalu obuli mu MBOOZI okukebera kwa test lwe kubalibwa ng'okuyiseemu MBOOZI-1 -a MBOOZI-2 Bw'owandika ekyakula kityi fayiro bw'etuukiriza obukalu obuli mu MBOOZI-1 era n'etuukiriza obuli mu MBOOZI-2 okukebera kwa test kubalibwa ng'okuyiseemu MBOOZI-1 -o MBOOZI-2 Bw'owandika ekyakula kityi fayiro bw'etuukiriza obukalu obuli mu MBOOZI-1 oba obuli mu MBOOZI-2 okukebera kubalibwa ng'okuyiseemu � --check-order Kano bwe kabaako, kiragiro ne kisanga ebitali bisengeke mu biyingizibwa, kikutegeeza nti wazzewo kiremya, omluimu ne gukoma --nocheck-order Kano bwe kabaako, ekiragiro ne kisanga ebitali bisengeke mu biyingizibwa, kikolabukozi � -1 Akawayiro kano bwe kabaako, ekiragiro ennyiriri ezisangibwa mu FAYIRO1 yokka tekiziwandika (bye ebyanidirabise mu lukumbo olusooka) -2 Kano ko bw kabaako, ekiragiro ennyiriri ezisangibwa mu FAYIRO2 yokka tekiziwandika (bye ebyanidirabise mu lukumbo olwokubiri) -3 Kano bw kabaako, ekiragiro ennyiriri ezisangibwa mu fayiro zombi tekiziwandika (bye ebyanidirabise mu lukumbo olwokusatu) � -a, --all Bw'ossaako kamu ku buno obuwayiro, ekiragiro kikola nga eyataddewo '-b -d --login -p -r -t -T -u' -b, --boot Ssaawo kamu ku buno ob'oyagala kirage ddi sisitemu lwe yasemba okukoleezebwa -d, --dead Ssaawo kamu ku buno ob'oyagala kirage emirimu egikomye -H, --heading Ssaawo kamu ku buno kiryoke kiteekewo n'emitwe ku bye kiwandika � -b FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ey'enjawulo ey'ekika kya buloka -c FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ey'enjawulo ey'ekika kya nukuta -d FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga tterekero -e FAYIRO Kano ke kakalu nti FAYIRO gyeri � -l Kano kaleetera ekiragiro okuwandika ebikwata ku buli MUKOZESA mu bujjuvu -b Kano kaleetera ekiragiro obutawandikawo etterekero n'ekika ky'enzivvuunuzi eby'omukozesa nga kiwandika eby'omubujjuvu -h Kano kaleetera ekiragiro obutawandikawo fayiro eya pulojekiti ey'omukozesa nga kiwandika eby'omubujjuvu -p Kano kaleetera ekiragiro obutawandikawo fayiro ey'entegeka ey'omukozesa nga kiwandika eby'omubujjuvu -s Kano kaleetera ekiragiro okuwandika ebikwata ku buli MUKOZESA mu bufunze, eno y'enkola yakyo eya bulijjo ne bw'otateekawo akawayiro kano � [-n] KIGAMBO Kano ke kakalu nti KIGAMBO nga wekiri -z KIGAMBO Kano ke kakalu nti KIGAMBO nga tekiriwo KIGAMBO-1 = KIGAMBO-2 Kano ke kakalu nti KIGAMBO-1 kyenkana KIGAMBO-2 KIGAMBO-1 != KIGAMBO-2 Kano ke kakalu nti KIGAMBO-1 tekyenkana KIGAMBO-2 � AGU1 * AGU2 Kiraga ekiva mu kukubisa AGU1 mu AGU2 mu ngeri eya mu kubala AGU1 / AGU2 Kiraga ekiva mu kugabiza AGU2 mu AGU1 mu ngeri eya mu kubala AGU1 % AGU2 Kiraga ekisigalawo nga ogabizza AGU2 mu AGU1 mu ngeri eya mu kubala Ekiragiro kisooka okukola ku bubonero buno obuddako bwe kibusanga mu mboozi y'emu n'obwo bwonna obukulembedde mu lakalala � AGU1 + AGU2 Kiraga ekiva mu kugatta AGU1 ne AGU2 mu ngeri eya mu kubala AGU1 - AGU2 Kiraga ekiva mu kutoola AGU2 ku AGU1 mu ngeri eya mu kubala Ekiragiro kisooka okukola ku bubonero buno obuddako bwe kibusanga mu mboozi y'emu n'obwo obukulembedde mu lakalala � AGU1 < AGU2 'AGU1 ntono ku AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera ntono okusinga AGU2. Bwe kitaba kituufu, kivaamu 0 AGU1 <= AGU2 'AGU1 ntono oba yenkana AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera ntono oba nga yenkana AGU2. Bwe kitaba kituufu kivaamu 0 AGU1 = AGU2 'AGU1 yenkana AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera yenkana AGU2. Bwe kitaba kituufu kivaamu 0 AGU1 != AGU2 'AGU1 teyenkana AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera teyenkana AGU2. Bwe kitaba kituufu kivaamu 0 AGU1 >= AGU2 'AGU1 yenkana oba esinga ku AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera yenkana oba nga esinga ku AGU2. Bwe kitabeera kituufu kivaamu 0 AGU1 > AGU2 'AGU1 esinga ku AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera esinga ku AGU2. Bwe kitaba kituufu, kivaamu 0 Ekiragiro kisooka okukola ku bubonero <, <=, =, !=, >=, oba > bwe kibusanga mu mboozi y'emu ne | ne & . � FAYIRO-1 -ef FAYIRO-2 Kano ke kakalu nti ennamba eza inodi ne kyuma ez'oku FAYIRO-1 zirin'okuba nga ze zimu n'ez'oku FAYIRO-2 FAYIRO-1 -nt FAYIRO-2 Kano ke kakalu nti FAYIRO-1 erin'okuba nga ye yasemba okukyusibwamu FAYIRO-1 -ot FAYIRO-2 Kano ke kakalu nti FAYIRO-2 erin'okuba nga ye yasemba okukyusibwamu � NAMBA-NZIJJUVU-1 -eq NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina kwenkana NAMBA-NZIJJUVU-2 NAMBA-NZIJJUVU-1 -ge NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina kwenkana oba okusinga ku NAMBA-NZIJJUVU-2 NAMBA-NZIJJUVU-1 -gt NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina okusinga ku NAMBA-NZIJJUVU-2 NAMBA-NZIJJUVU-1 -le NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina kwenkana oba kuba ntono ku NAMBA-NZIJJUVU-2 NAMBA-NZIJJUVU-1 -lt NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina kuba ntono ku NAMBA-NZIJJUVU-2 NAMBA-NZIJJUVU-1 -ne NAMBA-NZIJJUVU-2 Kano ke kakalu nti NAMBA-NZIJJUVU-1 erina but'enkana NAMBA-NZIJJUVU-2 � KIGAMBO : ENOONYA 'ENOONYA' enoonya ekiwandiko ekinooyezebwa eky'akakwakkulizo mu KIGAMBO match KIGAMBO ENOONYA Kye kimu ne KIGAMBO : ENOONYA substr KIGAMBO KIFO BUWANVU Ekiragiro kiraga akatundu aka KIGAMBO akava ku nukuta ey'omu KIFO. Akatundu bwe kasukka mu ennukuta BUWANVU ekiragiro tekiraga ennukuta ezo ezisigaddeyo. index KIGAMBO BUBONERO Ekiragiro kiraga ekifo mu KIGAMBO we kisookera okusanga kamu ku BUBONERO. Bwe kitasangamu kamu ku BUBONERO obwo, kivaamu 0 length KIGAMBO Ekiragiro kiraga obuwanvu obwa KIGAMBO � a Ennyiriri zonna zibeereeko ennamba t Ennamba ziteekebwa ku nyiriri ezitali njereere zokka n Ennyiriri zonna tezibaako ennamba pEMBOOZI Ennyiriri ezirimu ennukuta ezifaanana EMBOOZI ze zokka eziba ziteekebwako ennamba MPANDIKA kiba kimu ku: ln Ennyiriri zonna zikwate ku ludda olwa kkono. Ennyiriri ekiragiro ne kitazijjuzisaamu zi-zero rn Ennyiriri zonna zikwate ku ludda olwa ddyo. Ennyiriri ekiragiro ne kitazijjuzisaamu zi-zero rz Ennyiriri zonna zikwate ku ludda olwa ddyo. Ennyiriri ne kizijjuzisamu zi-zero � b Kano kakireetera okukolawo fayiro ey'enjawulo eya kika kya bulooka (emal'okujjula ery'oke esomebwe) c, u buno bukireetera okukolawo fayiro ey'enjawulo eya kika kya nukututa (ekisangibwamu kye kisomebwa) p Kano kaireetera okuolawo FIFO � # abakozesa abaliko=%lu � BUNGI bwe kiba tekisukka mu 10, ekiragiro tekiwandikawo mitwe gy'empapula era kirekayo okuwandika obubonero obulagira kutandika lupya bwe kisanga mu FAYIRO. kwe kugamba nti kyeyisa nga eyakozesezza n'akawayiro '-t'. Agumenti eya FAYIRO bw'otogiteekawo, kyo kirinda kukola ku by'owandika awayingizibwa awa bulijjo. � 'Firidi' kiba kitundu ky'olunyiriri ekirimu ebbanga jjereere nga liddibwako obubonero bw'osobola okulaba. Ekiragiro ebifo ebyereere n'obubonero obutalabika bwe bisangibwa awamu byonna kibibala nga ekifo ekyereere ekimu, ne bwe biba nga byegasse bingi. Bino tekibikozesa bwe kiba nga kigerageranya nnyiriri. � Bw'oteekawo ka '-' kokka, kirina amakulu ge gamu n'okuteekawo -i. Bw'otoyongerako KIRAGIRO, env ewandika ebifa ku enviromenti ekoledwawo. � Agumenti efuga obungi bw'ebifo mu bitundu eby'ennyiriri ez'ebivaamu edda ku butuuti, bw'obanga wataddewo ko. Agumenti eyo eba nnamba ya mu nnenga kkumi. Osobola obutagiteekawo. Agumenti eyo osobola okugigobereza endala efuula ekika ky'ennamba z'okkirizibwa okukozesa: 'E' ekukkiriza okukozesa empandika ez'ennamba lokale yo z'etegeera. 'O' ekukkiriza obubonero obw'ennamba obw'enjawulo obuli mu lokale yo. � EMBOOZI bw'otagissawo, ekiragiro kisalawo nti obukalu tebutuukirizidwa. EMBOOZI ebaamu obukalu fayiro bwe zisobola okutuukiriza oba butatuukiriza. Ebiddako lukalala l'obukalu bw'osobola okuteeka mu mboozi n'ebinnyonyola empandika z'emboozi: � Singa ekiragiro 'cp' kiyisibwa nga kiriko n'obuwayiro 'force' ne 'backup', ate erinya erya NNONO ne liba limu n'erya KOPPI nga ezo fayiro za bulijjo, 'cp' kisooka okuggya kkopi ey'okwerinda mu NNONO. � Genderera nti enzivvuunuzi z'etaaga ebifuula bingi bibeere nga bisumuludwa okuva ku nkola zabyo eza bulijjo, oba biwandikibwe nga biri wakati w'obwogeza,". Bwe wabeerawo eby'okugeraageranya zi-agumenti, okugeraagerana okwo kugoberera enkolaeya mu kubala singa agumenti zombi zibeera ennamba. Agumenti bwe zitaba nga zombi nambaokugeraageranya kukolebwa ku mateeka ag'okusengeka ebigambo. Mu eby'okunoonya ebiwandiko ebinoonyezebwa, ekivaamu kiragibwa nga kiri wakati w'obubonero \( ne \), ebinoonyezebwa bwe bibula tewali kiragibwa. Singa obubonero obwo tebukozesebwa, okunoonya okwo kuvaamu ennamba eraga obungi obw'obubonero obufaanaganyizidwa. Bwe wabulawo akabonero konna akazuulidwa ekivaamu kibeera 0. � KIKA bwe kiba b, c oba u, oteekwa okuwa ENKULU ne ENTO byombi, ate KIKA bwe kiba p, ENKULU ne ENTO biteekwa butawebwa. Singa ENKULU oba ENTO kitandika ne 0x oba 0X kitwalibwa nga ekiri mu hekisi, bwe kitandika ne 0 kitwalibwa nga ekya mu okita, ate bwe kitandika n'ekirala kyonna kitwalibwa nga ennamba eya bulijjo (eya mu dekanariyo). KIKA kisobola okuba: � Mu bya bulijjo, rm tekigyawo materekero. Okukola ekyo w'etaaga okukiwayirako --recursive oba -r oba -R. � Ekiragiro kino, enneyisa yaakyo bw'ebeera tefuulidwamu, kyeyisa nga ekiriko obuwayiro obwa '-v1 -i1 -l1 -sLUSEETUKA -w6 -nrn -hn -bt -fn'. Obubonero NN buba bubonero bubiri obw'eyambisibwa okuwawula wakati wa 'mpapula' ez'omu kiwandike. Ennukuta eyokubiri bw'etabeerako kiba kitegeeza nti:. wawandikibweewo \\ mu kifo ekya \. MPANDIKA kibeera kimu ku: � Bw'obeera towadde biragiro birala, fayiro eza NNONO ez'empewo zizuulibwa mu ngeri eya muwawa fayiro KOPPI ezizivamu nazo zibeera za mpewo. Enkola eno era y'eleetebwa wo akawayiro '--sparse=auto'. Bw'obeera oyagala okufuna fayiro KOPPI ey'empewo buli fayiro eya NNONO lw'ebaamu bayiti eza zero eziwera nga ziliraanaganye, kozesa akawayiro '--sparse=always'. Kozesa akawayiro '--sparse=never' bw'obanga toyagala fayiro ez'empewo zikolebwewo. bw'obanga otaddeko akawayiro aka '--reflink' oba '--reflink=always', kikolawo enyunzi mu kifo kya koppi ennetogovu. Enyunzi eyo efuuka koppi lwe wabawo akyusa ku biri mu fayiro. Bwe kitasoboka kukolawo enyunzi eyo, omulimu ogwa 'cp' gugaana. Singa enyunzi eyo tesoboka ate nga wataddeko akawayiro aka '--reflink=auto', 'cp' kikolawo koppi ennetongovu. � Ebiragiro ebikola nga eyagattise ebirala ebisukka mu kimu: * [-]LCASE Kino kikola kimu ne '[-]lcase' cbreak Kino kikola kimu ne '-icanon' -cbreak Kino kikola kimu ne 'icanon' � Ebirengo eby'ennamba eziraga obungi bwa buloka bitegekebwa akawayiro aka '--block-size' n'ebigambo eby'omunviromenti '%s_BLOCK_SIZE', 'BLOCK_SIZE' ne 'BLOCKSIZE'. Ku ebyo bwe kubulako ky'otegese, obungi bwa buloka bulagibwa mu birengo ebya bayiti 1024 (biba bya bayiti 512 bw'obanga mu nviromenti yo wategeseemu ekigambo ekya 'POSIXLY_CORRECT') � Obubonero obukkirizibwa okukola ng'obutuuti buli: append Kano kaleetera ekiragiro okukola ne bwe wabawo puloguramu endala ewandika ebintu mu fayiro y'emu. Tekagasa ku mirimu egikola ku biyingizibwa. Kusaana kubaako n'akawayiro conv=notrunc. � Eby'okulabirako: %s -12 fayiro1 fayiro2 Ennyiriri ezisangibwa mu fayiro1 era ne mu fayiro2 ze zokka eziwandikibwa. %s -3 fayiro1 fayiro2 Ennyiriri eziri mu fayiro1 yokka n'eziri mu fayiro2 yokka ze ziwandikibwa. � Eby'okulabirako: %s f - g Kisooka okuwandika ebiri mu 'f' ne kizzaako ebiva awayingizibwa awa bulijjo ne kiryoka kiwandika ebiri mu 'g'. %s Kiwandika ebiva awayingizibwa awa bulijjo nga kibiwandikira awateekebwa ebivaamu awa bulijjo. � Eby'okulabirako: %s root /u Kifuula "root" nanyini /u. %s root:sitaafu /u Kifuula "root" nanyini /u ate guluupu ya yo n'eba "sitaafu". %s -hR root /u Kifuula "root" nanyini /u ne fayiro zaamu. � Eby'okulabirako: %s sitaafu /u Ekyo kikyusa guluupu eya /u n'eba "sitaafu". %s -hR sitaafu /u Ekyo kyo kikusa guluupu ey'etterekero /u ne fayiro zaamu n'eba "sitaafu". � Ekiragiro bwe kikola ku FAYIRO nga nyunzi ey'eyawudde, tekikola ku fayiro gy'eggukako - okugyako nga kuliko obuwayiro -h oba -L. Genederera nti buli ka '(' ne ')' mu mboozi n'obukalu kalina kukulemberwa akabonero akakasumulula mu lubu lw'ebiragiro ebikolebwako enzivvunuzi. Obukalu obulimu 'NAMBA-NZIJJUVU' busobola n'okubamu '-l KIGAMBO'. '-l KIGAMBO' kyenkana obungi bw'ennukuta eziri mu KIGAMBO (eyo eba namba nzijjuvu). � EMBOOZI bw'ebaako ky'ezuula, ekyo nga ssi 0, emmala y'omulimu eba 0. EMBOOZI bw'ezuula 0 oba bw'eremwa okuzuula kyonna, emmala y'omulimu eba 1. EMBOOZI bw'eba nga ewandikidwa bubi emmala y'omulimu eba 2 ate bwe gutuukako kiremya emmala y'omulimu eba 3. � Emmala y'omulimu guno eba: 0 singa guggwa bulungi 1 singa wabawo obuzibu obutali bwa maanyi 2 singa wabawo kiremya ow'amaanyi � EMPANDIKA efuga ekiragiro bye kiwandika mu ngeri y'emu ne printf ey'omu lulimi 'C' Ekiragiro kitegeera EMPANDIKA zino: \" Bw'ossaawo kino ekiragiro kiwandikawo ak'ogeza, " � MPANDIKA kifuga engeri ebivaamu gyebiragibwaamu. Obuwayiro bwonna ekiragiro bwe kitegeera ng'okukiyisa mu ngeri ey'okubiri buleetera obudde okwesigamizibwa ku UTC. Obubonero ekiragiro bwekisobola okuvvuunula buli: %% Kiteekeewo % %a Kiwandike ekifunze eky'olunaku olwa mu sande (San..Lw6) � Ekiragiro ekya 'stty' kifuga ekiwandikiro ekifuna bye kikolako okuv'awayingizibwa awa bulijjo. Ekiragiro bw'okiyisa nga totaddeko agumenti yonna, kikoma ku kuwandikawo obwangu ekiwandikiro kwe kiwererezaako n'okufunirako obubonero n'enjawulo mu ntegeka ey'ebiyisibwa mu mukutu gwakyo okuva ku eyo ereetebwawo ekiragiro 'stty sane'. Obubonero obugendera ku biragiro eby'omu stty obutegeka n'empandika eno -'linnya-lya-kiragiro kabonero'. kabonero oyinz'okuteekawo kabonero kennyini, okugeza 'kill D', olwo akabonero D ke kasiimuzawo olunyiriri olulamba. Oba oyinz'okukozesa empandika 'ey'akakuufiira', okugeza 'kill ^d' - kyekimu n'ekisoose. Ate oyinz'okuwandikawo ennamba ekongojja akabonero, okugeza 'kill 0x44', nga '0x44' y'ennamba eya kihekisi ekongojja akabonero 'D'. Bw'okola 'linnyalyakiragiro ^-' oba 'linnyalyakiragiro undef', ekyo kitegeeza nti ebyo ebiragiro tebisobola kukolera mu kiwandikiro ekyo. Okugeza 'eof ^-' oba 'eof undef' bitegeeza nti mu kiwandikiro ekyo tewali kabonero akategeeza nti enkomerero eya fayiro etuukidwako. � Ekiragiro bwe kiba kikolera ku nkola ereetebwawo akawayiro aka -e, kitegeera ennukuta n'ebigoberagana bino ebiddako: � FAYIRO bwe kiba -, ekiragiro kikola ku bye kisanga awateeekebwa ebivaamu awa bulijjo. Ekiragiro kino, bwe kubaako akawayiro --remove (-u), kigyawo FAYIRO. Mu ebya bulijjo fayiro tezigyibwawo olw'okubanga fayiro ez'ebyuma, nga /dev/hda, nazo zitera okukolebwako ate ezo emirundi egisinga obungi teziteekwa okuvawo. Abasinga obungi bakozesa akawayiro aka --remove nga bakola ku fayiro eza bulijjo. � Ku kiragiro kino, bw'owandikawo ennamba emu yokka kibala nti okiraze ESAMBAYO yokka, nti tokiwadde ESOOKA ne EKYONGEZEBWAKO. Olwo kisalawo nti ESOOKA ne EKYONGEZEBWAKO byombi byenkana 1, era olukalala lwe kiwandika lutandikira ku 1 ate buli namba egoberera ginnayo ebeera egisingako 1. Ekiragiro ennamba ESOOKA, EKYONGEZEBWAKO ne ESEMBAYO kizitwala nti za kika eky'ezifunzidwa mu bitundu bisatu. ESEMBAYO bw'eba nga y'esinga ESOOKA obunene EKYONGERWAKO kitera okubeera ya positifu, ate ESOOKA bw'ebeera nga y'ennene ku ESEMBAYO EKYONGERWAKO kitera okubeera ya negatifu. � FAYIRO bw'oteekawo ng'eri '-', ekiragiro ebivaamu kibiwandikira awateekebwa ebivaamu awa bulijjo � Ebifuga enyingiza ya tty: [-]brkint Kino kitegeka nti tty bw'efuna akabonero akakomekkerezesebwa kigireetera okusindika obubaka obutegeeza kuyimirizaamu omulimu oba okugiwereza bubonero [-]icrnl Kino kitegeka nti tty bw'efuna akabonero akalagira akasonga okudda ku ntadikwa y'olunyiriri yo ezzawo akalagira kutandika lunyiriri lupya [-]ignbrk Kino kitegeka nti tty tegoberera kiragiro eky'akabonero akakomekkerezesebwa [-]igncr Kino kitegeka nti tty tegoberera kiragiro eky'akabonero akalagira akasonga okudda ku ntandikwa y'olunyiriri � Ku K osobola okuwayirako akafundikwa akagibazzaamu: b 512, kB 1000, K 1024, MB 1,000,000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, ko ne T, P, E, Z, Y bwebutyo. � Layisinsi eya GPLv3+: GNU GPL oluwandika 3 oba olusingawo obupya <http://gnu.org/licenses/gpl.html> Sofutiweya eno teriko bikugizo, okkirizibwa okugisaasaanya n'okugikyusakyusaamu. TEWALI KAKALU KA NGERI YONNA, YADDE NTI EKYAMAGUZI KITEEKWA KUBEERA MU MBEERA NTUUFU GYE KISAANIRA KUTUNDIRWAMU ERA NGA KITUUKANA N'OKUTUUKIRIZA OMUGASO GWENNYINI OGUKIGENDERERWAMU. � Okutegeka okukoma mu akawunti ey'oyo akukoze: [-]crterase Kino kitegeka nti ekiwandikiro bwe kifuna akabonero akalagira kusiimula kisooka kukolawo akasiimula akadda mabega ne kiryoka kissaawo akabanga ate era ne kyongera kukolawo akasiimula akadda mabega * crtkill Kino kitegeka nti ekiragiro eky'okusiimulawo olunyiriri lwonna kituukirizibwa ku nkola eleetebwawo 'echoprt' ne 'echoe' * -crtkill Kino kyo kitegeka nti ekiragiro eky'okusiimulawo olunyiriri lwonna kituukirizibwa ku nkola eleetebwawo 'echoctl' ne 'echok' � GENDERERA: Bw'oba oyagala okufuna obuyambi ku kiragiro kino, oba okumanya oluwandika lwakyo, olin'okuwandika nti [ --help oba [ --version Bw'owandika nti test --help oba test --version, ekiragiro kirowoza nti okiwadde agumenti ez'okukolako. � GENDERERA: Enzivvuunuzi gy'okozesa eyinz'okuba nga %s ya mu ya njawulo ku ennyonyolebwa wano. Sisitemu bw'ebaako koppi eya puloguramu eno eyajjira mu nzivvuunuzi yakwo ko n'endala, etera kukozesaamu eyo eyajjira mu nzivvuunuzi. Puloguramu ey'oku sisitemu yo bw'eba nga eyawukana n'ennyoyolebwa wano, kebera ebiwandiko ebikwata ku nzivvuunuzi okumanya obuwayiro obugigenderako. � Genderera kino: bw'okozesa ekiragiro rm okuggyawo fayiro, kitera okusoboka okugikomyawo ng'olina obumanyirivu oba obudde ebyetaagisibwa. Singa oyagala okukakasa nti fayiro gy'oggyeewo tewali kisobolaokugikomyawo, lowoza ku kukozesa ekiragiro ekya shred. � Genderera nti empandika ey'obudde akawayiro -d gye kakozesa ssi y'emu n'eyo akawayiro -t gye kakozesa. � Bw'oteekawo ka '-' mu maaso ga BUTEGEKE, kitegeeza nti ojjulula ebiri mu BUTEGEKE.' Bw'oba oyagala okukozesa obutegeke obutagoberera emitindo egya POSIX, ebiri mu BUTEGEKE obikulembeza ka '*'. Engeri ez'obutegeke bw'ekiwandikiro oba omutwe z'osobola kulonda kisinzira ku sisitemu ey'oku kompyuta yo � NGERI bwe kitaba kimu ku ebyo, kiba ennamba etegeeza obungi bwa bayiti eza data etambuzibwa ezinaamalanga okuwera mu ggwanika zzibizi eryoke egende gy'eraga. Ennamba ezo zisobola okuwayirwako kamu ku bubonero buno obutegeeza ekirengo eky'okugibazamu okufuna obungi obwa data eyo: KB kitegeeza kirengo kya 1000, K kitegeeza kya 1024, MB 1000*000, M 1024*1024, era ne G, T, P, E, Z ne Y bweyongera bwebutyo. � Ebifuga ebivaamu ebyimirimu ku kiwandikiro oba mutwe gwa kompyuta: * bsN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akalagira okusiimula okudda mabega ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika ku kigenderwa ekirala. N esobola okuba 0 oba 1 * crN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akalagira akasonga okudda ku ntadikwa y'olunyiriri ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika ku kigenderwa ekirala. N esobola okuba 0, 1, 2 oba 3 * ffN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akakiragira okuba ng'ekikyusizz'olupapula ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika ku kigenderwa ekirala. N esobola okuba 0 oba 1 * nlN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akalagira okutadika lunyiriri olupya ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika ku kigenderwa ekirala. N esobola okuba 0 oba 1 � Ekiragiro kino kiyungulula ekiva mu MBOOZI ne kikiwandikira awateekebwa ebivaamu ebya pulogulamu mu ebya bulijjo. MBOOZI kisobola okubeera: AGU1 | AGU2 Kitegeeza 'AGU1 oba AGU2'. Ekiragiro kivaamu AGU2 okujjako nga AGU1 eri 'null' oba 0, olwo ne kivaamu AGU1 AGU1 & AGU2 Kitegeeza 'AGU1 ne AGU2'. Ekiragiro kivaamu 0 okujjako nga AGU2 oba/ne AGU1 ziri `null' oba 0, olwo kivaamu AGU1 Ekiragiro bwe kisanga obubonero | ne & mu mboozi y'emu, kisooka okukola ku & � FAYIRO bwe kiba - , ekiragiro kisoma ebiva ku nnono eya bulijjo. Zi KIGAMBO zisobola okubeera: � Bw'osangamu ebitali bituufu ku %s, tegeeza %s � Bw'osangamu ebitali butuufu, tegeeza: %s � Obubonero obuli mu nkalala ezikolebwako ekiragiro tr bukolebwako bwa nnakimu, tekibutwalira wamu ng'ekigambo oba mboozi. Era obubonero obwo obusing'obungi tekibutegeeramu makulu amakusike. Obwawukana ku kino - ne kibusangamu amakulu amalala ge bukongojja bwe buno: \NNN 'N' kisobola okuba ennamba oba ennukuta. Akabonero kano ekiragiro kikategeeramu akabonero akakongojjedwa mu nnamba ey'omumpandika eya ki-okita NNN \\ Kano kikategeeramu akabonero ak'akasaze ak'akaddanyuma \a Kano ko kikategeeramu ekiragiro eky'okuvugisa ekide oba kafirimbi \b Kano kikategeeramu ekiragiro ekigamba kompyuta kusiimulawo akabonero ke kaddirira \f Kano kikategeeramu ekiragiro ekigamba kompyuta kukyusa lupapula \n Kano kikategeeramu ekiragiro eky'okutandika lunyiriri olupya \r Kano kikategeeramu ekiragiro ekigamba akasonga kugenda ku ntandikwa y'olunyiriri \t Kano ko kitegeeramu ekiragiro eky'okuteekawo oluseetuka � Obubonero obwawulemu obufuga enkola y'ebiwandikiro: * dsusp KABONERO Bino bitegeka ekiwandikiro nti bwe kisanga KABONERO mu biyingizibwa, okuyingiza kwonna bwe kuggwa kiyimirizaamu omulimu ogwa puloguramu gye kifuga eof KABONERO Bino ate byo bikitegeka nti bwe kisanga KABONERO mu biyingizibwa ekiwandikiro kibala nti ebigoberera KABONERO ssi biyingizibwa bya puloguramu gye kifuga (kwe kugamba nti kiragira puloguramu nti fayiro ey'ebiyingizibwa ekoma ku KABONERO) eol KABONERO Bino bitegeka nti, ku kiwandikiro kino ne puloguramu ze kifuga, KABONERO ke kalaga awali enkomerero y'olunyiriri � Obutegeke obw'enjawulo: N N eba namba. Kino kileetera omutwe oba ekiwandikiro okufuna enyingiza n'okuwereza ebivaamu ku bwangu obwa baud N * cols N Kino kimanyisa enombe nti omutwe oba ekiwandikiro bikolera ku nkumbo N * columns N Kino kyekimu ne cols N � Ekiragiro data egifuula okuva mu mpandika eya bulijjo nga egoberera walifu efugibwa ennenge eya 64 eyogerwako mu kiwandike RFC3548. Data ekiragiro gye kiba kikomyawo mu mpandika eya bulijjo ekkirizibwa okubaamu n'obubonero obulagira kutandika nnyiriri mpya. Data bw'eba nga eyinz'okubaamu obubonero obutali bwa mu walifu obulala osobola okussaako akawayiro --ignore-garbage buleme okugutawanya. � Singa ekiragiro kino okiteerawo enkalala BUBONERO-1 ne BUBONERO-2 nga mu buwayiro temuli aka '-d', buli kabonero ke kisanga mu biyingizibwa nga kali ne mu BUBONERO-1 mu ebivaamu kizzawo kanne wako ak'omu BUBONERO-2. Singa BUBONERO-1 lusinza BUBONERO-2 obuwanvu ekiragiro BUBONERO-2 kirwongerako koppi ez'akabonero kaamu akasembayo okutuusa lwe lw'enkana BUBONERO-1. Bw'oteekawo akawyiro aka '-t' olwo mu kifo eky'okwongera ku buwanvu obwa BUBONERO-2, ekiragiro buli kabonero ke kisanga mu biyingizibwa nga kali ne mu BUBONERO-1 naye nga tekalina kanne wako mu BUBONERO-2, mu ebivaamu kikalekamu. BUBONERO-2 bwe luba nga lwe lusinzizz'obuwanvu obubonero obwamu obutalina bunne wabwo mu BUBONERO-1 tebulina kye bukolawo. Osobola okukozesa '[:lower:]' ne [:upper:]' nga bye bikola ng'enkalala ezo ebbiri singa oyagala ekiragiro kikyuse ennukuta ez'omu biyingizibwa ennene zonna zifuuke entono oba entono zonna zifuuke ennene. Ekiragiro bwe kiba nga mu biyingizibwa kigyamu obubonero obusangibwa mu BUBONERO-1 oba nga kibuwanyisaamu bunne wabwo okuva mu BUBONERO-2, akawayiro aka '-s' kakireetera ate okukebera ebivaamu nga bwe kisangamu koppi ez'obubonero obusangibwa mu BUBONERO-2 ezisukka mu emu, kizigyamu wasigalengamu emu. Bwe kiba nga kikola emirimu egitali egyo akawayiro ako kakireetera okusooka kukebera ebiyingizibwa nga bwe kisangamu koppi ez'obubonero obusangibwa mu BUBONERO-1 ezisukka mu emu, kizigyamu wasigalengamu emu. � Okozesanga kamu kokka ku buwayiro -b, -c oba -f. Buli LUKALALA lubaamu olubu, oba embu z'obubonero nga z'awuludwa zi kkoma. Ekiragiro kiwandika ebivaamu mu nsengeka y'emu n'y'ebiyingizibwa. � Mu ebya bulijjo, ekiragiro kino ebivaamu bya kyo tebibaamu langi ez'enjawulo. Akawayiro aka '--color=never' nako kaleetera ekiragiro okuwandika bitalimu langi ez'enjawulo. Akawayiro aka '--color=auto' bwe kabaako, ekiragiro bwe kiba nga ebivaamu bya kyo bigenda awateekebwa ebivaamu awa bulijjo, kikyusa langi mwe kiwandika ebifa ku fayiro okusinzira ku kika kya yo. Ekigambo eky'omunviromenti 'LS_COLORS' kye kifuga enkola y'ekiragiro ku nsonga ya kuwandika mu langi. Ekiragiro ekya 'dircolors' kye kitegeka ekigambo kino � Bw'oba towadde FAYIRO, oba nga FAYIRO ogiwadde nga '-', ekiragiro kisoma ebiva ku nnono eya bulijjo. � Ekiragiro bwe kiba nga tekiweredwako obuwayiro, ebivaamu kibiragira mu nkumbo ssatu. Olukumbo olusooka lubeera mu ennyiriri eziri mu FAYIRO1 yokka, olukumbo olwokubiri lubeera mu ennyiriri eziri mu FAYIRO2 yokka, ate olwokusatu lubeera mu ennyiriri ezisangibwa mu fayiro zombi. � Ekiragiro bwe kibulako AGUMENTI yonna, kiwandika ennamba ey'omukozesa ey'ennono n'ezo z'afaananabufaananyi okuba nazo, ennamba ya guluupu ey'ennono omukozesa gy'alimu ko n'eza guluupu z'afaananabufaananyi okubeeramu. � Ekiragiro kino kiwandika ebiri mu FAYIRO awateekebwa ebizzibwa pulogulamu mu ebya bulijjo, nga kibiwandikira mu mpandika eya okitariyo (singa tekikakibwa okubiragira mu dekanariyo). FAYIRO bwe zisukka mu emu, ekiragiro ebizirimu kibitwala nga ebigattidwa mu fayiro emu. Ekiragiro bw'otokiraga FAYIRO, oba FAYIRO bwe kiba '-', bye kikolako kibifuna okuva awayingizibwa awa bulijjo. � ???� --backup[=KKOPI] Kano kakireetera okugyamu ne kkopi ey'okwerinda ku buli fayiro ey'ekigenderwa esangibwawo -b Kano kakola kye kimu n'aka --backup naye tokkirizibwa kwongerako agumenti -f, --force Buno bukireetera okuwandika ku fayiro ezisangidwawo nga tekimaze ate okubuuza akiyisizza. Kye kimu n'aka --reply=yes -i, --interactive Buno, bukireetera okusookanga kubuuza akiyisizza we kibeera nga kigenda okuwandika ku fayiro esangidwawo. Kikola mu ngeri y'emu n'aka --reply=query -n, --no-clobber Kamu ku buno bw kabaako, tekiwandika ku fayiro esangidwawo. Bw'oteekawo akasoba mu kamu ku buwayiro -i, -n ne -f k'osembyayo kokka ke kakola. � --backup[=ENKOLA] Kano kakireetera buli fayiro ey'ekigenderwa okugiggyamu ne koppi ey'okwerinda -b Okussawo kano kye kimu n'okussawo aka '--backup' naye oba tokkirizibwa kwongerako agumenti -d, -F, --directory Bw'ossawo kamu ku buno, amaterekero kigakolerawo nyunzi ezit'eyawudde (muteesiteesi yekka gwe kikkiriza okukozesa buno) -f, --force Bwe wabaawo fayiro ezisangidwawo ku kigenderwa, buno bukireetera okusooka kuzigyawo empya zidde mu kifo kyazo � --backup[=ENKOLA] Kano bw'okateekako, buli fayiro gye kiba kigenda okuwandika mu, kisooke okugiggyamu kkopi eya kwerinda -b Kye kimu ne --backup okuggyako nti tekikkirizibwa okwongerako agumenti -c (Kano akawyiro tekakyalina kye kakola) -C, --compare Buno bukireetera okusooka kugerageranya etterekero mwe kigenda okuggya koppi eya fayiro n'eryo mwe kigwnda okugissa. Emirundi egimu kiyinza but'etaagisa kutwalayo koppi. -d, --directory Buno bwo bukireetera okubala agumenti zonna eziddako okuzibala nga amannya g'amaterekero; kikolawo amaterekero agamenyedwa wano, ko ne fayiro ezaamu � --batch-size=BUNGI Kano kafunga obungi bwa fayiro ekiragiro ze kikolako nga tekyetaaze kukolawo fayiro ez'ekiseerabuseera � --complement Kano kaleetera ekiragiro okukola ku bayiti, bubonero oba firidi ebitali ebyo ebikiragidwa � --debug Kano kakireetera olunyiriri lwe kisegekesa okuluwayirako okunnyonyola, era n'okukulabula ku nkozesa ya 'stderr' eringa etali ntuufu --files0-from=F Kano kakireetera okukola ku fayiro eziri mu lukalala olusangibwa mu fayiro 'F'. Ku nkomerero ya buli linnya lya fayiro mu lukalala olwo kisuubira kusangawo bayiti eya zero - 'NUL'. F bwe kiba '-', olwo kikola ku biva awayingizibwa awa bulijjo � --files0-from=F Kano bwe kabaako, kakireetera okukola ku fayiro eziri ku lukalala oluli mu fayiro 'F'. Buli linnyaku lukalala olw'omu F liteekwa okuwandikibwa nga likomekkerezedwa bayiti eya zero. 'F' bwe kiba '-', olwo ekiragiro kikola ku fayiro amannya gazo g'esanga awayingizibwa awa bulijjo. -L, --max-line-length Bw'ossawo kamu ku buno, ekiragiro kiwandika obuwanvu bw'olunyiriri olusingamu obuwanvu mu fayiro ze kikozeko. -w, --words Buno bwo bukireetera okuwandika obungi bw'ebigambo obw'omu buli fayiro gye kikozeko. � --from=NANYINI_ALIWO:GULUUPU_ERIWO Kano kaleetera ekiragiro okukyusa nannyini ne/ oba guluupu ku buli fayiro singa nannyini yo ne/oba guluupu ya yo bye bimu n'ebyo ebiteekedwa wano. Kimu ku byo (NANYINI_ALIWO oba GULUUPU_ERIWO) osobola obutakiteekawo. Olwo atiributo eyo ekiragiro tekija okigifako. � --group-directories-first Kano kakireetera okusooka kuwandikawo materekero ne kizzaako fayirobufayiro. Osobola okwongerako aka --sort. Kasita ossaako aka --sort=none (-U) ekiragiro n'eby'okusooka kuwandika materekero tekibikola � --help Kano kaleetera ekiragiro okukoma ku kulaga okunnyonyola kuno � --lookup Akawayiro kano kakireetera okukozesa DNS kizuule amanya aga kompyuta enyunge agatali mapaatiike -m Kano ko kakireetera okulaga ebifa ku mukozesa akiyisizza yekka -p, --process Buno bukireetera okulaga emirimu egibindabinda egyatandikibwa omulimu ogwa init � --no-preserve=LUKALALA_ATIRIB Kano kakireetera butakuuma atiributi eziragidwa mu LUKALALA_ATIRIBS --parents Kano kakireetera okusoosako ekkubo erigguka ku nsibuko ku linnya lya TTEREKERO � --one-file-system Bw'oba ogyawo etterekero, akawayiro kano kaleetera ekiragiro obutagyawo fayiro ze kirisangamu nga ziri ku sisitemu ya fayiro etali y'emu n'etterekero eryo � --pid=PID Kano bw'okagatta ku aka -f, kaleetera ekiragiro okumala kasita omulimu oguliko ennamba PID nagwo gumalirizibwa -q, --quiet, --silent Bw'oteekawo kamu ku buno kaleetera ekiragiro butawandikawo mitwe egiraga zifayiro ebintu mwe biva --retry Bw'ossaako akawayiro kano, ekiragiro ekya tail kiddinngana kukebera oba fayiro gy'ogigambye gyeri bw'etasooka ku gisangawo, oba fayiro eyo bw'egira n'eba nga evuddewoko. Kano tekagasa okugyako nga kuliko n'akawayiro '--follow=name' � --preserve-context Kano kakireetera okutegeka ndukusa eza SELinux ez'oku koppi ze kikolawo nga ze zimu n'ez'oku fayiro ez'omu NNONO -Z, --context=NDUKUSA Buno bwo bukireetera okutegeka ndukusa eza SELinux ez'oku koppi ze kikolawo zibe NDUKUSA � --sort=KIGAMBO Kano ate kakireetera okukolera ku nkola ereetebwawo KIGAMBO. KIGAMBO kisobola okuba 'general-numeric', '-g', 'human-numeric', '-h', 'month'oba '-M' -V, --version-sort Bw'ossaako kamu ku buno ekiragiro kisengeka nnyiriri nga kisinzira ku nnamba ezitali ku ntandikwa yazo � --sparse=DDI Ekikongojjedwa mu DDI kissawo amateeka agafuga entonda eya fayiro ez'empewo --strip-trailing-slashes Kano kakireetera okusalako obusaze obw'akaddannyuma, '/', obufundikira ndagiriro za fayiro eza NNONO ezisangibwa mu agumenti � --strip-trailing-slashes Kano kakireetera okusalako obusaze obw'akaddannyuma, `/', obukomekkereza ndagiriro za fayiro eza NNONO ezisangibwa mu agumenti -S, --suffix=KAFUNDIKWA Buno bukireetera okuwayirako KAFUNDIKWA ku linnya lyya kkopi ey'okwerinda, mu kifo eky'aka bulijjo � --suffix=KATANDIKWA Kano kakireetera 'LUTIBA' okukisoosaako KATANDIKWA (ekiteekwa butabaamu obusaze). akabonero akasembayo mu 'LUTIBA' bwe kataba 'X' ekiragiro kino kikola nga gwe eyataddewo akawayiro kano. � --tmpdir[=TEREKERO] Akawayiro kano kakireetera fayiro oba etterekero lye kikolawo okuliteeka mu TEREKERO. Bw'oba nga totegese TEREKERO, ekiragiro bye kikolawo kibiteeka mu tterekero erikongojjedwa mu kigambo eky'omu nviromenti '$TMPDIR'. Ekyo bwe kiba nga tekyategekebwa, ekiragiro kibiteeka mu tterekero '/tmp'. Bw'okozesa akawayiro kano, ekikonogjjedwa mu kigambo LUTIBA tekikkirizibwa okulaga kkubo okuva ku tterekero ery'okumusingi. Obutafaanana n'aka -t, akawayiro kano kakukkiriza okutegeka ekiri mu LUTIBA ne liba linnya eririmu n'obusaze obw'akaddannyuma. Wabula ekiragiro kikozesako ekitundu ekisembayo kyokka - ekidda ku kasaze ak'akaddanyuma akasembayo. � --verbose Kano kaleetera ekiragiro okusooka kuwandikawo ebikwata ku mulimu buli lwe kiba kigenda kutandika fayiro ey'ekikoledwa empya � --version Kano ko kakireetera okukoma ku kulaga ebifa ku mutindo gwa kyo � --all Akawayiro kano kakireetera okuwandikawo obungi bw'ebitundu ebibazi kompyuta by'erina --ignore=N Bwe kiba kibala ebitundu ebibazi ebiri mu kompyuta, kano kakireetera kubuukako N, ebyo ne kitabibalirimu � -evenp Kino kikola ng'eyagattise '-parenb cs8' * [-]lcase Kino kikola ng'eyagattise 'xcase iuclc olcuc' litout Kino kikola ng'eyagattise '-parenb -istrip -opost cs8' -litout Kino kikola ng'eyagattise 'parenb istrip opost cs7' nl Kino kikola ng'eyagattise '-icrnl -onlcr' -nl Kino kikola ng'eyagattise 'icrnl -inlcr -igncr onlcr -ocrnl -onlret' � [-]ignpar Kino kireetera ekiwandikiro oba mutwe gwa kompyuta butafa ku bubonero obuzze nga biti zaabwo ezikozesebwa okukasa oba butuufu ziraga nga obutali butuufu * [-]imaxbel Kino kyo kitegeka nti ekiwandikiro bwe kiwerezebwa akabonero nga eggwanika mwe kibukuumira bumal'okuwera kibulage lijjudde kivugabuvuzi naye obubonero obusangidwamu tekibusangulamu [-]inlcr Kino kitegeka nti tty bw'efuna akabonero akalagira kutandika lunyiriri lupya yo ezzawo akalagira akasonga okudda ku ntadikwa y'olunyiriri [-]inpck Kino kitegeka nti ekiwandikiro kikebera biti ezikozesebwa okukakasa obutuufu obw'obubonero obukiwerezebwa [-]istrip Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta bigyamu biti ey'omanaana ey'oku buli kabonero akabiwerezebwa � cooked Kino kizza ebigambo brkint, ignpar, istrip, icrnl, ixon, opost, isig, icanon, eof ne eol ku bubonero bwa byo obwa bulijjo -cooked Kino kikola kimu ne 'raw' crt Kino kikola ng'eyagattise 'echoe echoctl echoke' � dec Kino kikola ng'eyagattise 'echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u' * [-]decctlq Kino kikola kimu ne '[-]ixany' ek Kino kireetera ekiragiro eky'okusiimula akabonero kamu n'eky'okusiimulawo olunyiriri olulamba okudda ku bubonero obubireetawo obwa bulijjo evenp Kino kikola ng'eyagattise 'parenb -parodd cs7' � ispeed N Kino kitegeka nti ekiwandikiro oba omutwe bifunira enyingiza ku bwangu obwa N * line N Kino kileetera ebiyisibwa mu mukutu ogw'oku kiwandikiro oba omutwe gwa kompyuta bitegekebwenga mu nkola namba N min N Kino kikola nga akawayiro -icanon kwekali. Kireetera ekiwandikiro okulindanga kimale okuwerezebwa obubunero N kiryoke kikolenga ku bitundu ebya data ebikiwerezedwa ospeed N Kino kitegeka nti ekiwandikiro oba omutwe biwereza ebivaamu ku bwangu obwa N � oddp Kino kikola ng'eyagattise 'parenb parodd cs7' -oddp Kino kikola ng'eyagattise '-parenb cs8' [-]parity Kino kikola kimu ne '[-]evenp' pass8 Kino kikola ng'eyagattise '-parenb -istrip cs8' -pass8 Kino kikola ng'eyagattise 'parenb istrip cs7' � raw Kino kikola ng'eyagattise '-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0' -raw Kino kikola kimu ne 'cooked' � sane Kino kikola ng'eyagattise 'cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, ate kizz'ebiragiro ebirala ebireetebwa ku bubonero obwayawulwamu ku bubonero bwa byo obwa bulijjo. � stop KABONERO Bino bitegeka nti KABONERO ke kayimiriza okukolebwawo ebivaamu mu mulimu ogwa pulogulamu efugibwa ekiwandikiro kyo susp KABONERO Bino bitegeka nti ekiwandikiro kisindika KABONERO eri ekyuuma oba pulogulamu bye kyagala bisooke biyimirizeemu okukiwereza obubonero * swtch KABONERO Bino bitegeka nti KABONERO ke kalagira ekiwandikiro kitandike okukozesa pulogulamu enzivvunuzi endala * werase KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO, ekigambo kyewasembye kuwandika kigibwawo � %A Erinnya ery'olunaku olwamu sande mu bujjuvu, obuwanvu bwago ssi kya tteeka okwenkanankana (Sande Lwamukaaga) %b Erinnya erifunze ery'omweezi (Jan..Des) %B Erinnya ery'omwezi mu bujjuvu, obuwanvu bwago ssi kya tteeka okwenknankana (Janwariyo..Desemba) %c Ennaku ez'omwezi n'obudde (Lw6 Nov 04 12:02:33 EST 1989) � %C Ekyasa (omwaka nga gugabizidwa mu 100, ekivaamu ne kisalibwako obusoloobye ku namba enzijjuvu). Okugeza: 20 oba 21 %d Ennaku ez'omwezi (01..31) %D Olunaku (mm/ll/MkMk), ekivaamu kiba nga eyataddewo %m/%d/%y %e Ennaku ez'omwezi, nga awandibadde zeero ezikulembedde waliwo mabanga ( 1..31) � %F Kyekimu ne %Y-%m-%d %g Omwaka, nga guwandikidwa ne digiti biri, ogugendana ne sande eya kakano okubeera eya %V mu mwaka %G Omwaka, nga guwandikidwa ne digiti nya, ogugendana ne sande eya kakano okubeera eya %V mu mwaka � %S Busikonda (00..60); kyetaagisa okutuuka ku 60 mu kifo eky'okukoma ku 59 olw'okubeera nti kompyuta oluusi yesanga nga erina okuwagikawo kasikonda ak'enyongeza %t Omusittale %T Obudde, mu mbala eya ssaawa 24 (SS:dd:ss) %u Olunaku olwa sande (1..7); 1 kitegeeza Balaza � %U Ennamba eya sande mu mwaka singa esande ebalibwa nga etandikira ku lwa Ssande (00..53) %V Ennamba eya sande mu mwaka singa esande ebalibwa nga etandikira ku lwa Balaza (01..53) %w Olunaku olwa sande (0..6); 0 kitegeeza Ssande %W Ennamba eya sande mu mwaka singa esande ebalibwa nga etandikira ku lwa Balaza (00..53) � %h Kyekimu ne %b %H Essaawa (00..23) %I Essaawa (01..12) %j Olunaku lwakumeka mu mwaka (001..366) � %n Kitandike olunyiriri lupya %N Nanosikonda (000000000..999999999) %p Akabonero akalaga bwa ku makya oba bwa lwaggulo mu nnukuta enkulu (mu locale nyingi kino kisigala kyereere) %P Akabonero akalaga bwa ku makya oba bwa lwaggulo mu nnukuta ento (mu locale nyingi kino kisigala kyereere) %r Essaawa, mu mbala eya saawa 12 (SS:dd:ss [AP]M) %R Essaawa, mu mbala eya saawa 24 (SS:dd) %s Busikonda obwakayita okuva ku '00:00:00 1970-01-01 UTC' (obusobozi buno buleetedwa aba GNU) � %x Engeri olunaku gye luwandikibwamu mu lokale eno (mm/ll/MM) %X Engeri essaawa gye ziwandikibwamu mu lokale eno (%H:%M:%S) %y Digiti ez'omwaka ezisembayo (00..99) %Y Omwaka (1970...) � %z Kiraga enjawulo wakati w'essaawo kompyuta kw'ekolera n'eza UTC, mu ngeri eya '+ssdd' (okugeza +0100) %:z Kiraga enjawulo wakati w'essaawo kompyuta kw'ekolera n'eza UTC, mu ngeri eya '+ss:dd' (okugeza +01:00) %::z Kiraga enjawulo wakati w'essaawa kompyuta kw'ekolera n'eza UTC, mu ngeri eya '+ss:dd:ss' (okugeza +01:00:00) %:::z Kiraga enjawulo wakati w'essaawa kompyuta kw'ekolera n'eza UTC, mu ngeri eragako obutundutundu obwetaagisa bwokka (okugeza +01 oba +05:30) %Z Kiwandikawo omulamwa okwesigamwako okubala obudde (Okugeza EST oba UTC), oba kisigala kyereere singa tekisoboka okuguzuula 'date', mu ebya bulijjo, bw'ebeera ewandika obudde ennamba ezisookerwako digiti emu yokka ez'ongerako zeero ekulembedde. � +OLUSOOKERWAKO[:OLW'OKUMALIRAKO], --pages=OLUSOOKERWAKO[:OLW'OKUMALIRAKO] Kano akawayiro kaleetera ekiragiro okutandikira ku lupapula olw'omu FAYIRO OLUSOOKERWAKO n'okumalira ku lupapula [OLW'OKUMALIRAKO] -NKUMBO, --columns=NKUMBO Kano akawayiro kaleetera ekiragiro okutegeka bye kisanga mu FAYIRO nga ebigobereragana biri mu nkumbo, okugyako nga kuliko n'akawyiro '-a'. Era kigezako okulaba nti ku lupapula enkumbo zonna z'enkanyankanya obungi bw'ennyiriri ezizirimu � --output-delimiter=BUBONERO Kano bwe kabaako, ekiragiro kissaawo BUBONERO okulaga olukumbo olumu we lukoma olulala ne lutandika � --userspec=MUKOZESA:GULUUPU Akawayiro kano kaleetera ekiragiro okukola nga ekiyisidwa omukozesa MUKOZESA nga ali mu guluupu GULUUPU. --groups=ZI-GULUUPU Kano ko kaleetera ekiragiro okukola nga ekiyisidwa omukozesa alina guluupu ez'enyongeza g1,g2,..,gN � -0, --null Bw'ossawo kamu ku buno bukireetera okussawo bayiti eya 0 ku nkomerero ya buli lunyiyiri lwe kiwandika, mu kifo eky'akabonero aka bulijjo � -D Kano kakireetera okukolawo ebitundu ebya KIGENDERWA ebibereberye byonna okuggyako ekisembayo, kiryoke kikoppe ebiri mu NONO koppi zigende mu KIGENDERWA; kino kiyamba nga okozesa ntereeza esooka -g, --group=GULUUPU Buno bwo bukireetera okukyusa guluupu ey'ebiva mu mulimu ogugenda okukolebwa ebeere GULUUPU -m, --mode=NDUKUSA Buno bukireetera okukyusa ndukusa zifuuke NDUKUSA (nga eyakozesezza chmod), mu kifo kya rwxr-xr-x -o, --owner=NANYINI Obwananyinyi kibukyuse bubeere NANYINI (muteesiteesi yekka y'asobola okweyambisa akawayiro kano ne kakola) � -D, --all-repeated[=engeri-gye-z'awulaganidwa] Bw'ossaawo kami ku buno ekiragiro kiwandikako ennyiriri ezifaanagana eziriraanaganye 'engeri-gye-z'awulaganidwa' kye kigambo ekifuga kiki ekiwandikibwawo wakati w'ennyiri ez'en'enjawulo ezifaanagana mu ebivaamu. 'engeri-gye-z'awulagandiwa' bwe kiba 'none', ennyiriri ezo zonna ziwandikibwa kumu nga tewali kiz'awulagana. Bwe kiba 'prepend' ekiragiro kisooka kussawo olunyiriri olutaliko kantu ne kiryoka kiwandikawo ekibinja ky'ennyiriri ezifaanagana. Bwe kiba 'separate' olwo bwe kimala ekibinja ekimu kissawo olunyiriri olutaliko kantu ne kiryoka kiwandika ekibinja ekiddako. Enkola yakyo eya bulijjo bwe butayawula bibinja by'ennyiriri ezo. -f, --skip-fields=N bw'oteekawo kamu ku buno, N nga gwo muwendo, ekiragiro bwe kiba gerageranya nnyiriri okulaba oba nga zifaanagana tekifa ku firidi zaamu N ezisooka -i, --ignore-case kamu ku buno bwe kabaako ekiragiro tekirabawo njawulo wakati w'ennukuta ennene n'entono -s, --skip-chars=N bw'oteekawo kamu ku buno, N nga gwo muwendo, ekiragiro bwe kiba gerageranya nnyiriri okulaba oba nga zifaanagana tekifa ku bubonero bwazo N obusooka -u, --unique ate bw'oteekawo kamu ku buno ekiragiro kiwandikawo ezo ennyiriri zokka ezitafaanagana n'ezo bwe ziriraanaganye -z, --zero-terminated Bw'ossawo kamu ku buno, ekiragiro ku nkomeroro ez'ennyiriri mu kifo eky'okussawo akabanero akalagira kutandika lupya, kiteekawo bayiti eya 0. � -D, --date-format=NTEREEZA Buno obuwayiro bufuga engeri ekiragiro gye kiwandikamu obudde mu mitwe gy'empapula ze kikola mu biva mu FAYIRO. Obubonero bw'ossa awali ekigambo NTEREEZA kibiwandikawo nga tekibikyusizzaako (okugyako obusookerwako '%') Okugeza, bw'owandika --date-format="Balaza Lwaggulo ", mu mutwe gwa buli lupapula 'pr' lwe kikola mu biva mu FAYIRO kiwandikamu nti Balaza Lwaggulo. -e[LUSEETUKA[BUNGI]], --expand-tabs[=LUSETUKA[BUNGI]] Kano akawayiro kaleetera ekiragiro buli we kisanga obubonero obutegeeza nti awo waliwo oluseetuka nga kikola ku FAYIRO, mu bye kifulumya, okussawo akabangirizi. Singa mu FAYIRO baba nga obubonero bwebakozesezza okulaga nseetuka ssi bwe bwa bulijjo, awali ekikongozzi LUSEETUKA ossaawo obubonero obwo bwe baakozesezza. Obubonero obwo bwe buba nga obungi bwabwo bwa njawulo ku bwa bulijjo, awali ekikongozzi BUNGI w'owandikira obungi bw'obubonero bwe baba bakozesezza. -F, -f --form-feed Bw'ossawo kamu ku buno kaleetera ekiragiro, bwe kituuka ku nkomeroro ey'olupapula, okussaawo obubonero obufuzi obuleetawo okukyusa lupapula mukifo eky'obulagira kutandika lunyiriri lupya obw'emirundi esatu � -G, --no-group Buno bukireetera butalaga bifa ku guluupu -h, --human-readable Buno bukireetera okulaga obunene mu ngeri omuntu gy'ategeera (e.g., 1K 234M 2G) --si Kano kakola nga obwa '-h' ne '--human-readable', naye nga birengo bya 1000 mu kifo ekya 1024 � -H, --dereference-command-line Buno obuwayiro bw'ossawo kamu ku bwo, ekiragiro bwe kisanga ennyunzi, kiwandikawo ebikwata ku fayiro kw'egguka --dereference-command-line-symlink-to-dir Kano ko bw'okassawo, ekiragiro ne kisanga nnyunzi egguka ku tterekero, kiwandikawo ebikwata ku tterekero kw'egguka. Naye tekirondoola nnyunzi ezigguka ku fayirobufayiro --hide=BUBONERO Kano kakireetera butalaga fayiro ezirina ebitundu by'amannya gazo ebifaanana BUBONERO. Bwe kubaako aka -a oba -A, ekiragiro fayiro ezo ate kiziraga � -I Akawayiro kano kakireetera okusooka kwebuuza wa mukozesa bwe kiba nga kya kugyawo fayiro ezisoba ssatu. Enkola eno tetaatagenya kwenkana ereetebwa aka '-i', sso nga esigala ekuyamba butakola by'otagenderedde --interactive[=DDI] Kano y'engeri endala ey'okufuga engeri ekiragiro gye kikulabula mu nga kigenda okugyawo fayiro. Bw'otegeka DDI n'eba 'never', ekiragiro fayiro kizigyawobugya nga tekikwebuuzizaako. DDI bwe kiba 'once', ekiragiro kyeyisa nga eyataddewo aka '-I'. DDI bwe kiba 'always', ekiragiro kikwebuuzaako ku buli fayiro gye kigyawo (nga eyataddewo aka '-i). Ate bw'otateekawo DDI, era ekiragiro kikwebuuzaako ku buli fayiro gye kigyawo. � -L FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga nnyunzi ey'eyawudde ku gy'eggukako. Okussawo -L kikola kimu n'okussawo -h -O FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ayisizza ekiragiro ekya test akolera ku buyinza obwa nyini yo -p FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ya kika kya mukutu -r FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga esomeka -s FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga obunene bwayo businga ku zero � -L, --logical Bw'okozesa kamu ku buno obuwayiro, ekiragiro kiwandika ekkubo erigguka ku tterekero mwe kiyisidwa nga bwe likongojjedwa mu kigambo eky'omu nviromenti PWD -P, --physical Bw'okozesa kamu ku buno, ekkubo kiriwandika mu ngeri nti teribaamu nnyunzi � -R, -r, --recursive Buno bukireetera okukopa n'amaterekero n'ebigalimu --reflink[=DDI] Kano kakireetera okukolawo nnyunzi mu kifo kya koppi eyetongodde. Fayiro bw'osalawo okugikyusaamu, enyunzi eyo efuukamu koppi eyetongodde --remove-destination Kano bwe kabaako, ekiragiro koppi w'egenda bwe kisangawo fayiro, tekigeza kugiwandikamu, kigigyawobugya koppi n'eddawo nga fayiro empya � -S Kano kakireetera okusengeka amannya okusinzira ku bunene bwa fayiro --sort=KIGAMBO Kano kafuga ensengeka okusinzira ku KIGAMBO. KIGAMBO kisobola okubeera kimu ku bino: extension - kye kimu n'akawayiro -X none - kye kimu n'akawayiro -U size - kye kimu n'akawyiro -S time - kye kimu ne -t version - kye kimu ne -v --time=KIGAMBO Kano kakireetera okulaga obudde obwa KIGAMBO mu kifo eky'okulaga obudde fayiro kwe yasembera okukyusibwako. KIGAMBO kisobola okubeera kimu ku: atime access use ctime status Era, singa kubaako n'akawayiro --sort=time, kakireetera n'okusengeka amannya okusinzira ku fayiro esinga okubeera n'obudde obw'okumpi � -S FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ya kika kya soketi -t [NDAGIRIRO] Kano ke kakalu nti NDAGIRIRO ekutwala ku kiwandikiro oba mutwe gwa kompyuta -u FAYIRO kano ke kakalu nti FAYIRO gyeri nga ate erambidwa mu ngeri nti yenna agibikkula, mu budde bw'amala ng'agikozesa, afuna ennamba ya mukozesa n'obuyinza obwa nanyini yo -w FAYIRO Kano ke kakalu nti FAYIRO gyeri era nga ewandikikamu -x FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga puloguramu � -T, --omit-pagination Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro obutawandika mitwe gy'empapula era ne kitateekamu obubonero obulagira kutandika lupapula lupya mu bye kiwandika -v, --show-nonprinting Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro okulaga n'obubonero obutalabika bulijjo. Kibuwandikira mu mpandika eya ki-okita -w, --width=BUNGI Buno obuwayiro tebukola okugyako nga okzesezza n'akaleetawo nkumbo ezisoba mu lumu. bw'okozesa kamu ku buwayiro buno kaleetera ekiragiro okukomanga ku bubonero BUNGI ku buli lunyiriri oluwandikibwa. Olukumbo bwe luba lumu obuwayiro buno tebulina kye bukolawo � -T, -w, --mesg Buno obuwayiro buleetera ekiragiro okulaga oba omukozesa akkiriza okufuna obubaka obutereevu okuva ku sisitemu. ka '+' kategeeza nti akkiriza, ka '-' nti nedda ate ka '?' kategeeza nti ekiragiro kiremedwa okutegeera oba akkiriza oba takkiriza -u, --users Buno bwo bukireetera okuwandika n'ennamba y'omulimu n'obudde buli mukozesa bw'amaze nga asirikidde --message Akawayiro kano kafuula enkola y'ekiragiro mu ngeri y'emu n'aka '-T' --writable Akawayiro kano nako kafuula enkola y'ekiragiro mu ngeri y'emu n'aka '-T' � -W, --page-width=BUNGI Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro okukomanga ku bubonero BUNGI ku buli lunyiriri lwe kiwandika. Buno tebufaayo oba waliwo obuwayiro obulagira nkumbo ezisoba mu lumu oba tebuliwo nga olukumbo lujjakuba lumu lwokka. Ekiragiro mu FAYIRO bwe kisangamu ennyiriri esinga olukumbo obugazi ezo kizitemamu, okujjako nga otaddewo n'akawyiro '-J'. Olukumbo bwe luba luli lumu lwokka ekiragoro ennyiriri tekizitemamu. Bwo obuwayiro '-s' ne '-S' tebulina kye bukyusa ku nkola eya buno � -W, --word-regexp=BUBONERO Buno obuwayiro bukyusa engeri ekiragiro gye kitegeeramu nti kisanze ekigambo ekyetaaga kukolebwako. Kasita kituuka ku bubonero obukwatagana ne BUBONERO olwo nga kimayi nti ekyo kigambo kyakukolebwako. Mu ebya bulijjo, nga kano akawayiro tekaliko era n'aka '-G' nako nga tekaliko, kasita kisanga ekirimu obubonero nga nnukuta ekyo kikibala ng'ekigambo ekiky'okukolako -b, --break-file=FAYIRO Buno obuwayiro obweyambisa okyusa engeri ekiragiro gye kitegeeramu nti ekigambo kikomye. FAYIRO ogiwandikamu obwo obubonero bwonna bw'osazewo nti tebusobola kuba mu kigambo eky'okukolako. Olwo ekiragiro buli lwe kituuka ku kabonero akali mu FAYIRO nga kimanyi nti kimazeko ekigambo -f, --ignore-case Buno ate bukireetera obutayawula mu nnukuta nnene n'entono bwe kiba kisengeka bigambo -g, --gap-size=BIFO Buno ate bwe kafuga obungi bw'ebifo ebyereere ekiragiro bye kiteeka wakati w'ebitundu by'ennyiriri ez'omu bivaamu. Ennamba gy'oteeka awali BIFO bye ebifo ebyereere ebisinga obutono ebikkirizibwa okubeerawo -i, --ignore-file=FAYIRO Bw'okozesa kamu ku buwayiro buno, buli kigambo ky'owandika mu FAYIRO ekiragiro tekikikolako era mu lukalala olukolebwawo tekibaamu -o, --only-file=FAYIRO Buno bwo bw'obukozesa olwo ekigambo ky'otatadde mu FAYIRO ekiragiro tekikikolako era mu lukalala olukolebwawo tekibaamu � -Z, --context=NDUKUSA Buno butegeka ndukusa eza SELinux zibe NDUKUSA � -Z, --context=NDUKUSA Buno bukireetera okutegeka ndukusa eza SELinux ku buli LINNYA zibe NDUKUSA � -a Akawayiro kano kakireetera okukyusako obudde fayiro kwe yasembera okubikkulwa bwokka -c, --no-create Kamu ku buno bwe kabako ekiragiro tekikolawo fayiro -d, --date=BUDDE Bw'ossawo kamu ku buno ekiragiro kikozesaamu obudde BUDDE -f (Kano kaadibizibwa, tekakyakola) � -a. --across Bw'ossawo kamu ku buwayiro buno, kaleetera ekiragiro ebyandibadde bidda wansi wa binnabyo mu nkumbo okubitegeka nga bidda kyabugazi. Buno bukola nga okozesezza n'aka '-NKUMBO' -c, --show-control-chars Buno buleetera ekiragiro okuwandikawo n'obubonero obufuzi obutalagibwa bulijjo (okugeza nga ^G) -d, --double-space Buno bwo buleetera ekiragiro okuteekangawo olunyiriri olwereere wakati w'ennyiriri ezidirinngana eziva mu FAYIRO � -a, --all Bwe kubaako kamu ku buno, kiraga n'amannya agatandika ne '.' -A, --almost-all Bwe kubaako kamu ku buno, "." ne ".." ebitera okukulembera olukalala byo ekiragiro tekibiraga. --author Kano bwe kabaako, awamu n'aka -l, buli fayiro ekiragiro kiraga eyagikolawo -b, --escape Bwe kubaako kamu ku buno, kiraga n'obubonero obw'enkola eyomu lulimi lwa C obufuga enneyisa ey'obubonero obutalabika � -a, --all Bw'ossawo kamu ku buno obwayiro, ekiragiro tekikoma ku kufuula amabanga ag'okuntandikwa z'ennyiriri. Kiyita mu buli lunyiriri nga kibala ebifo munaanamunaana. Buli lwe kisanga obubonero obuleetawo amabanga bubiri oba obusingawo obutuuka ku kifo eky'omunaana, kibugyawo ne kizzawo kamu akaleetawo oluseetuka. --first-only Kano ko kakikaka okukoma ku kukola ku mabanga ag'okuntandikwa z'ennyiriri gokka (ne bwe kubaako n'aka '-a') -t, --tabs=N Bw'ossaako kamu ku buno, nga N guba muwendo, oluseetuka luba lwenkana amabanga N mu kifo kya munaana, era ekiragiro kibala bifo N mu kifo kya munaana (buno bukireetera okukola nga eyataddewo aka '-a') -t, --tabs=LUKALALA Bw'ossaako kamu ku buno, nga LUKALALA luba lukalala lw'emiwendo, oluseetuka olusooka lubaamu amabanga ag'enkana omuwendo ogusooka, , olwokubiri lubaamu ag'enkana omuwendo ogwokubiri, n'endala bwezityo. Mu LUKALALA, emiwendo giteekwa okwawulaganizibwa mabanga oba akabonero aka ','. Emiwendo egyo giteekwa okuwandikibwa nga gigenda gy'eyongera bunene. (buno nabwo bukireetera okukola nga eyataddewo aka '-a') � -a, --archive Bw'ossawo kamu ku buwayiro buno kiba kye kimu n'okussawo '-dR --preserve-all' --attributes-only Kano kakireetera kukolawo fayiro etalimu kantu naye nga atiributi za yo zifaanagana n'eza fayiro ey'ennono --backup[=KIFUZI] Akawayiro kano kaleetera ekiragiro okuggya kkopi ey'okwerinda mu buli fayiro ekolebwawo -b Kano kafuula enkola y'ekiragiro mu ngeri y'emu n'aka '--backup' naye tekakukkiriza okwongerako ate agumenti --copy-contents Kano bwe kabaako, ekiragiro kikoppa n'ebiri mu fayiro ez'enjawulo ze kisanga nga kikka mu materekero -d Bw'ossawo kano obeera nga eyataddewo '--no-deference --preserve=links' � -b, --before Buno obuwayiro bw'oteekako kamu ku bwo, ekiragiro kitwala nti obubonero obwawula ebiwandise mu FAYIRO buli ku ntandikwa z'ebiwandise ebigoberera binnaabyo -r, --regex Bw'okoteekawo kamu ku buno ekiragiro obubonero obwawula ebiwandise mu FAYIRO kibuyisa nga emboozi ezinoonya zinnaazo -s, --separator=BUBONERO Teekawo kamu ku buwayiro buno oba oyagala ekiragiro kibale nti BUBONERO bwe bulaga entandikwa y'ekiwandise, mu kifo eky'obubonero obulagira kutandika lunyiriri olupya � -b, --body-numbering=MPANDIKA Bw'ossawo kamu ku buno obuwayiro, ekiragiro ennamba ez'ennyiriri ez'omu kiwandike kizitereeza mu MPANDIKA -d, --section-delimiter=NN Buno bukireetera okukozesa NN (bubonero) okulaga buli 'lupapula' gye lukoma -f, --footer-numbering=MPANDIKA Buno bwo bukireetera nnamba ez'ennyiriri enzibizi okuzitereeza mu MPANDIKA � -b, --bytes Buno bikireetera okubala bayiti mu kifo eky'okubala ebifo ennukuta bye zitwala -s, --spaces Bw'ossaawo kamu ku buno ennyiriri kizikutulira awali obubanga -w, --width=BUWANVU Buno buviiramu obuwanvu obw'ennyiriri obustasukka ebifo BUWANVU, mu kifo kya 80 obwa bulijjo � -b, --bytes=LUKALALA Bayiti eziri mu LUKALALA zokka ze kiba kifulumya -c, --characters=LUKALALA Ennukuta eziri mu LUKALALA zokka ze kiba kifulumya -d, --delimiter=K'AWULUZI Ebitundu eby'emoboozi kikozese K'AWULUZI okubyawuluzaamu mu kifo eky'oluseetuka � -b, --ignore-leading-blanks Kamu ku buwayiro buno bwe kabaako, olunyiriri bwe lutandika n'ebifo ebyereere ekiragiro tekibikozesa mu kusengeka, kibibuuka ne kigenda ku bubonero obutali mabanga -d, --dictionary-order KBuno bwo buleetera ekiragiro obutakozesa bubonero obukoledwa ebitali nnukuta, mabanga oba ennamba mu kusengeka -f, --ignore-case Buno bukireetera obutawula mu nnukuta nnene n'entono bwe kiba kisengeka � -c --format=MPANDIKA Bw'ossawo kamu ku buwayiro buno, ekiragiro ebivaamu kibawandikira mu MPANDIKA mu kifo eky'eya bulijjo --printf=MPANDIKA Kano kakola nga aka '--format' naye k'ongerako okusobozesa ekiragiro okutegeera nti obusaze obwa kaddanyuma butegeeza nti eryo tterekero, okwo ne kassaako okugaana ekiragiro okukomekkerza nnyiriri n'akabonero akalagira kutandika olupya. Bw'obanga oyagala akabonero ako kateekebwengawo, mu MPANDIKA ssaamu akabonero aka \n -t, --terse Ate kamu ku buno bwe kabaako, ekiragiro ebivaamu kibwandika mu bufunze � -c, --bytes=K Bw'ossawo kamu ku buno, ku buli fayiro kiwandikako bayiti K ezisembayo Bw'ossawo aka '-c +K, ku buli fayiro kibalako bayiti K okuva ku ntandikwa ya yo ne kiwandika ebigirimu okuva awo � -c, --check, --check=diagnose-first Bw'ossawo kamu ku buno, ekiragiro mu kifo eky'okusengeka fayiro, kigikeberabukebezi. Bw'eba nga nsengeke kimala bumazi. Bw'etaba nsengeke kiwandikawo obubaka obulaga n'olunyiriri olusoose obutaba mu nsegeka ntuufu -C, --check=quiet, --check=silent Buno bukola nga aka -c, naye ku buno tekiwandikawo bubaka ku lunyiriri lwe kisooka okusangamu nga ssi lusengeke --compress-program=PULOG Kano kakireetera okupakira fayiro ez'ekiseerabuseera ze kikolawo nga kikozesa puloguramu PULOG. Kizipakuluza ekiragiro kya 'PULOG -d' � -c, --count Bw'ossaako kamu ku buwayiro buno, ku ntandikwa ya buli lunyiriri lwe kiwandika, kiwandikawo n'obungi bwa koppi za lwo ze kisanze mu biyingizibwa -d, --repeated Ate bw'ossawo kamu ku buno ekiragiro tekiwandika nnyiriri ezitalina zifaanagana nazo eziriraanaganye � -c, --crown-margin Bw'ossaawo kamu ku buno, tekikyusa amabanga agali ku ntandikwa ez'ennyiriri ezisooka ebbiri -p, --prefix=KIGAMBO Buno bukireetera okugatta ezo ennyiriri ezisookebwako KIGAMBO zokka -s, --split-only Buno bukireetera okukutulamu ennyiriri empanvu, ate bwe wasigalawo ebbanga ddene ne kitalijjuzamu � -c, --no-create Kamu ku buno bwe kabako ekiragiro tekikolawo fayiro � -d, --delimiters=LUKALALA Bw'ossawo kamu ku buwayiro buno ekiragiro kikozesaamu obubonero obuli mu LUKALALA mu kifo kya nseetuka -s, --serial Buno buleetera 'paste' okusooka kuwandika nnyiriri zona ez'omu fayiro emu eryoke ewandike ez'omu egiddako � -d, --directory Bw'ossawo kamu ku buwayiro buno bukireetera kukolawo tterekero mu kifo kya fayirobufayiro -u, --dry-run Buno bwo bukireetera butakolawo kyonna okugyako kuwandika linnya -q, --quiet Bw'ossawo kamu ku buno, ekiragiro tekikubuulira lwe kiremwa kukolawo fayiro oba tterekero � -e Kano kakireetera nnukuta ez'enjawulo ezisookedwako obusaze obw'akaddanyuma okuziyisanga eza bulijjo -E Kano kakireetera nnukuta ez'enjawulo ezisookedwako obusaze obw'akaddanyuma okusigala nga kiziyisa nga ez'enjawulo (Enkola eya bulijjo) � -e Kano kakireetera nnukuta ez'enjawulo ezisookedwako obusaze obw'akaddanyuma okuziyisanga eza bulijjo (Enkola eya bulijjo) -E Kano kakireetera nnukuta ez'enjawulo ezisookedwako obusaze obw'akaddanyuma okusigala nga kiziyisa nga ez'enjawulo � -e, --echo Bw'ossaawo kamu ku buwayiro buno, ekiragiro buli kigambo (agumenti - 'AGU'), mu bye kisoma kikiyisa nga olunyiriri ku bwakyo. Mu bivaamu kibeera ku lunyiriri olwakyo. -i, --input-range=ESOOKA-ESEMBA Buno bwo bukireetera okuwandika olukalala olw'ennamba ezitali za sigino eziva ku namba ESOOKA okutuuka ku namba ESEMBA. ESOOKA ne ESEMBA nazo ziteekwa okuba namba ezitali za sigino. Engobereragana y'ennamba oz'omu lukalala olwo eba ya muwawa. -n, --head-count=BUNGI Buno bukireetera obutawandika nnyiriri zisukka mu BUNGI. -o, --output=FAYIRO Buno bukireetera ebivaamu kubiwandika mu FAYIRO --random-source=FAYIRO Kano kakireetera okufuna bayiti ezifuga engeri gye kikyusaamu engobereragana y'ennyiriri okuva mu FAYIRO -z, --zero-terminated Buno ate bwo bukireetera okubala nti awali bayiti eya zero y'enkomerero y'olunyiriri. Era ennyiriri ze kiwandika ku nkomerero yazo ne kisaako bayiti eya zero eyo mu kifo eky'akabonero aka bulijjo akalaga enkomerero y'olunyiriri � -f Kano kaleetera ekiragiro obutawandikawo mitwe ku bivaamu eby'omubufunze -w Kano kaleetere ekiragiro butawandikawo linnya ly'omukozesa erijjuvu nga kiwandika eby'omubufunze -i Kano kaleetera ekiragiro obutawandikawo erinnya ly'omukozesa erijjuvu ne kompyuta ennyunge kwasinzidde nga kiwandika eby'omubufunze -q Kano kaleetera ekiragiro obutawandikawo erinnya ly'omukozesa erijjuvu, kompyuta ennyunge kwasinzidde ko n'obudde bw'amaze ng'asirikiriridde bwe kiba nga kiwandika eby'omubufunze � -f Kyekimu ne -t fF, kaleetera ekiragiro okuwandika ennamba nga zifunzidwa mu bitundu bisatu -i Kyekimu ne -t d2, kaleetera ekiragiro okuwandika ennamba mu mpandiika eya namba enzijjuvu enfunda eza mu dekanariyo -l Kyekimu ne -t dL, kaleetera ekiragiro okuwandika ennamba mu mpandiika eya namba enzijjuvu engazi eza mu dekanariyo -o Kyekimu ne -t o2, kaleetera ekiragiro okuwandika ennamba mu mpandiika eya namba enzijjuvu enfunda eza mu okitadekanariyo -x Kyekimu ne -t x2, kaleetera ekiragiro okuwandika ennamba mu mpandiika eya namba enzijjuvu enfunda eza mu hekisadekanariyo � -f FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ya bulijjo -g FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga bw'ob'ogikozesa ofunirako obuyinza obugendera ku guluupu ya yo -h FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga nnyunzi ey'eyawudde ku gy'eggukako. Okussawo -h kikola kimu n'okussawo -L -G FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga guluupu ya yo y'emu ne gy'olina w'oyisirizza ekiragiro ekya test -k FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga erambidwa esobole okubikkulwanga mangu ennombe oba, bwe liba tterekero, ligaana abatali ba nanyini fayiro okuzigyawo na kuzikyusa manya � -f, --canonicalize Buno obuwayiro buleetera ekiragiro okuwandika erinnya mu bujjuvu nga ekkubo lyonna okuva ku musingi kweriri; fayiro ekkubo kwe ligguka ne bw'etabawo, kasita fayiro endala ez'ebitundu b'ekkubo zibawo tewaba kiremya -e, --canonicalize-existing Buno buleetera ekiragiro okuwandika erinnya mu bujjuvu nga ekkubo lyonna okuva ku musingi kweriri; fayiro zonna ezikola ekkubo ko n'eyo kwe ligguka zonna ziteekwa okubawo, ekyo bwe kitatuukirira wabawo kiremya � -f, --fields=LUKALALA Kiragako ebitundu eby'emboozi ebiri mu LUKALALA byokka; era kiraga n'ennyiriri zonna ezitalimu nnukuta enjawuluzi - okuggyako nga akawayiro -s kwekali -n (Kano tekalina kye kakola) � -f, --follow[={name|descriptor}] Buno obuwayiro buleetera ekiragiro tail okugenda nga kyongera okuwandikawo ebipya ebyongerwa ku fayiro gye kikolako; bw'oteekawo kamu ku -f, --follow, oba --follow=descriptor ekivaamu kiba kyekimu, ekiragiro kigoberera fayiro ne bw'ekyusibwa erinnya. Sso bw'oteekawo --follow=name olwo ekiragiro fayiro bw'evaawo oba erinnya lya yo bwe likyusibwa kikutegeeza ne kirekawo okukola -F Bw'oteekawo kano ekiragiro fayiro bw'evaawo oba bw'ekyusibw'erinnya kiriinda ezzibwewo kiryoke kyeyongere okukikolako. Kino kye kimu n'okussawo --follow=name --retry � -f, --force Kamu ku buno bwe kabaako, ekiragiro bwe kisanga fayiro nga ndukusa ezigiriko tezikkiriza kugiwandikamu kibukyusa osobole okugikolako -n, --iterations=N Buno bukireetera okuddinngana okuwandika fayiro emirundi N mu kifo eky'emirundi egya bulijjo (%d) --random-source=FAYIRO Kano kakirretera okufunayo bayiti okuva mu FAYIRO mu ngeri ya muwawa -s, --size=N Buno bwo bukireetera okukola ku bayiti N (osobola okussaako obukulembekkereza obulaga ebirengo, nga K, M, ne G) � -g Kano kakola nga aka -l okugyako nti tekalaga bannyini fayiro � -g NG[,NG1... ] Akawayiro kano kakutegekera ennamba ya guluupu enkulu n'eba NG, ate bw'oba nazo ozetaaze, ennamba eza guluupu ez'enyongeza kazikutegekera ne ziba NG1, ... � -h, --header-numbering=MPANDIKA Buno bukireetera ennamba ez'ennyiriri ez'omu bikulembera okuzitereeza mu MPANDIKA -i, --page-increment=NAMBA NAMBA y'enjawulo wakati w'ennamba ez'oku nnyiriri ezigobereragana -l, --join-blank-lines=NAMBA Buno bukireetera ennyiriri ze kisanga nga teziriiko kantu eziwera NAMBA nga ziri wamu, okuzibala ng'olunyiriri lumu -n, --number-format=MPANDIKA Buno bukireetera ennyiriri okuziteekako ennamba nga zigoberera MPANDIKA -p, --no-renumber Buno bwo bukireetera ennamba ez'ennyiriri okuzibalira okuva ku 'lupapula' olw'omu kiwandike olusooka, sso ssi okuva ku ntandikwa ya buli 'lupapula'. -s, --number-separater=KIGAMBO Buno ate bukireetera ennamba ez'ennyiriri okuzigoberezanga KIGAMBO � -h MUTWE, --header=MUTWE Buno buleetera ekiragiro, bwe kiba kiwandika emitwe ku mpapula ze kikolawo, okussaawo ebigambo by'otadde awali ekikongozzi MUTWE mu kifo eky'ebya bulijjo. Ebigambo by'oteekawo biteekwa okusookerawko ka ' era ne bikomekkerezebwako ka '. Kulabula: bw'obanga oyagala omutwe gube nga temuli bigambo okozesanga -h "" tokozesa -h"" -i[KABONERO[BUNGI]], --output-tabs[=KABONERO[BUNGI]] Kano akawayiro kaleetera ekiragiro okuteekawo oluseetuka buli awandibade akabanga aka bulijjo. Ob'oyagala akabonero akatali ak'okoluseetuka aka bulijjo, kateeke awali ekikongozzi KABONERO. Bw'oba oyagala enseetuka ezo zimalewo ebifo eby'obubonero ebisukka oba ebitawera munaana ebya bulijjo, obungi obwo buteeke awali ekikongozzi BUNGI -j, --join-lines Okozesa kamu ku buno, kateekwa okubaako n'akamu ku buwayiro '-column', '-a -column' oba '-m'. Kaleetera ekiragiro obutakutula mu nnyiriri ze kisanga mu FAYIRO ezisinga olukumbo olumu obugazi. Bwe kiziwandika ezo, ziba ziyitamu mu nkumbo nga zikozesezza n'amabanga agandibadde g'awula nkumbo zazo. Akawayiro kano kasobola okukozesebwa n'aka '--sep-string' � -h, --human-numeric-sort Bwe kubaako kamu ku buno, ekiragiro ennyiriri kigezako okuzisengekesa ennamba ze kisanga ku ntandikwa za zo. Kitegeera ennamba ez'empandika eya bulijjo etali nfunze mu bitundu bisatu. Kitegeera n'akabonero '-' akatandikwa ennamba naye aka '+' tekiamanyi. Empandika enfuze ey'ennamba eya SI (ekozesa obubonero nga kB, k ne Mb) n'eya IEC (ekozesa obubonero nga KiB ne MiB) kizitegeera naye tekikukkiriza kuzitabika mu biyingizibwa. Bwe kitasanga nnamba oba bwe kisangawo ekibangirizi ku ntandikwa y'olunyiriri, olwo kirutwala ng'olutandise ne nnamba 0 � -h, --no-dereference buno buleetera ekiragiro obutakwata ku fayiro eziggukibwako enyunzi, kikyusabukyusae nnyunzi ez'eyawudde ezo. Kino kisoboka ku sisitemu ezo zokka kwe kisobokera okukyusa ebirambe ebiraga obudde fayiro lwe yasemba kukwatibwako eby'oku nyunzi ez'eyawudde -m Kano ate kakireetera okukyusako obudde fayiro kwe yasembera okukyusibwaamu bwokka � -i, --initial Buno bukireetera okufuulako oluseetuka lwe kisooka okusanga lwokka. Zonna ze kisanga nga kimaze ate okusanga obubonero obutakolawo mabanga kizireka -t, --tabs=BUNGI Buno bukireetera obuwanvu bw'enseetuka okubw'enkanya obubonero BUNGI mu kifo kya 8 eza bulijjo � -i, --inodes Buno bukireetera okulaga ebifa ku inoda mu kifo kya bya nkozesa ya buloka -k Kino kye kimu ne --block-size=1K -l, --local Buno bukireetera okulaga ebifa ku sisitemu ya fayiro ey'oku lusegere yokka --no-sync Bwe kibeera kigenda okuwanuza ebifa ku nkozesa, kano kakireetera butasooka kutandika gwa 'sync', (eno y'enkola eya bulijjo) � -i, --input=NGERI Kano kakyusa ngeri ebiyingizibwa gye biyitamu mu ggwanika zzibiza, n'eba NGERI -o, --output=NGERI Kano kakyusa ngeri ebivaamu gye biyitamu mu ggwanika zzibiza, n'eba NGERI -e, --error=NGERI Kano kakyusa ngeri obubaka obufa ku kiremya gye buyitamu mu ggwanika zzibiza, n'eba NGERI � -l Kano kakireetera okulanga nkalala mu bujjuvu -L, --dereference Buno bukireetera okulaga ebikwata ku fayiro ennyunzi ez'eyawudde kwe zigguka -m Kano kakireetera okukola olukalala nga lubuna ekiwandikiro ate nga amannya aga fayiro g'awulibwa zi "," � -l NNYIRIRI, --length=NNYIRIRI Kano akawayiro kakyusa obungi bw'ennyiriri eziba ku buli lupapula olukolebwawa okuva ku 66 eza bulijjo (okwo 56 ze zibeera ebivudde mu FAYIRO oba, bwe kubaako akawayiro '-F', 63). Ekikongozzi NNYIRIRI z'ennyiriri z'oyagala ziwezenga olupapula. Bwe zitasukka mu kkumi (oba 3 nga '-F' kwekali) ekiragiro empapula tekiziteekako mitwe era kirekayo n'okuteekangamu obubonero obulagira kutandika lupya -m, --merge Kano bwe kabeerako, buli FAYIRO ekiragiro kigiteeka mu lukumbo lwa yo. Ennyiriri ezisinga nkumbo obugazi zisalwako, ebitundu ebiyitamu ne bitawandikibwa. Akawayiro kano kasobola kukolagana n'aka '-J' � -l, --login Buno bukireetera okulaga emirimu egikola ku kwewandisa ku sisitemu � -m, --mode=NDUKUSA Bw'ossawo kamu ku buwayiro buno, kakireetera okutegeka ndukusa (nga empandika eya NDUKUSA y'emu n'ekozesebwa ku kiragiro ekya 'chmod') � -m, --mode=NDUKUSA Bw'ossawo kamu ku buwayiro buno, kakireetera okutegeka ndukusa (nga empandika eya NDUKUSA y'emu n'ekozesebwa ku kiragiro ekya 'chmod') -p, --parents Buno bukireetera butakolawo kulabula fayiro zino bwe kizisangawo. Amaterekero fayiro mwe zigenda okubeera bwe gabeera tegaliwo kigakolawo -v, --verbose Buno bukireetera okulaga obubaka buli lwe kikolawo etterekero -Z, --context=NDUKUSA Buno bukireetera okutegeka ndukusa eza SELinux ez'oku buli tterekero erikolebwawo zibe NDUKUSA � -n, --digits=BUNGI Buno bukireetera okukozesa digiti BUNGI mu kifo ekya digiti 2 -s, --quiet, --silent Buno bukireetera butalaga bunene bwa fayiro ze kikolawo -z, --elide-empty-files Buno bwo bukireetera okugyawo fayiro ze kikozewo bwe ziba njereere � -n, --no-clobber Kamu ku buno kakireetera butawandika ku fayiro esangidwawo. Bwe kabaako n'aka -i, ko ke kakola -P, --no-dereference Bw'ossaako kamu ku buno, ekiragiro tekigya kkopi mu fayiro ennyunzi eziri mu NNONO kwe zigguka � -n, --numeric-sort Bwe kubaako kamu ku buno, ekiragiro ennyiriri kigezako okuzisengekesa ennamba ze kisanga ku ntandikwa za zo. Kitegeera ennamba ez'empandika eya bulijjo etali nfunze mu bitundu bisatu. Kitegeera n'akabonero '-' akatandikwa ennamba naye aka '+' tekikamanyi. Kiba tekitegeera empandika enfunze ez'ennamba. -R, --random-sort Buno bwo bukireetera bye kigenda okusengeka okusooka kuzifumba mu ennamba nga kyeyambisa ennamba endala gye kironze muwawa. Ennamba enfumbe ze kisengeka ne kiryoka kizzawo ebyakiweredwa mu kusooka nga bisengekedwa okusinzira ku nnamba ezo --random-source=FAYIRO Kano kakireetera ennamba gye kyeyambisa okufumba ennamba ezisengekesebwa okuginona okuva mu FAYIRO -r, --reverse Buno bukireetera okuvvuunika engobereregana ya bye kimaz'okusengeka � -n, --numeric-uid-gid Enkola ya buno yefaananyiriza n'ey'aka -l, naye ekiragiro kiraga ennamba mu kifo ky'amannya ga guluupu n'abakozesa -N, --literal Buno bukireetera butafa ku nukuta ezifuga zinaazo -o Kakola nga aka -l, naye ekiragiro tekiraga ebifa ku guluupu -p, --indicator-style=slash Buno bukireetera okuwayira akabonero aka / ku mannya ag'amaterekero ge kiba kiwandisewo � -n[AK'AWULA[DIGITI], --number-lines[=AK'AWULA[DIGITI]] Buno obuwayiro buleetera ekiragiro okuteekako ennamba ku ntandikwa za buli lunyiriri lwe kiwandika. Ennamba ezo ziba za digiti DIGITI okugyako nga ekifo eky'ekikongozi DIGITI okireka nga kyereere. Olwo ennamba ezo ziba za digiti 5. Ennamba ezo zigobererwa obubonero bw'oba otaddewo mu kifo eky'ekikongozi AK'AWULA nga bwe buz'awula ku birala ebiri ku lunyiriri olwo. singa ekifo eky'ekikongozi AKAWULA okireka nga kyereere enseetuka ze ziba nga ze z'awula ennamba ezo ku birala ebiri ku lunyiriri. -N, --first-line-number=NAMBA Buno bwo buleetera ekiragiro okuwandika ennamba nga mu kifo eky'okabala okuva ku 1, kitandikira ku NAMBA, ate ennamba kiziwandika ne ku nnyiriri ezikulembera n'ezigoberera ezo eziriko ebiva mu FAYIRO ekolebwako � -o BUNGI, --indent=BUNGI Buno obuwayiro buleetera ekiragiro okuyisawo obubanga BUNGI ne kiryoka kitandika kuwandikawo ebiri ku lunyiriri. Kino tekikyusa obungi bw'obubonero obuwandikibwa mu lunyiriri obwategekedwa nga weyambisa obuwayiro '-w' oba ';W' -r, --no-file-warnings Buno obukozesa nga toyagala ekiragiro kikulabule nga kiremedwa okuggula FAYIRO � -o, --io-blocks Bw'ossawo kamu ku buno obuwayiro, ekiragiro ennamba kigitwala nga obungi bwa buloka mu kifo kya bayiti � -o, --output=FAYIRO Buno buleetera ekiragiro okuteeka ebivaamu mu FAYIRO -s, --stable Buno buleetera ekiragiro obutageza okusengekesa ennyiriri ennamba bwe kiba kiremedwa okufuna enjawulo wakati wa zo mu nsengeka ndala -S, --buffer-size=BUNENE Buno bufuga obunene bw'ekifo mu ggwanika lya kompyuta ekiragiro mwe kisobola okuteraka bye kikolako � -p Kye kimu ne '--preserve=mode,ownership,timestamps' --preserve[=LUKALALA_ATIRIBUTI] Bw'ossawo kano, bwe kiba kisoboka, ekiragiro kikuuma atiributi z'oba olaze (bw'otoziraga ekiragiro kikola nga eyataddewo: '--preserve=mode,ownership,timestamps') atiributi endala ziri: links, xattr, all � -p TEREKERO Kano kakireetera fayiro okugikolera mu tterekero lye wategese mu kigambo TEREKERO. Akawayiro kano kakireetera n'okukola nga eyataddeko aka -t. Aka '-t' ako kadibizidwa. -t Akawayiro kano kakireetera okulaba ekiri mu LUTIBA nga erinnya lya fayiro okutali kkubo erigiggukako. fayiro eyo kigikolera mu tterekero $TMPDIR, ssinga ekigambo eky'omu nviromenti TMPDIR kiba nga kitegekedwa. Bw'oba nga otegese etterekero ddala nga oyitira mu kussawo akawayito aka '-p', erye mwe kikolera fayiro. Mu nkola eyadibizibwa, ekiragiro kyagikoleranga mu tterekero '/tmp' kasita wabanga tolina ly'otegesezza aka '-p' ate nga n'ekigambo eky'omu nviromenti TMPDIR nakyo tekitegekedwa. � -p, --preserve-timestamps Buno bukireetera okufuula ebirambe ebiraga obudde fayiro empya lwe zasemba okubikkulwa oba okukyusibwako ne bifuuka bimu n'ebya fayiro eza NONO kwe zikoppedwa -s, --strip Buno bukireetera okuggyamu endagiriro ez'obubonero. --strip-program=PULOGURAMU Kano kategeka puloguramu en'ekozesebwa okugyamu endagiriro ez'obubonero -S, --suffix=KAFUNDIKWA Buno bukireetera okukozesa KAFUNDIKWA mu kifo kya akafundikwa aka bulijjo bwe kiba nga kiggya kkopi ez'okwerinda, -t, --target-directory=TTEREKERO Buno bukireetera koppi zonna ze kigya mu okuzissa mu TTEREKERO -T, --no-target-directory Buno bwo bukireetera okubala KIGENDERWA nga fayirobufayiro so ssi tterekero -v, --verbose Buno bukireetera okuwandika mannya g'amaterekero ge kikolawo � -q, --count Bw'ossawo kamu ku buno, kikoma ku kuwandika manya g'abakozesa abali ku sisitemu ku ssawa eyo ko n'obungi bwabwe -r, --runlevel Buno bwo bukireetera okuwandika namba y'enkola eya sisitemu -s, --short Buno bukireetera okukolera mu nkola yakyo eya bulijjo. Olwo kiwandika manya g'abakozesa, emikutu kwebewandisizza ku sisitemu, n'obudde kwe baagyewandisizaako -t, --time Buno bukireetera okukoma ku kuwandika obudde essaawa ya sisitemu kwe yasemba okukyusibwako � -q, --quiet, --silent Buno bukireetera butakulembeza biggyidwa mu fayiro obutundu obulimu mannya gaazo -v, --verbose Buno bukireetera ebiggyidwa mu fayiro kubikulembezenga obutundu oulimu amannya gaazo � -r, --reference=FAYIRO Buno bukireetera okuwandika obudde FAYIRO kweyasembera okukyusakyusibwamu -R, --rfc-2822 Buno bukireetera okuwandika obudde mu mpandikaa eya RFC-2822 Okugeza: Bal, 07 Agu 2006 12:34:56 -0600 � -r, --reference=FAYIRO Buno bukireetera okutegeka obunene obwa fayiro ne bwenkana obwa FAYIRO -s, --size=BUNENE Buno bwo bukireetera okutegeka obunene obwa fayiro ne buba BUNENE � -r, --references Buno buleetera ekiragiro okulamba buli lunyiriri olw'ebivaamu nga kirusoosaako ekigambo kye kisoose okusoma ku lunyiriri olw'ebyo bye kikolako -t, --typeset-mode - Buno tebulina kye bukolawo - -w, --width=BUNGI Buno obuwayiro bufuga obuwanvu bw'ennyiriri ez'omu bivaamu, ng'obubalidde mu bungi bw'obubonero obukkirizibwa okuwandikibwawo. Obungi obwo tebubaliramu obubonero obwo obukola ebigambo ebikozesebwa okulamba ennyiriri ezo � -r, --reverse Buno bukireetera okusembya amannya agandikulembedde nga kigasengeka -R, --recursive Buno bukireetera buli tterekero lye kisanga okulaga n'ebilirimu -s, --size Buno bukireetera okulaga buloka buli fayiro gye kisanga ze kikozesa � -s, --only-delimited Buno bukireetera butalaga nnyiriri zitalimu bubonero obwawuluzi --output-delimiter=KIGAMBO Kano kakireetera okweyambisa KIGAMBO okwawuluzaamu ebivaamu. Enkola eya bulijjo kwe kweyambisa akabonero akakozesedwa mu ebiva ku nnono � -s, --signal=KIRAGIRO, -KIRAGIRO Buno bukusobozesa okukbulira erinnya oba ennamba ey'ekiragiro ekinaasindikibwa -l, --list Buno bukireetera okuwandika olukalala olw'amannya ag'ebiragiro, oba okukyusa amannya gaabyo gafuuke ennamba oba ennamba zaabyo zifuuke mannya -t, --table Buno bukireetera okuwandika ebikwata ku biragiro � -s, --symbolic-link Buno bukireetera okukolawo enyunzi ey'eyawudde mu kifo eky'okuggyamu kkopi -S, --suffix=KAFUNDIKWA Buno bukireetera okuwayirako KAFUNDIKWA ku linnya erya kkopi ey'okwerinda, mu kifo eky'aka bulijjo -t, --target-directory=TTEREKERO Fayiro zonna ezimenyedwa mu NNONO kizisimbuliza ne zigenda mu TTEREKERO -T, --no-target-directory Bw'ossawo kamu ku buno, ekiragiro kibala nti KIGENDERWA fayiro bufayiro sso ssi tterekero � -s[KABONERO], --separator[=KABONERO] Buno obuwayiro buleetera ekiragiro okuwandikawo KABONERO okulaga olukumbo olumu gye lukoma olulala ne lutandika. Obuwayiro buno awali KABONERO bw'olekawo nga wereere ekiragiro kiwandikawo akabonero ak'oluseetuka okulaga olukumbo gye lukoma olulala ne lutandika. Sso bw'obukozesez'awamu n'aka '-w' n'oleka awali KABONERO nga wereere olwo ekiragiro nkumbo tekiz'awulamu, olumala kuwandika ennukuta esembayo ku lukumbo olumu kitandika oluddako. Akawayiro -s bw'okakozesez'awmu ne kamu ku buno: -NKUMBO, -a -NKUMBO oba -m, kaleetera ekiragiro butatemamu nnyiriri ze kigye mu FAYIRO nga kigeza okuzigyisa mu nkumbo. Bwe kubaako n'aka -w ate ekiragiro kisigala ennyiriri kizitemamu � -t Okussaawo akawayiro kano kyekimu n'okussaawo -vT -T, --show-tabs Buno bukireetera okuwandikawo ^I awali ennukuta ezitereeza tabulo -u (kano tekalina kye kakola) -v, --show-nonprinting Buno bukireetera okukozesa okulamba okwa ^ ne M-, okuggyako we kisanga oluseetuka oba obubonero obulagira kugenda ku lunyiriri lupya � -t, --tabs=LUKALALA Buno buleetera amabanga wakati w'enkumbo eziddirinngana okubeera nseetuka, obuwanvu bwazo nga ze nnamba ez'omu LUKALALA ez'awuludwa zi ',' � -t, --target-directory=TTEREKERO Buno bukireetera okusimbuliza fayiro zonna ezimenyedwa mu NNONO zigende mu TTEREKERO -T, --no-target-directory Buno bwo bukireetera okubala KIGENDERWA nga fayirobufayiro so ssi tterekero -u, --update Buno bukireetera obutasimbuliza fayiro NONO, okugyako nga yo mpya okusinga fayiro eri ku kigendererwa oba nga ku kigendererwa tewali fayiro -v, --verbose Buno bwo bukireetera okukola nga bwe kinyonyola bye kikola � -u Akawayiro kano ku bwako kaleetera ekiragiro okusengeka olukalala lwa fayiro ze kiwandika nga kigoberera obudde buli emu kweyasembera okukwatibwako. Bwe kubeerako n'aka '-lt', buli lwe kiwandika linnya lya fayiro, n'obudde obwo kibuwandika. Ka 't' bwe katabaako, ekiragiro kisengekesa mannya sso si budde -U Kano ko kakireetera kuwandika mannya mu nsengeka fayiro gye kizisangamu mu tterekero lya zo -v Kano ate ko bwe kabaako kakireetera okusengeka fayiro ezirin'amannya agalimu ennamba mu ngeri egoberera ennamba ezo � -u, --remove Buno bukireetera okusalako ku fayiro gye kimaze okuwandikako, kiryoke kigigyewo -v, --verbose Buno bukireetera okugenda nga kiraga akozesa we kituuse mu mulimu -x, --exact Kamu ku buno bwe kabaako, obunene obwa fayiro ekolebwako ne buba nga tebumalawo buloka enamba tekibwongerezako kutuuka ku bunene obwo -z, -zero Bw'ossaako kamu ku nuno, ekiragiro bwe kibeera kiddinngana okuwandika ku fayiro, ku mulundi omuvanyuma, w'ebadde kiwandikawo mazero, waleme okulabika nga we bakozesezza ekiragiro ekya shred ekyo. Ebivaamu � -u, --update Buno bukireetera butaggyaamu kkopi okugyako nga fayiro eya NNONO mpya okusinga fayiro koppi eyo gy'egenda okugywawo, oba nga tewali fayiro efaanaya koppi erinnya -v, --verbose Buno bukireetera okukola nga kigenda kinnyonyola bye kikola -x, --one-file-system Buno bwo bukireetera okukolera ku sistemu eya fayiro eno kwe kiyisidwa yokka � -v NAMBA Kano kye kimu n'aka -a NAMBA, okuggyako nti ekiragiro tekiwandika nnyiriri ezigattidwa -1 KITUNDU Kano kakireetera okusinziirira ku KITUNDU mu FAYIRO1 okugatta ennyiriri -2 KITUNDU Kano kakireetera okusinziirire ku KITUNDU mu FAYIRO2 okugatta ennyiriri --check-order Kano bwe kabaako, ekiragiro ne kisanga ebitali bisengeke mu biyingizibwa, kikutegeeza nti wazzewo kiremya, omlulimu ne gukoma --nocheck-order Kano bwe kabaako, ekiragiro ne kisanga ebitali bisengeke mu biyingizibwa, kikolabukozi --header Kano kakiretera okubalanga olunyiriri olusooka ku buli lupapula nga emitwe gy'ebitundu, era tegigeza okuzigatta na ndala � -v, --kernel-version Akawayiro kano kaleetera ekiragiro okuwandika ebifa ku nnombe lwe yategekebwa mu ngeri etegeerwa kompyuta -m, --machine Kano kaleetera ekiragiro okuwandika olubu lwa kompyuta sistemu kw'eri -p, --processor Kano ko kakireetera okuwandika ekika ky'ekyuma ekikola emirimu (CPU) ekiri mu kompyuta -i, --hardware-platform Kano kakireetera okuwandika linnya lya kompyuta (bw'eba nga eririna) -o, --oerating-system Kano ko ate kakireetera okuwandikawo ekika kya sisitemu entabaganyi eri ku kompyuta � -v, --starting-line-number=NAMBA Buno buleetera ennamba ey'olunyiriri olusooka ku buli 'lupapula'olw'omu kiwandike okuba NAMBA -w, --number-width=NAMBA Buno buleetera ennamba ez'ennyiriri okumalangawo ebifo NAMBA mu buli lunyiriri � -w, --check-chars=N Bw'oba otaddewo kamu ku buno obuwayiro, nga N gwo muwendo, ekiragiro kikozesako obubonero N obusooka ku buli lunyiriri bwe kiba kizigerageranya � -w, --width=KOL Buno bukireetera okubala nti obugazi obw'olutimbe bulimu nkumbo NKU -x Kano kakireetera okulaga nkalala nga zigoberera nnyiriri mu kifo eky'okukka mu nkumbo -X Kano kakireetera okusengeka fayiro okusinzira ku bukomekkereza obw'oku mannya gaazo -Z, --context Bw'ossawo kamu ku buno, ekiragiro kiraga ndukusa za SELinux ez'oku buli fayiro -1 Kano kakireetera okuwandika buli linnya lya fayiro ku lunyiriri lwa lyo � -z, --zero-terminated Obuwayiro buno bugamba ekiragiro okuva ku kusengeka nnyiriri kisengekeemu ebintu ebyawulaganidwa akabonero akategeeza bayiti 0 �Ekiragiro bwe kiba kibala emirimu egibadde gibindabinda, n'egyo egisiridwa mu ngeri etagikkiriza kuzuukusibwa nga ekiseera kya gyo ekitegeke tekinnatuuka kigibaliramu. � [:graph:] Kino kitegeeza 'bubonero bwonna obuleetawo ekirabwa, ng'ogyeko amabanga' [:lower:] Kino kitegeeza 'nnukuta entono zonna' [:print:] Kino kitegeeza 'bubonero bwonna obuleetawo ekirabika, nga mwe muli n'amabanga' [:punct:] Kino kitegeeza 'obubonero bwonna obufugaempandika' [:space:] Kino kitegeeza 'obubonero bwonna obuleetawo mabanga, ag'omubukiika n'ag'omu busimba' [:upper:] Kino kitegeeza 'ennukuta nnene zonna' [:xdigit:] Kino kitegeeza 'bubonero bwonna obwa digiti eza ki-hekisi' [=KABONERO=] Kino kitegeeza 'obubonero bwonna obusobola okukola mukifo kya KABONERO � \0NNN Ekiragiro kiwandika ennukuta eva mu namba eya ASCII NNN (eya ki-okita nga ya digiti 1, 2 oba 3) \xHH Ekiragiro kiwandika ennukuta eva mu namba eya ASCII HH (eya ki-hekisi nga ya digiti 1 oba 2) � \NNN Ekiragiro kiwandika ennukuta eva mu namba eya ASCII NNN (eya ki-okita nga ya digiti 1, 2 oba 3) \xHH Ekiragiro kiwandika ennukuta eva mu namba eya ASCII HH (eya ki-hekisi nga ya digiti 1 oba 2) \uHHHH Ekiragiro kiwandikawo akabonero ak'omu 'Unicode' (ISO/IEC 10646) akakongojja ennamba eya ki-hekisi HHHH (ya digiti nya) \UHHHHHHHH Ekiragiro kiwandikawo akabonero ak'omu 'Unicode' akakongojja ennamba eya ki-hekisi HHHHHHHH (ya digiti munaana) � \\ Ekiragiro kiwandika akasazze ak'akaddannyuma \a Ekiragiro kireetawo okulabula ('akade' aka mu kompyuta kavuga) \b Ekiragiro kisiimuulawo ennukuta gye kisembyeyo okuwandika \c Bwe kimalayo olunyiriri tekidda ku lupya \e Ekikolwa ekireetebwawo okunyiga eppeesa lya 'Escape' \f Buuka olunyiriri \n Tandika olunyiriri olupya \r Dda ku ntandikwa ey'olunyiriri \t Luseetuka olw'omu bugazi \v Luseetuka olw'omu busimba � \v Bwe kiraba kino, kitegeeramu akabonero akalagira kompyuta kukolawo akabanga ak'omu busimba BUBONERO-1-BUBONERO-2 Kkano kaleetera 'tr' okuddira buli kabonero ak'omu biyingizibwa akafaanana obuli mu lukalala BUBONERO-1 okukagyawo ne kizzawo akali mu kifo kyekimu eky'omu lukalala BUBONERO-2 [KABONERO*] Kino bwe kisangibwa mu lukalala BUBONERO-2, nga ate olukalala olwo lumpi okusinga ku BUBONERO-1, 'tr' kibala nti olwa BUBONERO-2 ebifo ebibulamu okwenkana BOBONERO-1 bijjuzidwa koppi za KABONERO [KABONERO*MEKA] Kino kitegeeza nti we kiri mu lukalala wabalibwa nga awaliwo MEKA. Ennamba MEKA bw'esookerwako 0 kitegeeza nti ya mu nnenga ya okita [:alnum:] Kino kiragira 'tr' kikole ku bubonero bwonna obuba nnukuta oba digiti [:alpha:] Kino kikiragira okukola ku bubonero bwonna obuuba nnukuta [:blank:] Kino kyo kikiragira kukola ku bubonero bwonna obuleetawo ekibangirizi [:cntrl:] Kino kikiragira kukola ku bubonero bwonna obukongojja biragiro [:digit:] Kino kikiragira kukola ku bubonero bwonna obuba digiti � binary Kano kakireetera kuyisa data nga ebya binariyo � cio Emirimu egy'okusoma n'okuwandika tebigaana omulimu ogubileesewo ate kukola n'ebirala mu kiseera kye kimu � d[BUNGI] Ennamba ey'omu dekanariyo eya sigino. Buli digiti ya mu etwala bayiti BUNGI f[BUNGI] Ennamba efunzidwa mu bitundu bisatu. Buli digiti ya mu etwala bayiti BUNGI o[BUNGI] Ennamba ey'omu okitariyo. Buli digiti ya mu etwala bayiti BUNGI u[BUNGI] Ennamba ey'omu bekanariyo etali ya sigino. Buli digiti ya mu etwala bayiti BUNGI x[BUNGI] Ennamba eya hekisadekanariyo. Buli digiti ya mu etwala bayiti BUNGI � direct Kano kasobozesa ebiyingizibwa n'ebivaamu butasooka kugendako mu ggwanika zzibizi � directory Kano kaleetera omulimu okugaana ekikolebwako bwe litaba tterekero � dsync Kano kaleetera data okukolebwako mu ngeri etakkiriza mulimu kukola birala okutuusa nga ebisomebwa oba ebiwandikibwa lwe biggwa mu ggwanika zzibizi � excl Singa kisangawo fayiro ey'ebivaamu eyakolebw'edda, omulimu kiguvaako nocreat Tekikolawo fayiro egendamu ebivaamu notrunc Fayiro ekolebwawo tekigisalako noerror Ne bwe kisanga kiremya mu kusoma, kireme okuyimiriza omulimu fdatasync Kano kakikaka okukaza buli ekiri mu ggwanika zzibizi nga kigenda kumala omulimu fsync Kano kakikaka okukaza buli ekiri mu ggwanika zzibizi nga kigenda kumala omulimu. Kigattako n'okukaza meta-data wakwo. � fullblock Kano kakola nga kuliko n'aka 'iflag'. Kaleetera ekiragiro kumalanga kuweza buloka nzijjuvu ey'ebiyingizibwa eryoke ebikoleko � noatime Kano kaleetera omulimu butakyusa ebirambe eby'okubikoledwako ebiraga obudde lwe byasemba kukeberwa � noctty Kano kakola nga ekikolebwako kiwandikiro. Kaleetera ekiragiro butakkiriza ekiwandikiro ekyo kukifuga � nofollow Kano kakireetera kukola ku nnyunzi naye ne kitakola ku fayiro kw'egguka � nolinks Kano kaleetera omulimu kugaana singa ennyunzi esangibwa nti egguka ku fayiro ezisukka mu emu nga tez'eyawuddeko � nonblock Kano kaleetera data okukolebwako mu ngeri ekkiriza omulimu okukola birala nga ebisomebwa oba ebiwandikibwa tebinnaba kuggwa mu ggwanika zzibizi � none, off Bw'ossawo kamu ku buwayiro buno, ekiragiro tekikola kkopi ez'okwerinda (yadde nga waliwo n'aka '--backup') numbered, t Buno bukireetera kukolangawo kkopi ez'okwerinda ne kiziteekako nnamba eziraga oluwandika lwa zo existing, nil Bwe kubaako kamu ku buno,empandika za kkopi ez'okwerinda eziriwo bwe zibaako ennamba, empya nazo zibaako nnamba, eziriwo bwe zitabaako nnamba empya nazo teziteekebwako nnamba simple, never Buno bukireetera kkopi ez'okwerinda butaziteekangako nnamba � sync Kano kakola nga dsync ne kagattako nti ne meta-data etwalibwamu � text Kano kakireetera kuyisa data nga ebitegeereka bantu � %H:%M%P � (kkopi ey'okwerinda: %s)� * [-]iuclc Kino kitegeka nti buli kabonero akajja ng'ennukta ennene kafuulibwa ate ennukuta ntono * [-]ixany Kino kitegeka nti akabonero konna kayinza okukozesebwa okuleetera ebiva mu mulimu okuddamu kukolebwa [-]ixoff Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta bisobola okusindikanga obubonero obulagira ekintu ekirala okutandika oba okulekerawo okubiwereza bintu [-]ixon Kino kyo kitegeka nti empanisigana y'obubonero wakati w'ekiwandikiro oba mutwe gwa kompyuta efugibwa enkola ya XON/XOFF [-]parmrk Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta buli kabonero ke bifuna nga biti zaakwo ezikozesebwa okutegeera butuufu bwako bulaga nti ssi katuufu bik'ongerako bayiti endala bbiri ez'okukalamba [-]tandem Kino kyekimu ne [-]ixoff � * [-]iutf8 Akawayiro kano kaleetera ekiragiro okukitwala nti obubonero bwonna bwe kikolako bwa mpandika eya UTF-8 � * [-]ocrnl Kino kitegeka nti ekiwandikiro buli kabonero akalagira akasonga kudda ku ntandikwa y'olunyiriri akakituukako kyo kizzaawo akalagira kutandika lunyiriri lupya * [-]ofdel Kino kyo kitegeka nti ekiwandikiro bwe kiba kikyalinda kuwereza akabonero akakiyingizidwa kigira nga kiwereza obulagira kusiimula nga bwe bukola nga obulaga nti waliwo okulinda, mu kifo eky'okuwereza obwa mpiri * [-]ofill Kino kitegeka nti ekiwandikiro bwe kiba kirina kusooka kulekayo kuwereza obubonero bwe kifunye, mu kifo eky'okusirikabusirisi kigira nga kiwerezamu obubonero bwa kujjuzamu biseera * [-]olcuc Kino kitegeka nti ekiwandikiro buli kabonero akaba ka nukuta ntono ke kifuna kizzaawo akabonero aka nukuta eyo nga nnene * [-]onlcr Kino kitegeka nti tty bw'efuna akabonero akalagira kutandika lunyiriri lupya yo ezzawo akalagira akasonga okudda ku ntadikwa y'olunyiriri * [-]onlret Kino ate kyo kitegeka nti akabonero akalagira kutundika lunyiriri lupya kava ku nkola eyo ne kaba nga kalagira akasonga kudda ku ntandikwa y'olunyiriri � * [-]onocr Kino kitegeka nti obubonero obulagira akasonga kudda ku ntandikwa y'olunyiriri tebulabika bwe buba nga bwe bubonero obusooka mu lunyiriri olwandikubisidwa ku kyapa [-]opost Kino kitegeka nti ebivaamu eby'oku kiwandikiro oba mutwe gwa kompyuta bisooka kubako ebibikolebwako nga tebinnawerezebwa awalala * tabN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akalagira kukolawo oluseetuka olw'omumbiriizi ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika. N esobola kuba 0, 1, 2 oba 3 * tabs Kino kikola nga awabadde 'tab0' * -tabs Kino kikola nga awabadde 'tab3' * vtN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe kifuna akabonero akalagira kukolawo oluseetuka olw'omubusimba ne lwe kituukiriza ekiragiro ekyo oba akabonero ne kikasindika. N esobola kuba 0 oba 1 � * eol2 KABONERO Bino bitegeka KABONERO ne kaba nga nako kasobola okulaga olunyiriri we lukoma erase KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO mu kiwandikiro, akabonero ke wasemba okuyingiza kagibwawo intr KABONERO Bino bitegeka nti ekiwandikiro KABONERO ke kitwala nga ke kabonero akalaga nti mu sisitemu ob'omulimu waliwo ekikyuseeko ekyetaagisa kuyimirizaamu ebi- bibindabinda kyo kikolebweko kill KABONERO Bino bitegeka nti bw'oyingiza KABONERO, olunyiriri lw'oliko lwonna lugibwawo � * lnext KABONERO Bino bitegeka nti mu kiwandikiro bw'oyingiza KABONERO, akabonero k'oddako okuyingiza kalabikabulabisi ne bwe kandibadde nga bulijjo kakolawo ekyenjawulo quit KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO, ekiwandikiro kimazisa pulogulamu gye kibadde kifuga * rprnt KABONERO Bino bitegeka nti bw'oyingiza KABONERO ekiwandikiro kiddamu obuto olunyiriri lw'oliko start KABONERO Bino bitegeka nti bw'obanga obadde oyimirizza ebivamu mu mulimu ogwa pulogulamu efugibwa ekiwandikiro kyo, bw'oyingiza KABONERO ebivaamu ebyo biddamu okukolebwa � * rows N Kino kimanyisa ennombe nti omutwe oba ekiwandikiro bikolera ku nnyiriri N * size Kino kiraga obungi bw'enkumbo n'ennyiriri ennombe z'erowooza nti ekiwandikiro oba omutwe gwa kompyuta bikolerako speed Kino kiraga obwangu ekiwandikiro bwe kikolerako - obw'okuwereza n'okufuna obubonero time N Kino kikola nga akawayiro -icanon kwekali. Ekiwandikiro bwe kiraba nga wayise ebitundu N ku kkumi eby'akasikonda nga tekinnawerezebwa bubonero obulala, bwe kirinawo kibusindika ku kigendererwa kya bwo � ??:???? � TTY� olukusa olwa SELinux=%s� guluupu=� mawolu� ku miku egiddinngana %s �Buli kafundikwa kalagidwa n'emirundi gye kakubisaamu BUNENE. % - 1% (n'efuuka bitundu ku kikumi eby'eggwanika) b - kagifuula bungi bwa bayiti, K - 1,024 (eno y'enkola eya bulijjo BUNENE bw'otogiteekako kafundikwa) M - 1,048,576 G - 1,073,741,874 ne T, P, E, Z oba Y - ebigenda byeyongeramu mu ngeri eyo. Buli ekiddako kisinga kinnewakyo obunene emirundi 1,024. Agumenti eya FAYIRO bw'otogiteekako, ekiragiro kikola ku by'oteeka awayingizibwa awa bulijjo. *** KULABULA *** Lokale eri mu enviromenti yo esobola okukyusa ngeri ekiragiro gye kisengekamu fayiro. Bw'oba ng'oyagala ekiragiro kisengeke mu ngeri ey'ennono - eyesigama ku namba ezikusikidwa mu bubonero obukola ebisengekebwa - lokale eyo gifuule eya C (mu enviromenti LC_ALL=C). �empandika eya %.*s tekkirizibwa�%b %e %Y�%b %e %H:%M�kuliko omukozesa %lu�kuliko abakozesa %lu�%s (ku mboozi enoonya zinnewayo %s)�%s -> %s (ggyawo kkopi ey'okwerinda) �%s [-d] gukomye mu ngeri etali ya bulijjo�fayiro %s ne %s fayiro y'emu�%s gy'eri nayi ssi tterekero�%s erabise; ntadise kugoberera ebigyongerwako�%s tekyatuukikako�%s tekyatuukikako�erinnya %s ligenze ku fayiro eteri ku sistemu eno; erinnya lino ndekedd'awo kulikolako�erinnya %s ligenze ku fayiro etasomeka; erinnya lino ndekedd'awo kulikolako�erinnya %s ligenze ku fayiro ndala; ntandise kugoberera ebyongerwa ku fayiro empya eyo�fayiro %s ya kika ekitamanyidwa�obunene obwa %s buliko kiremya, bulabika ng'ennamba ey'ebbanja�Enfo ey'oku neti eya %s esangibwa ku: <%s> �Enfo eya %s esanngibwa ku: <http://www.gnu.org/software/%s/> �%s tekkirizibwa nga ennamba esukka ku 0 etakolebwa ndala�%s: kiyitiridde obunene�%s kyetaagisa ennombe ebe nga etegeera SELinux�%s kitegekedwa naye %s kyo tekitegekedwa�%s: olw'obunene bwayo obusukkiridde, %s tesobola okulagibwa�%s: %s: eno namba esinga obungi bw'ennyiriri mu fayiro�%s: nnoonyezza %s ne sigiraba�%s: %s:%s: wano ssi nsengeke�%s: okubikkula oba okusoma KUGAANYE �%s: wetaagawo ekifuula ekikola ku agumenti bbiri�%s: enyunzi ez'eyawudde zonna ezikolebwa mu tterekero lino amakubo ga fayiro kwe zigguka gajja okulaga etterekero lino nga y'entandikwa yago�%s: tekisoboka kukkiriza omulimu ogutandise tail kukola birala tail nga ekyakola�%s: erinnya ery'omukozesa ow'ennamba %lu linnemye okuzuula �%s: tekisoboka okugoberera ebyongerwa mu fayiro ez'ekika kino; erinnya lino ndekedd'awo kulikolako�%s: nnemedwa okukola lseek okudda awatandikidwa�%s: sisobola okuwandika ku tterekero elisangidwawo�%s: sisobola okudda mabega�%s: sisobola kufuna aw'okutandika kusoma�%s: tekisobose okutandikira nnyiriri %s okuva ku nkomerero ya fayiro�%s: nnemedwa okukola lseek okudda ku awandikirwa awajjulule %s�%s: tekisobose okutandikira mulimu nnyiriri %s okuva awanditandidwa mu bya bulijjo�%s: sisobola okukola shred ku ndagiriro ekutuusa ku fayiro eyongerwako bwongerwa embikkule�%s: sisobola kubuuka�%s: tekisobose okugenda ennamba eraga aw'okusoma w'egamba�%s: tekisobose okuzza kiwandikiro ku nkola ey'okusindika n'okufunira mu bitole�%s: nyingire mu tterekero %s? �%s: nyingire mu tterekero %s etakkirizibwa okuwandikibwa mu? �%s: nkomerero ya fayiro�%s: akabonero ak'omumakkati kateekw'okuba kamu kokka�%s: wazzewo kiremya mu kusalako fayiro�%s: kiremya mu kuwandikira ku bujjulule obwa %s�%s: wano wateekwa kubawo ennamba, So ssi nnukuta�nnemedwa okubika %s�%s nnemedwa okugibikkula kugiwandikamu�nnemedwa okugyawo %s�%s: emirimu egya 'fcntl' gizzeko kiremya�ku %s enkola eya fdatasync egaanye�%s: obunene obwa fayiro eno buli wansi wa zero�%s: fayiro ekendedde ekiyitiridde�%s: fayiro eyitiridde obunene�%s: fayiro eyitiridde obunene�%s: fayiro eno ekendezedwa�%s: fstat eremedwa okugikebera ebigikwatako�ku %s enkola eya fsync egaanye�%s:tekikkirizibwa okukolawo nyunzi et'eyawudde nga egguka ku tterekero�%s: ebiyingizidwa birimu ebigambo ebitasengekeka olw'okuba nga buli kimu kiragidwa nga ekikulembera kinne wakyo:�%s: mu biyingizibwa mulimu ekigambo ekitaliko kinne wa kyo�%s: fayiro ey'okusomwamu ate y'ey'okuwandikibwamu�%s: akabonero ak'awuzi kateekwa okuddibwako ennamba enzijjuvu�%s: eno ennamba y'omulimu tekkirizibwa�%s: entandikwa ya %s eriko ennamba etakkirizibwa�%s: okulagira kuno tekukola�%s: %s tekisobola kukozesebwa okulaga ekitundu ky'olunyiriri�%s: buno obunene bwa fayiro tebukkirizibwa�%s: kino ekika kya fayiro tekikkirizibwa�%s: tekikkirizibwa kukebera fayiro emirundi gino�%s: eno namba tekola wano�%s: obwo obungi bwa bayiti tebusoboka�%s: obwo obungi bw'ennyiriri tebusoboka�%s: obwo obungi bw'emiku tebusoboka�%s: buno obungi bwa sikonda tebukkirizibwa�%s: tekigasa kubuukako ebitundu ebibazi ebyenkana awo�%s: akawayiro -- %c tekakola �%s: kino ekigambo tekikola�%s: ennamba ey'omulimu ssi ntuufu�%s: eno emboozi enoonya ebifaanagana tekola: %s�%s: ekiragiro tekikola wano�%s: akafundikwa tekakkirizibwa kwenkan'awo�%s: ennamba ey'olunnyiriri eteekwa okusukka ku zeero�%s: eno namba esinga obungi bw'ennyiriri mu fayiro�ku %s enkola eya lseek egaanye�%s: waweredwa ebiragiro ebisukka mu kimu�%s: endukusa empya ziri %s, ssi %s�%s: ennyiriri ez'ennamba enkuumi eza %s zonna zitereezedwa bubi�%s: tewali biraga ebifa ku bunene obw'ekyuma kino�%s: etterekero lino limaz'okukolebwako, terijjakuddimwamu�%s: bayiti ziyitiridde obungi�%s: akawayiro '%c%s' tekabeerako agumenti �%s: akawayiro '--%s' tekabeerako agumenti �%s: akawayiro '--%s' kateekwa okubaako agumenti �%s: akawayiro '-W %s' tekabeerako agumenti �%s: akawayiro '-W %s' kabuzabuza �%s: akawayiro '-W %s' kateekwa okubaako agumenti �%s: akawayiro kateekwa okubaako agumenti -- '%c' �%s: %s ngiwandikeko ng'empya? �%s: muku %lu/%lu (%s)...�%s: muku %lu/%lu (%s)...%s�%s: muku %lu/%lu (%s)...%s/%s %d%%�%s: wazzewo kiremya mu kusoma�%s: nzigyewo %s %s? �%s: ameterekero agali mu agumenti n'ebigalimu mbigyewo? �%s: byonna ebimenyedwa mu agumenti mbigyewo? �%s: nzigyewo %s %s etakkirizibwa okuwandikibwa mu? �%s: egyidwawo�%s: ngigyawo�%s: erinnya lyayo ndikyusiza libeere %s�%s: %s ngigyewo nteekewo ekipya? �%s: tekisobose kutereeza aw'okusoma mu fayiro�%s: ennyiriri mu namba enkuumi zisukkiridde obungi�%s: oyagala okugezako okuwandika ku %s, enkola eya %04lo (%s) nga tegobererwa?�%s: nnemedwa okuzuula ekkomo ly'obuwanvu bw'amannya ga fayiro�%s: tekisobose okukola emikolo gyonna egisabidwa�%s: wetaagawo ekifuula ekikola ku agumenti emu yokka�%s: akawayiro '%c%s' tekamanyidwa �%s: akawayiro '--%s' tekamanyidwa �%s: obubonero bumu bwokka bwe bukoledwako�%s: wazzewo kiremya mu kuwandika�%s: %lu: lunyiri lusobi; lubulako tokeni eyakubiri�%s:%lu: tekisoboka kuba na linnya lya fayiro eritalina buwanvu�%s:%lu: kigambo ekyawule %s tekitegeerese�'�wabulawo ka ')'�nsanzewo %s awandibadde ka ')'�(C)�* sisitemu eza fayiro ezitereka data mu sitowa ez'ebiseera, nga zikasitoma eza NFS ey'omutindo 3 * sisitemu eza fayiro ezifunzidwa �* sisitemu eza fayiro ez'esigamizidwa ku nkalala n'ezo ezikuuma kkopi ez'ebizikyusidwako, nga ezo ezijja ne pulogulamu ezitabaganya kompyuta eza AIX ne Solaris (ko ne JFS, ReiserFS, XFS, Ext3, etc.) * sisitemu eza fayiro eziwandika data ey'enfissi zisobole okusigala nga zikola ne wankubadde nga emirundi egimu bye ziwandika tebikwata, okugeza nga sisitemu eza fayiro ez'esigamizidwa ku RAID * sisitemu eza fayiro ezigira ebiseera ne z'ekolako kkopi, nga ekiwereza ekya NFS ekikolebwa ba Network Appliance �, emirimu egibadde gibindabinda: %.2f�, %g s, %s/s �agumenti eya --%s, %s, eyitiridde obunene�akawayiro --context (oba -Z) k'etaaga ennombe nga etegeera SELinux�okukozesa --reflink oteekwa n'okukozesa --sparse=auto�Akawayiro aka '-R' oba '--dereference' tekakola okugyako nga kuliko n'aka '-H' oba aka '-L'�Obuwayiro obwa '-R' ne '-h' tebukola okujjako nga kuliko n'aka '-P'�-l tekagendera ku -ef�-l tekagendera ku -nt�-l tekagendera ku -ot�<kya munda>�??? �?????�'Aborted' - Omulimu gulekedwa�Erinnya erya kompyuta enyunge oba endagiriro ez'omu lubu olwo tebikkirizibwa ku sisitemu eno�'Alarm clock' - Ekiragiro ekya sisitemu ekigerera puloguramu obudde�Emirimu egisabidwa gyonna giwedde�Eggwanika zzibizi eriterekebwamu agumenti terimala�Arnold Robbins�Awate�Awate�'Bad system call' - Akabonero ka sisitemu akalabusa akasindikibwa puloguramu bw'ewa ekiragiro kya sisitemu agumenti etakigenderako�ai_flags kikongojja ekitali kituufu�Brian Fox�'Broken pipe' - Puloguramu egezeza okusindika ebintu mu mukutu okutali kibirindirira�'Bus error' - Wazzewo kiremya mu kukozesa ggwanika lya kompyuta�KULABULA: Genderera nti ekiragiro ekya shred kyesigama ku sisitemu eya fayiro okubeera nga tekuuma kkopi eza fayiro awalala. Nti bw'obeera fayiro nga ogiwandiseko tewali gy'on'ogya kkopi. Eno y'enkola ey'ennono, naye sistemu eza fayiro empya eziwerako tez'eyisa bwezityi. Sistemu eza fayiro ezigenda okunenyerwa wano awaddako ze zimu ku ezo shred kwayinza obutabeera na mugaso: �BIGAMBO�'CPU time limit exceeded' - Omulimu guyisiza mu kiseera kya gwo eky'okwefuga ekitundu ekibazi�Kino kitandika omukolo ogwa link gukolewo nyunzi etuumidwa erinnya FAYIRO2, eno nga egguka ku FAYIRO1 (esangidwawo). �Kino ekiragiro kitandika omukolo ogwa unlink gugye FAYIRO mu nkalala eza pulogulamu whatis �eziriwo�Chet Ramey�'Child exited' - Omulimu ogutandikidwa gunnaagwo gumaze�Colin Plumb�Kino fayiro ensengeke FAYIRO1 ne FAYIRO2 kiziyitamu nga kizigeraageranya lunyiriri ku lunyiriri. �Ekiragiro kino kiwandika ebiri mu FAYIRO, oba ebiva ku nnono eya bulijjo, mu kifo ekiteekebwamu ebivaamu ebya pulogulamu mu ebya bulijjo. -A, --show-all Okussaawo buwayiro buno kyekimu n'okussaawo -vET -b, --number-nonblank Obuwayiro buno buleetera ekiragiro okuteeka ennamba ku ntandikwa z'ennyiriri ezitali njereere ez'ebivaamu -e Okussaawo akawayiro kano kyekimu n'okussaawo -vE -E, --show-ends Obuwayiro buno buleetera ekiragiro buli lunnyiriri we lukoma okuteekawo akabonero $ -n, --number Buno bukireetera ennyiriri zonna ez'ebivaamu kuteekako ennamba ku ntandikwa yazo, n'enjereere nazo. -s, --squeeze-blank Buno bkireetera okikkirizaamu olunyiriri olwereere lumu lwokka mu bivaamu �Olukusa lwa SELinux: %C �'Continued' - Ekiragiro kya sisitemu ekizukusa omulimu ogusibidwa gulinde�Ekiragiro kino kireetera kopi eya buli kyoyingiza ku awayingizibwa awa bulijjo okugenda mu buli FAYIRO gy'omenya nga agumenti ya kyo, endala n'egenda awateekebwa ebivaamu awa bulijjo. -a, --append Bw'ossawo kamu ku buno obuwayiro, by'oyingiza byeyungabweyunzi ku ziFAYIRO, ebisangidwamu nabyo ne bizisigalamu -i, --ignore-interrupts Bw'ossawo kamu ku buno kaleetera omulimu ogwa tee obutalinda oba kuyimirizibwamu mirimu mirala �David M. Ihnat�David MacKenzie�David Madore�Ekiragiro kino kikebera amannya aga fayiro okulaba oba mulimu agatakkirizibwa oba agayinza butakolera ku sistemu endala. -p Bw'ossaako akawayiro kano kikeberera sistemu ezigoberera enkola eya POSIX ezising'obungi -P Kano ko kakireetera okukebera oba fayiro terina linnya oba erinnya lyayo litandika na "-" --portability Kano ko ate kakireetera okukeberera sisitemu zonna ezigoberera enkola eya POSIX. Obeera nga eyataddewo '-p -P' �Terekero: �Dmitry V. Levin�Ekiragiro kino kisobozesa omukozesa omu okweyambisa KIRAGIRO, ne AGUMENTI, nekikola nga kiringa ekiyisidwa omukozesa omulala, MUKOZESA. Ku olwo abeera nga alina ennamba-ya-mukozesa n'ennamba-ya-guluupu eby'oyo MUKOZESA. Bwe kitasoboka kufuna ennamba-ya-mukozesa n'ennamba-ya-guluupu ebyo, ekiragiro kikoma ne kifuna emmala y'omulimu nga eri 111. Bwe biyitamu, emmala y'omulimu ey'ekiragiro kino eba y'emu n'eya KIRAGIRO. Ekiragiro kino tekigasa okugyako nga root (muteesiteesi, ow'ennamba-ya- mukozesa=0) y'akiyisizza. �'EMT trap' - Kiragiro kya sisitemu ekiyimirizaamu omulimu entegeka y'ebitundu bya yo ebitalibimu esobole okukyusibwamu�EMMALA�Olubu lusobola okubeera kimu ku: N Bayiti, bubonero oba ekitundu eky'emboozi ekya N, nga otandikidde ku 1 N- Bayiti, bubonero oba ekitundu eky'emboozi ekya N, nga ovudde olunyiriri gye lukoma N-M Okuva ku bayiti, obubonero oba ekitundu eky'emboozi ekya N (nga kitwalidwamu) okutuuka ku ekya M -M Okutuuka ku bayiti, bubonero oba ekitundu eky'emboozi ekya M (nga kitwalidwamu) nga ovudde olunyiriri gye lutandikira Bw'oba towadde FAYIRO, oba FAYIRO bw'eba '-' , 'cut' esoma okuva ku nyingiza eya bulijjo. �Ekiragiro kino kiwandika buli KIGAMBO awateekebwa ebivaamu ebya pulogulamu mu ebya bulijjo. -n Kano kakireetera obutassangawo nnukuta elagira okukolawo olunyiriri olupya ku nkomerero z'ennyiriri �Erik Blake�Ekiragiro kino omulimu gwa kyo kuwa sisitemu akabonero akalaga nti waliwo puloguramu eyalemeredwa okumalirizz'omulimu gwayo obulungi.�Ekiragiro kino omulimu gwa kyo kuwa sisitemu akabonero akalaga nti waliwo puloguramu eyamalirizz'omulimu gwayo obulungi.�Ekiragiro kino kikozesebwa kukebera ebifa ku fayiro. Emmala y'omulimu gwakyo esinzira ku biva mu MBOOZI. �F. Pinard�KIGAANYE�FIXME: ono omuwandisi teyeyanjudde�FIFO tezibaako nnamba ya kyuma nkulu n'ento.�'File size limit exceeded' - omulimu gukozewo fayiro eyisizza ku kkomo erikkirizibwa�Sisitemu eya fayiro�'Floating point exception' - Ensobi mu kubala�Ekiragiro info coreutils '%s invocation' kikubikkulira ebiwandiko ebinnyonyola kiragiro kino mu bujjuvu �Ekiragiro kino kiwaliriza buloka ezikyuseemu zikazzibwe ku disiki, semabuloka ne kigitumbula okunyweeza enkyuukakyuuka zino. �Osobola okufuna ebikuyamba okutegeera enkozesa eya sofutiweya owa GNU ku: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�'Hangup' - Tewakyali birindirira kuwerezebwa bubonero�'I/O possible' - Kisoboka okuyisa data mu soketi�OKUSIRIIKIRIRA�Ente�Enkozesa%�Ezikozesedwa�Ian Lance Taylor�Kasirikiriro�Bw'otokiwa FAYIRO mwe kinaasanga bino, kikebera mu %s. Ku sisitemu nyingi FAYIRO etera okuba %s. �'Illegal instruction' - Wazzewo ekiragiro ekiyinza kugootaanya mirimu�Ku ebyo gattako nti kkopi eza sisitemu eya fayiro ez'okwerinda, ne kkopi eziri ku kompyuta ndala nabyo bisobola okubaamu kkopi eya fayiro gy'oyagala okukolako shred. Olwo fayiro eyo ebeera ekyayinza okukomezebwawo. �Erinnya erijjuvu: �Ku sisitemu eya fayiro ey'ekika kya ext3, shred esobola okukola obulungi kasita omulimu ogwa 'mount' ogwagiwanga ku sistemu tegwabaddeko akawayiro aka 'data=journal'. Ako kaleetera sistemu eyo okukolawo olukalala olw'enkyukakyuka mu fayiro ezigiriko, era nga esobola okukomyawo fayiro ezibadde zigyidwawo. Sisitemu eya fayiro ey'ekika kya ext3 bw'ewangibwa nga mount eriko akawayiro 'data=ordered' oba 'data=writeback', shred ekola nga bwe kyandisuubidwa. Okumanya ebisingawo ku buwayiro obufuula enkola eya mount osobola okukebera ekiwandike ekinnyonyola enkola yayo mu bujjuvu (man mount). �Infinity B�'Information request' - Kiragiro kya sisitemu ekireetera puloguramu okugisindikira ebifa ku mbeera yazo ne bye zikolako, bikazibwe�Inodi�'Interrupt' - Kiragiro ekiyimirizaamu omulimu�Ekiragiro emirimu kigiyimirizzaamu�Waliwo ekiragiro ekinoonya ebifaanagana n'ennukuta ezikikulembedde ekitakola wano�Linnya lya kika eky'ennukuta telikola�Nsanze ennukuta etasobola okweyambisibwa mu kusengeka nkalala�Ebiri wakati wa \{\} tebikola wano�Emboozi enoonya ebifaanagana ekulembedde tekola wano�olubu gye lukomekkerezedwa tewakkirizibwa�Emboozi enoonya ebifaanagana etakola�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�'Killed' - Omulimu gukomezedwa mbagirawo�MUKUTU�KWEWANDISAAKO�Lyakusisitemu�Erinnya ery'oku sisitemu: �Mark Kettenis�Matthew Bradburn�Tekisobose kufuna kifo mu ggwanika�Ggwanika lijjudde�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Kiwangidwa ku�ANI�Linnya�Erinnya oba puloguramu empeereze tebimanyidwa ku sisitemu eno�Eryo erinnya lya kompyuta tewali ndagiriro gye likwatagana nayo�Tewali kifaanagana�Emabega tewali yo mboozi enoonya ebifaanagana�Wazzewo kiremya atagonjooleka mu kugeza kukwataganya erinnya n'endagiriro ya kompyuta�KALE�omulimu bwe guba gwa kugyamu obubonero naye nga tewali bya kunoonya obuliko koppi ezisukka mu emu, olukalala lw'obubonero luteekwa okuba lumu lwokka - olw'obwo ekiragiro bwe kinaagyangamu�Buno bwe buwayiro obufuga engeri gye kisengekamu ennyiriri ezo: �Obuwayiro obulala: �Ekiragiro kino kiraga ebiragiro ebitegeka ekikongozzi LS_COLORS. Ekiragiro kino kisalawo enfaanana ey'ebinavaamu. -b, --sh, --bourne-shell Obuwayiro buno bukireetera okulaga ebiragiro ebitegeka ekigambo LS_COLORS ebikolera mu nzivvuunuzi ey'ekika kya Bourne -c, --csh, --c-shell Buno bukireetera okulaga ebiragiro ebitegeka LS_COLORS ebikolera mu nzivvunuzi ey'ekika kya C -p, --print-database Buno bwo bukireetera okulaga ebiragiro ebya bulijjo �Ekiragiro kino kiwandikawo amannya ag'oku sisitemu aga'abo abagikozesa ku ssaawa eyo. Bw'oyongerako n'erinnya erya fayiro, omwo mwe kikebera okuzuula amannya ago. Bw'ototegeka linnya erya fayiro kikebera mu %s. Ab'ongerako erinnya lya fayiro batera okukozesa erya %s. �NAMBA Y'OMULIMU�Byategekebwa %s �Byategekebwa %s (%s) �Padraig Brady�Paramita ewandikidwa bubi�Paul Eggert�Paul Rubin�Pete TerMaat�Entegeka: �'Power failure' - Kiragiro kya sisitemu ekireetera puloguramu okugisindikira ebifa ku mbeera yazo ne bye zikolako, bikazibwe. Kisindikibwa singa sisitemu etegeera nti amasanyalaze gagenda okugivaako�Emboozi enoonya ebifaanagana ekomekkerezedwa bubi�Ekiragiro kino kiwandikawo AGUMENTI nga kikozesa EMPANDIKA, oba kikola omulimu nga gufugibwa KAWAYIRO: �Ekiragiro kino kikebera buli FAYIRO ne kiwandika ennamba ya yo enkuumi ey'ekika kya CRC n'obungi obwa bayiti ezigirimu. �Ekiragiro kino kiwandikawo ebifa ku sisitemu. Bw'otokiteekako akawayiro, ebivaamu biba kyekimu n'ebyo by'ofuna nga otaddeko aka '-s'. -a, --all Kano akawayiro kakireetera okuwandika byonna ebifa ku sisitemu nga bisengekedwa na bino ebiddako: -s, --kernel-name Kano ko bwe kabaako kokka kakireetera okukoma ku okuwandika ekika kya nnombe sisitemu ky'ekozesa -n, --nodename Kano bwe kaba nge ke kokka akaliwo, ekiragiro kikoma ku kuwandika endagiriro eya kompyuta ey'okumukutu ogugiyunga ku ndala -r, --kernel-release kano ko kakireetera okuwandika omutindo ogw'ennombe sisitemu gy'ekozesa �Ekiragiro kino buli FAYIRO kiwandikawo ennamba enkuumi ya yo ko n'obungi bwa buloka eza data ezigirimu. -r Akawayiro kano kaleetera ekiragiro okukozesa buloka ezirenga bbiti 1024 - enkola ey'oku sistemu ez'ekika kya BSD. Bw'otateekako kawayiro era eno y'ennenga gye kigezaako okukozesa -s, --sysv Bw'okozesa kamu ku buno ate kikozesa buloka ezirenga bbiti 512 - enkola ey'oku sistemu ez'ekika kya 'System V' �Ekiragiro kino kiwandika guluupu ez'oku sistemu MUKOZESA z'alimu. Bw'otolaga MUKOZESA gwe kiba kikebera, ekiragiro kiwansika guluupu ez'omukozesa oba puloguramu eyakiyisizza. Omukozesa oyo bw'aba nga yakyusiza mu guluupu ze okuva lwe yewandisa ku sisitemu, ekiragiro kino tekijjakumanya eri tekijjakuwandika ebiraga enkyuka - okujjako nga lubadde lukalala lw'abakozesa olukiragidwa. Olwo kiddamu kusoma fayiro ekwata ebifa ku bakozesa. �Ekiragiro kino kiwandikawo ebifa ku bakozesa ab'ewandisizza ku sisitemu. �Ekiragiro kino kiwandikawo ebifa ku sisitemu. �Ekiragiro kino kiwandika essaawa eza kakano, obudde obwakayita sisitemu bukya ekoleezebwa, obungi bw'abagiriko n'obungi bw'emirimu egibadde gibindabindira mu ddakiika 1, 5 ne 15 ezaakayita.�Ekiragiro kino kiwandikawo erinnya ery'omutwe gw'okusisitemu oguyungidwa awanyingizibwa awa bulijjo Bw'okyongerako kamu ku buwayiro -s, --silent oba --quiet, tekiwandikawo kyonna okugyako emmala ey'omulimu �Ekiragiro kino kiwandika erinnya erijjuvu ery'etterekero mwe kiweredwa. �Ekiragiro kino kiwandika linnya ery'omukozesa aliwo kakano. �Ekiragiro kino kibala obungi bw'ebitundu ebibazi omulimu ogubindabinda bye gusobola okukozesa. Kompyuta eyinz'okuba nga erina n'ebirala ebisingawo obungi �Ekiragiro kino kiwandika ennamba z'okubisa okufuna buli NAMBA enzijjuvu, nga zo tezirina ndala z'okubisa zo okuzikola. Ekiragiro bwe kiyisibwa nga tekuli agumenti, kikulinda okuziyingiza okuva awayingizibwa awa bulijjo. �Bw'oyisa ekiragiro kino, kikebera buyinza bwa namba y'omukozesa eriwa bw'okozesa n'ewandika erinnya ery'okusisitemu erigendera ku namba eyo. Ekivaamu eky'okuyisa ekiragiro kino kye kimu n'eky'okuyisa ekya 'id -un'. �Ekiragiro kino kiwandika ebikwata ku MUKOZESA, oba ku oyo aba akiyisizza. -a Akawayiro kano tekalina kye kakyusaako, kaliwo olw'eby'entabagana n'emitindo emilala egy'ekiragiro -Z, --context Buno bukireetera kukoma ku kuwandika endukusa eza SELinux ez'omukozesa akiyisizza -g, --group Buno bukireetera okuwandikako ennamba eya guluupu omukozesa gy'afaanana okuba nga gy'alimu yokka -G, --groups Buno bukiviiramu okuwandika nnamba eza guluupu zonna omukozesa z'alimu -n, --name Kamu ku buno bw'okassaawo, kiwandika linnya lya guluupu mu kifo ekya nnamba yaayo. Kano tekakola ku bwako, kateekwa okubaako n'akawayiro akalala ku -u, -g ne -G -r, --real Buno bwe kubaako, kiwandika nnamba ya guluupu ey'omukozesa ey'ennono. Kano tekakola ku bwako, kateekwa okubaako n'akawayiro akalala ku -u, -g ne -G -u, --user Buno bukireetera okuwandikako nnamba y'omukozesa gy'afaanana okuba nayo yokka �Ekiragiro kino kiwandikawo erinnya erya fayiro eyaddala gy'oggukako bw'obikkula nnyunzi. Erinnya eryo kiriwandika awateekebwa ebivaamu awa bulijjo. �Omulimu ogusabidwa gubindabinda�'Profiling timer expired' - Omulimu obudde obwa sisitemu n'ekitundu ekibazi okugukolako buweddeko�Pulojekiti: �Q. Frank Xia�'Quit' - Kiragiro ekikomya omulimu ne wakolebwawo fayiro eraga ebibadde mu ggwanika mu kaseera ako�Randy Smith�%d kiragiro kya sistemu ekikolerwako mbagirawo�Emboozi enoonya ebifaanagana eyitiridde obunene�Ekiragiro kino kiggyawo (ma)TEREKERO, naye bwe kigasangamu fayiro endala kigalekawo. --ignore-fail-on-non-empty Akawayiro kano kaireetera obutategeeza akiyisizza buli lwe kiremwa okuggyawo etterekero olw'okubeera nti likyalimu fayiro endala �Bw'osangamu ebitali butuufu mu %s, tegeeza: %s �Bw'osanga ebitali bituufu %s, tegeeza <http://translationproject.org/team/> �Omulimu ogusabidwa gusazidwamu�Omulimu ogusabidwa tegusazidwamu�'Resource lost' - Kino kye kiragiro kya sisitemu ekisindikirwa puloguram singa fayiro gye kikozesa erekerawo okugaana emirimu emirala okugikozesa mu kiseera kyekimu nayo�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Ekiragiro 'chroot' kireetera KIRAGIRO okukola nga kibala nti etterekero ery'oku musingi liri MUSINGIMUPYA. �Ekiragiro kino kiyisa kinnaakyo KIRAGIRO mu ngeri nti eyatandise omulimu ne bwe yewandisululako ku kompyuta KIRAGIRO kisigala nga kigukola. �Russell Coker�Scott Bartram�Scott Miller�'Sementation fault' - Puloguramu egezeza okukozesa ekitundu kya ggwanika ekitakkirizibwa oba ekitaliwo�Puloguramu empeereze tegendana n'ekika kya soketi ekitegekedwa ai_socktype�Okuvvuunuka obuzibu buno, tegeka LC_ALL='C'.�Nzivvuunuzi: �Simon Josefsson�Bunene�Fayiro enjawulemu z'etaagako ennamba y'ekyuma enkulu n'ento�'Stack fault' - Kino kye kiragiro kya sisitemu ekisindikibwa puloguramu bwe zigeza okwongera data mu ggwanika ly'ekitundu ekibazi ekizibizi nga lijjudde oba singa ekitundu ekyo kikebera mu ggwanika eryo ne kisanga nga temuli kantu�'Stopped' - Ekiragiro kya sisitemu omukozesa ky'asindika ekireetera omulimu okuyimirira gulinde�'Stopped (signal)' - Ekiragiro kya sisitemu ekireetera omulimu okuyimirira gulinde�'Stopped (tty input)' - Ekiragiro ekisindikibwa omulimu bwe gugeza okusoma okuva ku kiwandikiro kwe gukutudwa. Kitera okuguyimiriza gulinde�'Stopped (tty output)' - Ekiragiro ekisindikibwa omulimu bwe gugeza okuwandika ku kiwandikiro kwe gukutudwa. Kitera okuguyimiriza gulinde�Stuart Kemp�Omulimu gumalirizidwa bulungi�Waliwo kiremya mu sisitemu�DDI�Nfunyemu obuzibu mu kukwataganya erinnya n'endagiriro ya kompyuta�'Terminated' - Ekiragiro ekigeza okuleetera omulimu okumala, bye gubadde gukolako ne gubusubako mu ngeri entegeke�Ebigambo ebigerageranyizidwa biri %s ne %s.�Torbjorn Granlund�'Trace/breakpoint trap' - Kiragiro ekiyimirizaamu omulimu omuntu asobole okulondoola enkola ya puloguramu�Waliwo akasazze akaddanyuma nga ke kakomekkerezza�Ekiragiro kino kikola ku bubonero oba nukuta kinnakimu. Kisobola okubifuula, okubifunza ebirabikamu emirundi egisoba mu gumu ne bisigalako koppi emu-emu, oba ebimu okubiggiramu ddala. Ennukuta oba obubonero bino kibisoma okuva awayingizibwa awa bulijjo ebivaamu era ne kibiwandika awateekebwa ebivaamu awa bulijjo. -c, -C, --complement Bw'oteekawo kamu ku buno obuwayiro, ekiragiro kikola ku bubonero bwonna obutali mu lukalala BUBONERO-1 -d, --delete Bw'ossawo kamu ku buno, ekiragiro mu bye kisoma, kiggyamu obubonero obuli ku lukalala BUBONERO-1 -s, --squeeze-repeats Bw'ossawo kamu ku buno, ekiragiro mu bye kisoma bwe kisangamu akabonero akalimu emirundi egisoba mu gumu nga ate kali ku lukalala BUBONERO-1, kirekamu koppi yako emu yokka mu bye kiwandika -t, --truncate-set1 Buno obuwayiro, singa obubonero obuli mu BUBONERO-1 buba bungi okuusinga obuli mu BUBONERO-2, buleetera ekiragiro obutakola ku obwo obuli mu BUBONERO-1 obusolooba ku obuli mu BUBONERO-2 �Omulimu bwe guba gwa kugyamu obubonero obumu ko n'okulekangamu koppi emu emu yokka ez'obulala, wateekwa okubawo enkalala zabwo bbiri. Obuli mu lusooka ekiragiro bwe kinaabusanganga mu biyingizibwa nga kibugyamu ate obuli mu lwokubiri kijjakulaba nti mu bivaamu musigalangamu koppi emu emu yokka�Omulimu bwe guba gwa kukyusa bubonero, enkalala z'obubonero obukozesebwa ziteekwa okuba bbiri, olw'obubonero obunakolebwako bwe busangibwa mu biyingizibwa n'olw'obwo obunazzibwa mu bifo bya binne wabyo�Kika�Ulrich Drepper�Wazzewo kiremya atategeereka�%d tekimanyidwa ng'ekiragiro kya sisitemu�Wazzewo kiremya atategeerese mu sisitemu�Waliwo ( oba \( ebulako ginne wa yo�Waliwo ) oba \) ebulako ginne wa yo�Waliwo [ oba [^ ebula ko ginne wa yo�Waliwo \{ ebulako ginne wa yo�'Urgent I/O condition' - Kiragiro kya sisitemu ekitemya ku puloguramu nti wazzewo data eyetaaga kukolebwako mangu�Enkozesa entuufu eri: %s �Enkozesa entuufu eri: %s KIRAGIRO [AGU]... oba: %s KAWAYIRO �Enkozesa entuufu eri: %s NDUKUSA KIRAGIRO [agumenti] oba: %s [ -C ] [-u MUKOZESA] [-r LY'ABAKOZESA] [-t LY'EBIKOLEBWAKO] [-l LUBU] KIRAGIRO [agumenti] �Enkozesa entuufu eri: %s MBOOZI oba: %s KAWAYIRO �Enkozesa entuufu eri: %s FAYIRO oba: %s KAWAYIRO �Enkozesa entuufu eri: %s FAYIRO1 FAYIRO2 oba: %s KAWAYIRO �Enkozesa y'ekiragiro kino eri: %s EMPANDIKA [AGUMENTI]... oba: %s KAWAYIRO �Enkozesa entuufu eri: %s KAWAYIRO... KIRAGIRO �Enkozesa entuufu eri: %s KAWAYIRO... FAYIRO... �Enkozesa entuufu eri: %s KAWAYIRO... [FAYIRO]... �Enkozesa entuufu eri: %s [-F KYUMA | --file=KYUMA] [ENTEGEKA].. oba: %s [-F KYUMA | --file=KYUMA] [-a|--all] oba: %s [-F KYUMA | --file=KYUMA] [-g|--save] �Enkozesa entuufu eri: %s [-BUWANVU] [KAWAYIRO]... [FAYIRO]... �Enkozesa entuufu eri: %s [-s KIRAGIRO | -KIRAGIRO] PID... oba: %s -l [KIRAGIRO]... oba: %s -t [KIRAGIRO]... �Enkozesa entuufu eri: %s [FAYIRO]... oba: %s [KAWAYIRO] �Enkozesa entuufu eri: %s [LINNYA] oba: %s KAWAYIRO Ekiragiro kino kiwandika, oba kikyusa erinnya erya kompyuta ennyunge kw'okiweredde. �Enkozesa entuufu eri: %s [NAMBA] oba: %s KAWAYIRO �Enkozesa entuufu eri: %s [EKIKOLEBWAKO]... oba: %s KAWAYIRO �Enkozesa entuufu eri: %s [KAWAYIRO] �Enkozesa entuufu eri: %s [KAWAYIRO] Ekiragiro kino kiwandika ennamba (mu ki-hekisi) eya kompyuta ennyunge kw'okiweredde. �Enkozesa entuufu eri: %s [KAWAYIRO] KISEERA KIRAGIRO [AGUMENTI]...] oba: %s [KAWAYIRO] �Enkozesa entuufu eri: %s [KAWAYIRO] MUSINGIMUPYA [KIRAGIRO.[AGUMENTI]...] oba: %s KAWAYIRO �Enkozesa entuufu eri: %s [KAWAYIRO] [KIRAGIRO [FAYIRO]...] �Enkozesa entuufu eri: %s [KAWAYIRO] [FAYIRO] Ekiragiro kino kisoma FAYIRO ne kibala nti buli bigambo bibiri bye kisanga biteekwa okusigala mu nengeka yabyo. Ekiddako kigeza okufuna ensengeka eya byonna awamu etamenyawo eri wakati wa buli bigambo bibiri bibiri esangidwawo. Singa ekiragiro tokiraga FAYIRO ey'okusoma oba singa FAYIRO kibeera '-', ekiragiro kikola ku bye kiraba awayingizibwa awa bulijjo. �Enkozesa entuufu eri: %s [KAWAYIRO]... �Enkozesa entuufu eri: %s [KAWAYIRO]... NDUKUSA FAYIRO... oba: %s [KAWAYIRO]... [-u MUKOZESA] [-r KIFO] [LUBU] [-t KIKA] FAYIRO... oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO... �Enkozesa entuufu eri: %s [KAWAYIRO]... TTEREKERO... �Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO KIGAMBO... �Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO... �Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO1 .FAYIRO2 �Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO EYA GULUUPU... oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO... �Enkozesa entuuf eri: %s [KAWAYIRO]... ESEMBAYO oba: %s [KAWAYIRO]... ESOOKA ESEMBAYO oba: %s [KAWAYIRO]... ESOOKA EKYONGEZEBWAKO ESEMBAYO �Enkozesa entuufu eri: %s [KAWAYIRO]... NDUKUSA[NDUKUSA]... FAYIRO... oba. %s [KAWAYIRO]... NDUKUSA-MU-OKITA FAYIRO... oba. %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO... �Enkozesa entuufu eri: %s [KAWAYIRO]... LINNYA KIKA [NKULU NTO] �Enkozesa entuufu eri: %s [KAWAYIRO]... LINNYA... �Enkozesa entuufu eri: %s [KAWAYIRO]... BUBONERO-1 [BUBONERO-2] �Enkozesa entuufu eri: %s [KAWAYIRO]... [ FAYIRO | AGU1 AGU2 ] �Enkola eri: %s [KAWAYIRO]... [+NTEREEZA] oba: %s [-u|--utc|--universal] [MMLLssdd[[KK]MkMk][.sksk]] �Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] NNONO KIGENDERWA oba: %s [KAWAYIRO]... NNONO... TTEREKERO oba: %s [KAWAYIRO]... -t TTEREKERO NNONO... �Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] NNONO KIGENDERWA oba: %s [KAWAYIRO]... NNONO... TTEREKERO oba: %s [KAWAYIRO]... -t TTEREKERO NNONO... oba: %s [KAWAYIRO]... -d TTEREKERO... �Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] KIGENDERWA LINNYA (empandika 1) oba: %s [KAWAYIRO]... KIGENDERWA (empandika 2) oba: %s [KAWAYIRO]... KIGENDERWA... TTEREKERO (empandika 3) oba: %s [KAWAYIRO]... -t TTEREKERO KIGENDERWA (empandika 4) �Enkozesa entuufu eri: %s [KAWAYIRO]... [-] [KIGAMBO=EKIKONGOJJEDWA]... [KIRAGIRO [AGU]...] �Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO] �Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO] oba: %s -e [KAWAYIRO]... [AGU].. oba: %s -i ESOOKA-ESEMBA [KAWAYIRO]... �Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]... �Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]... oba: %s [-abcdfilosx]... [FAYIRO] [[+]AWATANDIKIRWA[.][b]] oba: %s --traditional [FAYIRO] [FAYIRO] [[+]AWATANDIKIRWA[.][b] [+][KIPANDE][.][b]] �Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]... oba: %s [KAWAYIRO]... --files0-from=F �Enkozesa entuufu eri: %s [KAWAYIRO] [FAYIRO]... Ekiragiro kino kya kuwandika oba kukebera ennamba enkuumi ez'ekika kya %s (eza bbiti-%d). Singa tolaga FAYIRO ey'okukolako, oba singa FAYIRO ebeera '-', amannya aga fayiro kigasoma okuva awayingizibwa awa bulijjo. �Enkozesa entuufu eri: %s [KAWAYIRO]... [EBIYINGIZIBWA [EBIVAAMU]] �Enkozesa entuufu eri: %s [KAWAYIRO]... [EBIKOLEBWAKO [KATANDIKWA]] �Enkozesa entuufu eri: %s [KAWAYIRO]... [EBY'OKUKOLAKO]... (nga tokozesa -G) oba: %s -G [KAWAYIRO]... [EBY'OKUKOLAKO [EBIVAAMU]] �Enkozesa entuufu eri: %s [KAWAYIRO]... [NANYINI][:[GULUUPU]] FAYIRO... oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO... �Enlozesa entuufu eri: %s [KAWAYIRO]... [LUTIBA] �Enkozesa entuufu eri: %s [KAWAYIRO]... [MUKOZESA] �Enkozesa entuufu eri: %s [KAWAYIRO]... [MUKOZESA]... �Enkozesa entuufu eri: %s [KAWAYIRO]... [AKOZESA]... �Enkozesa entuufu eri: %s [KAWAYIRO]... [KIGAMBO]... Kino kiwandikawo ekikongojjedwa mu kigambo ekifuga nzivvuunuzi KIGAMBO. Bw'obanga totaddewo KIGAMBO, ekiragiro kiwandikawo ebikongojjedwa mu buli kigambo ekifuzi ekikola enviromenti yo. �Enkozesa entuufu eri: %s [KAWAYIRO-KAFUNZE]... MUKOZESA KIRAGIRO [AGUMENTI]... oba: %s KAWAYIRO-KAJJUVU �Enkozesa entuufu eri: %s [KAWAYIRO-AKAFUNZE].. [KIGAMBO]... oba: %s KAWAYIRO-AKAJJUVU �Enkozesa entuufu eri: %s [KIGAMBO]... oba: %s KAWAYIRO �Enkozesa entuufu eri: %s oba: %s KAWAYIRO �Enkozesa entuufu eri: test EMBOOZI oba: test oba: [ EMBOOZI ] (kwe kugamba towandikawo ekigambo 'test') oba: [ ] oba: [ KAWAYIRO (era towandikawo ekigambo 'test'. Tossawo ka ']') �Enkozesa%�Awakozese�'User defined signal 1' - Ekiragiro kya sisitemu kino omuwandisi wa puloguramu asobola okukikozesa kyonna ky'alaba�'User defined signal 2' - Ekiragiro kya sisitemu kino omuwandisi wa puloguramu asobola okukikozesa kyonna ky'alaba�Augumenti z'oyinza okuwa ziri:�'Virtual timer expired' - Omulimu obudde obw'okugukolako mu kitundu ekibazi buweddeko�KULABULA: Waliwo etterekero eliri mu fayiro nyunzi eziliggukako ate. Kilabika sisitemu eya fayiro yo eyonoonese. MUTEESITEESI OWA SISITEMU YO MUTEGEEZE (bw'abanga ssi ye ggwe). Omutawana guno guzingiramu tterekero lino eliyitibwa: %s �KULABULA: aka --context (-Z) tekagenda kukolerwako; ennombe ya kuno tetegeera SELinux�KULABULA: aka -preserve-context tekagenda kukolerwako; ennombe ya kuno tetegeera SELinux�KULABULA: akawayiro --strip-program tekajjakukolebwako kubanga tewataddeko n'aka -s�Kulabula: �Ddi�Wa�'Window changed' - Ekiwandikiro omulimu okuva mwe gutandikidwa kikyuseko�Eyo y'enkola eya tail eya bulijjo. Kyokka wabawo ebiseera nga waliwo erinnya nga oyagala okugoberera ebigenda mu fayiro yonna etuumidwa erinnya eryo. Olwo wetaaga kussaawo akawayiro --follow=name. Ekiragiro bwe kibaako kano fayiro kigera ebiseera ne kigibikka ate ne kiddamu okugibikkula kisobola okutegeera oba erinnya eryo litwalidwa ku fayiro endala. �Byawandikibwa %s ne %s. �Byawandikibwa %s, %s, %s, %s, %s, %s, %s, %s, %s, n'abalala. �Byawandikidwa %s, %s, %s, %s, %s, %s, %s, %s, ne %s. �Byawandikibwa %s, %s, %s, %s, %s, %s, %s, ne %s. �Byawandikibwa %s, %s, %s, %s, %s, %s, ne %s. �Bywandikibwa %s, %s, %s, %s, %s ne %s. �Byawandikibwa %s, %s, %s, %s, ne %s. �Byawandikibwa %s, %s, %s, ne %s. �Byawandikibwa %s, %s ne %s. �Byawandikibwa %s. �omulimu bwe guba ogw'okukyusa bubonero, ebiwandike ebya [=c=] tebikkirizibwa mu bubonero-2�^[nN]�^[yY]�`�bw'oteekako ekiragiro oteekwa okulaga n'enkyuuka mu busengeke bwakyo�Amateeka ai_family ge kitegeka tegamanyidwa ku sistemu eno�Ekika kya soketi ekikongojjedwa mu ai_socktype sisitemu eno tekimanyi�agumenti %s ku %s ebuzabuza�tokkirizibwa okutegeka akabonero akaawuluzi mu biyingizibwa okuggyako nga ogenda kukola ku firidi�ebivaamu mbiwayira ku %s�okuggya kkopi ey'okwerinda mu %s kujja ate yo okugisaanya wo; %s tekoppedwa�okuggya kkopi ey'okwerinda mu %s kujja ate yo okugisaanyawo; %s tesimbulizidwa�ekika ekya kkopi ey'okwerinda�ffayiro ey'enjawulo eya kika kya buloka�fayiro ez'enjawulo eza kika kya bulooka tezikola wano�buloka�awayingizibwa awa bulijjo tewasobola okubeera ennono eya fayiro zombi�bayiti ey'okutandikirako %s eyitiridde okubeera ewala�sisobola okutegeka olukusa olwa SELinux olutalaga gwe lukwatako ku fayiro etannalambibwa %s�omulimu nnemedwa okutegeera endukusa eza SELinux zagwo�nnemedwa okubikkula %s�%s nnemedwa okugiggyamu kkopi ey'okwerinda�tekisoboka okulaga mu bufunze ate mu kiseera kye kimu okulaga mu bujjuvu�sisobola okukyusa obwanannyini ku %s�nnemedwa okukyusa obuyinza obw'oku %s�etterekero %s nemedwa okulifuula ery'oku musingi�sisobala okubuuka kuyingira mu tterekero %s�nnemedwa kukyusa okugenda ku tterekero ery'oku musingi�tekisoboka kukozesa --target-directory (-t) awamu ne --no-target-directory (-T)�tekisoboka kugatta --target-director ne --no-target-directoy�obuwayiro -e ne -i tebukolagana�tekisoboka okugattika ebibiri ku {ascii,ebcdic,ibm}�tekisoboka okugattika block ne unblock�tekisoboka kugattika excl ne nocreat�tekisoboka kugattika lcase ne ucase�bw'okozesa akawayiro aka '--reference' tosobola ate okutegeka ndukusa obutereevu�ekiragiro tekisobola okugattibwa n'akawayiro -l oba -t�tekisobose okunoonya njawulo wakati wa mannya aga fayiro gano:%s ne %s�nemedwa okukyusa U+%04X okudda mu bubonero obukozesebwa wano�nemedwa okukyusa U+%04X okudda mu bubonero obukozesebwa wano: %s�tosobola okukoppa etterekero, %s, libeere ne kkopi, %s, eya yo munda mwa yo�sisobola okuggya kkopi mu nyunzi ey'eyawudde eyeggukako %s�nnemedwa okukolawo tterekero %s�sisobola okukolawo fifo %s�sisobola okukolawo enyunzi et'eyawudde %s egguka ku %s�sisobola okukolawo nyunzi %s egguke ate ku %s�nnemedwa okukolawo fayiro eya bulijjo %s�sisobola okukolawo fayiro ey'enjawulo %s�sisobola okukolawo enyunzi eyeyawudde %s�sisobola okukolawo enyunzi eyeyawudde %s egguka ku %s�sisobola okukolawo fayiro ey'ekiseerabuseera mu %s�nnemedwa okukola ku fayiro %s kw'egguka�nemedwa okulaba kyuma %s kw'eri ne "inodi" yayo ennemye okuzuula�sisobodde okuzuula erinnya erya kompyuta ennyunge�%s sigirabye. kati ngirindirira okulabika�nemedwa okukola ioctl ku %s�nnemedwa okuzuula erinnya erigendera ku namba ya guluupu %lu�tekisobose kugoberera %s nga n'esigamye ku linnya�tekisoboka okukaka endukusa eza SELinux ez'okukikolebwako zifuuke %s ne zikala�fstat eremedwa okuzuula ebikwata ku %s�nemedwa okufuna rinnya ery'etterekero ekiragiro mwe kiweredwa�nnemedwa kutegeera obusengeke�nnemedwa okufuna erinnya lya sistemu eno�sisobola okuzuula obunene obwa %s�nnemedwa okukola lseek ku %s�sisobola okukola bika bya nyunzi byombi awamu - ezit'eyawudde n'ez'eyawudde�sisobola okukolawo etterekero %s�sisobola okusimbuliza %s egende ku %s�sisobola okusimbuliza %s efuuke ate tterekero %s munda mwa yo�sisobola okusimbuliza tterekero ku etali tterekero: %s -> %s�sisobodde okubikkula %s kugisoma�nnemedwa okubikkula %s ngiwandikemu�nemedwa okubikkula tterekero %s�fayiro ennyunzi ey'ewaudde %s terina kw'egguka, sisobola okugikolako�%s tterekero, sisobola okugiwandikako ebivudde mu etali tterekero�%s ssi tterekero, n'olw'ekyo sisobola okugiwandikako ebiri mu tterekero %s�sisobola okukolawo ebivaamu ebigoberera empandika�ekiragiro cp tekyategekebwa kutegeera atiributo eya xattr, n'olw'ekyo sisobola kukuuma atiributo ez'enyongeza�sisobola kukuuma endukusa eza SELinux nga ennombe temanyi SELinux�Akawayiro akaleetera ekiragiro okukoma ku kulaga ennamba ya mukozesa gy'afaanana okuba nga y'akiyisizza tekakola bw'obanga owaddeyo amannya agasukka mu limu�sisobola okuwandika mannya gokka oba ennamba ez'ennono zokka mu ntereeza eya bulijjo�sisobola okuwandikawo endukusa eza SELinux ekiragiro bw'okiwerako n'erinnya lya mukozesa�nemedwa okusoma mu tterekero %s�sisbola okusoma amannya aga fayiro okuva mu %s�sisbola okusoma embuulire ekwata ku %s mu sisitemu eya fayiro�nnemedwa okusoma essawa ebalirawo�sisobola okusoma enyunzi eyeyawudde %s�nnemedwa okusoma endagiriro eya sistemu eza fayiro eziwangidwa�sisobola okuggyawo %s�nemedwa okugyawo tterekero: %s�sisobola kukyusa kifo ekikongojjedwa mu kigambo ekikwata ekifo mu fayiro kifuuke %s�nnemedwa okutandika ogwa %s�sisobodde okutegeka kigambo %s�nemedwa okuteeka ennaku�tekisobose okukola ennamba-ya-guluupu ebe %lu�sisobodde okyusa erinnya erya kompyuta ennyunge, sisitemu eno obwo obusobozi tebulina�sisobodde kutegeka erinnya libeere %s�nnemedwa okutegeka obusengeke�sisobola okuteeka wo ebilambe ebiraga %s we yakolebwawo�tekisobose okukola namba-ya-mukozesa eba %lu�bayiti z'ondagidde okubuuka zisinga obunene obwa fayiro z'ompadde okukolako�aka '--null' ( oba '-0') takgendera ku kiragiro�Ekiragiro kino bwe kibanga kikola ku fayiro ezisukka mu emu nga buli emu ebigirimu kibiteeka mu lukumbo lwa byo, tosobola kufuga bungi bw'enkumbo ezikolebwawo.�tokkirizibwa okutegeka obungi bw'enkumbo bw'obanga ate otegese ekiragiro buli fayiro kigiwandikire mu lukumbo lwa yo�sisobola obudda okubugya mu bifo ebisukka mu kimu�tekisoboka okumenyamu mu ngeri esukka mu emu�stat eremedwa okuzuula ebikwata ku fayiro %s�nemedwa okukola stat ku etterekero ekiragiro mwe kiweredwa (%s)�stat tesobola okuzuula ebifa ku awayingizibwa awa bulijjo�nnemedwa okukola ku %s�sisobola okuggyawo kkopi ey'okwerinda eya %s�tekisobose okugya %s mu nkalala eza whatis�sisobola okugyamu ekigambo %s mu nviromenti�%s tegobererekaS�tekisoboka kugoberera etterekero omuli %s�tekisobose okuvvuunuka ekitali kituufu mu nnombe�nkyusa guluupu eya %s�nkyusa obwanannyini obwa ku %s�nkyusa obuyinza obw'oku %s�nkyusa endukusa eza SELinux ez'oku %s �ogambye okutandikira ku kabonero namba 0 - akasembayo mu kitundu ekitandikirwako�akabonero tekali ku lukalala�fayiro ey'enjawulo ey'ekika kya nnukuta�fayiro ez'enjawulo eza kika kya nukuta tezikola wano�nziramu endukusa ez'oku %s�amakyusa ssaawa�sisobodde okubikka fayiro�mbikka %s (fd=%d)�mbikka tterekero %s�mbikka fayiro egyibwamu ebiyingizibwa %s�mbikka fayiro egenzemu ebizzibwa %s�nsibako awayingizibwa awa bulijjo�'od' bw'ebeera egoberera enkola mpya n'enkadde awamu, esobolako fayiro emu yokka�embigambo ebiy'okujuza mu bitundu eby'ennyiriri ebyereere tebikolagana�owaddeyo ebitundu eby'endukusa ebitakolagana�sisbodde okutegekera %s ebintu byayo biterekebwenga mu ggwanika zzibizi mu ngeri egoberera %s �nnemedwa okutandika omulimu ogwa %s -d�nnemedwa okukolawo fayiro ey'ekiseerabuseera�nnemedwa okutandika ogwa %s�nnemedwa okutandika ogwa %s -d�nnemedwa okuzuula ekiri mu tterekero %s ekikwatagana ne i-nodi�sisobodde okutegeera sisitemu eno ddi lwe yakoleezebwa�nkozewo tterekero eliyitibwa %s�nkolawo etterekero %s�nkolawo fayiro %s �olukalala olw'obubonero obw'awuzi lukomekkerezedwa akasaze ak'akaddanyuma akatasumuludwa mu nkola yako eya bulijjo: %s�lino tterekero�waliwo okugabiza mu zero�ogwa dup2 gugaanye�%s tekikkirizibwa kulekebwa kyereere�awandibadde linnya lya fayiro waliwo bbanga�tewalaze kabonero ak'awuzi akaba kadda mu kifo eky'akabulijjo�wazzewo kiremya mu kubikka fayiro�emboozi enoonya zinnewayo erimu ensobi�emboozi enoonya zinnewayo egudde ku kiremya�wazzewo kiremya mu kutegeka mannya g'emyezi�omulimu ogw'okulindirira okubagguliza okwa 'inotify' kuzzemu kiremya�wazzewo kiremya mu kusoma %s�wazzewo kiremya mu kusoma okubagguliza okwa 'inotify'�wazzewo kiremya mu kulindirira kiragiro�wazzewo kiremya nga mpandikira mu %s�emmala=�%s agumenti ya nfissi�waliwo ekifuulibwa eky'enfissi %s�kuliko ekikolebwako eky'enyongeza, %s. Kino tekikkirizibwa nga okozesezza akawayiro -%c�nnemedwa okuzza %s mu mpandika eya bulijjo�nnemedwa okukyusa endukusa eza SELinux ez'oku %s zifuuke %s�nnemedwa okuykyusa guluupu eya %s ebeere %s �nnemedwa okukyusa obwa nannyini obw'oku %s �nnemedwa okukyusa obwanannyini ku %s bufuuke %s �nnemedwa kukyusa kudda mu tterekero %s�nnemedwa okuzuula endukusa eza SELinux empya�nnemedwa okukolawo tterekero nga n'eyambisa ekigambo ekifuga entuma ya fayiro %s�nnemedwa okukolawo fayiro nga n'eyambisa ekigambo ekifuga entuma ya fayiro %s�nnemedwa okukolawo enyunzi et'eyawudde %s�nnemedwa okukolawo enyunzi et'eyawudde %s => %s�nnemedwa okukolawo nnyunzi et'eyawudde egguka ku %.0s%s�nnemedwa okukolawo endukusa eza SELinux: %s�nnemedwa okukolawo enyunzi eyeyawudde %s�nnemedwa okukolawo enyunzi eyeyawudde %s egguka ku %s�nemedwa okufuna atiributo eza %s�nnemedwa okutegeera endukusa eza SELinux ezisangidwawo�nnemedwa okutegeera endukusa eza SELinux ezitegekebwa bulijjo ku bintu ebipya ebikoledwawo ku sisitemu eya fayiro�nnemedwa okufuna guluupu ez'omulimu ogubindabinda�nnemedwa okufuna guluupu ez'omukozesa %s�nnemedwa okukebera endukusa eza SELinux eza %s�nemedwa okuzuula fayiro %s�nemedwa okubikkula %s�nnemedwa okusigaza obuwandisi obw'oku %s�nnemedwa okukuuma obwa nannyini ku %s�nemedwa okukuuma endukusa ez'oku %s�nemedwa okukuuma `saawa' ez'oku %s�Ebifa ku mitawana nemedwa okukyusa gye biwandikibwa�nnemedwa okusindika ebyandigenze ku stderr ku /dev/null�nnemedwa okugyawo %s�nnemedwa okugyawo tterekero %s�sisobodde okulemesa bintu kuva awayingizibwa awa bulijjo�nnemedwa okuddamu okubikkula %s nga nkozesa ndukusa %s�fayiro nnemedwa okugizzako endukusa eza SELinux ezo ezitegekebwa bulijjo ku fayiro ezakakolebwawo�nemedwa okudda mu tterekero mwensookedde okukolera�nnemedwa okutandika ekiragiro %s�nnemedwa okutegeka olukusa olwa %s olwa SELinux lubeere %s�nnemedwa okutegeka guluupu ez'ennyongeza�%s nnemedwa okugitegekera endukusa eza SELinux ezo ezitegekebwa bulijjo ku fayiro ezakakolebwawo�nnemedwa okutegeka namba ya guluupu�nnemedwa okutegeka olubu olupya %s�nnemedwa okutegeka ettuluba ly'abakozesa eppya %s�nnemedwa okutegeka ettuluba ery'ebikolebwako eppya %s�nnemedwa okutegeka omukozesa omupya %s�tekisobose okwongerako guluupu ey'enyongeza�nemedwa okutegeka eby'okuwandika 'stderr' bikome nga omulimu guwedde�nnemedwa okutegeka endukusa eza SELinux ez'oku %s zibe %s�nnemedwa okutegeka namba ya mukozesa�nnemedwa okufuna ebifa ku %s�nnemedwa okuyimiriza O_DIRECT: %s�nnemedwa okwongera %s ku nviromenti�ku %s enkola eya fdatasync egaanye�ogwa fflush gugaanye�ekitundu eky'emboozi eky'okutandikirako %s kiyitiridde okubeera ewala�ennamba ey'ekitundu ky'olunyiriri eri zero�ennamba za firidi n'ebifo mu nnyiriri zitandikira ku 1�FIFO�fayiro %d ssi nsengeke�tosobola okussawo aka --files0-from ate n'oteekawo ne fayiro ez'okukolako�bw'obanga otaddeko akawayiro --print-database (-p) tosobola okussaako ne fayiro ez'okukolebwako�sisitemu eya fayiro ey'ekika %s elondedwa nga mu kiseera kye kikimu egyidwamu�ekiragiro ekya sisitemu ekya "fork" kigaanye�empandika %s ekomekkerezedwa %%�empandika %s ebulako ekitundu ekya %%�empandika %s erimu ebitundu ebya %% ebiyitiridde obungi�empandika %s erimu ekitundu %%%c ekitategeereka�ekiragiro bwe kiba kya kuwandika ennamba zibeere nga zonna z'enkanankanya obungi bwa digiti tekikukkiriza ate okwongerako obuwayiro obulala obufuga empandika yazo�ku %s enkola eya sync egaanye�omulimu 'fts_close' gugaanye�fts_read eremedwa okuzuula ebikwata ku fayiro�nnona atiributo empya eza %s�guluupu eya %s elekedwa wo nga eri %s �omukolo iconv teguliwo�omukolo 'iconv' tegukozeseka�na=�agumenti zonna nzibodde�ebiyigizibwa tebigenda kufiibwako�ebiyingizibwa tebigenda kufiibwako ate ebivaamu byo byongerwa ku %s�ebiyingizibwa tebigenda kufiibwako ate ebyandigenze ku stderr byo bigenda kusindikibwa ku stdout�omuwendo ogukongojjedwa mu kigambo TABSIZE tegukkirizibwa: %s era tegugenda kukozesebwa�ekikongojjedwa mu kigambo ekya mu enviromenti QUOTING_STYLE tekikkirizibwa era sigenda okukikozesa: %s�omuwendo ogukongojjedwa mu kigambo COLUMNS tegukkirizibwa: %s era tegugenda kukozesebwa�agumenti ezitafuula eneyisa ey'ebiragiro tezikoledwako�ebitundu eby'ennyiriri %lu ne %lu tebisobola kukozesebwa kugatta�akabonero ak'awuzi kasobaganye�tekisobose okukozesa 'inotify' okutegeera enkyukakyuka ez'okusisitemu. Nngenda kugikeberangabukebezi�Omulimu ogwa inotify bye gukozesa biweddey�ennono ebuzewo�ebiyingizibwa birimu olunyiriri oluyitiridde obuwanvu�okusimbuliza wakati w'ebyuma kulemye: wakati wa %s ne %s; nemedwa okuggyawo ekisangidwawo ku kigenderwa�agumenti eya --%s, %s tekkirizibwa�enkyuka mu busengeke %s tesoboka�agumenti %s tekola wano�agumenti %s tekozesebwa ku %s�omusono ogw'ennamba eza ku nnyiriri eza mu kiwandike ssi ntuufu: %s�agumenti %s tekkirizibwa ku %s �%s telikola ng'erinnya lya kika eky'ennukuta�luno olukusa ssi lutuufu: %s�okufuula kuno tekukkirizibwa�akafundikwa kalimu akabonero akalaga kye kanaafuulibwa akatakola: %c�akafundikwa kalimu akabonero akalaga kye kanaafuulibwa akatakola: \%.3o�obudde, %s, tebukkirizibwa�entereeza ey'obudde, %s, tekkirizibwa�olubu olw'ebigenda bikendeera terukkirizibwa�ekyuma %s %s tekikkirizibwa�ekika eky'ekyuma %s tekikkirizibwa�ennamba ey'ekitundu eky'olunyiriri ekikolebwako: `%s', tekola�ekigambo ekifuga ekitundu eky'olunyiriri ekikolebwako: %s, tekikola�ekitundu tekikkirizibwa kwenkana awo: %s�ekigambo ekifuga ekitundu eky'olunyiriri ekikolebwako kirimu ennamba etakola: %s�ekigambo ekifuga okufuulibwa kirimu obubonero obutakola: %%%c%c�agument: %s tekkirizibwa ku nnamba ey'ekika ekifunzidwa mu bitundu bisatu�empandika y'ennamba eza ku nnyiriri eza mu bizibirizi ssi ntuufu: %s�obunene obw'ekibangirizi, %s, tebukkirizibwa�guluupu eno temanyidwa�tewali guluupu eyitibwa %s�olukalala lwa guluupu, %s, ssi lutuufu�eno guluupu tekkirizibwa: %s�omusono ogw'ennamba eza ku nnyiriri eza mu bikulembera ssi ntuufu: %s�ebiyingizibwa tebikkirizibwa�akatuuti akafuga ebiyingizibwa tekakkirizibwa�olubu lw'ebiyingizibwa %s terukkirizibwa�ennamba enzijjuvu %s tekola�'%s' tekkirizibwa nga agumenti ey'ekika kya nnamba enzijivu�obungi bw'ennyiriri %s tebusoboka�entegeka ey'ebisindikibwa, %s, tekola�obungi obw'ebifo ebiweredwa ennamba ez'ennyiriri tebukkirizibwa: %s�enjawulo mu nnamba ez'ennyiriri ezigobereragana tekkirizibwa: %s�entereeza eya namba ez'ennyiriri tekkirizibwa: %s�obuwanvu obw'emboozi obuweeredwa: %s tebukkirizibwa�ennamba y'ekyuma enkulu %s tekkirizibwa�tekikkirizibwa okukka ku mutendera %s gw'oyagala�ennamba y'ekyuma ento %s tekkirizibwa�enkola eno tekkirizibwa�enkola %s wano teja wo�olukusa %s telukkirizibwa�namba %s tekkirizibwa�ekitundu eky'olunyiriri kiriko ennamba etakkirizibwa ku ntandikwa yakyo�obungi obw'ennyiriri enjereere tebukkirizibwa: %s�obungi obwa bayiti tebukkirizibwa�tekisoboka okugerageranyako bayiti ez'enkan'awo obungi�tekisoboka okubuukamu bayiti ez'enkan'awo obungi�obungi obw'ebifo: %s tebukkirizibwa�tekisoboka okubuukamu firidi ez'enkan'awo obungi�obungi obw'ennyiriri tebukkirizibwa�akawayiro --%c tekakola�akawayiro --%c tekakola; okutegeera ekya -BUWANVU, kiteekwa okuba nga ke kawayiro akasooka. Kozesaamu -w N, nga N bwe buwanvu bwe wetaaga.�akatuuti akafuga ebivaamu tekakkirizibwa�olubu lw'empapula %s terusoboka�obwo obungi bwa digiti ezigoberera akatonyeze tebukkirizibwa: %s�olubu olutaliko kkomo terukkirizibwa: -�ennamba ya koppi, %s, mu kiwandike kyo eky'ekika kya [c*n] tekkirizibwa�guluupu n'omukozesa byombi bisobu�ennamba ey'olunyiriri tekkirizibwa: %s�akatuuti akalaga embeera tekakkirizibwa�akafundikwa %s kasobu, kalimu akasaze�obuwanvu obw'oluseetuka obuweeredwa: %s tebukkirizibwa�ekigambo ekifuga entuma ya fayiro, %s, tekikkirizibwa kubanga kirimu akabonero ak'awula wakati w'amannya ag'amaterekero (akasaze ak'akaddanyuma)�ekigambo ekifuga entuma ya fayiro, %s, tekikkirizibwa bw'obanga otaddewo n'akawayiro aka --tmpdir. Ekikigaanisa? Kuba nga kkubo eritandikira ku tterekero ery'okumusingi�ekiseera %s tekisoboka�entereeza ey'okulaga obudde eweredwa, %s, tekkirizibwa�akawayiro -%c tekategreese�%s tekikkirizibwa kukola ng'ekigambo ekifuga 'kika'�%s tekikkirizibwa kukola ng'ekiganbo ekifuga 'kika'; anti sisitemu eno tekozesa namba nzijuvu eza bayiti %lu�%s tekikkirizibwa kukola ng'ekiganbo ekifuga 'kika'; anti sisitemu eno tekozesa namba nzijuvu eza bayiti %lu�\%c%0*x tekikola ng'erinnya ly'akabonero ak'omuttuluba ttababyonna�omukozesa ono tamanyidwa�tewali akozesa gwe bayita %s�obuwanvu obuweeredwa bulimu ensobi: %s�ebifo by'ogambye ekiragiro okuwandika mu nnyiriri tebisoboka: %s�erinnya lya fayiro terikkirizibwa kusigala lyereere�kya kabenje okukola ku %s ate n'okola ne ku ebiliri munda�kya kabenje okukola ku %s ate n'okola ne ku ebiliri munda (kye kimu ne %s)�?sembayo=�ekkomo %lu, obuwanvu %lu obw'erinnya lya fayiro %s buliyiseeko�ekkomo %lu, obuwanvu %lu obw'ekitundu ky'erinnya lya %s buliyiseeko�tekirina makulu kugeza kutegeka ebiva awayingizibwa awa bulijjo bisigalenga mu ggwanika zzibizi okutuusa lwe muyingiramu bayiti etegeeza nti nkomerero y'olunyiriri�akawayiro -%s%c... kateeka nyiriri eziyitiridde obungi�namba y'olunyiriri %s ntono ku egikulemera, %s�ennamba ey'ennyiriri tejjaamu mu ggwanika zzibizi�ekkomo erya rlimit eririwo terikkiriza agumenti eya --%s esukka %s obunene�ggwanika lijjudde�ddiindiro erya bubaka�agumenti eya --%s esembayo obutono ekkirizibwa eri %s�ekiwandike ekya [:upper:] ne/oba [:lower:] tebiri watuufu�akafundikwa kabulamu akabonero akalaga kye kanaafuulibwa %%�%s kibulako agumenti�agumenti %s tekola wano�ekiweredwa nga akafundikwa kibuzeeko akabonero akalaga kye kinaafuulibwa�%s yetaaga kugobererwa fayiro egendererwa�kubulako fayiro ey'okukolako�ku kabonero akufuula bunnaako mu ki-hekisi totaddeko ennamba�kubuzzeeko olukalala lwa firidi�kubuzzeeko olukalala olw'ebifo�kubulako ekifuulibwa�kubulako ekifuulibwa luvanyuma lwa %s�eno attiributo eteekwa kukoma ku kutegeka bbiti ezikola ku ndukusa�ndukusa ez'oku %s zirekedwawo nga ziri %04lo (%s) �ekikozesebwa mu kifo eky'oluseetuka, %s, kirimu obubonero obusukka mu kimu�obuwayiro obwa -i buyitiridde obungi�akawayiro -l oba -t kaweredwa emirundi egisoba mu gumu�otegese puloguramu ezipakirisibwa ezisukka mu emu�tokkirizibwa kutegeka ebyawuluzangana nkumbo ebisukka mu kimu�otegese embu za SELinux ezisoba mu lumu�ebivaamu bigambidwa okugenda mu fayiro ezisukka mu emu�olagide empandika z'ebivaamu ezisoba mu emu�otegese ennono eza data eya muwawa ezisoba mu emu�fayiro ezifuga enkyuka mu bunene bwa zinnaazo otegese esukka mu emu�amatuluba g'abakozesa gasukka ku limu�olaze ekigenderwa eky'amaterekero agasukka mu limu�amatuluba g'ebikolebwako gasukka ku limu�abakozesa basukka mu omu�ku nyunzi ey'eyawudde %s ne fayiro kw'egguka tekuli kikyusidwa �kubuzeeko ekikongozzi NZIVVUUNUZI, oba wakiri akawayiro akategeka ekika kya nzivvuunuzi�obwa nannyini obw'oku %s tebukyuse �totaddewo kiragiro�tewali sisitemu eya fayiro ekoledwako�fayiro zonna zivuddewo�tewali biyingizibwa biva ku %s�Tewali linnya ery'okwewandisaako�ennamba ey'omulimu teweredwa�bw'okozesa akawayiro '-S' oba '--strings' tokkirizibwa kukozesa n'ate '-t' oba '--format'�toweereddeko linnya lya mukozesa; bw'okozesa akawayiro '-l' oteekwa okuweerako n'erinnya ly'omukozesa wakiri omu�agumenti ssi namba nzijjuvu�akabonero %s mu linnya lya fayiro %s kayinza butakkirizibwa ku sisitemu endala�wano tewayungidwa ku tty�ennyunzi ey'eyawudde %s tewali kigenda kuwandikibwayo�%s erimu ennamba eyitiridde obunene�obungi obwa bayiti�obungi bw'ennyiriri�ennamba eraga ow'okutandika okusoma fayiro %s tejja mu ggwanika zzibizi�etterekero %s ndibuuka�mu bubonero-2 mukkirizibwamu ekiwandike ekya [c*] kimu kyokka�Oteekangawo linnya lya kyuma kimu kyokka�okkirizibwa okulagira ekika eky'olukalala kimu kyokka�sisobodde okubikkula fayiro�akawayiro %c kakozesebwa we katajjirawo�obuwayiro --backup ne --no-clobber bukontana�obuwayiro --compare (-C) ne --preserve-timestamps tebukolagana�obuwayiro --compare (-C) ne --strip tebukolagana�Obukomekkereza bwakuteeka ku zi-fayiro ze nkolawo buweddeyo�okwongera ku bunene obwa fayiro %s kuleesewo ennamba etajja mu ggwanika zzibizi�okwongerako katono ku bunene obwa fayiro %s kuleesewo ennamba etajja mu ggwanika zzibizi�obwanannyini ku %s bulekedwawo �obwananyini ku %s bulekedwa wo nga %s �ennamba y'olupapula tejja mu ggwanika zzibizi�olupapula lujjakuyitirira okufunda�endukusa ez'oku %s tezikyusidwa�essawa %s z'ebadde erambidwa nazo zigenda okusigazibwa�okugamba ekiragiro kiwandike koppi zonna ez'ennyiriri ezifaanagana nga ate ziriraanagnye ate era buli lumu kiruwandikeko obungi bwa koppi zalwo eziriwo tekirina mugaso�wazzewo kiremya mu kusoma�sisobodde okusoma fayiro�nsoma mu etterekero %s�ekiwandise kiyitiridde obunene�ebyandigenze ku stderr bigenda kusindikibwa ku stdout�fayiro eyabulijjo etaliimu kantu�fayiro eya bulijjo�%s egyidwawo �tterekero %s ligyidwa wo �nzigyawo tterekero, %s�namba y'enkola eya sisitemu�semafora�tekikkirizibwa butaba na kabonero k'awula mu biwandise�okuvvuunuka kiremy'ono, tegeka nti LC_ALL='C'�ntegeka obutuuti obwa %s�ntegeka endukusa ez'oku %s�nteeka ebiseera eby'oku %s�kisibe kya mu ggwanika ery'awamu�bwogatta bayiti ezisook'okubuukibwa ne bayiti eziba zikolebwako, ekivaamu kisinga bunene bw'ebigenda kukolebwako�%s ngibuuka kubanga eri ku kyuma kirala�fayiro %s ngibuuka kubanga eyo yawanyisidwamu endala bwe yabadde ekoppebwa�soketi�awateekebwa ebivaamu awa bulijjo�ennono eya bulijjo�awayingizibwa awa bulijjo wabikkidwa�awateekebwa ebiva mu zipulogulamu awa bulijjo�stat tesobode okuzza ebifa ku fayiro�stderr�stdin�stdout�ebiraga ekitundu eky'ennyiriri ekiba kikolebwako birimu akabonero akatandibaddemu�okugerageranya ebigambo kugaanye�waliwo ekigambo ekitafuulise�omulimu ogwa strip gukomye mu ngeri etali ya bulijjo�tekigassa okulagira enyiriri ezit'awuluzidwamu zireme okulagibwa, okuggyako nga okola ku firidi�(fayiro) enyunzi ey'eyawudde�Waliwo ekimenye amateeka ag'empandiika ey'ebiragiro�kukoleeza sisitemu�oluseetuka telukkirizibwa okubeera ng'obuwanvu bwalwo buli 0�ekiweredwa nga obuwanvu obw'oluseetuka kirimu akabonero oba bubonero obutakkirizibwa: %s�ennamba ez'obuwanvu obw'enseetuka zisengeke nga zigenda z'eyongera obunene�obunene, %s, obw'oluseetuka buyitiridde�obuwanvu bw'enseetuka buyitiridde obunene�enseetuka ziyitiridde okwesuulagana�ekigenderwa %s ssi tterekero�tokkirizibwa okutegeeza ekiragiro etterekero mwe kiba kiteeka ekintu ssing ekintu ekyo kiba nga nakyo tterekero�mutwe=�[ oba test ne [�bw'obeera okukakasabukakasa ennamba enkuumi, obuwayiro --binary ne --text tebulina kye bukolawo�bw'otegeka atiributo ezitakwata ku ndukusa, ekiragiro tekikolera ku kawayiro aka --compare (-C)�akawayiro --quiet kagasa mu kukakasa nnamba nkuumi wokka�omugaso ogw'akawayiro --status gukoma ku kukakasa ennamba enkuumi�omugaso ogw'akawayiro --warn gukoma ku kukakasa ennamba enkuumi�ekiwandike eky'ekika kya [c*] tekikkirizibwa mu bubonero-2 okugyako nga omulimu gwa kukyusa bubonero�ekiwandike ekya [c*] tekikkirizibwa mu bubonero-1�akabonero akaawuluzi kateekwa okubeera ennukuta emu�akawayiro ak'okuwandika mu ngeri etegeereka bantu n'ak'okuwandika mu ngeri esobola okukozesebwa nga agumenti tebukukozesebwa wamu�'dircolors' bw'obeera ogiragidde okuzza ebiragiro ebya mu fayiro eyajjiramu mu muganda ogwa 'coreutils' tejja ate okukkiriza empandika ey'ebiragiro ekozesebwa enzivvuunuzi�tekikkirizibwa okuweera awamu obuwayiro obuteeka obudde n'obwo obulaga obudde�pulogulamu ekukkiriza okuwa akawayiro akalonda ennaku zennyini ez'okulaga kamu kokka�ebigambo ebigerageranyizidwa biri %s ne %s.�bw'obeera owanga tterekero, akawayiro strip tekakola�%s kye kyagaanye okufuulibwa�obudde %s tebumanyidwa�okusobola okukolera ku nnamba ya mukozesa %s, wetaaga okwongerako akawayiro aka '-g'�'X' eziri mu kigambo %s ziyitiridde obungi�akafundikwa kalimu obubonero obulaga kye kanaafuulibwa %% obuyitiridde obungi�obubonero buyitiridde obungi mu lukalala�ennyiriri ezifaanagana ziyitiridde obungi�ebigambo ebifuga entuma ya fayiro ezikolebwawo biyitiridde obungi�omugatte�wazzewo kiremya mu kukebera tterekero: %s�kyetongole eky'omuggwanika ekikazidwako ekika�nnemedwa okulaga ebifa ku kiremya�tekisobose okuwandisa tterekero erikolerwamu�nnemedwa okutegeka endukusa eza SELinux %s�waliwo kiremya atalabwangako: fts_info=%d: %s tegeeza %s�waliwo ekifuula ekikola ku agumenti bbiri ekitamanyidwa�ekiragiro kiraze ennamba y'embeera etategeereka (0x%X)�ekifo ekitamanyidwa�ennamba-ya-mukozesa eno sigimanyi: %s�ekikongojjedwa mu kigambo LS_COLORS tekivvunulika�ekikolebwako %s tekimanyidwa�akakulembera: %s tekategerekese�sisitemu yakakolera olunaku %ld n'essaawa %2d:%02d, �sisitemu yakakolera nnaku %ld n'essaawa %2d:%02d, �sisitemu yakakolera ennaku ???? ne ssaawa ??:??�bw'obanga toyagala ekitaakiriza kino kikole, kozesa --no-preserve-root�ekiragiro bwe kiba nga kikola ku sisitemu za fayiro mu kifo kya fayiro zennyini, %s kiba tekitegeeza awayingizibwa awa bulijjo�nninda %s [-d]�nnindirira mulimu ogwa strip�kulabula: wayongedeko :%s ku bubonero obuvamu ennamba. Bwebityo tebikolebwako�kulabula: %s: nnemedwa okukyusa olukusa lwa SELinux lufuuke %s�kulabula: akawayiro --pid=PID tekakola ku sisitemu eno�kulabula: tekigasa kuteekawo akawayiro --retry okugyako nga tail egoberera fayiro nga yesigamye ku linnya�kulabula: ekya PID tekigyakukolebwako; anti akawyiro --pid=PID tekagasa okugyako nga tail esigala egoberera ebyongerwa ku fayiro�kulabula: ekigambo ekikomekkerezebwa akasaze ak'akaddanyuma akatasumuludwa mu nkola yako eya bulijjo kiyinza butakkirizibwa ku sisitemu endala�kulabula: ekigambo ekifuga empandika kikomekkerezedwa akasaze ak'akaddanyuma�kulabula: sisobola kuggyawo %s�kulabula: tekigasa kusigala nga ogoberera ebiteekebwa awayingizibwa awa bulijjo�kulabula: agumenti ez'enfissi, okuva ku %s, tezigenda kukolerwako�kulabula: oluvanyuma lw'okulemererwa okusoma wazzewo n'ennamba eraga aw'okusoma etasoboka�kulabula: obuwanvu %lu tebusoboka; 'od' egenda kukozesaamu %d�kulabula: namba y'olunyiri %s y'emu n'egikulembedde�kulabula: fayiro ey'ensibuko %s eweredwa emirundi egisukka mu gumu�Kulabula: okulagira kuwandika mu bufunze kikontana ne --max-depth=%lu�Kulabula: okufunza kye kimu n'okukozesa --max-depth=0�kulabula: ekigambo eky'omu okita \%c%c%c tekitegeerese bulungi ekiragiro kigenda kukibala ng'ekigambo \0%c%c, `%c', ekirimu bayiti bbiri�kulabula: mpatanyizza ku kitali kituufu ku nnombe ekitawanya enkola ya lseek ku fayiro (%s) ey'ekika kya mt_type=0x%0lx -- kebera <sys/mtio.h> okulaba olukalala olwa zi mt_type�fayiro etategeereka�bw'obanga totaddeko akawayiro aka '-t', bubonero-2 luteekwa kubaamu wakiri akabonero kamu�ekiragiro bwe kiba nga kya kusoma amannya aga fayiro akova ku stdin, erinnya %s terikkirizibwamu�mu kiragiro ekifuga ebivaamu eby'ekiwandikiro, tokkirizibwa ate kutgeka ensindika n'enfuna y'ekiwandikiro�bwe kubaako akawayiro aka '-c' nga ate LUKALALA-1 lulimu n'ekigambo eky'enkula eya '[:kika:], kiba kitegeeza nti ekiragiro kigenda okukola ku bubonero bwonna obutali mu 'kika'. Olwo LUKALALA-2 luteekwa okutegekebwa mu ngeri nti lulimu akabonero kamu kokka nga ke kanne wa buli kabonero akatali mu 'kika'�fayiro %s eggukibwako ennyunzi ey'eyawudde %s tegenda kugyibwamu kkopi�sijja okukolawo enyunzi et'eyawudde %s egguka ku tterekero %s�%s eyakakolebwawo sijja okugiwandikako ebiri mu %s�bwe kubaako aka --parents, ekigenderwa kiteekwa kuba tterekero�bw'obanga otaddewo aka '--suffix', olutiba %s kiteekwa okusembyayo 'X'�Wazzewo kiremya mu kuwandika mu fayiro�%s ezzeko kiremya mu kuwandika�sisobode okuwandika�mpandika mu %s�oteekwa okuwayirako -c, -t, -u, -l, -r, oba okussawo endukusa ez'etaagibwa�oteekwa okuwayo olukalala olwa bayiti, ennukuta, oba ebitundu eby'emboozi�oteekwa okutegekawo %s awali %s�oteekwa okutegekawo kimu ku %s oba %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�ebiwandise %+% bisomedwa ebiwandise %+% biwandikidwa �ekiwandise % kitemedwamu �ebiwandise % bitemedwamu �bayiti % (%s) ekoppedwa�bayiti % (%s) zikoppedwa�ennamba eraga aw'okusoma eyitiridde obunene: sisobola kutemamu okutuuka ku buloka eya seek=% (bayiti-%lu)�ogw'okutemamu kutuuka ku bayiti % gugaanye ku fayiro ey'ebivaamu %s�nnemedwa okutegekawo eggwanika zzibizi erya bayiti % �%s: %: ennamba enkuumi ey'ekika kya %s erimu olunyiriri olwandikidwa bubi�KULABULA: olunyiriri % lulimu ensobi mu mpandika ya lwo�KULABULA: ennyiriri % zirimu ensobi mu mpandika ya zo�KULABULA: fayiro % mu lukalala tesomese�KULABULA: fayiro % mu lukalala tezisomese�KULABULA: ennamba enkuumi % ebalidwa ssi ntuufu�KULABULA: ennamba enkuumi % ezibalidwa ssi ntuufu�olupapula lw'ogambye okutandikirako, %, eziri mu fayiro, %, zo tezituukayo�Lupapula %�obungi bwa bayiti, % * %, ez'oku fayiro %s nnamba etajja mu ggwanika zzibizi�nnemedwa %s okugitemamu esigalemu bayiti %�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/kk.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000003157�12107204516�012101� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����������Ô������Œ�������� ��� �� ����� ����� ���)�����5�����H�� ���N�����X�� ���a�� ���l�����w�����ˆ����������’�����§�����¬�� ���±�����»�� ���Â�����Ï�� ���â�� ���ï��Ô��û�� ���Ð�� ���Û�� ���æ�� ���ð�����ü���������� �����7�����N�����f�����‚�� ���¡�����®��(���·�� ���à�����ê�����ó���������� �����"�����A�����Y����� ������������������������������ ��� ������ ������������������������ ������������������������������������ %H:%M%P � ??:???? �%b %e %Y�%b %e %H:%M�%lu user�%lu users�Avail�Available�Capacity�Filesystem�Mounted on�Other options: �Size�Type�Unknown system error�Use%�Used�Warning: �blocks�close failed�regular empty file�regular file�write error�Project-Id-Version: GNU coreutils 8.7 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2010-11-18 14:19+0600 Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com> Language-Team: Kazakh <kk_KZ@googlegroups.com> Language: kk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0 X-Poedit-Language: Kazakh X-Poedit-Country: KAZAKHSTAN � %H:%M%P � ??:???? �%b %e %Y�%b %e %H:%M�%lu пайдаланушы�Қолж�Қолжетерлік�Сыйымдылығы�Файлдық жүйе�Тіркелген жері�БаÑқа опциÑлар: �Өлшемі�Түрі�БелгіÑіз жүйелік қате�Пайд%�Қолд�ЕÑкерту:�блок�жабу ÑәтÑіз�қалыпты Ð±Ð¾Ñ Ñ„Ð°Ð¹Ð»�қалыпты файл�жазу қатеÑÑ–������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/hr.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000037400�12107204516�012103� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����Ç������T�� ��Œ ������À��Ê���Á�����Œ��7���¡�����Ù��0���í�� ��������,��!���A�����c�����€����������®��"���Ê��,���í��,�����,���G��'���t��-���œ�� ���Ê��(���ë��(��������=�����]�����}����������ƒ��)���‹�� ���µ�����Á�����Ó�����í�����ý�� ����� ��� �����*�� ���B�� ���O�����Y�����i�����r�����‹��?���¤�����ä�� ���ë�����ø����� �� ��� �����*�����B�����Y�����v�����’��$���ª�����Ï�����á�� ���ü����� ����������*�����;��#���U�����y�����‚��*���¡�����Ì�����Ü��&���ñ�� �����#���&�����J�����i����������†�����š�����µ�����Ì�����Ý�� ���ò�������� ��������"��&���5��*���\�����‡�� ���—�����£�����«�����¼�����Ð�����å�� ���í��$���ú�� �����$���*�����O�����a�����w�� ���Š�����˜�����ª�����¿�����Ñ�����ã�� ���õ�������4��������L��T���ê��†���?�� ���Æ�����ç�����ý����������(�����>�����M��;���d��3��� ��/���Ô��+�����'���0��#���X�����|�����œ�����¸�����È�����Î�����Ô�����ë�����í���������������<��0���O�����€�����‘��,���±��0���Þ����� �����* �����= �����S �����s ��!���Œ �����® �� ���É �����ê �����!�����!�� ���/!�����9!�����L!��$���]!��%���‚!�����¨!��$���Ç!�� ���ì!��-��� "�����;"�����@"�����Q"�����a"�����~"�����˜"�����³"�����Î"�� ���â"�����ð"�� ���#��$���#�� ���5#��,���B#��9���o#�����©#�� ���º#�����È#�����Ø#�����ñ#�� ���$�����$�� ���-$�� ���:$�����D$�����_$�����t$�����{$�����‹$�����’$�����˜$�����Ÿ$�� ���¸$�����Æ$�����Ú$��*���ú$�����%%��0���4%�� ���e%�� ���p%����|%��Ì���„'��R���Q(��D���¤(�����é(��8���)�� ���>)�����K)��'���c)��"���‹)�����®)��'���À)��"���è)����� *��-���)*��1���W*��-���‰*��)���·*��.���á*��'���+��*���8+��*���c+��#���Ž+��#���²+�����Ö+�����Ú+�����Þ+��.���ç+�����,�����,��$���9,�����^,��!���y,�����›,�����­,��%���Á,�����ç,�� ���û,�����-�� ���-��,��� -�����M-��L���f-�� ���³-�� ���¾-�����É-�����â-�����ú-�����.�����.�����1.�����P.�����n.��$���‡.�����¬.�����Ä.�� ���ß.�����ì.�����õ.�����/�����%/��'���A/�����i/��#���y/��(���/�� ���Æ/�����Ò/��$���ã/�����0��!���0�����;0�����T0�����t0�����{0�����˜0�����´0�����Ð0�����à0�����õ0�����1�� ���1�����(1��&���?1��2���f1�����™1�� ���©1�� ���·1�����Ã1�����Ú1�����ñ1����� 2�����2��%��� 2�����F2�����O2�����n2��"���€2�����£2�����¾2�����Ð2�����ã2�����ý2�����3�����#3�� ���63�����C3��6���T3��½���‹3��f���I4�����°4��&���N5�����u5�����”5�����³5�����Ê5�����ç5�����ú5��6��� 6��.���D6��*���s6��&���ž6��"���Å6�����è6�����7�����"7�� ���97�����F7�����L7�����T7�����o7�����s7�����Œ7�����§7�����Æ7��A���á7�����#8�����98��0���X8��4���‰8�����¾8�����Þ8�����ù8��"���9�����:9��&���X9�����9�� ���“9�����´9�����Ç9�����á9�� ���ú9�����:�����%:��(���7:��-���`:�����Ž:��,���®:��)���Û:��2���;�����8;�����=;�����R;�����f;��$���ƒ;��!���¨;�����Ê;�����ç;�����ÿ;�����<�����%<��+���5<�����a<��!���u<��/���—<�����Ç<�� ���Û<�����æ<�����ø<�����=�����(=�����9=�����Q=�����b=�����j=�����ƒ=�� ���Ÿ=�����©=�����º=�����Ö=�����æ=�����÷=�����>�����&>�� ���C>��*���d>�����>��:���¥>�����à>�����ð>����� ����������¨������…���¿���,���3���¬���Â���¤���O��� ���”�����������m�����������������������������L���P���C������������������¦�����������H���“���œ������@�������n���°���v���Á���‘���£���a������V�������~���e���T������¹�������8�������³���X���]���'���������������´���‡���^���Š��� ���+�������Ç���»���—���¼���;���b���¢���·�������.���±����������B������Ä���[���‹������������������‚���1�������«�������½�������’���k���I�������s�������Œ����������º������7���Ž���������K���x���ˆ���J�������N���­�������#���›���6�������€�������{���(���!����������F����������:���®���������� ���)��������������������¶���¾���U���*���5�������%�����������M���z�������������¸���R���f����������Å���§���S���G���•��� ���2���9���|���„��������������� ��� ���–��������������&���¯�����������ž�����������g���r���`���Q������²����������†���ª���A���"���Æ�������t���E���Z���>���q���ƒ���c���‰���u���W�������$�������š���4������_���/���}���o�������\���-���©���=�������˜���0�������Y�����������l������™�������?���D���µ���i�����������p���d���À���Ã���������h���<���w���¥���������������j���¡���Ÿ���y���� License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Report bugs to: %s � With no FILE, or when FILE is -, read standard input. �%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s%s argument '%s' too large�%s: end of file�%s: input file is output file�%s: invalid option -- '%c' �%s: new permissions are %s, not %s�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �'�(C)�Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Bad system call�Bad value for ai_flags�Broken pipe�Bus error�CPU time limit exceeded�Child exited�Continued�David MacKenzie�EMT trap�File size limit exceeded�Floating point exception�General help using GNU software: <http://www.gnu.org/gethelp/> �Hangup�I/O possible�Illegal instruction�Information request�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�Jim Meyering�Killed�Memory allocation failure�Memory exhausted�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�Packaged by %s �Packaged by %s (%s) �Parameter string not correctly encoded�Power failure�Premature end of regular expression�Processing request in progress�Profiling timer expired�Quit�Real-time signal %d�Regular expression too big�Report %s bugs to: %s �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Russell Coker�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Simon Josefsson�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Success�System error�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [FILE]... �User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�Window changed�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�_open_osfhandle failed�`�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�block special file�can't apply partial context to unlabeled file %s�cannot access %s�cannot change permissions of %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot create directory %s�cannot create pipe�cannot do ioctl on %s�cannot perform formatted output�cannot read directory %s�cannot restore fd %d: dup2 failed�changing permissions of %s�changing security context of %s �character out of range�character special file�closing standard input�directory�error closing file�extra operand %s�failed to change context of %s to %s�failed to create security context: %s�failed to get attributes of %s�failed to get security context of %s�failed to reopen %s with mode %s�failed to return to initial working directory�fifo�fts_close failed�fts_read failed�iconv function not available�iconv function not usable�invalid %s%s argument '%s'�invalid argument %s for %s�invalid context: %s�invalid group�invalid group: %s�invalid input�invalid suffix in %s%s argument '%s'�invalid user�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�memory exhausted�message queue�missing operand�missing operand after %s�preserving permissions for %s�read error�regular empty file�regular file�semaphore�setting permissions for %s�shared memory object�socket�standard output�stderr�stdin�stdout�string comparison failed�symbolic link�typed memory object�unable to display error message�unable to record current working directory�unknown stream�use --no-preserve-root to override this failsafe�weird file�write error�Project-Id-Version: GNU coreutils 8.19 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-10-01 17:38+0200 Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com> Language-Team: Croatian <lokalizacija@linux.hr> Language: hr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Lokalize 1.4 � Licenca GPLv3+: GNU GPL inaÄica 3 ili kasnija <http://gnu.org/licenses/gpl.html>. Ovo je slobodan softver: slobodno ga smijete mijenjati i dijeliti. NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom. � Prijavite greÅ¡ke na %s. Prijavite greÅ¡ke prijevoda na <lokalizacija@linux.hr>. � Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz. �%s poÄetna stranica: <%s> �%s poÄetna stranica: <http://www.gnu.org/software/%s/> �%s potproces�%s potproces nije uspio�%s potproces je dobio fatalni signal %d�%s%s argument „%s†je prevelik�%s: kraj datoteke�%s: ulazna datoteka je izlazna datoteka�%s: neispravna opcija -- „%c†�%s: nove dozvole su %s, ne %s�%s: opcija „%c%s†ne dozvoljava argument �%s: opcija „%s†je viÅ¡eznaÄna; mogućnosti:�%s: opcija „--%s†ne dozvoljava argument �%s: opcija „--%s†zahtijeva argument �%s: opcija „-W %s†ne dozvoljava argument �%s: opcija „-W %s†je viÅ¡eznaÄna �%s: opcija „-W %s†zahtijeva argument �%s: opcija zahtijeva argument -- „%c†�%s: neprepoznata opcija „%c%s†�%s: neprepoznata opcija „--%s†�â€�(C)�Prekinut�Obitelj adresa za ime raÄunala nije podržana�Budilica�Svi zahtjevi su obraÄ‘eni�MeÄ‘uspremnik argumenata je premalen�Neispravan sistemski poziv�Neispravna vrijednost za ai_flags�Prekinut cjevovod�SabirniÄka greÅ¡ka�prekoraÄeno ograniÄenje CPU vremena�Dijete je zavrÅ¡ilo�Nastavljen�David MacKenzie�EMT zamka�PrekoraÄeno ograniÄenje veliÄine datoteke�Iznimka pomiÄnog zareza�Općenita pomoć za koriÅ¡tenje GNU softvera: <http://www.gnu.org/gethelp/> �ZavrÅ¡etak�U/I moguć�Nedozvoljena instrukcija�Zahtjev za informacijom�Prekid�Prekinut signalom�Neispravna povratna referenca�Neispravno ime razreda znakova�Neispravan znak razvrstavanja�Neispravan sadržaj \{\}�Neispravan prethodni regularni izraz�Neispravan kraj raspona�Neispravan regularni izraz�Jim Meyering�Prekinut�Neuspjeh alokacije memorije�Memorija iscrpljena�Ime ili usluga nisu poznati�Nema adrese dodijeljene imenu raÄunala�Nema poklapanja�Nedostaje prethodni regularni izraz�Neoporavljiv neuspjeh u rezoluciji imena�Pakirao %s �Pakirao %s (%s) �Niz parametara nije pravilno kodiran�Prekid napajanja�Preuranjen kraj regularnog izraza�Obrada zahtjeva u tijeku�Å toperica profiliranja istekla�IzaÄ‘i�Signal u stvarnom vremenu %d�Regularni izraz je prevelik�Prijavite greÅ¡ke %s na %s �Zahtjev otkazan�Zahtjev nije otkazan�Resurs izgubljen�Richard M. Stallman�Russell Coker�Segmentacijska greÅ¡ka�Servname nije podržano za ai_socktype�Postavite LC_ALL='C' kako biste zaobiÅ¡li problem.�Simon Josefsson�GreÅ¡ka stoga�Zaustavljen�Zaustavljen (signalom)�Zaustavljen (tty ulaz)�Zaustavljen (tty izlaz)�Uspjeh�GreÅ¡ka sustava�Privremena greÅ¡ka u rezoluciji imena�ZavrÅ¡en�UsporeÄ‘eni nizovi su %s i %s.�Torbjorn Granlund�Zamka za praćenje/prekidnu toÄku�Obrnuta kosa crta na kraju�Nepoznata greÅ¡ka�Nepoznat signal %d�Nepoznata greÅ¡ka sustava�Neuparena ( ili \(�Neuparena ) ili \)�Neuparena [ ili [^�Neuparena \{�Hitno U/I stanje�Uporaba: %s IME [SUFIKS] ili: %s OPCIJA... IME... �Uporaba: %s [OPCIJA]... KONTEKST DATOTEKA... ili: %s [OPCIJA]... [-u KORISNIK] [-r ULOGA] [-l RASPON] [-t VRSTA] DATOTEKA... ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA... �Uporaba: %s [OPCIJA]... GRUPA DATOTEKA... ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA... �Uporaba: %s [OPCIJA]... MOD[,MOD]... DATOTEKA... ili: %s [OPCIJA]... OKTALNI-MOD DATOTEKA... ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA... �Uporaba: %s [OPCIJA]... [DATOTEKA]... �KorisniÄki definiran signal 1�KorisniÄki definiran signal 2�Ispravni argumenti su:�Virtualna Å¡toperica istekla�Promijenjen prozor�Napisali %s i %s. �Napisali %s, %s, %s, %s, %s, %s, %s, %s, %s i ostali. �Napisali %s, %s, %s, %s, %s, %s, %s, %s i %s. �Napisali %s, %s, %s, %s, %s, %s, %s i %s. �Napisali %s, %s, %s, %s, %s, %s i %s. �Napisali %s, %s, %s, %s, %s i %s. �Napisali %s, %s, %s, %s i %s. �Napisali %s, %s, %s i %s. �Napisali %s, %s i %s. �Napisao %s. �^[nN]�^[dDyY]�_open_osfhandle nije uspio�„�ai_family nije podržano�ai_socktype nije podržano�viÅ¡eznaÄan argument %s za %s�posebna blokovska datoteka�ne mogu primijeniti djelomiÄni kontekst neoznaÄenoj datoteci %s�ne mogu pristupiti %s�ne mogu promijeniti dozvole %s�ne mogu pretvoriti U+%04X u lokalni skup znakova�ne mogu pretvoriti U+%04X u lokalni skup znakova: %s�ne mogu napraviti direktorij %s�ne mogu napraviti cjevovod�ne mogu izvrÅ¡iti ioctl na %s�ne mogu izvrÅ¡iti oblikovani ispis�ne mogu Äitati direktorij %s�ne mogu vratiti fd %d: dup2 nije uspio�mijenjam dozvole %s�mijenjam sigurnosni kontekst %s �znak izvan raspona�posebna znakovna datoteka�zatvaram standardni ulaz�direktorij�greÅ¡ka pri zatvaranju datoteke�operand viÅ¡ka %s�nisam uspio promijeniti kontekst %s u %s�nisam uspio napraviti sigurnosni kontekst: %s�nisam uspio otkriti svojstva %s�nisam uspio dohvatiti sigurnosni kontekst %s�nisam uspio ponovo otvoriti %s s modom %s�nisam se uspio vratiti u poÄetni radni direktorij�fifo�fts_close nije uspio�fts_read nije uspio�iconv funkcija nije dostupna�iconv funkcija se ne može koristiti�neispravan %s%s argument „%sâ€�neispravan argument %s za %s�neispravan kontekst: %s�neispravna grupa�neispravna grupa: %s�neispravan ulaz�neispravan sufiks u %s%s argumentu „%sâ€�neispravan korisnik�opasno je rekurzivno raditi na %s�opasno je rekurzivno raditi na %s (isto kao %s)�memorija iscrpljena�red poruka�nedostaje operand�nedostaje operand nakon %s�Äuvam dozvole za %s�greÅ¡ka Äitanja�obiÄna prazna datoteka�obiÄna datoteka�semafor�postavljam dozvole za %s�dijeljeni memorijski objekt�utiÄnica�standardni izlaz�standardni izlaz za greÅ¡ke�standardni ulaz�standardni izlaz�usporedba nizova nije uspjela�simboliÄka veza�tipizirani memorijski objekt�ne mogu prikazati poruku greÅ¡ke�ne mogu zapisati trenutni radni direktorij�nepoznat tok podataka�koristite --no-preserve-root za zaobilaženje ove zaÅ¡tite�Äudna datoteka�greÅ¡ka pisanja�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/lt.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000100742�12107204517�012112� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����Œ�����| ����Ü������P!�����Q!��ˆ���S!��È���Ü!��„���¥"��Ê���*#��9���õ#�����/$��7���F$�� ���~$��,���Š$��5���·$��°���í$��í���ž%��Æ���Œ&��Ó���S'�� ���'(�����5(�� ���:(�� ���D(�����P(�����c(�����x(�� ���”(�����µ(�����Î(�� ���Þ(�����ÿ(�����)��>���4)�����s)�����’)�����¢)�����²)�����Å)�����×)�����ò)��$���*�����5*�����K*�����a*�����t*��"���ˆ*��)���«*�����Õ*��"���ò*�����+�����(+�����7+��&���J+�����q+��"���Œ+�� ���¯+�� ���»+�����È+�����Ù+�����õ+�����,�����%,�� ���',�����4,�����K,�����O,��)���e,�����,�����¡,�����¸,�����Ï,�����æ,�����ë,�����ñ,�����-�����-�� ���#-�����--�� ���D-�����N-�� ���V-�� ���a-��3���m-�����¡-�����°-�� ���À-�����Í-�����Ý-�� ���â-�����ì-�� ���ó-�����þ-����� .�����.�����.�����.�����$.�����5.�����:.�����I.�����P.�����h.�����€.�����›.�� ���ª.�� ���¶.�� ���Â.�����Ï.�� ���à.�����ì.�����þ.�����/�� ���/�����"/�����3/�����M/�����^/�� ���m/�� ���{/�� ���ˆ/�� ���”/�����Ÿ/�����¤/�����©/��#���Ã/��*���ç/�����0�����0�� ���0��&���'0�� ���N0�� ���Z0��2���e0��;���˜0��%���Ô0�����ú0�� ���1�� ���#1�� ���01�����<1�����M1�����b1�����v1�� ���…1��1���“1�� ���Å1�� ���Ó1�� ���á1��&���î1��*���2�����@2�� ���P2�����\2�� ���d2�����q2��$���v2��$���›2�����À2�����Ò2�����×2�� ���æ2�����ô2����� 3�����3�����-3�� ���?3�� ���L3��,���W3�����„3�����¡3��)���À3��'���ê3��'���4�����:4��&���N4�����u4��#���Œ4��&���°4�����×4��"���ö4��†���5����� 5��+���¿5��Y���ë5�����E6�� ���c6��'���„6��'���¬6��`���Ô6��!���57��!���W7��$���y7�� ���ž7��'���¿7�����ç7�����ì7�����ñ7�� ���8�����8�����8�����8��;���28��3���n8��/���¢8��+���Ò8��'���þ8��#���&9�����J9�����j9�����†9�����–9�����œ9�����¢9�����¤9�����¼9�����Ö9��A���ó9��2���5:��1���h:�� ���š:�����¦:�����¹:�����À:�����Ñ:�����â:��"���;�����%;��+���D;��#���p;��,���”;��0���Á;��,���ò;��#���<�����C<�����^<�� ���t<�����•<�����³<�����Ñ<��$���ð<�����=�����+=�����A=�����Q=�����n=��(���~=�����§=�����À=��.���Õ=��2���>�����7>�����R>�����m>��0���†>��3���·>�����ë>�����?�����!?�� ���2?�����@?�����P?�����_?�����s?�����ˆ?�����¡?�����¼?�����Ó?�����ê?�����ÿ?�����@�����*@�����A@�����V@�����l@�� ���~@�����ˆ@�����™@�����®@�����¾@�����Ñ@�����â@�����ó@��#���A��!���(A��'���JA�����rA�����‘A�����ªA��$���¼A��#���áA��%���B�����+B�����KB��-���_B�����B�����ªB�����¯B�����ÎB��$���ìB�����C�����!C�����>C�����ZC�����wC�����‘C�����•C�����¬C��;���ÃC�����ÿC�����D�����.D�����>D�� ���UD�����cD�����tD�� ���†D�����”D�� ���§D�����´D�����ÄD�� ���ÕD�����âD�����òD��,���E��9���1E��8���kE�����¤E�� ���µE�����ÃE��)���ÝE�����F�����F�����3F�����MF�����]F��"���vF��!���™F��%���»F��7���áF�����G�����7G�� ���JG�����TG�����dG�����tG��&���ŠG��8���±G�����êG�����H�����$H�� ���<H�����GH�����\H�����mH�� ���€H�� ���H�����™H�����°H�� ���ÇH�����ÑH��)���ëH�����I�����0I��7���EI�����}I�����„I�����“I�����¢I�����²I�����¹I�����ÀI��J���ÙI�� ���$J�� ���2J�� ���?J�����KJ��(���hJ��>���‘J��@���ÐJ��#���K�����5K�����HK�����NK��*���bK�����K�����¥K�����´K�����ÈK��0���àK��<���L��0���NL�� ���L��,���ŠL��*���·L��3���âL�� ���M�����"M�� ���5M��7���CM��Ù��{M�����UO��•���WO��É���íO�����·P��ã���UQ��M���9R��'���‡R��N���¯R�� ���þR��4��� S��@���?S��Å���€S��û���FT��à���BU��¤���#V�����ÈV�����áV�����æV�����ïV��,���þV�����+W�����?W�����\W�����{W�����˜W��"���«W�����ÎW��$���éW��>���X��!���MX�����oX�����ˆX�����šX�����±X�����ÆX��*���àX��3��� Y�����?Y�����WY�����nY�����‹Y��)���¨Y��2���ÒY�����Z��"���$Z�����GZ�����[Z�����oZ��-���†Z��!���´Z��-���ÖZ�����[�� ���[�����![��#���3[�����W[��$���j[�����[�����“[�����¥[�����Á[�����Ä[��+���ß[����� \�����\�����/\�����?\�����O\�����T\�����Z\�����s\�����\�����—\�����ž\�� ���·\�� ���Á\�� ���Ì\�� ���×\��J���ã\�����.]�����=]�� ���M]�����Z]�����j]�� ���r]�����|]�����…]�����”]�����£]�����ª]�����¯]�����µ]�����»]�����Ì]�����Ô]�����ç]�����î]������^��%���^�����>^�� ���M^�� ���Y^�� ���e^�����r^�� ���ƒ^�����^�����¡^�����²^�� ���º^�����È^�����Ù^�����õ^�����_�� ���_�� ���$_�� ���1_�����=_�� ���L_�����X_�����__��+���~_��%���ª_�����Ð_�����Ó_�� ���×_��+���å_�� ���`�� ���`��E���(`��A���n`��'���°`�����Ø`�� ���ö`�� ���a�� ���a�����a�����/a�����Ea�����Ya�� ���ha��K���va�� ���Âa�� ���Ða�� ���Þa��)���ëa��7���b�����Mb�� ���]b�����ib�����qb�����b��.���ˆb�����·b�����Ób�����åb�����ëb�����úb����� c�����%c�����<c�����Sc�����jc�����zc��7���Šc��'���Âc��)���êc��5���d��3���Jd��5���~d�����´d��/���Ñd�����e��+���!e��3���Me��)���e��/���«e��´���Ûe��/���f��6���Àf��e���÷f��(���]g��+���†g��6���²g��9���ég��z���#h��+���žh��1���Êh��5���üh��/���2i��1���bi�����”i�����™i�����ži�� ���±i�����¼i�����Ái�����Åi��5���Ùi��/���j��+���?j��'���kj��#���“j�����·j�����×j�����ój�� ��� k�����k�����k�����'k�����+k�����Ak�����^k��9���zk��;���´k��7���ðk�����(l�����Bl�����\l�����cl��(���wl����� l��)���¿l��"���él��5��� m��)���Bm��7���lm��;���¤m��/���àm��6���n�����Gn�����en��,���n��"���¬n��&���Ïn��'���ön�����o�� ���:o�����[o�����vo�����”o��"���±o��3���Ôo�����p�����$p��9���>p��2���xp�����«p�����Ëp�����êp��*���q��:���1q��&���lq��+���“q�����¿q�����Öq�����íq�����r�����r�����3r�����Gr�����`r�����vr�����“r�����¯r�� ���Çr�����èr������s�����s�����0s�����Es�����Ys�����bs�����ss�����Žs�����ªs�����Ãs�����Ös�����ès��#����t�����$t��%���Dt�����jt�����‡t�����Ÿt�� ���³t�� ���Ôt�����õt�����u�����2u��/���Iu�����yu�����™u�����žu�� ���¶u��+���×u�����v�����v�����1v�����Gv�����]v�����zv�����~v�����šv��M���µv�����w�����w�����<w�� ���Nw�� ���ow�����}w�����‘w�����£w��!���¶w�����Øw�����ïw�����x�����x�����0x�����Ix��"���`x��/���ƒx��J���³x�����þx�����y�����"y��(���;y�����dy�����|y�����•y�����±y�����Ãy��'���Ûy��%���z�� ���)z��9���Jz�����„z�����Ÿz�����¯z�����¶z�����Çz�����Ûz��.���öz��@���%{�����f{�����‚{�����œ{�����±{�����Á{�����×{�����ì{�����|�����|�����(|�����A|�� ���Y|��"���c|��4���†|�����»|�����Ñ|��C���ñ|�����5}�����<}�����P}�����f}�����}}�����„}�����‹}��Q���ª}�����ü}�����~�����!~��#���2~��$���V~��C���{~��D���¿~��!��������&�����9�����>��0���^�� ��������°�����Ã�����ß��<���þ��S���;€��8���€�����È€��5���×€��(��� ��G���6�����~������� ���Ÿ��4���­�����'��(����������t��…�����6����������/��"�������†��Ê������Ž���A������r������y������þ���ó���������������±���������������ë���½���������‚��.���È�������™���#�������ý���P���¾���o���a���\��›���p���Ì���-��y��W����������”���à�������Ù���h���Q���Â���[��v�����������������l���¦�����8���&���\���ˆ��;����������h��ü��� �������-�����¿���å���%������Ñ���n��������¨���†���)�������Ð���������^�������������…��������������3��q������ò���S���‹�� �������[����������W��O�������L������H��u�������ñ��������������Z���e���,�������·���|��]���5��i���������À���â������ÿ���Î�������`�������������e��1���¡���)��������_�����������������f���i��c������Ü���D���¬������������ ���€��z�����������ô�������m����������õ���n���´�������{��§���Ò�������L�������æ���U���2���l��r��G��/���¯�������Þ���s��a��m���ã���ä�������<������������������������‘���„���ð���E��$������,��������������>������N���}���:����������:���d���÷���I��������������g���6��Ÿ���ˆ�������‰�����������Ë�������µ���‡���D��|���F��v���o��G���Ï�������u��Š��²�������Œ��!���‡�����B�������7���F��� ���°������������������—���Y����×���������ç���Ö���+��=���k��� ��Ø���s���B������¼���+�������?���!����������Œ�������³���ì���������������*��������������Ó���M���M��x�� ���ƒ��Š����������}������­�������c�������0���I���Õ���^��g��ê��� ���¸���0���������������¶���Ã���?��ø���j��©���1��ö���í���~��$���ú�����������k�����@��º�������U���������E�����5���•���Ô���8����S��9���V���Ý���(��H���è���‹�����.������#�����w���������������9��ù���_��������������£���œ�������é���'���=��K������ï���~���q�����������&������T���–����� ��������¹���������‚���Ç���%�������������������®���]������ ������ ���K�������Y���J���Í�������š���3���û�����������É���ž�����Ä�����A������@���T������X������C���2��Å���ƒ���Q��X���¥���{���«���¤���x���4��� ������f��á���b���<��Æ���Á��������������N��P��p��`��t�������„��î���C������V������»�����������Ú���j��� �����€���"������˜���;����������������������7�������������ß���“���*���b��z����4������J�� ������R�����Û�������‰��O��¢����������d��>���’�����Z��w����R���ª���� � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � With no FILE, or when FILE is -, read standard input. � ???� --help display this help and exit � --version output version information and exit � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � (backup: %s)� TTY�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: %s: line number out of range�%s: %s: match not found�%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot overwrite directory�%s: cannot skip�%s: end of file�%s: file too large�%s: file too long�%s: input contains a loop:�%s: input file is output file�%s: integer expected after delimiter�%s: invalid directive�%s: invalid file size�%s: invalid number�%s: invalid pattern�%s: invalid regular expression: %s�%s: line number must be greater than zero�%s: line number out of range�%s: new permissions are %s, not %s�%s: overwrite %s? �%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: replace %s? �%s: unary operator expected�%s: write error�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�, load average: %.2f�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�??? �?????�All requests done�Argument buffer too small�Avail�Available�Bad value for ai_flags�Brian Fox�COMMENT�Chet Ramey�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �David M. Ihnat�David MacKenzie�David Madore�Dmitry V. Levin�EXIT�F. Pinard�FAILED�Filesystem�H. Peter Anvin�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�In real life: �Inodes�Interrupted by a signal�Invalid content of \{\}�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�LINE�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�Non-recoverable failure in name resolution�OK�PID�Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Print CRC checksum and byte counts of each FILE. �Print information about users who are currently logged in. �Print the name of the current user. �Processing request in progress�Project: �Q. Frank Xia�Randy Smith�Request canceled�Request not canceled�Richard M. Stallman�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Russell Coker�Scott Bartram�Scott Miller�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Simon Josefsson�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Torbjorn Granlund�Type�Ulrich Drepper�Unknown error�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Use%�Used�Valid arguments are:�Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �^[nN]�^[yY]�`�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�blocks�cannot access %s�cannot backup %s�cannot change permissions of %s�cannot change root directory to %s�cannot chdir to root directory�cannot combine mode and --reference options�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot do ioctl on %s�cannot fstat %s�cannot get current directory�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot read directory %s�cannot read symbolic link %s�cannot remove %s�cannot run %s�cannot set date�cannot stat %s�cannot un-backup %s�changing group of %s�changing ownership of %s�changing permissions of %s�character out of range�character special file�closing directory %s�closing standard input�couldn't execute %s�couldn't execute %s -d�created directory %s�creating directory %s�creating file %s �directory�division by zero�empty %s not allowed�empty file name�error closing file�error reading %s�error writing %s�extra operand %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to get attributes of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to remove %s�failed to return to initial working directory�field number %s is too large�fifo�file %d is not in sorted order�format %s has no %% directive�format %s has unknown %%%c directive�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid argument %s�invalid argument %s for %s�invalid date %s�invalid date format %s�invalid group�invalid group %s�invalid group: %s�invalid input�invalid integer %s�invalid mode�invalid mode %s�invalid mode: %s�invalid user�invalid user %s�invalid width: %s�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�line number %s is smaller than preceding line number, %s�memory exhausted�message queue�missing argument after %s�missing destination file operand after %s�missing file operand�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s retained as %04lo (%s) �multiple output formats specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no change to ownership of %s �no files remaining�not a tty�number of bytes�number of lines�omitting directory %s�only one type of list may be specified�options --backup and --no-clobber are mutually exclusive�ownership of %s retained �ownership of %s retained as %s �preserving times for %s�read error�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting permissions for %s�shared memory object�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard output�stderr�stdout�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�target %s is not a directory�the delimiter must be a single character�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�too many templates�total�typed memory object�unable to record current working directory�unknown binary operator�unknown stream�unknown user-ID: %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�weird file�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils-7.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2009-03-25 17:13+0200 Last-Translator: Gintautas Miliauskas <gintas@akl.lt> Language-Team: Lithuanian <komp_lt@konferencijos.lt> Language: lt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2; � � Pavyzdžiai: %s f - g IÅ¡vesti f turinį, tada standartinÄ™ įvestį, poto g turinį. %s Kopijuoti standartinÄ™ įvestį į standartinÄ™ iÅ¡vestį. � Pavyzdžiai: %s root /u Pakeisti valdytojÄ… /u į "root". %s root:staff /u PanaÅ¡iai, bet ir pakeisti grupÄ™ į "staff". %s -hR root /u Pakeisti valdytojÄ… /u ir pofailius į "root". � Pavyzdžiai: %s staff /u GrupÄ—s /u pakeitimas į „staff“. %s -hR staff /u GrupÄ—s /u ir jos pofailių pakeitimas į „staff“. � Licencija GPLv3+: GNU GPL versija 3 arba naujesnÄ— <http://gnu.org/licenses/gpl.html>. Tai yra laisva programinÄ— įranga: jÅ«s esate laisvas keisti ir platinti jÄ…. NÄ—ra JOKIOS GARANTIJOS, kiek tik tÄ… leidžia įstatymas. � Jeigu FAILAS yra -, skaityti iÅ¡ standartinÄ—s įvesties. Galimi Å ABLONAI: � Apie %s klaidas praneÅ¡kite adresu %s � Kai nenurodytas FAILAS, arba FAILAS yra -, nuskaityti standartinÄ™ įvestį. � ???� --help parodyti Å¡iÄ… pagalbÄ… ir iÅ¡eiti � --version iÅ¡vesti informacijÄ… apie versijÄ… ir iÅ¡eiti � -b, --bytes=SÄ„RAÅ AS įraÅ¡yti tik tuos baitus -c, --characters=SÄ„RAÅ AS įraÅ¡yti tik tuos ženklus -d, --delimiter=SKIRTUKAS panaudoti SKIRTUKÄ„ vietoj TABo kaip laukų skirtukÄ…. � -f, --fields=SÄ„RAÅ AS pasirinkti tik tuos laukus; taip pat spausdinti linijas, kurios neturi skirtuko ženklo, nebent -s parametras yra apibrėžtas -n (ignoruojama) � -n, --digits=SKAITMENYS naudoti duotÄ… skaiÄių skaitmenų vietoj dviejų -s, --quiet, --silent nerodyti baitų skaiÄiaus paskirties failuose -z, --elide-empty-files paÅ¡alinti tuÅ¡Äius paskirties failus � -t tas pats kaip -vT -T, --show-tabs rodyti TAB simbolį kaip ^I -u (ignoruojamas) -v, --show-nonprinting naudoti ^ ir M- žymÄ—jimÄ…, iÅ¡skyrus LFD ir TAB � (atsarginÄ— kopija: %s)� TTY�%Y-%m-%d�%Y-%m-%d %H:%M�%lu naudotojas�%lu naudotojai�%lu naudotojų�%s -> %s (atkurti) �%s ir %s yra tas pats failas�%s jau yra, bet nÄ—ra aplankas�%s yra nežinomo tipo failas�%s yra per didelis�%s: %s: eilutÄ—s numeris už ribų�%s: %s: nerasta atitikimų�%s: tikÄ—tasi binarinio operatoriaus�%s: galima daryti simbolines nuorodas tik dabartiniame aplanke�%s: nepavyksta perraÅ¡yti aplanko�%s: nepavyksta praleisti�%s: failo pabaiga�%s: failas per didelis�%s: failas per ilgas�%s: įvestis turi ciklÄ…:�%s: įvesties failas yra iÅ¡vesties failas�%s: po skirtuko tikimasi rasti sveikÄ…jį skaiÄių�%s: netinkama direktyva�%s: blogas failo dydis�%s: netaisyklingas skaiÄius�%s: netaisyklingas Å¡ablonas�%s: netaisyklinga paprasta iÅ¡raiÅ¡ka: %s�%s: eilutÄ—s numeris turi bÅ«ti didesnis už nulį�%s: eilutÄ—s numeris už ribų�%s: naujos teisÄ—s yra %s, o ne %s�%s: perraÅ¡yti %s? �%s: skaitymo klaida�%s: paÅ¡alinti %s %s? �%s: rekursyviai paÅ¡alinti visus argumentus? �%s: paÅ¡alinti visus argumentus? �%s: paÅ¡alinti apsaugotÄ… nuo raÅ¡ymo %s %s? �%s: paÅ¡alinta�%s: Å¡alinama�%s: pakeisti %s? �%s: tikÄ—tasi unarinio operatoriaus�%s: raÅ¡ymo klaida�%s:%lu: neatpažintas raktažodis %s�“�tikÄ—tasi „)“�tikÄ—tasi „)“, rasta %s�©�, vidutinÄ— apkrova: %.2f�-R --dereference reikalauja bent -H arba -L�-R -h reikalauja -P�-ef nepriima -l�-nt nepriima -l�-ot nepriima -l�??? �?????�Visos užklausos baigtos�Argumento buferis per mažas�Laisva�Laisva�Bloga ai_flags reikÅ¡mÄ—�Brian Fox�KOMENTARAS�Chet Ramey�Colin Plumb�Palyginti surikiuotus failus FAILAS1 ir FAILAS2 pagal kiekvienÄ… eilutÄ™. �David M. Ihnat�David MacKenzie�David Madore�Dmitry V. Levin�IÅ EITI�F. Pinard�NEPAVYKO�Failų sistema�H. Peter Anvin�LAISVA�ILsv�INd %�INaud�Ian Lance Taylor�Laisvas�Tikrame gyvenime: �Inodes�Nutraukta signalo�Netinkamas \{\} turinys�Netaisyklinga reguliarioji iÅ¡raiÅ¡ka�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�EILUTÄ–�Mark Kettenis�Matthew Bradburn�Atminties iÅ¡skyrimo klaida�BaigÄ—si atmintis�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Prijungta prie�PAVADINIMAS�Vardas�Vardas arba paslauga nežinomi�Su kompiuterio vardu nÄ—ra susietas adresas�Neatstatoma klaida su vardo susiejimu�OK�PID�Padraig Brady�Netaisyklingai užkoduota parametro eilutÄ—�Paul Eggert�Paul Rubin�IÅ¡raÅ¡o patikrinimo sumÄ… CRC ir kiekvieno FAILO baitų skaiÄių. �IÅ¡vesti informacijÄ… apie Å¡iuo metu prisijungusius naudotojus. �iÅ¡vesti dabartinio naudotojo vardÄ…. �Vyksta užklausos apdorojimas�Projektas: �Q. Frank Xia�Randy Smith�Užklausa nutraukta�Užklausa nenutraukta�Richard M. Stallman�Roland McGrath�Ross Paterson�Ä®vykdyti KOMANDÄ„ su Å¡akniniu aplanku, kuris nustatytas į NAUJAÅ AKNIS �Russell Coker�Scott Bartram�Scott Miller�Servname nÄ—ra suderinamas su ai_socktype�Nustatykite LC_ALL='C', jei norite iÅ¡vengti problemos.�Simon Josefsson�Stuart Kemp�SÄ—kmÄ—�Sistemos klaida�LAIKAS�Laikina vardo ieÅ¡kos (name resolution) klaida�Lygintos eilutÄ—s %s ir %s.�Torbjorn Granlund�Tipas�Ulrich Drepper�Nežinoma klaida�Nežinoma sistemos klaida�Nesuderintas ( arba \(�Nesuderintas ) arba \)�Nesuderintas [ arba [^�Nesuderintas \{�Naudojimas: %s �Naudojimas: %s KOMANDA [ARG]... arba: %s PARAMETRAS �Naudojimas: %s PARAMETRAS... FAILAS... �Naudojimas: %s PARAMETRAS... [FAILAS]... �Naudojimas: %s [-PLOTIS] [PARAMETRAS]... [FAILAS]... �Naudojimas: %s [FAILAS]... arba: %s [PARAMETRAS] �Naudojimas: %s [SKAIÄŒIUS]... arba: %s PARAMETRAS �Naudojimas: %s [PARAMETRAS] �Naudojimas: %s [PARAMETRAS] [KOMANDA [ARG]...] �Naudojimas: %s [PARAMETRAS]... �Naudojimas: %s [PARAMETRAS]... APLANKAS... �Naudojimas: %s [PARAMETRAS]... FAILŲ Å ABLONAS... �Naudojimas: %s [PARAMETRAS]... FAILAS... �Naudojimas: %s [PARAMETRAS]... FAILAS1 FAILAS2 �Naudojimas: %s [PARAMETRAS]... BŪSENA[,BŪSENA]... FAILAS... arba: %s [PARAMETRAS]... AÅ TUNT_BŪSENA FAILAS... arba: %s [PARAMETRAS]... --reference=NUOR_FAILAS FAILAS... �Naudojimas: %s [PARAMETRAS]... PAVADINIMAS?... �Naudojimas: %s [PARAMETRAS]... [ FAILAS | ARG1 ARG2 ] �Naudojimas: %s [PARAMETRAS]... [+FORMATAS] arba: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Naudojimas: %s [PARAMETRAS]... [FAILAS] �Naudojimas: %s [PARAMETRAI]... [FAILAS]... �Naudojimas: %s [PARAMETRAS]... [Ä®VESTIS [IÅ VESTIS]] �Naudojimas: %s [PARAMETRAS]... [Ä®VESTIS [PRIEÅ DÄ–LIS]] �Naudojimas: %s [NUSTATYMAS]... [SAVININKAS][:[GRUPÄ–]] FAILAS... arba: %s [NUSTATYMAS]... --reference=RFAILAS FAILAS... �Naudojimas: %s [PARAMETRAS]... [Å ABLONAS] �Naudojimas: %s [PARAMETRAS]... [NAUDOTOJOVARDAS] �Naudojimas: %s [PARAMETRAS]... [NAUDOTOJO_VARDAS]... �Naudojimas: %s [PARAMETRAS]... [NAUDOTOJAS]... �Naudojimas: %s [EILUTÄ–]... arba: %s PARINKTIS �Nd %�Naud�Galimi argumentai:�DÄ—mesio: �Kada�Kur�Parašė %s ir %s. �Parašė %s, %s, %s, %s, %s, %s, %s, %s, %s ir kiti. �Parašė %s, %s, %s, %s, %s, %s, %s, %s ir %s. �Parašė %s, %s, %s, %s, %s, %s, %s ir %s. �Parašė %s, %s, %s, %s, %s, %s ir %s. �Parašė %s, %s, %s, %s, %s ir %s. �Parašė %s, %s, %s, %s ir %s. �Parašė %s, %s, %s ir %s. �Parašė %s, %s ir %s. �Parašė %s. �^[nN]�^[yYtT]�„�ai_family nepalaikoma�ai_socktype nÄ—ra palaikomas�dviprasmis argumentas %s %s�skirtukas gali bÅ«ti pateiktas tik operacijoms su laukais�saugojant %s bÅ«tų sunaikintas Å¡altinis; %s nenukopijuota�saugojant %s bÅ«tų sunaikinta Å¡altinis; %s neperkelta�atsarginÄ—s kopijos tipas�blokinis specialus failas�blokų�negaliu pasiekti %s�nepavyko padaryti atsarginÄ—s %s kopijos�neįmanoma pakeisti %s teisių�nepavyko pakeisti Å¡akninio aplanko į %s�nepavyko atverti Å¡akninio aplanko�nepavyksta suderinti režimo ir --reference parametro�negalima palyginti failų vardų %s ir %s�negalima paversti U+%04X į vietinį simbolių rinkinį�negalima paversti U+%04X į vietinį simbolių rinkinį: %s�negalima kopijuoti aplanko %s į patį save, %s�negalima nukopijuoti cikliÅ¡kos simbolines nuorodos %s�neįmanoma sukurti %s aplanko�negalima sukÅ«rti fifo %s�nepavyko sukurti kietosios nuorodos %s į %s�nepavyko sukurti paprasto failo %s�nepavyksta sukurti specialaus failo %s�negaliu sukurti simbolinÄ—s nuorodos %s�nepavyksta susieti %s su %s�negalima nuimti rodyklÄ—s nuo %s�negaliu įvykdyti ioctl %s�nepavyksta įvykdyti fstat %s�nepavyko gauti esamo aplanko�nepavyko įvykdyti lseek failui %s�nepavyksta sukurti simbolinių bei kietųjų saitų�negalima sukerti %s aplanko�negaliu perkelti %s į %s�nepavyko perkelti %s į žemiau esantį savo aplankÄ…, %s�nepavyko perkelti aplanko ant ne aplanko: %s -> %s�nepavyksta atverti skaitymui %s�nepavyksta atverti %s raÅ¡ymui�nepavyko atverti aplanko %s�nepavyko pakeisti aplanko %s su ne aplanku�nepavyksta perraÅ¡yti ne aplankÄ… %s naudojant aplankÄ… %s�negaliu perskaityti %s aplanko turinio�negaliu perskaityti simbolinÄ—s nuorodos %s�nepavyko paÅ¡alinti %s�nepavyksta paleisti %s�negalima nustatyti datos�nepavyksta patikrinti %s�nepavyko atkurti %s�keiÄiama %s grupÄ—�keiÄiamas %s savininkas�keiÄiamos %s teisÄ—s�simbolis už intervalo ribų�specialus simbolinis failas�užveriamas aplankas %s�užveriama standartinÄ— įvestis�nepavyksta įvykdyti %s�nepavyksta įvykdyti %s -d�sukurtas aplankas %s�kuriamas aplankas %s�kuriamas failas %s �aplankas�dalyba iÅ¡ nulio�neleidžiamas tuÅ¡Äias %s�tuÅ¡Äias failo pavadinimas�klaida užveriant failÄ…�klaida skaitant %s�klaida raÅ¡ant %s�papildomas operandas %s�Nepavyko pakeisti %s grupÄ—s į %s �nepavyko pakeisti %s savininko �Nepavyko pakeisti %s savininko į %s �nepavyko gauti %s parametrų�nepavyko rasti failo %s�nepavyko atverti %s�nepavyko iÅ¡laikyti %s autoriaus�nepavyko iÅ¡laikyti %s savininko�nepavyko iÅ¡laikyti %s teisių�nepavyko iÅ¡laikyti %s laikų�nepavyko paÅ¡alinti %s�nepavyko grįžti į pradinį darbinį aplankÄ…�laukelio numeris %s per didelis�fifo�failas %d nesurikiuotas�formatas %s neturi %% direktyvos�formatas %s turi nežinomÄ… %%%c direktyvÄ…�nepavyko fts_read�gaunami nauji %s parametrai�%s grupÄ— iÅ¡liko %s �nÄ—ra iconv funkcijos�iconv funkcija nepanaudojama�id=�ignoruojami visi argumentai�įvesties eilutÄ— per ilga�nepavyko perkÄ—limas tarp įrenginių: %s į %s; nepavyksta paÅ¡alinti tikslo�netinkamas argumentas %s�netaisyklingas argumentas %s %s�klaidinga data %s�netaisyklingas datos formatas %s�nesama grupÄ—�netinkama grupÄ— %s�nesama grupÄ—: %s�netinkama įvestis�netinkamas sveikasis skaiÄius %s�netaisyklinga veiksena�netinkamos teisÄ—s %s�netinkamas režimas: %s�nesamas naudotojas�netinkamas naudotojas %s�netinkamas plotis: %s�pavojinga dirbti rekursyviai su %s�pavojinga dirbti rekursyviai su %s (kaip ir %s)�eilutÄ—s numeris %s mažesnis už prieÅ¡ jÄ… esanÄios eilutÄ—s numeris %s�baigÄ—si atmintis�praneÅ¡imų eilÄ—�trÅ«ksta argumento po %s�trÅ«ksta paskirties failo operando po %s�trÅ«ksta failo operando�trÅ«ksta laukų sÄ…raÅ¡o�trÅ«ksta pozicijų sÄ…raÅ¡o�trÅ«ksta operando�po %s trÅ«ksta operando�%s teisÄ—s iÅ¡laikytos kaip %04lo (%s) �buvo pateikta daug iÅ¡eities formatų�nurodyta keletas tikslo aplankų�nei simbolinÄ— nuoroda %s nei referentas nebuvo pakeisti �nepakeistas %s savininkas �nebeliko failų�ne tty�baitų skaiÄius�eiluÄių skaiÄius�praleidžiamas aplankas %s�gali bÅ«ti nurodytas tik vienas sÄ…raÅ¡o tipas�parametrai --backup ir --no-clobber negali bÅ«ti naudojami kartu�%s sÄ…vininkas iÅ¡laikytas �%s savininkas iÅ¡liko %s �iÅ¡laikomos %s datos�skaitymo klaida�skaitomas aplankas %s�įraÅ¡as per didelis�paprastas tuÅ¡Äias failas�paprastas failas�paÅ¡alintas %s �Å¡alinamas aplankas: %s �Å¡alinamas aplankas, %s�semaforas�atskyriklis negali bÅ«ti tuÅ¡Äias�nustatykite LC_ALL='C', kad iÅ¡vengtumÄ—te problemos�nustatomos %s teisÄ—s�bendrosios atmintinÄ—s objektas�failas %s praleidžiamas, jis buvo pakeistas, kol buvo kopijuojamas�lizdas�standartinÄ— klaida�standartinÄ— įvestis�standartinÄ— iÅ¡vestis�stderr�stdout�nepavyko eiluÄių palyginimas�linijų be skirtukų rodymo blokavimas yra prasmingas tik operacijoms su laukais�simbolinÄ— nuoroda�sintaksÄ—s klaida�sistemos įkrova�paskirties vieta %s yra ne aplankas�skirtukas turi bÅ«ti vienas simbolis�parametrai datos ir laiko spausdinimui negali bÅ«ti naudojami kartu�parametrai specifikuojantys datas spausdinimui iÅ¡skiria vieni kitus�buvo palygintos eilutÄ—s %s ir %s�per daug Å¡ablonų�viso�tipizuotos atmintinÄ—s objektas�neįmanoma įraÅ¡yti dabartinio darbinio aplanko�nežinomas binarinis operatorius�nežinomas srautas�nežinomas naudotojo-ID: %s�neatpažintas prieÅ¡dÄ—lis: %s�NorÄ—dami apeiti Å¡iÄ… apsaugÄ… naudokite --no-preserve-root�perspÄ—jimas: eilutÄ—s numeris %s yra toks pats, kaip prieÅ¡ jÄ… esanÄios eilutÄ—s�perspÄ—jimas: iÅ¡eities failas %s nurodytas kelis kartus�keistas failas�nepavyko sukurti kietosios nuorodos %s į aplankÄ… %s�nebus perraÅ¡oma, tik sukuriama %s su %s�naudojant --parents parametrÄ…, paskirties vieta privalo bÅ«ti aplankas�raÅ¡ymo klaida�%s raÅ¡ymo klaida�raÅ¡oma į %s�turite pateikti baitų, ženklų ar laukų sÄ…rašą�������������������������������coreutils-8.21/po/boldquot.sed����������������������������������������������������������������������0000664�0000000�0000000�00000000331�11624730202�013304� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/hr.po�����������������������������������������������������������������������������0000664�0000000�0000000�00000756533�12107204510�011750� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Translation of coreutils to Croatian. # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012. msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.19\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-10-01 17:38+0200\n" "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n" "Language-Team: Croatian <lokalizacija@linux.hr>\n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.4\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "neispravan argument %s za %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "viÅ¡eznaÄan argument %s za %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Ispravni argumenti su:" #: lib/closein.c:100 msgid "error closing file" msgstr "greÅ¡ka pri zatvaranju datoteke" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "greÅ¡ka pisanja" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "Äuvam dozvole za %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Nepoznata greÅ¡ka sustava" #: lib/file-type.c:38 msgid "regular empty file" msgstr "obiÄna prazna datoteka" #: lib/file-type.c:38 msgid "regular file" msgstr "obiÄna datoteka" #: lib/file-type.c:41 msgid "directory" msgstr "direktorij" #: lib/file-type.c:44 msgid "block special file" msgstr "posebna blokovska datoteka" #: lib/file-type.c:47 msgid "character special file" msgstr "posebna znakovna datoteka" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "simboliÄka veza" #: lib/file-type.c:56 msgid "socket" msgstr "utiÄnica" #: lib/file-type.c:59 msgid "message queue" msgstr "red poruka" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "dijeljeni memorijski objekt" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tipizirani memorijski objekt" #: lib/file-type.c:70 msgid "weird file" msgstr "Äudna datoteka" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Obitelj adresa za ime raÄunala nije podržana" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Privremena greÅ¡ka u rezoluciji imena" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Neispravna vrijednost za ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Neoporavljiv neuspjeh u rezoluciji imena" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family nije podržano" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Neuspjeh alokacije memorije" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Nema adrese dodijeljene imenu raÄunala" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Ime ili usluga nisu poznati" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname nije podržano za ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype nije podržano" #: lib/gai_strerror.c:67 msgid "System error" msgstr "GreÅ¡ka sustava" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "MeÄ‘uspremnik argumenata je premalen" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Obrada zahtjeva u tijeku" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Zahtjev otkazan" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Zahtjev nije otkazan" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Svi zahtjevi su obraÄ‘eni" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Prekinut signalom" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Niz parametara nije pravilno kodiran" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Nepoznata greÅ¡ka" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opcija „%s†je viÅ¡eznaÄna; mogućnosti:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opcija „--%s†ne dozvoljava argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opcija „%c%s†ne dozvoljava argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opcija „--%s†zahtijeva argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: neprepoznata opcija „--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: neprepoznata opcija „%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neispravna opcija -- „%câ€\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcija zahtijeva argument -- „%câ€\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opcija „-W %s†je viÅ¡eznaÄna\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opcija „-W %s†ne dozvoljava argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opcija „-W %s†zahtijeva argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "ne mogu promijeniti dozvole %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "ne mogu napraviti direktorij %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memorija iscrpljena" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ne mogu zapisati trenutni radni direktorij" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "nisam se uspio vratiti u poÄetni radni direktorij" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: kraj datoteke" #: lib/regcomp.c:131 msgid "Success" msgstr "Uspjeh" #: lib/regcomp.c:134 msgid "No match" msgstr "Nema poklapanja" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Neispravan regularni izraz" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Neispravan znak razvrstavanja" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Neispravno ime razreda znakova" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Obrnuta kosa crta na kraju" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Neispravna povratna referenca" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Neuparena [ ili [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Neuparena ( ili \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Neuparena \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Neispravan sadržaj \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Neispravan kraj raspona" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memorija iscrpljena" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Neispravan prethodni regularni izraz" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Preuranjen kraj regularnog izraza" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regularni izraz je prevelik" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Neuparena ) ili \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Nedostaje prethodni regularni izraz" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "opasno je rekurzivno raditi na %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "opasno je rekurzivno raditi na %s (isto kao %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "koristite --no-preserve-root za zaobilaženje ove zaÅ¡tite" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[dDyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "postavljam dozvole za %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "ZavrÅ¡etak" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Prekid" #: lib/siglist.h:37 msgid "Quit" msgstr "IzaÄ‘i" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Nedozvoljena instrukcija" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Zamka za praćenje/prekidnu toÄku" #: lib/siglist.h:46 msgid "Aborted" msgstr "Prekinut" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Iznimka pomiÄnog zareza" #: lib/siglist.h:52 msgid "Killed" msgstr "Prekinut" #: lib/siglist.h:55 msgid "Bus error" msgstr "SabirniÄka greÅ¡ka" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmentacijska greÅ¡ka" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Prekinut cjevovod" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Budilica" #: lib/siglist.h:67 msgid "Terminated" msgstr "ZavrÅ¡en" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Hitno U/I stanje" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Zaustavljen (signalom)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Zaustavljen" #: lib/siglist.h:79 msgid "Continued" msgstr "Nastavljen" #: lib/siglist.h:82 msgid "Child exited" msgstr "Dijete je zavrÅ¡ilo" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Zaustavljen (tty ulaz)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Zaustavljen (tty izlaz)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "U/I moguć" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "prekoraÄeno ograniÄenje CPU vremena" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "PrekoraÄeno ograniÄenje veliÄine datoteke" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtualna Å¡toperica istekla" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Å toperica profiliranja istekla" #: lib/siglist.h:106 msgid "Window changed" msgstr "Promijenjen prozor" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "KorisniÄki definiran signal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "KorisniÄki definiran signal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT zamka" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Neispravan sistemski poziv" #: lib/siglist.h:123 msgid "Stack fault" msgstr "GreÅ¡ka stoga" #: lib/siglist.h:126 msgid "Information request" msgstr "Zahtjev za informacijom" #: lib/siglist.h:128 msgid "Power failure" msgstr "Prekid napajanja" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Resurs izgubljen" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "ne mogu napraviti cjevovod" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "%s potproces nije uspio" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Signal u stvarnom vremenu %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Nepoznat signal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv funkcija se ne može koristiti" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv funkcija nije dostupna" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "znak izvan raspona" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "ne mogu pretvoriti U+%04X u lokalni skup znakova" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "ne mogu pretvoriti U+%04X u lokalni skup znakova: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "neispravan korisnik" #: lib/userspec.c:107 msgid "invalid group" msgstr "neispravna grupa" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "ne mogu prikazati poruku greÅ¡ke" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakirao %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakirao %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licenca GPLv3+: GNU GPL inaÄica 3 ili kasnija <http://gnu.org/licenses/gpl." "html>.\n" "Ovo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n" "NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Napisao %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Napisali %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Napisali %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Napisali %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s, %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Napisali %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s i ostali.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Prijavite greÅ¡ke na %s.\n" "Prijavite greÅ¡ke prijevoda na <lokalizacija@linux.hr>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Prijavite greÅ¡ke %s na %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s poÄetna stranica: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s poÄetna stranica: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Općenita pomoć za koriÅ¡tenje GNU softvera: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle nije uspio" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "ne mogu vratiti fd %d: dup2 nije uspio" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "%s potproces" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "%s potproces je dobio fatalni signal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standardni ulaz" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standardni izlaz" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standardni izlaz za greÅ¡ke" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "nepoznat tok podataka" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "nisam uspio ponovo otvoriti %s s modom %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "usporedba nizova nije uspjela" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Postavite LC_ALL='C' kako biste zaobiÅ¡li problem." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "UsporeÄ‘eni nizovi su %s i %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "ne mogu izvrÅ¡iti oblikovani ispis" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "neispravan %s%s argument „%sâ€" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "neispravan sufiks u %s%s argumentu „%sâ€" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s argument „%s†je prevelik" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "greÅ¡ka Äitanja" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "neispravan ulaz" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "operand viÅ¡ka %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "zatvaram standardni ulaz" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Uporaba: %s IME [SUFIKS]\n" " ili: %s OPCIJA... IME...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "nedostaje operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Uporaba: %s [OPCIJA]... [DATOTEKA]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ne mogu izvrÅ¡iti ioctl na %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standardni izlaz" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: ulazna datoteka je izlazna datoteka" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "nisam uspio napraviti sigurnosni kontekst: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "nisam uspio dohvatiti sigurnosni kontekst %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "ne mogu primijeniti djelomiÄni kontekst neoznaÄenoj datoteci %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "nisam uspio promijeniti kontekst %s u %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "ne mogu pristupiti %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "ne mogu Äitati direktorij %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "mijenjam sigurnosni kontekst %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read nije uspio" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close nije uspio" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [OPCIJA]... KONTEKST DATOTEKA...\n" " ili: %s [OPCIJA]... [-u KORISNIK] [-r ULOGA] [-l RASPON] [-t VRSTA] " "DATOTEKA...\n" " ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "nedostaje operand nakon %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "neispravan kontekst: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "nisam uspio otkriti svojstva %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "neispravna grupa: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [OPCIJA]... GRUPA DATOTEKA...\n" " ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "mijenjam dozvole %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nove dozvole su %s, ne %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Uporaba: %s [OPCIJA]... MOD[,MOD]... DATOTEKA...\n" " ili: %s [OPCIJA]... OKTALNI-MOD DATOTEKA...\n" " ili: %s [OPCIJA]... --reference=REFDATOTEKA DATOTEKA...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "nisam uspio ponovo otvoriti %s s modom %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "ne mogu pristupiti %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "" #: src/cut.c:872 msgid "missing list of positions" msgstr "" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:1218 msgid "invalid conversion" msgstr "" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "" #: src/dd.c:1227 msgid "invalid status flag" msgstr "" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "" #: src/df.c:1335 msgid "warning: " msgstr "" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "" #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "neispravan %s%s argument „%sâ€" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "" #: src/head.c:886 msgid "number of bytes" msgstr "" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "" #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "" #: src/md5sum.c:597 msgid "OK" msgstr "" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "neispravan kontekst: %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "neispravan sufiks u %s%s argumentu „%sâ€" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "neispravan kontekst: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Uporaba: %s [OPCIJA]... [DATOTEKA]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "neispravan sufiks u %s%s argumentu „%sâ€" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "neispravan %s%s argument „%sâ€" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "neispravan %s%s argument „%sâ€" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "neispravan %s%s argument „%sâ€" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "nisam uspio promijeniti kontekst %s u %s" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "" #: src/sort.c:970 msgid "fflush failed" msgstr "" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "" #: src/sort.c:1755 msgid "read failed" msgstr "" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "" #: src/sort.c:3698 msgid "cannot read" msgstr "" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 msgid "unknown binary operator" msgstr "" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 msgid "missing ']'" msgstr "" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ako DATOTEKA nije navedena ili je „-â€, Äitaj standardni ulaz.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr "" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "" #: src/who.c:559 msgid "TIME" msgstr "" #: src/who.c:559 msgid "IDLE" msgstr "" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/nl.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001514711�12107204512�011741� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dutch translations for GNU coreutils. # Copyright (C) 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # "Non vi sed amore." # # Benno Schulenberg <benno@vertaalt.nl>, 2008, 2010, 2011, 2012, 2013. # Freek de Kruijf <f.de.kruijf@gmail.com>, 2004, 2005, 2006, 2007, 2008, 2009, 2010. # Ivo Timmermans <ivo@o2w.nl>, 2000. # Erick Branderhorst <branderh@debian.org>, 1996. msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre2\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-10 09:37+0100\n" "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Lokalize 1.0\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ongeldig argument %s van %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s van %s is niet eenduidig" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Geldige argumenten zijn:" #: lib/closein.c:100 msgid "error closing file" msgstr "fout bij sluiten van bestand" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "fout bij schrijven" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "behouden van toegangsrechten van %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Onbekende systeemfout" #: lib/file-type.c:38 msgid "regular empty file" msgstr "leeg normaal bestand" #: lib/file-type.c:38 msgid "regular file" msgstr "normaal bestand" #: lib/file-type.c:41 msgid "directory" msgstr "map" #: lib/file-type.c:44 msgid "block special file" msgstr "blok-apparaat" #: lib/file-type.c:47 msgid "character special file" msgstr "byte-apparaat" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolische koppeling" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "berichtenwachtrij" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafoor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "gedeeld geheugenobject" #: lib/file-type.c:68 msgid "typed memory object" msgstr "zelfstandig geheugenobject" #: lib/file-type.c:70 msgid "weird file" msgstr "merkwaardig bestand" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Adresfamilie voor hostnaam wordt niet ondersteund" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Tijdelijk probleem in naamsherleiding" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ongeldige waarde voor 'ai_flags'" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Onherstelbaar probleem in naamsherleiding" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "'ai_family' wordt niet ondersteund" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Onvoldoende geheugen beschikbaar" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Aan hostnaam is geen adres verbonden" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Naam of dienst is onbekend" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servicenaam wordt niet ondersteund voor 'ai_socktype'" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "'ai_socktype' wordt niet ondersteund" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Systeemfout" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumentenbuffer is te klein" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Bezig met verwerken van verzoek" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Verzoek is geannuleerd" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Verzoek is niet geannuleerd" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Alle verzoeken zijn gedaan" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Onderbroken door een signaal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parametertekst is niet juist gecodeerd" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Onbekende fout" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: optie '--%s' vereist een argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende optie '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ongeldige optie -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: optie vereist een argument -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: optie '-W %s' vereist een argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kan de toegangsrechten van %s niet veranderen" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "kan map %s niet aanmaken" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "onvoldoende geheugen beschikbaar" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "kan de huidige werkmap niet vastleggen" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "kan niet terugkeren naar de oorspronkelijke werkmap" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "‘" #: lib/quotearg.c:313 msgid "'" msgstr "’" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: einde van bestand" #: lib/regcomp.c:131 msgid "Success" msgstr "Gelukt" #: lib/regcomp.c:134 msgid "No match" msgstr "Geen overeenkomsten" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" # Zie http://mailman.vrijschrift.org/pipermail/vertaling/2005-August/004670.html #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ongeldig samengesteld teken" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ongeldige tekenklassenaam" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Backslash aan het eind" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ongeldige terugverwijzing" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Ongepaarde [ of [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Ongepaarde ( of \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Ongepaarde \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ongeldige inhoud van \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ongeldig bereikeinde" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Onvoldoende geheugen beschikbaar" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ongeldige voorafgaande reguliere expressie" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Voortijdig einde van reguliere expressie" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Reguliere expressie is te groot" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Ongepaarde ) of \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "het is gevaarlijk om recursief op %s te werken" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "het is gevaarlijk om recursief op %s te werken (hetzelfde als %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "gebruik '--no-preserve-root' om deze drempel te omzeilen" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "instellen van toegangsrechten van %s" # Vroeger ging dit over het afsluiten van een modemverbinding, # tegenwoordig over het afsluiten van een pseudoterminal. #: lib/siglist.h:31 msgid "Hangup" msgstr "Opgehangen" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Onderbroken" # Verleden tijd, "Afgesloten", net als de andere actiesignaalnamen. #: lib/siglist.h:37 msgid "Quit" msgstr "Afgesloten" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Ongeldige instructie" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Traceer-/breekpunt-instructie" #: lib/siglist.h:46 msgid "Aborted" msgstr "Afgebroken" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Drijvendekomma-berekeningsfout" #: lib/siglist.h:52 msgid "Killed" msgstr "Geëlimineerd" #: lib/siglist.h:55 msgid "Bus error" msgstr "Busfout" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmentatiefout" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Gebroken pijp" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Wekker" #: lib/siglist.h:67 msgid "Terminated" msgstr "Beëindigd" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Urgente in-/uitvoertoestand" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Gepauzeerd (signaal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Gepauzeerd" #: lib/siglist.h:79 msgid "Continued" msgstr "Doorgegaan" #: lib/siglist.h:82 msgid "Child exited" msgstr "Dochterproces is afgesloten" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Gepauzeerd (terminalinvoer)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Gepauzeerd (terminaluitvoer)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "In-/uitvoer is mogelijk" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Limiet op processortijd is overschreden" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Limiet op bestandsgrootte is overschreden" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuele timer is afgelopen" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Timer voor profilering is afgelopen" #: lib/siglist.h:106 msgid "Window changed" msgstr "Venster is veranderd" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Gebruikergedefinieerd signaal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Gebruikergedefinieerd signaal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT-instructie" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Onjuiste systeemaanroep" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Stack-fout" #: lib/siglist.h:126 msgid "Information request" msgstr "Verzoek om informatie" #: lib/siglist.h:128 msgid "Power failure" msgstr "Stroomstoring" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Hulpbron verloren" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "kan geen pijp aanmaken" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "subproces %s is mislukt" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Realtime-signaal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Onbekend signaal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "de functie iconv() is onbruikbaar" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "de functie iconv() is niet beschikbaar" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "teken ligt buiten toegestaan bereik" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "kan U+%04X niet converteren naar de lokale tekenset" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "kan U+%04X niet converteren naar de lokale tekenset: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ongeldige gebruiker" #: lib/userspec.c:107 msgid "invalid group" msgstr "ongeldige groep" #: lib/userspec.c:108 msgid "invalid spec" msgstr "ongeldige aanduiding" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "kan foutmelding niet tonen" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "In pakketvorm gebracht door %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "In pakketvorm gebracht door %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n" "De precieze licentie is GPL-3+: GNU General Public License versie 3 of " "later.\n" "Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n" "Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Geschreven door %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Geschreven door %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Geschreven door %s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschreven door %s, %s, %s\n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s\n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Geschreven door %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s en anderen.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapporteer gebreken in het programma aan <%s>;\n" "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" "Rapporteer gebreken in het programma '%s' aan <%s>;\n" "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Webpagina van %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle() is mislukt" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "kan bestandsdescriptor %d niet herstellen: dup2() is mislukt" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "subproces %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "subproces %s ontving het fatale signaal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "standaardinvoer" #: lib/xfreopen.c:36 msgid "stdout" msgstr "standaarduitvoer" #: lib/xfreopen.c:37 msgid "stderr" msgstr "standaardfoutuitvoer" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "onbekende gegevensstroom" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "opnieuw openen van %s in modus %s is mislukt" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "vergelijken van tekenreeksen is mislukt" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Zet LC_ALL='C' om het probleem te omzeilen." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "De te vergelijken tekenreeksen waren %s en %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "kan geen opgemaakte uitvoer aanmaken" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "ongeldig argument '%3$s' van %1$s%2$s" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ongeldig achtervoegsel in argument '%3$s' van %1$s%2$s" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argument '%3$s' van %1$s%2$s is te groot" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Gebruik: %s [OPTIE...] [BESTAND]\n" "\n" "Codeert of decodeert het gegeven BESTAND (of standaardinvoer)\n" "volgens de base64-methode naar standaarduitvoer.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode de gegevens decoderen\n" " -i, --ignore-garbage (bij decoderen) niet-alfabetische tekens negeren\n" " -w, --wrap=AANTAL naar de volgende regel gaan na dit aantal " "gecodeerde\n" " tekens (standaard 76); gebruik 0 voor één lange " "regel\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "De gegevens zijn gecodeerd in het base64-alfabet zoals beschreven in RFC " "3548.\n" "Bij decodering mag de invoer naast de formele tekens van het base64-alfabet\n" "ook nog nieuweregel-tekens bevatten. Met '--ignore-garbage' kunt u " "proberen\n" "over andere niet-alfabetische tekens in de gecodeerde reeks bytes te " "stappen.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "fout bij lezen" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ongeldige invoer" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ongeldige waarde van optie '-w'/'--wrap': %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "overtollig argument: %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "sluiten van standaardinvoer" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Gebruik: %s NAAM [ACHTERVOEGSEL]\n" " of: %s OPTIE... NAAM...\n" "\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Toont de NAAM zonder de voorafgaande mapcomponenten.\n" "Indien gegeven, wordt ook het ACHTERVOEGSEL verwijderd.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple meerdere argumenten toestaan en elk als NAAM " "behandelen\n" " -s, --suffix=AVGSL dit achtervoegsel verwijderen\n" " -z, --zero elke regel afsluiten met 0-byte, niet met " "nieuweregel\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Voorbeelden:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a een/rks1 een/rks2 -> \"rks1\" gevolgd door \"rks2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "ontbrekend argument" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" "Gebruik: %s [OPTIE...] [BESTAND...]\n" "\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "De gegeven bestanden (of standaardinvoer) samenvoegen naar " "standaarduitvoer.\n" "\n" " -A, --show-all hetzelfde als '-vET'\n" " -b, --number-nonblank niet-blanco uitvoerregels nummeren (negeert '-" "n')\n" " -e hetzelfde als '-vE'\n" " -E, --show-ends een $ weergeven aan het einde van elke regel\n" " -n, --number alle uitvoerregels nummeren\n" " -s, --squeeze-blank opeenvolgende blanco regels comprimeren tot één\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t hetzelfde als '-vT'\n" " -T, --show-tabs tab-tekens weergeven met ^I\n" " -u (genegeerde optie)\n" " -v, --show-nonprinting notatie met ^ en M- gebruiken, behalve voor LF/" "TAB\n" "\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Voorbeelden:\n" " %s f - g Toont de inhoud van f, dan standaardinvoer, dan de inhoud van " "g.\n" " %s Kopieert standaardinvoer naar standaarduitvoer.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "kan geen ioctl() doen op %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standaarduitvoer" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: invoerbestand is gelijk aan uitvoerbestand" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "kan beveiligingscontext %s niet aanmaken" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "kan component %s van beveiligingscontext niet instellen op %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "kan de beveiligingscontext van %s niet verkrijgen" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "kan gedeeltelijke context niet toepassen op ongelabeld bestand %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "kan de context van %s niet veranderen naar %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "kan geen toegang krijgen tot %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "kan map %s niet lezen" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "veranderen van beveiligingscontext van %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read() is mislukt" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close() is mislukt" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik: %s [OPTIE...] CONTEXT BESTAND...\n" " of: %s [OPTIE...] [-u GBRKR] [-r ROL] [-l BEREIK] [-t TYPE] " "BESTAND...\n" " of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...\n" "\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Verandert de beveiligingscontext van elk gegeven BESTAND naar CONTEXT.\n" "\n" "Als '--reference' gegeven is, dan wordt de beveiligingscontext van elk " "BESTAND\n" "veranderd naar die van REFERENTIEBESTAND.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference niet de symbolische koppelingen bewerken maar\n" "\" de bestanden waarnaar ze verwijzen (standaard)\n" "\" -h, --no-dereference de symbolische koppelingen zelf bewerken in " "plaats\n" " van de bestanden waarnaar ze verwijzen\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=GEBRUIKER deze gebruiker instellen in doel-" "beveiligingscontext\n" " -r, --role=ROL deze rol instellen in de doel-beveiligingscontext\n" " -t, --type=TYPE dit type instellen in de doel-beveiligingscontext\n" " -l, --range=BEREIK dit bereik instellen in de doel-" "beveiligingscontext\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root '/' niet speciaal behandelen (standaard)\n" " --preserve-root op '/' niet recursief werken\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=REFBESTAND de beveiligingscontext van REFBESTAND " "gebruiken\n" " in plaats van een CONTEXT-waarde\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive bestanden en mappen recursief behandelen\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr " -v, --verbose een melding geven voor elk gezien bestand\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "De volgende opties veranderen de wijze van doorlopen van de " "mappenhiërarchie\n" "als optie '-R' gegeven is. Bij meerdere van deze opties, geldt de laatste.\n" "\n" " -H als een argument op de opdrachtregel een symbolische koppeling\n" " naar een map is, dan deze map doorlopen\n" " -L elke symbolische koppeling naar een map volgen\n" " -P symbolische koppelingen niet volgen (standaard)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "de combinatie '-R --dereference' vereist of '-H' of '-L'" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "de combinatie '-R -h' vereist '-P'" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "ontbrekend argument na %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "ongeldige context: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "conflicterende specificaties voor beveiligingscontext gegeven" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "kan de eigenschappen van %s niet verkrijgen" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "ongeldige groep: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik: %s [OPTIE...] GROEP BESTAND...\n" " of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...\n" "\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "De beveiligingscontext van elk gegeven BESTAND veranderen naar CONTEXT.\n" "Als '--reference' gegeven is, dan de beveiligingscontext van elk BESTAND\n" "veranderen naar die van REFERENTIEBESTAND.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes een melding geven voor elk veranderd bestand\n" " -f, --silent, --quiet de meeste foutmeldingen onderdrukken\n" " -v, --verbose een melding geven voor elk gezien bestand\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (alleen nuttig op systemen waar de eigenaar van\n" " een symbolische koppeling veranderd kan " "worden)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFBSTND de groep van RFBSTND gebruiken i.p.v. GROEP-" "waarde\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Voorbeelden:\n" " %s team /w Verandert de groep van /w naar \"team\".\n" " %s -hR team /w Verandert de groep van /w en subbestanden naar \"team\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "verkrijgen van nieuwe eigenschappen van %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "noch de symbolische koppeling %s noch waar deze naar verwijst is veranderd\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "modus van %s is veranderd van %04lo (%s) naar %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "kan modus van %s niet veranderen van %04lo (%s) naar %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "modus van %s blijft %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "kan niet werken op loze symbolische koppeling %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "veranderen van toegangsrechten van %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nieuwe toegangsrechten zijn %s, niet %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik: %s [OPTIE...] MODUS[,MODUS...] BESTAND\n" " of: %s [OPTIE...] OCTALE_MODUS BESTAND...\n" " of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...\n" "\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "De beveiligingscontext van elk gegeven BESTAND veranderen naar CONTEXT.\n" "Als '--reference' gegeven is, dan de beveiligingscontext van elk BESTAND\n" "veranderen naar die van REFERENTIEBESTAND.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFBSTND modus van RFBSTND gebruiken i.p.v. een MODUS-" "waarde\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive bestanden en mappen recursief behandelen\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Iedere MODUS is van de vorm '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "een expliciete modus gaat niet samen met optie '--reference'" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "ongeldige modus: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "de eigenaar van %s is veranderd van %s naar %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "de groep van %s is veranderd van %s naar %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "de eigenaar van %s is onveranderd\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "kan de eigenaar van %s niet veranderen van %s naar %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "kan de groep van %s niet veranderen van %s naar %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "kan de eigenaar van %s niet veranderen\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "kan de eigenaar van %s niet veranderen naar %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "kan de groep van %s niet veranderen naar %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "de eigenaar van %s blijft %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "de groep van %s blijft %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "de eigenaar van %s blijft dezelfde\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "kan symbolische koppeling %s niet volgen" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "veranderen van de eigenaar van %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "veranderen van de groep van %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik: %s [OPTIE...] [EIGENAAR][:[GROEP]] BESTAND...\n" " of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...\n" "\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "De eigenaar en/of groep van elk gegeven BESTAND veranderen naar de gegeven\n" "EIGENAAR en/of GROEP, of naar de eigenaar en groep van REFERENTIEBESTAND.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=HUIDIGE_EIGENAAR:HUIDIGE_GROEP\n" " eigenaar en/of groep van een bestand alleen " "wijzigen\n" " als huidige eigenaar en groep overeenkomen met " "de\n" " hier gegeven; één van de elementen mag " "weggelaten\n" " worden, een overeenkomst daarmee is dan niet " "vereist\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RFBSTND de eigenaar en groep van RFBSTND gebruiken\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Als EIGENAAR ontbreekt, blijft deze onveranderd.\n" "Als GROEP ontbreekt, blijft deze onveranderd, tenzij met een ':'\n" "na een symbolische EIGENAAR impliciet de inloggroep gegeven is.\n" "Verder mogen EIGENAAR en GROEP zowel numeriek als symbolisch zijn.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Voorbeelden:\n" " %s root /w Verandert de eigenaar van /w naar \"root\".\n" " %s root:team /w Idem, maar verandert ook de groep naar \"team\".\n" " %s -hR root /w Verandert de eigenaar van /w en subbestanden naar \"root" "\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "ongeldige groep: %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "ongeldige groepslijst: %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "instellen van aanvullende groepen is mislukt" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [OPTIE] DOELMAP [COMMANDO [ARGUMENT...]]\n" " of: %s OPTIE\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Het gegeven COMMANDO (plus ARGUMENTEN) uitvoeren met DOELMAP als basismap.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=GEBRUIKER:GROEP te gebruiken gebruiker en groep (ID of naam)\n" " --groups=GROEPENLIJST extra groepen (kommagescheiden lijst)\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Als geen commando gegeven is, dan '${SHELL} -i' uitvoeren (standaard: /bin/" "sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "kan '%s' niet als basismap instellen" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "kan hoofdmap niet als huidige map instellen" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "instellen van groeps-ID is mislukt" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "instellen van gebruikers-ID is mislukt" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "kan commando %s niet uitvoeren" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: bestand is te lang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Gebruik: %s [BESTAND...]\n" " of: %s [OPTIE]\n" "\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "De CRC-controlesom en het aantal bytes tonen van elk gegeven BESTAND.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" "Gebruik: %s [OPTIE...] BESTAND1 BESTAND2\n" "\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "De gesorteerde bestanden BESTAND1 en BESTAND2 regel voor regel vergelijken.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Zonder opties worden drie kolommen getoond. De eerste kolom bevat de " "regels\n" "die uniek zijn voor BESTAND1, de tweede kolom de regels die uniek zijn voor\n" "BESTAND2, en de derde kolom de regels die in beide bestanden voorkomen.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 regels die alleen in BESTAND1 voorkomen weglaten\n" " -2 regels die alleen in BESTAND1 voorkomen weglaten\n" " -3 regels die in beide bestanden voorkomen weglaten\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order controleren of de invoer juist gesorteerd is, zelfs " "als\n" " van alle invoerregels paren gemaakt kunnen worden\n" " --nocheck-order niet controleren of de invoer juist gesorteerd is\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" " --output-delimiter=REEKS deze tekenreeks als kolomscheiding gebruiken\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Opmerking: het vergelijken volgt de regels gespecificeerd door " "'LC_COLLATE'.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Voorbeelden:\n" " %s -12 bestand1 bestand2 Alleen regels die in beide bestanden " "voorkomen.\n" " %s -3 bestand1 bestand2 Regels die alleen in één van de bestanden " "staan.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "bestand %d is niet gesorteerd" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "meer dan één scheiding gegeven" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "een lege %s is niet toegestaan" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "fout bij lezen van %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "kan geen 'lseek' doen op %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "fout bij schrijven van %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: kan 'extents'-informatie niet verkrijgen" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: schrijven is mislukt" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "kan %s niet uitbreiden" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "wissen van toegangsrechten van %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "behouden van eigenaar van %s is mislukt" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "kan bestand %s niet vinden" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "behouden van het auteurschap van %s is mislukt" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "kan %s niet openen om te lezen" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "kan status van %s niet opvragen" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" "bestand %s wordt overgeslagen, omdat het werd vervangen tijdens het kopiëren" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "kan de aanmaakcontext van het bestandssysteem niet verkrijgen" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "kan de beveiligingscontext van %s niet naar %s veranderen" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "kan %s niet verwijderen" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s is verwijderd\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "zal niet schrijven via loze symbolische koppeling %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "kan het normale bestand %s niet aanmaken" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "kan %2$s niet klonen naar %1$s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "behouden van tijdsstempels van %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "sluiten van %s is mislukt" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: toch proberen om %s te overschrijven, modus %04lo (%s) negeren? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s overschrijven? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (reservekopie: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "kan de standaard aanmaakcontext niet herstellen" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "kan geen harde koppeling %s maken naar %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "kan status van %s niet opvragen" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "map %s wordt overgeslagen" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "waarschuwing: bronbestand %s is meerdere keren opgegeven" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s en %s zijn hetzelfde bestand" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "kan niet-map %s niet overschrijven met map %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "zal zojuist aangemaakte %s niet overschrijven met %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "kan map %s niet overschrijven met een niet-map" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "kan een map niet verplaatsen naar een niet-map: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "een reservekopie van %s zou de bron vernietigen; %s is niet verplaatst" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "een reservekopie van %s zou de bron vernietigen; %s is niet gekopieerd" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "kan geen reservekopie maken van %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "zal %s niet kopiëren via zojuist gemaakte symbolische koppeling %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kan map %s niet kopiëren naar binnen zichzelf (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "zal geen harde koppeling %s maken naar map %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "kan %s niet verplaatsen naar een submap van zichzelf, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "kan %s niet verplaatsen naar %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "verplaatsing tussen apparaten is mislukt: %s naar %s; kan het doel niet " "verwijderen" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "kan de standaard aanmaakcontext niet instellen op %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "kan cyclische symbolische koppeling %s niet kopiëren" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: kan relatieve symbolische koppelingen alleen in huidige map maken" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "kan symbolische koppeling %s naar %s niet aanmaken" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "kan fifo %s niet aanmaken" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "kan speciaal bestand %s niet aanmaken" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "kan symbolische koppeling %s niet lezen" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "kan symbolische koppeling %s niet aanmaken" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s heeft onbekend bestandstype" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "kan %s niet uit reservekopie herstellen" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (uit reservekopie hersteld)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Gebruik: %s [OPTIE...] [-T] BRON BESTEMMING\n" " of: %s [OPTIE...] BRON... MAP\n" " of: %s [OPTIE...] -t MAP BRON...\n" "\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Kopieert een BRON naar een BESTEMMING, of BRON(nen) naar een MAP.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive hetzelfde als '-dR --preserve=all'\n" " --attributes-only alleen eigenschappen kopiëren, niet " "bestandsinhoud\n" " --backup[=METHODE] van elk bestemmingsbestand een reservekopie " "maken\n" " -b als '--backup', maar accepteert geen argument\n" " --copy-contents de inhoud van speciale bestanden kopiëren als " "er\n" " recursief gekopieerd wordt\n" " -d hetzelfde als '--no-dereference --" "preserve=links'\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force als bestaand bestemmingsbestand niet geopend " "kan\n" " worden, het verwijderen en het opnieuw " "proberen\n" " (wordt genegeerd als ook optie '-n' gegeven " "is)\n" " -i, --interactive voor overschrijven om toestemming vragen\n" " (gaat boven een eerdere optie '-n')\n" " -H gegeven symbolische koppelingen in BRON volgen\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link harde koppelingen maken in plaats van kopieën\n" " -L, --dereference symbolische koppelingen in BRON altijd volgen\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber bestaande bestanden niet overschrijven\n" " (gaat boven een eerdere optie '-i')\n" " -P, --no-dereference geen symbolische koppelingen in BRON volgen\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p hetzelfde als '--preserve=mode,ownership," "timestamps'\n" " --preserve[=LIJST] de genoemde eigenschappen indien mogelijk " "behouden\n" " (standaard zijn: mode,ownership,timestamps --\n" " oftewel modus, eigenaar en tijdsstempels; " "verdere\n" " mogelijkheden zijn: context, links, xattr, " "all)\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LIJST de genoemde eigenschappen juist niet behouden\n" " --parents volledige naam gebruiken van bronbestand onder " "MAP\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive mappen recursief kopiëren\n" " --reflink[=WHEN] kloon/CoW-kopieën controleren; zie hieronder\n" " --remove-destination elke bestaande doelmap verwijderen voordat\n" " u deze probeert te openen (anders dan '--" "force')\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WANNEER het aanmaken van bestanden met gaten\n" " controleren; zie hieronder\n" " --strip-trailing-slashes schuine strepen achter elk BRON-argument\n" " verwijderen\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link symbolische koppeling maken i.p.v. kopie\n" " -S, --suffix=SUFFIX te gebruiken achtervoegsel voor " "reservekopieën\n" " -t, --target-directory=MAP alle BRON-argumenten naar MAP kopiëren\n" " -T, --no-target-directory BESTEMMING behandelen als een normaal " "bestand\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update alleen kopiëren als BRON nieuwer is dan " "bestemming\n" " of wanneer dit bestand niet bestaat\n" " -v, --verbose tonen wat er gedaan wordt\n" " -x, --one-file-system binnen dit bestandssysteem blijven\n" "\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "BRONbestanden met gaten worden standaard via een ruwe regel gedetecteerd,\n" "waarna de overeenkomstige BESTEMMINGsbestanden ook met gaten worden " "gemaakt.\n" "Dit is het gedrag dat geselecteerd wordt met '--sparse=auto'. Specificeer\n" "'--sparse=always' om een BESTEMMINGsbestand met gaten te maken wanneer het\n" "BRONbestand een voldoend lange reeks nul-bytes bevat. Gebruik '--" "sparse=never'\n" "om het aanmaken van bestanden met gaten te voorkomen.\n" "\n" "Als '--reflink[=always]' is gespecificeerd, doe dan een lichtgewicht " "kopieeropdracht,\n" "waar de datablokken alleen worden gekopieerd als ze zijn gewijzigd. Als dat " "niet\n" "mogelijk is dan mislukt het kopiëren of als --reflink=auto is " "gespecificeerd, wordt\n" "teruggevallen op standaard kopiëren.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Het reservekopie-achtervoegsel is '~', tenzij anders ingesteld met '--" "suffix'\n" "of via omgevingsvariable SIMPLE_BACKUP_SUFFIX. Het versiebeheer kan worden\n" "ingesteld met de optie '--backup' of via omgevingsvariabele " "VERSION_CONTROL;\n" "dit zijn de mogelijke waarden (methodes):\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off nooit reservekopieën maken (zelfs niet met '--backup')\n" " numbered, t genummerde reservekopieën maken\n" " existing, nil genummerde reserves maken als er al zijn, anders simpele\n" " simple, never altijd simpele reservekopieën maken\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Speciaal geval: 'cp' maakt een reservekopie van BRON als de opties\n" "'--force' en '--backup' gegeven zijn én BRON en BESTEMMING dezelfde\n" "naam van een bestaand gewoon bestand zijn.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "behouden van de tijdsstempels van %s is mislukt" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "behouden van de toegangsrechten van %s is mislukt" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "kan map %s niet aanmaken" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s bestaat maar is geen map" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "kan geen toegang krijgen tot %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "geen bestand opgegeven" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "ontbrekende bestemming na %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "opties '--target-directory' (-t) en '--no-target-directory' (-T) gaan niet " "samen" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "doel %s is geen map" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "met '--parents' moet de bestemming een map zijn" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "meer dan één bestemmingsmap opgegeven" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "kan niet zowel harde als symbolische koppelingen maken" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "de opties '--backup' en '--no-clobber' sluiten elkaar uit" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "optie '--reflink' kan alleen worden gebruikt met '--sparse=auto'" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "reservekopiemethode" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "kan beveiligingscontext niet behouden zonder een kernel met SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "kan de uitgebreide eigenschappen niet behouden;\n" "'cp' is gecompileerd zonder ondersteuning voor 'xattr'" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "invoer is verdwenen" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: regelnummer valt buiten bereik" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: regelnummer valt buiten bereik" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " tijdens herhaling %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: geen overeenkomst gevonden" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "fout in zoeken met reguliere expressie" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "fout bij schrijven naar %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: geheel getal verwacht na scheidingsteken" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: '}' is vereist bij een herhalingsaantal" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: geheel getal is vereist tussen '{' en '}'" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: afsluitend scheidingsteken '%c' ontbreekt" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ongeldige reguliere expressie: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ongeldig patroon" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: regelnummer moet groter zijn dan nul" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "regelnummer %s is kleiner dan het voorgaande regelnummer, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "waarschuwing: regelnummer %s is gelijk aan het voorgaande regelnummer" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "specificatie voor conversie ontbreekt in achtervoegsel" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "ongeldige conversiespecificatie in achtervoegsel: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "ongeldige conversiespecificatie in achtervoegsel: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ongeldige vlaggen in conversiespecificatie: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "te veel specificaties voor %%-conversie in achtervoegsel" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "ontbrekende specificatie voor %%-conversie in achtervoegsel" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ongeldig getal" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" "Gebruik: %s [OPTIE...] BESTAND PATROON...\n" "\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Deelt het gegeven BESTAND op aan de hand van het gegeven PATROON of de " "gegeven\n" "patronen, schrijft de delen naar de bestanden 'xx00', 'xx01', 'xx02', enz.,\n" "en toont het aantal bytes van elk deel op standaarduitvoer.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=OPMAAK te gebruiken sprintf-opmaak in plaats van " "'%02d'\n" " -f, --prefix=VOORVOEGSEL te gebruiken voorvoegsel in plaats van 'xx'\n" " -k, --keep-files uitvoerbestanden niet verwijderen bij fouten\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=AANTAL te gebruiken aantal cijfers in plaats van 2\n" " -s, --quiet, --silent de lengte van de uitvoerbestanden niet tonen\n" " -z, --elide-empty-files lege uitvoerbestanden verwijderen\n" "\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Als BESTAND - is, wordt van standaardinvoer gelezen.\n" "\n" "Elk PATROON mag zijn:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " GEHEEL_GETAL kopiëren tot het gegeven regelnummer (niet tot en met)\n" " /REGEXP/[POSITIE] kopiëren tot de overeenkomende regel (niet tot en met)\n" " %REGEXP%[POSITIE] overslaan tot de overeenkomende regel (niet tot en " "met)\n" " {AANTAL} het voorgaande patroon dit aantal keren herhalen\n" " {*} het voorgaande patroon zo vaak als mogelijk herhalen\n" "\n" "Een regel-POSITIE is een '+' of '-' gevolgd door een positief geheel getal.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "velden en posities worden genummerd vanaf 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" "Gebruik: %s OPTIE... [BESTAND...]\n" "\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "De geselecteerde delen van regels uit elk BESTAND naar standaarduitvoer " "sturen.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIJST alleen deze bytes tonen\n" " -c, --characters=LIJST alleen deze tekens tonen\n" " -d, --delimiter=TEKEN dit veldscheidingsteken gebruiken in plaats van " "TAB\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIJST alleen deze velden tonen; ook alle regels tonen " "die\n" " geen scheidingsteken bevatten, tenzij '-s' " "gegeven\n" " -n (genegeerde optie)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement het complement maken van de set van geselecteerde\n" " bytes, tekens of velden\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited alleen regels tonen die scheidingstekens bevatten\n" " --output-delimiter=TEKST deze tekst als uitvoerscheiding gebruiken;\n" " standaard het invoerscheidingsteken\n" "\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Van de opties '-b', '-c' en '-f' mag er slechts één gegeven worden.\n" "Een LIJST bestaat uit één of meer bereiken gescheiden door komma's,\n" "bijvoorbeeld: 1-4,7,9,12-15. Geselecteerde invoer wordt uitgevoerd\n" "in dezelfde volgorde als ze gelezen werd en slechts precies één keer.\n" "\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Een bereik kan zijn:\n" "\n" " N N-de byte, teken of veld (tellend vanaf 1)\n" " N- van N-de byte, teken of veld, tot het einde van de regel\n" " N-M van N-de tot en met M-de byte, teken of veld\n" " -M van eerste tot en met M-de byte, teken of veld\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "ongeldige lijst van bytes of velden" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "ongeldig bereik zonder eindpunt: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "ongeldig aflopend bereik" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "byte-positie %s is te groot" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "veldnummer %s is te groot" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "er mag slechts één soort lijst worden opgegeven" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "het scheidingsteken moet een enkel teken zijn" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "u moet een lijst van bytes, tekens, of velden geven" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "een scheidingsteken mag alleen gegeven worden als met velden gewerkt wordt" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "het onderdrukken van onbegrensde regels heeft\n" " alleen zin als met velden gewerkt wordt" #: src/cut.c:870 msgid "missing list of fields" msgstr "ontbrekende lijst van velden" #: src/cut.c:872 msgid "missing list of positions" msgstr "ontbrekende lijst van posities" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Gebruik: %s [OPTIE...] [+OPMAAK]\n" " of: %s [-u|--utc|--universal] MMDDuumm[[EE]JJ][.ss]\n" "\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Toont de huidige datum en/of tijd (in de gegeven OPMAAK),\n" "of stelt de systeemdatum en/of -tijd in (Maand, Dag, uren, minuten).\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=DATUMTIJD deze DATUMTIJD tonen i.p.v. de huidige tijd\n" " -f, --file=DATUMTIJDBESTAND als '--date' voor elke regel in " "DATUMTIJDBESTAND\n" " -I[PRECISIE], --iso-8601[=PRECISIE] datum en tijd in ISO 8601-opmaak " "tonen;\n" " PRECISIE kan zijn: 'date' voor alleen de " "datum\n" " (standaard), 'hours', 'minutes', 'seconds' " "of\n" " 'ns' voor datum+tijd in de aangegeven " "precisie\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=BESTAND de laatste wijzigingstijd van dit bestand " "tonen\n" " -R, --rfc-2822 datum en tijd in RFC 2822-opmaak tonen;\n" " bijvoorbeeld: Mon, 07 Aug 2006 12:34:56 " "-0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=SOORT datum en tijd in RFC 3339-opmaak tonen;\n" " 'date' toont alleen de datum, 'seconds' " "toont\n" " ook de tijd, 'ns' toont ook de " "nanoseconden;\n" " componenten worden gescheiden door één " "spatie\n" " -s, --set=DATUMTIJD deze tijd en/of datum instellen\n" " -u, --utc, --universal de standaard wereldtijd gebruiken\n" "\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "OPMAAK bestuurt de uitvoer. Begrepen codes zijn:\n" "\n" " %% het procentteken\n" " %a de afkorting van de dag volgens de taalregio (bijv. zo)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A de volledige naam van de dag volgens de taalregio, (bijv. zondag)\n" " %b de afgekorte naam van de maand volgens de taalregio (bijv. jan)\n" " %B de volledige naam van de maand volgens de taalregio (bijv. januari)\n" " %c de datum/tijd volgens de taalregio (bijv. za 01 okt 2005 16:57:09 " "CEST)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C de eeuw; als %Y maar zonder de laatste twee cijfers (bijv. 20)\n" " %d de dag in de maand (bijv. 01)\n" " %D de datum op Amerikaanse manier; hetzelfde als %m/%d/%y\n" " %e de dag in de maand, met voorloopspatie; hetzelfde als %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F de volledige datum op ISO-manier; hetzelfde als %Y-%m-%d\n" " %g de laatste twee cijfers van het jaar van het ISO-weeknummer (zie %G)\n" " %G het jaar van het ISO-weeknummer (zie %V); normaal alleen nuttig met " "%V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h hetzelfde als %b\n" " %H het uur (00...23)\n" " %I het uur (01...12)\n" " %j de dag in het jaar (001...366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k het uur, met voorloopspatie ( 0...23); hetzelfde als %_H\n" " %l het uur, met voorloopspatie ( 1...12); hetzelfde als %_I\n" " %m de maand (01...12)\n" " %M de minuut (00...59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n een nieuwe regel\n" " %N de nanoseconden (000000000...999999999)\n" " %p het equivalent van AM of PM volgens de taalregio; meestal blanco\n" " %P als %p maar in kleine letters\n" " %r de tijd in 12-uursaanduiding volgens de taalregio (bijv. 11:11:04 " "PM)\n" " %R de tijd in 24-uursaanduiding; hetzelfde als %H:%M\n" " %s de seconden sinds 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S de seconde (00...60) (60 kan ook, vanwege schrikkelseconde)\n" " %t een horizontale tab\n" " %T de tijd; hetzelfde als %H:%M:%S\n" " %u de dag van de week (1...7); 1 is maandag\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U weeknummer in het jaar, met zondag als eerste dag van de week " "(00...53)\n" " %V ISO-weeknummer, met maandag als eerste dag van de week (01...53)\n" " %w de dag van de week (0...6); 0 is zondag\n" " %W weeknummer in het jaar, met maandag als eerste dag van de week " "(00...53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x de datumweergave volgens de taalregio (bijv. 31-12-05)\n" " %X de tijdweergave volgens de taalregio (bijv. 23:13:48)\n" " %y de laatste twee cijfers van het jaar (00...99)\n" " %Y het jaar\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z numerieke tijdzone in de vorm +hhmm (bijv. -0400)\n" " %:z numerieke tijdzone in de vorm +hh:mm (bijv. -04:00)\n" " %::z numerieke tijdzone in de vorm +hh:mm:ss (bijv. -04:00:00)\n" " %:::z numerieke tijdzone zonder onnodige nakomende nullen (bijv. -04)\n" " %Z Engelse letterafkorting voor de tijdzone (bijv. CEST)\n" "\n" "Standaard gebruikt 'date' voorloopnullen bij numerieke velden.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "De volgende opmaakcodes mogen direct na elke '%' ingevoegd worden:\n" "\n" " - (een koppelteken:) geen voorloop gebruiken\n" " _ (een liggend streepje:) voorloopspaties gebruiken\n" " 0 (een nul:) voorloopnullen gebruiken (standaard)\n" " ^ hoofdletters gebruiken, indien mogelijk\n" " # hoofd- in kleine letters wijzigen en omgekeerd, indien mogelijk\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Na een opmaakcode mag nog een veldbreedte (een decimaal getal) volgen.\n" "Bij sommige opmaakletters mag nog een aanpasser gebruikt worden:\n" "een E betekent alternatieve representaties uit de taalregio gebruiken,\n" "en een O betekent alternatieve cijfers uit de taalregio te gebruiken,\n" "waarbij voor beide geldt: indien beschikbaar.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Voorbeelden:\n" "Een aantal seconden sinds tijdperkbegin (1970-01-01 UTC) omzetten naar de " "datum:\n" " $ date --date='@2147483647'\n" "\n" "De huidige tijd aan de westkust van de Verenigde Staten tonen:\n" " $ TZ='America/Los_Angeles' date\n" "\n" "De lokale tijd hier tonen voor negen uur 's morgens volgende vrijdag\n" "aan de westkust van de Verenigde Staten:\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standaardinvoer" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "ongeldige datum: %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "meer dan één uitvoeropmaak opgegeven" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "de gegeven opties om datums te tonen gaan niet samen" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "de opties om de tijd te tonen of in te stellen gaan niet samen" # Een zin toevoegd om de meest voorkomende oorzaak van deze melding op te vangen. #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "het argument %s begint niet met een plusteken;\n" "als een optie gebruikt wordt om een datum op te geven,\n" "moet een gewoon argument een opmaaktekenreeks zijn die begint met '+'" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "kan datum niet instellen" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "tijd %s valt buiten bereik" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [ARGUMENT...]\n" " of: %s OPTIE\n" "\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Een bestand kopiëren, converteren en opmaken aan de hand van de argumenten.\n" "\n" " bs=BYTES aantal tegelijk te lezen en te schrijven bytes\n" " cbs=BYTES steeds dit aantal bytes tegelijk converteren\n" " conv=CONVERSIES bestand converteren volgens deze kommagescheiden " "methodes\n" " count=BLOKKEN slechts dit aantal invoerblokken kopiëren\n" " ibs=BYTES aantal tegelijk te lezen bytes (standaard: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=BESTAND uit dit bestand lezen i.p.v. van standaardinvoer\n" " iflag=VLAGGEN lezen met deze kommagescheiden eigenschappen\n" " obs=BYTES aantal tegelijk te schrijven bytes (standaard: 512)\n" " of=BESTAND naar dit bestand schrijven i.p.v. naar standaarduitvoer\n" " oflag=VLAGGEN schrijven met deze kommagescheiden eigenschappen\n" " seek=BLOKKEN dit aantal 'obs'-blokken aan begin van uitvoer overslaan\n" " skip=BLOKKEN dit aantal 'ibs'-blokken aan begin van invoer overslaan\n" " status=WATWEG bepaalde informatie naar standaardfoutuitvoer " "onderdrukken;\n" " 'noxfer' onderdrukt verplaatsingsstatistieken; 'none' " "alles\n" # Het getal N komt niet voor in mijn vertaling # (en BLOCKS niet meer in het origineel). #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOKKEN en BYTES kunnen de volgende vermenigvuldigingsachtervoegsels " "krijgen:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M,\n" "GB =1000*1000*1000, G =1024*1024*1024, en zo verder voor T, P, E, Z en Y.\n" "\n" "Mogelijke CONVERSIES zijn:\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii van EBCDIC naar ASCII\n" " ebcdic van ASCII maar EBCDIC\n" " ibm van ASCII naar alternatieve EBCDIC\n" " block met LF afgesloten records met spaties uitvullen tot 'cbs'-" "lengte\n" " unblock nakomende spaties in records met 'cbs'-lengte vervangen door " "LF\n" " lcase hoofdletters vervangen door kleine letters\n" " ucase kleine letters vervangen door hoofdletters\n" " sparse proberen te springen i.p.v. schrijven voor blokken met enkel " "nullen\n" " swab elke twee invoerbytes van positie omwisselen\n" " sync elk invoerblok uitvullen met NUL-tekens tot 'ibs'-lengte; " "wanneer\n" " samen met 'block' of 'unblock', dan uitvullen met spaties\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl weigeren als het uitvoerbestand al bestaat\n" " nocreat het uitvoerbestand niet aanmaken\n" " notrunc het uitvoerbestand niet verkorten\n" " noerror doorgaan ook na leesfouten\n" " fdatasync het uitvoerbestand fysiek naar schijf schrijven vóór afsluiten\n" " fsync idem, maar ook de metagegevens schrijven\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "VLAGGEN is een kommagescheiden lijst uit de volgende eigenschappen:\n" "\n" " append achtervoegen (alleen zinvol bij uitvoer; suggestie: " "conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio gelijktijdige I/O gebruiken voor de gegevens\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct directe I/O gebruiken voor de gegevens\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory weigeren als het geen map is\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync gesynchroniseerde I/O gebruiken voor de gegevens\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync idem, maar ook voor de metagegevens\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" " fullblock volledige blokken invoer verzamelen (alleen bij 'iflag')\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock niet-blokkerende I/O gebruiken\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime toegangstijdsstempels niet wijzigen\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache gecachte gegevens verwerpen\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty bestand is geen besturende terminal\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow symbolische koppelingen niet volgen\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks weigeren als bestand meer dan één harde koppeling heeft\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary binaire I/O gebruiken voor de gegevens\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text tekst-I/O gebruiken voor de gegevens\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" " count_bytes 'count=N' als een byte-aantal begrijpen (alleen 'iflag')\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" " skip_bytes 'skip=N' als een byte-aantal begrijpen (alleen 'iflag')\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" " seek_bytes 'seek=N' als een byte-aantal begrijpen (alleen 'oflag')\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Het zenden van een %s-signaal naar een werkend 'dd'-proces zorgt ervoor dat\n" "I/O-statistieken naar standaardfoutuitvoer gaan, waarna het kopiëren " "doorgaat.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records gelezen\n" " 18335302+0 records geschreven\n" " 9387674624 bytes (9.4 GB) gekopieerd, 34.6279 seconden, 271 MB/s\n" "\n" "Opties zijn:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> records gelezen\n" "%<PRIuMAX>+%<PRIuMAX> records geschreven\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> afgebroken record\n" msgstr[1] "%<PRIuMAX> afgebroken records\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) gekopieerd" msgstr[1] "%<PRIuMAX> bytes (%s) gekopieerd" #: src/dd.c:720 msgid "Infinity B" msgstr "oneindig" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "sluiten van invoerbestand %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "sluiten van uitvoerbestand %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "uitschakelen van O_DIRECT is mislukt: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "schrijven naar %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "niet-herkend argument: %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "ongeldige conversie" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "ongeldige invoervlag" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "ongeldige uitvoervlag" #: src/dd.c:1227 msgid "invalid status flag" msgstr "ongeldige statusvlag" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "ongeldig getal: %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "slechts één van {ascii,ebcdic,ibm} is mogelijk" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "'block' en 'unblock' gaan niet samen" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "'lcase' en 'ucase' gaan niet samen" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "'excl' en 'nocreat' gaan niet samen" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "'direct' en 'nocache' gaan niet samen" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "waarschuwing: er wordt om de 'lseek'-kernelfout heen gewerkt voor bestand\n" "%s met mt_type=0x%0lx -- zie <sys/mtio.h> voor de lijst met typen" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: kan niet overslaan" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: kan geen 'seek' doen" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "positie werd te groot tijdens lezen van bestand %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" "waarschuwing: positie in bestand klopt niet meer na mislukte leesopdracht" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "kan toch niet om de kernelfout heen werken" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "instellen van vlaggen voor %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "onvoldoende geheugen beschikbaar voor invoerbuffer van %zu bytes (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "onvoldoende geheugen beschikbaar voor uitvoerbuffer van %zu bytes (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: kan niet naar de gegeven positie springen" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "afkorten op %<PRIdMAX> bytes van uitvoerbestand %s is mislukt" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "'fdatasync' is mislukt voor %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "'fsync' is mislukt voor %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "openen van %s is mislukt" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "positie is te groot: kan niet afkorten tot een lengte van seek=%<PRIuMAX> " "(%lu-byte) blokken" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "afkorten op %<PRIuMAX> bytes van uitvoerbestand %s is mislukt" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "verwerpen van cache voor %s is mislukt" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Bestandssysteem" #: src/df.c:175 msgid "Type" msgstr "Type" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokken" #: src/df.c:181 msgid "Used" msgstr "Gebruikt" #: src/df.c:184 msgid "Available" msgstr "Beschikbaar" #: src/df.c:187 msgid "Use%" msgstr "Geb%" # Het aantal minuten inactiviteit; maximaal 6 tekens. #: src/df.c:190 msgid "Inodes" msgstr "I-nodes" #: src/df.c:193 msgid "IUsed" msgstr "IGebr" #: src/df.c:196 msgid "IFree" msgstr "IVrij" #: src/df.c:199 msgid "IUse%" msgstr "IGeb%" #: src/df.c:202 msgid "Mounted on" msgstr "Aangekoppeld op" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "optie '--output': veld '%s' is onbekend" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "optie '--output': veld '%s' is meerdere keren opgegeven" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Grootte" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Besch" #: src/df.c:474 msgid "Capacity" msgstr "Vulgraad" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Toont gebruikte en beschikbare ruimte van alle aangekoppelde " "bestandssystemen,\n" "of van de bestandssystemen waarop de gegeven BESTANDen zich bevinden.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all ook pseudobestandssystemen tonen\n" " -B, --block-size=GROOTTE de te tonen groottes schalen naar deze waarde;\n" " '-BM' bijvoorbeeld toont de groottes in " "eenheden\n" " van 1.048.576 bytes; zie hieronder voor meer " "info\n" " --total een eindtotaal tonen\n" " -h, --human-readable groottes in leesbare vorm tonen (bijv. 1K, 234M, " "2G)\n" " -H, --si idem, maar machten van 1000 i.p.v. 1024 " "gebruiken\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes inode-informatie tonen in plaats van " "blokgebruik\n" " -k hetzelfde als '--block-size=1K'\n" " -l, --local de opsomming beperken tot lokale " "bestandssystemen\n" " --no-sync geen 'sync' doen vóór ophalen van info " "(standaard)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability de POSIX-uitvoeropmaak gebruiken\n" " --sync een 'sync' doen vóór het ophalen van " "gebruiksinfo\n" " -t, --type=TYPE alleen bestandssystemen van dit type tonen\n" " -T, --print-type van elk bestandssysteem ook het type tonen\n" " -x, --exclude-type=TYPE bestandssystemen van dit type niet tonen\n" " -v (genegeerde optie)\n" "\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "de opties '%s' en '%s' sluiten elkaar uit" #: src/df.c:1335 msgid "warning: " msgstr "waarschuwing: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "de lange optie '--megabytes' is verouderd en wordt binnenkort ongeldig" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "bestandssysteemtype %s is zowel gekozen als uitgesloten" #: src/df.c:1500 msgid "Warning: " msgstr "Waarschuwing: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "kan tabel van aangekoppelde bestandssystemen niet lezen" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "geen bestandssystemen verwerkt" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" "Gebruik: %s [OPTIE...] [BESTAND]\n" "\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "De commando's voor het instellen van de omgevingsvariabele LS_COLOR tonen.\n" "\n" " -b, --sh, --bourne-shell Bourne shell-code tonen\n" " -c, --csh, --c-shell C shell-code tonen\n" " -p, --print-database de standaard kleurenlijst tonen\n" "\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Als BESTAND gegeven is, wordt dat gelezen om te bepalen welke kleuren voor\n" "welke bestandstypes gebruikt moeten worden. Anders wordt een " "standaardlijst\n" "gebruikt. Typ 'dircolors -p' voor details over de opmaak van deze " "bestanden.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: ongeldige regel; tweede token ontbreekt" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: niet-herkend sleutelwoord %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<intern>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "de opties voor syntax en kleurenlijst gaan niet samen" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "optie '--print-database' (-p) gaat niet samen met bestanden" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "geen omgevingsvariabele SHELL en geen shell-optie gegeven" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" "Gebruik: %s [OPTIE] NAAM...\n" "\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Elke gegeven NAAM tonen zonder het laatste '/...'-element;\n" "als NAAM geen '/' bevat, dan '.' tonen (de huidige map).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero elke regel afsluiten met 0-byte, niet met nieuweregel\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Voorbeelden:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s map1/rks map2/rks -> \"map1\" gevolgd door \"map2\"\n" " %s stdio.h -> \".\"\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Gebruik: %s [OPTIE...] [BESTAND...]\n" " of: %s [OPTIE...] --files0-from=LIJSTBESTAND\n" "\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Vat het schijfgebruik samen van elk gegeven BESTAND, recursief voor mappen.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null regels afsluiten met 0-byte, niet met nieuweregel\n" " -a, --all waardes tonen voor alle bestanden, niet alleen " "mappen\n" " --apparent-size werkelijke groottes tonen in plaats van " "schijfbeslag;\n" " hoewel meestal kleiner, kan de werkelijke grootte " "ook\n" " groter zijn dan het schijfbeslag, bijvoorbeeld " "bij\n" " luchtige bestanden (met onopgeslagen gaten), " "interne\n" " fragmentatie, indirecte blokken en dergelijke\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=GROOTTE de te tonen groottes schalen naar deze waarde;\n" " '-BM' bijvoorbeeld toont de groottes in " "eenheden\n" " van 1.048.576 bytes; zie hieronder voor meer " "info\n" " -b, --bytes hetzelfde als '--apparent-size --block-size=1'\n" " -c, --total een eindtotaal tonen\n" " -D, --dereference-args alleen direct gegeven symbolische koppelingen " "volgen\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=LST het schijfgebruik tonen van de bestanden die " "opgesomd\n" " staan in bestand LST, waar elke naam eindigt op " "NUL;\n" " als LST '-' is, dan de namen van standaardinvoer " "lezen\n" " -H hetzelfde als '--dereference-args' (-D)\n" " -h, --human-readable groottes in leesbare vorm tonen (bijv. 15K, 234M, " "2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k hetzelfde als '--block-size=1K'\n" " -L, --dereference alle symbolische koppelingen volgen\n" " -l, --count-links de grootte tellen voor elke harde koppeling\n" " -m hetzelfde als '--block-size=1M'\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference symbolische koppelingen niet volgen (standaard)\n" " -S, --separate-dirs de grootte van submappen niet meetellen\n" " --si als '-h', maar machten van 1000 i.p.v. 1024 " "gebruiken\n" " -s, --summarize voor elk gegeven argument alleen een totaal tonen\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time tijden van laatste wijziging tonen\n" " --time=SOORT te tonen soort tijd in plaats van wijzigingstijd;\n" " mogelijke waarden zijn 'atime', 'access', 'use',\n" " 'ctime' of 'status'\n" " --time-style=STIJL te gebruiken opmaak voor tijdsstempels; mogelijke\n" " waarden zijn 'iso', 'long-iso', 'full-iso', of\n" " '+OPMAAK' (zie bij 'date' voor de mogelijkheden)\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "oneindig" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "aankoppelingspunt %s is al doorlopen" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read() is mislukt: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "ongeldige maximum diepte %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "ongeldig argument van '--threshold': '-0'" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "kan niet zowel alleen totalen tonen als alle items tonen" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "opmerking: totalen tonen is hetzelfde als '--max-depth=0'" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "fout: totalen tonen gaat niet samen met '--max-depth=%lu'" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "bestandsargumenten gaan niet samen met de optie '--files0-from'" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: fout bij lezen" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "bij het lezen van bestandsnamen van standaardinvoer is bestandsnaam %s niet " "toegestaan" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "ongeldige bestandsnaam (lengte nul)" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totaal" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Gebruik: %s [KORTE_OPTIE...] [TEKST...]\n" " of: %s LANGE_OPTIE\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "De gegeven TEKENREEKS(en) naar standaarduitvoer sturen.\n" "\n" " -n geen nieuweregel-teken achtervoegen\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e interpretatie van onderstaande codes inschakelen (standaard)\n" " -E interpretatie van onderstaande codes uitschakelen\n" "\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e interpretatie van backslash escape-tekens inschakelen\n" " -E interpretatie van backslash escape-tekens uitschakelen (standaard)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Bij '-e' worden de volgende codes herkend en uitgevoerd:\n" "\n" # Code \c onderdrukt verdere uitvoer, anders dan het origineel zegt. #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ een backslash\n" " \\a geluidssignaal\n" " \\b backspace\n" " \\c geen verdere uitvoer produceren\n" " \\e escape\n" " \\f nieuwe pagina (FF-teken)\n" " \\n nieuwe regel (LF-teken)\n" " \\r naar begin van regel (CR-teken)\n" " \\t horizontale tab\n" " \\v verticale tab\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN byte met octale waarde NNN (1 tot 3 cijfers)\n" " \\xHH byte met hexadecimale waarde HH (1 tot 2 cijfers/letters)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Gebruik: %s [OPTIE...] [-] [NAAM=WAARDE]... [COMMANDO [ARGUMENT...]]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "Kent de gegeven WAARDE aan omgevingsvariabele NAAM toe en voert COMMANDO " "uit.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment alle ongenoemde omgevingsvariabelen " "verwijderen\n" " -0, --null elke regel afsluiten met een 0-byte, niet met " "nieuweregel\n" " -u, --unset=NAAM de genoemde variabele uit de omgeving verwijderen\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Een losse '-' betekent hetzelfde als '-i'.\n" "Zonder COMMANDO wordt de resulterende omgeving getoond.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "kan %s niet verwijderen" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "kan %s geen waarde geven" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "optie '--null' (-0) gaat niet samen met een commando" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Stuurt elk BESTAND naar standaarduitvoer met tabs geconverteerd naar " "spaties.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial tabs na niet-witruimte niet converteren\n" " -t, --tabs=GETAL te gebruiken tabbreedte in plaats van 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LIJST kommagescheiden lijst met te gebruiken tab-posities\n" "\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tab-positie is te groot: %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tab-grootte of -positie bevat ongeldig(e) teken(s): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tab-grootte of -positie mag niet 0 zijn" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tab-posities moeten toenemen" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "invoerregel is te lang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s EXPRESSIE\n" " of: %s OPTIE\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "De waarde van EXPRESSIE naar standaarduitvoer sturen. EXPRESSIE mag zijn\n" "(een lege regel scheidt groepen met verschillende, oplopende voorrang):\n" "\n" " ARG1 | ARG2 ARG1 als deze niet leeg of 0 is, anders ARG2\n" "\n" " ARG1 & ARG2 ARG1 als beide argumenten noch leeg noch 0 zijn, anders " "0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 1 als ARG1 kleiner is dan ARG2, anders 0\n" " ARG1 <= ARG2 1 als ARG1 kleiner of gelijk is aan ARG2, anders 0\n" " ARG1 = ARG2 1 als ARG1 gelijk is aan ARG2, anders 0 ('==' = '=')\n" " ARG1 != ARG2 1 als ARG1 niet gelijk is aan ARG2, anders 0\n" " ARG1 >= ARG2 1 als ARG1 groter of gelijk is aan ARG2, anders 0\n" " ARG1 > ARG2 1 als ARG1 groter is dan ARG2, anders 0\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 rekenkundige som van ARG1 en ARG2\n" " ARG1 - ARG2 rekenkundig verschil van ARG1 en ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 rekenkundig product van ARG1 en ARG2\n" " ARG1 / ARG2 rekenkundig quotient van ARG1 gedeeld door ARG2\n" " ARG1 % ARG2 rekenkundige rest van ARG1 gedeeld door ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " TEKENREEKS : REGEXP de tekens vanaf het begin van de TEKENREEKS die\n" " voldoen aan de reguliere expressie REGEXP\n" "\n" " match TEKENREEKS REGEXP hetzelfde als 'TEKENREEKS : REGEXP'\n" " substr TEKENREEKS POSITIE LENGTE subreeks van TEKENREEKS; POSITIE telt " "van 1\n" " index TEKENREEKS TEKENS laagste index in TEKENREEKS waar een " "teken\n" " uit TEKENS gevonden is, anders 0\n" " length TEKENREEKS de lengte van de TEKENREEKS\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SYMBOOL SYMBOOL als tekenreeks interpreteren, zelfs als het\n" " een sleutelwoord of operator is, zoals 'match' of " "'/'\n" "\n" " ( EXPRESSIE ) waarde van EXPRESSIE\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Wees erop bedacht dat in de meeste shells veel operatoren op de een of " "andere\n" "manier aangehaald moeten worden. Vergelijkingen zijn rekenkundig als beide\n" "argumenten getallen zijn, anders lexicografisch. Patroonovereenkomsten " "geven\n" "de gevonden tekenreeks tussen \\( en \\) terug of een lege tekenreeks; " "zonder\n" "\\( en \\) geven ze het aantal overeenkomende tekens terug, of 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "De afsluitwaarde is 0 als EXPRESSIE noch leeg noch 0 is, 1 als EXPRESSIE " "leeg\n" "of 0 is, 2 als EXPRESSIE syntactisch ongeldig is, en 3 als er een fout " "optrad.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaxfout" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "fout in zoeken met reguliere expressie" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argument is geen geheel getal" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "deling door nul" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "zet LC_ALL='C' om het probleem te omzeilen" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "de te vergelijken tekenreeksen waren %s en %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "De Lucas-priemgetaltest is mislukt. Dit hoort niet te gebeuren." #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "wachtrij-overloop in SQUFOF" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s is geen geldig positief geheel getal" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s is te groot" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [GETAL...]\n" " of: %s OPTIE\n" "\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "De priemgetallen tonen waaruit elk gegeven GETAL is opgebouwd.\n" "Als geen GETAL gegeven is, dan worden getallen gelezen van standaardinvoer.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "kan huidige map niet opvragen" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "kan niet naar map %s gaan" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "kan status van huidige map %s niet opvragen" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "" "Gebruik: %s [-BREEDTE] [OPTIE...] [BESTAND...]\n" "\n" # De tweede zin is overbodig, want staat al na de opties. #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Stuurt elk BESTAND naar standaarduitvoer met de alinea's opnieuw ingedeeld.\n" "De optie -GETAL is een afkorting van --width=GETAL.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin inspringing van eerste twee regels behouden\n" " -p, --prefix=TEKST alleen regels die beginnen met deze TEKST " "opnieuw\n" " indelen, daarbij TEKST opnieuw voorvoegen\n" " -s, --split-only lange regels splitsen maar niet opnieuw " "uitvullen\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph inspringing van eerste regel verschilt van " "tweede\n" " -u, --uniform-spacing één spatie tussen woorden, twee na een zin\n" " -w, --width=GETAL maximale regelbreedte (standaard is 75)\n" " -g, --goal=GETAL doelbreedte (standaard 93% van maximale " "regelbreedte)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "ongeldige optie: '%c'; -GETAL wordt alleen herkend als\n" "het het eerste argument is; gebruik anders '-w GETAL'" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ongeldige breedte: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Stuurt elk BESTAND naar standaarduitvoer met de regels op een bepaalde " "lengte\n" "afgebroken. Zonder argumenten wordt standaardinvoer gelezen.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes bytes tellen in plaats van tekens\n" " -s, --spaces bij voorkeur afbreken op spaties\n" " -w, --width=GETAL te gebruiken afbreekbreedte in plaats van 80\n" "\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "ongeldige afbreekbreedte: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Pádraig Brady" # Deze commando's kennen alleen de opties --help en --version. #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Gebruik: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Platformafhankelijke limieten tonen in een opmaak die bruikbaar is in shell-" "scripts.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "kan de groepen van gebruiker %s niet verkrijgen" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "kan de groepen van het huidige proces niet verkrijgen" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "kan geen naam vinden bij groeps-ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Gebruik: %s [OPTIE...] [GEBRUIKERSNAAM]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Voor elke GEBRUIKERSNAAM de groepen tonen waar deze lid van is. Als\n" "geen naam gegeven is, dan de groepen van het huidige proces tonen.\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "kan werkelijke UID niet verkrijgen" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "kan effectieve GID niet verkrijgen" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "kan werkelijke GID niet verkrijgen" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: onbekende gebruiker" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kopieert de eerste 10 regels van elk gegeven BESTAND naar standaarduitvoer.\n" "Als meer dan één BESTAND gegeven is, wordt de uitvoer van elk bestand\n" "voorafgegaan door een kopje met de bestandsnaam. Zonder BESTAND, of\n" "wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N de eerste N bytes van elk bestand tonen;\n" " met een minteken, alle bytes behalve de laatste " "N\n" " -n, --lines=[-]N de eerste N regels tonen (i.p.v. de eerste 10);\n" " met een minteken, alle regels behalve de " "laatste N\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent geen bestandsnaamkopjes tonen\n" " -v, --verbose altijd bestandsnaamkopjes tonen\n" "\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Getal N mag gevolgd worden door een vermenigvuldigingsachtervoegsel:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, en zo verder voor T, P, E, Z en Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: bestand is te veel geslonken" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: aantal bytes is te groot" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: kan niet terugspringen naar de originele positie" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: kan niet naar positie %s springen" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: resetten van bestandspositieaanduider is mislukt" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "kan de bestandspositieaanduider van %s niet verplaatsen" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s is zo groot dat het niet weergegeven kan worden" #: src/head.c:886 msgid "number of lines" msgstr "aantal regels" #: src/head.c:886 msgid "number of bytes" msgstr "aantal bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ongeldig aantal regels" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "ongeldig aantal bytes" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "ongeldige optie aan het eind: %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Gebruik: %s [OPTIE]\n" "\n" "De numerieke aanduiding (in hexadecimaal) van de huidige host tonen.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Gebruik: %s [NAAM]\n" " of: %s OPTIE\n" "\n" "De hostnaam van het huidige systeem tonen of instellen.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "kan de naam niet wijzigen naar %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "kan de hostnaam niet instellen; dit systeem biedt deze functionaliteit niet" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "kan de hostnaam niet achterhalen" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" "Gebruik: %s [OPTIE...] [GEBRUIKERSNAAM]\n" "\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Gebruikers- en groepsinformatie tonen van GEBRUIKERSNAAM,\n" "of (zonder GEBRUIKERSNAAM) die van de huidige gebruiker tonen.\n" "\n" " -a (genegeerde optie, voor compatibiliteit met andere " "versies)\n" " -g, --group alleen het groeps-ID tonen\n" " -G, --groups alleen alle groeps-ID's tonen\n" " -n, --name namen in plaats van nummers tonen (bij -g, -G of -u)\n" " -r, --real echte ID in plaats van effectieve ID tonen (bij -g, -G of -" "u)\n" " -u, --user alleen het gebruikers-ID tonen\n" " -Z, --context alleen de beveiligingscontext van huidige gebruiker tonen\n" "\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Zonder enige OPTIE wordt een nuttige set identificatie-informatie getoond.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "optie '--context' (-Z) werkt alleen in een kernel met SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "kan beveiligingscontext niet tonen als een gebruikersnaam gegeven is" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "kan niet meer dan één ding \"alleen\" tonen" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "kan in standaardinformatie niet alleen namen noch alleen echte ID's tonen" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "kan de context van het proces niet verkrijgen" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "kan effectieve UID niet verkrijgen" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "kan geen naam vinden bij gebruikers-ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "UID=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " GID=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " EUID=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " EGID=%s" #: src/id.c:377 msgid " groups=" msgstr " groepen=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " context=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "waarschuwing: %s: kan beveiligingscontext niet veranderen naar %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "aanmaken van map %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "kan de eigenaar van %s niet veranderen" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "kan de tijdsstempels van %s niet instellen" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "kan geen nieuw proces starten" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "kan %s niet uitvoeren" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "wachten op 'strip'" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "het proces 'strip' is abnormaal afgesloten" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "ongeldige gebruiker: %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Gebruik: %s [OPTIE...] [-T] BRON DOEL\n" " of: %s [OPTIE...] BRON... MAP\n" " of: %s [OPTIE...] -t MAP BRON...\n" " of: %s [OPTIE...] -d MAP...\n" "\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Dit programma kopieert bestanden (vaak zojuist gecompileerd) naar door u\n" "gekozen bestemmingen. Als u een kant-en-klaar pakket wilt downloaden en\n" "installeren op een GNU/Linux-systeem, dan kunt u beter een pakketbeheerder\n" "zoals yum(1) of apt-get(1) gebruiken.\n" "\n" "Bij de eerste drie aanroepvormen wordt BRON naar DOEL gekopieerd, of " "BRONnen\n" "naar een bestaande MAP, terwijl rechten en eigenaar en groep ingesteld " "worden.\n" "Bij de vierde vorm worden alle componenten van de gegeven MAP(pen) " "aangemaakt.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=METHODE] van elk bestemmingsbestand een reservekopie maken\n" " -b zoals '--backup', maar accepteert geen argument\n" " -c (genegeerde optie)\n" " -C, --compare elk paar van bron- en bestemmingsbestand " "vergelijken,\n" " en (soms) niets aan bestemmingsbestand wijzigen\n" " -d, --directory alle argumenten als mapnamen behandelen;\n" " van de gegeven mappen alle componenten aanmaken\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D alle componenten van DOEL aanmaken behalve de " "laatste,\n" " dan BRON naar DOEL kopiëren\n" " -g, --group=GROEP deze groep instellen i.p.v. groep van huidig " "proces\n" " -m, --mode=MODUS deze toegangsrechten instellen i.p.v. 'rwxr-xr-x'\n" " -o, --owner=GEBRUIKER deze eigenaar instellen (alleen voor " "systeembeheerder)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps alle tijdsstempels van bronbestanden " "overnemen\n" " in de overeenkomstige bestemmingsbestanden\n" " -s, --strip symbooltabellen uit programma's verwijderen\n" " --strip-program=PRGRMM te gebruiken programma voor het strippen\n" " -S, --suffix=ACHTERVOEGSEL te gebruiken achtervoegsel voor " "reservekopieën\n" " -t, --target-directory=MAP alle BRON-argumenten naar MAP kopiëren\n" " -T, --no-target-directory DOEL als een normaal bestand behandelen\n" " -v, --verbose de naam van elke aangemaakte map tonen\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context de SELinux-beveiligingscontext behouden\n" " -Z, --context=CONTEXT beveiligingscontext van bestanden en mappen " "instellen\n" "\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "Waarschuwing: optie '--preserve-context' wordt genegeerd;\n" "deze kernel heeft geen SELinux." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "Waarschuwing: optie '--context' (-Z) wordt genegeerd;\n" "deze kernel heeft geen SELinux." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "de strip-optie mag niet gebruikt worden bij het installeren van een map" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "een doelmap is niet toegestaan bij het installeren van een map" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "kan doelcontext niet zowel behouden als op %s instellen" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "ongeldige modus %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "Waarschuwing: optie '--strip-program' wordt genegeerd\n" "want optie '-s' is niet gegeven" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "de opties '--compare' (-C) en '--preserve-timestamps' sluiten elkaar uit" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "de opties '--compare' (-C) en '--strip' sluiten elkaar uit" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "de optie '--compare' (-C) wordt genegeerd bij een modus met non-" "toegangsrechten" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Voor elk paar invoerregels met identieke samenvoegvelden een regel naar\n" "standaarduitvoer sturen. Het standaard samenvoegveld is het eerste veld,\n" "afgebakend door witruimte. Als ofwel BESTAND1 ofwel BESTAND2 gelijk aan\n" "'-' is, wordt standaardinvoer gelezen.\n" "\n" " -a NUMMER ook onpaarbare regels uit bestand NUMMER tonen, waar " "NUMMER\n" " 1 of 2 is, overeenkomend met BESTAND1 of BESTAND2\n" " -e TEKST ontbrekende invoervelden vervangen door \"TEKST\"\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case verschil in hoofd- en kleine letters negeren\n" " -j VELD hetzelfde als '-1 VELD -2 VELD'\n" " -o OPMAAK te gebruiken opmaak (zie onder) van elke uitvoerregel\n" " -t TEKEN te gebruiken veldscheidingsteken voor invoer en " "uitvoer\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMMER als '-a NUMMER', maar samengevoegde regels " "onderdrukken\n" " -1 VELD samenvoegen op dit VELD in bestand 1\n" " -2 VELD samenvoegen op dit VELD in bestand 2\n" " --check-order controleren of de invoer juist gesorteerd is, zelfs " "als\n" " van alle invoerregels paren gemaakt kunnen worden\n" " --nocheck-order niet controleren of de invoer juist gesorteerd is\n" " --header de eerste regel in elk bestand als veldkoppen " "behandelen;\n" " deze samenvoegen zonder proberen ze te paren\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Standaard is voorloopwitruimte de veldscheiding en wordt verder genegeerd.\n" "Als '-t TEKEN' gegeven is, worden velden gescheiden door TEKEN. Elk VELD\n" "heeft een veldnummer, tellend vanaf 1.\n" "\n" "OPMAAK is een komma- of spatiegescheiden lijst aanduidingen, elk van de " "vorm\n" "'NUMMER.VELD' of '0', waar NUMMER het bestandsnummer en VELD het veldnummer " "is.\n" "De standaardopmaak voert eerst het samenvoegveld uit, dan de overige velden " "van\n" "BESTAND1, en dan de overige velden van BESTAND2, alles gescheiden door " "TEKEN.\n" "Als OPMAAK het sleutelwoord 'auto' is, dan bepaalt de eerste regel van elk\n" "bestand hoeveel velden er voor elke regel uitgevoerd worden.\n" "\n" "Belangrijk: BESTAND1 en BESTAND2 moeten gesorteerd zijn op de " "samenvoegvelden.\n" "Gebruik bijvoorbeeld \"sort -k 1b,1\" als aan 'join' geen opties gegeven " "worden\n" "of gebruik \"join -t\" als 'sort' geen opties heeft.\n" "\n" "Opmerking: het vergelijken volgt de regels gespecificeerd door " "'LC_COLLATE'.\n" "Als de invoer niet gesorteerd is en sommige regels niet samengevoegd kunnen\n" "worden, dan wordt er een waarschuwing gegeven.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: is niet gesorteerd: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "ongeldig veldnummer: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "ongeldige veldspecificatie: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "ongeldig bestandsnummer in veldspecificatie: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "incompatibele join-velden: %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "conflicterende vervangingstekenreeksen voor lege velden" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "meerdere tekens in scheidingsteken %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "incompatibele scheidingstekens" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "niet beide bestanden mogen de standaardinvoer zijn" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Gebruik: %s [-s SIGNAAL | -SIGNAAL] PID...\n" " of: %s -l [SIGNAAL...]\n" " of: %s -t [SIGNAAL...]\n" "\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "Zendt signalen naar processen, of somt signaalnamen op.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAAL, -SIGNAAL\n" " naam of nummer van het te verzenden signaal\n" " -l, --list alle beschikbare signaalnamen opsommen, of een gegeven\n" " signaalnaam converteren naar een nummer of omgekeerd\n" " -t, --table een tabel met signaalnummers, -namen en betekenissen " "tonen\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAAL mag een signaalnaam zijn zoals 'HUP', of een signaalnummer zoals " "'1',\n" "of de afsluitwaarde van een proces dat beëindigd wordt door een signaal.\n" "PID is een geheel getal; als het negatief is dan duidt het een procesgroep " "aan.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "ongeldig proces-ID: %s" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "ongeldige optie: %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "meer dan één signaal gegeven: %s" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "meer dan één optie '-l' of '-t' gegeven" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "een signaal gaat niet samen met optie '-l' of '-t'" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "geen proces-ID gegeven" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" "het reserveren van %<PRIuMAX> bytes voor een invoer-/uitvoerbuffer is " "mislukt\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "ongeldige bufferingsmodus %s voor %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "kan de buffering van %s niet in modus %s zetten\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s BESTAND1 BESTAND2\n" " of: %s OPTIE\n" "\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Een harde koppeling maken met de naam BESTAND2 naar bestaand BESTAND1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "kan de koppeling %s naar %s niet aanmaken" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: een harde koppeling naar een map is niet toegestaan" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: kan een map niet overschrijven" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s vervangen? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "kan geen symbolische koppeling %s aanmaken" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "kan geen symbolische koppeling %s naar %s aanmaken" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "kan geen harde koppeling naar %.0s%s aanmaken" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "kan geen harde koppeling %s aanmaken" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "kan geen harde koppeling %s naar %s aanmaken" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Gebruik: %s [OPTIE...] [-T] DOEL KOPPELINGSNAAM (1ste vorm)\n" " of: %s [OPTIE...] DOEL (2de vorm)\n" " of: %s [OPTIE...] DOEL... MAP (3de vorm)\n" " of: %s [OPTIE...] -t MAP DOEL... (4de vorm)\n" "\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "In de 1ste vorm: een koppeling naar DOEL maken met de naam KOPPELINGSNAAM.\n" "In de 2de vorm: een koppeling naar DOEL maken in de huidige MAP.\n" "In de 3de en 4de vorm: koppelingen maken naar elk DOEL in MAP.\n" "Standaard wordt een harde koppeling gemaakt, met '-s' een symbolische; en\n" "standaard hoort de KOPPELINGSNAAM (naam van nieuwe link) nog niet te " "bestaan.\n" "Bij het maken van een harde koppeling moet elk DOEL bestaan. Symbolische\n" "koppelingen kunnen een willekeurige tekst bevatten; bij het later herleiden\n" "wordt een relatieve koppeling geïnterpreteerd in relatie tot haar ouder-" "map.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=METHODE] van elk bestemmingsbestand een reservekopie " "maken\n" " -b zoals '--backup', maar accepteert geen " "argument\n" " -d, -F, --directory de systeembeheerder toestaan een harde " "koppeling\n" " te maken naar mappen (hoewel dit " "waarschijnlijk\n" " niet zal werken, vanwege " "systeembeperkingen)\n" " -f, --force bestaande bestemmingsbestanden verwijderen\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive vragen of reeds bestaande namen verwijderd " "mogen\n" " -L, --logical naar diens doel koppelen als DOEL symbolisch " "is\n" " -n, --no-dereference KOPPELINGSNAAM als normaal bestand behandelen " "als\n" " het een symbolische koppeling naar een map " "is\n" " -P, --physical harde koppelingen direct naar symbolische " "maken\n" " -r, --relative symbolische koppelingen relatief maken t.o.v. " "plek\n" " -s, --symbolic symbolische in plaats van harde koppelingen " "maken\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFIX te gebruiken achtervoegsel voor " "reservekopieën\n" " -t, --target-directory=MAP map waarin de koppelingen gemaakt moeten " "worden\n" " -T, --no-target-directory KOPPELINGSNAAM als een normaal bestand " "behandelen\n" " -v, --verbose naam en doel van elke gemaakte koppeling " "tonen\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "Optie '-s' negeert '-L' en '-P'. Anders bepaalt de laatst gegeven optie " "het\n" "gedrag wanneer de bron een symbolische koppeling is; standaard is dit '%s'.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "opties '--target-directory' en '--no-target-directory' gaan niet samen" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "optie '--relative' kan niet zonder '--symbolic'" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "(onbekend)" # Deze commando's kennen alleen de opties --help en --version. #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" "Gebruik: %s [OPTIE]\n" "\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "De naam van de huidige gebruiker tonen.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "geen inlognaam" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "genegeerd: ongeldige waarde %s van omgevingsvariabele QUOTING_STYLE" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "genegeerd: ongeldige breedte %s in omgevingsvariabele COLUMNS" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "genegeerd: ongeldige tab-grootte %s in omgevingsvariabele TABSIZE" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "ongeldige regelbreedte: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "ongeldige tab-grootte: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "ongeldige opmaakstijl %s voor de tijd" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Geldige argumenten zijn:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +OPMAAK (bijvoorbeeld: +%H:%M) voor een opmaak zoals met 'date'\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "fout bij het initialiseren van maand-tekenreeksen" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "niet-herkend voorvoegsel: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "niet-ontleedbare waarde in omgevingsvariabele LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "kan map %s niet openen" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "kan het apparaat en de inode van %s niet bepalen" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "reeds getoonde map %s wordt niet opnieuw getoond" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "lezen van map %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "sluiten van map %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "kan bestandsnamen %s en %s niet vergelijken" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Toont informatie over de gegeven BESTANDen (standaard over de huidige map).\n" "\n" "De items worden alfabetisch gesorteerd als geen van de opties '-cftuvSUX'\n" "noch '--sort' gegeven is.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all ook de namen tonen die beginnen met een '.'\n" " -A, --almost-all als '-a', maar de items '.' en '..' weglaten\n" " --author met '-l': de auteur van elk bestand tonen\n" " -b, --escape niet-grafische tekens tonen als codes in C-" "stijl\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=GROOTTE de te tonen groottes schalen naar deze waarde;\n" " '--block-size=M' bijvoorbeeld toont de " "groottes\n" " in eenheden van 1.048.576 bytes; zie " "hieronder\n" " -B, --ignore-backups geen namen tonen die eindigen op '~'\n" " -c met '-lt': op 'ctime' sorteren en deze tonen " "(de\n" " tijd van de laatste " "statusinformatiewijziging);\n" " met '-l': op naam sorteren en 'ctime' tonen;\n" " anders: op 'ctime' sorteren, recentste eerst\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C de items in kolommen presenteren\n" " --color[=WANNEER] bestandstypen met kleuren onderscheiden;\n" " WANNEER is 'always' (altijd), " "'never' (nooit),\n" " of 'auto' (uitvoerapparaatafhankelijk);\n" " zie hieronder voor meer informatie\n" " -d, --directory de mappen zelf tonen in plaats van hun inhoud,\n" " en symbolische koppelingen niet volgen\n" " -D, --dired uitvoer produceren voor de 'dired'-modus van " "Emacs\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f hetzelfde als '-a -U' zonder '-l -s --color'\n" " -F, --classify achter elk item het type aanduiden (één van */" "=>@|)\n" " --file-type idem, maar '*' niet tonen\n" " --format=WOORD te gebruiken opmaak; WOORD kan zijn 'commas' (-" "m),\n" " 'across' of 'horizontal' (-x), 'vertical' (-" "C),\n" " 'long' of 'verbose' (-l), 'single-" "column' (-1)\n" " --full-time hetzelfde als '-l --time-style=full-iso'\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g als '-l', maar geen eigenaar tonen\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " mappen vóór bestanden groeperen; kan aangevuld\n" " worden met een '--sort', maar gebruik van\n" " '--sort=none' of '-U' deactiveert groepering\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group bij een uitgebreide lijst geen groepsnaam " "tonen\n" " -h, --human-readable groottes in leesbare vorm tonen (bijv. 15K, " "234M)\n" " --si idem, maar machten van 1000 i.p.v. 1024 " "gebruiken\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " symbolische koppelingen op opdrachtregel " "volgen\n" " --dereference-command-line-symlink-to-dir\n" " symbolische koppelingen op opdrachtregel die " "naar\n" " een map verwijzen volgen\n" " --hide=PATROON de namen die voldoen aan PATROON niet tonen\n" " (geldt niet samen met '-a' of '-A')\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=WIJZE op deze wijze achter elk item het type " "aanduiden;\n" " WIJZE kan zijn: 'none' (standaard), 'slash' (-" "p),\n" " 'file-type' (--file-type) of 'classify' (-F)\n" " -i, --inode met '-l': het indexnummer van elk bestand " "tonen\n" " -I, --ignore=PATROON de namen die voldoen aan PATROON niet tonen\n" " -k, --kibibytes blokken van 1024 bytes gebruiken\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l uitgebreide bestandsinformatie tonen\n" " -L, --dereference bij het tonen van bestandsinformatie voor een\n" " symbolische koppeling, de informatie over " "het\n" " bestand waar de koppeling naar verwijst " "tonen\n" " in plaats van over de koppeling zelf\n" " -m geen kolommen maar kommagescheiden lijst tonen\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid als '-l', met numerieke gebruikers- en groeps-" "ID's\n" " -N, --literal de ruwe itemnamen tonen (dus bijvoorbeeld\n" " stuurcodes niet speciaal behandelen)\n" " -o als '-l', maar groepsinformatie niet tonen\n" " -p, --indicator-style=slash\n" " een '/'-indicator achter mapnamen toevoegen\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars een '?' tonen in plaats van niet-grafische " "tekens\n" " --show-control-chars niet-grafische tekens tonen zoals ze zijn\n" " (standaard, tenzij uitvoer naar terminal " "gaat)\n" " -Q, --quote-name items omsluiten met aanhalingstekens\n" " --quoting-style=STIJL te gebruiken aanhalingsstijl voor items;\n" " STIJL kan zijn: 'literal' (-N), 'locale',\n" " 'shell', 'shell-always', 'c' (-Q), 'escape' (-" "b)\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse de sorteervolgorde omdraaien\n" " -R, --recursive submappen recursief tonen\n" " -s, --size toegewezen aantal blokken tonen voor ieder " "bestand\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S op bestandsgrootte sorteren\n" " --sort=WIJZE te gebruiken sorteerwijze; WIJZE kan zijn:\n" " 'size' (-S), 'time' (-t), 'none' (-U),\n" " 'version' (-v), 'extension' (-X)\n" " --time=SOORT met '-l': te tonen soort tijd; SOORT kan zijn:\n" " 'atime' of 'access' of 'use' (-u),\n" " 'ctime' of 'status' (-c)\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STIJL met '-l': tijden volgens deze stijl tonen;\n" " STIJL kan zijn: 'iso', 'long-iso', 'full-" "iso',\n" " 'locale', of '+OPMAAK';\n" " OPMAAK wordt geïnterpreteerd zoals bij " "'date';\n" " als OPMAAK de vorm " "OPMAAK1<nieuweregel>OPMAAK2\n" " heeft, dan geldt OPMAAK1 voor oude bestanden\n" " en OPMAAK2 voor recente bestanden;\n" " als STIJL 'posix-' als voorvoegsel heeft, " "dan\n" " geldt deze alleen buiten de POSIX-taalregio\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t op de tijd van laatste wijziging sorteren\n" " -T, --tabsize=AANTAL te gebruiken tabbreedte in plaats van 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u met -lt: op toegangstijd sorteren en deze " "tonen;\n" " met -l: toegangstijd tonen en op naam " "sorteren;\n" " anders: op toegangstijd sorteren\n" " -U de items ongesorteerd tonen, op " "plaatsingsvolgorde\n" " -v logisch sorteren op (versie)nummers in de naam\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=BREEDTE te gebruiken schermbreedte i.p.v. huidige " "waarde\n" " -x de items per regel tonen i.p.v. in kolommen\n" " -X alfabetisch sorteren op bestandsextensie\n" " -Z, --context SELinux-beveiligingscontexten tonen\n" " -1 één item per regel tonen\n" "\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Het gebruik van kleuren om bestandstypes te onderscheiden kan uitgeschakeld\n" "worden met '--color=never' (standaard). Met '--color=auto' produceert 'ls'\n" "alleen kleurcodes als standaarduitvoer verbonden is met een terminal.\n" "Omgevingsvariabele LS_COLORS kan deze instellingen wijzigen. Gebruik\n" "het commando 'dircolors' om deze variabele in te stellen.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "De afsluitwaarde is:\n" " 0 indien OK,\n" " 1 bij kleine problemen (bijv. geen toegang tot een submap),\n" " 2 bij serieuze problemen (bijv. geen toegang tot argument op " "opdrachtregel).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Gebruik: %s [OPTIE] [BESTAND...]\n" "\n" "%s-controlesommen (%d-bits) tonen of controleren.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary in binaire modus lezen (standaard, behalve bij " "standaardinvoer)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary in binaire modus lezen\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check %s-controlesommen uit BESTAND(en) lezen en controleren\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag een controlesom in BSD-stijl genereren\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text in tekstmodus lezen (standaard bij lezen van " "standaardinvoer)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text in tekstmodus lezen (standaard)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "De volgende drie opties gelden alleen bij het controleren van " "controlesommen:\n" " --quiet geen 'goed' tonen voor elk met succes gecontroleerd " "bestand\n" " --status niets naar de uitvoer sturen; de afsluitwaarde toont " "succes\n" " -w, --warn waarschuwen bij verkeerd opgemaakte controlesomregels\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict met '--check': met foutcode afsluiten bij ongeldige " "invoer\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "De sommen worden berekend zoals beschreven in %s. Bij het controleren\n" "moet de invoer voormalige uitvoer van dit programma zijn. De " "standaardmodus\n" "toont voor elk BESTAND een regel met een controlesom, een teken dat het " "type\n" "aangeeft ('*' voor binair, ' ' voor tekst), en de naam van het bestand.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: te veel regels met controlesommen" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: onjuist opgemaakte regel met %s-controlesom" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: openen of lezen is MISLUKT\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "VERKEERD" #: src/md5sum.c:597 msgid "OK" msgstr "goed" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: geen correct opgemaakte regels met %s-controlesommen gevonden" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "WAARSCHUWING: %<PRIuMAX> regel is onjuist opgemaakt" msgstr[1] "WAARSCHUWING: %<PRIuMAX> regels zijn onjuist opgemaakt" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "WAARSCHUWING: %<PRIuMAX> getoond bestand kan niet gelezen worden" msgstr[1] "" "WAARSCHUWING: %<PRIuMAX> getoonde bestanden kunnen niet gelezen worden" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "WAARSCHUWING: %<PRIuMAX> berekende controlesom komt NIET overeen" msgstr[1] "" "WAARSCHUWING: %<PRIuMAX> berekende controlesommen komen NIET overeen" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "optie '--tag' gaat niet samen met '--text'" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "de optie '--tag' geldt niet voor het verifiëren van controlesommen" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "de opties '--binary' en '--text' gelden niet voor het verifiëren van " "controlesommen" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "de optie '--status' geldt alleen voor het verifiëren van controlesommen" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "de optie '--warn' geldt alleen voor het verifiëren van controlesommen" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "de optie '--quiet' geldt alleen voor het verifiëren van controlesommen" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "de optie '--strict' geldt alleen voor het verifiëren van controlesommen" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" "Gebruik: %s [OPTIE...] MAP...\n" "\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Maakt de gegeven MAP(pen) aan (als ze nog niet bestaan).\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODUS in te stellen rechten (zie 'chmod'), i.p.v. 'a=rwx - " "umask'\n" " -p, --parents bovenliggende mappen aanmaken, indien nodig;\n" " en geen fout melden als een map al bestaat\n" " -v, --verbose een melding geven voor elke aangemaakte map\n" " -Z, --context=CTX te gebruiken beveiligingscontext voor elke aangemaakte " "map\n" "\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "map %s is aangemaakt" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" "Gebruik: %s [OPTIE...] NAAM...\n" "\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Maakt voor elke gegeven NAAM een benoemde pijp (FIFO) aan.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODUS in te stellen rechten (zie 'chmod'), i.p.v. 'a=rw - " "umask'\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX te gebruiken beveiligingscontext voor elke aangemaakte " "pijp\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "ongeldige modus" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "de modus mag alleen bestandstoegangsrechten bevatten" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" "Gebruik: %s [OPTIE...] NAAM TYPE [HOOFDNUMMER SUBNUMMER]\n" "\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Maakt het speciale bestand NAAM aan van het gegeven TYPE.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=CTX te gebruiken beveiligingscontext voor NAAM\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Zowel HOOFD- als SUBNUMMER moeten gegeven worden wanneer TYPE 'b', 'c' of " "'u'\n" "is, en weggelaten als TYPE 'p' is. Als HOOFD- of SUBNUMMER begint met '0x'\n" "of '0X', dan is de interpretatie hexadecimaal; anders, als het begint met " "0,\n" "octaal; anders decimaal. TYPE mag zijn:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b een blok-apparaatbestand aanmaken (gebufferd)\n" " c, u een byte-apparaatbestand aanmaken (ongebufferd)\n" " p een FIFO aanmaken\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Speciale bestanden vereisen hoofd- en subapparaatnummers." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO's hebben geen hoofd- en subapparaatnummers." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blok-apparaatbestanden worden niet ondersteund" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "byte-apparaatbestanden worden niet ondersteund" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "ongeldig hoofdapparaatnummer %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "ongeldig subapparaatnummer %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "ongeldig apparaat %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "ongeldig apparaattype %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" "Gebruik: %s [OPTIE...] [SJABLOON]\n" "\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Een tijdelijk bestand of map op een veilige manier aanmaken en de naam " "tonen.\n" "SJABLOON moet minstens 3 elkaar opvolgende X-en bevatten in de laatste " "component.\n" "Als geen SJABLOON gegeven is, wordt 'tmp.XXXXXXXXXX' gebruikt en is '--" "tmpdir'\n" "impliciet.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Bestanden worden aangemaakt met de toegangsrechten u+rw,\n" "en mappen met u+rwx, minus de 'umask'-restricties.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory een map aanmaken, geen bestand\n" " -u, --dry-run niets aanmaken; enkel een naam tonen (onveilig)\n" " -q, --quiet foutmeldingen over mislukte aanmakingen onderdrukken\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=VGSL dit achtervoegsel achter SJABLOON plakken; VGSL mag " "geen\n" " schuine streep bevatten; deze optie is impliciet " "als\n" " SJABLOON niet op een X eindigt\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=MAP] SJABLOON relatief ten opzichte van MAP interpreteren;\n" " als geen MAP gegeven is, dan $TMPDIR gebruiken " "indien\n" " ingesteld, anders /tmp; met deze optie mag SJABLOON " "geen\n" " absoluut pad zijn; het mag wel schuine strepen " "bevatten,\n" " maar 'mktemp' zal slechts de laatste component " "aanmaken\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p MAP deze MAP als voorvoegsel gebruiken; impliceert '-t'\n" " [deze optie is verouderd en wordt ontraden]\n" " -t SJABLOON als een enkele bestandsnaamcomponent\n" " gebruiken, relatief ten opzichte een map: $TMPDIR,\n" " indien ingesteld; anders de map gegeven via '-p';\n" " anders /tmp [verouderd]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "kan standaardfoutuitvoer niet omleiden naar /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "te veel sjablonen" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "met '--suffix' moet sjabloon %s eindigen op een X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "ongeldig achtervoegsel %s; het bevat een mapscheidingsteken" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "te weinig X'en in sjabloon %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "ongeldig sjabloon %s; het bevat een mapscheidingsteken" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "ongeldig sjabloon %s; met '--tmpdir' mag deze niet absoluut zijn" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "kan geen map aanmaken via sjabloon %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "kan geen bestand aanmaken via sjabloon %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "Hernoemt BRON naar BESTEMMING, of verplaatst BRON(nen) naar MAP.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=METHODE] van elk bestemmingsbestand een reservekopie " "maken\n" " -b als '--backup', maar accepteert geen " "argument\n" " -f, --force niets vragen alvorens te overschrijven\n" " -i, --interactive voor overschrijven om toestemming vragen\n" " -n, --no-clobber geen bestaand bestand overschrijven\n" "Als u meer dan één van -i, -f, -n specificeert dan is alleen de laatste " "effectief.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes schuine strepen achter elke BRON " "verwijderen\n" " -S, --suffix=ACHTERVOEGSEL te gebruiken achtervoegsel voor " "reservekopieën\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=MAP alle BRON-argumenten naar deze map " "verplaatsen\n" " -T, --no-target-directory BESTEMMING als een normaal bestand " "behandelen\n" " -u, --update alleen verplaatsen als BRON nieuwer is dan " "de\n" " bestemming of wanneer deze niet bestaat\n" " -v, --verbose tonen wat er gedaan wordt\n" "\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" "Gebruik: %s [OPTIE] [COMMANDO [ARGUMENT...]]\n" "\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Voert het gegeven COMMANDO uit met een aangepaste procesbeleefdheid;\n" "als geen COMMANDO gegeven is, dan de huidige procesbeleefdheid tonen.\n" "Beleefdheidswaarden lopen van %d (krijgt meeste tijd) tot %d (minste tijd).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=GETAL dit getal (standaard 10) optellen bij de " "beleefdheid\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ongeldige aanpassing %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "bij een aanpassing moet er een commando gegeven worden" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "kan de huidige beleefdheidswaarde niet verkrijgen" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "kan beleefdheidswaarde niet instellen" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Stuurt elk gegeven BESTAND naar standaarduitvoer, met regelnummers " "toegevoegd.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIJL te gebruiken stijl voor regelnummering\n" " -d, --section-delimiter=TT te gebruiken tekenpaar voor " "paginascheiding\n" " -f, --footer-numbering=STIJL stijl voor de nummering van voetregels\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIJL stijl voor de nummering van kopregels\n" " -i, --page-increment=GETAL regelnummer na elke regel met dit getal " "ophogen\n" " -l, --join-blank-lines=AANTAL dit aantal lege regels als één regel " "tellen\n" " -n, --number-format=OPMAAK te gebruiken OPMAAK voor regelnummers\n" " -p, --no-renumber regelnummer niet resetten bij logische " "pagina's\n" " -s, --number-separator=TEKST toe te voegen tekst na (mogelijk) " "regelnummer\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=GETAL eerste regelnummer op elke logische " "pagina\n" " -w, --number-width=AANTAL aantal te gebruiken kolommen voor " "regelnummers\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "De standaardopties zijn '-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'.\n" "TT zijn twee tekens voor het scheiden van logische pagina's;\n" "een ontbrekend tweede teken betekent een ':'. Geef \\\\ voor \\.\n" "\n" "STIJL is één van:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a alle regels nummeren\n" " t alleen niet-lege regels nummeren\n" " n geen regels nummeren\n" " pBRE alleen regels nummeren waarvan een deel voldoet aan deze\n" " gewone reguliere expressie (BRE)\n" "\n" "OPMAAK is één van:\n" "\n" " ln links uitgelijnd, geen voorloopnullen\n" " rn rechts uitgelijnd, geen voorloopnullen\n" " rz rechts uitgelijnd, met voorloopnullen\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "regelnummer loopt over" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "ongeldige stijl voor kopregelnummering: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "ongeldige stijl voor regelnummers: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "ongeldige stijl voor voetregelnummering: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "ongeldig regelnummer voor beginregel: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "ongeldige ophoging voor regelnummers: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "ongeldig aantal lege regels: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "ongeldige veldbreedte voor regelnummer: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "ongeldige opmaak voor nummering: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s COMMANDO [ARGUMENT...]\n" " of: %s OPTIE\n" "\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Het gegeven COMMANDO uitvoeren, 'hangup'-signalen negerend.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Als standaardinvoer een terminal is, dan deze naar '/dev/null' omleiden.\n" "Als standaarduitvoer een terminal is, dan eventuele uitvoer zo mogelijk aan\n" "'nohup.out' toevoegen, anders aan '$HOME/nohup.out'. Als " "standaardfoutuitvoer\n" "een terminal is, dan deze naar standaarduitvoer omleiden.\n" "Gebruik '%s COMMANDO > BESTAND' om de uitvoer naar een BESTAND te sturen.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "kan standaardinvoer niet onbruikbaar maken" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "invoer wordt genegeerd" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "invoer wordt genegeerd en uitvoer wordt aan %s toegevoegd" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "uitvoer wordt aan %s toegevoegd" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "kan kopie van standaardfoutuitvoer niet instellen om te sluiten bij " "uitvoering" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "invoer wordt genegeerd en standaardfoutuitvoer gaat naar standaarduitvoer" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "standaardfoutuitvoer gaat naar standaarduitvoer" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "kan standaardfoutuitvoer niet omleiden" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" "Gebruik: %s [OPTIE...]\n" "\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Het aantal processoreenheden tonen dat beschikbaar is voor het huidige " "proces;\n" "dit kan minder zijn dan het aantal processoren dat online is.\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all het aantal geïnstalleerde processoren tonen\n" " --ignore=N indien mogelijk, N processoreenheden uitsluiten\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: ongeldig aantal om uit te sluiten" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "waarde is te groot om geconverteerd te kunnen worden: '%s'" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "ongeldig getal: '%s'" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "ongeldig achtervoegsel in invoer: '%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "voorbereiden van waarde '%Lf' voor tonen is mislukt" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "ongeldige eenheidsgrootte: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "onvoldoende geheugen beschikbaar (%zu bytes werden gevraagd)" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Gebruik: %s [OPTIE...] [GEBRUIKER...]\n" #: src/numfmt.c:816 #, fuzzy msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "xxx" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict met '--check': met foutcode afsluiten bij ongeldige " "invoer\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "Andere opties:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "opmaakspecificatie %s bevat geen '%%'" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "ongeldige opmaak %s (breedte is te groot)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "opmaakspecificatie %s eindigt in '%%'" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "opmaakspecificatie %s bevat te veel '%%'" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ongeldig achtervoegsel in invoer '%s': '%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "groote invoerwaarde '%s': mogelijk verlies van precisie" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "invoerregel is te lang; geen getallen gevonden om te converteren in veld %ld" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "ongeldige opvulwaarde '%s'" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "ongeldige veldwaarde '%s'" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "ongeldige kopregelwaarde '%s'" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "de opties '--grouping' en '--format' gaan niet samen" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "de opties '--padding' en '--format' gaan niet samen" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "geen conversie-optie gegeven" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "groepering gaat niet samen met optie '--to'" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "groepering heeft geen effect in deze taalregio" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "optie '--header' wordt genegeerd met invoer op de opdrachtregel" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "fout bij lezen van invoer" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "enkele van de invoergetallen zijn niet geconverteerd" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Gebruik: %s [OPTIE...] [BESTAND...]\n" " of: %s [-abcdfilosx] [BESTAND] [[+]POSITIE[.][b]]\n" " of: %s --traditional [OPTIES] [BSTND] [[+]POSITIE[.][b] [+][LABEL][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Een eenduidige representatie (standaard octale bytes) van het gegeven\n" "BESTAND naar standaarduitvoer sturen. Bij meer dan één BESTAND, deze\n" "in de gegeven volgorde achter elkaar plakken om de invoer te vormen.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Als niet '--traditional' gebruikt is, dan geldt de tweede vorm van " "'Gebruik'\n" "wanneer het laatste argument met een '+' begint of (bij twee argumenten) " "met\n" "een cijfer. Een POSITIE-argument betekent hetzelfde als '-j POSITIE'.\n" "LABEL is een pseudo-adres voor de eerste getoonde byte, wordt tussen " "haakjes\n" "getoond, en wordt net als het echte adres opgehoogd tijdens de voortgang.\n" "Voor POSITIE en LABEL betekenen een voorgevoegde '0x' of '0X' hexadecimaal;\n" "het achtervoegsel '.' betekent octaal en 'b' vermenigvuldiging met 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=GROND te gebruiken grondtal voor adressen (o, d, x, " "n)\n" " -j, --skip-bytes=AANTAL dit aantal bytes aan begin van invoer " "overslaan\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=AANTAL uitvoer beperken tot dit aantal bytes van " "invoer\n" " -S, --strings[=AANTAL] alleen symboolnamen tonen, van minstens deze " "lengte\n" " -t, --format=TYPE te gebruiken type opmaak voor de uitvoer\n" " -v, --output-duplicates duplicaten tonen, i.p.v. '*' voor " "regelweglating\n" " -w, --width[=AANTAL] aantal te tonen bytes per uitvoerregel\n" " --traditional ook argumenten in traditionele vorm accepteren\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Traditionele opmaakspecificaties mogen ook gebruikt worden; zij tellen op:\n" " -a als '-t a', tekennamen tonen, het hoogste bit negerend\n" " -b als '-t o1', octale getallen van 1 byte tonen\n" " -c als '-t c', ASCII-tekens of backslash-codes tonen\n" " -d als '-t u2', decimale getallen van 2 bytes zonder teken tonen\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f als '-t fF', drijvendekommagetallen tonen\n" " -i als '-t dI', decimale korte gehele getallen tonen\n" " -l als '-t dL', decimale lange gehele getallen tonen\n" " -o als '-t o2', octale getallen van 2 bytes tonen\n" " -s als '-t d2', decimale getallen van 2 bytes tonen\n" " -x als '-t x2', hexadecimale getallen van 2 bytes tonen\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYPE bestaat uit één of meer van de volgende aanduidigen:\n" " a tekennaam, het hoogste bit negerend\n" " c ASCII-teken of backslash-code\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[AANTAL] decimaal getal met plus- of minteken, met AANTAL bytes per " "getal\n" " f[AANTAL] drijvendekommagetal, met AANTAL bytes per getal\n" " o[AANTAL] octaal getal, met AANTAL bytes per getal\n" " u[AANTAl] decimaal getal zonder teken, met AANTAL bytes per getal\n" " x[AANTAL] hexadecimaal getal, met AANTAL bytes per getal\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "AANTAL is een getal. Als TYPE een van [doux] is, dan mag AANTAL ook zijn:\n" "C voor sizeof(char), S voor sizeof(short), I voor sizeof(int), of L voor\n" "sizeof(long). Als TYPE 'f' is, mag AANTAL ook zijn: F voor sizeof(float),\n" "D voor sizeof(double), of L voor sizeof(long double). (De " "machineafhankelijke\n" "functie sizeof() geeft de lengte in bytes aan van de gegeven eenheid.)\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Getal N mag gevolgd worden door een vermenigvuldigingsachtervoegsel:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, en zo verder voor T, P, E, Z en Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "ongeldig type: %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "ongeldig type: %s;\n" "dit systeem kent geen geheelgetaltype van %lu bytes " #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "ongeldig type: %s;\n" "dit systeem kent geen drijvendekommagetal van %lu bytes " #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "ongeldig teken '%c' in opmaakreeks %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "kan niet voorbij het einde van de gecombineerde invoer springen" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "ongeldige grondtalcode '%c' voor adressen; kies een teken uit [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "er mag geen opmaaktype gegeven worden als symboolnamen getoond worden" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "compatibiliteitsmodus mag met hooguit één bestand" # Dit gaat om niet-representeerbaarheid in een beperkt aantal bits. #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "de som van de argumenten van '-j' en '-N' is te groot" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "waarschuwing: ongeldige breedte %lu; zal %d gebruiken" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "ongeldig signaal: %s" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standaardinvoer is gesloten" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scheidt de overeenkomstige regels uit de gegeven BESTANDen met tabs en " "stuurt\n" "ze naar standaarduitvoer -- oftewel: voegt de bestanden als kolommen samen.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LIJST te gebruiken scheidingstekens in plaats van tabs\n" " -s, --serial de bestanden als rijen samenvoegen\n" "\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "lijst met scheidingstekens eindigt met onaangehaalde backslash: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Op ongeldige of niet-overdraagbare bestandsnamen controleren.\n" "\n" " -p controle uitvoeren voor de meeste POSIX-systemen\n" " -P controle uitvoeren op lege namen of \"-\" vooraan\n" " --portability controle voor alle POSIX-systemen (hetzelfde als -p -" "P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "een '-' aan het begin van een component in bestandsnaam %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "niet-overdraagbaar teken %s in bestandsnaam %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "lege bestandsnaam" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: kan maximum lengte van een bestandsnaam niet bepalen" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limiet %lu is overschreden door de lengte %lu van bestandsnaam %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "limiet %lu is overschreden door de lengte %lu van bestandsnaamcomponent %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" # Als de echte naam op het systeem niet bestaat. #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "(onbekend)" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Gebruikersnaam: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Echte naam: " # Als de echte naam op het systeem niet bestaat. #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "(onbekend)\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Map: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Project: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" # Dit mag maximaal 8 tekens zijn, vandaar de samendrukking. #: src/pinky.c:405 msgid "Login" msgstr "Gbruikr" #: src/pinky.c:407 msgid "Name" msgstr "Volledige naam" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" # Het aantal minuten inactiviteit; maximaal 6 tekens. #: src/pinky.c:410 msgid "Idle" msgstr "Ledig" # Aanmeldingstijd. #: src/pinky.c:411 msgid "When" msgstr "Ingelogd" #: src/pinky.c:414 msgid "Where" msgstr "Waar" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Gebruik: %s [OPTIE...] [GEBRUIKER...]\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l de lange uitvoer tonen (voor de gegeven GEBRUIKER(s))\n" " -b de standaardmap en -shell weglaten in de lange uitvoer\n" " -h het projectbestand weglaten in de lange uitvoer\n" " -p het planbestand weglaten in de lange uitvoer\n" " -s de korte uitvoer tonen (standaard)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f de kopregel weglaten in de korte uitvoer\n" " -w de volledige naam van de gebruiker weglaten in de korte uitvoer\n" " -i de volledige naam en de externe host weglaten in de korte uitvoer\n" " -q volledige naam, externe host en inactief weglaten in de korte " "uitvoer\n" "\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Een lichtgewicht 'finger'-programma dat gebruikersinformatie toont.\n" "Het geraadpleegde 'utmp'-bestand is %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "als '-l' wordt gebruikt, moet minstens één gebruikersnaam gegeven worden" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "ontbrekend argument in '--pages=EERSTE[:LAATSTE]'" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "ongeldige paginareeks %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "'-l PAGINALENGTE', ongeldig aantal regels: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N AANTAL', ongeldig beginregelnummer: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "'-o MARGE', ongeldige regelpositie: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "'-w PAGINABREEDTE', ongeldig aantal tekens: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "'-W PAGINABREEDTE', ongeldig aantal tekens: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "bij horizontaal afdrukken kan het aantal kolommen niet worden opgegeven" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "kan niet zowel verticaal als horizontaal afdrukken" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "'-%c', overtollige tekens of ongeldig getal in het argument: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "te smalle paginabreedte" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "startpaginanummer %<PRIuMAX> is hoger dan het aantal pagina's %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "paginanummer loopt over" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Pagina %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Maakt van de gegeven BESTAND(en) pagina's of kolommen, om ze af te drukken.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +EERSTE_PAGINA[:LAATSTE_PAGINA], --pages=EERSTE_PAGINA[:LAATSTE_PAGINA]\n" " met afdrukken beginnen bij EERSTE_PAGINA\n" " (en stoppen bij LAATSTE_PAGINA)\n" " -KOLOMMEN, --columns=KOLOMMEN\n" " dit aantal kolommen gebruiken, en verticaal afdrukken\n" " tenzij '-a' gegeven is; het aantal regels per kolom\n" " voor elke pagina gelijk houden\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across kolommen horizontaal i.p.v. verticaal afdrukken\n" " (wordt samen met -KOLOMMEN gebruikt)\n" " -c, --show-control-chars\n" " dakje-notatie (^G) en octale backslash-notatie " "gebruiken\n" " -d, --double-space\n" " tussen elk paar regels een lege regel toevoegen\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=OPMAAK\n" " te gebruiken opmaak voor de kopdatum\n" " -e, --expand-tabs[=TEKEN[BREEDTE]]\n" " elk TEKEN (standaard de tab) in de invoer vervangen " "door\n" " BREEDTE (standaard 8) aan spaties\n" " -F, -f, --form-feed\n" " nieuwepagina-tekens i.p.v. nieuweregel-tekens gebruiken " "om\n" " pagina's te scheiden; paginakop bekorten van 5 tot 3 " "regels\n" " en geen paginavoet printen\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=KOPTEKST\n" " gecentreerde tekst ipv bestandsnaam gebruiken in " "paginakop;\n" " '-h \"\"' zou een blanco regel printen; gebruik niet '-h" "\"\"'\n" " -i[TEKEN[BREEDTE]], --output-tabs[=TEKEN[BREEDTE]]\n" " BREEDTE (standaard 8) aan spaties vervangen door TEKEN\n" " (standaard een tab)\n" " -J, --join-lines volle regels aan elkaar plakken; schakelt " "regelafbreking\n" " van '-W' uit; kolommen worden niet uitgelijnd;\n" " '--sep-string[=TEKST]' stelt scheidingstekens in\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=PAGINALENGTE\n" " te gebruiken paginalengte (standaard 66 regels -- " "waarvan\n" " 56 regels tekst en met '-F 63')\n" " -m, --merge de bestanden naast elkaar printen, elk in een kolom;\n" " lange regels afkappen, tenzij '-J' gegeven is\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[TEKEN[AANTAL]], --number-lines[=TEKEN[AANTAL]]\n" " regels nummeren (met gegeven AANTAL cijfers (standaard " "5)\n" " en daarna TEKEN (standaard een tab)); het tellen begint\n" " standaard bij de eerste regel van het invoerbestand\n" " -N, --first-line-number=GETAL\n" " te gebruiken regelnummer voor de eerste te printen " "regel\n" " op de eerste te printen pagina (zie +EERSTEPAGINA)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGE\n" " elke regel dit aantal spaties (standaard nul) naar " "rechts\n" " verschuiven; heeft geen invloed op '-w' en '-W'; de " "MARGE\n" " wordt opgeteld bij PAGINABREEDTE\n" " -r, --no-file-warnings\n" " geen waarschuwing geven als bestand niet geopend kan " "worden\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[TEKEN], --separator[=TEKEN]\n" " kolommen scheiden door een enkel TEKEN; dit teken is\n" " standaard het TAB-teken (zonder '-w') of geen (met '-" "w');\n" " -s[TEKEN] schakelt regelafkapping uit voor de\n" " drie kolomopties ('-KOLOMMEN'|'-a -KOLOMMEN'|'-m')\n" " behalve als ook '-w' gegeven is\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[TEKST], --sep-string[=TEKST]\n" " kolommen scheiden door TEKST; zonder '-S' is deze " "tekst\n" " standaard een TAB-teken als met '-J', anders een " "spatie\n" " (hetzelfde als '-S\" \"'); heeft geen invloed op " "kolomopties\n" " -t, --omit-header paginakop- en voetteksten weglaten\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " paginakop- en voetteksten weglaten en nieuwepagina-" "tekens\n" " in de invoer negeren\n" " -v, --show-nonprinting\n" " octale backslash- notatie gebruiken voor stuurcodes\n" " -w, --width=PAGINABREEDTE\n" " te gebruiken paginabreedte (standaard 72) bij meerdere\n" " tekstkolommen; -s[TEKEN] schakelt de standaardbreedte " "uit\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=PAGINABREEDTE\n" " te gebruiken paginabreedte (standaard 72);\n" " lange regels afkappen, tenzij '-J' gegeven is;\n" " '-S' en '-s' hebben geen invloed\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Optie '-t' is standaard als PAGINALENGTE kleiner of gelijk aan 10 is.\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Gebruik: %s [OPTIE...] [VARIABELE...]\n" "\n" "De waarde van de gegeven omgevingsvariabele(n) weergeven.\n" "\n" "Zonder VARIABELE, de waarden van alle omgevingsvariabelen tonen.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null elke regel afsluiten met 0-byte, niet met nieuweregel\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "waarschuwing: %s: tekens na tekenconstante zijn genegeerd" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s OPMAAK [ARGUMENT...]\n" " of: %s OPTIE\n" "\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "De gegeven OPMAAK gebruiken om eventuele ARGUMENTen weer te geven.\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "De OPMAAK bestuurt de uitvoer net als bij printf() in de taal C.\n" "Begrepen sequenties zijn:\n" "\n" " \\\" een aanhalingsteken (\")\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN byte met octale waarde NNN (1 tot 3 cijfers)\n" " \\xHH byte met hexadecimale waarde HH (1 of 2 cijfers)\n" " \\uHHHH Unicode-teken (ISO/IEC 10646) met hexadecimale waarde HHHH (4 " "cijfers)\n" " \\UHHHHHHHH Unicode-teken met hexadecimale waarde HHHHHHHH (8 cijfers)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% een enkel %-teken\n" " %b ARGUMENT interpreteren als tekenreeks met bovenstaande '\\'-" "codes,\n" " behalve dat octale codes van de vorm \\0 of \\0NNN zijn\n" "\n" "Verder worden alle C-opmaakcodes begrepen die eindigen op een van de tekens\n" "uit 'diouxXfeEgGcs', waarbij de ARGUMENTen eerst geconverteerd worden naar\n" "het juiste type. Variabele breedtes worden begrepen.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: een numerieke waarde werd verwacht" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: waarde is niet volledig geconverteerd" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "ontbrekende hexadecimale cijfers" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ongeldige universele tekennaam \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ongeldige veldbreedte: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "ongeldige precisie: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: ongeldige conversiespecificatie" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "waarschuwing: overbodige argumenten worden genegeerd, beginnend bij %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (voor reguliere expressie %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Gebruik: %s [OPTIE...] [INVOER...] (zonder -G)\n" " of: %s -G [OPTIE...] [INVOER [UITVOER]]\n" "\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Produceert een gepermuteerde index, inclusief context,\n" "van de woorden in de invoerbestanden.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference bestandsnaam- en regelnummer toevoegen\n" " -G, --traditional meer zoals de oude 'ptx' van System V\n" " -F, --flag-truncation=TEKST tekenreeks die zinsafbrekingen aangeeft\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=NAAM te gebruiken macronaam in plaats van 'xx'\n" " -O, --format=roff als uitvoer 'nroff'-directieven produceren\n" " -R, --right-side-refs referenties rechts, niet meetellen in '-w'\n" " -S, --sentence-regexp=REGEXP definieert eind van regels of eind van " "zinnen\n" " -T, --format=tex als uitvoer 'TeX'-directieven produceren\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP REGEXP definieert sleutelwoorden\n" " -b, --break-file=BESTAND woordafbreektekens staan in dit BESTAND\n" " -f, --ignore-case kleine letters als hoofdletters beschouwen\n" " -g, --gap-size=GETAL ruimte (in kolommen) tussen uitvoervelden\n" " -i, --ignore-file=BESTAND BESTAND met woorden die niet meedoen\n" " -o, --only-file=BESTAND BESTAND met woorden die alleen meedoen\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references eerste veld van elke regel is een " "referentie\n" " -t, --typeset-mode (niet geïmplementeerd)\n" " -w, --width=GETAL uitvoerbreedte in kolommen, zonder " "referentie\n" "\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "Optie '-F /' is standaard.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "ongeldige breedte van tussenruimte: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "De volledige bestandsnaam van de huidige werkmap tonen.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical PWD uit de omgeving gebruiken, zelfs als deze symbolische\n" " koppelingen bevat\n" " -P, --physical alle symbolische koppelingen vermijden\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "kan niet naar map %s gaan" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "kan status van %s niet opvragen" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "kan geen mapitem vinden in %s met een overeenkomende inode" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "argumenten die geen optie zijn worden genegeerd" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" "Gebruik: %s [OPTIE...] BESTAND...\n" "\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "De waarde van een symbolische koppeling of echte naam tonen\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize canoniek maken door elke koppeling in elke\n" " component van het pad recursief te volgen;\n" " alle behalve laatste component moeten " "bestaan\n" " -e, --canonicalize-existing canoniek maken door elke koppeling in elke\n" " component van het pad recursief te volgen;\n" " alle componenten moeten bestaan\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing canoniek maken door elke koppeling in elke\n" " component van het pad recursief te volgen;\n" " geen van de componenten hoeft te bestaan\n" "\n" " -n, --no-newline geen nieuweregel-teken achtervoegen\n" " -q, --quiet de meeste foutmeldingen onderdrukken\n" " -s, --silent de meeste foutmeldingen onderdrukken\n" " -v, --verbose meer foutmeldingen tonen\n" "\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "optie '--no-newline' met meerdere argumenten wordt genegeerd" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "De herleide absolute bestandsnaam tonen;\n" "alleen de laatste component hoeft niet te bestaan.\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing alle componenten van het pad moeten bestaan\n" " -m, --canonicalize-missing geen van de componenten van pad hoeft te " "bestaan\n" " -L, --logical '..'-componenten herleiden vóór sym-" "koppelingen\n" " -P, --physical symbolische koppelingen direct herleiden " "(standaard)\n" " -q, --quiet de meeste foutmeldingen onderdrukken\n" " --relative-to=BESTAND het herleide pad relatief tot BESTAND tonen\n" " --relative-base=MAP absolute paden tonen behalve wanneer onder " "MAP\n" " -s, --strip, --no-symlinks symbolische koppelingen niet herleiden\n" " -z, --zero uitvoer met NUL-tekens scheiden i.p.v. LF-" "tekens\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "aanmaken van relatief pad" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: afdalen in voor schrijven beschermde map %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: afdalen in map %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: %s %s (schrijfbeveiligd) verwijderen? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: %s %s verwijderen? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "map %s is verwijderd\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "kan map %s niet verwijderen" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "%s wordt overgeslagen, omdat deze zich op een ander apparaat bevindt" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "doorlopen is mislukt: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "onverwachte fout: fts_info=%d: %s\n" "gaarne rapporteren aan %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Typ '%s ./%s' om het bestand %s te verwijderen.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Gegeven BESTAND(en) verwijderen.\n" "\n" " -f, --force niet-bestaande argumenten negeren, geen vragen " "stellen\n" " -i voor elke verwijdering om bevestiging vragen\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I voor het verwijderen van meer dan drie bestanden, " "of\n" " bij recursieve verwijdering, om bevestiging " "vragen;\n" " dit is minder beperkend dan '-i', maar biedt " "toch\n" " bescherming tegen de meeste vergissingen\n" " --interactive[=WANNEER] al dan niet om bevestiging vragen;\n" " WANNEER kan zijn: 'never' (nooit), 'once' (-" "I),\n" " of 'always' (-i); zonder WANNEER altijd " "vragen\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system bij recursief verwijderen, mappen overslaan die\n" " zich op een ander bestandssysteem bevinden dan\n" " het bijbehorende opdrachtregelargument\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root '/' niet speciaal behandelen\n" " --preserve-root op '/' niet recursief werken (standaard)\n" " -r, -R, --recursive mappen en hun inhoud recursief verwijderen\n" " -d, --dir lege mappen verwijderen\n" " -v, --verbose tonen wat er gedaan wordt\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Standaard verwijdert 'rm' geen mappen. Gebruik de optie '--recursive'\n" "('-r' of '-R') om ook iedere genoemde map en diens inhoud te verwijderen.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Om een bestand te verwijderen dat begint met een '-', bijvoorbeeld '-foo',\n" "kunt u een van deze commando's gebruiken:\n" " %s -- -foo\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Opmerking: als een bestand met 'rm' verwijderd wordt, is het vaak nog\n" "mogelijk om iets van de inhoud van het bestand te herstellen. Als u meer\n" "zekerheid wilt over de onherstelbaarheid van de inhoud, gebruik dan " "'shred'.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: alle argumenten recursief verwijderen? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: alle argumenten verwijderen? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "verwijderen van map %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "kan map %s niet verwijderen" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "De gegeven MAP(pen) verwijderen, als ze leeg zijn.\n" "\n" " --ignore-fail-on-non-empty\n" " fouten waarvan enkel een niet-lege map de oorzaak is " "negeren\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents de gegeven MAP en ieder onderdeel van diens pad " "verwijderen;\n" " bijv. 'rmdir -p a/b/c' is gelijk aan 'rmdir a/b/c a/b " "a'\n" " -v, --verbose tonen wat er gedaan wordt\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "kan %s niet verwijderen" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Gebruik: %s CONTEXT COMMANDO [ARGUMENTEN]\n" " of: %s [OPTIE...] COMMANDO [ARGUMENTEN]\n" "\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Voert het gegeven COMMANDO in een andere beveiligingscontext uit.\n" "\n" "Zonder CONTEXT of COMMANDO, wordt de huidige beveiligingscontext getoond.\n" "CONTEXT is een volledige SELinux-beveiligingscontext.\n" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " -c, --compute procesovergangscontext berekenen vóór het wijzigen\n" " -l, --range=BEREIK te gebruiken niveaubereik\n" " -r, --role=ROL te gebruiken rol\n" " -t, --type=TYPE te gebruiken type (voor dezelfde rol als de ouder)\n" " -u, --user=GEBRUIKER te gebruiken gebruikersidentiteit\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "meerdere rollen gegeven" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "meerdere typen gegeven" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "meerdere gebruikers gegeven" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "meerdere niveaubereiken gegeven" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "kan de huidige context niet verkrijgen" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "u moet -c, -l, -r, -t, -u, of een context opgeven" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "geen commando gegeven" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s kan alleen worden gebruikt in een SELinux-kernel" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "kan geen nieuwe context berekenen" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "kan nieuwe gebruiker %s niet instellen" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "kan nieuw type %s niet instellen" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "kan nieuw bereik %s niet instellen" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "kan nieuwe rol %s niet instellen" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "kan beveiligingscontext %s niet instellen" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Gebruik: %s [OPTIE...] LAATSTE\n" " of: %s [OPTIE...] EERSTE LAATSTE\n" " of: %s [OPTIE...] EERSTE STAP LAATSTE\n" "\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Toont de getallen van EERSTE tot LAATSTE, met stapgrootte STAP.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=OPMAAK te gebruiken drijvendekomma-opmaak (als bij " "'printf')\n" " -s, --separator=TEKST te gebruiken getallenscheiding (standaard: \\n)\n" " -w, --equal-width breedte gelijkmaken door toevoegen van " "voorloopnullen\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Als EERSTE of STAP weggelaten wordt, dan wordt 1 gebruikt. Dat betekent\n" "dat een weggelaten STAP ook 1 is als LAATSTE kleiner is dan EERSTE.\n" "EERSTE, STAP en LAATSTE worden geïnterpreteerd als drijvendekommagetallen.\n" "STAP zal gewoonlijk positief zijn als EERSTE kleiner is dan LAATSTE,\n" "en negatief als EERSTE kleiner is dan LAATSTE.\n" "\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "OPMAAK moet passend zijn voor het tonen van één argument van het type " "'double';\n" "de standaardopmaak is %.PRECf als EERSTE, STAP en LAATSTE allemaal decimale\n" "vastekommagetallen zijn met een maximale precisie PREC, anders %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "ongeldig drijvendekomma-argument: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "opmaakspecificatie %s bevat onbekende '%%%c'" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "een opmaak gaat niet samen met uitvoer van gelijke breedte" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Gebruik: %s [KORTE_OPTIE...] GEBRUIKERSNAAM COMMANDO [ARGUMENT...]\n" " of: %s LANGE_OPTIE\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Alle aanvullende groepen vergeten, gebruikers-ID en groeps-ID van de " "gegeven\n" "GEBRUIKERSNAAM (naam of numeriek) aannemen, en het gegeven COMMANDO " "uitvoeren\n" "met de eventuele ARGUMENTen.\n" "De afsluitwaarde is 111 als gevraagde gebruikers-ID en groeps-ID niet " "ingesteld\n" "konden worden, anders is het de afsluitwaarde van het COMMANDO.\n" "Dit programma is alleen nuttig voor root (gebruikers-ID nul).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] primaire groeps-ID instellen op gegeven numeriek GID, " "en\n" " (indien gegeven) aanvullende groeps-ID's op GID1,...\n" "\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "onbekend gebruikers-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "om gebruikers-ID %s te kunnen gebruiken moet u ook '-g' gebruiken" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "kan geen aanvullende groep(en) instellen" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "kan groeps-ID niet op %lu instellen" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "kan gebruikers-ID niet op %lu instellen" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Overschrijft gegeven BESTAND(en) meerdere malen, om het zelfs voor heel\n" "dure apparatuur moeilijk te maken de inhoud ervan te herstellen.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force zo nodig toegangsrechten wijzigen om schrijven toe te " "staan\n" " -n, --iterations=N dit aantal malen overschijven (i.p.v. de standaard " "%d)\n" " --random-source=BSTND bestand BSTND is bron van willekeurige bytes\n" " -s, --size=N dit aantal bytes vernietigen (achtervoegsels als K, M, G " "mogen)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove het bestand na het overschrijven afkappen en verwijderen\n" " -v, --verbose tonen wat er gedaan wordt\n" " -x, --exact bestandslengtes niet naar boven op een vol blok afronden;\n" " dit is standaard voor niet-reguliere bestanden\n" " -z, --zero tot slot met nullen overschrijven om vernietiging te " "verhullen\n" "\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Als BESTAND - is, dan standaarduitvoer shredden.\n" "\n" "Als '--remove' (-u) gegeven is, worden de gegeven BESTANDen verwijderd.\n" "Standaard worden bestanden niet verwijderd omdat 'shred' vaak toegepast " "wordt\n" "op apparaatbestanden (zoals /dev/hda) en die moeten meestal niet verwijderd\n" "worden. Wanneer 'shred' toegepast wordt op gewone bestanden, gebruiken de\n" "meeste mensen de optie '--remove'.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "WAARSCHUWING: Het commando 'shred' neemt aan dat het bestandssysteem de\n" "bestandsinhoud ter plekke overschrijft. Dit is de traditionele manier\n" "van doen, maar veel moderne bestandssystemen werken niet meer zo.\n" "Op de volgende bestandssystemen is 'shred' niet effectief of is het\n" "niet gegarandeerd dat het werkt in elke modus van het bestandssysteem:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* log- of journal-bestandssystemen, zoals meegeleverd met AIX en Solaris\n" " (en ook Ext3, Ext4, JFS, ReiserFS, XFS enzovoort)\n" "\n" "* bestandssystemen die redundante gegevens wegschrijven en zelfs doorgaan " "als\n" " het schrijven fout gaat, zoals RAID-gebaseerde bestandssystemen\n" "\n" "* bestandssystemen die snapshots maken, zoals NFS-server van Network " "Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* bestandssystemen die een cache bijhouden in tijdelijke locaties,\n" " zoals versie 3 NFS-cliënten\n" "\n" "* gecomprimeerde bestandssystemen\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "In het geval van het ext3-bestandssysteem is de bovenstaande uitzondering " "van\n" "toepassing (en is 'shred' dus beperkt effectief) enkel in de modus " "data=journal,\n" "waarbij behalve van de metagegevens ook van de bestandsgegevens een journal\n" "gemaakt wordt. In de modussen data=ordered (standaard) en data=writeback " "werkt\n" "'shred' normaal. De ext3-journal-modus kan gewijzigd worden door in /etc/" "fstab\n" "een optie 'data=IETS' op te nemen bij de mount-opties voor een " "bestandssysteem,\n" "zoals gedocumenteerd in de man-pagina van mount ('man mount').\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Spiegellocaties en reservekopieën van bestandssystemen kunnen kopieën van\n" "vernietigde bestanden bevatten die door 'shred' niet gezien worden, zodat\n" "het dus mogelijk is dat de bestanden later toch hersteld worden.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" "%s: synchronisatie van data in geheugen en op schijf (fdatasync) is mislukt" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" "%s: synchronisatie van data in geheugen en op schijf (fsync) is mislukt" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: kan niet terugspoelen" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: doorloop %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: fout tijdens schrijven op positie %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: 'lseek' is mislukt" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: bestand is te groot" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: doorloop %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: doorloop %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: opvragen van bestandsstatus is mislukt" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: ongeldig bestandstype" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: bestand heeft een negatieve grootte" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: fout bij inkorten" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: manipuleren van bestandsdescriptor is mislukt" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: kan een alleen-toevoegen-bestand niet vernietigen" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "verwijderen van %s" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s is hernoemd tot %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "verwijderen van %s is mislukt" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s is verwijderd" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "sluiten van %s is mislukt" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "openen voor schrijven van %s is mislukt" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "ongeldig aantal doorlopen: %s" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "meer dan één bron van willekeurige bytes gegeven" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "ongeldige bestandsgrootte: %s" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Gebruik: %s [OPTIE...] BESTAND\n" " of: %s -e [OPTIE...] [ARGUMENT...]\n" " of: %s -i LAAG-HOOG [OPTIE...]\n" "\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Stuurt een willekeurige husseling van de invoerregels naar " "standaarduitvoer.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo gegeven ARGUMENTen als invoerregels gebruiken\n" " -i, --input-range=LG-HG getallenreeks van LG tot HG als invoerregels " "zien\n" " -n, --head-count=AANTAL maximum aantal uit te voeren regels\n" " -o, --output=BESTAND uitvoer naar BESTAND i.p.v. naar " "standaarduitvoer\n" " --random-source=BSTND bestand BSTND is bron van willekeurige bytes\n" " -z, --zero-terminated regels afsluiten met 0-byte, niet met " "nieuweregel\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "meer dan één optie '-i' gegeven" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "ongeldig invoerbereik: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "ongeldig aantal regels: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "meer dan één uitvoerbestand gegeven" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "opties '-e' en '-i' gaan niet samen" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Gebruik: %s AANTAL[ACHTERVOEGSEL]...\n" " of: %s OPTIE\n" "\n" "Gedurende het gegeven AANTAL seconden pauzeren.\n" "\n" "Het ACHTERVOEGSEL mag respectievelijk 's' zijn voor seconden (standaard),\n" "'m' voor minuten, 'h' voor uren, of 'd' voor dagen. Het AANTAL mag een\n" "willekeurig drijvendepuntgetal zijn. Bij twee of meer AANTALlen wordt\n" "er gepauzeerd gedurende een tijd die de som is van de waarden.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "ongeldig tijdsinterval: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "kan de realtime-klok niet lezen" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Stuurt gegeven BESTAND(en samengevoegd en) gesorteerd naar " "standaarduitvoer.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "Sorteeropties:\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks voorloopwitruimte negeren\n" " -d, --dictionary-order alleen witruimte, letters en cijfers " "beschouwen\n" " -f, --ignore-case kleine letters als hoofdletters beschouwen\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort volgens algemene numerieke waarden " "vergelijken\n" " -i, --ignore-nonprinting alleen afdrukbare tekens beschouwen\n" " -M, --month-sort ordenen: (onbekend) < 'JAN' < ... < 'DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort leesbare getallen vergelijken (bijv.: 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort ordenen volgens numerieke waarden\n" " -R, --random-sort ordenen op willekeurige hash van sleutels\n" " --random-source=BSTND willekeurige bytes uit dit bestand halen\n" " -r, --reverse het resultaat van de vergelijking omkeren\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=WOORD volgens deze methode sorteren; WOORD kan " "zijn:\n" " general-numeric (-g), human-numeric (-h), " "month\n" " (-M), numeric (-n), random (-R), version (-" "V)\n" " -V, --version-sort (versie)nummers in de tekst natuurlijk " "sorteren\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "Andere opties:\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=AANTAL hoogstens dit aantal invoeren ineens " "samenvoegen;\n" " bij meer, tijdelijke bestanden gebruiken\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first controleren of invoer gesorteerd is;\n" " niet sorteren\n" " -C, --check=quiet, --check=silent als '-c', maar geen melding geven bij\n" " de eerste verkeerde regel\n" " --compress-program=PROG tijdelijke bestanden met PROG comprimeren;\n" " decomprimeren met 'PROG -d'\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug het regeldeel markeren waarop gesorteerd " "wordt,\n" " en waarschuwingen geven bij vreemd gebruik\n" " --files0-from=BESTAND de invoer lezen uit bestanden die opgesomd " "staan in\n" " BESTAND (elke naam eindigt op NUL); als " "BESTAND\n" " '-' is, dan de namen van standaardinvoer " "lezen\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=SLEUTELOPGAVE sorteren via een sleutel; de SLEUTELOPGAVE " "geeft\n" " locatie en type (zie hieronder)\n" " -m, --merge gesorteerde bestanden samenvoegen; niet " "sorteren\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=BESTAND resultaat naar BESTAND i.p.v. naar " "standaarduitvoer\n" " -s, --stable het sorteren stabiliseren door uitschakelen van " "de\n" " noodvergelijking als niets werkt\n" " -S, --buffer-size=GROOTTE te gebruiken grootte voor hoofdgeheugenbuffer\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=TKN veldscheidingsteken i.p.v. overgang naar " "witruimte\n" " -T, --temporary-directory=MAP te gebruiken map voor tijdelijke " "bestanden,\n" " in plaats van $TMPDIR of %s;\n" " meerdere opties geven meerdere mappen\n" " --parallel=AANTAL te gebruiken aantal parallelle " "sorteerprocessen\n" " -u, --unique zonder '-c': van gelijken alleen de eerste " "tonen;\n" " met '-c': op strikte ordening controleren\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated regels afsluiten met 0-byte, niet met " "nieuweregel\n" "\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "SLEUTELOPGAVE is van de vorm VN[.TP][OPTIES][,VN[.TP][OPTIES]] voor de " "start-\n" "en stopposities, waarin VN het veldnummer is en TP de tekenpositie in het " "veld,\n" "beide tellend vanaf 1, en de stoppositie is standaard het eind van de " "regel.\n" "Als noch '-t' noch '-b' gegeven is, worden tekens in een veld geteld vanaf " "het\n" "begin van de voorafgaande witruimte. OPTIES bestaat uit één of meer " "éénletter\n" "sorteeropties [bdfgiMhnRrV], die globale sorteeropties voor die " "sorteersleutel\n" "overstijgen. Als er geen enkele sleutel gegeven is, dan wordt de hele " "regel\n" "als sleutel gebruikt.\n" "\n" "GROOTTE mag gevolgd worden door een vermenigvuldigingsachtervoegsel:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% =1% van het geheugen, b =1, K =1024 (standaard), M =1024*1024, G =1024*M.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "\n" "**WAARSCHUWING**: De taalregio gespecificeerd in de omgeving beïnvloedt de\n" "sorteervolgorde. Stel 'LC_ALL=C' in voor de traditionele sorteervolgorde\n" "die de gewone bytewaarde gebruikt.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "wachten op %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] is niet normaal geëindigd" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "kan tijdelijk bestand %s niet aanmaken" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "openen is mislukt" #: src/sort.c:970 msgid "fflush failed" msgstr "alles naar schijf wegschrijven (fflush) is mislukt" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "sluiten is mislukt" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2() is mislukt" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "kan %s niet uitvoeren" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "kan geen tijdelijk bestand aanmaken" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "kan geen proces voor '%s -d' aanmaken" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "kan '%s -d' niet uitvoeren" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "waarschuwing: kan %s niet verwijderen" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "ongeldig argument van '--%s': %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "minimum argument van '--%s' is %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argument %2$s van '--%1$s' is te groot" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "met huidige 'rlimit' is maximum argument van '--%s': %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "maximaal aantal parallelle processen mag niet nul zijn" #: src/sort.c:1494 msgid "stat failed" msgstr "opvragen van bestandsstatus is mislukt" #: src/sort.c:1755 msgid "read failed" msgstr "lezen is mislukt" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "transformatie van tekenreeks is mislukt" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "de niet-getransformeerde tekenreeks was %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ geen overeenkomst voor sleutel\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "verouderde sleutel %s is gebruikt; gebruik liever %s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "sleutel %lu heeft breedte nul en wordt genegeerd" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "leidende witruimte is significant in sleutel %lu; misschien ook '-b' opgeven?" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "sleutel %lu is numeriek en beslaat meerdere velden" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "optie '-%s' wordt genegeerd" msgstr[1] "opties '-%s' worden genegeerd" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "optie '-r' betreft alleen de noodvergelijking" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "schrijven is mislukt" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: wanorde: " #: src/sort.c:2786 msgid "standard error" msgstr "standaardfoutuitvoer" #: src/sort.c:3698 msgid "cannot read" msgstr "kan niet lezen" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: ongeldige veldspecificatie %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "opties '-%s' gaan niet samen" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: ongeldig aantal bij het begin van %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "ongeldig getal na '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "ongeldig getal na '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "verdwaald teken in veldspecificatie" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "meer dan één compressieprogramma opgegeven" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "ongeldig getal aan het begin van een veld" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "veldnummer is nul" #: src/sort.c:4392 msgid "character offset is zero" msgstr "tekenpositie is nul" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "ongeldig getal na ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "lege tab" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "kan geen bestandsnamen uit %s lezen" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: ongeldige bestandsnaam (lengte nul)" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "geen invoer van %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "sorteerregels van %s worden gebruikt" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "eenvoudige byte-vergelijking wordt gebruikt" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "extra argument %s is niet toegestaan bij optie '-%c'" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "de lengte van het achtervoegsel moet minstens %zu zijn" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Gebruik: %s [OPTIE...] [INVOER [VOORVOEGSEL]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Schrijft stukken van de INVOER met een vaste grootte naar VOORVOEGSELaa,\n" "VOORVOEGSELab, VOORVOEGSELac, ...; de standaardgrootte is 1000 regels en\n" "het standaard VOORVOEGSEL is 'x'.\n" "\n" "Zonder INVOER, of wanneer INVOER - is, wordt standaardinvoer gelezen.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=L achtervoegsels gebruiken met deze lengte " "(standaard %d)\n" " --additional-suffix=AVGSL dit achtervoegsel achter bestandsnamen " "plakken\n" " -b, --bytes=N dit aantal bytes in elk uitvoerbestand plaatsen\n" " -C, --line-bytes=N als '-b' maar bij voorkeur afbreken op " "regeleinden\n" " -d, --numeric-suffixes[=VANAF] cijfers i.p.v. letters als " "achtervoegsels;\n" " VANAF wijzigt de startwaarde (standaard " "0)\n" " -e, --elide-empty-files met '-n': geen lege bestanden produceren\n" " --filter=COMMANDO naar dit commando schrijven; bestandsnaam is " "$FILE\n" " -l, --lines=AANTAL dit aantal regels in elk uitvoerbestand plaatsen\n" " -n, --number=BROKKEN dit soort uitvoerbestanden produceren; zie " "hieronder\n" " -u, --unbuffered invoer direct naar uitvoer kopiëren met '-n " "r/...'\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose een melding tonen vóór openen van elk " "uitvoerbestand\n" "\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "BROKKEN mag zijn:\n" "N in N bestanden splitsen afhankelijk van invoergrootte\n" "K/N de K-de uit N naar standaarduitvoer sturen\n" "l/N in N bestanden splitsen zonder regels af te breken\n" "l/K/N de K-de uit N naar standaarduitvoer sturen zonder regels af te " "breken\n" "r/N als 'l/N' maar roundrobin-verdeling gebruiken\n" "r/K/N als 'r/N' maar alleen de K-de uit N naar standaarduitvoer sturen\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "achtervoegsels voor uitvoerbestanden zijn verbruikt" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "aanmaken van bestand %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s zou invoer overschrijven -- gestopt" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "instellen van omgevingsvariabele FILE is mislukt" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "wordt uitgevoerd met FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "aanmaken van pijp is mislukt" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "sluiten van eerdere pijp" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "sluiten van uitvoerpijp" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "verplaatsen van invoerpijp" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "sluiten van invoerpijp" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "kan commando \"%s -c %s\" niet uitvoeren" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "kan invoerpijp niet sluiten" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "wachten op dochterproces" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "met FILE=%s, signaal %s van commando: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "met FILE=%s, afsluitwaarde %d van commando: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "onbekende afsluitwaarde (0x%X) van commando" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "kan niet op meerdere manieren splitsen" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "ongeldig aantal brokken: %s" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "ongeldig broknummer: %s" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "ongeldige lengte voor achtervoegsel: %s" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "ongeldig aantal bytes: %s" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "ongeldig aantal regels: %s" # Engelse foutmelding is onduidelijk. #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "regelaantal '-%s%c...' is te groot" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: ongeldige startwaarde voor numeriek achtervoegsel" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "ongeldige IO-blokgrootte: %s" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "optie '--filter' bewerkt geen brokken die naar standaarduitvoer gaan" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "numerieke startwaarde is te groot voor lengte van achtervoegsel" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: kan de bestandsgrootte niet achterhalen" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "canoniseren van %s is mislukt" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "waarschuwing: onbekende stuurcode '\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: ongeldige directief" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "waarschuwing: backslash aan eind van opmaakaanduiding" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "gebruik van %s om standaardinvoer aan te duiden werkt niet in " "bestandssysteem-modus" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "kan informatie in bestandssysteem niet lezen voor %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "kan 'stat' niet toepassen op standaardinvoer" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Bestand: \"%n\"\n" " ID: %-8i Naamlengte: %-7l Type: %T\n" "Blokgrootte: %-10s Fundamentele blokgrootte: %S\n" "Blokkken: totaal: %-10b vrij: %-10f beschikbaar: %a\n" "Inodes: totaal: %-10c vrij: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Bestand: %N\n" " Grootte: %-10s Blokken: %-10b IO-blok: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" "Apparaat: %Dh/%dd Inode: %-10i Koppelingen: %-5h Apparaattype: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Apparaat: %Dh/%dd Inode: %-10i Koppelingen: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Toegang: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Context: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Toegang: %x\n" "Gewijzigd: %y\n" "Veranderd: %z\n" "Ontstaan: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Toont de status van een bestand (of van een bestandssysteem).\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference symbolische koppelingen volgen\n" " -f, --file-system status tonen van bestandssysteem i.p.v. van bestand\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=OPMAAK te gebruiken opmaak in plaats van de " "standaardopmaak;\n" " elk gebruik van OPMAAK met nieuweregel afsluiten\n" " --printf=OPMAAK als '--format', maar backslash-codes interpreteren,\n" " en geen automatische nieuweregel toevoegen; als u\n" " een nieuweregel wilt, voeg dan \\n toe in OPMAAK\n" " -t, --terse de informatie in beknopte vorm tonen\n" "\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Geldige opmaakspecificaties voor bestanden (zonder '--file-system') zijn:\n" "\n" " %a toegangsrechten in octale vorm\n" " %A toegangsrechten in leesbare vorm\n" " %b aantal toegewezen blokken (zie %B)\n" " %B de grootte in bytes van elk blok gerapporteerd door %b\n" " %C SELinux-beveiligingscontext-tekenreeks\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d apparaatnummer in decimaal\n" " %D apparaatnummer in hex\n" " %f ruwe modus in hex\n" " %F bestandstype\n" " %g groeps-ID van eigenaar\n" " %G groepsnaam van eigenaar\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h aantal harde koppelingen\n" " %i inode-nummer\n" " %m aankoppelingspunt\n" " %n bestandsnaam\n" " %N aangehaalde bestandsnaam (plus doel bij een symbolische koppeling)\n" " %o hint voor optimale blokgrootte voor invoer/uitvoer\n" " %s totale grootte, in bytes\n" " %t hoofdapparaattype in hex\n" " %T subapparaattype in hex\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u gebruikers-ID van eigenaar\n" " %U gebruikersnaam van eigenaar\n" " %w tijdstip van ontstaan van bestand, of '-' als onbekend\n" " %W tijdstip van ontstaan, in seconden sinds Epoch, of 0 als onbekend\n" " %x tijdstip van laatste toegang\n" " %X tijdstip van laatste toegang, in seconden sinds Epoch\n" " %y tijdstip van laatste wijziging\n" " %Y tijdstip van laatste wijziging, in seconden sinds Epoch\n" " %z tijdstip van laatste verandering\n" " %Z tijdstip van laatste verandering, in seconden sinds Epoch\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Geldige opmaakspecificaties voor bestandssystemen zijn:\n" "\n" " %a beschikbare vrije blokken voor niet-systeembeheerders\n" " %b totaal aantal blokken met gegevens in bestandssysteem\n" " %c totaal aantal inodes in bestandssysteem\n" " %d aantal vrije inodes in bestandssysteem\n" " %f aantal vrije blokken in bestandssysteem\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i bestandssysteem-ID in hex\n" " %l maximum lengte van bestandsnamen\n" " %n bestandsnaam\n" " %s optimale grootte van transportblok\n" " %S fundamentele blokgrootte (voor blokaantallen)\n" " %t bestandssysteemtype in hex\n" " %T bestandssysteemtype in leesbare vorm\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Gebruik: %s [OPTIE...] COMMANDO\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Voert COMMANDO uit met gewijzigde buffering voor zijn standaard streams.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODUS de standaardinvoer-streambuffering aanpassen\n" " -o, --output=MODUS de standaarduitvoer-streambuffering aanpassen\n" " -e, --error=MODUS de standaardfoutuitvoer-streambuffering aanpassen\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Als MODUS 'L' is, zal de overeenkomende stream regelgebufferd zijn.\n" "Deze modus is ongeldig voor standaardinvoer.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Als MODUS '0' is, zal de overeenkomstige stream ongebufferd zijn.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Anders is MODUS een geheel getal gevolgd door één van de volgende:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, enz. voor G, T, P, E, Z en Y.\n" "In deze gevallen zal de overeenkomstige stream volledig gebufferd zijn\n" "met de grootte ingesteld op MODUS bytes.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "OPMERKING: Als COMMANDO de buffering van zijn standaard streams aanpast " "(zoals\n" "bijvoorbeeld 'tee' doet), dan zal dat de overeenkomstige instellingen die " "zijn\n" "gewijzigd door 'stdbuf' overvleugelen. Ook sommige filters (zoals 'dd', " "'cat',\n" "enzovoort) gebruiken geen streams voor invoer/uitvoer, en worden dus niet\n" "beïnvloed door instellingen van 'stdbuf'.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "kan %s niet vinden" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "het bijwerken van de omgeving met %s is mislukt" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "regelbuffering van standaardinvoer is zinloos" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Gebruik: %s [-F APPARAAT | --file=APPARAAT] [INSTELLING...]\n" " of: %s [-F APPARAAT | --file=APPARAAT] [-a|--all]\n" " of: %s [-F APPARAAT | --file=APPARAAT] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Toont terminalkarakteristieken of stelt ze in.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all alle huidige instellingen in leesbare vorm tonen\n" " -g, --save alle huidige instellingen in herbruikbare vorm tonen\n" " -F, --file=APPARAAT te gebruiken apparaat in plaats van standaardinvoer\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "De optionele '-' voor een INSTELLING betekent negatie (oftewel 'niet-').\n" "Niet-POSIX-instellingen zijn met een '*' gemarkeerd. Het hangt van het\n" "onderliggende systeem af welke instellingen beschikbaar zijn.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Speciale tekens:\n" " * dsusp TEKEN TEKEN zendt een terminal-stopsignaal nadat invoer " "verwijderd is\n" " eof TEKEN TEKEN zendt een einde van bestand (beëindigt de invoer)\n" " eol TEKEN TEKEN beëindigt de regel\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 TEKEN alternatief TEKEN voor regeleinde\n" " erase TEKEN TEKEN verwijdert het laatst getypte teken\n" " intr TEKEN TEKEN zendt een interruptsignaal\n" " kill TEKEN TEKEN verwijdert de huidige regel\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext TEKEN TEKEN voert het volgende TEKEN aangehaald in\n" " quit TEKEN TEKEN zendt een afsluitingssignaal\n" " * rprnt TEKEN TEKEN herschrijft de huidige regel\n" " start TEKEN TEKEN herstart de uitvoer nadat deze is gestopt\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop TEKEN TEKEN stopt de uitvoer\n" " susp TEKEN TEKEN zendt een terminal-stopsignaal\n" " * swtch TEKEN TEKEN schakelt naar een andere shell-laag\n" " * werase TEKE TEKEN verwijdert het laatst getypte woord\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Speciale instellingen:\n" " N de in- en uitvoersnelheid op N bits per seconde zetten\n" " * cols N de kernel laten weten dat de terminal N kolommen heeft\n" " * columns N hetzelfde als 'cols N'\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N de invoersnelheid op N zetten\n" " * line N lijnprotocol N gebruiken\n" " min N met '-icanon': minimum voor complete leesopdracht is N " "tekens\n" " ospeed N de uitvoersnelheid op N zetten\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N de kernel laten weten dat de terminal N rijen heeft\n" " * size het aantal rijen en kolommen volgens de kernel tonen\n" " speed de snelheid van de terminal tonen\n" " time N met '-icanon': leestijdslimiet op N tiende seconde " "instellen\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Besturingsinstellingen:\n" " [-]clocal modem-besturingssignalen uitschakelen\n" " [-]cread het ontvangen van invoer toestaan\n" " * [-]crtscts RTS/CTS-\n" " * [-]cdtrdsr DTR/DSR-handshake inschakelen\n" " csN tekengrootte op N bits instellen; N in [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb twee stopbits per teken gebruiken (één met '-')\n" " [-]hup 'opgehangen'-signaal sturen wanneer laatste proces de TTY " "sluit\n" " [-]hupcl hetzelfde als '[-]hup'\n" " [-]parenb pariteitsbit in uitvoer genereren en in invoer verwachten\n" " [-]parodd oneven pariteit instellen (of even pariteit met '-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Invoerinstellingen:\n" " [-]brkint een break veroorzaakt een interruptsignaal\n" " [-]icrnl CR-teken (naar regelbegin) omzetten in LF-teken " "(nieuweregel)\n" " [-]ignbrk break-tekens negeren\n" " [-]igncr CR-tekens negeren\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar tekens met een pariteitsfout negeren\n" " * [-]imaxbel piep geven en een volle invoerbuffer niet legen bij een " "teken\n" " [-]inlcr LF-teken (nieuweregel) omzetten in CR-teken (naar " "regelbegin)\n" " [-]inpck controle op invoerpariteit inschakelen\n" " [-]istrip hoogste bit (het achtste) van invoertekens nul maken\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 aannemen dat invoertekens in UTF-8 gecodeerd zijn\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc hoofdletters omzetten in kleine letters\n" " * [-]ixany elk teken de uitvoer laten herstarten, niet alleen " "startteken\n" " [-]ixoff het zenden van start-/stoptekens inschakelen\n" " [-]ixon XON/XOFF-besturing inschakelen\n" " [-]parmrk pariteitsfouten markeren (met een 255-0-tekencombinatie)\n" " [-]tandem hetzelfde als '[-]ixoff'\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Uitvoerinstellingen:\n" " * bsN backspace-vertragingsstijl; N in [0..1]\n" " * crN 'carriage return'-vertragingsstijl, N in [0..3]\n" " * ffN 'form feed'-vertragingsstijl; N in [0..1]\n" " * nlN nieuweregel-vertragingsstijl; N in [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl CR-teken (naar regelbegin) omzetten in LF-teken " "(nieuweregel)\n" " * [-]ofdel als opvulling DEL-tekens gebruiken in plaats van NUL-" "tekens\n" " * [-]ofill voor vertragingen opvultekens gebruiken in plaats van " "pauzes\n" " * [-]olcuc kleine letters omzetten in hoofdletters\n" " * [-]onlcr LF-teken (nieuweregel) omzetten in CR-teken (naar " "regelbegin)\n" " * [-]onlret 'nieuweregel' voert ook een 'naar regelbegin' uit\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr geen 'naar regelbegin' uitvoeren wanneer in de eerste " "kolom\n" " [-]opost na-proces-uitvoer\n" " * tabN vertragingsstijl voor horizontale tab; N in [0..3]\n" " * tabs hetzelfde als 'tab0'\n" " * -tabs hetzelfde als 'tab3'\n" " * vtN vertragingsstijl voor verticale tab; N in [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokale instellingen:\n" " [-]crterase erase-tekens echoën als backspace-spatie-backspace\n" " * crtkill gehele regel verwijderen via 'echoprt' en 'echoe'\n" " * -crtkill gehele regel verwijderen via 'echoctl' en 'echok'\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho stuurtekens in dakjesnotatie tonen (^c)\n" " [-]echo invoertekens echoën\n" " * [-]echoctl hetzelfde als '[-]ctlecho'\n" " [-]echoe hetzelfde als '[-]crterase'\n" " [-]echok een nieuweregel-teken echoën na een kill-teken\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke hetzelfde als '[-]crtkill'\n" " [-]echonl nieuweregel echoën zelfs als geen andere tekens worden " "geëchood\n" " * [-]echoprt verwijderde tekens achterwaarts echoën, tussen '\\' en '/'\n" " [-]icanon speciale tekens voor erase, kill, werase, en rprnt " "inschakelen\n" " [-]iexten niet-POSIX speciale tekens inschakelen\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig speciale tekens voor interrupt, quit, en suspend " "inschakelen\n" " [-]noflsh legen van buffer na interrupt of quit uitschakelen\n" " * [-]prterase hetzelfde als '[-]echoprt'\n" " * [-]tostop achtergrondtaken stoppen die naar de terminal willen " "schrijven\n" " * [-]xcase met 'icanon': '\\' voor kleine letter maakt hoofdletter\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Combinatie-instellingen:\n" " * [-]LCASE hetzelfde als '[-]lcase'\n" " cbreak hetzelfde als '-icanon'\n" " -cbreak hetzelfde als 'icanon'\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked hetzelfde als 'brkint ignpar istrip icrnl ixon opost isig\n" " icanon', met eof- en eol-tekens op hun standaardwaarden\n" " -cooked hetzelfde als 'raw'\n" " crt hetzelfde als 'echoe echoctl echoke'\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec hetzelfde als 'echoe echoctl echoke -ixany intr ^c\n" " erase 0177 kill ^u'\n" " * [-]decctlq hetzelfde als '[-]ixany'\n" " ek de erase- en kill-tekens op hun standaardwaarden zetten\n" " evenp hetzelfde als 'parenb -parodd cs7'\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp hetzelfde als '-parenb cs8'\n" " * [-]lcase hetzelfde als 'xcase iuclc olcuc'\n" " litout hetzelfde als '-parenb -istrip -opost cs8'\n" " -litout hetzelfde als 'parenb istrip opost cs7'\n" " nl hetzelfde als '-icrnl -onlcr\n" " -nl hetzelfde als 'icrnl -inlcr -igncr onlcr -ocrnl -onlret'\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp hetzelfde als 'parenb parodd cs7'\n" " -oddp hetzelfde als '-parenb cs8'\n" " [-]parity hetzelfde als '[-]evenp'\n" " pass8 hetzelfde als '-parenb -istrip cs8'\n" " -pass8 hetzelfde als 'parenb istrip cs7'\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw hetzelfde als '-ignbrk -brkint -ignpar -parmrk -inpck\n" " -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0'\n" " -raw hetzelfde als 'cooked'\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane hetzelfde als 'cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke', met\n" " alle speciale tekens op hun standaardwaarden\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "'stty' bestuurt de TTY die met standaardinvoer verbonden is. Zonder " "argumenten\n" "worden baudrate, lijnprotocol, en afwijkingen van 'stty sane' getoond.\n" "Bij instellingen wordt TEKEN letterlijk gebruikt, of gecodeerd als in ^c, " "0x37,\n" "0177 of 127; de speciale waarden '^-' of 'undef' kunnen gebruikt worden om\n" "speciale tekens inactief te maken.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "er mag slechts één apparaat gegeven worden" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "de opties voor duidelijke en voor 'stty'-leesbare uitvoer gaan niet samen" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "als een uitvoerstijl gegeven is mogen geen modussen ingesteld worden" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: kan niet-blokkerende modus niet herstellen" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "ongeldig argument: %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "ontbrekend argument bij %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "ongeldig lijnprotocol: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: kan niet alle gevraagde acties uitvoeren" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: er is geen grootte-informatie voor dit apparaat" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "ongeldig geheelgetal-argument: %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Voor elk BESTAND een controlesom en het aantal blokken tonen.\n" "\n" " -r BSD-sommatie-algoritme gebruiken en 1K-blokken\n" " -s, --sysv System V-sommatie-algoritme gebruiken en blokken van 512 " "bytes\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Veranderde blokken naar schijf schrijven, het superblok bijwerken.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "alle argumenten worden genegeerd" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "Opmerking: Uw shell kan een eigen versie van %s hebben, die gewoonlijk\n" "prevaleert boven de hier beschreven versie. Kijk in de documentatie van\n" "uw shell voor details over de ondersteunde opties.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help deze hulptekst tonen en stoppen\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version programmaversie tonen en stoppen\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "(Een verplicht argument bij een lange optie geldt ook voor de korte vorm.)\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "GROOTTE is een geheel getal met een optionele eenheid. Mogelijke eenheden " "zijn:\n" "K, M, G, T, P, E, Z, Y (machten van 1024) of KB, MB, ... (machten van " "1000).\n" "Bijvoorbeeld: 10M is 10*1024*1024.\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Getoonde waarden zijn in eenheden van de eerst beschikbare GROOTTE uit\n" "'--block-size' en de omgevingsvariabelen %s_BLOCK_SIZE, BLOCK_SIZE en\n" "BLOCKSIZE. Anders is de eenheid standaard 1024 bytes (of 512 als\n" "POSIXLY_CORRECT gezet is).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Rapporteer gebreken in '%s' aan <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Meld vertalingsfouten in '%s' aan <vertaling@vrijschrift.org>.\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Voor volledige documentatie, gebruik: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Typ '%s --help' voor meer informatie.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "WAARSCHUWING: Oneindige lus gevonden in de mappenstructuur.\n" "Dit betekent vrijwel zeker dat het bestandssysteem beschadigd is.\n" "** MELD DIT AAN UW SYSTEEMBEHEERDER. **\n" "De volgende map is onderdeel van de lus:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Schrijft elk gegeven BESTAND naar standaarduitvoer, laatste regel eerst.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before scheider vóór i.p.v. achter de regel plaatsen\n" " -r, --regex scheider als reguliere expressie interpreteren\n" " -s, --separator=TEKST deze scheider gebruiken in plaats van nieuweregel\n" "\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: 'seek' is mislukt" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "record is te groot" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "kan geen tijdelijk bestand aanmaken in %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "openen voor schrijven van %s is mislukt" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "terugspringen in stroom voor %s is mislukt" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: fout bij schrijven" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "kan %s niet openen om te lezen" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "scheidingsteken mag niet leeg zijn" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kopieert de laatste %d regels van elk gegeven BESTAND naar " "standaarduitvoer.\n" "\n" "Als meer dan één BESTAND gegeven is, wordt de uitvoer van elk bestand\n" "voorafgegaan door een kopje met de bestandsnaam.\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K de laatste K bytes uitvoeren; bij '-c +K' worden " "de\n" " bytes beginnend met Kde van elk bestand " "uitgevoerd\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " toegevoegde gegevens tonen terwijl bestand " "groeit;\n" " '-f', '--follow' en '--follow=descriptor' zijn\n" " equivalent\n" " -F hetzelfde als '--follow=name --retry'\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K de laatste K regels tonen i.p.v. de laatste %d;\n" " '-n +K' toont de regels vanaf de Kde\n" " --max-unchanged-stats=N\n" " met '--follow=name', een BESTAND heropenen als " "diens\n" " grootte na N iteraties (standaard %d) " "onveranderd\n" " is, om te zien of het is ontkoppeld of " "hernoemd\n" " (gebruikelijk bij roterende logbestanden);\n" " met 'inotify' is deze optie zelden nuttig\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID met '-f': afsluiten wanneer proces PID eindigt\n" " -q, --quiet, --silent geen bestandsnaamkopjes tonen\n" " --retry blijven proberen om een bestand te openen zelfs " "als\n" " het ontoegankelijk is of wordt; nuttig wanneer " "op\n" " naam gevolgd wordt (bij '--follow=name' dus)\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N met '-f': tussen twee iteraties ongeveer\n" " N seconden slapen (standaard 1 seconde);\n" " met 'inotify' en '--pid=P': dit proces P\n" " minstens eens per N seconden controleren\n" " -v, --verbose altijd bestandsnaamkopjes tonen\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Als K (het aantal bytes of regels) begint met een '+', wordt alles vanaf " "het\n" "Kde item vanaf het begin van elk bestand getoond, anders de laatste K items\n" "van elk bestand. K mag een vermenigvuldigingsachtervoegsel hebben:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, en zo verder voor T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Met '--follow' (-f) volgt 'tail' de bestandsdescriptor, wat betekent dat " "het\n" "bestand nog steeds gevolgd wordt als de bestandsnaam wijzigt. Dit " "standaard-\n" "gedrag is ongewenst als u echt de naam wilt volgen en niet de descriptor,\n" "bijvoorbeeld bij rotatie van logbestanden. Gebruik dan '--follow=name'; " "dit\n" "maakt dat 'tail' het genoemde bestand volgt op een manier die rekening " "houdt\n" "met hernoemen, verwijderen en opnieuw aanmaken.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "sluiten van %s (bestandsdescriptor=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: kan niet naar relatieve positie %s springen" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: kan niet naar eind-relatieve positie %s springen" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "kan de locatie van '%s' niet bepalen; teruggevallen op polsen" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "onbekend bestandssysteemtype 0x%08lx voor %s;\n" "rapporteer dit a.u.b. aan %s;\n" "teruggevallen op polsen" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s is ontoegankelijk geworden" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s is vervangen door een bestand dat niet gevolgd kan worden;\n" "gestopt met volgen van deze naam" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s is vervangen door een bestand op afstand;\n" "gestopt met volgen van deze naam" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s is toegankelijk geworden" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s is verschenen; het einde van het nieuwe bestand wordt gevolgd" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s is vervangen; het einde van het nieuwe bestand wordt gevolgd" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: kan niet-blokkerende modus niet wijzigen" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: bestand is ingekort" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "geen bestanden meer over" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "kan de bovenliggende map van %s niet monitoren" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "onvoldoende hulpbronnen beschikbaar voor 'inotify'" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "kan %s niet monitoren" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "fout bij monitoren van 'inotify'-gebeurtenis" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "fout bij lezen van 'inotify'-gebeurtenis" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: kan het einde van dit type bestand niet volgen;\n" "gestopt met volgen van deze naam" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "getal in %s is te groot" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "ongeldig maximum aantal onveranderde statusopvragingen: %s" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "ongeldig procesnummer: %s" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "ongeldig aantal seconden: %s" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "optie is gebruikt in een ongeldige context -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "waarschuwing: '--retry' is gewoonlijk alleen nuttig bij volgen op naam" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "waarschuwing: procesnummer is genegeerd;\n" "'--pid=PID' is alleen zinvol bij volgen" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "waarschuwing: '--pid=PID' wordt niet ondersteund op dit systeem" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "kan %s niet op naam volgen" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "waarschuwing: het onbeperkt volgen van standaardinvoer is ineffectief" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "'inotify' kan niet worden gebruikt; teruggevallen op polsen" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Standaardinvoer naar elk gegeven BESTAND kopiëren, én naar " "standaarduitvoer.\n" "\n" " -a, --append aan BESTAND(en) toevoegen, niet overschrijven\n" " -i, --ignore-interrupts interruptsignalen negeren\n" "\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Als een BESTAND - is, dan nog eens naar standaarduitvoer kopiëren.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "ontbrekend argument na %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "ongeldig geheel getal: %s" #: src/test.c:241 msgid "')' expected" msgstr "')' werd verwacht" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' werd verwacht, %s gevonden" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "eenzijdige operator werd verwacht, %s gevonden" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "'-nt' accepteert geen '-l'" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "'-ef' accepteert geen '-l'" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "'-ot' accepteert geen '-l'" #: src/test.c:367 msgid "unknown binary operator" msgstr "onbekende tweezijdige operator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "tweezijdige operator werd verwacht, %s gevonden" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Gebruik: test EXPRESSIE\n" " of: test\n" " of: [ EXPRESSIE ]\n" " of: [ ]\n" " of: [ OPTIE\n" "\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Eindigen met de afsluitwaarde die bepaald wordt door de gegeven EXPRESSIE.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Een ontbrekende EXPRESSIE evalueert tot onwaar. Voor het overige kan de\n" "EXPRESSIE waar of onwaar zijn, en mag één van de volgende zijn:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSIE ) waar als EXPRESSIE waar is\n" " ! EXPRESSIE waar als EXPRESSIE onwaar is\n" " EXPRESSIE1 -a EXPRESSIE2 waar als beide expressies waar zijn\n" " EXPRESSIE1 -o EXPRESSIE2 onwaar als beide expressies onwaar zijn\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n TEKST waar als de lengte van TEKST niet nul is\n" " TEKST hetzelfde als '-n TEKST'\n" " -z TEKST waar als de lengte van TEKST nul is\n" " TEKST1 = TEKST2 waar als de twee teksten gelijk zijn\n" " TEKST1 != TEKST2 waar als de twee teksten verschillend zijn\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " GETAL1 -eq GETAL2 waar als de twee gehele getallen gelijk zijn\n" " GETAL1 -ge GETAL2 waar als GETAL1 groter of gelijk is aan GETAL2\n" " GETAL1 -gt GETAL2 waar als GETAL1 groter is dan GETAL2\n" " GETAL1 -le GETAL2 waar als GETAL1 kleiner of gelijk is aan GETAL2\n" " GETAL1 -lt GETAL2 waar als GETAL1 kleiner is dan GETAL2\n" " GETAL1 -ne GETAL2 waar als GETAL1 en GETAL2 verschillend zijn\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " BESTAND1 -ef BESTAND2 waar als hun apparaat- en inode-nummers gelijk " "zijn\n" " BESTAND1 -nt BESTAND2 waar als BESTAND1 nieuwer is dan BESTAND2\n" " BESTAND1 -ot BESTAND2 waar als BESTAND1 ouder is dan BESTAND2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b BESTAND waar als bestand een blok-apparaat is\n" " -c BESTAND waar als bestand een byte-apparaat is\n" " -d BESTAND waar als bestand een map is\n" " -e BESTAND waar als bestand bestaat\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f BESTAND waar als bestand een gewoon bestand is\n" " -g BESTAND waar als het bestand SETGUID is\n" " -G BESTAND waar als uw effectieve groep het bestand bezit\n" " -h BESTAND waar als bestand een symbolische koppeling is (== '-L')\n" " -k BESTAND waar als bestand het \"sticky\"-bit aan heeft staan\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L BESTAND waar als bestand een symbolische koppeling is (== '-h')\n" " -O BESTAND waar als uw effectieve gebruikers-ID het bestand bezit\n" " -p BESTAND waar als bestand een benoemde pijp is\n" " -r BESTAND waar als bestand voor u leesbaar is\n" " -s BESTAND waar als bestand niet leeg is\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S BESTAND waar als bestand een socket is\n" " -t DSCRIPTR waar als deze bestandsdescriptor geopend is op een terminal\n" " -u BESTAND waar als bestand SETUID is\n" " -w BESTAND waar als bestand voor u schrijfbaar is\n" " -x BESTAND waar als bestand door u uitvoerbaar (of doorzoekbaar) is\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Behalve bij '-h' en '-L', volgen alle testen op BESTANDen eventuele\n" "symbolische koppelingen. Wees erop bedacht dat in de meeste shells\n" "haakjes aangehaald moeten worden (bijvoorbeeld met backslashes).\n" "GETAL mag ook '-l TEKST' zijn, wat evalueert tot de lengte van TEKST.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "Opmerking: '[' kent de opties '--help' en '--version', maar 'test' niet; " "'test'\n" "behandelt deze opties zoals het elke andere niet-lege tekenreeks behandelt.\n" #: src/test.c:791 msgid "test and/or [" msgstr "'test'/'['" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "ontbrekende ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "overtollig argument: %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "Waarschuwing: kan timer niet aanmaken" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "Waarschuwing: kan timertijd niet instellen" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "Waarschuwing: kan timer niet aanmaken" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Gebruik: %s [OPTIE] DUUR COMMANDO [ARGUMENT...]\n" " of: %s [OPTIE]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Start het gegeven COMMANDO, en beëindigt het als het na DUUR nog actief is.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " wanneer niet direct vanaf een shell-prompt aangeroepen, " "het\n" " COMMANDO toestaan van de terminal te lezen en signalen " "ervan\n" " te ontvangen; in deze modus worden dochterprocessen van " "het\n" " COMMANDO niet door DUUR begrensd\n" " -k, --kill-after=DUUR\n" " een KILL-signaal verzenden als COMMANDO nog steeds " "actief\n" " is na DUUR nadat het eerste signaal verzonden is\n" " -s, --signal=SIGNAAL\n" " het te zenden signaal als de tijdsduur verlopen is;\n" " SIGNAAL kan een naam zijn als 'HUP' of een nummer;\n" " zie 'kill -l` voor een lijst van mogelijke signalen\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DUUR is een drijvendekommagetal met een optioneel achtervoegsel: 's' voor\n" "seconden (standaard), 'm' voor minuten, 'h' voor uren, 'd' voor dagen.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Als de tijdslimiet van het commando verloopt, en '--preserve-status' is " "niet\n" "gegeven, dan is de afsluitwaarde 124, anders de afsluitwaarde van COMMANDO.\n" "Als geen signaal gegeven is, dan wordt bij tijdsoverschrijding het TERM-" "signaal\n" "verzonden -- dit signaal beëindigt processen die het signaal niet blokkeren " "of\n" "afvangen. Het kan nodig zijn om het KILL-signaal (9) te gebruiken, omdat " "dit\n" "signaal niet afgevangen kan worden -- in dat geval is de afsluitwaarde " "128+9\n" "in plaats van 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "waarschuwing: uitschakelen van geheugendumps is mislukt" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "fout bij het wachten op commando" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "het gemonitorde commando heeft een geheugendump gemaakt" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "ongeldige datumopmaak %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "kan tijdsstempels van %s niet wijzigen" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "instellen van tijdsstempels van %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Stelt de toegangs- en wijzigingstijden van elk BESTAND op de huidige tijd.\n" "\n" "Elk BESTANDsargument dat niet bestaat wordt als een leeg bestand " "aangemaakt,\n" "tenzij '-c' of '-h' wordt meegegeven.\n" "\n" "Het BESTANDsargument '-' wordt speciaal behandeld: het zorgt ervoor dat " "'touch'\n" "de tijdsstempels van het bestand verbonden met standaarduitvoer wijzigt.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a alleen de toegangstijd veranderen\n" " -c, --no-create geen nieuwe bestanden aanmaken\n" " -d, --date=TEKST deze TEKST interpreteren en als tijdsstempel " "gebruiken\n" " in plaats van de huidige tijd\n" " -f (genegeerde optie)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h --no-dereference symbolische koppelingen bewerken in plaats van de\n" " bestanden waarnaar ze verwijzen (alleen nuttig\n" " op systemen waar het tijdsstempel van een\n" " symbolische koppeling veranderd kan worden)\n" " -m alleen de wijzigingstijd veranderen\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=BESTAND de tijdsstempels van dit bestand gebruiken\n" " -t STEMPEL [[CC]YY]MMDDhhmm[.ss] gebruiken i.p.v. huidige tijd\n" " --time=SOORT alleen dit soort tijdsstempel instellen; SOORT mag " "zijn:\n" " 'access', 'atime' of 'use': hetzelfde als '-a';\n" " 'modify' of 'mtime': hetzelfde als '-m'\n" "\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Merk op dat '-d' en '-t' een verschillende opmaak van datum+tijd " "verwachten.\n" # De vertaling zegt wat het vage origineel precies bedoelt. #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "optie '-t' gaat niet samen met '-d' of '-r'" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "waarschuwing: 'touch %s' is verouderd;\n" "gebruik 'touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" "Gebruik: %s [OPTIE...] SET1 [SET2]\n" "\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Tekens van standaardinvoer omzetten, samendrukken en/of verwijderen, en " "naar\n" "standaarduitvoer sturen.\n" "\n" " -c, -C, --complement het complement van SET1 gebruiken \n" " -d, --delete tekens in SET1 verwijderen, niet omzetten\n" " -s, --squeeze-repeats herhalingen van een teken uit SET1 vervangen door\n" " slechts één zo'n teken\n" " -t, --truncate-set1 SET1 eerst afkappen tot de lengte van SET2\n" "\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SETs worden gegeven als tekenreeksen. De meeste tekens representeren " "zichzelf.\n" "Begrepen codes zijn:\n" "\n" " \\NNN het teken met ASCII-code NNN (octaal, 1 tot 3 cijfers)\n" " \\\\ een backslash (\\)\n" " \\a geluidssignaal\n" " \\b backspace\n" " \\f nieuwe pagina (FF-teken)\n" " \\n nieuwe regel (LF-teken)\n" " \\r naar begin van regel (CR-teken)\n" " \\t horizontale tab\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v verticale tab\n" " TEKEN1-TEKEN2 alle tekens van TEKEN1 t/m TEKEN2 in oplopende volgorde\n" " [TEKEN*] in SET2: kopieën van TEKEN tot de lengte van SET1\n" " [TEKEN*AANTAL] een specifiek aantal kopieën van TEKEN;\n" " AANTAL is octaal als het begint met 0\n" " [:alnum:] alle letters en cijfers\n" " [:alpha:] alle letters\n" " [:blank:] alle horizontale witruimte\n" " [:cntrl:] alle stuurtekens\n" " [:digit:] alle cijfers\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] alle afdrukbare tekens, exclusief de spatie\n" " [:lower:] alle kleine letters\n" " [:print:] alle afdrukbare tekens, inclusief spatie\n" " [:punct:] alle interpunctietekens\n" " [:space:] alle horizontale en verticale witruimte\n" " [:upper:] alle hoofdletters\n" " [:xdigit:] alle hexadecimale tekens\n" " [=TEKEN=] alle tekens die equivalent zijn aan TEKEN\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Omzetting treedt op als '-d' niet gegeven is en zowel SET1 als SET2 gegeven\n" "zijn. Optie '-t' mag alleen gebruikt worden bij omzetten. SET2 wordt " "vergroot\n" "tot de lengte van SET1 door het laatste teken te herhalen; te veel tekens " "in\n" "SET2 worden genegeerd. Alleen [:lower:] en [:upper:] worden gegarandeerd\n" "uitgebreid in oplopende volgorde; bij omzetten kunnen zij alleen in paren\n" "gebruikt worden voor omzetting van hoofd- in kleine letters of omgekeerd.\n" "Optie '-s' gebruikt SET1 als niet omgezet noch verwijderd wordt; anders\n" "gebruikt het samendrukken SET2, en dat gebeurt na omzetting of " "verwijdering.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "waarschuwing: de octale code \\%c%c%c is niet eenduidig en wordt\n" " hier geïnterpreteerd als de volgende twee bytes: \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "waarschuwing: een onaangehaalde backslash aan het eind van een tekenreeks\n" " is niet overdraagbaar" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "de eindpunten van bereik '%s-%s' staan in omgekeerde volgorde" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "ongeldig herhalingsaantal %s in '[teken*aantal]'-constructie" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "ontbrekende naam in tekenklasse '[::]'" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "ontbrekend teken in equivalentieklasse '[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "ongeldige tekenklasse %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: de inhoud van een equivalentieklasse moet een enkel teken zijn" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "verkeerd uitgelijnde constructie met [:upper:] en/of [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "te veel tekens in de set" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "tijdens een omzetting met SET1 langer dan SET2,\n" "mag de laatste tekenreeks niet eindigen op een tekenklasse" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "de '[t*]'-herhalingsconstructie mag niet voorkomen in SET1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "slechts één '[t*]'-herhalingsconstructie mag voorkomen in SET2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "bij omzetting mogen '[=t=]'-expressies niet voorkomen in SET2" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "bij omzetting zijn in SET2 alleen de tekenklassen\n" "'upper' en 'lower' toegestaan" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "als SET1 niet ingekort wordt, mag SET2 niet leeg zijn" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "bij omzetting met gecomplementeerde tekenklassen moet SET2\n" "alle tekens in het domein naar één afbeelden" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "bij omzetting mag de '[t*]'-constructie alleen in SET2 voorkomen" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Er moeten twee tekenreeksen gegeven worden als\n" "zowel verwijderd wordt als herhalingen samengedrukt." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Bij omzetting zijn twee tekenreeksen nodig." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Slechts één tekenreeks mag gegeven worden bij verwijderen zonder " "samendrukken." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [argumenten worden genegeerd]\n" " of: %s OPTIE\n" "\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Eindigen met de afsluitwaarde die succes aangeeft." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Eindigen met de afsluitwaarde die mislukking aangeeft." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Gebruik: %s OPTIE... BESTAND...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Vergroot of verkleint elk gegeven BESTAND tot de gespecificeerde grootte.\n" "\n" "Een BESTAND dat nog niet bestaat wordt aangemaakt.\n" "\n" "Als een BESTAND groter is dan de gespecificeerde grootte, dan gaan de extra\n" "gegevens verloren. Als een BESTAND kleiner is, dan wordt het uitgebreid en\n" "het \"toegevoegde\" deel (een gat) leest als nul-bytes.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create geen bestanden aanmaken\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks GROOTTE zien als aantal IO-blokken in plaats van " "bytes\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=BESTAND de grootte van dit BESTAND gebruiken\n" " -s, --size=GROOTTE deze GROOTTE gebruiken\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "GROOTTE mag ook een voorvoegsel hebben, met de volgende betekenissen:\n" "'+' vergroten met, '-' verkleinen met, '<' maximaal, '>' minimaal,\n" "'/' naar beneden afronden op een veelvoud van,\n" "'%' naar boven afronden op een veelvoud van.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "overloop in %<PRIdMAX> * %<PRIdMAX>-byte blokken voor bestand %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: bestand heeft een onbruikbare, kennelijk negatieve grootte" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "kan de grootte van %s niet achterhalen" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "overloop bij naar boven afronden van de grootte van bestand %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "overloop bij het vergroten van de grootte van bestand %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "afkorten van %s op %<PRIdMAX> bytes is mislukt" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "er is meer dan één relatieve wijziging opgegeven" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "u moet ofwel %s ofwel %s opgeven" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "u moet een relatieve %s opgeven bij %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s is gespecificeerd maar %s niet" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "kan %s niet openen om te schrijven" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Gebruik: %s [OPTIE] [BESTAND]\n" "\n" "Een volledig, topologisch gesorteerde lijst produceren,\n" "overeenkomend met de gegeven bestaande volgorde.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: invoer bevat een oneven aantal elementen" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: invoer bevat een lus:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "De bestandsnaam tonen van de terminal die verbonden is met standaardinvoer.\n" "\n" " -s, --silent, --quiet niets tonen, alleen een afsluitwaarde " "retourneren\n" "\n" #: src/tty.c:120 msgid "not a tty" msgstr "geen TTY" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Bepaalde systeeminformatie tonen. Geen OPTIE is hetzelfde als '-s'.\n" "\n" " -a, --all alle informatie in de onderstaande volgorde " "tonen\n" " (maar '-p' en '-i' welaten als deze onbekend " "zijn)\n" " -s, --kernel-name het soort kernel tonen\n" " -n, --nodename de hostnaam van de machine tonen\n" " -r, --kernel-release het versienummer van de kernel tonen\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version compilatienummer en -datum van de kernel tonen\n" " -m, --machine de hardwareklasse van de machine tonen\n" " -p, --processor de processornaam tonen (of \"unknown\")\n" " -i, --hardware-platform het hardwareplatform tonen (of \"unknown\")\n" " -o, --operating-system het soort besturingssysteem tonen\n" "\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "De machinearchitectuur tonen.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "kan de naam van het systeem niet verkrijgen" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Stuurt elk BESTAND naar standaarduitvoer met witruimte geconverteerd naar " "tabs.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all alle witruimte omzetten, niet alleen die aan " "regelbegin\n" " --first-only alleen beginwitruimte omzetten (gaat boven '-a')\n" " -t, --tabs=GETAL te gebruiken tabbreedte in plaats van 8 (activeert '-" "a')\n" " -t, --tabs=LIJST kommagescheiden lijst van te gebruiken tabposities " "(idem)\n" "\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabposities zijn te ver uit elkaar" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "tabpositie is te groot" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Gebruik: %s [OPTIE...] [INVOER [UITVOER]]\n" "\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtert duplicaten van voorgaande regels uit INVOER (of standaardinvoer)\n" "en schrijft naar UITVOER (of standaarduitvoer).\n" "\n" "Zonder opties worden identieke regels samengedrukt tot één voorkomen.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count het aantal gelijke regels vooraan de regel zetten\n" " -d, --repeated alleen de regels tonen die meerdere keren " "voorkomen\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=SCHEIDINGSMETHODE]\n" " alle regels tonen die meerdere keren voorkomen;\n" " SCHEIDINGSMETHODE kan zijn: 'none' (niets, " "standaard),\n" " 'prepend' (voorvoegen) of 'separate' (gescheiden);\n" " het scheiden wordt gedaan een blanco regel\n" " -f, --skip-fields=N de eerste N velden niet vergelijken\n" " -i, --ignore-case verschil tussen hoofd- en kleine letters negeren\n" " -s, --skip-chars=N de eerste N tekens niet vergelijken\n" " -u, --unique alleen unieke regels tonen\n" " -z, --zero-terminated regels afsluiten met 0-byte, niet met nieuweregel\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N niet meer dan N tekens per regel vergelijken\n" "\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Een veld is witruimte (gewoonlijk spaties en/of tabs), daarna tekens die\n" "geen witruimte zijn. Eerst worden velden overgeslagen, dan tekens.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Opmerking: 'uniq' detecteert herhaalde regels niet als ze niet bij elkaar " "staan;\n" "u zou de invoer eerst kunnen sorteren, of 'sort -u' gebruiken zonder " "'uniq'.\n" "Verder volgt de vergelijking de regels gespecificeerd door 'LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "te veel herhaalde regels" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "ongeldig aantal velden om over te slaan" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "ongeldig aantal bytes om over te slaan" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "ongeldig aantal bytes om te vergelijken" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "alle herhaalde regels én de herhalingsaantallen tonen is onzin" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s BESTAND\n" " of: %s OPTIE\n" "\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Verwijdert het gegeven BESTAND via de unlink()-functie.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "kan %s niet verwijderen" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "kan de opstarttijd niet vinden" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "in bedrijf ???? dagen ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "in bedrijf %ld dag %2d:%02d, " msgstr[1] "in bedrijf %ld dagen %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "in bedrijf %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu gebruiker" msgstr[1] "%lu gebruikers" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", gemiddelde belasting: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Toont de huidige tijd, de tijdsduur dat het systeem in bedrijf is, het " "aantal\n" "gebruikers op het systeem, en het gemiddelde aantal taken dat uitgevoerd " "werd\n" "in de laatste 1, 5 en 15 minuten." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Processen in\n" "een niet-onderbreekbare slaapstatus dragen ook bij aan het " "belastingsgemiddelde.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Als geen BESTAND gegeven is, wordt %s gebruikt.\n" "Gewoonlijk wordt %s als BESTAND meegegeven.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Toont wie er (volgens BESTAND) momenteel ingelogd zijn.\n" "\n" "Als geen BESTAND gegeven is, wordt %s gebruikt.\n" "Gewoonlijk wordt %s als BESTAND meegegeven.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Toont het aantal regels, woorden en bytes voor elk gegeven BESTAND, plus " "een\n" "totaalscore als meer dan één BESTAND gegeven is. Een woord is een " "tekenreeks\n" "met een lengte groter dan nul, begrensd door witruimte.\n" "\n" "Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen.\n" "\n" "Met onderstaande opties kunt u kiezen welke aantallen weergeven worden,\n" "altijd in deze volgorde: regels, woorden, tekens, bytes, maximum " "regellengte.\n" "\n" " -c, --bytes het aantal bytes tonen\n" " -m, --chars het aantal tekens tonen\n" " -l, --lines het aantal regels tonen (in feite het aantal LF-" "tekens)\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=LST invoer lezen uit de bestanden die opgesomd staan " "in\n" " bestand LST, waar elke naam eindigt op een 0-" "byte;\n" " als LST '-' is, dan namen van standaardinvoer " "lezen\n" " -L, --max-line-length de lengte van de langste regel tonen\n" " -w, --words het aantal woorden tonen\n" #: src/who.c:210 msgid " old " msgstr " oud " # Maximaal 12 tekens. #: src/who.c:440 msgid "system boot" msgstr "gestart" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" # Maximaal 8 tekens. #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "klok is verzet" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "run-level" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "vorige=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "aantal gebruikers=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAAM" #: src/who.c:559 msgid "LINE" msgstr "TERMINAL" #: src/who.c:559 msgid "TIME" msgstr "TIJD" # Maximaal zes tekens. #: src/who.c:559 msgid "IDLE" msgstr "LEDIG" #: src/who.c:560 msgid "PID" msgstr "PID" # Maximaal zeven tekens. #: src/who.c:560 msgid "COMMENT" msgstr "NOTITIE" #: src/who.c:560 msgid "EXIT" msgstr "AFSLUITING" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Gebruik: %s [OPTIE...] [ BESTAND | ARGUMENT1 ARGUMENT2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Toont informatie over gebruikers die nu zijn ingelogd.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all hetzelfde als '-b -d --login -p -r -t -T -u'\n" " -b, --boot tijdstip van de laatste systeemstart tonen\n" " -d, --dead dode processen tonen\n" " -H, --heading een regel met kolomkoppen tonen\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login de inlogprocessen tonen\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup proberen de echte hostnamen te vinden via DNS\n" " -m alleen hostnaam en gebruiker verbonden met " "standaardinvoer\n" " -p, --process de actieve processen gestart door 'init' tonen\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count de namen van en het totaal aantal ingelogde gebruikers\n" " -r, --runlevel het huidige run-level tonen\n" " -s, --short alleen naam, terminal, en inlogtijd tonen (standaard)\n" " -t, --time de laatste wijziging van de systeemklok tonen\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg berichtenstatus van gebruiker toevoegen als '+', '-' " "of' ?'\n" " -u, --users de ingelogde gebruikers tonen\n" " --message hetzelfde als '-T'\n" " --writable hetzelfde als '-T'\n" "\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Als geen BESTAND gegeven is, wordt %s gebruikt.\n" "Gewoonlijk wordt %s als BESTAND meegegeven.\n" "\n" "Als ARGUMENT1 ARGUMENT2 gegeven zijn, dan wordt '-m' begrepen;\n" "de combinaties 'am i' or 'mom likes' zijn gebruikelijk.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Toont de gebruikersnaam die hoort bij het huidige effectieve gebruikers-ID.\n" "(Hetzelfde als 'id -un'.)\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: kan geen gebruikersnaam vinden voor gebruikers-ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [TEKST]\n" " of: %s OPTIE\n" "\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Produceert voortdurend een regel met de gegeven TEKST (of anders 'y').\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "berekening met enkelvoudige precisie wordt gebruikt" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "berekening met willekeurige precisie wordt gebruikt" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "" #~ "\tGebruik: %s [OPTIE...] [GETAL]\n" #~ "\n" #~ msgid "no valid suffix found\n" #~ msgstr "geen geldig achtervoegsel gevonden\n" #~ msgid "reading %s" #~ msgstr "lezen van %s" #~ msgid "writing %s" #~ msgstr "schrijven van %s" #~ msgid "closing %s" #~ msgstr "sluiten van %s" #~ msgid "accessing %s" #~ msgstr "zoeken van toegang tot %s" #~ msgid "opening %s" #~ msgstr "openen van %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system mappen op andere bestandssystemen overslaan\n" #~ " -X, --exclude-from=LST bestanden uitsluiten die overeenkomen met een\n" #~ " patroon uit het bestand LST\n" #~ " --exclude=PATROON bestanden uitluiten die overeenkomen met " #~ "PATROON\n" #~ " -d, --max-depth=GETAL het totaal voor een map of bestand alleen tonen " #~ "als\n" #~ " deze GETAL of minder niveaus onder het begin " #~ "ligt;\n" #~ " '--max-depth=0' is hetzelfde als '--summarize'\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off nooit reservekopieën maken (zelfs niet met '--" #~ "backup')\n" #~ " numbered, t genummerde reservekopieën maken\n" #~ " existing, nil genummerde reserves maken als er al zijn, anders " #~ "simpele\n" #~ " simple, never altijd simpele reservekopieën maken\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "WAARSCHUWING: optie '--page-increment' is verouderd;\n" #~ "gebruik in plaats daarvan '--line-increment'" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "(Een verplicht argument bij een lange optie geldt ook voor de korte " #~ "vorm.)\n" #~ "\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "GROND is d voor decimaal, o voor octaal, x voor hexadecimaal, of n voor " #~ "geen.\n" #~ "Met voorvoegsel 0x of 0X is AANTAL hexadecimaal; mogelijke " #~ "vermenigvuldigings-\n" #~ "achtervoegsels zijn: b =512, kB =1000, K =1024, MB =1000*1000, M " #~ "=1024*1024,\n" #~ "GB =1000*1000*1000, G =1024*1024*1024, en zo verder voor T, P, E, Z, Y.\n" #~ "Met een achtergevoegde z worden aan het eind van iedere regel met bytes " #~ "de\n" #~ "corresponderende afdrukbare tekens toegevoegd.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ " \n" #~ "Optie '--string' zonder een getal betekent 3; '--width' zonder een getal\n" #~ "betekent 32. Standaard voor 'od' is '-A o -t oS -w16'.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE...] KOPPELINGSNAAM\n" #~ "\n" #~ msgid "Password:" #~ msgstr "Wachtwoord:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass(): kan /dev/tty niet openen" #~ msgid "cannot set groups" #~ msgstr "kan de groepen niet instellen" #~ msgid "cannot set group id" #~ msgstr "kan groeps-ID niet instellen" #~ msgid "cannot set user id" #~ msgstr "kan gebruikers-ID niet instellen" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE...] [-] [GEBRUIKER [ARGUMENT...]]\n" #~ "\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Het effectieve gebruikers-ID en groeps-ID wijzigen in die van GEBRUIKER.\n" #~ "\n" #~ " -, -l, --login van de shell een login-shell maken\n" #~ " -c, --command=COMMANDO een enkel COMMANDO naar de shell sturen " #~ "met '-c'\n" #~ " -f, --fast '-f' aan de shell meegeven (voor 'csh' of " #~ "'tcsh')\n" #~ " -m, --preserve-environment de omgevingsvariabelen niet resetten\n" #~ " -p hetzelfde als '-m'\n" #~ " -s, --shell=SHELL SHELL uitvoeren (als /etc/shells dit " #~ "toestaat)\n" #~ "\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Een simpele - betekent -l. Als geen GEBRUIKER gegeven is, wordt root " #~ "begrepen.\n" #~ msgid "user %s does not exist" #~ msgstr "gebruiker %s bestaat niet" #~ msgid "incorrect password" #~ msgstr "onjuist wachtwoord" #~ msgid "using restricted shell %s" #~ msgstr "ingeperkte shell %s wordt gebruikt" #~ msgid "warning: cannot change directory to %s" #~ msgstr "waarschuwing: kan map niet wijzigen in %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s /usr/bin/sort Uitvoer is \"sort\".\n" #~ " %s include/stdio.h .h Uitvoer is \"stdio\".\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s NAAM\n" #~ " of: %s OPTIE\n" #~ "\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "optie '--relative-base' vereist '--relative-to'" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "De groep van elk gegeven BESTAND veranderen naar de gegeven GROEP,\n" #~ "of naar de groep van REFERENTIEBESTAND.\n" #~ "\n" #~ " -c, --changes een melding geven voor elk veranderd bestand\n" #~ " --dereference niet de symbolische koppelingen zelf bewerken, " #~ "maar\n" #~ " de bestanden waarnaar ze verwijzen " #~ "(standaard)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet de meeste foutmeldingen onderdrukken\n" #~ " --reference=RFBSTND de groep van RFBSTND gebruiken in plaats van " #~ "GROEP\n" #~ " -R, --recursive bestanden en mappen recursief behandelen\n" #~ " -v, --verbose een melding geven voor elk gezien bestand\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "De modus van elk gegeven BESTAND veranderen naar de gegeven MODUS,\n" #~ "of naar de modus van REFERENTIEBESTAND.\n" #~ "\n" #~ " -c, --changes een melding geven voor elk veranderd bestand\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root '/' niet speciaal behandelen (standaard)\n" #~ " --preserve-root op '/' niet recursief werken\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet de meeste foutmeldingen onderdrukken\n" #~ " -R, --recursive bestanden en mappen recursief behandelen\n" #~ " --reference=RFBSTND modus van RFBSTND gebruiken i.p.v. een MODUS-" #~ "waarde\n" #~ " -v, --verbose een melding geven voor elk gezien bestand\n" #~ "\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "De eigenaar en/of groep van elk gegeven BESTAND veranderen naar de " #~ "gegeven\n" #~ "EIGENAAR en/of GROEP, of naar de eigenaar en groep van " #~ "REFERENTIEBESTAND.\n" #~ "\n" #~ " -c, --changes een melding geven voor elk veranderd bestand\n" #~ " --dereference niet de symbolische koppelingen zelf bewerken, " #~ "maar\n" #~ " de bestanden waarnaar ze verwijzen " #~ "(standaard)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet de meeste foutmeldingen onderdrukken\n" #~ " --reference=RFBSTND eigenaar en groep van RFBSTND gebruiken\n" #~ " -R, --recursive bestanden en mappen recursief behandelen\n" #~ " -v, --verbose een melding geven voor elk gezien bestand\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "De huidige datum en/of tijd tonen (in de gegeven OPMAAK),\n" #~ "of de systeemdatum en/of -tijd instellen (Maand, Dag, uren, minuten).\n" #~ "\n" #~ " -d, --date=DATUMTIJD deze DATUMTIJD tonen i.p.v. de huidige " #~ "tijd\n" #~ " -f, --file=DATUMTIJDBESTAND als '--date' voor elke regel in " #~ "DATUMTIJDBESTAND\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "GROOTTE mag (een geheel getal eventueel gevolgd door) één van de volgende " #~ "zijn:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, enz. voor G, T, P, E, Z en " #~ "Y.\n" #~ msgid "cannot create link %s" #~ msgstr "kan koppeling %s niet aanmaken" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "WAARSCHUWING: optie '--preserve_context' is verouderd;\n" #~ "gebruik in plaats daarvan '--preserve-context'" #~ msgid "truncating %s" #~ msgstr "afkorten van %s" #~ msgid "" #~ " nocreat do not create the output file\n" #~ " excl fail if the output file already exists\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ msgstr "" #~ " nocreat geen uitvoerbestand aanmaken\n" #~ " excl weigeren als het uitvoerbestand al bestaat\n" #~ " notrunc een bestaand uitvoerbestand niet korter maken\n" #~ " ucase kleine letters vervangen door hoofdletters\n" #~ " swab ieder paar bytes uit de invoer omwisselen\n" #~ msgid "Filesystem " #~ msgstr "Bestandssysteem " #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " Inodes IGebr IVrij IGeb%" #~ msgid " Size Used Avail Use%" #~ msgstr " Grtte Gebr Besch Geb%" #~ msgid " Size Used Avail Use%" #~ msgstr " Grtte Gebr Besch Geb%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr "%s-blokken Gebruikt Beschikbr Vulgraad" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "%4s-blokken Gebruikt Beschikbr Geb%%" #~ msgid "invalid number of lines: 0" #~ msgstr "ongeldig aantal regels: 0" #~ msgid "invalid format precision" #~ msgstr "ongeldige opmaakprecisie" #~ msgid "creating symbolic link %s" #~ msgstr "aanmaken van symbolische koppeling %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "aanmaken van symbolische koppeling %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "aanmaken van harde koppeling %s" #~ msgid "creating hard link %s => %s" #~ msgstr "aanmaken van harde koppeling %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "overtollig argument: %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "beide SI en IEC voorvoegsels aanwezig als eenheden" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "waarschuwing: de optie --%s is verouderd; gebruik --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Merk op dat de opties '-r' en '-s' elkaar uitsluiten.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=AANTAL naar de volgende regel gaan na dit aantal " #~ "gecodeerde\n" #~ " tekens (standaard 76); gebruik 0 voor één lange " #~ "regel\n" #~ " -d, --decode de gegevens decoderen\n" #~ " -i, --ignore-garbage (bij decoderen) niet-alfabetische tekens negeren\n" #~ "\n" �������������������������������������������������������coreutils-8.21/po/fi.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001532532�12107204507�011733� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Finnish messages for coreutils. # Copyright © 2002, 2003, 2004, 2006, 2008, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Lauri Nurmi <lanurmi@iki.fi>, 2003, 2004, 2006, 2008, 2010. # Matti Koskimies <matti@apulanta.fi>, 2002. # # SANOJA: # override -> kumoaminen on huono # ownership -> omistajuus vai omistaja? # print -> näytä? nyt yleensä "tulosta". # # päätös: # separator = erotin # delimiter = rajoitin # # user ID = ... # group ID = ... # ################################ # msgid "" msgstr "" "Project-Id-Version: coreutils 8.5\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2010-07-18 00:17+0300\n" "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "virheellinen argumentti %s %s:lle" # Vähän huono käyttää taivutuspäätettä, mutta jälkimmäinen %s voinee # viitata moneenkin asiaan. #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "moniselitteinen argumentti %s %s:lle" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Kelvolliset argumentit:" #: lib/closein.c:100 msgid "error closing file" msgstr "virhe tiedoston sulkemisessa" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "kirjoitusvirhe" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "säilytettäessä tiedoston %s oikeuksia" #: lib/error.c:188 msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" #: lib/file-type.c:38 msgid "regular empty file" msgstr "tavallinen tyhjä tiedosto" #: lib/file-type.c:38 msgid "regular file" msgstr "tavallinen tiedosto" #: lib/file-type.c:41 msgid "directory" msgstr "hakemisto" #: lib/file-type.c:44 msgid "block special file" msgstr "lohkoerikoistiedosto" #: lib/file-type.c:47 msgid "character special file" msgstr "merkkierikoistiedosto" #: lib/file-type.c:50 msgid "fifo" msgstr "putkitiedosto" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolinen linkki" #: lib/file-type.c:56 msgid "socket" msgstr "pistoke" #: lib/file-type.c:59 msgid "message queue" msgstr "viestijono" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafori" #: lib/file-type.c:65 msgid "shared memory object" msgstr "jaettu muistiobjekti" #: lib/file-type.c:68 msgid "typed memory object" msgstr "tyypitetty muistiobjekti" #: lib/file-type.c:70 msgid "weird file" msgstr "outo tiedosto" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fifo-tiedostot eivät ole tuettuja" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Väliaikainen häiriö nimenselvityksessä" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Korjautumaton häiriö nimenselvityksessä" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "fifo-tiedostot eivät ole tuettuja" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Muistinvarausvirhe" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nimi tai palvelu on tuntematon" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "fifo-tiedostot eivät ole tuettuja" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Järjestelmävirhe" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Tuntematon virhe" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: valitsin â€%s†ei ole yksiselitteinen\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: valitsin â€--%s†ei salli argumenttia\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: valitsin â€%c%s†ei salli argumenttia\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: valitsin â€%s†vaatii argumentin\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: tunnistamaton valitsin â€--%sâ€\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: tunnistamaton valitsin â€%c%sâ€\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: epäkelpo valitsin – %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valitsin vaatii argumentin – %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: valitsin â€-W %s†ei ole yksiselitteinen\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: valitsin â€-W %s†ei salli argumenttia\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: valitsin â€%s†vaatii argumentin\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kohteen %s oikeuksien muuttaminen ei onnistu" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "hakemiston %s luominen ei onnistu" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "muisti loppu" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "â€" #: lib/quotearg.c:313 msgid "'" msgstr "â€" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: tiedoston loppu" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Virheellinen säännöllinen lauseke" #: lib/regcomp.c:140 #, fuzzy msgid "Invalid collation character" msgstr "virheellinen merkkiluokka %s" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Virheellinen merkkiluokan nimi" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 #, fuzzy msgid "Invalid back reference" msgstr "Virheellinen sivuväli %s" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Virheellinen välin loppu" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Muisti loppu" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: virheellinen säännöllinen lauseke: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "virhe säännöllisen lausekkeen haussa" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "virhe säännöllisen lausekkeen haussa" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "virhe säännöllisen lausekkeen haussa" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "käytä valitsinta --no-preserve-root tämän varmistuksen ohittamiseksi" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[kKyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[eEnN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "asetettaessa tiedoston %s oikeuksia" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 #, fuzzy msgid "Killed" msgstr "tiedosto" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Järjestelmävirhe" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "kellon siirto" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: virheellinen signaali" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: virheellinen signaali" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "järjestelmäkutsu fork epäonnistui" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "outo tiedosto" #: lib/siglist.h:131 #, fuzzy msgid "Resource lost" msgstr "ennen operaattoria -lt" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "nimettyä putkea %s ei voi luoda" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: siirtyminen epäonnistui" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "ajanjakso ei kelpaa: %s" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv-funktio ei ole käyttökelpoinen" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv-funktio ei ole saatavilla" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "merkki sallitun välin ulkopuolella" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "merkin U+%04X muunnos paikalliseen merkistöön ei onnistu" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "merkin U+%04X muunnos paikalliseen merkistöön ei onnistu: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "virheellinen käyttäjä" #: lib/userspec.c:107 msgid "invalid group" msgstr "virheellinen ryhmä" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "virheellinen käyttäjä" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Kirjoittanut %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Kirjoittaneet %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Kirjoittaneet %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, %s ja muut.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen\n" "<%s>.\n" "Ilmoita suomennoksen vioista listalle\n" "<translation-team-fi@lists.sourceforge.net>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen\n" "<%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, fuzzy, c-format msgid "%s home page: <%s>\n" msgstr "Käyttö: %s\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "avaaminen epäonnistui" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 #, fuzzy msgid "stderr" msgstr "vakiovirhe" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Tuntematon järjestelmävirhe" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "tiedoston %s avaaminen epäonnistui" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "merkkijonovertailu epäonnistui" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Aseta LC_ALL='C' ongelman kiertämiseksi." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Vertaillut merkkijonot olivat %s ja %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argumentti â€%s†ei kelpaa" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "argumentti â€%s†ei kelpaa" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: lukumäärä â€%.*s†on liian suuri" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Käyttö: %s [VALITSIN]... [TIEDOSTO]\n" "Base64-koodaa tai -pura TIEDOSTO tai vakiosyöte vakiotulosteeseen.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "lukuvirhe" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "virheellinen leveys: %s" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "virheellinen sarkainkoko: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "ylimääräinen operandi %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "suljetaan vakiosyöte" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Käyttö: %s NIMI [PÄÄTE]\n" " tai: %s VALITSIN\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Tulostetaan NIMI ilman edeltävää hakemistorakennetta.\n" "Poistetaan myös lopusta mahdollinen PÄÄTE.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "operandi puuttuu" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Ketjuta TIEDOSTO(t) tai vakiosyöte vakiotulosteeseen.\n" "\n" " -A, --show-all sama kuin -vET\n" " -b, --number-nonblank numeroi epätyhjät tulosterivit\n" " -e sama kuin -vE\n" " -E, --show-ends näytä â€$â€-merkki jokaisen rivin lopussa\n" " -n, --number numeroi kaikki tulosterivit\n" " -s, --squeeze-blank älä tulosta peräkkäisiä tyhjiä rivejä\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t sama kuin -vT\n" " -T, --show-tabs näytä sarkaimet merkinnällä ^I\n" " -u (ei huomioida)\n" " -v, --show-nonprinting käytä merkintöjä ^ ja M- muille kuin " "rivinvaihdolle\n" " ja sarkaimelle\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Esimerkkejä:\n" " %s f - g Tulosta f:n sisältö, sitten vakiosyöte, sitten g:n sisältö.\n" " %s Kopioi vakiosyötteestä vakiotulosteeseen.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "tiedostolle %s ei voi käyttää ioctl:ää" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "vakiotuloste" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: syötetiedosto on tulostiedosto" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "tiedoston %s omistajuuden muuttaminen epäonnistui\n" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "tiedostoa %s ei voi käsitellä" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "hakemistoa %s ei voi lukea" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "muutettaessa tiedoston %s oikeuksia" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read epäonnistui" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "sulkeminen epäonnistui" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Käyttö: %s [VALITSIN]... OMISTAJA TIEDOSTO...\n" " tai: %s [VALITSIN]... [-u KÄYTTÄJÄ] [-r ROOLI] [-l VÄLI] [-t TYYPPI] " "TIEDOSTO...\n" " tai: %s [VALITSIN]... --reference=RTIED TIEDOSTO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" "ja ryhmäksi samat kuin VTIEDostolla.\n" "\n" " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain tehdyt\n" " muutokset\n" " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" " itseään (tämä on oletus)\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root älä kohtele juurta (â€/â€) erityisesti (oletus)\n" " --preserve-root estä rekursiivinen toiminta juuressa (â€/â€)\n" # Onko rekursiivisuudelle suomenkielisempää sanaa? #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon sijaan\n" " -R, --recursive käsittele tiedostot ja hakemistot rekursiivisesti\n" " -v, --verbose näytä ilmoitus jokaisesta käsitellystä tiedostosta\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Seuraavat valitsimet määräävät, miten hakemistorakennetta käydään läpi, jos\n" "valitsin -R on annettu. Jos useampi kuin yksi seuraavista on annettu, vain\n" "viimeinen on voimassa.\n" "\n" " -H jos komentoriviargumentti on symbolinen linkki\n" " hakemistoon, seuraa sitä\n" " -L seuraa jokaista hakemistoon osoittavaa symbolista\n" " linkkiä\n" " -P älä seuraa symbolisia linkkejä (oletus)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference vaatii joko -H:n tai -L:n" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h vaatii -P:n" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "%s:n jälkeen puuttuu operandi" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "virheelliset oikeudet: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "virheellinen ryhmä: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Käyttö: %s [VALITSIN]... RYHMÄ TIEDOSTO...\n" " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" "ja ryhmäksi samat kuin VTIEDostolla.\n" "\n" " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain tehdyt\n" " muutokset\n" " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" " itseään (tämä on oletus)\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference muuta kutakin symbolista linkkiä, ei minkään " "linkin\n" " kohdetta (käytettävissä vain järjestelmissä, " "joissa\n" " symlinkin omistajuutta voi muuttaa)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Esimerkkejä:\n" " %s hlokunta /u Vaihda /u:n ryhmäksi â€hlokuntaâ€.\n" " %s -hR hlokunta /u Vaihda /u:n ja alitiedostojen ryhmäksi â€hlokuntaâ€.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "haettaessa tiedoston %s uusia ominaisuuksia" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "symbolista linkkiä %s tai sen viittaamaa tiedostoa ei muutettu\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "tiedoston %s oikeuksiksi asetettu %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "tiedoston %s oikeuksien muuttaminen arvoon %04lo (%s) epäonnistui\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "tiedoston %s oikeuksina säilytettiin %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "rikkinäistä symlinkkiä %s ei voi käyttää" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "muutettaessa tiedoston %s oikeuksia" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: uudet oikeudet ovat %s, ei %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Käyttö: %s [VALITSIN]... OIKEUDET[,OIKEUDET]... TIEDOSTO...\n" " tai: %s [VALITSIN]... OKTAALI-OIKEUDET TIEDOSTO...\n" " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" "ja ryhmäksi samat kuin VTIEDostolla.\n" "\n" " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain tehdyt\n" " muutokset\n" " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" " itseään (tämä on oletus)\n" # Onko rekursiivisuudelle suomenkielisempää sanaa? #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon sijaan\n" " -R, --recursive käsittele tiedostot ja hakemistot rekursiivisesti\n" " -v, --verbose näytä ilmoitus jokaisesta käsitellystä tiedostosta\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "virheelliset oikeudet: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "tiedoston %s omistajaksi vaihdettiin %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "tiedoston %s ryhmäksi vaihdettiin %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "tiedoston %s omistajuus ei muuttunut\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "tiedoston %s omistajuuden muuttaminen epäonnistui\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "tiedoston %s omistajana säilytettiin %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "tiedoston %s ryhmänä säilytettiin %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "tiedoston %s omistajuus säilytettiin ennallaan\n" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "tiedostoa %s ei voi poistaa" # %s voi olla myös hakemisto, mutta suurta väärinkäsityksen mahdollisuutta # ei ole vaikka hakemistostakin annetaan sama virhe. #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "vaihdettaessa tiedoston %s omistajuutta" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "vaihdettaessa tiedoston %s ryhmää" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Käyttö: %s [VALITSIN]... [OMISTAJA][:[RYHMÄ]] TIEDOSTO...\n" " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=NYKYINEN_OMISTAJA:NYKYINEN_RYHMÄ\n" " vaihda kunkin tiedoston omistajaa ja/tai ryhmää " "vain\n" " jos sen nykyinen omistaja ja/tai ryhmä täsmää\n" " tässä annettuihin. Jompikumpi voidaan jättää\n" " pois, jolloin pois jätetyn ominaisuuden ei " "tarvitse\n" " täsmätä.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" # Maksakaa huomiota tähän, voi olla vähän epäselkeä. #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Jos omistaja puuttuu, sitä ei muuteta. Jos ryhmä puuttuu, sitä muutetaan\n" "(kirjautumisryhmäksi) vain, jos erotin â€:†on annettu. OMISTAJA ja RYHMÄ\n" "voivat olla joko numeerisia tai symbolisia.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "virheellinen ryhmä %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "virheellinen ryhmä %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "lisäryhmän asetus ei onnistu" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s UUSIJUURI [KOMENTO [ARG]...]\n" " tai: %s VALITSIN\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Aja KOMENTO siten, että UUSIJUURI on asetettuna juurihakemistoksi.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Jos komentoa ei anneta, ajetaan â€${SHELL} -i†(oletus: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "hakemiston %s asettaminen juurihakemistoksi ei onnistu" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "juurihakemistoon siirtyminen ei onnistu" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "tiedoston %s avaaminen epäonnistui" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "tiedoston %s avaaminen epäonnistui" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "komentoa %s ei voi ajaa" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: liian pitkä tiedosto" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Käyttö: %s [TIEDOSTO]...\n" " tai: %s [VALITSIN]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Näytä kunkin TIEDOSTOn CRC-tarkistussumma ja tavumäärä.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO1 TIEDOSTO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Vertaa lajiteltuja tiedostoja TIEDOSTO1 ja TIEDOSTO2 rivi riviltä.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Ilman valitsimia tuotetaan kolmen sarakkeen tuloste. Sarake yksi sisältää\n" "ainoastaan TIEDOSTO1:ssä esiintyvät rivit, sarake kaksi ainoastaan\n" "TIEDOSTO2:ssa esiintyvät rivit, ja sarake kolme molemmissa esiintyvät " "rivit.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 älä tulosta ainoastaan TIEDOSTO1:ssä esiintyviä rivejä\n" " -2 älä tulosta ainoastaan TIEDOSTO2:ssä esiintyviä rivejä\n" " -3 älä tulosta rivejä, jotka esiintyvät molemmissa " "tiedostoissa\n" #: src/comm.c:122 #, fuzzy msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" " -v TIEDNUM kuten -a TIEDNUM, mutta jätä yhdistetyt rivit " "tulostamatta\n" " -1 SARAKE yhdistä tämä tiedoston 1 SARAKE\n" " -2 SARAKE yhdistä tämä tiedoston 2 SARAKE\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "useita tulostiedostoja annettu" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "virhe luettaessa tiedostoa %s" # Onko seek nyt sitten siirtymistä, selaamista, vaiko muuta. # Saa ehdottaa myös vastavaa substantiivia. #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "siirtyminen tiedostossa %s ei onnistu" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "virhe kirjoitettaessa tiedostoa %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "kirjoitus epäonnistui" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "asetettaessa tiedoston %s oikeuksia" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "tiedoston %s omistajuuden säilytys ei onnistu" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "tiedostoa %s ei löytynyt" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "tiedoston %s tekijän tietojen säilytys ei onnistunut" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "tiedostoa %s ei voi avata lukemista varten" # On sitten ihan turha tehdä suomennoksissa mitään eroa statin, fstatin, ym. # välille, käyttäjää ei kiinnosta. #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "tiedoston %s tilan lukeminen ei onnistu" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "ohitetaan tiedosto %s, sillä se korvattiin kopioinnin aikana" #: src/copy.c:850 #, fuzzy, c-format msgid "failed to get file system create context" msgstr "" "vakiovirhetulosteen kopion asettaminen sulkeutumaan käynnistettäessä " "epäonnistui" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "tiedostoa %s ei voi poistaa" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "poistettiin tiedosto %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ei kirjoiteta rikkinäisen symlinkin %s kautta" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "tavallisen tiedoston %s luominen ei onnistu" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "säilytettäessä tiedoston %s aikoja" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: korvataanko tiedosto %s, ohittaen oikeudet %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: korvataanko tiedosto %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (varmuuskopio: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "kovan linkin %s luominen tiedostoon %s ei onnistu" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "tiedoston %s tilaa ei voi lukea" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "ohitetaan hakemisto %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s ja %s ovat sama tiedosto" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "ei-hakemistoa %s ei voi korvata hakemistolla %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "ei korvata juuri luotua tiedostoa %s tiedostolla %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "hakemistoa %s ei voi korvata ei-hakemistolla" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "hakemistoa ei voi siirtää ei-hakemistoon: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei siirretty" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei kopioitu" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "tiedostoa %s ei voi varmuuskopioida" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ei kopioida tiedostoa %s juuri luodun symlinkin %s kautta" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "hakemistoa, %s, ei voi kopioida itseensä, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ei luoda kovaa linkkiä %s hakemistoon %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "hakemistoa %s ei voi siirtää omaan alihakemistoonsa, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "tiedostoa %s ei voi siirtää kohteeseen %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "laitteiden välinen siirto epäonnistui: %s -> %s; kohdetta ei voi poistaa" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "kiertävää symbolista linkkiä %s ei voi kopioida" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: suhteellisia symbolisia linkkejä voi tehdä vain nykyisessä hakemistossa" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "kohteeseen %2$s ei voi luoda symbolista linkkiä %1$s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "nimettyä putkea %s ei voi luoda" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "erikoistiedostoa %s ei voi luoda" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "symbolista linkkiä %s ei voi lukea" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "symbolisen linkin %s luominen ei onnistu" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "tiedostolla %s on tuntematon tiedostotyyppi" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "tiedoston %s varmuuskopion palautus ei onnistu" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (varmuuskopion palautus)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE\n" " tai: %s [VALITSIN]... LÄHDE... HAKEMISTO\n" " tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Kopioi LÄHDE KOHTEeseen, tai useita LÄHTEitä HAKEMISTOon.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive sama kuin -dpR --preserve=all\n" " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" " kohdetiedosto\n" " -b kuten --backup, mutta ilman argumenttia\n" " --copy-contents kopioi erikoistiedostojen sisältö rekursiota\n" " käytettäessä\n" " -d sama kuin --no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force jos olemassaolevaa kohdetiedostoa ei voi " "avata,\n" " poista se ja yritä uudelleen (tarpeeton\n" " valitsinta -n käytettäessä)\n" " -i, --interactive kysy ennen korvaamista (kumoaa aiemman\n" " -n-valitsimen)\n" " -H seuraa komentorivillä annettuja LÄHTEEN\n" " symbolisia linkkejä\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link linkitä tiedostot kopioinnin sijaan\n" " -L, --dereference seuraa aina LÄHTEEN symbolisia linkkejä\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber älä ylikirjoita olemassa olevaa tiedostoa\n" " (kumoaa aiemman -i-valitsimen)\n" " -P, --no-dereference älä koskaan seuraa LÄHTEEN symbolisia " "linkkejä\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p sama kuin --preserve=mode,ownership," "timestamps\n" " --preserve[=OMIN.LUETT] säilytä annetut ominaisuudet (oletus:\n" " mode,ownership,timestamps), jos " "mahdollista,\n" " lisäominaisuudet: links, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=OMIN.LUETT älä säilytä annettuja ominaisuuksia\n" " --parents lisää lähdepolku HAKEMISTOon\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive kopioi hakemistot rekursiivisesti\n" " --remove-destination poista kukin olemassaoleva kohdetiedosto\n" " ennen avausyritystä (vertaa\n" " valitsimeen --force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --reply={yes,no,query} määrittele miten kysely olemassaolevasta\n" " kohdetiedostosta käsitellään\n" " --sparse=MILLOIN ohjaa hajanaisten tiedostojen luontia\n" " --strip-trailing-slashes poista /-merkit kunkin LÄHDE-argumentin\n" " perästä\n" # parempi suomennos overridelle kuin "kumoa"? #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link tee symbolisia linkkejä kopioinnin sijaan\n" " -S, --suffix=JÄLKILIITE syrjäytä tavanomainen varmuuskopion " "jälkiliite\n" " -t, --target-directory=HAK siirrä kaikki LÄHDE-argumentit HAKemistoon\n" " -T, --no-target-directory käsittele KOHDE normaalina tiedostona\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopioi vain jos LÄHDEtiedosto on uudempi " "kuin\n" " kohde, tai jos kohdetiedosto puuttuu\n" " -v, --verbose selitä mitä tapahtuu\n" " -x, --one-file-system pysy tässä tiedostojärjestelmässä\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Hajanaiset LÄHDEtiedostot tunnistetaan oletuksena karkealla heuristiikalla,\n" "ja vastaavasta KOHDEtiedostosta tehdään myös hajanainen. Tämän " "käyttäytymisen\n" "valitsee --sparse=auto. Antamalla valitsin --sparse=always luodaan " "hajanainen\n" "KOHDEtiedosto aina, kun LÄHDE sisältää riittävän pitkän sarjan 0-tavuja.\n" "Valitsin --sparse=never estää hajanaisten tiedostojen luomisen.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Varmuuskopion jälkiliite on â€~â€, ellei sitä ole asetettu valitsimella\n" "--suffix tai muuttujalla SIMPLE_BACKUP_SUFFIX. Versionhallintamenetelmän\n" "voi valita --backup-valitsimella tai muuttujalla VERSION_CONTROL. Arvot\n" "ovat seuraavat:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off älä varmuuskopioi koskaan (vaikka --backup olisi annettu)\n" " numbered, t tee numeroituja varmuuskopioita\n" " existing, nil numeroituja jos sellaisia on jo olemassa, muuten " "yksinkertaisia\n" " simple, never tee aina yksinkertaisia varmuuskopiota\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Erikoistapaus: cp tekee varmuuskopion LÄHTEestä, jos force- ja backup-\n" "valitsimet on annettu, ja LÄHDE ja KOHDE ovat sama nimi olemassaolevalle\n" "tavalliselle tiedostolle.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "tiedoston %s aikojen säilyttäminen ei onnistu" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "tiedoston %s oikeuksien säilyttäminen ei onnistu" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "hakemiston %s luominen ei onnistu" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s on olemassa, mutta ei ole hakemisto" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "puuttuva tiedosto-operandi" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "puuttuva kohdetiedosto" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "valitsimia --target-directory (-t) ja --no-target-directory (-T) ei voi " "yhdistää" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "kohde %s ei ole hakemisto" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "polkuja säilytettäessä kohteen on oltava hakemisto" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "useita tulostiedostoja annettu" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "linkit eivät voi olla sekä kovia että symbolisia" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "varmuuskopiotyyppi" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "syöte katosi" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: rivinumero sallitun välin ulkopuolella" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: rivinumero sallitun välin ulkopuolella" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " kierroksella %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: täsmäävyyttä ei löydy" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "virhe säännöllisen lausekkeen haussa" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "virhe kirjoitettaessa tiedostoa %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: rajoittimen jälkeen odotetaan kokonaislukua" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: toistomäärässä tarvitaan merkki â€}â€" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: merkkien â€{†ja â€}†väliin tarvitaan kokonaisluku" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: sulkeva rajoitin â€%c†puuttuu" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: virheellinen säännöllinen lauseke: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: virheellinen hahmo" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: rivinumeron on oltava suurempi kuin nolla" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "rivinumero %s on pienempi kuin edeltävä rivinumero %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "varoitus: rivinumero %s on sama kuin edeltävä rivinumero" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "puuttuva muunnostarkennin jälkiliitteessä" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "virheellinen muunnostarkennin jälkiliitteessä: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "virheellinen muunnostarkennin jälkiliitteessä: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%s: virheellinen kenttämääritys \"%s\"" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "liian monta %%-muunnosmääritystä jälkiliitteessä" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "puuttuva %%-muunnosmääritys jälkiliitteessä" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: virheellinen luku" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO HAHMO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Tulosta TIEDOSTOn osia HAHMO(i)lla erotettuina tiedostoihin â€xx01â€,\n" "â€xx02â€, ..., ja tulosta kunkin osan tavumäärä vakiotulosteeseen.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=MUOTO käytä sprintf-MUOTOa %02d:n sijaan\n" " -f, --prefix=ETULIITE käytä ETULIITEttä â€xxâ€:n sijaan\n" " -k, --keep-files älä poista tulostiedostoja virhetilanteessa\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=MÄÄRÄ käytä annettua numeromäärää 2:n sijaan\n" " -s, --quiet, --silent älä tulosta tulostiedostojen kokoja\n" " -z, --elide-empty-files poista tyhjät tulostiedostot\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lue vakiosyötettä jos TIEDOSTO on -. Kukin HAHMO voi olla:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " KOKONAISLUKU kopioi annettuun riviin asti (mutta ei kyseistä riviä)\n" " /SÄÄNNLAUS/[SIIRT] kopioi täsmäävään riviin asti (mutta ei kyseistä " "riviä)\n" " %SÄÄNNLAUS%[SIIRT] siirry täsmäävälle riville\n" " {KOKONAISLUKU} toista edellistä hahmoa annettu määrä kertoja\n" " {*} toista edellistä hahmoa mahdollisimman monta kertaa\n" "\n" "RiviSIIRTymä on positiivinen kokonaisluku, jonka edessä on joko â€+†tai " "â€-â€.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Käyttö: %s VALITSIN... [TIEDOSTO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Tulosta kunkin TIEDOSTOn valitut osat vakiotulosteeseen.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LUETTELO tulosta vain nämä tavut\n" " -c, --characters=LUETTELO tulosta vain nämä merkit\n" " -d, --delimiter=RAJOIT käytä RAJOITinta kenttien rajana sarkaimen sijaan\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LUETTELO tulosta vain nämä kentät; tulosta myös rajoitinta\n" " sisältämättömät rivit ellei valitsinta -s ole\n" " annettu\n" " -n (ei huomioida)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --verbose tulosta ilmoitus vakiovirhetulosteeseen juuri\n" " ennen kunkin tulostiedoston avaamista\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited älä tulosta rajoitinta sisältämättömiä rivejä\n" " --output-delimiter=MERKKIJ käytä MERKKIJonoa tulosteen rajoittimena\n" " oletus on käyttää syötteen rajoitinta\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Käytä tasan yhtä valitsimista -b, -c ja -f. Kukin LUETTELO koostuu\n" "yhdestä välistä tai useasta pilkuin erotetusta välistä. Valittu syöte\n" "kirjoitetaan lukujärjestyksessa, täsmälleen kerran.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Väli on yksi seuraavista:\n" "\n" " N N:s tavu, merkki tai kenttä, numerointi alkaa 1:stä\n" " N- N:nnestä tavusta, merkistä tai kentästä rivin loppuun\n" " N-M N:nnestä tavusta, merkistä tai kentästä M:nteen (M ja N mukaan " "lukien)\n" " -M ensimmäisestä tavusta, merkistä tai kentästä M:nteen (M mukaan " "lukien)\n" "\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "virheellinen tavu- tai kenttälista" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "virheellinen leveysvalitsin: %s" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "virheellinen leveys: %s" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "tavusiirtymä %s on liian suuri" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "kenttänumero %s on liian suuri" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "voidaan antaa vain yhden tyyppinen luettelo" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "rajoittimen on oltava yksittäinen merkki" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "on annettava luettelo tavuista, merkeistä tai kentistä" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "syöterajoitin voidaan antaa vain käsiteltäessä kenttiä" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "ei-rajoitettujen rivien vaiennus on mahdollista\n" "\tvain käsiteltäessä kenttiä" #: src/cut.c:870 msgid "missing list of fields" msgstr "kenttälista puuttuu" #: src/cut.c:872 msgid "missing list of positions" msgstr "sijaintilista puuttuu" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Käyttö: %s [VALITSIN]... [+MUOTOILU]\n" " tai: %s [-u|--utc|--universal] [KKPPttmm[[CC]VV][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Näytä tämänhetkinen aika annetulla MUOTOILUlla, tai aseta järjestelmän " "aika.\n" "\n" " -d, --date=MERKKIJONO näytä MERKKIJONOn määräämä aika \"now\":n " "sijaan\n" " -f, --file=PVMTIEDOSTO kuten --date kerran kullekin PVMTIEDOSTOn " "riville\n" " -ITIMESPEC, --iso-8601[=AIKAMÄÄRE] näytä päivämäärä/aika ISO 8601 -" "muodossa.\n" " AIKAMÄÄRE=\"date\" pelkälle päivämäärälle,\n" " \"hours\", \"minutes\", tai \"seconds\" " "päivämäärälle ja\n" " ajalle mainitulla tarkkuudella.\n" " --iso-8601 ilman AIKAMÄÄREttä olettaa \"date\":" "n.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=TIEDOSTO näytä TIEDOSTOn viimeisin muokkausaika\n" " -R, --rfc-822 näytä päiväys ja aika RFC-822-muodossa.\n" " Esimerkki: Mon, 07 Aug 2006 12:34:56 +0300\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " -s, --set=MERKKIJONO aseta MERKKIJONOn määräämä aika\n" " -u, --utc, --universal näytä tai aseta UTC-aika\n" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "MUOTOILU säätelee tulostetta. Jälkimmäisen muodon ainoa sallittu valitsin\n" "määrittelee UTC-ajan. Tulkittavat ohjausmerkkijonot ovat:\n" "\n" " %% %-merkki\n" " %a maa-asetuksen lyhyt viikonpäivän nimi (ma-su)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A maa-asetuksen pitkä viikonpäivän nimi (esim. sunnuntai)\n" " %b maa-asetuksen lyhennetty kuukauden nimi (esim. tammi ) [huonoa " "suomea]\n" " %B maa-asetuksen pitkä kuukauden nimi (esim. tammikuu)\n" " %c maa-asetuksen päivämäärä ja aika (esim. la 3. maaliskuuta 2005 " "23:05:25)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C vuosisata; kuten %Y, mutta ilman kahta viimeistä numeroa (esim. 20)\n" " %d kuukauden päivä (esim. 01)\n" " %D päivämäärä amerikkalaisessa muodossa; sama kuin %m/%d/%y\n" " %e kuukauden päivä, välilyöntitäyttö; sama kuin %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F pitkä päivämäärä; sama kuin %Y-%m-%d\n" " %g ISO-viikkonumeron vuoden kaksi viimeistä numeroa (ks. %G)\n" " %G ISO-viikkonumeron vuosi (ks. %V); käytetään yleensä vain %V:n kanssa\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h sama kuin %b\n" " %H tunti (00-23)\n" " %I tunti (01-12)\n" " %j vuoden päivä (001-366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k tunti ( 0-23)\n" " %l tunti ( 1-12)\n" " %m kuukausi (01-12)\n" " %M minuutti (00-59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n rivinvaihto\n" " %N nanosekunnit (000000000-999999999)\n" " %p maa-asetuksen AM/PM-merkintä; tyhjä jos tuntematon\n" " %P kuten %p, mutta pienillä kirjaimilla\n" " %r maa-asetuksen 12-tuntinen kellonaika (esim. 11:11:04)\n" " %R 24-tuntinen tunti ja minuutti; sama kuin %H:%M\n" " %s sekuntimäärä ajanhetkestä 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekunti (00–60)\n" " %t sarkain\n" " %T aika; sama kuin %H:%M:%S\n" " %u viikonpäivä (1–7); 1 on maanantai\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U viikon numero, sunnuntai viikon ensimmäinen päivä (00–53)\n" " %V viikon numero (ISO), maanantai viikon ensimmäinen päivä (01–53)\n" " %w viikonpäivä (0–6); 0 on sunnuntai\n" " %W viikon numero, maanantai viikon ensimmäinen päivä (00–53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x maa-asetuksen päivämääräesitys (esim. 31.12.1999)\n" " %X maa-asetuksen aikaesitys (esim. 23:13:48)\n" " %y vuosiluvun kaksi viimeistä numeroa (00­–99)\n" " %Y vuosiluku\n" #: src/date.c:221 #, fuzzy msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z numeerinen aikavyöhyke +hhmm (esim. +0200)\n" " %:z numeerinen aikavyöhyke +hh:mm (esim. +02:00)\n" " %::z numeerinen aikavyöhyke +hh:mm:ss (esim. +02:00:00)\n" " %:::z numeerinen aikavyöhyke tarvittavalla tarkkuudella\n" " (esim. +02, +05:30)\n" " %Z aikavyöhykkeen kirjainlyhenne (esim. EET)\n" "\n" "Kentät täytetään normaalisti etunollilla.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "vakiosyöte" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "virheellinen päiväys %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "useita tulostusmuotoja annettu" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "päiväyksen tulostusta määräävät valitsimet ovat toisensa poissulkevia" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "ajan tulostus- ja asetusvalitsimia ei saa käyttää yhtä aikaa" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumentilta â€%s†puuttuu edeltävä â€+â€;\n" "käytettäessä valitsinta päiväyksen antamiseen täytyy valitsinten,\n" "jotka eivät ole argumentteja, olla â€+â€-alkuisia muotoilumerkkijonoja." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "ajan asetus ei onnistu" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "aika %s on sallitun välin ulkopuolella" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s [OPERANDI]...\n" " tai: %s VALITSIN\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopioi tiedosto, muuntaen ja muotoillen operandien mukaisesti.\n" "\n" " bs=MÄÄRÄ lue ja kirjoita MÄÄRÄ tavua kerralla (ks. myös ibs=,obs=)\n" " cbs=MÄÄRÄ muunna MÄÄRÄ tavua kerralla\n" " conv=MUUNNOS muunna tiedosto pilkuilla erotetun muunnosluettelon " "mukaan\n" " count=LOHKOT kopioi vain LOHKOT-arvon verran lohkoja\n" " ibs=MÄÄRÄ lue MÄÄRÄ tavua kerralla\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=TIEDOSTO lue TIEDOSTOsta vakiosyötteen sijaan\n" " obs=MÄÄRÄ kirjoita MÄÄRÄ tavua kerralla\n" " of=TIEDOSTO kirjoita TIEDOSTOon vakiotulosteen sijaan\n" " seek=LOHKOT ohita tulosteen alussa LOHKOT verran obs-kokoisia lohkoja\n" " skip=LOHKOT ohita syötteen alusta LOHKOT verran ibs-kokoisia lohkoja\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000², M =1024², xM =M\n" "GB =1000³, G =1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" "\n" "Kukin MUUNNOS voi olla:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii EBCDIC -> ASCII\n" " ebcdic ASCII -> EBCDIC\n" " ibm ASCII -> muutettu EBCDIC\n" " block tasaa rivinvaihtoon päättyvät tietueet välilyönneillä cbs-" "kokoon\n" " unblock korvaa välilyönnit cbs-kokoisten tietueiden lopusta " "rivinvaihdolla\n" " lcase muuta isot kirjaimet pieniksi\n" " ucase muuta pienet kirjaimet isoiksi\n" " swab vaihda keskenään jokainen syötetavupari\n" " sync tasaa jokainen syötelohko NUL-merkeillä ibs-kokoon; " "käytettäessä\n" " avainsanaa block tai unblock, tasataan välilyönneillä\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc älä typistä tulostiedostoa\n" " noerror jatka lukuvirheistä huolimatta\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "%s-signaalin saadessaan ajossa oleva â€ddâ€-ohjelma tulostaa \n" "I/O-tilastot vakiovirhetulosteeseen ja jatkaa sitten kopiointia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 tietuetta sisään\n" " 18335302+0 tietuetta ulos\n" " 9387674624 tavua (9,4 GB) kopioitu 34,6279 sekunnissa, 271 MB/s\n" "\n" "Valitsimet ovat:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> tietuetta sisään\n" "%<PRIuMAX>+%<PRIuMAX> tietuetta ulos\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> typistetty tietue\n" msgstr[1] "%<PRIuMAX> typistettyä tietuetta\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> tavu (%s) kopioitu" msgstr[1] "%<PRIuMAX> tavua (%s) kopioitu" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr " %g sekunnissa, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "suljetaan syötetiedosto %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "suljetaan tulostiedosto %s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "siirtyminen hakemistoon %s epäonnistui" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "kirjoitettaessa tiedostoon %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "tunnistamaton operandi %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "virheellinen muunnos" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "virheellinen leveys: %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "virheellinen ryhmänimi %s" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "virheellinen päiväyksen muoto %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "virheellinen määrä %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "sekä käyttäjää että ryhmää ei voi jättää antamatta" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "tiedostonimiä %s ja %s ei voi vertailla" #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "varoitus: ohitetaan ytimen lseek-ohjelmistovika tiedostolle (%s)\n" " mt_type=0x%0lx – katso tyyppien luettelo tiedostosta <sys/mtio.h>" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: ei voi poistaa" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: ei voi poistaa" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "asetettaessa tiedoston %s lippuja" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: siirtyminen suhteelliseen siirtymään %s ei onnistu" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "edetään %s tavun yli tulostiedostossa %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "edetään %s tavun yli tulostiedostossa %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "siirtyminen hakemistoon %s epäonnistui" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Tiedostojärjestelmä" #: src/df.c:175 msgid "Type" msgstr "Tyyppi" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "lohkot" #: src/df.c:181 msgid "Used" msgstr "Käyt" #: src/df.c:184 msgid "Available" msgstr "Vapaana" #: src/df.c:187 msgid "Use%" msgstr "Käy%" #: src/df.c:190 msgid "Inodes" msgstr "I-solmut" #: src/df.c:193 msgid "IUsed" msgstr "IKäyt" #: src/df.c:196 msgid "IFree" msgstr "IJälj" #: src/df.c:199 msgid "IUse%" msgstr "IKäy%" #: src/df.c:202 msgid "Mounted on" msgstr "Liitospiste" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Koko" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Vapaa" #: src/df.c:474 msgid "Capacity" msgstr "Käytetty" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Näytä tietoja tiedostojärjestelmästä, jolla kukin TIEDOSTO sijaitsee,\n" "tai oletuksena kaikista tiedostojärjestelmistä.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all näytä myös valetiedostojärjestelmät\n" " -B, --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" " -h, --human-readable näytä koot helppolukuisessa muodossa (esim. 1K 234M " "2G)\n" " -H, --si sama kuin edellä, mutta monikerta on 1000, ei 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes näytä i-solmutiedot lohkotietojen sijaan\n" " -k kuten --block-size=1K\n" " -l, --local rajoita listaus paikallisiin tiedostojärjestelmiin\n" " --no-sync älä kutsu synciä ennen tilatietojen selvittämistä " "(oletus)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability käytä POSIX-tulostemuotoa\n" " --sync kutsu synciä ennen tilatietojen selvittämistä\n" " -t, --type=TYYPPI rajoita tiedostojärjestelmien listaus " "tietynTYYPPIsiin\n" " -T, --print-type tulosta tiedostojärjestelmän tyyppi\n" " -x, --exclude-type=TYYPPI rajoita tiedostojärjestelmien listaus " "muunTYYPPIsiin\n" " -v (ei huomioida)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Varoitus: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "tiedostojärjestelmätyyppi %s on sekä valittu että jätetty pois" #: src/df.c:1500 msgid "Warning: " msgstr "Varoitus: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "liitettyjen tiedostojärjestelmien taulua ei voi lukea" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Tulosta komennot LS_COLORS-ympäristömuuttujan asettamiseksi.\n" "\n" "Tulosteen muodon valinta:\n" " -b, --sh, --bourne-shell tulosta Bourne shell -tyyppistä koodia\n" " -c, --csh, --c-shell tulosta C shell -tyyppistä koodia\n" " -p, --print-database tulosta oletukset\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Jos TIEDOSTO on annettu, sitä lukemalla selvitetään, mitä värejä käytetään\n" "millekin tiedostotyypille ja -tunnisteelle. Muussa tapauksessa käytetään\n" "esikäsiteltyä tietokantaa. Näiden tiedostojen muodosta saa tietoa\n" "suorittamalla komennon â€dircolors --print-databaseâ€.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: virheellinen rivi; toinen symboli puuttuu" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: tunnistamaton avainsana %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<sisäinen>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "valitsimet dircolors:in sisäiseen tietokannan tulostamiseksi\n" "ja kuorisyntaksin valitsemiseksi ovat toisensa poissulkevat" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "SHELL-ympäristömuuttujaa ei ole, eikä annettu kuoren tyyppivalitsinta" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Käyttö: %s [VALITSIN] NIMI...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Tulosta NIMI loppuosa karsittuna viimeisestä /-merkistä alkaen; jos NIMI\n" "ei sisällä /-merkkejä, tulostetaan â€.†(tarkoittaen nykyistä hakemistoa).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero-terminated päätä rivit 0-tavuun, ei rivinvaihtoon\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Esimerkkejä:\n" " %s /usr/bin/sort Tuloste: â€/usr/binâ€.\n" " %s stdio.h Tuloste: â€.â€.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" " tai: %s [VALITSIN]... --files0-from=T\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Tee yhteenveto kunkin TIEDOSTOn levytilan käytöstä, hakemistoille\n" "rekursiivisesti.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all näytä koot kaikille tiedostoille, ei vain\n" " hakemistoille\n" " --apparent-size näytä nimelliset koot levytilan käytön sijaan;\n" " vaikka nimelliskoko on yleensä pienempi, se voi\n" " olla myös suurempi johtuen (â€hajanaistenâ€)\n" " tiedostojen rei’istä, sisäisestä " "pirstoutumisesta,\n" " epäsuorista lohkoista, ym.\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" " -b, --bytes sama kuin â€--apparent-size --block-size=1â€\n" " -c, --total näytä myös kokonaismäärä\n" " -D, --dereference-args laske mukaan vain komentorivillä annettujen\n" " symlinkkien kohteiden koot\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=T tee yhteenveto tiedostossa T annetuista\n" " NUL-päätetyistä tiedostonimistä;\n" " Jos T on -, nimet luetaan vakiosyötteestä\n" " -H sama kuin --dereference-args (-D)\n" " -h, --human-readable näytä koot helppolukuisessa muodossa (esim. 1K 234M " "2G)\n" " --si sama kuin -h, mutta monikerta on 1000, ei 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k sama kuin --block-size=1K\n" " -l, --count-links laske kovien linkkien koot monta kertaa\n" " -m sama kuin --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference seuraa kaikkia symbolisia linkkejä\n" " -P, --no-dereference älä seuraa mitään symbolisia linkkejä (tämä on " "oletus)\n" " -0, --null päätä jokainen tulosterivi 0-tavuun, ei " "rivinvaihtoon\n" " -S, --separate-dirs älä laske mukaan alihakemistojen kokoa\n" " -s, --summarize näytä vain kokonaismäärä jokaiselle argumentille\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -S lajittele tiedoston koon mukaan\n" " --sort=SANA extension -X, none -U, size -S, time -t,\n" " version -v, status -c, time -t, atime -u,\n" " access -u, use -u\n" " --time=SANA kun -l annettu, näytä muutosajan sijaan SANAn\n" " mukainen aika: atime, access, use, ctime tai\n" " status; annettua aikaa käytetään lajitteluun,\n" " jos --sort=time\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read epäonnistui" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "virheellinen enimmäissyvyys %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "virheellinen argumentti %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "yhteenvetoa ja kaikkia merkintöjä ei voi näyttää samaan aikaan" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "varoitus: yhteenvedon teko on sama asia kuin --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" "varoitus: yhteenvedon teko on ristiriidassa valitsimen --max-depth=%lu kanssa" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: lukuvirhe" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "virheellinen tyhjä tiedostonimi" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "yhteensä" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Käyttö: %s [MERKKIJONO]...\n" " tai: %s VALITSIN\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Kaiuta MERKKIJONO(t) vakiotulosteeseen.\n" "\n" " -n älä lisää rivinvaihtoa loppuun\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c ei rivinvaihtoa loppuun\n" " \\f sivunvaihto\n" " \\n rivinvaihto\n" " \\r vaununpalautus\n" " \\t vaakasarkain\n" " \\v pystysarkain\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Käyttö: %s [VALITSIN]... [-] [NIMI=ARVO]... [KOMENTO [ARGUMENTTI]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Aseta kullekin ympäristömuuttujalle NIMI vastaava ARVO ja aja KOMENTO.\n" "\n" " -i, --ignore-environment aloita tyhjällä ympäristöllä\n" " -u, --unset=NIMI poista muuttuja ympäristöstä\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Pelkkä â€-†tekee saman kuin -i. Ilman KOMENTOa tulostetaan seurauksena\n" "saatava ympäristö.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "ohjelmaa strip ei voi ajaa" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "tiedoston %s tilaa ei voi lukea" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Muunna kunkin TIEDOSTOn sisältämät sarkaimet välilyönneiksi, kirjoittaen\n" "vakiotulosteeseen. Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan\n" "vakiosyötettä.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial älä muunna ei-tyhjeen jälkeisiä sarkaimia\n" " -t, --tabs=KOKO aseta sarkaimen kooksi KOKO, ei 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LUETTELO käytä pilkuilla erotettua luetteloa sarkainten " "kohdista\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "sarkainasetin %s on liian suuri" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "sarkainkoko sisältää virheellisen merkin(/merkkejä): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "sarkaimen koko ei voi olla 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "sarkainkokojen on oltava nousevia" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "syöterivi on liian pitkä" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s LAUSEKE\n" " tai: %s VALITSIN\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Tulosta LAUSEKKEen arvo vakiotulosteeseen. Tyhjä rivi alla erottaa\n" "kasvavat laskujärjestysryhmät. LAUSEKE voi olla:\n" "\n" " ARG1 | ARG2 ARG1 jos se ei ole tyhjä eikä 0, muutoin ARG2\n" "\n" " ARG1 & ARG2 ARG1 jos kumpikaan ei ole tyhjä eikä 0, muutoin 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 on pienempi kuin ARG2\n" " ARG1 <= ARG2 ARG1 on pienempi tai yhtäsuuri kuin ARG2\n" " ARG1 = ARG2 ARG1 on yhtäsuuri kuin ARG2\n" " ARG1 != ARG2 ARG1 on erisuuri kuin ARG2\n" " ARG1 >= ARG2 ARG1 on suurempi tai yhtäsuuri kuin ARG2\n" " ARG1 > ARG2 ARG1 on suurempi kuin ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 ARG1:n ja ARG2:n aritmeettinen summa\n" " ARG1 - ARG2 ARG1:n ja ARG2:n aritmeettinen erotus\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmeettinen tulo ARG1 kerrottuna ARG2:lla\n" " ARG1 / ARG2 aritmeettinen osamäärä ARG1 jaettuna ARG2:lla\n" " ARG1 % ARG2 aritmeettinen jakojäännös ARG1 jaettuna ARG2:lla\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " MERKKIJONO : SÄÄNNLAUS ankkuroitu SÄÄNNLAUSeen mallihaku MERKKIJONOsta\n" "\n" " match MERKKIJONO SÄÄNNLAUS sama kuin MERKKIJONO : SÄÄNNLAUS\n" " substr MERKKIJONO SIJA PITUUS MERKKIJONOn osajono, SIJA 1:stä alkaen\n" " index MERKKIJONO MERKIT MERKKIJONOn kohta missä jokin MERKEISTÄ on " "tai 0\n" " length MERKKIJONO MERKKIJONOn pituus\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + JONO tulkitse JONO kuten merkkijono, vaikka se " "olisi\n" " avainsana kuten â€match†tai operaattori kuten " "â€/â€\n" "\n" " ( LAUSEKE ) LAUSEKKEen arvo\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Huomaa, että monet operaattorit täytyy suojata kuorilta.\n" "Vertailut ovat numeerisille argumenteille aritmeettisia, muille \n" "sanakirjamaisia.\n" "Mallihaut palauttavat merkkien \\( ja \\) väliin täsmäävän merkkijonon tai\n" "tyhjän. Merkkien \\( ja \\) puuttuessa palautuu täsmäävien merkkien määrä " "tai 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaksivirhe" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "virhe säännöllisen lausekkeen haussa" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "ei-numeerinen argumentti" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "nollalla jako" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "aseta LC_ALL='C' ongelman kiertämiseksi" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Vertaillut merkkijonot olivat %s ja %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ei ole kelvollinen positiivinen kokonaisluku" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s on liian suuri" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s [LUKU]...\n" " tai: %s VALITSIN\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Näytä kokonaisLUKUjen alkutekijät. Jos lukuja ei anneta komentorivillä,\n" "ne luetaan vakiosyötteestä.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "työhakemiston selvittäminen ei onnistu" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "hakemistoon %s ei voi siirtyä" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nykyisen hakemiston (%s) tilaa ei voi lukea" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Käyttö: %s [-LEVEYS] [VALITSIN]... [TIEDOSTO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Muotoile kukin TIEDOSTO(je)n sisältämä kappale, kirjoittaen " "vakiotulosteeseen.\n" "Jos TIEDOSTOa ei anneta tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin säilytä kahden ensimmäisen rivin sisennys\n" " -p, --prefix=MJONO yhdistä vain rivit, jotka alkavat MJONOlla\n" " -s, --split-only rivitä pitkät rivit, mutta älä täytä rivejä\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph ensimmäisen rivin sisennyksen ero toiseen\n" " -u, --uniform-spacing yksi väli sanojen, kaksi lauseiden jälkeen\n" " (suomen kielessä käytetään YHTÄ väliä " "lauseiden\n" " jälkeen)\n" " -w, --width=LEVEYS enimmäisrivileveys (oletus on 75 saraketta)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "virheellinen valitsin – %c; -LEVEYS tunnistetaan vain, kun se on " "ensimmäinen\n" "valitsin; käytä -w N sen sijaan" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "virheellinen leveys: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Rivitä kustakin TIEDOSTOsta (oletuksena vakiosyöte) luetut syöterivit\n" "kirjoittaen vakiotulosteeseen.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes laske tavuja, ei sarakkeita\n" " -s, --spaces katkaise välien kohdalta\n" " -w, --width=LEVEYS käytä sarakeleveytenä LEVEYttä oletusarvon 80 sijaan\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "virheellinen sarakemäärä: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Käyttö: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "ryhmä-ID:tä %lu vastaavaa nimeä ei löydy" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Käyttö: %s [VALITSIN]... [KÄYTTÄJÄTUNNUS]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "tunnuksen id:n asetus ei onnistu" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "tiedostoa %s ei voi poistaa" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "tunnuksen id:n asetus ei onnistu" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Käyttäjää ei ole" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulosta kunkin TIEDOSTOn 10 ensimmäistä riviä vakiotulosteeseen.\n" "Jos TIEDOSTOja on useampi kuin yksi, jokaista ennen näytetään tiedostonimi.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N tulosta ensimmäiset N tavua jokaisesta " "tiedostosta;\n" " jos edeltävä merkki â€-†on annettu, tulosta\n" " koko tiedosto lukuun ottamatta N:ää viimeistä " "tavua\n" " -n, --lines=[-]N tulosta ensimmäiset N riviä ensimmäisen 10 " "sijaan;\n" " jos edeltävä merkki â€-†on annettu, tulosta\n" " koko tiedosto lukuun ottamatta N:ää viimeistä " "riviä\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä " "otsakkeita\n" " -v, --verbose tulosta aina tiedostonimen sisältävät otsakkeet\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" "\n" "Kukin MUUNNOS voi olla:\n" "\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: tiedosto on kutistunut liikaa" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: tavumäärä on liian suuri" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: siirtyminen takaisin alkuperäiseen siirtymään ei onnistu" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: siirtyminen kohtaan %s ei onnistu" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: poisto epäonnistui" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "tiedosto-osoitinta ei voi siirtää tiedostossa %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s on liian suuri esitettäväksi" #: src/head.c:886 msgid "number of lines" msgstr "rivimäärä" #: src/head.c:886 msgid "number of bytes" msgstr "tavumäärä" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "virheellinen rivimäärä" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "virheellinen tavumäärä" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "virheellinen valitsin – %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Käyttö: %s\n" " tai: %s VALITSIN\n" "Tulostetaan koneen numeerinen tunniste (heksadesimaalisena).\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Käyttö: %s [NIMI]\n" " tai: %s VALITSIN\n" "Tulosta tai aseta järjestelmän konenimi.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "konenimen %s asettaminen järjestelmälle ei onnistu" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "konenimen asetus ei onnistu; tässä järjestelmässä ei ole tätä toimintoa" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "järjestelmän konenimen määritys ei onnistu" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Käyttö: %s [VALITSIN]... [KÄYTTÄJÄTUNNUS]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Tulosta KÄYTTÄJÄTUNNUksen tai nykyisen käyttäjän tiedot.\n" "\n" " -a ei huomioida, mukana yhteensopivuussyistä\n" " -g, --group tulosta vain vallitseva ryhmä-ID\n" " -G, --groups tulosta kaikkien ryhmien ID:t\n" " -n, --name tulosta nimi numeron sijaan -ugG -valitsimilla\n" " -r, --real tulosta todellinen ID vallitsevan sijaan -ugG -" "valitsimilla\n" " -u, --user tulosta vain vallitseva käyttäjä-ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Ilman VALITSIMIA tulostetaan jokin sovelias kokoelma tunnistettua tietoa.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "voidaan jakaa vain yhdellä tavalla" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "pelkkien nimien tai todellisten ID:iden tulostus oletusmuodossa ei onnistu" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "tiedostoa %s ei voi poistaa" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "käyttäjä-ID:tä %lu vastaavaa nimeä ei löydy" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " ryhmät=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "virheelliset oikeudet: %s" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "varoitus: ei voida siirtyä hakemistoon %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "luodaan hakemisto %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "tiedoston %s omistajuuden muuttaminen ei onnistu" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "tiedoston %s aikaleimojen asettaminen ei onnistu" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "järjestelmäkutsu fork epäonnistui" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "ohjelmaa strip ei voi ajaa" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "odotettaessa strip-ohjelman päättymistä" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "virheellinen käyttäjä %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE\n" " tai: %s [VALITSIN]... LÄHDE... HAKEMISTO\n" " tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE...\n" " tai: %s [VALITSIN]... -d HAKEMISTO...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Tämä install-ohjelma kopioi (usein juuri käännettyjä) tiedostoja " "valittuihin\n" "kohteisiin. Jos haluat ladata ja asentaa käyttövalmiin paketin GNU/Linux-\n" "järjestelmässä, käytä paketinhallintatyökalua kuten yum(1) tai apt-get(1).\n" "\n" "Kolme ensimmäistä muotoa: kopioi LÄHDE KOHTEeseen, tai useita LÄHTEitä\n" "olemassaolevaan HAKEMISTOon, asettaen samalla oikeudet ja omistaja/ryhmä.\n" "Neljäs muoto: luo annettujen HAKEMISTOjen kaikki (puuttuvat) ylähakemistot.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" " kohdetiedosto\n" " -b kuten --backup, mutta ei hyväksy argumenttia\n" " -c (ei huomioida)\n" " -C, --compare vertaile jokaista lähde-kohdetiedostoparia, ja\n" " älä muuta kohdetta lainkaan joissakin tapauksissa\n" " -d, --directory kohtele kaikkia argumentteja hakemistoniminä; luo\n" " kaikki annetut hakemistot alihakemistoineen\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D luo kaikki KOHTEen (puuttuvat) ylähakemistot " "viimeistä\n" " lukuun ottamatta, kopioi sitten LÄHDE KOHTEeseen\n" " -g, --group=RYHMÄ aseta ryhmä – muuten käytetään prosessin\n" " nykyistä ryhmää\n" " -m, --mode=OIKEUDET aseta oikeudet (kuten chmodissa) – muuten rwxr-xr-x\n" " -o, --owner=OMISTAJA aseta omistajuus (vain pääkäyttäjä)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps käytä LÄHDEtiedostojen käyttö/muutosaikoja\n" " vastaaviin kohdetiedostoihin\n" " -s, --strip riisu symbolitaulut\n" " --strip-program=OHJELMA binäärien riisumiseen käytettävä ohjelma\n" " -S, --suffix=JÄLKILIITE kumoa tavanomainen varmuuskopion jälkiliite\n" " -t, --target-directory=HAKEMISTO kopioi kaikki LÄHDEargumentit " "HAKEMISTOon\n" " -T, --no-target-directory käsittele KOHDEtta normaalina tiedostona\n" " -v, --verbose tulosta kunkin hakemiston nimi luotaessa\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "strip-valitsinta ei voi käyttää asennettaessa hakemistoa" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "virheelliset oikeudet %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" # *** *** *** *** #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Jos syöteriviparin liitossarakkeet ovat identtisiä, tulosta rivi\n" "vakiotulosteeseen. Oletusliitossarake on ensimmäinen sarake, erotettuna\n" "tyhjeellä.\n" "Kun joko TIEDOSTO1 tai TIEDOSTO2 on -, luetaan vakiosyötettä.\n" "\n" " -a TIEDNUM tulosta TIEDNUMerosta tulevat paritta jäävät rivit, " "missä\n" " TIEDNUM on 1 tai 2 (TIEDOSTO1 tai TIEDOSTO2)\n" " -e TYHJÄ korvaa puuttuvat syötekentät TYHJÄllä\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case älä huomioi kirjainkokoa sarakkeita verrattaessa\n" " -j SARAKE sama kuin â€-1 SARAKE -2 SARAKEâ€\n" " -o MUOTO noudata MUOTOa tulosteriviä muodostettaessa\n" " -t MERKKI käytä MERKKIä syöte- ja tulostesarakkeiden erottimena\n" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v TIEDNUM kuten -a TIEDNUM, mutta jätä yhdistetyt rivit " "tulostamatta\n" " -1 SARAKE yhdistä tämä tiedoston 1 SARAKE\n" " -2 SARAKE yhdistä tämä tiedoston 2 SARAKE\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Ellei ole annettu -t MERKKI, alussa olevat tyhjeet erottavat sarakkeita, ja\n" "ne jätetään huomiotta. Muutoin sarakkeita erottaa MERKKI. Jokainen SARAKE\n" "on 1:stä lähtien laskettu sarakenumero. MUODOssa on yksi tai useampi " "pilkuilla\n" "tai tyhjeillä erotettu määritys, joista jokainen on â€TIEDNUM.SARAKE†tai " "â€0â€.\n" "OletusMUOTO tulostaa liitossarakkeen, jäljellä olevat sarakkeet TIEDOSTO1:" "stä\n" "ja jäljellä olevat sarakkeet TIEDOSTO2:sta, kaikki MERKIllä erotettuina.\n" "\n" "Tärkeää: TIEDOSTO1:n ja TIEDOSTO2:n on oltava lajiteltu liitossarakkeen\n" "mukaan.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "virheellinen sarakenumero: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "virheellinen saraketarkennin: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "virheellinen tiedostonumero sarakemäärityksessä: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "epäyhteensopivat liitossarakkeet %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "monimerkkinen sarkain %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "epäyhteensopivat sarkaimet" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "vakiosyötettä ei voi käyttää molempina tiedostoina" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Käyttö: %s [-s SIGNAALI | -SIGNAALI] PID...\n" " tai: %s -l [SIGNAALI]...\n" " tai: %s -t [SIGNAALI]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Välitä signaaleja prosesseille tai luettele signaalit.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAALI, -SIGNAALI\n" " anna välitettävän signaalin nimi tai numero\n" " -l, --list luettele signaalien nimet tai muunna niitä numeroiksi/" "niistä numeroita\n" " -t, --table tulosta tietoja signaaleista taulukkomuodossa\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAALI voi olla signaalin nimi kuten â€HUPâ€, tai signaalin numero kuten " "â€1â€,\n" "tai signaalin päättämän prosessin paluuarvo. PID on kokonaisluku;\n" "negatiivisena se yksilöi prosessiryhmän.\n" "\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: virheellinen prosessi-ID" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "virheellinen valitsin – %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: useita signaaleja annettu" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "useita -l tai -t -valitsimia annettu" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "prosessi-ID:tä ei ole annettu" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "virheellinen argumentti %s %s:lle" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s TIED1 TIED2\n" " tai: %s VALITSIN\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Kutsu linkitysfunktiota linkin TIED2 luomiseksi olemassaolevaan TIED1:een.\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "linkkiä %s kohteeseen %s ei voi luoda" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: kova linkki ei ole sallittu hakemistolle" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: hakemistoa ei voi korvata" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: korvataanko tiedosto %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "symbolisen linkin %s luominen ei onnistu" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "kohteeseen %2$s ei voi luoda symbolista linkkiä %1$s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "luotaessa kovaa linkkiä kohteeseen %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "kovan linkin %s luominen tiedostoon %s ei onnistu" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "kovan linkin %s luominen tiedostoon %s ei onnistu" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Käyttö: %s [VALITSIN]... [-T] KOHDE LINKIN_NIMI (1. muoto)\n" " tai: %s [VALITSIN]... KOHDE (2. muoto)\n" " tai: %s [VALITSIN]... KOHDE... HAKEMISTO... (3. muoto)\n" " tai: %s [VALITSIN]... -t HAKEMISTO KOHDE... (4. muoto)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Luo linkki annettuun KOHTEeseen.\n" "Jos LINKIN_NIMEÄ ei ole annettu, luodaan nykyiseen hakemistoon linkki, " "jolla\n" "on sama tiedostonimi kuin KOHTEella. Käytettäessä toista muotoa useamman " "kuin\n" "yhden KOHTEen kanssa, viimeisen argumentin on oltava hakemisto; luo " "HAKEMISTOon\n" "linkit kuhunkin KOHTEeseen. Oletuksena luodaan kovia linkkejä, symbolisia\n" "valitsimen --symbolic kanssa. Jokaisen KOHTEen on oltava olemassa luotaessa\n" "kovia linkkejä.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" " kohdetiedosto\n" " -b kuten --backup, mutta ei hyväksy parametria\n" " -d, -F, --directory salli pääkäyttäjän yrittää hakemistojen\n" " kovalinkitystä (huom: todennäköisesti\n" " epäonnistuu järjestelmän rajoitusten vuoksi\n" " myös pääkäyttäjältä)\n" " -f, --force poista olemassaolevat kohdetiedostot\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference kohtele hakemistoon osoittavia symlinkkejä\n" " kuin tavallisia tiedostoja\n" " -i, --interactive kysy ennen kohteiden poistamista\n" " -s, --symbolic tee symbolisia linkkejä kovien linkkien " "sijaan\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=JÄLKILIITE kumoa tavanomainen varmuuskopion jälkiliite\n" " -t, --target-directory=HAKEMISTO anna HAKEMISTO, jonka alle linkit\n" " luodaan\n" " -T, --no-target-directory käsittele LINKIN_NIMEÄ tavallisena tiedostona\n" " -v, --verbose näytä kunkin linkitetyn tiedoston tiedoston " "nimi\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "valitsimia --target-directory ja --no-target-directory ei voi yhdistää" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "symbolisen linkin %s luominen ei onnistu" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "KORJAATÄMÄ: tuntematon" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Käyttö: %s [VALITSIN]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Tulosta nykyisen käyttäjän nimi.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "ei sisäänkirjautumistunnusta" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e.%-m.%Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e.%-m. %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ei huomioida virheellistä arvoa ympäristömuuttujassa QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ei huomioida virheellistä leveyttä ympäristömuuttujassa COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "ei huomioida virheellistä sarkainkokoa ympäristömuuttujassa TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "virheellinen rivileveys: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "virheellinen sarkainkoko: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "virheellinen ajan muoto %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Kelvolliset argumentit:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "virhe kuukausimerkkijonojen alustuksessa" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "tunnistamaton etuliite: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "jäsentymätön arvo LS_COLORS-ympäristömuuttujalle" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "hakemiston %s avaaminen ei onnistu" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "hakemiston %s laitetta ja i-solmua ei voida määrittää" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: ei luetella jo lueteltua hakemistoa" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "luetaan hakemistoa %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "suljetaan hakemisto %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "tiedostonimiä %s ja %s ei voi vertailla" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Luettele TIEDOSTOjen tiedot (oletuksena nykyinen hakemisto).\n" "Lajittele merkinnät aakkosjärjestykseen ellei mitään valitsimista -cftuvSUX\n" "tai --sort ole annettu.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all älä piilota merkintöjä, joiden alussa on .\n" " -A, --almost-all älä luettele hakemistoja . ja ..\n" " --author kun -l annettu, tulosta kunkin tiedoston " "tekijä\n" " -b, --escape tulosta oktaaliset suojaukset ei-graafisille\n" " merkeille\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" " -B, --ignore-backups älä luettele merkintöjä, joiden lopussa on ~\n" " -c valitsinten -lt kanssa: käytä lajitteluun ja\n" " näytä ctime (tiedoston tilatietojen\n" " viimeisimmän muutoksen ajankohta)\n" " valitsimen -l kanssa: näytä ctime ja " "lajittele\n" " nimen mukaan\n" " muuten: lajittele ctimen mukaan\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C luettele merkinnät sarakkeissa\n" " --color[=MILLOIN] määrää, käytetäänkö väriä erottamaan tiedosto-\n" " tyyppejä. MILLOIN voi olla â€neverâ€, â€alwaysâ€\n" " tai â€autoâ€.\n" " -d, --directory luettele hakemistomerkinnät, ei niiden " "sisältöä,\n" " äläkä seuraa symbolisia linkkejä\n" " -D, --dired tuota tuloste Emacsin dired-muodossa\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f älä lajittele, käytä -aU, poista käytöstä -lst\n" " -F, --classify lisää merkintöihin tunnistin\n" " (yksi merkeistä */=@|)\n" " --format=SANA across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time kuten -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g kuten -l, mutta älä näytä omistajia\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group älä näytä ryhmiä pitkässä luettelossa\n" " -h, --human-readable kun -l annettu, näytä koot helppolukuisessa\n" " muodossa (esim. 1K 234M 2G)\n" " --si sama kuin edellä, mutta kantalukuna 1000, ei " "1024\n" #: src/ls.c:4775 #, fuzzy msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -g kuten -l, mutta ei näytä omistajaa\n" " -G, --no-group kuten -l, mutta ei näytä ryhmää\n" " -h, --human-readable kun -l annettu, näytä koot helppolukuisessa\n" " muodossa (esim. 1K 234M 2G)\n" " --si sama kuin edellä, mutta kantalukuna 1000, ei " "1024\n" " -H, --dereference-command-line\n" " seuraa komentorivillä annettuja symbolisia\n" " linkkejä\n" " --dereference-command-line-symlink-to-dir\n" " seuraa kutakin hakemistoon viittaavaa\n" " komentorivillä annettua symbolista linkkiä\n" " --hide=HAHMO älä luettele HAHMOon täsmääviä merkintöjä\n" " (-a ja -A kumoavat tämän valitsimen)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=SANA lisää SANAn mukainen ilmaisin merkintöjen " "nimiin:\n" " none (oletus), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode kun -l annettu, tulosta kunkin tiedoston\n" " i-solmun numero\n" " -I, --ignore=HAHMO älä luettele HAHMOon täsmääviä merkintöjä\n" " -k sama kuin --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l käytä pitkää luettelumuotoa\n" " -L, --dereference näytettäessä symbolisen linkin tietoja,\n" " näytä linkin kohteen tiedot, ei linkin\n" " itsensä tietoja\n" " -m näytä tiedostonimet pilkuilla erotettuna\n" " luettelona\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid kuten -l, mutta luettele käyttäjä- ja ryhmä-ID:" "t\n" " numeerisina\n" " -N, --literal tulosta nimet sellaisinaan (älä käsittele\n" " esim. ohjausmerkkejä)\n" " -o kuten -l, mutta älä näytä ryhmätietoja\n" " -p, --indicator-style=slash\n" " lisää hakemistoihin ilmaisin â€/â€\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars tulosta â€?†ei-graafisten merkkien sijaan\n" " --show-control-chars näytä ei-graafiset merkit sellaisinaan (on\n" " oletus, ellei ohjelma ole â€ls†ja\n" " tulostelaitteena pääte)\n" " -Q, --quote-name sijoita tiedostonimet lainausmerkkeihin\n" " --quoting-style=SANA käytä lainaustapaa SANA tiedostonimille:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse käännä lajittelun järjestys\n" " -R, --recursive luettele alihakemistot rekursiivisesti\n" " -s, --size tulosta kunkin tiedoston varaama koko lohkoina\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S lajittele tiedoston koon mukaan\n" " --sort=SANA lajittele SANAn perusteella, ei nimen mukaan:\n" " none -U, extension -X, size -S, time -t,\n" " version -v\n" " --time=SANA kun -l annettu, näytä muutosajan sijaan SANAn\n" " mukainen aika: atime -u, access -u, use -u,\n" " ctime -c tai status -c; annettua aikaa " "käytetään\n" " lajitteluun, jos --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=TYYLI kun -l annettu, näytä ajat käyttäen TYYLIä:\n" " full-iso, long-iso, iso, locale, +MUOTO.\n" " MUOTO on sama kuin â€dateâ€-komennolle;\n" " jos MUOTO on MUOTO1<rivinvaihto>MUOTO2,\n" " MUOTO1:tä sovelletaan vanhoihin tiedostoihin,\n" " MUOTO2:ta uusiin; jos TYYLIn edessä on " "â€posix-â€,\n" " TYYLIä käytetään vain maa-asetuston ollessa " "muu\n" " kuin POSIX\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t lajittele muutosajan mukaan\n" " -T, --tabsize=LEVEYS aseta sarkainkooksi LEVEYS, ei 8\n" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u valitsinten -lt kanssa: käytä lajitteluun ja\n" " näytä käyttöaika\n" " valitsimen -l kanssa: näytä käyttöaika ja\n" " lajittele nimen mukaan\n" " muuten: lajittele käyttöajan mukaan\n" " -U älä lajittele; luettele merkinnät\n" " hakemistojärjestyksessä\n" " -v lajittele version mukaan\n" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=LEVEYS oleta ruudun leveydeksi LEVEYS\n" " -x luettele merkinnät riveittäin, ei " "sarakkeittain\n" " -X aakkosta merkinnän päätteen mukaan\n" " -1 luettele vain yksi tiedosto yhdellä rivillä\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Käyttö: %1$s [VALITSIN] [TIEDOSTO]...\n" "Tulosta tai tarkista (%3$d-bittisiä) %2$s-tarkistussummia.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr " -b, --binary lue binäärimuodossa\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary lue binäärimuodossa\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -b, --binary lue binäärimuodossa\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Seuraavat kaksi valitsinta ovat käytettävissä vain tarkastettaessa summia:\n" " --status älä tulosta mitään, paluuarvo kertoo onnistumisen\n" " -w, --warn varoita väärin muotoilluista summariveistä\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Summien laskutapa on kuvattu dokumentissa %s. Tarkistettaessa syötteen\n" "tulisi olla tämän ohjelman aikaisempaa tulostetta. Oletustilassa tulostuu\n" "rivi, jolla on tarkistussumma, tyyppiä ilmaiseva merkki (â€*†= binääri,\n" "††= teksti), ja TIEDoston nimi. \n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: liian monta tarkistussummariviä" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: väärin muotoiltu %s-tarkistussummarivi" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: avaaminen tai luku EPÄONNISTUI\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "EI TÄSMÄÄ" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: kelvollisesti muotoiltuja %s-tarkistussummarivejä ei löytynyt" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: väärin muotoiltu %s-tarkistussummarivi" msgstr[1] "%s: %<PRIuMAX>: väärin muotoiltu %s-tarkistussummarivi" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "VAROITUS: %<PRIuMAX> tiedosto %<PRIuMAX> luetellusta jäi lukematta" msgstr[1] "VAROITUS: %<PRIuMAX> tiedostoa %<PRIuMAX> luetellusta jäi lukematta" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "VAROITUS: %<PRIuMAX> tarkistussumma %<PRIuMAX> lasketusta EI TÄSMÄNNYT" msgstr[1] "" "VAROITUS: %<PRIuMAX> tarkistussummaa %<PRIuMAX> lasketusta EI TÄSMÄNNYT" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" # onko verify tarkastamista, todentamista vai varmentamista? #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "valitsimet --binary ja --text ovat merkityksettömiä tarkastettaessa " "tarkistussummia" # onko verify tarkastamista, todentamista vai varmentamista? #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "valitsin --warn on merkityksellinen vain tarkastettaessa tarkistussummia" # onko verify tarkastamista, todentamista vai varmentamista? #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia" # onko verify tarkastamista, todentamista vai varmentamista? #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Käyttö: %s [VALITSIN]... HAKEMISTO...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Luo HAKEMISTO(t), elleivät ne ole jo olemassa.\n" "\n" # Ensimmäinen kohta on aika hämärä alkutekstissä. #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=OIK aseta oikeudet (kuten chmodilla)\n" " -p, --parents ei virhettä jos jo olemassa, luo tarvittavat " "ylähakemistot\n" " -v, --verbose näytä viesti kutakin hakemistoa luodessa\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "luotiin hakemisto %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Käyttö: %s [VALITSIN]... NIMI...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Luo nimettyjä putkia (FIFOja) annetuilla NIMIllä.\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=OIK aseta oikeudet (kuten chmodilla), ei a=rw vaan umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "virheelliset oikeudet" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Käyttö: %s [VALITSIN]... NIMI TYYPPI [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Luo TYYPIn mukainen erikoistiedosto NIMI.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Sekä MAJOR- että MINOR-arvo on annettava, jos TYYPPI on b, c tai u, ja ne\n" "on jätettävä antamatta, jos tyyppi on p. Jos MAJOR tai MINOR alkaa " "merkeillä\n" "0x tai 0X, se tulkitaan heksadesimaaliluvuksi; jos numerolla 0, " "oktaaliluvuksi;\n" "muussa tapauksessa kymmenkantaiseksi luvuksi. TYYPPI voi olla:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b luo lohkoerikoistiedosto (puskuroitu)\n" " c, u luo merkkierikoistiedosto (puskuroimaton)\n" " p luo FIFO-putki\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Major- ja minor-laitearvot on annettava luotaessa\n" "erikoistiedostoja" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO-putkilla ei ole major- ja minor-laitearvoja." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "lohkoerikoistiedostot eivät ole tuettuja" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "merkkierikoistiedostot eivät ole tuettuja" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "virheellinen laitteen major-arvo %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "virheellinen laitteen minor-arvo %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "virheellinen laite %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "virheellinen laitetyyppi %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Käyttö: %s [VALITSIN]... [POHJA]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Luo väliaikainen tiedosto tai hakemisto turvallisesti ja näytä sen nimi.\n" "Jos POHJAa ei anneta, käytetään pohjana tmp.XXXXXXXXXX:ää.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "vakiovirhetulosteen uudelleenohjaus epäonnistui" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "liian monta argumenttia" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "hakemiston %s sulkeminen epäonnistui" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "tiedoston %s aikojen säilyttäminen ei onnistu" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Uudelleennimeä LÄHDE -> KOHDE, tai siirrä LÄHDE(teet) HAKEMISTOon.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=OHJAUS] varmuuskopioi jokainen olemassaoleva\n" " kohdetiedosto\n" " -b kuten --backup, mutta ei hyväksy argumenttia\n" " -f, --force älä kysy ennen ylikirjoitusta\n" " (vastaava kuin --reply=yes)\n" " -i, --interactive kysy ennen ylikirjoitusta\n" " (vastaava kuin --reply=query)\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes poista /-merkit jokaisen LÄHDEargumentin\n" " perästä\n" " -S, --suffix=JÄLKILIITE korvaa tavanomainen varmuuskopioiden " "jälkiliite\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=HAKEMISTO siirrä kaikki LÄHDEargumentit\n" " kohdeHAKEMISTOon\n" " -T, --no-target-directory käsittele KOHDE tavallisena tiedostona\n" " -u, --update siirrä vain, jos LÄHDEtiedosto on uudempi\n" " kuin kohdetiedosto, tai kohdetiedosto " "puuttuu\n" " -v, --verbose selitä, mitä tapahtuu\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Käyttö: %s [VALITSIN] [KOMENTO [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "virheellinen argumentti %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "kun säätöarvo on annettu, on komento pakollinen" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "järjestelmän nimen haku ei onnistu" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "ajan asetus ei onnistu" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kirjoita kukin TIEDOSTO vakiotulosteeseen rivinumerointi lisäten.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=TYYLI käytä TYYLIä rungon rivien numerointiin\n" " -d, --section-delimiter=MM käytä MM:ää loogisten sivujen " "erottamiseen\n" " -f, --footer-numbering=TYYLI käytä TYYLIä alatunnisterivien " "numerointiin\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=TYYLI käytä TYYLIä otsakerivien numerointiin\n" " -i, --page-increment=LISÄYS rivinumeron lisäys kullakin rivillä\n" " -l, --join-blank-lines=MÄÄRÄ MÄÄRÄ tyhjää riviä lasketaan yhdeksi\n" " -n, --number-format=MUOTO lisää rivinumerot annetussa MUODOssa\n" " -p, --no-renumber älä aloita sivunumerointia alusta " "loogisilla\n" " sivuilla\n" " -s, --number-separator=MJONO lisää MJONO (mahdollisen) rivinumeron " "perään\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=NUMERO ensimmäinen rivinumero jokaisella " "loogisella sivulla\n" " -w, --number-width=MÄÄRÄ käytä MÄÄRÄ saraketta rivinumeroille\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Oletuksena valitaan -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. MM ovat kaksi\n" "rajoitinmerkkiä, jotka erottavat kaksi loogista sivua; toisen merkin\n" "puuttuminen tulkitaan kuin :. Kenoviiva \\ saadaan aikaan kirjoittamalla \\" "\\.\n" "TYYLI on yksi seuraavista:\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numeroi kaikki rivit\n" " t numeroi vain rivit, jotka eivät ole tyhjiä\n" " n älä numeroi mitään rivejä\n" " pSÄÄNNLAUS numeroi vain rivit, jotka täsmäävät SÄÄNNLAUSekkeeseen\n" "\n" "MUOTO on yksi seuraavista:\n" "\n" " ln tasattu vasemmalle, ei etunollia\n" " rn tasattu oikealle, ei etunollia\n" " rz tasattu oikealle, etunollat\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "rivinumeroinnin ylivuoto" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "virheellinen otsakkeen numerointityyli: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "virheellinen rungon numerointityyli: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "virheellinen alatunnisteen numerointityyli: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "virheellinen aloitusrivin numero: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "virheellinen rivinumeron lisäys: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "virheellinen tyhjien rivien määrä: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "virheellinen rivinumerokentän leveys: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "virheellinen rivinumerointimuoto: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s KOMENTO [ARGUMENTTI]...\n" " tai: %s VALITSIN\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Aja KOMENTO jättäen linjankatkaisusignaalit huomiotta.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "vakiotulosteen uudelleenohjaus epäonnistui" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "jätetään kaikki argumentit huomiotta" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "kirjoitetaan tuloste tiedoston %s loppuun" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "kirjoitetaan tuloste tiedoston %s loppuun" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "vakiovirhetulosteen kopion asettaminen sulkeutumaan käynnistettäessä " "epäonnistui" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "vakiovirhetulosteen uudelleenohjaus epäonnistui" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Käyttö: %s [VALITSIN]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: virheellinen rivimäärä" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: arvoa ei muunnettu kokonaisuudessaan" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "virheellinen määrä %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "argumentti â€%s†ei kelpaa" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: avaaminen kirjoitustilassa epäonnistui" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "virheellinen sarkainkoko: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Käyttö: %s [VALITSIN]... [TUNNUS]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Lajitteluvalitsimet:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "kohde %s ei ole hakemisto" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "virheellinen muodon leveys" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "argumentti â€%s†ei kelpaa" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "virheellinen sivuväli %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "virheellinen sarakenumero: \"%s\"" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "virheellinen päiväys %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "useita -l tai -t -valitsimia annettu" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "virhe luettaessa tiedostoa %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "vakiotulosteen uudelleenohjaus epäonnistui" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" " tai: %s [-abcdfilosx]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b]]\n" " tai: %s --traditional [VALITSIN]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b]\n" " [+][NIMIÖ][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Kirjoita yksiselitteinen esitys TIEDOSTOsta vakiotulosteeseen,\n" "oletuksena oktaalitavuina. Jos TIEDOSTO-argumentteja annetaan useampi,\n" "niistä luetut syötteet yhdistetään samassa järjestyksessä.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Vanhassa syntaksissa (toinen kutsumuoto), SIIRTYMÄ merkitsee -j SIIRTYMÄ.\n" "NIMIÖ on ensimmäisen tulostetun tavun pseudo-osoite, joka suurenee " "vedostuksen\n" "edistyessä. Etuliite 0x tai 0X merkitsee SIIRTYMÄssä ja NIMIÖssä\n" "heksadesimaaliesitystä. Jälkiliitteet voivat olla . oktaaliesitykselle, ja\n" "b 512:lla kertomiselle.\n" "\n" "TYYPPI koostuu yhdestä tai useammasta seuraavista määrityksistä:\n" "\n" " a nimetty merkki\n" " c ASCII-merkki tai kenoviivasuojaus\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=KANTA päätä miten tiedostosiirtymät tulostetaan\n" " -j, --skip-bytes=MÄÄRÄ ohita aluksi MÄÄRÄ syötetavua\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=MÄÄRÄ rajoita vedos MÄÄRÄän syötetavuja\n" " -S, --strings[=MÄÄRÄ] tulosta vähintään MÄÄRÄn verran tulostuvia\n" " merkkejä sisältävät merkkijonot\n" " -t, --format=TYYPPI valitse tulostemuoto tai -muodot\n" " -v, --output-duplicates älä käytä *-merkkiä rivien vaientamisen\n" " merkitsemiseen\n" " -w, --width[=MÄÄRÄ] tulosta MÄÄRÄ tavua kullekin tulosteriville\n" " --traditional hyväksy argumentteja perinteisessä muodossa\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Perinteisiä muotomäärittelyjä voi yhdistää; ne kertyvät:\n" " -a sama kuin -t a, valitse nimetyt merkit\n" " -b sama kuin -t oC, valitse oktaalitavut\n" " -c sama kuin -t c, valitse ASCII-merkit tai kenoviivasuojaukset\n" " -d sama kuin -t u2, valitse etumerkittömät 10-kantaiset lyhyet kok." "luvut\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f sama kuin -t fF, valitse liukuluvut\n" " -i sama kuin -t dI, valitse 10-kantaiset kokonaisluvut\n" " -l sama kuin -t dL, valitse 10-kantaiset pitkät kokonaisluvut\n" " -o sama kuin -t o2, valitse 8-kantaiset 2:n tavun yksiköt\n" " -s sama kuin -t d2, valitse 10-kantaiset 2:n tavun yksiköt\n" " -x sama kuin -t x2, valitse 16-kantaiset 2:n tavun yksiköt\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[KOKO] etumerkillinen kymmenkantainen luku, KOKO tavua/kokonaisluku\n" " f[KOKO] liukuluku, KOKO tavua/kokonaisluku\n" " o[KOKO] kahdeksankantainen luku, KOKO tavua/kokonaisluku\n" " u[KOKO] etumerkitön kymmenkantainen luku, KOKO tavua/kokonaisluku\n" " x[KOKO] kuusitoistakantainen luku, KOKO tavua/kokonaisluku\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "KOKO on luku. Jos tyyppi on d, o, u tai x, KOKO voi olla myös C:\n" "sizeof(char, S: sizeof(short), I: sizeof(int) tai L: sizeof(long).\n" "Jos TYYPPI on f, KOKO voi myös olla F: sizeof(float), D: sizeof(double)\n" "tai L: sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" "\n" "Kukin MUUNNOS voi olla:\n" "\n" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "virheellinen muotoilumerkkijono %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "virheellinen tyyppi %s;\n" "järjestelmä ei tarjoa %lu-tavuista perustyyppiä" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "virheellinen tyyppi %s;\n" "järjestelmä ei tarjoa %lu-tavuista liukulukutyyppiä" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "virheellinen merkki â€%c†muotoilumerkkijonossa â€%sâ€" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "yhdistetyn syötteen lopun yli ei voi ohittaa" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "virheellinen tulosteosoitteen kanta â€%câ€; sen on oltava yksi merkeistä [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "tyyppiä ei voi antaa merkkijonoja vedostettaessa" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "Yhteensopivuustila tukee vain yhtä tiedostoa." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "ohitettavat-tavut + luettavat-tavut on liian suuri" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "varoitus: virheellinen leveys %lu; käytetään arvoa %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: virheellinen signaali" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "vakiosyöte on suljettu" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kirjoita peräkkäisiä vastaavia rivejä kustakin TIEDOSTOsta " "vakiotulosteeseen,\n" "sarkaimilla erotettuna. Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, " "luetaan\n" "vakiosyötettä.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LUETTELO käytä uudelleen LUETTELOn merkkejä sarkainten\n" " sijaan\n" " -s, --serial liitä yksi tiedosto kerrallaan rinnakkaisuuden\n" " sijaan\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "virheellinen merkki %s oikeusmerkkijonossa %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tyhjä tiedostonimi" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: tiedostonimen enimmäispituuden selvittäminen epäonnistui" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Tunnus: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Tosielämässä: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Hakemisto: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Kuori: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekti: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Suunnitelma:\n" #: src/pinky.c:405 msgid "Login" msgstr "Tunnus" #: src/pinky.c:407 msgid "Name" msgstr "Nimi" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Jouten" #: src/pinky.c:411 msgid "When" msgstr "Milloin" #: src/pinky.c:414 msgid "Where" msgstr "Missä" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Käyttö: %s [VALITSIN]... [TUNNUS]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l tuota pitkän mallin tuloste annetuille TUNNUKSILLE\n" " -b älä näytä kotihakemistoa ja kuorta pitkässä mallissa\n" " -h älä näytä project-tiedostoa pitkässä mallissa\n" " -p älä näytä plan-tiedostoa pitkässä mallissa\n" " -s lyhyen mallin tuloste, tämä on oletus\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f älä näytä otsakeriviä lyhyessä mallissa\n" " -w älä näytä käyttäjän koko nimeä lyhyessä mallissa\n" " -i älä näytä käyttäjän koko nimeä ja etäkonetta lyhyessä\n" " mallissa\n" " -q älä näytä käyttäjän koko nimeä, etäkonetta ja " "joutenoloaikaa\n" " lyhyessä mallissa\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Kevyt â€fingerâ€-ohjelma; näyttää käyttäjätietoja.\n" "utmp-tiedostona %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "käyttäjänimeä ei annettu; valitsin -l vaatii vähintään yhden käyttäjänimen" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Hübner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" "puuttuva argumentti valitsimelle â€--pages=ENSIMMÄINEN_SIVU[:VIIMEINEN_SIVU]â€" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "virheellinen sivuväli %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "virheellinen rivimäärä valitsimelle â€-n SIVUN_PITUUSâ€: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "virheellinen aloitusrivinumero valitsimelle â€-N LUKUâ€: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "virheellinen rivisiirtymä valitsimelle â€-o MARGINAALIâ€: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "virheellinen merkkimäärä valitsimelle â€-w SIVUN_LEVEYSâ€: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "virheellinen merkkimäärä valitsimelle â€-W SIVUN_LEVEYSâ€: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "palstojen määrää ei voi antaa tulostettaessa rinnakkain" #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "Sekä tulostusta palstoittaen vaakasuunnassa että rinnakkaista tulostusta ei\n" "voi käyttää samaan aikaan." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" "ylimääräisiä merkkejä tai virheellinen määrä argumentissa valitsimelle â€-" "%câ€: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "sivun leveys on liian pieni" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "aloitussivunumero %<PRIuMAX> on suurempi kuin sivujen kokonaismäärä " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "sivunumeroinnin ylivuoto" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Sivu %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Numeroi sivut tai palstoita TIEDOSTO(t) tulostusta varten.\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ENSIMMÄINEN_SIVU[:VIIMEINEN_SIVU], --pages=ENSIMMÄINEN_SIVU[:" "VIIMEINEN_SIVU\n" " aloita [lopeta] tulostus sivulta/lle ENSIMMÄINEN_" "[VIIMEINEN_]SIVU\n" " -PALSTA, --columns=PALSTA\n" " tulosta PALSTA palstaa, tulosta alas ellei valitsinta -" "a\n" " ole annettu. Tasapainota kunkin sivun palstojen\n" " rivimäärä.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across tulosta rivit palstoitettuna vaaka-, ei pystysuunnassa,\n" " käytetään yhdessä valitsimen -PALSTA kanssa\n" " -c, --show-control-chars\n" " käytä hattumerkintää (^G) ja oktaalista " "kenoviivamerkintää\n" " -d, --double-space\n" " tulosta käyttäen kaksinkertaista riviväliä\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=MUOTO\n" " käytä MUOTOa otsakkeen päiväyksessä\n" " -e[MERKKI[LEVEYS]], --expand-tabs[=MERKKI[LEVEYS]]\n" " laajenna syöteMERKIT (sarkaimet) sarkainLEVEYTeen (8)\n" " -F, -f, --form-feed\n" " käytä arkinsyöttöä rivinvaihtojen sijaan sivujen\n" " erottamiseen (3-rivisellä sivuotsakkeella valitsimen -F\n" " kanssa, tai 5-rivisellä ja otsakkeella ja lopukkeella\n" " ilman valitsinta -F)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h OTSAKE, --header=OTSAKE\n" " käytä keskitettyä OTSAKEtta sivun otsakkeena " "tiedostonimen\n" " sijaan,\n" " -h \"\" tulostaa tyhjän rivin, älä käytä -h\"\":a\n" " -i[MERKKI[LEVEYS]], --output-tabs[=MERKKI[LEVEYS]]\n" " korvaa välit MERKEILLÄ (sarkaimilla) sarkainLEVEYTeen " "(8)\n" " -J, --join-lines lomita täydet rivit, poistaa käytöstä valitsimen -W\n" " rivitypistyksen, ei saraketasausta, --sep-string" "[=MJONO]\n" " asettaa erottimet\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l SIVUN_PITUUS, --length=SIVUN_PITUUS\n" " aseta sivun pituudeksi SIVUN_PITUUS (66) riviä\n" " (tekstirivien oletusmäärä on 56, valitsimen -F kanssa " "63)\n" " -m, --merge tulosta kaikki tiedostot rinnakkain, yksi kullakin\n" " palstalla, typistä rivit, mutta yhdistä täysipituiset " "rivit\n" " valitsimella -J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[EROTIN[MÄÄRÄ]], --number-lines[=EROTIN[MÄÄRÄ]]\n" " numeroi rivit, käytä MÄÄRÄ (5) numeroa, sitten EROTINta\n" " (sarkain), oletuslaskeminen alkaa syötetiedoston 1. " "riviltä\n" " -N LUKU, --first-line-number=LUKU\n" " aloita laskeminen LUVUlla ensimmäisen tulostetun sivun\n" " 1. riviltä (katso +ENSIMMÄINEN_SIVU)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o MARGINAALI, --indent=MARGINAALI\n" " tulosta jokaisen rivin alkuun MARGINAALI (nolla) väliä,\n" " ei vaikuta valitsimiin -w tai -W, MARGINAALI lisätään\n" " arvoon SIVUN_LEVEYS\n" " -r, --no-file-warnings\n" " älä varoita, jos tiedostoa ei voida avata\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[MERKKI],--separator[=MERKKI]\n" " erota sarakkeet merkillä, oletusMERKKI on sarkain ilman\n" " valitsinta -w, ja â€ei merkkiä†valitsimen -w kanssa\n" " -s[MERKKI] poistaa käytöstä rivien katkaisun kaikkien\n" " kolmen sarakevalitsimen osalta (-SARAKE|-a -SARAKE|-m),\n" " paitsi jos -w on annettu\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " erota sarakkeet MJONOlla,\n" " ilman valitsinta -S: Oletuserotin <SARKAIN> -J:n kanssa\n" " ja <väli>\n" " muulloin (sama kuin -S\" \") ei vaikutusta\n" " sarakevalitsimiin\n" " -t, --omit-header jätä pois sivun otsakkeet ja lopukkeet\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " jätä pois sivun otsakkeet ja lopukkeet, poista\n" " syötetiedostoissa mahdollisesti olevien arkinsyöttöjen\n" " aiheuttama sivutus\n" " -v, --show-nonprinting\n" " käytä oktaalista kenoviivamerkintä\n" " -w SIVUN_LEVEYS, --width=SIVUN_LEVEYS\n" " aseta monipalstaisessa tulosteessa sivun leveydeksi\n" " SIVUN_LEVEYS (72) merkkiä, -s[merkki] ottaa pois\n" " käytöstä (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W SIVUN_LEVEYS, --page-width=SIVUN_LEVEYS\n" " aseta sivun leveydeksi aina SIVUN_LEVEYS (72) merkkiä,\n" " katkaise rivit, paitsi jos valitsin -J on käytössä, ei\n" " vaikutusta valitsimen -S tai -s kanssa\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Valitsin -l nn sisältää valitsimen -T, jos nn <= 10 tai <= 3, jos -F " "käytössä.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Käyttö: %s [MUUTTUJA]...\n" " tai: %s VALITSIN\n" "Näytä annettujen ympäristöMUUTTUJien arvot.\n" "Jos MUUTTUJAa ei anneta, näytetään kaikkien muuttujien nimi-arvo-parit.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -z, --zero-terminated päätä rivit 0-tavuun, ei rivinvaihtoon\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "varoitus: %s: merkkivakiota seuraavat merkit on jätetty huomiotta" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s MUOTOILU [ARGUMENTTI]...\n" " tai: %s VALITSIN\n" #: src/printf.c:93 #, fuzzy msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Tulosta ARGUMENTTI(t) MUOTOILUn mukaisesti.\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "MUOTOILU säätelee tulostetta kuten C:n printf. Tulkittavat sarjat ovat:\n" "\n" " \\\" lainausmerkit\n" " \\0NNN merkki, jonka oktaaliarvo on NNN (1 - 3 numeroa)\n" " \\\\ kenoviiva\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xHH tavu, jonka heksadesimaaliarvo on HH (1-2 numeroa)\n" " \\uHHHH Unicode-merkki (ISO/IEC 10646), jonka heksa-arvo on HHHH (4 " "numeroa)\n" " \\UHHHHHHHH Unicode-merkki, jonka heksadesimaaliarvo on HHHHHHHH (8 " "numeroa)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% yksittäinen %-merkki\n" " %b ARGUMENTTI merkkijonona, â€\\â€-merkityt suojaukset tulkittuina,\n" " paitsi oktaalisuojaukset ovat muotoa \\0 tai \\0NNN\n" "\n" "sekä kaikki merkkeihin diouxXfeEgGcs päättyvät C-kielen " "muotoilumääritykset,\n" "ARGUMENTIT ensin oikean tyyppisiksi muunnettuina. Muuttuvat leveydet\n" "huomioidaan.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: odotettiin numeerista arvoa" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: arvoa ei muunnettu kokonaisuudessaan" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "puuttuva heksadesimaaliluku ohjauskoodissa" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "virheellinen universaali merkin nimi \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "virheellinen kenttäleveys: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "virheellinen tarkkuus: %s" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: virheellinen kenttämääritys \"%s\"" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "varoitus: ylimääräiset argumentit jätetty huomiotta alkaen %s:sta" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (säännölliselle lausekkeelle %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Käyttö: %s [VALITSIN]... [SYÖTE]... (ilman valitsinta -G)\n" " tai: %s -G [VALITSIN]... [SYÖTE [TULOSTE]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Tulosta kontekstin sisältävä, permutoitu luettelo syötetiedostojen " "sanoista.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference tulosta automaattisesti luodut viitteet\n" " -G, --traditional käyttäydy enemmän kuten System V:n â€ptxâ€\n" " -F, --flag-truncation=MJONO käytä MJONOa rivinkatkaisujen " "merkitsemiseen\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=MJONO â€xxâ€:n sijaan käytettävä makronimi\n" " -O, --format=roff tuota tuloste roff-käskyinä\n" " -R, --right-side-refs sijoita viitteet oikealle, ei lasketa -w:" "llä\n" " -S, --sentence-regexp=SÄÄNN rivien tai lauseiden lopuille\n" " -T, --format=tex tuota tuloste TeX-käskyinä\n" # Osa on aika hämäriä. #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=SÄÄNNLAUS käytä SÄÄNNLAUSetta kunkin avainsanan\n" " täsmäämiseen\n" " -b, --break-file=TIEDOSTO sanankatkaisumerkit tässä TIEDOSTOssa\n" " -f, --ignore-case älä huomioi kirjainkokoa\n" " -g, --gap-size=MÄÄRÄ tuloskenttien välin koko sarakkeina\n" " -i, --ignore-file=TIEDOSTO lue huomioimatta jätettävät sanat " "TIEDOSTOsta\n" " -o, --only-file=TIEDOSTO lue ainoiden sanojen luettelo tästä " "TIEDOSTOsta\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references kunkin rivin ensimmäinen kenttä on viite\n" " -t, --typeset-mode - ei ole toteutettu -\n" " -w, --width=MÄÄRÄ tulosteleveys sarakkeina, viite " "poistettuna\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Jos TIEDOSTOA ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "Oletus on â€-F /â€.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "virheellinen leveys: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Tulosta työhakemiston täydellinen nimi.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "siirtyminen hakemistoon %s epäonnistui" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "jätetään huomiotta argumentit, jotka eivät ole valitsimia" # Periaatteessa voisi käyttää suomeen sopivaa translitterointia tässä. #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Näytä symbolisen linkin arvo vakiotulosteessa.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -f, --canonicalize muunna symlinkki vakiomuotoon seuraamalla annetun\n" " polun jokaista symlinkkiä rekursiivisesti\n" " -n, --no-newline älä tulosta rivinvaihtoa loppuun\n" " -q, --quiet, --silent vaienna useimmat virheilmoitukset\n" " -v, --verbose näytä virheilmoitukset\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "jätetään huomiotta argumentit, jotka eivät ole valitsimia" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: edetäänkö kirjoitussuojattuun hakemistoon %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: edetäänkö hakemistoon %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: poistetaanko kirjoitussuojattu %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: poistetaanko %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "poistettiin hakemisto: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "hakemiston %s poistaminen ei onnistu" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "ohitetaan %s, koska se on toisella laitteella" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "lukeminen epäonnistui" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Komento â€%s ./%s†poistaa tiedoston %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root älä kohtele juurta (â€/â€) erityisesti (oletus)\n" " --preserve-root estä rekursiivinen toiminta juuressa (â€/â€)\n" " -r, -R, --recursive poista hakemistojen sisältö rekursiivisesti\n" " -v, --verbose selitä, mitä tapahtuu\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Tiedoston, jonka nimi alkaa merkillä â€-â€, esim. â€-fooâ€,\n" "voi poistaa seuraavilla komennoilla:\n" " %s -- -foo\n" " tai\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Huomaa, että rm:llä poistetun tiedoston sisältö on usein mahdollista\n" "palauttaa. Jos palauttaminen halutaan estää, on suositeltavaa käyttää\n" "shred-komentoa.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: poistetaanko %s %s? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "poistetaan hakemisto %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "hakemiston %s poistaminen epäonnistui" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Poista tyhjät HAKEMISTO(t).\n" "\n" " --ignore-fail-on-non-empty\n" " jätä huomioimatta kaikki virheet, jotka johtuvat vain\n" " siitä, että hakemisto ei ole tyhjä\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents poista HAKEMISTO ja sen ylähakemistot.\n" " Esim. â€rmdir -p a/b/c†on sama kuin â€rmdir a/b/c a/b " "aâ€.\n" " -v, --verbose näytä ilmoitus jokaisesta käsitellystä hakemistosta\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "prosessi-ID:tä ei ole annettu" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "tiedoston %s oikeuksien palauttaminen ei onnistu" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Käyttö: %s [VALITSIN]... LOPPU\n" " tai: %s [VALITSIN]... ALKU LOPPU\n" " tai: %s [VALITSIN]... ALKU LISÄYS LOPPU\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Tulosta luvut luvusta ALKU lukuun LOPPU, LISÄYS-arvon välein.\n" "\n" " -f, --format=MUOTO käytä printf-tyylistä muotoilua MUOTO (oletus: " "%g)\n" " -s, --separator=MJONO käytä MJONOa erottelemaan lukuja (oletus: \\n)\n" " -w, --equal-width tasoita leveydet lisäämällä nollia lukujen eteen\n" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Jos ALKU tai LISÄYS jätetään antamatta, käytetään niille oletusarvoa 1.\n" "Antamatta jätetty LISÄYKsen oletusarvo on siis 1, vaikka LOPPU olisi " "pienempi\n" "kuin ALKU. ALKU, LISÄYS JA LOPPU tulkitaan liukuluvuiksi. LISÄYS on yleensä\n" "positiivinen, jos ALKU on pienempi kuin LOPPU, ja\n" "LISÄYS on yleensä negatiivinen, jos ALKU on suurempi kuin LOPPU.\n" "Jos MUOTO annetaan, sen on sisällettävä tasan yksi\n" "printf-tyylisistä liukulukuesityksistä %e, %f, %g\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "virheellinen liukulukuargumentti: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "tiedostolla %s on tuntematon tiedostotyyppi" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "muotoilua ei voi määritellä kun tulostetaan tasalevyisiä lukuja" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Käyttö: %s KÄYTTÄJÄNIMI KOMENTO [ARGUMENTTI]...\n" " tai: %s VALITSIN\n" #: src/setuidgid.c:55 #, fuzzy msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Poista käytöstä mahdolliset lisäryhmät, aseta käyttäjä- ja ryhmä-ID\n" "annetun KÄYTTÄJÄNIMEn perusteella, ja suorita KOMENTO annetuilla\n" "ARGUMENTeilla. Poistu paluuarvolla 111, jos käyttäjä- ja ryhmä-ID:n\n" "asetus ei onnistu. Muussa tapauksessa poistutaan KOMENNOn paluuarvolla.\n" "Tämä ohjelma on käyttökelpoinen vain pääkäyttäjän (käyttäjä-ID 0)\n" "suorittamana.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "tuntematon käyttäjä-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "lisäryhmän asetus ei onnistu" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "ryhmä-ID:n asetus arvoon %ld ei onnistu" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "käyttäjä-ID:n asetus arvoon %ld ei onnistu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Ylikirjoita annetut TIEDOSTO(t) toistuvasti, jotta sisällön\n" "palauttaminen olisi vaikeampaa jopa hyvin kalliilla laitteilla.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force muuta tarvittaessa oikeuksia kirjoittamisen sallimiseksi\n" " -n, --iterations=N Ylikirjoita N kertaa oletusmäärän (%d) sijaan\n" " -s, --size=N silppua näin monta tavua (jälkiliitteet kuten K, M,\n" " G hyväksytään)\n" #: src/shred.c:161 #, fuzzy msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove typistä ja poista tiedosto ylikirjoituksen jälkeen\n" " -v, --verbose näytä edistyminen\n" " -x, --exact älä pyöristä tiedostokokoja seuraavaan täyteen lohkoon;\n" " tämä on oletus ei-tavallisille tiedostoille\n" " -z, --zero ylikirjoita lopuksi nollia silppuamisen kätkemiseksi\n" " - silppua vakiotuloste\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Jos TIEDOSTO on â€-â€, silputaan vakiosyötteeseen.\n" "\n" "Jos valitsin --remove (-u) on annettu, TIEDOSTO(t) poistetaan. Tiedostoja " "ei\n" "poisteta oletuksena, koska usein käsitellään laitetiedostoja, kuten\n" "/dev/hda, joita ei ole tarkoitus poistaa. Valitsinta --remove käytetään\n" "yleensä käsiteltäessä tavallisia tiedostoja.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "VAROITUS: Huomaa, että shred-työkalun toiminta perustuu erittäin tärkeään\n" "oletukseen:\n" "oletetaan, että tiedostojärjestelmä ylikirjoittaa dataa paikallaan. Tämä\n" "on perinteinen tapa, mutta monet nykyaikaiset tiedostojärjestelmät eivät\n" "vastaa tätä oletusta. Seuraavassa on esimerkkejä tiedostojärjestelmistä,\n" "joilla shred ei ole tehokas, tai ei ole tehokas kaikissa " "tiedostojärjestelmän\n" "toimintatiloissa:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* kirjaavat tiedostojärjestelmät, esim. AIXin ja Solariksen\n" " tiedostojärjestelmät (ja JFS, ReiserFS, XFS, Ext3, jne.)\n" "\n" "* tiedostojärjestelmät, jotka kirjoittavat ylimääräistä dataa ja jatkavat\n" " joidenkin kirjoitustoimintojen epäonnistumisesta huolimatta, esim.\n" " RAIDilla olevat tiedostojärjestelmät\n" "\n" "* tiedostojärjestelmät, jotka tekevät tilannevedoksia, esim. Network\n" " Appliancen NFS-palvelin\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* tiedostojärjestelmät, jotka pitävät välimuistia tilapäisissä paikoissa,\n" " esim. NFS:n version 3 asiakkaat\n" "\n" "* tiivistetyt tiedostojärjestelmät\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 #, fuzzy msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "* tiedostojärjestelmät, jotka tallentavat levyvälimuistinsa tilapäisiin\n" " paikkoihin, esim. NFS-version 3 asiakkaat\n" "\n" "* tiivistetyt tiedostojärjestelmät\n" "\n" "Lisäksi tiedostojärjestelmän varmuuskopiot ja etäpeilaukset voivat sisältää\n" "tiedostosta kopioita, joita ei voida poistaa, ja jotka mahdollistavat\n" "silputun tiedoston palauttamisen myöhemmin.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync epäonnistui" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync epäonnistui" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: taaksepäin siirtyminen ei onnistu" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: ylikirjoituskerta %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: virhe kirjoitettaessa siirtymässä %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek epäonnistui" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: tiedosto on liian suuri" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: ylikirjoituskerta %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: ylikirjoituskerta %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat epäonnistui" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: virheellinen tiedostotyyppi" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: tiedoston koko on negatiivinen" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: virhe typistettäessä" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl epäonnistui" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: vain lisäykseen soveltuvaa tiedostokahvaa ei voi silputa" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: poistetaan" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: nimettiin uudelleen nimelle %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: poisto epäonnistui" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: poistettu" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: sulkeminen epäonnistui" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: avaaminen kirjoitustilassa epäonnistui" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: virheellinen ylikirjoituskertojen määrä" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "useita tulostusmuotoja annettu" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: virheellinen tiedostokoko" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Käyttö: %s [VALITSIN]... LOPPU\n" " tai: %s [VALITSIN]... ALKU LOPPU\n" " tai: %s [VALITSIN]... ALKU LISÄYS LOPPU\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Kirjoita kaikkien TIEDOSTO(jen) yhdistelmä lajiteltuna vakiotulosteeseen.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "useita -l tai -t -valitsimia annettu" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "virheellinen leveys: %s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "virheellinen rivileveys: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "useita tulostiedostoja annettu" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Käyttö: %s KESTO[PÄÄTE]...\n" " tai: %s VALITSIN\n" "Pysähdy odottamaan KESTO sekunnin ajaksi. PÄÄTE voi olla â€s†(sekuntia,\n" "oletus), â€m†(minuuttia), â€h†(tuntia) tai â€d†(päivää). Toisin kuin\n" "useimmissa toteutuksissa, voi KESTO olla kokonaisluvun lisäksi myös\n" "mielivaltainen liukuluku.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "ajanjakso ei kelpaa: %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "tosiaikaisen kellon luku ei onnistu" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Kirjoita kaikkien TIEDOSTO(jen) yhdistelmä lajiteltuna vakiotulosteeseen.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Lajitteluvalitsimet:\n" "\n" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks älä huomioi edeltäviä tyhjeitä\n" " -d, --dictionary-order lajittele vain tyhjeiden ja alfanumeeristen " "merkkien mukaan\n" " -f, --ignore-case älä huomioi kirjainkokoa\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "Lajitteluvalitsimet:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 #, fuzzy msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " -L, --max-line-length näytä pisimmän rivin pituus\n" " -w, --words näytä sanamäärät\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Muut valitsimet:\n" "\n" " -c, --check tarkista onko syöte lajiteltu; älä lajittele\n" " -k, --key=SIJ1[,SIJ2] aloita avain kohdasta SIJ1, päätä kohtaan SIJ2 " "(alkukohta 1)\n" " -m, --merge lomita jo lajitellut tiedostot; älä lajittele\n" " -o, --output=TIEDOSTO kirjoita tuloste TIEDOSTOon vakiotulosteen " "sijaan\n" " -s, --stable vakauta lajittelu poistamalla käytöstä " "â€viimeinen oljenkorsiâ€-vertailu\n" " -S, --buffer-size=KOKO käytä KOKOa muistipuskurille\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=EROTIN käytä kenttäerottimena EROTINta, ei " "siirtymää\n" " ei-tyhjeestä tyhjeeseen\n" " -T, --temporary-directory=HAK käytä HAKemistoa väliaikaistiedostoille, " "ei\n" " $TMPDIR tai %s; useampi valitsin määrittelee\n" " monta hakemistoa\n" " -u, --unique jos -c on annettu: tarkista tarkka järjestys\n" " ilman -c:tä: tulosta vain ensimmäinen\n" " yhtäläisten joukosta\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated päätä rivit 0-tavuun, ei rivinvaihtoon\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "SIJ on F[.C][VALITSIMET], missä F on kentän numero ja C merkin sijainti\n" "kentässä. VALITSIMET on yksi tai useampi yksikirjaiminen lajitteluvalitsin,\n" "jotka kumoavat kyseisen avaimen yleiset lajitteluvalitsimet. Jos avainta\n" "ei ole annettu, käytetään koko riviä avaimena.\n" "\n" "KOKOon voi liittää kertoimen:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% muistista, b 1, K 1024 (oletus), sekä M, G, T, P, E, Z, Y.\n" "Jos TIEDostoa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" "*** VAROITUS ***\n" "Ympäristön määrittelemä käytössä oleva maa-asetusto vaikuttaa\n" "lajittelujärjestykseen. Asettamalla LC_ALL=C otetaan käyttöön\n" "perinteinen lajittelujärjestys, joka käyttää tavujen arvoja.\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "kirjoitetaan tiedostoon %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "väliaikaistiedoston %s luominen ei onnistu" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "avaaminen epäonnistui" #: src/sort.c:970 msgid "fflush failed" msgstr "puskurin tyhjennys epäonnistui" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "sulkeminen epäonnistui" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 epäonnistui" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "väliaikaistiedoston luominen ei onnistu" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "hakemiston %s luominen ei onnistu" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "varoitus: ei voida poistaa: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "virheellinen argumentti %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "argumentti â€%s†ei kelpaa" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: lukumäärä â€%.*s†on liian suuri" #: src/sort.c:1327 #, fuzzy, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "argumentti â€%s†ei kelpaa" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "tiedoston tilan lukeminen epäonnistui" #: src/sort.c:1755 msgid "read failed" msgstr "lukeminen epäonnistui" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "merkkijonovertailu epäonnistui" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: valitsin â€-W %s†ei ole yksiselitteinen\n" msgstr[1] "%s: valitsin â€-W %s†ei ole yksiselitteinen\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "kirjoitus epäonnistui" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: epäjärjestys: " #: src/sort.c:2786 msgid "standard error" msgstr "vakiovirhe" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: taaksepäin siirtyminen ei onnistu" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: virheellinen kenttämääritys %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: valitsin â€-W %s†ei ole yksiselitteinen\n" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: virheellinen määrä merkkijonon %s alussa" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "virheellinen lukuarvo merkin â€-†jälkeen" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "virheellinen lukuarvo merkin â€.†jälkeen" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "outo merkki kenttämäärityksessä" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "useita tulostusmuotoja annettu" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "virheellinen lukuarvo kentän alussa" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "kentän numero on nolla" #: src/sort.c:4392 msgid "character offset is zero" msgstr "merkin siirtymä on nolla" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "virheellinen lukuarvo merkin â€,†jälkeen" # Tarkoitetaanko tässä sarkainta? #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tyhjä sarkain" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "tiedostonimiä %s ja %s ei voi vertailla" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: virheellinen tyhjä tiedostonimi" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "suljetaan syötetiedosto %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "ylimääräinen operandi %s ei ole sallittu valitsimen -c kanssa" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Käyttö: %s [VALITSIN]... [SYÖTE [ETULIITE]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Tulosta kiinteän kokoisia paloja SYÖTTEESTÄ tiedostoihin ETULIITEaa,\n" "ETULIITEab, ...; oletuskoko on 1000 riviä, ja oletusETULIITE on â€xâ€.\n" "Jos SYÖTEttä ei ole annettu tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N käytä N merkin pituisia jälkiliitteitä (oletus " "%d)\n" " -b, --bytes=KOKO kirjoita KOKO tavua yhteen tulostiedostoon\n" " -C, --line-bytes=KOKO kirjoita KOKO tavua rivejä yhteen tulostiedostoon\n" " -d, --numeric-suffixes käytä numeerisia jälkiliitteitä kirjaimien sijaan\n" " -l, --lines=MÄÄRÄ kirjoita MÄÄRÄ riviä yhteen tulostiedostoon\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose näytä ilmoitus juuri ennen kunkin\n" " tulostiedoston avaamista\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Tulostiedostojen jälkiliitteet käytetty loppuun" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "luodaan tiedostoa %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "tiedoston %s avaaminen epäonnistui" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "suljetaan hakemisto %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "suljetaan tulostiedosto %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "suljetaan syötetiedosto %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "suljetaan syötetiedosto %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "komentoa %s ei voi ajaa" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "hakemiston %s sulkeminen epäonnistui" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "odotettaessa strip-ohjelman päättymistä" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "voidaan jakaa vain yhdellä tavalla" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: virheellinen sekuntimäärä" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: virheellinen luku" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: virheellinen jälkiliitteen pituus" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: virheellinen tavumäärä" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: virheellinen rivimäärä" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "rivimäärävalitsin -%s%c... on liian suuri" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "virheellinen aloitusrivin numero: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: virheellinen tiedostokoko" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "järjestelmän konenimen määritys ei onnistu" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "varoitus: tunnistamaton suojaus â€\\%câ€" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: säännös ei kelpaa" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "varoitus: kenoviiva muotoilun lopussa" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "tiedostojärjestelmän tietojen lukeminen tiedostolle %s ei onnistu" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "suljetaan vakiosyöte" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr "virheelliset oikeudet: %s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Näytä tiedoston tai tiedostojärjestelmän tila.\n" "\n" " -L, --dereference seuraa linkkejä\n" " -f, --file-system näytä tiedostojärjestelmän tila tiedoston tilan " "sijaan\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=MUOTO käytä annettua MUOTOa oletusmuodon sijaan;\n" " tulosta rivinvaihto jokaisen MUODOn käytön " "jälkeen\n" " --printf=MUOTO kuten --format, mutta tulkitsee kenoviivasuojaukset\n" " eikä tulosta loppuun rivinvaihtoa.\n" " Rivinvaihdon saa lisäämällä MUOTOon merkintä \\n. " "-t, --terse tulosta tiedot lyhyessä muodossa\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Kelvolliset muotoilut tiedostoille (ilman valitsinta --file-system):\n" "\n" " %a Oikeudet oktaalimuodossa\n" " %A Oikeudet helppolukuisessa muodossa\n" " %b Varattujen lohkojen määrä (katso myös %B)\n" " %B Kunkin â€%bâ€:n ilmoittaman lohkon koko tavuina\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %D Laitenumero heksadesimaalimuodossa\n" " %d Laitenumero desimaalimuodossa\n" " %F Tiedoston tyyppi\n" " %f Tiedoston oikeudet heksadesimaalimuodossa\n" " %G Omistajan ryhmän nimi\n" " %g Omistajan ryhmä-ID\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Kovien linkkien määrä\n" " %i I-solmunumero\n" " %n Tiedostonimi\n" " %N Tiedostonimi lainausmerkeissä, linkin seuraaminen jos symbolinen " "linkki\n" " %o IO-lohkokoko\n" " %s Tiedoston koko tavuina\n" " %t Major-laitetyyppi heksadesimaalimuodossa\n" " %T Minor-laitetyyppi heksadesimaalimuodossa\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u Omistajan käyttäjä-ID\n" " %U Omistajan käyttäjätunnus\n" " %x Viimeisen käytön ajankohta\n" " %X Viimeisen käytön ajankohta sekunteina epookista\n" " %y Viimeisen sisällönmuutoksen ajankohta\n" " %Y Viimeisen sisällönmuutoksen ajankohta sekunteina epookista\n" " %z Viimeisen ominaisuusmuutoksen ajankohta\n" " %Z Viimeisen ominaisuusmuutoksen ajankohta sekunteina vuoden epookista\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Kelvolliset muotoilut tiedostojärjestelmille:\n" "\n" " %a Muille kuin pääkäyttäjälle vapaana olevien lohkojen määrä\n" " %b Tiedostojärjestelmän datalohkojen yhteismäärä\n" " %c Tiedostojärjestelmän tiedostosolmujen yhteismäärä\n" " %d Tiedostojärjestelmän vapaiden tiedostosolmujen määrä\n" " %f Tiedostojärjestelmän vapaiden lohkojen määrä\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Tiedostojärjestelmän ID heksadesimaalilukuna\n" " %l Tiedostonimien enimmäispituus\n" " %n Tiedoston nimi\n" " %s Lohkon koko (käytetään nopeampiin siirtoihin)\n" " %S Lohkon peruskoko (käytetään lohkomääriin)\n" " %t Tyyppi heksadesimaalilukuna\n" " %T Tyyppi helppolukuisessa muodossa\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Käyttö: %s [VALITSIN]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 #, fuzzy msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "KOKO voi olla (tai voi olla kokonaisluku, jota seuraa) yksi seuraavista:\n" "kB 1000, K 1024, MB 1000², M 1024², sekä samoin G, T, P, E, Z, Y.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Käyttö: %s [-F LAITE] [--file=LAITE] [ASETUS]...\n" " tai: %s [-F LAITE] [--file=LAITE] [-a|--all]\n" " tai: %s [-F LAITE] [--file=LAITE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Näytä tai muuta päätteen ominaisuuksia.\n" "\n" " -a, --all näytä voimassa olevat asetukset luettavassa muodossa\n" " -g, --save näytä voimassa olevat asetukset stty-luettavassa " "muodossa\n" " -F, --file=LAITE avaa ja ota käyttöön määrätty LAITE vakiosyötteen " "sijaan\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Valinnainen â€-†ennen ASETUSta tarkoittaa vastakohtaa. Ei-POSIX-asetukset\n" "on merkitty *:lla. Käytettävissä olevat asetukset riippuvat alustasta.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Erikoismerkit:\n" " * dsusp MERKKI MERKKI lähettää terminaalin pysäytyssignaalin\n" " eof MERKKI MERKKI lähettää tiedostonlopetuksen (syöte päättyy)\n" " eol MERKKI MERKKI päättää rivin\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 MERKKI vaihtoehtoinen MERKKI rivin päättämiseen\n" " erase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun merkin\n" " intr MERKKI MERKKI lähettää keskeytyssignaalin\n" " kill MERKKI MERKKI pyyhkii käsillä olevan rivin\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext MERKKI MERKKI syöttää seuraavan merkin lainattuna\n" " quit MERKKI MERKKI lähettää lopetussignaalin\n" " * rprnt MERKKI MERKKI uudistaa käsillä olevan rivin\n" " start MERKKI MERKKI käynnistää tulosteen uudelleen pysäytettyään sen\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop MERKKI MERKKI pysäyttää tulosteen\n" " susp MERKKI MERKKI lähettää pysäytyssignaalin\n" " * swtch MERKKI MERKKI vaihtaa toiselle kuoren tasolle\n" " * werase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun sanan\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Erityisasetukset:\n" " N aseta syöte- ja tulostenopeuksiksi N baudia\n" " * cols N kerro ytimelle, että päätteen leveys on N merkkiä\n" " * columns N kuten cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N aseta syötenopeudeksi N\n" " * line N käytä rivikuria N\n" " min N kun myös -icanon, aseta valmiin luvun merkkiminimiksi N\n" " ospeed N aseta tulostenopeudeksi N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N kerro ytimelle, että päätteellä on N riviä\n" " * size näytä ytimeltä saadut rivi- ja sarakemäärät\n" " speed näytä päätteen nopeus\n" " time N kun myös -icanon, aseta luvun aikarajaksi N " "kymmenesosasekuntia\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Ohjausasetukset:\n" " [-]clocal poista modeemin ohjaussignaalit käytöstä\n" " [-]cread salli syötteen vastaanotto\n" " * [-]crtscts ota RTS/CTS-kättely käyttöön\n" " csN aseta merkkikooksi N bittiä, N välillä [5..8]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb käytä kahta pysäytysbittiä per merkki (â€-â€:lla yksi)\n" " [-]hup lähetä sulkusignaali kun viimeinen prosessi sulkee tty:n\n" " [-]hupcl kuten [-]hup\n" " [-]parenb luo pariteettibitti tulosteeseen ja oleta pariteettibitti " "syötteessä\n" " [-]parodd aseta pariton pariteetti (myös â€-â€:lla)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Syöteasetukset:\n" " [-]brkint katkokset aiheuttavat keskeytyssignaalin\n" " [-]icrnl muunna vaununpalautus rivinvaihdoksi\n" " [-]ignbrk jätä katkosmerkit huomiotta\n" " [-]igncr jätä vaununpalautus huomiotta\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar jätä pariteettivirheelliset merkit huomiotta\n" " * [-]imaxbel piippaa ja älä tyhjennä täyttä syötepuskuria merkille\n" " [-]inlcr muunna rivinvaihto vaununpalautukseksi\n" " [-]inpck ota syötteen pariteettitarkistus käyttöön\n" " [-]istrip poista ylin (8:s) bitti syötteen merkeistä\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 oleta syötemerkit UTF-8-koodatuiksi\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc muunna isot kirjaimet pieniksi\n" " * [-]ixany anna minkä tahansa merkin uudelleenkäynnistää tulosteen\n" " [-]ixoff ota start/stop -merkkien lähetys käyttöön\n" " [-]ixon ota XON/XOFF-vuonohjaus käyttöön\n" " [-]parmrk merkitse pariteettivirheet (255-0-merkkisarjalla)\n" " [-]tandem kuten [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Tulosteasetukset:\n" " * bsN askelpalauttimen viivetyyli, N välillä [0..1]\n" " * crN vaununpalautuksen viivetyyli, N välillä [0..3]\n" " * ffN arkinsyötön viivetyyli, N välillä [0..1]\n" " * nlN rivinvaihdon viivetyyli, N välillä [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl muunna vaununpalautus rivinvaihdoksi\n" " * [-]ofdel käytä poistomerkkejä täyttöön tyhjien merkkien sijaan\n" " * [-]ofill käytä täyttömerkkejä ajastuksen sijaan viivästyksille\n" " * [-]olcuc muunna pienet kirjaimet isoiksi\n" " * [-]onlcr muunna rivinvaihto vaununpalautus-rivinvaihdoksi\n" " * [-]onlret rivinvaihto suorittaa vaununpalautuksen\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ei tulosteta vaununpalautuksia ensimmäiseen sarakkeeseen\n" " [-]opost jälkikäsittele tuloste\n" " * tabN vaakasarkaimen viivetyyli, N välillä [0..3]\n" " * tabs sama kuin tab0\n" " * -tabs sama kuin tab3\n" " * vtN pystysarkaimen viivetyyli, N välillä [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Paikalliset asetukset:\n" " [-]crterase toista erase-merkit näin: askelpalautin-välilyönti-" "askelpalautin\n" " * crtkill hävitä koko rivi totellen echoprt- ja echoe-asetuksia\n" " * -crtkill hävitä koko rivi totellen echoctl- ja echok-asetuksia\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho toista kontrollimerkit hattumuodossa (`^c')\n" " [-]echo toista syötetyt merkit\n" " * [-]echoctl sama kuin [-]ctlecho\n" " [-]echoe sama kuin [-]crterase\n" " [-]echok toista rivinvaihto hävitysmerkin jälkeen\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke sama kuin [-]crtkill\n" " [-]echonl toista rivinvaihto vaikka muita merkkejä ei toistettaisi\n" " * [-]echoprt toista pyyhityt merkit takaperin, â€\\†ja â€/†-merkkien " "välissä\n" " [-]icanon ota erase, kill, werase, ja rprnt -erikoismerkit käyttöön\n" " [-]iexten ota ei-POSIX-erikoismerkit käyttöön\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig ota interrupt-, quit- ja suspend-erikoismerkit käyttöön\n" " [-]noflsh poista käytöstä interrupt- ja quit-erikoismerkkien " "jälkeinen puskurintyhjennys\n" " * [-]prterase sama kuin [-]echoprt\n" " * [-]tostop pysäytä tausta-ajot, jotka yrittävät kirjoittaa päätteelle\n" " * [-]xcase kun myös icanon, piilota isot kirjaimet â€\\†-merkillä\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Yhdistelyasetukset:\n" " * [-]LCASE sama kuin [-]lcase\n" " cbreak sama kuin -icanon\n" " -cbreak sama kuin icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked sama kuin brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof ja eol -merkit oletusarvoihinsa\n" " -cooked sama kuin raw\n" " crt sama kuin echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec sama kuin echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq sama kuin [-]ixany\n" " ek erase ja kill -merkit oletusarvoihinsa\n" " evenp sama kuin parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp sama kuin -parenb cs8\n" " * [-]lcase sama kuin xcase iuclc olcuc\n" " litout sama kuin -parenb -istrip -opost cs8\n" " -litout sama kuin parenb istrip opost cs7\n" " nl sama kuin -icrnl -onlcr\n" " -nl sama kuin icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp sama kuin parenb parodd cs7\n" " -oddp sama kuin -parenb cs8\n" " [-]parity sama kuin [-]evenp\n" " pass8 sama kuin -parenb -istrip cs8\n" " -pass8 sama kuin parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw sama kuin -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw sama kuin cooked\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane sama kuin cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, kaikki\n" " erikoismerkit oletusarvoihinsa.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Käsittele vakiosyötteeseen liitettyä tty:tä. Ilman argumentteja\n" "tulostaa nopeuden baudeina, rivikurin ja poikkeamat stty sane'istä.\n" "Asetuksissa MERKKI annetaan sellaisenaan tai koodattuna, esim. ^c,\n" "0x37, 0177 tai 127; erikoisarvoja â€^-†ja â€undef†käytetään kun halutaan\n" "erikoismerkit pois käytöstä.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "vain yhden laitteen voi määritellä" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "valitsimet verbose ja stty-readable -tulostetyyleille\n" "ovat toisensa poissulkevat" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "tiloja ei voi asettaa, kun tulostetyyli on määriteltynä" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: ei-estävän tilan uudelleenasetus ei onnistunut" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "virheellinen argumentti %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "%s vaatii argumentin" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "virheellinen rivileveys: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: kaikkia pyydettyjä toimenpiteitä ei voida suorittaa" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: ei kokotietoja tälle laitteelle" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "kokonaislukuargumentti %s ei kelpaa" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Näytä kunkin TIEDOSTOn tarkistussumma ja lohkomäärä.\n" "\n" " -r kumoa -s, käytä BSD-summa-algoritmia ja 1k-lohkoja\n" " -s, --sysv käytä System V -summa-algoritmia ja 512-tavuisia lohkoja\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Pakota muuttuneet lohkot levylle, päivitä superlohko.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "jätetään kaikki argumentit huomiotta" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "HUOM: käytössä oleva kuori saattaa sisältää oman %s-versionsa,\n" "joka yleensä korvaa korvaa tässä kuvatun version. Kuoren tukemista\n" "ominaisuuksista saa lisää tietoa kuoren dokumentaatiosta.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help näytä tämä ohje ja poistu\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version tulosta versiotiedot ja poistu\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen\n" "<%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Lisätietoja komennolla â€%s --helpâ€.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "VAROITUS: Kehämäinen hakemistorakenne.\n" "Tiedostojärjestelmä on lähes varmasti turmeltunut.\n" "ILMOITA ASIASTA JÄRJESTELMÄN YLLÄPITÄJÄLLE.\n" "Seuraava hakemisto on osa kehää:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulosta kukin TIEDOSTO vakiotulosteeseen, viimeinen rivi ensimmäisenä.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before liitä erotin tekstin eteen, ei perään\n" " -r, --regex tulkitse erotin säännöllisenä lausekkeena\n" " -s, --separator=MERKKIJ käytä MERKKIJonoa erottimena rivinvaihdon sijaan\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: siirtyminen epäonnistui" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s: tiedosto on liian suuri" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "väliaikaistiedoston %s luominen ei onnistu" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: avaaminen kirjoitustilassa epäonnistui" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "tiedoston %s aikojen säilyttäminen ei onnistu" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: kirjoitusvirhe" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "tiedostoa %s ei voi avata lukemista varten" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "erotin ei voi olla tyhjä" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulosta kunkin TIEDOSTOn %d viimeistä riviä vakiotulosteeseen.\n" "Jos TIEDOSTOja on useampi kuin yksi, jokaista ennen näytetään tiedostonimi.\n" "Jos TIEDOSTOa ei ole annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " tulosta lisätty tieto tiedoston kasvaessa;\n" " -f, --follow ja --follow=descriptor ovat sama " "asia\n" " -F sama kuin --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N tulosta viimeiset N riviä viimeisten %d sijaan\n" " --max-unchanged-stats=N\n" " käytettäessä valitsinta --follow=name, avaa\n" " uudelleen TIEDOSTO, jonka koko ei ole muuttunut\n" " N (oletus %d) tarkistuskerran aikana, jotta\n" " nähdään onko se nimetty uudelleen tai linkitys\n" " poistettu (tämä on yleistä syrjäytettyjen\n" " lokitiedostojen kanssa)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID valitsimen -f kanssa, lopeta prosessin PID\n" " kuollessa\n" " -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä\n" " otsakkeita\n" " -s, --sleep-interval=S valitsimen -f kanssa, nuku noin S sekuntia\n" " (oletus 1,0) toistojen välissä.\n" " -v, --verbose tulosta aina tiedostonimen sisältävät otsakkeet\n" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " --pid=PID valitsimen -f kanssa, lopeta prosessin PID\n" " kuollessa\n" " -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä\n" " otsakkeita\n" " -s, --sleep-interval=S valitsimen -f kanssa, nuku noin S sekuntia\n" " (oletus 1,0) toistojen välissä.\n" " -v, --verbose tulosta aina tiedostonimen sisältävät otsakkeet\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Jos N:n (tavu- tai rivimäärän) ensimmäinen merkki on â€+â€, tulosta alkaen\n" "kunkin tiedoston N:nnestä tavusta tai rivistä. Muussa tapauksessa tulosta\n" "kunkin tiedoston viimeiset N tavua tai riviä. N:n perään voi lisätä " "kertoimen:\n" "b 512, k 1024, m 1024².\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Tämä oletuskäyttäytyminen ei ole toivottavaa, jos halutaan todella seurata\n" "tietyn nimistä tiedostoa, ei kahvaa (esim. lokeja syrjäytettäessä). Siinä\n" "tapauksessa on käytettävä valitsinta --follow=name. Tällöin tail avaa\n" "seurattavan nimisen tiedoston uudelleen säännöllisesti tarkistaakseen,\n" "onko jokin toinen ohjelma poistanut ja luonut sen uudelleen.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "suljetaan %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: siirtyminen suhteelliseen siirtymään %s ei onnistu" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: siirtyminen siirtymään %s suhteessa loppuun ei onnistu" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s ei ole enää käytettävissä" # Joo, untailable on vähän hankala sana. #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s on korvattu seuraamiskelvottamalla tiedostolla; luovutaan tämän tiedoston " "seuraamisesta" # Joo, untailable on vähän hankala sana. #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s on korvattu seuraamiskelvottamalla tiedostolla; luovutaan tämän tiedoston " "seuraamisesta" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s on nyt käytettävissä" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s on ilmaantunut; seurataan uuden tiedoston loppua" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s on korvattu; seurataan uuden tiedoston loppua" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: ei-estävän tilan muuttaminen ei onnistu" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: tiedosto typistynyt" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "tiedostoja ei ole jäljellä" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "nykyisen hakemiston (%s) tilaa ei voi lukea" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "Tulostiedostojen jälkiliitteet käytetty loppuun" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "tiedostoa %s ei voi koskettaa" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "virhe luettaessa tiedostoa %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: tämän tyyppisen tiedoston loppua ei voi seurata; luovutaan tämän " "tiedoston seuraamisesta" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "kenttänumero %s on liian suuri" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: virheellinen avausten välinen muuttumattomien tilan lukemisten " "enimmäismäärä" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: virheellinen PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: virheellinen sekuntimäärä" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "varoitus: --retry toimii vain seurattaessa nimen perusteella" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "warning: ei huomioida PID:tä; --pid=PID on käyttökelpoinen vain seurattaessa" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "varoitus: --pid=PID ei ole tuettu tässä järjestelmässä" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "tiedostoa %s ei voi seurata nimen perusteella" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "varoitus: vakiosyötteen seuraaminen ikuisesti on tehotonta" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopioi vakiosyöte jokaiseen TIEDOSTOon sekä vakiotulosteeseen.\n" "\n" " -a, --append lisää TIEDOSTOjen perään, älä korvaa\n" " -i, --ignore-interrupts jätä keskeytyssignaalit huomiotta\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Jos TIEDOSTO on -, kopioidaan vakiotulosteeseen.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s vaatii argumentin" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "virheellinen kokonaisluku %s" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "â€)†oli odotus\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "â€)†oli odotus, saatiin %s\n" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: odotettiin unaarista operaattoria" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt ei hyväksy -l -lauseketta" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef ei hyväksy -l -lauseketta" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot ei hyväksy -l -lauseketta" #: src/test.c:367 msgid "unknown binary operator" msgstr "tuntematon binäärioperaattori" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: odotettiin binääristä operaattoria" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Käyttö: test LAUSEKE\n" " tai: [ LAUSEKE ]\n" " tai: [ VALITSIN\n" "Poistu LAUSEKKEen määräämällä poistumiskoodilla.\n" "\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Poistu tilakoodilla, jonka LAUSEKE määrittelee.\n" "\n" #: src/test.c:717 #, fuzzy msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "LAUSEKE on tosi tai epätosi ja asettaa tilakoodin. Se on jokin seuraavista:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( LAUSEKE ) LAUSEKE on tosi\n" " ! LAUSEKE LAUSEKE on epätosi\n" " LAUSEKE1 -a LAUSEKE2 sekä LAUSEKE1 että LAUSEKE2 ovat tosia\n" " LAUSEKE1 -o LAUSEKE2 joko LAUSEKE1 tai LAUSEKE2 on tosi\n" #: src/test.c:729 #, fuzzy msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] MERKKIJONO MERKKIJONOn pituus on nollasta poikkeava\n" " -z MERKKIJONO MERKKIJONOn pituus on nolla\n" " MERKKIJONO1 = MERKKIJONO2 merkkijonot ovat yhteneväiset\n" " MERKKIJONO1 != MERKKIJONO2 merkkijonot eivät ole yhteneväiset\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " KOK.LUKU1 -eq KOK.LUKU2 KOK.LUKU1 on yhtäsuuri kuin KOK.LUKU2\n" " KOK.LUKU1 -ge KOK.LUKU2 KOK.LUKU1 on suurempi tai yhtäsuuri kuin KOK." "LUKU2\n" " KOK.LUKU1 -gt KOK.LUKU2 KOK.LUKU1 on suurempi kuin KOK.LUKU2\n" " KOK.LUKU1 -le KOK.LUKU2 KOK.LUKU1 on pienempi tai yhtäsuuri kuin KOK." "LUKU2\n" " KOK.LUKU1 -lt KOK.LUKU2 KOK.LUKU1 on pienempi kuin KOK.LUKU2\n" " KOK.LUKU1 -ne KOK.LUKU2 KOK.LUKU1 on erisuuri kuin KOK.LUKU2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " TIEDOSTO1 -ef TIEDOSTO2 tiedostoilla on sama laite ja sama inode-numero\n" " TIEDOSTO1 -nt TIEDOSTO2 TIEDOSTO1 on uudempi (muokkauspäiväys) kuin " "TIEDOSTO2\n" " TIEDOSTO1 -ot TIEDOSTO2 TIEDOSTO1 on vanhempi kuin TIEDOSTO2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b TIEDOSTO TIEDOSTO on olemassa ja on lohkolaitetiedosto\n" " -c TIEDOSTO TIEDOSTO on olemassa ja on merkkilaitetiedosto\n" " -d TIEDOSTO TIEDOSTO on olemassa ja on hakemisto\n" " -e TIEDOSTO TIEDOSTO on olemassa\n" #: src/test.c:759 #, fuzzy msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f TIEDOSTO TIEDOSTO on olemassa ja on tavallinen tiedosto\n" " -g TIEDOSTO TIEDOSTO on olemassa ja sen set-group-ID -bitti on päällä\n" " -h TIEDOSTO TIEDOSTO on olemassa ja on symbolinen linkki (sama kuin -" "L)\n" " -G TIEDOSTO TIEDOSTO on olemassa ja voimassaolevan ryhmän " "omistuksessa\n" " -k TIEDOSTO TIEDOSTO on olemassa ja sen â€sticky bit†on päällä\n" #: src/test.c:766 #, fuzzy msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L TIEDOSTO TIEDOSTO on olemassa ja on symbolinen linkki (sama kuin -" "h)\n" " -O TIEDOSTO TIEDOSTO on olemassa ja voimassaolevan käyttäjän " "omistuksessa\n" " -p TIEDOSTO TIEDOSTO on olemassa ja on nimetty putki\n" " -r TIEDOSTO TIEDOSTO on olemassa ja luettavissa\n" " -s TIEDOSTO TIEDOSTO on olemassa ja kooltaan suurempi kuin nolla\n" #: src/test.c:773 #, fuzzy msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S TIEDOSTO TIEDOSTO on olemassa ja on a socket\n" " -t [TK] tiedostokahva TK (oletuksena stdout) on auki ja " "päätelaite\n" " -u TIEDOSTO TIEDOSTO on olemassa ja sen set-user-ID -bitti on päällä\n" " -w TIEDOSTO TIEDOSTO on olemassa ja kirjoitettavissa\n" " -x TIEDOSTO TIEDOSTO on olemassa ja ajettavissa\n" #: src/test.c:780 #, fuzzy msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Huomaa, että sulut täytyy suojata kuorilta (esim. kenoviivoilla).\n" "KOKONAISLUKU voi olla myös -l MERKKIJONO, joka laventuu MERKKIJONOn " "pituudeksi.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "puuttuva â€]â€" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "ylimääräinen argumentti %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Käyttö: %s KÄYTTÄJÄNIMI KOMENTO [ARGUMENTTI]...\n" " tai: %s VALITSIN\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "virhe kirjoitettaessa tiedostoa %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "virheellinen päiväyksen muoto %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "tiedostoa %s ei voi koskettaa" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "asetettaessa tiedoston %s aikoja" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a muuta vain käyttöaikaa\n" " -c, --no-create älä luo tiedostoja\n" " -d, --date=MERKKIJ jäsennä MERKKIJono ja käytä sitä nykyisen ajan " "sijaan\n" " -f (ei huomioida)\n" " -m muuta vain muutosaikaa\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference muuta kutakin symbolista linkkiä, ei minkään " "linkin\n" " kohdetta (käytettävissä vain järjestelmissä, " "joissa\n" " symlinkin omistajuutta voi muuttaa)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=TIED käytä tämän TIEDoston aikoja nykyisen ajan sijaan\n" " -t LEIMA käytä aikaa [[CC]VV]KKPPttmm[.ss] nykyisen ajan " "sijaan\n" " --time=SANA aseta aika SANAn mukaan: käyttöaika atime use (sama " "kuin -a)\n" " muuta aikaa mtime (sama kuin -m)\n" #: src/touch.c:246 #, fuzzy msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Huomaa, että valitsimien -d ja -t hyväksymät aika-päiväysmuodot ovat\n" "erilaisia.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "aika voidaan määrittää vain yhdestä lähteestä" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "varoitus: â€touch %s†on vanhentunut; käytä komentoa â€touch -t %04ld%02d%02d" "%02d%02d.%02dâ€" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Käyttö: %s [VALITSIN]... JOUKKO1 [JOUKKO2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Vaihda, purista, ja/tai poista merkkejä vakiosyötteestä, kirjoittaen\n" "vakiotulosteeseen.\n" "\n" " -c, --complement komplementoi ensin JOUKKO1\n" " -d, --delete poista JOUKKO1:ssä esiintyvät merkit, älä vaihda\n" " -s, --squeeze-repeats korvaa kukin JOUKKO1:ssä luetellun merkin " "toistuva\n" " syötesarja yhdellä kappaleella kyseistä merkkiä\n" " -t, --truncate-set1 typistä JOUKKO1 JOUKKO2:n pituuteen\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "JOUKOTt ovat merkkijonoja. Useimmat merkit edustavat itseään.\n" "Tulkittavat sarjat ovat:\n" "\n" " \\NNN merkki, jonka oktaaliarvo on NNN (1–3 oktaalinumeroa)\n" " \\\\ kenoviiva\n" " \\a merkkiääni (BEL)\n" " \\b askelpalautin\n" " \\f paperinsyöttö\n" " \\n rivinvaihto\n" " \\r palautus\n" " \\t vaakasarkain\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v pystysarkain\n" " MERK1-MERK2 kaikki merkit MERK1:stä MERK2:een nousevassa " "järjestyksessä\n" " [MERK*] JOUKKO2:ssa, MERKin kopioita JOUKKO1:n pituuteen asti\n" " [MERK*TOISTO] TOISTO kopiota MERKistä, TOISTO 8-järjestelmässä jos " "alussa 0\n" " [:alnum:] kaikki kirjaimet ja numerot\n" " [:alpha:] kaikki kirjaimet\n" " [:blank:] kaikki vaakasuuntaiset tyhjeet\n" " [:cntrl:] kaikki ohjausmerkit\n" " [:digit:] kaikki numerot\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] kaikki tulostuvat merkit, pois lukien välilyönti\n" " [:lower:] kaikki pienet kirjaimet\n" " [:print:] kaikki tulostuvat merkit, mukaan lukien välilyönti\n" " [:punct:] kaikki välimerkit\n" " [:space:] kaikki vaaka- tai pystysuuntaiset tyhjeet\n" " [:upper:] kaikki isot kirjaimet\n" " [:xdigit] kaikki 16-järjestelmän numerot\n" " [=MERK=] kaikki merkit, jotka ovat yhtäläisiä MERKin kanssa\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "varoitus: moniselitteinen oktaalisuojaus \\%c%c%c tulkitaan\n" "\t2-tavuiseksi sarjaksi \\0%c%c, %c" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "varoitus: kenoviiva merkkijonon lopussa" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "välin â€%s-%s†päätepisteet ovat käännetyssä järjestyksessä" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "virheellinen toistomäärä %s [c*n]-rakenteessa" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "puuttuva merkkiluokan nimi â€[::]â€" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "puuttuva yhtäläisyysluokan merkki â€[==]â€" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "virheellinen merkkiluokka %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: yhtäläisyysluokan operandin on oltava yksittäinen merkki" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "väärin aseteltu [:upper:]- ja/tai [:lower:]-rakenne" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "outo merkki kenttämäärityksessä" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "toistorakenne [c*] ei saa esiintyä merkkijono1:ssä" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "toistorakenne [c*] saa esiintyä vain kerran merkkijono2:ssa" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=]-lausekkeita ei saa esiintyä merkkijono2:ssa vaihdettaessa" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ainoat merkkiluokat, jotka vaihdettaessa saavat esiintyä merkkijono2:ssa,\n" "ovat â€upper†ja â€lowerâ€" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "ellei typistetä joukko1:tä, merkkijono2 ei saa olla tyhjä" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "merkkijono2:n on kuvattava kaikki määrittelyjoukon merkit yhdeksi\n" "vaihdettaessa käyttäen täydennettyjä merkkiluokkia" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "rakenne [c*] saa esiintyä merkkijono2:ssa vain muunnettaessa" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "poistettaessa ja puristettaessa toistoja on annettava kaksi merkkijonoa" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "vaihdettaessa on annettava kaksi merkkijonoa" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "poistettaessa toistoja puristamatta voidaan antaa vain yksi merkkijono" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" " tai: %s VALITSIN\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Käyttö: %s VALITSIN... TIEDOSTO...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 #, fuzzy msgid " -c, --no-create do not create any files\n" msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: tiedoston koko on negatiivinen" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "ajan haku ei onnistu" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, fuzzy, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "edetään %s tavun yli tulostiedostossa %s" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "useita tulostiedostoja annettu" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "tiedostoa %s ei voi avata kirjoitusta varten" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Käyttö: %s [VALITSIN] [TIEDOSTO]\n" "Kirjoita täysin järjestetty luettelo, joka on yhtäpitävä TIEDOSTOssa olevan\n" "osittaisen järjestyksen kanssa. Jos TIEDOSTOa ei anneta tai se on â€-â€, " "luetaan\n" "vakiosyötettä.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: syöte sisältää parittoman määrän symboleja" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: syöte sisältää silmukan:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Tulosta vakiosyötteeseen kytketyn päätteen tiedostonimi.\n" "\n" " -s, --silent, --quiet ei tulostetta, pelkkä poistumisen tilakoodin " "palautus\n" #: src/tty.c:120 msgid "not a tty" msgstr "ei ole tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Näytä tiettyjä järjestelmätietoja. Komento ilman VALITSINta on sama\n" "kuin -s.\n" "\n" " -a, --all näytä kaikki tiedot seuraavassa järjestyksessä\n" " (paitsi -p ja -i, jos tuntemattomia):\n" " -s, --kernel-name näytä ytimen nimi\n" " -n, --nodename näytä koneen nimi verkossa\n" " -r, --kernel-release näytä ytimen versionumero\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version näytä ytimen versiotiedot\n" " -m, --machine näytä laitteiston nimi\n" " -p, --processor näytä prosessorin tyyppi tai â€tuntematonâ€\n" " -i, --hardware-platform näytä laitteistoalusta tai â€tuntematonâ€\n" " -o, --operating-system näytä käyttöjärjestelmä\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "järjestelmän nimen haku ei onnistu" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Muunna kunkin TIEDOSTOn sisältämät välilyönnit sarkaimiksi, kirjoittaen\n" "vakiotulosteeseen. Jos TIEDOSTOa ei anneta tai se on â€-â€, luetaan " "vakiosyötettä.\n" "\n" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all muunna kaikki tyhjeet, ei vain rivien alussa olevia\n" " --first-only muunna vain rivien alussa olevat tyhjeet (kumoaa\n" " valitsimen -a)\n" " -t, --tabs=N aseta sarkainkooksi N, ei 8 (ottaa käyttöön valitsimen -" "a)\n" " -t, --tabs=LUETT käytä pilkuilla erotettua sarkainkohtien LUETTeloa " "(ottaa \n" " käyttöön valitsimen -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "sarkainasetin %s on liian suuri" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Käyttö: %s [VALITSIN]... [SYÖTE [TULOSTE]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count liitä rivin eteen sen esiintymiskertojen määrä\n" " -d, --repeated tulosta vain useaan kertaan esiintyvät rivit\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=erotustapa] tulosta kaikki vähintään kahteen kertaan\n" " esiintyvät rivit\n" " erotustapa={none(oletus),prepend,separate}\n" " Erotus tehdään tyhjillä riveillä.\n" " -f, --skip-fields=N älä vertaa N:ää ensimmäistä kenttää\n" " -i, --ignore-case älä huomioi kirjainkokoa vertaillessa\n" " -s, --skip-chars=N älä vertaa N:ää ensimmäistä merkkiä\n" " -u, --unique tulosta vain ainutkertaiset rivit\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N vertaa vain rivien N:ää ensimmäistä merkkiä\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Kenttä on joukko tyhjeitä, joita seuraa joukko ei-tyhjeitä.\n" "Kentät ohitetaan ennen merkkejä.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "liian monta argumenttia" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "virheellinen ohitettavien kenttien määrä" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "virheellinen ohitettavien tavujen määrä" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "virheellinen verrattavien tavujen määrä" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "kaikkien vähintään kahteen kertaan esiintyvien rivien ja esiintymiskertojen " "määrän tulostaminen on merkityksetöntä" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s TIEDOSTO\n" " tai: %s VALITSIN\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Kutsu unlink-funktiota annetun TIEDOSTOn poistamiseksi.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "tiedoston %s linkitystä ei voi poistaa" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "käynnistysajan haku ei onnistu" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "käynnissä ???? vrk ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "käynnissä %ld vrk %2d:%02d, " msgstr[1] "käynnissä %ld vrk %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "käynnissä %ld vrk %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu käyttäjä" msgstr[1] "%lu käyttäjää" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", keskimääräinen kuorma: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Näytä kellonaika, järjestelmän käynnissäoloaika, järjestelmään\n" "kirjautuneiden käyttäjien määrä sekä ajojonon töiden keskimääräinen\n" "lukumäärä viimeisten 1, 5 ja 15 minuutin ajalta." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Jos TIEDOSTOa ei ole annettu, käytä %s. %s TIEDOSTOna on yleinen.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Näytä kirjautuneet käyttäjät TIEDOSTOn mukaan.\n" "Oletustiedosto on %s. %s on yleinen TIEDOSTOna.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Näytä kunkin TIEDOSTOn rivi-, sana- ja tavumäärät, sekä\n" "kokonaismäärät jos TIEDOSTOja on useampi kuin yksi. Jos TIEDOSTOa ei ole\n" "annettu, tai se on â€-â€, luetaan vakiosyötettä.\n" " -c, --bytes näytä tavumäärät\n" " -m, --chars näytä merkkimäärät\n" " -l, --lines näytä rivimäärät\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " -L, --max-line-length näytä pisimmän rivin pituus\n" " -w, --words näytä sanamäärät\n" #: src/who.c:210 msgid " old " msgstr "kauan" #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "Järjestelmävirhe" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "sulj=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "pois=" #: src/who.c:485 #, fuzzy msgid "LOGIN" msgstr "YHTEYS" #: src/who.c:505 msgid "clock change" msgstr "kellon siirto" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "käyttötaso" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "edell=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# käyttäjiä=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NIMI" #: src/who.c:559 msgid "LINE" msgstr "YHTEYS" #: src/who.c:559 msgid "TIME" msgstr "AIKA" #: src/who.c:559 msgid "IDLE" msgstr "JOUTEN" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTTI" #: src/who.c:560 msgid "EXIT" msgstr "POIS" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Käyttö: %s [VALITSIN]... [ TIEDOSTO | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Näytä tietoa kirjautuneina olevista käyttäjistä.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all sama kuin -b -d --login -p -r -t -T -u\n" " -b, --boot viimeisimmän käynnistyksen aika\n" " -d, --dead näytä kuolleet prosessit\n" " -H, --heading näytä otsikkorivi\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup yritä selvittää palvelinnimet DNS:n avulla\n" " -m vain koneen nimi ja vakiosyötteeseen liittyvä tunnus\n" " -p, --process näytä aktiiviset prosessit, jotka init on käynnistänyt\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count tunnukset ja kirjautuneena olevien käyttäjien määrä\n" " -r, --runlevel näytä voimassa oleva käyttötaso\n" " -s, --short näytä vain nimi, yhteys ja aika (oletus)\n" " -t, --time näytä viimeisin järjestelmäkellon muutosaika\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg näytä myös tunnuksen viestitila merkeillä +, - tai ?\n" " -u, --users luettele kirjautuneet käyttäjät\n" " --message sama kuin -T\n" " --writable sama kuin -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "%s on oletusTIEDOSTO. %s TIEDOSTOna on yleinen.\n" "Jos ARG1 ja ARG2 annetaan, -m on oletetaan: â€am i†tai â€mom likes†ovat\n" "tavallisia.\n" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Tulosta voimassaolevaa käyttäjä-id:tä vastaava käyttäjänimi.\n" "Sama kuin id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: käyttäjä-ID:tä %lu vastaavaa nimeä ei löydy\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s [MERKKIJONO]...\n" " tai: %s VALITSIN\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Tulosta toistuvasti riviä, jolla on kaikki annetut MERKKIJONO(t) tai â€yâ€,\n" "jos merkkijonoja ei anneta.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "luodaan tiedostoa %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Käyttö: %s [VALITSIN] NIMI...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: virheellinen jälkiliitteen pituus" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Esimerkkejä:\n" #~ " %s /usr/bin/sort Tuloste: â€sortâ€.\n" #~ " %s include/stdio.h .h Tuloste: â€stdioâ€.\n" #~ msgid "reading %s" #~ msgstr "luettaessa tiedostoa %s" #~ msgid "writing %s" #~ msgstr "kirjoitettaessa tiedostoa %s" #~ msgid "closing %s" #~ msgstr "suljettaessa tiedostoa %s" #~ msgid "accessing %s" #~ msgstr "käytetään tiedostoa %s" #~ msgid "opening %s" #~ msgstr "tiedoston %s avaaminen" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s NIMI\n" #~ " tai: %s VALITSIN\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ohita muilla tiedostojärjestelmillä sijaitsevat\n" #~ " hakemistot\n" #~ " -X TIED, --exclude-from=TIED Jätä laskematta tiedostot, jotka " #~ "täsmäävät\n" #~ " vähintään yhteen TIEDostossa olevaan hahmoon.\n" #~ " --exclude=HAHMO jätä laskematta tiedostot, jotka täsmäävät " #~ "HAHMOon.\n" #~ " --max-depth=N näytä kokonaismäärä hakemistolle (tai valitsimen " #~ "--all\n" #~ " kanssa tiedostolle) vain, jos se on korkeintaan " #~ "N\n" #~ " tasoa argumenttina annetun alla; --max-depth=0 " #~ "on\n" #~ " sama kuin --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off älä varmuuskopioi koskaan (vaikka --backup olisi " #~ "annettu)\n" #~ " numbered, t tee numeroituja varmuuskopioita\n" #~ " existing, nil numeroituja jos sellaisia on jo olemassa, muuten " #~ "yksinkertaisia\n" #~ " simple, never tee aina yksinkertaisia varmuuskopiota\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "valitsin --reply ei ole suositeltava; käytä valitsinta -i tai -f sen " #~ "sijaan" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "KANTA on d desimaaliesitykselle, o oktaaliselle, x heksadesimaaliselle " #~ "tai\n" #~ "n tyhjälle. TAVUT on heksadesimaalinen etuliitteen 0x tai 0X kanssa, se\n" #~ "kerrotaan 512:lla b-jälkiliitteen kanssa, 1024:llä k:n, ja 1048576:lla m:" #~ "n\n" #~ "kanssa. Jälkiliitteen z lisääminen mihin tahansa tyyppiin lisää jokaisen\n" #~ "tulosterivin loppuun näkymän tulostuvista merkeistä. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string ilman lukuarvoa on 3. --width ilman lukuarvoa on 32.\n" #~ "Oletuksena od käyttää -A o -t d2 -w 16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO\n" #~ msgid "Password:" #~ msgstr "Salasana:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: laitteen /dev/tty avaaminen ei onnistu" #~ msgid "cannot set groups" #~ msgstr "ryhmien asetus ei onnistu" #~ msgid "cannot set group id" #~ msgstr "ryhmän id:n asetus ei onnistu" #~ msgid "cannot set user id" #~ msgstr "tunnuksen id:n asetus ei onnistu" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [-] [TUNNUS [ARG]...]\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Vaihda vallitsevaksi käyttäjä- ja ryhmä-ID:ksi TUNNUSta vastaavat.\n" #~ "\n" #~ " -, -l, --login tee kuoresta kirjautumiskuori\n" #~ " -c, --command=KOMENTO välitä KOMENTO kuorelle valitsimella -c\n" #~ " -f, --fast välitä valitsin -f kuorelle (csh:lle tai " #~ "tcsh:lle)\n" #~ " -m, --preserve-environment älä uudelleenaseta ympäristömuuttujia\n" #~ " -p sama kuin -m\n" #~ " -s, --shell=KUORI aja KUORI, jos /etc/shells sallii sen\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Pelkkä - tekee saman kuin -l. Jos TUNNUSta ei ole annettu, sen oletetaan\n" #~ "olevan root.\n" #~ msgid "user %s does not exist" #~ msgstr "tunnusta %s ei ole olemassa" #~ msgid "incorrect password" #~ msgstr "väärä salasana" #~ msgid "using restricted shell %s" #~ msgstr "käytetään rajoitettua kuorta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "varoitus: ei voida siirtyä hakemistoon %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" #~ "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn ryhmäksi " #~ "samat\n" #~ "kuin VTIEDostolla.\n" #~ "\n" #~ " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain " #~ "tehdyt\n" #~ " muutokset\n" #~ " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" #~ " itseään (tämä on oletustoiminta)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (â€/â€) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (â€/â€)\n" # Onko rekursiivisuudelle suomenkielisempää sanaa? #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " --reference=VTIED käytä VTIEDoston ryhmää RYHMÄ-arvon antamisen\n" #~ " sijaan\n" #~ " -R, --recursive käsittele tiedostot ja hakemistot " #~ "rekursiivisesti\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Vaihda kunkin TIEDOSTOn oikeuksiksi OIKEUDET.\n" #~ "\n" #~ " -c, --changes kuten monisanaisuus, mutta ilmoita vain tehdyt\n" #~ " muutokset\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon " #~ "sijaan\n" #~ " -R, --recursive toimi rekursiivisesti\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Vaihda kunkin TIEDOSTOn omistajaksi ja/tai ryhmäksi OMISTAJA ja/tai " #~ "RYHMÄ.\n" #~ "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" #~ "ja ryhmäksi samat kuin VTIEDostolla.\n" #~ "\n" #~ " -c, --changes kuin monisanaisuus, mutta ilmoita vain tehdyt\n" #~ " muutokset\n" #~ " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" #~ " itseään (tämä on oletustoimintatapa)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " --reference=VTIED käytä VTIEDoston omistajaa ja ryhmää\n" #~ " OMISTAJA:RYHMÄ-arvojen antamisen sijaan\n" #~ " -R, --recursive käsittele tiedostot ja hakemistot " #~ "rekursiivisesti\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Näytä tämänhetkinen aika annetulla MUOTOILUlla, tai aseta järjestelmän " #~ "aika.\n" #~ "\n" #~ " -d, --date=MJONO näytä MJONOn määräämä aika â€nowâ€:n sijaan\n" #~ " -f, --file=PVMTIED kuten --date, kerran kullekin PVMTIEDoston " #~ "riville\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "KOKO voi olla (tai voi olla kokonaisluku, jota seuraa) yksi seuraavista:\n" #~ "kB 1000, K 1024, MB 1000², M 1024², sekä samoin G, T, P, E, Z, Y.\n" #~ msgid "%s" #~ msgstr "%s" #, fuzzy #~ msgid "truncating %s" #~ msgstr "luodaan %s" #~ msgid "cannot create link %s" #~ msgstr "linkkiä %s ei voi luoda" #~ msgid "invalid format precision" #~ msgstr "virheellinen muodon tarkkuus" #, fuzzy #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "valitsin --reply ei ole suositeltava; käytä valitsinta -i tai -f sen " #~ "sijaan" #~ msgid "creating symbolic link %s" #~ msgstr "luotaessa symbolista linkkiä %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "luotaessa symbolista linkkiä %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "luotaessa kovaa linkkiä %s" #~ msgid "creating hard link %s => %s" #~ msgstr "luotaessa kovaa linkkiä %s → %s" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "ylimääräinen operandi %s" #~ msgid "invalid number of lines: 0" #~ msgstr "virheellinen rivimäärä: 0" #, fuzzy #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "valitsin \"-%s\" on vanhentunut; käytä \"-l %s\"" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" # Pitäisikö --:n olla oikea Unicode-ajatusviiva (m-viiva)? # Tai suomeen paremmin sopiva n-viiva. #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: virheellinen valitsin – %c\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Yleisohjeita GNU-ohjelmistojen käyttöön: <http://www.gnu.org/gethelp/>.\n" #~ msgid "invalid argument: %s" #~ msgstr "virheellinen argumentti: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Näytä tämä ohje ja poistu.\n" #~ " --version Näytä versiotiedot ja poistu.\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "valitsin --megabytes ei ole suositeltava; käytä valitsinta -m sen sijaan" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Seuraavat ohjausmerkit tunnistetaan, jos valitsin -e on annettu:\n" #~ "\n" #~ " \\0NNN merkki, jonka ASCII-koodi on NNN (oktaaliluku)\n" #~ " \\\\ kenoviiva\n" #~ " \\a hälytysmerkki (BEL)\n" #~ " \\b askelpalautin\n" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: varoitus: kovan linkin tekeminen symboliseen linkkiin ei ole " #~ "siirrettävää" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Värejä ei oletuksena käytetä erottamaan tiedostojen tyyppejä. Tämä on " #~ "sama\n" #~ "kuin --color=none. Valitsimen --color käyttäminen ilman valinnaista\n" #~ "MILLOIN-argumenttia on sama kuin --color=always. Valitsimen --color=auto " #~ "kanssa\n" #~ "värikoodit tulostetaan vain, jos vakiotuloste on kytketty päätteeseen " #~ "(tty).\n" #~ "Väreihin voi vaikuttaa LS_COLORS-ympäristömuuttujalla, jonka voi asettaa\n" #~ "helposti dircolors-komennolla.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory luo hakemisto, ei tiedostoa\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run älä luo mitään, näytä vain nimi (ei turvallinen)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a varoitus (BEL)\n" #~ " \\b askelpalautin\n" #~ " \\c tulosteen lopetus tähän\n" #~ " \\f sivunvaihto\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n rivinvaihto\n" #~ " \\r vaununpalautus\n" #~ " \\t vaakasarkain\n" #~ " \\v pystysarkain\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "hakemiston %s sulkeminen epäonnistui" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "hakemiston %s avaaminen ei onnistu" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "tiedosto %s vaihtoi laitetta/i-solmua" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "hakemiston %s luominen ei onnistu" #, fuzzy #~ msgid "cannot remove %s directory %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "työhakemistoa ei löydy" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" #~ "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" #~ "\n" #~ "Kukin MUUNNOS voi olla:\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Valitsimen --follow (-f) kanssa tail seuraa oletuksena tiedostokahvaa, " #~ "mikä\n" #~ "tarkoittaa, että vaikka seurattava tiedosto nimetään uudelleen, tail " #~ "jatkaa\n" #~ "sen seuraamista. " #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Tulosta (vakio)SYÖTTEestä luetut peräkkäin esiintyvät identtiset rivit\n" #~ "vain kerran, kirjoittaen (vakio)TULOSTEeseen.\n" #~ "\n" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "väliaikaistiedoston luominen ei onnistu" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference älä koskaan seuraa LÄHTEEN symlinkkejä\n" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Käyttö: %s [VALITSIN]... [MERKKIJONO]...\n" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "VAROITUS: käytä valitsinta --si, ei -H; valitsimen -H merkitys muuttuu\n" #~ "pian samaksi kuin --dereference-args (-D)." #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "valitsin --reply ei ole suositeltava; käytä valitsinta -i tai -f sen " #~ "sijaan" #~ msgid "" #~ " --bignum always use arbitrary-precision arithmetic\n" #~ " --no-bignum always use single-precision arithmetic\n" #~ msgstr "" #~ " --bignum käytä aina rajatonta laskutarkkuutta\n" #~ " --no-bignum käytä aina yksinkertaista laskutarkkuutta\n" #, fuzzy #~ msgid "string too long" #~ msgstr "Käyttäjänimi on liian pitkä" #~ msgid "arbitrary-precision support is not available" #~ msgstr "rajattoman laskutarkkuuden tuki ei ole saatavilla" #, fuzzy #~ msgid "string offset is too large" #~ msgstr "tavusiirtymä %s on liian suuri" #, fuzzy #~ msgid "substring length too large" #~ msgstr "%s: tiedosto on liian suuri" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Paluuarvo on normaalisti 0, pienissä ongelmissa 1 ja suurissa\n" #~ "ongelmissa 2.\n" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "muotoilumerkkijono ei kelpaa: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "liian monta %%-muunnosmääritystä jälkiliitteessä" #~ msgid "invalid format string: %s" #~ msgstr "muotoilumerkkijono ei kelpaa: %s" #, fuzzy #~ msgid "%d: fmt=\"%s\" in_width=%d out_width=%d pad=%d\n" #~ msgstr "%d: muoto=â€%s†leveys=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SMJONO, --sep-string[=MJONO]\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " -V, --version-sort sort by numeric version (see strverscmp" #~ "(3C))\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R, version -V\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort vertaa yleisen numeerisen arvon mukaan " #~ "(myös eksponenttimuoto)\n" #~ " -i, --ignore-nonprinting huomioi vain tulostuvat merkit\n" #~ " -M, --month-sort vertaa (tuntematon) < â€JAN†< ... < â€DECâ€\n" #~ " -n, --numeric-sort vertaa merkkijonon numeerisen arvon mukaan\n" #~ " -r, --reverse käännä lajittelujärjestys\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: tila\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry jatka tiedoston avausyrityksiä vaikka " #~ "tiedosto\n" #~ " ei ole käytettävissä aluksi tai myöhemmässä\n" #~ " vaiheessa – toimii vain valitsimen -f kanssa\n" #~ " -c, --bytes=N tulosta viimeiset N tavua\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Vaihtaminen tehdään, jos valitsinta -d ei ole annettu, ja sekä JOUKKO1 " #~ "että\n" #~ "JOUKKO2 on annettu. Valitsin -t voidaan antaa vain vaihdettaessa. " #~ "JOUKKO2\n" #~ "laajennetaan tarvittaessa JOUKKO1:n pituuteen toistamalla sen viimeistä\n" #~ "kirjainta. " # *** *** ** *** * ** * * #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "JOUKKO2:n mahdolliset ylimääräiset merkit jätetään huomiotta.\n" #~ "Vain rakenteet [:lower:] ja [:upper:] laajenevat aina nousevassa\n" #~ "järjestyksessä. Kun em. rakenteita käytetään JOUKKO2:ssa vaihdettaessa,\n" #~ "niiden on oltava pareittain määrittelemässä kirjainkoon muutosta.\n" #~ "Ellei " # edellinen lause jatkuu tähän, ärsyttävää. #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "vaihdeta tai poisteta, valitsin -s käyttää JOUKKO1:ä;\n" #~ "muussa tapauksessa puristaminen käyttää JOUKKO2:a, ja ilmenee " #~ "vaihtamisen\n" #~ "tai poistamisen jälkeen.\n" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld vrk" #~ msgstr[1] "%ld vrk" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Varmuuskopion jälkiliite on â€~â€, ellei muuta ole asetettu valitsimella\n" #~ "--suffix tai ympäristömuuttujalla SIMPLE_BACKUP_SUFFIX.\n" #~ "Versionhallintamenetelmän voi valita käyttäen valitsinta --backup tai\n" #~ "ympäristömuuttujaa VERSION_CONTROL. Arvot ovat seuraavat:\n" #~ "\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Näytä kunkin LUVUN alkutekijät.\n" #~ "\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Käyttö: %s [VALITSIMET] TIEDOSTO [...]\n" #~ msgid "cannot create temporary file" #~ msgstr "väliaikaistiedoston luominen ei onnistu" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [ TIEDOSTO ]\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Käyttö: %s [VALITSIN] [TIEDOSTO]...\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Käyttö: %s [VALITSIN] HAKEMISTO...\n" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Käyttö: %s [VALITSIN] TIEDOSTO...\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman ja David MacKenzie" #, fuzzy #~ msgid "unrecognized operand %s=%s" #~ msgstr "tunnistamaton valitsin %s=%s" #~ msgid "block size" #~ msgstr "lohkokoko" #, fuzzy #~ msgid "invalid %s `%s'" #~ msgstr "virheellinen käyttäjä %s" #, fuzzy #~ msgid "invalid character following %s in `%s'" #~ msgstr "virheellinen merkkiluokka %s" #, fuzzy #~ msgid "%s `%s' too large" #~ msgstr "%s on liian suuri" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "" #~ "valitsin --kilobytes ei ole suositeltava; käytä valitsinta -k sen sijaan" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N:n perään voi liittää kertoimen: b 512, k 1024, m 1024².\n" #~ msgid "cannot print only user and only group" #~ msgstr "pelkän tunnuksen ja pelkän ryhmän tulostus ei onnistu" #~ msgid "cannot get supplemental group list" #~ msgstr "lisäryhmälistan haku ei onnistu" #~ msgid "skip argument" #~ msgstr "ohitusargumentti" #~ msgid "limit argument" #~ msgstr "rajoitusargumentti" #~ msgid "minimum string length" #~ msgstr "merkkijonon vähimmäispituus" #~ msgid "width specification" #~ msgstr "leveysmääritys" #~ msgid "page range" #~ msgstr "sivuväli" #~ msgid "sort size" #~ msgstr "lajittelun koko" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "KOKOon voi liittää perään kertoimen: b on 512, k on 1k, m on 1 Mega.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Päivitä jokaisen TIEDoston käyttö- ja muutosajat nykyiseen aikaan.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Varoitus: valitsin -i poistetaan tulevassa julkaisussa; käytä valitsinta\n" #~ "-u sen sijaan" #~ msgid "symbolic links are not supported on this system" #~ msgstr "tämä järjestelmä ei tue symbolisia linkkejä" #~ msgid "strip failed" #~ msgstr "strip epäonnistui" #~ msgid "value %s is so large that it is not representable" #~ msgstr "arvo %s on liian suuri esitettäväksi" #~ msgid "fifo files not supported" #~ msgstr "fifo-tiedostot eivät ole tuettuja" #~ msgid "cannot remove `.' or `..'" #~ msgstr "hakemistoa â€.†tai â€..†ei voi poistaa" # Muita sanamahdollisuuksia kuin "kohde"? #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kohteen %s omistajaa ja/tai ryhmää ei voi muuttaa" #~ msgid "cannot chdir to directory %s" #~ msgstr "siirtyminen hakemistoon %s ei onnistu" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "numeerisen UID:n kirjautumisryhmää ei löydy" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (â€/â€) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (â€/â€)\n" #, fuzzy #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "varoitus: epäsiirrettävä säännöllinen lauseke: `%s': â€^â€-merkin käyttö \n" #~ "yksinkertaisen säännöllisen lausekkeen alussa ei ole siirrettävää;\n" #~ "se jätetään huomiotta" #~ msgid "unrecognized option `-%c'" #~ msgstr "tunnistamaton valitsin â€-%câ€" #~ msgid "cannot return to working directory" #~ msgstr "työhakemistoon palaaminen epäonnistui" #~ msgid "cannot return to current directory" #~ msgstr "työhakemistoon palaaminen ei onnistu" #~ msgid "create symbolic link %s to %s" #~ msgstr "luo symbolinen linkki %s kohteeseen %s" #~ msgid "create hard link %s to %s" #~ msgstr "luo symbolinen linkki %s kohteeseen %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "hakemiston %s oikeuksien asettaminen ei onnistu" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "fifon %s oikeuksien asettaminen ei onnistu" #~ msgid "cannot set permissions of %s" #~ msgstr "tiedoston %s oikeuksien asettaminen ei onnistu" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Tämä ohjelma on vapaaohjelmisto; voitte levittää edelleen ja/tai\n" #~ "muuttaa sitä Free Software Foundationin julkaiseman GNU General Public\n" #~ "License'in ehtojen mukaisesti; joko version 2, tai (valintanne mukaan)\n" #~ "minkä tahansa myöhemmän version.\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen,\n" #~ "mutta TAKUUTA EI OLE; ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA\n" #~ "tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN. Katsokaa lisätietoja GNU\n" #~ "General Public License'istä.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Olette saaneet kopion GNU General Public License'istä tämän\n" #~ "ohjelman mukana. Ellette saaneet, kirjoittakaa Free Software Foundation,\n" #~ "Inc.:ille osoitteeseen 51 Franklin Street, Fifth Floor,\n" #~ "Boston, MA 02110-1301, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "siirtyminen â€..â€-hakemistoon hakemistosta %s ei onnistu" #~ msgid "cannot lstat `.' in %s" #~ msgstr "hakemiston â€.†tilan lukeminen ei onnistu hakemistossa %s" #~ msgid "cannot lstat %s" #~ msgstr "tiedoston %s tilan lukeminen ei onnistu" #~ msgid "cannot chdir from %s to %s" #~ msgstr "siirtyminen hakemistosta %s hakemistoon %s ei onnistu" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Poista (irrota linkitys) TIEDOSTO(t).\n" #~ "\n" #~ " -d, --directory irrota TIEDOSTOn linkitys, vaikka se olisi ei-" #~ "tyhjä\n" #~ " hakemisto (vain pääkäyttäjä; toimii vain jos\n" #~ " järjestelmä tukee â€unlinkâ€-toimintoa\n" #~ " ei-tyhjille hakemistoille)\n" #~ " -f, --force älä huomioi puuttuvia tiedostoja, älä kysy " #~ "mitään\n" #~ " -i, --interactive kysy ennen jokaista poistoa\n" #, fuzzy #~ msgid "" #~ "WARNING: %<PRIuMAX> of %<PRIuMAX> computed checksum did NOT matchWARNING: " #~ "%<PRIuMAX> of %<PRIuMAX> computed checksums did NOT match" #~ msgstr "VAROITUS: %1$d %3$s %2$d tarkistetusta EI täsmännyt" # Tämä tulee varmasti vastaan monessa ohjelmassa, voisi sopia # jonkun tietyn suomennoksen sille, ja käyttää sitä sitten aina. #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Tämä on vapaa ohjelmisto; katsokaa kopiointiehdot lähdekoodista. Takuuta " #~ "EI OLE;\n" #~ "ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA TIETTYYN\n" #~ "TARKOITUKSEEN.\n" #~ msgid "too few arguments" #~ msgstr "liian vähän argumentteja" #~ msgid "closing standard output" #~ msgstr "suljetaan vakiotuloste" #~ msgid "cannot change to null group" #~ msgstr "ryhmän nimi ei voi olla tyhjä" #~ msgid "group number" #~ msgstr "ryhmänumero" #~ msgid "invalid group number %s" #~ msgstr "virheellinen ryhmänumero %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Kukin OIKEUDET-argumentti koostuu yhdestä tai useammasta kirjaimista " #~ "ugoa,\n" #~ "yhdestä symboleista +-= ja yhdestä tai useammasta kirjaimista rwxXstugo.\n" #~ msgid "invalid mode string: %s" #~ msgstr "virheellinen oikeusmerkkijono: %s" #~ msgid "cannot overwrite directory %s" #~ msgstr "hakemistoa %s ei voi korvata" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: annettu kohdehakemisto ei ole olemassa" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: annettu kohde ei ole hakemisto" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "kopioidaan useita tiedostoja, mutta viimeinen argumentti %s ei ole " #~ "hakemisto" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varoitus: --version-control (-V) on vanhentunut; sen tuki poistetaan\n" #~ "jossakin tulevassa julkaisussa. Käytä sen sijaan --backup=%s." #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F sama kuin %Y-%m-%d\n" #~ " %g kaksinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa\n" #~ " %G nelinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822-tyylinen numeerinen aikavyöhyke (-0500) (epästandardi " #~ "laajennos)\n" #~ " %Z aikavyöhyke (esim. EET), tai tyhjä, jos aikavyöhykettä ei voida " #~ "määrittää\n" #~ "\n" #~ "Oletuksena date täyttää numeeriset kentät etunollilla. GNU date " #~ "tunnistaa\n" #~ "seuraavat määreet \"%\"-merkin ja numeerisen ohjaimen välillä.\n" #~ "\n" #~ " \"-\" (yhdysviiva) älä täytä kenttää\n" #~ " \"_\" (alaviiva) täytä kenttä välilyönneillä\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "liikaa argumentteja, jotka eivät ole valitsimia: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "muotoilumerkkijonoa ei saa käyttää yhdessä valitsimen --rfc-822 (-R) " #~ "kanssa" #~ msgid "undefined" #~ msgstr "määrittelemätön" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s tietuetta sisään\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s tietuetta ulos\n" #~ msgid "truncated records" #~ msgstr "typistettyä tietuetta" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tvain yksi conv joukoista {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" #~ msgid "file offset out of range" #~ msgstr "tiedostosiirtymä on sallitun välin ulkopuolella" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolors:in tietokannan tulostavan valitsimen kanssa ei voi\n" #~ "käyttää TIEDOSTO-argumenttia" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Kaiuta MERKKIJONO(t) vakiotulosteeseen.\n" #~ "\n" #~ " -n älä lisää rivinvaihtoa loppuun\n" #~ " -e ota käyttöön alla lueteltujen kenoviivallisten\n" #~ " ohjausmerkkien tulkinta\n" #~ " -E poista käytöstä kyseisten merkkien tulkinta " #~ "MERKKIJONOista\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "valitsin \"-LIST\" on vanhentunut; käytä \"-t LIST\"" #~ msgid "`%s' is too large" #~ msgstr "\"%s\" on liian suuri" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" #~ " tai: %s VALITSIN\n" #~ "Poistutaan virheestä kertovalla tilakoodilla.\n" #~ "\n" #~ "Näitä valitsinten nimiä ei voi käyttää lyhennettyinä.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "valitsin \"%s\" on vanhentunut; käytä \"%s\"" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: tavumäärä on suuri" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "valitsin \"-%s\" on vanhentunut; käytä \"-%c %.*s%.*s%s\"" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "asennetaan useita tiedostoja, mutta viimeinen argumentti %s ei ole " #~ "hakemisto" #~ msgid "%s is a directory" #~ msgstr "%s on hakemisto" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "tiedoston %s aikaleimojen hakeminen ei onnistu" #~ msgid "too many non-option arguments" #~ msgstr "liikaa argumentteja, jotka eivät ole valitsimia" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "virheellinen sarakenumero tiedostolle 1: \"%s\"" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "virheellinen sarakenumero tiedostolle 2: \"%s\"" #~ msgid "too few non-option arguments" #~ msgstr "liian vähän argumentteja, jotka eivät ole valitsimia" #~ msgid "%s: File exists" #~ msgstr "%s: Tiedosto on olemassa" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... KOHDE [LINKIN_NIMI]\n" #~ " tai: %s [VALITSIN]... KOHDE... HAKEMISTO\n" #~ " tai: %s [VALITSIN]... --target-directory=HAKEMISTO KOHDE...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "useita linkkejä luotaessa viimeisen argumentin on oltava hakemisto" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary lue tiedostot binäärimuodossa (oletus DOSissa/" #~ "Windowsissa)\n" #~ " -c, --check vertaa %s-summia annettuun luetteloon\n" #~ " -t, --text lue tiedostot tekstimuodossa (oletus)\n" #~ msgid "files" #~ msgstr "tiedostoa" #~ msgid "checksum" #~ msgstr "tarkistussumma" #~ msgid "checksums" #~ msgstr "tarkistussummaa" #~ msgid "no files may be specified when using --string" #~ msgstr "tiedostoja ei voi antaa käytettäessä valitsinta --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "käytettäessä valitsinta --check voi antaa vain yhden argumentin" #~ msgid "wrong number of arguments" #~ msgstr "väärä määrä argumentteja" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "fifo-tiedostoille ei voi antaa major- ja minor-laitearvoja" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "viimeisen argumentin on oltava hakemisto siirrettäessä useita tiedostoja" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Aja KOMENTO säädetyllä vuorotusprioriteetilla.\n" #~ "Ilman KOMENTOa, näytä voimassaoleva prioriteetti. SÄÄTÖ on oletuksena " #~ "10.\n" #~ "Sen arvoalue on -20:stä (korkein prioriteetti) 19:ään (matalin).\n" #~ "\n" #~ " -n, --adjustment=SÄÄTÖ lisää prioriteettiin SÄÄTÖ\n" #~ msgid "invalid option `%s'" #~ msgstr "valitsin \"%s\" ei kelpaa" #~ msgid "invalid priority `%s'" #~ msgstr "prioriteetti \"%s\" ei kelpaa" #~ msgid "cannot get priority" #~ msgstr "prioriteetin haku ei onnistu" #~ msgid "cannot set priority" #~ msgstr "prioriteetin asetus ei onnistu" #~ msgid "old-style offset" #~ msgstr "vanhantyylinen siirtymä" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "virheellinen toinen operandi \"%s\" yhteensopivuustilassa" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "kahden viimeisen argumentin on yhteensopivuustilassa oltava siirtymiä" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Määritä siirrettäväksi kelpaamattomia rakenteita NIMESSÄ.\n" #~ "\n" #~ " -p, --portability tarkista muillekin POSIX-järjestelmille kuin vain " #~ "tälle\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "polku \"%s\" sisältää siirrettäväksi kelpaamattoman merkin \"%c\"" #~ msgid "`%s' is not a directory" #~ msgstr "\"%s\" ei ole hakemisto" #~ msgid "directory `%s' is not searchable" #~ msgstr "haku ei onnistu hakemistosta \"%s\"" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "nimen \"%s\" pituus %ld ylittää raja-arvon %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "polun \"%s\" pituus %lu ylittää raja-arvon %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "virheellinen sivunumeroväli valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "virheellinen aloitussivu valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "virheellinen lopetussivu valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "aloitussivun numero on suurempi kuin lopetussivun numero valitsimelle \"--" #~ "pages\"" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "virheellinen palstamäärä valitsimelle \"--columns=PALSTA\": \"%s\"" # tätä ei käytetä mihinkään, tyhmää #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e. %Bta %Y %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "aloitussivunumero on suurempi kuin sivujen kokonaismäärä: \"%d\"" #~ msgid "Page %d" #~ msgstr "Sivu %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Käyttö: %s muotoilu [argumentti...]\n" #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Näytä tiedoston tai tiedostojärjestelmän tila.\n" #~ "\n" #~ " -f, --filesystem näytä tiedostojärjestelmän tila tiedoston tilan " #~ "sijaan\n" #~ " -c --format=MUOTO käytä annettua MUOTOa oletusmuodon sijaan\n" #~ " -L, --dereference seuraa linkkejä\n" #~ " -t, --terse tulosta tiedot lyhyessä muodossa\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "" #~ "Varoitus: valitsin \"-l\" ei ole suositeltava; käytä valitsinta \"-L\" " #~ "sen sijaan" #~ msgid "stdin: read error" #~ msgstr "vakiosyöte: lukuvirhe" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: virheellinen jälkiliitemerkki käytöstä poistuvassa valitsimessa" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "liian monta argumenttia; Käytettäessä tail:in käytöstä poistuvaa\n" #~ "valitsinsyntaksia (%s), tiedostoargumentteja saa olla vain yksi. Käytä\n" #~ "vastaavaa valitsinta -n tai -c sen sijaan." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varoitus: ei ole siirrettävää käyttää kahta tai useampaa " #~ "tiedostoargumenttia\n" #~ "tail:in käytöstä poistuvan valitsinsyntaksin (%s) kanssa. Käytä " #~ "vastaavaa\n" #~ "valitsinta -n tai -c sen sijaan." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "valitsin \"%s\" on vanhentunut; käytä \"%s-%c %.*s\"" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: virheellinen maksimimäärä peräkkäisiä koonmuutoksia" #~ msgid "argument expected\n" #~ msgstr "odotettiin argumenttia\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: odotettiin kokonaislukulauseketta\n" #~ msgid "after -lt" #~ msgstr "operaattorin -lt jälkeen" #~ msgid "before -le" #~ msgstr "ennen operaattoria -le" #~ msgid "after -le" #~ msgstr "operaattorin -le jälkeen" #~ msgid "before -gt" #~ msgstr "ennen operaattoria -gt" #~ msgid "after -gt" #~ msgstr "operaattorin -gt jälkeen" #~ msgid "before -ge" #~ msgstr "ennen operaattoria -ge" #~ msgid "after -ge" #~ msgstr "operaattorin -ge jälkeen" #~ msgid "before -ne" #~ msgstr "ennen operaattoria -ne" #~ msgid "after -ne" #~ msgstr "operaattorin -ne jälkeen" #~ msgid "before -eq" #~ msgstr "ennen operaattoria -eq" #~ msgid "after -eq" #~ msgstr "operaattorin -eq jälkeen" #~ msgid "after -t" #~ msgstr "operaattorin -t jälkeen" #~ msgid "too many arguments\n" #~ msgstr "liian monta argumenttia\n" #~ msgid "file arguments missing" #~ msgstr "tiedostoargumentit puuttuvat" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "virheellinen kenoviivasuojaus \"\\%c\"" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "puristettaessa toistoja on annettava vähintään yksi merkkijono" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "virheellinen kirjainkoon muutos; vaihdettaessa jokaisella merkkijono1:n\n" #~ "[:lower:]- tai [:upper:]-rakenteella on oltava vastinrakenne\n" #~ "([:upper:]-rakenteen vastine [:lower:], tai päinvastoin) merkkijono2:ssa" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" #~ " tai: %s VALITSIN\n" #~ "Poistu onnistumisesta kertovalla tilakoodilla.\n" #~ "\n" #~ "Näitä valitsinnimiä ei voi käyttää lyhennettyinä.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "voidaan antaa vain yksi argumentti" #~ msgid "tab size contains an invalid character" #~ msgstr "sarkainkoko sisältää virheellisen merkin" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "valitsin \"-LIST\" on vanhentunut; käytä \"--first-only -t LIST\"" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "valitsin \"-%lu\" on vanhentunut; käytä \"-f %lu\"" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle näytä myös joutenoloaika muodossa TUNNIT:MINUUTIT, .\n" #~ " tai kauan (ei suositeltava, käytä valitsinta -u)\n" #~ " -l, --login näytä järjestelmän sisäänkirjausprosessit\n" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: UID:lle %u ei löydy käyttäjänimeä\n" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Käyttö: %s [VALITSIN]... VASEN_TIEDOSTO OIKEA_TIEDOSTO\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** virheellinen päiväys/aika ***" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjörn Granlund, David MacKenzie ja Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp ja David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: rajoittimen jälkeen odotetaan merkkiä \"+\" tai \"-\"" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie ja Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie ja Stuart Kemp" #~ msgid "Torbjorn Granlund, David MacKenzie, and Paul Eggert" #~ msgstr "Torbjörn Granlund, David MacKenzie ja Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie ja Jim Meyering" #~ msgid "Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering" #~ msgstr "Torbjörn Granlund, David MacKenzie, Paul Eggert ja Jim Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "hakemiston %s ylähakemistoon ei voi siirtyä" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins ja David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker ja David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie ja Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram ja David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat ja David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie ja Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie ja Richard Mlynarik" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman ja Jim Meyering" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau ja David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor ja Jim Meyering" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman ja David MacKenzie" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie ja Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie ja Michael Stone" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "kun alkuarvo loppuarvoa suurempi, täytyy lisäyksen olla\n" #~ "negatiivinen" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "kun alkuarvo loppuarvoa pienempi, täytyy lisäyksen olla\n" #~ "positiivinen" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Varoitus: valitsimen \"-l\" toiminta muuttuu tulevassa julkaisussa POSIX-" #~ "yhteensopivaksi" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Kirjain \"w\" voidaan jättää pois valitsimessa -wMÄÄRÄ.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=KOKO näytä ensimmäiset KOKO tavua\n" #~ " -n, --lines=MÄÄRÄ näytä ensimmäiset MÄÄRÄ riviä, oletuksen 10 " #~ "sijaan\n" #~ msgid "invalid number" #~ msgstr "virheellinen lukuarvo" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s on suurempi kuin tämän järjestelmän maksimitiedostokoko" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: ohjausmerkki ei kelpaa" #~ msgid "program error" #~ msgstr "ohjelmavirhe" #~ msgid "stack overflow" #~ msgstr "pinon ylivuoto" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sk.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000233226�12107204517�012114� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���ê��0���€��ñ��Ð.�����”>�����œ>��¨>������l?��~���m?�� ���ì?��¡���ú?��#��œ@��i���ÀA��J���*B��¸���uB��ˆ���.C��„���·C����<D����QE��7���eF��¼���F��v���ZG�� ���ÑG��,���ÝG����� H�����ŠH��i���I��v���…I��5���üI��B���2J��F���uJ��¿���¼J��Ý���|K��Ò���ZL��È���-M����öM��ò��� O����ÿO��þ���Q��Ó���R����×R��F���eT��$���¬T��$���ÑT��*���öT����!U��&���@V��9���gV��#���¡V��$���ÅV��!���êV��Ý��� W��,���êW��"���X�� ���:X��|��HX�����ÅY�����ÊY�����ÓY�����ÙY�� ���ìY�� ���öY�����Z�����Z�����*Z�� ���FZ�����gZ�����€Z��0���”Z��"���ÅZ�����èZ�� ���øZ��!���[��/���([�� ���X[�����y[�����‘[�����§[�����À[��>���Ý[��%���\��B���B\�����…\�����¤\�����¶\�����Æ\��,���ã\��$���]�����5]��/���U]�����…]��8���•]�����Î]�����ã]�����^�����^�����3^�����R^�����g^�����x^�����^�����¨^�����»^�����Í^�����à^�����ñ^��'���_�����*_��*���E_�����p_��$���Ž_�����³_�����Ã_�����Ù_�����ï_��;���`�����A`�����T`�����p`�����Œ`�����©`�����Ç`�����Û`��"���ò`�����a�����(a��)���Ba�����la�����‰a�����ša��"���¹a��1���Üa��'���b��(���6b�� ���_b�����€b�����“b�����¬b��"���Çb�����êb�����ùb����� c��"���'c�� ���Jc�� ���Vc�����cc�����uc�����†c��0���–c��.���Çc�����öc��"���d�����5d�����Ed�����ed�� ���gd�����td�����‹d�����d�� ���¥d��)���³d�����Ýd�����ïd�����e�����e�� ���4e�����?e�����De��)���Le�� ���ve�����‚e�����”e�����®e�����½e�� ���Ãe�����Íe�� ���äe�� ���îe�����úe�����f�����f��k���#f��h���f�����øf�� ���‰g�� ���”g�� ���¡g��3���­g�����ág�����ðg�� ����h�� ��� h�����h�����)h�����2h�� ���7h�����Ah�����Hh��1���Wh�����‰h�� ���¢h�����­h��?���Æh�����i�����i�� ���i�����)i�����.i�����4i�����:i�����@i�����Qi�����Vi�����ji�� ���yi�����„i�����˜i�� ���Ÿi�����©i�����Ái�����Øi�����õi�����j��$���)j�����Nj�����`j�����{j�� ���Šj�� ���–j�� ���¢j�����¯j�� ���Àj�����Ìj�����Þj�����ïj�����öj�����ûj�� ���k�� ���k�����k�����-k�����Gk�����Xk�� ���gk�� ���uk�� ���‚k�� ���Žk�����™k�����žk�����£k��#���½k�����ák�����êk��*��� l�����4l��E���7l��o���}l�����íl�����ñl�����m��&���m�� ���=m�� ���Im�� ���Tm�����am��#���hm��2���Œm��i��¿m��†���)o��T���°o�����p�����$p�� ���<p�� ���Fp�����Sp�� ���Xp�����dp�����p�����p�� ���¥p�����³p�����Çp�����Øp�����çp�� ���öp�� ���q�� ���q�� ��� q�����-q��&���@q��*���gq�����’q�����šq�����ªq��5���¯q�� ���åq�����ñq�����ùq����� r�����r�� ���3r�����?r�� ���Gr�����Tr��$���Yr�� ���~r��$���‰r�����®r�����Àr�����Ör��+���ér�����s�����s�� ���)s�����7s�����Is�����^s�����ps�����‚s�� ���”s�����¡s��,���¶s��&���ãs�� ��� t��'���+t��0���St�����„t��Y���£t��'���ýt��'���%u��(���Mu�����vu�����Šu��&���¦u��š���Íu�����hv�����v��#���w��&���Aw�����hw��"���‡w��T���ªw��g���ÿw��†���gx��.���îx�����y��"���<y��+���_y��Y���‹y��ä���åy��=���Êz�����{��^���&{�� ���…{��¢���¦{��F���I|��'���|��Z���¸|��`���}��!���t}�� ���–}��'���·}��<���ß}�����~�����!~�����&~�����;~��¹���Q~�� ��� ��������������� ��;���7��3���s��/���§��+���×��'���€��#���+€�����O€�����o€�����‹€��<���›€�����Ø€�����Þ€�����ä€��*���æ€����������)�����C�����`��2���w��1���ª�� ���Ü�����è��!���û�����‚��#���$‚��0���H‚�����y‚�����Š‚��*���›‚�����Æ‚��"���æ‚����� ƒ�����'ƒ�� ���Fƒ��,���gƒ�� ���”ƒ�����µƒ�����Õƒ��+���ôƒ��#��� „��#���D„��,���h„��0���•„��#���Æ„�����ê„�����…�����!…�����?…��'���U…�����}…�����—…�����­…�����½…�����Ú…�����î…�����†��(���†�����>†��2���W†�����І�����¥†�����À†��%���Ù†��0���ÿ†��3���0‡�����d‡��5���„‡�����º‡��*���Ó‡�����þ‡�����ˆ��%���*ˆ��!���Pˆ�����rˆ�����‚ˆ��8���ˆ�����Öˆ�����êˆ��&���‰��.���+‰��!���Z‰�����|‰��&���‹‰�����²‰�����‰��'���Ó‰��"���û‰��&���Š�����EŠ�����ZŠ�����sŠ�� ���ŽŠ�����¯Š�����ÈŠ�����ߊ��%���öŠ�����‹�� ���8‹�� ���E‹�����R‹�����e‹�����z‹�����‘‹��-���¨‹��!���Ö‹�����ø‹�����Œ�����+Œ�����BŒ�����YŒ�����nŒ�����„Œ�� ���–Œ����� Œ�� ���±Œ�����½Œ�� ���ÍŒ�����׌��#���êŒ��"��������1�����B�����S�����Y�����k��$���|��+���¡��#���Í��:���ñ��!���,Ž��/���NŽ��'���~Ž�����¦Ž��*���ÆŽ��%���ñŽ��%��������=�����\��(���z��$���£�����È�����á��$���ó��#�����%���<�����b�����‚�����–��3���´��-���è��1���‘�����H‘�����c‘�����}‘�����—‘��#���±‘��.���Õ‘�����’�����’�� ���.’�����<’�����Q’��.���V’��D���…’�����Ê’�����Þ’�����î’����� “�����'“�����D“�����^“�����b“�����y“��=���ˆ“��@���Æ“��:���”�����B”�����`”�����r”�����„”��;���›”�����×”�����í”�� ���•�����)•�����D•��*���X•��-���ƒ•�����±•�����Á•�����Ø•�����í•��#���–��"���(–�� ���K–�����Y–�����j–�����€–��"���’–�� ���µ–�����Ö�����Ú–�����í–����� —��#���—��!���C—��!���e—�����‡—�����ž—�����½—�� ���Ü—�����é—�����ú—����� ˜��!���*˜�����L˜��"���d˜�����‡˜�����§˜�� ���Ř�����æ˜�����þ˜��*���™�� ���>™�� ���K™�����l™�����™�����ž™�����¼™��R���Ó™��L���&š�� ���sš�����€š�����š�����¢š��,���¸š��9���åš�����›��0���%›��:���V›��'���‘›��8���¹›�����ò›�����œ�� ���œ��/���&œ��-���Vœ��&���„œ��)���«œ�����Õœ��$���êœ����������&�����@�����P��1���i��"���›�����¾��#���Ü������ž�����ž��!���>ž��%���`ž��7���†ž��=���¾ž�����üž�����Ÿ�����/Ÿ�����IŸ�� ���\Ÿ�����jŸ��-���‚Ÿ��C���°Ÿ��(���ôŸ�� ��� ��'���' �����O �����_ ��%���o �����• ��4���« �� ���à ��&���¡�� ���(¡�����4¡�����N¡�����n¡�����„¡�����¢¡��>���º¡�� ���ù¡�� ���¢�����¢�����%¢�����6¢�� ���I¢�� ���V¢�����b¢�����y¢�� ���¢�� ���š¢�����¤¢��)���¾¢�����è¢�����ý¢�����£�����,£��7���A£�����y£�����€£�����£�����ž£�����·£�� ���Ç£�����Ó£�����Ú£�����à£�����ç£�����¤�����¤��J���;¤�� ���†¤�� ���”¤�����¡¤�����¶¤�����Ò¤�����î¤����� ¥�� ���¥��H���¥��?���h¥��=���¨¥��>���æ¥��3���%¦��(���Y¦��>���‚¦�����Á¦�����á¦��/���ù¦�����)§�����D§�����\§�����o§�����u§�����‰§��*���©§��!���Ô§�����ö§��3���¨�����B¨�����Z¨��0���r¨�����£¨��H���·¨��2����©��8���3©��=���l©��@���ª©��#���ë©�����ª��4���*ª��.���_ª��,���Žª��<���»ª��0���øª��3���)«��7���]«��c���•«��t���ù«�� ���n¬��3���y¬��5���­¬��j���ã¬��0���N­��*���­��3���ª­�� ���Þ­�����ê­�� ���ý­�� ��� ®��7���®��µ��P®��˜���°�����Ÿ°��¬���·°��D��d±��|���©²��O���&³��Í���v³��‡���D´��†���Ì´��9��Sµ��$��¶��>���²·��×���ñ·��Œ���ɸ�� ���V¹��6���b¹��—���™¹��–���1º��t���Ⱥ��}���=»��:���»»��H���ö»��H���?¼��Ù���ˆ¼����b½��õ���r¾��Ô���h¿����=À����YÁ��T��mÂ��6��ÂÃ��Ò���ùÄ��r��ÌÅ��N���?Ç��,���ŽÇ��*���»Ç��4���æÇ��9��È��7���UÉ��9���É��-���ÇÉ��;���õÉ��'���1Ê��`��YÊ��*���ºË��,���åË�� ���Ì��ž�� Ì�����¿Í�� ���ÄÍ�����ÎÍ�����×Í�� ���éÍ�� ���óÍ��8���ÿÍ�����8Î��%���VÎ��"���|Î�����ŸÎ�����ºÎ��9���×Î��'���Ï�����9Ï�� ���NÏ��(���[Ï��<���„Ï��&���ÁÏ�����èÏ�����Ð��&���!Ð��$���HÐ��Q���mÐ��:���¿Ð��Q���úÐ��&���LÑ��5���sÑ�����©Ñ��/���ÇÑ��E���÷Ñ��/���=Ò�� ���mÒ��;���ŽÒ�����ÊÒ��2���ÝÒ�����Ó��!���*Ó��#���LÓ�����pÓ��$���ŒÓ�����±Ó�����ÏÓ�����áÓ�� ���÷Ó�����Ô�����7Ô�����TÔ�����nÔ�����Ô��-���Ô�����¾Ô��*���ÙÔ��,���Õ��.���1Õ�����`Õ�����pÕ�����‰Õ�����©Õ��`���ÃÕ�����$Ö�����8Ö�����RÖ�����mÖ�����ŒÖ�����©Ö�����ºÖ��!���ÓÖ�����õÖ����� ×��0���*×��!���[×�����}×�� ���Ž×�����¯×��F���Ï×��8���Ø��)���OØ��%���yØ�����ŸØ�����³Ø�����ÏØ��%���íØ�����Ù�����+Ù��#���?Ù��3���cÙ�� ���—Ù�� ���¤Ù�����±Ù�����ÈÙ�����ÜÙ��<���üÙ��:���9Ú��#���tÚ��$���˜Ú�����½Ú��%���ÓÚ�����ùÚ�����ûÚ��'���Û�����=Û�����@Û�� ���]Û��+���kÛ�����—Û�����ªÛ�����½Û�����ÐÛ�� ���ãÛ�����îÛ�� ���óÛ��/���ýÛ�����-Ü�����4Ü��&���RÜ�����yÜ�����ˆÜ�� ���Ü�����—Ü�� ���­Ü�����·Ü�� ���ÉÜ�����ÓÜ�����óÜ��~���üÜ��|���{Ý��˜���øÝ�� ���‘Þ�����œÞ�� ���­Þ��=���¹Þ�����÷Þ�����ß�� ���ß�� ���#ß�����.ß�����>ß�����Mß�� ���Tß�����^ß�����fß��6���vß��$���­ß�����Òß��&���åß��P��� à�����]à�����là�� ���uà�� ���à�����‹à�����‘à�����—à�����žà�����¯à�����¶à�� ���Ìà�� ���×à�����äà�����üà�� ���á�����á�����$á�����Bá�����`á�����~á��,���“á�����Àá�����Ýá�����ùá�� ���â�� ���â�� ��� â�����-â�� ���>â�����Jâ�����\â�����mâ�����uâ�����zâ�����€â�� ���•â�����£â�����´â�����Ìâ�����åâ�� ���ôâ�� ���ã�� ���ã�� ���ã�����)ã�����0ã��"���6ã��2���Yã�� ���Œã��$���–ã��,���»ã�� ���èã��\���óã��ƒ���Pä�����Ôä�����Øä�����ìä��/���å�� ���5å�� ���Aå�� ���Lå�����Yå��'���aå��E���‰å��˜��Ïå��”���hç��i���ýç�� ���gè�����ˆè�� ���¨è�� ���²è�� ���¿è�� ���Éè��%���Õè�����ûè�����é�����.é�����>é�����Ré�����cé�����ré�� ���é�� ���é�� ���é�� ���«é�����¸é��!���Ëé��/���íé�����ê�����%ê�����5ê��m���;ê�����©ê�� ���»ê�����Æê�����Ûê�����òê�� ��� ë�� ���ë�����"ë�����4ë��%���9ë�� ���_ë��$���jë�����ë�� ���¡ë�����Âë��,���Ñë�����þë�����ì�����ì����� ì�����4ì�����Oì�����jì�����…ì����� ì�����³ì��3���Çì��,���ûì��)���(í��2���Rí��:���…í��&���Àí��g���çí��0���Oî��/���€î��0���°î�����áî��!���ùî��*���ï��¹���Fï������ð��­���ð��%���Éð��/���ïð��&���ñ��.���Fñ��d���uñ��{���Úñ��™���Vò��;���ðò��$���,ó��4���Qó��5���†ó��a���¼ó��÷���ô��E���õ��*���\õ��j���‡õ��*���òõ��´���ö��L���Òö��0���÷��d���P÷��l���µ÷��)���"ø��*���Lø��0���wø��R���¨ø�����ûø������ù�����ù�����ù��Í���;ù�� ��� ú�����ú�����ú�����"ú��8���5ú��.���nú��*���ú��&���Èú��"���ïú�����û�����1û�����Lû�� ���cû��@���qû�����²û�� ���¸û�����Äû��%���Æû�����ìû����� ü��"���*ü�����Mü��I���fü��F���°ü�� ���÷ü�����ý��1���ý�����Qý��2���Wý��H���Šý�� ���Óý�����ôý��C���þ�� ���Vþ��0���wþ��%���¨þ��/���Îþ��)���þþ��4���(ÿ��,���]ÿ��*���Šÿ��)���µÿ��7���ßÿ��8�����0���P��=�����A���¿��;����$���=�)���b�-���Œ�!���º�0���Ü�&��� �#���4� ���X�)���y����£�)���¿� ���é�=��� �$���H�K���m�(���¹�'���â�#��� �;���.�G���j�J���²�-���ý�J���+�%���v�4���œ�1���Ñ�����9���!�$���[����€�*��� �>���Ë���� �1���(�1���Z�8���Œ�.���Å����ô�-��� � ���;�#���\�+���€����¬�!���Ì����î���� ���� �#���, ����P ����g ����| �1���˜ ����Ê � ���ä ����ð ���� ����" ����: ����Y �0���x �)���© �)���Ó ����ý ���� �.���6 ����e ����€ ����˜ ����¯ � ���¸ � ���Æ ����Ó ����ë ����þ �5��� �5���R ����ˆ ����Ÿ ����´ ����¼ ����Ò �5���ê �,��� ����M �5���m � ���£ �1���Ä �&���ö �(����?���F�<���†�3���Ã�"���÷�'����?���B�0���‚�"���³����Ö�$���ð�'����"���=�!���`����‚�%���Ÿ�L���Å�1����B���D�'���‡�%���¯�$���Õ�1���ú�)���,�8���V��������¡����¹����È����á�9���æ�Y��� ����z����Ž����Ÿ����¼����Û�"���ú��������!����@�J���R�D����<���â�/�������O����k�!���|�P���ž����ï�����&���$����K����c�8���z�;���³����ï������������9�9���U�+�������»����Í����â����þ�+�������@����P����k�$���†����«�*���Ç�/���ò�*���"����M�'���j�+���’����¾����Ï����ä�%���ù�'�������G�#���]�%�������§�$���Å����ê�����7�������P�*���a�#���Œ����°����Ì����ë�m����P���t����Å����Ý����ø�#����,���2�;���_� ���›�=���¦�E���ä�2���*�F���]����¤����¿� ���Ó�<���à�@����6���^�(���•����¾�)���Õ����ÿ���� ����/ ����> �8���S �%���Œ ����² �)���Ï � ���ù �(���!�'���C!�*���k!�<���–!�H���Ó!�#���"����@"�.���V"�!���…"����§"����Â"�-���Û"�e��� #�'���o#����—#�@���¨#� ���é#����÷#�-���$����4$�D���N$�(���“$�)���¼$����æ$����ø$����%�"���0%����S%����n%�O���ƒ%����Ó%����ç%����ù%����&����)&����D&����V&����g&����‚&� ���ž&����¬&�"���´&�.���×&����'����'����6'����J'�C���h'����¬'����³'����Æ'����Ù'����ù'� ���(����(� ���0(� ���;(�-���H(����v(�%���“(�a���¹(����)����-)�%���@)�3���f)�'���š)����Â)����Ý)����ã)�T���ò)�H���G*�F���*�7���×*�>���+�#���N+�F���r+�!���¹+����Û+�9���ó+� ���-,�$���N,����s,����‹,����’,�)���­,�7���×,�2���-����B-�9���^-����˜-����¬-�D���Â-����.�S���.�<���n.�G���«.�O���ó.�W���C/�-���›/�+���É/�F���õ/�>���<0�=���{0�O���¹0�=��� 1�:���G1�7���‚1�s���º1�{���.2����ª2�J���¹2�H���3�t���M3�P���Â3�:���4�:���N4����‰4����›4����³4� ���Å4�3���Ò4����m����B��ö��¡���Å������Í��µ����������@��Œ��Ý�������s����������÷����£��G����r���Æ��$�������#��„��=��Ú���ù��ï��Ê��«������ä��ä��<���ê������������Ä��+��ˆ���Ž�����Œ���¬���Ä�������o��¹���R���æ��Ã���������š��E������������;��4�����������@��'��m�������������}������·��ò���”�������è�����������¢��x����o��[���Ÿ���†��&��Ð�� ��ž��M��z��Õ�������*������,������¦��¶���“��¨���E���T��‘������Ë��.��ü������¼����������5���ë���Ø���Ÿ��.��C��›��Ö��j��”��{��á�������™��È����������ô���Ù����‰��…��²���;�����w��(��U��t��*���«����������ä���H�����V�����¡��Ö��Ì������������†�������3��Ç��§��!������¤���{�����������k���Ô������L��=���—��p��÷���f�����������Â���‹���d��¾������x��’��[��‰���s���0����������b��4��‰��š�����������������\��4������¶������¶��°��������������¾��ˆ��J��:���Ã����x���Ž���D���´�����������j���•����������n��Q��~������»����������A��×��¾���ý���®��¿��¼��§���c���A���â��Ø����������K��Ñ���M���Ñ��}���g������������������ß��?����}������£���µ��� ��#���“��Ú��k������·��j������ž���±��D��º���������� ��C��…�����������g�� ������©��í��I����������W��-����L�����7��‚��€���%��K����������Ý��'�����������Ê������¯������S��Û��/��É����������ô��������������Ê���Ÿ��ø������������������¢�������������������˜�����!��+������‡���ƒ����å�������é���������������â��f��•������O���>���t��U��È�������(���ã��½��û��c��7���ÿ�����À���ª��������������Ò��)���é��~��8������©�����������=������³����Ë���¯�������þ���>�� ��b���Û�� ��²��ª��!��J��F�����@�������U���������]��a��������O������„����������½������³���ñ���Y�������Ä��á����Ë��Ù�������V��a�������8�������•���^��ë�� ����������ã���_������%���������|��ƒ���w���Õ��×�������S���h�����������œ��������©��Î��)������õ�������q��¸������3������£��…���q�������‚���¦��±��Ð���Q���������������Þ�������[��^��´��¹��|��Û���“�����������l��7��]������6��C�����������(��¤��–��<��®���������k��v���������+�������Â��L��'��ó���P��›��Ï��–�������û������™��Í���—�������É���¥���ç��Ì�������:������ ���N���?�������ì������p��:����‡������†��›���È��ÿ���ð��Z��ž��P�������-��u��D��€�� ����O��0���V���Š��M��J���������������1������e��z��’������*������2��w��\�������Î��9������–������œ������œ��� ���—��é������ç����������­���Ó������„����������<����������­����������n������������¬������8��«���^�������‘�������$��ú��P��Ò��� ���¿����Î�������W����������ø������2�������ï�����������¥��_��¸��ó��¨��������º������à��5��”��´��î���Å�������€��p���������������3�������y���ì���š����N��`��ˆ�����¼���ê��­��.�����î����-���X���ç���������������Y��É��v���g���å��í�����������B������¨������ ���W��{��n���R������‹��Ù������c��v��Ò������¬��N��è��Ó�����������������������ê���‹��%��� ��/���I��Ð����������F���Š���ò��&��A������¦���Þ��¹��Ï���Ü���²��H�� ���X��������¯��‚��Ö����������,������������G�� ���������������������Å��™��������6���þ��º���~���ƒ�� ��‡������è����¸���°������ý��Ì���������������å������Ï��½�������"��à��d���ã��Ô��˜��s�������Þ��t���������T������K�� ���Ž��G���)��i��á��Ã��a��"��e�������������|�����i�������h���������������µ��Z����Ç���������m��b��z���³��X��I��×�� ��\������¤��·���y�� ����‘��À��?�����������������������Ó�����Š������������â���������»���¢��æ�����Ç�������e������/������°�������ß����l��R��B��q������E������Ñ��ñ��`��>��u��&���ö�������������������ß���Ô�������h��;���S�� ��������Á���ü���1���õ������d��#��,��� ��2��ù���¥��T���9��ð�������’�����Q����6����������¿���Ü������Ú����f��Œ��r������Â��Ü��r��Á��5��l���_���®���������"���9�������������Æ������À��F������Ø������æ���������`���ú�������»��$��i��H������Í���������Y��±����������§��Á����Ý��o�����1��ª���¡��Æ�������u���]���Õ������Z�����������y��˜��à�����������0�����5�´>��à>��ô>��?��4?��X?��5��������������� �����������������ÿÿÿÿ.5��������/���ÿÿÿÿ^5�7����������ÿÿÿÿ¨5��������������������������������ÿÿÿÿá5�������������������������ÿÿÿÿ-6�P����������ÿÿÿÿ� b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � (useful only on systems that can change the ownership of a symlink) � ???� --help display this help and exit � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --version output version information and exit � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -v, --verbose output a diagnostic for every file processed � binary use binary I/O for data � direct use direct I/O for data � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � (backup: %s)� * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � TTY� groups=� old � on repetition %s �%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s subprocess�%s subprocess got fatal signal %d�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid directive�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: value not completely converted�%s: write error�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�, load average: %.2f�, %g s, %s/s �-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �Aborted�Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad value for ai_flags�Brian Fox�Broken pipe�COMMENT�CPU time limit exceeded�Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �David M. Ihnat�David MacKenzie�David Madore�Directory: �Dmitry V. Levin�EMT trap�EXIT�F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Filesystem�Floating point exception�General help using GNU software: <http://www.gnu.org/gethelp/> �H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�Illegal instruction�In real life: �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Premature end of regular expression�Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the user name associated with the current effective user ID. Same as id -un. �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Regular expression too big�Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Use%�Used�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�can't apply partial context to unlabeled file %s�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create link %s to %s�cannot create regular file %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file system information for %s�cannot read realtime clock�cannot remove %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set niceness�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot unlink %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing output file %s�closing standard input�conflicting security context specifiers given�couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't get boot time�created directory %s�creating directory %s�creating file %s �directory�division by zero�dup2 failed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to remove %s�failed to remove directory %s�failed to restore the default file creation context�failed to return to initial working directory�failed to set %s security context component to %s�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the security context of %s to %s�failed to stat %s�fdatasync failed for %s�fflush failed�field number is zero�fifo�file system type %s both selected and excluded�format string may not be specified when printing equal width strings�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid context: %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid device %s %s�invalid device type %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid minor device number %s�invalid mode�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid tab size: %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �multiple -i options specified�multiple -l or -t options specified�multiple delimiters specified�multiple output files specified�multiple random sources specified�multiple target directories specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab sizes must be ascending�tab stop value is too large�target %s is not a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options to print and set the time may not be used together�the untransformed string was %s�time %s is out of range�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unknown binary operator�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�waiting for %s [-d]�warning: %s: character(s) following character constant have been ignored�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 8.18-pre1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2012-07-03 01:06+0100 Last-Translator: Ivan Masár <helix84@centrum.sk> Language-Team: Slovak <sk-i18n@lists.linux.sk> Language: sk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2); � b vytvoriÅ¥ blokový Å¡peciálny súbor (s buferom) c, u vytvoriÅ¥ znakový Å¡peciálny súbor (bez bufera) p vytvoriÅ¥ rúru (FIFO) � # používateľov=%lu � Ako Å¡peciálny prípad, cp tvorí záložné kópie ZDROJa, pokiaľ sú zadané voľby force a backup a ZDROJ a CIEĽ sú rovnakým menom pre existujúci bežný súbor. � Pozor na to, že veľa operátorov musí byÅ¥ v shelli citovaných. Porovnania sú aritmetické, pokiaľ sú oba argumenty Äíselné, inak sú lexikografické. Hľadanievzoru vracia vyhovujúci reÅ¥azec medzi \( a \) alebo prázdny reÅ¥azec; pokiaľ \( a \) nie sú použité, vracia poÄet vyhovujúcich znakov alebo 0. � Každý symbol PRÃZN môže byÅ¥: append režim pridávania (zmysluplné iba pre výstup; navrhuje sa conv=notrunc) � každý REŽIM je v tvare „[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+“. � Príklady: %s /usr/bin/sort -> „sort†%s include/stdio.h .h -> „stdio†%s -s .h include/stdio.h -> „stdio†%s -a any/str1 any/str2 -> „str1†a následne „str2†� Príklady: %s f - g Výstup obsah f, potom Å¡tand. vstup, potom obsah g. %s KopírovaÅ¥ Å¡tand. vstup na Å¡tand. výstup. � Príklady: %s staff /u ZmeniÅ¥ skupinu /u na „staff“. %s -hR staff /u ZmeniÅ¥ skupinu /u a podsúborov na „staff“. � Ovládanie terminálu pripojeného na Å¡tandardný vstup. Bez argumentov vypíše baudovú rýchlosÅ¥, linkovú disciplínu a odchylky od stty sane. V nastaveniach sa ZNAK Å¡pecifikuje tak ako je, alebo kódovaný spôsobom ^c, 0x37, 0177 alebo 127; pre zákaz Å¡peciálneho znaku treba použiÅ¥ ^- alebo undef. � Dáta sú zakódované podľa popisu base64 abecedy v RFC 3548. Pri dekódovaní môže vstup okrem bajtov formálnej base64 abecedy obsahovaÅ¥ znaky nového riadka. Použitím --ignore-garbage zapnete pokus o zotavenie v prípade výskytu iných nealfabetických znakov v kódovanom toku. � Bez SÚBORu alebo keÄ SÚBOR je - Äíta zo Å¡tand. vstupu. � Bez volieb vypíše trojstĺpcový výstup. Prvý stĺpec obsahuje riadky jedineÄné pre SÚBOR1, druhý stĺpec obsahuje riadky jedineÄné pre SÚBOR2, a tretí stĺpec obsahuje riadky spoloÄné obom súborom. � (užitoÄné iba na systémoch, ktoré môžu zmeniÅ¥ vlastníctvo symbolického odkazu) � ???� --help zobrazí tohto pomocníka a skonÄí � --no-preserve-root nezaobchádzaÅ¥ „/“ Å¡peciálne (predvolené) --preserve-root zabrániÅ¥ rekurzívnemu prechádzaniu od „/“ � --no-preserve=ATTR_LIST nezachovávaÅ¥ uvedené atribúty --parents použiÅ¥ v ADRESÃRI plný názov zdrojového súboru � --reference=RFILE použiÅ¥ skupinu súboru RSÚBOR namiesto zadania hodnoty SKUPINA � --reference=RSÚBOR použije bezpeÄnostný kontext RSÚBORU namiesto zadania hodnoty KONTEXT � --version vypíše informácie o verzii a skonÄí � -R, --recursive rekurzívne prechádzaÅ¥ adresármi a súbormi � -R, --recursive rekurzívne prechádzaÅ¥ adresármi a súbormi � -a, --multiple zapne podporu viacerých argumentov a považuje každý za NÃZOV -s, --suffix=PRÃPONA odstráni PRÃPONU na konci -z, --zero oddeľuje výstup znakom NUL namiesto nového riadka � -b, --before pripojí oddeľovaÄ riadkov pred riadky namiesto za ne -r, --regex interpretuje oddeľovaÄ ako regulárny výraz -s, --separator=REŤAZEC použije REŤAZEC ako oddeľovaÄ namiesto nového riadku � -b, --body-numbering=Å TÃL použiÅ¥ Å TÃL na Äíslovanie riadkov tela -d, --section-delimiter=CC použiÅ¥ CC na oddelenie logických stránok -f, --footer-numbering=Å TÃL použiÅ¥ Å TÃL na Äíslovanie riadkov pätiÄky � -c, --changes ako verbose, ale hlási iba v prípade zmien -f, --silent, --quiet potlaÄí väÄÅ¡inu chybových správ -v, --verbose vypíše diagnostiku pri každom spracovanom súbore � -c, --crown-margin zachová odsadenie prvých dvoch riadkov -p, --prefix=REŤAZEC pracuje iba s riadkami zaÄínajúcimi REŤAZCOM, ktorý pripojí pred riadky so zmeneným formátom -s, --split-only iba rozdelí dlhé riadky � -d, --decode dekódovaÅ¥ dáta -i, --ignore-garbage poÄas dekódovania ignorovaÅ¥ neabecedné znaky -w, --wrap=STĹP zalomiÅ¥ nekódované riadky po STĹP znakoch (predvolene 76). Použite 0 na zamedzenie zalamovania riadkov � -h, --no-dereference má vplyv na každý symbolický odkaz, nie len na súbory, na ktoré sa odkazuje (to je užitoÄné iba na systémoch, ktoré môžu zmeniÅ¥ Äasovú známku symbolického odkazu) -m zmeniÅ¥ len Äas poslendnej zmeny � -i, --inodes vypísaÅ¥ informácue o inode-och namiesto využitia blokov -k ekvivalent --block-size=1K -l, --local obmedziÅ¥ výpis iba na lokálne súborové systémy --no-sync nevyvolávaÅ¥ sync pred získaním informácií o využití (Å¡tandardne) � -t rovnaké ako -vT -T, --show-tabs vypisuje znak TAB ako ^I -u (ignorované) -v, --show-nonprinting použije zápis ^ a M-, okrem znakov LF a TAB � -t, --target-directory=ADR presunúť vÅ¡etky ZDROJe do ADResára -T, --no-target-directory považovaÅ¥ CIEĽ za bežný súbor -u, --update premiestniÅ¥ iba ak je ZDROJový súbor novší ako cieľový súbor alebo keÄ cieľový súbor chýba -v, --verbose vypisovaÅ¥ informácie o priebehu � -v, --verbose vypíše diagnostiku pri každom spracovanom súbore � binary použiÅ¥ pre dáta binárny V/V � direct použiÅ¥ pre dáta priamy V/V � dsync použiÅ¥ pre dáta synchronizovaný V/V � excl skonÄiÅ¥ neúspeÅ¡ne, ak výstupný súbor už existuje nocreat nevytváraÅ¥ výstupný súbor notrunc neskracovaÅ¥ výstupný súbor noerror pokraÄovaÅ¥ aj pri chybách pri Äítaní fdatasync pred ukonÄením fyzicky zapísaÅ¥ údaje fsync podobne, ale zapísaÅ¥ aj metadáta � noatime neaktualizovaÅ¥ Äas posledného prístupu � noctty nepriraÄovaÅ¥ zo súboru riadiaci terminál � nofollow nenasledovaÅ¥ symbolické odkazy � nolinks skonÄiÅ¥ neúspeÅ¡ne pri viacnásobnom odkaze � nonblock použiÅ¥ neblokoujúci V/V � none, off nikdy nevytváraÅ¥ záložné kópie (ani ak bolo zadané --backup) numbered, t tvoriÅ¥ Äíslované záložné kópie existing, nil tvoriÅ¥ Äíslované, pokiaľ už Äíslované záložné kópie existujú, inak tvoriÅ¥ jednoduché simple, never vždy tvoriÅ¥ jednoduché záložné kópie súborov � sync podobne, ale aj pre metadáta � text použiÅ¥ pre dáta textový V/V �(záloha: %s)�* [-]ocrnl prekladaÅ¥ znaky návratu na zaÄiatok riadka na nové riadky * [-]ofdel pre vyplnenie použiÅ¥ znaky vymazania namiesto nulových znakov * [-]ofill použiÅ¥ výplňové znaky namiesto oneskorení * [-]olcuc prekladaÅ¥ malé znaky na veľké * [-]onlcr prekladaÅ¥ nové riadky na znaky návratu na zaÄiatok riadka * [-]onlret znak nového riadku prejde na zaÄiatok riadka � TTY� skupiny=� dávno � v opakovaní %s �%b %e %Y�%b %e %H:%M�%lu používateľ�%lu používatelia�%lu používateľov�%s -> %s (obnovenie zálohy) �%s a %s predstavujú ten istý súbor�%s existuje, ale nie je adresárom�%s je neznámy typ souboru�Domovská stránka %s: <%s> �Domovská stránka %s: <http://www.gnu.org/software/%s/> �%s nie je platné kladné celé Äíslo�%s je príliÅ¡ veľa�podproces %s�podproces %s dostal kritický signál %d�%s: %s je príliÅ¡ veľký, preto nie je reprezentovateľný�%s: %s: Äíslo riadka je mimo rozsahu�%s: %s: zhoda nenájdená�%s: %s:%s: nezotriediteľné: �%s: ZLYHALO otvorenie alebo Äítanie �%s: oÄakával sa binárny operátor�%s: relatívne symbolické odkazy je možné vytvoriÅ¥ iba v aktuálnom adresári�%s: nie je možné zistiÅ¥ meno pre ID používateľa %lu �%s: nie je možné sledovaÅ¥ koniec tohoto typu súboru; zanechávam tento názov�%s: nie je možné prepísaÅ¥ adresár�%s: nie je možné presunúť sa na zaÄiatok súboru�%s: nie je možné vyhľadaÅ¥�%s: nie je možné presunúť sa na pozíciu %s�%s: nie je možné skartovaÅ¥ deskriptor urÄený iba pre pridávanie�%s: nie je možné opustiÅ¥ neblokovací režim�%s: zostúpiÅ¥ do adresára %s? �%s: zostúpiÅ¥ do adresára chráneného voÄi zápisu %s? �%s: koniec súboru�%s: operand v triede [=c=] musí byÅ¥ jediný znak�%s: chyba pri skracovaní�%s: chyba pri zápise na ofset %s�%s: oÄakávaná numerická hodnota�%s: nepodarilo sa zatvoriÅ¥�%s: nepodarilo sa otvoriÅ¥ na zápis�%s: nepodarilo sa odstrániÅ¥�%s: fcntl zlyhalo�%s: fdatasync zlyhalo�%s: súbor má zápornú dĺžku�%s: súbor je príliÅ¡ veľký�%s: súbor je príliÅ¡ dlhý�%s: súbor bol skrátený�%s: fstat zlyhal�%s: fsync zlyhal�%s: na adresár nie je povolený pevný odkaz�%s: vstup obsahuje cyklus:�%s: vstup obsahuje nepárny poÄet tokenov�%s: vstupný súbor je zároveň výstupným�%s: po oddeľovaÄi sa oÄakáva celé Äíslo�%s: chybné PID�%s: neplatná direktíva�%s: neplatná veľkosÅ¥ súboru�%s: neplatný typ súboru�%s: neplatné Äíslo maximálneho poÄtu nezmenených výsledkov funkcie stat medzi otvoreniami�%s: chybné Äíslo�%s: chybný poÄet bajtov�%s: chybný poÄet riadkov�%s: neplatný poÄet prechodov�%s: neplatný poÄet sekúnd�%s: chybný vzor�%s: neplatný id procesu�%s: chybný regulárny výraz: %s�%s: neplatný signál�%s: neplatná dĺžka prípony�%s: Äíslo riadku musí byÅ¥ väÄÅ¡ie ako nula�%s: Äíslo riadku je mimo rozsah�%s: lseek zlyhal�%s: uvedených viacero signálov�%s: nové práva sú %s, nie %s�%s: nenájdené správne sformátované riadky %s kontrolného súÄtu�%s: neexistuje informácia o veľkosti tohoto zariadenia�%s: nevypisuje sa už vypísaný adresár�%s: poÄet bajtov je príliÅ¡ veľký�%s: prepísaÅ¥ %s? �%s: prechod %lu/%lu (%s)...�%s: prechod %lu/%lu (%s)...%s�%s: prechod %lu/%lu (%s)...%s/%s %d%%�%s: chyba pri Äítaní�%s: zmazaÅ¥ %s %s? �%s: odstrániÅ¥ vÅ¡etky argumenty? �%s: zmazaÅ¥ súbor chránený proti zápisu %s %s? �%s: zmazaný�%s: maže sa�%s: premenovaný na %s�%s: prepísaÅ¥ %s? �%s: zlyhalo posunutie v súbore�%s: nebolo možné urÄiÅ¥ maximálnu dĺžku názvu súboru�%s: nie je možné vykonaÅ¥ vÅ¡etky požadované operácie�%s: oÄakával sa unárny operátor�%s: hodnota nebola úplne prevedená�%s: chyba pri zápise�%s:%lu: neznáme kľúÄové slovo %s�'�oÄakávaný znak „)â€�oÄakávaný znak „)â€, nájdený %s�©�, priemerná záťaž: %.2f�, %g s, %s/s �-R --dereference vyžaduje buÄ -H alebo -L�-R -h vyžaduje -P�-ef neakceptuje -l�-nt neakceptuje -l�-ot neakceptuje -l�<interné>�??? �ZruÅ¡ený�Rodina adries názvu stroja nie je podporovaná�Budík�VÅ¡etky požiadavky vykonané�Buffer pre argumenty je príliÅ¡ malý�Arnold Robbins�Dost�Dostupné�Zlá hodnota ai_flags�Brian Fox�PreruÅ¡ená rúra�KOMENTÃR�PrekroÄený Äasový limit CPU�Kapacita�ZmaniÅ¥ skupinu každého SÚBORU na SKUPINU. S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu. �ZmeniÅ¥ režim každého SÚBORU na REŽIM. S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu. �ZmeniÅ¥ skupinu alebo vlastníka každého SÚBORu na SKUP alebo VLAST. S parametrom --reference zmení skupinu každého súboru na skupinu RSÚBORu. �Chet Ramey�Potomok skonÄil�Colin Plumb�PorovnaÅ¥ po riadkoch zotriedené súbory SÚBOR1 a SÚBOR2. �David M. Ihnat�David MacKenzie�David Madore�Adresár: �Dmitry V. Levin�Zastavenie EMT�UKONÄŒ�F. Pinard�CHYBNÃ�FIXME: neznámy�FIFO nemajú hlavné a vedľajÅ¡ie Äísla zariadenia.�PrekroÄený limit veľkosti súboru�Súborový systém�Výnimka pohyblivej desatinnej Äiarky�VÅ¡eobecná pomoc pri používaní softvéru GNU: <http://www.gnu.org/gethelp/> �H. Peter Anvin�ZavesiÅ¥�V/V možný�NEÄŒINNÃ�IVoľ�IPou%�IPouž�Ian Lance Taylor�NeÄin�Neplatná inÅ¡trukcia�V reáli: �nekoneÄno B�ŽiadosÅ¥ o informácie�I-uzly�PreruÅ¡iÅ¥�PreruÅ¡ené signálom�Neplatná spätná referencia�Neplatný názov triedy znaku�Neplatný znak kolacionovania�Neplatný obsah \{\}�Neplatný predchádzajúci regulárny výraz�Neplatné ukonÄenie rozsahu�Neplatný regulárny výraz�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Zabitý�TERM�Login�Prihlasovacie meno: �Mark Kettenis�Matthew Bradburn�Chyba alokácie pamäte�Pamäť bola vyÄerpaná�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Pripojený na�NÃZOV� Meno�Názov alebo služba nie je známa�S názvom stroja nie je asociovaná žiadna adresa�Bez zhody�Žiaden predoÅ¡lý regulárny výraz�Nenapraviteľná chyba v rozlíšení názvu�V PORIADKU�Iba jeden reÅ¥azec môže byÅ¥ zadaný pri mazaní bez komprimovania opakujúcich sa znakov.�VypísaÅ¥, kto je momentálne prihlásený podľa SÚBORU. Pokiaľ nie je zadaný SÚBOR, použiÅ¥ %s. %s ako SÚBOR je obvyklý. �PID�Balík vytvoril %s �Balík vytvoril %s (%s) �ReÅ¥azec parametrov nebol korektne zakódovaný�Paul Eggert�Paul Rubin�Pete TerMaat�Plán: �PredÄasný koniec regulárneho výrazu�VypísaÅ¥ kontrolný súÄet CRC a poÄet bajtov každého SÚBORu. �VypísaÅ¥ niektoré systémové informácie. Žiadna VOĽBA zodpovedá -s. -a, --all vypísaÅ¥ vÅ¡etky informácie v nasledovnom poradí, iba vynechaÅ¥ -p a -i ak sú neznáme: -s, --kernel-name vypísaÅ¥ názov jadra operaÄného systému -n, --nodename vypísaÅ¥ názov poÄítaÄa v sieti -r, --release vypísaÅ¥ verziu jadra operaÄného systému �VypísaÅ¥ názov súboru terminálu spojeného so Å¡tandardným vstupom. -s, --silent, --quiet nevypisovaÅ¥ niÄ, iba vrátiÅ¥ výstupný stav �VypísaÅ¥ meno používateľa spojené s aktuálnym efektívnym id používateľa. Rovnaké ako id -un. �Prebieha spracovanie požiadavky�VyprÅ¡al profilovací ÄasovaÄ�Projekt: �Q. Frank Xia�UkonÄiÅ¥�Randy Smith�Tegulárny výraz je príliÅ¡ veľký�Požiadavka zruÅ¡ená�Požiadavka nebola zruÅ¡ená�Zdroj stratený�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Russell Coker�Scott Bartram�Scott Miller�Chyba segmentácie�ai_socktype nepodporuje servname �Nastavením LC_ALL='C' obídete tento problém.�Shell: �Simon Josefsson�Veľk�Pri vytváraní Å¡peciálneho blokového súboru musí byÅ¥ zadané hlavné a vedľajÅ¡ie Äíslo zariadenia.�Chyba zásobnáka�Zastavený�Zastavený (signál)�Zastavený (vstup tty)�Zastavený (výstup tty)�Stuart Kemp�ÚspeÅ¡né�Systémová chyba�ÄŒAS�DoÄasná chyba v rozlíšení názvu�UkonÄený�Porovnávané reÅ¥azce boli %s a %s.�Torbjorn Granlund�Zastavenie trasovania/breakpoint�Lomka na konci�Pri preklade musia byÅ¥ zadané dva reÅ¥azce�Typ�Ulrich Drepper�Neznáma chyba�Neznámy signál %d�Neznáma systémová chyba�( alebo \( bez náprotivku�) alebo \) bez náprotivku�[ alebo [^ bez náprotivku�\{ bez náprotivku�Naliehavý stav V/V�Použitie: %s PRÃKAZ [ARG]... alebo: %s VOĽBA �Použitie: %s VÃRAZ... alebo: %s VOĽBA �Použitie: %s SÚBOR alebo: %s VOĽBA �Použitie: %s SÚBOR1 SÚBOR2 alebo: %s VOĽBA �Použitie: %s FORMÃT [ARGUMENT]... alebo: %s [VOĽBA] �Použitie: %s [VOĽBA]... [SÚBOR]... �Použitie: %s [-s SIGNÃL | -SIGNÃL] PID... alebo: %s -l [SIGNÃL]... alebo: %s -t [SIGNÃL]... �Použitie: %s [SÚBOR]... alebo: %s [VOĽBA] �Použitie: %s [ÄŒÃSLO]... alebo: %s VOĽBA �Použitie: %s [SÚBOR]... alebo: %s [VOĽBA] �Použitie: %s [VOĽBA] �Použitie: %s [VOĽBA] NÃZOV... �Použitie: %s [VOĹBA] [PRÃKAZ [ARG]...] �Použitie: %s [VOĽBA] [SÚBOR] Výstupom je úplne zotriedený zoznam v súlade s ÄiastoÄným zotriedením SÚBORU. Pokiaľ nie je SÚBOR zadaný, naÄíta sa Å¡tandardný vstup. �Použitie: %s [VOĽBA]... �Použitie: %s [VOĽBA]... KONTEXT SÚBOR alebo: %s [VOĽBA]... [-u POUŽ] [-r ROLA] [-l ROZSAH] [-t TYP] SÚBOR... alebo: %s [VOĽBA]... --reference=RSÚBOR SÚBOR... �Použitie: %s [VOĽBA... ADRESÃR... �Použitie: %s [PREPÃNAÄŒ]... SÚBOR VZOROV... �Použitie: %s [VOĽBA]... [SÚBOR]... �Použitie: %s [PREPÃNAÄŒ]... SÚBOR1 SÚBOR2 �Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]... alebo: %s [PREPÃNAÄŒ]... --reference=RSÚBOR SÚBOR... �Použitie: %s [VOĽBA]... POSLEDNà alebo: %s [VOĽBA]... PRVà POSLEDNà alebo: %s [VOĽBA]... PRVà KROK POSLEDNà �Použitie: %s [VOĽBA]... REŽIM[,REŽIM]... SÚBOR... or: %s [VOĽBA]... OSMIÄŒ-REŽIM SÚBOR... or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR... �Použitie: %s [VOĽBA]... NÃZOV TYP [HLAVNÉ VEDĽAJÅ IE] �Použitie: %s [VOĽBA]... NÃZOV... �Použitie: %s [PREPÃNAÄŒ]... MNOŽINA1 [MNOŽINA2] �Použitie: %s [PREPÃNAÄŒ]... [ SÚBOR | ARG1 ARG2 ] �Použitie: %s [VOĽBA]... [+FORMÃT] alebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Použitie: %s [VOĽBA]... [-T] CIEĽ NÃZOV_ODKAZU (1. tvar) alebo: %s [VOĽBA]... CIEĽ (2. tvar) alebo: %s [VOĽBA]... ZDROJ... ADRESÃR (3. tvar) alebo: %s [VOĽBA]... -t ADRESÃR CIEĽ... (4. tvar) �Použitie: %s [VOĽBA]... [-] [NÃZOV=HODNOTA]... [PRÃKAZ [ARG]...] �Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]... �Použitie: %s [VOĽBA]... [SÚBOR] alebo: %s -e [VOĽBA]... [ARG]... alebo: %s -i LO-HI [VOĽBA]... �Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]... �Použitie: %s [VOĽBA]... [SÚBOR]... alebo: %s [-abcdfilosx]... [SÚBOR] [[+]POSUN[.][b]] alebo: %s --traditional [VOĽBA]... [SÚBOR] [[+]POSUN[.][b] [+][NÃVESTIE][.][b]] �Použitie: %s [VOĽBA]... [SÚBOR]... or: %s [VOĽBA]... --files0-from=F �Použitie: %s [PREPÃNAÄŒ]... [VSTUP [VÃSTUP]] �Použitie: %s [PREPÃNAÄŒ]... [VSTUP]... (bez -G) alebo: %s -G [PREPÃNAÄŒ]... [VSTUP [VÃSTUP]] �Usage: %s [VOĽBA]... [VLASTNÃK][:[SKUPINA]] SÚBOR... or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR... �Použitie: %s [VOĽBA]... [Å ABLÓNA]... �Použitie: %s [PREPÃNAÄŒ]... [SÚBOR]... �Použitie: %s [SÚBOR]... alebo: %s [VOĽBA] �Použitie: %s [ignorované parametre príkazového riadka]... alebo: %s VOĽBA �Pou%�Použ�Platné argumenty sú:�VyprÅ¡al virtuálny ÄasovaÄ�UPOZORNENIE: Zacyklená Å¡truktúra adresárov. To skoro urÄite znamená, že máte poÅ¡kodený súborový systém. INFORMUJTE SVOJHO SPRÃVCU SYSTÉMU. Nasledujúce adresáre sú súÄasÅ¥ou cyklu: %s �Upozornenie: �Kedy�Kde �Napísal %s a %s. �Napísal %s, %s, %s, %s, %s, %s, %s, %s, %s a Äalší. �Napísal %s, %s, %s, %s, %s, %s, %s, %s a %s. �Napísal %s, %s, %s, %s, %s, %s, %s a %s. �Napísal %s, %s, %s, %s, %s, %s a %s. �Napísal %s, %s, %s, %s, %s a %s. �Napísal %s, %s, %s, %s a %s. �Napísal %s, %s, %s a %s. �Napísal %s, %s a %s. �Napísal %s. �výraz [=c=] sa nemôže vyskytovaÅ¥ v string1 pri nahradzovaní�^[nN]�^[yYaAáÃ]�`�s úpravou musí byÅ¥ zadaný príkaz�ai_family nie je podporovaná�ai_socktype nie je podporovaný�nejednoznaÄný argument %s pre %s�pridáva sa výstup k %s�vytvorenie záložnej kópie %s by zniÄilo zdroj; %s nebol skopírovaný�vytvorenie záložnej kópie %s by zniÄilo zdroj; %s nebol presunutý�typ zálohy�blokový Å¡peciálny súbor�Å¡peciálne blokové súbory nie sú podporované�bloky�obidva súbory nemôžu byÅ¥ Å¡tandardným vstupom�nie je možné použiÅ¥ ÄiastoÄný kontext na súbor bez oznaÄenia %s�nie je možné pristupovaÅ¥ k %s�nie je možné zálohovaÅ¥ %s�nie je možné súÄasne sumarizovaÅ¥ a vypisovaÅ¥ vÅ¡etky položky�nie je možné zmeniÅ¥ práva %s�nie je možné zmeniÅ¥ koreňový adresár na %s�nie je možné vojsÅ¥ do adresára %s�nie je možné vojsÅ¥ do koreňového adresára�nie je možné kombinovaÅ¥ voľby -e a -i�nie je možné skombinovaÅ¥ dve z {ascii,ebcdic,ibm}�nie je možné skombinovaÅ¥ block a unblock�nie je možné skombinovaÅ¥ excl a nocreat�nie je možné skombinovaÅ¥ lcase a ucase�nie je možné kombinovaÅ¥ voľby režimu a --reference�nie je možné kombinovaÅ¥ signál s voľbou -l alebo -t�nie je možné porovnaÅ¥ názvy súborov %s a %s�nie je možné konvertovaÅ¥ U+%04X do lokálnej znakovej sady�nie je možné konvertovaÅ¥ U+%04X do lokálnej znakovej sady: %s�nie je možné skopírovaÅ¥ zacyklený symbolický odkaz %s�nie je možné vytvoriÅ¥ adresár %s�nie je možné vytvoriÅ¥ odkaz z %s na %s�nie je možné vytvoriÅ¥ obyÄajný súbor %s�nie je možné dereferencovaÅ¥ %s�nie je možné urÄiÅ¥ zariadenie a inode pre %s�nie je možné zistiÅ¥ názov systému�nie je možné vykonaÅ¥ ioctl na %s�nie je možné vykonaÅ¥ fstat %s�nie je možné zmeniÅ¥ aktuálny adresár�nie je možné zistiÅ¥ nice�nie je možné zistiÅ¥ systémový názov�nie je možné vykonaÅ¥ lseek %s�nie je možné zároveň vytvoriÅ¥ pevný a symbolický odkaz�nie je možné vytvoriÅ¥ adresár %s�nie je možné presunúť adresár %s na súbor %s (ktorý nie je adresár)�nie je možné otvoriÅ¥ %s pre Äítanie�nie je možné otvoriÅ¥ %s na Äítanie�nie je možné otvoriÅ¥ adresár %s�nie je možné pracovaÅ¥ s visiacim symbolickým odkazom %s�nie je možné prepísaÅ¥ adresár %s súborom (ktorý nie je adresár)�nie je možné prepísaÅ¥ súbor %s (ktorý nie je adresár) adresárom %s�nie je možné vykonaÅ¥ formátovaný výstup�v implicitnom formáte nie je možné vypísaÅ¥ iba mená alebo reálne ID�nie je možné naÄítaÅ¥ adresár %s�nie je možné naÄítaÅ¥ systémové informácie %s�nie je možné preÄítaÅ¥ hodiny reálneho Äasu�nie je možné odstrániÅ¥ %s�nie je možné zmeniÅ¥ pozíciu ukazovateľa v súbore %s�nemožno obnoviÅ¥ fd %d: dup2 zlyhal�nie je možné nastaviÅ¥ dátum�nie je možné nastaviÅ¥ ID-skupiny na %lu�nie je možné nastaviÅ¥ názov; tento systém to neumožňuje�nie je možné nastaviÅ¥ nice�nie je možné nastaviÅ¥ ID-používateľa na %lu�nemožno preskoÄiÅ¥ koniec kombinovaného vstupu�nie je možné uviesÅ¥ poÄet z viac ako jedného zdroja�súbor sa nedá rozdeliÅ¥ viacerými spôsobmi�nie je možné stat() %s�nie je možné stat() aktuálny adresár (%s)�nie je možné vykonaÅ¥ touch %s�nie je možné odpojiÅ¥ (unlink) %s�nakoniec nie je možné obísÅ¥ chybu jadra�skupina %s zmenená z %s na %s �vlastník %s zmenený z %s na %s �mení sa skupina %s�mením vlastníctvo %s�menia sa práva %s�zmena bezpeÄnostného kontextu %s �pozícia znaku je nula�znak je mimo rozsahu�znakový Å¡peciálny súbor�Å¡peciálne znakové súbory nie sú podporované�Äistia sa oprávnenia %s�zmena Äasu�zlyhalo zatvorenie súboru�zatvára sa %s (fd=%d)�zatvíra sa adresár %s�zatváram výstupný súbor %s�zatvára sa Å¡tandardný vstup�boli zadané konflitné Å¡pecifikátory kontextu�nie je možné vytvoriÅ¥ proces pre %s -d�nebolo možné vytvoriÅ¥ doÄasný súbor�nebolo možné spustiÅ¥ %s�nebolo možné vykonaÅ¥ %s -d�nie je možné zistiÅ¥ Äas zavedenia systému�bol vytvorený adresár %s�vytvára sa adresár %s�vytvára sa súbor %s �adresár�delenie nulou�dup2 zlyhalo�prázdny názov súboru�prázdna záložka�chyba pri zatváraní súboru�chyba pri vyhľadávaní pomocou regulárneho výrazu�chyba pri vyhľadávaní pomocou regulárneho výrazu�chyba pri Äítaní %s�chyba pri zápise %s�ukonÄ=�argument %s je naviac�nadbytoÄný operand %s�nepodarilo sa zmeniÅ¥ bezpeÄnostný kontext %s na %s�nepodarilo sa zmeniÅ¥ skupinu %s z %s na %s �zmena skupiny %s na %s zlyhala �zmena režimu súboru %s z %04lo (%s) na %04lo (%s) �nepodarilo sa zmeniÅ¥ práva %s �nepodarilo sa zmeniÅ¥ vlastníctvo %s z %s na %s �nepodarilo sa zmeniÅ¥ práva %s na %s �nepodarilo sa vypoÄítaÅ¥ nový kontext�nie je možné vytvoriÅ¥ adresár prostredníctvom Å¡ablóny %s�nepodarilo sa vytvoriÅ¥ súbor prostredníctvom Å¡ablóny %s�nie je možné vytvoriÅ¥ bezpeÄnostný kontext: %s�nepodarilo sa zistiÅ¥ atribúty %s�nepodarilo sa zistiÅ¥ aktuálny kontext�nepodarilo sa získaÅ¥ kontext vytvorenia súborového systému�nepodarilo sa získaÅ¥ bezpeÄnostný kontext %s�nepodarilo sa vyhľadaÅ¥ súbor %s�nepodarilo sa otvoriÅ¥ %s�nepodarilo sa zachovaÅ¥ autorstvo %s�nepodarilo sa zachovaÅ¥ vlastníctvo %s�nie je možné zachovaÅ¥ práva %s�nie je možné zachovaÅ¥ Äasy %s�nepodarilo sa odstrániÅ¥ %s�nepodarilo sa odstrániÅ¥ adresár %s�nepodarilo sa obnoviÅ¥ Å¡tandardný kontext vytvorenia súborového systému�nepodarilo sa vrátiÅ¥ prvotný pracovný adreár�nepodarilo sa nastaviÅ¥ %s zložku bezpeÄnostného kontextu na %s�nepodarilo sa nastaviÅ¥ nový rozsah %s�nepodarilo sa nastaviÅ¥ novú rolu %s�nepodarilo sa nastaviÅ¥ nový typ %s�nepodarilo sa nastaviÅ¥ nového používateľa %s�nie je možné nastaviÅ¥ ÄalÅ¡ie skupiny�nie je možné nastaviÅ¥ bezpeÄnostný kontext %s na %s�zlyhalo stat() %s�fdatasync zlyhalo na %s�fflush zlyhalo�Äíslo položky je nula�fifo�súborový systém %s je zároveň vybratý a vylúÄený�keÄ sa tlaÄia reÅ¥azce s rovnakou šírkou, formátovací reÅ¥azec nemusí byÅ¥ zadaný�fsync zlyhalo na %s�fts_read zlyhalo�zisÅ¥ujem nové atribúty %s�skupina súboru %s zostala %s �funkcia iconv nie je dostupná�funkcia iconv nie je použiteľná�id=�ignorujú sa vÅ¡etky argumenty�ignoruje sa vstup�ignorujem chybný rozostup tabulátorov v premennej prostredia TABSIZE: %s�ignoruje sa neplatná hodnota premennej prostredia QUOTING_STYLE: %s�ignorujem chybnú šírku v premennej prostredia COLUMNS: %s�ignurujú sa argumenty, ktoré nie sú voľbami�nekompatibilné tabulátory�vstup sa stratil�vstupný riadok je príliÅ¡ dlhý�presunutie medzi zariadeniami zlyhalo: %s na %s; nepodarilo sa odstrániÅ¥ cieľ�neplatné nastavenie %s�neplatný argument %s pre %s�neplatný Å¡týl Äíslovania tela: %s�chybná trieda znaku %s�neplatný kontexxt: %s�chybne zadaný typ konverzie v parametri prepínaÄa: %c�chybne zadaný typ konverzie v parametri prepínaÄa: \%.3o�neplatný dátum %s�chybný formát dátumu %s�neplatné zariadenie %s %s�neplatný typ zariadenia %s�neplatný argument s plávajúcou desatinnou Äiarkou: %s�neplatný Å¡týl Äíslovania pätiÄky: %s�neplatná skupina�neplatná skupina %s�neplatný zoznam skupín %s�neplatná skupina: %s�neplatný Å¡týl Äíslovania hlaviÄky: %s�neplatný vstup�neplatný rozash vstupu %s�neplatné celé Äíslo %s�neplatný celoÄíselný argument %s�naplatný poÄet riadkov %s�neplatná šírka poľa Äísla riadku: %s�neplatná hodnota prírastku Äísla riadka: %s�neplatný formát Äíslovania riadkov: %s�neplatná šírka riadka: %s�neplatné hlavné Äíslo zariadenia %s�neplatné vedľajÅ¡ie Äíslo zariadenia %s�neplatný režim�neplatný režim: %s�neplatné Äíslo %s�chybné Äíslo na zaÄiatku položky�neplatný poÄet prázdnych riadkov: %s�chybný poÄet bajtov�chybný poÄet znakov na porovnanie�chybný poÄet znakov na preskoÄenie�neplatný poÄet stĺpcov: %s�chybný poÄet polí na preskoÄenie�chybný poÄet riadkov�neplatná voľba -- %c�chybný poÄet opakovaní „%s†v konÅ¡trukcii [c*n]�neplatná Å¡pec.�neplatné poÄiatoÄné Äíslo riadka: %s�neplatná veľkosÅ¥ tabulátora: %s�neplatný formát Äasu: %s�chybná posledná voľba -- %c�neplatný reÅ¥azec typu %s�neplatný reÅ¥azec typu %s; tento systém neposkytuje %lu-bajtové Äísla s plávajúcou desatinnou Äiarkou�neplatný reÅ¥azec typu %s; tento systém neposkytuje %lu-bajtové celé Äísla�neplatný používateľ�neplatný používateľ %s�neplatná šírka: %s�neplatná veľkosÅ¥ zalamovania: %s�je nebezpeÄné rekurzívne operovaÅ¥ nad %s�je nebezpeÄné rekurzívne operovaÅ¥ nad %s (zhodné s %s)�posledný=�obmedzenie dĺžky %lu prekroÄené o %lu v názve súboru %s�obmedzenie dĺžky %lu prekroÄené o %lu v zložke názvu súboru %s�voľba poÄtu riadkov -%s%c... je príliÅ¡ veľká�Äíslo riadka %s je menÅ¡ie ako Äíslo predchádzajúceho riadka, %s�preteÄenie poÄtu riadkov�vyÄerpaná pamäť�front správ�nezarovnané(á) konÅ¡trukcie(a) [:upper:] a/alebo [:lower:]�v parametri prepínaÄa chýba zadanie typu konverzie pomocou %%�v parametri prepínaÄa chýba urÄenie typu konverzie�chýba operand cieľového súboru po %s�chýba operand súboru�v sekvencii chýba hexadecimálne Äíslo�chýba zoznam položiek�chýba zoznam pozícií�chýba operand�chýba operand po %s�režim súboru %s sa zmenil z %04lo (%s) na %04lo (%s) �práva súboru %s zostali %04lo (%s) �uvedených viacero volieb -i�bolo zadaných viacero volieb -l alebo -t�uvedených viacero oddeľovaÄov�uvedených viacero výstupných súborov�boli uvedené viaceré náhodné zdroje�boli uvedené viaceré cieľové adresáre�symbolický odkaz %s ani odkazovaný súbor neboli zmenené �nie je nastavená premenná prostredia SHELL a typ shellu nie je zadaný�vlastníctvo %s zostalo nezmenené �nebol zadaný príkaz�neboli spracované žiadne súborové systémy�už nezostávajú žiadne súbory�žiadne prihlasovacie meno�nebol zadaný ID procesu�pri vypisovaní reÅ¥azcov nemožno zadaÅ¥ typ�neboli zadané používateľské mená; pri použití prepínaÄa -l je potrebné zadaÅ¥ aspoň jedno�neprenosný znak %s v názve súboru %s�nie je terminál�nezapisuje sa prostredníctvom visiaceho symbolického odkazu %s�poÄet bajtov�poÄet riadkov�preteÄenie pozície pri Äítaní súboru %s�vynecháva sa adresár %s�konÅ¡trukcia opakovania [c*] sa môže vyskytovaÅ¥ v string1 iba raz�môže byÅ¥ zadané iba jedno zariadenie�môže byÅ¥ zadaný iba jeden typ zoznamu�zlyhalo otvorenie�vlastník %s zostal zachovaný �vlastník %s zostal %s �šírka stránky je príliÅ¡ malá�zachovávajú sa práva %s�zachovávam Äasy %s�výpis vÅ¡etkých opakujúcich sa riadkov a poÄítadla opakovania nemá zmysel�chyba pri Äítaní�zlyhalo Äítanie�Äíta sa adresár %s�záznam je príliÅ¡ dlhý�obyÄajný prázdny súbor�obyÄajný súbor�odstránené %s �odstránený adresár: %s �odstraňuje sa adresár, %s�úroveň-behu�semafor�oddeľovaÄ nemôže byÅ¥ prázdny�nastavením LC_ALL='C' obídete tento problém�nastavujem príznaky %s�nastavujú sa práva %s�nastavujem Äasy %s�zdieľaný pamäťový objekt�preskakuje sa súbor %s, keÄže bol nahradený poÄas kopírovania�socket�Å¡tandardná chyba�Å¡tandardný vstup�Å¡tandardný vstup je uzavrený�Å¡tandardný výstup�zlyhal stat�Å¡t. chybový výstup�Å¡t. vstup�Å¡t. výstup�neoÄakávaný znak v Å¡pecifikácii položky�porovnanie reÅ¥azcov zlyhalo�transformácia reÅ¥azca sa nepodarila�potlaÄenie riadkov neobsahujúcich oddeľovaÄ, má význam iba pri použití pracuje s poľami�symbolický odkaz�syntaktická chyba�veľkosÅ¥ tabulátoru nemôže byÅ¥ 0�postupnosÅ¥ pozíc tabulátorov musí byÅ¥ rastúca�hodnota tabulátora je príliÅ¡ veľká�cieľ %s nie je adresárom�term=�test a/alebo [�prepínaÄe --binary a --text sú bezvýznamné pri overovaní kontrolných súÄtov�prepínaÄ --status má význam iba pri overovaní kontrolných súÄtov�prepínaÄ --warn má význam iba pri overovaní kontrolných súÄtov�výraz [c*] môže byÅ¥ v string2 iba pri nahradzovaní�konÅ¡trukcia opakovania [c*] sa nemôže vyskytovaÅ¥ v string1�oddeľovaÄ musí byÅ¥ jediný znak�voľby pre výpis a nastavenie Äasu nemôžu byÅ¥ použité spoloÄne�netransformovaný reÅ¥azec bol %s�Äas %s je mino rozsahu�príliÅ¡ mnoho typov konverzie %% v parametri prepínaÄa�príliÅ¡ veľa znakov v množine�príliÅ¡ veľa zopakovaných riadkov�príliÅ¡ veľa Å¡ablón�celkom�typový pamäťový objekt�nie je možné zobraziÅ¥ chybovú správu�nie je možné zaznamenaÅ¥ aktuálny pracovný adresár�nie je možné nastaviÅ¥ bezpeÄnostný kontext %s�neznámy binárny operátor�nezrozumiteľná hodnota v premennej prostredia LS_COLORS�neznámy operand %s�neznáma predpona: %s�použite --no-preserve-root na vypnutie tejto bezpeÄnostnej poistky�4ak8 sa na %s [-d]�upozornenie: %s: znak (znaky) nasledujúce za znakovou konÅ¡tantou boli ignorované�upozornenie: --pid=PID nie je na tomto systéme podporované�upozornenie: --retry je užitoÄné najmä pri sledovaní podľa názvu�upozornenie: PID bol ignorovaný; --pid=PID je užitoÄné iba pri nasledovaní�upozornenie: spätná lomka na konci reÅ¥azca bez únikovej klauzuly nie je portabilná�upozornenie: spätná lomka na konci reÅ¥azca�upozornenie: nie je možné odstrániÅ¥: %s�upozornenie: nadbytoÄné argumenty boli ignorované, zaÄína sa s %s�upozornenie: chybný ofset v súbore po neúspeÅ¡nom Äítaní�upozornenie: chybná šírka %lu; namiesto nej sa použije %d�upozornenie: Äíslo riadka %s je rovnaké ako Äíslo predcházajúceho riadka�upozornenie: zdrojový súbor %s uvedený viac ako jedenkrát�upozornenie: sumarizácia je v konflikte s --max-depth=%lu�upozornenie: sumarizácia je to isté ako --max-depth=0�upozornenie: nejednoznaÄný osmiÄkový zápis \%c%c%c bude interpretovaný ako 2-bajtová postupnosÅ¥ \0%c%c, %c�upozornenie: obchádza sa chyba jadra vo funkcii lseek v súbore (%s) mt_type=0x%0lx -- pozri zoznam typov v <sys/mtio.h>�Äudný súbor�pokiaľ MNOŽINA1 nie je skracovaná, potom MNOŽINA2 nesmie byÅ¥ prázdna�úri Å¡pecifikácii výstupného Å¡týlu nemusia byÅ¥ režimy nastavené�pri nahradzovaní s triedou doplnku množiny znakov string2 musí mapovaÅ¥ vÅ¡etky znaky z tejto oblasti do jedného�nie je možné skopírovaÅ¥ súbor %s práve vytvoreným symbolickým odkazom %s�nie je možné prepísaÅ¥ práve vytvorený %s súborom %s�pri použití voľby --parents cieľ musí byÅ¥ adresárom�chyba pri zápise�chyba pri zápise do %s�chyba pri zápise�zápis do %s�musíte zadat zoznam bajtov, znakov alebo položiek�PRIuMAX�%+% records in %+% records out �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�%+% záznamov preÄítaných %+% záznamov zapísaných �% byte (%s) copied�% skopírované bajty (%s)�% skopírovaných bajtov (%s)�hodnota pozície je príliÅ¡ veľká: nie je možné skrátiÅ¥ na dĺžku seek=% (%lu-bajtových) blokov���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/en@quot.header��������������������������������������������������������������������0000664�0000000�0000000�00000002263�11624730202�013551� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ms.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001126446�12107204512�011753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Terjemahan coreutils untuk Bahasa Melayu. # Copyright (C) 2001 Free Software Foundation, Inc. # Hasbullah Bin Pit <sebol@ikhlas.com>, 2003. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.0.90\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2003-08-10 16:00+0800\n" "Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n" "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "hujah tidak sah %s bagi %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "hujah ambiguous %s bagi %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Hujah sah adalah:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "menutup fail input %s" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "ralat menulis" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "menetapkan keizinan pada %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ralat sistem yang tidak diketahui" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fail kosong biasa" #: lib/file-type.c:38 msgid "regular file" msgstr "fail biasa" #: lib/file-type.c:41 msgid "directory" msgstr "direktori" #: lib/file-type.c:44 msgid "block special file" msgstr "fail istimewa blok" #: lib/file-type.c:47 msgid "character special file" msgstr "fail istimewa aksara" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "pautan simbolik" #: lib/file-type.c:56 msgid "socket" msgstr "soket" #: lib/file-type.c:59 msgid "message queue" msgstr "giliran mesej" #: lib/file-type.c:62 msgid "semaphore" msgstr "" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objek memori terkongsi" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "objek memori terkongsi" #: lib/file-type.c:70 msgid "weird file" msgstr "fail pelik" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fail fifo tidak disokong" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "fail fifo tidak disokong" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "fail fifo tidak disokong" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "ralat menulis" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "Ralat sistem yang tidak diketahui" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opsyen `%s' adalah ambiguous\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opsyen `%c%s' tidak mengizinkan hujah\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: opensyen tidak dikenali `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: opensyen tidak dikenali `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opsyen tidak sah -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opsyen memerlukan hujah -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opsyen `-W %s' adalah ambiguous\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opsyen `-W %s' tidak mengizinkan hujan\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opsyen `%s' memerlukan hujah\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "tak dapat menukar keizinan %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "tak dapat mencipta direktori %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memori keletihan" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "gagal untuk kembali ke direktori kerja pemulaan" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "gagal untuk kembali ke direktori kerja pemulaan" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "`" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "fail istimewa blok" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "memori keletihan" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "ralat pada carian ungkapan biasa (regexp)" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "ralat pada carian ungkapan biasa (regexp)" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "ralat pada carian ungkapan biasa (regexp)" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[tT]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "menetapkan keizinan pada %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Ralat sintaks" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: isyarat tidak sah" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: isyarat tidak sah" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "panggilan sistem fork() gagal" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "pembukaan gagal" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "tak boleh mencipta fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "fail istimewa blok" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "fungsi iconv tak boleh digunakan" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "fungsi iconv tidak ada" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "aksara di luar julat" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "tak dapat menukar U+%04X ke set aksara lokal" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "tak dapat menukar U+%04X ke set aksara lokal: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "pengguna tidak sah" #: lib/userspec.c:107 msgid "invalid group" msgstr "kumpulan tidak sah" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "pengguna tidak sah" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, fuzzy, c-format msgid "Written by %s and %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, fuzzy, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, fuzzy, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Lapor pepijat ke <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Lapor pepijat ke <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "pembukaan gagal" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Ralat sistem yang tidak diketahui" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "gagal mengekalkan masa bagi %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "perbandingan rentetan gagal" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Tetapkan LC_ALL='C' untuk mengatasi masalah." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Rentetan dibandingkan adalah %s dan %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "hujah tidak sah %s bagi %s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "hujah tidak sah %s bagi %s" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s adalah terlalu besar" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "ralat membaca" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "pengguna tidak sah" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "saiz tab tidak sah: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "gagal mengekalkan masa bagi %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "menutup input piawai" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Mike Parker and David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Pengunaan: %s NAMA [SUFFIKS]\n" " atau: %s OPSYEN\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Cetak NAMA dengan komponen direktori awalan telah dibuang.\n" "Jika dinyatakan, juga akan membuang DUFFIKS ekoran.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "kehilangan hujah fail" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund and Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t setara dengan -vT\n" " -T, --show-tabs papar aksara TAB sebagai ^I\n" " -u (diabaikan)\n" " -v, --show-nonprinting guna notasi ^ and M- , kecuali bagi LFD dan TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "tak dapat ioctl pada `%s'" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "output standard" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: fail input adalah fail output" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "gagal mendapatkan atribut bagi %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "gagal mendapatkan atribut bagi %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "gagal menukar hakmilik %s ke %s\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "Tak dapat mengakses %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "tak dapat membaca direktori %s" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "menukar keizinan %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, fuzzy, c-format msgid "fts_read failed" msgstr "fail biasa" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "fail istimewa blok" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [OPSYEN]... PEMILIK[:[KUMPULAN]] FAIL...\n" " atau: %s [OPSYEN]... :KUMPULAN FAIL...\n" " atau: %s [OPSYEN]... --reference=RFAIL FAIL...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet sorok mesej ralat\n" " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" " nilai yg dinyatakan PEMILIK:KUMPULAN\n" " -R, --recursive beroperasi pada fail dan direktori secara rekursif\n" " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "kehilangan hujah fail" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "penukaran tidak sah: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "gagal mendapatkan atribut bagi %s" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "kumpulan tidak sah %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [OPTION]... GROUP FILE...\n" " atau: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference meliputi pautan simbolik selain drpd sebarang fail " "dirujuk\n" " (hanya boleh pada sistem yang boleh menukar\n" " pemilikan bagi pautan simbolik)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "mendapatkan atribut baru untuk %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "kedua-duanya pautan simbolik %s dan rujukan telah berubah\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "mod %s berubah kepada %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "gagal menukar mod %s kepada %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "mod %s kekal sebagai %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "tak dapat mencipta pautan simbolik %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "menukar keizinan %s" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "menetapkan keizinan pada %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [OPTION]... MODE[,MODE]... FILE...\n" " atau: %s [OPTION]... OCTAL-MODE FILE...\n" " atau: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet sorok mesej ralat\n" " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" " nilai yg dinyatakan PEMILIK:KUMPULAN\n" " -R, --recursive beroperasi pada fail dan direktori secara rekursif\n" " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "mod tak sah %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "hakmilik %s telah bertukar ke %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "kumpulan %s telah bertukar ke %s\n" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "tak dapat menukar keizinan %s" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "gagal menukar hakmilik %s ke %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "gagal menukar kumpulan %s ke %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "gagal menukar hakmilik %s ke %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "gagal menukar hakmilik %s ke %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "gagal menukar kumpulan %s ke %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "hakmilik %s kekal sebagai %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "kumpulan %s kekal sebagai %s\n" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "hakmilik %s kekal sebagai %s\n" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "tak dapat membuang %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "penukaran hakmilik %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "penukaran kumpulan %s" #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [OPTION]... GROUP FILE...\n" " atau: %s [OPTION]... --reference=RFILE FILE...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "kumpulan tidak sah %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "kumpulan tidak sah %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "gagal mendapatkan atribut bagi %s" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s ROOTBARU [ARAHAN...]\n" " atau: %s OPSYEN\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Laksana ARAHAN dengan direktori root ditetapkan ke ROOTBARU.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "Gagal menukar direktori root ke %s " #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "tak dapat chdir ke direktori root" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "tak dapat menukar ke kumpulan null" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "gagal mengekalkan masa bagi %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "takboleh nyahpaut %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fail terlalu panjang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Pengunaan: %s [FAIL]...\n" " atau: %s [OPSYEN]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Penggunaan: %s [OPSYEN]...FAIL1 FAIL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "%s: banyak isyarat dinyatakan" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, fuzzy, c-format msgid "error reading %s" msgstr "membaca %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "tak dapat lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, fuzzy, c-format msgid "error writing %s" msgstr "menulis %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "gagal mendapatkan atribut bagi %s" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "fail pelik" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "gagal mengekalkan masa bagi %s" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "menetapkan keizinan pada %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "gagal mengekalkan hakmilik bagi %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "gagal mencari fail %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "gagal mengekalkan hakmilik bagi %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "tak dapat buka %s untuk dibaca" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "tak dapat fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "gagal menukar kumpulan %s ke %s\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "tak dapat membuang %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s dibuang \n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "tak dapat memcipta fail biasa %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "gagal mengekalkan masa bagi %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "mengekalkan masa pada %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "gagal mengekalkan masa bagi %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: menindih %s, menindih mod %04lo? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: tindih %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (backup: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "tak dapat mencipta pautan keras %s ke %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "tak dapat stat %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "Amaran: fail sumber %s dinyatakan lebih drpd sekali" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s dan %s adalah fail yang sama" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "tak akan menindih baru-dicipta %s dengan %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "tak boleh menindih direktori %s dengan direktori" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "tak dapat pindah direktori ke bukan-direktori: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "backup %s akan memusnahkan sumber; %s tidak dipindahkan" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "backup %s akan memusnahkan sumber; %s tidak disalin" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "tak dapat backup %s" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "tak akan menindih baru-dicipta %s dengan %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "tak dapat salin direktori, %s ke dirinya, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "tidak akan mencipta pautan keras %s ke direktori %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "tak dapat pindahkan %s ke subdirektori dirinya, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "tak dapat pindahkan %s ke %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "pindahan antara-peranti gagak: %s ke %s; tak dapat memindah sasaran" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "gagal mendapatkan atribut bagi %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "tak boleh salin pautan simbolik cyclic %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: hanya boleh membuat pautan simbolik relatif pada direktori semasa" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "tak dapat mencipta pautan simbolik %s ke %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "tak boleh mencipta fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "tak boleh mencipta fail istimewa %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "tak dapat membaca pautan simbolik %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "tak dapat mencipta pautan simbolik %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s mempunyai jenis fail yang tidak diketahui" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "tak dapat nyahbackup %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (nyahbackup)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Salin SUMBER ke DEST, atau banyak SUMBER ke DIREKTORI.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive sama seperti -dpR\n" " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" " -b seperti --backup tetapi tak menerima hujah\n" " --copy-contents salin kandungan bagi fail sitimewa bila " "rekursif\n" " -d sama seperti --no-dereference --" "preserve=link\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "gagal mengekalkan masa bagi %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "gagal mengekalkan keizinan bagi %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "tak dapat cipta direktori %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s wujud tapi ianya bukan direktori" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "gagal mengekalkan masa bagi %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "kehilangan hujah fail" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "kehilangan fail destinasi" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "tak dapat pindah direktori ke bukan-direktori: %s -> %s" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "Sasaran yang dinyatakan, %s adalah bukan direktori" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "bila mengekalkan path, destinasi mestilah direktori" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "tak dapat buat kecua-dua pautan simbolik dan keras" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "jenis backup" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "input menghilang" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: bilangan baris di luar julat" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: `%s': bilangan baris di luar julat" #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr " pada ulangan %d\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: `%s': padanan tak dijumpai" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "ralat pada carian ungkapan biasa (regexp)" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "ralat menulis bagi `%s'" #: src/csplit.c:1059 #, fuzzy, c-format msgid "%s: integer expected after delimiter" msgstr "%s: integer dijangka selepas `%c'" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: `}' diperluka untuk kiraan ulangan" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: integer diperlukan diantara `{' dan `}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: pemisah penutup `%c' hilang" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: corak tidak sah" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: bilangan baris mesti lebih besar drpd sifar" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "Pengspesifikasi penukaran tidak sah pada suffiks: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "pengspesifikasi penukaran tidak sah pada suffiks: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "Pengspesifikasi penukaran tidak sah pada suffiks: %c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "terlalu banyak spesifikasi penukaran %% pada suffiks" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "kehilangan spesifikasi penukaran %% pada suffiks" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: nombor tidak sah" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Penggunaan: %s [OPSYEN]... FAIL CORAK...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "byte atau senarai medan tidak sah" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "opsyen lebar tidak sah: `%s'" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "rentetan mod tidak sah: %s" #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "%s adalah terlalu besar" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "nombor tidak sah %s" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "hanya satu jenis senarai boleh dinyatakan" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "pemisah mestilah aksara tunggal" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "anda mesti nyatakan senarai byte, aksara, atau medan" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "kehilangan senarai medan" #: src/cut.c:872 msgid "missing list of positions" msgstr "kehilangan senarai posisi" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Penggunaan: %s [OPSYEN]... [+FORMAT]\n" " atau: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Papar masa semasa dalam FORMAT diberi, atau tetapkan tarikh sistem.\n" "\n" " -d, --date=RENTETAN papar masa diterangkan oleh RENTETAN, bukan " "`now'\n" " -f, --file=DATEFILE seperti --date sekali bagi setiap baris " "DATEFILE\n" " -ITIMESPEC, --iso-8601[=TIMESPEC] output tarikh/masa dalam format ISO " "8601.\n" " TIMESPEC=`date' untuk tarikh sahaja,\n" " `hours', `minutes', atau `seconds' baru tarikh \n" " dan masa untuk menunjukkan kejituan.\n" " --iso-8601 tanpa TIMESPEC default kepada " "`date'.\n" #: src/date.c:142 #, fuzzy msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FAIL papar tarikh ubahsuai bagi FAIL\n" " -R, --rfc-822 output rentetan tarikh serasi RFC-822\n" " -s, --set=RENTETAN tetapkan masa dihuraikan oleh RENTETAN\n" " -u, --utc, --universal cetak atau tetapkan Coordinated Universal Time\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 #, fuzzy msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A nama penuh hari kerja lokaliti, panjang berubah (Ahad..Sabtu)\n" " %b nama singkatan bulan lokaliti (Jan..Dis)\n" " %B nama penuh bulan lokaliti, panjang berubah (Januari..Disember)\n" " %c tarikh dan masa lokaliti (Jum Dis 19 10:02:33 MYT 1975)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C abad (tahun dibahagi dengan 100 dan dibundarkan ke integer) [00-99]\n" " %d hari drpd bulan (01..31)\n" " %D tarikh (bb/hh/tt)\n" " %e hari drpd bulan, ruang kosong ditambah ( 1..31)\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h sama sebagai %b\n" " %H Jam (00..23)\n" " %I jam (01..12)\n" " %j hari dalam tahun (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k jam ( 0..23)\n" " %l jam ( 1..12)\n" " %m bulan (01..12)\n" " %M minit (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 #, fuzzy msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S saat (00..60); 60 adalah perlu untuk menyesuaikan 1 pusingan saat\n" " %t tab mengufuk\n" " %T masa, 24-jam (jj:mm:ss)\n" " %u hari dalam minggu (1..7); 1 mewakili Isnin\n" #: src/date.c:209 #, fuzzy msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U nombor minggu drpd tahun dengan Ahad sebagai hari pertama minggu " "(00..53)\n" " %V nombor minggu drpd tahun sengan Isnin sebagai hari pertama minggu " "(01..53)\n" " %w hari dlm minggu (0..6); 0 mewaliki Ahad\n" " %W nombor minggu drpd tahun dengan Isnin sebagai hari pertama dlm minggu " "(00..53)\n" #: src/date.c:215 #, fuzzy msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x perwakilan tarikh lokaliti (bb/hh/tt)\n" " %X perwakilan masa lokaliti (%H:%M:%S)\n" " %y dua digit akhir bagi tahun (00..99)\n" " %Y tahun (1975...)\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "input piawai" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "tarikh tak sah `%s'" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "opsyen untuk mencetak dan menetapkan masa tak boleh digunakan bersama" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "hujah `%s' kekurangan awalan `+';\n" "Bila menggunakan satu opsyen untuk menyatakan tarikh, sebarang\n" "hujah bukan-opsyen mesti dalam rentetan format bermula dengan`+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "tak dapat menetapkan tarikh" #: src/date.c:558 src/du.c:371 #, fuzzy, c-format msgid "time %s is out of range" msgstr "aksara di luar julat" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s [NOMBOR]...\n" " atau: %s OPSYEN\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Salin fail, menukar dan memformat mengikut opsyen.\n" "\n" " bs=BAIT paksa ibs=BAIT dan obs=BAIT\n" " cbs=BAIT tukar BAIT byte dalam satu masa\n" " conv=KATAKUNCI tukar fail sebagai per senarai katakunci dipisahkan koma\n" " count=BLOK salin hanya BLOK blok input\n" " ibs=BAIT baca BAIT bait dlm satu masa\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " "berikut:\n" "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, Y.\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: Direktori sasaran yang dinyatakan adalah bukan direktori" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "menutup fail input %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "menutup fail output %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Menulis ke %s." #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opsyen tidak dikenali %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "penukaran tidak sah: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "nombor tidak sah %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "kumpulan tidak sah" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "pengguna tidak sah %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "nombor tidak sah %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "tak dapat omit kedua-dua pengguna dan kumpulan" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "tak boleh banding nama fail %s dan %s" #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "tak dapat menentukan peranti dan inod bagi %s" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: tak dapat buang" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: tak dapat buang" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "menetapkan masa untuk %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "tak boleh mencipta fifo %s" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "gagal mengekalkan masa bagi %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "gagal mengekalkan masa bagi %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "gagal mengekalkan masa bagi %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Sistem fail" #: src/df.c:175 msgid "Type" msgstr "Jenis" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blok" #: src/df.c:181 msgid "Used" msgstr "Diguna" #: src/df.c:184 msgid "Available" msgstr "Ada" #: src/df.c:187 msgid "Use%" msgstr "Guna%" #: src/df.c:190 msgid "Inodes" msgstr "Inod" #: src/df.c:193 msgid "IUsed" msgstr "IDiguna" #: src/df.c:196 msgid "IFree" msgstr "IBebas" #: src/df.c:199 msgid "IUse%" msgstr "IGuna%" #: src/df.c:202 msgid "Mounted on" msgstr "Dilekapkan pada" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "Amaran: fail sumber %s dinyatakan lebih drpd sekali" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Saiz" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Ada" #: src/df.c:474 msgid "Capacity" msgstr "Kapasiti" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all termasuk sistemfail yang mempunyai 0 blok\n" " -B, --block-size=SIZE guna blok SIZE-byte\n" " -h, --human-readable cetak saiz dalam format bolehdibaca manusia (e.g., " "1K 234M 2G)\n" " -H, --si sebaliknya, guna kuasa 1000 bukannya 1024\n" #: src/df.c:1227 #, fuzzy msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes senarai maklimat inod selain drpd penggunaan blok\n" " -k seperti --block-size=1K\n" " -l, --local hadkan penyenaraian ke sistem fail lokal\n" " --no-sync jangan panggil sync sebelum mendapat maklumat " "penggunaan (default)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability menggunakan format output POSIX\n" " --sync panggil sync sebelum mendapatkan maklumat " "penggunaan\n" " -t, --type=JENIS hadkan penyenaraian ke sistemfail jenis JENIS\n" " -T, --print-type cetak jenis sistemfail\n" " -x, --exclude-type=TYPE hadkan penyenaraian ke ke sistemfail bukan jenis " "JENIS\n" " -v (diabaikan)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Amaran: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "Amaran: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%stak dapat membaca jadual sistemfail dilekapkan" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Arahan output untuk menetapkan persekitaran pembolehubah LS_COLORS.\n" "\n" "Tentukan format output:\n" " -b, --sh, --bourne-shell kod output shell Bourne shell menetapkan " "LS_COLORS\n" " -c, --csh, --c-shell kod output shell C menetapkan LS_COLORS\n" " -p, --print-database output default\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: katakunci tidak dikenali %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<dalaman>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "tiada pembolehubah persekitaran SHELL; dan tiada opsyen jenis shell diberi" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Penggunaan: %s [OPTION]... GROUP FILE...\n" " atau: %s [OPTION]... --reference=RFILE FILE...\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Ringkasan penggunaan cakera bagi setiap FAIL, rekursif bagi direktori.\n" "\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " --block-size=SAIZ guna blok SAIZ-byte\n" " -B, --ignore-backups jangan senarai kemasukan berakhir dengan ~\n" " -c dengan -lt: isih dengan, dan papar, ctime " "(masa\n" " terkahir diubahsuai drpd maklumat status " "fail)\n" " dengan -l: papar ctime dan isih mengikut " "nama\n" " sebaliknya: isih mengikut ctime\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fail biasa" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "Kedalaman maksimum %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "hujah tidak sah %s bagi %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "tak dapat meringkaskan dan menunjukkan semua kemasukan" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "amaran: peringkasan sama seperti menggunakan --max-depth=0" #: src/du.c:900 #, fuzzy, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "amaran: peringkasan konflik dengan --max-depth=%d" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: ralat penulisan" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "nama kumpulan tak dah %s" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "jumlah" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Mlynarik dan David MacKenzie" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Penggunaan: %s [OPSYEN]... [-] [NAMA=NILAI]...[ARAHAN [HUJAH]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "tak dapat stat %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "tak dapat stat %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "%s adalah terlalu besar" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "%s: fail terlalu panjang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s UNGKAPAN\n" " atau: %s OPSYEN\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "Ralat sintaks" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "ralat pada carian ungkapan biasa (regexp)" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "hujah bukan-numerik" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "dibahagi dengan sifar" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Tetapkan LC_ALL='C' untuk mengatasi masalah." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Rentetan dibandingkan adalah %s dan %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "`%s' adalah bukan integer positif yang sah" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s adalah terlalu besar" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s [NOMBOR]...\n" " atau: %s OPSYEN\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " Cetak faktor perdana bagi integer NOMBOR dinyatakan. Jika tiada hujah\n" " dinyatakan pada arahan baris. ia ia akan dibaca drpd input piawai.\n" #: src/find-mount-point.c:40 #, fuzzy, c-format msgid "cannot get current directory" msgstr "tak dapat mencipta direktori %s" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "Gagal menukar direktori %s " #: src/find-mount-point.c:70 #, fuzzy, c-format msgid "cannot stat current directory (now %s)" msgstr "tak dapat mencipta direktori %s" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Penggunaan: %s [-DIGIT][OPSYEN]...[FAIL]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, fuzzy, c-format msgid "invalid width: %s" msgstr "lebar tidak sah: `%s'" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Balut baris input pada setiap FAIL (pinput piawai secara default),\n" " menulis keoutput piawai.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "bilangan kolum tidak sah: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Pengunan: %s [OPSYEN]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "gagal menukar kumpulan %s ke %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "gagal menukar kumpulan %s ke %s\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "tak dapat menjumpai nama atau ID kumpulan %u" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Penggunaan: %s [OPSYEN]...[NAMAPENGGUNA]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "tak dapat stat %s" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "tak dapat membuang %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "tak dapat stat %s" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Tiada pengguna sebegitu" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent tidak cetak pengepala nama fail diberi\n" " -v, --verbose sentiasa cetak pengepala nama fail diberi\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " "berikut:\n" "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "nombor tidak sah %s" #: src/head.c:440 #, fuzzy, c-format msgid "%s: cannot lseek back to original position" msgstr "tak boleh mencipta fifo %s" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, fuzzy, c-format msgid "%s: cannot seek to offset %s" msgstr "tak dapat lseek %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: tak dapat buang" #: src/head.c:798 #, fuzzy, c-format msgid "cannot reposition file pointer for %s" msgstr "tak memperolehi setem masa bagi %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s adalah terlalu besar dan tak boleh diperwakilkan" #: src/head.c:886 msgid "number of lines" msgstr "bilangan baris" #: src/head.c:886 msgid "number of bytes" msgstr "bilangan byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "bilangan baris tidak sah" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "bilangan byte tidak sah" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "opsyen tidak sah -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Penggunaan: %s\n" " atau: %s OPSYEN\n" "Cetak pengcam numerik (dalam heksadesimal) bagi hos semasa.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Penggunaan: %s [NAMA]\n" " atau: %s OPSYEN\n" "Cetak atau tetapkan namahos bagi sistem semasa.\n" "\n" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "Tak dapat tetapkan namahos ke `%s'" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "tak dapat menetapkan namahos, sistem ini kekurangan fungsi" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "tak dapat menentukan namahos" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Penggunaan: %s [OPSYEN]...[NAMAPENGGUNA]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Cetak maklumat bagu NAMAPENGGUNA, atau pengguna semasa.\n" "\n" " -a abai, bagi keserasian dengan versi lain\n" " -g, --group cetak hanya ID kumpulan efektif\n" " -G, --groups cetak semua ID kumpulan\n" " -n, --name cetak nama selain drpd nombor, bagi -ugG\n" " -r, --real cetak ID sebenar selain drpd ID efektif, dengan -ugG\n" " -u, --user cetak hanya ID pengguna efektif\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Tanpa sebarang OPSYEN, cetak semua set berguna bagi maklumat yg " "dikenalpasti.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "tak dapat cetak hanya nama atau ID sebenar dlm format default" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "tak dapat membuang %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "tak dapat menjumpai nama bagi ID pengguna %u" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " kumpulan=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "Gagal menukar direktori %s " #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "mencipta direktori %s" #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "tak dapat menukar keizinan %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "Tak dapat tetapkan setem masa bagi %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "panggilan sistem fork() gagal" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "takboleh nyahpaut %s" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "Menulis ke %s." #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "pengguna tidak sah %s" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "Dalam dua format pertama, salin SUMBER ke DEST atau banyak SUMBER ke\n" "DIREKTORI sesia ada , sekaligus menetapkan mod keizinan dan pemilik/" "kumpulan.\n" "Pada format ke tiga, cipta semua komponen bagi DIREKTORI yg diberi.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 #, fuzzy msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D cipta semua komponen awalanbagi DEST kecuali yg " "terakhir,\n" " kemudian salin SUMBER ke DEST; berguna pada format " "pertama\n" " -g, --group=KUMPULAN tetapkan pemilikan kumpulan, selain drpd kumpulan " "bagi proses semasa\n" " -m, --mode=MOD tetapkan mod keizinan (seperti dlm chmod), selain " "drpd rwxr-xr-x\n" " -o, --owner=PEMILIK tetapkan pemilikan (super-user sahaja)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps terap masa akses/pengubahsuaian bagi fail " "SUMBERn ke fail destinasi itu\n" " -s, --strip strip jadual simbol, hanya untuk format pertama dan " "kedua\n" " -S, --suffix=SUFFIKS tindih suffiks backup biasa\n" " -v, --verbose cetak nama bagi setiap direktori bila ianya diipta\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "opsyen dikikis tak boleh digunakan bila memasang direktori" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "opsyen dikikis tak boleh digunakan bila memasang direktori" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "mod tak sah %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "bilangan medan tidak sah: `%s'" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "pengspesifikasi medan tidak sah: `%s'" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "nombor tidak sah %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "kedua-dua fail tak boleh menjadi input piawai" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Penggunaan: %s [-s ISYARAT | -ISYARAT] PID...\n" " atau: %s -l [ISYARAT]...\n" " atau: %s -t [ISYARAT]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Menghantar isyarat ke proses, atau senaraikan isyarat.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: id proses tidak sah" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "opsyen tidak sah -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: banyak isyarat dinyatakan" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "tiada ID proses dinyatakan" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "hujah tidak sah %s bagi %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s FAIL1 FAIL2\n" " atau: %s OPSYEN\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Panggil fungsi pautan untuk mencipta pautan bernama FAIL2 ke FILE1 sedia " "ada.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "tak dapat mencipta pautan %s ke %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: pautan keras tidak diizinkan bagi direktori" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: tak dapat menindih direktori" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: mengganti %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "tak dapat mencipta pautan simbolik %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "tak dapat mencipta pautan simbolik %s ke %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "tak dapat mencipta pautan keras %s ke %s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "tak dapat mencipta pautan keras %s ke %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "tak dapat mencipta pautan keras %s ke %s" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Penggunaan: %s [OPSYEN]... SUMBER DEST (format pertama)\n" " atau: %s [OPSYEN]... SUMBER... DIREKTORI (format ke dua)\n" " atau: %s -d [OPSYEN]... DIREKTORI... (format ke tiga)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " -a, --archive sama seperti -dpR\n" " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" " -b seperti --backup tetapi tak menerima hujah\n" " --copy-contents salin kandungan bagi fail sitimewa bila " "rekursif\n" " -d sama seperti --no-dereference --" "preserve=link\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%s: Direktori sasaran yang dinyatakan adalah bukan direktori" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "tak dapat mencipta pautan simbolik %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Pengunan: %s [OPSYEN]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Cetak nama bagi pengguna semasa.\n" "\n" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s: tiada nama logmasuk\n" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "mengabai nilai pembolehubah persekitaran QUOTING_STYLE yang tidak sah: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "mengabai lebar yg. tak sah pada pembolehubah persekitaran COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "mengabai saiz tab yg. tak sah pada pembolehubah persekitaran TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "lebar baris tidak sah: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "saiz tab tidak sah: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "format gaya tarikh tidak sah %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Hujah sah adalah:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefix tidak dikenali: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "nilai pembolehubah persekitaran LS_COLORS tidak boleh dihantar" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "tak dapat membuka direktori %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "tak dapat menentukan peranti dan inod bagi %s" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "tak dapat menyenaraikan direktori tersedia-tersenarai: %s" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "membaca direktori %s" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "mencipta direktori %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "tak boleh banding nama fail %s dan %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Senarai maklumat tentang FAIL (direktori semasa secara default).\n" "Inih semasukan mengikut abjad jika tiada -cftuSUX atau --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all jangan sorok kemasukan bermula dengan .\n" " -A, --almost-all jangan senarai . dan ..\n" " --author cetak penulis bagi setiap fail\n" " -b, --escape cetak escape oktal bagi aksara bukangrafik\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=SAIZ guna blok SAIZ-byte\n" " -B, --ignore-backups jangan senarai kemasukan berakhir dengan ~\n" " -c dengan -lt: isih dengan, dan papar, ctime " "(masa\n" " terkahir diubahsuai drpd maklumat status " "fail)\n" " dengan -l: papar ctime dan isih mengikut " "nama\n" " sebaliknya: isih mengikut ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C senarai kemasukan mengikut kolum\n" " --color[=BILA] kawal samada warna digunakan untuk membezakan \n" " jenis fail . BILA boleh jadi `never', " "`always', atau `auto'\n" " -d, --directory senarai kemasukan direktori selain drpd " "kandungannya\n" " -D, --dired jana output direka untuk mod dired Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f jangan isih, hidupkan -aU, matikan -lst\n" " -F, --classify tambah penunjuk (satu drpd */=@|) ke kemasukan\n" " --format=PERKATAAN rentas -x, koma -m, mengufuk -x, panjang -l,\n" " kolum-tunggal -1, verbose -l, menegak -C\n" " --full-time seperti -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all termasuk sistemfail yang mempunyai 0 blok\n" " -B, --block-size=SIZE guna blok SIZE-byte\n" " -h, --human-readable cetak saiz dalam format bolehdibaca manusia (e.g., " "1K 234M 2G)\n" " -H, --si sebaliknya, guna kuasa 1000 bukannya 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse turutan menyongsang ketika mengisih\n" " -R, --recursive senarai subdirektori secara rekursif\n" " -s, --size cetak saiz bagi setiap fail, dalam blok\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper dan Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary menggunakan penulisan binari ke peranti okonsol.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 msgid "FAILED" msgstr "GAGAL" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Penggunaan: %s [OPSYEN]... DIREKTORI...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Cipta DIREKTORI, jika ia belum wujud.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "direktori %s dicipta" #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Cipta paip bernama (FIFO) dengan NAMA diberi.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MOD tetapkan mod keizinan (seperti dlm chmod), bukan umask " "a=rw\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "mod tak sah" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Penggunaan: %s [OPSYEN]... NAMA JENIS [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Cipta NAMA fail istimewa bagi JENIS diberi.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "" "bila mencipta fail istimewa blok, nombor peranti major\n" " dan minor mesti dinyatakan" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "nombor peranti minor tidak sah %s" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "fail istimewa blok tidak disokong" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "fail istimewa aksara tidak disokong" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "nombor peranti major tidak sah %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "nombor peranti minor tidak sah %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "peranti tidak sah %s %s" #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "peranti tidak sah %s %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "menutup output piawai" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "terlalu banyak hujah" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "tak dapat mencipta direktori %s" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "gagal mengekalkan masa bagi %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Tukarnama SUMBER ke DEST, atau pindahkan SUMBER ke DIREKTORI.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " -a, --archive sama seperti -dpR\n" " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" " -b seperti --backup tetapi tak menerima hujah\n" " --copy-contents salin kandungan bagi fail sitimewa bila " "rekursif\n" " -d sama seperti --no-dereference --" "preserve=link\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "hujah tidak sah %s bagi %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "arahan mesti diberi dengan satu penyesuaian" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "tak dapat perolehi nama sistem" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "tak dapat menetapkan tarikh" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "nombor tidak sah %s" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "bilangan medan tidak sah: `%s'" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "nombor tidak sah %s" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "nombor tidak sah %s" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "nombor baris permulaan tidak sah `%s'" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "lebar baris tidak sah: %s" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "nombor tidak sah %s" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "lebar baris tidak sah: %s" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "lebar baris tidak sah: %s" #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "menutup output piawai" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "mengabaikan segala hujah" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "penukaran kumpulan %s" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "penukaran kumpulan %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Pengunaan: %s [OPSYEN]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "nombor tidak sah %s" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "nombor tidak sah %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "hujah tidak sah %s bagi %s" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: fail terlalu panjang" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "saiz tab tidak sah: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "format tarikh tidak sah %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "hujah tidak sah %s bagi %s" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "jenis rentetan m tidak sah `%s'" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "bilangan medan tidak sah: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "tarikh tak sah `%s'" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "membaca %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "menutup output piawai" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Penggunaan: %s [OPTION]... GROUP FILE...\n" " atau: %s [OPTION]... --reference=RFILE FILE...\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " "berikut:\n" "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "jenis rentetan m tidak sah `%s'" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: isyarat tidak sah" #: src/paste.c:220 #, fuzzy, c-format msgid "standard input is closed" msgstr "input piawai" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "fail kosong biasa" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Mike Parker and David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "direktori" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 msgid "Name" msgstr "" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "jenis rentetan m tidak sah `%s'" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "bilangan baris tidak sah" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "nombor peranti minor tidak sah %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "lebar baris tidak sah: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "nombor tidak sah %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "nombor tidak sah %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Lebar halaman terlalu sempit" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "nombor tidak sah %s" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, fuzzy, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "lebar medan tidak sah: %s" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "penukaran tidak sah: %s" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: fail saiz tidak sah" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "lebar tidak sah: `%s'" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "gagal mengekalkan masa bagi %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "gagal mengekalkan masa bagi %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "mengabaikan segala hujah" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Penggunaan: %s [OPSYEN]... FAIL...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "mengabaikan segala hujah" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: buang direktori write-protected %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: buang write-protected %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: buang %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "direktori dibuang: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "tak dapat membuang direktori %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "fail biasa" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: buang %s %s? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "membuang direktori, %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "tak dapat membuang direktori %s" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Buang DIREKTORI, jika ianya kosong.\n" "\n" " --ignore-fail-on-non-empty\n" " abaikan setiap kegagalan yang hanya disebabkan oleh\n" " direktori yang tidak kosong\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents buang DIRECTORY, dan cuba buang setiap komponen direktori\n" " bagi nama path itu. E.g., `rmdir -p a/b/c' adalah\n" " sama dengan `rmdir a/b/c a/b a'.\n" " -v, --verbose output diagnostik bagi setiap direktori yg diproses\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "gagal mendapatkan atribut bagi %s" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "tiada ID proses dinyatakan" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "gagal mengekalkan masa bagi %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "format tarikh tidak sah %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s mempunyai jenis fail yang tidak diketahui" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "tak dapat perolehi senarai kumpulan tambahan" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "tak dapat menukar ke kumpulan null" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "tak dapat stat %s" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force tukar keizinan supaya membolehkan menulisan jika perlu\n" " -n, --iterations=N Tindih sebanyak N kali selain drpd default (%d)\n" " -s, --size=N lunyai ia berapa byte (suffiks seperti K, M, G diterima)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, fuzzy, c-format msgid "%s: fdatasync failed" msgstr "fail istimewa blok" #: src/shred.c:306 #, fuzzy, c-format msgid "%s: fsync failed" msgstr "fail istimewa blok" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "fail istimewa blok" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "stat gagal" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: jenis fail tidak sah" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: fail mempunya saiz negatif" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "fail istimewa blok" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: membuang" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: ditukarnama ke %s" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: tak dapat buang" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: dibuang" #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "%s: fail terlalu panjang" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "%s: fail terlalu panjang" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: fail saiz tidak sah" #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "nombor tidak sah %s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "lebar baris tidak sah: %s" #: src/shuf.c:284 src/sort.c:4435 #, fuzzy, c-format msgid "multiple output files specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "format gaya tarikh tidak sah %s" #: src/sleep.c:146 src/tail.c:1219 #, fuzzy, c-format msgid "cannot read realtime clock" msgstr "tak boleh mencipta pautan %s" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "Menulis ke %s." #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "tak dapat memcipta fail biasa %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "pembukaan gagal" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "fail istimewa blok" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 #, fuzzy msgid "close failed" msgstr "fail istimewa blok" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "pembukaan gagal" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "tak dapat memcipta fail biasa %s" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "tak dapat mencipta direktori %s" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "tak dapat membuang %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "hujah tidak sah %s bagi %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "hujah ambiguous %s bagi %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s adalah terlalu besar" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat gagal" #: src/sort.c:1755 #, fuzzy msgid "read failed" msgstr "fail biasa" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "perbandingan rentetan gagal" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: opsyen `%s' adalah ambiguous\n" msgstr[1] "%s: opsyen `%s' adalah ambiguous\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 #, fuzzy msgid "write failed" msgstr "fail pelik" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 #, fuzzy msgid "standard error" msgstr "output standard" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "tak dapat menetapkan tarikh" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: fail saiz tidak sah" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: opsyen `%s' adalah ambiguous\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "hujah tidak sah %s bagi %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "nombor tidak sah %s" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "nombor tidak sah %s" #: src/sort.c:4315 src/sort.c:4421 #, fuzzy msgid "stray character in field spec" msgstr "fail istimewa aksara" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/sort.c:4379 #, fuzzy msgid "invalid number at field start" msgstr "nombor tidak sah %s" #: src/sort.c:4383 src/sort.c:4411 #, fuzzy msgid "field number is zero" msgstr "nombor tidak sah %s" #: src/sort.c:4392 #, fuzzy msgid "character offset is zero" msgstr "fail istimewa aksara" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "nombor tidak sah %s" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "tak boleh banding nama fail %s dan %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: jenis fail tidak sah" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "menutup fail input %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "mencipta %s" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "nilai pembolehubah persekitaran LS_COLORS tidak boleh dihantar" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "gagal mengekalkan masa bagi %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "menutup fail input %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "menutup fail output %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "menutup fail input %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "menutup fail input %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "takboleh nyahpaut %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "gagal mengekalkan masa bagi %s" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, fuzzy, c-format msgid "cannot split in more than one way" msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "nombor tidak sah %s" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: nombor tidak sah" #: src/split.c:1119 #, fuzzy, c-format msgid "%s: invalid suffix length" msgstr "%s: fail saiz tidak sah" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, fuzzy, c-format msgid "%s: invalid number of bytes" msgstr "nombor tidak sah %s" #: src/split.c:1163 src/split.c:1310 #, fuzzy, c-format msgid "%s: invalid number of lines" msgstr "nombor tidak sah %s" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "nombor baris permulaan tidak sah `%s'" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: fail saiz tidak sah" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "tak dapat menentukan namahos" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "gagal mengekalkan masa bagi %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: opensyen tidak dikenali `%c%s'\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s: fail saiz tidak sah" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "tak dapat membaca maklumat sistem fail bagi %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "menutup input piawai" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Pengunaan: %s [OPSYEN]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "gagal mengekalkan masa bagi %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "bila menyatakan gaya output, mod tak boleh ditetapkan" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "hujah tidak sah %s bagi %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "kehilangan hujah fail" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "lebar baris tidak sah: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: tiada maklumat saiz bagi peranti ini" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "hujah tidak sah %s bagi %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Mike Parker and David MacKenzie" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "mengabaikan segala hujah" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Hujah mandatori kepada opsyen panjang andalah mandatori bagi opsyen pendek " "juga.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Lapor pepijat ke <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Cuba `%s --help' untuk maklumat lanjut .\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "fail istimewa blok" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s adalah terlalu besar" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "tak dapat memcipta fail biasa %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: fail terlalu panjang" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "gagal mengekalkan masa bagi %s" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "ralat menulis" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "tak dapat buka %s untuk dibaca" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "pemisah tak boleh kosong" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " "berikut:\n" "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, Y.\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, fuzzy, c-format msgid "closing %s (fd=%d)" msgstr "menutup %s" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "tak boleh mencipta fifo %s" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "tak boleh mencipta fifo %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "`%s' menjadi tidak boleh diakses" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "`%s' menjadi boleh diakses" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "tak dapat menukar ke kumpulan null" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, fuzzy, c-format msgid "no files remaining" msgstr "kehilangan hujah fail" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "tak dapat mencipta direktori %s" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "memori keletihan" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "tak dapat stat %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "membaca %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "nombor tidak sah %s" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, fuzzy, c-format msgid "%s: invalid PID" msgstr "%s: fail saiz tidak sah" #: src/tail.c:2010 #, fuzzy, c-format msgid "%s: invalid number of seconds" msgstr "nombor tidak sah %s" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, fuzzy, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "pautan simbolik tidak disokong pada sistem ini" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "tak dapat perolehi nama sistem" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "kehilangan hujah fail" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "nombor tidak sah %s" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "')' dijangka\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "')' dijangka\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt tak boleh menerima -l\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef tak boleh menerima -l\n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-ot tak boleh menerima -l\n" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "Ralat sistem yang tidak diketahui" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/test.c:711 #, fuzzy msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "kehilangan hujah fail" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "terlalu banyak hujah" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Hujah mandatori kepada opsyen panjang andalah mandatori bagi opsyen pendek " "juga.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "menulis %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "format tarikh tidak sah %s" #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "tak dapat stat %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "menetapkan masa untuk %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference meliputi pautan simbolik selain drpd sebarang fail " "dirujuk\n" " (hanya boleh pada sistem yang boleh menukar\n" " pemilikan bagi pautan simbolik)\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, fuzzy, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "%s: amaran: membuat pautan keras ke pautan simbolik adalah tidak portable" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "aksara tidak sah pada %s pada rentetan mod %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "fail istimewa aksara" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Penggunaan: %s [OPSYEN]... FAIL...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: fail mempunya saiz negatif" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "Tak dapat perolehi masa bagi hari" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "banyak opsyen -l or -t dinyatakan" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "anda mesti nyatakan senarai byte, aksara, atau medan" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "tak dapat buka %s untuk dibaca" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "nombor tidak sah %s" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "bukan satu tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 #, fuzzy msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version cetak versi kernel\n" " -m, --machine cetak nama perkakasan mesin\n" " -p, --processor cetak jenis pemproses\n" " -i, --hardware-platform cetak platform perkakasan\n" " -o, --operating-system cetak sistem pengoperasian\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "tak dapat perolehi nama sistem" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "%s adalah terlalu besar" #: src/uniq.c:134 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "terlalu banyak hujah" #: src/uniq.c:521 #, fuzzy msgid "invalid number of fields to skip" msgstr "nombor tidak sah %s" #: src/uniq.c:530 #, fuzzy msgid "invalid number of bytes to skip" msgstr "nombor tidak sah %s" #: src/uniq.c:539 #, fuzzy msgid "invalid number of bytes to compare" msgstr "nombor tidak sah %s" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "takboleh nyahpaut %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "tak dapat masa but" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s naik " #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "pengguna tidak sah" msgstr[1] "pengguna tidak sah" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", purata muatan: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " tua " #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "terkahir=" #: src/who.c:553 #, fuzzy, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# pengguna=%u\n" #: src/who.c:559 msgid "NAME" msgstr "NAMA" #: src/who.c:559 msgid "LINE" msgstr "BARIS" #: src/who.c:559 msgid "TIME" msgstr "MASA" #: src/who.c:559 msgid "IDLE" msgstr "LEKA" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMEN" #: src/who.c:560 msgid "EXIT" msgstr "KELUAR" #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "tak dapat menjumpai nama bagi ID pengguna %u" #: src/yes.c:41 #, fuzzy, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s FAIL\n" " atau: %s OPSYEN\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "mencipta %s" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: fail saiz tidak sah" #~ msgid "reading %s" #~ msgstr "membaca %s" #~ msgid "writing %s" #~ msgstr "menulis %s" #~ msgid "closing %s" #~ msgstr "menutup %s" #~ msgid "accessing %s" #~ msgstr "mengakses %s" #~ msgid "opening %s" #~ msgstr "Membuka %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Hujah mandatori kepada opsyen panjang andalah mandatori bagi opsyen " #~ "pendek juga.\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "Password:" #~ msgstr "Katalaluan:" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "tak dapat membuka direktori %s" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "tak dapat stat %s" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "tak dapat menukar ke kumpulan null" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "tak dapat stat %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "user %s does not exist" #~ msgstr "pengguna %s tidak wujud" #~ msgid "incorrect password" #~ msgstr "katalaluan salah" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "Gagal menukar direktori %s " #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Tukar keahlian kumpulan bagi setiap FAIL ke KUMPULAN.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi lapor hanya bila prubahan " #~ "dilakukan\n" #~ " --dereference meliputi rujukan bagi setiap pautan simbolik\n" #~ " bukannya pautan simbolik itu sendiri\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Tukar pemilik dan/atau kumpulan bagi setiap FAIL ke PEMILIH dan/atau " #~ "KUMPULAN.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi lapor hanya bila " #~ "perubahan dilakukan\n" #~ " --dereference melibatkan rujukan bagi setiap pautan simbolik,\n" #~ " bukannya pautan smbolik itu sendiri.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " #~ "berikut:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, " #~ "Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opsyen tidak dibenarkan -- %c\n" #~ msgid "block size" #~ msgstr "saiz blok" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "tak dapat menukar hakmilik dan/atau kumpulan %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "tak dapat chdir ke direktori %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "tak boleh mendapatkan kumpulan logmasuk untuk UID numerik" #, fuzzy #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Ini adalah perisian bebas; lihat sumber untuk keadaan menyalin. Tiada\n" #~ "waranti; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgid "too few arguments" #~ msgstr "terlalu sedikit hujah" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Penggunaan: %s [OPSYEN] [FAIL]...\n" #~ msgid "closing standard output" #~ msgstr "menutup output piawai" #~ msgid "group number" #~ msgstr "nombor kumpulan" #~ msgid "invalid group number %s" #~ msgstr "nombor kumpulan tak sah %s" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman dan David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Penggunaan: %s [OPSYEN]...FAIL_KIRI FAIL_KANAN\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "tak boleh menindih direktori %s" #~ msgid "cannot create link %s" #~ msgstr "tak boleh mencipta pautan %s" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: Direktori destinasi dinyatakan tidak wujud" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: Sasaran yang dinyatakan adalah bukan direktori" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "menyalin banyak fail, tetapi hujah terakhir %s adalah bukan direktori" #~ msgid "symbolic links are not supported on this system" #~ msgstr "pautan simbolik tidak disokong pada sistem ini" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp dan David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: `+' atau `-' dijangka selepas pemisah" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #, fuzzy #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F sama sebagai %Y-%m-%d\n" #~ " %g tahun 2-digit corresponding to the %V week number\n" #~ " %G tahun 4-digit corresponding to the %V week number\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "terlalu banyak hujah bukan.opsyen: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "" #~ "rentetan format tak boleh dinyatakan bila menggunakan opesyen --rfc-822 (-" #~ "R)" #~ msgid "undefined" #~ msgstr "tak tertakrif" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rekod masuk\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rekod keluar\n" #~ msgid "unrecognized option %s=%s" #~ msgstr "opsyen tidak dikenali %s=%s" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie dan Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "Gagal menukar ke pangkal direktori %s" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[RENTETAN]...\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Cetak faktor perdana bagi setiap NOMBOR.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Penggunaan: %s [abaikan hujag arahan baris]\n" #~ " atau: %s OPSYEN\n" #~ "Keluar dengan kod status menunjukkan kegagalan.\n" #~ "\n" #~ "Nama opsyen ini tidak boleh menjadi satu singkatan.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "opsyen `%s' telah luput; guna `%s'" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N boleh mempunyai suffiks pengkali: b 512, k 1024, m 1024*1024.\n" #, fuzzy #~ msgid "%s: number of bytes is large" #~ msgstr "bilangan byte" #~ msgid "unrecognized option `-%c'" #~ msgstr "opsyen tidak dikenali `%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "opsyen `-%s' sudah luput; guna `-%c %.*s%.*s%s'" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins dan David MacKenzie" #~ msgid "cannot print only user and only group" #~ msgstr "tak dapat cetak hanya pengguna dan hanya kumpulan" #~ msgid "cannot get supplemental group list" #~ msgstr "tak dapat perolehi senarai kumpulan tambahan" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "memasang pelbagai fail, tetapi hujah terakhir, %s adalah bukan direktori" #~ msgid "%s is a directory" #~ msgstr "%s adalah satu direktori" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "tak memperolehi setem masa bagi %s" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "nombor tidak sah %s" #~ msgid "too many non-option arguments" #~ msgstr "terlalu banyak hujah bukan-opsyen" #~ msgid "too few non-option arguments" #~ msgstr "terlalu sedikit hujah bukan-opsyen" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Fail wujud" #~ msgid "create symbolic link %s to %s" #~ msgstr "cipta pautan simbolik %s ke %s" #~ msgid "create hard link %s to %s" #~ msgstr "cipta pautan keras %s ke %s" #~ msgid "creating symbolic link %s to %s" #~ msgstr "cipta pautan simbolik %s ke %s" #~ msgid "creating hard link %s to %s" #~ msgstr "mencipta pautan keras %s ke %s" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SASARAN [NAMA_PAUTAN]\n" #~ " atau: %s [OPSYEN]... SASARAN... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SASARAN...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "bila membuat banyak pautan, hujah terkahir mestilah direktori" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (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" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ " -g seperti -l, tapi tak senaraikan pemilik\n" #~ " -G, --no-group tidak papar maklumat kumpulan\n" #~ " -h, --human-readable cetak saiz dlm format bolehdibaca manusia (e.g., " #~ "1K 234M 2G)\n" #~ " --si sebaliknya, guna kuasaf 1000 bukan 1024\n" #~ " -H, --dereference-command-line ikut pautan simbolik pada arahan baris\n" #~ msgid "file" #~ msgstr "fail" #~ msgid "files" #~ msgstr "fail" #~ msgid "no files may be specified when using --string" #~ msgstr "tiada fail boleh dinyatakan bila menggunakan --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "hanya satu hujah boleh dinyatakan bila menggunakan --check" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Penggunaan; %s [OPSYEN] DIREKTORI...\n" #~ msgid "cannot set permissions of directory %s" #~ msgstr "tak dapat menetapkan keizinan direktori %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "tak dapat menetapkan keizinan bagi fifo %s" #~ msgid "wrong number of arguments" #~ msgstr "nombor hujah yang salah" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "nombor peranti major dan minor tak boleh dinyatakan pada fail fifo" #~ msgid "cannot set permissions of %s" #~ msgstr "tak dapat menetapkan keizinan bagi %s" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie, dan Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "bila memindah banyak fail, hujah terakhir mestilah direktori" #~ msgid "invalid option `%s'" #~ msgstr "opsyen tidak sah `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "prioriti tidak sah `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "Gagal menukar direktori %s " #, fuzzy #~ msgid "cannot set priority" #~ msgstr "tak dapat menetapkan keizinan bagi %s" #, fuzzy #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "skip argument" #~ msgstr "Langkah hujah" #~ msgid "limit argument" #~ msgstr "Had hujah" #, fuzzy #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s adalah satu direktori" #, fuzzy #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "nombor kumpulan tak sah %s" #, fuzzy #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "nombor kumpulan tak sah %s" #, fuzzy #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M" #~ msgid "Page %d" #~ msgstr "Halaman %d" #~ msgid "cannot chdir from %s to .." #~ msgstr "tak dapat chdir daripada %s ke ..." #~ msgid "cannot lstat `.' in %s" #~ msgstr "tak dapat lstat `.' pada %s" #~ msgid "cannot lstat %s" #~ msgstr "tak dapat lstat %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "tak dapat chdir drpd. %s ke %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "tak dapat membuang `.' atau `..'" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "rentetan mod tidak sah: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Penggunaan: %s [OPSYEN] FAIL [...]\n" #, fuzzy #~ msgid "sort size" #~ msgstr "saiz blok" #, fuzzy #~ msgid "*** invalid date/time ***" #~ msgstr "mod tak sah %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Penggunaan: %s [OPSYEN] FAIL...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mod\n" #, fuzzy #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: ralat bacaan" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #, fuzzy #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "before -lt" #~ msgstr "sebelum -lt" #~ msgid "after -lt" #~ msgstr "selepas -lt" #~ msgid "before -le" #~ msgstr "sebelum -le" #~ msgid "after -le" #~ msgstr "selepas -le" #~ msgid "before -gt" #~ msgstr "sebelum -gt" #~ msgid "after -gt" #~ msgstr "selepas -gt" #~ msgid "before -ge" #~ msgstr "sebelum -ge" #~ msgid "after -ge" #~ msgstr "selepas -ge" #~ msgid "before -ne" #~ msgstr "sebelum -ne" #~ msgid "after -ne" #~ msgstr "selepas -ne" #~ msgid "before -eq" #~ msgstr "sebelum -eq" #~ msgid "after -eq" #~ msgstr "selepas -eq" #~ msgid "after -t" #~ msgstr "selepas -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "terlalu banyak hujah" #~ msgid "creating %s" #~ msgstr "mencipta %s" #~ msgid "file arguments missing" #~ msgstr "kehilangan hujah fail" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "Opsyen `-LIST' sudah luput; guna `--first-only -t LIST'" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Amaran: -i akan dibuang pada keluaran anda datang; guna -u sebaliknya" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: tak dapat menjumpai namapengguna bagi UID %u\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ga.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001554145�12107204507�011730� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Irish translations for coreutils. # Copyright (C) 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Kevin Patrick Scannell <kscanne@gmail.com>, 2004, 2006, 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.12\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2008-06-01 12:24-0500\n" "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" "Language: ga\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :" "(n>6 && n<11) ? 3 : 4;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argóint neamhbhailí %s chun %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argóint dhébhríoch %s chun %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Na hargóintí bailí:" #: lib/closein.c:100 msgid "error closing file" msgstr "earráid agus comhad á dhúnadh" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "earráid sa scríobh" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "ceadanna ar %s á gcaomhnú" #: lib/error.c:188 msgid "Unknown system error" msgstr "Earráid chórais anaithnid" #: lib/file-type.c:38 msgid "regular empty file" msgstr "gnáthchomhad folamh" #: lib/file-type.c:38 msgid "regular file" msgstr "gnáthchomhad" #: lib/file-type.c:41 msgid "directory" msgstr "comhadlann" #: lib/file-type.c:44 msgid "block special file" msgstr "comhad speisialta den chineál `bloc'" #: lib/file-type.c:47 msgid "character special file" msgstr "comhad speisialta den chineál `carachtar'" # `TITA' ?! -KPS #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "nasc siombalach" #: lib/file-type.c:56 msgid "socket" msgstr "soicéad" #: lib/file-type.c:59 msgid "message queue" msgstr "ciú teachtaireachta" #: lib/file-type.c:62 msgid "semaphore" msgstr "séamafór" # FARF --KPS #: lib/file-type.c:65 msgid "shared memory object" msgstr "comhad comhchuimhne" #: lib/file-type.c:68 msgid "typed memory object" msgstr "comhad cuimhne le cineál" #: lib/file-type.c:70 msgid "weird file" msgstr "comhad aisteach" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Aicme sheolta d'óstainm gan tacaíocht" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Teip shealadach ar réiteach na n-ainmneacha" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Luach neamhbhailí do 'ai_flags'" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Teip dhocheartaithe ar réiteach na n-ainmneacha" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ní thacaítear le 'ai_family'" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Theip ar dháil chuimhne" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Níl seoladh ar bith ceangailte leis an óstainm" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Ainm nó seirbhís anaithnid" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Ní thacaítear le hainm freastalaithe do 'ai_socktype'" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ní thacaítear le 'ai_socktype'" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Earráid chórais" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Tá an maolán argóinte róbheag" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Iarratas próiseála ar siúl" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Cealaíodh an t-iarratas" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Níor cealaíodh an t-iarratas" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Cuireadh gach iarratas i gcrích" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Idirbhriste ag comhartha" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Níl an teaghrán paraiméadair ionchódaithe i gceart" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Earráid anaithnid" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: Tá an rogha `%s' débhríoch\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: rogha anaithnid `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: rogha anaithnid `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: rogha neamhbhailí -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: Tá an rogha `-W %s' débhríoch\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "ní féidir na ceadanna de %s a athrú" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "ní féidir comhadlann %s a chruthú" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "cuimhne ídithe" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "ní féidir an chomhadlann oibre a thaifead" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "níl aon fháil ar an chéad chomhadlann oibre" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: comhadchríoch" #: lib/regcomp.c:131 msgid "Success" msgstr "D'éirigh leis" #: lib/regcomp.c:134 msgid "No match" msgstr "Níl a leithéid ann" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Slonn ionadaíochta neamhbhailí" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Carachtar neamhbhailí comhordaithe" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ainm neamhbhailí ar aicme charachtar" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Cúlslais chun deiridh" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Cúltagairt neamhbhailí" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ nó [^ corr" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( nó \\( corr" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ corr" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ãbhar neamhbhailí idir \\{ agus \\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Tá deireadh an raoin neamhbhailí" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Cuimhne ídithe" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Slonn ionadaíochta neamhbhailí roimhe seo" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Deireadh an tsloinn gan choinne" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Slonn ionadaíochta rómhor" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") nó \\) corr" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Ní raibh slonn ionadaíochta roimhe seo" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "tá sé contúirteach oibriú go hathchúrsach ar %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "tá sé contúirteach oibriú go hathchúrsach ar %s (is ionann agus %s é)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "bain úsáid as --no-preserve-root chun na cosanta seo a shárú" # allow yes, but also 'i' as in 'is sea' or 's' for 'sea' -- KPS # neither of these letters is near the 'N' on standard keyboard... #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYiIsS]" # fortunately, 'n' for 'no' or 'ní hea' - KPS #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "ceadanna ar %s á socrú" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Earráid chórais" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "athrú an chloig" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: comhartha neamhbhailí" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: comhartha neamhbhailí" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "theip ar ghlao córais fork()" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "theip ar oscailt" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "ní féidir an `fifo' %s a chruthú" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: níorbh fhéidir `seek' a dhéanamh" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "tréimhse neamhbhailí %s" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "ní féidir an fheidhm iconv a úsáid" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "níl an fheidhm iconv ar fáil" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "carachtar as raon" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "úsáideoir neamhbhailí" #: lib/userspec.c:107 msgid "invalid group" msgstr "grúpa neamhbhailí" #: lib/userspec.c:108 msgid "invalid spec" msgstr "sonraíocht neamhbhailí" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 #, fuzzy msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos nuaí <http://gnu.org/licenses/gpl." "html>\n" "Is saorbhogearra é seo: ceadaítear duit é a athrú agus a athdháileadh.\n" "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Le %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Le %s agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Le %s, %s, agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Le %s, %s, %s,\n" "agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Le %s, %s, %s,\n" "%s, agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Le %s, %s, %s,\n" "%s, %s, agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Le %s, %s, %s,\n" "%s, %s, %s, agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Le %s, %s, %s,\n" "%s, %s, %s, %s,\n" "agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Le %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, agus %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Le %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, agus daoine eile nach iad.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Seol tuairiscí fabhtanna chuig <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Seol tuairiscí fabhtanna chuig <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "theip ar oscailt" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Earráid chórais anaithnid" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "theip ar %s a bhaint" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "theip ar chomparáid idir teaghráin" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Cuir LC_ALL='C' ionas gur féidir an fhadhb seo a sheachaint." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Rinneadh comparáid idir na teaghráin %s agus %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "ní féidir aschur formáidithe a dhéanamh" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "argóint neamhbhailí %s%s: `%s'" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "iarmhír neamhbhailí in argóint %s%s: `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "argóint %s%s rómhór: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Úsáid: %s [ROGHA] [COMHAD]\n" "Ionchódaigh nó díchódaigh COMHAD, nó an gnáth-ionchur,\n" "le bunuimhir 64, go dtí an gnáth-aschur.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón gnáth-ionchur.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Ionchódaítear na sonraí mar a thuairiscítear d'aibítir base64 i RFC 3548.\n" "Le linn díchódaithe, is féidir línte nua a bheith san ionchur in éineacht " "leis\n" "na bearta den aibítir fhoirmiúil base64. Úsáid --ignore-garbage chun\n" "iarracht a dhéanamh teacht slán ó charachtair neamhaibítreacha eile sa\n" "sruth ionchódaithe.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "earráid sa léamh" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ionchur neamhbhailí" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "méid neamhbhailí timfhillte: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "oibreann breise %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "gnáth-ionchur á dhúnadh" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Úsáid: %s AINM [IARMHÃR]\n" " nó: %s ROGHA\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Taispeáin an tAINM agus bain amach ainmneacha comhadlainne ar tosach.\n" "Má tá IARMHÃR ann, bain é amach fosta.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" # plural above under cp.c -KPS #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "oibreann ar iarraidh" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Úsáid: %s [ROGHA]... [COMHAD]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Comhcheangail COMHA(I)D, nó an gnáth-ionchur, leis an ngnáth-aschur.\n" "\n" " -A, --show-all ar comhbhrí le -vET\n" " -b, --number-nonblack uimhrigh línte aschurtha nach bhfuil folamh\n" " -e ar comhbhrí le -vE\n" " -E, --show-ends taispeáin $ ag deireadh gach líne\n" " -n, --number uimhrigh gach líne aschurtha\n" " -s, --squeeze-blank laghdaigh línte folmha iomadúla go ceann amháin\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t ar comhbhrí le -vT\n" " -T, --show-tabs taispeáin táib mar ^I\n" " -u (gan feidhm)\n" " -v, --show-nonprinting taispeáin rialúcháin le ^, M-; ní LFD agus TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Mar shampla:\n" " %s f - g Taispeáin f, ansin an gnáth-ionchur, agus g ina dhiaidh sin.\n" " %s Cóipeáil an gnáth-ionchur go dtí an gnáth-aschur.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ní féidir ioctl a dhéanamh ar %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "gnáth-aschur" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: is ionann iad an t-inchomhad agus an t-aschomhad" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "theip ar chomhthéacs slándála a chruthú: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "theip ar chomhpháirt chomhthéacs slándála %s a shocrú mar %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "níorbh fhéidir comhthéacs slándála de %s a fháil" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" "ní féidir comhthéacs neamhiomlán a chur i bhfeidhm ar chomhad gan lipéad %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "theip ar chomhthéacs de %s a athrú go %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "ní féidir %s a rochtain" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "ní féidir comhadlann %s a léamh" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "comhthéacs slándála de %s á athrú" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "theip ar fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "theip ar dhúnadh" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Úsáid: %s [ROGHA]... COMHTHÉACS COMHAD...\n" " nó: %s [ROGHA]... [-u ÚSÃIDEOIR] [-r RÓL] [-l RAON] [-t CINEÃL] " "COMHAD...\n" " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Athraigh an comhthéacs slándála de gach COMHAD go COMHTHÉACS.\n" "Le --reference, athraigh an comhthéacs slándála de gach COMHAD go dtí an " "comhthéacs de TCOMHAD.\n" "\n" " -c, --changes cosúil le `verbose' ach tabhair tuairisc nuair a\n" " athraítear rud éigin amháin\n" " -h, --no-dereference téigh i bhfeidhm ar naisc shiombalacha in ionad an\n" " chomhaid tagartha\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=ÚSÃIDEOIR socraigh ÚSÃIDEOIR sa chomhthéacs sprice slándála\n" " -r, --role=RÓL socraigh RÓL sa chomhthéacs sprice slándála\n" " -t, --type=CINEÃL socraigh CINEÃL sa chomhthéacs sprice slándála\n" " -l, --range=RAON socraigh RAON sa chomhthéacs sprice slándála\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root ná caith le `/' go speisialta (réamhshocrú)\n" " --preserve-root ná hoibrigh ar `/' go hathchúrsach\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=TCOMHAD bain úsáid as an gcomhthéacs slándála atá ag " "TCOMHAD\n" " in ionad luach COMHTHÉACS a shonrú\n" " -R, --recursive oibrigh ar chomhaid/chomhadlanna go hathchúrsach\n" " -v, --verbose taispeáin diagnóisic do gach comhad próiseáilte\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Athraíonn na roghanna seo a leanas an chaoi a siúltar trí chomhadlanna " "nuair\n" "a roghnaítear -R. Má tá níos mó ná rogha amháin sonraithe, ní úsáidfear " "ach\n" "an ceann deireanach.\n" "\n" " -H má tá nasc siombalach go comhadlann tugtha mar\n" " argóint ar an líne ordaithe, lean é\n" " -L lean gach uile nasc siombalach le comhadlann\n" " -P ná lean aon nasc siombalach (réamhshocrú)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "tá gá le ceann de -H nó -L leis na roghanna -R --dereference" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "tá gá le -P leis na roghanna -R -h" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "oibreann ar iarraidh i ndiaidh %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "comhthéacs neamhbhailí: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "sonraitheoirí contrártha um chomhthéacs slándála" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "níorbh fhéidir na saintréithe de %s a rochtain" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "grúpa neamhbhailí: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Úsáid: %s [ROGHA]... GRÚPA COMHAD...\n" " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Athraigh an comhthéacs slándála de gach COMHAD go COMHTHÉACS.\n" "Le --reference, athraigh an comhthéacs slándála de gach COMHAD go dtí an " "comhthéacs de TCOMHAD.\n" "\n" " -c, --changes cosúil le `verbose' ach tabhair tuairisc nuair a\n" " athraítear rud éigin amháin\n" " -h, --no-dereference téigh i bhfeidhm ar naisc shiombalacha in ionad an\n" " chomhaid tagartha\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference téigh i bhfeidhm ar an nasc siombalach in ionad\n" " comhad tagartha ar bith (le fáil más féidir le do\n" " chóras an t-úinéir de nasc siombalach a athrú)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Mar shampla:\n" " %s foireann /u Athraigh grúpa de /u go \"foireann\".\n" " %s -hR foireann /u Athraigh grúpa de /u agus a fhochomhaid go \"foireann" "\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "saintréithe nua de %s á bhfáil" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "níor athraíodh nasc siombalach %s ná a thagrán\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "rinneadh athrú ar mhód %s go %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "níorbh fhéidir an mód de %s a athrú go %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "coimeádadh an mód de %s mar %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "ní féidir oibriú ar nasc siombalach %s gan sprioc" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "ceadanna %s á n-athrú" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: is %s na ceadanna nua, ní %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Úsáid: %s [ROGHA]... MÓD[,MÓD]... COMHAD...\n" " nó: %s [ROGHA]... MÓD-OCHTACH COMHAD...\n" " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Athraigh an comhthéacs slándála de gach COMHAD go COMHTHÉACS.\n" "Le --reference, athraigh an comhthéacs slándála de gach COMHAD go dtí an " "comhthéacs de TCOMHAD.\n" "\n" " -c, --changes cosúil le `verbose' ach tabhair tuairisc nuair a\n" " athraítear rud éigin amháin\n" " -h, --no-dereference téigh i bhfeidhm ar naisc shiombalacha in ionad an\n" " chomhaid tagartha\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=TCOMHAD bain úsáid as an gcomhthéacs slándála atá ag " "TCOMHAD\n" " in ionad luach COMHTHÉACS a shonrú\n" " -R, --recursive oibrigh ar chomhaid/chomhadlanna go hathchúrsach\n" " -v, --verbose taispeáin diagnóisic do gach comhad próiseáilte\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Tá gach MÓD den fhoirm `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "ní féidir rogha mhóid a chumasc leis an rogha --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "mód neamhbhailí: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "tá athrach úinéireachta ar %s go dtí %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "tá athrach grúpa ar %s go dtí %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "níor athraíodh an t-úinéir de %s\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "theip ar athrú úinéireachta de %s go %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "theip ar athrú grúpa de %s go %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "theip ar athrú úinéireachta de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "theip ar athrú úinéireachta de %s go %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "theip ar athrú grúpa de %s go %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "tá an t-úinéir de %s fós %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "Tá an grúpa de %s fós %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "tá an t-úinéir de %s gan athrú\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "ní féidir %s a dhí-thagairt" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "úinéireacht ar %s á hathrú" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "grúpa de %s á athrú" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Úsáid: %s [ROGHA]... [ÚINÉIR][:[GRÚPA]] COMHAD...\n" " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ÚINÉIR_FAOI_LÃTHAIR:GRÚPA_FAOI_LÃTHAIR\n" " athraigh an t-úinéir agus/nó an grúpa de gach " "comhad\n" " ach amháin más mar a chéile a úinéir agus/nó grúpa\n" " agus na cinn atá ceaptha anseo. Is féidir " "ceachtar\n" " acu a fhágáil ar lár, agus sa chás sin, ní gá\n" " don tréith ar iarraidh a aontú\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Coinnigh úinéir gan athrú má tá sé ar iarraidh. An grúpa ar an nós céanna,\n" "ach athraigh é go dtí an grúpa logála isteach má tá grúpa intuigthe le `:' " "ann\n" "in éineacht le húinéir siombalach.\n" "Is féidir ÚINÉIR nó GRÚPA a bheith uimhriúil chomh maith le siombalach.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Mar shampla:\n" " %s root /u Athraigh an t-úinéir de /u go \"root\".\n" " %s root:foireann /u Mar an gcéanna, ach athraigh a ghrúpa go \"foireann\" " "freisin.\n" " %s -hR root /u Athraigh an t-úinéir de /u agus a fochomhaid go \"root" "\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grúpa neamhbhailí %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "grúpa neamhbhailí %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "níorbh fhéidir an grúpa (nó na grúpaí) forlíontach a shocrú" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s ROGHA ÚSÃIDEOIR ORDÚ [ARGÓINT]...\n" " nó: %s ROGHA\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Rith ORDÚ leis an fhréamhchomhadlann mar FRÉAMHNUA.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Mura bhfuil ORDÚ ann, rith ``${SHELL} -i'' (réamhshocrú: /bin/sh).\n" # in FARF --KPS #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "ní féidir an fhréamhchomhadlann a athrú go %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "ní féidir chdir a dhéanamh go dtí an fhréamhchomhadlann" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "theip ar ról nua %s a shocrú" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "níorbh fhéidir úsáideoir nua %s a shocrú" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "ní féidir ordú %s a rith" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: comhad rófhada" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Úsáid: %s [COMHAD]...\n" " nó: %s [ROGHA]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Taispeáin suim sheiceála CRC agus líon bearta di gach COMHAD.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Úsáid: %s [ROGHA]... COMHAD1 COMHAD2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "Déan comparáid idir na comhaid shórtáilte COMHAD1 agus COMHAD2, líne ar " "líne.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Mura bhfuil aon rogha ann, taispeáin an t-aschur i trí cholún. Sa chéad\n" "cholún, línte atá i gCOMHAD1 ach nach COMHAD2; sa dara cholún, línte atá\n" "i gCOMHAD2 ach nach COMHAD2, agus comhlínte sa tríú colún.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 ceil línte atá i gCOMHAD1 ach nach i gCOMHAD2\n" " -2 ceil línte atá i gCOMHAD2 ach nach i gCOMHAD1\n" " -3 ceil línte atá sna comhaid araon\n" #: src/comm.c:122 #, fuzzy msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" " -v TAOBH cosúil le `-a TAOBH', ach múch línte nasctha aschurtha\n" " -1 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 1\n" " -2 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 2\n" " --check-order féach an bhfuil an t-ionchur sórtáilte mar is ceart,\n" " fiú má táthar in ann gach líne ionchurtha a " "phéireáil.\n" " --nocheck-order ná féach an bhfuil an t-ionchur sórtáilte mar is ceart\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, fuzzy, c-format msgid "file %d is not in sorted order" msgstr "Níl comhad %d in ord sórtáilte" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "sonraíodh roghanna -i iomadúla" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "earráid agus %s á léamh" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "ní féidir %s a `lseek'" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "earráid agus %s á scríobh" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "níorbh fhéidir an comhthéacs reatha a fháil" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "theip ar scríobh" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "Ní féidir %s a oscailt" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "ceadanna ar %s á nglanadh" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "níorbh fhéidir an úinéireacht de %s a chaomhnú" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "theip ar luchtú an chomhaid %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "níorbh fhéidir an t-údar de %s a chaomhnú" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "ní féidir %s a oscailt chun léamh" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "ní féidir %s a `fstat'" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "ag gabháil thar an chomhad %s; bhí sé curtha as áit agus á chóipeáil" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "níorbh fhéidir comhthéacs chruthú an chórais comhad a fháil" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "theip ar an gcomhthéacs slándála de %s a athrú go %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "ní féidir %s a scriosadh" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s scriosta\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ní scríobhfar trí nasc siombalach %s gan sprioc" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "ní féidir gnáthchomhad %s a chruthú" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "theip ar dhúnadh comhadlann %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "amanna á gcaomhnú le haghaidh %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "Ní féidir %s a oscailt" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: déan iarracht ar %s a fhorscríobh, agus mód %04lo (%s) a shárú? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: forscríobh %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (cúltaca: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" "níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a athchóiriú" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "ní féidir nasc crua %s a chruthú go dtí %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "ní féidir %s a `stat'" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "comhadlann %s á fágáil ar lár" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "rabhadh: comhad foinse %s tugtha níos mó ná uair amháin" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "is iad %s agus %s an comhad céanna" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" "ní féidir forscríobh a dhéanamh ar %s (ní comhadlann é) le %s (comhadlann)" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "diúltaíodh forscríobh ar an chomhad nua %s le %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "ní féidir forscríobh a dhéanamh ar %s (comhadlann) le gnáthchomhad" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "ní féidir comhadlann a aistriú go dtí gnáthchomhad: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "léirscriosfadh cúltaca de %s an comhad foinse; níor aistríodh %s" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "léirscriosfadh cúltaca de %s an comhad foinse; níor cóipeáladh %s" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "ní féidir cúltaca a dhéanamh ar %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "ní chóipeálfar %s trí nasc siombalach %s a cruthaíodh anois beag" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" "ní féidir an chomhadlann %s a chóipeáil isteach sa chomhadlann féin, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ní chruthófar nasc crua %s go dtí comhadlann %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" "ní féidir an chomhadlann %s a aistriú go dtí fochomhadlann dá chuid féin, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "ní féidir %s a aistriú go %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "aistriú idir gléasanna teipthe: %s go %s; ní féidir an sprioc a scriosadh" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a shocrú go %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "ní féidir nasc siombalach ciorclach %s a chóipeáil" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: ní foláir naisc shiombalacha coibhneasta a dhéanamh sa chomhadlann oibre" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "ní féidir nasc siombalach a dhéanamh ó %s go %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "ní féidir an `fifo' %s a chruthú" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "ní féidir comhad speisialta %s a chruthú" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "ní féidir nasc siombalach %s a léamh" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "ní féidir an nasc siombalach %s a chruthú" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "tá %s de chineál anaithnid" # bad coinage --KPS #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "ní féidir dí-chúltaca a dhéanamh ar %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (dí-chúltaca)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC\n" " nó: %s [ROGHA]... FOINSE... COMHADLANN\n" " nó: %s [ROGHA]... -t COMHADLANN FOINSE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Cóipeáil FOINSE go SPRIOC, nó FOINSE/à go COMHADLANN.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive is ionann é seo agus -dpR\n" " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann\n" " -b cosúil le `--backup' ach gan argóint\n" " --copy-contents cóipeáil inneachar de chomhaid speisialta\n" " más athchúrsach é\n" " -d == `--no-dereference --preserve=links'\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force mura féidir sprioc-chomhad a oscailt, scrios\n" " é agus bain triail eile as\n" " -i, --interactive fiafraigh roimh fhorscríobh\n" " -H lean naisc shiombalacha ar líne na n-" "orduithe\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link nasc comhaid in ionad iad a chóipeáil\n" " -L, --dereference lean naisc shiombalacha i FOINSE i gcónaí\n" #: src/cp.c:190 #, fuzzy msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -f, --force mura féidir sprioc-chomhad a oscailt, scrios\n" " é agus bain triail eile as\n" " -i, --interactive fiafraigh roimh fhorscríobh\n" " -H lean naisc shiombalacha ar líne na n-" "orduithe\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p == `--preserve=mode,ownership,timestamps'\n" " --preserve[=TRÉITHE] caomhnaigh na tréithe ceaptha (réamhshocrú:\n" " mode,ownership,timestamps), más féidir\n" " tréithe eile: context, links, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=TRÉITHE ná caomhnaigh na tréithe ceaptha\n" " --parents úsáid ainm lán an chomhaid faoi CHOMHADLANN\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive cóipeáil comhadlanna go hathchúrsach\n" " --remove-destination scrios gach sprioc-chomhad atá ann roimh\n" " oscailt (i gcodarsnacht le `--force')\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=CATHAIN rialaigh cruthú na gcomhad tanaí\n" " --strip-trailing-slashes scrios slaiseanna chun deiridh ó gach " "argóint\n" " FOINSE\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link nasc comhaid in ionad iad a chóipeáil\n" " -S, --suffix=IARMHÃR sáraigh an iarmhír chúltaca réamhshocraithe\n" " -t, --target-directory=COMHADLANN cóipeáil gach FOINSE go dtí COMHADLANN\n" " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update ná cóipeáil ach amháin nuair atá FOINSE\n" " níos úire ná an sprioc-chomhad, nó nuair " "atá\n" " an sprioc-chomhad ar iarraidh\n" " -v, --verbose mínigh na rudaí atá ag tarlú\n" " -x, --one-file-system fan ar an chóras chomhaid seo\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Mar réamhshocrú, aimsítear comhaid FOINSE tanaí trí mhodh iúraisticiúil\n" "garbh agus beidh an comhad SPRIOC tanaí chomh maith. Is í seo an mód atá\n" "roghnaithe ag `--sparse=auto'. Roghnaigh `--sparse=always' chun comhad " "SPRIOC\n" "tanaí a chruthú i gcónaí nuair atá sraith nialasach fhada go leor i " "bhFOINSE.\n" "Bain úsáid as `--sparse=never' chun an cruthú de chomhaid thanaí a chosc.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Is é `~' an iarmhír chúltaca, mura dtugtar é le --suffix nó " "SIMPLE_BACKUP_SUFFIX.\n" "Is féidir an modh de rialú foinsí a roghnú le `--backup', nó leis an athróg\n" "thimpeallachta VERSION_CONTROL. Seo duit na luachanna bailí:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ná déan cúltacaí choíche (fiú má tá --backup ceaptha)\n" " numbered, t déan cúltacaí agus uimhreacha orthu\n" " existing, nil numbered má tá uimhreacha orthu anois, simple mura bhfuil\n" " simple, never déan cúltacaí simplí i gcónaí\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Mar chás speisialta, déanann `cp' cúltaca de FOINSE nuair a thugtar na\n" "roghanna --force agus --backup, agus is ionann iad na hainmneacha FOINSE " "agus\n" "SPRIOC ar ghnáthchomhad atá ann.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "níorbh fhéidir amanna a chaomhnú ar %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "níorbh fhéidir ceadanna a chaomhnú ar %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "ní féidir an chomhadlann %s a chruthú" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "Tá %s ann cheana, ach ní comhadlann é" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "Ní féidir %s a oscailt" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "oibreann comhaid ar iarraidh" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "oibreann sprioc-chomhaid ar iarraidh i ndiaidh %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "Ní féidir --target-directory (-t) agus --no-target-directory (-T) a úsáid " "lena chéile" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "ní comhadlann é an sprioc-chomhad %s" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "le --parents, caithfidh an sprioc-chomhad a bheith ina chomhadlann" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "sonraíodh sprioc-chomhadlanna iomadúla" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "ní féidir nasc crua agus nasc siombalach araon a dhéanamh" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "is comheisiatach iad na roghanna --string agus --check" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "cineál cúltaca" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "ní féidir an comhthéacs slándála a chaomhnú gan eithne atá cumasaithe do " "SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "ionchur imithe" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: líne-uimhir as raon" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: líne-uimhir as raon" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " le linn timthriall %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: níl a leithéid ann" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "earráid le linn cuardaigh ar shlonn ionadaíochta" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "earráid sa scríobh le haghaidh %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: bhíothas ag súil le slánuimhir i ndiaidh teormharcóra" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: tá gá le `}' i líon na hathráite" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: tá gá le slánuimhir idir `{' agus `}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: teormharcóir foirceanta `%c' ar iarraidh" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: slonn ionadaíochta neamhbhailí: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: patrún neamhbhailí" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: ní foláir líne-uimhir dheimhneach" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "líne-uimhir %s níos lú ná an líne-uimhir roimpi, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "rabhadh: is ionann líne-uimhir %s agus an líne-uimhir roimpi" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "tá sonraitheoir tiontaithe ar iarraidh in iarmhír" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "sonraitheoir tiontaithe neamhbhailí in iarmhír: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "sonraitheoir tiontaithe neamhbhailí in iarmhír: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: tiontú neamhbhailí" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "an iomarca sonraitheoirí tiontaithe %% in iarmhír" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "sonraitheoir tiontaithe %% ar iarraidh in iarmhír" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: uimhir neamhbhailí" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Úsáid: %s [ROGHA]... COMHAD PATRÚN...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Scríobh píosaí de CHOMHAD, scartha le PATRÚ(I)N, i gcomhaid `xx00'," "`xx01',...\n" "agus taispeáin líon na mbeart i ngach píosa ar an gnáth-aschur.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMÃID bain úsáid as FORMÃID sprintf in ionad %02d\n" " -f, --prefix=RÉIMÃR bain úsáid as RÉIMÃR in ionad `xx'\n" " -k, --keep-files ná scrios aschomhaid tar éis earráidí\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DIGITà bain úsáid as DIGITà digit, in ionad 2\n" " -s, --quiet, --silent ná taispeáin líonta na mbeart in aschomhaid\n" " -z, --elide-empty-files scrios aschomhaid fholmha\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Má tá an COMHAD `-', léigh ón ghnáth-ionchur. Is féidir PATRÚN a bheith:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " SLÃNUIMHIR cóipeáil go dtí an líne-uimhir cheaptha (ach amháin é " "féin)\n" " /SLONN/[FRITHÃIREAMH] cóipeáil go dtí líne chomhoiriúnach (ach amháin é " "féin)\n" " %SLONN%[FRITHÃIREAMH] bog go dtí líne chomhoiriúnach\n" " {SLÃNUIMHIR} aithris an patrún is déanaí SLÃNUIMHIR uaire\n" " {*} aithris an patrún is déanaí is mó is féidir\n" "\n" "FRITHÃIREAMH = `+' nó `-' (riachtanach) agus ansin slánuimhir dheimhneach.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "uimhrítear réimsí agus ionaid ó 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Úsáid: %s ROGHA... [COMHAD]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Taispeáin codanna tofa de na línte as gach COMHAD ar an ngnáth-aschur.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIOSTA ná taispeáin ach na bearta seo\n" " -c, --characters=LIOSTA ná taispeáin ach na carachtair seo\n" " -d, --delimiter=TEORAN úsáid TEORAN in ionad TAB mar theormharcóir " "réimse\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIOSTA ná taispeáin ach na réimsí seo; sa bhreis, " "taispeáin\n" " gach líne gan aon teormharcóir, mura bhfuil an\n" " rogha -s tugtha\n" " -n (gan feidhm)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement inbhéartaigh na bearta, carachtair, nó réimsí\n" " roghnaithe.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ná taispeáin ach na línte le teormharcóirí\n" " --output-delimiter=TEAGHRÃN úsáid TEAGHRÃN mar theormharcóir aschuir\n" " agus an teormharcóir ionchurtha mar réamhshocrú\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Úsáid ceann, agus gan ach ceann de -b, -c, nó -f. Is raon é gach LIOSTA,\n" "nó roinnt raonta scartha le camóga. Scríobhann an t-ionchur roghnaithe\n" "san ord á léadh, agus ní scríobhtar é ach uair amháin.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Is éard atá i ngach raon ná ceann de:\n" "\n" " N N-ú beart, carachtar, nó réimse, uimhrithe ó 1\n" " N- ón N-ú beart, carachtar, nó réimse go dtí deireadh na líne\n" " N-M ón N-ú go dtí M-ú beart, carachtar, nó réimse (araon san áireamh)\n" " -M ón aonú go dtí M-ú beart, carachtar, nó réimse (araon san áireamh)\n" "\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "liosta bearta nó réimsí neamhbhailí" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "raon neamhbhailí gan chríoch: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "raon neamhbhailí laghdaitheach" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "tá an fritháireamh birt %s rómhór" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "tá an uimhir réimse %s rómhór" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "ní cheadaítear liostaí iomadúla" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "is gá an teormharcóir a bheith ina charachtar aonarach" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "ní foláir duit liosta bearta, carachtair, nó réimsí a cheapadh" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "ní cheadaítear teormharcóir a thabhairt ach nuair atáthar ag oibriú le réimsí" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "ní cheiltear línte gan teormharcóirí ach nuair\n" "\tatáthar ag oibriú le réimsí" #: src/cut.c:870 msgid "missing list of fields" msgstr "liosta réimsí ar iarraidh" #: src/cut.c:872 msgid "missing list of positions" msgstr "liosta ionad ar iarraidh" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Úsáid: %s [ROGHA]... [+FORMÃID]\n" " nó: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=COMHAD taispeáin am an athraithe is déanaí do COMHAD\n" " -R, --rfc-2822 taispeáin dáta agus am de réir RFC 2822\n" " Mar shampla: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=AMCHÓD taispeáin dáta/am de réir RFC 3339.\n" " AMCHÓD=`date', `seconds', nó `ns' do dháta\n" " agus am leis an mbeachtas sonraithe.\n" " Scartar comhpháirteanna dáta/ama le spás " "aonair:\n" " 2006-08-07 12:34:56-06:00\n" " -s, --set=TEAGHRÃN socraigh an t-am de réir an TEAGHRÃIN\n" " -u, --utc, --universal taispeáin nó socraigh UTC\n" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "Rialaíonn FORMÃID an t-aschur. Sa dara foirm, níl aon rogha bhailí\n" "ach an ceann a shocraíonn UTC. Teaghráin léirmhínithe:\n" "\n" " %% '%' litriúil\n" " %a lá den tseachtain de réir an logchaighdeáin, giorraithe\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lá den tseachtain ina iomláine (m.sh., \"Dé Domhnaigh\")\n" " %b an mhí ghiorraithe (m.sh. \"Ean\")\n" " %B an mhí ina hiomláine (m.sh. \"Eanáir\")\n" " %c an dáta agus an t-am (m.sh., Aoine 30 MFómh 2005 14:23:52 UTC)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C an aois; cosúil le %Y ach gan an dá dhigit deiridh (m.sh., 21)\n" " %d lá den mhí (m.sh., 01)\n" " %D dáta; ar comhbhrí le %m/%d/%y\n" " %e lá den mhí, stuáilte le spásanna; ar comhbhrí le %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F an dáta iomlán; ar comhbhrí le %Y-%m-%d\n" " %g bliain uimhir na seachtaine ISO: an dá dhigit deiridh (féach ar %G)\n" " %G bliain uimhir na seachtaine ISO (féach ar %V); de ghnáth úsáidtear é " "seo le %V amháin\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h ar comhbhrí le %b\n" " %H uair (00..23)\n" " %I uair (01..12)\n" " %j lá den bhliain (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k uair ( 0..23)\n" " %l uair ( 1..12)\n" " %m mí (01..12)\n" " %M nóiméad (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n líne nua\n" " %N nanashoicindí (000000000..999999999)\n" " %p AM nó PM de réir an logchaighdeáin; (folamh más anaithnid é)\n" " %P cosúil le %p, ach le litreacha beaga\n" " %r an t-am, dhá uair déag (m.sh., 11:11:04 PM)\n" " %R an t-am, ceithre huaire fichead; ar comhbhrí le %H:%M\n" " %s soicindí ó `00:00:00 1970-01-01 UTC'\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S soicind (00..60)\n" " %t táb cothrománach\n" " %T an t-am; ar comhbhrí le %H:%M:%S\n" " %u lá den tseachtain (1..7); 1 = Dé Luain\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U uimhir na seachtaine sa bhliain, le Domhnach mar an chéad lá " "(00..53)\n" " %V uimhir na seachtaine ISO, le Luan mar an chéad lá (01..53)\n" " %w lá na seachtaine (0..6); 0=Dé Domhnaigh\n" " %W uimhir na seachtaine sa bhliain, le Luan mar an chéad lá (00.53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x léiriú den dáta de réir an logchaighdeáin (m.sh., 30.09.05)\n" " %X léiriú den am de réir an logchaighdeáin (m.sh., 14:34:58)\n" " %y dhá dhigit deiridh den bhliain (00..99)\n" " %Y an bhliain\n" #: src/date.c:221 #, fuzzy msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +uunn crios ama uimhriúil (m.sh., -0400)\n" " %:z +uu:nn crios ama uimhriúil (m.sh., -04:00)\n" " %::z +uu:nn:ss crios ama uimhriúil (m.sh., -04:00:00)\n" " %:::z crios ama uimhriúil le : go dtí an beachtas riachtanach\n" " (m.sh., -04, +05:30)\n" " %Z giorrúchán aibítreach ar an chrios ama (m.sh., EDT)\n" "\n" "De réir réamhshocraithe, stuálann `date' réimsí uimhriúla le nialais.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Is féidir na bratacha roghnacha seo a leanas a chur i ndiaidh `%':\n" "\n" " - (fleiscín) ná stuáil an réimse\n" " _ (fostríoc) stuáil le spásanna\n" " 0 (nialas) stuáil le nialais\n" " ^ úsáid an cás uachtair más féidir\n" " # úsáid an cás codarsnach más féidir\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Tá leithead roghnach an réimse i ndiaidh na mbratach, mar uimhir " "dheachúlach;\n" "ansin mionathraitheoir roghnach atá ceann de:\n" "E, chun léirithe malartacha an logchaighdeán a úsáid, más féidir, nó\n" "O, chun siombalacha malartacha uimhriúla an logchaighdeán a úsáid, más " "féidir.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "gnáth-ionchur" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "dáta neamhbhailí %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "sonraíodh formáidí iomadúla aschurtha" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "is comheisiatach iad na roghanna chun dátaí a cheapadh le priontáil" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "ní cheadaítear na roghanna chun an t-am a thaispeáint agus shocrú le chéile" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "tá `+' de dhíth ag tosach na hargóinte %s;\n" "Má tá tú ag baint úsáid as rogha chun dáta(í) a shocrú,\n" "ní foláir do gach rogha eile a bheith ina teaghrán formáide le `+' ar tosach." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "ní féidir an dáta a shocrú" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "is as raon an t-am %s" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s [OIBREANN]...\n" " nó: %s ROGHA\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Cóipeáil comhad, ag tiontú agus ag formáidiú dar leis na hoibrinn.\n" "\n" " bs=BEARTA fórsáil ibs=BEARTA agus obs=BEARTA\n" " cbs=BEARTA tiontaigh BEARTA beart sa turas\n" " conv=EOCHAIR tiontaigh de réir an liosta siombailí (scartha le camóga)\n" " count=BLOIC cóipeáil BLOIC bloc ionchurtha amháin\n" " ibs=BEARTA léigh BEARTA beart sa turas\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=COMHAD léigh ó CHOMHAD in ionad an ghnáth-ionchuir\n" " iflag=BRATACH léigh de réir an liosta siombailí, scartha le camóga\n" " obs=BEARTA scríobh BEARTA beart sa turas\n" " of=COMHAD scríobh chuig COMHAD in ionad an ghnáth-aschuir\n" " oflag=BRATACH scríobh de réir an liosta siombailí, scartha le camóga\n" " seek=BLOIC gabh thar BLOIC bloc (den mhéid obs) ar tosach an aschuir\n" " skip=BLOIC gabh thar BLOIC bloc (den mhéid ibs) ar tosach an " "ionchuir\n" " status=noxfer ná taispeáin staitistic faoin aistriú\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh BLOIC nó BEARTA:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" "\n" "Is féidir EOCHAIRFHOCAL a bheith:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii ó EBCDIC go ASCII\n" " ebcdic ó ASCII go EBCDIC\n" " ibm ó ASCII go EBCDIC malartach\n" " block stuáil le spásanna go cbs-size gach taifead atá scortha le líne " "nua\n" " unblock cuir línte nua in ionad spásanna ag deireadh de thaifid de cbs-" "size\n" " lcase athraigh an cás uachtair go dtí an cás íochtair\n" " ucase athraigh an cás íochtair go dtí an cás uachtair\n" " swab babhtáil gach cúpla beart san ionchur\n" " sync stuáil gach bloc ionchurtha le carachtair NUL go dtí ibs-size;\n" " nuair atá `block' nó `unblock' in úsáid, stuáil le spásanna\n" " in ionad carachtair NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl teip má tá an t-aschomhad ann cheana\n" " nocreat ná cruthaigh an t-aschomhad\n" " noerror lean ar aghaidh tar éis earráidí sa léamh\n" " notrunc ná déan teascadh ar an aschomhad\n" " fdatasync scríobh ar an aschomhad go fisiceach roimh chríochnú\n" " fsync mar an gcéanna, ach scríobh meiteashonraí freisin\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Is féidir le gach BRATACH a bheith:\n" "\n" " append mód iarcheangail (ná húsáid ach le haschur; moltar " "conv=notrunc)\n" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr " text úsáid I/A téacs le haghaidh sonraí\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct úsáid I/A díreach le haghaidh sonraí\n" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr " directory teip mura comhadlann é\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync úsáid I/A sioncrónaithe le haghaidh sonraí\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync mar an gcéanna, ach le haghaidh meiteashonraí fosta\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock úsáid I/A gan bhacainní\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime ná nuashonraigh an t-am rochtana\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ná ceap an teirminéal rialaithe ó chomhad\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ná lean naisc shiombalacha\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks teip má tá naisc iomadúla ann\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary úsáid I/A dénártha le haghaidh sonraí\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text úsáid I/A téacs le haghaidh sonraí\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Má sheoltar comhartha %s chuig próiseas `dd' beo, scríobhfaidh sé " "staitistic\n" "I/A chuig an ghnáth-aschur earráide, agus ansin atosóidh sé an chóipeáil.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 taifead isteach\n" " 18335302+0 taifead amach\n" " 9387674624 beart (9.4 GB) cóipeáilte, 34.6279 soicind, 271 MB/s\n" "\n" "Roghanna:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> taifead isteach\n" "%<PRIuMAX>+%<PRIuMAX> taifead amach\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> taifead teasctha\n" msgstr[1] "%<PRIuMAX> thaifead teasctha\n" msgstr[2] "%<PRIuMAX> thaifead teasctha\n" msgstr[3] "%<PRIuMAX> dtaifead teasctha\n" msgstr[4] "%<PRIuMAX> taifead teasctha\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "cóipeáladh %<PRIuMAX> bheart (%s)" msgstr[1] "cóipeáladh %<PRIuMAX> bheart (%s)" msgstr[2] "cóipeáladh %<PRIuMAX> bheart (%s)" msgstr[3] "cóipeáladh %<PRIuMAX> mbeart (%s)" msgstr[4] "cóipeáladh %<PRIuMAX> beart (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "Éigríoch B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g shoicind, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "inchomhad %s á dhúnadh" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "aschomhad %s á dhúnadh" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "theip ar chdir go dtí an chomhadlann %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "á scríobh i %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "oibreann anaithnid %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "tiontú neamhbhailí" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "bratach neamhbhailí ionchurtha" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "bratach neamhbhailí aschurtha" #: src/dd.c:1227 msgid "invalid status flag" msgstr "bratach neamhbhailí stádais" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "uimhir neamhbhailí %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "ní féidir aon dá cheann de {ascii,ebcdic,ibm} a úsáid lena chéile" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "ní féidir `block' agus `unblock' a úsáid lena chéile" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "ní féidir `lcase' agus `ucase' a úsáid lena chéile" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "ní féidir `excl' agus `nocreat' a úsáid lena chéile" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "ní féidir `excl' agus `nocreat' a úsáid lena chéile" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "rabhadh: ag seachaint fabht eithne `lseek' don chomhad (%s)\n" " de mt_type=0x%0lx -- féach ar <sys/mtio.h> le haghaidh liosta cineálacha" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: ní féidir seek a dhéanamh" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: ní féidir seek a dhéanamh" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "fritháireamh thar maoil agus comhad %s á léamh" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "rabhadh: fritháireamh neamhbhailí i ndiaidh léamh teipthe" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "tar éis an tsaoil, ní féidir fabht san eithne a sheachaint" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "bratacha á socraithe le haghaidh %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: ní féidir bogadh go fritháireamh coibhneasta %s" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "á theascadh ag %<PRIuMAX> beart san aschomhad %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "theip ar fdatasync i gcomhair %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "theip ar fsync i gcomhair %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "Ní féidir %s a oscailt" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "fritháireamh rómhór: ní féidir teascadh go fad %<PRIuMAX> (%lu beart) bloc" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "á theascadh ag %<PRIuMAX> beart san aschomhad %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "theip ar chdir go dtí an chomhadlann %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Córas comhaid" #: src/df.c:175 msgid "Type" msgstr "Cineál" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloc" #: src/df.c:181 msgid "Used" msgstr "Ãdithe" #: src/df.c:184 msgid "Available" msgstr "Ar Fáil" #: src/df.c:187 msgid "Use%" msgstr "Úsáid%" #: src/df.c:190 msgid "Inodes" msgstr "Inóid" #: src/df.c:193 msgid "IUsed" msgstr "Iídithe" #: src/df.c:196 msgid "IFree" msgstr "Isaor" #: src/df.c:199 msgid "IUse%" msgstr "IÚsáid%" # my coinage - cuir suas = mount in this sense --KPS #: src/df.c:202 msgid "Mounted on" msgstr "Curtha suas ar" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "rabhadh: comhad foinse %s tugtha níos mó ná uair amháin" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Méid" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "ArFáil" #: src/df.c:474 msgid "Capacity" msgstr "Iomlán" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Taispeáin eolas faoin chóras comhaid ar a bhfuil gach COMHAD,\n" "nó faoi gach córas comhaid mar réamhshocrú.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all cuir córais chaocha chomhaid san áireamh\n" " -B, --block-size=MÉID úsáid bloic den mhéid MÉID beart\n" " -h, --human-readable taispeáin méideanna i gcruth inléite (m.sh., 1K 2G " "srl)\n" " -H, --si mar an gcéanna, ach le 1K=1000, nach 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes taispeáin eolas inode in ionad úsáid na mbloc\n" " -k ar comhbhrí le `--block-size=1K'\n" " -l, --local ná taispeáin ach córais chomhaid logánta\n" " --no-sync ná sync roimh eolas úsáide a fháil (réamhshocrú)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability taispeáin torthaí i gcruth POSIX\n" " --sync sync roimh eolas úsáide a fháil\n" " -t, --type=CINEÃL ná taispeáin ach córais chomhaid den chineál CINEÃL\n" " -T, --print-type taispeáin an cineál chóras comhaid\n" " -x, --exclude-type=CINEÃL ná taispeáin córais chomhaid den chineál CINEÃL\n" " -v (gan feidhm)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "is comheisiatach iad na roghanna chun dátaí a cheapadh le priontáil" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Rabhadh: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "Tá an cineál %s roghnaithe agus fágtha as" #: src/df.c:1500 msgid "Warning: " msgstr "Rabhadh: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "ní féidir an tábla de chórais chomhad feistithe a léamh" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "níor próiseáladh aon chórais chomhaid" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Úsáid: %s [ROGHA]... [COMHAD]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Taispeáin orduithe chun na hathróige thimpeallachta LS_COLORS a shocrú.\n" "\n" "Roghnaigh an fhormáid aschurtha:\n" " -b, --sh, --bourne-shell taispeáin cód Bourne chun LS_COLORS a shocrú\n" " -c, --csh, --c-shell taispeáin cód C-shell chun LS_COLORS a shocrú\n" " -p, --print-database taispeáin réamhshocruithe\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Má tá COMHAD tugtha, léigh uaidh na dathanna a úsáid le gach cineál " "comhaid.\n" "Mura bhfuil, bainfear úsáid as bunachar sonraí réamhthiomsaithe.\n" "Úsáid `dircolors --print-database' chun an cruth de na comhaid seo a " "fheiceáil\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: líne neamhbhailí; dara teaghrán ar iarraidh" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: lorgfhocal anaithnid %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<inmheánach>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "is comheisiatach iad na roghanna chun an bunachar sonraí dircolors a aschur\n" "agus na roghanna chun comhréire blaoisce a roghnú" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "Ní féidir oibrinn chomhaid a úsáid in éineacht leis an rogha --print-" "database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "níl an athróg thimpeallachta SHELL ar fáil, agus ní thugtar rogha den " "chineál blaoisce" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Úsáid: %s [ROGHA] AINM...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Taispeáin AINM lena /bhall deiridh bainte amach; mura bhfuil slais in AINM,\n" "priontáil `.' (an chomhadlann oibre).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero-terminated úsáid NUL foirceanta in ionad líne nua\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Mar shampla:\n" " %s /usr/bin/sort Aschur \"/usr/bin\".\n" " %s stdio.h Aschur \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Úsáid: %s [ROGHA]... [COMHAD]...\n" " nó: %s [ROGHA]... --files0-from=C\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Coimrigh úsáid diosca do gach COMHAD, go hathchúrsach do chomhadlanna.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all taispeáin gach comhad, nach comhadlanna amháin\n" " --apparent-size taispeáin méideanna dealraitheacha, in ionad úsáid\n" " dhiosca; tá an mhéid dealraitheach níos lú go " "minic,\n" " ach is féidir a bheith níos mó mar thoradh ar " "phoill\n" " i gcomhaid (`tanaí), bloghadh inmheánach, bloic\n" " indíreacha agus a leithéidí\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=MÉID bain úsáid as bloic den mhéid MÉID\n" " -b, --bytes ar comhbhrí le `--apparent-size --block-size=1'\n" " -c, --total taispeáin suim iomlán\n" " -D, --dereference-args dí-thagair naisc shiombalacha a thugtar ar\n" " líne na n-orduithe amháin\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=C achoimrigh spás diosca úsáidte ag na comhaid atá\n" " ainmnithe i gcomhad C, foirceanta le NULanna\n" " -H cosúil le --si, ach taispeánann sé rabhadh; beidh " "sé\n" " ar comhbhrí le --dereference-args (-D) go luath\n" " -h, --human-readable taispeáin méideanna i gcruth inléite (m.sh, 1K 234M " "2G)\n" " --si cosúil le -h, ach le 1K=1000 in ionad 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k ar comhbhrí le `--block-size=1K'\n" " -l, --count-links cuir méid san áireamh gach uair más nasc crua é\n" " -m ar comhbhrí le `--block-size=1M'\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference dí-thagair gach nasc siombalach\n" " -P, --no-dereference ná lean aon nasc siombalach (réamhshocrú)\n" " -0, --null Foirceann gach líne aschurtha le 0 in ionad líne " "nua\n" " -S, --separate-dirs ná cuir comhadlanna san áireamh\n" " -s, --summarize ná taispeáin ach an tsuim iomlán\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time taispeáin am an mhionathraithe is déanaí d'aon " "chomhad\n" " sa chomhadlann, nó ina fochomhadlanna\n" " --time=FOCAL taispeáin an t-am mar FOCAL in ionad an ama " "mionathraithe:\n" " atime, access, use, ctime nó status\n" " --time-style=STÃL taispeáin an t-am de réir na STÃLE sonraithe:\n" " full-iso, long-iso, iso, +FORMÃID\n" " Parsáiltear FORMÃID cosúil le `date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Éigríoch B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "theip ar fts_read" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "doimhneacht uasta neamhbhailí %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argóint neamhbhailí %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "ní féidir coimriú a dhéanamh agus gach iontráil a thaispeáint" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "rabhadh: is ionann iad coimriú agus --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "rabhadh: tagann an coimriú agus --max-depth=%lu salach ar a chéile" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Ní féidir oibrinn chomhaid a úsáid in éineacht le --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: earráid sa léamh" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "ní cheadaítear comhad darbh ainm %s agus ainmneacha comhaid á léamh ón " "ghnáth-ionchur" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "ainm neamhbhailí comhaid: folamh" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "iomlán" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Úsáid: %s [TEAGHRÃN]...\n" " nó: %s ROGHA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Déan macalla ar an/na TEAGHRÃ(I)N chuig an ghnáth-aschur.\n" "\n" " -n ná scríobh an líne nua fhoirceanta\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e úsáid carachtair éalúcháin le cúlslaiseanna (réamhshocrú)\n" " -E ná húsáid na carachtair éalúcháin\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e bain úsáid as na carachtair éalúcháin le cúlslaiseanna\n" " -E ná bain úsáid as na carachtair éalúcháin (réamhshocrú)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c lig an líne nua fhoirceanta ar lár\n" " \\f foirmfhotha\n" " \\n líne nua\n" " \\r aisfhilleadh\n" " \\t táb cothrománach\n" " \\v táb ingearach\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Úsáid: %s [ROGHA]... [-] [AINM=LUACH]... [ORDÚ [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Sann an LUACH go gach AINM sa timpeallacht agus rith ORDÚ.\n" "\n" " -i, --ignore-environment tosaigh le timpeallacht fholamh\n" " -u, --unset=AINM scrios an athróg AINM as an timpeallacht\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Ciallaíonn `-' lom an rogha `-i'. Mura bhfuil ORDÚ ann, taispeáin an " "timpeallacht.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "ní féidir %s a `stat'" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "ní féidir %s a `stat'" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tiontaigh na táib i ngach COMHAD go spásanna agus scríobh chuig an\n" "ghnáth-aschur. Mura bhfuil COMHAD ann, nó más - é, léigh ón ghnáth-ionchur.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ná tiontaigh TÃB i ndiaidh carachtair nach spás bán\n" " -t, --tabs=UIMHIR cuir táib UIMHIR carachtar ó chéile in ionad 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LIOSTA úsáid LIOSTA táib faoi leith, scartha le camóga\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "is rómhór an tábstop %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tá carachta(i)r neamhbhailí sa mhéid táib: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "ní féidir méid táib nialasach" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "caithfidh na méideanna táib a bheith ardaitheach" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "tá an líne ionchurtha rófhada" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s SLONN\n" " nó: %s ROGHA\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Cuir an luach de SLONN chuig an ghnáth-aschur. Dealaíonn líne fholamh\n" "thíos grúpaí tosaíochta. Is féidir SLONN a bheith:\n" "\n" " ARG1 | ARG2 ARG1 mura bhfuil sé nialasach, ARG2 má tá\n" "\n" " ARG1 & ARG2 0 má tá ceachtar nialasach, ARG1 mura bhfuil\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 Tá ARG1 níos lú ná ARG2\n" " ARG1 <= ARG2 Tá ARG1 níos lú ná, nó is ionann agus, ARG2\n" " ARG1 = ARG2 is ionann iad ARG1 agus ARG2\n" " ARG1 != ARG2 ní ionann ARG1 agus ARG2\n" " ARG1 >= ARG2 Tá ARG1 níos mó ná, nó is ionann agus, ARG2\n" " ARG1 > ARG2 Tá ARG1 níos mó ná ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 suim uimhríochtúil de ARG1 agus ARG2\n" " ARG1 - ARG2 difríocht uimhríochtúil idir ARG1 agus ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 iolrach uimhríochtúil de ARG1 agus ARG2\n" " ARG1 / ARG2 líon uimhríochtúil de ARG1 roinnte le ARG2\n" " ARG1 % ARG2 fuílleach agus ARG1 á roinnt le ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " TEAGHRÃN : SLONN comhoiriúnaigh an patrún SLONN i dTEAGHRÃN\n" "\n" " match TEAGHRÃN SLONN ar comhbhrí le `TEAGHRÃN : SLONN\n" " substr TEAGHRÃN ÃIT FAD fotheaghrán de TEAGHRÃN, tosaíonn ÃIT ag 1\n" " index TEAGHRÃN CAR áit i dTEAGHRÃN atá aon charachtar i CAR, nó 0\n" " length TEAGHRÃN fad an TEAGHRÃIN\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SIOMBAIL caith le SIOMBAIL mar theaghrán, fiú más\n" " lorgfhocal é, mar `match', nó oibreoir mar " "`/'\n" "\n" " ( SLONN ) luach de SLONN\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Ní foláir duit cuid mhór oibreoirí a chur idir comharthaí athfhriotal chun\n" "iad a chosaint ón bhlaosc. Déan comparáid uimhríochtúil más uimhreacha " "ARG1\n" "agus ARG2; i ngach cás eile, déan comparáid fhoclóireachta. Ais-seolann " "patrúin\n" "chomhoiriúnacha an teaghrán atá idir \\( agus \\), nó nialas; mura bhfuil\n" "\\( agus \\) ann, ais-seolann siad líon na gcarachtar a bhí " "comhoiriúnaithe.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Stádas scortha = 0 mura bhfuil SLONN nialasach, 1 má tá,\n" "2 más slonn neamhbhailí é, agus 3 má tharlaíonn earráid.\n" # in FARF --KPS #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "earráid chomhréire" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "earráid le linn cuardaigh ar shlonn ionadaíochta" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argóint neamhuimhriúil" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "roinnt le nialas" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Cuir LC_ALL='C' ionas gur féidir an fhadhb seo a sheachaint." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Rinneadh comparáid idir na teaghráin %s agus %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "Ní slánuimhir dheimhneach bhailí é %s" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "tá %s rómhór" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s [UIMHIR]...\n" " nó: %s ROGHA\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" "Taispeáin na fachtóirí príomha de gach UIMHIR sonraithe. Mura bhfuil\n" "argóintí ann, léigh iad ón ghnáth-ionchur.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "níl an chomhadlann reatha ar fáil" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "ní féidir an chomhadlann oibre a athrú go %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "níl an chomhadlann oibre ar fáil (%s anois)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Úsáid: %s [-DIGITÃ] [ROGHA]... [COMHAD]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Athdhéan an fhormáid de gach paragraf s(n)a COMHA(I)D, agus scríobh\n" "an toradh chuig an ghnáth-aschur. Mura bhfuil COMHAD ann, nó más '-' é,\n" "léigh ón ghnáth-ionchur.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin coinnigh eangú den chéad dá líne\n" " -p, --prefix=TEAGHRÃN ná ceangail ach línte le réimír TEAGHRÃN, agus\n" " athcheangail an réimír le línte " "athfhormáidithe\n" " -s, --split-only deighil línte fada, ach ná hathlíon\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph déan eangú an chéad líne leis an dara cheann\n" " -u, --uniform-spacing spás aonarach idir focail, dhá i ndiaidh " "abairtí\n" " -w, --width=UIMHIR uasmhéid leithid líne (réamhshocrú 75 colún)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "rogha neamhbhailí -- %c; ní ghlactar le -LEITHEAD ach nuair atá sé an chéad\n" "rogha; úsáid -w N ina háit" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "leithead neamhbhailí: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Timfhill línte ionchurtha i ngach COMHAD (gnáth-ionchur mar réamhshocrú)\n" "agus scríobh chuig an ghnáth-aschur.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes uimhrigh bearta seachas colúin\n" " -s, --spaces bris ag spásanna\n" " -w, --width=LEITHEAD úsáid LEITHEAD colún in ionad 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "líon neamhbhailí na gcolún: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Úsáid: %s [ROGHA]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "níorbh fhéidir grúpaí a fháil le haghaidh %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "níorbh fhéidir grúpaí a fháil le haghaidh an phróisis reatha" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "níl aon fháil ar ainm don aitheantas grúpa %lu" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Úsáid: %s [ROGHA]... [ÚSÃIDEOIR]\n" #: src/groups.c:54 #, fuzzy msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Taispeáin faisnéis le haghaidh ÚSÃIDEOIR nó, mura dtugtar ÚSÃIDEOIR,\n" "an próiseas reatha (atá difriúil má tá an bunachar sonraí grúpaí tar éis a " "athrú).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "ní féidir aitheantas an úsáideora a shocrú" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "ní féidir %s a dhí-thagairt" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "ní féidir aitheantas an úsáideora a shocrú" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Níl a leithéid d'úsáideoir ann" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Taispeáin an chéad deich líne i ngach COMHAD chuig an ghnáth-aschur.\n" "Má tá níos mó ná COMHAD amháin, taispeáin ceanntásc leis an ainm comhaid\n" "roimh gach COMHAD. Mura bhfuil COMHAD ann, nó más '-' é, léigh ón\n" "ghnáth-ionchur.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N taispeáin an chéad N beart de gach comhad;\n" " leis an `-' tosaigh, taispeáin an comhad uile\n" " seachas an N beart is déanaí ó gach comhad\n" " -n, --lines=[-]N taispeáin an chéad N líne in ionad an chéad 10;\n" " leis an `-' tosaigh, taispeáin an comhad uile\n" " seachas an N líne is déanaí ó gach comhad\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent ná taispeáin ceanntásc leis an ainm comhaid\n" " -v, --verbose taispeáin an ceanntásc leis an ainm comhaid\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh N:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: is róchraptha an comhad" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: is rómhór líon na mbeart" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" "%s: ní féidir `lseek' a dhéanamh ar ais go dtí an láthair thionscantach" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: ní féidir bogadh go fritháireamh %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: theip ar bhaint" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "ní féidir an pointeoir comhaid a athshocrú do %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: tá %s chomh mór nach inléirithe é" #: src/head.c:886 msgid "number of lines" msgstr "líon na línte" #: src/head.c:886 msgid "number of bytes" msgstr "líon na mbeart" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "líon na línte neamhbhailí" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "líon neamhbhailí na mbeart" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "rogha neamhbhailí chun deiridh -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Úsáid: %s\n" " nó: %s ROGHA\n" "Taispeáin an t-aitheantóir uimhriúil (heicsidheachúlach) don óstríomhaire.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Úsáid: %s [AINM]\n" " nó: %s ROGHA\n" "Taispeáin nó socraigh óstainm an chórais reatha.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "ní féidir an t-ainm a shocrú mar %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "ní féidir leis an chóras seo a óstainm a shocrú" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "ní féidir an t-óstainm a aimsiú" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Úsáid: %s [ROGHA]... [ÚSÃIDEOIR]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Taispeáin eolas faoi ÚSÃIDEOIR, nó faoin úsáideoir reatha.\n" "\n" " -a déan neamhshuim de (le haghaidh comhoiriúnacht siar)\n" " -Z, --context ná taispeáin ach comhthéacs slándála an úsáideora reatha\n" " -g, --group ná taispeáin ach an t-aitheantas grúpa atá i bhfeidhm\n" " -G, --groups taispeáin gach aitheantas grúpa\n" " -n, --name taispeáin ainm in ionad uimhreach, le -ugG\n" " -r, --real taispeáin an fíoraitheantas in ionad an aitheantais atá\n" " i bhfeidhm, le -ugG\n" " -u, --user ná taispeáin ach an t-aitheantas úsáideora atá i bhfeidhm\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Mura bhfuil ROGHA ann, taispeáin roinnt bheag eolais thairbhigh.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "oibríonn --context (-Z) le heithne atá cumasaithe do SELinux amháin" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "ní féidir an comhthéacs slándála nuair atá sonraithe ag an úsáideoir" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "ní féidir \"only\" a thaispeáint le haghaidh níos mó ná rogha amháin" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "ní féidir ach ainmneacha nó fíoraitheantais a thaispeáint san fhormáid " "réamhshocraithe" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "níl aon fháil ar chomhthéacs an phróisis" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "ní féidir %s a dhí-thagairt" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "níl aon fháil ar ainm don aitheantas úsáideora %lu" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " grúpaí=" #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "comhthéacs neamhbhailí: %s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "rabhadh: %s: níorbh fhéidir an comhthéacs a athrú go %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "comhadlann %s á cruthú" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "ní féidir an t-úinéir de %s a athrú" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "ní féidir an stampa ama a shocrú do %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "theip ar ghlao córais fork()" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "ní féidir \"strip\" a rith" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "ag feitheamh le \"strip\"" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "chríochnaigh \"strip\" gan an chúis a mhíniú" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "úsáideoir neamhbhailí %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC\n" " nó: %s [ROGHA]... FOINSE... COMHADLANN\n" " nó: %s [ROGHA]... -t COMHADLANN FOINSE...\n" " nó: %s [ROGHA]... -d COMHADLANN...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "Sa chéad trí leagan, cóipeáil FOINSE go SPRIOC nó FOINSE/à go COMHADLANN " "atá\n" "ann cheana, agus socraigh ceadanna, úinéir, agus grúpa.\n" "Sa cheathrú leagan, cruthaigh gach ball den chomhadlann(a) atá tugtha.\n" "\n" # backup stuff same as cp. -KPS #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann\n" " -b cosúil le `--backup' ach gan argóint\n" " -c (gan feidhm)\n" " -d, --directory is comhadlann gach argóint; cruthaigh gach ball de na\n" " comhadlanna sonraithe\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D cruthaigh gach ball de SPRIOC seachas an deireadh,\n" " agus ansin cóipeáil FOINSE go SPRIOC\n" " -g, --group=GRÚPA socraigh grúpa in ionad an ghrúpa den phróiseas " "reatha\n" " -m, --mode=MÓD socraigh na ceadanna (mar le chmod), in ionad `rwxr-xr-" "x\n" " -o, --owner=ÚINÉIR socraigh an t-úinéir (forúsáideoir amháin)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps caomhnaigh amanna rochtana/mionathraithe de " "na\n" " FOINSà leis na sprioc-chomhaid faoi seach\n" " -s, --strip struipeáil siombailí\n" " -S, --suffix=IARMHÃR sáraigh an iarmhír réamhshocraithe cúltaca\n" " -t, --target-directory=CMDLANN cóipeáil gach FOINSE go dtí an CMDLANN\n" " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" " -v, --verbose taispeáin gach comhadlann agus á cruthú\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context caomhnaigh an comhthéacs slándála SELinux\n" " -Z, --context=CMHTCS socraigh comhthéacs slándála de chomhaid/" "chomhadlanna\n" #: src/install.c:859 #, fuzzy, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "Rabhadh: ag déanamh neamhaird de --preserve-context; níl an eithne seo " "cumasaithe do SELinux." #: src/install.c:869 #, fuzzy, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "Rabhadh: ag déanamh neamhaird de --context (-Z); níl an eithne seo " "cumasaithe do SELinux." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "ní cheadaítear an rogha --strip agus comhadlann á suiteáil" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "ní cheadaítear sprioc-chomhadlann agus comhadlann á suiteáil" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "ní féidir cur iallach ar chomhthéacs sprice %s agus é a chaomhnú" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "mód neamhbhailí %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "is comheisiatach iad na roghanna --string agus --check" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "is comheisiatach iad na roghanna chun dátaí a cheapadh le priontáil" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Scríobh líne chuig an ghnáth-aschur do gach péire de línte ionchurtha le\n" "réimsí ceangal comhoiriúnacha. Is an chéad réimse an ceann " "réamhshocraithe,\n" "cuimsithe le spás bán. Más `-' COMHAD1 nó COMHAD2 (nach iad araon), léigh\n" "ón ghnáth-ionchur.\n" " -a TAOBH taispeáin línte gan phéire as an gcomhad TAOBH\n" " -e FOLAMH cuir FOLAMH in ionad réimsí ionchurtha ar iarraidh\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ná bí cásíogair agus réimsí á gcur i gcomparáid\n" " -j RÉIMSE ar comhbhrí le `-1 RÉIMSE -2 RÉIMSE'\n" " -o FORMÃID tóg an líne aschurtha de réir FORMÃID\n" " -t CAR úsáid CAR mar theormharcóir idir réimsí ionchur/aschur\n" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v TAOBH cosúil le `-a TAOBH', ach múch línte nasctha aschurtha\n" " -1 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 1\n" " -2 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 2\n" " --check-order féach an bhfuil an t-ionchur sórtáilte mar is ceart,\n" " fiú má táthar in ann gach líne ionchurtha a " "phéireáil.\n" " --nocheck-order ná féach an bhfuil an t-ionchur sórtáilte mar is ceart\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Má tá `-t CAR' ceaptha, scar réimsí le CAR; mura bhfuil sé ceaptha, scar\n" "réimsí le spásanna tosaigh. Is uimhir RÉIMSE, uimhrithe ó 1. Is éard\n" "atá i bhFORMÃID: sonraitheoir i gcruth `TAOBH.RÉIMSE' nó `0', nó roinnt\n" "sonraitheoirí mar seo, scartha le camóga nó spásanna. Taispeánann an\n" "FHORMÃID réamhshocraithe an réimse ceangail, na réimsí fuílligh as COMHAD1,\n" "agus na réimsí fuílligh as COMHAD2, scartha le CAR.\n" "\n" "Tábhachtach: ní foláir COMHAD1 agus COMHAD2 a shórtáil de réir na\n" "réimsí ceangail.\n" "Mar shampla, úsáid `sort -k 1b,1' mura bhfuil roghanna ag `join'.\n" "Mura bhfuil an t-ionchur sórtáilte agus ní féidir roinnt línte a nascadh,\n" "taispeánfar teachtaireacht rabhaidh duit.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "uimhir neamhbhailí réimse: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "sonraitheoir neamhbhailí réimse: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "uimhir neamhbhailí chomhaid i sonraitheoir réimse: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "réimsí neamh-chomhoiriúnacha ceangail %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "teaghrán ionaid le haghaidh réimsí folmha i gcoinbhleacht" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "táb ilcharachtair %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "táib éaguibhreannacha" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ní gnáth-ionchur é ceann de na comhaid" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Úsáid: %s [-s COMHARTHA | -SIGNAL] PID...\n" " nó: %s -l [COMHARTHA]...\n" " nó: %s -t [COMHARTHA]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Cuir comharthaí chuig próisis, nó taispeáin comharthaí.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=COMHARTHA, -COMHARTHA\n" " tabhair an t-ainm nó an uimhir den chomhartha le seoladh\n" " -l, --list taispeáin ainmneacha na gcomharthaí, nó tiontaigh\n" " ainmneacha go/ó uimhreacha\n" " -t, --table taispeáin tábla le heolas faoi chomharthaí\n" # stádas scortha in FARF --KPS #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "Is féidir COMHARTHA a bheith ainm, mar `HUP', nó uimhir mar `1',\n" "nó stádas scortha de phróiseas a bhí scortha le comhartha.\n" "Is slánuimhir PID; más diúltach é, ciallaíonn sé grúpa próisis.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: aitheantas neamhbhailí próisis" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "rogha neamhbhailí -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: Tugadh comharthaí iomadúla" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "roghanna -l nó -t iomadúla" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "ní féidir comhartha a chumasc le -l nó -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "níor tugadh aitheantas próisis ar bith" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "argóint neamhbhailí %s chun %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s COMHAD1 COMHAD2\n" " nó: %s ROGHA\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Glaoigh ar an fheidhm link() chun COMHAD2 a nascadh le COMHAD1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "ní féidir nasc a chruthú ó %s chuig %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: ní cheadaítear nasc crua le comhadlann" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: ní féidir forscríobh a dhéanamh ar chomhadlann" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: ionadaigh %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "ní féidir an nasc siombalach %s a chruthú" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "ní féidir nasc siombalach a dhéanamh ó %s go %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "nasc crua le %.0s%s á chruthú" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "ní féidir nasc crua %s a chruthú go dtí %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "ní féidir nasc crua %s a chruthú go dtí %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Úsáid: %s [ROGHA]... [-T] SPRIOC AINM_NAISC (an chéad leagan)\n" " nó: %s [ROGHA]... SPRIOC (an dara leagan)\n" " nó: %s [ROGHA]... SPRIOC... COMHADLANN (an tríú leagan)\n" " nó: %s [ROGHA]... -t COMHADLANN SPRIOC... (an cheathrú leagan)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Sa chéad fhoirm, cruthaigh nasc le SPRIOC, darb ainm AINM_NAISC.\n" "Sa dara foirm, cruthaigh nasc le SPRIOC sa chomhadlann reatha.\n" "Sa 3ú agus 4ú foirm, cruthaigh nasc le gach SPRIOC i gCOMHADLANN.\n" "Is naisc chrua an réamhshocrú, agus naisc shiombalacha le --symbolic.\n" "Ní foláir gach SPRIOC a bheith ann agus naisc chrua á gcruthú.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann\n" " -b cosúil le `--backup' ach gan argóint\n" " -d, -F, --directory ceadaigh don fhorúsáideoir nasc crua do\n" " chomhadlanna a dhéanamh (ach is dócha go\n" " dteipfear de bharr srianta an chórais, go " "fiú\n" " don fhorúsáideoir)\n" " -f, --force scrios sprioc-chomhad má tá sé ann cheana\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference ná lean naisc shiombalacha\n" " -i, --interactive fiafraigh roimh sprioc-chomhaid a scriosadh\n" " -s, --symbolic naisc shiombalacha in ionad nasc crua\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=IARMHÃR sáraigh an iarmhír réamhshocraithe cúltaca\n" " -t, --target-directory=COMHADLANN socraigh an CHOMHADLANN ina " "gcruthaítear\n" " na naisc\n" " -T, --no-target-directory caith le AINM_NAISC mar ghnáthchomhad\n" " -v, --verbose taispeáin an t-ainm de gach comhad nasctha\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "Ní féidir --target-directory a úsáid in éineacht le --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "ní féidir an nasc siombalach %s a chruthú" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: anaithnid" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Úsáid: %s [ROGHA]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Taispeáin an t-ainm den úsáideoir reatha.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "níl aon ainm logáilte isteach ann" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "tá an athróg thimpeallachta QUOTING_STYLE neamhbhailí: %s; ag ligean thar" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "tá an athróg thimpeallachta COLUMNS neamhbhailí: %s; ag ligean thar" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "tá an athróg thimpeallachta TABSIZE neamhbhailí: %s; ag ligean thar" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "leithead líne neamhbhailí: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "méid neamhbhailí táib: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "formáid neamhbhailí ar an am: %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Na hargóintí bailí:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "réimír anaithnid: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "tá an athróg thimpeallachta LS_COLORS neamhbhailí" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "ní féidir an chomhadlann %s a oscailt" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "ní féidir an gléas agus inode de %s a dhéanamh amach" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: ní liostófar comhadlann atá liostaithe cheana" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "comhadlann %s á léamh" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "comhadlann %s á dúnadh" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" "ní féidir na hainmneacha comhaid %s agus %s a chur i gcomparáid le chéile" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Taispeáin eolas faoin COMHA(I)D (sa chomhadlann reatha mar réamhshocrú).\n" "Sórtáil san ord aibítre mura bhfuil --sort ná aon cheann de -cftuvSUX ann.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all ná folaigh iontrálacha le . ar tosach\n" " -A, --almost-all ná taispeáin . agus .. intuigthe\n" " --author le -l, taispeáin an t-údar de gach comhad\n" " -b, --escape ochtnártha in ionad carachtair neamhghrafacha\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=MÉID úsáid bloic den mhéid MÉID beart\n" " -B, --ignore-backups ná taispeáin iontrálacha le ~ ag deireadh\n" " -c le -lt: sórtáil de réir, agus taispeáin ctime\n" " le -l: taispeáin ctime agus sórtáil de réir " "ainm\n" " i ngach cás eile: sórtáil de réir ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C taispeáin iontrálacha de réir colúin\n" " --color[=CATHAIN] rialú an úsáid de dhathanna chun comhaid a " "dhealú\n" " CATHAIN = `never', `always', nó `auto'\n" " -d, --directory taispeáin comhadlanna in ionad a n-ábhar\n" " -D, --dired gin aschur chun an mhóid dired i Emacs\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f ná sórtáil, úsáid -aU, ná húsáid -ls --color\n" " -F, --classify cuir ceann de */=>@| leis na hiontrálacha\n" " --file-type mar an gcéanna, ach ná hiarcheangail `*'\n" " --format=FOCAL across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time ar comhbhrí le `-l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" " -g cosúil le -l, ach ná taispeáin úinéir an " "liosta\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " grúpáil comhadlanna roimh chomhaid.\n" " méadaigh le rogha --sort, ach díchumasófar\n" " grúpáil má bhaintear úsáid ar bith as\n" " --sort=none (-U)\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group i liosta fada, ná taispeáin ainm an ghrúpa\n" " -h, --human-readable le -l, taispeáin méideanna i bhformáid inléite\n" " (m.sh., 1K 234M 2G srl.)\n" " --si mar an gcéanna, ach le 1K=1000, ní 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " lean naisc shiombalacha ó líne na n-orduithe\n" " --dereference-command-line-symlink-to-dir\n" " lean gach nasc siombalach ar líne na n-" "orduithe\n" " atá nasctha le comhadlann\n" " --hide=PATRÚN ná taispeáin iontrálacha atá comhoiriúnach " "leis\n" " an PATRÚN blaoisce (sáraithe ag -a nó -A)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=FOCAL cuir táscaire den chineál FOCAL le " "hiontrálacha:\n" " none (réamhshocrú), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode taispeáin treoiruimhir de gach comhad\n" " -I, --ignore=PATRÚN ná taispeáin iontrálacha intuigthe atá\n" " comhoiriúnach le PATRÚN\n" " -k ar comhbhrí le `--block-size=1K'\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l bain úsáid as an mhód fhoclach\n" " -L, --dereference nuair atá nasc siombalach ann, taispeáin an\n" " t-eolas faoin tagraí seachas an nasc féin\n" " -m taispeáin iontrálacha scartha le camóga\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid cosúil le -l, ach taispeáin UID/GID uimhriúla\n" " -N, --literal taispeáin ainmneacha amha (ná caith le " "carachtair\n" " éalúcháin go speisialta)\n" " -o cosúil le `-l', ach gan eolas faoin ghrúpa\n" " -p, --indicator-style=slash\n" " cuir táscaire / le comhadlanna\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars taispeáin ? in ionad carachtair neamhghrafacha\n" " --show-control-chars taispeáin carachtair neamhghrafacha " "(réamhshocrú\n" " mura `ls' an clár agus aschur chuig " "teirminéal)\n" " -Q, --quote-name cuir ainmneacha idir comharthaí athfhriotail\n" " --quoting-style=FOCAL bain úsáid as an stíl FOCAL do na hainmneacha:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse Cuir in ord droim ar ais le linn sórtála\n" " -R, --recursive taispeáin comhadlanna go hathchúrsach\n" " -s, --size taispeáin an mhéid de gach comhad (bloic)\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S sórtáil de réir méid an chomhaid\n" " --sort=FOCAL sórtáil de réir FOCAL in ionad an ainm: none -" "U,\n" " extension -X, size -S, time -t, version -v\n" " --time=FOCAL le -l, taispeáin an t-am mar FOCAL in ionad\n" " am mionathraithe: atime -u, access -u, use -" "u,\n" " ctime -c, nó status -c; úsáid an t-am " "sonraithe\n" " mar eochair shórtála más --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STÃL le -l, taispeáin amanna de réir na stíle STÃL:\n" " full-iso, long-iso, iso, locale, +FORMÃID.\n" " Léirmhínigh FORMÃID mar `date'; más é\n" " FORMÃID1<líne nua>FORMÃID2, úsáid FORMÃID1 le\n" " seanchomhaid agus FORMÃID2 le comhaid nua;\n" " má tá réimír `posix-' ar STÃL, bain úsáid as\n" " mura bhfuil an logchaighdeán POSIX socraithe\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t sórtáil de réir am mionathraithe\n" " -T, --tabsize=COLÚIN cuir táb ar gach COLÚIN colún (réamhshocrú=8)\n" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u le -lt: sórtáil le, agus taispeáin am rochtana\n" " le -l: taispeáin am rochtana, sórtáil le " "hainm\n" " i ngach cás eile: sórtáil de réir am " "rochtana\n" " -U ná sórtáil; taispeáin in ord na comhadlainne\n" " -v sórtáil de réir leagan\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLÚIN socraigh leithead den scáileán\n" " -x taispeáin ar línte in ionad colún\n" " -X sórtáil de réir iarmhíre an chomhaid,\n" " san ord aibítre\n" " -Z, --context taispeáin comhthéacs slándála SELinux de gach\n" " comhad má tá ann\n" " -1 taispeáin aon chomhad sa líne\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Úsáid: %s [ROGHA] [COMHAD]...\n" "Taispeáin nó seiceáil suimeanna sheiceála %s (%d giotán).\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary léigh sa mhód dénártha (réamhshocrú mura bhfuil sé " "ón ghnath-ionchur)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary léigh sa mhód dénártha\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check léigh %s suim ó na COMHAID agus seiceáil iad\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text léigh sa mhód téacs (réamhshocrú mura bhfuil sé " "ónghnáth-ionchur)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text léigh sa mhód téacs (réamhshocrú)\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Ní úsáidtear an dá rogha seo a leanas ach nuair atáthar ag fíorú\n" "suimeanna seiceála:\n" " --status ná taispeáin dada, comharthaítear bua le cód " "scortha\n" " -w, --warn tabhair rabhadh má tá línte míchumtha ann\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Ríomhtar na suimeanna mar atá mínithe i %s. Má táthar ag seiceáil, is gá\n" "an t-ionchur a bheith ina aschur den ríomhchlár seo. Sa mhód " "réamhshocraithe,\n" "taispeáin líne le suim sheiceála, carachtar a chomharthaíonn an cineál\n" "(`*'=dénártha, ` '=téacs), agus an t-ainm gach COMHAD.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: an iomarca línte shuim sheiceála" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: Theip ar oscailt nó ar léamh\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "TEIPTHE" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: níl aon líne dhea-chumtha ar fáil le suim sheiceála %s" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" msgstr[1] "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" msgstr[2] "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" msgstr[3] "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" msgstr[4] "%s: %<PRIuMAX>: líne mhíchumtha le suim sheiceála %s" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "RABHADH: ní féidir %<PRIuMAX> as %<PRIuMAX> comhaid a léamh" msgstr[1] "RABHADH: ní féidir %<PRIuMAX> as %<PRIuMAX> comhaid a léamh" msgstr[2] "RABHADH: ní féidir %<PRIuMAX> as %<PRIuMAX> comhaid a léamh" msgstr[3] "RABHADH: ní féidir %<PRIuMAX> as %<PRIuMAX> comhaid a léamh" msgstr[4] "RABHADH: ní féidir %<PRIuMAX> as %<PRIuMAX> comhaid a léamh" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "RABHADH: ní ceart %<PRIuMAX> as %<PRIuMAX> shuim ríofa seiceála" msgstr[1] "RABHADH: ní ceart %<PRIuMAX> as %<PRIuMAX> shuim ríofa seiceála" msgstr[2] "RABHADH: ní ceart %<PRIuMAX> as %<PRIuMAX> shuim ríofa seiceála" msgstr[3] "RABHADH: ní ceart %<PRIuMAX> as %<PRIuMAX> suim ríofa seiceála" msgstr[4] "RABHADH: ní ceart %<PRIuMAX> as %<PRIuMAX> suim ríofa seiceála" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " "seiceála" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "tá na roghanna --binary agus --text gan bhrí agus suimeanna seiceála á " "bhfíorú" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " "seiceála" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "tá an rogha --warn gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " "seiceála" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " "seiceála" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " "seiceála" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Úsáid: %s [ROGHA]... COMHADLANN...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Cruthaigh an chomhadlann/na comhadlanna, mura bhfuil siad ann cheana féin.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MÓD socraigh mód an chomhaid (mar le chmod), ní a=rwx - " "umask\n" " -p, --parents gan earráid má tá sé ann cheana, déan tuismitheoirí más " "gá\n" " -v, --verbose taispeáin tcht nuair a chruthaítear gach comhadlann\n" " -Z, --context=CTCS socraigh comhthéacs slándála SELinux de gach " "comhadlann\n" " a chruthaítear go CTCS\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "cruthaíodh comhadlann %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Úsáid: %s [ROGHA]... AINM...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Cruthaigh píopaí ainmnithe (FIFO) leis na hAINMneacha tugtha.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MÓD socraigh ceadanna (mar le chmod), ní a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTCS socraigh comhthéacs slándála de gach AINM go CTCS\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "mód neamhbhailí" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "caithfidh an mód na giotáin cheada amháin a shonrú" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Úsáid: %s [ROGHA]... AINM CINEÃL [PRÃOMH MION]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Cruthaigh an comhad speisialta AINM den chineál ceaptha CINEÃL.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=CTCS socraigh comhthéacs slándála de AINM go CTCS\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "ní foláir PRÃOMH agus MION araon a thabhairt má tá an CINEÃL b, c, nó u, " "agus\n" "ní cheadaítear iad ar chor ar bith le CINEÃL p. Má tá 0x nó 0X ag ceann\n" "PRÃOMH nó MION, caith leis mar heicsidheachúlach; le 0 aonraic, mar " "ochtnártha;\n" "agus i ngach cás eile, mar deachúlach. CINEÃLacha bailí:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b cruthaigh comhad speisialta den chineál `bloc' (maolánaithe)\n" " c, u cruthaigh comhad speisialta den chineál `carachtar' (gan mhaolán)\n" " p cruthaigh FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Ní mór príomhuimhir ghléis agus mionuimhir ghléis a cheapadh le haghaidh na " "gcomhad speisialta" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Níl príomhuimhir ná mionuimhir ghléis ag comhaid fifo." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "Níl comhaid speisialta den chineál `bloc' ar fáil" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "Níl comhaid speisialta den chineál `carachtar' ar fáil" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "is neamhbhailí an phríomhuimhir ghléis %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "is neamhbhailí an mhionuimhir ghléis %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "gléas neamhbhailí %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "gléas neamhbhailí %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Úsáid: %s [ROGHA]... [TEIMPLÉAD]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Cruthaigh comhad nó comhadlann shealadach, go sábháilte, agus\n" "taispeáin a ainm. Mura dtugtar TEIMPLÉAD, úsáid tmp.XXXXXXXXXX.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 #, fuzzy msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=CMHDLNN] TEIMPLÉAD i gcoibhneas le CMHDLNN. Mura dtugtar\n" " CMHDLNN, úsáid $TMPDIR má tá ann, nó /tmp.\n" " Ní cheadaítear TEIMPLÉAD a bheith dearbhchonair leis\n" " an rogha seo. Ceadaítear slaiseanna i dTEIMPLÉAD, ach\n" " ní chruthóidh 'mktemp' ach an chomhpháirt deiridh.\n" #: src/mktemp.c:95 #, fuzzy msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -t comhpháirt aonair in ainm comhaid é TEIMPLÉAD,\n" " i gcoibhneas le comhadlann: $TMPDIR, má tá ann; is\n" " é sin nó an chomhadlann a thugtar le -p; nó /tmp [i " "léig]\n" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "níorbh fhéidir an gnáth-ionchur earráide a athsheoladh" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "an iomarca teimpléad" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, fuzzy, c-format msgid "invalid suffix %s, contains directory separator" msgstr "teimpléad neamhbhailí, %s, tá deighilteoir comhadlainne ann" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "easpa Xanna i dteimpléad %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "teimpléad neamhbhailí, %s, tá deighilteoir comhadlainne ann" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "teimpléad neamhbhailí, %s; le --tmpdir, seans nach dearbhchonair atá ann" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "níorbh fhéidir comhadlann a chruthú le teimpléad %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "níorbh fhéidir comhad a chruthú le teimpléad %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Athraigh ainm de FOINSE go SPRIOC, nó aistrigh FOINSE/à go COMHADLANN.\n" "\n" # same stuff under cp, install, etc. --KPS #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann\n" " -b cosúil le `--backup' ach gan argóint\n" " -f, --force ná fiafraigh roimh fhorscríobh\n" " -i, --interactive fiafraigh roimh fhorscríobh\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes scrios slaiseanna ag deireadh gach argóint\n" " FOINSE\n" " -S, --suffix=IARMHÃR sáraigh an gnáth-iarmhír cúltaca\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=COMHADLANN aistrigh gach FOINSE isteach i " "gCOMHADLANN\n" " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" " -u, --update ná haistrigh ach amháin nuair atá FOINSE\n" " níos úire ná an sprioc-chomhad, nó nuair " "atá\n" " an sprioc-chomhad ar iarraidh\n" " -v, --verbose mínigh na rudaí atá ag tarlú\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Úsáid: %s [ROGHA] [ORDÚ [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Rith ORDÚ le tosaíocht coigeartaithe chun sceidealadh na bpróiseas a athrú.\n" "Gan ORDÚ, taispeáin an tosaíocht reatha. Is féidir luachanna idir %d\n" "(is mó tosaíocht) agus %d (is lú tosaíocht) a roghnú.\n" "\n" " -n, --adjustment=N cuir an tslánuimhir N leis an tosaíocht " "(réamhshocrú=10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "coigeartú neamhbhailí %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "ní foláir ordú a thabhairt le coigeartú" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "níl an tosaíocht ar fáil" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "ní féidir an tosaíocht a shocrú" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scríobh gach COMHAD chuig an ghnáth-aschur, le líne-uimhreacha sa bhreis.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STÃL uimhrigh línte an choirp de réir STÃL\n" " -d, --section-delimiter=CAR Idirscar leathanaigh loighciúla le CAR\n" " -f, --footer-numbering=STÃL uimhrigh línte an bhuntáisc de réir STÃL\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STÃL uimhrigh línte an cheanntáisc de réir STÃL\n" " -i, --page-increment=UIMHIR incrimint líne-uimhir ag gach líne\n" " -l, --join-blank-lines=UIMHIR cruinnigh UIMHIR líne folamh le chéile\n" " -n, --number-format=FORMÃID ionsáigh líne-uimhreacha de réir FORMÃIDE\n" " -p, --no-renumber ná hatosaigh líne-uimhreacha ag leathanaigh " "nua\n" " -s, --number-separator=TEAGHRÃN cuir TEAGHRÃN isteach i ndiaidh\n" " líne-uimhir (fhéideartha)\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=UIMHIR an chéad líne-uimhir ar gach leathanach\n" " -w, --number-width=UIMHIR bain úsáid as UIMHIR colún do líne-" "uimhreacha\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Mar réamhshocrú, roghnaítear -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" "Is dhá charachtar teormharcóra CC chun leathanaigh loighciúla a scaradh.\n" "Má tá an dara carachtar ar iarraidh, glactar le :. Iontráil \\\\ do \\.\n" "Tá STÃL ar cheann de na roghanna seo a leanas:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a uimhrigh gach líne\n" " t ná huimhrigh ach línte nach folamh\n" " n ná huimhrigh ar chor ar bith\n" " pSLONN ná huimhrigh ach na línte atá comhoiriúnach le SLONN bunúsach\n" "\n" "Tá FORMÃID ar cheann de na roghanna seo a leanas:\n" "\n" " ln comhfhadaithe ar clé agus gan nialais ar tosach\n" " rn comhfhadaithe ar dheis agus gan nialais ar tosach\n" " rz comhfhadaithe ar dheis, le nialais ar tosach\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "líne-uimhir thar maoil" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "stíl uimhrithe neamhbhailí do cheanntásca: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "stíl uimhrithe neamhbhailí don chorp: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "stíl uimhrithe neamhbhailí do bhuntáisc: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "líne-uimhir imeachta neamhbhailí: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incrimint líne-uimhreach neamhbhailí: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "líon na línte folmha neamhbhailí: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "réimseleithead líne-uimhreach neamhbhailí: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "formáid líne-uimhreach neamhbhailí: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s ORDÚ [ARGÓINT]...\n" " nó: %s ROGHA\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Rith ORDÚ agus lig comharthaí HUP thar.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Más teirminéal é an gnáth-ionchur, athdhírigh é ó /dev/null.\n" "Más teirminéal é an gnáth-aschur, iarcheangail aschur le `nohup.out' más " "féidir,\n" "nó `$HOME/nohup.out'.\n" "Más teirminéal é an gnáth-aschur earráide, athdhírigh é go dtí an gnáth-" "aschur.\n" "Chun aschur a shábháil i gCOMHAD, úsáid `%s ORDÚ > COMHAD'.\n" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "níorbh fhéidir an gnáth-ionchur earráide a athsheoladh" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ag déanamh neamhshuim ar ionchur" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" "ag déanamh neamhshuim ar an ionchur agus an t-aschur á iarcheangal le %s" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "" "ag déanamh neamhshuim ar an ionchur agus an t-aschur á iarcheangal le %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "níorbh fhéidir an chóip den ghnáth-aschur earráide a dhúnadh i ndiaidh exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "ag déanamh neamhshuim ar an ionchur, agus an gnáth-aschur earráid á " "athdhíriú go dtí an gnáth-aschur" #: src/nohup.c:199 #, fuzzy, c-format msgid "redirecting stderr to stdout" msgstr "" "ag déanamh neamhshuim ar an ionchur, agus an gnáth-aschur earráid á " "athdhíriú go dtí an gnáth-aschur" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "níorbh fhéidir an gnáth-ionchur earráide a athsheoladh" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Úsáid: %s [ROGHA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: líon na línte neamhbhailí" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: níl an luach tiontaithe ar fad" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "uimhir neamhbhailí %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "iarmhír neamhbhailí in argóint %s%s: `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: theip ar oscailt chun é a scríobh" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "méid neamhbhailí táib: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Úsáid: %s [ROGHA]... [ÚSÃIDEOIR]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Roghanna sórtála:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "ní comhadlann é an sprioc-chomhad %s" # similar string for time format in ls.c -KPS #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "leithead neamhbhailí na formáide" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "iarmhír neamhbhailí in argóint %s%s: `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "Raon neamhbhailí leathanach %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "uimhir réimse neamhbhailí: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "dáta neamhbhailí %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Ní féidir oibrinn chomhaid a úsáid in éineacht le --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Ní féidir oibrinn chomhaid a úsáid in éineacht le --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "sonraíodh roghanna -i iomadúla" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Ní féidir oibrinn chomhaid a úsáid in éineacht le --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "earráid agus %s á léamh" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "níorbh fhéidir an gnáth-ionchur earráide a athsheoladh" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Úsáid: %s [ROGHA]... [COMHAD]...\n" " nó: %s [-abcdfilosx]... [COMHAD] [[+]FRITHÃIREAMH[.][b]]\n" " nó: %s --traditional [ROGHA]... [COMHAD] [[+]FRITHÃIREAMH[.][b] [+]" "[LIPÉAD][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Scríobh léiriú gan athbhrí, bearta ochtnártha mar réamhshocrú,\n" "de CHOMHAD chuig an ghnáth-aschur. Má tá níos mó ná argóint CHOMHAD\n" "amháin ann, comhcheangail iad in ord leis an ionchur a chruthú.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Má tá an chéad fhormáid agus an dara formáid araon i bhfeidhm, glac leis\n" "an dara ceann nuair a thosaíonn an t-oibreann deiridh le + nó (má tá dhá\n" "oibreann ann) digit. Is ionann an t-oibreann FRITHÃIREAMH agus -j " "FRITHÃIREAMH.\n" "Is LIPÉAD an seoladh bréige ag an chéad bheart priontáilte, incrimintithe " "le\n" "linn na dumpála. Le haghaidh FRITHÃIREAMH agus LIPÉAD, comharthaíonn " "réimír\n" "0x nó 0X heicsidheachúlach; úsáid iarmhír `.' don ochtnártha agus `b' mar " "512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BUNUIMHIR formáid de fhritháireamh comhaid\n" " -j, --skip-bytes=BEARTA gabh thar BEARTA beart ionchurtha ar dtús\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BEARTA teorannaigh dumpa le BEARTA beart ionchurtha\n" " -s, --strings[=BEARTA] teaghráin aschurtha le BEARTA carachtar\n" " grafach ar a laghad\n" " -t, --format=CINEÃL roghnaigh formáid(í) aschurtha\n" " -v, --output-duplicates ná húsáid * chun ceilt líne a chomharthú\n" " -w, --width[=BEARTA] BEARTA beart ar líne aschuir\n" " --traditional glac le hargóintí san fhoirm thraidisiúnta\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Is féidir roghanna formáide traidisiúnta a bheith measctha lena chéile,\n" "agus cnuasaíonn siad:\n" " -a ar comhbhrí le `-t a', roghnaigh carachtair ainmnithe, agus déan\n" " neamhshuim ar an ngiotán is airde\n" " -b ar comhbhrí le `-t o1', roghnaigh bearta ochtnártha\n" " -c ar comhbhrí le `-t c', roghnaigh ASCII nó éalúcháin le cúlslaiseanna\n" " -d ar comhbhrí le `-t u2', roghnaigh aonaid dheachúlacha gan sín, 2 " "bheart\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f ar comhbhrí le `-t fF', roghnaigh uimhreacha shnámhphointe\n" " -i ar comhbhrí le `-t dI', roghnaigh slánuimhreacha deachúlacha\n" " -l ar comhbhrí le `-t dL', roghnaigh `long'anna deachúlacha\n" " -o ar comhbhrí le `-t o2', roghnaigh aonaid ochtnártha, 2 bheart\n" " -s ar comhbhrí le `-t d2', roghnaigh aonaid dheachúlacha, 2 bheart\n" " -x ar comhbhrí le `-t x2', roghnaigh aonaid heicsidheachúlacha, 2 " "bheart\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "Is éard atá i gCINEÃL: sonrú amháin ar a laghad de na cinn seo a leanas:\n" "\n" " a carachtar ainmnithe, déan neamhshuim ar an ngiotán is airde\n" " c carachtar ASCII nó carachtar éalúcháin le cúlslais\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[MÉID] slánuimhir dheachúlach le sín, MÉID beart ar cheann\n" " f[MÉID] uimhir shnámhphointe, MÉID beart ar an gceann\n" " o[MÉID] ochtnártha, MÉID beart ar an gceann\n" " u[MÉID] slánuimhir dheachúlach gan sín, MÉID beart ar an gceann\n" " x[MÉID] heicsidheachúlach, MÉID beart ar an gceann\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "Is uimhir í MÉID. Má tá CINEÃL as d,o,u,x, is féidir MÉID a bheith\n" "`C'=sizeof(char), `S'=sizeof(short), `I'=sizeof(int), nó `L'=sizeof(long).\n" "Más ionann CINEÃL agus f, is féidir MÉID a bheith `F'=sizeof(float),\n" "`D'=sizeof(double), nó `L'=sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh N:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "teaghrán neamhbhailí cineáil %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "teaghrán neamhbhailí cineáil %s;\n" "níl slánuimhreacha le %lu beart le fáil ar an gcóras seo" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "teaghrán neamhbhailí cineáil %s;\n" "níl uimhreacha shnámhphointe le %lu beart le fáil ar an gcóras seo" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "carachtar neamhbhailí `%c' i dteaghrán cineáil %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "ní féidir a ghabháil thar dheireadh an ionchuir iomláin" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "bunuimhir neamhbhailí `%c' do sheoltaí aschuir; roghnaigh as [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "ní cheadaítear sonrú cineáil agus teaghráin á ndumpáil" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "Aon chomhad amháin ar a mhéad sa mhód comhoiriúnachta." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "is rómhór skip-bytes + read-bytes" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "rabhadh: leithead neamhbhailí %lu; bainfear úsáid as %d ina ionad" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: comhartha neamhbhailí" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "tá an gnáth-ionchur dúnta" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scríobh, chuig an ghnáth-aschur, línte comhoiriúnacha go seicheamhach\n" "as gach COMHAD, scartha le TÃIB.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LIOSTA athúsáid carachtair as LIOSTA in ionad TÃIB\n" " -s, --serial greamaigh i ndiaidh a chéile, nach go " "comhuaineach\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "críochnaíonn liosta na dteormharcóirí le cúlslais gan éalúchán: %s" #: src/pathchk.c:90 #, fuzzy msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Aimsigh struchtúir dho-iompartha in AINM.\n" "\n" " -p seiceáil ar fhormhór na gcóras POSIX\n" " -P cuardaigh ar ainmneacha folmha agus \"-\" tosaigh\n" " --portability seiceáil ar gach córas POSIX (ar comhbhrí le -p -P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "tá `-' tosaigh i gcomhpháirt d'ainm comhaid %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "carachtar neamhiompartha %s in ainm comhaid %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "comhadainm folamh" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: ní féidir an t-uasfhad d'ainmneacha comhaid a dhéanamh amach" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "sáraíodh an t-uasfhad %lu: fad %lu den ainm comhad %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "sáraíodh an t-uasfhad %lu: fad %lu den chomhpháirt ainm comhaid %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Ainm logála isteach: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "I réaltacht: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Comhadlann: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Blaosc: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Tionscadal: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plean:\n" #: src/pinky.c:405 msgid "Login" msgstr "Logáil Isteach" #: src/pinky.c:407 msgid "Name" msgstr "Ainm" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Díomhaoin" #: src/pinky.c:411 msgid "When" msgstr "Cathain" #: src/pinky.c:414 msgid "Where" msgstr "Cén Ãit" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Úsáid: %s [ROGHA]... [ÚSÃIDEOIR]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l taispeáin eolas faoin ÚSÃIDEOIR i bhformáid fhada " "aschurtha\n" " -b ná taispeáin comhadlann bhaile agus blaosc i bhformáid " "fhada\n" " -h ná taispeáin an comhad tionscadail i bhformáid fhada\n" " -p ná taispeáin an comhad plean i bhformáid fhada\n" " -s formáid achomair (réamhshocrú)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f ná taispeáin teidil na gcolún i bhformáid achomair\n" " -w ná taispeáin an t-ainm iomlán i bhformáid achomair\n" " -i ná taispeáin an t-ainm iomlán nó cianóstach i bhformáid " "achomair\n" " -q ná taispeáin ainm iomlán, cianóstach, nó am díomhaoin\n" " i bhformáid achomair\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Feidhmchlár beag cosúil le `finger'; taispeáin eolas faoi úsáideoir.\n" "Beidh %s an comhad utmp.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "is gá ainm úsáideora amháin a thabhairt ar a laghad le -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=AONÚ[:DEIREADH]' argóint ar iarraidh" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "Raon neamhbhailí leathanach %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l FAD' líon neamhbhailí na línte: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N UIMHIR' líne-uimhir neamhbhailí thosaigh: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o CIUMHAIS' fritháireamh neamhbhailí líne: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w LEITHEAD' líon neamhbhailí carachtar: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W LEITHEAD' líon neamhbhailí carachtar: %s" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "Ní cheadaítear líon na gcolún a shocrú le linn priontála go comhuaineach." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Ní cheadaítear priontáil trasna agus go comhuaineach araon." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' carachtair breise, nó uimhir neamhbhailí san argóint: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "leathanach róchúng" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "tá an uimhir leathanach tosaigh %<PRIuMAX> níos mó ná líon na leathanach " "%<PRIuMAX>" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "Uimhir leathanaigh thar maoil" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Leathanach %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Uimhrigh leathanaigh nó colúin de CHOMHA(I)D le haghaidh priontála.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +AONÚ[:DEIREADH], --pages=AONÚ[:DEIREADH]\n" " tosaigh [stop] priontáil ag leathanach AONÚ [DEIREADH]\n" " -COLÚN, --columns=COLÚN\n" " aschur le COLÚN colúin agus priontáil anuas,\n" " mura bhfuil -a tugtha. Cothromaigh líon na línte sna\n" " colúin ar gach leathanach.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across taispeáin colúin trasna an scáileáin seachas anuas\n" " úsáid le -COLÚN\n" " -c, --show-control-chars\n" " carachtair rialúcháin mar ^G nó le cúlslais ochtnártha\n" " -d, --double-space\n" " spásáil dhúbailte\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMÃID\n" " taispeáin an dáta cheanntáisc de réir na FORMÃIDE\n" " -e[CAR[LEITHEAD]], --expand-tabs[=CAR[LEITHEAD]]\n" " tiontaigh CAR (TÃIB) go táb LEITHEAD (8)\n" " -F, -f, --form-feed\n" " scar leathanaigh le foirmfhothaí in ionad línte nua\n" " (le -F, úsáid ceanntásc leathanaigh de trí líne, nó,\n" " gan -F, de cúig líne agus le buntásc)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h CEANNTÃSC, --header=CEANNTÃSC\n" " úsáid CEANNTÃSC láraithe in ionad ainm comhad i " "gceanntásc\n" " -h \"\" do líne bhán, ná húsáid -h\"\"\n" " -i[CAR[LEITHEAD]], --output-tabs[=CAR[LEITHEAD]]\n" " cuir CAR in ionad spásanna go dtí LEITHEAD táib (8)\n" " -J, --join-lines cónaisc línte iomlána, stop teascadh línte -W, ná " "hailínigh\n" " colúin, socraigh deighilteoirí le --sep-string" "[=TEAGHRÃN]\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l FAD_LEATHANAIGH, --length=FAD_LEATHANAIGH\n" " socraigh fad an leathanaigh go FAD_LEATHANAIGH (66) " "líne\n" " (línte téacs réamhshocraithe = 56, agus le -F 63)\n" " -m, --merge taispeáin na comhaid go comhuaineach, ceann sa cholún,\n" " teasc línte, ach cónaisc línte iomlána le -J\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[BEARNA[DIGITÃ]], --number-lines[=BEARNA[DIGITÃ]]\n" " uimhrigh línte, úsáid DIGITà (5) digit, ansin BEARNA " "(TAB),\n" " uimhriú ón chéad líne ionchurtha, mar réamhshocrú\n" " -N UIMHIR, --first-line-number=UIMHIR\n" " crom ar áireamh le hUIMHIR ag an chéad líne den chéad\n" " leathanach priontáilte (féach ar +AONÚ)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o CIUMHAIS, --indent=CIUMHAIS\n" " déan fritháireamh de CIUMHAIS (0) spás ar gach líne, " "ná modhnaigh -w nó -W, cuirfidh CIUMHAIS le LEITHEAD\n" " -r, --no-file-warnings\n" " ná taispeáin rabhadh mura féidir comhad a oscailt\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CAR],--separator[=CAR]\n" " dealaigh colúin le carachtar aonarach; mar réamhshocrú,\n" " CAR=<TAB> gan -w agus CAR=`no char' le -w\n" " stopann -s[CAR] teascadh línte de na trí rogha\n" " (-COLÚN|-a -COLÚN|-m) ach is lasta an rogha -w\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " dealaigh colúin le TEAGHRÃN,\n" " gan -S: is é <TÃB> an deighilteoir réamhshocraithe le -J\n" " agus is é <spás> i ngach cás eile (ar comhbhrí le -S\" " "\");\n" " níl aon éifeacht ar roghanna colúin\n" " -t, --omit-header fág na ceanntásca agus na buntásca leathanaigh ar lár\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " fág ceanntásca/buntásca ar lár, ná huimhrigh " "leathanaigh le foirmfhothaí leabaithe in inchomhaid\n" " -v, --show-nonprinting\n" " bain úsáid as cúlslaiseanna don ochtnártha\n" " -w LEITHEAD, --width=LEITHEAD\n" " leithead an leathanaigh = LEITHEAD (72) carachtar\n" " d'aschur ilcholúnach, stopann -s[car] é seo (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W LEITHEAD, --page-width=LEITHEAD\n" " leithead an leathanaigh = LEITHEAD carachtar i gcónaí,\n" " teasc línte, ach is lasta an rogha -J, níl aon chur " "isteach\n" " ar na roghanna -S nó -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Úsáidfear -t go huathoibríoch má tá FAD_LEATHANAIGH <= 10. Mura bhfuil\n" "COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Úsáid: %s [ATHRÓG]...\n" " nó: %s ROGHA\n" "Mura bhfuil ATHRÓG thimpeallachta ann, taispeáin gach ceann acu.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -z, --zero-terminated úsáid NUL foirceanta in ionad líne nua\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "rabhadh: %s: ag déanamh neamhshuim ar charachtair i ndiaidh tairiseach " "carachtair" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s FORMÃID [ARGÓINT]...\n" " nó: %s ROGHA\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Taispeáin ARGÓINT(Ã) de réir FORMÃID, nó rith de réir ROGHA:\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "Rialaíonn FORMÃID an t-aschur mar a dhéanann C printf. Cóid bailí:\n" "\n" " \\\" comhartha athfhriotal\n" " \\0NNN carachtar leis an luach ochtnártha NNN (0..3 digit)\n" " \\\\ cúlslais\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xNN beart le luach heicsidheachúlach NN (1 nó 2 dhigit)\n" " \\uNNNN carachtar Unicode (ISO/IEC 10646) le luach heics NNNN (4 dhigit)\n" " \\UNNNNNNNN carachtar Unicode le luach heics NNNNNNNN (8 ndigit)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% '%' aonair\n" " %b ARGÓINT mar theaghrán le carachtair éalúcháin `\\' léirithe,\n" " cé go bhfuil éalúcháin ochtnártha i bhfoirm \\0 nó \\0NNN\n" "\n" "agus tá ceann de [diouxXfeEgGcs] ag deireadh gach sonraíochta formáide C,\n" "agus ARGÓINTí churtha ina gceart ar dtús. Glactar le leithid luaineacha.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: bhíothas ag súil le luach uimhriúil" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: níl an luach tiontaithe ar fad" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "uimhir heicsidheachúlach ar iarraidh sa chód éalúcháin" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "tá an t-ainm carachtair uilíoch \\%c%0*x neamhbhailí" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "leithead líne neamhbhailí: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "beachtas neamhbhailí: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: tiontú neamhbhailí" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "rabhadh: ag déanamh neamhshuim ar argóintí breise, ó %s amach" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (ar regexp %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Úsáid: %s [ROGHA]... [IONCHUR]... (gan -G)\n" " nó: %s -G [ROGHA]... [IONCHUR [ASCHUR]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Cuir as innéacs iomalartaithe, le comhthéacs, de na focail sna hinchomhaid.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference cruthaigh tagairtí go huathoibríoch\n" " -G, --traditional oibrigh ar nós `ptx' System V\n" " -F, --flag-truncation=TGHRÃN úsáid TGHRÃN chun línte teasctha a léiriú\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRING úsáid an macra STRING in ionad `xx'\n" " -O, --format=roff táirg an t-aschur i riocht treoracha `roff'\n" " -R, --right-side-refs cuir tagairtí ar dheis; ní chuirtear seo i -" "w\n" " -S, --sentence-regexp=REGEXP foircinn línte ní foircinn abairtí\n" " -T, --format=tex táirg an t-aschur i riocht treoracha `TeX'\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP úsáid REGEXP chun treoirfhocail a thógáil\n" " -b, --break-file=COMHAD tá carachtair le briseadh focail i gCOMHAD\n" " -f, --ignore-case sórtáil an cás íochtair leis an gcás " "uachtair\n" " -g, --gap-size=UIMHIR bearna idir colúin san aschur\n" " -i, --ignore-file=COMHAD tá focail le ligean tharat i gCOMHAD\n" " -o, --only-file=COMHAD tá liosta treoirfhocal i gCOMHAD\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references is tagairt é an chéad réimse ar gach líne\n" " -t, --typeset-mode - neamhchríochnaithe -\n" " -w, --width=UIMHIR leithead an aschuir, gan tagairt\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Mura bhfuil COMHAD ann, nó más '-' é,\n" "léigh ón ghnáth-ionchur. `-F /' mar réamhshocrú.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "leithead neamhbhailí bearna: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Taispeáin an t-ainm iomlán den chomhadlann oibre.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "theip ar chdir go dtí an chomhadlann %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "theip ar stat %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "níorbh fhéidir iontráil chomhadlainne i %s le i-nód comhoiriúnach" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ag déanamh neamhshuim ar argóintí nach roghanna iad" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Úsáid: %s [ROGHA]... COMHAD...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Taispeáin luach de nasc siombalach ar an ngnáth-aschur.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize caighdeánaigh trí leanúint gach nasc " "siombalach\n" " i ngach ball den chonair, go hathchúrsach;\n" " ní mór gach comhpháirt (seachas an ceann\n" " deiridh) a bheith ann\n" " -e, --canonicalize-existing caighdeánaigh trí leanúint gach nasc " "siombalach\n" " i ngach ball den chonair, go hathchúrsach;\n" " ní mór gach comhpháirt a bheith ann\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing caighdeánaigh trí leanúint gach nasc " "siombalach\n" " i ngach ball den chonair, go hathchúrsach;\n" " ceadaítear comhpháirteanna ar iarraidh\n" " -n, --no-newline ná scríobh an líne nua fhoirceanta\n" " -q, --quiet,\n" " -s, --silent múch formhór na n-earráidí\n" " -v, --verbose taispeáin earráidí\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ag déanamh neamhshuim ar argóintí nach roghanna iad" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: téigh síos isteach i gcomhadlann scríobh-bhactha %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: téigh síos isteach i gcomhadlann %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: scrios %s scríobh-bhactha %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: scrios %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "scriosadh comhadlann %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "ní féidir comhadlann %s a scriosadh" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "ag gabháil thar %s, de bhrí go bhfuil sé ar ghléas difriúil" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "theip ar léamh" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Bain triail as `%s ./%s' chun an comhad %s a bhaint.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Bain (dínasc) an COMHAD/na COMHAID.\n" "\n" " -f, --force déan neamhshuim ar chomhaid nach bhfuil ann, agus\n" " ná tabhair leid riamh\n" " -i tabhair leid sula mbainfear aon rud\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I tabhair leid uair amháin sula mbainfear níos mó ná\n" " trí chomhad, nó nuair a bhainfear go hathchúrsach.\n" " Níl sé seo chomh sáiteach le -i, cé go ndéanann sé\n" " cosaint shásúil ar an chuid is mó de bhotúin\n" " --interactive[=CATHAIN] tabhair leid de réir CATHAIN: never, once (-" "I), nó\n" " always (-i). Gan CATHAIN, tabhair leid i gcónaí\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system nuair atá comhadlanna á mbaint go hathchúrsach,\n" " ná bain comhadlanna atá ar chóras comhad nach\n" " ionann leis an gceann a sonraíodh in argóint ar\n" " líne na n-orduithe\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root ná tabhair cóir speisialta do `/'\n" " --preserve-root ná bain `/' (réamhshocrú)\n" " -r, -R, --recursive bain comhadlanna agus a n-inneachar go hathchúrsach\n" " -v, --verbose mínigh na rudaí atá ag tarlú\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "De réir réamhshocraithe, ní bhaineann rm comhadlanna. Úsáid an rogha\n" "--recursive (-r nó -R) chun na comhadlanna uile a bhaint freisin, in " "éineacht\n" "le gach rud atá isteach iontu.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Le scrios a dhéanamh ar chomhad le hainm le `-' ar tosach (m.sh. `-foo')\n" "bain triail as ceann de na horduithe a leanas:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Tabhair faoi deara gur féidir na hábhair a fháil ar ais ó chomhad a bhí\n" "scriosta le `rm'. Más mian leat na hábhair a scriosadh níos cinnte,\n" "bain úsáid as `shred'.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: bain gach argóint go hathchúrsach? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: bain gach argóint? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "comhadlann %s á baint" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "theip ar chomhadlann %s a bhaint" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Scrios an CHOMHADLANN/na COMHADLANNA, má tá sí/siad folamh.\n" "\n" " --ignore-fail-on-non-empty\n" " ná tuairiscigh cliseadh mar gheall ar chomhadlanna nach\n" " folamh\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents scrios COMHADLANN, agus ansin a thuismitheoirí\n" " mar shampla, tá `rmdir -p a/b/c' ar comhbhrí le\n" " `rmdir a/b/c a/b a'.\n" " -v, --verbose taispeáin diagnóisic do gach comhadlann phróiseáilte\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "theip ar %s a bhaint" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Úsáid: %s COMHTHÉACS ORDÚ [argóintí]\n" " or: %s [ -c ] [-u ÚSÃIDEOIR] [-r RÓL] [-t CINEÃL] [-l RAON] ORDÚ " "[argóintí]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Rith ríomhchlár le comhthéacs difriúil slándála.\n" "Mura dtugtar COMHTHÉACS ná ORDÚ, taispeáin an comhthéacs slándála reatha.\n" "\n" " COMHTHÉACS Comhthéacs iomlán slándála\n" " -c, --compute ríomh comhthéacs trasdulta próisis sula n-athraítear é\n" " -t, --type=CINEÃL cineál (ról céanna agus an máthairphróiseas)\n" " -u, --user=ÚSÃIDEOIR aitheantas úsáideora\n" " -r, --role=RÓL ról\n" " -l, --range=RAON raon leibhéal\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "il-rólanna" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "ilchineálacha" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "ilúsáideoirí" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "ilraonta leibhéil" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "níorbh fhéidir an comhthéacs reatha a fháil" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "caithfidh tú -c, -t, -u, -l, -r, nó comhthéacs a shonrú" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "níor sonraíodh ordú ar bith" #: src/runcon.c:201 #, fuzzy, c-format msgid "%s may be used only on a SELinux kernel" msgstr "is féidir runcon a úsáid le heithne SELinux amháin." #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "theip ar chomhthéacs nua a chruthú" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "níorbh fhéidir úsáideoir nua %s a shocrú" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "theip ar chineál nua %s a shocrú" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "theip ar raon nua %s a shocrú" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "theip ar ról nua %s a shocrú" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "ní féidir comhthéacs slándála %s a shocrú" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Úsáid: %s [ROGHA]... DEIREADH\n" " nó: %s [ROGHA]... AONÚ DEIREADH\n" " nó: %s [ROGHA]... AONÚ INCRIMINT DEIREADH\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Taispeáin uimhreacha ón AONÚ go dtí an DEIREADH, i gcéimeanna INCRIMINT.\n" "\n" " -f, --format=FORMÃID FORMÃID shnámhphointe cosúil le printf\n" " -s, --separator=TEAGHRÃN dealaigh uimhreacha le TEAGHRÃN (réamhshocrú: " "\\n)\n" " -w, --equal-width cothromaigh leithead le nialais tosaigh\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Mura bhfuil AONÚ nó INCRIMINT tugtha, tá siad réamhshocraithe go 1. Is " "ionann\n" "sin agus a rá go réamhshocraítear INCRIMINT go 1, fiú amháin má tá DEIREADH\n" "níos lú ná AONÚ. Caitear le AONÚ, INCRIMINT, agus DEIREADH mar luachanna\n" "snámhphointe. Tá INCRIMINT deimhneach de ghnáth má tá AONÚ níos lú ná\n" "DEIREADH, agus tá INCRIMINT diúltach de ghnáth má tá AONÚ níos mó ná " "DEIREADH.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "Ní mór do FORMÃID a bheith oiriúnach chun argóint amháin den chineál " "`double'\n" "a phriontáil; is é %.BCHTf an luach réamhshocraithe más uimhreacha\n" "deachúlacha pointe fosaithe iad AONÚ, INCRIMINT, agus DEIREADH le\n" "huasbheachtas BCHT, agus is é %g i ngach cás eile.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argóint neamhbhailí shnámhphointe: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "tá %s de chineál anaithnid" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "ní cheadaítear teaghrán formáide agus teaghráin ar comhfhad á dtaispeáint" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Úsáid: %s ROGHA ÚSÃIDEOIR ORDÚ [ARGÓINT]...\n" " nó: %s ROGHA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Tréig aon ghrúpaí forlíontacha, glac le haitheantas úsáideora/grúpa\n" "an ÚSÃIDEORA sonraithe (aitheantas uimhriúil nó ainm an úsáideora), agus\n" "rith ORDÚ le ARGÓINTí, má tá ann. Scoir le stádas 111 mura bhfuiltear\n" "in ann na haitheantais úsáideora/grúpa a ghlacadh.\n" "I ngach cás eile, scoir le stádas scortha an ORDÚ.\n" "Ní úsáideach an clár seo mura bhfuil sé rite ag an bhforúsáideoir (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] socraigh aitheantas an phríomhghrúpa go dtí an GID " "uimhriúil,\n" " agus (má thugtar iad) na haitheantais forlíontacha go " "GID1,...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "Aitheantas úsáideora anaithnid: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "chun aitheantas úsáideora %s a úsáid, ní mór duit -g a úsáid freisin" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "níorbh fhéidir an grúpa (nó na grúpaí) forlíontach a shocrú" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "ní féidir aitheantas grúpa a shocrú mar %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "ní féidir aitheantas úsáideora a shocrú mar %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Forscríobh an COMHA(I)D arís agus arís eile chun go bhfuil sé níos\n" "deacra na sonraí a fháil ar ais, fiú le crua-earraí an-chostasacha.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force más gá, athraigh ceadanna chun scríobh a cheadú\n" " -n, --iterations=N Forscríobh N uaire in ionad an réamhshocraithe (%d)\n" " --random-source=COMHAD faigh bearta randamacha as COMHAD " "(réamhshocrú: /dev/urandom)\n" " -s, --size=N léirscrios N beart (glactar le hiarmhíreanna mar K, M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove teasc agus scrios comhad i ndiaidh forscríobh\n" " -v, --verbose taispeáin eolas faoin dul chun cinn\n" " -x, --exact ná slánaigh méideanna comhaid suas;\n" " is réamhshocraithe é seo le haghaidh comhad neamhghnách\n" " -z, --zero forscríobh deireanach le nialais, folaigh an léirscrios\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Más '-' é COMHAD, léirscrios an gnáth-aschur.\n" "\n" "Scrios COMHA(I)D má tá --remove (-u) ceaptha. De réir an réamhshocraithe, " "ná\n" "scrios na comhaid de bhrí go mbaintear le comhaid ghléis mar /dev/hda\n" "go coitianta, agus ní ceart na comhaid seo a scriosadh. Baintear úsáid as\n" "an rogha --remove go hiondúil le gnáthchomhaid.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "FAINIC: Braitheann `shred' ar ghlacadh tromchúiseach:\n" "go ndéanann an córas comhaid forscríobh ar shonraí ina n-ionad.\n" "Is é sin an sean-nós, ach níl an glacadh seo bailí ar mhórán córais\n" "nua-aimseartha. Níl `shred' cumasach, nó níl ráthaíocht ar bith go mbeidh\n" "sé cumasach i ngach mód ar na córais a leanas:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* córais chomhaid atá bunaithe ar log nó dialann, mar shampla le\n" " AIX agus Solaris (agus JFS, ReiserFS, XFS, Ext3, srl.)\n" "\n" "* córais chomhaid a scríobh sonraí iomarcacha agus a leanann fiú má " "theipeann\n" " cuid den scríobh, mar shampla chórais bunaithe ar RAID\n" "\n" "* córais a dhéanann `grianghraif', mar shampla an freastalaí NFS atá ag " "Network Appliances\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* córais chomhad a chuireann sonraí i dtaisce i suímh shealadacha,\n" "mar shampla cliaint NFS leagan 3\n" "\n" "* córais chomhad comhbhrúite\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Má tá córas comhad ext3 agat, tá an séanadh thuasluaite i bhfeidhm\n" "(.i. is neamhéifeachtach é `shred') sa mhód data=journal amháin - \n" "seo é an mód a scríobhann sonraí comhaid mar aon le meiteashonraí.\n" "Sna móid data=ordered (réamhshocrú) agus data=writeback, oibríonn `shred'\n" "mar is gnách. Is féidir na móid iriseáin Ext3 a athrú trí chur na rogha\n" "data=something leis na roghanna feistithe sa chomhad /etc/fstab do\n" "chórais chomhad áirithe, mar a thuairiscítear sa leathanach lámhleabhair\n" "mount (`man mount').\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Is féidir freisin go bhfuil cóipeanna den chomhad i gcúltacaí an chórais\n" "comhad nó ar shuímh scáthánaithe, agus ní féidir na cóipeanna seo a bhaint.\n" "Dá bharr seo, b'fhéidir comhad léirscriosta a fháil ar ais amach anseo.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: theip ar fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: theip ar fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: ní féidir atochras" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: timthriall %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: earráid le linn scríobh ag fritháireamh %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: theip ar lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: tá an comhad rómhór" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: timthriall %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: timthriall %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: theip ar fstat" # in FARF -KPS #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: cineál comhaid neamhbhailí" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: comhad de mhéid diúltach" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: earráid le linn teasctha" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: theip ar fcntl" # file descriptor in FARF -KPS #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: ní féidir tuarascálaí comhaid sínte amháin a léirscriosadh" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: á scriosadh" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: ainm nua %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: theip ar bhaint" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: scriosta" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: theip ar dhúnadh" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: theip ar oscailt chun é a scríobh" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: líon na dtimthriallta neamhbhailí" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "sonraíodh foinsí iomadúla randamacha" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: méid comhaid neamhbhailí" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Úsáid: %s [ROGHA]... [COMHAD]\n" " nó: %s -e [ROGHA]... [ARG]...\n" " nó: %s -i ÃSEAL-ARD [ROGHA]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Scríobh iomalartú randamach de na línte ionchurtha go dtí an gnáth-aschur.\n" "\n" #: src/shuf.c:60 #, fuzzy msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo caith le gach ARG mar líne ionchurtha\n" " -i, --input-range=LO-HI caith le huimhreacha idir LO agus HI mar línte " "ionchurtha\n" " -n, --head-lines=UIMHIR aschuir UIMHIR líne ar a mhéad\n" " -o, --output=COMHAD scríobh torthaí i gCOMHAD in ionad an ghnáth-" "aschuir\n" " --random-source=COMHAD faigh bearta randamacha as COMHAD\n" " (réamhshocrú /dev/urandom)\n" " -z, --zero-terminated cuir beart nialasach ag deireadh na línte,\n" " in ionad líne nua\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "sonraíodh roghanna -i iomadúla" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "raon neamhbhailí ionchurtha: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "líon neamhbhailí línte %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "aschomhaid iomadúla" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Úsáid: %s UIMHIR[IARMHÃR]...\n" " nó: %s ROGHA\n" "Déan moill de UIMHIR soicind. Is féidir `s' a úsáid mar IARMHÃR\n" "(soicindí - an réamhshocrú), `m'=nóiméid, `h'=uaire, agus `d'=laethanta.\n" "Cé go dteastaíonn an chuid is mó de chórais UIMHIR a bheith ina slánuimhir,\n" "is féidir aon uimhir shnámhphointe a úsáid anseo le haghaidh UIMHIR.\n" "Má tá níos mó ná argóint amháin ann, suimigh na hargóintí agus déan moill\n" "den luach iomlán.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "tréimhse neamhbhailí %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "ní féidir an clog fhíor-ama a léamh" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Scríobh gach COMHAD, comhchaitéinithe agus sórtáilte, go dtí an gnáth-" "aschur.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Roghanna sórtála:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks déan neamhshuim ar spásanna tosaigh\n" " -d, --dictionary-order ná húsáid ach spásanna agus carachtair alfa-" "uimhriúla\n" " -f, --ignore-case sórtáil an cás íochtair leis an gcás uachtair\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "Roghanna sórtála:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 #, fuzzy msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" "Roghanna eile:\n" "\n" " -c, --check, --check=diagnose-first ná sórtáil; deimhnigh an bhfuil an\n" " an t-ionchur sórtáilte\n" " -C, --check=quiet, --check=silent cosúil le -c, ach ná déan tuairisc ar\n" " an chéad drochlíne\n" " -k, --key=ÃIT1[,ÃIT2] tosaigh eochair ag ÃIT1, deireadh ag ÃIT2 " "(tús=1)\n" " -m, --merge cumaisc comhaid atá sórtáilte cheana; ná " "sórtáil\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=COMHAD scríobh na torthaí i gCOMHAD in ionad an ghnáth-" "aschuir\n" " -s, --stable caighdeánaigh an t-ord trí dhíchumasú na\n" " sórtála den rogha dheireanach\n" " -S, --buffer-size=MÉID maolán príomhchuimhne = MÉID\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=CAR úsáid CAR in ionad athrú ó neamh- go spás bán\n" " -T, --temporary-directory=COMHADLANN cuir comhaid shealadacha i " "gCOMHADLANN\n" " in ionad $TMPDIR nó %s; comharthaíonn gach " "rogha\n" " comhadlann ar leith\n" " -u, --unique le -c, deimhnigh sórtáil gan dúblaigh;\n" " gan -c, ná taispeáin ach línte uathúla\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr " -z, --zero-terminated úsáid NUL foirceanta in ionad líne nua\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "ÃIT = R[.C][ROGHANNA], le R = uimhir an réimse agus C = ionad an " "charachtair\n" "sa réimse; áirigh ó 1 i ngach cás. Mura bhfuil rogha -t ná rogha -b i " "bhfeidhm,\n" "uimhrigh na carachtair i réimse ó thús an spáis báin roimhe. Is éard atá i\n" "ROGHANNA ná liosta de roghanna sórtála, gach ceann ina charachtar singil, a\n" "sháraíonn roghanna comhchoiteanna sórtála don eochair sin. Gan eochair, " "úsáid\n" "an líne iomlán mar an eochair.\n" "\n" "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh MÉID:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% den chuimhne, b 1, K 1024 (réamhshocrú), srl. le M, G, T, P, E, Z, Y.\n" "\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" "*** RABHADH ***\n" "Athraíonn an logchaighdeán na torthaí a ghineann `sort'.\n" "Cuir LC_ALL=C chun sórtáil de réir an oird traidisiúnta\n" "(.i. de réir luachanna dúchasacha de na bearta.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "ag feitheamh le %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "Chríochnaigh %s [-d] gan an chúis a mhíniú" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "ní féidir comhad sealadach %s a chruthú" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "theip ar oscailt" #: src/sort.c:970 msgid "fflush failed" msgstr "theip ar fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "theip ar dhúnadh" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "theip ar dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "níorbh fhéidir %s a rith" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "níorbh fhéidir comhad sealadach a chruthú" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "níorbh fhéidir próiseas a chruthú le haghaidh %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "níorbh fhéidir %s -d a rith" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "rabhadh: ní féidir %s a scriosadh" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "argóint neamhbhailí %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "argóint neamhbhailí %s%s: `%s'" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "argóint %s%s rómhór: `%s'" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat() teipthe" #: src/sort.c:1755 msgid "read failed" msgstr "theip ar léamh" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "theip ar thiontú teaghráin" #: src/sort.c:2046 #, fuzzy, c-format msgid "the untransformed string was %s" msgstr "Ba é %s an teaghrán gan trasfhoirmiú." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: Tá an rogha `%s' débhríoch\n" msgstr[1] "%s: Tá an rogha `%s' débhríoch\n" msgstr[2] "%s: Tá an rogha `%s' débhríoch\n" msgstr[3] "%s: Tá an rogha `%s' débhríoch\n" msgstr[4] "%s: Tá an rogha `%s' débhríoch\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "theip ar scríobh" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: mí-eagar: " #: src/sort.c:2786 msgid "standard error" msgstr "gnáth-aschur earráide" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: ní féidir atochras" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: sonraíocht neamhbhailí réimse %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "níl na roghanna `-%s' comhoiriúnach" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: áireamh neamhbhailí ag tús %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "uimhir neamhbhailí i ndiaidh `-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "uimhir neamhbhailí i ndiaidh `.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "carachtar ar seachrán i sonrú réimse" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "sonraíodh cláir iomadúla chomhbhrúite" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "uimhir neamhbhailí ag tús réimse" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "is nialas an uimhir réimse" #: src/sort.c:4392 msgid "character offset is zero" msgstr "is nialas an fritháireamh carachtair" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "uimhir neamhbhailí i ndiaidh `,'" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "táb folamh" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "ní féidir ainmneacha comhaid a léamh ó %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "ainm neamhbhailí comhaid: folamh" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "inchomhad %s á dhúnadh" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "ní cheadaítear oibreann breise %s le -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Úsáid: %s [ROGHA] [IONCHUR [RÉIMÃR]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Scríobh píosaí de mhéid sheasta ó IONCHUR chuig RÉIMÃRaa, RÉIMÃRab, ...;\n" "Méid réamhshocraithe = 1000 líne, agus an RÉIMÃR réamhshocraithe = `x'.\n" "Mura bhfuil IONCHUR ann, nó más `-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N fad na hiarmhíreanna = N (réamhshocrú %d)\n" " -b, --bytes=MÉID cuir MÉID beart do gach aschomhad\n" " -C, --line-bytes=MÉID cuir MÉID beart línte ar a mhéad do gach " "aschomhad\n" " -d, --numeric-suffixes úsáid iarmhíreanna uimhriúla in ionad aibítreacha\n" " -l, --lines=UIMHIR cuir UIMHIR líne do gach aschomhad\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose taispeáin diagnóisic go díreach roimh atá\n" " gach aschomhad oscailte\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Iarmhíreanna don aschomhad ídithe" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "comhad %s á chruthú\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "theip ar ról nua %s a shocrú" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "theip ar %s a bhaint" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "comhadlann %s á dúnadh" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "aschomhad %s á dhúnadh" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "inchomhad %s á dhúnadh" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "inchomhad %s á dhúnadh" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "theip ar chomhthéacs de %s a athrú go %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "theip ar dhúnadh comhadlann %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "ag feitheamh le \"strip\"" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "ní féidir scoilt a dhéanamh de réir níos mó ná dóigh amháin" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: líon na soicindí neamhbhailí" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: uimhir neamhbhailí" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: fad iarmhíre neamhbhailí" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: líon neamhbhailí na mbeart" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: líon na línte neamhbhailí" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "is rómhór an rogha -%s%c... don áireamh línte" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "líne-uimhir imeachta neamhbhailí: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: méid comhaid neamhbhailí" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "ní féidir an t-óstainm a aimsiú" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "Ní féidir %s a oscailt" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "rabhadh: éalúchán anaithnid `\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: treoir neamhbhailí" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "rabhadh: cúlslais ag deireadh na formáide" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "ní féidir an t-eolas faoin chóras comhaid a léamh do %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "gnáth-ionchur á dhúnadh" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Taispeáin stádas de chomhad nó de chóras comhaid.\n" "\n" " -L, --dereference lean naisc\n" " -f, --file-system taispeáin stádas de chóras in ionad comhaid\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMÃID úsáid FORMÃID in ionad an réamhshocraithe;\n" " scríobh líne nua tar éis gach úsáid de FORMÃID\n" " --printf=FORMÃID cosúil le --format, ach léirmhínigh éalúcháin le\n" " cúlslaiseanna, agus ná scríobh an líne nua.\n" " Má tá línte nua uait, cuir \\n i bhFORMÃID.\n" " -t, --terse taispeáin an t-eolas i bhfoirm ghonta\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Seichimh bhailí fhormáide le haghaidh comhad (gan --file-system):\n" "\n" " %a cearta rochtana, ochtnártha\n" " %A cearta rochtana i bhformáid inléite\n" " %b líon na mbloc dáilte (féach ar %B)\n" " %B an mhéid, i mbearta, de gach bloc tugtha ag %b\n" " %C comhthéacs slándála SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Uimhir ghléis, deachúil\n" " %D Uimhir ghléis, heicsidheachúlach\n" " %f mód amh, heicsidheachúlach\n" " %F Cineál comhaid\n" " %g Aitheantas ghrúpa den úinéir\n" " %G Ainm grúpa den úinéir\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Líon na nasc crua\n" " %i Uimhir inode\n" " %n Ainm comhaid\n" " %N Ainm comhaid in athfhriotal, dí-thagartha más nasc siombalach é\n" " %o Méid bhloic I/A\n" " %s Méid iomlán, bearta\n" " %t Cineál gléis príomha, heicsidheachúlach\n" " %T Cineál gléis mion, heicsidheachúlach\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u Aitheantas an úinéara\n" " %U Ainm an úinéara\n" " %x Am den rochtain is déanaí\n" " %X Am den rochtain is déanaí, soicindí ón tSainré\n" " %y Am den mhionathrú is déanaí\n" " %Y Am den mhionathrú is déanaí, soicindí ón tSainré\n" " %z Am den athrú is déanaí\n" " %Z Am den athrú is déanaí, soicindí ón tSainré\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Seichimh bhailí formáide le haghaidh córas comhaid:\n" "\n" " %a Bloic ar fáil do ghnáthúsáideoir\n" " %b Bloic sa chóras comhaid, go hiomlán\n" " %c Nóid sa chóras comhaid, go hiomlán\n" " %d Nóid atá saor sa chóras comhaid\n" " %f Bloic ar fáil sa chóras comhaid\n" " %C Comhthéacs slándála SELinux\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Aitheantas an chórais comhad, heicsidheachúlach\n" " %l Uasfhad d'ainmneacha comhaid\n" " %n Ainm comhaid\n" " %s Méid bloic (le haghaidh aistrithe níos tapa)\n" " %S Bunmhéid bloc (le haghaidh áirithe na mbloc)\n" " %t Cineál, heicsidheachúlach\n" " %T Cineál i bhformáid inléite\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Úsáid: %s [ROGHA]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "Ní féidir %s a oscailt" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "theip ar an gcomhthéacs slándála de %s a athrú go %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Úsáid: %s [-F GLÉAS] [--file=GLÉAS] [LUACH]...\n" " nó: %s [-F GLÉAS] [--file=GLÉAS] [-a|--all]\n" " nó: %s [-F GLÉAS] [--file=GLÉAS] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Taispeáin nó athraigh na hairíonna den teirminéal.\n" "\n" " -a, --all taispeáin na hairíonna go léir i gcruth inléite\n" " -g, --save taispeáin na hairíonna go léir i gcruth stty-inléite\n" " -F, --file=GLÉAS oscail úsáid GLÉAS in ionad an ghnáth-ionchuir\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Cuir `-' roghnach roimh LUACH chun diúltú a dhéanamh. Comharthaítear\n" "roghanna neamh-POSIX le `*'. Socraíonn an córas féin na roghanna atá ar " "fáil.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Carachtair speisialta:\n" " * dsusp CAR Seolfaidh CAR comhartha chun an teirminéal a stopadh\n" " nuair a bheidh an t-ionchur sruthlaithe\n" " eof CAR Seolfaidh CAR comhadchríoch (críochnaigh ionchur)\n" " eol CAR Críochnóidh CAR an líne\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CAR CAR eile chun an líne a chríochnú\n" " erase CAR léirscriosfaidh CAR an carachtar is déanaí\n" " intr CAR seolfaidh CAR comhartha idirbhriste\n" " kill CAR léirscriosfaidh CAR an líne reatha\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CAR iontrálfaidh CAR an chéad charachtar luaite eile\n" " quit CAR seolfaidh CAR comhartha scortha\n" " * rprnt CAR priontálfaidh CAR an líne reatha arís\n" " start CAR atosóidh CAR an t-aschur i ndiaidh á stopadh\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CAR stopfaidh CAR an t-aschur\n" " susp CAR seolfaidh CAR comhartha chun an teirminéal a stopadh\n" " * swtch CAR athróidh CAR chuig sraith bhlaoisce eile\n" " * werase CAR léirscriosfaidh CAR an focal is déanaí\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Roghanna speisialta:\n" " N socraigh an luas ionchurtha/aschurtha a bheith N bád\n" " * cols N cuir in iúl go bhfuil N colún ag an teirminéal\n" " * columns N ar comhbhrí le `cols N'\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N socraigh an luas ionchurtha a bheith N bád\n" " * line N socraigh disciplín líne N\n" " min N le -icanon, N=íosmhéid de charachtair in aon léamh\n" " ospeed N socraigh an luas aschurtha a bheith N bád\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N cuir in iúl go bhfuil N líne ag an teirminéal\n" " * size taispeáin líon na línte agus na gcolún de réir na heithne\n" " speed taispeáin luas an teirminéil\n" " time N le -icanon, socraigh seal fanachta, N deachú soicind\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Roghanna rialaithe:\n" " [-]clocal stop comharthaí a rialaíonn an móideim\n" " [-]cread cumasaigh ionchur\n" " * [-]crtscts cuir croitheadh láimhe RTS/CTS ar siúl\n" " csN socraigh an mhéid carachtair, N giotán, N=5,6,7, nó 8\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb dhá ghiotán stoptha an charachtair (1 le `-')\n" " [-]hup seol comhartha HUP nuair a dhúnann an tty\n" " [-]hupcl ar comhbhrí le [-]hup\n" " [-]parenb gin giotán paireachta san aschur agus iarr é san ionchur\n" " [-]parodd socraigh paireacht chorr (cothrom le `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Roghanna ionchurtha:\n" " [-]brkint seol comhartha idirbhriste i ndiaidh briseadh\n" " [-]icrnl tiontaigh aisfhilleadh go líne nua\n" " [-]ignbrk déan neamhshuim ar charachtair bhriste\n" " [-]igncr déan neamhshuim ar aisfhilleadh\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar déan neamhshuim ar charachtair le hearráidí phaireachta\n" " * [-]imaxbel bíp agus ná sruthlaigh maolán lán ionchurtha\n" " [-]inlcr tiontaigh líne nua go haisfhilleadh\n" " [-]inpck cuir seiceáil phaireachta den ionchur ar siúl\n" " [-]istrip glan an t-ochtú giotán de gach carachtar ionchurtha\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 glac le carachtair san ionchódú UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc tiontaigh an cás uachtair go dtí an cás íochtair\n" " * [-]ixany ceadaigh atosú le haon charachtar\n" " [-]ixoff cumasaigh seoladh de charachtair thosaigh/stoptha\n" " [-]ixon cumasaigh rialú sreafa XON/XOFF\n" " [-]parmrk comharthaigh earráidí phaireachta (le cód 255-0-carachtar)\n" " [-]tandem ar comhbhrí le [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Roghanna aschuir:\n" " * bsN mód moille do chúlspásanna, N=0 nó 1\n" " * crN mód moille d'aisfhilleadh, N=0,1,2, nó 3\n" " * ffN mód moille d'fhoirmfhotha, N=0 nó 1\n" " * nlN mód moille do línte nua, N=0 nó 1\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl tiontaigh aisfhilleadh go líne nua\n" " * [-]ofdel stuáil le scrioscharachtair in ionad carachtair nialasacha\n" " * [-]ofill stuáil le carachtair in ionad am-áireamh i gcás moille\n" " * [-]olcuc tiontaigh an cás íochtair go dtí an cás uachtair\n" " * [-]onlcr tiontaigh líne nua go haisfhilleadh+líne nua\n" " * [-]onlret déan líne nua aisfhilleadh\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ná taispeáin aisfhilleadh sa chéad cholún\n" " [-]opost iarphróiseáil an t-aschur\n" " * tabN mód moille do tháib chothrománacha, N=0,1,2, nó 3\n" " * tabs ar comhbhrí le tab0\n" " * -tabs ar comhbhrí le tab3\n" " * vtN mód moille do tháib ingearacha, N=0 nó 1\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Roghanna logánta:\n" " [-]crterase déan macalla de charachtair léirscriosta mar\n" " cúlspás+spás+cúlspás\n" " * crtkill scrios gach líne trí ghéilleadh do na roghanna echoprt/" "echoe\n" " * -crtkill scrios gach líne trí ghéilleadh do na roghanna echoctl/" "echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho déan macalla de charachtair rialúcháin mar `^c', srl.\n" " [-]echo déan macalla de gach carachtar ionchurtha\n" " * [-]echoctl ar comhbhrí le [-]ctlecho\n" " [-]echoe ar comhbhrí le [-]crterase\n" " [-]echok déan macalla de líne nua i ndiaidh carachtair maraithe\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke ar comhbhrí le [-]crtkill\n" " [-]echonl déan macalla de líne nua, fiú mura carachtair eile\n" " * [-]echoprt déan macalla de charachtair léirscriosta ar gcúl,\n" " idir `\\' agus `/'\n" " [-]icanon cumasaigh carachtair speisialta erase,kill,werase,agus " "rprnt\n" " [-]iexten cumasaigh carachtair speisialta neamh-POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig cumasaigh interrupt, quit, agus cuir carachtair\n" " speisialta ar fionraí\n" " [-]noflsh stop sruthlú i ndiaidh carachtair speisialta interrupt/" "quit\n" " * [-]prterase ar comhbhrí le [-]echoprt\n" " * [-]tostop stop tascanna sa chúlra atá scríobh chuig an teirminéal\n" " * [-]xcase le icanon, éalúchán le `\\' do charachtair sa chás " "uachtair\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Roghanna measctha:\n" " * [-]LCASE ar comhbhrí le [-]lcase\n" " cbreak ar comhbhrí le -icanon\n" " -cbreak ar comhbhrí le icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked ar comhbhrí le brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof agus eol ag glacadh a luachanna " "réamhshocraithe\n" " -cooked ar comhbhrí le `raw'\n" " crt ar comhbhrí le echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec ar comhbhrí le echoe echoctl echoke -ixany intr ^c erase\n" " 0177 kill ^u\n" " * [-]decctlq ar comhbhrí le [-]ixany\n" " ek glac carachtair scriosta/maraithe a luachanna " "réamhshocraithe\n" " evenp ar comhbhrí le parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp ar comhbhrí le -parenb cs8\n" " * [-]lcase ar comhbhrí le xcase iuclc olcuc\n" " litout ar comhbhrí le -parenb -istrip -opost cs8\n" " -litout ar comhbhrí le parenb istrip opost cs7\n" " nl ar comhbhrí le -icrnl -onlcr\n" " -nl ar comhbhrí le icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp ar comhbhrí le parenb parodd cs7\n" " -oddp ar comhbhrí le -parenb cs8\n" " [-]parity ar comhbhrí le [-]evenp\n" " pass8 ar comhbhrí le -parenb -istrip cs8\n" " -pass8 ar comhbhrí le parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw ar comhbhrí le -ignbrk -brkint -ignpar -parmrk -inpck -" "istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw ar comhbhrí le `cooked'\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane ar comhbhrí le cread -ignbrk brkint -inlcr -igncr icrnl\n" " -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl " "onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke,\n" " agus glacann carachtair speisialta a luach " "réamhshocraithe.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Láimhseáil an líne tty atá ceangailte leis an ngnáth-ionchur. Gan\n" "argóintí, taispeáin ráta bád, disciplín líne, agus claonadh ó stty sane.\n" "I roghanna, glactar CAR go litriúil, nó ionchódaithe m.sh. ^c, 0x37, 0177 " "nó\n" "127; úsáid luachanna ^- nó undef chun carachtair speisialta a stopadh.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "ní cheadaítear ach gléas amháin a bheith ceaptha" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "is comheisiatach iad na roghanna d'aschur foclach agus\n" "d'aschur stty-inléite" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "ní cheadaítear móid a shocrú agus an fhormáid aschurtha a cheapadh" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: ní féidir mód gan bacainní a athshocrú" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argóint neamhbhailí %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "tá argóint de dhíth i ndiaidh na rogha %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "disciplín neamhbhailí líne %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: ní féidir gach tasc iarrtha a dhéanamh" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: níl aon eolas ar fáil faoin mhéid den ghléas seo" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argóint neamhbhailí shlánuimhreach %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Taispeáin suim sheiceála agus líon na mbloc in aghaidh gach COMHAD.\n" "\n" " -r stop -s, úsáid algartam BSD agus bloic 1K\n" " -s, --sysv úsáid algartam System V agus bloic 512 beart\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Scríobh bloic athraithe chuig an diosca, nuashonraigh an t-osbhloc.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ag déanamh neamhshuim ar gach argóint" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NÓTA: is féidir go bhfuil leagan eile de %s ag do bhlaosc féin, agus\n" "go hiondúil sháródh sé an leagan a ndéantar cur síos air anseo. Féach ar\n" "dhoiciméadú do bhlaoisce chun tuilleadh eolais a fháil faoi na roghanna\n" "a dtacaíonn sé leo.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help taispeáin an chabhair seo agus scoir\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version taispeáin eolas faoin leagan agus scoir\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha " "fhada.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Seol tuairiscí fabhtanna chuig <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "RABHADH: struchtúr comhadlainne ciorclach.\n" "Is cinnte, mar an gcéanna, go bhfuil córas comhaid truaillithe agatsa.\n" "CUIR AN FHADHB SEO IN IÚL DO RIARTHÓIR DO CHÓRAIS.\n" "Tá an chomhadlann a leanas cuid den struchtúr ciorclach:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scríobh gach COMHAD chuig an ghnáth-aschur, bun os cionn.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before ceangail an deighilteoir roimh in ionad i " "ndiaidh\n" " -r, --regex caith leis an deighilteoir mar shlonn " "ionadaíochta\n" " -s, --separator=TEAGHRÃN úsáid TEAGHRÃN mar dheighilteoir in ionad líne " "nua\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: níorbh fhéidir `seek' a dhéanamh" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "tá an taifead rómhór" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "ní féidir comhad sealadach %s a chruthú" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: theip ar oscailt chun é a scríobh" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "níorbh fhéidir amanna a chaomhnú ar %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: earráid sa scríobh" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "ní féidir %s a oscailt chun léamh" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "ní cheadaítear deighilteoir folamh" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Scríobh an %d líne ag an deireadh de gach COMHAD chuig an ghnáth-aschur.\n" "Má tá níos mó ná COMHAD amháin ann, cuir ceanntásc lena ainm comhaid roimh " "gach.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " scríobh sonraí ceangailte de réir mar fásann an " "comhad;\n" " tá -f, --follow, agus --follow=descriptor ar " "comhbhrí\n" " -F ar comhbhrí le --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N scríobh an N líne is déanaí, in ionad an %d líne\n" " is déanaí; nó bain úsáid as +N chun línte a\n" " scríobh ón N-ú\n" " --max-unchanged-stats=N\n" " le --follow=name, athoscail COMHAD nach n-" "athraíonn\n" " a mhéid i ndiaidh N (réamhshocrú=%d) timthriall\n" " féachaint an raibh sé dínasctha nó athainmnithe\n" " (mar shampla do logchomhaid uainíochta go minic)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID le -f, stop tar éis bháis an phróisis\n" " -q, --quiet, --silent ná taispeáin ceanntásca le hainmneacha comhaid\n" " -s, --sleep-interval=N le -f, maireann gach timthriall timpeall is N\n" " (réamhshocrú 1) soicind\n" " -v, --verbose taispeáin ceanntásca le hainmneacha comhaid i " "gcónaí\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Más é `+' an chéad charachtar de N (líon na mbeart nó línte),\n" "tosaigh ag an N-ú mír ón tosach de gach comhad, agus i ngach cás\n" "eile, taispeáin an N mír ag deireadh an chomhaid.\n" "Is féidir iarmhír iolraithe a chur le N:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Níl an t-oibriú seo inmhianaithe más mian leat an fíor-ainm comhaid a lorg,\n" "in ionad an tuarascálaí comhaid (m.sh. le huainíocht logchomhaid). Bain\n" "úsáid as `--follow=name' sa chás sin. Leis an rogha seo, leanfadh `tail' " "an\n" "comhad tugtha trína athoscailt anois agus arís, féachaint ar scrios agus\n" "ar athchruthaigh clár eile é.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s (fd=%d) á dhúnadh" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: ní féidir bogadh go fritháireamh coibhneasta %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: ní féidir bogadh go fritháireamh coibhneasta ón chríoch %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "tá %s dorochtana anois" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "cuireadh comhad nach féidir a `tail' in áit %s; á thréigean" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "cuireadh comhad nach féidir a `tail' in áit %s; á thréigean" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "tá %s insroichte anois" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "tá %s ann anois; críoch an chomhaid nua á leanúint" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "tá comhad nua in áit %s anois; críoch an chomhaid nua á leanúint" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: ní féidir mód gan bacainní a athshocrú" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: comhad teasctha" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "níl aon chomhad fágtha" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "níl an chomhadlann oibre ar fáil (%s anois)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "cuimhne ídithe" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "ní féidir %s a `touch'" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "earráid agus %s á léamh" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: ní féidir an chríoch a lorg do chomhad den chineál seo; ag tréigean" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "tá an uimhir i %s rómhór" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: is neamhbhailí é an líon uasta `stat'anna gan athrú idir oscailtí" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID neamhbhailí" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: líon na soicindí neamhbhailí" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "úsáideadh an rogha i gcomhthéacs neamhbhailí -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "rabhadh: níl --retry áisiúil ach amháin nuair a leantar de réir ainm" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "rabhadh: rinneadh neamhshuim ar PID; níl --pid=PID tairbheach\n" "mura bhfuiltear ag leanúint" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "rabhadh: níl --pid=PID ar fáil ar an gcóras seo" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "ní féidir %s a leanúint de réir a ainm" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "rabhadh: níl maith ar bith i lorg an ghnáth-ionchur gan teorainn ama" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Cóipeáil an gnáth-ionchur chuig gach COMHAD, agus chuig an ghnáth-aschur\n" "freisin.\n" "\n" " -a, --append iarcheangail leis na COMHA(I)D, ná forscríobh\n" " -i, --ignore-interrupts déan neamhshuim ar chomharthaí idirbhriste\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Más '-' é an COMHAD, cóipeáil arís go dtí an gnáth-aschur.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argóint ar iarraidh i ndiaidh %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "slánuimhir neamhbhailí %s" #: src/test.c:241 msgid "')' expected" msgstr "bhíothas ag súil le ')'" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "bhíothas ag súil le ')', fuarthas %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: bhíothas ag súil le hoibreoir aonártha" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "ní ghlacann -nt le -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "ní ghlacann -ef le -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "ní ghlacann -ot le -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "oibreoir dénártha anaithnid" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: bhíothas ag súil le hoibreoir dénártha" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Úsáid: test SLONN\n" " nó: test\n" " nó: [ SLONN ]\n" " nó: [ ]\n" " nó: [ ROGHA\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Scoir leis an stádas scortha tugtha ag SLONN.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Mura bhfuil SLONN ann, is bréagach an luach réamhshocraithe. I ngach cás " "eile,\n" "is fíor nó bréagach SLONN agus socraíonn sé an stádas scortha. Tá sé ceann\n" "de na luachanna seo a leanas:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( SLONN ) tá SLONN fíor\n" " ! SLONN tá SLONN bréagach\n" " SLONN1 -a SLONN2 tá SLONN1 agus SLONN2 fíor\n" " SLONN1 -o SLONN2 tá SLONN1 nó SLONN2 fíor\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n TEAGHRÃN níl TEAGHRÃN folamh\n" " TEAGHRÃN ar comhbhrí le -n TEAGHRÃN\n" " -z TEAGHRÃN tá TEAGHRÃN folamh\n" " TEAGHRÃN1 = TEAGHRÃN2 is ionann iad\n" " TEAGHRÃN1 != TEAGHRÃN2 ní ionann iad\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " UIMHIR1 -eq UIMHIR2 is ionann iad\n" " UIMHIR1 -ge UIMHIR2 tá UIMHIR1 níos mó, nó is ionann agus, UIMHIR2\n" " UIMHIR1 -gt UIMHIR2 tá UIMHIR1 níos mó ná UIMHIR2\n" " UIMHIR1 -le UIMHIR2 tá UIMHIR1 níos lú, nó is ionann agus, UIMHIR2\n" " UIMHIR1 -lt UIMHIR2 tá UIMHIR1 níos lú ná UIMHIR2\n" " UIMHIR1 -ne UIMHIR2 ní ionann iad\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " COMHAD1 -ef COMHAD2 tá uimhreacha ghléis agus inode céanna acu\n" " COMHAD1 -ef COMHAD2 tá COMHAD1 níos úire (mionathrú) ná COMHAD2\n" " COMHAD1 -ot COMHAD2 tá COMHAD2 níos úire ná COMHAD1\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b COMHAD tá COMHAD ann agus is comhad speisialta den chineál `bloc' é\n" " -c COMHAD tá COMHAD ann agus is comhad speisialta den chineál " "`carachtar' é\n" " -d COMHAD tá COMHAD ann agus is comhadlann é\n" " -e COMHAD tá COMHAD ann\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f COMHAD tá COMHAD ann agus is gnáthchomhad é\n" " -g COMHAD tá COMHAD ann agus is set-group-ID é\n" " -G COMHAD tá COMHAD ann agus is leis an ID grúpa i bhfeidhm é\n" " -h COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -L)\n" " -k COMHAD tá COMHAD ann agus tá sé a ghiotán greamaitheach lasta\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -h)\n" " -O COMHAD tá COMHAD ann agus is leis an aitheantas úsáideora i bhfeidhm\n" " -p COMHAD tá COMHAD ann agus is píopa ainmnithe é\n" " -r COMHAD tá COMHAD ann agus tá sé inléite\n" " -s COMHAD tá COMHAD ann agus níl sé folamh\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S COMHAD tá COMHAD ann agus is soicéad é\n" " -t FD tuarascálaí comhaid FD oscailte ar theirminéal\n" " -u COMHAD tá COMHAD ann agus a ghiotán set-user-ID lasta\n" " -w COMHAD tá COMHAD ann agus is inscríofa é\n" " -x COMHAD tá COMHAD ann agus is féidir é a rith nó a chuardach\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Seachas -h agus -L, dí-thagróidh tástálacha COMHAID gach nasc siombalach.\n" "Ní foláir duit `(' agus `)' a chosaint ón bhlaosc le, m.sh., cúlslaiseanna.\n" "Is féidir le hUIMHIR a bheith -l TEAGHRÃN, fad an teaghráin.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NÓTA: géilleann '[' do na roghanna --help agus --version, ach\n" "úsáideann 'test' --help agus --version díreach cosúil le aon\n" "TEAGHRÃN eile nach bhfuil folamh.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test agus/nó [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "`]' ar iarraidh" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argóint bhreise %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Úsáid: %s ROGHA ÚSÃIDEOIR ORDÚ [ARGÓINT]...\n" " nó: %s ROGHA\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha " "fhada.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "earráid agus %s á scríobh" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" # similar string for time format in ls.c -KPS #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "formáid neamhbhailí ar an dáta: %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "ní féidir %s a `touch'" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "amanna de %s á socrú" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Nuashonraigh na hamanna rochtana/athraithe de gach COMHAD chuig an am " "anois.\n" "\n" "Mura bhfuil argóint COMHAD ann, cruthófar é mar chomhad folamh.\n" "\n" "Má thugtar - mar argóint COMHAD, láimhseáiltear é ar bhealach\n" "speisialta. Athróidh 'touch' amanna an chomhaid a bhaineann leis\n" "an ngnáth-aschur.\n" "\n" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ná hathraigh ach an t-am rochtana\n" " -c, --no-create ná cruthaigh aon chomhad\n" " -d, --date=TEAGHRÃN parsáil TEAGHRÃN agus úsáid in ionad an ama anois\n" " -f (gan feidhm)\n" " -m ná hathraigh ach an t-am mionathraithe\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference téigh i bhfeidhm ar an nasc siombalach in ionad\n" " comhad tagartha ar bith (le fáil más féidir le do\n" " chóras an t-úinéir de nasc siombalach a athrú)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=COMHAD úsáid na hamanna ar an chomhad seo, ní an t-am " "anois\n" " -t STAMPA úsáid [[CC]YY]MMDDhhmm[.ss] in ionad an ama anois\n" " --time=FOCAL socraigh an t-am le FOCAL:\n" " FOCAL = access, atime, nó use: ar comhbhrí le -a\n" " FOCAL = modify nó mtime: ar comhbhrí le -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Tabhair faoi deara go bhfuil formáidí difriúla am-dáta\n" "ag na roghanna -d agus -t.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "ní féidir amanna a shocrú ó fhoinsí iomadúla" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "rabhadh: Tá `touch %s' i léig; bain úsáid as `touch -t %04ld%02d%02d%02d%02d." "%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Úsáid: %s [ROGHA]... TACAR1 [TACAR2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Aistrigh, fáisc, agus/nó scrios carachtair as an ngnáth-ionchur,\n" "ag scríobh chuig an ghnáth-aschur.\n" "\n" " -c, -C, --complement comhlánaigh TACAR1 ar dtús\n" " -d, --delete scrios carachtair ó TACAR1, ná haistrigh\n" " -s, --squeeze-repeats cuir carachtar singil in ionad seicheamh leantach\n" " d'aon charachtar ó TACAR1\n" " -t, --truncate-set1 teasc TACAR1 go dtí an fad de TACAR2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Sonraíonn TACAR mar theaghrán carachtar. Ciallaíonn carachtar é féin de " "ghnáth.\n" "Cóid léirmhínithe:\n" "\n" " \\NNN carachtar le luach ochtnártha NNN (1,2, nó 3 digit)\n" " \\\\ cúlslais\n" " \\a BEL inchloiste\n" " \\b cúlspás\n" " \\f foirmfhotha\n" " \\n líne nua\n" " \\r aisfhilleadh\n" " \\t táb cothrománach\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v táb ingearach\n" " CAR1-CAR2 gach carachtar idir CAR1 agus CAR2, in ord\n" " [CAR*] i dTACAR2, cóipeanna CAR go dtí fad TACAR1\n" " [CAR*UIMHIR] UIMHIR cóip de CAR, ochtnártha má thosaíonn sé le 0\n" " [:alnum:] litreacha agus digití\n" " [:alpha:] litreacha\n" " [:blank:] spás bán cothrománach\n" " [:cntrl:] carachtair rialúcháin\n" " [:digit:] digití\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] carachtair ghrafacha, ach amháin spás\n" " [:lower:] litreacha cás íochtair\n" " [:print:] carachtair ghrafacha, spás san áireamh\n" " [:punct:] comharthaí poncaíochta\n" " [:space:] spás bán, cothrománach nó ingearach\n" " [:upper:] litreacha cás uachtair\n" " [:xdigit:] digití heicsidheachúlacha\n" " [=CAR=] carachtair ar comhbhrí le CAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "rabhadh: léirmhíneofar an t-éalúchán débhríoch ochtnártha \\%c%c%c mar\n" "\tan seicheamh dhá bheart: \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "rabhadh: cúlslais gan éalúchán ag deireadh an teaghráin agus ní inaistrithe " "é seo" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "tá na teorainneacha i `%s-%s' as ord" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "líon neamhbhailí na hathráite %s i gcomhstruchtúr [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "tá ainm na haicme charachtair `[::]' ar iarraidh" # equivalence in FE94 (though not equivalence class) #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "carachtar ar iarraidh in aicme choibhéise `[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "aicme neamhbhailí charachtair %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ní foláir carachtar aonarach mar oibreann d'aicme coibhéise" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "comhstruchtúr [:upper:] agus/nó [:lower:] mí-ailínithe" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "an iomarca carachtar sa tacar" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "ní cheadaítear an comhstruchtúr [c*] i teaghrán1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "ní cheadaítear ach comhstruchtúr [c*] amháin i teaghrán2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "ní cheadaítear sloinn [=c=] i dteaghrán2 le linn aistrithe" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ní cheadaítear aon aicme charachtair ach `upper' nó `lower' i dteaghrán2\n" "le linn aistrithe" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" "mura bhfuiltear ag teascadh tacar1, ní féidir teaghrán2 a bheith folamh" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "ní foláir do theaghrán2 na carachtair ar fad a mhapáil go carachtar singil\n" "le linn aistrithe le haicme charachtair comhlánaithe" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "ní cheadaítear [c*] i dteaghrán2 ach nuair atáthar ag aistriú" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "ní foláir dhá theaghrán a thabhairt agus scriosadh agus fáisceadh araon" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Ní foláir dhá theaghrán le linn aistrithe." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "Ní foláir teaghrán aonarach a thabhairt le linn scriosta gan fáscadh." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s [argóintí gan úsáid]\n" " nó: %s ROGHA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Scoir le cód scortha a chomharthaíonn bua." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Scoir le cód scortha a chomharthaíonn teip." #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Úsáid: %s ROGHA... [COMHAD]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 #, fuzzy msgid " -c, --no-create do not create any files\n" msgstr " -d, --directory cruthaigh comhadlann in ionad comhaid\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: comhad de mhéid diúltach" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "níl aon fháil ar an am lae" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "fritháireamh thar maoil agus comhad %s á léamh" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "fritháireamh thar maoil agus comhad %s á léamh" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "sonraíodh sprioc-chomhadlanna iomadúla" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "ní foláir duit liosta bearta, carachtair, nó réimsí a cheapadh" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "ní féidir %s a oscailt chun scríobh air" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" # partial and total ordering not in FE94; ordúil for ordered # seems not to have the force of a past participle # coined "páirtord" by analogy #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Úsáid: %s [ROGHA] [COMHAD]\n" "Scríobh liosta sórtáilte go hiomlán is comhchuí leis an pháirtord i " "gCOMHAD.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: is corr líon na dteaghrán san ionchur" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: tá lúb san ionchur:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Taispeáin ainm an teirminéil atá ceangailte leis an ngnáth-ionchur.\n" "\n" " -s, --silent, --quiet ná taispeáin aon ní; aischuir stádas scortha\n" #: src/tty.c:120 msgid "not a tty" msgstr "ní tty é" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Taispeáin eolas áirithe faoin gcóras. Gan ROGHA, is ionann é agus `-s'.\n" "\n" " -a, --all taispeáin gach faisnéis, san ord seo a leanas,\n" " ach fág -p agus -i ar lár más anaithnid:\n" " -s, --kernel-name taispeáin ainm na heithne\n" " -n, --nodename taispeáin óstainm an nóid lín\n" " -r, --kernel-release taispeáin leagan na heithne\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version taispeáin leagan na heithne\n" " -m, --machine taispeáin ainm na gcrua-earraí\n" " -p, --processor taispeáin cineál an phróiseálaí, nó \"unknown\"\n" " -i, --hardware-platform taispeáin ardán na gcrua-earraí nó \"unknown\"\n" " -o, --operating-system taispeáin an córas oibriúcháin\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Taispeáin ailtireacht an ríomhaire.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "níl aon fháil ar an ainm córais" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tiontaigh spásanna i ngach COMHAD go táib, agus scríobh ar an ngnáth-" "aschur.\n" "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all tiontaigh an spás bán ar fad, in ionad an spáis " "tosaigh\n" " --first-only ná tiontaigh ach an spás bán tosaigh (sáraíonn -a)\n" " -t, --tabs=N táib N carachtar óna chéile in ionad 8 (cumasaigh -a)\n" " -t, --tabs=LIOSTA liosta de tháib, scartha le camóga (cumasaigh -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "táib rófhada ó chéile" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "is rómhór an luach tábstoip" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Úsáid: %s [ROGHA]... [IONCHUR [ASCHUR]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count taispeáin líon na dtarluithe ar tosach gach líne -" "d, --repeated ná taispeáin ach línte dúblacha\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=modh] taispeáin gach líne dhúblach\n" " modh={none(réamhshocrú),prepend,separate}\n" " Úsáidtear línte folmha mar theormharcóirí.\n" " -f, --skip-fields=N ná déan comparáid ar an chéad N réimse\n" " -i, --ignore-case déan neamhshuim ar chás i gcomparáidí\n" " -s, --skip-chars=N ná déan comparáid ar an chéad N carachtar\n" " -u, --unique ná taispeáin ach línte uathúla\n" " -z, --zero-terminated cuir beart 0 ag deireadh gach líne in ionad líne " "nuaí\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N déan comparáid ar N carachtar ar a mhéad\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Is éard atá i réimse: stráice spás bán (spásanna agus táib go hiondúil), " "agus\n" "ansin carachtair nach spás bán. Gabhtar thar réimsí roimh charachtair.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Nóta: ní bhraitheann 'uniq' línte athdhéanta mura bhfuil siad as a chéile.\n" "Dá bhrí seo is fearr má sórtálann tú an t-ionchur ar dtús, nó bain\n" "úsáid as `sort -u' gan `uniq'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "an iomarca línte dúblacha" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "is neamhbhailí líon na réimsí le ligean thar" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "is neamhbhailí líon na mbeart le ligean thar" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "is neamhbhailí líon na mbeart a chur i gcomparáid" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "Is gan chiall línte dúblacha AGUS líon na hathráite a thaispeáint" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s COMHAD\n" " nó: %s ROGHA\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Bain úsáid as an fheidhm unlink() chun an COMHAD a scriosadh.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "ní féidir %s a dhínasc" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "níl aon fháil ar am an tosaithe is déanaí" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? beo " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? lá ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s beo " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu úsáideoir" msgstr[1] "%lu úsáideoir" msgstr[2] "%lu úsáideoir" msgstr[3] "%lu n-úsáideoir" msgstr[4] "%lu úsáideoir" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", meánlód: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Taispeáin an t-am anois, an tréimhse atá an córas ar siúl,\n" "líon na n-úsáideoirí, agus líon na dtascanna sa chiú, ar mheán, le linn\n" "na 1, 5, agus 15 nóiméad is déanaí.\n" "Mura bhfuil COMHAD tugtha, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Taispeáin úsáideoirí atá logáilte isteach faoi láthair, dar le COMHAD.\n" "Gan CHOMHAD, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Taispeáin úsáideoirí atá logáilte isteach faoi láthair, dar le COMHAD.\n" "Gan CHOMHAD, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Taispeáin líon na mbeart, na bhfocal, agus na línte nua do gach COMHAD, " "agus\n" "línte go hiomlán má tá níos mó ná comhad amháin ann. Mura bhfuil aon " "CHOMHAD\n" "ann, nó más `-' é, léigh ón ghnáth-ionchur.\n" " -c, --bytes taispeáin líon na mbeart\n" " -m, --chars taispeáin líon na gcarachtar\n" " -l, --lines taispeáin líon na línte nua\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=C léigh na comhaid a shonraítear i gcomhad C le\n" " hainmneacha atá críochnaithe ag carachtair " "nialasacha\n" " -L, --max-line-length taispeáin fad na líne is faide\n" " -w, --words taispeáin líonta na bhfocal\n" #: src/who.c:210 msgid " old " msgstr " sean " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "Earráid chórais" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "teirm=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "stádas=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "athrú an chloig" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "leibhéal feidhmithe" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "déanach=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# úsáideoirí=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "AINM" #: src/who.c:559 msgid "LINE" msgstr "LÃNE" #: src/who.c:559 msgid "TIME" msgstr "AM " #: src/who.c:559 msgid "IDLE" msgstr "DÃOMHAOIN" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "NÓTA" #: src/who.c:560 msgid "EXIT" msgstr "SCOIR" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Úsáid: %s [ROGHA]... [ COMHAD | ARG1 ARG2 ]]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all ar comhbhrí le `-b -d --login -p -r -t -T -u'\n" " -b, --boot am an atosaithe is déanaí\n" " -d, --dead taispeáin próisis mharbha\n" " -H, --heading taispeáin teidil na gcolún\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login taispeáin próisis logála isteach an chórais\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " -l, --lookup féach le caighdeánú na hóstainmneacha le DNS\n" " -m níl ach óstainm agus úsáideoir nasctha leis an ngnáth-" "ionchur\n" " -p, --process taispeáin próisis a chuir init ar bun\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count taispeáin gach ainm logála isteach agus\n" " líon na n-úsáideoirí faoi láthair\n" " -r, --runlevel taispeáin an leibhéal feidhmithe faoi láthair\n" " -s, --short ná taispeáin ach ainm, líne, agus am (réamhshocrú)\n" " -t, --time taispeáin athrú an chloig is déanaí\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg taispeáin stádas teachtaireachta mar +, -, nó ?\n" " -u, --users taispeáin úsáideoirí atá logáilte isteach faoi láthair\n" " --message ar comhbhrí le -T\n" " --writable ar comhbhrí le -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Mura bhfuil COMHAD tugtha, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" "Má tá ARG1 agus ARG2 ann, glactar le -m: is gnách `am i' nó `mom likes'.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Taispeáin an t-ainm úsáideora nasctha leis an aitheantas atá i bhfeidhm\n" "faoi láthair. Ar comhbhrí le `id -un'.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: níl aon fháil ar ainm don aitheantas úsáideora %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s [TEAGHRÃN]...\n" " nó: %s ROGHA\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Priontáil líne arís agus arís le gach TEAGHRÃN ceaptha, nó `y'.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "comhad %s á chruthú\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Úsáid: %s [ROGHA] AINM...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: fad iarmhíre neamhbhailí" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s /usr/bin/sort Aschur: \"sort\".\n" #~ " %s include/stdio.h .h Aschur: \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "%s á léamh" #~ msgid "writing %s" #~ msgstr "%s á scríobh" #~ msgid "closing %s" #~ msgstr "%s á dhúnadh" #~ msgid "accessing %s" #~ msgstr "%s á rochtain" #~ msgid "opening %s" #~ msgstr "%s á oscailt" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s AINM\n" #~ " nó: %s ROGHA\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system fan ar an chóras chomhaid seo\n" #~ " -X COMHAD, --exclude-from=COMHAD Ná cuir comhaid san áireamh atá\n" #~ " comhoiriúnach le haon phatrún i " #~ "gCOMHAD.\n" #~ " --exclude=PATRÚN Ná cuir comhaid atá comhoiriúnach le PATRÚN san " #~ "áireamh\n" #~ " --max-depth=N taispeáin iomlán do chomhadlann (nó comhad, le --" #~ "all)\n" #~ " nuair atá sé N leibhéal, ar a mhéad, faoin " #~ "argóint\n" #~ " ar líne na n-orduithe; is ionann --max-depth=0 " #~ "agus\n" #~ " --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ná déan cúltacaí choíche (fiú má tá --backup ceaptha)\n" #~ " numbered, t déan cúltacaí agus uimhreacha orthu\n" #~ " existing, nil numbered má tá uimhreacha orthu anois, simple mura " #~ "bhfuil\n" #~ " simple, never déan cúltacaí simplí i gcónaí\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "tá an rogha --allow-missing dulta i léig; bain úsáid as --retry ina háit" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha " #~ "fhada.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "BUNUIMHIR: d=deachúlach, o=ochtnártha, x=heicsidheachúlach, nó " #~ "n=neamhní.\n" #~ "Comharthaíonn réimír 0x nó 0X go bhfuil BEARTA heicsidheachúlach, agus " #~ "is\n" #~ "féidir iarmhír iolraithe a chur leis:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ "Má tá iarmhír `z' ann le cineál ar bith, taispeánfar carachtair\n" #~ "inphriontáilte ag an deireadh de gach líne aschurtha. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Glactar le 3 mura bhfuil uimhir i ndiaidh --string, agus glactar le 32\n" #~ "i ndiaidh --width mar an gcéanna. De réir réamhshocraithe, úsáideann od\n" #~ "roghanna -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD\n" #~ msgid "Password:" #~ msgstr "Focal faire:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ní féidir /dev/tty a oscailt" #~ msgid "cannot set groups" #~ msgstr "ní féidir grúpaí a shocrú" #~ msgid "cannot set group id" #~ msgstr "ní féidir aitheantas an ghrúpa a shocrú" #~ msgid "cannot set user id" #~ msgstr "ní féidir aitheantas an úsáideora a shocrú" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Úsáid: %s [ROGHA]... [-] [ÚSÃIDEOIR [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Athraigh an t-aitheantas úsáideora/grúpa i bhfeidhm go dtí na cinn\n" #~ "atá ag ÚSÃIDEOIR.\n" #~ "\n" #~ " -, -l, --login bain úsáid as blaosc logála isteach\n" #~ " -c, --commmand=ORDÚ seachaid ORDÚ chuig an bhlaosc le -c\n" #~ " -f, --fast seachaid -f chuig an bhlaosc (csh nó " #~ "tcsh)\n" #~ " -m, --preserve-environment ná hathshocraigh athróga thimpeallachta\n" #~ " -p ar comhbhrí le -m\n" #~ " -s, --shell=BLAOSC rith BLAOSC má cheadaíonn /etc/shells é\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Úsáidtear -l go huathoibríoch nuair a shonraítear `-' lom.\n" #~ "Mura bhfuil ÚSÃIDEOIR ann, glactar le root.\n" #~ msgid "user %s does not exist" #~ msgstr "níl a leithéid d'úsáideoir %s" #~ msgid "incorrect password" #~ msgstr "focal faire mícheart" #~ msgid "using restricted shell %s" #~ msgstr "ag baint úsáid as blaosc shrianta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "rabhadh: ní féidir an chomhadlann oibre a athrú go %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Athraigh an grúpa de gach COMHAD go GRÚPA.\n" #~ "Le --reference, athraigh an grúpa de gach COMHAD go dtí an grúpa de " #~ "TCOMHAD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach\n" #~ " nuair a athraítear rud éigin\n" #~ " --dereference téigh i bhfeidhm ar thagrán gach naisc\n" #~ " shiombalaigh (réamhshocrú) in ionad an naisc\n" #~ " shiombalaigh féin\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ná tabhair cóir speisialta do " #~ "`/' (réamhshocrú)\n" #~ " --preserve-root ná caith le `/' go hathchúrsach\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " --reference=TCOMHAD bain úsáid as an ghrúpa atá ag TCOMHAD\n" #~ " agus ná sonraigh luach GRÚPA\n" #~ " -R, --recursive oibrigh ar chomhaid/chomhadlanna go " #~ "hathchúrsach\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad " #~ "próiseáilte\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Athraigh an mód de gach COMHAD go dtí MÓD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach " #~ "ar athruithe\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad\n" #~ " --reference=COMHAD bain úsáid as an ghrúpa atá ag COMHAD\n" #~ " -R, --recursive athraigh comhaid agus comhadlanna go " #~ "hathchúrsach\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Athraigh an t-úinéir agus/nó an grúpa de gach COMHAD go ÚINÉIR agus/nó " #~ "GRÚPA.\n" #~ "Le --reference, athraigh an t-úinéir agus an grúpa de gach COMHAD go dtí " #~ "an\n" #~ "t-úinéir agus an grúpa de TCOMHAD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach " #~ "nuair\n" #~ " a athraítear rud éigin\n" #~ " --dereference téigh i bhfeidhm ar thagrán gach naisc\n" #~ " shiombalaigh (réamhshocrú) in ionad an naisc\n" #~ " shiombalaigh féin\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " --reference=TCOMHAD bain úsáid as an úinéir/ngrúpa atá ag TCOMHAD\n" #~ " agus ná sonraigh luach ÚINÉIR:GRÚPA\n" #~ " -R, --recursive oibrigh ar chomhaid/chomhadlanna go " #~ "hathchúrsach\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad " #~ "próiseáilte\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Taispeáin an t-am anois i gcruth FORMÃID, nó socraigh dáta an chórais.\n" #~ "\n" #~ " -d, --date=TEAGHRÃN taispeáin am tugtha i dTEAGHRÃN, ní `now'\n" #~ " -f, --file=COMHADDÃTA mar --date uair amháin sa líne de " #~ "CHOMHADDÃTA\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "Is féidir MÉID a bheith ceann acu seo a leanas (le, go roghnach, " #~ "slánuimhir\n" #~ "ar tosach): kB 1000, K 1024, MB 1,000,000, M 1,048,576, srl. do G,T,P,E,Z," #~ "Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: rogha neamhcheadaithe -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "argóint neamhbhailí: %s" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLÚIN Timfhill línte ionchódaithe tar éis COLÚIN " #~ "charachtar\n" #~ " (réamhshocrú=76).\n" #~ " Úsáid 0 chun timfhilleadh a dhíchumasú.\n" #~ "\n" #~ " -d, --decode Díchódaigh sonraí.\n" #~ " -i, --ignore-garbage Déan neamhshuim ar charachtair neamhaibítreacha " #~ "le\n" #~ " linn díchódaithe.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Taispeáin an chabhair seo agus scoir.\n" #~ " --version Taispeáin eolas faoin leagan agus scoir.\n" #~ msgid "FIXME unknown" #~ msgstr "FIXME: anaithnid" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Úsáid: %s [ROGHA] [COMHAD]...\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s FRÉAMHNUA [ORDÚ...]\n" #~ " nó: %s ROGHA\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #~ msgid "cannot create link %s" #~ msgstr "ní féidir an nasc %s a chruthú" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference ná lean naisc shiombalacha i FOINSE riamh\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Is é `~' an iarmhír chúltaca, mura dtugtar é le --suffix nó " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Is féidir an modh de rialú foinsí a roghnú le `--backup', nó leis an " #~ "athróg\n" #~ "thimpeallachta VERSION_CONTROL. Seo duit na luachanna bailí:\n" #~ "\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "tá an rogha --reply dulta i léig; bain úsáid as -i nó -f ina háit" #~ msgid "invalid format precision" #~ msgstr "beachtas neamhbhailí na formáide" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "FAINIC: bain úsáid as --si in ionad -H; athrófar an rogha -H a bheith ar\n" #~ "comhbhrí leis an rogha --dereference-args (-D)" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "tá an rogha --megabytes dulta i léig; bain úsáid as -m ina háit" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Úsáid: %s [ROGHA]... [TEAGHRÃN]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Má tá an rogha -e in éifeacht, aithnítear na carachtair éalúcháin a " #~ "leanas:\n" #~ "\n" #~ " \\0NNN an carachtar leis an gcód ASCII NNN (ochtnártha)\n" #~ " \\\\ cúlslais\n" #~ " \\a rabhadh (BEL)\n" #~ " \\b cúlspás\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin na fachtóirí príomha de gach UIMHIR.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "ní féidir comhthéacs a thaispeáint nuair nach bhfuil selinux cumasaithe " #~ "nó\n" #~ "nuair atá aitheantas úsáideora eile á thaispeáint" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: rabhadh: ní iniompartha nasc crua go nasc siombalach" #~ msgid "creating symbolic link %s" #~ msgstr "nasc siombalach %s á chruthú" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "nasc siombalach %s le %s á chruthú" #~ msgid "creating hard link %s" #~ msgstr "nasc crua %s á chruthú" #~ msgid "creating hard link %s => %s" #~ msgstr "nasc crua %s le %s á chruthú" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Ní bhaintear úsáid as dathanna chun comhaid a dhealú, mar réamhshocrú.\n" #~ "Tá sé sin ar comhbhrí le `--color=none'. Má tá `--color' tugtha gan an\n" #~ "argóint CATHAIN, tá sé sin ar comhbhrí le `--color=always'. Le `--" #~ "color=auto',\n" #~ "baintear úsáid as dathanna nuair atá an gnáth-aschur ceangailte le\n" #~ "teirminéal (tty). Téann an athróg thimpeallachta LS_COLORS i bhfeidhm " #~ "ar\n" #~ "na dathanna, agus is féidir é a shocrú gan stró leis an ordú dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Stádas scortha = 0 (OK), 1 (deacrachtaí beaga), 2 (deacrachtaí troma).\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Úsáid: %s [ROGHA] COMHADLANN...\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet ná taispeáin diagnóisic nuair nach féidir comhad nó\n" #~ " comhadlann a chruthú\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run ná cruthaigh faic; taispeáin ainm amháin " #~ "(contúirteach)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr " -p CMHDLNN úsáid CMHDLNN mar réimír; => -t [i léig]\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmd=\"%s\" leithead=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -STEAGHRÃN, --sep-string[=TEAGHRÃN]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a rabhadh (BEL)\n" #~ " \\b cúlspás\n" #~ " \\c stop an t-aschur\n" #~ " \\f foirmfhotha\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n líne nua\n" #~ " \\r athfhilleadh\n" #~ " \\t táb cothrománach\n" #~ " \\v táb ingearach\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "MARFACH: theip ar chomhadlann %s a dhúnadh" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "MARFACH: ní féidir `..' a oscailt ó %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "MARFACH: ní féidir deimhniú go bhfuil %s (áit a bhfilleadh uirthi trí ..) " #~ "slán" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "MARFACH: d'athraigh comhadlann %s dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "MARFACH: ní féidir dul isteach i gcomhadlann %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "MARFACH: d'athraigh dev/ino na comhadlainne a bhfuil tú tar éis dul inti " #~ "(%s)" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "MARFACH: ní féidir dul ar ais go .. ó %s" #~ msgid "cannot remove root directory %s" #~ msgstr "ní féidir fréamhchomhadlann %s a scriosadh" #~ msgid "cannot remove relative-named %s" #~ msgstr "ní féidir gaol darbh ainm %s a bhaint" #~ msgid "cannot restore current working directory" #~ msgstr "ní féidir an chomhadlann reatha a athchóiriú" #~ msgid "no %% directive in format string %s" #~ msgstr "gan treoir %% i dteaghrán formáide %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "an iomarca treoracha %% i dteaghrán formáide %s" #~ msgid "invalid format string: %s" #~ msgstr "teaghrán neamhbhailí formáide: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Úsáid: %s [ROGHANNA] COMHAD [...]\n" #~ msgid "extra operand %s\n" #~ msgstr "oibreann breise %s\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort sórtáil de réir luach uimhriúil ginearálta\n" #~ " -i, --ignore-nonprinting ná húsáid ach carachtair ghrafacha\n" #~ " -M, --month-sort sórtáil (anaithnid) < `EAN' < ... < `NOL'\n" #~ " -n, --numeric-sort sórtáil de réir luach uimhriúil na " #~ "dteaghrán\n" #~ " -R, --random-sort sórtáil de réir hais randamach de na " #~ "heochracha\n" #~ " --random-source=COMHAD faigh bearta randamacha as COMHAD " #~ "(réamhshocrú:\n" #~ " /dev/urandom)\n" #~ " --sort=FOCAL sórtáil de réir FOCAL:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse sórtáil bun os cionn\n" #~ msgid "cannot create temporary file" #~ msgstr "ní féidir comhad sealadach a chruthú" #~ msgid "couldn't open temporary file" #~ msgstr "níorbh fhéidir comhad sealadach a oscailt" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh MÉID:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ msgid "invalid number of lines: 0" #~ msgstr "líon na línte neamhbhailí: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Úsáid: %s [ROGHA] COMHAD...\n" # French did this too -KPS #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry lean ar aghaidh déanamh iarracht comhad a " #~ "oscailt\n" #~ " fiú más dorochtana é nuair a thosaíonn `tail' " #~ "nó\n" #~ " má éiríonn sé dorochtana ina dhiaidh sin; " #~ "áisiúil\n" #~ " nuair atá tú ag leanúint de réir an ainm, .i. " #~ "le\n" #~ " --follow=name\n" #~ " -c, --bytes=N taispeáin an N beart deireanach; nó, úsáid +N " #~ "chun\n" #~ " bearta a aschur ón N-ú beart de gach comhad\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Le --follow (-f), úsáidfidh tail an tuarascálaí comhaid seo a leanas, " #~ "agus\n" #~ "dá bhrí sin, fiú má athainmnítear an comhad idir lámha, leanfaidh tail\n" #~ "ag próiseáil a chríoch. " #~ msgid "creating %s" #~ msgstr "%s á chruthú" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Aistrigh má tá TACAR1 agus TACAR2 araon ann agus mura bhfuil -d tugtha.\n" #~ "Ní cheadaítear -t ach nuair atáthar ag aistriú. Fadófar TACAR2 go dtí " #~ "fad\n" #~ "TACAR1 trí athrá dá charachtar deireanach, a mhéad is gá" #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Déanfar neamhshuim ar\n" #~ "charachtair bhreise ó TACAR2. Níl aon aicme charachtair ach [:lower:] " #~ "agus\n" #~ "[:upper:] a leathnaíonn in ord ardaitheach go cinnte; ní cheadaítear iad " #~ "a\n" #~ "úsáid ach don tiontú cáis. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Úsáideann an rogha -s TACAR1 mura bhfuiltear\n" #~ "ag aistriú ná ag scriosadh; úsáidtear TACAR2 le linn fáiscthe, déanta\n" #~ "tar éis aistriú nó scriosadh.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Coinnigh aon líne amháin as seicheamh athráite ón IONCHUR (nó\n" #~ "ón ghnáth-ionchur) agus scríobh chuig ASCHUR (nó an gnáth-aschur).\n" #~ "\n" #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld lá" #~ msgstr[1] "%ld lá" #~ msgstr[2] "%ld lá" #~ msgstr[3] "%ld lá" #~ msgstr[4] "%ld lá" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Úsáid: %s [ROGHA]... [ COMHAD ]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "oibreann anaithnid %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " grúpáil comhadlanna roimh chomhaid\n" #~ msgid "block size" #~ msgstr "méid bloc" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Is saorbhogearra é seo. Is féidir leat cóipeanna a scaipeadh de réir na\n" #~ "gcoinníollacha den GNU General Public License\n" #~ "<http://www.gnu.org/licenses/gpl.html>.\n" #~ "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "%s neamhbhailí `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "carachtar neamhbhailí tar éis %s i `%s'" #~ msgid "%s `%s' too large" #~ msgstr "%s `%s' rómhór" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "tá an rogha --kilobytes dulta i léig; bain úsáid as -k ina háit" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "Is féidir iarmhír a chur le MÉID: b=512, k=1K, m=1 Meig.\n" #~ msgid "cannot print only user and only group" #~ msgstr "ní féidir an t-úsáideoir amháin agus an grúpa amháin a thaispeáint" #~ msgid "cannot get supplemental group list" #~ msgstr "níl aon fháil ar liosta na ngrúpaí forlíontach" #~ msgid "skip argument" #~ msgstr "gabh thar argóint" #~ msgid "limit argument" #~ msgstr "teorannaigh argóint" #~ msgid "minimum string length" #~ msgstr "fad íosta do theaghráin" #~ msgid "width specification" #~ msgstr "sainiú leithid" #~ msgid "page range" #~ msgstr "raon leathanach" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "" #~ "tá an rogha --copyright dulta i léig; bain úsáid as --version ina háit" #~ msgid "sort size" #~ msgstr "méid na sórtála" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "Is féidir iarmhír a chur le MÉID: b=512, k=1K, m=1 Meig.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Nuashonraigh na hamanna rochtana/mionathraithe do gach COMHAD chuig an am " #~ "anois.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "rabhadh: tá --i dulta i léig agus beidh sé scriosta\n" #~ "i leagan éigin amach anseo. Bain úsáid as `-u' ina háit" #~ msgid "strip failed" #~ msgstr "teipthe ar an struipeáil" #~ msgid "value %s is so large that it is not representable" #~ msgstr "tá %s chomh mór nach inléirithe é" #~ msgid "symbolic links are not supported on this system" #~ msgstr "níl naisc shiombalacha ar fáil ar an gcóras seo" #~ msgid "fifo files not supported" #~ msgstr "níl comhaid FIFO ar fáil" #~ msgid "cannot remove `.' or `..'" #~ msgstr "ní féidir na comhadlanna `.' nó `..' a scriosadh" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "ní féidir an t-úinéir agus/nó an grúpa de %s a athrú" #~ msgid "cannot chdir to directory %s" #~ msgstr "ní féidir chdir a dhéanamh go dtí an chomhadlann %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "níl aon fháil ar an ghrúpa don UID uimhriúil seo" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ná tabhair cóir speisialta do `/' (réamhshocrú)\n" #~ " --preserve-root ná caith le `/' go hathchúrsach\n" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "rabhadh: bunshlonn ionadaíochta do-iompartha: %s: ní iniompartha é `^'\n" #~ "mar an chéad charachtar den slonn ionadaíochta; ag déanamh neamhshuim air" #~ msgid "unrecognized option `-%c'" #~ msgstr "rogha anaithnid `-%c'" #~ msgid "cannot return to working directory" #~ msgstr "ní féidir dul ar ais go dtí an chomhadlann oibre" #~ msgid "cannot return to current directory" #~ msgstr "ní féidir dul ar ais go dtí an chomhadlann reatha" #~ msgid "create symbolic link %s to %s" #~ msgstr "cruthaigh nasc siombalach %s go %s" #~ msgid "create hard link %s to %s" #~ msgstr "cruthaigh nasc crua %s go %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "ní féidir na ceadanna den chomhadlann %s a shocrú" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "ní féidir na ceadanna den FIFO %s a shocrú" #~ msgid "cannot set permissions of %s" #~ msgstr "ní féidir na ceadanna de %s a shocrú" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Is saorbhogearra an ríomhchlár seo; is féidir leat é a scaipeadh agus/nó\n" #~ "a athrú de réir na gcoinníollacha den GNU General Public License mar atá\n" #~ "foilsithe ag an Free Software Foundation; faoi leagan 2 den cheadúnas,\n" #~ "nó (más mian leat) aon leagan níos déanaí.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Scaiptear an ríomhchlár seo le súil go mbeidh sé áisiúil,\n" #~ "ach GAN AON BARÃNTA; go fiú gan an barántas intuigthe\n" #~ "d'INDÃOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH. Féach ar an\n" #~ "GNU General Public License chun níos mó sonraí a fháil.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Ba chóir go mbeifeá tar éis cóip den GNU General Public License a fháil\n" #~ "in éineacht leis an ríomhchlár seo; mura bhfuair, scríobh chuig an\n" #~ "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" #~ "Boston, MA 02110-1301, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "ní féidir an chomhadlann oibre a athrú ó %s go dtí .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "ní féidir `.' a `lstat' i %s" #~ msgid "cannot lstat %s" #~ msgstr "ní féidir %s a `lstat'" #~ msgid "cannot chdir from %s to %s" #~ msgstr "ní féidir an chomhadlann oibre a athrú ó %s go %s" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Scrios (dínasc) an COMHA(I)D.\n" #~ "\n" #~ " -d, --directory dínasc COMHAD, fiú más comhadlann le hábhair é\n" #~ " (forúsáideoir; teipfidh an rogha seo mura bhfuil " #~ "do\n" #~ " chóras in ann comhadlanna le hábhair a " #~ "dhínascadh)\n" #~ " -f, --force ná fiafraigh, déan neamhshuim ar chomhaid ar " #~ "iarraidh\n" #~ " -i, --interactive fiafraigh roimh scriosadh\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "ní féidir an chomhadlann %s a fhorscríobh" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Taispeáin stádas de chomhad nó de chóras comhaid.\n" #~ "\n" #~ " -f, --file-system taispeáin stádas de chóras in ionad comhaid\n" #~ " -c --format=FORMÃID bain úsáid as an FHORMÃID ceaptha\n" #~ " -L, --dereference lean naisc\n" #~ " -t, --terse taispeáin an t-eolas go gonta\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Rabhadh: tá --l dulta i léig; bain úsáid as `-L' ina háit" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle taispeáin am díomhaoin mar UAIRE:NÓIMÉID, . nó old\n" #~ " (i léig, bain úsáid as -u)\n" #~ " --login taispeáin próisis logála isteach don chóras\n" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: ní féidir an chomhadlann oibre a athchóiriú" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Is saorbhogearra an ríomhchlár seo; féach ar an bhunchód le haghaidh\n" #~ "coinníollacha cóipeála. Níl baránta ar bith ann; go fiú níl baránta ann\n" #~ "d'INDÃOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.\n" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Is éard atá i ngach MÓD: litir amháin as `ugoa' ar a laghad, ceann de na\n" #~ "siombailí `+-=' agus litir amháin as `rwxXstugo' ar a laghad.\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "rabhadh: tá --version-control (-V) dulta i léig agus beidh sé scriosta\n" #~ "i leagan éigin amach anseo. Bain úsáid as `--backup=%s' ina háit." #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z crios ama uimhriúil de réir RFC-822 (-0500) (neamhchaighdeánach)\n" #~ " %Z crios ama (m.sh., EDT), nó neamhní mura bhfuil crios ama ar fáil\n" #~ "\n" #~ "Mar réamhshocrú, stuáil réimsí uimhriúla le nialais. Aithníonn\n" #~ "GNU date na mionathraitheoirí idir `%' agus treoir uimhriúil:\n" #~ "\n" #~ " `-' (fleiscín) ná stuáil an réimse\n" #~ " `_' (folíne) stuáil an réimse le spásanna\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "ní cheadaítear teaghrán formáide a cheapadh leis an rogha --rfc-822 (-R)" #~ msgid "undefined" #~ msgstr "gan sainmhíniú" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s taifead isteach\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s taifead amach\n" #~ msgid "truncated records" #~ msgstr "taifid teasctha" #~ msgid "file offset out of range" #~ msgstr "fritháireamh comhaid as raon" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "tá an rogha `-LIOSTA' i léig; bain úsáid as `-t LIOSTA'" #~ msgid "`%s' is too large" #~ msgstr "tá `%s' rómhór" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [déan neamhshuim ar argóintí]\n" #~ " nó: %s ROGHA\n" #~ "Scoir le cód stádais a chomharthaíonn teip.\n" #~ "\n" #~ "Ní cheadaítear na roghanna seo a ghiorrú.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "tá an rogha `%s' i léig; bain úsáid as `%s'" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: is mór líon na mbeart" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "tá an rogha `-%s' i léig; bain úsáid as `-%c %.*s%.*s%s'" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "níl stampa ama ar fáil do %s" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "uimhir réimse neamhbhailí do chomhad 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "uimhir réimse neamhbhailí do chomhad 2: `%s'" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary léigh comhaid sa mhód dénártha (réamhshocrú ar " #~ "DOS)\n" #~ " -c, --check seiceáil suimeanna %s in aghaidh liosta tugtha\n" #~ " -t, --text léigh comhaid sa mhód téacs (réamhshocrú)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "Ní cheadaítear ach oibreann amháin leis an rogha --check." #~ msgid "cannot get priority" #~ msgstr "níl an tosaíocht ar fáil" #~ msgid "cannot set priority" #~ msgstr "ní féidir an tosaíocht a shocrú" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Tar ar struchtúir do-iompartha in AINM.\n" #~ "\n" #~ " -p, --portability seiceáil do gach córas POSIX, ní an ceann seo " #~ "amháin\n" #~ msgid "column count too large" #~ msgstr "líon rómhór na gcolún" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLÚN' líon neamhbhailí na gcolún: `%s'" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "tá an rogha `-%s' i léig; bain úsáid as `-l %s'" #~ msgid "`%s' option is obsolete; use `%s-%c %<PRIuMAX>'" #~ msgstr "tá an rogha `%s' i léig; úsáid `%s-%c %<PRIuMAX>'" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: bhíothas ag súil le slonn slánuimhreach\n" #~ msgid "before -lt" #~ msgstr "roimh -lt" #~ msgid "after -lt" #~ msgstr "i ndiaidh -lt" #~ msgid "before -le" #~ msgstr "roimh -le" #~ msgid "after -le" #~ msgstr "i ndiaidh -le" #~ msgid "before -gt" #~ msgstr "roimh -gt" #~ msgid "after -gt" #~ msgstr "i ndiaidh -gt" #~ msgid "before -ge" #~ msgstr "roimh -ge" #~ msgid "after -ge" #~ msgstr "i ndiaidh -ge" #~ msgid "before -ne" #~ msgstr "roimh -ne" #~ msgid "after -ne" #~ msgstr "i ndiaidh -ne" #~ msgid "before -eq" #~ msgstr "roimh -eq" #~ msgid "after -eq" #~ msgstr "i ndiaidh -eq" #~ msgid "after -t" #~ msgstr "i ndiaidh -t" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [déan neamhshuim ar argóintí]\n" #~ " nó: %s ROGHA\n" #~ "Scoir le cód stádais a chomharthaíonn bua.\n" #~ "\n" #~ "Ní cheadaítear na roghanna a ghiorrú.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "tá an rogha `-LIST' i léig; bain úsáid as `--first-only -t LIST'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "tá an rogha `-%lu' i léig; bain úsáid as `-f %lu'" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: níl aon fháil ar ainm úsáideora don UID %lu\n" #~ msgid "too few arguments" #~ msgstr "níl go leor argóintí ann" #~ msgid "cannot change to null group" #~ msgstr "ní féidir athrach a dhéanamh go dtí grúpa nialasach" #~ msgid "group number" #~ msgstr "uimhir ghrúpa" #~ msgid "invalid group number %s" #~ msgstr "uimhir ghrúpa neamhbhailí %s" #~ msgid "invalid mode string: %s" #~ msgstr "teaghrán neamhbhailí móid: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: níl a leithéid de sprioc-chomhadlann ann" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: ní comhadlann an sprioc-chomhad ceaptha" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "ní comhadlann an argóint deiridh %s agus ag cóipeáil comhaid iomadúla" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "an iomarca argóintí nach roghanna iad: %s%s" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tní cheadaítear ach conv amháin ó: {ascii,ebcdic,ibm}, {lcase,ucase}, " #~ "{block,unblock}, {unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "ní cheadaítear argóintí COMHAD leis an rogha chun an bunachar sonraí\n" #~ "dircolors a aschur" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "comhaid iomadúla á suiteáil, ach ní comhadlann í an argóint deiridh, %s" #~ msgid "%s is a directory" #~ msgstr "is comhadlann %s" #~ msgid "too many non-option arguments" #~ msgstr "an iomarca argóintí nach roghanna" #~ msgid "too few non-option arguments" #~ msgstr "níl go leor argóintí nach roghanna" #~ msgid "%s: File exists" #~ msgstr "%s: Tá an comhad ann cheana" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... SPRIOC [NASC]\n" #~ " nó: %s [ROGHA]... SPRIOC... COMHADLANN\n" #~ " nó: %s [ROGHA]... --target-directory=COMHADLANN SPRIOC...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "ní foláir an argóint deiridh a bheith ina chomhadlann agus ag cruthú naisc" #~ msgid "User name too long" #~ msgstr "Ainm úsáideora rófhada" #~ msgid "file" #~ msgstr "comhad" #~ msgid "files" #~ msgstr "comhaid" #~ msgid "checksum" #~ msgstr "suim sheiceála" #~ msgid "checksums" #~ msgstr "suimeanna sheiceála" #~ msgid "no files may be specified when using --string" #~ msgstr "ní cheadaítear comhaid agus ag baint úsáid as an rogha --string" #~ msgid "wrong number of arguments" #~ msgstr "tá líon na n-argóintí mícheart" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "ní cheadaítear uimhreacha gléis do chomhaid fifo" # Compare ln.c, making multiple links -KPS #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "ní foláir an argóint deiridh a bheith ina chomhadlann agus ag aistriú " #~ "comhaid" #~ msgid "invalid option `%s'" #~ msgstr "rogha neamhbhailí `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "tosaíocht neamhbhailí `%s'" #~ msgid "old-style offset" #~ msgstr "fritháireamh ar an sean-nós" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "tá an dara hoibreann neamhbhailí sa mhód comhoiriúnachta `%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "caithfidh an dá argóint deiridh a bheith fritháireamh sa mhód " #~ "comhoiriúnachta" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "tá carachtar do-iompartha sa chonair `%s' (`%c')" #~ msgid "`%s' is not a directory" #~ msgstr "Ní comhadlann `%s'" #~ msgid "directory `%s' is not searchable" #~ msgstr "Ní féidir an comhad `%s' a chuardach" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "tá fad an ainm `%s' = %ld; uasmhéid=%ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "tá fad na conaire `%s' = %lu; uasmhéid = %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages': raon leathanach neamhbhailí: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' leathanach tosaigh neamhbhailí: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' leathanach deiridh neamhbhailí: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "`--pages' leathanach tosaigh níos mó ná leathanach deiridh" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "leathanach tosaigh níos mó ná an t-iomlán: `%d'" #~ msgid "Page %d" #~ msgstr "Leathanach %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Úsáid: %s formáid [argóint...]\n" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: carachtar iarmhíre neamhbhailí le rogha i léig" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "an iomarca argóint; ní cheadaítear ach argóint chomhaid amháin agus ag " #~ "úsáid\n" #~ "an chomhréir i léig (%s) atá ag tail. Bain úsáid as -n nó -c ina háit " #~ "sin." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Rabhadh: ní iniompartha ach argóint chomhaid amháin a úsáid leis\n" #~ "an chomhréir i léig (%s) atá ag tail. Bain úsáid as -n nó -c ina háit " #~ "sin." #~ msgid "argument expected\n" #~ msgstr "bhíothas ag súil le hargóint\n" #~ msgid "too many arguments\n" #~ msgstr "an iomarca argóintí\n" #~ msgid "file arguments missing" #~ msgstr "ainmneacha comhaid ar iarraidh" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "éalúchán neamhbhailí `\\%c'" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "ní foláir aon teaghrán a thabhairt ar a laghad le linn fáiscthe" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "mapáil neamhbhailí; ní foláir chomhstruchtúir [:lower:] nó [:upper:]\n" #~ "i dteaghrán1 a ailíniú le comhstruchtúr freagrach ([:upper:] nó [:" #~ "lower:],\n" #~ "faoi seach) i dteaghrán2, agus ag aistriú." #~ msgid "only one argument may be specified" #~ msgstr "ní féidir níos mó ná argóint amháin a shonrú" #~ msgid "tab size contains an invalid character" #~ msgstr "tá carachtar neamhbhailí sa mhéid táib" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD_AR_CLE COMHAD_AR_DHEIS\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** dáta/am neamhbhailí ***" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/Makefile.in.in��������������������������������������������������������������������0000664�0000000�0000000�00000037315�12107175574�013460� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu> # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.18 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if true; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/es.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000737201�12107204516�012107� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0���°(��Ó��0Q�����|l�����Œl��Äl������¤o�����¥o��ø���§o��¾��� p��¿���_q��Â���r��ª���âr��G��s��ù���Õt��º���Ïu��p���Šv��!��ûv��¼���x��w��Úx��5��Rz��R��ˆ{��~���Û|�� ���Z}��\���h}��w���Å}��G���=~��ï���…~��w���u��¡���í��#��€����³��š���¸‚��Ä���Sƒ��D��„��z���]†��Þ���؆��i���·‡��›���!ˆ��ˆ���½ˆ��È���F‰��„���Š��M��”Š��à���â‹��›���ÃŒ��—���_��`���÷��‚���XŽ����ÛŽ��>���ð��3��/��K��c‘��0���¯’��Ê���à’��–���«“��Ê���B”��ç��� •��‡���õ•��¾���}–��á���<—��E���˜��Œ���d˜��ü���ñ˜��æ���î™����Õš��9���ç›�����!œ�����8œ��t��Mœ��Ì���Â��°���ž����@Ÿ�� ��T ��þ��u¡��Ë���t£����@¤��7���^¥��¼���–¥��F���S¦��ì���š¦�� ���‡§��¡��“§��¾��5©��Ð��ôª��u���Ŭ��q���;­��[��­­��1�� ¯��S��;°��ë���±��,���{²��º���¨²�����c³��ß���ô³��\��Ô´��‹���1¶����½¶��Â���Ó·��I���–¸��·���à¸��›���˜¹��g��4º��p���œ»��5��� ¼��s���C¼����·¼����Ö½��×���õ¾��ò���Í¿��É���ÀÀ��Ê���ŠÁ��ð���UÂ��–��FÃ��Ô���ÝÄ��Ó���²Å��¬���†Æ��¤���3Ç��i���ØÇ��õ���BÈ��Z���8É�����“É��.��!Ê��ž���PË��G��ïË��M��7Í��4���…Î��‰���ºÎ��F���DÏ��O��‹Ï��í��ÛÐ����ÉÒ�� ��YÔ��£��fÕ��y�� ×�� ��„Ø��n���¥Ù����Ú��Ë��/Û����ûÜ����Þ��¢���«ß��Ö���Nà��¡��%á��E���Çâ��J��� ã��Ò���Xã�� ��+ä����9å��&��Hæ��¹��oç��Ý���)é��+���ê��N���3ê��Ò���‚ê��’���Uë��°���èë��Ë���™ì��¡��eí��›���ï��B���£ï����æï��u���ûð����qñ��1���‡ò��ò���¹ò�����¬ó��Ë���<ô��ƒ���õ��ƒ���Œõ��‚��ö��4��“÷����Èø����Úù��´��íú��í���¢ü�� ��ý����›þ��<���¡ÿ��‘���Þÿ��º��p��ª��+�K���Ö���"�z���'�þ���¢�µ���¡�f��W�5��¾�ˆ���ô �1���} �H���¯ �;��ø �Æ���4 �!��û �È����ý���æ�q��ä�Y��V�ü���°�L���­�×���ú�T��Ò�#��'�÷��K�Þ���C�ƒ���"�Ñ���¦�i���x�Í���â�Ä���°�Ñ���u�ë���G�K��3 ���!�D��Ž"����Ó#�Ó���a$�Ä��5%�I���ú&���D'�H���Ò(�3���)�c��O)� ��³*�=��Ô+�ê��-�*��ý.�’���(0�C���»0�X��ÿ0�?���X2�«���˜2�9���D3�S���~3�š��Ò3�m���m5�û���Û5�ä���×6�¨��¼7�$���e9�(���Š9�ú���³9�$���®:�%���Ó:�*���ù:���$;�:���C<�&���~<� ���¥<�9���Æ<�#����=�$���$=�!���I=�Ý���k=�,���I>�"���v>� ���™>� ���¤>�X��²>�;��� @�|��G@���ÄA�Ô���ØB�Ü���­C�þ���ŠD� ���‰E����”E� ���™E����¥E����®E����´E���ÇE�&���ãF� ��� G� ���G���� G����3G����FG����[G����yG� ���•G�+���¶G����âG����ûG�?���H�D���VH�0���›H����ÌH�)���åH����I�0���#I�"���TI����wI�'���‡I����¯I�/���ÏI� ���ÿI���� J����8J����NJ����gJ�>���„J�"���ÃJ����æJ�%���K�B���+K�*���nK����™K����¸K����ÊK�)���ÚK����L�%���!L�,���GL����tL�#���„L�$���¨L����ÍL�/���íL����M�8���-M����fM����{M����šM����·M����ËM����êM���� N����N����/N����DN����_N����|N����N����¡N����´N����ÅN�'���ÖN����þN�*���O����DO�$���bO����‡O����¡O����±O� ���ÊO����ëO�"���P����$P����:P�;���PP����ŒP����ŸP����»P����ØP����ôP����Q����/Q����LQ����hQ����|Q�"���“Q����¶Q����ÉQ�)���ãQ���� R����*R����;R�"���ZR�1���}R�'���¯R�(���×R� ����S�,���!S�,���NS�,���{S�'���¨S�-���ÐS� ���þS�(���T�(���HT����qT����„T����T�"���¸T����ÛT����êT�&���ýT����$U�"���?U� ���bU� ���nU����{U����U����žU����®U�5���ÊU�0����V�.���1V����`V����|V����œV�"���¼V����ßV����ïV�+����W�%���,W����RW����rW� ���tW����W����˜W�l���œW�;�� X����EY� ���[Y����iY�6���„Y�5���»Y�-���ñY�)���Z����IZ����[Z����rZ����‰Z� ��� Z����«Z����°Z����¶Z�,���¾Z�8���ëZ�)���$[� ���N[����Z[����l[����†[����•[� ���›[����¥[����µ[� ���Ì[� ���Ö[� ���â[�k��ì[����X]����`]�K���x]�8���Ä]����ý]� ���^� ���^� ���^�3���*^�Š��^^� ���é_� ���ö_�½����`����¾`����Í`� ���Ý`�=���ê`�(���(a�ã���Qa� ���5b����Ab�U��Qb����§c����°c�<��µc�\���òd� ���Oe�+���Ze�+���†e�0���²e� ���ãe����íe����ôe�1���f����5f�I���Nf� ���˜f����£f�@���¼f�£��ýf�7���¡h�?���Ùh����i����+i����:i� ���Ai����Ni����Si����Yi����_i����ei����vi�:���{i����¶i�¦���Êi����qj�×��€j� ���Xl����cl����wl� ���~l����ˆl���� l����·l����Ôl����ðl�$���m����-m����?m����Zm� ���im� ���um� ���m����Žm� ���Ÿm����«m����½m����Îm����Õm����Úm����àm� ���æm� ���óm����n����n����,n����=n� ���Ln� ���Zn� ���gn� ���sn����~n����ƒn����ˆn�#���¢n����Æn����Ïn�*���în����o�E���o����bo����vo���‡o�H���™p�o���âp����Rq����Vq����fq� ���{q�&���‰q� ���°q� ���¼q� ���Çq����Ôq� ���Ûq�#���éq�H��� r�2���Vr�i��‰r�ª���ós�š���žt�;���9u����uu���“u�¸���­w�†���fx�;���íx�%���)y����Oy�†���Ïy�T���Vz� ��«z�7���¶|����î|���� }� ���%}� ���/}����<}� ���A}����M}����a}�º���|}����7~�D���N~����“~����¤~� ���¹~����Ç~����Û~����ì~����û~� ��� �1����'���J� ���r� ���€� ���Ž����›�&���®�*���Õ�����€����€����€�5���€� ���S€����_€����g€����x€����Œ€� ���¡€����­€� ���µ€����€�$���Ç€� ���ì€�$���÷€��������.����D�â��W�C���:ƒ�+���~ƒ����ªƒ����¯ƒ� ���¾ƒ����̃����Þƒ����óƒ����„����„� ���)„����6„� ���K„�,���V„�j���ƒ„�&���î„� ���…�'���6…�0���^…����…����¬…����É…�–���è…�)���†�Y���©†�'���‡�T���+‡�'���€‡�(���¨‡����ч�X���å‡�@���>ˆ����ˆ�?���›ˆ�&���Ûˆ�š���‰����‰����´‰�#���RŠ�&���vŠ����Š�"���¼Š�T���ߊ�g���4‹�†���œ‹�.���#Œ����RŒ�"���qŒ�+���”Œ�Y���ÀŒ�~����¤���™�ä���>Ž�=���#����a�^���� ���Þ�¢���ÿ�F���¢�}���é�'���g‘�'���‘�Z���·‘�`���’�!���s’�!���•’�$���·’� ���Ü’�¦���ý’�M���¤“�>���ò“�'���1”�<���Y”�T���–”����ë”����ð”����õ”���� •����!•����6•�¹���L•�D���–�H���K–�G���”–� ���Ü–����æ–����ë–����ñ–�´���—����µ˜�;���̘�3���™�/���<™�+���l™�'���˜™�#���À™����ä™����š���� š�<���0š����mš����š����‡š����š�*���š����ºš����Òš����ìš�A��� ›����K›�2���b›�1���•›� ���Ç›����Ó›�!���æ›����œ�#���œ����3œ�0���Oœ����€œ����šœ����«œ�*���¼œ����çœ�����"���%����H����f�E���…�;���Ë� ���ž�,���(ž� ���Už�!���vž����˜ž����¸ž�+���מ�#���Ÿ�#���'Ÿ�,���KŸ�0���xŸ�,���©Ÿ�#���ÖŸ����úŸ���� � ���+ ����L ����h ����† ����¤ �$���à�"���è ���� ¡�'���!¡����I¡�5���c¡����™¡�!���¯¡����Ñ¡�1���ê¡����¢����,¢����I¢����]¢����t¢����Ž¢�(���ž¢����Ç¢����à¢�.���õ¢�2���$£����W£����r£����£�%���¦£�0���Ì£�3���ý£����1¤�F���Q¤�B���˜¤�+���Û¤�5���¥�1���=¥����o¥����ˆ¥�*���§¥����Ò¥����í¥�)��� ¦����4¦����E¦�%���a¦� ���‡¦� ���•¦����£¦����³¦�8���Φ����§����§����1§����O§�&���i§�'���§�<���¸§�:���õ§�.���0¨�!���_¨����¨�&���¨����·¨����Ò¨����â¨����ö¨����©����©�#���'©�'���K©�"���s©�&���–©����½©����Ò©����ë©� ���ª����'ª����@ª����Wª�%���nª����”ª� ���°ª� ���½ª����ʪ����ݪ����òª����«����«����2«����F«����Y«�,���p«�+���«�-���É«�)���÷«�!���!¬����C¬����b¬����v¬�8���¬����Ƭ����ݬ����ò¬����­�3���­� ���N­����X­� ���i­����u­����Š­� ���š­����¤­�#���·­�"���Û­� ���þ­����®����>®����O®����k®����…®����–®����®®����´®����Æ®�%���×®����ý®�$���¯�+���<¯�#���h¯�:���Œ¯�!���ǯ�/���é¯�'���°����A°����W°����r°����°�*���­°�%���ذ����þ°�#���±�$���@±����e±�%���{±�!���¡±�'���ñ����ë±���� ²����²����1²����P²�(���n²�,���—²� ���IJ�$���å²���� ³����#³�$���5³�#���Z³�%���~³����¤³�!���ij�&���æ³���� ´����!´�(���?´� ���h´�3���‰´�-���½´����ë´�!���µ�1���&µ�'���Xµ����€µ�1��� µ����Òµ����éµ����¶����¶����8¶�#���R¶�1���v¶�.���¨¶����×¶����í¶����ÿ¶�(���·����H·� ���`·����n·����‹·�(��� ·����É·����η�3���í·�;���!¸�.���]¸����Œ¸����¤¸����¹¸�$���׸�$���ü¸�D���!¹����f¹����z¹����‹¹����›¹����¯¹����̹����è¹����º����º����#º����:º�)���Iº�/���sº�=���£º�@���áº�:���"»����]»�!���{»����»�,���¯»����Ü»����ø»���� ¼�;���!¼����]¼����v¼����Œ¼���� ¼� ���»¼�!���ܼ����þ¼����½����-½�*���@½�-���k½����™½����©½����À½����Ù½����î½����¾����¾����:¾�%���R¾�1���x¾�#���ª¾�"���ξ����ñ¾� ���¿����¿����&¿����<¿�"���N¿� ���q¿����¿����’¿����©¿����¼¿����Ø¿����î¿�#��� À�!���-À�!���OÀ����qÀ����ˆÀ����§À����ÀÀ� ���ßÀ����ìÀ����üÀ���� Á����Á�!���=Á����_Á�"���wÁ����šÁ����ºÁ� ���ØÁ����ùÁ����Â�]���&Â����„Â����˜Â����®Â�!���ÄÂ�*���æÂ� ���Ã� ���Ã����?Ã�/���SÃ����ƒÃ�2���˜Ã�;���ËÃ����Ä���� Ä����=Ä����[Ä�R���rÄ�L���ÅÄ�(���Å� ���;Å����HÅ����XÅ����jÅ����€Å�,���žÅ�9���ËÅ�*���Æ�,���0Æ����]Æ�0���cÆ�:���”Æ�#���ÏÆ�'���óÆ�8���Ç����TÇ�/���iÇ����™Ç�7���ªÇ�8���âÇ� ���È����)È�/���EÈ�-���uÈ����£È����½È�&���ÔÈ�)���ûÈ����%É�$���:É����_É����vÉ����É���� É�+���¹É�1���åÉ�"���Ê����:Ê����LÊ����cÊ�#���Ê�$���¥Ê����ÊÊ����èÊ����ýÊ�!���Ë�!���?Ë�%���aË����‡Ë�%���–Ë����¼Ë����ËË�7���ÚË�=���Ì����PÌ����nÌ����ƒÌ����Ì����°Ì� ���ÁÌ����ÏÌ�-���çÌ�C���Í����YÍ�(���nÍ� ���—Í�'���¡Í����ÉÍ�"���ãÍ����Î����Î�%���&Î����LÎ�4���bÎ� ���—Î�&���¸Î� ���ßÎ�$���ëÎ�8���Ï�G���IÏ�9���‘Ï����ËÏ�"���êÏ�$��� Ð����2Ð����LÐ����lÐ����Ð����—Ð����µÐ�>���ÍÐ� ��� Ñ� ���Ñ����#Ñ����8Ñ����IÑ����fÑ� ���yÑ� ���†Ñ����’Ñ����©Ñ� ���ÀÑ� ���ÊÑ����ÔÑ�)���îÑ����Ò����-Ò����HÒ����\Ò�$���qÒ�-���–Ò�7���ÄÒ����üÒ����Ó����Ó����!Ó����:Ó� ���JÓ����VÓ����]Ó����cÓ����jÓ����ˆÓ����¡Ó�#���¾Ó�J���âÓ� ���-Ô� ���;Ô� ���HÔ����TÔ�*���iÔ����”Ô����°Ô����ÉÔ����åÔ����üÔ�8���Õ����RÕ� ���XÕ�H���fÕ�U���¯Õ�>���Ö�?���DÖ�?���„Ö�=���ÄÖ�>���×�3���A×�(���u×�N���ž×�f���í×�>���TØ�@���“Ø�#���ÔØ�<���øØ�*���5Ù����`Ù����€Ù�(���˜Ù����ÁÙ�/���ÜÙ���� Ú����'Ú����?Ú����RÚ����XÚ����mÚ����Ú�*���¡Ú�!���ÌÚ�7���îÚ����&Û�"���>Û����aÛ����pÛ�3���„Û����¸Û����ÐÛ�.���èÛ����Ü�0���-Ü����^Ü�C���uÜ����¹Ü����ÖÜ����êÜ����Ý�H���Ý�+���_Ý�2���‹Ý�8���¾Ý�=���÷Ý�@���5Þ�#���vÞ����šÞ�$���µÞ�=���ÚÞ�4���ß�.���Mß�,���|ß�<���©ß�0���æß�3���à�7���Kà�c���ƒà����çà����ýà�t���á� ���‰á�3���”á�>���Èá�5���â�j���=â�h���¨â�0���ã�,���Bã�*���oã�3���šã�(���Îã�&���÷ã�(���ä� ���Gä����Sä� ���fä� ���sä�/���ä�7���±ä�&���éä� ���å�’��1å����Äæ���Ææ�é���Øç�æ���Âè�ë���©é�ß���•ê�o��uë���åì�Â���ûí�p���¾î���/ï�;��Dð�l��€ñ�z��íò�Á��hô�Ž���*ö����¹ö�ƒ���Ïö�˜���S÷�I���ì÷�$��6ø�˜���[ù�É���ôù�‘��¾ú�+��Pü�œ���|ý�ø���þ���ÿ�ƒ���°�ó���4����(�Ü���¶�¹���“�Ó���M����!�m��£�6���¢���H �ø���ë �w���ä �•���\ �_��ò �;���R �…��Ž �…���;���š�ò���Ö�«���É�Õ���u���K�Œ���\�å���é�ú���Ï�T���Ê�‹������«���È�)��â�G��� ����T����s�Ú�����h�Á���„�C��F�š��Š �œ��%"�å���Â$�T��¨%�?���ý&�ð���='�T���.(�°���ƒ(����4)�*��C)�0��n*�L��Ÿ,�‡���ì.�z���t/�Æ��ï/�z��¶1�›��13���Í4�/���Ö5���6�Ê���7�"��Ù7�ç��ü8�Ä���ä:�J��©;�ÿ���ô<�‰���ô=�Å���~>����D?�w��â?�p���ZA�3���ËA�}���ÿA�*��}B�c��¨C�Þ��� E�ù���ëE���åF�Ô���÷G�ô���ÌH�§��ÁI���iK�ñ���qL�â���cM�Â���FN�–��� O�e�� O�g���Q�³���nQ�j��"R�¾���S�«��LT�˜��øU�2���‘W�Ä���ÄW�J���‰X�Í��ÔX���¢Z���0]�!��E_�!��g`�ð��‰b�P��zd����Ëe�+��if�9��•g�n��Ïi���>k�Ö���^m���5n�}��Do�P���Âq�l���r�ç���€r�d��hs�M��Ít�¸��v�Z��Ôw�9��/z�+���i{�‰���•{�×���|�§���÷|�÷���Ÿ}� ��—~�L��£�Ó���ð�D���Ä‚�{�� ƒ�‰���…„�1��…�1���A†���s†�Û���‰‡�ú���eˆ�«���`‰�˜��� Š�ä��¥Š�‚��ŠŒ�…�� Ž�J��“�6��Þ�/��“�÷���E”�S��=•�C���‘–�¡���Õ–�1��w—�^��©™�P���œ�H��Yœ� ���¢�Z��Cž�Á���žŸ�Õ��` �M��6¢�¥���„£�>���*¤�c���i¤�“��ͤ����a¦�„��b§�ã���ç©�J��˪�–��¬�¸��­­� ��f¯�v���r°�F��é°�`��0²�I��‘³�g��Û´�+��C·�¹���o¸�ß���)¹���� º���—º�Î���›»�*��j¼�<��•½�^��Ò¾�c��1À�ˆ��•Á�ò���Ã�ë���Ä�l��ýÄ�†���jÇ���ñÇ�„���óÉ�;���xÊ���´Ê�·��»Ì�f��sÎ�—��ÚÏ�C��rÑ�¡���¶Ò�M���XÓ���¦Ó�Q���¶Õ�»���Ö�B���ÄÖ�o���×�â��w×�y���ZÙ�(��ÔÙ� ��ýÚ�:�� Ü�/���EÞ�3���uÞ�%��©Þ�/���Ïß�1���ÿß�4���1à�D��fà�A���«á�,���íá�)���â�<���Dâ�-���â�1���¯â�&���áâ�O��ã�2���Xä�0���‹ä� ���¼ä����Çä�¡��×ä�@���yæ�²��ºæ�6��mè�ÿ���¤é���¤ê�7��¹ë� ���ñì����ÿì� ���í����í� ���í� ���$í�m��2í�.��� î� ���Ïî� ���Ùî����åî�"���þî����!ï����;ï����Yï�"���vï�6���™ï����Ðï����êï�`���ð�`���gð�=���Èð�'���ñ�<���.ñ����kñ�9���ˆñ�#���Âñ����æñ�1���ýñ�!���/ò�,���Qò�(���~ò� ���§ò����Èò����èò�#���ó�S���'ó�.���{ó�1���ªó�?���Üó�Q���ô�<���nô�+���«ô����×ô����ñô�=���õ�+���Lõ�4���xõ�H���­õ����öõ�5��� ö�/���Cö�(���sö�C���œö����àö�D���óö����8÷�-���M÷�"���{÷����ž÷�1���²÷�!���ä÷����ø����ø����+ø�(���@ø�$���iø����Žø����«ø����Çø����Üø����ñø�3���ù�!���6ù�5���Xù�1���Žù�:���Àù�&���ûù����"ú����4ú�(���Sú����|ú�)���”ú� ���¾ú����ßú�6���ýú����4û����Jû����iû� ���‰û����ªû�!���Éû�%���ëû����ü����0ü�&���Hü�+���oü����›ü�!���°ü�0���Òü�$���ý����(ý�'���9ý�%���aý�N���‡ý�;���Öý�+���þ�+���>þ�2���jþ�.���þ�2���Ìþ�,���ÿþ�3���,ÿ�"���`ÿ�-���ƒÿ�-���±ÿ����ßÿ����þÿ������"���2�����U�����j��2���ˆ��)���»��9���å�� ���� ���+����8����L����h�/���x�B���¨�F���ë�=���2�"���p�!���“�!���µ�%���×����ý�����4���*�4���_�&���”����»����¾� ���Î����ï�ˆ���ó���|���� � ���%�(���3�J���\�=���§�3���å�-�������G����Y����j����{� ���Œ����–����›����¢�F���«�8���ò�E���+� ���q�!���~�-��� ����Î����Ý� ���â����î���� � ���' � ���1 � ���? �Ä��L � ��� �!��� �]���> �A���œ � ���Þ � ���è ����ó � ��� �F��� �£��[ � ���ÿ � ��� �á�������ú���� � ����M���&�0���t�C��¥� ���é����ö�r��� ���y����…�·��Œ�_���D� ���¤�0���¯�/���à�/�������@����Q����e�C���x�)���¼�f���æ� ���M����X�I���t���¾�E���Ç�M��� ����[����m����|� �������™����¢����ª����°����¸����É�R���Ò����%�Ä���9����þ�U��� ���f����q����‹� ���“����¡�!���½�'���ß�!�������)�'���E����m����†����£� ���²� ���¾� ���Ê����×� ���è����ô������������,����3����9����?� ���S����a����r����’����¢� ���±� ���¿� ���Ì� ���Ø����ã����ê����ñ�;��� ����K �(���g �0��� ����Á �P���Ò ����#!����>!�“��P!�[���ä"�”���@#����Õ#����Ù#����í#� ���$�0���$� ���E$� ���Q$� ���\$����i$����p$�&���‡$�N���®$�M���ý$�“��K%�Ý���ß&�²���½'�K���p(�)���¼(�š��æ(�Î���+�›���P,�I���ì,�'���6-�‰���^-�¤���è-�d���.�O��ò.�N���B1� ���‘1����²1� ���Ë1� ���Ö1����ã1� ���ê1����ö1�)���2�Ö���92����3�M���/3����}3����‘3����¨3����¸3����Ì3����Ý3����ì3� ���û3�6��� 4�4���@4� ���u4� ���ƒ4� ���‘4����ž4�&���µ4�F���Ü4����#5����+5����;5�Q���C5� ���•5����£5����¬5����¾5����Ý5� ���ü5����6����6����!6�+���(6� ���T6�$���^6����ƒ6�'���•6����½6���Ó6�M���å8�.���39����b9����g9����v9����ˆ9����ž9����¼9����Ñ9����æ9����û9���� :����&:�C���::�v���~:�9���õ:�6���/;�@���f;�E���§;�&���í;�)���<�+���><�Ð���j<�6���;=�u���r=�=���è=�u���&>�;���œ>�<���Ø>����?�e���3?�S���™?�'���í?�U���@�.���k@�Ä���š@� ���_A�Á���€A�.���BB�5���qB�+���§B�2���ÓB�r���C�“���yC�±��� D�C���¿D�,���E�6���0E�8���gE�m��� E�¡���F�Ò���°F�0��ƒG�M���´H�*���I�…���-I�-���³I�Þ���áI�]���ÀJ�±���K�3���ÐK�4���L�n���9L�ƒ���¨L�,���,M�*���YM�-���„M�-���²M�È���àM�d���©N�S���O�:���bO�e���O�‚���P����†P����‹P� ���’P� ���³P����ÔP����ñP�Ô���Q�Y���æQ�]���@R�]���žR� ���üR����S����S����S�;��.S����jU�9���€U�2���ºU�.���íU�*���V�&���GV�"���nV����‘V����°V����ËV�?���ÜV�,���W����IW����OW����UW�#���XW����|W����“W����¬W�N���ÉW����X�4���1X�4���fX����›X����¬X�7���ÈX�����Y�<���Y�1���EY�@���wY�+���¸Y����äY����ýY�@���Z�(���WZ�'���€Z�,���¨Z�$���ÕZ�'���úZ�I���"[�?���l[�*���¬[�5���×[�$��� \�%���2\�#���X\�"���|\�5���Ÿ\�*���Õ\�4����]�<���5]�@���r]�=���³]�3���ñ]�"���%^�&���H^����o^�(���‹^�'���´^�(���Ü^�)���_�.���/_�+���^_����Š_�7��� _�+���Ø_�D���`�1���I`�8���{`�#���´`�1���Ø`�%��� a�(���0a�'���Ya�)���a�$���«a�%���Ða�E���öa�"���<b����_b�5���yb�F���¯b�!���öb�#���c�"���<c�8���_c�?���˜c�B���Øc�&���d�X���Bd�Q���›d�3���íd�R���!e�I���te�!���¾e�.���àe�@���f�(���Pf�(���yf�:���¢f����Ýf�$���óf�5���g����Ng����fg����€g�,��� g�M���Íg�%���h�*���Ah�%���lh�.���’h�J���Áh�0��� i�K���=i�M���‰i�8���×i�.���j�$���?j�A���dj�3���¦j�%���Új�����k�!���k����;k����Qk�-���hk�9���–k�#���Ðk�)���ôk����l����7l����Vl�)���sl�'���l����Ål����Þl�:���ýl����8m����Tm����dm����tm����ˆm�!���¢m����Äm� ���äm����n����$n����Bn�6���an�3���˜n�A���Ìn�1���o�&���@o�$���go����Œo����£o�Q���½o�(���p����8p����Vp����op�I���ƒp� ���Íp����Øp� ���ëp����÷p����q����+q����>q�/���Yq�.���‰q�)���¸q�#���âq����r����r����4r����Or����gr����r����‡r����r�/���¯r����ßr�'���ùr�+���!s�%���Ms�:���ss�&���®s�1���Õs�+���t����3t�!���It�&���kt�#���’t�9���¶t�6���ðt� ���'u�&���Hu�&���ou����–u�+���®u�&���Úu�,���v�%���.v����Tv����iv�#���v�#���£v�A���Çv�.��� w�*���8w�/���cw����“w����±w�!���Æw�'���èw�%���x�!���6x�3���Xx�?���Œx����Ìx� ���ßx�:����y����;y�E���[y�3���¡y����Õy�%���óy�@���z�/���Zz�&���Šz�L���±z�#���þz�"���"{� ���E{�!���f{�$���ˆ{�4���­{�D���â{�7���'|�%���_|����…|� ���¥|�%���Æ|����ì|� ���}�*���}����>}�0���Z}����‹}����’}�>���²}�F���ñ}�G���8~�#���€~����¤~�+���À~�,���ì~�2����Y���L����¦����»����Ì����Ü� ���ð�!���€�%���3€�"���Y€����|€�)���€€�"���ª€�1���Í€�M���ÿ€�O���M�J����D���è�>���-‚�'���l‚����”‚�1���¯‚�%���á‚����ƒ�'���#ƒ�]���Kƒ����©ƒ����Ń����Ùƒ����ðƒ�-���„�$���=„����b„����‚„����™„�G���¯„�J���÷„����B…����U…����s…����…� ���«…����Ì…�.���ë…����†�@���7†�@���x†�(���¹†�*���â†���� ‡����*‡����:‡����M‡����j‡�/���~‡����®‡����À‡����݇����û‡����ˆ� ���-ˆ�!���Nˆ�-���pˆ�"���žˆ�/���Áˆ����ñˆ�-���‰� ���=‰�.���^‰����‰����œ‰����®‰����Á‰�'���Ö‰�(���þ‰�!���'Š�5���IŠ�4���Š�'���´Š�5���ÜŠ�#���‹����6‹�l���N‹����»‹����׋����ö‹�%���Œ�@���5Œ����vŒ�+���Œ����¼Œ�9���ØŒ�����:���2�<���m� ���ª�'���Ë� ���ó����Ž�]���0Ž�Q���ŽŽ�5���àŽ��������(����=� ���Q�,���r�+���Ÿ�:���Ë�7����0���>����o�M���x�Z���Æ�=���!‘�8���_‘�F���˜‘�&���ß‘�4���’����;’�7���K’�9���ƒ’����½’����Î’�=���î’�5���,“�!���b“����„“�2���“�*���Г����û“�6���”����Q”����j”����‡”� ���™”�C���º”�0���þ”�(���/•����X•����x•�&���Ž•�+���µ•�3���á•�(���–�*���>–�-���i–�-���—–�-���Å–�2���ó–� ���&—�1���G—� ���y—�#���š—�7���¾—�V���ö—����M˜�#���m˜�.���‘˜����À˜����Ù˜� ���ñ˜�+���™�6���>™�b���u™����Ø™�5���ì™����"š�0���1š�$���bš�0���‡š����¸š����Éš�6���Üš����›�?���-›�)���m›�/���—›����Ç›�0���Ö›�?���œ�N���Gœ�@���–œ�6���ל�4����B���C�!���†�'���¨�%���Ð�#���ö����ž����:ž�U���Wž����­ž� ���¾ž����Ìž����åž�4���ÿž����4Ÿ����KŸ� ���[Ÿ����gŸ����Ÿ� ���šŸ� ���¦Ÿ����°Ÿ�F���ÏŸ���� � ���5 ����V ����s �+��� �>���¼ �B���û ����>¡����G¡����a¡�"���s¡����–¡����§¡����·¡����Ñ¡����ã¡�/���ô¡�!���$¢�$���F¢�&���k¢�U���’¢����è¢����ú¢���� £�(���!£�I���J£�9���”£�/���Σ�,���þ£�+���+¤�"���W¤�F���z¤����Á¤� ���Ǥ�[���Ò¤�c���.¥�Q���’¥�R���ä¥�R���7¦�P���Ц�A���Û¦�<���§�*���Z§�c���…§�ˆ���é§�M���r¨�A���À¨�$���©�A���'©�,���i©�!���–©� ���¸©�7���Ù©�,���ª�9���>ª�$���xª����ª����ºª����Ъ����Öª����íª�'���«�5���0«�2���f«�?���™«����Ù«�%���ö«����¬����.¬�9���L¬����†¬���� ¬�8���º¬����ó¬�A���­�(���T­�W���}­�*���Õ­�����®����®����.®�`���@®�0���¡®�1���Ò®�E���¯�G���J¯�S���’¯�/���æ¯�!���°�;���8°�E���t°�D���º°�B���ÿ°�8���B±�>���{±�B���º±�9���ý±�5���7²�m���m²����Û²����ó²�¦��� ³����³³�>���ij�d���´�K���h´�›���´´�t���Pµ�C���ŵ�-��� ¶�9���7¶�0���q¶�0���¢¶�(���Ó¶�/���ü¶����,·����?·����Z·����l·�2���~·�7���±·�&���é·�$���¸����p��…����������&���T�����������������Ñ�����������������í��%������–��=��*��ú��Ù�����)��ò��Q��å������€����ü������‹����������½��“������T��Æ��������q��¦������ð���9����†����������`��²��a�������8��|���q��×���Ü�������Ü��„��2������=��€��q�����L���������Z�������÷����������”��<��ä��Ê��¿������Ñ����³��.��J�������>��ï��Ñ������Ò��~������� ��ù��‘����Ñ���Ì��z����9������0�������Ü������������������Q��-��>��õ��@���ã��}�� ��Ã��4��¢��n���V��~��������%�������³�����\��Ã���]��a��)��Û��Ï��Á������ñ��ø��Ý���@��ò������D��´������µ��Ä��p��N��4���Ê��"��‰���ù��:��†���ä�����������õ����‡����E����������S������g�������¶��.�������è�����������Á�������:���/���p�������������ƒ��I��j��á��Ì�� ��â��Â��Ï��•������î��ð������«��}���Ž��A��¨��)��r��ì������¶������§������À��ª�� ��®��o��š��Å������Œ���Ô��Ã��J��¾��Õ������g��£����W������H��ñ��…������È����������ˆ���Ù��¹��Å����Ë�� ��ß��°��Æ�������'��£��g��¥��_���-��� ��1��ë��ª���Ú��‡���������O��±������Ù����������ø��†��Æ��a��Y��M��H������—������0��”��®�������!��½��4��@��¸��ô�������������������l���/��Î�����U���v��œ���Ó������������Ÿ������q�����‹���;��1������j������{���������Ü������÷��������­��•��Ý������ý������ ������C����������Û���B��q��&������Ô���Ô��-��W��†��u������e������� ��5��B��{����������²��N��U��T������š���z���à��÷��x��è������������È��î���·��A���Ú������À��Ç��j������,����������e��¡��l��i��8����h�������÷�������h��¤����p���Ž��ý���»���ì���Š��³��Ø��+�������Ø��_��«�������������(��I������������—��‚�� ���t��<��ô��]��f��°��U������%��D��F��������™������S��—������ƒ���!�����˜��y������‘����������l��-��š����}��7����^��\��������������Ò��r��ð����9��U����������a��¯��Ù������é��� ����������ç��t����Ö�����������Ð������c���������½������W��y��;���������������������À��x��Æ��æ������]�������������[��>���®��á�����¥���ù���_��7�������� ��f��¶���ö��×��z��æ��ú���@��P��Ù��]����������������þ��®��y�������‚��·��4������¿�����s��Í�����������������u�������û������«��n�� ������¿��!��E��¯��Œ������á�������u��������������#��P���=���¡������w��í��M��‚������Ó����t��¨��������Í��¬��#������������2������_����������L��U��Þ������������������O��~��7�����s������H���?��Ú������­��²��¾��.��P������$������½��à���G��ø���ñ��c��¨��ë��w��_��Õ��¯��Q����������������������������™��à��c���������Þ����������V����������� ��Š��ô��[��)������� ��³��‡��„��‚�������á��µ���œ��c��k��Î��=��2�����������B������Þ������������É��d��������������N���w���‘��y��’������������Ö��É��v��¼��È���*��Ê����M���Á�� ���R��Á��Ç��œ��#����ó��£������Ë���ó���?���„������D��¡��������������Ê��ú������(������� ���’�������\������€������������R��Ÿ������Þ��� ��,��Ý������ò��—��ê��7��ã��¿��ñ��� ��‹��0��ó��ÿ���������û��þ��Ø��{��É��î��Š���Ë������í���™��»��ü��µ��m��e��­����–�����������ú��¬������%������Z����ž���¦���6�������������¨�������(��å���ã����ö��/��6���������� ��±����b��þ����}��…����������Š������þ��‰��|��Q���Ä���¢�������Ç��ˆ���� ���l��X��R�������S���µ��d����5��`���d��´���Ä�� ��Ö��C���¤���ƒ��„���ñ��»������â������������:������:������������ ��–��ê��M��k����P��R������x���Ò��¤��ç���:��§���z��ú����!��Ð����������K��¬��n��J�������b��Z��¸���������ð��€��“��›������������G������E������B���¥��>����������\��ï��’��·��¸������ê��ù������r���|��<���É���/��V������������µ��‹��������������ï��Â��ý��è��x����/�� ��£������� ������[���ˆ������Ú���+��$��é��'��¹��������ï���f���5���ó��-������ò��X����¨��|��O������7��Ì��´���������� ��E������� ��Œ����›��±��²��m�������Å��ç����������ª��o��à��g������3����ì��P��^��¹��ª������”��©���I��¡��������������+������“����õ����������w��O��s���3�������õ���Û������F�������������…����ÿ��Ã��¶��«�������Ê���Í���K������|��������������ã������Î��L������ï��è����������©��V������·��������©��Ø�����›��$������������Å������b��*���@������è����������›���������‡����������º���������W��`������Ò��û���o��Â��������[��X��"��Ü������÷��˜��°������Ž������9����~��������¤��Ð��A��8���6��������A��Ì��ˆ����������‰��®��º��u������J����������A��6���b����ø������������1��Œ������‡��æ���’��j����������5��ß��‹��ì��^����������������±��­�������+��™�������Z������î������?�� ��G������y��é��§��“��¾���ÿ��“�����������k��–��3������k���Ð��ö��h����Â����������ý������ž��¦����‘��X������ä���������g��²������N������õ������"����¡������,��¼���t���Ö������©��á��§��"�������B���������Î������¸��w������S��ç��[��Û��ÿ��G�������E��˜���ü���������������������Ž���.����������ü��5��ý������K��ó������F��Í��æ��ß���&��{��¥��Ï��v�������K���Ú����������Ç������t��¥��e����N��9���������í������I������Y�������������¼������������£����������º��o��������Ñ��ë��~����˜��p��š��œ����������Þ��Å���m������Ð������Ô��m��Í��Y��º��¦��n�����Ô��e����������<��Ø���š����������`������i���Ë������3����Õ������ß��û��Ý��¹��� ������,������œ��¤����Ÿ��•���������˜��������������C�����������Ó��o���0������f��ö��v����ò���å����������¶��¸��4��Ò���ù����������>��������������H��Â����i��&���������u������K����í��Y���Á��ä��×��ç��D�����������h������d������i����������+������ ��������k��Õ�������â������ß��!��s������������ ����6������¯�������§��'���Ë��­������´�����±���0��ê���‚��Ì���G����������l��„��h��ü��›��¿�����¹����«��m��ƒ��³���¬��8����������æ��—�����É��Œ��à��ƒ��#��Z��•��ÿ��”��?��å��ê������ž��1�����Ï�������c�� ��…����������$�������½�����������,���×��ˆ��������W���Ç���¾��Û�������1��������������j�������S������†������V��Î������;��� ��f��`��ä��‘���‰����������X���”�������z��n��Š����������{������8��'��»��’��ø������´��Ó���À��a��°���™��Ý��ë����������é��������¦��å��J��#���"������I���*��T���Y��â�����r��v����������ë���������}��s��������þ���û��ö���¢�� ���D����������¼��î��é��–������·���3�� ��°��ª��]��ž������R�� ������=���� ��2������;��^��O���ô��������?��)��������������\�������*��»��F����È������F��È��b�������Æ��%������Õ����������H������Ï��©������Ä��×��•�����������������.��L��ž���������(��Ã��ô������¾��������^���ã������ ������€���Ö����<������������(��Ÿ��������À���x��&��r��º���$��C������ð��d���Ä������¼��Ó��Ž������ ������������� ���Q��‰��;������L������2��ì��¢������¢��'��T��Ÿ������¯����������������C��������� ��¬�������â���M��i�����5¸����=¸�ül��(m��<m��Pm��dm��xm��Œm�� m��´m��Èm��Üm��øm�� n��(n��<n��hn��„n�� n��´n��Èn��Ün��ðn�� o��(o��Do��`o��to��o��E¸��������������� �����������������ÿÿÿÿe¸��������1���ÿÿÿÿ—¸��������/���ÿÿÿÿǸ�7����������ÿÿÿÿ¹�����������ÿÿÿÿA¹�����������ÿÿÿÿk¹��������(���ÿÿÿÿ˜¹� �������Q���ÿÿÿÿó¹� �������R���ÿÿÿÿOº� �������V���ÿÿÿÿ¯º������������������ÿÿÿÿÛº�����������ÿÿÿÿâº� ���������������ÿÿÿÿ »����������ÿÿÿÿ-»��������������������������������ÿÿÿÿ[»������������������ÿÿÿÿ†»������������������ÿÿÿÿ°»�M����������ÿÿÿÿ¼�����������ÿÿÿÿE¼�2����������ÿÿÿÿ¼��������:���ÿÿÿÿ¾¼� �������/�������%���ÿÿÿÿ½��������1����������ÿÿÿÿ~½� �������*�������"���ÿÿÿÿÖ½�#�������#����������ÿÿÿÿ¾� ����������ÿÿÿÿ'¾����������������ÿÿÿÿc¾����������ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: GNU coreutils 8.14 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2011-10-18 15:26+0200 Last-Translator: Santiago Vila Doncel <sanvila@unex.es> Language-Team: Spanish <es@li.org> Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); � � ( EXPRESIÓN ) la EXPRESIÓN es verdadera ! EXPRESIÓN la EXPRESIÓN es falsa EXPRESIÓN1 -a EXPRESIÓN2 la EXPRESIÓN1 y la EXPRESIÓN2 son verdaderas EXPRESIÓN1 -o EXPRESIÓN2 la EXPRESIÓN1 o la EXPRESIÓN2 es verdadera � --check-order comprueba que la entrada está correctamente ordenada, incluso si todos los ficheros de entrada son emparejables --nocheck-order no comprueba que la entrada está correctamente ordenada � -1 suprime la columna 1 (líneas que sólo están en FICHERO1) -2 suprime la columna 2 (líneas que sólo están en FICHERO2) -3 suprime la columna 3 (líneas que aparecen en los dos) � -a, --all lo mismo que -b -d --login -p -r -t -T -u -b, --boot tiempo del último inicio del sistema -d, --dead muestra los procesos muertos -H, --heading muestra la línea de encabezados de columnas � -b FICHERO el FICHERO existe y es un fichero especial de bloques -c FICHERO el FICHERO existe y es un fichero especial de caracteres -d FICHERO el FICHERO existe y es un directorio -e FICHERO el FICHERO existe � -l usa el formato ancho para el resultado -b omite el directorio inicial y shell del usuario en formato ancho -h omite el fichero project del usuario en formato largo -p omite el fichero plan del usuario en formato largo -s usa el formato corto (este es el predeterminado) � [-n] CADENA la longitud de la CADENA es distinta de cero CADENA equivalente a -n CADENA -z CADENA la longitud de la CADENA es igual a cero CADENA1 = CADENA2 las cadenas son iguales CADENA1 != CADENA2 las cadenas no son iguales � ARG1 * ARG2 producto aritmético de ARG1 y ARG2 ARG1 / ARG2 cociente aritmético de ARG1 dividido entre ARG2 ARG1 % ARG2 residuo aritmético de ARG1 dividido entre ARG2 � ARG1 + ARG2 suma aritmética de ARG1 y ARG2 ARG1 - ARG2 diferencia aritmética de ARG1 y ARG2 � ARG1 < ARG2 ARG1 es menor que ARG2 ARG1 <= ARG2 ARG1 es menor o igual que ARG2 ARG1 = ARG2 ARG1 es igual a ARG2 ARG1 != ARG2 ARG1 es distinto de ARG2 ARG1 >= ARG2 ARG1 es mayor o igual que ARG2 ARG1 > ARG2 ARG1 es mayor que ARG2 � FICHERO1 -ef FICHERO2 el FICHERO1 y FICHERO2 tienen los mismos números de dispositivo y de nodo-i FICHERO1 -nt FICHERO2 el FICHERO1 es más moderno (fecha de modificación) que FICHERO2 FICHERO1 -ot FICHERO2 el FICHERO1 es más antiguo que FICHERO2 � ENTERO1 -eq ENTERO2 el ENTERO1 es igual a ENTERO2 ENTERO1 -ge ENTERO2 el ENTERO1 es mayor o igual que ENTERO2 ENTERO1 -gt ENTERO2 el ENTERO1 es mayor que ENTERO2 ENTERO1 -le ENTERO2 el ENTERO1 es menor o igual que ENTERO2 ENTERO1 -lt ENTERO2 el ENTERO1 es menor que ENTERO2 ENTERO1 -ne ENTERO2 el ENTERO1 no es igual a ENTERO2 � CADENA : EXPREG búsqueda de expresiones regulares REGEXP en CADENA match CADENA EXPREG igual que CADENA : EXPREG substr CADENA POS LONG subcadena de CADENA, POS se cuenta partiendo de 1 index CADENA CARacteres índice en CADENA donde cualquier CARácter es encontrado, ó 0 length CADENA longitud de CADENA � a numera todas las líneas t numera sólo las líneas no vacías n no numera ninguna línea pERB numera sólo las líneas que coinciden con la expresión regular básica ERB FORMATO es uno de los siguientes: ln justificación a la izquierda, sin ceros a la izquierda rn justificación a la derecha, sin ceros a la izquierda rz justificación a la derecha, con ceros a la izquierda � b crea un fichero especial de bloques (buffered) c, u crea un fichero especial de caracteres (unbuffered) p crea un `FIFO' � Nº de usuarios=%lu � -t es implícito si LONGITUD_PÃGINA <= 10. Si no se especifica ningún FICHERO, o cuando FICHERO es -, lee la entrada estándar. � Un campo es una tanda de blancos (normalmente espacios y/o TABs), seguidos de caracteres no blancos. Los campos se descartan antes que los caracteres. � Un simple - implica -i. Si no hay ORDEN, muestra el entorno resultante. � Después de cualquier opción viene un ancho de campo opcional, como número decimal; y luego un modificador opcional, que puede ser E para usar la representación alternativa del local si está disponible, o bien O para usar el símbolo numérico alternativo del local si está disponible. � Si se omite una EXPRESIÓN entonces se considera falsa. En caso contrario, EXPRESIÓN es verdadera o falsa y determina el estado de salida. Es una de: � Como caso especial, cp crea una copia de seguridad de ORIGEN cuando se utilizan las opciones `force' y `backup', y ORIGEN y DESTINO tienen el mismo nombre para un nombre de fichero regular existente. � Advierta que muchos operadores necesitan ser escritos con secuencias de escape o encerrados entre comillas para los shells. Las comparaciones son aritméticas si ambos ARGs son números, de otra manera son lexicográficas. Las coincidencias de expresiones regulares devuelven la cadena emparejada entre \( y \) o nulo; si no se utilizan \( y \), devuelven el número de caracteres coincidentes ó 0. � Deben especificarse tanto PRINCIPAL como SECUNDARIO cuando el TIPO es b, c ó u, y debe omitirse cuando el TIPO es p. Si PRINCIPAL o SECUNDARIO comienzan con 0x o 0X, se interpreta como hexadecimal; en caso contrario, si comienza con 0, como octal, en caso contrario, como decimal. TIPO puede ser: � Por omisión, rm no borra directorios. Utilice la opción --recursive (-r o -R) para borrar también cada directorio listado, junto con todo su contenido. � Por omisión es `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'. `CC' son dos caracteres delimitadores para separar páginas; si sólo se especifica uno de ellos, el otro se supone:`.' Utilícese \\ para obtener \. ESTILO puede ser uno de lo siguientes: � Por omisión, los ficheros ORIGEN `sparse' se detectan mediante una simple heurística y los correspondientes ficheros DESTINO se crean también `sparse'. Este es el comportamiento con --sparse=auto. Al especificar --sparse=always se crea un fichero DESTINO `sparse' cuando el fichero ORIGEN contiene una sucesión de bytes cero suficientemente larga. Utilice --sparse=never para inhibir la creación de ficheros `sparse'. Cuando se especifica --reflink[=always], realiza una copia ligera, en la que los bloques de datos se copian solamente cuando se han modificado. Si esto no es posible, la copia falla, o si se especifica --reflink=auto, se hace una copia normal. � Valores de combinación: * [-]LCASE igual que [-]lcase cbreak igual que -icanon -cbreak igual que icanon � Los valores se muestran en unidades del primer TAMAÑO disponible de --block-size, y las variables de entorno %s_BLOCK_SIZE, BLOCK_SIZE y BLOCKSIZE. En caso contrario, las unidades son 1024 bytes (o 512 si se ha establecido POSIXLY_CORRECT). � Cada símbolo BANDERA puede ser: append modo de adición (solamente tiene sentido para salida, se sugiere conv=notrunc) � Ejemplos: %s -12 fichero1 fichero2 Muestra solamente las líneas en fichero1 y fichero2 %s -3 fichero1 fichero2 Muestra las líneas de fichero1 que no están en fichero2, y viceversa. � Ejemplos: %s f - g Muestra los contenidos de f, luego la entrada estándar, luego los contenidos de g. %s Copia la entrada estándar en la salida estándar. � Ejemplos: %s root /u Cambia el propietario de /u a "root". %s root:staff /u Similar, pero también cambia el grupo a "staff". %s -hR root /u Cambia el propietario de /u y subficheros a "root". � Ejemplos: %s staff /u Cambia el grupo de /u a "staff". %s -hR staff /u Cambia el grupo de /u y subficheros a "staff". � Ejemplos: Convierte segundos desde la época (1970-01-01 UTC) a una fecha $ date --date='@2147483647' Muestra la hora peninsular española (utilice tzselect(1) para encontrar TZ) $ TZ='Europe/Madrid' date Muestra la hora local para las 9 de la mañana del viernes que viene en la hora peninsular española $ date --date='TZ="Europe/Madrid" 09:00 next Fri' � Excepto por -h y -L, todas las operaciones de test relacionadas con FICHEROs siguen los enlaces simbólicos. Tenga en cuenta que los paréntesis deben ser precedidos por caracteres de escape (p.e. barras invertidas) para los shells. ENTERO también puede ser -l CADENA, que evalúa la longitud de la CADENA. � El estado de salida es 0 si EXPRESIÓN no es ni nula ni 0, 1 si EXPRESIÓN es nula o 0, 2 si EXPRESIÓN es sintácticamente inválida, y 3 si ocurrió un error. � Estado de salida: 0 si todo fue bien 1 si hubo problemas menores (p. ej., no poder acceder a un subdirectorio), 2 si hubo un serio problema (p. ej., no se puede acceder al argumento de la línea de órdenes) � FORMATO controla la salida como la función printf de C. Las secuencias interpretadas son: \" dobles comillas � FORMATO controla la salida. Las secuencias que se interpretan son: %% un % literal %a el nombre local abreviado de la semana (p. ej., dom) � Maneja la línea tty conectada a la entrada estándar. Sin argumentos, muestra la tasa de baudios, la disciplina de línea, y desviaciones con respecto de `stty sane'. En valores, el CARácter es tomado literalmente, o codificado como en ^c, 0x37, 0177 ó 127; los valores especiales ^- o undef son utilizados para no permitir caracteres especiales. � Si se utiliza -e, se reconocen las siguientes secuencias: � Si el fichero es -, efectúa shred sobre la salida estándar. Borra los FICHERO(s) si se especifica --remove (-u). La acción predeterminada es no borrar los ficheros porque es habitual operar sobre ficheros de dispositivo como /dev/hda, y dichos ficheros normalmente no se deben borrar. Cuando se opera sobre ficheros regulares, la mayor parte de la gente utiliza la opción --remove. � Si se omiten PRIMERO o INCREMENTO, el valor predeterminado es 1. Es decir, un INCREMENTO omitido tiene un valor predeterminado de 1 incluso cuando ÚLTIMO es más pequeño que PRIMERO. PRIMERO, INCREMENTO y ÚLTIMO se interpretan como valores de coma flotante. INCREMENTO es normalmente positivo si PRIMERO es menor que ÚLTIMO, y es normalmente negativo si PRIMERO es mayor que ÚLTIMO. � Si un FICHERO es -, copia de nuevo a la salida estándar. � Valores de entrada: [-]brkint `breaks' causan una señal de interrupción [-]icrnl traduce el retorno de carro a nueva línea [-]ignbrk descarta los caracteres de `break' [-]igncr descarta los retornos de carro � K puede tener un sufijo multilplicativo: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, Y. � Licencia GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/gpl.html>. Esto es software libre: usted es libre de cambiarlo y redistribuirlo. No hay NINGUNA GARANTÃA, hasta donde permite la ley. � Valores locales: [-]crterase repite los caracteres de borrado como retroceso-espacio-retroceso * crtkill mata toda la línea obedeciendo los valores echoprt y echoe * -crtkill mata toda la línea obedeciendo los valores echoctl y echok � NOTA: [ obedece las opciones --help y --version, pero test no. test trata cada uno de los anteriores como cualquier otra CADENA no vacía. � NOTA: su shell puede tener su propia versión de %s, que usualmente tiene prioridad sobre la versión que se describe aquí. Por favor acuda a la documentación de su shell para saber los detalles sobre las opciones que admite. � Tenga en cuenta que si utiliza rm para borrar un fichero, podría ser posible recuperar algo de su contenido, con suficiente experiencia y/o tiempo. Si quiere mayor seguridad de que el contenido es realmente irrecuperable, considere utilizar shred. � Tenga en cuenta que las opciones -d y -t aceptan formatos de hora-fecha distintos. � Un - opcional antes de VALOR indica negación. Un * marca valores no POSIX. El sistema subyacente define qué valores están disponibles. � De otra forma, MODO es un número que puede estar seguido por uno de los siguientes: KB 1000, K 1024, MB 1000*1000, M 1024*1024, y así sucesivamente para G, T, P, E, Z, Y. En este caso el flujo correspondiente tendrá un búfer con el tamaño del búfer establecido en MODO bytes. � Valores de salida: * bsN estilo de retardo de retroceso, N en [0..1] * crN estilo de retardo de retorno de carro, N en [0..3] * ffN estilo de retardo de salto de página, N en [0..1] * nlN estilo de retardo de nueva línea, N in [0..1] � Muestra el valor de la EXPRESIÓN en la salida estándar. Una línea en blanco debajo separa los grupos de prioridad creciente. La EXPRESIÓN puede ser: ARG1 | ARG2 ARG1 si no es nulo ni 0, de otra manera ARG2 ARG1 & ARG2 ARG1 si ningún argumento es nulo o 0, de otra manera 0 � Lee la entrada estándar si FICHERO es `-'. Cada PLANTILLA puede ser: � Comunicar errores en %s a %s � Comunicar errores a: %s � Los CONJUNTOs se especifican como cadenas de caracteres. La mayoría se representan a sí mismos. Las secuencias válidas son las siguientes: \NNN carácter con valor octal NNN (de uno a tres dígitos) \\ barra invertida \a pitido audible (BEL) \b espacio hacia atrás \f salto de página \n salto de línea \r retorno de carro \t tabulación horizontal � Caracteres especiales: * dsusp CAR el CARácter enviará una señal de alto a la terminal una vez que se haya limpiado la entrada eof CAR el CARácter enviará un fin de línea (termina la entrada) eol CAR el CARácter terminará la línea � Valores especiales: N establece la velocidad de entrada y salida a N baudios * cols N dice al núcleo que la terminal tiene N columnas * columns N igual que cols N � Los datos se codifican tal y como se describe en el RFC 3548 para el alfabeto base64. Al descodificar, la entrada puede contener caracteres de nueva línea además de los bytes del alfabeto base64 del formato. Utilice --ignore-garbage para descartar cualesquiera bytes del flujo de entrada que no pertenezcan al alfabeto. � Las siguientes tres opciones son útiles sólo cuando ser verifican sumas de comprobación: --quiet no muestra OK por cada fichero verificado con éxito --status no muestra nada, el valor de retorno indica el resultado -w, --warn avisa de las líneas de comprobación de sumas que no están correctamente formateadas � La traducción sucede si no se da -d y aparecen tanto CONJUNTO1 como CONJUNTO2. Solamente se puede usar -t cuando se traduce. El CONJUNTO2 se extiende a la longitud del CONJUNTO1 repitiendo su último carácter hasta que sea necesario. Los caracteres que sobran de CONJUNTO2 no se tienen en cuenta. Solamente se garantiza que se expanden en orden ascendente [:lower:] y [:upper:]; cuando se usan en CONJUNTO2 al traducir, solamente se pueden usar en parejas para especificar la conversión mayúsculas/minúsculas. -S utiliza CONJUNTO1 si no se traduce ni se borra, en caso contrario la compresión utiliza CONJUNTO2 y sucede después de la traducción o el borrado. � Utilice uno, y solamente uno de -b, -c o -f. Cada LISTA está compuesta por un rango, o muchos rangos separados por comas. La entrada seleccionada se escribe en el mismo orden en el que se lee, y se escribe exactamente una vez. � El uso de color para distinguir los tipos de ficheros está desactivado por omisión y cuando se usa --color=never. Con --color=auto, ls produce códigos de color solamente cuando la salida estándar está conectada a una terminal. La variable de entorno LS_COLORS puede cambiar las opciones. Utilice la orden dircolors para establecerla. � Sin FICHERO, o cuando FICHERO es -, lee la entrada estándar. � Sin ninguna opción, produce un resultado en tres columnas. La columna uno contiene las líneas únicas al FICHERO1, la columna dos contiene las líneas únicas al FICHERO2, y la columna tres contiene las líneas comunes a ambos ficheros. � Sin ninguna OPCIÓN, muestra un conjunto útil de información sobre la identidad. � Escribe una representación inequívoca, por defecto en base ocho, de FICHERO en la salida estándar. Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar. � ¿¿¿???� --backup[=CONTROL] crea una copia de seguridad antes de borrar -b como --backup pero no acepta ningún argumento -f, --force no pregunta nunca antes de sobreescribir -i, --interactive pide confirmación antes de sobreescribir � --backup[=CONTROL] crea una copia de seguridad de cada fichero de destino que ya exista -b como --backup pero no acepta ningún argumento -d, -F, --directory permite al superusuario intentar crear un enlace duro entre directorios (note: puede que falle por restricciones del sistema, incluso para el superusuario) -f, --force borra los ficheros destino que ya existan � --backup[=CONTROL] crea una copia de seguridad de cada fichero de destino que exista -b como --backup pero no acepta ningún argumento -C, --compare compara cada pareja de ficheros origen y destino, y en algunos casos, no modifica el destino en absoluto -c (sin efecto) -d, --directory trata todos los argumentos como nombres de directorios crea todos los componentes de los directorios especificados � --batch-size=NCOMBI combina como mucho NCOMBI entradas cada vez; para más use ficheros temporales � --complement complementa el conjunto de bytes, caracteres o campos seleccionados � --debug anota la parte de la línea que se utiliza para ordenar y avisa acerca de uso cuestionable de la salida de error estándar --files0-from=F lee la entrada de los fichero especificados por nombres terminados en NUL del fichero F Si F es - entonces lee los nombre de la entrada estándar � --files0-from=F lee la entrada de los fichero especificados por nombres terminados en NUL del fichero F; Si F es - entonces lee los nombre de la entrada estándar -L, --max-line-length muestra la longitud de la línea más larga -w, --words muestra el número de palabras � --from=PROPIETARIO_ACTUAL:GRUPO_ACTUAL cambia el propietario y/o el grupo de cada fichero solamente si su propietario y/o grupo actual coinciden con los especificados aquí. Se puede omitir cualquiera de los dos, en cuyo caso no se requiere coincidencia para el atributo omitido. � --group-directories-first agrupa directorios antes que los ficheros compatible con una opción --sort, pero cualquier uso de --sort=none (-U) desactiva la agrupación � --help muestra esta ayuda y finaliza � --lookup intenta canonicalizar los nombres de `host' a través del DNS -m sólo el nombre del `host' y de usuario asociado con la entrada estándar -p, --process muestra los procesos activos lanzados por init � --no-preserve=LISTA_ATTR no conserva los atributos especificados --parents utiliza el nombre de fichero de origen completo bajo DIRECTORIO � --one-file-system cuando se borra una jerarquía recursivamente, salta cualquier directorio que esté en un sistema de ficheros distinto de aquel que corresponde con el argumento de la línea de órdenes � --pid=PID con -f, termina después de que el ID del proceso, PID, muere -q, --quiet, --silent no presenta cabeceras para cada fichero --retry sigue intentando abrir un fichero incluso si es inaccesible cuando tail comienza o si se vuelve inaccesible más tarde; útil solamente si se sigue por nombre, es decir, con --follow=name � --preserve-context conserva el contexto de seguridad de SELinux -Z, --context=CONTEXTO establece el contexto de seguridad SELinux de los ficheros y directorios � --sort=PALABRA ordena de acuerdo con PALABRA: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort orden natural de los números (de versión) dentro del texto � --sparse=CUÃNDO controla la creación de ficheros dispersos. Véase más abajo. --strip-trailing-slashes elimina todas las barras finales de cada argumento ORIGEN � --strict con --check, sale con estado de salida distinto de cero para cualquier entrada inválida � --strip-trailing-slashes elimina todas las barras finales de cada argumento ORIGEN -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual � --suffix=SUF añade SUF a PLANTILLA. SUF no debe contener la barra. Esta opción va implícita si TEMPLATE no termina en X. � --tmpdir[=DIR] interpreta PLANTILLA relativa a DIR. Si no se especifica DIR, utiliza $TMPDIR si existe, o si no /tmp. Con esta opción, PLANTILLA no debe ser un nombre absoluto. Al contrario que con -t, PLANTILLA puede contener barras, pero mktemp solamente crea la última componente. � --verbose muestra un diagnóstico justo antes de abrir cada fichero � --version informa de la versión y finaliza � --all muestra el número de procesadores instalados --ignore=N si es posible, excluye N unidades de proceso � -evenp igual que -parenb cs8 * [-]lcase igual que xcase iuclc olcuc litout igual que -parenb -istrip -opost cs8 -litout igual que parenb istrip opost cs7 nl igual que -icrnl -onlcr -nl igual que icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar descarta los caracteres con error de paridad * [-]imaxbel emite un pitido y no limpia un búfer de entrada lleno con un carácter [-]inlcr traduce nueva línea a retorno de carro [-]inpck permite la revisión de paridad de entrada [-]istrip borra el bit alto (8º) de los caracteres de entrada � cooked igual que caracteres brkint ignpar istrip icrnl ixon opost isig icanon, eof y eol a sus valores por omisión -cooked igual que raw crt igual que echoe echoctl echoke � dec igual que echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq igual que [-]ixany ek caracteres erase y kill a sus valores por omisión evenp igual que parenb -parodd cs7 � ispeed N establece la velocidad de entrada a N * line N utiliza la disciplina de línea N min N con -icanon, establece a N caracteres como mínimo para una lectura completada ospeed N establece la velocidad de salida a N � oddp igual que parenb parodd cs7 -oddp igual que -parenb cs8 [-]parity igual que [-]evenp pass8 igual que -parenb -istrip cs8 -pass8 igual que parenb istrip cs7 � raw igual que -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw igual que cooked � sane igual que cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, y todos los caracteres especiales a sus valores por omisión. � stop CAR el CARácter detendrá la salida susp CAR el CARácter enviará una señal de alto a la terminal * swtch CAR el CARácter establecerá un contexto diferente de shell * werase CAR el CARácter borrará la última palabra tecleada � %A el nombre local completo de la semana (p. ej., Domingo) %b el nombre local abreviado del mes (p. ej., ene) %B el nombre local completo del mes (p. ej. Enero) %c la fecha y hora local (p. ej., jue mar 3 23:05:25 CET 2005) � %C siglo; como %Y, execpto que se omiten los dos últimos dígitos (p. ej., 20) %d el día del mes (p. ej., 01) %D la fecha; igual que %m/%d/%y %e el día del mes, completado con espacios, igual que %_d � %F fecha completa; lo mismo que %Y-%m-%d %g últimos dos dígitos del año del número de semana ISO (ver %G) %G año del número de la semana ISO (ver %V); útil normalmente con %V � %S los segundos (00..60) %t un tabulador horizontal %T la hora, lo mismo que %H:%M:%S %u día de la semana (1..7); 1 representa lunes � %U el número de la semana del año con Domingo como primer día de la semana (00..53) %V el número ISO de la semana del año con Lunes como primer día de la semana (01..53) %w el día de la semana (0..6); 0 representa Domingo %W el número de la semana en el año con lunes como primer día de la semana (00..53) � %h igual que %b %H la hora (00..23) %I la hora (01..12) %j el día del año (001..366) � %k la hora, rellenando con espacios ( 0..23), igual que %_H %l la hora, rellenando con espacios ( 1..12), igual que %_I %m el mes (01..12) %M los minutos (00..59) � %n un carácter de nueva línea %N nanosegundos (000000000..999999999) %p el equivalente local de AM o PM; blanco si es desconocido %P como %p, pero en minúsculas %r la hora local, en formato de 12 horas (p. ej. 11:11:04 PM) %R la hora y minutos, en formato de 24 horas; igual que %H:%M %s los segundos desde 1970-01-01 00:00:00 UTC � %x la representación local de la fecha (p. ej., 31/12/99) %X la representación local de la hora (p. ej. 23:13:48) %y los últimos dos dígitos del año (00..99) %Y el año � %z zona horaria numérica en formato +hhmm (p. ej., -0400) %:z zona horaria numérica en formato +hh:mm (p. ej., -04:00) %::z zona horaria numérica en formato +hh:mm:ss (p. ej., -04:00:00) %:::z zona horaria numérica con : hasta la precisión necesaria (p. ej., -04, +05:30) %Z abreviatura alfabética de la zona horaria (p. ej., EDT) Por omisión, date rellena los campos numéricos con ceros. � +PRIMERA_PAGINA[:ÚLTIMA_PAGINA], --pages=PRIMERA_PAGINA[:ÚLTIMA_PAGINA] comienza [termina] a imprimir por PRIMERA_[ÚLTIMA_]PÃGINA -COLUMNAS, --columns=COLUMNAS muestra una salida en COLUMNAS columnas e imprime las columnas, a menos que se especifique -a. Equilibra el número de líneas de cada columna en cada página. � --output-delimiter=CAD separa columnas con CAD � --userspec=USUARIO:GRUPO especifica el usuario y grupo (ID o nombre) que se usará --groups=LISTA_G especifica g1,g2,...,gN como grupos suplementarios � -0, --null termina cada línea por un byte 0 en vez de nueva línea � -D crea todos los componentes iniciales de DESTINO excepto el último, y entonces copia ORIGEN a DESTINO -g, --group=GRUPO establece la propiedad de grupo, en lugar del grupo actual del proceso -m, --mode=MODO establece los permisos (como en chmod), en lugar de rwxr-xr-x -o, --owner=PROPIETARIO establece la propiedad (sólo superusuario) � -D, --all-repeated[=método] muestra todas las líneas duplicadas método={none(predeterminado),prepend,separate} La delimitación se hace con líneas en blanco. -f, --skip-fields=N pasa por alto la comparación de los primeros N campos -i, --ignore-case pasa por alto las diferencias entra mayúsculas y minúsculas -s, --skip-chars=N pasa por alto la comparación de los primeros N caracteres -u, --unique muestra sólo las líneas que son únicas -z, --zero-terminated termina las líneas con un byte 0, no nueva línea � -D, --date-format=FORMATO utiliza FORMATO para la fecha de la cabecera -e[CARÃCTER[ANCHO]], --expand-tabs[CARÃCTER[ANCHO]] sustituye el carácter de tabulación (o el CARÃCTER) por ANCHO (8) espacios -F, -f, --form-feed utiliza saltos de página en lugar de caracteres de nueva línea para separar páginas (con una cabecera de página de 3 líneas con -f o una cabecera y una cola de 5 líneas sin -F) � -G, --no-group en un listado largo, no muestra nombres de grupo -h, --human-readable con -l, imprime los tamaños en formato legible (p. ej. 1K 234M 2G) -H, --si análogo, pero utiliza potencias de 1000 y no de 1024 � -H, --dereference-command-line sigue los enlaces simbólicos en la línea de órdenes --dereference-command-line-symlink-to-dir sigue cada enlace simbólico en la línea de órdenes que apunte a un directorio --hide=PATRÓN no lista las entradas implícitas que coinciden con el patrón de shell PATRÓN (las opciones -a o -A tienen prioridad) � -I pregunta una vez antes de borrar más de tres ficheros, o cuando se borra recursivamente. Menos intrusivo que -i, pero todavía protege contra la mayoría de las equivocaciones --interactive[=CUÃNDO] pregunta de acuerdo con CUÃNDO: never (nunca), once (una vez, -I), o always (siempre, -i). Sin CUÃNDO, pregunta siempre � -L FICHERO el FICHERO existe y es un enlace simbólico (igual que -h) -O FICHERO el FICHERO existe y su propietario es el ID efectivo de usuario -p FICHERO el FICHERO existe y es una tubería nombrada (named pipe) -r FICHERO el FICHERO existe y puede leerse -s FICHERO el FICHERO existe y tiene un tamaño mayor que cero � -L, --logical utiliza PWD del entorno, incluso si contiene enlaces simbólicos -P, --physical evita todos los enlaces simbólicos � -R, -r, --recursive copia directorios recursivamente --reflink[=CUÃNDO] controla copias clonadas/CoW. Ver más abajo. --remove-destination borra cada fichero de destino que exista antes de intentar abrirlo (compárese con --force). � -S ordena los ficheros por tamaño --sort=PALABRA ordena por PALABRA en vez de por nombre: none -U, extension -X, size -S, time -t, version -v --time=PALABRA con -l, muestra la fecha según PALABRA, en lugar de la fecha de modificación: atime -u, access -u, use -u, ctime -c, ó status -c; utiliza la fecha especificada como clave de ordenación si --sort=time � -S FICHERO el FICHERO existe y es un `socket' -t [DF] el descriptor de fichero DF (salida estándar por omisión) está abierto en una terminal -u FICHERO el FICHERO existe y su bit de cambio-de-ID-de-usuario está activo -w FICHERO el FICHERO existe y puede escribirse -x FICHERO el FICHERO existe y puede ejecutarse (o atravesarse) � -T, --omit-pagination no muestra cabeceras ni colas, descarta cualquier formato de página establecido con saltos de página en los ficheros de entrada -v, --show-nonprinting usa la notación octal de barra invertida -w, --width=ANCHO_PÃGINA establece el ancho de página en ANCHO_PÃGINA caracteres (por omisión, 72) solamente para salida de texto en varias columnas, -s[car] lo desactiva (72) � -T, -w, --mesg añade el estado de mensajes del usuario como +, - ó ? -u, --users muestra los usuarios conectados --message igual que -T --writable igual que -T � -W, --page-width=ANCHO_PÃGINA establece el ancho de página siempre en ANCHO_PÃGINA caracteres (por omisión 72), trunca las líneas, excepto si se usa la opción -J, no interfiere con las opciones -S o -s � -W, --word-regexp=EXPR-REG usa EXPR-REG para encontrar las palabras clave -b, --break-file=ARCHIVO toma de ARCHIVO los caracteres que definen las palabras -f, --ignore-case no distingue entre mayúsculas y minúsculas al ordenar -g, --gap-size=NÚMERO separación en columnas entre campos de salida -i, --ignore-file=ARCHIVO lee la lista de palabras a pasar por alto de ARCHIVO -o, --only-file=ARCHIVO lee la lista de palabras a mantener de ARCHIVO � -Z, --context=CTX establece el contexto de seguridad SELinux de NOMBRE a CTX � -Z, --context=CTX establece el contexto de seguridad SELinux de cada NOMBRE a CTX � -a cambia solamente la fecha de acceso -c, --no-create no crea ningún fichero -d, --date=CADENA examina y utiliza CADENA en lugar de la fecha actual -f (no tiene efecto) � -a, --across crea las columnas transversalmente en lugar de en paralelo, se utiliza junto con -COLUMNAS -c, --show-control-chars muestra los caracteres de control con notación gorro (^G) o secuencias de escape octales -d, --double-space salida con espaciado doble � -a, --all no oculta las entradas que comienzan con . -A, --almost-all no muestra las entradas . y .. implícitas --author con -l, imprime el autor de cada fichero -b, --escape imprime escapes en estilo C para los caracteres no gráficos � -a, --all convierte todos los espacios en blanco, no solo los iniciales --first-only convierte solamente los espacios en blanco iniciales (deshabilita -a) -t, --tabs=N usa N espacios en cada tabulación, en vez de 8 (activa -a) -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas para definir las posiciones de tabulación (activa -a) � -a, --archive lo mismo que -dR --preserve=all --attributes-only no copia los datos del fichero, solamente los atributos --backup[=CONTROL] crea una copia de seguridad de cada fichero de destino que exista -b como --backup pero no acepta ningún argumento --copy-contents copia el contenido de los ficheros especiales cuando opera recursivamente -d lo mismo que --no-dereference --preserve=link � -b, --before añade el separador antes de cada línea, en lugar de añadirlo después -r, --regex interpreta el separador como una expresión regular -s, --separator=CADENA usa CADENA como separador, en lugar de un salto de línea � -b, --binary lee en modo binario � -b, --binary lee en modo binario (por omisión a menos que se lea la terminal como entrada estándar) � -b, --body-numbering=ESTILO usa ESTILO para la numeración de las líneas -d, --section-delimiter=CC usa CC para separar páginas -f, --footer-numbering=ESTILO usa ESTILO para numerar las líneas finales � -b, --bytes cuenta bytes en vez de columnas -s, --spaces corta la línea por los espacios -w, --width=ANCHO utiliza ANCHO columnas en vez de 80 � -b, --bytes=LISTA selecciona solamente estos bytes -c, --characters=LISTA selecciona solamente estos caracteres -d, --delimiter=DELIM usa DELIM en vez de caracteres de tabulación para delimitar los campos � -b, --ignore-leading-blanks descarta los espacios en blanco al principio -d, --dictionary-order considera sólo los caracteres alfanuméricos y los espacios -f, --ignore-case convierte las minúsculas en mayúsculas � -c --format=FORMATO usa el FORMATO especificado en vez del predeterminado; muestra una nueva línea después de cada uso del FORMATO --printf=FORMATO como --format, pero interpreta las secuencias de escape y no muestra un carácter de nueva línea final obligatoriamente. Si quiere un carácter de nueva línea, incluya \n en el FORMATO If you want a newline, include \n in FORMAT. -t, --terse muestra la información de manera escueta � -c, --bytes=K muestra los últimos K bytes; alternativamente, use -c +K para mostrar los bytes que comienzan en el K-ésimo de cada fichero � -c, --check lee %s sumas de los FICHEROs y las comprueba � -c, --check, --check=diagnose-first comprueba si la entrada está ordenada, no ordena -C, --check=quiet, --check=silent como -c, pero no informa de la primera línea errónea --compress-program=PROG comprime temporales con PROG; los descomprime con PROG -d � -c, --count precede a las líneas con el número de ocurrencias -d, --repeated muestra sólo las líneas duplicadas � -c, --crown-margin mantiene la sangría en las dos primeras líneas -p, --prefix=CADENA junta sólo las líneas que comiencen con CADENA -s, --split-only divide las líneas largas de manera que quepan en el ancho especificado, pero no junta líneas � -c, --no-create no crea ningún fichero � -d, --decode descodifica datos -i, --ignore-garbage al descodificar, descarta los caracteres no alfabéticos -w, --wrap=COLS corta las líneas cada COLS caracteres (por omisión 76) Utilice 0 para desactivar el corte de líneas � -d, delimiters=LISTA usa los caracteres indicados en LISTA en lugar de tabuladores -s, --serial usa un fichero cada vez, en lugar de hacerlo en paralelo � -d, --directory crea un directorio, no un fichero -u, --dry-run no crea nada, simplemente muestra un nombre (inseguro) -q, --quiet elimina los mensajes sobre fallos de creación de ficheros/directorios � -e activa la interpretación de secuencias de escape -E desactiva la interpretación de secuencias de escape (por omisión) � -e activa la interpretación de secuencias de escape (por omisión) -E desactiva la interpretación de secuencias de escape � -e, --echo trata cada ARG como fichero de entrada -i, --input-range=IN-SU trata cada número de IN a SU como fichero de entrada -n, --head-count=LÃNEAS muestra como mucho LÃNEAS líneas -o, --output=FICHERO escribe el resultado en FICHERO en lugar de la salida estándar --random-source=FICHERO obtiene bytes aleatorios de FICHERO -z, --zero-terminated termina las líneas con un byte 0, no con nueva línea � -f omite la línea de cabeceras de columnas en formato corto -w omite el nombre completo del usuario en formato corto -i omite el nombre completo del usuario y el `host' remoto en formato corto -q omite el nombre completo del usuario, el `host' remoto y el tiempo inactivo en formato corto � -f lo mismo que -t fF, selecciona números en coma flotante -i lo mismo que -t dI, selecciona enteros decimales -l lo mismo que -t dL, selecciona enteros decimales largos -o lo mismo que -t o2, selecciona unidades octales de 2 bytes -s lo mismo que -t d2, selecciona unidades decimales de 2 bytes -x lo mismo que -t x2, selecciona unidades hexadecimales de 2 bytes � -f FICHERO el FICHERO existe y es un fichero regular -g FICHERO el FICHERO existe y tiene cambio-de-ID-de-grupo -G FICHERO el FICHERO existe y su propietario es el ID efectivo de grupo -h FICHERO el FICHERO existe y es un enlace simbólico (igual que -L) -k FICHERO el FICHERO existe y tiene activo su bit `sticky' � -f, --canonicalize canonicaliza siguiendo recursivamente cada enlace simbólico en cada componente de la ruta dada; todas las componentes de ruta menos la última deben existir -e, --canonicalize-existing canonicaliza siguiendo recursivamente cada enlace simbólico en cada componente de la ruta dada; todas las componentes de la ruta deben existir � -f, --fields=LISTA selecciona solamente estos campos; también muestra cualquier línea que no tenga un carácter delimitador, a menos que se especifique la opción -s -n (no tiene efecto) � -f, --follow[={name|descriptor}] muestra a medida que el fichero crece; -f, --follow, y --follow=descriptor son equivalentes -F lo mismo que --follow=name --retry � -f, --force cambia los permisos para permitir la escritura si es necesario -n, --iterations=N sobreescribe N veces en vez de lo predeterminado (%d) --random-source=FICHERO obtiene bytes aleatorios de FICHERO -s, --size=N efectúa el `shred' sobre este número de bytes (se permiten los sufijos K, M y G) � -g como -l, pero no lista el propietario � -g GID[,GID1...] también establece el ID de grupo primario al GID numérico, y (si se especifica) IDs de grupo sumplementario a GID1,... � -h, --header-numbering=ESTILO usa ESTILO para numerar las líneas de cabecera -i, --line-increment=NÚMERO incremento en el número de línea de cada línea -l, --join-blank-lines=NÚMERO un grupo de NÚMERO líneas vacías se cuentan como una sola -n, --number-format=FORMATO inserta los números de línea con FORMATO -p, --no-renumber no reinicializa el número de líneas para cada página -s, --number-separator=CADENA añade CADENA despúes del número de línea � -h CABECERA, --header=CABECERA utiliza una CABECERA centrada en lugar del nombre del fichero en la cabecera de la página, -h "" muestra una línea en blanco, no use -h"" -i[CARÃCTER[ANCHO]], --output-tabs[=CARÃCTER[ANCHO]] reemplaza los espacios con tabulaciones (o con CARÃCTER) de ancho ANCHO (8) -J, --join-lines mezcla líneas completas, desactiva el truncamiento de líneas -W, no alinea las columnas, --sep-string[=CADENA] establece los separadores � -h, --human-numeric-sort compara números en forma legible (p. ej., 2K 1G) � -h, --no-dereference afecta a cada enlace simbólico en lugar de a los ficheros referidos (solamente es útil en sistemas que pueden cambiar el propietario de un enlace simbólico) -m cambia solamente la fecha de modificación � -i, --initial sólo convierte las tabulaciones iniciales de cada línea -t, --tabs=NÚMERO establece las tabulaciones cada NÚMERO caracteres, no 8 � -i, --inodes muestra la información de nodos-i en lugar del uso de bloques -k como --block-size=1K -l, --local limita el listado a los sistemas de ficheros locales --no-sync no llama a sync antes de obtener el modo de empleo (por defecto) � -i, --input=MODO ajusta el búfer de la entrada estándar -o, --output=MODO ajusta el búfer de la salida estándar -e, --error=MODO ajusta el búfer de la salida de error estándar � -l utiliza un formato de listado largo -L, --dereference al mostrar la información de un fichero para un enlace simbólico, muestra la información del fichero al que apunta el enlace en lugar de la del propio enlace -m rellena el ancho con una lista de entradas separadas por comas � -l, --length=LONG_PÃGINA establece la longitud de la página en el número indicado por defecto 66, o 56 si se especifica -F 63 -m, --merge muestra todos los ficheros en paralelo, uno en cada columna, trunca líneas, pero une líneas de longitud completa con -J � -l, --link crea enlaces duros de los ficheros en vez de copiarlos -L, --dereference siempre sigue los enlaces simbólicos en ORIGEN � -l, --login muestra los procesos de login del sistema � -m, --mode=MODO establece los permisos a MODO, en lugar de a=rw - umask � -m, --mode=MODE establece los permisos (como en chmod), en lugar de a=rwx - umask -p, --parents no hay error si existen, crea los directorios padres en caso necesario -v, --verbose muestra un mensaje por cada directorio creado -Z, --context=CTX establece el contexto de seguridad SELinux de cada directorio creado a CTX � -n, --digits=DÃGITOS usa el número especificado de DÃGITOS en vez de 2 -s, --quiet, --silent no muestra el tamaño de los ficheros creados -z, --elide-empty-files borra los ficheros de salida vacíos � -n, --lines=K muestra las últimas K líneas en lugar de %d, o use -n +K para mostrar líneas comenzando por la K-ésima --max-unchanged-stats=N con --follow=name, reabre un FICHERO que no ha cambiado de tamaño después de N (por omisión %d) iteraciones, para ver si ha sido borrado o renombrado (este es el caso usual para ficheros de registro que rotan). Con inotify, esta opción raramente es útil. � -n, --no-clobber no sobreescribe un fichero que exista (tiene prioridad sobre una opción -i anterior) -P, --no-dereference nunca sigue los enlaces simbólicos en ORIGEN � -n, --numeric-sort compara de acuerdo con el valor numérico de la cadena -R, --random-sort ordena según un hash aleatorio de las claves --random-source=FICHERO obtiene bytes aleatorios de FICHERO -r, --reverse invierte el resultado de las comparaciones � -n, --numeric-uid-gid como -l, pero muestra los IDs de usuario y grupo numéricos -N, --literal muestra los nombres literalmente (no trata p. ej. los caracteres de control de forma especial) -o como -l, pero no muestra el grupo -p --indicator-style=slash añade el indicador / a los directorios � -n[SEP[DÃGITOS]], --number-lines[=SEP[DÃGITOS]] numera las líneas, utiliza DÃGITOS (5) dígitos, luego SEP (TAB), la cuenta predeterminada comienza con la primera línea del fichero de entrada -N, --first-line-number=NÚMERO comienza a contar con NÚMERO en la primera línea de la primera página impresa (véase +PRIMERA_PÃGINA) � -o, --indent=MARGEN desplaza cada línea con MARGEN (cero) espacios, no afecta a -w ni a -W, MARGEN será añadido a ANCHO_PÃGINA -r, --no-file-warnings omite el aviso cuando no se puede abrir un fichero � -o, --io-blocks trata TAMAÑO como el número de bloques de E/S en lugar de bytes � -o, --output=FICHERO escribe el resultado en FICHERO, en lugar de la salida estándar -s, --stable estabiliza la ordenación desactivando la comparación de último recurso -S, --buffer-size=TAMAÑO utiliza TAMAÑO para el búfer de memoria principal � -p igual que --preserve=mode,ownership,timestamps --preserve[=LISTA_ATTR] conserva si puede los atributos especificados, (por omisión: mode,ownership,timestamps) atributos adicionales: context, links, xattr, all � -p DIR utiliza DIR como prefijo, implica -t [obsoleto] -t interpreta PLANTILLA como una sola componente de nombre de fichero relativa a un directorio: $TMPDIR, si existe; o si no el directorio especificado con -p; o si no /tmp (obsoleto) � -p, --preserve-timestamps aplica las fechas de acceso/modificación de los ficheros ORIGEN a los ficheros de destino correspondientes -s, --strip elimina las tablas de símbolos -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual -t, --target-directory=DIRECTORIO copia todos los argumentos ORIGEN al DIRECTORIO -T, --no-target-directory trata DESTINO como fichero normal -v, --verbose muestra el nombre de cada directorio conforme se van creando � -q, --count todos los nombres de entrada y número de usuarios conectados -r, --runlevel muestra el `runlevel' actual -s, --short muestra sólo el nombre, línea y tiempo (predeterminado) -t, --time muestra el último cambio en el reloj del sistema � -q, --quiet, --silent no muestra las cabeceras con el nombre del fichero -v, --verbose muestra siempre las cabeceras con el nombre del fichero � -r, --reference=FICHERO muestra la fecha de última modificación de FICHERO -R, --rfc-2822 muestra la fecha y hora en formato RFC 2822. Ejemplo: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FICHERO_R base el tamaño en FICHERO_R -s, --size=TAMAÑO establece o ajusta el tamaño del fichero en TAMAÑO � -r, --references el primer campo de la línea es una referencia -t, --typeset-mode - no implementado - -w, --width=NÚMERO anchura de la salida en columnas, excluyendo referencias � -r, --reverse invierte el orden, en su caso -R, --recursive muestra los subdirectorios recursivamente -s, --size muestra el tamaño de cada fichero, en bloques � -s, --only-delimited no muestra las líneas que no contienen delimitadores --output-delimiter=CADENA utiliza CADENA como el delimitador del resultado. Por omisión se utiliza el delimitador de la entrada � -s, --signal=SEÑAL, -SEÑAL especifica el nombre o ek número de la señal que se enviará -l, --list lista los nombres de las señales, o convierte nombres de señales en números o viceversa -t, --table muestra una tabla de información sobre señales � -s, --sleep-interval=N con -f, espera aproximadamente N segundos entre iteraciones (por omisión 1.0). Con inotify y --pid=P, comprueba el proceso P al menos una vez cada N segundos. -v, --verbose presenta siempre las cabeceras para cada fichero � -s, --symbolic-link crea enlaces simbólicos en lugar de copiarlos -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN al directorio DIRECTORIO -T, --no-target-directory considera DEST como un fichero normal � -s[CAR], --separator[=CAR] separa las columnas mediante un solo carácter, el valor predeterminado de CAR es el carácter de <TAB> sin -w y 'no char' con -w. La opción -s[CAR] desactiva el truncamiento de líneas de las 3 opciones de columnas (-COLUMN|-a -COLUMN|-m) excepto si se usa -w. � -t ordena por la fecha de modificación, el más reciente primero -T, --tabsize=COLS establece los topes de tabulación a cada COLS en lugar de 8 � -t equivalente a -vT -T, --show-tabs muestra los caracteres de tabulación como ^I -u (sin efecto) -v, --show-nonprinting utiliza la notación ^ y M-, salvo para LFD y TAB � -t, --field-separator=SEP usa SEP en lugar de la transición de un no espacio a un espacio -T, --temporary-directory=DIR usa DIR para los ficheros temporales, no $TMPDIR ni %s; varias opciones especifican varios directorios --parallel=N cambia el número de ejecuciones concurrentes de sort a N -u, --unique con -c, comprueba estrictamente el orden; sin -c; muestra solamente la primera de una tanda igual � -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas para definir las posiciones de tabulación � --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN al directorio DIRECTORIO -T, --no-target-directory trata DESTINO como fichero normal -u, --update mueve solamente cuando el fichero ORIGEN es más moderno que el fichero de destino, o cuando falta el fichero de destino -v, --verbose da detalles de lo que va haciendo � -t, --text lee en modo de texto (por omisión si se lee de la terminal como entrada estándar) � -t, --text lee en modo de texto (por omisión) � -u con -lt: ordena por atime y muestra atime (fecha de último acceso al fichero) con -l: muestra atime y ordena por nombre en cualquier otro caso: ordena por atime -U no ordena; muestra las entradas en el orden del directorio -v orden natural de números (de versión) dentro del texto � -u, --remove trunca y borra el fichero después de sobreescribirlo -v, --verbose muestra el progreso -x, --exact no redondea hacia arriba los tamaños de los ficheros hasta el siguiente bloque completo; este es el comportamiento predeterminado para los ficheros no regulares -z, --zero añade una sobreescritura final con ceros para ocultar la acción de esta orden � -u, --update copia solamente cuando el fichero ORIGEN es más moderno que el fichero de destino, o cuando falta el fichero de destino -v, --verbose da detalles sobre lo que se va haciendo -x, --one-file-system permanece en este sistema de ficheros � -v NUMFICH Como -a NUMFICH, pero no muestra las líneas emparejadas -1 CAMPO usa este CAMPO del fichero 1 -2 CAMPO usa este CAMPO del fichero 2 --check-order comprueba que la entrada está correctamente ordenada, incluso si todos los ficheros de entrada son emparejables --nocheck-order no comprueba que la entrada está correctamente ordenada � -v, --kernel-version muestra la versión del núcleo -m, --machine muestra el tipo de máquina (hardware) -p, --processor muestra el tipo de procesador o "unknown" -i, --hardware-platfrom muestra la plataforma de hardware o "unknown" -o, --operating-system muestra el sistema operativo � -v, --starting-line-number=NÚMERO primer número de línea para cada página -w, --number-width=NÚMERO usa NÚMERO columnas para los números de línea � -w, --check-chars=N sólo compara los primeros N caracteres de la línea � -w, --width=COLS establece el ancho de la pantalla en lugar del valor actual -x muestra las entradas por líneas en vez de por columnas -X ordena alfabéticamente por la extensión de la entrada -Z, --context muestra el contexto de seguridad SELinux de cada fichero -1 muestra un fichero por cada línea � -z, --zero-terminated termina las líneas con el byte 0, no con nueva línea � Fichero: "%n" ID: %-8i Longnombre: %-7l Tipo: %T Tam. bloque: %-10s Tam. bloque fundamental: %S Bloques: Total: %-10b Libres: %-10f Disponibles: %a Nodos-i: Total: %-10c Libres: %d � Fichero: %N Tamaño: %-10s Bloques: %-10b Bloque E/S: %-6o %F � Los procesos que están en un estado de sueño no interrumpible también contribuyen a la carga del sistema. � [:graph:] todos los caracteres imprimibles, sin incluir el espacio [:lower:] todas las letras minúsculas [:print:] todos los caracteres imprimibles, incluyendo el espacio [:punct:] todos los caracteres de puntuación [:space:] todos los espacios en blanco horizontales y verticales [:upper:] todas las letras mayúsculas [:xdigit:] todos los números hexadecimales [=CAR=] todos los caracteres que son igual que CAR � \0NNN el byte con valor octal NNN (de 1 a 3 dígitos) \xHH el byte con valor hexadecimal HH (de 1 a 2 dígitos) � \NNN el byte con valor octal NNN (de 1 a 3 dígitos) \xHH el byte con valor hexadecimal HH (de 1 a 2 dígitos) \uHHHH el carácter Unicode (ISO/IEC 10646) con valor hexadecimal HHHH (4 dígitos) \UHHHHHHHH el carácter Unicode con valor hexadecimal HHHHHHHH (8 dígitos) � \\ barra invertida \a campana (BEL) \b retroceso \c no produce ninguna salida más \e escape \f avance de página (form feed) \n nueva línea \r retorno de carro \t tabulador horizontal \v tabulador vertical � \v tabulación vertical CAR1-CAR2 todos los caracteres comprendidos entre CAR1 y CAR2 contados en orden ascendente [CAR*] en CONJUNTO2, copias de CAR hasta que se alcance la longitud de CONJUNTO1 [CAR*REPITE] copia REPITE veces CAR; REPITE es octal si comienza con 0 [:alnum:] todas las letras y dígitos [:alpha:] todas las letras [:blank:] todos los espacios en blanco horizontales [:cntrl:] todos los caracteres de control [:digit:] todos los dígitos � binary utiliza E/S binaria para los datos � cio utiliza E/S concurrente para los datos � d[TAMAÑO] decimal con signo, TAMAÑO bytes por cada entero f[TAMAÑO] coma flotante, TAMAÑO bytes por cada entero o[TAMAÑO] octal, TAMAÑO bytes por cada entero u[TAMAÑO] decimal sin signo, TAMAÑO bytes por cada entero x[TAMAÑO] hexadecimal, TAMAÑO bytes por cada entero � direct utiliza E/S directa para los datos � directory falla a menos que sea un directorio � dsync utiliza E/S sincronizada para los datos � excl falla si el fichero de salida ya existe nocreat no crea el fichero de salida notrunc no trunca el fichero de salida noerror continúa después de los errores de lectura fdatasync escribe físicamente el fichero de salida antes de terminar fsync lo mismo, pero escriben también los metadatos � fullblock acumula bloques llenos de entrada (solamente iflag) � noatime no actualiza la fecha de acceso � nocache descarta los datos en caché � noctty no asigna una terminal controladora del fichero � nofollow no sigue los enlaces simbólicos � nolinks falla si está enlazado varias veces � nonblock utiliza E/S no bloqueante � none, off nunca realiza copias de seguridad (incluso si se da la opción --backup) numbered, t crea copias de seguridad numeradas existing, nil numeradas si existen copias de seguridad numeradas, simples en caso contrario simple, never siempre crea copias de seguridad simples � sync similar, pero también para metadatos � text utiliza E/S de texto para los datos � %H:%M%P � (respaldo: %s)� * [-]iuclc traduce de caracteres en mayúscula a minúscula * [-]ixany deja que cualquier carácter reinicie la entrada, no sólo el carácter de inicio [-]ixoff permite el envío de caracteres de inicio/alto [-]ixon permite el control de flujo XON/XOFF [-]parmrk marca errores de paridad (con la secuencia de caracteres 255-0) [-]tandem igual que [-]ixoff � * [-]iutf8 supone que los caracteres de entrada son UTF-8 � * [-]ocrnl traduce retorno de carro a nueva línea * [-]ofdel utiliza caracteres de borrado para relleno en lugar de caracteres nulos * [-]ofill utiliza caracteres de relleno en lugar de tiempo para retardos * [-]olcuc traduce caracteres en minúscula a mayúscula * [-]onlcr traduce nueva línea a retorno de carro-nueva línea * [-]onlret nueva línea realiza un retorno de carro � * [-]onocr no muestra retornos de carro en la primera columna [-]opost postprocesa salida * tabN estilo de retardo de tabulador horizontal, N en [0..3] * tabs igual que tab0 * -tabs igual que tab3 * vtN estilo de retardo de tabulador vertical, N en [0..1] � * eol2 CAR CARácter alternativo para terminar la línea erase CAR el CARácter borrará el último carácter tecleado intr CAR el CARácter enviará una señal de interrupción kill CAR el CARácter borrará la línea actual � * lnext CAR el CARácter introducirá el siguiente carácter comentado quit CAR el CARácter enviará una señal de salida * rprnt CAR el CARácter redibujará la línea actual start CAR el CARácter reiniciará la salida después de haberla detenido � * rows N dice al núcleo que la terminal tiene N líneas * size muestra el número de líneas y columnas de acuerdo con el núcleo speed muestra la velocidad de la terminal time N con -icanon, establece el tiempo fuera de lectura en N décimas de segundo � ¿?:¿¿?? � TTY� contexto=%s� grupos=� antiguo � repetido %s �% 1% de memoria, b 1, K 1024 (predeterminado), etc con M, G, T, P, E, Z, Y. Si no se especifica ningún FICHERO o FICHERO es `-', lee la entrada estándar. *** ATENCIÓN *** El locale especificado en el entorno afecta a la forma de ordenación. Establezca LC_ALL=C para obtener la forma de ordenación tradicional que utiliza los valores de los bytes originales. �%.*s: especificación de conversión inválida�%b %e %Y�%b %e %H:%M�%lu usuario�%lu usuarios�%s (para la expresión regular %s)�%s -> %s (restauración) �%s [-d] terminó anormalmente�%s y %s son el mismo fichero�%s existe pero no es un directorio�%s ha aparecido; siguiendo el final del nuevo fichero�%s se ha vuelto accesible�%s se ha vuelto inaccesible�%s ha sido reemplazado por un fichero al que no se le puede hacer tail. abandono con este nombre�%s ha sido reemplazado por un fichero al que no se le puede hacer tail; abandono con este nombre�%s ha sido reemplazado; siguiendo el final del nuevo fichero�%s tiene un tipo de fichero desconocido�no se puede usar %s, aparentemente tiene un tamaño negativo�Página inicial de %s: <%s> �Página inicial de %s: <http://www.gnu.org/software/%s/> �%s no es un entero positivo válido�%s es demasiado grande�%s solamente se puede usar con un núcleo SELinux�%s estaba especificado pero %s no�%s: %s es tan grande que no es representable�%s: %s: número de línea fuera de rango�%s: %s: ocurrencia no encontrada�%s: %s:%s: fuera de secuencia: �%s: FALLO al abrir o leer �%s: se esperaba un operador binario�%s: solamente se pueden crear enlaces simbólicos relativos en el directorio actual�%s: no se puede cambiar el modo `non-blocking'�%s: no se puede determinar el tamaño del fichero�%s: no se puede encontrar el nombre para el usuario con ID %lu �%s: no se puede seguir el final de este tipo de fichero; abandono con este nombre�%s: no se puede efectuar `lseek' hasta la posición original�%s: no se puede sobreescribir un directorio�%s: no se puede rebobinar�%s: desplazamiento imposible�%s: no se puede desplazar a la posición relativa al final %s�%s: no se puede desplazar a la posición %s�%s: no se puede desplazar a la posición relativa %s�%s: no se puede efectuar shred un descriptor de fichero de sólo añadir�%s: no se puede saltar�%s: no se puede saltar al desplazamiento especificado�%s: no se pudo reiniciar el modo `non-blocking'�%s: ¿descender al directorio %s? (s/n) �%s: ¿descender al directorio protegido contra escritura %s? (s/n) �%s: fin de fichero�%s: el operador de equivalencia de clase debe ser un sólo carácter�%s: error al truncar�%s: error al escribir en el desplazamiento %s�%s: se esperaba un valor numérico�%s: fallo al cerrar�%s: fallo al obtener la información de `extents'�%s: fallo al abrir para escritura�%s: fallo al borrar�%s: fcntl falló�%s: fdatasync falló�%s: el fichero tiene un tamaño negativo�%s: el fichero ha encogido demasiado�%s: fichero demasiado grande�%s: fichero demasiado largo�%s: fichero truncado�%s: fallo en `fstat'�%s: fsync falló�%s: no se permiten enlaces fuertes para directorios�%s: la entrada contiene un bucle:�%s: la entrada contiene un número impar de elementos�%s: los ficheros de entrada y salida son el mismo�%s: se esperaba un número entero después del delimitador�%s: tamaño de bloque de E/S inválido�%s: PID inválido�%s: número de trozo inválido�%s: contador inválido al comienzo de %s�%s: directiva inválida�%s: especificación de campo inválida %s�%s: tamaño de fichero inválido�%s: tipo de fichero inválido�%s: número máximo de stats entre aperturas inválido�%s: número inválido�%s: número de bytes inválido�%s: número de trozos inválido�%s: número de líneas inválido�%s: número inválido de pasos�%s: número de segundos inválido�%s: número que se descarta inválido�%s: opción inválida -- '%c' �%s: plantilla inválida�%s: identificador de proceso inválido�%s: la expresión regular no es válida: %s�%s: señal inválida�%s: longitud del sufijo inválida�%s: el número de línea debe ser mayor que cero�%s: número de línea fuera de rango�%s: lseek falló�%s: se han especificado varias señales�%s: los nuevos permisos son %s, no %s�%s: no se encontraron líneas de suma de comprobación %s con formato correcto�%s: no hay información sobre tamaño para este dispositivo�%s: no se muestra el directorio ya mostrado�%s: el número de bytes es demasiado grande�%s: la opción '%c%s' no admite ningún argumento �%s: la opción '%s' es ambigua; posibilidades:�%s: la opción '--%s' no admite ningún argumento �%s: la opción '--%s' requiere un argumento �%s: la opción '-W %s' no admite ningún argumento �%s: la opción '-W %s' es ambigua �%s: la opción '-W %s' requiere un argumento �%s: la opción requiere un argumento -- '%c' �%s: ¿sobreescribir %s? (s/n) �%s: paso %lu/%lu (%s)...�%s: paso %lu/%lu (%s)...%s�%s: paso %lu/%lu (%s)...%s/%s %d%%�%s: error de lectura�%s: ¿borrar el %s %s? (s/n) �%s: ¿borrar todos los argumentos recursivamente? �%s: ¿borrar todos los argumentos? (s/n) �%s: ¿borrar el %s %s protegido contra escritura? (s/n) �%s: borrado�%s: borrando�%s: renombrado a %s�%s: ¿reemplazar %s? (s/n) �%s: seek falló�%s: demasiadas líneas de suma de comprobación�%s: ¿intentar sobreescribir %s, sustituyendo el modo %04lo? (%s) �%s: no se puede determinar la longitud máxima de un nombre de fichero�%s: no se pudieron realizar todas las operaciones solicitadas�%s: se esperaba un operador unario�%s: opción no reconocida '%c%s' �%s: opción no reconocida '--%s' �%s: valor no completamente convertido�%s: error de escritura�%s: error al escribir�%s:%lu: línea inválida; falta el segundo elemento�%s:%lu: nombre de fichero de longitud cero inválido�%s:%lu: palabra clave no reconocida %s�»�se esperaba ')'�se esperaba ')', se encontró %s�(C)�* sistemas de ficheros que hacen caché en sitios temporales, tales como clientes de NFS versión 3 * sistemas de ficheros comprimidos �* sistemas de ficheros con estructura de registro o con versiones, como los que suministran AIX y Solaris (y JFS, ReiserFS, XFS, Ext3, etc.) * sistemas de ficheros que escriben datos redundantes y siguen adelante incluso si algunas escrituras fallan, tales como los sistemas de ficheros basados en RAID * sistemas de ficheros que hacen `snapshots', tales como el servidor NFS de Network Appliance �, carga promedio: %.2f�, %g s, %s/s �el argumento --%s %s es demasiado grande�--context (-Z) solamente funciona con núcleos que tengan SELinux activado�--filter no procesa un trozo extraído de la salida estándar�--reflink solamente se puede usar con --sparse=auto�-R --dereference requiere o bien -H o bien -L�-R -h requiere -P�-ef no acepta -l�-nt no acepta -l�-ot no acepta -l�<interno>�??? �¿¿??�Abortado� Acceso: %x Modificación: %y Cambio: %z Creación: %w �Acceso: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �La familia de direcciones para el nombre de `host' no está soportada�Temporizador�Todas las solicitudes completadas�El búfer del argumento es demasiado pequeño�Arnold Robbins�Disp�Disponibles�Llamada al sistema errónea�Valor erróneo para ai_flags�Brian Fox�Tubería rota�Error de bus�PRECAUCIÓN: Tenga en cuenta que shred se basa en una importante suposición: que el sistema de ficheros sobreescribe los datos en el mismo sitio. Esta es la forma tradicional de hacer las cosas, pero muchos diseños modernos de sistemas de ficheros no satisfacen esta suposición. Los siguientes son ejemplos de sistemas de ficheros en los que shred no es efectivo, o no está garantizado que sea efectivo en todos los modos de sistemas de ficheros: �COMENTARIO�Excedido el tiempo límite de CPU�Llama a la función link para crear un enlace llamado FICHERO2 a un FICHERO1 que ya exista. �Llama a la función unlink para borrar el FICHERO especificado. �Capacidad�Chet Ramey�El hijo ha terminado�Colin Plumb�Compara los ficheros ordenados FICHERO1 y FICHERO2 línea por línea. �Concatena FICHERO(s), o la entrada estándar, en la salida estándar. -A, --show-all lo mismo que -vET -b, --number-nonblank numera las líneas que no están vacías, desactiva -n -e lo mismo que -vE -E, --show-ends muestra un $ al final de cada línea -n, --number numera todas las líneas -s, --squeeze-blank suprime líneas vacías repetidas �Contexto: %C �Continuado�Copia la entrada estándar a cada FICHERO, y también a salida estándar. -a, --append añade a los FICHEROs dados, no los sobreescribe -i, --ignore-interrupts no hace caso a las señales de interrupción �David M. Ihnat�David MacKenzie�David Madore�Dispositivo: %Dh/%dd Nodo-i: %-10i Enlaces: %-5h Tipo de dispositivo: %t,%T �Dispositivo: %Dh/%dd Nodo-i: %-10i Enlaces: %h �Diagnostica construcciones inválidas o no transportables en nombres de fichero. -p comprueba para la mayoría de sistemas POSIX -P comprueba nombres vacíos y "-" de comienzo --portability comprueba para todos los sistemas POSIX (equivalente a -p -P) �Directorio: �Dmitry V. Levin�Abandona cualquier grupo suplementario, asume el ID de usuario y el ID de grupo del USUARIO especificado, y ejecuta ORDEN con cualesquiera ARGUMENTOs especificados. Termina con estado 111 si es incapaz de asumir los UID y GID necesarios. En caso contrario, termina con el estado de salida de ORDEN. Este programa solamente es útil cuando lo ejecuta root (user ID cero) �trap de EMT�SALIDA�Los rangos pueden ser: N El byte, carácter o campo en la posición N contado desde 1 N- A partir del byte, carácter o campo en la posición N, hasta el final de la línea N-M Desde el byte, carácter o campo que ocupa la posición N hasta el de la posición M -M desde el primero hasta el byte, carácter o campo de la posición M Si no hay FICHERO, o cuando FICHERO es -, lee la entrada estándar. �Muestra cada CADENA en la salida estándar. -n no muestra la nueva línea final �Eric Blake�Sale con un estado de saldia que indica fracaso.�Sale con un estado de saldia que indica éxito.�Sale con el estado determinado por EXPRESIÓN. �François Pinard�La suma no coincide�FIXME: desconocido�Los fifos no tienen números de dispositivo principal y secundario.�Excedido el límite de tamaño de fichero�los ficheros se crean con permisos u+rw, los directories con u+rwx, menos las restricciones de umask. �S.ficheros�Excepción de coma flotante�Para la documentación completa, ejecute: info coreutils `%s invocation' �Muestra una línea en la salida estándar por cada par de líneas que contengan campos idénticos. El campo a comparar por defecto es el primero, delimitado por un espacio en blanco. Si FICHERO1 o FICHERO2 es `-' (nunca dos a la vez), lee la entrada estándar. -a NUMFICH muestra también las líneas no emparejables del fichero NUMFICH, donde NUMFICH es 1 o 2, correspondiendo a FICHERO1 o FICHERO2 -e VACÃO reemplaza los campos inexistentes por VACÃO �Guarda los bloques cambiados en el disco, actualiza el superbloque. �Ayuda general sobre el uso de software de GNU: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Cuelgue (hangup)�E/S posible�INACTIVO�NLibres�NUso%�NUsados�Ian Lance Taylor�Inactivo�Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente, FICHERO es %s �Instrucción ilegal�Además, respaldos del sistema de ficheros y espejos remotos pueden contener copias del fichero que no se pueden borrar, y eso permite recuperar después un fichero al que se le haya hecho shred. �En la vida real: �En el caso de sistemas de ficheros ext3, el aviso anterior es aplicable (y shred es por lo tanto de efectividad limitada) solamente en modo data=journal, lo cual aplica el "journal" a los datos de los ficheros y no solamente a los metadatos. Tanto en el modo data=ordered (por omisión) como en el modo data=writeback, shred funciona como de costumbre. Los modos de bitácora Ext3 se pueden cambiar añadiendo la opción data=algo a las opciones de montaje para un sistema de ficheros en particular en el fichero /etc/fstab, tal y como se documenta en la página de manual de mount (man mount). �Infinito B�Solicitud de información�Nodos-i�Interrupción�Interrumpido por una señal�Referencia hacia atrás inválida�Nombre de clase de caracteres inválido�Carácter de "collation" invalido�Contenido inválido de \{\}�Expresión regular precedente inválida�Final de rango inválido�Expresión regular inválida�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Terminado (con kill)�LÃNEA�LOGIN�Login�Nombre de usuario: �Mark Kettenis�Matthew Bradburn�Fallo de asignación de memoria�Memoria agotada�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Montado en�NOMBRE�Nombre�Nombre o servicio desconocido�No hay ninguna dirección asociada con el nombre del `host'�No hay ninguna coincidencia�No hay ninguna expresión regular previa�Fallo irrecuperable en la resolución de nombres�La suma coincide�Cuando se borra sin comprimir repeticiones sólo se puede especificar una cadena�Opciones de ordenación: �Otras opciones: �Produce órdenes para establecer la variable de entorno LS_COLORS. Para determinar el formato del resultado: -b, --sh, --bourne-shell produce código en Bourne shell para establecer LS_COLORS -c, --csh, --c-shell produce código en C-shell para establecer LS_COLORS -p, --print-database muestra los valores por defecto �Muestra límites que dependen de la plataforma en un formato útil para scripts de shell. �Muestra quién esta actualmente conectado de acuerdo con FICHERO. Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente, FICHERO es %s �PID�Empaquetado por %s �Empaquetado por %s (%s) �Padraig Brady�Cadena de parámetro no codificada correctamente�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Fallo de alimentación�Fin prematuro de la expresión regular�Muestra ARGUMENTO(s) de acuerdo a FORMATO, o ejecuta de acuerdo con OPCIÓN: �Muestra la suma de comprobación CRC y el número de bytes de cada FICHERO. �Muestra cierta información del sistema. Sin ninguna OPCIÓN, igual que -s. -a, --all muestra toda la información, en el siguiente orden, excepto que se omite -p y -i si son desconocidos: -s, --kernel-name muestra el nombre del núcleo -n, --nodename muestra el nombre de `host' del nodo de red -r, --kernel-release muestra la versión del núcleo �Muestra la suma de comprobación y el número de bloques para cada FICHERO. -r usa el algoritmo de sum de BSD, con bloques de 1K -s, --sysv usa el algoritmo de sum de System V, con bloques de 512 bytes �Muestra la pertenencia a grupo de cada NOMBREUSUARIO, o, si no se especifica NOMBREUSUARIO, el proceso actual (que puede ser distinto si la base de datos de grupos ha cambiado). �Muestra información sobre los usuarios que están actualmente conectados. �Muestra la arquitectura de la máquina. �Muestra el número de nuevas líneas, palabras y bytes para cada FICHERO, y una línea con el total si se especifica más de un FICHERO. Si no se especifica ningún FICHERO, o si FICHERO es -, lee la entrada estándar. Una palabra es una secuencia que no sea de longitud cero delimitada por espacio en blanco. Las siguientes opciones pueden utilizarse para seleccionar qué valores se muestran, siempre en el siguiente orden: nuevas líneas, palabras, caracteres, bytes y longitud máxima de línea. -c, --bytes muestra el número de bytes -m, --chars muestra el número de caracteres -l, --lines muestra el número de líneas �Muestra la fecha/hora actual, el lapso de tiempo que el sistema lleva arriba, el número de usuarios en el sistema, y el número medio de trabajos en la cola de ejecución en los últimos 1, 5 y 15 minutos.�Muestra el nombre de fichero de la terminal conectada a la salida estándar. -s, --silent, --quiet no muestra nada, sólo devuelve un valor de salida �Muestra el nombre de fichero completo del directorio de trabajo actual. �Muestra el nombre del usuario actual. �Muestra el número de unidades de proceso disponibles al proceso actual, lo cual puede ser menos que el número de procesadores activos �Muestra los factores primos de todos los NÚMEROs enteros especificados. Si no se especifican argumentos en la línea de órdenes, se leen de la entrada estándar. �Muestra el nombre de usuario asociado con el ID efectivo del usuario actual. Equivalente a id -un. �Muestra la información de usuario y grupo para el NOMBREUSUARIO especificado, o (cuando se omite NOMBREUSUARIO) para el usuario actual. -a sin efecto, para compatibilidad con otras versiones -Z, --context muestra sólo el contexto de seguridad del usuario actual -g, --group muestra sólo el ID de grupo -G, --groups muestra sólo los grupos suplementarios -n, --name muestra un nombre en lugar de un número, para -ugG -r, --real muestra el ID real en lugar del ID efectivo, para -ugG -u, --user muestra sólo el ID efectivo del usuario �Muestra el valor de un enlace simbólico o el nombre canónico de un fichero �Solicitud de proceso en progreso�El tiempo de CPU expiró�Proyecto: �Q. Frank Xia�Salida�Randy Smith�Señal de tiempo real %d�La expresión regular es demasiado grande�Borra el/los DIRECTORIO(s), si están vacíos. --ignore-fail-on-non-empty no tiene en cuenta los fallos que se producen únicamente porque un directorio no está vacío �Comunicar errores en %s a: %s �Informe de errores de traducción %s a <http://translationproject.org/team/> �Solicitud cancelada�Solicitud no cancelada�Recurso perdido�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Ejecuta ORDEN siendo NUEVO_RAÃZ el directorio raíz. �Ejecuta ORDEN, descartando las señales de colgar. �Russell Coker�Scott Bartram�Scott Miller�Fallo de segmentación�Servname no soportado para ai_socktype�Establezca LC_ALL='C' para solucionar este problema de forma temporal.�Shell: �Simon Josefsson�Tamaño�Los ficheros especiales necesitan números de dispositivo principal y secundario.�Fallo de pila�Detenido�Detenido (señal)�Detenido (entrada de terminal)�Detenido (salida por terminal)�Stuart Kemp�Éxito�Error del sistema�TIEMPO�Fallo temporal en la resolución de nombres�Terminado�Las cadenas comparadas eran %s y %s.�Torbjorn Granlund�`trap' para punto de parada/seguimiento�Barra invertida final�Traduce, comprime y/o borra caracteres de la entrada estándar, escribiendo el resultado en la salida estándar. -c, -C, --complement utiliza el complementario de CONJUNTO1 -d, --delete borra caracteres de CONJUNTO1, no traduce -s, --squeeze-repeats remplaza cada sucesión de entrada de un carácter repetido listado en CONJUNTO1 por una sola aparición de dicho carácter -t, --truncate-set1 trunca CONJUNTO1 a la longitud de CONJUNTO2 �Cuando se borra y se comprimen repeticiones se deben proporcionar dos cadenas�Al traducir se deben proporcionar dos cadenas.�Tipo�Ulrich Drepper�Error desconocido�Señal desconocida %d�Error del sistema desconocido�( o \( desemparejado�) o \) desemparejado�[ o [^ desemparejado�\{ desemparejado�Condición urgente de E/S�Modo de empleo: %s �Modo de empleo: %s ORDEN [ARGUMENTO]... o bien: %s OPCIÓN �Modo de empleo: %s CONTEXTO ORDEN [args] o bien: %s [ -c ] [-u USUARIO] [-r ROL] [-t TIPO] [-l RANGO] ORDEN [args] �Modo de empleo: %s EXPRESIÓN o bien: %s OPCIÓN �Modo de empleo: %s FICHERO o bien: %s OPCIÓN �Modo de empleo: %s FICHERO1 FICHERO2 o bien: %s OPCIÓN �Modo de empleo: %s FORMATO [ARGUMENTO]... o bien: %s OPCIÓN �Modo de empleo: %s [OPCIÓN]... ORDEN �Modo de empleo: %s OPCIÓN... FICHERO... �Modo de empleo: %s OPCIÓN... [FICHERO]... �Modo de empleo: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [OPCIONES]... o bien: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [-a|--all] o bien: %s [-F DISPOSITIVO | --file=DISPOSITIVO] [-g|--save] �Modo de empleo: %s [-ANCHO] [OPCIÓN]... [FICHERO]... �Modo de empleo: %s [-s SEÑAL | -SEÑAL ] PID... o bien: %s -l [SEÑAL]... o bien: %s -t [SEÑAL]... �Modo de empleo: %s [FICHERO]... o bien: %s [OPCIÓN] �Modo de empleo: %s [NOMBRE] o bien: %s OPCIÓN Muestra o establece el nombre del `host' del sistema actual. �Modo de empleo: %s [NÚMERO]... o bien: %s OPCIÓN �Modo de empleo: %s [OPERANDO]... o bien: %s OPCIÓN �Modo de empleo: %s [OPCIÓN] �Modo de empleo: %s [OPCIÓN] Muestra el identificador numérico (en hexadecimal) del `host' actual. �Modo de empleo: %s [OPCIÓN] DURACIÓN ORDEN [ARG]... o bien: %s [OPCIÓN] �Modo de empleo: %s [OPCIÓN] NOMBRE... �Modo de empleo: %s [OPCIÓN] NUEVO_RAÃZ [ORDEN [ARG]...] o bien: %s OPCIÓN �Modo de empleo: %s [OPCIÓN] [ORDEN [ARG]...] �Modo de empleo: %s [OPCIÓN] [FICHERO] Escribe una lista completamente ordenada consistente con el orden parcial en FICHERO. Sin ningún FICHERO, o cuando FICHERO es -, lee la entrada estándar. �Modo de empleo: %s [OPCIÓN]... �Modo de empleo: %s [OPCIÓN]... CONTEXTO FICHERO... o bien: %s [OPCIÓN]... [-u USUARIO] [-r ROL] [-l RANGO] [-t TIPO] FICHERO... o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO... �Modo de empleo: %s [OPCIÓN]... DIRECTORIO... �Modo de empleo: %s [OPCIÓN]... FICHERO PLANTILLA... �Modo de empleo: %s [OPCIÓN]... FICHERO... �Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2 �Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO... o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO... �Modo de empleo: %s [OPCIÓN]... ÚLTIMO o bien: %s [OPCIÓN]... PRIMERO ÚLTIMO o bien: %s [OPCIÓN]... PRIMERO INCREMENTO ÚLTIMO �Modo de empleo: %s [OPCIÓN]... MODO[,MODO]... FICHERO... o bien: %s [OPCIÓN]... MODO-OCTAL FICHERO... o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO... �Modo de empleo: %s [OPCIÓN]... NOMBRE TIPO [PRINCIPAL SECUNDARIO] �Modo de empleo: %s [OPCIÓN]... [NOMBRE]... �Modo de empleo: %s [OPCIÓN]... CONJUNTO1 [CONJUNTO2] �Modo de empleo: %s [OPCIÓN]... [ FICHERO | ARG1 ARG2 ] �Modo de empleo: %s [OPCIÓN]... [+FORMATO] o bien: %s [-u|--utc|--universal] [MMDDhhmm[[SS]AA][.ss]] �Modo de empleo: %s [OPCIÓN]... [-T] ORIGEN DESTINO o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO o bien: %s [OPCIÓN]... -t DIRECTORIO ORIGEN... �Modo de empleo: %s [OPCIÓN]... [-T] ORIGEN DESTINO o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO o bien: %s [OPCIÓN]... -t DIRECTORIO ORIGEN... o bien: %s [OPCIÓN]... -d DIRECTORIO... �Modo de empleo: %s [OPCIÓN]... [-T] OBJETIVO NOMBRE_DEL_ENLACE (1ª forma) o bien: %s [OPCIÓN]... OBJETIVO (2ª forma) o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO (3ª forma) o bien: %s [OPCIÓN]... -t DIRECTORIO OBJETIVO... (4ª forma) �Modo de empleo: %s [OPCIÓN]... [-] [NOMBRE=VALOR]... [ORDEN [ARGUMENTO]...] �Modo de empleo: %s [OPCIÓN]... [FICHERO] �Modo de empleo: %s [OPCIÓN]... [FICHERO] o bien: %s -e [OPCIÓN]... [ARGUMENTO]... o bien: %s -i IN-SU [OPCIÓN]... �Modo de empleo: %s [OPCIÓN]... [FICHERO]... �Modo de empleo: %s [OPCIÓN]... [FICHERO]... o bien: %s [-abcdfilosx]... [FICHERO] [[+]DESPLAZAMIENTO[.][b]]\n" o bien: %s --traditional [OPCIÓN]... [FICHERO] [[+]DESPLAZAMIENTO[.][b] [+][ETIQUETA][.][b]] �Modo de empleo: %s [OPCIÓN]... [FICHERO]... o bien: %s [OPCIÓN]... --files0-from=F �Modo de empleo: %s [OPCIÓN]... [FICHERO]... Muestra o comprueba sumas de comprobación %s (de %d bits). Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar. �Modo de empleo: %s [OPCIÓN]... [ENTRADA [SALIDA]] �Modo de empleo: %s [OPCIÓN]... [ENTRADA [PREFIJO]] �Modo de empleo: %s [OPCIÓN]... [ENTRADA]... (sin -G) o bien: %s -G [OPCIÓN]... [ENTRADA [SALIDA]] �Modo de empleo: %s [OPCIÓN]... [PROPIETARIO][:GRUPO]] FICHERO... o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO... �Modo de empleo: %s [OPCIÓN]... [PLANTILLA] �Modo de empleo: %s [OPCIÓN]... [USUARIO] �Modo de empleo: %s [OPCIÓN]... [USUARIO]... �Modo de empleo: %s [OPCIÓN]... [USUARIO]... �Modo de empleo: %s [OPCIÓN]... [VARIABLE]... Muestra los valores de las VARIABLE(s) de entorno especificadas. Si no se especifica ninguna VARIABLE, muestra las parejas nombre-valor para todas ellas. �Modo de empleo: %s [OPCIÓN-CORTA]... USUARIO ORDEN [ARGUMENTO]... o bien: %s OPCIÓN-LARGA �Modo de empleo: %s [OPCIÓN-CORTA]... [CADENA]... o bien: %s OPCIÓN-LARGA �Modo de empleo: %s [CADENA]... o bien: %s OPCIÓN �Modo de empleo: %s [argumentos de la línea de órdenes que se descartan] o bien: %s OPCIÓN �Modo de empleo: test EXPRESIÓN o bien: test o bien: [ EXPRESIÓN ] o bien: [ ] o bien: [ OPCIÓN �Uso%�Usados�Señal definida por el usuario 1�Señal definida por el usuario 2�Los argumentos válidos son:�El temporizador virtual expiró�ATENCIÓN: Estructura de directorios circular. Esto quiere decir seguramente que el sistema de ficheros está corrupto. COMUNÃQUELO AL ADMINISTRADOR DEL SISTEMA. El siguiente directorio es parte del ciclo: %s �ATENCIÓN: no se tendrá en cuenta --context (-Z); este núcleo no tiene SELinux activado�ATENCIÓN: no se tendrá en cuenta --preserve-context; este núcleo no tiene SELinux activado�ATENCIÓN: se descarta la opción --strip-program, ya que no se ha especificado la opción -s�Atención: �Cuándo�Dónde�La ventana ha cambiado�Con --follow (-f), tail de forma predeterminada sigue al descriptor de fichero, lo cual quiere decir que incluso si un fichero al que se le hace tail es renombrado, tail continuará siguiendo su final. Este comportamiento predeterminado no es deseable cuando lo que de verdad quiere seguir es el nombre real del fichero, no el descriptor del fichero (p.ej: rotación de ficheros de registro). Utilice --follow=nombre en tal caso. Esto hace que tail siga el fichero mencionado reabriéndolo periódicamente para ver si ha sido borrado o recreado por algún otro programa. �Escrito por %s y %s. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s, %s, y otros. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s, y %s. �Escrito por %s, %s, %s, %s, %s, %s, %s, y %s. �Escrito por %s, %s, %s, %s, %s, %s, y %s. �Escrito por %s, %s, %s, %s, %s, y %s. �Escrito por %s, %s, %s, %s, y %s. �Escrito por %s, %s, %s, y %s. �Escrito por %s, %s, y %s. �Escrito por %s. �las expresiones [=c=] no pueden aparecer en cadena2 al traducir�^ no hay ninguna coincidencia para la clave �^[nN]�^[sS]�«�con un ajuste, debe darse una orden�ai_family no soportada�ai_socktype no soportado�argumento %s ambiguo para %s�sólo se puede especificar un delimitador de entrada cuando se procesan campos�se añade la salida a %s�respaldar %s destruiría el original; %s no se copia�respaldar %s destruiría el original; %s no se mueve�tipo de respaldo�fichero especial de bloques�los ficheros especiales de bloques no están soportados�bloques�los dos ficheros no pueden ser a la vez la entrada estándar�el desplazamiento de bytes %s es demasiado grande�no se puede aplicar contexto parcial al fichero sin etiquetar %s�no se puede obtener el contexto del proceso�no se puede acceder a %s�no se puede respaldar %s�no se puede al mismo tiempo resumir y mostrar todas las entradas�no se puede cambiar el propietario de %s�no se pueden cambiar los permisos de %s�no se puede cambiar el directorio raíz a %s�no se puede cambiar al directorio %s�no se puede cambiar al directorio raíz�no se puede combinar --target-directory (-t) y --no-target-directory (-T)�no se puede combinar --target-directory y --no-target-directory�no se pueden combinar las opciones -e y -i�no se pueden combinar dos de entre {ascii,ebcdic,ibm}�no se puede combinar block y unblock�no se puede combinar direct y nocache�no se puede combinar excl y nocreat�no se puede combinar lcase y ucase�no se pueden combinar las opciones mode y --reference�no se puede combinar la señal con -l o -t�no se pueden comparar los nombres de fichero %s y %s�no se puede convertir U+%04X al conjunto de caracteres local�no se puede convertir U+%04X al conjunto de caracteres local: %s�no se puede copiar un directorio, %s, dentro de sí mismo, %s�no se puede copiar el enlace simbólico cíclico %s�no se puede crear el directorio %s�no se puede crear el fichero `fifo' %s�crea el enlace duro %s a %s�no se puede crear el enlace duro %s a %s�no se puede crear el fichero regular %s�no se puede crear el fichero especial %s�no se puede crear el enlace simbólico %s�no se puede crear el enlace simbólico %s a %s�no se puede crear un fichero temporal en %s�no se puede seguir %s�no se puede determinar el dispositivo y el nodo-i de %s�no se puede determinar el nombre del `host'�no se puede determinar la localización de %s, se vuelve a `polling'�no se puede ejecutar la función `ioctl' sobre %s�no se puede encontrar el nombre para el grupo con ID %lu�no se puede seguir %s por el nombre�no se puede forzar al contexto a %s y conservarlo�no se puede efectuar `fstat' sobre %s�no se puede obtener el directorio actual�no se puede obtener el estado de `nice'�no se puede obtener el nombre del sistema�no se puede obtener el tamaño de %s�no se puede efectuar `lseek' sobre %s�no se puede crear un enlace que sea duro y simbólico al mismo tiempo�no se puede crear el directorio %s�no se puede mover %s a %s�no se puede mover %s a un directorio de sí mismo, %s�no se puede sobreescribir un directorio con un no directorio: %s -> %s�no se puede abrir %s para lectura�no se puede abrir %s para escritura�no se puede abrir el directorio %s�no se puede operar sobre el enlace simbólico colgado %s�no se puede sobreescribir el directorio %s con un no directorio�no se puede sobreescribir el no directorio %s con el directorio %s�no se puede realizar salida formateada�no se pueden conservar los atributos extendidos, cp está compilado sin soporte de xattr�no se puede conservar el contexto de seguridad si un núcleo con SELinux activado�no se puede mostrar "only" de más de una elección�no se puede imprimir solamente el nombre o el ID real en el formato predeterminado�no se puede mostrar el contexto de seguridad cuando se especifica usuario�no se puede leer el directorio %s�no se pueden leer los nombres de fichero de %s�no se puede leer la información del sistema de ficheros para %s�no se puede leer el reloj de tiempo real�no se puede leer el enlace simbólico %s�no se puede leer la tabla de sistemas de ficheros montados�no se puede borrar %s�no se puede borrar el directorio: %s�no se puede reposicionar el puntero a fichero para %s�no se puede ejecutar %s�no se puede establecer %s�no se puede establecer la fecha�no se puede establecer el ID del grupo a %lu�no se puede cambiar el nombre de `host'; este sistema carece de esa capacidad�no se puede establecer el nombre a %s�no se puede establecer el estado de `nice'�no se puede establecer la fecha de %s�no se puede establecer el ID del usuario a %lu�no se puede saltar a un punto que está más allá de la entrada combinada�no se puede especificar --null (-0) con la orden�no se puede especificar a la vez impresión en paralelo y transversalmente.�no se puede especificar un número de columnas cuando se escribe en paralelo.�no se puede especificar la fecha de dos formas distintas�no se puede trocear de varias formas distintas�no se puede efectuar `stat' sobre %s�no se puede efectuar `stat' sobre el directorio actual (ahora %s)�no se puede efectuar `stat' en la entrada estándar�no se puede efectuar `touch' sobre %s�no se puede restaurar %s�no se puede deshacer el enlace %s�no se puede borrar %s�no se puede vigilar %s�no se puede vigilar el directorio padre de %s�no se puede sortear un fallo del núcleo después de todo�cambiado el grupo de %s de %s a %s �cambiado el propietario de %s de %s a %s �cambiando el grupo de %s�cambiando el propietario de %s�cambiando los permisos de %s�cambiando el contexto de seguridad de %s �el desplazamiento de caracteres es cero�carácter fuera de rango�fichero especial de caracteres�los ficheros especiales de caracteres no están soportados�borrando los permisos de %s�cambio de reloj�error al cerrar�cerrando %s (df=%d)�cerrando el directorio %s�cerrando el fichero de entrada %s�cerrando la tubería de entrada�cerrando el fichero de salida %s�cerrando la tubería de salida�cerrando la tubería anterior�cierre de la entrada estándar�el modo de compatibilidad admite un fichero como mucho�cadenas de reemplazo de campos vacíos conflictivas�se han dado especificadores de contexto de seguridad conflictivos�no se pudo establecer el búfer de %s al modo %s �no se pudo crear el proceso para %s -d�no se pudo crear un fichero temporal�no se pudo ejecutar %s�no se pudo ejecutar %s -d�no se pudo encontrar la entrada de directorio en %s que corresponda con el nodo-i�no se puede obtener la fecha de arranque�se ha creado el directorio %s�creando el directorio %s�creando fichero %s �la lista de delimitadores termina con una barra invertida sin escapar: %s�directorio�división por cero�dup2 falló�no se permite un %s vacío�nombre de fichero vacío�tabulación vacía�error al cerrar el fichero�error en el comparador de expresiones regulares�error en la búsqueda de la expresión regular�error al inicializar las cadenas de meses�error al monitorizar evento inotify�error al leer %s�error al leer evento inotify�error esperando a la orden�error al escribir en %s�ejecutando con FILE=%s �salida=�sobra el argumento %s�operando extra %s�el operando extra %s no está permitido con -%c�fallo al canonicalizar %s�fallo al cambiar el contexto de %s a %s�fallo al cambiar el grupo de %s de %s a %s �fallo al cambiar el grupo de %s a %s �fallo al cambiar el modo de %s de %04lo (%s) a %04lo (%s) �fallo al cambiar el propietario de %s �fallo al cambiar el propietario de %s de %s a %s �fallo al cambiar el propietario de %s a %s �fallo al cambiar a %s�fallo al clonar %s a partir de %s�fallo al cerrar la tubería de entrada�fallo al calcular un nuevo contexto�fallo al crear el directorio a través de la plantilla %s�fallo al crear el fichero a través de la plantilla %s�fallo al crear el enlace duro %s�fallo al crear el enlace duro %s => %s�fallo al crear el enlace duro a %.0s%s�fallo al crear tubería�fallo al crear el contexto de seguridad: %s�fallo al crear el enlace simbólico %s�fallo al crear el enlace simbólico %s -> %s�fallo al descartar el caché para: %s�fallo al extender %s�fallo al encontrar %s�fallo al obtener los permisos de %s�fallo al obtener el contexto actual�fallo al obtener el contexto de creación del sistema de ficheros�fallo al obtener los grupos del proceso actual�fallo al obtener los grupos del usuario %s�fallo al obtener el contexto de seguridad de %s�fallo al buscar el fichero %s�No se puede abrir %s�fallo al conservar el autor de %s�fallo al conservar el propietario de %s�fallo al conservar los permisos de %s�fallo al conservar la fecha de %s�fallo al redireccionar la salida de error estándar�fallo al redireccionar la salida de error estándar a /dev/null�fallo al borrar %s�fallo al borrar el directorio %s�fallo al establecer la salida estándar como no utilizable�fallo al reabrir %s con modo %s�fallo al restaurar el contexto de creación de fichero predeterminado�no se puede volver al directorio de trabajo inicial�fallo al ejecutar la orden %s�fallo al ejecutar la orden: "%s -c %s�fallo al establecer componente %s del contexto de seguridad a %s�fallo al establecer la variable de entorno FILE�fallo al establecer grupos adicionales�fallo al obtener el contexto de creación de ficheros predeterminado para %s�fallo al establecer el ID del grupo�fallo al establecer nuevo rango %s�fallo al establecer nuevo rol %s�fallo al establecer nuevo tipo %s�fallo al establecer nuevo usuario %s�fallo al establecer el grupo o grupos suplementarios�fallo al establecer que la copia de stderr se cierre al hacer `exec'�fallo al establecer el contexto de seguridad de %s a %s�fallo al establecer el ID del usuario�fallo al efectuar stat sobre %s�fallo al desactivar O_DIRECT: %s�fallo al actualizar el entorno con %s�fdatasync falló para %s�fflush falló�el número de campo %s es demasiado grande�el número de campo es cero�los campos y posiciones se numeran a partir de 1�`fifo'�el fichero %d no está ordenado�los ficheros operando no se pueden combinar con --files0-from.�los ficheros operando no se pueden combinar con --print-database (-p).�el sistema de ficheros %s está simultánemente seleccionado y excluido�falló la llamada al sistema `fork'�el formato %s termina en %%�el formato %s no tiene ninguna directiva %%�el formato %s tiene demasiadas directivas %%�el formato %s tiene una directiva %%%c desconocida�la cadena de formato no debe especificarse cuando se muestran cadenas de la misma anchura�falló fsync para %s�fts_close falló�fts_read falló�fts_read falló: %s�obteniendo nuevos permisos de %s�el grupo de %s permanece como %s �la función iconv no está disponible�la función iconv no es utilizable�id=�no se tendrá en cuenta ningún argumento�no se tendrá en cuenta la entrada�se descarta la entrada y se añade la salida a %s�se descarta la entrada y se redirige la salida de error a la salida estándar�se descarta el tamaño de `tab' inválido de la variable de entorno TABSIZE: %s�se descarta el valor inválido de la variable de entorno QUOTING_STYLE: %s�se descarta el ancho inválido de la variable de entorno COLUMNS: %s�los argumentos que no son opciones no serán tenidos en cuenta�campos de unión %lu, %lu incompatibles�tabulaciones incompatibles�no se puede usar `inotify', se vuelve a `polling'�se han agotado los recursos `inotify'�la entrada dejó de existir�la línea de entrada es demasiado larga�falló el movimiento entre distintos dispositivos: de %s a %s; no se puede borrar el objetivo�argumento --%s inválido %s�ajuste inválido %s�argumento inválido %s�argumento %s inválido para %s�estilo de numeración de cuerpo inválido: %s�modo de búfer %s inválido para %s �clase de carácter inválido %s�contexto inválido: %s�conversión inválida�el especificador de conversión indicado en el sufijo no es válido: %c�el especificador de conversión indicado en el sufijo no es válido: \%.3o�fecha inválida %s�formato de fecha inválido %s�rango decreciente inválido�dispositivo inválido %s %s�tipo de dispositivo inválido %s�número de campo inválido: %s�la especificación del campo no es válida: %s�ancho de campo inválido: %s�número de fichero inválido en la especificación del campo: %s�opciones inválidas en la especificación de conversión: %%%c%c�argumento de coma flotante inválido: %s�estilo de numeración de pie inválido: %s�ancho de salto inválido: %s�grupo inválido�grupo inválido %s�lista de grupos inválida %s�grupo inválido: %s�estilo de numeración de cabecera inválido: %s�entrada inválida�opción de entrada inválida�rango de entrada inválido %s�entero inválido %s�argumento entero inválido %s�contador de líneas inválido %s�disciplina de línea inválida %s�ancho para el número de línea inválido: %s�incremento de línea inválido: %s�formato de numeración de líneas inválido: %s�ancho de línea inválido: %s�número principal de dispositivo inválido %s�profundidad máxima inválida %s�número secundario de dispositivo inválido %s�modo inválido�modo inválido %s�modo inválido: %s�número inválido %s�número inválido al comienzo del campo�número de líneas vacías inválido: %s�el número de bytes no es válido�el número de bytes que hay que comparar es inválido�el número de bytes que se deben saltar es inválido�el número de columnas no es válido %s�el número de campos que se deben saltar es inválido�el número de líneas no es válido�opción inválida -- %c�opción inválida -- %c; -ANCHO solamente se reconoce cuando es la primera opción; utilice -w N en su lugar�opción de salida inválida�rango de páginas inválido %s�precisión inválida: %s�rango inválido sin punto de final: -�número de repeticiones %s inválido en la especificación [c*n]�especificación inválida�número de comienzo de línea inválido: %s�opción de estado inválida�sufijo inválido %s, contiene el separador de directorios�tamaño del `tab' inválido: %s�plantilla inválida, %s, contiene separador de directorios�plantilla inválida, %s; con --tmpdir, no puede ser absoluta�intervalo de tiempo inválido %s�formato de estilo de fecha inválido %s�opción inválida al final -- %c�tipo de cadena inválido %s�tipo de cadena inválido %s; este sistema no dispone de un tipo de coma flotante de %lu bytes�tipo de cadena inválido %s; este sistema no posee el tipo de entero de %lu bytes�el nombre de carácter universal \%c%0*x es inválido�usuario inválido�usuario inválido %s�ancho inválido: %s�tamaño del `wrap' inválido: %s�nombre de fichero de longitud cero inválido�es peligroso operar recursivamente sobre %s�es peligroso operar recursivamente sobre %s (igual que %s)�la clave %lu tiene ancho cero y no se tendrá en cuenta�la clave %lu es numérica y abarca varios campos�último=�El límite %lu ha sido excedido por la longitud %lu del nombre del fichero %s�El límite %lu ha sido excedido por la longitud %lu del componente de nombre de fichero %s�no tiene sentido un búfer de línea con la entrada estándar�opción de contador de líneas -%s%c... demasiado grande�el número de línea %s es menor que el número de línea anterior, %s�desbordamiento en el número de línea�el argumento --%s máximo con el rlimit actual es %s�memoria agotada�memoria agotada por búfer de entrada de %zu bytes (%s)�memoria agotada por un búfer de salida de %zu bytes (%s)�cola de mensajes�el argumento --%s mínimo es %s�las construcciones [:upper:] y/o [:lower:] están desalinedas�falta el especificador de conversión %% en el sufijo�falta un argumento después de %s�falta el argumento de %s�falta el especificador de conversión en el sufijo�falta el fichero de destino después de %s�falta un fichero como operando�falta un número hexadecimal en la secuencia de escape�falta la lista de campos�falta la lista de posiciones�falta un operando�falta un operando después de %s�el modo solamente debe especificar los bits de permisos del fichero�el modo de %s cambia de %04lo (%s) a %04lo (%s) �el modo de %s permanece como %04lo (%s) �moviendo la tubería de entrada�tab multicarácter %s�se han especificado varias opciones -i�se han especificado varias opciones -l o -t�se han especificado varios programas de compresión�se han especificado varios delimitadores�se han especificado varios rangos de nivel�se han especificado varios ficheros de salida�se han especificado varios formatos de salida�se han especificado varios ficheros de origen�se han especificado varios modificadores relativos�se han especificado varios roles�se han especificado varios directorios de destino�se han especificado varios tipos�se han especificado varios usuarios�ni el enlace simbólico %s ni su referente ha cambiado �no hay variable de entorno SHELL, y no se ha especificado la opción del tipo de shell�no cambia el propietario de %s �no se ha especificado ninguna orden�no se ha procesado ningún sistema de ficheros�no queda ningún fichero�no hay entrada desde %s�no hay ningún nombre de `login'�no se ha especificado ningún ID de proceso�no se puede especificar tipo cuando se vuelcan cadenas�no se ha especificado ningún nombre de usuario, hay que especificar al menos uno cuando se usa -l�argumento no entero�carácter %s no transportable en la cadena de modo %s�no es un `tty'�no se escribirá a través del enlace colgado %s�el número en %s es demasiado grande�el número en paralelo debe ser distinto de cero�número de bytes�número de líneas�desbordamiento de desplazamiento leyendo el fichero %s�se omite el directorio %s�en cadena2 sólo puede aparecer un operador de repetición [c*]�sólo se puede especificar un dispositivo�solamente se puede especificar un tipo de lista�fallo al abrir�opción utilizada en un contexto inválido -- %c�las opciones --backup y --no-clobber son mutuamente excluyentes�las opciones --compare (-C) y --preserve-timestamps son mutuamente excluyentes�las opciones --compare (-C) y --strip son mutuamente excluyentes�se han agotado los sufijos para los ficheros de salida�desbordamiento al extender el tamaño del fichero %s�desbordamiento al redondear hacia arriba el tamaño del fichero %s�el propietario de %s se mantiene �el propietario de %s permanece como %s �desbordamiento del número de página�ancho de página demasiado estrecho�se conservan los permisos de %s�se conserva las fechas de %s�mostrar todas las líneas duplicadas y los contadores de repetición no tiene sentido�error de lectura�fallo al leer�leyendo el directorio %s�registro demasiado grande�se redirige la salida de error a la salida estándar�fichero regular vacío�fichero regular�%s borrado �directorio borrado: %s �borrando el directorio, %s�`run-level'�semáforo�el separador no puede ser nulo�establezca LC_ALL='C' para solucionar este problema de forma temporal.�estableciendo opciones para %s�estableciendo los permisos de %s�estableciendo la fecha de %s�objeto de memoria compartida�skip-bytes + read-bytes es demasiado grande�se salta %s, dado que está en un sistema de ficheros distinto�saltando el fichero %s, ya que fue reemplazado mientras se copiaba�`socket'�salida de error estándar�entrada estándar�la entrada estándar está cerrada�salida estándar�fallo en `stat'�salida de error estándar�entrada estándar�salida estándar�carácter extraño en el especificador de campo�la comparación de cadenas falló�la transformación de cadenas falló�el proceso strip terminó anormalmente�suprimir las líneas no delimitadas solamente tiene sentido cuando se procesan campos�enlace simbólico�error de sintaxis�arranque del sistema�el tamaño de tabulación no puede ser 0�el tamaño de tabulación contiene uno o varios caracteres inválidos: %s�las posiciones de tabulación deben ir en orden creciente�la parada de tabulación es demasiado grande %s�la parada de tabulación es demasiado grande�las tabulaciones están demasiado separadas�el objetivo %s no es un directorio�no se permite un directorio de destino cuando se instala un directorio�term=�test y/o [�las opciones --binary y --text no tienen sentido cuando se verifican sumas de comprobación�la opción --compare (-C) no se tiene en cuenta cuando se especifica un modo con bits de no permiso�la opción --quiet sólo tiene sentido cuando se verifican sumas de comprobación�la opción --status sólo tiene sentido cuando se verifican sumas de comprobación�la opción --strict sólo tiene sentido cuando se verifican sumas de comprobación�la opción --warn sólo tiene sentido cuando se verifican sumas de comprobación�las expresiones [c*] sólo pueden aparecer en cadena2 al traducir�el operador de repetición [c*] no puede aparecer en cadena1�el delimitador debe ser un sólo carácter�las opciones para estilos de salida explícitos y legibles para terminal son mutuamente excluyentes�las opciones para mostrar la base de datos interna de dircolors y para seleccionar una sintaxis para el shell son mutuamente excluyentes�las opciones para mostrar y establecer la hora no se pueden utilizar a la vez�las opciones para especificar la fecha son mutuamente excluyentes�las cadenas comparadas eran %s y %s.�la opción strip no se puede usar cuando se instala un directorio�la longitud del sufijo debe ser al menos %zu�la cadena sin transformar era %s.�la fecha %s está fuera de rango�para usar el ID de usuario %s necesita usar -g también�insuficiente número de X en la plantilla %s�demasiados especificadores de conversión %% en el sufijo�demasiados caracteres en el conjunto�demasiadas líneas repetidas�demasiadas plantillas�total�fallo al atravesar: %s�objeto de memoria con tipo�no se puede mostrar un mensaje de error�no se puede registrar el directorio de trabajo actual�no se puede establecer el contexto de seguridad %s�fallo inesperado: fts_info=%d: %s por favor comuníqueselo a %s�operador binario desconocido�estado desconocido de la orden (0x%X)�flujo desconocido�ID de usuario desconocido: %s�valor ininteligible para la variable de entorno LS_COLORS�operando no reconocido %s�prefijo no reconocido: %s�arriba %ld día %2d:%02d, �arriba %ld días %2d:%02d, �arriba ¿¿?? días ¿¿:??, �utilice --no-preserve-root para saltarse esta medida de seguridad�se utilizan las reglas de ordenación %s�usar %s para denotar la entrada estándar no funciona en el modo de sistema de ficheros�se utiliza la comparación simple de bytes�esperando a %s [-d]�esperando al proceso hijo�esperando a strip�atención: %s: los caracteres que siguen a la constante de caracteres no se han tenido en cuenta�atención: %s: fallo al cambiar el contexto a %s�atención: no se admite --pid=PID en este sistema�atención: --retry es útil principalmente cuando se sigue por nombre�atención: PID descartado; --pid=PID solamente es útil cuando se sigue�atención: una barra invertida sin escape al final de la cadena no es transportable�atención: barra invertida al final del formato�atención: no se puede borrar: %s�atención: la desactivación de volcados de core ha fallado�atención: seguir la entrada estándar indefinidamente no es efectivo�atención: se descartan los argumentos que sobran, comenzando por %s�atención: desplazamiento inválido después de la lectura fallida�atención: ancho %lu inválido; se usará %d en su lugar�atención: el número de línea %s es el mismo que el anterior�atención: se ha especificado el fichero origen %s más de una vez�atención: resumir entra en conflicto con --max-depth=%lu�atención: resumir es lo mismo que usar --max-depth=0�atención: la secuencia de escape octal ambigua \%c%c%c se interpreta como la secuencia de 2 bytes \0%c%c, %c�atención: timer_create�atención: timer_settime�atención: solucionando provisionalmente un bicho del núcleo relacionado con lseek para el fichero (%s) de mt_type=0x%0lx; consulte la lista de tipos en <sys/mtio.h>�fichero extraño�si no se está truncando conjunto1, cadena2 debe ser no vacía�cuando se leen nombres de ficheros de la entrada estándar, no se permite un nombre de fichero de %s�cuando se especifica un estilo de salida, no se pueden establecer los modos�cuando se traducen con clases de caracteres complementarias (que no coinciden), cadena2 debe hacer corresponder todos los caracteres del dominio a uno solo�cuando se traduce con cadena1 más larga que cadena2, la segunda cadena no debe terminar con una clase de caracteres�no se copiará %s a través del enlace simbólico %s recién creado�no se crea el enlace duro %s al directorio %s�no se sobreescribirá el fichero %s recién creado con %s�con --parents, el destino debe ser un directorio�con --suffix, la plantilla %s debe terminar en X�con FILE=%s, sale con %d de la orden: %s�con FILE=%s, envía la señal %s a la orden: %s�error de escritura�error de escritura para %s�error al escribir�escribiendo en %s�se debe especificar -c, -t, -u, -l, -r, o contexto�se debe indicar una lista de bytes, caracteres o campos�debe especificar un %s relativo con %s�debe especificar o bien %s o bien %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% registros leídos %+% registros escritos �% registro truncado �% registros truncado �% byte (%s) copiado�% bytes (%s) copiados�desplazamiento demasiado grande: no se puede truncar a una longitud de seek=% bloques (%lu bytes)�fallo al truncar a % bytes el fichero de salida %s�fallo al asignar espacio para un búfer stdio de % bytes �%s: %: línea de suma de comprobación %s con formato erróneo�ATENCIÓN: %: línea tiene un formato erróneo�ATENCIÓN: %: líneas tienen un formato erróneo�ATENCIÓN: no se pudo leer % fichero listado�ATENCIÓN: no se pudieron leer % ficheros listados�ATENCIÓN: % suma calculada NO coincidió�ATENCIÓN: % sumas calculadas NO coincidieron�el número de página de comienzo % sobrepasa el número de páginas %�Página %�desbordamiento en bloques de % * % bytes para el fichero %s�fallo al truncar %s a % bytes������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/id.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001513534�12107204510�011724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Pesan Bahasa Indonesia untuk coreutils # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: coreutils 8.4\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2010-01-16 08:45+0700\n" "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argumen %s tidak valid untuk %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argumen %s ambigu untuk %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Argumen yang valid adalah:" #: lib/closein.c:100 msgid "error closing file" msgstr "error menutup berkas" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "error menulis" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "menyimpan permission untuk %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "System error tidak diketahui" #: lib/file-type.c:38 msgid "regular empty file" msgstr "berkas kosong regular" #: lib/file-type.c:38 msgid "regular file" msgstr "berkas regular" #: lib/file-type.c:41 msgid "directory" msgstr "direktori" #: lib/file-type.c:44 msgid "block special file" msgstr "berkas blok spesial" #: lib/file-type.c:47 msgid "character special file" msgstr "berkas karakter spesial" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "link simbolik" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "pesan antrian" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaphore" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objek memori dibagi" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objek memori diketik" #: lib/file-type.c:70 msgid "weird file" msgstr "berkas aneh" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Alamat untuk hostname tidak dilayani" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Kegagalan sementara dalam resolusi nama" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Nilai buruk untuk ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Gagal tidak dapat diperbaiki dalam resolusi nama" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family tidak didukung" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Gagal mengalokasikan memori" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Tidak ada alamat yang berasosiasi dengan hostname" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nama atau layanan tidak diketahui" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname tidak dilayani untuk ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype tidak didukung" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Sistem error" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumen buffer terlalu kecil" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Permintaan pemrosesan dalam perkembangan" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Permintaan dibatalkan" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Permintaan tidak dibatalkan" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Semua permintaan selesai" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interupsi oleh sebuah sinyal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parameter string tidak secara benar dikodekan" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Error tidak diketahui" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: pilihan '%s' adalah ambigu\n" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: pilihan '--%s' tidak memperbolehkan sebuah argumen\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: pilihan '%c%s' tidak memperbolehkan sebuah argumen\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: pilihan tidak dikenal '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: pilihan tidak dikenal '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: pilihan tidak valid -- '%c'\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: pilihan '-W %s' adalah ambigu\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: pilihan '-W %s' tidak memperbolehkan sebuah argumen\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "tidak dapat merubah ijin dari %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "tidak dapat membuat direktori %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "kehabisan memori" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "tidak dapat menyimpan direktori kerja sekarang" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "gagal kembali ke direktori kerja awal" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: akhir dari berkas" #: lib/regcomp.c:131 msgid "Success" msgstr "Sukses" #: lib/regcomp.c:134 msgid "No match" msgstr "Tidak cocok" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ekspresi regular tidak valid" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Karakter kolasi tidak valid" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nama kelas karakter tidak valid" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Tambahan backslash" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Referensi kembali tidak valid" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Tidak cocok [ atau [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Tidak cocok ( atau \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Tidak cocok \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Isi dari \\{\\} tidak valid" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Jangkauan akhir tidak valid" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Kehabisan memori" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ekspresi regular awal tidak valid" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Akhir dari ekspresi regular prematur" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Ekspresi regular terlalu besar" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Tidak cocok ) atau \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Tidak ada ekspresi regular sebelumnya" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "ini berbahaya untuk mengoperasikan secara rekursif di %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" "ini berbahaya untuk mengoperasikan secara rekursif di %s (sama seperti %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "gunakan --no-preserve-root untuk memaksa gagal-aman ini" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[tT]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "menset ijin untuk %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Putus" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interupsi" #: lib/siglist.h:37 msgid "Quit" msgstr "Berhenti" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Instruksi tidak legal" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Jejak/titik-balik perangkap" #: lib/siglist.h:46 msgid "Aborted" msgstr "Batalkan" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Eksepsi titik pecahan" #: lib/siglist.h:52 msgid "Killed" msgstr "Terbunuh" #: lib/siglist.h:55 msgid "Bus error" msgstr "Bus error" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Kesalahan segmentasi" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Pipa rusak" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Jam alarm" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminasi" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Kondisi penting I/O" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Terhenti (sinyal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Dihentikan" #: lib/siglist.h:79 msgid "Continued" msgstr "Dilanjutkan" #: lib/siglist.h:82 msgid "Child exited" msgstr "Anak keluar" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Terhenti (masukan tty)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Terhenti (keluaran tty)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O memungkinkan" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "batas waktu CPU dilewati" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Batas ukuran berkas dilewati" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Pewaktu maya habis" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Pewaktu profiling habis" #: lib/siglist.h:106 msgid "Window changed" msgstr "Jendela berubah" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Sinyal didefinisikan pengguna 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Sinyal didefinisikan pengguna 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "jebakan EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Panggilan sistem buruk" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Kegagalan stack" #: lib/siglist.h:126 msgid "Information request" msgstr "Permintaan informasi" #: lib/siglist.h:128 msgid "Power failure" msgstr "Kegagalan penyuplai listrik" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Kehilangan sumber daya" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "tidak dapat membuat fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: gagal mencari" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Sinyal waktu-nyata %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Sinyal %d tidak diketahui" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "fungsi iconv tidak berguna" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "fungsi iconv tidak tersedia" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "karakter diluar dari jangkauan" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "tidak dapat mengubah U+%04X ke karakter set lokal" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "tidak dapat mengubah U+%04X ke karakter set lokal: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "pengguna tidak valid" #: lib/userspec.c:107 msgid "invalid group" msgstr "grup tidak valid" #: lib/userspec.c:108 msgid "invalid spec" msgstr "spesifikasi tidak valid" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "tidak dapat menampilkan pesan kesalahan" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Dipaket oleh %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Dipaket oleh %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Lisensi GPLv3+; GNU GPL versi 3 atau selanjutnya <http://gnu.org/licenses/" "gpl.html>\n" "Ini adalah software bebas; anda bebas untuk mengubah dan " "mendistribusikannya.\n" "Tidak ada GARANSI, selama masih diijinkan oleh hukum.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ditulis oleh %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ditulis oleh %s dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ditulis oleh %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, dan %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ditulis oleh %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, dan yang lain.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Laporkan bugs ke: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Laporkan %s bugs ke: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s halaman rumah: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s halaman rumah: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Bantuan umum menggunakan aplikasi GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "gagal membuka" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "Aliran tidak diketahui" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "gagal untuk membuka kembali %s dengan mode %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "gagal membandingkan string" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Set LC_ALL='C' untuk memperbaiki masalah." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "String yang dibandingkan adalah %s dan %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "Tidak dapat menjalankan keluaran yang terformat" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "arguemn `%s' tidak valid %s%s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "akhiran dalam %s%s tidak valid argumen `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s argumen `%s' terlalu besar" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Penggunaan: %s [PILIHAN] [BERKAS]\n" "Base64 enkode atau dekode BERKAS, atau masukan standar, ke keluaran " "standar.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca masukan standar.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Data yang dienkode seperti yang dijelaskan untuk base64 alphabet dalam RFC " "3548.\n" "Ketika mendekode, masukan mungkin berisi baris baru sebagai tambahan ke " "bytes dari\n" "alphabet format dari base64. Gunakan --ignore-garbage untuk mencoba untuk " "merekover\n" "dari karakter bukan alphabet bytes dalam stream yang dienkode.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "error baca" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "masukan tidak valid" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ukuran wrap tidak valid: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "extra operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "menutup masukan standar" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Penggunaan: %s NAMA [AKHIRAN]\n" " atau: %s PILIHAN\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Tampilkan NAMA dengan komponen awal direktori dihilangkan.\n" "Jika dispesifikasikan, juga hapus sebuah akhiran SUFFIX.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "operand hilang" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Penggunaan: %s [PILIHAN]... [BERKAS]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatenate BERKAS, atau masukan standar, atau keluaran standar.\n" "\n" " -A, --show-all sama dengan -vET\n" " -b, --number-nonblank jumlah baris keluaran tidak kosong\n" " -e sama dengan -vE\n" " -E, --show-ends tampilkan $ diakhir setiap baris\n" " -n, --number nomori seluruh baris keluaran\n" " -s, --squeeze-blank tekan baris keluaran kosong yang berulang\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t sama dengan -vT\n" " -T, --show-tabs tampilkan karakter TAB seperti ^I\n" " -u (diabaikan)\n" " -v, --show-nonprinting gunakan ^ dan M- notasi, kecuali untuk LFD dan " "TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Contoh:\n" " %s f - g Keluarkan isi f, kemudian masukan standar, kemudian isi g.\n" " %s Salin masukan standar ke keluaran standar.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "tidak dapat melakukan ioctl di %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "keluaran standar" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: berkas masukan adalah berkas keluaran" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russel Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "gagal untuk membuat konteks keamanan: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "gagal menset %s kontek keamanan komponen ke %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "gagal untuk memperoleh konteks keamanan dari %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "tidak dapat mengapply konteks pecahan ke berkas yang tidak bernama %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "gagal untuk mengubah konteks dari %s ke %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "tidak dapat mengakses %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "tidak dapat membaca direktori %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "mengubah konteks keamanan dari %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read gagal" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close gagal" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [PILIHAN]... BERKAS KONTEKS...\n" " atau: %s [PILIHAN]... [-u PENGGUNA] [-r ROLE] [-l JANGKAUAN] [-t TIPE] " "BERKAS...\n" " atau: %s [PILIHAN]... --reference=RFILE BERKAS...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Ubah konteks keamanan dari setiap BERKAS ke KONTEKS.\n" "Dengan --reference, ubah konteks keamanan dari setiap BERKAS ke RFILE.\n" "\n" " -h, --no-dereference mempengaruhi sambungan simbolik daripada referensi " "ke berkas apapun\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USER set user PENGGUNA dalam target konteks keamanan\n" " -r, --role=ROLE set role ROLE dalam target konteks keamanan\n" " -t, --type=TYPE set type TIPE dalam target konteks keamanan\n" " -l, --range=RANGE set range RANGE dalam target konteks keamanan\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root jangan perlakukan `/' spesial (default)\n" " --preserve-root gagal beroperasi secara rekursif di `/'\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFILE gunakan RFILE konteks keamanan daripada " "menspesifikasikan\n" " sebuah nilai KONTEKS\n" " -R, --recursive beroperasi di berkas dan direktori secara rekursif\n" " -v, --verbose mengeluarkan sebuah diagnosa untuk setiap berkas " "yang diproses\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Pilihan berikut memodifikasi bagaimana sebuah hierarki ditelusuri ketika\n" "pilihan -R juga dispesifikasikan. Jika lebih dari satu dispesifikasikan, " "hanya\n" "yang terakhir yang memiliki efek.\n" "\n" " -H jika sebuah argumen baris perintah adalah sebuah " "link simbolik\n" " ke sebuah direktori, telusuri itu\n" " -L telusuri ke seluruh link simbolik ke sebuah " "direktori\n" " yang ditemui\n" " -P jangan menelusuri link simbolik apapun (default)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference membutuhkan baik -H atau -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h membutuhkan -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "hilang operand setelah %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "konteks tidak valid: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "konteks keamanan konflik dengan spesifikasi yang diberikan" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "gagal untuk memperoleh atribut dari %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "invalid grup: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [PILIHAN]... BERKAS GRUP...\n" " atau: %s [PILIHAN]... --reference=RFILE BERKAS...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Ubah konteks keamanan dari setiap BERKAS ke KONTEKS.\n" "Dengan --reference, ubah konteks keamanan dari setiap BERKAS ke RFILE.\n" "\n" " -h, --no-dereference mempengaruhi sambungan simbolik daripada referensi " "ke berkas apapun\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference afek setiap link simbolik daripada referensi " "apapun\n" " berkas (hanya berguna di sistem yang dapat merubah\n" " kepemilikan dari link simbolik)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Contoh:\n" " %s staff /u Ubah grup dari /u ke \"staff\".\n" " %s -hR staff /u Ubah grup dari /u dan berkas dibawahnya ke \"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "memperoleh atribut baru dari %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "bukan link simbolik %s ataupun referensi yang telah diubah\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "mode dari %s diubah menjadi %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "gagal untuk mengubah mode dari %s ke %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "mode dari %s dijaga sebagai %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "tidak dapat beroperasi di simlink dangling %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "mengubah ijin dari %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: ijin baru adalah %s, bukan %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [PILIHAN]... MODE[,MODE]... BERKAS...\n" " atau: %s [PILIHAN]... MODE-OKTAL BERKAS...\n" " atau: %s [PILIHAN]... --reference=RFILE BERKAS...\n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Ubah konteks keamanan dari setiap BERKAS ke KONTEKS.\n" "Dengan --reference, ubah konteks keamanan dari setiap BERKAS ke RFILE.\n" "\n" " -h, --no-dereference mempengaruhi sambungan simbolik daripada referensi " "ke berkas apapun\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFILE gunakan RFILE konteks keamanan daripada " "menspesifikasikan\n" " sebuah nilai KONTEKS\n" " -R, --recursive beroperasi di berkas dan direktori secara rekursif\n" " -v, --verbose mengeluarkan sebuah diagnosa untuk setiap berkas " "yang diproses\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Setiap MODE adalah dalam bentuk '[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "tidak dapat mengkombinasikan mode dan pilihan --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "mode tidak valid: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "ubah kepemilikan dari %s ke %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "ubah grup dari %s ke %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "tidak merubah kepemilikan dari %s\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "gagal untuk mengubah kepemilikan dari %s ke %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "gagal untuk mengubah grup dari %s ke %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "gagal untuk mengubah kepemilikan dari %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "gagal untuk mengubah kepemilikan dari %s ke %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "gagal untuk mengubah grup dari %s ke %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "kepemilikan dari %s tetap sebagai %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "grup dari %s tetap sebagai %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "kepemilikan dari %s tetap\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "tidak dapat dereferensi %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "mengubah kepemilikan dari %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "mengubah grup dari %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Penggunaan: %s [PILIHAN]... [PEMILIK][:[GRUP]] BERKAS...\n" " atau: %s [PILIHAN]... --reference=RFILE BERKAS...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " ubah pemilik dan/atau grup dari setiap berkas hanya " "jika\n" " pemilik dan/atau grup sekarang cocok dengan yang " "dispesifikasikan\n" " disini. Bisa diabaikan, dimana sebuah kasus cocok\n" " tidak dibutuhkan untuk mengabaikan atribut.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Pemilik tidak diubah jika hilang. Grup tidak diubah jika hilang, tetapi " "ubah\n" "ke grup login jika diimplikasikan oleh sebuah `:' diikuti sebuah simbolik " "PEMILIK.\n" "PEMILIK dan GRUP boleh berupa numerik seperti juga simbolik.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Contoh:\n" " %s root /u Ubah pemilik dari /u ke \"root\".\n" " %s root:staff /u Seperti, tetapi juga ubah grupnya ke \"staff\".\n" " %s -hR root /u Ubah pemilik dari /u dan subfiles ke \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "grup tidak valid %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "daftar grup tidak valid %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "gagal untuk menset grup tambahan" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s [PILIHAN] NEWROOT [PERINTAH [ARG]...]\n" " atau: %s PILIHAN\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Jalankan PERINTAH dengan direktori root set ke NEWROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=PENGGUNA:GRUP spesifikasikan pengguna dan grup (ID atau nama) " "yang digunakan\n" " --groups=G_LIST spesifikasikan grup tambahan sebagai g1,g2,..,gN\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Jika tidak ada perintah yang diberikan, jalankan ``${SHELL} -i'' (default: /" "bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "tidak dapat mengubah direktori root ke %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "tidak dapat chdir ke direktori root" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "gagal untuk menset ID grup" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "gagal untuk menset ID pengguna" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "gagal menjalankan perintah %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: berkas terlalu panjang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Penggunaan: %s [BERKAS]...\n" " atau: %s [PILIHAN]...\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Tampilkan checksum CRC dan jumlah byte dari setiap BERKAS\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Penggunaan: %s [PILIHAN]... BERKAS1 BERKAS2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Bandingkan berkas terurut BERKAS1 dan BERKAS2 baris demi baris.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Dengan tanpa pilihan, menghasilkan keluaran tiga kolom. Kolom satu berisi\n" "baris unik ke BERKAS1, kolom dua berisi baris unik ke BERKAS2.\n" "dan kolom tiga berisi baris umum ke kedua berkas.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 tekan kolom 1 (baris unik ke BERKAS1)\n" " -2 tekan kolom 2 (baris unik ke BERKAS2)\n" " -3 tekan kolom 3 (baris yang timbul di kedua berkas)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order periksa bahwa masukan adalah secara benar diurutkan, " "meskipun\n" " jika seluruh masukan baris dapat dipasangkan\n" " --nocheck-order jangan periksa masukan adalah diurutkan secara benar\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR pisahkan kolom dengan STR\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Catat, perbandingan menghargai aturan dispesifikasikan oleh `LC_COLLATE'.\n" #: src/comm.c:137 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Contoh:\n" " %s -12 berkas1 berkas2 Hanya cetak baris yang ada dalam berkas1 dan " "berkas2.\n" " %s -3 berkas1 berkas2 Cetak baris dalam berkas1 bukan dalam berkas2, dan " "sebaliknya.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "berkas %d ada dalam keadaan tidak terurut" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "banyak pembatas dispesifikasikan" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "kosong %s tidak diperbolehkan" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "error membaca %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "tidak dapat lseek %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "error menulis %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "gagal memperolek konteks sekarang" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "tulis gagal" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "gagal untuk membuka %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "menghapus ijin untuk %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "gagal untuk menjaga kepemilikan untuk %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "gagal untuk menlookup berkas %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "gagal untuk menjaga kepengarangan untuk %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "tidak dapat membuka %s untuk dibaca" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "tidak dapat fstat %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "melewati berkas %s, seperti ini ditimpa ketika sedang disalin" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "gagal memperoleh file sysmte create context" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "gagal untuk menset konteks keamanan dari %s ke %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "tidak dapat menghapus %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "menghapus %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "tidak menulis melalui dangling symlink %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "tidak dapat membuat berkas regular %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "gagal untuk menutup %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "menjaga waktu untuk %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "gagal untuk membuka %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: mencoba untuk menulis %s, mengoveride mode %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: menimpa %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (backup: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "gagal merestore ke default berkas konteks pembuatan" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "tidak dapat membuah link keras %s ke %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "tidak dapat memperoleh statistik %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "mengabaikan direktori %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "peringatan: berkas sumber %s dispesifikasikan lebih dari sekali" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s dan %s adalah berkas yang sama" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "tidak dapat menimpa bukan-direktori %s dengan direktori %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "tidak akan menimpa baru dibuat %s dengan %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "tidak dapat menimpa direktori %s dengan bukan-direktori" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "tidak dapat memindahkan direktori ke bukan-direktori: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "backing up %s akan menghancurkan sumber; %s tidak dipindah" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "backing up %s akan menghancurkan sumber; %s tidak disalin" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "tidak dapat membackup %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "tidak akan disalin %s melalui baru-dibuat symlink %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "tidak dapat menyalin sebuah direktori, %s, kedalam diri sendiri, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "tidak akan membuah link keras %s ke direktori %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" "tidak dapat memindahkan %s ke sebuah subdirektori dari direktori itu " "sendiri, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "tidak dapat memindahkan %s ke %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "inter-device pindah gagal; %s ke %s; tidak dapat menghapus target" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "gagal untuk menset default berkas pembuatan konteks ke %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "tidak dapat menyalin cyclic link simbolik %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: dapat membuat relative link simbolik hanya dalam direktori sekarang" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "tidak dapat membuat link simbolik %s ke %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "tidak dapat membuat fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "tidak dapat membuah berkas spesial %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "tidak dapat membaca link simbolik %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "tidak dapat membuat link simbolik %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s memiliki tipe berkas tidak diketahui" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "tidak dapat un-backup %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (unbackup)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Penggunaan: %s [PILIHAN]... [-T] SUMBER TUJUAN\n" " atau: %s [PILIHAN]... SUMBER... DIREKTORI\n" " atau: %s [PILIHAN]... -t DIREKTORI SUMBER...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Salin SUMBER ke TUJUAN, atau multiple SUMBER ke DIREKTORI.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive sama seperti -dR --preserve=all\n" " --backup[=KONTROL] buat sebuah backup dari setiap berkas tujuan " "yang telah ada\n" " -b seperti --backup tetapi tidak menerima sebuah " "argumen\n" " --copy-contents salin isi dari berkas spesial ketika " "rekursif\n" " -d sama seperti --no-dereference --" "preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force jika sebuah berkas tujuan yang telah ada " "tidak dapat\n" " dibuka, hapus itu dan coba lagi\n" " -i, --interaktif tanya sebelum menimpa (memaksa sebuah pilihan " "-n\n" " sebelumnya)\n" " -H ikuti baris-perintah link simbolik dalam " "SUMBER\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link berkas link daripada menyalin\n" " -L, --dereference selalu mengikuti link simbolik dalam SUMBER\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber jangan paksa menulis sebuah berkas telah ada\n" " (memaksa pilihan -i sebelumnya)\n" " -P, --no-dereference jangan ikuti link simbolik dalam SUMBER\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p sama seperti --preserve=mode,kepemilikan," "timestamps\n" " --preserve[=ATTR_LIST] jaga atribut yang dispesifikasikan (baku:\n" " mode, kepemilikan,timestamps), jika " "memungkinkan\n" " atribut tambahan: context, links, xattr\n" " all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST jangan jaga atribut yang dispesifikasikan\n" " --parents gunakan full nama berkas sumber dibawah " "DIREKTORI\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive salin direktori secara rekursif\n" " --reflink[=KAPAN] kontrol salinan/CoW. Lihat dibawah.\n" " --remove-destination hapus setiap berkas tujuan yang telah ada " "sebelum\n" " mencoba untuk membukanya (kebalikan dengan --" "force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=KAPAN kontrol pembuatan dari berkas sparse. Lihat " "dibawah.\n" " --strip-trailing-slashes hapus akhiran slashes dari setiap SUMBER\n" " argumen\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link buat link simbolik daripada menyalin\n" " -S, --suffix=SUFFIX memaksa akhir backup biasa\n" " -t, --target-directory=DIRECTORY salin seluruh argumen SUMBER kedalam " "DIREKTORI\n" " -T, --no-target-directory perlakukan TUJUAN sebagai sebuah berkas " "normal\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update salin hanya ketika berkas SUMBER lebih baru\n" " daripada berkas tujuan atau ketika\n" " berkas tujuan hilang\n" " -v, --verbose jelaskan apa yang sedang dilakukan\n" " -x, --one-file-system tetap di sistem berkas ini\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Secara baku, sparse berkas SUMBER terdeteksi oleh sebuah crude heuristic " "dan \n" "berkas TUJUAN yang berhubungan dibuat sparse juga. Itu adalah perilaku\n" "yang dipilih oleh --sparse=auto. Spesifikasikan --sparse=always untuk " "membuat sebuah sparse\n" "berkas TUJUAN ketika berkas SUMBER berisi sebuah urutan panjang dari nol " "bytes.\n" "Gunakan --sparse=never untuk mencegah pembuatan dari berkas sparse.\n" "\n" "Ketika --reflink[=always] dispesifikasikan, lakukan penyalinan ringan, " "dimana \n" "data blok disalin hanya ketika termodifikasi. Jika ini tidak memungkinkan\n" "penyalinan akan gagal, atau jika --reflink=auto dispesifikasikan, kembali ke " "standar penyalinan.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Akhiran backup adalah `~', kecuali diset dengan --suffix atau " "SIMPLE_BACKUP_SUFFIX.\n" "Metode pengontrol versi mungkin dipilih melalui pilihan --backup atau " "melalui variabel lingkungan VERSION_CONTROL. Ini adalah nilainya:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off tidak pernah membuat backup (walaupun jika --backup " "diberikan)\n" " numbered, t buat backup bernomor\n" " existing, nil bernomor jika backup bernomor ada, simple jika tidak\n" " simple, never selalu membuat backup sederhana\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Seperti sebuah kasus spesial, cp membuat sebuah backup dari SOURCE ketika " "force dan backup\n" "pilihan diberikan dan SOURCE dan DEST memiliki nama sama untuk sebuah\n" "berkas regular yang telah ada.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "gagal untuk menjaga waktu untuk %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "gagal untuk menjaga ijin untuk %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "tidak dapat membuat direktori %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s ada tetapi bukan sebuah direktori" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "gagal untuk membuka %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "operand berkas hilang" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "berkas tujuan operand hilang setelah %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "tidak dapat mengkombinasikan --target-directory (-t) dan --no-target-" "directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "target %s bukan sebuah direktori" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "dengan --parents, tujuan harus berupa sebuah direktori" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "multiple target direktori dispesifikasikan" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "tidak dapat membuat hard dan simbolik link" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "pilihan --backup dan --no-clobber adalah mutually ekslusif" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink hanya dapat digunakan dengan --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipe backup" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "tidak dapat menjaga konteks keamanan tanpa sebuah kernel SELinux support" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "tidak dapat menjaga atribut ekstensi, cp dibuat tanpa dukungan xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "masukan hilang" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: nomor baris hilang dari jangkauan" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: nomor baris hilang dari jangkauan" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " repetisi di %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: cocok tidak ditemukan" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "error dalam pencarian ekspresi regular" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "error dalam penulisan untuk %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: integer diperkirakan setelah delimiter" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: `}' dibutuhkan dalam jumlah berulang" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: integer dibutuhkan diantara `{' dan `}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: menutup delimiter `%c' hilang" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ekspresi regular tidak valid: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: pola tidak valid" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: nomor baris harus lebih besar dari nol" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "nomor baris %s lebih kecil dari nomor baris sebelumnya, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "peringatan: nomor baris %s sama dengan nomor baris sebelumnya" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "hilang spesifikasi konversi dalam akhiran" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "spesifikasi konversi tidak valid dalam akhiran: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "spesifikasi konversi tidak valid dalam akhiran: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: spesifikasi konversi tidak valid" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "terlalu banyak %% spesifikasi konversi dalam akhiran" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "hilang %% spesifikasi konversi di akhiran" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: nomor tidak valid" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Penggunaan: %s [PILIHAN]... BERKAS POLA...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Mengeluarkan bagian dari BERKAS dipisahkan dengan POLA ke berkas `xx00', " "`xx01', ...,\n" "dan jumlah keluaran byte dari setiap potongan ke keluaran standar.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT gunakan sprintf FORMAT daripada %02d\n" " -f, --prefix=PREFIX gunakan PREFIX daripada `xx'\n" " -k, --keep-files jangan menghapus berkas keluaran di errors\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DIGITS gunakan spesifikasi jumlah dari digit daripada " "2\n" " -s, --quiet, --silent jangan menampilkan jumlah dari ukuran berkas " "keluaran\n" " -z, --elide-empty-files hapus keluaran berkas kosong\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Baca standard masukan jika BERKAS adalah -. Setiap POLA mungkin:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " INTEGER salin sampai tetapi tidak melibatkan nomor baris yang " "dispesifikasikan\n" " /REGEXP/[OFFSET] salin sampai tetapi tidak melibatkan baris yang cocok\n" " %REGEXP%[OFFSET] melewatkan, tetapi tidak melibatkan baris yang cocok\n" " {INTEGER} mengulang pola sebelumnya yang dispesifikasikan oleh " "jumlah dari waktu\n" " {*} mengulang pola sebelumnya sebanyak mungkin\n" "\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "fields dan posisi dinomori dari 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Penggunaan: %s PILIHAN... [BERKAS]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Tampilkan bagian dari baris yang dipilih dari setiap BERKAS ke keluaran " "standar.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIST pilih hanya bytes ini\n" " -c, --character=LIST pilih hanya karakter ini\n" " -d, --delimiter=DELIM gunakan DELIM daripada TAB untuk bagian pembatas\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIST pilih hanya bagian ini; juga tampilkan baris " "apapun\n" " yang berisi tidak ada karakter pembatas, kecuali\n" " pilihan -s dispesifikasikan\n" " -n (diabaikan)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement complement set dari bytes, karakter atau fields " "yang\n" " dipilih\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited jangan menampilkan baris tidak berisi pembatas\n" " --output-delimiter=STRING gunakan STRING sebagai pembatas keluaran\n" " sebagai default yang digunakan sebagai masukan " "delimiter\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Gunakan satu, dan hanya satu dari -b, -c atau -f. Setiap DAFTAR dibuat dari " "satu\n" "jangkauan, atau banyak jangkauan dipisahkan oleh koma. Input yang dipilih " "ditulis\n" "dalam urutan yang sama dengan waktu dibaca, dan ditulis tepat sekali.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Setiap jangkauan adalah satu dari:\n" "\n" " N byte, karakter atau field ke N, dihitung dari 1\n" " N- dari byte, karakter atau field ke N, ke akhir dari baris\n" " N-M dari N ke M (termasuk) byte, karakter atau field\n" " -M dari pertama ke M (termasuk) byte, karakter atau field\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "byte tidak valid atau daftar field" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "jangkauan tidak valid dengan tidak ada endpoint: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "jangkauan berkurang tidak valid" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "byte offset %s terlalu besar" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "nomor field %s terlalu besar" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "hanya satu tipe dari daftar yang boleh dispesifikasikan" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "pembatas harus berupa sebuah karakter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" "anda harus menspesifikasikan sebuah daftar dari bytes, karakter, atau fields" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "sebuah pembatas masukana mungkin dispesifikan hanya ketika beroperasi di " "fields" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "menekan non-delimited baris membuat masuk akal\n" "\thanya ketika beroperasi di fields" #: src/cut.c:870 msgid "missing list of fields" msgstr "hilang daftar dari fields" #: src/cut.c:872 msgid "missing list of positions" msgstr "hilang daftar dari posisi" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Penggunaan: %s [PILIHAN]... [+FORMAT]\n" " atau: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FILE menampilkan modifikasi waktu terakhir dari FILE\n" " -R, --rfc-2822 keluaran tanggal dan waktu di RFC 2822 format.\n" " Contoh: Mon, 07 Aug 2006 12:34:56 +0700\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --ufc-3339=TIMESPEC mengeluarkan tanggal dan jam dalam format RFC " "3339.\n" " TIMESPEC=`tanggal', `detik', atau `ns' untuk\n" " tanggal dan jam ke presisi yang diindikasikan.\n" " Tanggal dan jam komponen dipisahkan oleh\n" " sebuah spasi: 2006-08-07 12:34:56+07:00\n" " -s, --set=STRING set waktu dijelaskan oleh STRING\n" " -u, --utc, --universal menampilkan atau menset Coordinated Universal " "Time\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT kontrol dari keluaran. Urutan yang diinterpretasikan adalah:\n" "\n" " %% sebuah literal %\n" " %a locale penyingkatan nama weekday (contoh, Sun)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A locale's nama lengkap hari (contoh, Minggu)\n" " %b locale's singkatan nama bulan (contoh, Jan)\n" " %B locale's nama lengkap bulan (contoh, Januari)\n" " %c locale's tanggal dan waktu (contoh, Thu Mar 3 23:05:25 2005)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C abad; seperti %Y, kecuali mengabaikan dua digit terakhir (contoh, " "20)\n" " %d hari dari bulan (contoh, 01)\n" " %D tanggal; sama seperti %m/%d/%y\n" " %e hari dari bulan, spasi dipadded; sama seperti %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F tanggal lengkap; sama seperti %Y-%m-%d\n" " %g dua digit terakhir dari tahun dari ISO nomor minggu (lihat %G)\n" " %G tahun dari ISO nomor minggu (lihat %V); biasanya berguna hanya dengan " "%V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h sama seperti %b\n" " %H jam (00...23)\n" " %I jam (01...12)\n" " %j hari dari tahun (001...366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k jam ( 0..23)\n" " %l jam ( 1..12)\n" " %m bulan (01..12)\n" " %M menit (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n sebuah baris baru\n" " %N nano detik (000000000..999999999)\n" " %p persamaan locale's baik AM atau PM; kosong jika tidak diketahui\n" " %P seperti %p, tetap menggunakan huruf kecil\n" " %r locale's 12-jam waktu (contoh, 11:11:04 PM)\n" " %R 24-jam jam dan menit; sama seperti %H:%M\n" " %s detik sejak 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S detik (00..60)\n" " %t sebuah tab\n" " %T waktu; sama seperti %H:%M:%S\n" " %u hari dari minggu (1..7); 1 adalah Senin\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U nomor minggu dari tahun, dengan Minggu sebagai hari pertama dari " "minggu (00..53)\n" " %V ISO nomor minggu, dengan Senin sebagai hari pertama dari minggu " "(01..53)\n" " %w hari dari minggu (0..6); 0 adalah Minggu\n" " %W nomor minggu dari tahun, dengan Senin sebagai hari pertama dari " "minggu (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x locale's representasi tanggal (contoh, 12/31/99)\n" " %X locale's representasi waktu (contoh, 21:13:48)\n" " %y dua digit terakhir dari tahun (00..99)\n" " %Y tahun\n" #: src/date.c:221 #, fuzzy msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm daerah waktu numerik (contoh, +0700)\n" " %:z +hh:mm daerah waktu numerik (contoh, +07:00)\n" " %::z +hh:mm:ss daerah waktu numerik (contoh, +07:00:00)\n" " %:::z daerah waktu numerik dengan : dibutuhkan untuk presisi (contoh, +07, " "+08:30)\n" " %Z singkatan daerah waktu alphabet (contoh, WIT)\n" "\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Flag opsional berikut boleh diikuti `%':\n" "\n" " - (hyphen) jangan pad field\n" " _ (garis bawah) pada dengan spasi\n" " 0 (nol) pad dengan nol\n" " ^ gunakan huruf besar jika mungkin\n" " # gunakan kasus sebalik jika mungkin\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Setelah flag apapun ada sebuah opsional field lebar, sebagai sebuah nomor " "desimal;\n" "kemudian sebuah modifikasi opsional, yang mungkin\n" "E untuk menggunakan locale's alternatif representasi jika tersedia, atau\n" "0 untuk menggunakan locale's alternatif simbol numerik jika tersedia.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standar masukan" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "tanggal tidak valid %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "multiple format keluaran dispesifikasikan" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "Pilihan untuk menspesifikasikan tanggal untuk pencetakan adalah mutually " "exclusive" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "Pilihan untuk mencetak dan menset waktu mungkin bisa digunakan bersama" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumen %s kurang sebuah awalah `+';\n" "ketika menggunakan sebuah pilihan untuk menspesifikasikan tanggal, argumen\n" "bukan pilihan apapun harus dalam sebuah format string yang diawali dengan `+'" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "tidak dapat menset tanggal" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "jam %s adalah diluar jangkauan" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s [OPERAND]...\n" " atau: %s PILIHAN\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Salin sebuah berkas, ubah dan format menurut operand.\n" "\n" " bs=BYTES baca dan tulis BYTES bytes di satu waktu (lihat juga ibs=," "obs=)\n" " cbs=BYTES ubah BYTES bytes di satu waktu\n" " conv=CONVS ubah file seperti dalam daftar simbol yang dipisahkan " "dengan koma\n" " count=BLOCKS salin hanya BLOK input blok\n" " ibs=BYTES baca BYTES byte dalam satu waktu\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FILE baca dari BERKAS daripada dari stdin\n" " iflag=FLAGS baca sebagai daftar simbol yang dipisahkan dengan koma\n" " obs=BYTES tulis BYTES byte dalam satu waktu\n" " of=BERKAS tulis ke BERKAS daripada ke stdout\n" " oflag=FLAGS tulis sebagai daftar simbol yang dipisahkan dengan koma\n" " seek=BLOK lewati BLOK sebesar obs blok di awal dari keluaran\n" " skip=BLOK lewati BLOK sebesar ibs blok di awal dari masukan\n" " status=noxfer tekan statistik transfer\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOK dan BYTE boleh diikuti dengan akhiran pengali berikut:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Setiap simbol CONV bisa berupa:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii dari EBCDIC ke ASCII\n" " ebcdic dari ASCII ke EBCDIC\n" " ibm dari ASCII ke alternative EBCDIC\n" " block pad akhiran baris baru disimpan dengan spasi ke ukuran cbs\n" " unblock menimpa akhiran spasi dalam ukuran cbs simpanan dengan baris " "baru\n" " lcase ubah huruf besar ke huruf kecil\n" " ucase ubah huruf kecil ke huruf besar\n" " swab swap setiap pasangan dari byte masukan\n" " sync pad setiap masukan blok dengan NUL ke ukuran ibs; ketika " "digunakan\n" " dengan blok atau unblok, pad dengan spasi daripada dengan NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl gagal jika berkas keluaran telah ada\n" " nocreat jangan buat berkas keluaran\n" " notrunc jangan truncate berkas keluaran\n" " noerror melanjutkan setelah pembacaan error\n" " fdatasync secara fisik tulis berkas keluaran data sebelum selesai\n" " fsync sama seperti, tetapi juga tulis metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Setiap FLAG simbol bisa berupa:\n" "\n" " append mode append (berguna hanya untuk keluaran; conv=notrunc " "disarankan)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio gunakan I/O bersamaan untuk data\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct gunakan I/O langsung untuk data\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " direktori gagal kecuali sebuah direktori\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync gunakan I/O tersinkron untuk data\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync sama seperti itu, tetapi juga untuk metadata\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock akumulasikan blok penuh dari masukan (hanya iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock gunakan I/O non-blok\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime jangan perbaharui waktu akses\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty jangan assign pengontrol terminal dari berkas\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow jangan ikuti symlinks\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks gagal jika multiply-linked\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary gunakan binary I/O untuk data\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text gunakan teks I/O untuk data\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Mengirim sebuah %s sinyal ke proses `dd' yang sedang berjalan membuatnya\n" "menampilkan statistik I/O ke standar error dan kemudian melanjutkan " "penyalinan.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) tersalin, 34.6279 detik, 271 MB/s\n" "\n" "Pilihan adalah:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> catatan masuk\n" "%<PRIuMAX>+%<PRIuMAX> catatan keluar\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> rekaman terpotong\n" msgstr[1] "%<PRIuMAX> rekaman terpotong\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) tersalin" msgstr[1] "%<PRIuMAX> byte (%s) tersalin" #: src/dd.c:720 msgid "Infinity B" msgstr "Tak terhingga B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "menutup berkas masukan %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "menutup berkas keluaran %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "gagal untuk mematikan O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "menulis ke %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "operand %s tidak dikenal" #: src/dd.c:1218 msgid "invalid conversion" msgstr "konversi tidak valid" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "masukan flag tidak valid" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "keluaran flag tidak valid" #: src/dd.c:1227 msgid "invalid status flag" msgstr "statu flag tidak valid" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "nomor %s tidak valid" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "tidak dapat mengkombinasikan dua dari {ascii, ebcdic, ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "tidak dapat mengkombinasikan blok dan unblok" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "tidak dapat mengkombinasikan huruf kecil dan huruf besar" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "tidak dapat mengkombinasikan excl dan nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "tidak dapat mengkombinasikan excl dan nocreat" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "peringatan: bekerja dalam lseek kernel bug untuk berkas (%s)\n" " dari mt type=0x%00lx -- lihat <sys/mtio.h> untuk daftar dari type" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: tidak dapat melewati" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: tidak dapat mencari" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "offset overflow ketika membaca berkas %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "peringatan: berkas ofset tidak valid setelah gagal baca" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "tidak dapat bekerja dalam kernel bug ternyata" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "menset flag untuk %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: tidak dapat melewati ofset yang dispesifikasikan" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "gagal untuk memotong %<PRIuMAX> byte dalam berkas keluaran %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync gagal untuk %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync gagal untuk %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "gagal untuk membuka %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "ofset terlalu besar: tidak dapat memotong ke panjang dari seek=%<PRIuMAX> " "(%lu-byte) blok" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "gagal untuk memotong %<PRIuMAX> byte dalam berkas keluaran %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "gagal untuk chdir ke %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Sistem Berkas" #: src/df.c:175 msgid "Type" msgstr "Tipe" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blok" #: src/df.c:181 msgid "Used" msgstr "Isi" #: src/df.c:184 msgid "Available" msgstr "Sisa" #: src/df.c:187 msgid "Use%" msgstr "Isi%" #: src/df.c:190 msgid "Inodes" msgstr "Inode" #: src/df.c:193 msgid "IUsed" msgstr "IIsi" #: src/df.c:196 msgid "IFree" msgstr "Ibebas" #: src/df.c:199 msgid "IUse%" msgstr "IIsi%" #: src/df.c:202 msgid "Mounted on" msgstr "Dipasang di" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "peringatan: berkas sumber %s dispesifikasikan lebih dari sekali" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Besar" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Sisa" #: src/df.c:474 msgid "Capacity" msgstr "Kapasita" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Menampilkan informasi mengenai sistem berkas dimana setiap BERKAS berada,\n" "atau seluruh sistem berkas dengan default.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all termasuk sistem berkas dummy\n" " -B, --block-size=SIZE gunakan SIZE-byte blok\n" " -h, --human-readable menampilkan ukuran dalam format yang mudah dibaca " "(contoh , 1K 234 M 2G)\n" " -H, --si sama seperti itu, tetapi menggunakan kelipatan dari " "1000 bukan 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes daftar informasi inode daripada penggunaan blok\n" " -k seperti --block-size=1K\n" " -l, --local batasi daftar dari sistem berkas lokal\n" " --no-sync jangan menjalankan sync sebelum memperoleh informasi " "penggunaan (default)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability gunakan format keluaran POSIX\n" " --sync menjalankan sync sebelum memperoleh informasi " "penggunaan\n" " -t, --type=TYPE membatasi daftar dari sistem berkas dari tipe TIPE\n" " -T, --print-type menampilkan tipe sistem berkas\n" " -x, --exclude-type=TYPE membatasi daftar dari sistem berkas bukan dari " "tipe TIPE\n" " -v (diabaikan)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "pilihan --compare (C) dan --strip adalah mutually exclusive" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Peringatan: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "sistem berkas tipe %s keduanyan dipilih dan diexclude" #: src/df.c:1500 msgid "Warning: " msgstr "Peringatan: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "tidak dapat membaca tabel dari sistem berkas yang terpasang" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "tidak ada sistem berkas yang diproses" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Penggunaan: %s [PILIHAN]... [BERKAS]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Keluarkan perintah untuk menset LS_COLORS variabel lingkungan.\n" "\n" "Tentukan format dari keluaran:\n" " -b, --sh, --bourne-shell keluarkan Bourne shell kode untuk menset " "LS_COLORS\n" " -c, --csh, --c-shell keluarkan C shell kode untuk menset LS_COLORS\n" " -p, --print-database keluarkan default\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Jika BERKAS dispesifikasikan, baca itu untuk menentukan warna mana yang " "digunakan untuk \n" "tipe berkas dan extensinya. Jika tidak , sebuah database yang tersedia " "digunakan.\n" "Untuk lebih detail dalam format dari berkas ini, jalankan `dircolors --print-" "database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: baris tidak valid; hilang token kedua" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: keyword tidak dikenal %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<internal>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "pilihan untuk keluaran dircolors' internal database dan\n" "untuk memilih sintak shell adalah mutually exclusif" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "berkas operand tidak dapat dikombinasikan dengan --print-database (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "tidak ada variabel SHELL, dan tidak ada pilihan tipe shell yang diberikan" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Penggunaan: %s [PILIHAN] NAMA...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Menampilkan NAMA dengan akhirannya / komponen dihapus; jika NAMA berisi " "tidak/,\n" "keluar `.' (berarti direktori sekarang).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -0, --null akhiri setiap baris keluaran dengan 0 byte daripada baris " "baru\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Contoh:\n" " %s /usr/bin/sort Keluar \"/usr/bin\".\n" " %s stdio.h Keluar \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Penggunaan: %s [PILIHAN]... [BERKAS]...\n" " atau: %s [PILIHAN]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Ringkas penggunaan disk dari setiap BERKAS, secara rekursif untuk " "direktori.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all tulis jumlah untuk seluruh berkas, tidak hanya " "direktori\n" " --apparent-size menampilkan ukuran sebenarnya, daripada penggunaan " "disk; walaupun\n" " ukuran sebenernya biasanya lebih kecil, tetapi " "mungkin\n" " lebih besar karena adanya holes dalam (`sparse') " "berkas, internal\n" " fragmentasi, blok tidak langsung, dan seperti itu\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=SIZE gunakan SIZE-byte blok\n" " -b, --bytes sama seperti `--apparent-size --block-size=1'\n" " -c, --total menghasilkan jumlah total\n" " -D, --dereference-args dereference hanya symlink yang terdaftar di\n" " baris perintah\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F ringkas penggunaan disk dari NUL-terminated berkas\n" " nama dispesifikasikan dalam berkas F\n" " jika F adalah - maka baca nama dari standar masukan\n" " -H sama dengan --dereference-args (-D)\n" " -h, --human-readable menampilkan ukuran dalam format yang mudah dibaca " "(contoh: 1K 234M 2G)\n" " --si seperti -h, tetapi menggunakan kelipatan 1000 bukan " "1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k seperti --block-size=1K\n" " -l, --count-links hitung ukuran beberapa kali jika hard linked\n" " -m seperti --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference dereferensikan seluruh link simbolik\n" " -P, --nodereference jangan ikuti simbolik link apapun (inidefault)\n" " -0, --null akhiri setiap baris keluaran dengan 0 byte daripada " "baris baru\n" " -S, --separate-dirs jangan memasukan ukuran dari subdirektori\n" " -s, --summarize tampilkan hanya sebuah total dari setiap argumen\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time menampilkan waktu dari terakhir modifikasi dari " "setiap berkas dalam \n" " direktori, atau subdirektori apapun\n" " --time=WORD menampilkan waktu seperti WORD daripada modifikasi " "waktu:\n" " atime, access, use, ctim, atau status\n" " --time-style=STYLE menampilkan waktu menggunakan gaya STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT diinterpretasikan seperti `date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Tak terhingga B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read gagal" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "kedalaman maksimal %s tidak valid" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "argumen --%s tidak valid %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "tidak dapat meringkas dan menampilkan seluruh masukan bersamaan" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "peringatan: meringkas adalah sama dengan menggunakan --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "peringatan: meringkas konflik dengan --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "berkas operand tidak dapat dikombinasikan dengan --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: error membaca" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "ketika membaca nama berkas dari stdin, tidak ada nama berkas dari %s " "dibolehkan" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nama berkas panjang-nol tidak valid" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Penggunaan: %s [PILIHAN-PENDEK]... [STRING]...\n" " atau: %s PILIHAN-PANJANG\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Echo STRING ke keluaran standar.\n" "\n" " -n jangan mengeluarkan akhiran baris baru\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e aktifkan interpretasi dari backslash escape (default)\n" " -E non-aktifkan interpretasi dari escape backslash\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e aktifkan interpretasi dari backslash escape\n" " -E non-aktifkan interpretasi dari escape backslash (default)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Jika -e memiliki efek, urutan berikut akan dikenali:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c tidak menghasilkan keluaran\n" " \\e escape\n" " \\f form feed\n" " \\n baris baru\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertikal tab\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\ONNN byte dengan nilai oktal NNN (1 sampai 3 digit)\n" " \\xHH byte dengan nilai heksadesimal HH (1 sampai 2 digit)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Penggunaan: %s [PILIHAN]... [-] [NAMA=NILAI]... [PERINTAH [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Set setiap NAMA ke NILAI dalam lingkungan dan jalankan PERINTAH.\n" "\n" " -i, --ignore-environment awali dengan sebuah environment kosong\n" " -0, --null akhiri setiap baris keluaran dengan 0 byte daripada " "baris baru\n" " -u, --unset=NAMA hapus variabel dari environment\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Hanya - mengindikasikan -i. Jika tidak ada PERINTAH, menampilkan environment " "yang dihasilkan.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "tidak dapat unset %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "tidak dapat menset %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "tidak dapat menspesifikasikan --null (-0) dengan perintah" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Mengubah tabs di setiap BERKAS ke spasi, menulis ke standard keluaran.\n" "Dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial jangan mengubah tabs setelah bukan kosong\n" " -t, --tabs=NOMOR jangan tabs NOMOR karakter apart bukan 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LIST gunakan daftar dipisahkan dengan koma dari posisi tab " "explicit\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tab stop terlalu besar %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "ukuran tab berisi karakter tidak valid: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "ukuran tab tidak bisa 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "ukuran tab harus ascending" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "baris masukan terlalu panjang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s EKSPRESI\n" " atau: %s PILIHAN\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Menampilkan nilai dari EKSPRESI dari keluaran standar. Baris kosong dibawah\n" "dipisahkan awalan grup meningkat. EKSPRESI bisa:\n" "\n" " ARG1 | ARG2 ARG1 jika ini bukan null atau 0, jika tidak ARG2\n" "\n" " ARG1 & ARG2 ARG1 jika bukan argumen adalah nol atau 0, jika tidak 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 lebih kecil dari ARG2\n" " ARG1 <= ARG2 ARG1 lebih kecil atau sama dengan ARG2\n" " ARG1 = ARG2 ARG1 sama dengan ARG2\n" " ARG1 != ARG2 ARG1 tidak sama dengan ARG2\n" " ARG1 >= ARG2 ARG1 lebih besar atau sama dengan ARG2\n" " ARG1 > ARG2 ARG1 lebih besar dari ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 penjumlahan aritmetik dari ARG1 dan ARG2\n" " ARG1 - ARG2 perbedaan aritmetik dari ARG1 dan ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 perkalian aritmetik dari ARG1 dan ARG2\n" " ARG1 / ARG2 pembagian aritmetik dari ARG1 dibagi oleh ARG2\n" " ARG1 % ARG2 arithmetic remainder dari ARG1 dibagi oleh ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRING : REGEXP anchored pattern cocok dari REGEXP dalam STRING\n" "\n" " match STRING REGEXP sama seperti STRING : REGEXP\n" " substr STRING POS LENGTH substring dari STRING, POS dihitung dari 1\n" " index STRING CHARS index dalam STRING dimana CHARS apapun " "ditemukan, atau 0\n" " length STRING panjang dari STRING\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN interpretasikan TOKEN sebagai sebuah string, " "walaupun ini adalah sebuah\n" " keyword seperti `match'atau sebuah operator " "seperti `/'\n" "\n" " ( EXPRESSION ) nilai dari EKSPRESI\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Hati hati banyak operators membutuhkan escaped atau quote untuk shell.\n" "Perbandingan aritmetik jika kedua ARG adalah nomor, jika tidak " "lexicographical.\n" "Pola cocok mengembalikan string cocok diantara \\( dan \\) atau null; jika\n" "\\( dan \\) tidak digunakan, mereka mengembalikan jumlah karakter yang cocok " "atau 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Status Keluar adalah 0 jika EKSPRESI adalah null atau 0, 1 jika EKSPRESI " "adalah nol\n" "atau 0, 2 jika EKSPRESI adalah secara sintaks tidak valid, dan 3 jika sebuah " "error ditemui.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sintaks error" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "error dalam pencocokan ekspresi regular" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "argumen tidak numeric" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "pembagian dengan nol" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "set LC_ALL='C' untuk memperbaiki masalah" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "string yang dibandingkan adalah %s dan %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s bukan sebuah valid positif integer" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s terlalu besar" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s [NOMOR]...\n" " atau: %s PILIHAN\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Menampilkan faktor prima dari seluruh NOMOR integer yang dispesifikasikan. " "Jika tidak ada argumen\n" "yang dispesifikasikan dalam baris perintah, mereka dibaca dari standar " "masukan.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "tidak dapat memperoleh direktori sekarang" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "tidak dapat berpindah ke direktori %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "tidak dapat memperoleh statistik direktori sekarang (sekarang %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Penggunaan: %s [-WIDTH] [PILIHAN]... [BERKAS]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformat setiap paragrap dalam BERKAS, tulis ke standar keluaran.\n" "Pilihan -WIDTH adalah kependekan dari bentuk --width=DIGITS.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin jaga indentasi dari dua baris pertama\n" " -p, --prefix=STRING reformat hanya baris yang diawali dengan " "STRING,\n" " reattaching prefix ke baris yang diformat\n" " -s, --split-only split baris panjang, tetapi jangan refill\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph indentasi dari baris pertama berbeda dari detik\n" " -u, --uniform-spacing satu spasi diantara words, dua setelah kalimat\n" " -w, --width=WIDTH lebar baris maksimal (default 75 kolom)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "pilihan -- %c tidak valid; -WIDTH dikenali hanya ketika ini merupakan " "pilihan\n" "pertama; gunakan -w N daripada" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "lebar tidak valid: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Wrap baris masukan dalam setiap BERKAS (standar masukan secara default), " "tulis ke\n" "standar keluaran.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes hitung byte daripada kolom\n" " -s, --spaces break di spaces\n" " -w, --width=WIDTH gunakan WIDTH kolom daripada 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "jumlah dari kolom tidak valid: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Penggunaan: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Keluarkan batas ketergantungan platform dalam sebuah formay yang berguna " "untuk shell scripts.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "gagal memperoleh grup untuk user %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "gagal memperoleh grup untuk proses sekarang" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "tidak dapat menemukan nama untuk grup ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Penggunaan: %s [PILIHAN]... [NAMA PENGGUNA]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Tampilkan keanggotaan grup untuk setiap NAMA PENGGUNA atau, jika tidak ada " "NAMA pengguna yang dispesifikasikan,\n" "proses sekarang (yang berbeda jika database grup telah berubah).\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "tidak dapat menset id pengguna" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "tidak dapat dereferensi %s" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "tidak dapat menset id pengguna" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Tidak ada pengguna seperti itu" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tampilkan 10 baris pertama dari setiap BERKAS ke standar keluaran.\n" "Dengan lebih dari satu BERKAS, awali setiap dengan sebuah header memberikan " "nama berkas.\n" "Dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K tampilkan K byte pertama dari setiap berkas;\n" " dengan awalan `-', menampilkan seluruh tetapi K " "byte\n" " terakhir dari setiap berkas\n" " -n, --lines=[-]K menampilkan K baris pertama daripada 10 pertama;\n" " dengan awalan `-', menampilkan seluruh tetapi K " "baris\n" " terakhir dari setiap berkas\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent jangan menampilkan headers memberikan nama " "berkas\n" " -v, --verbose selalu menampilkan header memberikan nama berkas\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K mungkin memiliki sebuah akhiran pengali:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: berkas telah mengecil terlalu banyak" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: jumlah dari byte terlalu besar" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: tidak dapat lseek ke posisi original" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: tidak dapat mencari ofset %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: gagal untuk menghapus" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "tidak dapat mereposisi berkas penunjuk untuk %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s terlalu besar yang ini tidak direpresentasikan" #: src/head.c:886 msgid "number of lines" msgstr "jumlah dari baris" #: src/head.c:886 msgid "number of bytes" msgstr "jumlah dari byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "jumlah dari baris tidak valid" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "jumlah dari byte tidak valid" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "akhiran pilihan tidak valid -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Penggunaan: %s [PILIHAN]\n" "Tampilkan pengindentifikasi numerik (dalam heksa desimal) untuk host " "sekarang.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Penggunaan: %s [NAMA]\n" " atau: %s PILIHAN\n" "Menampilkan atau menset nama host dari sistem sekarang.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "tidak dapat menset nama ke %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "tidak dapat menset nama host; sistem ini kurang fungsionalitas" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "tidak dapat menentukan nama host" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Penggunaan: %s [PILIHAN]... [NAMA PENGGUNA]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Tampilkan informasi pengguna dan grup untuk NAMA PENGGUNA yang " "dispesifikasikan.\n" "atau (ketika NAMA PENGGUNA diabaikan) untuk pengguna sekarang.\n" "\n" " -a abaikan, untuk kompabilitas dengan versi lain\n" " -Z, --context tampilkan hanya konteks keamanan dari pengguna sekarang\n" " -g, --group tampilkan hanya efektif grup ID\n" " -G, --groups tampilkan seluruh grup ID\n" " -n, --name tampilkan sebuah nama daripada sebuah nomor, untuk -ugG\n" " -r, --real tampilkan real ID daripada efektif ID, dengan -ugG\n" " -u, --user tampilkan hanya efektif ID pengguna\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Tanpa PILIHAN apapun, menampilkan beberapa informasi identifikasi berguna.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) hanya bekerja di kernel dengan SELinux-aktif" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "tidak dapat menampilkan konteks keamanan ketika pengguna dispesifikasikan" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "tidak dapat menampilkan \"only\" lebih dari satu pilihan" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "tidak dapat menampilkan hanya nama atau ril ID dalam format default" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "tidak dapat memperoleh konteks proses" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "tidak dapat dereferensi %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "tidak dapat menemukan nama untuk pengguna ID %lu" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " groups=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " konteks=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "peringatan: %s: gagal untuk mengubah konteks ke %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "membuat direktori %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "tidak dapat mengubah kepemilikan dari %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "tidak dapat menset time stamps untuk %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "fork system call gagal" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "tidak dapat menjalankan %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "menunggu untuk strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "strip proses berakhir abnormal" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "pengguna tidak valid %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Penggunaan: %s [PILIHAN]... [-T] ASAL TUJUAN\n" " atau: %s [PILIHAN]... ASAL... DIREKTORI\n" " atau: %s [PILIHAN]... -t DIREKTORI ASAL...\n" " atau: %s [PILIHAN]... -d DIREKTORI...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Aplikasi pemasangan ini menyalin berkas (sering hanya kompilasi) kedalam\n" "lokasi tujuan yang anda pilih. Jika anda ingin untuk mengunduh dan memasang\n" "sebuah paket siap untuk digunakan di sebuah sistem GNU/Linux, anda\n" "seharusnya menggunakan manajer paket seperti yum(1) atau apt-get(1).\n" "\n" "Dalam tiga format pertama, salin ASAL ke TUJUUAN atau banyak ASAL ke\n" "DIREKTORI yang sudah ada, ketika menset mode ijin dan kepemilikan/grup.\n" "Dalam bentuk ke 4, buat seluruh komponen dari DIREKTORI yang diberikan.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=KONTROL] membuat sebuah backup untuk setiap berkas tujuan " "yang telah ada\n" " -b seperti --backup tetapi tidak menerima sebuah argumen\n" " -c (diabaikan)\n" " -C, --compare bandingkan setiap pasangan dari berkas sumber dan " "tujuan, dan\n" " dalam kasus tertentu, jangan modifikasi tujuan sama " "sekali\n" " -d, --directory perlakukan seluruh argumen sebagai nama direktori; " "buat seluruh\n" " komponen dari direktori yang dispesifikasikan\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D buat seluruh komponen awal dari TUJUAN kecuali " "terakhir,\n" " kemudian salin ASAL ke TUJUAN\n" " -g, --group-GROUP set kepemilikan grup, daripada proses' grup sekarang\n" " -m, --mode=MODE set mode ijin (seperti dalam chmod), daripa rwxr-xr-x\n" " -o, --owner=OWNER set kepemilikan (pengguna-super saja)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps jalankan akses/modifikasi waktu dari ASAL " "berkas\n" " ke berkas tujuan berhubungan\n" " -s, --strip strip tabel simbol\n" " --strip-program=APLIKASI APLIKASI digunakan untuk strip binari\n" " -S, --suffix=SUFFIX override akhiran backup biasa\n" " -t, --target-direktori=DIREKTORI salin seluruh argumen ASAL kedalam " "DIREKTORI\n" " -T, --no-target-direktory perlakukan DEST sebagai sebuah berkas normal\n" " -v, --verbose menampilkan nama dari setiap direktori seperti telah " "dibuat\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context jaga SELinux konteks keamanan\n" " -Z, --context=CONTEXT set SELinux konteks keamanan dari berkas dan " "direktori\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "PERINGATAN: mengabaikan --preserve-context; kernel ini bukan SELinux-aktif." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "PERINGATAN: mengabaikan --context (-Z); kernel ini bukan SELinux-aktif" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "pilihan strip tidak boleh digunakan ketika memasang sebuah direktori" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "direktori tujuan tidak memperbolehkan ketika memasang sebuah direktori" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "tidak dapat memaksa konteks tujuan ke %s dan menjaganya" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "mode tidak valid %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "PERINGATAN: mengabaikan pilihan --strip-program karena pilihan -s tidak " "dispesifikasikan" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "pilihan --compare (C) dan --preserve-timestamps adalah mutually exclusive" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "pilihan --compare (C) dan --strip adalah mutually exclusive" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "pilihan --compare (-C) diabaikan ketika anda menspesifikasikan sebuah mode " "dengan bit tanpa-ijin" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Untuk setiap pasang dari baris masukan dengan join field yang identik, tulis " "sebuah baris ke\n" "standar keluaran. Default join field adalah pertama, dipisahkan\n" "dengan spasi. Ketika FILE1 atau FILE2 (bukan keduanya) adalah -, baca " "standar masukan.\n" "\n" " -a FILENUM menampilkan unpairable baris datang dari berkas FILENUM, " "dimana\n" " FILENUM adalah 1 atau 2, sesuai dengan FILE1 atau FILE2\n" " -e EMPTY menggantikan field masukan yang hilang dengan EMPTY\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case abaikan perbedaan dalam case ketika membedakan fields\n" " -j FIELD sama dengan ke `-1 FIELD -2 FIELD'\n" " -o FORMAT patuhi FORMAT ketika membuat baris keluaran\n" " -t CHAR gunakan CHAR sebagai pemisah field masukan dan keluaran\n" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FILENUM seperti -a FILENUM, tetapi menekan baris keluaran yang " "disatukan\n" " -1 FIELD gabungkan FIELD ini dari berkas 1\n" " -2 FIELD gabungkan FIELD ini dari berkas 2\n" " --check-order periksa bahwa masukan adalah secara benar diurutkan, " "meskipun\n" " jika seluruh masukan baris dapat dipasangkan\n" " --nocheck-order jangan periksa masukan adalah diurutkan secara benar\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Kecuali -t CHAR diberikan, awalan spasi memisahkan daerah dan diabaikan,\n" "selain itu daerah dipisahkan oleh CHAR. Setiap DAERAH adalah sebuah nomor " "daerah dihitung\n" "dari 1. FORMAT adalah satu atau lebih dari spesifikasi pemisah koma atau " "spasi,\n" "yang setiap itu menjadi `FILENUM.FIELD' atau `0'. Keluaran baku FORMAT " "menggabungkan daerah,\n" "daerah yang tersisa dari BERKAS1, daerah yang tersisa dari BERKAS2, semua " "yang\n" "dipisahkan oleh CHAR.\n" "\n" "Penting: BERKAS1 dan BERKAS2 harus diurutkan di daerah yang digabungkan.\n" "Contoh, gunakan `sort -k 1b,1' Jika `join' tidak memiliki pilihan.\n" "Catatan, perbandingan menghargai aturan yang dispesifikasikan oleh " "`LC_COLLATE'.\n" "Jika masukan tidak diurutkan dan beberapa baris tidak dapat digabungkan, " "sebuah\n" "pesan peringatan akan diberikan.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "nomor field tidak valid: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "spesifikasi field tidak valid: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "nomor berkas tidak valid dalam field spec: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "join field tidak kompatible %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "konflik penggantian string empty-field" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "multi-character tab %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "incompatible tabs" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "kedua berkas tidak dapat berupa standar masukan" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Penggunaan: %s [-s SINYAL | -SINYAL] PID...\n" " atau: %s -l [SINYAL]...\n" " atau: %s -t [SINYAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Mengirim sinyal ke proses, atau daftar sinyal.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --sinyal=SINYAL, -SINYAL\n" " spesifikasikan nama atau nomor dari sinyal untuk dikirim\n" " -l, --list daftar nama sinyal, atau ubah nama sinyal ke/dari nomor\n" " -t, --table tampilkan sebuah tabel dari informasi sinyal\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SINYAL mungkin sebuah nama sinyal seperti `HUP', atau sebuah nomor sinyal. " "seperti `1',\n" "atau sebuah status keluaran dari sebuah proses diakhiri oleh sebuah sinyal.\n" "PID adalah sebuah integer; Jika negatif ini diidentifikasikan sebuah proses " "grup.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: proses id tidak valid" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "pilihan tidak valid -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: multiple sinyal dispesifikasikan" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "multiple pilihan -l atau -t dispesifikasikan" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "tidak dapat mengkombinasikan sinyal dengan -l atau -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "tidak ada proses ID dispesifikasikan" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "gagal untuk mengalokasikan sebuah %<PRIuMAX> byte penyangga stdio\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "mode penyangga %s tidak valid untuk %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "tidak dapat menset penyangga dari %s untuk mode %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s BERKAS1 BERKAS2\n" " atau: %s PILIHAN\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Panggil fungsi link untuk membuat sebuah link bernama BERKAS2 ke sebuah " "BERKAS1 yang telah ada.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "tidak dapat membuat link %s ke %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: link keras tidak diijinkan untuk direktori" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: tidak dapat overwrite direktori" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: menimpa %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "tidak dapat membuat link simbolik %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "tidak dapat membuat link simbolik %s ke %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "membuat link keras ke %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "tidak dapat membuah link keras %s ke %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "tidak dapat membuah link keras %s ke %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Penggunaan: %s [PILIHAN]... [-T] TARGET LINK_NAME (bentuk pertama)\n" " atau: %s [PILIHAN]... TARGET (bentuk kedua)\n" " atau: %s [PILIHAN]... TARGET... DIREKTORI (bentuk ketiga)\n" " atau: %s [PILIHAN]... -t DIREKTORI TARGET...(bentuk keempat)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Dalam bentuk pertama, buat sebuah link ke TARGET dengan nama LINK_NAME.\n" "Dalam bentuk kedua, buat sebuah link ke TARGET di direktori sekarang.\n" "Dalam bentuk ketiga dan keempat, buat link ke setiap TARGET dalam " "DIREKTORI.\n" "Buat link keras secara default, link simbolik dengan --symbolic.\n" "Ketika membuat link keras, setiap TARGET harus ada. Link simbolik\n" "diinterpretasikan dalam hubungan dengan direktori atasnya.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] membuat sebuah backup dari setiap berkas " "tujuan yang telah ada\n" " -b seperti --backup tetapi tidak menerima sebuah " "argumen\n" " -d, -F, --directory membolehkan superuser untuk mencoba link " "keras\n" " direktori (catat: mungkin akan gagal karena " "adanya\n" " pembatasan sistem, bahkan untuk superuser)\n" " -f, --force hapus berkas tujuan yang sudah ada\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive prompt apakah akan menghapus tujuan\n" " -L, --logical buat sambungan keras ke referensi sambungan " "simbolik\n" " -n, --no-dereference perlakukan tujuan yang merupakan symlink ke " "sebuah\n" " direktori sama seperti jika ini adalah sebuah " "berkas normal\n" " -P, --physical buat sambungan keras secara langsung ke " "sambungan simbolik\n" " -s, --symbolic buat link simbolik daripada link keras\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFIX override akhiran backup biasa\n" " -t, --target-directory=DIRECTORY spesifikasikan DIREKTORI yang akan " "dibuat\n" " untuk link\n" " -T, --no-target-directory perlakukan LINK_NAME sama seperti berkas " "normal\n" " -v, --verbose menampilkan nama dari setiap berkas yang " "terhubung\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Menggunakan -s mengabaikan -L dan -P. Jika tidak, pilihan terakhir yang " "dispesifikasikan mengontrol\n" "perilaku ketika sumber adalah sebuah link simbolik, baku ke %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "tidak dapat mengkombinasikan --target-directory dan --no-target-directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "tidak dapat membuat link simbolik %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "BETULKAN AKU: tidak diketahui" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Penggunaan: %s [PILIHAN]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Menampilkan nama dari pengguna sekarang.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "bukan nama login" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "mengabaikan nilai tidak valid dari variabel lingkungan QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "mengabaikan lebar tidak valid dalam variabel lingkungan KOLOM: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "mengabaikan ukuran tab tidak valid dalam variabel lingkungan UKURAN TAB: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "lebar baris tidak valid: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "ukuran tab tidak valid: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "format gaya waktu tidak valid: %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Argumen yang valid adalah:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "error menginisialisasi string bulan" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "prefix tidak dikenal: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "nilai tidak dapat diparse untuk variabel lingkungan LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "tidak dapat membuka direktori %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "tidak dapat menentukan perangkat dan inode dari %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: tidak mendaftar direktori yang sudah terdaftar" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "membaca direktori %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "menutup direktori %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "tidak dapat membandingkan nama berkas %s dan %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Daftar informasi mengenai BERKAS (direktori sekarang secara default).\n" "Urutkan masukan secara alphabet jika tidak ada dari -cftuvSUX atau --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all jangan mengabaikan masukan dimulai dengan .\n" " -A, --almost-all jangan mendaftar implied . dan ..\n" " --author dengan -l, menampilkan pengarang dari setiap " "berkas\n" " -b, --escape menampilkan oktal escape untuk karakter bukan " "bergambar\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=BESAR gunakan BESAR-byte blok. Lihat format BESAR " "dibawah\n" " -B, --ignore-backups jangan mendaftar implied masukan berakhir " "dengan ~\n" " -c dengan -lt; urutkan, dan tampilkan, ctime " "(waktu dari informasi\n" " status modifikasi berkas terakhir)\n" " dengan -l; menampilkan ctime dan urutkan sesuai " "nama\n" " jika tidak; urutkan dengan ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C mendaftar masukan dengan kolom\n" " --color[=KAPAN] mengontrol apakah warna digunakan untuk " "membedakan tipe\n" " berkas. KETIKA bisa `never', `always', atau " "`auto'. Informasi lebih lanjut dibawah\n" " -d, --directory daftar masukan direktori daripada isi,\n" " dan jangan mendereference link simbolik\n" " -D, --dired menghasilkan keluarkan didesign untuk Emacs' " "dired mode\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f jangan mengurutkan, aktifkan -aU, disable -ls --" "color\n" " -F, --classify tambahkan indicator (satu dari *=>@|) untuk " "masukan\n" " --file-type sama seperti itu, kecuali tidak menambahkan " "`*'\n" " --format=WORD melewati -x, koma -m, horizontal -x. panjang -" "l,\n" " satu-kolom -1, verbose -l, vertikal -C\n" " --full-time seperti -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" " -g seperti -l, tetapi jangan mendaftar pemilik\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " group direktori sebelum berkas.\n" " tambahkan dengan sebuah pilihan --sort, " "tetapi\n" " penggunaan apapun dari --sort=none (-U) " "menonaktifkan grup\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group dalam sebuah listing panjang, jangan " "menampilkan nama grup\n" " -h, --human-readable dengan -l, menampilkan ukuran dalam format yang " "mudah dibaca\n" " (contoh, 1K 234M 2G)\n" " --si sama seperti diatas, tetapi menggunakan " "kelipatan 1000 bukan 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " ikuti link simbolik terdaftar di baris " "perintah\n" " --dereference-command-line-symlink-to-dir\n" " mengikuti setiap baris perintah link simbolik\n" " yang menunjuk ke sebuah direktori\n" " --hide=POLA jangan mendaftar implied masukan cocok shell " "POLA\n" " (overriden dengan -a atau -A)\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=WORD menambahkan indikator dengan style WORD ke nama " "masukan:\n" " none (default), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode menampilkan nomor index dari setiap berkas\n" " -I, --ignore=POLA jangan mendaftar implied masukan cocok shell " "POLA\n" " -k seperti --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l gunakan sebuah format daftar panjang\n" " -L, --dereference ketika menampilkan informasi berkas untuk " "sebuah\n" " link simbolik, tampilkan informasi untuk berkas " "referensi\n" " link daripada untuk link itu sendiri\n" " -m isi lebar dengan sebuah masukan yang " "dipisahkan dengan koma\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid seperti -l, tetapi mendaftar pengguna dan grup " "ID numerik\n" " -N, --literal menampilkan nama masukan raw (jangan perlakukan " "e.g. kontrol\n" " karakter spesial)\n" " -o, seperti -l, tetapi tidak mendaftar informasi " "grup\n" " -p, --indicator-style=slash\n" " menambahkan / indikator ke direktori\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars menampilkan ? daripada karakter bukan gambar\n" " --show-control-chars menampilkan karakter bukan gambar seperti itu " "(default\n" " kecuali aplikas adalah `ls' dan output adalah " "sebuah terminal)\n" " -Q, --quote-name enclose nama masukan dalam tanda petik\n" " --quoting-style-chars gunakan quoting style KATA untuk masukan nama:\n" " literal, local, shell, shell-always, c, escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse balik urutan ketika mengurutkan\n" " -R, --recursive daftar subdirektori secara rekursif\n" " -s, --size tampilkan ukuran dari setiap berkas yang " "dialokasikan, dalam blok\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S mengurutkan dengan ukuran berkas\n" " --sort=WORD urutkan dengan WORD daripada dari nama: none -" "U,\n" " ekstensi -X, besar -S, waktu -t, versi -v\n" " --time=WORD dengan -l, menampilkan waktu seperti WORD " "daripada modifikasi\n" " waktu; atime -u; access -u, use -u, ctime -c,\n" " atau status -c; gunakan spesifikasi waktu " "sebagai kunci pengurut\n" " jika --sort=time\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style dengan -l, menampilkan waktu menggunakan gaya " "STYLE:\n" " full-iso, long-iso, iso, local, +FORMAT.\n" " FORMAT diinterpretasikan seperti `date'; jika " "FORMAT adalah\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies ke\n" " berkas tidak recent dan FORMAT2 ke berkas " "baru;\n" " jika STYLE di awali dengan `posix-', STYLE\n" " berpengaruh hanya diluar POSIX locale\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t urutkan sesuai dengan waktu modifikasi\n" " -T, --tabsize=COLS asumsikan tab stops ada di setiap COLS " "daripada 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u dengan -lt; urutkan dengan, dan tampilkan, " "waktu akses\n" " dengan -l; tampilkan waktu akses dan urutkan " "dengan nama\n" " jika tidak; urutkan dengan waktu akses\n" " -U jangan urutkan; daftar masukan dalam urutan " "direktori\n" " -v urutkan sesuai dengan versi\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, -width=COLS asumsikan lebar layar daripada nilai sekarang\n" " -x daftar masukan dengan baris daripada dengan " "kolom\n" " -X urutkan secara alphabet dengan ekstensi " "masukan\n" " -X, --context tampilkan konteks keamanan SELinunx apapun " "untuk setiap berkas\n" " -1 tampilkan sat berkas per baris\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Menggunakan warna untuk membedakan tipe berkas adalah tidak aktif baik baku " "dan\n" "dengan --color=never. Dengan --color=auto, ls mengeluarkan kode warna hanya\n" "ketika standar keluaran terhubung ke sebuah terminal. Variabel lingkungan " "LS_COLORS\n" "dapat mengubah konfigurasi ini. Gunakan perintah dircolors untuk " "mengubahnya.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Status keluar:\n" " 0 jika OK,\n" " 1 jika ada masalah kecil (contoh: tidak dapat mengakses direktori " "dibawahnya),\n" " 2 jika ada masalah besar (contoh: tidak dapat mengakses argumen baris " "perintah).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Penggunaan: %s [PILIHAN]... [BERKAS]...\n" "Tampilkan atau periksa %s (%d-bit) checksums.\n" "dengan tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary baca dalam mode binary (default kecuali membaca " "tty stdin)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary baca dalam mode binary\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check baca %s sums dari BERKAS dan periksa mereka\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text baca dalam mode text (default jika membaca tty " "stdin)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text baca dalam mode text (default)\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Tiga pilihan berikut hanya berguna jika memverifikasi checksums:\n" " --quiet jangan menampilkan OK untuk setiap sukses dalam " "memverifikasi berkas\n" " --status jangan mengeluarkan apapun, kode status menunjukan " "sukses\n" " -w, --warn peringatkan tentang format yang tidak sesuai " "dengan baris checksum\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Sum dihitung sesuai dijelaskan dalam %s. Ketika memeriksa, masukan\n" "seharusnya adalah keluaran sebelumnya dari aplikasi ini. Mode default adalah " "menampilkan\n" "sebuah baris dengan checksum, sebuah karakter mengindikasikan tipe (`*' " "untuk binary, ` ' untuk \n" "text), dan nama untuk setiap BERKAS.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: terlalu banyak baris checksum" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: baris checksum %s terformat secara tidak benar" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: GAGAL membuka atau membaca\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "GAGAL" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: tidak ada baris checksum %s yang di format secara benar ditemukan" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: baris checksum %s terformat secara tidak benar" msgstr[1] "%s: %<PRIuMAX>: baris checksum %s terformat secara tidak benar" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" "PERINGATAN: %<PRIuMAX> dari %<PRIuMAX> daftar berkas tidak dapat dibaca" msgstr[1] "" "PERINGATAN: %<PRIuMAX> dari %<PRIuMAX> daftar berkas tidak dapat dibaca" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "PERINGATAN: %<PRIuMAX> dari %<PRIuMAX> checksum yang terhitung TIDAK cocok" msgstr[1] "" "PERINGATAN: %<PRIuMAX> dari %<PRIuMAX> checksum yang terhitung TIDAK cocok" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "pilihan --status hanya berguna ketika memverifikasikan checksum" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "Pilihan --binary dan --text tidak berarti ketika memverifikasikan checksum" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "pilihan --status hanya berguna ketika memverifikasikan checksum" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "pilihan --warn hanya berguna ketika memverifikasikan checksum" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "pilihan --quiet hanya berguna ketika memverifikasikan checksum" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "pilihan --status hanya berguna ketika memverifikasikan checksum" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Penggunaan: %s [PILIHAN]... DIREKTORI...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Membuat DIREKTORI, jika mereka tidak sudah ada.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE set mode berkas (seperti dalam chmod), bukan a=rwx - " "umask\n" " -p, --parents tidak error jika sudah ada, buat direktori orang tua jika " "dibutuhkan\n" " -v, --verbose tampilkan sebuah pesan untuk setiap direktori yang " "dibuat\n" " -Z, --context=CTX set konteks keamanan SELinux dari setiap direktori\n" " yang dibuat ke CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "direktori %s dibuat" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Penggunaan: %s [PILIHAN]... NAMA...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Buat pipe bernama (FIFO) dengan NAMA yang diberikan.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=MODE set ijin berkas bits ke MODE, bukan a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX set konteks keamanan SELinux dari setiap NAMA ke CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "mode tidak valid" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "mode seharusnya menspesifikasikan hanya berkas ijin bits" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Penggunaan: %s [PILIHAN]... NAMA TIPE [MAJOR MINOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Buat sebuah berkas spesial NAMA dengan TIPE yang diberikan.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr " -Z, --context=CTX set konteks keamanan SELinux dari NAMA ke CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Kedua MAJOR dan MINOR harus dispesifikasikan ketika TIPE adalah b, c, atau " "u, dan mereka\n" "harus diabaikan ketika TIPE adalah p. Jika MAJOR atau MINOR dimulai dengan " "0x atau 0X,\n" "Ini diinterpretasikan sebagai hexadesimal; jika tidak, jika ini dimulai " "dengan 0, seperti oktal;\n" "jika tidak, sebagai desimal. TIPE mungkin juga:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b buat sebuah berkas spesial blok (buffered)\n" " c, u buat sebuah berkas spesial karakter (unbuffered)\n" " p membuat sebuah FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Berkas spesial membutuhkan nomor perangkat major dan minor." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO tidak memiliki nomor perangkat major dan minor." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blok berkas spesial tidak didukung" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "karakter berkas spesial tidak didukung" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "nomor perangkat major tidak valid %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "nomor perangkat minor tidak valid %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "perangkat %s %s tidak valid" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "tipe perangkat %s tidak valid" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Penggunaan: %s [PILIHAN]... [TEMPLATE]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Buat sebuah berkas atau direktori sementara, secara aman, dan tampilkan " "namanya.\n" "TEMPLATE harus berisi paling tidak 3 'X' berurutan dalam komponen terakhir.\n" "Jika TEMPLATE tidak dispesifikasikan, gunakan tmp.XXXXXXXXXXX.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory buat sebuah direktori, bukan sebuah berkas\n" " -u, --dry-run jangan buat apapun; hanya tampilkan sebuah nama (tidak " "aman)\n" " -q, --quiet tekan diagnosa mengenai kegagalan pembuatan berkas/" "direktori\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=AKHIR tambahkan AKHIRAN ke TEMPLATE. AKHIRAN tidak boleh " "berisi slash.\n" " Pilihan ini mengindikasikan jika TEMPLATE tidak " "berakhir dalam X.\n" #: src/mktemp.c:87 #, fuzzy msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] interpretasikan TEMPLATE relatif ke DIREKTORI. Jika " "DIREKTORI\n" " tidak dispesifikasikan. Gunakan $TMPDIR jika diset, " "selain itu /tmp.\n" " dengan pilihan ini, TEMPLATE tidak seharusnya sebuah " "nama abosolute.\n" " tidak seperti -t, TEMPLATE mungkin berisi slash, " "tetapi bahkan\n" " disini, mktemp tetap hanya membuat komponen " "terakhir.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIREKTORI gunakan DIREKTORI sebagai awalan; mengindikasikan -t " "[ditinggalkan]\n" " -t interpretasikan TEMPLATE sebagai sebuah nama komponen " "berkas tunggal,\n" " relatif ke sebuah direktori: $TMPDIR, jika diset; " "selain itu\n" " direktori relatif melalui -p; selain itu /tmp " "[ditinggalkan]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "gagal untuk mengarahkan stderr ke /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "terlalu banyak template" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "dengan --suffix, template %s harus berakhir dalam X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "akhiran tidak valid %s, berisi pemisah direktori" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "terlalu sedikit X dalam template %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "template tidak valid, %s, berisi pemisah direktori" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "template tidak valid, %s; dengan --tmpdir, ini mungkin bukan absolut" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "gagal untuk membuat direktori melalui template %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "gagal untuk membuat berkas melalui template %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Mengubah nama SUMBER menjadi TUJUAN, atau memindahkan SUMBER ke DIREKTORI.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] buat sebuah backup untuk setiap berkas tujuan " "yang sudah ada\n" " -b seperti --backup tetapi tidak menerima sebuah " "argumen\n" " -f, --force jangan tanya sebelum menimpa penulisan\n" " -i, --interactive tanya sebelum menimpa penulisan ke berkas " "yang sudah ada\n" "Jika anda menspesifikasikan lebih dari salah satu dari -i, -f, -n, hanya " "yang terakhir yang berpengaruh.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes hapus akhiran slash apapun dari setiap " "SUMBER\n" " argumen\n" " -S, --suffix=SUFFIX memaksa akhiran backup biasa\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIREKTORI pindahkan seluruh argumen SUMBER kedalam " "DIREKTORI\n" " -T, --no-target-directory perlakukan TUJUAN sebagai sebuah berkas " "normal\n" " -u, --update pindahkan hanya ketika berkas SUMBER adalah " "lebih baru\n" " dari tujuan berkas atau ketika berkas tujuan\n" " hilang\n" " -v, --verbose jelaskan apa yang sedang dilakukan\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Penggunaan: %s [PILIHAN] [PERINTAH [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Jalankan PERINTAH dengan niceness yang telah disesuaikan, yang berpengaruh " "ke penjadwalan proses.\n" "Dengan tidak ada PERINTAH, menampilkan niceness sekarang. niceness berada di " "antara\n" "%d (yang paling disukai dalam penjadwalan) ke %d (paling tidak disukai).\n" "\n" " -n, --adjustment=N tambahkan integer N ke niceness (default 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "adjustmen %s tidak valid" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "sebuah perintah harus diberikan dengan sebuah adjustmen" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "tidak dapat memperoleh niceness" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "tidak dapat menset niceness" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulis setiap BERKAS ke standar keluaran, dengan ditambahkan nomor baris.\n" "Dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STYLE gunakan STYLE untuk penomoran baris\n" " -d, --section-delimiter=CC gunakan CC untuk memisahkan halaman " "logikal\n" " -f, --footer-numbering=STYLE gunakan STYLE untuk penomoran baris " "footer\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STYLE gunakan STYLE untuk penomoran baris " "header\n" " -i, --line-increment=NUMBER nomor baris dinaikan di setiap baris\n" " -l, --join-blank-lines=NUMBER grup dari NOMOR baris kosong dihitung " "sebagai satu\n" " -n, --number-format=FORMAT masukan nomor baris menurut FORMAT\n" " -p, --no-renumber jangan reset nomor baris ke logikal " "halaman\n" " -s, --number-separator=STRING tambahkan STRING sesudah (yang mungkin) " "nomor baris\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NOMOR nomor baris pertama untuk setiap " "halaman logikal\n" " -w, --number-width=NOMOR gunakan NOMOR kolom untuk setiap nomor " "baris\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Secara default, pilih -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC adalah\n" "dua pembatas karakter untuk memisahkan halaman logikal, sebuah karakter\n" "yang hilang menandakan : Tipe \\\\ untuk \\. STYLE adalah satu dari:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a nomori seluruh baris\n" " t nomori hanya baris yang tidak kosong\n" " n nomori bukan baris\n" " pBRE nomor hanya baris yang berisi cocok untuk ekspresi sederhana " "regular, BRE\n" "\n" "FORMAT adalah salah satu dari:\n" "\n" " ln dirapatkan ke kiri, tidak diawali nol\n" " rn dirapatkan ke kanan, tidak diawali nol\n" " rz dirapatkan ke kanan, diawali nol\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "nomor baris overflow" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "gaya penomoran header: %s tidak valid" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "gaya penomoran body: %s tidak valid" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "gaya penomoran footer: %s tidak valid" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "awalan nomor baris: %s tidak valid" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "nomor baris increment: %s tidak valid" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "jumlah dari baris kosong: %s tidak valid" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "lebar field nomor baris: %s tidak valid" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "format penomoran baris: %s tidak valid" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s PERINTAH [ARG]...\n" " atau: %s PILIHAN\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Jalankan PERINTAH, mengabaikan sinyal hangup.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Jika standar masukan adalah sebuah terminal, redirect itu dari /dev/null.\n" "Jika standar keluaran adalah sebuah terminal, tambahkan keluaran ke `nohup." "out' jika memungkinkan,\n" "'$HOME/nohup.out' jika tidak.\n" "Jika standar error adalah sebuah terminal, redirect itu ke standar " "keluaran.\n" "Untuk menyimpan BERKAS keluaran, gunakan `%s PERINTAH > BERKAS'.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "gagal untuk me-'render' masukan baku yang tidak berguna" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "mengabaikan masukan" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "mengabaikan masukan dan menambahkan keluaran ke %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "menambahkan keluaran ke %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "gagal untuk menset salinan dari stderr untuk ditutup pada saat exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "mengabaikan masukan dan meredirect stderr ke stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "meredirect stderr ke stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "gagal untuk meredirect standar error" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Penggunaan: %s [PILIHAN]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Tampilkan jumlah satuan pemrosesan yang tersedia di proses saat ini,\n" "yang mungkin lebih kecil dari jumlah prosesor online\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all tampilkan jumlah dari prosesor yang terpasang\n" " --ignore=N jika memungkinkan, abaikan N satuan pemrosesan\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: nomor tidak valid diabaikan" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: nilai tidak secara lengkap diubah" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "nomor %s tidak valid" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "akhiran dalam %s%s tidak valid argumen `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: gagal untuk membuka untuk menulis" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "ukuran tab tidak valid: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Penggunaan: %s [PILIHAN]... [PENGGUNA]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Pilihan lain:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "format %s tidak memiliki %% direktif" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "format lebar tidak valid" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "format %s berakhir dalam %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "format %s memiliki terlalu banyak %% direktif" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "akhiran dalam %s%s tidak valid argumen `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "jangkauan halaman %s tidak valid" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "nomor field tidak valid: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "tanggal tidak valid %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "berkas operand tidak dapat dikombinasikan dengan --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "berkas operand tidak dapat dikombinasikan dengan --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "banyak pilihan -i dispesifikasikan" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "berkas operand tidak dapat dikombinasikan dengan --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "error membaca %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "gagal untuk me-'render' masukan baku yang tidak berguna" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Penggunaan: %s [PILIHAN]... [BERKAS]...\n" " atau: %s [-abcdfilosx]... [BERKAS] [[+]OFFSET[.][b]]\n" " atau: %s --traditional [PILIHAN]... [BERKAS] [[+]OFFSET[.][b] [+]" "[LABEL][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Tulis sebuah represetasi ambigu, oktal byte secara default,\n" "dari BERKAS ke standar keluaran. Dengan lebih dari satu BERKAS argumen,\n" "concatenate mereka dalam daftar urutan ke dalam bentuk masukan.\n" "dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Jika format pemanggilan pertama dan kedua kedua diaplikasikan, format kedua " "diasumsikan\n" "jika operand terakhir diawali dengan + atau (jika disana ada 2 operand) " "sebuah digit.\n" "Sebuah OFSET operand berarti -j OFSET. LABEL adalah pseudo-address\n" "di byte pertama yang ditampilkan, naikan ketika dump berjalan.\n" "Untuk OFFSET dan LABEL, sebuah awalan 0x atau 0X mengindikasikan " "hexadesimal;\n" "akhiran mungkin . untuk oktal dan b untuk kelipatan dari 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX tentukan bagaimana berkas ofset ditampilkan\n" " -j, --skip-bytes=BYTES lewati BYTES masukan awal byte\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES batasi dump ke BYTE masukan byte\n" " -S, --strings[=BYTES] keluarkan string dari paling tidak karakter " "BYTES gambar\n" " -t, --format=TYPE pilih format keluaran atau format\n" " -v, --output-duplicates jangan gunakan * untuk menandai penekanan " "baris\n" " -w, --width[=BYTES] keluarkan byte BYTES per baris keluaran\n" " --traditional menerima argumen dalam format tradisional\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Spesifikasi format tradisional mungkin tercampur; mereka berakumulasi:\n" " -a sama seperti -t a, pilih karakter bernama, mengabaikan high-order " "bit\n" " -b sama seperti -t o1, pilih oktal bytes\n" " -c sama seperti -t c, pilih ASCII karakter atau backslash escapes\n" " -d sama seperti -t u2, pilih unsigned desimal 2-byte units\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f sama seperti -t fF, pilih floats\n" " -i sama seperti -t dI, pilih desimal ints\n" " -l sama seperti -t dL, pilih desimal longs\n" " -o sama seperti -t o2, pilih oktal 2-byte units\n" " -s sama seperti -t d2, pilih desimal 2-byte units\n" " -x sama seperti -t x2, pilih hexadesimal 2-byte units\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPE dibuat dari satu atau lebih dari spesifikasi berikut:\n" "\n" " a karakter bernama, mengabaikan high-order bit\n" " c karakter ASCII atau backslash escape\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[SIZE] signed desimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] oktal, SIZE bytes per integer\n" " u[SIZE] unsigned desimal, SIZE bytes per integer\n" " x[SIZE] hexadesimal, SIZE bytes per integer\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "SIZE adalah sebuah nomor. Untuk TIPE dalam doux, SIZE mungkin juga C untuk\n" "sizeof(char), S untuk sizeof(short), I untuk sizeof(int) atau L untuk\n" "sizeof(long). Jika TYPE adalah f, SIZE mungkin juga F untuk sizeof (float), " "D\n" "untuk sizeof (double) atau L untuk sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K mungkin memiliki sebuah akhiran pengali:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "tipe string %s tidak valid" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "tipe string %s tidak valid;\n" "Sistem ini tidak memberikan sebuah tipe %lu-byte integral" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "Tipe string %s tidak valid;\n" "Sistem ini tidak memberikan sebuah %lu-byte tipe floating point" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "karakter `%c' tidak valid dalam tipe string %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "tidak dapat melewatkan akhir dari kombinasi masukan" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "keluaran alamat radix `%c' tidak valid; ini harus berupa sebuah karakter " "dari [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "tidak ada tipe yang bisa dispesikasikan ketika mendump strings" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "mode kompabilitas melayani di setiap berkas." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "Skip-bytes + read-bytes terlalu besar" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "peringatan: lebar tidak valid %lu; menggunakan %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: sinyal tidak valid" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standar masukan telah ditutup" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulis baris berisi dari baris berurut dari\n" "setiap BERKAS, dipisahkan dengan TAB, ke standar keluaran.\n" "Dengan tidak ada BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LIST gunakan karakter dari LIST daripada dari TAB\n" " -s, --serial paste satu berkas di satu waktu daripada secara " "paralel\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "daftar pembatas berakhir dengan sebuah unescaped backslash: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnosa tidak valid atau nama berkas tidak portabel.\n" "\n" " -p periksa untuk kebanyakan sistem POSIX\n" " -P periksa untuk nama kosong dan diawali dengan \"-\"\n" " --portability periksa untuk seluruh sistem POSIX (sama dengan -p -" "P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "diawali `-' dalam sebuah komponen dari nama berkas %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "karakter %s tidak portabel dalam nama berkas %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "nama berkas kosong" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: tidak dapat menentukan panjang nama berkas maksimal" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "batas %lu dilewati oleh panjang %lu dari nama berkas %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "batas %lu dilewati dengan panjang %lu dari komponen nama berkas %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nama login: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Dalam kehidupan nyata: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Direktori: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projek: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Rencana:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Nama" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Idle" #: src/pinky.c:411 msgid "When" msgstr "Ketika" #: src/pinky.c:414 msgid "Where" msgstr "Dimana" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Penggunaan: %s [PILIHAN]... [PENGGUNA]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l menghasilkan format keluaran panjang untuk PENGGUNA yang " "dispesifikasikan\n" " -b mengabaikan direktori rumah pengguna dan shell dalam " "format panjang\n" " -h mengabaikan berkas projek pengguna dalam format panjang\n" " -p mengabaikan berkas rencana pengguna dalam format panjang\n" " -s jangan memendekan format keluaran, ini adalah default\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f mengabaikan baris dari heading kolom dalam format pendek\n" " -w mengabaikan nama lengkap pengguna dalam format pendek\n" " -i mengabaikan nama lengkap pengguna dan remote host dalam " "format pendek\n" " -q mengabaikan nama lengkap pengguna, remote host dan waktu " "idle\n" " dalam format pendek\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Sebuah aplikasi ringan `finger'; menampilkan informasi pengguna.\n" "Berkas utmp akan berada %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "jika tidak ada spesifikasi nama pengguna; paling tidak satu harus " "dispesifikasikan ketika menggunakan -l" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=FIRST_PAGE[:LAST_PAGE]' argumen hilang" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "jangkauan halaman %s tidak valid" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l PAGE_LENGTH' nomor baris tidak valid: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N NOMOR' tidak valid dimulai dibaris nomor: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o MARGIN' tidak valid di baris ofset: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w PAGE_WIDTH' tidak valid jumlah dari karakter: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W PAGE_WIDTH' tidak valid jumlah dari karakter: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "tidak dapat menspesifikasikan jumlah dari kolom ketika menampilkan dalam " "paralel" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "tidak dapat menspesifikasikan baik mencetak across dan mencetak dalam paralel" #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' kelebihan karakter atau jumlah tida valid dalam argumen: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "lebar halaman terlalu kecil" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "nomor halaman dimulai dari %<PRIuMAX> melebihi jumlah halaman %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "jumlah halaman berlebihan" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Halaman %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Paginate atau columnate BERKAS untuk dicetak.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " dimulai [stop] dicetak dengan halaman FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " keluarkan KOLOM kolom dan tampilkan kolom turun,\n" " kecuali -a digunakan. Seimbangkan jumlah dari baris " "dalam\n" " kolom disetiap halaman.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across menampilkan kolom across daripada turun, gunakan " "bersama\n" " dengan -COLUMN\n" " -c, --show-control-chars\n" " gunakan notasi topi (^G) dan notasi backslash oktal\n" " -d, --double-space\n" " keluaran menggunakan dua spasi\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " gunakan FORMAT untuk header tanggal\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand masukan CHAR (TAB) ke LEBAR tab (8)\n" " -F, -f, --form-feed\n" " gunakan form feed daripada baris baru untuk memisahkan " "halaman\n" " (dengan 3 baris per halaman header dengan -F atau sebuah " "5 baris header\n" " dan trailer tanpat -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=HEADER\n" " gunakan HEADER ditengah daripada nama berkas dalam " "halaman header,\n" " -h \"\" mencetak sebuah baris kosong, jangan menggunakan " "-h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " menggantikan spasi dengan CHAR (TAB) ke LEBAR tab (8)\n" " -J, --join-lines gabungkan baris penuh, matikan -W line truncation, tidak " "ada kolom\n" " penyesuaian, --sep-string[=STRING] set pemisah\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=PAGE_LENGTH\n" " set panjang halaman ke PAGE_LENGTH (66) baris\n" " (default jumlah baris dari text 56, dan dengan -F 63)\n" " -m, --merge menampilkan seluruh berkas dalam paralel, satu di setiap " "kolom,\n" " truncate baris, tetapi gabungkan baris dari lebar " "panjang lengkap dengan -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " jumlah baris, gunakan DIGITS (5) digits, kemudian SEP " "(TAB),\n" " default jumlah dimulai dengan baris pertama dari berkas " "masukan\n" " -N, --first-line-number=NUMBER\n" " dihitung dimulai dengan NUMBER di baris pertama dari " "berkas\n" " pertama yang ditampilkan (lihat +FIRST_PAGE)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGIN\n" " ofset setiap baris dengan MARGIN (nol) spasi, jangan\n" " pengaruhi dengan -w atau -W, MARGIN akan ditambahkan ke " "PAGE_WIDTH\n" " -r, --no-file-warnings\n" " abaikan peringatan ketika sebuah berkas tidak dapat " "dibuka\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CHAR], --separator[=CHAR]\n" " pisahkan kolom dengan sebuah karakter tunggal, baku " "untuk CHAR\n" " adalah karakter <TAB> tanpa -w dan 'no char' dengan -w\n" " -s[CHAR] mematikan pemotongan baris dari seluruh 3 " "kolom\n" " pilihan (-COLUMN|-a -COLUMN|-m) kecuali -w diset\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SSTRING, --sep-string[=STRING]\n" " pisahkan kolom dengan STRING,\n" " tanpa -S: Pemisah default <TAB> dengan -J dan <spasi>\n" " jika tidak (sama seperti -S\" \"), tidak berpengaruh di " "pilihan kolom\n" " -t, --omit-header abaikan header halaman dan akhiran\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " abaikan header dan trailers halaman, hapus pagination " "apapun\n" " dari form feeds diset dalam berkas masukan\n" " -v, --show-nonprinting\n" " gunakan notasi oktal backslash\n" " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" " set lebar halaman ke PAGE_WIDTH (72) karakter untuk\n" " keluaran multiple text-kolom saja, -s[char] matikan " "(72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=PAGE_WIDTH\n" " set lebar halaman ke selalu PAGE_WIDTH (72) karakter,\n" " potong baris, kecuali pilihan -J diset, no " "interference\n" " dengan -S atau -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t mengindikasikan jika PAGE_LENGTH <= 10. Dengan tidak ada BERKAS, atau " "ketika\n" "BERKAS adalah -, baca standar masukan.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Penggunaan: %s [PILIHAN]... [VARIABEL]...\n" "Tampilkan nilai dari VARIABEL yang dispesifikasikan oleh lingkungan.\n" "Jika tidak ada VARIABEL lingkungan yang dispesifikasikan, tampilkan " "semuanya.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null akhiri setiap baris keluaran dengan 0 byte daripada baris " "baru\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "peringatan: %s: karakter mengikuti konstan karakter telah diabaikan" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s FORMAT [ARGUMEN]...\n" " atau: %s PILIHAN\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Menampilkan ARGUMEN menurut FORMAT, atau menjalankan menurut PILIHAN:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT kontrol keluaran seperti dalam C printf. Interpretasikan urutan " "seperti:\n" "\n" " \\\" tanda petik\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN karakter dengan nilai oktal NNN (1 sampai 3 digit)\n" " \\xHH byte dengan nila heksadesimal HH (1 sampai 2 bilangan)\n" " \\uHHHH Unicode (ISO/IEC 10646) karakter dengan nilai heksadesimal HHHH " "(4 bilangan)\n" " \\UHHHHHHHH Unicode karakter dengan nilai heksadesimal HHHHHHHH (8 " "bilangan)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% sebuah %\n" " %b ARGUMEN sebagai sebuah string dengan `\\' escapes " "diinterpretasikan,\n" " kecuali oktal tersebut escapes adalah dalam bentuk \\0 atau " "\\0NNN\n" "\n" "dan seluruh spesifikasi C format berakhir dengan satu dari diouxXfeEgGcs, " "dengan\n" "ARGUMEN diubah ke type yang sesuai terlebih dahulu. Lebar variabel ditangani " "terlebih dahulu.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: diperkirakan sebuah nilai numerik" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: nilai tidak secara lengkap diubah" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "hilang nomor heksadesimal dalam escape" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "universal nama karakter \\%c%0*x tidak valid" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "lebar field tidak valid: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "presisi tidak valid: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: spesifikasi konversi tidak valid" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "peringatan: mengabaikan kelebihan argumen, dimulai dengan %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (untuk regexp %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Penggunaan: %s [PILIHAN]... [MASUKAN]... (tanpa -G)\n" " atau: %s -G [PILIHAN]... [INPUT [OUTPUT]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Keluarkan sebuah index yang termutasi, termasuk konteks, dari kata dalam " "berkas masukan.\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference keluarkan secara otomatis referensi yang " "dihasilkan\n" " -G, --traditional berperilaku lebih seperti System V `ptx'\n" " -F, --flag-truncation=STRING gunakan STRING untuk flagging pemotongan " "baris\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRING nama macro yang digunakan daripada `xx'\n" " -O, --format=roff menghasilkan keluaran seperti direktif " "roff\n" " -R, --rigth-side-refs letakan referensi dikanan, tidak dihitung " "dalam -w\n" " -S, --sentence-regexp=REGEXP untuk akhir dari baris atau akhir dari " "kalimat\n" " -T, --format=tex menghasilkan keluaran seperti direktif Tex\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP gunakan REGEXP untuk mencocokan setiap " "keyword\n" " -b, --break-file=BERKAS karakter pemisah kata dalam BERKAS ini\n" " -f, --ignore-case ubah huruf kecil ke huruf besar untuk " "pengurutan\n" " -g, --gap-size=NUMBER ukuran gap dalam kolom diantara fields " "keluaran\n" " -i, --ignore-file=FILE baca daftar kata yang diabaikan dari " "BERKAS\n" " -o, --only-file=FILE baca hanya daftar kata saja dari BERKAS " "ini\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references field pertama dari setiap baris adalah " "sebuah referensi\n" " -t, --typeset-mode - tidak diimplementasikan -\n" " -w, --width=NUMBER lebar keluaran dalam kolom, referensi " "diabaikan\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Dengan tanpa BERKAS atau jika BERKAS adalah -, baca Standar Masukan. `-F /' " "secara default.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "lebar gap tidak valid: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Tampilkan nama berkas lengkap dari direktori kerja sekarang.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical gunakan PWD dari lingkungan, bahkan jika itu berisi " "symlinks\n" " -P, --physical hindari semua symlinks\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "gagal untuk chdir ke %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "gagal memperoleh statistik %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "tidak dapat menemukan masukan direktori di %s dengan -node yang cocok" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "mengabaikan argumen bukan pilihan" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Penggunaan: %s [PILIHAN]... BERKAS...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Tampilkan nilai dari sebuah link atau kanonikal nama berkas\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize canonicalize dengan mengikuti setiap symlink " "dalam\n" " setiap komponen yang diberikan nama secara " "rekursif;\n" " semua tetapi komponen terakhir harus ada\n" " -e, --canonicalize-existing canonicalize dengan mengikuti setiap symlink " "dalam\n" " setiap komponen dari nama yang diberikan " "secara rekursif,\n" " semua komponen harus ada\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing canonicalize dengan mengikuti setiap symlink " "dalam\n" " setiap komponen dari nama yang diberikan " "secara rekursif,\n" " tanpa persyaratan di keberadaan komponen\n" " -n, --no-newline jangan mengeluarkan akhiran baris baru\n" " -q, --quiet,\n" " -s, --silent menekan hampir seluruh pesan error\n" " -v, --verbose melaporkan pesan error\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "mengabaikan argumen bukan pilihan" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: descend ke write-protected direktori %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: berlanjut ke direktori %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: menghapus write-protected %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: menghapus %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "menghapus direktori: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "tidak dapat menghapus direktori: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "melewatkan %s, karena ini ada di perangkat berbeda" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "traversal gagal: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "kegagalan tidak terduga: fts_info=%d: %s\n" "mohon laporkan ke %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Coba `%s ./%s' untuk menghapus berkas %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Hapus (unlink) BERKAS.\n" "\n" " -f, --force abaikan berkas yang tidak ada, jangan menanyakan\n" " -i tanya setiap akan menghapus\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I tanya sekali sebelum menghapus lebih dari tiga " "berkas, atau\n" " ketika menghapus secara rekursif. Kurang intrusive " "daripada -i,\n" " ketika tetap memberikan proteksi terhadap setiap " "kesalahan\n" " --interactive[=WHEN] tanya menurut WHEN: never, once (-I), atau\n" " always (-i). Tanpa WHEN, selalu bertanya\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system ketika menghapus sebuah hierarki secara rekursif, " "lewati\n" " direktori apapun yang ada di sebuah sistem berkas " "berbeda dari\n" " yang berhubungan dengan argumen baris perintah\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root jangan perlakukan `/' secara spesial\n" " --preserve-root jangan menghapus `/' (default)\n" " -r, -R, --recursive hapus direktori dan isinya secara rekursif\n" " -v, --verbose jelaskan apa yang sedang dilakukan\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Secara default, rm tidak menghapus direktori. Gunakan --recursive (-r atau -" "R)\n" "untuk menghapus direktori, juga, sesuai dengan seluruh isinya.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Untuk menghapus sebuah berkas yang namanya dimulai dengan sebuah `-', " "sebagai contoh `-foo',\n" "gunakan salah satu dari perintah berikut:\n" " %s -- -f\n" "\n" " %s ./-foo\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Catat jika anda menggunakan rm untuk menghapus sebuah berkas, biasanya ini " "masih memungkinkan\n" "untuk menyelamatkan isi dari berkas tersebut. Jika anda ingin kepastian " "lebih lanjut mengenai isi yang\n" "benar benar tidak dapat diselamatkan, pertimbangkan menggunakan shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: hapus seluruh argumen rekursif? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: hapus seluruh argumen? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "menghapus direktori, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "gagal untuk menghapus direktori %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Hapus DIREKTORI, jika mereka kosong.\n" "\n" " --ignore-fail-on-non-empty\n" " abaikan setiap kegagalan yang hanya disebabkan oleh " "sebuah\n" " direktori yang tidak kosong\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents hapus DIREKTORI dan pendahulunya. Contoh, `rmdir -p a/b/c' " "adalah\n" " sama dengan `rmdir a/b/c a/b c'.\n" " -v, --verbose keluarkan sebuah pesan diagnosis untuk setiap direktori " "yang diproses\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "gagal untuk menghapus %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Penggunaan: %s CONTEXT PERINTAH [args]\n" " atau: %s [ -c ] [-u PENGGUNA] [-r PERAN] [-t TIPE] [-l JANGKAUAN] " "PERINTAH [args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Jalankan sebuah aplikasi dalah konteks keamanan yang berbeda.\n" "Dengan tidak menggunakan KONTEKS atau PERINTAH, tampilkan konteks keamanan " "sekarang.\n" "\n" " CONTEXT Lengkapi konteks keamanan\n" " -c, --compute hitung proses transisi konteks sebelum memodifikasinya\n" " -t, --type=TIPE TIPE (untuk beberapa peran yang sama dengan orang tua)\n" " -u, --user=USER identitas pengguna\n" " -r, --role=ROLE peran\n" " -l, --range=RANGE tingkatjangkauan\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "banyak peran" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "banyak tipe" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "banyak pengguna" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "banyak tingkat jangkauan" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "gagal memperolek konteks sekarang" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "anda harus menspesifikasikan -c, -t, -u, -l, -r, atau konteks" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "tidak ada perintah yang dispesifikasikan" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s mungkin hanya bisa digunakan dalam kernel SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "gagal untuk menghitung konteks baru" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "gagal untuk menset pengguna baru %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "gagal untuk menset tipe baru %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "gagal untuk menset jangkauan baru %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "gagal untuk menset peran baru %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "gagal untuk menset konteks keamanan %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Penggunaan: %s [PILIHAN]... TERAKHIR\n" " atau: %s [PILIHAN]... PERTAMA TERAKHIR\n" " atau: %s [PILIHAN]... PERTAMA PENINGKATAN TERAKHIR\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Menampilkan nomor dari PERTAMA hingga TERAKHIR, dalam langkah dari " "PENINGKATAN.\n" "\n" " -f, --format=FORMAT gunakan gaya sprintf floating-point FORMAT\n" " -s, --separator=STRING gunakan STRING untuk memisahkan nomor (default: " "\\n)\n" " -w, --equal-width samakan lebar dengan menambahkan dengan awalan " "nol\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Jika PERTAMA atau PENINGKATAN diabaikan, ini default ke 1. Oleh karena itu, " "sebuah\n" "pengabaian PENINGKATAN default ke 1 walaupun akhir lebih kecil dari " "PERTAMA.\n" "PERTAMA, PENINGKATA, dan TERAKHIR diintepretasikan sebagai nilai floating " "point.\n" "PENINGKATAN biasanya positif jika PERTAMA lebih kecil dari TERAKHIR, dan\n" "PENINGKATAN biasanya negatif jika PERTAMA lebih besar dari TERAKHIR.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT lebih sesuai untuk pencetakan sebuah argumen dari tipe `double';\n" "ini default ke %.PRECf jika PERTAMA, PENINGKATAN, dan TERAKHIR seluruhnya\n" "bilangan bulat desimal dengam maksimal presisi PREC, dan sampai %g jika " "tidak.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argumen floating point tidak valid: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "format %s memiliki %%%c direktif tidak diketahui" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "format string mungkin tidak dispesifikasikan ketika menampilkan string " "dengan lebar sama" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Penggunaan: %s [PILIHAN-PENDEK]... PERINTAH PENGGUNA [ARGUMEN]...\n" " atau: %s PILIHAN-PANJANG\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Tinggalkan grup tambahan apapun, asumsikan ID pengguna dan ID grup dari yang " "dispesifikasikan\n" "PENGGUNA (ID numerik atau nama pengguna), dan jalankan PERINTAH dengan " "spesifikasi ARGUMEN.\n" "Keluar dengan status 111 jika tidak dapat mengasumsikan ID pengguna dan grup " "yang dibutuhkan.\n" "Jika tidak, keluar dengan status keluar dari PERINTAH.\n" "Aplikasi ini hanya berguna ketika dijalankan oleh root (ID pengguna nol).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] juga menset ID grup utama ke GID numerik, dan\n" " (jika dispesifikasikan) tambahkan ID grup ke GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ID pengguna tidak diketahui: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "untuk menggunakan ID pengguna %s anda juga harus menggunakan pilihan -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "gagal untuk menset grup tambahan" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "tidak dapat menset ID grup ke %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "tidak dapat menset ID pengguna ke %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Overwrite BERKAS yang dispesifikasikan secara berulang, dengan tujuan untuk " "membuatnya susah\n" "untuk bahkan perangkat mahal probing untuk menyelematkan data.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force ubah ijin untuk mengijinkan menulis jika diperlukan\n" " -n, --iterations=N tulis N kali dari pada baku (%d)\n" " --random-source=BERKAS peroleh random byte dari BERKAS\n" " -s, --size=N shred sebanyak bytes ini (akhiran seperti K, M, G " "diterima)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove potong dan hapus berkas setelah di paksa tulis\n" " -v, --verbose tampilkan perkembangan\n" " -x, --exact jangan membulatkan ukuran berkas ke blok berikutnya;\n" " ini adalah default untuk berkas tidak umum\n" " -z, --zero tambahkan sebuah akhir paksa tulis dengan nol untuk " "menyembunyikan shredding\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Jika BERKAS adalah -, shred standar keluaran.\n" "\n" "Hapus BERKAS jika --remove (-u) dispesifikasikan. Default adalah tidak " "menghapus\n" "berkas karena ini biasa untuk beroperasi di perangkat berkas seperti /dev/" "hda,\n" "dan berkas tersebut biasanya seharusnya tidak dihapus. Ketika beroperasi di " "berkas\n" "umum, kebanyakan orang menggunakan pilihan --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "PERHATIAN: Catat shred bergantung di asumsi sangat penting:\n" "bahwa sistem berkas memaksa tulis data di tempat. Ini adalah cara\n" "tradisional untuk melakukan itu, tetapi banyak rancangan sistem berkas " "modern tidak memenuhi asumsi\n" "ini. Contoh berikut dari sistem berkas dimana shred\n" "tidak efektif, atau tidak digaransi untuk efektif di seluruh mode sistem " "berkas:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* berstruktur-log atau sistem berkas terjurnal, seperti yang disupply " "dengan\n" "AIX dan Solaris (dan JFS, ReiserFS, XFS, Ext3, dan lain sebagainya.)\n" "\n" "* sistem berkas yang menulis data secara redundancy dan membawa bahkan jika " "beberapa tulis\n" "gagal, seperti dalam sistem berkas berbasis RAID\n" "\n" "* sistem berkas yang membuat snapshot, seperti dalam Network Appliance NFS " "server\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* sistem berkas yang disimpan di lokasi sementara, seperti di NFS\n" "versi 3 klien\n" "\n" "* sistem berkas terkompres\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Dalam kasus sistem berkas ext3, disclaimer diatas berjalan\n" "(dan shred juga terbatas efektivitasnya) hanya dalam mode data=journal,\n" "yang berkas data jurnal dalam tambahan daripada hanya metadata. Dalam " "keduanya\n" "data=ordered (default) dan mode data=writeback, shred bekerja seperti " "biasa.\n" "Mode jurnal ext3 dapat diubah dengan menambahkan pilihan data=sesuatu\n" "ke pilihan mount untuk sistem berkas yang bersangkutan di berkas /etc/" "fstab,\n" "seperti yang terdokumentasi dalam halaman manual mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Sebagai tambahan, sistem berkas backup dan remote mirror mungkin berisi " "salinan\n" "dari berkas yang tidak dapat dihapus, dan itu mungkin memungkinkan sebuah " "berkas yang tershred untuk\n" "diselamatkan nanti.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync gagal" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync gagal" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: gagal rewind" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: tahap %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: error menulis di ofset %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek gagal" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: berkas terlalu besar" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: tahap %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: tahap %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat gagal" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: tipe berkas tidak valid" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: berkas memilik ukuran negatif" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: error memotong" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl gagal" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: tidak dapat menshred tambah-saja berkas deskripsi" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: menghapus" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: diubah namanya menjadi %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: gagal untuk menghapus" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: dihapus" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: gagal untuk menutup" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: gagal untuk membuka untuk menulis" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: jumlah tahap tidak valid" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "banyak sumber random dispesifikasikan" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: ukuran berkas tidak valid" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Penggunaan: %s [PILIHAN]... [BERKAS]\n" " atau: %s -e [PILIHAN]... [ARG]...\n" " atau: %s -i LO-HI [PILIHAN]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Tulis sebuah permutasi random dari baris masukan ke standar keluaran.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo perlakukan setiap ARG sebagai sebuah baris " "masukan\n" " -i, --input-range=LO-HI perlakukan setiap nomor LO sampai HI sebagai " "sebuah baris masukan\n" " -n, --head-count=JUMLAH keluarkan di hampir JUMLAH baris\n" " -o, --output=BERKAS tulis hasil ke BERKAS daripada standar keluaran\n" " --random-source=FILE dapatkan random bytes dari BERKAS\n" " -z, --zero-terminated akhir baris dengan 0 byte, bukan baris baru\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "banyak pilihan -i dispesifikasikan" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "jangkauan masukan %s tidak valid" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "jumlah baris %s tidak valid" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "banyak berkas keluaran dispesifikasikan" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "tidak dapat mengkombinasikan pilihan -e dan -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Penggunaan: %s NOMOR[AKHIRAN]...\n" " atau: %s PILIHAN\n" "Berhenti untuk NOMOR detik. AKHIRAN mungkin `s'untuk detik (default),\n" "`m' untuk menit, `h' untuk jam atau `d' untuk hari. Tidak seperti kebanyakan " "implementasi\n" "yang membutuhkan NOMOR sebagai sebuah integer, disini NOMOR mungkin " "bilangan\n" "pecahan apapun. Diberikan dua atau lebih argumen, berhenti untuk jumlah " "waktu\n" "yang dispesifikasikan oleh jumlah dari nilainya.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "jangka waktu %s tidak valid" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "tidak dapat membaca realtime clock" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Tulis concatenation terurut dari seluruh BERKAS ke standar keluaran.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Pilihan pengurutan:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks abaikan awalan kosong\n" " -d, --dictionary-order pertimbangkan hanya spasi dan karakter huruf " "dan angka\n" " -f, --ignore-case ubah karakter huruf kecil ke huruf besar\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort bandingkan menurut nilai numerik umum\n" " -i, --ignore-nonprinting pertimbangkan hanya karakter yang bisa " "dicetak\n" " -M, --month-sort bandingkan (tidak diketahui) < `JAN' < ... < " "`DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort bandingkan dengan angka yang mudah dibaca " "(seperti, 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort bandingkan menurut nilai numerik string\n" " -R, --random-sort urutkan berdasarkan random hash dari kunci\n" " --random-source=BERKAS dapatkan random bytes dari BERKAS\n" " -r, --reverse balik hasil dari komparasi\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=KATA urutkan berdasarkan dari KATA:\n" " general-numeric -g, human-numeric -h, month " "-M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort urutan alami dari nomor versi dalam teks\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Pilihan lain:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE gabungkan di NMERGE masukan dalam satu waktu;\n" " untuk penggunaan lebih berkas sementara\n" #: src/sort.c:445 #, fuzzy msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first periksa untuk masukan terurut; jangan " "urutkan\n" " -C, --check=quiet, --check=silent seperti -c, tetapi jangan laporkan " "baris pertama buruk\n" " --compress-program=PROG compress temporaries dengan PROG;\n" " decompress itu dengan PROG -d\n" " --files0-from=F baca masukan dari berkas yang dispesifikasikan " "oleh\n" " nama yang diakhiri NUL dalam berkas F\n" #: src/sort.c:452 #, fuzzy msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " -c, --check, --check=diagnose-first periksa untuk masukan terurut; jangan " "urutkan\n" " -C, --check=quiet, --check=silent seperti -c, tetapi jangan laporkan " "baris pertama buruk\n" " --compress-program=PROG compress temporaries dengan PROG;\n" " decompress itu dengan PROG -d\n" " --files0-from=F baca masukan dari berkas yang dispesifikasikan " "oleh\n" " nama yang diakhiri NUL dalam berkas F\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=POS1[,POS2] awali sebuah kunci di POS1 (asal 1), akhiri di " "POS2\n" " (default akhir dari baris)\n" " -m, --merge gabungkan berkas yang sudah diurutkan, jangan " "urutkan\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FILE tulis hasil ke BERKAS daripada ke standar " "keluaran\n" " -s, --stable seimbangkan pengurutan dengan menonaktifkan " "perbandingan terakhir\n" " -S, --buffer-size=SIZE gunakan SIZE untuk buffer memori utama\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP gunakan SEP daripada bukan-spase ke perubahan " "spasi\n" " -T, --temporary-directory=DIR gunakan DIR untuk sementara, bukan $TMPDIR " "atau %s;\n" " banyak pilihan menspesifikasikan banyak " "direktori\n" " -u, --unique dengan -c, check untuk pengurutan;\n" " tanpa -c, keluarkan hanya pertama dari sebuah " "jalan pertama\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated akhir baris dengan 0 byte, bukan baris baru\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS adalah F[.C][OPTS], dimana F adalah jumlah field dan C adalah posisi " "karakter\n" "dalam daerah itu; asal keduanya adalah 1. Jika tidak -t atau -b yang " "memiliki efek, karakter\n" "dalam sebuah field dihitung dari awal yang diawali dengan spasi. OPTS " "adalah\n" "satu atau lebih pilihan pengurutan huruf-tunggal, yang memaksa pengurutan " "global\n" "pilihan untuk kunci itu. Jika tidak ada kunci yang diberikan, gunakan " "seluruh baris sebagai kunci.\n" "\n" "UKURAN mungkin diikuti dengan akhiran pengali berikut:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% dari memori, b 1, K 1024 (default), dan seterusnya untuk M, G, T, P, E, " "Z, Y.\n" "\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" "*** PERINGATAN ***\n" "Lokal yang dispesifikasikan oleh lingkungan berefek ke cara pengurutan.\n" "Set LC_ALL=C untuk memperoleh cara pengurutan tradisional yang menggunakan\n" "nilai byte asli.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "menunggu untuk %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] berakhir secara tidak normal" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "tidak dapat membuat berkas sementara dalam %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "gagal membuka" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush gagal" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "gagal menutup" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 gagal" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "tidak dapat menjalankan %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "tidak dapat membuat berkas sementara" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "tidak dapat membuat proses untuk %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "tidak dapat menjalankan %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "peringatan: tidak dapat menghapus: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "argumen --%s tidak valid %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "argumen %s minimum --%s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s argumen %s terlalu besar" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "maksimal --%s argumen dengan rlimit sekarang adalah %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat gagal" #: src/sort.c:1755 msgid "read failed" msgstr "baca gagal" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "Transformasi string gagal" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "untransformasi string adalah %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "pilihan `-%s' tidak kompatibel" msgstr[1] "pilihan `-%s' tidak kompatibel" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "tulis gagal" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: tidak terurut: " #: src/sort.c:2786 msgid "standard error" msgstr "standar error" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: gagal rewind" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: spesifikasi field %s tidak valid" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "pilihan `-%s' tidak kompatibel" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: jumlah tidak valid di awal dari %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "jumlah tidak valid setelah `-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "jumlah tidak valid setelah `.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "karakter sisa dalam spesifikasi field" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "banyak aplikasi kompresi dispesifikasikan" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "jumlah tidak valid di awal field" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "jumlah field adalah nol" #: src/sort.c:4392 msgid "character offset is zero" msgstr "karakter ofset adalah nol" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "jumlah tidak valid setelah `,'" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "empty tab" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "tidak dapat membaca nama berkas dari %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: nama berkas panjang-nol tidak valid" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "tidak ada masukan masukan dari %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "kelebihan operan %s tidak dibolehkan dengan -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Penggunaan: %s [PILIHAN]... [MASUKAN [PREFIX]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Keluarkan fixed-size pieces dari MASUKAN ke AWALAHaa, AWALANab, ...; " "default\n" "ukuran adalah 1000 baris, dan default PREFIX adalah `x'. Tanpa MASUKAN, atau " "ketika MASUKAN\n" "adalah -, baca standar masukan.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N gunakan akhiran dengan panjang N (default %d)\n" " -b, --bytes=SIZE pakai UKURAN bytes untuk setiap berkas keluaran\n" " -C, --line-bytes=SIZE pakai di hampis UKURAN bytes dari baris setiap " "berkas keluaran\n" " -d, --numeric-suffixes gunakan akhiran numerik daripada alphabet\n" " -l, --lines=NUMBER pakai JUMLAH baris setiap berkas keluaran\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose tampilkan sebuah diagnosa tepat sebelum setiap\n" " berkas keluaran dibuka\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "Kehabisan akhiran berkas keluaran" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "membuat berkas %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "gagal untuk memperbarui lingkungan dengan %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "gagal untuk menghapus %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "menutup direktori %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "menutup berkas keluaran %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "menutup berkas masukan %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "menutup berkas masukan %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "gagal menjalankan perintah %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "gagal menutup direktori %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "menunggu untuk strip" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "status dari perintah (0x%X) tidak diketahui" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "tidak dapat memisahkan lebih dari satu cara" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: jumlah detik tidak valid" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: nomor tidak valid" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: panjang akhiran tidak valid" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: jumlah dari bytes tidak valid" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: jumlah dari baris tidak valid" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "jumlah baris pilihan -%s%c... terlalu besar" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "awalan nomor baris: %s tidak valid" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: ukuran berkas tidak valid" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "tidak dapat menentukan nama host" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "gagal untuk menutup %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "peringatan: escape tidak dikenal `\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: direktif tidak valid" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "peringatan: backslash di akhir dari format" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "menggunakan %s untuk mengatakan standar masukan tidak bekerja dalam mode " "sistem berkas" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "tidak dapat membaca informasi sistem berkas untuk %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "tidak dapat memperoleh statistik standar masukan" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr " konteks=%s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Menampilkan berkas atau sistem berkas status.\n" "\n" " -L, --dereference ikuti links\n" " -f, --file-system tampilkan status sistem berkas dari pada status " "berkas\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c, --format=FORMAT gunakan spesifikasi FORMAT daripada default;\n" " keluarkan sebuah baris baru sesudah setiap " "penggunaan FORMAT\n" " --printf=FORMAT seperti --format, tetapi interpretasi backslash " "escape,\n" " dan jangan keluarkan sebuah akhiran baris baru " "wajib.\n" " Jika anda ingin sebuah baris baru, masukan \\n dalam " "FORMAT.\n" " -t, --terse tampilkan informasi dalam format lengkap\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Urutan format yang valid untuk berkas (tanpa --file-system):\n" "\n" " %a Hak akses dalam oktal\n" " %A Hak akses dalam format yang mudah dibaca\n" " %b Jumlah dari blok yang dialokasikan (lihat %B)\n" " %B Jumlah dalam bytes untuk setiap blok yang dilaporkan oleh %b\n" " %C String konteks keamanan SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Nomor perangkat dalam desimal\n" " %D Nomor perangkat dalam heksadesimal\n" " %f Mode mentah dalam heksadesimal\n" " %F Tipe berkas\n" " %g Grup ID dari pemilik\n" " %G Nama ID dari pemilik\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Jumlah dari hard links\n" " %i Jumlah dari inode\n" " %n Nama berkas\n" " %N Quote nama berkas dengan dereference jika link simbolik\n" " %o Ukuran blok I/O\n" " %s Ukuran total, dalam bytes\n" " %t Tipe perangkat major dalam heksadesimal\n" " %T Tipe perangkat minor dalam heksadesimal\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID Pengguna dari pemilik\n" " %U Nama pengguna dari pemilik\n" " %x Waktu terakhir diakses\n" " %X Waktu terakhir diakses sebagai detik sejak Epoch\n" " %y Waktu terakhir dimodifikasi\n" " %Y Waktu terakhir dimodifikasi sebagai detik sejak Epoch\n" " %z Waktu terakhir diubah\n" " %Z Waktu terakhir diubah sebagai detik sejak Epoch\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Urutan format yang valid untuk sistem berkas:\n" "\n" " %a Blok bebas yang ada ke bukan pengguna super\n" " %b Total data blok dalam sistem berkas\n" " %c Total berkas dalam sistem berkas\n" " %d Berkas bebas dalam sistem berkas\n" " %f Blok bebas dalam sistem berkas\n" " %C String konteks keamanan SELinux\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ID Sistem Berkas dalam heksadesimal\n" " %l Panjang maksimal dari nama berkas\n" " %n Nama berkas\n" " %s Besar blok (untuk transfer lebih cepat)\n" " %S Besar blok fundamental (untuk jumlah blok)\n" " %t Tipe dalam heksadesimal\n" " %T Tipe dalam format yang mudah dibaca\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Penggunaan: %s [PILIHAN]... PERINTAH\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Jalankan PERINTAH, dengan operasi penyanggaan yang dimodifikasi untuk aliran " "standar.\n" "\n" #: src/stdbuf.c:97 #, fuzzy msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODE Sesuaikan penyangga aliran masukan standar\n" " -o, --output=MODE Sesuaikan penyangga aliran keluaran standar\n" " -e, --error=MODE Sesuaikan penyangga aliran error standar\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Jika MODE adalah `L' maka aliran yang berhubungan akan berupa baris " "bersangga.\n" "Pilihan ini tidak valid dengan standar masukan.\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Jika MODE adalah `0' maka aliran yang berhubungan tidak akan disangga.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "MODE adalah sebuah angka yang mungkin diikuti oleh salah sati dari akhiran " "berikut:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, dan selanjutnya untuk G, T, P, " "E, Z, Y.\n" "Dalam kasus ini aliran yang berhubungan akan tersangga sepenuhnya dengan " "ukuran\n" "penyangga di set ke MODE bytes.\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "CATATAN: Jika PERINTAH disesuaikan dengan penyangga dari aliran standar " "(`tee'\n" "melakukan hal ini) maka itu akan memaksa perubahan konfigurasi yang " "berhubungan dengan\n" "`stdbuf'. Juga bebera penyaring (seperti `dd' dan `cat' dlsb.) jangan " "gunakan aliran untuk I/O,\n" "dan sehingga tidak terpengaruh oleh konfigurasi `stdbuf'.\n" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "gagal untuk membuka %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "gagal untuk memperbarui lingkungan dengan %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "baris penyangga stdin tidak berarti" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Penggunaan: %s [-F PERANGKAT] [--file=PERANGKAT] [KONFIGURASI]...\n" " atau: %s [-F PERANGKAT] [--file=PERANGKAT] [-a|-all]\n" " atau: %s [-F PERANGKAT] [--file=PERANGKAT] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Tampilkan atau ubah karakteristik terminal.\n" "\n" " -a, --all tampilkan seluruh konfigurasi sekarang dalam format " "yang mudah dibaca\n" " -g, --save tampilkan seluruh konfigurasi sekarang dalam format " "yang bisa dibaca stty\n" " -F, --file=DEVICE buka dan gunakan PERANGKAT yang dispesifikasikan " "daripada stdin\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Opsional - sebelum KONFIGURASI mengindikasikan negasi. Sebuah tanda * " "konfigurasi\n" "non-POSIX. Sistem yang berjalan mendefinisikan dimana konfigurasi yang " "tersedia.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Karakter spesial:\n" " * dsusp CHAR CHAR akan mengirim sebuah sinyal berhenti terminal saat " "masukan diflush\n" " eof CHAR CHAR akan mengirim sebuah akhir dari berkas (akhiri " "masukan)\n" " eof CHAR CHAR akan akhir dari baris\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CHAR CHAR alternatif untuk akhir dari baris\n" " erase CHAR CHAR akan menghapus akhir dari karakter terakhir yang " "diketik\n" " intr CHAR CHAR akan mengirim sinyal interupsi\n" " kill CHAR CHAR akan menghapus baris sekarang\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CHAR CHAR akan memasukan karakter berikutnya quoted\n" " quit CHAR CHAR akan mengirim sebuah sinyal berhenti\n" " * rprnt CHAR CHAR akan menggambar ulang baris sekarang\n" " start CHAR CHAR akan mengulang keluaran setelah menyetopnya\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CHAR CHAR akan menghentikan keluaran\n" " susp CHAR CHAR akan mengirim sebuah sinyal berhenti terminal\n" " * swtch CHAR CHAR akan mengubah ke lapisan shell yang berbeda\n" " * werase CHAR CHAR akan menghapus kata terakhir yang diketik\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Konfigurasi spesial:\n" " N set kecepatan masukan dan keluaran ke N bauds\n" " * cols N beritahu kernel bahwa terminal memilik N kolom\n" " * columns N sama seperti cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N set kecepatan masukan ke N\n" " * line N gunakan line disiplin N\n" " min N dengan -icanon, set N karakter minimum untuk sebuah " "pembacaan selesai\n" " ospeed N set kecepatan keluaran ke N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N beritahu kernel bahwa terminal memiliki N baris\n" " * size tampilkan jumlah dari baris dan kolom menurut yang ada di " "kernel\n" " speed tampilkan kecepatan terminal\n" " time N Dengan -icanon, set timeout baca untuk N persepuluh dari " "detik\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Konfigurasi kontrol:\n" " [-]clocal nonaktifkan sinyal kontrol modem\n" " [-]cread bolehkan masukan untuk diterima\n" " * [-]crtscts aktifkan RTS/CTS handshaking\n" " csN set ukuran karakter ke N bits, N dalam [5..8]\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb gunakan dua stop bit per karakter (satu dengan `-')\n" " [-]hup kirim sebuah sinyal hangup ketika proses terakhir tutup " "dengan tty\n" " [-]hupcl sama seperti [-]hup\n" " [-]parenb hasilkan bit parity dalam keluaran dan harapkan parity bit " "dalam masukan\n" " [-]parodd set odd parity (bahkan dengan `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Konfigurasi masukan:\n" " [-]brkint break disebabkan sebuah sinyal interupsi\n" " [-]icrnl translasikan carriage return ke baris baru\n" " [-]ignbrk abaikan karakter break\n" " [-]igncr abaikan carriage return\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar abaikan karakter dengan parity error\n" " * [-]imaxbel beep dan jangan flush sebuah masukan lengkap buffer dalam " "sebuah karakter\n" " [-]inlcr translasikan baris baru ke carriage return\n" " [-]inpck aktifkan pengecheckan masukan parity\n" " [-]istrip hapus atas (ke 8) bit dari karakter masukan\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 asumsikan karakter masukan adalah terenkode dalam UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc tranlasikan karakter huruf besar ke huruf kecil\n" " * [-]ixany biarkan karakter apapun mengulang keluaran, tidak hanya " "karakter awal\n" " [-]ixoff aktifkan pengiriman karakter start/stop\n" " [-]ixon aktifkan pengontrol arus XON/XOFF\n" " [-]parmrk tandai parity error (dengan sebuah urutan 255-0-karakter)\n" " [-]tandem sama seperti [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Konfigurasi keluaran:\n" " * bsN gaya backspace delay, N dalam [0..1]\n" " * crN gaya carriage return delay, N dalam [0..3]\n" " * ffN gaya form feed delay, N dalam [0..1]\n" " * nlN gayal baris baru delay, N dalam [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl translasikan carriage return ke baris baru\n" " * [-]ofdel gunakan karakter del untuk mengisi daripada karakter " "kosong\n" " * [-]ofill gunakan isi (tambah) karakter daripada pewaktu untuk delay\n" " * [-]olcuc translasikan karakter huruf kecil ke huruf besar\n" " * [-]onlcr translasikan baris baru ke carriage return-baris baru\n" " * [-]onlret baris baru menperformasikan sebuah carriage return\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr jangan menampilkan carriage return dalam kolom pertama\n" " [-]opost postprocess keluaran\n" " * tabN gaya horisontal tab delay, N dalam [0..3]\n" " * tabs sama seperti tab0\n" " * -tabs sama seperti tab3\n" " * vtN gaya vertikal tab delay, N dalam [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Konfigurasi lokal:\n" " [-]crterase echo karakter erase seperti backspace-space-backspace\n" " * crtkill hapus seluruh baris dengan mengikuti konfigurasi echoprt " "dan echoe\n" " * -crtkill hapus seluruh baris dengan mengikuti konfigurasi echoctl " "dan echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho karakter pengontrol echo dalam notasi top (`^c')\n" " [-]echo echo karakter masukan\n" " * [-]echoctl sama seperti [-]ctlecho\n" " [-]echoe sama seperti [-]crterase\n" " [-]echok echo sebuah baris baru sesudah karakter hapus\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke sama seperti [-]crtkill\n" " [-]echonl echo baris baru meskipun jika tidak mengecho karakter lain\n" " * [-]echoprt echo karakter hapus backward, diantara `\\' dan `/'\n" " [-]icanon aktifkan erase, kill, werase, dan rprnt karakter spesial\n" " [-]iexten aktifkan karakter spesial non-POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig aktifkan interupsi, quit, dan suspend spesial karakter\n" " [-]noflsh non-aktifkan flushing setelah interupsi dan spesial " "karakter quit\n" " * [-]prterase sama seperti [-]echoprt\n" " * [-]tostop hentikan pekerjaan dibelakan yang mencoba untuk menulis ke " "terminal\n" " * [-]xcase dengan icanon, escape dengan `\\' untuk karakter huruf " "besar\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Konfigurasi kombinasi:\n" " * [-]LCASE sama seperti [-]lcase\n" " cbreak sama seperti -icanon\n" " -cbreak sama seperti icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked sama seperti brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof dan eol karakter ke nilai defaultnya\n" " -cooked sama seperti mentah\n" " crt sama seperti echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec sama seperti echoe echoctl echoke ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq sama seperti [-]ixany\n" " ek erase dan kill karakter ke nilai defaultnya\n" " evenp sama seperti parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp sama seperti -parenb cs8\n" " * [-]lcase sama seperti xcase iuclc olcuc\n" " litout sama seperti -parenb -istrip -opost cs8\n" " -litout sama seperti parenb istrip opost cs7\n" " nl sama seperti -icrnl -onlcr\n" " -nl sama seperti icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp sama seperti parenb parodd cs7\n" " -oddp sama seperti -parenb cs8\n" " [-]parity sama seperti [-]evenp\n" " pass8 sama seperti -parenb -istrip cs8\n" " -pass8 sama seperti parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw sama seperti -ignbrk -brkint -ignpar -parmrk -inpck -" "istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw sama seperti cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane sama seperti cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, semua karakter\n" " spesial ke nilai defaultnya.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Tangani baris tty yang terhubung ke standar masukan. Tanpa argumen,\n" "tampilkan baud rate, baris disiplin, dan deviasi dari stty sane. Dalam\n" "konfigurasi, CHAR diambil secara literal, atau dikodekas seperti dalam ^c, " "0x37, 0177 atau\n" "127; nilai spesial ^- atau undef digunakan untuk menonaktifkan karakter " "spesial.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "hanya sebuah perangkat yang dispesifikasikan" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "pilihan untuk gaya verbose dan stty-readable keluaran adalah\n" "mutualy exclusive" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "ketika menspesifikasikan gaya keluaran, mode mungkin tidak diset" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: tidak dapat mereset mode non-blocking" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argumen tidak valid %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "argumen ke %s hilang" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "baris disiplin %s tidak valid" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: tidak dapat melakukan seluruh operasi yang diminta" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: tidak ada informasi ukuran untuk perangkat ini" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "integer argumen %s tidak valid" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Tampilkan checksum dan jumlah blok untuk setiap BERKAS.\n" "\n" " -r gunakan algoritma sum BSD, gunakan 1K blok\n" " -s, --sysv gunakan System V algoritma sum, gunakan 512 bytes blok\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Paksa perubahan block ke disk, update super blok.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "mengabaikan seluruh argumen" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "CATAT: shell anda mungkin memiliki versinya sendiri dari %s, yang biasanya " "supersedes\n" "dari versi yang dijelaskan disini. Tolong lihat ke dokumentasi shell anda\n" "untuk detail mengenai pilihan yang didukung.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help tampilkan bantuan ini dan keluar\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version keluarkan informasi versi dan keluar\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Argumen wajib untuk pilihan panjang adalah wajib untuk pilihan pendek juga.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Tampilan nilai berada dalam satuan dari BESAR pertama yang tersedia dari --" "block-size,\n" "dan %s_BLOCK_SIZE, BLOCK_SIZE dan variabel lingkungan BLOCKSIZE.\n" "Jika tidak, satuan baku ke 1024 bytes (atau 512 jika POSIXLY_CORRECT " "diset).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Laporkan %s bugs ke %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Laporkan %s bugs terjemahan ke <http://translationproject.org/team/>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "Untuk dokumentasi lengkap, jalankan: info coreutils '%s pemanggilan'\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "PERINGATAN: Struktur direktori circular.\n" "Ini kemungkinan besar berarti bahwa anda memiliki sebuah sistem berkas yang " "terkorupsi.\n" "BERITAHU MANAJER SISTEM ANDA.\n" "Direktori berikut adalah bagian dari cycle:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tulis setiap BERKAS ke standar keluaran, baris terakhir pertama.\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before pasang pemisah sebelum daripada sesudah\n" " -r, --regex interpretasikan pemisah sebagai sebuah ekspresi " "umum\n" " -s, --separator=STRING gunakan STRING sebagai pemisah daripada baris " "baru\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: gagal mencari" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "rekaman terlalu besar" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "tidak dapat membuat berkas sementara dalam %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: gagal untuk membuka untuk menulis" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "gagal untuk menjaga waktu untuk %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: tulis error" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "tidak dapat membuka %s untuk dibaca" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "pemisah tidak dapat kosong" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tampilkan akhir %d baris dari setiap BERKAS ke standar keluaran.\n" "Dengan lebih dari satu BERKAS, awali setiap dengan sebuah header memberikan " "nama berkas.\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K keluarkan K bytes terakhir; alternatif, gunakan -" "c +K untuk\n" " mengeluarkan bytes dimulai dengan ke K dari " "setiap berkas\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " keluarkan data yang ditambahkan sebagai " "pertumbuhan berkas;\n" " -f, --follow, dan --follow=description adalah\n" " sama\n" " -F sama seperti --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K keluarkan baris K terakhir, daripada terakhir " "%d;\n" " atau gunakan -n +K ke baris keluaran dimulai " "dengan ke K\n" " --max-unchanged-stats=N\n" " dengan --follow=name, buka kembali sebuah BERKAS " "yang belum\n" " berubah ukuran setelah N (default %d) iterasi\n" " untuk melihat apakah ini telah tidak dilink atau " "diubah nama\n" " (ini biasa untuk berkas log terotasi)\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID dengan -f, akhiri setelah proses ID, PID selesai\n" " -q, --quiet, --silent jangan mengeluarkan header diberikan nama berkas\n" " --retry coba terus untuk membuka sebuah berkas walaupun " "berkas itu\n" " telah menjadi tidak dapat diakses; berguna ketika " "mengikuti\n" " nama, contoh, dengan --follow=name\n" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N dengan -f, tidur untuk kira-kira N detik\n" " (baku 1.0) diantara interasi.\n" " -v, --verbose selalu mengeluarkan header diberikan nama berkas\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Jika karakter pertama dari K (jumlah dari bytes atau baris adalah sebuah `" "+',\n" "tampilkan awal dengan bagian ke K dari awal dari setiap berkas, jika tidak,\n" "tampilkan bagian terakhir ke K dari berkas. K mungkin memiliki sebuah " "akhiran pengali:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Dengan --follow (-f), tail secara baku mengikuti pendeskripsi berkas, yang\n" "berarti baik jika sebuah berkas yang di-'tail' diubah namanya, 'tail' akan\n" "tetap melanjutkan melacaknya sampai akhir.\n" "Ini perilaku default jik tidak diinginkan ketika anda benar benar " "menginginkan untuk\n" "mencari jejak nama aktual dari berkas, bukan berkas deskripsi (e.g., log\n" "rotasi). Gunakan --follow=nama dalam kasus itu. Yang menyebabkan tail untuk " "megikuti jejak dari\n" "nama berkas dengan membuka kembali secara periodik untuk melihat apakah ini " "telah dihapus dan\n" "dibuat kembali oleh aplikasi lain.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "menutup %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: tidak dapat mencari ofset relatif %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: tidak dapat mencari ofset akhir-relatif %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "tidak dapat menentukan lokasi dari %s. kembali ke polling" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s telah menjadi tidak dapat diakses" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s telah diganti dengan berkas yang tidak dapat ditail; menyerah untuk nama " "ini" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s telah digantikan dengan sebuah berkas 'remote'; menyerah untuk nama ini" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s telah menjadi dapat diakses" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s telah muncul; mengikuti akhir dari berkas baru" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s telah diganti; mengikuti akhir dari berkas baru" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: tidak dapat mengubah mode nonblocking" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: berkas terpotong" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "tidak ada berkas tersisa" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "tidak dapat mengamati direktori atas dari %s" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "Kehabisan akhiran berkas keluaran" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "tidak dapat mengamati %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "error mengamati inotify event" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "error membaca inotify event" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: tidak dapat mengikuti akhir dari berkas tipe ini; menyerah di nama ini" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "angka dalam %s terlalu besar" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: jumlah maksimal dari statistik tidak diubah tidak valid diantar buka" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: PID tidak valid" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: jumlah detik tidak valid" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "pilihan yang digunakan tidak valid dalam konteks -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "peringatan: --retry hanya berguna ketik diikuti dengan nama" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "peringatan: PID diabaikan; --pid=PID hanya berguna ketika mengikuti" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "peringata: --pid=PID tidak didukung dalam sistem ini" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "tidak dapat mengikuti %s dengan nama" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" "peringatan: mengikuti standar masukan secara tak terhingga adalah tidak " "efektif" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify tidak dapat digunakan, kembali ke polling" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Salin standar masukan untuk setiap BERKAS, dan juga standar keluaran.\n" "\n" " -a, --append tambahkan ke BERKAS yang diberikan, jangan " "ditulis\n" " -i, --ignore-interrupts abaikan sinyal interupsi\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Jika sebuah BERKAS adalah -, salin kembali ke standar keluaran.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argumen hilang setelah %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "integer %s tidak valid" #: src/test.c:241 msgid "')' expected" msgstr "')' diharapkan" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' diharapkan, ditemukan %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: operator unary diharapkan" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt tidak menerima -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef tidak menerima -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot tidak menerima -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "operator binary tidak diketahui" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: operator binary diharapkan" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Penggunaan: test EKSPRESI\n" " atau: test\n" " atau: [ EKSPRESI ]\n" " atau: [ ]\n" " atau: [ PILIHAN ]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Keluar dengan status ditentukan oleh EKSPRESI.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Sebuah EKSPRESI yang diabaikan secara default ke salah. Jika tidak,\n" "EKSPRESI adalah benar atau salah dan set status keluar. Ini adalah salah " "satu dari:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EKSPRESI ) EKSPRESI adalah benar\n" " ! EKSPRESI EKSPRESI adalah salah\n" " EKSPRESI1 -a EKSPRESI2 kedua EKSPRESI1 dan EKSPRESI2 adalah benar\n" " EKSPRESI1 -o EKSPRESI2 EKSPRESI1 atau EKSPRESI2 adalah benar\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRING panjang dari STRING adalah tidak nol\n" " STRING sama dengan -n STRING\n" " -z STRING panjang dari STRING adalah nol\n" " STRING1 = STRING2 string adalah sama\n" " STRING1 != STRING2 string tidak sama\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 adalah sama dengan INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 adalah lebih besar atau sama dengan " "INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 adalah lebih besar dari INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 adalah lebih kecil atau sama dengan " "INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 adalah lebih kecil dari INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 tidak sama dengan INTEGER2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FILE1 -ef FILE2 BERKAS1 dan BERKAS2 keduanya memiliki perangkat dan " "nomor inode yang sama\n" " FILE1 -nt FILE2 BERKAS1 adalah lebih baru (tanggal modifikasinya) dari " "BERKAS2\n" " FILE1 -ot FILE2 BERKAS1 adalah lebih lama dari BERKAS2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b BERKAS BERKAS ada dan ini adalah blok spesial\n" " -c BERKAS BERKAS ada dan ini adalah karakter spesial\n" " -d BERKAS BERKAS ada dan ini adalah sebuah direktori\n" " -e BERKAS BERKAS ada\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f BERKAS BERKAS ada dan ini adalah berkas biasa\n" " -g BERKAS BERKAS ada dan ini memiliki set-group-ID\n" " -G BERKAS BERKAS ada dan dimiliki oleh efektif grup ID\n" " -h BERKAS BERKAS ada dan ini adalah link simbolik (sama seperti -L)\n" " -k BERKAS BERKAS ada dan ini memiliki sticky bit diset\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L BERKAS BERKAS ada dan ini adalah link simbolik (sama seperti -h)\n" " -O BERKAS BERKAS ada dan dimiliki oleh efektif ID pengguna\n" " -p BERKAS BERKAS ada dan ini adalah named pipe\n" " -r BERKAS BERKAS ada dan ijin membaca diberikan\n" " -s BERKAS BERKAS ada dan memiliki ukuran lebih besar dari nol\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S BERKAS BERKAS ada dan ini adalah sebuah socket\n" " -t FD berkas deskripsi FD dibuka di sebuah terminal\n" " -u BERKAS BERKAS ada dan ini memiliki set-user-ID bit diset\n" " -w BERKAS BERKAS ada dan ijin tulis diberikan\n" " -x BERKAS BERKAS ada dan ijin menjalankan (atau pencarian) ada\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Kecuali untuk -h dan -L, seluruh BERKAS yang terhubung test dereference link " "simbolik.\n" "Hati hati kalau tanda petik harus di escaped (e.g., dengan backslash) untuk " "shell.\n" "INTEGER mungkin juga -l STRING, yang dievaluasi ke panjang dari STRING.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "CATAT: [ hargai pilihan --help dan --version, tetapi test tidak.\n" "memperlakukan test dari setiap itu seperti memperlakukan STRING tidak kosong " "lain.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test dan/atau [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "hilang `]'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "kelebihan argumen %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Penggunaan: %s [PILIHAN] NEWROOT [PERINTAH [ARG]...]\n" " atau: %s PILIHAN\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Argumen wajib untuk pilihan panjang adalah wajib untuk pilihan pendek juga.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "Jalankan PERINTAH, dan matikan jik ini tetap berjalan setelah NOMOR detik.\n" "AKHIRAN mungkin `s' untuk detik (default), `m' untuk menit,\n" "`h' untuk jam atau `d' untuk hari.\n" "\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Jika perintah kehabisan waktu, ketika kita keluar dengan status 124,\n" "jika tidak, keluar dengan status dari PERINTAH.\n" "Jika tidak ada sinyal yang dispesifikasikan, sinyal TERM dikirimkan. Sinyal " "TERM\n" "akan mematikan proses yang tidak memblok atau menangkap sinyal ini. Untuk " "proses lain,\n" "ini mungkin perlu menggunakan sinyal KILL(9), karena sinyal ini tidak dapat\n" "ditangkap.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "error dalam menunggu perintah" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "format tanggal %s tidak valid" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "tidak dapat menyentuh %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "menset waktu dari %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Perbarui waktu akses dan modifikasi dari setiap BERKAS ke waktu sekarang.\n" "\n" "Sebuah argumen BERKAS yang tidak ada dibuat kosong, kecuali -c atau -h\n" "diberikan.\n" "\n" "Sebuah argumen string BERKAS dari - ditangani secara spesial dan menyebabkan " "touch untuk\n" "mengubah waktu dari berkas yang berasosiasi dengan standar keluaran.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ubah hanya waktu akses\n" " -c, --no-create jangan buat berkas apapun\n" " -d, --date=STRING parse STRING dan gunakan itu daripada waktu " "sekarang\n" " -f (diabaikan)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference afek setiap link simbolik daripada referensi " "apapun\n" " berkas (hanya berguna di sistem yang dapat merubah\n" " kepemilikan dari link simbolik)\n" " -m ubah hanya waktu modifikasi\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FILE gunakan waktu berkas ini daripada waktu sekarang\n" " -t STAMP gunakan [[CCYY]MMDDhhmm[.ss] daripada waktu " "sekarang\n" " --time=WORD ubah waktu yang dispesifikasikan:\n" " WORD adalah akses, atime, atau use; sama dengan -a\n" " WORD adalah modify atau mtime: sama dengan -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Catat bahwa pilihan -d dan -t menerima format waktu-tanggal berbeda.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "tidak dapat menspesifikasikan waktu dari lebih dari satu sumber" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "peringatan: `touch %s' sudah kadaluarsa; gunakan `touch -t %04ld%02d%02d%02d" "%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Penggunaan: %s [PILIHAN]... SET1 [SET2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Translasikan, squeeze, dan/atau hapus karakter dari standar masukan,\n" "tulis ke standar keluaran.\n" "\n" " -c, -C, --complement komplemen pertama SET1\n" " -d, --delete hapus karakter dalam SET1, jangan translasikan\n" " -s, --squeeze-repeats ganti setiap urutan masukan dari sebuah karakter " "berulang\n" " yang terdaftar dalam SET1 dengan sebuah sekali " "occurence\n" " dari karakter itu\n" " -t, --truncate-set1 pertama potong SET1 ke panjang dari SET2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "SET dispesifikasikan sebagai karakter strings. Kebanyakan represent dirinya " "sendiri.\n" "Urutan yang diinterpretasikan adalah:\n" "\n" " \\NNN karakter dengan nilai oktal NNN (1 sampa 3 oktal digit)\n" " \\\\ backslash\n" " \\a BEL yang dapat didengar\n" " \\b backspace\n" " \\f form feed\n" " \\n baris baru\n" " \\r kembali\n" " \\t horisontal tab\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v vertikal tab\n" " CHAR1-CHAR2 seluruh karakter dari CHAR1 ke CHAR2 dalam urutan " "meningkat\n" " [CHAR*] dalam SET2, salin CHAR sampai panjang dari SET1\n" " [CHAR*REPEAT] ULANG salinan dari CHAR, ULANG oktal jika dimulai dengan " "0\n" " [:alnum:] seluruh huruf dan angka\n" " [:alpha:] seluruh huruf\n" " [:blank:] seluruh horisontal spasi\n" " [:cntrl:] seluruh karakter pengontrol\n" " [:digit:] seluruh digit\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] seluruh karakter yang bisa dicetak, tidak termasuk spasi\n" " [:lower:] seluruh karakter huruf kecil\n" " [:print:] seluruh karakter yang bisa dicetak, meliputi spasi\n" " [:punct:] seluruh karakter punctuation\n" " [:space:] seluruh horisontal dan vertikal spasi\n" " [:upper:] seluruh huruf besar\n" " [:xdigit:] seluruh angkat heksadesimal\n" " [=CHAR=] seluruh karakter yang sama dengan CHAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Penerjemahaan terjadi jika -d tidak diberikan dan kedua SET1 dan SET2 " "terlihat.\n" "-t mungkin digunakan jika sedang menerjemahkan. SET2 menambahkan panjang " "dari\n" "SET1 dengan mengulang karakter terakhir jika diperlukan. Kelebihan karakter\n" "dari SET2 diabaikan. Hanya [:lower:] dan [:upper:] yang dijamin untuk\n" "diekspand dalam urutan meningkat; digunakan dalam SET2 ketika " "menerjemaahkan, mereka mungkin\n" "hanya digunakan dalam pasangan untuk menspesifikasikan konversi huruf. -s " "menggunakan SET1 jika tidak\n" "mentranslasikan atau menghapus; kecuali menekan gunakan SET2 dan terjadi " "setelah\n" "menerjemahkan atau menghapus.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "peringatan: escape \\%c%c%c oktal ambigu sedang\n" "\tdiinterpretasikan sebagai urutan 2-byte \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "peringatan: sebuah backslash tidak diescape di akhir dari string tidak " "portabel" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" "jangkauan range-endpoint dari `%s-%s' adalah dalam urutan yang terbalik" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "jumlah pengulangan %s tidak valid dalam [c*n] contruct" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "karakter hilang dalam nama kelas `[::]'" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "hilang karakter kelas ekuivalen `[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "karakter kelas %s tidak valid" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: kelas operand ekuivalen operand harus berupa karakter tunggal" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "missaligned [:upper:] dan/atau [:lower:] construct" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "terlalu banyak karakter dalam set" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "[c*] mengulang contruct mungkin mungkin timbul dalam string1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "hanya [c*] ulang construct mungkin timbul dalam string2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=] ekspresi mungkin timbul dalam string2 ketika menerjemahkan" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ketika menerjemahkan, hanya kelas karakter yang mungkin timbul dalam\n" "string2 adalah `upper' dan `lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "ketika memotong set1, string2 mungkin tidak kosong" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "ketika menerjemahkan dengan kelas karakter komplemen,\n" "string2 harus memetakan seluruh karakter dalam domain ke satu" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*] construct mungkin timbul dalam string2 hanya ketika menerjemahkan" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Dua string yang boleh diberikan ketika menghapus tanpa squeezing pengulangan." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Dua string mungkin diberikan ketika menerjemahkan." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Hanya satu string yang boleh diberikan ketika menghapus tanpa squeezing " "pengulangan." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s [mengabaikan arguman baris perintah]\n" " atau: %s PILIHAN\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Keluar dengan sebuah kode status yang mengindikasikan sukses." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Keluar dengan sebuah kode status yang mengindikasikan gagal." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Penggunaan: %s PILIHAN... BERKAS...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Kecilkan atau lebarkan ukuran dari setiap BERKAS ke ukuran yang " "dispesifikasikan\n" "\n" "Sebuah argumen BERKAS yang tidak ada dibuat.\n" "\n" "Jika sebuah BERKAS lebih besar dari ukuran yang dispesifikasikan, ekstra " "data hilang.\n" "Jika sebuah BERKAS lebih kecil, ini ditambahkan dan bagian tambahan " "(lubang)\n" "dibaca sebagai byte nol.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create jangan buat berkas apapun\n" #: src/truncate.c:112 #, fuzzy msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks Perlakukan UKURAN sebagai sebuah nomor dari IO blok " "daripada bytes\n" #: src/truncate.c:115 #, fuzzy msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=BERKAS gunakan ukuran BERKAS ini\n" " -s, --size=SIZE gunakan UKURAN ini\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "UKURAN juga bisa diawali dengan satu dari karakter pengubah berikut:\n" "`+' menambahkan, `-' mengurangi, `<' maksimal, `>' minimal,\n" "`/' membulatkan kebawah ke kelipatan dari, `%' membulatkan keatas ke " "kelipatan dari.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "overflow dalam %<PRIdMAX> * %<PRIdMAX> byte blok untuk berkas %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s adalah tidak berguna, kelihatannya memiliki ukuran negatif" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "tidak dapat mengubah kepemilikan dari %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "pembulatan overflow dari ukuran berkas %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "extending overflow dari ukuran berkas %s" #: src/truncate.c:230 #, fuzzy, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "memotong %s di %<PRIdMAX> byte" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "multiple relatif pengubah dispesifikasikan" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "anda harus menspesifikasikan satu dari %s atau %s" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "anda harus menspesifikasikan satu dari %s atau %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s telah dispesifikasikan tetapi %s belum" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "tidak dapat membuka %s untuk ditulis" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Penggunaan: %s [PILIHAN] [BERKAS]\n" "Tulis total daftar terurut konsisten dengan pengurutan partial dalam " "BERKAS.\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: masukan berisi sebuah angka ganjil dari tokens" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: masukan berisi sebuah loop:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Tampilkan nama berkas dari terminal yang terhubung ke standar masukan.\n" "\n" " -s, --silent, --quiet tampilkan kosong, hanya mengembalikan sebuah " "status keluar\n" #: src/tty.c:120 msgid "not a tty" msgstr "bukan sebuah tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Tampilkan beberapa sistem informasi. Tanpa PILIHAN, sama seperti -s.\n" "\n" " -a, --all menampilkan seluruh informasi, dalam urutan " "berikut,\n" " kecuali mengabaikan -p dan -i jika tidak " "diketahui:\n" " -s, --kernel-name menampilkan nama kernel\n" " -n, --nodename menampilkan network node hostname\n" " -r, --kernel-release menampilkan release kernel\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version menampilkan versi dari kernel\n" " -m, --machine menampilkan nama perangkat mesin\n" " -p, --processor menampilkan tipe prosesor atau \"unknown\"\n" " -i, --hardware-platform menampilkan platform perangkat atau \"unknown\"\n" " -o, --operating-system manampilkan sistem operasi\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Menampilkan arsitektur mesin.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "tidak dapat memperoleh nama sistem" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Mengubah blank dalam setiap BERKAS ke tabs, menulis ke standar keluaran.\n" "Tanpa BERKAS, atau ketika BERKAS adalah -, baca standar masukan.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all mengubah seluruh spasi, daripada menyesuaikan spasi " "inisial\n" " --first-only mengubah hanya awalan urutan dari spasi (overrides -a)\n" " -t, --tabs=N memiliki tabs N karakter apart daripada 8 (aktifkan -a)\n" " -t, --tabs=LIST menggunakan DAFTAR dipisahkan koma dari posisi tab " "(aktifkan -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabs terlalu jauh dipisahkan" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "nilai tab stop terlalu besar" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Penggunaan: %s [PILIHAN]... [INPUT [OUTPUT]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Penyaring selanjutnya mencocokan baris dari MASUKAN (atau standar masukan),\n" "menulis ke KELUARAN (atau standar keluaran).\n" "\n" "Dengan tidak menggunakan pilihan, baris yang cocok digabungkan ke pertemuan " "pertama.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count awali baris dengan jumlah kejadian\n" " -d, --repeated hanya menampilkan baris duplikasi\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] menampilkan seluruh baris duplikasi\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting selesai dengan baris kosong.\n" " -f, --skip-fields=N hindari membandingkan bagian N pertama\n" " -i, --ignore-case abaikan perbedaan dalam case dalam membandingkan\n" " -s, --skip-chars=N hindari perbandingan karakter N pertama\n" " -u, --unique hanya menampilkan baris unik\n" " -z, --zero-termintaed akhir baris dengan 0 byte, bukan baris baru\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N bandingkan tidak lebih dari N karakter dalam baris\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Sebuah bagian yang berjalan dari spasi (biasanya spasi dan/atau TAB), ketika " "bukan-kosong\n" "karakter. Fields dilewati sebelum karakter.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Catat: 'uniq' tidak mendeteksi pengulangan baris kecuali mereka berurutan.\n" "Anda mungkin ingin mengurutkan masukan pertama, atau gunakan `sort -u' tanpa " "`uniq'.\n" "Juga, perbandingan menghargain aturan yang dispesifikasikan oleh " "`LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "terlalu banyak pengulangan baris" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "jumlah bagian yang dilewati tidak valid" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "jumlah bytes yang dilewati tidak valid" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "jumlah bytes yang dibandingkan tidak valid" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "menampilkan seluruh baris duplikat dan jumlah pengulangan adalah tidak " "berarti" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s BERKAS\n" " atau: %s PILIHAN\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Panggil fungsi unlink untuk menghapus BERKAS yang dispesifikasikan.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "tidak dapat unlink %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "tidak dapat memperoleh waktu nyala" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "nyala ???? hari ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "nyala %ld hari %2d:%02d, " msgstr[1] "nyala %ld hari %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "nyala %ld hari %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu pengguna" msgstr[1] "%lu pengguna" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", beban rata-rata: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Menampilkan waktu sekarang, lama sistem telah hidup,\n" "jumlah pengguna dari sistem, dan jumlah rata-rata pekerjaan\n" "dalam antrian pekerjaan lebih dari terakhir 1, 5 dan 15 menit." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Proses dalam\n" "sebuah keadaan tidur tidak dapat diinterupsi juga berkontribusi terhada " "beban kerja.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Jika BERKAS tidak dispesifikasikan, gunakan %s. %s sebagai BERKAS adalah " "umum.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Keluarkan yang sedang dilog dalam BERKAS yang berhubung.\n" "Jika BERKAS tidak dispesifikasikan, gunakan %s. %s sebagai BERKAS adalah " "umum.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Menampilkan baris baru, kata, dan jumlah byte untuk setiap BERKAS, dan total " "baris jika\n" "lebih dari satu BERKAS dispesifikasikan. Tanpa BERKAS, atau ketika BERKAS " "adalah -,\n" "baca standar masukan.\n" " -c, --bytes menampilkan jumlah byte\n" " -m, --chars menampilkan jumlah karakter\n" " -l, --lines menampilkan jumlah baris baru\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F baca masukan dari berkas yang dispesifikasikan " "oleh\n" " nama yang diakhiri-KOSONG dalam berkas F\n" " Jika F adalah - maka baca nama dari standar " "masukan\n" " -L, --max-line-length tampilkan panjang dari baris terpanjang\n" " -w, --words tampilkan jumlah kata\n" #: src/who.c:210 msgid " old " msgstr " lama " #: src/who.c:440 msgid "system boot" msgstr "sistem boot" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "keluar=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "jam berubah" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "tingkat-proses" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "terakhir=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# pengguna=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAMA" #: src/who.c:559 msgid "LINE" msgstr "BARIS" #: src/who.c:559 msgid "TIME" msgstr "WAKTU" #: src/who.c:559 msgid "IDLE" msgstr "IDLE" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "KELUAR" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Penggunaan: %s [PILIHAN]... [ BERKAS | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" "Menampilkan informasi mengenai pengguna yang saat ini sedang logged in.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all sama seperti -b -d --login -p -r -t -T -u\n" " -b, --boot waktu terakhir sistem nyala\n" " -d, --dead menampilkan proses mati\n" " -H, --heading menampilkan baris dari heading kolom\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login menampilkan proses sistem login\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup mencoba untuk canonicalize hostname melalui DNS\n" " -m hanya hostname dan pengguna yang berhubungan dengan " "stdin\n" " -p, --process menampilkan aktif proses dispawn oleh init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count seluruh nama login dan jumlah pengguna yang sedang " "memakai\n" " -r, --runlevel menampilkan seluruh runlevel\n" " -s, --short menampilkan hanya nama, baris, dan waktu (default)\n" " -t, --time menampilkan terakhir waktu sistem berubah\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg menambahkan status pesan pengguna seperti +, - atau ?\n" " -u, --users daftar pengguna yang sedang memakai sistem\n" " --message sama seperti -T\n" " --writable sama seperti -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Jika BERKAS tidak dispesifikasikan, gunakan %s. %s seperti BERKAS adalah " "umum.\n" "Jika ARG1 ARG2 diberikan, -m diasumsikan: `am i' atau `mom likes' seperti " "biasa.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Menampilkan nama pengguna berasosiasi dengan ID pengguna efektif sekarang.\n" "Sama seperti id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: tidak dapat menemukan nama untuk ID pengguna %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Penggunaan: %s [STRING]...\n" " atau: %s PILIHAN\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Secara berulang mengeluarkan sebuah baris dengan seluruh spesifikasi STRING, " "atau `y'.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "menggunakan aritmetik single-precision" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "menggunakan aritmetik arbitrary-precision" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "membuat berkas %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Penggunaan: %s [PILIHAN] NAMA...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: panjang akhiran tidak valid" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Contoh:\n" #~ " %s /usr/bin/sort Keluaran \"sort\".\n" #~ " %s include/stdio.h Keluaran \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "membaca %s" #~ msgid "writing %s" #~ msgstr "menulis %s" #~ msgid "closing %s" #~ msgstr "menutup %s" #~ msgid "accessing %s" #~ msgstr "mengakses %s" #~ msgid "opening %s" #~ msgstr "membuka %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Penggunaan: %s NAMA\n" #~ " atau: %s PILIHAN\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-filesystem lewati direktori di sistem berkas berbeda\n" #~ " -X, --exclude-from=BERKAS Exclude berkas yang cocok dari pola apapun " #~ "dalam BERKAS.\n" #~ " --exclude=POLA Exclude berkas yang cocok dengan POLA.\n" #~ " --max-depth=N menampilkan total untuk sebuah direktori (atau " #~ "berkas, dengan --all)\n" #~ " hanya jika ini adalah N atau level lebih kecil " #~ "dibawah perintah\n" #~ " argumen baris; --max-depth=0 sama seperti dalam\n" #~ " --summarize\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off tidak pernah membuat backup (walaupun jika --backup " #~ "diberikan)\n" #~ " numbered, t buat backup bernomor\n" #~ " existing, nil bernomor jika backup bernomor ada, simple jika tidak\n" #~ " simple, never selalu membuat backup sederhana\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "PERINGATAN: --page-increment sudah ditinggalkan; lebih baik gunakan --" #~ "line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Semua argumen ke pilihan panjang adalah wajib untuk pilihan pendek.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX adalah d untuk desimal, o untuk oktal, x untuk heksadesimal atau n " #~ "untuk kosong.\n" #~ "BYTES adalah heksadesimal dengan awalan 0x atau 0X, dan mungkin memiliki " #~ "sebuah akhiran pengali:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y.\n" #~ "Menambahkan sebuah akhiran z untuk semua type karakter yang bisa " #~ "ditampilkan di akhir dari setiap\n" #~ "baris keluaran.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string tanpa sebuah nomor mengindikasikan 3. --width tanpa sebuah " #~ "nomor\n" #~ "mengindikasikan 32. Secara default, od menggunakan -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Penggunaan: %s [PILIHAN]... BERKAS\n" #~ msgid "Password:" #~ msgstr "Kata sandi:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: tidak dapat membuka /dev/tty" #~ msgid "cannot set groups" #~ msgstr "tidak dapat menset grup" #~ msgid "cannot set group id" #~ msgstr "tidak dapat menset id grup" #~ msgid "cannot set user id" #~ msgstr "tidak dapat menset id pengguna" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Penggunaan: %s [PILIHAN]... [-] [PENGGUNA [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Ubah efektif id pengguna dan id grup ke PENGGUNA.\n" #~ "\n" #~ " -, -l, --login buat shell sebagai sebuah login shell\n" #~ " -c, --command=COMMAND lewatkan sebuah PERINTAH tunggak ke shell " #~ "dengan -c\n" #~ " -f, --fast lewatkan -f ke shell (untuk csh dan tcsh)\n" #~ " -m, --preserve-environment jangan mereset variabel lingkungan\n" #~ " -p sama seperti -m\n" #~ " -s, --shell=SHELL jalankan SHELL jika /etc/shells " #~ "membolehkannya\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Sebuah - mengindikasikan -l. Jika PENGGUNA tidak diberikan, asumsikan " #~ "root.\n" #~ msgid "user %s does not exist" #~ msgstr "pengguna %s tidak ada" #~ msgid "incorrect password" #~ msgstr "kata kunci tidak benar" #~ msgid "using restricted shell %s" #~ msgstr "menggunakan shell %s terbatas" #~ msgid "warning: cannot change directory to %s" #~ msgstr "peringatan: tidak dapat pindah ke direktori %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Ubah grup dari setiap BERKAS ke GRUP.\n" #~ "Dengan --reference, ubah grup dari setiap BERKAS ke RFILE.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi hanya melaporkan ketika " #~ "ada perubahan yang dilakukan\n" #~ " --dereference affek referensi untuk setiap link simbolik (ini\n" #~ " default), daripada link simbolik itu sendiri\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root jangan perlakukan `/' secara spesial (default)\n" #~ " --preserve-root gagal untuk beroperasi secara rekursif di `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet tekan hampir seluruh pesan error\n" #~ " --reference=RFILE gunakan RFILE grup daripada menspesifikasikan " #~ "sebuah\n" #~ " nilai GRUP\n" #~ " -R, --rekursif beroperasi di berkas dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose keluarkan sebuah diagnosa untuk setiap berkas " #~ "yang diproses\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Ubah mode dari setiap BERKAS ke MODE.\n" #~ "\n" #~ " -c, --ubag seperti verbose tetapi hanya melaporkan ketika " #~ "ada perubahan terjadi\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet tekan seluruh pesan error\n" #~ " -v, --verbose keluarkan sebuah diagnosa untuk setiap berkas " #~ "yang diproses\n" #~ " --reference=RFILE gunakan mode RFILE daripada nilai MODE\n" #~ " -R, --recursive ubah berkas dan direktori secara rekursif\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ubah pemilik dan/atau grup dari setiap BERKAS ke PEMILIK dan/atau GRUP.\n" #~ "Dengan --reference, ubah pemilik dan grup dari setiap BERKAS ke RFILE.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi hanya melaporkan ketika " #~ "ada sebuah perubahan terjadi\n" #~ " --dereference afek referensi dari setiap link simbolik (ini " #~ "adalah\n" #~ " default), daripada link simbolik itu sendiri\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet tekan hampir seluruh pesan error\n" #~ " --reference=RFILE gunakan pemilik dan grup RFILE daripada\n" #~ " menspesifikasikan nilai PEMILIK:GRUP\n" #~ " -R, --recursive beroperasi di berkas dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose keluarkan sebuah pesan diagnosa untuk setiap " #~ "berkas yang diproses\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Menampilkan waktu sekarang dalam FORMAT yang diberikan, atau menset waktu " #~ "sistem.\n" #~ "\n" #~ " -d, --date=STRING menampilkan waktu dijelaskan oleh STIRNG, " #~ "bukan `now'\n" #~ " -f, --file=DATEFILE seperti --date sekali untuk setiap baris dari " #~ "DATEFILE\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "BESAR mungkin (atau mungkin sebuah integer dan opsional diikuti oleh) " #~ "satu dari berikut:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, dan selanjutnya untuk G, T, " #~ "P, E, Z, Y.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Wrap baris yang terenkode setelah COLS karakter " #~ "(default 76).\n" #~ " Gunakan 0 untuk menonaktifkan wrapping baris.\n" #~ "\n" #~ " -d, --decode Dekode data.\n" #~ " -i, --ignore-garbage Ketika mendekode, abaikan karakter bukan " #~ "alphabet.\n" #~ "\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot create link %s" #~ msgstr "tidak dapat membuat link %s" #~ msgid "invalid format precision" #~ msgstr "format presisi tidak valid" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "PERINGATAN: --preserve_context sudah ditinggalkan; lebih baik gunakan --" #~ "preserve-context" #~ msgid "creating symbolic link %s" #~ msgstr "membuat link simbolik %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "membuat link simbolik %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "membuat link keras %s" #~ msgid "creating hard link %s => %s" #~ msgstr "membuat link keras %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "ekstra operand %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "baik awalan SI dan IEC ada dalam satuan" #~ msgid "invalid number of lines: 0" #~ msgstr "jumlah baris tidak valid: 0" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "pilihan --context (-Z) adalah kadaluarsa dan akan dihilangkan\n" #~ "dalam release selanjutnya" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Penggunaan: %s [PILIHAN] JUMLAH[AKHIRAN] PERINTAH [ARGUMEN]...\n" #~ " atau: %s [PILIHAN]\n" #~ msgid "" #~ " -s, --signal=SIGNAL\n" #~ " specify the signal to be sent on timeout.\n" #~ " SIGNAL may be a name like `HUP' or a number.\n" #~ " See `kill -l` for a list of signals\n" #~ msgstr "" #~ " -s, --signal=SIGNAL\n" #~ " spesifikasikan sinyal yang akan dikirim ketika " #~ "kehabisan waktu.\n" #~ " SIGNAL mungkin sebuah nama seperti `HUP' atau sebuah " #~ "nomor.\n" #~ " lihat `kill -l' untuk daftar dari sinyal\n" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "peringatan: pilihan --%s sudah ditinggalkan; gunakan --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Catat bahwa pilihan -r dan -s adalah mutually exclusive.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: pilihan tidak legal -- %c\n" #~ msgid "invalid argument: %s" #~ msgstr "argumen tidak valid: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Tampilkan bantuan ini dan keluar.\n" #~ " --version Keluarkan informasi versi dan keluar.\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Dengan --follow (-f), tail default untuk mengikuti berkas deskripsi, " #~ "yang\n" #~ "berarti bahkan jika sebuah berkas yang ditail diubah namanya, tail akan " #~ "tetap mengikuti jejaknya\n" #~ "sampai akhir. " #~ msgid "Report %s bugs to <%s>.\n" #~ msgstr "Laporkan %s bugs ke <%s>.\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "%s halaman rumah: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Bantuan umum menggunakan aplikasi GNU: <http://www.gnu.org/gethelp/>.\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "pilihan --megabytes sudah kadaluarsa; gunakan -m saja" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Jika -e ada dalam efek, mengikuti urutan yang dikenal:\n" #~ "\n" #~ " \\0NNN karakter yang kode ASCII nya adalah NNN (oktal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory buat sebuah direktori, bukan sebuah berkas\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet tekan diagnosa mengenai kegagalan pembuatan berkas/" #~ "direktori\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run jangan membuat apapun; hanya menampilkan sebuah nama " #~ "(tidak aman)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p DIR gunakan DIR sebagai sebuah prefix; mengindikasikan -t " #~ "[kadaluarsa]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a peringatan (BEL)\n" #~ " \\b backspace\n" #~ " \\c menghasilkan keluaran lebih lanjut\n" #~ " \\f form feed\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n baris baru\n" #~ " \\r carriage return\n" #~ " \\t horisontal tab\n" #~ " \\v vertikal tab\n" #~ msgid "path truncated when looking for %s" #~ msgstr "jalur terpotong ketika mencari untuk %s" #~ msgid "creating %s" #~ msgstr "membuat %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: peringatan: membuat sebuah link keras ke sebuah link simbolik tidak " #~ "portabel" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Secara default, warna tidak digunakan untuk membedakan tipe dari berkas. " #~ "Yang\n" #~ "sama dengan menggunakan --color=none. Gunakan pilihan --color tanpa\n" #~ "opsional WHEN argumen adalah sama dengan menggunakan --color=always. " #~ "Dengan\n" #~ "--color=auto, kode warna dikeluarkan jika standar keluaran adalah " #~ "terhubung\n" #~ "ke terminal (tty). Variabel lingkungan adalah LS_COLORS dapat " #~ "mempengaruhi\n" #~ "warna, dan dapat menset secara mudah perintah dircolors.\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: gagal menutup direktori %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: tidak dapat membuka .. dari %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "FATAL: tidak dapat menyakinkan %s (mengembalikan melalui ..) adalah aman" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: direktori %s diubah dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: tidak dapat memasuki direktori %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAL: baru-saja-diubah-ke direktori %s diubah dev/ino" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: tidak dapat kembali ke .. dari %s" #~ msgid "cannot remove %s directory %s" #~ msgstr "tidak dapat menghapus %s direktori %s" #~ msgid "cannot remove root directory %s" #~ msgstr "tidak dapat menghapus root direktori %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "tidak dapat menghapus penamaan relatif %s" #~ msgid "cannot restore current working directory" #~ msgstr "tidak dapat merestore direktori kerja sekarang" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "UKURAN mungkin memiliki akhiran pengali:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, dan seterusnya untuk T, P, E, Z, Y.\n" #~ msgid "" #~ "\n" #~ "SIZE is a number which may be followed by one of the following suffixes:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE adalah sebuah angka yang mungkin diikuti oleh salah sati dari " #~ "akhiran berikut:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, dan selanjutnya untuk G, T, " #~ "P, E, Z, Y.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Abaikan seluruh tetapi satu dari suksesif baris identik dari MASUKAN " #~ "(atau\n" #~ "standar masukan), menulis ke KELUARAN (atau standar keluaran).\n" #~ "\n" #~ msgid "couldn't open temporary file" #~ msgstr "tidak dapat membuka berkas sementara" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference jangan mengikuti link simbolik dalam " #~ "SUMBER\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "pilihan --reply sudah ditinggalkan; gunakan -i atau -f daripada" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "PERINGATAN: gunakan --si, bukan -H; arti dari pilihan -H akan segera\n" #~ "mengubah sama seperti --dereference-args (-D)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Penggunaan: %s [PILIHAN]... [STRING]...\n" #~ msgid "" #~ " --bignum always use arbitrary-precision arithmetic\n" #~ " --no-bignum always use single-precision arithmetic\n" #~ msgstr "" #~ " --bignum selalu menggunakan aritmetik arbitrary-precision\n" #~ " --no-bignum selalu menggunakan aritmetik single-precision\n" #~ msgid "" #~ "arithmetic operation %c produced an out of range value, but arbitrary-" #~ "precision arithmetic is not available" #~ msgstr "" #~ "operasi aritmetik %c menghasilkan nilai diluar jangkauan, tetapi " #~ "aritmetik arbitrary-precision tidak tersedia" #~ msgid "string too long" #~ msgstr "string terlalu panjang" #~ msgid "arbitrary-precision support is not available" #~ msgstr "layanan arbitrary-precision tidak tersedia" #~ msgid "string offset is too large" #~ msgstr "string ofset terlalu besar" #~ msgid "substring length too large" #~ msgstr "panjang substring terlalu besar" #~ msgid "arbitrary-precision arithmetic is not available" #~ msgstr "aritmetik arbitrary-precision tidak tersedia" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Status keluar adalah 0 jika OK, 1 jika ada sedikit masalah, 2 jika adalah " #~ "masalah serius.\n" #~ msgid "no %% directive in format string %s" #~ msgstr "tidak ada %% direktif dalam format string %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "terlalu banyak %% direktif dalam format string %s" #~ msgid "invalid format string: %s" #~ msgstr "format string tidak valid: %s" #~ msgid "FIXME unknown" #~ msgstr "BETULKAN-AKU tidak diketahui" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Penggunaan: %s [PILIHAN] [BERKAS...\n" #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Akhiran backup adalah `-', kecuali diset dengan --suffix atau " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Metode pengontrol versi mungkin dipilih melalui pilihan --backup atau " #~ "melalui\n" #~ "variabel environment VERSION_CONTROL. Ini adalah nilainya:\n" #~ "\n" #~ msgid "David Ihnat" #~ msgstr "David Ihnat" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Menampilkan faktor prima dari setiap NOMOR.\n" #~ "\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "tidak dapat menampilkan konteks ketika selinux tidak aktif atau ketika " #~ "menampilkan id\n" #~ "dari sebuah pengguna yang berbeda" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Penggunaan: %s [PILIHAN] DIREKTORI...\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" lebar=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRING, --sep-string[=STRING]\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Penggunaan: %s [PILIHAN] BERKAS [...]\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort bandingkan menurut nilai numerik umum\n" #~ " -i, --ignore-nonprinting pertimbangkan hanya karakter yang bisa " #~ "ditampilkan\n" #~ " -M, --month-sort bandingkan (tidak diketahui) < `JAN' < ... " #~ "< `DEC'\n" #~ " -n, --numeric-sort bandingkan menurut nilai numerik string\n" #~ " -R, --random-sort urutkan berdasarkan random hash dari kunci\n" #~ " --random-source=FILE dapatkan random byte dari BERKAS (default /" #~ "devurandom)\n" #~ " --sort=WORD urutkan berdasarkan WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse balik hasil dari perbandingan\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "tidak dapat membuat berkas sementara" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Penggunaan: %s [PILIHAN] BERKAS...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry terus coba untuk membukan sebuah berkas " #~ "walaupun ini\n" #~ " tidak dapat diakses ketika tail mulai atau " #~ "jika ini menjadi\n" #~ " tidak dapat diakses kemudian; berguna ketika " #~ "diikuti oleh nama,\n" #~ " i.e., dengan --follow=name\n" #~ " -c, --bytes=N keluarkan byte terakhir N; alternatif, gunakan " #~ "+N ke\n" #~ " keluaran bytes dimulai dengan ke N dari setiap " #~ "berkas\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Translasi terjadi jika -d diberikan dan kedua SET1 dan SET2 timbul.\n" #~ "-t mungkin digunakan ketika menerjemahkan. SET2 diextend ke panjang dari\n" #~ "SET1 dengan mengulang dari karakter terakhir jika dibutuhkan. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Kelebihan karakter\n" #~ "dari SET2 diabaikan. Hanya [:lower:] dan [:upper:] yang digaransi untuk\n" #~ "diexpand dalam urutan meningkat; gunakan dalam SET2 ketika menerjemahkan, " #~ "mereka mungkin\n" #~ "hanya digunakan dalam pasangan untuk menspesifikasikan konversi huruf. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s menggunakan SET1 jika tidak ada\n" #~ "mentranslasikan atau tidak menghapus; selain itu squeezing digunakan SET2 " #~ "dan terjadi setelah\n" #~ "translasi atau penghapusan.\n" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s nyala " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld hari" #~ msgstr[1] "%ld hari" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Penggunaan: %s [PILIHAN]... [ BERKAS ]\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/pt.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000440165�12107204517�012124� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���‚��0���@��½��P8�����DK�����LK��hK������ìL��ø���íL��Â���æM��ª���©N��G��TO��ù���œP��º���–Q��p���QR��!��ÂR��¼���äS��w��¡T��5��V��R��OW��~���¢X�� ���!Y��G���/Y��ï���wY��w���gZ��¡���ßZ��#��[����¥\��š���ª]��Ä���E^��z��� _��i���…_��ˆ���ï_��È���x`��„���Aa��à���Æa��›���§b����Cc��3��Xd��K��Œe��0���Øf��Ê��� g��ç���Ôg��‡���¼h��¾���Di��E���j��Œ���Ij��æ���Öj����½k��9���Ïl��t�� m��Ì���~n����Ko��Ë���_p��7���+q��¼���cq��F��� r��ì���gr��¾��Ts��ë���u��,���ÿu��º���,v�����çv��ß���xw��‹���Xx��·���äx��p���œy��5��� z����Cz����b{��×���|��ò���Y}��É���L~��Ê�����ð���á��Ô���Ò€��Ó���§��¤���{‚��i��� ƒ��õ���Šƒ��Z���€„��.��Û„��ž��� †��O��©†����ù‡�� ��‰‰��£��–Š��y��:Œ�� ��´��Ë��ÕŽ����¡��¢���À‘��¡��c’��E���”��J���K”�� ��–”��&��¤•��Ý���Ë–��Ò���©—��’���|˜��°���™��Ë���À™��u���Œš����›�����œ��ƒ���¨œ��4��,����až����sŸ��´��† ��í���;¢�� ��)£��<���4¤��‘���q¤��z���¥��þ���~¥��f��}¦��1���ä§��;��¨��Æ���R©��q��ª��×���‹«��Þ���c¬��ƒ���B­��Ñ���Æ­��Í���˜®��Ñ���f¯��ë���8°����$±��Ó���3²��I���³����Q³�� ��ß´��=���¶��*��>·��C���i¸��X��­¸��?���º��š��Fº��¨��á»��$���н��ú���¯½��$���ª¾��*���Ͼ����ú¾��&���À��9���@À��#���zÀ��$���žÀ��!���ÃÀ��Ý���åÀ��,���ÃÁ��"���ðÁ�� ���Â��X��!Â��;���zÃ��|��¶Ã����3Å��Ô���GÆ��Ü���Ç��þ���ùÇ�����øÈ�����ýÈ�����É����� É����É��&���;Ê�� ���bÊ�� ���lÊ�����xÊ�����‹Ê�����žÊ�����³Ê�����ÑÊ�� ���íÊ��+���Ë�����:Ë�����SË��D���nË��0���³Ë�����äË��"���ýË����� Ì��/���0Ì�� ���`Ì�����Ì�����™Ì�����¯Ì�����ÈÌ��>���åÌ��"���$Í��%���GÍ��B���mÍ��*���°Í�����ÛÍ�����úÍ����� Î��)���Î�����FÎ��%���cÎ��,���‰Î��$���¶Î�����ÛÎ��/���ûÎ�����+Ï��8���;Ï�����tÏ�����‰Ï�����¨Ï�����ÅÏ�����ÙÏ�����øÏ����� Ð�����Ð�����3Ð�����NÐ�����kÐ�����~Ð�����Ð�����£Ð�����´Ð��'���ÅÐ�����íÐ��*���Ñ�����3Ñ��$���QÑ�����vÑ�� ���†Ñ�����§Ñ��"���½Ñ�����àÑ�����öÑ��;��� Ò�����HÒ�����[Ò�����wÒ�����“Ò�����°Ò�����ÎÒ�����âÒ��"���ùÒ�����Ó�����/Ó��)���IÓ�����sÓ�����Ó�����¡Ó��"���ÀÓ��1���ãÓ��'���Ô��(���=Ô�� ���fÔ�����‡Ô�����šÔ�����³Ô��"���ÎÔ�����ñÔ������Õ��&���Õ�����:Õ��"���UÕ�� ���xÕ�� ���„Õ�����‘Õ�����£Õ�����´Õ�����ÄÕ��5���àÕ��0���Ö��.���GÖ�����vÖ��"���’Ö�����µÖ��+���ÅÖ�����ñÖ�����×�� ���×����� ×�����7×��l���;×��;��¨×�����äØ�� ���úØ��6���Ù��)���?Ù�����iÙ�����{Ù�����’Ù�����©Ù�� ���ÀÙ�����ËÙ��)���ÐÙ�����úÙ����� Ú�����&Ú�� ���,Ú�����6Ú��k��MÚ�����¹Û��K���ÁÛ��8��� Ü�����FÜ��3���OÜ��½���ƒÜ�� ���AÝ��U��MÝ�����£Þ��<��¨Þ��\���åß��+���Bà��0���nà�� ���Ÿà�����©à��1���°à�� ���âà��7���íà�����%á�����*á�����0á�����6á�����<á��¦���Aá�����èá��×��÷á�� ���Ïã�����Úã�����áã�����ùã�����ä�����-ä�����Iä��$���aä�����†ä�����˜ä�����³ä�����¸ä�� ���¾ä�����Ëä�����åä�� ���öä�����å�����å����� å��#���%å�����Iå�����Rå��*���qå�����œå��E���Ÿå�����åå����ùå��o��� ç�����{ç��&���ç�����¦ç��#���­ç��H���Ñç��2���è��i��Mè�����·é��†���Õé��;���\ê��%���˜ê��T���¾ê�����ë�� ���2ë�����<ë�����Wë�����hë��1���}ë��'���¯ë��&���×ë��*���þë�����)ì�����1ì��5���6ì�����lì�� ���tì�����ì��$���†ì��$���«ì�����Ðì��+���ãì�����í�� ���í�����"í�����7í�����Ií�����[í�� ���mí��,���zí��j���§í��&���î�� ���9î��'���Zî��0���‚î�����³î��Y���Òî��'���,ï��T���Tï��'���©ï��(���Ñï�����úï�����ð��&���*ð��š���Qð�����ìð�����ñ��#���¡ñ��&���Åñ�����ìñ��"��� ò��T���.ò��g���ƒò��†���ëò��.���ró�����¡ó��"���Àó��+���ãó��Y���ô��~���iô��¤���èô��ä���õ��=���rö�����°ö��^���Îö�� ���-÷��¢���N÷��F���ñ÷��'���8ø��Z���`ø��`���»ø��!���ù��!���>ù�� ���`ù��'���ù��<���©ù��T���æù�����;ú�����@ú�����Eú��¹���Zú�� ���û�����û�����#û�����)û��;���@û��3���|û��/���°û��+���àû��'��� ü��#���4ü�����Xü�����xü�����”ü��<���¤ü�����áü�����çü�����íü��*���ïü�����ý�����2ý�����Lý��A���iý��2���«ý��1���Þý�� ���þ�����þ��!���/þ�����Qþ��#���Xþ�����|þ��0���˜þ�����Éþ�����ãþ�����ôþ��*���ÿ�����0ÿ�����Nÿ��"���nÿ�����‘ÿ�����¯ÿ�� ���Îÿ��,���ïÿ�� ��������=�����]��+���|��#���¨��#���Ì��,���ð��0����,���N�#���{����Ÿ����º� ���Ð����ñ���� ����+����I�$���h�����'���£����Ë����å�!���û�����1���6����h����x����•����©����À�(���Ð����ù�����.���'�2���V����‰����¤����¿�%���Ø�0���þ�3���/����c�B���ƒ�+���Æ�5���ò�1���(����Z����s�*���’����½����Ø�)���õ�����%���0����V����f�8�������º����Ð����ä�����&����.���C�!���r����”�&���£����Ê����Ú����î�'���ÿ����' ����< ����U ����p ����‰ ����  �%���· ����Ý � ���ù � ��� ���� ����& ����; ����Q ����h �+��� �-���« �!���Ù ����û ���� ����. �8���E ����~ ����• ����ª ����À �3���Ò � ��� ���� � ���! ����- � ���= ����G �#���Z �"���~ ����¡ ����² ����à ����É ����Û �%���ì �$��� �#���7 �!���[ �'���} ����¥ ����» �*���Û �%����%���,����R����q�(����,���¸� ���å�$�������+����D�$���V�#���{�%���Ÿ����Å�!���å���������3���9�-���m�1���›�1���Í����ÿ��������4����N�#���h�1���Œ�.���¾����í����ÿ� �������%����B�(���W����€�.���…����´�D���Ì��������%����5����R����n����‹����¥����©����À�)���Ï�/���ù�=���)�@���g�:���¨����ã�!�������#����5����G�;���^����š����°����Ä� ���ß�������������/�*���B�-���m����›����«����Â����Û����ð�������� ����<�%���T�#���z�"���ž����Á� ���×����å����ö�"���� ���+����9����L����c����v����’����¨�#���Ã�!���ç�!��� ����+����B����a����z� ���™����¦����¶����Ç����Ù�!���÷�����"���1����T����t� ���’����³����Ë�]���à����>����R�!���h�*���Š� ���µ� ���Â����ã����÷�2��� �;���?����{����”����±����Ï�R���æ�L���9�(���†� ���¯����¼����Ì����Þ����ô�,����9���?����y�0����:���°�'���ë�8�������L����a� ���r�/���€�-���°����Þ����ø�&��� �)���6 ����` �$���u ����š ����± ����Ë ����Û �+���ô �"��� !����C!����Z!�#���x!�$���œ!����Á!����Ö!�!���ö!�!���"����:"�%���I"����o"����~"�7���"�=���Å"����#����!#����6#����P#� ���c#����q#�-���‰#�C���·#�(���û#� ���$$�'���.$����V$����p$����€$�%���$����¶$�4���Ì$� ���%�&���"%� ���I%�$���U%����z%����”%����´%����Ê%����è%�>����&� ���?&� ���J&����V&����k&����|&� ���&� ���œ&����¨&����¿&� ���Ö&� ���à&����ê&����'����'����4'����H'�$���]'�-���‚'�7���°'����è'����ï'����þ'���� (����&(� ���6(����B(����`(����y(�#���–(�J���º(� ���)� ���)���� )�*���5)����`)����|)����•)����±)����È)�8���å)����*� ���$*�H���2*�?���{*�=���»*�>���ù*�3���8+�(���l+�N���•+�f���ä+�>���K,�@���Š,�<���Ë,����-�(��� -����I-�/���d-����”-����¯-����Ç-����Ú-����à-�*���ô-�!���.����A.����Y.�3���m.����¡.����¹.�0���Ñ.����/����/�H���(/�+���q/�2���/�8���Ð/�=��� 0�@���G0�#���ˆ0����¬0�=���Ç0�4���1�.���:1�,���i1�<���–1�0���Ó1�3���2�7���82�c���p2�t���Ô2� ���I3�3���T3�>���ˆ3�5���Ç3�j���ý3�0���h4�,���™4�*���Æ4�3���ñ4� ���%5����15� ���D5� ���Q5�/���_5�7���5�¼��Ç5� ��„7�Ü���8�¬���l9�l��:�ý���†;�¼���„<�o���A=���±=�Ñ���Ä>�f��–?�T��ý@�v��RB�”���ÉC� ���^D�C���lD���°D�„���ÁE�«���FF�7��òF� ��*H�‘���7I�Ù���ÉI����£J�p���3K����¤K�Ë���BL�…���M�è���”M�¢���}N�N�� O�L��oP�i��¼Q�>���&S�í���eS�÷���ST�‰���KU�Â���ÕU�E���˜V�”���ÞV���sW�ü���…X�A���‚Y�±��ÄY�Ó���v[�(��J\�Ç���s]�=���;^�Ä���y^�G���>_���†_�Ï��Š`�ú���Zb�*���Uc�Í���€c�œ���Nd�Ü���ëd�“���Èe�¿���\f�~���g�:���›g�6��Ög�A�� i�Ü���Oj�÷���,k�à���$l�Þ���m�ø���äm�Ö���Ýn�Î���´o�¹���ƒp�˜���=q���Öq�\���êr�X��Gs�£��� t�g��Du�½��¬v���jx�²��‚y�{��5{�9��±|�í��ë}�8��Ù�Ó����¶��æ�I���ƒ�H���çƒ���0„�"��O…�ß���r†�â���R‡�™���5ˆ�º���ψ�È���Љ�~���SŠ�/��ÒŠ�’���Œ�œ���•Œ�c��2�;��–Ž�0��Ò�Ú��‘�õ���Þ’���Ô“�=���î”�›���,•����È•� ��V–�e��c—�G���ɘ�M��™�Ï���_š�†��/›�æ���¶œ����š���°ž�Ú���KŸ�Ý���& �Ó���¡�ñ���Ø¡�,��Ê¢�Ø���÷£�I���Ф� ��¥�=��»¦�Q��ù§�D��K©�G���ª�Y��ت�H���2¬�Ù��{¬�Æ��U®�*���°���G°�)���Y±�.���ƒ±�P��²±�.���³�;���2³�/���n³�+���ž³�%���ʳ���ð³�8���ö´�)���/µ����Yµ�i��lµ�8���Ö¶�€��·�-��¸�×���¾¹�Ú���–º���q»����ˆ¼����¼����–¼����œ¼�D��¯¼�-���ô½� ���"¾� ���,¾����8¾����X¾����x¾�!���’¾����´¾����Ò¾�*���ò¾����¿����5¿�H���O¿�2���˜¿�&���Ë¿�&���ò¿����À�0���,À�(���]À�(���†À����¯À� ���ÅÀ����æÀ�F���Á�/���LÁ�>���|Á�=���»Á�.���ùÁ�$���(Â����MÂ����hÂ�9���€Â�,���ºÂ�2���çÂ�>���Ã�/���YÃ����‰Ã�1���¢Ã����ÔÃ�D���èÃ����-Ä�$���CÄ����hÄ����…Ä����˜Ä����·Ä����ÏÄ����áÄ�!���øÄ�!���Å����<Å����ZÅ����xÅ����ŽÅ���� Å�6���³Å����êÅ�0���Æ�1���9Æ�&���kÆ�'���’Æ�'���ºÆ����âÆ�)���úÆ�!���$Ç����FÇ�D���eÇ����ªÇ����ÀÇ����ßÇ�"���ÿÇ�!���"È����DÈ�!���ZÈ�$���|È����¡È�#���µÈ�,���ÙÈ�$���É����+É�#���=É�)���aÉ�=���‹É�9���ÉÉ�#���Ê�!���'Ê����IÊ����_Ê����xÊ�"���“Ê����¶Ê����ÊÊ�0���ÞÊ�!���Ë�+���1Ë� ���]Ë� ���jË����xË����ŽË����¢Ë�*���³Ë�:���ÞË�@���Ì�5���ZÌ����Ì�'���®Ì����ÖÌ�3���êÌ�%���Í����DÍ� ���GÍ����TÍ����pÍ�€���tÍ�L��õÍ����BÏ� ���XÏ�*���fÏ�!���‘Ï����³Ï����ÄÏ����×Ï����êÏ� ���ýÏ����Ð�1��� Ð����>Ð�0���ZÐ����‹Ð����‘Ð����˜Ð�{��°Ð����,Ò�P���5Ò�A���†Ò����ÈÒ�E���ÑÒ�Î���Ó����æÓ�p��îÓ����_Õ�f��eÕ�d���ÌÖ�/���1×�/���a×� ���‘×����›×�9��� ×� ���Ú×�?���å×����%Ø����*Ø����0Ø����6Ø����<Ø�Ð���EØ����Ù�þ��%Ù� ���$Û����1Û����8Û����RÛ�%���qÛ����—Û����´Û�'���ÐÛ�#���øÛ����Ü����9Ü� ���>Ü����IÜ����^Ü����~Ü� ���Ü����›Ü���� Ü����¥Ü�.���ÃÜ����òÜ�#���Ý�+���+Ý����WÝ�G���ZÝ����¢Ý�9��½Ý�„���÷Þ����|ß�4���€ß����µß�#���¼ß�D���àß�4���%à�£��Zà�$���þá�š���#â�9���¾â�%���øâ�R���ã�"���qã� ���”ã�#���Ÿã����Ãã����Ôã�:���êã�1���%ä�(���Wä�,���€ä� ���­ä����·ä�C���¼ä�����å����å����å�(���å�(���Få����oå�,���ˆå����µå����ºå����Ìå����éå����æ����æ����:æ�9���Pæ�€���Šæ�3��� ç�1���?ç�<���qç�?���®ç�*���îç�f���è�8���€è�j���¹è�5���$é�6���Zé����‘é�#���­é�.���Ñé�²����ê����³ê�Ë���Òê�'���žë�2���Æë�*���ùë�2���$ì�l���Wì�‹���Äì�¨���Pí�6���ùí�&���0î�4���Wî�7���Œî�g���Äî�Š���,ï�µ���·ï���mð�E���~ñ�)���Äñ�{���îñ�,���jò�Ê���—ò�X���bó�1���»ó�h���íó�w���Vô�&���Îô�+���õô�.���!õ�8���Põ�S���‰õ�p���Ýõ����Nö����Sö����Xö�Á���mö����/÷����7÷����>÷����C÷�9���Y÷�1���“÷�.���Å÷�)���ô÷�%���ø�!���Dø����fø����„ø����žø�@���¯ø����ðø����öø����üø�&���ÿø����&ù����?ù����Zù�B���xù�4���»ù�3���ðù����$ú����8ú�1���Tú����†ú�3���ú�%���Áú�C���çú�&���+û����Rû����jû�>���†û� ���Åû�(���æû�(���ü�!���8ü�#���Zü�(���~ü�9���§ü�+���áü�#��� ý�5���1ý�3���gý�'���›ý�1���Ãý�>���õý�B���4þ�6���wþ�5���®þ����äþ����ÿ�4���ÿ�&���Pÿ�'���wÿ�(���Ÿÿ�+���Èÿ�3���ôÿ����(��-���F��)���t�����ž��0���»��"���ì��5���� ���E� ���f�&���‡�#���®�:���Ò�7��� ����E����b�4����5���´�!���ê�!��� ����.�0���K�2���|�7���¯�*���ç�Y����3���l�C��� �N���ä����3�1���N�>���€�,���¿�)���ì�:�������Q�6���h����Ÿ�5���º�I���ð�.���:�(���i�)���’�:���¼�5���÷�<���-�,���j����—�+���¯����Û����ù���� �$���0 ����U ����m ����„ ����£ ����À ����Ù �4���ù ����. � ���L � ���Z ����h ����| �!��� � ���² ����Ó �9���î �5���( �'���^ �(���† ����¯ ����Ç �@���â �%���# ����I ����Y ����l �E���ƒ ����É ����Ï � ���á ����î � ��� ���� �+���) �&���U ����| ����‹ ����Ÿ ����¦ ����¹ �(���Ë �&���ô �&�������B�%���`����†�!���¡�+���Ã�.���ï�(���� ���G����h�=���ˆ�,���Æ�(���ó�*�������G����c�!���t����–�#���µ�!���Ù�-���û����)����<�A���W�.���™�6���È�=���ÿ�#���=����a�����$��� �&���Å�9���ì�6���&����]����q����‹�$���š����¿�0���Ø���� �E�������T�_���t����Ô����ê� ���ú��������8����U����r����v����”�1���¨�6���Ú�G����D���Y�@���ž�!���ß�&�������(����C�!���Y�F���{����Â����Ö����í�,��� �!���9����[����r�5���‡�8���½����ö��������%����E� ���a����‚�$���¡����Æ�;���å�-���!�/���O� ������� ����°����Ã�1���×���� ����%�!���B����d����y����˜� ���¸�2���Ù�,��� �-���9����g�)���†�!���°�)���Ò����ü���� ��������0�%���E�)���k����•�%���°�$���Ö� ���û�%�������B����^�h���v����ß����û�����:���2����m�&���‡����®�$���Ê�;���ï�D���+ ����p �'��� ����¸ ����Ö �i���î �\���X!�-���µ!����ã!����ø!����"�'���&"�!���N"�*���p"�9���›"����Õ"�>���Ü"�L���#�9���h#�3���¢#�!���Ö#����ø#���� $�4���$�4���Q$����†$����¢$�.���½$�1���ì$����%�2���<%����o%����‡%����£%����µ%�;���Ð%�#��� &����0&�$���M&�*���r&�1���&����Ï&�,���ï&�+���'�,���H'����u'�*���ˆ'����³'����Ä'�2���Ü'�F���(����V(����m(�&���‰(����°(����É(�%���à(�9���)�@���@)�2���)����´)�3���Ã)�!���÷)����*����**�/���<*����l*�H���€*�+���É*�-���õ*� ���#+�)���0+����Z+����q+�!���Ž+� ���°+�#���Ñ+�C���õ+����9,� ���I,����V,����g,����~,����•,� ���¦,����³,����Ç,� ���Ý,� ���è,����ò,����-����--����L-����f-�+���…-�7���±-�C���é-����-.� ���4.�%���A.�(���g.� ���.� ���±.�+���¿.�#���ë.�&���/�&���6/�@���]/����ž/����³/����Ã/�8���â/�%���0�"���A0�(���d0����0����¦0�5���Å0����û0� ���1�N��� 1�D���\1�C���¡1�C���å1�D���)2�*���n2�j���™2�p���3�H���u3�M���¾3�9��� 4� ���F4�9���g4�'���¡4�6���É4�!����5����"5����>5����\5����b5�-���}5�*���«5����Ö5�!���õ5�8���6����P6����i6�C���‚6����Æ6����Ý6�L���ò6�+���?7�0���k7�3���œ7�:���Ð7�L��� 8�*���X8����ƒ8�B���¢8�9���å8�:���9�1���Z9�3���Œ9�9���À9�+���ú9�/���&:�h���V:�}���¿:����=;�5���O;�=���…;�;���Ã;�u���ÿ;�G���u<�=���½<�.���û<�+���*=����V=����f=����~=����Ž=�/���Ÿ=�9���Ï=����¨���<��*�������� ��‰��î���Í�������Ì��¹������s��É��Ü���h��Ð��g���f��û������~���¨��t���0��Î���F��œ������V��P������ ��þ��4������­��� ������ù��÷���ö��”���š���[�������� �������������ë��»��������&���J��}��B������ä���³������-��}�������–���Ù���v�����š������Œ��x���\��� ����r��Î������%������;����é����������(������Å��������������0���å���}��������������������@�����É����ä��´���Õ��¯��S����ü���â����������Y��y��—��Ç���m��3��×��Í������µ���þ��@����������l���9������Ô��;�����\������ó���à��Ó��€��Ý��Ó������ �������i��o��¬��H��t��ú��’��L����™���������������2������>���|���������=��������­��4������������è��������������Ú��µ��~����������A��T��c��C���������� ������Ä��z������“��ñ��I������ê�������Û�����������ç������X��¬��?��D��*��˜���f���N��X��q�������²��� ��æ��ý������ ��Õ���Ú���×���n��y��¯���������î������D�����!������ð���Á��%�����·��³���5��l����a��f��Z����������â���¬���U��ì��½��¾������®��ó������Æ���ƒ��7��V������ ������{��!��� ����������ë����������������™��9��=��)��A��9���z���õ��ç��5��‚��Â��r����������O������²������Ÿ�����¦����œ���Œ����M��n������ô���Í������Š������+��:���«�����������Ï������¤��€���ã������G������õ�����‹��à��I���+���c�� ��·��>��À������h���ø��±���è������ñ��´��������������²����Ñ��¼�����Ì���Ä��������D����������Â���ù���]�������I��’������D��i��&������\������»�������2��€��=�����������������������u�������4���?�������i�������C����©���Ò��ˆ���1���G�������¶������æ������í����·���‚���1��Ù��ã������w��¡������W��Ð������������������������H��ô��a��Ã��—�����Ú��p������Æ������¿����ê��������b��ò������p�������������™������ï�� ��J��p����������‰��������������� ��O����‡������p��§���?��Á��@��)���x��É�������ƒ���������� ��‡�������Q��������ª��������*���K��M���0��������_��È�����������0��"��•������������±��l������������K������������������Û���������m���h��ö���7��`������‘��8��†���¾�������6��Z���~����������í���c���¸������2���o���g����������…������������k��#��E������R���i������ú��ƒ���<���Ë�����ò���ñ�������¥������T��� �������Ž���ý���ß���†��ò��(��„���Ö������]��½��������������%��×��‹�������©������O���Ø����������r��6��Ç����þ���m���������®��é���’���y����������������ÿ���_���Ž��������������>������º��H���ø���E�����������„��Š���������������ž��Å���á��5��_��§��8���u�����������������f�� ����������€������¤���º��Ó���Y������Z������'������©��”��d�����������(������v�������ï����������w��:��x��/��U��/��?��¸���;��G��ý������Ô���Ë�������-�������õ��!��Q�����������|�������ì���j�����������3��¡���������������«��h��q��”��������¢��j��1������À���Ä������Ñ��<��‡���¼��q��q��‚��ß��›��Ò����������†��Ï��Ø������,��n���u������¿���o��ä����������ž����������ð��)��«������À��T�����Ì��ˆ��¢������b���Ô�� ��d��ÿ��ô��“���6�����������T��E���‘���>��5���…��3�������������������w���������¼��ù��x��[��–����������¨��•��� ��Y��Õ��á���S���9����������Š��Y���W������,���°��œ��v��è�������������e�������ª���æ���)��P���j��X������C���û���È��Ö���m��Ã���^�����§��J����������g��������������–����������������k���š������Ã��E��"��A���{��<������„��K��U��ü�����.�������¶����8��¥��Ç��k��£���t����±��u��C��¦��,��­��£��z��B��¿�� ������ž��:��+��ü��Ø��ˆ��2�������� ��`��å��£��´��O��z��û��L���U��� �����������ß��Û��^��e��^��¹��Ý��.��R��y��¯��,��Q��Á�����������K���t�����d��e��F��.��¹���������������å��������1��n����ê��ú���s���Þ���Ö������������÷��{���'���›��=��N��/����ª������P��µ��I����������â��í��V����Ü��-��������.������������"���:������������������ ��~��—��L������������������G��º���[��N��L��‹��˜��Ï��B���`����@��Â��R���� ���������k��������������Þ����v����������Ÿ����³��[���•������a��¦�����w��$������¾����������H��s��Ê�������]��Ò���#���Ÿ���¶�������M��B��_������S�����������������(���&��s������������o��#����������‰��{��+����������a�����'��|��ó������3������R��;�������÷��e��j������%���������������¸��A���������8��¥���Ð��#��½��\��7��Î��à�������…���$���È��}��é���� ��Z��Ê������ã���¤�� ���‚��$����������˜��]������6���������N���¡��S��F�����������Å��b��4��/�����ð����P��¢���ç���“��ï���Ë��M��V���������ì��Q��'��Ý���Ž��Þ����������l��Ê��d������������`��� ���Æ��F����������»��������������á�����������$��J�������ë���W���b������›�������®���*��������������ÿ������Œ�����ø����������"��‘��c������î������°���r���&��Ù��Ñ���X���|��7����������Ü��!���������ö��-�����^��°��W������g����� >�„K��°K��ÄK��ØK��ìK���L��L��0L��\L��xL��”L��¨L��¼L��ØL��>��������������� �����������������ÿÿÿÿ1>��������1���ÿÿÿÿc>��������/���ÿÿÿÿ“>�7����������ÿÿÿÿÝ>��������(���ÿÿÿÿ ?������������������ÿÿÿÿ6?�����������ÿÿÿÿ=?��������������������������������ÿÿÿÿd?������������������ÿÿÿÿŽ?������������������ÿÿÿÿ¸?�/����������ÿÿÿÿþ?��������-���ÿÿÿÿ0@������������������ÿÿÿÿk@� ����������ÿÿÿÿ� ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --login print system login processes � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � noatime do not update access time � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � TTY� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s is not a valid positive integer�%s is too large�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid PID�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: value not completely converted�%s: write error�%s:%lu: invalid line; missing second token�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--context (-Z) works only on an SELinux-enabled kernel�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �Address family for hostname not supported�All requests done�Argument buffer too small�Avail�Available�Bad value for ai_flags�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Compare sorted files FILE1 and FILE2 line by line. �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Directory: �Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�Fifos do not have major and minor device numbers.�Filesystem�Force changed blocks to disk, update the super block. �IDLE�IFree�IUse%�IUsed�Idle�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Inodes�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�LINE�Login�Login name: �Memory allocation failure�Memory exhausted�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Parameter string not correctly encoded�Plan: �Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print machine architecture. �Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the user name associated with the current effective user ID. Same as id -un. �Processing request in progress�Project: �Regular expression too big�Request canceled�Request not canceled�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Size�Special files require major and minor device numbers.�Success�System error�TIME�Temporary failure in name resolution�The strings compared were %s and %s.�Trailing backslash�Two strings must be given when translating.�Type�Unknown error�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USER]... �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�Valid arguments are:�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �Warning: �When�Where�Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot reposition file pointer for %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot work around kernel bug after all�changing group of %s�changing ownership of %s�changing permissions of %s�character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing output file %s�closing standard input�conflicting empty-field replacement strings�conflicting security context specifiers given�couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error reading %s�error writing %s�exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to change context of %s to %s�failed to change group of %s to %s �failed to change ownership of %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create security context: %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to remove %s�failed to remove directory %s�failed to restore the default file creation context�failed to return to initial working directory�failed to set %s security context component to %s�failed to set default file creation context to %s�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to stat %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file system type %s both selected and excluded�fork system call failed�format string may not be specified when printing equal width strings�fsync failed for %s�fts_read failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s retained as %04lo (%s) �multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�ownership of %s retained �ownership of %s retained as %s �page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�typed memory object�unable to record current working directory�unable to set security context %s�unknown binary operator�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�use --no-preserve-root to override this failsafe�waiting for %s [-d]�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2008-04-23 00:02+0100 Last-Translator: Helder Correia <helder.pereira.correia@gmail.com> Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net> Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); � ( EXPRESSÃO ) EXPRESSÃO é verdadeira ! EXPRESSÃO EXPRESSÃO é falsa EXPRESSÃO1 -a EXPRESSÃO2 EXPRESSÃO1 e EXPRESSÃO2 são verdadeiras EXPRESSÃO1 -o EXPRESSÃO2 uma de EXPRESSÃO1 e EXPRESSÃO2 é verdadeira � -a, --all o mesmo que -b -d --login -p -r -t -T -u -b, --boot tempo do último início do sistema -d, --dead mostrar processos mortos -H, --heading mostrar linha de títulos de colunas � -b FICH FICH existe e é especial de blocos -c FICH FICH existe e é especial de caracteres -d FICH FICH existe e é uma pasta -e FICH FICH existe � -l produzir saída longa para os UTILIZADORes especificados -b omitir a pasta pessoa do utilizador e shell em formato longo -h omitir o ficheiro de projecto do utilizador em formato longo -p omitir o ficheiro de plano do utilizador em formato longo -s produzir saída curta (predefinido) � -n EXPR o tamanho de EXPR é não-zero EXPR equivalente a -n EXPR -z EXPR o tamanho de EXPR é zero EXPR1 = EXPR2 as espressões são iguais EXPR1 != EXPR2 as espressões são diferentes � ARG1 * ARG2 produto aritmético de ARG1 e ARG2 ARG1 / ARG2 quociente aritmético de ARG1 dividido por ARG2 ARG1 % ARG2 resto aritmético de ARG1 dividido por ARG2 � ARG1 + ARG2 soma aritmética de ARG1 e ARG2 ARG1 - ARG2 diferença aritmética de ARG1 e ARG2 � ARG1 < ARG2 ARG1 é menor que ARG2 ARG1 <= ARG2 ARG1 é menor ou igual a ARG2 ARG1 = ARG2 ARG1 é igual a ARG2 ARG1 != ARG2 ARG1 é diferente de ARG2 ARG1 >= ARG2 ARG1 é maior ou igual a ARG2 ARG1 > ARG2 ARG1 é maior que ARG2 � FICH1 -ef FICH2 FICH1 e FICH2 têm os mesmos números de dispositivo e inode FICH1 -nt FICH2 FICH1 é mais recente (data de modificação) que FICH2 FICH1 -ot FICH2 FICH1 é mais antigo que FICH2 � INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2 INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2 INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2 INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2 INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2 INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2 � EXPR : EXPREG correspondência de padrão ancorada de EXPREG em EXPR match EXPR EXPREG o mesmo que EXPR : EXPREG substr EXPR POS COMPRIM subexpressão de STRING, POS contada a partir de 1 index EXPR CARACTS índice de EXPR onde onde um CARACTS existe, ou 0 length EXPR comprimento de EXPR � a numerar todas as linhas t numerar apenas linhas não vazias n não numerar linhas pERB numerar apenas linhas que correspondam à expressão regular básica, ERB FORMATO é um de: ln alinhado à esquerda, sem zeros iniciais rn alinhar à direita, sem zeros iniciais rz alinhar à direita, com zeros iniciais � b criar um ficheiro especial de bloco (protegido) c, u criar um ficheiro especial de caracteres (não protegido) p criar um FIFO � # utlzs=%lu � Um mero - implica -i. Sem COMANDO, mostrar o ambiente resultante. � Após as preferências vem uma largura de campo opcional, um número decimal; depois um modificador opcional, o qual pode ser E para usar as representações locais alternativas se disponíveis, ou O para usar os símbolos numéricos locais alternativos se disponíveis. � Uma EXPRESSÃO omitida toma o valor falso. Caso contrário, EXPRESSÃO é verdadeiro ou falso e define estado de saída. É um de: � Como caso especial, o cp salvaguarda a ORIGEM quando as opções 'force' e 'backup' são dadas e ORIGEM e DESTINO têm o mesmo nome para um ficheiro existente e regular. � Tenha em conta que muitos operadores necessitam ser sinalizados ou escritos entre aspas. Comparações são aritméticas se todos os ARGs são números, senão lexicográficas. Padrões retornam a expressão entre \( e \) ou nula; se \( e \) não são usados, retornam o número de caracteres combinados ou 0. � Tanto MAIOR como MENOR devem ser especificadas quando TIPO é b, c ou u, e devem ser omitidas quando TIPO é p. Se MAIOR ou MENOR começarem com 0x ou 0X, é interpretado como hexadecimal; senão, se começarem por 0, como octal; senão, como decimal. TIPO pode ser: � Por omissão, rm não remove pastas. Use a opção --recursive (-r ou -R) para remover cada pasta listada também, bem como os seus conteúdos. � Predefinidamente, seleciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC são dois caracteres delimitadores para separar páginas lógicas, um segundo carácter em falta implica :. Escreva \\ para \. ESTILO é um de: � Preferências de combinação: * [-]LCASE o mesmo que [-]lcase cbreak o mesmo que -icanon -cbreak o mesmo que icanon � Cada símbolo OPÇÃO pode ser: append modo acrescentar (sentido só para saída; conv=notrunc sugerido) � Exemplos: %s f - g Despejar conteúdo de f, depois a entrada padrão, depois conteúdo de g. %s Copiar a entrada padrão para a saída padrão. � Exemplos: %s root /u Mudar o dono de /u para "root". %s root:staff /u Semelhante, mas mudar também o grupo para "staff". %s -hR root /u Mudar o dono de /u e sub-ficheiros para "root". � Exemplos: %s staff /u Mudar o grupo de /u para "staff". %s -hR staff /u Mudar o grupo de /u e sub-ficheiros para "staff". � Excepto para -h e -L, todos os testes relacionados com FICH desreferenciam ligações simbólicas. Note que parêntesis precisam de escape (ex., com \) para shells. INTEIRO pode também ser -l EXPR, que resulta no tamanho de EXPR. � Estado de saída é 0 se EXPRESSÃO não for nem nula nem 0, 1 se EXPRESSÃO é nula ou 0, 2 se EXPRESSÃO for sintacticamente inválida e 3 se um erro ocorrer. � Trata o tty ligado ao canal de entrada por defeito (stdin). Sem argumentos, imprime o ritmo em baud, a disciplina da linha e diferenças em relação a stty sane. Nos parâmetros, CHAR é aceite literalmente, ou codificado com em ^C, 0x37, 0177 ou 127; valores especiais ^- ou undef são utilizados para anular caracteres especiais. � Se FICHEIRO é -, destruir a saída padrão. Remover FICHEIRO(s) se --remove (-u) for especificada. Por omissão, não se removem os ficheiros porque é comum operar-se em ficheiros de dispositivos como /dev/hda e habitualmente não devem ser removidos. Ao operar em ficheiros regulares, a opção mais comum é --remove option. � Se PRIMEIRO ou INCREMENTO for omitido, assume-se 1. Isto é, um INCREMENTO omitido assume-se 1 mesmo quando ÚLTIMO é mais pequeno que PRIMEIRO. PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores reais. INCREMENTO é habitualmente positivo se PRIMEIRO é menor que ÚLTIMO, e INCREMENTO é habitualmente negativo se PRIMEIRO é maior que ÚLTIMO. � Se um FICHEIRO é -, copiar novamente para a saída padrão. � Preferências de entrada: [-]brkint paragens causam um sinal de interrupção [-]icrnl traduzir carriage return (CR) para nova linha [-]ignbrk ignorar caracteres de paragem [-]igncr ignorar carriage return � Preferências locais: [-]crterase ecoar caracteres de limpeza como backspace-espaço-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTA: [ honra as opções --help e --version, mas test não o faz. test trata cada uma delas como trata qualquer outra EXPR não vazia. � NOTA: a sua shell pode ter a sua versão de %s, que habitualmente ultrapassa a versão descrita aqui. Por favor veja a documentação da sua shell para detalhes acerca das opções suportadas. � Note que as opções -d e -t aceitam diferentes formatos hora-data. � Opcional - antes de PREFERÊNCIA indica negação. Um * marca preferências não-POSIX. O sistema base define quais as preferências disponíveis. � Preferências de saída: * bsN estilo de atraso de backspace, N em [0..1] * crN estilo de atraso de carriage return, N em [0..3] * ffN estilo de atraso de form feed, N em [0..1] * nlN estilo de atraso de nova linha, N em [0..1] � Exibir o valor de EXPRESSÃO. Uma linha vazia por baixo separa grupos de precedência crescentes. EXPRESSÃO pode ser: ARG1 | ARG2 ARG1 se não for nulo nem 0, senão ARG2 ARG1 & ARG2 ARG1 se nenhum argumento for nulo ou 0, senão 0 � Ler a entrada padrão se FICHEIRO for -. Cada PADRÃO pode ser: � SETs são especificados como cadeias de caracteres. A maioria auro-representa-se. Sequências interpretadas são: \NNN carácter com valor octal NNN (1 a 3 dígitos octais) \\ backslash (barra invertida) \a BEL audível \b backspace (espaço atrás) \f form feed \n nova linha \r return (enter) \t tab horizontal � Caracteres especiais: * dsusp CAR CAR enviará um sinal de término após a entrada processada eof CAR CAR enviará um fim de ficheiro (terminar a entrada) eol CAR CAR terminará a linha � Os dados são codificados como descrito para o alfabeto base64 em RFC 3548. Ao descodificar, a entrada pode conter novas linhas adicionalmente aos bytes do alfabeto base64 formal. Use --ignore-garbage para tentar recuperar de quaisquer outros caracteres não alfabéticos nos dados codificados. � Usar uma e apenas uma de -b, -c ou -f. Cada LISTA é feita de um alcance ou vários alcances separados por vírgula. Entrada seleccionada é escrita na mesma ordem de leitura e exactamente uma vez. � Sem FICHEIRO, ou quando FICHEIRO é -, ler entrada padrão. � Sem opções, produzir resultado em 3 colunas. A primeira coluna contém linhas exclusivas do FICHEIRO1, a segunda linhas exclusivas do FICHEIRO2 e a terceira linhas comuns a ambos os ficheiros. � Sem qualquer OPÇÃO, mostrar alguma informação útil identificada. � Escrever uma representação não ambígua, predefinidamente bytes octais, de FICHEIRO para a saída padrão. Com mais de um argumento FICHEIRO, concatená-los na ordem listada para formar a entrada. Sem FICHEIRO ou quando FILE é -, ler a entrada padrão. � --backup[=CONTROLO] salvaguardar cada ficheiro de destino existente -b como --backup mas não aceita um argumento -d, -F, --directory deixar o superutil. tentar ligações persistentes para pastas (nota: provavelm. falhará devido a restrições de sistema, mesmo para o sup-util.) -f, --force remover ficheiros de destino existentes � --group-directories-first agrupar pastas antes de ficheiros. aumentar com uma opção --sort, mas qualquer uso de --sort=none (-U) desactiva agrupamento � --help exibir esta ajuda e sair � --lookup tentar canonizar nomes de máquinas via DNS -m apenas nome de máquina e utilizador associados com stdin -p, --process mostrar processos activos criados por init � --no-preserve=LISTA_ATRIB não preservar os atributos especificados --parents usar nome completo de ficheiro de origem em PASTA � --one-file-system ao remover uma hierarquia recursivamente, saltar pastas de um sistema de ficheiros diferente do do argumento especificado na linha de comandos � --preserve-context preservar contexto de segurança SELinux -Z, --context=CONTEXTO alterar cont. de segurança SELinux de fich. e pastas � --strip-trailing-slashes remover barras no final de cada argumento de ORIGEM -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual � --verbose mostrar um diagnóstico imediatamente antes de cada ficheiro ser aberto � --version mostrar a informação de versão e sair � -evenp o mesmo que -parenb cs8 * [-]lcase o mesmo que xcase iuclc olcuc litout o mesmo que -parenb -istrip -opost cs8 -litout o mesmo que parenb istrip opost cs7 nl o mesmo que -icrnl -onlcr -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignorar caracteres com erros de paridade * [-]imaxbel emitir som e não despejar um buffer de entrada num carácter [-]inlcr traduzir nova linha para carriage return [-]inpck activar verificação de paridade da entrada [-]istrip limpar o bit alto (8) de caracteres de entrada � cooked o mesmo que brkint ignpar istrip icrnl ixon opost isig icanon, eof e eol nos seus valores predefinidos -cooked o mesmo que raw crt o mesmo que echoe echoctl echoke � dec o mesmo que echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq o mesmo que [-]ixany ek erase e kill nos seus valores predefinidos evenp o mesmo que parenb -parodd cs7 � ispeed N alterar a taxa de entrada para N * line N usar disciplina de linha N min N com -icanon, definir mínimo N caracteres para leitura completa ospeed N alterar a taxa de saída para N � oddp o memso que parenb parodd cs7 -oddp o memso que -parenb cs8 [-]parity o memso que [-]evenp pass8 o memso que -parenb -istrip cs8 -pass8 o memso que parenb istrip cs7 � raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw o mesmo que cooked � stop CHAR CHAR parará a saída susp CHAR CHAR enviará um sinal de término * swtch CHAR CHAR mudará para uma camada de shell diferente * werase CHAR CHAR apagará a última palavra inserida � %A nome local completo de semana (ex.: Domingo) %b nome local abreviado de mês (ex.: Jan) %B nome local completo de mês (ex.: Janeiro) %c data e hora local (ex.: Qui Mar 3 23:05:25 2005) � %F data completa; o memso que %Y-%m-%d %g últimos dois dígitos de número de semana ISO (ver %G) %G ano de número de semana ISO (ver %V); normalmente útil apenas com %V � %S segundo (00..60) %t uma tabulação (TAB) %T hora (tempo completo); o mesmo que %H:%M:%S %u dia da semana (1..7); 1 é Segunda-feira � %U número de semana do ano, Domingo como primeiro dia da semana (00..53) %V número de semana ISO, Segunda-feira primeiro dia da semana (01..53) %w dia de semana (0..6); 0 é Domingo %W número de semana do ano, Segunda-feira primeiro dia da semana (00..53) � %h o mesmo que %b %H hora 00..23) %I hora (01..12) %j dia do ano (001..366) � %n uam nova linha %N nanosegundos (000000000..999999999) %p equivalente da localização a AM ou PM; vazia se desconhecido %P como %p, mas em minúsculas %r equivalente da localização a tempo de 12 horas (ex., 11:11:04 PM) %R horas e minutos de 24 hora; o mesmo que %H:%M %s segundos desde 1970-01-01 00:00:00 UTC � %x representação de data local (ex., 31/12/99) %X representação de hora local (ex., 23:13:48) %y últimos dois dígitos do ano (00..99) %Y ano � -D criar todos os componentes iniciais de DESTINO excepto o último e depois copiar ORIGEM para DESTINO -g, --group=GRUPO alterar grupo de posse, não o actual grupo do processo -m, --mode=MODO alterar permissões (como em chmod), não rwxr-xr-x -o, --owner=DONO alterar dono (apenas superutilizador) � -D, --date-format=FORMATO usar FORMATO para a data de cabeçalho -e[CAR[LARGURA]], --expand-tabs[=CAR[LARGURA]] expandir CARacteres de entrada (TABs) para LARGURA (8) -F, -f, --form-feed usar form feeds em vez de nova linha para separar páginas (por um cabeçalho de página de 3 linhas com -F ou cabeçalho e reboque de 5 linhas sem -F) � -G, --no-group numa listagem longa, não mostrar nomes de grupos -h, --human-readable com -l, mostrar tamanhos legíveis por humanos (ex., 1K 234M 2G) --si igual, mas usar potências de 1000, não 1024 � -H, --dereference-command-line seguir ligações simbólicas listadas na consola --dereference-command-line-symlink-to-dir seguir cada ligação simbólica da linha de comandos que aponte para uma pasta --hide=PADRÃO não listar entradas que correspondam ao PADRÃO (redefinido por -a ou -A) � -I perguntar uma vez antes de remover mais de 3 ficheiros ou ao remover recursivamente. Menos intrusivo que -i, protegendo ainda contra a maioria dos erros --interactive[=QUANDO] perguntlr de acordo com QUANDO: never, once (-I) ou always (-i). Sem QUANDO, perguntar sempre � -L FICH FICH existe e é uma ligação simbólica (o mesmo que -h) -O FICH FICH existe e é possuído pelo ID de utilizador efectivo -p FICH FICH existe e é um pipe nomeado -r FICH FICH existe e permissão de leitura é garantida -s FICH FICH existe e tem um tamanho maior que zero � -S ordenar por tamanho de ficheiro --sort=PAL ordenar por PAL em vez de nome: none -U, extension -X, size -S, time -t, version -v --time=PAL com -l, mostrar tempo como PAL, não tempo de modific.: atime -u, access -u, use -u, ctime -c, ou status -c; usar tempo especificado como chave de ordenação se --sort=time � -S FICH FICH existe e é um socket -t DF file descriptor DF está aberto num terminal -u FICH FICH existe e o seu bit set-user-ID bit está activado -w FICH FICH existe e permissão de escrita é garantida -x FICH FICH existe e permissão de execução (ou pesquisa) é garantida � -T, -w, --mesg adicionar estado de mensagem do utilizador como +, - ou ? -u, --users listar utilizadores actualmente no sistema --message o mesmo que -T --writable o mesmo que -T � -W, --word-regexp=EXPREG usar EXPREG para combinar cada palavra-chave -b, --break-file=FICHEIRO caracteres separação palavras neste FICHEIRO -f, --ignore-case ignorar capitalização -g, --gap-size=NÚMERO espaço entre campos de saída, em colunas -i, --ignore-file=FICHEIRO ler lista palavras a ignorar de FICHEIRO -o, --only-file=FICHEIRO ler lista palavras únicas de FICHEIRO � -Z, --context=CTX alterar contexto de segur. SELinux de NOME para CTX � -Z, --context=CTX alterar cont. segur. SELinux de cada NOME para CTX � -a, --across imprimir colunas em largura, não altura, usado em conjunto com -COLUNAS -c, --show-control-chars usar notações de chapéu (^G) e barra invertida octal -d, --double-space duplicar o espaço da saída � -a, --all converter todos os espaços, em vez de apenas os iniciais --first-only converter apenas os espaços inicias (anula -a) -t, --tabs=N TABs de N caracteres em vez de 8 (activa -a) -t, --tabs=LISTA usar lista sep. por vírg. de posições de TABs (activa -a) � -b, --before anexar o separador antes em vez de depois -r, --regex interpretar o separador como uma expressão regular -s, --separator=EXPR usar EXPR como o separador em vez de nova linha � -b, --body-numbering=ESTILO usar ESTILO para numerar linhas de corpo -d, --section-delimiter=CC usar CC para separar páginas lógicas -f, --footer-numbering=ESTILO usar ESTILO para numerar linhas de roda-pé � -b, --bytes countar bytes em vez de colunas -s, --spaces separar nos espaços -w, --width=LARGURA usar LARGURA colunas em vez de 80 � -b, --bytes=LISTA escolher apenas estes bytes -c, --characters=LISTA escolher apenas estes caracteres -d, --delimiter=DELIM usar DELIM em vez de TAB para delimitar campos � -b, --ignore-leading-blanks ignorar espaços iniciais -d, --dictionary-order considerar apenas espaços e car. alfanuméricos -f, --ignore-case ignorar capitalização de letras � -c, --count prefixar linhas com o número de ocorrências -d, --repeated exibir apenas linhas duplicadas � -c, --crown-margin preservar indentação das primeiras duas linhas -p, --prefix=EXPRESSÃO reformatar apenas linhas que começam por EXPRESSÃO, inserindo o prefixo nas linhas reformatadas -s, --split-only separar linhas longas, mas não reencher � -d, --delimiters=LISTA reusar caracteres de LISTA em vez de TABs -s, --serial colar um ficheiro de cada vez em vez de em paralelo � -e activar interpretação de sinaliz. barra invertida (predef.) -E desactivar interpretação de barras invertidas sinalizadas � -f omitir a linha de títulos de coluna em formato curto -w omitir o nome completo do utilizador em formato curto -i omitir nome comp. do util. e máquina remota em formato curto -q omitir o nome completo do utilizador, máquina remota e tempo de inactividade em formato curto � -f como -t fF, seleccionar reais -i como -t dI, seleccionar inteiros decimais -l como -t dL, seleccionar decimais longos -o como -t o2, seleccionar unidades octais de 2 bytes -s como -t d2, seleccionar unidades decimais de 2 bytes -x como -t x2, seleccionar unidades hexadeciamis de 2 bytes � -f FICH FICH existe e é um ficheiro regular -g FICH FICH existe e é set-group-ID -G FICH FICH existe e é possuído pelo ID de grupo efectivo -h FICH FICH existe e é uma ligação simbólica (o mesmo que -L) -k FICH FICH existe e tem o seu bit sticky (pegajoso) activado � -f, --canonicalize canonizar seguindo todas as ligações simbólicas em cada componente do nome dado recursivamente; todas as componentes menos última devem existir -e, --canonicalize-existing canonizar seguindo todas as ligações simbólicas em cada componente do nome dado recursivamente, todas as componentes devem existir � -f, --fields=LISTA escolher apenas estes campos; exibir todas as linhas sem carácter delimitador, a não ser que a opção -s seja especificada -n (ignorado) � -f, --follow[={name|descriptor}] despejar dados continuamente à medida que cresce; -f, --follow e --follow=descriptor são equivalentes -F o mesmo que --follow=name --retry � -g como -l, mas não listar o dono � -g GID[,GID1...] definir também o ID de grupo primário como GID numérico e (se pedido) IDs de grupo suplementares como GID1, ... � -i, --initial não converter TABs após caracteres não-brancos -t, --tabs=NÚMERO considerar TABs de NÚMERO caracteres, não 8 � -i, --inodes listar inodes em vez de utilização de blocos -k como --block-size=1K -l, --local limitar listagem a sistemas de ficheiros locais --no-sync não invocar sync antes de obter informação (predef.) � -l usar um formato de listagem longo -L, --dereference ao mostrar informação para uma ligação simbólica, mostrar informação do ficheiro referenciado em vez da própria ligação -m encher largura com entradas separadas por , � -l, --login mostrar processos de registo de entraad do sistema � -m, --mode=MODO alterar modo do ficheiro (como chmod), não a=rwx - umask -p, --parents sem erro se existir, criar pastas antecessoras se preciso -v, --verbose mostrar uma mensagem para cada pasta criada -Z, --context=CTX alterar o context de segurança SELinux de cada pasta criada para CTX � -n, --digits=DÃGITOS usar número dado de DÃGITOS em vez 2 -s, --quiet, --silent não exibir tamanhos dos ficheiros de saída -z, --elide-empty-files remover ficheiros de saída vazios � -n, --numeric-uid-gid como -l, mas listar util. numérico e IDs de grupo -N, --literal mostrar nomes em bruto (ex. não tratar caracteres de controlo de forma especial) -o como -l, mas não listar informação de grupo -p, --indicator-style=slash acrescentar indicador / a pastas � -o, --output=FICHEIRO resultado no FICHEIRO em vez da saída padrão -s, --stable estabilizar desactivando comparações de recurso -S, --buffer-size=TAMANHO usar TAMANHO para memória principal temporária � -q, --count todos nomes de utilizador e no. de utilizadores no sistema -r, --runlevel mostrar o nível de execução actual -s, --short mostrar apenas nome, linha e tempo (predefinido) -t, --time mostrar última mudança do relógio de sistema � -q, --quiet, --silent nuncar mostrar cabeçalhos com nomes de ficheiros -v, --verbose mostrar sempre cabeçalhos com nomes de ficheiros � -r, --reference=FICHEIRO mostrar o último tempo de modificação de FICHEIRO -R, --rfc-2822 exibir data e hora no formato RFC 2822. Exemplo: Seg, 07 Ago 2006 12:34:56 -0600 � -r, --references primeiro campo de cada linha é uma referência -t, --typeset-mode - não implementado - -w, --width=NÚMERO largura saída em colunas, referência excluída � -s, --only-delimited não exibir linhas sem delimitadores --output-delimiter=EXP usar EXP como o delimitador de saída o modo predefinido é usar o delimitador de entrada � -s, --signal=SINAL, -SINAL especificar o nome ou número do sinal a enviar -l, --list listar nomes dos sinais ou converter para/de números -t, --table exibir uma tabela de informao de informação sinais � -s, --symbolic-link criar ligações simbólicas em vez de copiar -S, --suffix=SUFIXO redefinir o sufixo habitual de salvaguarda -t, --target-directory=PASTA copiar todas os argumentos de ORIGEM para PASTA -T, --no-target-directory tratar DESTINO como um ficheiro normal � -t equivalente a -vT -T, --show-tabs mostrar caracteres TAB como ^I -u (ignorado) -v, --show-nonprinting usar a notação ^ e M-, excepto para LFD e TAB � -t, --tabs=LISTA usar lista explícita de TABs separ. por vírgulas � -t, --target-directory=PASTA mover todas as ORIGEM(ns) para a PASTA -T, --no-target-directory tratar DESTINO como um ficheiro normal -u, --update mover apenas quando a ORIGEM é mais recente que o ficheiro de destino ou quando o ficheiro de destino não existe -v, --verbose explicar o que está a ser feito � -u, --remove truncar e remover o ficheiro após sobrescrever -v, --verbose exibir o progresso -x, --exact não arredondar tamanhos de ficheiro para próximo bloco; predefinido para ficheiros não regulares -z, --zero adicionar zeros no final da escrita para esconder destruição � -u, --update copiar apenas quando ORIGEM é mais recente que o ficheiro de destino ou o ficheiro de destino não existe -v, --verbose explicar o que está a ser feito -x, --one-file-system permanecer neste sistema de ficheiros � -v, --kernel-version mostrar a versão do kernel -m, --machine mostrar o nome de hardware da máquina -p, --processor mostrar o tipo do processador ou "desconhecido" -i, --hardware-platform mostrar a plataforma de hardware ou "unknown" -o, --operating-system mostrar o sistema operativo � -w, --check-chars=N comparar não mais que N caracteres nas linhas � -w, --width=COLS assumir largura de ecrã em vez do valor actual -x listar entradas por linhas, não por colunas -X ordenar alfabeticamente por extensão -Z, --context mostrar contextos de segurança SELinux -1 listar um ficheiro por linha � -z, --zero-terminated terminar linhas com byte 0, não nova linha � [:graph:] todos os caracteres mostráveis, excluindo space (espaço) [:lower:] todas as letras minúsculas [:print:] todos os caracteres mostráveis, incluindo space (espaço) [:punct:] todos os caracteres de pontuação [:space:] todos os espaços brancos horizontais e verticais [:upper:] todas as letras maiúsculas [:xdigit:] todos os dígitos hexadecimais [=CAR=] todos os caracteres equivalentes a CAR � \v tab vertical CAR1-CAR2 todos os caracteres de CAR1 a CAR2 por ordem crescente [CAR*] em SET2, cópias de CAR até tamanho de SET1 [CAR*REP] REP cópias de CAR, REP octal se começar por 0 [:alnum:] todas as letras e dígitos [:alpha:] todas as letras [:blank:] todos os espaços brancos horizontais [:cntrl:] todos os caracteres de controlo [:digit:] todos os dígitos � binary usar E/S binárias para dados � d[TAMANHO] decimal com sinal, TAMANHO bytes por inteiro f[TAMANHO] vírgula flutuante, TAMANHO bytes por inteiro o[TAMANHO] octal, TAMANHO bytes por inteiro u[TAMANHO] decimal sem sinal, TAMANHO bytes por inteiro x[TAMANHO] hexadecimal, TAMANHO bytes por inteiro � direct usar E/S directas para dados � dsync usar E/S sincronizadas para dados � excl falhar se o ficheiro de saída já existir nocreat não criar o ficheiro de saída notrunc não truncar o ficheiro de saída noerror continuar após erros de leitura fdatasync escrever fisicamente dados no ficheiro de saída antes de terminar fsync da mesma forma, mas escrever igualmente os meta-dados � noatime não actualizar o tempo de acesso � noctty não atribuir terminal de controlo do ficheiro � nofollow não seguir ligações simbólicas � nolinks falhar se multiplamente ligado � nonblock usar E/S não-bloquantes � none, off nunca efectuar salvaguardas (mesmo se usado com --backup) numbered, t efectuar salvaguardas numeradas existing, nil numeradas se existirem salvaguardas numeradas, senão simples simple, never efectuar sempre salvaguardas simples � sync da mesma forma, mas também para meta-dados � text usar E/S de texto para dados � (salvaguarda: %s)� * [-]iuclc traduzir maiúsculas em minúsculas * [-]ixany deixar qualquer carácter reiniciar a saída, não só o inicial [-]ixoff activar envio de caracteres início/fim [-]ixon activar controlo de fluxo XON/XOFF [-]parmrk marcar erros de paridade (com sequência de 255 caracteres 0) [-]tandem o mesmo que [-]ixoff � * [-]iutf8 assumir caracteres de entrada em UTF-8 � * [-]ocrnl traduzir carriage return para nova linha * [-]ofdel usar caracteres de delete em vez de null para preencher. * [-]ofill preencher caracteres em vez de esperar por temporizador * [-]olcuc traduzir minúsculas para maiúsculas * [-]onlcr traduzir nova linha para carriage return-nova linha * [-]onlret nova linha executa um carriage return � * [-]onocr não mosrtar carriage returns na primeira coluna [-]opost pós-processar saída * tabN estilo de atraso de tab horizontal, N em [0..3] * tabs o mesmo que tab0 * -tabs o mesmo que tab3 * vtN estilo de atraso de tab vertical, N em [0..1] � * eol2 CAR CAR alternativo para terminar a linha erase CAR CAR apagará o último carácter inserido intr CAR CAR enviará um sinal de interrupção kill CAR CAR apagará a linha actual � * lnext CAR CAR inserirá o último carácter entre aspas quit CAR CAR enviará um sinal de saída * rprnt CAR CAR redesenhará a linha actual start CAR CAR reiniciará a saída após pará-la � * rows N dizer ao sistema operativo que o terminal tem N linhas * size mostrar o número de linhas e colunas de acordo com o kernel speed mostrar a velocidade do terminal time N com -icanon, definir limite de leitura N décimos de segundo � TTY� grupos=� old �em repetição %s �% 1% de memória, b 1, K 1024 (predef.) e por aí fora para M, G, T, P, E, Z, Y. Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão. *** AVISO *** A localização lespecificada pelo ambiente afecta a ordem de ordenação. Defina LC_ALL=C para obter a ordenação tradicional que utiliza valores de byte nativos. �%.*s: especificação de conversão inválida�%b %e %Y�%b %e %H:%M�%lu utilizador�%lu utilizadores�%s (para expressão regular %s)�%s -> %s (recuperação) �%s [-d] terminou de forma anormal�%s e %s são o mesmo ficheiro�%s existe mas não é uma pasta�%s apareceu; a seguir fim do novo ficheiro�%s tornou-se acessível�%s tornou-se inacessível�%s foi substituído por um ficheiro não analisável; a desistir do nome�%s foi substituído; a seguir fim do novo ficheiro�%s é um tipo de ficheiro desconhecido�%s não é um inteiro positivo válido�%s é muito grande�%s: %s é tão grande que não é representável�%s: %s: número de linha fora de alcance�%s: %s: correspondência não encontrada�%s: %s:%s: desordem: �%s: ERRO de abertura ou leitura �%s: operador binário esperado�%s: ligações simbólicas relativas possíveis apenas na pasta actual�%s: impossível alterar modo de desbloqueamento�%s: impossível encontrar um nome para o ID de utilizador %lu �%s: impossível seguir fim de ficheiro deste tipo; a desistir�%s: impossível retornar à posição original�%s: impossível sobrescrever a pasta�%s: impossível retroceder�%s: impossível indexar�%s: impossível mover para a posição relativa ao fim %s�%s: impossível deslocar para a posição %s�%s: impossível mover para a posição relativa %s�%s: impossível destruir ficheiro (apenas se pode acrescentar)�%s: impossível desactivar modo não-bloqueante�%s: entrar na pasta %s? �%s: entrar na pasta protegida contra escrita %s? �%s: fim de ficheiro�%s: operando de classe de equivalência deve ser um único carácter�%s: erro de truncagem�%s: erro ao escrever na posição %s�%s: valor numérico esperado�%s: erro ao fechar�%s: erro ao abrir para escrita�%s: impossível remover�%s: erro de fcntl�%s: error de fdatasync�%s: ficheiro tem tamanho negativo�%s: o ficheiro encolheu demasiado�%s: ficheiro demasiado grande�%s: ficheiro demasiado grande�%s: ficheiro truncado�%s: erro de fstat�%s: error de fsync�%s: ligação persistente não autorizada para a pasta�%s: entrada contém um ciclo:�%s: entrada contém um número mpar de símbolos�%s: o ficheiro de entrada é o ficheiro de saída�%s: inteiro esperado após delimitador�%s: número de processo inválido (PID)�%s: contagem inválida no início de %s�%s: directiva inválida�%s: especificação de campo inválida %s�%s: tamanho de ficheiro inválido�%s: tipo de ficheiro inválido�%s: número máximo de estados inalterados entre aberturas inválido�%s: número inválido�%s: número de bytes inválido�%s: número de linhas inválido�%s: número de passagens inválido�%s: número de segundos inválido�%s: padrão inválido�%s: número de processo inválido�%s: expressão regular inválida: %s�%s: sinal inválido�%s: comprimento de sufixo inválido�%s: número de linha deve ser maior que zero�%s: número de linha fora de alcance�%s: erro de lseek�%s: múltiplos sinais especificados�%s: as novas permissões são %s, não %s�%s: encontradas linhas de somas de controlo %s mal formatadas�%s: nenhuma informação de tamanho para este dispositivo�%s: a não listar pasta já listada�%s: número de bytes muito grande�%s: sobrescrever %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: erro de leitura�%s: remover %s %s? �%s: remover todos os argumentos recursivamente? �%s: remover todos os argumentos? �%s: remover %s %s protegido contra escrita?�%s: removido�%s: a remover�%s: renomeado para %s�%s: substituir %s? �%s: erro de seek�%s: demasiadas linhas de somas de controlo�%s: tentar sobrescrever %s, cancelando o modo %04lo (%s)? �%s: erro ao determinar o comprimento máximo de nome de ficheiro�%s: impossível realizar todas as operações pedidas�%s: operador unário esperado�%s: valor não convertido na totalidade�%s: erro de escrita�%s:%lu: linha inválida; segundo símbolo em falta�%s:%lu: palavra-chave desconhecida %s�»�')' esperado�')' esperado, %s encontrado�(C)�* sistemas de ficheiros com cache em locais temporários, como clientes NFS versão 3 * sistemas de ficheiros com compressão �* sistemas de ficheiros com journaling, como os fornecidos com AIX e Solaris (e JFS, ReiserFS, XFS, Ext3, etc.) * sistemas de ficheiros que escrevem dados redundantes e continuam, mesmo após falhas de escrita, como sistemas de ficheiros baseados em RAID * sistemas com imagens instantâneas, como Network Appliance's NFS server �, carga média: %.2f�, %g s, %s/s �--context (-Z) apenas funciona com SELinux�-R --dereference requere -H ou -L�-R -h requere -P�-ef não aceita -l�-nt não aceita -l�-ot não aceita -l�<interno>�??? �Família de endereços da máquina não suportada�Todos os pedidos terminados�Memória tampão de argumentos demasiado pequena�Livre�Livres�Valor mau para ai_flags�ATENÇÃO: Note que shred baseia-se numa assunção muito importante: que o sistema de ficheiro sobrescreve dados no lugar. Este é o modo tradicional de o fazer, mas alguns sistemas modernos não satisfazem esta assunção. Seguem-se exemplos de sistemas de ficheiros em que shred não é eficaz, ou não é garantido que seja eficaz em todos os modos do sistema de ficheiros: �COMENTÃ�Chamar a função link para criar uma ligação FICH2 para um FICH1 existente. �Invocar a função unlink para remover o FICHEIRO especificado. �Capacida�Comparar os ficheiros ordenados FICHEIRO1 e FICHEIRO2 linha a linha. �Copiar a entrada padrão para cada FICHEIRO e para a saída padrão. -a, --append acrescentar aos FICHEIROs, não sobrescrever -i, --ignore-interrupts ignorar os sinais de interrupção �Pasta: �Descartar grupos suplementares, assumir IDs de utilizador e grupo do UTILIZADOR especificado (ID numérico ou nome) e executar COMANDO com ARGUMENTOs. Sair com estado 111 se incapaz de assumir IDs de utilizador e grupo requeridos. Caso contrário, sair com o estado de saída de COMANDO. Este programa é útil apenas quando executado pelo superutilizador (ID zero). �SAÃD�Cada alcance é um de: N N-ésimo byte, carácter ou campo, countado a partir de 1 N- do N-ésimo byte, carácter ou campo, até fim da linha N-M do N-ésimo ao do M-ésimo (inclusive) byte, carácter ou campo -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão. �Ecoar as EXPRESSÃO(ões) para a saída padrão. -n não despejar a nova linha final �Sair com um código de estado indicando sucesso�Sair com o estado determinado por EXPRESSÃO. �F. Pinard�ERRO�Fifos não possuem números maior e menor de dispositivo.�Sist.fichs�Forçar blocos alterados para disco, actualizar o superbloco. �INAC�ILivr�UsoI%�IOcup�Inactivo�Adicionalmente, salvaguardas de sistemas de ficheiros e espelhos remotos podem conter cópias do ficheiro que não podem ser removidas e isso permitirá que um ficheiro destruído seja recuperado mais tarde. �Na vida real: �No caso de sistemas de ficheiros ext3, o texto acima aplica-se (e shred tem portanto eficácia limitada) apenas em modo data=journal, que regista dados de ficheiros além de apenas metadata. Em ambos os modos data=ordered (predefinido) e data=writeback, shred funciona como habitualmente. Modos de journaling ext3 podem slr alterados adicionando a opção data=something às opções de montagem para um sistemas de ficheiros particular em /etc/fstab, como documentado na página de manual mount (man mount). �Infinitivo B�Inodes�Interrompido por um sinal�Referência anterior inválida�Nome de classe de carácter inválido�Carácter de ordem inválido�Conteúdo de \{\} inválido�Expressão regular precedente inválida�Limite final de intervalo inválido�Expressão regular inválida�LINH�Utilizador�Nome de utilizador: �Falha de alocação de memória�Memória esgotada�Montado em�NOME�Nome�Nome ou serviço desconhecido�Nenhum endereço associado ao nome de máquina�Sem correspondência�Nenhuma expressão regular anterior�Falha irrecuperável na resolução de nome�OK�Apenas uam expressão pode ser dada ao apagar sem espremer repetições�Opções de ordenação: �Emitir comandos para ajustar a variável de ambiente LS_COLORS. Determinar o formato da saída: -b, --sh, --bourne-shell emitir código Bourne shell para ajustar LS_COLORS -c, --csh, --c-shell emitir código C shell para ajustar LS_COLORS -p, --print-data-base emitir códigos predefinidos �Mostrar quem se encontra no sistema de acordo com FICHEIRO. Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum. �PID�Expressão de parâmetros codificada incorrectamente�Plan: �Fim prematuro de expressão regular�Exibir ARGUMENTO(s) no FORMATO, ou executar de acordo com OPÇÃO: �Exibir o CRC e contagem de bytes de cada FICHEIRO. �Mostrar alguma informação sobre o sistema. Sem OPÇÃO, o mesmo que -s. -a, --all mostrar toda a informação, na seguinte ordem, excepto omitir -p e -i se desconhecidos: -s, --kernel-name mostrar o nome do sistema operativo -n, --nodename mostrar o nome do nó da máquina na rede -r, --kernel-release mostrar a versão do sistema operativo �Exibir a arquitectura da máquina. �Mostrar o nome de ficheiro do terminal ligado ao canal de entrada padrão. -s, --silent, --quiet não mostra nadar, só retornar um estado de saída �Mostrar o caminho completo da pasta de trabalho actual. �Exibir o nome do utilizador actual. �Exibir o nome do utilizador associado ao ID efectivo actual. O mesmo que id -un. �Processamento de pedido a decorrer�Projecto: �Expressão regular demasiado grande�Pedido cancelado�Pedido não cancelado�Executar COMANDO como pasta raiz definida como NOVARAIZ. �Executar COMANDO, ignorando sinais de término. �Servname não suportado para ai_socktype�Defina LC_ALL='C' para contornar o problema.�Consola: �Tama�Ficheiros especiais requerem números maior e menor do dispositivo.�Sucesso�Erro de sistema�TEMP�Falha temporária na resolução de nome�As expressões comparadas foram %s e %s.�Barra invertida no final�Duas expressões devem ser dadas ao traduzir�Tipo�Erro desconhecido�Erro de sistema desconhecido�( ou \( não correspondido�) ou \) não correspondido�[ ou [^ não correspondido�\{ não correspondido�Utilização: %s COMANDO [ARG]... ou: %s OPÇÃO �Utilização: %s CONTEXTO COMANDO [args] ou: %s [ -c ] [-u UTILIZADOR] [-r PAPEL] [-t TIPO] [-l ALCANCE] COMANDO [args] �Utilização: %s EXPRESSÃO ou: %s OPÇÃO �Utilização: %s FICHEIRO ou: %s OPÇÃO �Utilização: %s FICHEIRO1 FICHEIRO2 ou: %s OPÇÃO �Utilização: %s FORMATO [ARGUMENTO]... ou: %s OPÇÃO �Utilização: %s OPÇÃO... [FICHEIRO]... �Utilização: %s [-s SINAL | -SINAL] PID... ou: %s -l [SINAL]... ou: %s -t [SINAL]... �Utilização: %s [FICHEIRO]... ou: %s [OPÇÃO] �Utilização: %s [NOME] ou: %s [OPÇÃO] Exibir ou alterar o nome de máquina do sistema actual. �Utilização: %s [NÚMERO]... ou: %s OPÇÃO �Utilização: %s [OPERANDO]... ou: %s OPÇÃO �Utilização: %s [OPÇÃO] �Utilização: %s [OPÇÃO] NOME... �Utilização: %s [OPÇÃO] [COMANDO [ARG]...] �Utilização: %s [OPÇÃO] [FICHEIRO] Escrever lista totalmente ordenada consistente com ord. parcial em FICHEIRO. Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão. �Utilização: %s [OPÇÃO]... �Utilização: %s [OPÇÃO]... CONTEXTO FICHEIRO... ou: %s [OPÇÃO]... [-u UTILIZADOR] [-r PAPEL] [-l INTERVALO] [-t TIPO] FICHEIRO... ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO... �Utilização: %s [OPÇÃO]... PASTA... �Utilização: %s [OPÇÃO]... FICHEIRO PADRÃO... �Utilização: %s [OPÇÃO]... FICHEIRO... �Utilização: %s [OPÇÃO]... FICHEIRO1 FICHEIRO2 �Utilização: %s [OPÇÃO]... GRUPO FICHEIRO... ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO... �Utilização: %s [OPÇÃO]... ÚLTIMO ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO �Utilização: %s [OPÇÃO]... MODO[,MODO]... FICHEIRO... ou: %s [OPÇÃO]... MODO-OCTAL FICHEIRO... ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO... �Utilização: %s [OPÇÃO]... NOME TIPO [MAIOR MENOR] �Utilização: %s [OPÇÃO]... NOME... �Utilização: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2] �Utilização: %s [OPÇÃO]... [ FICHEIRO | ARG1 ARG2 ] �Utilização: %s [OPÇÃO]... [+FORMATO] ou: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Utilização: %s [OPÇÃO]... [-T] FONTE DESTINO ou: %s [OPÇÃO]... FONTE... PASTA ou: %s [OPÇÃO]... -t PASTA FONTE... �Utilização: %s [OPÇÃO]... [-T] ORIGEM DESTINO ou: %s [OPÇÃO]... ORIGEM... PASTA ou: %s [OPÇÃO]... -t PASTA ORIGEM... ou: %s [OPÇÃO]... -d PASTA... �Utilização: %s [OPÇÃO]... [-T] DESTINO NOME_LIGAÇÃO (1o formato) ou: %s [OPÇÃO]... DESTINO (2o formato) ou: %s [OPÇÃO]... DESTINO... PASTA (3o formato) ou: %s [OPÇÃO]... -t PASTA DESTINO... (4o formato) �Utilização: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARG]...] �Utilização: %s [OPÇÃO]... [FICHEIRO] �Utilização: %s [OPÇÃO]... [FICHEIRO] ou: %s -e [OPÇÃO]... [ARG]... ou: %s -i BAIXO-ALTO [OPÇÃO]... �Utilização: %s [OPÇÃO]... [FICHEIRO]... �Utilização: %s [OPÇÃO]... [FICHEIRO]... ou: %s [-abcdfilosx]... [FICHEIRO] [[+]POSIÇÃO[.][b]] ou: %s --traditional [OPÇÃO]... [FICHEIRO] [[+]POSIÇÃO[.][b] [+][ETIQUETA][.][b]] �Utilização: %s [OPÇÃO]... [FICHEIRO]... ou: %s [OPÇÃO]... --files0-from=F �Utilização: %s [OPÇÃO]... [ENTRADA [SAÃDA]] �Utilização: %s [OPÇÃO]... [ENTRADA]... (sem -G) ou: %s -G [OPÇÃO]... [ENTRADA [SAÃDA]] �Utilização: %s [OPÇÃO]... [DONO][:[GRUPO]] FICHEIRO... ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO... �Utilização: %s [OPÇÃO]... [MOLDE] �Utilização: %s [OPÇÃO]... [UTILIZADOR] �Utilização: %s [OPÇÃO]... [UTILIZADOR]... �Utilização: %s [EXPRESSÃO]... ou: %s OPÇÃO �Utilização: %s [argumentos de linha de comando ignorados] ou: %s OPÇÃO �Utilização: test EXPRESSÃO or: test or: [ EXPRESSÃO ] or: [ ] or: [ OPÇÃO �Uso%�Ocup�Argumentos válidos:�AVISO: Estrutura de pastas circular. Isto significa quase de certeza que o sistema de ficheiros está corrompido. NOTIFIQUE O ADMINISTRADOR DO SISTEMA. A pasta seguinte pertence ao ciclo: %s �Aviso: �Quando�Onde�Escrito por %s e %s. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s, %s e outros. �Escrito por %s, %s, %s, %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s, %s, %s, %s, e %s. �Escrito por %s, %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s, %s e %s. �Escrito por %s, %s, %s, %s e %s. �Escrito por %s, %s, %s e %s. �Escrito por %s, %s e %s. �Escrito por %s. �expressões [=c=] podem não aparecer na expressão2 ao traduzir�^[nN]�^[yY]�«�um comando deve ser dado com um ajuste�ai_family não suportada�ai_socktype não suportado�argumento %s ambíguo para %s�um delimitador de entrada deve ser especificado apenas para campos�salvaguardar %s destruiria a origem; %s não copiado�salvaguardar %s destruiria a origem; %s não movido�tipo de salvaguarda�ficheiro especial de blocos�ficheiros especiais de tipo bloco não suportados�blocos�ambos os ficheiros não podem ser a entrada padrão�posição de byte %s demasiado grande�impossível aplicar contexto parcial ao ficheiro não etiquetado %s�impossível obter contexto do processo�impossível aceder a %s�impossível salvaguardar %s�impossível resumir e mostrar todas as entradas ao mesmo tempo�impossível alterar o dono de %s�impossível alterar as permissões de %s�impossível alterar a pasta raiz para %s�impossível mudar para a pasta %s�impossível mudar para a pasta raiz�impossível combinar as opções -e e -i�impossível combinar quaisquer dois de {ascii,ebcdic,ibm}�impossível combinar bloquear e desbloquear�impossível combinar excl e nocreat�impossível combinar letras minúsculas e maiúsculas�impossível combinar opções de modo e --reference�impossível combinar sinal com -l ou -t�impossível comparar os nomes de ficheiro %s e %s�impossível converter U+%04X para conjunto de caracteres local�impossível converter U+%04X para conjunto de caracteres local: %s�impossível copiar uma pasta, %s, para si própria, %s�impossível copiar a ligação simbólica cíclica %s�impossível criar a pasta %s�impossível criar fifo %s�impossível criar a ligação persistente %s para %s�impossível criar ligação %s para %s�impossível criar o ficheiro regular %s�impossível criar o ficheiro especial %s�impossível criar a ligação simbólica %s�impossível criar a ligação simbólica %s para %s�impossível desreferenciar %s�impossível obter o dispositivo e inode de %s�impossível determinar o nome da máquina�erro ao executar ioctl em %s�impossível encontrar o nome do grupo com ID %lu�impossível perseguir %s pelo nome�impossível forçar contexto alvo a %s e preservá-lo�impossível obter o estado de %s�impossível obter a pasta actual�impossível obter nível de prioridade�impossível obter o nome do sistema�impossível alterar o posicionamento dentro do ficheiro %s�impossível criar ligações simbólicas e persistentes�impossível criar a pasta %s�impossível mover %s para %s�impossível mover %s para uma própria sub-pasta, %s�impossível mover a pasta para a não pasta: %s -> %s�impossível abrir %s para leitura�impossível abrir %s para escrita�impossível abrir a pasta %s�impossível operar sobre ligação simbólica %s�impossível sobrescrever a pasta %s com não-pasta�impossível sobrescrever a não-pasta %s com a pasta %s�impossível formatar o resultado de saída�impossível preservar contexto de segurança sem um sistema operativo com suporte SELinux�impossível mostrar "apenas" de mais de uma escolha�impossível exibir apenas nomes ou IDs reais no formato predefinido�impossível mostrar contexto de segurança quando especificado pelo utilizador�impossível ler a pasta %s�impossível ler os nomes de ficheiros a partir %s�impossível ler a informação do sistema de ficheiros para %s�impossível consultar relógio de tempo real�impossível ler a ligação simbólica %s�impossível ler a tabela de sistemas de ficheiros montados�impossível remover %s�impossível reposicionar apontador de ficheiro para %s�impossível alterar a data�impossível alterar o identificador de grupo para %lu�impossível alterar nome da máquina; o sistema não tem a funcionalidade�impossível alterar o nome de máquina para %s�impossível alterar nível de prioridade�impossível alterar marcas de tempo de %s�impossível alterar o identificador de utilizador para %lu�impossível slatar depois do fim da entrada combinada�impossível especificar tempos a partir de mais de uma fonte�impossível dividir em mais do que uma forma�impossível analisar %s�impossível obter a pasta actual (agora %s)�impossível executar sobre %s�impossível recuperar %s�impossível executar sobre %s�impossível contornar erro do kernel�a alterar o grupo de %s�a alterar o dono de %s�a alterar as permissões de %s�índice de carácter é zero�carácter fora de limite�ficheiro especial de caracteres�ficheiros especiais de tipo caracter não suportados�a limpar as permissões de %s�mud. relógio�erro de close�a fechar %s (fd=%d)�a fechar a pasta %s�a fechar o ficheiro de entrada %s�a apagar o ficheiro de saída %s�a fechar a entrada padrão�expressões de substituição de campo vazio em conflicto�especificadores de contexto de segurança em conflito�impossível criar o processo para %s -d�impossível criar o ficheiro temporário�impossível executar %s�impossível executar %s -d�entrada de pasta não encontrada em %s com i-node correspondente�impossível obter o tempo de arranque�pasta %s criada�a criar a pasta %s�a criar o ficheiro %s �lista de delimitadores termina com uma barra invertida assinalada: %s�pasta�divisão por zero�erro de dup2�nome de ficheiro vazio�TAB vazio�erro ao fechar o ficheiro�erro no analisador de expressões regulares�erro na pesquisa de expressão regular�erro ao ler %s�erro ao escrever %s�saíd=�argumento extra %s�operando extra %s�operando extra %s não permitido com -%c�erro ao alterar contexto de %s para %s�erro ao alterar o grupo de %s para %s �erro ao alterar o dono de %s �erro ao alterar o dono de %s para %s �erro ao entrar na pasta %s�erro ao computar um novo contexto�erro ao criar pasta via molde (template) %s�erro ao criar ficheiro via molde (template) %s�erro ao criar contexto de segurança: %s�erro ao obter os atributos de %s�erro ao obter o contexto actual�erro ao obter o contexto de criação do sistema de ficheiros�erro ao obter os grupos do processo corrente�erro ao obter os grupos do utilizador %s�erro ao obter contexto de segurança de %s�ficheiro %s não encontrado�erro ao abrir %s�erro ao preservar o criador de %s�erro ao preservar o dono de %s�erro ao preservar permissões de %s�erro ao preservar os tempos de %s�erro ao redireccionar o canal de erro padrão�erro ao remover %s�erro ao remover a pasta %s�erro ao restaurar o context de criação de ficheiros predefinido�erro ao regressar à pasta de trabalho inicial�erro ao definir o contexto de segurança de %s para %s�erro ao alterar contexto padrão de criação de ficheiros %s�erro ao definir o novo intervalo %s�erro ao definir o novo papel %s�erro ao definir o novo tipo %s�erro ao definir o novo utilizador %s�erro ao definir grupo(s) adicional(is)�erro ao configurar a cópia de stderr para fechar em exec�erro ao alterar o contexto de segurança de %s para %s�erro ao analisar %s�erro de fdatasync para %s�erro de fflush�número de campo %s demasiado grande�número de campo é zero�campos e posições são numerados a partir de 1�fifo�sistema de ficheiros de tipo %s simultaneamente escolhido e excluído�erro na chamada de sistema fork�a expressão de formatação não deve ser especificada ao mostrar expressões da mesma largura�erro de fsync para %s�fts_read falhou�a obter os novos atributos de %s�grupo de %s mantido como %s �função iconv indisponível�função iconv inutilizável�id=�a ignorar todos os argumentos�a ignorar a entrada�a ignorar a entrada e a acrescentar a saída a %s�a ignorar entrada e a redireccionar stderr para stdout�a ignorar tamanho de tab inválido na variável de ambiente TABSIZE: %s�a ignorar valor inválido da variável de ambiente QUOTING_STYLE: %s�a ignorar largura inválida na variável de ambiente COLUMNS: %s�a ignorar argumentos não-opção�campos de junção inválidos %lu, %lu�tabuladores incompatíveis�a entrada desapareceu�linha de entrada demasiado grande�erro ao mover entre dispositivos: %s para %s; impossível remover alvo�ajuste inválido %s�argumento inválido %s�argumento %s inválido para %s�estilo de numeração de corpo inválido: %s�classe de caracteres inválida %s�contexto inválido: %s�conversão inválida�especificação de conversão inválida no sufixo: %c�especificação de conversão inválida no sufixo: \%.3o�data inválida %s�formato de data inválido %s�intervalo decrescente inválido�dispositivo inválido %s %s�tipo de dispositivo inválido %s�número de campo inválido: %s�especificador de campo inválido: %s�largura de campo inválida: %s�número de ficheiro inválido no especificador de campo: %s�argumento em vírgula flutuante inválido: %s�estilo de numeração de roda-pé inválido: %s�largura de espaço inválida: %s�grupo inválido�grupo %s inválido�grupo inválido: %s�estilo de numeração de cabeçalho inválido: %s�dados de entrada inválidos�opção de entrada inválida�intervalo de entrada inválido %s�inteiro inválido %s�argumento inteiro inválido %s�contagem de linhas inválida %s�disciplina de linha inválida %s�largura de campo de número de linha inválida: %s�incremento de número de linha inválido: %s�formato de numeração de linha inválido: %s�largura de linha inválida: %s�número maior de dispositivo inválido %s�profundidade máxima %s inválida�número menor de dispositivo inválido %s�modo inválido�modo inválido %s�modo inválido: %s�número inválido %s�número inválido no início do campo�número inválido de linhas em branco: %s�número de bytes inválido�número inválido de bytes a comparar�número inválido de bytes a ignorar�número inválido de colunas: %s�número inválido de campos a ignorar�número de linhas inválido�opção inválida -- %c�opção inválida -- %c; -LARGURA é reconhecida apenas quando é a primeira opção; use -w N ao invés�opção de saída inválida�precisão inválida: %s�intervalo inválido sem fim: -�contagem de repetição inválida %s na construção [c*n]�especificação inválida�número de linha inicial inválido: %s�opção de estado inválida�tamanho de tabulação inválido: %s�molde (template) inválido, %s, contém separador de pastas�molde (template) inválido, %s; com --tmpdir, pode não ser absoluto�intervalo de tempo inválido %s�formato de estilo de tempo inválido %s�opção final inválida -- %c�expressão inválida %s�expressão de tipo inválida %s; este sistema não providencia um tipo de vírgula flutuante de %lu bytes�expressão de tipo inválida %s; este sistema não providencia um tipo integral de %lu bytes�nome de carácter universal inválido \%c%0*x�utilizador inválido�utilizador inválido %s�largura inválida: %s�comprimento de partição inválido: %s�nome de ficheiro vazio inválido'�é perigoso operar recursivamente sobre %s�é perigoso operar recursivamente sobre %s (mesmo que %s)�últi=�limite %lu excedido por comprimento %lu do nome de ficheiro %s�limite %lu excedido por comprimento %lu da componente do nome de ficheiro %s�opção de contagem de linha -%s%c... é demasiado grande�o número de linha %s é inferior ao precedente, %s�número de linha demasiado grande�memória esgotada�fila de mensagens�construção [:upper:] e/ou [:lower:] desalinhada(s)�especificação de conversão %% inválida no sufixo�argumento em falta após %s�argumento em falta para %s�especificador de conversão em falta no sufixo�operando de ficheiro de destino em falta após %s�operando de ficheiro em falta�falta um número hexadecimal no caracter de escape�lista de campos ausente�lista de posições ausente�operando em falta�operando em falta após %s�modo deve especificar apenas bits de permissão de ficheiro�modo de %s mantido como %04lo (%s) �tabulador multi-carácter %s�múltiplas opções -i especificadas�múltiplas opções -l ou -t especificadas�múltiplos programas de compressão especificados�múltiplos intervalos de nível�múltiplos ficheiros de saída especificados�múltiplos formatos de saída especificados�múltiplas origens aleatórias especificadas�múltiplos papéis�múltiplas pastas de destino especificadas�múltiplos tipos�múltiplos utilizadores�ligação simbólica %s e referência inalteradas �nenhuma variável de ambiente SHELL e nenhuma opção de tipo de shell�dono de %s inalterado �nenhum comando especificado�nenhum sistema de ficheiros processado�nenhum ficheiro em falta�sem nome de utilizador�número de processo não especificado�nenhum tipo pode ser especificado ao despejar expressões�nenhum utilizador especificado; pelo menos um deve sê-lo com -l�carácter não portável %s no nome de ficheiro %s�não é um tty�a não escrever através da ligação simbólica %s�número em %s é demasiado grande�número de bytes�número de linhas�erro de excesso de índice ao ler o ficheiro %s�a omitir a pasta %s�apenas uma construção de repetição [c*] pode aparecer na expressão2�apenas um dispositivo deve ser especificado�apenas um tipo de lista pode ser especificado�erro de open�opção usada em contexto inválido -- %c�dono de %s inalterado �dono de %s mantido como %s �largura de página muito estreita�a preservar as permissões de %s�a preservar os dados de tempo de %s�mostrar linhas duplicadas e contagens de repetidas não faz sentido�erro de leitura�erro de read�a ler a pasta %s�campo demasiado grande�ficheiro regular vazio�ficheiro regular�%s removido �pasta removida: %s �a remover a pasta, %s�nível-exe�semáforo�o separador não pode ser vazio�a definir opções para %s�a definir as permissões de %s�a alterar os tempos de %s�objecto de memória partilhada�skip-bytes + read-bytes é demasiado grande�a saltar %s, uma vez que se encontra noutro dispositivo�a saltar o ficheiro %s, uma vez que foi substituído ao ser copiado�socket�erro padrão�canal de entrada por omissão (stdin)�o canal de entrada padrão está fechado�canal de saída padrão (stdout)�error de stat�carácter solto na especificação de campo�erro na comparação de expressões�erro na transformação de expressões�o processo strip terminou anormalmente�suprimir linhas não delimitadas faz sentido apenas para campos�ligação simbólica�erro de sintaxe�tamanho de TAB não pode ser 0�o tamanho do tabulador contém caracteres inválidos: %s�tamanhos de TABs devem ser crescentes�o tabulador é demasiado grande %s�valor de paragem de TAB demasiado grande�TABs demasiado separados�o destino %s não é uma pasta�pasta de destino não permitida ao instalar uma pasta�term=�test e/ou [�as opções --binary e --text não têm sentido ao verificar somas de controlo�a opção --status apenas faz sentido ao verificar somas de controlo�a opção --warn apenas faz sentido ao verificar somas de controlo�a construção [c*] pode aparecer em expressão2 apenas ao traduzir�a construção de repetição [c*] pode não aparecer na expressão1�o delimitador deve ser um único carácter�as opções para saída em modo verboso e estilos de saída legíveis pelo stty são mutuamente exclusivas�as opções de saída da base de dados interna para dircolors e para sintaxe de shell são mutuamente exclusivas�as opções para imprimir e definir o tempo não podem ser usadas juntas�as opções para especificar datas para impressão são mutuamente exclusivas�a opção strip não pode ser usada ao instalar uma pasta�o tempo %s está fora de alcance�para usar o ID de utilizador %s necessita usar -g também�muito poucos X's no molde (template) %s�demasiadas especificações de conversão %% no sufixo�demasiados caracteres no conjunto�demasiados linhas repetidas�demasiados moldes (templates)�total�objecto de memória tipada�impossível gravar a pasta de trabalho actual�erro ao definir o context de segurança %s�operador binário desconhecido�ID de utilizador desconhecido: %s�a variável de ambiente LS_COLORS tem um valor ilegível�operando desconhecido %s�prefixo desconhecido: %s�use --no-preserve-root para contornar esta segurança contra falhas�a aguardar por %s [-d]�a aguardar por strip�aviso: %s: carácter(acteres) a seguir a carácter constante foram ignorados�aviso: %s: erro ao alterar contexto para %s�aviso: --pid=PID não é suportado neste sistema�aviso: --retry é útil quando se persegue por nome�aviso: PID ignorado; --pid=PID é útil quando se persegue�aviso: uma barra invertida sem escape no fim da expressão não é portável�aviso: barra invertida no final do formato�aviso: impossível remover: %s�aviso: perseguir a entrada padrão indefinidamente não tem efeito�aviso: a ignorar argumentos excessivos, a começar por %s�aviso: índice de ficheiro inválido após erro de leitura�aviso: largura inválida %lu; a usar %d ao invés�aviso: o número de linha %s é igual ao precedente�aviso: ficheiro de origem %s especificado mais de uma vez�aviso: resumo conflicte com --max-depth=%lu�aviso: resumo é o mesmo que usar --max-depth=0�aviso: o escape octal ambíguo \%c%c%c está a ser interpretado como a sequência de 2 bytes \0%c%c, %c�aviso: a contornar erro de lseek do kernel para o ficheiro (%s) de mt_type=0x%0lx -- ver <sys/mtio.h> para a lista de tipos�ficheiro estranho�ao não truncar set1, expressão2 deve ser não vazia�ao ler nomes de ficheiros de stdln, nome de %s não permitido�ao especificar um modo de saída, não pode alterar um modo�ao traduzir com classes de caracteres complementadas, expressão2 deve mapear todos os caracteres no domínio para um�%s não será copiado através da ligação simbólica recém-criada %s�a ligação persistente %s não será copiada para a pasta %s�recém-criado %s não será sobrescrito com %s�com --parents, o destino deve ser uma pasta�erro de escrita�erro de escrita para %s�erro de escrita�a escrever em %s�deve especificar -c, -t, -u, -l, -r ou contexto�deve especificar uma lista de bytes, caracteres ou campos�PRIuMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�%s: %: improperly formatted %s checksum line�starting page number % exceeds page count %�Page %�%+% registos dentro %+% registos fora �% registo truncado �% registos truncados �% byte (%s) copiado�% bytes (%s) copiados�índice muito alto: erro ao truncar para seek=% blocos (de %lu bytes)�%s: %: linha de soma de controlo %s mal formatada�número de página inicial % excede contagem de páginas %�Página %������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ja.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000772050�12107204516�012073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0���¨(��Ó�� Q�����ll�����|l��´l������lo�����mo��ø���oo��¾���hp��¿���'q��Â���çq��ª���ªr��G��Us��ù���t��º���—u��p���Rv��!��Ãv��¼���åw��w��¢x��5��z��R��P{��~���£|�� ���"}��\���0}��w���}��G���~��ï���M~��w���=��¡���µ��#��W€����{��š���€‚��Ä���ƒ��D��àƒ��z���%†��Þ��� †��i���‡��›���é‡��ˆ���…ˆ��È���‰��„���׉��M��\Š��à���ª‹��›���‹Œ��—���'��`���¿��‚��� Ž����£Ž��>���¸��3��÷��K��+‘��0���w’��Ê���¨’��–���s“��Ê��� ”��ç���Õ”��‡���½•��¾���E–��á���—��E���æ—��Œ���,˜��ü���¹˜��æ���¶™����š��9���¯›�����é›������œ��t��œ��Ì���Š��°���Wž����Ÿ�� �� ��þ��=¡��Ë���<£����¤��7���&¥��¼���^¥��F���¦��ì���b¦�� ���O§��¡��[§��¾��ý¨��Ð��¼ª��u���¬��q���­��[��u­��1��Ñ®��S��°��ë���W±��,���C²��º���p²�����+³��ß���¼³��\��œ´��‹���ùµ����…¶��Â���›·��I���^¸��·���¨¸��›���`¹��g��ü¹��p���d»��5���Õ»��s��� ¼����¼����ž½��×���½¾��ò���•¿��É���ˆÀ��Ê���RÁ��ð���Â��–��Ã��Ô���¥Ä��Ó���zÅ��¬���NÆ��¤���ûÆ��i��� Ç��õ��� È��Z����É�����[É��.��éÉ��ž���Ë��G��·Ë��M��ÿÌ��4���MÎ��‰���‚Î��F��� Ï��O��SÏ��í��£Ð����‘Ò�� ��!Ô��£��.Õ��y��ÒÖ�� ��LØ��n���mÙ����ÜÙ��Ë��÷Ú����ÃÜ����âÝ��¢���sß��Ö���à��¡��íà��E���â��J���Õâ��Ò��� ã�� ��óã����å��&��æ��¹��7ç��Ý���ñè��+���Ïé��N���ûé��Ò���Jê��’���ë��°���°ë��Ë���aì��¡��-í��›���Ïî��B���kï����®ï��u���Ãð����9ñ��1���Oò��ò���ò�����tó��Ë���ô��ƒ���Ðô��ƒ���Tõ��‚��Øõ��4��[÷����ø����¢ù��´��µú��í���jü�� ��Xý����cþ��<���iÿ��‘���¦ÿ��º��8��ª��ó�K���ž���ê�z���ï�þ���j�µ���i�f���5��†�ˆ���¼ �1���E �H���w �;��À �Æ���ü �!��à �È���å�ý���®�q��¬�Y���ü���x�L���u�×���Â�T��š�#��ï�÷���Þ��� �ƒ���ê�Ñ���n�i���@�Í���ª�Ä���x�Ñ���=�ë����K��û���G!�D��V"����›#�Ó���)$�Ä��ý$�I���Â&��� '�H���š(�3���ã(�c��)� ��{*�=��œ+�ê��Ú,�*��Å.�’���ð/�C���ƒ0�X��Ç0�?��� 2�«���`2�9��� 3�S���F3�š��š3�m���55�û���£5�ä���Ÿ6�¨��„7�$���-9�(���R9�ú���{9�$���v:�%���›:�*���Á:���ì:�:��� <�&���F<� ���m<�9���Ž<�#���È<�$���ì<�!���=�Ý���3=�,���>�"���>>� ���a>� ���l>�X��z>�;���Ó?�|��@���ŒA�Ô��� B�Ü���uC�þ���RD� ���QE����\E� ���aE����mE����vE����|E���E�&���«F� ���ÒF� ���ÜF����èF����ûF����G����#G����AG� ���]G�+���~G����ªG����ÃG�?���ÞG�D���H�0���cH����”H�)���­H����×H�0���ëH�"���I����?I�'���OI����wI�/���—I� ���ÇI����èI�����J����J����/J�>���LJ�"���‹J����®J�%���ÍJ�B���óJ�*���6K����aK����€K����’K�)���¢K����ÌK�%���éK�,���L����<L�#���LL�$���pL����•L�/���µL����åL�8���õL����.M����CM����bM����M����“M����²M����ÑM����æM����÷M���� N����'N����DN����WN����iN����|N����N�'���žN����ÆN�*���áN���� O�$���*O����OO����iO����yO� ���’O����³O�"���ÉO����ìO����P�;���P����TP����gP����ƒP���� P����¼P����ÙP����÷P����Q����0Q����DQ�"���[Q����~Q����‘Q�)���«Q����ÕQ����òQ����R�"���"R�1���ER�'���wR�(���ŸR� ���ÈR�,���éR�,���S�,���CS�'���pS�-���˜S� ���ÆS�(���çS�(���T����9T����LT����eT�"���€T����£T����²T�&���ÅT����ìT�"���U� ���*U� ���6U����CU����UU����fU����vU�5���’U�0���ÈU�.���ùU����(V����DV����dV�"���„V����§V����·V�+���ÈV�%���ôV����W����:W� ���<W����IW����`W�l���dW�;��ÑW���� Y� ���#Y����1Y�6���LY�5���ƒY�-���¹Y�)���çY����Z����#Z����:Z����QZ� ���hZ����sZ����xZ����~Z�,���†Z�8���³Z�)���ìZ� ���[����"[����4[����N[����][� ���c[����m[����}[� ���”[� ���ž[� ���ª[�k��´[���� ]����(]�K���@]�8���Œ]����Å]� ���Î]� ���Ù]� ���æ]�3���ò]�Š��&^� ���±_� ���¾_�½���È_����†`����•`� ���¥`�=���²`�(���ð`�ã���a� ���ýa���� b�U��b����oc����xc�<��}c�\���ºd� ���e�+���"e�+���Ne�0���ze� ���«e����µe����¼e�1���Ëe����ýe�I���f� ���`f����kf�@���„f�£��Åf�7���ih�?���¡h����áh����óh����i� ��� i����i����i����!i����'i����-i����>i�:���Ci����~i�¦���’i����9j�×��Hj� ��� l����+l����?l� ���Fl����Pl����hl����l����œl����¸l�$���Ðl����õl����m����"m� ���1m� ���=m� ���Im����Vm� ���gm����sm����…m����–m����m����¢m����¨m� ���®m� ���»m����Ém����Úm����ôm����n� ���n� ���"n� ���/n� ���;n����Fn����Kn����Pn�#���jn����Žn����—n�*���¶n����án�E���än����*o����>o���Oo�H���ap�o���ªp����q����q����.q� ���Cq�&���Qq� ���xq� ���„q� ���q����œq� ���£q�#���±q�H���Õq�2���r�i��Qr�ª���»s�š���ft�;���u����=u���[u�¸���uw�†���.x�;���µx�%���ñx����y�†���—y�T���z� ��sz�7���~|����¶|����Õ|� ���í|� ���÷|����}� ��� }����}����)}�º���D}����ÿ}�D���~����[~����l~� ���~����~����£~����´~����Ã~� ���Ò~�1���à~�'���� ���:� ���H� ���V����c�&���v�*�������È����Ð����à�5���å� ���€����'€����/€����@€����T€� ���i€����u€� ���}€����Š€�$���€� ���´€�$���¿€����ä€����ö€���� �â���C���ƒ�+���Fƒ����rƒ����wƒ� ���†ƒ����”ƒ����¦ƒ����»ƒ����̓����߃� ���ñƒ����þƒ� ���„�,���„�j���K„�&���¶„� ���Ý„�'���þ„�0���&…����W…����t…����‘…�–���°…�)���G†�Y���q†�'���ˆ�T���ó†�'���H‡�(���p‡����™‡�X���­‡�@���ˆ�?���Gˆ�&���‡ˆ�š���®ˆ����I‰����`‰�#���þ‰�&���"Š����IŠ�"���hŠ�T���‹Š�g���àŠ�†���H‹�.���Ï‹����þ‹�"���Œ�+���@Œ�Y���lŒ�~���ÆŒ�¤���E�ä���ê�=���ÏŽ���� �^���+� ���Š�¢���«�F���N�}���•�'���‘�'���;‘�Z���c‘�`���¾‘�!���’�!���A’�$���c’� ���ˆ’�¦���©’�M���P“�>���ž“�'���Ý“�<���”�T���B”����—”����œ”����¡”����·”����Í”����â”�¹���ø”�D���²•�H���÷•�G���@–� ���ˆ–����’–����—–����–�´��¬–����a˜�;���x˜�3���´˜�/���è˜�+���™�'���D™�#���l™����™����°™����Ì™�<���Ü™����š����-š����3š����9š�*���;š����fš����~š����˜š�A���µš����÷š�2���›�1���A›� ���s›����›�!���’›����´›�#���»›����ß›�0���û›����,œ����Fœ����Wœ�*���hœ����“œ����±œ�"���Ñœ����ôœ�����E���1�;���w� ���³�,���Ô� ���ž�!���"ž����Dž����dž�+���ƒž�#���¯ž�#���Óž�,���÷ž�0���$Ÿ�,���UŸ�#���‚Ÿ����¦Ÿ����ÁŸ� ���ן����øŸ���� ����2 ����P �$���o �"���” ����· �'���Í ����õ �5���¡����E¡�!���[¡����}¡�1���–¡����È¡����Ø¡����õ¡���� ¢���� ¢����:¢�(���J¢����s¢����Œ¢�.���¡¢�2���Т����£����£����9£�%���R£�0���x£�3���©£����Ý£�F���ý£�B���D¤�+���‡¤�5���³¤�1���é¤����¥����4¥�*���S¥����~¥����™¥�)���¶¥����à¥����ñ¥�%��� ¦� ���3¦� ���A¦����O¦����_¦�8���z¦����³¦����ɦ����ݦ����û¦�&���§�'���<§�<���d§�:���¡§�.���ܧ�!��� ¨����-¨�&���<¨����c¨����~¨����ލ����¢¨����³¨����è�#���Ó¨�'���÷¨�"���©�&���B©����i©����~©����—©� ���²©����Ó©����ì©����ª�%���ª����@ª� ���\ª� ���iª����vª����‰ª����žª����´ª����Ǫ����Þª����òª����«�,���«�+���I«�-���u«�)���£«�!���Í«����ï«����¬����"¬�8���9¬����r¬����‰¬����ž¬����´¬�3���Ƭ� ���ú¬����­� ���­����!­����6­� ���F­����P­�#���c­�"���‡­� ���ª­����Ë­����ê­����û­����®����1®����B®����Z®����`®����r®�%���ƒ®����©®�$���î�+���è®�#���¯�:���8¯�!���s¯�/���•¯�'���ů����í¯����°����°����9°�*���Y°�%���„°����ª°�#���Ȱ�$���ì°����±�%���'±�!���M±�'���o±����—±����·±����˱����ݱ����ü±�(���²�,���C²� ���p²�$���‘²����¶²����ϲ�$���á²�#���³�%���*³����P³�!���p³�&���’³����¹³����ͳ�(���ë³� ���´�3���5´�-���i´����—´�!���°´�1���Ò´�'���µ����,µ�1���Lµ����~µ����•µ����°µ����ʵ����äµ�#���þµ�1���"¶�.���T¶����ƒ¶����™¶����«¶�(���˶����ô¶� ��� ·����·����7·�(���L·����u·����z·�3���™·�;���Í·�.��� ¸����8¸����P¸����e¸�$���ƒ¸�$���¨¸�D���͸����¹����&¹����7¹����G¹����[¹����x¹����”¹����±¹����˹����Ϲ����æ¹�)���õ¹�/���º�=���Oº�@���º�:���κ���� »�!���'»����I»�,���[»����ˆ»����¤»����¶»�;���Í»���� ¼����"¼����8¼����L¼� ���g¼�!���ˆ¼����ª¼����ż����Ù¼�*���ì¼�-���½����E½����U½����l½����…½����š½����±½����ʽ����æ½�%���þ½�1���$¾�#���V¾�"���z¾����¾� ���³¾����Á¾����Ò¾����è¾�"���ú¾� ���¿����+¿����>¿����U¿����h¿����„¿����š¿�#���µ¿�!���Ù¿�!���û¿����À����4À����SÀ����lÀ� ���‹À����˜À����¨À����¹À����ËÀ�!���éÀ���� Á�"���#Á����FÁ����fÁ� ���„Á����¥Á����½Á�]���ÒÁ����0Â����DÂ����ZÂ�!���pÂ�*���’Â� ���½Â� ���ÊÂ����ëÂ�/���ÿÂ����/Ã�2���DÃ�;���wÃ����³Ã����ÌÃ����éÃ����Ä�R���Ä�L���qÄ�(���¾Ä� ���çÄ����ôÄ����Å����Å����,Å�,���JÅ�9���wÅ�*���±Å�,���ÜÅ���� Æ�0���Æ�:���@Æ�#���{Æ�'���ŸÆ�8���ÇÆ�����Ç�/���Ç����EÇ�7���VÇ�8���ŽÇ� ���ÇÇ����ÕÇ�/���ñÇ�-���!È����OÈ����iÈ�&���€È�)���§È����ÑÈ�$���æÈ���� É����"É����<É����LÉ�+���eÉ�1���‘É�"���ÃÉ����æÉ����øÉ����Ê�#���-Ê�$���QÊ����vÊ����”Ê����©Ê�!���ÉÊ�!���ëÊ�%��� Ë����3Ë�%���BË����hË����wË�7���†Ë�=���¾Ë����üË����Ì����/Ì����IÌ����\Ì� ���mÌ����{Ì�-���“Ì�C���ÁÌ����Í�(���Í� ���CÍ�'���MÍ����uÍ�"���Í����²Í����ÂÍ�%���ÒÍ����øÍ�4���Î� ���CÎ�&���dÎ� ���‹Î�$���—Î�8���¼Î�G���õÎ�9���=Ï����wÏ�"���–Ï�$���¹Ï����ÞÏ����øÏ����Ð����-Ð����CÐ����aÐ�>���yÐ� ���¸Ð� ���ÃÐ����ÏÐ����äÐ����õÐ����Ñ� ���%Ñ� ���2Ñ����>Ñ����UÑ� ���lÑ� ���vÑ����€Ñ�)���šÑ����ÄÑ����ÙÑ����ôÑ����Ò�$���Ò�-���BÒ�7���pÒ����¨Ò����¯Ò����¾Ò����ÍÒ����æÒ� ���öÒ����Ó���� Ó����Ó����Ó����4Ó����MÓ�#���jÓ�J���ŽÓ� ���ÙÓ� ���çÓ� ���ôÓ�����Ô�*���Ô����@Ô����\Ô����uÔ����‘Ô����¨Ô�8���ÅÔ����þÔ� ���Õ�H���Õ�U���[Õ�>���±Õ�?���ðÕ�?���0Ö�=���pÖ�>���®Ö�3���íÖ�(���!×�N���J×�f���™×�>����Ø�@���?Ø�#���€Ø�<���¤Ø�*���áØ���� Ù����,Ù�(���DÙ����mÙ�/���ˆÙ����¸Ù����ÓÙ����ëÙ����þÙ����Ú����Ú����-Ú�*���MÚ�!���xÚ�7���šÚ����ÒÚ�"���êÚ���� Û����Û�3���0Û����dÛ����|Û�.���”Û����ÃÛ�0���ÙÛ���� Ü�C���!Ü����eÜ����‚Ü����–Ü����°Ü�H���ÂÜ�+��� Ý�2���7Ý�8���jÝ�=���£Ý�@���áÝ�#���"Þ����FÞ�$���aÞ�=���†Þ�4���ÄÞ�.���ùÞ�,���(ß�<���Uß�0���’ß�3���Ãß�7���÷ß�c���/à����“à����©à�t���Àà� ���5á�3���@á�>���tá�5���³á�j���éá�h���Tâ�0���½â�,���îâ�*���ã�3���Fã�(���zã�&���£ã�(���Êã� ���óã����ÿã� ���ä� ���ä�/���-ä�7���]ä�&���•ä� ���¼ä�«��Ýä����‰æ�ÿ���‹æ�í���‹ç�è���yè�Û���bé�ÿ���>ê�n��>ë���­ì�¦���°í�_���Wî�E��·î�Ò���ýï�f��Ðð�¦��7ò�c��Þó�é���Bõ����,ö�¡���?ö�Ö���áö����¸÷�z��Vø���Ñù�¸���Ôú�­��û�~��;ý�à���ºþ�·��›ÿ�f��S�{���º�K��6�‘���‚����Ò����÷���í�Å���å �°��« �Q��\ �Ñ���® �Ð���€�³���Q�®����œ��´�K���Q�Í���Ù��k�L���E�Û���’�Ô���n�Ò���C� ���±���!�6��Ó�O�� �r���Z�ó���Í�C��Á�7�� �w��=!�z���µ"�H���0#� ���y#�Ã��$�Ñ���Þ%�»���°&�r��l'�€��ß(�Í��`*���.-�¬��?.�f���ì/�â���S0�]���61���”1� ���¬2�ç��º2�6��¢4�i��Ù6�¥���C9����é9�Q��y:�2��Ë<�‡��þ=�G��†?�<���Î@��� A�¬���'B�ï���ÔB�ä��ÄC�þ���©E�I��¨F�æ���òG�q���ÙH�È���KI���J�‰��-K�€���·M�B���8N�Ÿ���{N�*��O�W��FP�Ö���žQ�Ý���uR�ë���SS�Ô���?T�ô���U��� V�à���™W���zX����ŽY�¼���Z�ˆ���L[�õ���Õ[�m���Ë\�œ���9]�e��Ö]�¡���<_���Þ_�Á��|a�5���>c�Å���tc�Z���:d�6��•d�.��Ìf�,��ûh�i��(k���’l� ��®n�”��¼p�Ë���Qr�G��s�©��et�€��w�Õ��x�Ï���fz���6{���Q|�l���Z~�o���Ç~�ù���7���1€�g��Ï�…��7ƒ���½„���Ö†�<���ç‡�|���$ˆ�ÿ���¡ˆ�»���¡‰���]Š�â���q‹���TŒ�Ô���mŽ�W���B�Ø��š�z���s‘�H��î‘�8���7“���p“�À���‡”���H•�·���`–�·���—�Ì��З�;��™�V��Ùš�œ��0œ���Í���áŸ�<��ò �ˆ��/¢�W���¸£�­���¤�ú��¾¤�,��¹¦�k���æ¨�C��R©�¢���–ª�T��9«�Û���ެ�Ÿ��j­�‚�� ¯�Å���°�K���S±�‚���Ÿ±�ÿ��"²�æ���"´�<�� µ���F¸�'��U¹���}º�Ë��¼�^��Ú½�W���9¿���‘¿�4��¦À�”��ÛÁ�u��pÃ�"��æÅ�ž��� Ç�Ô���¨Ç�Ÿ���}È�á���É�ê���ÿÉ�õ���êÊ�ä���àË�ª��ÅÌ�]��pÎ�ä��ÎÏ�¢���³Ñ�ß���VÒ�Ÿ��6Ó�V���ÖÕ�ž��-Ö�v���Ì×�N���CØ�Ú��’Ø�ˆ��mÚ�C��öÛ�‚��:Ý�×��½ß�³���•á�F���Iâ�¾��â�\���Oä�«���¬ä�9���Xå�i���’å�»��üå�{���¸ç�I��4è���~é�¥��žê�E���Dí�<���Ší�s��Çí�<���;ï�A���xï�<���ºï�~��÷ï�\���vñ�1���Óñ�4���ò�C���:ò�:���~ò�C���¹ò�0���ýò�c��.ó�I���’ô�B���Üô� ���õ����*õ�v��Dõ�4���»ö���ðö�/��€ø�Ú���°ù�Ú���‹ú�"��fû� ���‰ü����”ü� ���›ü����§ü����°ü����·ü�ƒ��Ðü�!���Tþ� ���vþ� ���€þ� ���Œþ����šþ����¯þ�#���Âþ�%���æþ�?��� ÿ�H���Lÿ�*���•ÿ�*���Àÿ�{���ëÿ�Š���g��T���ò��*���G�L���r����¿�<���ß�0�������M�1���c�C���•�.���Ù�����8���&����_�;����(���»�^���ä�C���C�1���‡�E���¹�|���ÿ�;���|�@���¸����ù�����[���2�2���Ž�@���Á�>�������A�C���a�F���¥�4���ì�R���!����t�L���‘�@���Þ�D��� �+���d �%��� �:���¶ �7���ñ ����) �=���I �A���‡ �7���É �:��� �%���< �"���b �.���… �:���´ �4���ï �R���$ �/���w �@���§ �:���è �:���# �,���^ �%���‹ ����± �%���Ñ ����÷ �,����(���>�(���g�1�������Â�%���Ü���������%���?����e�"����%���¢�%���È����î�#��� ����.�1���N�F���€����Ç�4���á�4����J���K�R���–�:���é�O���$�%���t�F���š�F���á�F���(�4���o�G���¤�,���ì�5����7���O�!���‡����©����Ä�$���á�����!��� �6���B�*���y�H���¤����í�����(����)���G�3���q�+���¥�`���Ñ�C���2�I���v�(���À�4���é�4����1���S����…�%���Ÿ�?���Å�5����5���;����q����s�5���Š����À� ���Ä�À��e����&����?�-���U�H���ƒ�B���Ì�C����C���S����—�#���´�#���Ø�#���ü���� � ���)����3����;�,���B�8���o�O���¨� ���ø�'����'���,����T����c� ���j�!���t�'���–� ���¾� ���È����Ô���ä� ���ó!�$����"����%"�R���§"����ú"� ���#���� #� ���"#�W���.#�×��†#� ���^%����k%�ä���r%����W&����f&� ���v&�=���ƒ&�(���Á&���ê&����z(����(���(����­*����¾*�í��Å*�Z���³,� ���-�*���-�*���D-�A���o-� ���±-����»-����Â-�U���Ñ-�0���'.�¿���X.����/����+/�f���A/�‰��¨/�q���22�`���¤2����3����3����&3� ���-3����83����=3����E3����N3����V3����g3�h���n3����×3� ��ë3����ø4�Ê��5����Ì7� ���Õ7� ���â7� ���í7�-���ú7����(8�!���D8����f8����‚8�!��� 8����Â8����Þ8����ú8� ��� 9� ���9� ���!9����.9� ���?9����K9����]9� ���n9����{9����‚9� ���ˆ9����•9� ���§9����µ9�$���Æ9�$���ë9����:� ���:� ���-:� ���::����F:����Y:����`:�*���g:�?���’:����Ò:�'���å:�B��� ;����P;�f���W;����¾;�!���Ý;�c��ÿ;�t���c=�É���Ø=����¢>����¦>�"���Ä>� ���ç>�K���õ>� ���A?� ���M?� ���X?� ���e?����q?�*���?�U���¬?�O���@�ý��R@�5��PB���†C�O���ˆD�8���ØD�®��E�Å���ÀG�§���†H�J���.I�+���yI�É���¥I�¤���oJ�h���K�¯��}K�b���-N�'���N�9���¸N����òN� ���O����O� ���O�!���'O�!���IO�õ���kO�4���aP�n���–P�'���Q�0���-Q�$���^Q����ƒQ����—Q����¨Q����·Q� ���ÆQ�Y���ÔQ�T���.R� ���ƒR� ���‘R� ���ŸR����¬R�F���¿R�F���S� ���MS����YS� ���iS�†���sS����úS����T����T����-T����AT� ���UT����aT����hT����~T�-���…T� ���³T�*���¾T����éT����ûT�!���U�î��3U�|���"W�L���ŸW� ���ìW����öW����X����X����1X�!���PX�!���rX�!���”X����¶X����ÌX����ÞX�4���íX�r���"Y�.���•Y�(���ÄY�/���íY�8���Z� ���VZ� ���wZ�"���˜Z�¢���»Z�-���^[�e���Œ[�0���ò[�e���#\�/���‰\�0���¹\����ê\�b���]�H���e]�G���®]�*���ö]���!^����:_�«���U_�'���`�*���)`�"���T`�&���w`�\���ž`�s���û`�’���oa�2���b�"���5b�&���Xb�/���b�a���¯b�Š���c�´���œc���Qd�A���fe�!���¨e�j���Êe�5���5f�®���kf�N���g�Ë���ig�+���5h�+���ah�a���h�h���ïh�%���Xi�%���~i�(���¤i�$���Íi�Å���òi�U���¸j�F���k�/���Uk�V���…k�h���Ük����El����Ml����Tl����tl����”l�'���¥l���Íl�h���Ñm�l���:n�q���§n����o� ���"o����/o����?o�¹��_o����r�V���4r�F���‹r�A���Òr�:���s�4���Os�.���„s�)���³s�"���Ýs� ����t�V���t�+���et����‘t����—t����t�H���Ÿt�.���èt�0���u�,���Hu�T���uu����Êu�g���êu�d���Rv����·v�'���Óv�K���ûv� ���Gw�9���Tw�1���Žw�m���Àw�9���.x�!���hx�'���Šx�]���²x�'���y�3���8y�:���ly�.���§y�3���Öy�X��� z�]���cz�I���Áz�O��� {�?���[{�@���›{�>���Ü{�=���|�I���Y|�L���£|�8���ð|�=���)}�A���g}�D���©}�F���î}�.���5~� ���d~�=���…~�2���Ã~�.���ö~�.���%�7���T�F���Œ�4���Ó����€�9���$€�$���^€�E���ƒ€�%���É€�>���ï€�$���.�q���S�+���Å�6���ñ�!���(‚�'���J‚�*���r‚�*���‚�H���È‚�.���ƒ�%���@ƒ�I���fƒ�O���°ƒ�7����„�6���8„�7���o„�I���§„�L���ñ„�e���>…�E���¤…�a���ê…�h���L†�K���µ†�W���‡�`���Y‡�.���º‡�@���é‡�T���*ˆ�9���ˆ�7���¹ˆ�T���ñˆ����F‰�.���b‰�B���‘‰����Ô‰����ð‰���� Š�0���+Š�l���\Š�%���ÉŠ�!���ïŠ�$���‹�-���6‹�?���d‹�H���¤‹�J���í‹�?���8Œ�I���xŒ�-���ÂŒ����ðŒ�C��� �D���P����•����²�%���Î�!���ô����Ž�3���2Ž�6���fŽ�9���Ž�6���׎��������-�3���I�C���}�'���Á����é�*���ü�N���'�3���v����ª�!���º� ���Ü�+���ý�+���)‘�$���U‘�+���z‘�$���¦‘�'���Ë‘�!���ó‘�E���’�?���[’�Q���›’�D���í’�C���2“�B���v“�3���¹“�6���í“�W���$”�-���|”�+���ª”�.���Ö”�)���•�g���/•����—•����ª•����À•�(���Û•����–���� –�!���3–�!���U–�*���w–�<���¢–�A���ß–����!—�G���=—�6���…—����¼—�!���Ø—����ú—����˜����˜�E���2˜�$���x˜�7���˜�E���Õ˜�;���™�R���W™�+���ª™�B���Ö™�8���š�B���Rš�2���•š�3���Èš�<���üš�F���9›�@���€›�4���Á›�C���ö›�=���:œ�'���xœ�F��� œ�=���çœ�L���%�.���r�!���¡�$���Ã�3���è�<���ž�N���Yž�?���¨ž�:���èž�K���#Ÿ�1���oŸ����¡Ÿ�-���ÀŸ�-���îŸ�9��� �9���V �?��� �P���Р����!¡�4���=¡�N���r¡�=���Á¡�T���ÿ¡�?���T¢�.���”¢�3���â�d���÷¢�0���\£�6���£�^���Ä£�.���#¤�7���R¤�7���Ф�7���¤�7���ú¤�0���2¥�Y���c¥�R���½¥�.���¦�;���?¦�2���{¦�=���®¦�/���ì¦����§�.���9§�$���h§�7���§����ŧ�1���ʧ�N���ü§�b���K¨�U���®¨�/���©�)���4©�)���^©�)���ˆ©�1���²©�k���ä©�+���Pª����|ª����œª�"���»ª�'���Þª�8���«�*���?«����j«����‰«�!���«����¯«�4���È«�]���ý«�V���[¬�I���²¬�M���ü¬�*���J­�7���u­����­­�A���Ì­�)���®����8®�$���W®�N���|®�!���Ë®����í®���� ¯�5���$¯�%���Z¯�E���€¯�$���Ư����ë¯���� °�+���!°�.���M°����|°�"���˜°����»°�(���Ú°�(���±�(���,±�(���U±�%���~±�@���¤±�;���å±�(���!²�(���J²����s²����“²����¯²�!���Ȳ����ê²�(���³����-³����=³����\³����|³�"���–³����¹³�%���Ó³�(���ù³�1���"´�"���T´����w´�,���‘´�"���¾´�,���á´����µ����!µ����8µ����Oµ�*���jµ�1���•µ����ǵ�0���ãµ�6���¶����K¶�<���e¶����¢¶����¸¶�œ���×¶����t·�!���“·����µ·�'���Ï·�@���÷·����8¸�.���H¸�'���w¸�X���Ÿ¸����ø¸�a���¹�t���w¹����ì¹���� º�-���,º�(���Zº�t���ƒº�k���øº�0���d»����•»����®»����È»����Ù»�+���ù»�<���%¼�K���b¼�2���®¼�J���á¼����,½�P���4½�Y���…½�T���ß½�@���4¾�G���u¾����½¾�H���Ù¾�$���"¿�^���G¿�^���¦¿����À�*���À�9���IÀ�+���ƒÀ�$���¯À�'���ÔÀ�6���üÀ�B���3Á�-���vÁ�8���¤Á�-���ÝÁ�'��� Â�!���3Â�-���UÂ�T���ƒÂ�F���ØÂ�=���Ã�'���]Ã����…Ã�7���žÃ�@���ÖÃ�9���Ä�0���QÄ����‚Ä�6���›Ä�0���ÒÄ�6���Å�H���:Å����ƒÅ�<���–Å����ÓÅ����æÅ�S���ùÅ�m���MÆ�+���»Æ�*���çÆ�9���Ç�*���LÇ�$���wÇ�!���œÇ�.���¾Ç�3���íÇ�|���!È����žÈ�N���´È����É�a���É�-���É�-���­É� ���ÛÉ����èÉ�X���ïÉ�.���HÊ�Y���wÊ�(���ÑÊ�B���úÊ�!���=Ë�K���_Ë�B���«Ë�Q���îË�C���@Ì�9���„Ì�I���¾Ì�O���Í�4���XÍ�5���Í�!���ÃÍ����åÍ�3���Î�'���8Î�W���`Î����¸Î�!���ÎÎ�1���ðÎ�!���"Ï�B���DÏ����‡Ï���� Ï����³Ï�,���ÍÏ�.���úÏ� ���)Ð� ���3Ð�3���@Ð�H���tÐ����½Ð�-���ÙÐ�-���Ñ�!���5Ñ�N���WÑ�C���¦Ñ�U���êÑ� ���@Ò����MÒ� ���]Ò�'���jÒ� ���’Ò�)���ŸÒ����ÉÒ� ���ßÒ� ���ìÒ�9���ùÒ����3Ó�'���OÓ�-���wÓ�j���¥Ó����Ô����,Ô����<Ô�-���OÔ�=���}Ô�?���»Ô�(���ûÔ����$Õ�!���CÕ�7���eÕ�l���Õ���� Ö����Ö�`���-Ö�„���ŽÖ�S���×�T���g×�T���¼×�R���Ø�Q���dØ�Q���¶Ø�<���Ù�W���EÙ�}���Ù�N���Ú�E���jÚ�)���°Ú�c���ÚÚ�,���>Û�"���kÛ����ŽÛ�S���«Û�I���ÿÛ�.���IÜ�"���xÜ�!���›Ü����½Ü����ÙÜ����àÜ�!���ñÜ�0���Ý�H���DÝ�@���Ý�H���ÎÝ����Þ�:���6Þ����qÞ� ���ŠÞ�5���«Þ�,���áÞ�%���ß����4ß����Tß�b���tß�-���×ß�m���à�0���sà����¤à�'���Âà����êà�?���á�C���Fá�N���Šá�P���Ùá�a���*â�z���Œâ�J���ã�$���Rã�8���wã�S���°ã�;���ä�J���@ä�J���‹ä�E���Öä�B���å�G���_å�9���§å�}���áå����_æ����tæ�˜���Šæ����#ç�k���9ç�p���¥ç�N���è�¡���eè�~���é�f���†é�O���íé�>���=ê�U���|ê�d���Òê�S���7ë�O���‹ë����Ûë����ñë�!���ì����2ì�V���Nì�U���¥ì�J���ûì�F���Fí����p��„����������&���S������œ�����������Ð��������������ÿ��í��$������•��=��)��ù��Ù�����(��ñ��P��ä����������û������Š����������¼��“������T��Å��������q��¥������ð���8����…����������_��²��a�������7��|���p��×���Ü�������Û��„��1������=����q�����L���������Z�������ö����������“��;��ã��É��¾������Ð����²��.��J�������=��ï��Ñ������Ñ��~������� ��ø������Ñ���Ë��z��~��8������0�������Û������������������Q��,��>��ô��@���â��|�� ��Ã��4��¡��n���V��~��������%�������²�����[��Ã���]��a��)��Ú��Î��Á������ñ��ø��Ý���@��ò������D��³������´��Ä��p��M��4���Ê��"��‰���ø��9��†���ä�����������ô����†����E����������S������g�������µ��.�������è�����������Á�������:���/���o�������������‚��I��i��à��Ë�� ��á��Á��Î��”������í��ð������ª��}�����@��¨��)��r��ë������µ������¦������¿��ª�� ��­��n��™��Ä������Œ���Ó��Â��J��½��Ô������f��£����W������G��ð��…������Ç����������ˆ���Ø��¸��Ä����Ê�� ��ß��¯��Æ�������'��¢��f��¤��_���-��� ��0��ê��ª���Ù��‡���������N��°������Ø����������÷��†��Å��`��Y��M��G������—������0��“��®�������!��¼��4��?��¸��ô�������������������l���/��Î������U���v��œ���Ò������������Ÿ������q�����‹���;��1������i������{���������Ü������ö��������¬��•��Ý������ü������������C����������Û���B��p��%������Ô���Ó��-��W��…��t������e���������5��B��z����������±��N��U��S������š���z���à��÷��x��ç������������È��î���¶��A���Ù������¿��Æ��j������+����������d��¡��l��i��8��œ��h�������÷�������g��¤����p�����ý���»���ì���Š��²��×��+�������Ø��^��ª�������������(��H������������–���� ���t��<��ó��\��e��¯��T������%��D��E��������™������S��–������ƒ���!�����˜��x����������������l��-��š��Ž��|��7����]��\��������������Ñ��q��ï����9��T����������`��¯��Ø������é��� ����������æ��s����Ö�����������Ð������c�������€��½������V��y��:���������������������¿��w��Å��æ������]�������������Z��>���­��à�����¥���ù���_��7�������� ��f��¶���õ��Ö��y��å��ú���@��P��Ù��]����������������ý��­��y�������‚��·��3������¿�����s��Ì�����������������u�������ú������«��m��������¾�� ��D��®��‹������á�������t��������������"��P���=��� ������v��ì��L��������Ò����s��§��������Í��«��#������������2������^����������K��U��Ý������������������N��}��7�����s������H���>��Ú������¬��±��½��-��O������$������¼��à���G��ø���ð��c��§��ë��w��_��Ô��®��Q����������������������������˜��ß��b��ÿ������Ý����������V����������� ��‰��ô��[��)������� ��³��‡��ƒ��‚�������á��µ���›��c��k��Î��<��2�����������A������Þ������������È��c��������������N���w�����y��’����������Œ��Ö��É��u��»��È���)��É����M���À�� ���R��À��Ç��œ��"����ò��¢������Ë���ó���?���„������C��¡��������������É��ù������(������� ���’�������[������€������������R��ž������Þ��� ��,��Ü������ñ��–��é��6��ã��¾��ñ��� ��‹��/��ò��ÿ���������ú��þ��×��{��È��í��Š���Ë������í���˜��º��û��´��l��d��­����–�����������ù��«������%������Z�� ��ž���¦���6�������������¨�������(��å���â����ö��.��6����������Ÿ��°����a��ý����}��…����������Š������ý��‰��{��Q���Ä���¢�������Æ��‡��Œ�� ���k��W��R�������S���´��d����5��`���d��´���Ã��Ÿ��Õ��C���¤���ƒ��„���ð��»������â������������9������:������������ ��–��é��L��k�����P��Q������x���Ñ��£��ç���:��§���y��ú����� ��Ï����������K��«��m��I�������b��Y��¸���������ï��€��’��›������������F������D������B���¥��>����������\��î��‘��¶��·������é��ù������r���|��<���É���/��U������������µ��ž��������������î��Á��ý��ç��w����.�� ��£������� ������[���‡������Ú���*��#��è��&��¸������Ž��ï���f���5���ó��,������ñ��X����§��|��O������6��Ì��³���������� ��E���������‹����š��°��±��m�������Å��ç����������©��n��ß��g������3����ë��O��^��¸��©������“��©���H�� ��������������+������’����õ����������v��O��s���3�������õ���Ú������F�������������…����þ��Â��¶��«�������Ê���Í���J������{��������������ã������Í��K������î��è����������©��V������¶��������¨��×�����š��#������������Ä������b��*���?������ç����������›�������Œ��‡����������¹���������V��_������Ò��û���o��Â��������Z��W��!��Û������ö��—��¯������Ž������9����~��������£��Ð��A��8���5��Ž������A��Ë��ˆ����������ˆ��®��¹��u������J����������@��6���a����÷������������1��Œ������†��æ���‘��j����������4��Þ��Š��ë��^����������������±��­�������*��™�������Z������î������>�� ��G������x��é��¦��’��¾���þ��“�����������j��•��2������k���Ï��õ��h����Á����������ü��������¥����‘��X������ã���������g��²������M������ô������!���� ������,��¼���t���Õ������¨��à��¦��"�������A���������Í������·��w������R��æ��[��Û��þ��G�������E��˜���ü���������������������Ž���-����������ü��4��ü������J��ò������E��Ì��å��ß���%��z��¤��Î��v�������K���Ù����������Æ������t��¤��e����N��9���������ì������I������X�������������»������������¢����������º��o��������Ð��ê��}����—��o��™��›����������Ý��Å���l������Ï������Ó��m��Ì��Y��¹��¥��n�����Ô��e����������<��Ø���™����������`������i���Ê������2����Ô������Þ��û��Ü��¹���������+������›��£����Ÿ��”���������—��������������B�����������Ó��o���0������f��õ��u����ò���ä����������µ��·��3��Ò���ø����������=��������������H��Â��~��h��&���������u������K����ì��Y���À��ã��Ö��æ��D�����������h������c������h����������+������ ��������j��Õ�������á������Þ��!��r������������ ����5������¯�������§��'���Ê��¬������´�����±���/��ê���‚��Ì���F����������k��ƒ��g��û��š��¿�����¹�� ��ª��m��‚��³���¬��7����������å��—�����È��‹��ß��ƒ��#��Y��”��ÿ��”��?��å��ê��������1�����Ï�������b�� ��„�������� ��$�������½�����������,���×��ˆ��������W���Ç���½��Ú����ÿ��0��������������j�������R������†������U��Í������;��� ��e��`��ä��‘���ˆ����������X���”�������z��n��‰����������{������8��&��º��‘��÷������³��Ó���À��a��°���˜��Ü��ê����������è��������¦��ä��I��#���"������I���*��T���X��á�����r��v����������ë���€������}��r��������þ���ú��ö���¡�� ���C����������»��í��è��•������·���3�� ��°��©��\��������Q�� ������<���� ��2������:��]��O���ó��������?��(��������������\�������*��º��F����Ç������F��Ç��b�������Æ��$������Õ����������H������Ï��¨������Ã��Ö��•�����������������.��L��ž���������'��Â��ó������¾��������^���â������ ������€���Õ����;������������'��ž��������À���x��&��q��º���$��B������ï��d���Ã������¼��Ò�������� ������������� ���P��‰��;������L������1��ì��¡������¢��'��T����������®����������œ������C���������Ÿ��¬�������â���M��i�����í����•í�ìl��m��,m��@m��Tm��hm��|m��m��¤m��¸m��Ìm��èm��üm��n��,n��Xn��ln��€n��”n��¨n��¼n��Ðn��än��øn�� o��(o��<o��Xo��í��������������� �����������������ÿÿÿÿ½í��������1���ÿÿÿÿïí��������/���ÿÿÿÿî�7����������ÿÿÿÿiî�����������ÿÿÿÿ™î�����������ÿÿÿÿÃî��������(���ÿÿÿÿðî� �������Q���ÿÿÿÿKï� �������R���ÿÿÿÿ§ï� �������V���ÿÿÿÿð������������������ÿÿÿÿ3ð�����������ÿÿÿÿ:ð� ���������������ÿÿÿÿdð����������ÿÿÿÿ…ð��������������������������������ÿÿÿÿ´ð��������$���ÿÿÿÿÙð��������)���ÿÿÿÿñ��������T���ÿÿÿÿtñ��������Q���ÿÿÿÿÆñ��������N���ÿÿÿÿò��������<���ÿÿÿÿVò�%����������ÿÿÿÿŒò��������5���ÿÿÿÿÚò� �������D���ÿÿÿÿ'ó������������������ÿÿÿÿpó�������� ���ÿÿÿÿ|ó�������������]���ÿÿÿÿÞó�������5���ÿÿÿÿ� � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If a FILE is -, copy again to standard output. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � binary use binary I/O for data � cio use concurrent I/O for data � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s was specified but %s was not�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�'�')' expected�')' expected, found %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--reflink can be used only with --sparse=auto�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�Login�Login name: �Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the full filename of the current working directory. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Regular expression too big�Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Shell: �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�System error�TIME�Temporary failure in name resolution�Terminated�The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do ioctl on %s�cannot find name for group ID %lu�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get niceness�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close input pipe�failed to compute a new context�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid --%s argument %s�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output flag�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing argument after %s�missing argument to %s�missing conversion specifier in suffix�missing destination file operand after %s�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option used in invalid context -- %c�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized operand %s�unrecognized prefix: %s�up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�waiting for %s [-d]�waiting for child process�waiting for strip�warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: GNU coreutils 8.14 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2011-10-28 09:23+0900 Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com> Language-Team: Japanese <translation-team-ja@lists.sourceforge.net> Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; � � ( EXPRESSION ) EXPRESSION ãŒçœŸ ! EXPRESSION EXPRESSION ãŒå½ EXPRESSION1 -a EXPRESSION2 EXPRESSION1 㨠EXPRESSION2 ã®ä¸¡æ–¹ãŒçœŸ EXPRESSION1 -o EXPRESSION2 EXPRESSION1 㨠EXPRESSION2 ã®ã„ãšã‚Œã‹ãŒçœŸ � --check-order å…¨ã¦ã®è¡Œã®çµ„ã¿åˆã‚ã›ãŒä¸€è‡´ã—ã¦ã„ã¦ã‚‚ã€æ­£ã—ã ソートã•れã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹ --nocheck-order å…¥åŠ›ãŒæ­£ã—ãソートã•れã¦ã„ã‚‹ã‹ã‚’確èªã—ãªã„ � -1 1列目を抑止ã™ã‚‹ (FILE1 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œ) -2 2列目を抑止ã™ã‚‹ (FILE2 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œ) -3 3列目を抑止ã™ã‚‹ (両方ã®ãƒ•ァイルã«å«ã¾ã‚Œã‚‹è¡Œ) � -a, --all -b -d --login -p -r -t -T -u ã¨åŒã˜ -b, --boot 最後ã«ã‚·ã‚¹ãƒ†ãƒ ãŒèµ·å‹•ã—ãŸæ™‚刻 -d, --dead 終了ã—ãŸãƒ—ロセスを表示 -H, --heading ヘッダ行を表示 � -b FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ãƒ–ロックデãƒã‚¤ã‚¹ã§ã‚ã‚‹ -c FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ãƒ‡ãƒã‚¤ã‚¹ã§ã‚ã‚‹ -d FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã‚ã‚‹ -e FILE FILE ãŒå­˜åœ¨ã™ã‚‹ � -l 指定ã•れãŸãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦é•·å½¢å¼ã§å‡ºåŠ› -b é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã‚·ã‚§ãƒ«ã‚’çœç•¥ -h é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ—ロジェクトファイルをçœç•¥ -p é•·å½¢å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ—ランファイルをçœç•¥ -s 短形å¼ã§å‡ºåŠ› (標準) � -n STRING STRING ã®é•·ã•㌠0 ã§ãªã„ STRING -n STRING ã¨ç­‰ä¾¡ -z STRING STRING ã®é•·ã•㌠0 STRING1 = STRING2 ä¸¡æ–¹ã®æ–‡å­—列ãŒç­‰ã—ã„ STRING1 != STRING2 ä¸¡æ–¹ã®æ–‡å­—列ãŒç­‰ã—ããªã„ � ARG1 * ARG2 ARG1 㨠ARG2 ã®æŽ›ã‘ç®— ARG1 / ARG2 ARG1 ã® ARG2 ã«ã‚ˆã‚‹å‰²ã‚Šç®— ARG1 % ARG2 ARG1 ã® ARG2 ã«ã‚ˆã‚‹å‰²ã‚Šç®—ã®ã‚ã¾ã‚Š � ARG1 + ARG2 ARG1 㨠ARG2 ã®è¶³ã—ç®— ARG1 - ARG2 ARG1 㨠ARG2 ã®å¼•ãç®— � ARG1 < ARG2 ARG1 ㌠ARG2 よりå°ã•ã„ ARG1 <= ARG2 ARG1 ㌠ARG2 よりå°ã•ã„ã‹ç­‰ã—ã„ ARG1 = ARG2 ARG1 ㌠ARG2 ã¨ç­‰ã—ã„ ARG1 != ARG2 ARG1 ㌠ARG2 ã¨ç­‰ã—ããªã„ ARG1 >= ARG2 ARG1 ㌠ARG2 より大ãã„ã‹ç­‰ã—ã„ ARG1 > ARG2 ARG1 ㌠ARG2 より大ãã„ � FILE1 -ef FILE2 FILE1 㨠FILE2 ãŒåŒã˜ãƒ‡ãƒã‚¤ã‚¹ã§ inode ã‚‚ç­‰ã—ã„ FILE1 -nt FILE2 FILE1 ㌠FILE2 より (æ›´æ–°ã•ã‚ŒãŸæ™‚刻ãŒ) æ–°ã—ã„ FILE1 -ot FILE2 FILE1 ㌠FILE2 よりå¤ã„ � INTEGER1 -eq INTEGER2 INTEGER1 ㌠INTEGER2 ã«ç­‰ã—ã„ INTEGER1 -ge INTEGER2 INTEGER1 ㌠INTEGER2 以上 INTEGER1 -gt INTEGER2 INTEGER1 ㌠INTEGER2 より大ãã„ INTEGER1 -le INTEGER2 INTEGER1 ㌠INTEGER2 以下 INTEGER1 -lt INTEGER2 INTEGER1 ㌠INTEGER2 未満 INTEGER1 -ne INTEGER2 INTEGER1 ㌠INTEGER2 ã«ç­‰ã—ããªã„ � STRING : REGEXP STRING ã«ãŠã‘ã‚‹æ­£è¦è¡¨ç¾ REGEXP ã«ã‚ˆã‚‹ãƒ‘ã‚¿ãƒ¼ãƒ³ç…§åˆ match STRING REGEXP STRING : REGEXP ã¨åŒã˜ substr STRING POS LENGTH STRING ã®éƒ¨åˆ†æ–‡å­—列を返ã™, POS 㯠1ã‹ã‚‰å§‹ã¾ã‚‹ index STRING CHARS STRING ã‹ã‚‰ CHARS ãŒè¦‹ã¤ã‹ã£ãŸå ´æ‰€ã‚’è¿”ã™. 見ã¤ã‹ã‚‰ãªã‘れ㰠0 length STRING STRING ã®é•·ã• � a ã™ã¹ã¦ã®è¡Œç•ªå· t 空行以外ã®è¡Œç•ªå· n 空行ã®è¡Œç•ªå· pBRE 基本正è¦è¡¨ç¾ BRE ã«ä¸€è‡´ã™ã‚‹è¡Œã®ã¿ã‚’æ•°ãˆãŸã¨ãã®è¡Œç•ªå· FORMAT ã«ã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã‚’指定ã—ã¾ã™: ln å·¦æƒãˆã€0ã§åŸ‹ã‚ãªã„ rn 峿ƒãˆã€0ã§åŸ‹ã‚ãªã„ rz 峿ƒãˆã€0ã§åŸ‹ã‚ã‚‹ � b ブロック型(ãƒãƒƒãƒ•ァリングã•れる)ã‚¹ãƒšã‚·ãƒ£ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä½œæˆ c, u キャラクタ型(ãƒãƒƒãƒ•ァリングã•れãªã„)ã‚¹ãƒšã‚·ãƒ£ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä½œæˆ p åå‰ã¤ããƒ‘ã‚¤ãƒ—ã‚’ä½œæˆ � ユーザ数=%lu � PAGE_LENGTH <= 10 ã®å ´åˆã¯ -t ãŒæš—黙的ã«åˆ©ç”¨ã•れã¾ã™ã€‚FILE を指定ã—ãªã„ã‹ã€ FILE ㌠- ã®æ™‚ã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ � フィールドã¨ã¯ç©ºç™½é¡žæ–‡å­— (通常ã¯ã‚¹ãƒšãƒ¼ã‚¹ã¨ã‚¿ãƒ–) ãŒã¾ã¨ã¾ã£ã¦ã‚りã€ãã®å¾Œã«éžç©ºç™½é¡žæ–‡å­— ãŒã‚ã‚‹ã‚‚ã®ã§ã™ã€‚文字ã®å‰ã®ãƒ•ィールドã¯ã‚¹ã‚­ãƒƒãƒ—ã•れã¾ã™ã€‚ � - ã ã‘を指定ã—ãŸå ´åˆã¯ -i を指定ã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã€‚COMMAND ãŒæŒ‡å®šã•れãªã‘ã‚Œã°æœ€çµ‚çš„ãªç’°å¢ƒå¤‰æ•°ã‚’表示ã—ã¾ã™ã€‚ � フラグã®å¾Œã«ã‚ªãƒ—ションã§ãƒ•ィールド幅をåé€²æ•°ã§æŒ‡å®šã§ãã¾ã™ã€‚ãã®å¾Œã«ã‚ªãƒ—ション㧠以下ã®ã„ãšã‚Œã‹ã®ä¿®é£¾è¾žã‚’指定ã§ãã¾ã™ã€‚ E ã¯ãƒ­ã‚±ãƒ¼ãƒ«ã§ä»£æ›¿ã®è¡¨è¨˜ã‚’ãŒåˆ©ç”¨å¯èƒ½ãªæ™‚ã«ã¯ä»£æ›¿è¡¨è¨˜ã‚’利用ã—ã¾ã™ã€‚ O ã¯ãƒ­ã‚±ãƒ¼ãƒ«ã§ä»£æ›¿ã®æ•°å­—ãŒåˆ©ç”¨å¯èƒ½ãªã¨ãã«ã¯ä»£æ›¿æ•°å­—を利用ã—ã¾ã™ã€‚ � EXPRESSION ãŒçœç•¥ã•れるã¨ãƒ‡ãƒ•ォルトã§ã¯å½ (false) ã«ãªã‚Šã¾ã™ã€‚ãれ以外 ã®å ´åˆã¯ EXPRESSION ãŒçœŸ (true) ã‹å½ (false) ã‹ã«ã‚ˆã£ã¦çµ‚了ステータス ãŒè¨­å®šã•れã¾ã™ã€‚ã“ã‚Œã¯æ¬¡ã®ã†ã¡ã®ä¸€ã¤ã«ãªã‚Šã¾ã™: � 特別ãªå ´åˆã¨ã—ã¦ã€cp 㯠-f 㨠-b オプションãŒä¸Žãˆã‚‰ã‚Œã€SOURCE 㨠DEST ㌠åŒä¸€ãƒ•ァイルã§ã‚る時ã¯ã€SOURCE ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã—ã¾ã™ã€‚ � 多ãã®æ¼”ç®—å­ã¯ã‚·ã‚§ãƒ«ã«æ¸¡ã™ãŸã‚ã«ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã™ã‚‹ã‹å¼•用符ã§å›²ã‚€å¿…è¦ãŒã‚りã¾ã™. 比較㯠ARG ãŒã„ãšã‚Œã‚‚数値ã§ã‚れã°å¤§ãã•ã«ã‚ˆã‚Š, ãれ以外ã®å ´åˆã«ã¯è¾žæ›¸é †ã« より行ã‚れã¾ã™. パターン照åˆã¯, \( 㨠\) ã®é–“, ã‚‚ã—ãã¯ãƒŒãƒ«æ–‡å­—ã«ä¸€è‡´ã—㟠文字列を返ã—ã¾ã™. \( 㨠\) を使ã‚ãªã„å ´åˆã¯ä¸€è‡´ã™ã‚‹æ–‡å­—æ•°ã‹ 0 ã‚’è¿”ã—ã¾ã™. � TYPE ㌠b, c, u ã®å ´åˆã¯ MAJOR 㨠MINOR ã®ä¸¡æ–¹ã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“。TYPE ㌠p ã®å ´åˆã¯çœç•¥ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。MAJOR 㨠MINOR ㌠0x ã¾ãŸã¯ 0X ã§å§‹ã¾ã‚‹å ´åˆã« ã¯å六進数ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚0 ã§å§‹ã¾ã‚‹å ´åˆã«ã¯å…«é€²æ•°ã§ã€ãれ以外ã¯å進数ã§è§£é‡ˆ ã•れã¾ã™ã€‚ TYPE ã¯æ¬¡ã®é€šã‚Šã§ã™: � デフォルトã§ã¯ rm ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ã¾ã›ã‚“。ディレクトリをãã®ä¸­èº«å…¨ã¦ã‚’ å«ã‚ã¦å‰Šé™¤ã™ã‚‹ã¨ãã«ã¯ --recursive (-r ã¾ãŸã¯ -R) オプションを使用ã—ã¦ãã ã•ã„。 � ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æŒ‡å®šãŒç„¡ã‘れã°ã€ãƒ—ログラム㯠-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn ã¨ã—ã¦å‹•作ã—ã¾ã™ã€‚ CC 値㯠論ç†ãƒšãƒ¼ã‚¸ã®åŒºåˆ‡ã‚Šè¨˜å·ã‚’指定ã™ã‚‹ãŸã‚ã® 2 ã¤ã®æ–‡å­—ã§ã™ã€‚2ã¤ã‚ã®æ–‡å­—ãŒæŒ‡å®šã•れãªã„å ´åˆã«ã¯æš—黙㫠: ãŒæŒ‡å®šã•れã¾ã™ã€‚ `\\' ã‚’ 指定ã—ãŸã‘れã°, `\\' を使ã†ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 STYLE ã¯ä»¥ä¸‹ã®ã†ã¡ã® 1 ã¤ã‚’指定ã—ã¾ã™ã€‚ � デフォルトã§ã¯ã€SOURCE スパースファイルã¯ç™ºè¦‹çš„æ‰‹æ³•ã§æ¤œå‡ºã•れã€å¯¾å¿œã™ã‚‹ DEST ファイルã¯ã‚¹ãƒ‘ースファイルã¨ã—ã¦ä½œæˆã•れã¾ã™ã€‚ã“れ㯠--sparse=auto ãŒé¸æŠžã•れãŸã¨ãã®å‹•作ã§ã™ã€‚--sparse=always を指定ã—ãŸå ´åˆã€SOURCE ファ イルã«å€¤ãŒ 0 ã®ãƒã‚¤ãƒˆãŒå分ãªé•·ã•å«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«ã¯ DEST ãŒã‚¹ãƒ‘ース ファイルã¨ã—ã¦ä½œæˆã•れã¾ã™ã€‚スパースファイルã®ä½œæˆã‚’ç¦æ­¢ã™ã‚‹å ´åˆã¯ --sparse=never を使用ã—ã¦ãã ã•ã„。 --reflink[=always] ãŒæŒ‡å®šã•れãŸå ´åˆã€è»½é‡ã‚³ãƒ”ーãŒå®Ÿè¡Œã•れデータブロック ãŒå¤‰æ›´ã•れãŸå ´åˆã«ã®ã¿ã‚³ãƒ”ーã•れã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã€ã‚³ãƒ”ーãŒå¤±æ•—ã—㟠場åˆã€ã¾ãŸã¯ --reflink=auto ãŒæŒ‡å®šã•れãŸå ´åˆã€é€šå¸¸ã®ã‚³ãƒ”ーã«ãƒ•ェイル ãƒãƒƒã‚¯ã•れã¾ã™ã€‚ � 組åˆã›è¨­å®š: * [-]LCASE [-]lcase ã¨åŒã˜ cbreak -icanon ã¨åŒã˜ -cbreak icanon ã¨åŒã˜ � --block-size ã§æŒ‡å®šã—㟠SIZE, %s_BLOCK_SIZE, BLOCK_SIZE ãŠã‚ˆã³BLOCKSIZE 環境変数 ã®ã†ã¡ã€æœ€åˆã«æŒ‡å®šã•れã¦ã„るサイズå˜ä½ã§å€¤ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ãれ以外ã®å ´åˆã€ãƒ‡ãƒ•ã‚© ルトã®å˜ä½ã¯ 1024 ãƒã‚¤ãƒˆã«ãªã‚Šã¾ã™ (POSIXLY_CORRECT ãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆ 512 ムイト)。 � å„ FLAG シンボルã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™: append 追加モード (出力ã«å¯¾ã—ã¦ã®ã¿æ„味ãŒã‚る。 conv=notrunc を推奨) � 例: %s -12 file1 file2 file1 㨠file2 ã®ä¸¡æ–¹ã«å­˜åœ¨ã™ã‚‹è¡Œã®ã¿ã‚’表示ã™ã‚‹ %s -3 file1 file2 file1 ã«å­˜åœ¨ã—㦠file2 ã«å­˜åœ¨ã—ãªã„行ãŠã‚ˆã³ file2 ã«å­˜åœ¨ã—㦠file1 ã«å­˜åœ¨ã—ãªã„行を表示ã™ã‚‹ � 例: %s f - g 最åˆã« f ã®ä¸­èº«ã‚’出力ã—ã€æ¬¡ã«æ¨™æº–入力を出力ã—ã¾ã™ã€‚ ãã—㦠g ã®ä¸­èº«ã‚’出力ã—ã¾ã™ã€‚ %s 標準入力を標準出力ã«è¤‡è£½ã—ã¾ã™ã€‚ � 例: %s root /u /u ã®æ‰€æœ‰è€…ã‚’ "root" ã«å¤‰æ›´ã—ã¾ã™ã€‚ %s root:staff /u åŒæ§˜ã§ã™ãŒã€ã‚°ãƒ«ãƒ¼ãƒ—ã‚‚ "staff" ã«å¤‰æ›´ã—ã¾ã™ã€‚ %s -hR root /u /u é…下ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ã‚’ "root" ã«å¤‰æ›´ã—ã¾ã™ã€‚ � 例: %s staff /u /u ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ "staff" ã«å¤‰æ›´ã™ã‚‹ã€‚ %s -hR staff /u /u ãŠã‚ˆã³ãã®é…下ã®ãƒ•ァイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ "staff" ã«å¤‰æ›´ã™ã‚‹ã€‚ � 例: エãƒãƒƒã‚¯ (1970-01-01 UTC) ã‹ã‚‰ã®ç§’数を日時ã«å¤‰æ›ã™ã‚‹å ´åˆ $ date --date='@2147483647' 米国西海岸ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã§æ—¥æ™‚を表示ã™ã‚‹å ´åˆ (TZ を探ã™ã«ã¯ tzselect(1) を使用ã—ã¾ã™) $ TZ='America/Los_Angeles' date ãƒ­ãƒ¼ã‚«ãƒ«æ™‚é–“ã®æ¬¡ã®é‡‘曜日åˆå‰9時を米国西海岸ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã§è¡¨ç¤ºã™ã‚‹å ´åˆ $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � -h ãŠã‚ˆã³ -L を除ãã€å…¨ã¦ã® FILE 関連ã®ãƒ†ã‚¹ãƒˆã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿りã¾ã™ã€‚ å°æ‹¬å¼§ã¯ã‚·ã‚§ãƒ«ã«å¯¾ã—㦠(ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãªã©ã«ã‚ˆã£ã¦) エスケープãŒå¿…è¦ãªã“ã¨ ã«æ³¨æ„ã—ã¦ãã ã•ã„。INTEGER ã¯æ–‡å­—列ã®é•·ã•を返㙠-l STRING を使ã†ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ � 終了ステータス㯠EXPRESSION ㌠null, 0 以外ã®å ´åˆã¯ 0。EXPRESSION ㌠null, 0 ã®å ´åˆã¯1。 EXPRESSION ãŒæ§‹æ–‡ã‚¨ãƒ©ãƒ¼ã®å ´åˆã¯ 2。ãã®ä»–ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã¯ 3。 � 終了ステータス: 0 正常終了〠1 軽微ãªå•題ãŒç™ºç”Ÿ (例: å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„)〠2 é‡å¤§ãªå•題ãŒç™ºç”Ÿ (例: コマンド引数ãŒèª¤ã£ã¦ã„ã‚‹)。 � FORMAT ã«ã‚ˆã£ã¦ C 言語㮠printf ã®ã‚ˆã†ã«å‡ºåЛ形å¼ã‚’制御ã—ã¾ã™ã€‚解釈ã•れる æ–‡å­—åˆ—ã¯æ¬¡ã®é€šã‚Šã§ã™: \" ダブルクォーテーション � FORMAT ã§å‡ºåŠ›ã‚’åˆ¶å¾¡ã—ã¾ã™ã€‚解釈ã•ã‚Œã‚‹æ–‡å­—åˆ—ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚ %% 文字 % %a ロケール表示ã«ã‚ˆã‚‹æ›œæ—¥ã®çœç•¥å (例: Sunã€æ—¥) � 標準入力ã¨ã¤ãªãŒã£ãŸç«¯æœ«ã‚’制御ã—ã¾ã™ã€‚引数を指定ã—ãªã„å ´åˆã€ ボーレートã€å›žç·šåˆ¶å¾¡è¦å‰‡ãŠã‚ˆã³ stty sane ã‹ã‚‰ã®ãšã‚Œã‚’表示ã—ã¾ã™ã€‚ 設定ã®éš›ã«ã¯ã€ CHAR ã¯æ–‡å­—é€šã‚Šã«æ‰±ã‚れるã‹ã€ ^c, 0x37, 0177 ã¾ãŸã¯ 127 ã®ã‚ˆã†ã«ã‚³ãƒ¼ãƒ‰åŒ–ã•れã¾ã™ã€‚特別ãªå€¤ ^- ã¾ãŸã¯ undef ã¯ç‰¹æ®Šæ–‡å­—を無効㫠ã™ã‚‹ã®ã«ä½¿ç”¨ã•れã¾ã™ã€‚ � -e ãŒæœ‰åйãªå ´åˆã€ä»¥ä¸‹ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ãŒè§£é‡ˆã•れã¾ã™ã€‚ � FILE ㌠- ã®å ´åˆã€æ¨™æº–出力を shred ã—ã¾ã™ã€‚ --remove (-u) ãŒæŒ‡å®šã•れãŸã¨ãã«ã¯ FILE を削除ã—ã¾ã™ã€‚/dev/hda ã®ã‚ˆã†ãª デãƒã‚¤ã‚¹ãƒ•ァイルをæ“作ã™ã‚‹ã®ãŒä¸€èˆ¬çš„ã§ã‚りã€ãれらã®ãƒ•ァイルã¯é€šå¸¸å‰Šé™¤ã™ ã‚‹ã¹ãã§ã¯ãªã„ãŸã‚ã€ãƒ‡ãƒ•ォルトã§ã¯ãƒ•ァイルを削除ã—ã¾ã›ã‚“。通常ファイルを æ“作ã™ã‚‹æ™‚ã¯ã€ã»ã¨ã‚“ã©ã®äººãŒ --remove オプションを使用ã—ã¾ã™ã€‚ � FIRST ã‹ INCREMENT ã‚’çœç•¥ã—ãŸå ´åˆã€ãƒ‡ãƒ•ォルトã¨ã—㦠1 ãŒè¨­å®šã•れã¾ã™ã€‚よã£ã¦ INCREMENT ã‚’çœç•¥ã—ãŸå ´åˆã¯ LAST ㌠FIRST よりå°ã•ã„å ´åˆã§ã‚‚デフォルト㌠1ã« ãªã‚Šã¾ã™ã€‚FIRST〠INCREMENT ãŠã‚ˆã³ LAST ã¯æµ®å‹•å°æ•°ã®å€¤ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚ FIRST ㌠LAST よりå°ã•ã„å ´åˆã€é€šå¸¸ INCREMENT ã‚’æ­£ã«ã—ã¾ã™ã€‚ã¾ãŸã€ FIRST ㌠LAST より大ãã„å ´åˆã€é€šå¸¸ INCREMENT を府ã«ã—ã¾ã™ã€‚ � FILE ã« - を指定ã—ãŸå ´åˆã€æ¨™æº–出力ã«å†åº¦ã‚³ãƒ”ーã—ã¾ã™ � 入力設定: [-]brkint ブレイクã§å‰²ã‚Šè¾¼ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’発生 [-]icrnl 復帰 (CR) を改行 (LF) ã«ç¿»è¨³ [-]ignbrk ブレイク文字を無視 [-]igncr 復帰 (CR) を無視 � K ã«ã¯ä»¥ä¸‹ã®å€æ•°æŽ¥å°¾å­ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™: b =512ã€kB =1000ã€K =1024ã€MB =1000*1000ã€M =1024*1024 GB =1000*1000*1000ã€G =1024*1024*1024ã€ãŠã‚ˆã³ Tã€Pã€Eã€Zã€Y ãªã©ã§ã™ã€‚ � ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � ローカル設定: [-]crterase backspace-space-backspace ã¨ã—ã¦å‰Šé™¤æ–‡å­—をエコー * crtkill echoprt 㨠echoe ã®è¨­å®šã«ã—ãŸãŒã£ã¦å…¨ã¦ã®è¡Œã‚’削除 * -crtkill echoctl 㨠echok ã®è¨­å®šã«ã—ãŸãŒã£ã¦å…¨ã¦ã®è¡Œã‚’削除 � 備考: [ ã§ã¯ --help ãŠã‚ˆã³ --version オプションを使ãˆã¾ã™ãŒã€test ã§ã¯ 使ãˆã¾ã›ã‚“。 test ã¯ãれらを空ã§ãªã„ STRING ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚ � 注æ„: 使用ã—ã¦ã„るシェルã«ã‚ˆã£ã¦ã¯çµ„ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã¨ã—㦠%s ã‚’æŒã£ã¦ã„ã‚‹å ´åˆ ãŒã‚りã€é€šå¸¸ã¯ã“ã“ã§è¨˜è¿°ã—ã¦ã„ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚ˆã‚Šå„ªå…ˆçš„ã«ä½¿ç”¨ã•れã¾ã™ã€‚シェル㮠文書をå‚ç…§ã—ã¦ã‚ªãƒ—ションãªã©ã®è©³ç´°ã‚’確èªã—ã¦ãã ã•ã„。 � ファイルã®å‰Šé™¤ã« rm を使ã£ãŸå ´åˆã€å分ãªå°‚é–€æ€§ã¨æ™‚é–“ãŒã‚れã°ã€ãƒ•ァイル内容 ã®ä¸€éƒ¨ã‚’復元ã§ãã‚‹ã‹ã‚‚ã—れãªã„ã¨ã„ã†ã“ã¨ã«ã¯ç•™æ„ã—ã¦ãã ã•ã„。もã—ファイル 内容を本当ã«å¾©å…ƒä¸å¯èƒ½ã«ã™ã‚‹ä¿è¨¼ã‚’å¾—ãŸã‘れã°ã€shred ã®åˆ©ç”¨ã‚’考ãˆã¦ãã ã•ã„。 � -d 㨠-t オプションã§ã¯ç•°ãªã£ãŸæ—¥æ™‚ã®å½¢å¼ã‚’å—ã‘付ã‘ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 � SETTING ã®å‰ã« - を付ã‘ã‚‹ã¨ã€å¦å®šã‚’表ã—ã¾ã™ã€‚ * (アスタリスク) 表示㯠POSIX ã«è¦å®šã•れã¦ã„ãªã„設定を表ã—ã¾ã™ã€‚使用ã—ã¦ã„るシステムã«ã‚ˆã£ã¦åˆ©ç”¨å¯èƒ½ãª SETTING ãŒæ±ºã¾ã‚Šã¾ã™ã€‚ � ãれ以外ã®å ´åˆã¯ MODE ã«æ•°å€¤ã‚’指定ã—ã¾ã™ã€‚数値ã«ã¯æ¬¡ã®å€æ•°ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™: KB 1000, K 1024, MB 1000*1000, M 1024*1024, ãã®ä»– G, T, P, E, Z, Y ãªã©ã€‚ 対応ã—ãŸã‚¹ãƒˆãƒªãƒ¼ãƒ ã« MODE ãƒã‚¤ãƒˆã®ã‚µã‚¤ã‚ºãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒãƒƒãƒ•ã‚¡ãŒè¨­å®šã•れã¾ã™ã€‚ � 出力設定: * bsN ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã®é…延スタイル. N ã®ç¯„囲㯠[0..1] * crN 復帰 (CR) é…延スタイル. N ã®ç¯„囲㯠[0..3] * ffN 用紙é€ã‚Šé…延スタイル. N ã®ç¯„囲㯠[0..1] * nlN 改行 (LF) é…延スタイル. N ã®ç¯„囲㯠[0..1] � EXPRESSION ã®å€¤ã‚’標準出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚下記ã¯å„ªå…ˆé †ä½ã‚°ãƒ«ãƒ¼ãƒ—毎ã«ç©ºç™½è¡Œ ã§åŒºåˆ‡ã£ã¦æ˜‡é †ã«ä¸¦ã¹ã¦ã„ã¾ã™ã€‚ EXPRESSION ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚ ARG1 | ARG2 ARG1 ㌠null, 0 ã§ç„¡ã„å ´åˆã¯ ARG1。ãã†ã§ãªã‘れ㰠ARG2 ARG1 & ARG2 両方ã®å¼•数㌠null, 0 ã§ç„¡ã„å ´åˆã¯ ARG1 ãã†ã§ãªã‘れ㰠0 � ファイル㌠- ãªã‚‰ã°æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ å„々ã®ãƒ‘ターン㯠次ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: � %s ã®ãƒã‚°ã‚’発見ã—ãŸå ´åˆã¯ %s ã«å ±å‘Šã—ã¦ãã ã•ã„。 � ãƒã‚°ã‚’発見ã—ãŸã‚‰ <%s> ã«å ±å‘Šã—ã¦ä¸‹ã•ã„。 翻訳ã«é–¢ã™ã‚‹ãƒã‚°ã¯<translation-team-ja@lists.sourceforge.net>ã«å ±å‘Šã—ã¦ãã ã•ã„。 � SET ã¯æ–‡å­—列ã«ã‚ˆã£ã¦æŒ‡å®šã—ã¾ã™ã€‚多ãã®å ´åˆãã®æ–‡å­—自身を表ç¾ã—ã¾ã™ã€‚ 解釈ã®ã•れ方ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™: \NNN 文字ã®å…«é€²æ•°è¡¨ç¾(1 ã‹ã‚‰ 3 個㮠八進数) \\ ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ \a ベル \b ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ \f フォームフィード \n 改行 \r 復帰 \t 水平タブ � 特殊文字: * dsusp CHAR CHAR ã¯å…¥åŠ›ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ã¨, ç«¯æœ«åœæ­¢ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡ eof CHAR CHAR ã¯ãƒ•ァイル終端をé€ä¿¡ (入力ã®çµ‚了) eol CHAR CHAR ã¯è¡Œæœ« � 特殊設定: N 入出力ã®é€Ÿåº¦ã‚’ N ボーã«è¨­å®š * cols N ターミナル㌠N æ¡ã§ã‚ã‚‹ã“ã¨ã‚’カーãƒãƒ«ã«é€šçŸ¥ * columns N cols N ã¨åŒã˜ � データを RFC 3548 ã§å®šç¾©ã•れ㟠base64 英字ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ‡ã‚³ãƒ¼ãƒ‰ã—ã¾ã™ã€‚ デコード時ã«ã¯å…¥åŠ›ã«ã¯æ­£å¼ãª base64 英字ã«åŠ ãˆã¦æ”¹è¡Œæ–‡å­—ãŒå«ã¾ã‚Œã¦ã„ã‚‹ å ´åˆãŒã‚りã¾ã™ã€‚入力ストリームã«ä»–ã®éžè‹±å­—ãƒã‚¤ãƒˆãŒå«ã¾ã‚Œã¦ã„ã¦å›žå¾© ã—ãŸã„å ´åˆã¯ --ignore-garbage を使用ã—ã¦ãã ã•ã„。 � 次ã®3ã¤ã®ã‚ªãƒ—ションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’ç…§åˆã™ã‚‹å ´åˆã«ã®ã¿æœ‰åйã§ã™: --quiet ファイルã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆãŒæˆåŠŸã—ãŸã¨ãã« OK を表示ã—ãªã„ --status 何も出力ã—ãªã„。終了コードã§çµæžœã‚’判別ã™ã‚‹ -w, --warn ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡Œã®æ›¸å¼ãŒä¸æ­£ãªå ´åˆã«è­¦å‘Šã‚’行ㆠ� ç½®æ›ã¯ -d ãŒä¸Žãˆã‚‰ã‚Œãšã€ SET1 ãŠã‚ˆã³ SET2 ã®ä¸¡æ–¹ãŒæŒ‡å®šã•れãŸã¨ãã«å®Ÿè¡Œã•れã¾ã™ã€‚ -t ã¯ç½®æ›ã®æ™‚ã®ã¿ä½¿ç”¨ã•れã¾ã™ã€‚SET2 ã¯å¿…è¦ã«å¿œã˜ã¦ SET1 ã®é•·ã•ã¾ã§æœ€å¾Œã®æ–‡å­—ã‚’ 繰り返ã™ã“ã¨ã§æ‹¡å¼µã•れã¾ã™ã€‚ SET2 ã®è¶…éŽã—ãŸæ–‡å­—ã¯ç„¡è¦–ã•れã¾ã™ã€‚[:lower:] ãŠã‚ˆ ã³ [:upper:] ã®ã¿ã€ç½®æ›ã«ãŠã‘ã‚‹ SET2 ã§ä½¿ç”¨ã™ã‚‹ã¨æ˜‡é †ã§ã‚ã‚‹ã“ã¨ãŒä¿è¨¼ã•れã¾ã™ã€‚ ã“れã¯å¤§æ–‡å­—ãƒ»å°æ–‡å­—ã®å¤‰æ›ã‚’指定ã™ã‚‹æ™‚ã®ã¿ã«çµ„ã¿åˆã‚ã›ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ç½®æ› ã§ã‚‚削除ã§ã‚‚ãªã„å ´åˆã¯ -s ã§ã¯ SET1 ãŒä½¿ã‚れã¾ã™ã€‚切り詰ã‚ã®å ´åˆã«ã¯ SET2 ãŒç½® æ›ã€å‰Šé™¤ã®å¾Œã«ä½¿ç”¨ã•れã¾ã™ã€‚ � -b〠-c ã¾ãŸã¯ -f ã¯ãŸã ä¸€ã¤ã®ã¿ã€ã—ã‹ã‚‚å¿…ãšä½¿ç”¨ã—ã¦ãã ã•ã„ã€‚å„ LIST ã¯ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚ŒãŸå˜ä¸€ã¾ãŸã¯è¤‡æ•°ã®ç¯„å›²ã§æ§‹æˆã•れã¾ã™ã€‚é¸æŠž ã—ãŸå…¥åŠ›ã¯èª­ã¿è¾¼ã¾ã‚ŒãŸé †ç•ªã§ãŸã ä¸€åº¦ã ã‘出力ã•れã¾ã™ã€‚ � デフォルトã¾ãŸã¯ --color=never を指定ã—ãŸå ´åˆã€ãƒ•ァイルã®ç¨®é¡žã‚’判別ã™ã‚‹ãŸã‚㮠カラー表示ã¯ç„¡åйã¨ãªã‚Šã¾ã™ã€‚ --color=auto を指定ã—ãŸå ´åˆã€æ¨™æº–出力ãŒç«¯æœ«ã«æŽ¥ç¶š ã•れã¦ã„ã‚‹å ´åˆã®ã¿ã‚«ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’出力ã—ã¾ã™ã€‚LS_COLORS 環境変数ã«ã‚ˆã£ã¦å‹•作 を設定ã§ãã¾ã™ã€‚LS_COLORS を設定ã™ã‚‹å ´åˆã¯ dircolors を使用ã—ã¦ãã ã•ã„。 � ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®šãŒãªã‹ã£ãŸã‚Š, - ã§ã‚ã£ãŸå ´åˆ, 標準入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™. � オプションãŒç„¡ã„å ´åˆã€3列ã®å‡ºåŠ›ã‚’ç”Ÿæˆã—ã¾ã™ã€‚1列目㯠FILE1 ã®ã¿ã«å«ã¾ れる行ã€2列目㯠FILE2 ã®ã¿ã«å«ã¾ã‚Œã‚‹è¡Œã€3列目ã¯ä¸¡æ–¹ã®ãƒ•ァイルã«å«ã¾ã‚Œ る行ã¨ãªã‚Šã¾ã™ã€‚ � OPTION ãŒæŒ‡å®šã•れãªã„å ´åˆã€è­˜åˆ¥æƒ…å ±ã®ã†ã¡æœ‰ç”¨ãªç‰©ã‚’表示ã—ã¾ã™ã€‚ � FILE を明確ãªè¡¨ç¾å½¢å¼ (デフォルトã¯å…«é€²æ•°) ã§æ¨™æº–å‡ºåŠ›ã«æ›¸ã出ã—ã¾ã™ã€‚ FILE ãŒ2個以上ã®å ´åˆã¯ã€è¨˜è¿°ã•れãŸé †ç•ªã§é€£çµã•れã€å…¥åŠ›ã•れã¾ã™ã€‚FILE を指定ã—ãªã„ã‹ã€ - ã®å ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ � (䏿˜Ž)� --backup[=CONTROL] ファイルを上書ãã™ã‚‹éš›ã«ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹ -b --backup åŒæ§˜ã ãŒã€å¼•æ•°ã‚’ã¨ã‚‰ãªã„ -f, --force 上書ãã®å‰ã«ç¢ºèªã‚’行ã‚ãªã„ -i, --interactive 上書ãã®å‰ã«ç¢ºèªã‚’行ㆠ-n, --no-clobber 既存ã®ãƒ•ァイルを上書ãã—ãªã„ -i, -f, -n を一ã¤ä»¥ä¸Šä½¿ç”¨ã—ãŸå ´åˆã€æœ€å¾Œã®ã‚ªãƒ—ションãŒä½¿ç”¨ã•れã¾ã™ã€‚ � --backup[=CONTROL] 対象ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹ -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å–らãªã„ -d, -F, --directory スーパーユーザãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å¯¾ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ を作æˆã™ã‚‹ã“ã¨ã‚’許å¯ã™ã‚‹ã€‚(備考: スーパーユーザ ã§ã‚ã£ã¦ã‚‚システムã®åˆ¶é™ã§å¤±æ•—ã™ã‚‹ã“ã¨ãŒã‚ã‚‹) -f, --force 対象ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«å‰Šé™¤ã™ã‚‹ � --backup[=CONTROL] コピー先ã«ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯å„ファイルã®ãƒãƒƒã‚¯ アップを作æˆã™ã‚‹ -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ããªã„ -c (無視ã•れる) -C, --compare コピー元ã¨ã‚³ãƒ”ー先ã®çµ„ã‚’ãれãžã‚Œæ¯”較ã™ã‚‹ã€‚ãれらãŒåŒã˜ å ´åˆã¯ã‚³ãƒ”ー先を変更ã—ãªã„ -d, --directory å…¨ã¦ã®å¼•数をディレクトリã¨ã—ã¦æ‰±ã†ã€‚指定ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª ã®æ§‹æˆè¦ç´ ã‚’å…¨ã¦ä½œæˆã™ã‚‹ � --batch-size=NMERGE ä¸€åº¦ã«æœ€å¤§ NMERGE 行ã€ä½µåˆã‚’行ã†ã€‚ãれ以上ã®å ´åˆ ã¯ä¸€æ™‚ファイルãŒä½¿ç”¨ã•れる � --complement é¸æŠžã•れãŸãƒã‚¤ãƒˆæ•°ã€æ–‡å­—æ•°ã¾ãŸã¯ãƒ•ィールド数㮠組を補足ã™ã‚‹ � --debug ソートã«ä½¿ç”¨ã•れã¦ã„る行ã®ä¸€éƒ¨ã«æ³¨é‡ˆã‚’ã¤ã‘ã¦ã€ä¸ç¢ºã‹ãª 使用方法ã«ã¤ã„ã¦æ¨™æº–エラー出力ã«è­¦å‘Šã‚’表示ã™ã‚‹ --files0-from=F ファイル F ã«å«ã¾ã‚ŒãŸ NULL 文字ã§åŒºåˆ‡ã‚‰ã‚ŒãŸæ–‡å­—列を ファイルåã¨ã—ã¦æ‰±ã„ã€ãれらã®ãƒ•ァイルã®ä¸­èº«ã‚’入力行 ã¨ã—ã¦èª­ã¿è¾¼ã‚€ã€‚ファイル F ã« - を指定ã—ãŸæ™‚ã¯ã€ãƒ•ã‚¡ イルåを標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€ � --files0-from=F 入力ã¨ã—㦠NULL 文字ã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ•ァイル F を使用 ã™ã‚‹ã€‚F ㌠- ã®å ´åˆã¯åå‰ã‚’標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€ -L, --max-line-length 最も長ã„行ã®é•·ã•を表示ã™ã‚‹ -w, --words å˜èªžæ•°ã‚’表示ã™ã‚‹ � --from=CURRENT_OWNER:CURRENT_GROUP ã“ã“ã§æŒ‡å®šã—ãŸç¾åœ¨ã®æ‰€æœ‰è€…やグループã¨ä¸€è‡´ã—ãŸå ´åˆã« ã®ã¿å„ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‰€æœ‰è€…ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—を変更ã™ã‚‹ã€‚ã„㚠れã‹ã¯çœç•¥å¯èƒ½ã§ã‚りã€çœç•¥ã•れãŸå±žæ€§ã¯ä¸€è‡´æ¤œæŸ»ãŒè¡Œã‚ れãªã„。 � --group-directories-first ファイルã®å‰ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’グループ化ã—ã¦è¡¨ç¤ºã™ã‚‹ã€‚ --sort オプションã®ä¸€ã¤ã¨ä½µã›ã¦ä½¿ç”¨ã™ã‚‹ãŒã€ --sort=none (-U) ã¨ä½µã›ãŸã¨ãã¯ã‚°ãƒ«ãƒ¼ãƒ—化ã—ãªã„ � --help ã“ã®ä½¿ã„方を表示ã—ã¦çµ‚了ã™ã‚‹ � --lookup æ­£å¼ãªãƒ›ã‚¹ãƒˆåã‚’ DNS ã‹ã‚‰å–å¾—ã™ã‚‹ã‚ˆã†ã«è©¦ã¿ã‚‹ -m 標準入力ã«é–¢é€£ã¥ã‘られãŸãƒ›ã‚¹ãƒˆåã¨ãƒ¦ãƒ¼ã‚¶ã®ã¿ã‚’表示ã™ã‚‹ -p, --process init ã«ã‚ˆã£ã¦èµ·å‹•ã•れãŸã‚¢ã‚¯ãƒ†ã‚£ãƒ–プロセスを表示ã™ã‚‹ � --no-preserve=ATTR_LIST 指定ã—ãŸå±žæ€§ã‚’ä¿è­·ã—ãªã„ --parents DIRECTORY é…下㧠SOURCE ファイルã®ãƒ•ルパスåを使用ã™ã‚‹ � --one-file-system 階層をå†å¸°çš„ã«å‰Šé™¤ã™ã‚‹ã¨ãã«ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数㨠異ãªã£ãŸãƒ•ァイルシステムã«ã‚るディレクトリをス キップã™ã‚‹ � --pid=PID -f ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€PID ã®ãƒ—ロセスãŒçµ‚了ã—ãŸå¾Œã«çµ‚了ã™ã‚‹ -q, --quiet, --silent 与ãˆãŸãƒ•ァイルåを示ã™ãƒ˜ãƒƒãƒ€ã‚’出力ã—ãªã„ --retry ファイルãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã‹å¦ã‹ã«é–¢ã‚らãšãƒ•ァイルを開ã ã“ã¨ã‚’試ã¿ã‚‹ã€‚ã“れ㯠--follow=name ã¨ä½µã›ã¦ä½¿ç”¨ã—〠ファイルåã§è¿½è·¡ã™ã‚‹ã¨ãã«å½¹ã«ç«‹ã¤ � --preserve-context SELinux ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ä¿æŒã™ã‚‹ -Z, --context=CONTEXT ファイルãŠã‚ˆã³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® SELinux セキュリティ コンテキストを CONTEXT ã«è¨­å®šã™ã‚‹ � --sort=WORD WORD ã«å¿œã˜ã¦ã‚½ãƒ¼ãƒˆã™ã‚‹ã€‚WORD ã®å€™è£œã¯æ¬¡ã®é€šã‚Š: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort 自然㪠(ãƒãƒ¼ã‚¸ãƒ§ãƒ³) æ•°å­—é †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹ � --sparse=WHEN スパースファイル作æˆã‚’制御ã™ã‚‹ã€‚下記をå‚ç…§ --strip-trailing-slashes å„ SOURCE 引数ã‹ã‚‰æœ«å°¾ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’å…¨ã¦å‰Šé™¤ ã™ã‚‹ � --strict --check ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ç„¡åйãªå…¥åŠ›ãŒã‚ã‚‹å ´åˆã« 0 以外ã§çµ‚了ã™ã‚‹ � --strip-trailing-slashes å„ SOURCE å¼•æ•°ã®æœ€å¾Œã«ã‚るスラッシュ (/) ã‚’å–り除ã -S, --suffix=SUFFIX 通常ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾辞を SUFFIX ã§ä¸Šæ›¸ãã™ã‚‹ � --suffix=SUFF TEMPLATE ã« SUFF を追加ã™ã‚‹ã€‚ SUFF ã«ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ãŒå«ã¾ã‚Œã¦ã¯ ã„ã‘ãªã„。ã“ã®ã‚ªãƒ—ションã§ã¯ TEMPLATE ã®æœ€å¾Œã« X ãŒå«ã¾ã‚Œã¦ã„㪠ã„ã¨æš—黙的ã«ä»®å®šã•れる。 � --tmpdir[=DIR] TEMPLATE ã‚’ DIR ã«å¯¾ã™ã‚‹ç›¸å¯¾ãƒ‘スã¨ã—ã¦æ‰±ã†ã€‚DIR ãŒæŒ‡å®š ã•れã¦ã„ãªã„å ´åˆã€$TMPDIR ãŒè¨­å®šã•れã¦ã„れã°ä½¿ç”¨ã•れる。 ãれ以外㯠/tmp ãŒä½¿ç”¨ã•れる。ã“ã®ã‚ªãƒ—ションを使用ã™ã‚‹ å ´åˆã€ TEMPLATE ã¯çµ¶å¯¾ãƒ‘スã§ã‚ã£ã¦ã¯ãªã‚‰ãªã„。 -t ã¨ç•° ãªã‚Šã€ TEMPLATE ã«ã¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ (/) ã‚’å«ã‚“ã§ã‚‚良ã„。ã—ã‹ ã—ã€mktemp ã¯æœ«ç«¯ã®è¦ç´ ã®ã¿ä½œæˆã—ã€é€”中ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ 作æˆã—ãªã„。 � --verbose å„出力ファイルを開ãå‰ã«è¨ºæ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ 表示ã™ã‚‹ � --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹ � --all å°Žå…¥ã•れã¦ã„ã‚‹ãƒ—ãƒ­ã‚»ãƒƒã‚µã®æ•°ã‚’表示ã™ã‚‹ --ignore=N å¯èƒ½ã§ã‚れ㰠N 個ã®ãƒ—ロセスユニットを無視ã™ã‚‹ � -evenp -parenb cs8 ã¨åŒã˜ * [-]lcase xcase iuclc olcuc ã¨åŒã˜ litout -parenb -istrip -opost cs8 ã¨åŒã˜ -litout parenb istrip opost cs7 ã¨åŒã˜ nl -icrnl -onlcr ã¨åŒã˜ -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret ã¨åŒã˜ � [-]ignpar パリティエラーã®ã‚る文字を無視 * [-]imaxbel 発信音を鳴らã—, 文字ã«å…¨å…¥åŠ›ãƒãƒƒãƒ•ã‚¡ã‚’åã出ã•ãªã„ [-]inlcr 改行 (LF) を復帰 (CR) ã«ç¿»è¨³ [-]inpck 入力パリティã®ãƒã‚§ãƒƒã‚¯ã‚’å¯èƒ½ã« [-]istrip å…¥åŠ›æ–‡å­—ã®æœ€ä¸Šä½ (第8) ビットをè½ã¨ã™ � cooked brkint ignpar istrip icrnl ixon opost isig ã¨åŒã˜ icanon, eof ãŠã‚ˆã³ eol æ–‡å­—ã¯æ¨™æº–ã®å€¤ -cooked raw ã¨åŒã˜ crt echoe echoctl echoke ã¨åŒã˜ � dec echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u ã¨åŒã˜ * [-]decctlq [-]ixany ã¨åŒã˜ ek erase 㨠kill 文字を標準ã®å€¤ã« evenp parenb -parodd cs7 ã¨åŒã˜ � ispeed N 入力速度を N ã«è¨­å®š * line N 回線制御è¦å‰‡ N を使用 min N -icanon ã¨å…±ã«ä½¿ã„, 完全ãªèª­è¾¼ã¿ã«å¯¾ã—ã¦æœ€ä½Ž N 文字を設定 ospeed N 出力速度を N ã«è¨­å®š � oddp parenb parodd cs7 ã¨åŒã˜ -oddp -parenb cs8 ã¨åŒã˜ [-]parity [-]evenp ã¨åŒã˜ pass8 -parenb -istrip cs8 ã¨åŒã˜ -pass8 parenb istrip cs7 ã¨åŒã˜ � raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 ã¨åŒã˜ -raw cooked ã¨åŒã˜ � sane cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke ã¨åŒã˜, å…¨ã¦ã®ç‰¹æ®Šæ–‡å­—ã¯æ¨™æº–ã®å€¤. � stop CHAR CHAR å‡ºåŠ›ã‚’åœæ­¢ susp CHAR CHAR ã¯ç«¯æœ«åœæ­¢ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡ * swtch CHAR CHAR ã¯åˆ¥ã®ã‚·ã‚§ãƒ«å±¤ã«åˆ‡ã‚Šæ›¿ãˆ * werase CHAR CHAR ã¯æœ€å¾Œã«ã‚¿ã‚¤ãƒ—ã•れãŸå˜èªžã‚’削除 � %A ロケール表示ã§ã®æ›œæ—¥ã®å®Œå…¨å (例: Sundayã€æ—¥æ›œæ—¥) %b ロケール表示ã§ã®æœˆã®çœç•¥å (例: Jan) %B ロケール表示ã§ã®æœˆã®å®Œå…¨å (例: January) %c ロケール表示ã§ã®æ—¥ä»˜ã¨æ™‚刻 (例: Thu Mar 3 23:05:25 2005) � %C 世紀。%Y ã¨åŒæ§˜ã ãŒä¸‹2æ¡ãŒçœç•¥ã•れる (例: 20) %d 月ã®ä¸­ã®ä½•日目ã‹ã‚’表ã™å€¤ (例: 01) %D 日付。 %m/%d/%y ã¨åŒæ§˜ %e スペースã§å­—幅調整ã•ã‚ŒãŸæœˆã®ä¸­ã®ä½•日目ã‹ã‚’表ã™å€¤ã€‚%_d ã¨åŒæ§˜ � %F 完全形å¼ã®æ—¥ä»˜ã€‚ %Y-%m-%d ã¨åŒæ§˜ %g ISO 週番å·ã®æœ€å¾Œã®2æ¡ (%G å‚ç…§) %G ISO 週番å·ã®å¹´éƒ¨åˆ† (%V å‚ç…§)。通常㯠%V ã¨åŒæ™‚ã«ä½¿ç”¨ã•れる � %S ç§’ (00..60) %t 水平タブ %T 時刻。%H:%M:%S ã¨åŒæ§˜ %u 週ã®ä½•日目ã‹ã‚’表ã™å€¤ (1..7); 1 ãŒæœˆæ›œæ—¥ � %U 日曜日を週åˆã‚ã¨ã—ãŸé€±ç•ªå· (00..53) %V ISO 週番å·ã€‚月曜日を週åˆã‚ã¨ã™ã‚‹ (01..53) %w 週ã®ä½•日目ã‹ã‚’表ã™å€¤ (0..6); 0 を日曜日ã¨ã™ã‚‹ %W 月曜日を週åˆã‚ã¨ã—ãŸé€±ç•ªå· (00..53) � %h %b ã¨åŒæ§˜ %H 時 (00..23) %I 時 (01..12) %j å¹´ã®é–‹å§‹æ—¥ã‹ã‚‰ã®æ—¥æ•° (001..366) � %k スペース詰ã‚ã®æ™‚ ( 0..23)。 %_H ã¨åŒæ§˜ %l スペース詰ã‚ã®æ™‚ ( 1..12)。 %_I ã¨åŒæ§˜ %m 月 (01..12) %M 分 (00..59) � %n 改行 %N ナノ秒 (000000000..999999999) %p AM ã¾ãŸã¯ PM ã®ãƒ­ã‚±ãƒ¼ãƒ«ã§ã®è¡¨ç¤ºã€‚䏿˜Žãªå ´åˆã¯ç©ºç™½ %P %p ã¨åŒæ§˜ã ãŒã€å°æ–‡å­—ã§è¡¨ç¤ºã™ã‚‹ %r ロケール12時間表示ã§ã®æ™‚刻 (例 11:11:04 PM) %R 24時間表示ã§ã®æ™‚ãŠã‚ˆã³åˆ†ã€‚%H:%M ã¨åŒæ§˜ %s 1970-01-01 00:00:00 UTC ã‹ã‚‰ã®ç§’æ•° � %x ロケール表示ã§ã®æ—¥ä»˜ (例: 12/31/99) %X ロケール表示ã§ã®æ™‚刻 (例: 23:13:48) %y 西暦ã§ã®å¹´ã®ä¸‹2æ¡ (00..99) %Y å¹´ � %z +hhmm å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -0400) %:z +hh:mm å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -04:00) %::z +hh:mm:ss å½¢å¼ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ (例: -04:00:00) %:::z å¿…è¦ãªç²¾åº¦ã«å¿œã˜ã¦ : ãŒä½¿ç”¨ã•れるタイムゾーン表示 (例: -04, +05:30) %Z 英字ã§ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³çœç•¥å½¢ (例: EDT) デフォルトã§ã¯0ã§æ—¥ä»˜ã®ç©ºç™½éƒ¨åˆ†ãŒåŸ‹ã‚られã¾ã™ã€‚ � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] FIRST_PAGE ã‹ã‚‰å°å­—ã‚’é–‹å§‹ã— LAST_PAGE ã¾ã§ã‚’å°å­—ã™ã‚‹ LAST_PAGE ã‚’çœç•¥ã—ãŸå ´åˆ, 最後ã¾ã§å°å­—ã™ã‚‹ -COLUMN, --columns=COLUMN -a を使用ã—ãªã„é™ã‚Šã€ COLUMN æ®µã®æ®µçµ„を生æˆã—ã€æ®µã®ä¸‹æ–¹ã« å‘ã‘ã¦å‡ºåŠ›ã™ã‚‹ã€‚ページ毎ã«ã‚«ãƒ©ãƒ å†…ã®è¡Œæ•°ã‚’調整ã™ã‚‹ � --output-delimiter=STR 列を STR ã§åˆ†å‰²ã™ã‚‹ � --userspec=USER:GROUP 使用ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ— (ID ã¾ãŸã¯åå‰) を指定ã—ã¾ã™ --groups=G_LIST g1,g2,..,gN å½¢å¼ã§è¿½åŠ ã®ã‚°ãƒ«ãƒ¼ãƒ—を指定ã—ã¾ã™ � -0, --null å‡ºåŠ›è¡Œã®æœ€å¾Œã«æ”¹è¡Œæ–‡å­—ã§ã¯ãªã NULL 文字を付加ã™ã‚‹ � -D DEST ã®å‰ã«ã‚ã‚‹ã™ã¹ã¦ã®æ§‹æˆè¦ç´ ã®ã†ã¡æœ€å¾Œã®ç‰©ã‚’除ã„ãŸç‰© を作æˆã—ã€ãれã‹ã‚‰ SOURCE ã‹ã‚‰ DEST ã¸ã‚³ãƒ”ーã™ã‚‹ -g, --group=GROUP ファイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ç¾åœ¨ã®ãƒ—ロセスグループã®ä»£ã‚り㫠GROUP ã«è¨­å®šã™ã‚‹ -m, --mode=MODE パーミッションを rwxr-xr-x ã§ã¯ãªã MODE (chmod ã¨åŒã˜ 指定方法) ã«è¨­å®šã™ã‚‹ -o, --owner=OWNER 所有権を設定ã™ã‚‹ (スーパーユーザーã®ã¿) � -D, --all-repeated[=delimit-method] å…¨ã¦ã®é‡è¤‡ã—ãŸè¡Œã‚’出力ã™ã‚‹ delimit-method={none(default),prepend,separate} 空白行ã§åŒºåˆ‡ã‚‹ -f, --skip-fields=N 最åˆã® N 個ã®ãƒ•ィールドを比較ã—ãªã„ -i, --ignore-case 比較ã§å¤§æ–‡å­—ã¨å°æ–‡å­—ã®é•ã„を無視ã™ã‚‹ -s, --skip-chars=N 最åˆã® N æ–‡å­—ã¯æ¯”較ã—ãªã„ -u, --unique é‡è¤‡ã—ã¦ã„ãªã„行ã®ã¿å‡ºåŠ›ã™ã‚‹ -z, --zero-terminated 行ã®çµ‚ã‚りを (改行ã§ã¯ãªã) 0 ã¨ã™ã‚‹ � -D, --date-format=FORMAT ãƒ˜ãƒƒãƒ€ã®æ—¥ä»˜ã®å½¢å¼ã¨ã—㦠FORMAT を用ã„ã‚‹ -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] 入力ã•れ㟠CHAR ã‚’å¹… WIDTH ã®ç©ºç™½ã«æ‹¡ã’ã‚‹ CHAR, WIDTH ã®æŒ‡å®šãŒãªã‘れ㰠CHAR 㯠TAB, WIDTH 㯠8 ã«å¤‰æ›´ -F, -f, --form-feed 改ページã®éš›ã«æ”¹è¡Œã§ã¯ãªã, 改ページコードを使用 (-f ã¨å…±ã« 3行分, -f を指定ã—ãªã„å ´åˆ 5行分ã®ãƒ˜ãƒƒãƒ€ã‚’出力) � -G, --no-group 詳細リスト形å¼ã®æ™‚ã«ã‚°ãƒ«ãƒ¼ãƒ—åを表示ã—ãªã„ -h, --human-readable -l ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸã¨ãã«äººé–“ãŒèª­ã¿ã‚„ã™ã„å½¢å¼ã§è¡¨ç¤ºã™ã‚‹ (例: 1K 234M 2G) --si 上ã¨åŒæ§˜ã ãŒä¹—æ•°ã®å˜ä½ã« 1024 ã®ä»£ã‚り㫠1000 を使用ã™ã‚‹ � -H, --dereference-command-line コマンド行ã§ãƒªã‚¹ãƒˆã•れãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る --dereference-command-line-symlink-to-dir コマンド行ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指ã—ã¦ã„ã‚‹ 時ã«ã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る --hide=PATTERN シェル形å¼ã® PATTERN ã«ä¸€è‡´ã™ã‚‹è¦ç´ ã¯è¡¨ç¤ºã—ãªã„ (-a ã¾ãŸã¯ -A ã§ä¸Šæ›¸ãã•れる) � -I 3 個を超ãˆã‚‹ãƒ•ァイルを削除ã™ã‚‹ã‹ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„㫠削除ã™ã‚‹å ´åˆã¯ç¢ºèªã‚’ã™ã‚‹ã€‚多ãã®é–“é•ã„を防ãŽãªãŒã‚‰ã‚‚ -i よりã¯ç¢ºèªå›žæ•°ãŒå°‘ãªããªã‚‹ --interactive[=WHEN] WHEN ã«æŒ‡å®šã—ãŸæ™‚ã«ç¢ºèªã‚’行ã†ã€‚WHEN ã¯æ¬¡ã®é€šã‚Š: never, once (-I) ã¾ãŸã¯ always (-i)。WHEN ã‚’çœç•¥ã—㟠場åˆã¯ always ã¨ã¿ãªã™ � -L FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã§ã‚ã‚‹ (-h ã¨åŒã˜) -O FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®ŸåŠ¹ãƒ¦ãƒ¼ã‚¶ ID ã«ã‚ˆã£ã¦æ‰€æœ‰ã•れã¦ã„ã‚‹ -p FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤åå‰ä»˜ãパイプã§ã‚ã‚‹ -r FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤èª­ã¿è¾¼ã¿ãŒè¨±å¯ã•れã¦ã„ã‚‹ -s FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å¤§ãã•㌠0 より大ãã„ � -L, --logical 環境ã‹ã‚‰ PWD ã‚’å–å¾—ã—ã¦ä½¿ç”¨ã™ã‚‹ã€‚シンボリックリンク㯠ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹ -P, --physical å…¨ã¦ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿る � -R, -r, --recursive å†å¸°çš„ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’コピーã™ã‚‹ --reflink[=WHEN] clone/CoW コピーを制御ã™ã‚‹ã€‚下記をå‚ç…§ --remove-destination コピー先ã«ãƒ•ァイルãŒå­˜åœ¨ã™ã‚‹å ´åˆã€é–‹ãå‰ã«å‰Šé™¤ã™ã‚‹ (--force ã¨å¯¾ç…§çš„) � -S ファイルサイズ順ã«ã‚½ãƒ¼ãƒˆã™ã‚‹ --sort=WORD åå‰é †ã®ä»£ã‚ã‚Šã«æ¬¡ã® WORD ã§æŒ‡å®šã—ãŸé †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹: none -U, extension -X, size -S, time -t, version -v --time=WORD -l ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ãƒ•ァイル更新時刻ã®ä»£ã‚ã‚Šã«æ¬¡ã® WORD ã§æŒ‡å®šã—ãŸæ™‚間を表示ã™ã‚‹: atime -u, access -u, use -u, ctime -c, ã¾ãŸã¯ status -c。 --sort=time を指定ã—ãŸå ´åˆã¯ã‚½ãƒ¼ãƒˆã®ã‚­ãƒ¼ã¨ã—㦠指定ã—ãŸæ™‚é–“ãŒä½¿ç”¨ã•れる � -S FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚½ã‚±ãƒƒãƒˆã§ã‚ã‚‹ -t FD ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ FD ãŒã‚¿ãƒ¼ãƒŸãƒŠãƒ«ä¸Šã§é–‹ã„ã¦ã„ã‚‹ -u FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ set-user-ID bit ãŒç«‹ã£ã¦ã„ã‚‹ -w FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤æ›¸ãè¾¼ã¿ãŒè¨±å¯ã•れã¦ã„ã‚‹ -x FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®Ÿè¡Œ (ã¾ãŸã¯æ¤œç´¢) ãŒè¨±å¯ã•れã¦ã„ã‚‹ � -T, --omit-pagination ヘッダや本文ã®ä½™ç™½ã‚’çœç•¥ã—ã€å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ä¸­ã®æ”¹ãƒšãƒ¼ã‚¸ã‚’ 無視ã™ã‚‹ -v, --show-nonprinting ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥(\) エスケープã®å…«é€²æ•°è¡¨è¨˜ã‚’使用ã™ã‚‹ -w PAGE_WIDTH, --width=PAGE_WIDTH 複数列ã®å‡ºåŠ›æ™‚ã®ã¿ãƒšãƒ¼ã‚¸å¹…ã‚’ PAGE_WIDTH (72) 文字ã«è¨­å®šã™ã‚‹ã€‚ -s[char] ã¯ç„¡åйã«ãªã‚‹ � -T, -w, --mesg ユーザã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸çŠ¶æ…‹ã‚’ +, - ã¾ãŸã¯ ? ã§è¿½è¨˜ -u, --users ログイン中ã®ãƒ¦ãƒ¼ã‚¶ã‚’一覧 --message -T ã¨åŒã˜ --writable -T ã¨åŒã˜ � -W, --page-width=PAGE_WIDTH -J オプションを併ã›ã¦æŒ‡å®šã—ãªã„å ´åˆã€ãƒšãƒ¼ã‚¸å¹…を常㫠PAGE_WIDTH (72) 文字ã«è¨­å®šã—ã€è¡Œã‚’切り詰ã‚る。-S ã¾ ãŸã¯ -s オプションã«ã¯å½±éŸ¿ã—ãªã„ � -W, --word-regexp=REGEXP キーワードã«å¯¾ã—㦠REGEXP ã§ä¸€è‡´ã‚’調ã¹ã‚‹ -b, --break-file=FILE ã“ã® FILE 中ã‹ã‚‰å˜èªžã‚’分割ã™ã‚‹æ–‡å­—ã‚’å–å¾— -f, --ignore-case å°æ–‡å­—を大文字ã«å¤‰ãˆã¦ä¸¦ã³æ›¿ãˆ -g, --gap-size=NUMBER 出力ã®ãƒ•ィールド間ã®åˆ—中ã®éš™é–“ã®å¤§ãã• -i, --ignore-file=FILE FILE ã‹ã‚‰ç„¡è¦–ã™ã‚‹å˜èªžä¸€è¦§ã‚’読ã¿è¾¼ã‚€ -o, --only-file=FILE ã“ã® FILE ã‹ã‚‰å˜èªžä¸€è¦§ã®ã¿ã‚’読ã¿è¾¼ã‚€ � -Z, --context=CTX 作æˆã—㟠NAME ã« SELinux セキュリティコンテキスト CTX を設定ã™ã‚‹ � -Z, --context=CTX 作æˆã—ãŸå„ NAME ã« SELinux セキュリティコンテキスト CTX を設定ã™ã‚‹ � -a アクセス日時ã®ã¿å¤‰æ›´ã™ã‚‹ -c, --no-create ファイルを作æˆã—ãªã„ -d, --date=STRING ç¾åœ¨æ™‚刻ã®ä»£ã‚り㫠STRING を解釈ã—ã¦ä½¿ç”¨ã™ã‚‹ -f (無視ã•れる) � -a, --across å„è¡Œã‚’æ®µçµ„ã®æ¨ªæ–¹å‘ã¸é †ã«å‡ºåŠ›ã™ã‚‹ã€‚-COLUMN オプションã¨å…±ã« 使用ã™ã‚‹ -c, --show-control-chars 制御文字ã«ãƒãƒƒãƒˆã‚’ã¤ã‘ (例: ^G), ãã®ä»–ã®å°å­—ä¸èƒ½ãªæ–‡å­— ã«ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ 8 進数ã§è¡¨ç¤ºã™ã‚‹ -d, --double-space 行間ã«ç©ºè¡Œã‚’挿入ã™ã‚‹ � -a, --all . ã§å§‹ã¾ã‚‹è¦ç´ ã‚’無視ã—ãªã„ -A, --almost-all . ãŠã‚ˆã³ .. を一覧表示ã—ãªã„ --author -l ã¨åˆã‚ã›ã¦ä½¿ç”¨ã—ãŸæ™‚ã€å„ファイルã®ä½œæˆè€…を表示ã™ã‚‹ -b, --escape 表示ä¸å¯èƒ½ãªæ–‡å­—ã®å ´åˆã« C å½¢å¼ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—文字を表示ã™ã‚‹ � -a, --all 先頭ã®ç©ºç™½ã ã‘ã§ãªãã€å…¨ã¦ã®ç©ºç™½ã‚’変æ›ã™ã‚‹ --first-only 空白ã®ã†ã¡æœ€åˆã®ä¸€é€£ã®ç©ºç™½ã®ã¿å¤‰æ›ã™ã‚‹ (-a より優先ã•れる) -t, --tabs=N タブ幅を 8文字ã§ã¯ãªã N 文字ã«ã™ã‚‹ (-a ãŒæœ‰åйã«ãªã‚‹) -t, --tabs=LIST タブä½ç½®ã‚’コンマã§åŒºåˆ‡ã‚‰ã‚ŒãŸ LIST ã«è¨­å®šã™ã‚‹ (-a ãŒæœ‰åйã«ãªã‚‹) � -a, --archive -dR --preserve=all ã¨åŒæ§˜ --attributes-only ファイルã®ãƒ‡ãƒ¼ã‚¿ã‚’コピーã›ãšã€ãƒ•ァイルã®å±žæ€§ã®ã¿ã‚³ãƒ”ーã™ã‚‹ --backup[=CONTROL] コピー先ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹ -b --backup ã¨åŒæ§˜ã ãŒå¼•æ•°ã‚’å—ã‘付ã‘ãªã„ --copy-contents å†å¸°æ™‚ã«ç‰¹æ®Šãƒ•ァイルã®å†…容をコピーã™ã‚‹ -d --no-dereference --preserve=links ã¨åŒæ§˜ � -b, --before 区切り文字列をレコード後ã‚ã§ã¯ãªãå‰ã«ä»˜åŠ ã™ã‚‹ -r, --regex 区切り文字列を正è¦è¡¨ç¾ã¨ã—ã¦è§£é‡ˆã™ã‚‹ -s, --separator=STRING 改行文字ã®ä»£ã‚り㫠STRING を区切り文字列ã«ã™ã‚‹ � -b, --binary ãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã§èª­ã¿è¾¼ã‚€ � -b, --binary ãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã§èª­ã¿è¾¼ã‚€ (tty 標準入力以外ã‹ã‚‰èª­ã¿è¾¼ã‚€æ™‚ã®ãƒ‡ãƒ•ォルト) � -b, --body-numbering=STYLE 本文ã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹ -d, --section-delimiter=CC è«–ç†ãƒšãƒ¼ã‚¸ã®åŒºåˆ‡ã‚Šè¨˜å·ã« CC を利用ã™ã‚‹ -f, --footer-numbering=STYLE フッタã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹ � -b, --bytes 列数ã§ã¯ãªããƒã‚¤ãƒˆæ•°ã§æ•°ãˆã‚‹ -s, --spaces 空白ã®ä½ç½®ã§æŠ˜ã‚Šè¿”ã™ -w, --width=WIDTH 80 ã®ä»£ã‚りã«å¹…ã‚’ WIDTH ã§æŒ‡å®šã™ã‚‹ � -b, --bytes=LIST ãƒã‚¤ãƒˆã§æ•°ãˆãŸ LIST ã‚’é¸æŠžã™ã‚‹ -c, --characters=LIST æ–‡å­—ã§æ•°ãˆãŸ LIST ã‚’é¸æŠžã™ã‚‹ -d, --delimiter=DELIM フィールドã®åŒºåˆ‡ã‚Šæ–‡å­—ã¨ã—㦠TAB ã®ä»£ã‚り㫠DELIM を使用ã™ã‚‹ � -b, --ignore-leading-blanks 先頭ã®ç©ºç™½ã‚’無視ã™ã‚‹ -d, --dictionary-order 空白ãŠã‚ˆã³è‹±æ•°å­—ã®ã¿å«ã¾ã‚Œã¦ã„ã‚‹ã¨ä»®å®šã™ã‚‹ -f, --ignore-case å¤§æ–‡å­—ãƒ»å°æ–‡å­—を区別ã—ãªã„ � -c --format=FORMAT デフォルトã®ä»£ã‚り㫠FORMAT ã§æŒ‡å®šã—ãŸæ›¸å¼ã§è¡¨ç¤ºã™ã‚‹ã€‚ FORMAT を使用ã—ãŸå¾Œã«ã¯æ”¹è¡Œæ–‡å­—を毎回出力ã™ã‚‹ --printf=FORMAT --format ã¨åŒæ§˜ã ãŒã€ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã‚’ 解釈ã—ã€æœ€å¾Œã«æ”¹è¡Œæ–‡å­—を出力ã—ãªã„。改行ãŒå¿…è¦ãªå ´åˆã¯ FORMAT ã« \n ã‚’å«ã‚ã‚‹å¿…è¦ãŒã‚ã‚‹ -t, --terse ç°¡æ½”ãªå½¢å¼ã§æƒ…報を表示ã™ã‚‹ � -c, --bytes=K 最後㮠K ãƒã‚¤ãƒˆã‚’出力ã™ã‚‹ã€‚-c +K ã¨ã„ã†å½¢å¼ã§æŒ‡å®šã—㟠場åˆã¯å„ファイルã®å…ˆé ­ã‹ã‚‰ K 番目ã®ãƒã‚¤ãƒˆä»¥é™ã‚’出力ã™ã‚‹ � -c, --check FILE ã‹ã‚‰ %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’読ã¿è¾¼ã¿ã€ç…§åˆã™ã‚‹ � -c, --check, --check=diagnose-first 入力ãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹ã€‚ソート ã¯è¡Œã‚ãªã„ -C, --check=quiet, --check=silent -c ã¨åŒæ§˜ã ãŒã€æ­£ã—ãソートã•れã¦ã„ãªã„æœ€åˆ ã®è¡Œã‚’出力ã—ãªã„ --compress-program=PROG PROG を使用ã—ã¦ä¸€æ™‚ファイルを圧縮ã—ã€PROG -d ã‚’ 使用ã—ã¦å±•é–‹ã™ã‚‹ � -c, --count 行ã®å‰ã«ç™ºç”Ÿå›žæ•°ã‚’出力ã™ã‚‹ -d, --repeated é‡è¤‡ã—ãŸè¡Œã®ã¿å‡ºåŠ›ã™ã‚‹ � -c, --crown-margin 先頭 2 行ã®ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã‚’ä¿è­·ã™ã‚‹ -p, --prefix=STRING STRING ã§å§‹ã¾ã‚‹è¡Œã®ã¿å†æ•´å½¢ã™ã‚‹ã€‚ 冿•´å½¢ã—ãŸè¡Œã«ã¯å…ˆé ­ã« STRING ã‚’ã¤ã‘ã‚‹ -s, --split-only é•·ã„行を分割ã™ã‚‹ã€‚ãŸã ã—インデントã¯è¡Œã‚ãªã„ � -c, --no-create ファイルを作æˆã—ãªã„ � -d, --decode データをデコードã™ã‚‹ -i, --ignore-garbage デコード時ã«éžè‹±æ•°å­—を無視ã™ã‚‹ -w, --wrap=COLS COLS æ–‡å­—ã§æ”¹è¡Œã‚’行ㆠ(デフォルト:76)。 0 を指定ã—ãŸå ´åˆã€æ”¹è¡Œã‚’行ã‚ãªã„ � -d, --delimiters=LIST タブ文字ã®ä»£ã‚りã«, LIST ã®æ–‡å­—を区切りã¨ã—ã¦ä½¿ç”¨ -s, --serial 一行毎ã§ã¯ãªã, 一度㫠1 ã¤ã®ãƒ•ァイルを貼付ã‘ã‚‹ � -d, --directory ファイルã§ã¯ãªãã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã™ã‚‹ -u, --dry-run åå‰ã®ã¿è¡¨ç¤ºã—ã€ä½•も作æˆã—ãªã„ (安全ã§ã¯ãªã„) -q, --quiet ファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä½œæˆå¤±æ•—ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’抑止ã™ã‚‹ � -e ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã™ã‚‹ -E ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã—ãªã„ (デフォルト) � -e ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã™ã‚‹ (デフォルト) -E ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ã‚ˆã‚‹ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—を解釈ã—ãªã„ � -e, --echo å„ ARG を入力行ã¨ã—ã¦æ‰±ã† -i, --input-range=LO-HI LO ã‹ã‚‰ HI ã¾ã§ã®å„数を入力行ã¨ã—ã¦æ‰±ã† -n, --head-count=COUNT 最大 COUNT 行ã¾ã§å‡ºåŠ›ã™ã‚‹ -o, --output=FILE çµæžœã‚’ (標準出力ã§ã¯ãªã) FILE ã«æ›¸ã込む --random-source=FILE ランダムãƒã‚¤ãƒˆã®ã‚½ãƒ¼ã‚¹ã‚’ FILE ã«ã™ã‚‹ -z, --zero-terminated 行末を改行文字ã§ã¯ãªã NULL 文字ã«ã™ã‚‹ � -f 短形å¼ã§ãƒ˜ãƒƒãƒ€è¡Œã‚’çœç•¥ -w 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ ã‚’çœç•¥ã™ã‚‹ -i 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ ã¨ãƒ­ã‚°ã‚¤ãƒ³å…ƒã‚’çœç•¥ -q 短形å¼ã§ãƒ¦ãƒ¼ã‚¶ã®ãƒ•ルãƒãƒ¼ãƒ , ログイン元ãŠã‚ˆã³å¾…機時間をçœç•¥ � -f -t fFã¨åŒæ§˜ã€‚æµ®å‹•å°æ•°ç‚¹ã§è¡¨ç¤ºã™ã‚‹ -i -t dIã¨åŒæ§˜ã€‚å進整数ã§è¡¨ç¤ºã™ã‚‹ -l -t dLã¨åŒæ§˜ã€‚å進長整数ã§è¡¨ç¤ºã™ã‚‹ -o -t o2ã¨åŒæ§˜ã€‚八進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹ -s -t d2ã¨åŒæ§˜ã€‚å進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹ -x -t x2ã¨åŒæ§˜ã€‚å六進数2ãƒã‚¤ãƒˆã§è¡¨ç¤ºã™ã‚‹ � -f FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤é€šå¸¸ãƒ•ァイルã§ã‚ã‚‹ -g FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ set-group-ID ã•れã¦ã„ã‚‹ -G FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤å®ŸåŠ¹ã‚°ãƒ«ãƒ¼ãƒ— ID ã«ã‚ˆã£ã¦æ‰€æœ‰ã•れã¦ã„ã‚‹ -h FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã§ã‚ã‚‹ (-L ã¨åŒã˜) -k FILE FILE ãŒå­˜åœ¨ã—ã€ã‹ã¤ã‚¹ãƒ†ã‚£ãƒƒã‚­ãƒ¼ãƒ“ットãŒç«‹ã£ã¦ã„ã‚‹ � -f, --canonicalize 与ãˆã‚‰ã‚ŒãŸåå‰ã®è¦ç´ ä¸­ã«å­˜åœ¨ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ å†å¸°çš„ã«å…¨ã¦è¾¿ã‚‹ã€‚最後ã®è¦ç´ ä»¥å¤–ã¯å­˜åœ¨ã—ãªã‘れã°ã„ã‘ ãªã„ -e, --canonicalize-existing 与ãˆã‚‰ã‚ŒãŸåå‰ã®è¦ç´ ä¸­ã«å­˜åœ¨ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ å†å¸°çš„ã«å…¨ã¦è¾¿ã‚‹ã€‚最後ã®è¦ç´ ã‚‚å«ã‚ã¦å…¨ã¦å­˜åœ¨ã—ãªã‘れ ã°ã„ã‘ãªã„ � -f, --fields=LIST LIST ã®ãƒ•ィールドã®ã¿ã‚’é¸æŠžã™ã‚‹ã€‚-s オプション㌠指定ã•れãªã„é™ã‚Šã€åŒºåˆ‡ã‚Šæ–‡å­—ã‚’å«ã¾ãªã„行も表示 ã™ã‚‹ -n (無視ã•れる) � -f, --follow[={name|descriptor}] ファイルãŒå¤§ãããªã‚‹ã«åˆã‚ã›ã¦å‡ºåŠ›ã«ãƒ‡ãƒ¼ã‚¿ã‚’追加ã™ã‚‹ -f, --follow ãŠã‚ˆã³ --follow=descriptor ã¯ç­‰ä¾¡ã«ãªã‚‹ -F --follow=name --retry ã¨ç­‰ä¾¡ � -f, --force 書ãè¾¼ã¿ãŒã§ãるよã†ã«å¿…è¦ã«å¿œã˜ã¦ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’変更ã™ã‚‹ -n, --iterations=N N 回上書ãを繰り返㙠(デフォルト: %d 回) --random-source=FILE ランダムãƒã‚¤ãƒˆã®ã‚½ãƒ¼ã‚¹ã‚’ FILE ã«ã™ã‚‹ -s, --size=N N ã§æŒ‡å®šã—ãŸãƒã‚¤ãƒˆæ•° shred を行ㆠ(接尾辞ã¨ã—㦠K, M, G ãªã© ãŒä½¿ç”¨å¯èƒ½) � -g -l ã¨åŒæ§˜ã ãŒãƒ•ァイル所有者を表示ã—ãªã„ � -g GID[,GID1...] 主グループ ID を数値 GID ã«è¨­å®šã™ã‚‹ã€‚追加グループ ID ã‚’ GID1, ... ã«è¨­å®šã™ã‚‹ (指定ã•れã¦ã„ãŸå ´åˆ) � -h, --header-numbering=STYLE ヘッダã®è¡Œç•ªå·ã‚’ STYLE ã®å½¢å¼ã«ã™ã‚‹ -i, --line-increment=NUMBER 行番å·ã®å¢—分を NUMBER ã«ã™ã‚‹ -l, --join-blank-lines=NUMBER NUMBER 個以下ã®ç©ºè¡Œã‚’一ã¤ã¨ã—ã¦æ•°ãˆã‚‹ -n, --number-format=FORMAT 行番å·ã®å‡ºåЛ形å¼ã‚’ FORMAT ã«ã™ã‚‹ -p, --no-renumber è«–ç†æ”¹ãƒšãƒ¼ã‚¸ã§è¡Œç•ªå·ã‚’リセットã—ãªã„ -s, --number-separator=STRING 行番å·ã®å¾Œã‚ã« STRING を加ãˆã‚‹ (å¯èƒ½ãªå ´åˆ) � -h, --header=HEADER ページヘッダã¨ã—ã¦ãƒ•ァイルåã®ä»£ã‚りã«ä¸­å¤®ã«é…ç½®ã—㟠HEADER を使用 ã™ã‚‹ã€‚ -h "" ã¯ç©ºè¡Œã‚’表示ã™ã‚‹ã€‚ -h"" を使用ã—ã¦ã¯ãªã‚‰ãªã„ -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] スペースをタブ幅 WIDTH (8) ã® CHAR (TAB) ã§ç½®æ›ã™ã‚‹ -J, --join-lines å…¨ã¦ã®è¡Œã‚’ä½µåˆã—ã€-W ã«ã‚ˆã‚‹è¡Œåˆ‡ã‚Šè©°ã‚をオフã€åˆ—é…置を無効ã€åŒºåˆ‡ã‚Š æ–‡å­—ã‚’ --sep-string[=STRING] ã«è¨­å®šã™ã‚‹ � -h, --human-numeric-sort 人間ãŒèª­ã‚€ã“ã¨ãŒã§ãã‚‹å½¢å¼ã®æ•°å€¤ã‚’比較ã™ã‚‹ (例: 2K 1G) � -h, --no-dereference シンボリックリンクå‚ç…§å…ˆã§ã¯ãªãシンボリック自体㫠影響を与ãˆã‚‹ (シンボリックリンクã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’ 変更ã§ãるシステムã®ã¿æœ‰åй) -m 更新日時ã®ã¿å¤‰æ›´ã™ã‚‹ � -i, --initial éžç©ºç™½é¡žæ–‡å­—ã®å¾Œã«ã‚るタブを変æ›ã—ãªã„ -t, --tabs=NUMBER ã‚¿ãƒ–ã®æ–‡å­—æ•°ã‚’ 8 個ã§ã¯ãªã NUMBER 個ã«ã™ã‚‹ � -i, --inodes ブロック使用é‡ã®ä»£ã‚り㫠iノード情報を表示ã™ã‚‹ -k --block-size=1K ã¨åŒæ§˜ -l, --local ローカルファイルシステムã®ã¿è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«åˆ¶é™ã™ã‚‹ --no-sync 使用é‡ã®æƒ…報を得るå‰ã« sync を行ã‚ãªã„ (デフォルト) � -i, --input=MODE 標準入力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹ -o, --output=MODE 標準出力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹ -e, --error=MODE 標準エラー出力ã®ãƒãƒƒãƒ•ァ動作を変更ã™ã‚‹ � -l 詳細リスト形å¼ã‚’表示ã™ã‚‹ -L, --dereference シンボリックリンクã®ãƒ•ァイル情報を表示ã™ã‚‹ã¨ã㯠リンクãã®ã‚‚ã®ã§ã¯ãªãリンクå‚ç…§å…ˆã®ãƒ•ァイル 情報を表示ã™ã‚‹ -m è¦ç´ ã®ãƒªã‚¹ãƒˆã‚’カンマã§åŒºåˆ‡ã‚Šã€ä¸€è¡Œã«è©°ã‚込む � -l, --length=PAGE_LENGTH 1ページã®è¡Œæ•°ã‚’ PAGE_LENGTH (66) ã«ã™ã‚‹ (デフォルト㯠56行ã§ã€ -F を使用ã—ãŸã¨ã㯠63 行) -m, --merge å…¨ã¦ã®ãƒ•ァイルを並列ã«å°åˆ·ã™ã‚‹ã€‚ 1 ファイル 1 列ã¨ã—〠-J オプションã§è¡Œã‚’çµåˆã—ãŸå ´åˆã‚’除ãã€è¡Œã‚’切り詰ã‚る。 � -l, --link コピーã®ä»£ã‚りã«ãƒ•ァイルã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã™ã‚‹ -L, --dereference SOURCE ã«ã‚るシンボリックリンクを常ã«ãŸã©ã‚‹ � -l, --login システムã®ãƒ­ã‚°ã‚¤ãƒ³ãƒ—ロセスを表示ã™ã‚‹ � -m, --mode=MODE ファイルã®ãƒ‘ーミッションを a=rw - umask ã§ã¯ãªãã€(chmod ã®ã‚ˆã†ã«) MODE ã«è¨­å®šã™ã‚‹ � -m, --mode=MODE ファイルã®ãƒ‘ーミッションを a=rwx - umask ã§ã¯ãªãã€(chmod ã®ã‚ˆã†ã«) MODE ã«è¨­å®šã™ã‚‹ -p, --parents ディレクトリãŒå­˜åœ¨ã—ã¦ã„ã¦ã‚‚エラーを返ã•ãªã„。必è¦ã«å¿œã˜ã¦è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã™ã‚‹ -v, --verbose ディレクトリを作æˆã™ã‚‹ã”ã¨ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹ -Z, --context=CTX 作æˆã—ãŸå„ディレクトリ㫠SELinux セキュリティコンテキスト CTX を設定ã™ã‚‹ � -n, --digits=DIGITS 2 ã®ä»£ã‚ã‚Šã«æŒ‡å®šã•ã‚ŒãŸæ•°å­—を使用ã™ã‚‹ -s, --quiet, --silent 出力ファイルã®å¤§ãã•を表示ã—ãªã„ -z, --elide-empty-files 空ã®å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‰Šé™¤ã™ã‚‹ � -n, --lines=K 最後㮠%d 行ã§ã¯ãªã K 行を出力ã™ã‚‹ã€‚-n +K ã¨ã„ã†å½¢å¼ã§æŒ‡å®š ã—ãŸå ´åˆã€å…ˆé ­ã‹ã‚‰ K 行目以é™ã‚’出力ã™ã‚‹ --max-unchanged-stats=N --follow=name ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€N (デフォルトã§ã¯ %d)回 stat を繰り返ã—ã¦ã‚‚ファイルサイズãŒå¤‰ã‚ã£ã¦ã„ãªã„å ´åˆã¯ã€ãƒ•ァイ ルã®å‰Šé™¤ã‚„åå‰ã®å¤‰æ›´ãŒè¡Œã‚れã¦ã„ãªã„ã‹ã‚’確èªã™ã‚‹ãŸã‚ã« FILE ã‚’å†ã‚ªãƒ¼ãƒ—ンã™ã‚‹ (ログファイルãŒãƒ­ãƒ¼ãƒ†ãƒ¼ãƒˆã•ã‚ŒãŸæ™‚ã«ã“ã®ã‚ˆã†ãªçŠ¶æ…‹ãŒç™ºç”Ÿã™ã‚‹)。 inotify ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã¯ã»ã¨ã‚“ã©æœ‰åйã§ã¯ãªã„ � -n, --no-clobber 存在ã™ã‚‹ãƒ•ァイルを上書ãã—ãªã„ (å‰ã«æŒ‡å®šã—㟠-i オプションを上書ãã™ã‚‹) -P, --no-dereference SOURCE ã«ã‚るシンボリックリンクを決ã—ã¦ãŸã©ã‚‰ãªã„ � -n, --numeric-sort 文字列を数値ã¨ã¿ãªã—ã¦æ¯”較ã™ã‚‹ -R, --random-sort キーã®ãƒ©ãƒ³ãƒ€ãƒ ãƒãƒƒã‚·ãƒ¥é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹ --random-source=FILE ランダムソースを FILE ã«è¨­å®šã™ã‚‹ -r, --reverse 逆順ã«ã‚½ãƒ¼ãƒˆã‚’行ㆠ� -n, --numeric-uid-gid -l ã¨åŒæ§˜ã ãŒ UID 㨠GID を数値ã§è¡¨ç¤ºã™ã‚‹ -N, --literal 生ã®è¦ç´ åを表示ã™ã‚‹ (制御文字ãªã©ã‚’特別扱ã„ã—ãªã„) -o -l ã¨åŒæ§˜ã ãŒã‚°ãƒ«ãƒ¼ãƒ—情報を表示ã—ãªã„ -p, --indicator-style=slash ディレクトリã«å¯¾ã—ã¦è­˜åˆ¥å­ / を加ãˆã¦è¡¨ç¤ºã™ã‚‹ � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] 行番å·ã‚’付ã‘る。ãã®éš›ã«ã¯ DIGITS (5) æ¡ã¨ã—ã€ãã®å¾Œ ã« SEP (TAB)を使用ã™ã‚‹ã€‚デフォルトã§ã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã® 1 行目ã‹ã‚‰æ•°ãˆå§‹ã‚ã‚‹ -N, --first-line-number=NUMBER 表示ã—ãŸæœ€åˆã®ãƒšãƒ¼ã‚¸ã®1行目を NUMBER ã¨ã—ã¦æ•°ãˆå§‹ã‚ ã‚‹ (+FIRST_PAGE ã‚’å‚ç…§) � -o, --indent=MARGIN å„行ã®ã‚ªãƒ•セットを MARGIN (zero) 個ã®ã‚¹ãƒšãƒ¼ã‚¹ã¨ã™ã‚‹ã€‚ -w ã¾ãŸã¯ -W ã«ã¯å½±éŸ¿ã—ãªã„。 MARGIN 㯠PAGE_WIDTH 㫠加算ã•れる -r, --no-file-warnings ファイルを開ã‘ãªã‹ã£ãŸã¨ãã«è­¦å‘Šã‚’表示ã—ãªã„ � -o, --io-blocks SIZE ã‚’ãƒã‚¤ãƒˆã§ã¯ãªã I/O ブロックã¨ã—ã¦æ‰±ã† � -o, --output=FILE çµæžœã‚’標準出力ã®ä»£ã‚り㫠FILE ã«æ›¸ã込む -s, --stable å‰ã®æ¯”è¼ƒçµæžœã«é ¼ã‚‰ãªã„安定的ãªä¸¦ã³æ›¿ãˆã‚’行ㆠ-S, --buffer-size=SIZE 主記憶ã®ãƒãƒƒãƒ•ã‚¡ã®å¤§ãã•ã¨ã—㦠SIZE を使用ã™ã‚‹ � -p --preserve=mode,ownership,timestamps ã¨åŒæ§˜ --preserve[=ATTR_LIST] 指定ã—ãŸå±žæ€§ã‚’ä¿è­·ã™ã‚‹ (デフォルト: mode,ownership, timestamps)。追加å¯èƒ½ãªå±žæ€§: context, links, xattr, all � -p DIR DIR を接頭辞ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã€‚ -t (éžæŽ¨å¥¨) ãŒæš—黙的ã«ä½¿ç”¨ã•れる -t TEMPLATE ã‚’ $TMPDIR (設定ã•れã¦ã„ã‚‹å ´åˆ)ã€ã¾ãŸã¯ -p オプション ã§æŒ‡ã•れã¦ã„るディレクトリã€ã¾ãŸã¯ /tmp ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã®å˜ä¸€ ファイルåè¦ç´ ã¨ã—ã¦è§£é‡ˆã™ã‚‹ (éžæŽ¨å¥¨) � -p, --preserve-timestamps DESTINATION ファイルã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ»å¤‰æ›´æ™‚刻を SOURCE ã®æ™‚刻ã«è¨­å®šã™ã‚‹ -s, --strip シンボルテーブルを strip ã™ã‚‹ --strip-program=PROGRAM ãƒã‚¤ãƒŠãƒªã‚’ strip ã™ã‚‹æ™‚ã«ä½¿ç”¨ã•れるプログラム -S, --suffix=SUFFIX ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾å­ã‚’ SUFFIX ã«ã™ã‚‹ -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ã‚³ãƒ”ーã™ã‚‹ -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã† -v, --verbose ディレクトリを作æˆã—ãŸã¨ãã«ãã®åå‰ã‚’表示ã™ã‚‹ � -q, --count ログイン中ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ­ã‚°ã‚¤ãƒ³åã¨ãƒ¦ãƒ¼ã‚¶æ•° -r, --runlevel ç¾åœ¨ã®ãƒ©ãƒ³ãƒ¬ãƒ™ãƒ«ã‚’表示 -s, --short åå‰, 行ãŠã‚ˆã³æ™‚é–“ã®ã¿ã‚’表示 (標準) -t, --time 最後ã«ã‚·ã‚¹ãƒ†ãƒ ã®æ™‚刻ãŒå¤‰æ›´ã•ã‚ŒãŸæ™‚刻を表示 � -q, --quiet, --silent ファイル毎ã®ãƒ˜ãƒƒãƒ€ãƒ¼å‡ºåŠ›ã‚’è¡Œã‚ãªã„ -v, --verbose 常ã«ãƒ•ァイル毎ã®ãƒ˜ãƒƒãƒ€ãƒ¼å‡ºåŠ›ã‚’è¡Œã† � -r, --reference=FILE FILE ã®æœ€çµ‚変更時刻を表示ã™ã‚‹ -R, --rfc-2822 RFC 2822 å½¢å¼ã§æ—¥ä»˜ã¨æ™‚刻を出力ã™ã‚‹ 例: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=RFILE サイズã¨ã—㦠RFILE ã®ã‚µã‚¤ã‚ºã‚’使用ã™ã‚‹ -s, --size=SIZE ファイルサイズを SIZE ã«è¨­å®šãƒ»èª¿æ•´ã™ã‚‹ � -r, --references å„行ã®ç¬¬1フィールドをå‚ç…§æ–‡ã¨è¦‹ãªã™ -t, --typeset-mode - 未実装 - -w, --width=NUMBER 列ã®å‡ºåŠ›å¹…ã‚’æŒ‡å®š. å‚照文を除ã„ã¦æ•°ãˆã‚‹ � -r, --reverse ソート順をå転ã•ã›ã‚‹ -R, --recursive å­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å†å¸°çš„ã«ä¸€è¦§è¡¨ç¤ºã™ã‚‹ -s, --size ブロックå˜ä½ã§å„ファイルサイズを表示ã™ã‚‹ � -s, --only-delimited 区切り文字をå«ã¾ãªã„行を出力ã—ãªã„ --output-delimiter=STRING 出力ã®åŒºåˆ‡ã‚Šæ–‡å­—ã¨ã—㦠STRING を使用 デフォルトã§ã¯å…¥åŠ›ã®åŒºåˆ‡ã‚Šæ–‡å­—を使用 � -s, --signal=SIGNAL, -SIGNAL é€ä¿¡ã•れるシグナルã®åå‰ã¾ãŸã¯ç•ªå· -l, --list シグナルåãŠã‚ˆã³ç•ªå·ã®ä¸€è¦§ -t, --table シグナル情報ã®ä¸€è¦§è¡¨ã‚’表示 � -s, --sleep-interval=N -f ã¨ä½µã›ã¦ä½¿ç”¨ã—ã€ç¹°ã‚Šè¿”ã—ã®é–“隔を約 N ç§’ (デフォルト: 1.0ç§’) ã«è¨­å®šã™ã‚‹ã€‚ inotify ãŠã‚ˆã³ --pid=P ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã€ 最低 N ç§’é–“ã« 1 回ã€ãƒ—ロセス P ã®ç¢ºèªã‚’行ã†ã€‚ -v, --verbose ファイルåを表ã™ãƒ˜ãƒƒãƒ€ã‚’常ã«å‡ºåŠ›ã™ã‚‹ � -s, --symbolic-link コピーã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’作æˆã™ã‚‹ -S, --suffix=SUFFIX 通常ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—接尾辞を上書ãã™ã‚‹ -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ã‚³ãƒ”ーã™ã‚‹ -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã† � -s[CHAR], --separator[=CHAR] 列ã®åŒºåˆ‡ã‚Šã«å˜ä¸€ã®æ–‡å­— CHAR を使用ã™ã‚‹ã€‚-w ã‚’ä½µã›ã¦æŒ‡å®šã—ãªã„ å ´åˆã€CHAR ã®ãƒ‡ãƒ•ォルト㯠<TAB> 文字ã¨ãªã‚‹ã€‚-w ã‚’ä½µã›ã¦æŒ‡å®šã— ãŸå ´åˆã€'文字ãªã—' ã¨ãªã‚‹ã€‚-s[CHAR] ã¯å…¨ã¦ã® 3列オプション (-COLUMN|-a -COLUMN|-m) ã§ -w を指定ã—ã¦ã„ã‚‹å ´åˆã‚’除ã切り詰 ã‚ãŒç„¡åйã¨ãªã‚‹ � -t ãƒ•ã‚¡ã‚¤ãƒ«æ›´æ–°æ™‚é–“ã§æ–°ã—ã„é †ã«ã‚½ãƒ¼ãƒˆã™ã‚‹ -T, --tabsize=COLS タブ幅を 8 ã®ä»£ã‚り㫠COLS ã«ã™ã‚‹ � -t -vTã¨åŒã˜ -T, --show-tabs TAB文字を`^I'ã§è¡¨ç¤º -u (無視) -v, --show-nonprinting éžè¡¨ç¤ºæ–‡å­—ã¨`^'ã‚„`^'を付ã‘ã¦è¡¨ç¤º (LFDã¨TABã¯é™¤ã) � -t, --field-separator=SEP フィールド区切り文字ã¨ã—ã¦ç©ºç™½ã®ä»£ã‚り㫠SEP を使用ã™ã‚‹ -T, --temporary-directory=DIR 一時ディレクトリã¨ã—㦠$TMPDIR ã¾ãŸã¯ %s ã§ã¯ãªã DIR を使用ã™ã‚‹ã€‚オプションを複数指定ã™ã‚‹ã¨ã€è¤‡æ•°ã®ãƒ‡ã‚£ レクトリを指定ã§ãã‚‹ --parallel=N åŒæ™‚ã«å®Ÿè¡Œã™ã‚‹ã‚½ãƒ¼ãƒˆã®æ•°ã‚’ N ã«å¤‰æ›´ã™ã‚‹ -u, --unique -c ã¨ä½µã›ã¦ä½¿ç”¨ã—ãŸå ´åˆã€å޳坆ã«é †åºã‚’確èªã™ã‚‹ã€‚-c を付㑠ãšã«ä½¿ç”¨ã—ãŸå ´åˆã€æœ€åˆã®åŒä¸€è¡Œã®ã¿å‡ºåŠ›ã™ã‚‹ � -t, --tabs=LIST コンマ(,)ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ LIST ã«ã‚¿ãƒ–ä½ç½®ã‚’設定ã™ã‚‹ � -t, --target-directory=DIRECTORY å…¨ã¦ã® SOURCE 引数を DIRECTORY ã«ç§»å‹•ã™ã‚‹ -T, --no-target-directory DEST を通常ファイルã¨ã—ã¦æ‰±ã† -u, --update SOURCE ファイルãŒç§»å‹•å…ˆã®ãƒ•ァイルより新ã—ã„ã‹ã€ 移動先ãŒå­˜åœ¨ã—ãªã„å ´åˆã®ã¿ç§»å‹•を行ㆠ-v, --verbose 実行中ã®å‹•作を表示ã™ã‚‹ � -t, --text テキストモードã§èª­ã¿è¾¼ã‚€ (tty 標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚€æ™‚ã®ãƒ‡ãƒ•ォルト) � -t, --text テキストモードã§èª­ã¿è¾¼ã‚€ (デフォルト) � -u -lt ã¨ä½¿ç”¨: アクセス時間ã§ã‚½ãƒ¼ãƒˆã€è¡¨ç¤ºã™ã‚‹ -l ã¨ä½¿ç”¨: åå‰ã§ã‚½ãƒ¼ãƒˆã—ã€ã‚¢ã‚¯ã‚»ã‚¹æ™‚間を表示ã™ã‚‹ ãã®ä»–: アクセス時間ã§ã‚½ãƒ¼ãƒˆã™ã‚‹ -U ソートをã—ãªã„。ディレクトリã«å«ã¾ã‚Œã¦ã„ã‚‹è¦ç´ é †ã§è¡¨ç¤ºã™ã‚‹ -v 自然㪠(ãƒãƒ¼ã‚¸ãƒ§ãƒ³) æ•°å­—é †ã§ã‚½ãƒ¼ãƒˆã™ã‚‹ � -u, --remove 上書ã後ã«ãƒ•ァイルを切り詰ã‚ã¨å‰Šé™¤ã‚’行ㆠ-v, --verbose 進行状æ³ã‚’表示ã™ã‚‹ -x, --exact ブロックを満ãŸã™ã‚ˆã†ã«ãƒ•ァイルサイズを切り上ã’ãªã„。通常 ファイル以外ã§ã¯ã“れãŒãƒ‡ãƒ•ォルトã®å‹•作 -z, --zero shred を行ã£ãŸã“ã¨ã‚’éš ã™ãŸã‚ã«æœ€å¾Œã« 0 ã§ä¸Šæ›¸ãã™ã‚‹ � -u, --update SOURCE ファイルãŒã‚³ãƒ”ー先ファイルより新ã—ã„㋠存在ã—ãªã„時ã ã‘コピーã™ã‚‹ -v, --verbose 実行ã—ã¦ã„ã‚‹ã“ã¨ã‚’説明ã™ã‚‹ -x, --one-file-system ã“ã®ãƒ•ァイルシステムã ã‘ã§å®Ÿè¡Œã™ã‚‹ � -v FILENUM -a FILENUM ã¨åŒæ§˜ã ãŸçµåˆã—ãŸè¡Œã‚’出力ã—ãªã„ -1 FIELD FILE1 ã® FIELD 番目ã®ãƒ•ィールドを使用ã—ã¦çµåˆã™ã‚‹ -2 FIELD FILE1 ã® FIELD 番目ã®ãƒ•ィールドを使用ã—ã¦çµåˆã™ã‚‹ --check-order 入力行ã®çµ„ã¿åˆã‚ã›ãŒå…¨ã¦å­˜åœ¨ã—ã¦ã„ãŸã¨ã—ã¦ã‚‚ã€å…¥åŠ› ãŒæ­£ã—ãä¸¦ã¹æ›¿ãˆã‚‰ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã™ã‚‹ --nocheck-order å…¥åŠ›ãŒæ­£ã—ã並ã¹ã‚‰ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã—ãªã„ --header å„ファイルã®1行目をヘッダã¨ã—ã¦æ‰±ã„ã€çµåˆã›ãšã« 表示を行ㆠ� -v, --kernel-version カーãƒãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹ -m, --machine マシンã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢åを表示ã™ã‚‹ -p, --processor プロセッサã®ç¨®é¡žã‚’表示ã™ã‚‹ã€‚䏿˜Žãªå ´åˆã¯ "unknown" ã¨ãªã‚‹ -i, --hardware-platform ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãƒ—ラットフォームを表示ã™ã‚‹ã€‚䏿˜Žãªå ´åˆã¯ "unknown" ã¨ãªã‚‹ -o, --operating-system オペレーティングシステムã®åå‰ã‚’表示ã™ã‚‹ � -v, --starting-line-number=NUMBER è«–ç†æ”¹ãƒšãƒ¼ã‚¸ã®å…ˆé ­è¡Œç•ªå·ã‚’ NUMBER ã«ã™ã‚‹ -w, --number-width=NUMBER 行番å·ã‚’表示ã™ã‚‹åˆ—å¹…ã‚’ NUMBER ã«ã™ã‚‹ � -w, --check-chars=N 行ã®ä¸­ã§ N 文字以上を比較ã—ãªã„ � -w, --width=COLS スクリーン幅ã¨ã—ã¦ç¾åœ¨ã®å€¤ã®ä»£ã‚り㫠COLS を使用ã™ã‚‹ -x è¦ç´ ã‚’列ã”ã¨ã§ã¯ãªã行ã”ã¨ã«è¡¨ç¤ºã™ã‚‹ -X æ‹¡å¼µå­ã®ã‚¢ãƒ«ãƒ•ァベット順ã«ã‚½ãƒ¼ãƒˆã™ã‚‹ -Z, --context å„ファイル㮠SELinux セキュリティコンテキストを表示ã™ã‚‹ -1 1 ファイル 1 行ã§è¡¨ç¤ºã™ã‚‹ � -z, --zero-terminated æ–‡å­—åˆ—ã®æœ€å¾Œã«æ”¹è¡Œã§ãªã NULL 文字を付加ã™ã‚‹ � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F �å¹³å‡ è² è·çއã«ã¯å‰²ã‚Šè¾¼ã¿ä¸å¯èƒ½ãª sleep 状態ã«ã‚るプロセス数も影響ã—ã¾ã™ã€‚ � [:graph:] å…¨ã¦ã®è¡¨ç¤ºå¯èƒ½æ–‡å­—。空白ã¯å«ã¾ãªã„ [:lower:] å…¨ã¦ã®å°æ–‡å­—アルファベット [:print:] å…¨ã¦ã®è¡¨ç¤ºå¯èƒ½æ–‡å­—。空白もå«ã‚€ [:punct:] å…¨ã¦ã®å¥èª­ç‚¹ [:space:] å…¨ã¦ã®æ°´å¹³åŠã³åž‚直タブ文字 [:upper:] å…¨ã¦ã®å¤§æ–‡å­—アルファベット [:xdigit:] å…¨ã¦ã®å六進数数値 [=CHAR=] å…¨ã¦ã® CHAR ã¨ç­‰ä¾¡ãªæ–‡å­— � \0NNN å…«é€²æ•°ã®æ•°å€¤ NNN (1 ã‹ã‚‰ 3 å€‹ã®æ•°å­—) \xHH åå…­é€²æ•°ã®æ•°å€¤ HH (1 ã¾ãŸã¯ 2 å€‹ã®æ•°å­—) � \NNN 八進数ã§è¡¨ç¾ã—ãŸãƒã‚¤ãƒˆ NNN (æ•°å­— 1 ã‹ã‚‰ 3 文字) \xHH å六進数ã§è¡¨ç¾ã—ãŸãƒã‚¤ãƒˆ HH (英数字 1, 2 文字) \uHHHH å六進数ã§è¡¨ç¾ã—㟠Unicode (ISO/IEC 10646) スカラー値 HHHH (4文字) \UHHHHHHHH å六進数ã§è¡¨ç¾ã—㟠Unicode スカラー値 HHHHHHHH (8 文字) � \\ ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ \a 警告 (BEL) \b ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ \c 以é™ã‚’出力ã—ãªã„ \e エスケープ \f フォームフィード \n 改行 \r キャリッジリターン \t 水平タブ \v 垂直タブ � \v 垂直タブ CHAR1-CHAR2 CHAR1 ã‹ã‚‰ CHAR2 ã¾ã§ã‚’昇順ã«å±•é–‹ã—ãŸæ–‡å­—列 [CHAR1-CHAR2] SET1 㨠SET2 ã®ä¸¡æ–¹ã§æŒ‡å®šã—ãŸå ´åˆã«ã¯ CHAR1-CHAR2 ã¨åŒã˜ [CHAR*] SET2 ã¨ã—ã¦, CHAR ã‚’ SET1 ã®é•·ã•分展開ã—ãŸæ–‡å­—列 [CHAR*REPEAT] CHAR ã‚’ REPEAT 個展開ã—ãŸæ–‡å­—列, REPEAT ã®å€¤ã‚’ 0 ã‹ã‚‰ å§‹ã‚ãŸå ´åˆã«ã¯å…«é€²æ•°ã¨ã—ã¦è§£é‡ˆã™ã‚‹ [:alnum:] å…¨ã¦ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¨æ•°å­— [:alpha:] å…¨ã¦ã®ã‚¢ãƒ«ãƒ•ァベット [:blank:] å…¨ã¦ã®æ°´å¹³æ–¹å‘空白類文字 [:cntrl:] å…¨ã¦ã®åˆ¶å¾¡æ–‡å­— [:digit:] å…¨ã¦ã®æ•°å­— � binary データã«å¯¾ã—ã¦ãƒã‚¤ãƒŠãƒªãƒ¼ I/O を使用ã™ã‚‹ � cio データã«å¯¾ã—ã¦åŒæ™‚ I/O を使用ã™ã‚‹ � d[サイズ] 符å·ä»˜ã10進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š f[サイズ] æµ®å‹•å°æ•°ç‚¹ 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š o[サイズ] 8進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š u[サイズ] 符å·ãªã—10進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š x[サイズ] 16進数 1 æ•´æ•°(integer)ã®ã‚µã‚¤ã‚ºæŒ‡å®š � direct データã«å¯¾ã—ã¦ç›´æŽ¥ I/O を使用ã™ã‚‹ � directory ディレクトリã§ç„¡ã„å ´åˆã«å¤±æ•—ã•ã›ã‚‹ � dsync データã«å¯¾ã—ã¦åŒæœŸ I/O を使用ã™ã‚‹ � excl å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹å ´åˆã«å¤±æ•—ã•ã›ã‚‹ nocreat 出力ファイルを作æˆã—ãªã„ notrunc 出力ファイルを切り詰ã‚ãªã„ noerror 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼å¾Œã‚‚継続ã™ã‚‹ fdatasync 終了å‰ã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‡ãƒ¼ã‚¿ã‚’ç‰©ç†çš„ã«æ›¸ã込む fsync 上ã¨åŒæ§˜ã ãŒãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã«å¯¾ã—ã¦ã‚‚使用ã™ã‚‹ � fullblock 入力ã®ãƒ–ロックãŒã„ã£ã±ã„ã«ãªã‚‹ã¾ã§è“„ç©ã™ã‚‹ (iflag ã®ã¿) � noatime アクセス時間を更新ã—ãªã„ � nocache キャッシュデータを破棄ã™ã‚‹ � noctty ファイルã‹ã‚‰ã®åˆ¶å¾¡ç«¯æœ«ã‚’割り当ã¦ãªã„ � nofollow シンボリックリンクをãŸã©ã‚‰ãªã„ � nolinks 複数リンクã•れã¦ã„ã‚‹å ´åˆã«å¤±æ•—ã•ã›ã‚‹ � nonblock éžãƒ–ロック I/O を使用ã™ã‚‹ � none, off ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã—ãªã„ (--backup を付ã‘ãŸæ™‚ã§ã‚‚) numbered, t 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹ existing, nil 番å·ä»˜ããƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒã‚れã°ç•ªå·ä»˜ã〠ãã†ã§ãªã‘れã°ã€simple ã§ä½œæˆã™ã‚‹ simple, never 常ã«ç°¡æ˜“ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ä½œæˆ � sync 上ã¨åŒæ§˜ã ãŒãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã«å¯¾ã—ã¦ã‚‚使用ã™ã‚‹ � text データã«å¯¾ã—ã¦ãƒ†ã‚­ã‚¹ãƒˆ I/O を使用ã™ã‚‹ � %P %H:%M � (ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—: %s)� * [-]iuclc å¤§æ–‡å­—ã‚’å°æ–‡å­—ã«ç¿»è¨³ * [-]ixany 開始文字ã ã‘ã§ãªã, ä»»æ„ã®æ–‡å­—ã§å‡ºåŠ›ã‚’å†é–‹ [-]ixoff é–‹å§‹ãŠã‚ˆã³åœæ­¢æ–‡å­—ã®é€ä¿¡ã‚’å¯èƒ½ã« [-]ixon XON/XOFF フロー制御をå¯èƒ½ã« [-]parmrk パリティーエラーをマーク (255-0 文字ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã§) [-]tandem [-]ixoff ã¨åŒã˜ � * [-]iutf8 入力文字を UTF-8 ã¨è¦‹ãªã™ � * [-]ocrnl 復帰 (CR) を改行 (LF) ã«ç¿»è¨³ * [-]ofdel ヌル文字ã®ä»£ã‚りã«åŸ‹ã‚る文字ã¨ã—ã¦å‰Šé™¤æ–‡å­—を使用 * [-]ofill é…å»¶ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã®ä»£ã‚りã«åŸ‹ã‚る文字を使用 * [-]olcuc å°æ–‡å­—を大文字ã«ç¿»è¨³ * [-]onlcr 改行 (LF) を復帰改行 (CR-LF) ã«ç¿»è¨³ * [-]onlret 改行 (LF) ãŒå¾©å¸° (CR) ã¨ã—ã¦æŒ¯èˆžã† � * [-]onocr 1æ¡ç›®ã®å¾©å¸° (CR) を表示ã—ãªã„ [-]opost プロセス後出力 * tabN 水平タブé…延スタイル. N ã®ç¯„囲㯠[0..3] * tabs tab0 ã¨åŒã˜ * -tabs tab3 ã¨åŒã˜ * vtN 垂直タブé…延スタイル. N ã®ç¯„囲㯠[0..1] � * eol2 CHAR 行末を示ã™åˆ¥ã® CHAR erase CHAR CHAR ã¯æœ€å¾Œã«ã‚¿ã‚¤ãƒ—ã•ã‚ŒãŸæ–‡å­—を削除 intr CHAR CHAR ã¯å‰²ã‚Šè¾¼ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’é€ä¿¡ kill CHAR CHAR ã¯ç¾åœ¨ã®è¡Œã‚’削除 � * lnext CHAR CHAR ã¯å¼•用ã•ã‚ŒãŸæ¬¡ã®æ–‡å­—を入力 quit CHAR CHAR ã¯çµ‚了シグナルをé€ä¿¡ * rprnt CHAR CHAR ã¯ç¾åœ¨ã®è¡Œã‚’å†è¡¨ç¤º start CHAR CHAR ã¯åœæ­¢ã—ãŸå‡ºåŠ›ã‚’å†é–‹ � * rows N タームãªã‚‹ãŒ N 行ã§ã‚ã‚‹ã“ã¨ã‚’カーãƒãƒ«ã«é€šçŸ¥ * size カーãƒãƒ«ã«å¯¾å¿œã—ãŸè¡Œæ•°ã¨æ¡æ•°ã‚’表示 speed 端末速度を表示 time N -icanon ã¨å…±ã«ä½¿ã„, 読込ã¿ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’ 10 分㮠N ç§’ã«è¨­å®š � ??:???? �端末� context=%s� groups=� 昔 � 繰り返㗠%s 回目 �% ã¯ãƒ¡ãƒ¢ãƒªã®ä½• % を使用ã™ã‚‹ã‹ã€‚b 㯠1å€ã€K 㯠1024å€ (標準)ã€‚åŒæ§˜ã« M, G, T, P, E, Z, T ãªã©ã‚‚指定ã§ãã¾ã™ã€‚ *** 警告 *** 環境変数ã«ã‚ˆã£ã¦æŒ‡å®šã•れãŸãƒ­ã‚±ãƒ¼ãƒ«ã§ä¸¦ã³æ›¿ãˆé †åºãŒå¤‰ã‚りã¾ã™ã€‚ 本æ¥ã®ãƒã‚¤ãƒˆå˜ä½ã®å€¤ã‚’使用ã—ãŸä¼çµ±çš„ãªä¸¦ã³æ›¿ãˆé †ã«ã—ãŸã„å ´åˆã€ LC_ALL=C を指定ã—ã¦ãã ã•ã„。 �%.*s: 無効ãªå¤‰æ›æŒ‡å®šã§ã™�%b %e %Y�%b %e %H:%M�%lu ユーザ�%s (æ­£è¦è¡¨ç¾ %s)�%s -> %s (復元) �%s [-d] ãŒç•°å¸¸çµ‚了ã—ã¾ã—ãŸ�%s 㨠%s ã¯åŒã˜ãƒ•ァイルã§ã™�%s ã¯å­˜åœ¨ã—ã¾ã™ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“�%s ãŒç¾ã‚Œã¾ã—ãŸã€‚æ–°ã—ã„ファイルã®çµ‚端を追跡ã—ã¾ã™�%s ã¯ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã«ãªã‚Šã¾ã—ãŸ�%s ã¯ã‚¢ã‚¯ã‚»ã‚¹ä¸èƒ½ã«ãªã‚Šã¾ã—ãŸ�%s ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ•ァイルã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯å‡¦ç†ã‚’終了ã—ã¾ã™�%s ã¯çµ‚端を追跡ã§ããªã„ファイルã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯å‡¦ç†ã‚’終了ã—ã¾ã™�%s ã¯ç½®ãæ›ãˆã‚‰ã‚Œã¾ã—ãŸã€‚æ–°ã—ã„ファイルã®çµ‚端を追跡ã—ã¾ã™�%s ã®ãƒ•ァイルタイプãŒä¸æ˜Žã§ã™�%s: ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。負ã®å¤§ãã•ã«ãªã£ã¦ã„るよã†ã§ã™�%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: <%s> �%s ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸: <http://www.gnu.org/software/%s/> �%s ã¯æœ‰åŠ¹ãªæ­£ã®æ•´æ•°ã§ã¯ã‚りã¾ã›ã‚“�%s ã¯é•·ã™ãŽã¾ã™�%s 㯠SELinux kernel ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™�%s ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ãŒ %s ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“�%s: %s ã¯å¤§ãã™ãŽã¦è¡¨ç¤ºã§ãã¾ã›ã‚“�%s: %s: 範囲外ã®è¡Œç•ªå·�%s: %s: 一致ã—ã¦ã„ã‚‹ã‚‚ã®ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“�%s: %s:%s: é †åºãŒä¸è¦å‰‡: �%s: オープンã¾ãŸã¯èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—㟠�%s: 二項演算å­ãŒäºˆæœŸã•れã¾ã™�%s: カレントディレクトリ上ã§ã®ã¿ç›¸å¯¾ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒã§ãã¾ã™�%s: éžãƒ–ロッキングモードã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ�%s: ファイルサイズを決定ã§ãã¾ã›ã‚“�%s: ユーザID %lu ã«å¯¾ã™ã‚‹ãƒ¦ãƒ¼ã‚¶åãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ �%s: ã“ã®ç¨®é¡žã®ãƒ•ァイル終端を追跡ã§ãã¾ã›ã‚“。ã“ã®ãƒ•ァイルåã«ã¤ã„ã¦ã¯å‡¦ç†ã‚’終了ã—ã¾ã™�%s: å…ƒã®ä½ç½®ã« lseek ã§æˆ»ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�%s: ディレクトリを上書ãã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�%s: å·»ãæˆ»ã—ã§ãã¾ã›ã‚“�%s: seek ã§ãã¾ã›ã‚“�%s: ファイル終端ã‹ã‚‰ã®ç›¸å¯¾ã‚ªãƒ•セット %s ã¾ã§æŽ¢æŸ» (seek) ã§ãã¾ã›ã‚“�%s: オフセット %s ã¾ã§ seek ã§ãã¾ã›ã‚“�%s: 相対オフセット %s ã¾ã§æŽ¢æŸ» (seek) ã§ãã¾ã›ã‚“�%s: 追加用ファイル記述å­ã«ã¯ shred ã§ãã¾ã›ã‚“�%s: スキップã§ãã¾ã›ã‚“�%s: 指定ã•れãŸã‚ªãƒ•セットã¾ã§ã‚¹ã‚­ãƒƒãƒ—ã§ãã¾ã›ã‚“�%s: éžãƒ–ロッキングモードをå†è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�%s: ディレクトリ %s é…下ã«å…¥ã‚Šã¾ã™ã‹? �%s: 書ãè¾¼ã¿ä¿è­·ã•れãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª %s é…下を削除ã—ã¾ã™ã‹? �%s: ファイル終了 (EOF)�%s: 等価クラス演算å­ã¯ä¸€ã¤ã®æ–‡å­—ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“�%s: ãƒ•ã‚¡ã‚¤ãƒ«åˆ‡ã‚Šè©°ã‚æ™‚ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�%s: オフセット %s ã§æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�%s: 数値ã«ã‚ˆã‚‹æŒ‡å®šã‚’ã—ã¦ä¸‹ã•ã„�%s: é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: エクステント情報ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: 書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: 削除ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­æ“作 (fcntl) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‡ãƒ¼ã‚¿åŒæœŸ (fdatasync) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ファイルãŒè² ã®å¤§ãã•ã«ãªã£ã¦ã„ã¾ã™�%s: ファイルãŒå°ã•ã縮ã‚られã™ãŽã¦ã„ã¾ã™�%s: ファイルãŒå¤§ãã™ãŽã¾ã™�%s: ファイルãŒé•·ã™ãŽã¾ã™�%s: ファイルãŒåˆ‡ã‚Šè©°ã‚られã¾ã—ãŸ�%s: ファイル状態å–å¾— (fstat) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ãƒ•ã‚¡ã‚¤ãƒ«åŒæœŸ (fsync) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ディレクトリã«å¯¾ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“�%s: 入力ã«ãƒ«ãƒ¼ãƒ—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™:�%s: 入力ã«è¦ç´ æ•°ãŒå¥‡æ•°ã®é …ç›®ãŒå«ã¾ã‚Œã¦ã„ã¾ã™�%s: 入力ファイルã¨å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒåŒã˜ã§ã™�%s: 区切り文字ã®å¾Œã«ã¯æ•´æ•°ãŒäºˆæœŸã•れã¾ã™�%s: 無効㪠IO ブロックサイズã§ã™�%s: 無効ãªãƒ—ロセス番å·ã§ã™�%s: 無効ãªå¡Šã®ç•ªå·ã§ã™�%s: %s ã®é–‹å§‹ç•ªå·ãŒç„¡åйã§ã™�%s: ç„¡åŠ¹ãªæŒ‡å®šã§ã™�%s: 無効ãªãƒ•ィールド指定ã§ã™: %s�%s: 無効ãªãƒ•ァイルサイズã§ã™�%s: 無効ãªãƒ•ァイルã®ç¨®é¡žã§ã™�%s: 無変化ã®çŠ¶æ…‹ã®æœ€å¤§æ•°ãŒç„¡åйã§ã™�%s: 無効ãªç•ªå·ã§ã™�%s: 無効ãªãƒã‚¤ãƒˆæ•°è¡¨è¨˜ã§ã™�%s: 無効ãªå¡Šã®æ•°ã§ã™�%s: 無効ãªè¡Œæ•°è¡¨è¨˜ã§ã™�%s: 無効ãªç¹°ã‚Šè¿”ã—回数ã§ã™�%s: 無効ãªç§’æ•°ã§ã™�%s: 無視ã™ã‚‹æ•°ãŒç„¡åйã§ã™�%s: 無効ãªã‚ªãƒ—ション -- '%c' �%s: 無効ãªãƒ‘ターン指定ã§ã™�%s: 無効ãªãƒ—ロセスID�%s: ç„¡åŠ¹ãªæ­£è¦è¡¨ç¾ã§ã™: %s�%s: 無効ãªã‚·ã‚°ãƒŠãƒ«ã§ã™�%s: 接尾辞ã®é•·ã•ãŒæ­£ã—ãã‚りã¾ã›ã‚“�%s: 行番å·ã¯ã‚¼ãƒ­ã‚ˆã‚Šå¤§ãã„æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“�%s: 範囲外ã®è¡Œç•ªå·�%s: ファイル走査 (lseek) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: 複数ã®ã‚·ã‚°ãƒŠãƒ«ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�%s: æ–°è¦ãƒ‘ーミッション㯠%s ã§ã™ã€‚%s ã§ã¯ã‚りã¾ã›ã‚“。�%s: %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¨ã—ã¦é©åˆ‡ãªæ›¸å¼ã®è¡ŒãŒã‚りã¾ã›ã‚“ã§ã—ãŸ�%s: ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã‚µã‚¤ã‚ºæƒ…å ±ãŒã‚りã¾ã›ã‚“�%s: æ—¢ã«ä¸€è¦§è¡¨ç¤ºã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãŸã‚一覧表示ã—ã¾ã›ã‚“�%s: ãƒã‚¤ãƒˆæ•°ãŒå¤§ãã™ãŽã¾ã™�%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ �%s: オプション '%s' ã¯æ›–昧ã§ã™: 次ã®ã‚‚ã®ãŒå¯èƒ½ã§ã™:�%s: オプション '--%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ �%s: オプション '--%s' ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ �%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ �%s: オプション '-W %s' ã¯æ›–昧ã§ã™ �%s: オプション '-W %s' ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ �%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ -- '%c' �%s: %s を上書ãã—ã¾ã™ã‹? �%s: çµŒéŽ %lu/%lu (%s)...�%s: çµŒéŽ %lu/%lu (%s)...%s�%s: çµŒéŽ %lu/%lu (%s)...%s/%s %d%%�%s: 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼�%s: %s %s を削除ã—ã¾ã™ã‹? �%s: å…¨ã¦ã®å¼•æ•°ã‚’å†å¸°çš„ã«å‰Šé™¤ã—ã¾ã™ã‹? �%s: å…¨ã¦ã®å¼•数を削除ã—ã¾ã™ã‹? �%s: 書ãè¾¼ã¿ä¿è­·ã•れãŸãƒ•ァイル %s %s を削除ã—ã¾ã™ã‹?�%s: 削除ã—ã¾ã—ãŸ�%s: 削除ã—ã¦ã„ã¾ã™�%s: %s ã«åå‰ãŒå¤‰æ›´ã•れã¾ã—ãŸ�%s: %s ã‚’ç½®ãæ›ãˆã¾ã™ã‹(yes/no)? �%s: ファイル探査 (seek) ã«å¤±æ•—ã—ã¾ã—ãŸ�%s: ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡ŒãŒå¤šã™ãŽã¾ã™�%s: %s を上書ãã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚モード %04lo (%s) を上書ãã—ã¾ã™ã‹? �%s: ファイルåã®æœ€å¤§é•·ã‚’決ã‚ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“�%s: è¦æ±‚ã•れãŸå‡¦ç†ã®å…¨ã¦ã‚’実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�%s: å˜é …演算å­ãŒäºˆæœŸã•れã¾ã™�%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“ �%s: オプション '--%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“ �%s: 値ã¯å®Œå…¨ã«ã¯å¤‰æ›ã•れã¦ã„ã¾ã›ã‚“�%s: 書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼�%s: 書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ�%s:%lu: 無効ãªè¡Œã€‚2個目ã®ãƒˆãƒ¼ã‚¯ãƒ³ãŒã‚りã¾ã›ã‚“�%s:%lu: é•·ã•㌠0 ã®ãƒ•ァイルåã¯ç„¡åйã§ã™�%s:%lu: %s ã¯èªè­˜ã§ããªã„キーワードã§ã™�'�')' 予期ã•れã¾ã™�')' ãŒäºˆæœŸã•れるã¨ã“ã‚ã« %s ãŒã‚りã¾ã™�(C)�* 一時領域ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’作æˆã™ã‚‹ãƒ•ァイルシステム。 NFS ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 クライアントãªã© * 圧縮ファイルシステム �* ログ構造ã¾ãŸã¯ã‚¸ãƒ£ãƒ¼ãƒŠãƒªãƒ³ã‚°ãƒ•ァイルシステム。AIX ã‚„ Solaris (ãŠã‚ˆã³ JFS, ReiserFS, XFS, Ext3 ãªã©) ã§æä¾›ã•れã¦ã„ã‚‹ * 冗長データを書ãè¾¼ã¿ã€æ•°å›žã®æ›¸ãè¾¼ã¿å¤±æ•—ãŒç™ºç”Ÿã—ã¦ã‚‚使用を続ã‘られるファイル システム。RAID ベースã®ãƒ•ァイルシステムãªã© * Network Appliance ã® NFS サーãƒãªã©ã‚¹ãƒŠãƒƒãƒ—ショットを作æˆã™ã‚‹ãƒ•ァイルシステム �, å¹³å‡è² è·çއ: %.2f�〠%g 秒〠%s/ç§’ �--%s ã®å¼•æ•°ã®å€¤ %s ã¯å¤§ãã™ãŽã¾ã™�--context (-Z) 㯠SELinux ãŒæœ‰åйãªã‚«ãƒ¼ãƒãƒ«ã®ã¿å‹•作ã—ã¾ã™�--filter ã¯æ¨™æº–出力ã«å‡ºåŠ›ã•れãŸå¡Šã‚’処ç†ã—ã¾ã›ã‚“�--reflink 㯠--sparse=auto ã®ã¿ã¨åˆã‚ã›ã¦ä½¿ç”¨ã§ãã¾ã™�-R --dereference 㯠-H ã¾ãŸã¯ -L ã®ã„ãšã‚Œã‹ãŒå¿…è¦ã§ã™�-R -h 㯠-P ãŒå¿…è¦ã§ã™�-ef 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“�-nt 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“�-ot 㯠-l ã‚’å—ã‘付ã‘ã¾ã›ã‚“�<内部>�(䏿˜Ž) � 䏿˜Ž�中止�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �ホストåã«å¯¾ã™ã‚‹ Address family ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。�Alarm clock�ã™ã¹ã¦ã®è¦æ±‚ãŒå®Œäº†ã—ã¾ã—ãŸ�引数ãƒãƒƒãƒ•ã‚¡ãŒå°ã•ã™ãŽã¾ã™�Arnold Robbins�残り�使用å¯�é–“é•ã£ãŸã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ«�ai_flags ã«å¯¾ã™ã‚‹èª¤ã£ãŸå€¤ã§ã™�Brian Fox�Broken pipe�ãƒã‚¹ã‚¨ãƒ©ãƒ¼�警告: shred ã¯éžå¸¸ã«é‡è¦ãªä»®å®šã«åŸºã¥ã„ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 ファイルシステムã¯ãƒ‡ãƒ¼ã‚¿ãŒå­˜åœ¨ã™ã‚‹å ´æ‰€ã«ä¸Šæ›¸ãã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚ã“れ ã¯ä¼çµ±çš„ãªæ–¹æ³•ã§ã™ãŒã€è¿‘年設計ã•れãŸå¤šãã®ãƒ•ァイルシステムã§ã¯ã“ã®ä»®å®š ã¯æº€ãŸã•れã¾ã›ã‚“ã€‚ä¸‹è¨˜ã«æŒ™ã’ã‚‹ã®ã¯ shred ãŒã‚ã¾ã‚ŠåŠ¹æžœçš„ã§ã¯ç„¡ã„ã‹ã€å…¨ã¦ ã®ãƒ¢ãƒ¼ãƒ‰ã§ shred ãŒåŠ¹æžœçš„ã§ã‚ã‚‹ã“ã¨ã‚’ä¿è¨¼ã§ããªã„ファイルシステムã®ä¾‹ã§ã™ã€‚ �コメント�CPU時間制é™ã‚’è¶…éŽã—ã¾ã—ãŸ�リンク関数を呼ã³å‡ºã—ã¦ã€å­˜åœ¨ã—ã¦ã„ã‚‹ FILE1 ã«å¯¾ã™ã‚‹ FILE2 ã¨ã„ã†åå‰ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ã¾ã™ã€‚ �指定ã—㟠FILE を削除ã™ã‚‹ãŸã‚ã« unlink 関数を呼ã³å‡ºã—ã¾ã™ã€‚ �容é‡�Chet Ramey�å­ãƒ—ロセス終了�Colin Plumb�ソートã•れãŸãƒ•ァイル FILE1 ãŠã‚ˆã³ FILE2 を一行ãšã¤æ¯”較ã—ã¾ã™ã€‚ �ファイルã€ã¾ãŸã¯æ¨™æº–入力を連çµã—ã€æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚ -A, --show-all -vETã¨åŒã˜ -b, --number-nonblank 空行を除ã„ã¦è¡Œç•ªå·ã‚’付ã‘加ãˆã‚‹ã€‚-n より優先ã•れる -e -vEã¨åŒã˜ -E, --show-ends è¡Œã®æœ€å¾Œã« $ を付ã‘加ãˆã‚‹ -n, --number å…¨ã¦ã®è¡Œã«è¡Œç•ªå·ã‚’付ã‘加ãˆã‚‹ -s, --squeeze-blank 連続ã—ãŸç©ºè¡Œã®å‡ºåŠ›ã‚’æŠ‘æ­¢ã™ã‚‹ �Context: %C �継続�æ¨™æº–å…¥åŠ›ã‚’å„ FILE ã«ã‚³ãƒ”ーã—ã€æ¨™æº–出力ã«ã‚‚出力ã—ã¾ã™ã€‚ -a, --append 指定ã•れãŸãƒ•ァイルã«è¿½åŠ ã—ã€ä¸Šæ›¸ãã—ãªã„ -i, --ignore-interrupts 割込ã¿ã‚·ã‚°ãƒŠãƒ«ã‚’無視 �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �無効ã¾ãŸã¯å¯æ¬æ€§ã®ç„¡ã„ファイルåã§ã‚ã‚‹ã‹ã©ã†ã‹è¨ºæ–­ã—ã¾ã™ã€‚ -p ã»ã¨ã‚“ã©ã® POSIX システムã«åˆã†ã‹ã©ã†ã‹ç¢ºèªã™ã‚‹ -P åå‰ãŒç©ºã§ã‚ã‚‹ã‹ã€å…ˆé ­ã« "-" ãŒã‚ã‚‹ã‹ã‚’確èªã™ã‚‹ --portability å…¨ã¦ã® POSIX システムã«åˆã†ã‹ã©ã†ã‹ã‚’確èªã™ã‚‹ (-p -P ã¨ç­‰ä¾¡) �ディレクトリ�Dmitry V. Levin�è£œåŠ©ã‚°ãƒ«ãƒ¼ãƒ—ã®æ¨©é™ã‚’ç„¡ãã—ã€ãƒ¦ãƒ¼ã‚¶ID ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ— ID を指定ã—㟠USER (数値 ã§ã®ID ã¾ãŸã¯ãƒ¦ãƒ¼ã‚¶å) ã®ã‚‚ã®ã¨ã—㦠COMMAND ã‚’ 指定ã—ãŸå¼•æ•° ARGUMENT ã§å®Ÿè¡Œ ã—ã¾ã™ã€‚終了ステータスã¯ãƒ¦ãƒ¼ã‚¶IDãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—IDãŒä½¿ç”¨ã§ããªã„å ´åˆã¯ 111 ã§ã™ã€‚ ãれ以外ã®å ´åˆã€çµ‚了ステータス㯠COMMAND ã®çµ‚了ステータスã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒ—ログラム㯠root (ユーザID ㌠0) ã§å®Ÿè¡Œã—ãŸå ´åˆã«ã®ã¿å½¹ã«ç«‹ã¡ã¾ã™ã€‚ �EMT トラップ�終了�範囲指定ã¯ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã§ã™ã€‚ N N 番目ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド。行頭を1ã¨ã™ã‚‹ N- N 番目ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールドã‹ã‚‰è¡Œæœ«ã¾ã§ N-M N 番目ã‹ã‚‰ M 番目(ã“れもå«ã‚ã‚‹)ã¾ã§ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド -M 行頭ã‹ã‚‰ M 番目(ã“れもå«ã‚ã‚‹)ã¾ã§ã®ãƒã‚¤ãƒˆã€æ–‡å­—ã¾ãŸã¯ãƒ•ィールド FILE ãŒç„¡ã„ã¾ãŸã¯ - ã®å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ �STRING を標準出力ã«å‡ºåŠ›ã™ã‚‹ -n æœ€å¾Œã«æ”¹è¡Œã‚’出力ã—ãªã„ �Eric Blake�終了コードã¯å¤±æ•—ã«ãªã‚Šã¾ã™ã€‚�çµ‚äº†ã‚³ãƒ¼ãƒ‰ã¯æˆåŠŸã«ãªã‚Šã¾ã™ã€‚�終了ステータス㯠EXPRESSION ã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã¾ã™ �F. Pinard�失敗�FIXME: unknown�FIFO ã« MAJOR ãŠã‚ˆã³ MINOR デãƒã‚¤ã‚¹ç•ªå·ã‚’指定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。�ファイルサイズ制é™ã‚’è¶…éŽã—ã¾ã—ãŸ�ファイル㯠u+rw ã‹ã‚‰ umask ã®è¨­å®šã‚’å·®ã—引ã„ãŸã‚‚ã®ãŒä½œæˆã•れã¾ã™ã€‚ ディレクトリ㯠u+rwx ã‹ã‚‰ umask ã®è¨­å®šã‚’å·®ã—引ã„ãŸã‚‚ã®ãŒä½œæˆã•れã¾ã™ã€‚ �ファイルシス�æµ®å‹•å°æ•°ç‚¹ä¾‹å¤–�å®Œå…¨ãªæ–‡æ›¸ã‚’å‚ç…§ã™ã‚‹å ´åˆã¯ info coreutils '%s invocation' を実行ã—ã¦ãã ã•ã„。 �入力行ã®ã‚るフィールドを比較ã—ã€åŒä¸€ã ã£ãŸå ´åˆã€çµåˆã—ã¦æ¨™æº–出力ã«å‡ºåŠ›ã—ã¾ã™ã€‚ スペースã§åŒºåˆ‡ã‚‰ã‚ŒãŸæœ€åˆã®ãƒ•ィールドãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§æ¯”較ã•れã¾ã™ã€‚ FILE1 ã¾ãŸã¯ FILE2 ㌠- ã®å ´åˆ(両方ã¯ä¸å¯)ã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã¾ã™ã€‚ -a FILENUM ファイル FILENUM ã‹ã‚‰ã®çµ„ã¿åˆã‚ã›ã®å¯¾å¿œã¥ã‘ãŒã§ããªã„行も 出力ã™ã‚‹ã€‚FILENUM 㯠1 ã¾ãŸã¯ 2 ã§ã‚りãれãžã‚Œ FILE1 ã¾ãŸã¯ FILE2 を表㙠-e EMPTY 入力フィールドãŒå­˜åœ¨ã—ãªã„å ´åˆ EMPTY ã§ç½®ãæ›ãˆã‚‹ �強制的ã«ãƒ‡ã‚£ã‚¹ã‚¯ã‚’変更ã•れãŸãƒ–ロックã«å¤‰æ›´ã—ã€ã‚¹ãƒ¼ãƒ‘ーブロックを更新ã™ã‚‹ã€‚ �GNU ソフトウェアを使用ã™ã‚‹éš›ã®ä¸€èˆ¬çš„ãªãƒ˜ãƒ«ãƒ—: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O å¯èƒ½�IDLE�I残り�I使用%�I使用�Ian Lance Taylor�待機�FILE を指定ã—ãªã„å ´åˆã€%s ãŒä½¿ç”¨ã•れã¾ã™ã€‚ FILE ã¨ã—ã¦ã¯ %s ãŒä¸€èˆ¬çš„ã§ã™ã€‚ �Illegal instruction�加ãˆã¦ã€ãƒ•ァイルシステムã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŠã‚ˆã³ãƒªãƒ¢ãƒ¼ãƒˆãƒŸãƒ©ãƒ¼ã«å‰Šé™¤ã§ããªã„ ファイルã®ã‚³ãƒ”ーãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ã“れã«ã‚ˆã‚Š shred ã—ãŸãƒ•ァイル ãŒå¾Œã§å¾©å…ƒã§ãã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 �実å: �ext3 ファイルシステムã®å ´åˆã¯ã€ä¸Šè¨˜ã®åˆ¶é™äº‹é … (ãŠã‚ˆã³ shred ã®åŠ¹æžœãŒé™å®šçš„ ã«ãªã£ã¦ã—ã¾ã†ã“ã¨) 㯠data=journal ãƒ¢ãƒ¼ãƒ‰ã®æ™‚ã®ã¿ç™ºç”Ÿã—ã¾ã™ã€‚ã“ã®ã¨ã㯠メタデータã«åŠ ãˆã¦ãƒ•ァイルデータもジャーナルãŒè¡Œã‚れã¾ã™ã€‚ data=ordered (デフォルト) ãŠã‚ˆã³ data=writeback モードã®å ´åˆã€shred ã¯é€šå¸¸é€šã‚Šå‹•作ã—ã¾ã™ã€‚ ext3 ã®ã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ãƒ¢ãƒ¼ãƒ‰ã¯ mount ã®ã‚ªãƒ—ション㫠data=... オプションを与ãˆã‚‹ ã“ã¨ã«ã‚ˆã£ã¦å¤‰æ›´ã•れã¾ã™ã€‚ファイルシステムã®ã‚ªãƒ—ション㯠/etc/fstab ファイル ã«è¨˜è¿°ã•れã¾ã™ã€‚詳細ã¯ãƒžãƒ‹ãƒ¥ã‚¢ãƒ« (man mount) ã«è¨˜è¿°ã•れã¦ã„ã¾ã™ã€‚ �ç„¡é™ B�æƒ…å ±è¦æ±‚�Iノード�割り込ã¿�シグナル割り込ã¿ãŒç™ºç”Ÿã—ã¾ã—ãŸ�無効ãªå‰æ–¹å‚ç…§ã§ã™�ç„¡åŠ¹ãªæ–‡å­—クラスåã§ã™�無効ãªç…§åˆæ–‡å­—ã§ã™�\{\} ã®ä¸­èº«ãŒç„¡åйã§ã™�無効ãªå‰æ–¹æ­£è¦è¡¨ç¾ã§ã™�無効ãªç¯„囲終了ã§ã™�ç„¡åŠ¹ãªæ­£è¦è¡¨ç¾ã§ã™�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�強制終了�端末�LOGIN�ログイン�ログインå: �Mark Kettenis�Matthew Bradburn�メモリé…ç½®ã«å¤±æ•—ã—ã¾ã—ãŸ�ãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�マウントä½ç½®�åå‰�åå‰�åå‰ã¾ãŸã¯ã‚µãƒ¼ãƒ“スãŒä¸æ˜Žã§ã™�ホストåã«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã›ã‚“�一致ã—ã¾ã›ã‚“�以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚りã¾ã›ã‚“�åå‰è§£æ±ºã§ãƒªã‚«ãƒãƒªã§ããªã„失敗ãŒç™ºç”Ÿã—ã¾ã—ãŸ�完了�切り詰ã‚を繰り返ã•ãªã„ã§å‰Šé™¤ã™ã‚‹æ™‚ã¯æ–‡å­—列ã¯ä¸€ã¤ã ã‘å—ã‘付ã‘られã¾ã™�ä¸¦ã³æ›¿ãˆã‚ªãƒ—ション: �ãã®ã»ã‹ã®ã‚ªãƒ—ション: �環境変数 LS_COLORS ã®å®šç¾©ã™ã‚‹ãŸã‚ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’出力ã—ã¾ã™ã€‚ å‡ºåŠ›ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®æ±ºå®š: -b, --sh, --bourne-shell Bourne シェル形å¼ã§ LS_COLORS を出力ã™ã‚‹ -c, --csh, --c-shell C シェル形å¼ã§ LS_COLORS を出力ã™ã‚‹ -p, --print-database デフォルト値を標準出力ã«è¡¨ç¤ºã™ã‚‹ �シェルスクリプトã§ä½¿ç”¨ã—ã‚„ã™ã„å½¢å¼ã§ãƒ—ラットフォームä¾å­˜ã®åˆ¶é™ã‚’出力ã—ã¾ã™ã€‚ �ç¾åœ¨èª°ãŒãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹ã‹ã«ã¤ã„ã¦ã¯ FILE ã«åŸºã¥ã„ã¦å‡ºåŠ›ã•れã¾ã™ã€‚ FILE を指定ã—ãªã„å ´åˆã€%s ãŒä½¿ç”¨ã•れã¾ã™ã€‚ FILE ã¨ã—ã¦ã¯ %s ãŒä¸€èˆ¬çš„ã§ã™ã€‚ �PID�パッケージ作æˆè€…: %s �パッケージ作æˆè€…: %s (%s) �Padraig Brady�ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãƒ¼æ–‡å­—åˆ—ãŒæ­£ã—ãエンコードã•れã¦ã„ã¾ã›ã‚“�Paul Eggert�Paul Rubin�Pete TerMaat�プラン: �é›»æºã‚¨ãƒ©ãƒ¼�æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚了ã—ã¾ã—ãŸ�ARGUMENT ã‚’ FORMAT ã«å¾“ã£ã¦è¡¨ç¤ºã™ã‚‹ã‹ OPTION ã«å¾“ã£ã¦å®Ÿè¡Œã—ã¾ã™: �å„ FILE ã® CRC ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŠã‚ˆã³ãƒã‚¤ãƒˆæ•°ã‚’表示ã—ã¾ã™ã€‚ �システム情報を表示ã—ã¾ã™ã€‚ OPTION ãŒæŒ‡å®šã•れã¦ã„ãªã„å ´åˆã¯ -s ã¨åŒã˜ã§ã™ã€‚ -a, --all 以下ã®é †ç•ªã§ã‚·ã‚¹ãƒ†ãƒ æƒ…報を全ã¦è¡¨ç¤ºã™ã‚‹ (ãŸã ã— -p 㨠-i ㌠unknown ã®å ´åˆã¯çœç•¥ã•れる): -s, --kernel-name カーãƒãƒ«åを表示ã™ã‚‹ -n, --nodename ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒŽãƒ¼ãƒ‰ã¨ã—ã¦ã®ãƒ›ã‚¹ãƒˆåを表示ã™ã‚‹ -r, --kernel-release カーãƒãƒ«ãƒªãƒªãƒ¼ã‚¹ç•ªå·ã‚’表示ã™ã‚‹ �å„ FILE ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¨ãƒ–ロック数を表示ã—ã¾ã™. -r BSD å½¢å¼ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ 1K ãƒã‚¤ãƒˆã®ãƒ–ロックを使用ã—ã¾ã™ -s, --sysv System V å½¢å¼ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ 512 ãƒã‚¤ãƒˆã®ãƒ–ロックを使用ã—ã¾ã™ �å„ USERNAME ãŒæ‰€å±žã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—を表示ã—ã¾ã™ã€‚USERNAME ãŒæŒ‡å®šã•れãªã„å ´åˆã¯ ç¾åœ¨ã®ãƒ—ロセス (ã“れã¯ã‚°ãƒ«ãƒ¼ãƒ—データベースãŒå¤‰æ›´ã•れãŸå ´åˆã«ã¯ç•°ãªã‚‹å ´åˆ ãŒã‚りã¾ã™) ã«é–¢ã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚ �ç¾åœ¨ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„るユーザã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¾ã™ã€‚ �マシンã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã‚’表示ã—ã¾ã™ã€‚ �å„ FILE ã®æ”¹è¡Œã€å˜èªžæ•°ãŠã‚ˆã³ãƒã‚¤ãƒˆæ•°ã‚’表示ã—ã¾ã™ã€‚ FILE ãŒè¤‡æ•°æŒ‡å®šã•れ㟠場åˆã¯è¡Œæ•°ã®åˆè¨ˆã‚‚表示ã—ã¾ã™ã€‚ FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€ FILE ㌠- ã®å ´åˆã€ 標準入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚å˜èªžã¯ç©ºç™½é¡žæ–‡å­—ã§åŒºåˆ‡ã‚‰ã‚ŒãŸé•·ã•㌠0 ã§ãªã„文字 列ã§ã™ã€‚ æ•°ãˆã¦è¡¨ç¤ºã™ã‚‹ã‚‚ã®ã‚’é¸æŠžã™ã‚‹ãŸã‚ã«ä¸‹è¨˜ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã§ãã¾ã™ã€‚è¡¨ç¤ºã¯ å¸¸ã«æ¬¡ã®é †ã§ã™: 改行数ã€å˜èªžæ•°ã€æ–‡å­—æ•°ã€ãƒã‚¤ãƒˆæ•°ã€è¡Œã®æœ€å¤§é•·ã€‚ -c, --bytes ãƒã‚¤ãƒˆæ•°ã‚’表示ã™ã‚‹ -m, --chars 文字数を表示ã™ã‚‹ -l, --lines æ”¹è¡Œã®æ•°ã‚’表示ã™ã‚‹ �ç¾åœ¨æ™‚刻ã€ã‚·ã‚¹ãƒ†ãƒ èµ·å‹•ã‹ã‚‰ã®æ™‚é–“ã€ã‚·ã‚¹ãƒ†ãƒ ä¸Šã«ã„るユーザ数ã€ãŠã‚ˆã³ ç›´è¿‘1ã€5ã€15分間ã®å®Ÿè¡Œã‚­ãƒ¥ãƒ¼ã«å­˜åœ¨ã™ã‚‹ã‚¸ãƒ§ãƒ–ã®å¹³å‡æ•°ã‚’表示ã—ã¾ã™ã€‚�æ¨™æº–å…¥åŠ›ã«æŽ¥ç¶šã•れã¦ã„る端末ã®ãƒ•ァイルåを表示ã—ã¾ã™ã€‚ -s, --silent, --quiet 何も出力ã—ãªã„。終了ステータスã®ã¿è¿”ã™ �ç¾åœ¨ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ•ルパスåを表示ã—ã¾ã™ã€‚ �ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶åを表示ã—ã¾ã™ã€‚ �ç¾åœ¨ã®ãƒ—ロセスã§ä½¿ç”¨å¯èƒ½ãªãƒ—ãƒ­ã‚»ã‚¹ãƒ¦ãƒ‹ãƒƒãƒˆã®æ•°ã‚’表示ã—ã¾ã™ã€‚ã“ã®æ•°ã¯ç¾åœ¨ オンラインã«ãªã£ã¦ã„るプロセッサ数より少ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。 �指定ã•れãŸå„æ•´æ•° NUMBER ã®ç´ å› æ•°ã‚’表示ã—ã¾ã™ã€‚コマンドラインã«ä½•も指定㕠れãªã„å ´åˆã¯æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ �ç¾åœ¨ã®å®ŸåŠ¹ãƒ¦ãƒ¼ã‚¶ ID ã«å¯¾å¿œã—ãŸãƒ¦ãƒ¼ã‚¶åを表示ã—ã¾ã™ã€‚ id -un ã¨ç­‰ä¾¡ã§ã™ã€‚ �USERNAME ã§æŒ‡å®šã•れãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã®æƒ…報を表示ã—ã¾ã™ã€‚USERNAME ãŒæŒ‡å®šã•れãªã„ å ´åˆã¯ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…報を表示ã—ã¾ã™ã€‚ -a 無視ã•れる。他ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã®äº’æ›æ€§ã®ãŸã‚存在ã—ã¦ã„ã‚‹ -Z, --context ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®ã¿è¡¨ç¤ºã™ã‚‹ -g, --group 実効グループ ID ã®ã¿è¡¨ç¤ºã™ã‚‹ -G, --groups å…¨ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ— ID を表示ã™ã‚‹ -n, --name -ugG ã§åå‰ã®ä»£ã‚ã‚Šã«æ•°å€¤ã‚’表示ã™ã‚‹ -r, --real -ugG ã§å®Ÿåй ID ã®ä»£ã‚りã«å®Ÿ IDを表示ã™ã‚‹ -u, --user 実効ユーザー ID ã®ã¿è¡¨ç¤ºã™ã‚‹ �シンボリックリンクã®å€¤ã¾ãŸã¯æ­£è¦åŒ–ã•れãŸãƒ•ァイルåを表示ã—ã¾ã™ã€‚ �è¦æ±‚ã•れãŸå‡¦ç†ã¯å®Ÿè¡Œä¸­ã§ã™�プロファイリングタイマーãŒçµ‚了ã—ã¾ã—ãŸ�プロジェクト: �Q. Frank Xia�終了�Randy Smith�リアルタイムシグナル %d�æ­£è¦è¡¨ç¾ãŒå¤§ãã™ãŽã¾ã™�中身ãŒç©ºã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª DIRECTORY を削除ã—ã¾ã™ã€‚ --ignore-fail-on-non-empty ディレクトリãŒç©ºã§ãªã„ãŸã‚削除ã«å¤±æ•—ã—ãŸå ´åˆã€ãã®ã‚¨ãƒ©ãƒ¼ ã ã‘を無視ã™ã‚‹ �%s ã®ãƒã‚°ã¯ <%s> ã«å ±å‘Šã—ã¦ãã ã•ã„。 �%s ã®ç¿»è¨³ã«é–¢ã™ã‚‹ãƒã‚°ã¯ <http://translationproject.org/team/ja.html> ã«é€£çµ¡ã—ã¦ãã ã•ã„。 �è¦æ±‚ãŒã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã—ãŸ�è¦æ±‚ãŒã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã›ã‚“ã§ã—ãŸ�リソースãŒç„¡ããªã‚Šã¾ã—ãŸ�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�ルートディレクトリを NEWROOT ã«è¨­å®šã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚ �HUP シグナルを無視ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—㦠COMMAND を実行ã—ã¾ã™ã€‚ �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�ai_socktype ã«å¯¾ã—㦠Servname ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�å•題を回é¿ã™ã‚‹ãŸã‚ã« LC_ALL='C' を指定ã—ã¦ãã ã•ã„.�シェル: �Simon Josefsson�サイズ�スペシャルファイルを作æˆã™ã‚‹æ™‚ã¯ã€MAJOR ãŠã‚ˆã³ MINOR デãƒã‚¤ã‚¹ç•ªå·ã‚’ 指定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。�スタックエラー�åœæ­¢�åœæ­¢ (シグナル)�åœæ­¢ (tty 入力)�åœæ­¢ (tty 出力)�Stuart Kemp�æˆåŠŸ�システムエラー�時間�åå‰è§£æ±ºã«ä¸€æ™‚çš„ã«å¤±æ•—ã—ã¾ã—ãŸ�Terminated�比較ã—ãŸæ–‡å­—列㯠%s 㨠%s ã§ã™.�Torbjorn Granlund�Trace/breakpoint trap�終端ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥�標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚“ã æ–‡å­—ã‚’ç½®æ›ã€åˆ‡ã‚Šè©°ã‚ã€å‰Šé™¤ã—ã€æ¨™æº–å‡ºåŠ›ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ -c, --complement SET1 ã®è£œé›†åˆã‚’使用ã™ã‚‹ -d, --delete SET1 ä¸­ã®æ–‡å­—を削除ã™ã‚‹ã€‚ç½®æ›ã¯è¡Œã‚ãªã„ -s, --squeeze-repeats 入力ã®ä¸­ã« SET1 ã«å«ã¾ã‚Œã‚‹æ–‡å­—ãŒé€£ç¶šã—ã¦å­˜åœ¨ã™ã‚‹ å ´åˆã« 1 個ã«ç½®æ›ã™ã‚‹ -t, --truncate-set1 最åˆã« SET1 ã‚’ SET2 ã®é•·ã•ã¾ã§åˆ‡ã‚Šè©°ã‚ã‚‹ �削除ãŠã‚ˆã³åˆ‡ã‚Šè©°ã‚ã®ç¹°ã‚Šè¿”ã—を両方ã¨ã‚‚行ã†ã¨ãã¯æ–‡å­—列を2個与ãˆãªã‘れã°ã„ã‘ã¾ã›ã‚“。�ç½®æ›ã‚’行ã†ã¨ãã¯2å€‹ã®æ–‡å­—列を与ãˆãªã‘れã°ã„ã‘ã¾ã›ã‚“�タイプ�Ulrich Drepper�䏿˜Žãªã‚¨ãƒ©ãƒ¼�䏿˜Žãªã‚·ã‚°ãƒŠãƒ« %d�䏿˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼�( ã¾ãŸã¯ \( ãŒä¸ä¸€è‡´ã§ã™�) ã¾ãŸã¯ \) ãŒä¸ä¸€è‡´ã§ã™�[ ã¾ãŸã¯ [^ ãŒä¸ä¸€è‡´ã§ã™�\{ ãŒä¸ä¸€è‡´ã§ã™�緊急 I/O 状態�使用法: %s �使用法: %s COMMAND [ARG]... ã¾ãŸã¯: %s OPTION �使用法: %s CONTEXT COMMAND [args] ã¾ãŸã¯: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �使用法: %s EXPRESSION ã¾ãŸã¯: %s OPTION �使用法: %s FILE ã¾ãŸã¯: %s OPTION �使用法: %s FILE1 FILE2 ã¾ãŸã¯: %s OPTION �使用法: %s FORMAT [ARGUMENT]... ã¾ãŸã¯: %s OPTION �使用法: %s OPTION... COMMAND �使用法: %s OPTION... FILE... �使用法: %s OPTION... [FILE]... �使用法: %s [-F DEVICE | --file=DEVICE] [SETTING]... ã¾ãŸã¯: %s [-F DEVICE | --file=DEVICE] [-a|--all] ã¾ãŸã¯: %s [-F DEVICE | --file=DEVICE] [-g|--save] �使用法: %s [-WIDTH] [OPTION]... [FILE]... �使用法: %s [-s SIGNAL | -SIGNAL] PID... ã¾ãŸã¯: %s -l [SIGNAL]... ã¾ãŸã¯: %s -t [SIGNAL]... �使用法: %s [FILE]... ã¾ãŸã¯: %s [OPTION] �使用法: %s [NAME] ã¾ãŸã¯: %s OPTION ç¾åœ¨ã®ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ›ã‚¹ãƒˆåを表示ã—ã¾ã™ã€‚ �使用法: %s [NUMBER]... ã¾ãŸã¯: %s OPTION �使用法: %s [OPERAND]... ã¾ãŸã¯: %s OPTION �使用法: %s [OPTION] �使用法: %s [OPTION] ç¾åœ¨ã®ãƒ›ã‚¹ãƒˆã®è­˜åˆ¥ç”¨æ•°å€¤ (å六進数) を表示ã—ã¾ã™ã€‚ �使用法: %s [OPTION] DURATION COMMAND [ARG]... ã¾ãŸã¯: %s [OPTION] �使用法: %s [OPTION] NEWROOT [COMMAND [ARG]...] ã¾ãŸã¯: %s OPTION �使用法: %s [OPTION] [COMMAND [ARG]...] �使用法: %s [OPTION] [FILE] FILE 内ã«å«ã¾ã‚Œã¦ã„る部分的ã«é †åºã¥ã‘られãŸé …目を使用ã—ã¦ã€å®Œå…¨ã«é †åºã¥ã‘られãŸä¸€è¦§ を作æˆã—ã€å‡ºåŠ›ã‚’è¡Œã„ã¾ã™ã€‚ FILE ãŒæŒ‡å®šã•れãªã„ã‹ã€- ã®å ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ �使用法: %s [OPTION]... �使用法: %s [OPTION]... CONTEXT FILE... ã¾ãŸã¯: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE... �使用法: %s [OPTION]... DIRECTORY... �使用法: %s [OPTION]... FILE PATTERN... �使用法: %s [OPTION]... FILE... �使用法: %s [OPTION]... FILE1 FILE2 �使用法: %s [OPTION]... GROUP FILE... ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE... �使用法: %s [OPTION]... LAST ã¾ãŸã¯: %s [OPTION]... FIRST LAST ã¾ãŸã¯: %s [OPTION]... FIRST INCREMENT LAST �使用法: %s [OPTION]... MODE[,MODE]... FILE... ã¾ãŸã¯: %s [OPTION]... OCTAL-MODE FILE... ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE... �使用法: %s [OPTION]... NAME TYPE [MAJOR MINOR] �使用法: %s [OPTION]... NAME... �使用法: %s [OPTION]... SET1 [SET2] �使用法: %s [OPTION]... [ FILE | ARG1 ARG2 ] �使用法: %s [OPTION]... [+FORMAT] ã¾ãŸã¯: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �使用法: %s [OPTION]... [-T] SOURCE DEST ã¾ãŸã¯: %s [OPTION]... SOURCE... DIRECTORY ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY SOURCE... �使用法: %s [OPTION]... [-T] SOURCE DEST ã¾ãŸã¯: %s [OPTION]... SOURCE... DIRECTORY ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY SOURCE... ã¾ãŸã¯: %s [OPTION]... -d DIRECTORY... �使用法: %s [OPTION]... [-T] TARGET LINK_NAME (1番目ã®å½¢å¼) ã¾ãŸã¯: %s [OPTION]... TARGET (2番目ã®å½¢å¼) ã¾ãŸã¯: %s [OPTION]... TARGET... DIRECTORY (3番目ã®å½¢å¼) ã¾ãŸã¯: %s [OPTION]... -t DIRECTORY TARGET... (4番目ã®å½¢å¼) �使用法: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �使用法: %s [OPTION]... [FILE] �使用法: %s [OPTION]... [FILE] ã¾ãŸã¯: %s -e [OPTION]... [ARG]... ã¾ãŸã¯: %s -i LO-HI [OPTION]... �使用法: %s [オプション]... [ファイル]... �使用法: %s [OPTION]... [FILE]... ã¾ãŸã¯: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] ã¾ãŸã¯: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �使用法: %s [OPTION]... [FILE]... ã¾ãŸã¯: %s [OPTION]... --files0-from=F �使用法: %s [OPTION]... [FILE]... %s (%d-bit) ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’表示ã¾ãŸã¯ç…§åˆã—ã¾ã™ã€‚ FILE ã®æŒ‡å®šãŒç„¡ã„ã‹ã€ - ãŒæŒ‡å®šã•れãŸå ´åˆã€æ¨™æº–入力ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚ �使用法: %s [OPTION]... [INPUT [OUTPUT]] �使用法: %s [OPTION]... [INPUT [PREFIX]] �使用法: %s [OPTION]... [INPUT]... (-G ãªã—) ã¾ãŸã¯: %s -G [OPTION]... [INPUT [OUTPUT]] �使用法: %s [OPTION]... [OWNER][:[GROUP]] FILE... ã¾ãŸã¯: %s [OPTION]... --reference=RFILE FILE... �使用法: %s [OPTION]... [TEMPLATE] �使用法: %s [OPTION]... [USERNAME] �使用法: %s [OPTION]... [USERNAME]... �使用法: %s [OPTION]... [USER]... �使用法: %s [OPTION]... [VARIABLE]... 指定ã—ãŸç’°å¢ƒå¤‰æ•° VARIABLE ã®å€¤ã‚’表示ã—ã¾ã™ã€‚VARIABLE を指定ã—ãªã„å ´åˆã¯å…¨ã¦ã® 環境変数ã®åå‰ã¨å€¤ã‚’表示ã—ã¾ã™ã€‚ �使用法: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... ã¾ãŸã¯: %s LONG-OPTION �使用法: %s [SHORT-OPTION]... [STRING]... ã¾ãŸã¯: %s LONG-OPTION �使用法: %s [STRING]... ã¾ãŸã¯: %s OPTION �使用法: %s [コマンドライン引数ã¯ç„¡è¦–ã•れã¾ã™] ã¾ãŸã¯: %s OPTION �使用法: test EXPRESSION ã¾ãŸã¯: test ã¾ãŸã¯: [ EXPRESSION ] ã¾ãŸã¯: [ ] ã¾ãŸã¯: [ OPTION �使用%�使用�ユーザー定義シグナル1�ユーザー定義シグナル2�有効ãªå¼•æ•°:�仮想タイマーãŒçµ‚了ã—ã¾ã—ãŸ�警告: ディレクトリ構造ãŒå¾ªç’°ã—ã¦ã„ã¾ã™ ã“れã¯ãƒ•ァイルシステムãŒç ´æã—ã¦ã„ã‚‹ã«ã»ã¨ã‚“ã©ç­‰ã—ã„状態ã§ã™ã€‚ **管ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„** 以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå¾ªç’°ã—ã¦ã„る一部ã§ã™: %s �警告: --context (-Z) ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚カーãƒãƒ«ã§ SELinux ãŒæœ‰åйã§ã¯ã‚りã¾ã›ã‚“�警告: --preserve-context ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚カーãƒãƒ«ã§ SELinux ãŒæœ‰åйã§ã¯ã‚りã¾ã›ã‚“�警告: -s ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ãªã„ãŸã‚ --strip-program オプション㯠無視ã•れã¾ã™�警告: �開始時刻�ログイン元�Window ãŒå¤‰æ›´ã•れã¾ã—ãŸ�--follow (-f) を使用ã™ã‚‹ã¨ã€tail ã¯ãƒ‡ãƒ•ォルトã§ãƒ•ァイル記述å­ã‚’追跡ã—ã¾ã™ã€‚ ã“ã®ãŸã‚ tail ã§è¿½è·¡ã—ã¦ã„るファイルã®åå‰ãŒå¤‰æ›´ã•れãŸã¨ã—ã¦ã‚‚〠tail 㯠元ã®ãƒ•ァイルã®çµ‚端を追跡ã—ç¶šã‘ã¾ã™ã€‚ã“ã®ãƒ‡ãƒ•ォルトã®å‹•作ã¯ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ ã§ã¯ãªãã€å®Ÿéš›ã«ã‚ã‚‹åå‰ã‚’æŒã¤ãƒ•ァイルを追跡ã™ã‚‹å ´åˆã«ã¯æœ›ã¾ã—ãã‚りã¾ã› ã‚“ (例: ログã®ãƒ­ãƒ¼ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©)。ãã®ã‚ˆã†ãªå ´åˆã«ã¯ --follow=name を使 用ã—ã¦ãã ã•ã„。ã“れã«ã‚ˆã‚Šåå‰ã®å¤‰æ›´ã€å‰Šé™¤ã€ä½œæˆãªã©ã«ã‚ã‚ã›ã¦åå‰ã®ã¤ã„ãŸ ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ«å°¾ã‚’追跡ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ �作者 %s ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠%s〠%s〠%s〠%s〠%s〠%s〠ãŠã‚ˆã³ä»–ã®æ–¹ã€…。 �作者 %s〠%s〠%s〠%s〠%s〠%s〠%s〠%sã€ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠%s〠%s〠%s〠%s〠ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠%s〠%s〠%sã€ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠%s〠%sã€ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠%sã€ãŠã‚ˆã³ %s。 �作者 %s〠%s〠%s〠ãŠã‚ˆã³ %s。 �作者 %s〠%sã€ãŠã‚ˆã³ %s。 �作者 %s。 �ç½®æ›ã®æ™‚ã«ã¯ã€2å€‹ç›®ã®æ–‡å­—列中㧠[=c=] å½¢å¼ã®è¡¨ç¾ã¯ã§ãã¾ã›ã‚“�キーã«å¯¾ã—㦠^ ãŒä¸€è‡´ã—ã¾ã›ã‚“ �^[nN]�^[yY]�`�優先度を指定ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’与ãˆãªãã¦ã¯ã„ã‘ã¾ã›ã‚“�ai_family ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�ai_socktype ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�%2$s ã«å¯¾ã™ã‚‹å¼•æ•° %1$s ãŒæ›–昧ã§ã™�フィールドをæ“作ã™ã‚‹å ´åˆã®ã¿å…¥åŠ›åŒºåˆ‡ã‚Šæ–‡å­—ã‚’æŒ‡å®šã§ãã¾ã™�出力を %s ã«è¿½è¨˜ã—ã¾ã™�%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã¨å…ƒãƒ•ァイルãŒå£Šã‚Œã¾ã™ -- %s をコピーã—ã¾ã›ã‚“ã§ã—ãŸ�%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã¨å…ƒãƒ•ァイルãŒå£Šã‚Œã¾ã™ -- %s を移動ã—ã¾ã›ã‚“ã§ã—ãŸ�ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—タイプ�ブロックスペシャルファイル�ブロックスペシャルファイルã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�ブロック�両方ã®ãƒ•ァイルを標準入力ã«ã¯ã§ãã¾ã›ã‚“�ãƒã‚¤ãƒˆã‚ªãƒ•セット %s ãŒå¤§ãã™ãŽã¾ã™�ラベルãŒä»˜ã‘られã¦ã„ãªã„ファイル %s ã«éƒ¨åˆ†çš„ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’é©ç”¨ã§ãã¾ã›ã‚“�プロセスã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“�%s ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“�%s ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã¾ã›ã‚“�åˆè¨ˆã¨å…¨ã‚¨ãƒ³ãƒˆãƒªã®è¡¨ç¤ºã®ä¸¡æ–¹ã‚’ã€ä¸€åº¦ã«æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�%s ã®æ‰€æœ‰æ¨©ã‚’変更ã§ãã¾ã›ã‚“�%s ã®ãƒ‘ーミッションを変更ã§ãã¾ã›ã‚“�ルートディレクトリを %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“�ディレクトリ %s ã«ç§»å‹•ã§ãã¾ã›ã‚“�ルートディレクトリã«ç§»å‹•ã§ãã¾ã›ã‚“�--target-directory (-t) 㨠--no-target-directory (-T) ã‚’åŒæ™‚ã«æŒ‡å®šã§ãã¾ã›ã‚“�--target-directory ãŠã‚ˆã³ --no-target-directory ã¯çµ„ã¿åˆã‚ã›ã¦ä½¿ç”¨ã§ãã¾ã›ã‚“�-e 㨠-i ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�asciiã€ebcdicã€ibm ã®ã©ã®2個も組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�block 㨠unblock を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�direct 㨠nocache を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�excl 㨠nocreat を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�lcase 㨠ucase を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�モード㨠--reference ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“�-l ã¾ãŸã¯ -t ã¨ã‚·ã‚°ãƒŠãƒ«ã‚’組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�ファイルå %s ãŠã‚ˆã³ %s を比較ã§ãã¾ã›ã‚“�U+%04X をローカル文字セットã«å¤‰æ›ã§ãã¾ã›ã‚“�U+%04X をローカル文字セット %s ã«å¤‰æ›ã§ãã¾ã›ã‚“�ディレクトリ %s を自分自身 %s ã«ã‚³ãƒ”ーã§ãã¾ã›ã‚“�循環ã™ã‚‹ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ %s ã¯ã‚³ãƒ”ーã§ãã¾ã›ã‚“�ディレクトリ %s を作æˆã§ãã¾ã›ã‚“�fifo %s を作æˆã§ãã¾ã›ã‚“�%s ã‹ã‚‰ %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“�%2$s ã¸ã®ãƒªãƒ³ã‚¯ %1$s を作æˆã§ãã¾ã›ã‚“�通常ファイル %s を作æˆã§ãã¾ã›ã‚“�特殊ファイル %s を作æˆã§ãã¾ã›ã‚“�シンボリックリンク %s を作æˆã§ãã¾ã›ã‚“�%s ã‹ã‚‰ %s ã¸ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“�一時ファイルを %s 内ã«ä½œæˆã§ãã¾ã›ã‚“�%s ã‚’å‚ç…§ã§ãã¾ã›ã‚“�%s ã®ãƒ‡ãƒã‚¤ã‚¹ã¨ i ノードを決定ã§ãã¾ã›ã‚“�ホストåを特定ã§ãã¾ã›ã‚“�%s ã®ä½ç½®ãŒæ±ºå®šã§ãã¾ã›ã‚“。ãƒãƒ¼ãƒªãƒ³ã‚°ã«æˆ»ã‚Šã¾ã™�%s ã§ ioctl を実行ã§ãã¾ã›ã‚“�グループ ID %lu ã®ã‚°ãƒ«ãƒ¼ãƒ—åãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“�%s ã‚’åå‰ã§è¿½è·¡ã§ãã¾ã›ã‚“�ターゲットã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«å¼·åˆ¶çš„ã«è¨­å®šã§ãã¾ã›ã‚“。ãã®ã¾ã¾ç¶­æŒ ã•れã¾ã™�%s ã‚’ fstat ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�カレントディレクトリをå–å¾—ã§ãã¾ã›ã‚“�優先度をå–å¾—ã§ãã¾ã›ã‚“�システムåã‚’å–å¾—ã§ãã¾ã›ã‚“�%s ã®ã®ã‚µã‚¤ã‚ºã‚’å–å¾—ã§ãã¾ã›ã‚“�lseek %s ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚‚シンボリックリンクも作æˆã§ãã¾ã›ã‚“�ディレクトリ %s を作æˆã§ãã¾ã›ã‚“�%s ã‹ã‚‰ %s ã¸ç§»å‹•ã§ãã¾ã›ã‚“�%s を自分自身ã®ã‚µãƒ–ディレクトリ %s ã«ç§»å‹•ã§ãã¾ã›ã‚“�ディレクトリをディレクトリ以外ã«ç§»å‹•ã§ãã¾ã›ã‚“: %s -> %s�%s ã‚’ 読ã¿è¾¼ã¿ç”¨ã«é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“�%s を書ãè¾¼ã¿ç”¨ã«é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“�ディレクトリ %s ã‚’é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“�å‚ç…§å…ˆãŒãªã„シンボリックリンク %s ã‚’æ“作ã§ãã¾ã›ã‚“�ディレクトリ %s をディレクトリ以外ã§ä¸Šæ›¸ãã§ãã¾ã›ã‚“�ディレクトリã§ã¯ãªã„ %s をディレクトリ %s ã§ä¸Šæ›¸ãã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�書å¼è¨­å®šã‚’行ã£ãŸå‡ºåŠ›ã‚’å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�拡張属性をä¿è­·ã§ãã¾ã›ã‚“。cp ㌠xattr サãƒãƒ¼ãƒˆãªã—ã§ä½œæˆã•れã¦ã„ã¾ã™�SELinux ãŒæœ‰åйãªã‚«ãƒ¼ãƒãƒ«ä»¥å¤–ã§ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ä¿è­·ã§ãã¾ã›ã‚“�å˜ä¸€é …ç›®ã®ã¿è¡¨ç¤ºã™ã‚‹ã‚ªãƒ—ションを複数指定ã§ãã¾ã›ã‚“�標準ã®å½¢å¼ã§ã¯, åå‰ã¾ãŸã¯ ID ã ã‘を表示ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæŒ‡å®šã•ã‚ŒãŸæ™‚ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’表示ã§ãã¾ã›ã‚“�ディレクトリ %s を読ã¿è¾¼ã‚ã¾ã›ã‚“�ファイルåã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚€ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“�%s ã«é–¢ã™ã‚‹ãƒ•ァイルシステム情報を読ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“�å®Ÿæ™‚é–“ã®æ™‚計を読ã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�シンボリックリンク %s を読ã¿è¾¼ã‚ã¾ã›ã‚“�マウントã•れã¦ã„るファイルシステムã®ãƒ†ãƒ¼ãƒ–ルを読ã‚ã¾ã›ã‚“�%s を削除ã§ãã¾ã›ã‚“�ディレクトリを削除ã§ãã¾ã›ã‚“: %s�%s ã«å¯¾ã™ã‚‹ãƒ•ァイルãƒã‚¤ãƒ³ã‚¿ã‚’å†é…ç½®ã§ãã¾ã›ã‚“�%s を実行ã§ãã¾ã›ã‚“�%s を設定ã§ãã¾ã›ã‚“�日時を設定ã§ãã¾ã›ã‚“�グループ ID ã‚’ %lu ã«è¨­å®šã§ãã¾ã›ã‚“�ホストåを設定ã§ãã¾ã›ã‚“。ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã¯ãƒ›ã‚¹ãƒˆå設定機能ãŒã‚りã¾ã›ã‚“。�åå‰ã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“�優先度を設定ã§ãã¾ã›ã‚“�%s ã®æ™‚刻を設定ã§ãã¾ã›ã‚“�ユーザ ID ã‚’ %lu ã«è¨­å®šã§ãã¾ã›ã‚“�入力ã®çµ‚端を越ãˆã¦èª­ã¿ã¨ã°ã™äº‹ã¯ã§ãã¾ã›ã‚“�COMMAND 㨠--null (-0) ã‚’åŒæ™‚ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�æ®µçµ„ã®æ¨ªæ–¹å‘å°åˆ·(-a)ã¨ä¸¦åˆ—å°åˆ·ã‚’åŒæ™‚指定ã§ãã¾ã›ã‚“.�並列ã«å°åˆ·ã™ã‚‹ã¨ãã«ã¯åˆ—数を指定ã§ãã¾ã›ã‚“�時刻を2カ所以上ã‹ã‚‰å–å¾—ã™ã‚‹ã‚ˆã†ã«ã¯æŒ‡å®šã§ãã¾ã›ã‚“�複数ã®åˆ†å‰²æ–¹æ³•ã¯æŒ‡å®šã§ãã¾ã›ã‚“�%s ã‚’ stat ã§ãã¾ã›ã‚“�カレントディレクトリを stat ã§ãã¾ã›ã‚“ (ç¾åœ¨ %s )�æ¨™æº–å…¥åŠ›ã®æƒ…報をå–å¾— (stat) ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�%s ã« touch ã§ãã¾ã›ã‚“�%s を復元ã§ãã¾ã›ã‚“�%s を削除 (unlink) ã§ãã¾ã›ã‚“�%s ã‚’éžè¨­å®šã«ã§ãã¾ã›ã‚“�%s を監視ã§ãã¾ã›ã‚“�%s ã®è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’監視ã§ãã¾ã›ã‚“�最終的ã«ã‚«ãƒ¼ãƒãƒ«ãƒã‚°ã‚’回é¿ã§ãã¾ã›ã‚“�%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã—ã¾ã—㟠�%s ã®æ‰€æœ‰è€…ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã—ã¾ã—㟠�%s ã®ã‚°ãƒ«ãƒ¼ãƒ—を変更中�%s ã®æ‰€æœ‰è€…を変更中�%s ã®ãƒ‘ーミッションを変更ã—ã¦ã„ã¾ã™�%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’変更ã—ã¦ã„ã¾ã™ �文字ã®ã‚ªãƒ•セットãŒã‚¼ãƒ­ã§ã™�ç¯„å›²å¤–ã®æ–‡å­—�キャラクタスペシャルファイル�キャラクタスペシャルファイルã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�%s ã®ãƒ‘ーミッションを消去ã—ã¦ã„ã¾ã™�時刻ã®å¤‰æ›´�クローズã«å¤±æ•—ã—ã¾ã—ãŸ�%s (fd=%d) ã‚’é–‰ã˜ã¦ã„ã¾ã™�ディレクトリ %s ã‚’é–‰ã˜ã¦ã„ã¾ã™�入力ファイル %s ã‚’é–‰ã˜ã¦ã„ã¾ã™�入力パイプを閉ã˜ã¦ã„ã¾ã™�出力ファイル %s ã‚’é–‰ã˜ã¦ã„ã¾ã™�出力パイプを閉ã˜ã¦ã„ã¾ã™�以å‰ã®ãƒ‘イプを閉ã˜ã¦ã„ã¾ã™�標準入力を閉ã˜ã¦ã„ã¾ã™�互æ›ãƒ¢ãƒ¼ãƒ‰ã§ã¯ 1 個ã®ãƒ•ァイルã—ã‹ä½¿ç”¨ã§ãã¾ã›ã‚“�ç©ºã®æ–‡å­—列を置æ›ã™ã‚‹æ–‡å­—列ãŒç«¶åˆã—ã¦ã„ã¾ã™�与ãˆã‚‰ã‚ŒãŸã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆæŒ‡å®šãŒç«¶åˆã—ã¦ã„ã¾ã™�%s ã®ãƒãƒƒãƒ•ァリングモードを %s ã«è¨­å®šã§ãã¾ã›ã‚“ �プロセス %s -d を作æˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�一時ファイルを作æˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�%s を実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�%s -d を実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�%s ã®ä¸­ã« i ノードãŒä¸€è‡´ã—ã¦ã„るディレクトリãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“�起動時刻をå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ�ディレクトリ %s を作æˆã—ã¾ã—ãŸ�ディレクトリ %s を作æˆã—ã¦ã„ã¾ã™�ファイル %s を作æˆã—ã¦ã„ã¾ã™ �区切り LIST ãŒã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•れã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã§çµ‚了ã—ã¦ã„ã¾ã™: %s�ディレクトリ�ゼロã§ã®å‰²ã‚Šç®—�dup2 ã«å¤±æ•—ã—ã¾ã—ãŸ�空㮠%s ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“�ファイルåãŒç©ºã§ã™�タブãŒç©ºã§ã™�ファイルクローズエラー�æ­£è¦è¡¨ç¾æ¤œç´¢ä¸­ã®ã‚¨ãƒ©ãƒ¼�æ­£è¦è¡¨ç¾ã«ã‚ˆã‚‹æ¤œç´¢ä¸­ã®ã‚¨ãƒ©ãƒ¼�æœˆã®æ–‡å­—åˆ—åˆæœŸåŒ–時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�inotify イベントを監視中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�%s ã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼�inotify イベントã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�コマンド待機中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ�%s ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼�FILE=%s ã§å®Ÿè¡Œã—ã¦ã„ã¾ã™ �終了=�%s: 余分ãªå¼•æ•°ã§ã™�ä½™åˆ†ãªæ¼”ç®—å­ %s�追加ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ %s 㯠-%c ã¨ä½µã›ã¦ä½¿ç”¨ã§ãã¾ã›ã‚“�%s ã®æ­£è¦åŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“�%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—㟠�%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—㟠�%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ %04lo (%s) ã‹ã‚‰ %04lo (%s) ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—㟠�%s ã®æ‰€æœ‰è€…変更ã«å¤±æ•—ã—ã¾ã—㟠�%s ã®æ‰€æœ‰è€…ã‚’ %s ã‹ã‚‰ %s ã¸å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—㟠�%s ã®æ‰€æœ‰è€…ã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—㟠�%s ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’変更 (chdir) ã§ãã¾ã›ã‚“ã§ã—ãŸ�%2$s ã‹ã‚‰ %1$s ã¸ã®è¤‡è£½ã«å¤±æ•—ã—ã¾ã—ãŸ�入力パイプを閉ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ�æ–°ã—ã„コンテキストを計算ã§ãã¾ã›ã‚“ã§ã—ãŸ�テンプレート %s ã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作æˆã§ãã¾ã›ã‚“�テンプレート %s ã‹ã‚‰ãƒ•ァイルを作æˆã§ãã¾ã›ã‚“�ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ %s ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã‹ã‚‰ %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�%.0s%s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�パイプã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�セキュリティコンテキストã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ: %s�シンボリックリンク %s ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã‹ã‚‰ %s ã¸ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ�キャッシュ破棄ã«å¤±æ•—ã—ã¾ã—ãŸ: %s�%s ã®æ‹¡å¼µã«å¤±æ•—ã—ã¾ã—ãŸ�%s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ�%s ã®å±žæ€§æƒ…報をå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ�ç¾åœ¨ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ�ファイルシステム作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ�ç¾åœ¨ã®ãƒ—ロセスã®ã‚°ãƒ«ãƒ¼ãƒ—å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ�ユーザー %s ã®ã‚°ãƒ«ãƒ¼ãƒ—å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ�ファイル %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ�%s ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ�%s ã®ä½œæˆè€…ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®æ‰€æœ‰è€…ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®ãƒ‘ーミッションã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ�標準エラー出力ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ�標準エラー出力を /dev/null ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�%s を削除ã§ãã¾ã›ã‚“�ディレクトリ %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸ�標準入力ãŒä½¿ç”¨ã§ããªã„ãŸã‚å–り込むã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ�%s をモード %s ã§å†åº¦é–‹ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ�デフォルトã®ãƒ•ァイル作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã®å¾©å…ƒã«å¤±æ•—ã—ã¾ã—ãŸ�åˆæœŸä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ�コマンド %s ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ�コマンド実行ã«å¤±æ•—ã—ã¾ã—ãŸ: "%s -c %s"�%s セキュリティコンテキストコンãƒãƒ¼ãƒãƒ³ãƒˆã‚’ %s ã«è¨­å®šå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸ�環境変数 FILE ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ�追加ã®ã‚°ãƒ«ãƒ¼ãƒ—を設定ã§ãã¾ã›ã‚“ã§ã—ãŸ�デフォルトã®ãƒ•ァイル作æˆã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�グループ ID ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ�æ–°ã—ã„レンジ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�æ–°ã—ã„ロール %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�æ–°ã—ã„タイプ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�æ–°ã—ã„ユーザ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�追加グループã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ�exec æ™‚ã«æ¨™æº–エラー出力ã®ã‚³ãƒ”ーを閉ã˜ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ�%s ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’ %s ã«è¨­å®šã§ãã¾ã›ã‚“ã§ã—ãŸ�ユーザー ID ã®è¨­å®šã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã®å±žæ€§æƒ…報をå–å¾— (stat) ã§ãã¾ã›ã‚“ã§ã—ãŸ�O_DIRECT をオフã«ã§ãã¾ã›ã‚“ã§ã—㟠: %s�環境を %s ã«æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ�%s ã«å¯¾ã™ã‚‹ fdatasync ã«å¤±æ•—ã—ã¾ã—ãŸ�fflush ã«å¤±æ•—ã—ã¾ã—ãŸ�ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ç•ªå· %s ãŒå¤§ãã™ãŽã¾ã™�フィールド番å·ãŒã‚¼ãƒ­ã§ã™�フィールドã¨ä½ç½®ã¯1ã‹ã‚‰å§‹ã¾ã‚‹ç•ªå·ã§ã™�fifo�ファイル %d ãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�ファイルオペランド㨠--files0-from ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“�ファイルオペランド㨠--print-database (-p) を組ã¿åˆã‚ã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�%s å½¢å¼ãƒ•ァイルシステムãŒé¸æŠž/éžé¸æŠžã®ä¸¡æ–¹ã§æŒ‡å®šã•れã¾ã—ãŸ�fork システムコールãŒå¤±æ•—ã—ã¾ã—ãŸ�FORMAT %s ㌠%% ã§çµ‚了ã—ã¦ã„ã¾ã™�FORMAT %s ã« %% 指定ãŒã‚りã¾ã›ã‚“�FORMAT %s ã« %% 指定ãŒå¤šã™ãŽã¾ã™�FORMAT %s ã«ä¸æ˜Žãª %%%c 指定ãŒã‚りã¾ã™�ç­‰ã—ã„å¹…ã®æ–‡å­—列を表示ã™ã‚‹ã¨ãã« FORMAT 文字列を指定ã§ããªã„ã‹ã‚‚ã—れã¾ã›ã‚“�%s ã«å¯¾ã™ã‚‹ fsync ã«å¤±æ•—ã—ã¾ã—ãŸ�fts_close ã«å¤±æ•—ã—ã¾ã—ãŸ�fts_read ã«å¤±æ•—ã—ã¾ã—ãŸ�fts_read ã«å¤±æ•—ã—ã¾ã—ãŸ: %s�%s ã®æ–°ãŸãªå±žæ€§æƒ…報をå–得中�%s ã®ã‚°ãƒ«ãƒ¼ãƒ—㯠%s ã®ã¾ã¾ä¿ç•™ã•れã¾ã—㟠�iconv é–¢æ•°ãŒæœ‰åйã§ã¯ã‚りã¾ã›ã‚“�iconv 関数ãŒä½¿ãˆã¾ã›ã‚“�ID=�å…¨ã¦ã®å¼•数を無視ã—ã¾ã™�入力を無視ã—ã¾ã™�入力を無視ã—ã€å‡ºåŠ›ã‚’ %s ã«è¿½è¨˜ã—ã¾ã™�標準入力を無視ã—ã€æ¨™æº–エラー出力を標準出力ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™�環境変数 TABSIZE ã®å€¤(%s) ãŒä¸é©åˆ‡ãªã‚¿ãƒ–サイズãªã®ã§ç„¡è¦–ã—ã¾ã™�環境変数 QUOTING_STYLE ã®å€¤(%s)ãŒä¸é©åˆ‡ãªã®ã§ç„¡è¦–ã—ã¾ã™�環境変数 COLUMNS ã®å€¤(%s) ãŒä¸é©åˆ‡ãªè¡Œå¹…ãªã®ã§ç„¡è¦–ã—ã¾ã™�éžã‚ªãƒ—ション引数を無視ã—ã¾ã™�çµåˆã™ã‚‹ãƒ•ィールドãŒä¸å®Œå…¨ã§ã™ %luã€%lu�äº’æ›æ€§ã®ãªã„タブã§ã™�inotify を使用ã§ãã¾ã›ã‚“。ãƒãƒ¼ãƒªãƒ³ã‚°ã«æˆ»ã‚Šã¾ã™�inotify 資æºã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ�入力ãŒç„¡ããªã‚Šã¾ã—ãŸ�入力ファイルãŒé•·ã™ãŽã¾ã™�デãƒã‚¤ã‚¹é–“移動失敗: %s ã‹ã‚‰ %s 。移動先を削除ã§ãã¾ã›ã‚“�--%s ã®å¼•æ•° %s ãŒç„¡åйã§ã™�%s: 無効ãªå„ªå…ˆåº¦ã§ã™�%s: 無効ãªå¼•æ•°ã§ã™�%2$s ã«å¯¾ã™ã‚‹å¼•æ•° %1$s ãŒé–“é•ã£ã¦ã„ã¾ã™�ç„¡åŠ¹ãªæœ¬æ–‡ç•ªå·æ›¸å¼ã§ã™: %s�%2$s ã«å¯¾ã™ã‚‹ãƒãƒƒãƒ•ァリングモード %1$s ã¯ç„¡åйã§ã™ �%s ã¯ç„¡åŠ¹ãªæ–‡å­—クラスã§ã™�無効ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ: %s�無効ãªå¤‰æ›ã§ã™�末尾ã®å¤‰æ›ä¿®é£¾å­ãŒç„¡åйã§ã™: %c�末尾ã®å¤‰æ›ä¿®é£¾å­ãŒç„¡åйã§ã™: \%.3o�%s ã¯ç„¡åŠ¹ãªæ—¥ä»˜ã§ã™�%s: ç„¡åŠ¹ãªæ—¥ä»˜ã®æ›¸å¼ã§ã™�無効ãªé™é †ã®ç¯„囲ã§ã™�無効ãªãƒ‡ãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s %s�無効ãªãƒ‡ãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—ã§ã™: %s�無効ãªãƒ•ィールド番å·ã§ã™: %s�無効ãªãƒ•ィールド指定ã§ã™: %s�無効ãªãƒ•ィールド幅ã§ã™: %s�フィールド指定ã§ã®ãƒ•ァイル番å·ã¯ç„¡åйã§ã™: %s�変æ›ä¿®é£¾å­ã«ç„¡åйãªãƒ•ラグãŒã‚りã¾ã™: %%%c%c�å¼•æ•°ã®æµ®å‹•å°æ•°ãŒç„¡åйã§ã™: %s�ç„¡åŠ¹ãªæŒ¯ã£ãŸç•ªå·æ›¸å¼ã§ã™: %s�無効ãªéš™é–“ã®å¹…ã§ã™: %s�グループ指定ãŒä¸æ­£�無効ãªã‚°ãƒ«ãƒ¼ãƒ— %s�無効ãªã‚°ãƒ«ãƒ¼ãƒ—リスト %s�無効ãªã‚°ãƒ«ãƒ¼ãƒ—: %s�無効ãªãƒ˜ãƒƒãƒ€ç•ªå·æ›¸å¼ã§ã™: %s�無効ãªå…¥åŠ›�無効ãªå…¥åŠ›ãƒ•ãƒ©ã‚°ã§ã™�%s: 無効ãªå…¥åŠ›ç¯„å›²ã§ã™�%s: ç„¡åŠ¹ãªæ•´æ•°ã§ã™�%s: ç„¡åŠ¹ãªæ•´æ•°ã®å¼•æ•°ã§ã™�%s: 無効ãªè¡Œæ•°ã§ã™�%s: 無効ãªå›žç·šåˆ¶å¾¡è¦å‰‡ã§ã™�無効ãªè¡Œç•ªå·å¹…ã®æŒ‡å®šã§ã™: %s�行番å·ã®å¢—åˆ†ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s�無効ãªè¡Œç•ªå·æ›¸å¼ã§ã™: %s�無効ãªè¡Œå¹…ã§ã™: %s�無効㪠MAJOR デãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s�ç„¡åŠ¹ãªæœ€å¤§ã®æ·±ã• %s ã§ã™�無効㪠MINOR デãƒã‚¤ã‚¹ç•ªå·ã§ã™: %s�無効ãªãƒ¢ãƒ¼ãƒ‰�無効ãªãƒ¢ãƒ¼ãƒ‰: %s�無効ãªãƒ¢ãƒ¼ãƒ‰: %s�%s : ç„¡åŠ¹ãªæ•°å­—ã§ã™�フィールド開始番å·ãŒç„¡åйã§ã™�空行ã®è¡Œç•ªå·ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s�無効ãªãƒã‚¤ãƒˆæ•°ã§ã™�比較ã™ã‚‹ãƒã‚¤ãƒˆæ•°ã®æŒ‡å®šãŒç„¡åйã§ã™�スキップã™ã‚‹ãƒã‚¤ãƒˆæ•°ã®æŒ‡å®šãŒç„¡åйã§ã™�無効ãªåˆ—æ•°ã§ã™: %s�スキップã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰æ•°ã®æŒ‡å®šãŒç„¡åйã§ã™�無効ãªè¡Œæ•°ã§ã™�無効ãªã‚ªãƒ—ション -- %c�無効ãªã‚ªãƒ—ション -- %c。 -WIDTH ã¯æœ€åˆã®å¼•æ•°ã§ã‚ã‚‹å ´åˆã®ã¿èªè­˜ã•れã¾ã™ã€‚ãれ以外ã§ã¯ -w N を使用ã—ã¦ãã ã•ã„。�無効ãªå‡ºåŠ›ãƒ•ãƒ©ã‚°ã§ã™�無効ãªãƒšãƒ¼ã‚¸ç¯„囲ã§ã™ %s�無効ãªç²¾åº¦ã§ã™: %s�端点ãŒç„¡ã„無効ãªç¯„囲ã§ã™: -�[c*n] ã®æ§‹æˆå†…ã«ã‚る繰り返ã—回数 %s ã¯ç„¡åйã§ã™�ç„¡åŠ¹ãªæŒ‡å®š�開始行番å·ãŒæ­£ã—ãã‚りã¾ã›ã‚“: %s�無効ãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ラグã§ã™�%s: ç„¡åŠ¹ãªæŽ¥å°¾è¾žã§ã™ã€‚ディレクトリ区切り文字ãŒå«ã¾ã‚Œã¦ã„ã¾ã™�無効ãªã‚¿ãƒ–å¹…ã§ã™: %s�%s: 無効ãªãƒ†ãƒ³ãƒ—レートã§ã™ã€‚ディレクトリ区切り文字ãŒå«ã¾ã‚Œã¦ã„ã¾ã™�%s: 無効ãªãƒ†ãƒ³ãƒ—レートã§ã™ã€‚ --tmpdir を使用ã™ã‚‹å ´åˆã€çµ¶å¯¾ãƒ‘スã§ç„¡ã„ã‹ã‚‚ã—れã¾ã›ã‚“�%s: ç„¡åŠ¹ãªæ™‚é–“é–“éš”ã§ã™�ç„¡åŠ¹ãªæ™‚刻書å¼ã§ã™: %s�無効ãªå¾Œç¶šã®ã‚ªãƒ—ションã§ã™ -- %c�無効㪠TYPE 指定文字列ã§ã™: %s�無効㪠TYPE 指定文字列ã§ã™: %s; ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ %lu ãƒã‚¤ãƒˆæµ®å‹•å°æ•°ç‚¹åž‹ã‚’扱ãˆã¾ã›ã‚“�無効㪠TYPE 指定文字列ã§ã™: %s; ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ %lu ãƒã‚¤ãƒˆæ•´æ•°åž‹ã‚’扱ãˆã¾ã›ã‚“�\%c%0*x: 無効ãªãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰æ–‡å­—åã§ã™�ユーザ指定ãŒä¸æ­£�無効ãªãƒ¦ãƒ¼ã‚¶ãƒ¼: %s�無効ãªå¹…: %s�ç„¡åŠ¹ãªæŠ˜ã‚Šè¿”ã—列数: %s�無効ãªé•·ã•ãŒ0ã®ãƒ•ァイルåã§ã™�%s ã«é–¢ã—ã¦å†å¸°çš„ã«æ“作ã™ã‚‹ã“ã¨ã¯å±é™ºã§ã™�%s ã«é–¢ã—ã¦å†å¸°çš„ã«æ“作ã™ã‚‹ã“ã¨ã¯å±é™ºã§ã™ (%s ã‚‚åŒæ§˜)�キー %lu ã®å¹…㯠0 ã®ãŸã‚無視ã•れã¾ã™�キー %lu ãŒæ•°å€¤ã®ãŸã‚複数ã®ãƒ•ィールドã«å±•é–‹ã•れã¾ã™�最後=�ファイルå %3$s ã®é•·ã• %2$lu ã¯åˆ¶é™å€¤ %1$lu ã‚’è¶…éŽã—ã¦ã„ã¾ã™�ファイルåã®è¦ç´  %3$s ã®é•·ã• %2$lu ã¯åˆ¶é™å€¤ %1$lu ã‚’è¶…éŽã—ã¦ã„ã¾ã™�標準入力ã«å¯¾ã™ã‚‹è¡Œãƒ¢ãƒ¼ãƒ‰ã®ãƒãƒƒãƒ•ã‚¡è¨­å®šã¯æ„味ãŒã‚りã¾ã›ã‚“�行数を指定ã™ã‚‹ã‚ªãƒ—ション -%s%c ãŒå¤§ãã™ãŽã¾ã™�è¡Œç•ªå· %s ãŒå‰ã«å‡ºç¾ã—ãŸè¡Œç•ªå· %s よりå°ã•ã„値ã§ã™�行番å·ãŒæº¢ã‚Œã¾ã—ãŸ�ç¾åœ¨ã® rlimit ã«åŸºã¥ã„㟠--%s ã®å¼•æ•°ã®æœ€å¤§å€¤ã¯ %s ã§ã™�ãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ�大ãã• %zu ãƒã‚¤ãƒˆã®å…¥åŠ›ãƒãƒƒãƒ•ã‚¡ã«ã‚ˆã‚Šãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—㟠(%s)�大ãã• %zu ãƒã‚¤ãƒˆã®å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ã«ã‚ˆã‚Šãƒ¡ãƒ¢ãƒªã‚’ä½¿ã„æžœãŸã—ã¾ã—㟠(%s)�メッセージキュー�--%s ã®å¼•æ•°ã®æœ€å°å€¤ã¯ %s ã§ã™ã€‚�[:upper:] 㨠[:lower:] ã¨ã®æ§‹æˆãŒä¸€è‡´ã—ã¾ã›ã‚“�末尾㮠%% 変æ›ä¿®é£¾å­ãŒç„¡åйã§ã™�%s ã®å¾Œã«å¼•æ•°ãŒã‚りã¾ã›ã‚“�%s ã«å¯¾ã™ã‚‹å¼•æ•°ãŒã‚りã¾ã›ã‚“�末尾ã®å¤‰æ›ä¿®é£¾å­ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“�%s ã®å¾Œã«å®›å…ˆã®ãƒ•ァイルオペランドãŒã‚りã¾ã›ã‚“�ファイルオペランドãŒã‚りã¾ã›ã‚“�エスケープ中ã«16é€²æ•°ã®æ•°å€¤ãŒã‚りã¾ã›ã‚“�フィールドã®ãƒªã‚¹ãƒˆãŒã‚りã¾ã›ã‚“�ä½ç½®æŒ‡å®šãƒªã‚¹ãƒˆãŒã‚りã¾ã›ã‚“�オペランドãŒã‚りã¾ã›ã‚“�%s ã®å¾Œã«ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãŒã‚りã¾ã›ã‚“�モードã«ã¯ãƒ•ァイルパーミッションã®ãƒ“ットã®ã¿æŒ‡å®šã§ãã¾ã™�%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ %04lo (%s) ã‹ã‚‰ %04lo (%s) ã¸å¤‰æ›´ã—ã¾ã—㟠�%s ã®ãƒ¢ãƒ¼ãƒ‰ã¯ %04lo (%s) ã¨ã—ã¦ä¿ç•™ã•れã¾ã—㟠�入力パイプを移動ã—ã¦ã„ã¾ã™�複数文字ã®ã‚¿ãƒ– %s�複数㮠-i ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�-l ã¾ãŸã¯ -t オプションãŒè¤‡æ•°æŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®åœ§ç¸®ãƒ—ãƒ­ã‚°ãƒ©ãƒ ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®åŒºåˆ‡ã‚Šæ–‡å­—ãŒæŒ‡å®šã•れã¾ã—ãŸ�複数ã®ãƒ¬ãƒãƒ¬ãƒƒã‚¸�複数ã®å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®å‡ºåЛ形å¼ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®ãƒ©ãƒ³ãƒ€ãƒ ã‚½ãƒ¼ã‚¹ãŒæŒ‡å®šã•れã¾ã—ãŸ�複数ã®ç›¸å¯¾ä½ç½®ã‚’表ã™ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®ãƒ­ãƒ¼ãƒ«�複数ã®å®›å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæŒ‡å®šã•れã¦ã„ã¾ã™�複数ã®ã‚¿ã‚¤ãƒ—�複数ã®ãƒ¦ãƒ¼ã‚¶�シンボリックリンク %s ã‚‚ãã®å‚照先も変更ã•れã¾ã›ã‚“ã§ã—㟠�環境変数 SHELL ãŒå®šç¾©ã•れã¦ãŠã‚‰ãšã€ã‚·ã‚§ãƒ«åž‹ã®ã‚ªãƒ—ションも与ãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“�%s ã®æ‰€æœ‰è€…ã«å¤‰æ›´ã¯ã‚りã¾ã›ã‚“ �ã‚³ãƒžãƒ³ãƒ‰ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“�ファイルシステムãŒå‡¦ç†ã•れã¾ã›ã‚“ã§ã—ãŸ�ファイルãŒå…¨ã残ã£ã¦ã„ã¾ã›ã‚“�%s ã‹ã‚‰ã®å…¥åŠ›ãŒã‚りã¾ã›ã‚“�ログインåãŒã‚りã¾ã›ã‚“�プロセス ID ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“�文字列ダンプ時ã®åž‹ã¯æŒ‡å®šã§ãã¾ã›ã‚“�ユーザåãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。 -l を使用ã™ã‚‹å ´åˆã¯æœ€ä½Ž 1 å€‹ã¯æŒ‡å®šã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“�æ•´æ•°ã§ãªã„引数�ファイルå %2$s ã®ä¸­ã«å¯æ¬æ€§ã®ãªã„文字 %1$s ãŒã‚りã¾ã™ã€‚�tty ã§ã¯ã‚りã¾ã›ã‚“�å‚ç…§å…ˆãŒç„¡ã„シンボリックリンク %s を通ã˜ã¦æ›¸ã込むã“ã¨ã¯ã§ãã¾ã›ã‚“�%s ã«å«ã¾ã‚Œã‚‹ç•ªå·ã¯å¤§ãã™ãŽã¾ã™�parallel ã®å¼•数㯠0 ã§ã¯ã„ã‘ã¾ã›ã‚“�ãƒã‚¤ãƒˆæ•°�行数�ファイル %s を読ã¿è¾¼ã¿ä¸­ã«ã‚ªãƒ•セットãŒã‚ªãƒ¼ãƒãƒ¼ãƒ•ローã—ã¾ã—ãŸ�ディレクトリ %s ã‚’çœç•¥ã—ã¦ã„ã¾ã™�[c*] 繰り返ã—回数指定㯠2å€‹ç›®ã®æ–‡å­—列中ã§ã¯1回ã ã‘利用ã§ãã¾ã™�DEVICE ã¯ä¸€ã¤ã ã‘指定ã§ãã¾ã™�åˆ‡ã‚Šå‡ºã—æ–¹ã¨ã—ã¦æŒ‡å®šã§ãã‚‹ã®ã¯ 1 種類ã ã‘ã§ã™�オープンã«å¤±æ•—ã—ã¾ã—ãŸ�無効ãªã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã‚ªãƒ—ションãŒä½¿ç”¨ã•れã¾ã—㟠-- %c�オプション --backup 㨠--no-clobber ã¯ç›¸äº’排他的ã§ã™�オプション --compare (-C) ãŠã‚ˆã³ --preserve-timestamps ã¯æŽ’ä»–çš„ã§ã™�オプション --compare (-C) ãŠã‚ˆã³ --strip ã¯æŽ’ä»–çš„ã§ã™�å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®æŽ¥å°¾è¾žã‚’ä½¿ã„æžœãŸã—ã¾ã—ãŸ�ファイル %s ã®æ‹¡å¤§æ™‚ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ•ローãŒç™ºç”Ÿã—ã¾ã—ãŸ�ファイル %s ã®åˆ‡ã‚Šä¸Šã’時ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ•ローãŒç™ºç”Ÿã—ã¾ã—ãŸ�%s ã®æ‰€æœ‰è€…ã¯ãã®ã¾ã¾ä¿ç•™ã•れã¾ã—㟠�%s ã®æ‰€æœ‰è€…㯠%s ã®ã¾ã¾ä¿ç•™ã•れã¾ã—㟠�ページ番å·ãŒæº¢ã‚Œã¾ã—ãŸ�ページ幅ãŒç‹­ã™ãŽã¾ã™�%s ã®ãƒ‘ーミッションをä¿å­˜ã—ã¦ã„ã¾ã™�%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’ä¿å­˜ä¸­�å…¨ã¦ã®é‡è¤‡è¡Œã¨ç¹°ã‚Šè¿”ã—回数を表示ã™ã‚‹ã“ã¨ã«æ„味ãŒã‚りã¾ã›ã‚“�読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼�読ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ�ディレクトリ %s を読ã¿è¾¼ã‚“ã§ã„ã¾ã™�レコードãŒå¤§ãã™ãŽã¾ã™�標準エラー出力を標準出力ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™�通常ã®ç©ºãƒ•ァイル�通常ファイル�%s を削除ã—ã¾ã—㟠�ディレクトリを削除ã—ã¾ã—ãŸ: %s �ディレクトリ %s を削除ã—ã¦ã„ã¾ã™�run-level�セマフォ�区切り文字ãŒç©ºã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“�å•題を回é¿ã™ã‚‹ãŸã‚ã« LC_ALL='C' を指定ã—ã¦ãã ã•ã„。�%s ã®ãƒ•ラグを設定中�%s ã®ãƒ‘ーミッションを設定ã—ã¾ã™�%s ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を設定中ã§ã™�共有メモリオブジェクト�スキップãƒã‚¤ãƒˆæ•°ã¨èª­ã¿è¾¼ã¿ãƒã‚¤ãƒˆæ•°ã®å’ŒãŒå¤§ãã™ãŽã¾ã™�ç•°ãªã‚‹ãƒ‡ãƒã‚¤ã‚¹ä¸Šã«ã‚ã‚‹ãŸã‚ %s をスキップã—ã¾ã™�コピー中ã«ç§»å‹•ã•れãŸãŸã‚ã€ãƒ•ァイル %s をスキップã—ã¦ã„ã¾ã™�ソケット�標準エラー�標準入力�標準入力ãŒé–‰ã˜ã‚‰ã‚Œã¦ã„ã¾ã™�標準出力�状態å–å¾— (stat) ã«å¤±æ•—ã—ã¾ã—ãŸ�標準エラー出力�標準入力�標準出力�フィールド指定ã«ä½¿ãˆãªã„文字ãŒã‚りã¾ã™�æ–‡å­—åˆ—ã®æ¯”較ã«å¤±æ•—�文字列ã®å¤‰æ›ã«å¤±æ•—ã—ã¾ã—ãŸ�strip プロセスãŒç•°å¸¸çµ‚了ã—ã¾ã—ãŸ�区切られã¦ã„ãªã„è¡Œã®æŠ‘åˆ¶ãŒæœ‰åйãªã®ã¯, フィールドをæ“作ã™ã‚‹å ´åˆã®ã¿ã§ã™�シンボリックリンク�構文エラー�システム起動�タブサイズã¯0(ゼロ)ã«ã§ãã¾ã›ã‚“�タブサイズã«ç„¡åŠ¹ãªæ–‡å­—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™: %s�ã‚¿ãƒ–ã‚µã‚¤ã‚ºã®æŒ‡å®šã¯æ˜‡é †ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“�タブã®ä½ç½® %s ãŒå¤§ãã™ãŽã¾ã™�タブ幅ãŒå¤§ãã™ãŽã¾ã™�タブãŒé›¢ã‚Œã™ãŽã¦ã„ã¾ã™�宛先㮠%s ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚りã¾ã›ã‚“�ディレクトリをインストールã™ã‚‹éš›ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã§ãã¾ã›ã‚“�端末=�test ãŠã‚ˆã³/ã¾ãŸã¯ [�ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã«ã¯ --binary ãŠã‚ˆã³ --text オプションã¯ç„¡æ„味ã§ã™�--compare (-C) オプションã¯è¨±å¯ã•れã¦ã„ãªã„モードã®ãƒ“ットãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆã«ã¯ç„¡è¦–ã•れã¾ã™�--quiet オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™�--status オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™�--strict オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™�--warn オプションã¯ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®ç…§åˆæ™‚ã®ã¿æ„味をæŒã¡ã¾ã™�[c*] ãŒ2å€‹ç›®ã®æ–‡å­—列ã«å­˜åœ¨ã—ã¦ã‚‚良ã„ã®ã¯ç½®æ›ã®æ™‚ã®ã¿ã§ã™�[c*] 繰り返ã—回数指定ã¯1å€‹ç›®ã®æ–‡å­—列中ã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“�åŒºåˆ‡ã‚Šæ–‡å­—ã«æŒ‡å®šã§ãã‚‹ã®ã¯ 1 文字ã ã‘ã§ã™�冗長出力㨠stty ãŒè§£é‡ˆã§ãる出力形å¼ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æŽ’ä»–çš„ã§ã™�dircolors ã®å†…部データベース出力ãŠã‚ˆã³ã‚·ã‚§ãƒ«æ§‹æ–‡ é¸æŠžã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“�表示オプションã¨è¨­å®šã‚ªãƒ—ションã¯åŒæ™‚ã«æŒ‡å®šã§ãã¾ã›ã‚“�日付表示を指定ã™ã‚‹ã‚ªãƒ—ションãŒç›¸äº’ã«æŽ’ä»–çš„ã§ã™�比較ã—ãŸæ–‡å­—列㯠%s 㨠%s ã§ã™�strip オプションã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’インストールã™ã‚‹éš›ã«ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“�接尾辞ã®é•·ã•ã¯æœ€ä½Ž %zu å¿…è¦ã§ã™�変æ›å‰ã®æ–‡å­—列㯠%s ã§ã™�時間 %s ãŒç¯„囲外ã§ã™�ユーザ ID %s を使用ã™ã‚‹å ´åˆã«ã¯ -g も使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™�テンプレート %s ã«å«ã¾ã‚Œã¦ã„ã‚‹ X ã®æ•°ãŒå°‘ãªã™ãŽã¾ã™�末尾㮠%% 変æ›ä¿®é£¾å­ãŒå¤šã™ãŽã¾ã™�SET å†…ã®æ–‡å­—ãŒå¤šã™ãŽã¾ã™�é‡è¤‡ã—ãŸè¡ŒãŒå¤šã™ãŽã¾ã™�TEMPLATE ãŒå¤šã™ãŽã¾ã™�åˆè¨ˆ�横断失敗: %s�型付メモリオブジェクト�エラーメッセージを表示ã§ãã¾ã›ã‚“�ç¾åœ¨ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’記録ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�セキュリティコンテキスト %s を設定ã§ãã¾ã›ã‚“�予期ã—ãªã„エラー: fts_info=%d: %s %s ã«å ±å‘Šã—ã¦ãã ã•ã„�䏿˜ŽãªäºŒé …演算å­ã§ã™�䏿˜Žãªã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータスã§ã™ (0x%X)�䏿˜Žãªã‚¹ãƒˆãƒªãƒ¼ãƒ �䏿˜Žãªãƒ¦ãƒ¼ã‚¶ ID ã§ã™: %s�環境変数 LS_COLORS ã®å€¤ã‚’解釈ã§ãã¾ã›ã‚“�%s : èªè­˜ã§ããªã„オペランドã§ã™�èªè­˜ã§ããªã„接頭辞ã§ã™: %s�ç¨¼åƒæ™‚é–“ %ld æ—¥ %2d:%02d �ç¨¼åƒæ™‚é–“ ???? days ??:??, �ã“ã®ãƒ•ェイルセーフを上書ãã™ã‚‹ã«ã¯ --no-preserve-root を使用ã—ã¦ãã ã•ã„�%s ソートルールを使用ã—ã¦ã„ã¾ã™�ファイルシステムモードã§ã¯ %s を使用ã—ã¦æ¨™æº–入力を指定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“�å˜ãªã‚‹ãƒã‚¤ãƒˆæ¯”較を使用ã—ã¦ã„ã¾ã™�%s [-d] ã‚’å¾…ã£ã¦ã„ã¾ã™�å­ãƒ—ロセスを待機ã—ã¦ã„ã¾ã™�strip ã‚’å¾…ã£ã¦ã„ã¾ã™�警告: %s: 文字定数ã®å¾Œã®æ–‡å­—ãŒç„¡è¦–ã•れã¾ã—ãŸ�警告: %s: コンテキスト %s ã¸ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ�警告: --pid=PID ã¯ã“ã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“�warning: --retry ã¯ä¸»ã«åå‰ã§è¿½è·¡ã‚’ã—ã¦ã„ã‚‹ã¨ãã®ã¿æœ‰åйã§ã™�警告: PID ã¯ç„¡è¦–ã•れã¾ã—ãŸã€‚--pid=PID ã¯è¿½è·¡ã‚’ã—ã¦ã„ã‚‹ã¨ãã®ã¿æœ‰åйã§ã™�警告: æ–‡å­—åˆ—ã®æœ€å¾Œã«ã‚るエスケープã•れã¦ã„ãªã„ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯å¯æ¬æ€§ãŒã‚りã¾ã›ã‚“�警告: æ›¸å¼æ–‡å­—列ã®çµ‚端ã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒã‚りã¾ã™�待機中: 削除ã§ãã¾ã›ã‚“: %s�警告: コアダンプã®ç„¡åŠ¹åŒ–ã«å¤±æ•—ã—ã¾ã—ãŸ�警告: 標準入力を永久ã«è¿½è·¡ã™ã‚‹ã“ã¨ã¯åŠ¹æžœçš„ã§ã¯ã‚りã¾ã›ã‚“�警告: %s ã§å§‹ã¾ã‚‹ä½™è¨ˆãªå¼•æ•°ã¯ç„¡è¦–ã•れã¾ã™�警告: 読ã¿è¾¼ã¿å¤±æ•—後ã®ç„¡åйãªãƒ•ァイルオフセットã§ã™�警告: å¹… %lu ã¯ç„¡åйãªå€¤ã§ã™ã€‚代ã‚り㫠%d を使用ã—ã¾ã™�警告: è¡Œç•ªå· %s ãŒå‰ã«å‡ºç¾ã—ãŸè¡Œç•ªå·ã¨åŒã˜å€¤ã§ã™�警告: コピー元ファイル %s ãŒè¤‡æ•°æŒ‡å®šã•れã¾ã—ãŸ�警告: 統計(-s)㨠--max-depth=%lu ã®æŒ‡å®šãŒç«¶åˆã—ã¦ã„ã¾ã™�警告: 統計(-s)㨠--max-depth=0 ã¯åŒã˜ç”¨æ³•ã§ã™�警告: 曖昧ãªå…«é€²æ•°ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ— \%c%c%c 㯠2ãƒã‚¤ãƒˆã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ \0%c%c, %c ã¨ã—ã¦è§£é‡ˆã•れã¾ã™�警告: timer_create�警告: timer_settime�警告: lseek ã®ã‚«ãƒ¼ãƒãƒ«ãƒã‚°ã«å¯¾å‡¦ã—ã¾ã™ã€‚ ファイル (%s) ã® mt_type=0x%0lx -- <sys/mtio.h> ã®ã‚¿ã‚¤ãƒ—リストを見ã¦ä¸‹ã•ã„�䏿˜Žãªãƒ•ァイル�SET1 を切りæ¨ã¦ã‚‹ã®ã§ã¯ãªã„å ´åˆã¯, 2å€‹ç›®ã®æ–‡å­—列を指定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“�ファイルåを標準入力ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã„ã‚‹å ´åˆã«ã€ãƒ•ァイルå %s を指定ã§ãã¾ã›ã‚“�出力形å¼ã‚’指定ã—ãŸå ´åˆã€ãƒ¢ãƒ¼ãƒ‰ã‚’設定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“�è£œé›†åˆæ–‡å­—クラスã§ç½®æ›ã‚’行ãªã†ã¨ã, 2 ã¤ç›®ã®æ–‡å­—列ã¯è©²å½“ã™ã‚‹æ–‡å­—ã®å…¨ã¦ã® ç½®æ›çµæžœã‚’特定ã§ããªã‘れã°ãªã‚Šã¾ã›ã‚“�string2 より長ㄠstring1 ã§ç½®æ›ã‚’行ã†å ´åˆã«ã¯ string2 ã¯æ–‡å­—クラス ã§çµ‚了ã—ã¦ã„ã¦ã¯ã„ã‘ã¾ã›ã‚“�ãŸã£ãŸä»Šä½œæˆã—ãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ %2$s を通ã—㦠%1$s をコピーã§ãã¾ã›ã‚“�%s ã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª %s ã¸ã®ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã‚’作æˆã§ãã¾ã›ã‚“�ãŸã£ãŸä»Šä½œæˆã—㟠%s ã«ã¯ %s ã§ä¸Šæ›¸ãã—ã¾ã›ã‚“�--parents ãŒã‚ã‚‹å ´åˆã€å®›å…ˆã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“�--suffix を使用ã™ã‚‹å ´åˆã€ãƒ†ãƒ³ãƒ—レート %s 㯠X ã§çµ‚了ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“�FILE=%s 㧠次ã®ã‚³ãƒžãƒ³ãƒ‰ãŒçµ‚了ステータス %d ã§çµ‚了ã—ã¾ã—ãŸ: %s�FILE=%s ã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‹ã‚‰ã‚·ã‚°ãƒŠãƒ« %s ã‚’å—ã‘å–りã¾ã—ãŸ: %s�書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼�%s ã¸ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼�書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ�%s ã«æ›¸ãè¾¼ã¿ä¸­ã§ã™�-c, -t, -u, -l, -r, ã¾ãŸã¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“�ãƒã‚¤ãƒˆ, 文字, ã‚‚ã—ãã¯ãƒ•ィールドã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¦ãã ã•ã„�%2$s ã¨ä½µã›ã¦ç›¸å¯¾çš„㪠%1$s を指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“�%s ã¾ãŸã¯ %s ã®ã„ãšã‚Œã‹ã‚’指定ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% レコード入力 %+% レコード出力 �% 切り詰ã‚られãŸãƒ¬ã‚³ãƒ¼ãƒ‰ �% ãƒã‚¤ãƒˆ (%s) コピーã•れã¾ã—ãŸ�オフセットéŽå¤§: seek=% (%lu ãƒã‚¤ãƒˆ) ブロックã®é•·ã•ã¾ã§åˆ‡ã‚Šè©°ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“�% ãƒã‚¤ãƒˆã«å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ« %s を切り詰ã‚ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ�% ãƒã‚¤ãƒˆã®æ¨™æº–入出力ãƒãƒƒãƒ•ã‚¡ã®å‰²ã‚Šå½“ã¦ã«å¤±æ•—ã—ã¾ã—㟠�%s: %: %s ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¡Œã¨ã—ã¦ä¸é©åˆ‡ãªæ›¸å¼ã§ã™�警告: 書å¼ãŒä¸é©åˆ‡ãªè¡ŒãŒ % 行ã‚りã¾ã™�警告: 一覧ã«ã‚ã‚‹ % 個ã®ãƒ•ァイルãŒèª­ã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ�警告: % 個ã®è¨ˆç®—ã—ãŸãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸ�é–‹å§‹ãƒšãƒ¼ã‚¸ç•ªå· % ã¯ç·ãƒšãƒ¼ã‚¸ç•ªå· % ã‚’è¶…éŽã—ã¦ã„ã¾ã™�% ページ�% * % ãƒã‚¤ãƒˆã®ãƒ–ロックã¯ãƒ•ァイル %s ã«å¯¾ã—ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ•ローã—ã¦ã„ã¾ã™�ファイル %s ã‚’ % ãƒã‚¤ãƒˆã¸åˆ‡ã‚Šè©°ã‚ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/el.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002313037�12107204506�011732� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Greek messages for GNU textutils # Copyright (C) 1999, 2000, 2001, 2002, 2008, 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Simos Xenitellis <simos.lists@googlemail.com>, 1999, 2000, 2001, 2002, 2008, 2009. # msgid "" msgstr "" "Project-Id-Version: coreutils 7.2\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2009-04-29 22:18+0200\n" "Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n" "Language-Team: Greek <team@lists.gnome.gr>\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" # #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "ασαφές ÏŒÏισμα %s για %s" # #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "ΈγκυÏα οÏίσματα είναι:" # #: lib/closein.c:100 msgid "error closing file" msgstr "σφάλμα κατά το κλείσιμο του αÏχείου" # #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "σφάλμα εγγÏαφής" # #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: lib/error.c:188 msgid "Unknown system error" msgstr "Άγνωστο σφάλμα συστήματος" # #: lib/file-type.c:38 msgid "regular empty file" msgstr "κανονικό κενό αÏχείο" # #: lib/file-type.c:38 msgid "regular file" msgstr "κανονικό αÏχείο" # #: lib/file-type.c:41 msgid "directory" msgstr "κατάλογος" # #: lib/file-type.c:44 msgid "block special file" msgstr "ειδικό αÏχείο μπλοκ" # #: lib/file-type.c:47 msgid "character special file" msgstr "ειδικό αÏχείο χαÏακτήÏων" # #: lib/file-type.c:50 msgid "fifo" msgstr "φίφο" # #: lib/file-type.c:53 msgid "symbolic link" msgstr "συμβολικός σÏνδεσμος" # #: lib/file-type.c:56 msgid "socket" msgstr "υποδοχέας" # #: lib/file-type.c:59 msgid "message queue" msgstr "ουÏά μηνυμάτων" # #: lib/file-type.c:62 msgid "semaphore" msgstr "σημαφόÏος" # #: lib/file-type.c:65 msgid "shared memory object" msgstr "" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" # #: lib/file-type.c:70 msgid "weird file" msgstr "παÏάξενο αÏχείο" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "αÏχεία fifo δεν υποστηÏίζονται" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "ΠÏοσωÏινό σφάλμα κατά την ανάλυση ονόματος" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Μη-επανοÏθώσιμη αποτυχία κατά την ανάλυση ονόματος" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "αÏχεία fifo δεν υποστηÏίζονται" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Σφάλμα κατά την καταχώÏιση μνήμης" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Δεν υπάÏχει διεÏθυνση συσχετισμένη με το όνομα κόμβου" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "αÏχεία fifo δεν υποστηÏίζονται" # #: lib/gai_strerror.c:67 msgid "System error" msgstr "Σφάλμα συστήματος" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Η επεξεÏγασία της αίτησης είναι σε εξέλιξη" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Η αίτηση ακυÏώθηκε" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Η αίτηση δεν ακυÏώθηκε" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Η συμβολοσειÏά των παÏαμέτÏων δεν είναι κωδικοποιημένη σωστά" # #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Άγνωστο σφάλμα" # #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: η επιλογή `%s' είναι ασαφής\n" # #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `--%s' δεν επιτÏέπει οÏίσματα\n" # #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: η επιλογή `%c%s' δεν επιτÏέπει οÏίσματα\n" # #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: η επιλογή `-%s' απαιτεί ένα ÏŒÏισμα\n" # #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: μη αναγνωÏίσιμη επιλογή `--%s'\n" # #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: μη αναγνωÏίσιμη επιλογή `%c%s'\n" # #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: μη έγκυÏη επιλογή -- %c\n" # #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: η επιλογή απαιτεί ένα ÏŒÏισμα -- %c\n" # #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: η επιλογή `-W %s' είναι ασαφής\n" # #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: η επιλογή `-W %s' δεν επιτÏέπει οÏίσματα\n" # #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: η επιλογή `-%s' απαιτεί ένα ÏŒÏισμα\n" # #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων του %s" # #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου %s" # #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "η μνήμη εξαντλήθηκε" # #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" # #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" # #: lib/quotearg.c:313 msgid "'" msgstr "»" # #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: τέλος αÏχείου" #: lib/regcomp.c:131 msgid "Success" msgstr "Επιτυχία" #: lib/regcomp.c:134 msgid "No match" msgstr "" # #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" # #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" # #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Η μνήμη εξαντλήθηκε" # #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s" # #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης" # #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" # #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" # #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yYνÎ]" # #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nNοΟ]" # #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, fuzzy, c-format msgid "setting permissions for %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" # #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "Σφάλμα συστήματος" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 #, fuzzy msgid "Continued" msgstr "συνέχεια; " #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" # #: lib/siglist.h:100 #, fuzzy msgid "Virtual timer expired" msgstr "η ιδεατή μνήμη εξαντλήθηκε" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" # #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: μη έγκυÏος πεÏιγÏαφέας διεÏγασίας (PID)" # #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: μη έγκυÏος πεÏιγÏαφέας διεÏγασίας (PID)" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" # #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "ειδικό αÏχείο μπλοκ" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" # #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "αποτυχία ανοίγματος" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" # #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "σφάλμα κλεισίματος αÏχείου" # #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" # #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "" # #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "" # #: lib/unicodeio.c:111 #, fuzzy msgid "character out of range" msgstr "%s: αÏιθμός γÏαμμής έξω από τα ÏŒÏια" # #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" # #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" # #: lib/userspec.c:106 msgid "invalid user" msgstr "μη έγκυÏος χÏήστης" # #: lib/userspec.c:107 msgid "invalid group" msgstr "μη έγκυÏη ομάδα" # #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "μη έγκυÏος χÏήστης" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" # #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "ΓÏαμμένο από τον/την %s.\n" # #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "ΓÏάφτηκε από τον/την %s και %s.\n" # #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "ΓÏάφτηκε από τον/την %s, %s, και %s.\n" # #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "ΓÏάφτηκε από τον/την %s, %s, %s,\n" "και %s.\n" # #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ΓÏάφτηκε από τον/την %s, %s, %s,\n" "%s, και %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" # #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "ΑναφέÏατε σφάλματα στο <%s>.\n" # #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "ΑναφέÏατε σφάλματα στο <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, fuzzy, c-format msgid "%s home page: <%s>\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" # #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "αποτυχία ανοίγματος" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" # #: lib/xfreopen.c:37 #, fuzzy msgid "stderr" msgstr "κανονικό σφάλμα" # #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Άγνωστο σφάλμα συστήματος" # #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "η σÏγκÏιση των συμβολοσειÏών απέτυχε" # #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Θέστε LC_ALL='C' για να παÏακάμψετε το Ï€Ïόβλημα." # #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Οι συμβολοσειÏές που συγκÏίθηκαν ήταν οι %s και %s" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" # #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "Μη έγκυÏο %s%s ÏŒÏισμα `%s'" # #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" # #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" # #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]\n" "ΕγγÏαφή πλήÏους ταξινομημένης λίστας σε συμφωνία με τη μεÏική ταξινόμηση\n" "στο ΑΡΧΕΙΟ. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την\n" "κανονική είσοδο.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" # #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" # #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "σφάλμα ανάγνωσης" # #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "Μη έγκυÏη είσοδος" # #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "" # #: src/base64.c:318 src/cat.c:781 #, fuzzy, c-format msgid "closing standard input" msgstr "κανονική είσοδος" # #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Πωλ ΡοÏμπιν και Îτέιβιντ Μακένζη" # #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "ΧÏήση: %s ΟÎΟΜΑ [ΕΠΙΘΕΜΑ]\n" " ή: %s ΕΠΙΛΟΓΗ\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Τυπώνει το ΟÎΟΜΑ χωÏίς να ακολουθείται απο συστατικά καταλόγου.\n" "Εαν Ï€ÏοσδιοÏίζεται, αφαιÏεί το ΕΠΙΘΗΜΑ που ακολουθεί.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" # #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" # #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Συνένωση ΑΡΧΕΙΟΥ(ΩÎ) ή κανονικής εισόδου σε κανονική έξοδο.\n" "\n" " -A, --show-all ισοδÏναμο με -vET\n" " -b, --number-nonblank αÏίθμηση μη-κενών γÏαμμών της εξόδου\n" " -e ισοδÏναμο με -vE\n" " -E, --show-ends εμφάνιση του $ στο τέλος κάθε γÏαμμής\n" " -n, --number αÏίθμηση όλων των γÏαμμών εξόδου\n" " -s, --squeeze-blank ποτέ πεÏισσότεÏο από μια μονή κενή γÏαμμή\n" " -t ισοδÏναμο με -vT\n" " -T, --show-tabs εμφάνιση χαÏακτήÏα TAB σαν ^I\n" " -u (αγνοείτε)\n" " -v, --show-nonprinting χÏήση ^ και Μ- κωδικογÏαφή, εκτός για LFD και " "TAB\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "ΧωÏίς ΑΡΧΕΙΟ ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική είσοδο.\n" # #: src/cat.c:102 #, fuzzy msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" "Συνένωση ΑΡΧΕΙΟΥ(ΩÎ) ή κανονικής εισόδου σε κανονική έξοδο.\n" "\n" " -A, --show-all ισοδÏναμο με -vET\n" " -b, --number-nonblank αÏίθμηση μη-κενών γÏαμμών της εξόδου\n" " -e ισοδÏναμο με -vE\n" " -E, --show-ends εμφάνιση του $ στο τέλος κάθε γÏαμμής\n" " -n, --number αÏίθμηση όλων των γÏαμμών εξόδου\n" " -s, --squeeze-blank ποτέ πεÏισσότεÏο από μια μονή κενή γÏαμμή\n" " -t ισοδÏναμο με -vT\n" " -T, --show-tabs εμφάνιση χαÏακτήÏα TAB σαν ^I\n" " -u (αγνοείτε)\n" " -v, --show-nonprinting χÏήση ^ και Μ- κωδικογÏαφή, εκτός για LFD και " "TAB\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "ΧωÏίς ΑΡΧΕΙΟ ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική είσοδο.\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" # #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" # #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "κανονική έξοδος" # #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: το αÏχείο εισόδου είναι το αÏχείο εξόδου" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "διατήÏηση ωÏών στο %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "διατήÏηση ωÏών στο %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" # #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, fuzzy, c-format msgid "cannot access %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, fuzzy, c-format msgid "cannot read directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, fuzzy, c-format msgid "fts_read failed" msgstr "αποτυχία ανάγνωσης" # #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "σφάλμα κλεισίματος αÏχείου" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" # #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "λείπει τελεστής μετά το %s" # #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, fuzzy, c-format msgid "failed to get attributes of %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "μη έγκυÏη ομάδα" # #: src/chgrp.c:108 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" # #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, fuzzy, c-format msgid "getting new attributes of %s" msgstr "διατήÏηση ωÏών στο %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "οÏτε ο συμβολικός σÏνδεσμος %s οÏτε το αναφεÏόμενο αÏχείο αλλάχτηκαν\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "τα δικαιώματα του %s Ï„Ïοποποιήθηκαν σε %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "αποτυχία αλλαγής των δικαιωμάτων του %s σε %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "τα δικαιώματα του %s διατηÏοÏνται ως έχουν, δηλαδή %04lo (%s)\n" # #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/chmod.c:276 #, fuzzy, c-format msgid "changing permissions of %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: τα νέα δικαιώματα είναι %s, και όχι %s" #: src/chmod.c:371 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" # #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "Αλλαγή ιδιοκτησίας από %s σε %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "διατήÏηση ιδιοκτήτη για το %s" # #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "αποτυχία αλλαγής ιδιοκτησίας από %s σε %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "αποτυχία αλλαγής ιδιοκτησίας από %s σε %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/chown-core.c:180 #, fuzzy, c-format msgid "ownership of %s retained as %s\n" msgstr "ο ιδιοκτήτης του %s παÏέμεινε ως " #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "η ομάδα του %s έχει παÏαμείνει σε %s\n" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "ο ιδιοκτήτης του %s παÏέμεινε ως " # #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/chown-core.c:467 #, fuzzy, c-format msgid "changing ownership of %s" msgstr "διατήÏηση ιδιοκτήτη για το %s" # #: src/chown-core.c:468 #, fuzzy, c-format msgid "changing group of %s" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" # #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "μη έγκυÏη ομάδα %s" # #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "μη έγκυÏη ομάδα %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "Δεν μποÏεί να παÏθεί ο συμπληÏωματικός κατάλογος ομάδων." # #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" # #: src/chroot.c:202 #, fuzzy, c-format msgid "cannot change root directory to %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #: src/chroot.c:206 #, fuzzy, c-format msgid "cannot chdir to root directory" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "διατήÏηση ωÏών στο %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "διατήÏηση ωÏών στο %s" # #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" # #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/cksum.c:263 #, fuzzy, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" # #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" # #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "ΣÏγκÏιση ταξινομημένων αÏχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " "γÏαμμή.\n" "\n" " -1 απόκÏυψη μοναδικών γÏαμμών στο αÏιστεÏÏŒ αÏχείο\n" " -2 απόκÏυψη μοναδικών γÏαμμών στο δεξιό αÏχείο\n" " -3 απόκÏυψη μοναδικών γÏαμμών και στα δÏο αÏχεία\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" # #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "σφάλμα ανάγνωσης %s" # #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, fuzzy, c-format msgid "cannot lseek %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "σφάλμα εγγÏαφής %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "διατήÏηση ωÏών στο %s" # #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "αποτυχία εγγÏαφής" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, fuzzy, c-format msgid "failed to preserve ownership for %s" msgstr "διατήÏηση ιδιοκτήτη για το %s" #: src/copy.c:723 #, fuzzy, c-format msgid "failed to lookup file %s" msgstr "διατήÏηση ωÏών στο %s" #: src/copy.c:728 #, fuzzy, c-format msgid "failed to preserve authorship for %s" msgstr "διατήÏηση ιδιοκτήτη για το %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "αδυναμία ανοίγματος του %s Ï€Ïος ανάγνωση" # #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, fuzzy, c-format msgid "cannot remove %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, fuzzy, c-format msgid "removed %s\n" msgstr "διαγÏαφή καταλόγου %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" # #: src/copy.c:964 #, fuzzy, c-format msgid "cannot create regular file %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "διατήÏηση ωÏών στο %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "διατήÏηση ωÏών στο %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: αντιγÏαφή πάνω στο `%s', παÏάκαμψη δικαιωμάτων %04lo; " # #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: αντικατάσταση %s; " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (αντίγÏαφο ασφαλείας: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" # #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, fuzzy, c-format msgid "cannot stat %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/copy.c:1650 #, fuzzy, c-format msgid "omitting directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, fuzzy, c-format msgid "%s and %s are the same file" msgstr "τα `%s' και `%s' είναι το ίδιο αÏχείο" # #: src/copy.c:1811 #, fuzzy, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #: src/copy.c:1829 src/ln.c:214 #, fuzzy, c-format msgid "will not overwrite just-created %s with %s" msgstr "%s: δε μποÏεί να γÏαφτεί μη-κατάλογος πάνω σε κατάλογο" # #: src/copy.c:1847 #, fuzzy, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" "αδÏνατη η μετακίνηση του καταλόγου σε κάτι που δεν είναι κατάλογος: %s -> %s" #: src/copy.c:1891 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "η δημιουÏγία αντιγÏάφου ασφαλείας του `%s' θα κατέστÏεφε τη πηγή· το `%s' δε " "μετακινείται" #: src/copy.c:1892 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "στη δημιουÏγία αντιγÏάφου ασφαλείας του `%s' θα κατέστÏεφε τη πηγή· το `%s' " "δεν αντιγÏάφεται" # #: src/copy.c:1915 src/ln.c:276 #, fuzzy, c-format msgid "cannot backup %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "%s: δε μποÏεί να γÏαφτεί μη-κατάλογος πάνω σε κατάλογο" # #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "αδÏνατη η αντιγÏαφή του καταλόγου %s μέσα στον εαυτό του, %s" # #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "αδÏνατη η μετακίνηση του %s σε υποκατάλογο του ÎµÎ±Ï…Ï„Î¿Ï Ï„Î¿Ï…, %s" # #: src/copy.c:2166 #, fuzzy, c-format msgid "cannot move %s to %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "διατήÏηση ωÏών στο %s" #: src/copy.c:2246 #, fuzzy, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "%s: αδυναμία αντιγÏαφής ÎºÏ…ÎºÎ»Î¯ÎºÎ¿Ï ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï…" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: δυνατότητα δημιουÏγίας σχετικών συμβολικών συνδέσμων μόνο στο Ï„Ïέχον " "κατάλογο" # #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/copy.c:2416 src/mkfifo.c:132 #, fuzzy, c-format msgid "cannot create fifo %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "αδυναμία δημιουÏγίας του ÎµÎ¹Î´Î¹ÎºÎ¿Ï Î±Ïχείου %s" # #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "συμβολικός σÏνδεσμος" # #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/copy.c:2495 #, fuzzy, c-format msgid "%s has unknown file type" msgstr "%s: άγνωστο είδος αÏχείου" # #: src/copy.c:2644 src/ln.c:358 #, fuzzy, c-format msgid "cannot un-backup %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # src/copy.c:924 #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (χÏήση αντιγÏάφου ασφαλείας)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" "ΑντιγÏαφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" "\n" " -a, --archive το ίδιο με -dpR\n" " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " "αÏχείο\n" " Ï€ÏοοÏισμοÏ\n" " -b όπως το --backup αλλά δεν απαιτεί παÏάμετÏο\n" " -d, --no-dereference διατήÏηση συμβολικών συνδέσμων\n" " -f, --force διαγÏαφή υπαÏχόντων Ï€ÏοοÏισμών, χωÏίς\n" " επιβεβαίωση διαγÏαφής\n" " -i, --interactive απαίτηση διαβεβαίωσης διαγÏαφής Ï€Ïιν τη\n" " διαγÏαφή λόγω επικάλυψης\n" " -l, --link δημιουÏγία συνδέσμων αντί αντιγÏάφων\n" " -p, --preserve διατήÏηση χαÏακτηÏιστικών των αÏχείων, αν\n" " είναι δυνατόν\n" " -P, --parents Ï€Ïοσθήκη διαδÏομής της πηγής στο ΚΑΤΑΛΟΓΟΣ\n" " -r αντιγÏαφή αναδÏομικά, τους μη-καταλόγους σαν\n" " αÏχεία\n" " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χÏήση του -R όταν\n" " Ï€Ïόκειτε να αντιγÏάψετε ειδικά αÏχεία όπως\n" " FIFO ή το /dev/zero\n" " --sparse=WHEN έλεγχος της δημιουÏγίας αÏαιών (sparse)\n" " αÏχείων\n" " -R, --recursive αντιγÏαφή καταλόγων αναδÏομικά\n" " --strip-trailing-slashes απομάκÏυνση οτιδήποτε κάθετων που έπονται " "από\n" " κάθε ÏŒÏισμα ΠΗΓΗΣ\n" " -s, --symbolic-link δημιουÏγία συμβολικών συνδέσμων αντί\n" " αντιγÏάφων\n" " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνηθισμένης κατάληξης των\n" " αντιγÏάφων ασφαλείας\n" " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα οÏίσματα για ΠΗΓΗ στο\n" " ΚΑΤΑΛΟΓΟΣ\n" " -u, --update αντιγÏαφή μόνο όταν το αÏχείο ΠΗΓΗ είναι\n" " νεώτεÏο από το αÏχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" " το αÏχείο Ï€ÏοοÏισμός δεν υπάÏχει\n" " -v, --verbose εξήγηση του τί γίνεται\n" " -x, --one-file-system παÏαμονή στο Ï„Ïέχον σÏστημα αÏχείων\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Έξ οÏισμοÏ, τα αÏαία (sparse) αÏχεία ΠΗΓΗΣ αναγωÏίζονται με ένα όχι τόσο\n" "καλό ευÏεστικό αλγόÏιθμο και το αντίστοιχο αÏχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται αÏαιό\n" "επίσης. Αυτή είναι η συμπεÏιφοÏά της επιλογής --sparse=auto. Επιλέξτε\n" "--sparse=always για τη δημιουÏγία αÏαιών αÏχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το αÏχείο\n" "ΠΗΓΗ πεÏιέχει αÏκετά μεγάλες σειÏές από μηδενικά bytes.\n" "Με --sparse=never απογοÏεÏετε τη δημιουÏγία αÏαιών αÏχείων.\n" "\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 #, fuzzy msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" "Μετονομασία της ΠΗΓΗΣ σε ΠΡΟΟΡΙΣΜΟ ή μετακίνηση ΠΗΓΗΣ(ΩÎ) στο ΚΑΤΑΛΟΓΟ.\n" "\n" " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " "αÏχείο\n" " Ï€ÏοοÏισμοÏ\n" " -b όπως το --backup αλλά δεν απαιτεί παÏάμετÏο\n" " -f, --force διαγÏαφή υπαÏχόντων καταλόγων, χωÏίς\n" " επιβεβαίωση\n" " -i, --interactive επιβεβαίωση Ï€Ïιν τη διαγÏαφή\n" " --strip-trailing-slashes αφαίÏεση χαÏακτήÏων καθέτων στο τέλος\n" " γÏαμμής από κάθε ΠΗΓΗ\n" " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνήθης κατάληξης αντιγÏάφων\n" " ασφαλείας\n" " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνηση όλων των οÏισμάτων ΠΗΓΗΣ\n" " στον ΚΑΤΑΛΟΓΟ\n" " -u, --update μεταφοÏά μόνο των παλαιότεÏων ή εξολοκλήÏου\n" " νέων αÏχείων\n" " -v, --verbose εξήγηση του τι συμβαίνει\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "ΑντιγÏαφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" "\n" " -a, --archive το ίδιο με -dpR\n" " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " "αÏχείο\n" " Ï€ÏοοÏισμοÏ\n" " -b όπως το --backup αλλά δεν απαιτεί παÏάμετÏο\n" " -d, --no-dereference διατήÏηση συμβολικών συνδέσμων\n" " -f, --force διαγÏαφή υπαÏχόντων Ï€ÏοοÏισμών, χωÏίς\n" " επιβεβαίωση διαγÏαφής\n" " -i, --interactive απαίτηση διαβεβαίωσης διαγÏαφής Ï€Ïιν τη\n" " διαγÏαφή λόγω επικάλυψης\n" " -l, --link δημιουÏγία συνδέσμων αντί αντιγÏάφων\n" " -p, --preserve διατήÏηση χαÏακτηÏιστικών των αÏχείων, αν\n" " είναι δυνατόν\n" " -P, --parents Ï€Ïοσθήκη διαδÏομής της πηγής στο ΚΑΤΑΛΟΓΟΣ\n" " -r αντιγÏαφή αναδÏομικά, τους μη-καταλόγους σαν\n" " αÏχεία\n" " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χÏήση του -R όταν\n" " Ï€Ïόκειτε να αντιγÏάψετε ειδικά αÏχεία όπως\n" " FIFO ή το /dev/zero\n" " --sparse=WHEN έλεγχος της δημιουÏγίας αÏαιών (sparse)\n" " αÏχείων\n" " -R, --recursive αντιγÏαφή καταλόγων αναδÏομικά\n" " --strip-trailing-slashes απομάκÏυνση οτιδήποτε κάθετων που έπονται " "από\n" " κάθε ÏŒÏισμα ΠΗΓΗΣ\n" " -s, --symbolic-link δημιουÏγία συμβολικών συνδέσμων αντί\n" " αντιγÏάφων\n" " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνηθισμένης κατάληξης των\n" " αντιγÏάφων ασφαλείας\n" " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα οÏίσματα για ΠΗΓΗ στο\n" " ΚΑΤΑΛΟΓΟΣ\n" " -u, --update αντιγÏαφή μόνο όταν το αÏχείο ΠΗΓΗ είναι\n" " νεώτεÏο από το αÏχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" " το αÏχείο Ï€ÏοοÏισμός δεν υπάÏχει\n" " -v, --verbose εξήγηση του τί γίνεται\n" " -x, --one-file-system παÏαμονή στο Ï„Ïέχον σÏστημα αÏχείων\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Έξ οÏισμοÏ, τα αÏαία (sparse) αÏχεία ΠΗΓΗΣ αναγωÏίζονται με ένα όχι τόσο\n" "καλό ευÏεστικό αλγόÏιθμο και το αντίστοιχο αÏχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται αÏαιό\n" "επίσης. Αυτή είναι η συμπεÏιφοÏά της επιλογής --sparse=auto. Επιλέξτε\n" "--sparse=always για τη δημιουÏγία αÏαιών αÏχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το αÏχείο\n" "ΠΗΓΗ πεÏιέχει αÏκετά μεγάλες σειÏές από μηδενικά bytes.\n" "Με --sparse=never απογοÏεÏετε τη δημιουÏγία αÏαιών αÏχείων.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "Η κατάληξη των αντιγÏάφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" "Ο έλεγχος έκδοσης μποÏεί να τεθεί με την επιλογή --backup ή μέσω της\n" "μεταβλητής πεÏιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" "\n" " none,off να μη δημιουÏγοÏνται αντίγÏαδα ασφαλείας (ακόμα και\n" " αν δίνεται --backup)\n" " numbered, t δημιουÏγία αÏιθμημένων αντιγÏάφων ασφαλείας\n" " existing, nil αÏιθμημένων, αν υπάÏχουν αÏιθμημένα αντίγÏαφα, " "διαφοÏετικά\n" " απλά αντίγÏαφα\n" " simple, never πάντα δημιουÏγία απλών αντιγÏάφων\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 #, fuzzy msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" "Η κατάληξη των αντιγÏάφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" "Ο έλεγχος έκδοσης μποÏεί να τεθεί με την επιλογή --backup ή μέσω της\n" "μεταβλητής πεÏιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" "\n" " none,off να μη δημιουÏγοÏνται αντίγÏαδα ασφαλείας (ακόμα και\n" " αν δίνεται --backup)\n" " numbered, t δημιουÏγία αÏιθμημένων αντιγÏάφων ασφαλείας\n" " existing, nil αÏιθμημένων, αν υπάÏχουν αÏιθμημένα αντίγÏαφα, " "διαφοÏετικά\n" " απλά αντίγÏαφα\n" " simple, never πάντα δημιουÏγία απλών αντιγÏάφων\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Σαν ειδική πεÏίπτωση, η cp δημιουÏγεί αντίγÏαφα της ΠΗΓΗΣ όταν οι επιλογές\n" "και τα ΠΗΓΗ και ΠΡΟΟΡΙΣΜΟΣ έχουν το ίδιο όνομα, για ένα υπάÏχον, κανονικό " "αÏχείο.\n" #: src/cp.c:317 #, fuzzy, c-format msgid "failed to preserve times for %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/cp.c:348 #, fuzzy, c-format msgid "failed to preserve permissions for %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/cp.c:475 #, fuzzy, c-format msgid "cannot make directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/cp.c:524 src/cp.c:543 #, fuzzy, c-format msgid "%s exists but is not a directory" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "Ï€ÏοσπέÏασμα οÏίσματος" # #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "έχει παÏαληφθεί η λίστα με τα πεδία" # #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" # #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "" "όταν διατηÏοÏνται τα μονοπάτια, το τελευταίο ÏŒÏισμα Ï€Ïέπει να είναι κατάλογος" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "αδυναμία δημιουÏγίας σθεναÏών(hard) και συμβολικών συνδέσμων" # #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "είδος αντιγÏάφου ασφάλειας" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" # #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "η είσοδος εξαφανίστηκε" # #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: αÏιθμός γÏαμμής έξω από τα ÏŒÏια" # #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: `%s': αÏιθμός γÏαμμής έξω από τα ÏŒÏια" # #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr " στην επανάληψη %d\n" # #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: `%s': δεν βÏέθηκε ταίÏιασμα" # #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης" # #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "σφάλμα εγγÏαφής για το `%s'" # #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: αναμενόταν ακέÏαιος μετά τον οÏιοθέτη" # #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: το `}' απαιτείται όταν δηλώνονται οι επαναλήψεις" # #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: απαιτείται ακέÏαιος Î¼ÎµÏ„Î±Î¾Ï Ï„Ï‰Î½ `{' και `}'" # #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: ο τελεστής τεÏÎ¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï `%c' έχει παÏαληφθεί" # #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s" # #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: μη έγκυÏη μοÏφή" # #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: ο αÏιθμός γÏαμμής Ï€Ïέπει να είναι μεγαλÏτεÏος από το μηδέν" # #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" "ο αÏιθμός γÏαμμής `%s' είναι μικÏότεÏος από τον Ï€ÏοηγοÏμενο αÏιθμό γÏαμμής, " "%s" # #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" "Ï€Ïοειδοποίηση: ο αÏιθμός γÏαμμής `%s' είναι ίδιος με αυτόν της Ï€ÏοηγοÏμενης " "γÏαμμής" # #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "έχει παÏαληφθεί ο δηλωτής μετατÏοπής στην κατάληξη" # #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "μη έγκυÏος δηλωτής μετατÏοπής στην κατάληξη: %c" # #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "μη έγκυÏος δηλωτής μετατÏοπής στην κατάληξη: \\%.3o" # #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "μη έγκυÏη δήλωση πεδίου `%s'" # #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "πάÏα πολλές δηλώσεις μετατÏοπής στην κατάληξη" # #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "έχει παÏαληφθεί η δήλωση μετατÏοπής %% στην κατάληξη" # #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: μη έγκυÏος αÏιθμός" # #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ ΜΟΡΦΗ...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" # #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" # #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" # #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" # #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" "Αναδίπλωση γÏαμμών εισόδου σε κάθε ΑΡΧΕΙΟ (κανονική είσοδος εξ οÏισμοÏ),\n" "γÏάφοντας στην κανονική έξοδο.\n" "\n" " -b, --bytes μέτÏηση bytes αντί στηλών\n" " -s, --spaces αναδίπλωση σε διαστήματα μόνο\n" " -w, --width=ΠΛΑΤΟΣ χÏήση ΠΛΑΤΟΣ στήλες αντί για 80\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" # #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" # #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "μη έγκυÏο byte ή λίστα πεδίων" # #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/cut.c:482 #, fuzzy, c-format msgid "byte offset %s is too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "μόνο ένα είδος λίστας μποÏεί να οÏιστεί" # #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "ο διαχωÏιστής Ï€Ïέπει να είναι ένας μόνο χαÏακτήÏας" # #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "Ï€Ïέπει να οÏίσετε λίστα από bytes, χαÏακτήÏες ή πεδία" # #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "ένας διαχωÏιστής μποÏεί να οÏιστεί μόνο όταν λειτουÏγοÏμε με πεδία" # #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "η απόκÏυψη γÏαμμών που δεν έχουν διαχωÏιστές έχει νόημα\n" "\tμόνο όταν λειτουÏγοÏμε με πεδία" # #: src/cut.c:870 msgid "missing list of fields" msgstr "έχει παÏαληφθεί η λίστα με τα πεδία" # #: src/cut.c:872 msgid "missing list of positions" msgstr "έχει παÏαληφθεί η λίστα με τις θέσεις" #: src/date.c:123 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [+ΜΟΡΦΗ]\n" " ή: %s [ΕΠΙΛΟΓΗ] [ΜΜΗΗωωλλ[[ΥΥ]ΧΧ][.δδ]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" # #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "κανονική είσοδος" # #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." # #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να\n" "χÏησιμοποιηθοÏν παÏάλληλα." #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "Η παÏάμετÏος `%s' δεν ξεκινά με το Ï€Ïόθεμα `+' όπως θα έπÏεπε.\n" "Οταν χÏησιμοποιήτε μια επιλογή για να καθοÏίσετε την(τις) ημεÏομηνία(ες), \n" "κάθε παÏάμετÏος που δεν είναι επιλογή Ï€Ïέπει να είναι διαμοÏφωμένη έτσι\n" "ώστε να ξεκινάει με το `+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία." # #: src/date.c:558 src/du.c:371 #, fuzzy, c-format msgid "time %s is out of range" msgstr "%s: αÏιθμός γÏαμμής έξω από τα ÏŒÏια" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" # #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "ΧÏήση: %s [ΤΕΛΕΣΤΗΣ]...\n" " ή: %s ΕΠΙΛΟΓΗ\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" # #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "μηδενισμένη εγγÏαφή και γÏάψιμο πάνω σε αυτή (truncated)" msgstr[1] "μηδενισμένη εγγÏαφή και γÏάψιμο πάνω σε αυτή (truncated)" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" # #: src/dd.c:812 #, fuzzy, c-format msgid "closing input file %s" msgstr "δημιουÏγία αÏχείου `%s'\n" #: src/dd.c:819 #, fuzzy, c-format msgid "closing output file %s" msgstr "διαγÏαφή καταλόγου %s\n" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #: src/dd.c:1093 src/dd.c:1942 #, fuzzy, c-format msgid "writing to %s" msgstr "σφάλμα εγγÏαφής %s" # #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "άγνωστος τελεστής %s" # #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "μη έγκυÏη σημαία εξόδου" # #: src/dd.c:1227 msgid "invalid status flag" msgstr "μη έγκυÏη σημαία κατάστασης" # #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "μη έγκυÏος αÏιθμός %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" # #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'" # #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: δε μποÏεί να διαγÏαφεί" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: δε μποÏεί να διαγÏαφεί" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "διατήÏηση ωÏών στο %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" # #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "διαγÏαφή καταλόγου %s\n" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "διατήÏηση ωÏών στο %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "διαγÏαφή καταλόγου %s\n" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "" #: src/df.c:175 msgid "Type" msgstr "" # #: src/df.c:178 src/df.c:542 #, fuzzy msgid "blocks" msgstr "μέγεθος μπλοκ" #: src/df.c:181 msgid "Used" msgstr "" #: src/df.c:184 msgid "Available" msgstr "" #: src/df.c:187 msgid "Use%" msgstr "" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" # #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "ΠÏοειδοποίηση:" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, fuzzy, c-format msgid "file system type %s both selected and excluded" msgstr "το σÏστημα αÏχείων `%s' είναι και επελεγμένο και αποκλειώμενο" #: src/df.c:1500 msgid "Warning: " msgstr "ΠÏοειδοποίηση:" #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%sαδυναμία ανάγνωσης πίνακα Ï€ÏοσαÏτημένων συστήματος αÏχείων" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" # #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/dircolors.c:98 #, fuzzy msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Εμφάνιση εντολών για να τεθοÏν στη μεταβλητή πεÏιβάλλοντος LS_COLORS.\n" "\n" "Επιλογή μοÏφής εξόδου:\n" " -b, --sh, --bourne-shell εμφάνιση κώδικα Bourne shell για να τεθεί στην " "LS_COLORS\n" " -c, --csh, --c-shell εμφάνιση κώδικα C shell για να τεθεί στην " "LS_COLORS\n" " -p, --print-database εμφάνιση εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÏÏθμισης\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αν οÏίζεται ΑΡΧΕΙΟ, αναγιγνώσκεται για να διευκÏινιστεί ποια χÏώματα να " "χÏησιμοποιηθοÏν για \n" "κάθε είδος αÏχείου και κατάληξης. ΔιαφοÏετικά, χÏησιμοποιήται μια έτοιμη " "βάση.\n" "Για λεπτομέÏιες για τη μοÏφή των αÏχείων αυτών, Ï„Ïέξτε `dircolors --print-" "database'.\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" # #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: μη έγκυÏος αÏιθμός δευτεÏολέπτων" # #: src/dircolors.c:358 #, fuzzy, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s: μη αναγνωÏίσιμη επιλογή `%c%s'\n" # src/dircolors.c:372 #: src/dircolors.c:359 msgid "<internal>" msgstr "<εσωτεÏικό>" #: src/dircolors.c:440 #, fuzzy, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "Οι επιλογές για πεÏιτολογία και 'stty-readable' τυποι εξόδου είναι\n" "αποκλειστικά αμοιβαίες." #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "δεν υπάÏχει μεταβλητή πεÏιβάλλοντος SHELL, και δεν δόθηκε είδος φλοιοÏ" # #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Εκτυπώνει το ΟÎΟΜΑ αφαιÏώντας το ακολουθοÏμενο /στοιχείο. Εάν το όνομα δεν\n" "πεÏιέχει `/' το σÏμβολο `.' δηλώνει τον Ï„Ïέχων κατάλογο\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" # #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" # #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" # #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "αποτυχία ανάγνωσης" # #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" "δεν είναι δυνατό να δειχτεί πεÏίληψη και να εμφανιστοÏν όλες οι καταχωÏίσεις" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "Ï€Ïοειδοποίηση: η πεÏίληψη είναι όμοιο με --max-depth=0" #: src/du.c:900 #, fuzzy, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "Ï€Ïοειδοποίηση: η πεÏίληψη έÏχεται σε αντίφαση με το --max-depth=%d" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" # #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: σφάλμα ανάγνωσης" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" # #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "μη έγκυÏη ομάδα" # #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "σÏνολο" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" # #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "σθεναÏός σÏνδεσμος" # #: src/env.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Τίθεται σε κάθε ΜΕΤΑΒΛΗΤΗ του πεÏιβάλλοντος η ΤΙΜΗ εκτελείται η ΕÎΤΟΛΗ.\n" "\n" " -i, --ignore-environment Εκκίνηση με άδειο πεÏιβάλλον\n" " -u, --unset=VARIABLE ΑφαιÏείται η ΜΕΤΑΒΛΗΤΗ απο το πεÏιβαλλον\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" "\n" "Ενα απλό - υπονοείται -i. Εαν δεν υπάÏχει ΕÎΤΟΛΗ, εκτυπώνεται το\n" "πεÏιβαλλον που δημιουÏγήθηκε.\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" # #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" # #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" # #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "το μέγεθος στηλογνώμονα πεÏιέχει μη έγκυÏο χαÏακτήÏα" # #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "το μέγεθος στηλογνώμονα δε μποÏεί να είναι 0" # #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "τα μεγέθη του στηλογνώμονα Ï€Ïέπει να είναι κατά αÏξουσα σειÏά" # #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "το αÏχείο μηδενίστηκε" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" # #: src/expr.c:203 #, fuzzy, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "ΠÏοσέχτε οτι πολλοί τελεστές(operators) χÏειάζονται χαÏακτήÏες διαφυγής ή\n" "εισαγωγικά για τα κελÏφη (shells).\n" "Οι συγκÏίσεις είναι αÏιθμητικές εάν και οι δυο ΠΑΡΑΜετÏοι είναι αÏιθμοί,\n" "ή αλλιώς λεξικογÏαφικοί.\n" "Το ταίÏιασμα με Ï€Ïότυπο επιστÏέφει την αλυσίδα που βÏέθηκε μεταξÏ\n" "\\( και \\) ή κενό. Εαν \\( και \\) δεν χÏησιμοποιήθηκαν, τοτε επιστÏέφει\n" "τον αÏιθμό των χαÏακτήÏων που ταίÏιαξαν ή 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" # #: src/expr.c:278 #, fuzzy, c-format msgid "syntax error" msgstr "κανονικό σφάλμα" # #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "σφάλμα στην ανεÏÏεση μέσω κανονικής έκφÏασης" # #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "ÏŒÏιο οÏίσματος" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" # #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Θέστε LC_ALL='C' για να παÏακάμψετε το Ï€Ïόβλημα." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος." # #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/factor.c:2454 #, fuzzy, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Εκτυπώνει τους Ï€Ïώτους παÏάγοντες κάθε ΑΡΙΘΜΟΥ.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" "\n" "Εκτυπώνει τους Ï€Ïώτους παÏάγοντες όλων των καθοÏισμένων ακέÏαιων ΑΡΙΘΜΩÎ.\n" "Εάν δεν έχουν δοθεί παÏάμετÏοι στην γÏαμμή εντολών, τοτε εισάγονται απο την\n" "τυπική είσοδο.\n" # #: src/find-mount-point.c:40 #, fuzzy, c-format msgid "cannot get current directory" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, fuzzy, c-format msgid "cannot change to directory %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #: src/find-mount-point.c:70 #, fuzzy, c-format msgid "cannot stat current directory (now %s)" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" # #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "ΧÏήση: %s [-ΨΗΦΙΑ] [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" # #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" "ΜοÏφοποίηση ξανά κάθε παÏαγÏάφου στο ΑΡΧΕΙΟ(Α), γÏάφοντας στην κανονική " "έξοδο.\n" "Αν κανένα ΑΡΧΕΙΟ δεν έχει οÏιστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " "κανονική είσοδο.\n" "\n" "ΥποχÏεωτικά οÏίσματα στις μακÏές επιλογές είναι υποχÏεωτικά για σÏντομες " "επιλογές επίσης.\n" " -c, --crown-margin διατήÏησε την εσοχή των δÏο Ï€Ïώτων γÏαμμών\n" " -p, --prefix=ΑΛΦΑΡΙΘ συνδÏασε μόνο γÏαμμές με ΑΛΦΑΡΙΘΜητικό ως " "Ï€Ïόθεμα\n" " -s, --split-only χώÏισε στα δÏο τις μακÏές γÏαμμές αλλά χωÏίς " "γέμισμα ξανά\n" " -t, --tagged-paragraph η εσοχή της Ï€Ïώτης γÏαμμής να είναι διαφοÏετική " "από τη δεÏτεÏη\n" " -u, --uniform-spacing ένα διάστημα Î¼ÎµÏ„Î±Î¾Ï Î»Î­Î¾ÎµÏ‰Î½, δÏο μετά από " "Ï€Ïοτάσεις\n" " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γÏαμμής (εξ οÏÎ¹ÏƒÎ¼Î¿Ï 75 στήλες)\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Στο -wΑΡΙΘΜΟΣ, το γÏάμμα `w' μποÏεί να παÏαληφθεί.\n" # #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" "ΜοÏφοποίηση ξανά κάθε παÏαγÏάφου στο ΑΡΧΕΙΟ(Α), γÏάφοντας στην κανονική " "έξοδο.\n" "Αν κανένα ΑΡΧΕΙΟ δεν έχει οÏιστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " "κανονική είσοδο.\n" "\n" "ΥποχÏεωτικά οÏίσματα στις μακÏές επιλογές είναι υποχÏεωτικά για σÏντομες " "επιλογές επίσης.\n" " -c, --crown-margin διατήÏησε την εσοχή των δÏο Ï€Ïώτων γÏαμμών\n" " -p, --prefix=ΑΛΦΑΡΙΘ συνδÏασε μόνο γÏαμμές με ΑΛΦΑΡΙΘΜητικό ως " "Ï€Ïόθεμα\n" " -s, --split-only χώÏισε στα δÏο τις μακÏές γÏαμμές αλλά χωÏίς " "γέμισμα ξανά\n" " -t, --tagged-paragraph η εσοχή της Ï€Ïώτης γÏαμμής να είναι διαφοÏετική " "από τη δεÏτεÏη\n" " -u, --uniform-spacing ένα διάστημα Î¼ÎµÏ„Î±Î¾Ï Î»Î­Î¾ÎµÏ‰Î½, δÏο μετά από " "Ï€Ïοτάσεις\n" " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γÏαμμής (εξ οÏÎ¹ÏƒÎ¼Î¿Ï 75 στήλες)\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Στο -wΑΡΙΘΜΟΣ, το γÏάμμα `w' μποÏεί να παÏαληφθεί.\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" # #: src/fmt.c:405 src/fmt.c:416 #, fuzzy, c-format msgid "invalid width: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" # #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" # #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" # #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Δεν υπάÏχει τέτοιος χÏήστης." # #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Εμφάνιση των 10 Ï€Ïώτων γÏαμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" "Με πεÏισσότεÏα από ένα ΑΡΧΕΙΟ, να Ï€Ïοηγηθεί επισέλιδο με το όνομα του " "αÏχείου.\n" "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική είσοδο.\n" "\n" " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των Ï€Ïώτων ΜΕΓΕΘΟΣ bytes\n" " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των Ï€Ïώτων ΑΡΙΘΜΟΣ γÏαμμών αντί των " "Ï€Ïώτων 10\n" " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " "αÏχείων\n" " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " "αÏχείων\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Το ΜΕΓΕΘΟΣ μποÏεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για 1K, m " "για 1 Meg.\n" "Αν χÏησιμοποιείται το -VALUE σαν Ï€Ïώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφοÏετικά " "ανάγνωσε -n ΤΙΜΗ\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" # #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" # #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "μη έγκυÏος αÏιθμός από bytes Ï€Ïος σÏγκÏιση: `%s'" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" # #: src/head.c:612 src/head.c:691 src/tail.c:449 #, fuzzy, c-format msgid "%s: cannot seek to offset %s" msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" # #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "το αÏχείο μηδενίστηκε" # #: src/head.c:798 #, fuzzy, c-format msgid "cannot reposition file pointer for %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: το %s είναι τόσο μεγάλο που δε μποÏεί να αναπαÏασταθεί" # #: src/head.c:886 msgid "number of lines" msgstr "αÏιθμός γÏαμμών" # #: src/head.c:886 msgid "number of bytes" msgstr "αÏιθμός από bytes" # #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "μη έγκυÏος αÏιθμός από γÏαμμές" # #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "μη έγκυÏος αÏιθμός από bytes" # #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "%s: μη έγκυÏη επιλογή -- %c\n" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Εκτυπώνει το όνομα του Ï„Ïέχοντος χÏήστη.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/hostname.c:56 #, fuzzy, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "ΧÏήση: %s [ΟÎΟΜΑ]\n" " ή: %s ΕΠΙΛΟΓΗ\n" "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "Δεν μποÏεί να τεθεί το όνομα συστήματος. Λείπει αυτή η λειτουÏγία απο το\n" "σÏστημα" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" # #: src/id.c:81 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "ΕκτÏπωνει πληÏοφοÏίες που αφοÏοÏν ενα ΧΡΗΣΤΗ, ή τον Ï„Ïέχοντα χÏήστη.\n" "\n" " -a Αγνοείται, για συμβατοτητα με παλιότεÏες εκδόσεις\n" " -g, --group Εκτυπώνει μόνο τις ταυτότητες ομάδων\n" " -G, --groups Εκτυπώνει μόνο τις συμπληÏωματικές ομάδες\n" " -n, --name Εκτυπώνει όνομα αντί για αÏιθμό, για την -ugG\n" " -r, --real Εκτυπώνει την Ï€Ïαγματική ταυτότητα (real id) αντί της\n" " ισχÏουσας ταυτότητας χÏήστη (effective id), για την -ugG\n" " -u, --user Εκτυπώνει μόνο την Ï€Ïαγματική ταυτότητα\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" "\n" "ΧωÏίς καμιά ΕΠΙΛΟΓΗ, εκτυπώνει μια χÏήσιμη σειÏά πληÏοφοÏιών.\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" # #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "δεν είναι δυνατό να γίνει διαχωÏισμός σε πεÏισσότεÏους από ένα Ï„Ïόπο" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "Δεν μποÏεί να εκτυπωθοÏν μόνο ονόματα ή Ï€Ïαγματική ταυτότητα(read ID) σε\n" "τυπική μοÏφή" #: src/id.c:199 #, fuzzy, c-format msgid "can't get process context" msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή." # #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%s: δεν μποÏει να βÏεθεί όνομα χÏήστη για το 'UID' %u\n" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " ομάδες=" # #: src/id.c:393 #, fuzzy, c-format msgid " context=%s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/install.c:414 #, fuzzy, c-format msgid "creating directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/install.c:482 #, fuzzy, c-format msgid "cannot change ownership of %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, fuzzy, c-format msgid "fork system call failed" msgstr "ειδικό αÏχείο μπλοκ" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "σφάλμα εγγÏαφής %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" # #: src/install.c:558 #, fuzzy, c-format msgid "invalid user %s" msgstr "μη έγκυÏος χÏήστης" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, fuzzy, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "Η αλυσίδα μοÏφής δεν Ï€Ïέπει να καθοÏίζεται όταν εκτυπώνονται\n" "αλυσίδες με ίσα μήκη." #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "" "Η αλυσίδα μοÏφής δεν Ï€Ïέπει να καθοÏίζεται όταν εκτυπώνονται\n" "αλυσίδες με ίσα μήκη." #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" # #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, fuzzy, c-format msgid "invalid mode %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" # #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" # #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" # #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" "ΣÏγκÏιση ταξινομημένων αÏχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " "γÏαμμή.\n" "\n" " -1 απόκÏυψη μοναδικών γÏαμμών στο αÏιστεÏÏŒ αÏχείο\n" " -2 απόκÏυψη μοναδικών γÏαμμών στο δεξιό αÏχείο\n" " -3 απόκÏυψη μοναδικών γÏαμμών και στα δÏο αÏχεία\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" # #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'" # #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" # #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" # #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "και τα δÏο αÏχεία δε μποÏεί να είναι η κανονική είσοδος" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 #, fuzzy msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" "ΑντιγÏάφει την τυπική είσοδο σε κάθε ΑΡΧΕΙΟ, και στην τυπική έξοδο.\n" "\n" " -a, --append ΠÏοσθέτει στο ΑΡΧΕΙΟ(α), χωÏίς να γÏάφει\n" " πάνω απο τα υπάÏχοντα\n" " -i, --ignore-interrupts Αγνοεί σήματα διακοπής\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" # #: src/kill.c:205 #, fuzzy, c-format msgid "%s: invalid process id" msgstr "%s: μη έγκυÏη μοÏφή" # #: src/kill.c:259 #, fuzzy, c-format msgid "invalid option -- %c" msgstr "%s: μη έγκυÏη επιλογή -- %c\n" #: src/kill.c:268 #, fuzzy, c-format msgid "%s: multiple signals specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" # #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" # #: src/link.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" # #: src/link.c:90 #, fuzzy, c-format msgid "cannot create link %s to %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/ln.c:190 #, fuzzy, c-format msgid "%s: hard link not allowed for directory" msgstr "Το `%s' δεν είναι κατάλογος." # #: src/ln.c:255 #, fuzzy, c-format msgid "%s: cannot overwrite directory" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/ln.c:260 #, fuzzy, c-format msgid "%s: replace %s? " msgstr "%s: αντικατάσταση του `%s'; " # #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" # #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΠΗΓΗ ΠΡΟΟΡΙΣΜΟΣ (1η μοÏφή)\n" " ή: %s [ΕΠΙΛΟΓΗ]... ΠΗΓΗ... ΚΑΤΑΛΟΓΟΣ (2η μοÏφή)\n" " ή: %s -d [ΕΠΙΛΟΓΗ]... ΚΑΤΑΛΟΓΟΣ... (3η μοÏφή)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" # #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" # #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" # #: src/logname.c:39 src/sync.c:40 #, fuzzy, c-format msgid "Usage: %s [OPTION]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" # #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "%s: μη έγκυÏος αÏιθμός" # #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 #, fuzzy msgid "%b %e %Y" msgstr "%b %e %H:%M %Y" # #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 #, fuzzy msgid "%b %e %H:%M" msgstr "%b %e %H:%M %Y" #: src/ls.c:1580 #, fuzzy, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "αγνοείται μη έγκυÏο πλάτος στη μεταβλητή πεÏιβάλλοντος COLUMNS: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "αγνοείται μη έγκυÏο πλάτος στη μεταβλητή πεÏιβάλλοντος COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "αγνοείται μη έγκυÏο μέγεθος οÏιζόντιου στηλοθέτη στη μεταβλητή πεÏιβάλλοντος " "TABSIZE: %s" # #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "ΈγκυÏα οÏίσματα είναι:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" # #: src/ls.c:2407 #, fuzzy, c-format msgid "unrecognized prefix: %s" msgstr "απαÏάδεκτη επιλογή `-%c'" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" "τιμή που δε μποÏεί να αναγνωÏιστεί στη μεταβλητή πεÏιβάλλοντος LS_COLORS" # #: src/ls.c:2514 src/pwd.c:161 #, fuzzy, c-format msgid "cannot open directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ls.c:2615 src/pwd.c:229 #, fuzzy, c-format msgid "reading directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -g (αγνοείται)\n" " -G, --no-group να μην εμφανίζονται πληÏοφοÏίες ομάδας\n" " -h, --human-readable εμφάνιση μεγεθών σε ανθÏωπίνως αναγνώσιμη\n" " μοÏφή (Ï€.χ. 1Κ 234M 2G)\n" " -H, --si όπως παÏαπάνω, αλλά με δυνάμεις του 1000 αντί\n" " του 1024\n" " --indicator-style=ΛΕΚΤΙΚΟ Ï€Ïοσθήκη δείκτη ΛΕΚΤΙΚΟ στις καταχωÏίσεις\n" " ονομάτων:\n" " none (εξ οÏισμοÏ), classify (-F), file-type\n" " (-p)\n" " -i, --inode εμφάνιση δείκτη κάθε αÏχείου\n" " -I, --ignore=PATTERN να μην εμφανίζονται αναφεÏόμενες καταχωÏίσεις \n" " που ταιÏίαζουν στο PATTERN του φλοιοÏ\n" " -k, --kilobytes όπως --block-size=1024\n" " -l χÏήση μακÏοσκελοÏÏ‚ είδους εμφάνισης\n" " -L, --dereference εμφάνιση καταχωÏίσεων που δείχνουν οι\n" " συμβολικοί σÏνδεσμοι\n" " -m συμπλήÏωση του πλάτους με λίστα από\n" " καταχωÏίσεις διαχωÏιζόμενων με κόμμα\n" " -n, --numeric-uid-gid εμφάνιση αÏιθμητικών UID και GID αντί για\n" " ονόματα\n" " -N, --literal εμφάνιση ακατέÏγαστων καταχωÏίσεων (Ï€.χ. να " "μην\n" " τυγχάνουν\n" " ειδικής επεξεÏγασίας οι χαÏακτήÏες ελέγχου)\n" " -o χÏήση μακÏοσκελοÏÏ‚ εμφάνισης χωÏίς πληÏοφοÏίες\n" " ομάδας\n" " -p, --file-type Ï€Ïοσθήκη ενδείξης (ένα από /=@|) στις\n" " καταχωÏίσεις\n" " -q, --hide-control-chars εμφάνιση του ? αντί των μη-εκτυπώσιμων\n" " χαÏακτήÏων\n" " --show-control-chars εμφάνιση μη εκτυπώσιμων χαÏακτήÏων όπως είναι\n" " (εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎµÎºÏ„ÏŒÏ‚ αν το Ï€ÏόγÏαμμα είναι το\n" " ls και η έξοδος είναι το τεÏματικό)\n" " -Q, --quote-name εμφάνιση καταχωÏίσεων μέσα σε διπλά εισαγωγικά\n" " --quoting-style=ΛΕΚΤΙΚΟ χÏήση μοÏφής ΛΕΚΤΙΚΟ στην εμφάνιση ονομάτων\n" " καταχωÏίσεων:\n" " literal, shell, shell-always, c, escape\n" " -r, --reverse αντίστÏοφη σειÏά στην ταξινόμηση\n" " -R, --recursive εμφάνιση υποκαταλόγων αναδÏομικά\n" " -s, --size εμφάνιση μεγέθους κάθε αÏχείου, σε μπλοκ\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" # #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]\n" "ΕγγÏαφή πλήÏους ταξινομημένης λίστας σε συμφωνία με τη μεÏική ταξινόμηση\n" "στο ΑΡΧΕΙΟ. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την\n" "κανονική είσοδο.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" "\n" " -B, --binary χÏήση δυαδικών γÏαψιμάτων στη συσκευή της " "κονσόλας.\n" "\n" # #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary χÏήση δυαδικών γÏαψιμάτων στη συσκευή της " "κονσόλας.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" # #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr "" "\n" " -B, --binary χÏήση δυαδικών γÏαψιμάτων στη συσκευή της " "κονσόλας.\n" "\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" # #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "" "%s: δε βÏέθηκαν κανονικά μοÏφοποιημένες γÏαμμές αθÏοισμάτων ελέγχου MD5" # #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %lu: εσφαλμένα μοÏφοποιημένη γÏαμμή αθÏοίσματος ελέγχου MD5" # #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: ΑÎΕΠΙΤΥΧΕΣ άνοιγμα ή ανάγνωση\n" # #: src/md5sum.c:595 msgid "FAILED" msgstr "ΑÎΕΠΙΤΥΧΕΣ" # #: src/md5sum.c:597 msgid "OK" msgstr "ΕÎΤΑΞΕΙ" # #: src/md5sum.c:621 #, fuzzy, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" "%s: δε βÏέθηκαν κανονικά μοÏφοποιημένες γÏαμμές αθÏοισμάτων ελέγχου MD5" # #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %lu: εσφαλμένα μοÏφοποιημένη γÏαμμή αθÏοίσματος ελέγχου MD5" msgstr[1] "%s: %lu: εσφαλμένα μοÏφοποιημένη γÏαμμή αθÏοίσματος ελέγχου MD5" # #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d αναφεÏόμενα %s δεν ήταν δυνατό να αναγνωστοÏν" msgstr[1] "" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d αναφεÏόμενα %s δεν ήταν δυνατό να αναγνωστοÏν" # #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d υπολόγισαν σε %s ΔΕΠταίÏιαξαν" msgstr[1] "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d υπολόγισαν σε %s ΔΕΠταίÏιαξαν" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" # #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου" # #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "οι επιλογές --binary και --text δεν έχουν σημασία όταν επιβεβαιώνονται " "αθÏοίσματα ελέγχου" # #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου" # #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "η επιλογή --warn έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου" # #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου" # #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθÏοισμάτων ελέγχου" # #: src/mkdir.c:56 src/rmdir.c:164 #, fuzzy, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" "ΔημιουÏγία ΚΑΤΑΛΟΓΟΥ(ΩÎ), αν δεν υπάÏχουν ήδη.\n" "\n" " -m, --mode=ΔΙΚΑΙΩΜΑΤΑ οÏισμός δικαιωμάτων (όπως στη chmod), και όχι " "rwxrwxrwx - umask\n" " -p, --parents χωÏίς σφάλμα όταν ο κατάλογος υπάÏχει, δημιουÏγία " "γονικών καταλόγων\n" " όπου χÏειάζεται\n" " -v, --verbose εμφάνιση μηνÏματος για κάθε κατάλογο που δημιουÏγείται\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/mkdir.c:168 #, fuzzy, c-format msgid "created directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/mkfifo.c:51 src/pathchk.c:89 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" "ΔημιουÏγία επώνυμων σωληνώσεων (FIFOs) με το δοθέν ΟÎΟΜΑ(ΤΑ).\n" "\n" " -m, --mode=ΔΙΚΑΙΩΜΑ οÏισμός δικαιωμάτων (όπως στη chmod), όχι a=rw - " "umask\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" # #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "μη έγκυÏος αÏιθμός" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" # #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 #, fuzzy msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "ΔημιουÏγία ÎµÎ¹Î´Î¹ÎºÎ¿Ï Î±Ïχείου ΟÎΟΜΑ του δοθέντος ΕΙΔΟΥΣ.\n" "\n" " -m, --mode=ΔΙΚΑΙΩΜΑ οÏισμός δικαιωμάτων (όπως στη chmod), όχι a=rw - " "umask\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "MAJOR MINOR δεν επιτÏέπονται για ΕΙΔΟΣ p, διαφοÏετικά είναι υποχÏεωτικά.\n" "Το ΕΙΔΟΣ μποÏεί να είναι: \n" "\n" " b δημιουÏγία ÎµÎ¹Î´Î¹ÎºÎ¿Ï Î¼Ï€Î»Î¿Îº (με ενταμίευση) αÏχείου\n" " c, u δημιουÏγία ÎµÎ¹Î´Î¹ÎºÎ¿Ï Î±Ïχείου χαÏακτήÏων (χωÏίς ενταμίευση)\n" " p δημιουÏγία αÏχείου FIFO\n" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "" "όταν δημιουÏγοÏνται ειδικά αÏχεία μπλοκ, οι major και minor\n" "αÏιθμοί συσκευής Ï€Ïέπει να οÏίζονται" # #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" # #: src/mknod.c:176 #, fuzzy, c-format msgid "block special files not supported" msgstr "ειδικό αÏχείο μπλοκ" # #: src/mknod.c:185 #, fuzzy, c-format msgid "character special files not supported" msgstr "ειδικό αÏχείο χαÏακτήÏων" # #: src/mknod.c:201 #, fuzzy, c-format msgid "invalid major device number %s" msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" # #: src/mknod.c:206 #, fuzzy, c-format msgid "invalid minor device number %s" msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" # #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/mknod.c:225 #, fuzzy, c-format msgid "invalid device type %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" # #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" # #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "πάÏα πολλά οÏίσματα" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" # #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "διατήÏηση ωÏών στο %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" "Μετονομασία της ΠΗΓΗΣ σε ΠΡΟΟΡΙΣΜΟ ή μετακίνηση ΠΗΓΗΣ(ΩÎ) στο ΚΑΤΑΛΟΓΟ.\n" "\n" " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " "αÏχείο\n" " Ï€ÏοοÏισμοÏ\n" " -b όπως το --backup αλλά δεν απαιτεί παÏάμετÏο\n" " -f, --force διαγÏαφή υπαÏχόντων καταλόγων, χωÏίς\n" " επιβεβαίωση\n" " -i, --interactive επιβεβαίωση Ï€Ïιν τη διαγÏαφή\n" " --strip-trailing-slashes αφαίÏεση χαÏακτήÏων καθέτων στο τέλος\n" " γÏαμμής από κάθε ΠΗΓΗ\n" " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνήθης κατάληξης αντιγÏάφων\n" " ασφαλείας\n" " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνηση όλων των οÏισμάτων ΠΗΓΗΣ\n" " στον ΚΑΤΑΛΟΓΟ\n" " -u, --update μεταφοÏά μόνο των παλαιότεÏων ή εξολοκλήÏου\n" " νέων αÏχείων\n" " -v, --verbose εξήγηση του τι συμβαίνει\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" # #: src/nice.c:72 #, fuzzy, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" # #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "Μια εντολή Ï€Ïέπει να δίνεται με μια Ï€ÏοσαÏμογή (Ï€ÏοτεÏαιότητας)." # #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία." #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" # #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" # #: src/nl.c:186 #, fuzzy msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" "ΕγγÏαφή κάθε αÏχείου στην κανονική έξοδο, τελευταία γÏαμμή Ï€Ïώτα.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -b, --before τοποθέτηση του διαχωÏιστή Ï€Ïιν αντί για μετά\n" " -r, --regex μετάφÏαση του διαχωÏιστή ως κανονική έκφÏαση\n" " -s, --separator=ΑΛΦΑΡΙΘΜ χÏήση Î‘Î›Î¦Î‘Î¡Î™Î˜ÎœÎ·Ï„Î¹ÎºÎ¿Ï Ï‰Ï‚ διαχωÏιστής αντί του " "χαÏακτήÏα νέας γÏαμμής\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" # #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" # #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "μη έγκυÏος αÏιθμός" # #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'" # #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" # #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" # #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'" # #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "μη έγκυÏος μήκος πεδίου αÏÎ¹Î¸Î¼Î¿Ï Î³Ïαμμής: `%s'" # #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" # #: src/nohup.c:53 #, fuzzy, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" # #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "και τα δÏο αÏχεία δε μποÏεί να είναι η κανονική είσοδος" # #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "πάÏα πολλά οÏίσματα" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" # #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" # #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, fuzzy, c-format msgid "Usage: %s [OPTION]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" # #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: η τιμή δεν έχει πλήÏως μετατÏαπεί." # #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "μη έγκυÏος αÏιθμός %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" # #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" # #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "το αÏχείο μηδενίστηκε" # #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" # #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" # #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" # #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" # #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" # #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" # #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "σφάλμα ανάγνωσης %s" # #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "και τα δÏο αÏχεία δε μποÏεί να είναι η κανονική είσοδος" # #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" # #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" # #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" # #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s';\n" "αυτό το σÏστημα δεν παÏέχει τον εσωτεÏικό Ï„Ïπο δεδομένων %lu-byte" # #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s';\n" "αυτό το σÏστημα δεν παÏέχει τον εσωτεÏικό Ï„Ïπο δεδομένων κινητής " "υποδιαστολής %lu-byte" # #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "αδυναμία Ï€ÏοσπέÏασης μετά το τέλος της συνδυασμένης εισόδου" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" # #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "κανένα είδος δε μποÏεί να δηλωθεί όταν τυπώνονται αλφαÏιθμητικά" # #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "η κατάσταση συμβατότητας υποστηÏίζει το Ï€Î¿Î»Ï Ï„Ïία οÏίσματα" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" # #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" # #: src/operand2sig.c:69 #, fuzzy, c-format msgid "%s: invalid signal" msgstr "%s: μη έγκυÏος πεÏιγÏαφέας διεÏγασίας (PID)" # #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "η κανονική είσοδος είναι κλεισμένη" # #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" # #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" # #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "κανονικό κενό αÏχείο" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" # #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Σκοτ ΜπάÏÏ„Ïαμ και Îτέιβιντ Μακένζη" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, fuzzy, c-format msgid "Login name: " msgstr "%s: Δεν υπάÏχει όνομα χÏήστη (login name).\n" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" # #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "κατάλογος" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 msgid "Login" msgstr "" #: src/pinky.c:407 #, fuzzy msgid "Name" msgstr "πμ" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 msgid "Idle" msgstr "" #: src/pinky.c:411 msgid "When" msgstr "" #: src/pinky.c:414 msgid "Where" msgstr "" # #: src/pinky.c:493 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" # #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "δε μποÏοÏν να δηλώνονται αÏχεία όταν γίνεται χÏήση του --string" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" # #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Πιτ ΤεÏΜάτ και Ρόλαντ ΧέμπνεÏ" # #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "`--pages=ΠΡΩΤΗ_ΣΕΛΙΔΑ[:ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ]' απουσία οÏίσματος" # #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l ΜΗΚΟΣ_ΣΕΛΙΔΑΣ' μη έγκυÏος αÏιθμός γÏαμμών: `%s'" # #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N ΑΡΙΘΜΟΣ' μη έγκυÏος αÏιθμός αÏχικής σελίδας: `%s'" # #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o ΠΕΡΙΘΩΡΙΟ' μη έγκυÏη θέση γÏαμμής: `%s'" # #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ' μη έγκυÏος αÏιθμός χαÏακτήÏων : `%s'" # #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ' μη έγκυÏος αÏιθμός χαÏακτήÏων : `%s'" # #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Δεν είναι δυνατό να δηλωθεί αÏιθμός στηλών στην παÏάλληλη εκτÏπωση." # #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Δεν είναι δυνατό να δηλωθεί σειÏιακή και παÏάλληλη εκτÏπωση." # #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "`-%c' επιπλέον χαÏακτήÏες ή μη έγκυÏος αÏιθμός στο ÏŒÏισμα: `%s'" # #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "το πλάτος σελίδας είναι Ï€Î¿Î»Ï ÏƒÏ„ÎµÎ½ÏŒ" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" # #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" # #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" # #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" # #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" "ΣÏγκÏιση ταξινομημένων αÏχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " "γÏαμμή.\n" "\n" " -1 απόκÏυψη μοναδικών γÏαμμών στο αÏιστεÏÏŒ αÏχείο\n" " -2 απόκÏυψη μοναδικών γÏαμμών στο δεξιό αÏχείο\n" " -3 απόκÏυψη μοναδικών γÏαμμών και στα δÏο αÏχεία\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Εάν καμιά ΜΕΤΑΒΛΗΤΗ του πεÏιβάλοντος δεν καθοÏιστεί, τις εκτυπώνει όλες.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "ΠΡΟΣΟΧΗ: %s: οι χαÏακτήÏες που ακολουθοÏσαν τον χαÏακτήÏα σταθεÏά αγνοήθηκαν." # #: src/printf.c:88 #, fuzzy, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: αναμενόταν αÏιθμητική τιμή." #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: η τιμή δεν έχει πλήÏως μετατÏαπεί." #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "Λείπει ο δεκαεξαδικός αÏιθμός στον χαÏακτήÏα διαφυγής." # #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" # #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "μη έγκυÏη δήλωση πεδίου `%s'" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "ΠΡΟΣΟΧΗ: οι υπεÏβολικές παÏάμετÏοι αγνοήθηκαν." #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" # #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (για κανονική έκφÏαση `%s')" # #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωÏίς -G)\n" " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" # #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" # #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" # #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "διατήÏηση ωÏών στο %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" # #: src/pwd.c:362 #, fuzzy, c-format msgid "ignoring non-option arguments" msgstr "πάÏα πολλά οÏίσματα που δεν έχουν επιλογές" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" # #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, fuzzy, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" # #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "πάÏα πολλά οÏίσματα που δεν έχουν επιλογές" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" # #: src/remove.c:273 #, fuzzy, c-format msgid "%s: descend into write-protected directory %s? " msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/remove.c:274 #, fuzzy, c-format msgid "%s: descend into directory %s? " msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, fuzzy, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: διαγÏαφή Ï€Ïοστατευμένου από εγγÏαφή καταλόγου `%s'; " #: src/remove.c:291 #, fuzzy, c-format msgid "%s: remove %s %s? " msgstr "%s: διαγÏαφή του `%s'; " # #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" # #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "αποτυχία ανάγνωσης" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: διαγÏαφή του `%s'; " # #: src/rmdir.c:134 src/rmdir.c:233 #, fuzzy, c-format msgid "removing directory, %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" "ΔιαγÏαφή ΚΑΤΑΛΟΓΟΥ(ΩÎ), αν είναι άδειος(οι).\n" "\n" " --ignore-fail-on-non-empty\n" " αγνόησε κάθε μεμονωμένη αποτυχία όταν ο κατάλογος\n" " δεν είναι άδειος\n" " -p, --parents διαγÏαφή ΚΑΤΑΛΟΓΩÎ, έπειτα Ï€Ïοσπάθεια διαγÏαφής κάθε\n" " καταλόγου της διαδÏομής. Π.χ., `rmdir -p a/b/c' \n" " είναι παÏόμοιο με `rmdir a/b/c a/b a'.\n" " -v, --verbose εμφάνιση Î´Î¹Î±Î³Î½Ï‰ÏƒÏ„Î¹ÎºÎ¿Ï Î³Î¹Î± κάθε κατάλογο που επεξεÏγάζεται\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, fuzzy, c-format msgid "multiple types" msgstr "είδος ÏŽÏας" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "διατήÏηση ωÏών στο %s" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" # #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "διατήÏηση ωÏών στο %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "διατήÏηση ωÏών στο %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "διατήÏηση ωÏών στο %s" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωÏίς -G)\n" " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "Εκτυπώνει τους αÏιθμοÏÏ‚ απο τον ΠΡΩΤΟ μέχÏι τον ΤΕΛΕΥΤΑΙΟ,\n" "αυξάνοντας κατα ΑΥΞΗΣΗ.\n" "\n" " -f, --format ΔΙΑΜΟΡΦΩΣΗ χÏησιμοποιεί τη ΔΙΑΜΟΡΦΩΣΗ της printf(3)\n" " (εξ'οÏισμοÏ: %%g)\n" " -s, --separator ΑΛΥΣΙΔΑ\n" " χÏησιμοποιεί την ΑΛΥΣΙΔΑ για να χωÏίσει τους \n" " αÏιθμοÏÏ‚ (εξ'οÏισμοÏ: \\n)\n" " -w, --equal-width εξισώνει το μήκος Ï€Ïοσθέτοντας μηδενικά\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" "\n" "Εάν ΠΡΩΤΟΣ ή ΑΥΞΗΣΗ παÏαλειφθουν, θεωÏοÏνται 1 εξ'οÏισμοÏ.\n" "ΠΡΩΤΟΣ, ΑΥΞΗΣΗ, ΤΕΛΕΥΤΑΙΟΣ επεξεÏγάζονται σαν τιμές κινητής υποδιαστολής.\n" "Η ΑΥΞΗΣΗ Ï€Ïέπει να είναι θετική εαν ο\n" "ΠΡΩΤΟΣ είναι μικÏότεÏος απο τον ΤΕΛΕΥΤΑΙΟ και αÏνητικός στην άλλη " "πεÏίπτωση.\n" "Οταν δίνεται, η παÏάμετÏος ΔΙΑΜΟΡΦΩΣΗ Ï€Ïέπει να πεÏιέχει ακÏιβώς μία από\n" "τις διαμοÏφώσεις της printf για κινητής υποδιαστολής αÏιθμό %%e, %%f, or %" "%g.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" # #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s: άγνωστο είδος αÏχείου" # #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "κανένα είδος δε μποÏεί να δηλωθεί όταν τυπώνονται αλφαÏιθμητικά" # #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "Δεν μποÏεί να παÏθεί ο συμπληÏωματικός κατάλογος ομάδων." # #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, fuzzy, c-format msgid "%s: cannot rewind" msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # src/shred.c:1067 #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: πέÏασμα %lu/%lu (%s)..." # #: src/shred.c:452 #, fuzzy, c-format msgid "%s: error writing at offset %s" msgstr "σφάλμα εγγÏαφής %s" # #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "σφάλμα κλεισίματος αÏχείου" # #: src/shred.c:481 #, fuzzy, c-format msgid "%s: file too large" msgstr "το αÏχείο μηδενίστηκε" # src/shred.c:1154 #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: πέÏασμα %lu/%lu (%s)...%s" # src/shred.c:1149 #: src/shred.c:520 #, fuzzy, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: πέÏασμα %lu/%lu (%s)...%s/%s" # #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "αποτυχία εγγÏαφής" # #: src/shred.c:778 #, fuzzy, c-format msgid "%s: invalid file type" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" # src/shred.c:1424 #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: το αÏχείο έχει αÏνητικό μέγεθος" # #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, fuzzy, c-format msgid "%s: error truncating" msgstr "το αÏχείο μηδενίστηκε" # #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "αποτυχία εγγÏαφής" # src/shred.c:1483 #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: αδυναμία διάλυσης μόνο-Ï€Ïοσθήκη πεÏιγÏαφέα αÏχείου" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: διαγÏάφεται" # #: src/shred.c:991 #, fuzzy, c-format msgid "%s: renamed to %s" msgstr "%s: σφάλμα ανάγνωσης" # #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "το αÏχείο μηδενίστηκε" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: διεγÏάφει" # #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "το αÏχείο μηδενίστηκε" # #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "το αÏχείο μηδενίστηκε" # #: src/shred.c:1125 #, fuzzy, c-format msgid "%s: invalid number of passes" msgstr "%s: μη έγκυÏος αÏιθμός δευτεÏολέπτων" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." # #: src/shred.c:1148 #, fuzzy, c-format msgid "%s: invalid file size" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" # #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωÏίς -G)\n" " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." # #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "μη έγκυÏος αÏιθμός" # #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/shuf.c:284 src/sort.c:4435 #, fuzzy, c-format msgid "multiple output files specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." # #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "ΠαÏση για έναν ΑΡΙΘΜΟ δευτεÏολέπτων.\n" "Το ΕΠΙΘΗΜΑ μποÏεί να είναι: s για δευτεÏόλεπτα, m για λεπτά, h για ÏŽÏες\n" "ή d για μέÏες.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" # #: src/sort.c:452 #, fuzzy msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" # #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" # #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "ΘΕΣΗ είναι F[.C][OPTS], όπου F είναι ο αÏιθμός πεδίου και C η θέση του\n" "χαÏακτήÏα στο πεδίο, και τα δÏο μετÏημένα από το ένα με -k ή από το μηδέν\n" "με την εκτός χÏήσης μοÏφή. Το OPTS απαÏτίζεται από ένα ή πεÏισσότεÏα από\n" "τα Mbdfinr· αυτό ουσιαστικά απενεÏγοποιεί τις καθολικές Ïυθμίσεις -Mbdfinr\n" "για το κλειδί αυτό. Αν δεν οÏίζεται κλειδί, να γίνει χÏήση ολόκληÏης της\n" "γÏαμμής για κλειδί. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το ARXEIO είναι το -, ανάγνωση\n" "από την κανονική είσοδο.\n" # #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" # #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "σφάλμα εγγÏαφής %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" # #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "αποτυχία ανοίγματος" # #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "ολοκλήÏωση αÏχείου" # #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 #, fuzzy msgid "close failed" msgstr "σφάλμα κλεισίματος αÏχείου" # #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "αποτυχία ανοίγματος" # #: src/sort.c:1103 #, fuzzy, c-format msgid "couldn't execute %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/sort.c:1161 #, fuzzy, c-format msgid "couldn't execute %s -d" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" # #: src/sort.c:1494 msgid "stat failed" msgstr "" # #: src/sort.c:1755 msgid "read failed" msgstr "αποτυχία ανάγνωσης" # #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "Η μετατÏοπή της συμβολοσειÏάς απέτυχε" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" # #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: η επιλογή `%s' είναι ασαφής\n" msgstr[1] "%s: η επιλογή `%s' είναι ασαφής\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" # #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "αποτυχία εγγÏαφής" # #: src/sort.c:2783 #, fuzzy, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%d: όχι σε σειÏά: " # #: src/sort.c:2786 msgid "standard error" msgstr "κανονικό σφάλμα" # #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "μη έγκυÏη δήλωση πεδίου `%s'" # #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: η επιλογή `%s' είναι ασαφής\n" # #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για `%s'" # #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "μη έγκυÏος αÏιθμός από bytes" # #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "μη έγκυÏος αÏιθμός από bytes" # #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." # #: src/sort.c:4379 #, fuzzy msgid "invalid number at field start" msgstr "μη έγκυÏος αÏιθμός από γÏαμμές" # #: src/sort.c:4383 src/sort.c:4411 #, fuzzy msgid "field number is zero" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #: src/sort.c:4392 msgid "character offset is zero" msgstr "" # #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "μη έγκυÏος αÏιθμός από bytes" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'" # #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "μη έγκυÏη ομάδα" # #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "δημιουÏγία αÏχείου `%s'\n" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" # #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΕΙΣΟΔΟΣ [ΠΡΟΘΕΜΑ]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" # #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" "Έξοδος τμημάτων σταθεÏÎ¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ από την ΕΙΣΟΔΟ σε ΠΡΟΘΕΜΑaa, " "ΠΡΟΘΕΜΑab, ...; εξ οÏισμοÏ\n" "ΠΡΟΘΕΜΑ είναι το `x'. ΧωÏίς ΕΙΣΟΔΟ, ή όταν η ΕΙΣΟΔΟΣ είναι το -, ανάγνωση " "από την κανονική είσοδο.\n" "\n" " -b, --bytes=ΜΕΓΕΘΟΣ τοποθέτηση ΜΕΓΕΘΟΣ bytes σε κάθε αÏχείο εξόδου\n" " -C, --line-bytes=ΜΕΓΕΘΟΣ τοποθέτηση το Ï€Î¿Î»Ï ÎœÎ•Î“Î•Î˜ÎŸÎ£ bytes από γÏαμμές σε " "κάθε αÏχείο εξόδου\n" " -l, --lines=ΑΡΙΘΜΟΣ τοποθέτηση ΑΡΙΘΜΟΣ γÏαμμών σε κάθε αÏχείου εξόδου\n" " -ΑΡΙΘΜΟΣ ίδιο με -l ΑΡΙΘΜΟΣ\n" " --verbose εκτÏπωση Î´Î¹Î±Î³Î½Ï‰ÏƒÏ„Î¹ÎºÎ¿Ï ÏƒÏ„Î¿ κανονικό σφάλμα μόλις " "Ï€Ïιν\n" " ανοιχτεί κάθε αÏχείο εξόδου\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "ΜΕΓΕΘΟΣ μποÏεί να έχει Ï€Ïόθεμα πολλαπλασιαστή: b για 512, k για 1K, m για 1 " "Meg.\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" # #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "δημιουÏγία αÏχείου `%s'\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "διατήÏηση ωÏών στο %s" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" # #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "διαγÏαφή καταλόγου %s\n" # #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "δημιουÏγία αÏχείου `%s'\n" # #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "δημιουÏγία αÏχείου `%s'\n" # #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "σφάλμα εγγÏαφής %s" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" # #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "δεν είναι δυνατό να γίνει διαχωÏισμός σε πεÏισσότεÏους από ένα Ï„Ïόπο" # #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: μη έγκυÏος αÏιθμός δευτεÏολέπτων" # #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: μη έγκυÏος αÏιθμός" # #: src/split.c:1119 #, fuzzy, c-format msgid "%s: invalid suffix length" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" # #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: μη έγκυÏος αÏιθμός από bytes" # #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" # #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'" # #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: μη αναγνωÏίσιμη επιλογή `-%c'\n" # #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%s: μη έγκυÏη μοÏφή" # #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "μη έγκυÏη διαφυγή με πισωκάθετο στο τέλος του αλφαÏιθμητικοÏ" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" # #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "κανονική είσοδος" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" # #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" # #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "διατήÏηση ωÏών στο %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, fuzzy, c-format msgid "failed to update the environment with %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Εκτυπώνει ή αλλάζει τα χαÏακτηÏιστικά του τεÏματικοÏ.\n" "\n" " -a, --all εκτυπώνει όλα τα χαÏακτηÏιστικά σε αναγνώσιμη μοÏφή\n" " -g, --save εκτυπώνει όλα τα χαÏακτηÏιστικά σε μοÏφή αναγνώσιμη απο\n" " το `stty'\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" "\n" "ΠÏοεÏαιτικό - Ï€Ïιν την ΕΚΛΟΓΗ σημαίνει άÏνηση. Το * σημαίνει μια\n" "ΕΚΛΟΓΗ μη POSIX. Το σÏστημα καθοÏίζει ποιές επιλογές είναι διαθέσιμες.\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" "\n" "Επιλογές ελέγχου:\n" " [-]clocal ΑπενεÏγοποιεί τα σήματα ελέχγου του modem\n" " [-]cread ΕπιτÏέπει την λήψη των εισαγωμένων\n" "* [-]crtscts ΕνεÏγοποιεί την RTS/CTS χειÏαψία\n" " csN Θέτει το μέγεθος των χαÏακτήÏων σε N bits,\n" " N Î¼ÎµÏ„Î±Î¾Ï [5..8]\n" " [-]cstopb ΧÏησιμοποιεί 2 bits διακοπής ανα χαÏακτήÏα (ένα με `-')\n" " [-]hup Μεταδίδει σήμα κλεισίματος όταν η τελευταία εφαÏμογή\n" " κλείσει το tty\n" " [-]hupcl Ομοιο με το [-]hup\n" " [-]parenb ΔημιουÏγεί bit ισότημίας στην έξοδο και πεÏιμένει bit\n" " ισότημίας στην είσοδο\n" " [-]parodd Θέτει πεÏιτή ισοτημία (ακόμα και με `-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 #, fuzzy msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "\n" "Επιλογές εξόδου:\n" "* bsN ΤÏπος καθυστέÏησης πισωδιαστήματος, N Î¼ÎµÏ„Î±Î¾Ï [0..1]\n" "* crN ΤÏπος καθυστέÏησης επιστÏοφής δÏομέα, N Î¼ÎµÏ„Î±Î¾Ï [0..3]\n" "* ffN ΤÏπος καθυστέÏησης αλλαγής σελίδας, N Î¼ÎµÏ„Î±Î¾Ï [0..1]\n" "* nlN ΤÏπος καθυστέÏησης αλλαγής σειÏάς, N Î¼ÎµÏ„Î±Î¾Ï [0..1]\n" "* [-]ocrnl ΜετατÏέπει την `επιστÏοφή δÏομέα' σε `νέα γÏαμμή'\n" "* [-]ofdel ΧÏησιμοποιεί χαÏακτήÏες σβησίματος για γέμισμα αντί\n" " των κενών χαÏακτήÏων\n" "* [-]ofill ΧÏησιμοποιεί χαÏακτήÏες γεμίσματος αντί χÏονομέτÏησης για\n" " τις καθυστεÏήσεις\n" "* [-]olcuc ΜετατÏέπει τα μικÏά σε κεφαλαία\n" "* [-]onlcr ΜετατÏέπει την `νεα γÏαμμή' σε `επιστÏοφή δÏομέα-νεα " "γÏαμμή'\n" "* [-]onlret Η `νεα γÏαμμή' Ï€Ïοκαλεί `επιστÏοφή δÏομέα'\n" "* [-]onocr Δεν εκτυπώνει `επιστÏοφή δÏομέα' στην Ï€Ïώτη στήλη\n" " [-]opost Εκτελεί μια Ï€Ïο-επεξεÏγασμένη έξοδο\n" "* tabN ΤÏπος καθυστέÏησης της οÏιζόντιας πινακοποίησης, \n" " N Î¼ÎµÏ„Î±Î¾Ï [0..3]\n" "* tabs Ομοιο με tab0\n" "* -tabs Ομοιο με tab3\n" "* vtN ΤÏπος καθυστέÏησης της κάθετης πινακοποίησης, N Î¼ÎµÏ„Î±Î¾Ï " "[0..1]\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "ΧειÏίζεται την 'tty' γÏαμμή που συνδέεται με την τυπική είσοδο. ΧωÏίς\n" "παÏαμέτÏους, εκτυπώνει την ταχÏτητα, την κατάσταση της γÏαμμής, και\n" "τις εφαÏμοσμένες μετατÏοπές από το 'stty sane'. Στις επιλογές, ο\n" "ΧΑΡακτήÏας εκλαμβάνεται κυÏιολεκτικά, ή κωδικοποιείται οπως ^c, 0x37, 0177\n" "ή 127. Eιδικές τιμές όπως ^- ή το undef απενεÏγοποιοÏσαν τους ειδικοÏÏ‚\n" "χαÏακτήÏες.\n" # #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί" # #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" "Οταν καθοÏίζεται ένας Ï„Ïπος εξόδου, οι καταστάσεις λειτουÏγίας (modes)\n" "δεν είναι δυνατόν να οÏιστοÏν" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" # #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "ασαφές ÏŒÏισμα %s για %s" # #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" #: src/stty.c:1053 #, fuzzy, c-format msgid "%s: unable to perform all requested operations" msgstr "" "Τυπική είσοδος: αδÏνατον να Ï€Ïαγματοποιήθουν όλες τις ζητοÏμενες\n" "λειτουÏγίες" #: src/stty.c:1399 #, fuzzy, c-format msgid "%s: no size information for this device" msgstr "Δεν υπάÏχουν πληÏοφοÏίες μεγέθους γι'αυτό το πεÏιφεÏειακό" # #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "μη έγκυÏη αÏξηση στον αÏιθμό εντολής: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" # #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "ΕκτÏπωση αθÏοισμάτων ελέγχου και μετÏητές μπλοκ για κάθε ΑΡΧΕΙΟ.\n" "\n" " -r υπεÏνίκηση του -s, χÏήση του BSD αλγοÏίθμου αθÏοίσματος, " "χÏήση μπλοκ 1Κ\n" " -s, --sysv χÏήση System V αλγοÏίθμου αθÏοίσματος, χÏήση μπλοκ 512 " "bytes\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" # #: src/sync.c:69 #, fuzzy, c-format msgid "ignoring all arguments" msgstr "πάÏα πολλά οÏίσματα" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" # #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" "\n" # #: src/system.h:351 #, fuzzy msgid " --version output version information and exit\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" # #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "ΑναφέÏατε σφάλματα στο <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" # #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Δοκιμάστε `%s --help' για πεÏισσότεÏη βοήθεια.\n" #: src/system.h:628 #, fuzzy, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Κυκλική δομή καταλόγου.\n" "Αυτό σχεδόν σίγουÏα σημαίνει ότι έχετε ένα κατεστÏαμμένο σÏστημα αÏχείων.\n" "ΓÎΩΣΤΟΠΟΙΗΣΤΕ ΤΟ ΣΤΟ ΔΙΑΧΕΙΡΙΣΤΗ ΣΥΣΤΗΜΑΤΟΣ.\n" "Οι παÏακάτω δÏο κατάλογοι έχουν την ίδια τιμή i-κόμβου:\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" # #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" # #: src/tac.c:144 #, fuzzy msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" "ΕγγÏαφή κάθε αÏχείου στην κανονική έξοδο, τελευταία γÏαμμή Ï€Ïώτα.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -b, --before τοποθέτηση του διαχωÏιστή Ï€Ïιν αντί για μετά\n" " -r, --regex μετάφÏαση του διαχωÏιστή ως κανονική έκφÏαση\n" " -s, --separator=ΑΛΦΑΡΙΘΜ χÏήση Î‘Î›Î¦Î‘Î¡Î™Î˜ÎœÎ·Ï„Î¹ÎºÎ¿Ï Ï‰Ï‚ διαχωÏιστής αντί του " "χαÏακτήÏα νέας γÏαμμής\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/tac.c:234 src/tac.c:335 #, fuzzy, c-format msgid "%s: seek failed" msgstr "σφάλμα κλεισίματος αÏχείου" # #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "το αÏχείο μηδενίστηκε" # #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "το αÏχείο μηδενίστηκε" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "διατήÏηση ωÏών στο %s" # #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "σφάλμα εγγÏαφής" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "αδυναμία ανοίγματος του %s Ï€Ïος ανάγνωση" # #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" # #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Εμφάνιση των 10 Ï€Ïώτων γÏαμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" "Με πεÏισσότεÏα από ένα ΑΡΧΕΙΟ, να Ï€Ïοηγηθεί επισέλιδο με το όνομα του " "αÏχείου.\n" "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική είσοδο.\n" "\n" " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των Ï€Ïώτων ΜΕΓΕΘΟΣ bytes\n" " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των Ï€Ïώτων ΑΡΙΘΜΟΣ γÏαμμών αντί των " "Ï€Ïώτων 10\n" " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " "αÏχείων\n" " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " "αÏχείων\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Το ΜΕΓΕΘΟΣ μποÏεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για 1K, m " "για 1 Meg.\n" "Αν χÏησιμοποιείται το -VALUE σαν Ï€Ïώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφοÏετικά " "ανάγνωσε -n ΤΙΜΗ\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" # #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" # #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "κλείσιμο του %s (fd=%d)" # #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" # #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "το `%s' είναι μη-Ï€Ïοσπελάσιμο" # #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s: αδÏνατη η ακολοÏθηση του τέλους Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… είδους αÏχείου· παÏάκαμψη" # #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s: αδÏνατη η ακολοÏθηση του τέλους Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… είδους αÏχείου· παÏάκαμψη" # #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "το `%s' έχει γίνει Ï€Ïοσπελάσιμο" # #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "το `%s' εμφανίστηκε· ακολοÏθηση τέλους νέου αÏχείου" # #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "το `%s' έχει αντικατασταθεί· ακολοÏθηση τέλους νέου αÏχείου" # #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #: src/tail.c:1172 src/tail.c:1287 #, fuzzy, c-format msgid "%s: file truncated" msgstr "το αÏχείο μηδενίστηκε" # #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "δεν υπολείπονται αÏχεία" # #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "η ιδεατή μνήμη εξαντλήθηκε" # #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" # #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "σφάλμα ανάγνωσης %s" # #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: αδÏνατη η ακολοÏθηση του τέλους Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… είδους αÏχείου· παÏάκαμψη" # #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: μη έγκυÏος μέγιστος αÏιθμός από χωÏίς μεταβολή `stats' Î¼ÎµÏ„Î±Î¾Ï Î±Î½Î¿Î¹Î³Î¼Î¬Ï„Ï‰Î½" # #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: μη έγκυÏος πεÏιγÏαφέας διεÏγασίας (PID)" # #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: μη έγκυÏος αÏιθμός δευτεÏολέπτων" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" # #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "Ï€Ïοειδοποίηση: το --retry είναι χÏήσιμο μόνο με παÏακολοÏθηση βάση ονόματος" # #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "Ï€Ïοειδοποίηση: ο πεÏιγÏαφέας διεÏγασίας αγνοείτε· το --pid=PID είναι χÏήσιμο " "μόνο σε παÏακολοÏθηση" # #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα" # #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 #, fuzzy msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "ΑντιγÏάφει την τυπική είσοδο σε κάθε ΑΡΧΕΙΟ, και στην τυπική έξοδο.\n" "\n" " -a, --append ΠÏοσθέτει στο ΑΡΧΕΙΟ(α), χωÏίς να γÏάφει\n" " πάνω απο τα υπάÏχοντα\n" " -i, --ignore-interrupts Αγνοεί σήματα διακοπής\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" # #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "ασαφές ÏŒÏισμα %s για %s" # #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "μη έγκυÏος αÏιθμός" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "αναμενόταν ')'\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "αναμενόταν ')', αλλά βÏέθηκε %s\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: Αναμενόταν μοναδιαίος χειÏιστής.\n" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt δεν δέχεται -l\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef δεν δέχεται -l\n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-nt δεν δέχεται -l\n" # #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "Άγνωστο σφάλμα συστήματος" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: Αναμενόταν δυαδικός χειÏιστής.\n" # #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" # #: src/test.c:717 #, fuzzy msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 #, fuzzy msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ( ΕΚΦΡΑΣΗ ) Η ΕΚΦΡΑΣΗ είναι αληθινή\n" " ! ΕΚΦΡΑΣΗ Η ΕΚΦΡΑΣΗ είναι ψεÏτικη\n" " ΕΚΦΡΑΣΗ1 -a ΕΚΦΡΑΣΗ2 Και η ΕΚΦΡΑΣΗ1 και η ΕΚΦΡΑΣΗ2\n" " είναι αληθινές\n" " ΕΚΦΡΑΣΗ1 -o ΕΚΦΡΑΣΗ2 Ουτε η ΕΚΦΡΑΣΗ1 οÏτε ΕΚΦΡΑΣΗ2 είναι αληθινές\n" "\n" " [-n] ΑΛΥΣΙΔΑ Το μήκος της ΑΛΥΣΙΔΑΣ δεν είναι μηδέν\n" " -z ΑΛΥΣΙΔΑ Το μήκος της ΑΛΥΣΙΔΑΣ είναι μηδέν\n" " ΑΛΥΣΙΔΑ1 = ΑΛΥΣΙΔΑ2 Οι αλυσίδες είναι ίσες\n" " ΑΛΥΣΙΔΑ1 != ΑΛΥΣΙΔΑ2 Οι αλυσίδες δεν είναι ίσες\n" "\n" " ΑΚΕΡΑΙΟΣ1 -eq ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι ίσος με τον ΑΚΕΡΑΙΟ2\n" " ΑΚΕΡΑΙΟΣ1 -ge ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μεγαλÏτεÏος ή ίσος του\n" " ΑΚΕΡΑΙΟY2\n" " ΑΚΕΡΑΙΟΣ1 -gt ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μεγαλÏτεÏος του ΑΚΕΡΑΙΟΥ2\n" " ΑΚΕΡΑΙΟΣ1 -le ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μικÏότεÏος ή ίσος του\n" " ΑΚΕΡΑΙΟΥ2\n" " ΑΚΕΡΑΙΟΣ1 -lt ΑΚΕΡΑΙΟΣ2 O ΑΚΕΡΑΙΟΣ1 είναι μικÏότεÏος του ΑΚΕΡΑΙΟΥ2\n" " ΑΚΕΡΑΙΟΣ1 -ne ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 δεν είναι ίσος με τον ΑΚΕΡΑΙΟ2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" # ___ #: src/test.c:780 #, fuzzy msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "ΠÏοσέχτε οτι οι παÏενθέσεις χÏειάζονται τους χαÏακτήÏες διαφυγής \n" "(Ï€.χ. `\\') για κελÏφη (shells).\n" "Ενας ΑΚΕΡΑΙΟΣ μποÏεί επίσης να είναι -l ΑΛΥΣΙΔΑ, το οποίο εκτιμάται\n" "στο μήκος της ΑΛΥΣΙΔΑΣ.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "το `]' λείπει\n" # #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "πάÏα πολλά οÏίσματα" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" # #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" # #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "σφάλμα εγγÏαφής %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" # #: src/touch.c:115 src/touch.c:309 #, fuzzy, c-format msgid "invalid date format %s" msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #: src/touch.c:191 #, fuzzy, c-format msgid "cannot touch %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/touch.c:197 #, fuzzy, c-format msgid "setting times of %s" msgstr "διατήÏηση ωÏών στο %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" # #: src/touch.c:335 #, fuzzy, c-format msgid "cannot specify times from more than one source" msgstr "δεν είναι δυνατό να γίνει διαχωÏισμός σε πεÏισσότεÏους από ένα Ï„Ïόπο" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" # #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2]\n" # #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "ΜετάφÏαση, συμπÏκνωση και/η διαγÏαφή χαÏακτήÏων από την κανονική είσοδο,\n" "γÏάφοντας στη κανονική έξοδο.\n" "\n" " -c, --complement χÏήση του συμπληÏώματος του ΣΥÎΟΛΟ1\n" " -d, --delete διαγÏαφή χαÏακτήÏων από το ΣΥÎΟΛΟ1, όχι μετάφÏαση\n" " -s, --squeeze-repeats αντικατάσταση ακολουθίας χαÏακτήÏων με ένα\n" " -t, --truncate-set1 Ï€Ïώτα ελάττωσε το ΣΥÎΟΛΟ1 στο μέγεθος του ΣΥÎΟΛΟ2\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" # #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" # #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" # # xxx Check punctation # 2001-12-02 11:12:55 CET -ke- #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "ΜετάφÏαση συμβαίνει όταν δε δίνεται το -d και εμφανίζονται και τα δÏο\n" "ΣΥÎΟΛΟ1 και ΣΥÎΟΛΟ2. Το -t μποÏεί να χÏησιμοποιηθεί μόνο στη μετάφÏαση\n" "Το ΣΥÎΟΛΟ2 αναπτÏσσεται στο μήκος του ΣΥÎΟΛΟ1 με επανάληψη του τελευταίου\n" "χαÏακτήÏα, όπως χÏειάζεται. Κατά υπέÏβαση χαÏακτήÏες του ΣΥÎΟΛΟ2 αγνοοÏνται\n" "Μόνο τα [:lower:] και [:upper:] εγγυόνται την ανάπτυξη σε αÏξουσα σειÏά·\n" "όταν χÏησιμοποιοÏνται στο ΣΥÎΟΛΟ2 στη μετάφÏαση, μποÏοÏν να χÏησιμοποιηθοÏν\n" "μόνο σε ζεÏγη για να οÏίσουν μετατÏοπή Î¼ÎµÏ„Î±Î¾Ï Ï€ÎµÎ¶ÏŽÎ½/κεφαλαίων. Το -s\n" "κάνει χÏήση του ΣΥÎΟΛΟ1 αν δε μεταφÏάζει ή διαγÏάφει· διαφοÏετικά " "συμπυκνώνει\n" "κάνωντας χÏήση του ΣΥÎΟΛΟ2 και συμβαίνει μετά από μετάφÏαση ή διαγÏαφή\n" # #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "Ï€Ïοειδοποίηση: ο ασαφής οκταδικός διαφυγής \\%c%c%c μεταφÏάζεται\n" "ως την ακολουθία δÏο bytes \\0%c%c, `%c'" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "%s: Ï€Ïοειδοποίηση: η δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… σε συμβολικό,\n" "δεν είναι μεταφεÏτή" # #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "τα άκÏη του διαστήματος `%s-%s' είναι σε αντίστÏοφη σειÏά" # #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]" # #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" # #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" # #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'" # #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ο τελεστής ισοδυναμίας τάξης Ï€Ïέπει να είναι ένας μόνο χαÏακτήÏας" # #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "κακώς στοιχισμένη δομή [:upper:] και/ή [:lower:]" # #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "πάÏα πολλά οÏίσματα" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" # #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "η δομή επανάληψης [c*] δε μποÏεί να εμφανίζεται στο αλφαÏιθμητικό1" # #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "μόνο μια δομή επανάληψης [c*] μποÏεί να εμφανιστεί στο αλφαÏιθμητικό2" # #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "εκφÏάσεις [=c=] δεν μποÏοÏν να εμφανίζονται στο αλφαÏιθμητικό 2 στη μετάφÏαση" # #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "στη μετάφÏαση, οι μόνες κλάσεις χαÏακτήÏων που μποÏοÏν να εμφανιστοÏν\n" "στο αλφαÏιθμητικό 2 είναι `upper' και `lower'" # #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" "όταν δεν αποκόπτεται το σÏνολο1, το αλφαÏιθμητικό 2 Ï€Ïέπει να μην είναι κενό" # #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "όταν γίνεται μετάφÏαση με συμπλήÏωμα τάξης χαÏακτήÏων,\n" "το αλφαÏιθμητικό 2 Ï€Ïέπει να αντιστοιχίζει όλους τους χαÏακτήÏες στην " "πεÏιοχή με ένα" # #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "η δομή [c*] μποÏεί να εμφανιστεί στο αλφαÏιθμητικό2 μόνο στη μετάφÏαση" # #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "δÏο αλφαÏιθμητικά Ï€Ïέπει να δίνονται όταν γίνονται διαγÏαφή και\n" "συμπυκνώσεις επαναλήψεων" # #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "δÏο αλφαÏιθμητικά Ï€Ïέπει να δίνονται στη μετάφÏαση" # #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "μόνο ένα αλφαÏιθμητικό μποÏεί να δοθεί όταν γίνεται διαγÏαφή χωÏίς\n" "συμπυκνώσεις επαναλήψεων" # #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" # #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" # src/shred.c:1424 #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: το αÏχείο έχει αÏνητικό μέγεθος" # #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "δεν είναι δυνατό να γίνει διαχωÏισμός σε πεÏισσότεÏους από ένα Ï„Ïόπο" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, fuzzy, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "διαγÏαφή καταλόγου %s\n" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "\\%c: Μη έγκυÏη διαφυγή." #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "αδυναμία μεταφοÏάς του `%s' στο `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" # #: src/tsort.c:82 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]\n" "ΕγγÏαφή πλήÏους ταξινομημένης λίστας σε συμφωνία με τη μεÏική ταξινόμηση\n" "στο ΑΡΧΕΙΟ. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την\n" "κανονική είσοδο.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: η είσοδος πεÏιέχει βÏόχο:" # #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: η είσοδος πεÏιέχει βÏόχο:" #: src/tty.c:65 #, fuzzy msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Εκτυπώνει το όνομα του τεÏÎ¼Î±Ï„Î¹ÎºÎ¿Ï Ï€Î¿Ï… είναι συνδεδεμένο με την τυπική " "έξοδο.\n" "\n" " -s, --silent, --quiet Δεν εκτυπώνει τίποτα, επιστÏέφει μόνο κατάσταση\n" " εξόδου\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/tty.c:120 msgid "not a tty" msgstr "δεν είναι tty'" #: src/uname.c:124 #, fuzzy msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Εκτυπώνει συγκεκÏιμένες πληÏοφοÏίες συστήματος.\n" "ΧωÏίς ΕΠΙΛΟΓΗ, όμοιο με -s.\n" "\n" " -a, --all Εκτυπώνει όλες τις πληÏοφοÏίες\n" " -m, --machine Εκτυπώνει τον Ï„Ïπο της μηχανής (hardware)\n" " -n, --nodename Εκτυπώνει το όνομα του Î´Î¹ÎºÏ„Ï…Î±ÎºÎ¿Ï ÎºÏŒÎ¼Î²Î¿Ï… του\n" " υπολογιστή (network node hostname)\n" " -r, --release Εκτυπώνει την αναθεώÏηση έκδοσης του λειτουÏγικοÏ\n" " συστήματος\n" " -s, --sysname Εκτυπώνει το όνομα του λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚\n" " -p, --processor Εκτυπώνει τον Ï„Ïπο του επεξεÏγαστή\n" " -v Εκτυπώνει την έκδοση του λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" # #: src/uname.c:286 #, fuzzy, c-format msgid "cannot get system name" msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην κανονική " "έξοδο.\n" "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " "είσοδο.\n" "\n" " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " "αÏχικών\n" " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " "θέσης των στηλοθετών\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" "\n" "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " "χÏησιμοποιηθοÏν.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" # #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "το %s είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿" # #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" # #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" # #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" # #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "πάÏα πολλά οÏίσματα" # #: src/uniq.c:521 #, fuzzy msgid "invalid number of fields to skip" msgstr "μη έγκυÏος αÏιθμός πεδίων Ï€Ïος Ï€ÏοσπέÏαση: `%s'" # #: src/uniq.c:530 #, fuzzy msgid "invalid number of bytes to skip" msgstr "μη έγκυÏος αÏιθμός bytes Ï€Ïος Ï€ÏοσπέÏαση: `%s'" # #: src/uniq.c:539 #, fuzzy msgid "invalid number of bytes to compare" msgstr "μη έγκυÏος αÏιθμός από bytes Ï€Ïος σÏγκÏιση: `%s'" # #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "εκτÏπωση όλων των διπλών γÏαμμών και μετÏητών επαναλήψεων δεν έχει έννοια" # #: src/unlink.c:45 #, fuzzy, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" # #: src/unlink.c:86 #, fuzzy, c-format msgid "cannot unlink %s" msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "Δεν είναι δυνατόν να βÏεθεί η ÏŽÏα εκκίνησης" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr "" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s up " # #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "μη έγκυÏος χÏήστης" msgstr[1] "μη έγκυÏος χÏήστης" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", Μέσος ÏŒÏος φόÏτου: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Εκτυπώνει τον κατάλογο των ενεÏγών χÏηστών σÏμφωνα με το ΑΡΧΕΙΟ.\n" "Εαν το ΑΡΧΕΙΟ δεν Ï€ÏοσδιοÏίζεται, χÏησιμοποιείται το %s.\n" "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Εκτυπώνει τον κατάλογο των ενεÏγών χÏηστών σÏμφωνα με το ΑΡΧΕΙΟ.\n" "Εαν το ΑΡΧΕΙΟ δεν Ï€ÏοσδιοÏίζεται, χÏησιμοποιείται το %s.\n" "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/users.c:106 #, fuzzy, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Εκτυπώνει τον κατάλογο των ενεÏγών χÏηστών σÏμφωνα με το ΑΡΧΕΙΟ.\n" "Εαν το ΑΡΧΕΙΟ δεν Ï€ÏοσδιοÏίζεται, χÏησιμοποιείται το %s.\n" "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Εμφάνιση μετÏητών γÏαμμών, λέξεων και byte για κάθε ΑΡΧΕΙΟ, και μια γÏαμμή " "συνόλων\n" "αν οÏίζονται πεÏισσότεÏο από ένα ΑΡΧΕΙΑ. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο " "είναι το -,\n" "ανάγνωση από την κανονική είσοδο.\n" " -c, --bytes, --chars εμφάνιση του συνόλου των bytes\n" " -l, --lines εμφάνιση του συνόλου των γÏαμμών\n" " -L, --max-line-length εμφάνιση του μήκους της μεγαλÏτεÏης γÏαμμής\n" " -w, --words εμφάνιση του συνόλου των λέξεων\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" "\n" " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #: src/who.c:210 msgid " old " msgstr "παλιά" # #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "σφάλμα εγγÏαφής" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "" #: src/who.c:485 #, fuzzy msgid "LOGIN" msgstr "ΓΡΑΜΜΗ" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "" #: src/who.c:553 #, fuzzy, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# χÏήστες=%u\n" #: src/who.c:559 msgid "NAME" msgstr "" #: src/who.c:559 msgid "LINE" msgstr "ΓΡΑΜΜΗ" #: src/who.c:559 msgid "TIME" msgstr "" # #: src/who.c:559 #, fuzzy msgid "IDLE" msgstr "ΑÎΕΠΙΤΥΧΕΣ" #: src/who.c:560 msgid "PID" msgstr "" #: src/who.c:560 msgid "COMMENT" msgstr "" #: src/who.c:560 msgid "EXIT" msgstr "" # #: src/who.c:640 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "Εκτυπώνει τον κατάλογο των ενεÏγών χÏηστών σÏμφωνα με το ΑΡΧΕΙΟ.\n" "Εαν το ΑΡΧΕΙΟ δεν Ï€ÏοσδιοÏίζεται, χÏησιμοποιείται το %s.\n" "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Εκτυπώνει τον χÏήστη που συνδέεται με την Ï„Ïέχουσα ισχÏουσα ταυτότητα\n" "(effective id) χÏηστη. Ομοιο με: id -un.\n" "\n" " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: δεν μποÏει να βÏεθεί όνομα χÏήστη για το 'UID' %u\n" # #: src/yes.c:41 #, fuzzy, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" # #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "δημιουÏγία αÏχείου `%s'\n" # #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: μη έγκυÏος αÏιθμός γÏαμμών" # #~ msgid "Try `%s --help' for more information.\n" #~ msgstr "Δοκιμάστε `%s --help' για πεÏισσότεÏη βοήθεια.\n" # #, fuzzy #~ msgid "reading %s" #~ msgstr "σφάλμα ανάγνωσης %s" # #, fuzzy #~ msgid "writing %s" #~ msgstr "σφάλμα εγγÏαφής %s" # #, fuzzy #~ msgid "closing %s" #~ msgstr "κλείσιμο του %s (fd=%d)" #, fuzzy #~ msgid "accessing %s" #~ msgstr "διαγÏαφή καταλόγου %s\n" # #, fuzzy #~ msgid "opening %s" #~ msgstr "σφάλμα ανάγνωσης %s" # #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ "Η κατάληξη των αντιγÏάφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" #~ "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" #~ "Ο έλεγχος έκδοσης μποÏεί να τεθεί με την επιλογή --backup ή μέσω της\n" #~ "μεταβλητής πεÏιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" #~ "\n" #~ " none,off να μη δημιουÏγοÏνται αντίγÏαδα ασφαλείας (ακόμα και\n" #~ " αν δίνεται --backup)\n" #~ " numbered, t δημιουÏγία αÏιθμημένων αντιγÏάφων ασφαλείας\n" #~ " existing, nil αÏιθμημένων, αν υπάÏχουν αÏιθμημένα αντίγÏαφα, " #~ "διαφοÏετικά\n" #~ " απλά αντίγÏαφα\n" #~ " simple, never πάντα δημιουÏγία απλών αντιγÏάφων\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #~ msgid "Password:" #~ msgstr "Συνθηματικό:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass(): δεν είναι δυνατόν να ανοιχτεί το /dev/tty" # #, fuzzy #~ msgid "cannot set groups" #~ msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #, fuzzy #~ msgid "cannot set group id" #~ msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #, fuzzy #~ msgid "cannot set user id" #~ msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Αλλάζει την ισχÏουσα ταυτότητα (effective id) χÏήστη και ομάδας σε αυτές\n" #~ "του ΧΡΗΣΤΗ.\n" #~ "\n" #~ " -, -l, --login ΜετατÏέπει το κέλυφος (shell) σε κέλυφος " #~ "εισόδου\n" #~ " -c, --command=ΕÎΤΟΛΗ Στέλνει την ΕÎΤΟΛΗ στο φλοιό με -c\n" #~ " -f, --fast Στέλνει -f στο φλοιό (για csh ή tcsh)\n" #~ " -m, --preserve-environment Δεν ξαναθέτει τις μεταβλητές του " #~ "πεÏιβάλλοντος\n" #~ " -p Ομοιο με -m\n" #~ " -s, --shell=ΚΕΛΥΦΟΣ Εκτελεί το ΚΕΛΥΦΟΣ εαν /etc/shells το " #~ "επιτÏέπει\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και " #~ "τεÏματίζει\n" #~ "\n" #~ "Εαν απλό - υπονοείται -l. Εάν η παÏάμετÏος ΧΡΗΣΤΗΣ δεν δίνεται,\n" #~ "θεωÏείται οτι είναι ο `root'.\n" #~ msgid "user %s does not exist" #~ msgstr "ο χÏήστης %s δεν υπάÏχει" #~ msgid "incorrect password" #~ msgstr "λάθος συνθηματικό" #~ msgid "using restricted shell %s" #~ msgstr "χÏησιμοποιείται το πεÏιοÏισμένο κέλυφος (restricted shell) %s" # #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Αλλαγή των δικαιωμάτων κάθε ΑΡΧΕΙΟΥ σε ΔΙΚΑΙΩΜΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνÏματος " #~ "μόνο όταν γίνεται αλλαγή\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των πεÏισσότεÏων μηνυμάτων " #~ "σφάλματος\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε αÏχείο " #~ "που επεξεÏγάζετε\n" #~ " --reference=ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ χÏήση των δικαιωμάτων του " #~ "ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ\n" #~ " αντί τις τιμής του ΔΙΚΑΙΩΜΑ\n" #~ " -R, --recursive αλλαγές στα αÏχεία και στους καταλόγους " #~ "αναδÏομικά\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Κάθε ΔΙΚΑΙΩΜΑ είναι ένα ή πεÏισσότεÏα από τα γÏάμματα ugoa, ένα από τα\n" #~ "σÏμβολα +-= και ένα ή πεÏισσότεÏα από τα γÏάμματα rwxXstugo.\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Εκτυπώνη την ημεÏομηνία στη δοσμένη μοÏφή, ή θέτει την ÏŽÏα του " #~ "συστήματος.\n" #~ "\n" #~ " -d, --date=ΜΟΡΦΗ Εκτυπώνει την ÏŽÏα που καθοÏίζεται απο την " #~ "ΜΟΡΦΗ,\n" #~ " εκτός της δεσμευμένης λέξης `now'\n" #~ " -f, --file=ΑΡΧΕΙΟ Ομοια με την --date για κάθε γÏαμμη του " #~ "αÏχείου\n" #~ " που πεÏιέχει τις ημεÏομηνίες\n" #~ " -r, --reference=ΑΡΧΕΙΟ Εκτυπώνει την τελευταία ημεÏομηνία " #~ "Ï„Ïοποποίησης\n" #~ " του αÏχείου\n" #~ " -R, --rfc-822 Εκτυπώνει την ημεÏομηνία σÏμφωνα με το " #~ "RFC-822\n" #~ " -s, --set=ΜΟΡΦΗ Θέτει την ημεÏομηνία που πεÏιγÏάφεται απο την\n" #~ " ΜΟΡΦΗ\n" #~ " -u, --utc, --universal Εκτυπώνει ή θέτει την παγκόσμια ÏŽÏα(UTC)\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες για την έκδοση και " #~ "τεÏματίζει\n" # #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: μη αναγνωÏίσιμη επιλογή -- %c\n" # #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "μη έγκυÏο ÏŒÏισμα %s για %s" # #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "invalid format precision" #~ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: Ï€Ïοειδοποίηση: η δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… σε συμβολικό,\n" #~ "δεν είναι μεταφεÏτή" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "δημιουÏγία ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "δημιουÏγία ÏƒÏ…Î¼Î²Î¿Î»Î¹ÎºÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" # #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot remove %s directory %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές" # #, fuzzy #~ msgid "creating %s" #~ msgstr "δημιουÏγία αÏχείου `%s'\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" # #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Η κατάληξη των αντιγÏάφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" #~ "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" #~ "Ο έλεγχος έκδοσης μποÏεί να τεθεί με την επιλογή --backup ή μέσω της\n" #~ "μεταβλητής πεÏιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" #~ "\n" #~ " none,off να μη δημιουÏγοÏνται αντίγÏαδα ασφαλείας (ακόμα και\n" #~ " αν δίνεται --backup)\n" #~ " numbered, t δημιουÏγία αÏιθμημένων αντιγÏάφων ασφαλείας\n" #~ " existing, nil αÏιθμημένων, αν υπάÏχουν αÏιθμημένα αντίγÏαφα, " #~ "διαφοÏετικά\n" #~ " απλά αντίγÏαφα\n" #~ " simple, never πάντα δημιουÏγία απλών αντιγÏάφων\n" # #, fuzzy #~ msgid "unrecognized operand %s=%s" #~ msgstr "απαÏάδεκτη επιλογή `-%c'" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" πλάτος=%d\n" # #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "cannot create temporary file" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #~ msgid "new_mode: mode\n" #~ msgstr "νεα_κατάσταση: κατάσταση λειτουÏγίας\n" #~ msgid "am" #~ msgstr "πμ" #~ msgid "pm" #~ msgstr "μμ" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "μέÏα" #~ msgstr[1] "μέÏα" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #~ msgid "program error" #~ msgstr "σφάλμα Ï€ÏογÏάμματος" # #~ msgid "stack overflow" #~ msgstr "υπεÏχείλιση στοίβας" # #~ msgid "block size" #~ msgstr "μέγεθος μπλοκ" # #, fuzzy #~ msgid "cannot change owner and/or group of %s" #~ msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" # #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "" #~ "αδÏνατη η λήψη της ομάδας εισαγωγής στο σÏστημα ενός αÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï UID" # #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Αυτό είναι ελεÏθεÏο λογισμικό· δείτε το πηγαίο κώδικα για κανόνες " #~ "αντιγÏαφής\n" #~ "ΔΕΠυπάÏχει εγγÏηση· οÏτε ακόμα για ΧΡΗΣΙΜΟΤΗΤΑ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΕÎΑ\n" #~ "ΣΥΓΚΕΚΡΙΜΕÎΟ ΣΚΟΠΟ.\n" # #~ msgid "too few arguments" #~ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα" # #, fuzzy #~ msgid "closing standard output" #~ msgstr "κανονική έξοδος" #~ msgid "group number" #~ msgstr "αÏιθμός ομάδας" # #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "μη έγκυÏος αÏιθμός" # #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "ΡίτσαÏντ Στάλμαν και Îτέιβιντ Μακένζη" # #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ ΔΕΞΙΌ_ΑΡΧΕΊΟ\n" # #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "missing file arguments" #~ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα" # #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "αντιγÏαφή πολλαπλών αÏχείων, αλλά το τελευταίο ÏŒÏισμα (%s) δεν είναι " #~ "κατάλογος" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "Ï€Ïοειδοποίηση: το --version-control (-V) δε χÏησιμοποιείται πλέον·\n" #~ "η υποστήÏηξη για αυτό θα πάψει σε κάποια μελλοντική έκδοση. Κάντε\n" #~ "χÏήση του --backup=%s στη θέση του." # #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα" # #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "ΣτιοÏαÏÏ„ Κέμπ και Îτέιβιντ Μακένζη" # #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: αναμενόταν `+' ή `-' μετά το διαχωÏιστή" # #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "πάÏα πολλά οÏίσματα που δεν έχουν επιλογές" # #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "δε μποÏοÏν να δηλώνονται αÏχεία όταν γίνεται χÏήση του --string" #~ msgid "undefined" #~ msgstr "Μή οÏισμένο" # #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Πωλ ΡοÏμπιν και Îτέιβιντ Μακένζη" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s εγγÏαφές μέσα\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s εγγÏαφές έξω\n" #~ msgid "truncated records" #~ msgstr "μηδενισμένες εγγÏαφές και γÏάψιμο πάνω σε αυτές (truncated)" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "μόνο ένα conv στο {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "δε μποÏοÏν να χÏησιμοποιηθοÏν οÏίσματα ΑΡΧΕΙΟΥ με την επιλογή\n" #~ "εμφάνισης της εσωτεÏικής βάσης της dircolor" # #, fuzzy #~ msgid "Richard Mlynarik and David MacKenzie" #~ msgstr "ΡίτσαÏντ Στάλμαν και Îτέιβιντ Μακένζη" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "ΠΡΟΣΟΧΗ: Το BRE δεν είναι συμβατό με διάφοÏα συστήματα: `%s':\n" #~ "η χÏησιμοποίηση `^' για τον Ï€Ïώτο χαÏακτήÏα μιας εκφÏασης δεν είναι\n" #~ "συμβατή; Αγνοείται." #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "ΧÏήση: %s [ΟÎΟΜΑ]\n" #~ " ή: %s ΕΠΙΛΟΓΗ\n" #~ "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #~ msgid "unrecognized option `-%c'" #~ msgstr "απαÏάδεκτη επιλογή `-%c'" # #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Πωλ ΡοÏμπιν και Îτέιβιντ Μακένζη" # #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "δεν είναι δυνατό να παÏαληφθεί χÏήστης και ομάδα" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "εγκατάσταση πολλαπλών αÏχείων, αλλά το τελευταίο ÏŒÏισμα (%s) δεν είναι " #~ "κατάλογος" # #, fuzzy #~ msgid "%s is a directory" #~ msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" # #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "μη έγκυÏος αÏιθμός πεδίου για το αÏχείο 1: `%s'" # #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "μη έγκυÏος αÏιθμός πεδίου για το αÏχείο 2: `%s'" # #~ msgid "too many non-option arguments" #~ msgstr "πάÏα πολλά οÏίσματα που δεν έχουν επιλογές" # #~ msgid "too few non-option arguments" #~ msgstr "πάÏα πολλά οÏίσματα που δεν έχουν επιλογές" # #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Σκοτ ΜπάÏÏ„Ïαμ και Îτέιβιντ Μακένζη" #~ msgid "%s: File exists" #~ msgstr "%s: Το αÏχείο υπάÏχει ήδη" # #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "συμβολικός σÏνδεσμος" #, fuzzy #~ msgid "create hard link %s to %s" #~ msgstr "δημιουÏγία σθεναÏÎ¿Ï ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… `%s' στο `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "όταν δημιουÏγήτε πολλαπλοÏÏ‚ συνδέσμους, το τελευταίο ÏŒÏισμα Ï€Ïέπει να " #~ "είναι κατάλογος" # #~ msgid "file" #~ msgstr "αÏχείο" # #~ msgid "files" #~ msgstr "αÏχεία" # #~ msgid "checksum" #~ msgstr "άθÏοισμα ελέγχου" # #~ msgid "checksums" #~ msgstr "αθÏοίσματα ελέγχου" # #~ msgid "no files may be specified when using --string" #~ msgstr "δε μποÏοÏν να δηλώνονται αÏχεία όταν γίνεται χÏήση του --string" # #~ msgid "only one argument may be specified when using --check" #~ msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλώνεται όταν γίνεται χÏήση του --check" # #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "major και minor αÏιθμοί συσκευής δεν Ï€Ïέπει να οÏίζονται στα αÏχεία fifo" # #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "όταν μετακινοÏνται πολλαπλά αÏχεία, το τελευταίο ÏŒÏισμα Ï€Ïέπει να είναι " #~ "κατάλογος" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Εκτελεί την ΕÎΤΟΛΗ με μια Ï€ÏοσαÏμογή της Ï€ÏοτεÏαιότητας.\n" #~ "ΧωÏίς καμιά ΕÎΤΟΛΗ, εκτυπώνει την Ï„Ïέχουσα Ï€ÏογÏαμματισμένη " #~ "Ï€ÏοτεÏαιότητα.\n" #~ "Εξ'οÏÎ¹ÏƒÎ¼Î¿Ï Î® Ï€ÏοσαÏμογή είναι 10. Το πεδίο κυμαίνεται απο -20 " #~ "(υψηλότεÏη \n" #~ "Ï€ÏοτεÏαιότητα) μέχÏι 19 (η χαμηλότεÏη).\n" #~ "\n" #~ " -ΜΕΤΑΒΟΛΗ αυξάνει την Ï€ÏοτεÏαιότητα σÏμφωνα με τη " #~ "ΜΕΤΑΒΟΛΗ -n, --adjustment=AJUST όμοιο του -ΜΕΤΑΒΟΛΗ\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'" # #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'" # #, fuzzy #~ msgid "cannot get priority" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot set priority" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Σκοτ ΜπάÏÏ„Ïαμ και Îτέιβιντ Μακένζη" # #~ msgid "old-style offset" #~ msgstr "Ï€Î±Î»Î±Î¹Î¿Ï ÎµÎ¯Î´Î¿Ï…Ï‚ θέση" # #~ msgid "skip argument" #~ msgstr "Ï€ÏοσπέÏασμα οÏίσματος" # #~ msgid "limit argument" #~ msgstr "ÏŒÏιο οÏίσματος" # #~ msgid "minimum string length" #~ msgstr "ελάχιστο μέγεθος αλφαÏιθμητικοÏ" # #~ msgid "width specification" #~ msgstr "δήλωση πλάτους" # #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "μη έγκυÏος δεÏτεÏος τελεστής σε κατάσταση συμβατότητας `%s'" # #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "σε κατάσταση συμβατότητας, τα τελευταία δÏο οÏίσματα Ï€Ïέπει να είναι " #~ "θέσεις" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Διαγνώστηκαν μή συμβατές με άλλα συστήματα συντάξεις στο ΟÎΟΜΑ.\n" #~ "\n" #~ " -p, --portability Ελέγχει για όλα τα συστήματα POSIX, όχι μόνο για\n" #~ " το Ï„Ïέχον.\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "το μέγεθος στηλογνώμονα πεÏιέχει μη έγκυÏο χαÏακτήÏα" # #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #~ msgid "directory `%s' is not searchable" #~ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός." #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "Το όνομα `%s' έχει μήκος %d. ΞεπεÏνά το %d που είναι το ÏŒÏιο." #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "Η διαδÏομή `%s' έχει μήκος %d. ΞεπεÏνά το %d που είναι το ÏŒÏιο." # #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' μη έγκυÏο ÏŒÏιο από αÏιθμοÏÏ‚ σελίδων: `%s'" # #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' μη έγκυÏος αÏιθμός αÏχικής σελίδας: `%s'" # #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' μη έγκυÏος αÏιθμός τελικής σελίδας: `%s'" # #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' ο αÏιθμός αÏχικής σελίδας είναι μεγαλÏτεÏος από της τελικής " #~ "σελίδας" # #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=ΣΤΗΛΗ' μη έγκυÏος αÏιθμός στηλών: `%s'" # #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" # #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "ο αÏχικός αÏιθμός σελίδας είναι μεγαλÏτεÏος από το συνολικό αÏιθμό " #~ "σελίδων: `%d'" # #~ msgid "Page %d" #~ msgstr "Σελίδα %d" # #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: μη έγκυÏη μοÏφή" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "ΧÏήση: %s ΜΟΡΦΗ [ΠΑΡΑΜΕΤΡΟΙ...]\n" # #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "δεν είναι δυνατό να διαγÏαφοÏν τα `.' ή `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "ΔιαγÏαφή (unlink) ΑΡΧΕΙΟΥ(ΩÎ).\n" #~ "\n" #~ " -d, --directory διαγÏαφή καταλόγου, ακόμα και αν δεν είναι άδειος " #~ "(μόνο\n" #~ " υπεÏχÏήστης)\n" #~ " -f, --force αγνόησε αÏχεία που δεν υπάÏχουν, χωÏίς " #~ "επιβεβαίωση\n" #~ " -i, --interactive επιβεβαίωση Ï€Ïιν κάθε διαγÏαφή prompt\n" #~ " -r, -R, --recursive διαγÏαγή των πεÏιεχομένων των καταλόγων " #~ "αναδÏομικά\n" #~ " -v, --verbose εξήγηση του τι συμβαίνει\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Για τη διαγÏαφή ενός αÏχείου που το όνομα του ξεκινά με `-', για " #~ "παÏάδειγμα\n" #~ "`-foo', κάντε χÏήση μιας από τις παÏακάτω εντολές:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "Οταν η αÏχική τιμή είναι μεγαλÏτεÏη του ÏŒÏιου,\n" #~ "η αÏξηση Ï€Ïέπει να είναι αÏνητική." # #, fuzzy #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "το ÏŒÏισμα έναÏξης πεδίου αÏÎ¹Î¸Î¼Î¿Ï ÏƒÏ„Î·Î½ επιλογή `-k' Ï€Ïέπει να είναι θετικός" # #, fuzzy #~ msgid "sort size" #~ msgstr "μέγεθος μπλοκ" # #~ msgid "stdin: read error" #~ msgstr "stdin: σφάλμα ανάγνωσης" # #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: μη έγκυÏος χαÏακτήÏας κατάληξης σε εκτός χÏήσης επιλογή" # #, fuzzy #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "ΠÏοειδοποίηση: δεν είναι μεταφέÏσιμο να γίνετε χÏήση δÏο ή πεÏισσότεÏο " #~ "οÏισμάτων\n" #~ "για αÏχεία με το εκτός χÏήσης συντακτικό (%s). Κάντε χÏήση του ισοδÏναμου " #~ "-n ή -c\n" #~ "στη πεÏίπτωση αυτή." # #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "ΠÏοειδοποίηση: δεν είναι μεταφέÏσιμο να γίνετε χÏήση δÏο ή πεÏισσότεÏο " #~ "οÏισμάτων\n" #~ "για αÏχεία με το εκτός χÏήσης συντακτικό (%s). Κάντε χÏήση του ισοδÏναμου " #~ "-n ή -c\n" #~ "στη πεÏίπτωση αυτή." # #, fuzzy #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: το %s είναι τόσο μεγάλο που δε μποÏεί να αναπαÏασταθεί" # #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: μη έγκυÏος μέγιστος αÏιθμός από διαδοχικές αλλαγές μεγέθους" # #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "ΡίτσαÏντ Στάλμαν και Îτέιβιντ Μακένζη" #~ msgid "argument expected\n" #~ msgstr "Αναμενόταν παÏάμετÏος.\n" #~ msgid "integer expression expected %s\n" #~ msgstr "Αναμενόταν ακέÏαια έκφÏαση %s\n" #~ msgid "before -lt" #~ msgstr "Ï€Ïιν -lt" #~ msgid "after -lt" #~ msgstr "μετά -lt" #~ msgid "before -le" #~ msgstr "Ï€Ïιν -le" #~ msgid "after -le" #~ msgstr "μετά -le" #~ msgid "before -gt" #~ msgstr "Ï€Ïιν -gt" #~ msgid "after -gt" #~ msgstr "μετά -gt" #~ msgid "before -ge" #~ msgstr "Ï€Ïιν -ge" #~ msgid "after -ge" #~ msgstr "μετά -ge" #~ msgid "before -ne" #~ msgstr "Ï€Ïιν -ne" #~ msgid "after -ne" #~ msgstr "μετά -ne" #~ msgid "before -eq" #~ msgstr "Ï€Ïιν -eq" #~ msgid "after -eq" #~ msgstr "μετά -eq" #, fuzzy #~ msgid "after -t" #~ msgstr "μετά -lt" # #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "πάÏα πολλά οÏίσματα" # #, fuzzy #~ msgid "file arguments missing" #~ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα" # #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "μη έγκυÏη διαφυγή με πισωκάθετο `\\%c'`" # #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "τουλάχιστον ένα αλφαÏιθμητικό Ï€Ïέπει να δίνεται όταν συμπυκνώνονται\n" #~ "επαναλήψεις" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "ΧÏήση: %s [ΟÎΟΜΑ]\n" #~ " ή: %s ΕΠΙΛΟΓΗ\n" #~ "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" # #~ msgid "only one argument may be specified" #~ msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: δεν μποÏει να βÏεθεί όνομα χÏήστη για το 'UID' %u\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία." # #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #, fuzzy #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: ο κατάλογος `%s' Ï€ÏοστατεÏεται από εγγÏαφή· διάσχυση σε αυτό " #~ "παÏολαυτά; " #~ msgid "removing all entries of directory %s\n" #~ msgstr "διαγÏαφή όλων των εγγÏαφών του καταλόγου %s\n" # #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "αδÏνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" #~ msgid " (might be nonempty)" #~ msgstr " (μποÏεί να μην είναι άδειο)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "ΠΡΟΣΟΧΗ: δεν είναι δυνατόν να αλλαχτεί ο κατάλογος σε %s" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αÏχικά αÏιθμοÏÏ‚ συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώÏα (μετά από ένα chdir σε αυτόν), οι αÏιθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σÏνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αÏχικά αÏιθμοÏÏ‚ συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώÏα (μετά από ένα chdir σε αυτόν), οι αÏιθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σÏνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αÏχικά αÏιθμοÏÏ‚ συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώÏα (μετά από ένα chdir σε αυτόν), οι αÏιθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σÏνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " η : %s [-acm] MMDDhhmm[YY] ΑΡΧΕΙΟ... (δεν είναι σε χÏήση)\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Αλλαγή της συμμετοχής σε ομάδα κάθε αÏχείου ΑΡΧΕΙΟ στην ΟΜΑΔΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνÏματος " #~ "μόνο\n" #~ " όταν γίνεται αλλαγή\n" #~ " --dereference αλλαγή στο αναφεÏόμενο αÏχείο κάθε συμβολικοÏ\n" #~ " συνδέσμου αντί στον ίδιο τον σÏνδεσμο\n" #~ " -h, --no-dereference Ï„Ïοποποίηση μόνο των συμβολικών συνδέσμων αντί " #~ "στα\n" #~ " αναφεÏόμενα αÏχεία (διαθέσιμο μόνο στα " #~ "συστήματα\n" #~ " που επιτÏέπουν την αλλαγή ιδιοκτήτη σε " #~ "συμβολικό\n" #~ " σÏνδεσμο)\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των πεÏισσότεÏων μηνυμάτων\n" #~ " σφάλματος\n" #~ " --reference=ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ χÏήση της ομάδας του ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ\n" #~ " αντί τις τιμής ΟΜΑΔΑ\n" #~ " -R, --recursive αναδÏομικές αλλαγές στα αÏχεία και στους\n" #~ " καταλόγους\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε " #~ "αÏχείο\n" #~ " που επεξεÏγάζεται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Αλλαγή του ιδιοκτήτη και/ή της ομάδα για κάθε αÏχείο, σε ΙΔΙΟΚΤΗΤΗ και/η " #~ "ΟΜΑΔΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνÏματος " #~ "μόνο\n" #~ " όταν γίνεται αλλαγή\n" #~ " --dereference αλλαγή στο αναφεÏόμενο αÏχείο κάθε συμβολικοÏ\n" #~ " συνδέσμου αντί στον ίδιο το σÏνδεσμο\n" #~ " -h, --no-dereference Ï„Ïοποποίηση μόνο των συμβολικών συνδέσμων αντί " #~ "στα\n" #~ " αναφεÏόμενα αÏχεία (διαθέσιμο μόνο στα " #~ "συστήματα\n" #~ " που επιτÏέπουν την αλλαγή ιδιοκτήτη σε " #~ "συμβολικό\n" #~ " σÏνδεσμο)\n" #~ " --from=ΤΡΕΧΩÎ_ΙΔΙΟΚΤΗΤΗΣ:ΤΡΕΧΟΥΣΑ_ΟΜΑΔΑ\n" #~ " αλλαγή του ιδιοκτήτη και/ή της ομάδας κάθε " #~ "αÏχείου μόνο\n" #~ " αν ο Ï„Ïέχων ιδιοκτήτης και/ή ομάδα ταιÏιάζουν με " #~ "τις\n" #~ " τιμές εδώ. Ένα από τα δÏο μποÏεί να παÏαληφθεί, " #~ "οπότε\n" #~ " δεν απαιτείται ταίÏιασμα στο παÏαλειπόμενη " #~ "ιδιότητα.\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των πεÏισσότεÏων μηνυμάτων\n" #~ " σφάλματος\n" #~ " --reference=ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ χÏήση του ιδιοκτήτη και της ομάδας\n" #~ " του ΑΡΧΕΙΟΑÎΑΦΟΡΑΣ αντί των τιμών ΙΔΙΟΚΤΗΤΗΣ:" #~ "ΟΜΑΔΑ\n" #~ " -R, --recursive αλλαγές στα αÏχεία και στους καταλόγους " #~ "αναδÏομικά\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε " #~ "αÏχείο\n" #~ " που επεξεÏγάζεται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Ο ιδιοκτήτης δεν αλλάζει αν έχει παÏαληφθεί. Η ομάδα δεν αλλάζει αν έχει\n" #~ "παÏαληφθεί, Ï„Ïοποποιείται στη βασική ομάδα χÏήστη αν τοποθετηθεί ο\n" #~ "χαÏακτήÏας 'άνω-κάτω τελία'. Ο ΙΔΙΟΚΤΗΤΗΣ και η ΟΜΑΔΑ μποÏοÏν να έχουν\n" #~ "είτε αÏιθμητική είτε συμβολική τιμή.\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "ΑντιγÏαφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " -a, --archive το ίδιο με -dpR\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " #~ "αÏχείο\n" #~ " Ï€ÏοοÏισμοÏ\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παÏάμετÏο\n" #~ " -d, --no-dereference διατήÏηση συμβολικών συνδέσμων\n" #~ " -f, --force διαγÏαφή υπαÏχόντων Ï€ÏοοÏισμών, χωÏίς\n" #~ " επιβεβαίωση διαγÏαφής\n" #~ " -i, --interactive απαίτηση διαβεβαίωσης διαγÏαφής Ï€Ïιν τη\n" #~ " διαγÏαφή λόγω επικάλυψης\n" #~ " -l, --link δημιουÏγία συνδέσμων αντί αντιγÏάφων\n" #~ " -p, --preserve διατήÏηση χαÏακτηÏιστικών των αÏχείων, αν\n" #~ " είναι δυνατόν\n" #~ " -P, --parents Ï€Ïοσθήκη διαδÏομής της πηγής στο " #~ "ΚΑΤΑΛΟΓΟΣ\n" #~ " -r αντιγÏαφή αναδÏομικά, τους μη-καταλόγους " #~ "σαν\n" #~ " αÏχεία\n" #~ " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χÏήση του -R όταν\n" #~ " Ï€Ïόκειτε να αντιγÏάψετε ειδικά αÏχεία " #~ "όπως\n" #~ " FIFO ή το /dev/zero\n" #~ " --sparse=WHEN έλεγχος της δημιουÏγίας αÏαιών (sparse)\n" #~ " αÏχείων\n" #~ " -R, --recursive αντιγÏαφή καταλόγων αναδÏομικά\n" #~ " --strip-trailing-slashes απομάκÏυνση οτιδήποτε κάθετων που έπονται " #~ "από\n" #~ " κάθε ÏŒÏισμα ΠΗΓΗΣ\n" #~ " -s, --symbolic-link δημιουÏγία συμβολικών συνδέσμων αντί\n" #~ " αντιγÏάφων\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνηθισμένης κατάληξης των\n" #~ " αντιγÏάφων ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα οÏίσματα για ΠΗΓΗ " #~ "στο\n" #~ " ΚΑΤΑΛΟΓΟΣ\n" #~ " -u, --update αντιγÏαφή μόνο όταν το αÏχείο ΠΗΓΗ είναι\n" #~ " νεώτεÏο από το αÏχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" #~ " το αÏχείο Ï€ÏοοÏισμός δεν υπάÏχει\n" #~ " -v, --verbose εξήγηση του τί γίνεται\n" #~ " -x, --one-file-system παÏαμονή στο Ï„Ïέχον σÏστημα αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Έξ οÏισμοÏ, τα αÏαία (sparse) αÏχεία ΠΗΓΗΣ αναγωÏίζονται με ένα όχι τόσο\n" #~ "καλό ευÏεστικό αλγόÏιθμο και το αντίστοιχο αÏχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται " #~ "αÏαιό\n" #~ "επίσης. Αυτή είναι η συμπεÏιφοÏά της επιλογής --sparse=auto. Επιλέξτε\n" #~ "--sparse=always για τη δημιουÏγία αÏαιών αÏχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το " #~ "αÏχείο\n" #~ "ΠΗΓΗ πεÏιέχει αÏκετά μεγάλες σειÏές από μηδενικά bytes.\n" #~ "Με --sparse=never απογοÏεÏετε τη δημιουÏγία αÏαιών αÏχείων.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "ΑντιγÏαφή αÏχείου, μετατÏοπή και μοÏφοποίηση βάση των επιλογών.\n" #~ "\n" #~ " bs=BYTES επιβολή ibs=BYTES και obs=BYTES\n" #~ " cbs=BYTES μετατÏοπή BYTES bytes τη φοÏά\n" #~ " conv=ΛΕΚΤΙΚΑ μετατÏοπή σÏμφωνα με τη διαχωÏιζόμενη με κόμμα " #~ "λίσταλεκτικών\n" #~ " count=ΜΠΛΟΚ αντιγÏαφή μόνο BLOCKS μπλοκ εισόδου\n" #~ " ibs=BYTES ανάγνωση BYTES bytes τη φοÏά\n" #~ " if=ΑΡΧΕΙΟ ανάγνωση από ΑΡΧΕΙΟ αντί από τη κανονική είσοδο\n" #~ " obs=BYTES εγγÏαφή BYTES bytes τη φοÏά\n" #~ " of=ΑΡΧΕΙΟ εγγÏαφή στο ΑΡΧΕΙΟ αντί στη κανονική έξοδο, χωÏίς " #~ "επικάλυψη\n" #~ " seek=ΜΠΛΟΚ παÏάληψη των ΜΠΛΟΚ μπλοκ μεγέθους obs στην αÏχή της " #~ "εξόδου\n" #~ " skip=ΜΠΛΟΚ παÏάληψη των ΜΠΛΟΚ μπλοκ μεγέθους ibs στην αÏχή της " #~ "εισόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "το BYTES μποÏεί να φέÏει τις επόμενες πολλαπλασιαστικές καταλήξεις:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Κάθε ΛΕΚΤΙΚΟ μποÏεί να είναι:\n" #~ "\n" #~ " ascii από EBCDIC σε ASCII\n" #~ " ebcdic από ASCII σε EBCDIC\n" #~ " ibm από ASCII σε ενναλακτικό EBCDIC\n" #~ " block συμπλήÏωση των εγγÏαφών που τεÏματίζονται με το χαÏακτήÏα" #~ "\t αλλαγής γÏαμμής με το χαÏακτήÏα διαστήματος για " #~ "σχηματισμό μεγέθους cbs\n" #~ " unblock αντικατάσταση τελικών διαστημάτων στις εγγÏαφές cbs με " #~ "χαÏακτήÏα αλλαγής γÏαμμής\n" #~ " lcase αλλαγή κεφαλαίων σε πεζά\n" #~ " notrunc αποφυγή δημιουÏγίας αÏχείου εξόδου όταν υπάÏχει αÏχείο\n" #~ "\t με το ίδιο όνομα\n" #~ " ucase αλλαγή πεζών σε κεφαλαία\n" #~ " swab αντικατάσταση Î¼ÎµÏ„Î±Î¾Ï Ï„Î¿Ï…Ï‚ κάθε ζευγαÏÎ¹Î¿Ï Î±Ï€ÏŒ bytes εισόδου\n" #~ " noerror συνέχιση ακόμα και με σφάλματα ανάγνωσης\n" #~ " sync συμπλήÏωση κάθε μπλοκ εισόδου με NUL για να σχηματιστεί " #~ "μέγεθος ibs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση πληÏοφοÏιών για το σÏστημα αÏχείων στο οποίο κάθε ΑΡΧΕΙΟ " #~ "βÏίσκεται\n" #~ "ή όλων των συστημάτων αÏχείων εξ οÏισμοÏ.\n" #~ "\n" #~ " -a, --all συμπεÏίληψη συστημάτων αÏχείων με 0 μπλοκ\n" #~ " --block-size=ΜΕΓΕΘΟΣ χÏήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε ανθÏωπίνως αναγνώσιμη μοÏφή " #~ "(Ï€.χ. 1Κ 234Μ 2G)\n" #~ " -H, --si όπως παÏαπάνω, αλλά με δυνάμεις του 1000 αντί του " #~ "1024\n" #~ " -i, --inodes εμφάνιση πληÏοφοÏιών κόμβων-δ αντί χÏήσης των " #~ "μπλοκ\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -m, --megabytes όπως like --block-size=1048576\n" #~ " --no-sync να μη κληθεί η sync Ï€Ïιν παÏθοÏν πληÏοφοÏίες " #~ "χÏήσης(εξ οÏισμοÏ)\n" #~ " -P, --portability χÏήση της μοÏφής εξόδου POSIX\n" #~ " --sync κλήση της sync Ï€Ïιν τη λήψη πληÏοφοÏιών χÏήσης\n" #~ " -t, --type=ΕΙΔΟΣ πεÏιοÏισμός εμφάνισης στα συστήματα αÏχείων του " #~ "είδους ΕΙΔΟΣ\n" #~ " -T, --print-type εμφάνιση το είδος του συστήματος αÏχείων\n" #~ " -x, --exclude-type=ΕΙΔΟΣ πεÏιοÏισμός εμφάνισης συστήματος αÏχείων σε " #~ "όχι είδος ΕΙΔΟΣ\n" #~ " -v (αγνοείται)\n" #~ " --help εμφάνιση αυτής βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ΠεÏιληπτική εμφάνιση χÏήσης δίσκου για κάθε ΑΡΧΕΙΟ, αναδÏομικά για " #~ "καταλόγους.\n" #~ "\n" #~ " -a, --all εμφάνιση τιμών για όλα τα αÏχεία, όχι μόνο για\n" #~ " καταλόγους\n" #~ " --block-size=ΜΕΓΕΘΟΣ χÏήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -b, --bytes εμφάνιση μεγεθών σε byte\n" #~ " -c, --total εμφάνιση Ï„ÎµÎ»Î¹ÎºÎ¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚\n" #~ " -D, --dereference-args αναδίπλωση ΜΟÎΟΠΑΤΙΩΠόταν υπάÏχει συμβολικός\n" #~ " σÏνδεσμος\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε εÏκολη και αναγνώσιμη μοÏφή\n" #~ " (Ï€.χ. 1K 234M 2G)\n" #~ " -H, --si όπως παÏαπάνω, αλλά με δυνάμεις του 1000 αντί του " #~ "1024\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -l, --count-links μέτÏημα μεγεθών πολλές φοÏές αν είναι σθεναÏά\n" #~ " συνδεδεμένα(hard linked)\n" #~ " -L, --dereference αναδίπλωση όλων των συμβολικών συνδέσμων\n" #~ " -m, --megabytes όπως --block-size=1048576\n" #~ " -S, --separate-dirs χωÏίς να συμπεÏιλαμβάνεται το μέγεθος των " #~ "υποκαταλόγων\n" #~ " -s, --summarize εμφάνιση μόνο συνόλου για κάθε ÏŒÏισμα\n" #~ " -x, --one-file-system παÏάληψη καταλόγων σε διαφοÏετικά συστήματα " #~ "αÏχείων\n" #~ " -X ΑΡΧΕΙΟ, --exclude-from=ΑΡΧΕΙΟ ΠαÏάληψη αÏχείων με μοÏφή που\n" #~ " ταιÏιάζει μέσα στο ΑΡΧΕΙΟ\n" #~ " --exclude=ΜΟΡΦΗ ΠαÏάληψη αÏχείων της μοÏφής ΜΟΡΦΗ.\n" #~ " --max-depth=N εμφάνιση του ÏƒÏ…Î½Î¿Î»Î¹ÎºÎ¿Ï ÎµÎ½ÏŒÏ‚ καταλόγου (ή " #~ "αÏχείου,\n" #~ " με --all)\n" #~ " μόνο αν είναι N ή λιγότεÏα επίπεδα κάτω από το\n" #~ " ÏŒÏισμα της γÏαμμής εντολών· --max-depth=0 " #~ "είναι\n" #~ " ίδιο με --summarize\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Στις Ï€Ïώτες δÏο μοÏφές, αντιγÏάφει τη ΠΗΓΗ στο ΠΡΟΟΡΙΣΜΟ ή πολλαπλές " #~ "ΠΗΓΕΣ\n" #~ "(ΠΗΓΗ) στον υπάÏχον ΚΑΤΑΛΟΓΟ, ενώ τίθενται δικαιώματα αÏχείου και\n" #~ "ιδιοκτήτης/ομάδα. Στη Ï„Ïίτη μοÏφή, δημιουÏγία όλων των συστατικών του " #~ "δοθέντος\n" #~ "ΚΑΤΑΛΟΓΟΥ(ΩÎ).\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε αÏχείο\n" #~ " Ï€ÏοοÏισμοÏ\n" #~ " -b όπως το --backup αλλά δεν απαιτεί παÏάμετÏο\n" #~ " -c (αγνοείται)\n" #~ " -d, --directory μεταχείÏηση όλων των οÏισμάτων ως ονόματα " #~ "καταλόγων·\n" #~ " δημιουÏγία όλων των συστατικών των δοθέντων " #~ "καταλόγων\n" #~ " -D δημιουÏγία όλων των Ï€ÏοποÏευόμενων συστατικών του\n" #~ " ΠΡΟΟΡΙΣΜΟΥ εκτός του τελευταίου, και αντέγÏαψε τη " #~ "ΠΗΓΗ\n" #~ " στο ΠΡΟΟΡΙΣΜΟ· χÏήσιμο στην Ï€Ïώτη μοÏφή\n" #~ " -g, --group=ΟΜΑΔΑ οÏισμός ιδιοκτησίας ομάδας, αντί της Ï„Ïέχουσας της\n" #~ " διεÏγασίας\n" #~ " -m, --mode=ΔΙΚΑΙΩΜΑΤΑ οÏισμός δικαιωμάτων (όπως με chmod), αντί του\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=ΙΔΙΟΚΤΗΤΗΣ οÏισμός ιδιοκτήτη (μόνο υπεÏχÏήστης)\n" #~ " -p, --preserve-timestamps διατήÏηση των ημεÏομηνιών Ï€Ïόσβασης/" #~ "Ï„Ïοποποίησης\n" #~ " των αÏχείων ΠΗΓΗΣ\n" #~ " -s, --strip απαλοιφή πινάκων συμβόλων, μόνο για 1η και 2η " #~ "μοÏφή\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνηθισμένης κατάληξης αÏχείων " #~ "ασφαλείας\n" #~ " -v, --verbose εμφάνιση του ονόματος κάθε καταλόγου καθώς " #~ "δημιουÏγείται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "ΔημιουÏγία συνδέσμου στον αναφεÏόμενο ΠΡΟΟΡΙΣΜΟ με Ï€ÏοαιÏετικό\n" #~ "ΟÎΟΜΑ_ΣΥÎΔΕΣΜΟΥ. Αν το ΟÎΟΜΑ_ΣΥÎΔΕΣΜΟΥ έχει παÏαληφθεί, να δημιουÏγηθεί\n" #~ "σÏνδεσμος με την ίδια βάση ονόματος όπως ο Ï€ÏοοÏισμός, στο Ï„Ïέχον " #~ "κατάλογο.\n" #~ "Όταν γίνετε χÏήση της δεÏτεÏης μοÏφής με πεÏισσότεÏους από έναν " #~ "ΠΡΟΟΡΙΣΜΟΥΣ,\n" #~ "το τελευταίο ÏŒÏισμα Ï€Ïέπει να είναι κατάλογος· δημιουÏγία συνδέσμων στο\n" #~ "ΚΑΤΑΛΟΓΟ για κάθε ΠΡΟΟΡΙΣΜΟ. ΔημιουÏγία σθεναÏών συνδέσμων εξ οÏισμοÏ,\n" #~ "συμβολικών συνδέσμων με --symbolic.\n" #~ "Όταν δημιουÏγοÏνται σθεναÏοί σÏνδεσμοι, κάθε ΠΡΟΟΡΙΣΜΟΣ Ï€Ïέπει να " #~ "Ï€ÏοϋπάÏχει.\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουÏγία αντιγÏάφου ασφαλείας για κάθε " #~ "αÏχείο\n" #~ " Ï€ÏοοÏισμοÏ\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παÏάμετÏο\n" #~ " -d, -F, --directory σθεναÏοί σÏνδεσμοι σε καταλόγους (μόνο\n" #~ " υπεÏχÏήστης)\n" #~ " -f, --force διαγÏαφή υπαÏχόντων αÏχείων Ï€ÏοοÏισμοÏ\n" #~ " -n, --no-dereference μεταχείÏηση Ï€ÏοοÏισμών που είναι σÏνδεσμος " #~ "σε\n" #~ " κατάλογο σα να ήταν κανονικό αÏχείο\n" #~ " -i, --interactive επιβεβαίωση για διαγÏαφή Ï€ÏοοÏισμών\n" #~ " -s, --symbolic δημιουÏγία συμβολικών συνδέσμων αντί " #~ "σθεναÏών\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παÏάκαμψη της συνηθησμένης κατάληξης " #~ "αÏχείων\n" #~ " ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ οÏισμός ΚΑΤΑΛΟΓΟΥ στον οποίο θα\n" #~ " δημιουÏγηθοÏν σÏνδεσμοι\n" #~ " -v, --verbose εμφάνιση ονόματος κάθε αÏχείου Ï€Ïιν τη " #~ "σÏνδεση\n" #~ " -V, --version-control=ΛΕΞΗ παÏάκαμψη του συνηθησμένου ελέγχου " #~ "έκδοσης\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\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\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "ΠαÏάθεση πληÏοφοÏιών για τα ΑΡΧΕΙΑ (εξ οÏÎ¹ÏƒÎ¼Î¿Ï Î¿ Ï„Ïέχον κατάλογος).\n" #~ "Ταξινόμηση καταχωÏίσεων αλφαβητικά, αν κανένα από τα -cftuSUX ή --sort " #~ "δεν\n" #~ "έχει οÏιστεί.\n" #~ "\n" #~ " -a, --all να μην αποκÏÏπτονται οι καταχωÏίσεις που\n" #~ " αÏχίζουν με .\n" #~ " -A, --almost-all να μην εμφανίζονται τα . και .. που\n" #~ " εξυπακοÏονται\n" #~ " -b, --escape εμφάνιση οκταδικών αÏιθμών διαφυγής για μη\n" #~ " εμφανιζόμενους χαÏακτήÏες\n" #~ " --block-size=ΜΕΓΕΘΟΣ χÏήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -B, --ignore-backups να μην εμφανίζονται καταχωÏίσεις που " #~ "καταλήγουν\n" #~ " σε ~\n" #~ " -c με -lt: ταξινόμηση ανάλογα, και εμφάνιση,\n" #~ " της ÏŽÏας τελευταίας Ï„Ïοποποίησης των " #~ "πληÏο-\n" #~ " φοÏιών κατάστασης του αÏχείου (ctime),\n" #~ " με -l: εμφάνιση του ctime και ταξινόμηση\n" #~ " βάση ονόματος,\n" #~ " διαφοÏετικά, ταξινόμηση βάση ctime\n" #~ " -C εμφάνιση καταχωÏίσεων σε στήλες\n" #~ " --color[=ΠΟΤΕ] έλεγχος πότε το χÏώμα χÏησιμοποιείται για " #~ "να\n" #~ " διαχωÏίσει τα είδη αÏχείων\n" #~ " Το ΠΟΤΕ μποÏεί να είναι `never', `always' " #~ "ή\n" #~ " `auto'\n" #~ " -d, --directory εμφάνιση καταχωÏίσεων καταλόγου αντί\n" #~ " πεÏιεχομένων\n" #~ " -D, --dired το αποτέλεσμα να είναι της μοÏφής της\n" #~ " κατάστασης dired του Emacs\n" #~ " -f να μη ταξινομοÏνται, ενεÏγοποίηση με -aU,\n" #~ " απενεÏγοποίηση με -lst\n" #~ " -F, --classify Ï€Ïοσθήκη χαÏακτήÏα κατηγοÏοποίησης στις\n" #~ " καταχώÏισεις\n" #~ " (ένα από τα */=@|)\n" #~ " --format=ΛΕΚΤΙΚΟ κατά μήκος across -x, κόμματα commas -m,\n" #~ " οÏιζόντια horizontal -x, μακÏοσκελή long -" #~ "l,\n" #~ " μία στήλη single-column -1, πεÏιφÏαστικά\n" #~ " verbose -l, κάθετα vertical -C\n" #~ " --full-time εμφάνιση πλήÏης ÏŽÏας και πλήÏης ημεÏομηνίας\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\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" #~ msgstr "" #~ " -g (αγνοείται)\n" #~ " -G, --no-group να μην εμφανίζονται πληÏοφοÏίες ομάδας\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε ανθÏωπίνως αναγνώσιμη\n" #~ " μοÏφή (Ï€.χ. 1Κ 234M 2G)\n" #~ " -H, --si όπως παÏαπάνω, αλλά με δυνάμεις του 1000 " #~ "αντί\n" #~ " του 1024\n" #~ " --indicator-style=ΛΕΚΤΙΚΟ Ï€Ïοσθήκη δείκτη ΛΕΚΤΙΚΟ στις " #~ "καταχωÏίσεις\n" #~ " ονομάτων:\n" #~ " none (εξ οÏισμοÏ), classify (-F), file-" #~ "type\n" #~ " (-p)\n" #~ " -i, --inode εμφάνιση δείκτη κάθε αÏχείου\n" #~ " -I, --ignore=PATTERN να μην εμφανίζονται αναφεÏόμενες " #~ "καταχωÏίσεις \n" #~ " που ταιÏίαζουν στο PATTERN του φλοιοÏ\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -l χÏήση μακÏοσκελοÏÏ‚ είδους εμφάνισης\n" #~ " -L, --dereference εμφάνιση καταχωÏίσεων που δείχνουν οι\n" #~ " συμβολικοί σÏνδεσμοι\n" #~ " -m συμπλήÏωση του πλάτους με λίστα από\n" #~ " καταχωÏίσεις διαχωÏιζόμενων με κόμμα\n" #~ " -n, --numeric-uid-gid εμφάνιση αÏιθμητικών UID και GID αντί για\n" #~ " ονόματα\n" #~ " -N, --literal εμφάνιση ακατέÏγαστων καταχωÏίσεων (Ï€.χ. να " #~ "μην\n" #~ " τυγχάνουν\n" #~ " ειδικής επεξεÏγασίας οι χαÏακτήÏες " #~ "ελέγχου)\n" #~ " -o χÏήση μακÏοσκελοÏÏ‚ εμφάνισης χωÏίς " #~ "πληÏοφοÏίες\n" #~ " ομάδας\n" #~ " -p, --file-type Ï€Ïοσθήκη ενδείξης (ένα από /=@|) στις\n" #~ " καταχωÏίσεις\n" #~ " -q, --hide-control-chars εμφάνιση του ? αντί των μη-εκτυπώσιμων\n" #~ " χαÏακτήÏων\n" #~ " --show-control-chars εμφάνιση μη εκτυπώσιμων χαÏακτήÏων όπως " #~ "είναι\n" #~ " (εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎµÎºÏ„ÏŒÏ‚ αν το Ï€ÏόγÏαμμα είναι " #~ "το\n" #~ " ls και η έξοδος είναι το τεÏματικό)\n" #~ " -Q, --quote-name εμφάνιση καταχωÏίσεων μέσα σε διπλά " #~ "εισαγωγικά\n" #~ " --quoting-style=ΛΕΚΤΙΚΟ χÏήση μοÏφής ΛΕΚΤΙΚΟ στην εμφάνιση " #~ "ονομάτων\n" #~ " καταχωÏίσεων:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse αντίστÏοφη σειÏά στην ταξινόμηση\n" #~ " -R, --recursive εμφάνιση υποκαταλόγων αναδÏομικά\n" #~ " -s, --size εμφάνιση μεγέθους κάθε αÏχείου, σε μπλοκ\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S ταξινόμηση βάση του μεγέθους αÏχείου\n" #~ " --sort=ΛΕΚΤΙΚΟ κατάληξη -X, τίποτα -U, μέγεθος -S, ÏŽÏα -t\n" #~ " έκδοση -v,\n" #~ " κατάσταση -c, ÏŽÏα -t, ÏŽÏα Ï€Ïόσβασης -u\n" #~ " --time=ΛΕΚΤΙΚΟ εμφάνιση ÏŽÏας σαν ΛΕΚΤΙΚΟ αντί της ÏŽÏας\n" #~ " Ï„Ïοποποίησης:\n" #~ " atime, access, use, ctime ή status· χÏήση\n" #~ " ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï„Î±Î¾Î¹Î½ÏŒÎ¼Î·ÏƒÎ·Ï‚ την δοσμένη ÏŽÏα αν\n" #~ " --sort=time\n" #~ " -t ταξινόμηση βάση ÏŽÏας Ï„Ïοποποίησης\n" #~ " -T, --tabsize=ΣΤΗΛΕΣ θεώÏησε τους οÏιζόντιους στηλοθέτες " #~ "μεγέθους\n" #~ " ΣΤΗΛΕΣ αντί για 8\n" #~ " -u ταξινόμηση βάση χÏόνου τελευταίας " #~ "Ï€Ïόσβασης·\n" #~ " με -l: εμφάνιση του atime\n" #~ " -U χωÏίς ταξινόμηση· εμφάνιση καταχωÏήσεων σε\n" #~ " φυσική σειÏά\n" #~ " -v ταξινόμηση βάση έκδοσης\n" #~ " -w, --width=ΣΤΗΛΕΣ θεώÏησε πλάτος οθόνης ΣΤΗΛΕΣ αντί Ï„ÏεχοÏσης\n" #~ " τιμής\n" #~ " -x εμφάνισης καταχωÏίσεων ανά γÏαμμές αντί για " #~ "στήλες\n" #~ " -X αλφαβητική ταξινόμηση βάση κατάληξης\n" #~ " -1 εμφάνιση ενός αÏχείου ανά γÏαμμή\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Εξ οÏισμοÏ, το χÏώμα δε χÏησιμοποιείται στο διαχωÏισμό των αÏχείων " #~ "ανάλογα με το είδος. Δηλάδη, είναι σαν να είναι --color=none. Με την " #~ "επιλογή\n" #~ "--color χωÏίς το Ï€ÏοαιÏετικό ÏŒÏισμα WHEN είναι συνώνυμο με\n" #~ "--color=always. Με --color=auto, οι χÏωματικές πληÏοφοÏίες εμφανίζονται\n" #~ "όταν η κανονική έξοδος συνδέεται με τεÏματικό (tty).\n" # src/shred.c:463 #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "ΔιαγÏαφή αÏχείου με ασφάλεια, Ï€Ïώτα γÏάφοντας πάνω του για να χαθεί\n" #~ "το πεÏιεχόμενό του.\n" #~ " -f, --force αλλαγή δικαιωμάτων για να επιτÏαπεί η εγγÏαφή, αν " #~ "απαιτείται\n" #~ " -n, --iterations=N ΕγγÏαφή από επάνω ΠφοÏές αντί του ÎºÎ±Î½Î¿Î½Î¹ÎºÎ¿Ï (%d)\n" #~ " -s, --size=N διάλυση Î bytes (καταλήξεις όπως k, M, G είναι δεκτές)\n" #~ " -u, --remove μηδένισε και διέγÏαψε το αÏχείο μετά το γÏάψιμο από " #~ "πάνω\n" #~ " -v, --verbose εμφάνιση Ï€Ïοόδου\n" #~ " -x, --exact να μη στογγυλοποιοÏνται τα μεγέθη αÏχείων μέχÏι το " #~ "επόμενο πλήÏες μπλόκ\n" #~ " -z, --zero Ï€Ïοσθήκη ενός Ï„ÎµÎ»Î¹ÎºÎ¿Ï Î³Ïαψίματος από πάνω με μηδενικά " #~ "για να αποκÏυφτεί η διάλυση\n" #~ " - διάλυση της κανονικής εξόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "FIXME maybe add more discussion here?" # #, fuzzy #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "ΕνημέÏωση των ημεÏομηνιών και ωÏών Ï€Ïόσβασης και Ï„Ïοποποίησης για κάθε " #~ "ΑΡΧΕΙΟ στη Ï„Ïέχουσα ημεÏομηνία και ÏŽÏα.\n" #~ "\n" #~ " -a αλλαγή μόνο της ημεÏομηνίας Ï€Ïόσβασης\n" #~ " -c χωÏίς δημιουÏγία αÏχείων\n" #~ " -d, --date=ΑΛΦΑΡΙΘΜΗΤΙΚΟ επεξεÏγασία του ΑΛΦΑΡΙΘΜΗΤΙΚΟΥ και χÏήση\n" #~ " του αντί τις Ï„Ïέχουσας ημεÏομηνίας\n" #~ " -f (αγνοείται)\n" #~ " -m αλλαγή μόνο της ημεÏομηνίας Ï„Ïοποποίησης\n" #~ " -r, --reference=ΑΡΧΕΙΟ χÏήση των ημεÏομηνιών του αÏχείου τοÏτου αντί\n" #~ " της Ï„Ïέχουσας ημεÏομηνίας\n" #~ " -t ΗΜΕΡΟΜΗÎΙΑ χÏήση MMDDhhmm[[CC]YY][.ss] αντί Ï„Ïέχουσας\n" #~ " ημεÏομηνίας/ÏŽÏας\n" #~ " --time=ΛΕΚΤΙΚΟ οÏισμός ημεÏομηνίας δοθείσας από το ΛΕΚΤΙΚΟ:\n" #~ " access atime use (όπως το -a)\n" #~ " modify mtime (ίδιο με -m)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Λάβετε Ï…Ï€ όψιν ότι οι Ï„Ïεις μοÏφές ÏŽÏα/ημεÏομηνίας που\n" #~ "αναγνωÏίζονται για τις επιλογές -d και -t καθώς και την επιλογή που\n" #~ "αγνοείται, είναι όλες διαφοÏετικές.\n" # #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Πνευματικά Δικαιώματα (C) 1999 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "όταν δημιουÏγοÏνται ειδικά αÏχεία χαÏακτήÏων, οι major και minor\n" #~ "αÏιθμοί συσκευής Ï€Ïέπει να οÏίζονται" #~ msgid "group of %s changed to %s\n" #~ msgstr "η ομάδα του %s άλλαξε σε %s\n" #, fuzzy #~ msgid "ownership of %s changed to " #~ msgstr "ο ιδιοκτήτης του %s άλλαξε σε " #, fuzzy #~ msgid "you are not a member of group %s" #~ msgstr "δεν είστε μέλος της ομάδας `%s'" # #, fuzzy #~ msgid "cannot make fifo %s" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot change permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot remove old link to %s" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot create directory `%s'" #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot remove `%s'" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "specified target, `%s' is not a directory" #~ msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "τα `%s' και `%s' είναι το ίδιο αÏχείο" # #, fuzzy #~ msgid "cannot backup `%s'" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot un-backup `%s'" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #~ msgid "cannot chmod %s" #~ msgstr "αδÏνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "`%s' exists but is not a directory" #~ msgstr "το `%s' υπάÏχει ήδη άλλα δεν είναι κατάλογος" # src/cp.c:758 src/ln.c:454 src/mv.c:432 #~ msgid "--version-control" #~ msgstr "--version-control" #~ msgid "create %s %s to %s" #~ msgstr "δημιουÏγία %s %s στο %s" #~ msgid "link" #~ msgstr "σÏνδεσμος" # #, fuzzy #~ msgid "current directory" #~ msgstr "κατάλογος" # #, fuzzy #~ msgid "starting directory" #~ msgstr "κατάλογος" # src/copy.c:549 #~ msgid "%s -> %s (backup)\n" #~ msgstr "%s -> %s (αντίγÏαφο ασφαλείας)\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ msgstr "" #~ "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωÏίς -G)\n" #~ " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... EXISTING_DIR NEW_DIR\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΗ]... ΣΥÎΟΛΟ1 [ΣΥÎΟΛΟ2]\n" #, fuzzy #~ msgid "cannot rename `.' or `..'" #~ msgstr "Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος" #~ msgid "sparse type" #~ msgstr "αÏαιό είδος" # #, fuzzy #~ msgid "%s is closed" #~ msgstr "η κανονική είσοδος είναι κλεισμένη" #~ msgid "format type" #~ msgstr "είδος μοÏφής" #~ msgid "colorization criterion" #~ msgstr "κÏιτήÏιο χÏωματισμοÏ" #~ msgid "indicator style" #~ msgstr "μοÏφή κατηγοÏοποιητή" #~ msgid "quoting style" #~ msgstr "μοÏφή παÏάθεσης" #~ msgid "time selector" #~ msgstr "επιλογέας χÏόνου" #~ msgid "" #~ "the option for counting 1MB blocks may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "η επιλογή μέτÏησης των 1M μπλοκ δε μποÏεί να χÏησιμοποιηθεί\n" #~ "με τη συμβατή μοÏφή εξόδου" #, fuzzy #~ msgid "removing non-directory %s\n" #~ msgstr "ΠΡΟΣΟΧΗ: δεν είναι δυνατόν να αλλαχτεί ο κατάλογος σε %s" # #, fuzzy #~ msgid "remove directory `%s'%s? " #~ msgstr "αδÏνατη η δημιουÏγία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION]... GROUP FILE...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #~ msgid "cannot move `%s' across filesystems: Not a regular file" #~ msgstr "" #~ "αδυναμία μετακίνησης του `%s' Î¼ÎµÏ„Î±Î¾Ï ÏƒÏ…ÏƒÏ„Î·Î¼Î¬Ï„Ï‰Î½ αÏχείων: Δεν είναι " #~ "κανονικό αÏχείο" #~ msgid "%s: replace `%s', overriding mode %04o? " #~ msgstr "%s: αντικατάσταση του `%s', παÏάκαμψη δικαιωμάτων %04o; " #~ msgid "%s: remove %s`%s', overriding mode %04o? " #~ msgstr "%s: διαγÏαφή του %s`%s', παÏακάπτωντας τα δικαιώματα %04o; " #~ msgid "%s: descend directory `%s', overriding mode %04o? " #~ msgstr "" #~ "%s: διαγÏαφή και του καταλόγου `%s', παÏακάμπτωντας τα δικαιώματα %04o; " #~ msgid "%s: remove directory `%s' (might be nonempty)? " #~ msgstr "%s: διαγÏαφή καταλόγου `%s' (μποÏεί να μην είναι άδειο); " #~ msgid "days" #~ msgstr "μέÏες" #~ msgid "users" #~ msgstr "χÏήστες" # #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) " #~ "[00-99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "Η ΜΟΡΦΗ ελέγχει την εκτÏπωση. Η μόνη ισχÏουσα επιλογή για την δευτεÏη " #~ "φόÏμα\n" #~ "καθοÏίζει την παγκόσμια ÏŽÏα(UTC). Οι σειÏές που εÏμηνεÏονται ειναι:\n" #~ "\n" #~ " %%%% Ο χαÏακτήÏας %%\n" #~ " %%a Τα τοπικά ονόματα των ημεÏών της εβδομάδας (ΚυÏ..Σαβ)\n" #~ " %%A Τα ολόκληÏα τοπικά ονόματα των ημεÏών της εβδομάδας\n" #~ " με μεταβλητό μήκος (ΚυÏιακή..Σαββατο)\n" #~ " %%b Τα τοπικά ονόματα των μηνών (Ιαν..Δεκ)\n" #~ " %%B Τα ολόκληÏα τοπικά ονόματα των μηνών Î¼ÎµÏ„Î±Î²Î»Î·Ï„Î¿Ï Î¼Î®ÎºÎ¿Ï…Ï‚\n" #~ " (ΙανουάÏιος..ΔεκέμβÏιος)\n" #~ " %%c Η τοπική ημεÏομηνία και ÏŽÏα (Σαβ 04 Îοε 12:02:33 EΕT 1989)\n" #~ " %%d Η μέÏα του μήνα (01..31)\n" #~ " %%D ΗμεÏομηνία (μμ/ηη/χχ)\n" #~ " %%d Η μέÏα του μήνα, με ένα κενό ( 1..31)\n" #~ " %%h Ομοίως με %%b\n" #~ " %%H ΩÏα (00..23)\n" #~ " %%I ΩÏα (01..12)\n" #~ " %%j Η μέÏα του χÏόνου αÏιθμητικά (001..366)\n" #~ " %%k ΩÏα ( 0..23)\n" #~ " %%l ΩÏα ( 1..12)\n" #~ " %%m Μήνας (01..12)\n" #~ " %%M Λεπτό (00..59)\n" #~ " %%n Μια νέα γÏαμμή\n" #~ " %%p Τοπικό ΜΜ ή ΠΜ\n" #~ " %%r ΩÏα, 12-ωÏα (ωω:λλ:δδ [ΜΠ]M)\n" #~ " %%s ΔευτεÏόλεπτα από 00:00:00, Ιαν 1, 1970 (μια επέκταση της GNU)\n" #~ " %%S ΔευτεÏόλεπτα (00..61)\n" #~ " %%t ΟÏιζόντια κατάταξη σε πίνακα (tab)\n" #~ " %%T ΩÏα, 24-ωÏα (ωω:λλ:δδ)\n" #~ " %%U Ο αÏιθμός της εβδομάδας του χÏόνου με την ΚυÏιακή να είναι\n" #~ " η Ï€Ïώτη μέÏα της εβδομάδας (00..53)\n" #~ " %%V Ο αÏιθμός της εβδομάδας του χÏόνου με την ΔευτέÏα να είναι\n" #~ " η Ï€Ïώτη μέÏα της εβδομάδας (01..52)\n" #~ " %%w ΜέÏα της εβδομάδας (0..6); Το 0 παÏιστά την ΚυÏιακή\n" #~ " %%W Ο αÏιθμός της εβδομάδας του χÏόνου με την ΔευτέÏα να είναι η " #~ "Ï€Ïώτη\n" #~ " μέÏα της εβδομάδας (00..53)\n" #~ " %%x Τοπική αναπαÏάσταση της ημεÏομηνίας (ΜΜ/ΗΗ/ΧΧ)\n" #~ " %%X Τοπική αναπαÏάσταση της ÏŽÏας (%%Ω:%%Λ:%%Δ)\n" #~ " %%y Τα δÏο τελευταία ψηφία της χÏονιάς (00..99)\n" #~ " %%Y ΧÏόνος (1970...)\n" #~ " %%z Η ζώνη ÏŽÏας σε μοÏφή αÏιθμητική σÏμφωνα με το RFC-822 (-0500)\n" #~ " (μια μη τυπική επέκταση)\n" #~ " %%Z Ζώνη ÏŽÏας (Ï€.χ. EDT), ή τίποτα εαν δεν έχει καθοÏιστεί ζώνη ÏŽÏας\n" #~ "\n" #~ "Εξ'οÏισμοÏ, τα αÏιθμητικά στοιχεία της ημεÏομηνίας συμπληÏώνονται με " #~ "μηδενικά.\n" #~ "Το GNU date αναγνωÏίζει τους παÏακάτω μετατÏοπείς Î¼ÎµÏ„Î±Î¾Ï `%%' και\n" #~ "αÏιθμητικής κατευθυντήÏιας γÏαμμής.\n" #~ " `-' (παÏλα) Îα μην συμπληÏώθεί το πεδίο\n" #~ " `_' (υπογÏάμμιση) Îα συμπληÏωθεί το πεδίο με κενά\n" #, fuzzy #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Εκτυπώνει την ΑΛΥΣΙΔΑ στην τυπική έξοδο.\n" #~ "\n" #~ " -n Îα μην εκτυπωθεί νεα γÏαμμή στο τέλος\n" #~ " -e (δεν χÏησιμοποιείται)\n" #~ " -E ΑπενεÏγοποιεί την παÏεμβολή μεÏικών διαδοχών στην \n" #~ " ΑΛΥΣΙΔΑ\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #~ "\n" #~ "ΧωÏίς την -E, οι διαδοχές που ακολουθοÏν αναγνωÏίζονται και " #~ "παÏαμβάλονται:\n" #~ "\n" #~ " \\NNN Ο χαÏακτήÏας που ο ASCII κωδικός του είναι NNN (στο οκταδικό)\n" #~ " \\\\ Ο χαÏακτήÏας `\\'\n" #~ " \\a Ηχος αφÏπνισης\n" #~ " \\b Πισωδιάστημα\n" #~ " \\c ΠαÏει την νεα σειÏά στο τέλος\n" #~ " \\f Αλλαγή σελίδας\n" #~ " \\n Îέα σειÏά\n" #~ " \\r ΕπιστÏοφή του δÏομέα\n" #~ " \\t ΟÏιζόντια κατάταξη σε πίνακα (tab)\n" #~ " \\v Κάθετη καταξη σε πίνακα\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "Εκτυπώνει την τιμή της ΕΚΦΡΑΣΗ στην τυπική έξοδο. Μια κενή γÏαμμή,\n" #~ " πιο κάτω, χωÏίζει σε ομάδες με αÏξουσα Ï€ÏοτεÏαιότητα.\n" #~ "Η ΕΚΦΡΑΣΗ μποÏεί να είναι:\n" #~ "\n" #~ " ΠΑΡΑΜ1 | ΠΑΡΑΜ2 ΠΑΡΑΜ1 αν δεν είναι κενή ή 0, αλλιώς ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 & ΠΑΡΑΜ2 ΠΑΡΑΜ1 εαν καμιά από τις παÏαμέτÏους δεν ειναι " #~ "κενή\n" #~ " ή μηδέν, αλλιώς 0\n" #~ "\n" #~ " ΠΑΡΑΜ1 < ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μικÏότεÏη της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 <= ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μικÏότεÏη ή ίση της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 = ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι ίση με ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 != ΠΑΡΑΜ2 ΠΑΡΑΜ1 δεν είναι ίση με την ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 >= ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μεγαλÏτεÏη ή ίση της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 > ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μεγαλÏτεÏη της ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 + ΠΑΡΑΜ2 Το αÏιθμητικό άθÏοισμα των ΠΑΡΑΜ1 και ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 - ΠΑΡΑΜ2 Η αÏιθμητική διαφοÏά της ΠΑΡΑΜ1 με την ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 * ΠΑΡΑΜ2 Το αÏιθμητικό γινόμενο των ΠΑΡΑΜ1 και ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 / ΠΑΡΑΜ2 Το αÏιθμητικό πηλίκο της ΠΑΡΑΜ1 δια της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 %% ΠΑΡΑΜ2 Το υπόλοιπο της ΠΑΡΑΜ1 δια την ΠΑΡΑΜ2\n" #~ "\n" #~ " ΑΛΥΣΙΔΑ : ΚΑÎ_ΕΚΦ\n" #~ " ΤαίÏιασμα της ΚΑÎ_ΕΚΦ μεσα στην ΑΛΥΣΙΔΑ\n" #~ "\n" #~ " match ΑΛΥΣΙΔΑ ΚΑÎ_ΕΚΦ\n" #~ " Oμοιο με ΑΛΥΣΙΔΑ : ΚΑÎ_ΕΚΦ\n" #~ " substr ΑΛΥΣΙΔΑ ΘΕΣΗ ΜΗΚΟΣ\n" #~ " AφαιÏεί απο την ΑΛΥΣΙΔΑ, αÏχίζοντας απο την ΘΕΣΗ\n" #~ " (μετÏώντας απο το 1) \n" #~ " index ΑΛΥΣΙΔΑ Τιμή της θέσης του ΧΑΡΑΚΤΗΡΑ εάν βÏεθεί στην\n" #~ " ΑΛΥΣΙΔΑ, αλλιώς 0\n" #~ " length ΑΛΥΣΙΔΑ Μήκος της ΑΛΥΣΙΔΑΣ\n" #~ "\n" #~ " ( EΚΦΡΑΣΗ ) Τιμή της ΕΚΦΡΑΣΗΣ\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Εκτυπώνει τις ΠΑΡΑΜΕΤΡΟΥΣ σÏμφωνα μη την ΜΟΡΦΗ.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #~ "\n" #~ "Η ΜΟΡΦΗ ελέγχει την έξοδο όπως η συνάÏτηση printf() στην C.\n" #~ "Οι σειÏές που εÏμηνεÏονται ειναι:\n" #~ "\n" #~ " \\\" Εισαγωγικά\n" #~ " \\0NNN Ο χαÏακτήÏας με οκταδική τιμή NNN (0 μέχÏι 3 ψηφία)\n" #~ " \\\\ Ο χαÏακτήÏας `\\'\n" #~ " \\a Ηχος αφÏπνισης\n" #~ " \\b Πισωδιάστημα\n" #~ " \\c Σταματάει την εκτυπώση\n" #~ " \\f Αλλαγή σελίδας\n" #~ " \\n Αλλαγή γÏαμμής\n" #~ " \\r ΕπιστÏοφή δÏομέα\n" #~ " \\t ΟÏιζόντια κατάταξη σε πίνακα (tab)\n" #~ " \\v Κάθετη κατάταξη σε πίνακα\n" #~ " \\xNNN Ο χαÏακτήÏας με δεκαεξαδική τιμή NNN (1 μέχÏι 3 ψηφία)\n" #~ "\n" #~ " %%%% Ο χαÏακτήÏας `%%'\n" #~ " %%b Οι ΠΑΡΑΜΕΤΡΟΙ σαν αλυσίδα με τους χαÏακτήÏες διαφυγής `\\'\n" #~ " εÏμηνευμένους\n" #~ "\n" #~ "επίσης όλα τα χαÏακτηÏιστικά της μοÏφής στη C, που λήγουν\n" #~ "σε ένα απο τα diouxXfeEgGcs, με την ΠΑΡΑΜΕΤΡΟ να έχει μετατÏαπεί\n" #~ "στον σωστό Ï„Ïπο.\n" #~ "Οι μεταβλητές Î¼ÎµÏ„Î±Î²Î»Î·Ï„Î¿Ï Î¼Î®ÎºÎ¿Ï‚ υποστηÏίζονται.\n" # #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Ειδικοί χαÏακτήÏες:\n" #~ "* dsusp ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα αναστολής τεÏÎ¼Î±Ï„Î¹ÎºÎ¿Ï Î±Î¼Î­ÏƒÏ‰Ï‚ " #~ "μόλις\n" #~ " η είσοδος αδειάσει\n" #~ " eof ΧΑΡ Ο ΧΑΡ θα μεταδώσει ένα τελος αÏχείου (τέλος εισόδου)\n" #~ " eol ΧΑΡ Ο ΧΑΡ θα μεταδώσει ένα τελος γÏαμμής\n" #~ "* eol2 ΧΑΡ Εναλακτικός ΧΑΡ για τέλος γÏαμμής\n" #~ " erase ΧΑΡ Ο ΧΑΡ θα σβήσει τον τελευταίο χαÏακτήÏα που " #~ "πληκτÏολογήθηκε\n" #~ " intr ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα διακοπής\n" #~ " kill ΧΑΡ Ο ΧΑΡ θα σβήσει την Ï„Ïέχουσα γÏαμμή\n" #~ "* lnext ΧΑΡ Ο ΧΑΡ θα εισάγει τον επόμενο χαÏακτήÏα σε εισαγωγικά\n" #~ " quit ΧΑΡ Ο ΧΑΡ θα μεταδόσει σήμα τέλους\n" #~ "* rprnt ΧΑΡ Ο ΧΑΡ θα ξαναζωγÏαφίσει την Ï„Ïέχουσα γÏαμμή\n" #~ " start ΧΑΡ Ο ΧΑΡ θα ξαναÏχίσει την έξοδο μετά το σταματημά της\n" #~ " stop ΧΑΡ Ο ΧΑΡ θα σταματήσει την έξοδο\n" #~ " susp ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα αναστολής τεÏματικοÏ\n" #~ "* swtch ΧΑΡ Ο ΧΑΡ θα επιτÏέψει την μεταφοÏά σε διαφοÏετική στÏώση " #~ "κελÏφους\n" #~ " (shell layer)\n" #~ "* werase ΧΑΡ Ο ΧΑΡ θα σβήσει την τελευταία λέξη που πληκτÏολογήθηκε\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Ειδικές εκλογές:\n" #~ " N Θέτει την ταχÏτητα είσοδου και έξοδου σε Î baud\n" #~ "* cols N ΠληÏοφοÏεί τον πυÏήνα οτι το τεÏματικό έχει N στήλες\n" #~ "* columns N Ομοιο με το cols N\n" #~ " ispeed N Θέτει την ταχÏτητα εισόδου σε N\n" #~ "* line N ΧÏησιμοποιεί την συμπεÏιφοÏά γÏαμμής N\n" #~ " min N Μαζί με -icanon, θέτει σε N τον αÏιθμό χαÏακτήÏων\n" #~ " απαÏαίτητων για μια πλήÏη ανάγνωση\n" #~ " ospeed N Θέτει την ταχÏτητα εξόδου σε N\n" #~ "* rows N ΠληÏοφοÏεί τον πυÏήνα ότι το τεÏματικό έχει N σειÏές\n" #~ "* size Εκτυπώνει τον αÏιθμό γÏαμμών και στειλών\n" #~ " σÏμφωνα με τον πυÏήνα\n" #~ " speed Εκτυπώνει την ταχÏτητα του τεÏματικοÏ\n" #~ " time N Μαζί με -icanon, θέτει το χÏονόμετÏο τέÏÎ¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Ï„Î·Ï‚\n" #~ " ανενεÏγής ανάγνωσης σε N δέκατα δευτεÏολέπτου\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Επιλογές εισόδου:\n" #~ " [-]brkint Το 'break' Ï€Ïοκαλεί ένα σήμα διακοπής\n" #~ " [-]icrnl ΜετατÏέπει την `επαναφοÏά δÏομέα' σε `νέα γÏαμμή'\n" #~ " [-]ignbrk Αγνοεί τους χαÏακτήÏες διακοπής (break)\n" #~ " [-]igncr Αγνοεί την επαναφοÏά δÏομέα\n" #~ " [-]ignpar Αγνοεί τους χαÏακτήÏες με λάθη ισοτημίας\n" #~ "* [-]imaxbel ΕνεÏγοποιεί τον ήχο και δεν αδειάζει ένα γεμάτο buffer\n" #~ " εισόδου με την άφιξη ενός χαÏακτήÏα\n" #~ " [-]inlcr ΜετατÏέπει την `νεα γÏαμμη' σε `επαναφοÏά δÏομέα'\n" #~ " [-]inpck ΕνεÏγοποιεί την επαλήθευση ισοτημίας εισόδου\n" #~ " [-]istrip ΑφαιÏεί το υψηλό bit (8ο) των χαÏακτήÏων εισόδου\n" #~ "* [-]iuclc ΜετατÏέπει τα κεφαλαία σε μικÏά\n" #~ "* [-]ixany Αφήνει κάθε χαÏακτήÏα να ξαναÏχίσει την έξοδο, όχι μονο " #~ "τον\n" #~ " χαÏακτήÏα εκκίνησης\n" #~ " [-]ixoff ΕνεÏγοποιεί την αποστολή χαÏακτήÏων αÏχή/τέλος\n" #~ " [-]ixon ΕνεÏγοποιεί τον XON/XOFF έλεγχος Ïοής\n" #~ " [-]parmrk Δείχνει τα λάθη ισότημίας (με μια σειÏά χαÏακτήÏων " #~ "255-0)\n" #~ " [-]tandem Ομοιο με [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Τοπικές επιλογές:\n" #~ " [-]crterase ΠÏοσθέτει ηχώ στον χαÏακτήÏα σβησίματος σÏμφωνα με την " #~ "σειÏά\n" #~ " πισωδιάστημα-διάστημα-πισωδιάστημα\n" #~ "* crtkill Σκοτώνει όλη την γÏαμμή υπακοÏοντας στις επιλογές\n" #~ " 'echoprt' και 'echoe'\n" #~ "* -crtkill Σκοτώνει όλη την γÏαμμή υπακοÏοντας στις επιλογές\n" #~ " 'echoctl' και 'echok'\n" #~ "* [-]ctlecho ΠÏοσθέτει ηχώ στους χαÏακτήÏες ελέγχου στη σημειογÏαφία\n" #~ " καπέλο (`^c')\n" #~ " [-]echo ΠÏοσθέτει ηχώ στους εισαγώμενους χαÏακτήÏες\n" #~ "* [-]echoctl Ομοιο με [-]ctlecho\n" #~ " [-]echoe Ομοιο με [-]crterase\n" #~ " [-]echok ΠÏοσθέτει `νεα γÏαμμή' μετά απο ένα `kill' χαÏακτήÏα * [-]" #~ "echoke Ομοιο [-]crtkill\n" #~ " [-]echonl ΠÏοσθέτει ηχώ στη `νέα γÏαμμή' ακόμη και αν δεν " #~ "συμβαίνει\n" #~ " για τους άλλους χαÏακτήÏες\n" #~ "* [-]echoprt ΠÏοσθέτει ηχώ στους σβησμένους χαÏακτήÏες Ï€Ïος τα " #~ "πίσω Î¼ÎµÏ„Î±Î¾Ï `\\' και '/'\n" #~ " [-]icanon ΕνεÏγοποιεί τους ειδικοÏÏ‚ χαÏακτήÏες\n" #~ " 'erase', 'kill', 'werase', και 'rprnt'\n" #~ " [-]iexten ΕνεÏγοποιεί τους μη-POSIX ειδικοÏÏ‚ χαÏακτήÏες\n" #~ " [-]isig ΕνεÏγοποιεί τους ειδικοÏÏ‚ χαÏακτήÏες\n" #~ " 'interrupt', 'quit', και 'suspend'\n" #~ " [-]noflsh ΑπενεÏγοποιεί το άδειασμα μετά τους ειδικοÏÏ‚ χαÏακτήÏες\n" #~ " 'interrupt' και 'quit'\n" #~ "* [-]prterase Ομοιο με [-]echoprt\n" #~ "* [-]tostop Σταματά τις δουλειές στο παÏασκήνιο που Ï€ÏοσπαθοÏν να\n" #~ " γÏάψουν στο τεÏματικό\n" #~ "* [-]xcase Μαζι με το 'icanon', διαφεÏγει με `\\'\n" #~ " για τα κεφαλαία\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Συνδυαστικές επιλογές:\n" #~ "* [-]LCASE Ομοιο με [-]lcase\n" #~ " cbreak Ομοιο με -icanon\n" #~ " -cbreak Ομοιο με icanon\n" #~ " cooked Ομοιο με brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof και eol στις εξ'οÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¹Î¼Î­Ï‚ τους\n" #~ " -cooked Ομοιο με raw\n" #~ " crt Ομοιο με echoe echoctl echoke\n" #~ " dec Ομοιο με echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq Ομοιο με [-]ixany\n" #~ " ek `erase' και `kill' χαÏακτήÏες στις εξ'οÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¹Î¼Î­Ï‚ τους\n" #~ " evenp Ομοιο με parenb -parodd cs7\n" #~ " -evenp Ομοιο με -parenb cs8\n" #~ "* [-]lcase Ομοιο με xcase iuclc olcuc\n" #~ " litout Ομοιο με -parenb -istrip -opost cs8\n" #~ " -litout Ομοιο με parenb istrip opost cs7\n" #~ " nl Ομοιο με -icrnl -onlcr\n" #~ " -nl Ομοιο με icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp Ομοιο με parenb parodd cs7\n" #~ " -oddp Ομοιο με -parenb cs8\n" #~ " [-]parity Ομοιο με [-]evenp\n" #~ " pass8 Ομοιο με -parenb -istrip cs8\n" #~ " -pass8 Ομοιο με parenb istrip cs7\n" #~ " raw Ομοιο με -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 φοÏά 0\n" #~ " -raw Ομοιο με cooked\n" #~ " sane Ομοιο με cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, και όλους τους\n" #~ " ειδικοÏÏ‚ χαÏακτήÏες με τις εξ'οÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¹Î¼Î­Ï‚ τους.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " ΑΡΧΕΙΟ1 -ef ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 και ΑΡΧΕΙΟ2 έχουν το ίδιο νοÏμεÏο\n" #~ " συσκευής και inode\n" #~ " ΑΡΧΕΙΟ1 -nt ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 είναι πιο Ï€Ïόσφατο (ημεÏομηνία " #~ "μετατÏοπής)\n" #~ " απο το ΑΡΧΕΙΟ2\n" #~ " ΑΡΧΕΙΟ1 -ot ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 είναι πιο παλιό απο το ΑΡΧΕΙΟ2\n" #~ "\n" #~ " -b ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι αÏχείο Ï„Ïπου block\n" #~ " -c ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι ÎµÎ¹Î´Î¹ÎºÎ¿Ï Ï„Ïπου χαÏακτήÏων\n" #~ " -d ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι κατάλογος\n" #~ " -e ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει\n" #~ " -f ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι ÎºÎ±Î½Î¿Î½Î¹ÎºÎ¿Ï Ï„Ïπου\n" #~ " -g ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και το bit 'set-group-ID' έχει τεθεί\n" #~ " -G ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και ανήκει στην ισχÏουσα ταυτότητα\n" #~ " (effective id) ομάδας\n" #~ " -k ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και το bit 'sticky' έχει τεθεί\n" #~ " -L ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι συμβολική σÏνδεση (symbolic " #~ "link)\n" #~ " -O ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και ανήκει στην ισχÏουσα ταυτότητα χÏήστη\n" #~ " -p ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι αÏχείο Ï„Ïπου named pipe\n" #~ " -r ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι αναγνώσιμο\n" #~ " -s ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και έχει μέγεθος θετικό\n" #~ " -S ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι του Ï„Ïπου socket\n" #~ " -t [ΠΑ] Ο πεÏιγÏαφητης αÏχείου (FD) (τυπική έξοδος εξ'οÏισμοÏ)\n" #~ " είναι ανοιχτός σε ένα τεÏματικό\n" #~ " -u ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και το bit 'set-user-ID' έχει τεθεί\n" #~ " -w ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι εγγÏάψιμο\n" #~ " -x ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάÏχει και είναι εκτελέσιμο\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading Εκτυπώνει γÏαμμή με τις επικεφαλίδες των στηλών\n" #~ " -i, -u, --idle ΠÏοσθέτει τον χÏόνο που ο χÏήστης είναι αδÏανής\n" #~ " στη μοÏφή ΩΡΕΣ:ΛΕΠΤΑ, . ή 'παλιά'\n" #~ " -m Μόνο το όνομα του συστήματος (hostname) και\n" #~ " τον χÏήστη που συνδέεται με την τυπική είσοδο\n" #~ " -q, --count Εκτυπώνει όλες τις ενεÏγές συνδέσεις και τον αÏιθμό " #~ "των\n" #~ " χÏηστών που βÏίσκονται στο σÏστημα\n" #~ " -s (αγνοείται)\n" #~ " -T, -w, --mesg Εκτυπώνει την κατάσταση μηνυμάτων του χÏήστη με +, - " #~ "ή ?\n" #~ " --message Ομοιο με -T\n" #~ " --writable Ομοιο με -T\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τεÏματίζει\n" #~ " --version Εκτυπώνει πληÏοφοÏίες έκδοσης και τεÏματίζει\n" #~ "\n" #~ "Εαν ΑΡΧΕΙΟ δεν καθοÏίζεται, χÏησιμοποιείται το %s.\n" #~ "Το %s σαν ΑΡΧΕΙΟ είναι κοινό. Εάν ΠΑΡΑΜ1 και ΠΑΡΑΜ2 δοθοÏν,\n" #~ "το -m εννοείται: `am i' ή `mom likes' είναι συνηθισμένα.\n" # #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ msgid "USER" #~ msgstr "ΧΡΗΣΤΗΣ" #~ msgid "MESG " #~ msgstr "ΜΗÎΜ " #~ msgid "LOGIN-TIME " #~ msgstr "ΩΡΑ-ΕΙΣΟΔΟΥ " #~ msgid "FROM\n" #~ msgstr "ΑΠΟ\n" #~ msgid "<undef>" #~ msgstr "<Μη οÏισμένο>" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [VARIABLE]...\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... NUMBER[SUFFIX]\n" #~ msgstr "ΧÏήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ "Εμφάνιση των 10 Ï€Ïώτων γÏαμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με πεÏισσότεÏα από ένα ΑΡΧΕΙΟ, να Ï€Ïοηγηθεί επισέλιδο με το όνομα του " #~ "αÏχείου.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των Ï€Ïώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των Ï€Ïώτων ΑΡΙΘΜΟΣ γÏαμμών αντί των " #~ "Ï€Ïώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μποÏεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χÏησιμοποιείται το -VALUE σαν Ï€Ïώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφοÏετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #, fuzzy #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ "ΣÏγκÏιση ταξινομημένων αÏχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " #~ "γÏαμμή.\n" #~ "\n" #~ " -1 απόκÏυψη μοναδικών γÏαμμών στο αÏιστεÏÏŒ αÏχείο\n" #~ " -2 απόκÏυψη μοναδικών γÏαμμών στο δεξιό αÏχείο\n" #~ " -3 απόκÏυψη μοναδικών γÏαμμών και στα δÏο αÏχεία\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθÏοισμα ελέγχου CRC και αÏιθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ "ΜετατÏοπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγÏαφή στην " #~ "κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατÏαποÏν τα TAB μετά από μη-λευκοÏÏ‚ " #~ "χαÏακτήÏες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαÏακτήÏες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας διαχωÏισμένης με κόμματα για οÏισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " #~ "χÏησιμοποιηθοÏν.\n" # #, fuzzy #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "ΜετατÏοπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγÏαφή στην " #~ "κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατÏαποÏν τα TAB μετά από μη-λευκοÏÏ‚ " #~ "χαÏακτήÏες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαÏακτήÏες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας διαχωÏισμένης με κόμματα για οÏισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " #~ "χÏησιμοποιηθοÏν.\n" # #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Αναδίπλωση γÏαμμών εισόδου σε κάθε ΑΡΧΕΙΟ (κανονική είσοδος εξ οÏισμοÏ),\n" #~ "γÏάφοντας στην κανονική έξοδο.\n" #~ "\n" #~ " -b, --bytes μέτÏηση bytes αντί στηλών\n" #~ " -s, --spaces αναδίπλωση σε διαστήματα μόνο\n" #~ " -w, --width=ΠΛΑΤΟΣ χÏήση ΠΛΑΤΟΣ στήλες αντί για 80\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση γÏαμμών που απαÏτίζονται από τις σειÏιακά αντίστοιχες γÏαμμές " #~ "από\n" #~ "κάθε ΑΡΧΕΙΟ, χωÏισμένες με TABs, στην κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -d, --delimiters=ΛΙΣΤΑ επαναχÏησιμοποίηση χαÏακτήÏων από τη ΛΙΣΤΑ αντί " #~ "για TABs\n" #~ " -s, --serial επικόλληση ενός αÏχείου τη φοÏά αντί παÏάλληλα\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "Έξοδος τμημάτων σταθεÏÎ¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ από την ΕΙΣΟΔΟ σε ΠΡΟΘΕΜΑaa, " #~ "ΠΡΟΘΕΜΑab, ...; εξ οÏισμοÏ\n" #~ "ΠΡΟΘΕΜΑ είναι το `x'. ΧωÏίς ΕΙΣΟΔΟ, ή όταν η ΕΙΣΟΔΟΣ είναι το -, " #~ "ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -b, --bytes=ΜΕΓΕΘΟΣ τοποθέτηση ΜΕΓΕΘΟΣ bytes σε κάθε αÏχείο εξόδου\n" #~ " -C, --line-bytes=ΜΕΓΕΘΟΣ τοποθέτηση το Ï€Î¿Î»Ï ÎœÎ•Î“Î•Î˜ÎŸÎ£ bytes από γÏαμμές " #~ "σε κάθε αÏχείο εξόδου\n" #~ " -l, --lines=ΑΡΙΘΜΟΣ τοποθέτηση ΑΡΙΘΜΟΣ γÏαμμών σε κάθε αÏχείου " #~ "εξόδου\n" #~ " -ΑΡΙΘΜΟΣ ίδιο με -l ΑΡΙΘΜΟΣ\n" #~ " --verbose εκτÏπωση Î´Î¹Î±Î³Î½Ï‰ÏƒÏ„Î¹ÎºÎ¿Ï ÏƒÏ„Î¿ κανονικό σφάλμα μόλις " #~ "Ï€Ïιν\n" #~ " ανοιχτεί κάθε αÏχείο εξόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "ΜΕΓΕΘΟΣ μποÏεί να έχει Ï€Ïόθεμα πολλαπλασιαστή: b για 512, k για 1K, m για " #~ "1 Meg.\n" # #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --before attach the separator before instead of after\n" #~ msgstr "" #~ "ΕγγÏαφή κάθε αÏχείου στην κανονική έξοδο, τελευταία γÏαμμή Ï€Ïώτα.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --before τοποθέτηση του διαχωÏιστή Ï€Ïιν αντί για μετά\n" #~ " -r, --regex μετάφÏαση του διαχωÏιστή ως κανονική έκφÏαση\n" #~ " -s, --separator=ΑΛΦΑΡΙΘΜ χÏήση Î‘Î›Î¦Î‘Î¡Î™Î˜ÎœÎ·Ï„Î¹ÎºÎ¿Ï Ï‰Ï‚ διαχωÏιστής αντί του " #~ "χαÏακτήÏα νέας γÏαμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ msgstr "" #~ "Εμφάνιση των 10 Ï€Ïώτων γÏαμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με πεÏισσότεÏα από ένα ΑΡΧΕΙΟ, να Ï€Ïοηγηθεί επισέλιδο με το όνομα του " #~ "αÏχείου.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των Ï€Ïώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των Ï€Ïώτων ΑΡΙΘΜΟΣ γÏαμμών αντί των " #~ "Ï€Ïώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μποÏεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χÏησιμοποιείται το -VALUE σαν Ï€Ïώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφοÏετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #, fuzzy #~ msgid "" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "ΜετατÏοπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγÏαφή στην " #~ "κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατÏαποÏν τα TAB μετά από μη-λευκοÏÏ‚ " #~ "χαÏακτήÏες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαÏακτήÏες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας διαχωÏισμένης με κόμματα για οÏισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " #~ "χÏησιμοποιηθοÏν.\n" # #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "ΠαÏήγαγε τμήματα από το ΑΡΧΕΙΟ διαχωÏισμένα από ΜΟΡΦΗ(ΕΣ) σε αÏχεία " #~ "`xx01', `xx02', ...,\n" #~ "και εμφάνισε τους αÏιθμοÏÏ‚ των byte κάθε τμήματος στην κανονική έξοδο.\n" #~ "\n" #~ " -b, --suffix-format=ΜΟΡΦΗ χÏήση μοÏφής αλά sprintf αντί του %%d\n" #~ " -f, --prefix=ΚΑΤΑΛΗΞΗ χÏήση ΚΑΤΑΛΗΞΗς αντί του `xx'\n" #~ " -k, --keep-files να μη διαγÏαφοÏν τα αÏχεία εξόδου σε " #~ "πεÏίπτωση σφαλμάτων\n" #~ " -n, --digits=ΨΗΦΙΑ χÏήση ΨΗΦΙΑ αÏιθμό ψηφίων αντί 2\n" #~ " -s, --quiet, --silent να μην εμφανιστοÏν οι μετÏήσεις των μεγεθών " #~ "των αÏχείων\n" #~ " -z, --elide-empty-files διαγÏαφή των κενών αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Ανάγνωση από κανονική είσοδο εάν ΑΡΧΕΙΟ είναι το -. Κάθε ΜΟΡΦΗ μποÏεί να " #~ "είναι:\n" #~ "\n" #~ " ΑΚΕΡΑΙΟΣ αντιγÏαφή μέχÏι, αλλά χωÏίς συμπεÏίληψη, αÏιθμό " #~ "γÏαμμής\n" #~ " /ΚΑÎΕΚΦ/[ΘΕΣΗ] αντιγÏαφή μέχÏι, αλλά χωÏίς συμπεÏίληψη, μιας " #~ "γÏαμμής που ταιÏιάζει\n" #~ " %%ΚΑÎΕΚΦ%%[ΘΕΣΗ] παÏέκαμψε σε, αλλά χωÏίς συμπεÏίληψη γÏαμμής που " #~ "ταιÏιάζει\n" #~ " {ΑΚΕΡΑΙΟΣ} επανάληψη της Ï€ÏοηγοÏμενης μοÏφής ΑΚΕΡΑΙΟΣ φοÏές\n" #~ " {*} επανάληψη της Ï€ÏοηγοÏμενης μοÏφής όσον το δυνατό " #~ "πεÏισσότεÏες φοÏές\n" #~ "\n" #~ "Η ΘΕΣΗ γÏαμμής είναι ένα υποχÏεωτικό `+' ή `-' ακολουθοÏμενο από ένα " #~ "θετικό ακέÏαιο.\n" # #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Εμφάνιση επιλεγμένων τμημάτων από γÏαμμές από κάθε ΑΡΧΕΙΟ στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " -b, --bytes=ΛΙΣΤΑ εμφάνιση μόνο αυτών των bytes\n" #~ " -c, --characters=ΛΙΣΤΑ εμφάνιση μόνο αυτών των χαÏακτήÏων\n" #~ " -d, --delimiter=ΔΙΑΧΩΡ χÏήση ΔΙΑΧΩΡιστή αντί TAB για διαχωÏιστή " #~ "πεδίου\n" #~ " -f, --fields=ΛΙΣΤΑ εμφάνιση μόνο αυτών των πεδίων\n" #~ " -n (αγνοείτε)\n" #~ " -s, --only-delimited να μην εμφανιστοÏν γÏαμμές που δεν πεÏιέχουν " #~ "διαχωÏιστές\n" #~ " --output-delimiter=ΑΛΦΑΡΙΘ χÏήση ΑΛΦΑΡΙΘΜΗΤΙΚΟΥ για διαχωÏιστή " #~ "εξόδου\n" #~ " το εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎµÎ¯Î½Î±Î¹ η χÏήση του διαχωÏιστή " #~ "εισόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "ΧÏήση ενός και μόνου από τα -b, -c ή -f. Κάθε ΛΙΣΤΑ απαÏτίζεται από ένα " #~ "διάστημα\n" #~ "ή πολλά διαστήματα διαχωÏισμένα με κόμματα. Κάθε διάστημα είναι ένα " #~ "από:\n" #~ "\n" #~ " N N-οστό byte, χαÏακτήÏα ή πεδίο, μετÏημένο από το 1\n" #~ " N- από το N-οστό byte, χαÏακτήÏα ή πεδίο, μέχÏι τέλος γÏαμμής\n" #~ " N-M από Î-οστό μέχÏι Μ-οστό (συμπεÏιλαμβανομένων) byte, χαÏακτήÏα ή " #~ "πεδίο\n" #~ " -M από Ï€Ïώτο έως Μ-οστό (συμπεÏιλαμβανομένων) byte, χαÏακτήÏα ή " #~ "πεδίο\n" #~ "\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν αÏχείο είναι το -, ανάγνωση από κανονική είσοδο.\n" # #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ "Για κάθε ζεÏγος από γÏαμμές εισόδου με όμοια πεδία συνένωσης, εμφάνιση " #~ "μιας\n" #~ "γÏαμμής στην κανονική έξοδο. Το εξ οÏÎ¹ÏƒÎ¼Î¿Ï Ï€ÎµÎ´Î¯Î¿ συνένωσης είναι το " #~ "Ï€Ïώτο,\n" #~ "διαχωÏισμένο με λευκό χαÏακτήÏα. Όταν το ΑΡΧΕΙΟ1 ή ΑΡΧΕΙΟ2 (όχι και τα " #~ "δÏο)\n" #~ "είναι το -, ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -a ΜΕΡΟΣ εμφάνιση αταίÏιαστων γÏαμμών, Ï€ÏοεÏχόμενες από το " #~ "αÏχείο ΜΕΡΟΣ\n" #~ " -e ΚΕÎΟ αντικατάσταση ελλιπών πεδίων εισόδου με ΚΕÎΟ\n" #~ " -i, --ignore-case αγνόηση διαφοÏών Î¼ÎµÏ„Î±Î¾Ï Ï€ÎµÎ¶ÏŽÎ½/κεφαλαίων όταν " #~ "συγκÏίνονται πεδία\n" #~ " -j ΠΕΔΙΟ (δεν είναι σε χÏήση) ισοδÏναμε με `-1 FIELD -2 " #~ "FIELD'\n" #~ " -j1 ΠΕΔΙΟ (δεν είναι σε χÏήση) ισοδÏναμο με `-1 FIELD'\n" #~ " -j2 ΠΕΔΙΟ (δεν είναι σε χÏήση) ισοδÏναμο με `-2 FIELD'\n" #~ " -o ΜΟΡΦΗ χÏήση του ΜΟΡΦΗ στην κατασκευή της γÏαμμής εξόδου\n" #~ " -t ΧΑΡΑΚΤ χÏήση ΧΑΡΑΚΤήÏα για διαχωÏιστή πεδίου για είσοδο και " #~ "έξοδο\n" #~ " -v ΜΕΡΟΣ όπως -a ΜΕΡΟΣ, αλλά με απόκÏυψη των συνενωμένων " #~ "γÏαμμών εξόδου\n" #~ " -1 ΠΕΔΙΟ συνένωση σε αυτό το ΠΕΔΙΟ του αÏχείου 1\n" #~ " -2 ΠΕΔΙΟ συνένωση σε αυτό το πεδίο του αÏχείου 2\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Εκτός αν δίνεται -t ΧΑΡΑΚΤήÏας, τα Ï€ÏοποÏευόμενα κενά διαχωÏίζουν τα " #~ "πεδία\n" #~ "και αγνοοÏνται, διαφοÏετικά τα πεδία χωÏίζονται από το ΧΑΡΑΚΤήÏα.\n" #~ "Οποιοδήποτε ΠΕΔΙΟ είναι ένας αÏιθμός πεδίου μετÏοÏμενος από το 1.\n" #~ "Η ΜΟΡΦΗ είναι μια ή πεÏισσότεÏες δηλώσεις διαχωÏισμένες με κόμμα ή κενό,\n" #~ "με το καθένα να είναι `ΜΕΡΟΣ.ΠΕΔΙΟ' ή `0'. Η εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎœÎŸÎ¡Î¦Î— εμφανίζει\n" #~ "το πεδίο συνένωσης, τα υπόλοιπα πεδία από το ΑΡΧΕΙΟ1, τα υπόλοιπα πεδία\n" #~ "από το ΑΡΧΕΙΟ2, όλα διαχωÏισμένα από το ΧΑΡΑΚΤήÏα.\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "ΧÏήσηe: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #~ " ή: %s [ΕΠΙΛΟΓΗ] --check [ΑΡΧΕΙΟ]\n" #~ "Εμφάνιση ή έλεγχος αθÏοισμάτων ελέγχου MD5.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --binary ανάγνωση αÏχείων σε δυαδική κατάσταση (εξ " #~ "οÏÎ¹ÏƒÎ¼Î¿Ï Î³Î¹Î± DOS/Windows)\n" #~ " -c, --check έλεγχος αθÏοισμάτων MD5 σε σχέση με δοσμένη " #~ "λίστα\n" #~ " -t, --text ανάγνωση αÏχείων σε κατάσταση κειμένου (εξ " #~ "οÏισμοÏ)\n" #~ "\n" #~ "Οι επόμενες δÏο επιλογές είναι χÏήσιμες μόνο στην επιβεβαίωση αθÏοισμάτων " #~ "ελέγχου:\n" #~ " --status να μην εμφανιστεί τίποτα, ο κώδικας κατάστασης " #~ "δηλώνει την επιτυχία\n" #~ " -w, --warn Ï€Ïοειδοποίησε για αντικανονικά μοÏφοποιημένες " #~ "γÏαμμές με αθÏοίσματα ελέγχου MD5\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Τα αθÏοίσματα υπολογίζονται όπως πεÏιγÏάφεται στο RFC 1321. Στον έλεγχο, " #~ "η είσοδος\n" #~ "θα Ï€Ïέπει να είναι μια Ï€ÏοηγοÏμενη έξοδος Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… Ï€ÏογÏάμματος. Η εξ " #~ "οÏÎ¹ÏƒÎ¼Î¿Ï ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·\n" #~ "είναι να εκτυπώνεται μια γÏαμμή με το άθÏοισμα ελέγχου, ένα χαÏακτήÏα " #~ "ένδειξης Ï„Ïπου\n" #~ "(`*' για δυαδικό, ` ' για κείμενο), και το όνομα για κάθε ΑΡΧΕΙΟ.\n" # #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση κάθε ΑΡΧΕΙΟΥ στην κανονική έξοδο, με Ï€Ïόσθεση αÏιθμών γÏαμμής.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --body-numbering=ΣΤΥΛ χÏήση ΣΤΥΛ στην αÏίθμηση των γÏαμμών " #~ "του\n" #~ " κυÏίου μέÏους\n" #~ " -d, --section-delimiter=CC χÏήση του CC στο χωÏισμό λογικών " #~ "σελίδων\n" #~ " -f, --footer-numbering=ΣΤΥΛ χÏήση ΣΤΥΛ στην αÏίθμηση των γÏαμμών " #~ "του\n" #~ " υποσέλιδου\n" #~ " -h, --header-numbering=ΣΤΥΛ χÏήση ΣΤΥΛ στην αÏίθμηση των γÏαμμών " #~ "του\n" #~ " επισέλιδου\n" #~ " -i, --page-increment=ΑΡΙΘΜΟΣ αÏξηση αÏÎ¹Î¸Î¼Î¿Ï Î³Ïαμμής σε κάθε γÏαμμή\n" #~ " -l, --join-blank-lines=ΑΡΙΘΜΟΣ ομάδα από ΑΡΙΘΜΟΣ κενών γÏαμμών που\n" #~ " μετÏοÏνται ως μία\n" #~ " -n, --number-format=ΜΟΡΦΗ εισαγωγή αÏίθμηση γÏαμμών σÏμφωνα με " #~ "ΜΟΡΦΗ\n" #~ " -p, --no-renumber να μη μηδενίζεται η αÏίθμηση γÏαμμών " #~ "στις\n" #~ " λογικές σελίδες\n" #~ " -s, --number-separator=ΑΛΦΑΡΙΘΜ Ï€Ïόσθεση Î‘Î›Î¦Î‘Î¡Î™Î˜ÎœÎ·Ï„Î¹ÎºÎ¿Ï Î¼ÎµÏ„Î¬ από " #~ "(πιθανό)\n" #~ " αÏιθμό γÏαμμής\n" #~ " -v, --first-page=ΑΡΙΘΜΟΣ Ï€Ïώτος αÏιθμός γÏαμμής σε κάθε λογική " #~ "σελίδα\n" #~ " -w, --number-width=ΑΡΙΘΜΟΣ χÏήση ΑΡΙΘΜΟΣ από στήλες για αÏιθμοÏÏ‚ " #~ "γÏαμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και " #~ "έξοδος\n" #~ "\n" #~ "Εξ οÏισμοÏ, είναι -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC είναι\n" #~ "δÏο χαÏακτήÏες διαχωÏÎ¹ÏƒÎ¼Î¿Ï Î³Î¹Î± το χωÏισμό των λογικών σελίδων, η απουσία\n" #~ "δεÏτεÏου χαÏακτήÏα υποδηλώνει :. ΓÏάψτε \\\\ για \\. Το ΣΤΥΛ είναι ένα " #~ "από:\n" #~ "\n" #~ " a αÏιθμός γÏαμμών\n" #~ " t αÏίθμηση μόνο μη κενών γÏαμμών\n" #~ " n να μην αÏιθμηθοÏν οι γÏαμμές\n" #~ " pΚΑÎΕΚΦ να αÏιθμηθοÏν μόνο γÏαμμές που πεÏιέχουν ταίÏιασμα για την\n" #~ " ΚΑÎονική ΈΚΦÏαση\n" #~ "\n" #~ "ΜΟΡΦΗ είναι ένα από:\n" #~ "\n" #~ " ln στοίχιση στα αÏιστεÏά, χωÏίς Ï€ÏοποÏευόμενα μηδενικά\n" #~ " rn στοίχιση στα δεξιά, χωÏίς Ï€ÏοποÏευόμενα μηδενικά\n" #~ " rz στοίχιση στα δεξιά, χωÏίς Ï€ÏοποÏευόμενα μηδενικά\n" #~ "\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ "Εμφάνιση μιας χωÏίς ασάφειες αναπαÏάσταση, με οκταδικά bytes εξ οÏισμοÏ,\n" #~ "του ΑΡΧΕΙΟ στη κανονική έξοδο. ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το " #~ "-,\n" #~ "ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -A, --address-radix=RADIX επιλογή του πώς εκτυπώνονται οι θέσεις " #~ "αÏχείου\n" #~ " -j, --skip-bytes=BYTES Ï€ÏοσπέÏασμα των Ï€Ïώτων BYTES bytes εισόδου " #~ "από\n" #~ " κάθε αÏχείο\n" #~ " -N, --read-bytes=BYTES πεÏιοÏισμός της εμφάνισης στα Ï€Ïώτα BYTES\n" #~ " byte εισόδου για κάθε αÏχείο\n" #~ " -s, --strings[=BYTES] εμφάνιση αλφαÏιθμητικών με τουλάχιστον " #~ "BYTES\n" #~ " γÏαφικοÏÏ‚ χαÏακτήÏες\n" #~ " -t, --format=ΕΙΔΟΣ επιλογή μοÏφής εξόδου ή μοÏφές\n" #~ " -v, --output-duplicates να μη χÏησιμοποιηθεί * να για υποδηλώσει\n" #~ " απόÏÏιψη γÏαμμής\n" #~ " -w, --width[=BYTES] εμφάνιση BYTES bytes για κάθε γÏαμμή " #~ "εξόδου\n" #~ " --traditional αποδοχή οÏισμάτων σε Ï€Ïο-POSIX μοÏφή\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "οι Ï€Ïο-POSIX δηλώσεις μοÏφών μποÏοÏν να αναμιγνÏονται, δÏουν Ï€Ïοσθετικά:\n" #~ " -a ίδιο με -t a, επιλογή δοθέντων χαÏακτήÏων\n" #~ " -b ίδιο με -t oC, επιλογή οκταδικών bytes\n" #~ " -c ίδιο με -t c, επιλογή χαÏακτήÏων ASCII ή διαφυγές με πισωκάθετο\n" #~ " -d ίδιο με -t u2, επιλογή μη-Ï€Ïοσημασμένων δεκαδικών μικÏών ακέÏαιων\n" #~ " -f ίδιο με -t fF, επιλογή αÏιθμών κινητής υποδιαστολής\n" #~ " -h ίδιο με -t x2, επιλογή δεκαεξαδικών μικÏών ακεÏαίων\n" #~ " -i ίδιο με -t d2, επιλογή δεκαδικών μικÏών ακεÏαίων\n" #~ " -l ίδιο με -t d4, επιλογή δεκαδικών ακεÏαίων\n" #~ " -o ίδιο με -t o2, επιλογή οκταδικών μικÏών ακεÏαίων\n" #~ " -x ίδιο με -t x2, επιλογή δεκαεξαδικών μικÏών ακεÏαίων\n" # #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ "Για την παλαιότεÏη σÏνταξη (δεÏτεÏη μοÏφή κλήσης), η ΘΕΣΗ είναι -j ΘΕΣΗ.\n" #~ "Το ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ είναι η ψευδο-διεÏθυνση στο Ï€Ïώτο byte που τυπώνεται,\n" #~ "αυξανόμενο καθώς η έξοδος Ï€ÏοοδεÏει. Για ΘΕΣΗ και ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ, το\n" #~ "Ï€Ïόθεμα 0x ή 0X δηλώνει δεκαεξαδικό, οι καταλήξεις ίσως. Για οκταδικά " #~ "και\n" #~ "b πολλαπλασιάστε με 512.\n" #~ "\n" #~ "Το ΕΙΔΟΣ απαÏτίζεται από μια ή πεÏισσότεÏες από τις παÏακάτω δηλώσεις:\n" #~ "\n" #~ " a δοθέν χαÏακτήÏας\n" #~ " c χαÏακτήÏας ASCII ή διαφυγή με πισωκάθετο\n" #~ " d[ΜΕΓΕΘΟΣ] Ï€Ïοσημασμένος δεκαδικός, ΜΕΓΕΘΟΣ bytes ανά ακέÏαιο\n" #~ " f[ΜΕΓΕΘΟΣ] κινητής υποδιαστολής, ΜΕΓΕΘΟΣ bytes ανά ακέÏαιο\n" #~ " o[ΜΕΓΕΘΟΣ] οκταδικός, ΜΕΓΕΘΟΣ bytes ανά ακέÏαιο\n" #~ " u[ΜΕΓΕΘΟΣ] χωÏίς Ï€Ïόσημο δεκαδικός, ΜΕΓΕΘΟΣ bytes ανά ακέÏαιο\n" #~ " x[ΜΕΓΕΘΟΣ] δεκαεξαδικό, ΜΕΓΕΘΟΣ bytes ανά ακέÏαιο\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ είναι ένας αÏιθμός. Για το ΕΙΔΟΣ, το ΜΕΓΕΘΟΣ μποÏεί να είναι " #~ "C\n" #~ "για sizeof(char), S για sizeof(short), I για sizeof(int) ή L για\n" #~ "sizeof(long). Αν το ΕΙΔΟΣ είναι f, το ΜΕΓΕΘΟΣ μποÏεί επίσης να είναι F\n" #~ "για sizeof(float), D για sizeof(double) ή L για sizeof(long double).\n" #~ "\n" #~ "Η ΒΑΣΗ είναι d για δεκαδικό, o για οκταδικό, x για δεκαεξαδικό ή n για " #~ "τίποτα.\n" #~ "Το BYTES είναι δεκαεξαδικό αν έχει Ï€Ïόθεμα 0x ή 0X, πολλαπλασιάζεται με " #~ "512\n" #~ "αν έχει κατάληξη b, με 1024 αν έχει k και με 1048576 αν έχει m. " #~ "ΠÏοσθέτοντας\n" #~ "την κατάληξη z σε κάθε είδος, Ï€Ïοσθέτει την εμφάνιση των εκτυπώσιμων\n" #~ "χαÏακτήÏων στο τέλος κάθε γÏαμμής της εξόδου. Το -s χωÏίς αÏιθμό " #~ "υποδηλώνει\n" #~ "3. Το -w χωÏίς αÏιθμό υποδηλώνει 32.\n" #~ "Εξ οÏισμοÏ, η od χÏησιμοποιεί -A o -t d2 -w 16.\n" # #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Σελιδοποίηση ή στηλοποίηση ΑΡΧΕΙΟΥ(ΩÎ) για εκτÏπωση.\n" #~ "\n" #~ " +ΠΡΩΤΗ_ΣΕΛΙΔΑ[:ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ], --pages=ΠΡΩΤΗ_ΣΕΛΙΔΑ[:" #~ "ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ]\n" #~ " έναÏξη [διακοπή] εκτÏπωσης με σελίδα\n" #~ " ΠΡΩΤΗ_[ΤΕΛΕΥΤΑΙΑ_]ΣΕΛΙΔΑ\n" #~ " -ΣΤΗΛΗ, --columns=ΣΤΗΛΗ\n" #~ " παÏαγωγή εξόδου με ΣΤΗΛΗ-στήλες και εκτÏπωση στηλών\n" #~ " Ï€Ïος τα κάτω, εκτός αν χÏησιμοποιείται το -a.\n" #~ " ΙσοÏÏόπηση του αÏÎ¹Î¸Î¼Î¿Ï Î³Ïαμμών στις στήλες κάθε\n" #~ " σελίδας.\n" #~ " -a, --across εμφάνιση στηλών κατά μήκος αντί Ï€Ïος τα κάτω, σε " #~ "χÏήση\n" #~ " με -ΣΤΗΛΗ\n" #~ " -c, --show-control-chars\n" #~ " χÏήση αναπαÏάστασης με καπέλο (^G) και οκταδικής\n" #~ " αναπαÏάστασης με πισωκάθετο\n" #~ " -d, --double-space\n" #~ " διπλά διαστήματα στην έξοδο\n" #~ " -e[ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]], --expand-tabs[=ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]]\n" #~ " ανάπτυξη ΧΑΡΑΚΤήÏων εισόδου (TABs) σε στηλοθέτη με\n" #~ " πλάτος ΠΛΑΤΟΣ(8)\n" #~ " -F, -f, --form-feed\n" #~ " χÏήση χαÏακτήÏων αλλαγής σελίδας αντί χαÏακτήÏων " #~ "νέας\n" #~ " γÏαμμής για χωÏισμό σελίδων\n" #~ " (-F για επισέλιδο 3 γÏαμμών ή επισέλιδο 5 γÏαμμών\n" #~ " και ακόλουθο χωÏίς -F)\n" # #, fuzzy #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h ΕΠΙΣΕΛΙΔΟ, --header=ΕΠΙΣΕΛΙΔΟ\n" #~ " χÏήση κεντÏαÏισμένου ΕΠΙΣΕΛΙΔΟΥ αντί του ονόματος\n" #~ " αÏχείου στο επισέλιδο,\n" #~ " με μακÏά επισέλιδα μποÏεί να γίνει αποκοπή από τα " #~ "αÏιστεÏά,\n" #~ " -h \"\" τυπώνει μια κενή γÏαμμή, μην κάνετε χÏήση του " #~ "-h\"\"\n" #~ " -i[ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]], --output-tabs[=ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]]\n" #~ " αντικατάσταση διαστημάτων με ΧΑΡΑΚΤήÏα(TABs) σε " #~ "μήκος\n" #~ " στηλοθέτη ΠΛΑΤΟΣ(8)\n" #~ " -J, --join-lines συνένωση γεμάτων γÏαμμών, απενεÏγοποιεί μηδενισμό\n" #~ " γÏαμμής του -W, χωÏίς\n" #~ " στοίχιση στήλης, -S[ΑΛΦΑΡΙΘΜ] θέτει διαχωÏιστές\n" #~ " -l ΜΗΚΟΣ_ΣΕΛΙΔΑΣ, --length=ΜΗΚΟΣ_ΣΕΛΙΔΑΣ\n" #~ " θέτει το μήκος σελίδας σε ΜΗΚΟΣ_ΣΕΛΙΔΑΣ (66) γÏαμμές\n" #~ " (εξ οÏÎ¹ÏƒÎ¼Î¿Ï Î±Ïιθμός γÏαμμών κειμένου είναι 56, και " #~ "με\n" #~ " -F 63)\n" #~ " -m, --merge εκτÏπωση όλων των αÏχείων παÏάλληλα, ένα σε κάθε " #~ "στήλη,\n" #~ " μηδενισμός γÏαμμών άλλα συνένωση γÏαμμών πλήÏους " #~ "μήκους\n" #~ " με -J\n" #~ " -n[ΔΙΑΧ[ΨΗΦΙΑ]], --number-lines[=ΔΙΑΧ[ΨΗΦΙΑ]]\n" #~ " αÏίθμηση γÏαμμών, χÏήση ΨΗΦΙΑ (5) ψηφία, μετά ΔΙΑΧ " #~ "(TAB),\n" #~ " εξ οÏÎ¹ÏƒÎ¼Î¿Ï Î¼Î­Ï„Ïηση ξεκινά με τη Ï€Ïώτη γÏαμμή του\n" #~ " αÏχείου εισόδου\n" #~ " -N ΑΡΙΘΜΟΣ, --first-line-number=ΑΡΙΘΜΟΣ\n" #~ " έναÏξη μέτÏησης με ΑΡΙΘΜΟΣ στη Ï€Ïώτη γÏαμμή της " #~ "Ï€Ïώτης\n" #~ " σελίδας\n" #~ " που εκτυπώνεται(δείτε +ΠΡΩΤΗ_ΣΕΛΙΔΑ)\n" #~ " -o ΠΕΡΙΘΩΡΙΟ, --indent=ΠΕΡΙΘΩΡΙΟ\n" #~ " παÏέμβαλε κάθε γÏαμμή με ΠΕΡΙΘΩΡΙΟ (μηδέν) " #~ "διαστήματα,\n" #~ " να μην επηÏεαστοÏν τα -w ή -W, το ΠΕΡΙΘΩΡΙΟ θα " #~ "Ï€Ïοστεθεί\n" #~ " στο ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " -r, --no-file-warnings\n" #~ " παÏάληψη Ï€Ïοειδοποίησης όταν το αÏχείο δεν μποÏεί να\n" #~ " ανοιχτεί\n" # #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the <TAB> character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator <TAB> with -J and " #~ "<space>\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ΧΑΡΑΚΤ],--separator[=ΧΑΡΑΚΤ]\n" #~ " διαχωÏισμός στηλών με ένα χαÏακτήÏα, εξ οÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¹Î¼Î®\n" #~ " για ΧΑΡΑΚΤ\n" #~ " είναι το <TAB> χωÏίς -w και 'όχι χαÏακτ' με -w\n" #~ " -s[ΧΑΡΑΚΤ] απενεÏγοποιεί το μηδενισμό γÏαμμής από " #~ "όλες\n" #~ " (3) της επιλογές\n" #~ " στήλης (-ΣΤΗΛΗ|-a -ΣΤΗΛΗ|-m) εκτός αν έχει τεθεί το -" #~ "w\n" #~ " -S[ΑΛΦΑΡΙΘΜ], --sep-string[=ΑΛΦΑΡΙΘΜ]\n" #~ " διαχωÏισμός στηλών από ένα Ï€ÏοαιÏετικό ΑΛΦΑΡΙΘΜ, να " #~ "μην\n" #~ " κάνετε χÏήση του -S \"ΑΛΦΑΡΙΘΜ\",\n" #~ " μόνο -S : Δεν χÏησιμοποιείται διαχωÏιστής (ίδιο με\n" #~ " -S\"\"),\n" #~ " χωÏίς -S: Εξ οÏÎ¹ÏƒÎ¼Î¿Ï Î´Î¹Î±Ï‡Ï‰Ïιστής <TAB> με -J και\n" #~ " <διάστημα> διαφοÏετικά (ίδιο με -S\" \"), χωÏίς\n" #~ " επίδÏαση σε επιλογές για στήλες\n" #~ " -t, --omit-header παÏάληψη επισέλιδων και ακολοÏθων\n" #~ " -T, --omit-pagination\n" #~ " παÏάληψη επισέλιδων και ακολοÏθων, ελαχιστοποίηση " #~ "κάθε\n" #~ " σελιδοποίησης από `form feeds' που έχουν τυχόν " #~ "τεθεί\n" #~ " στα αÏχεία εισόδου\n" #~ " -v, --show-nonprinting\n" #~ " χÏήση οκταδικής κωδικογÏαφής με πισωκάθετο\n" #~ " -w ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ, --width=ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " οÏισμός πλάτους σελίδας σε ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ (72)\n" #~ " χαÏακτήÏες για\n" #~ " πολλαπλή έξοδο στηλών με κείμενο μόνο, -s[χαÏακτ]\n" #~ " απενεÏγοποιεί (72)\n" #~ " -W ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ, --page-width=ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " οÏισμός πλάτους σελίδας σε ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ (72)\n" #~ " χαÏακτήÏες πάντα,\n" #~ " μηδενισμός γÏαμμών, εκτός αν έχει τεθεί -J, καμία\n" #~ " παÏεμβολή\n" #~ " με -S ή -s\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Το -T εννοείτε από το -l nn όπου nn <= 10 ή <= 3 με -F. ΧωÏίς ΑΡΧΕΙΟ, ή\n" #~ "όταν το αÏχείο είναι το -, ανάγνωση από την κανονική είσοδο.\n" # #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "ΥποχÏεωτικά οÏίσματα για μακÏές επιλογές είναι υποχÏεωτικά για σÏντομες\n" #~ "επιλογές επίσης.\n" #~ "\n" #~ " -A, --auto-reference εμφάνιση αυτόματα παÏαγόμενες αναφοÏές\n" #~ " -C, --copyright εμφάνιση Copyright και κανόνες " #~ "αντιγÏαφής\n" #~ " -G, --traditional συμπεÏιφοÏά πεÏισσότεÏο όμοια με του " #~ "System\n" #~ " V την `ptx'\n" #~ " -F, --flag-truncation=ΑΛΦΑΡΙΘΜ χÏήση ΑΛΦΑΡΙΘΜ για υποδήλωση " #~ "μηδενισμοÏ\n" #~ " γÏαμμών\n" #~ " -M, --macro-name=ΑΛΦΑΡΙΘΜ όνομα μακÏοεντολής Ï€Ïος χÏήση αντί του " #~ "`xx'\n" #~ " -O, --format=roff δημιουÏγία εξόδου ως εντολές roff\n" #~ " -R, --right-side-refs τοποθέτηση αναφοÏών στα δεξιά, χωÏίς να\n" #~ " μετÏώνται στο -w\n" #~ " -S, --sentence-regexp=ΚΑÎΕΚΦ για το τέλος γÏαμμών ή το τέλος των " #~ "Ï€Ïοτάσεων\n" #~ " -T, --format=tex δημιουÏγία εξόδου ως εντολές TeX\n" #~ " -W, --word-regexp=ΚΑÎΕΚΦ χÏήση ΚΑÎονικής ΕΚΦÏασης στο ταίÏιασμα " #~ "κάθε\n" #~ " λέξης-κλειδί\n" #~ " -b, --break-file=ΑΡΧΕΙΟ η λέξη σπάει τους χαÏακτήÏες σε αυτό το\n" #~ " ΑΡΧΕΙΟ\n" #~ " -f, --ignore-case αναδίπλωση πεζών σε κεφαλαία για την\n" #~ " ταξινόμηση\n" #~ " -g, --gap-size=ΑΡΙΘΜΟΣ μέγεθος διάκενου στις στήλες Î¼ÎµÏ„Î±Î¾Ï " #~ "πεδίων\n" #~ " εξόδου\n" #~ " -i, --ignore-file=ΑΡΧΕΙΟ ανάγνωση λίστα λέξεων Ï€Ïος αγνόηση από " #~ "ΑΡΧΕΙΟ\n" #~ " -o, --only-file=ΑΡΧΕΙΟ ανάγνωση μόνο λίστα λέξεων από αυτό το " #~ "ΑΡΧΕΙΟ\n" #~ " -r, --references Ï€Ïώτο πεδία κάθε γÏαμμής είναι μια " #~ "αναφοÏά\n" #~ " -t, --typeset-mode - δεν έχει υλοποιηθεί -\n" #~ " -w, --width=ΑΡΙΘΜΟΣ πλάτος εξόδου σε στήλες, με εξαίÏεση " #~ "των\n" #~ " αναφοÏών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "Είναι `-F /' εξ οÏισμοÏ.\n" # #, fuzzy #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " #~ "%s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση ταξινομημένης συνένωσης όλων των ΑΡΧΕΙΟ(ΩÎ) στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " +ΘΕΣΗ1 [-ΘΕΣΗ2] αÏχή ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï ÏƒÏ„Î· ΘΕΣΗ1, τεÏματισμός *Ï€Ïιν* τη " #~ "ΘΕΣΗ2\n" #~ " (εκτός χÏήσης)\n" #~ " αÏιθμοί πεδίων και θέσεις χαÏακτήÏων αÏιθμοÏνται\n" #~ " αÏχίζοντας από το μηδέν (σε αντίθεση με την " #~ "επιλογή -k)\n" #~ " -b αγνόηση Ï€ÏοποÏευόμενων κενών σε πεδία ταξινόμησης ή " #~ "κλειδιά\n" #~ " -c έλεγχος αν τα δοθέντα αÏχεία είναι ήδη ταξινομημένα, " #~ "να\n" #~ " μην ταξινομηθοÏν\n" #~ " -d να θεωÏηθοÏν μόνο οι χαÏακτήÏες [a-zA-Z0-9 ] στα " #~ "κλειδιά\n" #~ " -f αναδίπλωση πεζών χαÏακτήÏων σε κεφαλαία στα κλειδιά\n" #~ " -g σÏγκÏιση σÏμφωνα με τη γενική αÏιθμητική τιμή, θεώÏησε " #~ "-b\n" #~ " -i θεώÏησε μόνο τους χαÏακτήÏες [\\040-\\0176] στα " #~ "κλειδιά\n" #~ " -k ΘΕΣΗ1[,ΘΕΣΗ2] έναÏξη ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï ÏƒÏ„Î· θέση ΘΕΣΗ1, τεÏματιστός *στη* " #~ "ΘΕΣΗ2\n" #~ " αÏιθμοί πεδίων και θέσεις χαÏακτήÏων αÏιθμοÏνται\n" #~ " αÏχίζοντας από το ένα (σε αντίθεση με τη βασισμένη " #~ "στο\n" #~ " μηδέν μοÏφή +ΘΕΣΗ)\n" #~ " -m συνένωση μόνο ταξινομημένων αÏχείων, να μη γίνει " #~ "ταξινόμηση\n" #~ " -M σÏγκÏιση (άγνωστο) < `ΙΑÎ' < ... < `ΔΕΚ', θεώÏησε -b\n" #~ " -n σÏγκÏιση σÏμφωνα με τη αλφαÏιθμητική αÏιθμητική τιμή, " #~ "θεώÏησε -b\n" #~ " -o ARXEIO εγγÏαφή αποτελέσματος στο ΑΡΧΕΙΟ αντί στην κανονική " #~ "έξοδο\n" #~ " -r αντιστÏοφή των αποτελεσμάτων των συγκÏίσεων\n" #~ " -s σταθεÏοποίηση της ταξινόμησης με απενεÏγοποίηση τη\n" #~ " σÏγκÏισης τελευταίας ελπίδας\n" #~ " -t ΔΙΑΧ χÏήση ΔΙΑΧωÏιστή αντί της μετάστασης από μη-κενό σε\n" #~ " λευκό χαÏακτήÏα\n" #~ " -T ΚΑΤΑΛΟΓΟΣ χÏήση ΚΑΤΑΛΟΓΟΣ για Ï€ÏοσωÏινά αÏχεία, όχι το $TMPDIR ή " #~ "%s\n" #~ " -u με -c, έλεγχος για αυστηÏή τοποθέτηση σε σειÏά\n" #~ " με -m, μόνο έξοδος του Ï€Ïώτου από μια ίση ακολουθία\n" #~ " -z τεÏματισμός γÏαμμών με 0 byte, όχι με νέα γÏαμμή, για\n" #~ " τη find -print0\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ " -n, --lines=N output the last N lines, instead of the last " #~ "%d\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, each iteration lasts approximately S\n" #~ " (default 1) seconds\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "ΕκτÏπωση των τελευταίων %d γÏαμμών κάθε ΑΡΧΕΙΟΥ στην κανονική έξοδο.\n" #~ "Με πεÏισσότεÏο από ένα ΑΡΧΕΙΑ, να τυπωθεί Ï€Ïώτα κεφαλίδα με το όνομα του\n" #~ "αÏχείου.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " --retry συνέχιση Ï€Ïοσπάθειας ανοίγματος αÏχείου ακόμα " #~ "και\n" #~ " αν αυτό δεν είναι Ï€Ïοσπελάσιμο όταν η tail \n" #~ " εκκινείται ή αν γίνεται μη-Ï€Ïοσπελάσιμο " #~ "μετά\n" #~ " χÏήσιμο μόνο με την παÏάμετÏο -f\n" #~ " -c, --bytes=N εμφάνιση των τελευταίων N bytes\n" #~ " -f, --follow[={name|descriptor}] εμφάνιση Ï€Ïοστιθέμενων δεδομένων " #~ "όπως\n" #~ " αυξάνεται το αÏχείο· τα -f, --follow και\n" #~ " --follow=descriptor είναι ισοδÏναμα\n" #~ " -n, --lines=N εμφάνιση των τελευταίων ΠγÏαμμών, αντί των\n" #~ " τελευταίων %d\n" #~ " --max-unchanged-stats=N δείτε την τεκμηÏίωση του texinfo\n" #~ " (εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎµÎ¯Î½Î±Î¹ %d)\n" #~ " --max-consecutive-size-changes=N δείτε την τεκμηÏίωση του texinfo\n" #~ " (εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÎµÎ¯Î½Î±Î¹ %d)\n" #~ " --pid=PID με -f, τεÏματισμός όταν η διεÏγασία με\n" #~ " ταυτότητα εÏγασίας PID πεθάνει\n" #~ " -q, --quiet, --silent να μην εκτυπώνονται κεφαλίδες με τα ονόματα " #~ "των\n" #~ " αÏχείων\n" #~ " -s, --sleep-interval=S με -f, παÏση για S δευτεÏόλεπτα Î¼ÎµÏ„Î±Î¾Ï " #~ "επαναλήψεων\n" #~ " -v, --verbose πάντα να τυπώνονται κεφαλίδες με ονόματα " #~ "αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αν ο Ï€Ïώτος χαÏακτήÏας του Î (αÏιθμός byte ή γÏαμμών) είναι `+',\n" #~ "Ï„Ïπωσε αÏχίζοντας με το Î-οστό αντικείμενο από την αÏχή του κάθε " #~ "αÏχείου,\n" #~ "διαφοÏετικά, Ï„Ïπωσε τα τελευταία Παντικείμενα του αÏχείου. Το ΠμποÏεί\n" #~ "να έχει πολλαπλασιαστικό Ï€Ïόθεμα:\n" #~ "b για 512, k για 1024, m για 1048576 (1 Meg). Μια Ï€Ïώτη ΕΠΙΛΟΓΗ με -" #~ "ΤΙΜΗ\n" #~ "ή +ΤΙΜΗ θεωÏείται για -n ΤΙΜΗ ή -n +ΤΙΜΗ εκτός αν η ΤΙΜΗ έχει ένα από " #~ "τις\n" #~ "πολλαπλασιαστικές καταλήξεις [bkm], στην οποία πεÏίπτωση γίνεται χÏήση " #~ "ως\n" #~ "-c ΤΙΜΗ ή -c +TIMH.\n" #~ "\n" #~ "Με --follow (-f), η tail εξ οÏÎ¹ÏƒÎ¼Î¿Ï Ï€Î±Ïακολουθεί τον πεÏιγÏαφέα αÏχείου,\n" #~ "που σημαίνει ότι ακόμα και αν το αÏχείο μετονομασθεί, η tail θα " #~ "συνεχίσει\n" #~ "να το παÏακολουθεί. Αυτή η εξ οÏÎ¹ÏƒÎ¼Î¿Ï ÏƒÏ…Î¼Ï€ÎµÏιφοÏά δεν είναι επιθυμητή " #~ "όταν\n" #~ "θέλετε να παÏακολουθήσετε το Ï€Ïαγματικό όνομα του αÏχείου και όχι τον " #~ "πεÏι-\n" #~ "γÏαφέα αÏχείου (Ï€.χ. πεÏιστÏοφή αÏχείου καταγÏαφών). Κάντε χÏήση του\n" #~ "--follow=name στην πεÏίπτωση αυτή. Αυτό Ï€Ïοκαλεί την tail να " #~ "παÏακολουθεί\n" #~ "το αÏχείο με το συγκεκÏιμένο όνομα ανοίγοντας το πεÏιοδικά για να δει αν\n" #~ "έχει διαγÏαφεί και επαναδημιουÏγηθεί από κάποιο άλλο Ï€ÏόγÏαμμα.\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ "Τα ΣΥÎΟΛΑ οÏίζονται ως αλφαÏιθμητικά. Τα πεÏισσότεÏα αντιπÏοσωπεÏουν τον " #~ "εαυτό τους.\n" #~ "Οι μεταφÏασμένες ακολουθίες είναι:\n" #~ "\n" #~ " \\NNN χαÏακτήÏας με οκταδική τιμή NNN (1 με 3 οκταδικά " #~ "ψηφία)\n" #~ " \\\\ πισωκάθετος\n" #~ " \\a ηχητικό κουδοÏνι\n" #~ " \\b `backspace'\n" #~ " \\f `form feed'\n" #~ " \\n `new line'\n" #~ " \\r `return'\n" #~ " \\t οÏιζόντιος στηλοθέτης\n" #~ " \\v κάθετος στηλοθέτης\n" #~ " ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2 όλοι οι χαÏακτήÏες από ΧΑΡΑΚΤ1 μέχÏι ΧΑΡΑΚΤ2 σε " #~ "αÏξουσα σειÏά\n" #~ " [ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2] όπως ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2, αν και τα δÏο ΣΥÎΟΛΟ1, " #~ "ΣΥÎΟΛΟ2 το κάνουν χÏήση\n" #~ " [ΧΑΡΑΚΤ*] στο ΣΥÎΟΛΟ2, αντιγÏάφει το ΧΑΡΑΚΤήÏα μέχÏι το μήκος " #~ "του ΣΥÎΟΛΟ1\n" #~ " [ΧΑΡΑΚΤ*ΕΠΑÎΑΛ] ΕΠΑÎΑΛηψη αντίγÏαφα του ΧΑΡΑΚΤήÏα, ΕΠΑÎΑΛ είναι " #~ "οκταδικό αν αÏχίζει από 0\n" #~ " [:alnum:] όλοι οι χαÏακτήÏες και τα ψηφία\n" #~ " [:alpha:] όλοι οι χαÏακτήÏες\n" #~ " [:blank:] όλοι οι οÏιζόντιοι λευκοί χαÏακτήÏες\n" #~ " [:cntrl:] όλοι οι χαÏακτήÏες ελέγχου\n" #~ " [:digit:] όλα τα ψηφία\n" #~ " [:graph:] όλοι οι εκτυπώσιμοι χαÏακτήÏες, χωÏίς το διάστημα\n" #~ " [:lower:] όλα τα πεζά γÏάμματα\n" #~ " [:print:] όλοι οι εκτυπώσιμοι χαÏακτήÏες, μαζί με το διάστημα\n" #~ " [:punct:] όλα οι χαÏακτήÏες τονισμοÏ\n" #~ " [:space:] όλοι οι οÏιζόντιοι ή κάθετοι λευκοί χαÏακτήÏες\n" #~ " [:upper:] όλοι οι κεφαλαίοι χαÏακτήÏες\n" #~ " [:xdigit:] όλα τα δεκαεξαδικά ψηφία\n" #~ " [=ΧΑΡΑΚΤ=] όλοι οι χαÏακτήÏες που είναι ισοδÏναμοι με το ΧΑΡΑΚΤ\n" # #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate)}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N (obsolescent; will be withdrawn)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ "Αποβολή όλες εκτός από τις συνεχόμενες όμοιες γÏαμμές από την ΕΙΣΟΔΟ\n" #~ "(ή κανονική είσοδο), γÏάφοντας στην έξοδο (ή κανονική έξοδο).\n" #~ "\n" #~ " -c, --count αÏιθμός των εμφανίσεων στην αÏχή των γÏαμμών\n" #~ " -d, --repeated εμφάνιση μόνο διπλών γÏαμμών\n" #~ " -D, --all-repeated εμφάνιση όλων των διπλών γÏαμμών\n" #~ " -f, --skip-fields=N αποφυγή σÏγκÏισης των Ï€Ïώτων N πεδίων\n" #~ " -i, --ignore-case αγνόηση διαφοÏών Î¼ÎµÏ„Î±Î¾Ï Ï€ÎµÎ¶ÏŽÎ½/κεφαλαίων στις " #~ "συγκÏίσεις\n" #~ " -s, --skip-chars=N αγνόηση σÏγκÏισης των Ï€Ïώτων ΠχαÏακτήÏων\n" #~ " -u, --unique εμφάνιση μόνο των μοναδικών γÏαμμών\n" #~ " -w, --check-chars=N σÏγκÏιση όχι παÏαπάνω από ΠχαÏακτήÏες στη " #~ "γÏαμμή\n" #~ " -N ίδιο με -f N\n" #~ " +N ίδιο με -s N\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Πεδίο είναι μια σειÏά από λευκοÏÏ‚ χαÏακτήÏες, και μετά μη-λευκοί " #~ "χαÏακτήÏες.\n" #~ "Τα πεδία Ï€ÏοσπεÏνώνται Ï€Ïιν τους χαÏακτήÏες.\n" # #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "Όταν γίνετε χÏήση παλιοÏ-στυλ δηλωτών +ΘΕΣΗ και -ΘΕΣΗ,\n" #~ "ο δηλωτής +ΘΕΣΗ Ï€Ïέπει να έÏχεται Ï€Ïώτος" # #~ msgid "option `-k' requires an argument" #~ msgstr "η επιλογή `-k' απαιτεί ένα ÏŒÏισμα" # #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "η δήλωση έναÏξης πεδίου έχει `.' αλλά της λείπει η θέση επόμενου χαÏακτήÏα" # #, fuzzy #~ msgid "" #~ "starting field character offset argument to the `-k' option must be " #~ "positive" #~ msgstr "" #~ "το ÏŒÏισμα έναÏξης πεδίου αÏÎ¹Î¸Î¼Î¿Ï ÏƒÏ„Î·Î½ επιλογή `-k'\n" #~ "Ï€Ïέπει να είναι θετικός" # #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "η δήλωση πεδίου έχει `,' αλλά της λείπει η δήλωση επόμενου πεδίου" # #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "" #~ "το ÏŒÏισμα τέÏματος πεδίου αÏÎ¹Î¸Î¼Î¿Ï ÏƒÏ„Î·Î½ επιλογή `-k' Ï€Ïέπει να είναι " #~ "θετικός" # #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "η δήλωση τέÏματος πεδίου έχει `.' αλλά της λείπει η θέση επόμενου " #~ "χαÏακτήÏα" # #~ msgid "option `-o' requires an argument" #~ msgstr "η επιλογή `-o' απαιτεί ένα ÏŒÏισμα" # #, fuzzy #~ msgid "option `-S' requires an argument" #~ msgstr "η επιλογή `-k' απαιτεί ένα ÏŒÏισμα" # #~ msgid "option `-t' requires an argument" #~ msgstr "η επιλογή `-t' απαιτεί ένα ÏŒÏισμα" # #~ msgid "option `-T' requires an argument" #~ msgstr "η επιλογή `-T' απαιτεί ένα ÏŒÏισμα" # #~ msgid "%s%*s%s%*sPage" #~ msgstr "%s%*s%s%*sΣελίδα" # #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "ο δηλωμένος αÏιθμός bytes `%s' είναι μεγαλÏτεÏος από το μέγιστο\n" #~ "που μποÏεί να αναπαÏασταθεί από το Ï„Ïπο δεδομένων `long'" # #~ msgid "could not find loop" #~ msgstr "αδυναμία εÏÏεσης βÏόχου" # #~ msgid "%s: cannot follow end of non-regular file" #~ msgstr "%s: αδυναμία ακολοÏθησης τέλους μη-ÎºÎ±Î½Î¿Î½Î¹ÎºÎ¿Ï Î±Ïχείου" # #~ msgid "" #~ "\n" #~ "Report bugs to <textutils-bugs@gnu.org>." #~ msgstr "" #~ "\n" #~ "ΑναφέÏατε σφάλματα στο <bug-textutils@gnu.org>." # #~ msgid "`%s' has reappeared" #~ msgstr "το `%s' εμφανίστηκε ξανά" # #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην " #~ "κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " #~ "αÏχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " #~ "χÏησιμοποιηθοÏν.\n" # #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING combine only lines having STRING as prefix\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=NUMBER maximum line width (default of 75 columns)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "ΜοÏφοποίηση ξανά κάθε παÏαγÏάφου στο ΑΡΧΕΙΟ(Α), γÏάφοντας στην κανονική " #~ "έξοδο.\n" #~ "Αν κανένα ΑΡΧΕΙΟ δεν έχει οÏιστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " #~ "κανονική είσοδο.\n" #~ "\n" #~ "ΥποχÏεωτικά οÏίσματα στις μακÏές επιλογές είναι υποχÏεωτικά για σÏντομες " #~ "επιλογές επίσεις.\n" #~ " -c, --crown-margin διατήÏησε την εσοχή των δÏο Ï€Ïώτων γÏαμμών\n" #~ " -p, --prefix=ΑΛΦΑΡΙΘ συνδÏασε μόνο γÏαμμές με ΑΛΦΑΡΙΘΜητικό ως " #~ "Ï€Ïόθεμα\n" #~ " -s, --split-only χώÏισε στα δÏο τις μακÏές γÏαμμές αλλά χωÏίς " #~ "γέμισμα ξανά\n" #~ " -t, --tagged-paragraph η εσοχή της Ï€Ïώτης γÏαμμής να είναι " #~ "διαφοÏετική από τη δεÏτεÏη\n" #~ " -u, --uniform-spacing ένα διάστημα Î¼ÎµÏ„Î±Î¾Ï Î»Î­Î¾ÎµÏ‰Î½, δÏο μετά από " #~ "Ï€Ïοτάσεις\n" #~ " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γÏαμμής (εξ οÏÎ¹ÏƒÎ¼Î¿Ï 75 " #~ "στήλες)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Στο -wΑΡΙΘΜΟΣ, το γÏάμμα `w' μποÏεί να παÏαληφθεί.\n" # #~ msgid "" #~ "Print first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "Εμφάνιση των 10 Ï€Ïώτων γÏαμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με πεÏισσότεÏα από ένα ΑΡΧΕΙΟ, να Ï€Ïοηγηθεί επισέλιδο με το όνομα του " #~ "αÏχείου.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των Ï€Ïώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των Ï€Ïώτων ΑΡΙΘΜΟΣ γÏαμμών αντί των " #~ "Ï€Ïώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αÏχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μποÏεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χÏησιμοποιείται το -VALUE σαν Ï€Ïώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφοÏετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Αυτό το Ï€ÏόγÏαμμα είναι ελεÏθεÏο λογισμικό· μποÏείτε να το \n" #~ "επαναδιανείμετε και/ή να το Ï„Ïοποποιήσετε υπό τους ÏŒÏους της \n" #~ "Γενικής Δημόσιας ’δειας ΧÏήσεως Î›Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï GNU (GNU General Public\n" #~ "Licence) όπως αυτή δημοσιεÏτηκε από το ΊδÏυμα ΕλεÏθεÏου ΛογισμικοÏ\n" #~ "(Free Software Foundation), είτε στην έκδοση 2, ή (κατά επιλογή σας)\n" #~ "οποιαδήποτε μεταγενέστεÏη έκδοση.\n" #~ "\n" #~ "Αυτό το Ï€ÏόγÏαμμα διανέμεται με την ελπίδα ότι θα φανεί χÏήσιμο,\n" #~ "αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ, χωÏίς καν την εγγÏηση ΧΡΗΣΙΜΟΤΗΤΑΣ ΓΙΑ \n" #~ "ΣΥΓΚΕΚΡΙΜΕÎΟ ΣΚΟΠΟ. ΠαÏακαλώ ανατÏέξτε στη Γενική Δημόσια ’δεια \n" #~ "ΧÏήσης Î›Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï GNU για πεÏισσότεÏες λεπτομέÏειες.\n" #~ "\n" #~ "Θα Ï€Ïέπει να έχετε λάβει ένα αντίτυπο της άδειας αυτής μαζί με\n" #~ "αυτό το Ï€ÏόγÏαμμα. Εάν όχι, γÏάψτε στο ΊδÏυμα ΕλεÏθεÏου ΛογισμικοÏ\n" #~ "(Free Software Foundation) στη διεÏθυνση Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" # #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ " +POS1 [-POS2] start a key at POS1, end it *before* POS2 " #~ "(obsolescent)\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with zero (contrast with the -k option)\n" #~ " -b ignore leading blanks in sort fields or keys\n" #~ " -c check if given files already sorted, do not sort\n" #~ " -d consider only [a-zA-Z0-9 ] characters in keys\n" #~ " -f fold lower case to upper case characters in keys\n" #~ " -g compare according to general numerical value, imply -" #~ "b\n" #~ " -i consider only [\\040-\\0176] characters in keys\n" #~ " -k POS1[,POS2] start a key at POS1, end it *at* POS2\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with one (contrast with zero-based +POS " #~ "form)\n" #~ " -m merge already sorted files, do not sort\n" #~ " -M compare (unknown) < `JAN' < ... < `DEC', imply -b\n" #~ " -n compare according to string numerical value, imply -b\n" #~ " -o FILE write result on FILE instead of standard output\n" #~ " -r reverse the result of comparisons\n" #~ " -s stabilize sort by disabling last resort comparison\n" #~ " -t SEP use SEParator instead of non- to whitespace " #~ "transition\n" #~ " -T DIRECTORY use DIRECTORY for temporary files, not $TMPDIR or %s\n" #~ " -u with -c, check for strict ordering;\n" #~ " with -m, only output the first of an equal sequence\n" #~ " -z end lines with 0 byte, not newline, for find -print0\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση ταξινομημένης συνένωσης όλων των ΑΡΧΕΙΟ(ΩÎ) στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " +ΘΕΣΗ1 [-ΘΕΣΗ2] αÏχή ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï ÏƒÏ„Î· ΘΕΣΗ1, τεÏματισμός *Ï€Ïιν* τη " #~ "ΘΕΣΗ2\n" #~ " (εκτός χÏήσης)\n" #~ " αÏιθμοί πεδίων και θέσεις χαÏακτήÏων αÏιθμοÏνται\n" #~ " αÏχίζοντας από το μηδέν (σε αντίθεση με την " #~ "επιλογή -k)\n" #~ " -b αγνόηση Ï€ÏοποÏευόμενων κενών σε πεδία ταξινόμησης ή " #~ "κλειδιά\n" #~ " -c έλεγχος αν τα δοθέντα αÏχεία είναι ήδη ταξινομημένα, " #~ "να\n" #~ " μην ταξινομηθοÏν\n" #~ " -d να θεωÏηθοÏν μόνο οι χαÏακτήÏες [a-zA-Z0-9 ] στα " #~ "κλειδιά\n" #~ " -f αναδίπλωση πεζών χαÏακτήÏων σε κεφαλαία στα κλειδιά\n" #~ " -g σÏγκÏιση σÏμφωνα με τη γενική αÏιθμητική τιμή, θεώÏησε " #~ "-b\n" #~ " -i θεώÏησε μόνο τους χαÏακτήÏες [\\040-\\0176] στα " #~ "κλειδιά\n" #~ " -k ΘΕΣΗ1[,ΘΕΣΗ2] έναÏξη ÎºÎ»ÎµÎ¹Î´Î¿Ï ÏƒÏ„Î· θέση ΘΕΣΗ1, τεÏματιστός *στη* " #~ "ΘΕΣΗ2\n" #~ " αÏιθμοί πεδίων και θέσεις χαÏακτήÏων αÏιθμοÏνται\n" #~ " αÏχίζοντας από το ένα (σε αντίθεση με τη βασισμένη " #~ "στο\n" #~ " μηδέν μοÏφή +ΘΕΣΗ)\n" #~ " -m συνένωση μόνο ταξινομημένων αÏχείων, να μη γίνει " #~ "ταξινόμηση\n" #~ " -M σÏγκÏιση (άγνωστο) < `ΙΑÎ' < ... < `ΔΕΚ', θεώÏησε -b\n" #~ " -n σÏγκÏιση σÏμφωνα με τη αλφαÏιθμητική αÏιθμητική τιμή, " #~ "θεώÏησε -b\n" #~ " -o ARXEIO εγγÏαφή αποτελέσματος στο ΑΡΧΕΙΟ αντί στην κανονική " #~ "έξοδο\n" #~ " -r αντιστÏοφή των αποτελεσμάτων των συγκÏίσεων\n" #~ " -s σταθεÏοποίηση της ταξινόμησης με απενεÏγοποίηση τη\n" #~ " σÏγκÏισης τελευταίας ελπίδας\n" #~ " -t ΔΙΑΧ χÏήση ΔΙΑΧωÏιστή αντί της μετάστασης από μη-κενό σε\n" #~ " λευκό χαÏακτήÏα\n" #~ " -T ΚΑΤΑΛΟΓΟΣ χÏήση ΚΑΤΑΛΟΓΟΣ για Ï€ÏοσωÏινά αÏχεία, όχι το $TMPDIR ή " #~ "%s\n" #~ " -u με -c, έλεγχος για αυστηÏή τοποθέτηση σε σειÏά\n" #~ " με -m, μόνο έξοδος του Ï€Ïώτου από μια ίση ακολουθία\n" #~ " -z τεÏματισμός γÏαμμών με 0 byte, όχι με νέα γÏαμμή, για\n" #~ " τη find -print0\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "" #~ "Convert spaces in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -a, --all convert all whitespace, instead of initial " #~ "whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "ΜετατÏοπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γÏάφοντας στην " #~ "κανονική έξοδο.\n" #~ "ΧωÏίς ΑΡΧΕΙΟ, ή όταν το αÏχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατÏοπή όλων των λευκών χαÏακτήÏων, αντί μόνο των " #~ "αÏχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χÏήση λίστας χωÏισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληÏοφοÏιών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μποÏοÏν να " #~ "χÏησιμοποιηθοÏν.\n" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/kk.po�����������������������������������������������������������������������������0000664�0000000�0000000�00000751463�12107204511�011742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Kazakh translation for coreutils. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2010. # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 8.7\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2010-11-18 14:19+0600\n" "Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n" "Language-Team: Kazakh <kk_KZ@googlegroups.com>\n" "Language: kk\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" "X-Poedit-Language: Kazakh\n" "X-Poedit-Country: KAZAKHSTAN\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "Файлды жабу қатеÑÑ–: %s" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "жазу қатеÑÑ–" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "" #: lib/error.c:188 msgid "Unknown system error" msgstr "БелгіÑіз жүйелік қате" #: lib/file-type.c:38 msgid "regular empty file" msgstr "қалыпты Ð±Ð¾Ñ Ñ„Ð°Ð¹Ð»" #: lib/file-type.c:38 msgid "regular file" msgstr "қалыпты файл" #: lib/file-type.c:41 #, fuzzy msgid "directory" msgstr "бума" #: lib/file-type.c:44 msgid "block special file" msgstr "" #: lib/file-type.c:47 msgid "character special file" msgstr "" #: lib/file-type.c:50 #, fuzzy msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 #, fuzzy msgid "symbolic link" msgstr "Ñимволдық Ñілтеме" #: lib/file-type.c:56 #, fuzzy msgid "socket" msgstr "Ñокет" #: lib/file-type.c:59 msgid "message queue" msgstr "" #: lib/file-type.c:62 msgid "semaphore" msgstr "" #: lib/file-type.c:65 msgid "shared memory object" msgstr "" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" #: lib/file-type.c:70 msgid "weird file" msgstr "" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "Жүйелік қате" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "БелгіÑіз қате" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, fuzzy, c-format msgid "cannot create directory %s" msgstr "%s: %s бумаÑын жаÑау мүкін емеÑ\n" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "" #: lib/quotearg.c:313 msgid "'" msgstr "" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "" #: lib/regcomp.c:131 #, fuzzy msgid "Success" msgstr "Сәтті" #: lib/regcomp.c:134 #, fuzzy msgid "No match" msgstr "СәйкеÑтік жоқ" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 #, fuzzy msgid "Interrupt" msgstr "Үзу" #: lib/siglist.h:37 #, fuzzy msgid "Quit" msgstr "Шығу" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 #, fuzzy msgid "Aborted" msgstr "Үзілді" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "D-Bus қатеÑÑ–: %s" #: lib/siglist.h:58 #, fuzzy msgid "Segmentation fault" msgstr "%s: Segmentation fault" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 #, fuzzy msgid "Stopped" msgstr "Тоқтатылған" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "%s: %s бумаÑын жаÑау мүкін емеÑ\n" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "жабу ÑәтÑіз" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" #: lib/userspec.c:106 msgid "invalid user" msgstr "" #: lib/userspec.c:107 msgid "invalid group" msgstr "" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, fuzzy, c-format msgid "Written by %s.\n" msgstr "Жазған" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "%s: '%s' күні қате\n" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "Енгізу қате" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, fuzzy, c-format msgid "error reading %s" msgstr "%s: %s: оқу қатеÑÑ–: %s\n" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, fuzzy, c-format msgid "error writing %s" msgstr "\"%s\" жазу қатеÑÑ–: %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "жабу ÑәтÑіз" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:1478 #, fuzzy, c-format msgid "%s: overwrite %s? " msgstr "Ò®Ñтінен жазу ма?" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "%s мақÑаты бума емеÑ\n" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:870 msgid "missing list of fields" msgstr "" #: src/cut.c:872 msgid "missing list of positions" msgstr "" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "%s: '%s' күні қате\n" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:1218 msgid "invalid conversion" msgstr "" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "" #: src/dd.c:1227 msgid "invalid status flag" msgstr "" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, fuzzy, c-format msgid "failed to open %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Файлдық жүйе" #: src/df.c:175 msgid "Type" msgstr "Түрі" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "блок" #: src/df.c:181 msgid "Used" msgstr "Қолд" #: src/df.c:184 msgid "Available" msgstr "Қолжетерлік" #: src/df.c:187 msgid "Use%" msgstr "Пайд%" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "Тіркелген жері" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Өлшемі" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Қолж" #: src/df.c:474 msgid "Capacity" msgstr "Сыйымдылығы" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "ЕÑкерту:" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "ЕÑкерту:" #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 #, fuzzy msgid "total" msgstr "Жалпы" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Қолданылуы:" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "Ондай пайдаланушы жоқ." #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "" #: src/head.c:886 msgid "number of bytes" msgstr "" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 #, fuzzy msgid " groups=" msgstr " топтар=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:414 #, fuzzy, c-format msgid "creating directory %s" msgstr "'%s' бумаÑын жаÑау" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:260 #, fuzzy, c-format msgid "%s: replace %s? " msgstr "Ð_лмаÑтыру" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "\"%s\" Ñимволдық ÑілтемеÑін жаÑау ÑәтÑіз аÑқталды" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "\"%s\" Ñимволдық ÑілтемеÑін жаÑау ÑәтÑіз аÑқталды" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:595 #, fuzzy msgid "FAILED" msgstr "СәтÑіз аÑқталды!" #: src/md5sum.c:597 #, fuzzy msgid "OK" msgstr "ОК" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:211 #, fuzzy, c-format msgid "invalid device %s %s" msgstr "Қате құрылғы" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "%s: '%s' күні қате\n" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "Енгізу қате" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "Жазу үшін '%s' ашу ÑәтÑіз: %s" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "%s: '%s' күні қате\n" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "БаÑқа опциÑлар:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "%s: '%s' күні қате\n" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "%s: '%s' күні қате\n" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "%s: '%s' күні қате\n" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "Команда көрÑетілмеген" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "%s: %s: оқу қатеÑÑ–: %s\n" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:317 #, fuzzy, c-format msgid "In real life: " msgstr "Шын өмірде" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "" #: src/pinky.c:341 #, fuzzy, c-format msgid "Directory: " msgstr "_Бума:" #: src/pinky.c:343 #, fuzzy, c-format msgid "Shell: " msgstr "Қоршам:" #: src/pinky.c:362 #, fuzzy, c-format msgid "Project: " msgstr "Жо_ба" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:405 #, fuzzy msgid "Login" msgstr "Тіркелгі" #: src/pinky.c:407 #, fuzzy msgid "Name" msgstr "Ðты" #: src/pinky.c:408 msgid " TTY" msgstr "" #: src/pinky.c:410 #, fuzzy msgid "Idle" msgstr "ІÑÑіз" #: src/pinky.c:411 #, fuzzy msgid "When" msgstr "Қашан" #: src/pinky.c:414 msgid "Where" msgstr "" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, fuzzy, c-format msgid "%s: remove %s %s? " msgstr "Өшіру" #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "Команда көрÑетілмеген" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, fuzzy, c-format msgid "%s: removing" msgstr "Өшірілуде %1..." #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "Жазу үшін '%s' ашу ÑәтÑіз: %s" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "БаÑқа опциÑлар:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "" #: src/sort.c:970 msgid "fflush failed" msgstr "" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "жабу ÑәтÑіз" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "" #: src/sort.c:1755 msgid "read failed" msgstr "" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "" #: src/sort.c:3698 msgid "cannot read" msgstr "" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "%s: '%s' күні қате\n" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "%s: '%s' күні қате\n" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "%s: '%s' күні қате\n" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "\"%s\" Ñимволдық ÑілтемеÑін жаÑау ÑәтÑіз аÑқталды" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "\"%s\" ашу ÑәтÑіз аÑқталды " #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Көбірек білу үшін \"%s --help\" көріңіз." #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "\"%s\" Ñимволдық ÑілтемеÑін жаÑау ÑәтÑіз аÑқталды" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "Жазу үшін '%s' ашу ÑәтÑіз: %s" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "%s: %s өшіру ÑәтÑіз аÑқталды\n" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "Жазу үшін '%s' ашу ÑәтÑіз: %s" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:241 msgid "')' expected" msgstr "" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "" #: src/test.c:367 msgid "unknown binary operator" msgstr "" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "`]' жетіÑпейді" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 #, fuzzy msgid "not a tty" msgstr "%s: Терминал емеÑ\n" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "" #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu пайдаланушы" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 #, fuzzy msgid " old " msgstr "ЕÑкі" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 #, fuzzy msgid "id=" msgstr "Id" #: src/who.c:462 src/who.c:467 #, fuzzy msgid "term=" msgstr "ÐÑқтау" #: src/who.c:464 src/who.c:468 #, fuzzy msgid "exit=" msgstr "шығу" #: src/who.c:485 #, fuzzy msgid "LOGIN" msgstr "Тіркелгі" #: src/who.c:505 msgid "clock change" msgstr "" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "" #: src/who.c:521 src/who.c:522 #, fuzzy msgid "last=" msgstr "_Соңғы" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:559 #, fuzzy msgid "NAME" msgstr "ÐТЫ" #: src/who.c:559 #, fuzzy msgid "LINE" msgstr "Жол" #: src/who.c:559 #, fuzzy msgid "TIME" msgstr "Уақыт" #: src/who.c:559 #, fuzzy msgid "IDLE" msgstr "ІÑÑіз" #: src/who.c:560 #, fuzzy msgid "PID" msgstr "PID" #: src/who.c:560 #, fuzzy msgid "COMMENT" msgstr "ТүÑіндірме: %s" #: src/who.c:560 #, fuzzy msgid "EXIT" msgstr "шығу" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" #, fuzzy #~ msgid "reading %s" #~ msgstr "Оқуда" #, fuzzy #~ msgid "writing %s" #~ msgstr "Жазуда" #, fuzzy #~ msgid "closing %s" #~ msgstr "Жабылуда %s" #, fuzzy #~ msgid "opening %s" #~ msgstr "%s ашу" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "user %s does not exist" #~ msgstr "%s пайдаланушыÑÑ‹ жоқ" #~ msgid "incorrect password" #~ msgstr "пароль қате" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/bg.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002003636�12107204505�011722� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils.bg.po to Bulgarian # Message catalog for coreutils # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Anton Zinoviev <zinoviev@debian.org>, 2003,2004,2005,2006. # # Thanks to Alexander Shopov for some bug reports. # # Look at the CHECK string. # # This file should be sent to translation@iro.umontreal.ca with the # following subject line: TP-Robot coreutils-6.5.bg.po msgid "" msgstr "" "Project-Id-Version: coreutils 6.5\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2006-11-23 22:41+0200\n" "Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "недопуÑтим аргумент %s за %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "двуÑмиÑлен аргумент %s за %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "ДопуÑтими аргументи Ñа:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "грешка при запиÑ" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "режимът за доÑтъп до %s е запазен" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ðепозната ÑиÑтемна грешка" #: lib/file-type.c:38 msgid "regular empty file" msgstr "обикновен празен файл" #: lib/file-type.c:38 msgid "regular file" msgstr "обикновен файл" #: lib/file-type.c:41 msgid "directory" msgstr "каталог" #: lib/file-type.c:44 msgid "block special file" msgstr "Ñпециален блоков файл" #: lib/file-type.c:47 msgid "character special file" msgstr "Ñпециален Ñимволен файл" #: lib/file-type.c:50 msgid "fifo" msgstr "именуван канал" #: lib/file-type.c:53 msgid "symbolic link" msgstr "Ñимволна връзка" #: lib/file-type.c:56 msgid "socket" msgstr "гнездо" #: lib/file-type.c:59 msgid "message queue" msgstr "опашка ÑÑŠÑ ÑъобщениÑ" #: lib/file-type.c:62 msgid "semaphore" msgstr "Ñемафор" #: lib/file-type.c:65 msgid "shared memory object" msgstr "Ñподелен обект в паметта" #: lib/file-type.c:68 msgid "typed memory object" msgstr "типизиран обект в паметта" #: lib/file-type.c:70 msgid "weird file" msgstr "непознат тип файл" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Този тип адреÑи не Ñе поддържа за името на хоÑта" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Временен проблем при намиране IP-адреÑа на хоÑÑ‚" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ðеправилна ÑтойноÑÑ‚ за ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Окончателен неуÑпех при намиране IP-адреÑа на хоÑÑ‚" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "не Ñе поддържа поÑочването на тип адреÑи (ai_family)" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "ÐеуÑпешно заделÑне на памет" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "ÐÑма IP-Ð°Ð´Ñ€ÐµÑ Ñ Ð¿Ð¾Ñоченото име на хоÑÑ‚" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Името или уÑлугата Ñа непознати" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" "Името на уÑлугата не Ñе поддържа за използваното тип гнездо (ai_socktype)" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "не Ñе поддържа поÑочването на тип гнездо (ai_socktype)" #: lib/gai_strerror.c:67 msgid "System error" msgstr "грешка в ÑиÑтемата" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "ЗаÑвката е в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° изпълнение" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "ЗаÑвката е отменена" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "ЗаÑвката не е отменена" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Изпълнени Ñа вÑички заÑвки" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "ПрекъÑнат ÑÑŠÑ Ñигнал" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Ðеправилно кодиран низ на аргумент" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Ðепозната грешка" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: опциÑта „%s“ е двуÑмиÑлена\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: опциÑта „--%s“ не допуÑка аргумент\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: опциÑта „%c%s“ не допуÑка аргумент\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: опциÑта „%s“ изиÑква аргумент\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: непозната Ð¾Ð¿Ñ†Ð¸Ñ â€ž--%s“\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: непозната Ð¾Ð¿Ñ†Ð¸Ñ â€ž%c%s“\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опциÑта изиÑква аргумент -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: опциÑта „-W %s“ е двуÑмиÑлена\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: опциÑта „-W %s“ не допуÑка аргумент\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: опциÑта „%s“ изиÑква аргумент\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "не може да Ñе ÑменÑÑ‚ правата за доÑтъп до %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "не може да Ñе Ñъздаде каталог %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "паметта е изчерпана" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "не може да Ñе запомни текущиÑÑ‚ работен каталог" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "невъзможно връщане в Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½ каталог" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "“" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: край на файла" #: lib/regcomp.c:131 msgid "Success" msgstr "УÑпех" #: lib/regcomp.c:134 msgid "No match" msgstr "ÐÑма ÑъответÑтвие" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ðеправилен регулÑрен израз" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ðеправилен знак за ÑъпоÑтавÑне" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ðеправилно име на ÐºÐ»Ð°Ñ Ñимволи" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Завършваща обратно наклонена черта" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ðеправилно обратно позоваване" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Ðезатворена [ или [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Ðезатворена ( или \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Ðезатворена \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ðеправилно Ñъдържание на \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ðеправилен край на диапазон" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Паметта е изчерпана" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ðеправилен предхождащ регулÑрен израз" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Ðеочакван край на регулÑрен израз" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "РегулÑрниÑÑ‚ израз е твърде голÑм" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Ðеотворена ) или \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "ÐÑма предходен регулÑрен израз" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "опаÑно е да Ñе работи рекурÑивно върху %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "опаÑно е да Ñе работи рекурÑивно върху %s, Ñ‚.е. върху %s" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "ползвайте --no-preserve-root, за да отмените тази предпазна мÑрка" # Клавишът О (латинÑко) генерира "Д" Ñпоред подредбата по БДС #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[дДoOyY]" # Клавишът K (латинÑко) генерира "Ð" Ñпоред подредбата по БДС #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[нÐkKnN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "уÑтановÑва Ñе режимът за доÑтъп до %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "грешка в ÑиÑтемата" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "ÑмÑна на чаÑа" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: неправилен Ñигнал" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: неправилен Ñигнал" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "ÑиÑтемната Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð·Ð° нов Ð¿Ñ€Ð¾Ñ†ÐµÑ (fork) не уÑпÑ" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "неуÑпешно отварÑне на файл" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "не може да Ñе Ñъздаде именуван канал %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: неуÑпешно позициониране (seek) във файл" #: lib/strsignal.c:114 #, fuzzy, c-format msgid "Real-time signal %d" msgstr "неправилен интервал за време %s" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "функциÑта iconv не е използваема" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "функциÑта iconv е недоÑтъпна" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "знак извън диапазона" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "не може да Ñе конвертира U+%04X в локалното кодиране" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "не може да Ñе конвертира U+%04X в локалното кодиране: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "неÑъщеÑтвуващ потребител" #: lib/userspec.c:107 msgid "invalid group" msgstr "неÑъщеÑтвуваща група" #: lib/userspec.c:108 msgid "invalid spec" msgstr "неправилна ÑпецификациÑ" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "ÐапиÑан от %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "ÐапиÑан от %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "ÐапиÑан от %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s, %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s, %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "ÐапиÑан от %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s и други.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Съобщавайте за програмни грешки на <%s>.\n" "За грешки в българÑÐºÐ¸Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´ на <dict@fsa-bg.org>\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Съобщавайте за програмни грешки на <%s>.\n" "За грешки в българÑÐºÐ¸Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´ на <dict@fsa-bg.org>\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "неуÑпешно отварÑне на файл" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Ðепозната ÑиÑтемна грешка" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "не може да Ñе отвори %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "Ñравнението на низове не уÑпÑ" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Използвайте LC_ALL='C', за да заобиколите този проблем." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "СравнÑваните низове бÑха %s и %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "неправилен аргумент „%s“" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "неправилен аргумент „%s“" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: броÑÑ‚ „%.*s“ е твърде голÑм" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Използване: %s [ОПЦИЯ] [ФÐЙЛ]\n" "Кодира/декодира Ñ Ð¾Ñнова 64 от ФÐЙЛ или ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ðко нÑма ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #: src/base64.c:79 #, fuzzy msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Данните Ñе кодират по оÑнова 64, както това е опиÑано в RFC 3548.\n" "Декодирането изиÑква правилни входни данни, ползвайте --ignore-garbage,\n" "за да Ñе опита да Ñе преодолеÑÑ‚ небуквените знаци (например знаци за нов " "ред)\n" "във Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "грешка при четене" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "недопуÑтим вход" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "неправилен размер за пренаÑÑне: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "излишен операнд „%s“" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "затварÑне на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin и David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Използване: %s ИМЕ [РÐЗШИРЕÐИЕ]\n" " или: %s ОПЦИЯ\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "ОтÑтранÑва от ИМЕ каталозите в началото и го отпечатва.\n" "Ðко е поÑочено, изтрива Ñъщо и РÐЗШИРЕÐИЕ-то в краÑ.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "липÑващ операнд" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 #, fuzzy msgid "Richard M. Stallman" msgstr "Torbjorn Granlund и Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "СъединÑва ФÐЙЛ(овете) или ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ и ги изпраща на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход.\n" "\n" " -A, --show-all еквивалентно на -vET\n" " -b, --number-nonblank брой непразни редове на изхода\n" " -e еквивалентно на -vE\n" " -E, --show-ends поÑÑ‚Ð°Ð²Ñ $ в ÐºÑ€Ð°Ñ Ð½Ð° вÑеки ред\n" " -n, --number номерира изведените редове\n" " -s, --squeeze-blank никога поÑледователноÑÑ‚ от повече от един празен " "ред\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t еквивалентно на -vT\n" " -T, --show-tabs изобразÑва табулациите като ^I\n" " -u (пренебрегва Ñе)\n" " -v, --show-nonprinting ползва Ð·Ð°Ð¿Ð¸Ñ Ñ ^ и M-, оÑвен за нов ред и " "табулациÑ\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Примери:\n" " %s f - g Извежда Ñъдържанието на f, поÑле ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ и g\n" " %s Копира ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "не може да Ñе изпълни ioctl за „%s“" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "ÑтандартниÑÑ‚ изход" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: входниÑÑ‚ файл е изходен файл" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 #, fuzzy msgid "Jim Meyering" msgstr "Jim Meyering и Paul Eggert" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "промÑната на ÑобÑтвеника на %s не уÑпÑ\n" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "ÑобÑтвеник на %s не можа да Ñе промени на %s\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "нÑма доÑтъп до %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "каталогът %s не може да Ñе чете" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "променÑÑ‚ Ñе правата за доÑтъп до %s" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "неуÑпешен fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "неуÑпешно затварÑне на файл" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Използване: %s [ОПЦИЯ]... СОБСТВЕÐИК[:[ГРУПÐ]] ФÐЙЛ...\n" " или: %s [ОПЦИЯ]... :ГРУПРФÐЙЛ...\n" " или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root да не Ñе обработва „/“ по-оÑобено (по " "подразбиране)\n" " --preserve-root да не Ñе дейÑтва рекурÑивно от „/“\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " -f, --silent, --quiet потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешки\n" " --reference=ЕТФÐЙЛ ползва групата на ЕТФÐЙЛ вмеÑто поÑочена ГРУПÐ\n" " -R, --recursive дейÑтва рекурÑивно върху файловете и каталозите\n" " -v, --verbose извежда диагноÑтично Ñъобщение за вÑеки обработен " "файл\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Следните опции влиÑÑÑ‚ на обхождането на йерархиÑта, когато е поÑочена\n" "Ñъщо и Ð¾Ð¿Ñ†Ð¸Ñ -R. Ðко е зададена повече от една Ñ‚ÑÑ…, взема Ñе пред вид\n" "Ñамо поÑледната зададена.\n" "\n" "\n" " -H ако аргумент от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ е Ñимволна връзка\n" " към каталог, да Ñе обходи и той\n" " -L да Ñе обхожда вÑеки каталог, Ñочен от Ñрещната\n" " Ñимволна връзка\n" " -P да не Ñе обхождат Ñимволните връзки (по " "подразбиране)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference изиÑква -H или -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h изиÑква -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "липÑващ операнд Ñлед %s" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "неправилен режим за доÑтъп %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "неправилна група %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Използване: %s [ОПЦИЯ]... ГРУПРФÐЙЛ...\n" " или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference дейÑтва върху Ñимволните връзки, вмеÑто върху " "Ñочените\n" " файлове (Ñамо при ÑиÑтеми, позволÑващи промÑна на\n" " ÑобÑтвеноÑтта на Ñимволна връзка)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Примери:\n" " %s staff /u прави групата на /u да бъде „staff“.\n" " %s -hR staff /u прави групата на /u и файловете в /u да бъде „staff“.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "получават Ñе новите атрибути на %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "нито Ñимволната връзка %s, нито ÑочениÑÑ‚ файл бÑха променени\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "режимът за доÑтъп до %s е променен на %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "режимът за доÑтъп до %s не може да Ñе Ñмени на %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "режимът за доÑтъп до %s е запазен на %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "променÑÑ‚ Ñе правата за доÑтъп до %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: новиÑÑ‚ режим за доÑтъп е %s, а не %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Използване: %s [ОПЦИЯ]... РЕЖИМ[,РЕЖИМ]... ФÐЙЛ...\n" " или: %s [ОПЦИЯ]... ОСМИЧЕÐ-РЕЖИМ ФÐЙЛ...\n" " или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " -f, --silent, --quiet потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешки\n" " --reference=ЕТФÐЙЛ ползва групата на ЕТФÐЙЛ вмеÑто поÑочена ГРУПÐ\n" " -R, --recursive дейÑтва рекурÑивно върху файловете и каталозите\n" " -v, --verbose извежда диагноÑтично Ñъобщение за вÑеки обработен " "файл\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Ð’Ñеки РЕЖИМ е от вида „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "не може да Ñе комбинират опциите за режим и --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "неправилен режим за доÑтъп %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "ÑобÑтвеник на %s Ñтава %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "група на %s Ñтава %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "без промÑна на ÑобÑтвеника на %s\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "ÑобÑтвеник на %s не можа да Ñе промени на %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "групата на %s не можа да Ñе промени на %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "промÑната на ÑобÑтвеника на %s не уÑпÑ\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "ÑобÑтвеник на %s не можа да Ñе промени на %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "групата на %s не можа да Ñе промени на %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "ÑобÑтвеник на %s оÑтана %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "групата на %s оÑтана %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "ÑобÑтвеник на %s оÑтана непроменен\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "Ñимволната връзка %s не може да бъде поÑледвана" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñе ÑобÑтвеноÑтта на %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñе групата на %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Използване: %s [ОПЦИЯ]... [СОБСТВЕÐИК][:[ГРУПÐ]] ФÐЙЛ...\n" " или: %s [ОПЦИЯ]... --reference=ЕТФÐЙЛ ФÐЙЛ...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ТЕКУЩ_СОБСТВЕÐИК:ТЕКУЩÐ_ГРУПÐ\n" " ÑобÑтвеникът и/или групата на вÑеки файл Ñе " "променÑ\n" " Ñамо ако текущиÑÑ‚ му ÑобÑтвеник и/или група " "отговарÑÑ‚\n" " на поÑочените. Ð’ÑÑко от двете може да Ñе изпуÑне, " "при\n" " което ÑъответÑтвие Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑÐ½Ð°Ñ‚Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ не е " "нужно.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Ðко ÑобÑтвеник не е поÑочен, той оÑтава непроменен. Ðко група не е\n" "поÑочена, Ñ‚Ñ Ð¾Ñтава непроменена, оÑвен ако има „:“, в който Ñлучай Ñе " "използва\n" "входÑщата група на Ð½Ð¾Ð²Ð¸Ñ ÑобÑтвеник. СОБСТВЕÐИК и ГРУПРмогат да бъдат\n" "както номера, така и имена.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Примери:\n" " %s root /u прави ÑобÑтвеника на /u да бъде „root“.\n" " %s root:staff /u подобно, но Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¸ групата на „staff“.\n" " %s -hR root /u прави ÑобÑтвеника на /u и файловете в /u да е „root“.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "неправилна група %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "неправилна група %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "не може да Ñе изпълни stat за %s" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Използване: %s ÐОВКОРЕÐОВ [КОМÐÐДÐ...]\n" " или: %s ОПЦИЯ\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "ИзпълнÑва КОМÐÐÐ”Ð Ñ ÐºÐ¾Ñ€ÐµÐ½Ð¾Ð² каталог ÐОВКОРЕÐОВ.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Ðко не е поÑочена команда, изпълнÑва „${SHELL} -i“ (по подразбиране: /bin/" "sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "кореновиÑÑ‚ каталог не може да Ñе Ñмени на %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "Ñ chdir не може да Ñе влиза в Ð³Ð»Ð°Ð²Ð½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "не може да Ñе изпълни stat за %s" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "не може да Ñе изпълни stat за %s" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "неуÑпешно изпълнение на командата %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: файлът е твърде дълъг" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Използване: %s [ФÐЙЛ]...\n" " или: %s [ОПЦИЯ]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Отпечатва контролна Ñума CRC и Ð±Ñ€Ð¾Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ на вÑеки ФÐЙЛ.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Използване: %s [ОПЦИЯ]... ФÐЙЛ1 ФÐЙЛ2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "СравнÑва Ñортираните файлове ФÐЙЛ1 и ФÐЙЛ2 ред по ред.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Без опции извежда информациÑта в триколонен формат. ПървиÑÑ‚ Ñтълб Ñъдържа\n" "редовете, които Ñа Ñамо във ФÐЙЛ1. ВториÑÑ‚ Ñтълб Ñъдържа редовете, които\n" "Ñа Ñамо във ФÐЙЛ2. ТретиÑÑ‚ Ñтълб Ñъдържа редовете, общи и за двата файла.\n" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 не извежда редовете, които Ñа Ñамо във ФÐЙЛ1\n" " -2 не извежда редовете, които Ñа Ñамо във ФÐЙЛ2\n" " -3 не извежда редовете, които Ñе поÑвÑват и в двата файла\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "поÑочени Ñа много опции -i" #: src/comm.c:411 #, fuzzy, c-format msgid "empty %s not allowed" msgstr "допълнителниÑÑ‚ операнд %s не е позволен Ñ -c" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "грешка при четене на %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "не може да Ñе обработи непоÑледователно %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð² %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "%s: не може да Ñе отÑтрани" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "неуÑпешен запиÑ" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "не може да Ñе отвори %s" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "уÑтановÑва Ñе режимът за доÑтъп до %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "ÑобÑтвеноÑтта на %s не можа да Ñе запази" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "не може да Ñе търÑи файла %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "не можа да Ñе запази авторÑтвото на %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "не може да Ñе отвори %s за четене" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "не може да Ñе получи режимът за доÑтъп до %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "файлът %s Ñе пропуÑка, тъй като бе замеÑтен по време на копирането" #: src/copy.c:850 #, fuzzy, c-format msgid "failed to get file system create context" msgstr "не уÑпешно затварÑне на Ñтандартната грешка" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "групата на %s не можа да Ñе промени на %s\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "не може да Ñе изтрие %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s е изтрит\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "не може да Ñе Ñъздаде обикновен файл %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "каталогът %s не може да Ñе затвори" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "времената за %s Ñе запазват" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "не може да Ñе отвори %s" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: да Ñе замеÑти ли %s (режимът за доÑтъп е %04lo)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: да Ñе замеÑти ли %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (резервно копие: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "не може да Ñе направи твърда връзка %s към %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "каталогът %s Ñе пропуÑка" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "внимание: Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s е поÑочен повече от веднъж" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s и %s Ñа един и Ñъщ файл" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "%s не е каталог и не може да Ñе замеÑти Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "току що ÑъздадениÑÑ‚ %s нÑма да бъде замеÑтен Ñ %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "каталогът %s не може да Ñе замеÑти Ñ Ñ„Ð°Ð¹Ð», който не е каталог" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" "каталог не може да Ñе премеÑти върху файл, който не е каталог: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "резервното копиране на %s би разрушило източника; %s не бе премеÑтен" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "резервното копиране на %s би разрушило източника; %s не бе копиран" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "не може да Ñе направи резервно копие на %s" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "току що ÑъздадениÑÑ‚ %s нÑма да бъде замеÑтен Ñ %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "не може да Ñе копира каталог (%s) в ÑÐ°Ð¼Ð¸Ñ Ñебе Ñи (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "нÑма да Ñе направи твърда връзка %s към каталога %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "не може да Ñе премеÑти %s в ÑÐ²Ð¾Ñ Ð¿Ð¾Ð´ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "не може да Ñе премеÑти %s в %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "премеÑтването между уÑтройÑтва не уÑÐ¿Ñ (от %s в %s); целевиÑÑ‚ файл не можа " "да Ñе изтрие" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "не може да Ñе копира цикличната Ñимволна връзка %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: отноÑителни Ñимволни връзки може да Ñе правÑÑ‚ Ñамо в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s към %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "не може да Ñе Ñъздаде именуван канал %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "не може да Ñе Ñъздаде Ñпециален файл %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "не може да Ñе чете Ñимволната връзка %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s има непознат файлов тип" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "не може да Ñе възÑтанови от резервно копие %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (от резервно копие)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ЦЕЛ\n" " или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ\n" " или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ИЗТОЧÐИК...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Копира ИЗТОЧÐИК в ЦЕЛ или много ИЗТОЧÐИЦ(и) в КÐТÐЛОГ.\n" "\n" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive Ñъщо като -dpPR\n" " --backup[=МЕТОД] резервно копира ÑъщеÑтвуващите целеви " "файлове\n" " -b като --backup, но не може да получава " "аргумент\n" " --copy-contents копира Ñъдържанието на Ñпец. файлове при " "рекурÑ.\n" " -d като --no-dereference --preserve=link\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force ако ÑъщеÑтвуващ целеви файл не може да бъде\n" " отворен, да Ñе изтрие и да Ñе опита отново\n" " -i, --interactive да Ñе пита преди замеÑтване\n" " -H копира файла от Ñимволна връзка на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ " "ред\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link не копира, а прави връзки (твърди)\n" " -L, --dereference винаги проÑледÑва Ñимволните връзки\n" #: src/cp.c:190 #, fuzzy msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -f, --force ако ÑъщеÑтвуващ целеви файл не може да бъде\n" " отворен, да Ñе изтрие и да Ñе опита отново\n" " -i, --interactive да Ñе пита преди замеÑтване\n" " -H копира файла от Ñимволна връзка на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ " "ред\n" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p Ñъщо като --preserve=mode,ownership," "timestamps\n" " --preserve[=СПИС_ÐТРИБ] да Ñе запазват поÑочените атрибути " "(подразбиране:\n" " mode,ownership,timestamps), а при " "възможноÑÑ‚ и\n" " Ñледните допълнителни атрибути: links, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=СПИС_ÐТРИБ да не Ñе запазват поÑочените атрибути\n" " --parents допълва КÐТÐЛОГ Ñ Ð¿ÑŠÑ‚ÐµÐºÐ°Ñ‚Ð° в ИЗТОЧÐИК\n" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive копира каталозите рекурÑивно\n" " --remove-destination премахва вÑеки ÑъщеÑтвуващ целеви файл преди\n" " да Ñе опитва отварÑне (Ñравнете Ñ --force)\n" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=КОГРрегулира Ñъздаването на разредени файлове\n" " --strip-trailing-slashes премахва крайните „/“ от вÑеки аргумент " "ИЗТОЧÐИК\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link правене на Ñимволни връзки, а не копиране\n" " -S, --suffix=СУФИКС вмеÑто Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° резервни копиÑ\n" " --target-directory=КÐТÐЛОГ копира вÑички аргументи ИЗТОЧÐИК в " "КÐТÐЛОГ\n" " -T, --no-target-directory работи Ñ Ð¦Ð•Ð› като Ñ Ð½Ð¾Ñ€Ð¼Ð°Ð»ÐµÐ½ файл\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update копира Ñамо, ако ИЗТОЧÐИК е по-нов от " "целевиÑ\n" " файл или ако целевиÑÑ‚ файл липÑва\n" " -v, --verbose Ñъобщава какво Ñе прави\n" " -x, --one-file-system оÑтава в текущата файлова ÑиÑтема\n" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "По подразбиране Ñе приема --sparse=auto, при което чрез груба евриÑтика Ñе\n" "разпознава кои файлове ИЗТОЧÐИК Ñа разредени и целевите файлове Ñъщо Ñе " "правÑÑ‚\n" "такива. При --sparse=always целевите файлове Ñе правÑÑ‚ разредени, винаги " "когато\n" "файловете ИЗТОЧÐИК Ñъдържат доÑтатъчно дълга поÑледователноÑÑ‚ от нули.\n" "Ползвайте --sparse=never, за да забраните Ñъздаването на разредени файлове.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "СуфикÑÑŠÑ‚ за резервни ÐºÐ¾Ð¿Ð¸Ñ Ðµ „~“, оÑвен при промÑна Ñ --suffix или Ñ " "променлива\n" "от обкръжението SIMPLE_BACKUP_SUFFIX. Методът за управление на верÑиите може " "да\n" "Ñе поÑочва Ñ --backup или Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚Ð° VERSION_CONTROL. Ето ÑтойноÑтите:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off никога да не Ñе правÑÑ‚ резервни ÐºÐ¾Ð¿Ð¸Ñ (оÑвен при --" "backup)\n" " numbered, t да Ñе правÑÑ‚ номерирани резервни копиÑ\n" " existing, nil номерирани, ако вече Ñа правени номерирани, а проÑти " "иначе\n" " simple, never винаги да Ñе правÑÑ‚ проÑти резервни копиÑ\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "По изключение ако Ñа зададени опции --force и --backup, а ИЗТОЧÐИК и ЦЕЛ Ñа " "едно\n" "и Ñъщо име на ÑъщеÑтвуващ обикновен файл, cp прави резервно копие на " "ИЗТОЧÐИК.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "времената на %s не можаха да Ñе запазÑÑ‚" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "правата за доÑтъп до %s не можаха да Ñе запазÑÑ‚" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "не може да Ñе направи каталог %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s ÑъщеÑтвува, но не е каталог" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "не може да Ñе отвори %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "липÑващ файлов операнд" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "липÑващ операнд за целеви файл Ñлед %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "Ðе може да Ñе комбинират --target-directory (-t) и --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "целта %s не е каталог" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "Ñ --parents целта трÑбва да бъде каталог" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "поÑочени Ñа много целеви каталози" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "не може едновременно да Ñе правÑÑ‚ твърди и Ñимволни връзки" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "опциите --string и --check не може да Ñе използват едновременно" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "тип резервни копиÑ" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "входът изчезна" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: номерът на ред е извън диапазона" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: номерът на ред е извън диапазона" # Ðе е ÑÑно за какво Ñлужи това. #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " при повтарÑне %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: не е открито ÑъответÑтвие" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "грешка при търÑене на регулÑрен израз" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: Ñлед разделител Ñе очаква цÑло чиÑло" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: при означаване брой Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ðµ необходим „}“" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: между „{“ и „}“ е необходимо цÑло чиÑло" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: липÑва затварÑщ ограничител „%c“" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: неправилен регулÑрен израз: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: неправилен образец" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: номерът на ред трÑбва да бъде положителен" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "номерът на ред %s е по-малък от Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ - %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "внимание: номерът на ред %s Ñъвпада Ñ Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ на ред" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "в ÑуфикÑа липÑва означител за преобразуване" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "неправилен означител за преобразуване в ÑуфикÑа: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "неправилен означител за преобразуване в ÑуфикÑа: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "%.*s: неправилна ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° преобразувание" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "твърде много означители за преобразуване %% в ÑуфикÑа" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "липÑва означител %% за преобразуване в ÑуфикÑа" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: недопуÑтимо чиÑло" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Използване: %s [ОПЦИЯ]... ФÐЙЛ ОБРÐЗЕЦ...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "ÐžÑ‚Ð´ÐµÐ»Ñ Ñ‡Ð°Ñтите на ФÐЙЛ, разделени от ОБРÐЗЕЦ(и) и ги запиÑва във файлове\n" "“xx01“, „xx02“,... Дължината им в байтове Ñе извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ФОРМÐТ да Ñе ползва sprintf-ФОРМÐТ вмеÑто %02d\n" " -f, --prefix=ПРЕФИКС да Ñе ползва ПРЕФИКС вмеÑто „xx“\n" " -k, --keep-files да не Ñе изтриват Ñъздадените файлове при " "грешка\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=ЦИФРИ да Ñе използва поÑочениÑÑ‚ брой цифри вмеÑто 2\n" " -s, --quiet, --silent да не Ñе извеждат размерите на генерираните " "файлове\n" " -z, --elide-empty-files да Ñе изтриват генерираните празни файлове\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Ðко ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. Ð’Ñеки ОБРÐЗЕЦ може да бъде:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ЦЯЛО_ЧИСЛО копира до поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ на ред, без да го включва\n" " /РЕГИЗРÐЗ/[ОТМЕСТ] копира до отговарÑщ ред, но без да го включва\n" " %РЕГИЗРÐЗ%[ОТМЕСТ] пропуÑка до отговарÑщ ред, но без да го включва\n" " {ЦЯЛО_ЧИСЛО} Ð¿Ð¾Ð²Ñ‚Ð°Ñ€Ñ Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð·ÐµÑ† поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ пъти\n" " {*} Ð¿Ð¾Ð²Ñ‚Ð°Ñ€Ñ Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð·ÐµÑ† колкото пъти е възможно\n" "\n" "ОТМЕСТ мери брой редове и е положително чиÑло, предхождано от „+“ или „-“.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Отпечатва избраните чаÑти от редовете на вÑеки ФÐЙЛ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=СПИСЪК извежда Ñамо тези байтове\n" " -c, --characters=СПИСЪК извежда Ñамо тези знаци\n" " -d, --delimiter=РÐЗДЕЛ РÐЗДЕЛ вмеÑто Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ‚Ð¾ разделител между " "полетата\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=СПИС извежда Ñамо тези полета; отпечатва и вÑеки ред,\n" " който не Ñъдържа разделители между полетата, " "оÑвен\n" " ако е поÑочена и опциÑта -s.\n" " -n (пренебрегва Ñе)\n" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement извежда допълнението на ÑъвкупноÑтта от избрани\n" " байтове, знаци или полета.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited да не Ñе отпечатват редове, неÑъдържащи " "разделители\n" " --output-delimiter=ÐИЗ да Ñе ползва ÐИЗ като разделител на изхода\n" " по подразбиране Ñе използва входниÑÑ‚ разделител\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Използвайте точно една от опциите -b, -c и -f. Ð’Ñеки СПИС Ñе ÑÑŠÑтои\n" "от един или повече диапазона, разделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ð¸. Редовете Ñе\n" "извеждат в ÑÑŠÑ‰Ð¸Ñ Ñ€ÐµÐ´, в който Ñа били прочетени, и при това точно\n" "по веднъж. Ð’Ñеки диапазон е едно от Ñледните:\n" "\n" " n n-тиÑÑ‚ байт, знак или поле, броейки от 1\n" " n- от n-Ñ‚Ð¸Ñ Ð±Ð°Ð¹Ñ‚, знак или поле до ÐºÑ€Ð°Ñ Ð½Ð° реда\n" " n-m от n-Ñ‚Ð¸Ñ Ð´Ð¾ m-Ñ‚Ð¸Ñ (включително) байт, знак или поле\n" " -n от Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð´Ð¾ m-Ñ‚Ð¸Ñ (включително) байт, знак или поле\n" "\n" "Без ФÐЙЛ или ако ФÐЙЛ е - Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "неправилен ÑпиÑък байтове или полета" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "неправилна Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° ширина: %s" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "неправилен входен диапазон: %s" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "байтовото отмеÑтване %s е твърде дълго" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "номерът на поле %s е твърде голÑм" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "трÑбва да Ñе поÑочи Ñамо един вид ÑпиÑък" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "разделителÑÑ‚ трÑбва да Ñе ÑÑŠÑтои от един знак" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "трÑбва да поÑочите ÑпиÑък байтове, знаци или полета" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "входен разделител може да Ñе поÑочва Ñамо ако Ñе работи Ñ Ð¿Ð¾Ð»ÐµÑ‚Ð°" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "потиÑкането на редове, неÑъдържащи разделител, има ÑмиÑъл\n" "\tÑамо ако Ñе работи Ñ Ð¿Ð¾Ð»ÐµÑ‚Ð°" #: src/cut.c:870 msgid "missing list of fields" msgstr "липÑва ÑпиÑък полета" #: src/cut.c:872 msgid "missing list of positions" msgstr "липÑва ÑпиÑък позиции" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Използване: %s [ОПЦИЯ]... [+ФОРМÐТ]\n" " или: %s [-u|--utc|--universal] [ММДДччмм[[ГГ]ГГ][.ÑÑ]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Извежда текущото време Ñпоред поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¤ÐžÐ ÐœÐТ или наÑтройва ÑиÑтемната " "дата.\n" "\n" " -d, --date=ÐИЗ извежда времето, поÑочено Ñ ÐИЗ; не може да е " "„now“\n" " -f, --file=ФÐЙЛДÐТИ като --date веднъж за вÑеки ред от ФÐЙЛДÐТИ\n" " -IВИДВРЕМЕ, --iso-8601[=ВИДВРЕМЕ] извежда датата/чаÑа във формат ISO " "8601.\n" " ВИДВРЕМЕ=“date“ за извеждане Ñамо на датата,\n" " `hours', `minutes' или `seconds' за извеждане " "на\n" " датата и чаÑа Ñ Ð¿Ð¾Ñочената точноÑÑ‚.\n" " --iso-8601 без ВИДВРЕМЕ е еквивалентно на " "„date“.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " -r, --reference=ФÐЙЛ извежда времето на поÑледна промÑна на ФÐЙЛ\n" " -R, --rfc-2822 извежда датов низ Ñпоред RFC-2822\n" " --rfc-3339=ТОЧÐОСТ извежда датата и времето във формат RFC 3339.\n" " ТОЧÐОСТ може да бъде `date' (Ñамо датата), " "`seconds'\n" " (до Ñекунди) или `ns' (наноÑекунди)\n" " -s, --set=ÐИЗ наÑтройва ÑиÑтемното време да бъде поÑоченото в " "ÐИЗ\n" " -u, --utc, --universal отпечатва или наÑтройва гринуичко време\n" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "ФОРМÐТ управлÑва изхода. ЕдинÑтвената допуÑтима Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° втората форма е да " "Ñе\n" "поÑочи използването на гринуичко време. Разпознавани редици във ФОРМÐТ Ñа:\n" "\n" " %% знакът %\n" " %a Ñъкратено наименование на Ð´ÐµÐ½Ñ Ð¾Ñ‚ Ñедмицата Ñпоред локала (пн,вт," "ÑÑ€,...)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A Ð´ÐµÐ½Ñ Ð¾Ñ‚ Ñедмицата Ñпоред локала, променлива дължина (напр. " "понеделник)\n" " %b Ñъкратено име на меÑеца Ñпоред локала (Ñну, фев, мар)\n" " %B име на меÑеца Ñпоред локала, променлива дължина (напр. Ñнуари)\n" " %c датата и чаÑÑŠÑ‚ Ñпоред локала (например Ñб ное 4 12:02:33 EЕТ 1989)\n" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C векът, Ñ‚.е. като %Y, но без поÑледните две цифри (напр. 21)\n" " %d денÑÑ‚ от меÑеца (01, 02, ..., 31)\n" " %D датата; Ñъщото като %m/%d/%y\n" " %e денÑÑ‚ от меÑеца Ñ Ð¿ÑŠÐ»Ð½ÐµÐ¶ от интервал; Ñъщото като %_d (напр. „ 1“)\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F пълната дата; Ñъщото като %Y-%m-%d\n" " %g поÑледните две цифри на годината, Ñъдържаща Ñедмицата Ñ Ð½Ð¾Ð¼ÐµÑ€ %V\n" " %G годината, Ñъдържаща Ñедмицата Ñ Ð½Ð¾Ð¼ÐµÑ€ %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h Ñъщо като %b\n" " %H чаÑÑŠÑ‚ (00-23)\n" " %I чаÑÑŠÑ‚ (01-12)\n" " %j поредниÑÑ‚ ден в годината (001-366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k чаÑÑŠÑ‚ ( 0-23)\n" " %l чаÑÑŠÑ‚ ( 1-12)\n" " %m меÑецът (01-12)\n" " %M минутата (00-59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n нов ред\n" " %N наноÑекунди (000000000-999999999)\n" " %p указателÑÑ‚ AM или PM Ñ Ð³Ð»Ð°Ð²Ð½Ð¸ букви (празен в българÑÐºÐ¸Ñ Ð»Ð¾ÐºÐ°Ð»)\n" " %P като %p, но Ñ Ð¼Ð°Ð»ÐºÐ¸ букви\n" " %r 12 чаÑово време Ñпоред локала (напр. 11,11,04)\n" " %R 24 чаÑово време, Ñъщото като %H:%M\n" " %s Ñекундите изминали от 1 Ñнуари 1970, 00:00:00 по гринуич\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Ñекундите (00-60); 60 вмеÑто 59, за да Ñе обхване и коригираща " "Ñекунда\n" " %t хоризонтална табулациÑ\n" " %T 24 чаÑово време, Ñъщото като %H:%M:%S\n" " %u денÑÑ‚ от Ñедмицата (1-7); 1 означава понеделник\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U номерът на Ñедмицата в годината, Ð½ÐµÐ´ÐµÐ»Ñ Ðµ пръв Ñедмичен ден (00-53)\n" " %V номерът на Ñедмицата в годината, понеделник е пръв Ñедмичен ден " "(01-53)\n" " %w Ð´ÐµÐ½Ñ Ð¾Ñ‚ Ñедмицата (0-6); 0 означава неделÑ\n" " %W номерът на Ñедмицата в годината, понеделник е пръв Ñедмичен ден " "(00-53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x датата, предÑтавена Ñпоред локала (напр. 31.12.99)\n" " %X времето, предÑтавено Ñпоред локала (напр. 23,13,48)\n" " %y поÑледните две цифри от годината (00-99)\n" " %Y годината\n" #: src/date.c:221 #, fuzzy msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm чаÑови поÑÑ ÐºÐ°Ñ‚Ð¾ чиÑло (напр. -0400)\n" " %:z +hh:mm чаÑÐ¾Ð²Ð¸Ñ Ð¿Ð¾ÑÑ ÐºÐ°Ñ‚Ð¾ чаÑ:минути (напр. -04:00)\n" " %::z +hh:mm:ss чаÑÐ¾Ð²Ð¸Ñ Ð¿Ð¾ÑÑ ÐºÐ°Ñ‚Ð¾ чаÑ:минути:Ñекунди (напр. -04:00:00)\n" " %:::z едно от горните Ñамо до необходимата точноÑÑ‚ (напр. -04, +05:30)\n" " %Z Ñъкращение за Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð°Ñови поÑÑ (напр. EEST за времето в " "БългариÑ)\n" "\n" "По подразбиране date допълва чиÑловите полета Ñ Ð½ÑƒÐ»Ð¸.\n" "Следните флагове могат да Ñледват „%“:\n" "\n" " - (минуÑ) да не Ñе допълва Ñ Ð½ÑƒÐ»Ð¸\n" " _ (знак за подчертаване) да Ñе допълва Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸\n" " 0 (нула) да Ñе допълва Ñ Ð½ÑƒÐ»Ð¸\n" " ^ да Ñе използват главни букви, където може\n" " # да Ñе използват малки букви, където може\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "След кой да е от флаговете може да бъде поÑочена ширина на полето във вид " "на\n" "деÑетично чиÑло, Ñлед което може да е зададен още един от Ñледните " "модификатори:\n" "\n" "E за да Ñе използва алтернативното предÑтавÑне Ñпоред локала, или\n" "O за да Ñе използват алтернативните чиÑлови знаци, ако ги има.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "ÑтандартниÑÑ‚ вход" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "неправилна дата %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "поÑочени Ñа много формати за изхода" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "поÑочените опции за дати за отпечатване Ñа взаимно изключващи Ñе" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "не може едновременно да Ñе използват опции за отпечатване и наÑтройка на " "времето" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "липÑва начален знак „+“ за аргумента %s.\n" "При използване на Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° поÑочване на дата/дати, вÑеки задължителен " "аргумент\n" "трÑбва да бъде форматен низ, започващ Ñ â€ž+“." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "не може да Ñе наÑтрои датата" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "времето %s е извън допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s [ОПЕРÐÐД]...\n" " или: %s ОПЦИЯ\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Копира файл, преобразуван и форматиран Ñпоред поÑочените опции.\n" "\n" " bs=БÐЙТОВЕ еквивалентно на „ibs=БÐЙТОВЕ obs=БÐЙТОВЕ“\n" " cbs=БÐЙТОВЕ преобразува на парчета от по БÐЙТОВЕ байта\n" " conv=КЛЮЧДУМИ преобразува файла ÑъглаÑно ÑпиÑъка КЛЮЧДУМИ\n" " count=БЛОКОВЕ копира Ñамо БЛОКОВЕ входни блока\n" " ibs=БÐЙТОВЕ чете на парчета от по БÐЙТОВЕ байта\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=ФÐЙЛ чете от ФÐЙЛ вмеÑто от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´\n" " iflag=ФЛÐГ,... чете Ñпоред поÑочените флагове\n" " obs=БÐЙТОВЕ запиÑва на парчета от по БÐЙТОВЕ байта\n" " of=ФÐЙЛ запиÑва във ФÐЙЛ, вмеÑто на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´\n" " oflag=ФЛÐГ,... запиÑва Ñпоред поÑочените флагове\n" " seek=БЛОКОВЕ пропуÑка БЛОКОВЕ изходни блока Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ obs вÑеки\n" " skip=БЛОКОВЕ пропуÑка БЛОКОВЕ входни блока Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ ibs вÑеки\n" " status=noxfer без ÑтатиÑтика за транÑфера\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "БЛОКОВЕ и БÐЙТОВЕ могат да бъдат Ñледвани от Ñледните ÑуфикÑи-множители:\n" "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" "Ð’ÑÑка КЛЮЧДУМРможе да бъде:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii от EBCDIC към ASCII\n" " ebcdic от ASCII към EBCDIC\n" " ibm от ASCII към алтернативен EBCDIC\n" " block попълва блоковете, завършващи Ñ Ð½Ð¾Ð² ред, Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸ до размер " "cbs\n" " unblock Ð·Ð°Ð¼ÐµÐ½Ñ ÐºÑ€Ð°Ð¹Ð½Ð¸Ñ‚Ðµ интервали във вÑеки блок Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ cbs Ñ Ð½Ð¾Ð²Ð¸ " "редове\n" " lcase Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚ главни в малки букви\n" " ucase Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚ малки в главни букви\n" " swab Ñ€Ð°Ð·Ð¼ÐµÐ½Ñ Ð²ÑÑка двойка входни байтове\n" " sync попълва вÑеки входен блок Ñ Ð½ÑƒÐ»Ð¸ до размера на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº; " "при\n" " използване Ñ block или unblock попълва Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸ вмеÑто Ñ " "нули\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl да не дейÑтва, ако Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» вече ÑъщеÑтвува\n" " nocreat да не Ñе Ñъздава Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»\n" " notrunc да не Ñъкращава Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»\n" " noerror продължава дори при възникване на грешка\n" " fdatasync запиÑва физичеÑки изходните данни още преди пълното приключване\n" " fsync подобно, но оÑвен това запиÑва и метаданните\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Ð’Ñеки знак за ФЛÐГ може да бъде:\n" "\n" " append режим добавÑне (ÑмиÑлено Ñамо за изхода, препоръчва Ñе " "conv=notrunc)\n" #: src/dd.c:583 #, fuzzy msgid " cio use concurrent I/O for data\n" msgstr "" " text да Ñе използват текÑтови входно/изходни операции за данните\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" " direct да Ñе използват директни входно/изходни операции за данните\n" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr " directory отказва да работи, оÑвен при каталог\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" " dsync да Ñе използват Ñинхронизирани входно/изходни операции за " "данните\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" " sync подобно, но Ñъщо и за метаданните (напр. на файловата ÑиÑтема)\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock да Ñе използват неблокиращи входно/изходни операции\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime да не Ñе обновÑва времето за доÑтъп\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty да не Ñе Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñващ терминал от файл\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow да не Ñе Ñледват Ñимволните връзки\n" # TODO: наиÑтина ли Ñе имат предвид твърди връзки? #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks отказва да работи при множеÑтво твърди връзки\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" " binary да Ñе използват двоични входно/изходни операции за данните\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" " text да Ñе използват текÑтови входно/изходни операции за данните\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Изпращането на Ñигнал %s към към работещ Ð¿Ñ€Ð¾Ñ†ÐµÑ â€ždd“ го кара да изведе\n" "на Ñтандартната грешка ÑтатиÑтика за Ð±Ñ€Ð¾Ñ Ð¿Ñ€Ð¾Ñ‡ÐµÑ‚ÐµÐ½Ð¸ и запиÑани до\n" "момента блокове, Ñлед което копирането продължава.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 прочетени блока\n" " 18335302+0 запиÑани блока\n" " изкопирани Ñа 9387674624 байта (9.4 GB) за 34,6279 Ñекунди Ñ 271 MB/s\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> прочетени блока\n" "%<PRIuMAX>+%<PRIuMAX> запиÑани блока\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> Ñъкратен запиÑ\n" msgstr[1] "%<PRIuMAX> Ñъкратени запиÑа\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "изкопиран е %<PRIuMAX> байт (%s)" msgstr[1] "изкопирани Ñа %<PRIuMAX> байта (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "Безброй" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "затварÑне на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/dd.c:1022 #, fuzzy, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "не може отвори каталогът %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð² %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "непознат операнд %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "неправилно поÑочено преобразуване: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "непознат входен флаг: %s" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "непознат изходен флаг: %s" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "непознат флаг за ÑÑŠÑтоÑние: %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "недопуÑтимо чиÑло %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "не може да Ñе комбинират никои две от {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "не може да Ñе комбинират block и unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "не може да Ñе комбинират lcase и ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "не може да Ñе комбинират excl и nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "не може да Ñе комбинират excl и nocreat" # Това ме мързи да го превеждам. #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: неуÑпешно позициониране" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: неуÑпешно позициониране" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "препълване на отмеÑтването при четене на файла %s" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "внимание: Ñъмнително отмеÑтване във файла Ñлед пропаднало четене" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "в крайна Ñметка не може да Ñе компенÑира грешката в Ñдрото" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "задейÑтват Ñе флаговете за %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: не може да Ñе отиде на отноÑително отмеÑтване %s във файла" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "Ñъкращаване до %<PRIuMAX> байта в Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "неуÑпешно извикване на fdatasync за %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "неуÑпешнен Ð·Ð°Ð¿Ð¸Ñ (fsync) за %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "не може да Ñе отвори %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "твърде голÑмо отмеÑтване: не може да Ñе отреже до дължината на seek=" "%<PRIuMAX> (%lu-byte) блокове" #: src/dd.c:2267 #, fuzzy, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "Ñъкращаване до %<PRIuMAX> байта в Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "не може отвори каталогът %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Файлова Ñ-ма" #: src/df.c:175 msgid "Type" msgstr "Тип" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "блокове" #: src/df.c:181 msgid "Used" msgstr "Заети" #: src/df.c:184 msgid "Available" msgstr "Свободни" #: src/df.c:187 msgid "Use%" msgstr "Изп%" #: src/df.c:190 msgid "Inodes" msgstr "I-възли" #: src/df.c:193 msgid "IUsed" msgstr "Заети" #: src/df.c:196 msgid "IFree" msgstr "Свобод" #: src/df.c:199 msgid "IUse%" msgstr "Изп%" #: src/df.c:202 msgid "Mounted on" msgstr "Монтирана на" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "внимание: Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s е поÑочен повече от веднъж" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Размер" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Свобод" #: src/df.c:474 msgid "Capacity" msgstr "Обем" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Дава Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° файловата ÑиÑтема, Ñъдържаща вÑеки от ФÐЙЛ-овете\n" "или за вÑички файлови ÑиÑтеми по подразбиране.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all включително празните файлови ÑиÑтеми (Ñ 0 блокове)\n" " -B, --block-size=РÐЗМ да Ñе ползват блокове Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ байта\n" " -h, --human-readable извежда размерите като за хора (напр. 1K, 234M, 2G)\n" " -H, --si подобно, но Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ñ‚ÐµÐ» 1000 вмеÑто 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° използваните i-възли, а не " "блокове\n" " -k като --block-size=1K\n" " -l, --local извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñамо за локалните файлови " "ÑиÑтеми\n" " --no-sync без sync преди получаване на използването (по " "подразб.)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability да Ñе използва изходен формат POSIX\n" " --sync изпълнÑва sync преди получаване на информациÑ\n" " -t, --type=ТИП извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñамо за файлови ÑиÑтеми от тип " "ТИП\n" " -T, --print-type извежда типа на файловата ÑиÑтема\n" " -x, --exclude-type=ТИП не извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° файлови ÑиÑтеми от тип " "ТИП\n" " -v (пренебрегва Ñе)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "поÑочените опции за дати за отпечатване Ñа взаимно изключващи Ñе" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Внимание: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "файловите ÑиÑтеми от тип %s Ñа едновременно избрани и изключени" #: src/df.c:1500 msgid "Warning: " msgstr "Внимание: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%sне може да Ñе прочете таблицата на монтирани файлови ÑиÑтеми" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "нито една файлова ÑиÑтема не бе обработена" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Извежда команди за приÑвоÑване ÑтойноÑÑ‚ на променливата LS_COLORS.\n" "\n" "Опции, определÑщи формата на изхода:\n" " -b, --sh, --bourne-shell извежда код за обвивка на Бурн\n" " -c, --csh, --c-shell извежда код за Си-обвивка\n" " -p, --print-database извежда ÑтойноÑтите по подразбиране\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Ðко е поÑочен, ФÐЙЛ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ ÐºÐ°ÐºÐ²Ð¸ цветове да Ñе използват за различните\n" "файлови типове и разширениÑ. Ð’ противен Ñлучай Ñе използва вградена база " "данни.\n" "За подробноÑти отноÑно формата на ФÐЙЛ, изпълнете „dircolors --print-" "database“.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: неправилен ред; липÑва втора лекÑема" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: непозната ключова дума %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<интервал>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "опциите за извеждане на вътрешната база данни на dircolors и\n" "за избор на обвивка Ñе изключват взаимно" #: src/dircolors.c:450 #, fuzzy msgid "file operands cannot be combined with --print-database (-p)" msgstr "Файлови операнди не може да Ñе комбинират Ñ --print-database (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "променливата SHELL нÑма ÑтойноÑÑ‚, а не дадена и Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° тип обвивка" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Използване: %s [ОПЦИЯ] ИМЕ...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "ОтÑтранÑва от ИМЕ крайната /чаÑÑ‚ и го извежда, а в Ñлучай, че ИМЕ не " "Ñъдържа /,\n" "извежда „.“ (като по този начин означава Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated завършва редовете Ñ Ð±Ð°Ð¹Ñ‚ 0 вмеÑто Ñ Ð½Ð¾Ð² ред\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Примери:\n" " %s /usr/bin/sort извежда „/usr/bin“.\n" " %s stdio.h извежда „.“.\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]...\n" " или: %s [ОПЦИЯ]... --files0-from==Ф\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Резюмира използването на диÑка от вÑеки ФÐЙЛ, рекурÑивно за каталозите.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all извежда Ñума за вÑички файлове, не Ñамо за " "каталозите\n" " --apparent-size извежда дейÑтвителни размери, а не използваното " "диÑково\n" " проÑтранÑтво. Обикновено дейÑтвителниÑÑ‚ размер е\n" " по-малък, но може да бъде и по-голÑм в ÑледÑтвие " "на\n" " дупки в „разредени“ (sparse) файлове, вътрешна\n" " фрагментациÑ, недиректни блокове и други подобни.\n" " -B, --block-size=РÐЗМ да Ñе ползват блокове Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ байта\n" " -b, --bytes отпечатва размера в байтове\n" " -c, --total преÑмÑта и обща Ñума на използването\n" " -D, --dereference-args работи върху файловете, Ñочени от ФÐЙЛ-Ñимволна " "връзка\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -x, --one-file-system пропуÑка каталозите, които Ñа в друга файлова " "ÑиÑтема\n" " -X ФÐЙЛ, --exclude-from=ФÐЙЛ изключва файлове, паÑващи на образец от " "ФÐЙЛ\n" " --exclude=ОБРÐЗЕЦ изключва файлове, чието име паÑва на ОБРÐЗЕЦ\n" " --max-depth=N отпечатва общ размер на каталози (или файлове Ñ --" "all)\n" " Ñамо ако те Ñа Ñ N или по-малко нива под " "аргумента\n" " на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´; --max-depth=0 е еквивалентно " "на\n" " --summarize\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=Ф резюмира използваното диÑково проÑтранÑтво от " "файловите\n" " имена ÑÑŠÑ Ð·Ð°Ð²ÑŠÑ€ÑˆÐ¸Ñ‚ÐµÐ» NUL, поÑочени във файла Ф\n" " -H като --si, но генерира предупреждение; Ñкоро ще " "бъде\n" " променено да бъде Ñъщото като --dereference-args (-" "D)\n" " -h, --human-readable отпечатва размерите като за хора (напр. 1K, 234M, " "2G)\n" " --si подобно, но Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ñ‚ÐµÐ»Ð¸ 1000 вмеÑто 1024\n" " -k Ñъщо като --block-size=1K\n" " -l, --count-links брои размерите многократно при твърди връзки\n" " -m Ñъщо като --block-size=1M\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference работи върху файловете, Ñочени от Ñимволни връзки\n" " -P, --no-dereference да не Ñе Ñледват Ñимволни връзки (по подразбиране)\n" " -0, --null завършва вÑеки изведен ред Ñ Ð±Ð°Ð¹Ñ‚ 0 вмеÑто Ñ Ð½Ð¾Ð² " "ред\n" " -S, --separate-dirs да не Ñе включва размерът на подкаталозите\n" " -s, --summarize резюмира -- извежда Ñамо общата Ñума за вÑеки " "аргумент\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time показва времето на поÑледна промÑна на вÑеки файл " "от\n" " каталога или вÑеки от подкаталозите му\n" " --time=ДУМРпоказва времето от ДУМРвмеÑто поÑледната промÑна.\n" " ДУМРможе да бъде atime, access, use, ctime или " "status\n" " --time-style=СТИЛ показва времената използвайки Ñтил СТИЛ, Ñ‚.е.\n" " full-iso, long-iso, iso или +ФОРМÐТ\n" " ФОРМÐТ Ñе интерпретира както от „date“\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Безброй" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "неуÑпешен fts_read" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "неправилна макÑимална дълбочина %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "неправилен аргумент %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "не може едновременно да Ñе резюмира и да Ñе показват вÑички елементи" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "внимание: резюмирането е еквивалентно на --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "внимание: резюмирането влиза в конфликт Ñ --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 #, fuzzy msgid "file operands cannot be combined with --files0-from" msgstr "Ðе може да Ñе комбинират файлови операнди Ñ --files0-from." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: грешка при четене" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "при четене на файлови имена от stdin, никое файлово име не може да бъде %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "неправилно файлово име Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° нула" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "общо" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Използване: %s [ÐИЗ]...\n" " или: %s ОПЦИЯ\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Извежда ÐИЗовете на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" " -n не извежда знаци за нов ред Ñлед вÑеки от ÐИЗовете\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e позволÑва обработката знаци, защитени Ñ \\ (по " "подразбиране)\n" " -E забранÑва Ñпециалната обработка на \\\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e позволÑва обработката знаци, защитени Ñ \\\n" " -E забранÑва Ñпециалната обработка на \\ (по подразбиране)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\c забранÑва Ð½Ð¾Ð²Ð¸Ñ Ñ€ÐµÐ´ в краÑ\n" " \\f нова Ñтраница (FF)\n" " \\n нов ред (LF)\n" " \\r връщане на курÑора (CR)\n" " \\t хоризонтална Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ (HT)\n" " \\v вертикална Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ (VT)\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 #, fuzzy msgid "Richard Mlynarik" msgstr "Richard Mlynarik и David MacKenzie" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Използване: %s [ОПЦИЯ]... [-] [ПРОМЕÐЛИВÐ=СТОЙÐОСТ]... [КОМÐÐДР[ÐРГ]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "ПриÑвоÑва СТОЙÐОСТ на вÑÑка ПРОМЕÐЛИВРи изпълнÑва КОМÐÐДРв новото " "обкръжение.\n" "\n" " -i, --ignore-environment започва Ñ Ð¿Ñ€Ð°Ð·Ð½Ð¾ обкръжение\n" " -u, --unset=ПРОМЕÐЛИВРотÑтранÑва променливата от обкръжението\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "ПроÑто - означава -i. Ðко не е дадена КОМÐÐДÐ, отпечатва полученото " "обкръжение.\n" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "не могат да Ñе получат атрибутите на %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "ЗамеÑтва табулациите във вÑеки ФÐЙЛ Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸ и извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход.\n" "Без ФÐЙЛ или ако ФÐЙЛ е - чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial не преобразува табулациите Ñлед не-интервал\n" " -t, --tabs=БРОЙ работи Ñ Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ð¸ през БРОЙ интервала вмеÑто през 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=СПИС да Ñе ползва ÑпиÑък от Ñвно зададени табулационни " "позиции\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "табулациÑта е твърде дълга %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "размерът на табулациите включва непозволен знак: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "размерът на табулациите не може да бъде 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "позициите на табулациите трÑбва да Ñа в нараÑтващ ред" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "входниÑÑ‚ ред е твърде дълъг" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Използване: %s ИЗРÐЗ\n" " или: %s ОПЦИЯ\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Отпечатва ÑтойноÑтта на ИЗРÐЗ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. По-долу празни редове\n" "отделÑÑ‚ групите операции Ñ Ð½Ð°Ñ€Ð°Ñтващ приоритет. ИЗРÐЗ може да бъде:\n" "\n" " ARG1 | ARG2 ARG1, ако той не е нито празен, нито 0, а иначе ARG2\n" "\n" " ARG1 & ARG2 ARG1, ако никой от аргументите не е празен или 0, иначе " "0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 е по-малък от ARG2\n" " ARG1 <= ARG2 ARG1 е по-малък или равен на ARG2\n" " ARG1 = ARG2 ARG1 е равен на ARG2\n" " ARG1 != ARG2 ARG1 е различен от ARG2\n" " ARG1 >= ARG2 ARG1 е по-голÑм или равен на ARG2\n" " ARG1 > ARG2 ARG1 е по-голÑм от ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 аритметична Ñума на ARG1 и ARG2\n" " ARG1 - ARG2 аритметична разлика на ARG1 и ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 аритметично произведение на ARG1 и ARG2\n" " ARG1 / ARG2 аритметично чаÑтно на ARG1 разделен на ARG2\n" " ARG1 % ARG2 аритметичен оÑтатък на ARG1 разделен на ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " ÐИЗ : РЕГИЗР Ñтриктно (anchored) ÑъпоÑтавÑне на образеца РЕГИЗР в " "ÐИЗ\n" "\n" " match ÐИЗ РЕГИЗР Ñъщото като ÐИЗ : РЕГИЗР\n" " substr ÐИЗ ПОЗИЦ ДЪЛЖ подниз на ÐИЗ, ПОЗИЦ Ñе брои от 1\n" " index ÐИЗ ЗÐÐЦИ мÑÑто в ÐИЗ, където Ñе намира нÑкой от ЗÐÐЦИ, " "или 0\n" " length ÐИЗ дължината на ÐИЗ\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + ЛЕКСЕМРразглежда ЛЕКСЕМРкато низ дори и ако е\n" " ключова дума като „match“ или оператор като " "„/“\n" "\n" " ( ИЗРÐЗ ) ÑтойноÑтта на ИЗРÐЗ\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Ð’ командните обвивки трÑбва да защитавате много от операторите Ñ ÐºÐ°Ð²Ð¸Ñ‡ÐºÐ¸ или " "\\.\n" "СравнениÑта Ñа аритметични, ако и двата ARG Ñа чиÑла, а иначе " "лекÑикографÑки.\n" "СъпоÑтавÑниÑта Ñ Ð¾Ð±Ñ€Ð°Ð·ÐµÑ† връщат низа, паÑнал между първите \\( и \\) или " "празен,\n" "а ако не Ñа използвани \\( и \\) връща Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñнали знаци или 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Кодът на завършване е 0, ако ИЗРÐЗ не е нито празен, нито 0; 1, ако ИЗРÐЗ е\n" "празен или 0; 2, ако ИЗРÐЗ е Ñинтактично неправилен и 3, ако е Ñтанала " "грешка.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "Ñинтактична грешка" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "грешка при паÑването на регулÑÑ€Ð½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð·" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "нечиÑлов аргумент" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "делене на нула" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Използвайте LC_ALL='C', за да заобиколите този проблем." #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "СравнÑваните низове бÑха %s и %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s не е правилно положително цÑло чиÑло" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s е твърде дълго" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s [ЧИСЛО]...\n" " или: %s ОПЦИЯ\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " Отпечатва проÑтите множители на вÑички поÑочени целочиÑлени ЧИСЛÐ. При " "липÑа\n" " на аргументи на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´, чиÑлата Ñе четат от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "не може да Ñе определи кой е текущиÑÑ‚ каталог" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "не може да Ñе влезе в каталога %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "не може да Ñе намери текущиÑÑ‚ каталог (Ñега %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Използване: %s [-ШИРИÐÐ] [ОПЦИЯ]... [ФÐЙЛ]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Преформатира вÑеки абзац във ФÐЙЛовете, извеждайки на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "Ðко нÑма поÑочен ФÐЙЛ или ако ФÐЙЛ е „-“, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin запазва отÑтъпа на първите два реда\n" " -p, --prefix=ÐИЗ преформатира Ñамо редовете, започващи Ñ ÐИЗ. " "Маха\n" " ÐИЗ, форматира, Ñлед което Ð´Ð¾Ð±Ð°Ð²Ñ Ð¿Ð°Ðº ÐИЗ\n" " -s, --split-only цепи дългите редове, но не попълва къÑите\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph отÑтъпа на Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ€ÐµÐ´ да Ñе отличава от вториÑ\n" " -u, --uniform-spacing един интервал между думите, два между изречениÑ\n" " -w, --width=ШИРИÐРмакÑимална ширина на реда (по подразбиране 75 " "знака)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c; -ШИРИÐÐ Ñе разпознава Ñамо ако е първа опциÑ;\n" "в противен Ñлучай ползвайте -w ШИРИÐÐ" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "неправилна ширина: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Развива поредово входните редове на вÑеки ФÐЙЛ (или ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´), като\n" "извежда резултата на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes брои байтовете, вмеÑто Ñтълбовете\n" " -s, --spaces прекъÑва при интервали\n" " -w, --width=ШИРИÐРда Ñе ползват ШИРИÐÐ Ñтълбове, вмеÑто 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "неправилен номер Ñтълбове: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Използване: %s [ОПЦИЯ]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "групата на %s не можа да Ñе промени на %s\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "групата на %s не можа да Ñе промени на %s\n" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "не може да Ñе намери името на група Ñ Ð½Ð¾Ð¼ÐµÑ€ %lu" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "не може да Ñе зададе потребителÑÑ‚" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "Ñимволната връзка %s не може да бъде поÑледвана" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "не може да Ñе зададе потребителÑÑ‚" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: ÐÑма такъв потребител" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Извежда първите 10 реда от вÑеки ФÐЙЛ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "При повече от един ФÐЙЛ, поÑÑ‚Ð°Ð²Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена.\n" "При отÑÑŠÑтвие на ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N извежда първите N байта от вÑеки файл;\n" " ÑÑŠÑ Ð·Ð½Ð°Ðº Ð¼Ð¸Ð½ÑƒÑ Ð¿Ñ€ÐµÐ´Ð¸ N извежда вÑички, оÑвен\n" " поÑледните N байта от вÑеки файл\n" " -n, --lines=[-]N извежда първите N реда вмеÑто първите 10;\n" " ÑÑŠÑ Ð·Ð½Ð°Ðº Ð¼Ð¸Ð½ÑƒÑ Ð¿Ñ€ÐµÐ´Ð¸ N извежда вÑички, оÑвен\n" " поÑледните N реда от вÑеки файл\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent да не Ñе извеждат Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена\n" " -v, --verbose винаги да извежда Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена\n" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "БЛОКОВЕ и БÐЙТОВЕ могат да бъдат Ñледвани от Ñледните ÑуфикÑи-множители:\n" "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" "Ð’ÑÑка КЛЮЧДУМРможе да бъде:\n" "\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: файлът Ñе е Ñвил твърде много" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: твърде голÑм брой байтове" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: не може да Ñе отиде на първоначалното мÑÑто във файла" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: не може да Ñе отиде на отмеÑтване %s във файла" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: не може да Ñе отÑтрани" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "не може да Ñе Ñмени мÑÑтото на Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ» за %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s е толкова голÑм, че не е изводим" #: src/head.c:886 msgid "number of lines" msgstr "брой на редовете" #: src/head.c:886 msgid "number of bytes" msgstr "количеÑтво байтове" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "недопуÑтим брой редове" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "недопуÑтимо количеÑтво байтове" # TODO: Как да Ñе праведе trailing? #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Използване: %s\n" " или: %s ОПЦИЯ\n" "Извежда шеÑтнадеÑетичен чиÑлов идентификатор на хоÑта.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Използване: %s [ИМЕ]\n" " или: %s ОПЦИЯ\n" "Извежда или задава хоÑÑ‚-името на текущата ÑиÑтема.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "името не може да Ñе направи %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "не може да Ñе задава хоÑÑ‚-име, тази ÑиÑтема не притежава такава възможноÑÑ‚" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "хоÑÑ‚-името не може да бъде определено" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ПОТРЕБИТЕЛ или Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ».\n" "\n" " -a пренебрегва Ñе; за ÑъвмеÑтимоÑÑ‚ Ñ Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐ½Ð¸ верÑии\n" " -g, --group извежда Ñамо номера на дейÑтващата (effective) група\n" " -G, --groups извежда номерата на вÑички групи\n" " -n, --name извежда име вмеÑто номер; -ugG\n" " -r, --real извежда реалните (real) вмеÑто дейÑтващите номера, Ñ -ugG\n" " -u, --user извежда Ñамо номера на дейÑÑ‚Ð²Ð°Ñ‰Ð¸Ñ (effective) потребител\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Без никаква ОПЦИЯ проÑто отпечатва полезна идентификационна информациÑ.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "не може да Ñе цепи по повече от един начин" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "не може да Ñе извеждат Ñамо имена или номера във формата по подразбиране" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "Ñимволната връзка %s не може да бъде поÑледвана" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "не може да Ñе намери името на потребител Ñ Ð½Ð¾Ð¼ÐµÑ€ %lu" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr " групи=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "внимание: каталогът не може да Ñе Ñмени на %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "Ñъздава Ñе каталог %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "не може да Ñе Ñмени ÑобÑтвеноÑтта на %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "не може да Ñе зададе времето на %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ÑиÑтемната Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð·Ð° нов Ð¿Ñ€Ð¾Ñ†ÐµÑ (fork) не уÑпÑ" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "не може да Ñе Ñтартира strip" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð² %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "неправилен потребител %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ЦЕЛ\n" " или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ\n" " или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ЦЕЛ...\n" " или: %s [ОПЦИЯ]... -d КÐТÐЛОГ...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "При първите три формата ИЗТОЧÐИК Ñе копира в ЦЕЛ или нÑколкото ИЗТОЧÐИКа\n" "в ÑъщеÑтвуващ КÐТÐЛОГ, като Ñе уÑтановÑват режим на доÑтъп и ÑобÑтвеник/" "група.\n" "При Ñ‡ÐµÑ‚Ð²ÑŠÑ€Ñ‚Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñе Ñъздават вÑички компоненти на дадениÑ(ните) КÐТÐЛОГ" "(зи).\n" "\n" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=МЕТОД] прави резервно копие на ÑъщеÑтвуващите целеви " "файлове\n" " -b като --backup, но не допуÑка използването на аргумент\n" " -c (пренебрегва Ñе)\n" " -d, --directory приема вÑички аргументи като имена на каталози; " "Ñъздава\n" " вÑички компоненти на поÑочените каталози\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D Ñъздава вÑички начални компоненти на ЦЕЛ оÑвен " "поÑледниÑ,\n" " а Ñлед това копира ИЗТОЧÐИК в ЦЕЛ\n" " -g, --group=ГРУПРпоÑочва група вмеÑто текущата група на процеÑа\n" " -m, --mode=РЕЖИМ поÑочва режим за доÑтъп (като при chmod), вмеÑто rwxr-" "xr-x\n" " -o, --owner=СОБСТВ поÑочва ÑобÑтвеник (Ñамо от привилегирован " "потребител)\n" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps прилага времената за доÑтъп/промÑна на\n" " файловете-ИЗТОЧÐИК за Ñъответните целеви файлове\n" " -s, --strip маха Ñимволните таблици\n" " -S, --suffix=СУФИКС вмеÑто Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ ÑÑƒÑ„Ð¸ÐºÑ Ð·Ð° резервни копиÑ\n" " -t, --target-directory=КÐТÐЛОГ копира вÑички аргументи ИЗТОЧÐИК в " "КÐТÐЛОГ\n" " -T, --no-target-directory работи Ñ Ð¦Ð•Ð› като Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ файл\n" " -v, --verbose извежда името на вÑеки каталог при Ñъздаването му\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "опциÑта махане на Ñимволните таблици не може да Ñе използва при инÑталиране " "на каталог" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "при инÑталиране на каталог не Ñе позволÑва поÑочването на целеви каталог" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "неправилен режим %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "опциите --string и --check не може да Ñе използват едновременно" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "поÑочените опции за дати за отпечатване Ñа взаимно изключващи Ñе" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 #, fuzzy msgid "Mike Haertel" msgstr "Mike Haertel и Paul Eggert" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Извежда ред за вÑÑка двойка входни редове Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ‡Ð½Ð¸ Ñвързващи полета.\n" "По подразбиране Ñвързващо поле е първото, ограничава Ñе интервали и " "табулации.\n" "Когато ФÐЙЛ1 или ФÐЙЛ2 (не едновременно) е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" " -a ФÐЙЛÐОМ извежда неÑъответÑтващите редове от файла ФÐЙЛÐОМ, " "където\n" " ФÐЙЛÐОМ е 1 или 2 Ñъответно за ФÐЙЛ1 и ФÐЙЛ2\n" " -e ПРÐЗÐО Ð·Ð°Ð¼ÐµÐ½Ñ Ð»Ð¸Ð¿Ñващите входни полета Ñ ÐŸÐ ÐЗÐО\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case не различава големи/малки букви при ÑравнÑване на " "полетата\n" " -j ПОЛЕ Ñъщо като „-1 ПОЛЕ -2 ПОЛЕ“\n" " -o ФОРМÐТ Ñледва ФОРМÐТ при ÑÑŠÑтавÑне на изходните редове\n" " -t ЗÐÐК ползва ЗÐÐК като разделител на входните и изходни " "полета\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Ðко не е зададен -t ЗÐÐК, бÑлото поле пред полетата е разделител и Ñе " "игнорира.\n" "Иначе полетата Ñа разделени ÑÑŠÑ Ð—ÐÐК. Ð’ÑÑко ПОЛЕ е номер, който Ñе брои от " "1.\n" "ФОРМÐТ е една или повече Ñпецификации, разделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ð¸Ð»Ð¸ интервал,\n" "вÑÑка от които е „ФÐЙЛÐОМ.ПОЛЕ“ или „0“. По подразбиране ФОРМÐТ извежда\n" "Ñвързващото поле, оÑтаналите полета от ФÐЙЛ1 и оÑтаналите полета от ФÐЙЛ2, " "като\n" "ги Ñ€Ð°Ð·Ð´ÐµÐ»Ñ ÑÑŠÑ Ð—ÐÐК.\n" "\n" "Важно: ФÐЙЛ1 и ФÐЙЛ2 трÑбва да бъдат Ñортирани по Ñвързващите полета. " "Ðапример\n" "ако на join не Ñа подадени опции, ползвайте „sort -k 1b,1“.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "неправилен номер на поле: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "неправилен означител за поле: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "неправилен номер на файл при означител на поле: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "неправилни Ñвързващи полета %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "неÑъвмеÑтими заменÑщи низове за празно поле" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "многоÑимволна Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "неÑъвмеÑтими табулации" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "не може и двата файла да Ñа ÑтандартниÑÑ‚ вход" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Използване: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID...\n" " или: %s -l [СИГÐÐЛ]...\n" " или: %s -t [СИГÐÐЛ]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Изпраща Ñигнали на процеÑите или извежда Ñигналите.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=СИГÐÐЛ, -СИГÐÐЛ\n" " поÑочва името или номера на Ñигнала, който да бъде " "изпратен\n" " -l, --list извежда имената на Ñигналите или ги преобразува в/от " "номера\n" " -t, --table извежда таблица Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñигналите\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "СИГÐÐЛ може да бъде име на Ñигнал (напр. „HUP“) или номер (напр. „1“)\n" "или код-ÑÑŠÑтоÑние на изход на процеÑ, прекратен чрез Ñигнал.\n" "PID е цÑло чиÑло; ако е отрицателно, поÑочва група от процеÑи.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: неправилен номер на процеÑ" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: поÑочени Ñа много Ñигнали" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "поÑочени Ñа много опции -l или -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "не може да Ñе задават Ñигнали заедно Ñ -l или -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "не е поÑочен номер на процеÑ" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "недопуÑтим аргумент %s за %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Използване: %s ФÐЙЛ1 ФÐЙЛ2\n" " или: %s ОПЦИЯ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Извиква функциÑта за правене на твърда връзка ФÐЙЛ2 към ÑъщеÑтвуващ ФÐЙЛ2.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "не може да Ñе направи връзка %s към %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: не Ñе позволÑва твърда връзка към каталог" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: каталогът не може да Ñе замеÑти" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: да Ñе замени ли %s? " #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s към %s" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "Ñъздава Ñе твърда връзка към %.0s%s" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "не може да Ñе направи твърда връзка %s към %s" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "не може да Ñе направи твърда връзка %s към %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧÐИК ИМЕ_ÐÐ_ВРЪЗКР(1-ви формат)\n" " или: %s [ОПЦИЯ]... ИЗТОЧÐИК (2-ри формат)\n" " или: %s [ОПЦИЯ]... ИЗТОЧÐИК... КÐТÐЛОГ (3-ти формат)\n" " или: %s [ОПЦИЯ]... -t КÐТÐЛОГ ЦЕЛ... (4-ти формат)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "При Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñъздава връзка към поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»-ЦЕЛ Ñ Ð¸Ð¼Ðµ " "ИМЕ_ÐÐ_ВРЪЗКÐ.\n" "При Ð²Ñ‚Ð¾Ñ€Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñъздава връзка към поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»-ЦЕЛ в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³.\n" "При Ñ‚Ñ€ÐµÑ‚Ð¸Ñ Ð¸ Ñ‡ÐµÑ‚Ð²ÑŠÑ€Ñ‚Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñъздава в КÐТÐЛОГ връзки към файловете-ЦЕЛ.\n" "По подразбиране Ñе правÑÑ‚ твърди връзки, а Ñимволни при --symbolic.\n" "При правене на твърди връзки вÑÑка ЦЕЛ трÑбва да ÑъщеÑтвува.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=МЕТОД] копира резервно вÑеки ÑъщеÑтвуващ целеви файл\n" " -b като --backup, но не позволÑва аргумент\n" " -d, -F, --directory позволÑва на root да Ñе опита да направи " "твърди\n" " връзки към каталози (забележка: поради " "ограни-\n" " Ñ‡ÐµÐ½Ð¸Ñ Ð² ÑиÑтемата това вероÑтно ще " "пропадне)\n" " -f, --force изтрива ÑъщеÑтвуващи целеви файлове\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -n, --no-dereference приема цел, коÑто е Ñимволна връзка към " "каталог,\n" " вÑе едно че е нормален файл\n" " -i, --interactive да Ñе пита при замеÑтване на ÑъщеÑтвуващи " "файлове\n" " -s, --symbolic да Ñе правÑÑ‚ Ñимволни връзки вмеÑто твърди " "връзки\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=СУФИКС вмеÑто обичайниÑÑ‚ ÑÑƒÑ„Ð¸ÐºÑ Ð·Ð° резервни копиÑ\n" " -t, --target-directory=КÐТÐЛОГ поÑочва каталога, в който да Ñе правÑÑ‚\n" " връзките\n" " -T, --no-target-directory работи Ñ Ð˜ÐœÐ•_ÐÐ_ВРЪЗКРкато Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ файл\n" " -v, --verbose извежда името на вÑеки файл преди Ñвързване\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "Ðе може да Ñе използват едновременно --target-directory и --no-target-" "directory" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "не може да Ñе Ñъздаде Ñимволна връзка %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Използване: %s [ОПЦИЯ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Извежда името на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ».\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "нÑма входÑщо име" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %k,%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "пренебрегва Ñе неправилната ÑтойноÑÑ‚ на променливата от обкръжението " "QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" "пренебрегва Ñе неправилната ширина в променливата от обкръжението COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "пренебрегва Ñе неправилниÑÑ‚ размер на табулациите в променливата от " "обкръжението TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "неправилна дължина на реда: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "неправилен размер на табулациите: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "неправилен формат за времето %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "ДопуÑтими аргументи Ñа:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "непознат префикÑ: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "неразбираема ÑтойноÑÑ‚ на променливата от обкръжението LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "не може да Ñе отвори каталогът %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "не може да Ñе уÑтанови уÑтройÑтвото и i-възлите на %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: вече изведениÑÑ‚ каталог не Ñе извежда" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "чете Ñе каталогът %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "Ð·Ð°Ñ‚Ð²Ð°Ñ€Ñ Ñе каталогът %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "не може да Ñе ÑравнÑÑ‚ файловите имена %s и %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ФÐЙЛовете (по подразбиране за Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³).\n" "Сортира елементите азбучно, оÑвен ако има Ð¾Ð¿Ñ†Ð¸Ñ -cftuSUX или --sort.\n" "\n" #: src/ls.c:4728 #, fuzzy 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" msgstr "" " -a, --all не Ñкрива елементите, започващи Ñ .\n" " -A, --almost-all не извежда подразбиращите Ñе . и ..\n" " --author Ñ -l извежда автора на вÑеки файл\n" " -b, --escape извежда оÑмични чиÑла за неграфичните знаци\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=РÐЗМ ползва блокове Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ байта\n" " -B, --ignore-backups не извежда елементи, завършващи Ñ ~\n" " -c Ñ -lt: Ñортира и показва Ñпоред ctime (времето " "на\n" " поÑледна промÑна на информациÑта за файла)\n" " Ñ -l: показва ctime и Ñортира Ñпоред името\n" " иначе: Ñортира Ñпоред ctime\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C извежда елементите в колони\n" " --color[=КОГÐ] Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ да Ñе използват цветове за " "поÑочване\n" " типовете на файловете. КОГРможе да бъде\n" " „never“ (никога), „always“ (винаги) или\n" " „auto“ (автоматично)\n" " -d, --directory извежда Ñамите каталози, вмеÑто Ñъдържанието " "им\n" " и Ñимволните връзки, вмеÑто Ñочените файлове\n" " -D, --dired генерира изход за режима „dired“ на ЕмакÑ\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f да не Ñортира; позволÑва -aU, забранÑва -ls --" "color\n" " -F, --classify Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº за типа на файловете (нÑкой от */" "=>@|)\n" " --file-type подобно, но не Ñе Ð´Ð¾Ð±Ð°Ð²Ñ â€ž*“\n" " --format=ДУМРacross -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time като -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g като -l, но не извежда ÑобÑтвеника\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all включително празните файлови ÑиÑтеми (Ñ 0 блокове)\n" " -B, --block-size=РÐЗМ да Ñе ползват блокове Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ байта\n" " -h, --human-readable извежда размерите като за хора (напр. 1K, 234M, 2G)\n" " -H, --si подобно, но Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ñ‚ÐµÐ» 1000 вмеÑто 1024\n" #: src/ls.c:4775 #, fuzzy msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -G, --no-group при подробно изреждане не извежда групата\n" " -h, --human-readable Ñ -l извежда размерите като за хора\n" " (напр. 1K, 234M, 2G)\n" " --si подобно, но Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ñ‚ÐµÐ» 1000 вмеÑто 1024\n" " -H, --dereference-command-line\n" " Ñледва Ñимволните връзки на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´\n" " --dereference-command-line-symlink-to-dir\n" " Ñледва Ñимволните връзки на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´, \n" " които Ñочат към каталог\n" " --hide=ОБРÐЗЕЦ не извежда елементите, паÑващи на ОБРÐЗЕЦ\n" " (пренебрегва Ñе, ако има -a или -A)\n" # TODO: превод на shell-ОБРÐЗЕЦ? #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=Ð”Ð£ÐœÐ Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº в Ñтил ДУМРкъм файловете:\n" " none (Ñтандартно), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode Ñ -l извежда номера на i-възела на вÑеки файл\n" " -I, --ignore=ОБРÐЗЕЦ не извежда елементите, паÑващи на shell-" "ОБРÐЗЕЦ\n" " -k като --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l да Ñе ползва формат Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾ изброÑване\n" " -L, --dereference при показване на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñимволна връзка\n" " да показва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» вмеÑто " "за\n" " Ñамата Ñимволна връзка\n" " -m попълва в широчина Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸ ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ " "елементи\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid като -l, но извежда номера за потребител и " "група\n" " -N, --literal извежда „Ñурови“ имена (напр. управлÑващите " "кодове\n" " не Ñе обработват по по-различен начин)\n" " -o като -l, но не извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° групата\n" " -p, --file-type Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº за типа (нÑкой от /=@|) към " "елементите\n" " -p, --indicator-style=slash\n" " Ð´Ð¾Ð±Ð°Ð²Ñ Ð·Ð½Ð°Ðº / към каталозите\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars извежда ? вмеÑто неграфични знаци\n" " --show-control-chars извежда неграфичните знаци както Ñа Ñи " "(Ñтандартно,\n" " оÑвен ако програмата е „ls“ и изходът е " "терминал)\n" " -Q, --quote-name огражда имената на елементите Ñ ÐºÐ°Ð²Ð¸Ñ‡ÐºÐ¸\n" " --quoting-style=ДУМРÑтил ДУМРза извеждане на неграфични знаци:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" " -r, --reverse обратен ред при Ñортиране\n" " -R, --recursive извежда подкаталозите рекурÑивно\n" " -s, --size извежда размера в блокове на вÑеки файл\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S Ñортира Ñпоред размера на файловете\n" " --sort=ДУМРÑортира Ñпоред ДУМÐ: none -U, extension -X,\n" " size -S, time -t, version -v\n" " --time=Ð”Ð£ÐœÐ Ñ -l показва времето ДУМРвмеÑто времето на " "промÑ-\n" " на. ДУМРможе да бъде atime, access, use, " "ctime,\n" " или status; по това време Ñе и Ñортира\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=СТИЛ Ñ -l показва времената използвайки Ñтил СТИЛ:\n" " full-iso, long-iso, iso, locale, +FORMAT\n" " ФОРМÐТ Ñе обработва Ñъщо както „date“; ako " "ФОРМÐТ е\n" " ФОРМÐТ1<новред>ФОРМÐТ2, ФОРМÐТ1 Ñе отнаÑÑ ÐºÑŠÐ¼\n" " по-отдавнашните файлове, а ФОРМÐТ2 към " "Ñкорошните;\n" " ако СТИЛ Ñе предшеÑтва от „posix-“, СТИЛ влиза\n" " в Ñила Ñамо извън POSIX локал\n" " -t Ñортира Ñпоред времето на промÑна\n" " -T, --tabsize=КОЛОÐИ приема, че табулациите Ñа през КОЛОÐИ вмеÑто " "през 8\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u Ñ -lt: Ñортира и извежда Ñпоред времето за " "доÑтъп,\n" " Ñ -l: извежда времето за доÑтъп, Ñортира по " "име,\n" " иначе: Ñортира по времето за доÑтъп\n" " -U да не Ñе Ñортира: извежда Ñе както е в " "каталога\n" " -v Ñортира Ñпоред верÑиÑта\n" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=КОЛОÐИ приема, че екранът има ширина КОЛОÐИ\n" " -x извежда елементите по редове, а не в Ñтълбове\n" " -X Ñортира в азбучен ред Ñпоред разширението\n" " -1 извежда по един файл на ред\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 #, fuzzy msgid "Ulrich Drepper" msgstr "Ulrich Drepper и Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Използване: %s [ОПЦИЯ] [ФÐЙЛ]...\n" "Извежда или проверÑва контролни Ñуми %s (%d-битови).\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary чете в двоичен режим (по подразбиране, при четене от " "терминал)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary чете в двоичен режим\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check прочита %s Ñуми от ФÐЙЛовете и ги проверÑва\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text чете в текÑтов режим (по подразбиране, ako\n" " ÑтандартниÑÑ‚ вход е от терминал)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text чете в текÑтов режим (по подразбиране)\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Следните две опции Ñа полезни Ñамо при проверÑване на контролни Ñуми:\n" " --status без изход, уÑпехът Ñе Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ñпоред кода за " "изход\n" " -w, --warn Ñъобщава при неправилно форматирани редове ÑÑŠÑ " "Ñуми\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Сумите Ñе изчиÑлÑват така, както е поÑочено в %s. При проверка входът\n" "трÑбва да бъде предишен изход от тази програма. По подразбиране Ñе извежда " "ред\n" "Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð° Ñума, знак поÑочващ типа (“*“ за двоичен, „ “ за текÑтов)\n" "и името на вÑеки ФÐЙЛ.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: твърде много редове Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð¸ Ñуми" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: неправилно форматиран ред Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð° Ñума %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: ÐЕ УСПЯ ÑиÑтемна Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ open или read\n" # Ðе е ÑÑно къде Ñе използва #: src/md5sum.c:595 msgid "FAILED" msgstr "ÐЕУСПЕШÐО" # Ðе е ÑÑно къде Ñе използва #: src/md5sum.c:597 msgid "OK" msgstr "ОК" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: не Ñа открити правилно форматирани %s редове Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð¸ Ñуми" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "%s: %<PRIuMAX>: неправилно форматиран ред Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð° Ñума %s" msgstr[1] "%s: %<PRIuMAX>: неправилно форматиран ред Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð½Ð° Ñума %s" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "" "Ð’ÐИМÐÐИЕ: %<PRIuMAX> от общо %<PRIuMAX> изброен файл не може да бъде прочетен" msgstr[1] "" "Ð’ÐИМÐÐИЕ: %<PRIuMAX> от общо %<PRIuMAX> изброени файла не могат да бъдат " "прочетени" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" "Ð’ÐИМÐÐИЕ: %<PRIuMAX> от %<PRIuMAX> преÑметната контролна Ñума ÐЕ паÑва" msgstr[1] "" "Ð’ÐИМÐÐИЕ: %<PRIuMAX> от %<PRIuMAX> преÑметнати контролни Ñуми ÐЕ паÑват" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "опциÑта --status е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "опциите --binary и --text Ñа безÑмиÑлени при проверка на контролни Ñуми" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "опциÑта --status е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "опциÑта --warn е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "опциÑта --status е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "опциÑта --status е ÑмиÑлена Ñамо при проверÑване на контролни Ñуми" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Използване: %s [ОПЦИЯ]... КÐТÐЛОГ...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Създава КÐТÐЛОГ(зи), ако вече не Ñа Ñъздадени.\n" "\n" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=РЕЖИМ задава режим за доÑтъп (като chmod), not a=rwx - umask\n" " -p, --parents Ñъздава и родителÑките каталози, без грешка за " "ÑъщеÑтвуващи\n" " -v, --verbose извежда Ñъобщение за вÑеки Ñъздаден каталог\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "Ñъздаден е каталог %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Използване: %s [ОПЦИЯ]... ИМЕ...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Създава именувани канали (FIFO) Ñ Ð¿Ð¾Ñочените ИМЕна.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=РЕЖИМ задава режим за доÑтъп (като при chmod), not a=rw - " "umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "неправилен режим за доÑтъп" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "режимът трÑбва да Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ñамо битовете за доÑтъп до файла" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Използване: %s [ОПЦИЯ]... ИМЕ ТИП [ГОЛЯМ МÐЛЪК]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Създава Ñпециален файл ИМЕ от зададен ТИП.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Както ГОЛЯМ, така и МÐЛЪК трÑбва да Ñе поÑочат, ако ТИП е „b“, „c“ или „u“, " "и\n" "трÑбва да Ñе пропуÑнат, ако ТИП е „p“. Ðко ГОЛЯМ или МÐЛЪК започва Ñ 0x или " "0X,\n" "номерът Ñе интерпретира като шеÑтнадеÑетичен, иначе ако започва Ñ 0, като\n" "оÑмичен и иначе -- като деÑетичен. ТИП може да бъде:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b Ñъздава блоков (буфериран) Ñпециален файл\n" " c, u Ñъздава Ñимволен (небуфериран) Ñпециален файл\n" " p Ñъздава именуван канал\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "при Ñъздаване на Ñпециални файлове трÑбва да Ñе поÑочат\n" "голÑм и малък номер на уÑтройÑтво" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Именуваните канали нÑмат малък и голÑм номер на уÑтройÑтво." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "не Ñе поддържа работа Ñ Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸ Ñпециални файлове" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "не Ñе поддържа работа ÑÑŠÑ Ñимволни Ñпециални файлове" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "погрешен голÑм номер на уÑтройÑтво %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "погрешен малък номер на уÑтройÑтво %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "неправилно уÑтройÑтво %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "неправилен тип на уÑтройÑтво %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "неуÑпешно пренаÑочване на Ñтандартната грешка" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "твърде много повторени редове" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "каталогът %s не може да Ñе затвори" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "времената на %s не можаха да Ñе запазÑÑ‚" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Преименува ИЗТОЧÐИК на ЦЕЛ или премеÑтва ИЗТОЧÐИК(ци) в КÐТÐЛОГ.\n" "\n" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=МЕТОД] прави резервно копие на ÑъщеÑтвуващи целеви " "файлове\n" " -b като --backup, но не допуÑка на аргумент\n" " -f, --force да не Ñе пита преди замеÑтване на файлове\n" " -i, --interactive да Ñе пита преди замеÑтване на файлове\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes отÑтранÑва крайните наклонени черти от вÑеки\n" " аргумент ЦЕЛ\n" " -S, --suffix=СУФИКС вмеÑто Ð¾Ð±Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ñ ÑÑƒÑ„Ð¸ÐºÑ Ð·Ð° резервни копиÑ\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=КÐТÐЛОГ премеÑтва вÑички аргументи ИЗТОЧÐИК в " "КÐТÐЛОГ\n" " -T, --no-target-directory работи Ñ DEST като Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ файл\n" " -u, --update премеÑтва Ñамо ако ИЗТОЧÐИК е по-нов от " "целевиÑ\n" " файл, или ако целевиÑÑ‚ файл липÑва\n" " -v, --verbose Ñъобщава какво Ñе прави\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Използване: %s [ОПЦИЯ] [КОМÐÐДР[ÐРГУМЕÐТ]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "ИзпълнÑва КОМÐÐÐ”Ð Ñ Ð½Ð°Ð³Ð¾Ð´ÐµÐ½Ð° ÑтойноÑÑ‚ на nice, влиÑеща на диÑпечера на " "задачите\n" "на операционната ÑиÑтема. Без КОМÐÐДРизвежда текущата ÑтойноÑÑ‚. " "Диапазонът на\n" "nice е от %d (най-голÑмо предимÑтво за процеÑа) до %d (най-малко " "предимÑтво).\n" "\n" " -n, --adjustment=N Ð´Ð¾Ð±Ð°Ð²Ñ N към ÑтойноÑтта на nice (по подразбиране 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "неправилна наÑтройка: %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "заедно Ñ ÐºÐ¾Ñ€ÐµÐºÑ†Ð¸Ñта трÑбва да Ñе поÑочи команда" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "не може да Ñе получи ÑтойноÑтта на nice" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "не може да Ñе наÑтрои ÑтойноÑтта на nice" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Извежда вÑеки от ФÐЙЛовете на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ Ñ Ð´Ð¾Ð±Ð°Ð²ÐµÐ½Ð¸ номера на " "редовете.\n" "Без ФÐЙЛ или ако ФÐЙЛ е - Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=СТИЛ ползва СТИЛ при номериране редовете от " "Ñ‚Ñлото\n" " -d, --section-delimiter=CC CC да е разделител между логичеÑките " "Ñтраници\n" " -f, --footer-numbering=СТИЛ ползва СТИЛ при номериране Ð´Ð¾Ð»Ð½Ð¸Ñ " "колонтитул\n" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=СТИЛ ползва СТИЛ при номериране Ð³Ð¾Ñ€Ð½Ð¸Ñ " "колонтитул\n" " -i, --page-increment=РÐÐ—Ð›Ð˜ÐšÐ Ñ ÐºÐ¾Ð»ÐºÐ¾ нараÑтва номера на вÑеки Ñледващ " "ред\n" " -l, --join-blank-lines=БРОЙ номерира от БРОЙ празни реда Ñамо " "поÑледниÑ\n" " -n, --number-format=ФОРМÐТ вмъква номерата на редовете Ñпоред ФОРМÐТ\n" " -p, --no-renumber не брои отначало при нова логичеÑка " "Ñтраница\n" " -s, --number-separator=ÐИЗ Ð´Ð¾Ð±Ð°Ð²Ñ ÐИЗ Ñлед вÑеки номер на ред\n" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --first-page=ÐОМЕР номер на Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ€ÐµÐ´ от логичеÑките " "Ñтраници\n" " -w, --number-width=БРОЙ ползва БРОЙ Ñтълбове за номерата на " "редовете\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "По подразбиране Ñе използва -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC Ñа\n" "двата Ñимвола, използвани за разделÑне на логичеÑките Ñтраници. Ðко " "липÑва,\n" "по подразбиране вториÑÑ‚ Ñимвол е :. Използвайте \\\\ за \\. СТИЛ е едно " "от:\n" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a за да Ñе номерират вÑички редове\n" " t за да Ñе номерират Ñамо непразните редове\n" " n за да не Ñе номерира никой ред\n" " pРЕГИЗР за да Ñе номерират Ñамо редове, Ñъдържащи ÑъответÑтвие на " "РЕГИЗР\n" "\n" "ФОРМÐТ е едно от:\n" "\n" " ln за лÑво подравнÑване, без предхождащи нули\n" " rn за дÑÑно подравнÑване, без предхождащи нули\n" " rz за дÑÑно подравнÑване, Ñ Ð¿Ñ€ÐµÐ´Ñ…Ð¾Ð¶Ð´Ð°Ñ‰Ð¸ нули\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "препълване на номера на ред" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "неправилен формат за номериране на горен колонтитул: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "неправилен формат за номериране: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "неправилен формат за номериране на долен колонтитул: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "неправилен начален номер на ред: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "неправилна разлика между ÑÑŠÑедни редове: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "неправилен брой празни редове: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "неправилна ширина на полето за номер на ред: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "неправилен формат за номериране на редове: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s КОМÐÐДР[ÐРГУМЕÐТ]...\n" " или: %s ОПЦИЯ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "ИзпълнÑва КОМÐÐДÐ, пренебрегвайки Ñигналите за увиÑване (SIGHUP).\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "не може да Ñе пренаÑочи ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "входът Ñе пренебрегва" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "входът Ñе пренебрегва, а изходът Ñе наÑочва към %s" #: src/nohup.c:176 #, fuzzy, c-format msgid "appending output to %s" msgstr "входът Ñе пренебрегва, а изходът Ñе наÑочва към %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "не уÑпешно затварÑне на Ñтандартната грешка" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "входът Ñе пренебрегва, а Ñтандартната грешка Ñе пренаÑочва към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход" #: src/nohup.c:199 #, fuzzy, c-format msgid "redirecting stderr to stdout" msgstr "" "входът Ñе пренебрегва, а Ñтандартната грешка Ñе пренаÑочва към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "неуÑпешно пренаÑочване на Ñтандартната грешка" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Използване: %s [ОПЦИЯ]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: неправилен брой редове" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: ÑтойноÑтта не е напълно преобразувана" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "недопуÑтимо чиÑло %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "неправилен аргумент „%s“" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: не може да Ñе отвори в режим за пиÑане" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "неправилен размер на табулациите: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Опции, определÑщи наредбата:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, fuzzy, c-format msgid "format %s has no %% directive" msgstr "целта %s не е каталог" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "неправилна ширина на формат" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "неправилен аргумент „%s“" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "Ðеправилен диапазон от Ñтраници %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "неправилен номер на поле: „%s“" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "неправилна дата %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "Ðе може да Ñе комбинират файлови операнди Ñ --files0-from." #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "Ðе може да Ñе комбинират файлови операнди Ñ --files0-from." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "поÑочени Ñа много опции -i" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "Ðе може да Ñе комбинират файлови операнди Ñ --files0-from." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "грешка при четене на %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "не може да Ñе пренаÑочи ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]...\n" " или: %s [-abcdfilosx]... [ФÐЙЛ] [[+]ОТМЕСТВÐÐЕ[.][b]]\n" " или: %s --traditional [ФÐЙЛ] [[+]ОТМЕСТВÐÐЕ [[+]ЕТИКЕТ]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Извежда еднозначно предÑтавÑне (по подразбиране оÑмични байтове) на\n" "ФÐЙЛ на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Ðко Ñа поÑочени повече от един ФÐЙЛ,\n" "поÑледователно обработва и извежда файловете в поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ´. Без\n" "ФÐЙЛ или ако ФÐЙЛ е - Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Ðко и първиÑÑ‚, и вториÑÑ‚ формат Ñа валидни, Ñе приема вториÑÑ‚, ако " "поÑледниÑÑ‚\n" "операнд започва Ñ + или (ако има два операнда) чиÑло. \n" "Операнд ОТМЕСТВÐÐЕ означава -j ОТМЕСТВÐÐЕ. ЕТИКЕТ е пÑевдоадреÑÑŠÑ‚ на " "първиÑ\n" "изведен байт и Ñе увеличава поÑтепенно заедно Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°Ñ‚Ð°. При\n" "ОТМЕСТВÐÐЕ и ЕТИКЕТ може да има префикÑи 0x или 0X, които показват\n" "шеÑтнадеÑетично чиÑло, и ÑуфикÑи . за оÑмично чиÑло и b за множител 512.\n" "\n" "ТИП Ñе ÑÑŠÑтои от една или повече от Ñледните Ñпецификации:\n" "\n" " a именуван знак, ÑтаршиÑÑ‚ бит Ñе пренебрегва\n" " c знак от ASCII или код, защитен Ñ \\\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=БÐЗРкак да Ñе извежда отмеÑтването\n" " -j, --skip-bytes=БÐЙТОВЕ пропуÑка БÐЙТОВЕ входни байта в началото\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=БÐЙТОВЕ обработва до БÐЙТОВЕ входни байта\n" " -S, --strings[=ДЪЛЖИÐÐ] извежда низове от поне по ДЪЛЖИÐРграфични " "знаци\n" " -t, --format=ТИП поÑочва формат или формати за извеждане\n" " -v, --output-duplicates да не Ñе ползва * за отбелÑзване на еднакви " "редове\n" " -w, --width[=БÐЙТОВЕ] извежда по БÐЙТОВЕ входни байта на един ред\n" " --traditional да Ñе приемат аргументи в Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Спецификациите в традиционен формат може да Ñе ÑмеÑват и Ñе натрупват:\n" " -a е Ñъщото като -t a, извеждат Ñе именувани знаци, пренебрегва ÑÑ‚Ð°Ñ€ÑˆÐ¸Ñ " "бит\n" " -b е Ñъщото като -t o1, извеждат Ñе оÑмични байтове\n" " -c е Ñъщото като -t c, извеждат Ñе ASCII знаци или префикÑи Ñ \\\n" " -d е Ñъщото като -t u2, извеждат Ñе беззнакови двубайтови деÑетични " "чиÑла\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f е Ñъщото като -t fF, извеждат Ñе чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° запетаÑ\n" " -i е Ñъщото като -t dI, извеждат Ñе деÑетични цели чиÑла\n" " -l е Ñъщото като -t dL, извеждат Ñе деÑетични дълги чиÑла\n" " -o е Ñъщото като -t o2, извеждат Ñе двубайтови оÑмични чиÑла\n" " -s е Ñъщото като -t d2, извеждат Ñе двубайтови деÑетични чиÑла\n" " -x е Ñъщото като -t x2, извеждат Ñе двубайтови шеÑтнадеÑетични чиÑла\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[РÐЗМ] знаково деÑетично чиÑло от РÐЗМ байта\n" " f[РÐЗМ] чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ð¾Ñ‚ РÐЗМ байта\n" " o[РÐЗМ] знаково оÑмично чиÑло от РÐЗМ байта\n" " u[РÐЗМ] беззнаково деÑетично чиÑло от РÐЗМ байта\n" " x[РÐЗМ] шеÑтнадеÑетично чиÑло от РÐЗМ байта\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "РÐЗМ е чиÑло. Ðко ТИП е doux, РÐЗМ може да бъде и C за sizeof(char),\n" "S за sizeof(short), I за sizeof(int) или L за sizeof(long). Ðко ТИП е\n" "f, РÐЗМ може да бъде и F за sizeof(float), D за sizeof(double) или L\n" "за sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "БЛОКОВЕ и БÐЙТОВЕ могат да бъдат Ñледвани от Ñледните ÑуфикÑи-множители:\n" "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" "Ð’ÑÑка КЛЮЧДУМРможе да бъде:\n" "\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "неправилен низ за тип %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "неправилен низ за тип %s;\n" "тази ÑиÑтема не поддържа %lu-байтови целочиÑлени чиÑла" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "неправилен низ за тип %s;\n" "тази ÑиÑтема не поддържа %lu-байтови чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° запетаÑ" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "неправилен знак „%c“ в низа за тип %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "не може да Ñе пропуÑне Ñлед ÐºÑ€Ð°Ñ Ð½Ð° ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "неправилна база „%c“ на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð°Ð´Ñ€ÐµÑ; трÑбва да бъде знак измежду [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "при извеждане на низове не може да Ñе поÑочва тип" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "При Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ Ñе поддържа най-много един файл." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes Ñа твърде много" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "внимание: неправилна ширина %lu; вмеÑто Ð½ÐµÑ Ñе ползва %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: неправилен Ñигнал" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "ÑтандартниÑÑ‚ вход е затворен" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ редове, ÑÑŠÑтоÑщи Ñе от поредно\n" "ÑъответÑтващи Ñи редове от вÑеки ФÐЙЛ, разделени Ñ Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ð¸.\n" "Без ФÐЙЛ или ако ФÐЙЛ е - чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=СПИС Ñ€Ð°Ð·Ð´ÐµÐ»Ñ ÑÑŠÑ Ð·Ð½Ð°Ñ†Ð¸Ñ‚Ðµ от СПИС вмеÑто Ñ Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ð¸\n" " -s, --serial изкарва файловете един Ñлед друг вмеÑто паралелно\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 #, fuzzy msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼ÐµÐ½Ð¾Ð·Ð°Ð²Ð¸Ñимите конÑтрукции в ИМЕ.\n" "\n" " -p проверки за повечето POSIX-ÑъвмеÑтими ÑиÑтеми\n" " -P проверÑва за празни имена и начални „-“\n" " --portability проверÑва за вÑички POSIX-ÑъвмеÑтими ÑиÑтеми (като -p -" "P)\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "начален „-“ в компонент на файловото име %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "платформенозавиÑим знак %s във файловото име %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "празно файлово име" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: не може да Ñе определи макÑималната дължина за име на файл" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "ограничението %lu е задминато от дължината %lu на файловото име %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "ограничението %lu е надминато от дължината %lu на компонента на файловото " "име %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 #, fuzzy msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux и David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "ВходÑщо име: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Ð’ Ñ€ÐµÐ°Ð»Ð½Ð¸Ñ Ð¶Ð¸Ð²Ð¾Ñ‚: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Каталог: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Обвивка: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Проект: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "План:\n" #: src/pinky.c:405 msgid "Login" msgstr "Вход " #: src/pinky.c:407 msgid "Name" msgstr "Име " #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Ðеактивен" #: src/pinky.c:411 msgid "When" msgstr "Кога" #: src/pinky.c:414 msgid "Where" msgstr "Къде" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l извежда в дълъг по-подробен формат за поÑочените " "ПОТРЕБИТЕЛи\n" " -b изпуÑка потребителÑÐºÐ¸Ñ Ð´Ð¾Ð¼Ð°ÑˆÐµÐ½ каталог в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" " -h изпуÑка потребителÑÐºÐ¸Ñ Ñ„Ð°Ð¹Ð» проект в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" " -p изпуÑка потребителÑÐºÐ¸Ñ Ñ„Ð°Ð¹Ð» план в Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" " -s извежда в кратък формат; по подразбиране е така\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f изпуÑка реда-антетка при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" " -w изпуÑка пълните имена при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" " -i изпуÑка пълните имена и отдалечените хоÑтове при къÑÐ¸Ñ " "формат\n" " -q изпуÑка пълните имена, отдалечените хоÑтове и\n" " време на неактивноÑÑ‚ при къÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Олекотена програма „finger“ -- извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° потребител.\n" "Файлът utmp ще бъде %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "при използване на -l трÑбва да Ñе поÑочи поне едно потребителÑко име" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 #, fuzzy msgid "Roland Huebner" msgstr "Pete TerMaat и Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "на „--pages=ПЪРВÐ_СТР[:ПОСЛ_СТР]“ липÑва аргумент" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "Ðеправилен диапазон от Ñтраници %s" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "“-l СТР_ДЪЛЖ“ неправилен брой редове: %s" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "“-N ÐОМЕР“ неправилен номер на ред: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "“-o ПОЛЕ“ неправилно отмеÑтване на редовете: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "“-w СТР_ШИР“ неправилен брой знаци: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "“-W СТР_ШИР“ неправилен брой знаци: %s" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "Ðе може да Ñе поÑочва номер на Ñтълбове при паралелен печат." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "Ðе може да Ñе задава едновременно уÑпореден печат и печат напреки." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "“-%c“ излишни знаци или неправилен номер в аргумент: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "ширината на Ñтраницата е твърде малка" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "началниÑÑ‚ номер на Ñтраница %<PRIuMAX> надминава Ð±Ñ€Ð¾Ñ Ñтраници %<PRIuMAX>" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "Препълване на номера на Ñтраница" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Стр. %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Форматира за печат ФÐЙЛовете по Ñтраници и Ñтълбове.\n" "\n" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ПЪРВÐ_СТР[:ПОСЛ_СТР], --pages=ПЪРВÐ_СТР[:ПОСЛ_СТР]\n" " започва/Ñвършва печата при ПЪРВÐ_СТР/ПОСЛ_СТР\n" " -COLUMN, --columns=СТЪЛБОВЕ\n" " извежда СТЪЛБОВЕ Ñтълба и отпечатва Ñтълбовете надолу,\n" " оÑвен ако е използвано -a. ПодравнÑва Ð±Ñ€Ð¾Ñ Ð½Ð° редове\n" " в Ñтълбовете на вÑÑка Ñтраница.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across печата Ñтълбовете напреки вмеÑто надолу, използва Ñе\n" " заедно Ñ -COLUMN\n" " -c, --show-control-chars\n" " използва Ð·Ð°Ð¿Ð¸Ñ ÑÑŠÑ ÑˆÐ°Ð¿ÐºÐ¸ (^G) и оÑмични чиÑла\n" " -d, --double-space\n" " двойни интервали в изхода\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=ФОРМÐТ\n" " да Ñе ползва ФОРМÐТ при датата на колонтитула\n" " -e[ЗÐÐК[ШИР]], --expand-tabs[=ЗÐÐК[ШИР]]\n" " разширÑва вÑеки входен ЗÐÐК като Ñ‚Ð°Ð±ÑƒÐ»Ð°Ñ†Ð¸Ñ ÑÑŠÑ Ð¨Ð˜Ð Ð¸Ð½Ð° " "(8)\n" " -F, -f, --form-feed\n" " Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ñтраниците Ñ form feed вмеÑто Ñ Ð½Ð¾Ð²Ð¸ редове\n" " (при -F има 3-редов горен колонтитул, а без -F има 5-" "редови\n" " горен и долен колонтитули)\n" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h ГКОЛОÐТ, --header=ГКОЛОÐТ\n" " ГКОЛОÐТ в Ñредата на Ð³Ð¾Ñ€Ð½Ð¸Ñ ÐºÐ¾Ð»Ð¾Ð½Ñ‚Ð¸Ñ‚ÑƒÐ» вмеÑто името на " "файла\n" " -h \"\" отпечатва празен ред, не ползвайте -h\"\"\n" " -i[ЗÐÐК[ШИР]], --output-tabs[=ЗÐÐК[ШИР]]\n" " Ð·Ð°Ð¼ÐµÐ½Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸Ñ‚Ðµ ÑÑŠÑ Ð—ÐÐЦи (табулации) ÑÑŠÑ Ð¨Ð˜Ð Ð¸Ð½Ð° (8)\n" " -J, --join-lines Ñлива пълните редове, Ð¾Ñ‚Ð¼ÐµÐ½Ñ Ñъкращаването на редове Ñ -" "W,\n" " без подравнÑване на Ñтълбовете, --sep-string[=ÐИЗ] " "поÑочва\n" " ограничителите\n" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l СТР_ДЪЛЖ, --length=СТР_ДЪЛЖ\n" " поÑочва дължина на Ñтраниците от СТР_ДЪЛЖ (66) реда\n" " (по подразбиране броÑÑ‚ редове на текÑÑ‚ е 56, Ñ -F -- " "63)\n" " -m, --merge извежда паралелно вÑички файлове, по един в Ñтълб.\n" " Ñъкращава редовете, но Ñ -J Ñлива пълните редове\n" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[РÐЗД[ЦИФРИ]], --number-lines[=РÐЗД[ЦИФРИ]]\n" " номерира редовете, номерата Ñа Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° ЦИФРИ (5), Ñлед " "Ñ‚ÑÑ… \n" " РÐЗД (табулации); по подразб. започва да брои от 1\n" " -N ÐОМЕР, --first-line-number=ÐОМЕР\n" " при номериране на редовете първиÑÑ‚ ред от първата " "Ñтраница\n" " е Ñ Ð½Ð¾Ð¼ÐµÑ€ ÐОМЕР (вж. +ПЪРВÐ_СТР)\n" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o ПОЛЕ, --indent=ПОЛЕ\n" " вÑеки ред е отмеÑтен Ñ ÐŸÐžÐ›Ð• (нула) интервала, не влиÑе " "на\n" " -w и -W, ПОЛЕ ще бъде добавено към СТР_ШИР\n" " -r, --no-file-warnings\n" " не предупреждава, ако файлът не може да бъде отворен\n" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ЗÐÐК],--separator[=ЗÐÐК]\n" " Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ñтълбовете Ñ ÐµÐ´Ð¸Ð½ знак, без -w по подразбиране " "e\n" " табулациÑ, а Ñ -w нÑма разделител. Без -s разделителÑÑ‚ " "е\n" " интервал. -s Ð¾Ñ‚Ð¼ÐµÐ½Ñ Ñъкращаването на редовете при " "вÑички\n" " опции за Ñтълбове (-СТЪЛБОВЕ|-a -СТЪЛБОВЕ|-m), оÑвен ако " "е\n" " зададено и -w\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ñтълбовете Ñ ÐИЗ; без -S, но Ñ -J разделител е " "табу-\n" " лациÑ, а без -J е интервал. Ðе влиÑе на Ñтълбовите " "опции.\n" " -t, --omit-header пропуÑка горните и долните колонтитули\n" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " не Ñлага горни и долни колонтитули, изпуÑка " "управлÑващите\n" " кодове form feed от входните файлове.\n" " -v, --show-nonprinting\n" " използва оÑмични чиÑла Ñ Ð½Ð°ÐºÐ»Ð¾Ð½ÐµÐ½Ð° черта (\\019)\n" " -w СТР_ШИР, --width=СТР_ШИР\n" " задава ширина на Ñтраницата от СТР_ШИР (72) знака при\n" " многоколонен извод, -s[знак] Ð¾Ñ‚Ð¼ÐµÐ½Ñ (72)\n" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W СТР_ШИР, --page-width=СТР_ШИР\n" " задава ширина на Ñтраницата от СТР_ШИР (72) знака " "винаги,\n" " Ñъкращава редовете, оÑвен ако е зададена Ð¾Ð¿Ñ†Ð¸Ñ -J, не " "Ñе\n" " влиÑе от -S и -s\n" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Ðко нÑма ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Използване: %s [ПРОМЕÐЛИВÐ]...\n" " или: %s ОПЦИЯ\n" "Ðко не е поÑочена ПРОМЕÐЛИВРот обкръжението, отпечатва вÑички.\n" "\n" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated завършва редовете Ñ Ð±Ð°Ð¹Ñ‚ 0 вмеÑто Ñ Ð½Ð¾Ð² ред\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "внимание: %s: знакът(знаците) Ñледващи знакова конÑтанта Ñа пренебрегнати" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s ФОРМÐТ [ÐРГУМЕÐТ]...\n" " или: %s ОПЦИЯ\n" #: src/printf.c:93 #, fuzzy msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Отпечатва ÐРГУМЕÐТ(ите) Ñпоред ФОРМÐТ.\n" "\n" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "ФОРМÐТ управлÑва изхода както при командата printf на Си. Разпознават Ñе:\n" "\n" " \\\" двойни прави кавички\n" " \\NNN знакът, чийто оÑмичен код е NNN (от 1 to 3 цифри)\n" " \\\\ обратна наклонена черта\n" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\xNN байт ÑÑŠÑ ÑˆÐµÑтнадеÑетичен код NN (от 1 до 2 цифри)\n" "\n" " \\uNNNN знак от Unicode (ISO/IEC 10646) ÑÑŠÑ 16-ичен код NNNN (4 цифри)\n" " \\UNNNNNNNN знак от Unicode ÑÑŠÑ ÑˆÐµÑтнадеÑетичен код NNNNNNNN (8 цифри)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% знак процент\n" " %b ÐРГУМЕÐТ, в който Ñе обработват обратните наклонени черти „\\“,\n" " но оÑмичните чиÑла имат вида \\0 или \\0NNN\n" "\n" "и вÑички форматни Ñпецификации на Си, завършващи ÑÑŠÑ Ð·Ð½Ð°Ðº измежду " "diouxXfeEgGcs.\n" "ÐРГУМЕÐТите Ñе преобразуват в Ð½ÑƒÐ¶Ð½Ð¸Ñ Ñ‚Ð¸Ð¿. Поддържат Ñе променливи ширини.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: очаква Ñе чиÑлова ÑтойноÑÑ‚" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: ÑтойноÑтта не е напълно преобразувана" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "липÑва шеÑтнадеÑетично чиÑло Ñлед \\" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "неправилно универÑално име на знак \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "неправилна ширина на поле: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "неправилна точноÑÑ‚: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: неправилна ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° преобразувание" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "внимание: пренебрегват Ñе излишните аргументи започвайки от %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "Ф. Пинард" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (за рег. израз %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Използване: %s [ОПЦИЯ]... [ВХОД]... (без -G)\n" " или: %s -G [ОПЦИЯ]... [ВХОД [ИЗХОД]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Извежда подреден азбучен показалец на думите и контекÑта им във входните " "файлове\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference извежда автоматично генерираните препратки\n" " -G, --traditional работи подобно на командата „ptx“ от System " "V\n" " -F, --flag-truncation=ÐИЗ обозначава Ñ ÐИЗ при Ñъкращаване на " "редовете\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=ÐИЗ използва ÐИЗ вмеÑто „xx“ за макроÑи\n" " -O, --format=roff извежда изход Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ за roff\n" " -R, --right-side-refs поÑÑ‚Ð°Ð²Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð°Ñ‚ÐºÐ¸Ñ‚Ðµ отдÑÑно, не Ñе броÑÑ‚ " "при -w\n" " -S, --sentence-regexp=РЕГИЗР за край на редовете или край на " "изречениÑта\n" " -T, --format=tex извежда изход Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ за TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=РЕГИЗР ползва РЕГИЗР като определÑщ какво е дума\n" " -b, --break-file=ФÐЙЛ думите Ñвършват при знак от този ФÐЙЛ\n" " -f, --ignore-case Ñортира еднакво главните и малките букви\n" " -g, --gap-size=БРОЙ мÑÑто между полетата в изхода\n" " -i, --ignore-file=ФÐЙЛ ФÐЙЛ Ñ Ð´ÑƒÐ¼Ð¸, които да Ñе пренебрегват\n" " -o, --only-file=ФÐЙЛ признават Ñе Ñамо думи от този ФÐЙЛ\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references първото поле на вÑеки ред е препратка\n" " -t, --typeset-mode - не е реализирана -\n" " -w, --width=БРОЙ ширина на изхода, препратките не Ñе броÑÑ‚\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´. „-F /“ Ñе " "подразбира.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "неправилна ширина на мÑÑтото между полетата: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Извежда пълното файлово име на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½ каталог.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "не може отвори каталогът %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "не може да Ñе изпълни stat за %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "не може да Ñе намери елемента на каталога в %s ÑÑŠÑ ÑъответÑтващ i-възел" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "пренебрегват Ñе аргументи, които не Ñа опции" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Използване: %s [ОПЦИЯ]... ФÐЙЛ...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Извежда ÑтойноÑтта на Ñимволна препратка на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" #: src/readlink.c:65 #, fuzzy msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize прави в канонична форма Ñледвайки вÑÑка " "Ñимволна\n" " връзка във вÑеки компонент на даденото име\n" " рекурÑивно; вÑички оÑвен поÑледниÑÑ‚ " "компонент\n" " трÑбва да ÑъщеÑтвуват\n" " -e, --canonicalize-existing прави в канонична форма Ñледвайки вÑÑка " "Ñимволна\n" " връзка във вÑеки компонент на даденото име\n" " рекурÑивно; компонентите трÑбва да " "ÑъщеÑтвуват\n" " -m, --canonicalize-missing прави в канонична форма Ñледвайки вÑÑка " "Ñимволна\n" " връзка във вÑеки компонент на да даденото " "име\n" " без изиÑÐºÐ²Ð°Ð½Ð¸Ñ Ð·Ð° ÑъщеÑтвуването на " "компонентите\n" " -n, --no-newline не Ñимволи за нов ред в краÑ\n" " -q, --quiet,\n" " -s, --silent потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешка\n" " -v, --verbose извежда ÑъобщениÑта за грешки\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -f, --canonicalize нормализира, Ñледвайки рекурÑивно вÑÑка Ñимволна\n" " връзка, коÑто е компонент на зададената пътека\n" " -n, --no-newline не извежда в ÐºÑ€Ð°Ñ Ð·Ð½Ð°Ðº за нов ред\n" " -q, --quiet,\n" " -s, --silent потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешка\n" " -v, --verbose Ñъобщава при наличие на грешка\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "пренебрегват Ñе аргументи, които не Ñа опции" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: да Ñе навлезе ли в Ð·Ð°Ñ‰Ð¸Ñ‚ÐµÐ½Ð¸Ñ Ñрещу Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: да Ñе навлезе ли в каталога %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: да Ñе изтрие ли %s ÑÑŠÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð° Ñрещу Ð·Ð°Ð¿Ð¸Ñ %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: да Ñе изтрие ли %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "каталогът %s е изтрит\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "не може да Ñе изтрие каталогът %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "пропуÑка Ñе %s тъй като е на друго уÑтройÑтво" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "не може да Ñе чете" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Опитайте „%s ./%s“, за да изтриете файла %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Изтрива (unlink) ФÐЙЛовете.\n" "\n" " -f, --force пренебрегва неÑъщеÑтвуващи файлове, не пита\n" " -i пита преди вÑÑко триене\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I пита веднъж преди изтриването на повече от три " "файла\n" " или при рекурÑивно триене. По-малко доÑадно от -" "i,\n" " но вÑе пак защитава Ñрещу повечето грешки\n" " --interactive[=КОГÐ] пита Ñпоред КОГÐ: never, once (-I) или always (-" "i).\n" " Без КОГРпита винаги\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system при рекурÑивно оÑтранÑване на файлове, пропуÑка\n" " каталози, които Ñа на файлова ÑиÑтема, различна " "от\n" " тази на ÑÑŠÐ¾Ñ‚Ð²ÐµÑ‚Ð½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root да не Ñе обработва „/“ по-оÑобено\n" " --preserve-root да не Ñе дейÑтва рекурÑивно от „/“ (по " "подразбиране)\n" " -r, -R, --recursive изтрива рекурÑивно каталозите и Ñъдържанието им\n" " -v, --verbose Ñъобщава какво Ñе прави\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "По подразбиране rm не изтрива каталози. За целта ползвайте опциÑта --" "recursive\n" "(-r или -R), коÑто ще изтрие вÑеки изброен каталог, заедно ÑÑŠÑ Ñъдържанието " "му.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "За да Ñе изтрие файл, чието име започва Ñ â€ž-“ (напр. „-трънки“),\n" "използвайте една от командите:\n" " %s -- -трънки\n" "\n" " %s ./-трънки\n" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Забележете, че ако използвате rm, за да изтриете даден файл, обикновено е\n" "възможно Ñъдържанието му да бъде възÑтановено. Ðко иÑкате да Ñи гарантирате, " "че\n" "Ñъдържанието му е напълно невъзÑтановимо, помиÑлете дали да не използвате " "shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: да Ñе изтриÑÑ‚ ли рекурÑивно вÑички аргументи? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: да Ñе изтриÑÑ‚ ли вÑички аргументи" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "каталогът %s Ñе изтрива" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "каталогът %s не може да Ñе затвори" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Изтрива КÐТÐЛОГ(зите), ако Ñа празни.\n" "\n" " --ignore-fail-on-non-empty\n" " пренебрегва вÑеки неуÑпех, дължащ Ñе Ñамо на това, че " "нÑкой\n" " каталог е бил непразен\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents изтрива КÐТÐЛОГ, Ñлед това Ñе опитва да изтрие вÑеки " "каталог,\n" " който е чаÑÑ‚ от поÑочената пътека. Ðапр. „rmdir -p a/b/c“ " "е\n" " като „rmdir a/b/c a/b a“.\n" " -v, --verbose извежда Ñъобщение за вÑеки обработен каталог\n" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "не може да Ñе отвори %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "не могат да Ñе получат атрибутите на %s" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "не е поÑочен номер на процеÑ" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "не може да Ñе отвори %s" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "не може да Ñе изпълни stat за %s" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "не може да Ñе изпълни stat за %s" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "не може да Ñе изпълни stat за %s" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "не може да Ñе изпълни stat за %s" #: src/runcon.c:255 #, fuzzy, c-format msgid "unable to set security context %s" msgstr "не може да Ñе възÑтановÑÑ‚ правата за доÑтъп до %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Използване: %s [ОПЦИЯ]... ПОСЛЕДÐО\n" " или: %s [ОПЦИЯ]... ПЪРВО ПОСЛЕДÐО\n" " или: %s [ОПЦИЯ]... ПЪРВО СТЪПКРПОСЛЕДÐО\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Извежда чиÑлата от ПЪРВО до ПОСЛЕДÐО ÑÑŠÑ Ñтъпка СТЪПКÐ.\n" "\n" " -f, --format=ФОРМÐТ използва ФОРМÐТ за плаваща Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ð½Ð° printf\n" " -s, --separator=ÐИЗ ползва ÐИЗ, за да Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ñ‡Ð¸Ñлата (по подразб. " "\\n)\n" " -w, --equal-width подравнÑва ширината, попълвайки в началото Ñ " "нули\n" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Ðко ПЪРВО или СТЪПКРÑа пропуÑнати, по подразбиране Ñе използва 1. Ðапример " "ако\n" "е пропуÑната СТЪПКÐ, по подразбиране Ñ‚Ñ Ðµ 1 дори и ако ПОСЛЕДÐО е по-малко " "от\n" "ПЪРВО. ПЪРВО, СТЪПКРИ ПОСЛЕДÐО Ñе интерпретират като чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° " "запетаÑ.\n" "Обикновено СТЪПКРе положителна, ако ПЪРВО е по-малко от ПОСЛЕДÐО и " "отрицателна\n" "иначе. ФОРМÐТът трÑбва да бъде подходÑщ за извеждането на едно чиÑло Ñ " "плаваща\n" "запетаÑ; по подразбиране е %.ТОЧÐОСТf, ако вÑÑко от ПЪРВО, СТЪПКРИ ПОСЛЕДÐО " "е\n" "чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ Ñ Ð¼Ð°ÐºÑимална точноÑÑ‚ TOЧÐОСТ и %g иначе.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "неправилно чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ ÐºÐ°Ñ‚Ð¾ аргумент: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s има непознат файлов тип" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "не може да Ñе използва форматен низ, когато Ñе извеждат низове Ñ ÐµÐ´Ð½Ð°ÐºÐ²Ð° " "ширина" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Използване: %s ПОТРЕБ_ИМЕ КОМÐÐДР[ÐРГУМЕÐТ]...\n" " или: %s ОПЦИЯ\n" #: src/setuidgid.c:55 #, fuzzy msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Отказва Ñе от вÑички допълнителни групи, приема Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð¸ групата на\n" "поÑоченото ПОТРЕБ_ИМЕ и изпълнÑва КОМÐÐДÐта Ñ Ð²Ñички поÑочени ÐРГУМЕÐТи.\n" "Приключва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние 111, ако не могат да Ñе приемат необходимите\n" "потребител и група. Ð’ противен Ñлучай приключва Ñ ÐºÐ¾Ð´Ð°-ÑÑŠÑтоÑние на\n" "КОМÐÐДÐта. Тази програма е полезна Ñамо ако Ñе изпълнÑва от root.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "непознат потребител: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "не може да Ñе уÑтанови допълнителна група" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "не може да Ñе приеме група %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "не може да Ñе приеме потребител %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Заличава многократно поÑочените ФÐЙЛ(ове) Ñ Ñ†ÐµÐ» да Ñе затрудни значително\n" "възÑтановÑването на данните от Ñ‚ÑÑ… дори и Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ðµ на Ñпециална " "апаратура.\n" "\n" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force ако трÑбва, Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñ€ÐµÐ¶Ð¸Ð¼ÑŠÑ‚ за доÑтъп, за да Ñе позволи " "запиÑ\n" " -n, --iterations=N Заличава N пъти (по подразбиране %d пъти)\n" " --random-source=ФÐЙЛ чете Ñлучайни байтове от ФÐЙЛ (вмеÑто /dev/" "urandom)\n" " -s, --size=N заличава N байта (приемат Ñе ÑуфикÑи като K, M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove Ñъкращава до нулева дължина и изтрива файла Ñлед " "заличаването\n" " -v, --verbose показва Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° напредъка\n" " -x, --exact не закръглÑва размерите на файловете до ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð¿ÑŠÐ»ÐµÐ½ " "блок;\n" " за Ñпециални файлове и каталози това е по подразбиране\n" " -z, --zero Ð½Ð°ÐºÑ€Ð°Ñ Ð·Ð°Ð»Ð¸Ñ‡Ð°Ð²Ð° Ñ Ð½ÑƒÐ»Ð¸, за да Ñе Ñкрие използването на " "shred\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Ðко ФÐЙЛ е -, заличава ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" "Изтрива ФÐЙЛ(овете), ако е поÑочена Ð¾Ð¿Ñ†Ð¸Ñ --remove (-u). По подразбиране\n" "файловете не Ñе изтриват, защото е обичайно shred да Ñе използва за " "уÑтройÑтва\n" "като /dev/hda, а обикновено такива файлове не трÑбва да Ñе изтриват. Когато " "Ñе\n" "дейÑтва върху обикновени файлове, повечето хора използват опциÑта --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "Ð’ÐИМÐÐИЕ: Забележете, че shred разчита на Ñледното ÑъщеÑтвено " "предположение:\n" "файловата ÑиÑтема заличава данните на мÑÑтото им. Традиционно Ñе прави " "точно\n" "това, но замиÑълът на много от модерните файлови ÑиÑтеми е такъв, че те не\n" "отговарÑÑ‚ на това предположение. Следват примери на файлови ÑиÑтеми, при " "които\n" "shred не е ефективна команда или поне не Ñе гарантира да бъде ефективна при\n" "вÑички режими на работа на файловата ÑиÑтема:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "- log-Ñтруктурираните или журнализирани файлови ÑиÑтеми като JFS, ReiserFS, " "XFS,\n" " Ext3 (включително файловите ÑиÑтеми, разпроÑтранÑвани Ñ AIX и Solaris)\n" "\n" "- файловите ÑиÑтеми, които запиÑват излишни данни и ги пазÑÑ‚, дори когато " "нÑкой\n" " запиÑва върху файла, например файловите ÑиÑтеми, използващи RAID\n" "\n" "- файловите ÑиÑтеми, които правÑÑ‚ копиÑ, като напр. NFS-Ñървърът на\n" " Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 #, fuzzy msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "- файловите ÑиÑтеми които кешират информациÑта на временни меÑта, например\n" " клиентите на NFS, верÑÐ¸Ñ 3\n" "\n" "- компреÑиращите файлови ÑиÑтеми\n" "\n" "По отношение на файловата ÑиÑтема ext3 горното предупреждение е приложимо\n" "(и Ñледователно shred е Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð° ефективноÑÑ‚) Ñамо в режим " "data=journal,\n" "при който оÑвен метаданни Ñе журнализират и данни от файловете. Както при\n" "data=ordered (по подразбиране), така и при data=writeback, shred работи\n" "както трÑбва. ЖурнализиращиÑÑ‚ режим на Ext3 може да бъде избран " "поÑредÑтвом\n" "добавÑне на Ð¾Ð¿Ñ†Ð¸Ñ data=нещо към опциите при монтиране на Ñъответната " "файлова\n" "ÑиÑтема във файла /etc/fstab, както това е опиÑано в man-Ñтраницата на " "mount\n" "(използвайте: man mount).\n" "\n" "ТрÑбва да Ñе има предвид още и това, че резервните ÐºÐ¾Ð¿Ð¸Ñ Ð¸ отдалечени " "огледала\n" "Ñъщо могат да Ñъдържат ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° файла, които не могат да бъдат отÑтранени и\n" "дават възможноÑÑ‚ заличениÑÑ‚ ÑÑŠÑ shred файл да бъде възÑтановен.\n" #: src/shred.c:215 #, fuzzy msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "- файлови ÑиÑтеми, които кешират информациÑта на временни меÑта, като " "клиентите\n" " на NFS верÑÐ¸Ñ 3\n" "\n" "- компреÑираните файлови ÑиÑтеми\n" "\n" "ОÑвен това резервните ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° файловите ÑиÑтеми могат да Ñъдържат ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð°\n" "файла, които не могат да бъдат изтрити и които ще позволÑÑ‚ по-къÑно " "изтритиÑÑ‚\n" "файл да бъде възÑтановен.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: неуÑпешно извикване на fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: неуÑпешно извикване на fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: битовете не могат да Ñе обръщат" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° отмеÑтване %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: неуÑпешно извикване на lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: файлът е твърде дълъг" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: неуÑпешно извикване на fstat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: недопуÑтим тип на файла" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: файлът има отрицателен размер" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: грешка при Ñъкращаване" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: неуÑпешно извикване на fcntl" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: не може да Ñе заличава файл Ñ Ñ€ÐµÐ¶Ð¸Ð¼ на доÑтъп Ñамо за добавÑне" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: изтриване" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: преименуван на %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: не може да Ñе отÑтрани" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: изтрит" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: не може да Ñе затвори" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: не може да Ñе отвори в режим за пиÑане" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: неправилен брой итерации" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "поÑочени Ñа много Ñлучайни източници" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: неправилен размер на файла" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Използване: %s [ОПЦИЯ]... [ФÐЙЛ]\n" " или: %s -e [ОПЦИЯ]... [ÐРГУМЕÐТ]...\n" " или: %s -i ОТ-ДО [ОПЦИЯ]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ Ñлучайни пермутации на входните редове.\n" "\n" #: src/shuf.c:60 #, fuzzy msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo работи Ñ Ð²Ñеки ÐРГУМЕÐТ като Ñ Ð²Ñ…Ð¾Ð´ÐµÐ½ ред\n" " -i, --input-range=ОТ-ДО работи Ñ Ð²ÑÑко чиÑло от ОТ до ДО като Ñ Ð²Ñ…Ð¾Ð´ÐµÐ½ " "ред\n" " -n, --head-lines=БРОЙ извежда най-много БРОЙ реда\n" " -o, --output=ФÐЙЛ извежда резултата във ФÐЙЛ вмеÑто на Ñтанд. " "изход\n" " --random-source=ФÐЙЛ чете Ñлучайни байтове от ФÐЙЛ (вмеÑто /dev/" "urandom)\n" " -z, --zero-terminated завършва редовете Ñ Ð½ÑƒÐ»ÐµÐ² байт вмеÑто Ñ Ð½Ð¾Ð² ред\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "поÑочени Ñа много опции -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "неправилен входен диапазон: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "неправилен брой редове: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "поÑочени Ñа твърде много изходни файлове" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "не може да Ñе комбинират опциите -e и -i" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Използване: %s ЧИСЛО[СУФИКС]...\n" " или: %s ОПЦИЯ\n" "Чака ЧИСЛО Ñекунди. СУФИКС може да бъде „s“ за Ñекунди (по подразбиране),\n" "“m“ за минути, „h“ за чаÑове или „d“ за дни. За разлика от повечето други\n" "реализации, при които ЧИСЛО трÑбва да бъде цÑло чиÑло, тук ЧИСЛО може да " "бъде\n" "произволно чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°Ñ‰Ð° запетаÑ. При повече от един аргументи чака " "Ñумата\n" "от поÑочените времена.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "неправилен интервал за време %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "не може да Ñе чете чаÑовникът в реално време" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ Ñортирана ÐºÐ¾Ð½ÐºÐ°Ñ‚ÐµÐ½Ð°Ñ†Ð¸Ñ Ð½Ð° вÑички ФÐЙЛ(ове).\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Опции, определÑщи наредбата:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks не отчита интервалите в началото\n" " -d, --dictionary-order отчита Ñамо интервалите и буквено-цифровите " "знаци\n" " -f, --ignore-case приравнÑва малките Ñ Ð³Ð»Ð°Ð²Ð½Ð¸Ñ‚Ðµ букви\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort ÑравнÑва Ñпоред общата чиÑлова ÑтойноÑÑ‚\n" " -i, --ignore-nonprinting отчита Ñамо печатните знаци\n" " -M, --month-sort ÑравнÑва (неизвеÑтно) < `ЯÐУ' < ... < `ДЕК'\n" " -n, --numeric-sort ÑравнÑва Ñпоред чиÑловата ÑтойноÑÑ‚ на " "низовете\n" " -R, --random-sort Ñортира Ñпоред Ñлучаен хеш\n" " --random-source=FILE чете Ñлучайни байтове от ФÐЙЛ (вмеÑто /dev/" "urandom)\n" " -r, --reverse Ñортира в обратен ред\n" "\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -g, --general-numeric-sort ÑравнÑва Ñпоред общата чиÑлова ÑтойноÑÑ‚\n" " -i, --ignore-nonprinting отчита Ñамо печатните знаци\n" " -M, --month-sort ÑравнÑва (неизвеÑтно) < `ЯÐУ' < ... < `ДЕК'\n" " -n, --numeric-sort ÑравнÑва Ñпоред чиÑловата ÑтойноÑÑ‚ на " "низовете\n" " -R, --random-sort Ñортира Ñпоред Ñлучаен хеш\n" " --random-source=FILE чете Ñлучайни байтове от ФÐЙЛ (вмеÑто /dev/" "urandom)\n" " -r, --reverse Ñортира в обратен ред\n" "\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 #, fuzzy msgid "" "Other options:\n" "\n" msgstr "" "Опции, определÑщи наредбата:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Други опции:\n" "\n" " -c, --check проверÑва дали входът е Ñортиран; не Ñортира\n" " -k, --key=ПОЗ1[,ПОЗ2] Ñортира по ключ от ПОЗ1 до ПОЗ2 (брои Ñе от 1)\n" " -m, --merge Ñлива вече Ñортирани файлове; не Ñортира\n" " -o, --output=ФÐЙЛ запиÑва резултата във ФÐЙЛ вмеÑто на Ñтанд. " "изход\n" " -s, --stable Ñтабилизира sort пропуÑкайки last-resort " "comparison\n" " -S, --buffer-size=РÐЗМ използва буфер в паметта Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=РÐЗД ползва РÐЗД вмеÑто преход от видим знак към " "интерв.\n" " -T, --temporary-directory=КÐТ каталог за временни файлове вмеÑто $TMPDIR " "или\n" " %s; нÑколко такива опции за нÑколко каталога\n" " -u, --unique Ñ â€ž-c“ проверÑва за Ñтрога наредба; иначе\n" " извежда Ñамо Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¾Ñ‚ група еквивалентни " "редове\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated завършва редовете Ñ Ð±Ð°Ð¹Ñ‚ 0 вмеÑто Ñ Ð½Ð¾Ð² ред\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "ПОЗ е F[.C][ОПЦ], където F е номер на поле, а C - мÑÑтото на знака в\n" "полето, броейки от 1. Ðко нито -t, нито -b е активно, знаците Ñе\n" "броÑÑ‚ от началото на предхождащото бÑло поле. ОПЦ е една или повече\n" "еднобуквени опции за наредба на буквите, които има приоритет при това\n" "поле пред глобалните опции за наредба. Ðко не е поÑочено поле, като\n" "поле Ñе ползва целиÑÑ‚ ред.\n" "\n" "РÐЗМ може да бъде Ñледван от нÑкой от Ñледните множители:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% от паметта, b 1, K 1024 (по подразб.) и Ñ‚.н. за M, G, T, P, E, Z, Y.\n" "\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" "*** Ð’ÐИМÐÐИЕ ***\n" "Локалът, поÑочен в обкръжението, влиÑе на наредбата.\n" "Използвайте LC_ALL=C, за да получите традиционната наредба,\n" "коÑто ÑравнÑва Ñпоред кодовете на знаците.\n" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð² %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "не може да Ñе направи временен файл %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "неуÑпешно отварÑне на файл" #: src/sort.c:970 msgid "fflush failed" msgstr "неуÑпешно извикване на fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "неуÑпешно затварÑне на файл" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "неуÑпешно отварÑне на файл" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "не може да Ñе направи временен файл" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "не може да Ñе Ñъздаде каталог %s" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "внимание: не може да Ñе изтрие: %s" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "неправилен аргумент %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "двуÑмиÑлен аргумент %s за %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: броÑÑ‚ „%.*s“ е твърде голÑм" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "файл не може да бъде открит" #: src/sort.c:1755 msgid "read failed" msgstr "не може да Ñе чете" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "неуÑпешно преобразуване на низ" #: src/sort.c:2046 #, fuzzy, c-format msgid "the untransformed string was %s" msgstr "ÐепреобразуваниÑÑ‚ низ беше %s." #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: опциÑта „%s“ е двуÑмиÑлена\n" msgstr[1] "%s: опциÑта „%s“ е двуÑмиÑлена\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "неуÑпешен запиÑ" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: разбърканоÑÑ‚: " #: src/sort.c:2786 msgid "standard error" msgstr "Ñтандартната грешка" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: битовете не могат да Ñе обръщат" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: неправилна ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° поле %s" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "опциите „-%s“ Ñа неÑъвмеÑтими" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: неправилен брой в началото на %s" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "неправилно чиÑло Ñлед „-“" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "неправилно чиÑло Ñлед „.“" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "неочакван знак в ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð° поле" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "поÑочени Ñа много формати за изхода" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "неправилно чиÑло в началото на поле" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "номерът на поле е нула" #: src/sort.c:4392 msgid "character offset is zero" msgstr "отмеÑтването в знаци е нула" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "неправилно чиÑло Ñлед „,“" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "празна табулациÑ" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "не може да Ñе четат файлови имена от %s" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "неправилно файлово име Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° нула" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "допълнителниÑÑ‚ операнд %s не е позволен Ñ -c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Използване: %s [ОПЦИЯ] [ВХОД [ПРЕФИКС]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Ð Ð°Ð·Ð´ÐµÐ»Ñ Ð’Ð¥ÐžÐ” на парчета ПРЕФИКСaa, ПРЕФИКСab,... Ñ Ñ„Ð¸ÐºÑиран размер. По \n" "подразбиране ПРЕФИКС е „xx“, а размерът - 1000 реда. Без ВХОД или ако ВХОД " "e -,\n" "чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N ползва ÑуфикÑи Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° N (по подразбиране %d)\n" " -b, --bytes=РÐЗМ дели на парчета Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ РÐЗМ байта\n" " -C, --line-bytes=РÐЗМ Ñ€Ð°Ð·Ð´ÐµÐ»Ñ Ð¿Ð¾ редове до РÐЗМ байта на изходен файл\n" " -d, --numeric-suffixes ползва чиÑлови ÑуфикÑи вмеÑто буквени\n" " -l, --lines=ЧИСЛО дели на по ЧИСЛО редове на изходен файл\n" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose Ñъобщава на Ñтандартната грешка преди отварÑнето\n" " на вÑеки изходен файл\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Изчерпаха Ñе ÑуфикÑите за изходни файлове" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "Ñъздава Ñе файл %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "неразбираема ÑтойноÑÑ‚ на променливата от обкръжението LS_COLORS" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "не може да Ñе изпълни stat за %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "Ð·Ð°Ñ‚Ð²Ð°Ñ€Ñ Ñе каталогът %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "затварÑне на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "затварÑне на Ð²Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "неуÑпешно изпълнение на командата %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "каталогът %s не може да Ñе затвори" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "не може да Ñе цепи по повече от един начин" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: неправилен брой Ñекунди" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: недопуÑтимо чиÑло" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: неправилна дължина на ÑуфикÑ" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: неправилен брой байтове" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: неправилен брой редове" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "опциÑта за брой редове -%s%c... е твърде голÑмa" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "неправилен начален номер на ред: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: неправилен размер на файла" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "хоÑÑ‚-името не може да бъде определено" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "не може да Ñе отвори %s" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "внимание: неразпозната команда Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð° наклонена черта „\\%c“" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: неправилна команда" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "внимание: обратна наклонена черта в ÐºÑ€Ð°Ñ Ð½Ð° форматен низ" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "не може да Ñе прочете от файловата ÑиÑтема Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° %s" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "затварÑне на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Извежда ÑÑŠÑтоÑнието на файл или файлова ÑиÑтема.\n" "\n" " -L, --dereference Ñледва Ñимволните връзки\n" " -f, --file-system извежда ÑÑŠÑтоÑнието на файловата ÑиÑтема, вмеÑто на " "файла\n" #: src/stat.c:1360 #, fuzzy msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=ФОРМÐТ да Ñе използва поÑочениÑÑ‚ ФОРМÐТ, вмеÑто " "Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ñе;\n" " да Ñе изведе нов ред Ñлед вÑÑко използване на " "ФОРМÐТ\n" " --printf=ФОРМÐТ като --format, но да Ñе интерпретират обратно " "наклонените черти\n" " и да не Ñе извежда Ð·Ð°Ð´ÑŠÐ»Ð¶Ð¸Ñ‚ÐµÐ»Ð½Ð¸Ñ Ð·Ð°Ð²ÑŠÑ€ÑˆÐ²Ð°Ñ‰ нов " "ред.\n" " Ðко иÑкате нов ред, вмъкнете \\n във ФОРМÐТ.\n" " -t, --terse информациÑта да Ñе извежда в Ñбита форма\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "ДопуÑтими ФОРМÐТи за файлове (без --file-system) Ñа:\n" "\n" " %a Режим за доÑтъп като оÑмично чиÑло\n" " %A Режим за доÑтъп във формат удобен за четене от хора\n" " %b Брой заделени блокове (вж. %B)\n" " %B Размерът в байтове на вÑеки блок, Ñъобщен от %b\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d ДеÑетичен номер на уÑтройÑтво\n" " %D ШеÑтнадеÑетичен номер на уÑтройÑтво\n" " %f ШеÑтнадеÑетичен Ñуров режим (raw mode)\n" " %F Тип на файла\n" " %g Ðомер на групата на ÑобÑтвеника\n" " %G Име на групата на ÑобÑтвеника\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Брой твърди връзки\n" " %i Ðомер на i-възел\n" " %n Име на файла\n" " %N Име на файла в кавички и Ñочен файл, ако е Ñимволна връзка\n" " %o размер на входно-Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº\n" " %s Общ размер в байтове\n" " %t ГолÑм шеÑтнадеÑетичен номер на уÑтройÑтво\n" " %T Малък шеÑтнадеÑетичен номер на уÑтройÑтво\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ПотребителÑки номер на ÑобÑтвеника\n" " %U ПотребителÑко име на ÑобÑтвеника\n" " %x Време на поÑледен доÑтъп\n" " %X Време на поÑледен доÑтъп в Ñекунди от Епохата\n" " %y Време на поÑледно изменение (modification)\n" " %Y Време на поÑледно изменение в Ñекунди от Епохата\n" " %z Време на поÑледна промÑна (change)\n" " %Z Време на поÑледна промÑна в Ñекунди от Епохата\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Валидни формати за файловите ÑиÑтеми Ñа:\n" "\n" " %a Свободни блокове, доÑтъпни за обикновени потребители\n" " %b Общ брой блокове за данни във файловата ÑиÑтема\n" " %c Общ брой файлови възли във файловата ÑиÑтема\n" " %d Свободни файлови възли във файловата ÑиÑтема\n" " %f Свободни блокове във файловата ÑиÑтема\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i ШеÑтнадеÑетичен Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° файловата ÑиÑтема\n" " %l МакÑимална дължина на файловите имена\n" " %n Име на файла\n" " %s Оптимален размер на блока за бърз транÑфер\n" " %S ОÑновен размер на блока (при броене на блоковете)\n" " %t Типът като шеÑтнадеÑетично чиÑло\n" " %T Типът във вид за четене от човек\n" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Използване: %s [ОПЦИЯ]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "не може да Ñе отвори %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Използване: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [ÐÐСТРОЙКÐ]...\n" " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all]\n" " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Извежда или Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтиките на терминала\n" "\n" " -a, --all извежда вÑички текущи наÑтройки в удобен за четене вид\n" " -g, --save извежда вÑички текущи наÑтройки във формат, четим от " "stty\n" " -F, --file=УСТРОЙСТВО Ð¾Ñ‚Ð²Ð°Ñ€Ñ Ð¸ използва поÑоченото УСТРОЙСТВО вмеÑто Ñтд." "вход\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "ÐœÐ¸Ð½ÑƒÑ Ð¿Ñ€ÐµÐ´Ð¸ ÐÐСТРОЙКРпоказва отрицание. Знак * означава не POSIX " "наÑтройка.\n" "Кои наÑтройки Ñа допуÑтими завиÑи от използваната ÑиÑтема.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "УправлÑващи кодове:\n" " * dsusp ЗÐÐК ЗÐÐК ще изпрати Ñигнал terminal stop, когато входът " "изпрати\n" " eof ЗÐÐК ЗÐÐК ще изпрати Ñигнал край на файл (ще прекрати входа)\n" " eol ЗÐÐК ЗÐÐК ще завърши реда\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 ЗÐÐК алтернативен ЗÐÐК за край на реда\n" " erase ЗÐÐК ЗÐÐК ще изтрие поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÐ½ знак\n" " intr ЗÐÐК ЗÐÐК ще изпрати Ñигнал за прекъÑване\n" " kill ЗÐÐК ЗÐÐК ще изтрие Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€ÐµÐ´\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext ЗÐÐК ЗÐÐК ще въведе ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð·Ð½Ð°Ðº буквално, дори ако е " "управлÑващ\n" " quit ЗÐÐК ЗÐÐК ще изпрати Ñигнал „изход“\n" " * rprnt ЗÐÐК ЗÐÐК ще пречертае Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ñ€ÐµÐ´\n" " start ЗÐÐК ЗÐÐК ще възобнови извеждането, Ñлед като е било прекъÑнато\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop ЗÐÐК ЗÐÐК ще Ñпре извеждането\n" " susp ЗÐÐК ЗÐÐК ще изпрати Ñигнал „Ñпиране на терминала“\n" " * swtch ЗÐÐК ЗÐÐК ще превключи на друг Ñлой на обвивката (shell layer)\n" " * werase ЗÐÐК ЗÐÐК ще изтрие поÑледната въведена дума\n" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Специални наÑтройки:\n" " N поÑочва ÑкороÑти за входа и изхода N бода\n" " * cols N казва на Ñдрото, че терминалът има N Ñтълба\n" " * columns N Ñъщото като cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N поÑочва ÑкороÑÑ‚ на входа N бода\n" " * line N ползва редова диÑциплина N\n" " min N Ñ -icanon поÑочва поне N знака за завършено четене\n" " ospeed N поÑочва ÑкороÑÑ‚ на изхода N бода\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N казва на Ñдрото, че терминалът има N реда\n" " * size извежда Ð±Ñ€Ð¾Ñ Ñ€ÐµÐ´Ð¾Ð²Ðµ и Ñтълбове Ñпоред Ñдрото\n" " speed извежда ÑкороÑтта на терминала\n" " time N Ñ -icanon поÑочва прекъÑване при четене до N деÑети от " "Ñекундата\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "УправлÑващи наÑтройки:\n" " [-]clocal забранÑва Ñигналите управлÑващите Ñигнали за модем\n" " [-]cread позволÑва да Ñе получава входа\n" " * [-]crtscts позволÑва диалог (handshaking) RTS/CTS\n" " csN поÑочва размер на знаците до N бита, N е от 5 до 8\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb използва два Ñтоп-бита на знак (един Ñ â€ž-“)\n" " [-]hup изпраща Ñигнал за увиÑване, ako вÑички процеÑи затворÑÑ‚ " "tty\n" " [-]hupcl Ñъщото като [-]hup\n" " [-]parenb генерира на изхода и очаква на входа бит за четноÑÑ‚\n" " [-]parodd поÑочва текова четноÑÑ‚ (четна Ñ â€ž-“)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "ÐаÑтройки на входа:\n" " [-]brkint прекъÑваниÑта да довеждат до Ñигнал за прекъÑване\n" " [-]icrnl превежда кодовете за връщане на курÑора в кодове за нов " "ред\n" " [-]ignbrk пренебрегва знаците за прекъÑване\n" " [-]igncr пренебрегва знаците за връщане на курÑора\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar пренебрегва знаците Ñ Ð³Ñ€ÐµÑˆÐºÐ° на четноÑтта\n" " * [-]imaxbel звуков Ñигнал и запазване на препълнен буфер при нов знак\n" " [-]inlcr превежда кодовете за нов ред в кодове за връщане на " "курÑора\n" " [-]inpck позволÑва проверка за четноÑтта на входа\n" " [-]istrip изчиÑтва ÑÑ‚Ð°Ñ€ÑˆÐ¸Ñ (8-миÑ) бит на входните знаци\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 да Ñе предполага, че входните знаци Ñа кодирани в UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc превежда знаците от горен региÑтър в долен региÑтър\n" " * [-]ixany вÑеки знак да реÑтартира извеждането (не Ñамо знака за " "Ñтарт)\n" " [-]ixoff позволÑва изпращането на знаци за Ñтарт/Ñтоп\n" " [-]ixon позволÑва управление на потока XON/XOFF (Ñ‚.е. Ctrl-S/Ctrl-" "Q)\n" " [-]parmrk маркира грешките по четноÑÑ‚ (Ñ Ð¿Ð¾ÑледователноÑÑ‚ 255-0)\n" " [-]tandem Ñъщото като [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "ÐаÑтройки на извеждането:\n" " * bsN Ñтил за задържане на backspace, N е 0 или 1\n" " * crN Ñтил за задържане на връщане на курÑора, N е от 0 до 3\n" " * ffN Ñтил за задържане на код за нова Ñтраница, N е 0 или 1\n" " * nlN Ñтил за задържане на код за нов ред, N е 0 или 1\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl превежда кодовете за връщане на курÑора в кодове за нов " "ред\n" " * [-]ofdel използва кодове delete за попълване вмеÑто null\n" " * [-]ofill използва попълващи кодове вмеÑто Ñинхронизиране при " "забавÑне\n" " * [-]olcuc превежда знаците от долен региÑтър в знаци от горен " "региÑтър\n" " * [-]onlcr превежда кодовете нов ред в кодове връщане на курÑора и нов " "ред\n" " * [-]onlret кодът за нов ред оÑъщеÑтвÑва връщане на курÑора\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr не извежда знаци за връщане на курÑора в Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñтълб\n" " [-]opost дообработка (postprocess) на изхода\n" " * tabN Ñтил за задържане на кодове за хориз. табулациÑ, N е от 0 " "до 3\n" " * tabs Ñъщото като tab0\n" " * -tabs Ñъщото като tab3\n" " * vtN Ñтил за задържане на кодове за вертик. табулациÑ, N е 0 или " "1\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Локални наÑтройки:\n" " [-]crterase ехо на кодовете за изтриване като backspace-интервал-" "backspace\n" " * crtkill убива реда Ñпоред на наÑтройките echoprt и echoe\n" " * -crtkill убива реда Ñпоред на наÑтройките echoctl и echok\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho ехо на управлÑващите кодове Ñ ÑˆÐ°Ð¿ÐºÐ¸ (“^c“)\n" " [-]echo ехо на входните знаци\n" " * [-]echoctl Ñъщото като [-]ctlecho\n" " [-]echoe Ñъщото като [-]crterase\n" " [-]echok ехо на нов ред Ñлед код за убиване\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke Ñъщото като [-]crtkill\n" " [-]echonl ехо на нов ред дори ако не е имало ехо на други Ñимволи\n" " * [-]echoprt ехо на изтритите знаци назад, между „\\“ и „/“\n" " [-]icanon позволÑва управлÑващите кодове за erase, kill, werase и " "rprnt\n" " [-]iexten позволÑва управлÑващите кодове, които не отговарÑÑ‚ на " "POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig позволÑва управлÑващите кодове за interrupt, quit и " "suspend\n" " [-]noflsh забранÑва моменталното извеждане Ñлед кодове interrupt и " "quit\n" " * [-]prterase Ñъщото като [-]echoprt\n" " * [-]tostop Ñпира фоновите задачи, които Ñе опитват да пишат на " "терминала\n" " * [-]xcase Ñ icanon извежда главните букви като предшеÑтвани от „\\“ " "малки\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Комбинирани наÑтройки:\n" " * [-]LCASE Ñъщото като [-]lcase\n" " cbreak Ñъщото като -icanon\n" " -cbreak Ñъщото като icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked Ñъщото като brkint ignpar istrip icrnl ixon opost isig " "icanon\n" " управлÑващите Ñимволи eof и eol имат Ñтандартното Ñи " "значение\n" " -cooked Ñъщото като raw\n" " crt Ñъщото като echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec Ñъщото като echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq Ñъщото като [-]ixany\n" " ek управлÑващите Ñимволи erase и kill ÑÑŠÑ Ñтандартната Ñи " "ÑтойноÑÑ‚\n" " evenp Ñъщото като parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp Ñъщото като -parenb cs8\n" " * [-]lcase Ñъщото като xcase iuclc olcuc\n" " litout Ñъщото като -parenb -istrip -opost cs8\n" " -litout Ñъщото като parenb istrip opost cs7\n" " nl Ñъщото като -icrnl -onlcr\n" " -nl Ñъщото като icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp Ñъщото като parenb parodd cs7\n" " -oddp Ñъщото като -parenb cs8\n" " [-]parity Ñъщото като [-]evenp\n" " pass8 Ñъщото като -parenb -istrip cs8\n" " -pass8 Ñъщото като parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw Ñъщото като -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw Ñъщото като\n" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane Ñъщото като -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, вÑички управлÑващи\n" " знаци запазват Ñтандартната Ñи ÑтойноÑÑ‚.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "УправлÑва терминалната линиÑ, Ñвързана на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Без аргументи\n" "извежда ÑкороÑтта в бодове (Ñ‚.е. бит/Ñек), диÑциплината на линиÑта и\n" "различиÑта от stty sane. Ð’ наÑтройките ЗÐÐК Ñе задава буквално или кодиран\n" "като ^c, 0x37, 0177 или 127; Ñпециалните ÑтойноÑти ^- и undef Ñе използват,\n" "за да Ñе забранÑÑ‚ Ñъответните управлÑващи знаци.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "може да Ñе поÑочва Ñамо едно уÑтройÑтво" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "опциите за подробен и stty-четим изходен Ñтил\n" "взаимно Ñе изключват" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "при поÑочване на изходен Ñтил не може да Ñе наÑтройват режими" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: не може да Ñе презададе режимът non-blocking" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "неправилен аргумент %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "липÑва аргумент за %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "неправилна диÑциплина на редовете %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: не може да Ñе оÑъщеÑтвÑÑ‚ вÑички поиÑкани операции" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: нÑма Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° размера на това уÑтройÑтво" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "неправилен чиÑлов аргумент %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 #, fuzzy msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour и David MacKenzie" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Извежда контролна Ñума и количеÑтвото блокове на вÑеки ФÐЙЛ.\n" "\n" " -r Ð¾Ñ‚Ð¼ÐµÐ½Ñ -s, използва ÑÑƒÐ¼Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚ÑŠÐ¼ на BSD, блокове от " "1K\n" " -s, --sysv ползва ÑÑƒÐ¼Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚ÑŠÐ¼ на System V, блокове от 512 " "байта\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "ЗапиÑва на диÑка изменените блокове, актуализира Ñуперблока.\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "вÑички аргументи Ñе пренебрегват" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "ЗÐБЕЛЕЖКÐ: Обвивката ви може да има ÑÐ²Ð¾Ñ ÑобÑтвена верÑÐ¸Ñ Ð½Ð° %s.\n" "Ð¢Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¾ Ñе предпочита пред верÑиÑта, опиÑана тук. ÐœÐ¾Ð»Ñ Ð¾Ð±ÑŠÑ€Ð½ÐµÑ‚Ðµ Ñе\n" "към документациÑта на използваната от Ð²Ð°Ñ Ð¾Ð±Ð²Ð¸Ð²ÐºÐ° за поддържаните от Ð½ÐµÑ " "опции.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help извежда тази Ñправка и завършва\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑта и завършва\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Ðргументите, задължителни за дългите опции, Ñа задължителни и за къÑите.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Съобщавайте за програмни грешки на <%s>.\n" "За грешки в българÑÐºÐ¸Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´ на <dict@fsa-bg.org>\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Използвайте „%s --help“ за повече информациÑ.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "Ð’ÐИМÐÐИЕ: Циклична каталожна Ñтруктура.\n" "Това почти ÑÑŠÑ ÑигурноÑÑ‚ означава, че имате повредена файлова ÑиÑтема.\n" "ИЗВЕСТЕТЕ Ð’ÐШИЯ СИСТЕМЕРÐДМИÐИСТРÐТОР.\n" "СледващиÑÑ‚ каталог е чаÑÑ‚ от цикъла:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ вÑеки ФÐЙЛ, поÑледениÑÑ‚ ред е пръв.\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¸, а не Ñлед\n" " -r, --regex интерпретира Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ ÐºÐ°Ñ‚Ð¾ регулÑрен израз\n" " -s, --separator=ÐИЗ вмеÑто кода за нов ред, използва като разделител " "ÐИЗ\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: неуÑпешно позициониране (seek) във файл" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "твърде дълъг запиÑ" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "не може да Ñе направи временен файл %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: не може да Ñе отвори в режим за пиÑане" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "времената на %s не можаха да Ñе запазÑÑ‚" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: грешка при запиÑ" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "не може да Ñе отвори %s за четене" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "разделителÑÑ‚ не може да бъде празен" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ поÑледните %d реда от вÑеки ФÐЙЛ.\n" "Ðко има повече от един ФÐЙЛ, преди вÑеки поÑÑ‚Ð°Ð²Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ðµ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ‚Ð¾ име.\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " извежда добавÑните данни при нараÑтване на " "файла;\n" " -f, --follow и --follow=descriptor Ñа " "еквивалентни\n" " -F Ñъщото като --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N извежда поÑледните N реда вмеÑто поÑледните %d\n" " --max-unchanged-stats=N\n" " Ñ --follow=name Ð¾Ñ‚Ð²Ð°Ñ€Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ вÑеки ФÐЙЛ, който " "не\n" " Ñи е Ñменил размера Ñлед N (Ñтандартно %d) " "итерации,\n" " за да Ñе провери, дали не е бил изтрит или\n" " преименуван (което е обичайно при завъртане на\n" " журналните файлове)\n" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID Ñ -f завършва Ñлед като процеÑÑŠÑ‚ Ñ Ð½Ð¾Ð¼ÐµÑ€ PID " "умре\n" " -q, --quiet, --silent не извежда Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена\n" " -s, --sleep-interval=S Ñ -f интервалът между итерациите е около S " "Ñекунди\n" " (Ñтандартно 1.0)\n" " -v, --verbose винаги извежда Ð·Ð°Ð³Ð»Ð°Ð²Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ‚Ðµ имена\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Ðко първиÑÑ‚ знак в N (броÑÑ‚ байтове или редове) е „+“, извеждането започва\n" "от N-Ñ‚Ð¸Ñ Ñ€ÐµÐ´ или знак от началото на вÑеки от файловете. Ð’ противен Ñлучай\n" "извежда поÑледните N реда или знака от вÑеки файл. N може да има\n" "ÑуфикÑ-множител: b за 512, k за 1024, m за 1024*1024.\n" "\n" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Това Ñтандартно поведение не е желателно, ако иÑкате да Ñледите файла Ñ\n" "поÑоченото име, а не Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð´ÐµÑкриптор (което е важно напр. при завъртане " "на\n" "журналните файлове). Ð’ този Ñлучай използвайте --follow=name и tail ще " "отварÑ\n" "многократно файла, за да провери дали той не е бил отÑтранен или Ñъздаден\n" "нов файл ÑÑŠÑ Ñъщото име от друга програма.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "ЗатварÑне на %s (файлов деÑкриптор=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: не може да Ñе отиде на отноÑително отмеÑтване %s във файла" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: не може да Ñе отиде на отмеÑтване %s отноÑно ÐºÑ€Ð°Ñ Ð½Ð° файла" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s е Ñтанал недоÑтъпен" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s е бил заменен Ñ Ñ„Ð°Ð¹Ð», който е недоÑтъпен за tail; tail повече нÑма да го " "Ñледи" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s е бил заменен Ñ Ñ„Ð°Ð¹Ð», който е недоÑтъпен за tail; tail повече нÑма да го " "Ñледи" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s е Ñтанал доÑтъпен" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s Ñе е поÑвил; Ñледва Ñе краÑÑ‚ на Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s е бил заменен; Ñледва Ñе краÑÑ‚ на Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: не може да Ñе Ñмени режимът non-blocking" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: файлът е Ñъкратен" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "нÑма повече файлове" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "не може да Ñе намери текущиÑÑ‚ каталог (Ñега %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "паметта е изчерпана" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "не може да Ñе въздейÑтва на %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "грешка при четене на %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: не може да Ñе Ñледва ÐºÑ€Ð°Ñ Ð½Ð° този тип файлове; tail нÑма да Ñледи този " "файл" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "номерът в %s е твърде голÑм" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: неправилен макÑимален брой доÑтъпи без промÑна между отварÑниÑта" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: неправилен номер на процеÑ" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: неправилен брой Ñекунди" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "опциÑ, използване в грешен контекÑÑ‚ -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "внимание: опциÑта --retry обикновено е полезна Ñамо Ñ --follow=name" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "внимание: пренебрегва Ñе номера на процеÑ; --pid=PID е полезно Ñамо при " "Ñледване" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "внимание: --pid=PID не Ñе поддържа на тази ÑиÑтема" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "не може да Ñе Ñледва %s Ñпоред името" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "внимание: безкрайното Ñледване на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ е безполезно" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Копира ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ във вÑеки от ФÐЙЛовете, а Ñъщо и на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "изход.\n" "\n" " -a, --append Ð´Ð¾Ð±Ð°Ð²Ñ ÐºÑŠÐ¼ поÑочените ФÐЙЛове, а не ги замеÑтва\n" " -i, --ignore-interrupts пренебрегва Ñигналите за прекъÑване\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Ðко ФÐЙЛ е -, копира отново към ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "липÑва аргумент Ñлед %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "неправилно цÑло чиÑло %s" #: src/test.c:241 msgid "')' expected" msgstr "очаква Ñе „)“" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "очаква Ñе „)“, а е намерен %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: очаква Ñе унарна операциÑ" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt не допуÑка -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef не приема -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot не приема -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "непозната двумеÑтна операциÑ" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: очаква Ñе двумеÑтна операциÑ" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Използване: test ИЗРÐЗ\n" " или: test\n" " или: [ ИЗРÐЗ ]\n" " или: [ ]\n" " или: [ ОПЦИЯ\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, определен от ИЗРÐЗ.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Ðко ИЗРÐЗ е изпуÑнат, Ñе приема лъжа. Иначе ИЗРÐЗ е иÑтина и лъжа и " "определÑ\n" "кода на завършване. Той може да бъде:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( ИЗРÐЗ ) ИЗРÐЗ е иÑтина\n" " ! ИЗРÐЗ ИЗРÐЗ е лъжа\n" " ИЗРÐЗ1 -a ИЗРÐЗ2 както ИЗРÐЗ1, така и ИЗРÐЗ2 Ñа иÑтина\n" " ИЗРÐЗ1 -o ИЗРÐЗ2 поне един от ИЗРÐЗ1 и ИЗРÐЗ2 е иÑтина\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] ÐИЗ ÐИЗ е Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð° дължина\n" " ÐИЗ Ñъщото като -n ÐИЗ\n" " -z ÐИЗ ÐИЗ е Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° нула\n" " ÐИЗ1 = ÐИЗ2 низовете Ñа еднакви\n" " ÐИЗ1 != ÐИЗ2 низовете не Ñа еднакви\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ЦЯЛО1 -eq ЦЯЛО2 ЦЯЛО1 е равно на ЦЯЛО2\n" " ЦЯЛО1 -ge ЦЯЛО2 ЦЯЛО1 е по-голÑмо или равно на ЦЯЛО2\n" " ЦЯЛО1 -gt ЦЯЛО2 ЦЯЛО1 е по-голÑмо от ЦЯЛО2\n" " ЦЯЛО1 -le ЦЯЛО2 ЦЯЛО1 е по-малко или равно на ЦЯЛО2\n" " ЦЯЛО1 -lt ЦЯЛО2 ЦЯЛО1 е по-малко от ЦЯЛО2\n" " ЦЯЛО1 -ne ЦЯЛО2 ЦЯЛО1 е различно от ЦЯЛО2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 и ФÐЙЛ2 имат еднакви номера на уÑтройÑтво и i-" "възел\n" " ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 е по-нов (ÑпрÑмо датата на изменение) от ФÐЙЛ2\n" " ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 е по-Ñтар от ФÐЙЛ2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñпециален блоков\n" " -c ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволен Ñпециален\n" " -d ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е каталог\n" " -e ФÐЙЛ ФÐЙЛ ÑъщеÑтвува\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е обикновен файл\n" " -g ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ set-group-ID\n" " -h ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволна връзка (Ñъщото като -L)\n" " -G ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и Ñе притежава от дейÑтващата (effective) " "група\n" " -k ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ sticky bit\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е Ñимволна връзка (Ñъщото като -h)\n" " -O ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и Ñе притежава от дейÑтващиÑÑ‚ потребител\n" " -p ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е именуван канал\n" " -r ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е доÑтъпен за четене\n" " -s ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и има ненулев размер\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е гнездо\n" " -t [FD] файловиÑÑ‚ деÑкриптор FD е отворен на терминал\n" " -u ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е ÑÑŠÑ set-user-ID\n" " -w ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е доÑтъпен за запиÑ\n" " -x ФÐЙЛ ФÐЙЛ ÑъщеÑтвува и е изпълним файл (при каталог: може да Ñе " "търÑи)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "ОÑвен -h и -L, вÑички файлови проверки Ñе отнаÑÑÑ‚ към Ñочените от Ñимволни\n" "връзки файлове. Имайте предвид, че при повечето обвивки Ñкобите трÑбва да\n" "бъдат защитени (напр. Ñ \\).\n" "\n" "ЦЯЛО може да бъде Ñъщо и -l ÐИЗ и дава дължината на ÐИЗ.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "test и/или [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "липÑва „]“" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "излишен аргумент %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Използване: %s КОМÐÐДР[ÐРГУМЕÐТ]...\n" " или: %s ОПЦИЯ\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Ðргументите, задължителни за дългите опции, Ñа задължителни и за къÑите.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð² %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "неправилен формат за дата %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "не може да Ñе въздейÑтва на %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "задава Ñе време на %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñамо времето за доÑтъп\n" " -c, --no-create не Ñъздава файловете, ако не ÑъщеÑтвуват\n" " -d, --date=ÐИЗ прави разбор на ÐИЗ и го използва вмеÑто текущото " "време\n" " -f (пренебрегва Ñе)\n" " -m Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ñамо времето на поÑледна промÑна\n" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference дейÑтва върху Ñимволните връзки, вмеÑто върху " "Ñочените\n" " файлове (Ñамо при ÑиÑтеми, позволÑващи промÑна на\n" " ÑобÑтвеноÑтта на Ñимволна връзка)\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=ФÐЙЛ използва времената на този ФÐЙЛ вмеÑто текущото " "време\n" " -t ЩÐМПРползва [[ГГ]ГГ]ММДДччММ[.ÑÑ] вмеÑто текущото време\n" " --time=Ð”Ð£ÐœÐ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ‚Ð¾ Ñ Ð”Ð£ÐœÐ Ð²Ñ€ÐµÐ¼Ðµ:\n" " access, atime и use: Ñъщото като -а\n" " modify и mtime: Ñъщото като -m\n" #: src/touch.c:246 #, fuzzy msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Забележете, че опциите -d и -t приемат различни формати за време и дата.\n" "\n" "Ðко ФÐЙЛ е -, дейÑтва Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð´ÐµÑкриптор за ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "не може да Ñе поÑочват времена Ñ Ð¿Ð¾Ð²ÐµÑ‡Ðµ от един източник" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "внимание: „touch %s“ e архаично; ползвайте „touch -t %04ld%02d%02d%02d%02d." "%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Използване: %s [ОПЦИЯ]... МÐОЖ1 [МÐОЖ2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Превежда или отÑтранÑва знаци и/или Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´,\n" "пише на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" "\n" " -c, -C, --complement първо Ð·Ð°Ð¼ÐµÐ½Ñ ÐœÐОЖ1 Ñ Ð½ÐµÐ³Ð¾Ð²Ð¾Ñ‚Ð¾ допълнение\n" " -d, --delete отÑтранÑва знаците от МÐОЖ1, не превежда\n" " -s, --squeeze-repeats Ð·Ð°Ð¼ÐµÐ½Ñ Ð²ÑÑка входÑща редица от един и Ñъщ повтарÑщ " "Ñе\n" " знак, опиÑан в МÐОЖ1, Ñ ÐµÐ´Ð¸Ð½ такъв знак\n" " -t, --truncate-set1 първо Ñъкращава МÐОЖ1 до дължината на МÐОЖ2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "МÐОЖ Ñе задават като низове от знаци. Повечето предÑтавÑÑ‚ Ñебе Ñи.\n" "Интерпретирани поÑледователноÑти Ñа Ñледните:\n" "\n" " \\NNN знакът Ñ Ð¾Ñмичен код NNN (1 до 3 оÑмични цифри)\n" " \\\\ обратна наклонена черта\n" " \\a BEL (звуков Ñигнал)\n" " \\b backspace\n" " \\f form feed (край на Ñтраницата)\n" " \\n нов ред (new line)\n" " \\r връщане на курÑора (return)\n" " \\t хоризонтална табулациÑ\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v вертикална табулациÑ\n" " ЗÐÐК1-ЗÐÐК2 вÑички знаци от ЗÐÐК1 до ЗÐÐК2\n" " [ЗÐÐК*] (Ñамо при МÐОЖ2) ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° ЗÐÐК до доÑтигане дължината на " "МÐОЖ1\n" " [ЗÐÐК*ПОВТ] ПОВТ Ð±Ñ€Ð¾Ñ Ð½Ð° ЗÐÐК; ПОВТ е оÑмично чиÑло, ако започва Ñ 0\n" " [:alnum:] вÑички букви и цифри\n" " [:alpha:] вÑички букви\n" " [:blank:] вÑички празни знаци (интервал, табулации)\n" " [:cntrl:] вÑички управлÑващи Ñимволи\n" " [:digit:] вÑички цифри\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] вÑички видими знаци Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на интервали, табулации и " "др.\n" " [:lower:] вÑички малки букви\n" " [:print:] вÑички видими знаци, включително интервали, табулации\n" " [:punct:] вÑички препинателни знаци\n" " [:space:] хоризонтално или вертикално бÑло поле\n" " [:upper:] вÑички главни букви\n" " [:xdigit:] вÑички шеÑтнадеÑетични цифри\n" " [=ЗÐÐК=] вÑички знаци, еквивалентни на ЗÐÐК\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "внимание: двуÑмиÑлената оÑмична поÑледователноÑÑ‚ \\%c%c%c е интерпретирана\n" "\tкато двубайтовата поÑледователноÑÑ‚ \\0%c%c, %c" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "внимание: обратна наклонена черта в ÐºÑ€Ð°Ñ Ð½Ð° форматен низ" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "граници на интервала „%s-%s“ Ñа в обратен ред" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "неправилен брой Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ %s в конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*n]" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "липÑва име на ÐºÐ»Ð°Ñ Ð¾Ñ‚ Ñимволи „[::]“" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "липÑва знак за ÐºÐ»Ð°Ñ Ð½Ð° еквивалентноÑÑ‚ „[==]“" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "неправилен ÐºÐ»Ð°Ñ Ð¾Ñ‚ Ñимволи %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: клаÑÑŠÑ‚ на еквивалентноÑÑ‚ трÑбва да Ñе означи Ñамо един знак" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "лошо подравнена [:upper:] и/или [:lower:] конÑтрукциÑ" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "множеÑтво Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ много знаци" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "конÑтрукциÑта [c*] не може да Ñе поÑвÑва в МÐОЖ1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "в МÐОЖ2 може да Ñе Ñреща Ñамо конÑтрукциÑта за повторение [c*]" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "при превод не може да Ñе Ñрещат конÑтрукции [=c=] в МÐОЖ2" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "при превод единÑтвените клаÑове Ñимволи, които може да Ñе Ñрещат в\n" "МÐОЖ2 Ñа „upper“ и „lower“" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "когато не Ñе Ñъкращава МÐОЖ1, МÐОЖ2 трÑбва да бъде непразно" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "при превод Ñ Ð´Ð¾Ð¿ÑŠÐ»Ð½Ð¸Ñ‚ÐµÐ»Ð½Ð¸ (обратни) клаÑове Ñимволи, МÐОЖ2 трÑбва\n" "да изобразÑва вÑички знаци от облаÑтта в един" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "конÑтрукциÑта [c*] може да Ñе Ñреща в МÐОЖ2 Ñамо при превод" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "когато едновременно Ñе отÑтранÑват Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¸ изтрива знаци, трÑбва да Ñа " "дадени два низа" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "При превод трÑбва да Ñе поÑочат два низа (множеÑтва)" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Само един низ може да бъде даден, когато Ñе изтрива без отÑтранÑване на " "повторениÑта" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Използване: %s [аргументи, които Ñе пренебрегват]\n" " или: %s ОПЦИЯ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, поÑочващ уÑпех." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, поÑочващ неуÑпех." #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Използване: %s [ОПЦИЯ]... ФÐЙЛ...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: файлът има отрицателен размер" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "не може да Ñе получи времето от денÑ" #: src/truncate.c:205 #, fuzzy, c-format msgid "overflow rounding up size of file %s" msgstr "препълване на отмеÑтването при четене на файла %s" #: src/truncate.c:215 #, fuzzy, c-format msgid "overflow extending size of file %s" msgstr "препълване на отмеÑтването при четене на файла %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "поÑочени Ñа много целеви каталози" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "трÑбва да поÑочите ÑпиÑък байтове, знаци или полета" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "не може да Ñе отвори %s за запиÑ" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Използване: %s [ОПЦИЯ] [ФÐЙЛ]\n" "\n" "Извежда линейно нареден ÑпиÑък, ÑъвмеÑтим Ñ Ñ‡Ð°Ñтичната наредба във ФÐЙЛ.\n" "Без ФÐЙЛ или ако ФÐЙЛ е -, чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: входните данни Ñъдържат нечетен брой лекÑеми" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: входниÑÑ‚ файл Ñъдържа цикъл:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Извежда файловото име на терминала, Ñвързан ÑÑŠÑ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" " -s, --silent, --quiet не извежда нищо, връща Ñамо код на завършване\n" #: src/tty.c:120 msgid "not a tty" msgstr "не е tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Извежда определена ÑиÑтемна информациÑ. Без никаква ОПЦИЯ е Ñъщото като Ñ -" "s.\n" "\n" " -a, --all извежда вÑÑкаква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ñ€ÐµÐ´\n" " (но пропуÑка -p и -i, ако не Ñа извеÑтни):\n" " -s, --kernel-name извежда името на Ñдрото\n" " -n, --nodename извежда името на компютъра в мрежата\n" " -r, --kernel-release извежда изданието на Ñдрото\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version извежда верÑиÑта на Ñдрото\n" " -m, --machine извежда хардуерното име на машината\n" " -p, --processor извежда типа на микропроцеÑора или „unknown“\n" " -i, --hardware-platform извежда хардуерната платформа или „unknown“\n" " -o, --operating-system извежда операционната ÑиÑтема\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "не може да Ñе получи ÑиÑтемното име" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Преобразува интервалите във вÑеки от ФÐЙЛовете в табулации, извежда на\n" "ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´. Без ФÐЙЛ или ако ФÐЙЛ е - чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all преобразува вÑÑко бÑло поле, а не Ñамо в началото на " "редовете\n" " --first-only преобразува Ñамо бÑло поле в началото на редовете (Ð¾Ñ‚Ð¼ÐµÐ½Ñ " "-a)\n" " -t, --tabs=N използва табулации през N знака вмеÑто през 8 (позволÑва -" "a)\n" " -t, --tabs=СПИС СПИСък от разделени Ñ â€ž,“ позиции за табулации (позволÑва " "-a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "табулациите Ñа твърде отдалечени" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "табулациÑта е твърде дълга" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Използване: %s [ОПЦИЯ]... [ВХОД [ИЗХОД]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count редовете да Ñе предхождат от брой ÑрещаниÑ\n" " -d, --repeated извежда Ñамо повтарÑщите Ñе редове\n" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] извежда вÑички повтарÑщи Ñе редове\n" " delimit-method={none(по подразбиране),prepend," "separate}\n" " РазделÑнето Ñе прави Ñ Ð¿Ñ€Ð°Ð·Ð½Ð¸ редове.\n" " -f, --skip-fields=N не ÑравнÑва първите N полета\n" " -i, --ignore-case не различава големите от малките букви\n" " -s, --skip-chars=N не ÑравнÑва първите N знака\n" " -u, --unique извежда Ñамо редовете, които не Ñе повтарÑÑ‚\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N ÑравнÑва по не повече от N знака в редовете\n" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Полето Ñе ÑÑŠÑтои от бÑло поле, Ñледвано от видими знаци.\n" "Fields are skipped before chars.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "твърде много повторени редове" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "неправилен брой полета за пропуÑкане" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "неправилен брой байтове за пропуÑкане" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "неправилен брой знаци за ÑравнÑване" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "безÑмиÑлено е да Ñе извеждат вÑички повтарÑщи Ñе редове и Ð±Ñ€Ð¾Ñ ÑрещаниÑ" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Използване: %s ФÐЙЛ\n" " или: %s ФÐЙЛ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "ОтÑтранÑва поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¤ÐЙЛ поÑредÑтвом ÑиÑтемната Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ â€žunlink“.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "неуÑпешно изпълнение на unlink за %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "не може да Ñе получи времето на начално зареждане" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? включен " #: src/uptime.c:140 #, fuzzy, c-format msgid "up ???? days ??:??, " msgstr "???? дена ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s включен " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu потребител" msgstr[1] "%lu потребителÑ" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", Ñредно натоварване: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Извежда текущото време, продължителноÑтта на времето, през което ÑиÑтемата е " "била\n" "Ñтартирана, броÑÑ‚ потребители, използващи в момента ÑиÑтемата, и ÑредниÑÑ‚ " "брой задачи\n" "в опашката на Ð¼Ð½Ð¾Ð³Ð¾Ð·Ð°Ð´Ð°Ñ‡Ð½Ð¸Ñ Ð´Ð¸Ñпечер през поÑледните 1, 5 и 15 минути.\n" "Ðко не е поÑочен ФÐЙЛ, използва %s. Обичайно е използването на %s като име " "на файл.\n" "\n" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Извежда кой в момента е влÑзъл в ÑиÑтемата Ñпоред ФÐЙЛ.\n" "Ðко не е поÑочен ФÐЙЛ, използва %s. ЧеÑто ФÐЙЛ е %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Извежда кой в момента е влÑзъл в ÑиÑтемата Ñпоред ФÐЙЛ.\n" "Ðко не е поÑочен ФÐЙЛ, използва %s. ЧеÑто ФÐЙЛ е %s.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Извежда Ð±Ñ€Ð¾Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ, думи и редове във вÑеки ФÐЙЛ, както и Ð¾Ð±Ñ‰Ð¸Ñ Ð±Ñ€Ð¾Ð¹, ако " "е\n" "поÑочен повече от един ФÐЙЛ. Без ФÐЙЛ или ако ФÐЙЛ е - чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ " "вход.\n" " -c, --bytes извежда Ð±Ñ€Ð¾Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ðµ\n" " -m, --chars извежда Ð±Ñ€Ð¾Ñ Ð±ÑƒÐºÐ²Ð¸\n" " -l, --lines извежда Ð±Ñ€Ð¾Ñ Ñ€ÐµÐ´Ð¾Ð²Ðµ\n" #: src/wc.c:128 #, fuzzy msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=Ф чете от файловете, чиито имена Ñа изредени във " "файла Ф,\n" " като вÑÑко име завършва Ñ Ð½ÑƒÐ»ÐµÐ² байт\n" " -L, --max-line-length извежда дължината на най-Ð´ÑŠÐ»Ð³Ð¸Ñ Ñ€ÐµÐ´\n" " -w, --words извежда Ð±Ñ€Ð¾Ñ Ð´ÑƒÐ¼Ð¸\n" #: src/who.c:210 msgid " old " msgstr " Ñтар " #: src/who.c:440 #, fuzzy msgid "system boot" msgstr "грешка в ÑиÑтемата" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "ÑмÑна на чаÑа" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "Ñтартниво" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "last=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "брой потребители - %lu\n" #: src/who.c:559 msgid "NAME" msgstr "ИМЕ" #: src/who.c:559 msgid "LINE" msgstr "ЛИÐИЯ" #: src/who.c:559 msgid "TIME" msgstr "ВРЕМЕ" #: src/who.c:559 msgid "IDLE" msgstr "БЕЗДЕЕÐ" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "КОМЕÐТÐР" #: src/who.c:560 msgid "EXIT" msgstr "ИЗХОД" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Използване: %s [ОПЦИЯ]... [ ФÐЙЛ | ÐРГ1 ÐРГ2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all Ñъщото като -b -d --login -p -r -t -T -u\n" " -b, --boot времето на поÑледното начално зареждане\n" " -d, --dead извежда Ð±Ñ€Ð¾Ñ ÑƒÐ¼Ñ€ÐµÐ»Ð¸ процеÑи\n" " -H, --heading извежда антетка\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login извежда процеÑите за влизане в ÑиÑтемата\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup опитва да канонизира мрежовите имена на компютрите чрез " "DNS\n" " -m Ñамо мрежовото име и потребителÑ, Ñвързан на Ñтанд. " "вход\n" " -p, --process извежда активните процеÑи, породени от init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count извежда вÑички входни имена и Ð±Ñ€Ð¾Ñ Ð½Ð° влезлите " "потребители\n" " -r, --runlevel извежда текущото ниво на Ñтартиране\n" " -s, --short извежда Ñамо името, линиÑта и времето (по подразбиране)\n" " -t, --time извежда поÑледната промÑна на ÑиÑÑ‚ÐµÐ¼Ð½Ð¸Ñ Ñ‡Ð°Ñовник\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg Ð´Ð¾Ð±Ð°Ð²Ñ ÑÑŠÑтоÑнието на mesg на потребителите (+, - " "или ?)\n" " -u, --users изрежда потребителите, влезли в ÑиÑтемата\n" " --message Ñъщото като -T\n" " --writable Ñъщото като -T\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Ðко не е поÑочен ФÐЙЛ, Ñе използва %s. ЧеÑто ФÐЙЛ е %s.\n" "Ðко Ñа поÑочени ÐРГ1 ÐРГ2, Ñе предполага -m, обичайни Ñа „am i“ и „Ñъм аз“.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Извежда името Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð´ÐµÐ¹Ñтвителен (effective) потребител.\n" "Същото като id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: не може да Ñе намери името на потребител Ñ Ð½Ð¾Ð¼ÐµÑ€ %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s [ÐИЗ]...\n" " или: %s ОПЦИЯ\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "ÐепрекъÑнато извежда ред, ÑÑŠÑтоÑщ Ñе от поÑочените ÐИЗ(ове) или „y“.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "Ñъздава Ñе файл %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Използване: %s [ОПЦИЯ] ИМЕ...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: неправилна дължина на ÑуфикÑ" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s /usr/bin/sort извежда „sort“.\n" #~ " %s include/stdio.h .h извежда „stdio“.\n" #~ msgid "reading %s" #~ msgstr "чете Ñе %s" #~ msgid "writing %s" #~ msgstr "запиÑва Ñе %s" #~ msgid "closing %s" #~ msgstr "Ð·Ð°Ñ‚Ð²Ð°Ñ€Ñ Ñе %s" #~ msgid "accessing %s" #~ msgstr "доÑтъп до %s" #~ msgid "opening %s" #~ msgstr "отварÑне на %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ИМЕ\n" #~ " или: %s ОПЦИЯ\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off никога да не Ñе правÑÑ‚ резервни ÐºÐ¾Ð¿Ð¸Ñ (оÑвен при --" #~ "backup)\n" #~ " numbered, t да Ñе правÑÑ‚ номерирани резервни копиÑ\n" #~ " existing, nil номерирани, ако вече Ñа правени номерирани, а проÑти " #~ "иначе\n" #~ " simple, never винаги да Ñе правÑÑ‚ проÑти резервни копиÑ\n" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "опциÑта --allow-missing е оÑтарÑла; ползвайте --retry вмеÑто неÑ" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Ð’Ñички аргументи, задължителни за дългите опции, Ñа задължителни и за " #~ "къÑите.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "БÐЗРе d за деÑетична бройна ÑиÑтема, o за оÑмична, x за\n" #~ "шеÑтнадеÑетична или n за никаква. БÐЙТОВЕ е шеÑтнадеÑетично, ако има\n" #~ "Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ 0x или 0X и Ñе умножава по 512 при ÑÑƒÑ„Ð¸ÐºÑ b, по 1024 при k и\n" #~ "по 1048576 при m. Ðко Ñе добави ÑÑƒÑ„Ð¸ÐºÑ z, в ÐºÑ€Ð°Ñ Ð½Ð° вÑеки изведен ред\n" #~ "Ñе Ð´Ð¾Ð±Ð°Ð²Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ на входните знаци. " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string без чиÑло предполага 3. --width без чиÑло предполага 32.\n" #~ "По подразбиране od ползва -A o -t d2 -w16. \n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ФÐЙЛ\n" #~ msgid "Password:" #~ msgstr "Парола:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: не може да Ñе отвори /dev/tty" #~ msgid "cannot set groups" #~ msgstr "не може да Ñе зададат групите" #~ msgid "cannot set group id" #~ msgstr "не може да Ñе зададе групата" #~ msgid "cannot set user id" #~ msgstr "не може да Ñе зададе потребителÑÑ‚" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [-] [ПОТР [ÐРГ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Прави дейÑтващите (effective) номера на потребител и група да Ñа тези на " #~ "ПОТР.\n" #~ "\n" #~ " -, -l, --login прави обвивката да бъде входÑща обвивка\n" #~ " -c, --command=КОМÐÐДРподава Ñ -c на обвивката неÑÑŠÑтавна " #~ "КОМÐÐДÐ\n" #~ " -f, --fast подава -f на обвивката (за csh и tcsh)\n" #~ " -m, --preserve-environment не преуÑтановÑва променливите от " #~ "обкръжението\n" #~ " -p Ñъщото като -m\n" #~ " -s, --shell=ОБВИВКРÑтартира ОБВИВКÐ, ако /etc/shells " #~ "позволÑва това\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Само - влече -l. Ðко не е поÑочен ПОТР, приема Ñе root.\n" #~ msgid "user %s does not exist" #~ msgstr "не ÑъщеÑтвува потребител %s" #~ msgid "incorrect password" #~ msgstr "неправилна парола" #~ msgid "using restricted shell %s" #~ msgstr "използва Ñе ограничената обвивка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "внимание: каталогът не може да Ñе Ñмени на %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Прави ГРУПРда бъде групата на вÑеки ФÐЙЛ.\n" #~ "При --reference прави групата на вÑеки ФÐЙЛ да бъде Ñъщата като тази на " #~ "ЕТФÐЙЛ.\n" #~ "\n" #~ " -c, --changes подобно на verbose, но Ñъобщава Ñамо при " #~ "промени\n" #~ " --dereference дейÑтва върху файловете, Ñочени от Ñимволни " #~ "връзки\n" #~ " (по подразбиране), вмеÑто върху Ñамите Ñимволни " #~ "връзки\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root да не Ñе обработва „/“ по-оÑобено (по " #~ "подразбиране)\n" #~ " --preserve-root да не Ñе дейÑтва рекурÑивно от „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешки\n" #~ " --reference=ЕТФÐЙЛ ползва групата на ЕТФÐЙЛ вмеÑто поÑочена ГРУПÐ\n" #~ " -R, --recursive дейÑтва рекурÑивно върху файловете и каталозите\n" #~ " -v, --verbose извежда диагноÑтично Ñъобщение за вÑеки " #~ "обработен файл\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Режимът за доÑтъп до вÑеки ФÐЙЛ Ñтава РЕЖИМ.\n" #~ "\n" #~ " -c, --changes като verbose, но Ñъобщава Ñамо за направени " #~ "промени\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешки\n" #~ " -v, --verbose извежда диагноÑтично Ñъобщение за вÑеки " #~ "обработен файл\n" #~ " --reference=ЕТФÐЙЛ ползва режимa за доÑтъп до ЕТФÐЙЛ вмеÑто РЕЖИМ\n" #~ " -R, --recursive дейÑтва рекурÑивно върху файловете и " #~ "каталозите\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "СобÑтвеник и/или група на вÑеки ФÐЙЛ Ñтават СОБСТВЕÐИК и/или ГРУПÐ.\n" #~ "При --reference прави ÑобÑтвеника и групата на ФÐЙЛ да Ñа Ñъщите като на " #~ "ЕТФÐЙЛ.\n" #~ "\n" #~ " -c, --changes като verbose, но Ñъобщава Ñамо за направени " #~ "промени\n" #~ " --dereference дейÑтва върху файла, Ñочен от Ñимволните връзки\n" #~ " (по подразбиране), вмеÑто върху Ñамата Ñимволна " #~ "връзка\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet потиÑка повечето ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° грешка\n" #~ " --reference=ЕТФÐЙЛ да Ñе ползват ÑобÑтвеникът и групата на ЕТФÐЙЛ " #~ "вмеÑто\n" #~ " поÑочени ÑтойноÑти СОБСТВЕÐИК:ГРУПÐ\n" #~ " -R, --recursive дейÑтва върху файловете и каталозите рекурÑивно\n" #~ " -v, --verbose извежда диагноÑтично Ñъобщение за вÑеки " #~ "обработен файл\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Извежда текущото време в поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¤ÐžÐ ÐœÐТ или уÑтановÑва датата на " #~ "ÑиÑтемата.\n" #~ "\n" #~ " -d, --date=ÐИЗ извежда времето, поÑочено от ÐИЗ, вмеÑто " #~ "„now“\n" #~ " -f, --file=ФÐЙЛДÐТИ като --date по веднъж за вÑеки ред от " #~ "ФÐЙЛДÐТИ\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РÐЗМ Ñе ÑÑŠÑтои от незадължително цÑло чиÑло, Ñледвано от едно от:\n" #~ "kB=1000, K=1024, MB=1000*1000, M=1024*1024 и аналогично за G, T, P, E, Z " #~ "и Y.\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправилна Ð¾Ð¿Ñ†Ð¸Ñ -- %c\n" #~ msgid "block size" #~ msgstr "блоковиÑÑ‚ размер" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Това е Ñвободен Ñофтуер. Можете да разпроÑтранÑвате негови ÐºÐ¾Ð¿Ð¸Ñ " #~ "ÑъглаÑно\n" #~ "уÑловиÑта на ОÑновната общодоÑтъпна Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð½Ð° ГÐУ\n" #~ " <http://www.gnu.org/licenses/gpl.html>.\n" #~ "Ðе Ñе дават ÐИКÐКВИ ГÐРÐÐЦИИ до Ñтепента, позволÑвана от закона.\n" #~ msgid "invalid argument: %s" #~ msgstr "неправилен аргумент: %s" #~ msgid "invalid %s `%s'" #~ msgstr "неправилен %s „%s“" #~ msgid "invalid character following %s in `%s'" #~ msgstr "неправилен пиÑмен знак, Ñледващ %s в „%s“" #~ msgid "%s `%s' too large" #~ msgstr "%s „%s“ е твърде дълго" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=ШИРИÐРПренаÑÑ ÐºÐ¾Ð´Ð¸Ñ€Ð°Ð½Ð¸Ñ‚Ðµ редове Ñлед ШИРИÐРзнаци " #~ "(подразбира\n" #~ " Ñе 76). Използвайте 0, за да забраните " #~ "пренаÑÑнето.\n" #~ "\n" #~ " -d, --decode Декодира данните.\n" #~ " -i, --ignore-garbage При декодиране пренебрегва небуквените знаци.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Извежда тази Ñправка и завършва.\n" #~ " --version Извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑта и завършва.\n" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Използване: %s [ОПЦИЯ] [ФÐЙЛ]...\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot create link %s" #~ msgstr "не може да Ñе Ñъздаде връзка %s" #~ msgid " -P, --no-dereference never follow symbolic links\n" #~ msgstr " -P, --no-dereference не проÑледÑва Ñимволните връзки\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "СуфикÑÑŠÑ‚ за резервни ÐºÐ¾Ð¿Ð¸Ñ Ðµ „~“, оÑвен при промÑна Ñ --suffix или Ñ " #~ "променлива\n" #~ "от обкръжението SIMPLE_BACKUP_SUFFIX. Методът за управление на верÑиите " #~ "може да\n" #~ "Ñе поÑочва Ñ --backup или Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚Ð° VERSION_CONTROL. Ето " #~ "ÑтойноÑтите:\n" #~ "\n" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "опциÑта --reply е оÑтарÑла; ползвайте -i или -f вмеÑто неÑ" #~ msgid "invalid format precision" #~ msgstr "неправилна точноÑÑ‚ на формат" #~ msgid "unrecognized operand %s=%s" #~ msgstr "непознат операнд %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "опциÑта --kilobytes е оÑтарÑла; ползвайте -k вмеÑто неÑ" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "Ð’ÐИМÐÐИЕ: ползвайте --si вмеÑто -H; Ñкоро дейÑтвието на опциÑта -H ще " #~ "бъде\n" #~ "променено да бъде Ñъщото като това на опциÑта --dereference-args (-D)" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "опциÑта --megabytes е оÑтарÑла; ползвайте -m вмеÑто неÑ" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ÐИЗ]...\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Ðко е в Ñила -e, Ñе разпознават и интерпретират Ñледните " #~ "поÑледователноÑти:\n" #~ "\n" #~ " \\NNN знакът, чийто оÑмичен ASCII код е NNN\n" #~ " \\\\ обратно наклонена черта\n" #~ " \\a звуков Ñигнал (BEL)\n" #~ " \\b връщане назад (backspace)\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Отпечатва проÑтите множители на вÑÑко ЧИСЛО.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N може да има ÑуфикÑ-множител: b за 512, k за 1024, m за 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "не може да Ñе извежда хем Ñамо потребителÑÑ‚, хем Ñамо групата" #~ msgid "cannot get supplemental group list" #~ msgstr "не може да Ñе получи ÑпиÑъка от допълнителни групи" #~ msgid "strip failed" #~ msgstr "strip не уÑпÑ" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "" #~ " -v ФÐЙЛÐОМ като -a ФÐЙЛÐОМ, но потиÑка ÑъответÑтващите входни " #~ "редове\n" #~ " -1 ПОЛЕ Ñвързва Ñпоред това ПОЛЕ във файл 1\n" #~ " -2 ПОЛЕ Ñвързва Ñпоред това ПОЛЕ във файл 2\n" #~ msgid "value %s is so large that it is not representable" #~ msgstr "ÑтойноÑтта %s е толкова голÑма, че не може да Ñе изведе" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: внимание: Ñъздаването на твърда връзка към Ñимволна връзка не е " #~ "преноÑимо" #~ msgid "creating symbolic link %s" #~ msgstr "Ñъздава Ñе Ñимволна връзка %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Ñъздава Ñе Ñимволна връзка %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "Ñъздава Ñе твърда връзка %s" #~ msgid "creating hard link %s => %s" #~ msgstr "Ñъздава Ñе твърда връзка %s => %s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " извежда каталозите преди другите файлове\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "По подразбиране не Ñе използват цветове за отличаване на типовете. Това " #~ "е вÑе\n" #~ "едно да Ñе използва --color=none. Използването на --color без " #~ "незадължителниÑ\n" #~ "аргумент КОГРе еквивалентно на --color=always. С --color=auto цветове " #~ "Ñе\n" #~ "използват Ñамо, ако ÑтандартниÑÑ‚ изход е Ñвързан Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» (tty). " #~ "Променливата\n" #~ "от обкръжението LS_COLORS може да влиÑе на цветовете, а ÑтойноÑÑ‚ може " #~ "леÑно да и\n" #~ "бъде зададена поÑредÑтвом командата dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Кодът на завършване е 0 при уÑпех, 1 при малък проблем и 2 при по-" #~ "Ñериозен.\n" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Използване: %s [ОПЦИЯ] КÐТÐЛОГ...\n" #~ msgid "skip argument" #~ msgstr "пропуÑкане на аргумент" #~ msgid "limit argument" #~ msgstr "ограничаване на аргумента" #~ msgid "minimum string length" #~ msgstr "минимална дължина на низа" #~ msgid "width specification" #~ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð° ширина" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: формат=„%s“ ширина=%d\n" #~ msgid "page range" #~ msgstr "диапазон Ñтраници" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SÐИЗ, --sep-string[=ÐИЗ]\n" #~ msgid "" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T Ñе подразбира при -l n, ако n <= 10 или <= 3 при -F. Без ФÐЙЛ или " #~ "ако\n" #~ "ФÐЙЛ е -, Ñе чете от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´.\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a звуков Ñигнал (BEL)\n" #~ " \\b връщане назад (backspace)\n" #~ " \\c повече не извежда изход\n" #~ " \\f край на Ñтраницата (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n нов ред\n" #~ " \\r връщане на курÑора\n" #~ " \\t хоризонтална табулациÑ\n" #~ " \\v вертикална табулациÑ\n" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "опциÑта --copyright е оÑтарÑла; ползвайте --version вмеÑто неÑ" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "КРИТИЧÐРГРЕШКÐ: каталогът %s не може да Ñе затвори" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "КРИТИЧÐРГРЕШКÐ: не може да Ñе отвори .. от %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "КРИТИЧÐРГРЕШКÐ: не може да Ñе гарантира, че %s (върнато през ..) е " #~ "Ñигурно" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "КРИТИЧÐРГРЕШКÐ: промени Ñе dev/ino на %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "КРИТИЧÐРГРЕШКÐ: не може да Ñе върне в .. от %s" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "КРИТИЧÐРГРЕШКÐ: не може да Ñе влезе в каталога %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "КРИТИЧÐРГРЕШКÐ: каталогът %s, в който току що Ñе влезе, Ñи Ñмени dev/ino" #~ msgid "cannot remove root directory %s" #~ msgstr "не може да Ñе изтрие кореновиÑÑ‚ каталог %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "не може да Ñе изтрие отноÑително именуваниÑÑ‚ %s" #~ msgid "cannot restore current working directory" #~ msgstr "не може да Ñе възÑтанови текущиÑÑ‚ работен каталог" #~ msgid "invalid format string: %s" #~ msgstr "неправилен низ за формат: %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Използване: %s [ОПЦИИ] ФÐЙЛ [...]\n" #~ msgid "extra operand %s\n" #~ msgstr "излишен операнд %s\n" #~ msgid "sort size" #~ msgstr "Ñортировка размер" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "РÐЗМ може да има ÑуфикÑ-множител: b за 512, k за 1 Kб, m за 1 Мб.\n" #~ msgid "invalid number of lines: 0" #~ msgstr "недопуÑтим брой редове: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Използване: %s [ОПЦИЯ] ФÐЙЛ...\n" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ " --retry продължава опитите да отвори файла, дори ако " #~ "той\n" #~ " бъде недоÑтъпен при Ñтартирането на tail или " #~ "Ñтане\n" #~ " недоÑтъпен по-къÑно; полезно е Ñамо ÑъвмеÑтно " #~ "Ñ\n" #~ " --follow=name\n" #~ " -c, --bytes=N извежда поÑледните N байта\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "С --follow (-f) tail използва един и Ñъщ файлов деÑкриптор, Ñ‚.е. tail ще\n" #~ "продължи да Ñледи ÐºÑ€Ð°Ñ Ð½Ð° файлÑ, дори ако файлът бъде преименуван. " #~ msgid "creating %s" #~ msgstr "Ñъздава Ñе %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Прави времето на доÑтъп и поÑледна промÑна на вÑеки ФÐЙЛовете текущото " #~ "време.\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Извършва Ñе превод, ако не е поÑочено -d и има както МÐОЖ1, така и " #~ "МÐОЖ2.\n" #~ "-t може да Ñе използва Ñамо при превод. Ðко трÑбва, МÐОЖ2 Ñе разширÑва " #~ "до\n" #~ "дължината на МÐОЖ1 Ñ Ð¿Ð¾Ð²Ñ‚Ð°Ñ€Ñне на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð·Ð½Ð°Ðº. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Излишните знаци от МÐОЖ2\n" #~ "Ñе пренебрегват. Само за знаците от [:lower:] и [:upper:] е гарантирано, " #~ "че ще\n" #~ "Ñа подредени поÑледователно; използвани в МÐОЖ2 при превод, те могат да " #~ "бъдат\n" #~ "използвани Ñамо в двойки, за да означат ÑмÑна на големи/малки букви. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s използва МÐОЖ1,\n" #~ "ако не Ñе превежда, нито изтрива; в противен Ñлучай Ñе отÑтранÑват " #~ "повторните\n" #~ "знаци от МÐОЖ2, като това Ñтава Ñлед преводa или изтриването.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "ОтÑтранÑва вÑички оÑвен един от ÑÑŠÑедни повтарÑщи Ñе редове от ВХОД\n" #~ "(или ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´); извежда в ИЗХОД (или ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´).\n" #~ "\n" #~ msgid "am" #~ msgstr "пр.обед" #~ msgid "pm" #~ msgstr "Ñл.обед" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld ден" #~ msgstr[1] "%ld дена" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ ФÐЙЛ ]\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Внимание: в Ñледваща верÑÐ¸Ñ -i ще бъде отÑтранено; използвайте вмеÑто " #~ "това -u" #~ msgid "symbolic links are not supported on this system" #~ msgstr "тази ÑиÑтема не поддържа работа ÑÑŠÑ Ñимволни връзки" #~ msgid "fifo files not supported" #~ msgstr "не Ñе поддържа работа Ñ Ð¸Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð¸ канали" #~ msgid "cannot remove `.' or `..'" #~ msgstr "не може да Ñе изтриват „.“ и „..“" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "не може да Ñе Ñмени ÑобÑтвеника и/или групата на %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "не може да Ñе влезе в каталога %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "не може да Ñе получи входÑщата група по потребителÑки номер" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root да не Ñе обработва „/“ по-оÑобено (по " #~ "подразбиране)\n" #~ " --preserve-root да не Ñе дейÑтва рекурÑивно от „/“\n" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "внимание: непреноÑим BRE: „%s“: използването на „^“ като пръв знак на\n" #~ "Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрен израз не е преноÑимо; „^“ бе пренебрегнат" #~ msgid "unrecognized option `-%c'" #~ msgstr "непозната Ð¾Ð¿Ñ†Ð¸Ñ â€ž-%c“" #~ msgid "cannot return to working directory" #~ msgstr "невъзможно връщане в Ñ€Ð°Ð±Ð¾Ñ‚Ð½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³" #~ msgid "cannot return to current directory" #~ msgstr "невъзможно връщане в Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³" #~ msgid "create symbolic link %s to %s" #~ msgstr "Ñъздава Ñе Ñимволна връзка %s към %s" #~ msgid "create hard link %s to %s" #~ msgstr "Ñъздава Ñе твърда връзка %s към %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "не може да Ñе поÑочи режим за доÑтъп до каталог %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "не може да Ñе зададе режим за доÑтъп до именуван канал %s" #~ msgid "cannot set permissions of %s" #~ msgstr "не може да Ñе зададат правата за доÑтъп до %s" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Тази програма е Ñвободен Ñофтуер; може да Ñ Ñ€Ð°Ð·Ð¿Ñ€Ð¾ÑтранÑвате и/или " #~ "изменÑте\n" #~ "ÑъглаÑно уÑловиÑта на ОÑновната общодоÑтъпна Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð½Ð° ГÐУ, както Ñ‚Ñ Ðµ\n" #~ "публикувана от Free Software Foundation -- верÑÐ¸Ñ 2 или (по ваш избор)\n" #~ "ÐºÐ¾Ñ Ð´Ð° е Ñледваща верÑиÑ.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Тази програма Ñе разпроÑтранÑва Ñ Ð½Ð°Ð´ÐµÐ¶Ð´Ð°Ñ‚Ð°, че ще бъде полезна,\n" #~ "но БЕЗ ÐИКÐКВИ ГÐРÐÐЦИИ -- включително без предполагаемите гаранции,\n" #~ "ЧЕ ЩЕ Е ПОЛЕЗÐРили ЩЕ СЛУЖИ ЗРÐЕЩО. Вж. ОÑновната общодоÑтъпна\n" #~ "Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð½Ð° ГÐУ за повече подробноÑти.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Вие би трÑбвало да Ñте получили копие на ОÑновната общодоÑтъпна лицензиÑ\n" #~ "на ГÐУ заедно Ñ Ñ‚Ð°Ð·Ð¸ програма; в противен Ñлучай пишете на Free Software\n" #~ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " #~ "USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "не може да Ñе Ñмени каталогът от %s на .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "не може да Ñе открие „.“ в %s" #~ msgid "cannot lstat %s" #~ msgstr "не може да Ñе открие %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "каталогът не може да Ñе Ñмени от %s на %s" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Изтрива (Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ unlink) ФÐЙЛовете.\n" #~ "\n" #~ " -d, --directory изпълнÑва unlink за вÑеки ФÐЙЛ, дори и ако е " #~ "непразен\n" #~ " каталог (Ñамо за root, работи Ñамо ако " #~ "ÑиÑтемата\n" #~ " поддържа „unlink“ за непразни каталози)\n" #~ " -f, --force пренебрегва неÑъщеÑтвуващи файлове, за нищо не " #~ "пита\n" #~ " -i, --interactive пита преди изтриване\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "не може да бъде замеÑтен каталогът %s" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Извежда Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ÑÑŠÑтоÑнието на файл или файлова ÑиÑтема.\n" #~ "\n" #~ " -f, --file-system извежда ÑÑŠÑтоÑнието на файлова ÑиÑтема вмеÑто на " #~ "файл\n" #~ " -c --format=ФОРМÐТ ползва поÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ð¤ÐžÐ ÐœÐТ вмеÑто ÑтандартниÑ\n" #~ " -L, --dereference Ñледва Ñимволните връзки\n" #~ " -t, --terse извежда информациÑта в Ñбит вид\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Внимание: „-l“ е оÑтарÑла опциÑ; вмеÑто Ð½ÐµÑ Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹Ñ‚Ðµ „-L“" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle Ð´Ð¾Ð±Ð°Ð²Ñ Ð²Ñ€ÐµÐ¼ÐµÑ‚Ð¾ за бездейÑтвие като ЧÐСОВЕ:МИÐУТИ, . " #~ "или Ñтар\n" #~ " (оÑтарÑла опциÑ, използвайте -u)\n" #~ " --login извежда процеÑите за влизане в ÑиÑтемата\n" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Това е Ñвободен Ñофтуер; вижте Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ ÐºÐ¾Ð´ за уÑловиÑта за копиране.\n" #~ "Ðе Ñе дават ÐИКÐКВИ гаранции, включително предполаганата гаранциÑ,\n" #~ "че е ПОЛЕЗЕРили ПРИГОДЕРЗРÐЯКÐКВРЦЕЛ.\n" #~ msgid "too few arguments" #~ msgstr "твърде малко аргументи" #~ msgid "closing standard output" #~ msgstr "затварÑне на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´" #~ msgid "cannot change to null group" #~ msgstr "не може да Ñе Ñмени на неÑъщеÑтвуваща група" #~ msgid "group number" #~ msgstr "номер на група" #~ msgid "invalid group number %s" #~ msgstr "неправилен номер на група %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Ð’Ñеки РЕЖИМ е една или повече от буквите ugoa, един от знаците +-= и\n" #~ "една или повече от буквите rwxXstugo.\n" #~ msgid "invalid mode string: %s" #~ msgstr "недопуÑтим низ за режим: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: поÑочениÑÑ‚ целеви каталог не ÑъщеÑтвува" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: поÑочената цел не е каталог" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "копират Ñе много файлове, но поÑледниÑÑ‚ аргумент %s не е каталог" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "внимание: --version-control (-V) оÑтарÑла опциÑ; поддръжката за Ð½ÐµÑ Ñ‰Ðµ " #~ "бъде\n" #~ "ÑпрÑна в нÑÐºÐ¾Ñ Ð±ÑŠÐ´ÐµÑ‰Ð° верÑиÑ. ВмеÑто това ползвайте --backup=%s." #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z чаÑовата зона в Ñтил RFC-2822 (+0200) (неÑтандартно разширение)\n" #~ " %Z чаÑовата зона (напр. EET) или нищо, ако Ñ‚Ñ Ð½Ðµ може да Ñе определи\n" #~ "\n" #~ "По подразбиране date допълва чиÑловите полета Ñ Ð½ÑƒÐ»Ð¸. ГÐУ реализациÑта на " #~ "date\n" #~ "разпознава и Ñледните модификатори между знака „%“ и чиÑловата " #~ "директива:\n" #~ "\n" #~ " `-' (тире) да не Ñе попълва полето\n" #~ " `_' (знак за подчертаване) полето да Ñе попълва Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¸\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "твърде много аргументи, които не Ñа опции: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "при използване на опциÑта --rfc-2822 (-R) не може да Ñе поÑочва форматен " #~ "низ" #~ msgid "undefined" #~ msgstr "неопределено" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s прочетени блока\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s запиÑани блока\n" #~ msgid "truncated records" #~ msgstr "Ñъкратени запиÑи" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tÑамо по един conv от {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgid "file offset out of range" #~ msgstr "файлово отмеÑтване извън допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "при Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° извеждане вътрешната база данни на dircolors\n" #~ "не може да Ñе използва аргумент ФÐЙЛ" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Извежда ÐИЗовете на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´.\n" #~ "\n" #~ " -n не извежда в ÐºÑ€Ð°Ñ Ð½Ð¾Ð² ред\n" #~ " -e позволÑва Ñпециалното значение на знаците, предшеÑтвани " #~ "от \\,\n" #~ " опиÑани по-долу\n" #~ " -E забранÑва Ñпециалното значение на тези знаци в " #~ "ÐИЗовете\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "опциÑта „-СПИС“ е оÑтарÑла; ползвайте „-t СПИС“" #~ msgid "`%s' is too large" #~ msgstr "“%s“ е твърде дълго" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [командни аргументи, които Ñе пренебрегват]\n" #~ " или: %s ОПЦИЯ\n" #~ "Приключва Ñ ÐºÐ¾Ð´ на завършване, поÑочващ неуÑпех.\n" #~ "\n" #~ "Имената на Ñледващите опции не могат да Ñе Ñъкращават.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "опциÑта „%s“ е оÑтарÑла; ползвайте „%s“" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: твърде голÑм брой байтове" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "опциÑта „-%s“ е архаична, ползвайте „-%c %.*s%.*s%s“" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "инÑталират Ñе нÑколко файлове, а поÑледниÑÑ‚ аргумент (%s) не е каталог" #~ msgid "%s is a directory" #~ msgstr "%s е каталог" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "не може да Ñе получат данни за времето на %s" #~ msgid "too many non-option arguments" #~ msgstr "твърде много аргументи, които не Ñа опции" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "неправилен номер на поле за файл 1: „%s“" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "неправилен номер на поле за файл 2: „%s“" #~ msgid "too few non-option arguments" #~ msgstr "нÑма доÑтатъчно аргументи, които не Ñа опции" #~ msgid "%s: File exists" #~ msgstr "%s: Файлът ÑъщеÑтвува" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... ЦЕЛ [ИМЕ_ÐÐ_ВРЪЗКÐ]\n" #~ " или: %s [ОПЦИЯ]... ЦЕЛ... КÐТÐЛОГ\n" #~ " или: %s [ОПЦИЯ]... --target-directory=КÐТÐЛОГ ЦЕЛ...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "при правене на нÑколко връзки поÑледниÑÑ‚ аргумент трÑбва да бъде каталог" #~ msgid "User name too long" #~ msgstr "Твърде дълго потребителÑко име" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary чете в двоичен режим (Ñтандартно при DOS/" #~ "Windows)\n" #~ " -c, --check проверÑва Ñумите %s Ñпоред зададен ÑпиÑък\n" #~ " -t, --text чете файловете в текÑтов режим (Ñтандартно)\n" #~ "\n" #~ msgid "file" #~ msgstr "файл" #~ msgid "files" #~ msgstr "файла" #~ msgid "checksum" #~ msgstr "контролна Ñума" #~ msgid "checksums" #~ msgstr "контролни Ñуми" #~ msgid "no files may be specified when using --string" #~ msgstr "не може да Ñе поÑочват файлове при използване на --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "може да Ñе поÑочва Ñамо един аргумент при използване на --check" #~ msgid "wrong number of arguments" #~ msgstr "неправилен брой аргументи" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "не може да Ñе поÑочват голÑм и малък номер на уÑтройÑтво при именувани " #~ "канали" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "при премеÑтване на нÑколко файла поÑледниÑÑ‚ аргумент трÑбва да е каталог" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "ИзпълнÑва КОМÐÐÐ”Ð Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€Ð°Ð½ приоритет за многозадачното планиране.\n" #~ "Без КОМÐÐДРотпечатва Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚. По подразбиране КОРЕКЦИЯ е 10.\n" #~ "ДопуÑтимиÑÑ‚ интервал е от -20 (най-голÑм приоритет) до 19 (най-малък).\n" #~ "\n" #~ " -n, --adjustment=КОРЕКЦИЯ увеличава в началото приоритета Ñ ÐšÐžÐ Ð•ÐšÐ¦Ð˜Ð¯\n" #~ msgid "invalid option `%s'" #~ msgstr "неправилна Ð¾Ð¿Ñ†Ð¸Ñ â€ž%s“" #~ msgid "invalid priority `%s'" #~ msgstr "неправилен приоритет „%s“" #~ msgid "cannot get priority" #~ msgstr "не може да Ñе получи приоритетът" #~ msgid "cannot set priority" #~ msgstr "не може да Ñе зададе приоритета" #~ msgid "old-style offset" #~ msgstr "отмеÑтване в традиционен формат" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "неправилен втори операнд при режим за ÑъвмеÑтимоÑÑ‚ „%s“" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "при използване на Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ поÑледните два аргумента трÑбва да " #~ "бъдат отмеÑтваниÑ" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "УÑтановÑва непреноÑимите конÑтрукции в ИМЕ.\n" #~ "\n" #~ " -p, --portability проверка за вÑÑкакви POSIX-ÑиÑтеми, а не Ñамо за " #~ "тази\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "пътеката „%s“ Ñъдържа непреноÑим Ñимвол „%c“" #~ msgid "`%s' is not a directory" #~ msgstr "“%s“ не е каталог" #~ msgid "directory `%s' is not searchable" #~ msgstr "в каталога „%s“ не може да Ñе извършва търÑене" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "името „%s“ има дължина %ld, превишаващo пределната граница %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "пътеката „%s“ има дължина %lu, превишаваща пределната граница %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "“--pages“ неправилен интервал от номера на Ñтраници: „%s“" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "“--pages“ неправилен начален номер на Ñтраница: „%s“" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "“--pages“ неправилен краен номер на Ñтраница: „%s“" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "“--pages“ началниÑÑ‚ номер на Ñтраница е по-голÑм от крайниÑ" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "“--columns=СТЪЛБОВЕ“ неправилен брой Ñтълбове: „%s“" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e %b %Y %k,%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "началниÑÑ‚ номер на Ñтраница е по-голÑм от Ð¾Ð±Ñ‰Ð¸Ñ Ð±Ñ€Ð¾Ð¹ Ñтраници: „%d“" #~ msgid "Page %d" #~ msgstr "Ñтр. %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Използване: %s формат [аргументи...]\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "опциÑта „-%s“ е оÑтарÑла; ползвайте „-l %s“" #~ msgid "stdin: read error" #~ msgstr "stdin: грешка при четене" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: неправилен знак за ÑÑƒÑ„Ð¸ÐºÑ Ð² архаична опциÑ" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "твърде много аргументи. Когато Ñе използва Ð°Ñ€Ñ…Ð°Ð¸Ñ‡Ð½Ð¸Ñ ÑинтакÑÐ¸Ñ Ð·Ð° " #~ "опциите на\n" #~ "tail (%s), не може да Ñе използва повече от един аргумент. ВмеÑто това\n" #~ "използвайте еквивалентната Ð¾Ð¿Ñ†Ð¸Ñ -n или -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Внимание: използването на две или повече файлови аргумента не е преноÑимо " #~ "Ñ\n" #~ "Ð°Ñ€Ñ…Ð°Ð¸Ñ‡Ð½Ð¸Ñ ÑинтакÑÐ¸Ñ Ð½Ð° Ð¾Ð¿Ñ†Ð¸Ñ (%s). ВмеÑто това използвайте " #~ "еквивалентната\n" #~ "Ð¾Ð¿Ñ†Ð¸Ñ -n или -c." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "опциÑта „%s“ е архаична; ползвайте „%s-%c %.*s“" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: неправилен макÑимален брой ÑÑŠÑедни промени в размера" #~ msgid "argument expected\n" #~ msgstr "очаква Ñе аргумент\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: очаква Ñе целочиÑлен израз\n" #~ msgid "before -lt" #~ msgstr "преди -lt" #~ msgid "after -lt" #~ msgstr "Ñлед -lt" #~ msgid "before -le" #~ msgstr "преди -le" #~ msgid "after -le" #~ msgstr "Ñлед -le" #~ msgid "before -gt" #~ msgstr "преди -gt" #~ msgid "after -gt" #~ msgstr "Ñлед -gt" #~ msgid "before -ge" #~ msgstr "преди -ge" #~ msgid "after -ge" #~ msgstr "Ñлед -ge" #~ msgid "before -ne" #~ msgstr "преди -ne" #~ msgid "after -ne" #~ msgstr "Ñлед -ne" #~ msgid "before -eq" #~ msgstr "преди -eq" #~ msgid "after -eq" #~ msgstr "Ñлед -eq" #~ msgid "after -t" #~ msgstr "Ñлед -t" #~ msgid "too many arguments\n" #~ msgstr "твърде много аргументи\n" #~ msgid "file arguments missing" #~ msgstr "липÑва файлов аргумент" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "неправилна обратно наклонена черта „\\%c“" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "при отÑтранÑване на Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ñ‚Ñ€Ñбва да Ñе поÑочи поне един низ" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "неправилно изображение идентитет; при превод вÑÑка конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [:lower:] " #~ "или\n" #~ "[:upper:] в МÐОЖ1 трÑбва да бъде подравнена ÑÑŠÑ Ñъответна конÑтрукциÑ\n" #~ "([:upper:] или [:lower:] Ñъответно) в МÐОЖ2" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [аргументи, които Ñе пренебрегват]\n" #~ " или: %s ОПЦИЯ\n" #~ "Завършва Ñ ÐºÐ¾Ð´-ÑÑŠÑтоÑние, поÑочващ уÑпех.\n" #~ "\n" #~ "Следващите имена на опции не могат да бъдат Ñъкращавани.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "може да Ñе поÑочва Ñамо един аргумент" #~ msgid "tab size contains an invalid character" #~ msgstr "размерът на табулациите включва непозволен знак" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "опциÑта „-LIST“ е архаична; използвайте „--first-only -t LIST“" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "опциÑта „-%lu“ е архаична; използвайте „-f %lu“" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "" #~ "%s: не може да Ñе уÑтанови потребителÑкото име на потребител Ñ Ð½Ð¾Ð¼ÐµÑ€ %u\n" #~ msgid "program error" #~ msgstr "програмна грешка" #~ msgid "stack overflow" #~ msgstr "препълване на Ñтека" #~ msgid "Richard Stallman and David MacKenzie" #~ msgstr "Richard Stallman и David MacKenzie" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ЛЯВ_ФÐЙЛ ДЕСЕÐ_ФÐЙЛ\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie и Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp и David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: очаква Ñе „+“ или „-“ Ñлед разделителÑ" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie и Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie и Stuart Kemp" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy и Paul Eggert" #~ msgid " Type" #~ msgstr " Тип " #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie и Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert и Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "не може да Ñе влече в Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð½Ð° каталога %s" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Ð’ -wЧИСЛО буквата „w“ може да Ñе пропуÑне.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=РÐЗМ извежда началните РÐЗМ байтове\n" #~ " -n, --lines=БРОЙ извежда първите БРОЙ реда вмеÑто първите 10\n" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins и David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker и David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie и Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram и David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat и David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie и Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie и Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: неправилно използване на \\" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman и Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "ако началната ÑтойноÑÑ‚ е по-голÑма от границата,\n" #~ "Ñтъпката трÑбва да бъде отрицателна" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "Ðко началната ÑтойноÑÑ‚ е по-малка от границата,\n" #~ "Ñтъпката трÑбва да бъде положителна" #~ msgid "invalid number" #~ msgstr "неправилно чиÑло" #~ msgid "*** invalid date/time ***" #~ msgstr "*** неправилна дата/време ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau и David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor и Jim Meyering" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "" #~ "%s е по-голÑм от макÑимално допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ на файл при тази ÑиÑтема" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman и David MacKenzie" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie и Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie и Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Внимание: значението на „-l“ в бъдеще ще Ñе промени да Ð¾Ñ‚Ð³Ð¾Ð²Ð°Ñ€Ñ Ð½Ð° " #~ "Ñтандарта POSIX" ��������������������������������������������������������������������������������������������������coreutils-8.21/po/de.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001624757�12107204506�011737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Deutsche Übersetzungen für Meldungen der Coreutils. # Copyright © 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # The first 200+ lines are translations for the lib directory. This is very # similar or even identical to other tools’ lib directories. Therefore take # care to have consistent translation. I have made this identical to the # translation in sh-utils and fileutils. -MPi # PS: This file now contains sh-utils and fileutils, but the lib dir is in # other projects, too. # # TAB: spell it out („Tabulatoren“). -ke- # Don’t use obscure abbreviations, please. -ke- # # space: Leerzeichen oder Leerschritt # # Check: # idle – untätig # idle: untätig, ruhig, „idle“, Leerlauf # user idle time: Untätigkeitszeit des Benutzers, Ruhezeit, Idle-Time, # Benutzer im Leerlauf # digit – Zahl, Ziffer, Nummer, Stelle # logged in – angemeldet, eingeloggt # requested – gewünscht? # # Some comments on translations used in oder to ensure persistence: # # symbolic links: symbolische Verknüpfungen # hard links: harte Verknüpfungen # backup: Sicherung # mount: einhängen # sparse file: Datei mit Löchern („sparse“) # # Karl Eichwalder <ke@suse.de>, 2001, 2002. # Lutz Behnke <lutz.behnke@gmx.de>, 1996, 1997, 1998, 1999, 2000, 2001. # Michael Schmidt <michael@guug.de>, 1996, 1997, 1998, 1999, 2000. # Michael Piefel <piefel@informatik.hu-berlin.de>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011. # Philipp Thomas <pth@suse.de>, 2010, 2011, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: GNU coreutils-8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-12 15:51+0100\n" "Last-Translator: Philipp Thomas <pth@suse.de>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.1\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ungültiges Argument %s für %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "mehrdeutiges Argument %s für %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Gültige Argumente sind:" #: lib/closein.c:100 msgid "error closing file" msgstr "Fehler beim Schließen der Datei" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "Schreibfehler" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "Erhalten der Zugriffsrechte für %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Unbekannter Systemfehler" #: lib/file-type.c:38 msgid "regular empty file" msgstr "reguläre leere Datei" #: lib/file-type.c:38 msgid "regular file" msgstr "reguläre Datei" #: lib/file-type.c:41 msgid "directory" msgstr "Verzeichnis" #: lib/file-type.c:44 msgid "block special file" msgstr "blockorientierte Spezialdatei" #: lib/file-type.c:47 msgid "character special file" msgstr "zeichenorientierte Spezialdatei" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolische Verknüpfung" #: lib/file-type.c:56 msgid "socket" msgstr "Socket" #: lib/file-type.c:59 msgid "message queue" msgstr "Nachrichtenwarteschlange" #: lib/file-type.c:62 msgid "semaphore" msgstr "Semaphor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "Objekt gemeinsamen Speichers" #: lib/file-type.c:68 msgid "typed memory object" msgstr "Objekt getypten Speichers" #: lib/file-type.c:70 msgid "weird file" msgstr "merkwürdige Datei" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Adressfamilie für Hostnamen wird nicht unterstützt" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Vorübergehender Fehler bei der Namensauflösung" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ungültiger Wert für ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Nicht behebbarer Fehler bei der Namensauflösung" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family wird nicht unterstützt" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Fehler bei der Speicheranforderung" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Keine Adresse mit dem Hostnamen verbunden" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Name oder Service unbekannt" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname für ai_socktype wird nicht unterstützt" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype wird nicht unterstützt" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Systemfehler" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumentenpuffer ist zu klein" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Bearbeitungsanfrage läuft" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Anfrage abgebrochen" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Anfrage nicht abgebrochen" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Alle Anfragen erledigt" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Von einem Signal unterbrochen" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "die Parameterzeichenkette ist nicht korrekt codiert" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Unbekannter Fehler" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: die Option „%s“ ist mehrdeutig; Mögliche Bedeutungen:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: die Option „--%s“ erlaubt kein Argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: die Option „%c%s“ erlaubt kein Argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: die Option „--%s“ benötigt ein Argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: die Option „--%s“ ist unbekannt\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: die Option „%c%s“ ist unbekannt\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: die Option -- „%c“ist ungültig\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: die Option erfordert ein Argument -- „%c“\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: die Option „-W %s“ ist mehrdeutig\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: die Option „-W %s“ erlaubt kein Argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: die Option „-W %s“ erfordert ein Argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "die Zugriffsrechte von %s können nicht geändert werden" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "das Verzeichnis %s kann nicht angelegt werden" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "der Speicher ist ausgeschöpft" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "das aktuelles Verzeichnisses kann nicht aufgezeichnet werden" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "die Rückkehr in das ursprüngliche Arbeitsverzeichnis war nicht möglich" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "„" #: lib/quotearg.c:313 msgid "'" msgstr "“" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: Dateieende" #: lib/regcomp.c:131 msgid "Success" msgstr "Erfolg" #: lib/regcomp.c:134 msgid "No match" msgstr "Keine Übereinstimmung" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ungültiges Suchzeichen" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ungültiger Zeichenklassenname" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Rückschrägstrich am Ende" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ungültige Rückwärtsverweis" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Keine schließende Klammer für [ oder [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Keine schließende Klammer für ( oder \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Keine schließende Klammer für \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Der Inhalt von \\{\\} ist ungültig" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ungültiges Bereichsende" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Speicher ausgeschöpft" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Der vorhergehende reguläre Ausdruck ist ungültig" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Der reguläre Ausdruck endet vorzeitig" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Der reguläre Ausdruck ist zu groß" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Kein Gegenstück für ) oder \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Kein vorhergehender regulärer Ausdruck" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "Es ist gefährlich, rekursiv auf %s zu arbeiten." #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "Es ist gefährlich, rekursiv auf %s (das gleiche wie %s) zu arbeiten." #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "Benutzen Sie --no-preserve-root, um diese Sicherheitsmaßnahme zu umgehen." #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJyY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "Setzen der Zugriffsrechte für %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Aufhängen" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Unterbrechung" #: lib/siglist.h:37 msgid "Quit" msgstr "Ende" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Illegale Instruktion" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trace/Breakpoint Trap" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abbruch" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Fließkommaausnahme" #: lib/siglist.h:52 msgid "Killed" msgstr "Gewaltsam beendet" #: lib/siglist.h:55 msgid "Bus error" msgstr "Systemfehler" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Segmentierungsverletzung" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Unterbrochene Pipeline" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Wecker" #: lib/siglist.h:67 msgid "Terminated" msgstr "Beendet" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Dringender E/A Zustand" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Gestoppt (Signal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Gestoppt" #: lib/siglist.h:79 msgid "Continued" msgstr "Fortgesetzt" #: lib/siglist.h:82 msgid "Child exited" msgstr "Kindprozess endete" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Gestoppt (Terminaleingabe)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Gestoppt (Terminalausgabe)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "E/A möglich" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Begrenzung der CPU-Zeit überschritten" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Dateigröße überschritten" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Der virtuelle Timer ist abgelaufen" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Der Profilierungstimer ist abgelaufen" #: lib/siglist.h:106 msgid "Window changed" msgstr "Fenster hat sich geändert" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Benutzerdefiniertes Signal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Benutzerdefiniertes Signal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT Trap" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Ungültiger Systemaufruf" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Stapelfehler" #: lib/siglist.h:126 msgid "Information request" msgstr "Informationsanforderung" #: lib/siglist.h:128 msgid "Power failure" msgstr "Stromausfall" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Resource verloren" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "Erzeugen der Pipeline nicht möglich" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "Subprozess %s ist fehlgeschlagen" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Echtzeitsignal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Das Signal %d ist unbekannt" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "die iconv-Funktion ist nicht benutzbar" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "die iconvâ€Funktion ist nicht verfügbar" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "das Zeichen ist außerhalb der erlaubten Grenzen" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "U+%04X kann nicht in den lokalen Zeichensatz konvertiert werden" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "U+%04X kann nicht in den lokalen Zeichensatz konvertiert werden: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ungültiger Benutzer" #: lib/userspec.c:107 msgid "invalid group" msgstr "ungültige Gruppe" #: lib/userspec.c:108 msgid "invalid spec" msgstr "ungültige Spezifikation" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "eine Fehlermeldung konnte nicht angezeigt werden" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Gepackt von %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Gepackt von %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Lizenz GPLv3+: GNU GPL Version 3 oder höher <http://gnu.org/licenses/gpl." "html>\n" "Dies ist freie Software: Sie können sie ändern und weitergeben.\n" "Es gibt keinerlei Garantien, soweit wie es das Gesetz erlaubt.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Geschrieben von %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Geschrieben von %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Geschrieben von %s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschrieben von %s, %s, %s\n" "und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s\n" "und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s und %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Geschrieben von %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s und anderen.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Melden Sie Übersetzungsfehler an <translation-team-de@lists.sourceforge." "net>,\n" "Programmfehler dagegen (auf Englisch, mit LC_ALL=C) an <%s>.\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Melden Sie Programmfehler für %s (auf Englisch, mit LC_ALL=C) an %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Homepage für %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Allgemeine Hilfe zur Benutzung von GNU-Software: <http://www.gnu.org/gethelp/" ">\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle ist fehlgeschlagen" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "Fd %d kann nicht wiederhergestellt werden: dup2 ist fehlgeschlagen" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "Subprozess %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "Subprozess „%s“ erhielt fatales Signal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "Standardeingabe" #: lib/xfreopen.c:36 msgid "stdout" msgstr "Standardausgabe" #: lib/xfreopen.c:37 msgid "stderr" msgstr "Standardfehlerausgabe" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "Unbekannter Stream" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "%s konnte nicht erneut im Modus %s geöffnet werden" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "Zeichenkettenvergleich fehlgeschlagen" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Setzen Sie LC_ALL=C, um das Problem zu umgehen." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Die verglichenen Zeichenketten waren %s und %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "die formatierte Ausgabe kann nicht durchgeführt werden" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "ungültiges %s%s Argument „%s“" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ungültige Endung in %s%s Argument „%s“" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s Argument „%s“ ist zu groß" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Aufruf: %s [OPTION]... [DATEI]\n" "DATEI oder Standardeingabe mittels Base64 kodieren oder dekodieren und\n" "in die Standardausgabe schreiben.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode Daten dekodieren\n" " -i, --ignore-garbage nicht-alphabetische Zeichen werden beim Dekodieren " "ignoriert\n" " -w, --wrap=SPALTEN bricht kodierte Zeilen nach SPALTEN Zeichen um " "(Vorgabe sind 76).\n" " Verwenden Sie 0 um jeglichen " "Zeilenumbruch zu verhindern\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Die Daten werden entsprechend dem Base64â€Alphabet aus RFC 3548 kodiert.\n" "Beim Dekodieren darf die Eingabe zusätzlich zu den formal gültigen\n" "Base64â€Zeichen noch Zeilenumbrüche enthalten. Benutzen Sie die Option\n" "--ignore-garbage, um zu versuchen, auch weitere nicht zum Alphabet " "gehörende\n" "Zeichen in der kodierten Eingabe zu verkraften.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "Lesefehler" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ungültige Eingabe" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ungültige Umbruchgröße: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "zusätzlicher Operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "schließe Standardeingabe" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Aufruf: %s NAME [ENDUNG]\n" " oder: %s OPTION... NAME...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Den NAMEn ohne führende Verzeichnisse ausgeben.\n" "Wenn angegeben, auch ENDUNG entfernen.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple mehrere Argumente werden unterstützt, wobei jedes\n" " einzelne als NAME behandelt wird.\n" " -s, --suffix=ENDUNG ENDUNG wird entfernt\n" " -z, --zero Die Ausgabe wird mit NULL statt Zeilenumbruch " "beendet\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Beispiele:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" gefolgt von \"str2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "fehlender Operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "DATEI(en) oder Standardeingabe auf Standardausgabe verketten. \n" "\n" " -A, --show-all äquivalent zu -vET\n" " -b, --number-nonblank nichtleere Ausgabezeilen nummerieren\n" " -e äquivalent zu -vE\n" " -E, --show-ends $ am Ende jeder Zeile ausgeben\n" " -n, --number alle Ausgabezeilen nummerieren\n" " -s, --squeeze-blank aufeinander folgende Leerzeilen unterdrücken\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t äquivalent zu -vT\n" " -T, --show-tabs Tabulatorâ€Zeichen als ^I ausgeben\n" " -u (wird ignoriert)\n" " -v, --show-nonprinting ^†und Mâ€Notation benutzen, außer für LFD und " "Tab.\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Beispiele:\n" " %s f - g Gibt den Inhalt von f aus, dann die Standardeingabe,\n" " schließlich den Inhalt von g.\n" " %s Kopiert die Standardeingabe in die Standardausgabe.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "Anwendung von ioctl auf „%s“ ist nicht möglich" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "Standardausgabe" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: Eingabedatei ist Ausgabedatei" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "der Sicherheitskontext konnte nicht erstellt werden: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "die %s-Sicherheitskontextkomponente konnte nicht auf %s gesetzt werden" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "der Sicherheitskontext von %s konnte nicht ermittelt werden" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" "der unvollständige Kontext kann nicht auf Datei %s ohne Label angewendt " "werden" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "der Kontext von %s konnte nicht in %s geändert werden" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "Zugriff auf %s nicht möglich" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "das Verzeichnis %s kann nicht gelesen werden" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "der Sicherheitskontext von %s wird geändert\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read fehlgeschlagen" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close scheiterte" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Aufruf: %s [OPTION]... KONTEXT DATEI...\n" " oder: %s [OPTION]... [-u NUTZER] [-r ROLLE] [-l BEREICH] [-t TYP] " "DATEI...\n" " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Ändern des Sicherheitskontextes jeder DATEI nach KONTEXT.\n" "Mit --reference: Ändern des Sicherheitskontextes jeder DATEI auf die von " "RDATEI.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference ändert jede Datei, auf die die symbolische " "Verknüpfung\n" " verweist (Vorgabe), statt der symbolischen " "Verknüpfung\n" " -h, --no-dereference symbolische Verknüpfung anstatt der referenzierten\n" " Datei ändern\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=NUTZER NUTZER im Ziel-Sicherheitskontext setzen\n" " -r, --role=ROLLE ROLLE im Ziel-Sicherheitskontext setzen\n" " -t, --type=TYP TYP im Ziel-Sicherheitskontext setzen\n" " -l, --range=BEREICH BEREICH im Ziel-Sicherheitskontext setzen\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root „/“ nicht besonders behandeln (Voreinstellung)\n" " --preserve-root rekursive Bearbeitung von „/“ ablehnen\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RDATEI RDATEIs Sicherheitskontext verwenden anstatt " "eines\n" " KONTEXTâ€Wertes\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Die folgenden Optionen bestimmen, wie eine Hierarchie abgearbeitet wird, " "wenn\n" "die Option -R ebenfalls gegeben ist. Sind mehr als eine angegeben, wirkt " "sich\n" "nur die letzte aus.\n" "\n" " -H wenn ein Kommandozeilenargument eine symbolische\n" " Verknüpfung auf ein Verzeichnis ist, abarbeiten\n" " -L jede gefundene symbolische Verknüpfung auf ein\n" " Verzeichnis abarbeiten\n" " -P überhaupt keinen symbolischen Verknüpfungen folgen\n" " (Voreinstellung)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference erfordert entweder -H oder -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h erfordert -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "fehlender Operand nach %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "ungültiger Kontext: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "widersprüchliche Sicherheitskontext-Angaben" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "konnte Attribute von %s nicht holen" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "ungültige Gruppe: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Aufruf: %s [OPTION]... GRUPPE DATEI...\n" " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Ändert die Gruppe für jede DATEI zu GRUPPE.\n" "Mit --reference: Ändert die Gruppe jeder DATEI auf die von RDATEI.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes wie verbose aber nur Berichten, wenn Änderungen " "erfolgen\n" " -f, --silent, --quiet unterdrückt die meisten Fehlermeldungen\n" " -v, --verbose Es wird eine Meldung für jede verarbeitete Datei " "ausgegeben\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (Nützlich auf Systemen, die für symbolische\n" " Verknüpfungen die Besitzer ändern können.)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RDATEI benutzt die Gruppe von RDATEI statt einer direkt\n" " angegebenen GRUPPE\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Beispiele:\n" " %s staff /u Ändert die Gruppe von /u zu „staff“.\n" " %s -hR staff /u Ändert die Gruppe von /u und enthaltener Dateien zu " "„staff“.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "Beim Holen der neuen Attribute von %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "Weder die symbolische Verknüpfung %s, noch die referenzierte Datei wurden " "verändert.\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "der Modus von %s wurde von %04lo (%s) in %04lo (%s) geändert\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "" "Änderung des Modus von %s von %04lo (%s) nach %04lo (%s) ist fehlgeschlagen\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "Modus von %s als %04lo (%s) erhalten\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" "auf der ins Leere weisenden symbolischen Verknüpfung %s kann nicht " "gearbeitet werden" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "Beim Setzen der Zugriffsrechte für %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: die neuen Zugriffsrechte sind %s, nicht %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Aufruf: %s [OPTION]... MODUS[,MODUS]... DATEI...\n" " oder: %s [OPTION]... OKTALâ€MODUS DATEI...\n" " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Ändert den Modus jeder DATEI zu MODUS.\n" "Mit --reference: Ändert den Modus jeder DATEI auf den von RDATEI.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RDATEI verwendet den Modus von RDATEI statt des\n" " angegebenen MODUS\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Jeder MODUS hat die Form „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "Modus†und Referenzâ€Optionen können nicht kombiniert werden." #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "Ungültiger Modus: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "der Eigentümer von %s wurde von %s in %s geändert\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "die Gruppe von %s wurde von %s in %s geändert\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "kein Wechsel des Eigentümers von %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "das Ändern des Eigentümers von %s von %s zu %s ist fehlgeschlagen\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "das Ändern der Gruppe von %s von %s in %s ist fehlgeschlagen\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "der Wechsel des Eigentümers von %s ist fehlgeschlagen\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "der Wechsel des Eigentümers von %s in %s fehlgeschlagen\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "der Wechsel der Gruppe von %s in %s fehlgeschlagen\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "der Eigentümer von %s wurde als %s erhalten\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "die Gruppe von %s wurde als %s erhalten\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "der Eigentümer von %s wurde erhalten\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "%s kann nicht dereferenziert werden" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "der Eigentümer von %s wird geändert" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "die Gruppe von %s wird geändert" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Aufruf: %s [OPTION]... [EIGENTÜMER][:[GRUPPE DATEI...\n" " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Ändern der Gruppenâ€Zugehörigkeit für jede DATEI nach GRUPPE.\n" "Mit --reference: Ändern der Gruppenâ€Zugehörigkeit für jede DATEI auf die von " "RDATEI.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=MOMENTANER_EIGENTÜMER:MOMENTANE_GRUPPE\n" " Ändert den Eigentümer und/oder die Gruppe jeder " "Datei \n" " nur wenn der momentane Eigentümer und/oder die\n" " Gruppe der angegebenen entsprechen. Eine von " "beiden\n" " kann weggelassen werden, woraufhin " "eine Übereinstimmung des weggelassenen " "Attributs\n" " nicht notwendig ist.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RDATEI RDATEIs Eigentümer und Gruppe verwenden anstatt\n" " eines EIGENTÜMER:GRUPPEâ€Wertes\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Eigentümer bleibt unverändert, wenn nicht angegeben. Gruppe bleibt\n" "unverändert, wenn nicht angegeben, wird aber auf die Loginâ€Gruppe\n" "gesetzt, wenn durch „:“ hinter einem symbolische EIGENTÜMER implizit " "gewünscht.\n" "EIGENTÜMER und GRUPPE können sowohl numerisch als auch symbolisch\n" "angegeben werden.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Beispiele:\n" " %s root /u Ändert den Eigentümer von /u auf „root“.\n" " %s root:staff /u Genauso, setzt zusätzlich die Gruppe auf „staff“.\n" " %s -hR root /u Ändert den Eigentümer von /u und enthaltener\n" " Dateien auf „root“.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "ungültige Gruppe %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "ungültige Gruppenliste %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "es konnten keine zusätzlichen Gruppen gesetzt werden" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [OPTION] NEUEWURZEL [BEFEHL [ARGUMENT]...]\n" " oder: %s OPTION\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "BEFEHL ausführen, wobei das Wurzelverzeichnis auf NEUEWURZEL gesetzt wird.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=BENUTZER:GRUPPE Angabe des zu verwenden Benutzers und Gruppe " "(ID oder Name)\n" " --groups=G_LISTE zus\"atzliche Gruppen in der " "Form g1,g2,..,gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Wenn kein Befehl angegeben ist, „${SHELL} -i“ (Vorgabe: /bin/sh) ausführen.\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "Es ist nicht möglich, das Wurzelverzeichnis in %s zu ändern" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "Es ist nicht möglich, in das Wurzelverzeichnis zu wechseln" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "die Gruppen-ID konnte nicht gesetzt werden" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "die Benutzer-ID konnte nicht gesetzt werden" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "der Befehl %s konnte nicht ausgeführt werden" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: Datei zu lang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Aufruf: %s [DATEI]...\n" " oder: %s [OPTION]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "CRC-Checksumme und Byteanzahl für jede DATEI ausgeben.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Aufruf: %s [OPTION]... DATEI1 DATEI2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Sortierte Dateien DATEI1 und DATEI2 Zeile für Zeile vergleichen.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Ohne Optionen wird eine dreispaltige Ausgabe erzeugt. Spalte 1 enthält " "Zeilen,\n" "die nur in DATEI1 sind, Spalte 2 dementsprechend Zeilen aus DATEI2, und\n" "Spalte 3 die Zeilen, die in beiden Dateien gleich sind.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 Zeilen unterdrücken, die nur in DATEI1 auftauchen\n" " -2 Zeilen unterdrücken, die nur in DATEI2 auftauchen\n" " -3 Zeilen unterdrücken, die in beiden Dateien auftauchen\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order prüfen, ob die Eingabe richtig sortiert ist, auch\n" " wenn alle Eingabezeilen gepaart werden können\n" " --nocheck-order Sortierung der Eingabe nicht prüfen\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR Spalten mit STR trennen\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Man beachte, dass die Vergleiche den durch „LC_COLLATE“ gegebenen Regeln " "folgen.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Beispiel:\n" " %s -12 Datei1 Datei2 Es werden nur die Zeilen ausgegeben, die in Datei1 " "und Datei2 sind.\n" " %s -3 Datei1 Datei2 Gibt nur die Zeilen aus, die nur in Datei1 oder " "Datei2 vorkommen.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "die Datei %d ist nicht sortiert" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "es wurden mehrfache Trennzeichen angegeben" # XLATE_REMARK: Check this out! What is %s? #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "leeres %s ist nicht erlaubt" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "Fehler beim Lesen von %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "der Aufruf von lseek für %s ist nicht möglich" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "Fehler beim Schreiben von %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: Info über die Erweiterung konnte nicht erfragt werden" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: das Schreiben schlug fehl" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "%s konnte nicht erweitert werden" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "die Zugriffsrechte für %s werden gelöscht" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "der Eigentümer für %s konnte nicht beibehalten werden" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "die Datei %s konnte nicht gefunden werden" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "der Urheber für %s konnte nicht beibehalten werden" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "%s kann nicht zum Lesen geöffnet werden" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "der Aufruf von fstat für %s ist nicht möglich" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" "die Datei %s wird übersprungen, da sie während des Kopierens ersetzt wurde" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "der Erstellungs-Kontext des Dateisystems konnte nicht ermittelt werden" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "der Sicherheitskontext von %s konnte nicht auf %s gesetzt werden" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "das Entfernen von %s ist nicht möglich" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s wurde entfernt\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" "schreiben durch die unvollständige symbolische Verknüpfung %s ist nicht " "möglich" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "reguläre Datei %s kann nicht angelegt werden" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "%s konnte nicht von %s geklont werden" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "die Zeiten für %s werden beibehalten" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "%s konnte nicht geöffnet werden" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: Überschreiben von %s, über Modus %04lo (%s) hinwegsetzen? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s überschreiben? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (Sicherung: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" "der Standard-Kontext zur Dateierstellung konnte nicht wieder hergestellt " "werden" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "" "das Erzeugen von harter Verknüpfung %s zu Verzeichnis %s ist nicht möglich" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "der Aufruf von stat für %s ist nicht möglich" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "Verzeichnis %s wurde ausgelassen" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "Warnung: Quelldatei %s mehr als einmal angegeben" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s und %s sind die gleiche Datei" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" "das Überschreiben des Nichtâ€Verzeichnisses %s mit Verzeichnis %s ist nicht " "möglich." #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "Neu erstelltes %s wird nicht mit %s überschrieben." #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" "das Überschreiben des Verzeichnisses %s mit einem Nichtâ€Verzeichnis ist " "nicht möglich." #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" "das Verschieben eines Verzeichnisses auf ein Nichtâ€Verzeichnis ist nicht " "möglich: %s → %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "die Sicherung von %s würde die Quelle zerstören; %s wurde nicht verschoben" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "die Sicherung von %s würde die Quelle zerstören; %s wurde nicht kopiert" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "die Sicherung von %s ist nicht möglich" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "%s wird nicht mittels der neu erstellten symbolische Verknüpfung %s kopiert" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" "Kopieren eines Verzeichnisses, %s, in sich selbst (%s) ist nicht möglich" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "Harte Verknüpfung %s zu Verzeichnis %s wird nicht erzeugt" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" "das Verschieben von %s in ein Unterverzeichnis seiner selbst (%s) ist nicht " "möglich" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "das Verschieben von %s nach %s ist nicht möglich" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "das Verschieben zwischen Geräten ist fehlgeschlagen: %s zu %s; das Ziel kann " "nicht entfernt werden" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "der Standard-Kontext zur Dateierstellung konnte nicht auf %s gesetzt werden" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" "das Kopieren der zyklischen symbolischen Verknüpfung %s ist nicht möglich" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: eine relative symbolische Verknüpfungen kann nur im aktuellen " "Verzeichnis angelgt werden" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "die symbolische Verknüpfung %s zu %s kann nicht angelegt werden" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "der FIFO %s kann nicht erzeugt werden" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "die Spezialdatei %s kann nicht erzeugt werden" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "Lesen der symbolischen Verknüpfung %s nicht möglich" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "die symbolische Verknüpfung %s kann nicht angelegt werden" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s hat einen unbekannten Dateityp" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "das Löschen der Sicherung von %s ist nicht möglich" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s → %s (Löschen der Sicherung)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Aufruf: %s [OPTION]... [-T] QUELLE ZIEL\n" " oder: %s [OPTION]... QUELLE... VERZEICHNIS\n" " oder: %s [OPTION]... -t VERZEICHNIS QUELLE...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Kopieren von QUELLE nach ZIEL, oder mehrere QUELLE(n) in VERZEICHNIS\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive genau wie -dpR --preserve=all\n" " --attributes-only nicht die Dateidaten sondern nur die Attribute " "kopieren/n --backup[=KONTROLLE] eine Sicherung existierender " "Zieldateien erzeugen\n" " -b wie --backup, akzeptiert aber kein Argument\n" " --copy-contents wenn rekursiv, Inhalt von Spezialdateien " "kopieren\n" " -d genauso wie --no-dereference --preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force wenn existierende Zieldatei nicht geöffnet " "werden\n" " kann, löschen und erneut versuchen " "(redundant\n" " bei Verwendung der Option -n)\n" " -i, --interactive vor einem Überschreiben nachfragen " "(überstimmt\n" " eine vorangehende Option -n)\n" " -H symbolischen Verknüpfungen, die auf der\n" " Kommandozeile als QUELLE angegeben sind,\n" " folgen\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link Dateien verknüpfen, statt sie zu kopieren\n" " -L, --dereference symbolischen Verknüpfungen in QUELLE immer " "folgen\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber keine existierenden Dateien überschreiben\n" " (überstimmt eine vorangehende Option -n)\n" " -P, --no-dereference symbolischen Verknüpfungen in QUELLE nie " "folgen\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p genau wie --preserve=mode,ownership," "timestamps\n" " --preserve[=ATTR_LIST] angegebene Dateiâ€Attribute (Voreinstellung: " "mode,\n" " ownership,timestamps) wenn möglich " "erhalten;\n" " weitere Attribute: context, links, xattr, " "all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST Angegebene Attribute nicht erhalten\n" " --parents Quellâ€Pfad an VERZEICHNIS anhängen\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive Verzeichnisse rekursiv kopieren\n" " --reflink[=WANN] Klon/CoW Kopien kontrollieren. Siehe unten/" "n --remove-destination jede Zieldatei vor dem Versuch, sie zu " "öffnen,\n" " löschen (im Gegensatz zu --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WANN Erstellung von Dateien mit Löchern (s. u.) " "steuern\n" " --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLEâ€" "Arguments\n" " entfernen\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link symbolische Verknüpfungen erzeugen anstatt\n" " zu kopieren\n" " -S, --suffix=ENDUNG Standard-Sicherungsâ€Dateiendung ändern\n" " -t, --target-directory=VERZ alle QUELLEâ€Argumente in VERZ kopieren\n" " -T, --no-target-directory ZIEL als normale Datei behandeln\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update nur kopieren, wenn die QUELLâ€Datei neuer ist\n" " als die Zieldatei oder die Zieldatei nicht\n" " existiert\n" " -v, --verbose durchgeführte Tätigkeiten erklären\n" " -x, --one-file-system in diesem Dateisystem verbleiben\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Standardmäßig werden QUELLâ€Dateien mit Löchern („sparse“) durch eine " "einfache\n" "Heuristik erkannt und die korrespondierenden ZIELâ€Dateien werden ebenfalls\n" "„sparse“ gemacht. Dieses Verhalten wird mit --sparse=auto ausgewählt. Geben\n" "Sie --sparse=always an, um „sparse“â€ZIELâ€Dateien zu erzeugen, wenn die\n" "QUELL-Datei eine ausreichend lange Sequenz aus Nullâ€Bytes enthält.\n" "Verwenden Sie --sparse=never, um das Erzeugen von „sparse“â€Dateien zu\n" "verhindern.\n" "Wird --reflink[=always] angegeben, wird eine leichtgewichtige Kopie " "gemacht,\n" "bei welcher die Datenblöcke nur dann kopiert werden, wenn sie sich geändert\n" "haben. Wenn dies nicht möglich ist, scheitert das Kopieren. Wurde\n" "--reflink=auto angegeben, wird statt dessen eine normale Kopie angelegt.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Die Endung für Sicherheitskopien ist ~, außer wenn er mittels --suffix\n" "oder SIMPLE_BACKUP_SUFFIX explizit gesetzt wurde. Die Methode der\n" "Versionskontrolle kann mit --backup oder Umgebungsvariable VERSION_CONTROL\n" "festgelegt werden. Mögliche Werte sind:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off Niemals Sicherung erzeugen (selbst wenn --backup\n" " angegeben wurde)\n" " numbered, t Erzeugen von nummerierten Sicherheitskopien\n" " existing, nil Nummeriert wenn nummerierte Backups existieren, sonst " "einfach.\n" " simple, never Immer einfache Sicherheitskopien erzeugen\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Als Spezialfall erzeugt cp eine Sicherheitskopie von QUELLE wenn „force“ " "und\n" "„backup“ Optionen angegeben wurden und QUELLE und ZIEL der gleiche Name für\n" "eine vorhandene reguläre Datei sind.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "die Zeiten für %s konnten nicht beibehalten werden" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "die Zugriffsrechte für %s konnten nicht beibehalten werden" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "das Verzeichnisses %s konnte nicht angelegt werden" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existiert, ist aber kein Verzeichnis" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "auf %s konnte nicht zugegriffen werden" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "Fehlender Dateioperand" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "Fehlender Zieldateiâ€Operand hinter %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "--target-directory (-t) und --no-target-directory (-T) können nicht " "kombiniert werden" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "das angegebene Ziel %s ist kein Verzeichnis" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "mit --parents muss das Ziel ein Verzeichnis sein" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "mehrere Zielverzeichnisse angegeben" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" "Gleichzeitiges Erzeugen harter und symbolischer Verknüpfung ist nicht möglich" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "die Optionen --backup und --no-clobber schließen sich gegenseitig aus" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink kann nur zusammen mit --sparse=auto verwendet werden" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "Typ der Sicherung" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "das Beibehalten des Sicherheitskontextes ist ohne einen Kernel mit\n" "Unterstützung für SELinux nicht möglich" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "erweiterte Attribute können nicht beibehalten werden, da „cp“ ohne\n" "Unterstützung für xattr gebaut wurde" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "Eingabe ist verschwunden" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: Zeilennummer nicht im zulässigen Bereich" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: Zeilennummer nicht im zulässigen Bereich" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " bei Wiederholung %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: keine Entsprechung gefunden" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "Fehler bei Suche mit regulären Ausdrücken" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "Fehler beim Schreiben von %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: ganze Zahl nach Trenner erwartet" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: „}“ ist bei Angabe einer Wiederholungsanzahl erforderlich" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: zwischen „{“ and „}“ ist eine Ganzzahl erforderlich" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: schließender Trenner „%c“ fehlt" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ungültiger regulärer Ausdruck: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ungültiges Muster" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: Zeilennummer muss größer als Null sein" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "Zeilennummer %s ist kleiner als vorhergehende Zeilennummer %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "Warnung: Zeilennummer %s ist dieselbe wie die vorhergehende" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "Angabe zur Wandlung fehlt im Anhang" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "Angabe zur Wandlung fehlt im Anhang: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "Ungültige Angabe zur Wandlung im Anhang: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ungültige Kennungen in der Umwandlungsangabe: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "Zu viele Angaben zur %%-Wandlung im Anhang" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "Fehlende %%-Angabe zur Wandlung im Anhang" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ungültige Zahl" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Aufruf: %s [OPTION]... DATEI MUSTER...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Teile der DATEI getrennt durch MUSTER in die Dateien „xx01“, „xx02“, ...\n" "schreiben und die Bytezahl für jedes Teil auf Standardausgabe ausgeben.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT sprintfâ€FORMAT anstelle von %02d benutzen\n" " -f, --prefix=PRÄFIX PRÄFIX anstelle von „xx“ benutzen\n" " -k, --keep-files Ausgabedateien bei Fehler nicht löschen\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=ZIFFERN angegebene Anzahl ZIFFERN anstelle von 2 " "benutzen\n" " -s, --quiet, --silent keine Bytezahlen der Ausgabedateigrößen " "ausgeben\n" " -z, --elide-empty-files leere Ausgabedateien löschen\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Standardeingabe lesen, wenn DATEI „-“ ist. Jedes MUSTER kann sein:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " GANZZAHL bis zu angegebener Zeilennummer kopieren " "(ausschließlich)\n" " /REGEXP/[OFFSET] bis zu entsprechender Zeile kopieren (ausschließlich)\n" " %%REGEXP%%[OFFSET] bis zu entsprechender Zeile übergehen " "(ausschließlich)\n" " {GANZZAHL} das vorherige Muster sooft wie angegeben wiederholen\n" " {*} das vorherige Muster sooft wie möglich wiederholen\n" "\n" "Ein Zeilen-OFFSET ist ein „+“ or „-“ gefolgt von einer positiven ganzen " "Zahl.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "Felder und Positionen werden von 1 an gezählt" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Aufruf: %s OPTION... [DATEI]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Ausgewählte Teile der Zeilen von jeder DATEI auf Standardausgabe ausgeben.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTE nur diese Bytes ausgeben\n" " -c, --characters=LISTE nur diese Zeichen ausgeben\n" " -d, --delimiter=TRENN TRENN anstelle von Tabulator als Trenner benutzen\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTE nur diese Felder ausgeben; außerdem jede Zeile\n" " ausgeben, die kein Trennzeichen enthält, außer " "die\n" " Option -s ist gegeben\n" " -n (wird ignoriert)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement das Komplement der Menge der gewählten Bytes,\n" " Zeichen oder Felder bilden\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited keine Zeilen ausgeben, die keinen Trenner " "enthalten\n" " --ouput-delimiter=ZKETTE ZKETTE als Ausgabetrennzeichen benutzen;\n" " Voreinstellung ist das Eingabetrennzeichen\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Benutzen Sie genau eins aus -b, -c oder -f. Jede LISTE besteht aus einem\n" "oder mehreren kommagetrennten Bereichen. Die gewählte Eingabe wird in\n" "derselben Reihenfolge geschrieben, wie sie gelesen wird, und genau einmal\n" "geschrieben.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Jeder Bereich ist eins aus:\n" "\n" " N Ntes Byte, Zeichen oder Feld, beginnend von 1\n" " N- vom Nten Byte, Zeichen oder Feld bis zum Ende der Zeile\n" " N-M vom Nten zum Mten (einschl.) Byte, Zeichen oder Feld\n" " -M vom ersten zum Mten (einschl.) Byte, Zeichen oder Feld\n" "\n" "Ohne DATEI, oder wenn DATEI „-“ ist, die Standardeingabe lesen.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "Ungültige Byteâ€, Zeichen- oder Feldliste" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "ungültiger Bereich ohne Endpunkt: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "ungültiger abnehmender Bereich" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "Byteâ€Offset %s ist zu groß" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "Feldnummer %s ist zu groß" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "Nur ein Typ einer Liste kann angegeben werden" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "Trenner muss ein einzelnes Zeichen sein" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "Sie müssen eine Liste von Bytes, Zeichen oder Feldern angeben" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "Ein Eingabe-Begrenzer darf nur angegeben werden, wenn auf Feldern gearbeitet " "wird" # CHECKIT → no \t, please # 2001-08-10 08:03:34 CEST -ke- #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "Nichtâ€getrennte Zeilen zu unterdrücken ist nur sinnvoll,\n" "\twenn auf Feldern operiert wird." #: src/cut.c:870 msgid "missing list of fields" msgstr "Liste der Felder fehlt" #: src/cut.c:872 msgid "missing list of positions" msgstr "Liste der Positionen fehlt" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Aufruf: %s [OPTION]... [+FORMAT]\n" " oder: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Anzeige der aktuellen Zeit im angegebenen FORMAT oder Setzen der " "Systemzeit.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=ZEICHENKETTE Zeit gemäß ZEICHENKETTE anzeigen, nicht „jetzt“\n" " -f, --file=DATEI wie --date für jede Zeile in DATEI\n" " -I[ZEITSPEZ], --iso-8601[=ZEITSPEZ] gibt Datum/Zeit im ISO 8601 Format " "aus.\n" " ZEITSPEZ='date' nur für Datum (Vorgabe),\n" " 'hours', 'minutes', 'seconds', oder 'ns' für " "Datum\n" " und Zeit mit der angegebenen Präzision.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=DATEI Zeit der letzten Änderung von DATEI anzeigen\n" " -R, --rfc-2822 Datumsausgabe gemäß RFCâ€2822 anzeigen\n" " Beispiel: Tue, 27 Feb 2007 16:03:44 +0100\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=ZEITSPEZ Datumsausgabe gemäß RFCâ€3339 anzeigen;\n" " ZEITSPEZ=„date“, „seconds“ oder „ns“ für\n" " Datum und Zeit mit angegebener Genauigkeit\n" " Datum und Zeit werden durch einzelnes " "Leerzeichen\n" " getrennt: 2007-02-27 16:03:44+0100\n" " -s, --set=ZEICHENKETTE Zeit gemäß ZEICHENKETTE setzen\n" " -u, --utc, --universal Coordinated Universal Time anzeigen oder setzen\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT bestimmt die Ausgabe. Interpretierte Angaben sind:\n" "\n" " %% wörtliches %\n" " %a abgekürzter Name des Wochentags der Lokale (z. B. Son)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A voller Name des Wochentags der Lokale, (z. B. Freitag)\n" " %b abgekürzter Monatsname der Lokale (z. B. Nov)\n" " %B voller Monatsname der Lokale, variable Länge (z. B. November)\n" " %c Datum und Zeit der Lokale (z. B. Fr 18 Nov 2005 15:05:42 CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Jahrhundert; wie %Y, aber ohne die letzten beiden Stellen (z. B. 20)\n" " %d Tag des Monats (z. B. 01)\n" " %D amerikanisches Datumsformat; dasselbe wie %m/%d/%y\n" " %e Tag des Monats, mit Leerzeichen aufgefüllt; wie %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F volles Datum; dasselbe wie %Y-%m-%d\n" " %g Jahr als 2â€stellige Zahl bezüglich der ISOâ€Wochennummer (siehe %G)\n" " %G Jahr der ISOâ€Wochennummer (siehe %V); normalerweise nur mit %V " "benutzt\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h dasselbe wie %b\n" " %H Stunde (00..23)\n" " %I Stunde (01..12)\n" " %j Tag des Jahres (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k Stunde, mit Leerzeichen aufgefüllt ( 0..23); identisch mit %_H\n" " %l Stunde, mit Leerzeichen aufgefüllt ( 1..12); identisch mit %_I\n" " %m Monat (01..12)\n" " %M Minute (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n neue Zeile („newline“)\n" " %N Nanosekunden (000000000..999999999)\n" " %p das Äquivalent von AM oder PM in der Lokale; leer wenn unbekannt\n" " %P wie %p, aber in Kleinbuchstaben\n" " %r Zeit im 12â€Stundenâ€Format (z. B. 03:11:30)\n" " %R Zeit im 24â€Stundenâ€Format; dasselbe wie %H:%M\n" " %s Sekunden seit „1970-01-01 00:00:00 UTC“\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Sekunde (00..60)\n" " %t horizontaler Tabulatorstopp\n" " %T Zeit; dasselbe wie %H:%M:%S\n" " %u Tag der Woche (1..7); 1 steht für Montag\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Wochennummer des Jahres mit Sonntag als erstem Tag der Woche " "(00..53)\n" " %V ISOâ€Wochennummer mit Montag als erstem Tag der Woche (01..53)\n" " %w Tag der Woche (0..6); 0 steht für Sonntag\n" " %W Wochennummer des Jahres mit Montag als erstem Tag der Woche (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x Datumsrepräsentation der Lokale (z. B. 18.11.2005)\n" " %X Zeitrepräsentation der Lokale (z. B. 15:14:33)\n" " %y die letzten zwei Ziffern des Jahres (00..99)\n" " %Y Jahr\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm numerische Zeitzone (z. B. +0100)\n" " %:z +hh:mm numerische Zeitzone (z. B. +01:00)\n" " %::z +hh:mm:ss numerische Zeitzone (z. B. +01:00:00)\n" " %:::z numerische Zeitzone mit nötiger Zahl an „:“ (z. B. +01 oder " "+05:30)\n" " %Z alphabetische Zeitzonenabkürzung (z. B. CET)\n" "\n" "Die Vorgabe ist, numerische Felder mit Nullen aufzufüllen.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Die folgenden optionalen Flags können „%“ folgen:\n" "\n" " - (Bindestrich/Minus) Feld nicht auffüllen\n" " _ (Unterstrich) Feld mit Leerzeichen auffüllen\n" " 0 (Null) mit Nullen auffüllen\n" " ^ wenn möglich Großbuchstaben benutzen\n" " # wenn möglich Groß- und Kleinbuchstaben vertauschen\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Nach jedem Flag kommt eine optionale Feldbreite, als Dezimalzahl;\n" "dann ein optionaler Modifikator, der entweder E oder O ist:\n" "E: die alternative Repräsentation der Locale verwenden (so vorhanden)\n" "O: die alternativen numerischen Symbole der Locale verwenden (so vorhanden)\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Beispiele:\n" "Konvertiere die Sekunden seit der Epoche (1970-01-01 UTC) in ein Datum\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" "Zeige die Zeit an der Westküste der USA (verwenden Sie tzselect(1) um\n" "TZ zu bestimmen)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Zeige die lokale Zeit für 09:00 Uhr nächsten Freitag an der Westküste der " "USA\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "Standardeingabe" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "ungültiges Datum %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "mehrere Ausgabeformate angegeben" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "Die angegebenen Optionen zur Datumsanzeige schließen sich gegenseitig aus" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "Die Optionen zum Anzeigen und Setzen der Zeit können\n" "nicht zugleich verwendet werden." #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "Dem Argument „%s“ fehlt das führende „+“.\n" "Wenn eine Option angegeben wird, um das Datum zu spezifizieren, muss jedes\n" "Argument, das keine Option ist, eine Formatzeichenkette sein, die mit „+“\n" "beginnt." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "das Datum kann nicht gesetzt werden" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Zeit %s außerhalb des zulässigen Bereichs" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [OPERAND...]\n" " oder: %s OPTION\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopieren einer Datei, Konvertierung und Formatierung gemäß der Operanden.\n" "\n" " bs=BYTES BYTES Bytes auf einmal lesen und schreiben (siehe ibs=," "obs=)\n" " cbs=BYTES BYTES Bytes auf einmal konvertieren\n" " conv=CONV Datei gemäß kommagetrennter Schlüsselwörterâ€Liste " "konvertieren\n" " count=N nur N Eingabeblöcke kopieren\n" " ibs=BYTES Lesen von BYTES Bytes auf einmal (Voreinstellung: 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=DATEI aus DATEI statt von der Standardeingabe lesen\n" " iflag=FLAGS anhand der kommagetrennten Symbolliste lesen\n" " obs=BYTES BYTES Bytes auf einmal schreiben (Voreinstellung: 512)\n" " of=DATEI in DATEI statt in die Standardausgabe schreiben\n" " oflag=FLAGS anhand der kommagetrennten Symbolliste schreiben\n" " seek=N N obsâ€große Blöcke am Anfang der Ausgabe überspringen\n" " skip=N N ibsâ€große Blöcke am Anfang der Eingabe überspringen\n" " status=WELCHE WELCHE Info nicht auf dem Standardfehlerkanal ausgegeben\n" " werden soll. „noxfer“ unterdrückt die " "übertragungsstatistik\n" " und „none“ alle Ausgaben\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N und BYTES können folgende multiplikative Endungen tragen:\n" "c=1, w=2, b=512, kB=1000, K=1024, MB=1000×1000, M=1024×1024, xM=M\n" "GB=1000×1000×1000, G=1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" "\n" "Jedes CONVâ€Symbol kann sein:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii von EBCDIC in ASCII\n" " ebcdic von ASCII in EBCDIC\n" " ibm von ASCII in alternatives EBCDIC\n" " block mit Zeilenumbrüchen terminierte Datensätzen durch\n" " Leerzeichen bis zur cbsâ€Größe auffüllen\n" " unblock nachlaufende Leerzeichen in Datensätzen von\n" " cbsâ€Größe mit Zeilenumbrüchen ersetzen\n" " lcase Großbuchstaben in Kleinbuchstaben ändern\n" " ucase Kleinbuchstaben in Großbuchstaben ändern\n" " swab Jedes Paar von Eingabebytes vertauschen\n" " sync jeden Eingabeblock mit NULLen zur ibsâ€Größe auffüllen; wenn mit\n" " „block“ oder „unblock“ benutzt, stattdessen mit Leerzeichen\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl scheitert, wenn das auszugebende Byte bereits existiert\n" " nocreat Die Ausgabedatei wird nicht erzeugt\n" " notrunc Die Ausgabedatei wird nicht abgeschnitten\n" " noerror nach Lesefehlern fortfahren\n" " fdatasync vor Beendigung Ausgabedatendatei physisch schreiben\n" " fsync genauso, zusätzlich auch die Metadaten\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Jedes Symbol FLAG kann sein:\n" "\n" " append Anfügemodus (nur für Ausgabe sinnvoll; conv=notrunc empfohlen)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio nebenläufige Einâ€/Ausgabe für Daten benutzen\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct direkte Einâ€/Ausgabe für Daten benutzen\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory abbrechen, wenn kein Verzeichnis\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync synchronisierte Einâ€/Ausgabe für Daten benutzen\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync genauso, aber auch für Metadaten\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock volle Eingabeblöcke ansammeln (nur iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock nichtâ€blockierende Einâ€/Ausgabe benutzen\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime die Zugriffszeit nicht erneuern\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache zwischengespeicherte Daten verwerfen\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty das kontrollierende Terminal nicht von Datei zuweisen\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow symbolischen Verknüpfungen nicht folgen\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks abbrechen, wenn mehrfach verlinkt\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary binäre Einâ€/Ausgabe benutzen\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text textuelle Einâ€/Ausgabe benutzen\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes behandelt „count=N“ als einen Byte-Zähler (nur iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes behandelt „skip=N“ als einen Byte-Zähler (nur iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes behandelt „seek=N“ als einen Byte-Zähler (nur iflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Schickt man einem laufenden „dd“â€Prozess ein %sâ€Signal, gibt dieser\n" "auf der Standardfehlerausgabe Eingabeâ€/Ausgabeâ€Statistiken aus und fährt\n" "mit dem Kopieren fort.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 Datensätze ein\n" " 18335302+0 Datensätze aus\n" " 9387674624 Bytes (9,4 GB) kopiert, 34,6279 Sekunden, 271 MB/s\n" "\n" "Optionen sind:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> Datensätze ein\n" "%<PRIuMAX>+%<PRIuMAX> Datensätze aus\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "ein abgeschnittener Datensatz\n" msgstr[1] "%<PRIuMAX> abgeschnittene Datensätze\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "ein Byte kopiert" msgstr[1] "%<PRIuMAX> Bytes (%s) kopiert" #: src/dd.c:720 msgid "Infinity B" msgstr "unendlich B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "Schließen der Eingabedatei %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "Schließen der Ausgabedatei %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "O_DIRECT konnte nicht abgeschaltet werden: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Schreiben in %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "nicht erkannter Operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "ungültige Konvertierung" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "ungültiges Eingabeflag" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "ungültiges Ausgabeflag" #: src/dd.c:1227 msgid "invalid status flag" msgstr "ungültiges Statusflag" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "ungültige Zahl %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "{ascii,ebcdic,ibm} sind in keiner Weise kombinierbar" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "block und unblock sind nicht kombinierbar" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "lcase und ucase sind nicht kombinierbar" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "excl und nocreat sind nicht kombinierbar" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "direct und nocache sind nicht kombinierbar" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "Warnung: Umgehe lseekâ€Kernelbug für Datei (%s)\n" " des Typs mt_type=0x%0lx – siehe <sys/mtio.h> für die Liste der Typen" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: überspringen nicht möglich" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: das Springen zu Position ist nicht möglich" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "Offsetâ€Ãœberlauf beim Lesen der Datei %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "Warnung: ungültiger Dateiâ€Offset nach fehlgeschlagenem Lesen" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "ein Kernelâ€Fehler kann nun mal nicht umgangen werden" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "die Flags für %s werden gesetzt" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "Hauptspeicher erschöpft durch Eingabepuffer von %zu Bytes (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "Hauptspeicher erschöpft durch Ausgabepuffer von %zu Bytes (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: es ist nicht möglich, zum angegebenen Offset zu springen" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "das Abschneiden bei %<PRIdMAX> Bytes in Ausgabedatei %s scheiterte" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync für %s ist fehlgeschlagen" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync für %s ist fehlgeschlagen" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "konnte %s nicht öffnen" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "Offset zu groß: kann nicht auf eine Länge von seek=%<PRIuMAX> (%luâ€Byteâ€) " "Blöcke abschneiden" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "das Abschneiden bei %<PRIuMAX> Bytes in Ausgabedatei %s scheiterte" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "der Zwischenspeicher für %s konnte nicht verworfen werden" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Dateisystem" #: src/df.c:175 msgid "Type" msgstr "Typ" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "Blöcke" #: src/df.c:181 msgid "Used" msgstr "Benutzt" #: src/df.c:184 msgid "Available" msgstr "Verfügbar" #: src/df.c:187 msgid "Use%" msgstr "Verw%" #: src/df.c:190 msgid "Inodes" msgstr "Inodes" #: src/df.c:193 msgid "IUsed" msgstr "IBenutzt" #: src/df.c:196 msgid "IFree" msgstr "IFrei" #: src/df.c:199 msgid "IUse%" msgstr "IUse%" #: src/df.c:202 msgid "Mounted on" msgstr "Eingehängt auf" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "Option --output: Feld „%s“ ist unbekannt" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "Option --output: Feld „%s“ wird mehr als einmal verwendet" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Größe" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Verf." #: src/df.c:474 msgid "Capacity" msgstr "Kapazität" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Anzeige von Informationen über die Dateisysteme, auf dem sich jede\n" "DATEI befindet, oder alle Dateisysteme, welches der Normalfall ist.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all unechte Dateisysteme mit einschließen\n" " -B, --block-size=GRÖßE Größen in Einheiten von GRÖßE ausgeben, z.B. " "werden\n" " bei „-BM“ die Grössen in Einheiten von " "1.048.576\n" " Bytes ausgegeben. Siehe auch GRÖẞE weiter " "unten\n" " --total Gesamtsumme erstellen\n" " -h, --human-readable Größen in menschenlesbarem Format (z. B. 1K 234M " "2G)\n" " -H, --si genauso, aber mit 1000 statt 1024 als Teiler\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes INodeâ€Information statt der Blockâ€Benutzung\n" " auflisten\n" " -k wie „--block-size=1K“\n" " -l, --local Liste auf lokale Dateisysteme begrenzen\n" " --no-sync nicht „sync“ vor Erlangen der " "Benutzungsinformation\n" " aufrufen (Standardvorgabe)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=FELDLISTE] Das durch FELDLISTE definierte Ausgabeformat\n" " verwenden, oder alle Felder ausgeben, wenn\n" " FELDLISTE nicht angegeben wird.\n" " -P, --portability POSIXâ€Ausgabeformat verwenden\n" " --sync „sync“ vor Erlangen der Benutzungsinformation\n" " aufrufen\n" " -t, --type=TYP Liste auf Dateisysteme des Typs TYP begrenzen\n" " -T, --print-type Dateisystemtyp ausgeben.\n" " -x, --exclude-type=TYP Liste auf Dateisysteme nicht vom Typ TYP " "begrenzen.\n" " -v (ignoriert)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "FELDLISTE ist eine durch Komma getrennte Liste der zu verwendenden Spalten.\n" "Gültige Feldnamen sind: „source“, „fstype“, „itotal“, „iused“, „iavail“,\n" "„ipcent“, „size“, „used“, „avail“, „pcent“ und „target“ (siehe Infoseite).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "die Optionen „%s“ und „%s“ schließen sich gegenseitig aus" #: src/df.c:1335 msgid "warning: " msgstr "Warnung: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "die lange Option „--megabytes†ist veraltet und wird bald entfernt" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "Dateisystemtyp %s ist sowohl ausgewählt als auch ausgeschlossen" #: src/df.c:1500 msgid "Warning: " msgstr "Warnung: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "Lesen der Tabelle eingehängter Dateisysteme nicht möglich" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "keine Dateisysteme bearbeitet" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Aufruf: %s [OPTION]... [DATEI]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Ausgabe-Befehl zum Setzen der Umgebungsvariable LS_COLORS.\n" "\n" "Bestimmen Sie das Ausgabeformat:\n" " -b, --sh, --bourne-shell Bourneâ€Shellâ€Code, um LS_COLORS zu setzen\n" " -c, --csh, --c-shell Câ€Shellâ€Code, um LS_COLORS zu setzen\n" " -p, --print-database Standardeinstellungen ausgeben\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Wenn DATEI angegeben ist, wird die Datei gelesen, um festzustellen, welche\n" "Farben für welche Dateitypen und Erweiterungen verwendet werden sollen.\n" "Sonst wird eine vorkompilierte Datenbank verwendet. Für Einzelheiten rufen\n" "Sie „dircolors --print-database“ auf.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: %lu: ungültige Zeile; das zweite Token fehlt" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: das Schlüsselwort %s ist unbekannt" #: src/dircolors.c:359 msgid "<internal>" msgstr "<intern>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "Die Optionen zur Ausgabe der internen Datenbank von „dircolors“ und zur " "Auswahl\n" "einer Shell-Syntax schließen sich gegenseitig aus" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "Dateioperanden können nicht mit --print-database (-p) kombiniert werden" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "Keine SHELL Umgebungsvariable, und keine Shellâ€Typâ€Option angegeben" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Aufruf: %s [OPTION] NAME...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "NAME ohne die letzte /Komponente ausgeben; enthält der NAME keine /,\n" "wird „.“ (= aktuelles Verzeichnis) ausgegeben.\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero Zeilen mit Nullbyte statt mit Zeilenvorschub beenden\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Beispiele:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" gefolgt von \"dir2\"\n" " %s stdio.h -> \".\"\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Aufruf: %s [OPTION]... [DATEI]...\n" " oder: %s [OPTION]... --files0-from=DL\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Summierung der Plattennutzung jeder DATEI, rekursiv für Verzeichnisse\n" "\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null jede Zeile mit einem Nullbyte statt eines\n" " Zeilenumbruchs beenden\n" " -a, --all Zählung für jede Datei ausgeben, nicht nur für\n" " Verzeichnisse\n" " --apparent-size die sichtbare Größe ausgeben statt des\n" " Platzverbrauchs; diese ist meist kleiner, kann\n" " aber auch größer sein durch Löcher in " "(„sparse“â€)\n" " Dateien, interne Fragmentierung, indirekte " "Blöcke\n" " und ähnliches\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=GRÖßE GRÖßE große Blöcke verwenden. Siehe GRÖßE unten.\n" " -b, --bytes äquivalent zu „--apparent-size --block-size=1“\n" " -c, --total Gesamtsumme erzeugen\n" " -D, --dereference-args nur symbolische Verknüpfungen dereferenzieren, " "die\n" " an der Kommandozeile angegeben wurden\n" " -d, --max-depth=N die Gesamtgröße für ein Verzeichnis (oder, mit\n" " --all, einer Datei) ausgeben, aber nur dann, " "wenn\n" " es bzw. sie N oder weniger Ebenen unterhalb des\n" " Kommando-zeilenarguments ist; --max-depth=0 ist\n" " gleichbedeutend mit --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=D aufsummierten Platzverbrauch der in der Datei D\n" " angegebenen null-terminierten Dateinamen " "ausgeben.\n" " ist D „-“, so wird aus der Standardeingabe " "gelesen\n" " -H wie --dereference-args (-D)\n" " -h, --human-readable Größen in menschenlesbarem Format (z.B. 1K 234M " "2G)\n" " ausgeben\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k Wie „--block-size=1K“\n" " -L, --dereference alle symbolischen Verknüpfungen dereferenzieren\n" " -l, --count-links Größe mehrfach zählen, wenn durch harte\n" " Verknüpfungen verbunden\n" " -m Wie „--block-size=1M“\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference keinen symbolischen Verknüpfungen folgen " "(Voreinstellung)\n" " -S, --separate-dirs Größe von Unterverzeichnissen nicht\n" " mitzählen\n" " --si wie -h, verwendet aber Potenzen von 1000 statt " "1024\n" " -s, --summarize nur Summe für jedes Argument anzeigen\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=GRÖẞE Einträge kleiner als GRÖẞE ausschließen wenn " "positiv,\n" " oder größer als GRÖẞE wenn negativ\n" " --time Zeit der letzten Änderung irgendeiner Datei im\n" " Verzeichnis oder einem seiner Unterverzeichnisse\n" " anzeigen\n" " --time=WORT Zeit als WORT anstelle der Änderungszeit anzeigen:\n" " atime, access, use, ctime or status\n" " --time-style=STIL Zeit in Stil STIL anzeigen:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT wird wie bei „date“ interpretiert\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=DATEI Dateien ausschließen, die einem Muster in DATEI\n" " entsprechen\n" " --exclude=MUSTER Dateien ausschließen, die MUSTER entsprechen\n" " -x, --one-file-system Verzeichnisse auf anderen Dateisystemen " "überspringen\n" #: src/du.c:386 msgid "Infinity" msgstr "Unendlich" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "Einhängungspunkt %s wurde bereits durchlaufen" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read schlug fehl: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "Ungültige maximale Tiefe %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "ungültiges Argument „-0“ Option --threshold" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" "Zusammenfassung und Anzeige aller Einträge ist nicht gleichzeitig möglich" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "Warnung: Zusammenfassen ist das gleiche wie --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "Warnung: Zusammenfassen widerspricht --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "Dateioperanden können nicht mit --files0-from kombiniert werden." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: Lesefehler" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "beim Lesen von Dateinamen aus stdin ist der Dateinane %s nicht erlaubt" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "ungültiger Dateiname der Länge 0" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "insgesamt" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Aufruf: %s [KURZOPTION]... [ZEICHENKETTE]...\n" " oder: %s LANGOPTION\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Die ZEICHENKETTEn auf die Standardausgabe ausgeben.\n" "\n" " -n den abschließenden Zeilenvorschub unterdrücken\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e Interpretation von Rückschrägstrichâ€Sequenzen anschalten " "(Voreinst.)\n" " -E Interpretation von Rückschrägstrichâ€Sequenzen unterdrücken\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e Interpretation von Rückschrägstrichâ€Sequenzen anschalten\n" " -E Interpretation von Rückschrägstrichâ€Sequenzen unterdrücken " "(Voreinst.)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "wenn -e verwendet wurde, werden die folgenden Zeichenfolgen erkannt:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ Backslash\n" " \\a Glocke (BEL)\n" " \\b Rückschritt\n" " \\c keine weitere Ausgabe produzieren\n" " \\e Escape\n" " \\f Seitenvorschub\n" " \\n Zeilenvorschub\n" " \\r Wagenrücklauf (Carriage Return)\n" " \\t horizontaler Tabulatorstopp\n" " \\v vertikaler Tabulatorstopp\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN Byte mit oktalem Wert NNN (1 bis 3 Stellen)\n" " \\xHH Byte mit hexadezimalem Wert HH (1 bis 2 Stellen)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Aufruf: %s [OPTION]... [-] [NAME=WERT]... [BEFEHL [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "Jeden NAMEn in der Umgebung auf WERT setzen und BEFEHL ausführen.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment mit leerer Umgebung beginnen\n" " -0, --null jede Zeile mit einem Nullbyte anstatt eines\n" " Zeilenvorschubs beenden\n" " -u, --unset=NAME Variable aus der Umgebung entfernen\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Ein einzelnes „-“ steht für -i. Wenn kein BEFEHL angegeben ist, wird die\n" "resultierende Umgebung ausgegeben.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "%s kann nicht entfernt werden" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "%s kann nicht gesetzt werden" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "--null (-0) kann nicht zusammen mit einem Befehl angegeben werden" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Tabulatoren in jeder DATEI in Leerzeichen wandeln, auf Standardausgabe\n" "schreiben. Wurde keine DATEI angegeben, oder ist DATEI „-“, die\n" "Standardeingabe lesen.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial Tabulatoren nicht nach Nichtâ€Freiraumzeichen\n" " (non blanks) wandeln\n" " -t, --tabs=ZAHL Tabulator alle ZAHL Zeichen annehmen, nicht 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LISTE durch Komma getrennte LISTE von Tabulatorpositionen\n" " annehmen\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "Tabulatorstopp ist zu groß %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "Tabulatorgröße enthält (ein) ungültige(s) Zeichen: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "Tabulatorgröße muss ungleich 0 sein" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "Tabulatorgrößen müssen aufsteigend sein" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "Eingabezeile zu lang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s AUSDRUCK\n" " oder: %s OPTION\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Den Wert des AUSDRUCKs auf Standardausgabe ausgeben. Im Folgenden bedeutet\n" "eine Leerzeile eine aufsteigende Präzedenz. AUSDRUCK kann sein:\n" "\n" " ARG1 | ARG2 ARG1, wenn es weder null noch 0 ist, sonst ARG2\n" "\n" " ARG1 & ARG2 ARG1, wenn kein Argument null oder 0 ist, sonst 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 ist kleiner als ARG2\n" " ARG1 <= ARG2 ARG1 ist kleiner oder gleich ARG2\n" " ARG1 = ARG2 ARG1 ist gleich ARG2\n" " ARG1 != ARG2 ARG1 ist ungleich ARG2\n" " ARG1 >= ARG2 ARG1 ist größer oder gleich ARG2\n" " ARG1 > ARG2 ARG1 ist größer ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 arithmetische Summe von ARG1 und ARG2\n" " ARG1 - ARG2 arithmetische Differenz von ARG1 und ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 arithmetisches Produkt von ARG1 und ARG2\n" " ARG1 / ARG2 arithmetischer Quotient von ARG1 geteilt durch ARG2\n" " ARG1 % ARG2 arithmetischer Rest von ARG1 geteilt durch ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " ZKETTE : REGEXP verankerte Mustererkennung von REGEXP in ZKETTE\n" "\n" " match ZKETTE REGEXP dasselbe wie ZEICHENKETTE : REGEXP\n" " substr ZKETTE POS LENGTH Teilzeichenkette von ZKETTE, POS beginnt mit 1\n" " index ZKETTE ZEICHEN Index in ZKETTE, wo eines der ZEICHEN auftritt,\n" " sonst 0\n" " length ZEICHENKETTE Länge der ZEICHENKETTE\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN TOKEN als Zeichenkette interpretieren, auch wenn\n" " es ein Schlüsselwort wie „match“ oder ein\n" " Operator wie „/“ ist\n" "\n" " ( AUSDRUCK ) Wert des AUSDRUCKs\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Bedenken Sie, dass viele Operatoren für Benutzung unter einer Shell " "maskiert\n" "werden müssen (mit Rückschrägstrich oder Anführungszeichen). Vergleiche " "sind\n" "arithmetisch, wenn beide Argumente Zahlen sind, sonst lexikografisch.\n" "Mustererkennungen geben die Zeichenkette zwischen \\( und \\) zurück oder " "nichts;\n" "wenn \\( und \\) nicht benutzt werden, wird die Länge der Zeichenkette oder " "0\n" "zurückgegeben.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Der Exitâ€Status ist 0, wenn der AUSDRUCK weder null noch 0 ist, 1, wenn\n" "AUSDRUCK null oder 0 ist, 2, wenn der AUSDRUCK syntaktisch ungültig ist, " "und\n" "3, wenn ein Fehler auftrat\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "Syntaxfehler" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "Fehler bei Suche mit regulären Ausdrücken" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "Argument, das keine Zahl ist" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "Teilung durch Null" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "setzen Sie LC_ALL=C, um das Problem zu umgehen" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "die verglichenen Zeichenketten waren %s und %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Möller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Lucas-Primzahlentest scheiterte. Dies sollte nicht vorkommen" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "Überlauf der Warteschlange in squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ist keine gültige positive ganze Zahl" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s ist zu groß" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [ZAHL...]\n" " oder: %s OPTION\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Die Primfaktoren aller angegebenen ganzen ZAHLen ausgeben. Wurden keine\n" "Argumente in der Befehlszeile gegeben, werden diese von Standardeingabe " "gelesen.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "Das aktuelle Verzeichnis ist nicht erreichbar" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "Kann nicht in Verzeichnis %s wechseln" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "Das aktuelle Verzeichnis (jetzt %s) ist nicht erreichbar" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [-BREITE] [OPTION]... [DATEI]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Jeden Absatz in DATEI(en) formatieren, auf Standardausgabe schreiben.\n" "Die Option -BREITE ist eine abgekürzte Form von --width=BREITE.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin Einrückung der ersten beiden Zeilen erhalten\n" " -p, --prefix=ZKETTE nur Zeilen mit ZKETTE als Präfix neu " "formatieren,\n" " dabei ZKETTE jeder neuen Zeile voranstellen\n" " -s, --split-only lange Zeilen umbrechen, aber nicht auffüllen\n" # no-c-format #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph erste Zeile anders als die zweite einrücken\n" " -u, --uniform-spacing ein Leerzeichen zwischen Wörtern, zwei nach " "Sätzen\n" " -w, --width=BREITE maximale Zeilenbreite (Vorgabe: 75 Spalten)\n" " -g, --goal=BREITE Zielbreite (Vorgabe sind 93% der Breite)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "ungültige Option -- %c; -BREITE wird nur erkannt, wenn es die erste\n" "Option ist; benutzen Sie stattdessen -W N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ungültige Zeilenbreite: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Eingabezeilen jeder DATEI umbrechen (Vorgabe: Standardeingabe),\n" "das Ergebnis auf Standardausgabe ausgeben.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes Bytes anstatt Spalten zählen\n" " -s, --spaces Umbruch bei Leerzeichen\n" " -w, --width=BREITE BREITE Spalten anstatt 80 benutzen\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "Ungültige Anzahl Spalten: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Pádraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Aufruf: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Plattformabhängige Grenzen ausgeben in für Shell-Scripte nützlichem Format.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "konnte Gruppen für Nutzer %s nicht ermitteln" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "konnte Gruppen für den aktuellen Prozess nicht ermitteln" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "Es ist kein Name zur Gruppenâ€ID %lu zu finden" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Aufruf: %s [OPTION]... [BENUTZERNAME]..\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Gruppenmitgliedschaften für BENUTZERNAME oder, wenn dieser nicht angegeben " "ist,\n" "dem aktuellen Prozess anzeigen (welche abweichen kann, wenn die Datenbank\n" "mit Gruppeninformationen sich geändert hat).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "es ist nicht möglich, die echte UID zu erfragen" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "die effektive GID kann nicht ermittelt werden" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "die echte GID kann nicht ermittelt werden" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: Einen solchen Benutzer gibt es nicht" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Die ersten 10 Zeilen jeder DATEI auf Standardausgabe ausgeben.\n" "Mit mehr als einer DATEI, vorab den Dateinamen ausgeben.\n" "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K die ersten K Bytes jeder Datei ausgeben;\n" " mit führendem „-“, alle außer den letzten\n" " K Bytes jeder Datei\n" " -n, --lines=[-]K die ersten K Zeilen ausgeben statt der ersten " "10;\n" " mit führendem „-“, alle außer den letzten\n" " K Zeilen jeder Datei\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent nie Dateinamen vorab ausgeben\n" " -v, --verbose immer Dateinamen vorab ausgeben\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K kann folgende multiplikative Endungen tragen:\n" "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: Datei zu stark geschrumpft" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: Anzahl Bytes ist zu groß" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: es ist nicht möglich, zum ursprünglichen Stelle zu springen" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: es ist nicht möglich, zum Offset %s zu springen" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: der Dateizeiger konnte nicht zurück gesetzt werden" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "es ist nicht möglich, den Dateiâ€Zeiger für %s neu zu positionieren" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s ist so groß, dass es nicht dargestellt werden kann" #: src/head.c:886 msgid "number of lines" msgstr "Anzahl Zeilen" #: src/head.c:886 msgid "number of bytes" msgstr "Anzahl Bytes" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ungültige Anzahl von Zeilen" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "ungültige Anzahl von Bytes" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "ungültige folgende Option -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Aufruf: %s [OPTION]\n" "Die hexadezimale numerische Kennung für den aktuellen Rechner ausgeben.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Aufruf: %s [NAME]\n" " oder: %s OPTION\n" "Den Rechnernamen dieses aktuellen Rechners ausgeben oder setzen.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "der Name kann nicht auf %s gesetzt werden" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "der Rechnername kann nicht gesetzt werden; diesem System fehlt diese " "Möglichkeit" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "es ist nicht möglich, den Rechnername zu ermitteln" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Aufruf: %s [OPTION]... [BENUTZERNAME]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Nutzer- und Gruppeninformationen zu BENUTZER anzeigen, oder\n" "(wenn BENUTZER nicht angegeben ist) für den aktuellen Benutzer.\n" "\n" " -a ignoriert, nur aus Kompatibilitätsgründen\n" " -Z, --context nur den Sicherheitskontext des aktuellen Nutzers ausgeben\n" " -g, --group nur die effektive Gruppenâ€ID ausgeben\n" " -G, --groups alle Gruppen-IDs ausgeben\n" " -n, --name Namen statt Nummer ausgeben, für -ugG\n" " -r, --real die reale ID anstelle der effektiven ausgeben, für -ugG\n" " -u, --user nur die effektive Benutzerâ€ID ausgeben\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Ohne Angabe einer OPTION, wird eine brauchbare Menge an Informationen\n" "ausgegeben.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) funktioniert nur auf einem Kernel mit SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "der Sicherheitskontext kann nicht ausgegeben werden, wenn ein Nutzer " "angegeben wurde" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "eine eingeschränkte Ausgabe ist bei Mehrfachauswahl nicht möglich" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "Im Vorgabeâ€Format ist es nicht möglich, nur Namen oder echte IDs auszugeben" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "der Prozesskontext kann nicht ermittelt werden" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "die effektive UID kann nicht ermittelt werden" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "Für Benutzerkennung %s kann kein Name gefunden werden" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " Gruppen=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " Kontext=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "Warnung: %s: der Kontext konnte nicht auf %s geändert werden" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "Verzeichnis %s wird angelegt" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "der Eigentümer von %s kann nicht geändert werden" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "Setzen der Zeitstempel für %s nicht möglich" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "Systemruf fork fehlgeschlagen" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "%s kann nicht ausgeführt werden" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "Es wird auf strip gewartet" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "stripâ€Prozess beendete sich auf ungute Weise" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "Ungültiger Anwender %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Aufruf: %s [OPTION]... [-T] QUELLE ZIEL\n" " oder: %s [OPTION]... QUELLE... VERZEICHNIS\n" " oder: %s [OPTION]... -t=VERZEICHNIS QUELLE...\n" " oder: %s [OPTION]... -d=VERZEICHNIS...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Dieses „install“-Programm kopiert Dateien (oftmals frisch kompiliert) an\n" "Zielorte Ihrer Wahl. Wenn Sie fertig konfektionierte Pakete auf einem\n" "GNU/Linux-System benutzen möchten, sollten Sie stattdessen ein Werkzeug zur\n" "Paketverwaltung wie yum(1) oder apt-get(1) benutzen.\n" "\n" "In den drei ersten Formaten wird QUELLE nach ZIEL kopiert, oder mehrere\n" "QUELLEN in VERZEICHNIS, während die Zugriffsrechte und Besitzer und Gruppe\n" "der Dateien gesetzt werden. Im vierten Format werden alle Teile der/des\n" "angegebenen Verzeichnis(se) erzeugt.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=ART] eine Sicherung existierender Zieldateien erzeugen\n" " -b wie --backup, akzeptiert aber kein Argument\n" " -c (ignoriert)\n" " -C, --compare jedes Paar aus Quell- und Zieldatei vergleichen, " "und\n" " manchmal das Ziel gar nicht modifizieren\n" " -d, --directory alle Argumente als Verzeichnisnamen behandeln; " "alle\n" " Bestandteile der angegebenen Verzeichnisse " "erzeugen\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D alle führenden Elemente von ZIEL erzeugen außer \n" " dem letzten, dann QUELLE nach ZIEL kopieren\n" " -g, --group=GRUPPE Gruppenbesitz setzen, statt Gruppe des akt. " "Prozesses\n" " -m, --mode=MODUS Zugriffsrechte setzen (wie in chmod), statt rwxr-" "xr-x\n" " -o, --owner=BESITZER Besitzer setzen (nur für den Superuser)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps Anwenden der Zugriffsâ€/Änderungszeiten der\n" " QUELLâ€Dateien auf entsprechende Zieldateien\n" " -s, --strip Symboltabellen bereinigen\n" " --strip-program=PRG Programm zum Bereinigen von ausführbaren Dateien\n" " -S, --suffix=ENDUNG alternative Endung für Sicherungsdateien\n" " -t, --target-directory=VERZ alle QUELLâ€Argumente in VERZ kopieren\n" " -T, --no-target-directory ZIEL als normale Datei behandeln\n" " -v, --verbose den Namen jedes Verzeichnisses bei Erzeugung " "ausgeben\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context SELinux-Sicherheitskontext erhalten\n" " -Z, --context=KONTEXT SELinux-Sicherheitskontext von Dateien u. Verz. " "setzen\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "WARNUNG: ignoriere --preserve-context; dieser Kernel unterstützt kein SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "WARNUNG: ignoriere --context (-Z); dieser Kernel unterstützt kein SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "die Option strip darf nicht bei Installation von Verzeichnissen benutzt " "werden" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "Zielverzeichnis darf nicht bei Installation von Verzeichnissen benutzt werden" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "der Ziel-Kontext von %s kann nicht erzwungen und beibehalten werden" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "Ungültiger Modus %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "WARNUNG: ignoriere --strip-program; Option -s wurde nicht angegeben" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "die Optionen --compare (-C) und --preserve-timestamps schließen sich " "gegenseitig aus" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "die Optionen --compare (-C) und --strip schließen sich gegenseitig aus" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "die Option --compare (-C) wird ignoriert bei Angabe eines Modus ungenügenden " "Rechten" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Für jedes Eingabezeilenpaar mit identischen Verschmelzungsfeldern eine " "Zeile\n" "auf Standardausgabe schreiben. Das voreingestellte Verschmelzungsfeld ist " "das\n" "erste durch Leerzeichen/Tabulator begrenzte Feld. Wenn DATEI1 oder DATEI2\n" "(nicht beide) „-“ ist, Standardeingabe lesen.\n" "\n" " -a DATEINR nichtâ€passende Zeilen aus der Datei DATEINR ausgeben, " "wobei\n" " DATEINR 1 oder 2 ist, entsprechend DATEI1 oder " "DATEI2\n" " -e LEER fehlende Eingabefelder durch LEER ersetzen\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case Unterschiede in Groß/Kleinschreibung ignorieren, wenn\n" " Felder verglichen werden\n" " -j FELD äquivalent zu „-1 FELD -2 FELD“\n" " -o FORMAT FORMAT benutzen, wenn Ausgabezeilen erstellt werden\n" " -t ZEICHEN ZEICHEN als Trennzeichen für Ein†und Ausgabefelder " "nehmen\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v DATEINR wie -a DATEINR, aber verschmolzene Ausgabezeilen " "unterdrücken\n" " -1 FELD mit diesem FELD von DATEI1 verschmelzen\n" " -2 FELD mit diesem FELD von DATEI2 verschmelzen\n" " --check-order prüfen, ob die Eingabe richtig sortiert ist, auch\n" " wenn alle Eingabezeilen gepaart werden können\n" " --nocheck-order Sortierung der Eingabe nicht prüfen\n" " --header die erste Zeile jeder Datei als Feldüberschrift " "verwenden\n" " und sie ausgeben, ohne zu versuchen, sie zu kombinieren\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Außer wenn -t ZEICHEN angegeben wurde, trennen führende Leerzeichen Felder\n" "und werden ignoriert; anderenfalls werden Felder durch ZEICHEN getrennt.\n" "Jedes FELD ist eine Feldnummer, beginnend mit 1. FORMAT sind eine oder\n" "mehrere durch Komma oder Leerzeichen getrennte Spezifikationen, wobei jede\n" "„DATEINR.FELD“ oder „0“ ist. Das voreingestellte FORMAT gibt das\n" "Verschmelzungsfeld aus, die restlichen Felder von DATEI1, die restlichen\n" "Felder von DATEI2, alle getrennt mit ZEICHEN.\n" "\n" "Wichtig: DATEI1 und DATEI2 müssen nach den Verschmelzungsfeldern sortiert\n" "sein. Benutzen Sie zum Beispiel „sort -k 1b,1“, wenn „join“ keine Optionen\n" "hat.\n" "Beachten Sie bitte, dass die Vergleiche den durch „LC_COLLATE“ gegebenen\n" "Regeln folgen.\n" "Wenn die Eingabe nicht sortiert ist und einige Zeilen nicht verschmolzen\n" "werden können, so wird eine Warnmeldung ausgegeben.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: ist nicht sortiert: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "Ungültige Feldnummer: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "Ungültiger Feldbezeichner: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "Ungültige Feldnummer in Feldbezeichner: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "inkompatible Verschmelzungsfelder: %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "einander widersprechende Leerfeldâ€Ersetzungszeichenketten" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "Multi-Zeichen-Tabulator %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "inkompatible Tabulatoren" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "Alle beide Dateien können nicht Standardeingabe sein" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Aufruf: %s [-s SIGNAL | -SIGNAL] PID...\n" " oder: %s -l [SIGNAL]...\n" " oder: %s -t [SIGNAL]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" "Signale an Prozesse senden oder Signale auflisten.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL Name oder Nummer des zu sendenden Signals\n" " -l, --list Signalnamen auflisten oder von oder zu Nummern umwandeln\n" " -t, --table Liste mit Informationen zu den Signalen\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL kann ein Name für ein Signal wie „HUP“ oder eine Signalnummer wie\n" "„1“ oder der Exitâ€Status eines Prozesses sein, der von einem Signal beendet\n" "wurde.\n" "PID ist eine Ganzzahl; ist sie negativ, dann identifiziert PID eine Gruppe " "von\n" "Prozessen.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: ungültige Prozessâ€ID" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "ungültige Option -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: mehrere Signale angegeben" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "mehrfach die Optionen -l oder -t angegeben" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "es ist nicht möglich, Signale mit -l oder -t zu kombinieren" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "keine Prozessâ€ID angegeben" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" "ein %<PRIuMAX> Bytes großer Puffer für die Standardeingabe konnte nicht\n" "angelegt werden\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "ungültiger Pufferungsmodus %s für %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "die Pufferung von %s konnte nicht auf Modus %s gesetzt werden\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s DATEI1 DATEI2\n" " oder: %s OPTION\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Die Funktion link aufrufen, um eine Verknüpfung DATEI2 zu DATEI1 " "herzustellen.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "Erzeugen von Verknüpfung %s zu %s nicht möglich" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: harte Verknüpfung für Verzeichnisse nicht erlaubt" # %s: kann kein Verzeichnis überschreiben #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: das Überschreiben des Verzeichnisses ist nicht möglich" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s ersetzen? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "die symbolische Verknüpfung %s konnte nicht angelegt werden" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "die symbolische Verknüpfung %s -> %s konnte nicht angelegt werden" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "Die harte Verknüpfung zu %.0s%s konnte nicht angelegt werden" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "Die harte Verknüpfung %s konnte nicht angelegt werden" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "Die harte Verknüpfung %s => %s konnte nicht angelegt werden" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Aufruf: %s [OPTION]... [-T] ZIEL LINK_NAME (1. Form)\n" " oder: %s [OPTION]... ZIEL (2. Form)\n" " oder: %s [OPTION]... ZIEL... VERZ (3. Form)\n" " oder: %s [OPTION]... -t VERZ ZIEL... (4. Form)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "In der 1. Form: Eine Verknüpfung namens LINK_NAME auf ZIEL erstellen\n" "In der 2. Form: Eine Verknüpfung auf ZIEL im aktuellen Verzeichnis " "erstellen\n" "In der 3. und 4. Form: Verknüpfungen zu jedem ZIEL in VERZ erstellen\n" "Als Standardvorgabe werden harte Verknüpfungen erstellt, für symbolische\n" "Verknüpfungen ist die Option --symbolic anzugeben.\n" "Beim Erzeugen von harten Verknüpfungen muss jedes ZIEL existieren. Bei\n" "symbolischen Verknüpfungen kann dagegen beliebiger Text stehen; bei " "späterer\n" "Auflösung wird eine relative Verknüpfung bezogen auf ihr beinhaltendes\n" "Verzeichnis interpretiert.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup=[KONTROLLE] Sicherungen für vorhandene Zieldateien " "erzeugen.\n" " -b Wie --backup, akzeptiert aber kein Argument.\n" " -d, -F, --directory dem Superuser den Versuch erlauben, harte\n" " Verknüpfungen für Verzeichnisse anzulegen\n" " (Bem.: Schlägt vermutlich dennoch fehl " "wegen\n" " Systembeschränkungen, auch für Superuser.)\n" " -f, --force Vorhandene Ziele entfernen.\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive vor Entfernen vorhandener Ziele nachfragen\n" " -L, --logical harte Verknüpfungen auf Ziele von Symlinks " "machen\n" " -n, --no-dereference Ziel, das eine symbolische Verknüpfung auf " "ein\n" " Verzeichnis ist, wie normale Datei " "behandeln\n" " -P, --physical direkte harte Verknüpfungen zu symbolischen " "machen\n" " -s, --symbolic symbolische statt harter Verknüpfung " "erzeugen\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=ENDUNG die normalerweise verwendeten Dateiendung " "ändern\n" " -t, --target-directory=VERZ VERZeichnis angeben, in dem die " "Verknüpfungen\n" " erstellt werden sollen\n" " -T, --no-target-directory LINK_NAME als Namen normaler Datei behandeln\n" " -v, --verbose jeden Dateinamen vor dem Verknüpfen ausgeben\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "Wird -s verwendet, werden -L und -P ignoriert. Ansonsten bestimmt die " "zuletzt\n" "verwendete Option das Verhalten, wenn die Quelle eine symbolische " "Verknüpfung\n" "ist. Vorgabe ist %s.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "--target-directory und --no-target-directory sind nicht kombinierbar" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "--relative ist ohne --symbolic nicht zulässig" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: unbekannt" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Aufruf: %s [OPTION]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Den Namen des aktuellen Benutzers ausgeben.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "kein Loginname" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e. %b %Y " #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e. %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "Ungültiger Wert der Umgebungsvariable QUOTING_STYLE wird ignoriert: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "Ungültige Breite in Umgebungsvariable COLUMNS wird ignoriert: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "Ungültige Tabulatorâ€Größe in Umgebungsvariable TABSIZE wird ignoriert: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "ungültige Zeilenbreite: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "ungültige Tabulatorgröße: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "Ungültiges Zeitformat %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Gültige Argumente sind:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (zB. +H:%M) für ein Format im Stil von „date“\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "Fehler beim Initialisieren der Monats-Zeichenketten" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "Präfix nicht erkannt: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "Wert für Umgebungsvariable LS_COLORS ist syntaktisch fehlerhaft." #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "Öffnen von Verzeichnis %s nicht möglich" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "Gerät und INode von %s können nicht bestimmt werden" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: schon angezeigtes Verzeichnis wird nicht erneut aufgeführt" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "das Verzeichnis %s wird gelesen" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "das Verzeichnis %s wird geschlossen" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "Die Dateinamen %s und %s können nicht verglichen werden" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Auflistung von Informationen über die DATEIen (Standardvorgabe ist das\n" "momentane Verzeichnis). Alphabetisches Sortieren der Einträge, falls weder\n" "-cftuvSUX noch --sort angegeben wurden.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all Einträge, die mit . beginnen, nicht verstecken\n" " -A, --almost-all implizierte . und .. nicht anzeigen\n" " --author mit -l, den Urheber jeder Datei ausgeben\n" " -b, --escape nichtâ€druckbare Zeichen oktale ausgeben\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=GRÖßE GRÖßE große Blöcke verwenden. So gibt z.B\n" " „--block-size=M“ die Größen in Einheiten von\n" " 1,048,576 Bytes aus. Siehe GRÖßE Format " "unten.\n" " -B, --ignore-backups implizite Einträge, die mit ~ enden, nicht " "ausgeben\n" " -c mit -lt: Sortieren nach und Anzeige von ctime \n" " (Zeit der letzten Veränderung der Dateiâ€" "Statusâ€\n" " informationen); mit -l: ctime anzeigen und " "nach\n" " Namen sortieren\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C Einträge mehrspaltig ausgeben\n" " --color[=WANN] Kontrolle, wann Farbe zum Unterscheiden der\n" " Dateitypen eingesetzt wird; WANN kann\n" " „never“ (nie), „always“ (immer) oder „auto“\n" " sein\n" " -d, --directory Verzeichnisâ€Einträge statt der Inhalte " "anzeigen,\n" " symbolische Verknüpfungen nicht verfolgen\n" " -D, --dired Ausgabe für den „dired“â€Modus im Emacs " "formatieren\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f nicht sortieren, -aU an†und -ls --color " "abschalten\n" " -F, --classify ein Zeichen (aus */=>@|) zur Typisierung " "anhängen\n" " --file-type genauso, aber kein „*“ anhängen\n" " --format=WORT across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time wie -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g wie -l, aber Eigentümer nicht auflisten\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " Verzeichnisse vor den Dateien gruppieren;\n" " kann zusammen mit Sortierung benutzt werden,\n" " doch --sort=none schaltet Gruppierung ab\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group in Langform Gruppennamen nicht auflisten\n" " -h, --human-readable in Langform Größenangaben in menschenlesbarem\n" " Format ausgeben (z. B. 1K 234M 2G)\n" " --si genauso, aber mit 1000 statt 1024 als Teiler\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line symbolischen Verknüpfungen, die auf der\n" " Kommandozeile aufgeführt sind, folgen\n" " --dereference-command-line-symlink-to-dir\n" " symbolischen Verknüpfungen auf der " "Kommandozeile,\n" " die auf Verzeichnisse zeigen, folgen\n" " --hide=MUSTER implizite Einträge, auf die Shellâ€MUSTER " "passt,\n" " nicht auflisten (überschrieben durch -a oder -" "A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=WORT Indikator des Stils WORT an Namen der " "Einträge\n" " anhängen: „none“ (Standardvorgabe), „slash“ (-" "p)\n" " „file-type“ (--file-type), „classify“ (-F)\n" " -i, --inode mit -l, Inodeâ€Nummer ausgeben\n" " -I, --ignore=MUSTER implizierte Einträge, auf die Shellâ€MUSTER\n" " passt, nicht auflisten\n" " -k, --kibibytes benutzt 1024 Byte Blöcke\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l lange Listenformat verwenden\n" " -L, --dereference bei symbolischen Verknüpfungen die " "Eigenschaften\n" " der jeweiligen Zieldatei anzeigen\n" " -m so viele Einträge wie möglich, durch Kommata\n" " getrennt, in eine Zeile packen\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid wie -l, aber numerische UIDs und GIDs anzeigen\n" " -N, --literal rohe Eintragsnamen anzeigen (z. B. Kontrollâ€\n" " zeichen nicht besonders behandeln)\n" " -o wie -l, aber ohne Gruppenâ€Informationen\n" " -p, --indicator-style=slash an Verzeichnisse ein „/“ anhängen\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars „?“ statt nichtâ€druckbarer Zeichen ausgeben\n" " --show-control-chars nichtâ€druckbare Zeichen anzeigen, wie sie sind\n" " (Standardvorgabe, außer wenn das Programm " "„ls“ \n" " ist und die Ausgabe auf ein Terminal geht)\n" " -Q, --quote-name Eintragsâ€Namen in doppelte Anführungszeichen.\n" " --quoting-style=WORT Anführungszeichenâ€Stil WORT benutzen:\n" " literal, locale, shell, shell-always, c, " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse umgekehrte Reihenfolge beim Sortieren\n" " -R, --recursive Unterverzeichnissen rekursiv ausgeben\n" " -s, --size die Größe jeder Datei in Blöcken ausgeben\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S nach Dateigröße sortieren\n" " --sort=WORT nach WORT anstatt nach Name sortieren: none -U\n" " extension -X, size -S, time -t, version -v\n" " --time=WORT mit -l, Zeit als WORT statt der Änderungszeit:\n" " atime -u, access -u, use -u, ctime -c, status " "-c;\n" " die angegebene Zeit als Sortierkriterium\n" " bei --sort=time verwenden\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STIL mit -l, Zeiten mittels Stil STIL anzeigen:\n" " full-iso, long-iso, iso, locale, +FORMAT\n" " FORMAT wie bei „date“; hat FORMAT die Form\n" " FORMAT1<newline>FORMAT2, wird FORMAT1 für " "nicht\n" " kürzlich geänderte Dateien verwendet und " "FORMAT2\n" " für kürzlich geänderte; beginnt STIL mit " "„posix-“,\n" " ist STIL nur außerhalb der POSIXâ€Locale gültig\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t nach Änderungszeit sortieren, neueste zuerst\n" " -T, --tabsize=SPALTEN Tabstops statt alle 8 alle SPALTEN Zeichen " "setzen\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u mit -lt: Sortieren nach und Anzeige von\n" " Zugriffszeit; mit -l: Anzeige von Zugriffszeit\n" " und nach Namen sortieren; sonst: nach " "Zugriffszeit\n" " -U nicht sortieren; Einträge in Reihenfolge des\n" " Verzeichnisses auflisten\n" " -v natürliche Ordnung von Versionsnummern " "innerhalb\n" " von Text\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=SPALTEN gegebene Bildschirmbreite statt des momentanen\n" " Wertes annehmen\n" " -x Einträge in Zeilen statt in Spalten auflisten\n" " -X alphabetisch nach der Erweiterung sortieren\n" " -Z, --context SELinux-Sicherheitskontext jeder Datei " "anzeigen\n" " -1 eine Datei pro Zeile auflisten\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Die Verwendung von Farben um Dateitypen zu unterscheiden ist normalerweise\n" "oder bei Angabe von --color=never unterbunden. Bei --color=auto werden nur\n" "dann Farben verwendet, wenn die Standardausgabe mit einem Terminal " "verbunden\n" "ist. Die Umgebungsvariable LS_COLORS kann die Einstellungen verändern.\n" "Verwenden Sie den Befehl dircolors um sie zu setzen.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Rückgabewert:\n" " 0 wenn alles in Ordnung,\n" " 1 bei kleineren Problemen (z. B. kein Zugriff auf Unterverzeichnis),\n" " 2 bei großem Ärger (z. B. kein Zugriff auf Kommandozeilenargument).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Aufruf: %s [OPTION]... [DATEI]...\n" "%sâ€Prüfsummen (%d Bits) ausgeben oder überprüfen.\n" "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary im Binärmodus lesen (Voreinstellung außer beim Lesen\n" " aus an eine Konsole gebundenen Standardeingabe)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary im Binärmodus lesen\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check %sâ€Prüfsummen aus DATEIen lesen und überprüfen\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag Prüfsummen im BSD-Stil erzeugen\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text im Textmodus lesen (Voreinstellung beim Lesen\n" " aus an eine Konsole gebundene Standardeingabe)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text im Textmodus lesen (Voreinstellung)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Die folgenden drei Optionen sind nur beim Überprüfen sinnvoll:\n" " --quiet nicht für jede erfolgreich geprüfte Datei OK " "ausgeben\n" " --status nichts ausgeben, der Statuscode zeigt Erfolg an\n" " -w, --warn bei ungeeignet formatierten Prüfsummenzeilen warnen\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict mit --check, endet nicht-null bei illegalen Eingaben\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Die Summen werden wie in %s beschrieben berechnet. Beim Überprüfen\n" "sollte die Eingabe eine frühere Ausgabe dieses Programms sein. Die normale\n" "Arbeitsweise ist es, eine Zeile mit Prüfsumme, einem Zeichen, das den Typ\n" "anzeigt („*“ für binär, „ “ für Text), und dem Namen jeder Datei " "auszugeben.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: zu viele Prüfsummenzeilen" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: nicht korrekt formatierte %sâ€Prüfsummenzeile" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: FEHLSCHLAG bei open oder read\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "FEHLSCHLAG" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: keine korrekt formatierte %sâ€Prüfsummenzeile gefunden" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "WARNUNG: %<PRIuMAX> Zeile ist nicht korrekt formatiert" msgstr[1] "WARNUNG: %<PRIuMAX> Zeilen sind nicht korrekt formatiert" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "WARNUNG: die aufgeführte Datei konnte nicht gelesen werden" msgstr[1] "" "WARNUNG: %<PRIuMAX> aufgeführte Dateien konnten nicht gelesen werden" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "WARNUNG: die %<PRIuMAX> berechnete Prüfsumme passte NICHT" msgstr[1] "WARNUNG: %<PRIuMAX> berechnete Prüfsummen passten NICHT" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag unterstützt nicht den --text Modus" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "Die Option --tag ist für die Kontrolle von Prüfsummen sinnlos" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "Die Optionen --binary und --text sind bei der Kontrolle von Prüfsummen " "nutzlos" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "Die Option --status ist nur bei der Kontrolle von Prüfsummen sinnvoll" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "Die Option --warn ist nur nur bei der Kontrolle von Prüfsummen sinnvoll" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "Die Option --quiet ist nur bei der Kontrolle von Prüfsummen sinnvoll" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "Die Option --strict hat nur bei der Kontrolle von Prüfsummen eine Bedeutung" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Aufruf: %s [OPTION]... VERZEICHNIS...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Erzeugen der/des Verzeichnisse(s), wenn sie noch nicht existieren.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODUS Zugriffsrechte setzen (wie chmod), nicht a=rwx − umask\n" " -p, --parents kein Fehler, wenn vorhanden; übergeordnete\n" " Verzeichnisse erzeugen, wenn notwendig\n" " -v, --verbose für jedes angelegte Verzeichnis eine Meldung ausgeben\n" " -Z, --context=K SELinux-Sicherheitskontext jedes erzeugten " "Verzeichnisses\n" " auf K setzen\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "Verzeichnis %s angelegt" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Aufruf: %s [OPTION]... NAME...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Benannte Pipes (FIFOs) mit den angegebenen NAMEn erzeugen.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODUS Zugriffsrechte auf MODUS setzen, nicht a=rw − umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KTX den SELinux-Sicherheitskontext jedes NAME auf KTX " "setzen\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "ungültiger Zugriffsmodus" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "Der Modus darf nur Dateizugriffsrechte angeben." #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Aufruf: %s [OPTION]... NAME TYP [MAJOR MINOR]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Spezialâ€Datei NAME vom angegebenen TYP erzeugen.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KTX den SELinux-Sicherheitskontext von NAME auf KTX setzen\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Sowohl MAJOR als auch MINOR müssen angegeben werden, wenn der TYP b, c oder " "u\n" "ist, und müssen weggelassen werden für TYP p. Beginnen MAJOR oder MINOR mit " "0x\n" "oder 0X, wird die Zahl hexadezimal interpretiert; anderenfalls, wenn sie mit " "0\n" "beginnen, oktal; anderenfalls dezimal. TYP kann sein:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b eine blockorientierte (gepufferte) Spezialâ€Datei anlegen\n" " c, u eine zeichenorienterte (ungepufferte) Spezialâ€Datei anlegen\n" " p eine FIFO anlegen\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Beim Erzeugen von Spezialdateien müssen Major†und Minorâ€Gerätenummern " "angegeben werden" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifos habe keine Major†und Minorâ€Gerätenummern." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "Blockorientierte Spezialdateien werden nicht unterstützt" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "Zeichenorientierte Spezialdateien werden nicht unterstützt" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "Ungültige Majorâ€Gerätenummer %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "Ungültige Minorâ€Gerätenummer %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "Ungültiges Gerät %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "Ungültiger Gerätetyp %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Aufruf: %s [OPTION]... [SCHABLONE]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Legt auf sichere Art und Weise eine temporäre Datei oder ein Verzeichnis an\n" "und gibt den Namen aus. Ist keine SCHABLONE angegeben wird tmp.XXXXXXXXXX " "benutzt\n" "und --tmpdir wird implizit verwendet.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Dateien werden u+rw erzeugt und Verzeichnisse u+rwx, abzüglich Umask-\n" "Beschränkungen.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory erzeugt ein Verzeichnis und keine Datei -u, --dry-" "run es wird nichts erzeugt; nur ein Name wird ausgegeben\n" " (unsicher)\n" " -q, --quiet unterdrückt Benachrichtigungen beim Scheitern des\n" " Anlegens von Dateien bzw. Verzeichnissen\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=ENDUNG hängt ENDUNG an SCHABLONE an. ENDUNG darf keinen\n" " Schrägstrich enthalten.\n" " Diese Option gilt implizit, wenn SCHABLONE nicht\n" " mit einem X endet.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=VERZ] SCHABLONE relativ zu VERZ betrachten. Wenn VERZ nicht\n" " angegeben, wird $TMPDIR benutzt (wenn gesetzt), sonst /" "tmp.\n" " Mit dieser Option muss SCHABLONE kein absoluter Name " "sein.\n" " Anders als mit -t darf SCHABLONE Schrägstriche " "enthalten,\n" " aber auch hier wird mktemp nur die letzte Komponente\n" " erstellen.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR verwendet DIR als Präfix; impliziert -t [veraltet]\n" " -t SCHABLONE als Komponente eines einzelnen Dateinamen " "nehmen,\n" " relativ zu einem Verzeichnis: $TMPDIR, wenn gesetzt; " "sonst\n" " das mit -p gegebene Verzeichnis; sonst /tmp (veraltet)\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "konnte Standardfehlerausgabe nicht auf /dev/null umleiten" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "zu viele Schablonen" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "bei --suffix muss die Schablone %s mit einem X enden" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "ungültige Endung %s, sie enthält einen Verzeichnistrenner" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "zu wenige Xs in der Schablone %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "ungültige Schablone, %s, sie enthält einen Verzeichnistrenner" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "ungültige Schablone, %s; mit --tmpdir darf sie nicht absolut sein" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "konnte das Verzeichnis nicht mittels Schablone %s erstellen" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "konnte die Datei nicht mittels Schablone %s erstellen" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Umbenennen von QUELLE in ZIEL, oder QUELLE(en) in VERZEICHNIS verschieben\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=KONTROLLE] vor Entfernen Sicherung anlegen\n" " -b wie --backup, akzeptiert aber keine " "Argumente\n" " -f, --force vor Überschreiben nicht nachfragen\n" " -i, --interactive vor Überschreiben nachfragen\n" " -n, --no-clobber bestehende Dateien nicht überschreiben\n" "Wenn mehr als eine Option von -i, -f und -n angeben wird, so gilt die " "letzte.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLEâ€" "Arguments\n" " entfernen\n" " -S, --suffix=SUFFIX die normale Sicherungsâ€Erweiterung " "überschreiben\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " --target-directory=VERZ alle Quellen in Verzeichnis VERZ verschieben\n" " -T, --no-target-directory ZIEL als normale Datei behandeln\n" " -u, --update nur ältere oder brandneue Dateien " "verschieben\n" " -v, --verbose Erklärung über Abläufe ausgeben\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Aufruf: %s [OPTION] [BEFEHL [ARGUMENT]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "BEFEHL mit festgelegter Priorität ausführen, was die Zeitzuteilung\n" "beeinflusst. Ohne BEFEHL wird die aktuelle Priorität ausgegeben. Die " "Priorität\n" "reicht dabei von %d (vorteilhafteste Zeitzuteilung) bis %d " "(unvorteilhafteste\n" "Zeitzuteilung).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr " -n, --adjustment=N Priorität um N erhöhen (Voreinstellung 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ungültiges Argument %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "Mit einer Priorität muss ein Befehl angegeben werden" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "die aktuelle Priorität kann nicht ermittelt werden" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "die Priorität kann nicht gesetzt werden" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Jede DATEI mit Zeilennummern nach Standardausgabe schreiben.\n" "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIL STIL zur Nummerierung benutzen\n" " -d, --section-delimiter=CC CC benutzen, um logische Seiten zu " "trennen\n" " -f, --footer-numbering=STIL STIL benutzen, um Fußzeilen zu " "nummerieren\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIL STIL benutzen, um Kopfzeilen zu " "nummerieren\n" " -i, --page-increment=ANZAHL Zeilennummerinkrement in jeder Zeile\n" " -l, --join-blank-lines=ANZAHL ANZAHL Leerzeilen zählen als eine\n" " -n, --number-format=FORMAT Zeilennummern gemäß FORMAT einfügen\n" " -p, --no-renumber logische Zeilennummer am Anfang von " "logischen\n" " Seiten nicht zurücksetzen\n" " -s, --number-separator=ZKETTE ZKETTE nach (möglicher) Zeilennummer " "einfügen\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=ANZAHL erste Zeilennummer auf jeder logischen " "Seite\n" " -w, --number-width=ANZAHL ANZAHL Spalten für Zeilennummern benutzen\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Standardeinstellung ist -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sind\n" "zwei Begrenzungszeichen, um logische Seiten zu trennen, ein fehlendes " "zweites\n" "Zeichen impliziert „:“. Geben Sie \\\\ für \\ ein. STIL ist einer aus:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a alle Zeilen nummerieren\n" " t nur nichtleere Zeilen nummerieren\n" " n keine Zeilen nummerieren\n" " pREGEXP nur Zeilen nummerieren, die die einfache REGEXP enthalten\n" "\n" "FORMAT ist eines der folgenden:\n" "\n" " ln linksbündig, keine führenden Nullen\n" " rn rechtsbündig, keine führenden Nullen\n" " rz rechtsbündig, führende Nullen\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "Überlauf bei den Zeilennummern" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "ungültiger Stil für Kopfzeilennummerierung: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "ungültiger Stil für Textkörpernummerierung: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "ungültiger Stil für Fußzeilennummerierung: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "ungültiger anfängliche Zeilennummer: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "ungültiges Inkrement für Zeilennummer: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "ungültige Anzahl von Leerzeilen: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "ungültige Breite des Feldes für die Zeilennummer: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "ungültiges Zeilennummerformat: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s BEFEHL [ARGUMENT]...\n" " oder: %s OPTION\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "BEFEHL ausführen und dabei das Signal HUP ignorieren.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Ist die Standardeingabe ein Terminal, wird sie von /dev/null umgeleitet.\n" "Ist die Standardausgabe ein Terminal, werden die Ausgaben, wenn möglich,\n" "an „nohup.out“ angehängt, sonst an „$HOME/nohup.out“.\n" "Ist die Standardfehlerausgabe ein Terminal, wird sie auf die " "Standardausgabe\n" "umgeleitet.\n" "Um die Ausgabe in eine DATEI umzuleiten, benutzen sie bitte\n" "„%s BEFEHL > DATEI“.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "Die Standardeingabe konnte nicht unbrauchbar gemacht werden" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignoriere Eingabe" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ignoriere Eingabe und hänge Ausgabe an %s an" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "hänge Ausgabe an %s an" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "konnte die Kopie von stderr bei Exec nicht auf Schließen setzen" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "ignoriere Eingabe und leite Standardfehlerausgabe auf Standardausgabe um" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "leite Standardfehlerausgabe auf Standardausgabe um" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "konnte Standardfehlerausgabe nicht umleiten" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Aufruf: %s [OPTION]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Gibt die Anzahl der Verarbeitungseinheiten aus, welche dem aktuellen " "Prozess\n" "zur Verfügung stehen. Diese Zahl kann kleiner als die Zahl der aktiven\n" "Prozessoren sein\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all Anzahl der installierten Prozessoren ausgeben\n" " --ignore=N wenn möglich N Verarbeitungseinheiten ausschließen\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: ungültige zu ignorierende Anzahl" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "Wert ist für Umwandlung zu groß: „%s“" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "ungültige Zahl: „%s“" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "Endung in Eingabe zurück gewiesen: „%s“ (evtl. --from verwenden)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "ungültige Endung in Eingabe: „%s“" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "fehlende „i“-Endung in Eingabe: „%s“ (zB. Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "der Wert „%Lf“ konnte nicht für Ausgabe aufbereitet werden" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "ungültige Tabulatorgröße: „%s“" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "Hauptspeicher erschöpft (%zu Bytes wurden angefordert)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Aufruf: %s [OPTION]... [NUMMER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "ZAHL(en) von Standardeingabe oder Befehlsargumenten neu formatieren.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr " --debug Warnungen bei ungültigen Eingaben ausgeben.\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X verwendet X anstelle von Leerraum als Feldbegrenzung\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field N ersetzt die Zahl in Eingabefeld N (Vorgabe ist 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMAT verwendet Fließkomma-FORMAT im Stil von printf.\n" " Siehe FORMAT weiter unten für Details.\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from-unit=N Angabe der Einheit der Eingabe (statt der Vorgabe " "1).\n" " Siehe EINHEIT weiter unten\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N Angabe der Einheit der Eingabe (statt der Vorgabe " "1).\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping Verwendet die locale-spezifische Gruppierung von\n" " Ziffern, z.B. 1.000.000 (hat also in C/POSIX\n" " Locales keine Auswirkung).\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] Ausgabe (ohne Umwandlung) der ersten N Kopfzeilen.\n" " N ist 1 wenn es nicht ausdrücklich angegeben wird.\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=MODUS Verhalten bei ungültigen Zahlen: MODUS kann sein:\n" " abort (Vorgabe), fail, warn, ignore.\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N die Ausgabe auf N Zeichen auffüllen. Positives N\n" " bedeutet rechtsbündig, negatives N linksbündig.\n" " Es wird nicht aufgefüllt, wenn die Ausgabe breiter\n" " als N ist.\n" " Standardmäßig wird automatisch aufgefüllt, wenn\n" " Leerzeichen, Tabulator oder Zeilenumbruch gefunden\n" " werden.\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=METHODE die bei der Skalierung zu verwendende " "Rundungsmethode.\n" " METHODE kann sein:\n" " up, down, from-zero (Vorgabe), towards-zero, " "nearest\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=ENDUNG ENDUNG an auszugebende Zahlen anhängen und eine\n" " eventuell vorhandene ENDUNG bei eingegebenen " "Zahlen\n" " akzeptieren.\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=EIONHEIT auto-skaliert auszugebende Zahlen in EINHEITen.\n" " Siehe EINHEIT weiter unten.\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" " --to-unit=N Angabe der Einheit der Ausgabe (statt der Vorgabe " "1).\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "EINHEIT-Optionen:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" " none Keine auto-skalierung erfolgt. Endungen lösen einen " "Fehler\n" " aus.\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto Akzeptiere optionale ein- bzw. zweibuchstabige Endungen:\n" " 1K = 1000\n" " 1Ki = 1024\n" " 1M = 1000000\n" " 1Mi = 1048576\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si Akzeptiere eine optionale einbuchstabige Endung:\n" " 1K = 1000\n" " 1M = 1000000\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec Akzeptiere eine optionale einbuchstabige Endung:\n" " 1K = 1024\n" " 1M = 1048576\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i Akzeptiere eine optionale zweibuchstabige Endung:\n" " 1Ki = 1024\n" " 1Mi = 1048576\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "FORMAT muß geeignet sein, ein Fließkomma-Argument „%f“ auszugeben.\n" "Ein optionales Apostroph (%'f) aktiviert --grouping (wenn es von der\n" "aktuellen Locale unterstützt wird). Eine angegebene Breite (%10f) bewirkt\n" "das Auffüllen der Ausgabe. Wird die Breite neagtiv angegeben (%-10f),\n" "wird nach links aufgefüllt.\n" "\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Der Rückgabewert des Programms ist 0 wenn alle eingegeben Zahlen " "erfolgreich\n" "umgewandelt werden konnten. Noramlerweise stopt %s beim ersten Umwandlungs-\n" "fehler mit dem Rückgabewert 2. Bei --invalid='fail' wird für jede " "fehlerhafte\n" "Umwandlung eine Warnung ausgegeben und der Rückgabewert bei Ende ist 2. Bei\n" "--invalid='warn' wird jede fehlerhafte Umwandlung angegeben aber der\n" "Rückgabewert bei Ende ist 0. Bei --invalid='ignore' werden " "Umwandlungsfehler\n" "nicht angegeben und das Programm mit 0 beendet.\n" "\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Beispiele:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "das Format %s enthält keine %%-Anweisung" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "ungültiges Format %s (Überlauf der Breite)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "das Format %s endet mit %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "ungültiges Formt %s, die Anweisung muss die Form %%['][-][N]f haben" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "das Format %s enthält zu viele %%-Direktiven" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ungültige Endung in Eingabe „%s“: „%s“" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "Wert zu groß um ausgegeben zu werden: „%Lg“ (verwenden Sie evtl. --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "Wert zu groß um ausgegeben zu werden: „%Lg“ (Werte müssen <= 999Y sein)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "großer Eingabewert „%s“: möglicher Verlust von Präzision" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "Eingabezeile ist zu kurz, keine zu wandelnde Zahlen in Feld %ld gefunden" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "Ungültiger Wert für Auffüllung „%s“" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "Ungültiger Feldwert: %s" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "ungültiger Kopf-Wert „%s“" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping kann nicht mit --format kombiniert werden" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding kann nicht zusammen mit --format verwendet werden" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "es wurde keine Umwandlungsoption angegeben" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "Gruppierung kann nicht mit --to kombiniert werden" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "Gruppierung hat in dieser Locale keine Auswirkung" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "--header wird bei Eingabe über Kommandozeile ignoriert" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "Fehler beim Lesen der Eingabe" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "einige der eingegebenen Zahlen konnten nicht umgewandelt werden" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Aufruf: %s [OPTION]... [DATEI]...\n" " oder: %s [-abcdfilosx]... [DATEI] [[+]OFFSET[.][b]]\n" " oder: %s --traditional [OPTION]... [DATEI] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Eine eindeutige Darstellung der DATEI, auf Standardausgabe ausgeben " "(Vorgabe:\n" "Oktalzahlen). Bei mehr als einem Argument DATEI, die Dateien in der\n" "angegebenen Folge verketten und die Eingabe zu bilden.\n" "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Wenn die erste und zweite Aufrufform beide zutreffen, wird das zweite " "Format\n" "angenommen, wenn der letzte Operand mit + oder (wenn es zwei Operanden " "gibt)\n" "einer Ziffer anfängt. Ein OFFSETâ€Operand bedeutet -j OFFSET. MARKE ist die\n" "Pseudoadresse des ersten auszugebenden Bytes; sie wird entsprechend erhöht,\n" "wenn die Ausgabe fortschreitet. Für OFFSET und MARKE bedeutet ein „0xҠ" "oder\n" "„0X“â€Präfix hexadezimal; Endungen können „.“ für oktal und „b“ für " "Vielfaches\n" "von 512 sein.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BASIS entscheiden, wie Dateioffsets ausgegeben " "werden\n" " BASIS kann [doxn] für Dezimal, Oktal, Hex " "oder\n" " Keine sein\n" " -j, --skip-bytes=BYTES BYTES Eingabebytes am Anfang jeder Datei\n" " übergehen\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES Ausgabe auf BYTES Eingabebytes pro Datei\n" " begrenzen\n" " -S Bytes, --strings[=BYTES] Ketten mit wenigstens BYTES alphanumerischen\n" " Zeichen ausgeben\n" " -t, --format=TYP Ausgabeformat(e) wählen\n" " -v, --output-duplicates nicht * benutzen, um Zeilenunterdrückung\n" " anzuzeigen\n" " -w[BYTES], --width[=BYTES] Anzahl BYTES pro Ausgabezeile ausgeben\n" " --traditional Argumente in traditioneller Form akzeptieren\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Traditionell spezifizierte Formatangaben können gemischt werden; sie werden\n" "akkumuliert:\n" " -a dasselbe wie -t a, benannte Zeichen wählen, oberstes Bit ignorieren\n" " -b dasselbe wie -t o1, Oktalbytes wählen\n" " -c dasselbe wie -t c, ASCIIâ€Zeichen oder Rückschrägstrichâ€Escapes " "wählen\n" " -d dasselbe wie -t u2, dezimale vorzeichenlose 2â€Byteâ€Zahlen wählen\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f dasselbe wie -t fF, Fließkommazahlen wählen\n" " -i dasselbe wie -t dI, dezimale Integer wählen\n" " -l dasselbe wie -t dL, dezimale Longs wählen\n" " -o dasselbe wie -t o2, oktale 2â€Byteâ€Zahlen wählen\n" " -s dasselbe wie -t d2, dezimale 2â€Byteâ€Zahlen wählen\n" " -x dasselbe wie -t x2, hexadezimale 2â€Byteâ€Zahlen wählen\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYP setzt sich zusammen aus einer oder mehreren dieser Spezifikationen:\n" "\n" " a ein benanntes Zeichen, oberstes Bit ignorieren\n" " c ASCIIâ€Zeichen oder Rückschrägstrichâ€Escape\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[ANZAHL] dezimal mit Vorzeichen, ANZAHL Bytes pro Zahl\n" " f[ANZAHL] Fließkomma, ANZAHL Bytes pro Zahl\n" " o[ANZAHL] oktal, ANZAHL Bytes pro Zahl\n" " u[ANZAHL] dezimal ohne Vorzeichen, ANZAHL Bytes pro Zahl\n" " x[ANZAHL] hexadezimal, ANZAHL Bytes pro Zahl\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "ANZAHL ist eine Zahl. Wenn TYP einer von „d“, „o“, „u“, oder „x“ ist, kann\n" "ANZAHL auch „C“ für sizeof(char), „S“ für sizeof(short) , „I“ für sizeof" "(int)\n" "oder „L“ für sizeof(long) sein. Wenn TYP „f“ ist, kann ANZAHL auch „F“ für\n" "sizeof(float), „D“ für sizeof(double) oder „L“ für sizeof(long double) " "sein.\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "Durch Anhängen von „z“ an einen beliebigen Typ werden am Ende jeder " "ausgegebe-\n" "nen Zeile druckbare Zeichen angezeigt.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "BYTES ist hexadezimal bei vorangestelltem 0x oder 0X und kann folgende\n" "multiplikative Endungen haben:\n" " b 512\n" " kB 1000\n" " K 1024\n" " MB 1000×1000\n" " M 1024×1024\n" "und so weiter für G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "Ungültige Typbezeichnung %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "Ungültige Typbezeichnung %s;\n" "dieses System hat keinen Typ für %luâ€Byte große Ganzzahlen" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "Ungültige Typbezeichnung %s;\n" "dieses System hat keinen Typ für %lu-Byte große Gleitkommazahlen" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "Ungültiges Zeichen „%c“ in Typenbezeichnung %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" "Es ist nicht möglich, hinter das Ende der kombinierten Eingabe vorzurücken" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "Ungültiger Ausgabeadressradix „%c“; es muss ein Zeichen aus [doxn] sein" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "Bei der Ausgabe von Zeichenketten darf kein Typ angegeben werden" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "Der Kompatibilitätsmodus unterstützt höchstens eine Datei." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes ist zu groß" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "Warnung: ungültige Breite %lu; %d wird benutzt" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: ungültiges Signal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "Standardeingabe ist geschlossen" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Zeilen auf Standardausgabe ausgeben, die aus sequenziell sich " "entsprechenden\n" "Zeilen jeder DATEI bestehen, getrennt durch Tabulatoren.\n" "Ohne DATEI oder wenn DATEI „-“ ist, wird die Standardeingabe gelesen.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTE Zeichen aus LISTE anstelle von Tabulatoren " "benutzen\n" " -s, --serial Dateien nacheinander ausgeben anstelle parallel\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "Trennzeichenliste endet mit einzelnem Rückschrägstrich: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Ungültige und nicht portable Konstruktionen in Dateinamen analysieren.\n" "\n" " -p für die meisten POSIXâ€Systeme überprüfen\n" " -P auf leere Namen und führendes „-“ prüfen\n" " --portability für alle POSIXâ€Systeme überprüfen (äquiv. zu -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "führendes „-“ in einem Bestandteil des Dateinamens von %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "unportables Zeichen %s in Dateinamen %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "leerer Dateiname" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: die maximale Dateinamenlänge kann nicht ermittelt werden" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "Obergrenze %lu durch Länge %lu des Dateinamen %s überschritten" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "Obergrenze %lu durch Länge %lu des Dateinamensbestandteils %s überschritten" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Loginname: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Im richtigen Leben: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Verzeichnis: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Name" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Untätig" #: src/pinky.c:411 msgid "When" msgstr "Wann" #: src/pinky.c:414 msgid "Where" msgstr "Wo " #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Aufruf: %s [OPTION]... [BENUTZER]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l langes Format für den angegebenen BENUTZER erzeugen\n" " -b ohne Homeâ€Verzeichnis und Shell der Benutzer (bei langem\n" " Format)\n" " -h ohne Projektâ€Datei der Benutzer (bei langem Format)\n" " -p ohne Planâ€Datei der Benutzer (bei langem Format)\n" " -s kurzes Format erzeugen (dies ist die Vorgabe)\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f ohne Kopfzeile über den Spalten (bei kurzem Format)\n" " -w ohne Namen der Benutzer (bei kurzem Format)\n" " -i ohne volle Namen und entfernte Rechner der Benutzer (bei\n" " kurzem Format)\n" " -q ohne volle Namen, entfernte Rechner und Idleâ€Zeit der " "Benutzer\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Ein abgespecktes „finger“â€Programm zum Anzeigen von Benutzerinformationen.\n" "Als utmpâ€Datei wird %s genommen.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "kein Benutzername angegeben; wenigstens einer muss angegeben werden, wenn " "die\n" "Option -l verwendet wird" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "„--pages=ERSTE_SEITE[:LETZTE_SEITE]“ fehlendes Argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "Ungültiger Seitenbereich %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "„-l SEITEN_LÄNGE“ ungültige Anzahl von Zeilen: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "„-N ZAHL“ ungültige Angabe der Startzeilennummer: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "„-o RAND“ ungültige Angabe des Zeilenoffsets: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "„-w SEITEN_BREITE“ ungültige Anzahl von Zeichen: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "„-W SEITEN_BREITE“ ungültige Anzahl von Zeichen: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "Es ist nicht möglich, die Anzahl der Spalten bei Parallelâ€Ausgabe " "festzulegen." #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "Es ist nicht möglich, gleichzeitig die Parallel†und Überkreuzâ€Ausgabe\n" "festzulegen." #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "„-%c“ Extrazeichen oder ungültige Zahl im Argument: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Seitenbreite zu schmal" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "Anfangsseitennummer %<PRIuMAX> übersteigt Seitenzahl %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "Überlauf bei den Seitennummern" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Seite %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "DATEI(en) in Seiten oder Spalten für die Druckausgabe unterteilen.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ERSTE_SEITE[:LETZTE_SEITE], --pages=ERSTE_SEITE[:LETZTE_SEITE]\n" " Druck mit ERSTE_[LETZTE_]SEITE beginnen [beenden]\n" " -SPALTEN, --columns=SPALTEN\n" " SPALTENâ€spaltige Ausgabe erzeugen und Spalten vertikal " "schreiben,\n" " es sei denn, -a wurde benutzt. Zahl der Zeilen in jeder " "Spalte\n" " ausbalancieren.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across\n" " Spalten horizontal statt vertikal schreiben, wird zusammen\n" " mit -SPALTEN benutzt\n" " -c, --show-control\n" " Hutâ€Notation (^G) und oktale Rückschrägstrichâ€Notation " "benutzen\n" " -d, --double-space\n" " doppelter Zeilenvorschub in der Ausgabe\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " FORMAT für die Datumsausgabe in der Kopfzeile benutzen\n" " -e[ZEICH[BREITE]], --expand-tabs[=ZEICH[BREITE]]\n" " Eingabeâ€ZEICHen (Tabulatoren) zu BREITE Leerzeichen (8) " "ersetzen\n" " -F, -f, --form-feed\n" " Seitenvorschübe statt Zeilenvorschübe benutzen, um Seiten zu\n" " trennen (durch einen 3â€Zeilenâ€Seitenkopf bei -F oder einen\n" " 5â€Zeilenâ€Seitenkopf und â€fuß ohne -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h --header=KOPF\n" " KOPF als zentrierten Seitenkopf anstelle des Dateinamens " "benutzen\n" " -h \"\" druckt eine leere Zeile, nicht -h\"\" benutzen.\n" " -i[ZEICH[BREITE]], --output-tabs[=ZEICH[BREITE]]\n" " Leerzeichen mit ZEICHen (Tabulatoren) auf BREITE (8) ersetzen\n" " -J, --join-lines\n" " zu vollen Zeilen zusammenziehen, gleichzeitig die durch -W\n" " veranlasste Zeilenbeschneidung abschalten, keine\n" " Spaltenausrichtung, --sep-string[=ZKETTE] setzt Trennzeichen\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=SEITENLÄNGE\n" " Seitenlänge auf SEITENLÄNGE (66) Zeilen setzen\n" " (Vorgabe: 56 Zeilen, und mit -F 63)\n" " -m, --merge alle Dateien parallel ausgeben, eine in jeder Spalte,\n" " Zeilen abschneiden, aber Zeilen voller Länge bei -J " "vereinigen\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[ZIFFERN]], --number-lines[=SEP[ZIFFERN]]\n" " Zeilen nummerieren, ZIFFERN (5) Ziffern benutzen,\n" " danach SEP (Tabulator),\n" " Nummerierung beginnt normalerweise mit der ersten " "Eingabezeile\n" " -N, --first-line-number=ZAHL\n" " Nummerierung mit ZAHL bei der ersten Zeile der ersten Seite\n" " beginnen, die ausgedruckt wird (siehe auch +ERSTE_SEITE)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=RAND\n" " Zeile um RAND (null) Leerzeichen einrücken, beeinflusst nicht\n" " -w oder -W, RAND wird zu SEITEN_BREITE addiert\n" " -r, --no-file-warnings\n" " Warnung unterdrücken, wenn eine Datei nicht geöffnet werden " "kann\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ZEICHEN],--separator[=ZEICHEN]\n" " Spalten durch einzelnes Zeichen trennen, Vorgabe für " "ZEICHEN\n" " ist das Tabulatorâ€Zeichen ohne -w und „kein Zeichen“ mit -" "w\n" " -s[ZEICHEN] schaltet Zeilenabschneidung bei allen drei\n" " Spaltenoptionen (-SPALTE|-a -SPALTE|-m) ab, außer bei -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[ZKETTE], --sep-string[=ZKETTE]\n" " Spalten durch eine ZKETTE trennen,\n" " ohne -S: Vorgabetrennzeichen ist Tabulator mit -J und\n" " sonst Leerzeichen (dasselbe wie -S\" \"), hat keine\n" " Auswirkung auf Spaltenoptionen\n" " -t, --omit-header Kopf†und Fußzeilen unterdrücken\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " Kopf†und Fußzeilen unterdrücken, Seitenvorschubangaben " "der\n" " Eingabedateien ignorieren\n" " -v, --show-nonprinting\n" " oktale Rückschrägstrichâ€Notation benutzen\n" " -w, --width=SEITEN_BREITE\n" " Seitenbreite auf SEITEN_BREITE (72) Zeichen nur für " "Ausgabe\n" " mehrfacher Textspalten setzen, -s[Zeichen] schaltet ab " "(72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=SEITEN_BREITE\n" " Seitenbreite immer auf SEITEN_BREITE (72) Zeichen " "setzen,\n" " Zeilen abschneiden, es sei denn -J ist gesetzt, keine\n" " gegenseitige Störung mit -S oder -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t wird impliziert, wenn PAGE_LENGTH <= 10. Ohne DATEI oder wenn\n" "DATEI „-“ ist, Standardeingabe lesen.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Aufruf: %s [OPTION]... [VARIABLE]...\n" "Die Werte der angegebenen Umgebungs-VARIABLEn ausgeben.\n" "Wenn keine Umgebungsâ€VARIABLE angegeben ist werden alle Variablen ausgeben.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null Zeilen mit Nullbyte statt mit Zeilenvorschub beenden\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "Warnung: %s: Zeichen, die einer Zeichenkonstanten folgen, werden ignoriert" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s FORMAT [ARGUMENT]...\n" " oder: %s OPTION\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "ARGUMENTe entsprechend des angegebenen FORMATs ausgeben,\n" "oder anhand OPTION ausführen\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT bestimmt die Ausgabe wie bei printf aus C. Interpretiert werden:\n" "\n" " \\\" doppelte Anführungszeichen\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN Byte mit oktalem Wert NNN (1 bis 3 Stellen)\n" " \\xHH Byte mit hexadezimalem Wert HH (1 bis 2 Stellen)\n" " \\uHHHH Unicodeâ€Zeichen (ISO/IEC 10646) mit Hexâ€Wert HHHH (4 Stellen)\n" " \\UHHHHHHHH Unicodeâ€Zeichen mit hexadezimalem Wert HHHHHHHH (8 Stellen)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% ein einzelnes %\n" " %b ARGUMENT als Zeichenkette mit interpretierter „\\“â€Maskierung,\n" " außer dass Oktalfolgen die Form \\0 oder \\0NNN haben\n" "\n" "und alle Câ€Formatspezifikationen, die mit einem Zeichen aus diouxXfeEgGcs\n" "enden, wobei die ARGUMENTe zunächst in den richtigen Typ umgewandelt " "werden.\n" "Variable Breiten werden behandelt.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: erwartet eine Zahlwert" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: Wert nicht vollständig konvertiert" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "Hexadezimale Zahl fehlt in der Maskierung (Escape)" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ungültiger universaler Zeichenname \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ungültige Feldbreite: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "ungültige Genauigkeit: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: ungültige Umwandlungsangabe" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "Warnung: überflüssige Argumente werden ignoriert, beginnend mit %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (für regulären Ausdruck %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Aufruf: %s [OPTION]... [EINGABE]... (ohne -G)\n" " oder: %s -G [OPTION]... [EINGABE [AUSGABE]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Einen permutierten Index der Wörter der Eingabedateien einschließlich " "Kontext\n" "ausgeben.\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference automatisch generierte Referenzen ausgeben\n" " -G, --traditional mehr wie „ptx“ von System V funktionieren\n" " -F, --flag-truncation=ZKETTE ZKETTE benutzen, um Abschneidungen " "anzuzeigen\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=ZKETTE Makroname, der statt „xx“ zu benutzen ist\n" " -O, --format=roff Ausgabe als roffâ€Anweisungen erzeugen\n" " -R, --right-side-refs Referenzen nach rechts setzen, in -w nicht\n" " gezählt\n" " -S, --sentence-regexp=REGEXP für Zeilen†oder Satzende\n" " -T, --format=tex Ausgabe als TeXâ€Anweisungen erzeugen\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP REGEXP benutzen, um jedes Schlüsselwort\n" " abzubilden\n" " -b, --break-file=DATEI Wortendezeichen in dieser Datei\n" " -f, --ignore-case zum Sortieren Klein†in Großschreibung " "wandeln\n" " -g, --gap-size=NUMBER Zwischenraumgröße zwischen Ausgabefeldern\n" " -i, --ignore-file=DATEI Liste zu ignorierender Wörter aus DATEI " "lesen\n" " -o, --only-file=DATEI Wortliste nur aus dieser DATEI lesen\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references erstes Feld jeder Zeile ist eine Referenz\n" " -t, --typeset-mode – nicht implementiert –\n" " -w, --width=ANZAHL Ausgabebreite innerhalb der Spalten, ohne " "die\n" " Referenzen\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen. Vorgabe: „-" "F /“.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "ungültige Lückenbreite: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Den vollständigen Dateinamen des aktuellen Verzeichnisses ausgeben.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical PWD aus der Umgebung nehmen, selbst wenn dieses " "symbolische\n" " Verknüpfungen enthält\n" " -P, --physical alle symbolischen Verknüpfungen vermeiden\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "konnte nicht nach %s wechseln" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "konnte auf %s nicht zugreifen" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "konnte in %s keine Verzeichniseintrag mit passendem Inode finden" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "Argumente, die keine Optionen sind, werden ignoriert" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Aufruf: %s [OPTION]... DATEI...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Wert einer symbolischen Verknüpfung oder den kanonischen Dateinamen\n" "ausgeben.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize kanonisieren, indem jeder symb. Verknüpfung in " "jeder\n" " Komponente des gegebenen Pfads rekursiv gefolgt " "wird;\n" " alle außer der letzten Komponente müssen " "existieren\n" " -e, --canonicalize-existing kanonisieren, indem jeder symb. Verknüpfung " "in jeder\n" " Komponente des gegebenen Pfads rekursiv gefolgt " "wird;\n" " alle Komponenten müssen existieren\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing kanonisieren, indem jeder symb. Verknüpfung " "in jeder\n" " Komponente des gegebenen Pfads rekursiv gefolgt " "wird;\n" " ohne Anforderung an Existenz der Komponenten\n" " -n, --no-newline keinen abschließenden Zeilenvorschub ausgeben\n" " -q, --quiet,\n" " -s, --silent Fehlermeldungen größtenteils unterdrücken\n" " -v, --verbose Fehlermeldungen ausgeben\n" " -z, --zero die Ausgaben mit Nullbyte statt Zeilenvorschub " "trennen\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "bei mehreren Argumenten wird --no-newline ignoriert" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Gibt den aufgelösten absoluten Dateinamen aus;\n" "alle außer der letzten Komponente müssen existieren\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing alle Komponenten des Pfades müssen " "existieren\n" " -m, --canonicalize-missing keine Komponente des Pfades muss existieren\n" " -L, --logical löst »..« Komponenten vor Symlinks auf\n" " -P, --physical löst symbolische Verknüpfungen in der\n" " Reihenfolge des Antreffens auf (Vorgabe)\n" " -q, --quiet unterdrückt die meisten Fehlermeldungen\n" " --relative-to=DATEI aufgelöste Pfade relativ zu DATEI ausgeben\n" " --relative-base=DATEI absolute Pfade ausgeben außer denen " "unterhalb\n" " von DATEI\n" " -s, --strip, --no-symlinks Symbolische Verknüpfungen nicht auflösen\n" " -z, --zero Ausgaben werden durch NULL statt eines " "Zeilen-\n" " vorschubs trennen\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "ein relativer Pfad wird erzeugt" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: in schreibgeschütztes Verzeichnis %s absteigen? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: in Verzeichnis %s absteigen? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: %s (schreibgeschützt) %s entfernen? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: %s %s entfernen? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "Verzeichnis wurde entfernt: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "das Verzeichnis kann nicht entfernt werden: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "überspringe %s, da es auf einem anderen Gerät ist" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "Traversal fehlgeschlagen: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "unerwarteter Fehler: fts_info=%d: %s\n" "bitte melden Sie dies an %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Versuchen Sie „%s ./%s“, um die Datei %s zu entfernen.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Entfernen (unlink) der DATEI(en).\n" "\n" " -f, --force nicht vorhandene Dateien ignorieren, keine " "Nachfragen\n" " -i vor jeder Entfernung nachfragen\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I einmal nachfragen, wenn mehr als drei Dateien\n" " gelöscht werden sollen oder beim rekursiven\n" " Löschen; weniger aufdringlich als -i, gibt aber\n" " Schutz gegen die meisten Fehler.\n" " --interactive[=WANN] nachfragen WANN: „never“ (nie), „once“ (-I) " "oder\n" " „always“ (-i); ohne WANN: immer\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system beim rekursiven Entfernen einer " "Verzeichnishierarchie\n" " die Verzeichnisse überspringen, die sich auf " "einem\n" " anderen Gerät als der Parameter befinden\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root „/“ nicht besonders behandeln\n" " --preserve-root nicht rekursiv auf „/“ arbeiten (Voreinstellung)\n" " -r, -R, --recursive Inhalte von Verzeichnissen rekursiv entfernen\n" " -d, --dir leere Verzeichnisse werden entfernt\n" " -v, --verbose durchgeführte Tätigkeiten erklären\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Per Voreinstellung entfernt rm keine Verzeichnisse. Bei Benutzung der " "Option\n" "--recursive (-r oder -R) wird jedes aufgeführte Verzeichnisse inklusive " "seiner\n" "Inhalte gelöscht.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Um Dateien zu entfernen, deren Namen mit „-“ beginnen, z. B. „foo“, " "verwenden\n" "Sie eine der folgenden Anweisungen:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Beachten Sie, das der Inhalt einer mit „rm“ gelöschten Datei normalerweise\n" "wiederhergestellt werden kann. Wenn Sie mehr Sicherheit darüber wünschen,\n" "dass die Inhalte tatsächlich nicht wiederherstellbar sind, sollten Sie eher\n" "„shred“ benutzen.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: Alle Argumente rekursiv entfernen? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: alle Argumente entfernen? " # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "Verzeichnis wird entfernt, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "konnte Verzeichnis %s nicht entfernen" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Die VERZEICHNIS(se) entfernen, wenn sie leer sind.\n" "\n" " --ignore-fail-on-non-empty\n" " jeden Fehlschlag ignorieren, der nur daher rührt, dass\n" " ein Verzeichnis nicht leer ist\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents VERZEICHNIS und seine Vorfahren entfernen; damit ist\n" " „rmdir -p a/b/c“ ähnlich zu „rmdir a/b/c a/b a“\n" " -v, --verbose Diagnose für jedes bearbeitete Verzeichnis ausgeben\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "konnte %s nicht entfernen" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Aufruf: %s KONTEXT BEFEHL [args]\n" " oder: %s [ -c ] [-u NUTZER] [-r ROLLE] [-t TYP] [-l BEREICH] BEFEHL " "[args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Ein Programm in einem anderen Sicherheitskontext ausführen.\n" "Wenn weder KONTEXT noch BEFEHL gegeben sind, den aktuellen " "Sicherheitskontext\n" "ausgeben.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " KONTEXT vollständiger Sicherheitskontext\n" " -c, --compute Prozessübergangskontext berechnen vor der Modifikation\n" " -t, --type=TYP Typ (für die selbe Rolle wie übergeordnetes Element)\n" " -u, --user=NUTZER Nutzeridentität\n" " -r, --role=ROLLE Rolle\n" " -l, --range=BEREICH Niveaubereich\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "mehrere Rollen" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "mehrere Typen" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "mehrere Nutzer" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "mehrere Niveaubereiche" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "konnte aktuellen Kontext nicht ermitteln" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "es müssen -c, -t, -u, -l, -r oder Kontext angegeben werden" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "kein Befehl angegeben" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s kann nur mit einem SELinux-Kernel verwendet werden" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "konnte keine neuen Kontext berechnen" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "konnte neuen Nutzer %s nicht setzen" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "konnte neuen Typ %s nicht setzen" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "konnte neuen Bereich %s nicht setzen" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "konnte neue Rolle %s nicht setzen" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "der Sicherheitskontext %s kann nicht gesetzt werden" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Aufruf: %s [OPTION]... LETZTER\n" " oder: %s [OPTION]... ERSTER LETZTER\n" " oder: %s [OPTION]... ERSTER PLUS LETZTER\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Die Zahlen von ERSTER bis LETZTER ausgeben, in Schritten von PLUS.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=FORMAT Fließkommaâ€FORMAT im Stil von printf benutzen\n" " -s, --separator=ZKETTE ZKETTE benutzen, um Zahlen zu trennen (Vorgabe :" "\\n)\n" " -w, --equal-width gleiche Breite durch führende Nullen herstellen\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Wenn ERSTER oder PLUS weggelassen werden, wird 1 angenommen. Ein " "weggelassenes\n" "PLUS wird also als 1 interpretiert, selbst wenn LETZTER kleiner als ERSTER " "ist.\n" "ERSTER, PLUS und LETZTER werden als Fließkommazahlen interpretiert.\n" "PLUS ist normalerweise positiv, wenn ERSTER kleiner als LETZTER ist, und\n" "PLUS ist normalerweise negativ, wenn ERSTER größer als LETZTER ist.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT muss in der Lage sein, ein Argument vom Typ „double“ auszugeben;\n" "per Voreinstellung ist es %.PRÄZf, wenn ERSTER, PLUS und LETZTER alle " "dezimale\n" "Fixkommazahlen sind mit einer maximalen Genauigkeit PRÄZ, ansonsten %g.\n" "Die Angabe der Zahlen auf der Kommandozeilen muss im englischen Format " "erfolgen,\n" "die Ausgabe hängt dagegen von der gewählten Locale ab (in diesem Fall wird " "also\n" "ein Dezimalpunkt in der Eingabe und ein Dezimalkomma in der Ausgabe " "benutzt.)\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "ungültiges Fließkommaargument: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "das Format %s enthält die unbekannte Direktive %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "Formatzeichenkette darf nicht angegeben werden, wenn Zeichenketten\n" "gleicher Breite ausgegeben werden" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Aufruf: %s [KURZOPTION]... NUTZERNAME BEFEHL [ARGUMENT]...\n" " oder: %s LANGOPTION\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Jede zusätzliche Gruppe aufgeben, Nutzer†und Gruppenâ€ID des angegebenen\n" "Nutzers annehmen und BEFEHL mit angegebenen ARGUMENTen durchführen.\n" "Mit Status 111 beenden, wenn UID und GID nicht angenommen werden können.\n" "Ansonsten, mit Status von BEFEHL beenden.\n" "Dieses Programm ist nur nützlich, wenn es von Root (UID=0) gerufen wird.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] auch noch die primäre Gruppen-ID auf die numerische GID\n" " setzen und, wenn angegeben, erweiterte Gruppen-IDs " "auf\n" " GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "unbekannte Nutzerâ€ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "um Nutzer-ID %s zu benutzen, müssen Sie auch -g angeben" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "konnte keine erweiterte Gruppe(n) setzen" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "die Gruppenâ€ID kann nicht auf %lu gesetzt werden" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "die Benutzerâ€ID kann nicht auf %lu gesetzt werden" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Mehrfaches Überschreiben der angegebenen DATEI(en), um es schwerer zu " "machen,\n" "selbst mit aufwändigen und teuren Hardwareâ€Analysemitteln die Daten\n" "wieder herzustellen.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force wenn nötig Zugriffsrechte ändern, um Schreiben zuzulassen\n" " -n, --iteration=N Nâ€fach überschreiben statt des Standardwertes (%d)\n" " --random-source=DATEI zufällige Bytes aus DATEI nehmen\n" " -s, --size=N diese Anzahl Bytes zerhacken (Endungen wie K, M, G sind " "zulässig)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove Datei nach dem Überschreiben abschneiden und entfernen\n" " -v, --verbose Fortschritt anzeigen\n" " -x, --exact Dateigrößen nicht auf den nächsten vollen Block runden;\n" " dies ist für nichtâ€reguläre Dateien die Voreinstellung\n" " -z, --zero ein abschließendes Überschreiben mit Nullen hinzufügen, " "um\n" " Zerhacken zu verbergen.\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Wenn die DATEI „-“ ist, die Standardausgabe zerhacken.\n" "\n" "DATEI(en) löschen, wenn --remove (-u) angegeben ist. Die Standardvorgabe\n" "ist es, die Dateien nicht zu löschen, da man oft auf Gerätedateien wie /dev/" "hda\n" "arbeitet, und diese Dateien nicht gelöscht werden sollten. Bei der " "Benutzung\n" "mit normalen Dateien verwenden die meisten Anwender die Option --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "VORSICHT: Beachten Sie, dass „shred“ auf einer sehr wichtigen Annahme " "beruht:\n" "dass das Dateisystem Daten an derselben Stelle überschreibt. Das ist die\n" "althergebrachte Vorgehensweise, doch viele moderne Betriebssystemdesigns\n" "erfüllen diese Annahme nicht. Die folgenden Systeme sind Beispiele von " "Dateisystemen,auf denen „shred“ keine Wirkung hat oder auf denen nicht für\n" "alle Dateisystemmodi eine Wirkung garantiert werden kann:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* Logâ€strukturierte oder „journaled“ Dateisysteme, so wie die mit AIX und\n" "Solaris gelieferten (und JFS, ReiserFS, XFS, Ext3, usw.)\n" "\n" "* Dateisysteme, die redundante Daten schreiben und auch dann fortfahren, " "wenn\n" "einige Schreibvorgänge fehlschlagen, so wie RAIDâ€basierte Dateisysteme\n" "\n" "* Dateisysteme, die Schnappschüsse anfertigen, so wie der NFSâ€Server\n" "von Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* Dateisysteme, die an temporären Orten zwischenspeichern, so wie Klienten\n" "unter NFS Version 3\n" "\n" "* komprimierte Dateisysteme\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Im Fall von ext3 trifft die obige Bemerkung (und die eingeschränkte\n" "Verwendbarkeit von shred) nur zu, wenn der Modus data=journal\n" "gesetzt ist, der neben einem Journal für Metadaten auch eines für Daten\n" "schreibt. Sowohl im Modus data=ordered (Voreinstellung) und data=writeback\n" "funktioniert shred wie gewöhnlich. Die Journalâ€Optionen von ext3 können " "beim\n" "Einhängen gesetzt werden durch Anhängen von data=irgendwas für ein " "bestimmtes\n" "Dateisystem in der /etc/fstab, wie es in der Manpage zu mount erklärt ist.\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Außerdem können Dateisystemsicherungen und entfernte Spiegel Kopien der " "Datei\n" "enthalten, die nicht entfernt werden können, und die es erlauben, eine\n" "zerhackte Datei wieder herzustellen.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync fehlgeschlagen" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync fehlgeschlagen" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: Zurückspulen nicht möglich" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: Durchgang %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: Fehler beim Schreiben an Verschiebung %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek fehlgeschlagen" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: Datei zu groß" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: Durchgang %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: Durchgang %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat fehlgeschlagen" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: ungültiger Dateityp" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: Datei hat negative Größe" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: Fehler beim Abschneiden" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl fehlgeschlagen" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: ein Nurâ€Anfügenâ€Dateideskriptor kann nicht vernichtet werden" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: wird entfernt" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: in %s umbenannt" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: konnte nicht entfernt werden" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: entfernt" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: konnte nicht geschloßen werden" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: konnte nicht zum Schreiben geöffnet werden" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: ungültige Anzahl von Durchgängen" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "mehrere Zufallsquellen angegeben" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: ungültige Dateigröße" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Aufruf: %s [OPTION]... [DATEI]\n" " oder: %s -e [OPTION]... [ARG]...\n" " oder: %s -i VON-BIS [OPTION]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Eine zufällige Permutaion der Eingabezeilen in die Standardausgabe " "schreiben.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo jedes ARG als Eingabezeile ansehen\n" " -i, --input-range=VON-BIS Zahlen von VON bis BIS als Eingabezeilen " "ansehen\n" " -n, --head-lines=ZEILEN höchstens ZEILEN Zeilen zeigen\n" " -o, --output=DATEI Ergebnis in DATEI schreiben statt in " "Standardausg.\n" " --random-source=DATEI zufällige Bytes aus DATEI nehmen\n" " -z, --zero-terminated Zeilen mit Nullbyte statt Zeilenumbruch " "abschließen\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "mehrfach die Optionen -i angegeben" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "ungültiger Eingabebereich: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "ungültige Zeilenanzahl: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "mehrere Ausgabedateien angegeben" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Aufruf: %s ANZAHL[ENDUNG]...\n" " oder: %s OPTION\n" "Für ANZAHL Sekunden pausieren. ENDUNG kann sein: „s“ für Sekunden " "(Vorgabe),\n" "„m“ für Minuten, „h“ für Stunden, „d“ für Tage. Im Gegensatz zu den meisten\n" "Implementierungen, die ANZAHL als eine ganze Zahl erfordern, kann ANZAHL " "hier\n" "eine beliebige Gleitkommazahl sein. Werden zwei oder mehr Argumente " "angegeben,\n" "wird für eine Zeit pausiert, die der Summe der Werte entspricht.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "ungültiges Zeitintervall %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "die Echtzeitâ€Uhr kann nicht gelesen werden" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Aneinanderfügung aller DATEI(en) sortiert auf die Standardausgabe " "schreiben.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Sortieroptionen:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks führende Leerzeichen ignorieren\n" " -d, --dictionary-order nur Leer†und alphanumerische Zeichen " "beachten\n" " -f, --ignore-case Klein†als Großbuchstaben behandeln\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort anhand des allgemeinen numerischen Wertes\n" " sortieren\n" " -i, --ignore-nonprinting nur druckbare Zeichen beachten\n" " -M, --month-sort Reihenfolge: (unbekannt) < „JAN“ < ... < " "„DEZ“\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort vergleiche menschenlesbare Zahlen (z.B., 2K " "1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort anhand des numerischen Werts sortieren\n" " -R, --random-sort anhand eines zufälligen Hash der Schlüssel " "sortieren\n" " --random-source=DATEI zufällige Bytes aus DATEI nehmen\n" " -r, --reverse das Ergebnis der Sortierung umkehren\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=WORT nach Kriterium WORT sortieren:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natürliche Ordnung von Versionsnummern " "innerhalb\n" " des Textes\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Andere Optionen:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE höchstens NMERGE Eingaben gleichzeitig\n" " zusammenführen; für mehr benutzen Sie temporäre\n" " Dateien\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first prüfen, ob Eingabe sortiert ist;\n" " nicht sortieren\n" " -C, --check=quiet, --check=silent wie -c, aber erste schlechte\n" " Zeile nicht melden\n" " --compress-program=PROG temporäre Dateien mit PROG komprimieren;\n" " mit PROG -d wieder entpacken\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug Den Teil der Zeile kennzeichnen, der zur\n" " Sortierung verwendet wurde und auf\n" " Standardfehlerausgabe vor fragwürdiger\n" " Verwendung warnen\n" " --files0-from=DATEI Eingabe aus Dateien lesen, deren Namen\n" " NULL-terminiert in DATEI aufgeführt sind;\n" " ist D „-“, so wird die Standardeingabe gelesen\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=POS1[,POS2] Schlüssel geht von POS1 (beginnend mit 1) bis " "POS2\n" " (Voreinst.: Zeilenende)\n" " -m, --merge schon sortierte Dateien zusammenführen; nicht\n" " sortieren\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=DATEI Ergebnis in DATEI schreiben statt " "Standardausgabe\n" " -s, --stable Sortierung stabilisieren (dabei " "Rückzugssortierung\n" " deaktivieren)\n" " -S, --buffer-size=GRÖßE GRÖßE für Hauptspeicherpuffer benutzen\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP SEP benutzen statt Übergang von Nichtleerraum " "zu\n" " Leerraum\n" " -T, --temporary-directory=VERZ für temporäre Dateien VERZ statt $TMPDIR\n" " oder %s; kann mehrfach gegeben werden\n" " --parallel=N ändere die Anzahl parallel laufender " "Sortierungen\n" " auf N\n" " -u, --unique mit -c: auf strikte Ordnung prüfen; ohne -c: " "nur\n" " das erste von mehreren Gleichen ausgeben\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated Zeilen mit Nullbyte beenden, nicht mit\n" " Zeilenvorschub\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "POS ist F[.Z][OPTS][,F[.C][OPTS]], wobei F eine Feldnummer und Z eine " "Zeichen-\n" "position im Feld ist; beide starten bei 1. Wenn weder -t noch -b angegeben \n" "sind, werden die Zeichen in einem Feld ausgehend vom Anfang des " "vorhergehenden\n" "Leerraums gezählt. OPTS setzt sich zusammen aus einer oder mehreren " "Ordnungs-\n" "optionen mit einem Buchstaben, die die globalen Ordnungsoptionen für diesen\n" "Schlüssel außer Kraft setzen. Wenn kein Schlüssel angegeben wurde, wird die\n" "ganze Zeile als Schlüssel benutzt.\n" "\n" "GRÖẞE kann eine der folgenden multiplikativen Endungen folgen:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% des Speichers, b 1, k 1024 (Vorgabe), und so weiter für M, G, T, P, E, " "Z,\n" "Y.\n" "\n" "Ohne DATEI, oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" "\n" "*** WARNUNG ***\n" "Die eingestellte Locale beeinflusst die Sortierreihenfolge.\n" "Setzen Sie LC_ALL=C, um die traditionelle Sortierreihenfolge zu aktivieren, " "bei\n" "der native Bytewerte verwendet werden.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "Warte auf %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] beendete sich auf ungute Weise" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "temporäre Datei konnte nicht in %s angelegt werden" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "Öffnen fehlgeschlagen" #: src/sort.c:970 msgid "fflush failed" msgstr "fflush fehlgeschlagen" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "Schließen fehlgeschlagen" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 fehlgeschlagen" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "konnte %s nicht ausführen" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "konnte temporäre Datei nicht anlegen" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "konnte keinen Prozess für %s -d anlegen" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "konnte %s -d nicht ausführen" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "Warnung: %s kann nicht entfernt werden" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "ungültiges Argument %2$s für Option --%1$s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "kleinstes Argument für Option --%s ist %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "Argument %2$s für Option --%1$s zu groß" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "größtes Argument für Option --%s ist mit momentanem „rlimit“ %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "parallele Anzahl darf nicht Null sein" #: src/sort.c:1494 msgid "stat failed" msgstr "stat fehlgeschlagen" #: src/sort.c:1755 msgid "read failed" msgstr "Lesen fehlgeschlagen" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "Zeichenkettentransformation fehlgeschlagen" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "die untransformierte Zeichenkette war %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ passt nicht zu Schlüssel\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" "überflüssiger Schlüssel „%s“ wird verwendet; verwenden Sie statt dessen\n" "besser „%s“" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "Schlüssel %lu hat eine Breite von Null und wird daher ignoriert" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "führende Leerzeichen sind signifikant in Schlüssel %lu: Sie sollten daher\n" "wahrscheinlich auch „b“ angeben" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "Schlüssel %lu ist numerisch und überspannt mehrere Felder" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "Option „-%s“ wird ignoriert" msgstr[1] "Optionen „-%s“ werden ignoriert" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "Option „-r“ gilt nur für Notlösungsvergleiche" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "Schreiben fehlgeschlagen" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: ungeordnet: " #: src/sort.c:2786 msgid "standard error" msgstr "Standardfehler" #: src/sort.c:3698 msgid "cannot read" msgstr "Lesen unmöglich" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: ungültige Feldangabe %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "Optionen „-%s“ sind inkompatibel" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: ungültige Zähler am Anfang von %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "ungültige Zahl hinter „-“" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "ungültige Zahl hinter „.“" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "verirrte Buchstaben in Feldspezifikation" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "mehrere Komprimierungsprogramme angegeben" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "ungültige Zahl am Feldanfang" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "Feldnummer ist Null" #: src/sort.c:4392 msgid "character offset is zero" msgstr "Zeichenversatz ist Null" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "ungültige Zahl hinter „,“" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "leerer Tabulator" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "Kann Dateinamen nicht aus %s lesen." #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: ungültiger Dateiname der Länge 0" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "keine Eingabe aus %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "es werden die Sortierregeln für %s verwendet" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "es wird ein einfacher Bytevergleich verwendet" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "zusätzlicher Operand %s nicht erlaubt mit -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "die Endungslänge muss mindestens %zu betragen" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Aufruf: %s [OPTION]... [EINGABE [PRÄFIX]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Stücke fester Größe der EINGABE auf PRÄFIXaa, PRÄFIXab, ... ausgeben; " "Vorgabe\n" "für die Größe ist 1000 Zeilen und für PRÄFIX „x“. Wenn keine EINGABE " "angegeben\n" "wurde oder die EINGABE „-“ ist, wird von der Standardeingabe gelesen.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N Endungen mit Länge N verwenden (Vorgabe %d)\n" " -b, --bytes=GRÖẞE GRÖẞE Bytes in die Ausgabedatei ausgeben\n" " -C, --line-bytes=GRÖẞE höchstens GRÖẞE Bytes pro Zeile auf die Ausgabe\n" " schreiben\n" " -d, --numeric-suffixes[=START] numerische Endungen statt alphabetischer\n" " benutzen\n" " START ändert den Startwert (Vorgabe 0).\n" " -e, --elide-empty-files bei „-n“ keine leeren Ausgabezeilen erzeugen\n" " --filter=BEFEHL schreibe an Shell-BEFEHL; Dateiname ist $FILE\n" " -l, --lines=ANZAHL ANZAHL Zeilen in die Ausgabedatei ausgeben\n" " -n, --number=ABSCHNITTE erzeuge ABSCHNITTE Zahl von Ausgabedateien.\n" " -u, --unbuffered kopiere die Eingabe direkt mit „-n r/...“ zur\n" " Ausgabe\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose Meldung ausgeben, bevor\n" " jede Ausgabedatei geöffnet wird\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "ABSCHITTE können sein:\n" "N in N Dateien aufspalten basierend auf Größe der Eingabe\n" "K/N Kten Teil von N auf Standardausgabe ausgeben\n" "l/N in N Dateien aufteilen ohne Teilung von Zeilen\n" "l/K/N Kten Teil von N auf Standardausgabe ohne Zeilentrennung ausgeben\n" "r/N wie `l' aber eine Rundlauf-Verteilung wird verwendet\n" "r/K/N ebenso, aber nur der Kte Teil von N wird ausgegeben\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "keine Endungen für Ausgabedateien mehr verfügbar" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "Datei %s wird angelegt\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s würde die Eingabe überschreiben; Abbruch" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "die Umgebungsvariable FILE konnte nicht gesetzt werden" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "Ausführung mit DATEI=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "Die Pipe konnte nicht erzeugt werden" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "die vorherige Pipe wird geschlossen" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "Die Ausgabepipe wird geschlossen" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "die Eingabepipe wird verschoben" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "die Eingabepipe wird geschlossen" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "der Befehl „%s -c %s†konnte nicht ausgeführt werden" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "die Eingabepipe konnte nicht geschlossen werden" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "es wird auf den Kindprozess gewartet" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "mit FILE=%s, Signal %s von Befehl: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "mit FILE=%s, Ende mit %d in Befehl: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "unbekannter Status von Befehl (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "Es ist nicht möglich, auf mehr als eine Art zu splitten" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: ungültige Anzahl von Abschnitten" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: ungültige Abschnittsnummer" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: ungültige Endungslänge" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: ungültige Anzahl von Bytes" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: ungültige Anzahl von Zeilen" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "Zeilenanzahloption -%s%c... ist zu groß" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: ungültiger Startwert für eine numerische Endung" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: ungültige E/A Blockgröße" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" "--filter verarbeitet keine Abschnitte, die auf der Standardausgabe " "ausgegeben\n" "werden" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "der Startwert für die numerische Endung ist für die Endungslänge zu groß" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: die Dateigröße kann nicht ermittelt werden" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "%s konnte nicht in kanonische Form gebracht werden" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "Warnung: unbekannte Fluchtâ€Sequenz „\\%c“" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: ungültige Anweisung" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "Warnung: ungültiger Rückschrägstrich (\\) am Ende der Zeichenkette" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "die Verwendung von %s um die Standardeingabe zu verwenden funktioniert\n" "nicht im Dateisystem-Modus" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "die Dateisysteminformation für %s kann nicht gelesen werden" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "der Status der Standardeingabe kann nicht abgefragt werden" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Datei: \"%n\"\n" " ID: %-8i Namenslänge: %-7l Typ: %T\n" "Blockgröße: %-10s Fundamentale Blockgröße: %S\n" "Blöcke: Gesamt: %-10b Frei: %-10f Verfügbar: %a\n" "Inodes: Gesamt: %-10c Frei: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Datei: %N\n" " Größe: %-10s\tBlöcke: %-10b EA Block: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Gerät: %Dh/%dd\tInode: %-10i Verknüpfungen: %-5h Gerätetyp: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Gerät: %Dh/%dd\tInode: %-10i Verknüpfungen: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Zugriff: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontext: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Zugriff : %x\n" "Modifiziert: %y\n" "Geändert : %z\n" " Geburt : %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Status einer Datei oder eines Dateisystems anzeigen.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference Verknüpfungen folgen\n" " -f, --file-system Dateisystemstatus anstelle von Dateistatus anzeigen\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT das angegebene FORMAT anstelle der Voreinstellung\n" " benutzen; Zeilenvorschub nach jeder Benutzung\n" " --printf=FORMAT wie --format, aber Rückschrägstrichâ€Steuerzeichen " "auswerten,\n" " kein obligatorischer Zeilenvorschub; letzterer " "kann\n" " mittels \\n in FORMAT eingefügt werden\n" " -t, --terse die Information in knapper Form ausgeben\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Die gültigen Formatangaben für Dateien (ohne --file-system):\n" "\n" " %a Zugriffsrechte im Oktalformat\n" " %A Zugriffsrechte in menschenlesbarer Form\n" " %b Anzahl der beanspruchten Blöcke (siehe %B)\n" " %B die Größe in Bytes jedes mit „%b“ gemeldeten Blocks\n" " %C SELinux-Sicherheitskontext-Zeichenkette\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Gerätenummer in Dezimal\n" " %D Gerätenummer in Hex\n" " %f roher Modus in Hex\n" " %F Dateityp\n" " %g Gruppenâ€ID des Eigners\n" " %G Gruppenname des Eigners\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Anzahl harter Verknüpfungen\n" " %i Inodeâ€Nummer\n" " %m Ort des Einhängens\n" " %n Dateiname\n" " %N „Quoted File Name“ mit Dereferenzierung bei symbolischer Verknüpfung\n" " %o E/Aâ€Blockgröße\n" " %s Gesamtgröße in Bytes\n" " %t Majorâ€Gerätetyp in Hex\n" " %T Minorâ€Gerätetyp in Hex\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u Nutzerâ€ID des Eigners\n" " %U Nutzername des Eigners\n" " %w Entstehungszeit der Datei, menschenlesbar; - wenn unbekannt\n" " %W Entstehungszeit der Datei, Sekunden seit Epoche; 0 wenn unbekannt\n" " %x Zeit des letzten Zugriffs\n" " %X Zeit des letzten Zugriffs in Sekunden seit der Epoche\n" " %y Zeit der letzten Modifikation\n" " %Y Zeit der letzten Modifikation in Sekunden seit der Epoche\n" " %z Zeit der letzten Änderung\n" " %Z Zeit der letzten Änderung in Sekunden seit der Epoche\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Die gültigen Formatangaben für Dateisysteme:\n" "\n" " %a Freie Blöcke, die Nichtâ€Superusern zur Verfügung stehen\n" " %b Gesamtâ€Datenblöcke im Dateisystem\n" " %c Gesamtâ€Dateiknoten im Dateisystem\n" " %d Freie Dateiknoten im Dateisystem\n" " %f Freie Blöcke im Dateisystem\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Dateisystemâ€ID in Hex\n" " %l Maximale Länge von Dateinamen\n" " %n Dateiname\n" " %s Optimale Transferâ€Blockgröße\n" " %S grundlegende Blockgröße (für Blockzahlen)\n" " %t Typ in Hex\n" " %T Typ in menschenlesbarer Form\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Aufruf: %s [OPTION]... BEFEHL\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Führe BEFEHL mit geänderter Pufferung für seine standard Ein/Ausgabeströme\n" "aus.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODUS ändert die Pufferung der Standardeingabe\n" " -o, --output=MODUS ändert die Pufferung der Standardausgabe\n" " -e, --error=MODUS ändert die Pufferung der Standardfehlerausgabe\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Wenn der MODUS „L“ ist, wird der zugehörige Strom zeilenweise gepuffert.\n" "Diese Option ist ungültig für die Standardeingabe.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Wenn der MODUS „0“ ist, wird der zugehörige Strom nicht gepuffert.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Ansonsten ist GRÖßE ist eine Zahl, der eine der folgenden Abkürzungen " "folgt:\n" "KB 1000, K 1024, MB 1000×1000, M 1024×1024 und so weiter für G, T, P, E, Z, " "Y.\n" "In diesem Fall wird der zugehörige Strom voll gepuffert mit einem Puffer " "von\n" "GRÖßE Bytes.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "HINWEIS: wenn BEFEHL das Puffern der standard Ein-/Ausgabeströme ändert " "(„tee“ tut \n" "dies z.B.), dann hat dies Vorrang vor den durch stdbuf geänderten " "Einstellungen.\n" "Außerdem verwenden einige Filter (wie z.B. „dd“ und „cat“) keine Ströme für " "E/A\n" "und werden daher durch „stdbuf“ nicht beeinflusst.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "%s konnte nicht gefunden werden" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "die Umgebung konnte nicht mit %s aktualisiert werden" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "die zeilenweise Pufferung von Stdin hat keinen Sinn" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Aufruf: %s [-F GERÄT | --file=GERÄT] [EINSTELLUNGEN]...\n" " oder: %s [-F GERÄT | --file=GERÄT] [-a|--all]\n" " oder: %s [-F GERÄT | --file=GERÄT] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Eigenschaften eines Terminals ausgeben oder ändern.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all alle Einstellungen in lesbarer Form ausgeben\n" " -g, --save alle Einstellungen lesbar für stty ausgeben\n" " -F, --file=GERÄT das angegebene GERÄT anstelle der Standardeingabe " "öffnen\n" " und benutzen\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Ein optionales „-“ vor EINSTELLUNGEN bedeutet Verneinung. Ein „*“ markiert\n" "nicht POSIXâ€konforme Einstellungen. Das Wirtssystem bestimmt, welche\n" "Einstellungen zur Verfügung stehen.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Besondere Zeichen:\n" "* dsusp CHAR CHAR sendet ein Terminalstoppsignal, wenn Eingabe " "erforderlich\n" " eof CHAR CHAR sendet Endeâ€derâ€Datei (Eingabe beenden)\n" " eol CHAR CHAR beendet Zeile\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" "* eol2 CHAR alternatives CHAR für Zeilenende\n" " erase CHAR CHAR löscht das zuletzt eingegebene Zeichen\n" " intr CHAR CHAR sendet Unterbrechungssignal (Interrupt)\n" " kill CHAR CHAR löscht aktuelle Zeile\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" "* lnext CHAR CHAR nimmt das nächste Zeichen uninterpretiert auf\n" " quit CHAR CHAR sendet ein Quitâ€Signal\n" "* rprnt CHAR CHAR gibt die aktuelle Zeile neu aus\n" " start CHAR CHAR startet die Ausgabe erneut nach einem Stopp\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CHAR CHAR stoppt die Ausgabe\n" " susp CHAR CHAR sendet ein Terminalstoppsignal\n" "* swtch CHAR CHAR wechselt zu einer anderen Shellâ€Ebene\n" "* werase CHAR CHAR löscht das zuletzt eingegebene Wort\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Spezielle Einstellungen:\n" " N Eingabe†und Ausgabegeschwindigkeit auf N Baud setzen\n" "* cols N an den Kernel melden, dass dieses Terminal N Spalten hat\n" "* columns N dasselbe wie cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N Eingabegeschwindigkeit auf N setzen\n" "* line N \"line discipline\" N benutzen\n" " min N mit -icanon, N Zeichen Minimum für ein vollständiges Lesen " "setzen\n" " ospeed N Ausgabegeschwindigkeit auf N setzen\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" "* rows N an den Kernel melden, dass dieses Terminal N Zeilen hat\n" "* size die Anzahl Zeilen und Spalten ausgeben\n" " speed die Terminalâ€Geschwindigkeit ausgeben\n" " time N mit -icanon, die Lesewartezeit auf N Zehntelsekunden setzen\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Einstellungen für die Flusskontrolle:\n" " [-]clocal Modemkontrollsignale ignorieren\n" " [-]cread Empfang von Eingaben erlauben\n" "* [-]crtscts RTS/CTSâ€Handshaking erlauben\n" " * [-]cdtrdsr DTR/DSR-Handshaking erlauben\n" " csN Zeichengröße auf N Bits setzen, N in [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb zwei Stoppâ€Bits pro Zeichen benutzen (eins mit „-“)\n" " [-]hup ein Hangupâ€Signal senden, wenn der letzte Prozess das " "Terminal\n" " schließt\n" " [-]hupcl dasselbe wie [-]hup\n" " [-]parenb Paritätsbit in der Ausgabe erzeugen und Paritätsbit in der\n" " Eingabe erwarten\n" " [-]parodd ungerade Parität setzen (oder gerade Parität „-“)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Einstellungen für die Eingabe:\n" " [-]brkint ein Break verursacht ein Unterbrechungssignal\n" " [-]icrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln\n" " [-]ignbrk Breaks ignorieren\n" " [-]igncr Wagenrücklauf ignorieren\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar Parityâ€Fehler ignorieren\n" "* [-]imaxbel piepen und vollen Eingabepuffer leeren;\n" " nicht bei Eingabe eines Zeichens\n" " [-]inlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln\n" " [-]inpck Eingabeprüfung der Parity erlauben\n" " [-]istrip höchstes Bit (das 8.) der Eingabezeichen löschen\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "* [-]iutf8 Eingabezeichen als UTF-8 annehmen\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" "* [-]iuclc Groß- in Kleinbuchstaben wandeln\n" "* [-]ixany jedes Zeichen startet Ausgabe neu, nicht nur das " "Startzeichen\n" " [-]ixoff das Senden von Startâ€/Stoppzeichen erlauben\n" " [-]ixon XON/XOFFâ€Flusskontrolle erlauben\n" " [-]parmrk Parityâ€Fehler markieren (mit einer 255â€0â€Zeichenfolge)\n" " [-]tandem dasselbe wie [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Einstellungen für die Ausgabe:\n" "* bsN Verzögerungsstil für Backspace, N in [0..1]\n" "* crN Verzögerungsstil für Wagenrücklauf (CR), N in [0..3]\n" "* ffN Verzögerungsstil für Seitenvorschub, N in [0..1]\n" "* nlN Verzögerungsstil für Zeilenvorschub, N in [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "* [-]ocrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln\n" "* [-]ofdel Löschzeichen zum Auffüllen anstelle von Nullzeichen " "benutzen\n" "* [-]ofill Füllzeichen anstelle von Zeitverzögerungen benutzen\n" "* [-]olcuc Klein†in Großbuchstaben wandeln\n" "* [-]onlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln\n" "* [-]onlret Zeilenvorschub bedingt Wagenrücklauf (CR)\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" "* [-]onocr kein Wagenrücklauf (CR) in der ersten Spalte\n" " [-]opost Ausgabe nachbehandeln\n" "* tabN horizontale Tabulatorverzögerung, N in [0..3]\n" "* tabs dasselbe wie tab0\n" "* -tabs dasselbe wie tab3\n" "* vtN vertikale Tabulatorverzögerung, N in [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokale Einstellungen:\n" " [-]crterase Löschzeichen als Backspaceâ€Leerzeichenâ€Backspace ausgeben\n" "* crtkill Zeile mit echoprt†und echoeâ€Einstellungen löschen\n" "* -crtkill Zeile mit echoctl†und echokâ€Einstellungen löschen\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" "* [-]ctlecho Sonderzeichen in Hutnotation ausgeben („^c“)\n" " [-]echo Eingabezeichen ausgeben\n" "* [-]echoctl dasselbe wie [-]ctlecho\n" " [-]echoe dasselbe wie [-]crterase\n" " [-]echok Zeilenvorschub nach Killzeichen ausgeben\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" "* [-]echoke dasselbe wie [-]crtkill\n" " [-]echonl Zeilenvorschub ausgeben, auch wenn keine Zeichen ausgegeben\n" " werden\n" "* [-]echoprt gelöschte Zeichen rückwärts ausgeben, zwischen „\\“ und „/“\n" " [-]icanon eraseâ€, killâ€, werase†und rprntâ€Sonderzeichen erlauben\n" " [-]iexten Sonderzeichen erlauben, die nicht POSIXâ€konform sind\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig interruptâ€, quit†und suspendâ€Sonderzeichen erlauben\n" " [-]noflsh Ausgabeentleerung nach interrupt†und quitâ€Sonderzeichen\n" " verhindern\n" "* [-]prterase dasselbe wie [-]echoprt\n" "* [-]tostop Hintergrundjobs stoppen, die auf das Terminal schreiben\n" "* [-]xcase mit icanon, Großbuchstaben mit „\\“ maskieren\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinierte Einstellungen:\n" "* [-]LCASE dasselbe wie [-]lcase\n" " cbreak dasselbe wie -icanon\n" " -cbreak dasselbe wie icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked dasselbe wie brkint ignpar istrip icrnl ixon opost isig\n" " icanon, und eof†und eolâ€Zeichen mit den Vorgabewerten\n" " -cooked dasselbe wie raw\n" " crt dasselbe wie echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec dasselbe wie echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" "* [-]decctlq dasselbe wie [-]ixany\n" " ek Erase†und Killzeichen auf Vorgabewert setzen\n" " evenp dasselbe wie parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp dasselbe wie -parenb cs8\n" "* [-]lcase dasselbe wie xcase iuclc olcuc\n" " litout dasselbe wie -parenb -istrip -opost cs8\n" " -litout dasselbe wie parenb istrip opost cs7\n" " nl dasselbe wie -icrnl -onlcr\n" " -nl dasselbe wie icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp dasselbe wie parenb parodd cs7\n" " -oddp dasselbe wie -parenb cs8\n" " [-]parity dasselbe wie [-]evenp\n" " pass8 dasselbe wie -parenb -istrip cs8\n" " -pass8 dasselbe wie parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw dasselbe wie -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw dasselbe wie cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane dasselbe wie cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke,\n" " alle Sonderzeichen auf ihren Vorgabewert\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Die TTYâ€Leitung manipulieren, die mit der Standardeingabe verbunden ist. " "Ohne\n" "Argumente, die Baudâ€Rate, Lineâ€Disziplin und Abweichungen von „stty sane“\n" "ausgeben. In den Einstellungen wird CHAR wörtlich genommen oder kodiert wie " "in\n" "^c, 0x37, 0177 oder 127; spezielle Werte ^- oder undef werden benutzt, um\n" "Sonderzeichen zu unterbinden.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "nur ein Gerät darf angegeben werden" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "Die Optionen für ausführliche und sttyâ€lesbare Ausgabe\n" "können nicht gleichzeitig benutzt werden" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "Wenn ein Ausgabestil angegeben ist, kann kein Modus gesetzt werden" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: Zurücksetzen auf nicht-blockierenden Modus ist nicht möglich" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "ungültiges Argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "fehlendes Argument für %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "ungültige Lineâ€Disziplin %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: es ist nicht möglich, alle angeforderten Operationen durchzuführen" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: Keine Information zur Größe dieses Gerätes" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "ungültiges Ganzzahlargument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Prüfsumme und Blockanzahl für jede DATEI ausgeben.\n" "\n" " -r BSDâ€Summenalgorithmus benutzen, 1K Blöcke verwenden\n" " -s, --sysv Systemâ€Vâ€Summenalgorithmus benutzen, 512â€Byteâ€Blöcke\n" " verwenden\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Das Schreiben geänderter Blöcke auf die Platte erzwingen,\n" "den Superâ€Block aktualisieren.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignoriere alle Argumente" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "BEMERKUNG: Ihre Shell hat möglicherweise eine eigene Version von %s,\n" "welche normalerweise die hier beschriebene Version ersetzt. Bitte greifen " "Sie\n" "auf die Dokumentation der Shell zurück, um die dort unterstützten Optionen\n" "in Erfahrung zu bringen.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help diese Hilfe anzeigen und beenden\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version Versionsinformation anzeigen und beenden\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Erforderliche Argumente für lange Optionen sind auch für kurze " "erforderlich.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "GRÖẞE ist eine Ganzzahl und eine optionale Einheit (Beispiel: 10M sind\n" "10*1024*1024). Einheiten sind K, M, G, T, P, E, Z, Y (Potenzen von 1024) " "oder\n" "KB, MB, ... (Potenzen von 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Werte werden in der ersten verfügbaren GRÖßE von --block-size und der\n" "Umgebungsvariablen %s_BLOCK_SIZE, BLOCK_SIZE und BLOCKSIZE ausgegeben.\n" "Andernfalls ist die Vorgabe Einheiten von 1024 Bytes \t(oder 512 wenn\n" "POSIXLY_CORRECT gesetzt wurde).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Melden Sie Programmfehler für %s (auf Englisch, mit LC_ALL=C) an %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Melden Sie Übersetzungsfehler für %s an <translation-team-de@lists." "sourceforge.net>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Für die vollständige Dokumentation starten Sie:\n" "info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "„%s --help“ liefert weitere Informationen.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "WARNUNG: Zirkuläre Verzeichnisstruktur.\n" "Diese bedeutet beinahe mit Sicherheit ein beschädigtes Dateisystem.\n" "BENACHRICHTIGEN SIE IHREN SYSTEMVERWALTER.\n" "Das folgende Verzeichnis ist Teil des Zyklus:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Jede DATEI nach Standardausgabe schreiben, die letzte Zeile zuerst.\n" "Wurde keine DATEI angegeben oder ist DATEI „-“, Standardeingabe lesen.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before Trennzeichen vorher statt hinterher einfügen\n" " -r, --regex das Trennzeichen als regulären Ausdruck\n" " interpretieren\n" " -s, --separator=ZKETTE ZKETTE als Trennzeichen statt Zeilenumbruch " "benutzen\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: Seek fehlgeschlagen" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "Datensatz zu groß" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "die temporäre Datei konnte in %s nicht angelegt werden" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "%s konnte nicht zum Schreiben geöffnet werden" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "Der Strom für %s konnte nicht zurückgesetzt werden" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: Schreibfehler" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "%s konnte nicht zum Lesen geöffnet werden" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "Trennzeichen darf nicht leer sein" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Die letzten %d Zeilen jeder DATEI auf Standardausgabe ausgeben. Wurden\n" "mehrere DATEIen angegeben, wird für jede zunächst der Dateinamen ausgeben.\n" "Ohne DATEI, oder wenn DATEI „-“ ist wird von der Standardeingabe gelesen.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K die letzten K Bytes ausgeben; oder -c +K " "benutzen,\n" " um Bytes ab dem Kten jeder Datei auszugeben\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " angefügte Daten ausgeben, während die Datei " "wächst;\n" " „-f“, „--follow“ und „--follow=descriptor“ " "sind\n" " äquivalent\n" " -F gleichbedeutend mit „--follow=name --retry“\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K die letzten K Zeilen ausgeben, statt der letzen " "%d;\n" " oder -n +K um Zeilen ab der Nten auszugeben\n" " --max-unchanged-stats=N\n" " mit --follow=name die DATEI erneut öffnen, wenn " "sie\n" " nach N Iterationen (Vorgabe: %d) unverändert " "ist,\n" " um zu sehen, ob sie gelöscht oder umbenannt " "wurde\n" " (das ist normalerweise der Fall bei rotierten\n" " Logdateien)\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID mit -f: Programm beenden, wenn PID beendet wird\n" " -q, --quiet, --silent nie Kopfzeilen mit Dateinamen ausgeben\n" " --retry weiterhin versuchen, eine Datei zu öffnen, auch " "wenn\n" " sie beim Start nicht verfügbar ist oder später\n" " nicht mehr verfügbar wird; nützlich, wenn mit " "Namen\n" " verfolgt wird, also mit --follow=Name\n" # #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N mit -f: zwischen Versuchen etwa N Sekunden\n" " (Voreinstellung: 1) schlafen legen\n" " Bei Inotify und --pid=P, wird Prozess P\n" " mindestens alle N Sekunden geprüft.\n" " -v, --verbose immer Kopfzeilen mit Dateinamen ausgeben\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Wenn das erste Zeichen von K (der Anzahl der Bytes oder Zeilen) ein „+“ " "ist,\n" "die Ausgabe mit dem Kten Byte bzw. der Kten Zeile vom Anfang jeder Datei\n" "beginnen, anderenfalls die letzten K Bytes bzw. Zeilen ausgeben.\n" "N kann folgende multiplikative Endungen haben:\n" "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Mit --follow (-f) verfolgt tail den Dateiâ€Deskriptor. Dies bedeutet, dass " "auch\n" "im Falle einer Umbenennung der Datei tail deren Ende verfolgen wird.\n" "Dieses Verhalten ist nicht erwünscht, wenn man wirklich den derzeitigen " "Namen\n" "der Datei verfolgen will und nicht den Dateiâ€Deskriptor (z. B. bei Rotation " "der\n" "Protokollâ€Dateien, Logs). Benutzen Sie in diesem Fall --follow=name. Dies\n" "bewirkt, dass tail die Datei immer wieder schließt und öffnet, um zu sehen, " "ob\n" "die Datei gelöscht und von einem anderen Programm neu angelegt wurde.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s wird geschlossen (df=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: es ist nicht möglich, zum relativen Offset %s zu springen" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" "%s: es ist nicht möglich, vom Ende her zum relativen Offset %s zu springen" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" "der Ort von %s kann nicht bestimmt werden. Es wird auf Pollen zurückgefallen" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "unbekannter Typ von Dateisystem 0x%08lx für %s. bitte berichten Sie dies " "(in\n" "Englisch) an %s. Es wird auf Pollen zurückgefallen" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "auf %s kann nicht mehr zugegriffen werden" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "%s wurde ersetzt durch eine ungeeignete Datei; kein weiterer Versuch" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s wurde ersetzt durch eine entfernt liegenden Datei; kein weiterer Versuch" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "auf „%s“ kann jetzt zugegriffen werden" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s ist aufgetaucht; folge Ende der neuen Datei" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s wurde ersetzt; folge Ende der neuen Datei" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: Ändern desf nichtâ€blockierenden Modus ist nicht möglich" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: Datei abgeschnitten" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "Keine Dateien mehr übrig" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "das Elternverzeichnis von %s kann nicht beobachtet werden" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "die Inotify-Resourcen sind erschöpft" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s nicht beobachtet werden" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "Fehler beim Überwachen der Inotify-Events" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "Fehler beim Lesen des Inotify-Events" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: es ist nicht möglich, bis zum Ende dieses Dateityps vorgehen;\n" " kein weiterer Versuch für diesen Namen" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "Zahl in %s ist zu groß" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: ungültige maximale Anzahl von ungeänderten „stats“ zwischen Öffnungen" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: ungültige PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ungültige Anzahl von Sekunden" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "Option in ungültigen Kontext benutzt – %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "Warnung: --retry ist hauptsächlich sinnvoll, wenn dieser Option ein Name " "folgt" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "Warnung: PID ignoriert; --pid=PID ist nur sinnvoll, wenn es folgt" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "Warnung: --pid=PID wird auf diesem System nicht unterstützt" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "%s nicht nach Namen verfolgt werden" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "Warnung: die Standardausgabe stetig zu verfolgen ist nicht wirksam" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" "Inotify kann nicht verwendet werden, es wird auf Pollen zurückgegriffen" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Die Standardeingabe in jede angegebene DATEI und auf die Standardausgabe\n" "kopieren.\n" "\n" " -a, --append an existierende DATEIen anhängen, nichts\n" " überschreiben\n" " -i, --ignore-interrupts Unterbrechungssignale (Interrupts) ignorieren\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Wenn DATEI „-“ ist, wieder in Standardausgabe kopieren.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "fehlendes Argument hinter „%s“" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "ungültige Zahl %s" #: src/test.c:241 msgid "')' expected" msgstr "„)“ erwartet" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "„)“ erwartet, %s gefunden" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: Operator mit einem Argument erwartet" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt erlaubt kein -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef erlaubt kein -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot erlaubt kein -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "unbekannter binärer Operator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: binärer Operator erwartet" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Aufruf: test AUSDRUCK\n" " oder: test\n" " oder: [ AUSDRUCK ]\n" " oder: [ ]\n" " oder: [ OPTION\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Programm mit Status gemäß AUSDRUCK beenden.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Ein weggelassener AUSDRUCK ergibt falsch. Ansonsten ist\n" "AUSDRUCK wahr oder falsch und setzt den Exitâ€Status. Er kann sein:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( AUSDRUCK ) AUSDRUCK ist wahr\n" " ! AUSDRUCK AUSDRUCK ist falsch\n" " AUSDRUCK1 -a AUSDRUCK2 sowohl AUSDRUCK1 als auch AUSDRUCK2 ist wahr\n" " AUSDRUCK1 -o AUSDRUCK2 AUSDRUCK1 oder AUSDRUCK2 ist wahr\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n ZKETTE die Länge von ZKETTE ist ungleich Null\n" " ZKETTE äquivalent zu -n ZKETTE\n" " -z ZKETTE die Länge von ZKETTE ist Null\n" " ZKETTE1 = ZKETTE2 die ZKETTEn sind gleich\n" " ZKETTE1 != ZKETTE2 die ZKETTEn sind nicht gleich\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " GANZZAHL1 -eq GANZZAHL2 GANZZAHL1 ist gleich GANZZAHL2\n" " GANZZAHL1 -ge GANZZAHL2 GANZZAHL1 ist größer als oder gleich GANZZAHL2\n" " GANZZAHL1 -gt GANZZAHL2 GANZZAHL1 ist größer als GANZZAHL2\n" " GANZZAHL1 -le GANZZAHL2 GANZZAHL1 ist kleiner als oder gleich GANZZAHL2\n" " GANZZAHL1 -lt GANZZAHL2 GANZZAHL1 ist kleiner als GANZZAHL2\n" " GANZZAHL1 -ne GANZZAHL2 GANZZAHL1 ist nicht gleich GANZZAHL2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " DATEI1 -ef DATEI2 DATEI1 und DATEI2 haben dieselbe Device†und Inodeâ€" "Nummer\n" " DATEI1 -nt DATEI2 DATEI1 ist neuer (Änderungsdatum) als DATEI2\n" " DATEI1 -ot DATEI2 DATEI1 ist älter als DATEI2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b DATEI DATEI existiert und ist ein „block special“\n" " -c DATEI DATEI existiert und ist ein „character special“\n" " -d DATEI DATEI existiert und ist ein Verzeichnis\n" " -e DATEI DATEI existiert\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f DATEI DATEI existiert und ist eine reguläre Datei\n" " -g DATEI DATEI existiert und ist setâ€groupâ€ID\n" " -G DATEI DATEI existiert wird von der effektiven Gruppenâ€ID besessen\n" " -h DATEI DATEI existiert und ist ein symbolischer Link (dasselbe wie -" "L)\n" " -k DATEI DATEI existiert und hat das Stickyâ€Bit gesetzt\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L DATEI DATEI existiert und ist ein symbolischer Link (wie -h)\n" " -O DATEI DATEI existiert und wird von der effektiver Benutzerâ€ID " "besessen\n" " -p DATEI DATEI existiert und ist Pipe mit Namen\n" " -r DATEI DATEI existiert und ist lesbar\n" " -s DATEI DATEI existiert und ist größer als Null\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S DATEI DATEI existiert und ist ein Socket\n" " -t FD DATEIâ€Deskriptor FD ist auf ein Terminal geöffnet\n" " -u DATEI DATEI existiert und das Setâ€Userâ€IDâ€Bit der DATEI ist " "gesetzt\n" " -w DATEI DATEI existiert und ist schreibbar\n" " -x DATEI DATEI existiert und ist ausführbar\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Außer -h und -L dereferenzieren alle DATEIâ€Tests symbolische Verknüpfungen.\n" "Bedenken Sie, dass runde Klammern für Shells maskiert werden müssen (z. B. " "mit\n" "einem Rückschrägstrich).\n" "GANZZAHL kann auch -l ZKETTE sein, was die Länge der ZKETTE ist.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "BEMERKUNG: [ beachtet die Optionen --help und --version, aber test tut es " "nicht.\n" "test behandelt diese beiden wie jede andere nichtleere Zeichenkette.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test und/oder [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "„]“ fehlt" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "zusätzliches Argument %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "Warnung: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "Warnung: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "Warnung: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Aufruf: %s [OPTION] ZEITSPANNE BEFEHL [ARGUMENT]...\n" " oder: %s [OPTION]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Starte BEFEHL und beende ihn zwangsweise, wenn er nach ZEITSPANNE noch " "läuft.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " mit dem gleichen Status wie BEFEHL enden, selbst\n" " wenn der Befehl in die Zeitsperre läuft\n" " --foreground\n" " Wenn timeout nicht direkt von der Eingabeaufforderung\n" " gestartet wurde, wird BEFEHL erlaubt, vom TTY zu lesen\n" " und Signale vom Terminal zu empfangen. In diesem Modus\n" " werden Kinder von BEFEHL keinen Timeout bekommen.\n" " -k, --kill-after=ZEITSPANNE\n" " sende außerdem das KILL-Signal, wenn BEFEHL so lange " "nach\n" " Senden des ursprünglichen Signals immer noch läuft\n" " -s, --signal=SIGNAL\n" " Ein Signal angeben, das zum Beenden gesendet werden " "soll.\n" " SIGNAL kann ein Name wie „HUP“ oder eine Zahl sein.\n" " „kill -l“ gibt eine Übersicht verfügbarer Signale.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "ZEITSPANNE ist eine ganze Zahl mit einem optionalen Anhang:\n" "„s“ für Sekunden für Sekunden (Voreinstellung), „m“ für Minuten, „h“ für\n" "Stunden oder „d“ für Tage.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Wenn ein Befehl von timeout beendet wird, so beendet sich timeout mit einem\n" "Rückgabewert von 124, sonst mit dem des ausgeführten Befehls. Ist kein " "Signal\n" "angegeben, wird bei Zeitablauf das Signal TERM gesendet. Das Signal TERM\n" "beendet Prozesse, die dieses Signal nicht abfangen. Für andere Prozesse\n" "muss eventuell KILL (9) benutzt werden, da dieses Signal nicht gefangen\n" "werden kann. Wenn das Signal Kill (9) gesendet wird, ist der Rückgabewert\n" "von timeout 128+9 statt 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "Warnung: das Verhindern von Coredumps scheiterte" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "Fehler beim Warten auf den Befehl" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "der beobachtete Befehl erzeugte einen Speicherauszug" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "Ungültiges Datumsformat %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "%s kann nicht berührt werden" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "Setzen der Zeiten für %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Die Zugriffs†und Modifikationszeiten jeder DATEI auf die\n" "momentane Zeit aktualisieren.\n" "\n" "Eine DATEI, die nicht existiert, wird leer angelegt, wenn nicht -c oder -h\n" "mit angegeben werden.\n" "\n" "Ist DATEI mit - angegeben, so ändert touch die Zeiten für die Datei,\n" "die mit der Standardausgabe verbunden ist.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a nur die Zugriffszeit ändern\n" " -c, --no-create keine Dateien erzeugen\n" " -d, --date=DATUM DATUM lesen und statt der momentanen Zeit " "verwenden\n" " -f (ignoriert)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference symbolische Verknüpfung statt einer referenzierten\n" " Datei ändern. (Nützlich auf Systemen, die für\n" " symb. Verknüpfungen die Zeitstempel ändern " "können.)\n" " -m nur Modifikationszeit ändern\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=DATEI Die Zeiten dieser Datei anstatt der momentanen " "Zeit\n" " verwenden.\n" " -t MARKE [[HH]JJ]MMTTSSmm[.ss] statt der momentanen Zeit\n" " verwenden.\n" " --time=WORT Die durch WORT angegebene Zeit setzen:\n" " access, atime oder use: wie bei -a\n" " WORT ist modify oder mtime: wie beiu -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Beachten Sie, dass -d und -t verschiedene Zeitâ€Datumâ€Formate akzeptieren.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "Angabe von mehr als einer Zeitquelle nicht möglich" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "Warnung: „touch %s“ ist überholt; benutzen Sie „touch -t %04ld%02d%02d%02d" "%02d.%02d“" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Aufruf: %s [OPTION]... MENGE1 [MENGE2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Zeichen von Standardeingabe wandeln, verdichten und/oder löschen; auf\n" "Standardausgabe schreiben.\n" "\n" " -c, -C, --complement erstes Komplement MENGE1\n" " -d, --delete Zeichen der MENGE1 löschen, nicht wandeln\n" " -s, --squeeze-repeats jede Eingabefolge eines wiederholten Zeichens, " "das\n" " in MENGE1 enthalten ist, durch ein einzelnes\n" " Vorkommens dieses Zeichens ersetzen\n" " -t, --truncate-set1 zuerst MENGE1 auf die Länge von MENGE2 " "abschneiden\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "MENGEn werden angegeben als Zeichenketten. Die meisten Zeichen stehen für " "sich\n" "selbst. Interpretierte Folgen sind:\n" "\n" " \\NNN Zeichen mit Oktalwert NNN (1 bis 3 oktale Ziffern)\n" " \\\\ Rückschrägstrich (\\)\n" " \\a hörbarer Ton (Piep)\n" " \\b Zeichen zurück\n" " \\f Seitenvorschub\n" " \\n Zeilenvorschub\n" " \\r Wagenrücklauf\n" " \\t horizontaler Tabulator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v vertikaler Tabulator\n" " ZEICH1-ZEICH2 alle Zeichen von ZEICH1 bis ZEICH2 aufsteigend\n" " [ZEICH*] in MENGE2, Kopien von ZEICH bis zur Länge von MENGE1\n" " [ZEICH*ANZ] ANZ Kopien von ZEICHEN, ANZ ist oktal, wenn es mit 0 " "beginnt\n" " [:alnum:] alle Buchstaben und Ziffern\n" " [:alpha:] alle Buchstaben\n" " [:blank:] alle horizontalen Leerzeichen/Tabulatoren\n" " [:cntrl:] alle Kontrollzeichen\n" " [:digit:] alle Ziffern\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] alle druckbaren Zeichen, ohne Leerzeichen\n" " [:lower:] alle Kleinbuchstaben\n" " [:print:] alle druckbaren Zeichen, einschl. Leerzeichen\n" " [:punct:] alle Satzzeichen\n" " [:space:] alle horizontalen oder vertikalen Leerzeichen/Tabulatoren\n" " [:upper:] alle Großbuchstaben\n" " [:xdigit:] alle hexadezimalen Ziffern\n" " [=ZEICHEN=] alle Zeichen äquivalent zu ZEICHEN\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Wandlung wird durchgeführt, wenn nicht -d spezifiziert ist und sowohl " "MENGE1\n" "als auch MENGE2 angegeben sind. -t darf nur bei Wandlung benutzt werden.\n" "MENGE2 wird, wenn nötig, durch Wiederholung des letzten Zeichens auf die " "Länge\n" "von MENGE1 vergrößert. Zusätzliche Zeichen in MENGE2 werden ignoriert. Nur\n" "[:lower:] und [:upper:] werden mit Sicherheit in aufsteigender Reihenfolge\n" "expandiert. In MENGE2 dürfen sie zum Wandeln nur in Paaren benutzt werden, " "um\n" "eine Groß-/Kleinschreibung anzuzeigen. -s benutzt MENGE1, wenn nicht\n" "umgewandelt oder gelöscht wird; anderenfalls wird MENGE2 zum Verdichten " "benutzt\n" "und erscheint nach Wandlung und Löschung.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "Warnung: die mehrdeutige Oktalâ€Escape \\%c%c%c wird als\n" "\t2â€Byteâ€Folge \\0%c%c, %c interpretiert" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "Warnung: Rückschrägstrich (\\) ohne Fluchtzeichen am Ende der Zeichenkette " "ist nicht portabel" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" "Die Endpunkte des Bereiches „%s-%s“ sind in umgekehrter Sortierreihenfolge" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "Ungültige Wiederholungsangabe %s in [c*n]-Konstrukt" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "Fehlender Zeichenklassename „[::]“" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "Fehlendes Äquivalenzklassenzeichen „[==]“" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "Ungültige Zeichenklasse %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: Äquivalenzklassenoperand muss ein einzelnes Zeichen sein" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "fehlerhaft positioniertes [:upper:]- und/oder [:lower:]-Konstrukt" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "zu viele Buchstaben in Menge" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "wenn bei der Übersetzung Zeichenkette1 länger als Zeichenkette2 ist\n" "darf letztere nicht in einer Zeichenklasse enden" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "Die [c*]-Wiederholungsangabe darf nicht in Kette1 erscheinen" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "Nur eine [c*] Wiederholungsangabe darf in Kette2 auftreten" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=] Ausdrücke dürfen beim Wandeln nicht in Kette2 auftauchen" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "Beim Wandeln dürfen in Kette2 nur die Zeichenklassen „upper“ und „lower“\n" "verwendet werden" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "Wenn Menge1 nicht abgeschnitten wird, darf Kette2 nicht leer sein" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "Beim Wandeln mit \"complemented character classes\" muss\n" "Kette2 alle Zeichen im Bereich auf eines abbilden" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "Das [c*] Konstrukt darf in Kette2 nur bei Wandlungen auftauchen" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Wenn sowohl gelöscht als auch verdichtet wird, müssen zwei Zeichenketten " "angegeben werden." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Beim Wandeln müssen zwei Zeichenketten angegeben werden." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Beim Löschen ohne Verdichten darf nur eine Zeichenkette angegeben werden." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [ignorierte Kommandozeilenargumente]\n" " oder: %s OPTION\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Mit einem Status beenden, der Erfolg signalisiert." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Mit einem Status beenden, der Misserfolg signalisiert." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Aufruf: %s OPTION... DATEI...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Die Größe jeder DATEI auf die angegebene Größe bringen (durch Beschneiden\n" "oder Auffüllen).\n" "\n" "Eine noch nicht existierende DATEI wird angelegt.\n" "\n" "Wenn eine DATEI größer als spezifiziert ist, geht die darüber hinaus " "gehenden\n" "Daten verloren. Ist sie kürzer, wird sie erweitert und der erweiterte Teil\n" "(Loch) wird als Nullbytes gelesen.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create keine Dateien erstellen\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks GRÖßE als Anzahl von EA Blöcken statt Bytes " "auffassen\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=DATEI die Größe dieser DATEI nehmen\n" " -s, --size=GRÖßE diese GRÖßE benutzen\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "GRÖßE kann auch mit einem der folgenden Zeichen als Präfix versehen werden:\n" "‚+‘ erweitern um, ‚-‘ verkleinern um, ‚<‘ höchstens, ‚>‘ mindestens,\n" "‚/‘ abrunden zu Vielfachem von, ‚%‘ aufrunden zu Vielfachem von.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "Überlauf in %<PRIdMAX> * %<PRIdMAX> Byte-Blöcken für Datei %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s has nicht nutzbare, scheinbar negative Größe" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "die Größe von %s kann nicht ermittelt werden" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "Überlauf beim Aufrunden der Größe der Datei %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "Überlauf bei erweitern der Größe der Datei %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "Beschneiden von %s bei %<PRIdMAX> Bytes ist misslungen" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "mehrere relative Modifikatoren angegeben" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "Sie müssen entweder %s oder %s angeben" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "Sie müssen eine relative %s zusammen mit %s angeben" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s wurde angegeben, %s aber nicht" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "%s kann nicht zum Schreiben geöffnet werden" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Aufruf: %s [OPTION] [DATEI]\n" "Vollkommen geordnete Liste in Übereinstimmung mit der partiellen Ordnung in\n" "DATEI schreiben.\n" "Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: Eingabe enthält eine ungerade Anzahl Token" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: Eingabe enthält eine Schleife:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Den Dateinamen des Terminals ausgeben, das mit der Standardeingabe " "verbunden\n" "ist.\n" "\n" " -s, --silent, --quiet nichts ausgeben, nur Exitâ€Status setzen\n" #: src/tty.c:120 msgid "not a tty" msgstr "kein Ausgabegerät" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Bestimmte Systeminformationen ausgeben. Ohne OPTION dasselbe wie -s.\n" "\n" " -a, --all alle Informationen ausgeben, in der folgenden\n" " Reihenfolge (außer -p und -i, wenn nicht " "bekannt):\n" " -s, --kernel-name Namen des Kernels ausgeben\n" " -n, --nodename Netzwerknamen der Maschine ausgeben\n" " -r, --kernel-release Releaseâ€Nummer des Kernels ausgeben\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version Version des Kernels ausgeben\n" " -m, --machine Maschinentyp (Hardware) ausgeben\n" " -p, --processor Typ des Prozessors ausgeben (oder „unknown“)\n" " -i, --hardware-platform Hardwareplattform ausgeben (oder „unknown“)\n" " -o, --operating-system Namen des Betriebssystems ausgeben\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Maschinenarchitektur ausgeben.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "es ist nicht möglich, den Namen des Betriebssystems zu ermitteln" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Alle Leerzeichen in jeder DATEI in Tabulatoren wandeln und auf " "Standardausgabe\n" "schreiben. Ohne DATEI, oder wenn DATEI „-“ ist, wird die Standardeingabe\n" "gelesen.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all alle Leerzeichen wandeln, statt nur der führenden\n" " --first-only nur führenden Leerzeichen konvertieren (überschreibt -" "a)\n" " -t, --tabs=N Tabulatoren alle ANZAHL Zeichen annehmen, statt 8\n" " -t, --tabs=LISTE kommagetrennte Liste von Tabulatorpositionen verwenden\n" " (-t und --tabs implizieren -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "Tabulatoren sind zu weit auseinander" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "Tabulatorstopp ist zu groß" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Aufruf: %s [OPTION]... [EINGABE [AUSGABE]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Benachbarte identische Zeilen aus EINGABE (oder der Standardeingabe) " "filtern,\n" "das Ergebnis in AUSGABE (oder die Standardausgabe) schreiben.\n" "\n" "Ohne Optionen werden identische Zeilen zur ersten vereinigt.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count den Zeilen die Anzahl des Vorkommens voranstellen\n" " -d, --repeated nur die doppelten Zeilen ausgeben\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=TRENNâ€METHODE] alle doppelten Zeilen ausgeben\n" " TRENNâ€METHODE={none(Vorgabe),prepend,separate)};\n" " das Abtrennen geschieht durch Leerzeilen\n" " -f, --skip-fields=N nicht die ersten N Felder vergleichen\n" " -i, --ignore-case Abweichung in Groß-/Kleinschreibung ignorieren\n" " -s, --skip-chars=N nicht die ersten N Zeichen vergleichen\n" " -u, --unique nur nur einmal vorkommende Zeilen ausgeben\n" " -z, --zero-terminated Zeilen mit Nullbyte, nicht Zeilenvorschub, " "abschließen\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N nicht mehr als N Zeichen pro Zeile vergleichen\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Ein Feld ist eine Folge von Freiraum (etwa Leerzeichen oder Tabulatoren)\n" "gefolgt von anderen Zeichen. Felder werden vor Zeichen übersprungen.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Bemerkung: „uniq“ kann wiederholte Zeilen nicht erkennen, wenn sie nicht\n" "auf einander folgen. Sie können die Eingabe vorher sortieren, oder auch\n" "anstelle von „uniq“ gleich „sort -u“ verwenden.\n" "Die Vergleiche folgen dabei den durch „LC_COLLATE“ gegebenen Regeln.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "zu viele wiederholte Zeilen" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "Ungültige Anzahl an zu überspringenden Feldern" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "Ungültige Anzahl an zu überspringenden Bytes" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "Ungültige Anzahl an zu vergleichenden Bytes" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "alle duplizierten Zeilen auszugeben und Wiederholungszähler ist nicht " "sinnvoll" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s DATEI\n" " oder: %s OPTION\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Die Funktion unlink aufrufen, um angegebene DATEI zu löschen.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "Entfernen (unlink) von %s nicht möglich" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "Es ist nicht möglich, die Startzeit des Rechners zu ermitteln." # MPi: I wonder why it isn’t %I:%M%P in the orginal; 17:53pm looks odd. # MPi: I also wonder what the exact purpose of the spaces is. #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "???? Tage ??:?? an, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "%ld Tag %2d:%02d an, " msgstr[1] "%ld Tage %2d:%02d an, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "up %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu Benutzer" msgstr[1] "%lu Benutzer" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", Durchschnittslast: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Die aktuelle Zeit, die Dauer, wie lange das System läuft, die Anzahl der\n" "Benutzer und die durchschnittliche Anzahl der laufenden Jobs in den letzten " "1,\n" "5 und 15 Minuten ausgeben." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Prozesse in einem nicht unterbrechbaren\n" "Schlafzustand tragen ebenfalls zur Durchschnittslast bei.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Wenn keine DATEI angegeben ist, %s benutzen.\n" "%s ist als DATEI üblich.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Ausgeben, wer augenblicklich gemäß DATEI angemeldet ist.\n" "Wenn keine DATEI angegeben ist, %s benutzen.\n" "%s ist als DATEI üblich.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Zeilenâ€, Wort†und Byteanzahl für jede DATEI ausgeben und eine Zeile mit " "der\n" "Gesamtsumme, wenn mehr als eine DATEI angegeben wurde. Ohne DATEI, oder " "wenn\n" "DATEI „-“ ist wird von der Standardeingabe gelesen. Ein Wort ist eine nicht\n" "leere Folge von Zeichen, die durch Leerzeichen begrenzt wird.\n" "\n" "Die unten angeführten Optionen erlauben es, die auszugebenden Zähler aus-\n" "zuwählen, wobei sie immer in dieser Reihenfolge ausgegeben werden:\n" "Zeilen, Wörter, Zeichen, Bytes, größte Zeilenlänge.\n" "\n" " -c, --bytes Byteanzahl ausgeben\n" " -m, --chars Zeichenanzahl ausgeben\n" " -l, --lines Zeilenanzahl ausgeben\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=D Eingabe aus den Dateien lesen, die mit NULL\n" " terminiert in der Datei D stehen;\n" " ist D „-“, so wird aus der Standardeingabe " "gelesen\n" " -L, --max-line-length die Länge der längsten Zeile ausgeben\n" " -w, --words Wortanzahl ausgeben\n" #: src/who.c:210 msgid " old " msgstr " alt " #: src/who.c:440 msgid "system boot" msgstr "Systemstart" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "exit=" # 8 chars are okay #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "Stellen der Uhr" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "Runlevel" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "last=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# Benutzer=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAME" # 8 chars are okay #: src/who.c:559 msgid "LINE" msgstr "LEITUNG" #: src/who.c:559 msgid "TIME" msgstr "ZEIT" #: src/who.c:559 msgid "IDLE" msgstr "UNTÄTIG" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "EXIT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Aufruf: %s [OPTION]... [ DATEI | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Informationen über gerade angemeldete Benutzer ausgeben.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all dasselbe wie -b -d --login -p -r -t -T -u\n" " -b, --boot Zeit des letzten Rechnerstarts („system boot“)\n" " -d, --dead tote Prozesse ausgeben\n" " -H, --heading Kopfzeile mit Spaltenbezeichnungen ausgeben\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login Loginâ€Prozesse des Systems ausgeben\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup versuchen, den Rechnernamen mittels DNS zu kanonisieren\n" " -m nur Rechnernamen und Benutzer, die die Standardeingabe\n" " verwenden\n" " -p, --process aktive Prozesse ausgeben, die von init aufgerufen " "wurden\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count alle Loginnamen und Anzahl der angemeldeten Benutzer\n" " -r, --runlevel aktuellen Runlevel ausgeben\n" " -s, --short nur Namen, Leitung und Zeit ausgeben (Vorgabe)\n" " -t, --time das letztmalige Stellen der Systemuhr ausgeben\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg den Messageâ€Status des Benutzers als +, - or ? " "hinzufügen\n" " -u, --users angemeldete Benutzer anzeigen\n" " --message dasselbe wie -T\n" " --writable dasselbe wie -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Wenn keine DATEI angegeben ist, „%s“ nehmen. „%s“ ist als\n" "DATEI üblich. Wenn ARG1 ARG2 angegeben sind, wird -m angenommen:\n" "gebräuchlich sind „bin ich“ oder „am i“.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Den Benutzernamen ausgeben, der zu der aktuellen effektiven Benutzerâ€ID\n" "gehört. Dasselbe wie „id -un“.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: Es ist kein Name zur Nutzerâ€ID %lu zu finden\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [ZEICHENKETTE...]\n" " oder: %s OPTION\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Eine Zeile mit allen angegebenen ZEICHENKETTEn oder „y“ wiederholt " "ausgeben.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "verwende Arithmetik mit einfacher Genauigkeit" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "verwende Arithmetik mit beliebiger Genauigkeit" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human:\n" #~ " Eingabe: „%s“\n" #~ " Dezimalpunkt der Locale: „%s“\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " geparster numerischer Wert: %Lf\n" #~ " Genauigkeit der Eingabe = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr " Auto-Skalierung, „i“ gefunden, Wechsel zu Basis %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " Endung Potenz=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " Rückgabewert: %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human:\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr "" #~ " keine Skalierung, der (gruppierte) Wert wird zurück gegeben: %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " keine Skalierung, Rückgabe von: %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " Wert wird skaliert auf %Lf * %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " nach Rundung, Wert=%Lf * %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " zurück gegebener Wert: „%s“\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Aufruf: %s [OPTIONEN] [ZAHL]...\n" #~ msgid "" #~ " --from=UNIT auto-scale input numbers to UNITs. Default is 'none'.\n" #~ " See UNIT below.\n" #~ " --from-unit=N specify the input unit size (instead of the default " #~ "1).\n" #~ " --to=UNIT auto-scale output numbers to UNITs.\n" #~ " See UNIT below.\n" #~ " --to-unit=N the output unit size (instead of the default 1).\n" #~ " --round=METHOD the rounding method to use when scaling. METHOD can " #~ "be:\n" #~ " up, down, from-zero (default), towards-zero, nearest\n" #~ " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional " #~ "SUFFIX\n" #~ " in input numbers.\n" #~ " --padding=N pad the output to N characters.\n" #~ " Positive N will right-aligned. Negative N will left-" #~ "align.\n" #~ " Note: if the output is wider than N, padding is " #~ "ignored.\n" #~ " Default is to automatically pad if whitespace is " #~ "found.\n" #~ " --grouping group digits together (e.g. 1,000,000).\n" #~ " Uses the locale-defined grouping (i.e. have no effect\n" #~ " in C/POSIX locales).\n" #~ " --header[=N] print (without converting) the first N header lines.\n" #~ " N defaults to 1 if not specified.\n" #~ " --field N replace the number in input field N (default is 1)\n" #~ " -d, --delimiter=X use X instead of whitespace for field delimiter\n" #~ " --format=FORMAT use printf style floating-point FORMAT.\n" #~ " See FORMAT below for details.\n" #~ " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug print warnings about invalid input.\n" #~ " \n" #~ msgstr "" #~ " --from=EINHEIT auto-skaliert Zahlen auf EINHEITen. Vorgabe ist " #~ "'none'.\n" #~ " Siehe EINHEIT weiter unten.\n" #~ " --from-unit=N Angabe der Einheit der Eingabe (statt der Vorgabe 1).\n" #~ " --to=UNIT auto-skaliert auszugebende Zahlen in EINHEITen.\n" #~ " Siehe EINHEIT weiter unten.\n" #~ " --to-unit=N Angabe der Einheit der Ausgabe (statt der Vorgabe 1).\n" #~ " --round=METHODE die bei der Skalierung zu verwendende " #~ "Rundungsmethode.\n" #~ " METHODE kann sein:\n" #~ " up, down, from-zero (Vorgabe), towards-zero, nearest\n" #~ " --suffix=ENDUNG ENDUNG an auszugebende Zahlen anhängen und eine " #~ "eventuell\n" #~ " vorhandene ENDUNG bei eingegebenen Zahlen " #~ "akzeptieren.\n" #~ " --padding=N die Ausgabe auf N Zeichen auffüllen.\n" #~ " Positives N bedeutet rechtsbündig, negatives N " #~ "linksbündig.\n" #~ " Hinweis: ist die Ausgabe breiter als N wird nicht\n" #~ " aufgefüllt.\n" #~ " Standardmäßig wird automatisch aufgefüllt, wenn " #~ "Leerzeichen,\n" #~ " Tabulator oder Zeilenumbruch gefunden wird.\n" #~ " --grouping Ziffern werden gruppiert (z.B. 1.000.000).\n" #~ " Verwendet die locale-spezifische Gruppierung (hat also " #~ "in\n" #~ " C/POSIX Locales keine Auswirkung).\n" #~ " --header[=N] Ausgabe (ohne Umwandlung) der ersten N Kopfzeilen.\n" #~ " N ist 1 wenn es nicht ausdrücklich angegeben wird.\n" #~ " --field N ersetzt die Zahl in Eingabefeld N (Vorgabe ist 1)\n" #~ " -d, --delimiter=X verwendet X anstelle von Leerraum als " #~ "Feldbegrenzung\n" #~ " --format=FORMAT verwendet Fließkomma-FORMAT im Stil von printf.\n" #~ " Siehe FORMAT weiter unten für Details.\n" #~ " --invalid=MODUS Verhalten bei ungültigen Zahlennumbers: MODUS kann " #~ "sein:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug bei ungültigen Eingaben Warnungen ausgeben.\n" #~ " \n" #~ msgid "" #~ "\n" #~ "UNIT options:\n" #~ " none No auto-scaling is done. Suffixes will trigger an error.\n" #~ " auto Accept optional single-letter/two-letter suffix:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Accept optional single letter suffix:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accept optional single letter suffix:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accept optional two-letter suffix:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "EINHEIT Optionen:\n" #~ " none Keine auto-skalierung erfolgt. Endungen lösen einen Fehler " #~ "aus.\n" #~ " auto Akzeptiere optionale ein- bzw. zweibuchstabige Endungen:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Akzeptiere eine optionale einbuchstabige Endung:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Akzeptiere eine optionale einbuchstabige Endung:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Akzeptiere eine optionale zweibuchstabige Endung:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgid "" #~ "format String:\n" #~ " input: %s\n" #~ " grouping: %s\n" #~ " padding width: %ld\n" #~ " alignment: %s\n" #~ " prefix: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ "Formatanweisung:\n" #~ " Eingabe: %s\n" #~ " Gruppierung: %s\n" #~ " Auffüllen auf: %ld\n" #~ " Ausrichtung: %s\n" #~ " Präfix: „%s“\n" #~ " Anhang: „%s“\n" #~ msgid "" #~ "formatting output:\n" #~ " value: %Lf\n" #~ " humanized: '%s'\n" #~ msgstr "" #~ "Ausagbe wird formattiert:\n" #~ " Wert: %Lf\n" #~ " menschenlesbar: „%s“\n" #~ msgid " After padding: '%s'\n" #~ msgstr " Nach Auffüllung: „%s“\n" #~ msgid "trimming suffix '%s'\n" #~ msgstr "Endujng „%s“ wird gekürzt\n" #~ msgid "no valid suffix found\n" #~ msgstr "keine gültige Endungslänge gefunden\n" #~ msgid "setting Auto-Padding to %ld characters\n" #~ msgstr "Auto-Auffüllen wird auf %ld Zeichen gesetzt\n" #~ msgid "" #~ "extracting Fields:\n" #~ " input: '%s'\n" #~ " field: %d\n" #~ msgstr "" #~ "Extraktion der Felder:\n" #~ " Eingabe: „%s“\n" #~ " Feld: %d\n" #~ msgid "" #~ " TOO FEW FIELDS!\n" #~ " prefix: '%s'\n" #~ msgstr "" #~ " ZU WENIGE FELDER!\n" #~ " Präfix: „%s“\n" #~ msgid "" #~ " prefix: '%s'\n" #~ " number: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ " Präfix: „%s“\n" #~ " Zahl : „%s“\n" #~ " Endung: „%s“\n" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "reading %s" #~ msgstr "%s wird gelesen" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "writing %s" #~ msgstr "%s wird geschrieben" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "closing %s" #~ msgstr "%s wird geschlossen" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "accessing %s" #~ msgstr "Zugriff auf %s" #~ msgid "opening %s" #~ msgstr "%s wird geöffnet" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system Verzeichnis auf anderen Dateisystemen " #~ "überspringen\n" #~ " -X, --exclude-from=DAT Dateien ausschließen, die auf Muster in DAT " #~ "passen\n" #~ " --exclude=MUSTER Dateien, die auf MUSTER passen, ausschließen\n" #~ " -d, --max-depth=N Summe für ein Verzeichnis ausgeben (oder " #~ "einer\n" #~ " Datei, mit „--all“) nur, wenn es N oder " #~ "weniger \n" #~ " Ebenen unterhalb des " #~ "Kommandozeilenargumentes ist.\n" #~ " „--max-depth=0“ ist dasselbe wie „--" #~ "summarize“.\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off Niemals Sicherung erzeugen (selbst wenn --backup\n" #~ " angegeben wurde)\n" #~ " numbered, t Erzeugen von nummerierten Sicherheitskopien\n" #~ " existing, nil Nummeriert, wenn nummerierte Backups existieren, sonst " #~ "einfach.\n" #~ " simple, never Immer einfache Sicherheitskopien erzeugen\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "WARNUNG: --page-increment ist veraltet; stattdessen --line-increment\n" #~ "benutzen" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Erforderliche Argumente für lange Optionen sind für kurze auch " #~ "notwendig.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX ist „d“ für dezimal, „o“ für oktal, „x“ für hexadezimal oder „n“ " #~ "für\n" #~ "nichts. BYTES ist hexadezimal mit 0x†oder 0Xâ€Präfix und kann folgende\n" #~ "multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ "Wird eine Endung „z“ an einen beliebigen Typ angehängt, werden am Ende " #~ "jeder\n" #~ "Zeile die druckbaren Zeichen ausgegeben.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "--string ohne Zahl impliziert „3“. --width ohne Zahl impliziert „32“.\n" #~ "Standardmäßig benutzt od: -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Aufruf: %s [OPTION]... DATEI\n" #~ msgid "Password:" #~ msgstr "Kennwort:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: es ist nicht möglich, /dev/tty zu öffnen" #~ msgid "cannot set groups" #~ msgstr "es ist nicht möglich, die Gruppen zu setzen" #~ msgid "cannot set group id" #~ msgstr "es ist nicht möglich, die Gruppenâ€ID zu setzen" #~ msgid "cannot set user id" #~ msgstr "es ist nicht möglich, die Benutzerâ€ID zu setzen" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Aufruf: %s [OPTION]... [-] [BENUTZER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Die effektive Benutzer†und Gruppenâ€ID in die des BENUTZERs ändern.\n" #~ "\n" #~ " -, -l, --login die Shell zur Loginshell machen\n" #~ " -c, --command=BEFEHL einen einzelnen BEFEHL an die Shell " #~ "weitergeben\n" #~ " -f, --fast -f an die Shell weitergeben (für csh oder " #~ "tcsh)\n" #~ " -m, --preserve-environment Umgebungsvariablen nicht neu setzen\n" #~ " -p dasselbe wie -m\n" #~ " -s, --shell=SHELL SHELL benutzen, falls /etc/shells es " #~ "erlaubt\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Ein schlichtes „-“ steht für -l. Falls kein BENUTZER angegeben ist,\n" #~ "wird „root“ angenommen.\n" #~ msgid "user %s does not exist" #~ msgstr "Benutzer %s existiert nicht" #~ msgid "incorrect password" #~ msgstr "ungültiges Kennwort" #~ msgid "using restricted shell %s" #~ msgstr "eingeschränkte Shell %s benutzen" #~ msgid "warning: cannot change directory to %s" #~ msgstr "Warnung: es ist nicht möglich, in das Verzeichnis %s zu wechseln" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s /usr/bin/sort Ausgabe: „sort“.\n" #~ " %s include/stdio.h .h Ausgabe: „stdio“.\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s NAME\n" #~ " oder: %s OPTION\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "--relative-base erfordert --relative-to" #~ msgid "character offset %s is too large" #~ msgstr "Zeichenâ€Offset %s ist zu groß" #~ msgid "only one way of folding may be specified" #~ msgstr "Nur ein Typ Faltung kann angegeben werden" #~ msgid "Invalid multibyte input %s." #~ msgstr "Ungültige Multibyte-Eingabe: %s." #~ msgid "cannot not open session: %s" #~ msgstr "Die Sitzung kann nicht geöffnet werden: %s" #~ msgid "cannot create child process" #~ msgstr "Erzeugen des Kindprozesses ist nicht möglich" #~ msgid "cannot block signals" #~ msgstr "Signale können nicht blockiert werden" #~ msgid "cannot set signal handler" #~ msgstr "Signalbehandlungsroutinen können nicht gesetzt werden" #~ msgid "" #~ "\n" #~ "Session terminated, killing shell..." #~ msgstr "" #~ "\n" #~ "Sitzung terminiert, die Shell wird gewaltsam beendet..." #~ msgid " ...killed.\n" #~ msgstr " ...gewaltsam beendet.\n" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Aufruf: %s [OPTION] DATEI...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändern der Gruppenâ€Zugehörigkeit für jede DATEI nach GRUPPE.\n" #~ "Mit --reference: Ändern der Gruppenâ€Zugehörigkeit für jede DATEI auf die " #~ "von RDATEI.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ " --dereference referenzierte Datei einer symbolischen " #~ "Verknüpfung\n" #~ " ändern (dies ist die Voreinstellung)\n" #~ " statt der Verknüpfung selbst\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet die meisten Fehlermeldungen unterdrücken\n" #~ " --reference=RDATEI RDATEIs Gruppe verwenden anstatt eines GRUPPEâ€" #~ "Wertes\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Den Modus jeder DATEI auf MODUS ändern.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root „/“ nicht besonders behandeln (Voreinstellung)\n" #~ " --preserve-root nicht rekursiv auf „/“ arbeiten\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet unterdrücken der meisten Fehlermeldungen\n" #~ " -v, --verbose eine Diagnose für jede verarbeitete Datei " #~ "ausgeben\n" #~ " --reference=RDATEI RDATEIs Modus anstatt eines MODUS-Wertes " #~ "verwenden\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändern des Eigentümers und/oder der Gruppe für jede DATEI nach " #~ "EIGENTÜMER\n" #~ "und/oder GRUPPE.\n" #~ "Mit --reference: Ändern von Eigentümers und Gruppe für jede DATEI auf " #~ "die\n" #~ "von RDATEI.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ " --dereference referenzierte Datei einer symbolischen " #~ "Verknüpfung\n" #~ " ändern (dies ist die Voreinstellung)\n" #~ " statt der Verknüpfung selbst\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet die meisten Fehlermeldungen unterdrücken\n" #~ " --reference=RDATEI RDATEIs Eigentümer und Gruppe verwenden " #~ "anstatt\n" #~ " eines EIGENTÜMER:GRUPPEâ€Wertes\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... PATH START\n" #~ msgstr "Aufruf: %s [OPTION]... PFAD START\n" #~ msgid "" #~ " -n, --no-newline do not output the trailing " #~ "newline\n" #~ " " #~ msgstr "" #~ "Die ZEICHENKETTEn auf die Standardausgabe ausgeben.\n" #~ "\n" #~ " -n den abschließenden Zeilenvorschub unterdrücken\n" #~ msgid "" #~ "\n" #~ "SIZE is an integer with an optional suffix (example: 10MB). Suffixes " #~ "are:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "GRÖßE kann eine der folgenden Abkürzungen sein (oder eine Zahl, die " #~ "optional\n" #~ "von einer der Abkürzungen gefolgt wird):\n" #~ "KB 1000, K 1024, MB 1000×1000, M 1024×1024 und so weiter für G, T, P, E, " #~ "Z, Y.\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Die aktuelle Uhrzeit im angegebenen FORMAT anzeigen oder die Systemzeit " #~ "setzen.\n" #~ "\n" #~ " -d, --date=ZEICHENKETTE Zeit gemäß ZEICHENKETTE anzeigen, nicht " #~ "„jetzt“\n" #~ " -f, --file=DATEI wie --date für jede Zeile in DATEI\n" #~ msgid "cannot create link %s" #~ msgstr "Erzeugen von Verknüpfung %s nicht möglich" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "WARNUNG: --preserve_context ist veraltet; stattdessen --preserve-context " #~ "benutzen" #~ msgid "truncating %s" #~ msgstr "%s wird verkürzt" #~ msgid "" #~ " nocreat do not create the output file\n" #~ " excl fail if the output file already exists\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ msgstr "" #~ " nocreat Ausgabedatei nicht anlegen\n" #~ " excl wenn Ausgabedatei schon existiert, abbrechen\n" #~ " notrunc Ausgabedatei nicht abschneiden\n" #~ " ucase Kleinbuchstaben in Großbuchstaben ändern\n" #~ " swab jedes Paar von Eingabebytes vertauschen\n" #~ msgid "Filesystem " #~ msgstr "Dateisystem " #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " INodes IBenut. IFrei IBen%%" #~ msgid " Size Used Avail Use%" #~ msgstr " Größe Benut Verf Ben%%" #~ msgid " Size Used Avail Use%" #~ msgstr " Größe Benut Verf Ben%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %sâ€Blöcke Benutzt Verfügbar Kapazität." #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4sâ€Blöcke Benutzt Verfügbar Ben%%" #~ msgid "invalid format precision" #~ msgstr "Ungültige Formatâ€Genauigkeit" #~ msgid "invalid number of lines: 0" #~ msgstr "ungültige Anzahl von Zeilen: 0" #~ msgid "standard out" #~ msgstr "Standardausgabe" #~ msgid "options -o and --debug are incompatible" #~ msgstr "Optionen -o und --debug sind inkompatibel" #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "Erzeuge symbolische Verknüpfung %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Erzeuge symbolische Verknüpfung %s → %s" #~ msgid "creating hard link %s" #~ msgstr "Erzeuge harte Verknüpfung %s" #~ msgid "creating hard link %s => %s" #~ msgstr "Erzeuge harte Verknüpfung %s ⇒ %s" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "die Option --context (-Z) ist obsolet und wird zukünftig nicht mehr " #~ "unterstützt" #~ msgid "extra operand %s\n" #~ msgstr "zusätzlicher Operand %s\n" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "Warnung: Option --%s ist veraltet, benutzen Sie --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Beachten Sie, dass -r und -s sich gegenseitig ausschließen.\n" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Aufruf: %s [OPTION] ANZAHL[SUFFIX] BEFEHL [ARGUMENT]...\n" #~ " oder: %s [OPTION]\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=SPALTEN kodierte Zeilen nach SPALTEN Zeichen umbrechen; " #~ "ohne\n" #~ " Angabe nach 76 Zeichen;\n" #~ " kein Zeilenumbruch, wenn hier 0 benutzt wird\n" #~ "\n" #~ " -d, --decode Daten dekodieren\n" #~ " -i, --ignore-garbage beim Dekodieren nicht zum Alphabet gehörende " #~ "Zeichen ignorieren\n" #~ "\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ungültige Option -- %c\n" #~ msgid "%s home page: <http://www.gnu.org/software/%s/>.\n" #~ msgstr "Homepage für %s: <http://www.gnu.org/software/%s/>.\n" #~ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n" #~ msgstr "" #~ "Allgemeine Hilfe zur Benutzung von GNU-Software: <http://www.gnu.org/" #~ "gethelp/>.\n" #~ msgid "invalid argument: %s" #~ msgstr "ungültiges Argument: %s" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help diese Hilfe anzeigen und beenden\n" #~ " --version Versionsinformation anzeigen und beenden\n" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "Warnung: „--megabytes“ wird in einer kommenden Version aufgegeben " #~ "werden;\n" #~ "bitte verwenden Sie stattdessen „-m“." #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Wenn -e aktiv ist, werden die folgenden Sequenzen erkannt und umgesetzt:\n" #~ "\n" #~ " \\0NNN Zeichen mit dem ASCIIâ€Code NNN (oktal)\n" #~ " \\\\ Rückschrägstrich\n" #~ " \\a Alarm (BEL)\n" #~ " \\b Zeichen rückwärts löschen (Backspace)\n" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: Warnung: Erstellen einer harten Verknüpfung auf eine symbolische\n" #~ " Verknüpfung ist nicht portabel" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Standardmäßig werden keine Farben zum Unterscheiden der Dateitypen " #~ "verwendet.\n" #~ "Das ist das Äquivalent zur Verwendung von --color=none. Die Verwendung " #~ "der\n" #~ "--colorâ€Option ohne das optionale WANNâ€Argument ist äquivalent zur " #~ "Verwendung\n" #~ "von --color=always. Mit --color=auto werden Farbcodes ausgegeben, wenn " #~ "die\n" #~ "Standardausgabe mit einem Terminal (tty) verbunden ist. Die " #~ "Umgebungsvariable\n" #~ "LS_COLORS kann die Farben beeinflussen und kann einfach mit dem Befehl\n" #~ "„dircolors“ gesetzt werden.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory Verzeichnis erstellen statt Datei\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet Ausgaben zu Datei-/Verzeichniserstellungsfehlern " #~ "unterdrücken\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nichts erstellen; nur einen Namen ausgeben (unsicher)\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p VERZ VERZ als Präfix benutzen; impliziert -t (veraltet)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a Alarm (BEL)\n" #~ " \\b Zeichen rückwärts löschen (Backspace)\n" #~ " \\c keine weitere Ausgabe\n" #~ " \\f Seitenvorschub\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n Zeilenvorschub\n" #~ " \\r Wagenrücklauf (Carriage Return)\n" #~ " \\t horizontaler Tabulatorstopp\n" #~ " \\v vertikaler Tabulatorstopp\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: konnte Verzeichnis %s nicht schließen" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: kann .. nicht von %s aus öffnen" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "FATAL: kann nicht sicherstellen, dass %s (zurückgekehrt via ..) sicher ist" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATaL: Verzeichnis %s hat Gerät/Inode geändert" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: kann Verzeichnis %s nicht betreten" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATaL: gerade betretenes Verzeichnis %s hat Gerät/Inode geändert" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: kann nicht nach „..“ zurückkehren aus %s" # MPi: What stupid message is that? No proper translation possible. #~ msgid "cannot remove %s directory %s" #~ msgstr "Entfernen von %s Verzeichnis %s nicht möglich" #~ msgid "cannot remove root directory %s" #~ msgstr "Entfernen von Wurzelverzeichnis %s nicht möglich" #~ msgid "cannot remove relative-named %s" #~ msgstr "kann relativ benanntes %s nicht entfernen" #~ msgid "cannot restore current working directory" #~ msgstr "kann aktuelles Verzeichnis nicht wieder herstellen" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "GRÖẞE kann folgende multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Alle hintereinander stehenden identischen Zeilen von EINGABE (oder\n" #~ "Standardeingabe) bis auf eine löschen, und auf AUSGABE (oder " #~ "Standardausgabe)\n" #~ "schreiben.\n" #~ "\n" #~ msgid "couldn't open temporary file" #~ msgstr "konnte temporäre Datei nicht öffnen" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Aufruf: %s [OPTION]... [ZEICHENKETTE]...\n" #~ msgid "" #~ " --bignum always use arbitrary-precision arithmetic\n" #~ " --no-bignum always use single-precision arithmetic\n" #~ msgstr "" #~ " --bignum immer Arithmetik mit beliebiger Genauigkeit verwenden\n" #~ " --no-bignum immer Arithmetik mit einfacher Genauigkeit verwenden\n" #~ msgid "" #~ "arithmetic operation %c produced an out of range value, but arbitrary-" #~ "precision arithmetic is not available" #~ msgstr "" #~ "das Ergebnis der arithmetischen Operation %c ist außerhalb des " #~ "Wertebereichs, aber Arithmetik beliebiger Genauigkeit ist nicht verfügbar" #~ msgid "string too long" #~ msgstr "Zeichenkette zu lang" #~ msgid "arbitrary-precision support is not available" #~ msgstr "Unterstützung für beliebige Genauigkeit nicht verfügbar" #~ msgid "string offset is too large" #~ msgstr "Zeichenkettenâ€Offset ist zu groß" #~ msgid "substring length too large" #~ msgstr "Unterzeichenkettenlänge zu groß" #~ msgid "arbitrary-precision arithmetic is not available" #~ msgstr "Arithmetik beliebiger Genauigkeit ist nicht verfügbar" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Exitâ€Status ist 0, wenn alles OK ist, 1 bei kleineren Problemen und\n" #~ "2 bei richtigem Ärger.\n" #~ msgid "no %% directive in format string %s" #~ msgstr "keine %%-Direktive in Formatzeichenkette %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "zu viele %%-Direktive in Formatzeichenkette %s" #~ msgid "invalid format string: %s" #~ msgstr "ungültige Formatangabe: %s" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Aufruf: %s [OPTION] [DATEI]...\n" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "kann Kontext nicht anzeigen, wenn SELinux nicht angeschaltet ist oder " #~ "wenn\n" #~ "die ID eines anderen Nutzers angezeigt wird" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Aufruf: %s [OPTION] VERZEICHNIS...\n" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" width=%d\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SZKETTE, --sep-string[=ZKETTE]\n" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Aufruf: %s [OPTIONEN] DATEI [...]\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort anhand des allgemeinen numerischen " #~ "Wertes\n" #~ " sortieren\n" #~ " -i, --ignore-nonprinting nur druckbare Zeichen beachten\n" #~ " -M, --month-sort Reihenfolge: (unbekannt) < „JAN“ < ... < " #~ "„DEZ“\n" #~ " -n, --numeric-sort anhand des numerischen Werts sortieren\n" #~ " -R, --random-sort anhand eines zufälligen Hash der " #~ "Schlüssel sortieren\n" #~ " --random-source=DATEI zufällige Bytes aus DATEI nehmen (/dev/" #~ "urandom)\n" #~ " --sort=WORT sortieren nach Kriterium WORT:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse das Ergebnis der Sortierung umkehren\n" #~ "\n" #~ msgid "cannot create temporary file" #~ msgstr "temporäre Datei konnte nicht angelegt werden" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: Modus\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry weiterhin versuchen, eine Datei zu öffnen, " #~ "auch wenn\n" #~ " sie beim Start nicht verfügbar ist oder " #~ "später\n" #~ " nicht mehr verfügbar wird; nützlich, wenn " #~ "mit Namen\n" #~ " verfolgt wird, also mit --follow=Name\n" #~ " -c, --bytes=N die letzten N Bytes ausgeben; alternativ +N " #~ "benutzen,\n" #~ " um Bytes beginnend mit dem Nten jeder Datei " #~ "auszugeben\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Wandlung wird durchgeführt, wenn nicht -d spezifiziert ist und sowohl " #~ "MENGE1\n" #~ "als auch MENGE2 angegeben sind. -t darf nur bei Wandlung benutzt werden.\n" #~ "MENGE2 wird, wenn nötig, durch Wiederholung des letzten Zeichens auf die " #~ "Länge\n" #~ "von MENGE1 vergrößert. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Zusätzliche Zeichen in MENGE2 werden ignoriert. Nur\n" #~ "[:lower:] und [:upper:] werden mit Sicherheit in aufsteigender " #~ "Reihenfolge\n" #~ "expandiert. In MENGE2 dürfen sie zum Wandeln nur in Paaren benutzt " #~ "werden, um\n" #~ "eine Groß-/Kleinschreibung anzuzeigen. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s benutzt MENGE1, wenn nicht\n" #~ "umgewandelt oder gelöscht wird; anderenfalls wird MENGE2 zum Verdichten " #~ "benutzt\n" #~ "und erscheint nach Wandlung und Löschung.\n" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s an " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld Tag" #~ msgstr[1] "%ld Tage" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Aufruf: %s [OPTION]... [ DATEI ]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "nicht erkannter Operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " Verzeichnisse vor Dateien anordnen\n" �����������������coreutils-8.21/po/ru.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002075143�12107204513�011761� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-8.8.ru.po to Russian # Ð›Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ GNU coreutils # Copyright (C) 1999, 2000, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Denis Perchine <dyp@perchine.com>, 1997-2002. # Oleg Tihonov <ost@tatnipi.ru>, 1999-2007. # Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2011, 2012, 2013. # Pavel Maryanov <acid@jack.kiev.ua>, 2011. msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-12 21:26+0400\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <gnu@mx.ru>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.4\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "недопуÑтимый аргумент %s Ð´Ð»Ñ %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "неоднозначный аргумент %s Ð´Ð»Ñ %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "ДопуÑтимые аргументы:" #: lib/closein.c:100 msgid "error closing file" msgstr "ошибка Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "ошибка запиÑи" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "Ñохранение прав доÑтупа Ð´Ð»Ñ %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÑиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: lib/file-type.c:38 msgid "regular empty file" msgstr "пуÑтой обычный файл" #: lib/file-type.c:38 msgid "regular file" msgstr "обычный файл" #: lib/file-type.c:41 msgid "directory" msgstr "каталог" #: lib/file-type.c:44 msgid "block special file" msgstr "блочный Ñпециальный файл" #: lib/file-type.c:47 msgid "character special file" msgstr "Ñимвольный Ñпециальный файл" #: lib/file-type.c:50 msgid "fifo" msgstr "файл-очередь" #: lib/file-type.c:53 msgid "symbolic link" msgstr "ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка" #: lib/file-type.c:56 msgid "socket" msgstr "Ñокет" #: lib/file-type.c:59 msgid "message queue" msgstr "очередь Ñообщений" #: lib/file-type.c:62 msgid "semaphore" msgstr "Ñемафор" #: lib/file-type.c:65 msgid "shared memory object" msgstr "объект разделÑемой памÑти" #: lib/file-type.c:68 msgid "typed memory object" msgstr "объект типизированной памÑти" #: lib/file-type.c:70 msgid "weird file" msgstr "Ñтранный файл" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "СемейÑтво адреÑов не поддерживаетÑÑ Ð´Ð»Ñ Ñтого имени узла" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Временный Ñбой Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ðеверное значение Ð´Ð»Ñ ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "ÐевоÑÑтановимый Ñбой Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family не поддерживаетÑÑ" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "С данным именем узла не аÑÑоциирован адреÑ" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "ÐеизвеÑтное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑервиÑ" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname не поддерживаетÑÑ Ð´Ð»Ñ ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype не поддерживаетÑÑ" #: lib/gai_strerror.c:67 msgid "System error" msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Буфер аргументов Ñлишком мал" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Идёт обработка запроÑа" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‘Ð½" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ отменён" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Ð’Ñе запроÑÑ‹ завершены" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Прервано по Ñигналу" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Ðеправильно закодирована Ñтрока параметров" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: двуÑмыÑленный параметр «%s»; возможные варианты:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: ключ --%s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: ключ %c%s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: ключ --%s должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ключ --%s не раÑпознан\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ключ %c%s не раÑпознан\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неверный ключ -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ключ должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: двуÑмыÑленный ключ -W %s\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: ключ -W %s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: ключ -W %s должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "невозможно изменить права доÑтупа %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "невозможно Ñоздать каталог %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "памÑть иÑчерпана" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "невозможно Ñохранить текущий рабочий каталог" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "не удалоÑÑŒ вернутьÑÑ Ð² первоначальный рабочий каталог" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: конец файла" #: lib/regcomp.c:131 msgid "Success" msgstr "УÑпех" #: lib/regcomp.c:134 msgid "No match" msgstr "Ðет ÑоответÑтвиÑ" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "ÐедопуÑтимое регулÑрное выражение" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ðеверный Ñимвол Ñортировки" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ðеверное Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа Ñимволов" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце выражениÑ" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ [ или [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ( или \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ðеверное Ñодержимое \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ðеверный конец диапазона" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "ПамÑть иÑчерпана" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ðеверное предшеÑтвующее регулÑрное выражение" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Преждевременный конец регулÑрного выражениÑ" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "РегулÑрное выражение Ñлишком велико" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ) или \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Ðет предшеÑтвующего регулÑрного выражениÑ" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "опаÑно рекурÑивно обрабатывать %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "опаÑно рекурÑивно обрабатывать %s (то же, что %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "иÑпользуйте --no-preserve-root, чтобы отменить предупреждение об опаÑноÑти" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[ДдYy]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[ÐнNn]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "уÑтановка прав доÑтупа Ð´Ð»Ñ %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Обрыв терминальной линии" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Прерывание" #: lib/siglist.h:37 msgid "Quit" msgstr "Ðварийное прерывание" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½ÑтрукциÑ" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Прерывание на контрольной точке" #: lib/siglist.h:46 msgid "Aborted" msgstr "Прервано" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Ошибка операции Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" #: lib/siglist.h:52 msgid "Killed" msgstr "Уничтожение" #: lib/siglist.h:55 msgid "Bus error" msgstr "Ошибка шины" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Ðарушение ÑегментированиÑ" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Обрыв канала" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Сигнал по таймеру" #: lib/siglist.h:67 msgid "Terminated" msgstr "Завершение" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Ð¡Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²/вывода" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "ОÑтанов (Ñигнал)" #: lib/siglist.h:76 msgid "Stopped" msgstr "ОÑтанов" #: lib/siglist.h:79 msgid "Continued" msgstr "Возобновление" #: lib/siglist.h:82 msgid "Child exited" msgstr "Потомок завершил работу" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "ОÑтанов (ввод Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "ОÑтанов (вывод Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "Возможен в/вывод" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Превышен предел процеÑÑорного времени" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Превышен предел размера файла" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Виртуальное Ð²Ñ€ÐµÐ¼Ñ Ð¸Ñтекло" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñтекло" #: lib/siglist.h:106 msgid "Window changed" msgstr "Окно изменено" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "ОпределÑемый пользователем Ñигнал 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "ОпределÑемый пользователем Ñигнал 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Ловушка EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Ðеправильный ÑиÑтемный вызов" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Ошибка работы Ñо Ñтеком" #: lib/siglist.h:126 msgid "Information request" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸" #: lib/siglist.h:128 msgid "Power failure" msgstr "Отказ питаниÑ" #: lib/siglist.h:131 msgid "Resource lost" msgstr "РеÑÑƒÑ€Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ñн" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "не удалоÑÑŒ Ñоздать канал" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "подпроцеÑÑ %s завершилÑÑ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Сигнал реального времени %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "ÐеизвеÑтный Ñигнал %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ iconv неприменима" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ iconv недоÑтупна" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "Ñимвол вне допуÑтимого диапазона" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "невозможно преобразовать U+%04X к локальной кодировке" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "невозможно преобразовать U+%04X к локальной кодировке: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "неверный пользователь" #: lib/userspec.c:107 msgid "invalid group" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°" #: lib/userspec.c:108 msgid "invalid spec" msgstr "неверный Ñпецификатор" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "не удалоÑÑŒ показать Ñообщение об ошибке" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Упакован %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Упакован %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑии 3 или новее <http://gnu.org/licenses/gpl." "html>\n" "Это Ñвободное ПО: вы можете продавать и раÑпроÑтранÑть его.\n" "Ðет ÐИКÐКИХ ГÐРÐÐТИЙ до Ñтепени, разрешённой законом.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ðвтор программы -- %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ðвторы программы -- %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ðвторы программы -- %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s, %s, %s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s, %s, %s, %s\n" "и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s и %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ðвторы программы -- %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s и другие.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Об ошибках Ñообщайте по адреÑу <%s>\n" "Об ошибках в переводе Ñообщайте по адреÑу <gnu@mx.ru>\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Об ошибках в %s Ñообщайте по адреÑу %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "ДомашнÑÑ Ñтраница %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "ДомашнÑÑ Ñтраница %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Справка по работе Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle завершилаÑÑŒ неудачно" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "не удалоÑÑŒ воÑÑтановить fd %d: dup2 завершилаÑÑŒ неудачно" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "подпроцеÑÑ %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "подпроцеÑÑ %s получил Ñигнал Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "Ñтандартный ввод" #: lib/xfreopen.c:36 msgid "stdout" msgstr "Ñтандартный вывод" #: lib/xfreopen.c:37 msgid "stderr" msgstr "Ñтандартный поток ошибок" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "неизвеÑтный поток" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "не удалоÑÑŒ повторно открыть %s в режиме %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "не удалоÑÑŒ Ñравнить Ñтроки" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Чтобы обойти Ñту проблему, уÑтановите LC_ALL='C'." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "СравнивалиÑÑŒ Ñтроки %s и %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "не удалоÑÑŒ выполнить форматированный вывод" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "неверный %s%s аргумент «%s»" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² %s%s аргументе «%s»" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s аргумент «%s» Ñлишком велик" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Саймон ДжозефÑон (Simon Josefsson)" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]\n" "Кодирует или декодирует ФÐЙЛ или Ñтандартный ввод на Ñтандартный\n" "вывод в/из base64.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode Декодировать данные.\n" " -i, --ignore-garbage При декодировании игнорировать неалфавитные " "Ñимволы.\n" " -w, --wrap=СТОЛБЕЦ ПереноÑить закодированные Ñтроки поÑле заданного\n" " СТОЛБЦР(по умолчанию 76). Задайте 0, чтобы\n" " выключить переноÑ.\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Данные кодируютÑÑ ÐºÐ°Ðº опиÑано Ð´Ð»Ñ Ð°Ð»Ñ„Ð°Ð²Ð¸Ñ‚Ð° base64 в RFC 3548. При\n" "декодировании ввод может Ñодержать также переводы Ñтрок помимо байтов\n" "формального алфавита base64. ИÑпользуйте ключ --ignore-garbage, чтобы\n" "попытатьÑÑ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ неалфавитные Ñимволы в закодированном потоке.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "ошибка чтениÑ" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "неверный ввод" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "неверный размер переноÑа: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "лишний операнд %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "закрытие Ñтандартного ввода" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "ДÑвид Маккензи (David MacKenzie)" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "ИÑпользование: %s ИМЯ [СУФФИКС]\n" " или: %s КЛЮЧ… ИМЯ…\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Выводит ИМЯ без предшеÑтвующих названий каталогов.\n" "ЕÑли указано, удалÑет также завершающий СУФФИКС.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple принÑть неÑколько аргументов и Ñчитать каждый ИМЕÐЕМ\n" " -s, --suffix=СУФФИКС удалить завершающий СУФФИКС\n" " -z, --zero разделÑть вывод NUL, а не Ñимволом новой Ñтроки\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Примеры:\n" " %s /usr/bin/sort -> «sort»\n" " %s include/stdio.h .h -> «stdio»\n" " %s -s .h include/stdio.h -> «stdio»\n" " %s -a any/str1 any/str2 -> за «str1» выведетÑÑ Â«str2»\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "пропущен операнд" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Торбьёрн Гронлунд (Torbjorn Granlund)" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Ричард М. Столлман (Richard M. Stallman)" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]…\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "СцеплÑет ФÐЙЛ(Ñ‹) или Ñтандартный ввод и отправлÑет в Ñтандартный вывод.\n" "\n" " -A, --show-all Ñиноним -vET\n" " -b, --number-nonblank нумеровать непуÑтые Ñтроки при выводе\n" " -e подавлÑет -n, Ñиноним -vE\n" " -E, --show-ends показывать $ в конце каждой Ñтроки\n" " -n, --number нумеровать вÑе Ñтроки при выводе\n" " -s, --squeeze-blank выводить не более одной пуÑтой Ñтроки при " "повторе\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t Ñиноним -vT\n" " -T, --show-tabs показывать Ñимволы табулÑции как ^I\n" " -u (игнорируетÑÑ)\n" " -v, --show-nonprinting иÑпользовать запиÑÑŒ Ñ ^ и M-, за иÑключением\n" " Ñимволов перевода Ñтроки и табулÑции\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Примеры:\n" " %s f - g Выводит Ñодержимое f, потом Ñтандартный ввод, потом g.\n" " %s Копирует Ñтандартный ввод на Ñтандартный вывод.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "невозможно выполнить ioctl Ð´Ð»Ñ %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "Ñтандартный вывод" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: ввод и вывод в один файл" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "РаÑÑел Кокер (Russell Coker)" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Джим Мейеринг (Jim Meyering)" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "не удалоÑÑŒ Ñоздать контекÑÑ‚ безопаÑноÑти: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "не удалоÑÑŒ уÑтановить компонент контекÑта безопаÑноÑти %s равным %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "не удалоÑÑŒ получить контекÑÑ‚ безопаÑноÑти %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "не удалоÑÑŒ применить чаÑтичный контекÑÑ‚ к не помеченному файлу %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "не удалоÑÑŒ изменить контекÑÑ‚ безопаÑноÑти %s на %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "невозможно получить доÑтуп к %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "невозможно прочитать каталог %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "изменение контекÑта безопаÑноÑти Ð´Ð»Ñ %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_read завершилаÑÑŒ неудачно" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_close завершилаÑÑŒ неудачно" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… КОÐТЕКСТ ФÐЙЛ…\n" " или: %s [КЛЮЧ]… [-u ПОЛЬЗ-ЛЬ] [-r РОЛЬ] [-l ДИÐПÐЗОÐ] [-t ТИП] ФÐЙЛ…\n" " или: %s [КЛЮЧ]… --reference=ЭФÐЙЛ ФÐЙЛ…\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "МенÑет КОÐТЕКСТ безопаÑноÑти указанных ФÐЙЛОВ.\n" "При задании --reference, делает контекÑÑ‚ безопаÑноÑти\n" "указанных ФÐЙЛОВ таким же как у ЭФÐЙЛÐ.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference применÑть к файлу по Ñимвольной ÑÑылке, а не к " "Ñамой\n" " ÑÑылке (по умолчанию)\n" " -h, --no-dereference применÑть к Ñимвольной ÑÑылке, а не к Ñамому файлу\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=ПОЛЬЗ задать ПОЛЬЗОВÐТЕЛЯ в наз-мом контекÑте " "безопаÑноÑти\n" " -r, --role=РОЛЬ задать РОЛЬ в назначаемом контекÑте безопаÑноÑти\n" " -t, --type=ТИП задать ТИП в назначаемом контекÑте безопаÑноÑти\n" " -l, --range=ДИÐПÐЗОРзадать ДИÐПÐЗОРв назначаемом контекÑте " "безопаÑноÑти\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root не обрабатывать «/» оÑобым образом (по умолчанию)\n" " --preserve-root отказыватьÑÑ Ñ€ÐµÐºÑƒÑ€Ñивно обрабатывать «/»\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=ЭФÐЙЛ иÑпользовать контекÑÑ‚ безопаÑноÑти ЭФÐЙЛа, вмеÑто\n" " указанного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐšÐžÐТЕКСТÐ\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive рекурÑивно обрабатывать файлы и каталоги\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ " "файла\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Следующие параметры влиÑÑŽÑ‚ на ÑпоÑоб обхода иерархии каталогов при\n" "заданном параметре -R. ЕÑли указано неÑколько Ñтих параметров, дейÑтвует\n" "только поÑледний.\n" "\n" " -H еÑли аргумент командной Ñтроки ÑвлÑетÑÑ Ñимвольной\n" " ÑÑылкой на каталог, перейти по ней\n" " -L переходить по любой вÑтреченной Ñимвольной ÑÑылке " "на\n" " каталог\n" " -P не переходить по Ñимвольным ÑÑылкам (по умолчанию)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -R --dereference требует указать -H либо -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h требуют -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "пропущен операнд поÑле %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "неверный контекÑÑ‚: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "конфликт указанных параметров контекÑта безопаÑноÑти" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… ГРУППРФÐЙЛ…\n" " или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ…\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Смена ГРУППЫ у указанных ФÐЙЛОВ.\n" "При задании --reference, Ñменить группу\n" "указанных ФÐЙЛОВ как у ЭФÐЙЛÐ.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes как verbose, но выводить только при выполнении\n" " изменений\n" " -f, --silent, --quiet не выводить большинÑтво Ñообщений об ошибках\n" " -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ каждому " "файлу\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (имеет ÑмыÑл только на ÑиÑтемах, где\n" " можно изменÑть владельца Ñимвольной ÑÑылки)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=ЭФÐЙЛ иÑпользовать группу ЭФÐЙЛа, вмеÑто\n" " указанного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð“Ð Ð£ÐŸÐŸÐ«\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Примеры:\n" " %s staff /u МенÑет группу /u на staff.\n" " %s -hR staff /u МенÑет группу /u и вложенных файлов на staff.\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "получение новых атрибутов %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ни ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка %s, ни то но что она указывает не были изменены\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "права доÑтупа %s изменены Ñ %04lo (%s) на %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "не удалоÑÑŒ изменить права доÑтупа %s Ñ %04lo (%s) на %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "права доÑтупа %s оÑтавлены в виде %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "невозможно обработать повиÑшую Ñимвольную ÑÑылку %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "изменение прав доÑтупа Ð´Ð»Ñ %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: новые права доÑтупа %s, а не %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]… ФÐЙЛ\n" " или: %s [КЛЮЧ]… ВОСЬМ-РЕЖИМ ФÐЙЛ…\n" " или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ…\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Смена РЕЖИМРдоÑтупа к указанным ФÐЙЛÐМ.\n" "При задании --reference, уÑтановить режим\n" "указанных ФÐЙЛОВ как у ЭФÐЙЛÐ.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=ЭФÐЙЛ иÑпользовать режим доÑтупа ЭФÐЙЛÐ\n" " вмеÑто значений РЕЖИМ\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive рекурÑивно изменÑть файлы и каталоги\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Каждый РЕЖИМ задаетÑÑ Ð² форме «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=]" "[0-7]+».\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать ключи режима и --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "неверный режим: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "изменён владелец %s Ñ %s на %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "изменена группа %s Ñ %s на %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "не изменён владелец %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "не удалоÑÑŒ изменить владельца %s Ñ %s на %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "не удалоÑÑŒ изменить группу %s Ñ %s на %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "невозможно изменить владельца %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "невозможно изменить владельца %s на %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s на %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "владелец %s оÑтавлен как %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "группа %s оÑтавлена как %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "владелец %s оÑтавлен без изменений\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "невозможно перейти по Ñимвольной ÑÑылке %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "изменение владельца %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "изменение группы Ð´Ð»Ñ %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ВЛÐДЕЛЕЦ][:[ГРУППÐ]] ФÐЙЛ…\n" " или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ…\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Смена владельца и группы указанного ФÐЙЛРна ВЛÐДЕЛЬЦРи/или ГРУППУ.\n" "При задании --reference, Ñменить владельца и группу\n" "указанных ФÐЙЛОВ на такие же как у ЭФÐЙЛÐ.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ТЕКУЩИЙ_ВЛÐДЕЛЕЦ:ТЕКУЩÐЯ_ГРУППÐ\n" " ИзменÑет владельца и/или группу каждого файла\n" " только еÑли текущий владелец и/или группа\n" " Ñовпадают Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼Ð¸.\n" " Как группа, так и владелец могут быть опущены;\n" " в Ñтом Ñлучае Ñовпадение Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута\n" " не обÑзательно.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=ЭФÐЙЛ иÑпользовать владельца и группу ЭФÐЙЛа, вмеÑто\n" " указанных значений ВЛÐДЕЛЕЦ:ГРУППÐ\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Владелец не изменÑетÑÑ, еÑли он не задан в аргументе. Группа также не\n" "изменÑетÑÑ, еÑли не задана; но еÑли поÑле Ñимвольного ВЛÐДЕЛЬЦРÑтоит\n" "Ñимвол «:», подразумеваетÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ группы на оÑновную группу текущего\n" "пользователÑ.\n" "ВЛÐДЕЛЕЦ и ГРУППРмогут быть как чиÑловыми, так и Ñимвольными.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Примеры:\n" " %s root /u МенÑет владельца /u на «root».\n" " %s root:staff /u То же, но еще менÑет группу на «staff».\n" " %s -hR root /u МенÑет владельца /u и вложенных файлов на «root».\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Роланд МакГрат (Roland McGrath)" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "неверный ÑпиÑок групп %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "не удалоÑÑŒ задать дополнительные группы" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s [КЛЮЧ] ÐОВЫЙКОРЕÐЬ [КОМÐÐДР[ÐРГ]…]\n" " или: %s КЛЮЧ\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "ВыполнÑет КОМÐÐДУ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ корневым каталогом.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=ПОЛЬЗ:ГРУППРзадать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группу (ID или именем)\n" " --groups=G_LIST задать вÑпомогательные группы как гр1, гр2, .., " "грN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "ЕÑли команда не задана, выполнÑет «${SHELL} -i» (по умолчанию: «/bin/sh -" "i»).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "не удалоÑÑŒ Ñменить корневой каталог на %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "не удалоÑÑŒ перейти в корневой каталог" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "не удалоÑÑŒ уÑтановить group-ID" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "не удалоÑÑŒ уÑтановить user-ID" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "не удалоÑÑŒ выполнить команду %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "К. ФрÑнк КÑи (Q. Frank Xia)" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: файл Ñлишком велик" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "ИÑпользование: %s [ФÐЙЛ]…\n" " или: %s КЛЮЧ\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Печатает контрольную Ñумму (CRC) и чиÑло байт Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ1 ФÐЙЛ2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Сравнивает Ñортированные файлы ФÐЙЛ1 и ФÐЙЛ2 поÑтрочно.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "При запуÑке без ключей выдает результат в три Ñтолбца. Первый Ñтолбец\n" "Ñодержит Ñтроки, уникальные Ð´Ð»Ñ Ð¤ÐЙЛÐ1, второй -- уникальные длÑ\n" "ФÐЙЛÐ2, а третий -- общие Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ… файлов Ñтроки.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 не показывать Ñтолбец 1 (Ñтроки, уникальные\n" " Ð´Ð»Ñ Ð¤ÐЙЛÐ1)\n" " -2 не показывать Ñтолбец 2 (Ñтроки, уникальные\n" " Ð´Ð»Ñ Ð¤ÐЙЛÐ2)\n" " -3 не показывать Ñтолбец 3 (Ñтроки, вÑтреченные\n" " в обоих файлах)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order проверить правильноÑть Ñортировки ввода, даже\n" " еÑли вÑе входные Ñтроки имеют пару\n" " --nocheck-order не проверÑть правильноÑть Ñортировки ввода\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=РÐЗ отделÑть Ñтолбцы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ РÐЗделителÑ\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Заметим, что при Ñравнении дейÑтвуют правила, задаваемые «LC_COLLATE».\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Примеры:\n" " %s -12 файл1 файл2 вывеÑти только Ñтроки, имеющиеÑÑ Ð² файле1 и файле2.\n" " %s -3 файл1 файл2 вывеÑти Ñтроки файла1, которых нет в файле2 и " "наоборот.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "данные файла %d не отÑортированы" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "указано неÑколько разделителей" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "пуÑтое значение %s не разрешено" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "невозможно выполнить lseek Ð´Ð»Ñ %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "ошибка запиÑи %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: не удалоÑÑŒ получить информацию об ÑкÑтентах" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: запиÑÑŒ завершилаÑÑŒ неудачно" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "не удалоÑÑŒ раÑширить %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "очиÑтка прав доÑтупа Ð´Ð»Ñ %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "не удалоÑÑŒ Ñохранить владельца %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "не удалоÑÑŒ найти файл %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "не удалоÑÑŒ Ñохранить автора %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "невозможно открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "невозможно выполнить fstat Ð´Ð»Ñ %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "пропуÑкаетÑÑ Ñ„Ð°Ð¹Ð» %s, так как он был заменён во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "не удалоÑÑŒ получить контекÑÑ‚ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти Ð´Ð»Ñ %s в %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "невозможно удалить %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "удалён %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "запиÑÑŒ через повиÑшую ÑÑылку %s не выполнÑетÑÑ" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "невозможно Ñоздать обычный файл %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "не удалоÑÑŒ выполнить клонирование %s из %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "Ñохранение временной отметки %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "не удалоÑÑŒ закрыть %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: попытатьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñать %s, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° права доÑтупа %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: перепиÑать %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "не удалоÑÑŒ воÑÑтановить контекÑÑ‚ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° по умолчанию" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "невозможно Ñоздать жёÑткую ÑÑылку %s на %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "пропуÑкаетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "предупреждение: файл-иÑточник %s указан более одного раза" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s и %s - один и тот же файл" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" "невозможно перезапиÑать поверх файла %s, не ÑвлÑющегоÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼, каталог %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "только что Ñозданный файл %s не будет перепиÑан в %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "невозможно перезапиÑать каталог %s файлом, не ÑвлÑющимÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" "невозможно переименовать каталог в файл, не ÑвлÑющийÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "Ñохранение запаÑной копии %s уничтожит оригинал; %s не перенеÑён" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "Ñохранение запаÑной копии %s уничтожит оригинал; %s не Ñкопирован" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "невозможно Ñоздать резервную копию Ð´Ð»Ñ %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "копирование %s через только что Ñозданную %s не выполнÑетÑÑ" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "невозможно Ñкопировать каталог %s в Ñамого ÑебÑ, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "жёÑÑ‚ÐºÐ°Ñ ÑÑылка %s на каталог %s не будет Ñоздана" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "невозможно перенеÑти %s в Ñвой ÑобÑтвенный подкаталог, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "невозможно перемеÑтить %s в %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "не удалоÑÑŒ перемещение Ñ ÑƒÑтройÑтва %s на уÑтройÑтво %s: невозможно удалить " "назначение" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти файла по умолчанию в %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "невозможно Ñкопировать цикличеÑкую Ñимвольную ÑÑылку %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: отноÑительные Ñимвольные ÑÑылки можно Ñоздавать только в текущем каталоге" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "невозможно Ñоздать Ñимвольную ÑÑылку %s на %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "невозможно Ñоздать очередь %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "невозможно Ñоздать Ñпециальный файл %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "невозможно Ñчитать Ñимвольную ÑÑылку %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "невозможно Ñоздать Ñимвольную ÑÑылку %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "неизвеÑтный тип файла %s" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "невозможно воÑÑтановить %s из резервной копии" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (воÑÑтановление)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [-T] ИСТОЧÐИК ÐÐЗÐÐЧЕÐИЕ\n" " или: %s [КЛЮЧ]… ИСТОЧÐИК… КÐТÐЛОГ\n" " или: %s [КЛЮЧ]… -t КÐТÐЛОГ ИСТОЧÐИК…\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Копирует ИСТОЧÐИК в ÐÐЗÐÐЧЕÐИЕ, или неÑколько ИСТОЧÐИКОВ в КÐТÐЛОГ.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive то же, что и -dPR --preserve=all\n" " --attributes-only не копировать данные файла, только атрибуты\n" " --backup[=КОГДÐ] Ñоздавать резервную копию каждого целевого\n" " файла\n" " -b то же, что и --backup, но без аргумента\n" " --copy-contents копировать Ñодержимое Ñпециальных файлов при\n" " рекурÑивной обработке\n" " -d то же, что и --no-dereference --" "preserve=link\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force еÑли невозможно открыть ÑущеÑтвующий файл, " "то\n" " удалить его и попробовать ещё раз (Ñтот " "параметр\n" " игнорируетÑÑ, еÑли также указан ключ -n)\n" " -i, --interactive Ñпрашивать перед тем как перепиÑывать " "(отменÑет\n" " ранее указанный ключ -n)\n" " -H Ñледовать по Ñимвольным ÑÑылкам в ИСТОЧÐИКЕ\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link Ñоздавать жёÑткие ÑÑылки вмеÑто копированиÑ\n" " -L, --dereference вÑегда Ñледовать Ñимвольным ÑÑылкам в " "ИСТОЧÐИКЕ\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber не перезапиÑывать ÑущеÑтвующий файл " "(отменÑет\n" " ранее указанный ключ -i)\n" " -P, --no-dereference не Ñледовать по Ñимвольным ÑÑылкам в " "ИСТОЧÐИКЕ\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p то же, что и\n" " --preserve=mode,ownership,timestamps\n" " --preserve[=СПИС_ÐТТР] ÑохранÑть указанные атрибуты (по умолчанию:\n" " mode,ownership,timestamps) и, еÑли возможно,\n" " дополнительные атрибуты: context, links, " "xattr,\n" " all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=СПИС_ÐТТР не ÑохранÑть указанные атрибуты\n" " --parents добавить иÑходный путь к КÐТÐЛОГУ\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive рекурÑивно копировать каталоги\n" " --reflink[=КОГДÐ] контролировать копии clone/CoW. См. ниже.\n" " --remove-destination удалÑть каждый файл Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´\n" " попыткой его открыть (обратно к --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=КОГДРуправлÑть Ñозданием разреженных файлов.\n" " См. ниже.\n" " --strip-trailing-slashes удалÑть вÑе конечные коÑые черты из каждого\n" " аргумента ИСТОЧÐИК\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link Ñоздавать Ñимвольные ÑÑылки вмеÑто " "копированиÑ\n" " -S, --suffix=СУФФИКС иÑпользовать Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñных копий заданный\n" " СУФФИКС\n" " --target-directory=КÐТ Ñкопировать вÑе ИСТОЧÐИКИ в КÐТÐЛОГ\n" " -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update копировать только тогда когда иÑходный файл\n" " новее чем файл назначениÑ, или когда файл\n" " Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвует\n" " -v, --verbose поÑÑнÑть что будет Ñделано\n" " -x, --one-file-system оÑтаватьÑÑ Ð² пределах одной файловой ÑиÑтемы\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "По умолчанию, разреженные файлы ИСТОЧÐИКРраÑпознаютÑÑ Ð¿Ñ€Ð¸ помощи грубой\n" "ÑвриÑтичеÑкой процедуры и ÑоответÑтвенно ÑоздаютÑÑ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ðµ ÐÐЗÐÐЧЕÐИЯ.\n" "Такое поведение задаётÑÑ Ð¿Ñ€Ð¸ помощи ключа --sparse=auto.\n" "С ключом --sparse=always вÑегда ÑоздаётÑÑ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ð¹ файл ÐÐЗÐÐЧЕÐИЯ, вне\n" "завиÑимоÑти от того, Ñодержит ли ИСТОЧÐИК доÑтаточно длинные\n" "поÑледовательноÑти нулевых байтов. ИÑпользуйте ключ --sparse=never длÑ\n" "Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ñ… файлов.\n" "\n" "ЕÑли указано --reflink[=always], выполнÑетÑÑ Ð¾Ð±Ð»ÐµÐ³Ñ‡Ñ‘Ð½Ð½Ð¾Ðµ копирование, при " "котором\n" "блоки данных копируютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при изменении. ЕÑли Ñто невозможно, или еÑли\n" "указано --reflink=auto, то иÑпользуетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ðµ копирование.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "По умолчанию ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñных копий «~», еÑли только не уÑтановлена\n" "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ SIMPLE_BACKUP_SUFFIX или ключ --suffix. СпоÑоб " "контролÑ\n" "верÑий может быть уÑтановлен при помощи ключа --backup или переменной\n" "Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ VERSION_CONTROL. ДопуÑтимые значениÑ:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off никогда не Ñоздавать резервных копий (даже еÑли\n" " указан ключ --backup)\n" " numbered, t Ñоздавать нумерованные копии\n" " existing, nil еÑли ÑущеÑтвуют нумерованные копии, то Ñоздавать\n" " нумерованные иначе Ñоздавать проÑтые\n" " simple. never вÑегда Ñоздавать проÑтые копии\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Как иÑключение, cp Ñоздает резервную копию ИСТОЧÐИКÐ, еÑли заданы\n" "ключи -f и -b, а еÑли ИСТОЧÐИК Ñовпадает Ñ ÐÐЗÐÐЧЕÐИЕМ, то cp Ñоздает\n" "резервную копию ÐÐЗÐÐЧЕÐИЯ.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "не удалоÑÑŒ Ñохранить временные метки Ð´Ð»Ñ %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "не удалоÑÑŒ Ñохранить права доÑтупа Ð´Ð»Ñ %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "невозможно Ñоздать каталог %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s ÑущеÑтвует, но не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "не удалоÑÑŒ получить доÑтуп к %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "пропущен операнд, задающий файл" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "поÑле %s пропущен операнд, задающий целевой файл" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать --target-directory (-t) и --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ñ†ÐµÐ»ÑŒ %s не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "при заданном --parents назначение должно быть каталогом" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "задано неÑколько целевых каталогов" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "невозможно Ñоздать жёÑткую и Ñимвольную ÑÑылку одновременно" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "ключи --backup и --no-clobber взаимно иÑключают друг друга" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "ключ --reflink можно иÑпользовать только Ñ --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "тип резервной копии" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "невозможно Ñохранить контекÑÑ‚ безопаÑноÑти без Ñдра Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "невозможно Ñохранить раÑширенные атрибуты; cp Ñобрана без поддержки xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Стюарт Кемп (Stuart Kemp)" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "ввод Ñтал недоÑтупен" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: номер Ñтроки вне допуÑтимых пределов" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: номер Ñтроки вне допуÑтимых пределов" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " при повторе %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: Ñовпадение не найдено" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "ошибка поиÑка регулÑрного выражениÑ" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "ошибка запиÑи Ð´Ð»Ñ %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: поÑле Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚ÑÑ Ñ†ÐµÐ»Ð¾Ðµ чиÑло" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: при задании чиÑла повторов необходима «}»" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: между «{» и «}» должно быть целое чиÑло" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: пропущен закрывающий разделитель «%c»" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: недопуÑтимое регулÑрное выражение: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: недопуÑтимый образец" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: номер Ñтроки должен быть больше нулÑ" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "номер Ñтроки %s меньше номера предыдущей Ñтроки, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "предупреждение: номер Ñтроки %s равен предыдущему номеру Ñтроки" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "пропущен опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "неверный опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "неверный опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "некорректные флаги в Ñпецификации преобразованиÑ: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "Ñлишком много опиÑаний Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (%%) в ÑуффикÑе" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "пропущено опиÑание Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (%%) в ÑуффикÑе" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: недопуÑтимое чиÑло" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ ОБРÐЗЕЦ…\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Выводит чаÑти ФÐЙЛÐ, разделённые ОБРÐЗЦОМ (ОБРÐЗЦÐМИ), в файлы «xx00»,\n" "«xx01», … и печатает чиÑло байт в каждой чаÑти на Ñтандартный вывод.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ФОРМÐТ иÑпользовать ФОРМÐТ как в sprintf вмеÑто %02d\n" " -f, --prefix=ПРЕФИКС иÑпользовать ПРЕФИКС вмеÑто «xx»\n" " -k, --keep-files не удалÑть выходные файлы при ошибке\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=ЦИФРЫ иÑпользовать заданное чиÑло ЦИФР вмеÑто двух\n" " -s, --quiet, --silent не печатать размеры выходных файлов\n" " -z, --elide-empty-files удалÑть пуÑтые выходные файлы\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "ЕÑли ФÐЙЛ задан как -, читает Ñтандартный ввод. ОБРÐЗЕЦ задаетÑÑ Ñледующим\n" "образом:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ЦЕЛОЕ копировать до Ñтроки Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ номером, но не\n" " включительно\n" " /REGEXP/[СДВИГ] копировать до Ñовпавшей Ñтроки, но не включительно\n" " %%REGEXP%%[СДВИГ] пропуÑтить до Ñовпавшей Ñтроки, но не включительно\n" " {ЦЕЛОЕ} повторить предыдущий образец заданное чиÑло раз\n" " {*} повторить предыдущий образец наибольшее возможное " "чиÑло\n" " раз\n" "\n" "Дополнительный СДВИГ Ñтрок — Ñто обÑзательный Ñимвол «+» или «-» Ñ\n" "поÑледующим положительным целым чиÑлом.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "ДÑвид М. Инат (David M. Ihnat)" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "Ð¿Ð¾Ð»Ñ Ð¸ позиции нумеруютÑÑ Ñ 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "ИÑпользование: %s КЛЮЧ… [ФÐЙЛ]…\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Печатает выбранные чаÑти Ñтрок из каждого ФÐЙЛРна Ñтандартный вывод.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=СПИСОК выбрать только заданные байты\n" " -c, --characters=СПИСОК выбрать только заданные Ñимволы\n" " -d, --delimiter=РÐЗДЕЛИТЕЛЬ иÑпользовать Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ " "РÐЗДЕЛИТЕЛЬ\n" " вмеÑто табулÑции\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=СПИСОК выбрать только заданные полÑ; также " "печатать\n" " вÑе Ñтроки, не Ñодержащие разделителей, " "еÑли\n" " только не задан ключ -s\n" " -n (игнорируетÑÑ)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement дополнить множеÑтво выбранных байт, " "Ñимволов\n" " или полей\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited не печатать Ñтроки, не Ñодержащие\n" " разделителей\n" " --output-delimiter=СТРОКРиÑпользовать СТРОКУ Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ " "при\n" " выводе, по умолчанию иÑпользуетÑÑ " "разделитель\n" " Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "ИÑпользуйте один и только один из ключей -b, -c или -f. СПИСКИ\n" "ÑоÑтоÑÑ‚ из диапазона или неÑкольких диапазонов, разделенных запÑтыми.\n" "Выбранные чаÑти входного файла печатаютÑÑ Ð² том порÑдке, в котором они\n" "поÑвлÑÑŽÑ‚ÑÑ Ð½Ð° входе, и печатаютÑÑ Ñ€Ð¾Ð²Ð½Ð¾ один раз.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Диапазоны задаютÑÑ Ñледующим образом:\n" "\n" " Ð Ð-ный байт, Ñимвол или поле; отÑчитываетÑÑ Ð¾Ñ‚ 1\n" " Ð- от Ð-ного байта, Ñимвола или Ð¿Ð¾Ð»Ñ Ð´Ð¾ конца Ñтроки\n" " Ð-М от Ð-ного до М-ного (включительно) байта, Ñимвола или полÑ\n" " -М от первого до М-ного (включительно) байта, Ñимвола или полÑ\n" "\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "неправильный байт, Ñимвол или ÑпиÑок полей" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "неверный диапазон без окончаниÑ: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "неверный уменьшающийÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "байтовое Ñмещение %s Ñлишком велико" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "номер Ð¿Ð¾Ð»Ñ %s Ñлишком велик" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "можно задать только один тип ÑпиÑка" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "разделитель должен быть одним Ñимволом" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "вы должны задать ÑпиÑок байт, Ñимволов или полей" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "разделитель Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных можно задавать только при обработке полей" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "запрещение вывода Ñтрок, не Ñодержащих разделителей,\n" "имеет ÑмыÑл только при работе Ñ Ð¿Ð¾Ð»Ñми" #: src/cut.c:870 msgid "missing list of fields" msgstr "отÑутÑтвует ÑпиÑок полей" #: src/cut.c:872 msgid "missing list of positions" msgstr "отÑутÑтвует ÑпиÑок позиций" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [+ФОРМÐТ]\n" " или: %s [-u|--utc|--universal] [ММДДччмм[[Ð’Ð’]ГГ][.ÑÑ]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Выводит текущее Ð²Ñ€ÐµÐ¼Ñ Ð² заданном ФОРМÐТЕ, или изменÑет Ð²Ñ€ÐµÐ¼Ñ Ð² ÑиÑтеме.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=СТРОКРпоказать не текущее времÑ, а времÑ, опиÑанное\n" " заданной СТРОКОЙ\n" " -f, --file=ФÐЙЛ ÑоответÑтвует применению --date Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹\n" " Ñтроки ФÐЙЛÐ\n" " -I[ФОРМ_ВРЕМЕÐИ], --iso-8601[=ФОРМ_ВРЕМЕÐИ]\n" " Вывод даты/времени в формате ISO 8601.\n" " Только дату, еÑли ФОРМ_ВРЕМЕÐИ=«date»\n" " (по умолчанию), «hours», «minutes», «seconds»\n" " или «ns» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹ и времени\n" " Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð¹ точноÑтью.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=ФÐЙЛ показать Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¤ÐЙЛÐ\n" " -R, --rfc-2822 выводить Ð²Ñ€ÐµÐ¼Ñ Ð² ÑоответÑтвии Ñ RFC-2822\n" " Пример: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=СПЕЦ вывеÑти дату/Ð²Ñ€ÐµÐ¼Ñ Ð² формате RFC 3339\n" " СПЕЦ=«date», «seconds» или «ns» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ\n" " даты и времени Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ точноÑтью.\n" " Компоненты даты и времени разделÑÑŽÑ‚ÑÑ Ð¾Ð´Ð½Ð¸Ð¼\n" " пробелом: 2006-08-07 12:34:56-06:00\n" " -s, --set=СТРОКРуÑтановить времÑ, опиÑанное СТРОКОЙ\n" " -u, --utc, --universal показать или уÑтановить универÑальное\n" " координированное времÑ\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "ФОРМÐТ управлÑет выводом. ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти:\n" "\n" " %% знак %\n" " %a Ñокращённое название Ð´Ð½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ (напр., вÑк) ÑоглаÑно локали\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A полное название Ð´Ð½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ (напр., понедельник) ÑоглаÑно локали\n" " %b Ñокращённое название меÑÑца (напр., Ñнв) ÑоглаÑно локали\n" " %B полное название меÑÑца (напр., Ñнварь) ÑоглаÑно локали\n" " %c Ð²Ñ€ÐµÐ¼Ñ Ð¸ дата (напр., Чтв 3 Мар 23:05:25 2005) ÑоглаÑно локали\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C век; как %Y, но опуÑкаютÑÑ Ð´Ð²Ðµ поÑледние цифры (напр., 20)\n" " %d день меÑÑца (напр., 01)\n" " %D дата; аналогично %m/%d/%y\n" " %e день меÑÑца, дополненный пробелами; аналогично %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F Ð¿Ð¾Ð»Ð½Ð°Ñ Ð´Ð°Ñ‚Ð°; Ñквивалентно %Y-%m-%d\n" " %g поÑледние две цифры года Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° недели ISO (Ñм. %G)\n" " %G год Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° недели ISO (Ñм. %V); обычно бывает полезно только Ñ " "%V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h то же, что и %b\n" " %H Ñ‡Ð°Ñ (00..23)\n" " %I Ñ‡Ð°Ñ (01..12)\n" " %j номер Ð´Ð½Ñ Ð² году (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k чаÑ, дополнÑетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð¼ ( 0..23); тоже, что и %_H\n" " %l чаÑ, дополнÑетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð¼ ( 1..12); тоже, что и %_I\n" " %m меÑÑц (01..12)\n" " %M минуты (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n Ð½Ð¾Ð²Ð°Ñ Ñтрока\n" " %N наноÑекунды (000000000..999999999)\n" " %p Ñквивалент AM или PM ÑоглаÑно локали; пуÑто еÑли неизвеÑтно\n" " %P как %p, но Ñтрочными буквами\n" " %r Ð²Ñ€ÐµÐ¼Ñ ÑоглаÑно локали, 12-чаÑовой формат (напр., 11:11:04 PM)\n" " %R чаÑÑ‹ и минуты ÑоглаÑно локали, 24-чаÑовой формат; аналог %H:%M\n" " %s чиÑло Ñекунд, иÑтёкших Ñ 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Ñекунды (00..60)\n" " %t табулÑциÑ\n" " %T времÑ, аналог %H:%M:%S\n" " %u день недели (1..7); 1 обозначает понедельник\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U номер недели в году, еÑли первый день недели -- воÑкреÑенье (00..53)\n" " %V номер недели по ISO, еÑли первый день недели -- понедельник (01..52)\n" " %w день недели (0..6), 0 означает воÑкреÑенье\n" " %W номер недели в году, еÑли первый день недели -- понедельник (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x предÑтавление даты (напр., дд/мм/гг) ÑоглаÑно локали\n" " %X предÑтавление времени (напр., 23:13:48) ÑоглаÑно локали\n" " %y поÑледние две цифры года (00..99)\n" " %Y год\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +ччмм чаÑового поÑÑа (напр., -0400)\n" " %:z +чч:мм чаÑового поÑÑа (напр., -04:00)\n" " %::z +чч:мм:ÑÑ Ñ‡Ð°Ñового поÑÑа (напр., -04:00:00)\n" " %:::z чаÑовой поÑÑ Ñ Ð´Ð¾Ñтаточным количеÑтвом двоеточий (напр., -04, " "+05:30)\n" " %Z Ð±ÑƒÐºÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° чаÑового поÑÑа (напр., EDT)\n" "\n" "По умолчанию date дополнÑет чиÑловые Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ»Ñми.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "ПоÑле «%» могут идти Ñледующие необÑзательные флаги:\n" "\n" " - (дефиÑ) не дополнÑть Ñто поле\n" " _ (подчёркивание) дополнÑть пробелами\n" " 0 (ноль) дополнÑть нулÑми\n" " ^ иÑпользовать верхний региÑтр, еÑли возможно\n" " # иÑпользовать противоположный региÑтр, еÑли возможно\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "ПоÑле любого из флагов идет необÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¿Ð¾Ð»Ñ Ð² виде деÑÑтичного " "чиÑла;\n" "затем необÑзательный модификатор, один из Ñледующих:\n" "E -- еÑли возможно, иÑпользовать альтернативное предÑтавление Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ " "локали\n" "O -- еÑли возможно, иÑпользовать альтернативные чиÑловые Ñимволы локали.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Примеры:\n" "Преобразовать значение в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñпохи (1970-01-01 UTC) в дату\n" " $ date --date='@2147483647'\n" "\n" "Показать Ð²Ñ€ÐµÐ¼Ñ Ð½Ð° западном побережье СШР(Ñм. tzselect(1) Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Показать меÑтное Ð²Ñ€ÐµÐ¼Ñ 09:00 Ñледующей пÑтницы на западном побережье СШÐ\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "Ñтандартный ввод" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "задано неÑколько выходных форматов" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° даты взаимно иÑключают друг друга" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "ключи Ð´Ð»Ñ ÑƒÑтановки и Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ не могут применÑтьÑÑ Ð²Ð¼ÐµÑте" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "аргумент %s не начинаетÑÑ Ñо знака «+»;\n" "при задании даты, каждый аргумент, не ÑвлÑющийÑÑ ÐºÐ»ÑŽÑ‡Ð¾Ð¼, должен быть " "Ñтрокой\n" "формата, начинающейÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ «+»" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "невозможно уÑтановить дату" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Ð²Ñ€ÐµÐ¼Ñ %s вне допуÑтимого диапазона" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Поль Рубин (Paul Rubin)" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s [ОПЕРÐÐД]…\n" " или: %s ПÐРÐМЕТР\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Копирует файл, преобразует и форматирует в завиÑимоÑти от операндов.\n" "\n" " bs=ЧИСЛО читать и пиÑать до ЧИСЛРбайт за раз\n" " cbs=ЧИСЛО преобразовывать заданное ЧИСЛО байт за раз\n" " conv=СПИСОК преобразовывать файл в ÑоответÑтвии Ñо СПИСКОМ Ñимволов,\n" " Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую\n" " count=ЧИСЛО копировать только заданное ЧИСЛО входных блоков\n" " ibs=ЧИСЛО Ñчитывать до ЧИСЛРбайт за раз (по умолчанию 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=ФÐЙЛ читать ФÐЙЛ, а не Ñтандартный ввод\n" " iflag=ФЛÐГИ читать в ÑоответÑтвии Ñо ÑпиÑком Ñимволов,\n" " Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую\n" " obs=ЧИСЛО запиÑывать заданное ЧИСЛО байт за раз (по умолчанию 512)\n" " of=ФÐЙЛ запиÑывать в ФÐЙЛ, а не на Ñтандартный вывод\n" " oflag=ФЛÐГИ запиÑывать в ÑоответÑтвии Ñо ÑпиÑком Ñимволов,\n" " Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую\n" " seek=ЧИСЛО пропуÑтить перед началом вывода заданное ЧИСЛО блоков\n" " размером obs\n" " skip=ЧИСЛО пропуÑтить перед началом ввода заданное ЧИСЛО блоков\n" " размером ibs\n" " status=ИÐФО заданную ИÐФОрмацию не выводить в stderr;\n" " «noxfer» — не выводить ÑтатиÑтику передачи\n" " «none» — не выводить ничего\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "ПоÑле ЧИСЛРблоков и байт может ÑтоÑть один из умножающий ÑуффикÑов:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y.\n" "\n" "Каждый Ñимвол СПИСКРможет быть:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii из EBCDIC в ASCII\n" " ebcdic из ASCII в EBCDIC\n" " ibm из ASCII в альтернативную EBCDIC\n" " block дополнÑть запиÑи, заканчивающиеÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼ Ñтроки, пробелами " "до\n" " размера cbs\n" " unblock заменÑть завершающие пробелы в запиÑÑÑ… размера cbs на\n" " перевод Ñтроки\n" " lcase изменÑть региÑтр Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ на нижний\n" " ucase изменÑть региÑтр Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ на верхний\n" " sparse попытатьÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтитьÑÑ, а не запиÑывать в вывод NUL\n" " входных блоков\n" " swab переÑтавить меÑтами каждую пару входных байт\n" " sync дополнÑть каждый входной блок NUL-ми до размера ibs; при\n" " иÑпользовании Ñ block или unblock, дополнÑть пробелам, а не NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl завершать Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, еÑли выходной файл уже ÑущеÑтвует\n" " nocreat не Ñоздавать выходной файл\n" " notrunc не обрезать выходной файл\n" " noerror продолжать поÑле ошибок чтениÑ\n" " fdatasync физичеÑки запиÑать выходной файл перед завершением\n" " fsync аналогично, но запиÑать также метаданные\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Символ ФЛÐГ может быть таким:\n" "\n" " append режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (имеет ÑмыÑл Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°; рекомендуетÑÑ " "conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio иÑпользовать конкурентный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct иÑпользовать прÑмой ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory выдавать ошибку, еÑли Ñто не каталог\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync иÑпользовать Ñинхронизированный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync то же, но так же и Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock накапливать полные блоки входных данных (только iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock иÑпользовать неблокирующий ввод/вывод\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime не обновлÑть Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache отвергать кÑшированные данные\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty не назначать управлÑющий терминал из файла\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow не Ñледовать по Ñимвольным ÑÑылкам\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks выдавать ошибку, еÑли найдено неÑколько ÑÑылок\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary иÑпользовать бинарный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text иÑпользовать текÑтовый ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes Ñчитать «count=N» как Ñчётчик байт (только Ñ iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes Ñчитать «skip=N» как Ñчётчик байт (только Ñ iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes Ñчитать «seek=N» как Ñчётчик байт (только Ñ oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "ЕÑли поÑлать работающему процеÑÑу «dd» Ñигнал %s, то в\n" "Ñтандартный поток ошибок будет выдана ÑтатиÑтика ввода/вывода\n" "и копирование продолжитÑÑ.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 запиÑей получено\n" " 18335302+0 запиÑей отправлено\n" " 9387674624 байта (9.4 GB) Ñкопировано, 34.6279 Ñекунды, 271 MB/s\n" "\n" "Ключи:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> запиÑей получено\n" "%<PRIuMAX>+%<PRIuMAX> запиÑей отправлено\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> уÑÐµÑ‡Ñ‘Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ\n" msgstr[1] "%<PRIuMAX> уÑечённые запиÑи\n" msgstr[2] "%<PRIuMAX> уÑечённых запиÑей\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] " Ñкопирован %<PRIuMAX> байт (%s)" msgstr[1] " Ñкопировано %<PRIuMAX> байта (%s)" msgstr[2] " Ñкопировано %<PRIuMAX> байт (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "БеÑконечноÑть" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g c, %s/c\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "закрытие входного файла %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "закрытие выходного файла %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "не удалоÑÑŒ выключить O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "запиÑÑŒ в %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "операнд %s не раÑпознан" #: src/dd.c:1218 msgid "invalid conversion" msgstr "недопуÑтимое преобразование" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "недопуÑтимый флаг ввода" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "недопуÑтимый флаг вывода" #: src/dd.c:1227 msgid "invalid status flag" msgstr "недопуÑтимый флаг ÑоÑтоÑниÑ" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "неверный номер %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать любые два из {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать block и unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать lcase и ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать excl и nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать direct и nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "предупреждение: обходим ошибку lseek в Ñдре Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° (%s)\n" " mt_type=0x%0lx -- Ñм. <sys/mtio.h> Ð´Ð»Ñ ÑпиÑка типов" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: невозможно пропуÑтить" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: невозможно ÑмеÑтитьÑÑ" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "переполнение Ñдвига при чтении файла %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "предупреждение: Ñмещение файла Ñтало неверным поÑле ошибки чтениÑ" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "невозможно обойти ошибку Ñдра" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "уÑтановка флагов Ð´Ð»Ñ %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "иÑчерпана памÑть буфером ввода размера %zu байт (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "иÑчерпана памÑть буфером вывода размера %zu байт (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: невозможно пропуÑтить до заданного ÑмещениÑ" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "не удалоÑÑŒ выполнить отÑечение на %<PRIdMAX> байт в выходном файле %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fdatasync Ð´Ð»Ñ %s завершилаÑÑŒ неудачно" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fsync Ð´Ð»Ñ %s завершилаÑÑŒ неудачно" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "не удалоÑÑŒ открыть %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "Ñмещение Ñлишком велико: невозможно обрезать до величины seek=%<PRIuMAX> " "(%lu-байтных) блоков" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "не удалоÑÑŒ выполнить отÑечение на %<PRIuMAX> байт в выходном файле %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "Ñбой при отбраÑывании данных кÑша длÑ: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Поль Эггерт (Paul Eggert)" #: src/df.c:172 msgid "Filesystem" msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема" #: src/df.c:175 msgid "Type" msgstr "Тип" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "блоков" #: src/df.c:181 msgid "Used" msgstr "ИÑпользовано" #: src/df.c:184 msgid "Available" msgstr "ДоÑтупно" #: src/df.c:187 msgid "Use%" msgstr "ИÑпользовано%" #: src/df.c:190 msgid "Inodes" msgstr "Iнодов" #: src/df.c:193 msgid "IUsed" msgstr "IИÑпользовано" #: src/df.c:196 msgid "IFree" msgstr "IСвободно" #: src/df.c:199 msgid "IUse%" msgstr "IИÑпользовано%" #: src/df.c:202 msgid "Mounted on" msgstr "Cмонтировано в" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "ключ --output: неизвеÑтное поле «%s»" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "ключ --output: поле «%s» иÑпользуетÑÑ Ð±Ð¾Ð»ÐµÐµ одного раза" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Размер" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "ДоÑÑ‚" #: src/df.c:474 msgid "Capacity" msgstr "ВмеÑтимоÑть" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Показывает ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ файловой ÑиÑтеме, на которой раÑположен каждый\n" "из ФÐЙЛОВ, или, по умолчанию, обо вÑех файловых ÑиÑтемах.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all включать фиктивные файловые ÑиÑтемы\n" " -B, --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. Ðапример,\n" " «-BM» выводит размеры в единицах, равных 1,048,576 " "байтам.\n" " См. формат РÐЗМЕРРдалее.\n" " --total выводить общий итог\n" " -h, --human-readable выводить размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде\n" " (например, 1K 234M 2G)\n" " -H, --si то же, но иÑпользовать Ñтепени 1000, а не 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes вывеÑти информацию об индекÑных деÑкрипторах, а " "не\n" " об иÑпользовании блоков\n" " -k аналог --block-size=1K\n" " -l, --local перечиÑлить только локальные файловые ÑиÑтемы\n" " --no-sync не вызывать sync перед получением информации об\n" " иÑпользовании блоков (по умолчанию)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=FIELD_LIST]\n" " при выводе иÑпользовать формат FIELD_LIST, или\n" " показать вÑе полÑ, еÑли значение FIELD_LIST\n" " не указано.\n" " -P, --portability выводить в формате POSIX\n" " --sync вызывать sync перед получением информации об\n" " иÑпользовании блоков\n" " -t, --type=ТИП перечиÑлить только файловые ÑиÑтемы указанного " "ТИПÐ\n" " -T, --print-type выводить тип файловой ÑиÑтемы\n" " -x, --exclude-type=ТИП иÑключить файловые ÑиÑтемы указанного ТИПÐ\n" " -v (игнорируетÑÑ)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "Значение FIELD_LIST предоÑтавлÑет Ñобой ÑпиÑок включаемых колонок,\n" "перечиÑлÑемых через запÑтую. Возможные имена полей:\n" "«source», «fstype», «itotal», «iused», «iavail», «ipcent»,\n" "«size», «used», «avail», «pcent» и «target» (Ñм. также Ñтраницу info).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "ключи %s и %s взаимно иÑключают друг друга" #: src/df.c:1335 msgid "warning: " msgstr "предупреждение: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "длинный параметр «--megabytes» уÑтарел и Ñкоро будет удален" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема типа %s и выбрана, и иÑключена" #: src/df.c:1500 msgid "Warning: " msgstr "Предупреждение: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "не удалоÑÑŒ прочитать таблицу Ñмонтированных файловых ÑиÑтем" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "не обработано ни одной файловой ÑиÑтемы" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "Ð¥. Питер Энвин (H. Peter Anvin)" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Выдает команды Ð´Ð»Ñ ÑƒÑтановки переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS.\n" "\n" "Задать формат вывода:\n" " -b, --sh, --bourne-shell вывеÑти код Ð´Ð»Ñ ÑƒÑтановки LS_COLORS в\n" " Bourne shell\n" " -c, --csh, --c-shell вывеÑти код Ð´Ð»Ñ ÑƒÑтановки LS_COLORS в C shell\n" " -p, --print-database вывеÑти уÑтановки по умолчанию\n" " --help показать помощь и выйти\n" " --version вывеÑти информацию о верÑии и выйти\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "ЕÑли указан ФÐЙЛ, то читать его чтобы узнать какие цвета каким раÑширениÑм\n" "ÑопоÑтавлены. Иначе иÑпользовать базу данных по умолчанию. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ\n" "детального опиÑÐ°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° ФÐЙЛРзапуÑтите «dircolors --print-database».\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока; пропущена Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÐµÐºÑема" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu ключевое Ñлово %s не раÑпознано" #: src/dircolors.c:359 msgid "<internal>" msgstr "<внутренний>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° внутренней базы данных dircolors и ключи Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð°\n" "ÑинтакÑиÑа оболочки взаимно иÑключают друг друга" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "операнды-файлы Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --print-database (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "либо Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ SHELL отÑутÑтвует, либо не задан тип интерпретатора" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "ИÑпользование: %s [КЛЮЧ] ИМЯ…\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Выводит каждое ИМЯ, удалÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ у поÑледней коÑой черты; еÑли ИМЯ не\n" "Ñодержит коÑой черты, выводит «.» (то еÑть текущий каталог).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero разделÑть вывод NUL, а не Ñимволом новой Ñтроки\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Примеры:\n" " %s /usr/bin/ -> «/usr»\n" " %s dir1/str dir2/str -> за «dir1» выводитÑÑ Â«dir2»\n" " %s stdio.h -> «.»\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]…\n" " или: %s [КЛЮЧ]… --files0-from=Ф\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Суммирует иÑпользование диÑкового проÑтранÑтва каждого ФÐЙЛÐ, Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null заканчивать каждую выводимую Ñтроку 0-м байтом,\n" " а не Ñимволом новой Ñтроки\n" " -a, --all печатать объём Ð´Ð»Ñ Ð²Ñех файлов, а не только\n" " каталогов\n" " --apparent-size печатать дейÑтвительные размеры, а не занимаемое " "на\n" " диÑке меÑто; Ñ…Ð¾Ñ‚Ñ Ð´ÐµÐ¹Ñтвительный размер обычно\n" " меньше, иногда он может быть больше из-за дыр в\n" " («прореженных» sparse) файлах, внутренней " "фрагментации,\n" " коÑвенных блоков и тому подобного\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. Ðапример,\n" " «-BM» выводит размеры в единицах, равных " "1,048,576 байтам.\n" " См. формат РÐЗМЕРРдалее.\n" " -b, --bytes Ñквивалентно «--apparent-size --block-size=1»\n" " -c, --total выводить общий итог\n" " -D, --dereference-args Ñледовать только по Ñимвольным ÑÑылкам,\n" " которые перечиÑлены в командной Ñтроке\n" " -d, --max-depth=N выводить общий размер каталога (или файла,\n" " еÑли --all) только Ð´Ð»Ñ N-го или меньшего уровнÑ\n" " чем указанный аргумент командной Ñтроки;\n" " значение --max-depth=0 аналогично\n" " указанию --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=Ф вывеÑти отчёт об иÑпользовании диÑка, чьи имена\n" " файлов (завершённые нулем) перечиÑлены в файле Ф\n" " ЕÑли Ф равно -, то читать имена файлов из\n" " Ñтандартного ввода\n" " -H Ñквивалентен ключу --dereference-args (-D)\n" " -h, --human-readable печатать размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде\n" " (например, 1K 234M 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k Ñиноним --block-size=1K\n" " -L, --dereference разыменовывать Ñимвольные ÑÑылки\n" " -l, --count-links Ñкладывать размеры, еÑли еÑть неÑколько жёÑтких\n" " ÑÑылок\n" " -m Ñиноним --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference не Ñледовать по Ñимвольным ÑÑылкам (по " "умолчанию)\n" " -S, --separate-dirs не включать размер подкаталогов\n" " --si как -h, но иÑпользовать множитель 1000, а не " "1024\n" " -s, --summarize показывать только итог Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ аргумента\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=РÐЗМЕР иÑключить Ñлементы, размер которых меньше " "РÐЗМЕРÐ,\n" " еÑли значение положительно, или размер которых\n" " больше, еÑли значение отрицательно\n" " --time показывать Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²\n" " в каталоге или во вÑех его подкаталогах\n" " --time=СЛОВО показывать указанное СЛОВОМ времÑ, а не времÑ\n" " изменениÑ: atime, access, use, ctime или status\n" " --time-style=СТИЛЬ показывать времÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¡Ð¢Ð˜Ð›Ð¬:\n" " full-iso, long-iso, iso, +ФОРМÐТ\n" " ФОРМÐТ интерпретируетÑÑ ÐºÐ°Ðº в «date»\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=ФÐЙЛ иÑключить файлы, Ñовпадающие Ñ Ð»ÑŽÐ±Ñ‹Ð¼ шаблоном\n" " из ФÐЙЛа\n" " --exclude=ШÐБЛОРиÑключить файлы, Ñовпадающие Ñ Ð¨ÐБЛОÐом\n" " -x, --one-file-system пропуÑкать каталоги из других файловых ÑиÑтем\n" #: src/du.c:386 msgid "Infinity" msgstr "БеÑконечноÑть" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "точка Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s уже пройдена" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_read завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ð»ÑƒÐ±Ð¸Ð½Ð° %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "недопуÑтимый Ð´Ð»Ñ --threshold аргумент «-0»" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "невозможно одновременно подводить итог и показывать вÑе Ñлементы" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "предупреждение: подведение итога Ñто то же Ñамое, что и --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "предупреждение: подведение итога конфликтует Ñ --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "операнды-файлы Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: ошибка чтениÑ" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "при чтении имён файлов Ñо Ñтандартного ввода, Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° %s не допуÑкаетÑÑ" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "неверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° нулевой длины" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "итого" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Бриан Ð¤Ð¾ÐºÑ (Brian Fox)" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Чет Ремей (Chet Ramey)" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "ИÑпользование: %s [КОРОТКИЙ-КЛЮЧ]… [СТРОКÐ]…\n" " или: %s ДЛИÐÐЫЙ-КЛЮЧ\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Печатает СТРОКУ(СТРОКИ) на Ñтандартный вывод.\n" "\n" " -n не печатать завершающий перевод Ñтроки\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e интерпретировать управлÑющие поÑледовательноÑти\n" " (по умолчанию)\n" " -E не интерпретировать управлÑющие поÑледовательноÑти\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e интерпретировать управлÑющие поÑледовательноÑти\n" " -E не интерпретировать управлÑющие поÑледовательноÑти\n" " (по умолчанию)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "ЕÑли дейÑтвует ключ -e, раÑпознаютÑÑ Ñледующие поÑледовательноÑти:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°\n" " \\a звуковой Ñигнал (BEL)\n" " \\b забой\n" " \\c подавить дальнейший вывод\n" " \\e Ñкранирование (escape)\n" " \\f Ð½Ð¾Ð²Ð°Ñ Ñтраница\n" " \\n Ð½Ð¾Ð²Ð°Ñ Ñтрока\n" " \\r возврат каретки\n" " \\t Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n" " \\v Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN байт Ñ Ð²Ð¾Ñьмеричным значением ÐÐÐ (от 1 до 3 цифр)\n" " \\xHH байт Ñ ÑˆÐµÑтнадцатеричным значением HH (от 1 до 2 цифр)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Ричард Млинарик (Richard Mlynarik)" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [-] [ИМЯ=ЗÐÐЧЕÐИЕ]… [КОМÐÐДР[ÐРГ]…]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "ПриÑваивает каждому ИМЕÐИ ÑоответÑтвующее ЗÐÐЧЕÐИЕ в окружении и запуÑкает " "КОМÐÐДУ.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment начать Ñ Ð¿ÑƒÑтым окружением\n" " -0, --null завершать каждую выводимую Ñтроку 0-м байтом,\n" " a не Ñимволом новой Ñтроки\n" " -u, --unset=ИМЯ удалить переменную Ñ Ð˜ÐœÐ•ÐЕМ из окружениÑ\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "ПроÑто «-» -- Ñиноним Ð´Ð»Ñ Â«-i». ЕÑли не задана КОМÐÐДÐ, печатает " "получившееÑÑ\n" "окружение.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "невозможно удалить %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "невозможно уÑтановить %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "невозможно указание --null (-0) Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Преобразует Ñимволы табулÑции в каждом ФÐЙЛЕ в пробелы и печатает на " "Ñтандартный\n" "вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial не преобразовывать Ñимволы табулÑции поÑле " "непробельных\n" " Ñимволов\n" " -t, --tabs=ЧИСЛО уÑтанавливает ширину табулÑции, по умолчанию 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=СПИСОК иÑпользовать разделённый запÑтыми ÑпиÑок позиций\n" " табулÑции\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "размер табулÑции Ñлишком велик %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "размер табулÑции Ñодержит недопуÑтимый Ñимвол(Ñ‹): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "размер табулÑции не может быть равен нулю" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "номера позиций табулÑции должны возраÑтать" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñтрока Ñлишком велика" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Майк Паркер (Mike Parker)" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "Ð”Ð¶ÐµÐ¹Ð¼Ñ Ð¯Ð½Ð³Ð¼ÐµÐ½ (James Youngman)" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s ВЫРÐЖЕÐИЕ\n" " или: %s КЛЮЧ\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Печатает значение ВЫРÐЖЕÐИЯ на Ñтандартный вывод. Ðиже пуÑтыми Ñтроками\n" "разделены группы по возраÑтанию приоритета. ДопуÑтимые ВЫРÐЖЕÐИЯ:\n" "\n" " ÐРГ1 | ÐРГ2 ÐРГ1, еÑли он отличен от нулÑ, иначе ÐРГ2\n" "\n" " ÐРГ1 & ÐРГ2 ÐРГ1, еÑли оба отличны от нулÑ, иначе 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ÐРГ1 < ÐРГ2 ÐРГ1 меньше ÐРГ2\n" " ÐРГ1 <= ÐРГ2 ÐРГ1 меньше или равен ÐРГ2\n" " ÐРГ1 = ÐРГ2 ÐРГ1 равен ÐРГ2\n" " ÐРГ1 != ÐРГ2 ÐРГ1 не равен ÐРГ2\n" " ÐРГ1 >= ÐРГ2 ÐРГ1 больше или равен ÐРГ2\n" " ÐРГ1 > ÐРГ2 ÐРГ1 больше ÐРГ2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ÐРГ1 + ÐРГ2 арифметичеÑÐºÐ°Ñ Ñумма ÐРГ1 и ÐРГ2\n" " ÐРГ1 - ÐРГ2 арифметичеÑÐºÐ°Ñ Ñ€Ð°Ð·Ð½Ð¾Ñть ÐРГ1 и ÐРГ2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ÐРГ1 * ÐРГ2 арифметичеÑкое произведение ÐРГ1 и ÐРГ2\n" " ÐРГ1 / ÐРГ2 арифметичеÑкое чаÑтное ÐРГ1 и ÐРГ2\n" " ÐРГ1 % AРГ2 арифметичеÑкий оÑтаток от Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÐРГ1 на ÐРГ2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " СТРОКР: REGEXP проверка ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ REGEXP Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ или концом СТРОКИ\n" "\n" " match СТРОКРREGEXP то же, что и СТРОКР: REGEXP\n" " substr СТРОКРПОЗ ДЛИÐРподÑтрока СТРОКИ, Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¾Ñ‚ÑчитываетÑÑ Ð¾Ñ‚ 1\n" " index СТРОКРСИМВОЛЫ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² СТРОКЕ, где первым найден любой из\n" " СИМВОЛОВ, иначе 0\n" " length СТРОКРдлина СТРОКИ\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + ЛЕКСЕМРвоÑпринимать ЛЕКСЕМУ как Ñтроку, даже еÑли Ñто\n" " ключевое Ñлово, такое как «match», или\n" " оператор, такой как «/»\n" "\n" " ( ВЫРÐЖЕÐИЕ ) значение ВЫРÐЖЕÐИЯ\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Помните, что при иÑпользовании в оболочке некоторые операторы должны быть " "взÑты\n" "в кавычки. ЕÑли оба аргумента ÐРГ ÑвлÑÑŽÑ‚ÑÑ Ñ‡Ð¸Ñлами, то производитÑÑ\n" "арифметичеÑкое Ñравнение, иначе они ÑравниваютÑÑ ÐºÐ°Ðº Ñтроки. СопоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ " "Ñ\n" "образцом возвращают Ñовпавшую Ñтроку между \\( и \\) или пуÑтую Ñтроку;\n" "еÑли \\( и \\) не иÑпользованы, то возвращаетÑÑ Ñ‡Ð¸Ñло Ñовпавших Ñимволов.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Выходной ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ€Ð°Ð²ÐµÐ½ 0, еÑли ВЫРÐЖЕÐИЕ не пуÑтое и не 0; 1, еÑли\n" "ВЫРÐЖЕÐИЕ пуÑто или 0; 2, еÑли ВЫРÐЖЕÐИЕ ÑинтакÑичеÑки неверно; и 3,\n" "еÑли ÑлучитÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "ошибка в ÑопоÑтавителе регулÑрных выражений" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "нецелочиÑленный аргумент" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "деление на ноль" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "чтобы обойти Ñту проблему, уÑтановите LC_ALL='C'" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "ÑравнивалиÑÑŒ Ñтроки %s %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "ÐÐ¸Ð»ÑŒÑ ÐœÐµÐ»Ð»ÐµÑ€ (Niels Moller)" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Ðе пройден оÑновной теÑÑ‚ ЛукаÑа. Этого не должно ÑлучитьÑÑ" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "переполнение очереди squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым целым положительным чиÑлом" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s Ñлишком велик" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s [ЧИСЛО]…\n" " или: %s КЛЮЧ\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Печатает проÑтые множители Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ заданного целого ЧИСЛÐ. ЕÑли\n" "аргументы не заданы, читает чиÑла Ñо Ñтандартного ввода.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "не удалоÑÑŒ получить текущий каталог" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "невозможно Ñменить каталог на %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "невозможно выполнить stat Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ каталога (ÑÐµÐ¹Ñ‡Ð°Ñ %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "РоÑÑ ÐŸÐ°Ñ‚ÐµÑ€Ñон (Ross Paterson)" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "ИÑпользование: %s [-ЦИФРЫ] [КЛЮЧ]… [ФÐЙЛ]…\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Переформатирует каждый абзац в ФÐЙЛЕ(ах) и печатает на Ñтандартный вывод.\n" "Ключ -ЦИФРЫ -- ÑÐ¾ÐºÑ€Ð°Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° --width=ЦИФРЫ.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin ÑохранÑть отÑтупы двух первых Ñтрок\n" " -p, --prefix=СТРОКРформатировать только Ñтроки, начинающиеÑÑ Ñо\n" " СТРОКИ, ÑохранÑÑ Ð¿Ñ€Ð¸ Ñтом Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ñтрок\n" " -s, --split-only разбивать длинные Ñтроки, но не заполнÑть\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph отÑтуп первой Ñтроки отличен от отÑтупа второй\n" " -u, --uniform-spacing один пробел поÑле Ñлова, два поÑле предложениÑ\n" " -w, --width=ЧИСЛО макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ñтроки (по умолчанию 75\n" " Ñтолбцов)\n" " -g, --goal=ЧИСЛО ширина задаваемого Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ (goal,\n" " по умолчанию 93% ширины)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "неверный ключ -- %c; -ЦИФРЫ раÑпознаетÑÑ, только еÑли Ñто первый\n" "аргумент, в противном Ñлучае пишите -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Разбивает Ñтроки в ФÐЙЛЕ(ах) (по умолчанию читает Ñтандартный ввод) и " "печатает\n" "на Ñтандартный вывод.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes Ñчитать байты, а не Ñтолбцы\n" " -s, --spaces разбивать только на пробелах\n" " -w, --width=ЧИСЛО иÑпользовать указанное ЧИСЛО Ñтолбцов, а не 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "неверное чиÑло Ñтолбцов: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Падрайг БрÑди (Padraig Brady)" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "ИÑпользование: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "ВывеÑти Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ в форме, пригодной Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñ\n" "ÑценариÑÑ… командной Ñтроки.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "не удалоÑÑŒ получить группы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "не удалоÑÑŒ получить группы текущего процеÑÑа" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "невозможно определить Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð´Ð»Ñ ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ]…\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "ВывеÑти данные о членÑтве в группах по каждому ИМЕÐИ ПОЛЬЗОВÐТЕЛЯ или, еÑли\n" "ИМЯ не задано, то по текущему процеÑÑу (может различатьÑÑ, еÑли база данных\n" "групп была изменена).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "невозможно получить реальный UID" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "невозможно получить Ñффективный GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "невозможно получить реальный GID" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: такого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Печатает первые 10 Ñтрок каждого ФÐЙЛРна Ñтандартный вывод.\n" "ЕÑли задано неÑколько ФÐЙЛОВ, Ñначала печатает заголовок Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла.\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K напечатать первые K байт каждого файла;\n" " еÑли перед K Ñтоит «-», напечатать вÑе, кроме K\n" " поÑледних байт каждого файла\n" " -n, --lines=[-]K напечатать K Ñтрок каждого файла, а не первые " "10;\n" " еÑли перед K Ñтоит «-», напечатать вÑе, кроме K\n" " поÑледних Ñтрок каждого файла\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent не печатать заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов\n" " -v, --verbose вÑегда печатать заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "ПоÑле K может ÑтоÑть один из умножающий ÑуффикÑов:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: файл Ñлишком ÑократилÑÑ" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: чиÑло байт Ñлишком велико" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: невозможно вернуть указатель файла на первоначальную позицию" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: невозможно ÑмеÑтитьÑÑ Ðº позиции %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: не удалоÑÑŒ ÑброÑить (reset) файловый указатель" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "невозможно перемеÑтить указатель файла Ð´Ð»Ñ %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s наÑтолько велико, что его невозможно машинно предÑтавить" #: src/head.c:886 msgid "number of lines" msgstr "чиÑло Ñтрок" #: src/head.c:886 msgid "number of bytes" msgstr "чиÑло байт" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "неверное чиÑло Ñтрок" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "неверный чиÑло байт" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "неверный завершающий ключ -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]\n" "Печатает чиÑловой идентификатор (шеÑтнадцатеричный) текущей машины.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "ИÑпользование: %s [ИМЯ]\n" " или: %s КЛЮЧ\n" "Печатает или уÑтанавливает Ð¸Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑиÑтемы.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "невозможно уÑтановить Ð¸Ð¼Ñ Ð² значение %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "невозможно уÑтановить оÑновное Ð¸Ð¼Ñ -- Ñта ÑиÑтема не обладает такой " "ÑпоÑобноÑтью" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "невозможно определить Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Ðрнольд Ð Ð¾Ð±Ð±Ð¸Ð½Ñ (Arnold Robbins)" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Печатает информацию о пользователе и группе Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾\n" "ПОЛЬЗОВÐТЕЛЯ, или о текущем пользователе (еÑли ничего не указано).\n" "\n" " -a игнорируетÑÑ, введено только Ð´Ð»Ñ ÑовмеÑтимоÑти\n" " -Z, --context вывеÑти только контекÑÑ‚ безопаÑноÑти текущего " "пользователÑ\n" " -g, --group печатать только Ñффективный ID группы\n" " -G, --groups печатать вÑе ID групп\n" " -n, --name печатать Ð¸Ð¼Ñ Ð²Ð¼ÐµÑто номера, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -ugG\n" " -r, --real печатать дейÑтвительные, а не Ñффективные ID, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -" "ugG\n" " -u, --user печатать только Ñффективный ID пользователÑ\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "ЕÑли КЛЮЧИ не заданы, печатает некоторый Ñтандартный набор полезных " "Ñведений.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) работает только Ð´Ð»Ñ Ñдер Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "невозможно напечатать контекÑÑ‚ безопаÑноÑти, еÑли указан пользователь" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "невозможно печатать «только» более одного выбора" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "невозможно напечатать только имена или дейÑтвительные ID в формате по " "умолчанию" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "не удалоÑÑŒ получить контекÑÑ‚ процеÑÑа" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "невозможно получить Ñффективный UID" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "невозможно определить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " группы=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " контекÑÑ‚=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "предупреждение: %s: невозможно Ñменить контекÑÑ‚ на %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "Ñоздание каталога %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "невозможно изменить владельца %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "невозможно уÑтановить временные отметки Ð´Ð»Ñ %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ÑиÑтемный вызов fork завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "невозможно запуÑтить %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "ожидание strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "процеÑÑ strip завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "неверный пользователь %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [-T] ИСТОЧÐИК ÐÐЗÐÐЧЕÐИЕ\n" " или: %s [КЛЮЧ]… ИСТОЧÐИК… КÐТÐЛОГ\n" " или: %s [КЛЮЧ]… -t КÐТÐЛОГ ИСТОЧÐИК…\n" " или: %s [КЛЮЧ]… -d КÐТÐЛОГ…\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Программа install копирует файлы (чаÑто, только что Ñкомпилированные) в\n" "заданное вами меÑто. ЕÑли вы хотите Ñкачать и уÑтановить готовый к\n" "иÑпользованию пакет в ÑиÑтему GNU/Linux, то вмеÑто неё должны иÑпользовать\n" "менеджер пакетов, например yum(1) или apt-get(1).\n" "\n" "Ð’ первых трёх формах копируетÑÑ Ð˜Ð¡Ð¢ÐžÐ§ÐИК в ÐÐЗÐÐЧЕÐИЕ или неÑколько\n" "ИСТОЧÐИКОВ в ÑущеÑтвующий КÐТÐЛОГ, уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ‹ доÑтупа и\n" "владельца/группу. Ð’ четвёртой форме ÑоздаютÑÑ Ð²Ñе компоненты указанных\n" "КÐТÐЛОГОВ.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=КОÐТРОЛЬ] Ñоздавать резервные копии целевых файлов\n" " -b то же, что и --backup, но без аргумента\n" " -c (игнорируетÑÑ)\n" " -C, --compare Ñравнивать каждую пару файл иÑточника и " "назначениÑ,\n" " и, в некоторых ÑлучаÑÑ…, вообще не изменÑть файл\n" " назначениÑ\n" " -d, --directory раÑÑматривать вÑе аргументы как каталоги; " "Ñоздавать\n" " вÑе компоненты указанных каталогов\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D Ñоздавать вÑе начальные ÑоÑтавлÑющие ÐÐЗÐÐЧЕÐИЯ\n" " кроме поÑледнего, затем копировать ИСТОЧÐИК в\n" " ÐÐЗÐÐЧЕÐИЕ\n" " -g, --group=ГРУППРуÑтанавливать ГРУППУ, а не группу текущего " "процеÑÑа\n" " -m, --mode=РЕЖИМ уÑтанавливать РЕЖИМ (как chmod), а не rwxr-xr-x\n" " -o, --owner=ВЛÐДЕЛЕЦ уÑтанавливать ВЛÐДЕЛЬЦР(только длÑ\n" " ÑуперпользователÑ)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps уÑтанавливать целевым файлам времена\n" " доÑтупа/Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº у их файлов-ИСТОЧÐИКОВ\n" " -s, --strip удалÑть таблицы Ñимволов\n" " --strip-program=ПРОГРÐММРзадать программу Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ\n" " таблицы Ñимволов\n" " -S, --suffix=СУФФИКС иÑпользовать Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… копий заданный " "СУФФИКС\n" " -t, --target-directory=КÐТÐЛОГ копировать вÑе аргументы-ИСТОЧÐИКИ в " "КÐТÐЛОГ\n" " -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом\n" " -v, --verbose выводить название каждого Ñоздаваемого каталога\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context ÑохранÑть контекÑÑ‚ безопаÑноÑти SELinux\n" " -Z, --context=КОÐТЕКСТ задать контекÑÑ‚ безопаÑноÑти SELinux файлам\n" " и каталогам\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --preserve-context; Ñдро без поддержки " "SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --context (-Z); Ñдро без поддержки SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "при уÑтановке каталога Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ñть ключ strip" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "при уÑтановке каталога Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ целевой каталог" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "невозможно уÑтановить контекÑÑ‚ цели в %s и Ñохранить его" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "неверный режим %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --strip-program, так как не указан ключ -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "ключи --compare (-C) и --preserve-timestamps взаимно иÑключают друг друга" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "ключи --compare (-C) и --strip взаимно иÑключают друг друга" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "ключ --compare (-C) игнорируетÑÑ, еÑли вы указываете режим Ñ Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ñ‹Ð¼Ð¸ " "битами" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Майк Гертель (Mike Haertel)" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пары входных Ñтрок Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ общими полÑми выводит Ñтроку на\n" "Ñтандартный вывод. По умолчанию общее поле ÑчитаетÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¼, Ð¿Ð¾Ð»Ñ " "разделÑÑŽÑ‚ÑÑ\n" "пробельными Ñимволами. ЕÑли один из ФÐЙЛОВ задан как -, читает Ñтандартный\n" "ввод.\n" "\n" " -a ÐОМЕР также печатать не имеющие пары Ñтроки из файла ÐОМЕР,\n" " где ÐОМЕР может быть 1 или 2, которые ÑоответÑтвуют\n" " ФÐЙЛУ1 и ФÐЙЛУ2\n" " -e СТРОКРзамещать при выводе пуÑтые Ñтроки указанной СТРОКОЙ\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case игнорировать региÑтр букв при Ñравнении полей\n" " -j ПОЛЕ Ñквивалентно «-1 ПОЛЕ -2 ПОЛЕ»\n" " -o ФОРМÐТ выводить в ÑоответÑтвии Ñ Ð¤ÐžÐ ÐœÐТОМ\n" " -t СИМ иÑпользовать СИМВОЛ как разделитель полей ввода и " "вывода\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v ÐОМЕР как -а ÐОМЕР, но не печатать объединÑемые выходные\n" " Ñтроки\n" " -1 ПОЛЕ Ñчитать общим заданное ПОЛЕ файла 1\n" " -2 ПОЛЕ Ñчитать общим заданное ПОЛЕ файла 2\n" " --check-order проверить правильноÑть Ñортировки ввода, даже\n" " еÑли вÑе входные Ñтроки имеют пару\n" " --nocheck-order не проверÑть правильноÑть Ñортировки ввода\n" " --header Ñчитать первую Ñтроку каждого файла названиÑми полей,\n" " выводить их без Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¸Ñка пары\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "ЕÑли не задан -t СИМВОЛ, начальные пробельные Ñимволы разделÑÑŽÑ‚ Ð¿Ð¾Ð»Ñ Ð¸\n" "игнорируютÑÑ, в противном Ñлучае Ð¿Ð¾Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÑÑŽÑ‚ÑÑ Ð¡Ð˜ÐœÐ’ÐžÐ›ÐžÐœ. ПОЛЕ — Ñто\n" "номер полÑ, отÑчитываемый от 1. ФОРМÐТ — Ñто одно или неÑколько\n" "разделÑемых запÑтыми или пробельными Ñимволами опиÑаний формата в виде\n" "«ÐОМЕР_ФÐЙЛÐ.ПОЛЕ» или «0». По умолчанию ФОРМÐТ выводит общее поле,\n" "оÑтальные Ð¿Ð¾Ð»Ñ Ð¸Ð· ФÐЙЛÐ1 и оÑтальные Ð¿Ð¾Ð»Ñ Ð¸Ð· ФÐЙЛÐ2, разделённые\n" "СИМВОЛОМ. ЕÑли значение ФОРМÐТ равно «auto», то Ð¿ÐµÑ€Ð²Ð°Ñ Ñтрока\n" "каждого файла определÑет количеÑтво полей в каждой Ñтроке результата.\n" "\n" "Важно: ФÐЙЛ1 и ФÐЙЛ2 должны быть отÑортированы по общим полÑм.\n" "Ðапример, иÑпользуйте «sort -k 1b,1», еÑли у «join» нет ключей или\n" "«join -t ''», еÑли у «sort» нет ключей. Заметим, что при Ñравнении " "дейÑтвуют\n" "правила, задаваемые «LC_COLLATE». ЕÑли ввод не отÑортирован и одинаковые\n" "Ñтроки не объединены, то будет выдано предупреждающее Ñообщение.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: без Ñортировки: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "неверный номер полÑ: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ð»Ñ: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "неверный номер файла в Ñпецификации полÑ: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "Ð¿Ð¾Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ %lu, %lu неÑовмеÑтимы" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "конфликтующие Ñтроки замены Ð´Ð»Ñ Ð¿ÑƒÑтого полÑ" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "Ð¼Ð½Ð¾Ð³Ð¾Ð·Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "неÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "оба файла не могут быть Ñтандартным вводом" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "ИÑпользование: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID…\n" " или: %s -l [СИГÐÐЛ]…\n" " или: %s -t [СИГÐÐЛ]…\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "ПоÑылает процеÑÑам Ñигналы или показывает ÑпиÑок Ñигналов.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=СИГÐÐЛ, -СИГÐÐЛ\n" " задает Ð¸Ð¼Ñ Ð¸Ð»Ð¸ номер поÑылаемого Ñигнала\n" " -l, --list перечиÑлÑет имена Ñигналов или переводит имена в номера и\n" " наоборот\n" " -t, --table печатает таблицу Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о Ñигналах\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "СИГÐÐЛ может задаватьÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñигнала, например «HUP» или номером Ñигнала,\n" "например «1» или выходным значением процеÑÑа, прерванного Ñигналом.\n" "PID ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом; еÑли оно отрицательно, то обозначает группу\n" "процеÑÑов.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: неверный идентификатор процеÑÑа" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "неверный ключ -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: задано неÑколько Ñигналов" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "задано неÑколько ключей -l или -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñть Ñигнал Ñ -l или -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "не задан идентификатор процеÑÑа" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "не удалоÑÑŒ выделить %<PRIuMAX> байт Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ð° stdio\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "неверный режим буферизации %s Ð´Ð»Ñ %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "невозможно уÑтановить буферизацию %s в режим %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Майкл Стоун (Michael Stone)" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s ФÐЙЛ1 ФÐЙЛ2\n" " или: %s КЛЮЧ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Вызывает функцию link Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑылки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ФÐЙЛ2 на ÑущеÑтвующий " "ФÐЙЛ1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "невозможно Ñоздать ÑÑылку %s на %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: не допуÑкаетÑÑ Ñоздавать жёÑткие ÑÑылки на каталоги" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: невозможно перезапиÑать каталог" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: заменить %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "не удалоÑÑŒ Ñоздать Ñимвольную ÑÑылку %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "не удалоÑÑŒ Ñоздать Ñимвольную ÑÑылку %s на %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку на %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [-T] ЦЕЛЬ ИМЯ_ССЫЛКИ (1-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°)\n" " или: %s [КЛЮЧ]… ЦЕЛЬ (2-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°)\n" " или: %s [КЛЮЧ]… ЦЕЛЬ... КÐТÐЛОГ (3-Ñ Ñ„Ð¾Ñ€Ð¼Ð°)\n" " или: %s [КЛЮЧ]… -t КÐТÐЛОГ ЦЕЛЬ… (4-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Ð’ первой форме ÑоздаётÑÑ ÑÑылка на ЦЕЛЬ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ ИМЕÐЕМ_ССЫЛКИ.\n" "Во второй форме ÑоздаётÑÑ ÑÑылка на ЦЕЛЬ в текущем каталоге.\n" "Ð’ третьей и четвёртой формах ÑоздаютÑÑ ÑÑылки на каждую ЦЕЛЬ в КÐТÐЛОГЕ.\n" "По умолчанию ÑоздаютÑÑ Ð¶Ñ‘Ñткие ÑÑылки, а Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --symbolic — Ñимвольные.\n" "По умолчанию, ÐºÐ°Ð¶Ð´Ð°Ñ Ñ†ÐµÐ»ÑŒ (Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑылки) не должна ÑущеÑтвовать.\n" "При Ñоздании жёÑтких ÑÑылок ÐºÐ°Ð¶Ð´Ð°Ñ Ð¦Ð•Ð›Ð¬ должна ÑущеÑтвовать.\n" "Символьные ÑÑылки могут Ñодержать произвольный текÑÑ‚; при разыменовании\n" "отноÑÐ¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑÑылка интерпретируетÑÑ Ð¾Ñ‚Ð½Ð¾Ñительно родительÑкого каталога.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=КОÐТРОЛЬ] Ñоздать резервную копию Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ целевого " "файла\n" " -b то же, что и --backup, но не принимает аргумент\n" " -d, -F, --directory позволить Ñуперпользователю Ñоздавать жеÑткие " "ÑÑылки\n" " на каталоги (замечание: вероÑтно, Ñто не " "получитÑÑ\n" " из-за ÑиÑтемных ограничений, даже длÑ\n" " ÑуперпользователÑ)\n" " -f, --force удалÑть ÑущеÑтвующие целевые файлы\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive Ñпрашивать перед удалением целей\n" " -L, --logical разыменовывать ЦЕЛИ, ÑвлÑющиеÑÑ\n" " Ñимвольными ÑÑылками\n" " -n, --no-dereference раÑÑматривать ИМЯ_ССЫЛКИ, как обычный\n" " файл, еÑли Ñто ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка на каталог\n" " -P, --physical Ñоздавать жёÑткие ÑÑылки непоÑредÑтвенно на\n" " Ñимвольные ÑÑылки\n" " -r, --relative Ñоздавать Ñимвольные ÑÑылки отноÑительно\n" " раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑылки\n" " -s, --symbolic Ñоздавать Ñимвольные ÑÑылки, вмеÑто жёÑтких " "ÑÑылок\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=СУФФИКС переопределÑет обычный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… копий\n" " -t, --target-directory=КÐТ указать КÐТÐЛОГ, в котором Ñоздавать ÑÑылки\n" " -T, --no-target-directory вÑегда Ñчитать ИМЯ_ССЫЛКИ обычным файлом\n" " -v, --verbose печатать Ð¸Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла при Ñоздании ÑÑылки\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "При иÑпользовании параметра -s игнорируютÑÑ -L и -P. Иначе, поÑледний ключ\n" "определÑет поведение, когда ЦЕЛЬЮ ÑвлÑетÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка,\n" "по умолчанию %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать --target-directory и --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ --relative без --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: неизвеÑтен" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "ИÑпользование: %s [КЛЮЧ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Печатает Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ пользователÑ.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "региÑтрационное Ð¸Ð¼Ñ Ð¾Ñ‚ÑутÑтвует" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "проигнорировано неверное значение переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "проигнорирована Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "проигнорирован неверный размер табулÑции в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ñтроки: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "неверный размер табулÑции: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "неверный формат времени %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "ДопуÑтимые аргументы:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +ФОРМÐТ (например, +%H:%M) Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° в Ñтиле «date»\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "ошибка при инициализации Ñтрок, задающих меÑÑцы" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "не раÑпознан префикÑ: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "не анализируемое значение в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "невозможно открыть каталог %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "невозможно определить уÑтройÑтво и inode Ð´Ð»Ñ %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: пропуÑк уже перечиÑленного каталога" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "чтение каталога %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "закрытие каталога %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "невозможно Ñравнить имена файлов %s и %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Выдаёт информацию о ФÐЙЛÐÐ¥ (по умолчанию о текущем каталоге).\n" "Сортирует в алфавитном порÑдке, еÑли не задан ни --sort, ни один из\n" "ключей -cftuvSUX.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all не Ñкрывать файлы начинающиеÑÑ Ñ .\n" " -A, --almost-all не выдавать подразумеваемые . и ..\n" " --author вмеÑте Ñ -l, печатать автора каждого файла\n" " -b, --escape печатать Ñкранирующие поÑледовательноÑти\n" " в Ñтиле С Ð´Ð»Ñ Ð½Ðµ графичеÑких Ñимволов\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. " "Ðапример,\n" " «---block-size=M» выводит размеры в единицах,\n" " равных 1,048,576 байтам. См. формат РÐЗМЕРР" "далее.\n" " -B, --ignore-backups не выдавать файлы, оканчивающиеÑÑ Ð½Ð° ~\n" " -c Ñ -lt: Ñортировать и показывать по ctime " "(времени\n" " поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°)\n" " Ñ -l: показывать ctime и Ñортировать по имени\n" " иначе: Ñортировать по ctime, Ñначала Ñамые " "новые\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C выдавать ÑпиÑок в неÑколько колонок\n" " --color[=КОГДÐ] указывает, нужно ли выделÑть типы файлов " "цветом.\n" " КОГДРможет быть «always» (по умолчанию), " "«never»\n" " или «auto». Подробней Ñм. ниже\n" " -d, --directory выдавать имена каталогов, а не их Ñодержимое, " "а\n" " также не Ñледовать по Ñимвольным ÑÑылкам\n" " -D, --dired генерировать вывод Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° Emacs dired\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f не Ñортировать, включает -aU, выключает -ls --" "color\n" " -F, --classify добавлÑть к имени файла индикатор (один из */" "=>@|)\n" " --file-type аналогично, но не добавлÑть «*»\n" " --format=СЛОВО across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time Ñиноним -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g как -l, но не выводить владельца\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " группировать каталоги перед файлами.\n" " дополнÑетÑÑ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --sort, но любое " "иÑпользование\n" " --sort=none (-U) выключает группировку\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group в длинном формате не печатать имена групп\n" " -h, --human-readable c -l, печатать размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° " "виде\n" " (например, 1K 234M 2G)\n" " --si то же, но иÑпользовать Ñтепени 1000, а не 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " Ñледовать по Ñимвольным ÑÑылкам в командной\n" " Ñтроке\n" " --dereference-command-line-symlink-to-dir\n" " Ñледовать по вÑем Ñимвольным ÑÑылкам в " "командной\n" " Ñтроке, которые указывают на каталог\n" " --hide=ШÐБЛОРне показывать файлы, ÑоответÑтвующие ШÐБЛОÐУ\n" " оболочки (отменÑетÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -a или -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=СТИЛЬ добавлÑть к именам Ñлементов индикатор Ñ\n" " указанным СТИЛЕМ: none (по умолчанию), \n" " slash (-p), \n" " file-type (--file-type), \n" " classify (-F)\n" " -i, --inode показать Ð¸Ð½Ð´ÐµÐºÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла\n" " -I, --ignore=ШÐБЛОРне показывать файлы, ÑоответÑтвующие ШÐБЛОÐУ\n" " оболочки\n" " -k иÑпользовать блоки по 1024 байта\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l иÑпользовать широкий формат\n" " -L, --dereference Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ Ð´Ð»Ñ Ñимвольной ÑÑылки,\n" " показывать информацию о файле, на который " "ÑÑылка\n" " ÑÑылаетÑÑ\n" " -m выдавать ÑпиÑок на вÑÑŽ ширину через запÑтую\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid как -l, но выдавать чиÑловые UID и GID\n" " -N, --literal печатать имена как еÑть (не обрабатывать, \n" " например, управлÑющие Ñимволы)\n" " -o как -l, но не выводить информацию о группе\n" " -p, --indicator-style=slash добавлÑть индикатор / к каталогам\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars печатать ? вмеÑто не графичеÑких Ñимволов\n" " --show-control-chars показывать непечатаемые Ñимволы (по умолчанию\n" " еÑли программа не «ls» и вывод идет не на " "терминал).\n" " -Q, --quote-name заключать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в кавычки\n" " --quoting-style=ТИП иÑпользовать тип Ð·Ð°ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² кавычки ТИП:\n" " literal, shell, shell-always, c, escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse обратный порÑдок Ñортировки\n" " -R, --recursive рекурÑивно показывать каталоги\n" " -s, --size печатать размер каждого файла в блоках\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S Ñортировать по размеру файла\n" " --sort=СЛОВО Ñортировать по СЛОВУ, а не по имени: \n" " none (без Ñортировки) -U, \n" " extension (раÑширение) -X, size (размер) -S,\n" " time (времÑ) -t, version (верÑиÑ) -v\n" " --time=СЛОВО Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -l, показывать вмеÑто времени " "изменениÑ\n" " времÑ, заданное СЛОВОМ: \n" " atime -u, access -u, use -u,\n" " ctime -c или status -c;\n" " еÑли --sort=time, иÑпользовать указанное\n" " Ð²Ñ€ÐµÐ¼Ñ Ð² качеÑтве ключа Ñортировки\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=СТИЛЬ Ñ -l, показывать Ð²Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¹ " "СТИЛЬ:\n" " full-iso, long-iso, iso, locale, +ФОРМÐТ.\n" " ФОРМÐТ интерпретируетÑÑ ÐºÐ°Ðº в «date»; еÑли " "ФОРМÐТ\n" " -- Ñто ФОРМÐТ1<перевод-Ñтроки>ФОРМÐТ2, ФОРМÐТ1\n" " применÑетÑÑ Ðº Ñтарым файлам, а ФОРМÐТ2 к " "новым;\n" " еÑли к СТИЛЮ добавлен Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Â«posix-», то он\n" " дейÑтвует только в локали, отличной от POSIX\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t Ñортировать по времени изменениÑ,\n" " Ñначала Ñамые новые\n" " -T, --tabsize=РÐЗМЕР иÑпользовать табулÑцию указанного РÐЗМЕРÐ, а не " "8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u Ñ -lt: Ñортировать и показывать Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа\n" " c -l: показывать Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа и Ñортировать по " "имени\n" " иначе: Ñортировать по времени доÑтупа\n" " -U не Ñортировать; печатать в ÑоответÑтвии Ñ\n" " физичеÑким раÑположением в каталоге\n" " -v Ñортировать по номерам (верÑии) в текÑтовом\n" " предÑтавлении\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=ЧИСЛО задает ширину Ñкрана вмеÑто текущего значениÑ\n" " -x перечиÑлÑть по Ñтрокам, а не по Ñтолбцам\n" " -X Ñортировать по раÑширению в алфавитном порÑдке\n" " -Z, --context печатать контекÑÑ‚ безопаÑноÑти SELinux каждого\n" " файла\n" " -1 перечиÑлÑть по одному файлу на Ñтроке\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "ИÑпользование цветов Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð² файла по умолчанию выключено и\n" "Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ --color=never. С --color=auto, ls выдаёт цветовые коды только " "когда\n" "Ñтандартный вывод подключён к терминалу. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS\n" "Ñлужит Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹. Ð”Ð»Ñ ÐµÑ‘ уÑтановки иÑпользуйте команду " "dircolors.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Коды выхода:\n" " 0 вÑÑ‘ отлично,\n" " 1 небольшие проблемы (например, недоÑтупен подкаталог),\n" " 2 ÑÐµÑ€ÑŒÑ‘Ð·Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° (например, недоÑтупен аргумент командной Ñтроки).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ульрих Дреппер (Ulrich Drepper)" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Скот Миллер (Scott Miller)" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "ДÑвид МÑдор (David Madore)" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]…\n" "Печатает или проверÑет контрольные Ñуммы %s (%d-битные).\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary читать в двоичном режиме (по умолчанию, еÑли\n" " читаетÑÑ Ð½Ðµ терминальный ввод)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary читать в двоичном режиме\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check читать Ñуммы %s из ФÐЙЛОВ и ÑверÑть их\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag Ñоздать контрольную Ñумму в Ñтиле BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text читать в текÑтовом режиме (по умолчанию, еÑли " "читаетÑÑ\n" " терминальный ввод)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text читать в текÑтовом режиме (по умолчанию)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Три Ñледующих ключа полезны только при проверке контрольных Ñумм:\n" " --quiet не выводить OK Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ уÑпешно проверенного " "файла\n" " --status не производить вывод, выходное значение " "показывает\n" " уÑпех проверки\n" " -w, --warn предупреждать о неправильно ÑоÑтавленных Ñтроках " "в\n" " ÑпиÑке контрольных Ñумм\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict Ñ --check завершить работу Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ кодом при\n" " любых некорректных входных данных\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Метод вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм опиÑан в %s. Входными данными при\n" "проверке должны быть полученные ранее выходные данные Ñтой программы.\n" "По умолчанию печатает Ñтроку Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ð¹ Ñуммой, знак, показывающий\n" "режим ввода («*» Ð´Ð»Ñ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ñ…, пробел Ð´Ð»Ñ Ñ‚ÐµÐºÑтовых) и Ð¸Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: Ñлишком много Ñтрок контрольных Ñумм" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: неправильно ÑоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ñтрока контрольной Ñуммы %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: невозможно открыть или прочитать\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "ПОВРЕЖДÐÐ" #: src/md5sum.c:597 msgid "OK" msgstr "ЦЕЛ" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: не найдено верно ÑоÑтавленных Ñтрок контрольных Ñумм %s" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтроки %<PRIuMAX>" msgstr[1] "ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтрок %<PRIuMAX>" msgstr[2] "ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтрок %<PRIuMAX>" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать %<PRIuMAX> файл из ÑпиÑка" msgstr[1] "ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать %<PRIuMAX> файла из ÑпиÑка" msgstr[2] "ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать %<PRIuMAX> файлов из ÑпиÑка" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпала %<PRIuMAX> вычиÑÐ»ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма" msgstr[1] "ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпали %<PRIuMAX> вычиÑленные контрольные Ñуммы" msgstr[2] "ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпали %<PRIuMAX> вычиÑленных контрольных Ñумм" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag не поддерживает режим --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "ключ --tag имеет ÑмыÑл только при проверке контрольных Ñумм" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "ключи --binary и --text беÑÑмыÑленны при проверке контрольных Ñумм" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "ключ --status имеет ÑмыÑл только при проверке контрольных Ñумм" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "ключ --warn имеет ÑмыÑл только при проверке контрольных Ñумм" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "ключ --quiet имеет ÑмыÑл только при проверке контрольных Ñумм" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "ключ --strict имеет ÑмыÑл только при проверке контрольных Ñумм" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… КÐТÐЛОГ…\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Создает КÐТÐЛОГ(и), еÑли он ещё не ÑущеÑтвует.\n" # not a=rwx - umask ??? что за бред #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=РЕЖИМ уÑтановить код доÑтупа (как в chmod)\n" " -p, --parents не выдавать ошибок еÑли ÑущеÑтвует, Ñоздавать\n" " родительÑкие каталоги еÑли необходимо\n" " -v, --verbose печатать Ñообщение о каждом Ñозданном каталоге\n" " -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾\n" " Ñоздаваемого каталога равным CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "Ñоздан каталог %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ИМЯ…\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Создаёт именованные каналы (FIFO) Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ИМЕÐИ.\n" # not a=rwx - umask ??? что за бред #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr " -m, --mode=РЕЖИМ уÑтановить РЕЖИМ доÑтупа\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾\n" " ИМЕÐИ равным CTX\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "неверный режим" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "режим должен задавать только биты разрешений Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð°" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ИМЯ ТИП [ОСÐОВÐОЙ ВТОРОСТЕПЕÐÐЫЙ]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Создаёт Ñпециальный файл Ñ Ð˜ÐœÐ•ÐЕМ и ТИПОМ.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux длÑ\n" " ИМЕÐИ равным CTX\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "ЕÑли ТИП -- Ñто b, c или u, необходимо задавать как ОСÐОВÐОЙ, так и\n" "ВТОРОСТЕПЕÐÐЫЙ, а еÑли ТИП равен p, их Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ. ЕÑли ОСÐОВÐОЙ\n" "или ВТОРОСТЕПЕÐÐЫЙ начинаютÑÑ Ð½Ð° 0x или 0X, они интерпретируютÑÑ ÐºÐ°Ðº\n" "шеÑтнадцатеричные чиÑла; еÑли начинаютÑÑ Ð½Ð° 0, то как воÑьмеричные;\n" "иначе как деÑÑтичные. ТИП может принимать Ñледующие значениÑ:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b Ñоздать файл блочного уÑтройÑтва (буферизованный)\n" " c, u Ñоздать файл Ñимвольного уÑтройÑтва (небуферизованный)\n" " p Ñоздать именованный канал\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Ð”Ð»Ñ Ñпециального файла должны быть указаны оÑновной и второÑтепенный номера " "уÑтройÑтва." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "У файлов-очередей нет оÑновного и второÑтепенного чиÑла уÑтройÑтва." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "блочные Ñпециальные файлы не поддерживаютÑÑ" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "Ñпециальные Ñимвольные файлы не поддерживаютÑÑ" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "неверное оÑновное чиÑло уÑтройÑтва %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "неверное второÑтепенное чиÑло уÑтройÑтва %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "неверное уÑтройÑтво %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "неверный тип уÑтройÑтва %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Эрик БлÑйк (Eric Blake)" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ШÐБЛОÐ]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Создаёт временный файл или каталог безопаÑным ÑпоÑобом, и печатает его имÑ.\n" "ШÐБЛОРдолжен Ñодержать в поÑледнем компоненте, по крайней мере, 3 «X» " "подрÑд.\n" "ЕÑли ШÐБЛОРне указан, то иÑпользуетÑÑ tmp.XXXXXXXXXX и\n" "подразумеваетÑÑ --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Файлы ÑоздаютÑÑ Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ u+rw, а каталоги Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ u+rwx,\n" "Ð¼Ð¸Ð½ÑƒÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory Ñоздать каталог, а не файл\n" " -u, --dry-run ничего не Ñоздавать; проÑто напечатать Ð¸Ð¼Ñ " "(небезопаÑно)\n" " -q, --quiet не выдавать диагноÑтику об ошибках ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»/" "каталога\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=СУФФ добавлÑть Ð¡Ð£Ð¤Ð¤Ð¸ÐºÑ Ðº ШÐБЛОÐУ. Ð¡Ð£Ð¤Ð¤Ð¸ÐºÑ Ð½Ðµ должен " "Ñодержать\n" " Ñимволов коÑой черты. ПодразумеваетÑÑ, что Ñтот ключ\n" " уÑтановлен, еÑли ШÐБЛОРне заканчиваетÑÑ X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=КÐТ] раÑÑматривать ШÐБЛОРотноÑительно КÐТ. ЕÑли КÐТ не\n" " указан, иÑпользовать $TMPDIR еÑли задана, иначе /tmp.\n" " С Ñтим ключом ШÐБЛОРне должен быть абÑолютным именем.\n" " Ð’ отличие от -t, ШÐБЛОРможет Ñодержать коÑые черты, " "но\n" " даже в Ñтом Ñлучае, mktemp вÑÑ‘ ещё Ñоздаёт только\n" " поÑледний компонент.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p КÐТ иÑпользовать КÐТ в качеÑтве префикÑа;\n" " подразумевает -t (уÑтарел)\n" " -t раÑÑматривать ШÐБЛОРкак одно Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°,\n" " отноÑительно каталога: $TMPDIR, еÑли задан; иначе\n" " каталог задаётÑÑ Ñ‡ÐµÑ€ÐµÐ· -p; иначе /tmp (уÑтарел)\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "не удалоÑÑŒ перенаправить Ñтандартный поток ошибок в /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "Ñлишком много шаблонов" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "При задании --suffix, шаблон %s должен оканчиватьÑÑ Ð½Ð° X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ %s, Ñодержит разделитель каталогов" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "Ñлишком мало X в шаблоне %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "неверный шаблон %s, Ñодержит разделитель каталогов" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "неверный шаблон %s; Ñ --tmpdir в нём не может быть абÑолютного пути" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "не удалоÑÑŒ Ñоздать каталог по шаблону %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "не удалоÑÑŒ Ñоздать файл по шаблону %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Переименовывает ИСТОЧÐИК в ÐÐЗÐÐЧЕÐИЕ, или перемещает ИСТОЧÐИК(и) в " "КÐТÐЛОГ.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=КОÐТРОЛЬ] Ñоздавать резервные копии целевых файлов\n" " -b то же, что и --backup, но без аргумента\n" " -f, --force перепиÑывать ÑущеÑтвующие файлы не ÑпрашиваÑ\n" " -i, --interactive Ñпрашивать перед тем как перепиÑывать\n" " -n, --no-clobber не перепиÑывать ÑущеÑтвующий файл\n" "ЕÑли указано более одного ключа -i, -f, -n, то иÑпользуетÑÑ Ð¿Ð¾Ñледний.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes удалÑет вÑе конечные коÑые черты из каждого\n" " аргумента ИСТОЧÐИК\n" " -S, --suffix=СУФФИКС перекрывает обычный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… " "копий\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=КÐТÐЛОГ перемеÑтить вÑе ИСТОЧÐИКИ в КÐТÐЛОГ\n" " -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом\n" " -u, --update перемещать только тогда когда ИСТОЧÐИК\n" " новее чем файл назначениÑ, или когда файл\n" " Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвует\n" " -v, --verbose поÑÑнÑть производимые дейÑтвиÑ\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "ИÑпользование: %s [КЛЮЧ] [КОМÐÐДР[ÐРГ]…]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "ЗапуÑкает КОМÐÐДУ Ñ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ñ‹Ð¼ значением nice, что влиÑет на приоритет\n" "при планировании. ЕÑли КОМÐÐДРне задана, печатает текущее значение\n" "nice. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ nice лежат в диапазоне от %d (наибольший приоритет) до %d\n" "(наименьший).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=N увеличить nice на целое чиÑло N (по умолчанию 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ€Ð°Ð²ÐºÐ° %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "еÑли задана поправка, должна быть указана команда" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "невозможно узнать значение nice" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "невозможно уÑтановить значение nice" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Скотт Бертрам (Scott Bartram)" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Печатает каждый ФÐЙЛ на Ñтандартный вывод, добавлÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñтрок.\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок тела\n" " -d, --section-delimiter=СС иÑпользовать СС Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑких\n" " Ñтраниц\n" " -f, --footer-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок " "нижнего\n" " колонтитула\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок " "верхнего\n" " колонтитула\n" " -i, --line-increment=ЧИСЛО шаг ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñтрок\n" " -l, --join-blank-lines=ЧИСЛО заданное ЧИСЛО пуÑтых Ñтрок Ñчитать одной\n" " -n, --number-format=ФОРМÐТ иÑпользовать ФОРМÐТ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñтрок\n" " -p, --no-renumber не начинать нумерацию заново поÑле каждой\n" " логичеÑкой Ñтраницы\n" " -s, --number-separator=СТРОКРдобавлÑть СТРОКУ поÑле номера\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=ЧИСЛО первый номер Ñтроки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ " "логичеÑкой\n" " Ñтраницы\n" " -w, --number-width=ЧИСЛО иÑпользовать заданное ЧИСЛО Ñтолбцов длÑ\n" " номеров Ñтрок\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "По умолчанию иÑпользуютÑÑ -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС -- Ñто " "два\n" "Ñимвола, разделÑющие логичеÑкие Ñтраницы; еÑли задан только один, то в\n" "качеÑтве второго иÑпользуетÑÑ :. Вводите \\\\ чтобы получить \\. СТИЛЬ\n" "задаетÑÑ ÐºÐ°Ðº один из Ñледующих:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a нумеровать вÑе Ñтроки\n" " t нумеровать только непуÑтые Ñтроки\n" " n не нумеровать Ñтроки\n" " pБРВ нумеровать только Ñтроки, чаÑть которых Ñовпадает Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼\n" " регулÑрным выражением БРВ\n" "\n" "ФОРМÐТ задаетÑÑ ÐºÐ°Ðº один из Ñледующих:\n" "\n" " ln выравнивать по левому краю, не выводить начальные нули\n" " rn выравнивать по правому краю, не выводить начальные нули\n" " rz выравнивать по правому краю, выводить начальные нули\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "переполнение номера Ñтроки" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐ»Ð°: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ колонтитула: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "неверный номер начальной Ñтроки: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "неверное приращение номера Ñтроки: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "неверное чиÑло пуÑтых Ñтрок: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñтроки: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "неверный формат нумерации Ñтрок: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s КОМÐÐДР[ÐРГУМЕÐТ]…\n" " или: %s КЛЮЧ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "ВыполнÑет КОМÐÐДУ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ñигналы обрыва терминальной линии.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "ЕÑли Ñтандартный ввод ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то он берётÑÑ Ð¸Ð· /dev/null.\n" "ЕÑли Ñтандартный вывод ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то вывод добавлÑетÑÑ Ð² «nohup." "out»,\n" "еÑли возможно, иначе в «$HOME/nohup.out».\n" "ЕÑли Ñтандартный поток ошибок ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то он перенаправлÑет в\n" "в Ñтандартный вывод. Чтобы запиÑать вывод в ФÐЙЛ,\n" "иÑпользуйте «%s КОМÐÐДР> ФÐЙЛ».\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "не удалоÑÑŒ отобразить, Ñтандартный ввод не работает" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ввод игнорируетÑÑ" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ввод игнорируетÑÑ, вывод добавлÑетÑÑ Ð² %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "вывод добавлÑетÑÑ Ð² %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "не удалоÑÑŒ Ñделать так, чтобы ÐºÐ¾Ð¿Ð¸Ñ Ñтандартного потока ошибок закрылаÑÑŒ при " "начале выполнениÑ" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ввод игнорируетÑÑ, поток ошибок перенаправлÑÑŽÑ‚ÑÑ Ð½Ð° Ñтандартный вывод" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "поток ошибок перенаправлÑÑŽÑ‚ÑÑ Ð½Ð° Ñтандартный вывод" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "не удалоÑÑŒ перенаправить Ñтандартный поток ошибок" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Джузеппе Скривано (Giuseppe Scrivano)" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "ИÑпользование: %s [КЛЮЧ]…\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Печатает чиÑло обрабатывающий Ñлементов, доÑтупных текущему процеÑÑу,\n" "которое может быть меньше чиÑла работающих процеÑÑоров\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all вывеÑти чиÑло уÑтановленных процеÑÑоров\n" " --ignore=N еÑли возможно, иÑключить N обрабатывающих Ñлементов\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: неверное чиÑло Ð´Ð»Ñ Ð¸ÑключениÑ" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "ÐÑÑаф Гордон (Assaf Gordon)" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "значение Ñлишком велико Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ: «%s»" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "неверное чиÑло: «%s»" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" "отбраÑываетÑÑ ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных: «%s» (попробуйте указать --from)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных: «%s»" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "отÑутÑтвующий ÑÑƒÑ„Ñ„Ð¸ÐºÑ Â«i» в входных данных: «%s» (например Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "не удалоÑÑŒ подготовить значение «%Lf» Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "неверный размер единицы Ñчёта: «%s»" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "нехватка памÑти (запрошено %zu байт)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ЧИСЛО]…\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" "Переформатирует ЧИСЛО(а), читаемое из Ñтандартного ввода, еÑли оно не " "указано в командной Ñтроке.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" " --debug показывать Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ некорректных входных\n" " данных\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X иÑпользовать X вмеÑто пробела как разделитель полей\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field=N заменÑть чиÑло в входном поле N (по умолчанию 1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=ФОРМÐТ иÑпользовать ФОРМÐТ плавающей точки в Ñтиле printf;\n" " подробноÑти Ñмотрите в разделе ФОРМÐТ далее\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=ЕДИÐИЦРавтоматичеÑки маÑштабировать входные чиÑло к " "ЕДИÐИЦÐМ\n" " изменениÑ; по умолчанию «none»; Ñмотрите ЕДИÐИЦЫ " "далее\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N задать размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных\n" " (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1).\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping группировать цифры ÑоглаÑно локали (например " "1,000,000)\n" " (ничего не делаетÑÑ Ð² локалÑÑ… C/POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] выводить (без преобразованиÑ) первые N Ñтрок;\n" " еÑли N не задано, то значение равно 1\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=РЕЖИМ режим отказа Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ñ… чиÑел. Значение " "РЕЖИМÐ:\n" " abort (по умолчанию), fail, warn, ignore\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N дополнÑть результат до N Ñимволов;\n" " еÑли N положительно, то выполнÑетÑÑ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ по\n" " правому краю; еÑли N отрицательно, то по левому; " "еÑли\n" " результат шире N, то дополнение не производитÑÑ;\n" " по умолчанию дополнение выполнÑетÑÑ, еÑли\n" " обнаруживаетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñимвол\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=МЕТОД метод округлениÑ, иÑпользуемый при маÑштабировании;\n" " значение МЕТОДÐ: up, down, from-zero (по умолчанию),\n" " towards-zero, nearest\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=СУФФИКС добавлÑть СУФФИКС к выходным значениÑм и учитывать\n" " необÑзательный СУФФИКС у входных значений\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=ЕДИÐИЦРавтомаÑштабирование выходные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ðº ЕДИÐИЦЕ\n" " изменениÑ; Ñмотрите ЕДИÐИЦРдалее\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" " --to-unit=N размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных\n" " (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1)\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "ЕДИÐИЦЫ:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr " none отключить маÑштабирование; ÑуффикÑÑ‹ приводÑÑ‚ к ошибке\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto учеÑть необÑзательный одно/двух буквенный ÑуффикÑ:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si учеÑть необÑзательный однобуквенный ÑуффикÑ:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec учеÑть необÑзательный однобуквенный ÑуффикÑ:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i учеÑть необÑзательный двухбуквенный ÑуффикÑ:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "Значение ФОРМÐТРдолжно позволÑть вывод одного аргумента Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой\n" "«%f». ÐеобÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ° (%'f) включает --grouping (еÑли поддерживаетÑÑ\n" "текущей локалью). При указании необÑзательного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ (%10f)\n" "производитÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ вывода. При указании необÑзательного отрицательного\n" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ (%-10f) производитÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñлева.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0, еÑли вÑе входные чиÑла были уÑпешно преобразованы.\n" "По умолчанию, %s прервётÑÑ Ð¿Ñ€Ð¸ первой ошибке Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ ÐºÐ¾Ð´Ð¾Ð¼\n" "Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ 2. ЕÑли указано --invalid=«fail», то выводитÑÑ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ\n" "при каждой ошибке Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 2.\n" "ЕÑли указано --invalid=«warn», то опиÑываетÑÑ ÐºÐ°Ð¶Ð´Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° преобразованиÑ,\n" "но код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0. ЕÑли указано --invalid=«ignore», то про ошибки\n" "Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ ÑообщаетÑÑ Ð¸ код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Примеры:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "в формате %s не указана директива %%" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "неверный формат %s (переполнение по ширине)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "формат %s заканчиваетÑÑ Ð½Ð° %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "неверный формат %s, директива должна быть %%['][-][N]f" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "в формате %s ÑодержитÑÑ Ñлишком много директив %%" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных «%s»: «%s»" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "значение Ñлишком велико Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°: «%Lg» (попробуйте указать --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "значение Ñлишком велико Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°: «%Lg» (обработка значений > 999Y " "невозможна)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "большое входное значение «%s»: возможна Ð¿Ð¾Ñ‚ÐµÑ€Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñти" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñтрока Ñлишком коротка, нет чиÑел Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² поле %ld" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "неверное значение Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«%s»" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "неверное значение Ð¿Ð¾Ð»Ñ Â«%s»" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "неверное значение заголовка «%s»" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "ключи Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ заданы" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "группировку Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "группировка не имеет ÑмыÑла Ñ Ñтой локалью" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "при указании в командной Ñтроке --header игнорируетÑÑ" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "не удалоÑÑŒ преобразовать некоторые из входных чиÑел" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]…\n" " или: %s [-abcdfilosx]… [ФÐЙЛ] [[+]СМЕЩЕÐИЕ[.][b]]\n" " или: %s --traditional [КЛЮЧ]… [ФÐЙЛ] [[+]СМЕЩЕÐИЕ[.][b] [+][МЕТКÐ]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Печатает однозначное (по умолчанию байтовое воÑьмеричное) предÑтавление " "ФÐЙЛÐ\n" "на Ñтандартный вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает " "Ñтандартный\n" "ввод.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "ЕÑли применимы и перваÑ, и Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ вызова, предполагаетÑÑ Ð²Ñ‚Ð¾Ñ€Ð°Ñ\n" "форма, еÑли поÑледний операнд начинаетÑÑ Ð½Ð° + или (еÑли заданы два\n" "операнда) на цифру. Операнд СМЕЩЕÐИЕ означает -j СМЕЩЕÐИЕ. МЕТКР—\n" "Ñто пÑÐµÐ²Ð´Ð¾Ð°Ð´Ñ€ÐµÑ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ напечатанного байта; она увеличиваетÑÑ Ð² процеÑÑе\n" "вывода. ÐŸÑ€ÐµÑ„Ð¸ÐºÑ 0x или 0X задает СМЕЩЕÐИЕ или МЕТКУ как\n" "шеÑтнадцатеричные чиÑла, ÑÑƒÑ„Ñ„Ð¸ÐºÑ . — как воÑьмеричные, а ÑÑƒÑ„Ñ„Ð¸ÐºÑ b\n" "умножает на 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=ОСÐОВÐÐИЕ выходной формат Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñмещений.\n" " ОСÐОВÐÐИЕ может быть [doxn], Ð´Ð»Ñ Decimal, " "Octal,\n" " Hex или None\n" " -j, --skip-bytes=РпропуÑтить первые Рбайт\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=Ð Ñчитывать только Рбайт\n" " -S Ð, --strings[=Ð] выводить Ñтроки длиной, по меньшей мере, Ð\n" " графичеÑких Ñимволов. ЕÑли Рне задано, " "то\n" " иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ 3\n" " -t, --format=ТИП выбирает формат или форматы вывода\n" " -v, --output-duplicates не помечать Ñимволом * невыводимые Ñтроки\n" " -w[Ð], --width[=Ð] выводить Рбайт в каждой выходной Ñтроке.\n" " ЕÑли Рне задано, то иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ " "32.\n" " --traditional принимать аргументы в традиционной форме\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Традиционные Ñпецификации формата можно пиÑать вперемешку, они " "объединÑÑŽÑ‚ÑÑ:\n" " -a Ñиноним -t a, именованные Ñимволы, Ñтарший бит игнорируетÑÑ\n" " -b Ñиноним -t o1, воÑьмеричные байты\n" " -c Ñиноним -t c, ASCII-Ñимволы или управлÑющие поÑледовательноÑти\n" " Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой чертой\n" " -d Ñиноним -t u2, беззнаковые деÑÑтичные двухбайтовые единицы\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f Ñиноним -t fF, чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой\n" " -i Ñиноним -t dI, деÑÑтичные целые\n" " -l Ñиноним -t dL, деÑÑтичные длинные целые\n" " -o Ñиноним -t o2, воÑьмеричные двухбайтовые единицы\n" " -s Ñиноним -t d2, деÑÑтичные двухбайтовые единицы\n" " -x Ñиноним -t x2, шеÑтнадцатеричные двухбайтовые единицы\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "ТИП ÑоÑтавлÑетÑÑ Ð¸Ð· одного или неÑкольких Ñледующих Ñпецификаций:\n" " a именованный Ñимвол, Ñтарший бит игнорируетÑÑ\n" " c ASCII-Ñимвол или управлÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑть\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[ЧИСЛО] знаковое деÑÑтичное целое размером заданное ЧИСЛО байт\n" " f[ЧИСЛО] чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой размером заданное ЧИСЛО байт\n" " o[ЧИСЛО] воÑьмеричное целое размером заданное ЧИСЛО байт\n" " u[ЧИСЛО] беззнаковое деÑÑтичное целое размером заданное ЧИСЛО байт\n" " x[ЧИСЛО] шеÑтнадцатеричное целое размером заданное ЧИСЛО байт\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "ЕÑли ФОРМÐТ — одно из [doux], ЧИСЛО может задаватьÑÑ ÐºÐ°Ðº C sizeof(char),\n" "S sizeof(short), I sizeof(int) или L sizeof(long). ЕÑли ФОРМÐТ равен f, то\n" "ЧИСЛО также может быть F sizeof(float), D sizeof(double) или\n" "L sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "ДобавлÑет ÑÑƒÑ„Ñ„Ð¸ÐºÑ z к любым показываемым печатным Ñимволам\n" "в конце каждой выходной Ñтроки.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "РзадаётÑÑ ÑˆÐµÑтнадцатеричным чиÑлом Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом 0x или 0X, и может " "Ñодержать\n" "умножающий ÑуффикÑ:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "и так далее Ð´Ð»Ñ G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñтрока типа %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "неверно задана Ñтрока типа %s;\n" "Ð´Ð°Ð½Ð½Ð°Ñ ÑиÑтема не предоÑтавлÑет %lu-байтного целого типа" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "неверно задан тип %s;\n" "Ð´Ð°Ð½Ð½Ð°Ñ ÑиÑтема не предоÑтавлÑет %lu-байтного типа Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "неверный Ñимвол «%c» в Ñтроке типа %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "невозможно ÑмеÑтитьÑÑ Ð·Ð° предел поÑледнего входного файла" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "неверно задано оÑнование ÑиÑтемы ÑчиÑÐ»ÐµÐ½Ð¸Ñ Â«%c»,\n" "должно быть одним из Ñимволов [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "при дампе Ñтрок Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ тип" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "режим ÑовмеÑтимоÑти поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "значение skip-bytes + read-bytes Ñлишком велико" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "предупреждение: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° %lu; будет иÑпользована %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: неверный Ñигнал" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "Ñтандартный ввод закрыт" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Печатает на Ñтандартный вывод Ñтроки, ÑоÑтавленные из ÑоответÑтвующих Ñтрок\n" "входных ФÐЙЛОВ, разделённых табулÑцией.\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=СПИСОК иÑпользовать вмеÑто табулÑции Ñимволы из " "СПИСКÐ\n" " -s, --serial обрабатывать файлы поÑледовательно\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "ÑпиÑок разделителей оканчиваетÑÑ Ð½ÐµÑкранированной обратной коÑой чертой: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "ДиагноÑтирует неправильные и непереноÑимые конÑтрукции в ИМЕÐИ файла.\n" "\n" " -p проверка Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва POSIX-ÑиÑтем\n" " -P проверка на пуÑтые имена и начальный «-»\n" " --portability проверка Ð´Ð»Ñ Ð²Ñех POSIX-ÑиÑтем (Ñквивалентно -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "начальный «-» в компоненте имени файла %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "непереноÑимый Ñимвол %s в имени файла %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "пуÑтое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: невозможно определить макÑимальную длину имени файла" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "предел в %lu превышен длиной в %lu в имени файла %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "предел в %lu превышен длиной в %lu в компоненте имени файла %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Джозеф ÐÑ€Ñено (Joseph Arceneaux)" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Каве Гази (Kaveh Ghazi)" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "РегиÑтрационное имÑ: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Ð’ реальной жизни: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Каталог: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Оболочка: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Проект: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "План:\n" #: src/pinky.c:405 msgid "Login" msgstr "ИмÑ" #: src/pinky.c:407 msgid "Name" msgstr "ИмÑ" #: src/pinky.c:408 msgid " TTY" msgstr " Терминал" #: src/pinky.c:410 msgid "Idle" msgstr "Ðеактивен" #: src/pinky.c:411 msgid "When" msgstr "Когда" #: src/pinky.c:414 msgid "Where" msgstr "Где" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ]…\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l иÑпользовать подробный формат вывода\n" " -b опуÑтить в подробном формате начальный каталог и оболочку\n" " Ñтого пользователÑ\n" " -h опуÑтить в подробном формате файл проекта Ñтого " "пользователÑ\n" " -p опуÑтить в подробном формате файл плана Ñтого " "пользователÑ\n" " -s иÑпользовать краткий формат вывода, принимаетÑÑ Ð¿Ð¾ " "умолчанию\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f опуÑтить в кратком формате Ñтроку Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ð¼Ð¸ колонок\n" " -w опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ\n" " -i опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ имÑ\n" " удаленной машины\n" " -q опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, имÑ\n" " удаленной машины и Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ñти\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Ð£Ð¿Ñ€Ð¾Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° «finger»; печатает ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ пользователе.\n" "Ð’ качеÑтве файла utmp будет иÑпользоватьÑÑ %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "не задано Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ; при иÑпользовании ключа -l нужно задать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ " "одно" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Пит ТерМаат (Pete TerMaat)" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Роланд Хьюбнер (Roland Huebner)" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "в «--pages=ПЕРВÐЯ_СТР[:ПОСЛЕДÐЯЯ_СТР]» пропущен аргумент" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "неверный диапазон Ñтраниц %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "в «-l ДЛИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñтрок: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "в «-N ÐОМЕР» неверный номер начальной Ñтроки: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "в «-o ПОЛЕ» неверное Ñмещение: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "в «-w ШИРИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñимволов: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "в «-W ШИРИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñимволов: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "невозможно задать чиÑло Ñтолбцов при параллельной печати" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "невозможно одновременно печатать вдоль и параллельно" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "в «-%c» лишние Ñимволы или неверное чиÑло в аргументе: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Ñтраница Ñлишком узкаÑ" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "номер начальной Ñтраницы %<PRIuMAX> превоÑходит общее чиÑло Ñтраниц " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "переполнение номера Ñтраницы" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Страница %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Разбивает ФÐЙЛ(Ñ‹) на Ñтраницы или колонки Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ПЕРВÐЯ_СТРÐÐИЦÐ[:ПОСЛЕДÐЯЯ_СТРÐÐИЦÐ], \n" " --pages=ПЕРВÐЯ_СТРÐÐИЦÐ[:ПОСЛЕДÐЯЯ_СТРÐÐИЦÐ]\n" " начать [завершить] печать на ПЕРВОЙ_[ПОСЛЕДÐЕЙ_]" "СТРÐÐИЦЕ\n" " -ЧИСЛО, --columns=ЧИСЛО\n" " выводить заданное ЧИСЛО колонок и печатать их вниз, " "еÑли\n" " только не указан ключ -a. БаланÑировать чиÑло Ñтрок в\n" " колонке на каждой Ñтранице.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across выводить колонки вдоль, а не вниз; иÑпользуетÑÑ Ð²Ð¼ÐµÑте " "Ñ\n" " ключом -ЧИСЛО\n" " -c, --show-control-chars\n" " иÑпользовать запиÑÑŒ Ñ ÑˆÐ°Ð¿Ð¾Ñ‡ÐºÐ¾Ð¹ (^G) или обратной коÑой\n" " чертой (и воÑьмеричным кодом)\n" " -d, --double-space\n" " вÑтавлÑть пуÑтую Ñтроку поÑле каждой выходной Ñтроки\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=ФОРМÐТ\n" " иÑпользовать Ð´Ð»Ñ Ð´Ð°Ñ‚Ñ‹ в заголовке указанный ФОРМÐТ\n" " -e[СИМ[ЧИСЛО]], --expand-tabs[=СИМВОЛ[ЧИСЛО]]\n" " преобразовывать входные СИМВОЛЫ (табулÑцию) в заданное\n" " ЧИСЛО пробелов (8)\n" " -F, -f, --form-feed\n" " иÑпользовать Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтраниц Ñимвол перевода\n" " Ñтраницы, а не новой Ñтроки (Ñ Ñ‚Ñ€Ñ‘Ñ…Ñтрочным заголовком,\n" " еÑли еÑть ключ -F, и пÑтиÑтрочным заголовком и\n" " завершителем, еÑли ключ -F не задан)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=ЗÐГОЛОВОК\n" " иÑпользовать Ð´Ð»Ñ Ñтраниц центрированный ЗÐГОЛОВОК, а не\n" " Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°; -h \"\" выводит пуÑтую Ñтроку;\n" " не иÑпользуйте -h \"\"\n" " -i[СИМ[ШИРИÐÐ]], --output-tabs[=СИМВОЛ[ШИРИÐÐ]]\n" " заменить пробелы на СИМВОЛЫ (табулÑции) заданной\n" " ШИРИÐЫ (8)\n" " -J, --join-lines объединÑть полные Ñтроки, отключить уÑечение Ñтрок (-" "W),\n" " не выравнивать колонки, --sep-string[=СТРОКÐ] задает\n" " разделители\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=ДЛИÐÐ_СТРÐÐИЦЫ\n" " уÑтановить ДЛИÐУ_СТРÐÐИЦЫ (66)\n" " (по умолчанию чиÑло Ñтрок текÑта равно 56, а Ñ -F -- " "63)\n" " -m, --merge печатать вÑе файлы параллельно, по одному в колонке,\n" " уÑекать Ñтроки, но ÑоединÑть полные Ñтроки при -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[РÐЗД[ЦИФРЫ]], --number-lines[=РÐЗД[ЦИФРЫ]]\n" " нумеровать Ñтроки, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ðµ ЦИФРЫ (5) и\n" " РÐЗДелитель (табулÑцию); по умолчанию Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ " "начинаетÑÑ\n" " Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ входной Ñтроки\n" " -N, --first-line-number=ÐОМЕР\n" " начать нумерацию Ñ ÐÐžÐœÐ•Ð Ð Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ñтроки первой " "выводимой\n" " Ñтраницы (Ñмотри +ПЕРВÐЯ_СТРÐÐИЦÐ)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=ПОЛЕ\n" " Ñдвигать каждую Ñтроку на ПОЛЕ (ноль) пробелов (не " "влиÑет\n" " на -w или -W); ПОЛЕ добавлÑетÑÑ Ðº ШИРИÐЕ_СТРÐÐИЦЫ\n" " -r, --no-file-warnings\n" " не предупреждать о невозможноÑти Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[СИМВОЛ],--separator[=СИМВОЛ]\n" " разделÑть колонки одним Ñимволом, по умолчанию СИМВОЛ\n" " равен <TAB>, еÑли нет ключа -w, и пуÑÑ‚, еÑли еÑть ключ\n" " -w, то -s[СИМВОЛ] выключает уÑечение Ñтрок Ð´Ð»Ñ Ð²Ñех " "трёх\n" " колонок ключей (-КОЛОÐКÐ|-a -КОЛОÐКÐ|-m), еÑли только\n" " нет ключа -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[СТРОКÐ], --sep-string[=СТРОКÐ]\n" " разделÑть колонки СТРОКОЙ,\n" " еÑли -S не задан: разделитель по умолчанию — <TAB>,\n" " еÑли иÑпользован ключ -J, иначе пробел (то же,\n" " что -S\" \"); не влиÑет на ключи Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº\n" " -t, --omit-header не выводить заголовки Ñтраниц\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " не выводить заголовки и игнорировать Ñимволы перевода\n" " Ñтраницы во входных файлах\n" " -v, --show-nonprinting\n" " иÑпользовать запиÑÑŒ воÑьмеричным кодом Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой\n" " чертой\n" " -w, --width=ШИРИÐÐ_СТРÐÐИЦЫ\n" " уÑтановить ШИРИÐУ_СТРÐÐИЦЫ (72) длÑ\n" " вывода в неÑколько колонок, -s[Ñимвол] выключает (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=ШИРИÐÐ_СТРÐÐИЦЫ\n" " уÑтановить ШИРИÐУ_СТРÐÐИЦЫ (72), уÑекать Ñтроки,\n" " еÑли нет ключа -J; не затрагиваетÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -S или -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t подразумеваетÑÑ, еÑли ДЛИÐÐ_СТРÐÐИЦЫ <= 10. ЕÑли ФÐЙЛ не задан или\n" "задан как -, то читает Ñтандартный ввод.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ПЕРЕМЕÐÐÐЯ]…\n" "Печатает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… ПЕРЕМЕÐÐЫХ окружениÑ.\n" "ЕÑли ПЕРЕМЕÐÐÐЯ не задана, то печатаютÑÑ Ð²Ñе пары\n" "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ â€” значение.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null завершать каждую выводимую Ñтроку 0-м байтом,\n" " a не Ñимволом новой Ñтроки\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "предупреждение: %s: Ñимвол(Ñ‹), Ñледующий за Ñимвольной конÑтантой, " "проигнорирован" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s ФОРМÐТ [ÐРГУМЕÐТ]…\n" " или: %s КЛЮЧ\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Печатает ÐРГУМЕÐТ(Ñ‹) в заданном ФОРМÐТЕ, или выполнÑет дейÑтвие\n" "ÑоглаÑно ключу:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "ФОРМÐТ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ такой же, как в C-функции printf.\n" "ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти:\n" "\n" " \\\" Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ°\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN байт Ñ Ð²Ð¾Ñьмеричным кодом NNN(от 1 до 3 цифр)\n" " \\xÐРбайт Ñ ÑˆÐµÑтнадцатеричным кодом ÐÐ (от 1 до 2 цифр)\n" " \\uÐÐÐÐ Ñимвол Unicode (ISO/IEC 10646) Ñ ÑˆÐµÑтнадцатеричным\n" " кодом ÐÐÐÐ (4 цифры)\n" " \\UÐÐÐÐÐÐÐÐ Ñимвол Unicode Ñ ÑˆÐµÑтнадцатеричным кодом ÐÐÐÐÐÐÐÐ (8 цифр)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% один %\n" " %b ÐРГУМЕÐТ в виде Ñтроки Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸\n" " escape-поÑледовательноÑÑ‚Ñми, начинающимиÑÑ Ñ Â«\\»;\n" " воÑьмеричные поÑледовательноÑти в форме \\0 или \\0ÐÐÐ\n" "\n" "а также вÑе Ñпецификации формата в Ñтиле C, заканчивающиеÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из\n" "diouxXfeEgGcs; ÐРГУМЕÐТ приводитÑÑ Ðº ÑоответÑтвующему типу.\n" "Также обрабатываютÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ переменной ширины.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: ожидаетÑÑ Ñ‡Ð¸Ñловое значение" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: значение преобразовано не полноÑтью" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "неверное шеÑтнадцатеричное чиÑло в escape-поÑледовательноÑти" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "неверное универÑальное Ñимвольное Ð¸Ð¼Ñ \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° полÑ: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñть: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "предупреждение: избыточные аргументы проигнорированы, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "Ф. Пинард" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ВХОД]… (без -G)\n" " или: %s -G [КЛЮЧ]… [ВХОД [ВЫХОД]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Печатает перемешанный алфавитный указатель Ñлов входных файлов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ " "контекÑÑ‚.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference выводить автоматичеÑки Ñгенерированные " "ÑÑылки\n" " -G, --traditional работать в режиме большей ÑовмеÑтимоÑти Ñ\n" " программой «ptx» из System V\n" " -F, --flag-truncation=СТРОКРиÑпользовать СТРОКУ Ð´Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸ уÑÐµÑ‡ÐµÐ½Ð¸Ñ " "Ñтрок\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=Ð¡Ð¢Ð ÐžÐšÐ Ð¸Ð¼Ñ Ð¼Ð°ÐºÑ€Ð¾, которое Ñледует иÑпользовать\n" " вмеÑто «xx»\n" " -O, --format=roff генерировать вывод в виде директив roff\n" " -R, --right-side-refs помещать ÑÑылки Ñправа, не учитываетÑÑ Ð¿Ñ€Ð¸ -" "w\n" " -S, --sentence-regexp=РЕГВЫР Ð´Ð»Ñ ÐºÐ¾Ð½Ñ†Ð° Ñтрок или конца предложений\n" " -T, --format=tex генерировать вывод в виде директив TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=РЕГВЫР регулÑрное выражение Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ñ‹Ñ… Ñлов\n" " -b, --break-file=ФÐЙЛ ФÐЙЛ Ñ Ñимволами-разделителÑми Ñлов\n" " -f, --ignore-case преобразовывать к верхнему региÑтру при\n" " Ñортировке\n" " -g, --gap-size=ЧИСЛО размер промежутка между полÑми вывода,\n" " выраженный в Ñтолбцах\n" " -i, --ignore-file=ФÐЙЛ Ñчитать перечень игнорируемых Ñлов из " "ФÐЙЛÐ\n" " -o, --only-file=ФÐЙЛ только Ñчитать ÑпиÑок Ñлов из заданного " "ФÐЙЛÐ\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references первое поле в каждой Ñтроке ÑвлÑетÑÑ " "ÑÑылкой\n" " -t, --typeset-mode - не реализовано -\n" " -w, --width=ЧИСЛО ширина вывода в Ñтолбцах, не ÑÑ‡Ð¸Ñ‚Ð°Ñ ÑÑылки\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" "По умолчанию предполагаетÑÑ Â«-F /».\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° дырки: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Печатает полное Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical иÑпользовать PWD из окружениÑ, даже еÑли её значение\n" " Ñодержит Ñимвольные ÑÑылки\n" " -P, --physical избегать вÑех Ñимвольных ÑÑылок\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° на %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "в %s не найдена запиÑÑŒ каталога Ñ ÑоответÑтвующим i-node" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "не ÑвлÑющиеÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ аргументы проигнорированы" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Дмитрий Ð’. Левин (Dmitry V. Levin)" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ…\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Печатает значение Ñимвольной ÑÑылки или каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путем\n" " рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным\n" " ÑÑылкам в каждом компоненте заданного пути;\n" " вÑе компоненты пути, кроме поÑледнего,\n" " должны ÑущеÑтвовать\n" " -e, --canonicalize-existing получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путем\n" " рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным\n" " ÑÑылкам в каждом компоненте заданного пути;\n" " вÑе компоненты пути должны ÑущеÑтвовать\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путём\n" " рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным\n" " ÑÑылкам в каждом компоненте заданного пути;\n" " компоненты пути могут отÑутÑтвовать\n" " -n, --no-newline не выводить завершающий разделитель\n" " -q, --quiet,\n" " -s, --silent подавлÑть вывод большинÑтва Ñообщений об " "ошибках\n" " -v, --verbose Ñообщать об ошибках\n" " -z, --zero иÑпользовать при выводе разделитель NUL,\n" " а не Ñимвол новой Ñтроки\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "игнорируетÑÑ --no-newline Ñ Ð½ÐµÑколькими аргументами" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Выводит определÑемое абÑолютное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°;\n" "вÑе компоненты кроме поÑледнего должны ÑущеÑтвовать\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing вÑе компоненты пути должны ÑущеÑтвовать\n" " -m, --canonicalize-missing компоненты пути могут отÑутÑтвовать\n" " -L, --logical определÑть компонент «..» до Ñимвольных " "ÑÑылок\n" " -P, --physical определÑть Ñимвольные ÑÑылки (по умолчанию)\n" " -q, --quiet не выводить большинÑтво Ñообщений об ошибках\n" " --relative-to=ФÐЙЛ выводить определённый путь отноÑительно " "ФÐЙЛÐ\n" " --relative-base=ФÐЙЛ выводить абÑолютные пути, а не пути ниже " "ФÐЙЛÐ\n" " -s, --strip, --no-symlinks не раÑкрывать Ñимвольные ÑÑылки\n" " -z, --zero разделÑть результат Ñимволом NUL,\n" " а не Ñимволом новой Ñтроки\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "генерируетÑÑ Ð¾Ñ‚Ð½Ð¾Ñительный путь" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: ÑпуÑтитьÑÑ Ð² защищённый от запиÑи каталог %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: ÑпуÑтитьÑÑ Ð² каталог %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: удалить защищенный от запиÑи %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: удалить %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "удален каталог: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "невозможно удалить каталог: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "пропуÑкаетÑÑ %s, поÑкольку он находитÑÑ Ð½Ð° другом уÑтройÑтве" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "обход завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: fts_info=%d: %s\n" "Ñообщите %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Попробуйте «%s ./%s», чтобы удалить файл %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "УдалÑет (ÑÑылки на) ФÐЙЛ(Ñ‹).\n" "\n" " -f, --force игнорировать неÑущеÑтвующие файлы и аргументы, ни о " "чем\n" " не Ñпрашивать\n" " -i запрашивать подтверждение перед каждым удалением\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I запрашивать подтверждение один раз перед удалением " "более\n" " чем трех файлов или перед рекурÑивным удалением. Ðе " "так\n" " назойливо, как -i, но вÑе же предоÑтавлÑет защиту " "от\n" " большинÑтва ошибок.\n" " --interactive[=КОГДÐ] запрашивать подтверждение, КОГДРуказано: " "never \n" " (никогда), once (-I, один раз) или always (-i, " "вÑегда).\n" " ЕÑли КОГДРне задано, запрашивать вÑегда.\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system при рекурÑивном удалении иерархии, пропуÑкать вÑе \n" " каталоги, находÑщиеÑÑ Ð½Ðµ на той же файловой " "ÑиÑтеме,\n" " что и ÑоответÑтвующий аргумент командной Ñтроки\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root не обрабатывать «/» оÑобым образом\n" " --preserve-root не удалÑть «/» (по умолчанию)\n" " -r, -R, --recursive рекурÑивно удалÑть каталоги и их Ñодержимое\n" " -d, --dir удалÑть пуÑтые каталоги\n" " -v, --verbose поÑÑнÑть производимые дейÑтвиÑ\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "По умолчанию rm не удалÑет каталоги. ИÑпользуйте ключ --recursive (-r\n" "или -R), чтобы удалить вÑе перечиÑленные каталоги вмеÑте Ñ Ð¸Ñ…\n" "Ñодержимым.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°, начинающегоÑÑ Ñ Â«-» (например: «-foo»),\n" "иÑпользуйте одну из Ñледующих команд:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Заметим, что при иÑпользовании rm Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° его Ñодержимое\n" "обычно можно воÑÑтановить, Ð¸Ð¼ÐµÑ ÑоответÑтвующий опыт и времÑ.\n" "ИÑпользуйте shred, еÑли вам необходима большаÑ\n" "уверенноÑть в невозможноÑти воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñодержимого.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: удалить вÑе аргументы рекурÑивно? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: удалить вÑе аргументы? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "удаление каталога, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "не удалоÑÑŒ удалить каталог %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "УдалÑет КÐТÐЛОГ(и), еÑли они пуÑты.\n" "\n" " --ignore-fail-on-non-empty\n" " игнорировать вÑе ошибки, которые возникают из-за того, " "что\n" " каталог не пуÑÑ‚\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents удалить КÐТÐЛОГ и его потомков. Ðапример, «rmdir -p a/b/" "c»\n" " делает то же, что и «rmdir a/b/c a/b a».\n" " -v, --verbose выводить Ñообщение Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ обработанного каталога\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "не удалоÑÑŒ удалить %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "ИÑпользование: %s КОÐТЕКСТ КОМÐÐДР[аргументы]\n" " или: %s [ -c ] [-u ПОЛЬЗ.] [-r РОЛЬ] [-t ТИП] [-l ДИÐПÐЗОÐ] КОМÐÐДР" "[арг.]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "ЗапуÑкает программу в другом контекÑте безопаÑноÑти.\n" "ЕÑли не указана КОМÐÐДРили КОÐТЕКСТ, то выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ контекÑÑ‚\n" "безопаÑноÑти.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " КОÐТЕКСТ Полный контекÑÑ‚ безопаÑноÑти\n" " -c, --compute вычиÑлить переходный контекÑÑ‚ перед изменением\n" " -t, --type=ТИП тип (Ñ Ñ€Ð¾Ð»ÑŒÑŽ что и у родителÑ)\n" " -u, --user=ПОЛЬЗОВÐТЕЛЬ обозначение пользователÑ\n" " -r, --role=РОЛЬ роль\n" " -l, --range=ДИÐПÐЗОРдиапазон\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "неÑколько ролей" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "неÑколько типов" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "неÑколько пользователей" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "неÑколько диапазонов" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "не удалоÑÑŒ получить текущий контекÑÑ‚" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "вы должны указать -c, -t, -u, -l, -r или контекÑÑ‚" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "не задана команда" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux в Ñдре" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "не удалоÑÑŒ вычиÑлить новый контекÑÑ‚" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "не удалоÑÑŒ уÑтановить нового Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "не удалоÑÑŒ уÑтановить новый тип %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "не удалоÑÑŒ уÑтановить новый диапазон %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "не удалоÑÑŒ уÑтановить новую роль %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… ПОСЛЕДÐИЙ\n" " или: %s [КЛЮЧ]… ПЕРВЫЙ ПОСЛЕДÐИЙ\n" " или: %s [КЛЮЧ]… ПЕРВЫЙ ПРИРОСТ ПОСЛЕДÐИЙ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Печатает чиÑла от ПЕРВОГО до ПОСЛЕДÐЕГО Ñ ÑˆÐ°Ð³Ð¾Ð¼ ПРИРОСТ.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=ФОРМÐТ иÑпользовать Ð´Ð»Ñ Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ñ… чиÑел ФОРМÐТ в Ñтиле\n" " printf\n" " -s, --separator=СТРОКРиÑпользовать СТРОКУ как разделитель\n" " (по умолчанию \\n)\n" " -w, --equal-width выравнивать по ширине, добавлÑÑ Ð² начало нули\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "ЕÑли не заданы ПЕРВЫЙ или ПРИРОСТ, по умолчанию иÑпользуетÑÑ 1. То\n" "еÑть ПРИРОСТ по умолчанию принимаетÑÑ Ð·Ð° 1, даже еÑли ПОСЛЕДÐИЙ меньше\n" "ПЕРВОГО. ПЕРВЫЙ, ПОСЛЕДÐИЙ и ПРИРОСТ интерпретируютÑÑ ÐºÐ°Ðº чиÑла Ñ\n" "плавающей точкой. ПРИРОСТ обычно положителен, еÑли ПЕРВЫЙ меньше\n" "ПОСЛЕДÐЕГО, и отрицателен, еÑли ПЕРВЫЙ больше ПОСЛЕДÐЕГО.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "ФОРМÐТ должен подходить Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ одного аргумента типа «double»;\n" "по умолчанию он принимаетÑÑ Ð·Ð° %.PRECf, еÑли ПЕРВЫЙ, ПРИРОСТ и\n" "ПОСЛЕДÐИЙ вÑе ÑвлÑÑŽÑ‚ÑÑ Ð´ÐµÑÑтичными чиÑлами Ñ Ñ„Ð¸ÐºÑированной точкой Ñ\n" "макÑимальной точноÑтью PREC, и %g в противном Ñлучае.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "неверный аргумент Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "формат %s Ñодержит неизвеÑтную директиву %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "при выводе Ñтрок одинаковой ширины формат можно не указывать" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "ИÑпользование: %s [КОРОТКИЙ-КЛЮЧ]… ИМЯ_ПОЛЬЗОВÐТЕЛЯ КОМÐÐДР[ÐРГУМЕÐТ]…\n" " или: %s ДЛИÐÐЫЙ-КЛЮЧ\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "СбраÑывает вÑе дополнительные группы, предполагает, что идентификаторы\n" "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группы как у заданного ПОЛЬЗОВÐТЕЛЯ (чиÑловой ID или имÑ)\n" "и запуÑкает КОМÐÐДУ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÐРГУМЕÐТÐМИ. ЗавершаетÑÑ Ñо ÑтатуÑом 111,\n" "еÑли оказалоÑÑŒ невозможно уÑтановить нужные идентификаторы пользователÑ\n" "и группы. Ð’ противном Ñлучае возвращаетÑÑ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÐšÐžÐœÐÐДЫ.\n" "Эта программа имеет ÑмыÑл только Ð´Ð»Ñ ÑÑƒÐ¿ÐµÑ€Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1…] также задать первичную group-ID чиÑловым GID, и\n" " (еÑли указано) дополнительные ID групп в GID1, …\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "неизвеÑтный идентификатор пользователÑ: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "чтобы иÑпользовать идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s, вам нужно указать также -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "не удалоÑÑŒ уÑтановить дополнительную группу(Ñ‹)" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "невозможно уÑтановить идентификатор группы равным %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "невозможно уÑтановить идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Колин Пламб (Colin Plumb)" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "ПерепиÑывает неÑколько раз указанные файлы Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñделать более\n" "Ñложным воÑÑтановление даже Ñ Ð¸Ñпользованием очень дорогого оборудованиÑ.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force изменÑть права, Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ, еÑли необходимо\n" " -n, --iterations=N перепиÑать N раз вмеÑто (%d) по умолчанию\n" " --random-source=ФÐЙЛ получать Ñлучайные чиÑла из ФÐЙЛÐ\n" " (по умолчанию /dev/urandom)\n" " -s, --size=N очиÑтить N байт (возможны ÑуффикÑÑ‹ вида K, M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove обрезать и удалÑть файл поÑле перезапиÑи\n" " -v, --verbose показывать прогреÑÑ\n" " -x, --exact не округлÑть размеры файлов до Ñледующего целого " "блока;\n" " по умолчанию Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… файлов\n" " -z, --zero перезапиÑать в конце нулÑми, чтобы Ñкрыть " "перемешивание\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "ЕÑли ФÐЙЛ задан как -, перемешивать Ñтандартный вывод.\n" "\n" "УдалÑет ФÐЙЛ(Ñ‹), еÑли указан --remove (-u). По умолчанию файлы не\n" "удалÑÑŽÑ‚ÑÑ, так как чаÑто обрабатываютÑÑ Ñ„Ð°Ð¹Ð»Ñ‹-уÑтройÑтва вроде\n" "/dev/hda, а такие файлы не надо удалÑть. При обработке обычных файлов\n" "большинÑтво людей иÑпользуют ключ --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "Ð’ÐИМÐÐИЕ: Помните, что shred полагаетÑÑ Ð½Ð° очень важное предположение:\n" "что ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема перезапиÑывает файлы «на меÑте».\n" "Традиционно Ñто так и делаетÑÑ, но многие Ñовременные файловые ÑиÑтемы\n" "не удовлетворÑÑŽÑ‚ Ñтому предположению. Вот примеры файловых ÑиÑтем, на\n" "которых shred не Ñффективен или не дает гарантии ÑффективноÑти во вÑех\n" "режимах файловой ÑиÑтемы:\n" "\n" # log-structured??? #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* журналируемые файловые ÑиÑтемы, например которые идут в комплекте\n" " AIX и Solaris (и JFS, ReiserFS, XFS, Ext3 и др.)\n" "\n" "* файловые ÑиÑтемы, которые запиÑывают избыточные данные и ÑохранÑÑŽÑ‚\n" " работоÑпоÑобноÑть, даже еÑли ÑлучаютÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ñ‹Ðµ запиÑи, например\n" " файловые ÑиÑтемы, оÑнованные на технологии RAID\n" "\n" "* файловые ÑиÑтемы, которые Ñоздают Ñнимки ÑоÑтоÑниÑ, например\n" " NFS-Ñервер от Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* файловые ÑиÑтемы, которые кÑшируют файлы во временных хранилищах,\n" "например клиенты NFS верÑии 3\n" "\n" "* Ñжатые файловые ÑиÑтемы\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Ð’ Ñлучае файловых ÑиÑтем ext3 упомÑнутое выше ограничение верно (и\n" "shred, Ñледовательно, не так Ñффективен), только в режиме\n" "data=journal, когда кроме метаданных журналируютÑÑ Ñ‚Ð°ÐºÐ¶Ðµ и Ñами данные\n" "файлов. Ð’ режимах data=ordered (по умолчанию) и data=writeback\n" "программа shred работает как обычно. Режимы Ð¶ÑƒÑ€Ð½Ð°Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ext3 можно\n" "изменить, добавив ключ data=что-то к параметрам Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ\n" "конкретной файловой ÑиÑтемы в файле /etc/fstab, как документировано в\n" "Ñтранице man Ð´Ð»Ñ mount (man mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Кроме того, резервные копии и удаленные зеркала файловой ÑиÑтемы могут\n" "Ñодержать копии файла, которые Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ, и которые позволÑÑ‚\n" "впоÑледÑтвии воÑÑтановить уничтоженный файл.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fdatasync завершилаÑÑŒ неуÑпехом" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fsync завершилаÑÑŒ неудачно" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: невозможно откатитьÑÑ" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: проход %lu/%lu (%s)…" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: ошибка запиÑи по Ñмещению %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ lseek завершилаÑÑŒ неудачно" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: файл Ñлишком велик" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: проход %lu/%lu (%s)…%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: проход %lu/%lu (%s)…%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fstat завершилаÑÑŒ неуÑпехом" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: неверный тип файла" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: у файла отрицательный размер" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: ошибка при уÑечении" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fcntl завершилаÑÑŒ неуÑпехом" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: невозможно нарезать файловый деÑкриптор Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¼ добавлениÑ" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: удаление" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: переименован в %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: не удалоÑÑŒ удалить" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: удалён" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: не удалоÑÑŒ закрыть" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: не удалоÑÑŒ открыть Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: неверное чиÑло проходов" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "задано неÑколько иÑточников Ñлучайных чиÑел" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: неверный размер файла" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]\n" " или: %s -e [КЛЮЧ]… [ÐРГ]…\n" " или: %s -l ОТ-ДО [КЛЮЧ]…\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "Печатает Ñлучайную переÑтановку входных Ñтрок на Ñтандартный вывод.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo Ñчитать каждый ÐРГ входной Ñтрокой\n" " -i, --input-range=ОТ-ДО Ñчитать чиÑла ОТ и ДО входными Ñтроками\n" " -n, --head-lines=ЧИСЛО выводить не более заданного ЧИСЛРÑтрок\n" " -o, --output=ФÐЙЛ запиÑать результат в ФÐЙЛ, а не в Ñтандартный\n" " вывод\n" " --random-source=ФÐЙЛ получать Ñлучайные чиÑла из ФÐЙЛÐ\n" " (по умолчанию /dev/urandom)\n" " -z, --zero-terminated завершать Ñтроки нулем, а не переводом Ñтроки\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "задано неÑколько ключей -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "недопуÑтимый входной диапазон %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "неверное чиÑло Ñтрок: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "задано неÑколько выходных файлов" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать ключи -e и -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "ИÑпользование: %s ЧИСЛО[СУФФИКС]…\n" " или: %s КЛЮЧ\n" "ПриоÑтанавливает выполнение на заданное ЧИСЛО Ñекунд. СУФФИКС может\n" "принимать значение «s», что означает Ñекунды (применÑетÑÑ Ð¿Ð¾\n" "умолчанию), «m» — минуты, «h» — чаÑÑ‹ и «d» — дни. Ð’ отличие от\n" "других реализаций, которые требуют, чтобы ЧИСЛО было целым, здеÑÑŒ оно\n" "может быть произвольным чиÑлом Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ запÑтой. ЕÑли задано неÑколько\n" "аргументов, приоÑтанавливает на период, равный Ñумме их значений.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "неверный временной интервал %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "невозможно прочитать таймер реального времени" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "Печатает Ñортированное ÑлиÑние вÑех ФÐЙЛ(ов) на Ñтандартный вывод.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Ключи, задающие порÑдок:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks игнорировать начальные пропуÑки\n" " -d, --dictionary-order раÑÑматривать только пропуÑки, буквы и цифры\n" " -f, --ignore-case игнорировать региÑтр букв\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort Ñравнивать в ÑоответÑтвии Ñ Ð¾Ð±Ñ‰Ð¸Ð¼ чиÑловым\n" " значением\n" " -i, --ignore-nonprinting раÑÑматривать только печатные Ñимволы\n" " -M, --month-sort Ñравнивать (неизвеÑтно) < «JAN» < … < «DEC»\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort Ñравнивать чиÑла в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде\n" " (например, 2K 1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort Ñравнивать чиÑловые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтрок\n" " -R, --random-sort Ñортировать по Ñлучайным Ñ…Ñш-чиÑлам ключей\n" " --random-source=ФÐЙЛ брать Ñлучайные чиÑла из ФÐЙЛÐ\n" " -r, --reverse обратить результаты ÑравнениÑ\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=СЛОВО Ñортировать ÑоглаÑно СЛОВУ:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort Ñортировать по номерам (верÑии) в текÑтовом\n" " предÑтавлении\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Другие ключи:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE объединÑть не более чем NMERGE ввода за раз;\n" " Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ³Ð¾ иÑпользовать временные файлы\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\n" " проверÑть, Ñортированы ли входные файлы;\n" " не Ñортировать\n" " -C, --check=quiet, --check=silent\n" " как -c, но не Ñообщать о первой плохой " "Ñтроке\n" " --compress-program=ПРОГ Ñжимать временные файлы командой ПРОГ;\n" " разжимать командой ПРОГ -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug комментировать чаÑть Ñтроки, иÑпользуемой " "длÑ\n" " Ñортировки и предупреждать о Ñомнительном\n" " иÑпользовании в stderr\n" " --files0-from=Ф читать ввод из файлов, имена которых\n" " (завершённые нулем) перечиÑлены в файле Ф.\n" " ЕÑли Ф равно -, то читать имена файлов из\n" " Ñтандартного ввода\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=ОПР_КЛЮЧРÑортировать по ключу; в ОПР_КЛЮЧÐ\n" " задано раÑположение и тип\n" " -m, --merge объединить уже Ñортированные файлы,\n" " не Ñортировать\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=ФÐЙЛ выводить в ФÐЙЛ, а не на Ñтандартный вывод\n" " -s, --stable Ñтабилизировать Ñортировку, иÑключив " "проверку\n" " на равенÑтво\n" " -S, --buffer-size=РÐЗМЕР\n" " иÑпользовать в оÑновной памÑти буфер " "указанного\n" " РÐЗМЕРÐ\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=РÐЗДЕЛИТЕЛЬ\n" " иÑпользовать при поиÑке ключевых полей\n" " РÐЗДЕЛИТЕЛЬ, а не переход от непробельных\n" " Ñимволов к пробельным\n" " -T, --temporary-directory=КÐТÐЛОГ\n" " иÑпользовать Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… файлов КÐТÐЛОГ, а\n" " не $TMPDIR или %s; неÑколько таких ключей\n" " задают неÑколько каталогов\n" " --parallel=N изменить количеÑтво одновременно запущенных\n" " Ñортировок до N\n" " -u, --unique Ñ -c, проверÑть порÑдок Ñтрого;\n" " без -c, выводить только первое Ñреди " "неÑкольких\n" " равных\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated завершать Ñтроки нулевым байтом, а не новой\n" " Ñтрокой\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "ОПР_КЛЮЧРзадаетÑÑ ÐºÐ°Ðº F[.C][OPTS][,F[.C][OPTS]] Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° и конца\n" "положениÑ, где F — номер полÑ, а C — Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² поле,\n" "оба отÑчитываютÑÑ Ð¾Ñ‚ 1, а ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию равна концу Ñтроки.\n" "ЕÑли не задан параметр -t или -b, то Ñимволы в поле отÑчитываютÑÑ Ð¾Ñ‚ начала\n" "предшеÑтвующего пробельного Ñимвола. OPTS ÑоÑтавлÑетÑÑ Ð¸Ð· одной или\n" "неÑкольких букв, задающих порÑдок Ñортировки [bdfgiMhnRrV]; он " "переопределÑет\n" "ÑоответÑтвующие глобальные параметры Ñортировки Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ключевого полÑ.\n" "ЕÑли OPTS не задано, в качеÑтве ключа иÑпользуетÑÑ Ñтрока целиком.\n" "\n" "ПоÑле РÐЗМЕРРможно пиÑать Ñледующие ÑуффикÑÑ‹-мультипликаторы:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% памÑти, b 1, k 1024 (по умолчанию), и так далее Ð´Ð»Ñ M, G, T, P, E, Z, " "Y.\n" "\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" "\n" "*** ПРЕДУПРЕЖДЕÐИЕ ***\n" "УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² окружении локаль влиÑет на порÑдок Ñортировки.\n" "Чтобы получить традиционный порÑдок, иÑпользующий ÑиÑтемные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð°Ð¹Ñ‚,\n" "уÑтановите LC_ALL=C.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "ожидание %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "невозможно Ñоздать временный файл в %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°ÑÑŒ неудачно" #: src/sort.c:970 msgid "fflush failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fflush завершилаÑÑŒ неудачно" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "закрытие завершилоÑÑŒ неудачно" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "dup2 завершилаÑÑŒ неудачно" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "невозможно выполнить %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "невозможно Ñоздать временный файл" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "невозможно Ñоздать процеÑÑ Ð´Ð»Ñ %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "невозможно выполнить %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "предупреждение, невозможно удалить: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "--%s Ñодержит неверный аргумент %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "минимальным аргументом --%s ÑвлÑетÑÑ %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "--%s имеет Ñлишком большой аргумент %s" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "макÑимальным аргументом --%s Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ rlimit ÑвлÑетÑÑ %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "количеÑтво параллельных Ñортировок должно быть ненулевым" #: src/sort.c:1494 msgid "stat failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ stat завершилаÑÑŒ неудачно" #: src/sort.c:1755 msgid "read failed" msgstr "чтение завершилоÑÑŒ неудачно" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "не удалоÑÑŒ выполнить преобразование Ñтроки" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "иÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñтрока была %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ не найдено Ñовпадений Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "указан уÑтаревший ключ %s; вмеÑто него иÑпользуйте %s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "ключ %lu нулевой ширины и будет проигнорирован" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "начальные пробелы в ключе %lu важны; укажите также «b»" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "ключ %lu ÑвлÑетÑÑ Ñ‡Ð¸Ñловым и охватывает неÑколько полей" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "ключ «-%s» игнорируетÑÑ" msgstr[1] "ключа «-%s» игнорируетÑÑ" msgstr[2] "ключей «-%s» игнорируетÑÑ" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "ключ «-r» применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ еÑли ничего не Ñовпало" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "запиÑÑŒ завершилаÑÑŒ неудачно" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: неправильный порÑдок: " #: src/sort.c:2786 msgid "standard error" msgstr "ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: src/sort.c:3698 msgid "cannot read" msgstr "не удалоÑÑŒ прочитать" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ð»Ñ %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "ключи «-%s» неÑовмеÑтимы" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: неверный Ñчетчик в начале %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "неверное чиÑло поÑле «-»" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "неверное чиÑло поÑле «.»" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "лишний Ñимвол в Ñпецификации полÑ" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "заданы неÑколько программ ÑжатиÑ" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "неверное чиÑло в начале полÑ" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "нулевой номер полÑ" #: src/sort.c:4392 msgid "character offset is zero" msgstr "нулевой знаковый Ñдвиг" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "неверное чиÑло поÑле «,»" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "пуÑÑ‚Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "невозможно прочитать имена файлов из %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: неверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° нулевой длины" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "нет ввода из %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "правила, иÑпользуемые Ð´Ð»Ñ Ñортировки: %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "иÑпользуетÑÑ Ð¿Ñ€Ð¾Ñтое побайтовое Ñравнение" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "дополнительный операнд %s не допуÑтим Ñ -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "длина ÑуффикÑа должна быть не менее %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ВВОД [ПРЕФИКС]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Выводит чаÑти ФÐЙЛРфикÑированного размера в файлы ПРЕФИКСaa,\n" "ПРЕФИКСab, …; по умолчанию размер чаÑти равен 1000 Ñтрок, а ПРЕФИКС\n" "равен «x». ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный\n" "ввод.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=РиÑпользовать ÑуффикÑÑ‹ длиной Ð (по умолчанию %d)\n" " --additional-suffix=СУФФИКС прибавлÑть дополнительный СУФФИКС\n" " к именам файлов.\n" " -b, --bytes=ЧИСЛО запиÑывать в выходной файл заданное ЧИСЛО байт\n" " -C, --line-bytes=ЧИСЛО запиÑывать не более заданного ЧИСЛРбайт из " "Ñтроки\n" " в выходной файл\n" " -d, --numeric-suffixes[=ИЗ] иÑпользовать чиÑловые, а не буквенные " "ÑуффикÑÑ‹\n" " -e, --elide-empty-files не генерировать пуÑтые выходные файлы,\n" " еÑли указан «-n»\n" " --filter=КОМÐÐДРзапиÑывать в КОМÐÐДу оболочки; Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° — $FILE\n" " -l, --lines=ЧИСЛО запиÑывать в каждый выходной файл заданное ЧИСЛО " "Ñтрок\n" " -n, --number=ПОРЦИИ генерировать выходные файлы по ПОРЦИЯМ. См. далее\n" " -u, --unbuffered Ñразу копировать ввод в вывод при указании «-n r/" "…»\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose печатать диагноÑтику перед открытием\n" " очередного выходного файла\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "ПОРЦИИ могут задаватьÑÑ Ð² виде:\n" "N разделить на N файлов, оÑновываÑÑÑŒ на размере входных данных\n" "K/N вывеÑти K-ую порцию из N на Ñтандартный вывод\n" "l/N разделить на N файлов без Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтрок\n" "l/K/N вывеÑти K-ую порцию из N на Ñтандартный вывод без Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтрок\n" "r/N как «l», но иÑпользовать цикличеÑкий перебор\n" "r/K/N аналогично, но вывеÑти только K-ую порцию из N на Ñтандартный вывод\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "иÑчерпаны ÑуффикÑÑ‹ Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… файлов" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "ÑоздаётÑÑ Ñ„Ð°Ð¹Ð» %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s перезапиÑал был начальные данные; прекращение выполнениÑ" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "не удалоÑÑŒ задать переменную Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "выполнÑетÑÑ Ñ FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "не удалоÑÑŒ Ñоздать канал" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "закрытие предыдущего канала" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "закрытие выходного канала" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "перемещение входного канала" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "закрытие входного канала" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "не удалоÑÑŒ выполнить команду: «%s -c %s»" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "не удалоÑÑŒ закрыть входной канал" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "ожидание дочернего процеÑÑа" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "при FILE=%s, Ñигнал %s от команды: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "при FILE=%s, код возврата %d из команды: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "неизвеÑтный код возврата команды (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "невозможно разбивать неÑколькими методами Ñразу" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: неверное количеÑтво порций" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: неверный номер порции" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑуффикÑа" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: неверное чиÑло байт" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: неверное чиÑло Ñтрок" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "ключ чиÑла Ñтрок -%s%c… Ñлишком велик" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: неверное начальное значение чиÑлового ÑуффикÑа" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: неверный размер блока ввода-вывода" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter не применÑетÑÑ Ðº порциÑм, извлекаемым в stdout" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "начальное значение чиÑлового ÑуффикÑа Ñлишком большое и превышает длину " "ÑуффикÑа" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: невозможно определить размер файла" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Майкл МеÑÐºÐµÑ (Michael Meskes)" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "не удалоÑÑŒ выполнить канонизацию %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "предупреждение: управлÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑть «\\%c» не раÑпознана" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð°" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "предупреждение: Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце формата" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "иÑпользуемое значение %s Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтандартного ввода не работает в " "режиме файловой ÑиÑтемы" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "невозможно Ñчитать информацию файловой ÑиÑтемы Ð´Ð»Ñ %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Ñтандартного ввода" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Файл: «%n»\n" " ID: %-8i Длина имени: %-7l Тип: %T\n" "Размер блока: %-10s БазиÑный размер блока: %S\n" "Блоки: Ð’Ñего: %-10b Свободно: %-10f ДоÑтупно: %a\n" "Inodes: Ð’Ñего: %-10c Свободно: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Файл: %N\n" " Размер: %-10s\tБлоков: %-10b Блок Ð’/Ð’: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" "УÑтройÑтво: %Dh/%dd\tInode: %-10i СÑылки: %-5h Тип уÑтройÑтва: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "УÑтройÑтво: %Dh/%dd\tInode: %-10i СÑылки: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "ДоÑтуп: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "КонтекÑÑ‚: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "ДоÑтуп: %x\n" "Модифицирован: %y\n" "Изменён: %z\n" " Создан: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Отображает ÑоÑтоÑние файла или файловой ÑиÑтемы.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference Ñледовать по ÑÑылкам\n" " -f, --file-system показать ÑоÑтоÑние файловой ÑиÑтемы, а не файла\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=ФОРМÐТ иÑпользовать указанный ФОРМÐТ, а не принимаемый по\n" " умолчанию; переводить Ñтроку поÑле каждого\n" " иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÐžÐ ÐœÐТÐ\n" " --printf=FORMAT как --format, но интерпретировать Ñкранирующие\n" " поÑледовательноÑти и не переводить Ñтроку в конце.\n" " ЕÑли вам нужен перевод Ñтроки, вÑтавьте в ФОРМÐТ " "\\n.\n" " -t, --terse выводить информацию в компактной форме\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "ДопуÑтимые форматные поÑледовательноÑти Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² (без --file-system):\n" "\n" " %a права доÑтупа в воÑьмеричной форме\n" " %A права доÑтупа в читаемой форме\n" " %b чиÑло выделенных блоков (Ñм. %B)\n" " %B размер блока, Ñообщаемого %b, в байтах\n" " %C Ñтрока контекÑта безопаÑноÑти SELinux\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d номер уÑтройÑтва, деÑÑтичный\n" " %D номер уÑтройÑтва, шеÑтнадцатеричный\n" " %f низкоуровневый режим, шеÑтнадцатеричный\n" " %F тип файла\n" " %g ID группы-владельца\n" " %G Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹-владельца\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h количеÑтво жёÑтких ÑÑылок\n" " %i количеÑтво Inode\n" " %m точка монтированиÑ\n" " %n Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°\n" " %N Ñкранированное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылки разыменовываетÑÑ\n" " %o оптимальный размер блока ввода/вывода\n" " %s полный размер в байтах\n" " %t оÑновной тип уÑтройÑтва, шеÑтнадцатеричный формат\n" " %T второÑтепенный тип уÑтройÑтва, шеÑтнадцатеричный формат\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ID пользователÑ-владельца\n" " %U Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-владельца\n" " %w Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°; - , еÑли неизвеÑтно\n" " %W Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи; 0, еÑли неизвеÑтно\n" " %x Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа\n" " %X Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи\n" " %y Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации\n" " %Y Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи\n" " %z Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего изменениÑ\n" " %Z Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "ДопуÑтимые форматные поÑледовательноÑти Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… ÑиÑтем:\n" "\n" " %a количеÑтво Ñвободных блоков, доÑтупных Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ пользователÑ\n" " %b общее количеÑтво блоков данных в файловой ÑиÑтеме\n" " %c общее количеÑтво файловых нод в файловой ÑиÑтеме\n" " %d количеÑтво Ñвободных файловых нод в файловой ÑиÑтеме\n" " %f количеÑтво Ñвободных блоков в файловой ÑиÑтеме\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i идентификатор файловой ÑиÑтемы, шеÑтнадцатеричный\n" " %l макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° имени файла\n" " %n Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°\n" " %s размер блока (Ð´Ð»Ñ Ð±Ñ‹Ñтрейшей передачи)\n" " %S фундаментальный размер блока (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñчета блоков)\n" " %t тип файловой ÑиÑтемы, шеÑтнадцатеричный\n" " %T тип файловой ÑиÑтемы в понÑтном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "ИÑпользование: %s КЛЮЧ… КОМÐÐДÐ\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "ЗапуÑкает КОМÐÐДУ Ñ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ операциÑми буферизации Ð´Ð»Ñ Ñтандартных " "потоков.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=РЕЖИМ Ðдаптировать буферизацию Ñтандартного входного потока\n" " -o, --output=РЕЖИМ Ðдаптировать буферизацию Ñтандартного выходного " "потока\n" " -e, --error=РЕЖИМ Ðдаптировать буферизацию Ñтандартного потока ошибок\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "ЕÑли значение РЕЖИМРравно «L», то ÑоответÑтвующий поток будет\n" "буферизироватьÑÑ Ð¿Ð¾Ñтрочно. Этот ключ некорректен при иÑпользовании\n" "Ñтандартного ввода.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "ЕÑли значение РЕЖИМРравно «0», то ÑоответÑтвующий поток не будет\n" "буферизироватьÑÑ.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Другим значением Ð´Ð»Ñ Ð Ð•Ð–Ð˜ÐœÐ Ð¼Ð¾Ð¶ÐµÑ‚ быть чиÑло оканчивающееÑÑ:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024 и так далее Ð´Ð»Ñ G, T, P, E, Z, " "Y.\n" "Ð’ Ñтом Ñлучае ÑоответÑтвующий поток будет полноÑтью буферизироватьÑÑ Ð¸\n" "размер буфера будет равен чиÑло байт в РЕЖИМЕ.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "ЗÐМЕЧÐÐИЕ: ЕÑли КОМÐÐДРÑама подгонÑет буферы Ñвоих потоков (например " "«tee»),\n" "то Ñто изменить ÑоответÑтвующие наÑтройки, изменённые «stdbuf».\n" "Также некоторые фильтры (например «dd», «cat» и Ñ‚.д.) не иÑпользуют потоки\n" "ввода/вывода, и поÑтому «stdbuf» не укажет на них никакого влиÑниÑ.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "не удалоÑÑŒ найти %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "не удалоÑÑŒ обновить окружение Ñ %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "ÑÑ‚Ñ€Ð¾ÐºÐ¾Ð²Ð°Ñ Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ stdin беÑÑмыÑленна" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "ИÑпользование: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [ÐÐСТРОЙКÐ]…\n" " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all]\n" " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Печатает или изменÑет наÑтройки терминала.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all напечатать вÑе текущие наÑтройки в форме, понÑтной " "человеку\n" " -g, --save напечатать вÑе текущие наÑтройки в форме, понÑтной " "программе\n" " stty\n" " -F, --file=УСТРОЙСТВО\n" " открыть и иÑпользовать указанное уÑтройÑтво вмеÑто\n" " Ñтандартного ввода\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "ÐеобÑзательный знак Ð¼Ð¸Ð½ÑƒÑ Ð¿ÐµÑ€ÐµÐ´ ÐÐСТРОЙКОЙ означает отрицание. Звездочкой\n" "отмечены наÑтройки, не опиÑанные в Ñтандарте POSIX. ДоÑтупноÑть той или " "иной\n" "наÑтройки определÑетÑÑ Ð¸Ñпользуемой ÑиÑтемой.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Специальные Ñимволы:\n" "* dsusp СИМВОЛ СИМВОЛ будет поÑылать терминалу Ñигнал оÑтанова при " "завершении\n" " ввода\n" " eof СИМВОЛ СИМВОЛ будет означать конец файла (прекращать ввод)\n" " eol СИМВОЛ СИМВОЛ будет означать конец Ñтроки\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" "* eol2 СИМВОЛ другой СИМВОЛ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ†Ð° Ñтроки\n" " erase СИМВОЛ СИМВОЛ будет Ñтирать поÑледний введенный до него\n" " intr СИМВОЛ СИМВОЛ будет поÑылать Ñигнал прерываниÑ\n" " kill СИМВОЛ СИМВОЛ будет Ñтирать текущую Ñтроку\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" "* lnext СИМВОЛ СИМВОЛ будет вводить Ñледующий Ñимвол, отменÑÑ ÐµÐ³Ð¾\n" " Ñпециальное дейÑтвие\n" " quit СИМВОЛ СИМВОЛ будет поÑылать Ñигнал выхода\n" "* rprnt СИМВОЛ СИМВОЛ будет перериÑовывать текущую Ñтроку\n" " start СИМВОЛ СИМВОЛ будет возобновлÑть ввод\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop СИМВОЛ СИМВОЛ будет приоÑтанавливать ввод\n" " susp СИМВОЛ СИМВОЛ будет поÑылать терминалу Ñигнал оÑтанова\n" "* swtch СИМВОЛ СИМВОЛ будет переключать уровень вложенноÑти оболочки\n" "* werase СИМВОЛ СИМВОЛ Ñтирать поÑледние введенное Ñлово\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Специальные наÑтройки:\n" " РуÑтановить ÑкороÑти ввода и вывода равными Рбод\n" "* cols Ð Ñообщить Ñдру, что терминал имеет Ð Ñтолбцов\n" "* columns Ð Ñиноним cols\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed РуÑтановить ÑкороÑть ввода\n" "* line РиÑпользовать протокол линии Ð\n" " min РиÑпользуетÑÑ Ñ -icanon, уÑтановить Рминимальным чиÑлом\n" " Ñимволов Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ чтениÑ\n" " ospeed РуÑтановить ÑкороÑть вывода\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" "* rows Ð Ñообщить Ñдру, что терминал имеет Ð Ñтрок\n" "* size напечатать чиÑла Ñтолбцов и Ñтрок, извеÑтные Ñдру\n" " speed напечатать ÑкороÑть терминала\n" " time РиÑпользуетÑÑ Ñ -icanon, уÑтановить временной предел длÑ\n" " операции Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ РдеÑÑтым Ñекунды\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "УправлÑющие наÑтройки:\n" " [-]clocal выключить управлÑющие Ñигналы модема\n" " [-]cread разрешить ввод\n" "* [-]crtscts включить квитирование по RTS/CTS\n" " * [-]cdtrdsr включить квитирование по DTR/DSR\n" " csРуÑтановить размер Ñимвола равным Рбит, Рот 5 до 8\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb иÑпользовать два разделÑющих бита на Ñимвол (один, еÑли Ñ " "«-»)\n" " [-]hup поÑылать Ñигнал обрыва терминальной линии, когда поÑледний\n" " процеÑÑ Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ терминал\n" " [-]hupcl Ñиноним [-]hup\n" " [-]parenb генерировать при выводе бит четноÑти и ожидать бит четноÑти " "на\n" " вводе\n" " [-]parodd уÑтановить проверку на нечетноÑть (или даже чётноÑть Ñ Â«-»)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "ÐаÑтройки ввода:\n" " [-]brkint Ñимвол break будет вызывать Ñигнал прерываниÑ\n" " [-]icrnl преобразовывать возврат каретки в перевод Ñтроки\n" " [-]ignbrk игнорировать Ñимволы прерываниÑ\n" " [-]igncr игнорировать Ñимволы возврата каретки\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar игнорировать Ñимволы Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸ четноÑти\n" "* [-]imaxbel при переполненном буфере ввода подавать звуковой Ñигнал и " "не\n" " ÑбраÑывать буфер, Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ð¹ ввод\n" " [-]inlcr преобразовывать перевод Ñтроки в возврат каретки\n" " [-]inpck иÑпользовать проверку четноÑти ввода\n" " [-]istrip очищать Ñтарший (воÑьмой) бит вводимых Ñимволов\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 предполагать, что входные Ñимволы в кодировке UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" "* [-]iuclc преобразовывать заглавные буквы в Ñтрочные\n" "* [-]ixany позволить любому Ñимволу возобновить ввод\n" " [-]ixoff разрешить поÑылку Ñимволов приоÑтановки/возобновлениÑ\n" " [-]ixon разрешить управление потоком данных\n" " [-]parmrk отмечать ошибки четноÑти (поÑледовательноÑтью из 255 нулей)\n" " [-]tandem Ñиноним [-]xioff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "ÐаÑтройки вывода:\n" "* bsРзначение паузы поÑле забоÑ, допуÑтимые Ð [0..1]\n" "* crРзначение паузы поÑле возврата каретки, допуÑтимые Ð [0..3]\n" "* ffРзначение паузы поÑле перевода Ñтраницы, допуÑтимые Ð [0..1]\n" "* nlРзначение паузы поÑле новой Ñтроки, допуÑтимые Ð [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "* [-]ocrnl преобразовывать возврат каретки в перевод Ñтроки\n" "* [-]ofdel иÑпользовать Ñимволы ÑÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð²Ð¼ÐµÑто нулей Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\n" "* [-]ofill иÑпользовать Ñимволы Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐµÐº\n" "* [-]olcuc преобразовывать Ñтрочные буквы в заглавные\n" "* [-]onlcr преобразовывать перевод Ñтроки в возврат каретки и новую " "Ñтроку\n" "* [-]onlret перевод Ñтроки производит возврат каретки\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" "* [-]onocr не печатать возврат каретки в первом Ñтолбце\n" " [-]opost форматировать вывод\n" "* tabРзначение паузы поÑле горизонтальной табулÑции,\n" " допуÑтимые Ð [0..3]\n" "* tabs Ñиноним tab0\n" "* -tabs Ñиноним tab3\n" "* vtРзначение паузы поÑле вертикальной табулÑции, допуÑтимые Ð " "[0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Локальные наÑтройки:\n" " [-]crterase Ñтирать Ñимволы как забой-пробел-забой\n" "* crtkill Ñтирать вÑÑŽ Ñтроку, подчинÑÑÑÑŒ уÑтановкам echoprt и echoe\n" "* -crtkill Ñтирать вÑÑŽ Ñтроку, подчинÑÑÑÑŒ уÑтановкам echoctl и echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" "* [-]ctlecho отображать управлÑющие Ñимволы Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¾Ð¹ («^c»)\n" " [-]echo отображать вводимые Ñимволы\n" "* [-]echoctl Ñиноним [-]ctlecho\n" " [-]echoe Ñиноним [-]crterase\n" " [-]echok отображать перевод Ñтроки поÑле Ñимвола уничтожениÑ\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" "* [-]echoke Ñиноним [-]crtkill\n" " [-]echonl отображать перевод Ñтроки, даже еÑли другие Ñимволы не\n" " отображаютÑÑ\n" "* [-]echoprt выводить Ñтираемые Ñимволы в обратном порÑдке, между «\\» и " "«/»\n" " [-]icanon иÑпользовать Ñпециальные Ñимволы erase, kill, werase, и " "rprnt\n" " [-]iexten иÑпользовать Ñпециальные Ñимволы, не опиÑанные в Ñтандарте\n" " POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig иÑпользовать Ñпециальные Ñимволы interrupt, quit, и suspend\n" " [-]noflsh запретить ÑÐ±Ñ€Ð¾Ñ Ð±ÑƒÑ„ÐµÑ€Ð° поÑле приема Ñпециальных Ñимволов\n" " interrupt и quit\n" "* [-]prterase Ñиноним [-]echoprt\n" "* [-]tostop приоÑтанавливать фоновые программе, пытающиеÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÑти\n" " запиÑÑŒ на терминал\n" "* [-]xcase отображать «\\» Ð´Ð»Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ñ‹Ñ… букв, иÑпользуетÑÑ Ñ icanon\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Комбинации наÑтроек:\n" "* [-]LCASE Ñиноним [-]lcase\n" " cbreak Ñиноним -icanon\n" " -cbreak Ñиноним icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked Ñиноним brkint ignpar istrip icrnl ixon opost isig icanon,\n" " Ñимволы eof and eol имеют Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\n" " -cooked Ñиноним raw\n" " crt Ñиноним echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec Ñиноним echoe echoctl echoke -ixany intr ^c erase 0177 kill " "^u\n" "* [-]decctlq Ñиноним [-]ixany\n" " ek уÑтановить Ð´Ð»Ñ Ñимволов erase and kill Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ " "умолчанию\n" " evenp Ñиноним parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp Ñиноним -parenb cs8\n" "* [-]lcase Ñиноним xcase iuclc olcuc\n" " litout Ñиноним -parenb -istrip -opost cs8\n" " -litout Ñиноним parenb istrip opost cs7\n" " nl Ñиноним -icrnl -onlcr\n" " -nl Ñиноним icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp Ñиноним parenb parodd cs7\n" " -oddp Ñиноним -parenb cs8\n" " [-]parity Ñиноним [-]evenp\n" " pass8 Ñиноним -parenb -istrip cs8\n" " -pass8 Ñиноним parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw Ñиноним -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw Ñиноним cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane Ñиноним cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, вÑе Ñпециальные\n" " Ñимволы уÑтановлены в их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "УправлÑет терминальной линией, подключенной к Ñтандартному вводу. " "ЗапущеннаÑ\n" "без аргументов, печатает ÑкороÑть передачи информации, line discipline и\n" "Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ Ð¾Ñ‚ обычных уÑтановок. При уÑтановке, СИМВОЛЫ трактуютÑÑ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ð¾\n" "или задаютÑÑ Ð² как ^c, 0x37, 0177 или 127; Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ Ñпециальных Ñимволов\n" "Ñлужат Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ^- и undef.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "можно задать только одно уÑтройÑтво" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в виде, читаемом человеком и читаемом программой stty,\n" "взаимоиÑключающие" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "при задании ÑÑ‚Ð¸Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÑтанавливать режим" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: невозможно переинициализировать неблокирующий режим" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "неверный аргумент %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "пропущен аргумент Ð´Ð»Ñ %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "неверные наÑтройки линии (line discipline) %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: невозможно произвеÑти вÑе запрошенные дейÑтвиÑ" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: Ð´Ð»Ñ Ñтого уÑтройÑтва нет Ñведений о размерах" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "неверный целый аргумент %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Кайван Ðгхаипур (Kayvan Aghaiepour)" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Печатает контрольную Ñумму и чиÑло блоков Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" "\n" " -r иÑпользовать алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм как в " "BSD,\n" " размер блока 1K\n" " -s, --sysv иÑпользовать алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм как в\n" " System V, размер блока 512 байт\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "ЗапиÑывает измененные блоки на диÑк, обновлÑет Ñуперблок\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "вÑе аргументы проигнорированы" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "ЗÐМЕЧÐÐИЕ: ваша оболочка может предоÑтавлÑть Ñвою верÑию %s, котораÑ\n" "обычно перекрывает верÑию, опиÑанную здеÑÑŒ. ПожалуйÑта, обращайтеÑÑŒ к\n" "документации по вашей оболочке, чтобы узнать, какие ключи она\n" "поддерживает.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help показать Ñту Ñправку и выйти\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" " --version показать информацию о верÑии и выйти\n" "\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Ðргументы, обÑзательные Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… ключей, обÑзательны и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "РÐЗМЕР задаётÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом и необÑзательной единицей изменениÑ\n" "(пример: 10M is 10*1024*1024). Единицы изменениÑ:\n" "K, M, G, T, P, E, Z, Y (Ñтепень 1024) или KB, MB, … (Ñтепень 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Показывает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² единицах первого доÑтупного РÐЗМЕРРиз --block-size,\n" "и переменных Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ %s_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE.\n" "Иначе, единицей по умолчанию ÑвлÑетÑÑ 1024 байта (или 512, еÑли\n" "уÑтановлена POSIXLY_CORRECT).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Об ошибках в %s Ñообщайте по адреÑу %s.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Об ошибках в переводе Ñообщений «%s» Ñообщайте по адреÑу <gnu@mx.ru>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "ÐŸÐ¾Ð»Ð½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð¾Ñтупна по команде: info coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "По команде «%s --help» можно получить дополнительную информацию.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ПРЕДУПРЕЖДЕÐИЕ: ЦикличеÑÐºÐ°Ñ Ñтруктура каталога.\n" "Скорее вÑего, Ñто означает, что ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема повреждена.\n" "УВЕДОМИТЕ Ð’ÐШЕГО СИСТЕМÐОГО ÐДМИÐИСТРÐТОРÐ.\n" "Следующий каталог ÑвлÑетÑÑ Ñ‡Ð°Ñтью цикла:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Джей Лепро (Jay Lepreau)" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Печатает ФÐЙЛЫ на Ñтандартный вывод, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð¿Ð¾Ñледней Ñтроки.\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before приÑоединÑть разделитель к началу, а не к концу\n" " -r, --regex воÑпринимать разделитель как регулÑрное " "выражение\n" " -s, --separator=СТРОКРиÑпользовать как разделитель СТРОКУ, а не Ñимвол\n" " новой Ñтроки\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: перемещение по файлу завершилоÑÑŒ неудачно" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "запиÑÑŒ Ñлишком велика" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "не удалоÑÑŒ Ñоздать временный файл в %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "не удалоÑÑŒ открыть %s на запиÑÑŒ" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "не удалоÑÑŒ отмотать поток Ð´Ð»Ñ %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: ошибка запиÑи" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "не удалоÑÑŒ открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "разделитель не может быть пуÑтым" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ян Ð›Ð°Ð½Ñ Ð¢ÐµÐ¹Ð»Ð¾Ñ€ (Ian Lance Taylor)" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Печатает поÑледние %d Ñтрок каждого из ФÐЙЛОВ на Ñтандартный вывод.\n" "ЕÑли задано неÑколько ФÐЙЛОВ, Ñначала печатает заголовок Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла.\n" "ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=Рпоказать поÑледние Рбайт; или же укажите -c +Ð,\n" " чтобы начать вывод каждого файла Ñ Ð-го байта\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " выводить поÑтупающие данные по мере роÑта файла;\n" " -f, --follow и --follow=descriptor Ñквивалентны\n" " -F Ñквивалент --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=Рвыводить поÑледние Ð Ñтрок, а не поÑледние %d;\n" " или иÑпользуйте -n +Ð Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ñтрок, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ " "Ð-ной\n" " --max-unchanged-stats=Ð\n" " c ключом --follow=name, повторно открывать ФÐЙЛ,\n" " который не изменÑлÑÑ Ð¿Ð¾Ñледние Ð (по умолчанию " "%d)\n" " итераций, чтобы проверить, не был ли он удалён " "или\n" " переименован (такое обычно бывает при ротации\n" " ÑиÑтемных протокольных файлов). При " "иÑпользовании\n" " механизма inotify Ñтот параметр не требуетÑÑ.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -f, прерватьÑÑ, когда процеÑÑ PID\n" " завершает работу\n" " -q, --quiet, --silent не выводить заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов\n" " --retry продолжать пытатьÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл даже когда он " "еÑть\n" " или Ñтанет недоÑтупным; полезно, когда " "указываетÑÑ\n" " имÑ, то еÑть, Ñ --follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=С Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -f, Ñпать между итерациÑми примерно\n" " С Ñекунд (по умолчанию 1.0). При иÑпользовании\n" " механизма inotify и --pid=P, проверÑть процеÑÑ P " "не\n" " чем раз в N Ñекунд.\n" " -v, --verbose вÑегда выводить заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "ЕÑли первым Ñимволом в Ð (чиÑле байт или Ñтрок) ÑвлÑетÑÑ Â«+», то выводит\n" "Ñ Ð-ного байта (или Ñтроки) от начала каждого файла, иначе выводит\n" "поÑледние Рбайт (или Ñтрок). Рможет иметь ÑуффикÑ-множитель:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "С ключом --follow (-f), tail по умолчанию Ñледует за деÑкриптором файла, " "что\n" "означает, что даже еÑли файл переименован, tail будет и далее Ñледить за " "его\n" "концом. Это поведение, принимаемое по умолчанию, нежелательно, еÑли вы на\n" "Ñамом деле хотите Ñледить за именем файла, а не за деÑкриптором\n" "(пример -- Ñдвиг протокольных файлов). Ð’ таком Ñлучае иÑпользуйте\n" "--follow=name. Это заÑтавит tail Ñледовать за указанным файлом, повторно\n" "Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°Ñ ÐµÐ³Ð¾ периодичеÑки, чтобы узнать, не был ли он удален и заново " "Ñоздан\n" "какой-то другой программой.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "закрытие %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: невозможно перемеÑтить указатель позиции на %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: невозможно перемеÑтить указатель позиции на %s отноÑительно конца" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "невозможно определить раÑположение %s, возвращаемÑÑ Ðº методу опроÑом" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "неизвеÑтный тип файловой ÑиÑтемы 0x%08lx Ð´Ð»Ñ %s. Сообщите об Ñтом в %s. " "ВозвращаемÑÑ Ðº опроÑу." #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s Ñтал недоÑтупен" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s был замещен файлом, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ tail неприменим; конец вывода Ð´Ð»Ñ Ñтого " "имени" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s был замещён файлом удалённым файлом, конец вывода Ð´Ð»Ñ Ñтого имени" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s Ñтал доÑтупен" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s поÑвилÑÑ; начат вывод Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s был замещен; вывод продолжаетÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: невозможно изменить неблокирующий режим" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: файл уÑечен" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "больше нет файлов" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "невозможно наблюдать за родительÑким каталогом %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "иÑчерпаны реÑурÑÑ‹ inotify" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "не удалоÑÑŒ провеÑти наблюдение %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "ошибка отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: невозможно Ñледить за концом файла такого типа; вывод продолжаетÑÑ Ð´Ð»Ñ " "нового файла" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "чиÑло в %s Ñлишком велико" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: неверное макÑимальное чиÑло не изменÑвшихÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² между открытиÑми" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: неверный PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: неверное чиÑло Ñекунд" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "ключ иÑпользован в неверном контекÑте -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "предупреждение: ключ --retry обычно полезен при Ñледовании по имени файла" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "предупреждение: PID игнорирован; ключ --pid=PID полезен только при Ñледовании" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "предупреждение: --pid=PID не поддерживаетÑÑ Ð½Ð° Ñтой ÑиÑтеме" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "невозможно Ñледовать за %s по имени" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" "предупреждение: беÑконечное Ñлежение за Ñтандартным вводом неÑффективно" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "невозможно иÑпользовать inotify, возвращаемÑÑ Ðº методу опроÑа" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Копирует Ñтандартный ввод в каждый ФÐЙЛ, а также в Ñтандартный вывод.\n" "\n" " -a, --append допиÑать в заданные ФÐЙЛЫ\n" " -i, --ignore-interrupts игнорировать Ñигналы прерываниÑ\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "ЕÑли ФÐЙЛ задан как -, копирует обратно на Ñтандартный вывод.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "пропущен аргумент поÑле %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "неверное целое чиÑло %s" #: src/test.c:241 msgid "')' expected" msgstr "ожидаетÑÑ Â«)»" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "ожидаетÑÑ Â«)», найдено %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: ожидаетÑÑ ÑƒÐ½Ð°Ñ€Ð½Ñ‹Ð¹ оператор" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt не допуÑкает -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef не допуÑкает -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot не допуÑкает -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "неизвеÑтный бинарный оператор" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: ожидаетÑÑ Ð±Ð¸Ð½Ð°Ñ€Ð½Ñ‹Ð¹ оператор" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "ИÑпользование: test ВЫРÐЖЕÐИЕ\n" " или: test\n" " или: [ ВЫРÐЖЕÐИЕ ]\n" " или: [ ]\n" " или: [ КЛЮЧ\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "Выходной ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ Ð’Ð«Ð ÐЖЕÐИЕМ.\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "ЕÑли ВЫРÐЖЕÐИЕ не задано, оно ÑчитаетÑÑ Ð»Ð¾Ð¶Ð½Ñ‹Ð¼. Ð’ противном Ñлучае\n" "ВЫРÐЖЕÐИЕ может быть иÑтинным либо ложным; оно уÑтанавливает выходной\n" "ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹. Выходное значение определÑетÑÑ Ñледующим образом:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( ВЫРÐЖЕÐИЕ ) ВЫРÐЖЕÐИЕ иÑтинно\n" " ! ВЫРÐЖЕÐИЕ ВЫРÐЖЕÐИЕ ложно\n" " ВЫРÐЖЕÐИЕ1 -a ВЫРÐЖЕÐИЕ2 ВЫРÐЖЕÐИЕ1 и ВЫРÐЖЕÐИЕ2 оба иÑтинны\n" " ВЫРÐЖЕÐИЕ1 -o ВЫРÐЖЕÐИЕ2 ВЫРÐЖЕÐИЕ1 или ВЫРÐЖЕÐИЕ2 иÑтинно\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n СТРОКРдлина СТРОКИ отлична от нулÑ\n" " СТРОКРÑквивалентно -n СТРОКÐ\n" " -z СТРОКРдлина СТРОКИ равна нулю\n" " СТРОКÐ1 = СТРОКÐ2 Ñтроки равны\n" " СТРОКÐ1 != СТРОКÐ2 Ñтроки не равны\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ЦЕЛОЕ1 -eq ЦЕЛОЕ2 ЦЕЛОЕ1 равно ЦЕЛОМУ2\n" " ЦЕЛОЕ1 -ge ЦЕЛОЕ2 ЦЕЛОЕ1 больше или равно ЦЕЛОМУ2\n" " ЦЕЛОЕ1 -gt ЦЕЛОЕ2 ЦЕЛОЕ1 больше ЦЕЛОГО2\n" " ЦЕЛОЕ1 -le ЦЕЛОЕ2 ЦЕЛОЕ1 меньше или равно ЦЕЛОМУ2\n" " ЦЕЛОЕ1 -lt ЦЕЛОЕ2 ЦЕЛОЕ1 меньше ЦЕЛОГО2\n" " ЦЕЛОЕ1 -ne ЦЕЛОЕ2 ЦЕЛОЕ1 отлично от ЦЕЛОГО2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 и ФÐЙЛ2 имеют одинаковые уÑтройÑтва и номера " "inode\n" " ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 изменÑлÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, чем ФÐЙЛ2\n" " ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 был Ñоздан позже, чем ФÐЙЛ2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñпециальным Ñ Ð¿Ð¾Ð±Ð»Ð¾Ñ‡Ð½Ñ‹Ð¼ доÑтупом\n" " -c ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñпециальным Ñ Ð¿Ð¾Ñимвольным " "доÑтупом\n" " -d ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼\n" " -e ФÐЙЛ ФÐЙЛ ÑущеÑтвует\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом\n" " -g ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг set-group-ID\n" " -G ФÐЙЛ ФÐЙЛ ÑущеÑтвует и принадлежит текущей Ñффективной группе\n" " -h ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñимвольной ÑÑылкой (Ñквивалент -L)\n" " -k ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг sticky\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñимвольной ÑÑылкой (Ñквивалент -h)\n" " -O ФÐЙЛ ФÐЙЛ ÑущеÑтвует и принадлежит текущему Ñффективному " "пользователю\n" " -p ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼ каналом\n" " -r ФÐЙЛ ФÐЙЛ ÑущеÑтвует доÑтупен Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ\n" " -s ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет ненулевой размер\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñокетом\n" " -t [ДФ] деÑкриптор файла ДФ открыт на терминале\n" " -u ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг set-user-ID\n" " -w ФÐЙЛ ФÐЙЛ ÑущеÑтвует и доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи\n" " -x ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¸ÑполнÑемым\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Ð’Ñе теÑты, отноÑÑщиеÑÑ Ðº ФÐЙЛУ, кроме -h и -L разыменовывают\n" "Ñимвольные ÑÑылки. Помните, что вы должны отменить Ñпециальное\n" "значение Ñкобок Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ интерпретатора (например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ\n" "Ñимвола «\\»). ЦЕЛОЕ может также быть задано как «-l СТРОКл, при Ñтом\n" "оно принимает значение длины СТРОКИ.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "ЗÐМЕЧÐÐИЕ: [ вÑе имеют ключи --help и --version, но test нет.\n" "test Ñчитает каждый из них обычной не пуÑтой СТРОКОЙ.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test и/или [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Кевин БраунÑдорф (Kevin Braunsdorf)" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "МÑттью Бредберн (Matthew Bradburn)" #: src/test.c:858 msgid "missing ']'" msgstr "пропущена «]»" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "лишний аргумент %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "предупреждение: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "предупреждение: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "предупреждение: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "ИÑпользование: %s [КЛЮЧ] ПРОДОЛЖИТЕЛЬÐОСТЬ КОМÐÐДР[ÐРГ]…\n" " или: %s [КЛЮЧ]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "ЗапуÑкает КОМÐÐДУ и завершает её по иÑтечении времени, задаваемого\n" "ПРОДОЛЖИТЕЛЬÐОСТЬЮ.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " завершить работу Ñ Ñ‚ÐµÐ¼ же значением что и КОМÐÐДÐ, даже " "еÑли\n" " иÑтёк Ñрок Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹\n" " --foreground\n" " ЕÑли запуÑк timeout выполнен не из оболочки командной " "Ñтроки,\n" " позволить КОМÐÐДЕ чтение из TTY и приём Ñигналов TTY.\n" " Ð’ Ñтом режиме на потомка КОМÐÐДЫ таймаут не накладываетÑÑ.\n" " -k, --kill-after=ПРОДОЛЖИТЕЛЬÐОСТЬ\n" " также поÑлать Ñигнал KILL, еÑли КОМÐÐДРвÑÑ‘ ещё работает\n" " по иÑтечении указанного Ñрока поÑле отправки\n" " начального Ñигнала.\n" " -s, --signal=СИГÐÐЛ\n" " задать Ñигнал, который будет поÑлан по таймауту.\n" " СИГÐÐЛ может задаватьÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼, например «HUP» или " "номером.\n" " СпиÑок Ñигналов Ñм. по команде «kill -l»\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "ПРОДОЛЖИТЕЛЬÐОСТЬ выражаетÑÑ Ñ‡Ð¸Ñлом Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой Ñ Ð½ÐµÐ¾Ð±Ñзательным\n" "ÑуффикÑом: «s» (по умолчанию) — Ñекунды, «m» — минуты, «h» — чаÑÑ‹\n" "или «d» — дни.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "ЕÑли команда завершилаÑÑŒ по таймауту и не указан ключ --preserve-status,\n" "то код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 124. Иначе возвращаетÑÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ‹Ð¹ код завершениÑ\n" "КОМÐÐДЫ. ЕÑли Ñигнал не задан, то по таймауту поÑылаетÑÑ Ñигнал TERM.\n" "Сигнал TERM завершает любой процеÑÑ, который не блокирует или перехватывает\n" "данный Ñигнал. ОÑтальным процеÑÑам, может понадобитьÑÑ Ð¿Ð¾Ñлать Ñигнал\n" "KILL (9), так как Ñтот Ñигнал Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ð¸Ñ‚ÑŒ. ЕÑли поÑлан Ñигнал KILL " "(9),\n" "то код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 128+9, а не 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "предупреждение: не удалоÑÑŒ отключить Ñоздание core" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "ошибка Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "отÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° завершилаÑÑŒ Ñозданием дампа" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Джим Кингдон (Jim Kingdon)" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "РÑнди Смит (Randy Smith)" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "неверный формат даты %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "невозможно выполнить touch Ð´Ð»Ñ %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "уÑтановка временных отметок %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "УÑтанавливает временные метки доÑтупа и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛРв текущее\n" "времÑ.\n" "\n" "ЕÑли ФÐЙЛ не ÑущеÑтвует, то ÑоздаётÑÑ Ð¿ÑƒÑтой, еÑли не указаны ключи -c или -" "h.\n" "\n" "ЕÑли Ñтрока аргумента ФÐЙЛ равна -, то Ñто обрабатываетÑÑ Ñпециальным " "образом\n" "и вызывает изменение временных меток файла, ÑвÑзанного Ñо Ñтандартным " "выводом.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a изменить только Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа\n" " -c, --no-create не Ñоздавать файлов\n" " -d, --date=СТРОКРпроанализировать СТРОКУ и иÑпользовать вмеÑто\n" " текущего времени\n" " -f (игнорируетÑÑ)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference изменÑет Ñимвольные ÑÑылки, а не файлы, на которые\n" " они ÑÑылаютÑÑ (имеет ÑмыÑл только на ÑиÑтемах, где\n" " можно изменÑть владельца Ñимвольной ÑÑылки)\n" " -m изменÑть только Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=ФÐЙЛ иÑпользовать Ð²Ñ€ÐµÐ¼Ñ Ð¤ÐЙЛРвмеÑто текущего времени\n" " -t ВРЕМЯ иÑпользовать [[Ð’Ð’]ГГ]ММДДччмм[.ÑÑ] вмеÑто\n" " текущего времени\n" " --time=СЛОВО изменить указанное времÑ:\n" " Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ access, atime, use Ñквивалентны -a\n" " Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ modify, mtime Ñквивалентны -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Заметьте, что ключи -d и -t иÑпользуют разные форматы даты и времени.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "невозможно задать Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð· неÑкольких иÑточников" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "предупреждение: вызов «touch %s» уÑтарел; иÑпользуйте «touch -t %04ld%02d%02d" "%02d%02d.%02d»" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… ÐÐБОР1 [ÐÐБОР2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Преобразует, уплотнÑет и/или удалÑет Ñимволы Ñо Ñтандартного ввода и\n" "печатает на Ñтандартный вывод.\n" "\n" " -c, -C, --complement Ñначала получить дополнение ТÐБЛИЦЫ1\n" " -d, --delete удалÑть Ñимволы из ТÐБЛИЦЫ1, не преобразовывать\n" " -s, --squeeze-repeats замещать поÑледовательноÑти повторÑющихÑÑ " "Ñимволов\n" " из перечиÑленных в ТÐБЛИЦЕ1 на единÑтвенный такой\n" " Ñимвол\n" " -t, --truncate-set1 Ñначала Ñократить ТÐБЛИЦУ1 до размера ТÐБЛИЦЫ2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "ТÐБЛИЦы задаютÑÑ ÐºÐ°Ðº Ñимвольные Ñтроки. Во многих ÑлучаÑÑ… Ñимволы " "предÑтавлÑÑŽÑ‚\n" "Ñами ÑебÑ. ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти:\n" "\n" " \\ÐÐРзнак Ñ Ð²Ð¾Ñьмеричным кодом ÐÐÐ (от 1 до 3 цифр)\n" " \\\\ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°\n" " \\a звуковой Ñигнал\n" " \\b забой\n" " \\f перевод Ñтраницы\n" " \\n Ð½Ð¾Ð²Ð°Ñ Ñтрока\n" " \\r возврат каретки\n" " \\t Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n" " СИМ1-СИМ2 вÑе Ñимволы от СИМ1 до СИМ2 в порÑдке возраÑтаниÑ\n" " [СИМ*] СИМВОЛ заполнÑет ТÐБЛИЦУ2 до длины ТÐБЛИЦЫ1\n" " [СИМ*ЧИСЛО] заданное ЧИСЛО одинаковых СИМВОЛОВ; ЧИСЛО воÑьмеричное,\n" " еÑли начинаетÑÑ Ñ 0\n" " [:alnum:] вÑе буквы и цифры\n" " [:alpha:] вÑе буквы\n" " [:blank:] вÑе горизонтальные пробельные Ñимволы\n" " [:cntrl:] вÑе управлÑющие Ñимволы\n" " [:digit:] вÑе цифры\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] вÑе печатные Ñимволы, иÑÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»\n" " [:lower:] вÑе Ñтрочные буквы\n" " [:print:] вÑе печатные Ñимволы, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»\n" " [:punct:] вÑе знаки препинаниÑ\n" " [:space:] вÑе вертикальные или горизонтальные пробельные Ñимволы\n" " [:upper:] вÑе заглавные буквы\n" " [:xdigit:] вÑе шеÑтнадцатеричные цифры\n" " [=СИМ=] вÑе Ñимволы, Ñквивалентные СИМВОЛУ\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Преобразование проиÑходит, еÑли заданы обе ТÐБЛИЦы, и не указан -d. Ключ -t\n" "может быть иÑпользован только при преобразовании. ТÐБЛИЦÐ2 при " "необходимоÑти\n" "раÑширÑетÑÑ Ð´Ð¾ размера ТÐБЛИЦЫ1 путем Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледнего Ñимвола.\n" "Избыточные Ñимволы ТÐБЛИЦЫ2 игнорируютÑÑ. Только [:lower:] и [:upper:]\n" "гарантировано Ñортированы в порÑдке возраÑтаниÑ, их можно иÑпользовать " "только\n" "парно, Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñмены региÑтра. ЕÑли не запрошено ни преобразование, " "ни\n" "удаление, ключ -s иÑпользует ТÐБЛИЦУ1, иначе при уплотнении иÑпользуетÑÑ\n" "ТÐБЛИЦÐ2. Уплотнение производитÑÑ Ð¿Ð¾Ñле Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ удалениÑ.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "предупреждение: Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ Ð²Ð¾ÑÑŒÐ¼ÐµÑ€Ð¸Ñ‡Ð½Ð°Ñ Ð¿Ð¾ÑледовательноÑть \\%c%c%c " "трактуетÑÑ\n" "как Ð´Ð²ÑƒÑ…Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑть \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "предупреждение: неÑÐºÑ€Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце Ñтроке " "непереноÑима между платформами" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "неверный порÑдок границ диапазона «%s-%s»" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "неверно задано чиÑло повторов %s в конÑтрукции [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "пропущено Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа Ñимволов «[::]»" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "пропущен клаÑÑа ÑквивалентноÑти Ñимволов «[==]»" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "неверный клаÑÑ Ñимволов %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" "%s: необходимо задать один Ñимвол, определÑющий клаÑÑ Ñквивалентных ему" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "непарные конÑтрукции [:upper:] и/или [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "Ñлишком много Ñимволов в таблице" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "еÑли при преобразовании Ñтрока1 длиннее Ñтроки2,\n" "то поÑледнÑÑ Ñтрока не должна заканчиватьÑÑ ÐºÐ»Ð°ÑÑом Ñимволов" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*] не может быть иÑпользована в ТÐБЛИЦЕ1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "в ТÐБЛИЦЕ2 может быть иÑпользована только одна конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*]" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "выражение [=c=] не может быть иÑпользовано в ТÐБЛИЦЕ2 при преобразовании" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "при преобразовании, в ТÐБЛИЦЕ2 могут быть иÑпользованы только\n" "клаÑÑÑ‹ «upper» и «lower»" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "еÑли чаÑть таблицы1 не отбраÑываетÑÑ, таблица2 должна быть непуÑтой" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "при преобразовании Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ клаÑÑов Ñимволов, ТÐБЛИЦÐ2 должна\n" "Ñтавить в ÑоответÑтвие вÑем Ñимволам Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð¾Ð²Ð½Ð¾ один Ñимвол" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" "конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*] может быть иÑпользована в ТÐБЛИЦЕ2 только при преобразовании" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "При удалении и уплотнении повторов должны быть заданы две Ñтроки." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "При преобразовании необходимо задать две Ñтроки." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "При удалении без ÑƒÐ¿Ð»Ð¾Ñ‚Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¾Ð² можно задать две только одну таблицу." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s [ игнорируемые аргументы командной Ñтроки ]\n" " или: %s КЛЮЧ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Выходит Ñ ÑƒÑпешным ÑтатуÑом." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Выходит Ñ ÐºÐ¾Ð´Ð¾Ð¼, указывающим на неудачное завершение." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "ИÑпользование: %s КЛЮЧ… ФÐЙЛ…\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Урезает или увеличивает размер каждого ФÐЙЛРдо заданного размера\n" "\n" "ЕÑли ФÐЙЛ не ÑущеÑтвует, то он ÑоздаётÑÑ.\n" "\n" "ЕÑли ФÐЙЛ больше заданного размера, вÑе лишние данные будут потерÑны.\n" "ЕÑли ФÐЙЛ короче, то он раÑширÑетÑÑ, и Ñто меÑто\n" "читаетÑÑ ÐºÐ°Ðº нулевые байты.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create не Ñоздавать файлов\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks Ñчитать РÐЗМЕР чиÑлом блоков вв/вывода, а не " "байтов\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RФÐЙЛ базовый размер RФÐЙЛÐ\n" " -s, --size=РÐЗМЕР уÑтановить или подогнать размер файла под РÐЗМЕР\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "Перед РÐЗМЕРОМ может быть один из Ñледующих Ñимволов:\n" "«+» — раÑширить на, «-» — Ñократить на, «<» — не более,\n" "«>» — не менее, «/» — округлить Ñ Ñторону уменьшениÑ,\n" "«%» — округлить в Ñторону увеличениÑ.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "переполнение в %<PRIdMAX> * %<PRIdMAX> байтовых блоков Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s имеет нерабочий, вероÑтно, отрицательный размер" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "невозможно получить размер %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "переполнение при округлении размера в Ñторону ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "переполнение при раÑширении размера файла %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "не удалоÑÑŒ уÑечь %s на %<PRIdMAX> байт" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "задано неÑколько отноÑительных модификаторов" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "вы должны задать что-то одно: %s или %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "вы должны задать отноÑительный %s Ñ %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "указан %s, но без %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "невозможно открыть %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Марк ÐšÐ¸Ñ‚Ñ‚ÐµÐ½Ð¸Ñ (Mark Kettenis)" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ИÑпользование: %s [КЛЮЧ] [ФÐЙЛ]\n" "Печатает полноÑтью Ñортированный ÑпиÑок, ÑоответÑтвующий чаÑтичной " "Ñортировке\n" "в заданном ФÐЙЛЕ. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный " "ввод.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: на входе ÑодержитÑÑ Ð½ÐµÑ‡Ñ‘Ñ‚Ð½Ð¾Ðµ чиÑло лекÑем" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: на входе ÑодержитÑÑ Ñ†Ð¸ÐºÐ»:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Печатает Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°, приÑоединенного к Ñтандартному вводу.\n" "\n" " -s, --silent, --quiet не печатать, только вернуть выходное значение\n" #: src/tty.c:120 msgid "not a tty" msgstr "не телетайп" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Печатает определенные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑиÑтеме. ЕÑли КЛЮЧ не задан,\n" "подразумеваетÑÑ -s.\n" "\n" " -a, --all напечатать вÑÑŽ информацию, в Ñледующем порÑдке,\n" " кроме -p и -i, еÑли они неизвеÑтны:\n" " -s, --kernel-name напечатать Ð¸Ð¼Ñ Ñдра\n" " -n, --nodename напечатать Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹ в Ñети\n" " -r, --release напечатать номер выпуÑка операционной ÑиÑтемы\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version напечатать верÑию Ñдра\n" " -m, --machine напечатать тип Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹\n" " -p, --processor напечатать тип процеÑÑора или «неизвеÑтно»\n" " -i, --hardware-platform напечатать тип аппаратной платформы или " "«неизвеÑтно»\n" " -o, --operating-system напечатать Ð¸Ð¼Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑиÑтемы\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Печатает машинную архитектуру.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "невозможно узнать название ÑиÑтемы" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Преобразует пробелы в ФÐЙЛÐÐ¥ в Ñимволы табулÑции и печатает на\n" "Ñтандартный вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает\n" "Ñтандартный ввод.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all преобразовывать вÑе пробельные Ñимволы, а не только\n" " начальные\n" " --first-only преобразовывать только начальные пробельные Ñимволы\n" " (перекрывает -a)\n" " -t, --tabs=ЧИСЛО иÑпользовать табулÑцию заданной ширины, а не 8 (включает " "-a)\n" " -t, --tabs=СПИСОК иÑпользовать заданный СПИСОК (разделенный запÑтыми) " "позиций\n" " табулÑции (включает -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "позиции табулÑции Ñлишком далеко друг от друга" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "размер табулÑции Ñлишком велик" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ВХОД [ВЫХОД]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Фильтрует Ñовпавшие Ñтроки из ВХОДР(или Ñтандартного ввода),\n" "запиÑÑ‹Ð²Ð°Ñ Ð¸Ñ… в ВЫХОД (или Ñтандартный вывод).\n" "\n" "Без ключей Ñовпавшие Ñтроки объединÑÑŽÑ‚ÑÑ Ñ Ð¿ÐµÑ€Ð²Ñ‹Ð¼ поÑвлением.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count выводить чиÑло повторов в начале каждой Ñтроки\n" " -d, --repeated выводить только повторÑющиеÑÑ Ñтроки\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method]\n" " напечатать вÑе повторÑющиеÑÑ Ñтроки\n" " delimit-method={none(по умолчанию),prepend," "separate)}\n" " Разделение делаетÑÑ Ð¿ÑƒÑтыми Ñтроками.\n" " -f, --skip-fields=Рне Ñравнивать первые Рполей\n" " -i, --ignore-case игнорировать региÑтр при Ñравнении\n" " -s, --skip-chars=Рне Ñравнивать первые Ð Ñимволов\n" " -u, --unique выводить только неповторÑющиеÑÑ Ñтроки\n" " -z, --zero-terminated Ñтроки оканчиваютÑÑ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ 0, а не Ñимволом\n" " новой Ñтроки\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=Ð Ñравнивать первые Ð Ñимволов Ñтрок\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Полем ÑчитаетÑÑ Ð¿Ð¾ÑледовательноÑть пробельных Ñимволов (обычно, пробелы\n" "и/или TAB), за которой Ñледуют непробельные Ñимволы. Сначала пропуÑкаютÑÑ\n" "полÑ, потом Ñимволы.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Замечание: «uniq» не обнаруживает повторÑющиеÑÑ Ñтроки, еÑли они не " "Ñмежные.\n" "Ð’Ñ‹ можете Ñначала выполнить Ñортировку, или иÑпользовать «sort -u» без " "«uniq».\n" "Также, при Ñравнении учитываютÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° задаваемые «LC_COLLATE».\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "Ñлишком много повторÑющихÑÑ Ñтрок" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "неверное чиÑло пропуÑкаемых полей" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "неверное чиÑло пропуÑкаемых байт" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "неверное чиÑло Ñравниваемых байт" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "печать вÑех повторÑющихÑÑ Ñток и чиÑла повторений беÑÑмыÑленна" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s ФÐЙЛ\n" " или: %s КЛЮЧ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Вызывает функцию unlink Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "невозможно удалить ÑÑылку %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "невозможно узнать Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¹ загрузки" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? включён " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr " ???? дней ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "%ld день %2d:%02d, " msgstr[1] "%ld Ð´Ð½Ñ %2d:%02d, " msgstr[2] "%ld дней %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "в работе %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu пользователь" msgstr[1] "%lu пользователÑ" msgstr[2] "%lu пользователей" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", ÑреднÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð½Ð¾Ñть: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Выводит текущее времÑ, общее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð¾Ð¹ работы ÑиÑтемы, чиÑло\n" "пользователей в ÑиÑтеме и Ñреднее чиÑло заданий в очереди запуÑка за\n" "поÑледние 1, 5 и 15 минут." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " ПроцеÑÑÑ‹ в\n" "ÑоÑтоÑнии непрерывного Ñна также влиÑÑŽÑ‚ на Ñреднюю загруженноÑть.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛÐ\n" "задают %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Выводит ÑпиÑок подключенных пользователей в ÑоответÑтвии Ñ Ð¤ÐЙЛОМ.\n" "ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛÐ\n" "задают %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Печатает количеÑтво новых Ñтрок, Ñлов и байт Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛРи\n" "итоговую Ñтроку, еÑли было задано неÑколько ФÐЙЛОВ. ЕÑли ФÐЙЛ не\n" "задан или задан как -, читает Ñтандартный ввод. Словом ÑчитаетÑÑ\n" "поÑледовательноÑть Ñимволов ненулевой длины, Ð¾Ñ‚Ð´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¼ " "Ñимволом.\n" "Показанными ниже параметрами можно задать выводимый Ñчётчик; они должны\n" "вÑегда указыватьÑÑ Ð² Ñледующем порÑдке: новых Ñтрок, Ñлов, Ñимволов, байт,\n" "макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ñтроки.\n" " -c, --bytes напечатать количеÑтво байт\n" " -m, --chars напечатать количеÑтво Ñимволов\n" " -l, --lines напечатать количеÑтво новых Ñтрок\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=Ф читать ввод из файлов, имена которых\n" " (завершённые нулем) перечиÑлены в файле Ф\n" " ЕÑли Ф равно -, то читать имена файлов из\n" " Ñтандартного ввода\n" " -L, --max-line-length напечатать длину наибольшей Ñтроки\n" " -w, --words напечатать количеÑтво Ñлов\n" #: src/who.c:210 msgid " old " msgstr "давно" #: src/who.c:440 msgid "system boot" msgstr "загрузка ÑиÑтемы" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "терминал=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "выход=" #: src/who.c:485 msgid "LOGIN" msgstr "ВХОД" #: src/who.c:505 msgid "clock change" msgstr "изменение времени" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "уровень выполнениÑ" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "предыдущий=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "количеÑтво пользователей=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "ИМЯ" #: src/who.c:559 msgid "LINE" msgstr "ЛИÐИЯ" #: src/who.c:559 msgid "TIME" msgstr "ВРЕМЯ" #: src/who.c:559 msgid "IDLE" msgstr "ÐЕÐКТИВЕÐ" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "КОММЕÐТÐРИЙ" #: src/who.c:560 msgid "EXIT" msgstr "ВЫХОД" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "ИÑпользование: %s [КЛЮЧ]… [ ФÐЙЛ | ÐРГ1 ÐРГ2]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Печатать информацию о пользователÑÑ…, вошедших в ÑиÑтему.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all Ñквивалент -b -d --login -p -r -t -T -u\n" " -b, --boot Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней загрузки ÑиÑтемы\n" " -d, --dead печатать мертвые процеÑÑÑ‹\n" " -H, --heading печатать Ñтроку Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ð¼Ð¸ Ñтолбцов\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login печатать процеÑÑÑ‹ входа в ÑиÑтему\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup пытатьÑÑ ÐºÐ°Ð½Ð¾Ð½Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ имена узлов через DNS\n" " -m только Ð¸Ð¼Ñ ÑƒÐ·Ð»Ð° и пользователь, ÑвÑзанные Ñо\n" " Ñтандартным вводом\n" " -p, --process печатать активные процеÑÑÑ‹, которые породил init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count вÑе имена и чиÑло подключенных пользователей\n" " -r, --runlevel печатать текущий уровень выполнениÑ\n" " -s, --short печатать только имÑ, линию и Ð²Ñ€ÐµÐ¼Ñ (принимаетÑÑ Ð¿Ð¾ " "умолчанию)\n" " -t, --time печатать поÑледнее изменение ÑиÑтемного времени\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg добавлÑть ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¸ÐµÐ¼Ð° Ñообщений как +, - или ?\n" " -u, --users перечиÑлить подключенных пользователей\n" " --message Ñквивалент -T\n" " --writable Ñквивалент -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛРзадают %s.\n" "ЕÑли заданы ÐРГ1 и ÐРГ2, полагаетÑÑ Ð¸Ñпользование -m: например «am i»\n" "и «mom likes».\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Ðапечатать Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, ÑоответÑтвующее текущему Ñффективному id\n" "пользователÑ. Ðналогично вызову id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: невозможно определить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "ИÑпользование: %s [СТРОКÐ]…\n" " или: %s КЛЮЧ\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Ðепрерывно печатает заданную СТРОКУ(и) или, еÑли СТРОКРне задана, то «y».\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "иÑпользуетÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ° Ñ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ точноÑтью" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "иÑпользуетÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ° Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð¹ точноÑтью" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human:\n" #~ " Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñтрока: «%s»\n" #~ " дробный разделитель из локали: «%s»\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " обработанное чиÑловое значение: %Lf\n" #~ " Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñть = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr " ÐвтомаÑштабирование, найдено «i», переход на оÑнование %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " Ð¸Ð½Ð´ÐµÐºÑ Ñтепени=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " возвращаемое значение: %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human:\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr "" #~ " без маÑштабированиÑ, возвращаетÑÑ (Ñгруппированное) значение: %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " без маÑштабированиÑ, возвращаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ: %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " значение ÑмаÑшабировано к %Lf * %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " значение поÑле округлениÑ=%Lf * %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " возвращаемое значение: «%s»\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "ИÑпользование: %s [КЛЮЧИ] [ЧИСЛО]\n" #~ msgid "" #~ " --from=UNIT auto-scale input numbers to UNITs. Default is 'none'.\n" #~ " See UNIT below.\n" #~ " --from-unit=N specify the input unit size (instead of the default " #~ "1).\n" #~ " --to=UNIT auto-scale output numbers to UNITs.\n" #~ " See UNIT below.\n" #~ " --to-unit=N the output unit size (instead of the default 1).\n" #~ " --round=METHOD the rounding method to use when scaling. METHOD can " #~ "be:\n" #~ " up, down, from-zero (default), towards-zero, nearest\n" #~ " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional " #~ "SUFFIX\n" #~ " in input numbers.\n" #~ " --padding=N pad the output to N characters.\n" #~ " Positive N will right-aligned. Negative N will left-" #~ "align.\n" #~ " Note: if the output is wider than N, padding is " #~ "ignored.\n" #~ " Default is to automatically pad if whitespace is " #~ "found.\n" #~ " --grouping group digits together (e.g. 1,000,000).\n" #~ " Uses the locale-defined grouping (i.e. have no effect\n" #~ " in C/POSIX locales).\n" #~ " --header[=N] print (without converting) the first N header lines.\n" #~ " N defaults to 1 if not specified.\n" #~ " --field N replace the number in input field N (default is 1)\n" #~ " -d, --delimiter=X use X instead of whitespace for field delimiter\n" #~ " --format=FORMAT use printf style floating-point FORMAT.\n" #~ " See FORMAT below for details.\n" #~ " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug print warnings about invalid input.\n" #~ " \n" #~ msgstr "" #~ " --from=ЕДИÐИЦРавтоматичеÑки маÑштабировать входные чиÑло к " #~ "ЕДИÐИЦÐМ\n" #~ " изменениÑ. По умолчанию «none». Смотрите ЕДИÐИЦЫ " #~ "далее.\n" #~ " --from-unit=N задать размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных\n" #~ " (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1).\n" #~ " --to=ЕДИÐИЦРавтомаÑштабирование выходные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ðº ЕДИÐИЦЕ " #~ "изменениÑ.\n" #~ " Смотрите ЕДИÐИЦЫ далее.\n" #~ " --to-unit=N размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных\n" #~ " (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1).\n" #~ " --round=МЕТОД метод округлениÑ, иÑпользуемый при маÑштабировании.\n" #~ " Значение МЕТОДÐ: up, down, from-zero (по умолчанию),\n" #~ " towards-zero, nearest\n" #~ " --suffix=СУФФИКС добавлÑть СУФФИКС к выходным значениÑм и учитывать\n" #~ " необÑзательный СУФФИКС у входных значений.\n" #~ " --padding=N дополнÑть результат до N Ñимволов.\n" #~ " ЕÑли N положительно, то выполнÑетÑÑ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ по " #~ "правому\n" #~ " краю. ЕÑли N отрицательно, то по левому. Замечание: " #~ "еÑли результат шире N, то дополнение не " #~ "производитÑÑ.\n" #~ " По умолчанию дополнение выполнÑетÑÑ, еÑли " #~ "обнаруживаетÑÑ\n" #~ " пробельный Ñимвол.\n" #~ " --grouping группировать цифры (например 1,000,000).\n" #~ " Группировка выполнÑетÑÑ ÑоглаÑно локали (Ñ‚. е. " #~ "отÑутÑтвует\n" #~ " в локалÑÑ… C/POSIX).\n" #~ " --header[=N] выводить (без преобразованиÑ) первые N Ñтрок.\n" #~ " ЕÑли N не задано, то значение равно 1.\n" #~ " --field N заменÑть чиÑло в входном поле N (по умолчанию 1)\n" #~ " -d, --delimiter=X иÑпользовать X вмеÑто пробела как разделитель полей\n" #~ " --format=ФОРМÐТ иÑпользовать ФОРМÐТ плавающей точки в Ñтиле printf.\n" #~ " ПодробноÑти Ñмотрите в разделе ФОРМÐТ далее.\n" #~ " --invalid=РЕЖИМ режим отказа Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ñ… чиÑел. Значение " #~ "РЕЖИМÐ:\n" #~ " abort (по умолчанию), fail, warn, ignore.\n" #~ " --debug показывать Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ некорректных входных " #~ "данных.\n" #~ " \n" #~ msgid "" #~ "\n" #~ "UNIT options:\n" #~ " none No auto-scaling is done. Suffixes will trigger an error.\n" #~ " auto Accept optional single-letter/two-letter suffix:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Accept optional single letter suffix:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accept optional single letter suffix:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accept optional two-letter suffix:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "ЕДИÐИЦЫ:\n" #~ " none Отключить маÑштабирование. СуффикÑÑ‹ приводÑÑ‚ к ошибке.\n" #~ " auto УчеÑть необÑзательный одно/двух буквенный ÑуффикÑ:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si УчеÑть необÑзательный однобуквенный ÑуффикÑ:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec УчеÑть необÑзательный однобуквенный ÑуффикÑ:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i УчеÑть необÑзательный двухбуквенный ÑуффикÑ:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " …\n" #~ "\n" #~ msgid "" #~ "format String:\n" #~ " input: %s\n" #~ " grouping: %s\n" #~ " padding width: %ld\n" #~ " alignment: %s\n" #~ " prefix: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ "формат Ñтроки:\n" #~ " входнаÑ: %s\n" #~ " группировка: %s\n" #~ " дополнение по ширине: %ld\n" #~ " выравнивание: %s\n" #~ " префикÑ: «%s»\n" #~ " ÑуффикÑ: «%s»\n" #~ msgid "" #~ "formatting output:\n" #~ " value: %Lf\n" #~ " humanized: '%s'\n" #~ msgstr "" #~ "отформатированный вывод:\n" #~ " значение: %Lf\n" #~ " в человечном виде: «%s»\n" #~ msgid " After padding: '%s'\n" #~ msgstr " ПоÑле дополнениÑ: «%s»\n" #~ msgid "trimming suffix '%s'\n" #~ msgstr "обрезаетÑÑ ÑÑƒÑ„Ñ„Ð¸ÐºÑ Â«%s»\n" #~ msgid "no valid suffix found\n" #~ msgstr "корректный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð½Ðµ найден\n" #~ msgid "setting Auto-Padding to %ld characters\n" #~ msgstr "уÑтанавливаетÑÑ Auto-Padding до %ld Ñимволов\n" #~ msgid "" #~ "extracting Fields:\n" #~ " input: '%s'\n" #~ " field: %d\n" #~ msgstr "" #~ "извлечённые полÑ:\n" #~ " ввод: «%s»\n" #~ " поле: %d\n" #~ msgid "" #~ " TOO FEW FIELDS!\n" #~ " prefix: '%s'\n" #~ msgstr "" #~ " МÐЛО ПОЛЕЙ!\n" #~ " префикÑ: «%s»\n" #~ msgid "" #~ " prefix: '%s'\n" #~ " number: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ " префикÑ: «%s»\n" #~ " чиÑло: «%s»\n" #~ " ÑуффикÑ: «%s»\n" #~ msgid "reading %s" #~ msgstr "чтение %s" #~ msgid "writing %s" #~ msgstr "запиÑÑŒ %s" #~ msgid "closing %s" #~ msgstr "закрытие %s" #~ msgid "accessing %s" #~ msgstr "обращение к %s" #~ msgid "opening %s" #~ msgstr "открытие %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system пропуÑкать каталоги на других файловых " #~ "ÑиÑтемах\n" #~ " -X, --exclude-from=ФÐЙЛ иÑключать файлы, Ñовпадающие Ñ ÐºÐ°ÐºÐ¸Ð¼-либо\n" #~ " образцом из ФÐЙЛÐ\n" #~ " --exclude=ОБРÐЗЕЦ иÑключать файлы, ÑоответÑтвующие ОБРÐЗЦУ\n" #~ " -d, --max-depth=N выводить итог Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° (или файла,\n" #~ " еÑли --all), только еÑли он на N или меньше " #~ "уровней\n" #~ " ниже, чем аргумент командной Ñтроки; --max-" #~ "depth=0\n" #~ " Ñквивалентно --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off никогда не Ñоздавать резервных копий (даже еÑли\n" #~ " указан ключ --backup)\n" #~ " numbered, t Ñоздавать нумерованные копии\n" #~ " existing, nil еÑли ÑущеÑтвуют нумерованные копии, то Ñоздавать\n" #~ " нумерованные иначе Ñоздавать проÑтые\n" #~ " simple. never вÑегда Ñоздавать проÑтые копии\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: ключ --page-increment уÑтарел, иÑпользуйте вмеÑто него --" #~ "line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Ð’Ñе аргументы Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… ключей обÑзательны Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "ОСÐОВÐÐИЕ может быть d (деÑÑтичным), o (воÑьмеричным), x " #~ "(шеÑтнадцатеричным)\n" #~ "или n (не выводить ÑмещениÑ). Ð Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом 0x или 0X воÑпринимаетÑÑ ÐºÐ°Ðº\n" #~ "шеÑтнадцатеричное и может иметь умножающий ÑуффикÑ:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y.\n" #~ "ЕÑли добавить к любому формату ÑÑƒÑ„Ñ„Ð¸ÐºÑ z, то в конце\n" #~ "каждой Ñтроки будут выводитьÑÑ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ðµ Ñимволы.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Ключ --string без чиÑла подразумевает 3; --width без чиÑла подразумевает\n" #~ "32. По умолчанию od иÑпользует ключи -A o -t d2 -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]\n" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: не удалоÑÑŒ открыть /dev/tty" #~ msgid "cannot set groups" #~ msgstr "невозможно уÑтановить группы" #~ msgid "cannot set group id" #~ msgstr "невозможно уÑтановить групповой id" #~ msgid "cannot set user id" #~ msgstr "невозможно уÑтановить пользовательÑкий id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "ИÑпользование: %s [КЛЮЧ] [-] [ПОЛЬЗОВÐТЕЛЬ [ÐРГ]…]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "УÑтанавливает Ñффективные идентификаторы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группы как у " #~ "ПОЛЬЗОВÐТЕЛЯ.\n" #~ "\n" #~ " -, -l, --login иÑпользовать оболочку как оболочку входа\n" #~ " -c, --command=КОМÐÐДРпередать оболочке КОМÐÐДУ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ -c\n" #~ " -f, --fast передать оболочке -f (Ð´Ð»Ñ csh или tcsh)\n" #~ " -m, --preserve-environment не ÑбраÑывать переменные окружениÑ\n" #~ " -p Ñиноним Ð´Ð»Ñ -m\n" #~ " -s, --shell=ОБОЛОЧКРзапуÑтить ОБОЛОЧКУ, еÑли позволÑет /etc/" #~ "shells\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "ПроÑто знак Ð¼Ð¸Ð½ÑƒÑ Ð¿Ð¾Ð´Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ²Ð°ÐµÑ‚ -l. ЕÑли ПОЛЬЗОВÐТЕЛЬ не задан,\n" #~ "подразумеваетÑÑ root.\n" #~ msgid "user %s does not exist" #~ msgstr "пользователь %s не ÑущеÑтвует" #~ msgid "incorrect password" #~ msgstr "неправильный пароль" #~ msgid "using restricted shell %s" #~ msgstr "иÑпользуетÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "предупреждение: невозможно Ñменить каталог на %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s /usr/bin/sort Выводит: sort.\n" #~ " %s include/stdio.h .h Выводит: stdio.\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "ИÑпользование: %s ИМЯ\n" #~ " или: %s КЛЮЧ\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "Ð”Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° --relative-base требуетÑÑ --relative-to" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "ИзменÑет принадлежноÑть группе каждого ФÐЙЛРна ГРУППУ.\n" #~ "С ключом --reference, изменÑет группу каждого ФÐЙЛРна группу ОФÐЙЛÐ.\n" #~ "\n" #~ " -c, --changes то же что и verbose, но только еÑли произошло\n" #~ " изменение\n" #~ " --dereference изменÑть файл, на который указывает ÑимвольнаÑ\n" #~ " ÑÑылка, а не Ñаму ÑÑылку (по умолчанию)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлÑть большинÑтво Ñообщений об ошибках\n" #~ " --reference=ОФÐЙЛ иÑпользовать группу ОФÐЙЛРвмеÑто Ñвного " #~ "указаниÑ\n" #~ " ГРУППЫ\n" #~ " -R, --recursive рекурÑивно обрабатывать файлы и каталоги\n" #~ " -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ " #~ "файла\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "ИзменÑет режим каждого ФÐЙЛРна указанный РЕЖИМ.\n" #~ "\n" #~ " -c, --changes как verbose, но Ñообщать, только еÑли Ñделано\n" #~ " дейÑтвительное изменение\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не обрабатывать / оÑобым образом (по " #~ "умолчанию)\n" #~ " --preserve-root отказыватьÑÑ Ñ€ÐµÐºÑƒÑ€Ñивно обрабатывать /\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлÑть большинÑтво Ñообщений об ошибках\n" #~ " -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ " #~ "файла\n" #~ " --reference=ОФÐЙЛ иÑпользовать режим ОФÐЙЛРвмеÑто Ñвного " #~ "указаниÑ\n" #~ " РЕЖИМÐ\n" #~ " -R, --recursive рекурÑивно обрабатывать файлы и каталоги\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "ИзменÑет владельца и/или группу каждого ФÐЙЛРна ВЛÐДЕЛЬЦРи/или ГРУППУ.\n" #~ "С ключом --reference, изменÑет владельца и группу каждого ФÐЙЛРна " #~ "владельца и\n" #~ "группу ОФÐЙЛÐ.\n" #~ "\n" #~ " -c, --change то же, что и verbose, но Ñообщает только когда\n" #~ " были произведены изменениÑ\n" #~ " --dereference изменÑть файл, на который указывает ÑимвольнаÑ\n" #~ " ÑÑылка, а не Ñаму ÑÑылку (по умолчанию)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлÑть большинÑтво Ñообщений об ошибках\n" #~ " --reference=ОФÐЙЛ иÑпользовать владельца и группу ОФÐЙЛРвмеÑто " #~ "Ñвного\n" #~ " ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð’Ð›ÐДЕЛЬЦÐ:ГРУППЫ\n" #~ " -R, --recursive рекурÑивно обрабатывать файлы и каталоги\n" #~ " -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ " #~ "файла\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Выводит текущее Ð²Ñ€ÐµÐ¼Ñ Ð² заданном ФОРМÐТЕ, или уÑтанавливает ÑиÑтемное " #~ "времÑ.\n" #~ "\n" #~ " -d, --date=СТРОКРпоказать не текущее времÑ, а времÑ, " #~ "опиÑанное\n" #~ " заданной СТРОКОЙ\n" #~ " -f, --file=ФÐЙЛ ÑоответÑтвует применению --date Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹\n" #~ " Ñтроки ФÐЙЛÐ\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РÐЗМЕР может быть таким (или Ñто может быть целое чиÑло, за которым\n" #~ "может Ñледовать одно из перечиÑленного): KB 1000, K 1024, MB 1000*1000,\n" #~ "M 1024*1024 и так далее Ð´Ð»Ñ G, T, P, E, Z, Y.\n" #~ msgid "cannot create link %s" #~ msgstr "невозможно Ñоздать ÑÑылку %s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: ключ --preserve_context уÑтарел, иÑпользуйте вмеÑто него " #~ "--preserve-context" #~ msgid "truncating %s" #~ msgstr "обрезаетÑÑ %s" #~ msgid "" #~ " nocreat do not create the output file\n" #~ " excl fail if the output file already exists\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ msgstr "" #~ " nocreat не Ñоздавать выходной файл\n" #~ " excl завершатьÑÑ Ð½ÐµÑƒÑпехом, еÑли выходной файл уже ÑущеÑтвует\n" #~ " notrunc не обрезать выходной файл\n" #~ " ucase изменÑть региÑтр Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ на верхний\n" #~ " swab менÑть меÑтами каждую пару входных байтов\n" #~ msgid "Filesystem " #~ msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема " #~ msgid " Inodes IUsed IFree IUse%" #~ msgstr " Iнодов IИÑпол IСвоб IИÑп%" #~ msgid " Size Used Avail Use%" #~ msgstr " Разм ИÑп ДоÑÑ‚ ИÑп%" #~ msgid " Size Used Avail Use%" #~ msgstr " Разм ИÑп ДоÑÑ‚ ИÑп%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-блоков ИÑп ДоÑтупно Ð’Ñего" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-блоков ИÑп ДоÑтупно ИÑп%%" #~ msgid "invalid number of lines: 0" #~ msgstr "неверное чиÑло Ñтрок: 0" #~ msgid "invalid format precision" #~ msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñть в формате" #~ msgid "%s" #~ msgstr "%s" #~ msgid "creating symbolic link %s" #~ msgstr "Ñоздание Ñимвольной ÑÑылки %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Ñоздание Ñимвольной ÑÑылки %s -> %s" #~ msgid "creating hard link %s" #~ msgstr "Ñоздание жеÑткой ÑÑылки %s" #~ msgid "creating hard link %s => %s" #~ msgstr "Ñоздание жеÑткой ÑÑылки %s => %s" #~ msgid "extra operand %s\n" #~ msgstr "лишний операнд %s\n" #~ msgid "both SI and IEC prefixes present on units" #~ msgstr "указаны Ñразу оба префикÑа единиц: SI и IEC" #~ msgid "" #~ "the --context (-Z) option is obsolete and will be removed\n" #~ "in a future release" #~ msgstr "" #~ "ключ --context (-Z) уÑтарел и будет удалён\n" #~ "в будущем выпуÑке" #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "предупреждение: ключ --%s уÑтарел; иÑпользуйте --reference" #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "" #~ "\n" #~ "Заметим, что ключи -r и -s взаимно иÑключают друг друга.\n" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ca.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001626250�12107204505�011717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Catalan messages for GNU coreutils. # Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Ivan Vilata i Balaguer <ivan@selidor.net>, 1999. # Jordi Mallach <jordi@sindominio.net>, 2001, 2002. # Ernest Adrogué Calveras <eadrogue@gmx.net>, 2002. # Ivan Vilata i Balaguer <ivan@selidor.net>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # # No em decideixo entre destí i destinació. jm # Destí és correcte i més curt, ho passe tot a destí. ivb # Robert Millan indica: destí=allò que ha de succeir, destinació=el lloc cap al # quan ens estem desplaçant; torne a agafar la segona. ivb # # Sóc Ivan, aquestes són les convencions que adopte per a la 4.5.1: # * Sempre que es puga s’usaran els caràcters adequats per al text en català: # l’apòstrof (’), ela geminada (Å€, Ä¿), cometes («, », “, â€, ‘, ’, en aquest # ordre de d’aparició), guionet (â€), guionet dur (‑), guió (—) i punts # suspensius (…). Compte, perquè *cap*, repetesc, *CAP* dels anteriors és # el caràcter que s’obté teclejant directament; vegeu # http://www.selidor.net/~ivan/blog/bits/20060304T0023-ortotipografia.html. # * Use 2 espais després d'un punt. # * Missatges d'ajuda: # * Forma d'ús: ... # o bé: ... # * ARGUMENT_COMPOST, però ARGCOMP # * FILE(s) -> cada FITXER (si és possible) # * Cada línia de descripció d'una opció comença en la columna 24, i # sempre es manté com a mínim a 4 espais del nom de l'opció. Quan # l'opció arriba a la columna 24, la descripció comença en la línia # inferior. Les descripcions que no caben en una línia es parteixen i # continuen en la columna 24 de la línia següent. # * Les descripcions d'ítems que no són opcions es mantenen alineades a # 4 espais de l'ítem més llarg del bloc. Les que no caben en una línia # es parteixen i continuen en la mateixa columna on comencen. # * Errors i avisos: # * no és igual «no es pot obrir» que «no s'ha pogut obrir» # * no és igual «s'està obrint X» que «en obrir X» (error) # * «avís:» comença amb minúscula, la cadena següent també # * sempre van en una sola línia, a no ser que els retorns importen; en # aquest cas, les noves línies comencen amb un caràcter de tabulació # * VARIABLE_ENTORN, però «valor de variable» # * Noms de funció: printf() # * Noms de fitxer: «fitxer» # * Noms d'opcions: «--opció=ARGUMENT» # * El text com a molt arriba a la columna 78, amb el caràcter de nova línia # en la 79. Les línies es parteixen de forma automàtica (no per a que quede # bonic, excepte quan quede realment horrend o porte a confusió). msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-10-21 20:29+0200\n" "Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n" "Language-Team: Catalan <ca@dodds.net>\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # Usa quote() en els 2 args. ivb #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "l’argument %s no és vàlid per a %s" # Usa quote() en els 2 args. ivb #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "l’argument %s és ambigu per a %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Els arguments vàlids són:" # Condició d'error. ivb #: lib/closein.c:100 msgid "error closing file" msgstr "error en tancar el fitxer" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "error d’escriptura" # Usa quote(). ivb # Indica condició d'error. ivb #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "en preservar els permisos de %s" # Amb el mateix format que els errors de la libc. ivb #: lib/error.c:188 msgid "Unknown system error" msgstr "Error desconegut del sistema" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fitxer ordinari buit" #: lib/file-type.c:38 msgid "regular file" msgstr "fitxer ordinari" #: lib/file-type.c:41 msgid "directory" msgstr "directori" #: lib/file-type.c:44 msgid "block special file" msgstr "fitxer especial de blocs" #: lib/file-type.c:47 msgid "character special file" msgstr "fitxer especial de caràcters" #: lib/file-type.c:50 msgid "fifo" msgstr "cua FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "enllaç simbòlic" #: lib/file-type.c:56 msgid "socket" msgstr "connector" #: lib/file-type.c:59 msgid "message queue" msgstr "cua de missatges" #: lib/file-type.c:62 msgid "semaphore" msgstr "semàfor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objecte de memòria compartida" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objecte de memòria amb tipus" #: lib/file-type.c:70 msgid "weird file" msgstr "fitxer estrany" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "La família d’adreces del nom d’estació no és permesa" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Fallada temporal a la resolució de noms" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "El valor d’«ai_flags» no és vàlid" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Fallada irrecuperable a la resolució de noms" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "El valor d’«ai_family» no és permés" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "No s’ha pogut reservar memòria" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "No hi ha cap adreça associada amb el nom d’estació" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "El nom o servei no és conegut" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "El servei per a aquest valor d’«ai_socktype» no és permés" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "El valor d’«ai_socktype» no és permés" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Error del sistema" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "La memòria intermèdia d’arguments és massa menuda" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "S’està processant la petició" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "La petició ha estat canceÅ€lada" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "La petició no ha estat canceÅ€lada" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "S’han completat totes les peticions" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interromput per un senyal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "La codificació del paràmetre cadena no és correcta" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Error desconegut" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: l’opció «%s» és ambigua; possibilitats:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: l’opció «--%s» no admet arguments\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: l’opció «%c%s» no admet arguments\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: l’opció «--%s» necessita un argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: l’opció «--%s» no és reconeguda\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: l’opció «%c%s» no és reconeguda\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: l’opció «%c» no és vàlida\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l’opció «%c» necessita un argument\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: l’opció «-W %s» és ambigua\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: l’opció «-W %s» no admet arguments\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l’opció «-W %s» necessita un argument\n" # Els 2 usen quote(). ivb #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "no s’han pogut canviar els permisos de %s" # Els 3 usen quote(). ivb #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "no s’ha pogut crear el directori %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "la memòria s’ha exhaurit" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "no s’ha pogut registrar el directori de treball actual" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "no s’ha pogut tornar al directori inicial de treball" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" # Indica error, usa quote(). ivb #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: s’ha trobat el final del fitxer" #: lib/regcomp.c:131 msgid "Success" msgstr "Èxit" #: lib/regcomp.c:134 msgid "No match" msgstr "No hi ha cap coincidència" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "L’expressió regular no és vàlida" # Usa quote(). ivb #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "El caràcter d’ordenació no és vàlid" # Usa quote(). ivb #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "El nom de la classe de caràcters no és vàlid" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Hi ha una barra invertida sobrant al final" # Usa quote(). ivb #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "La referència cap enrere no és vàlida" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "«[» o «[^» desaparellat" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "«(» o «\\(» desaparellat" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "«\\{» desaparellat" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "El contingut de «\\{\\}» no és vàlid" # Usa quote(). ivb #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "El final del rang no és vàlid" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "La memòria s’ha exhaurit" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "L’expressió regular precedent és incorrecta" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fi prematura de l’expressió regular" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "L’expressió regular és massa llarga" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "«)» o «\\)» desaparellat" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "No hi ha expressió regular prèvia" # Usa quote(). ivb #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "és perillós operar recursivament sobre %s" # Els 2 usen quote(). ivb #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "és perillós operar recursivament sobre %s (com sobre %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "empreu «--no-preserve-root» per a evitar aquesta comprovació" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[sS]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" # Usa quote(). ivb # Indica condició d'error. ivb #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "en establir els permisos de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Penjat" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interromput" #: lib/siglist.h:37 msgid "Quit" msgstr "Eixit" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "La instrucció no és permesa" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trampa de traçat/punt d’aturada" #: lib/siglist.h:46 msgid "Aborted" msgstr "Avortat" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Excepció de coma flotant" #: lib/siglist.h:52 msgid "Killed" msgstr "Matat" #: lib/siglist.h:55 msgid "Bus error" msgstr "Error de bus" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Violació de segment" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "La canonada s’ha trencat" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Temporitzador" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminat" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condició urgent d’E/S" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Aturat (senyal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Aturat" #: lib/siglist.h:79 msgid "Continued" msgstr "Continuat" #: lib/siglist.h:82 msgid "Child exited" msgstr "Un fill ha eixit" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Aturat (esperant entrada del terminal)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Aturat (esperant escriure al terminal)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "L’operació d’E/S és possible" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "S’ha excedit el temps límit de CPU" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "S’ha excedit la mida màxima de fitxer" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Ha expirat el temporitzador virtual" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "El temps de perfilat ha expirat" #: lib/siglist.h:106 msgid "Window changed" msgstr "Ha canviat la mida de la finestra" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Senyal 1 definit per l’usuari" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Senyal 2 definit per l’usuari" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Trampa EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "La crida al sistema no és vàlida" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Fallada de pila" #: lib/siglist.h:126 msgid "Information request" msgstr "Petició d’informació" #: lib/siglist.h:128 msgid "Power failure" msgstr "Fallada d’alimentació" #: lib/siglist.h:131 msgid "Resource lost" msgstr "S’ha perdut el recurs" # Condició d’error. ivb #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "no s’ha pogut crear la canonada" # Cap empra quote(). ivb #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "el subprocés «%s» ha fallat" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Senyal de temps real %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Senyal desconegut %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "la funció iconv() no és útil" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "la funció iconv() no es troba disponible" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "el caràcter es troba fora del rang" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "no s’ha pogut convertir U+%04X al joc de caràcters local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "no s’ha pogut convertir U+%04X al joc de caràcters local: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "l’usuari no és vàlid" #: lib/userspec.c:107 msgid "invalid group" msgstr "el grup no és vàlid" #: lib/userspec.c:108 msgid "invalid spec" msgstr "l’especificació no és vàlida" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "no s’ha pogut mostrar el missatge d’error" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Empaquetat per %s (%s).\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Empaquetat per %s.\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "GPLv3+: llicència GNU GPL ver. 3 o posterior <http://gnu.org/licenses/gpl." "html>\n" "Aquest és programari lliure: podeu modificarâ€lo i redistribuirâ€lo si voleu.\n" "No hi ha CAP GARANTIA, en la mesura que ho permeta la llei.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Escrit per %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Escrit per %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Escrit per %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrit per %s, %s, %s\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s, %s, %s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s, %s, %s, %s,\n" "i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s i %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Escrit per %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s i d’altres.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Informeu dels errors a <%s>.\n" "Informeu dels errors de traducció a <ca@dodds.net>.\n" # Cap de les dues usa quote(). ivb # La primera és el nom del programa i la segona una adreça de correu. ivb #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Informeu dels errors de «%s» a <%s>.\n" # Cap de les dues usa quote. ivb # La primera és el nom del programa i la segona una adreça web. ivb #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Pàgina principal de «%s»: %s\n" # No usa quote(). ivb #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Pàgina inicial de «%s»: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Ajuda general sobre l’ús de programari GNU: <http://www.gnu.org/gethelp/>\n" # És una funció. ivb #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "ha fallat _open_osfhandle()" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "no s’ha pogut restaurar el descriptor de fitxer %d: ha fallat dup2()" # Condició d’error. ivb # No empra quote(). ivb #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "subprocés «%s»" # Condició d’error. ivb # No empra quote(). ivb #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "el subprocés «%s» ha rebut el senyal fatal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "entrada estàndard" #: lib/xfreopen.c:36 msgid "stdout" msgstr "eixida estàndard" #: lib/xfreopen.c:37 msgid "stderr" msgstr "eixida estàndard d’errors" # Un nom de flux com els anteriors. ivb #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "flux desconegut" # FIXME This string construction depends on English syntax. ivb # Usa quote() en les 2. ivb #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "no s’ha pogut reobrir %s amb el mode %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "ha fallat la comparació de cadenes" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Establiu la variable LC_ALL a «C» per a evitar el problema." # Usa quote() en les 2. ivb #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Les cadenes comparades eren %s i %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "no s’ha pogut crear l’eixida formatada" # La substitució «%s%s» és «--opció». ivb #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "el sufix de l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "l’argument «%3$s» de l’opció «%1$s%2$s» és massa gran" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [FITXER]\n" "Codifica o descodifica el FITXER (o l’entrada estàndard) emprant base 64, i\n" "escriu el resultat en l’eixida estàndard.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode Descodifica les dades.\n" " -i, --ignore-garbage En descodificar, passa per alt els caràcters no\n" " alfabètics.\n" " -w, --wrap=COLS Ajusta la longitud de les línies codificades al " "valor\n" " indicat (per defecte 76). Empreu 0 per a no " "ajustar.\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sense cap FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Les dades són codificades seguint l’alfabet base 64 de l’RFC 3548. En\n" "descodificar, l’entrada pot contenir caràcters de nova línia a banda dels\n" "octets de l’alfabet base 64 formal. Empreu «--ignore-garbage» per a provar " "de\n" "tolerar altres octets no alfabètics en el flux codificat.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "error de lectura" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "l’entrada no és vàlida" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "la longitud d’ajustament no és vàlida: %s" # Usa quote(). ivb #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "sobra l’operand %s" # Indica la situació d'un missatge d'error. ivb #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "en tancar l’entrada estàndard" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Forma d’ús: %s NOM [SUFIX]\n" " o bé: %s OPCIÓ… NOM…\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Mostra NOM eliminant qualsevol component directori que tinga al davant. Si\n" "s’especifica, també s’elimina el SUFIX del darrere.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple Admet múltiples arguments i tracta cadascun d’ells " "com\n" " a un NOM.\n" " -s, --suffix=SUFIX Elimina el SUFIX del darrere.\n" " -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova\n" " línia per a separar els resultats.\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Exemples:\n" "\n" " %s /usr/bin/sort -> «sort»\n" " %s include/stdio.h .h -> «stdio»\n" " %s -s .h include/stdio.h -> «stdio»\n" " %s -a una/cad1 una/cad2 -> «cad1» seguit per «cad2»\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "manca un operand" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjörn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concatena els FITXERs o l’entrada estàndard, i escriu el resultat a la\n" "sortida estàndard.\n" "\n" " -A, --show-all Equival a «-vET».\n" " -b, --number-nonblank Enumera les línies que no estan en blanc,\n" " inhabilita «-n».\n" " -e, Equival a «-vE».\n" " -E, --show-ends Escriu un caràcter «$» al final de cada línia.\n" " -n, --number Enumera totes les línies.\n" " -s, --squeeze-blank No mostra més d’una línia en blanc seguida.\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t Equival a «-vT».\n" " -T, --show-tabs Mostra els caràcters de tabulació com a «^I».\n" " -u (No es té en compte.)\n" " -v, --show-nonprinting\n" " Empra la notació «^» i «M-», excepte per als " "caràcters\n" " de nova línia i per a les tabulacions.\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = cat», el més comú. ivb #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exemples:\n" "\n" " «%s f - g» Mostra el contingut d’«f», de l’entrada estàndard, i en\n" " acabant el contingut de «g».\n" " «%s» Còpia l’entrada estàndard a l’eixida estàndard.\n" # Usa quote(). ivb #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ha fallat ioctl() sobre %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "eixida estàndard" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: el fitxer d’entrada i el de sortida són el mateix" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" # Usa quote(). ivb #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "no s’ha pogut crear el context de seguretat: %s" # Crec que la primera no usa quote(); la segona sí. ivb #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "no s’ha pogut establir el component «%s» del context de seguretat a %s" # Els 5 usen quote(). ivb #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "no s’ha pogut obtenir el context de seguretat de %s" # Usa quote(). ivb # L’error sempre es dóna amb un fitxer no etiquetat. ivb #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "no es pot aplicar un context parcial al fitxer sense context %s" # Usa quote() en els dos args. ivb #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "no s’ha pogut canviar el context de %s a %s" # Usa quote(). ivb #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "no s’ha pogut accedir a %s" # Usa quote(). ivb #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "no s’ha pogut llegir el directori %s" # Usa quote(). ivb # Missatge informatiu. ivb #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "s’està canviant el context de seguretat de %s\n" # És una funció. ivb #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "ha fallat fts_read()" # És una funció. ivb #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "ha fallat fts_close()" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… CONTEXT FITXER…\n" " o bé: %s [OPCIÓ]… [-u USUARI] [-r ROL] [-l RANG] [-t TIPUS] FITXER…\n" " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Canvia el context de seguretat de cada FITXER a CONTEXT. Amb «--" "reference»,\n" "canvia el context de seguretat de cada FITXER a aquell de FITXREF.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference Afecta el fitxer apuntat per cada enllaç simbòlic " "(per\n" " defecte), en lloc del propi enllaç simbòlic.\n" " -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc " "dels\n" " fitxers apuntats.\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USUARI Estableix l’USUARI del context de seguretat de la\n" " destinació.\n" " -r, --role=ROL Estableix el ROL del context de seguretat de la\n" " destinació.\n" " -t, --type=TIPUS Estableix el TIPUS del context de seguretat de la\n" " destinació.\n" " -l, --range=RANG Estableix el RANG del context de seguretat de la\n" " destinació.\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root\n" " No tracta «/» de forma especial (per defecte).\n" " --preserve-root Falla en operar recursivament sobre «/».\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=FITXREF\n" " Empra el context de seguretat del fitxer FITXREF en " "lloc\n" " del valor especificat de CONTEXT.\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" " -R, --recursive Opera recursivament sobre fitxers i directoris.\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr " -v, --verbose Mostra un missatge per cada fitxer processat.\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Les opcions següents modifiquen la forma de recórrer una jerarquia quan " "s’haja\n" "especificat també l’opció «-R». Si se n’especifica més d’una, només la\n" "darrera d’elles tindrà efecte.\n" "\n" " -H Si un argument de la línia d’ordres és un ellaç\n" " simbòlic cap a un directori, aquest serà recorregut.\n" " -L Es seguirà qualsevol enllaç que es trobe que apunte\n" " cap a un directori.\n" " -P No es seguirà cap enllaç simbòlic (per defecte).\n" "\n" # -H i -L es reemplacen però no són incompatibles. ivb #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "«-R --dereference» necessita «-H» o «-L»" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "«-R -h» necessita «-P»" # Usa quote(). ivb #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "manca un operand després de %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "el context no és vàlid: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "s’han proporcionat diverses especificacions de context de seguretat" # Els 9 usen quote(). ivb #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "no s’han pogut obtenir els atributs de %s" # Usa quote(). ivb #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "el grup no és vàlid: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… GRUP FITXER…\n" " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Canvia la pertinença de grup de cada FITXER a GRUP. Amb «--reference», " "canvia\n" "el grup de cada FITXER a aquell de FITXREF.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes Com «--verbose», però només informa quan es fa un\n" " canvi.\n" " -f, --silent, --quiet No mostra la majoria de missatges d’error.\n" " -v, --verbose Mostra un missatge per cada fitxer processat.\n" # FIXME: Language-dependent arrangement. ivb #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " Disponible només en sistemes on es puga canviar el\n" " propietari d’un enllaç simbòlic.\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=FITXREF\n" " Empra el grup del fitxer FITXREF en lloc del valor\n" " especificat de GRUP.\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = chgrp», el més comú. ivb #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exemples:\n" "\n" " «%s staff /u» Canvia el grup de «/u» a «staff».\n" " «%s -hR staff /u» Canvia el grup de «/u» i descendents a «staff».\n" # Usa quote(). ivb # Indica situació d'error. ivb #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "en obtenir els nous atributs de %s" # Usa quote(). ivb #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "no s’han canviat ni l’enllaç simbòlic %s ni el fitxer apuntat\n" # Usa quote() en el 1r arg. El 3r i 5é són modes «rwxrwxrwx». ivb #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "s’ha canviat el mode de %s de %04lo (%s) a %04lo (%s)\n" # Usa quote() en el 1r arg. El 3r i 5é són modes «rwxrwxrwx». ivb #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "no s’ha pogut canviar el mode de %s de %04lo (%s) a %04lo (%s)\n" # Usa quote() en el 1r arg. El 3r és un mode «rwxrwxrwx». ivb #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "el mode de %s es manté en %04lo (%s)\n" # Usa quote(). ivb #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "no es pot emprar l’enllaç simbòlic trencat %s" # Usa quote(). ivb # Indica una condició d'error. ivb #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "en canviar els permisos de %s" # No usa quote(), però són números. ivb #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: els nous permisos són %s, no %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… MODE[,MODE]… FITXER…\n" " o bé: %s [OPCIÓ]… MODE_OCTAL FITXER…\n" " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Canvia el mode de cada FITXER a MODE. Amb «--reference», canvia el mode de\n" "cada FITXER a aquell de FITXREF.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=FITXREF\n" " Empra el mode de FITXREF en lloc dels valors de " "MODE.\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive Canvia recursivament fitxers i directoris.\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Cada MODE té la forma «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+».\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "no es poden combinar el mode i l’opció «--reference»" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "el mode no és vàlid: %s" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "s’ha canviat el propietari de %s de «%s» a «%s»\n" # Usa quote en el 1r arg. ivb #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "s’ha canviat el grup de %s de «%s» a «%s»\n" # Usa quote(). ivb #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "no s’ha canviat el propietari de %s\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "no s’ha pogut canviar el propietari de %s de «%s» a «%s»\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "no s’ha pogut canviar el grup de %s de «%s» a «%s»\n" # Usa quote(). ivb #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "no s’ha pogut canviar el propietari de %s\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "no s’ha pogut canviar el propietari de %s a «%s»\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "no s’ha pogut canviar el grup de %s a «%s»\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "el propietari de %s es manté en «%s»\n" # Usa quote() en el 1r arg. ivb #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "el grup de %s es manté en «%s»\n" # Usa quote(). ivb #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "el propietari de %s es manté\n" # Usa quote(). ivb #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "no s’ha pogut seguir %s" # Usa quote(). ivb #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "s’està canviant el propietari de %s" # Usa quote(). ivb #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "s’està canviant el grup de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [PROPIETARI][:[GRUP]] FITXER…\n" " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Canvia el propietari o grup de cada FITXER a PROPIETARI o GRUP. Amb\n" "«--reference», canvia el propietari i grup de cada FITXER a aquell de " "FITXREF.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=PROPIETARI_ACTUAL:GRUP_ACTUAL\n" " Canvia el propietari o grup de cada fitxer només si " "el\n" " seu propietari o grup actual coincideix amb aquests. " "Es\n" " pot ometre qualsevol dels dos; en aqueix cas no " "caldrà\n" " que hi haja coincidència amb l’atribut omés.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=FITXREF\n" " Empra el propietari i grup del fitxer FITXERF en " "lloc\n" " dels valors especificats de PROPIETARI:GRUP.\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "El propietari es manté si no s’especifica. El grup també es manté si no\n" "s’especifica, però és canviat al grup d’entrada si s’indica un «:» darrere " "del\n" "PROPIETARI simbòlic. El PROPIETARI i el GRUP poden ser tant numèrics com\n" "simbòlics.\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = chown», el més comú. ivb #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exemples:\n" "\n" " «%s root /u» Canvia el propietari de «/u» a «root».\n" " «%s root:staff /u» El mateix, però també canvia el seu grup a " "«staff».\n" " «%s -hR root /u» Canvia el propietari de «/u» i descendents a " "«root».\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" # Usa quote(). ivb #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "el grup %s no és vàlid" # Usa quote(). ivb #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "la llista de grups %s no és vàlida" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "no s’han pogut establir els grups suplementaris" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [OPCIÓ] NOU_ARREL [ORDRE [ARGUMENT]…]\n" " o bé: %s OPCIÓ\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Executa l’ORDRE establintâ€hi el directori arrel a NOU_ARREL.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=USUARI:GRUP\n" " Usuari i grup a emprar (identificadors o noms).\n" " --groups=GRUPS Llista de grups suplementaris, com «g1,g2,…,gN».\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Si no s’indica cap ordre s’executa «${SHELL} -i» (per defecte «/bin/sh -" "i»).\n" # No usa quote(). ivb #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "no s’ha pogut canviar el directori arrel a «%s»" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "no s’ha pogut canviar al directori arrel" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "no s’ha pogut establir l’identificador de grup" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "no s’ha pogut establir l’identificador d’usuari" # Usa quote(). ivb #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "no s’ha pogut executar l’ordre %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: el fitxer és massa gran" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Forma d’ús: %s [FITXER]…\n" " o bé: %s [OPCIÓ]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Mostra la suma CRC i la mida en octets de cada FITXER.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Forma d’ús: %s [OPCIÓ]… FITXER1 FITXER2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Compara els fitxers ordenats FITXER1 i FITXER2 línia per línia.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Sense opcions, produeix una eixida amb tres columnes. La primera conté les\n" "línies que només es troben al FITXER1, la segona les que només es troben al\n" "FITXER2, i la tercera les línies comunes a ambdós fitxers.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 Elimina la columna 1 (línies que només apareixen al\n" " FITXER1).\n" " -2 Elimina la columna 2 (línies que només apareixen al\n" " FITXER2).\n" " -3 Elimina la columna 3 (línies que apareixen en ambdós\n" " fitxers).\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order Comprova si l’entrada es troba correctament " "ordenada,\n" " fins i tot si se’n poden emparellar totes les " "línies.\n" " --nocheck-order No comprova si l’entrada es troba correctament\n" " ordenada.\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" " --output-delimiter=CADENA\n" " Separa les columnes amb la CADENA.\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Tingueu en compte que les comparacions segueixen les regles especificades " "per\n" "LC_COLLATE.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Exemples:\n" "\n" " %s -12 FITXER1 FITXER2 Mostra les línies presents tant al FITXER1 com " "al\n" " FITXER2.\n" " %s -3 FITXER1 FITXER2 Mostra les línies del FITXER1 que no es troben " "al\n" " FITXER2 (i viceversa).\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "el fitxer número %d no està ordenat" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "s’han especificat múltiples delimitadors" # Usa quote. ivb #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "no es permet un valor buit per a %s" # uniq no usa quote(). ivb #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "error en llegir %s" # Usa quote(). ivb #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "ha fallat lseek() sobre %s" # uniq no usa quote(). ivb #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "error en escriure %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: no s’ha pogut obtenir la informació sobre les extensions" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: no s’ha pogut escriure" # Usa quote(). ivb #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "no s’ha pogut estendre %s" # Usa quote(). ivb # Indica condició d'error. ivb # Fallada en establir permisos segurs abans de canviar propietari/grup. ivb #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "en assegurar els permisos de %s" # Els 3 usen quote(). ivb #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "no s’ha pogut preservar el propietari de %s" # Usa quote(). ivb #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "no s’ha pogut cercar el fitxer %s" # Usa quote(). ivb #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "no s’ha pogut preservar l’autoria de %s" # Usa quote(). ivb #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "no s’ha pogut obrir %s per a llegir" # Els 4 usen quote(). ivb #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "ha fallat fstat() sobre %s" # Usa quote(). ivb #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "es salta el fitxer %s, que va ser reemplaçat en ser copiat" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "no s’ha pogut obtenir el context de creació del sistema de fitxers" # Usa quote() en el ambdós args. ivb #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "no s’ha pogut establir el context de seguretat de %s a %s" # Els 6 usen quote(). ivb #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "no s’ha pogut eliminar %s" # Usa quote(). ivb # Missatge informatiu. ivb #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "s’ha eliminat %s\n" # Usa quote. ivb # Missatge d’error. ivb #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "no es copiarà a través de l’enllaç simbòlic trencat %s" # Usa quote(). ivb #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "no s’ha pogut crear el fitxer ordinari %s" # Els 2 usen quote(). ivb #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "no s’ha pogut clonar %s des de %s" # Usa quote(). ivb # Indica condició d'error. ivb #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "en preservar les dates de %s" # Els 2 usen quote(). ivb #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "no s’ha pogut obrir %s" # Ací tinc un diff de la Debian 2.0 on insisteix bastant en posar «(s/n)» # al final d'aquestes qüestions (un diff d'es.po) iv # Creus que fa falta ficar (s/n)? De moment ho he llevat, però torna # a ficar-ho si vols. Quin luser contestaria «a» vegades, i no «s» o «n»? # (nota per a la posteritat) Debian 3.0 ja fa 2 mesos que "ja està # a punt" :) I encara no tindrà fileutils traduït... jm # Aiii senyor, com passa el temps, ja ni hi ha fileutils (2003-1). ivb # Usa quote() en el 1r arg. ivb # Entre parèntesi va una cadena estil «-rwxr-xr-x». ivb #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: voleu sobreescriure %s, reemplaçant el mode %04lo (%s)? " # Usa quote(). ivb #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: voleu sobreescriure %s? " # Usa quote(). ivb #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (còpia de seguretat: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "no s’ha pogut restaurar el context per defecte de creació de fitxers" # Usa quote() en els 2 args. ivb #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "no s’ha pogut crear l’enllaç fort %s cap a %s" # Els 3 usen quote(). ivb #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "ha fallat stat() sobre %s" # Usa quote(). ivb #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "es descarta el directori %s" # Usa quote(). ivb #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "avís: s’ha especificat el fitxer origen %s més d’una vegada" # Els 2 usen quote() en els 2 args. ivb #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s i %s són el mateix fitxer" # Usa quote() en els 2 args. ivb #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "no es pot sobreescriure el noâ€directori %s amb el directori %s" # Usa quote() en els 2 args. ivb #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "no es sobreescriurà %s, tot just creat, amb %s" # Usa quote(). ivb #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "no es pot sobreescriure el directori %s amb un noâ€directori" # Usa quote() en els 2 args. ivb #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "no es pot moure un directori sobre un no-directori: %s -> %s" # Usa quote() en els 2 args. ivb #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "una còpia de seguretat de %s destruiria el fitxer origen; no es mou %s" # Usa quote() en els 2 args. ivb #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "una còpia de seguretat de %s destruiria el fitxer origen; no es còpia %s" # Els 2 usen quote(). ivb #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "no sha pogut crear una còpia de seguretat de %s" # Usa quote() en els 2 args. ivb #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "no es copiarà %s a través de l’enllaç simbòlic tot just creat %s" # Usa quote() en els 2 args. ivb #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "no es pot copiar un directori, %s, dins d’ell mateix, %s" # Un quote() en els 2 args. ivb #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "no es crearà l’enllaç fort %s cap al directori %s" # Usa quote() en els 2 args. ivb #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "no es pot moure %s a un subdirectori d’ell mateix, %s" # Usa quote() en els dos args. ivb #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "no s’ha pogut moure %s a %s" # Usa quote() en es 2 args. ivb #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "no s’ha pogut moure entre dispositius: %s a %s; no s’ha pogut eliminar la " "destinació" # Els 5 usen quote(). ivb #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "no s’ha pogut establir el context per defecte de creació de fitxers a %s" # Usa quote(). ivb #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "no es pot copiar l’enllaç simbòlic cíclic %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: només es poden fer enllaços simbòlics relatius en el directori actual" # Usa quote() en els 2 arguments. ivb #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "no s’ha pogut crear l’enllaç simbòlic %s cap a %s" # Els 2 usen quote(). ivb #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "no s’ha pogut crear la cua FIFO %s" # Usa quote(). ivb #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "no s’ha pogut crear el fitxer especial %s" # Els 3 usen quote(). ivb #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "no s’ha pogut llegir l’enllaç simbòlic %s" # Usa quote(). ivb #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "no s’ha pogut crear l’enllaç simbòlic %s" # Usa quote(). ivb #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s és d’un tipus de fitxer desconegut" # Els 2 usen quote(). ivb # L'argument és el nom original. ivb #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "no s’ha pogut recuperar la còpia de seguretat de %s" # Usa quote() en els 2 args. ivb #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (recuperació de la còpia de seguretat)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTINACIÓ\n" " o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI\n" " o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN…\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Còpia ORIGEN a DESTINACIÓ, o múltiples ORIGENs a un DIRECTORI.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive Equival a «-dR --preserve=all».\n" " --attribute-only No còpia les dades dels fitxers, només els " "atributs.\n" " --backup[=CONTROL]\n" " Crea una còpia de seguretat de cada fitxer " "destinació\n" " existent.\n" " -b Com «--backup», però no accepta cap argument.\n" " --copy-contents Còpia el contingut dels fitxers especials quan " "s’actua\n" " recursivament.\n" " -d Equival a «--no-dereference --preserve=links».\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force Si no es pot obrir un fitxer destinació existent,\n" " l’elimina i torna a provar (redundant quan s’usa\n" " l’opció «-n»).\n" " -i, --interactive Pregunta abans de sobreescriure (inhabilita una " "opció\n" " «-n» anterior).\n" " -H Segueix els enllaços simbòlics que es troben a " "l’ORIGEN.\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link Crea enllaços forts cap als fitxers en lloc de\n" " copiarâ€los.\n" " -L, --dereference Segueix sempre els enllaços simbòlics que es troben " "a\n" " l’ORIGEN.\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber No sobreescriu els fitxers existents (inhabilita una\n" " opció «-i» anterior).\n" " -P, --no-dereference No segueix mai els enllaços simbòlics que es " "troben a\n" " l’ORIGEN.\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p Equival a «--preserve=mode,ownership,timestamps».\n" " --preserve[=LLISTA_ATRIBUTS]\n" " Preserva els atributs indicats, si és possible (per\n" " defecte «mode», «ownership» (propietari) i " "«timestamps»\n" " (dates); atributs addicionals: «context», «links»\n" " (enllaços), «all» (tots).\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LLISTA_ATRIBUTS\n" " No preserva els atributs indicats.\n" " --parents Crea el camí complet del fitxer origen sota el\n" " directori destinació.\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive Còpia recursivament els directoris.\n" " --reflink[=QUAN] Controla la realització de còpies en escriure " "(CoW)\n" " o clonacions (vegeu a sota).\n" " --remove-destination\n" " Elimina cada fitxer destinació existent abans\n" " d’intentar obrirâ€lo (no després, com fa «--force»).\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=QUAN Controla la creació de fitxers dispersos (vegeu a\n" " sota).\n" " --strip-trailing-slashes\n" " Elimina la barra final (si n’hi ha) de cada argument\n" " ORIGEN.\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link Crea enllaços simbòlics cap als fitxers en lloc de\n" " copiarâ€los.\n" " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" " seguretat.\n" " -t, --target-directory=DIRECTORI\n" " Còpia tots els arguments ORIGEN al DIRECTORI.\n" " -T, --no-target-directory\n" " Tracta la DESTINACIÓ com a un fitxer normal.\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update Només còpia quan el fitxer ORIGEN és més nou que el\n" " fitxer destinació o quan aquest darrer no existeix.\n" " -v, --verbose Explica què s’està fent.\n" " -x, --one-file-system Es manté dins d’aquest sistema de fitxers.\n" # ivb: # «Sparse» són fitxers amb blocs seguits de caràcters nuls. Com es pareix # molt al concepte de «matriu dispersa» he aprofitat la traducció (que a més # és la que dóna el diccionari). Mireu «perforate(1)». #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Per defecte, els fitxers ORIGEN dispersos es detecten amb una heurística\n" "simple i els fitxers DESTINACIÓ corresponents són creats dispersos. Aquest " "és\n" "el comportament indicat per «--sparse=auto». Amb «--sparse=always» es " "crearà\n" "un fitxer DESTINACIÓ dispers sempre que el fitxer ORIGEN continga una\n" "seqüència suficientment llarga d’octets zero. Empreu «--sparse=never» per " "a\n" "evitar la creació de fitxers dispersos.\n" "\n" "En especificar «--reflink[=always]» es realitzarà una còpia lleugera, on es\n" "comparteixen els blocs de dades i només es copien quan són modificats. Si " "açò\n" "no és possible la còpia fallarà; en canvi, si s’especifica «--reflink=auto» " "es\n" "recorrerà a una còpia estàndard.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "El sufix de còpia de seguretat és «~», si no s’estableix amb «--suffix» o " "amb\n" "la variable SIMPLE_BACKUP_SUFFIX. El mètode de control de versions es pot\n" "establir amb l’opció «--backup» o fent servir la variable d’entorn\n" "VERSION_CONTROL. Es poden emprar aquests valors:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off Mai fa còpies de seguretat (ni especificant «--backup»).\n" " numbered, t Fa còpies de seguretat numerades.\n" " existing, nil Fa còpies de seguretat numerades si ja n’existeixen, les " "fa\n" " simples en cas contrari.\n" " simple, never Fa còpies de seguretat simples sempre.\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Com a cas especial, «cp» fa una còpia de seguretat d’ORIGEN quan les " "opcions\n" "«--force» i «--backup» són actives i ORIGEN i DESTINACIÓ són el mateix nom\n" "d’un fitxer ordinari existent.\n" # Usa quote(). ivb #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "no s’han pogut preservar les dates de %s" # Usa quote(). ivb #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "no s’han pogut preservar els permisos de %s" # Usa quote(). ivb #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "no s’ha pogut crear el directori %s" # Els 4 usen quote(). ivb #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existeix però no és un directori" # Els 2 usen quote(). ivb #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "no s’ha pogut obrir %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "manca un operand fitxer" # Usa quote(). ivb #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "manca un operand fitxer destinació després de %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "no es poden combinar «--target-directory» (-t) i «--no-target-directory» (-T)" # Usa quote(). ivb #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "la destinació %s no és un directori" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "en emprar «--parents», la destinació ha de ser un directori" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "s’han especificat múltiples directoris destinació" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "no es poden crear enllaços forts i simbòlics alhora" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "les opcions «--backup» i «--no-clobber» són mútuament excloents" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "«--reflink» només es pot emprar amb «--sparse=auto»" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "tipus de còpia de seguretat" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "no es poden preservar els contexts de seguretat sota un nucli sense SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "no es poden preservar els atributs estesos perquè la compatibilitat amb " "aquests no ha sigut compiÅ€lada en «cp»" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "l’entrada ha desaparegut" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: el número de línia està fora de rang" # Usa quote(). ivb #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: el número de línia està fora de rang" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " a la %sa repetició\n" # Usa quote(). ivb #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: no s’ha trobat cap coincidència" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "error a la cerca de l’expressió regular" # Usa quote(). ivb #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "error en escriure %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: s’esperava un número enter després del delimitador" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: cal «}» al nombre de repeticions" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: cal especificar un número enter entre «{» i «}»" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: manca el delimitador «%c» de tancament" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: l’expressió regular no és vàlida: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: el patró no és vàlid" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: el número de línia ha de ser major que zero" # Usa quote() en ambdues. ivb #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "el número de línia %s és menor que el número anterior, %s" # Usa quote(). ivb #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "avís: el número de línia %s és el mateix que el número anterior" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "manca l’especificació de conversió al sufix" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "l’especificació de conversió al sufix no és vàlida: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "l’especificació de conversió al sufix no és vàlida: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "l’especifiació de conversió conté opcions no vàlides: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "sobren especificacions de conversió «%%» al sufix" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "manca l’especificació de conversió «%%» al sufix" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: el número no és vàlid" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Forma d’ús: %s [OPCIÓ]… FITXER PATRÓ…\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Divideix el FITXER en trossos separats pels patrons (PATRÓ) indicats, i " "escriu\n" "els trossos en fitxers anomenats «xx00», «xx01»… indicant a l’eixida " "estàndard\n" "la mida en octets de cadascun d’ells.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT\n" " Empra aquest FORMAT d’sprintf() en lloc de «%02d».\n" " -f, --prefix=PREFIX Empra aquest PREFIX en lloc de «xx».\n" " -k, --keep-files No elimina els fitxer generats, en cas d’error.\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DIGITS Empra el nombre de dígits especificat en lloc de " "2.\n" " -s, --quiet, --silent No mostra la mida dels fitxers resultants.\n" " -z, --elide-empty-files\n" " Elimina els fitxers resultants que estan buits.\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Si FITXER és «-», llegeix l’entrada estàndard. Cada PATRÓ pot ser:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ENTER Copia fins a (però sense incloure) la línia " "especificada.\n" " /EXPREG/[DESPL] Copia fins a (però sense incloure) la línia " "coincident.\n" " %EXPREG%[DESPL] Salta fins a (però sense incloure) la línia " "coincident.\n" " {ENTER} Repeteix el patró anterior el nombre de vegades\n" " especificat.\n" " {*} Repeteix el patró anterior tants cops com sigui " "possible.\n" "\n" "Un desplaçament de línia (DESPL) és un «+» o «-» seguit per un número enter\n" "positiu.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "els camps i les posicions compten des d’1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Forma d’ús: %s OPCIÓ… [FITXER]…\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Escriu parts seleccionades de les línies de cada FITXER a la sortida\n" "estàndard.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LLISTA Només selecciona aquests octets.\n" " -c, --characters=LLISTA\n" " Només selecciona aquests caràcters.\n" " -d, --delimiter=DELIM Empra DELIM en lloc de la tabulació com a\n" " delimitador de camp.\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LLISTA Només selecciona aquests camps; també escriu totes " "les\n" " línies que no continguen el caràcter delimitador, " "tret\n" " que s’especifique l’opció «-s».\n" " -n (No es té en compte.)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement Complementa el conjunt d’octets, caràcters o camps\n" " escollits.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited No escriu les línies que no continguen el " "caràcter\n" " delimitador.\n" " --output-delimiter=CADENA\n" " Empra la CADENA com a delimitador de sortida; per\n" " defecte s’utilitza el delimitador d’entrada.\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Empreu exactament una de les opcions «-b», «-c» o «-f». Cada LLISTA consta\n" "d’un interval, o de diversos intervals separats per comes. L’entrada que " "és\n" "seleccionada és escrita en el mateix ordre en què és llegida, i és escrita " "una\n" "sola volta, exactament.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Cada interval pot ser un de:\n" "\n" " N L’octet, caràcter o camp N, comptant des d’1.\n" " N- Des de l’octet, caràcter o camp N fins al final de la línia.\n" " N-M Des de l’octet, caràcter o camp N fins a l’M (inclòs).\n" " -M Des del principi fins a l’octet, caràcter o camp M (inclòs).\n" "\n" "Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "la llista d’octets o camps no és vàlida" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "l’interval sense punt final no és vàlid: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "l’interval decreixent no és vàlid" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "el desplaçament en octets %s és massa gran" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "el número de camp %s és massa gran" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "només es pot especificar un únic tipus de llista" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "el delimitador ha de ser un únic caràcter" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "cal que especifiqueu una llista d’octets, caràcters o camps" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "només es pot especificar un delimitador d’entrada quan s’opera amb camps" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "eliminar les línies no delimitades només té sentit quan s’opera amb camps" #: src/cut.c:870 msgid "missing list of fields" msgstr "manca la llista de camps" #: src/cut.c:872 msgid "missing list of positions" msgstr "manca la llista de posicions" # CC és de «century», així que S de «segle»... iv # Nopes, la centúria és el segle menys 1 (com hauria de ser!). ivb #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [+FORMAT]\n" " o bé: %s [-u|--utc|--universal] [MMDDhhmm[[CC]AA][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" # Sembla que date no accepta «ara»... No anirà al locale... iv # No, en efecte, és cosa de getdate.y, que no té i18 iv # Hm. Ivan, revisa -I. Cal traduir les coses entrecomillades? jm # No, són arguments literals de -I, i no tenen traducció. ivb #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Mostra la data actual en el FORMAT indicat, o estableix la data del " "sistema.\n" "\n" " -d, --date=CADENA Mostra la data descrita a la CADENA en lloc de la " "data\n" " actual («now», ara).\n" " -f, --file=FITXER_DATES\n" " Com aplicar «--date» una volta per cada línia de\n" " FITXER_DATES.\n" " -I[PRECISIÓ], --iso-8601[=PRECISIÓ]\n" " Mostra la data en format ISO 8601 fins a la PRECISIÓ\n" " indicada: «date» (només la data, per defecte), " "«hours»\n" " (hores), «minutes» (minuts), «seconds» (segons) o " "«ns»\n" " (nanosegons).\n" # «-R» no mostra la data traduïda. ivb #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FITXER\n" " Mostra la data de la darrera modificació del FITXER.\n" " -R, --rfc-2822 Mostra la data conforme a l’RFC 2822. Per exemple:\n" " Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=PRECISIÓ\n" " Mostra la data en format RFC 3339 fins a la PRECISIÓ\n" " indicada: «date» (només la data), «seconds» (segons) " "o\n" " «ns» (nanosegons). La data i l’hora estan separats " "per\n" " un sol espai: 2006-08-07 12:34:56-06:00\n" " -s, --set=CADENA Estableix la data descrita a la CADENA.\n" " -u, --utc, --universal\n" " Mostra o estableix el Temps Universal Coordinat.\n" # Les descr. han de començar en la 12a. columna (per «%:::z»). ivb #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT controla l’eixida. Les seqüències interpretades són:\n" "\n" " %% Un «%» literal.\n" " %a Dia de la setmana abreujat del locale, p. ex. «dg».\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A Dia de la setmana complet del locale, p. ex. «diumenge».\n" " %b Dia del mes abreujat del locale, p. ex. «gen».\n" " %B Dia del mes complet del locale, p. ex. «gener».\n" " %c Data i hora del locale, p. ex. «dj 03 mar 2005 23:05:25 CET».\n" # No pose «segle» pq no ho és exactament, així llegiran l'explicació. ivb #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Centúria, com «%Y» però sense els dos darrers dígits, p. ex. " "«20».\n" " %d Dia del mes, p. ex. «01».\n" " %D Format de data equivalent a «%m/%d/%y».\n" " %e Dia del mes reomplit amb blancs, equival a «%_d».\n" # Ja sé que sona estrany però és el que vol dir. info date. ivb #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F Data completa, equival a «%Y-%m-%d».\n" " %g Darrers dos dígits de l’any, segons el número ISO de la setmana\n" " (vegeu «%G»).\n" " %G Any, segons el número ISO de la setmana (vegeu «%V»); a sovint\n" " només és útil amb «%V».\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h Equival a «%b».\n" " %H Hora (00..23).\n" " %I Hora (01..12).\n" " %j Dia de l’any (001..366).\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k Hora reomplida amb blancs ( 0..23), equival a «%_H».\n" " %l Hora reomplida amb blancs ( 1..12), equival a «%_I».\n" " %m Mes (01..12).\n" " %M Minut (00..59).\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n Un caràcter de nova línia.\n" " %N Nanosegons (000000000..999999999).\n" " %p L’equivalent d’AM o PM del locale, buit si es desconeix.\n" " %P Com «%p», però en minúscules.\n" " %r Hora del rellotge de 12 hores del locale, p. ex. «11:11:04 PM» " "al\n" " locale C.\n" " %R Hora i minuts del rellotge de 24 hores, equival a «%H:%M».\n" " %s Segons des de l’1 de gener de 1970 a les 00:00:00 UTC.\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Segon (00..60).\n" " %t Un caràcter de tabulació.\n" " %T Hora, equival a «%H:%M:%S».\n" " %u Dia de la setmana (1..7), on 1 és el dilluns.\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Número de la setmana dins l’any, amb el diumenge com a primer " "dia\n" " de la setmana (00..53).\n" " %V Número ISO de la setmana, amb el dilluns com a primer dia de la\n" " setmana (01..53).\n" " %w Dia de la setmana (0..6), on 0 és el diumenge.\n" " %W Número de la setmana dins l’any, amb el dilluns com a primer dia " "de\n" " la setmana (00..53).\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x Representació de la data del locale, p. ex. «31/12/99».\n" " %X Representació de l’hora del locale, p. ex. «23:13:48».\n" " %y Darrers dos dígits de l’any (00..99).\n" " %Y Any.\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z Zona horària numèrica «+hhmm», p. ex. «-0400».\n" " %:z Zona horària numèrica «+hh:mm», p. ex. «-04:00».\n" " %::z Zona horària numèrica «+hh:mm:ss», p. ex. «-04:00:00».\n" " %:::z Zona horària numèrica amb els «:» imprescindibles, p.ex. «-04» o\n" " «+05:30».\n" " %Z Abreviatura alfanumèrica de la zona horària, p. ex. «EDT».\n" "\n" "Per defecte, «date» reomple els camps numèrics amb zeros.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Els senyaladors opcionals següents poden ser emprats al darrere de «%»:\n" "\n" " «-» (menys) No reomple el camp.\n" " «_» (subratllat) Reomple el camp amb espais.\n" " «0» (zero) Reomple el camp amb zeros.\n" " «^» Empra majúscules, si és possible.\n" " «#» Intercanvia majúscules i minúscules, si és possible.\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Després dels senyaladors es pot indicar l’amplada del camp com a un número\n" "decimal; després es pot incloure el modificador opcional «E», per a emprar " "les\n" "representacions alternatives del locale (si n’hi ha), o «O», per a emprar " "els\n" "símbols numèrics alternatius del locale (si n’hi ha).\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Exemples:\n" "\n" "Per a convertir un nombre de segons des de l’època (1970-01-01 UTC) en una\n" "data:\n" "\n" " $ date --date='@2147483647'\n" "\n" "Per a mostrar l’hora de la costa oest dels EUA (empreu «tzselect(1)» per a\n" "trobar el valor de TZ):\n" "\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Per a mostrar l’hora local corresponent a les 9 del matí del proper " "divendres,\n" "hora de la costa oest dels EUA:\n" "\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "entrada estàndard" # Ambdues usen quote(). ivb #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "la data %s no és vàlida" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "s’han especificat múltiples formats d’eixida" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "les opcions per a especificar dates a mostrar són mútuament excloents" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "no es poden emprar alhora les opcions per a mostrar i per a establir dates" # Usa quote(). ivb #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "manca un «+» al davant de l’argument %s; quan empreu una opció per a " "especificar dates, cal que qualsevol argument noâ€opció siga una cadena de " "format que comence per «+»" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "no s’ha pogut establir la data" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "la data %s està fora de rang" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [OPERAND]…\n" " o bé: %s OPCIÓ\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Còpia un fitxer, convertint i formatant les dades d’acord amb els operands.\n" "\n" " bs=OCTETS Llegeix i escriu com a molt aquest nombre d’OCTETS\n" " alhora (vegeu també «ibs» i «obs»).\n" " cbs=OCTETS Converteix aquest nombre d’OCTETS alhora.\n" " conv=CONVERSIONS Converteix el fitxer d’acord amb la llista de símbols\n" " separats per comes.\n" " count=N Només còpia N blocs de l’entrada.\n" " ibs=OCTETS Llegeix com a molt aquest nombre d’OCTETS alhora (per\n" " defecte 512).\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FITXER Llegeix del FITXER en lloc de ferâ€ho de l’entrada\n" " estàndard.\n" " iflag=SENYALADOR Llegeix d’acord amb la llista de símbols separats per\n" " comes.\n" " obs=OCTETS Escriu aquest nombre d’OCTETS alhora (per defecte " "512).\n" " of=FITXER Escriu al FITXER en lloc de ferâ€ho a l’eixida " "estàndard.\n" " oflag=SENYALADOR Escriu d’acord amb la llista de símbols separats per\n" " comes.\n" " seek=N Salta N blocs de mida «obs» al principi de l’eixida.\n" " skip=N Salta N blocs de mida «ibs» al principi de l’entrada.\n" " status=INFO Controla la informació mostrada en l’eixida estàndard\n" " d’errors: «noxfer» amaga l’estadística de la\n" " tranferència, «none» amaga tota la informació.\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N i OCTETS poden anar seguits pels sufixos multiplicatius següents:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M,\n" "GB =1000*1000*1000, G =1024*1024*1024, i així per a T, P, E, Z, Y.\n" "\n" "Cada símbol de CONVERSIONS pot ser:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii D’EBCDIC a ASCII.\n" " ebcdic D’ASCII a EBCDIC.\n" " ibm D’ASCII a EBCDIC alternat.\n" " block Emplena amb espais cada registre acabat en nova línia fins " "que\n" " tinga la mida «cbs».\n" " unblock Substitueix els espais del final de cada registre de mida " "«cbs»\n" " per un caràcter de nova línia.\n" " lcase Transforma les majúscules en minúscules.\n" " ucase Transforma les minúscules en majúscules.\n" " sparse Prova de desplaçar l’eixida en lloc d’escriure per als blocs\n" " d’entrada plens de NUL.\n" " swab Intercanvia cada parell d’octets de l’entrada.\n" " sync Emplena cada bloc d’entrada amb NUL fins a la mida «ibs»; " "quan\n" " s’empra amb «block» o «unblock», emplena els blocs amb " "espais\n" " en lloc de NUL.\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl Falla si el fitxer d’eixida ja existeix.\n" " nocreat No crea el fitxer d’eixida.\n" " notrunc No trunca el fitxer d’eixida.\n" " noerror Continua després d’un error de lectura.\n" " fdatasync Escriu físicament les dades del fitxer d’eixida abans de\n" " finalitzar.\n" " fsync El mateix, però també n’escriu les metadades.\n" # El més llarg és «count_bytes». ivb #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada símbol SENYALADOR pot ser:\n" "\n" " append Mode de només addició (només té sentit per a l’eixida, es\n" " suggereix emprar «conv=notrunc»).\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio Empra E/S concurrent per a les dades.\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct Empra E/S directa per a les dades.\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory Falla si no és un directori.\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync Empra E/S sincronitzada per a les dades.\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync El mateix, però també per a les metadades.\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" " fullblock Acumula blocs d’entrada sencers (símbol per a «iflag»).\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock Empra E/S no blocadora.\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime No actualitza la data d’accés.\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache Descarta les dades de la memòria cau.\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty No assigna el fitxer com a terminal de control.\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow No segueix els enllaços simbòlics.\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks Falla si el fitxer té més d’un enllaç.\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary Empra E/S binària per a les dades.\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text Empra E/S textual per a les dades.\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" " count_bytes tracta el valor de «count=N» com a una quantitat d’octets\n" " (només per a «iflag»)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" " skip_bytes tracta el valor de «skip=N» com a una quantitat d’octets\n" " (només per a «iflag»)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" " seek_bytes tracta el valor de «seek=N» com a una quantitat d’octets\n" " (només per a «oflag»)\n" # La substitució pot ser «USR1» o «INFO». ivb #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar un senyal %s a un procés «dd» en marxa fa que mostre una estadística\n" "d’entrada/eixida a l’eixida estàndard d’errors, i que després continue\n" "copiant.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registres llegits\n" " 18335302+0 registres escrits\n" " 9387674624 octets (9,4 GB) copiats, 34,6279 segons, 271 MB/s\n" "\n" "Les opcions són:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> registres llegits\n" "%<PRIuMAX>+%<PRIuMAX> registres escrits\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> registre truncat\n" msgstr[1] "%<PRIuMAX> registres truncats\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> octet (%s) copiat" msgstr[1] "%<PRIuMAX> octets (%s) copiats" # Es refereix a octets per segon. ivb #: src/dd.c:720 msgid "Infinity B" msgstr "Infinits B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "en tancar el fitxer d’entrada %s" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "en tancar el fitxer d’eixida %s" # Usa quote() i és un nom de fitxer. ivb #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "no s’ha pogut inhabilitar «O_DIRECT» sobre %s" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "en escriure %s" # Usa quote(). ivb #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "l’operand %s no és reconegut" #: src/dd.c:1218 msgid "invalid conversion" msgstr "la conversió no és vàlida" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "el senyalador d’entrada no és vàlid" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "el senyalador d’eixida no és vàlid" #: src/dd.c:1227 msgid "invalid status flag" msgstr "el senyalador d’estat no és vàlid" # Usa quote(). ivb #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "el número %s no és vàlid" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "no es poden combinar «ascii», «ebcdic» o «ibm»" # Són noms de senyaladors. ivb #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "no es poden combinar «block» i «unblock»" # Són noms de senyaladors. ivb #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "no es poden combinar «lcase» i «ucase»" # Són noms de senyaladors. ivb #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "no es poden combinar «excl» i «nocreat»" # Són noms de senyaladors. ivb #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "no es poden combinar «direct» i «nocache»" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "avís: s’evita un error del nucli en lseek() per al fitxer «%s» de tipus " "mt_type=0x%0lx —vegeu <sys/mtio.h> per a la llista de tipus" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: no s’ha pogut saltar" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: no s’ha pogut desplaçar" # Usa quote(). ivb #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "s’ha desbordat el desplaçament en llegir el fitxer %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" "avís: després de la lectura fallada el desplaçament de fitxer no és vàlid" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "al final no s’ha pogut evitar l’error del nucli" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "en establir els senyaladors de %s" # No és molt literal, però s’entén. ivb #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "no hi ha memòria suficient per al bloc d’entrada de %zu octets (%s)" # No és molt literal, però s’entén. ivb #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "no hi ha memòria suficient per al bloc d’eixida de %zu octets (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: no s’ha pogut saltar fins al desplaçament indicat" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "no s’ha pogut truncar a %<PRIuMAX> octets al fitxer d’eixida %s" # Usa quote. ivb #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "ha fallat fdatasync() sobre %s" # Usa quote(). ivb #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "ha fallat fsync() sobre %s" # Els 2 usen quote(). ivb #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "no s’ha pogut obrir %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "el desplaçament és massa gran: no es pot truncar a una longitud de " "%<PRIuMAX> blocs de %lu octets" # Usa quote(). ivb # Condició d'error. ivb #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "no s’ha pogut truncar a %<PRIuMAX> octets al fitxer d’eixida %s" # Usa quote(). ivb #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "no s’ha pogut descartar la memòria cau de %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "S. fitxers" #: src/df.c:175 msgid "Type" msgstr "Tipus" # Per a les capçaleres va al davant, en majúscula. ivb #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "Blocs" #: src/df.c:181 msgid "Used" msgstr "En ús" #: src/df.c:184 msgid "Available" msgstr "Lliures" #: src/df.c:187 msgid "Use%" msgstr "%Ús" #: src/df.c:190 msgid "Inodes" msgstr "Nodes-i" #: src/df.c:193 msgid "IUsed" msgstr "En ús" #: src/df.c:196 msgid "IFree" msgstr "Lliures" #: src/df.c:199 msgid "IUse%" msgstr "%Ús" #: src/df.c:202 msgid "Mounted on" msgstr "Muntat a" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" # Usa quote(). ivb #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "avís: s’ha especificat el fitxer origen %s més d’una vegada" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Mida" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Lliure" #: src/df.c:474 msgid "Capacity" msgstr "Cabuda" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%2$s de %1$s" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Mostra informació sobre el sistema de fitxers on resideix cada FITXER, o " "(per\n" "defecte) informació sobre tots els sistemes de fitxers.\n" "\n" # Crec que «virtual» capta millor el significat de «dummy». ivb #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all Inclou els sistemes de fitxers virtuals.\n" " -B, --block-size=MIDA Escala les mides a la MIDA donada abans de\n" " mostrarâ€les. Per exemple, «-BM» mostra les mides en\n" " unitats de 1.048.576 octets. Vegeu el format de la\n" " MIDA a sota.\n" " --total Produeix un recompte total.\n" " -h, --human-readable Mostra les mides en un format llegible per als\n" " humans (per exemple: 1K 234M 2G).\n" " -H, --si El mateix, però empra potències de 1000, no de 1024.\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes Llista informació sobre els nodes índex en lloc de\n" " sobre l’ús de blocs.\n" " -k Equival a «--block-size=1K».\n" " -l, --local Limita el llistat als sistemes de fitxers locals.\n" " --no-sync No invoca sync() abans d’obtenir la informació sobre\n" " l’ús (per defecte).\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability Empra el format d’eixida POSIX.\n" " --sync Invoca sync() abans d’obtenir la informació sobre " "l’ús.\n" " -t, --type=TIPUS Limita el llistat als sistemes de fitxers del TIPUS\n" " especificat.\n" " -T, --print-type Mostra el tipus de sistema de fitxers.\n" " -x, --exclude-type=TIPUS\n" " Limita el llistat als sistemes de fitxers que no " "siguen\n" " del TIPUS especificat.\n" " -v (No es té en compte.)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "les opcions «--compare» (-C) i «--strip» són mútuament excloents" #: src/df.c:1335 msgid "warning: " msgstr "avís: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "l’opció llarga «--megabytes» està desaprovada i serà eliminada aviat" # Usa quote(). ivb #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "s’ha seleccionat i exclós alhora el tipus de sistema de fitxers %s" #: src/df.c:1500 msgid "Warning: " msgstr "avís: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "no s’ha pogut llegir la taula de sistemes de fitxers muntats" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "no s’ha processat cap sistema de fitxers" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Foma d’ús: %s [OPCIÓ]… [FITXER]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Produeix ordres per a establir la variable d’entorn LS_COLORS.\n" "\n" "Opcions per a determinar el format de l’eixida:\n" " -b, --sh, --bourne-shell\n" " Produeix codi destinat a l’intèrpret Bourne per\n" " establir LS_COLORS.\n" " -c, --csh, --c-shell Produeix codi destinat a l’intèrpret C per\n" " establir LS_COLORS.\n" " -p, --print-database Mostra els valors per defecte.\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Si s’especifica un FITXER, aquest es llegeix per a determinar quins colors\n" "emprar per a quins tipus de fitxer i extensions. Altrament, s’empra una " "base\n" "de dades precompilada. Proveu «dircolors --print-database» per a obtenir\n" "detalls sobre el format d’aquests fitxers.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: la línia no és vàlida; manca el segon component" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: la paraula clau «%s» no és reconeguda" # Es refereix a la base de dades interna de dircolors. ivb #: src/dircolors.c:359 msgid "<internal>" msgstr "<interna>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "l’opció que mostra la base de dades interna de «dircolors» i la que " "selecciona una sintaxi d’intèrpret són mútuament excloents" # Açò s'imprimeix després d'un missatge d'error. ivb # Només es pot admetre un operand fitxer. ivb #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "No es pot combinar un operand fitxer amb «--print-database» (-p)." #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "no hi ha variable d’entorn SHELL ni s’ha indicat cap opció de tipus " "d’intèrpret" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Forma d’ús: %s [OPCIÓ] NOM…\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Mostra cada NOM eliminantâ€ne l’últim component no buit que es trobe al " "darrere\n" "d’una barra «/», així com les barres finals; si el NOM no conté cap barra,\n" "mostra «.» (indicant el directori actual).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova\n" " línia per a separar els resultats.\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Exemples:\n" "\n" " %s /usr/bin/ -> «/usr»\n" " %s dir1/str dir2/str -> «dir1» seguit per «dir2»\n" " %s stdio.h -> «.»\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" " o bé: %s [OPCIÓ]… --files0-from=FITXER\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Resumeix l’ús de disc de cada FITXER, de forma recursiva per als " "directoris.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all Mostra recomptes per a tots els fitxers, no només " "per\n" " als directoris.\n" " --apparent-size Mostra les mides aparents en lloc de l’ús de disc;\n" " tot i que la mida aparent sol ser menor, pot ser " "major\n" " pels forats dels fitxers dispersos, per fragmentació\n" " interna, blocs indirectes…\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=MIDA Escala les mides a la MIDA donada abans de\n" " mostrarâ€les. Per exemple, «-BM» mostra les mides en\n" " unitats de 1.048.576 octets. Vegeu el format de la\n" " MIDA a sota.\n" " -b, --bytes Equival a «--apparent-size --block-size=1».\n" " -c, --total Produeix un recompte total.\n" " -D, --dereference-args\n" " Segueix els enllaços simbòlics que es troben a la " "línia\n" " d’ordres.\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=FITXER\n" " Resumeix l’ús de disc dels fitxers els noms dels " "quals\n" " es troben llistats al FITXER, acabats pel caràcter " "NUL.\n" " Si el FITXER és «-», llegeix els noms de l’entrada\n" " estàndard.\n" " -H Equival a «--dereference-args» (-D).\n" " -h, --human-readable Mostra les mides en un format llegible per als\n" " humans (per exemple: 1K 234M 2G).\n" " --si Com «-h», però empra potències de 1000, no de 1024.\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k Equival a «--block-size=1K».\n" " -l, --count-links Compta les mides més d’una volta al cas d’enllaços\n" " forts.\n" " -m Equival a «--block-size=1M».\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference Segueix tots els enllaços simbòlics.\n" " -P, --no-dereference No segueix cap enllaç simbòlic (per defecte).\n" " -0, --null Acaba cada línia d’eixida amb un octet 0 en lloc " "d’un\n" " caràcter de nova línia.\n" " -S, --separate-dirs No inclou la mida dels subdirectoris.\n" " -s, --summarize Només mostra un total per cada argument.\n" # «du» significa «disc usage», què OO tenen a veure aquestes opcions? ivb # More creeping featurism. ivb #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time Mostra la data de modificació més recent de tots els\n" " fitxers del directori i subdirectoris.\n" " --time=DATA Mostra la DATA indicada en lloc de la de " "modificació:\n" " accés (amb «atime», «access» o «use») o canvi " "d’estat\n" " (amb «ctime» o «status»).\n" " --time-style=ESTIL\n" " Mostra les dates emprant l’ESTIL indicat: full-iso,\n" " long-iso, iso, +FORMAT; FORMAT s’interpreta com en\n" " «date».\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" # Es refereix a octets per segon. ivb #: src/du.c:386 msgid "Infinity" msgstr "Infinits" # Usa quote(). ivb #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "el punt de muntatge %s ja ha estat recorregut" # És una funció. ivb #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "ha fallat fts_read(): %s" # Usa quote(). ivb #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "la profunditat màxima %s no és vàlida" # La segona usa quote(). ivb #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "l’argument %2$s de l’opció «--%1$s» no és vàlid" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "no es pot resumir les entrades i mostrarâ€ne els continguts alhora" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "avís: resumir equival a utilitzar «--max-depth=0»" # conflicts -> no compatible? jm #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "avís: resumir no és compatible amb «--max-depth=%lu»" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "No es poden combinar els operands fitxer amb «--files0-from»." #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: error de lectura" # Usa quote(). ivb #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "no es permet %s entre els noms de fitxer llegits per l’entrada estàndard" # Usa quote(). ivb #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "el nom buit de fitxer no és vàlid" # Els 3 fan el mateix ús. ivb #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Forma d’ús: %s [OPCIÓ_CURTA]… [CADENA]…\n" " o bé: %s OPCIÓ_LLARGA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Fa eco de cada CADENA a l’eixida estàndard.\n" "\n" " -n No genera el caràcter final de nova línia.\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e Habilita la interpretació de seqüències d’escapada " "amb\n" " barra invertida (per defecte).\n" " -E Inhabilita la interpretació de seqüències d’escapada\n" " amb barra invertida.\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e Habilita la interpretació de seqüències d’escapada " "amb\n" " barra invertida.\n" " -E Inhabilita la interpretació de seqüències d’escapada\n" " amb barra invertida (per defecte).\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Si s’especifica «-e» es reconeixen les seqüències següents:\n" "\n" # El més llarg és «UHHHHHHHH» a «printf». ivb #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ Barra invertida.\n" " \\a Alarma (BEL).\n" " \\b Retrocés.\n" " \\c No produeix més eixida.\n" " \\e Carpacter d’escapada.\n" " \\f Salt de pàgina.\n" " \\n Nova línia.\n" " \\r Retorn de carro.\n" " \\t Tabulació horitzontal.\n" " \\v Tabulació vertical.\n" # El més llarg és «UHHHHHHHH» a «printf». ivb #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN Octet amb valor octal NNN (d’1 a 3 dígits).\n" " \\xHH Octet amb valor hexadecimal HH (d’1 a 2 dígits).\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Forma d’ús: %s [OPCIÓ]… [-] [NOM=VALOR]… [ORDRE [ARG]…]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Estableix cada NOM a VALOR a l’entorn i executa l’ORDRE.\n" "\n" " -i, --ignore-environment\n" " Parteix d’un entorn buit.\n" " -0, --null Acaba cada línia d’eixida amb un octet 0 en lloc " "d’un\n" " caràcter de nova línia.\n" " -u, --unset=NOM Elimina la variable NOM de l’entorn.\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Un «-» a soles implica «-i». Si no s’indica l’ORDRE, mostra l’entorn\n" "resultant.\n" # Usa quote(). ivb #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "no s’ha pogut eliminar la variable %s" # Usa quote(). ivb #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "no s’ha pogut establir la variable %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "no es pot especificar «--null» (-0) en indicar una ordre" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converteix els caràcters de tabulació de cada FITXER a espais, i escriu el\n" "resultat a la sortida estàndard. Sense FITXER, o quan FITXER és «-», " "llegeix\n" "l’entrada estàndard.\n" "\n" # Hau! ivb # L'explicació d'«--initial» vé de la plana info. ivb #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial Només converteix les tabulacions que es troben a\n" " prinicipi de línia.\n" " -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en lloc\n" " de 8.\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LLISTA Especifica una llista de posicions explícites per " "cada\n" " tabulació, separades per comes.\n" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "la distància de tabulació %s és massa gran" # Usa quote(). ivb #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "la distància de tabulació conté caràcters no vàlids: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "la distància de tabulació no pot ser 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "les distàncies de tabulació han de ser ascendents" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "la línia d’entrada és massa llarga" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s EXPRESSIÓ\n" " o bé: %s OPCIÓ\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Mostra el valor de l’EXPRESSIÓ a l’eixida estàndard. A sota, una línia en\n" "blanc separa grups amb precedència creixent. L’EXPRESSIÓ pot ser:\n" "\n" " ARG1 | ARG2 ARG1 si no és nul ni 0, ARG2 altrament.\n" "\n" " ARG1 & ARG2 ARG1 si cap argument és nul ni 0, 0 " "altrament.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 és menor que ARG2.\n" " ARG1 <= ARG2 ARG1 és menor o igual que ARG2.\n" " ARG1 = ARG2 ARG1 és igual a ARG2.\n" " ARG1 != ARG2 ARG1 no és igual a ARG2.\n" " ARG1 >= ARG2 ARG1 és major o igual que ARG2.\n" " ARG1 > ARG2 ARG1 és major que ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 Suma aritmètica d’ARG1 i ARG2.\n" " ARG1 - ARG2 Resta aritmètica d’ARG1 i ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 Producte aritmètic d’ARG1 i ARG2.\n" " ARG1 / ARG2 Quocient aritmètic d’ARG1 entre ARG2.\n" " ARG1 % ARG2 Residu aritmètic d’ARG1 entre ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " CADENA : EXPREG Resultat d’aplicar l’expressió regular " "EXPREG\n" " sobre la CADENA.\n" "\n" " match CADENA EXPREG Equival a «CADENA : EXPREG».\n" " substr CADENA POS LONGITUD Subâ€cadena de CADENA, comptant POS des d’1.\n" " index CADENA CARÀCTERS Ãndex de CADENA on hi ha algun CARÀCTER, o " "0.\n" " length STRING Longitud de la CADENA.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + COMPONENT Interpreta el COMPONENT com a una cadena,\n" " encara que siga una paraula clau com " "«match»\n" " o un operador com «/».\n" " ( EXPRESSIÓ ) Valor de l’EXPRESSIÓ.\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Teniu en compte que molts operadors han de ser escapats o entrecometats als\n" "intèrprets d’ordres. Les comparacions són aritmètiques entre números,\n" "lexicogràfiques en altre cas. Les comparacions amb patrons retornen la " "cadena\n" "coincident entre «\\(» i «\\)» o la cadena buida; si no s’empra «\\(» i " "«\\)»,\n" "retornen el nombre de caràcters coincidents o 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "L’estat d’eixida és 0 si l’expressió no és nuÅ€la ni 0; 1 si l’expressió és\n" "nuÅ€la o 0; 2 si l’EXPRESSIÓ no és vàlida sintàcticament; 3 si ocorre un " "error.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "error de sintaxi" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "error al cercador d’expressions regulars" # És un missatge d'error. ivb #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "l’argument no és enter" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "divisió entre zero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "establiu la variable LC_ALL a «C» per a evitar el problema" # Segueix un missatge d’error. ivb # Usa quote() en les 2. ivb #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "Les cadenes comparades eren %s i %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Möller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Ha fallat el test de primalitat de Lucas. Açò no hauria d’ocórrer. " #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "s’ha desbordat la cua d’SQUFOF" # Usa quote(). ivb #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s no és un número enter positiu vàlid" # És un enter correcte però massa gran. ivb #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s és massa gran" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [NÚMERO]…\n" " o bé: %s OPCIÓ\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Mostra els factors primers de cada NÚMERO enter especificat. Si no " "s’indica\n" "cap argument a la línia d’ordres, es llegiran de l’entrada estàndard.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "no s’ha pogut obtenir el directori actual" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "no s’ha pogut canviar al directori %s" # Usa quote(). ivb #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "ha fallat stat() sobre el directori actual (ara %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Forma d’ús: %s [-AMPLADA] [OPCIÓ]… [FITXER]…\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformata els paràgrafs de cada FITXER, i escriu a la sortida estàndard.\n" "L’opció «-AMPLADA» és la forma abreujada de «--width=AMPLADA».\n" "\n" # buscar una traducció per refill # Així queda prou clar, d'acord amb l'info. ivb #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin Preserva la indentació de les dues primeres línies.\n" " -p, --prefix=CADENA Només combina les línies que tenen la CADENA com a\n" " prefix, tornantâ€la a posar al principi de les línies\n" " reformatades.\n" " -s, --split-only Només separa les línies llargues, no combina les " "línies\n" " curtes.\n" # FIXME: invalid/untranslatable accidental format specification! ivb #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph\n" " La indentació de la primera línia és diferent de la " "de\n" " la segona.\n" " -u, --uniform-spacing Un espai entre paraules, dos entre frases.\n" " -w, --width=AMPLADA Indica l’AMPLADA màxima de la línia (per defecte " "75\n" " columnes).\n" " -g, --goal=AMPLADA Indica l’AMPLADA objectiu (per defecte un 93% ode\n" " l’amplada).\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "l’opció «%c» no és vàlida; «-AMPLADA» només es reconeix quan és la primera\n" "opció; empreu «-w AMPLADA» al seu lloc" # Usa quote(). ivb #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "l’amplada no és vàlida: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Ajusta les línies de cada FITXER (per defecte l’entrada estàndard), i " "escriu\n" "a la sortida estàndard.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes Compta octets, i no columnes.\n" " -s, --spaces Només parteix les línies als espais.\n" " -w, --width=AMPLADA Indica el nombre de columnes, en lloc de 80.\n" # Usa quote(). ivb #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "el nombre de columnes no és vàlid: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Forma d’ús: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Mostra els límits dependents de la plataforma en un format adequat per als\n" "scripts de l’intèrpret d’ordres.\n" "\n" # Usa quote(). ivb #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "no s’han pogut obtenir els grups de l’usuari %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "no s’han pogut obtenir els grups del procés actual" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "no s’ha pogut trobar el nom de l’ID de grup %lu" # FIXME: groups seems to allow several USERNAMEs, should use [USERNAME...] ivb #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Forma d’ús: %s [OPCIÓ]… [NOM_USUARI]…\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Mostra la llista de grups de cada NOM_USUARI o, si no se n’indica cap, del\n" "procés actual (la informació pot diferir si la base de dades de grups ha\n" "canviat).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "no s’ha pogut obtenir l’UID real" # Usa quote(). ivb #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "no s’ha pogut obtenir el GID efectiu" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "no s’ha pogut obtenir el GID real" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: l’usuari no existeix" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escriu les 10 primeres línies de cada FITXER a la sortida estàndard. Amb " "més\n" "d’un fitxer, els precedeix amb una capçalera amb el nom del fitxer. Sense " "cap\n" "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]N Escriu els N primers octets de cada fitxer; amb un " "«-»\n" " al davant, escriu tots els octets de cada fitxer\n" " exceptuantâ€ne els darrers N.\n" " -n, --lines=[-]N Escriu les primeres N línies en lloc de les primeres\n" " 10; amb un «-» al davant, escriu totes les línies de\n" " cada fitxer exceptuantâ€ne les darreres N.\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent Omet les capçaleres amb els noms dels fitxers.\n" " -v, --verbose Sempre escriu les capçaleres amb els noms dels " "fitxers.\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Cada valor d’N pot estar seguit d’un dels sufixos multiplicatius següents\n" "(prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000,\n" "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, " "Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: el fitxer ha minvat massa" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: el nombre d’octets és massa gran" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: no s’ha pogut desplaçar fins a la posició original" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: no s’ha pogut moure fins al desplaçament %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: no s’ha pogut reiniciar el punter del fitxer" # Usa quote(). ivb #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "no s’ha pogut recoÅ€locar el punter del fitxer de %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s és tan gran que no es pot representar" #: src/head.c:886 msgid "number of lines" msgstr "el nombre de línies" #: src/head.c:886 msgid "number of bytes" msgstr "el nombre d’octets" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "el nombre de línies no és vàlid" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "el nombre d’octets no és vàlid" # Per a invocacions com ``head -10x``. ivb #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "l’opció final «%c» no és vàlida" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Forma d’ús: %s [OPCIÓ]\n" "Mostra l’identificador numèric (en hexadecimal) de l’estació actual.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Forma d’ús: %s [NOM]\n" " o bé: %s OPCIÓ\n" "Mostra o estableix el nom d’estació del sistema actual.\n" "\n" # Usa quote(). ivb #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "no s’ha pogut establir el nom a %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "no es pot establir el nom d’estació; el sistema no ho admet" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "no s’ha pogut determinar el nom d’estació" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" # FIXME: groups seems to allow several USERNAMEs, should use [USERNAME...] ivb #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Forma d’ús: %s [OPCIÓ]… [NOM_USUARI]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Mostra la informació d’usuari i grup per a l’usuari indicat, o per a " "l’usuari\n" "actual si no s’indica.\n" "\n" " -a No es té en compte, s’accepta per compatibilitat amb\n" " altres versions.\n" " -Z, --context Només mostra el context de seguretat de l’usuari\n" " actual.\n" " -g, --group Només mostra l’identificador efectiu de grup.\n" " -G, --groups Mostra tots els identificadors de grup.\n" " -n, --name Mostra un nom en lloc d’un número, per a «-ugG».\n" " -r, --real Mostra l’identificador real en lloc de l’efectiu, per " "a\n" " «-ugG».\n" " -u, --user Només mostra l’identificador efectiu d’usuari.\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sense cap OPCIÓ, mostra un conjunt útil d’informació d’identificació.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "«--context» (-Z) només funciona sota un nucli amb SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "no es pot mostrar el context de seguretat quan s’indica un usuari" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "tan sols es pot emprar una de les opcions que només mostren un valor" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "no es pot mostrar només noms o ID reals al format per defecte" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "no s’ha pogut obtenir el context del procés" # Usa quote(). ivb #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "no s’ha pogut obtenir l’UID efectiu" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "no s’ha pogut trobar el nom de l’ID d’usuari %s" # Crec que el millor és deixar les sigles tal qual. ivb #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " grups=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " context=%s" # Usa quote() en el 1r. argument, però no en el 2n. ivb #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "avís: %s: no s’ha pogut canviar el context a «%s»" # Els 2 usen quote(). ivb # És un missatge informatiu. ivb #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "s’està creant el directori %s" # Usa quote(). ivb #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "no s’ha pogut canviar el propietari de %s" # Usa quote(). ivb #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "no s’han pogut establir les dates de %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ha fallat la crida al sistema fork()" # No usa quote(). ivb #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "no s’ha pogut executar «%s»" # Usa quote(). ivb # Condició d'error. ivb #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "en esperar la finalització d’«strip»" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "el procés «strip» ha finalitzat de forma anormal" # Usa quote(). ivb #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "l’usuari %s no és vàlid" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTINACIÓ\n" " o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI\n" " o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN…\n" " o bé: %s [OPCIÓ]… -d DIRECTORI…\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Aquest programa d’instaÅ€lació còpia fitxers (a sovint tot just compiÅ€lats) " "a\n" "les ubicacions de destinació que escolliu. Si el que voleu és baixar i\n" "instaÅ€lar un paquet llest per al seu ús sota un sistema GNU/Linux, empreu " "un\n" "gestor de paquets com «yum(1)» o «apt-get(1)».\n" "\n" "Als tres primers formats es còpia un ORIGEN a una DESTINACIÓ o diversos\n" "ORIGENs al DIRECTORI existent, i se n’estableixen els permisos i el " "propietari\n" "o grup. Al quart format es creen tots els components de cada DIRECTORI\n" "indicat.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL]\n" " Crea una còpia de seguretat de cada fitxer " "destinació\n" " existent.\n" " -b Com «--backup», però no accepta cap argument.\n" " -c (No es té en compte.)\n" " -C, --compare Compara cada parell de fitxers d’origen i destinació, " "i\n" " en alguns casos no modifica la destinació en " "absolut.\n" " -d, --directory Tracta tots els arguments com a noms de directori; " "crea\n" " tots els components de cada directori especificat.\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D Crea tots els components que porten a la DESTINACIÓ\n" " excepte el darrer, i còpia ORIGEN a DESTINACIÓ.\n" " -g, --group=GRUP Estableix la propietat de grup a GRUP, en comptes\n" " d’emprar el grup actual del procés.\n" " -m, --mode=MODE Estableix els permisos a MODE (com fa «chmod»), en " "lloc\n" " d’emprar «rwxr-xr-x».\n" " -o, --owner=OWNER Estableix el propietari (només per al superusuari).\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps\n" " Aplica les dates d’accés i modificació dels fitxers\n" " ORIGEN als fitxers destinació corresponents.\n" " -s, --strip Elimina les taules de símbols.\n" " --strip-program=PROGRAMA\n" " Programa a emprar per a eliminar els símbols.\n" " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" " seguretat.\n" " -t, --target-directory=DIRECTORI\n" " Còpia cada ORIGEN al DIRECTORI.\n" " -T, --no-target-directory\n" " Tracta la DESTINACIÓ com a un fitxer normal.\n" " -v, --verbose Mostra el nom de cada directori segons es van " "creant.\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context\n" " Preserva el context de seguretat de SELinux.\n" " -Z, --context=CONTEXT Estableix el context de seguretat de SELinux " "dels\n" " fitxers i directoris.\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "avís: es descarta «--preserve-context» sota aquest nucli sense SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "avís: es descarta «--context» (-Z) sota aquest nucli sense SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "no es pot emprar l’opció «--strip» en instaÅ€lar un directori" # Es refereix a especificar l'opció «--target-directory». ivb #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "no es pot especificar el directori destinació en instaÅ€lar un directori" # Usa quote(). ivb #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "no es pot canviar a %s el context de la destinació i preservarâ€lo alhora" # Els 2 usen quote(). ivb #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "el mode %s no és vàlid" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "avís: es descarta l’opció «--strip-program» ja que no s’ha emprat l’opció «-" "s»" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "les opcions «--compare» (-C) i «--preserve-timestamps» són mútuament " "excloents" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "les opcions «--compare» (-C) i «--strip» són mútuament excloents" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "l’opció «--compare» (-C) no es té en compte quan especifiqueu un mode amb " "bits que no corresponen a permisos" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Escriu una línia a la sortida estàndard per cada parell de línies de " "l’entrada\n" "que continguin idèntics camps d’unió. El camp per defecte és el primer,\n" "delimitat per espais en blanc. Si o FITXER1 o FITXER2 (no els dos) és «-»,\n" "llegeix l’entrada estàndard.\n" "\n" " -a NUMFITXER També escriu les línies desaparellades del fitxer\n" " NUMFITXER, «1» per al FITXER1 o «2» per al FITXER2.\n" " -e CADENA Reemplaça els camps que manquen amb CADENA.\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case No té en compte les majúscules i minúscules en " "comparar\n" " els camps.\n" " -j CAMP Equival a «-1 CAMP -2 CAMP».\n" " -o FORMAT Empra el FORMAT per a construir la línia de sortida.\n" " -t CARÀCTER Empra el CARÀCTER com a separador dels camps " "d’entrada\n" " i de sortida.\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NUMFITXER Com «-a NUMFITXER», però elimina les línies\n" " emparellades.\n" " -1 CAMP Uneix respecte aquest CAMP del fitxer 1.\n" " -2 CAMP Uneix respecte aquest CAMP del fitxer 2.\n" " --check-order Comprova si l’entrada es troba correctament " "ordenada,\n" " fins i tot si se’n poden emparellar totes les " "línies.\n" " --nocheck-order No comprova si l’entrada es troba correctament\n" " ordenada.\n" " --header Tracta la primera línea de cada fitxer com a " "capçaleres\n" " de camp, i les imprimeix sense provar d’emparellarâ€" "les.\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Tret que especifiqueu «-t CARÀCTER», els separadors de camp són espais en\n" "blanc i no es tenen en compte; si no el separador és el CARÀCTER. Cada " "CAMP\n" "s’identifica amb un número, comptant des d’1. FORMAT és una especifiació, " "o\n" "diverses separades per espais o comes, del tipus «NUMFITXER.CAMP» o «0». " "El\n" "FORMAT per defecte escriu el camp d’unió, els camps restants del FITXER1 i " "els\n" "camps restants del FITXER2, tots separats pel CARÀCTER. Si el FORMAT és la\n" "paraula clau «auto», la primera línia de cada fitxer determina el nombre de\n" "camps escrits per cada línia.\n" "\n" "Important: FITXER1 i FITXER2 han d’estar ordenats per llurs camps d’unió. " "Per\n" "exemple, empreu «sort -k 1b,1» si «join» no rep cap opció, o «join -t ''» " "si\n" "«sort» no rep cap opció. Tingueu en compte que les comparacions segueixen " "les\n" "regles especificades per LC_COLLATE. Si l’entrada no es troba ordenada i no " "es\n" "poden emparellar algunes línies, es mostrarà un missatge d’avís.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: no es troba ordenat: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "el número de camp «%s» no és vàlid" # Ambdues usen quote(). ivb #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "l’especificació de camp %s no és vàlida" # Usa quote(). ivb # No ho pose al davant pq tb hi apareix el número de camp. ivb #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "el número de fitxer a l’especificació de camp no és vàlid: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "els camps d’unió %lu i %lu no són compatibles" # Hau! ivb # I damunt no descriu bé l'error. ivb #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" "s’han indicat dues cadenes distintes per a reemplaçar els camps mancants" # Ambdues usen quote(). ivb # No és necessàriament una tabulació, ho diu info. ivb #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "%s és un separador multicaràcter" # No és necessàriament una tabulació, ho diu info. ivb #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "els separadors no són compatibles" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "ambdós fitxers no poden ser l’entrada estàndard" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Forma d’ús: %s [-s SENYAL | -SENYAL] PID…\n" " o bé: %s -l [SENYAL]…\n" " o bé: %s -t [SENYAL]…\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Envia senyals als processos, o llista els senyals.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SENYAL, -SENYAL\n" " Especifica el nom o número del senyal a enviar.\n" " -l, --list Llista els noms dels senyals, o converteix els noms " "de\n" " senyals a números i a la inversa.\n" " -t, --table Mostra una taula amb informació sobre els senyals.\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SENYAL pot ser un nom de senyal com «HUP», un número de senyal com «1», o\n" "l’estat d’eixida d’un procés finalitzat per un senyal. PID és un número\n" "enter; si és negatiu identifica un grup de processos.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: l’identificador de procés no és vàlid" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "l’opció «%c» no és vàlida" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: s’han especificat múltiples senyals" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "s’han especificat múltiples opcions «-l» o «-t»" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "no es pot combinar un senyal amb «-l» o «-t»" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "no s’ha especificat cap identificador de procés" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" "no s’ha pogut reservar una memòria intermèdia de %<PRIuMAX> octets per al " "flux estàndard\n" # Cap dels dos usa quote(). ivb #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "el mode de memòria intermèdia «%s» no és vàlid per a «%s»\n" # Cap dels dos usa quote(). ivb #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" "no s’ha pogut establir el mode de memòria intermèdia per a «%s» a «%s»\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s FITXER1 FITXER2\n" " o bé: %s OPCIÓ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Crida la funció link() per a crear un enllaç anomenat FITXER2 que apunte cap " "a\n" "un FITXER1 existent.\n" "\n" # Usa quote() en els 2 args. ivb #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "no s’ha pogut crear l’enllaç %s cap a %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: no es permet l’enllaç fort cap al directori" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: no es pot sobreescriure un directori" # Usa quote(). ivb #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: voleu reemplaçar %s? " # Usa quote(). ivb #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "no s’ha pogut crear l’enllaç simbòlic %s" # Usa quote() en els 2 arguments. ivb #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "no s’ha pogut crear l’enllaç simbòlic %s cap a %s" # Usa quote() en els 2 args. ivb # Indica condició d'error. ivb # La primera substitució es «menja» la cadena. ivb #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "no s’ha pogut crear l’enllaç fort cap a %.0s%s" # Usa quote() en els 2 args. ivb #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "no s’ha pogut crear l’enllaç fort %s" # Usa quote() en els 2 args. ivb #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "no s’ha pogut crear l’enllaç fort %s cap a %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [-T] DESTINACIÓ NOM_ENLLAÇ (1a forma)\n" " o bé: %s [OPCIÓ]… DESTINACIÓ (2a forma)\n" " o bé: %s [OPCIÓ]… DESTINACIÓ… DIRECTORI (3a forma)\n" " o bé: %s [OPCIÓ]… -t DIRECTORI DESTINACIÓ… (4a forma)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "A la 1a forma crea un enllaç anomenat NOM_ENLLAÇ que apunta a la " "DESTINACIÓ.\n" "A la 2a forma crea un enllaç al directori actual que apunta a la " "DESTINACIÓ.\n" "A les formes 3a i 4a crea enllaços cap al DIRECTORI a cada DESTINACIÓ. Per\n" "defecte es creen enllaços forts; es creen simbòlics fent servir «--" "symbolic».\n" "En crear enllaços forts, cal que existesca cadascun dels fitxers " "DESTINACIÓ.\n" "Els enllaços simbòlics poden contenir qualsevol text, i a l’hora de ser\n" "resolt, un enllaç relatiu serà interpretat respecte al seu directori pare.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL]\n" " Crea una còpia de seguretat de cada fitxer " "destinació\n" " existent.\n" " -b Com «--backup», però no accepta cap argument.\n" " -d, -F, --directory Crea enllaços forts cap als directoris (només per al\n" " superusuari).\n" " -d, -F, --directory Permet al superusuari provar de crear enllaços forts\n" " cap a directoris (nota: probablement fallarà fins i " "tot\n" " per al superusuari a causa de restriccions del\n" " sistema).\n" " -f, --force Elimina els fitxers destinació existents.\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive Pregunta si cal eliminar alguna destinació.\n" " -L, --logical Segueix cada DESTINACIÓ si és un enllaç simbòlic.\n" " -n, --no-dereference Tracta NOM_ENLLAÇ com si fóra un fitxer normal si " "és\n" " un enllaç simbòlic a un directori.\n" " -P, --physical Crea enllaços forts que apunten directament als\n" " enllaços simbòlics indicats.\n" " -r, --relative Crea enllaços simbòlics relatius a la seua pròpia\n" " ubicació.\n" " -s, --symbolic Crea enllaços simbòlics en lloc de forts.\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" " seguretat.\n" " -t, --target-directory=DIRECTORI\n" " Especifica el DIRECTORI on crear els enllaços.\n" " -T, --no-target-directory\n" " Sempre tracta NOM_ENLLAÇ com a un fitxer normal.\n" " -v, --verbose Mostra el nom de cada fitxer enllaçat.\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "En emprar l’opció «-s» es descarten «-L» i «-P». Altrament, l’última opció\n" "indicada controla el comportament quan una DESTINACIÓ és un enllaç " "simbòlic,\n" "sent l’opció per defecte «%s».\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "no es poden combinar «--target-directory» i «--no-target-directory»" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "«--relative» necessita «--symbolic»" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "ARREGLA’M: desconegut" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Forma d’ús: %s [OPCIÓ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Mostra el nom de l’usuari actual.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "no hi ha nom d’entrada" # Data de fitxers antics (p.ex. «15 gen 2003»). Ocupa igual que l'altra. ivb #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" # Data de fitxers nous (p.ex. «15 gen 11:53»). Ocupa igual que l'altra. ivb #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "es descarta el valor no vàlid de la variable d’entorn QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "es descarta l’amplària no vàlida a la variable d’entorn COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "es descarta l’amplària no vàlida de tabulació a la variable d’entorn " "TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "l’amplària de línia no és vàlida: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "l’amplària de tabulació no és vàlida: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "l’estil de data «%s» no és vàlid" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Els arguments vàlids són:\n" # No pose cometes al principi perquè abans apareix una altra línia sense. ivb #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (p.ex. «+%H:%M») per al format a l’estil de «date»\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "error en iniciar les cadenes dels mesos" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "el prefix no és reconegut: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "el valor de la variable d’entorn LS_COLORS no és interpretable" # Usa quote(). ivb #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "no s’ha pogut obrir el directori %s" # Usa quote(). ivb #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "no es poden determinar el dispositiu i node índex de %s" # Usa quote(). ivb #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: no es llista el directori ja llistat" # Els 2 usen quote(). ivb # Indica condició d'error. ivb #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "en llegir el directori %s" # Usa quote(). ivb # És un missatge d'error. ivb #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "en tancar el directori %s" # Usa quote() en els 2 args. ivb #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "no es poden comparar els noms de fitxer %s i %s" # Traduint tot açò s'entenen tres coses: # 1.- Què significa que l'ls pateix el «second system effect» # 2.- Com és d'important el principi KISS # 3.- Com és de _vital_ el moviment cap enrere de la pantalla de text # (Déu els compila i ells s'enllacen!) ivb #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Llista informació sobre cada FITXER (per defecte sobre el directori " "actual).\n" "Ordena les entrades alfabèticament si no s’indica cap de les opcions\n" "«-cftuvSUX» o «--sort».\n" "\n" # Amb «implied» vol dir que no han estat indicats explícitament com a args. ivb #: src/ls.c:4728 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" msgstr "" " -a, --all No passa per alt les entrades que comencen amb «.».\n" " -A, --almost-all No llista els directoris implícits «.» i «..».\n" " --author Amb «-l», mostra l’autor de cada fitxer.\n" " -b, --escape Mostra seqüències d’escapada a l’estil de C per als\n" " caràcters no gràfics.\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=MIDA Escala les mides a la MIDA donada abans de\n" " mostrarâ€les. Per exemple, «-BM» mostra les mides en\n" " unitats de 1.048.576 octets. Vegeu el format de la\n" " MIDA a sota.\n" " -B, --ignore-backups No mostra les entrades implícites acabades en " "«~».\n" " -c Amb «-lt», ordena per (i mostra) la data de canvi\n" " (moment de la darrera modificació de la informació\n" " d’estat del fitxer).\n" " Amb «-l», mostra la data de canvi i ordena pel nom.\n" " Altrament, ordena per la data de canvi (primer el " "més\n" " nou).\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C Llista les entrades en columnes.\n" " --color[=QUAN] Empra colors en l’eixida. QUAN pot ser «always»\n" " (sempre, per defecte), «never» (mai) o «auto»\n" " (automàtic). Més informació a sota.\n" " -d, --directory Llista les entrades dels directoris en lloc de llurs\n" " continguts, i no segueix els enllaços simbòlics.\n" " -D, --dired Genera eixida preparada per al mode «dired» d’Emacs.\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f No ordena, activa «-aU» i desactiva «-ls --color».\n" " -F, --classify Afegeix un caràcter identificador del tipus " "d’entrada\n" " (un de «*/=>@|»).\n" " --file-type Similar a l’anterior, però no afegeix «*».\n" " --format=PARAULA Cada PARAULA equival a l’(opció): across (-x),\n" " commas (-m), horizontal (-x), long (-l),\n" " single-column (-1), verbose (-l), vertical (-C).\n" " --full-time Equival a «-l --time-style=full-iso».\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g Com «-l», però no mostra el propietari.\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " Agrupa els directoris abans dels fitxers. Accepta\n" " l’opció «--sort», però «--sort=none» (-U) inhabilita\n" " l’agrupament.\n" # Crec que «virtual» capta millor el significat de «dummy». ivb #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group Amb «-l», no mostra els noms de grup.\n" " -h, --human-readable Amb «-l», mostra les mides en un format llegible " "per\n" " als humans (per exemple: 1K 234M 2G).\n" " --si El mateix, però empra potències de 1000, no de 1024.\n" # «--dereference-command-line-symlink-to-dir» /**/ ivb # «--hide», encara una altra opció! O_O ivb #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " Segueix els enllaços simbòlics que es troben a la " "línia\n" " d’ordres.\n" " --dereference-command-line-symlink-to-dir\n" " Segueix els enllaços simbòlics que es troben a la " "línia\n" " d’ordres i apunten cap a un directori.\n" " --hide=PATRÓ No mostra les entrades implícites que coincideixen " "amb\n" " el PATRÓ d’intèrpret indicat (inhabilitada per les\n" " opcions «-a» i «A»).\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=PARAULA\n" " Afegeix un indicador amb l’estil PARAULA als noms de\n" " les entrades: none (per defecte), slash (-p),\n" " file-type (--file-type), classify (-F).\n" " -i, --inode Mostra el número de node índex de cada fitxer.\n" " -I, --ignore=PATRÓ No llista les entrades implícites que coincideixen " "amb\n" " el PATRÓ d’intèrpret indicat.\n" " -k, --kibibytes Empra blocs de 1024 octets.\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l Empra un format de llistat llarg.\n" " -L, --dereference En mostrar la informació de fitxer d’un enllaç\n" " simbòlic, mostra la informació del fitxer referit en\n" " lloc de la del propi fitxer.\n" " -m Plena a l’ample amb una llista d’entrades separades " "per\n" " comes.\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid Com «-l», però llista els UID i GID " "numèricament.\n" " -N, --literal Mostra els noms de les entrades en brut (per " "exemple,\n" " sense tractar especialment els caràcters de " "control).\n" " -o Com «-l», però no mostra la informació de grup.\n" " -p, --indicator-style=slash\n" " Afegeix l’indicador «/» als directoris.\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars\n" " Mostra «?» en lloc dels caràcters no gràfics.\n" " --show-control-chars\n" " Mostra els caràcters no gràfics tal qual (per " "defecte,\n" " a no ser que el programa siga «ls» i l’eixida siga " "un\n" " terminal).\n" " -Q, --quote-name Tanca els noms de les entrades entre cometes dobles.\n" " --quote-style=ESTIL\n" " Empra l’ESTIL indicat per a citar les paraules:\n" " literal, locale, shell, shell-always, c, escape.\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse Inverteix l’ordre.\n" " -R, --recursive Llista recursivament els subdirectoris.\n" " -s, --size Mostra la mida en blocs de cada fitxer.\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S Ordena les entrades per la seua mida.\n" " --sort=CLAU Ordena en base a la CLAU indicada en lloc d’emprar " "el\n" " nom: none (-U), extension (-X), size (-S), time (-" "t),\n" " version (-v).\n" " --time=DATA Amb «-l», mostra la DATA indicada en lloc de la de\n" " modificació (equival a l’opció entre parèntesis): " "accés\n" " amb «atime», «access» o «use» (-u), canvi amb «ctime» " "o\n" " «status» (-c); amb «--sort=time» s’ordenarà en base " "a\n" " aquesta data.\n" # ls, your next programming language for the shell... ivb #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=ESTIL\n" " Amb «-l», mostra les dates emprant l’ESTIL indicat:\n" " full-iso, long-iso, iso, locale, +FORMAT; FORMAT\n" " s’interpreta com en «date»; si FORMAT és\n" " «FORMAT1<nova línia>FORMAT2», FORMAT1 s’aplica als\n" " fitxers no recents i FORMAT2 als recents; si es " "prefixa\n" " l’ESTIL amb «posix-», només s’empra l’ESTIL si el\n" " locale POSIX no es troba actiu.\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t Ordena per la data de modificació (primer el més " "nou).\n" " -T, --tabsize=COLUMNES\n" " Indica les COLUMNES entre tabulacions, en lloc de 8.\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u Amb «-lt», ordena per (i mostra) la data d’accés.\n" " Amb «-l», mostra la data d’accés i ordena pel nom.\n" " Altrament, ordena per la data d’accés.\n" " -U No ordena, mostra les entrades en l’ordre en què es\n" " troben al directori.\n" " -v Ordena pel número (de versió) inclós al nom.\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS Assumeix un altre ample de pantalla en lloc del " "valor\n" " actual.\n" " -x Llista les entrades en línies en lloc d’en columnes.\n" " -X Ordena alfabèticament segons l’extensió de cada\n" " entrada.\n" " -Z, --context Mostra el context de seguretat de SELinux de cada\n" " fitxer.\n" " -1 Llista un fitxer per línia.\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Per defecte, i amb «--color=never», no s’empren colors per a distingir els\n" "tipus dels fitxers. Amb «--color=auto», «ls» genera codis de color només " "quan\n" "l’eixida estàndard està connectada a un terminal. La variable d’entorn\n" "LS_COLORS permet canviar la configuració dels colors. Empreu l’ordre\n" "«dircolors» per a establir la variable.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Codi d’eixida:\n" "\n" " 0 si tot va bé.\n" " 1 si ocorren errors menors (p.ex. no es pot accedir un subdirectori).\n" " 2 si ocorren errors greus (p.ex. no es pot accedir un argument de la\n" " línia d’ordres).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" "Escriu o comprova sumes de verificació %s (de %d bits). Sense FITXER, o " "quan\n" "FITXER és «-», llegeix l’entrada estàndard.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary Llegeix en mode binari (per defecte, excepte quan es\n" " llegeix l’entrada estàndard d’un terminal).\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary Llegeix en mode binari.\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check Llegeix i comprova la suma %s de cada FITXER.\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" " --tag Crea una suma de verificació a l’estil de BSD.\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text Llegeix en mode text (per defecte quan es llegeix\n" " l’entrada estàndard d’un terminal).\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text Llegeix en mode text (per defecte).\n" # Compte amb la traducció d’«OK». ivb #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Les tres opcions següents només són útils per a la comprovació de sumes:\n" " --quiet No escriu «CORRECTE» per cadascun dels fitxers\n" " verificats amb èxit.\n" " --status No escriu res, el codi d’estat indica el resultat.\n" " -w, --warn Avisa de les línies de suma amb un format " "incorrecte.\n" "\n" # FIXME: Can be confused with invalid checksums. ivb #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict Amb «--check», ix amb un codi d’error diferent de " "zero\n" " si es troben línies d’entrada amb un format " "incorrecte.\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "El càlcul de les sumes es realitza com es descriu al document %s.\n" "A les comprovacions, l’entrada hauria de ser una sortida anterior d’aquest\n" "mateix programa. Per defecte escriu una línia amb la suma de verificació, " "un\n" "caràcter indicant el mode d’entrada («*» per a binari, « » per a text), i " "el\n" "nom de cada FITXER.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: hi ha massa línies de suma" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: la línia de suma %s està mal formatada" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: no s’ha pogut obrir o llegir\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "INCORRECTE" #: src/md5sum.c:597 msgid "OK" msgstr "CORRECTE" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: no s’ha trobat cap línia de suma %s ben formatada" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "avís: %<PRIuMAX> línia està mal formatada" msgstr[1] "avís: %<PRIuMAX> línies estan mal formatades" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "avís: %<PRIuMAX> fitxer llistat no s’ha pogut llegir" msgstr[1] "avís: %<PRIuMAX> fitxers llistats no s’han pogut llegir" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "avís: %<PRIuMAX> suma calculada NO coincideix" msgstr[1] "avís: %<PRIuMAX> sumes calculades NO coincideixen" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "l’opció «--tag» no admet el mode text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "l’opció «--tag» no té sentit a la comprovació de sumes" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "les opcions «--binary» i «--text» no tenen sentit a la comprovació de sumes" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "l’opció «--status» només té sentit a la comprovació de sumes" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "l’opció «--warn» només té sentit a la comprovació de sumes" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "l’opció «--quiet» només té sentit a la comprovació de sumes" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "l’opció «--strict» només té sentit a la comprovació de sumes" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Forma d’ús: %s [OPCIÓ]… DIRECTORI…\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Crea cada DIRECTORI indicat, si no existeix ja.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), en\n" " lloc de «a=rwx» menys la umask.\n" " -p, --parents Crea els directoris pare necessaris, sense mostrar\n" " errors si aquests ja existeixen.\n" " --verbose Mostra un missatge per cada directori creat.\n" " -Z, --context=CTX Estableix el context de seguretat de SELinux de cada\n" " directori creat a CTX.\n" # Usa quote(). ivb #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "s’ha creat el directori %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Forma d’ús: %s [OPCIÓ]… NOM…\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Crea les canonades amb nom (FIFO) indicades pels seus NOMs.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), en\n" " lloc de «a=rw» menys la umask.\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX Estableix el context de seguretat de SELinux de cada\n" " canonada NOM a CTX.\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "el mode no és vàlid" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "el mode només ha d’especificar bits de permisos de fitxer" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Forma d’ús: %s [OPCIÓ]… NOM TIPUS [MAJOR MENOR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Crea el fitxer especial NOM, del TIPUS especificat.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX Estableix el context de seguretat de SELinux de cada\n" " fitxer NOM a CTX.\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Cal que especifiqueu MAJOR i MENOR quan el TIPUS siga «b», «c» o «u»; cal\n" "ometre’ls quan aquest siga «p». Si MAJOR o MENOR comença per «0x» o «0X»,\n" "s’interpreta com a hexadecimal; si comença per «0», com a octal; altrament\n" "s’interpreta com a decimal. El TIPUS pot ser:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b Crea un fitxer especial de blocs (amb memòria intermèdia).\n" " c, u Crea un fitxer especial de caràcters (sense memòria intermèdia).\n" " p Crea una cua FIFO.\n" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Els fitxers especials requereixen números major i menor de dispositiu." # Açò s'imprimeix després d'un missatge d'error. ivb #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Les cues FIFO no tenen números major i menor de dispositiu." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "aquest sistema no permet fitxers especials de blocs" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "aquest sistema no permet fitxers especials de caràcters" # Usa quote(). ivb #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "el número major de dispositiu %s no és vàlid" # Usa quote(). ivb #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "el número menor de dispositiu %s no és vàlid" # No crec que calguen cometes. ivb #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "el dispositiu %s %s no és vàlid" # Usa quote(). ivb #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "el tipus de dispositiu %s no és vàlid" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Foma d’ús: %s [OPCIÓ]… [PLANTILLA]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Crea un fitxer o directori temporal de forma segura i en mostra el nom. La\n" "PANTILLA ha de contenir almenys tres «X» consecutives al darrer component. " "Si\n" "no s’indica la PLANTILLA s’empra «tmp.XXXXXXXXXX», i implica «--tmpdir».\n" # FIXME: Should be merged with previous message or separated by newline. ivb #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Els fitxers es creen amb el mode «u+rw» i els directoris amb «u+rwx», menys " "la\n" "umask en ambdós casos.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory Crea un directori en lloc d’un fitxer.\n" " -u, --dry-run No crea res, només mostra un nom (insegur).\n" " -q, --quiet No mostra els missatges d’error durant la creació " "del\n" " fitxer o directori.\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFIX Afegeix el SUFIX a la PLANTILLA. El SUFIX no ha de\n" " contenir cap barra. Aquesta opció és implícita si " "la\n" " PLANTILLA no acaba en «X».\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIRECTORI]\n" " Interpreta la PLANTILLA com a relativa al DIRECTORI.\n" " Si aquest no s’indica, empra $TMPDIR si està\n" " establerta, o «/tmp» altrament. Si empreu aquesta\n" " opció no cal que la PLANTILLA siga un camí absolut. " "A\n" " diferència de «-t» la PLANTILLA pot contenir barres,\n" " però «mktemp» només en crea el component final.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIRECTORI Empra el DIRECTORI com a prefix, implica «-t» (opció\n" " desaprovada).\n" " -t Interpreta la PLANTILLA com a un únic component de " "nom\n" " de fitxer relatiu al directori $TMPDIR, si està\n" " establerta, al directori indicat per «-p», o " "altrament\n" " a «/tmp» (opció desaprovada).\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "no s’ha pogut redirigir l’eixida estàndard d’errors a «/dev/null»" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "s’han indicat massa plantilles" # Usa quote(). ivb #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "en indicar «--suffix», cal que la plantilla %s acabe en «X»" # Usa quote(). ivb #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "el sufix %s no és vàlid perquè conté un separador de directoris" # Usa quote(). ivb #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "la plantilla %s conté massa pocs caràcters «X»" # Usa quote(). ivb #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "la plantilla %s no és vàlida perquè conté un separador de directoris" # Usa quote(). ivb #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "la plantilla %s no és vàlida perquè és absoluta i esteu emprant «--tmpdir»" # Usa quote(). ivb #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "no s’ha pogut crear el directori emprant la plantilla %s" # Usa quote(). ivb #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "no s’ha pogut crear el fitxer emprant la plantilla %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Canvia el nom d’ORIGEN a DESTINACIÓ, o mou cada ORIGEN al DIRECTORI.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL]\n" " Crea una còpia de seguretat de cada fitxer " "destinació\n" " existent.\n" " -b Com «--backup», però no accepta cap argument.\n" " -f, --force No pregunta abans de sobreescriure.\n" " -i, --interactive Pregunta abans de sobreescriure.\n" " -n, --no-clobber No sobreescriu els fitxers existents.\n" "\n" "Si especifiqueu més d’una opció de «-i», «-f» o «-n», només la darrera " "tindrà\n" "efecte.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes\n" " Elimina la barra final (si n’hi ha) de cada argument\n" " ORIGEN.\n" " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" " seguretat.\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIRECTORI\n" " Mou cada argument ORIGEN al DIRECTORI.\n" " -T, --no-target-directory\n" " Tracta DESTINACIÓ com a un fitxer normal.\n" " -u, --update Només mou quan el fitxer ORIGEN és més nou que el\n" " fitxer destinació o quan el fitxer destinació no hi " "és.\n" " -v, --verbose Explica què s’està fent.\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Forma d’ús: %s [OPCIÓ] [ORDRE [ARG]…]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Executa l’ORDRE amb un valor de prioritat ajustat, cosa que afecta la\n" "planificació del procés. Sense l’ORDRE, mostra el valor actual de " "prioritat.\n" "Els valors de prioritat van des de %d (planificació més favorable per al\n" "procés) a %d (planificació menys favorable per al procés).\n" "\n" " -n, --adjustment=N Afegeix l’enter N al valor de prioritat (per " "defecte\n" " 10).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" # Usa quote(). ivb #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "l’ajust %s no és vàlid" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "cal que especifiqueu una ordre juntament amb l’ajustament" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "no s’ha pogut obtenir la prioritat" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "no s’ha pogut establir la prioritat" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escriu cada FITXER a la sortida estàndard, amb les línies numerades. Sense\n" "FITXER, o quan fitxer és «-», llegeix l’entrada estàndard.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=ESTIL\n" " Enumera les línies del cos segons l’ESTIL.\n" " -d, --section-delimiter=CC\n" " Empra CC per a separar les pàgines lògiques.\n" " -f, --footer-numbering=ESTIL\n" " Enumera les línies del peu segons ESTIL.\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=ESTIL\n" " Enumera les línies de la capçalera segons l’ESTIL.\n" " -i, --line-increment=NÚMERO\n" " Increment que es produeix per cada línia al compte " "de\n" " línies.\n" " -l, --join-blank-lines=NÚMERO\n" " Compta NÚMERO línies en blanc com a una.\n" " -n, --number-format=FORMAT\n" " Inserta els números de línia segons el FORMAT.\n" " -p, --no-renumber No reinicia el compte en cada pàgina lògica.\n" " -s, --number-separator=CADENA\n" " Escriu la CADENA al darrere del possible número de\n" " línia.\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NÚMERO\n" " Primer NÚMERO de línia de cada pàgina lògica.\n" " -w, --number-width=NÚMERO\n" " Empra NÚMERO columnes per cada número de línia.\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Les opcions per defecte són «-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn». CC " "són\n" "dos caràcters delimitadors per a separar les pàgines lògiques, on " "l’absència\n" "del segon caràcter implica «:». Escriviu «\\\\» per a «\\». ESTIL pot " "ser:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a Numera totes les línies.\n" " t Numera totes les línies que no estan en blanc.\n" " n No numera cap línia.\n" " pEXPREG Només numera les línies que contenen una ocurrència de\n" " l’expressió regular bàsica EXPREG.\n" "\n" "El FORMAT pot ser:\n" "\n" " ln Alineat a l’esquerra, sense zeros de replé.\n" " rn Alineat a la dreta, sense zeros de replé.\n" " rz Alineat a la dreta, reomplit amb zeros.\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "el comptador de línies s’ha desbordat" # Usa quote(). ivb #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "l’estil de numeració de capçalera no és vàlid: %s" # Usa quote(). ivb #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "l’estil de numeració de cos no és vàlid: %s" # Usa quote(). ivb #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "l’estil de numeració de peu no és vàlid: «%s»" # Usa quote(). ivb #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "el número inicial de línia no és vàlid: %s" # Usa quote(). ivb #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "l’increment del número de línia no és vàlid: %s" # Usa quote(). ivb #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "el número de línies en blanc no és vàlid: %s" # Usa quote(). ivb #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "l’amplada del camp de números de línia no és vàlida: %s" # Usa quote(). ivb #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "l’estil de numeració de línia no és vàlid: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s ORDRE [ARGUMENT]…\n" " o bé: %s OPCIÓ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Executa l’ORDRE descartant els senyals de penjat.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Si l’entrada estàndard és un terminal, la redirigeix des de «/dev/null». " "Si\n" "l’eixida estàndard és un terminal, afegeix l’eixida si pot a «nohup.out», o " "a\n" "«$HOME/nohup.out» altrament. Si l’eixida estàndard d’errors és un " "terminal,\n" "la redirigeix cap a l’eixida estàndard. Per a capturar l’eixida en un " "FITXER,\n" "empreu «%s ORDRE > FITXER».\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "no s’ha pogut inhabilitar l’entrada estàndard" # Missatge informatiu. ivb #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "es descarta l’entrada" # Missatge informatiu. ivb # Usa quote(). ivb #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "es descarta l’entrada i s’afegeix l’eixida a %s" # Missatge informatiu. ivb # Usa quote(). ivb #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "s’afegeix l’eixida a %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "no s’ha pogut preparar la còpia de l’eixida estàndard d’errors per a que es " "tanque en fer exec()" # Missatge informatiu. ivb #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "es descarta l’entrada i es redirigeixen els errors a l’eixida estàndard" # Missatge informatiu. ivb #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "es redirigeixen els errors a l’eixida estàndard" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "no s’ha pogut redirigir l’eixida estàndard d’errors" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Forma d’ús: %s [OPCIÓ]…\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Mostra el nombre d’unitats de processament disponibles per al procés " "actual,\n" "que pot ser menor que el nombre de processadors actius.\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all Mostra el nombre de processados instaÅ€lats al " "sistema.\n" " --ignore=N Exclou N unitats de processament si és possible.\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: el nombre d’unitats de processament a excloure no és vàlid" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: no s’ha convertit completament el valor" # Usa quote(). ivb #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "el número %s no és vàlid" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "el sufix de l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" # Usa quote(). ivb #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "no s’ha pogut obrir %s per a escriure" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "l’amplària de tabulació no és vàlida: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Forma d’ús: %s [OPCIÓ]… [USUARI]…\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" # FIXME: Can be confused with invalid checksums. ivb #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict Amb «--check», ix amb un codi d’error diferent de " "zero\n" " si es troben línies d’entrada amb un format " "incorrecte.\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Altres opcions:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" # Usa quote(). ivb #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "el format %s no té una directiva «%%»" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "el format de data «%s» no és vàlid" # Usa quote(). ivb #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "el format %s acaba en «%%»" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" # Usa quote(). ivb #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "el format %s té massa directives «%%»" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "el sufix de l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" # Usa quote(). ivb #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "el rang de pàgines no és vàlid: %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "el número de camp «%s» no és vàlid" # Ambdues usen quote(). ivb #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "la data %s no és vàlida" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "No es poden combinar els operands fitxer amb «--files0-from»." # Açò s'imprimeix després d'un missatge d'error. ivb #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "No es poden combinar els operands fitxer amb «--files0-from»." #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "s’han especificat múltiples opcions «-i»" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "No es poden combinar els operands fitxer amb «--files0-from»." #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" # uniq no usa quote(). ivb #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "error en llegir %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "no s’ha pogut inhabilitar l’entrada estàndard" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" " o bé: %s [-abcdfilosx]… [FITXER] [[+]DESPLAÇAMENT[.][b]]\n" " o bé: %s --traditional [OPC]… [FITX] [[+]DESPL[.][b] [+][ETIQ][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Escriu una representació inequívoca, d’octets en octal per defecte, del " "FITXER\n" "a la sortida estàndard. Amb diversos arguments FITXER, els concatena en\n" "l’ordre especificat per a formar l’entrada. Sense FITXER, o quan FITXER és\n" "«-», llegeix l’entrada estàndard.\n" "\n" # El més llarg és «x[MIDA]». ivb #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Si tant la primera com la segona formes d’ús són aplicables, s’assumeix la\n" "segona forma si el darrer operand comença per «+» o (si hi ha dos operands)\n" "per un dígit. Un operand DESPLAÇAMENT significa «-j DESPLAÇAMENT». " "ETIQUETA\n" "és la pseudoadreça del primer octet escrit, que s’incrementa a mesura que " "va\n" "progressant la transcripció. En DESPLAÇAMENT i ETIQUETA, un prefix «0x» o\n" "«0X» indica hexadecimal. Els sufixs poden ser «.» per a octal i «b» com a\n" "multiplicació per 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=BASE\n" " Indica la BASE amb què es mostraran els " "desplaçaments.\n" " -j, --skip-bytes=OCTETS\n" " Salta aquest nombre d’OCTETS al principi de " "l’entrada.\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=OCTETS\n" " Limita la transcripció a aquest nombre d’OCTETS\n" " d’entrada.\n" " -S, --strings[=OCTETS]\n" " Escriu cadenes d’almenys OCTETS caràcters gràfics.\n" " L’argument OCTETS és obligatori per a l’opció curta.\n" " -t, --format=TIPUS Especifica el format (o formats) de sortida.\n" " -v, --output-duplicates\n" " No empra «*» per a marcar la supressió de línies.\n" " -w, --width[=OCTETS] Escriu aquest nombre d’OCTETS per línia.\n" " --traditional Accepta arguments en la forma tradicional.\n" # buscar una traducció per `named characters' i `shorts' # Crec que així va bé. ivb #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Les especificacions en format tradicional poden estar mesclades, acumulantâ€" "se;\n" "són les següents:\n" " -a Equival a «-t a», nom dels caràcters, descartant el bit alt.\n" " -b Equival a «-t o1», octets en octal.\n" " -c Equival a «-t c», caràcters ASCII o seqüències d’escapada amb " "barra\n" " invertida.\n" " -d Equival a «-t u2», enters de 2 octets sense signe en decimal.\n" # buscar traduccions pels diferents tipus # Crec que així va bé. ivb #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f Equival a «-t fF», números reals en coma flotant.\n" " -i Equival a «-t dI», enters en decimal.\n" " -l Equival a «-t dL», enters llargs en decimal.\n" " -o Equival a «-t o2», enters de 2 octets en octal.\n" " -s Equival a «-t d2», enters de 2 octets en decimal.\n" " -x Equival a «-t x2», enters de 2 octets en hexadecimal.\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TIPUS està format per una o diverses de les següents especificacions:\n" "\n" " a Nom del caràcter, sense tenir en compte el bit alt.\n" " c Caràcter ASCII o seqüència d’escapada amb barra invertida.\n" # El més llarg és «x[MIDA]». ivb # «SIZE bytes per integer»->«tindira MIDA octets si fóra un enter», crec. ivb #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[MIDA] Decimal amb signe, de MIDA octets com a enter.\n" " f[MIDA] Número real en coma flotant, de MIDA octets com a enter.\n" " o[MIDA] Octal, de MIDA octets com a enter.\n" " u[MIDA] Decimal sense signe, de MIDA octets com a enter.\n" " x[MIDA] Hexadecimal, de MIDA bytes com a enter.\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "MIDA és un número. Als TIPUS «doux», MIDA també pot ser «C» per a\n" "«sizeof(char)», «S» per a «sizeof(short)», «I» per a «sizeof(int)» o «L» per " "a\n" "«sizeof(long)». Si el TIPUS és «f», la MIDA pot ser també «F» per a\n" "«sizeof(float)», «D» per a «sizeof(double)» o bé «L» per a\n" "«sizeof(long double)».\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Cada valor d’N pot estar seguit d’un dels sufixos multiplicatius següents\n" "(prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000,\n" "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, " "Y.\n" # Ambdues usen quote(). ivb #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "la cadena de tipus no és vàlida: %s" # Usa quote(). ivb #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un tipus " "enter de %lu octets" # Usa quote(). ivb #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un tipus " "de coma flotant de %lu octets" # Usa quote() en la segona. ivb #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "el caràcter «%c» de la cadena de tipus %s no és vàlid" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "no es pot saltar més enllà del final de l’entrada combinada" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "la base «%c» del desplaçament no és vàlida; ha de ser un caràcter de [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "no es pot especificar cap tipus quan es transcriuen cadenes" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "El mode de compatibilitat permet com a màxim un fitxer." # Són noms d'opcions. ivb #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "«skip-bytes» + «read-bytes» és massa gran" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "atenció: l’amplada %lu no és vàlida; s’emprarà %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: el senyal no és vàlid" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "l’entrada estàndard està tancada" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escriu línies consistents en les línies corresponents seqüencialment de " "cada\n" "FITXER, separades per caràcters de tabulació, a la sortida estàndard. " "Sense\n" "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LLISTA\n" " Empra els caràcters de la LLISTA, en lloc de\n" " tabulacions.\n" " -s, --serial Processa cada fitxer de cop, i no en paraÅ€lel.\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "la llista de delimitadors acaba en una barra invertida sense escapada: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Comprova la validesa o portabilitat de cada NOM de fitxer.\n" "\n" " -p Prova amb la majoria de sistemes POSIX.\n" " -P Comprova els noms buits o que comencen per «-».\n" " --portability Prova amb tots els sistemes POSIX (equival a «-p -" "P»).\n" # Usa quote(). ivb #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "un dels components del nom de fitxer %s comença per «-»" # Usa quote() en els 2. ivb #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "el nom de fitxer %2$s conté el caràcter no portable %1$s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "el nom de fitxer és buit" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: no s’ha pogut determinar la longitud màxima dels noms de fitxer" # Usa quote(). ivb #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "s’ha excedit el límit %lu per la longitud %lu del nom de fitxer %s" # Usa quote(). ivb #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "s’ha excedit el límit %lu per la longitud %lu del component de nom de fitxer " "%s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" # FIXME: This way of arranging output is language dependent. ivb #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Nom d’entrada: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "A la vida real: " # Un nom real desconegut. ivb #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Directori: " # Compensa els 3 caràcters que «Nom d'entrada» desplaça «A la vida real». ivb #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr " Intèrpret d’ordres: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projecte: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Pla:\n" # FIXME: This way of arranging output is language dependent. ivb # No es passa de 8, ok. ivb #: src/pinky.c:405 msgid "Login" msgstr "Entrada" #: src/pinky.c:407 msgid "Name" msgstr "Nom" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" # Hauria de ser «Inactiu», però té més de 6 caràcters. ivb #: src/pinky.c:410 msgid "Idle" msgstr "Ociós" #: src/pinky.c:411 msgid "When" msgstr "Quan" #: src/pinky.c:414 msgid "Where" msgstr "On" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Forma d’ús: %s [OPCIÓ]… [USUARI]…\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l Genera una eixida amb format llarg per cada USUARI.\n" " -b Omet el directori personal i intèrpret de l’usuari " "al\n" " format llarg.\n" " -h Omet el fitxer de projecte de l’usuari al format " "llarg.\n" " -p Omet el fitxer de pla de l’usuari al format llarg.\n" " -s Genera una eixida amb format curt (per defecte).\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f Omet la línia de capçaleres de columna al format " "curt.\n" " -w Omet el nom complet de l’usuari al format curt.\n" " -i Omet el nom complet i l’estació remota de l’usuari " "al\n" " format curt.\n" " -q Omet el nom complet, l’estació remota i el temps\n" " d’inactivitat (ociós) al format curt.\n" # No usa quote(). ivb #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Un programa de «finger» lleuger; mostra informació sobre els usuaris. El\n" "fitxer «utmp» serà «%s».\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "no s’ha indicat cap nom d’usuari; n’heu d’indicar almenys un si empreu «-l»" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "--pages=PRIM_PÀG[:ÚLT_PÀG]: manca un argument" # Usa quote(). ivb #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "el rang de pàgines no és vàlid: %s" # Usa quote(). ivb #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "-l LLARG_PÀG: el nombre de línies no és vàlid: %s" # Usa quote(). ivb #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "-N NÚMERO: el número inicial de línia no és vàlid: %s" # Usa quote(). ivb #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "-o MARGE: el desplaçament de línia no és vàlid: %s" # Usa quote(). ivb #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "-w AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s" # Usa quote(). ivb #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "-W AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "no es pot especificar el nombre de columnes quan s’imprimeix en paraÅ€lel" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "no es pot especificar impressió en paraÅ€lel i de través alhora" # Usa quote() en la segona. ivb #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "-%c: sobren caràcters o el número de l’argument no és vàlid: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "l’amplada de pàgina és insuficient" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "el número de pàgina inicial %<PRIuMAX> excedeix el comptador de pàgines " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "el comptador de pàgines s’ha desbordat" # Açò és el text per a numerar les pàgines. ivb #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Pàgina %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Arranja el(s) FITXER(s) en pàgines o columnes per a imprimir.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +PRIM_PÀG[:ÚLT_PÀG], --pages=PRIM_PÀG[:ÚLT_PÀG] \n" " Comença [i acaba] la paginació en PRIM_PÀG [i " "ÚLT_PÀG].\n" " -COLUMNES, --columns=COLUMNES\n" " Disposa el text en les COLUMNES indicades i les " "escriu\n" " en vertical, tret que especifiqueu «-a». Iguala el\n" " nombre de línies de les columnes de cada pàgina.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across Escriu les columnes de través en lloc de " "verticalment,\n" " emprat juntament amb -COLUMNES.\n" " -c, --show-control-chars\n" " Empra la notació «^G» i la notació de seqüència\n" " d’escapada en octal amb barra invertida.\n" " -d, --double-space Escriu el text amb espaiat doble.\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " Formata la data de la capçalera emprant aquest " "FORMAT.\n" " -e[CARÀCTER[NÚMERO]], --expand-tabs[=CARÀCTER[NÚMERO]]\n" " Converteix cada CARÀCTER de l’entrada en NÚMERO " "espais\n" " a l’eixida (per defecte CARÀCTER és la tabulació i\n" " NÚMERO és 8).\n" " -F, -f, --form-feed Empra un salt de pàgina, en lloc de caràcters de " "nova\n" " línia, per a separar cada pàgina (es separen amb una\n" " capçalera de 3 línies amb l’opció «-F»; amb 5 línies " "de\n" " capçalera i 5 de cua sense «-F»).\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=CAPÇALERA\n" " Escriu una CAPÇALERA centrada de pàgina, en lloc del\n" " nom del fitxer; «-h \"\"» escriu una línia en blanc, " "no\n" " empreu «-h\"\"».\n" " -i[CARÀCTER[NÚMERO], --output-tabs[=CARÀCTER[NÚMERO]]\n" " Converteix cada grup de NÚMERO espais consecutius de\n" " l’entrada en un CARÀCTER a l’eixida (per defecte\n" " CARÀCTER és la tabulació i NÚMERO és 8).\n" " -J, --join-lines Ajunta les línies senceres, inhabilita el truncament " "de\n" " línies de l’opció «-W», no hi ha alineament de " "columna,\n" " i «--sep-string[=CADENA]» defineix els separadors.\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=LLARG_PÀG\n" " Defineix la llargada de pàgina en LLARG_PÀG (66) " "línies\n" " (per defecte hi ha 56 línies de text, 63 amb «-F»).\n" " -m, --merge Escriu els fitxers en paraÅ€lel, un en cada columna,\n" " amb truncament de línies, però ajuntant les que " "ocupen\n" " una línia sencera si s’empra l’opció «-J».\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEPARADOR[DÃGITS]], --number-lines[=SEPARADOR[DÃGITS]]\n" " Numera les línies emprant DÃGITS dígits i un " "SEPARADOR\n" " a continuació, comptant per defecte des de la 1a " "línia\n" " del text (per defecte SEPARADOR és la tabulació i\n" " DÃGITS és 5).\n" " -N, --first-line-number=NÚMERO\n" " Comença la numeració amb NÚMERO a la 1a línia de la\n" " primera pàgina escrita (vegeu «+PRIM_PÀG»).\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGE Desplaça cada línia MARGE espais, sense afectar les\n" " opcions «-w» o «-W» en ús; el MARGE s’afegeix a\n" " AMPLADA_PÀG (per defecte MARGE és 0).\n" " -r, --no-file-warnings\n" " No avisa quan un fitxer no es pot obrir.\n" # Aaalaaa, ni punts ni res! ivb #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CARÀCTER], --separator[=CARÀCTER]\n" " Separa les columnes amb un únic CARÀCTER; aquest és " "per\n" " defecte una tabulació si no s’empra «-w» i cap " "caràcter\n" " quan s’empra «-w». «-s[CARÀCTER]» inhabilita el\n" " truncament de línia de totes les opcions de columna\n" " («-COLUMNES», «-a -COLUMNES» i «-m») tret que\n" " especifiqueu «-w».\n" # Eeeeinnn?? Beneït info! ivb #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S, --sep-string[=CADENA]\n" " Separa les columnes amb aquesta CADENA; si no " "s’empra\n" " «-S» i sí s’empra «-J» el separador per defecte és " "la\n" " tabulació, altrament és l’espai (equival a «-S\" " "\"»).\n" " Aquesta opció no té efecte sobre les opcions de\n" " columna.\n" " -t, --omit-header Omet les capçaleres i cues de pàgina.\n" # FIXME: suggest using `just take a look at info, man!' for some option descriptions. ivb # revisar l'opció -w # Hau! ivb #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination Omet les capçaleres i cues de pàgina, i elimina\n" " tota paginació amb salts de pàgina que es trobe als\n" " fitxers de l’entrada.\n" " -v, --show-nonprinting\n" " Empra la notació de seqüència d’escapada en octal " "amb\n" " barra invertida.\n" " -w, --width=AMPLADA_PÀG\n" " Defineix l’amplada de pàgina a AMPLADA_PÀG caràcters\n" " només per a la paginació per columnes (per defecte\n" " AMPLADA_PÀG és 72); l’opció «-s[CARÀCTER]» " "inhabilita\n" " l’amplada de pàgina per defecte.\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=AMPLADA_PÀG\n" " Defineix l’amplada de pàgina a AMPLADA_PÀG caràcters\n" " sempre (per defecte AMPLADA_PÀG és 72), truncant les\n" " línies excepte si empreu l’opció «-J»; no " "interfereix\n" " amb les opcions «-S» o «-s».\n" # Acaba pr i encara estic viu! Vaig a prendre una aspirina... ivb #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "L’opció «-t» és implícita quan LLARG_PÀG és menor o igual que 10. Sense\n" "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [VARIABLE]…\n" "Mostra els valors de cada VARIABLE d’entorn especificada. Si no se\n" "n’especifica cap, mostra totes les variables d’entorn junt als seus valors.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null Acaba cada línia d’eixida amb un octet 0 en lloc " "d’un\n" " caràcter de nova línia.\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "avís: %s: s’han descartat els caràcters que segueixen la constant caràcter" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s FORMAT [ARGUMENT]…\n" " o bé: %s OPCIÓ\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Mostra cada ARGUMENT seguint el FORMAT indicat, o s’executa d’acord amb\n" "l’OPCIÓ indicada.\n" "\n" # El més llarg és «UHHHHHHHH». ivb #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT controla l’eixida com fa printf() en C. S’interpreten les " "seqüències:\n" "\n" " \\\" Cometes dobles.\n" # El més llarg és «UHHHHHHHH». ivb #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN Octet amb valor octal NNN (d’1 a 3 dígits).\n" " \\xHH Octet amb valor hexadecimal HH (d’1 a 2 dígits).\n" " \\uHHHH Caràcter Unicode (ISO/IEC 10646) amb valor hexadecimal " "HHHH\n" " (4 dígits).\n" " \\UHHHHHHHH Caràcter Unicode amb valor hexadecimal HHHHHHHH (8 " "dígits).\n" # El més llarg és «UHHHHHHHH». ivb #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% Un sol «%».\n" " %b L’ARGUMENT com a una cadena on s’interpreten les seqüències\n" " d’escapada amb barra invertida; tanmateix, les seqüències\n" " d’escapada octals hi tenen la forma «\\0» o «\\0NNN».\n" "\n" "i totes les especificacions de format C que acaben en un dels caràcters\n" "«diouxXfeEgGcs», on cada ARGUMENT serà convertit al tipus adequat. " "S’admeten\n" "les amplàries variables.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: cal un valor numèric" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: no s’ha convertit completament el valor" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "manca un número hexadecimal a la seqüència d’escapada" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "el nom de caràcter universal «\\%c%0*x» no és vàlid" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "l’amplària de camp no és vàlida: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "la precisió no és vàlida: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: l’especifiació de conversió no és vàlida" # Usa quote(). ivb #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "avís: es descarten els arguments sobrants, començant per %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" # La primera és un missatge d'error. ivb # Usa quote() en la segona. ivb #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (a l’expressió regular %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [ENTRADA]… (sense «-G»)\n" " o bé: %s -G [OPCIÓ]… [ENTRADA [SORTIDA]]\n" # Escriu les paraules del text seguides, començant cada colta per una. ivb #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Escriu un índex permutat, incloent el context, amb les paraules dels " "fitxers\n" "que formen l’entrada.\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference Escriu les referències generades automàticament.\n" " -G, --traditional Es comporta com el «ptx» de System V.\n" " -F, --flag-truncation=CADENA\n" " Empra la CADENA per a senyalar els truncaments de\n" " línia.\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=CADENA\n" " Nom del macro a emprar en lloc de «xx».\n" " -O, --format=roff Genera la sortida com a directives de «roff».\n" " -R, --right-side-refs Posa les referències a la dreta, i «-w» no les " "té\n" " en compte.\n" " -S, --sentence-regexp=EXPREG\n" " Identifica els finals de línia o de frase fent " "servir\n" " l’expressió regular indicada.\n" " -T, --format=tex Genera la sortida com a directives de TeX.\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=EXPREG\n" " Identifica les paraules clau fent servir l’expressió\n" " regular idicada.\n" " -b, --break-file=FITXER\n" " El FITXER conté els caràcters separadors de les\n" " paraules clau.\n" " -f, --ignore-case Passa a majúscules per a ordenar.\n" " -g, --gap-size=NÚMERO Mida (en columnes) de la separació entre els " "camps\n" " de la sortida.\n" " -i, --ignore-file=FITXER\n" " El FITXER conté una llista de paraules que mai seran\n" " preses com a paraules clau.\n" " -o, --only-file=FITXER\n" " El FITXER conté una llista de les úniques paraules " "que\n" " seran preses com a paraules clau.\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references Pren el primer camp de cada línia com a una " "referència.\n" " -t, --typeset-mode (No es troba implementada.)\n" " -w, --width=NÚMERO Amplada (en columnes) de la sortida (excloentâ€ne la\n" " referència).\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Sense cap FITXER o si FITXER és «-», llegeix l’entrada estàndard. Per " "defecte\n" "s’empra «-F /».\n" # Usa quote(). ivb #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "la mida de la separació no és vàlida: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Mostra el nom de fitxer complet del directori de treball actual.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical Empra la variable d’entorn PWD, encara que continga\n" " enllaços simbòlics.\n" " -P, --physical Evita els enllaços simbòlics.\n" # Usa quote(). ivb #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "no s’ha pogut canviar al directori %s" # Usa quote(). ivb #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "ha fallat stat() sobre %s" # Usa quote(). ivb #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "no s’ha pogut trobar una entrada de directori en %s amb un node índex " "coincident" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "es descarten els arguments noâ€opció" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Forma d’ús: %s [OPCIÓ]… FITXER…\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Mostra el valor d’un enllaç simbòlic o el nom canònic d’un fitxer.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize Prova de trobar el nom canònic seguint " "recursivament\n" " cada enllaç simbòlic de cada component del camí\n" " indicat; cal que existesquen tots els components del\n" " camí excepte el darrer.\n" " -e, --canonicalize-existing\n" " Prova de trobar el nom canònic seguint recursivament\n" " cada enllaç simbòlic de cada component del camí\n" " indicat; cal que existesquen tots els components del\n" " camí.\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing\n" " Prova de trobar el nom canònic seguint recursivament\n" " cada enllaç simbòlic de cada component del camí\n" " indicat; no cal que existesquen els components del\n" " camí.\n" " -n, --no-newline No escriu un caràcter de nova línia al final.\n" " -q, --quiet,\n" " -s, --silent No mostra la majoria de missatges d’error.\n" " -v, --verbose Mostra els missatges d’error.\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "es descarten els arguments noâ€opció" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Mostra el nom absolut resolt de cada FITXER; tots els seus components " "excepte\n" "l’últim han d’existir.\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing\n" " Comprova que tots els components del camí " "existeixen.\n" " -m, --canonicalize-missing\n" " No comprova que tots els components del camí\n" " existeixen.\n" " -L, --logical Resol els components «..» abans que els enllaços\n" " simbòlics.\n" " -P, --physical Resol els enllaços simbòlics segons es van trobant " "(per\n" " defecte).\n" " -q, --quiet No mostra la majoria de missatges d’error.\n" " --relative-to=FITXER\n" " Mostra els camins resolts en relació al FITXER.\n" " --relative-base=FITXER\n" " Mostra camins absoluts excepte si es troben sota el\n" " FITXER.\n" " -s, --strip, --no-symlinks\n" " No resol els enllaços simbòlics.\n" " -z, --zero Escriu un octet 0 en lloc de cada caràcter de nova\n" " línia per a separar els resultats.\n" # Condició d’error. ivb #: src/relpath.c:130 msgid "generating relative path" msgstr "en generar el camí relatiu" # Usa quote(9. ivb #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: voleu descendir al directori protegit contra escriptura %s? " # Usa quote(). ivb #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: voleu descendir al directori %s? " # FIXME: Language-dependent. ivb # Usa quote() en els 2 args. ivb #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: voleu eliminar el %s protegit contra escriptura %s? " # FIXME: Language-dependent. ivb # Usa quote() en els 2 args. ivb #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: voleu eliminar el %s %s? " # Els 2 usen quote(). ivb # Missatge informatiu. ivb #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "s’ha eliminat el directori: %s\n" # Usa quote(). ivb # Es refereix a ``.`` i ``..``, que no es poden eliminar mail. ivb #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "no es pot eliminar el directori %s" # Usa quote(). ivb #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "es salta %s perquè es troba en un altre dispositiu" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "no s’ha pogut recórrer: %s" # L’últim és una adreça de correu. ivb #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "error inesperat: fts_info=%d: %s\n" "Per favor, informeu %s." # La tercera usa quote(). ivb #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Proveu amb «%s ./%s» per a eliminar el fitxer %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Elimina (deslliga) cada FITXER.\n" "\n" " -f, --force Descarta els fitxers i arguments inexistents, i mai " "no\n" " pregunta.\n" " -i Pregunta abans de cada eliminació.\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I Pregunta una volta abans d’eliminar més de tres\n" " fitxers, en eliminar recursivament. No tan molesta " "com\n" " «-i», continua protegint contra la majoria dels " "errors.\n" " --interactive[=QUAN]\n" " Pregunta d’acord amb el QUAN, que pot ser «never»,\n" " «once» o «always» (mai, una volta com a «-I» o " "sempre\n" " com a «-i»). Si no s’indica, pregunta sempre.\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system En eliminar una jerarquia recursivament, evita " "els\n" " directoris que estan en un sistema de fitxers " "diferent\n" " al de l’argument corresponent de la línia d’ordres.\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root\n" " No tracta «/» de forma especial.\n" " --preserve-root No elimina «/» (per defecte).\n" " -r, -R, --recursive Elimina recursivament els directoris i llurs\n" " continguts.\n" " -d, --dir Elimina els directoris buits.\n" " -v, --verbose Explica què s’està fent.\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Per defecte, «rm» no elimina els directoris. Empreu l’opció «--recursive»\n" "(«-r» o «-R») per a eliminar també cadascun dels directoris llistats,\n" "juntament amb el seu contingut.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Per a eliminar un fitxer amb un nom que comence per «-», per exemple «-" "mec»,\n" "empreu una d’aquestes ordres:\n" "\n" " %s -- -mec\n" " %s ./-mec\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Teniu en compte que si empreu «rm» per a eliminar un fitxer, podria ser\n" "possible recuperarâ€ne alguns dels continguts, comptant amb l’experiència o " "el\n" "temps suficients. Si voleu estar més segurs de que els continguts " "esdevinguen\n" "realment irrecuperables, considereu emprar «shred».\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: voleu eliminar tots els arguments recursivament? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: voleu eliminar tots els arguments? " # Cap dels 2 usa quote(). ivb # Missatge informatiu. ivb #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "s’està eliminant el directori «%s»" # Usa quote(). ivb #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "no s’ha pogut eliminar el directori %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Elimina cada DIRECTORI, si es troba buit.\n" "\n" " --ignore-fail-on-non-empty\n" " No té en compte els errors originats només perquè un\n" " directori no es troba buit.\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents Elimina el DIRECTORI i els seus ascendents. Per\n" " exemple, l’ordre «rmdir -p a/b/c» és similar a " "l’ordre\n" " «rmdir a/b/c a/b a».\n" " -v, --verbose Mostra un missatge per cada directori processat.\n" # Usa quote(). ivb #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "no s’ha pogut eliminar %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Forma d’ús: %s CONTEXT ORDRE [ARG…]\n" " o bé: %s [-c] [-u USUARI] [-r ROL] [-t TIPUS] [-l RANG] ORDRE [ARG…]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" # (process transition) context ivb #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Executa una ORDRE sota un context de seguretat diferent. Si no s’indica un\n" "CONTEXT ni una ORDRE, mostra el context de seguretat actual.\n" "\n" " CONTEXT El nou context de seguritat complet.\n" " -c, --compute Calcula el context de transició entre processos " "abans\n" " de modificarâ€lo.\n" " -t, --type=TIPUS Nou TIPUS (per al mateix rol que el pare).\n" " -u, --user=USUARI Nova identitat d’USUARI.\n" " -r, --role=ROL Nou ROL.\n" " -l, --range=RANG Nou RANG de nivells.\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "s’han especificat múltiples rols" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "s’han especificat múltiples tipus" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "s’han especificat múltiples usuaris" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "s’han especificat múltiples rangs de nivells" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "no s’ha pogut obtenir el context actual" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" "cal que empreu les opcions «-c», «-t», «-u», «-l», «-r» o que especifiqueu " "un context" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "no s’ha especificat cap ordre" # No usa quote(). ivb #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "només podeu executar «%s» sota un nucli amb SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "no s’ha pogut calcular un nou context" # No usa quote(). ivb #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "no s’ha pogut establir el nou usuari «%s»" # No usa quote(). ivb #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "no s’ha pogut establir el nou tipus «%s»" # No usa quote(). ivb #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "no s’ha pogut establir el nou rang «%s»" # No usa quote(). ivb #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "no s’ha pogut establir el nou rol «%s»" # No usa quote(). ivb #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "no s’ha pogut establir el context de seguretat «%s»" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… DARRER\n" " o bé: %s [OPCIÓ]… PRIMER DARRER\n" " o bé: %s [OPCIÓ]… PRIMER INCREMENT DARRER\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Mostra els números del PRIMER al DARRER, amb pas INCREMENT.\n" "\n" " -f, --format=FORMAT Empra el FORMAT indicat de coma flotat d’estil\n" " printf().\n" " -s, --separator=CADENA Empra aquesta CADENA per a separar els números\n" " (per defecte «\\n»).\n" " -w, --equal-width Iguala l’amplària reomplint amb zeros al davant.\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Si s’omet PRIMER o INCREMENT, es pren 1 per defecte. És a dir, un " "INCREMENT\n" "omés pren un valor per defecte d’1, fins i tot quan DARRER és menor que\n" "PRIMER. PRIMER, INCREMENT i DARRER s’interpreten com a números reals en " "coma\n" "flotant. INCREMENT sol ser positiu si PRIMER és menor que DARRER, i sol " "ser\n" "negatiu si PRIMER és major que DARRER.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "El FORMAT ha de ser adequat per a imprimir un argument de tipus «double»; " "per\n" "defecte val «%.PRECISIÓf» si el PRIMER, INCREMENT i DARRER valors són tots\n" "números decimals de coma fixa amb una PRECISIÓ màxima, «%g» en cas " "contrari.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "l’argument de coma flotant no és vàlid: «%s»" # Usa quote() en la 1a. ivb #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "el format %s té una directiva «%%%c» desconeguda" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "no s’ha d’indicar una cadena de format quan s’empren amplàries igualades" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Forma d’ús: %s [OPCIÓ_CURTA]… USUARI ORDRE [ARGUMENT]…\n" " o bé: %s OPCIÓ_LLARGA\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Abandona els grups suplementaris, assumeix els identificadors d’usuari i " "grup\n" "de l’USUARI indicat (per número o per nom), i executa l’ORDRE amb els\n" "ARGUMENTs especificats. Ix amb codi 111 si no pot assumir els " "identificadors\n" "d’usuari o grup requerits. En cas contrari ix amb el codi d’eixida de\n" "l’ORDRE. Aquest programa només és d’utilitat quan l’executa root (que té\n" "identificador d’usuari 0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID,[GID1,GID2…] Estableix també el grup primari al GID numèric i, " "si\n" " s’indiquen, els grups suplementaris a GID1, GID2…\n" # Usa quote(). ivb #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "l’identificador d’usuari no és conegut: %s" # Usa quote(). ivb #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "per a emprar l’identificador d’usuari %s també heu d’emprar l’opció «-g»" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "no s’han pogut establir els grups suplementaris" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "no s’ha pogut establir l’identificador de grup a %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "no s’ha pogut establir l’identificador d’usuari %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Sobreescriu cada FITER repetidament, per tal de fer més difícil recuperar " "les\n" "dades, fins i tot per sondejos de maquinari molt cars.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force Canvia, si cal, els permisos per a permetre\n" " l’escriptura.\n" " -n, --iterations=N Sobreescriu N voltes en lloc del nombre per defecte\n" " (%d).\n" " --random-source=FITXER\n" " Obté octets aleatoris del FITXER.\n" " -s, --size=N Sobreescriu aquest nombre d’octets (s’accepten " "sufixos\n" " com «K», «M» i «G»).\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove Trunca i elimina el fitxer després de " "sobreescriure’l.\n" " -v, --verbose Mostra com progressa el procés.\n" " -x, --exact No arrodoneix les mides de fitxer al següent bloc\n" " complet; aquest és el comportament per defecte per " "als\n" " fitxers no ordinaris.\n" " -z, --zero Afegeix una passada final de sobreescriptura amb " "zeros\n" " per amagar la destrucció de les dades.\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Si el FITXER és «-», sobreescriu l’eixida estàndard.\n" "\n" "Si s’especifica «--remove» (-u) s’elimina cada FITXER. Per defecte no\n" "s’eliminen aquests perquè és comú operar sobre fitxers dispositiu com\n" "«/dev/hda», i normalment aquests fitxers no s’haurien d’eliminar. Quan\n" "s’opera sobre fitxers ordinaris la majoria de la gent empra l’opció\n" "«--remove».\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "COMPTE: Teniu en compte que «shred» confia en una assumpció molt important:\n" "que el sistema de fitxers sobreescriu les dades al mateix lloc. Aquesta és " "la\n" "foma tradicional de fer les coses, però molts sistemes de fitxers moderns " "no\n" "satisfan aquesta assumpció. Aquests són exemples de sistemes de fitxers " "sobre\n" "els quals «shred» no és efectiu, o no garanteix l’efectivitat a tots els " "modes\n" "del sistema de fitxers:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* Sistemes de fitxers transaccionals o que empren diari, com els que es " "troben\n" " en AIX i Solaris (i JFS, ReiserFS, XFS, Ext3, etc.).\n" "\n" "* Sistemes de fitxers que escriuen dades redundants i continuen fins i tot " "en\n" " fallar algunes escriptures, com els sistemes de fitxers basats en RAID.\n" "\n" "* Sistemes de fitxers que creen instantànies, com el servidor NFS de " "Network\n" " Appliances.\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* Sistemes de fitxers que empren ubicacions temporals com a memòria cau\n" " (cache), com els clients d’NFS versió 3.\n" "\n" "* Sistemes de fitxers amb compressió.\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "La nota anterior també és aplicable (i per tant «shred» hi té una " "efectivitat\n" "limitada) al cas dels sistemes de fitxers Ext3 muntats en mode " "«data=journal»,\n" "que no només empra el diari per a les metadades, sinò també per a les " "dades.\n" "Als modes «data=ordered» (mode per defecte) i «data=writeback», «shred»\n" "funciona normalment. Podeu canviar el mode de diari d’un sistema de " "fitxers\n" "Ext3 afegint l’opció «data=MODE» a les seues opcions de muntatge al fitxer\n" "«/etc/fstab», com s’indica al manual de «mount» (executeu «man mount»).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "A més a més, les còpies de seguretat i les rèpliques remotes dels sistemes " "de\n" "fitxers poden contenir còpies del fitxer que no poden ser eliminades, i que\n" "podrien permetre recuperar més endavant el fitxer destruït.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: ha fallat fdatasync()" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: ha fallat fsync()" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: no s’ha pogut rebobinar" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: passada %lu/%lu (%s)…" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: error en escriure al desplaçament %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: ha fallat lseek()" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: el fitxer és massa gran" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: passada %lu/%lu (%s)…%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: passada %lu/%lu (%s)…%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: ha fallat fstat()" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: el tipus del fitxer no és vàlid" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: el fitxer té una mida negativa" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: error en truncar" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: ha fallat fcntl()" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: no es pot destruir el fitxer d’un descriptor obert només per afegir" # Missatge informatiu, es refereix al nom, no a les dades. ivb #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: inici de l’eliminació" # No usa quote(). ivb #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: s’ha reanomenat a «%s»" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: no s’ha pogut eliminar" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: ha estat eliminat" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: no s’ha pogut tancar" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: no s’ha pogut obrir per a escriure" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: el nombre de passades no és vàlid" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "s’han especificat múltiples fonts d’aleatorietat" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: la mida del fitxer no és vàlida" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Forma d’ús: %s [OPCIÓ]… [FITXER]\n" " o bé: %s -e [OPCIÓ]… [ARGUMENT]…\n" " o bé: %s -i INF-SUP [OPCIÓ]…\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Escriu una permutació aleatòria de les línies d’entrada a l’eixida " "estàndard.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo Tracta cada argument com a una línia d’entrada.\n" " -i, --input-range=INF-SUP\n" " Tracta cada número des d’INF fins a SUP com a una " "línia\n" " d’entrada.\n" " -n, --head-count=LÃNIES\n" " Escriu com a molt tantes LÃNIES com s’indica.\n" " -o, --output=FITXER Escriu el resultat al FITXER en lloc de l’eixida\n" " estàndard.\n" " --random-source=FITXER\n" " Obté octets aleatoris del FITXER.\n" " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " "nova\n" " línia.\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "s’han especificat múltiples opcions «-i»" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "el rang d’entrada no és vàlid: %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "el nombre de línies no és vàlid: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "s’han especificat múltiples fitxers d’eixida" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Forma d’ús: %s NÚMERO[SUFIX]…\n" " o bé: %s OPCIÓ\n" "Fa una pausa per NÚMERO segons. SUFIX pot ser «s» per a segons (per " "defecte),\n" "«m» per a minuts, «h» per a hores o «d» per a dies. Al contrari que la\n" "majoria de les implementacions, que requereixen que NÚMERO siga un enter, " "ací\n" "NÚMERO pot ser un número real en coma flotant qualsevol. Si s’indiquen\n" "diversos arguments, la pausa dura el temps resultant de sumarâ€ne els " "valors.\n" "\n" # Usa quote(). ivb #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "l’interval de temps %s no és vàlid" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "no s’ha pogut llegir el rellotge de temps real" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Escriu la concatenació ordenada de tots els FITXERs a la sortida estàndard.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Opcions d’ordenació:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks\n" " No té en compte els espais en blanc inicials.\n" " -d, --dictionary-order\n" " Només té en compte els espais en blanc i els " "caràcters\n" " alfanumèrics.\n" " -f, --ignore-case Converteix a majúscules.\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort\n" " Ordena segons el valor numèric general.\n" " -i, --ignore-nonprinting\n" " Només té en compte els caràcters imprimibles.\n" " -M, --month-sort Ordena per mesos en anglés:\n" " (desconegut) < JAN < … < DEC.\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort\n" " Compara números en format llegible per als humans\n" " (p.ex. «2K» i «1G»).\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort Ordena segons el valor numèric de la cadena.\n" " -R, --random-sort Ordena de forma aleatòria.\n" " --random-source=FITXER\n" " Obté octets aleatoris del FITXER.\n" " -r, --reverse Inverteix el resultat de l’ordenació.\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=PARAULA Ordena d’acord amb la PARAULA (equival a l’opció " "entre\n" " parèntesis): numèric general amb «general-numeric»\n" " (-g), numèric humà amb «human-numeric» (-h), mes amb\n" " «month» (-M), numèric amb «numeric» (-n), aleatori " "amb\n" " «random» (-R).\n" " -V, --version-sort Ordena pel número (de versió) inclós al nom.\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Altres opcions:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMESCLA Mescla com a molt NMESCLA entrades alhora; per " "a\n" " mesclarâ€ne més empra fitxers temporals.\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first\n" " Comprova si l’entrada està ordenada; no ordena.\n" " -C, --check=quiet, --check=silent\n" " Com «-c», però no informa de si la primera línia es\n" " troba fora d’ordre.\n" " --compress-program=PROGRAMA\n" " Comprimeix els fitxers temporals amb el PROGRAMA,\n" " els descomprimeix amb «PROGRAMA -d».\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug Marca la part de la línia emprada per a ordenar, i\n" " avisa d’usos qüestionables a l’eixida estàndard\n" " d’errors.\n" " --files0-from=FITXER\n" " Llegeix l’entrada dels fitxers els noms dels quals " "es\n" " troben llistats al FITXER, acabats pel caràcter NUL.\n" " Si el FITXER és «-», llegeix els noms de l’entrada\n" " estàndard.\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=DEF_CLAU Ordena d’acord amb una clau; DEF_CLAU n’indica la\n" " ubicació i el tipus.\n" " -m, --merge Mescla fitxers prèviament ordenats; no ordena.\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FITXER Escriu el resultat al FITXER i no a l’eixida\n" " estàndard.\n" " -s, --stable Dóna per acabada cada ordenació sense passar per la\n" " comparació emprada com a darrer recurs.\n" " -S, --buffer-size=MIDA\n" " Defineix la MIDA de la memòria intermèdia principal.\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP\n" " Empra SEP com a separador de camp, en lloc de la\n" " transició de caràcter no blanc a blanc.\n" " -T, --temporary-directory=DIR\n" " Empra DIR com a directori temporal, en lloc de " "$TMPDIR\n" " o «%s»; se’n poden indicar més repetint l’opció.\n" " --parallel=N Estableix el nombre d’ordenacions concurrents a N.\n" " -u, --unique Amb «-c», comprova que l’ordenació és estricta; en " "cas\n" " contrari només escriu la primera d’aquelles entrades\n" " que resulten iguals.\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " "nova\n" " línia.\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "DEF_CLAU indica les posicions d’inici i fi de la clau com a\n" "F[.C][OPCS][,F[.C][OPCS]], on F és un número de camp i C una posició de\n" "caràcter al camp, ambdues comptant des d’1. Si no s’indica «-t» ni «-b», " "els\n" "caràcters d’un camp es compten des de l’inici de l’espai en blanc que el\n" "precedeix. OPCS és una o més de les opcions d’ordenació «bdfgiMhnRrV», " "d’una\n" "única lletra, que tenen preferència sobre les opcions globals d’ordenació " "per\n" "a aquesta clau. Si no s’indica cap clau, s’empra la línia sencera com a " "clau.\n" "\n" "La MIDA pot anar seguida pels següents sufixs multiplicadors:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% de memòria, b 1, K 1024 (per defecte), i així per a M, G, T, P, E, Z, " "Y.\n" "\n" "Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" "\n" "*** AVÃS ***\n" "El locale especificat a l’entorn afecta l’ordenació. Establiu LC_ALL a «C»\n" "per a obtenir l’ordenació tradicional que empra el valor numèric dels\n" "caràcters.\n" # No usa quote() (afortunadament). ivb # Condició d'error. ivb #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "en esperar la finalització de «%s [-d]»" # No usa quote() (afortunadament). ivb #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "«%s [-d]» ha finalitzat de forma anormal" # Usa quote(). ivb #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "no s’ha pogut crear un fitxer temporal a %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "no s’ha pogut obrir" #: src/sort.c:970 msgid "fflush failed" msgstr "ha fallat fflush()" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "no s’ha pogut tancar" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "ha fallat dup2()" # No usa quote(). ivb #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "no s’ha pogut executar «%s»" # Va seguit del nom del fitxer. ivb #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "no s’ha pogut crear el fitxer temporal" # No usa quote() (afortunadament). ivb #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "no s’ha pogut crear el procés «%s -d»" # No usa quote(). ivb #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "no s’ha pogut executar «%s -d»" # No usa quote(). ivb #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "avís: no s’ha pogut eliminar: %s" # La segona usa quote(). ivb #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "l’argument %2$s de l’opció «--%1$s» no és vàlid" # La segona usa quote(). ivb #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "l’argument mínim de l’opció «--%s» és %s" # La segona usa quote(). ivb #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "l’argument %2$s de l’opció «--%1$s» és massa gran" # Va darrere d’un error. ivb # La segona no usa quote(), però es un número. ivb #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" "l’argument màxim de l’opció «--%s» amb els límits actuals de recursos és %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "el nombre d’ordenacions concurrents ha de ser major que zero" #: src/sort.c:1494 msgid "stat failed" msgstr "ha fallat stat()" #: src/sort.c:1755 msgid "read failed" msgstr "no s’ha pogut llegir" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "ha fallat la transformació de la cadena" # Usa quote(). ivb #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "la cadena sense transformar era %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ no s’ha trobat la clau\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "la clau «%s» és obsoleta; considereu emprar «%s» al seu lloc" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "es descarta la clau %lu de longitud zero" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "els blancs inicials són significatius a la clau %lu; considereu indicar «-b»" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "la clau %lu és numèrica i comprén diversos camps" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "es descarta l’opció «-%s»" msgstr[1] "es descarten les opcions «-%s»" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "l’opció «-r» només afecta la comparació emprada com a darrer recurs" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "no s’ha pogut escriure" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: fora d’ordre: " #: src/sort.c:2786 msgid "standard error" msgstr "eixida estàndard d’errors" # Condició d’error, però imprecisa. ivb #: src/sort.c:3698 msgid "cannot read" msgstr "no es pot llegir" # Usa quote(). ivb #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: l’especifiació de camp no és vàlida: %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "les opcions «%s» no són compatibles" # Usa quote(). ivb #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: el comptador a l’inici de %s no és vàlid" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "el número després de «-» no és vàlid" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "el número després de «.» no és vàlid" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "l’especificació de camp conté un caràcter extraviat" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "s’han especificat múltiples programes de compressió" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "el número a l’inici del camp no és vàlid" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "el número de camp és zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "el desplaçament de caràcter és zero" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "el número després de «,» no és vàlid" # No és necessàriament una tabulació, ho diu info. ivb #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "el separador és buit" # Usa quote(). ivb #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "no s’han pogut llegir els noms de fitxer de %s" # Usa quote(). ivb #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: el nom buit de fitxer no és vàlid" # Usa quote(). ivb # Condició d'error. ivb #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "el fitxer d’entrada %s no conté dades" # Missatge informatiu. ivb # Usa quote(). ivb #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "s’estan emprant les regles d’ordenació de %s" # Missatge informatiu. ivb #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "s’està emprant la comparació directa d’octets" # Usa quote(). ivb #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "no es permet l’operand extra %s en emprar l’opció «-%c»" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "la longitud del sufix ha de ser almenys %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Forma d’ús: %s [OPCIÓ]… [ENTRADA [PREFIX]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Escriu trossos de mida fixa de l’ENTRADA en fitxers «PREFIXaa», «PREFIXab»…\n" "La mida per defecte és de 1000 línies, i el PREFIX per defecte és «x». " "Sense\n" "ENTRADA, o quan ENTRADA és «-», llegeix l’entrada estàndard.\n" "\n" # corregir l'opció -C # Ein? ivb #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N Genera sufixs de longitud N (per defecte %d).\n" " --additional-suffix=SUFIX\n" " Afegeix un SUFIX addicional als noms de fitxer.\n" " -b, --bytes=MIDA Escriu MIDA octets per fitxer.\n" " -C, --line-bytes=MIDA Escriu com a molt MIDA octets de línies senceres\n" " per cada fitxer d’eixida.\n" " -d, --numeric-suffixes[=INICI]\n" " Empra sufixs numèrics en lloc d’alfabètics, " "començant\n" " pel valor d’INICI indicat (per defecte 0).\n" " -e, --elide-empty-files\n" " No genera fitmers d’eixida buits amb «-n».\n" " --filter=ORDRE Escriu a l’ORDRE de l’intèrpret indicada; el nom " "del\n" " fitxer es trobarà a $FILE.\n" " -l, --lines=NOMBRE Escriu aquest NOMBRE de línies per fitxer.\n" " -n, --number=TROSSOS Genera els TROSSOS com s’indica (vegeu a sota).\n" " -u, --unbuffered Còpia immediatament l’entrada a l’eixida en emprar\n" " «-n r/…».\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose Mostra un missatge abans d’obrir cada fitxer de\n" " sortida.\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "TROSSOS pot ser:\n" "\n" " N Divideix en N fitxers basantâ€se en la mida de l’entrada.\n" " K/N Escriu el Kâ€Ã¨ tros (d’un total d’N) a l’eixida estàndard.\n" " l/N Divideix en N fitxers sense partir cap línia.\n" " l/K/N Escriu el Kâ€Ã¨ tros (d’un total d’N) a l’eixida estàndard sense\n" " partir cap línia.\n" " r/N Com «l/N», però empra una distribució rotativa.\n" " r/K/N El mateix, però només escriu el Kâ€Ã¨ tros (d’un total d’N) a\n" " l’eixida estàndard.\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "s’han esgotat els sufixs per als fitxers de sortida" # Usa quote(). ivb # Missatge informatiu. ivb #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "s’està creant el fitxer %s\n" # Usa quote(). ivb #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s sobreescriuria l’entrada; s’avorta" # Usa quote(). ivb #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "no s’ha pogut establir la variable d’entorn FILE" # Missatge informatiu. ivb #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "s’està executant amb «FILE=%s»\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "no s’ha pogut crear la canonada" # És un missatge d'error. ivb #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "en tancar la canonada anterior" # Condició d'error. ivb #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "en tancar la canonada d’eixida" # Condició d'error. ivb #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "en moure la canonada d’entrada" # Condició d'error. ivb #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "en tancar la canonada d’entrada" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "no s’ha pogut executar l’ordre «%s -c %s»" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "no s’ha pogut tancar la canonada d’entrada" # Condició d'error. ivb #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "en esperar la finalització del procés fill" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "amb «FILE=%1$s», l’ordre «%3$s» ha rebut el senyal %2$s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "amb «FILE=%1$s», l’ordre «%3$s» ha eixit amb l’estat %2$d" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "l’estat d’eixida de l’ordre és desconegut (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "només es pot partir el fitxer d’una manera" # N de K/N. ivb #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: el nombre de trossos no és vàlid" # K de K/N. ivb #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: el número del tros no és vàlid" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: la longitud del sufix no és vàlida" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: el nombre d’octets no és vàlid" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: el nombre de línies no és vàlid" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "l’opció de nombre de línies «-%s%c…» és massa gran" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: el valor d’inici per als sufixs numèrics no és vàlid" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: la mida del bloc d’E/S no és vàlida" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "«--filter» no permet processar trossos escrits a l’eixida estàndard" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "el valor d’inici per als sufixs numèrics és massa gran per a la longitud del " "sufix" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: no s’ha pogut determinar la mida del fitxer" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" # Usa quote(). ivb #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "no s’ha pogut trobar el nom canònic de %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "avís: la seqüència d’escapada «\\%c» no és reconeguda" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: la directiva no és vàlida" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "avís: hi ha una barra invertida al final de la línia" # Usa quote(). ivb #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "no es pot indicar l’entrada estàndard (%s) en emprar el mode de sistema de " "fitxers" # Usa quote(). ivb #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "no s’ha pogut llegir la informació de sistema de fitxers de %s" # Indica la situació d'un missatge d'error. ivb #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "ha fallat stat() sobre l’entrada estàndard" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fitxer: «%n»\n" " ID: %-8i Longitud dels noms: %-7l Tipus: %T\n" " Mida del bloc: %-10s Mida del bloc fonamental: %S\n" " Blocs: Total: %-10b Lliures: %-10f Disponibles: %a\n" "Nodesâ€i: Total: %-10c Lliures: %d\n" # Alineat amb «Modificació:». ivb #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fitxer: %N\n" " Mida: %-10s\tBlocs: %-10b Bloc d’E/S: %-6o %F\n" # Alineat amb «Modificació:». ivb #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Dispositiu: %Dh/%dd\tNodeâ€i: %-10i Enllaços: %-5h Tipus: %t,%T\n" # Alineat amb «Modificació:». ivb #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr " Dispositiu: %Dh/%dd\tNodeâ€i: %-10i Enllaços: %h\n" # Alineat amb «Modificació:». ivb #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr " Accés: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G)\n" # Alineat amb «Modificació:». ivb #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr " Context: %C\n" # Alineat amb «Modificació:». ivb #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Accés: %x\n" "Modificació: %y\n" " Canvi: %z\n" " Naixement: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Mostra l’estat d’un fitxer o sistema de fitxers.\n" "\n" " -L, --dereference Segueix els enllaços simbòlics.\n" " -f, --file-system Mostra l’estat del sistema de fitxers en lloc de\n" " l’estat del fitxer.\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c, --format=FORMAT Empra el FORMAT especificat en lloc de l’emprat " "per\n" " defecte, i afegeix un caràcter de nova línia després " "de\n" " cada ús del FORMAT.\n" " --printf=FORMAT Com «--format», però interpreta les seqüències\n" " d’escapada amb barres invertides, i no afegeix un\n" " caràcter de nova línia al final. Si en voleu un,\n" " incloeu «\\n» al FORMAT.\n" " -t, --terse Mostra la informació de forma pelada.\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Seqüències de format vàlides per als fitxers (és a dir, sense\n" "«--file-system»):\n" "\n" " %a Permisos d’accés en octal.\n" " %A Permisos d’accés en un format llegible per als humans.\n" " %b Nombre de blocs reservats (vegeu «%B»).\n" " %B Mida en octets de cada bloc mostrat per «%b».\n" " %C Cadena de context de seguretat de SELinux.\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d Número del dispositiu en decimal.\n" " %D Número del dispositiu en hexadecimal.\n" " %f Mode en brut, en hexadecimal.\n" " %F Tipus del fitxer.\n" " %g Identificador del grup del propietari.\n" " %G Nom del grup del propietari.\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h Nombre d’enllaços forts.\n" " %i Número del node índex.\n" " %m Punt de muntatge.\n" " %n Nom del fitxer.\n" " %N Nom entrecometat del fitxer, o del fitxer apuntat al cas d’un " "enllaç\n" " simbòlic.\n" " %o Indicació de la mida òptima d’E/S.\n" " %s Mida total, en octets.\n" " %t Número major de dispositiu, en hexadecimal.\n" " %T Número menor de dispositiu, en hexadecimal.\n" # Indique «de les dades» i «del node índex», queda més clar. ivb #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u Identificador d’usuari del propietari.\n" " %U Nom d’usuari del propietari.\n" " %w Data de naixement del fitxer en format llegible per als humans, «-»\n" " si es desconeix.\n" " %W Data de naixement del fitxer en segons des de l’Època, «0» si es\n" " desconeix.\n" " %x Data del darrer accés en format llegible per als humans.\n" " %X Data del darrer accés en segons des de l’Època.\n" " %y Data de la darrera modificació de les dades en format llegible per " "als\n" " humans.\n" " %Y Data de la darrera modificació de les dades en segons des de " "l’Època.\n" " %z Data del darrer canvi al node índex en format llegible per als " "humans.\n" " %Z Data del darrer canvi al node índex en segons des de l’Època.\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Seqüències de format vàlides per als sistemes de fitxers:\n" "\n" " %a Nombre de blocs lliures disponibles per als usuaris normals.\n" " %b Nombre total de blocs de dades del sistema de fitxers.\n" " %c Nombre total de nodes índex del sistema de fitxers.\n" " %d Nombre de nodes índex lliures del sistema de fitxers.\n" " %f Nombre de blocs de dades lliures del sistema de fitxers.\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Identificador del sistema de fitxers en hexadecimal.\n" " %l Longitud màxima dels noms de fitxer.\n" " %n Nom del fitxer.\n" " %s Mida del bloc (per a transferències més ràpides).\n" " %S Mida del bloc fonamental (per a recomptes de blocs).\n" " %t Tipus del sistema de fitxers en hexadecimal.\n" " %T Tipus del sistema de fitxers en un format llegible per als humans.\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Forma d’ús: %s OPCIÓ… ORDRE\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Executa l’ORDRE tot ajustant la memòria intermèdia dels seus fluxos " "estàndard.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODE Ajusta la memòria intermèdia de l’entrada estàndard.\n" " -o, --output=MODE Ajusta la memòria intermèdia de l’eixida estàndard.\n" " -e, --error=MODE Ajusta la memòria intermèdia de l’eixida estàndard\n" " d’errors.\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Si el MODE és «L», el flux corresponent emprarà una memòria intermèdia " "basada\n" "en línies. Aquesta opció no és vàlida per a l’entrada estàndard.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Si el MODE és «0», el flux corresponent no emprarà memòria intermèdia.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Altrament, MODE és un número que pot anar seguit per un dels sufixos " "següents:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, i així per a G, T, P, E, Z, Y. " "En\n" "aquest cas el flux corresponent emprarà la mida de memòria intermèdia " "indicada\n" "pel MODE en octets.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "NOTA: Si l’ORDRE ajusta la memòria intermèdia dels seus fluxos estàndard " "(com\n" "fa «tee»), es descartaran els canvis realitzats per «stdbuf». A banda, " "alguns\n" "filtres (com «dd» i «cat») no empren fluxos d’E/S, i no es veuen afectats " "per\n" "«stdbuf».\n" # Usa quote(). ivb #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "no s’ha trobat %s" # Usa quote(). ivb #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "no s’ha pogut modificar l’entorn amb %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" "la memòria intermèdia basada en línies no té sentit per a l’entrada estàndard" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Forma d’ús: %s [-F DISPOSITIU | --file=DISPOSITIU] [PROPIETAT]…\n" " o bé: %s [-F DISPOSITIU | --file=DISPOSITIU] [-a|--all]\n" " o bé: %s [-F DISPOSITIU | --file=DISPOSITIU] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Mostra o canvia les característiques del terminal.\n" "\n" " -a, --all Mostra totes les propietats actuals de forma " "llegible\n" " per als humans.\n" " -g, --save Mostra totes les propietats actuals de forma " "llegible\n" " per «stty».\n" " -F, --file=DISPOSITIU Obre i empra el DISPOSITIU especificat en lloc " "de\n" " l’entrada estàndard.\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Un «-» opcional davant d’una PROPIETAT la nega. Un «*» marca les " "propietats\n" "noâ€POSIX. Les propietats disponibles venen determinades pel sistema " "subjaent.\n" # El més llarg és «werase CAR». ivb #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caràcters especials:\n" " * dsusp CAR El caràcter CAR enviarà un senyal d’aturada de terminal " "una\n" " volta s’haja buidat l’entrada.\n" " eof CAR CAR enviarà un final de fitxer (que acaba l’entrada).\n" " eol CAR CAR acabarà la línia.\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CAR CAR indica un caràcter alternatiu d’acabament de línia.\n" " erase CAR CAR esborrarà el darrer caràcter escrit.\n" " intr CAR CAR enviarà un senyal d’interrupció.\n" " kill CAR CAR esborrarà la línia actual.\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CAR CAR entrarà el caràcter següent entrecometat.\n" " quit CAR CAR enviarà un senyal d’eixir.\n" " * rprnt CAR CAR redibuixarà la línia actual.\n" " start CAR CAR reiniciarà l’eixida després d’haverâ€la aturat.\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CAR CAR aturarà l’eixida.\n" " susp CAR CAR enviarà un senyal d’aturada de terminal.\n" " * swtch CAR CAR canviarà a una capa d’intèrpret diferent.\n" " * werase CAR CAR esborrarà la darrera paraula escrita.\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Propietats especials:\n" " N Estableix la velocitat d’entrada i eixida a N bauds.\n" " * cols N Anuncia al nucli que el terminal té N columnes.\n" " * columns N Equival a «cols N».\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N Estableix la velocitat d’entrada a N bauds.\n" " * line N Empra la disciplina de línia N.\n" " min N Amb «-icanon», caldran almenys N caràcters per a fer una\n" " lectura completa.\n" " ospeed N Estableix la velocitat d’eixida a N bauds.\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N Anucia al nucli que el terminal té N files.\n" " * size Mostra el nombre de files i columnes d’acord amb el nucli.\n" " speed Mostra la velocitat del terminal.\n" " time N Amb «-icanon», l’expiració de la lectura esdevé d’N " "dècimes\n" " de segon.\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Propietats de control:\n" " [-]clocal Inhabilita els senyals de control del mòdem.\n" " [-]cread Permet rebre entrada.\n" " * [-]crtscts Habilita l’establiment de connexió amb RTS/CTS.\n" " csN Estableix la mida de caràcter a N bits [5..8].\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb Empra dos bits d’aturada per caràcter (només un amb «-»).\n" " [-]hup S’envia un senyal de penjat quan el darrer procés tanque " "el\n" " terminal.\n" " [-]hupcl Equival a «[-]hup».\n" " [-]parenb Genera un bit de paritat a l’eixida i n’espera un a\n" " l’entrada.\n" " [-]parodd Empra paritat senar (parella amb «-»).\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Propietats de l’entrada:\n" " [-]brkint Fa que les interrupcions de teclat generen senyals\n" " d’interrupció.\n" " [-]icrnl Tradueix els retorns de carro a noves línies.\n" " [-]ignbrk Descarta els caràcters d’interrupció.\n" " [-]igncr Descarta els retorns de carro.\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar Descarta els caràcters amb error de paritat.\n" " * [-]imaxbel Xiula i no buida un bloc de memòria intermèdia d’entrada " "ple\n" " quan arriba un caràcter.\n" " [-]inlcr Tradueix les noves línies en retorns de carro.\n" " [-]inpck Habilita la comprovació de paritat de l’entrada.\n" " [-]istrip Posa a zero el bit alt (8é) dels caràcters d’entrada.\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 Assumeix que els caràcters d’entrada estan codificats fent\n" " servir UTF‑8.\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc Tradueix els caràcters en majúscula a minúscula.\n" " * [-]ixany Permet que qualsevol caràcter reinicie l’eixida, no només " "el\n" " caràcter definit amb «start».\n" " [-]ixoff Habilita l’enviament de caràcters d’inici/aturada.\n" " [-]ixon Habilita el control de flux amb XON/XOFF.\n" " [-]parmrk Marca els errors de paritat (amb la seqüència de caràcters\n" " 255â€0â€caràcter).\n" " [-]tandem Equival a «[-]ixoff»\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Propietats de l’eixida:\n" " * bsN Estil del retard del retrocés, N en [0..1].\n" " * crN Estil del retard del retorn de carro, N en [0..3].\n" " * ffN Estil del retard del salt de pàgina, N en [0..1].\n" " * nlN Estil del retard de la nova línia, N en [0..1].\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl Tradueix els retorns de carro a noves línies.\n" " * [-]ofdel Empra per a reomplir caràcters d’esborrat en lloc de nuls.\n" " * [-]ofill Reomple amb caràcters en lloc d’esperar durant els " "retards.\n" " * [-]olcuc Tradueix els caràcters en minúscula a majúscula.\n" " * [-]onlcr Tradueix les noves línies a retorn de carro i nova línia.\n" " * [-]onlret Fa que la nova línia provoque un retorn de carro.\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr No imprimeix retorns de carro a la primera columna.\n" " [-]opost Postprocessa l’eixida.\n" " * tabN Estil del retard de la tabulació horitzontal, N en [0..3].\n" " * tabs Equival a «tab0».\n" " * -tabs Equival a «tab3».\n" " * vtN Estil del retard de la tabulació vertical, N en [0..1].\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Propietats locals:\n" " [-]crterase Mostra els caràcters de retrocés com a\n" " retrocésâ€espaiâ€retrocés.\n" " * crtkill Esborra totes les línies d’acord amb «echoprt» i «echoe».\n" " * -crtkill Esborra totes les línies d’acord amb «echoctl» i «echok».\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho Mostra els caràcters de control amb notació d’accent\n" " circumflex («^c»).\n" " [-]echo Mostra els caràcters de l’entrada.\n" " * [-]echoctl Equival a «[-]ctlecho».\n" " [-]echoe Equival a «[-]crterase».\n" " [-]echok Mostra una nova línia després del caràcter d’esborrar " "línia.\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke Equival a «[-]crtkill».\n" " [-]echonl Mostra les noves línies encara que no es mostren la resta\n" " dels caràcters.\n" " * [-]echoprt Mostra entre «\\\\» i «/» els caràcters esborrats amb el\n" " retrocés.\n" " [-]icanon Habilita els caràcters especials d’esborrar, esborrar " "línia,\n" " esborrar paraula i redibuixar.\n" " [-]iexten Habilita els caràcters especials noâ€POSIX.\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig Habilita els caràcters especials d’interrupció, eixida i\n" " aturada de terminal.\n" " [-]noflsh Inhabilita el buidat després d’haver rebut els caràcters\n" " especials d’interrupció i eixida.\n" " * [-]prterase Equival a «[-]echoprt».\n" " * [-]tostop Para els processos de fons que intenten escriure al " "terminal.\n" " * [-]xcase Amb «icanon», escapa amb «\\\\» les majúscules.\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Propietats combinades:\n" " * [-]LCASE Equival a «[-]lcase».\n" " cbreak Equival a «-icanon».\n" " -cbreak Equival a «icanon».\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked Posa a llurs valors per defecte els caràcters: brkint " "ignpar\n" " istrip icrnl ixon opost isig icanon eof eol.\n" " -cooked Equival a «raw».\n" " crt Equival a «echoe echoctl echoke».\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec Equival a «echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u».\n" " * [-]decctlq Equival a «[-]ixany».\n" " ek Posa a llurs valors per defecte els caràcters «kill» i\n" " «erase».\n" " evenp Equival a «parenb -parodd cs7».\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp Equival a «-parenb cs8».\n" " * [-]lcase Equival a «xcase iuclc olcuc».\n" " litout Equival a «-parenb -istrip -opost cs8».\n" " -litout Equival a «parenb istrip opost cs7».\n" " nl Equival a «-icrnl -onlcr».\n" " -nl Equival a «icrnl -inlcr -igncr onlcr -ocrnl -onlret».\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp Equival a «parenb parodd cs7».\n" " -oddp Equival a «-parenb cs8».\n" " [-]parity Equival a «[-]evenp».\n" " pass8 Equival a «-parenb -istrip cs8».\n" " -pass8 Equival a «parenb istrip cs7».\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw Equival a «-ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel\n" " -opost -isig -icanon -xcase min 1 time 0»\n" " -raw Equival a «cooked».\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane Equival a «cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -" "onocr\n" " -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon\n" " iexten echo echoe echok -echonl -noflsh -xcase -tostop\n" " -echoprt echoctl echoke», posant tots els caràcters " "especials\n" " a llurs valors per defecte.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Controla la línia tty connectada a l’entrada estàndard. Sense arguments,\n" "mostra la velocitat en bauds, la disciplina de línia i les diferències amb\n" "«stty sane». En indicar propietats, el caràcter CAR ha de ser literal, o\n" "codificat com «^c», «0x37», «0177» o «127»; els valors especials «^-» i\n" "«undef» s’empren per a inhabilitar caràcters especials.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "només es pot especificar un dispositiu" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "les opcions per a mostrar les propietats de forma llegible per humans i per " "«stty» són mútuament excloents" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "no es poden establir modes en especificar un estil d’eixida" # Realment el desactiva, no reinicia. ivb #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: no s’ha pogut desactivar el mode no blocador" # Ambdues usen quote(). ivb #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "l’argument %s no és vàlid" # Totes sis usen quote(). ivb #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "manca un argument per a %s" # Usa quote(). ivb #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "la disciplina de línia %s no és vàlida" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: no s’han pogut realitzar totes les operacions requerides" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: aquest dispositiu no té informació de mida" # Usa quote(). ivb #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "l’argument enter %s no és vàlid" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Mostra la suma de verificació i el nombre de blocs de cada FITXER.\n" "\n" " -r Empra l’algorisme de suma de BSD, amb blocs d’1 kB.\n" " -s, --sysv Empra l’algorisme de suma de System V, amb blocs de " "512\n" " octets.\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Bolca els blocs modificats al disc i actualitza el superbloc.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "es descarten tots els arguments" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "NOTA: Potser el vostre intèrpret d’ordres té la seua pròpia versió de «%s»,\n" "que preval sobre la descrita ací. Per favor, consulteu a la documentació " "del\n" "vostre intèrpret quines opcions admet.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help Mostra aquesta ajuda i surt.\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version Mostra informació sobre la versió i surt.\n" # Agafat més o menys de libc. ivb #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Els arguments obligatoris per a les opcions llargues també ho són per a les\n" "opcions curtes corresponents.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "MIDA és un enter amb una unitat opcional (per exemple: 10M és " "10*1024*1024).\n" "Les unitats són K, M, G, T, P, E, Z, Y (potències de 1024) o KB, MB, GB, " "TB,\n" "PB, EB, ZB, YB (potències de 1000).\n" # El paràmetre és un nom de programa, no serà molt llarg. ivb #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Els valors mostrats s’expressaran en les unitats de la primera MIDA " "disponible\n" "entre l’argument de l’opció «--block-size» i els valors de les variables\n" "d’entorn %s_BLOCK_SIZE, BLOCK_SIZE i BLOCKSIZE. Si no n’hi ha cap\n" "disponible s’empraran unitats de 1024 octets (o 512 si la variable\n" "POSIXLY_CORRECT està establerta).\n" # Cap de les dues usa quote(). ivb # La primera és el nom del programa i la segona una adreça de correu. ivb #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Informeu dels errors de «%s» a %s.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Informeu dels errors de traducció de «%s» a <ca@dodds.net>.\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Per a la documentació completa, executeu «info coreutils '%s invocation'».\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Proveu «%s --help» per a obtenir més informació.\n" # Usa quote(). ivb #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "avís: Estructura de directoris circular.\n" "\tAçò indica quasi amb certesa que el sistema de fitxers és corrupte.\n" "\tAVISEU L’ADMINISTRADOR DEL SISTEMA.\n" "\tEl següent directori és part del cicle:\n" "\t %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escriu cada FITXER a la sortida estàndard, invertint l’ordre de les línies.\n" "Sense cap FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before Posa el separador abans, i no després.\n" " -r, --regexp Interpreta el separador com a una expressió regular.\n" " -s, --separator=CADENA\n" " Empra la CADENA com a separador en lloc del caràcter " "de\n" " nova línia.\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: ha fallat el desplaçament" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "el registre és massa gran" # Usa quote(). ivb #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "no s’ha pogut crear un fitxer temporal a %s" # Usa quote(). ivb #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "no s’ha pogut obrir %s per a escriure" # Usa quote(). ivb #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "no s’ha pogut rebobinar el flux de %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: error d’escriptura" # Usa quote(). ivb #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "no s’ha pogut obrir %s per a llegir" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "el separador no pot ser buit" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Escriu les darreres %d línies de cada FITXER a la sortida estàndard. Amb " "més\n" "d’un FITXER, les precedeix amb una capçalera amb el nom del fitxer. Sense " "cap\n" "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=N Escriu els darrers N octets; també podeu emprar «-c " "+N»\n" " per a mostrar els octets a partir de l’octet Nâ€Ã¨sim " "de\n" " cada fitxer.\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --folow[={name|descriptor}]\n" " Escriu les dades a mesura que el fitxer creix; «-f»,\n" " «--follow», i «--follow=descriptor» són equivalents.\n" " -F Equival a «--follow=name --retry».\n" # «-n» cap pq per defecte és 10. ivb #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=N Escriu les darreres N línies, i no les darreres %d;\n" " també podeu emprar «-n +N» per a mostrar les línies " "a\n" " partir de la línia Nâ€Ã¨sima.\n" " --max-unchanged-stats=N\n" " Amb «--follow=NOM», reobre el FITXER que no ha " "canviat\n" " de mida després d’N iteracions (per defecte %d), per " "a\n" " veure si ha estat eliminat o reanomenat (com és el " "cas\n" " habitual dels fitxers de registre en ser rotats). " "Amb\n" " «inotify» aquesta opció no sol ser útil.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID Amb «-f», finalitza després que el procés " "identificat\n" " per aquest PID mori.\n" " -q, --quiet, --silent Omet les capçaleres amb els noms dels fitxers.\n" " --retry Continua intentant obrir un fitxer fins i tot si és " "o\n" " esdevé inaccessible; només és útil en seguir la " "pista\n" " d’un nom, és a dir, amb «--follow=NOM».\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N\n" " Amb «-f», cada iteració dura aproximadament N segons\n" " (per defecte 1.0). Amb «inotify» i «--pid=PID», es\n" " comprova el procés PID almenys una volta cada N\n" " segons.\n" " -v, --verbose Sempre escriu els noms dels fitxers.\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Si el primer caràcter d’N (nombre d’octets o línies) és un «+», escriu cada\n" "fitxer començant pel seu Nâ€Ã¨sim element, comptant des de l’inici; en altre\n" "cas, escriu els darrers N elements del fitxer. N pot portar un sufix\n" "multiplicador: GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, " "Z,\n" "Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Amb «--follow» (-f) es segueix el descriptor de fitxer, de manera que " "encara\n" "que aquest siga reanomenat, se’n continuarà seguint el final. Aquest\n" "comportament no és desitjable si el que realment voleu és seguir el fitxer " "pel\n" "seu nom i no pel seu descriptor (per exemple, durant la rotació d’un\n" "registre). Empreu «--follow=name» en aquest cas. Això fa que es seguesca " "el\n" "fitxer indicat encara que siga reanomenat, eliminat o creat.\n" # No usa quote(). ivb # Missatge d'error. ivb #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "en tancar «%s» (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: no s’ha pogut moure dins el desplaçament relatiu %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: no s’ha pogut moure fins al desplaçament relatiu al final %s" # Usa quote(). ivb #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "no s’ha pogut determinar la ubicació de %s, es recorrerà a l’enquesta" # Usa quote. ivb #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "no es reconeix el tipus de sistema de fitxers 0x%08lx de %s (informeu d’açò " "a %s), es recorrerà a l’enquesta" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s ha esdevingut inaccessible" # tailable = cuable? ;) # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s ha estat substituït per un fitxer no seguible; s’abandona la pista " "d’aquest nom" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "%s ha estat substituït per un fitxer remot; s’abandona la pista d’aquest nom" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s ha esdevingut accessible" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s ha aparegut; es segueix el final del nou fitxer" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s ha estat substituït; es segueix el final del nou fitxer" # Realment el desactiva, no reinicia. ivb #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: no s’ha pogut desactivar el mode no blocador" # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: el fitxer ha estat truncat" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "no resta cap fitxer" # Usa quote(). ivb #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "no es pot fer un seguiment del directori pare de %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "s’han esgotat els recursos d’«inotify»" # Usa quote(). ivb #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "no es pot fer un seguiment de %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "error en fer un seguiment de l’event d’«inotify»" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "error en llegir l’event d’«inotify»" # FIXME: pretty_name() lacks i18n. ivb #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: no es pot seguir el final d’aquest tipus de fitxer; s’abandona la pista " "d’aquest nom" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "el número %s és massa gran" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: el nombre màxim d’iteracions sense alteracions entre obertures no és " "vàlid" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: el PID no és vàlid" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: el nombre de segons no és vàlid" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "l’opció «%c» no és vàlida en aquest context" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "avís: «--retry» sol ser útil només quan es segueix la pista d’un nom" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "avís: es descarta el PID; «--pid=PID» només és útil en fer seguiments" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "avís: aquest sistema no permet l’opció «--pid=PID»" # Usa quote(). ivb #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "no es pot seguir %s pel nom" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "avís: seguir indefinidament l’entrada estàndard no és efectiu" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "no es pot emprar «inotify», es recorrerà a l’enquesta" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Còpia l’entrada estàndard a cada FITXER, i també a l’eixida estàndard.\n" "\n" " -a, --append Afegeix a cada FITXER indicat, no el sobreescriu.\n" " -i, --ignore-interrupts\n" " Descarta els senyals d’interrupció.\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Si un dels FITXER és «-», el torna a copiar sobre l’eixida estàndard.\n" # Usa quote(). ivb #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "manca un argument després de %s" # Usa quote(). ivb #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "el número enter %s no és vàlid" #: src/test.c:241 msgid "')' expected" msgstr "cal «)»" # No usa quote(). ivb #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "cal «)», s’ha trobat «%s»" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: cal un operador unari" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "«-nt» no admet «-l»" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "«-ef» no admet «-l»" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "«-ot» no admet «-l»" #: src/test.c:367 msgid "unknown binary operator" msgstr "l’operador binari no és conegut" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: cal un operador binari" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Forma d’ús: test EXPRESSIÓ\n" " o bé: test\n" " o bé: [ EXPRESSIÓ ]\n" " o bé: [ ]\n" " o bé: [ OPCIÓ\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Ix amb un estat determinat per l’EXPRESSIÓ.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Una EXPRESSIÓ omesa és per defecte falsa. Altrament, l’EXPRESSIÓ és certa " "o\n" "falsa i estableix l’estat d’eixida. És una de:\n" # El més llarg és «EXPRESSIÓ1 -a EXPRESSIÓ2». ivb #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSIÓ ) L’EXPRESSIÓ és certa.\n" " ! EXPRESSIÓ L’EXPRESSIÓ és falsa.\n" " EXPRESSIÓ1 -a EXPRESSIÓ2 L’EXPRESSIÓ1 i l’EXPRESSIÓ2 són certes.\n" " EXPRESSIÓ1 -o EXPRESSIÓ2 L’EXPRESSIÓ1 o l’EXPRESSIÓ2 és certa.\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] CADENA La longitud de la CADENA no és zero.\n" " CADENA Equival a «-n CADENA».\n" " -z CADENA La longitud de la CADENA és zero.\n" " CADENA1 = CADENA2 Les cadenes són iguals.\n" " CADENA1 != CADENA2 Les cadenes no són iguals.\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ENTER1 -eq ENTER2 L’ENTER1 és igual a l’ENTER2.\n" " ENTER1 -ge ENTER2 L’ENTER1 és major o igual que l’ENTER2.\n" " ENTER1 -gt ENTER2 L’ENTER1 és major que l’ENTER2.\n" " ENTER1 -le ENTER2 L’ENTER1 és menor o igual que l’ENTER2.\n" " ENTER1 -lt ENTER2 L’ENTER1 és menor que l’ENTER2.\n" " ENTER1 -ne ENTER2 L’ENTER1 no és igual que l’ENTER2.\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FITXER1 -ef FITXER2 El FITXER1 i el FITXER2 tenen els mateixos\n" " números de dispositiu i node índex.\n" " FITXER1 -nt FITXER2 El FITXER1 és més nou (data de modificació) " "que\n" " el FITXER2.\n" " FITXER1 -ot FITXER2 El FITXER1 és més antic que el FITXER2.\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FITXER El FITXER existeix i és un dispositiu de " "blocs.\n" " -c FITXER El FITXER existeix i és un dispositiu de\n" " caràcters.\n" " -d FITXER El FITXER existeix i és un directori.\n" " -e FITXER El FITXER existeix.\n" # En «-G» no és necessari posar «ID». ivb #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FITXER El FITXER existeix i és un fitxer ordinari.\n" " -g FITXER El FITXER existeix i té activat el bit\n" " d’establiment de l’ID de grup.\n" " -G FITXER El FITXER existeix i pertany al grup efectiu.\n" " -h FITXER El FITXER existeix i és un enllaç simbòlic\n" " (equival a «-L»).\n" " -k FITXER El FITXER existeix i té activat el bit de\n" " permanença.\n" # En «-O» no és necessari posar ID. ivb #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FITXER El FITXER existeix i és un enllaç simbòlic\n" " (equival a «-h»).\n" " -O FITXER El FITXER existeix i pertany a l’usuari " "efectiu.\n" " -p FITXER El FITXER existeix i és una canonada amb nom.\n" " -r FITXER El FITXER existeix i té permís de lectura.\n" " -s FITXER El FITXER existeix i la seua mida és major " "que\n" " zero.\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FITXER El FITXER existeix i és un connector.\n" " -t DF El descriptor de fitxer DF és obert en un\n" " terminal.\n" " -u FITXER El FITXER existeix i té activat el bit\n" " d’establiment de l’ID d’usuari.\n" " -w FITXER El FITXER existeix i té permís d’escriptura.\n" " -x FITXER El FITXER existeix i té permís d’execució (o " "de\n" " cerca).\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Excepte «-h» i «-L», totes les comprovacions sobre un FITXER segueixen els\n" "enllaços simbòlics. Teniu en compte que cal que els parèntesis siguen\n" "escapats (per exemple, amb barres invertides) als intèrprets d’ordres. " "ENTER\n" "també pot ser «-l CADENA», que s’avalua a la longitud de la CADENA.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "NOTA: «[» té en compte les opcions «--help» i «--version», però «test» no.\n" "«test» les tracta com qualsevol altra CADENA no buida.\n" # FIXME: The way this integrates in the message about builtins is language-dependent. ivb # Quin xanxullo!!! ivb #: src/test.c:791 msgid "test and/or [" msgstr "test» o «[" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "manca «]»" # Usa quote(). ivb #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "sobra l’argument %s" # Indica una fallada de la crida. ivb #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "avís: ha fallat timer_create()" # Indica una fallada de la crida. ivb #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "avís: ha fallat timer_settime()" # Indica una fallada de la crida. ivb #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "avís: ha fallat timer_create()" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Forma d’ús: %s [OPCIÓ] DURADA ORDRE [ARGUMENT]…\n" " o bé: %s [OPCIÓ]\n" # Agafat més o menys de libc. ivb #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Llança l’ORDRE i si encara està en marxa passat el temps indicat per la " "DURADA,\n" "la mata.\n" "\n" "Els arguments obligatoris per a les opcions llargues també ho són per a les\n" "opcions curtes corresponents.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground Quan no s’executa «timeout» directament des de\n" " l’indicador de l’intèrpret d’ordres, permet a " "l’ORDRE\n" " llegir del terminal i rebre’n senyals. En aquest " "mode,\n" " els fills de l’ORDRE no seran temporitzats.\n" " -k, --kill-after=DURADA\n" " Envia també un senyal «KILL» si l’ORDRE continua en\n" " marxa passat el temps indicat per la DURADA després\n" " d’haver enviat el primer senyal.\n" " -s, --signal=SENYAL Especifica el senyal a enviar en expirar el temps.\n" " SENYAL pot ser un nom com «HUP» o un número. Podeu\n" " obtenir una llista de senyals amb «kill -l».\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "La DURADA és un número real en coma flotant amb un sufix opcional: «s» per " "a\n" "segons (per defecte), «m» per a minuts, «h» per a hores i «d» per a dies.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Si l’ORDRE expira l’estat d’eixida serà 124, altrament serà aquell que " "retorne\n" "l’ORDRE. Si no s’indica cap senyal s’enviarà un senyal «TERM» en expirar " "el\n" "temps, que matarà els processos que no bloquen o intercepten el senyal. Per " "a\n" "uns altres processos és possible que calga emprar el senyal «KILL» (9), que " "no\n" "pot ser interceptat. Si s’envia el senyal «KILL» (9), l’estat d’eixida " "serà\n" "128+9 en lloc de 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "avís: no s’han pogut inhabilitar els bolcats de memòria" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "error en esperar l’ordre" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "l’ordre llançada ha bolcat la seua memòria" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "el format de data «%s» no és vàlid" # Usa quote(). ivb # En el codi font diu que no val la pena distingir el tipus d'error. ivb #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "no s’han pogut canviar les dates de %s" # Usa quote(). ivb # Condició d'error. ivb #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "en establir les dates de %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Actualitza les dates d’accés i modificació de cada FITXER a la data actual.\n" "\n" "Si el FITXER no existeix és creat buit, tret que especifiqueu «-c» o «-h».\n" "\n" "Si el FITXER és «-», «touch» el tracta de forma especial, canviant les " "dates\n" "del fitxer associat amb l’entrada estàndard.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a Només canvia la data d’accés.\n" " -c, --no-create No crea cap fitxer.\n" " -d, --date=CADENA Interpreta la CADENA i l’empra en lloc de la data\n" " actual.\n" " -f (No es té en compte.)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc " "dels\n" " fitxers apuntats (disponible només en sistemes on es\n" " puguen canviar les dates d’un enllaç simbòlic).\n" " -m Només canvia la data de modificació de les dades.\n" # Què té aquesta gent en contra de les cometes? ivb #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FITXER\n" " Empra les dates d’aquest FITXER en lloc de la data\n" " actual.\n" " -t DATA Empra la data [[CC]AA]MMDDhhmm[.ss] en lloc de la " "data\n" " actual.\n" " --time=PARAULA Modifica la data indicada per la PARAULA (equival a\n" " l’opció entre parèntesis): la d’accés amb «access»,\n" " «atime» o «use» (-a); la de modificació amb «modify» " "o\n" " «mtime» (-m).\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Teniu en compte que les opcions «-d» i «-t» accepten formats de data i hora\n" "distints.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "no es poden especificar dates de més d’un origen" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "avís: «touch %s» és obsoleta; empreu «touch -t %04ld%02d%02d%02d%02d.%02d»" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Forma d’ús: %s [OPCIÓ]… JOC1 [JOC2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Tradueix, redueix, o suprimeix caràcters de l’entrada estàndard, i escriu " "el\n" "resultat a la sortida estàndard.\n" "\n" " -c, -C, --complement Empra el complement del JOC1.\n" " -d, --delete Suprimeix els caràcters del JOC1, no tradueix.\n" " -s, --squeeze-repeats Substitueix cada seqüència de repeticions d’un\n" " caràcter de JOC1 per una única ocurrència del " "caràcter.\n" " -t, --truncate-set1 Trunca primer el JOC1 a la llargada del JOC2.\n" # El més llag és «[:xdigit:]». ivb #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Cada JOC s’especifica com a una cadena de caràcters. La majoria d’ells es\n" "representen literalment. Les seqüències que s’interpreten són:\n" "\n" " \\NNN Caràcter amb valor octal NNN (d’1 a 3 dígits octals).\n" " \\\\ Barra invertida.\n" " \\a Alarma (BEL).\n" " \\b Retrocés.\n" " \\f Salt de pàgina.\n" " \\n Nova línia.\n" " \\r Retorn de carro.\n" " \\t Tabulació horitzontal.\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v Tabulació vertical.\n" " CAR1-CAR2 Tots els caràcters en ordre ascendent entre CAR1 i CAR2.\n" " [CAR*] Al JOC2, còpies de CAR fins a arribar a la llargada de " "JOC1.\n" " [CAR*REP] REP còpies de CAR; REP és octal si comença amb 0.\n" " [:alnum:] Totes les lletres i dígits.\n" " [:alpha:] Totes les lletres.\n" " [:blank:] Tots els espais en blanc horitzontals.\n" " [:cntrl:] Tots els caràcters de control.\n" " [:digit:] Tots els dígits.\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] Tots els caràcters imprimibles, excepte l’espai.\n" " [:lower:] Totes les lletres minúscules.\n" " [:print:] Tots els caràcters imprimibles, incloent l’espai.\n" " [:punct:] Tots els caràcters de puntuació.\n" " [:space:] Tots els espais en blanc verticals o horitzontals.\n" " [:upper:] Totes les lletres majúscules.\n" " [:xdigit:] Tots els dígits hexadecimals.\n" " [=CAR=] Tots els caràcters equivalents a CAR.\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "La traducció es produeix si no s’indica «-d» i ambdós JOC1 i JOC2 " "apareixen.\n" "Només es pot emprar «-t» quan es tradueix. El JOC2 s’expandeix a la " "llargada\n" "de JOC1 repetint el darrer caràcter tant com sigui necessari. Els " "caràcters\n" "sobrants del JOC2 es descarten. Només s’assegura una expansió ascendent per " "a\n" "les seqüències «[:lower:]» i «[:upper:]»; quan s’empren en JOC2 i s’estiga\n" "traduint, només es poden utilitzar en parelles respecte JOC1, especificant\n" "conversió de majúscules a minúscules (o a la inversa). «-s» empra el JOC1 " "si\n" "no s’està traduint ni suprimint; a la reducció s’empra el JOC2 i aquesta es\n" "produeix després de traduïr o suprimir.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "avís: la seqüència ambígua d’escapada en octal «\\%c%c%c» s’interpreta com " "la seqüència de 2 octets «\\0%c%c», «%c»" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "avís: no és portable emprar una barra invertida sense escapada al final de " "la línia" # que coi significa `cotejar'??? #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "els extrems del rang «%s-%s» es troben en ordre invers" # Usa quote(). ivb #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "el nombre de repeticions %s de la construcció «[c*n]» no és vàlid" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "manca el nom de la classe de caràcters: «[::]»" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "manca el caràcter de la classe d’equivalència: «[==]»" # Usa quote(). ivb #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "la classe de caràcters %s no és vàlida" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: l’operand de la classe d’equivalència ha de ser un únic caràcter" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "la construcció «[:upper:]» o «[:lower:]» està desalineada" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "el conjunt conté massa caràcters" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "en traduir amb una primera cadena més llarga que la segona, aquesta última " "no pot acabar en una classe de caràcters" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" "la construcció de repetició «[c*]» no pot aparèixer a la primera cadena" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" "només pot aparèixer una construcció de repetició «[c*]» a la segona cadena" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "en traduir, les expressions «[=c=]» no poden aparèixer a la segona cadena" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "en traduir, les úniques classes de caràcters que poden aparèixer a la segona " "cadena són «upper» i «lower»" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "si no es trunca el primer joc, la segona cadena no pot ser nuÅ€la" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "en traduir amb classes de caràcters complementàries, la segona cadena ha " "d’assignar tots els caràcters del domini a un de sol" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" "en traduir, la construcció «[c*]» només pot aparèxier a la segona cadena" # Açò s'imprimeix després d'un missatge d'error. ivb #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "En eliminar i reduir repeticions, cal especificar dues cadenes." # Açò s'imprimeix després d'un missatge d'error. ivb #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "En traduir, cal especificar dues cadenes." # Açò s'imprimeix després d'un missatge d'error. ivb #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "En eliminar sense reduir repeticions, només es pot especificar una cadena." # no estic molt content amb aquesta. jm # Retoque un poc la forma d'ús, queda un poc més clar. ivb # Un retoc més i ja pareix més un nom d'opció. ivb #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [arguments de la línia d’ordres que seran descartats]\n" " o bé: %s OPCIÓ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Ix amb un codi d’estat que indica èxit." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Ix amb un codi d’estat que indica fallada." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Forma d’ús: %s OPCIÓ… FITXER…\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Redueix o augmenta la mida de cada FITXER a la mida indicada.\n" "\n" "Si un FITXER no existeix, és creat.\n" "\n" "Si la mida d’un FITXER és major que la indicada, les dades del final es\n" "perdran. Si és menor, el fitxer s’estén i el buit del final contindrà " "octets\n" "zero.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create No crea cap fitxer.\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks Interpreta la MIDA com a un nombre de blocs d’E/S en\n" " lloc d’un nombre d’octets.\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=FITXER\n" " Pren la mida del FITXER indicat.\n" " -s, --size=MIDA Estableix o ajusta la mida dels fitxers segons la " "MIDA.\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "La MIDA pot anar prefixada per un caràcter modificador relatiu. Així,\n" "«+» augmenta en MIDA, «-» redueix en MIDA, «<» marca una MIDA màxima,\n" "«>» marca una MIDA mínima, «/» arrodoneix cap avall a un múltiple de MIDA,\n" "«%» arrodoneix cap amunt a un múltiple de MIDA.\n" # Usa quote. ivb # Espere que així quede més clar. ivb #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "desbordament en (%<PRIdMAX> blocs * %<PRIdMAX> octets/bloc) per al fitxer %s" # Usa quote(). ivb #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s té una mida aparentment negativa que no pot ser tractada" # Usa quote(). ivb # Es refereix a fitxers sense mida definida. ivb #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "no es pot obtenir la mida de %s" # Usa quote(). ivb #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "desbordament en arrodonir cap amunt la mida del fitxer %s" # Usa quote(). ivb #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "desbordament en augmentar la mida del fitxer %s" # Usa quote(). ivb #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "no s’ha pogut truncar %s a %<PRIdMAX> octets" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "s’han especificat múltiples modificadors relatius" # Usa quote() en el ambdós args. ivb #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "cal que especifiqueu %s o %s" # Usa quote() en el ambdós args. ivb #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "en emprar %2$s, cal que especifiqueu %1$s de forma relativa" # Usa quote() en el ambdós args. ivb #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "heu especificat %s però no %s" # Usa quote(). ivb #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "no s’ha pogut obrir %s per a escriure" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Forma d’ús: %s [OPCIÓ] [FITXER]\n" "Escriu una llista totalment ordenada d’acord amb l’ordenació parcial " "descrita\n" "en FITXER. Sense FITXER, o quan FITXER és «-», llegeix l’entrada " "estàndard.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: l’entrada conté un nombre senar de components" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: l’entrada conté un cicle:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Mostra el nom de fitxer del terminal connectat a l’entrada estàndard.\n" "\n" " -s, --silent, --quiet No mostra res, només retorna un estat d’eixida.\n" #: src/tty.c:120 msgid "not a tty" msgstr "no és un tty" # On deia «sistema operatiu» en una traducció antiga ara diu «nucli» ;) ivb #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Mostra alguna informació sobre el sistema. Si no s’indica cap OPCIÓ, fa el\n" "mateix que amb «-s».\n" "\n" " -a, --all Mostra tota la informació (excepte la de «-p» i «-i» " "si\n" " és desconeguda), en l’ordre següent:\n" " -s, --kernel-name Mostra el nom del nucli.\n" " -n, --nodename Mostra el nom de l’estació a la xarxa.\n" " -r, --kernel-release Mostra el llançament del nucli.\n" # FIXME: “unknown†in ``uname.c`` lacks i18n. ivb #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version Mostra la versió del nucli.\n" " -m, --machine Mostra el tipus del maquinari.\n" " -p, --processor Mostra el tipus del processador («unknown» si es\n" " desconeix).\n" " -i, --hardware-platform\n" " Mostra la plataforma del maquinari («unknown» si es\n" " desconeix).\n" " -o, --operating-system\n" " Mostra el sistema operatiu.\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Mostra l’arquitectura de la màquina.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "no s’ha pogut obtenir el nom del sistema" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Converteix els espais en blanc a tabulacions per cada FITXER, i escriu a la\n" "sortida estàndard. Sense FITXER, o quan FITXER és «-», llegeix l’entrada\n" "estàndard.\n" "\n" # mirar la traducció del expand #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all Converteix tots els espais en blanc, no només els " "que\n" " es troben a principi de línia.\n" " --first-only Només converteix les seqüències d’espais en blanc " "que\n" " es troben a principi de la línia (inhabilita «-a»).\n" " -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en lloc " "de\n" " 8 (habilita «-a»).\n" " -t, --tabs=LLISTA Especifica una llista de posicions explícites per " "cada\n" " tabulació, separades per comes (habilita «-a»).\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "els tabuladors es troben massa separats" # És un enter correcte però massa gran. ivb #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "la distància de tabulació és massa gran" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Forma d’ús: %s [OPCIÓ]… [ENTRADA [EIXIDA]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Elimina de l’ENTRADA (o de l’entrada estàndard) les línies repetides que " "vagen\n" "seguides, i escriu el resultat a l’EIXIDA (o a l’eixida estàndard).\n" "\n" "Sense opcions, les línies repetides es redueixen a la primera ocurrència.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count Prefixa cada línia amb el nombre d’ocurrències.\n" " -d, --repeated Només escriu les línies duplicades.\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=MÈTODE_DELIMITACIÓ]\n" " Escriu totes les línies duplicades, delimitant els\n" " grups segons el MÈTODE: «none» (per defecte) no els\n" " separa; «prepend» els prefixa i «separate» els " "separa\n" " amb una línia buida.\n" " -f, --skip-fields=N Evita la comparació dels primers N camps.\n" " -i, --ignore-case No té en compte les diferències entre majúscules i\n" " minúscules.\n" " -s, --skip-chars=N Evita la comparació dels primers N caràcters.\n" " -u, --unique Només escriu les línies que són úniques.\n" " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " "nova\n" " línia.\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N No compara més d’N caràcters per línia.\n" # Hau! ivb #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Un camp és una sèrie de caràcters en blanc (normalment espais o caràcters " "de\n" "tabulació) seguits de caràcters no en blanc. En emprar «--skip-fields» o\n" "«--skip-chars», primer es salten els camps i després els caràcters.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "NOTA: «uniq» no detecta les línies repetides, a no ser que vagen seguides.\n" "Potser desitgeu ordenar primer l’entrada, o emprar «sort -u» sense «uniq».\n" "Les comparacions segueixen les regles especificades per LC_COLLATE.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "hi ha massa línies repetides" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "el nombre de camps a saltar no és vàlid" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "el nombre d’octets a saltar no és vàlid" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "el nombre d’octets a comparar no és vàlid" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "escriure totes les línies duplicades i el nombre de repeticions és absurd" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s FITXER\n" " o bé: %s OPCIÓ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Crida la funció unlink() per a eliminar el FITXER especificat.\n" "\n" # Usa quote(). ivb #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "no s’ha pogut deslligar %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "no s’ha pogut obtenir l’hora d’arrencada" # Lleve %P perquè %H és l’hora de 00 a 24. ivb #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " # Igual que l’anterior. ivb #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:?? " # Igual que el següent. ivb #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "en marxa ???? dies ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "en marxa %ld dia %2d:%02d, " msgstr[1] "en marxa %ld dies %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "en marxa %ld dia %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu usuari" msgstr[1] "%lu usuaris" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", càrrega mitjana: %.2f" # Dubte sobre lo de uptime. jm # Ein? ivb # No usa quote() en cap dels 2 args. ivb #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Mostra l’hora actual, quant temps ha estat el sistema en marxa, el nombre\n" "d’usuaris al sistema i la mitjana de treballs a la cua d’execució durant " "els\n" "darrers 1, 5 i 15 minuts." # Aquesta va a continuació de l’anterior. ivb #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Els processos en estat de parada ininterrompible\n" "també contribueixen a la càrrega mitjana.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" # No usa quote() en cap dels dos args. ivb #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s» com a FITXER.\n" "\n" # No usa quote() en cap dels dos args. ivb #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Mostra qui està connectat actualment, d’acord amb el contingut del FITXER. " "Si\n" "no s’indica el FITXER, s’empra «%s». És comú emprar «%s»\n" "com a FITXER.\n" "\n" # afegir una línia en blanc entre la descripció i les opcions # Ja està. ivb #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Escriu el nombre de caràcters de nova línia, paraules i octets de cada " "FITXER,\n" "i una línia de totals si especifiqueu més d’un FITXER. Sense FITXER, o " "quan\n" "FITXER és «-», llegeix l’entrada estàndard. Una paraula és una seqüència " "no\n" "buida de caràcters delimitada per espais en blanc.\n" "\n" "Les opcions de sota es poden emprar per a escollir quins recomptes mostrar\n" "dels següents (que sempre apareixen en el mateix ordre): caràcters de nova\n" "línia, paraules, caràcters, octets, longitud de la línia més llarga.\n" "\n" " -c, --bytes Escriu el nombre d’octets.\n" " -m, --chars Escriu el nombre de caràcters.\n" " -l, --lines Escriu el nombre de caràcters de nova línia.\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=FITXER\n" " Llegeix l’entrada dels fitxers els noms dels quals " "es\n" " troben llistats al FITXER, acabats pel caràcter NUL.\n" " Si el FITXER és «-», llegeix els noms de l’entrada\n" " estàndard.\n" " -L, --max-line-length Escriu la longitud de la línia més llarga.\n" " -w, --words Escriu el nombre de paraules.\n" # Ull, usar el mateix terme d'«antic» que baix. ivb # XXX: S'entén com a sessió i és femení? ivb # 6 caràcters. ivb #: src/who.c:210 msgid " old " msgstr "antic" # 12 caràcters. ivb #: src/who.c:440 msgid "system boot" msgstr "arrenca sist" # Identificador d'una tasca d'init. ivb #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" # Codi de finalització. ivb #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "fin=" # Codi d'eixida. ivb #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "eixida=" # Ho deixe tal qual perquè es refereix al procés «login». ivb #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" # 12 caràcters. ivb #: src/who.c:505 msgid "clock change" msgstr "canvi rlltge" # 10 caràcters. ivb #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "nivll exec" # Últim nivell d'execució. ivb #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "darrer=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "nombre d’usuaris=%lu\n" # FIXME: This arrangement is language-dependent because of width. ivb # Nom d'un usuari del sistema. ivb #: src/who.c:559 msgid "NAME" msgstr "NOM" # FIXME: print_line() fails to compute column widths with multibyte character # (e.g. UTF-8) translations. ivb # FIXME: "who" is *really* painful to get translated so that fields align!! :( #: src/who.c:559 msgid "LINE" msgstr "LÃNIA" # Hora d'entrada d'un usuari al sistema. ivb #: src/who.c:559 msgid "TIME" msgstr "HORA" # Temps ociós d'un usuari. ivb #: src/who.c:559 msgid "IDLE" msgstr "OCIÓS" #: src/who.c:560 msgid "PID" msgstr "PID" # 8 caràcters. ivb #: src/who.c:560 msgid "COMMENT" msgstr "COMENTARI" # Codis de finalització i eixida del procés. ivb #: src/who.c:560 msgid "EXIT" msgstr "EIXIDA" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Forma d’ús: %s [OPCIÓ]… [FITXER | ARG1 ARG2]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Mostra informació sobre els usuaris connectats actualment.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all Equival a «-b -d --login -p -r -t -T -u».\n" " -b, --boot Moment de la darrera arrencada del sistema.\n" " -d, --dead Mostra els processos morts.\n" " -H, --heading Mostra una línia de capçaleres de columna.\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login Mostra els processos d’entrada al sistema.\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " -l, --lookup Prova de fer canònics els noms d’estació via DNS.\n" " -m Només mostra el nom d’estació i usuari associats amb\n" " l’entrada estàndard.\n" " -p, --process Mostra els processos actius llançats per «init».\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count Mostra els noms i el nombre total d’usuaris " "connectats.\n" " -r, --runlevel Mostra el nivell d’execució actual.\n" " -s, --short Només mostra el nom, línia i hora (per defecte).\n" " -t, --time Mostra el moment del darrer canvi del rellotge del\n" " sistema.\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg Inclou l’estat de missatges dels usuaris com a «+», " "«-»\n" " o «?».\n" " -u, --users Llista els usuaris connectats.\n" " --message Equival a «-T».\n" " --writable Equival a «-T».\n" # No usa quote() en cap dels 2 args. ivb #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s»\n" "com a FITXER. Si s’especifiquen ARG1 i ARG2, és com emprar «-m»: és " "habitual\n" "emprar «am i» o «és genial».\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Mostra el nom d’usuari associat amb l’identificador d’usuari efectiu\n" "actualment. Equival a «id -un».\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: no s’ha pogut trobar el nom de l’ID d’usuari %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [CADENA]…\n" " o bé: %s OPCIÓ\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Mostra repetidament una línia amb totes les cadenes indicades, o «y».\n" "\n" # És un missatge informatiu. ivb #~ msgid "using single-precision arithmetic" #~ msgstr "s’està emprant l’aritmètica de precisió simple" # És un missatge informatiu. ivb #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "s’està emprant l’aritmètica de precisió arbitrària" # Usa quote(). ivb # Missatge informatiu. ivb #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "s’està creant el fitxer %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] NOM…\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: la longitud del sufix no és vàlida" # Els 3 usen quote(). ivb #~ msgid "reading %s" #~ msgstr "s’està llegint %s" # Els 4 usen quote(). ivb # En els 4 indica condició d'error. ivb #~ msgid "writing %s" #~ msgstr "en escriure %s" # Els 2 usen quote(). ivb # En els 2 indica condició d'error. ivb #~ msgid "closing %s" #~ msgstr "en tancar %s" # Els 5 usen quote(). ivb # Indica condició d'error. ivb #~ msgid "accessing %s" #~ msgstr "en accedir a %s" # Usa quote(). ivb # Condició d'error. ivb #~ msgid "opening %s" #~ msgstr "en obrir %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system Exclou els directoris que es troben en altres\n" #~ " sistemes de fitxers diferents.\n" #~ " -X, --exclude-from=FITXER\n" #~ " Exclou aquells fitxers que coincideixen amb algun " #~ "dels\n" #~ " patrons continguts al FITXER.\n" #~ " --exclude=PATRÓ Exclou aquells fitxers que coincideixen amb el " #~ "PATRÓ.\n" #~ " -d, --max-depth=N Només mostra el total d’un directori (o fitxer, " #~ "amb\n" #~ " «--all») si es troba N nivells o menys per sota " #~ "de\n" #~ " l’argument de la línia d’ordres; «--max-depth=0»\n" #~ " equival a «--summarize».\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off Mai fa còpies de seguretat (ni especificant «--" #~ "backup»).\n" #~ " numbered, t Fa còpies de seguretat numerades.\n" #~ " existing, nil Fa còpies de seguretat numerades si ja n’existeixen, " #~ "les fa\n" #~ " simples en cas contrari.\n" #~ " simple, never Fa còpies de seguretat simples sempre.\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "avís: l’opció «--page-increment» està desaprovada; empreu «--line-" #~ "increment» al seu lloc" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Els arguments obligatoris per a les opcions llargues també ho són per a " #~ "les\n" #~ "opcions curtes corresponents.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "BASE és «d» per a decimal, «o» per a octal, «x» per a hexadecimal, o bé " #~ "«n»\n" #~ "per a cap. OCTETS és hexadecimal si té el prefix «0x» o «0X», i pot " #~ "portar un\n" #~ "sufix multiplicador: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, Y. Afegint " #~ "el\n" #~ "sufix «z» a qualsevol dels tipus, mostra també els caràcters imprimibles " #~ "al\n" #~ "final de cada línia d’eixida.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "L’opció «--string» sense número implica 3; l’opció «--width» sense " #~ "número\n" #~ "implica 32. Per defecte, s’utilitzen les opcions «-A o -t oS -w16».\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Foma d’ús: %s [OPCIÓ]… FITXER\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/eu.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001201155�12107204507�011740� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-8.3.eu.po to Euskara # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the Coreutils-8.3 package. # Mikel Olasagasti Uranga <hey_neken@mundurat.net>, 2004, 2009, 2010. # msgid "" msgstr "" "Project-Id-Version: coreutils-8.3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2010-01-08 12:38+0100\n" "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n" "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "%s baliogabeko argumentua da %s-(r)entzat" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "%s argumentu anbiguoa da %s-(r)entzat" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Baliozko argumentuak hauek dira:" #: lib/closein.c:100 msgid "error closing file" msgstr "errorea fitxategia itxitzerakoan" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "idazketa errorea" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "baimenak errepikatu arte" #: lib/error.c:188 msgid "Unknown system error" msgstr "Sistema-errore ezezaguna" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fitxategi erregular hutsa" #: lib/file-type.c:38 msgid "regular file" msgstr "Espresio erregularra" #: lib/file-type.c:41 msgid "directory" msgstr "direktorioa" #: lib/file-type.c:44 msgid "block special file" msgstr "bloke fitxategi berezia" #: lib/file-type.c:47 msgid "character special file" msgstr "karaktere fitxategi berezia" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "esteka sinbolikoa" #: lib/file-type.c:56 msgid "socket" msgstr "socket-a" #: lib/file-type.c:59 msgid "message queue" msgstr "Bidali ilara" #: lib/file-type.c:62 msgid "semaphore" msgstr "semaforoa" #: lib/file-type.c:65 msgid "shared memory object" msgstr "memoria partekatuaren objektua" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "memoria partekatuaren objektua" #: lib/file-type.c:70 msgid "weird file" msgstr "fitxategi arraroa" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fifo fitxategiek ez dute euskarririk" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Balio okerrak ai_flags-entzat" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family-k ez du euskarririk" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Huts egin da memoria esleitzen" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype-k ez du euskarririk" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Sistemaren errorea" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Errore ezezaguna" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: '%s' aukera anbiguoa da\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: '--%s' aukerak ez du argumenturik onartzen\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: '%c%s' aukerak ez du argumenturik onartzen\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: '%s' aukerak argumentu bat behar du\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: '--%s' aukera ezezaguna\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: '%c%s' aukera ezezaguna\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: '%c' aukera baliogabea\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: '%c' aukerak argumentu bat behar du\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: '-W %s' aukera anbiguoa da\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: '-W.%s' aukerak ez du argumenturik onartzen\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: '%s' aukerak argumentu bat behar du\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "ezin da %s-(r)en baimenak aldatu" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "ezin da %s direktorioa sortu" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "memoria agortuta" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "Inprimatu Fitxategi-izena - e e" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: fixategiaren amaiera" #: lib/regcomp.c:131 msgid "Success" msgstr "Arrakasta" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Baliogabeko espresio erregularra" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "baliogabea" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Memoria agortuta" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "baliogabea" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "in bilatu" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "in bilatu" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "in bilatu" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "arriskutsua da errekurtsiboki erabiltzea %s-n (%s-(r)en berdina" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "erabili --no-preserve-root segurtasun neurri hau ekiditeko" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[bB]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[eE]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "%s-(r)en baimenak ezartzen" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "Irten" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "Eraila" #: lib/siglist.h:55 msgid "Bus error" msgstr "Bus-eko errorea" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "Amaitua" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Gelditua (seinalea)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Gelditua" #: lib/siglist.h:79 msgid "Continued" msgstr "Jarraitua" #: lib/siglist.h:82 msgid "Child exited" msgstr "Semea amaituta" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Geldituta (tty sarrera)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Geldituta (tty irteera)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 msgid "Window changed" msgstr "Leihoa aldatu da" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "baliogabea" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "baliogabea" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 msgid "Power failure" msgstr "Argindarra arazoa" #: lib/siglist.h:131 #, fuzzy msgid "Resource lost" msgstr "-lt baino lehen" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "ezin da %s fifo-a sortu" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: seek-ek huts egin du" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "karakterea barrutitik kanpora" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" #: lib/userspec.c:106 msgid "invalid user" msgstr "baliogabeko erabiltzailea" #: lib/userspec.c:107 msgid "invalid group" msgstr "baliogabeko taldea" #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "baliogabeko erabiltzailea" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "%s-(e)k (%s) paketatua\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "%s-(e)k paketatua\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "%s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "%s-k eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "%s, %s eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "%s, %s, %s,\n" "eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%s, %s, %s,\n" "%s eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "%s, %s, %s,\n" "%s, %s eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "%s, %s, %s,\n" "%s, %s, %s, eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "%s, %s, %s,\n" "%s, %s, %s, %s,\n" "eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "%s, %s, %s,\n" "%s, %s, %s, %s,%s, eta %s-k idatzia.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "%s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s,·eta beste batzuk idatzia.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Programa-erroreen berri emateko idatzi hona: <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Programa-erroreen berri emateko idatzi hona: <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-(r)en orri nagusia: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s-(r)en orri nagusia: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "GNU softwarearen erabilera laguntza orokorra: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "irekitzeak huts egin du" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Sistema-errore ezezaguna" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "huts egin da %s irekitzen" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "kate konparaketak huts egin du" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Ezarri LC_ALL='C' arazo hau une batez konpontzeko" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Alderatutako bi kateak %s eta %s izan dira." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "baliogabeko %s%s argumentua `%s'" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "baliogabeko atzizkia %s%s argumentua `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s argumentua `%s' luzeegia" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "FITXATEGIA\n" " edo FITXATEGIA edo ez FITXATEGIA edo FITXATEGIA da e" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 #, fuzzy msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "ez FITXATEGIA edo FITXATEGIA da e" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "irakurketa errorea" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "baliogabeko sarrera" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "baliogabea tamaina" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "`%s' eragigai extra" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "sarrera estandarra itxitzen" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Erabilera: %s IZENA [ATZIZKIA]\n" " edo: %s AUKERA\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "Inprimatu IZENA honekin edozein a e e" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "FITXATEGIA edo e\n" " A\n" " lerroz behin\n" "\n" " E -\n" " e lerroz behin\n" " e" #: src/cat.c:102 #, fuzzy msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" "\n" " jn.\n" " enoratua\n" " erabili eta M errepikatu arte eta e" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "ezin zaio %s-(e)ri ioctil egin" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "irteera estandarra" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: sarrera fitxategia irteera fitxategia da" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "-" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "-" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "- e" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "ezin da %s-ra sartu" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "%s-ren baimenak aldatzen" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "`fts_read'-ek huts egin du" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close-ek huts egin du" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Erabilera: %s [AUKERA]... TESTUINGURU FITXATEGIA...\n" " edo: %s [AUKERA]... [-u ERABILTZAILEA] [-r ROLA] [-l MULTZOA] [-t MOETA] " "FITXATEGIA...\n" " edo: %s [AUKERA]... --reference=ERREFERENTZI-FITXATEGIA FITXATEGIA...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" "ez lehenetsia\n" " aktibatuta e" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" "\n" " erabili taldea\n" " balioa\n" " G aktibatuta eta\n" " a errepikatu arte e e" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "a da G da Baldintzak da bat ere ez e\n" " T a da a lotura\n" " a\n" " lotura a\n" "\n" " edozein lehenetsia e e" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference aukerak -H edo -L behar du" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h aukerak -P behar du" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "baimenak errepikatu arte" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "baliogabeko kontestua: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, fuzzy, c-format msgid "failed to get attributes of %s" msgstr "-" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "baliogabea taldea: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Erabilera: %s [AUKERA]... TALDE FITXATEGIA...\n" " edo: %s [AUKERA]... -- reference=R-FITXATEGIA FITXATEGIA...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" "h ez lotura horren ordez - edozein\n" " aktibatuta\n" " - a e" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "%s-(r)en atributo berriak irakurtzen" #: src/chmod.c:149 src/chown-core.c:147 #, fuzzy, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "lotura e" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "modua - e" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "modua - e" #: src/chmod.c:169 #, fuzzy, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "modua - e" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "lotura" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "%s-ren baimenak aldatzen" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: baimen bereziak %s dira, ez %s" #: src/chmod.c:371 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "FITXATEGIA\n" " edo FITXATEGIA\n" " edo FITXATEGIA e" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" "\n" " erabili taldea\n" " balioa\n" " G aktibatuta eta\n" " a errepikatu arte e e" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "baliogabea modua: %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "- e" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "taldea - e" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "ezin da aldatu %s-(r)en jabegoa" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "- e" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "taldea - e" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "- e" #: src/chown-core.c:171 #, fuzzy, c-format msgid "failed to change ownership of %s to %s\n" msgstr "- e" #: src/chown-core.c:172 #, fuzzy, c-format msgid "failed to change group of %s to %s\n" msgstr "taldea - e" #: src/chown-core.c:180 #, fuzzy, c-format msgid "ownership of %s retained as %s\n" msgstr "- e" #: src/chown-core.c:181 #, fuzzy, c-format msgid "group of %s retained as %s\n" msgstr "taldea - e" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "- e" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "ezin da %s kendu" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "%s-ren jabetza aldatzen" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "%s-ren taldea aldatzen" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Erabilera: %s [AUKERA]... [JABEA][:[TALDEA]] FITXATEGIA...\n" " edo: %s [AUKERA]... -- reference=ERREFERENTZI-FITXATEGIA FITXATEGIA...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 #, fuzzy msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" "JABEA\n" " jabea eta edo taldea -\n" " jabea eta edo taldea\n" " maiatzak in a\n" " da errepikatu arte e" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "da Taldea da taldea bider a JABEA eta maiatzak e" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "baliogabea taldea %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "baliogabea talde zerrenda %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "huts egin da talde gehiago ezartzen" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s [AUKERA] ERRO-BERRIA [KOMANDOA [ARGUMENTUA]...]\n" " edo: %s AUKERA\n" #: src/chroot.c:137 #, fuzzy msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "Exekutatu KOMANDOA honekin e e" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "ez da lehenetsia e" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "huts egin da talde-id-a ezartzen" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "huts egin da erabiltzaile-id-a ezartzen" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "huts egin da %s komandoa exekutatzen" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s fitxategia luzeegia da" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Erabilera: %s [FITXATEGIA]...\n" " edo: %s [AUKERA]\n" #: src/cksum.c:268 #, fuzzy msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "Inprimatu eta - FITXATEGIA e e" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Erabilera: %s [AUKERA]... 1FITXATEGIA 2FITXATEGIA\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "Ordenatutako 1FITXATEGIA eta 2FITXATEGIA alderatzen ditu lerroz lerro.\n" #: src/comm.c:110 #, fuzzy msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "ez hirukoa Zutabea hau daukana esklusiboa bikoa hau daukana lerroz behin " "esklusiboa hirukoa hau daukana lerroz behin e" #: src/comm.c:116 #, fuzzy msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " lerroz behin esklusiboa\n" " lerroz behin esklusiboa\n" " lerroz behin in e" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "%s hutsa ez da onartzen" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "errorea %s irakurtzen" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "ezin zaio `lseek' egin %s-ri" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "errorea %s idazten" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "-" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "idazketak huts egin du" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "huts egin da %s irekitzen" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "baimenak errepikatu arte" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, fuzzy, c-format msgid "failed to preserve ownership for %s" msgstr "errepikatu arte" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:728 #, fuzzy, c-format msgid "failed to preserve authorship for %s" msgstr "errepikatu arte" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, fuzzy, c-format msgid "cannot open %s for reading" msgstr "errepikatu arte" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "ezin zaio `fstat' egin %s-(e)ri" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:850 #, fuzzy, c-format msgid "failed to get file system create context" msgstr "kopiatu - aktibatuta" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "taldea - e" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "ezin da %s kendu" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s ezabatua\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "huts egin da %s klonatzen" #: src/copy.c:1098 src/copy.c:2541 #, fuzzy, c-format msgid "preserving times for %s" msgstr "errepikatu arte" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "huts egin da %s irekitzen" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "modua " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s gainidatzi?" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (babeskopia: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, fuzzy, c-format msgid "cannot create hard link %s to %s" msgstr "lotura" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "ezin da `stat' egin %s-(r)engan" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1712 src/ln.c:246 #, fuzzy, c-format msgid "%s and %s are the same file" msgstr "eta" #: src/copy.c:1811 #, fuzzy, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "honekin" #: src/copy.c:1829 src/ln.c:214 #, fuzzy, c-format msgid "will not overwrite just-created %s with %s" msgstr "honekin" #: src/copy.c:1847 #, fuzzy, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "honekin" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1891 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "gora" #: src/copy.c:1892 #, fuzzy, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "gora" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "ezin da %s-(r)en babeskopia egin" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "honekin" #: src/copy.c:2056 #, fuzzy, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kopiatu a bere gainera" #: src/copy.c:2073 #, fuzzy, c-format msgid "will not create hard link %s to directory %s" msgstr "lotura" #: src/copy.c:2123 #, fuzzy, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "a - bere gainera" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "ezin izan da %s %s-(r)a mugitu" #: src/copy.c:2178 #, fuzzy, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "gailua" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "-" #: src/copy.c:2246 #, fuzzy, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "kopiatu lotura" #: src/copy.c:2355 #, fuzzy, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "erlatiboa in" #: src/copy.c:2362 #, fuzzy, c-format msgid "cannot create symbolic link %s to %s" msgstr "lotura" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "ezin da %s fifo-a sortu" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "ezin da %s fitxategi berezia sortu" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, fuzzy, c-format msgid "cannot read symbolic link %s" msgstr "lotura" #: src/copy.c:2463 #, fuzzy, c-format msgid "cannot create symbolic link %s" msgstr "lotura" #: src/copy.c:2495 #, fuzzy, c-format msgid "%s has unknown file type" msgstr "ezezaguna mota" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "ezin da %s babeskopia kendu" #: src/copy.c:2648 #, fuzzy, c-format msgid "%s -> %s (unbackup)\n" msgstr "e" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Erabilera: %s [AUKERA]... [-T] ITURRIA HELBURUA\n" " edo: %s [AUKERA]... ITURRIA... DIREKTORIOA\n" " edo: %s [AUKERA]... -t DIREKTORIOA ITURRIA...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Kopiatu ITURBURUA edo ITURBURUA DIREKTORIOA e e" #: src/cp.c:168 #, fuzzy msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" "a\n" " a -\n" "\n" " kopiatu kopiatu -\n" " ez lotura e" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" "ez\n" " behartu\n" " eta\n" " lehenago\n" " T e" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 #, fuzzy msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" "lotura lotura horren ordez -\n" "\n" " modua\n" " lehenetsia\n" " modua\n" " e" #: src/cp.c:203 #, fuzzy msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" "ez\n" " bide-izena DIREKTORIOA\n" " ez e" #: src/cp.c:207 #, fuzzy msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" "G kopiatu\n" " lehenago\n" " honekin behartu e" #: src/cp.c:213 #, fuzzy msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" "bai ez\n" "\n" " -\n" " edozein ITURBURUA\n" " e" #: src/cp.c:218 #, fuzzy msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" "lotura horren ordez -\n" " S\n" " DIREKTORIOA ITURBURUA DIREKTORIOA e" #: src/cp.c:224 #, fuzzy msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" "kopiatu ITURBURUA da\n" " edo\n" " da\n" " da eginda\n" " x aktibatuta uneko e" #: src/cp.c:233 #, fuzzy msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "lehenetsia ITURBURUA bider a eta da da bider auto a ITURBURUA hau daukana a " "- - e e" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "da honekin edo maiatzak edo BERTSIOA e e" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 #, fuzzy msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" "bat ere ez desaktibatuta da\n" "\n" " sinplea\n" " sinplea sinplea e" #: src/cp.c:258 #, fuzzy msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "a a - ITURBURUA behartu eta eta ITURBURUA eta errepikatu arte e" #: src/cp.c:317 #, fuzzy, c-format msgid "failed to preserve times for %s" msgstr "errepikatu arte" #: src/cp.c:348 #, fuzzy, c-format msgid "failed to preserve permissions for %s" msgstr "baimenak errepikatu arte" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "ezin da %s direktorioa egin" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s badago baina ez da direktorio bat" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "huts egin da %s irekitzen" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "zerrenda -" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "errepikatu arte" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "da a" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "a" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/cp.c:1110 #, fuzzy, c-format msgid "cannot make both hard and symbolic links" msgstr "eta" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "eta" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "babeskopia moeta" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "sarrera desagertu da" #: src/csplit.c:660 src/csplit.c:671 #, fuzzy, c-format msgid "%s: line number out of range" msgstr "-" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "-" #: src/csplit.c:703 src/csplit.c:752 #, fuzzy, c-format msgid " on repetition %s\n" msgstr "aktibatuta e" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ez da parekiderik topatu" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, fuzzy, c-format msgid "error in regular expression search" msgstr "in bilatu" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "idazketa errorea %s-(r)entzat" #: src/csplit.c:1059 #, fuzzy, c-format msgid "%s: integer expected after delimiter" msgstr "geroago" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "da in" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "eta" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "" #: src/csplit.c:1129 #, fuzzy, c-format msgid "%s: invalid regular expression: %s" msgstr "baliogabea" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: baliogabeko eredua" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "da" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "da" #: src/csplit.c:1255 #, fuzzy, c-format msgid "missing conversion specifier in suffix" msgstr "in" #: src/csplit.c:1261 #, fuzzy, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "baliogabea in" #: src/csplit.c:1264 #, fuzzy, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "baliogabea in" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "baliogabea" #: src/csplit.c:1286 #, fuzzy, c-format msgid "too many %% conversion specifications in suffix" msgstr "in" #: src/csplit.c:1300 #, fuzzy, c-format msgid "missing %% conversion specification in suffix" msgstr "in" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: baliogabeko zenbakia" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Erabilera: %s [AUKERA]... FITXATEGI EREDUA...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "Irteera - FITXATEGIA bider - e e" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" "erabili horren ordez -\n" " AURRIZKIA erabili AURRIZKIA horren ordez -\n" " aktibatuta e" #: src/csplit.c:1467 #, fuzzy msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" "e erabili - horren ordez -\n" " -\n" " hutsik hutsik e" #: src/csplit.c:1474 #, fuzzy msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "FITXATEGIA da maiatzak e" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " kopiatu gora\n" " kopiatu gora a\n" " a\n" " -\n" " e da a edo bider a e" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "Inprimatu - lerroz behin FITXATEGIA e e" #: src/cut.c:199 #, fuzzy msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" "\n" "\n" " erabili horren ordez - errepikatu arte e" #: src/cut.c:204 #, fuzzy msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" "edozein\n" " hau daukana ez\n" " da\n" " e enoratua e" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" "a\n" " lehenago da e" #: src/cut.c:214 #, fuzzy msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" "lerroz behin\n" " KATEA erabili KATEA\n" " lehenetsia da erabili e" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 #, fuzzy msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "eta - edo da gora - edo bider da - e\n" " I I edo\n" " I I edo -\n" " I M I M edo\n" " M lehen M edo e ez FITXATEGIA edo FITXATEGIA da e" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "baliogabea edo zerrenda" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "baliogabea zabalera" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "baliogabea modua" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "%s byte offset-a luzeegia da" #: src/cut.c:485 #, fuzzy, c-format msgid "field number %s is too large" msgstr "da" #: src/cut.c:795 src/cut.c:803 #, fuzzy msgid "only one type of list may be specified" msgstr "mota - zerrenda maiatzak" #: src/cut.c:812 src/numfmt.c:1408 #, fuzzy, c-format msgid "the delimiter must be a single character" msgstr "a" #: src/cut.c:847 #, fuzzy msgid "you must specify a list of bytes, characters, or fields" msgstr "a zerrenda - edo" #: src/cut.c:850 #, fuzzy msgid "an input delimiter may be specified only when operating on fields" msgstr "maiatzak aktibatuta" #: src/cut.c:854 #, fuzzy msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "lerroz behin e aktibatuta" #: src/cut.c:870 #, fuzzy msgid "missing list of fields" msgstr "zerrenda -" #: src/cut.c:872 #, fuzzy msgid "missing list of positions" msgstr "zerrenda -" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Erabilera: %s [AUKERA]... [+FORMATUA]\n" " edo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Bistaratu in edo e\n" " KATEA bider KATEA orain\n" " errepikatu arte -\n" " in\n" " errepikatu arte\n" " ordu minutu edo segundo errepikatu arte eta\n" "\n" " e" #: src/date.c:142 #, fuzzy msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" "FITXATEGIA azken - FITXATEGIA\n" " G\n" " KATEA bider KATEA\n" " edo Unibertsala Ordua e" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 #, fuzzy msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "errepikatu arte segundo Unibertsala Ordua e\n" " a\n" " a Ig. Lr. e" #: src/date.c:165 #, fuzzy msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" "A Igandea Larunbata\n" " hilabetea\n" " B hilabetea urtarrila abendua\n" " eta Lr. e" #: src/date.c:171 #, fuzzy msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" "C urtea bider eta\n" " eguna - hilabetea\n" " mm dd\n" " eguna - hilabetea e" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 #, fuzzy msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" "h\n" " T ordu\n" " jn. ordu\n" " eguna - urtea e" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" "ordu\n" " ordu\n" " m hilabetea\n" " M minutu e" #: src/date.c:194 #, fuzzy msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" "e a\n" " I\n" " edo in\n" " am edo pm in\n" " ordu mm M\n" " G ordu mm\n" " segundo UTC a e" #: src/date.c:203 #, fuzzy msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" "S segundo da a segundo\n" " a\n" " ordu mm\n" " eguna - astea Astelehena e" #: src/date.c:209 #, fuzzy msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" "astea - urtea honekin Igandea lehen eguna - astea\n" " B astea - urtea honekin Astelehena lehen eguna - astea\n" " eguna - astea Igandea\n" " M astea - urtea honekin Astelehena lehen eguna - astea e" #: src/date.c:215 #, fuzzy msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" "x mm dd\n" " X T M S\n" " b azken bikoa - urtea\n" " Y urtea e" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "sarrera estandarra" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr " %s baliogabeko data" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/date.c:430 #, fuzzy, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "errepikatu arte" #: src/date.c:437 #, fuzzy, c-format msgid "the options to print and set the time may not be used together" msgstr "eta maiatzak" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "a edozein a honekin." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "ezin da data ezarri" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "%s ordua barrutitik kanpora dago" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s [ERAGIGAI]...\n" " edo: %s AUKERA\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopiatu a eta e\n" " behartu eta\n" " a\n" " zerrenda\n" " kopiatu\n" " a e" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" "FITXATEGIA FITXATEGIA horren ordez -\n" " a\n" " - FITXATEGIA FITXATEGIA horren ordez -\n" " hasi -\n" " hasi - e" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e e" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "da a" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "a SIGUSR1 a martxan dd - eta e\n" " dd -\n" "\n" " in\n" " e" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "Infinity B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "%s sarrera fitxategia itxitzen" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "%s irteera fitxategia itxitzen" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "%s-ra idazten" #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "%s: '--%s' aukera ezezaguna\n" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "baliogabea" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "baliogabea hasi" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "baliogabeko taldea" #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "baliogabea" #: src/dd.c:1266 src/truncate.c:310 #, fuzzy, c-format msgid "invalid number %s" msgstr "baliogabea" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "ezin dira biak, erabiltzailea eta taldea, alde batera utzi" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "eta" #: src/dd.c:1354 #, fuzzy, c-format msgid "cannot combine excl and nocreat" msgstr "honekin edo" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "honekin edo" #: src/dd.c:1514 #, fuzzy, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "errepikatu arte\n" " - mota<sys/mtio.h> errepikatu arte zerrenda -" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: ezin da kendu" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: ezin da kendu" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, fuzzy, c-format msgid "warning: invalid file offset after failed read" msgstr "baliogabea zabalera horren ordez" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "-" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "erlatiboa" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "`fdatasync'-ek huts egin du %s-(r)entzat" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "%s-(r)entzat fsync-ek huts egin du" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "huts egin da %s irekitzen" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "huts egin da %s-(r)i `chdir' egiten" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Fitxategi-sistema" #: src/df.c:175 msgid "Type" msgstr "Moeta" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "bloke" #: src/df.c:181 msgid "Used" msgstr "Erab" #: src/df.c:184 msgid "Available" msgstr "Eskuragar" #: src/df.c:187 msgid "Use%" msgstr "Erab%" #: src/df.c:190 msgid "Inodes" msgstr "Inodoak" #: src/df.c:193 msgid "IUsed" msgstr "IErabil" #: src/df.c:196 msgid "IFree" msgstr "ILibre" #: src/df.c:199 msgid "IUse%" msgstr "IErab%" #: src/df.c:202 msgid "Mounted on" msgstr "Non muntatua" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Tamai" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Libre" #: src/df.c:474 msgid "Capacity" msgstr "Edukiera" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "FITXATEGI bakoitza dagoen fitxategi-sistemari buruzko informazioa erakutsi, " "edo\n" "lehenetsitako moduan fitxategi-sistema guztiena.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 0 bloke dizuten fitxategi-sistemak ere erakutsi\n" " -B, --block-size=TAMAINUA erabili TAMAINUA-byte-eko blokeak\n" " -h, --human-readable gizaki-irakurgai formatuan eman tamainuak (adib., 1K " "234M 2G)\n" " -H, --si analogoa, but 1000 erabiliz potentzia bezala 1024 " "beharrean\n" #: src/df.c:1227 #, fuzzy msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes erakutsi inodoen erabilera blokeenaren beharrean\n" " -k honen berdina --block-size=1K\n" " -l, --local Mugatu zerrendaketa fitxategi-sistema lokaletara\n" " --no-sync ez deitu sync-i erabilera datuak lortu aurretik " "(lehenetsia)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability erabili POSIX irteera formatua\n" " --sync deitu sync-i erabilera datuak jaso aurretik\n" " -t, --type=MOETA mugatu fitxategi-sistema zerrendaketa MOTA " "moetakoetara\n" " -T, --print-type inprimatu fitxategi-sistema moeta\n" " -x, --exclude-type=MOETA mugatu fitxategi-sistema zerrendaketa MOETA " "moetakoa ez direnera\n" " -v (ignoratua)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "errepikatu arte" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Abisua:" #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "%s fitxategi-sistema moeta aukeratuta eta eskludituta" #: src/df.c:1500 msgid "Warning: " msgstr "Abisua:" #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%sezin da irakurri muntaturiko fitxategi-sistemen taula" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "ez da fitxategi sistemarik prozesatu" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]\n" #: src/dircolors.c:98 #, fuzzy msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Irteera e -\n" "\n" " C\n" " e" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "FITXATEGIA da koloreak erabili errepikatu arte eta a da aktibatuta - e" #: src/dircolors.c:286 #, fuzzy, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "baliogabea segundo" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:359 msgid "<internal>" msgstr "<barneko>" #: src/dircolors.c:440 #, fuzzy, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "eta a" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, fuzzy, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "ez eta ez mota" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Erabilera: %s [AUKERA] IZENA...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "Inprimatu IZENA honekin osagaia IZENA hau daukana ez e e" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "lerroz behin honekin e" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Erabilera: %s [AUKERA]... [FITXATEGIA]...\n" " edo: %s [AUKERA]... --files0-from=FITXATEGIA\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "- FITXATEGIA errepikatu arte e e" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" "a errepikatu arte\n" " tamaina\n" " tamaina da maiatzak\n" " in\n" " eta\n" " B tamaina TAMAINA erabili TAMAINA\n" " tamaina tamaina\n" " a\n" " e" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" "x aktibatuta\n" " X FITXATEGIA FITXATEGIA edozein in FITXATEGIA\n" "\n" " I errepikatu arte a edo honekin\n" " da I edo\n" " da\n" " e" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" "T a\n" "\n" " h in\n" " h erabili -\n" " tamaina\n" " e" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" "\n" " ez edozein uneko da lehenetsia\n" " honekin\n" " S tamaina -\n" " a errepikatu arte e" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" "S bider tamaina\n" " X bat ere ez tamaina S\n" "\n" " erabili\n" " horren ordez -\n" " erabili edo erabili\n" " e" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Infinity B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "`fts_read'-ek huts egin du" #: src/du.c:780 #, fuzzy, c-format msgid "invalid maximum depth %s" msgstr "baliogabea gehienezkoa" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "baliogabeko argumentua: %s" #: src/du.c:887 #, fuzzy, c-format msgid "cannot both summarize and show all entries" msgstr "eta" #: src/du.c:894 #, fuzzy, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "da 0" #: src/du.c:900 #, fuzzy, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "honekin" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: irakurketa errorea" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "baliogabea taldea" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "guztira" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Erabilera: %s [KATEA]...\n" " or: %s AUKERA\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 #, fuzzy msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" "\n" "\n" "\n" " berria\n" "\n" "\n" " e" #: src/echo.c:77 #, fuzzy msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" "honekin balioa e\n" " honekin balioa\n" " honekin balioa e" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "IZENA KOMANDOA e" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "IZENA in eta KOMANDOA e\n" " ez ikusi egin hasi honekin hutsik\n" " IZENA e" #: src/env.c:68 #, fuzzy msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "Baldintzak ez KOMANDOA e" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "ezin da %s esteka kendu" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "ezin dira taldeak ezarri" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "Bihurtu in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #: src/expand.c:114 #, fuzzy msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" "geroago\n" " KOPURUA KOPURUA e" #: src/expand.c:118 #, fuzzy msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "erabili zerrenda - e" #: src/expand.c:171 src/unexpand.c:190 #, fuzzy, c-format msgid "tab stop is too large %s" msgstr "gelditu da" #: src/expand.c:179 src/unexpand.c:198 #, fuzzy, c-format msgid "tab size contains invalid character(s): %s" msgstr "tamaina hau daukana baliogabea" #: src/expand.c:205 src/unexpand.c:224 #, fuzzy, c-format msgid "tab size cannot be 0" msgstr "tamaina 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "sarrera lerroa luzeegia da" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s ADIERAZPENA\n" " edo: %s AUKERA\n" #: src/expr.c:211 #, fuzzy msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "balioa - ADIERAZPENA A ADIERAZPENA maiatzak e\n" " da e\n" " da edo e" #: src/expr.c:220 #, fuzzy msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " da\n" " da edo\n" " da\n" " da\n" " da edo\n" " da e" #: src/expr.c:229 #, fuzzy msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " batuketa - eta\n" " - eta e" #: src/expr.c:236 #, fuzzy, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " produktua - eta\n" " - bider\n" " - bider e" #: src/expr.c:242 #, fuzzy msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " KATEA - in KATEA e\n" " KATEA KATEA\n" " KATEA - KATEA\n" " KATEA in KATEA edozein da edo\n" " KATEA - KATEA e" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" "a da a\n" " edo e\n" " ADIERAZPENA balioa - ADIERAZPENA e" #: src/expr.c:257 #, fuzzy msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "edo errepikatu arte eta edo e eta - edo e" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sintasi errorea" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "in bilatu" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "baliogabea" #: src/expr.c:793 src/truncate.c:314 #, fuzzy, c-format msgid "division by zero" msgstr "bider" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "ezarri LC_ALL='C' arazo hau une batez konpontzeko" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Alderatutako bi kateak %s eta %s izan dira." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s ez da zenbaki positibo zuzena" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s luzeegia da" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s [ZENBAKIA]...\n" " edo: %s AUKERA\n" #: src/factor.c:2459 #, fuzzy msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "\n" " Inprimatu - Baldintzak ez\n" " aktibatuta e" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "ezin da uneko direktorioa lortu" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "ezin da %s direktoriora aldatu" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "ezin da 'stat' egin uneko direktorioan (unekoa %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Erabilera: %s [-ZABALERA] [AUKERA]... [FITXATEGIA]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "paragrafoa in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #: src/fmt.c:278 #, fuzzy msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" "albo - lehen bikoa lerroz behin\n" " KATEA lerroz behin KATEA\n" " lerroz behin e" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" "paragrafoa - lehen segundo\n" " bikoa geroago\n" " zabalera gehienezkoa zabalera lehenetsia - zutabetan e" #: src/fmt.c:359 #, fuzzy, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "baliogabea da da lehen erabili I horren ordez" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "baliogabeko zabalera: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "Itzulbiratu lerroz behin in FITXATEGIA bider lehenetsia e e" #: src/fold.c:77 #, fuzzy msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" "zutabetan\n" "\n" " zabalera erabili zutabetan horren ordez - e" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "baliogabeko zutabe kopurua: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Erabilera: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "taldea - e" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "taldea - e" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "errepikatu arte taldea IDa" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "e" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "ezin da erabiltzailearen id-a ezarri" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "ezin da %s kendu" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "ezin da erabiltzailearen id-a ezarri" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: Ez dago alako erabiltzailerik" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Inprimatu lehen lerroz behin - FITXATEGIA FITXATEGIA honekin a goiburua ez " "FITXATEGIA edo FITXATEGIA da e e" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" "I lehen I -\n" " honekin azken\n" " I -\n" " e lerroz behin I lehen I lerroz behin horren ordez - lehen\n" " honekin azken\n" " I lerroz behin - e" #: src/head.c:125 #, fuzzy msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" "\n" " e" #: src/head.c:131 #, fuzzy msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e e" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, fuzzy, c-format msgid "%s: number of bytes is too large" msgstr "- da" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: huts egin da ezabatzen" #: src/head.c:798 #, fuzzy, c-format msgid "cannot reposition file pointer for %s" msgstr "errepikatu arte" #: src/head.c:885 #, fuzzy, c-format msgid "%s: %s is so large that it is not representable" msgstr "da da" #: src/head.c:886 msgid "number of lines" msgstr "lerro kopurua" #: src/head.c:886 msgid "number of bytes" msgstr "byte kopurua" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "lerro kopuru okerra" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "byte kopuru okerra" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "baliogabea" #: src/hostid.c:42 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "\n" " edo in errepikatu arte e e" #: src/hostname.c:56 #, fuzzy, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "IZENA\n" " edo edo - e e" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "ezin izan da izena %s-(e)ra ezarri" #: src/hostname.c:97 #, fuzzy, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "uneko" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "ezin izan da ostalari-izena zehaztu" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Erabilera: %s [AUKERA]... [ERABILTZAILEA]\n" #: src/id.c:82 #, fuzzy msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Inprimatu errepikatu arte edo e\n" " a ez ikusi egin errepikatu arte honekin bestelakoa\n" " taldea taldea IDa\n" " B taldea\n" " e a horren ordez - a errepikatu arte\n" " IDa horren ordez - IDa honekin\n" " IDa e" #: src/id.c:96 #, fuzzy msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "edozein - e" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "in" #: src/id.c:185 #, fuzzy, c-format msgid "cannot print only names or real IDs in default format" msgstr "edo in lehenetsia" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "ezin da %s kendu" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "errepikatu arte IDa" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "uid=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr " gid=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr " euid=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr " egid=%lu" #: src/id.c:377 msgid " groups=" msgstr " taldeak=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontestua=%s" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "- e" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "%s direktorioa sortzen" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "ezin da aldatu %s-(r)en jabegoa" #: src/install.c:506 #, fuzzy, c-format msgid "cannot set time stamps for %s" msgstr "errepikatu arte" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "ezin da %s exekutatu" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "%s-ra idazten" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "%s baliogabeko erabiltzailea" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "ITURBURUA\n" " edo ITURBURUA DIREKTORIOA\n" " edo DIREKTORIOA ITURBURUA e" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "Handiagotu lehen bikoa kopiatu ITURBURUA edo ITURBURUA DIREKTORIOA eta jabea " "taldea hirugarren - DIREKTORIOA e e" #: src/install.c:615 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" "a -\n" "\n" " enoratua\n" "\n" " - e" #: src/install.c:624 #, fuzzy msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" "- azken\n" " kopiatu ITURBURUA in 1.\n" " taldea taldea horren ordez - taldea\n" " m modua modua in horren ordez - x\n" " jabea JABEA e" #: src/install.c:631 #, fuzzy msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" "- ITURBURUA\n" "\n" " errepikatu arte 1. eta 2.\n" " S\n" " - da e" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, fuzzy, c-format msgid "the strip option may not be used when installing a directory" msgstr "maiatzak a" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "maiatzak a" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "%s baliogabeko modua" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "eta" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "errepikatu arte" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "- lerroz behin honekin a lehenetsia da lehen Noiz edo da e\n" " a lerroz behin\n" " da edo edo\n" " honekin e" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" "ez ikusi egin ez ikusi egin in\n" "\n" "\n" " erabili eta bereizlea e" #: src/join.c:206 #, fuzzy msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" "a lerroz behin\n" " aktibatuta uneko -\n" " aktibatuta uneko - e" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "da eta enoratua bider da a da edo edo edo Lehenetsia bider e eta aktibatuta e" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, fuzzy, c-format msgid "invalid field number: %s" msgstr "baliogabea" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "baliogabea" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "baliogabea in" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "baliogabea" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, fuzzy, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "PID\n" " edo\n" " edo e" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "Bidali edo zerrenda e e" #: src/kill.c:88 #, fuzzy msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" "\n" " edo -\n" " zerrenda zerrenda edo\n" " taula a taula - e" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "maiatzak a edo a - a bider a da a taldea e" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: baliogabeko prozesu id-a" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "baliogabeko aukera -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "-l edo -t aukera anitz espezifikatu dira" #: src/kill.c:299 #, fuzzy, c-format msgid "cannot combine signal with -l or -t" msgstr "honekin edo" #: src/kill.c:305 #, fuzzy, c-format msgid "no process ID specified" msgstr "ez IDa" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "%s baliogabeko argumentua da %s-(r)entzat" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s 1FITXATEGIA 2FITXATEGIA\n" " edo: %s AUKERA\n" #: src/link.c:48 #, fuzzy msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "Deitu lotura a lotura e e" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "ezin da %s esteka sortu %s-(r)a" #: src/ln.c:190 #, fuzzy, c-format msgid "%s: hard link not allowed for directory" msgstr "lotura errepikatu arte" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s ordezkatu?" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "lotura" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "lotura" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "%.0s%s-(e)ra esteka trinkoa sortzen" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "lotura" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "lotura" #: src/ln.c:374 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "ITURBURUA 1.\n" " edo ITURBURUA DIREKTORIOA 2.\n" " edo DIREKTORIOA 3. e" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" "a -\n" "\n" " lotura\n" " oharra\n" " errepikatu arte\n" " behartu e" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" "e ez da a a\n" " a\n" "\n" " horren ordez - e" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" "S\n" " DIREKTORIOA DIREKTORIOA in\n" "\n" " - lehenago e" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "da a" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "lotura" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: unknown" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Erabilera: %s [AUKERA]\n" #: src/logname.c:40 #, fuzzy msgid "" "Print the name of the current user.\n" "\n" msgstr "Inprimatu - e e" #: src/logname.c:84 #, fuzzy, c-format msgid "no login name" msgstr "ez" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%Y %b %e" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, fuzzy, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "baliogabea balioa - ESTILOA" #: src/ls.c:1599 #, fuzzy, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "baliogabea zabalera in" #: src/ls.c:1629 #, fuzzy, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "baliogabea tamaina in" #: src/ls.c:1750 src/ptx.c:1975 #, fuzzy, c-format msgid "invalid line width: %s" msgstr "baliogabea zabalera" #: src/ls.c:1824 #, fuzzy, c-format msgid "invalid tab size: %s" msgstr "baliogabea tamaina" #: src/ls.c:2033 #, fuzzy, c-format msgid "invalid time style format %s" msgstr "baliogabea" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Baliozko argumentuak hauek dira:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "aurrizki ezezaguna: %s" #: src/ls.c:2437 #, fuzzy, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "balioa errepikatu arte" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "ezin da %s direktorioa ireki" #: src/ls.c:2529 #, fuzzy, c-format msgid "cannot determine device and inode of %s" msgstr "gailua eta -" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "lotura errepikatu arte" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "%s direktorioa irakurtzen" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "%s direktorioa itxitzen" #: src/ls.c:3302 #, fuzzy, c-format msgid "cannot compare file names %s and %s" msgstr "eta" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "Zerrenda bider lehenetsia bat ere ez - e e" #: src/ls.c:4728 #, fuzzy 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" msgstr "" "a honekin\n" " A zerrenda eta\n" " egilea egilea -\n" " errepikatu arte e" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" "tamaina TAMAINA erabili TAMAINA\n" " B ez ikusi egin zerrenda honekin\n" " honekin bider eta - azken\n" " -\n" " honekin eta bider\n" " bider e" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" "C zerrenda bider zutabetan\n" " kolorea kolorea da\n" " maiatzak edo auto\n" " zerrenda horren ordez -\n" " eta\n" " errepikatu arte Emacs modua e" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" "gaitu desgaitu\n" " -\n" " x m x\n" " C\n" " e" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 #, fuzzy msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all 0 bloke dizuten fitxategi-sistemak ere erakutsi\n" " -B, --block-size=TAMAINUA erabili TAMAINUA-byte-eko blokeak\n" " -h, --human-readable gizaki-irakurgai formatuan eman tamainuak (adib., 1K " "234M 2G)\n" " -H, --si analogoa, but 1000 erabiliz potentzia bezala 1024 " "beharrean\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" "honekin\n" " bat ere ez lehenetsia mota\n" " -\n" " jn. ez ikusi egin zerrenda\n" " tamaina e" #: src/ls.c:4795 #, fuzzy msgid "" " -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" msgstr "" "erabili a\n" " errepikatu arte a\n" " lotura errepikatu arte lotura\n" " errepikatu arte lotura bere gainera\n" " m zabalera honekin a zerrenda - e" #: src/ls.c:4803 #, fuzzy msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" "e zerrenda eta\n" " I\n" "\n" " zerrenda taldea\n" " mota - e" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" "horren ordez -\n" " da lehenetsia\n" " programa da eta da a terminala\n" " in bikoitza\n" " erabili errepikatu arte\n" " e" #: src/ls.c:4820 #, fuzzy msgid "" " -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" msgstr "" "\n" " G zerrenda\n" " tamaina tamaina - in e" #: src/ls.c:4825 #, fuzzy msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" "S bider tamaina\n" " X bat ere ez tamaina S\n" "\n" " erabili\n" " horren ordez -\n" " erabili edo erabili\n" " e" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" "ESTILOA ESTILOA\n" "\n" " da da\n" "<newline>\n" " eta\n" " ESTILOA da honekin ESTILOA\n" "\n" " bider\n" " horren ordez - e" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 #, fuzzy msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" "honekin bider eta\n" " honekin eta bider\n" " bider\n" " zerrenda in\n" " bider e" #: src/ls.c:4855 #, fuzzy msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" "zabalera zabalera horren ordez - balioa\n" " x zerrenda bider lerroz behin horren ordez - bider zutabetan\n" " X bider\n" " zerrenda e" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "FITXATEGIA\n" " edo FITXATEGIA edo ez FITXATEGIA edo FITXATEGIA da e" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" "\n" " B erabili gailua e e" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " B erabili gailua e e" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr "" "\n" " B erabili gailua e e" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "bikoa\n" "\n" " lerroz behin e e" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "in Noiz a - uneko programa lehenetsia modua da honekin a mota errepikatu " "arte errepikatu arte eta errepikatu arte FITXATEGIA e" #: src/md5sum.c:523 #, fuzzy, c-format msgid "%s: too many checksum lines" msgstr "ez lerroz behin" #: src/md5sum.c:547 #, fuzzy, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "ez lerroz behin" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: HUTS egin du irekitzeak edo irakurtzeak\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "HUTS EGIN DA" #: src/md5sum.c:597 msgid "OK" msgstr "ongi" #: src/md5sum.c:621 #, fuzzy, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "ez lerroz behin" #: src/md5sum.c:631 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ez lerroz behin" msgstr[1] "ez lerroz behin" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ABISUA -" msgstr[1] "ABISUA -" #: src/md5sum.c:647 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ABISUA -" msgstr[1] "ABISUA -" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "da" #: src/md5sum.c:773 #, fuzzy, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "eta testua" #: src/md5sum.c:781 #, fuzzy, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "da" #: src/md5sum.c:788 #, fuzzy, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "da" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "da" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "da" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Erabilera: %s [AUKERA]... DIREKTORIOA...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Sortu DIREKTORIOA(k) dagoeneko ez badira existitzen.\n" "\n" #: src/mkdir.c:63 #, fuzzy msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" "m modua modua in\n" " ez\n" " a errepikatu arte e" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "%s direktorioa sortua" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Erabilera: %s [AUKERA]... IZENA...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Sortu honekin e e" #: src/mkfifo.c:58 src/mknod.c:60 #, fuzzy msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "m modua modua in a e" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, fuzzy, c-format msgid "invalid mode" msgstr "baliogabea modua" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, fuzzy, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "IZENA MOTA e" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "Sortu IZENA - MOTA e e" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 #, fuzzy msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "eta MOTA da edo eta MOTA da Baldintzak edo honekin edo da honekin MOTA " "maiatzak e" #: src/mknod.c:75 #, fuzzy msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " a\n" " a\n" " a e" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "eta gailua" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "baliogabea gailua" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "%s baliogabeko `major' gailu zenbakia" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "%s baliogabeko `minor' gailu zenbakia" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "%s %s baliogabeko gailua" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "%s baliogabeko gailua mota" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Erabilera: %s [AUKERA]... [TXANTILOIA]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "txantiloi gehiegi" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "X gutxitxo %s txantiloian" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "ezin da %s direktorioa sortu" #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "errepikatu arte" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "Izena aldatu ITURBURUA edo ITURBURUA DIREKTORIOA e e" #: src/mv.c:298 #, fuzzy msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" "a -\n" "\n" " behartu lehenago\n" " bai\n" " lehenago\n" " e" #: src/mv.c:307 #, fuzzy msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" "bai ez\n" "\n" " edozein ITURBURUA\n" "\n" " S e" #: src/mv.c:312 #, fuzzy msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" "DIREKTORIOA ITURBURUA DIREKTORIOA\n" " ITURBURUA da\n" " edo\n" " da\n" " da eginda e" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Erabilera: %s [AUKERA] [KOMANDOA [ARGUMENTUA]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "%s baliogabeko aldaketa" #: src/nice.c:181 #, fuzzy, c-format msgid "a command must be given with an adjustment" msgstr "a honekin" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "ezin da sistemaren izena lortu" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "ezin da data ezarri" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "Idatzi FITXATEGIA honekin ez FITXATEGIA edo FITXATEGIA da e e" #: src/nl.c:186 #, fuzzy msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" "ESTILOA erabili ESTILOA errepikatu arte lerroz behin\n" " CC erabili CC errepikatu arte\n" " orri-oina ESTILOA erabili ESTILOA errepikatu arte orri-oina lerroz behin e" #: src/nl.c:191 #, fuzzy msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" "h goiburua ESTILOA erabili ESTILOA errepikatu arte goiburua lerroz behin\n" " KOPURUA\n" " lerroz behin KOPURUA taldea - KOPURUA hutsik lerroz behin\n" " e\n" " ez berrezarri\n" " bereizlea KATEA KATEA geroago e" #: src/nl.c:199 #, fuzzy msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" "lehen KOPURUA lehen aktibatuta\n" " zabalera KOPURUA erabili KOPURUA zutabetan errepikatu arte e" #: src/nl.c:205 #, fuzzy msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "lehenetsia CC errepikatu arte a Mota errepikatu arte ESTILOA da - e" #: src/nl.c:211 #, fuzzy msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a lerroz behin\n" " lerroz behin\n" " e ez lerroz behin\n" " lerroz behin a errepikatu arte e da - e\n" " left ez\n" " right ez\n" " right e e" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "da" #: src/nl.c:478 #, fuzzy, c-format msgid "invalid header numbering style: %s" msgstr "baliogabea goiburua" #: src/nl.c:486 #, fuzzy, c-format msgid "invalid body numbering style: %s" msgstr "baliogabea" #: src/nl.c:494 #, fuzzy, c-format msgid "invalid footer numbering style: %s" msgstr "baliogabea orri-oina" #: src/nl.c:503 #, fuzzy, c-format msgid "invalid starting line number: %s" msgstr "baliogabea" #: src/nl.c:512 #, fuzzy, c-format msgid "invalid line number increment: %s" msgstr "baliogabea" #: src/nl.c:524 #, fuzzy, c-format msgid "invalid number of blank lines: %s" msgstr "baliogabea - lerroz behin" #: src/nl.c:538 #, fuzzy, c-format msgid "invalid line number field width: %s" msgstr "baliogabea zabalera" #: src/nl.c:557 #, fuzzy, c-format msgid "invalid line numbering format: %s" msgstr "baliogabea" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s KOMANDOA [ARGUMENTUA]...\n" " edo: %s AUKERA\n" #: src/nohup.c:59 #, fuzzy msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "Exekutatu KOMANDOA e e" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "stderr berbideratzeak huts egin du" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "sarrerari ezikusiarena egiten" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "irteera %s-ri eransten" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "irteera %s-ri eransten" #: src/nohup.c:193 #, fuzzy, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "kopiatu - aktibatuta" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "sarrerari ezikusiarena egiten eta stderr stdout-era berbideratzen" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "stderr stdout-era berbideratzen" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "stderr berbideratzeak huts egin du" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Erabilera: %s [AUKERA]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "baliogabea - lerroz behin" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "balioa" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "baliogabea" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "baliogabeko atzizkia %s%s argumentua `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: huts egin da idazteko irekitzean" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "baliogabea tamaina" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Erabilera: %s [AUKERA]... [ERABILTZAILEA]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Beste aukerak:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "baliogabea zabalera" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "baliogabeko atzizkia %s%s argumentua `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "baliogabea mota" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "baliogabea" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr " %s baliogabeko data" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "honekin edo" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "honekin edo" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "-l edo -t aukera anitz espezifikatu dira" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "honekin edo" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "errorea %s irakurtzen" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "stderr berbideratzeak huts egin du" #: src/od.c:294 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "FITXATEGIA\n" " edo FITXATEGIA e" #: src/od.c:300 #, fuzzy msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "bider lehenetsia FITXATEGIA FITXATEGIA in ez FITXATEGIA edo FITXATEGIA da e e" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "segundo lehen da eta a edo maiatzak errepikatu arte eta errepikatu arte " "bider e da gora - edo - e\n" " a\n" " ASCII edo e" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" "A\n" " lehen e" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" "I\n" " -\n" " MOTA edo\n" " erabili\n" " zabalera\n" " in e" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "maiatzak\n" " a a\n" "\n" " ASCII edo\n" " e" #: src/od.c:345 #, fuzzy msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" "\n" " h\n" "\n" "\n" "\n" " x e" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 #, fuzzy msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" "TAMAINA TAMAINA\n" " TAMAINA puntu TAMAINA\n" " TAMAINA TAMAINA\n" " TAMAINA TAMAINA\n" " x TAMAINA TAMAINA e" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "da a MOTA in TAMAINA maiatzak C errepikatu arte S errepikatu arte jn. " "errepikatu arte edo errepikatu arte Baldintzak MOTA da TAMAINA maiatzak " "errepikatu arte bikoitza edo errepikatu arte bikoitza e" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e e" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "baliogabea mota" #: src/od.c:649 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "baliogabea mota a mota" #: src/od.c:770 #, fuzzy, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "baliogabea mota a puntu mota" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "baliogabea in mota" #: src/od.c:1053 #, fuzzy, c-format msgid "cannot skip past end of combined input" msgstr "-" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "baliogabea" #: src/od.c:1735 #, fuzzy, c-format msgid "no type may be specified when dumping strings" msgstr "ez mota maiatzak" #: src/od.c:1810 #, fuzzy msgid "compatibility mode supports at most one file" msgstr "modua hirukoa" #: src/od.c:1831 #, fuzzy, c-format msgid "skip-bytes + read-bytes is too large" msgstr "da" #: src/od.c:1874 #, fuzzy, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "baliogabea zabalera horren ordez" #: src/operand2sig.c:69 #, fuzzy, c-format msgid "%s: invalid signal" msgstr "baliogabea" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "sarrera estandarra itxita dago" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Idatzi lerroz behin - lerroz behin FITXATEGIA bider ez FITXATEGIA edo " "FITXATEGIA da e e" #: src/paste.c:447 #, fuzzy msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" "horren ordez -\n" " seriekoa itsatsi a horren ordez - in e" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "baliogabea in modua" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "fitxategi izena hutsik" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Saio izena:" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Egiazko bizitzan:" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Direktorioa:" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Shell-a:" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Proiektua: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plana:\n" #: src/pinky.c:405 msgid "Login" msgstr "Saio-hasiera" #: src/pinky.c:407 msgid "Name" msgstr "Izena" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "alfer-denbora" #: src/pinky.c:411 msgid "When" msgstr "Noiz" #: src/pinky.c:414 msgid "Where" msgstr "Non" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Erabilera: %s [AUKERA]... [ERABILTZAILEA]...\n" #: src/pinky.c:494 #, fuzzy msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " errepikatu arte\n" " eta in\n" " h in\n" " in\n" " uneko da lehenetsia e" #: src/pinky.c:502 #, fuzzy msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" "- goiburuak in\n" " in\n" " eta urrunekoa in\n" " urrunekoa eta\n" " in e" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "programa e" #: src/pinky.c:595 #, fuzzy, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "ez" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "baliogabea mota" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "baliogabea - lerroz behin" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "I KOPURUA baliogabea" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "baliogabea" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "baliogabea -" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "M baliogabea -" #: src/pr.c:1096 #, fuzzy, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "- zutabetan in." #: src/pr.c:1100 #, fuzzy, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "eta in." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "edo baliogabea in" #: src/pr.c:1293 #, fuzzy, c-format msgid "page width too narrow" msgstr "zabalera" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "da" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "edo FITXATEGIA errepikatu arte e e" #: src/pr.c:2763 #, fuzzy msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" "\n" " gelditu honekin\n" " zutabetan\n" " zutabetan eta zutabetan behera\n" " a da - lerroz behin in\n" " zutabetan aktibatuta e" #: src/pr.c:2771 #, fuzzy msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" "a zutabetan behera\n" " honekin\n" "\n" " erabili B eta\n" " bikoitza\n" " bikoitza e" #: src/pr.c:2779 #, fuzzy msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" "\n" " erabili errepikatu arte goiburua\n" "\n" "\n" "\n" " erabili horren ordez -\n" " bider a goiburua honekin edo a goiburua\n" " eta e" #: src/pr.c:2789 #, fuzzy msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" "h goiburua\n" " erabili a horren ordez - Fitxategi-izena in goiburua\n" " h a erabili h\n" "\n" " honekin\n" " lerroz behin lerroz behin desaktibatuta M ez\n" " KATEA e" #: src/pr.c:2798 #, fuzzy msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" "\n" " lerroz behin\n" " lehenetsia - lerroz behin - testua eta honekin\n" " m in in\n" " lerroz behin lerroz behin - honekin e" #: src/pr.c:2805 #, fuzzy msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" "e lerroz behin\n" " lerroz behin erabili\n" " lehenetsia honekin 1. -\n" " I KOPURUA lehen KOPURUA\n" " hasi honekin KOPURUA 1. - lehen\n" " e" #: src/pr.c:2813 #, fuzzy msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" "\n" " honekin\n" " edo M\n" " ez\n" " a e" #: src/pr.c:2820 #, fuzzy msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" "bereizlea\n" " zutabetan bider a lehenetsia errepikatu arte\n" " da<TAB> eta ez honekin\n" " desaktibatuta -\n" " a m da e" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" "zutabetan bider KATEA\n" " S Lehenetsia bereizlea<TAB> honekin eta<space>\n" " S ez aktibatuta\n" " goiburua eta e" #: src/pr.c:2834 #, fuzzy msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" "\n" " eta edozein\n" " bider in\n" "\n" " erabili\n" " zabalera\n" " zabalera errepikatu arte\n" " testua desaktibatuta e" #: src/pr.c:2844 #, fuzzy msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" "M zabalera\n" " zabalera\n" " lerroz behin da ez\n" " honekin S edo e" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "e bider edo honekin ez FITXATEGIA edo da e" #: src/printenv.c:62 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "\n" " edo ez e e" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "lerroz behin honekin e" #: src/printf.c:79 #, fuzzy, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "enoratua" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s FORMATUA [ARGUMENTUA]...\n" " edo: %s AUKERA\n" #: src/printf.c:93 #, fuzzy msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "Inprimatu e e" #: src/printf.c:99 #, fuzzy msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "in C e\n" " bikoitza\n" " honekin balioa\n" " e" #: src/printf.c:117 #, fuzzy msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" "honekin balioa e\n" " honekin balioa\n" " honekin balioa e" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" "a\n" " a honekin\n" " - edo e C honekin - honekin mota lehen Aldakorra e" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: zenbaki balioa espero zen" #: src/printf.c:150 #, fuzzy, c-format msgid "%s: value not completely converted" msgstr "balioa" #: src/printf.c:247 src/printf.c:274 #, fuzzy, c-format msgid "missing hexadecimal number in escape" msgstr "in" #: src/printf.c:286 #, fuzzy, c-format msgid "invalid universal character name \\%c%0*x" msgstr "baliogabea x" #: src/printf.c:547 #, fuzzy, c-format msgid "invalid field width: %s" msgstr "baliogabea zabalera" #: src/printf.c:582 #, fuzzy, c-format msgid "invalid precision: %s" msgstr "baliogabea" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "baliogabea" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "honekin" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "errepikatu arte" #: src/ptx.c:1817 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "B\n" " edo B e" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "Irteera a - in e e" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" "A auto\n" " C copyright-a Copyright eta\n" " B Sistema B\n" " KATEA erabili KATEA errepikatu arte e" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" "M KATEA erabili horren ordez -\n" "\n" " G right right in\n" " S errepikatu arte - lerroz behin edo -\n" " e" #: src/ptx.c:1839 #, fuzzy msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" "M erabili\n" " FITXATEGIA in uneko FITXATEGIA\n" " ez ikusi egin errepikatu arte\n" " tamaina KOPURUA tamaina in zutabetan\n" " ez ikusi egin FITXATEGIA ez ikusi egin zerrenda FITXATEGIA\n" " FITXATEGIA zerrenda uneko FITXATEGIA e" #: src/ptx.c:1847 #, fuzzy msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" "lehen - da a\n" " modua\n" " zabalera KOPURUA zabalera in zutabetan e" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "ez FITXATEGIA edo FITXATEGIA da Estandarra Sarrera bider lehenetsia e" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "baliogabea zabalera" #: src/pwd.c:57 #, fuzzy msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "Inprimatu Fitxategi-izena - e e" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "huts egin da %s-(r)i `chdir' egiten" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "huts egin da %s-(r) `stat' egiten" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "aukera ez diren argumentuak baztertzen" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Erabilera: %s [AUKERA]... FITXATEGIA...\n" #: src/readlink.c:63 #, fuzzy msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "Bistaratu balioa - a lotura aktibatuta e e" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" "bider in\n" " osagaia - bide-izena\n" " e ez\n" "\n" "\n" " e" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "aukera ez diren argumentuak baztertzen" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: %s %s ezabatu?" #: src/remove.c:374 #, fuzzy, c-format msgid "removed directory: %s\n" msgstr "e" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "ezin da %s direktorioa sortu" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "irakurtzeak huts egin du" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" "ez lehenetsia\n" " aktibatuta\n" " G -\n" " da eginda e" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "a honekin a errepikatu arte foo -\n" " foo e\n" " foo e" #: src/rm.c:177 #, fuzzy msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "erabili a da - Baldintzak e" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: ezabatu argumentu guztiak errekurtsiboki?" #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: ezabatu argumentu guztiak?" #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "direktorioa kentzen, %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "e" #: src/rmdir.c:165 #, fuzzy msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Kendu DIREKTORIOA hutsik e\n" " ez ikusi egin aktibatuta hutsik\n" " ez ikusi egin da a\n" " da hutsik e" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" "DIREKTORIOA\n" " osagaia - bide-izena E a da\n" " a a a\n" " a errepikatu arte e" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "huts egin da %s irekitzen" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "rol anitz" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "mota anitz" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "erabiltzaile anitz" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "maila anitz" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "-" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "-c, -t, -u, -l, -r edo kontestua adierazi behar duzu" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "ez IDa" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "huts egin da %s irekitzen" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "huts egin da %s irekitzen" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "huts egin da %s irekitzen" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "huts egin da %s irekitzen" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "huts egin da %s irekitzen" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "\n" " edo\n" " edo e" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Inprimatu in - e\n" " erabili puntu lehenetsia\n" " bereizlea KATEA erabili KATEA lehenetsia e\n" " zabalera zabalera bider honekin e" #: src/seq.c:86 #, fuzzy msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "edo da da da eta puntu da da eta da da - puntu e" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, fuzzy, c-format msgid "invalid floating point argument: %s" msgstr "baliogabea puntu" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "ezezaguna mota" #: src/seq.c:555 #, fuzzy, c-format msgid "format string may not be specified when printing equal width strings" msgstr "maiatzak zabalera" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "KOMANDOA\n" " edo e" #: src/setuidgid.c:55 #, fuzzy msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "edozein IDa eta taldea IDa - eta KOMANDOA honekin edozein honekin UID eta " "GID honekin - KOMANDOA programa da bider UID e e" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "erabiltzile-ID ezezaguna: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "taldea" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "taldea IDa" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "IDa" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "Gainidatzi FITXATEGIA in e e" #: src/shred.c:155 #, fuzzy, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" "behartu baimenak\n" " e I Gainidatzi I horren ordez - lehenetsia\n" " tamaina I uneko M B e" #: src/shred.c:161 #, fuzzy msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" "eta geroago\n" "\n" " x gora hurrengo\n" " uneko da lehenetsia errepikatu arte\n" " a honekin\n" " e" #: src/shred.c:170 #, fuzzy msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "FITXATEGIA da lehenetsia da da aktibatuta gailua Noiz aktibatuta erabili e e" #: src/shred.c:180 #, fuzzy msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "Oharra aktibatuta a garrantzitsua in da uneko - aktibatuta da e e" #: src/shred.c:188 #, fuzzy msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "edo honekin\n" " eta Solaris eta e e eta aktibatuta\n" " e e Sarea zerbitzaria e e" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 #, fuzzy msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "in\n" " e e e eta urrunekoa maiatzak eta a e" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek-ek huts egin du" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fitxategi luzeegia" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat-ek huts egin du" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: fitxategi moeta baliogabea" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: fitxategiak luzeera negatiboa dauka" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fnctl-ek huts egin du" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: kentzen" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: %s-(e)ra izena aldatu da" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: huts egin da ezabatzen" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: kenduta" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: huts egin da itxitzean" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: huts egin da idazteko irekitzean" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: baliogabeko pausu kopurua" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s; fitxategi tamaina baliogabea" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Erabilera: %s [AUKERA]... [FITXATEGIA]\n" " edo: %s -e [AUKERA]... [ARGUMENTUA]...\n" " edo: %s -i LO-HI [AUKERA]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "Inprimatu - lerroz behin FITXATEGIA e e" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "-l edo -t aukera anitz espezifikatu dira" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "baliogabea" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "baliogabea zabalera" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "honekin edo" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "KOPURUA\n" " edo errepikatu arte KOPURUA segundo maiatzak errepikatu arte segundo " "lehenetsia e m errepikatu arte minutu h errepikatu arte ordu edo errepikatu " "arte egun eskatu KOPURUA KOPURUA maiatzak e e" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "baliogabea" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "Idatzi - FITXATEGIA e e e" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Aukerak ordenatzen:\n" "\n" #: src/sort.c:409 #, fuzzy msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" "ez ikusi egin ez ikusi egin\n" " eta\n" " ez ikusi egin e" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" "orokorra orokorra balioa\n" " ez ikusi egin\n" " M hilabetea ezezaguna\n" " e balioa\n" " - e e" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 #, fuzzy msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" "orokorra orokorra balioa\n" " ez ikusi egin\n" " M hilabetea ezezaguna\n" " e balioa\n" " - e e" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Beste aukerak:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 #, fuzzy msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" "Bestelakoak e\n" " da\n" " hasi a\n" " m\n" " FITXATEGIA FITXATEGIA horren ordez -\n" " bider azken\n" " S tamaina TAMAINA erabili TAMAINA errepikatu arte e" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" "bereizlea erabili horren ordez -\n" " erabili errepikatu arte edo\n" "\n" " esklusiboa honekin errepikatu arte\n" " lehen - e" #: src/sort.c:478 #, fuzzy msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "lerroz behin honekin e" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "da C da eta C da edo errepikatu arte Baldintzak ez da erabili e maiatzak " "bider e" #: src/sort.c:496 #, fuzzy msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "- lehenetsia eta aktibatuta errepikatu arte M B E Y e ez FITXATEGIA edo " "FITXATEGIA da e e ABISUA bider DENAK C e" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "%s-ra idazten" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "ezin da %s esteka sortu" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "irekitzeak huts egin du" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "itxierak huts egin du" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "itxierak huts egin du" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "irekitzeak huts egin du" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "ezin izan da %s exekutatu" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "ezin izan da abio ordua lortu" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "ezin da %s direktorioa sortu" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "ezin izan da %s -d exekutatu" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "ezin da %s kendu" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "baliogabeko argumentua: %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "%s argumentu anbiguoa da %s-(r)entzat" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s luzeegia da" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "uneko rlimit-arekin gehienezko --%s argumentu kopurua %s da " #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "`stat'-ek huts egin du" #: src/sort.c:1755 msgid "read failed" msgstr "irakurtzeak huts egin du" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "kate konparaketak huts egin du" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "`-%s' aukerak ez dira bateragarriak" msgstr[1] "`-%s' aukerak ez dira bateragarriak" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "idazketak huts egin du" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: desordena: " #: src/sort.c:2786 msgid "standard error" msgstr "errore estandarra" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "ezin da data ezarri" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "baliogabea" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "`-%s' aukerak ez dira bateragarriak" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "baliogabea hasi -" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "baliogabeko zenbakia `-'-ren ondoren" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "baliogabeko zenbakia `.'-ren ondoren" #: src/sort.c:4315 src/sort.c:4421 #, fuzzy msgid "stray character in field spec" msgstr "in" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "-l edo -t aukera anitz espezifikatu dira" #: src/sort.c:4379 #, fuzzy msgid "invalid number at field start" msgstr "baliogabea hasi" #: src/sort.c:4383 src/sort.c:4411 #, fuzzy msgid "field number is zero" msgstr "da" #: src/sort.c:4392 msgid "character offset is zero" msgstr "offset karakterea zero da" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "`,' ondoren zenbaki baliogabea" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tabulazioa hutsa" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "eta" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: fitxategi moeta baliogabea" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "ez dago sarrearik %s-(e)tik" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, fuzzy, c-format msgid "extra operand %s not allowed with -%c" msgstr "-c-rekin baimendu gabeko `%s' eragigai extra" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Erabilera: %s [AUKERA]... [SARRERA [AURRIZKIA]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "Irteera finkoa tamaina - lehenetsia da x ez edo da e e" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" "a I erabili - I lehenetsia\n" " TAMAINA TAMAINA\n" " C TAMAINA TAMAINA - lerroz behin\n" " erabili horren ordez -\n" " lerroz behin KOPURUA KOPURUA lerroz behin e" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" "a\n" " lehenago da e" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "Irteera" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "`%s' fitxategia sortzen\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "huts egin da %s irekitzen" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "huts egin da %s irekitzen" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "%s direktorioa itxitzen" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "%s irteera fitxategia itxitzen" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "%s sarrera fitxategia itxitzen" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "%s sarrera fitxategia itxitzen" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "huts egin da %s komandoa exekutatzen" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "huts egin da %s klonatzen" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "%s-ra idazten" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, fuzzy, c-format msgid "cannot split in more than one way" msgstr "in" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "baliogabea - segundo" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: baliogabeko zenbakia" #: src/split.c:1119 #, fuzzy, c-format msgid "%s: invalid suffix length" msgstr "baliogabea" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, fuzzy, c-format msgid "%s: invalid number of bytes" msgstr "baliogabea -" #: src/split.c:1163 src/split.c:1310 #, fuzzy, c-format msgid "%s: invalid number of lines" msgstr "baliogabea - lerroz behin" #: src/split.c:1236 #, fuzzy, c-format msgid "line count option -%s%c... is too large" msgstr "da" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "baliogabea" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s; fitxategi tamaina baliogabea" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "ezin izan da ostalari-izena zehaztu" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "huts egin da %s klonatzen" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: '%c%s' aukera ezezaguna\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%%%c. direktiba baliogabea" #: src/stat.c:1170 #, fuzzy, c-format msgid "warning: backslash at end of format" msgstr "baliogabea -" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, fuzzy, c-format msgid "cannot read file system information for %s" msgstr "errepikatu arte" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "sarrera estandarra itxitzen" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, fuzzy, c-format msgid "Context: %C\n" msgstr " kontestua=%s" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "errepikatu arte e\n" " A in\n" " a in\n" " B tamaina in - bider\n" " Zenbakia - B e" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" "Gailua in\n" " Gailua in\n" " Fitxategia mota\n" " Formaturik gabe modua in\n" " B Taldea - jabea\n" " Taldea IDa - jabea e" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" "h Zenbakia -\n" "\n" " I Aipamen gisa Fitxategia honekin lotura\n" " e Fitxategia\n" " tamaina\n" " Guztira tamaina in\n" " gailua mota in\n" " gailua mota in e" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" "Erabiltzailea - jabea\n" " Erabiltzailea IDa - jabea\n" " X Ordua - azken segundo\n" " x Ordua - azken\n" " Y Ordua - azken segundo\n" " b Ordua - azken\n" " Ordua - azken segundo\n" " Ordua - azken e e" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "errepikatu arte e\n" " a Libre\n" " Guztira in\n" " Guztira in\n" " Libre in\n" " Libre in e" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" "Fitxategia Sistema in\n" " -\n" " e Fitxategia\n" " tamaina\n" " Mota in\n" " Mota in e" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Erabilera: %s [AUKERA]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "huts egin da %s irekitzen" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, fuzzy, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "GAILUA GAILUA\n" " edo GAILUA GAILUA a\n" " edo GAILUA GAILUA e" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Inprimatu edo terminala e\n" " a in\n" " in a\n" " GAILUA eta erabili GAILUA horren ordez - e" #: src/stty.c:532 #, fuzzy msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "lehenago e" #: src/stty.c:537 #, fuzzy msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" " a terminala gelditu\n" " -\n" " e" #: src/stty.c:544 #, fuzzy msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" "errepikatu arte\n" " azken\n" "\n" " e" #: src/stty.c:550 #, fuzzy msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" "hurrengo\n" " a\n" "\n" " hasi geroago e" #: src/stty.c:556 #, fuzzy msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" "gelditu gelditu\n" " a terminala gelditu\n" " a\n" " azken e" #: src/stty.c:562 #, fuzzy msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" " I eta I\n" " I terminala I zutabetan\n" " zutabetan I I e" #: src/stty.c:569 #, fuzzy msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" "I I\n" " I erabili I\n" " min I honekin I gutxienekoa errepikatu arte a\n" " I I e" #: src/stty.c:575 #, fuzzy msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" "errenkadatan I terminala I errenkadatan\n" " tamaina - errenkadatan eta zutabetan\n" " terminala\n" " I honekin - I - a segundo e" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" " desgaitu modem\n" " jasota\n" " gaitu\n" " tamaina I I in e" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" "erabili bikoa gelditu honekin\n" " a azken\n" "\n" " in eta in\n" " honekin e" #: src/stty.c:597 #, fuzzy msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "\n" "\n" " ez ikusi egin\n" " ez ikusi egin e" #: src/stty.c:605 #, fuzzy msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" "ez ikusi egin honekin\n" " eta a aktibatuta a\n" "\n" " gaitu\n" " garbitu handia 8. - e" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 #, fuzzy msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" "\n" " edozein hasi\n" " gaitu - hasi gelditu\n" " gaitu\n" " honekin a\n" " e" #: src/stty.c:623 #, fuzzy msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" " I in\n" " I in\n" " I in\n" " I in e" #: src/stty.c:631 #, fuzzy msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "\n" " erabili errepikatu arte horren ordez -\n" " erabili horren ordez - errepikatu arte\n" "\n" "\n" " a e" #: src/stty.c:639 #, fuzzy msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" "hau ematen du in lehen\n" "\n" " I in\n" "\n" "\n" " I in e" #: src/stty.c:647 #, fuzzy msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "\n" " bider eta\n" " bider eta e" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" "in\n" "\n" "\n" "\n" " a geroago a e" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" "\n" " bestelakoa\n" " gorantz eta\n" " gaitu eta\n" " gaitu e" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" "gaitu eta\n" " desgaitu geroago eta\n" "\n" " gelditu atzeko planoa terminala\n" " honekin honekin errepikatu arte e" #: src/stty.c:675 #, fuzzy msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "\n" "\n" " e" #: src/stty.c:682 #, fuzzy msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" "\n" " eta lehenetsia\n" "\n" " e" #: src/stty.c:688 #, fuzzy msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" "\n" "\n" "\n" " eta lehenetsia\n" " e" #: src/stty.c:695 #, fuzzy msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" "\n" "\n" "\n" "\n" "\n" " e" #: src/stty.c:703 #, fuzzy msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" "\n" "\n" "\n" "\n" " e" #: src/stty.c:710 #, fuzzy msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" "\n" "\n" " min\n" " e" #: src/stty.c:716 #, fuzzy msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" "\n" "\n" "\n" "\n" "\n" " lehenetsia e" #: src/stty.c:724 #, fuzzy msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "eta Handiagotu da edo in edo edo desgaitu e" #: src/stty.c:796 #, fuzzy, c-format msgid "only one device may be specified" msgstr "gailua maiatzak" #: src/stty.c:826 #, fuzzy, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "errepikatu arte eta" #: src/stty.c:832 #, fuzzy, c-format msgid "when specifying an output style, modes may not be set" msgstr "maiatzak" #: src/stty.c:847 #, fuzzy, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "berrezarri modua" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "baliogabeko argumentua: %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "argumentua falta da %s-(r)entzat" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "baliogabea zabalera" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, fuzzy, c-format msgid "%s: no size information for this device" msgstr "ez tamaina errepikatu arte uneko gailua" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "baliogabea" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 #, fuzzy msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Inprimatu eta errepikatu arte FITXATEGIA e\n" " erabili batuketa erabili\n" " erabili Sistema B batuketa erabili e" #: src/sync.c:41 #, fuzzy msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "Behartu e e" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "argumentu guztiak ignoratzen" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help mezu hau erakutsi eta irten\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version bertsioari buruzko informazioa atera eta irten\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Beharrezkoak diren argumentuak aukera luzeetan, beharrezkoak dira aukera " "txikietan ere.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "%s-(r)en rograma-erroreen berri emateko idatzi %s-(e)ri\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Saiatu `%s --help' erabiltzen informazio gehiagorako.\n" #: src/system.h:628 #, fuzzy, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ABISUA a da -\n" " e" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "Idatzi FITXATEGIA azken lehen ez FITXATEGIA edo FITXATEGIA da e e" #: src/tac.c:144 #, fuzzy msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" "lehenago bereizlea lehenago horren ordez - geroago\n" " bereizlea a\n" " bereizlea KATEA erabili KATEA bereizlea horren ordez - e" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: seek-ek huts egin du" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "erregistroa luzeegia da" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "ezin da %s esteka sortu" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: huts egin da idazteko irekitzean" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "errepikatu arte" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: idazketa errorea" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "errepikatu arte" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "bereizlea-k ezin du hutsunea izan" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Inprimatu azken lerroz behin - FITXATEGIA FITXATEGIA honekin a goiburua ez " "FITXATEGIA edo FITXATEGIA da e e" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 #, fuzzy msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" "\n" "\n" " eta\n" "\n" " e" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" "e lerroz behin I azken I lerroz behin horren ordez - azken\n" " I\n" " honekin a FITXATEGIA\n" " tamaina geroago I lehenetsia\n" " edo\n" " uneko da - e" #: src/tail.c:294 #, fuzzy msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" "PID honekin geroago IDa PID\n" "\n" " S honekin errepikatu arte S segundo\n" " lehenetsia\n" " e" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" "PID honekin geroago IDa PID\n" "\n" " S honekin errepikatu arte S segundo\n" " lehenetsia\n" " e" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "lehen - I - edo lerroz behin da a honekin hasi - azken I in I maiatzak a m e " "e" #: src/tail.c:319 #, fuzzy msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "lehenetsia da - Erabili in bider eta bider bestelakoa programa e" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "%s itxitzen (fd=%d)" #: src/tail.c:453 #, fuzzy, c-format msgid "%s: cannot seek to relative offset %s" msgstr "erlatiboa" #: src/tail.c:457 #, fuzzy, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "erlatiboa" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:980 #, fuzzy, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "honekin gora aktibatuta uneko" #: src/tail.c:989 #, fuzzy, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "honekin gora aktibatuta uneko" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:1018 #, fuzzy, c-format msgid "%s has appeared; following end of new file" msgstr "- berria" #: src/tail.c:1029 #, fuzzy, c-format msgid "%s has been replaced; following end of new file" msgstr "- berria" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "berrezarri modua" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fitxategia trunkatu da" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "ez da fitxategirik geratzen" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "ezin da 'stat' egin uneko direktorioan (unekoa %s)" #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "Irteera" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "ezin zaio %s-(r)i watch egin" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "errorea inotify gertakariak irakurtzen" #: src/tail.c:1786 #, fuzzy, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "- uneko mota - gora aktibatuta uneko" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "zenbakia %s-(e)-n luzeegia da" #: src/tail.c:1975 #, fuzzy, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "baliogabea gehienezkoa -" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: baliogabeko PIDa" #: src/tail.c:2010 #, fuzzy, c-format msgid "%s: invalid number of seconds" msgstr "baliogabea - segundo" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, fuzzy, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "da bider" #: src/tail.c:2038 #, fuzzy, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "PID enoratua PID da" #: src/tail.c:2041 #, fuzzy, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "PID da aktibatuta uneko" #: src/tail.c:2142 #, fuzzy, c-format msgid "cannot follow %s by name" msgstr "bider" #: src/tail.c:2148 #, fuzzy, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "da" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 #, fuzzy msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopiatu FITXATEGIA eta e\n" " a\n" " ez ikusi egin ez ikusi egin e" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "ez FITXATEGIA edo FITXATEGIA da e" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argumentua falta da %s-(r)en ondoren" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "baliogabeko %s osokoa" #: src/test.c:241 msgid "')' expected" msgstr "')' espero zen" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' espero zen, eta %s aurkitu da" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "e" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt aukerak ez du -l onartzen" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef aukerak ez du -l onartzen" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot aukerak ez du -l onartzen" #: src/test.c:367 msgid "unknown binary operator" msgstr "operatzaile binario ezezaguna" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: operatzaile binarioa espero zen" #: src/test.c:704 #, fuzzy msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "ADIERAZPENA\n" " edo ADIERAZPENA\n" " edo honekin bider ADIERAZPENA e e" #: src/test.c:711 #, fuzzy msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "ADIERAZPENA\n" " edo ADIERAZPENA\n" " edo honekin bider ADIERAZPENA e e" #: src/test.c:717 #, fuzzy msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "da edo eta da - e" #: src/test.c:722 #, fuzzy msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ADIERAZPENA ADIERAZPENA da\n" " ADIERAZPENA ADIERAZPENA da\n" " a eta\n" " edo da e" #: src/test.c:729 #, fuzzy msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " e KATEA - KATEA da\n" " KATEA - KATEA da\n" "\n" " e" #: src/test.c:737 #, fuzzy msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " da\n" " da edo\n" " da\n" " da edo\n" " da\n" " da e" #: src/test.c:746 #, fuzzy msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " eta gailua eta\n" " da\n" " da e" #: src/test.c:752 #, fuzzy msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " FITXATEGIA FITXATEGIA badago eta da\n" " FITXATEGIA FITXATEGIA badago eta da\n" " FITXATEGIA FITXATEGIA badago eta da a\n" " FITXATEGIA FITXATEGIA badago e" #: src/test.c:759 #, fuzzy msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" "FITXATEGIA FITXATEGIA badago eta da a\n" " FITXATEGIA FITXATEGIA badago eta da taldea IDa\n" " h FITXATEGIA FITXATEGIA badago eta da a lotura\n" " B FITXATEGIA FITXATEGIA badago eta da bider taldea IDa\n" " FITXATEGIA FITXATEGIA badago eta e" #: src/test.c:766 #, fuzzy msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" "FITXATEGIA FITXATEGIA badago eta da a lotura h\n" " FITXATEGIA FITXATEGIA badago eta da bider IDa\n" " FITXATEGIA FITXATEGIA badago eta da a\n" " FITXATEGIA FITXATEGIA badago eta da\n" " FITXATEGIA FITXATEGIA badago eta a tamaina e" #: src/test.c:773 #, fuzzy msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" "S FITXATEGIA FITXATEGIA badago eta da a\n" " FD FD bider lehenetsia da aktibatuta a terminala\n" " FITXATEGIA FITXATEGIA badago eta IDa da\n" " FITXATEGIA FITXATEGIA badago eta da\n" " x FITXATEGIA FITXATEGIA badago eta da e" #: src/test.c:780 #, fuzzy msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "bider errepikatu arte maiatzak KATEA - KATEA e" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "`]' falta da" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argumentu gehigarria: %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Erabilera: %s [AUKERA] ERRO-BERRIA [KOMANDOA [ARGUMENTUA]...]\n" " edo: %s AUKERA\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Beharrezkoak diren argumentuak aukera luzeetan, beharrezkoak dira aukera " "txikietan ere.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "errorea komandoari itxaroten" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "%s baliogabeko data formatua" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "ezin zaio %s-(e)ri touch egin" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "%s-(r)en datak ezartzen" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 #, fuzzy msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" "a\n" " ez edozein\n" " KATEA KATEA eta erabili horren ordez -\n" " enoratua\n" " m e" #: src/touch.c:231 #, fuzzy msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" "h ez lotura horren ordez - edozein\n" " aktibatuta\n" " - a e" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" "FITXATEGIA erabili uneko horren ordez -\n" " erabili CC horren ordez -\n" " bider erabili a\n" " m e" #: src/touch.c:246 #, fuzzy msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "eta e" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "da erabili" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Erabilera: %s [AUKERA]... MULTZO1 [MULTZO2]\n" #: src/tr.c:290 #, fuzzy msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "eta edo e\n" " lehen\n" " in\n" " - a\n" " da in honekin a\n" " -\n" " lehen - e" #: src/tr.c:303 #, fuzzy msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "- e\n" " honekin balioa\n" "\n" " a\n" "\n" "\n" "\n" " berria\n" "\n" " e" #: src/tr.c:317 #, fuzzy msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" "\n" " in\n" " in - data hau arte: -\n" " - honekin\n" " eta\n" " alfa\n" "\n" "\n" " e" #: src/tr.c:328 #, fuzzy msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" "\n" "\n" "\n" "\n" " edo\n" "\n" "\n" " e" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, fuzzy, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "da e" #: src/tr.c:518 #, fuzzy, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "a lotura a lotura da" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "- in" #: src/tr.c:829 #, fuzzy, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "baliogabea in e" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "baliogabea" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "baliogabea" #: src/tr.c:947 #, fuzzy, c-format msgid "%s: equivalence class operand must be a single character" msgstr "a" #: src/tr.c:1229 #, fuzzy, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "eta edo" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "in" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, fuzzy, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "maiatzak in" #: src/tr.c:1490 #, fuzzy, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "maiatzak in" #: src/tr.c:1498 #, fuzzy, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "maiatzak in" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "maiatzak in eta" #: src/tr.c:1520 #, fuzzy, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "hutsik" #: src/tr.c:1529 #, fuzzy, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "honekin in" #: src/tr.c:1538 #, fuzzy, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "maiatzak in" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "bikoa eta" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "bikoa" #: src/tr.c:1800 #, fuzzy msgid "Only one string may be given when deleting without squeezing repeats." msgstr "maiatzak" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s IZENA\n" " edo: %s AUKERA\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Erabilera: %s AUKERA... FITXATEGIA...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: fitxategiak luzeera negatiboa dauka" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "- eguna" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "irteera fitxategi anitz espezifikatu dira" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "a zerrenda - edo" #: src/truncate.c:340 #, fuzzy, c-format msgid "you must specify a relative %s with %s" msgstr "a zerrenda - edo" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "ezin da %s ireki idazketarako" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "FITXATEGIA zerrenda honekin in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #: src/tsort.c:472 #, fuzzy, c-format msgid "%s: input contains an odd number of tokens" msgstr "hau daukana -" #: src/tsort.c:518 #, fuzzy, c-format msgid "%s: input contains a loop:" msgstr "hau daukana a:" #: src/tty.c:65 #, fuzzy msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Inprimatu - terminala e\n" " ezer ere ez e" #: src/tty.c:120 msgid "not a tty" msgstr "ez da tty bat" #: src/uname.c:124 #, fuzzy msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Inprimatu ez e\n" " a in\n" "\n" " e\n" " e" #: src/uname.c:133 #, fuzzy msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" "\n" " m\n" " mota\n" "\n" " e" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "ezin da sistemaren izena lortu" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "Bihurtu in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #: src/unexpand.c:124 #, fuzzy msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" "a horren ordez -\n" " lehen - a\n" " I I horren ordez - a\n" " erabili - a e" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "gelditu da" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Erabilera: %s [AUKERA]... [SARRERA [IRTEERA]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 #, fuzzy msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" "lerroz behin bider - aldiz\n" " lerroz behin e" #: src/uniq.c:151 #, fuzzy msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" "lerroz behin\n" " bat ere ez lehenetsia\n" " da eginda honekin lerroz behin\n" " I lehen I\n" " ez ikusi egin ez ikusi egin in\n" " I lehen I\n" " esklusiboa esklusiboa lerroz behin e" #: src/uniq.c:161 #, fuzzy msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "I ez I in lerroz behin e" #: src/uniq.c:166 #, fuzzy msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "da a - lehenago e" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "errepikatutako lerro gehiegi" #: src/uniq.c:521 #, fuzzy msgid "invalid number of fields to skip" msgstr "baliogabea -" #: src/uniq.c:530 #, fuzzy msgid "invalid number of bytes to skip" msgstr "baliogabea -" #: src/uniq.c:539 #, fuzzy msgid "invalid number of bytes to compare" msgstr "baliogabea -" #: src/uniq.c:558 #, fuzzy, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "lerroz behin eta da" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s FITXATEGIA\n" " edo: %s AUKERA\n" #: src/unlink.c:48 #, fuzzy msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "Deitu FITXATEGIA e e" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "ezin da %s esteka kendu" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "ezin izan da abio ordua lortu" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "piztuta ???? egun ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "piztuta egun %ld %2d:%02d," msgstr[1] "piztuta %ld egun %2d:%02d," #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "piztuta egun %ld %2d:%02d," #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "erabiltzaile %lu" msgstr[1] "%lu erabiltzaile" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", karga batez bestekoa: %.2f" #: src/uptime.c:197 #, fuzzy, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Inprimatu - gora - aktibatuta eta batez bestekoa - azken eta minutu " "FITXATEGIA da erabili FITXATEGIA da e e" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "Irteera da in FITXATEGIA FITXATEGIA da erabili FITXATEGIA da e e" #: src/users.c:106 #, fuzzy, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "Irteera da in FITXATEGIA FITXATEGIA da erabili FITXATEGIA da e e" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Inprimatu eta errepikatu arte FITXATEGIA eta a FITXATEGIA da ez FITXATEGIA " "edo FITXATEGIA da\n" "\n" " m\n" " lerroz behin e" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " zaharra " #: src/who.c:440 msgid "system boot" msgstr "sistemaren abioa" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "terminala=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "irten=" #: src/who.c:485 msgid "LOGIN" msgstr "SAIO HASIERA" #: src/who.c:505 msgid "clock change" msgstr "ordu aldaketa" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "abio-maila" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "azkena=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# Erabiltzaile kopurua=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "IZENA" #: src/who.c:559 msgid "LINE" msgstr "LERROA" #: src/who.c:559 msgid "TIME" msgstr "ORDUA" #: src/who.c:559 msgid "IDLE" msgstr "Alfer-denbora" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "AZALPENA" #: src/who.c:560 msgid "EXIT" msgstr "IRTEN" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all -b -d --login -p -r -t -T -u aukeren berdina\n" " -b, --boot sistemaren abioaren azken data\n" " -d, --dead inprimatu hildako prozesuak\n" " -H, --heading inprimatu zutabe buruen lerroak\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 #, fuzzy msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" "DNS\n" " m eta honekin\n" " bider e" #: src/who.c:659 #, fuzzy msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" "eta - aktibatuta\n" "\n" " eta lehenetsia\n" " azken e" #: src/who.c:665 #, fuzzy msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" "edo\n" " zerrenda in\n" "\n" " e" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "FITXATEGIA da erabili FITXATEGIA da m am edo e" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "Inprimatu honekin e e" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: ezin da izenik aurkitu %lu IDa duen erabiltzailearentzat\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s [KATEA]...\n" " or: %s AUKERA\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Errepikatu lerro berri batean espezifikatutako KATEA(k), edo `y'.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "`%s' fitxategia sortzen\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Erabilera: %s [AUKERA] IZENA...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "baliogabea" #~ msgid "reading %s" #~ msgstr "%s irakurtzen" #~ msgid "writing %s" #~ msgstr "%s idazten" #~ msgid "closing %s" #~ msgstr "%s itxitzen" #~ msgid "accessing %s" #~ msgstr "%s-(r)a sartzen" #~ msgid "opening %s" #~ msgstr "%s irekitzen" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s IZENA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ "bat ere ez desaktibatuta da\n" #~ "\n" #~ " sinplea\n" #~ " sinplea sinplea e" #, fuzzy #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "da erabili horren ordez" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Denak errepikatu arte e" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "da errepikatu arte errepikatu arte x errepikatu arte edo e errepikatu " #~ "arte bat ere ez da honekin edo da bider bider honekin eta bider honekin m " #~ "a mota a - - " #, fuzzy #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "a zabalera a lehenetsia A e" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Erabilera: %s [AUKERA]... FITXATEGIA\n" #~ msgid "Password:" #~ msgstr "Pasahitza:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ezin da /dev/tty ireki" #~ msgid "cannot set groups" #~ msgstr "ezin dira taldeak ezarri" #~ msgid "cannot set group id" #~ msgstr "ezin da taldearen id-a ezarri" #~ msgid "cannot set user id" #~ msgstr "ezin da erabiltzailearen id-a ezarri" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Erabilera: %s[AUKERA]... [-][ERABILTZAILEA [ARG]...]\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Aldatu eta taldea - e\n" #~ " a\n" #~ " KOMANDOA a KOMANDOA honekin\n" #~ " errepikatu arte edo\n" #~ " m berrezarri\n" #~ " m\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "Baldintzak e" #~ msgid "user %s does not exist" #~ msgstr "%s erabiltzaileak ez du existitzen" #~ msgid "incorrect password" #~ msgstr "pasahitza ez da zuzena" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Aldatu taldea - FITXATEGIA taldea - FITXATEGIA - e\n" #~ " a da\n" #~ " - lotura\n" #~ " lotura bere gainera e" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " erabili taldea\n" #~ " balioa\n" #~ " G aktibatuta eta\n" #~ " a errepikatu arte e e" #, fuzzy #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Aldatu modua - FITXATEGIA e\n" #~ " a da e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "\n" #~ " a errepikatu arte\n" #~ " erabili modua horren ordez -\n" #~ " G eta e" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Aldatu jabea eta edo taldea - FITXATEGIA JABEA eta edo jabea eta taldea - " #~ "FITXATEGIA - e\n" #~ " a da\n" #~ " - lotura\n" #~ " lotura bere gainera e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " erabili jabea eta taldea\n" #~ " JABEA\n" #~ " G aktibatuta eta\n" #~ " a errepikatu arte e e" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMAINUA hauetako bat izan daiteke (edo zenbaki oso bat aukeran honako " #~ "batez jarraitua):\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, edo berdina hauekin G, T, P, " #~ "E, Z, Y.\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot create link %s" #~ msgstr "ezin da %s esteka sortu" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "baliogabea" #~ msgid "creating symbolic link %s" #~ msgstr "%s esteka sinbolikoa sortzen" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "%s -> %s esteka sinbolikoa sortzen" #~ msgid "creating hard link %s" #~ msgstr "%s esteka trinkoa sortzen" #~ msgid "creating hard link %s => %s" #~ msgstr "%s => %s esteka trinkoa sortzen" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "`%s' eragigai extra" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "baliogabea - lerroz behin 0" #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Erabilera: %s [AUKER] ZENBAKIA[ATZIZKIA] KOMANDOA [ARGUMENTUA]...\n" #~ " edo: %s [AUKERA]\n" #, fuzzy #~ msgid "warning: the --%s option is obsolete; use --reference" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -r and -s options are mutually exclusive.\n" #~ msgstr "eta" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: -- %c aukera ilegala\n" #~ msgid "invalid argument: %s" #~ msgstr "baliogabeko argumentua: %s" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version bertsioari buruzko informazioa atera eta irten\n" #, fuzzy #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "a da " #~ msgid "block size" #~ msgstr "bloke tamainua" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "ezin da %s-(r)en jabetza eta/edo taldea aldatu" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "ezin da UID zenbaki baten saio taldea lortu" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Hau software librea da; ikusi iturburua kopien kondizioak jakiteko. EZ " #~ "dago inolako bermerik;\n" #~ "ez HELBURU ZEHATZ BATERAKO ez SALTZEKO.\n" #~ msgid "too few arguments" #~ msgstr "argumentu gutxiegi" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Erabilera: %s [AUKERA] [FITXATEGIA]...\n" #~ msgid "closing standard output" #~ msgstr "irteera estandarra itxitzen" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "taldea" #~ msgid "group number" #~ msgstr "talde zenbakia" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "baliogabea taldea" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "da edo - - eta bat ere ez edo - e" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "da honekin edo maiatzak edo BERTSIOA e e" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "da a" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "azken da a" #, fuzzy #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "B da errepikatu arte in Erabili horren ordez." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "aktibatuta uneko" #, fuzzy #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ "Y m\n" #~ " urtea B astea\n" #~ " B urtea B astea e" #, fuzzy #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "a\n" #~ " edo ezer ere ez ez da e lehenetsia honekin eta a e\n" #~ "\n" #~ " honekin e" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "a maiatzak G" #~ msgid "undefined" #~ msgstr "definitu gabea" #, fuzzy #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " -\n" #~ " geroago\n" #~ " honekin tamaina\n" #~ " honekin edo honekin e" #, fuzzy #~ msgid "%s+%s records in\n" #~ msgstr "in e" #, fuzzy #~ msgid "%s+%s records out\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "in" #, fuzzy #~ msgid "file offset out of range" #~ msgstr "-" #, fuzzy #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "ez FITXATEGIA maiatzak honekin" #, fuzzy #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "ABISUA erabili T - T -" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "KATEA e" #, fuzzy #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Oihartzuna KATEA e\n" #~ " e\n" #~ " gaitu -\n" #~ "\n" #~ " E desgaitu - in e" #, fuzzy #~ msgid "" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "E eta e\n" #~ " ASCII da\n" #~ "\n" #~ " a abisua\n" #~ " e" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "lehen da da enoratua" #, fuzzy #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "Inprimatu - KOPURUA e e" #~ msgid "`%s' is too large" #~ msgstr "`%s' luzeegia da" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "enoratua\n" #~ " edo honekin a e maiatzak e e" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "eE maiatzak a m e" #, fuzzy #~ msgid "%s: number of bytes is large" #~ msgstr "- da" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "eta taldea" #, fuzzy #~ msgid "cannot get supplemental group list" #~ msgstr "taldea zerrenda" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "azken da a" #~ msgid "%s is a directory" #~ msgstr "%s direktorio bat da" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "value %s is so large that it is not representable" #~ msgstr "balioa da da" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "baliogabea errepikatu arte" #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "baliogabea errepikatu arte" #~ msgid "%s: File exists" #~ msgstr "%s: Fitxategia badago" #~ msgid "create symbolic link %s to %s" #~ msgstr "sortu esteka sinbolikoa %s-tik %s-ra" #~ msgid "create hard link %s to %s" #~ msgstr "sortu esteka sendoa %s-tik %s-ra" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "IZENA\n" #~ " edo DIREKTORIOA\n" #~ " edo DIREKTORIOA e" #, fuzzy #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ msgstr "" #~ "Sortu a lotura honekin IZENA IZENA da a lotura honekin da in Noiz segundo " #~ "honekin azken a DIREKTORIOA Sortu bider lehenetsia honekin Noiz e e" #, fuzzy #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "azken a" #~ msgid "User name too long" #~ msgstr "Erabiltzaile izena luzeegia da" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (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" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ "zerrenda jabea\n" #~ " B ez taldea - taldea\n" #~ " h in\n" #~ " erabili -\n" #~ " T\n" #~ " aktibatuta\n" #~ "\n" #~ " lotura\n" #~ " puntu a e" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ "lehenetsia kolorea da - da kolorea bat ere ez kolorea da kolorea e " #~ "kolorea auto kolorea da a terminala e" #, fuzzy #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " in modua lehenetsia aktibatuta Leihoak\n" #~ " zerrenda\n" #~ " testua in testua modua lehenetsia e e" #~ msgid "files" #~ msgstr "fitxategiak" #~ msgid "checksum" #~ msgstr "egiaztapeneko batura" #~ msgid "checksums" #~ msgstr "egiaztapeneko baturak" #, fuzzy #~ msgid "no files may be specified when using --string" #~ msgstr "ez maiatzak" #, fuzzy #~ msgid "only one argument may be specified when using --check" #~ msgstr "maiatzak" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Erabilera: %s [AUKERA] DIREKTORIOA...\n" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "-" #, fuzzy #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "eta gailua maiatzak errepikatu arte" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "azken a" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Exekutatu KOMANDOA honekin ez KOMANDOA da lehenetsia e\n" #~ " e bider lehen e" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "baliogabea" #~ msgid "cannot get priority" #~ msgstr "ezin da prioritatea lortu" #~ msgid "cannot set priority" #~ msgstr "ezin da prioritatea ezerri" #~ msgid "minimum string length" #~ msgstr "gutxieneko kate luzeera" #~ msgid "width specification" #~ msgstr "zabalera espezifikazioa" #, fuzzy #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "baliogabea segundo in modua" #, fuzzy #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "in modua azken bikoa" #, fuzzy #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "zabalera e" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "in IZENA e\n" #~ " errepikatu arte uneko e" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "bide-izena hau daukana" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' ez da direktorio bat" #~ msgid "directory `%s' is not searchable" #~ msgstr "`%s' direktorioa bilaezina da" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "-" #, fuzzy #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "bide-izena -" #, fuzzy #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "da" #, fuzzy #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "zutabetan baliogabea - zutabetan" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%Y %b %e %H:%M" #, fuzzy #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "-" #~ msgid "Page %d" #~ msgstr "%d orrialdea" #, fuzzy #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr "KATEA e" #, fuzzy #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ "a abisua\n" #~ "\n" #~ " ez\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "\n" #~ " berria\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "programa da eta edo - Orokorra Publikoa Lizentzia bider Libre Softwarea " #~ "edo e e" #, fuzzy #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "programa da in - edo A Orokorra Publikoa Lizentzia errepikatu arte e e" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "\"GNU General Public License\"-ren kopia bat jaso behar izango\n" #~ "zenuke programarekin batera. Horrela ez bada izan hurrengo helbidera\n" #~ "idatzi:\n" #~ "Free Software Foundation, Inc., 59 Temple Place, Suite 330,\n" #~ "Boston, MA 02111-1307 USA\n" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "in" #, fuzzy #~ msgid "cannot remove `.' or `..'" #~ msgstr "edo" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Kendu FITXATEGIA e\n" #~ " FITXATEGIA da a hutsik\n" #~ " uneko\n" #~ " errepikatu arte\n" #~ " behartu ez ikusi egin\n" #~ " lehenago edozein e" #, fuzzy #~ msgid "invalid format string: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "AUKERAK FITXATEGIA e" #, fuzzy #~ msgid "sort size" #~ msgstr "tamaina" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "maiatzak a errepikatu arte errepikatu arte m errepikatu arte e" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Erabilera: %s [AUKERA] FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Bistaratu edo e\n" #~ " horren ordez -\n" #~ " erabili horren ordez - lehenetsia\n" #~ "\n" #~ " in e" #, fuzzy #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Abisua da erabili horren ordez" #, fuzzy #~ msgid "new_mode: mode\n" #~ msgstr "berria modua modua e" #~ msgid "stdin: read error" #~ msgstr "stdin: irakurketa errorea" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ msgstr "" #~ "a da\n" #~ " edo\n" #~ " honekin\n" #~ " I azken I e" #, fuzzy #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "baliogabea in" #, fuzzy #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "Noiz maiatzak ez Erabili e edo horren ordez." #, fuzzy #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "Abisua da erabili bikoa edo honekin Erabili e edo horren ordez." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "baliogabea gehienezkoa - tamaina" #~ msgid "argument expected\n" #~ msgstr "argumentu bat espero da\n" #, fuzzy #~ msgid "%s: integer expression expected\n" #~ msgstr "e" #~ msgid "after -lt" #~ msgstr "-lt-ren ondoren" #~ msgid "before -le" #~ msgstr "-le baino lehen" #~ msgid "after -le" #~ msgstr "-le-ren ondoren" #~ msgid "before -gt" #~ msgstr "-gt baino lehen" #~ msgid "after -gt" #~ msgstr "-gt-ren ondoren" #~ msgid "before -ge" #~ msgstr "-ge baino lehen" #~ msgid "after -ge" #~ msgstr "-ge-ren ondoren" #~ msgid "before -ne" #~ msgstr "-ne baino lehen" #~ msgid "after -ne" #~ msgstr "-ne-ren ondoren" #~ msgid "before -eq" #~ msgstr "-eq baino lehen" #~ msgid "after -eq" #~ msgstr "-eq-ren ondoren" #~ msgid "after -t" #~ msgstr "-t-ren ondoren" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "e" #~ msgid "creating %s" #~ msgstr "%s sortzen" #, fuzzy #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "Eguneratu eta - FITXATEGIA e e" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "da eta eta e maiatzak da - bider azken " #, fuzzy #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "enoratua eta in in maiatzak in " #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "eta geroago edo e" #, fuzzy #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "baliogabea edozein edo in honekin a e edo in" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "enoratua\n" #~ " edo honekin a e maiatzak e e" #, fuzzy #~ msgid "only one argument may be specified" #~ msgstr "maiatzak" #, fuzzy #~ msgid "tab size contains an invalid character" #~ msgstr "tamaina hau daukana baliogabea" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "da erabili lehen" #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "Utzi - lerroz behin edo edo e e" #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "da erabili" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d: %02d%s piztuta " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%d day" #~ msgid_plural "%d days" #~ msgstr[0] "%d egun" #~ msgstr[1] "%d egun" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Erabilera: %s [AUKERA]... [ FITXATEGIA]\n" #, fuzzy #~ msgid "" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ "-\n" #~ " e" #, fuzzy #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ "edo\n" #~ " erabili\n" #~ " e" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Abisua: -i ezabatua izango da etorkizuneko bertsiotan; erabili -u honen " #~ "ordez" #, fuzzy #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "errepikatu arte UID e" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/sv.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001205241�12107204517�012124� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���8��0���ð1��i��°c�����T…�����d…��¤…������܈�����݈��¬���߈��¡���Œ‰��6��.Š��ø���e‹��¾���^Œ��¿�����Â���Ý��ª��� Ž��G��K��ù���“��º���‘��p���H’��!��¹’��¼���Û“��©��˜”��w��B–��5��º—��R��ð˜��~���Cš�� ���š��\���К��w���-›��T���¥›��G���ú›��ï���Bœ��w���2��¡���ª��#��Lž����pŸ��š���u ��Ä���¡��D��Õ¡��7��¤��z���R¥����Í¥�����Ϧ��Þ���]§��i���<¨��J���¦¨��›���ñ¨�����©��¸���ª��ˆ���Ȫ��È���Q«��„���¬��M��Ÿ¬��à���í­��›���ή��—���j¯��Ó���°��`���Ö°��‚���7±����º±��>���ϲ��3��³��|���B´��Ý���¿´��K��µ��=���é¶��l���'·��0���”·��D���Å·���� ¸��ž��$¹��K��ú��Ê���¼��–���Ú¼��-��q½��Ê���Ÿ¿��ç���jÀ��J���RÁ��ð���Á����ŽÂ��‡���ŸÃ��¾���'Ä��á���æÄ��E���ÈÅ��>���Æ��Ë���MÆ��Œ���Ç��ü���¦Ç��æ���£È��¿���ŠÉ����JÊ��9���\Ë�����–Ë�����­Ë��t��ÂË��¼���7Í��ó���ôÍ��š���èÎ��¾���ƒÏ��F��BÐ��Ì���‰Ñ��°���VÒ��Ü���Ó����äÓ��Ð��øÔ�� ��ÉÖ�����ê×����ëØ��Ð��þÙ��y���ÏÛ��þ��IÜ�����HÞ��1��XÞ��Ë���Šá��‰���Vâ����àâ��H���þã��7���Gä��¼���ä��F���<å��ì���ƒå��v���pæ�� ���çæ��¡��óæ��¾��•è��Ð��Tê��u���%ì��F��›ì��q���âî��[��Tï��:���°ð��æ���ëð��J���Òñ��1��ò��S��Oó��u���£ô��N���õ��S��hõ��u���¼ö��ë���2÷��›���ø��†���ºø��,���Aù��“��nù��ƒ���û��º���†û����Aü�����Yý�����Ùý��ß���jþ��è��Jÿ��C��3�\��w�‹���Ô�Õ��`�i���6�A��� �x���â�v���[�Ø��Ò�š���« ���F �Â���\ �I��� �·���i �›���!�z���½�3���8�û��l�g��h�G���Ð�J����p���c�5���Ô�s��� ���~�3�����Ñ�I��ð�×���:�ò����É����Ê���Ï�ð���š�–��‹�Ô���"�"��÷�Ó���!�¬���î!�¤���›"�i���@#�õ���ª#�˜��� $���9%�Z���J&�ù���¥&����Ÿ'�.��-(�Å��\)�ž���"+�G��Á+�È��� -�M��Ò-�5��� /�4���V/�‰���‹/�Â��0�F���Ø1�Ò���2�Ö���ò2�µ��É3�©��6�O��)8�í��y9���g;� ��÷<�£��>�y��¨?� ��"A�o���CB�n���³B�\��"C�'��D� ��§F�B���´G�F���÷G���>H�Ë��YI���%K�9��DL���~M���žN�¢���/P�Ö���ÒP�¡��©Q�Ê���KS�E���T�J���\T�Ò���§T� ��zU���ˆV�º��—W�×���RY�&��*Z�¹��Q[�¿��� ]���Ë]�Ý���Ñ`�+���¯a�N���Ûa�Ò���*b�’���ýb�°���c�Ë���Ad�»��� e�¡��Ée�›���kg�…��h�È���i�B���Vj���™j�u���®k���$l�1���:m�±��lm�ò���o�G���p����Yp�Ë���ép�ƒ���µq�ƒ���9r�k��½r�‚��)u�¢��¬v�4��Ox���„y���–z�´��©{�í���^}� ��L~�ª��W����Ó���‚�<���Ü‚�‘���ƒ�Ò���«ƒ�º��~„�ª��9†�K���ä‡���0ˆ�ü���5‰�Ä���2Š�z���÷Š�þ���r‹�µ���qŒ�ô��'�Ï�������ì�f��|�5��ã‘�ˆ���“�1���¢“�û��Ô“�H���Е�;��–�B���U—�Æ���˜—�!��_˜�È���š�ý���J›�q��Hœ�Y��º�ü���Ÿ�L��� �×���^ �T��6¡�#��‹¢�Ç���¯£�÷��w¤�Þ���o¦�³��N§�ƒ���©�Ñ���†©�V��Xª�i���¯«�Í���¬�Ä���ç¬�Ñ���¬­�ë���~®�K��j¯���¶°�D��ű���� ³�Ó���˜³�Ä��l´�I���1¶���{¶���™·�H���'¹�3���p¹�O��¤¹�c��ô»� ��X½�=��y¾���·¿�ê��ÒÀ�*��½Â�’���èÃ�F���{Ä�C���ÂÄ�X��Å�>���_Æ�?���žÆ� ��ÞÆ�«���éÇ�9���•È�S���ÏÈ�š��#É�m���¾Ê�û���,Ë�ä���(Ì�¨�� Í�I��¶Î�§����Ñ�$���¨Ñ�(���ÍÑ�<���öÑ�ú���3Ò�$���.Ó�%���SÓ�*���yÓ���¤Ó�:���ÃÔ�"��þÔ�&���!×� ���H×�9���i×�#���£×�$���Ç×�!���ì×�E���Ø�Ý���TØ�:���2Ù�:���mÙ�,���¨Ù�"���ÕÙ� ���øÙ� ���Ú�ç���Ú�,��ùÚ�X��&Ü�;���Ý�|��»Ý���8ß�Ô���Là�Ü���!á�þ���þá� ���ýâ����ã� ��� ã����ã����"ã����+ã����3ã����<ã����Bã���Uã�&���qä� ���˜ä� ���¢ä����®ä����Áä����Ôä����éä����å� ���#å�+���Då����på����‰å�?���¤å�D���äå�0���)æ����Zæ�)���sæ����æ�0���±æ�"���âæ����ç�'���ç� ���=ç����Kç�!���`ç����‚ç�"���¢ç����Åç����âç�/���èç� ���è����9è����Qè�#���gè����‹è����¤è�>���Áè�"����é����#é�%���Bé�B���hé�*���«é����Öé����õé����ê�)���ê����Aê�%���^ê�,���„ê����±ê�#���Áê�"���åê�$���ë����-ë�/���Më����}ë�8���ë����Æë����Ûë����úë����ì����+ì����Jì����iì� ���~ì����Ÿì����°ì����Åì����àì����ýì����í����"í����5í����Fí�'���Wí����í�*���ší����Åí�$���ãí����î����"î����2î� ���Kî����lî�"���‚î����¥î����»î�;���Ñî���� ï���� ï����<ï����Yï����uï����’ï����°ï����Íï����éï����ýï�"���ð����7ð�,���Jð����wð�)���‘ð����»ð����Øð����éð�"���ñ�1���+ñ�'���]ñ����…ñ�(���–ñ� ���¿ñ�,���àñ�,��� ò�,���:ò�'���gò�-���ò� ���½ò�(���Þò�(���ó����0ó����Có����\ó�"���wó����šó����©ó�&���¼ó����ãó�"���þó� ���!ô� ���-ô����:ô����Lô����]ô����mô�5���‰ô�0���¿ô�.���ðô����õ����;õ����[õ�"���{õ����žõ����®õ�+���¿õ�%���ëõ����ö�)���1ö����[ö� ���]ö����jö�<���ö�1���¾ö�,���ðö�0���÷�,���N÷�#���{÷�0���Ÿ÷����Ð÷�l���Ô÷�;��Aø����}ù� ���“ù����¡ù�6���¼ù�5���óù�+���)ú�*���Uú�-���€ú�"���®ú�)���Ñú����ûú���� û����$û����;û� ���Rû����]û����bû����hû�,���pû�8���û�)���Öû� ����ü���� ü����ü����8ü� ���Gü����Tü� ���Zü����dü����tü� ���‹ü� ���•ü� ���¡ü�k��«ü����þ����þ�K���7þ�8���ƒþ����¼þ�k���Åþ�h���1ÿ����šÿ�‚���+�� ���®�� ���¹�� ���Æ��3���Ò��Š��� ���‘� ���ž�w���¨�w��� �9���˜�g��Ò�½���:�Ò���ø�1���Ë�9���ý�0���7����h����w� ���‡�=���”�(���Ò�ã���û� ���ß�$���ë�F��� ����W �U��g ����½ ����Æ �<��Ë �\��� � ���e �+���p �+���œ �0���È � ���ù ���� ���� �Ï��� �1���é �����I���4� ���~�¬���‰����6�@���O�£���7���4�?���l����¬����¾����Í� ���Ô����á����æ����ì����ò����ø���� �:����…��I����Ï�¦���ã����Š���™�×������u� ���~����‰����� ���¤����®����Æ����Ý����ú�����$���.����S����e����€� ���� ���›� ���§����´� ���Å����Ñ����ã����ô����û�������������–� ���œ�1���©� ���Û����é����ú��������%� ���4� ���B� ���O� ���[����f����k����p� ���Š�#���—����»����Ä�*���ã�����E�������W����k�M���|���Ê�—���Ü�®���t�…���#�H���©�o���ò�…���b ����è ����ì ����ü � ���!�,���!�&���L!� ���s!� ���!� ���Š!����—!� ���ž!�#���¬!�H���Ð!�2���"�g���L"�i��´"�ª���$�š���É$�;���d%���� %���¾%�9���Ø'�*���(�A���=(�¸���(�†���8)�º���¿)�;���z*�¹���¶*�%���p+����–+�†���,�N���,�T���ì,� ��A-�7���L/����„/����£/� ���»/� ���Å/����Ò/� ���×/����ã/�N���÷/�€���F0����Ç0�Ÿ���â0�º���‚1�7���=2�@���u2����¶2�D���Í2����3����#3� ���83����F3����Z3����k3����z3� ���‰3�Ý���—3�1���u4�'���§4�J���Ï4�u���5� ���5� ���ž5� ���¬5����¹5�,���Ì5�&���ù5�*��� 6�;���K6����‡6�c���6� ��ó6����ÿ7����8�5���8� ���J8�<���V8����“8����›8����¬8����À8� ���Õ8����á8�@���é8� ���*9����79�$���<9� ���a9�Ñ���l9�$���>:����c:����u:����‹:�â��ž:�&���<�%���¨<�C���Î<�+���=����>=����C=� ���R=����`=����r=����‡=����™=����«=� ���½=�#��Ê=����î>� ���?�,���?�j���;?�&���¦?� ���Í?�'���î?�0���@�4���G@�~��|@����ûA����B����5B�–���TB�)���ëB�Y���C�'���oC�T���—C�'���ìC�(���D����=D�X���QD�@���ªD����ëD�?���E�&���GE�š���nE���� F���� F�#���¾F�&���âF���� G�"���(G�T���KG�g��� G�†���H�.���H����¾H�"���ÝH�+����I�Y���,I�~���†I�¤���J�ä���ªJ�=���K����ÍK�^���ëK�b���JL� ���­L�¢���ÎL�F���qM�}���¸M�'���6N�'���^N�Z���†N�"���áN�`���O�!���eO�!���‡O�$���©O� ���ÎO�¦���ïO�M���–P�>���äP�'���#Q�<���KQ�T���ˆQ����ÝQ����âQ����çQ����ýQ����R����(R�ï���>R����.S�¹���DS�D���þS�H���CT�G���ŒT� ���ÔT����ÞT����ãT����éT�´��øT�W���­V�B���W�k���HW�s���´W�¬���(X�>���ÕX����Y�;���+Y�3���gY�/���›Y�+���ËY�'���÷Y�#���Z����CZ����cZ����Z�<���Z����ÌZ����àZ����æZ����ìZ����[�*���[����0[����H[����b[�A���[����Á[�2���Ø[�1��� \� ���=\����I\�!���\\����~\�#���…\����©\�0���Å\����ö\����]����!]�*���2]����]]����{]�"���›]����¾]����Ü]�E���û]�;���A^� ���}^�,���ž^� ���Ë^�!���ì^����_����._�+���M_�#���y_�#���_�,���Á_�0���î_�,���`�#���L`����p`����‹`� ���¡`����Â`����Þ`����ñ`����a����-a�$���La�"���qa����”a�'���ªa����Òa�5���ìa�'���"b����Jb�!���`b����‚b����¢b�1���»b����íb����ýb����c����3c����Lc����`c����tc����ˆc����Ÿc����¹c�(���Éc����òc���� d�.��� d�2���Od����‚d����d����¸d�%���Ñd�0���÷d�3���(e����\e�F���|e�B���Ãe�+���f�5���2f�1���hf� ���šf����¦f����¿f�*���Þf���� g����$g�)���Ag����kg����|g�%���˜g�!���¾g� ���àg� ���îg����üg���� h�8���'h����`h����vh����Šh����¨h�&���Âh�'���éh�<���i�:���Ni�.���‰i�!���¸i����Úi�&���éi����j����+j����;j����Oj����`j����pj�#���€j�'���¤j�"���Ìj�&���ïj����k����+k����Dk� ���_k����€k����™k����°k�%���Çk����ík� ��� l� ���l����#l����6l����Kl����al����tl����‹l����Ÿl����²l�,���Él�+���öl�-���"m�)���Pm�!���zm����œm����»m����Ïm�8���æm����n����6n����Kn����an�3���sn� ���§n����±n� ���Ân����În����ãn� ���ón����ýn�#���o�"���4o� ���Wo����xo����—o����¨o����Äo����Øo����òo����p����p����!p����3p�%���Dp����jp����~p�$���˜p�+���½p�#���ép�:��� q�!���Hq�/���jq�'���šq����Âq����Øq����óq����r����!r�+���Ar�*���mr�%���˜r����¾r�#���Ür�$����s����%s�%���;s�!���as�'���ƒs�%���«s����Ñs����ñs����t����t����6t�(���Tt�,���}t� ���ªt�$���Ët����ðt���� u����u����9u�*���Wu�$���‚u�#���§u�%���Ëu����ñu�!���v�&���3v����Zv����nv�(���Œv� ���µv�3���Öv�-��� w����8w����Ww�!���pw�1���’w�'���Äw����ìw�1��� x����>x����Ux����px����Šx����¤x�#���¾x�1���âx�.���y����Cy����Yy����ky�(���‹y����´y� ���Ìy����Úy����÷y�(��� z����5z����:z�3���Yz�;���z�.���Éz����øz����{����%{�$���C{�$���h{�D���{����Ò{����æ{����÷{����|����|����4|����Q|�%���m|����“|����°|����Ê|�-���Î|����ü|����}�)���"}�/���L}�=���|}�@���º}�:���û}����6~�!���T~����v~�,���ˆ~����µ~����Ñ~����ã~�;���ú~����6����Q�!���j����Œ����¢����¶� ���Ñ�!���ò�%���€�(���:€����c€����~€����’€�*���¥€�-���Ѐ����þ€��������%����>����S����j����ƒ����Ÿ����¸�%���Ð�1���ö�#���(‚�"���L‚�"���o‚����’‚� ���¨‚����¶‚����Ç‚����Ý‚�"���ï‚����ƒ� ���,ƒ����:ƒ����Mƒ����dƒ����wƒ����“ƒ����©ƒ�#���ă�!���èƒ�!��� „����,„����C„����b„����{„� ���š„����§„����·„����È„����Ú„����ó„���� …����%…�!���C…����e…�"���}…���� …����À…� ���Þ…����ÿ…����†����,†�]���A†�G���Ÿ†����ç†����û†����‡����,‡�!���B‡�*���d‡� ���‡� ���œ‡����½‡�/���ч�$���ˆ�"���&ˆ����Iˆ����gˆ�2���|ˆ�;���¯ˆ����ëˆ����‰����!‰����?‰�R���V‰�L���©‰����ö‰�(���Š� ���7Š����DŠ����TŠ����fŠ����|Š�,���šŠ�9���ÇŠ�*���‹�,���,‹����Y‹�*���_‹�G���Š‹�0���Ò‹�:���Œ�#���>Œ�'���bŒ�8���ŠŒ����ÃŒ�@���ØŒ�/�������I�7���Z�8���’� ���Ë����Ù�/���õ�-���%Ž� ���SŽ�0���_Ž����Ž����ªŽ�#���ÁŽ�&���åŽ�)��� �*���6����a�$���v����›����²����Ì����Ü�+���õ�1���!�"���S� ���v����—����©����À�#���Þ�$���‘����'‘����E‘����Z‘�!���z‘�!���œ‘�%���¾‘����ä‘�%���ó‘����’����(’�7���7’�=���o’����­’����Ë’����à’����ÿ’����“����,“� ���=“����K“�-���c“�C���‘“����Õ“�(���ê“� ���”�'���”����E”�"���_”����‚”����’”�?���¢”�,���â”�%���•����5•�4���K•� ���€•�&���¡•� ���È•�1���Ô•�2���–�#���9–�/���]–�$���–�(���²–����Û–�8���ú–�G���3—�9���{—�#���µ—����Ù—�"���ø—�$���˜����@˜����Z˜����z˜����˜����¥˜����Ø�>���Û˜�B���™� ���]™� ���h™����t™����‰™����š™����·™� ���Ê™�7���×™� ���š����š����2š� ���Iš� ���Sš����]š�)���wš����¡š����¶š����Ñš����åš�$���úš�-���›�7���M›����…›����Œ›����¢›����±›����À›����Ù›� ���é›����õ›����ü›����œ���� œ����'œ����@œ�#���]œ�J���œ� ���Ìœ� ���Úœ� ���çœ����óœ�*�������3����O����h����„����›�8���¸����ñ� ���÷�H���ž�U���Nž�>���¤ž�?���ãž�?���#Ÿ�8���cŸ�=���œŸ�>���ÚŸ�3��� ����M �(���Þ �!���¡�N���)¡�f���x¡�>���ß¡�@���¢�#���_¢�<���ƒ¢�*���À¢����ë¢���� £�(���#£����L£�/���g£����—£����²£����Ê£����Ý£����ã£����ø£���� ¤����¤�*���3¤�!���^¤�7���€¤����¸¤�"���Ф����ó¤����¥�3���¥�\���J¥����§¥����¿¥����×¥�.���ç¥����¦�0���,¦����]¦�C���t¦����¸¦�%���Õ¦����û¦����§����)§� ���;§�H���E§�+���ާ�J���º§�2���¨�8���8¨�=���q¨�@���¯¨�#���ð¨����©�$���/©�=���T©�4���’©�.���Ç©�,���ö©�<���#ª����`ª�0���uª�3���¦ª�7���Úª�c���«����v«����Œ«�"���£«�t���Æ«� ���;¬�3���F¬�>���z¬�5���¹¬�j���ï¬�h���Z­�_���í�0���#®�,���T®�*���®�3���¬®�(���à®�&��� ¯�(���0¯� ���Y¯����e¯� ���x¯� ���…¯�/���“¯�7���ï�&���û¯� ���"°�œ��C°����à±�¼���â±�«���Ÿ²�D��K³�ñ���´�Ê���‚µ�Ù���M¶�Ð���'·�Ç���ø·�4��À¸���õ¹�·���üº�u���´»�0��*¼�±���[½�Í�� ¾�x��Û¿�P��TÁ�r��¥Â�r���Ä����‹Ä�Y���žÄ�•���øÄ�h���ŽÅ�Q���÷Å���IÆ����fÇ�¦���èÇ�U��È���åÉ�¬���çÊ�Á���”Ë�1��VÌ�P��ˆÎ�†���ÙÏ�#��`Ð� ���„Ñ�à���%Ò�Š���Ó�Q���‘Ó�£���ãÓ�“���‡Ô�Í���Õ����éÕ�Ð���wÖ�‘���H×�T��Ú×���/Ù�–���8Ú�©���ÏÚ���yÛ�W���€Ü����ØÜ���XÝ�2���wÞ���ªÞ�–���Éß�ï���`à�E��Pá�?���–â�p���Öâ�.���Gã�P���vã�7��Çã�¾��ÿä�Z��¾æ�Ñ���è�¦���ëè�*��’é�Ö���½ë�=��”ì�S���Òí�ü���&î�N��#ï�˜���rð�§��� ñ���³ñ�>���»ò�S���úò�õ���Nó�²���Dô�ð���÷ô���èõ�Û���íö���É÷�:���àø�g���ù�b���ƒù���æù�Ù���tû� ��Nü�­���\ý�ß��� þ�T��êþ�À���?��¹�����ç���º�$��¢�È��Ç�,�����½�&��Í�ý��ô����ò �e��‚ ����è �½��ù �Ñ���·����‰�6���J���P�3���›�Ë���Ï�I���›�×���å�Š���½� ���H�¡��T�ø��ö�À��ï�‹���°�g��<�q���¤�j�� �9���!�ò���»!�F���®"�+��õ"�Q��!$�{���s%�N���ï%�q��>&�‚���°'�ó���3(�Ë���')�Ž���ó)�3���‚*�´��¶*����k,�Ó���ù,���Í-�€���é.�ˆ���j/�Ü���ó/�×��Ð0�M��¨2�l��ö3�Œ���c5���ð5�n���9�r���t9�}���ç9�}���e:���ã:�¢���ë<���Ž=�Î��� >�w���o?�Ç���ç?�Â���¯@�„���rA�9���÷A�÷��1B�o��)D�L���™E�P���æE�k���7F�6���£F�q���ÚF�*��LG�V��wH�F��ÎI�Ž��K�è���¤L�þ���M�Ü���ŒN�Ô���iO�ô���>P�—��3Q�Í���ËR�C��™S�ç���ÝT�À���ÅU�Ð���†V�t���WW�ì���ÌW�ª���¹X�0��dY�]���•Z���óZ����\�O��’\�ô��â]�£���×_�L��{`�×���Èa�[�� b�>���üc�4���;d����pd�à���e�O���áf�Ý���1g�æ���h�Ú��öh�ã��Ñk�Z��µm���o�Å��"q� ��èr�¾��ös�n��µu���$w�l���?x�~���¬x�a��+y�:��z���È|�>���à}�B���~���b~�¶��}�4��4�#��i‚�!��ƒ�•��¯„�¾���E†�á���‡�Ä��æ‡�Ó���«‰�I���Š�O���ÉŠ�Õ���‹�M��ï‹���=�Ï��]Ž�à���-�Y��‘�Ù��h’�É���B”�@�� •�ë���M˜�,���9™�u���f™�ê���Ü™�¤���Çš�¸���l›�Â���%œ�É���èœ�à��²�Ã���“Ÿ�œ��W �Û���ô¡�F���Т�f��£�•���~¤�%��¥�1���:¦�Õ��l¦�þ���B¨�J���A©����Œ©�Ó���*ª�˜���þª�˜���—«�Ÿ��0¬�–��Ю�ª��g°�r��²�)��…³� ��¯´�ÿ��ºµ�»���º·���v¸�º��‘¹���L»�ã���k¼�>���O½�™���޽�Ô���(¾�Ì��ý¾�Ç��ÊÀ�N���’Â���áÂ���úÃ�Ù���þÄ����ØÅ�ÿ���fÆ�µ���fÇ���È�×���-Ê����Ë�g��£Ë�*�� Í�”���6Î�2���ËÎ�.��þÎ�U���-Ñ�P��ƒÑ�Q���ÔÒ�Ð���&Ó�w��÷Ó�Ò���oÖ���B×�€��SØ�v��ÔÙ���KÛ�P���QÜ���¢Ü�R��¸Ý�+�� ß�Ï���7à�+��á�ï���3ã�Æ��#ä�x���êå�Û���cæ�d��?ç�t���¤è�Ô���é�º���îé�â���©ê���Œë�A��›ì�!��Ýí�W��ÿî�•���Wð�Õ���íð�@��Ãñ�K���ô�2��Pô�„��ƒõ�S���÷�3���\÷�ƒ��÷�o��ú�`��„û�-��åü�0��þ� ��Dÿ�A��P�•���’�J���(�?���s�~��³�D���2�B���w� ��º�Á���Û�:����f���Ø�‘��?�u���Ñ ���G �è���X �À��A �ž���¦���¡�)���H�+���r�H���ž���ç�)���ú�+���$�0���P�õ����<���w�‰��´�)���>�%���h�1���Ž�*���À�+���ë�)����K���A�õ����F���ƒ�F���Ê�)����'���;����c����l�ç���‚�<��j�p��§�8����€��Q�'��Ò�Ì���ú �ï���Ç!���·"����½#����Æ#� ���Ë#����×#����à#����é#� ���ñ#����û#����$�<��$�!���S%� ���u%� ���%����‹%����©%�$���É%����î%���� &� ���!&�-���B&����p&����ˆ&�3���¡&�A���Õ&�1���'����I'�5���^'����”'�.���¦'�'���Õ'����ý'�*���(����:(����L(�.���k(����š(�'���°(�0���Ø(���� )�2���)�&���B)����i)����~)�4���”)�(���É)�!���ò)�@���*�*���U*����€*�.��� *�F���Ï*�.���+�!���E+����g+����‡+�0���š+�#���Ë+�+���ï+�L���,����h,�.���,�)���°,�-���Ú,����-�'���#-� ���K-�6���W-����Ž-�%���¥-�%���Ë-����ñ-�:���.�&���I.����p.�,���.����º.����Ñ.����ì.� ��� /����+/����C/����V/����i/����€/�+���—/�!���Ã/�-���å/����0�)���'0� ���Q0����r0����„0�$���›0����À0�"���Ö0����ù0����1�9���#1����]1����o1����ˆ1����¡1����»1����Ó1� ���ï1����2����02����G2�$���_2����„2�0���˜2����É2�*���å2�"���3����33����J3�$���e3�8���Š3�-���Ã3����ñ3�$��� 4����24�*���P4�0���{4�*���¬4�,���×4�+���5�%���05�-���V5�-���„5����²5����È5����á5�"���ü5� ���6����+6�%���?6����e6� ���6� ���¢6� ���°6����½6����Õ6����æ6�"����7�E���#7�+���i7�5���•7����Ë7����ê7����8�'���&8� ���N8����[8�)���r8�(���œ8����Å8�-���á8����9����9����)9�;���H9�7���„9�/���¼9�,���ì9�,���:�-���F:�,���t:����¡:�s���¤:�H��;����a<� ���t<�&���‚<�8���©<�:���â<�+���=�*���I=�0���t=�!���¥=�-���Ç=����õ=����>����>����&>����=>����F>����K>����Q>�C���d>�9���¨>�+���â>� ���?����?� ���1?����R?� ���a?����n?� ���u?����ƒ?����™?� ���¸?� ���Â?����Î?���Ö?� ���fA�$���pA�W���•A�8���íA� ���&B�k���0B�~���œB�œ���C�‚���¸C� ���;D����FD� ���YD�:���eD�h�� D� ��� F� ���F�z���$F�{���ŸF�<���G�t��XG�Ã���ÍH�Þ���‘I�1���pJ�+���¢J�(���ÎJ����÷J����K� ���K�>���#K�(���bK����‹K� ���ŒL�!���–L�B���¸L����ûL��� M����N����œN�>��¡N�[���àO� ���<P�4���GP�1���|P�-���®P����ÜP� ���íP� ���úP�Ì���Q�.���ÔQ�'���R�J���+R� ���vR�¸���€R����9S�F���IS�º��S�=���KU�K���‰U����ÕU����çU����öU� ���þU���� V����V����V����V����'V����8V�9���AV�Ø��{V����TX�´���kX���� Y�÷��3Y�ì��+[� ���]� ���"]����.]����C]����J]����S]����i]����€]����™]����³]�%���Í]����ó]���� ^����'^� ���6^� ���B^� ���N^����[^� ���l^����x^����Š^����›^����¢^� ���¨^�†���³^����:_����@_�9���R_� ���Œ_����š_����«_� ���À_����Ì_� ���Û_� ���é_� ���ö_� ���`����`����`����`� ���3`�'���A`����i`�!���y`�!���›`����½`�T���À`����a����*a�H���;a���„a�¬���¤b�Â���Qc����d�W���¢d�m���úd�‘���he����úe����þe����f� ���%f�8���3f�#���lf� ���f� ���œf� ���§f����´f� ���»f�'���Éf�<���ñf�7���.g�n���fg�x��Õg�È���Ni�¨���j�;���Àj����üj�ï��k�:��� m�-���Fm�=���tm�¬���²m�—���_n�³���÷n�.���«o�©���Úo�)���„p�Œ���®p�‚���;q�Z���¾q�f���r�@��€r�>���Át�����u����u� ���1u� ���;u����Hu� ���Pu����\u�D���nu�{���³u����/v�«���Mv�¯���ùv�A���©w�O���ëw�d���;x�Q��� x����òx����y����y����.y����By����Sy����by� ���qy�å���y�3���ez�.���™z�P���Èz�}���{� ���—{� ���¥{� ���³{����À{�=���Ñ{�%���|�-���5|�:���c|����ž|�T���¥|���ú|����~����'~�1���/~����a~�F���j~����±~����¹~����Ê~����å~� ������� �H���� ���]����g�"���k����Ž�ø���—�(���€����¹€����Ì€����é€�ç��þ€�3���æ‚�6���ƒ�P���Qƒ�,���¢ƒ����σ����Óƒ� ���âƒ����íƒ����þƒ����„���� „����1„����B„���K„����^…����y…�=���Š…�s���È…�/���<†�*���l†�2���—†�;���ʆ�A���‡�¦��H‡�#���ïˆ�!���‰�#���5‰�«���Y‰�.���Š�i���4Š�2���žŠ�h���ÑŠ�0���:‹�3���k‹����Ÿ‹�i���¹‹�K���#Œ�!���oŒ�I���‘Œ�-���ÛŒ�¥��� ����¯�®���Ì�'���{Ž�,���£Ž�#���ÐŽ�&���ôŽ�\����|���x�¤���õ�4���š�$���Ï�.���ô�0���#‘�h���T‘�Š���½‘�³���H’�î���ü’�E���ë“�"���1”�l���T”�f���Á”�%���(•�½���N•�P��� –�Œ���]–�,���ê–�-���—�_���E—�(���¥—�i���Η�#���8˜�,���\˜�/���‰˜�,���¹˜�£���æ˜�_���Š™�J���ê™�3���5š�H���iš�h���²š����›���� ›����(›����:›����L›����b›�õ���y›����oœ�±���Šœ�A���<�E���~�J���Ä� ���ž����ž����ž����"ž�ò��3ž�W���& �A���~ �h���À �j���)¡�¥���”¡�B���:¢����}¢�9���”¢�2���΢�.���£�*���0£�&���[£�"���‚£����¥£����Ä£����ߣ�@���ï£����0¤����K¤����Q¤����Y¤����v¤�*���z¤����¥¤����»¤����Ó¤�@���ñ¤����2¥�F���N¥�E���•¥����Û¥����î¥����þ¥����¦�'���"¦����J¦�F���h¦����¯¦����ͦ�!���ã¦�6���§����<§�#���W§�"���{§����ž§�%���¼§�R���â§�H���5¨�/���~¨�3���®¨�$���â¨�.���©�$���6©�"���[©�7���~©�)���¶©�&���à©�8���ª�<���@ª�3���}ª�+���±ª����ݪ����÷ª�%���«����4«����T«����h«����…«�!���¢«�)���Ä«�,���î«����¬�'���.¬����V¬�:���s¬�)���®¬�!���ج�)���ú¬�,���$­����Q­�;���m­����©­� ���Å­����æ­����®����#®����@®����^®����|®� ���˜®����¹®�2���Ó®����¯���� ¯�;���;¯�3���w¯� ���«¯�!���̯����î¯�8��� °�1���B°�4���t°�,���©°�C���Ö°�<���±�1���W±�A���‰±�>���˱���� ²����²����3²�+���S²����²�!���ž²�1���À²����ò²����³�"���#³�.���F³����u³����‡³����š³�!���³³�?���Õ³����´����4´�$���P´�%���u´�8���›´�3���Ô´�H���µ�<���Qµ�+���޵�#���ºµ����Þµ�.���øµ�"���'¶����J¶����^¶����~¶����’¶����¦¶�)���¹¶�*���ã¶�#���·�$���2·����W·����i·����|·�"���˜·����»·����з����ê·����û·����¸� ���7¸����E¸����Z¸����n¸����‚¸����”¸����§¸����½¸����Ѹ����è¸�+���ý¸�7���)¹�8���a¹�3���š¹�-���ι�$���ü¹����!º����<º�5���Zº�"���º����³º����ƺ����غ�C���éº����-»����5»����G»����Y»� ���s»� ���€»����Ž»�'���¥»�%���Í»�&���ó»�)���¼����D¼�%���[¼����¼����œ¼����¼¼����Ô¼����å¼����ë¼����ý¼�'���½����6½����T½�&���s½�/���š½�&���ʽ�I���ñ½����;¾�/���Z¾�&���о�'���±¾�"���Ù¾����ü¾�#���¿�'���<¿�1���d¿�/���–¿�+���Æ¿�%���ò¿�,���À�.���EÀ����tÀ�&���À�)���·À�0���áÀ�/���Á�+���BÁ����nÁ����‰Á�"���£Á�'���ÆÁ�:���îÁ�6���)Â�.���`Â�0���Â����ÀÂ����àÂ�(���ûÂ�%���$Ã�7���JÃ�.���‚Ã�$���±Ã�+���ÖÃ�%���Ä�(���(Ä�7���QÄ����‰Ä�%���¥Ä�.���ËÄ�(���úÄ�>���#Å�<���bÅ�1���ŸÅ�#���ÑÅ�/���õÅ�?���%Æ�,���eÆ�(���’Æ�B���»Æ� ���þÆ�)���Ç�"���IÇ�!���lÇ�(���ŽÇ�*���·Ç�H���âÇ�;���+È�$���gÈ�!���ŒÈ�%���®È�)���ÔÈ����þÈ����É����1É����OÉ�%���dÉ����ŠÉ�"���É�2���²É�:���åÉ�0��� Ê����QÊ����qÊ����‹Ê�%���«Ê�$���ÑÊ�B���öÊ����9Ë����TË����kË����Ë����›Ë����¶Ë����ÓË�'���ïË� ���Ì����8Ì����WÌ�)���[Ì����…Ì����Ì�0���®Ì�=���ßÌ�?���Í�?���]Í�6���Í�'���ÔÍ� ���üÍ����Î�3���6Î����jÎ����„Î����•Î�F���§Î�&���îÎ�#���Ï�,���9Ï����fÏ����}Ï����“Ï�)���±Ï�$���ÛÏ�(����Ð�*���)Ð����TÐ����kÐ����Ð�)���”Ð�,���¾Ð����ëÐ����ýÐ����Ñ����3Ñ����GÑ����\Ñ����vÑ����–Ñ����µÑ�#���ÌÑ�*���ðÑ����Ò�*���:Ò�%���eÒ����‹Ò� ��� Ò����®Ò����¿Ò����ÕÒ�,���çÒ����Ó����2Ó����AÓ����RÓ����nÓ����Ó����žÓ����³Ó�'���ÎÓ�!���öÓ�"���Ô����;Ô����RÔ����qÔ����…Ô����¤Ô����¸Ô����ÎÔ����åÔ����÷Ô����Õ����5Õ����TÕ����tÕ����”Õ�!���©Õ�#���ËÕ����ïÕ�$��� Ö����1Ö����GÖ����^Ö�i���sÖ�Q���ÝÖ����/×�"���@×����c×����|×�$���’×�2���·×� ���ê×����÷×����Ø�0���,Ø�.���]Ø�&���ŒØ�#���³Ø����ר�.���òØ�9���!Ù����[Ù����wÙ����”Ù����´Ù�C���ÊÙ�B���Ú����QÚ�'���pÚ����˜Ú����«Ú����ÁÚ����×Ú� ���öÚ�+���Û�:���CÛ�2���~Û�6���±Û����èÛ�0���îÛ�P���Ü�:���pÜ�>���«Ü�+���êÜ�&���Ý�6���=Ý����tÝ�I���†Ý�5���ÐÝ� ���Þ�5���Þ�5���HÞ� ���~Þ� ���ŒÞ�7���­Þ�&���åÞ���� ß�9���ß����Vß����oß�!���‡ß�#���©ß�&���Íß�'���ôß����à�+���.à����Zà�$���là����‘à����¡à�3���¹à�@���íà�2���.á�*���aá����Œá����Ÿá����·á�$���Óá�%���øá����â����;â����Pâ����iâ����ƒâ�%���¡â� ���Çâ����Ôâ� ���óâ����ÿâ�F���ã�E���Wã����ã����¹ã�!���Ðã����òã���� ä����ä����2ä����Hä�)���aä�J���‹ä����Öä�%���óä� ���å�+���%å����Qå�(���iå� ���’å� ���å�C���©å�3���íå�,���!æ����Næ�H���cæ����¬æ�$���Çæ����ìæ�9����ç�D���:ç�-���ç�;���­ç�+���éç�/���è�$���Eè�?���jè�N���ªè�@���ùè�"���:é����]é�*���ué�3��� é����Ôé����êé����ê����ê����9ê����Uê�K���jê�I���¶ê�����ë����ë����ë����-ë�(���<ë����eë� ���të�G���ë� ���Çë����Ôë����êë� ���ÿë���� ì����ì�,���1ì����^ì����vì����’ì����§ì�&���ºì�4���áì�?���í����Ví����eí� ���uí� ���‚í����Ží� ���¢í����®í� ���Åí� ���Òí� ���Þí�!���êí� ��� î�"���-î� ���Pî�J���qî����¼î� ���Ìî� ���Öî����âî�.����ï�"���/ï����Rï����rï�!���ï����±ï�=���Ïï���� ð����ð�T���$ð�O���yð�E���Éð�F���ñ�F���Vñ�<���ñ�E���Úñ�K��� ò�D���lò�´���±ò�)���fó�+���ó�T���¼ó�o���ô�R���ô�G���Ôô�'���õ�?���Dõ�/���„õ�$���´õ�)���Ùõ�@���ö����Dö�-���[ö����‰ö����¥ö����Áö����Ôö����Ûö����ùö���� ÷����÷�%���/÷�$���U÷�7���z÷����²÷�#���É÷� ���í÷����û÷�0���ø�_���Dø����¤ø����¶ø����Èø�4���Ùø����ù�F���'ù����nù�H���Œù� ���Õù�5���öù����,ú����@ú����Xú� ���jú�E���tú�2���ºú�Z���íú�/���Hû�H���xû�F���Áû�K���ü�2���Tü����‡ü�2���¥ü�:���Øü�9���ý�6���Mý�3���„ý�=���¸ý����öý�-��� þ�9���9þ�@���sþ�_���´þ����ÿ����*ÿ�8���Aÿ�u���zÿ� ���ðÿ�0���üÿ�@���-��B���n��n���±��m��� �\���Ž�4���ë�0��� �2���Q�2���„�)���·�*���á�)��� ����6����?����P����c�/���u�;���¥�$���á�#�������u���ò���ý��#������������…��„������`���Ž��‹��-��x��������¨���§��m��N�����������������N��„������������U������Ï��Š��¼����������‰��'����y����û����Ú���Ô��B���Q������������������u��ž��ú���‡���F��'������r������~����s�������»��������Ï��‰��±��ö��T��ã������m�������ú������´������������z�������õ��©��d��µ��f���`��„������õ��6��³��$��`������*����������������b������]�� ����������â����Í��ü��������¿��²��ÿ������Þ��±���ó��Q��ð������‡������ç��½��Ÿ��ó��Î��������������¬��†���5�������+������²��ü��ñ�� ������I��æ��������´����������j��D��}��—�����'������ê��A������š��l��š��2������E������¾������ý��Ü��Û��-����X��������������A������»��Ú��ó�������,���I����™������ ��(��!���Â��������´��"����ª������ß��+��4��ñ��.���°������N��x��¼����� ��������������2��0��¦��é��ê��µ��A�������–��¯������J��£��É���}��o����î������]��������+��±������¸�� ��p���������� ������€�������e��²��>�����������Ñ��"�����������%��ú��M�� ��È��Y��Å��¢��ì�������������°��Q���ð��Ó��'��R���6��h��q��Ç������ã��#��M���B��“��a���'���ù������¥��å�����������E���™��[������X��������ü���Ì��Ø��Ž��g����«���������������>��4��}�����������+��Î������������������i��Õ��ÿ����“�����à��›�������������¶������(��{������’������*������Â��«��K���Ï��º���ê����������Ÿ��1����€��ˆ������/��Á��™��/��þ������M��@���P��������������‡��n�����������3���� ��Z��������µ�����Ž��J���0��������������c����ø��ú��!��â��V������¸��X��� ��è����������@��î��û����������Ø������=����������6��c��/��â��ï������R��6���¹����������]��Ñ���P��½�����������â���Ú��Ó������†��«��ä��ö�����������������É��­��¼������­���³���•��ò����W������Æ��¢��w�� �������R��~��9��7��ø��…��ž��e������f��9�� ������ ��o��<��É��l��E��������������§���–��Ý��Ê��������³��Ê��‹�� ��5��.����������4��ä��Õ��’��»������s��Õ���È������������������o���¯����x��À������f��ü��]����m��m��ÿ���—��X�� ����������������Ö��ý���é����������¯���‚������å�� ������ç��a������®��Ÿ���—��Ü��°��G��H��_������G��†��h������������/��¹��s��™��������f������ë���Ÿ��r���O��‘��������������V�����1��»��á��-����������ì��1������[��������õ��"����&���â��á���£��������������C������˜��Å��„����x��Ü��n��ú������Ã����������4���n�����Ú������L��Œ���������’��3����������������Y��ý��·���!�� ���������J�� ���������������¢��z������������������������Ó���"��‚��«���������������Á��h��½��×��R��ÿ��œ��ï��ü��·��ô�������Ì�������®��Ò���ã��ö��{��ñ�������Î��H������>��Á���½��æ������������·��`������®����¡��.��w��º����ö������ð�������k���©��������‹��›��H��õ��ä��������� ��Z������ ��������¸��������d��œ��°������³��³��3������T�����Ã����������‘���ä��W��¾����������2��û��������«��a��|�����������ê��é��î��ñ����q������-��¦�������ž����Ç������ù�����‘��z��������������~��÷��Ú��O��¼���:��¶���b��������º��r������Õ��ý������û����������b��Ì������Ó��Ð��Ï�����Ð����������k��ü��~��;��œ����9��ù��¥��'��2����õ��t������M��%������”��‹������¸�������������¼��ß���‹��-��1������_������ÿ��Å���I���M������7������¡��†��Ý������������� ������û��Ò������Ð��� ���Ì������þ��ˆ��������ï��¡��������������©��¤��������Ã�����������Z���"��E����_��Þ����L�� ��L��Ç��4��¯��������É������N��������Ö��Û������ô����¶������7��é��x���j������À���$��í��2��Ð��¤�������ê��8����������������8����Ø���©��������������D�������������)��]��Š��&������“����������ô��.��ö����^������î���È����������6��Ç�����)������ï���5��Æ��Ù������Ø��u������������Þ���­������§��������3�������ž��­������������ ���¢��„��¹���)���ì������š������¨��$������������¼��P��Ù��…��è����������ò��¯��‰��������L��Ü��š��\��¸��S���|����y���������������<��g���Û��0������†��Õ����q��������������&��é�������–����������í������Ò��$������s������¾���á��W���W��!��Æ������`������ã��� ���+��P��G���J������@�����������������°���L�������§������¬���<��=�� ��.��^������Î��¶��˜������’������À������%�����¶��ø��æ��������:���µ������J��k������ ���|��˜��£��Å��������ò������Ä������Q��*��������´��ß��¡��~���”���®���U��Ò������������¨��%����ß��œ��� ��Â������Æ��f����µ��Z������À������„��a��†��²��������������Š���������������Ö��2��� ������9�����×��å������Þ������ó��������í��Ä��W��¢��Ï��æ������ð��j���7��Q��[���o��ì��������c��=���������¤����������Ö���6��‰���p��‚���­��i������[��K��ã��Y��’��b��Þ������Ã��������¦��ô��"��”��ª��“������\��P����������É�� ��!����������H��d��D��×��q��å��_���K��������à��F��ˆ��`������‚��ù����������������;������������­��”��©���.������Â�� ��������j��i������������à����������Ÿ����������@�� ��\��ë��B��z��í���¥��œ������)��f������Æ��w���±��h��c��&��ç��È��u����•������}��â������?��õ�������U��t��j������������p��z��ç��A��¦��º��«��ß��A��U������������H���ƒ��ô��n��*������Z��Á��m��ñ������o��,���������������Š���º������Î��7������R��r������÷�����þ��������������;���h������S��5��H��Ì������æ���*���a��”��ú��?��¿��D��*��l��X����Ñ��ì������$��£��*��Ý��F�����ª������ð��0����������R��8����u��I����™��������������£���ó������[��º������˜��Í��Ž������ç���à��������&������������v��F��������™���Þ��d��������������¥����������Á��������������8��E�� ��›��j��+���+����7�������¯��—���û��6������—��O����8��<���y������p���´��O��������á������������Z��÷����������š��þ���#������g��Â��}����������������–��Ë�����ƒ��t��÷����������€��-��ï��1��\��!��l��w��Æ���þ����©��Ó��i���!��ë��#��X��•�� ������F��U���$���I������T������÷����������������ï������|��ä��…��è�� ����Î������C������<��_������I�� ��E��®������o��–�������¢���¸��G��Í���:������ä�������2����ó��Õ����ˆ��Ÿ�� ������ù�������� ������i��Í��������·��k��r������ø��Œ��Œ������,��ì��Ë��S������8�������{������Ë������������q��� ��“��v������ˆ�������¿��‡��Ä��a����Ø��ô��€������¤����È����������Å����������¶��˜����������\��Y�������#���v��À��,��ƒ��y��‹�����‰��Œ������G����i��¨��ë��T�� ��¾������ò��ö������B��M��È��{��� ����������������•��(��Ô��� ��Ä�������������c�������á����������¤������”��ù������N��^��Ö��0��p������k������&������§��Ç��‚��À����������y��F��h���Ë��ë������Ñ��Š������K��s��>��Ç����Ó������N��¦���� ��¬��������…��÷�������P������������D��ˆ��¾������?���½������1������í������¹��‡��ÿ��G��Y����‚��������.��Ã������Í��˜��»��’���m������»���\���Ò��Ï�����3�� ����)������ƒ��������Ø��C��V��¥��‡��Ú��¿��=���������� ��3��ý������ß��}��å��¿��ç��Ë������^��������������“���g��Ñ������>������ž��������S��-���?��b���±��V��/���W����������æ��q������v��›��í������e��(��w��¾����������'����|��Ô������s��‰����£��9�����¦��¬��è��>������ª��V����é��î��´���î��������^�������Ñ��Ž�����������%��ë������Y������V�������{��¿���e��������������•��Å��Ý��n��e��L��T��z��þ��•���³�� ��n����������±����������,��œ��–��k��/��¨��Û��������~��^��·��§������#����¬����������=���c��ª���Ô��Á����¥���×��Ý��Ê���@������…���������������d��$��·��0���Ð��t��O���"���������J��¹����������v��v���Ö��]���à��_������1���;��ê��è�����������#������Ä��y���€��9��Ò������5��4��;����ø�������A��å��t��C�������°��Ù��ã������Ù��T��Ù��Ì����������Ô��(��g��?��%����������Q������(��S��ƒ�������w��›��ø��������ñ������C��ð��Ê��4����������:��Œ��¹��������������C��%��7����������[������¤����Û���5��8��Ù������ª��Û������Ð��|������;��²�����É����?��S���������� ��Ý���������g������—����������U���������¡��‘��t��D��ò������‘��‘��=��á��{��p��,�� ��:������Ô����������Ê��Ã��¨����5��Œ�������×���Í�����K��ƒ��Ê��r��x��×������)��)��®����������b��3��:������Š����������Ü��l��Ž��¬������½��������š�������O��B��������������/������ž���d�������Â��e���Ä��������������������›��à��B��(����� ������&��u�������������Ë��€��K��,��<��è�������0������@��¡���²����l���µ��Ü������������*����2�ä…��†��$†��8†��L†��`†��t†��ˆ†��œ†��°†��Ć��؆��ì†��‡��‡��8‡��L‡��x‡��”‡��°‡��ć��؇��ì‡���ˆ��ˆ��(ˆ��Dˆ��`ˆ��|ˆ��˜ˆ��¬ˆ��Ȉ��:��������������� �����������������ÿÿÿÿZ��������1���ÿÿÿÿŒ��������/���ÿÿÿÿ¼����������ÿÿÿÿì�7����������ÿÿÿÿ6�����������ÿÿÿÿf�����������ÿÿÿÿ€�����������ÿÿÿÿª��������(���ÿÿÿÿ×� �������Q���ÿÿÿÿ2� �������R���ÿÿÿÿŽ� �������V���ÿÿÿÿî������������������ÿÿÿÿ�����������ÿÿÿÿ!� ���������������ÿÿÿÿK����������ÿÿÿÿl��������������� �������������� ���ÿÿÿÿ‰������������������ÿÿÿÿ­������������������ÿÿÿÿØ����������ÿÿÿÿ �@����������ÿÿÿÿ^�����������ÿÿÿÿ’�����������ÿÿÿÿ°�����������ÿÿÿÿã��������+���ÿÿÿÿ � �������(�������!���ÿÿÿÿf � �������(�������!���ÿÿÿÿ¹ � �������0�������(���ÿÿÿÿ ������������������ÿÿÿÿL �����������ÿÿÿÿS � ���������������ÿÿÿÿy �"���������ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-12 11:19+0100 Last-Translator: Göran Uddeborg <goeran@uddeborg.se> Language-Team: Swedish <tp-sv@listor.tp-sv.se> Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); � � BYTE är hex med prefixet 0x eller 0X, och kan ha en multiplikativ ändelse: b 512 KB 1000 K 1024 MB 1000·1000 M 1024·1024 och sÃ¥ vidare för G, T, P, E, Z, Y. � TYP skapas av en eller fler av dessa specifikationer: a namngivet tecken, ignorera höga biten c ASCII-tecken eller sekvens med omvänt snedstreck � Traditionella formatspecifikationer kan blandas, de ackumuleras: -a samma som -t a, välj namngivna tecken, ingorera höga biten -b samma som -t o1, välj oktala byte -c samma som -t c, välj ASCII-tecken eller sekvenser med omvänt snedstreck -d samma som -t u2, välj desimala 2-bytenheter utan tecken � ( UTTRYCK ) UTTRYCK är sant ! UTTRYCK UTTRYCK är falskt UTTRYCK1 -a UTTRYCK2 bÃ¥de UTTRYCK1 och UTTRYCK2 är sanna UTTRYCK1 -o UTTRYCK2 nÃ¥got av UTTRYCK1 eler UTTRYCK2 är sant � --check-order kontrollera att indata är korrekt sorterad, även om alla indatarader gÃ¥r att para ihop --nocheck-order kontrollera inte att indata är korrekt sorterad � -1 skriv ej kolumn 1 (rader som är unika för FIL1) -2 skriv ej kolumn 2 (rader som är unika för FIL2) -3 skriv ej kolumn 3 (rader som är förekommer i bÃ¥da filerna) � -a, --all samma som -b -d --login -p -r -t -T -u -b, --boot tid för senaste systemuppstart -d, --dead skriv ut döda processer -H, --heading skriv ut rad med kolumnhuvuden � -b FIL FIL finns och är en specialfil för blockÃ¥tkomst -c FIL FIL finns och är en specialfil för teckenÃ¥tkomst -d FIL FIL finns och är en katalog -e FIL FIL finns � -l skriv ut i lÃ¥ngt format -b utelämna användarens hemkatalog och skal i det lÃ¥nga formatet -h utelämna användarens projektfil i det lÃ¥nga formatet -p utelämna användarens planfil i det lÃ¥nga formatet -s skriv ut i kort format � -n STRÄNG längden pÃ¥ STRÄNG är inte noll STRÄNG likvärdigt med -n STRÄNG -z STRÄNG längden pÃ¥ STRÄNG är noll STRÄNG1 = STRÄNG2 strängarna är lika STRÄNG1 != STRÄNG2 strängarna är inte lika � ARG1 * ARG2 aritmetisk produkt av ARG1 och ARG2 ARG1 / ARG2 aritmetisk kvot av ARG1 dividerat med ARG2 ARG1 % ARG2 aritmetisk rest av ARG1 dividerat med ARG2 � ARG1 + ARG2 aritmetisk summa av ARG1 och ARG2 ARG1 - ARG2 aritmetisk differens mellan ARG1 och ARG2 � ARG1 < ARG2 ARG1 är mindre än ARG2 ARG1 <= ARG2 ARG1 är mindre än eller lika med ARG2 ARG1 = ARG2 ARG1 är lika med ARG2 ARG1 != ARG2 ARG1 är inte lika med ARG2 ARG1 >= ARG2 ARG1 är större än eller lika med ARG2 ARG1 > ARG2 ARG1 är större än ARG2 � FIL1 -ef FIL2 FIL1 och FIL2 har samma enhets- och inodnummer FIL1 -nt FIL2 FIL1 är nyare (ändringstidpunkt) än FIL2 FIL1 -ot FIL2 FIL1 är äldre än FIL2 � HELTAL kopiera till men ej inklusive angivet radnummer /MÖNSTER/[AVSTÃ…ND] kopiera till men ej inklusive en rad som matchar %MÖNSTER%[AVSTÃ…ND] hoppa över till men ej inklusive, en rad som matchar {HELTAL} upprepa föregÃ¥ende mönster HELTAL gÃ¥nger {*} upprepa föregÃ¥ende mönster sÃ¥ mÃ¥nga gÃ¥nger som möjligt Ett radAVSTÃ…ND är ett â€+†eller â€-†följt av ett positivt heltal. � HELTAL1 -eq HELTAL2 HELTAL1 är lika med HELTAL2 HELTAL1 -ge HELTAL2 HELTAL1 är större än eller lika med HELTAL2 HELTAL1 -gt HELTAL2 HELTAL1 är större än HELTAL2 HELTAL1 -le HELTAL2 HELTAL1 är mindre än eller lika med HELTAL2 HELTAL1 -lt HELTAL2 HELTAL1 är mindre än HELTAL2 HELTAL1 -ne HELTAL2 HELTAL1 är inte lika med HELTAL2 � STRÄNG : REGUTTR förankrad mönstersökning efter REGUTTR i STRÄNG match STRÄNG REGUTTR samma som STRÄNG : REGUTTR substr STRÄNG POS LÄNGD delsträng av STRÄNG, POS räknas frÃ¥n 1 index STRÄNG BOKST index i STRÄNG där BOKST pÃ¥träffats, eller 0 length STRÄNG längden av STRÄNG � a numrera alla rader t numrera endast icketomma rader n numrera inga rader pGRU numrera endast rader som stämmer med det grundläggande reguljära uttrycket, GRU FORMAT är nÃ¥gon av: ln vänsterjusterat, inga inledande nollor rn högerjusterat, inga inledande nollor rz högerjusterat, inledande nollor � b skapa en (buffrad) blockspecialfil c, u skapa en (obuffrad) teckenspecialfil p skapa en FIFO � # användare=%lu � -t är implicit om SIDLÄNGD ≤ 10. Utan FIL, eller när FIL är -, läs standard in. � Ett fält är en följd av blanka (vanligen mellanslag och/eller tabulatorer) och sedan tecken som ej är blanka. Fält hoppas över före tecken. � Ett lättviktigt â€fingerâ€-program; skriver ut användarinformation. utmp-filen kommer att vara %s. � Ett ensamt - medför -i. Om inget KOMMANDO, skriv ut den resulterande miljön. � Efter eventuella flaggor följer en valfri fältbredd, som ett decimalt tal, sedan en valfri modifierare, som är antingen E för att använda lokalens alternativa representationer om tillgängliga, eller O för att använda lokalens alternativa numeriska symboler om tillgängliga. � Ett utelämnat UTTRYCK behandlas som falskt. Annars är UTTRYCK sant eller falskt och sätter returvärdet. Det är nÃ¥got av: � Som ett specialfall gör cp en säkerhetskopia av KÄLLA när force- och backup-flaggorna är givna, och KÄLLA och DEST är samma namn pÃ¥ en befintlig normal fil. � Var medveten om att vissa skal tolkar mÃ¥nga operatorer, som därför mÃ¥ste markeras. Jämförelser är aritmetiska om bÃ¥da ARG är siffror, annars lexikografiska. Mönsterträffar returnerar strängen som stämmer mellan \( och \), eller tom sträng. Om \( och \) inte använts, returneras antalet tecken som överensstämmer, eller 0. � BÃ¥de ÖVRE och LÄGRE mÃ¥ste anges när TYP är b, c eller u, och de fÃ¥r inte anges när TYP är p. Om ÖVRE eller LÄGRE börjar med 0x eller 0X tolkas det som hexadecimalt; annars, om det börjar med 0 som oktalt; annars som decimalt. TYP fÃ¥r vara: � Som standard tar rm inte bort kataloger. Använd flaggan --recursive (-r eller -R) för att ta bort varje uppräknad katalog ocksÃ¥, tillsammans med hela dess inenhÃ¥ll. � I normalläge används -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC bestÃ¥r av tvÃ¥ tecken för att avskilja logiska sidor, saknas andra tecknet menas :. Skriv \\ för \. STIL är nÃ¥gon av: � Normalt upptäcks en gles KÄLLA med en grov heuristik och motsvarande DEST görs likaledes gles. Det beteendet väljs av --sparse=auto. Ange --sparse=always för att alltid göra DEST gles när KÄLLA innehÃ¥ller tillräckligt lÃ¥nga nollbytesekvenser. Ange --sparse=never för att hindra skapandet av glesa filer. När --reflink[=always] anges, utför en lättviktskopiering, där datablocken endast kopieras när de modifieras. Om detta inte är möjligt misslyckas kopieringen eller, om --reflink=auto anges, faller tillbaka pÃ¥ en standardkopiering. � BITAR kan vara: N dela i N filer baserat pÃ¥ storleken pÃ¥ indata K/N mata ut K:e av N till standard ut l/N dela i N filer utan att dela rader l/K/N mata ut K:e av N till standard ut utan att dela rader r/N som â€l†men använd turordningsdistribution r/K/N likadant men mata bara ut K:e av N till standard ut � Kombinationsinställningar: * [-]LCASE samma som [-]lcase cbreak samma som -icanon -cbreak samma som icanon � Kontrollinställningar: [-]clocal stäng av kontrollsignaler till modem [-]cread tillÃ¥t mottagandet av indata * [-]crtscts möjliggör RTS/CTS-handskakning * [-]cdtrdse möjliggör DTR/DSR-handskakning csN sätt teckenstorleken till N bitar, N i [5..8] � LÖPTID är ett flyttal eventuellt följt av ett suffix: â€s†för sekunder (standard), â€m†för minuter, â€h†för timmar eller â€d†för dagar. � Visa värden i enheter av första tillgängliga STORLEK frÃ¥n --block-size, och miljövariablerna %s_BLOCK_SIZE, BLOCK_SIZE och BLOCKSIZE. Annars är enheten som standard 1024 byte (eller 512 om POSIXLY_CORRECT är satt). � Varje FLAGGsymbol kan vara: append lägg-till-läge (meningsfullt endast för utmatning, conv=notrunc rekommenderas) � Varje RÄTTIGHET har formen â€[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7}+â€. � Exampel: %s -12 fil1 fil2 Skriv ut endast rader som finns i bÃ¥de fil1 och fil2. %s -3 fil1 fil2 Skriv ut rader i fil1 som inte finns i fil2, och omvänt. � Exempel: %s /usr/bin/ → â€/usrâ€. %s dir1/str dir2/str → â€dir1†följt av â€dir2†%s stdio.h → â€.â€. � Exempel: %s /usr/bin/sort → â€sort†%s include/stdio.h .h → â€stdio†%s -s .h include/stdio.h → â€stdio†%s -a any/str1 any/str2 → â€str1†följt av â€str2†� Exempel: %s f - g Skriv f:s innehÃ¥ll, därefter standard in, och sedan g:s innehÃ¥ll. %s Kopiera standard in till standard ut. � Exempel: %s root /u Ändra ägare av /u till â€rootâ€. %s root:staff /u Samma, men ändra även dess grupp till â€staffâ€. %s -hR root /u Ändra ägare av /u och underfiller â€rootâ€. � Exempel: %s staff /u Ändra gruppen för /u till â€staffâ€. %s -hR staff /u Ändra gruppen för /u och underfiler till â€staffâ€. � Exempel: Konvertera sekunder sedan epoken (1970-01-01 UTC) till ett datum $ date --date='@2147483647' Visa tiden i Helsinfors i Finland (använd tzselect(1) för att hitta TZ) $ TZ='Europe/Helsinki' date Visa den lokala tiden för klockan 9 nästa fredag i Helsingfors i Finland $ date --date='TZ="Europe/Helsinki" 09:00 next Fri' � Förutom för -h och -L följer alla filrelaterade tester symboliska länkar. Var medveten om att parenteser mÃ¥ste föregÃ¥s av kontrollsekvens (t.ex. av omvänt snedstreck) för skal. HELTAL kan ocksÃ¥ vara -l STRÄNG, som har värdet av längden pÃ¥ STRÄNG. � Slutstatus är 0 om UTTRYCK varken är tomt eller 0, 1 om UTTRYCK är tomt eller 0, 2 om UTTRYCK är syntaktiskt felaktigt och 3 om ett fel uppstod. � Slutstatus: 0 om OK, 1 om smärre problem (t.ex., kan inte komma Ã¥t en underkatalog), 2 om allvarliga bekymmer (t.ex., kan inte komma Ã¥t kommandoradsargument). � FÄLTLISTA är en kommaseparerad lista med kolumner som skall vara med. Giltiga fältnamn är: â€sourceâ€, â€fstypeâ€, â€itotalâ€, â€iusedâ€, â€iavailâ€, â€ipcentâ€, â€sizeâ€, â€usedâ€, â€availâ€, â€pcent†och â€target†(se infosidan). � FORMAT styr utdata som i C printf. Tolkade sekvenser är: \" citationstecken � FORMAT styr utskriften. Tolkade sekvenser är: %% ett literalt % %a lokalens förkortade veckodagsnamn (t.ex. sön) � Hantera ttylinjen kopplad till standard in. Utan argument skrivs baudhastighet, radtyp och avvikelse frÃ¥n stty sane ut. I inställningarna tolkas TECKEN ordagrant, eller kodat som i ^c, 0x37, 0177 eller 127; specialvärdet ^- eller undef används för att stänga av specialtecken. � Om -e är pÃ¥slaget tolkas följande sekvenser: � Om FIL är -, strimla standard ut. Ta bort FIL(er) om --remove (-u) anges. Standard är att inte ta bort filerna för det är vanligt att arbeta pÃ¥ enhetsfiler som /dev/hda, och dessa filer bör inte tas bort. När man kör pÃ¥ en vanlig fil använder de flesta flaggan --remove. � Om FIL inte är angiven, använd %s. %s som FIL är vanligt. Om ARG1 ARG2 är angivna, antas -m: â€Ã¤r jag†eller â€mamma gillar†är vanligt. � Om FIL anges, läs den för att bestämma vilka färger som skall användas till vilka filtyper och ändelser. Annars används en fördefinierad databas. För detaljer om formatet pÃ¥ dessa filer, kör â€dircolors --print-databaseâ€. � Om FÖRSTA eller ÖKNING utelämnas, sätts de till 1. Det vill säga, en utelämnad ÖKNING sätts till 1 även när SISTA är mindre än FÖRSTA. FÖRSTA, ÖKNING och SISTA tolkas som flyttal. ÖKNING är normalt positivt om FÖRSTA är mindre än SISTA och ÖKNING är normalt negativt om FÖRSTA är större än SISTA. � Om LÄGE är â€0†kommer motsvarande ström vara obuffrad. � Om LÄGE är â€L†kommer motsvarande ström vara radbuffrad. Detta alternativ är ogiltigt med standard in. � Om FIL är -, kopiera igen till standard ut. � Om inget kommando angivs, kör â€${SHELL} -i†(standard: â€/bin/sh -iâ€). � Om standard in är en terminal, omdirigera den frÃ¥n /dev/null. Om standard ut är en terminal, lägg till utdata till â€nohup.out†om möjligt, â€$HOME/nohup.out†annars. Om standard fel är en terminal, omdirigera den till standard ut. För att spara utadata till FIL, använd â€%s KOMMANDO > FILâ€. � Om kommandot gÃ¥r över tiden, och --preserve-status inte är satt, avsluta dÃ¥ med status 124. Avsluta annars med slutstatusen frÃ¥n KOMMANDO. Om ingen signal anges, skicka signalen TERM när tiden gÃ¥r ut. Signalen TERM dödar en process som inte blockerar eller fÃ¥ngar den signalen. Det kan vara nödvändigt att använda signalen KILL (9) eftersom den signalen inte kan fÃ¥ngas, i vilket fall slutstatusen är 128+9 istället för 124. � Om det första tecknet i K (antal byte eller rader) är â€+â€, starta utmatning med den K:te posten räknat frÃ¥n början av varje fil. Skriv annars ut de sista K posterna i filen. K kan ha en multiplikativ ändelse: b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024, GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y. � Inställningar för inmatning: [-]brkint avbrott orsakar en avbrottssignal [-]icrnl översätt vagnretur till nyrad [-]ignbrk ignorera avbrottstecken [-]igncr ignorera vagnretur � K kan ha en multiplikativ ändelse: b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024, GB 1000·1000·1000, G 1024·1024·1024, och sÃ¥ vidare för T, P, E, Z, Y. � NYCKELDEF är F[.C][FLGR][,F[.C][FLGR]] för start och slutposition, där F är ett fältnummer och C en teckenpositionen inom fältet; bÃ¥da börjar pÃ¥ 1, och som standard är slutpositionen radens slut Om vare sig -t eller -b är pÃ¥ räknas tecken i fältet frÃ¥n början av föregÃ¥ende blanktecken. FLGR är en eller flera enbokstavs ordningsflaggor [bdfgiMhnRrV], vilka ersätter globala ordningsflaggor för den nyckeln. Om ingen nyckel är angiven, använd hela raden som nyckel. STORLEK kan följas av följande multiplikativa ändelser: � Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>. Detta är fri programvara: du fÃ¥r lov att ändra och vidaredistribuera den. Det finns INGEN GARANTI, sÃ¥ lÃ¥ngt lagen tillÃ¥ter. � Lokala inställningar: [-]crterase eka raderingstecken som backsteg-mellanslag-backsteg * crtkill radera hela raden genom att använda inställningarna för echoprt och echoe * -crtkill radera hela raden genom att använda inställningarna för echoctl och echok � Obligatoriska argument till lÃ¥nga flaggor är obligatoriska även för de korta. � N och BYTE kan följas av de följande multiplikativa ändelserna: c =1, w =2, b =512, kB =1000, K =1024, MB =1000·1000, M =1024·1024, xM =M GB =1000·1000·1000, G =1024·1024·1024, och sÃ¥ vidare för T, P, E, Z, Y. Varje KONV-symbol kan vara: � OBSERVERA: Om KOMMANDO justerar buffringen pÃ¥ sina standardströmmar (â€tee†gör det t.ex.) dÃ¥ kommer detta at Ã¥sidosätta motsvarande inställningar ändrade av â€stdbufâ€. Vidare använder nÃ¥gra filter (som â€dd†och â€cat†etc.) inte strömmar för I/O, och pÃ¥verkas alltsÃ¥ inte av â€stdbufâ€-inställningar. � OBS: [ godkänner flaggorna --help och --version, men test gör det inte. test behandlar bÃ¥da dessa som den behandlar alla andra icketomma strängar. � OBS: ditt skal kan ha sin egen version av %s, som ofta ersätter versionen som beskrivs här. Se dokumentationen för ditt skal för detaljer om valen det stödjer. � Observera att om du använder rm för att ta bort en fil kan det vara möjligt att ta reda pÃ¥ en del av dess innehÃ¥ll, givet tillräckligt med expertis och/eller tid. För större visshet om att innehÃ¥llet verkligen är borta, överväg att använda shred. � Observera att flaggorna -d och -t tar olika tid-datumformat. � Observera, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€. � Obs: â€uniq†upptäcker inte upprepade rader om de inte är efter varandra. Du kanske vill sortera indata först, eller använda â€sort -u†utan â€uniqâ€. Dessutom, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€. � Möjligt - före INSTÄLLNING indikerar negation. En * indikerar en icke-POSIX-inställning. Det underliggande systemet definierar vilka inställningar som är tillgängliga. � Annars är LÄGE ett tal som kan följas av ett av följande: KB 1000, K 1024, MB 1000·1000, M 1024·1024, och sÃ¥ vidare för G, T, P, E, Z, Y. I detta fall kommer strömmen vara fullt buffrad med buffertstorleken sattt till LÄGE byte. � Inställningar för utmatning: * bsN fördröjning pÃ¥ backsteg, N är [0-1] * crN fördröjning pÃ¥ vagnretur, N är [0-3] * ffN fördröjning pÃ¥ sidmatning, N är [0-1] * nlN fördröjning pÃ¥ nyrad, N är [0-1] � Ägaren byts inte om den utelämnas. Grupp byts inte om utelämnad, men byts till inloggningsgrupp om underförstÃ¥dd av â€:†efter en symbolisk ÄGARE. ÄGARE och GRUPP kan vara numeriska sÃ¥väl som symboliska. � Skriv ut värdet pÃ¥ UTTRYCK till standard ut. En tom rad nedan separerar grupper med ökande prioritetsordning. UTTRYCK kan vara: ARG1 | ARG2 ARG1 om det varken är null eller 0, annars ARG2 ARG1 & ARG2 ARG1 om inget av argumenten är null eller 0, annars 0 � Läs standard in om FIL är -. Varje MÖNSTER kan vara: � Rapportera fel i %s till %s. Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se>. � Rapportera fel till %s. Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se>. � MÄNGDer anges som en sträng tecken. De flesta representerar sig själva. Följande sekvenser tolkas: \NNN tecken med det oktala värdet NNN (1 till 3 oktala siffror) \\ omvänt snedstreck \a ljudsignal \b baksteg \f sidmatning \n nyrad \r vagnretur \t horisontell tabulator � SIGNAL kan vara ett signalnamn som â€HUP†eller ett signalnummer som â€1â€, eller en slutstatus frÃ¥n en process avslutad av en signal. PID är ett heltal; om det är negativt identifierar det en processgrupp. � STORLEK är ett tal. För TYP i [doux] kan STORLEK ocksÃ¥ vara C för sizeof(char), S för sizeof(short), I för sizeof(int) eller L för sizeof(long). Om TYP är f kan STORLEK ocksÃ¥ vara F för sizeof(float), D för sizeof(double) eller L för sizeof(long double). � STORLEK är ett heltal och eventuell enhet (exampel: 10M är 10·1024·1024). Enheter är K, M, G, T, P, E, Z, Y (multiplar av 1024) eller KB, MB, … (multiplar av 1000). � STORLEK kan ocksÃ¥ föregÃ¥s av en av följande modifierande tecken: â€+†utöka med, â€-†minska med, â€<†högst, â€>†minst, â€/†avrunda nerÃ¥t till multipel av, â€%†avrunda uppÃ¥t till multipel av. � Genom att skicka en %s-signal till en körande â€ddâ€-process fÃ¥r man den att skriva in-/utstatistik pÃ¥ standard, och sedan fortsätta kopiera. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 poster in 18335302+0 poster ut 9387674624 byte (9.4 GB) kopierade, 34.6279 sekunder, 271 MB/s � Specialtecken: * dsusp TECKEN TECKEN skickar en stoppsignal sÃ¥ fort indata är slut. eof TECKEN TECKEN skickar ett filslut (avsluta inmatning) eol TECKEN TECKEN avslutar raden � Specialinställningar: N sätt in- och utmatninshastighet till N baud * cols N säg till kärnan att terminalen har N kolumner * columns N samma som cols N � Ändelsen pÃ¥ säkerhetskopior är â€~†om inte annat anges av --suffix eller SIMPLE_BACKUP_SUFFIX. Versionhanteringen kan styras med --backup-flaggan eller med miljövariabeln VERSION_CONTROL. Den kan ha följande värden: � Data kodas för base64-alfabetet enligt beskrivningen i RFC 3548. Vid avkodning kan indata innehÃ¥lla nyradstecken förutom de byte som tillhör det egentliga base64-alfabetet. Använd --ignore-garbage för att försöka Ã¥terhämta frÃ¥n tecken utanför alfabetet i den kodade strömmen. � Följande flaggor modifierar hur en hierarki traverseras när flaggan -R ocksÃ¥ anges. Om mer än en anges har enbart den sista nÃ¥gon verkan. -H om ett kommandoradsargument för ett kommando är en symbolisk länk, följ den. -L följ varje symbolisk länk till en katalog som pÃ¥träffas -P följ inga symboliska länkar (normalfall) � De tre följande flaggorna är användbara enbart vid verifikation av kontrollsummor: --quiet skriv inte OK för varje verifierad fil --status skriv inte ut nÃ¥got, statuskoden visar resultatet -w, --warn varna för felaktigt formaterade kontrollsummerader � Summorna beräknas sÃ¥ som beskrivs i %s. Vid kontroll ska indata vara tidigare utdata frÃ¥n detta program. Normalläge är att skriva en rad med en kontrollsumma, ett tecken som indikerar typen (â€*†för binärt, blanktecken för text), och namnet pÃ¥ varje FIL. � De giltiga formatsekvenserna för filer (utan --file-system): %a Ã¥tkomsträttigheter oktalt %A Ã¥tkomsträttigheter i format läsbart för människa %b antal använda block (se %B) %B storleken i byte pÃ¥ varje block rapporterat av %b %C SELinux säkerhetskontextsträng � Detta installationsprogram kopierar filer (oftast nykompilerade) till destinationsplatser man väljer. Om man vill hämta och installera ett paket som är färdigt att använda pÃ¥ ett GNU/Linuxsystem bör du istället använda en pakethanterare som yum(1) eller apt-get(1). De första tre formaten kopierar KÄLLA till DEST eller flera KÄLLor till en befintlig KATALOG, samtidigt som rättigheter och ägare/grupp sätts. Det fjärde formatet skapar KATALOG(er) inklusive eventuella föräldrakataloger. � För att ta bort filer vars namn börjar med â€-â€, till exempel â€-apaâ€, använder du ett av dessa kommandon: %s -- -apa %s ./-apa � Översättning sker om -d inte ges och bÃ¥de MÄNGD1 och MÄNGD2 finns. -t kan endast användas vid översättning. MÄNGD2 expanderas till längden av MÄNGD1 genom att dess sista tecken upprepas tillräckligt mÃ¥nga gÃ¥nger. Överflödiga tecken i MÄNGD2 ignoreras. Endast [:lower:] och [:upper:] expanderas garanterat i stigande ordning. Används de i MÄNGD2 vid översättning kan de endast användas parvis för att ange skiftlägesändring. -s använder MÄNGD1 om det ej är översättning eller borttagning; annars använder sammanpressning MÄNGD2 och sker efter översättning och borttagning. � ENHETSflaggor: � Om inte -t TECKEN är givet separeras fält av inledande mellanslag som ignoreras, annars separeras fält av TECKEN. Varje FÄLT är ett fältnummer räknat frÃ¥n 1. FORMAT är en eller flera specifikationer Ã¥tskilda med komma eller mellanslag, var och en är â€FILNUM.FÄLT†eller â€0â€. Normalvärdet för FORMAT skriver ut de förenade fälten, de kvarvarande fälten frÃ¥n FIL1, de kvarvarande fälten frÃ¥n FIL2, allt separerat med TECKEN. Om FORMAT är nyckelordet â€auto†avgör första raden av varje fil antalet fält som skrivs ut för varje rad. Viktigt: FIL1 och FIL2 mÃ¥ste vara sorterade pÃ¥ föreningsfälten. T.ex., använd â€sort -k 1b,1†om â€join†inte har nÃ¥gra flaggor, eller använd â€join -t ''†om â€sort†inte har nÃ¥gra flaggor. Observera, jämförelser tar hänsyn till reglerna som anges av â€LC_COLLATEâ€. Om indata inte är sorterad och nÃ¥gra rader inte kan förenas, ges ett varningsmeddelande. � Använd en och endast en av -b, -c eller -f. Varje LISTA bestÃ¥r av ett intervall, eller flera intervall avskilda med komman. Utvald indata skrivs i samma ordning som den läses, och skrivs exakt en gÃ¥ng. � Användning av -s ignorerar -L och -P. Annars styr den sist angivna flaggan beteendet när ett MÃ…L är en symbolisk länk, som standard %s. � Användning av färger för att särskilja filtyper är avslaget bÃ¥de som standard och med --color=never. Med --color=auto, skriver ls ut färgkoder endast när standard ut är anslutet till en terminal. Miljövariablen LS_COLORS kan ändra instaällningen Använd kommandot dircolors för att sätta den. � Utan FIL eller om FIL är -, läs standard in. â€-F /†är standard. � Utan FIL, eller när FIL är -, läs standard in. � Utan flaggor produceras tre kolumner utdata. Kolumn ett innehÃ¥ller rader unika för FIL1, kolumn tvÃ¥ innehÃ¥ller filer unika för FIL2 och kolumn tre innehÃ¥ller rader gemensamma för bÃ¥da filerna. � Utan nÃ¥gon FLAGGA skrivs lite användbar, identifierad information ut. � Skriv en otvetydig representation, normalt oktala tecken, av FIL till standard ut. Med mer än ett FIL-argument, slÃ¥ samman dem i den angivna orningen som indata. Utan FIL eller om FIL är -, läs standard in. � (meningsfullt endast pÃ¥ system där det gÃ¥r att ändra ägare pÃ¥ en symbolisk länk) � ???� --backup[=STYR] säkerhetskopiera varje befintlig destination -b som --backup, fast tar inget argument -f, --force frÃ¥ga inte innan nÃ¥got skrivs över -i, --interactive frÃ¥ga innan nÃ¥got skrivs över -n, --no-clobber skriv inte över existerade filer Om du anger mer än en av -i, -f, -n har endast den sista nÃ¥gon effekt. � --backup[=STYR] säkerhetskopiera varje befintlig destination -b som --backup, fast tar inget argument -d, -F, --directory tillÃ¥t superanvändaren att försöka hÃ¥rt länka kataloger (obs: detta kommer formodligen misslyckas pÃ¥ grund av systemrestriktioner, även för superanvändaren) -f, --force ta bort befintliga destinationsfiler � --backup[=STYR] säkerhetskopiera varje befintlig destination -b som --backup, fast tar inget argument -C, --compare jämför varje par of käll- och destinationsfiler, och modifiera i nÃ¥gra fall inte destinationen alls -c (ignoreras) -d, --directory betrakta alla argument som kataloger; skapa dem inklusive eventuella föräldrakataloger � --batch-size=ANTAL slÃ¥ samman högst ANTAL indatafiler Ã¥t gÃ¥ngen, använd temporärfiler för fler � -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T.ex. â€--block-size=M†skriver storleka i enheter av 1 048 576 byte. Se STORLEKsformat nedan. -B, --ignore-backups lista inte underförstÃ¥dda poster som slutar pÃ¥ ~ -c med -lt: sortera efter och visa ctime, (tid för senaste ändring av filstatusinformation) med -l: visa ctime och sortera alfabetiskt annars: sortera efter ctime, nyast först � --complement tar komplementet av de valda byten, tecknen eller fälten � --debug annotera delarna av raden som används för sotrering, och varna om tveksam använding till standard fel --files0-from=F läs indata frÃ¥n filerna som anges med nollterminerade namn i filen F. Om F är - sÃ¥ läs namn frÃ¥n standard in � --debug skriv varningar om ogiltig indata � --dereference ändra referensen för varje symbolisk länk (detta är standard) istället för den symboliska länken själv -h, --no-dereference ändra symboliska länkar istället för referade filer � --field=N ersätt talet i indatafält N (standard är 1) � --files0-from=F läs indata frÃ¥n filer som anges med NULL-terminerade namn i filen F. Om F är - sÃ¥ läs namn frÃ¥n standard in -L, --max-line-length skriv längden pÃ¥ den längsta raden -w, --words skriv antalet ord � --files0-from=F summera diskanvändning för de NOLL-terminerade filnamnen som anges i filen F; Om F är - sÃ¥ läs namn frÃ¥n standard in -H detsamma som --dereference-args (-D) -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M 2G) � --format=FORMAT använd flyttalsformat FORMAT av typ printf; se FORMAT nedan för detaljer � --from-unit=N ange indatas enhetsstorlek (istället för standard 1) � --from=NUVARANDE_ÄGARE:NUVARANDE_GRUPP byt ägare och/eller grupp pÃ¥ varje fil endast om dess nuvarande ägare och/eller grupp stämmer med de som anges här. Endera kan utelämnas, och dÃ¥ ställs inget krav pÃ¥ tillhörighet för det utelämnade attributet. � --from=ENHET skala automatiskt indatatal till ENHETer; standard är â€noneâ€; se ENHET nedan � --group-directories-first gruppera kataloger före filer. utöka med en flagga --sort, men användning av --sort=none (-U) avaktiverar gruppering � --grouping använd lokaldefinierad gruppering av siffror, t.ex. 1 000 000 (vilket betyder att det inte har nÃ¥gon effekt i lokalen C/POSIX) � --header[=N] skriv (utan konvertering) de första N rubrikraderna; N blir 1 som standard om det inte anges � --help visa denna hjälptext och avsluta � --indicator-style=ORD lägg till en indikator med stil ORD till postnamn: none (standard), slash (-p), file-type (-p), classify (-F) -i, --inode visa indexnummer för varje fil -I, --ignore=MÖNSTER visa inte underförstÃ¥dda poster som matchar skalMÖNSTER -k, --kibibytes använd 1024-bytesblock � --invalid=SÄTT felhanteringssätt för felaktiga tal: SÄTT kan vara: abort (standard), fail, warn, ignore � --lookup försök kvalificera värdnamn med hjälp av DNS -m endast värdnamn och användarnamn associerat med standard in -p, --process skriv aktiva processer startade av init � --no-preserve-root behandla inte â€/†speciellt --preserve-root ta inte bort â€/†(normalfall) -r, -R, --recursive ta bort kataloger och deras innehÃ¥ll rekursivt -d, --dir ta bort tomma kataloger -v, --verbose berätta vad som görs � --no-preserve-root behandla inte â€/†speciellt (normalfall) --preserve-root lÃ¥t bli att arbeta pÃ¥ â€/†� --no-preserve=ATTR_LISTA bevara inte de angivna attributen --parents lägg till källsökvägen till KATALOG � --one-file-system när en hierarki tas bort rekursivt, hoppa över eventuella kataloger som ligger pÃ¥ andra filsystem än motsvarande kommandoradsargument gör � --output[=FÄLTLISTA] använd utformatet definerat av FÄLTLISTA, eller skriv alla fält om FÄLTLISTA utelämnas. -P, --portability använd POSIX-format --sync anropa sync innan information hämtas -t, --type=TYP begränsa listningen till filsystem av typen TYP -T, --print-type skriv ut filsystemtyp -x, --exclude-type=TYP utelämna filsystem av typ TYP -v (ignorerad) � --padding=N fyll ut utdata till N tecken; positivt N kommer högerjustera; negativt N kommer vänsterjustera; utfyllnad ingoreras om utdata är bredare än N; standard är att automatiskt fylla ut om ett blanktecken finns � --pid=PID med -f, avsluta efter att process-id PID dör -q, --quiet, --silent skriv aldrig ut huvuden med filnamn --retry fortsätt försöka öppan en fil även när den är eller blir oÃ¥tkomlig; användbart när man följer enligt namn, t.ex., med --follow=namn � --preserve-context bevara SELinux-säkerhetskontext -Z, --context=KONTEXT sätt SELinux-säkerhetskontext pÃ¥ filer och kataloger � --preserve-status avsluta med samma status som KOMMANDO, även när tiden för kommandot löper ut --foreground När timeout inte körs direkt frÃ¥n en skalprompt, lÃ¥t KOMMANDO läsa frÃ¥n TTY:n och ta emot TTY-signaler. I detta läge kommer tiden för barn till KOMMANDO inte gÃ¥ ut. -k, --kill-after=LÖPTID skicka ocksÃ¥ en KILL-signal om KOMMANDO fortfarande kör sÃ¥ länge efter att den upsprungliga signalen skickades. -s, --signal=SIGNAL ange signalen som skall skickas när tiden gÃ¥r ut. SIGNAL kan vara ett namn som â€HUP†eller ett nummer. Se â€kill -l†för en lista pÃ¥ signaler. � --reference=RFIL använd RFILs grupp istället för att ange ett GRUPPvärde � --reference=RFIL använd RFILs rättigheter istället för ett RÄTTIGHETSvärde � --reference=RFIL använd RFILs ägare och grupp istället för att ange ÄGARE:GRUPPvärden � --reference=RFIL använd RFIL:s säkerhetskontext istället för att ange ett KONTEXTvärde � --rfc-3339=TIDSPEC skriv ut tid och datum enligt formatet RFC 3339. TIDSPEC=â€dateâ€, â€seconds†eller â€ns†för att tid datum skall anges med angiven precision. Datum- och tidsdelen separeras av ett ensamt blanktecken: 2006-08-07 12:34:56+02:00 -s, --set=STRÄNG sätt tiden som den beskrivs i STRÄNG -u, --utc, --universal sätt eller visa tiden i Universell Tid (UTC) � --round=METOD använd METOD för avrundning vid skalning; METOD kan vara: up, down, from-zero (standard), towards-zero, nearest � --sort=ORD sortera enligt ORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort naturlig sortering av (versions)nummer i text � --sparse=NÄR styr skapande av glesa filer. Se nedan. --strip-trailing-slashes ta bort eventuella avslutande snedstreck frÃ¥n varje KÄLL-argument � --strict med --check, avsluta med status skild frÃ¥n noll vid alla fel i indata � --strip-trailing-slashes ta bort avslutande snedstreck frÃ¥n varje KÄLLargument -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen � --suffix=SUFF lägg till SUFF till MALL. SUFF fÃ¥r inte innehÃ¥lla ett snedstreck. Denna flagga är implicit om MALL inte slutar med X. � --suffix=SUFFIX använd SUFFIX för att skriva ut tal, och accptera ett möjligt SUFFIX i indatatal � --tag skapa en kontrollsumma i BSD-stil � --time-style=STIL med -l, visa tider i med stil STIL: full-iso, long-sio, iso, locale, +FORMAT FORMAT tolkas som â€dateâ€; om FORMAT är FORMAT1<nyrad>FORMAT2, används FORMAT1 för gamla filer och FORMAT2 för nyare filer; vid tillägg av prefixet â€posix-†till STIL, gäller STIL endast utanför lokalen POSIX � --tmpdir[=KAT] tolka MALL relativt KAT. Om KAT inte anges använd $TMPDIR om den är satt, annars /tmp. Med denna flagga fÃ¥r MALL inte vara ett absolut namn. Till skillnad mot -t fÃ¥r MALL innehÃ¥lla snedstreck, men mktemp skapar endast den sista komponenten. � --to-unit=N enhetsstorlek pÃ¥ utdata (istället för standard 1) � --to=ENHET skala automatiskt utdatatal till ENHETer; se ENHET nedan � --verbose skriv ett meddelande strax före varje utfil öppnas � --version visa versionsinformation och avsluta � --all skriv antalet installerade processorer --ignore=N om möjligt, uteslut N processorenheter � -evenp samma som -parenb cs8 * [-]lcase samma som xcase iuclc olcuc litout samma som -parenb -istrip -opost cs8 -litout samma som parenb istrip opost cs7 nl samma som -icrnl -onlcr -nl samma som icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb använd tvÃ¥ stoppbitar per tecken (en med â€-â€) [-]hup skicka en pÃ¥läggningssignal när sista processen stänger ttyn [-]hupcl samma som [-]hup [-]parenb generera paritetsbit i utdata och förvänta paritetsbit i indata [-]parodd ställ in udda paritet (eller jämn paritet med â€-â€) � [-]ignpar ignorera tecken med paritetsfel * [-]imaxbel ljud signal, men töm inte full indatabuffert pÃ¥ grund av ett tecken [-]inlcr översätt nyrad till vagnretur [-]inpck möjliggör paritetskontroll av indata [-]istrip rensa den höga (8:e) biten i ett inmatningstecken � [-]isig möjliggör specialtecken för avbrott, slut och vila [-]noflsh koppla bort rensning efter avbrottsignaler och specialsluttecken * [-]prterase samma som [-]echoprt * [-]tostop stoppa bakgrundsjobb som försöker skriva till terminalen * [-]xcase tillsammans med icanon, används â€\†som kontrollsekvens för versaltecken � cooked samma som brkint ignpar istrip icrnl ixon oppst isig icanon, filsluttecken och radsluttecken till sina standardvärden -cooked samma som raw crt samma som echoe echoctl echoke � dec samma som echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq samma som [-]ixany ek radera- och Ã¥terställtecken till sina standardvärden evenp samma som parenb -parodd cs7 � ispeed N sätt inmatningshastighet till N * line N använd linjetyp N min N med -icanon, sätt N tecken till minimum för en avslutad läsning ospeed N sätt utmatningshastighet till N � oddp samma som parenb parodd cs7 -oddp samma som -parenb cs8 [-]parity samma som [-]evenp pass8 samma som -parenb -istrip cs8 -pass8 samma som parenb istrip cs7 � raw samma som -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw samma som cooked � sane samma som cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, alla specialtecken till sina standardvärden � stop TECKEN TECKEN stoppar utskriften susp TECKEN TECKEN skickar en terminalstoppsignal * swtch TECKEN TECKEN byter till ett annat skal * werase TECKEN TECKEN raderar det senast skrivna ordet � %% ett enkelt % %b ARGUMENT som en sträng med â€\â€-kontrollsekvenser tolkade, utom att oktala sekvenser är pÃ¥ formen \0 eller \0NNN och alla specifikationer pÃ¥ C-format som slutar med en av diouxXfeEgGcs, med ARGUMENT konverterade till en passande typ först. Klarar av varierande storlek. � %A lokalens fullständiga veckodagsnamn (t.ex. söndag) %b lokalens förkortade mÃ¥nadsnamn (t.ex. jan) %B lokalens fullständiga mÃ¥nadsnamn (t.ex. januari) %c lokalens dag och tid (t.ex. ons 5 okt 2005 22.02.05) � %C Ã¥rhundrade, som %Y, fast utelämna de sista tvÃ¥ siffrorna (t.ex. 20) %d dag i mÃ¥nad (t.ex., 01) %D datum, samma som %m/%d/%y %e dag i mÃ¥nad, blankutfyllt, samma som %_d � %F fullständigt datum, samma som %Y-%m-%d %g de sista tvÃ¥ siffrorna i Ã¥ret för ISO-veckonumret (se %G) %G Ã¥ret motsvarande ISO-veckonumret (se %V), normalt användbart endast med %V � %S sekunder (00-60) %t en tabulator %T tid, samma som %H:%M:%S %u dag i veckan (1-7), 1 är mÃ¥ndag � %U veckonummer, med söndag som första dag i veckan (00-53) %V ISO-veckonummer, med mÃ¥ndag som första dag i veckan (01-53) %w veckodag (0-6); 0 är söndag %W veckonummer, med mÃ¥ndag som första dag i veckan (00-53) � %d enhetsnummer decimalt %D enhetsnummer hexadecimalt %f tillstÃ¥ndet rÃ¥tt hexadecimalt %F filtyp %g grupp-ID pÃ¥ ägare %G gruppnamn pÃ¥ ägare � %h antal hÃ¥rda länkar %i inodnummer %m monteringspunkt %n filnamn %N citerat filnamn, med dereferens om symbolisk länk %o tips om optimal storlek för I/O-överföringar %s total storlek, i byte %t övre enhetsnummer hexadecimalt %T undre enhetsnummer hexadecimalt � %h samma som %b %H timme (00-23) %I timme (01-12) %j dag pÃ¥ Ã¥ret (001-366) � %i filsystem-ID hexadecimalt %l maxlängd pÃ¥ filnamn %n filnamn %s blockstorlek (för snabbare överföringar) %S grundläggande blockstorlek (för antal block) %t filsystemstyp hexadecimalt %T filsystemstyp i format läsbart för människa � %k timme, blankutfyllt ( 0-23); samma som %_H %l timme, blankutfyllt ( 1-12); samma som %_I %m mÃ¥nad (01-12) %M minut (00-59) � %n en ny rad %N nanosekunder (000000000-999999999) %p lokalens FM- eller EM-indikator (tom i mÃ¥nga lokaler) %P lokalens fm- eller em-indikator (tom i mÃ¥nga lokaler) %r lokalens tid, 12-timmars (t.ex. 10:04:26) %R 24-timmars timme och minut, samma som %H:%M %s sekunder sedan â€1970-01-01 00.00.00 UTC†� %u användar-ID pÃ¥ ägare %U användarnamn pÃ¥ ägare %w filens födelsetid, läsbar för människa, eller - om okänd %W filens födelsetid, sekunder sedan Epok, eller 0 om okänd %x filens Ã¥tkomsttid, läsbar för människa %X filens Ã¥tkomsttid, sekunder sedan Epok %y filens modifieringstid, läsbar för människa %Y filens modifieringstid, sekunder sedan Epok %z filens ändringstid, läsbar för människa %Z filens ändringstid, sekunder sedan Epok � %x lokalens datumrepresentation (t.ex. 2005-10-06) %X lokalens tidrepresentation (t.ex 23.43.02) %y sista tvÃ¥ siffrorna i Ã¥rtalet (00-99) %Y Ã¥r � %z +hhmm numerisk tidszon (t.ex., -0400) %:z +hh:mm numerisk tidszon (t.ex., -04:00) %::z +hh:mm:ss numerisk tidszon (t.ex., -04:00:00) %:::z numerisk tidszon med : som behövs för precisionen (t.ex., -04, +05:30) %Z alfabetisk tidszonsförkortning (t.ex., CET) Normalt fyller date ut numeriska fält med nollor. � + ELEMENT tolka ELEMENT som en sträng, även om den är ett nyckelord som â€match†eller en operator som â€/†( UTTRYCK ) värdet av UTTRYCK � +FÖRSTA_SIDA[:SISTA_SIDA], --pages=FÖRSTA_SIDA[:SISTA_SIDA] börja [sluta] skriva vid sida FÖRSTA_[SISTA_]SIDA -KOLUMN, --columns=KOLUMN skapa KOLUMN kolumner och skriv kolumner nedÃ¥t, om inte -a används. Balansera antalet rader i kolumnerna pÃ¥ varje sida � - +FORMAT (t.ex., +%H.%M) för ett format i â€dateâ€-stil � --output-delimiter=STR separera kolumner med STR � --userspec=ANV:GRUPP ange användare och grupp (ID eller namn) att använda --groups=G_LISTA ange tilläggsgrupper som g1,g2,..,gN � -0, --null avsluta varje utrad med en 0-byte istället för nyrad -a, --all skriv ut värden för alla filer, inte bara kataloger --apparent-size skriv skenbar storlek, istället för diskanvändning; även om den skenbara storleken normalt är mindre, kan den vara större pÃ¥ grund av hÃ¥l i (â€glesaâ€) filer, intern fragmentering, indirekta block, och liknande � -0, --null avsluta varje utmatad rad med en 0-byte, istället för nyrad � -A, --address-radix=RADIX utformat för filpositioner. RADIX är en av [doxn], för Decimal, Oktal, Hex eller iNgen -j, --skip-bytes=BYTE hoppa först över BYTE byte i indata � -A, --auto-reference skriv ut automatiskt genererade referenser -G, --traditional uppträd mer som System V:s â€ptx†-F, --flag-truncation=STRÄNG använd STRÄNG för att markera avhuggnar rader � -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T.ex. â€-BM†skriver storleka i enheter av 1 048 576 byte. Se STORLEKsformat nedan. -b, --bytes likvärdigt med â€--apparent-size --block-size=1†-c, --total rapportera totalsumman -D, --dereference-args följ endast symboliska länkar som är uppräknade pÃ¥ kommandoraden -d, --max-depth=N skriv summan för en katalog (eller fil, med --all) endast om den är N eller färre nivÃ¥er nedanför kommandoradsargumentet; --max-depth=0 är detsamma som --summarize � -C lista poster kolumnvis --color[=NÄR] färglägg utskriften. NÄR är som standard â€always†eller kan vara â€never†eller â€autoâ€. Mer information nedan -d, --directory lista kataloger istället för deras innehÃ¥ll, och följ inte symboliska länkar -D, --dired anpassa utdata för Emacs dired-funktion � -D skapa alla föräldrakataloger till DEST; kopiera sedan KÄLLA till DEST -g, --group=GRUPP sätt grupptillhörighet, istället för processens grupp -m, --mode=RÄTTIGHET sätt rättigheter (som för chmod), istället för rwxr-xr-x -o, --owner=ÄGARE sätt ägare (endast superanvändare) � -D, --all-repeated[=avgränsningsmetod] skriv alla upprepade rader avgränsningsmetod={none(standard),prepend,separate} Avgränsning görs med blanka rader. -f, --skip-fields=N undvik jämförelse av de första N fälten -i, --ignore-case ignorera skillnader i skiftläge vid jämförelse -s, --skip-chars=N undvik jämförelse av de första N tecknen -u, --unique skriv endast unika rader -z, --zero-terminated avsluta rader med 0-byte, inte nyrad � -D, --date-format=FORMAT använd FORMAT för huvuddatum -e[TECKEN[BREDD]], --expand-tabs[=TECKEN[BREDD]] expandera inmatade TECKEN (tabulatorer) till tabulatorBREDD (8) -F, -f, --form-feed använd sidmatning i stället för nya rader för att separera sidor (med ett 3-raders huvud vid -F eller 5-raders huvud och fot utan -F) � -G, --no-group i lÃ¥nga listningar: skriv inte ut gruppnamn -h, --human-readable med -l, skriv storlekar i läsbart format (t.ex. 1K 234M 2G) --si d:o, men använd potenser av 1000, inte 1024 � -H, --dereference-command-line följ symboliska länkar angivna pÃ¥ kommandoraden --dereference-command-line-symlink-to-dir följ varje kommandoradsargument som är en symbolisk länk som pekar pÃ¥ en katalog --hide=MÖNSTER visa inte underförstÃ¥dda poster som matchar MÖNSTER (Ã¥sidosätts av -a eller -A) � -I frÃ¥ga en gÃ¥ng före mer än tre filer tas bort, eller vid rekursiv borttagning. Mindre pÃ¥trängande än -i, men skyddar ändÃ¥ mot de flesta misstag --interactive[=NÄR] frÃ¥ga enligt NÄR: never, once (-I), eller always (-i). Utan NÄR, frÃ¥ga alltid � -L FIL FIL finns och är en symbolisk länk (samma som -h) -O FIL FIL finns coh ägs av verksam användar-ID -p FIL FIL finns och är ett namngivet rör -r FIL FIL finns och läsning är tillÃ¥ten -s FIL FIL finns och har större storlek än noll � -L, --dereference följ länkar -f, --file-system visa filsystemstatus istället för filstatus � -L, --logical använd PWD frÃ¥n omgivningen, även om den innehÃ¥ller symlänkar -P, --physical undvik alla symlänkar � -M, --macro-name=STRÄNG makronamn att använda istället för â€xx†-O, --format=roff generera utdata som roff-direktiv -R, --right-side-refs skriv referenser till höger, ej med i -w -S, --sentence-regexp=REGUTTR för radslut eller meningsslut -T, --format=tex generera utdata som TeX-direktiv � -N, --read-bytes=BYTE begränsa utmatning till BYTE byte frÃ¥n indata -S BYTE, --strings[=BYTE] skriv ut strängar med minst BYTE grafiska tecken. 3 underförstÃ¥s när BYTE inte anges -t, --format=TYP välj format för utmatning -v, --output-duplicates använd inte * för att markera undertryckta rader -w[BYTE], --width[=BYTE] skriv ut BYTE byte per rad. 32 underförstÃ¥s när BYTE inte anges --traditional acceptera argument i tredje formatet ovan � -P, --no-dereference följ inga symboliska länkar (detta är normalfallet) -S, --separate-dirs ta inte med storlek pÃ¥ underkataloger --si som -h men i exponenter av 1000 istället för 1024 -s, --summarize visa bara summan för varje argument � -R, --recursive ändra filer och kataloger rekursivt � -R, --recursive arbeta pÃ¥ filer och kataloger rekursivt � -R, -r, --recursive kopiera kataloger rekursivt --reflink[=NÄR] styr klon-/CoW-kopior. Se nedan. --remove-destination ta bort varje befintlig destinationsfil före försök att öppna den (jämför med --force) � -S sortera efter filstorlek --sort=ORD sortera ORDvis istället för efter namn: none -U, extension -X, size -S, time -t, version -v --time=ORD visa tid som ORD istället för modifieringstid: atime, access, use, ctime eller status; använd angiven tid som sorteringsnyckel om --sort=time � -S FIL FIL existterar och är ett uttag (socket) -t FI filidentifierare FI är öppnad mot en terminal -u FIL FIL existerar och dess set-user-ID-bit är satt -w FIL FIL existerar och skrivning är tillÃ¥ten -x FIL FIL existerar och körning (eller sökning) är tillÃ¥ten � -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen -t, --target-directory=KATALOG ange KATALOG som länkarna skall skapas i -T, --no-target-directory behandla alltid LÄNKNAMN som en vanlig fil -v, --verbose skriv namnet pÃ¥ varje länkad fil � -S[STRÄNG], --sep-string[=STRÄNG] Ã¥tskilj kolumner med STRÄNG, utan -S: Standardseparator <TAB> med -J och <blank> annars (samma som -S" "), ingen effekt pÃ¥ kolumnflaggor -t, --omit-header utelämna sidhuvud och sidfot � -T, --omit-pagination utelämna sidhuvud och sidfot, ta bort paginering gjord med sidmatning i infiler -v, --show-nonprinting använd oktal notation med omvänt snedstreck -w, --width=SIDBREDD sätt sidbredd till SIDBREDD (72) kolumner vid utmatning med flera textkolumner, -s[TECKEN] slÃ¥r av (72) � -T, -w, --mesg lägg till användares meddelandestatus som +, - eller ? -u, --users lista inloggade användare --message samma som -T --writeable samma som -T � -W, --page-width=SIDBREDD sätt sidbredd till SIDBREDD (72) kolumner vid all utmatning, hugg av rader utom om flagga -J är satt, ingen koppling till -S eller -s � -W, --word-regexp=REGUTTR använd REGUTTRY för att macha varje nyckelord -b, --break-file=FIL ordmellanrumstecken i denna FIL -f, --ignore-case gör om gemener till versaler för sortering -g, --gap-size=ANTAL mellanrum i kolumner mellan utdatafält -i, --ignore-file=FIL läs lista av ord att ignorera frÃ¥n FIL -o, --only-file=FIL läs lista av ord att endast använda frÃ¥n FIL � -X, --exclude-from=FIL utelämna filer som matchar nÃ¥got mönster i FIL --exclude=MÖNSTER utelämna filer som matchar MÖNSTER -x, --one-file-system hoppa över kataloger pÃ¥ andra filsystem � -Z, --context=KTX sätt SELinux-säkerhetskontexten pÃ¥ NAMN till KTX � -Z, --context=KTX sätt SELinux-säkerhetskontexten pÃ¥ varje NAMN till KTX � -a ändra bara Ã¥tkomsttiden -c --no-create skapa inga filer -d, --date=STRÄNG tolka STRÄNG och använd det istället för aktuell tid -f (ignorerad) � -a, --across skriv kolumner pÃ¥ tvären i stället för nedÃ¥t, används tillsammans med -KOLUMN -c, --show-control-chars använd hattnotation (^G) och oktal notation med omvänt snedstreck -d, --double-space skriv ut med dubbelt radavstÃ¥nd � -a, --all bortse inte frÃ¥n poster som inleds med . -A, --almost-all lista inte underförstÃ¥dda . och .. --author med -l, skriv ut författare för varje fil -b, --escape skriv C:s specialkoder för ickegrafiska tecken � -a, --all tag med lÃ¥tsasfilsystem -B, --block-size=STRL skala storlekar med STRL före de skrivs ut. T.ex. â€-BM†skriver storleka i enheter av 1 048 576 byte. Se STORLEKsformat nedan. --total skriv ut en totalsumma -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M 2G) -H, --si d:o, men använd potenser av 1000 istället för 1024 � -a, --all skriv ut alla nuvarande inställningar läsligt -g, --save skriv ut alla nuvarande inställningar i stty-format -F, --file=ENHET öppna och använd angiven ENHET istället för standard in � -a, --all konvertera alla mellanrum, i stället för bara inledande --first-only konvertera bara inledande mellanrumsekvenser (ersätter -a) -t, --tabs=N tabulatorstegen är N lÃ¥nga i stället för 8 (aktiverar -a) -t, --tabs=LISTA använd kommaseparerad LISTA med tabulatorpositioner (aktiverar -a) � -a, --archive samma som -dR --preserve=all --attributes-only kopiera inte fildata, bara attributen --backup[=STYR] gör en säkerhetskopia av varje befintlig destinationsfil -b som --backup men tar inget argument --copy-contents kopiera innehÃ¥ll i specialfiler när rekursivt -d samma som --no-dereference --preserve=links � -a, --multiple stöd flera argument och behandla varje som ett NAMN -s, --suffix=ÄNDELSE ta bort ett avslutande ÄNDELSE -z, --zero separera utdata med NOLL istället för nyrad � -a, --suffix-length=N använd ändelser av längd N (standard %d) --additional-suffix=Sändelse lägg till en extra ÄNDELSE pÃ¥ filnamn. -b, --bytes=STORLEK placera STORLEK byte i varje utfil -C, --line-bytes=STORLEK placera max STORLEK byte med rader per utfil -d, --numeric-suffixes[=FRÃ…N] använd numeriska ändelser istället för alfabetiska. FRÃ…N ändrar startvärdet (0 som standard). -e, --elide-empty-files generera inte tomma utfiler med â€-n†--filter=KOMMANDO skriv till skalKOMMANDO; filnamnet är $FILE -l, --lines=ANTAL placera ANTAL rader i varje utfil -n, --number=BITAR generera BITAR utfiler. Se nedan -u, --unbuffered kopiera omedelbart indata till utdata med â€-n r/…†� -b, --before sätt in skiljetecken före i stället för efter -r, --regex tolka skiljetecknet som ett reguljärt uttryck -s, --separator=STRÄNG använd STRÄNG som skiljetecken i stället för ny rad � -b, --binary läs i binärt läge � -b, --binary läs i binärt läge (standard om inte standard in frÃ¥n tty läses) � -b, --body-numbering=STIL använd STIL för att numrera rader i kroppen -d, --section-delimiter=CC använd CC för att avgränsa logiska sidor -f, --footer-numbering=STIL använd STIL för att numrera rader i fot � -b, --bytes räkna byte i stället för kolumner -s, --spaces bryt vid mellanrum -w, --width=ANTAL använd ANTAL kolumner i stället för 80 � -b, --bytes=LISTA välj endast dessa byte -c, --characters=LISTA välj endast dessa tecken -d, --delimiter=AVSKILJ använd AVSKILJ i stället för TAB som fältavskiljare � -b, --ignore-leading-blanks ignorera inledande mellanslag -d, --dictionary-order betrakta endast alfanumeriska och blanka tecken -f, --ignore-case byt gemener mot versaler � -b, --suffix-format=FORMAT använd sprintf-FORMAT i stället för %02d -f, --prefix=PREFIX använd PREFIX i stället för â€xx†-k, --keep-files ta inte bort utfiler vid fel � -c --format=FORMAT använd angivet FORMAT istället för standardformat; skriv ut en nyrad efter varje användning av FORMAT --printf=FORMAT som --format, men tolka specialkoder med omvänt snedstreck, och skriv inte ut en obligatorisk avslutande nyrad. Om du vill ha en nyrad, ta med \n i FORMAT. -t, --terse skriv informationen pÃ¥ kortfattad form � -c, --bytes=K skriv ut de K sista byten; alternativt, använd -c +K för att skriva ut byte med början pÃ¥ den K:e i varje fil � -c, --bytes=[-]K skriv de första K byte av varje fil; med det inledande â€-â€, skriv allt utom de sista K byte av varje fil -n, --lines=[-]K skriv de första K raderna istället för de första 10; med det inledande â€-â€, skriv alla utom de sista K raderna av varje fil � -c, --changes som â€verbose†men rapportera bara när ändringar görs -f, --silent, --quiet utelämna de flesta felmeddelanden -v, --verbose skriv ut ett meddelande för varje bearbetad fil � -c, --check läs %s-summor frÃ¥n FILen och kontrollera dem � -c, --check, --check=diagnose-first kontrollera om indata är sorterad, sortera ej -C, --check=quiet, --check=silent som -c, men rapportera inte en första felaktig rad --compress-program=PROG komprimera temporärfiler med PROG; packa upp dem med PROG -d � -c, --count skriv antalet gÃ¥nger raden förekom framför raden -d, --repeated skriv endast rader som förekommer flera gÃ¥nger � -c, --crown-margin bibehÃ¥ll indragning av de tvÃ¥ första raderna -p, --prefix=STRÄNG formatera bara om rader som börjar med STRÄNG sätt tillbaka prefixet pÃ¥ omformaterade rader -s, --split-only dela lÃ¥nga rader, men justera ej � -c, --no-create skapa inga filer en fil � -d, --date=STRÄNG visa tiden som beskriv av STRÄNG, inte â€nu†-f, --file=DATUMFIL som --date en gÃ¥ng för varje rad i DATUMFIL -I[TIDSSPEC], --iso-8601[=TIDSSPEC] skriv ut datum/tid i ISO 8601-format. TIDSSPEC=â€date†för endast datum (standard), â€hoursâ€, â€minutesâ€, â€secondsâ€, eller â€ns†för datum och tid med den angivna precisionen. � -d, --decode avkoda data -i, --ignore-garbage vid avkodning, bortse frÃ¥n ickealfabetiska tecken -w, --wrap=KOL bryt kodade rader efter KOL tecken (76 som standard). Använd 0 för att sÃ¥ av radbrytning � -d, --delimiter=X använd X istället för blanka som fältseparator � -d, --delimiters=LISTA Ã¥teranvänd tecken frÃ¥n LISTA inställer för TAB -s, --serial klistra in en fil i taget i stället för parallellt � -d, --directory skapa en katalog, inte en fil -u, --dry-run skapa ingenting, skriv bara ett namn (osäkert) -q, --quiet utelämna meddelanden när det inte gÃ¥r att skapa filer/kataloger � -e slÃ¥ pÃ¥ tolkning av sekvenser med omvänt snedstreck -E slÃ¥ av tolkning av sekvenser med omvänt snedstreck (standard) � -e slÃ¥ pÃ¥ tolkning av sekvenser med omvänt snedstreck (standard) -E slÃ¥ av tolkning av sekvenser med omvänt snedstreck � -e, --canonicalize-existing alla komponenter i sökvägen mÃ¥ste finnas -m, --canonicalize-missing inga komponenter i sökvägen behöver finnas -L, --logical lös upp â€..â€-komponenter före symlänkar -P, --physical lös upp symlänkar när de pÃ¥träffas (standard) -q, --quiet undertryck de flesta felmeddelanden --relative-to=FIL skriv den upplösta sökvägen relativt FIL --relative-base=FIL skriv absoluta sökvägar om de inte är under FIL -s, --strip, --no-symlinks expandera inte symlänkar -z, --zero separera utdata med NOLL istället för nyrad � -e, --echo behandla varje ARG som en indatarad -i, --input-range=LÃ…-HÖ behandla varje nummer LÃ… till HÖ som en indatarad -n, --head-lines=ANTAL skriv ut högst ANTAL rader -o, --output=FIL skriv resultatet till FIL istället för standard ut --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL -z, --zero-terminated avsluta rader med 0-byte, inte nyrad � -f sortera inte, slÃ¥ pÃ¥ -aU, slÃ¥ av -ls --color -F, --classify lägg till en indikator (en av */=>@|) till poster --file-type detsamma, med undantag av â€*†--format=ORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time som -l --time-style=full-iso � -f utelämna raden med kolumnrubriker i kort format -w utelämna anävndarens fullständiga namn i kort format -i utelämna användarens fullständiga namn och fjärrvärd i kort format -q utelämna användarens fullstädniga namn, fjärrvärd och overksamma tiden i kort format � -f samma som -t fF, välj flyttal -i samma som -t dI, välj decimala heltal -l samma som -t dL, välj decimala lÃ¥nga heltal -o samma som -t o2, välj oktala 2-byteenheter -s samma som -t d2, välj decimala 2-byteenheter -x samma som -t x2, välj hexadecimala 2-bytenheter � -f FIL FIL finns och är en vanlig fil -g FIL FIL finns och har sätt-grupp-ID-biten satt -G FIL FIL finns och ägs av verksam grupp-ID -h FIL FIL finns och är en symbolisk länk (samma som -L) -k FIL FIL finns med fastbiten satt � -f, --canonicalize gör kanoniskt genom att följa varje symbolisk länk i varje komponent av det givna namnet rekursivt; alla utom den sista komponenten mÃ¥ste existera -e, --canonicalize-existing gör kanoniskt genom att följa varje symbolisk länk i varje komponent av det givna namnet rekursivt, alla komponenter mÃ¥ste existera � -f, --fields=LISTA välj endast dessa fält; skriv ocksÃ¥ ut rader som saknar avkiljare, om inte flaggan -s anges -n (ignorerad) � -f, --follow[={namn|filidentifierare}] skriv ut nya rader i takt med att filen växer; -f, --follow och --follow=descriptor är likvärdiga -F samma som --follow=name --retry � -f, --force om en befintlig destinationsfil inte kan öppnas, ta bort den och försök igen (denna flagga ignoreras om -n ocksÃ¥ används) -i, --interactive frÃ¥ga innan nÃ¥got skrivs över (Ã¥sidosätter en tidigare flagga -n) -H följ symboliska länkar pÃ¥ kommandoraden i KÄLLA � -f, --force ändra rättigheter för att tillÃ¥ta skrivning, om nödvändigt -n, --iterations=N skriv över N gÃ¥nger istället för standard (%d) --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL -s, --size=N strimla detta antal byte (ändelse som K, M, G fungerar) � -f, --format=FORMAT använd flyttalsFORMAT av typ printf -s, --separator=STRÄNG använd STRÄNG för att separera tal (standard: \n) -w, --equal-width jämna ut bredd genom att lägga till inledande nollor � -g som -l, men skriv inte ut ägare � -g GID[,GID1...] sätt ocksÃ¥ den primära grupp-ID:n till den numeriska GID, och (om angivet) tilläggsgrupp-ID:n till GID1, ... � -g, --general-numeric-sort jämför enligt generellt numeriskt värde -i, --ignore-nonprinting beakta endast skrivbara tecken -M, --month-sort jämför (okänd) < â€JAN†< … < â€DEC†� -h, --header-numbering=STIL använd STIL för att numrera rader i huvud -i, --line-increment=ANTAL öka radnummer med ANTAL för varje rad -l, --join-blank-lines=ANTAL grupp med ANTAL tomma rader räknade som en -n, --number-format=FORMAT följ FORMAT när radnummer sätts in -p, --no-renumber börja inte om radnummer vid logiska sidor -s, --number-separator=STRÄNG lägg till STRÄNG efter (möjligt) radnummer � -h, --header=HUVUD använd ett centrerat HUVUD i stället för filnamn i sidhuvud, -h "" skriver en tom rad. Använd inte -h"" -i[TECKEN[BREDD]], --output-tabs[=TECKEN[BREDD]] ersätt mellanslag med TECKEN (tabulatorer), BREDD breda (8) -J, --join-lines sammanfoga hela rader, stänger av -W radstympning, ingen kolumnjustering, --sep-string[STRÄNG] anger avskiljare � -h, --human-numeric-sort jämför mänskligt läsbara tal (t.ex., 2K 1G) � -h, --no-dereference ändra varje symbolisk länk istället för det den pekar pÃ¥ (meningsfullt endast pÃ¥ system där det gÃ¥r att tidsstämpel pÃ¥ en symbolisk länk) -m ändra bara modifikationstiden � -i, --ignore-case ignorera skiftläge när fält jämförs -j FÄLT samma som â€-1 FÄLT -2 FÄLT†-o FORMAT följ FORMAT när utskriftsrader konstrueras -t TECKEN använd TECKEN som fältseparator för in- och utmatning � -i, --ignore-environment börja med en tom miljö -0, --null avsluta varje utmatad rad med en 0-byte istället för nyrad -u, --unset=NAMN ta bort variabeln frÃ¥n miljön � -i, --initial konvertera inte tabulatorer efter icke-blanktecken -t, --tabs=ANTAL använd ANTAL tecken mellan tabulatorer, ej 8 � -i, --inodes skriv inodinformation istället för blockinformation -k som --block-size=1K -l, --local visa endast lokala filsystem --no-sync anropa inte sync innan information hämtas (normalfall) � -i, --input=LÄGE justera strömbuffring av standard in -o, --output=LÄGE justera strömbuffring av standard ut -e, --error=LÄGE justera strömbuffring av standard fel � -i, --interactive frÃ¥ga om destinationer skall tas bort -L, --logical följ MÃ…L som är symboliska länkar -n, --no-dereference behandla LÄNKNAMN som en normal fil om det är är en symbolisk länk till katalog -P, --physical gör hÃ¥rda länkar direkt till symboliska länkar -r, --relative skapa symboliska länkar relativt länkpositionen -s, --symbolic gör symboliska länkar istället för hÃ¥rda länkar � -k som --block-size=1K -L, --dereference följ alla symboliska länkar -l, --count-links räkna storlek flera gÃ¥nger för hÃ¥rda länkar -m som --block-size=1M � -k, --key=NYCKELDEF sortera via en nyckel; NYCKELDEF anger plats och typ -m, --merge slÃ¥ samman redan sorterade filer, sortera inte � -l använd lÃ¥ngt listningsformat -L, --dereference när filinformation visas för en symbolisk länk, visa information om filen länken refererar snarare än för själva länken -m fyll bredden med en kommaseparerad lista av poster � -l, --length=SIDLÄNGD sätt sidlängden till SIDLÄNGD (66) rader (standard 56 rader text, och med -F 63) -m, --merge skriv alla filer parallellt, en i varje kolumn, hugg av rader, men slÃ¥ samman rader till full längd med -J � -l, --link hÃ¥rdlänka filer istället fär att kopiera -L, --dereference följ alltid symboliska länkar i KÄLLA � -l, --login skriv ut inloggningsprocesser � -m, --canonicalize-missing gör kanoniskt genom att följa varje symbolisk länk i varje komponent av det givna namnet rekursivt, utan krav pÃ¥ att komponenterna existerar -n, --no-newline skriv inte ut den avslutande nyraden -q, --quiet, -s, --silent undertryck de flesta meddelanden -v, --verbose rapportera felmeddelanden -z, --zero separera utdata med NOLL istället för nyrad � -m, --mode=RÄTTIGHET sätt filrättighetsbitar till RÄTTIGHET, inte a=rw - umask � -m, --mode=RÄTTIGHET sätt filrättigheter (som i chmod), inte rwxrwxrwx - umask -p, --parents inget fel om den finns, gör föräldrakataloger vid behov -v, --verbose skriv meddelande för varje skapad katalog -Z, --context=KTX sätt SELinuxsäkerhetskontexten pÃ¥ varje skapad katalog till KTX � -n, --adjustment=N lägg till heltalet N till nice-värdet (10 som standard) � -n, --digits=SIFFROR använd angivet antal siffror istället för 2 -s, --quiet, --silent skriv inte ut storleken pÃ¥ utmatningsfiler -z, --elide-empty-files ta bort tomma utmatningsfiler � -n, --lines=K skriv ut de sista K raderna istället för de sista %d, eller använd -n +K för att skriva ut rader med början frÃ¥n den K:e --max-unchanged-stats=N med --follow=name, öppna om en FIL som inte har ändrat storlek efter N (standard %d) iterationer för att se om den har tagits bort eller ändrat namn (detta är det vanliga fallet för roterade loggfiler)- Med inotify är denna flagga sällan användbar. � -n, --no-clobber skriv inte över en existerande fil (Ã¥sidosätter en tidigare flagga -i) -P, --no-dereference följ aldrig symboliska länkar i KÄLLA � -n, --numeric-sort jämför enligt strängens numeriska värde -R, --random-sort sortera efter slumpvis has av nycklar --random-source=FIL hämta slumpbyte:ar frÃ¥n FIL -r, --reverse vänd pÃ¥ resultatet av jämförelserna � -n, --numeric-uid-gid som -l, men lista numeriska användar- och grupp-ID -N, --literal skriv ut rÃ¥a postnamn (specialbehandla inte kontrolltecken till exempel) -o som -l, men lista inte gruppinformation -p, --indicator-style=slash lägg till en /-indikator till kataloger � -n[SEP[SIFFROR]], --number-lines[=SEP[SIFFROR]] numrera rader, använd SIFFROR (5) siffror, sedan SEP (TAB), i normalläge startar räkning vid infilens första rad -N, --first-line-number=NUMMER börja räkna med NUMMER vid första raden pÃ¥ första sidan som skrivs ut (se +FÖRSTA_SIDA) � -o, --indent=MARGINAL skjut in varje rad med MARGINAL (noll) mellanrum, pÃ¥verka ej -w eller -W, MARGINAL läggs till SIDBREDD -r, --no-file-warnings utelämna varning när en fil inte kan öppnas � -o, --io-blocks använd STORLEK som antal IO-block istället för byte � -o, --output=FIL skriv resultatet till FIL i stället för standard ut -s, --stable stabilisera sortering genom att stänga av sista-utvägsjämförelse -S, --buffer-size=STORLEK använd STORLEK för huvudminnesbuffert � -p samma som --preserve=mode,ownership,timestamps --preserve[=ATTR_LISTA] bevara de angivna attributen (standard: mode,ownership,timestamps), om möjligt ytterligare attribut: context, links, xattr, all � -p KAT använd KAT som ett prefix, implicerar -t [undanbedes] -t tolka MALL som en ensam filnamnskomponent, relativt en katalog: $TMPDIR, om det är satt, annars katalogen som angetts via -p, annars /tmp [undanbedes] � -p, --parents ta bort KATALOG och dess föräldrar. T.ex. â€rmdir -p a/b/c†motsvarar â€rmdir a/b/c a/b aâ€. -v, --verbose skriv ett meddelande för varje behandlad katalog � -p, --preserve-timestamps sätt KÄLLors Ã¥tkomst- och modifikationstid pÃ¥ motsvarande destinationsfiler -s, --strip ta bort symboltabeller --strip-program=PROGRAM program att använda för att ta bort symboltabeller -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen -t, --target-directory=KATALOG kopiera alla KÄLLargument till KATALOG -T, --no-target-directory behandla DEST som en vanlig fil -v, --verbose skriv namnet pÃ¥ varje katalog som skapas � -q, --count alla inloggningsnamn och antal inloggade användare -r, --runleve skriv aktuell körnivÃ¥ -s, --short skriv endast namn, linje och tid (standard) -t, --time skriv alla ändringar av systemklockan � -q, --hide-control-chars skriv ? istället för ickegrafiska tecken --show-control-chars visa ickegrafiska tecken som de är (normalfall utom om programmet är â€ls†och utdata är en terminal) -Q, --quote-name omge postnamnen med citationstecken --quoting-style=ORD använd citationsstil ORD för postnamn: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent skriv aldrig huvuden med filnamn -v, --verbose skriv alltid huvuden med filnamn � -r, --reference=FIL visa den tidpunkt dÃ¥ FIL senast modifierades -R, --rfc-2822 skriv ut tid och datum enligt formatet RFC 2822 Exampel: Mon, 07 Aug 2006 12:34:56 +0200 � -r, --reference=FIL använd FILs tider istället för aktuell tid -t STÄMPEL använd [[Ã…Ã…]Ã…Ã…]MMDDhhmm[.ss] istället för aktuell tid --time=ORD ändra den angivna tiden: ORD är access, atime eller use: detsamma som -a ORD är modify eller mtime: detsamma som -m � -r, --reference=RFIL basera storlek pÃ¥ RFIL -s, --size=STORLEK ange eller justera filstorlek med STORLEK � -r, --references första fältet pÃ¥ varje rad är en referens -t, --typeset-mode - ej implementerat - -w, --width=ANTAL utmatningsbredd i kolumner, utan referenser � -r, --reverse sortera baklänges -R, --recursive visa underkataloger rekursivt -s, --size skriv allokerade storleken i block för varje fil � -s, --only-delimited skriv inte ut rader som saknar fältavskiljare --output-delimiter=STRÄNG använd STRÄNG som avskiljare vid utmatning standard är att avända inmatningsavskiljaren � -s, --signal=SIGNAL, -SIGNAL ange namnet eller numret pÃ¥ signalen som skall skickas -l, --list räkna upp signalnamn, eller konvertera signalnamn till/frÃ¥n nummer -t, --table skriv en tabell med signalinformation � -s, --sleep-interval=N med -f, sov i ungefär N sekunder (standard 1,0) mellan iterationer. Med inotify och --pid=P, kontrollera process P Ã¥tminstone var N:e sekund. -v, --verbose skriv alltid ut huvuden med filnamn � -s, --symbolic-link gör symboliska länkar istället för att kopiera -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen -t, --target-directory=KATALOG flytta alla KÄLLOR till KATALOG -T, --no-target-directory behandla DEST som en vanlig fil � -s[TECKEN], --separator[=TECKEN] Ã¥tskilj kolumner med ett enda tecken, standard för TECKEN är tabulatortecknet utan -w och â€inget tecken†med -w -s[TECKEN] slÃ¥r av avhuggning för alla tre kolumnflaggorna (-KOLUMN|-a KOLUMN|-m) utom när -w är angivet � -t sortera efter modifieringstid, nyast först -T, --tabsize=KOLUMN antag tabulatorsteg varje KOLUMN, inte var 8:e � -t likvärdigt med -vT -T, --show-tabs visa TAB-tecken som ^I -u (ignorerad) -v, --show-nonprinting använd ^ och M-notation, utom för nyrad och TAB � -t, --field-separator=SEP använd SEP istället för övergÃ¥ng frÃ¥n ej blanka till blanka -T, --temporary-directory=KAT använd KAT för tillfälliga filer, ej $TMPDIR eller %s; flera argument anger flera kataloger --parallel=N ändra antalet samtidiga sorteringskörningar till N -u, --unique med -c, kontrollera strikt ordningsföljd; utan -c, skriv ut endast den första av flera lika � -t, --tabs=LISTA använd kommaseparerad lista med tabulatorpositioner � -t, --tagged-paragraph indrag av första raden inte samma som andra raden -u, --uniform-spacing ett mellanslag mellan ord, tvÃ¥ efter meningar -w, --width=LÄNGD maximal radlängd (standardvärde 75 kolumner) -g, --goal=LÄNGD mÃ¥lradlängd (standard är 93 % utav bredden) � -t, --target-directory=KATALOG flytta alla KÄLLargument in i KATALOG -T, --no-target-directory behandla DEST som en vanlig fil -u, --update flytta endast när KÄLLfilen är nyare än destinationsfilen eller när destinationsfilen inte finns -v, --verbose förklara vad som görs � -t, --text läs i textläge (standard om standard in frÃ¥n tty läses) � -t, --text läs i textläge (standard) � -t, --threshold=STORLEK uteslut poster som är mindre än STORLEK om den är positivt, eller poster större än STORLEK om den är negativ --time visa tiden för senaste ändring av filer i katalogen, eller nÃ¥gon av dess underkataloger --time=ORD visa tid som ORD istället för modifieringstid: atime, access, use, ctime eller status --time-style=STIL visa tider med stilen STIL: full-iso, long-iso, iso, +FORMAT FORMAT tolkas so för â€date†� -u med -lt: sortera efter och visa Ã¥tkomsttid med -l: visa Ã¥tkomsttid men sortera alfabetiskt annars: sortera enligt Ã¥tkomsttid -U sortera inte; lista poster i katalogordning -v naturlig sortering av (versions)nummer i text � -u, --remove stympa och ta bort filen efter överskrivningen -v, --verbose följ processen -x, --exact avrunda inte filstorlekar upp till nästa hela block; detta är standardfallet för icke-normala filer -z, --zero lägg till en avslutande överskrivning med nollor för att dölja strimlandet � -u, --update kopiera bara när KÄLLA är nyare än destinationen, eller när destinationen saknas helt -v, --verbose berätta vad som görs -x, --one-file-system stanna inom detta filsystem � -u, --user=ANVÄNDARE sätt användaren ANVÄNDARE i mÃ¥lets säkerhetskontext -r, --role=ROLL sätt rollen ROLL i mÃ¥lets säkerhetskontext -t, --type=TYP sätt typen TYP i mÃ¥lets säkerhetskontext -l, --range=INTERVALL sätt intervallet INTERVALL i mÃ¥lets säkerhetskontext � -v FILNUM som -a FILNUM, men undertrycker förenade utmatade rader -1 FÄLT förena med detta FÄLT i fil 1 -2 FÄLT förena med detta FÄLT i fil 2 --check-order kontrollera att indata är korrekt sorterad, även om alla indatarader gÃ¥r att para ihop --nocheck-order kontrollera inte att indata är korrekt sorterad --header hantera första raden i varje fil som filhuvuden, skriv dem utan att försöka att para ihop dem � -v, --kernel-version skriv ut kärnans version -m, --machine skriv ut maskin(hÃ¥rdvaru)typen -p, --processor skriv ut processortypen eller â€unknown†-i, --hardware-platform skriv ut hÃ¥rdvaruplattform eller â€unknown†-o, --operating-system skriv ut operativsystemet � -v, --starting-line-number=NUMMER första radnumret pÃ¥ varje logisk sida -w, --number-width=ANTAL använd ANTAL kolumner för radnummer � -v, --verbose skriv ut ett meddelande för varje bearbetad fil � -w, --check-chars=N jämför inte mer än N tecken i rader � -w, --width=KOLUMN anta skärmbredd istället för aktuellt värde -x lista poster radvis istället för kolumnvis -X sortera alfabetiskt efter ändelser -Z, --context skriv eventuell SELinuxsäkerhetskontext för varje fil -1 lista en fil per rad � -z, --zero separera utmatningen med NOLL istället för nyrad � -z, --zero-terminated avsluta rader med byte 0, inte ny rad � KONTEXT Fullständig säkerhetskontext -c, --compute beräkna processövergÃ¥ngskontext före modifiering -t, --type=TYP typ (för samma roll som föräldern) -u, --user=ANV användaridentitet -r, --role=ROLL roll -l, --range=INTVL nivÃ¥intervall � Filen: â€%n†ID: %-8i Namnlängd: %-7öl Typ: %T Blockstorlek: %-10s Grundläggande blockstorlek: %S Block: Totalt: %-10b Fria: %-10f Tillgängliga: %a Inoder: Totalt: %-10c Free: %d � Fil: %N Storlek: %-10s Block: %-10b IO-block: %-6o %F � Processer som sover i ett tillstÃ¥nd som inte gÃ¥r att avbryta bidrar ocksÃ¥ till lastgenomsnittet. � [:graph:] alla utskrivbara tecken, ej blanka [:lower:] alla gemena bokstäver [:print:] alla skrivbara tecken, inklusive mellanrum [:punct:] alla tecken för interpunktion [:space:] alla horisontella och vertikala blanka [:upper:] alla versala bokstäver [:xdigit:] alla hexidecimala siffror [=TECKEN=] alla tecken som är lika med TECKEN � \0NNN byte med kotalt värde NNN (1 till 3 siffror) \xHH byte med hexadecimalt värde HH (1 till 2 siffror) � \NNN byte med oktalt värde NNN (1 till 3 siffror) \xHH byte med hexadecimalt värde HH (1 till 2 siffror) \xHHHH Unicodetecken (ISO/IEC 10646) med hexadecimalt värde HHHH (4 siffror) \UHHHHHHHH Unicodetecken med hexadecimalt värde HHHHHHHH (8 siffror) � \\ omvänt snedstreck \a varning (SIGNAL) \b backsteg \c producera ingen ytterligare utmatning \f sidmatning \n nyrad \r vagnretur \t horisontell tabulator \v vertikal tabulator � \v vertikal tabulator TECK1-TECK2 alla tecken frÃ¥n TECK1 till TECK2 i stigande ordning [TECK*] i MÄNGD2, repetera TECK upp till längden av MÄNGD1 [TECK*REP] REP kopior av TECK, REP är oktalt om det startar med 0 [:alnum:] alla bokstäver och siffror [:alpha:] alla bokstäver [:blank:] alla horisontella blanktecken [:cntrl:] alla styrtecken [:digit:] alla siffror � ascii frÃ¥n EBCDIC till ASCII ebcdic frÃ¥n ASCII till EBCDIC ibm frÃ¥n ASCII till en alternativ EBCDIC block fyll ut nyradsavslutade poster med blanktecken till cbs-storlek unblock ersätt avslutande blanktecken med nyrad i cbs-stora poster lcase ändra versaler till gemena ucase ändra gemena till versaler sparese försök att söka snarare än skriva utdata för inblock med NOLL swab byt plats pÃ¥ varje par av byte i indata sync fyll ut varje indatablock med nulltecken till ibs-storlek; när det används med block eller unblock, fyll ut med blanktecken istället för nulltecken � auto acceptera valfria en-/tvÃ¥teckenssuffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary använd binär I/O för data � cio använd samtidig I/O för data � count_bytes behandla â€count=N†som ett antal byte (endast iflag) � d[STORLEK] decimalt med tecken, STORLEK byte per heltal f[STORLEK] flyttal, STORLEK byte per heltal o[STORLEK] oktalt, STORLEK byte per heltal u[STORLEK] decimalt utan tecken, STORLEK byte per heltal x[STORLEK] hexadecimalt, STORLEK byte per heltal � direct använd direkt I/O för data � directory misslyckas om inte en katalog � dsync använd synkroniserad I/O för data � excl misslyckas om utilen redan finns nocreat skapa inte utfilen notrunc hugg inte av utfilen noerror fortsätt efter läsfel fdatasync skriv fysiskt data till utfilen före avslut fsync d:o, men skriv även metadata � fullblock ackumulera hela block av indata (endast iflag) � if=FIL läs frÃ¥n FIL istället för standard in iflag=FLAGGOR läs enligt den kommaseparerade symbollistan obs=BYTE skriv BYTE byte Ã¥t gÃ¥ngen (standard: 512) of=FIL skriv FIL istället för standard ut oflag=FLAGGOR skriv enligt den kommaseparerade symbollistan seek=N hoppa över N obs-stora block frÃ¥n början av utfil skip=N hoppa över N ibs-stora block frÃ¥n början av infil status=VILKEN VILKEN information som skall utelämnas frÃ¥n utskrift till standard fel; â€noxfer†utelämnar överföringsstatistik, â€none†utelämnar allt � noatime uppdatera inte Ã¥tkomsttiden � nocache kasta mellanlagrade data � noctty tilldela inte styrterminal frÃ¥n fil � nofollow följ inte symboliska länkar � nolinks misslyckas ifall flera länkar � nonblock använd icke blockerande I/O � none ingen automatisk skalning görs; suffix kommer orsaka ett fel � none, off gör aldrig säkerhetskopior (ens om --backup anges) numbered, t gör numrerade säkerhetskopior existing, nil numrerade om det redan finns numrerade, annars enkla simple, never gör alltid enkla säkerhetskopior � seek_bytes behandla â€seek=N†som ett antal byte (endast oflag) � skip_bytes behandla â€skip=N†som ett antal byte (endast iflag) � sync d:o, men även för metadata � text använd text-I/O för data � %H.%M �(säkerhetskopia: %s)� * [-]ctlecho eka kontrolltecken med hattnotation (â€^câ€) [-]echo eka inmatade tecken * [-]echoctl samma som [-]ctlecho [-]echoe samma som [-]crterase [-]echok eka ett nyrad efter ett dödatecken � * [-]echoke samma som [-]crtkill [-]echonl eka nyrad även om inga andra tecken ekas * [-]echoprt eka raderade tecken baklänges, mellan â€\†och â€/†[-]icanon möjliggör specialtecknen erase, kill, werase och rprnt [-]iexten möjliggör specialtecken som inte är POSIX-tecken � * [-]iuclc översätt versaler till gemener * [-]ixany tillÃ¥t vilket tecken som helst att starta om utmatning, inte bara starttecken [-]ixoff möjliggör start/stopp-tecken [-]ixon möjliggör XON/XOFF flödeskontroll [-]parmrk markera paritetsfel (med en 255-0 teckensekvens) [-]tandem samma som [-]ixoff � * [-]iutf8 anta inmatningstecken är UTF-8-kodade � * [-]ocrnl översätt vagnretur till nyrad * [-]ofdel använd raderingstecken till utfyllnad, istället för nulltecken * [-]ofill använd utfyllnadstecken istället för tidstagning vid fördröjningar * [-]olcuc översätt gemener till versaler * [-]onlcr översätt nyrad till vagnretur-nyrad * [-]onlret nyrad utför vagnretur � * [-]onocr skriv inte ut vagnretur i första kolumnen [-]opost bearbetar utdata * tabN fördröjning pÃ¥ horisontell tabulator, N är [0-3] * tabs samma som tab0 * -tabs samma som tab3 * vtN fördröjning pÃ¥ vertikal tabulator, N är [0-1] � * eol2 TECKEN alternativt TECKEN för radslut erase TECKEN TECKEN raderar det senast skrivna tecknet intr TECKEN TECKEN skickar en avbrottssignal kill TECKEN TECKEN raderar nuvarande rad � * lnext TECKEN TECKEN skriver nästa tecken som ett specialtecken quit TECKEN TECKEN skickar en avslutningssignal * rprnt TECKEN TECKEN ritar om nuvarande rad start TECKEN TECKEN startar utskrift igen efter att ha stoppat den � * rows N säg till kärnan att terminalen har N rader * size skriv ut antalet rader och kolumner enligt kärnan speed skriv ut terminalens hastighet time N med -icanon, sätt timeout för läsning till N tiondels sekunder � ??.?? � TTY� kontext=%s� egid=%s� euid=%s� gid=%s� grupper=�länge� vid upprepning %s �% 1% av minne, b 1, K 1024 (standard), och sÃ¥ vidare för M, G, T, P, E, Z, Y. Utan FIL eller om FIL är -, läs standard in. *** VARNING *** Lokalen som är angiven i omgivningen pÃ¥verkar sorteringsordning. Sätt LC_ALL=C för att fÃ¥ traditionell sorteringsordning som använder de underliggande bytevärdena. �%.*s: felaktig fältspecifikation�%e %b %Y�%e %b %H.%M�%lu användare�%lu användare�%s (för reguljäruttrycket %s)�%s → %s (Ã¥terta säkerhetskopia) �%s [-d] avslutade oväntat�%s och %s är samma fil�%s finns men är inte en katalog�%s har dykt upp; följer slutet pÃ¥ en ny fil�%s har blivit Ã¥tkomlig�%s har blivit oÃ¥tkomlig�%s har ersatts av en fjärrfil. ger upp detta namn�%s har ersatts av en fil som inte kan följas; ger upp detta namn�%s har bytts ut, följer slutet pÃ¥ den nya filen�%s har okänd filtyp�%s: filen har oanvändbar, till synes negativ storlek�%s hemsida: <%s> �%s hemsida: <http://www.gnu.org/software/%s/> �%s är inte ett giltigt positivt heltal�%s är för stort�%s kan bara användas pÃ¥ en SELinuxkärna�underprocessen %s�underprocessen %s misslyckades�underprocessen %s fick en ödesdiger signal %d�%s angavs men inte %s�%s skulle skriva över indata, avbryter�argument â€%3$s†till %1$s%2$s är för stort�%s-%s�%s: %s är sÃ¥ stor att den inte kan representeras�%s: %s: radnummer utanför intervallet�%s: %s: ingen träff�%s: %s:%s: oordning: �%s: upprepningsoperatorn mÃ¥ste avslutas med â€}â€�%s: MISSLYCKADES att öppna eller läsa �%s: binär operator förväntades�%s: kan bara skapa relativa symboliska länkar i aktuell katalog�%s: kan inte ändra icke-blockerande läge�%s: kan inte avgöra filstorlek�%s: kan inte hitta namn för användar-ID %lu �%s: kan inte följa slutet pÃ¥ denna sorts fil, ger upp med detta namn�%s: kan inte söka tillbaka till startposition�%s: kan inte skriva över katalog�%s: kan inte backa till början�%s: kan inte söka�%s: kan inte söka till slut-relativ position %s�%s: kan inte söka till position %s�%s: kan inte söka till relativ position %s�%s: kan inte skriva över filidentiferare som bara är öppnad för tillägg�%s: kan inte hoppa över�%s: kan inte hoppa över till angiven position�%s: avslutande avskiljare â€%c†saknas�%s: kan inte starta om icke-blockerande läge�%s: gÃ¥ ner i katalog %s? �%s: gÃ¥ ner i skrivskyddad katalog %s? �%s: filslut�%s: likhetsklassoperand fÃ¥r bara bestÃ¥ av ett tecken�%s: fel vid avhuggning�%s: fel vid skrivning vid position %s�%s: ett numeriskt värde förväntas�%s: misslyckades att stänga�%s: misslyckades att hämta information om utsträckningar�%s: misslyckades öppna för skrivning�%s: misslyckades att ta bort�%s: misslyckades att Ã¥terställa filpekaren�%s: fcntl misslyckades�%s: fdatasync misslyckades�%s: filen har negativ storlek�%s: filen har krympt för mycket�%s: filen är för stor�%s: fil för lÃ¥ng�%s: filen avhuggen�%s: fstat misslyckades�%s: fsync misslyckades�%s: hÃ¥rd länk inte tillÃ¥ten för katalog�%s: indata innehÃ¥ller en slinga:�%s: indata innehÃ¥ller ett udda antal element�%s: infil är utfil�%s: heltal förväntades efter avskiljare�%s: ogiltig blockstorlek för IO�%s: felaktigt PID�%s: felaktigt bitantal�%s: felaktigt antal i början pÃ¥ %s�%s: ogiltigt direktiv�%s: felaktig fältspecifikation %s�%s: ogiltig filstorlek�%s: ogiltig filtyp�%s: ogiltigt antal oförändrade status mellan öppningar�%s: felaktigt tal�%s: felaktigt antal byte�%s: ogiltigt antal bitar�%s: felaktigt antal rader�%s: ogiltigt antal pass�%s: ogiltigt antal sekunder�%s: felaktigt antal att ignorera�%s: ogiltig flagga -- â€%c†�%s: felaktigt mönster�%s: ogiltigt process-id�%s: felaktigt reguljärt uttryck: %s�%s: felaktig signal�%s: felaktigt startvärde för numerisk ändelse�%s: felaktig ändelselängd�%s: radnummer mÃ¥ste vara större än noll�%s: radnummer utanför intervallet�%s: lseek misslyckades�%s: flera signaler angivna�%s: nya rättigheter är %s, inte %s�%s: inga korrekt formaterade %s-kontrollsummerader funna�%s: ingen storleksinformation pÃ¥ denna enhet�%s: ingen sÃ¥dan användare�%s: listar inte redan listad katalog�%s: antal byte är för stort�%s: flaggan â€%c%s†tar inget argument �%s: flaggan â€%s†är tvetydig; möjligheter:�%s: flaggan â€--%s†tar inget argument �%s: flaggan â€--%s†kräver ett argument �%s: flaggan â€-W %s†tar inget argument �%s: flaggan â€-W %s†är tvetydig �%s: flaggan â€-W %s†kräver ett argument �%s: flaggan kräver ett argument -- â€%c†�%s: skriva över %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: läsfel�%s: ta bort %s %s? �%s: ta bort alla argument rekursivt? �%s: ta bort alla argument? �%s: ta bort skrivskyddad %s %s? �%s: borttagen�%s: tar bort�%s: namnändrad till %s�%s: ersätt %s? �%s: sökning misslyckades�%s: för mÃ¥nga kontrollsummerader�%s: försök skriva över %s, Ã¥sidosätt rättigheterna %04lo (%s)? �%s: kan inte avgöra maximal filnamnslängd�%s: kunde inte utföra alla efterfrÃ¥gade operationer�%s: unär operator förväntas�%s: okänd flagga â€%c%s†�%s: okänd flagga â€--%s†�%s: värdet kunde inte konverteras helt�%s: skrivfel�%s: misslyckaes skriva�%s:%lu: ogiltig rad; inget andra element�%s:%lu: ogiltigt filnamn med längd noll�%s:%lu: okänt nyckelord %s�%s}: heltal krävs mellan â€{†och â€}â€�â€�â€)†förväntades�â€)†förväntades, fann %s�â€-%c†extra tecken eller felaktigt tal i argumentet: %s�â€--pages=FÖRSTA_SIDA[:SISTA_SIDA]†saknar argument�â€-N NUMMER†felaktigt första radnummer: %s�â€-W SIDBREDD†felaktigt antal tecken: %s�â€-l SIDLÄNGD†felaktigt antal rader: %s�â€-o MARGINAL†felaktigt indrag av rad: %s�â€-w SIDBREDD†felaktigt antal tecken: %s�©�* filsystem som mellanlagrar pÃ¥ temporära platser, sÃ¥som klienter till NFS version 3 * comprimerade filsystem �* loggstrukturerade eller journalfilsystem, som de som kommer med AIX och Solaris (och JFS, ReiserFS, XFS, Ext3, etc.) * filsystem som skriver skriver extra data och fortsätter även om en del skrivningar misslyckas, sÃ¥som RAID-baserade filsystem * filsystem som tar ögonblicksbilder, sÃ¥som Network Appliances NFS-server �, medellast: %.2f�, %g s, %s/s �argument %2$s till %1$s är för stort�--context (-Z) fungerar endast med en kärna med SELinux�--filter bearbetar inte en bit extraherad till standard ut�--grouping kan inte kombineras med --format�--padding kan inte kombineras med --format�--reflink kan endast användas med --sparse=auto�--tag stödjer inte läget --text�-R --dereference kräver antingen -H eller -L�-R -h kräver -P�-ef tar inte -l�-nt tar inte -l�-ot accepterar inte -l�<intern>�??? �?????�Avbruten (SIGABRT)� Ã…tkomst: %x Modifiering: %y Ändring: %z Född: %w �Ã…tkomst: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Adressfamiljen för värdnamnet stöds inte�Alarmklocka�Alla begäran utförda�Argumentbufferten är för liten�Arnold Robbins�Assaf Gordon�Ledigt�Tillgängligt�Felaktigt systemanrop�Felaktigt värde för ai_flags�Brian Fox�Brutet rör�Bussfel�VARNING: Observera att shred bygger pÃ¥ ett väldigt viktigt antagande: att filsystemet skriver över data pÃ¥ plats. Detta är det traditionella sättet att göra saker, men mÃ¥nga moderna filsystemskonstruktioner uppfyller inte detta antagande. Följande är exempel pÃ¥ filsystem pÃ¥ vilka shred inte har nÃ¥gon effekt, eller inte är garanterat att vara effektivt i alla filsystemets lägen: �KOMMENTAR�Begränsning av CPU-tid överskriden�Anropa funktionen link för att skapa en länk som heter FIL2 till en befintlig FIL1. �Anropa funktionen unlink för att ta bort angiven FIL. �Kapacitet�Ändra grupp för varje FIL till GRUPP. Med --reference, ändra gruppen för varje FIL till den hos RFIL. �Ändra rättigheterna för varje FIL till RÄTTIGHET. Med --reference, ändra rättigheter för varje FIL till dem hos RFIL. �Ändra ägaren och/eller gruppen pÃ¥ varje FIL till ÄGARE och/eller GRUPP. Med --reference, ändra ägaren och gruppen för varje FIL till dem för RFIL. �Ändra säkerhetskontext för varje FIL till KONTEXT. Med --reference, ändra säkerhetskontext för varje FIL till den hos RFIL. �Chet Ramey�Barnstatus ändrad�Colin Plumb�Jämför de sorterade filerna FIL1 och FIL2 rad för rad. �Sammanfoga FIL(er), eller standard in, till standard ut. -A, --show-all som -vET -b, --number-nonblank numrera icke-tomma rader, Ã¥sidosätter -n -e som -vE -E, --show-ends visa $ i slutet av varje rad -n, --number numrera alla rader -s, --squeeze-blank utelämna upprepade tomma rader �Kontext: %C �Ã…terupptagen�Konvertera mellanrum i varje FIL till tabulatorer, skriv till standard ut. Utan FIL eller om FIL är -, läs standard in. �Konvertera tabulatorer i varje FIL till mellanslag, skriv till standard ut. Utan FIL eller om FIL är -, läs standard in. �Kopiera KÄLLA till DEST, eller flera KÄLLOR till KATALOG. �Kopiera en fil med konvertering och formatering enligt operanderna. bs=BYTE läs och skriv upp till BYTE byte Ã¥t gÃ¥ngen cbs=BYTE konvertera BYTE byte Ã¥t gÃ¥ngen conv=KONV:ar konvertera filen enligt den kommaseparerade symbollistan count=N kopiera endast N inblock ibs=BYTE läs upp till BYTE byte Ã¥t gÃ¥ngen (standard: 512) �Kopiera standard in till varje FIL, och även till standard ut. -a, --append lägg till till angivna FILer, skriv inte över -i, --ignore-interrupts ignorera avbrottssignaler �Skapa en temporarfil eller -katalog, säkert, och skriv dess namn. MALL mÃ¥ste innehÃ¥lla Ã¥tminstone 3 â€X†i följd i sin sista komponent. Om MALL inte är angivet, används tmp.XXXXXXXXXX, och --tmpdir är implicit. �Skapa namngivna rör (FIFO) med de givna NAMNen. �Skapa KATALOG(er), om de inte redan finns. �Skapa specialfilen NAMN av angiven TYP. �David M. Ihnat�David MacKenzie�David Madore�Enhet: %Dh/%dd Inod: %-10i Länkar: %-5h Typ av enhet: %t,%T �Enhet: %Dh/%dd Inode: %-10i Länkar:%h �Diagnostisera ogiltiga eller oportabla filnamn. -p kontrollera för de flesta POSIX-system -P kontrollera tomma namn och inledande â€-†--portability kontrollera för alla POSIX-system (detsamma som -p -P) �Katalog: �Visa fil- eller filsystemstatus. �Visa aktuell tid med angivet FORMAT, eller ställ in systemtiden. �Dmitry V. Levin�Släpp eventuella tilläggsgrupper, anta användar-ID och grupp-ID för den angivna ANVÄNDAREn (numeriskt ID eller användarnamn), och kör KOMMANDO med angivna ARGUMENT. Avsluta med status 111 om det inte gick att anta begärda användar- och grupp-ID. Annars, avsluta med slutstatus hos KOMMANDO. Detta program är användbart endast när det körs av root (användar-ID noll). �Emulatorfälla�SLUT�Varje intervall är en av: N N:te byte, tecken eller fält, räknat frÃ¥n 1 N- frÃ¥n N:te byte, tecken eller fält, till radslut N-M frÃ¥n N:te till och med M:te byte, tecken eller fält -M frÃ¥n första till och med M:te byte, tecken eller fält Utan FIL eller när FIL är -, läs standard in. �Eka STRÄNG(arna) till standard ut. -n skriv inte ut den avslutande nyraden �Eric Blake�Avsluta med en statuskod som indikerar misslyckande.�Avsluta med en statuskod som indikerar framgÃ¥ng.�Avsluta med status som bestäms av UTTRYCK. �François Pinard�MISSLYCKADES�FIXA: okänd�FORMAT mÃ¥ste passa för att skriva ett argument av typen â€doubleâ€. Som standard är det %.PRECf om FÖRSTA, ÖKNING och SISTA alla är fixpunktsdecimaltal med maximal precision PREC, och annars %g. �Fifo:er har inte övre och undre enhetsnummer.�Begränsning av filstorlek överskriden�Filer skapas u+rw, och kataloger u+rwx, minus begränsningar frÃ¥n umask. �Filsystem�Filtrera intilliggande matchande rader frÃ¥n INFIL (eller standard in), skriv till UTFIL (eller standard ut). Utan flaggor slÃ¥s matchande rader samman till den första förekomsten. �Aritmetiskt fel�För fullständig dokumentation, kör: info coreutils '%s invocation' �För varje par av inmatade rader med identiska join-fält, skriv en rad till standard ut. Om inget annat anges används det första fältet som join-fält avskiljda med blanktecken. När FIL1 eller FIL2 (inte bÃ¥da) är -, läs standard in. -a FILNUM skriv även omatchade rader frÃ¥n fil FILNUM, där FILNUM är 1 eller 2, motsvarande FIL1 eller FIL2 -e TOM ersätt tomma inmatningsfält med TOM �Tvinga ut ändrade block till disk, uppdatera superblocket. �Allmän hjälp med att använda GNU-program: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Avringd�I/O möjligt�LUGN�ILediga�IAnv%�IAnvänt�Ian Lance Taylor�Overksam�Om FIL inte anges, använd %s. %s som FIL är vanligt. �Om bÃ¥de det första och andra anropsformatet är tillämpligt, används det andra formate om den sista operanden börjar med + eller (om det finns tvÃ¥ operander) en siffra. En operand FÖRSKJUTNING betyder -j FÖRSKJUTNING. ETIKETT är den första skrivna bytens pseudoadress, vilken ökas sÃ¥ länge utmatningen pÃ¥gÃ¥r. För FÖRSKJUTNING och ETIKETT indikerar förstavelserna 0x eller 0X hexadecimalt, ändelser kan vara . för oktalt och b multiplicerar med 512. �OtillÃ¥ten instruktion�Dessutom kan säkerhetskopior av filsystemet och fjärrspeglar innehÃ¥lla kopior av filen som inte kan tas bort, och som kan göra det möjligt att Ã¥terta en strimlad fil senare. �I verkliga livet: �I det första formatet, skapa en link till MÃ…L med namnet LÄNKNAMN. I det andra formatet, skapa en länk till MÃ…L i aktuell katalog. I de tredje och fjärde formaten, skapa länkar till varje MÃ…L i KATALOG. Skapa hÃ¥rda länkar om inget annat anges, symboliska länkar med --symbolic. Normalt fÃ¥r varje destination (namn pÃ¥ ny länk) inte redan finnas. Symboliska länkar kan innehÃ¥lla godtycklig text. Om de senare löses upp tolkas en relativ länk i förhÃ¥llande till sin föräldrakatalog. �I fallet ext3-filsystem gäller den ovanstÃ¥ende friskrivningen (och shred är därmed av begränsad nytta) bara i läget data=journal, som lägger fildata i journal utöver bara metadata. I bÃ¥de läget data=ordered (standard) och data=writeback fungerar shred som vanligt. Ext3-journallägen kan ändras genom att lägga till flaggan data=nÃ¥got till monteringsflaggorna för ett särskilt filsystem i filen /etc/fstab, sÃ¥ som det är dokumenterat i manualsidan för mount (man mount). �Oändligt�Oändligt B�Informationsbegäran�Inoder�Avbruten�Avbruten av en signal�Ogiltig bakÃ¥treferens�Ogiltigt teckenklassnamn�Ogiltigt sorteringstecken�Ogiltigt innehÃ¥ll i \{\}�Felaktigt tidigare reguljärt uttryck�Ogiltigt intervallslut�Felaktigt reguljärt uttryck�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Dödad�LINJE�INLOGGNING�Visa information om FILerna (aktuell katalog om inget anges). Sortera posterna alfabetiskt om ingen av -cftuvSUX eller --sort anges. �Login�Inloggningsnamn: �Lucas primtalstest misslyckades. Detta skall inte hända�Mark Kettenis�Matthew Bradburn�Minnesallokeringsfel�Minnet slut�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Monterat pÃ¥�NAMN�Namn�Namn eller tjänst okänd�Niels Möller�Ingen adress associerad med värdnamnet�Ingen matchning�Inget tidigare reguljärt uttryck�Oreparabelt fel i namnuppslagning�OK�Endast en sträng fÃ¥r anges när man tar bort utan att pressa samman upprepaningar.�Sorteringsflaggor: �Andra flaggor: �Mata ut ett permuterat index, med sammanhang, av orden i indatafilerna. �Skriv ut kommandon för att sätta miljövariabeln LS_COLORS. Bestäm utformat: -b, --sh, --bourne-shell skriv kod för att sätta LS_COLORS i Bourne-skal -c, --csh, --c-shell skriv kod för att sätta LS_COLORS i C-skal -p, --print-database visa standardvärden �Skriv ut NAMN med dess sista snedstrecksfria komponent och avslutande snedstreck borttagna; om NAMN inte innehÃ¥ller nÃ¥gora /, skriv â€.†(som betyder aktuell katalog) �Skriv ut delar av INFIL med bestämd storlek till PREFIXaa, PREFIXab, … Standardstorlek är 1000 rader, och standardprefix är â€xâ€. Utan INFIL, eller när INFIL är -, läs standard in. �Skriv ut delar av FIL avdelade med MÖNSTER till filer â€xx00â€, â€xx01â€, …, och skriv ut byte-antal för varje del till standard ut. �Skriv ut plattformsberoende gränser pÃ¥ ett format som är användbart i skalskript. �Skriv ut vilka som är pÃ¥loggade enligt FIL. Om FIL inte är angiven, använd %s. %s som FIL är vanligt. �Skriv över de angivna FIL(erna) upprepade gÃ¥nger, för att göra det svÃ¥rare även för väldigt dyra hÃ¥rdvaruutrustningar att ta fram data. �PID�Paketerad av %s �Paketerad av %s (%s) �Padraig Brady�Paginera eller skapa kolumner av FIL(er) för utskrift. �Parametersträng inte korrekt kodad�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Strömavbrott�För tidigt slut pÃ¥ reguljärt uttryck�Skriv ut ARGUMENT enligt FORMAT, eller kör enligt FLAGGA: �Skriv CRC-kontrollsumma och byteantal för varje FIL. �Skriv NAMN med eventuella inledande sökvägskomponenter borttagna. Tag bort eventuell specificerad ÄNDELSE. �Skriv ut viss systeminformation. Om ingen FLAGGA angetts används -s. -a, --all skriv ut all information, i följande ordning, men utelämna -p och -i om okända: -s, --kernel-name skriv ut kärnans namn -n, --nodename skriv ut maskinens nätverksnodnamn -r, --kernel-release skriv ut kärnans utgÃ¥va �Skriv kontrollsumma och antal block för varje FIL. -r använd BSD summeringsalgoritm, använd 1 k block -s, --sysv använd System V:s summeringsalgoritm, använd 512-byteblock �Skriv ut gruppmedlemskap för ANVÄNDARNAMN eller, om inget ANVÄNDARNAMN angavs, för den aktuella processen (som kan vara annorlunda om gruppdatabasen har ändrats). �Skriv information om användare som är inloggade just nu. �Skriv ut maskinarkitekturen. �Skriv antal nyrader, ord och byte för varje FIL och en rad med totaler om mer än en FIL angivits. Utan FIL eller om FIL är -, läs standard in. Ett ord är en icketom sekvens av tecken avgränsad av blanktecken. Flaggorna nedan kan användas för att välja vilka antal som skrivs, alltid i följande ordning: nyrad, ord, tecken, byte, maximal radlängd. -c, --bytes skriv antalet byte -m, --chars skriv antalet tecken -l, --lines skriv antalet rader �Skriv ut tal frÃ¥n FÖRSTA till SISTA, i steg om ÖKNING. �Skriv ut eller ändra terminalkarakteristik. �Skriv valda delar av rader frÃ¥n varje FIL till standard ut. �Skriver ut aktuell tid, den tid som systemet varit uppe, antalet användare pÃ¥ systemet och medelvärdet av antalet jobb i körkön under de senaste 1, 5 och 15 minuterna.�Skriv ut filnamnet pÃ¥ den terminal som är kopplad till standard in. -s, --silent, --quiet skriv inte ut nÃ¥gonting, returnera endast slutstatus �Skriv de 10 första raderna av varje FIL till standard ut. Vid fler än en FIL, föregÃ¥ varje fil med ett huvud med filens namn. Utan FIL eller när FIL är -, läs standard in. �Skriv ut hela filnamnet pÃ¥ aktuell katalog. �Skriv de sista %d raderna frÃ¥n varje FIL till standard ut. Vid fler än en FIL, inled varje med ett huvud med filnamnet. Utan FIL eller om FIL är -, läs standard in. �Skriv ut namnet pÃ¥ aktuell användare. �Skriv antalet processorenheter som är tillgängliga för den aktuella procesen, vilket kan vara mindre än antalet inkopplade processorer �Skriv ut primfaktorerna till alla angivna heltal TAL. Om inga argument angivits pÃ¥ kommandoraden, läses de frÃ¥n standard in. �Skriv de upplösta absoluta filnamnen; alla komponenter förutom den sista mÃ¥ste finnas �Skriv ut användarnamnet som associeras med den aktuella gällande användar-ID:t. Samma som id -un. �Skriv ut användar- och gruppinformation om ANVÄNDARNAMN, eller (när ANVÄNDARNAMN utelämnas) om den aktuella användaren. -a ignoreras, finns för kompabilitet med andra versioner -Z, --context skriv endast säkerhetskontexten för den aktuella användaren -g, --group skriv endast gällande grupp-ID -G, --groups skriv alla grupp-ID -n, --name skriv ett namn i stället för ett nummer, gäller -ugG -r, --real skriv verklig ID i stället för den gällande, gäller -ugG -u, --user skriv endast gällande användar-ID �Skriv värdet pÃ¥ en symbolisk länk eller kanoniskt filnamn �Bearbetar pÃ¥gÃ¥ende begäran�Profileringsklocka�Projekt: �Q. Frank Xia�Lämnad�Randy Smith�Realtidssignal %d�Formaterar om TAL, eller talen frÃ¥n standard in om inga är givna. �Formatera om varje stycke i FILen/-erna, skriv till standard ut. Flaggan -BREDD är en förkortad form av --widht=SIFFROR. �Reguljärt uttryck för stort�Ta bort (avlänka) FIL(en/erna). -f, --force ignorera ej existerande filer och argument, frÃ¥ga aldrig -i frÃ¥ga före varje borttagning �Ta bort KATALOG(er) om de är tomma. --ignore-fail-on-non-empty ignorera alla fel som beror enbart pÃ¥ att katalogen inte är tom �Byt namn pÃ¥ KÄLLA till DEST eller flytta KÄLLor till KATALOG. �Skriv gÃ¥ng pÃ¥ gÃ¥ng en rad med alla specifierade STRÄNG(ar), eller â€y†�Rapportera fel i %s till %s Rapportera kommentarer om översättningen till <tp-sv@listor.tp-sv.se> �Rapportera anmärkningar pÃ¥ översättningen av %s till <tp-sv@listor.tp-sv.se> �Begäran annulerad�Begäran inte annulerad�Förlorad resurs�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Kör KOMMANDO med justerat nice-värde, vilket pÃ¥verkar processens schemaläggning. Utan KOMMANDO skrivs nuvarande nice-värde. Nice-värden gÃ¥r frÃ¥n %d (mest gynnsamt för processen) till %d (minst gynnsamt för processen). �Kör KOMMANDO med rootkatalogen satt till NYROOT. �Kör KOMMANDO, ignorera avringningssignaler. �Kör KOMMANDO, med modifierad buffringsoperationer för dess standardströmmar. �Kör ett program i en annan säkerhetskontext. Med varken KONTEXT eller KOMMANDO, skriv ut den aktuella säkerhetskontexten. �Russell Coker�Scott Bartram�Scott Miller�Segmenteringsfel�Skickar signaler till processer, eller räknar upp signaler. �Servname stöds inte för ai_socktype�Sätt LC_ALL='C' för att kringgÃ¥ problemet.�Sätt varje NAMN till VÄRDE i miljön och kör KOMMANDO. �Skal: �Visa information om filsystemet där varje FIL ligger, eller annars alla filsystem. �Krymp eller utöka storleken pÃ¥ varje FIL till den angivna storleken. Ett FILargument som inte finns skapas. Om en FIL är större än den angivna storleken förloras överskjutande data. Om en FIL är kortare utökas den och den utökade delen (ett hÃ¥l) läses som noll-byte:ar. �Simon Josefsson�Storlek�Specialfiler kräver övre och undre enhetsnummer�Stackfel�Starta KOMMANDO, och döda det om det fortfarande kör efter LÖPTID. �Stoppad�Stoppad (signal)�Stoppad (terminalläsning)�Stoppad (terminalskrivning)�Stuart Kemp�Lyckas�Sammanfatta diskanvändningen för varje FIL, rekursivt för kataloger. �Systemfel�TID�Tillfälligt fel i namnuppslagning�Avslutad�Följande frivilliga flaggor kan komma efter â€%â€: - (bindestreck) fyll inte ut fältet _ (understrykning) fyll ut med blanksteg 0 (noll) fyll ut med nollor ^ använd versaler om möjligt # använd motsatt skiftläge om möjligt �De jämförda strängarna var %s och %s.�Torbjörn Granlund�SpÃ¥rnings-/brytpunktsfälla�Avslutande bakstreck�Översätt, pressa ihop och/eller ta bort tecken frÃ¥n standard in, skriv till standard ut. -c, -C, --complement använd komplementet av MÄNGD1 -d, --delete ta bort tecken i MÄNGD1, översätt inte -s, --squeeze-repeats ersätt varje insekvens av upprepade tecken som är uppräknat i MÄNGD1 med en ensam förekomst av det tecknet -t, --truncate-set1 stympa först MÄNGD1 till längden hos MÄNGD2 �Försök med â€%s --help†för mer information. �Försök med â€%s ./%s†för att ta bort filen %s. �TvÃ¥ strängar mÃ¥ste anges när man bÃ¥de tar bort pressar samman upprepningar.�TvÃ¥ strängar mÃ¥ste ges vid översättning�Typ�Ulrich Drepper�Okänt fel�Okänd signal %d�Okänt systemfel�Ensam ( eller \(�Ensam ) eller \)�Ensam [ eller [^�Ensam \{�Uppdatera Ã¥tkomst- och modifieringstiderna pÃ¥ varje fil till aktuell tid. Ett FIL-argument som inte finns skapas tomt, om inte -c eller -h anges. En - som FIL-argumentsträng hanteras speciellt och fÃ¥r touch att ändra tiden pÃ¥ filen som är kopplad till standard ut. �BrÃ¥dskande I/O-tillstÃ¥nd�Användning: %s �Användning: %s KOMMANDO [ARGUMENT]... eller: %s FLAGGA �Användning: %s KONTEXT KOMMANDO [arg] eller: %s [ -c ] [-u ANV] [-r ROLL] [-t TYP] [-l INTVL] KOMMANDO [arg] �Användning: %s UTTRYCK eller: %s FLAGGA �Användning: %s FIL eller: %s FLAGGA �Användning: %s FIL1 FIL2 eller: %s [FLAGGA] �Användning: %s FORMAT [ARGUMENT]... eller: %s FLAGGA �Användning: %s NAMN [ÄNDELSE] eller: %s FLAGGA… NAMN… �Användning: %s ANTAL[ÄNDELSE]… eller: %s FLAGGA Gör paus i ANTAL sekunder. ÄNDELSE kan vara â€s†för att ange sekunder (standardval), â€m†för minuter, â€h†för timmar eller â€d†för dagar. Till skillnad frÃ¥n de flesta implementationer som kräver att ANTAL är ett heltal, kan ANTAL här vara ett valfritt flyttal. Med tvÃ¥ eller flera agument, gör paus sÃ¥ länge som summan av dem anger �Användning: %s FLAGGA... KOMMANDO �Användning: %s FLAGGA… FIL… �Användning: %s FLAGGA... [FIL]... �Användning: %s [-F ENHETS | --file=ENHETS] [INSTÄLLNING]... eller: %s [-F ENHETS | --file=ENHETS] [-a|--all] eller: %s [-F ENHETS | --file=ENHETS] [-g|--save] �Användning: %s [-BREDD] [FLAGGA]... [FIL]... �Användning: %s [-s SIGNAL | -SIGNAL] PID... eller: %s -l [SIGNAL]... eller: %s -t [SIGNAL]... �Användning: %s [FIL]... eller: %s [FLAGGA] �Användning: %s [NAMN] eller: %s FLAGGA Skriv ut eller ställ in värdnamnet pÃ¥ aktuellt system. �Användning: %s [TAL]... eller: %s FLAGGA �Användning: %s [OPERAND]... eller: %s FLAGGA �Användning: %s [FLAGGA] �Användning: %s [FLAGGA] Skriv ut den numeriska identifieraren (i hexadecimal form) för aktuell värd. �Användning: %s [FLAGGA] LÖPTID KOMMANDO [ARG]... eller: %s [FLAGGA] �Användning: %s [FLAGGA] NAMN… �Användning: %s [FLAGGA] NYROT [KOMMANDO [ARG]...] eller: %s FLAGGA �Användning: %s [FLAGGA] [KOMMANDO [ARG]...] �Användning: %s [FLAGGA] [FIL] Skriv en fullständigt ordnad lista konsistent med den partiella ordningen i FIL. â€Utan FIL eller om FIL är -, läs standard in. �Användning: %s [FLAGGA]... �Användning: %s [FLAGGA]... KONTEXT FIL... eller: %s [FLAGGA]... [-u ANVÄNDARE] [-r ROLL] [-l INTVL] [-t TYP] FIL... eller: %s [FLAGGA]... --reference=RFIL FIL... �Användning: %s [FLAGGA]... KATALOG... �Användning: %s [FLAGGA]... FIL MÖNSTER... �Användning: %s [FLAGGA]... FIL... �Användning: %s [FLAGGA]... FIL1 FIL2 �Användning: %s [FLAGGA]... GRUPP FIL... eller: %s [FLAGGA]... --reference=RFIL FIL... �Användning: %s [FLAGGA]... SISTA eller: %s [FLAGGA]... FÖRSTA SISTA eller: %s [FLAGGA]... FÖRSTA ÖKNING SISTA �Användning: %s [FLAGGA]... RÄTTIGHET[,RÄTTIGHET]... FIL... eller: %s [FLAGGA]... OKTAL-RÄTTIGHET FIL... eller: %s [FLAGGA]... --reference=RFIL FIL... �Användning: %s [FLAGGA]... NAMN TYP [ÖVRE LÄGRE] �Användning: %s [FLAGGA]... NAMN... �Användning: %s [FLAGGA]… MÄNGD1 [MÄNGD2] �Användning: %s [FLAGGA]… [ FIL | ARG1 ARG2 ] �Användning: %s [FLAGGA]... [+FORMAT] eller: %s [-u|--utc|--universal] [MMDDhhmm[[Ã…Ã…]Ã…Ã…][.ss]] �Användning: %s [FLAGGA]... [-T] KÄLLA DEST eller: %s [FLAGGA]... KÄLLA... KATALOG eller: %s [FLAGGA]... -t KATALOG KÄLLA... �Användning: %s [FLAGGA]... [-T] KÄLLA DEST eller: %s [FLAGGA]... KÄLLA... KATALOG eller: %s [FLAGGA]... -t KATALOG KÄLLA... eller: %s [FLAGGA]... -d KATALOG... �Användning: %s [FLAGGA]... [-T] MÃ…L LÄNKNAMN (format 1) eller: %s [FLAGGA]... MÃ…L (format 2) eller: %s [FLAGGA]... MÃ…L... KATALOG (format 3) eller: %s [FLAGGA]... -t KATALOG MÃ…L... (format 4) �Användning: %s [FLAGGA]... [-] [NAMN=VÄRDE]... [KOMMANDO [ARG]...] �Användning: %s [FLAGGA]... [FIL] �Användning: %s [FLAGGA]... [FIL] eller: %s -e [FLAGGA]... [ARG] eller: %s -i LÃ…-HÖ [FLAGGA]... �Användning: %s [FLAGGA]… [FIL] Base64-koda eller -avkoda FIL, eller standard in, till standard ut. �Användning: %s [FLAGGA]... [FIL]... �Användning: %s [FLAGGA]... [FIL]... eller: %s [-abcdfilosx]... [FIL] [[+]FÖRSKUTNING[.][b]] eller: %s --traditional [FLAGGA]... [FIL] [[+]FÖRSKUTNING[.][b] [+][ETIKETT][.][b]] �Användning: %s [FLAGGA]... [FIL]... eller: %s [FLAGGA]... --files0-from=F �Användning: %s [FLAGGA]... [FIL]... Skriv eller kontrollera %s (%d-bitars) kontrollsummor. Utan FIL eller om FIL är -, läs standard in. �Användning: %s [FLAGGA]… [INFIL [UTFIL]] �Användning: %s [FLAGGA]... [INFIL [PREFIX]] �Användning: %s [FLAGGA]... [INFIL]... (utan -G) eller: %s -G [FLAGGA]... [INFIL [UTFIL]] �Användning: %s [FLAGGA]… [NUMMER]… �Användning: %s [FLAGGA]... [ÄGARE][:[GRUPP]] FIL... eller: %s [FLAGGA]... --reference=RFIL FIL... �Användning: %s [FLAGGA]... [MALL] �Användning: %s [FLAGGA]... [ANVÄNDARNAMN] �Användning: %s [FLAGGA]... [ANVÄNDARNAMN]... �Användning: %s [FLAGGA]... [ANVÄNDARE]... �Användning: %s [FLAGGA]... [VARIABEL]... Skriv värdena pÃ¥ de angivna miljöVARIABLERNA. Om ingen VARIABEL angetts, skriv ut namn- och värdepar för samtliga. �Användning: %s [KORT-FLAGGA]... ANVÄNDARE KOMMANDO [ARGUMENT]... eller: %s LÃ…NG-FLAGGA �Användning: %s [KORT_FLAGGA]... [STRÄNG]... eller: %s LÃ…NG-FLAGGA �Användning: %s [STRÄNG]… eller: %s FLAGGA �Användning: %s [ignorerade kommandoradsargument] eller: %s FLAGGA �Användning: test UTTRYCK eller: test eller: [ UTTRYCK ] eller: [ ] eller: [ FLAGGA �Anv%�Använt�Användarsignal 1�Användarsignal 2�Giltiga argument är:�Giltiga argument är: �Giltiga formatsekvenser för filsystem: %a fria block tillgängliga för icke superanvändare %b totalt antal datablock i filsystem %c totalt antal filnoder i filsystem %d fria filnoder i filsystem %f fria block i filsystem �Alarmklocka - virtuell tid�VARNING: Cirkulär katalogstruktur. Detta betyder nästan säkert att du har ett trasigt filsystem. RAPPORTERA TILL SYSTEMANSVARIG. Följande katalog utgör del av cykeln: %s �VARNING: ignorerar --context (-Z); denna kärna har inte SELinux.�VARNING: ignorerar --preserve-context; denna kärna har inte SELinux.�VARNING: ignorerar flaggan --strip-program eftersom flaggan -s inte angavs�Varning: �När�Var�Ändrat fönster�Med --follow (-f), följer tail som standard filidentifieraren, vilket betyder att även om man byter namn pÃ¥ en tail:ad fil kommer tail fortsätta att följa dess slut. Detta standardbeteende är inte önskvärt när du verkligen vill följa det faktiska namnet pÃ¥ filen, inte filidentifieraren (t.ex. roterade loggfiler). Använd --follow=name i sÃ¥ fall. Det gör att tail följer den namngivna filen pÃ¥ ett sätt som hanterar att dess namn ändras, eller att filen tas bort eller skapas. �Bryt inmatade rader i varje fil (standard in som standard) och skriv till standard ut. �Skriv en slumpvis permutation av indataraderna till standard ut. �Skriv varje FIL till standard ut, sista raden först. Utan FIL, eller när FIL är -, läs standard in. �Skriv varje FIL till standard ut och lägg till radnummer. Utan FIL eller om FIL är -, läs standard in. �Skriv rader som bestÃ¥r av sekventiellt korresponderande rader frÃ¥n varje FIL, Ã¥tskilda med TAB, till standard ut. Utan FIL eller om FIL är -, läs standard in. �Skriv en sorterad sammanfogning av alla FIL(er) till standard ut. �Skrivet av %s och %s. �Skrivet av %s, %s, %s, %s, %s, %s, %s, %s, %s med flera. �Skrivet av %s, %s, %s, %s, %s, %s, %s, %s och %s. �Skrivet av %s, %s, %s, %s, %s, %s, %s och %s. �Skrivet av %s, %s, %s, %s, %s, %s och %s. �Skrivet av %s, %s, %s, %s, %s och %s. �Skrivet av %s, %s, %s, %s och %s. �Skrivet av %s, %s, %s och %s. �Skrivet av %s, %s och %s. �Skrivet av %s. �[=c=]-uttryck fÃ¥r inte förekomma i sträng2 vid översättning�^ ingen match för nyckel �^[nN]�^[yYjJ]�_open_osfhandle misslyckades�â€�ett kommando mÃ¥ste anges med en justering�ai_family stöds inte�ai_socktype stöds inte�tvetydigt argument %s till %s�en indataavskiljare kan endast specificeras vid arbete pÃ¥ fält�lägger till utdata till %s�säkerhetskopiering av %s skulle förstöra källan; %s inte kopierad�säkerhetskopiering av %s skulle förstöra källan; %s inte flyttad�säkerhetskopietyp�blockspecialfil�blockspecialfiler stöds inte�block�bÃ¥da filerna kan inte vara standard in�byteposition %s är för stor�det gÃ¥r inte att sätta en partiell kontext pÃ¥ filen %s utan etikett�kan inte fÃ¥ processkontexten�kan inte komma Ã¥t %s�kan inte göra säkerhetskopia %s�kan inte samtidigt bara visa summan och alla storlekar�kan inte byta ägare av %s�kan inte ändra rättigheter pÃ¥ %s�kan inte ändra rotkatalog till %s�kan inte byta till katalog %s�kan inte byta katalog till rotkatalog�det gÃ¥r inte att kombinera --target-directory (-t) och --no-target-directory (-T)�det gÃ¥r inte att kombinera --target-directory och --no-target-directory�det gÃ¥r inte att kombinera flaggorna -e och -i�kan inte kombinera nÃ¥got par av {ascii,ebcdic,ibm}�kan inte kombinera block och unblock�det gÃ¥r inte att kombinera direct och nocache�kan inte kombinera excl och nocreate�kan inte kombinera lcase och ucase�kan inte kombinera rättighets- och --reference-flaggor�kan inte kombinera signal med -l eller -t�kan inte jämföra filnamnen %s och %s�kan inte konvertera U+%04X till lokal teckenuppsättning�kan inte konvertera U+%04X till lokal teckenuppsättning: %s�kan inte kopiera en katalog, %s, pÃ¥ sig själv, %s�kan inte kopiera cyklisk symbolisk länk %s�kan inte skapa katalog %s�kan inte skapa fifo %s�kan inte skapa hÃ¥rd länk %s till %s�kan inte skapa länk %s till %s�kan inte skapa rör�kan inte skapa normal fil %s�kan inte skapa specialfil %s�kan inte skapa symbolisk länk %s�kan inte skapa symbolisk länk %s till %s�det gÃ¥r inte att skapa en temporärfil i %s�kan inte följa %s�kan inte avgöra enhet och inod för %s�kan inte avgöra värdnamnet�kan inte avgöra platsen för %s. Ã¥tergÃ¥r till pollning�kan inte göra --relative utan --symbolic�kan inte göra â€ioctl†pÃ¥ %s�kan inte hitta ett namn för grupp-ID %lu�kan inte hitta ett namn för användar-ID %s�kan inte följa %s vid namn�det gÃ¥r inte att tvinga mÃ¥lkontext till %s och bevara den�kan inte göra fstat pÃ¥ %s�kan inte avgöra aktuell katalog�kan inte fÃ¥ fram effektiv GID�kan inte fÃ¥ fram effekiv UID�kan inte avgöra nice-värde�kan inte fÃ¥ fram verklig GID�kan inte fÃ¥ fram verklig UID�kan inte avgöra systemnamn�kan inte hämta storleken pÃ¥ %s�kan inte göra lseek i %s�kan inte göra bÃ¥de hÃ¥rda och symboliska länkar�kan inte skapa katalog %s�kan inte flytta %s till %s�kan inte flytta %s till en underkatalog till sig själv, %s�kan inte flytta katalog pÃ¥ icke-katalog: %s → %s�kan inte öppna %s för läsning�kan inte öppna %s för skrivning�kan inte öppna katalog %s�det gÃ¥r inte att ändra den lösa symboliska länken %s�kan inte skriva över katalog %s med icke-katalog�kan inte skriva över icke-katalog %s med katalog %s�det gÃ¥r inte att göra formaterad utmatning�kan inte bevara utökade attribut, cp byggdes utan stöd för xattr�kan inte bevara säkerhetskontext utan en kärna med SELinux�kan inte skriva â€endast†för mer än ett val�kan inte skriva ut bara namn eller faktiskt ID pÃ¥ standardformat�kan inte visa säkerhetskontext när en användare är angiven�kan inte läsa�kan inte läsa katalog %s�kan inte läsa filnamn frÃ¥n %s�kan inte läsa filsysteminformation för %s�kan inte läsa realtidsklockan�kan inte läsa symbolisk länk %s�kan inte läsa tabellen över monterade filsystem�kan inte ta bort %s�kan inte ta bort katalog: %s�kan inte flytta filpekaren för %s�kan inte Ã¥terställa fb %d: dup2 misslyckades�kan inte köra %s�kan inte sätta %s�kan inte ställa klockan�kan inte sätta grupp-id till %lu�kan inte sätta värdnamn; detta system saknar denna funktionen�kan inte sätta namnet till %s�kan inte sätta nice-värde�kan inte sätta tidsstämpel för %s�kan inte sätta användar-id till %lu�kan inte hoppa förbi slutet pÃ¥ en kombinerad inmatning�det gÃ¥r inte att ange --null (-0) med ett kommando�det gÃ¥r inte att ange bÃ¥de utskrift pÃ¥ tvären och parallell utskrift�det gÃ¥r inte att ange antal kolumner vid parallell utskrift�kan inte ange tider frÃ¥n mer än en källa�kan inte dela pÃ¥ mer än ett sätt�kan inte ta status pÃ¥ %s�kan inte ta status pÃ¥ aktuell katalog (nu %s)�kan inte ta status pÃ¥ standard in�kan inte beröra %s�kan inte avsäkerhetskopiera %s�kan inte ta bort %s�kan inte ta bort %s�kan inte bevaka %s�kan inte bevaka föräldrakatalog till %s�kan inte kringgÃ¥ fel i kärnan trots allt�bytte grupp av %s frÃ¥n %s till %s �bytte ägare av %s frÃ¥n %s till %s �byter grupp av %s�byter ägare av %s�ändrar rättigheter pÃ¥ %s�ändrar säkerhetskontext för %s �teckenplats är noll�tecken utanför intervall�teckenspecialfil�teckenspecialfiler stöds inte�tar bort rättigheter pÃ¥ %s�klockändring�misslyckades stänga�stänger %s (fd=%d)�stänger katalog %s�stänger infil %s�stänger indatafil�stänger utdatafil %s�stänger utdatarör�stänger tidigare rör�stänger standard in�kompatibilitetsläge stödjer högst en fil�motsägelsefulla ersättningssträngar för tomma fält�motstridiga specificerare för säkerhetskontext angivna�kunde inte ställa in buffring av %s till läge %s �det gick inte att skapa en process för %s -d�det gÃ¥r inte att skapa temporärfil�det gick inte att köra %s�det gick inte att köra %s -d�kunde inte hitta katalogpost i %s med matchande i-nod�kunde inte avgöra boot-tillfälle�skapade katalog %s�skapar katalog %s�skapar filen %s �avgränsningslistor avslutas med en oskyddat omvänt snedstreck: %s�katalog�division med noll�dup2 misslyckades�tom %s är inte tillÃ¥tet�tomt filnamn�tom tabulator�fel när fil stängdes�fel i matchningen av reguljärt uttryck�fel i sökning med reguljärt uttryck�fel vid initiering av mÃ¥nadssträngar�fel vid övervakning av inotify-händelse�fel vid läsning av %s�fel vid läsning av inotify-händelse�fel vid läsning av indata�fel vid inväntande av kommando�fel vid skrivning av %s�kör med FIL=%s �slut=�extra argument %s�extra operand %s�extra operand %s inte tillÃ¥ten med -%c�misslyckades att komma Ã¥t %s�misslyckades att kanonisera %s�kunde inte byta kontext pÃ¥ %s till %s�kunde inte byta grupp för %s frÃ¥n %s till %s �kunde inte byta grupp för %s till %s �kunde inte ändra rättigheterna pÃ¥ %s frÃ¥n %04lo (%s) till %04lo (%s) �kunde inte byta ägare pÃ¥ %s �kunde inte byta ägare pÃ¥ %s frÃ¥n %s till %s �kunde inte byta ägare pÃ¥ %s till %s �misslyckades att ändra katalog till %s�misslyckades att klona %s frÃ¥n %s�misslyckades att stänga %s�misslyckades att stänga indatarör�misslyckades att beräkna en ny kontext�misslyckades att konvertera nÃ¥gra av indatatalen�misslyckades att skapa en katalog via mallen %s�misslyckades att skapa en fil via mallen %s�misslyckades att skapa hÃ¥rd länk %s�misslyckades att skapa hÃ¥rd länk %s ⇒ %s�misslyckades att skapa hÃ¥rd länk till %.0s%s�misslyckades att skapa rör�kunde inte skapa säkerhetskontext: %s�misslyckades att skapa symbolisk länk %s�misslyckades att skapa symbolisk länk %s → %s�misslyckades att att skapa en temporärfil i %s�misslyckades att kasta mellanlager för: %s�misslyckades att utöka %s�misslyckades att hitta %s�kunde inte hämta attribut för %s�misslyckades att hämta aktuell kontext�misslyckades att hämta skapandekontexten för filsystemet�kunde inte avgöra grupper för dem aktuella processen�kunde inte avgöra grupper för användaren %s�kunde inte ta reda pÃ¥ säkerhetskontext för %s�misslyckades att hitta filen %s�misslyckades att öppna %s�misslyckades att öppna %s för läsning�misslyckades öppna %s för skrivning�misslyckades förbereda värdet â€%Lf†för utskrift�misslyckades att bevara författarskap för %s�misslyckades att bevara ägare av %s�misslyckades att bevara rättigheter pÃ¥ %s�misslyckades att bevara tider för %s�misslyckades att omdirigera standard fel�misslyckades att omdirigera standard fel till /dev/null�misslyckades att ta bort %s�misslyckades att ta bort katalogen %s�misslyckades att göra standard in oanvändbar�misslyckades att öppna om %s i läge %s�misslyckades att Ã¥terställa standardkontext för filskapande�kunde inte Ã¥tervända till den ursprungliga arbetskatalogen�misslyckades att spola tillbaka strömmen för %s�misslyckades att köra kommandot %s�misslyckades att köra kommandot â€%s -c %sâ€�kunde inte sätta %s-komponenten av säkerhetskontexten till %s�misslyckades att sätta miljövariabeln FILE�misslyckades att sätta tilläggsgrupper�misslyckades att sätta standardkontext för skapade filer till %s�misslyckades att sätta grupp-ID�misslyckades att sätta nytt intervall %s�misslyckades att sätta ny roll %s�misslyckades att sätta ny typ %s�misslyckades att sätta ny användare %s�misslyckades att sätta tilläggsgrupp(er)�misslyckades att ställa in kopian av standard fel att stängas vid exec�misslyckades att sätta säkerhetskontexten för %s till %s�misslyckades att sätta användar-ID�misslyckades att ta status pÃ¥ %s�misslyckades att slÃ¥ av O_DIRECT: %s�misslyckades att uppdatera miljön med %s�fdatasync misslyckades för %s�fflush misslyckades�fältnummer %s är för stort�fältnummer är noll�fält och positioner numreras frÃ¥n 1�fifo�fil %d är inte i sorterad ordning�filoperander kan inte kombineras med --files0-from�filoperander kan inte kombineras med --print-database (-p)�filsystemstypen %s är bÃ¥de vald och exkluderad�systemanropet fork misslyckades�format %s avslutas med %%�mÃ¥let %s har inget %%-direktiv�format %s har för mÃ¥nga %%-direktiv�formatet %s har okänt %%%c-direktiv�formatsträng fÃ¥r inte anges när strängar med lika bredd skrivs�fsync misslyckades för %s�fts_close misslyckades�fts_read misslyckades�fts_read misslyckades: %s�genererar relativ sökväg�hämtar nya attribut för %s�grupp av %s bevarad som %s �gruppering kan inte kombineras med --to�iconv-funktion inte tillgänglig�iconv-funktion inte användbar�id=�ignorerar --no-newline med flera argument�ignorerar alla argument�ignorerar indata�ignorerar indata och lägger till utdata till %s�ingorerar indata och omdirigerar standard fel och standard ut�ignorerar felaktigt tabulatorsteg i miljövariabeln TABSIZE: %s�ignorerar ogiltigt värde pÃ¥ miljövariabeln QUOTING_STYLE: %s�ignorerar felaktig bredd i miljövariabeln COLUMNS: %s�ignorerar argument som inte är flaggor�inkompatibla join-fält %lu, %lu�inkompatibla tabulatorer�inotify kan inte användas, Ã¥tergÃ¥r till pollning�slut pÃ¥ inotify-resurser�indata försvann�för lÃ¥ng rad in�flytt mellan enheter misslyckades: %s till %s; kan inte ta bort mÃ¥let�felaktigt argument till %s%s: â€%sâ€�felaktigt argument %2$s till --%1$s�felaktigt argument till --threshold â€-0â€�felaktigt justering %s�felaktigt argument %s�felaktigt argument %s till %s�felaktig stil för numrering av kropp: %s�felaktigt buffringsläge %s för %s �felaktig byte-, tecken- eller fältlista�ogiltigt tecken â€%c†i typsträngen %s�ogiltig teckenklass %s�ogiltig kontext: %s�ogiltig konvertering�felaktig formatbeskrivning i ändelse: %c�felaktig formatbeskrivning i ändelse: \%.3o�ogiltigt datum %s�felaktigt datumformat %s�ogiltigt sjunkande intervall�ogiltig enhet %s %s�ogiltig enhetstyp %s�felaktigt fältnummer: %s�felaktig fältspecifikation: %s�felaktigt fältvärde â€%sâ€�ogiltig fältbredd: %s�felaktigt filnummer i fältspec: %s�ogiltiga flaggor formatbeskrivning: %%%c%c�felaktigt flyttalsargument: %s�felaktig stil för numrering av sidfot: %s�felaktigt format %s (spill i bredden)�ogiltig gapbredd: %s�ogiltig grupp�ogiltig grupp %s�ogiltig grupplista %s�ogiltig grupp: %s�felaktig stil för numrering av sidhuvud: %s�ogiltigt huvudvärde â€%sâ€�ogiltig indata�ogiltig inflagga�ogiltigt indataintervall %s�ogiltigt heltal %s�felaktigt heltalsargument %s�felaktig radantal %s�felaktig linjedisciplin %s�felaktig bredd pÃ¥ radnumrets fält: %s�felaktig ökning av radnummer: %s�felaktigt format pÃ¥ radnummer: %s�felaktig radlängd: %s�ogiltigt övre enhetsnummer %s�ogiltigt maxdjup %s�ogiltigt undre enhetsnummer %s�felaktig rättighet�ogiltig rättighet %s�ogiltig rättighet: %s�ogiltigt antal %s�felaktigt nummer efter â€,â€�felaktigt nummer efter â€-â€�felaktigt nummer efter â€.â€�felaktigt nummer vid fältstart�felaktigt antal tomma rader: %s�felaktigt antal byte�ogiltigt antal byte att jämföra�ogiltigt antal byte att hoppa över�felaktigt antal kolumner: %s�ogiltigt antal fält att hoppa över�felaktigt antal rader�ogiltigt tal: â€%sâ€�ogiltig flagga -- %c�ogiltig flagga -- %c; -RADLÄNGD accepteras bara när det är den första flaggan; använd -w N istället�ogiltig radix för utmatningsadress â€%câ€; mÃ¥ste vara ett tecken frÃ¥n [doxn]�ogiltig utflagga�ogiltigt utfyllnadsvärde â€%sâ€�ogiltigt sidintervall %s�ogiltig precision: %s�ogiltigt intervall utan slutpunkt: -�ogiltig upprepningsantal %s i konstruktionen [c*n]�ogiltig spec�felaktigt första radnummer: %s�ogiltig statusflagga�ogiltigt suffix %s, innehÃ¥ller katalogseparator�felaktigt suffix i argument till %s%s â€%sâ€�felaktigt suffix i indata â€%sâ€: %s�felaktigt suffix i indata: â€%sâ€�felaktigt tabulatorsteg %s�ogiltig mall, %s, innehÃ¥ller katalogseparator�ogiltig mall, %s, med --tmpdir fÃ¥r den inte vara absolut�felaktigt tidsintervall: %s�felaktigt tidsstilsformat %s�ogiltig avslutande flagga -- %c�ogiltig typsträng %s�ogiltig typsträng %s; detta system har ingen %lu-bytes flyttalstyp�ogiltig typsträng %s; detta system har ingen %lu-bytes heltalstyp�felaktigt enhetssteg: â€%sâ€�ogiltigt universellt-teckennamn \%c%0*x�ogiltig användare�ogiltig användare %s�ogiltig radlängd: %s�ogiltig radbrytningslängd: %s�ogiltigt filnamn med längd noll�det är farligt att arbeta rekursivt pÃ¥ %s�det är farligt att arbeta rekursivt pÃ¥ %s (samma som %s)�nyckel %lu har noll bredd och kommer att ignoreras�nyckel %lu är numerisk och spänner över flera fält�sist=�inledande â€-†i en komponent av filnamnet %s�inledande blanksteg är betydande i nyckel %lu, överväg att även ange â€bâ€�gränsen %lu överskreds av längden %lu för filnamnet %s�gränsen %lu överskreds av längden %lu för filnamnsdelen %s�radbuffring av standard in är meningslöst�radantalsflagga -%s%c... är för stor�radnummer %s är lägre än föregÃ¥ende radnummer, %s�spill i radnummer�den lÃ¥nga flaggan â€--megabytes†undanbedes och kommer snart tas bort�maximalt argument till --%s vid aktuell rlimit är %s�minnet slut�minnet slut av indatabuffert av storlek %zu byte (%s)�minnet slut av utdatabuffert av storlek %zu byte (%s)�meddelandekö�minsta argument till --%s är %s�[:upper:] och/eller [:lower:] är felaktigt uppställda�saknar %%-formatbeskrivning i ändelse� â€]†saknas�saknat suffix â€i†i indata: â€%s†(t.ex. Ki/Mi/Gi)�argument saknas efter %s�argument saknas till %s�saknat teckenklassnamn â€[::]â€�saknar formatbeskrivning i ändelse�destinationfilsoperand saknas efter %s�saknat ekvivalensklasstecken â€[==]â€�filoperand saknas�saknar hexadecimal siffra i kontrollsekvens�saknar fältlista�saknar lista med positionsangivelser�argument saknas�operand saknas efter %s�rättigheter mÃ¥ste ange endast filrättighetsbitar�rättigheterna hos %s ändrade frÃ¥n %04lo (%s) till %04lo (%s) �rättigheterna hos %s är oförändrat %04lo (%s) �monteringspunkten %s är redan traverserad�flyttar indatarör�flerteckenstabulator %s�multipla -l-flaggor angivna�multipla -l eller -t-flaggor angivna�multipla komprimeringsprogram angivna�multipla avgränsare angivna�flera nivÃ¥intervall�multipla utfiler angivna�multipla utformat angivna�multipla slumpkällor angivna�multipla relativa modifierare angivna�flera roller�multipla mÃ¥lkataloger angivna�flera typer�flera användare�varken den symboliska länken %s eller det den refererar har ändrats �ingen SHELL-miljövariabel, och ingen flagga för skalvariant angiven�inget byte av ägare av %s �inget kommando angivet�ingen konverteringsflagga angiven�inga filsystem bearbetade�inga fler filer�ingen indata frÃ¥n %s�inget inloggningsnamn�inget process-ID angivet�ingen typ kan anges när strängar sparas�inget användarnamn angivet; Ã¥tminstone ett mÃ¥sta anges när -l används�argument som inte är heltal�ej portabelt tecken %s i filnamnet %s�inte en tty�skriver inte via en lös symbolisk länk %s�tal i %s är för stort�antal parallella mÃ¥ste skilt frÃ¥n noll�antal byte�antal rader�numerisk ändelses startvärde är för stort för ändelselängden�förlegad nyckel %s använd, överväg %s istället�spill i filposition vid läsning av filen %s�utesluter katalog %s�endast en [c*] Ã¥terupprepningssammansättning kan förekomma i sträng2�endast en enhet fÃ¥r anges�endast en sorts lista fÃ¥r användas�misslyckades öppna�flaggan â€-%s†ignoreras�flaggorna â€-%s†ignoreras�alternativet â€-r†gäller bara som en sista utvägs jämförelse�flaggan --output: fältet â€%s†är okänt�flaggan --output: fältet â€%s†angivet mer än en gÃ¥ng�flagga använd i felaktigt sammanhang -- %c�flaggorna %s och %s är ömsesidigt uteslutande�flaggorna â€-%s†är inkompatibla�flaggorna --backup och --no-clobber är ömsesidigt uteslutande�flaggorna --compare (-C) och --preserve-timestamps är ömsesidigt uteslutande�flaggorna --compare (-C) och --strip är ömsesidigt uteslutande�slut pÃ¥ minne (begärde %zu byte)�slut pÃ¥ utfiländelser�spill vid utökning av storlek av filen %s�spill vid avrundning uppÃ¥t av storlek pÃ¥ filen %s�ägare av %s bevarad �ägare av %s bevarad som %s �spill i sidnummer�bredden pÃ¥ sidan är för smal�bevarar rättigheter pÃ¥ %s�bevarar tider pÃ¥ %s�att skriva alla duplicerade rader och antalet upprepningar är meningslöst�intervallets ändpunkter för â€%s-%s†är i omvänd sorteringsordning�läsfel�misslyckades läsa�läser katalog %s�för stor post�omdirigerar standard fel och standard ut�tom normal fil�normal fil�bortser frÃ¥n suffix i indata: â€%s†(överväg att använda --from)�tog bort %s �tog bort katalog: %s �tar bort katalog, %s�körnivÃ¥�semafor�skiljetecken kan inte vara tomt�sätt LC_ALL='C' för att kringgÃ¥ problemet�sätter flaggor för %s�sätter rättigheter pÃ¥ %s�sätter tider pÃ¥ %s�delat minne-objekt�skip-bytes + read-bytes är för stort�hoppar över %s, eftersom den är pÃ¥ en annan enhet�hoppar över fil %s eftersom den byttes ut medan den kopierades�uttag (socket)�squfof köspill�standard fel�standard in�standard in stängd�standard ut�misslyckades ta status�standard fel�standard in�standard ut�extra tecken i fältspecifikation�strängjämförelse misslyckades�strängtransformation misslyckades�strip-processen slutade onormalt�att undertrycka ej avskilda rader är endast rimligt vid arbete pÃ¥ fält�symbolisk länk�syntaxfel�systemstart�tabulatorsteg kan inte vara 0�tabulatorsteg innehÃ¥ller felaktiga tecken: %s�tabulatorsteg mÃ¥ste vara stigande�tabulatorsteg är för stort %s�tabulatorsteg är för stort�tabulatorer är för lÃ¥ngt isär�mÃ¥let %s är inte en katalog�mÃ¥lkatalog kan inte användas vid installation av en katalog�term=�test och/eller [�flaggorna --binary och --text är meningsfulla enbart när kontrollsummor verifieras�flaggan --compare (-C) ignoreras när du anger ett läge med tillÃ¥t-inte-bitar�flaggan --quiet är meningsfull enbart när kontrollsummor verifieras�flaggan --status är meningsfull enbart när kontrollsummor verifieras�flaggan --strict är meningsfull enbart när kontrollsummor verifieras�flaggan --tag är meningslös när kontrollsummor verifieras�flaggan --warn är meningsfull enbart när kontrollsummor verifieras �sammansättningen [c*] fÃ¥r förekomma i sträng2 endast vid översättning�Ã¥terupprepningssammansättningen [c*] fÃ¥r ej förekomma i sträng1�argumentet %s saknar ett inledande â€+â€. När en flagga som anger datum används mÃ¥ste eventuellt argument, som inte är en flagga vara en formatsträng som börjar med â€+â€�avskiljaren mÃ¥ste vara endast ett tecken�det bevakade programmet skrev en minnesdump�flaggorna för utförlig och stty-läsbar utmatningsstil är ömsesidigt uteslutande�flaggorna för att skriva ut dircolors interna databas och att välja en skalsyntax är ömsesidigt uteslutande�argumenten för utskrift och för tidsinställning fÃ¥r inte användas tillsammans�flaggorna för att ange datum för utskrift är ömsesidigt uteslutande�de jämförda strängarna var %s och %s�strip-flaggan kan inte användas vid installation av en katalog�ändelsens längd behöver vara Ã¥tminstone %zu�den otransformerade strängen var %s�tiden %s är utanför tillÃ¥tet intervall�för att använda användar-ID %s behöver du använda -g ocksÃ¥�för fÃ¥ X i mallen %s�för mÃ¥nga %%-formatbeskrivningar i ändelse�för mÃ¥nga tecken i mängd�för mÃ¥nga upprepade rader�för mÃ¥nga mallar�totalt�traversering misslyckades: %s�typat minne-objekt�uid=%s�kan inte visa felmeddelande�kan inte notera aktuell arbetskatalog�kan inte sätta säkerhetskontext %s�oväntat fel: fts_info=%d: %s rapportera gärna till %s�okänd binär operator�okänd status frÃ¥n kommando (0x%X)�okänd ström�okänt användar-ID: %s�obegripligt värde pÃ¥ LS_COLORS-miljövariabeln�okänd filsystemtyp 0x%08lx för %s. Rapportera gärna detta till %s. Ã…tergÃ¥r till pollning�okänd operand %s�okänt prefix: %s�uppe %2d.%02d, �uppe %ld dag %2d.%02d, �uppe %ld dagar %2d.%02d, �uppe ???? dagar ??.??, �använd --no-preserve-root för att Ã¥sidosätta detta säkerhetsskydd�använder %s-sorteringsregler�användning av %s att betyda standard in fungerar inte i filsystemsläge�använder enkel bytejämförelse�värdet är för stort för att konverteras: â€%sâ€�väntar pÃ¥ %s [-d]�väntar pÃ¥ barnprocess�väntar pÃ¥ strip�varning: �varning: %s: tecken som följer efter teckenkonstanten har ignorerats�varning: %s: misslyckades att byta kontext till %s�varning: â€touch %s†är förÃ¥ldrat; använd â€touch -t %04ld%02d%02d%02d%02d.%02dâ€�varning: --pid=PID stöds inte pÃ¥ detta system�varning: --retry är huvudsakligen användbar när filer följs via namn�varning: PID ignorerad, --pid=PID är användbar bara när man följer�varning: ett oskyddat omvänt snedstreck vid strängslut är inte portabelt�varning: omvänt snedstreck vid slutet av formatet�varning: kan inte ta bort: %s�varning: det gick inte att avaktivera minnesdumpar�varning: att följa standar in obegränsat är ineffektivt�varning: ignorerar överflödiga argument, startar med %s�varning: ogiltig filposition efter misslyckad läsning�varning: ogiltig bredd %lu; använder %d i stället�varning: radnummer %s är detsamma som föregÃ¥ende radnummer�varning: sigprocmask�varning: källfil %s angiven mer än en gÃ¥ng�varning: att summera stÃ¥r i konflikt med --max-depth=%lu�varning: att summera är detsamma som att använda --max-depth=0�varning: den tvetydiga oktala kontrollsekvensen \%c%c%c tolkas som en 2-byte sekvens \0%c%c, %c�varning: timer_create�varning: timer_settime�varning: okänd sekvens med omvänt snedstreck â€\%câ€�varning: gÃ¥r runt fel i kärnan i lseek för fil (%s) med mt_type=0x%0lx -- se <sys/mtio.h> för en lista av typer�konstig fil�när set1 inte stympas fÃ¥r sträng2 ej vara tom�när filnamn läses frÃ¥n standard in tillÃ¥ts inte filnamnet %s�när en utmatningstyp specificeras, kan inte inställningar göras�vid översättning med kompleterande teckenklasser mÃ¥ste sträng2 översätta alla tecken i domänen till ett�vid översättning med sträng1 längre än sträng2, fÃ¥r inte den senare strängen sluta med en teckenklass�vid översättning fÃ¥r endast teckenklasserna â€upper†och â€lower†finnas i sträng2�kommer inte kopiera %s genom en nyskapad symlänk %s�kommer inte skapa hÃ¥rd länk %s till katalog %s�kommer inte skriva över nyligen skapade %s med %s�med --parents mÃ¥ste destinationen vara en katalog�med --suffix mÃ¥ste mallen %s sluta med X�med FILE=%s, slutkod %d frÃ¥n kommando: %s�med FILE=%s, signal %s frÃ¥n kommando: %s�skrivfel�skrivfel för %s�misslyckaes skriva�skrivning till %s�du mÃ¥ste ange -c, -t, -u, -l, -r eller kontext�du mÃ¥ste specificera en lista med byte, tecken eller fält�du mÃ¥ste ange en relativ %s till %s�du mÃ¥ste ange antingen %s eller %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% poster in %+% poster ut �% avhuggen post �% avhuggna poster �% byte (%s) kopierad�% byte (%s) kopierade�misslyckades att hugga av vid % byte i utdatafil %s�positionen för stor: kan inte hugga av till en längd av seek=% (%lu-byte-)block�misslyckades att hugga av vid % byte i utdatafil %s�%s:%: är inte sorterad: %.*s�misslyckades att allokera en % byte stdio-buffert �%s: %: felaktigt formaterad %s-kontrollsummerad�VARNING: % rad är felaktigt formaterad�VARNING: % rader är felaktigt formaterade�VARNING: % listad fil kunde inte läsas�VARNING: % listade filer kunde inte läsas�VARNING: % beräknad kontrollsumma stämde INTE�VARNING: % beräknade kontrollsummor stämde INTE�första sidnummer % överskrider antalet sidor %�Sida %�spill i % · % byte-block för fil %s�misslyckades att hugga av %s vid % byte����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/uk.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002044542�12107204514�011752� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Ukrainian translation for coreutils. # Copyright (C) 2006 Free Software Foundation, Inc. # This file is put in the public domain. # # Maxim Dziumanenko <dziumanenko@gmail.com>, 2007-2009. # sevenfourk <sevenfourk@gmail.com>, 2009. # Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: coreutils 8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-11 22:58+0200\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.5\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "неправильний аргумент %s Ð´Ð»Ñ %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "неоднозначний аргумент %s Ð´Ð»Ñ %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "ДопуÑтимі аргументи:" #: lib/closein.c:100 msgid "error closing file" msgstr "помилка при закритті файла" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "помилка запиÑу" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ðевідома ÑиÑтемна помилка" #: lib/file-type.c:38 msgid "regular empty file" msgstr "звичайний порожній файл" #: lib/file-type.c:38 msgid "regular file" msgstr "звичайний файл" #: lib/file-type.c:41 msgid "directory" msgstr "каталог" #: lib/file-type.c:44 msgid "block special file" msgstr "файл блочного приÑтрою" #: lib/file-type.c:47 msgid "character special file" msgstr "файл Ñимвольного приÑтрою" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "Ñимволічне поÑиланнÑ" #: lib/file-type.c:56 msgid "socket" msgstr "Ñокет" #: lib/file-type.c:59 msgid "message queue" msgstr "черга повідомлень" #: lib/file-type.c:62 msgid "semaphore" msgstr "Ñемафор" #: lib/file-type.c:65 msgid "shared memory object" msgstr "об'єкт Ñпільній пам'Ñті" #: lib/file-type.c:68 msgid "typed memory object" msgstr "об'єкт типізованої пам'Ñті" #: lib/file-type.c:70 msgid "weird file" msgstr "дивний файл" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "СімейÑтво Ð°Ð´Ñ€ÐµÑ Ð½Ðµ підтримуєтьÑÑ Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вузла" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "ТимчаÑова помилка розв'ÑÐ·Ð°Ð½Ð½Ñ Ð½Ð°Ð·Ð²" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ðеправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Критична помилка при розв'Ñзанні назв" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family не підтримуєтьÑÑ" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Помилка Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ð¼'Ñті" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "З даною назвою вузла не пов'Ñзано жодної адреÑи" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Ðевідома назва чи ÑервіÑ" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname не підтримуєтьÑÑ Ð´Ð»Ñ ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype не підтримуєтьÑÑ" #: lib/gai_strerror.c:67 msgid "System error" msgstr "СиÑтемна помилка" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Буфер аргументів надто малий" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Триває обробка запиту" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Запит ÑкаÑовано" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Запит не ÑкаÑовано" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Ð’ÑÑ– запити завершені" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Перервано за Ñигналом" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Ðеправильно закодований Ñ€Ñдок параметрів" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Ðевідома помилка" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: неоднозначний параметр «%s»; можливі варіанти:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «--%s» не передбачено\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «%c%s» не передбачено\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: до параметра «--%s» Ñлід додати аргумент\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: невідомий параметр «--%s»\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: невідомий параметр «%c%s»\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: некоректний параметр — «%c»\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: до параметра Ñлід додати аргумент — «%c»\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: параметр «-W %s» не Ñ” однозначним\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «-W %s» не передбачено\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: до параметра «-W %s» Ñлід додати аргумент\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ права доÑтупу до %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "Ðе вдалоÑÑ Ñтворити каталог %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "пам'Ñть вичерпано" # c-format #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ поточний робочий каталог" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "не вдалоÑÑ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¸ÑÑŒ до початкового робочого каталогу" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "«" #: lib/quotearg.c:313 msgid "'" msgstr "»" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: кінець файла" #: lib/regcomp.c:131 msgid "Success" msgstr "Виконано" #: lib/regcomp.c:134 msgid "No match" msgstr "Ðемає збігів" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ðеправильний регулÑрний вираз" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ðеправильний Ñимвол порівнÑннÑ" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ðекоректна назва клаÑу Ñимволу" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Зворотна коÑа риÑка наприкінці" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ðеправильне зворотне поÑиланнÑ" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Ðепарна [ чи [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Ðепарна ( чи \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Ðепарна \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "ÐеприпуÑтимий вміÑÑ‚ \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ðеправильний кінець діапазону" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "СкінчилаÑÑŒ пам'Ñть" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ðекоректний попередній регулÑрний вираз" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "ПередчаÑний кінець регулÑрного виразу" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Розмір виразу надто великий" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Ðепарна ) чи \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "ВідÑутній попередній регулÑрний вираз" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "небезпечно рекурÑивно оброблÑти %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "небезпечно рекурÑивно оброблÑти %s (те ж Ñаме, що й %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" "викориÑтовуйте --no-preserve-root, щоб ÑкаÑувати Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ небезпеку" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Від'єднаннÑ" #: lib/siglist.h:34 msgid "Interrupt" msgstr "ПерериваннÑ" #: lib/siglist.h:37 msgid "Quit" msgstr "Вихід" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Помилкова інÑтрукціÑ" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "ÐŸÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð½Ð° точці зупину" #: lib/siglist.h:46 msgid "Aborted" msgstr "Перервано" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Помилка обчиÑлень з рухомою комою" #: lib/siglist.h:52 msgid "Killed" msgstr "Вбито" #: lib/siglist.h:55 msgid "Bus error" msgstr "Помилка каналу обміну даними" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Помилка адреÑуваннÑ" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Канал обірвано" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Сигнал таймера" #: lib/siglist.h:67 msgid "Terminated" msgstr "Припинено" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Термінова Ð´Ñ–Ñ Ð· введеннÑ-виведеннÑ" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Зупинено (Ñигнал)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Зупинено" #: lib/siglist.h:79 msgid "Continued" msgstr "Поновлено" #: lib/siglist.h:82 msgid "Child exited" msgstr "Дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð² роботу" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Зупинено (ввід з термінала)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Зупинено (вивід на термінал)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "Можливе введеннÑ-виведеннÑ" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розмір файла" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Збіг Ñ‡Ð°Ñ Ð½Ð° віртуальному таймері" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Збіг Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ" #: lib/siglist.h:106 msgid "Window changed" msgstr "Зміна вікна" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Визначений кориÑтувачем Ñигнал 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Визначений кориÑтувачем Ñигнал 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "ПаÑтка емулÑтора" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Помилковий ÑиÑтемний виклик" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Помилка роботи зі Ñтеком" #: lib/siglist.h:126 msgid "Information request" msgstr "Інформаційний запит" #: lib/siglist.h:128 msgid "Power failure" msgstr "Відмова живленнÑ" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Втрачено реÑурÑ" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "не вдалоÑÑ Ñтворити канал" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "помилка підпроцеÑу %s" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Сигнал реального чаÑу %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Ðевідомий Ñигнал %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "функцію iconv неможливо викориÑтати" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ iconv недоÑтупна" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "Ñимвол поза діапазоном" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "неможливо перетворити U+%04X у локальне кодуваннÑ" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "неможливо перетворити U+%04X у локальне кодуваннÑ: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "неправильний кориÑтувач" #: lib/userspec.c:107 msgid "invalid group" msgstr "неправильна група" #: lib/userspec.c:108 msgid "invalid spec" msgstr "неправильна ÑпецифікаціÑ" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "Ðеможливо вивеÑти Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð¾ %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, <http://" "gnu.org/licenses/gpl.html>\n" "Це вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати " "його.\n" "Вам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених " "законодавÑтвом.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Ðвтор програми %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Ðвтор програми %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Ðвтор програми %s, %s та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s\n" "та %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s, %s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s, %s, %s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s, %s, %s, %s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s, %s, %s, %s\n" "%s та %s\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Ðвтор програми %s, %s, %s.\n" "%s, %s, %s, %s\n" "%s, %s та інші.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Про вади повідомлÑйте за такою адреÑою: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Про вади у %s повідомлÑйте на адреÑу %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка %s: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "%s Ð´Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Загальна довідка з ПЗ GNU: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "Помилка _open_osfhandle" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ файловий деÑкриптор %d: помилка dup2" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "дочірнім процеÑом %s отримано Ñигнал щодо аварійного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "невідомий потік" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити %s у режимі %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "помилка порівнÑÐ½Ð½Ñ Ñ€Ñдків" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Щоб обійти цю проблему, вÑтановіть LC_ALL='C'" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Помилка порівнÑÐ½Ð½Ñ Ñ€Ñдків %s та %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ форматований вивід" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "некоректний аргумент %s%s — '%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ аргументі %s%s: '%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s, аргумент '%s' Ñ” занадто об’ємним" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]\n" "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° чи Ñтандартного потоку вводу у форматі\n" "Base64, Ñ– Ð·Ð°Ð¿Ð¸Ñ Ñƒ Ñтандартний потік виводу.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode декодувати дані\n" " -i, --ignore-garbage під Ñ‡Ð°Ñ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкати Ñимволи поза абеткою\n" " -w, --wrap=СТОВПЧИК переноÑити кодовані Ñ€Ñдки піÑÐ»Ñ Ñимволу СТОВПЧИК " "(типово 76).\n" " 0 вимикає перенеÑÐµÐ½Ð½Ñ Ñ€Ñдків.\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Якщо вхідний файл не вказаний, або Ñкщо вказано Ñимвол -,\n" "викориÑтовуєтьÑÑ Ñтандартний ввід.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Дані закодовані Ñимволами з алфавіту base64, відповідно до RFC 3548. При\n" "декодуванні ввід може міÑтити також Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдків окрім байтів\n" "формального алфавіту base64. Вказуйте ключ --ignore-garbage, щоб\n" "Ñпробувати ігнорувати неалфавітні знаки в закодованому потоці.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "помилка читаннÑ" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "неправильні вхідні дані" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "неправильна величина переноÑу: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "зайвий операнд %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "закриваєтьÑÑ Ñтандартний потік вводу" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "ВикориÑтаннÑ: %s ÐÐЗВР[СУФІКС]\n" " чи: %s КЛЮЧ... ÐÐЗВÐ...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "ВивеÑти ÐÐЗВУ з вилученнÑм компонента каталогу на початку Ñ€Ñдка.\n" "Також вилучити завершальний СУФІКС (Ñкщо вказано).\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple увімкнути підтримку декількох аргументів, вважати " "кожен з них ÐÐЗВОЮ\n" " -s, --suffix=СУФІКС вилучити кінцевий СУФІКС\n" " -z, --zero відокремлювати пункти у виведенні Ñимволом NUL, а не " "Ñимволом нового Ñ€Ñдка\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Приклади:\n" " %s /usr/bin/sort -> «sort»\n" " %s include/stdio.h .h -> «stdio»\n" " %s -s .h include/stdio.h -> «stdio»\n" " %s -a any/str1 any/str2 -> «str1», потім «str2»\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "відÑутній операнд" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "ÐšÐ¾Ð½ÐºÐ°Ñ‚ÐµÐ½Ð°Ñ†Ñ–Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² чи Ñтандартного вводу до Ñтандартного потоку виводу.\n" "\n" " -A, --show-all еквівалент -vET\n" " -b, --number-nonblank кількіÑть непорожніх Ñ€Ñдків виводу\n" " -e еквівалент -vE\n" " -E, --show-ends показувати $ наприкінці кожного Ñ€Ñдка\n" " -n, --number кількіÑть уÑÑ–Ñ… Ñ€Ñдків виводу\n" " -s, --squeeze-blank не більше ніж один порожній Ñ€Ñдок\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t еквівалент -vT\n" " -T, --show-tabs відображати Ñимволи табулÑцій Ñк ^I\n" " -u (ігноруєтьÑÑ)\n" " -v, --show-nonprinting викориÑтовувати нотацію ^ та M-, за винÑтком\n" " Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка та табулÑції\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Приклади:\n" " %s f - g Виводить вміÑÑ‚ f, потім Ñтандартний потік вводу, потім вміÑÑ‚ g.\n" " %s Копіює дані зі Ñтандартного потоку вводу у Ñтандартний вивід.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "помилка ioctl на %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "Ñтандартний вивід" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: вхідний файл Ñ” файлом виводу" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "не вдалоÑÑ Ñтворити контекÑту безпеки: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "не вдалоÑÑ Ð²Ñтановити %s контекÑÑ‚ безпеки компоненту %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "не вдалоÑÑ Ð·Ð°ÑтоÑувати чаÑтковий контекÑÑ‚ Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ файла %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ контекÑÑ‚ %s на %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ каталог %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "зміна контекÑту безпеки Ð´Ð»Ñ %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "помилка при операції fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "помилка fts_close" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... КОÐТЕКСТ ФÐЙЛ\n" " або: %s [КЛЮЧ]... [-u КОРИСТУВÐЧ] [-r РОЛЬ] [-l ДІÐПÐЗОÐ] [-t ТИП] " "ФÐЙЛ...\n" " або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Змінює контекÑÑ‚ безпеки кожного файла ФÐЙЛ на КОÐТЕКСТ.\n" "З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛа на контекÑÑ‚ " "ЗФÐЙЛа.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference впливає на ціль кожного Ñимволічного поÑиланнÑ,\n" " а не на Ñаме Ñимволічне поÑиланнÑ\n" " -h, --no-dereference обробити Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть файлів, на " "Ñкі вони поÑилаютьÑÑ\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=КОРИСТУВÐЧ вÑтановити кориÑтувача КОРИСТУВÐЧ у цільовому " "контекÑті безпеки\n" " -r, --role=РОЛЬ вÑтановити роль РОЛЬ у цільовому контекÑті безпеки\n" " -t, --type=ТИП вÑтановити тип ТИП у цільовому контекÑті безпеки\n" " -l, --range=ДІÐПÐЗОРвÑтановити діапазон ДІÐПÐЗОРу цільовому контекÑті " "безпеки\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root не трактувати '/' оÑобливим чином (типово)\n" " --preserve-root перешкоджати рекурÑивному виконанню на '/'\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=ЗФÐЙЛРвикориÑтовувати контекÑÑ‚ ЗФÐЙЛРзаміÑть Ñвного\n" " Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ ÐšÐžÐТЕКСТ\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive оброблÑти файли Ñ– каталоги рекурÑивно\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose вивеÑти діагноÑтичні дані Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з оброблених " "файлів\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Вказані нижче ключі впливають на ÑпоÑіб обходу ієрархії каталогів при\n" "заданому ключі -R. Якщо вказано декілька цих ключів, діє\n" "лише оÑтанній.\n" "\n" " -H Ñкщо аргумент командного Ñ€Ñдка Ñ” Ñимвольним\n" " поÑиланнÑм на каталог, перейти за ним\n" " -L переходити за кожним Ñимвольним поÑиланнÑм на\n" " каталог\n" " -P не переходити за Ñимвольними поÑиланнÑми (типово)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "Ð”Ð»Ñ ÐºÐ¾Ð¼Ð±Ñ–Ð½Ð°Ñ†Ñ–Ñ— ключів -R --dereference Ñлід вказати -H або -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "при вказуванні -R -h потрібно вказати -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "пропущений операнд піÑÐ»Ñ %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "неправильний контекÑÑ‚: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "вказано конфліктні Ñпецифікатори контекÑту безпеки" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "неправильна група: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... ГРУПРФÐЙЛ...\n" " чи: %s [КЛЮЧ]... --reference=ЗФÐЙЛРФÐЙЛ...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Змінити групу кожного файла ФÐЙЛ на ГРУПУ.\n" "З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛРна контекÑÑ‚ " "ЗФÐЙЛÐ.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes подібний до verbose, але повідомити про них, лише " "Ñкщо внеÑено зміни\n" " -f, --silent, --quiet придушити вÑÑ– Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки\n" " -v, --verbose вивеÑти діагноÑтичні дані Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з оброблених " "файлів\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (діє лише на ÑиÑтемі з підтримкою зміни прав\n" " влаÑноÑті Ñимволічних поÑилань)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=ЗФÐЙЛа викориÑтовувати групу ЗФÐЙЛа заміÑть Ñвного\n" " Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð“Ð Ð£ÐŸÐ˜\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Приклади:\n" " %s staff /u Змінює групу /u на \"staff\".\n" " %s -hR staff /u Змінює групу /u та вкладених файлів на \"staff\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "отримуютьÑÑ Ð½Ð¾Ð²Ñ– атрибути %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" "ані Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s, ані об'єкт на Ñкий воно вказує, не були змінені\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "режим %s змінено з %04lo (%s) на %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим %s з %04lo (%s) на %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "права доÑтупу %s залишені Ñк %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "обробка небезпечного Ñимвольного поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s неможлива" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "зміна прав доÑтупу Ð´Ð»Ñ %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: нові права доÑтупу %s, а не %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФÐЙЛ\n" " або: %s [КЛЮЧ]... ВІСІМК-РЕЖИМ ФÐЙЛ...\n" " або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Змінити режим Ð´Ð»Ñ Ð²ÑÑ–Ñ… файлів на РЕЖИМ.\n" "З ключем --reference, змінює контекÑÑ‚ безпеки кожного ФÐЙЛУ на контекÑÑ‚ " "ЗФÐЙЛÐ.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=ЗФÐЙЛ викориÑтовувати режим ЗФÐЙЛа, заміÑть значень " "РЕЖИМ\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive змінювати файли Ñ– каталоги рекурÑивно\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "РЕЖИМ вказуєтьÑÑ Ñƒ формі '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "не можна викориÑтовувати разом ключі режиму та --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "неправильний режим: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "змінено влаÑника %s з %s на %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "змінено групу %s з %s на %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "не змінений влаÑник %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s з %s на %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ групу %s з %s на %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s на %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "помилка зміни групи %s на %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "влаÑник %s залишений Ñк %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "група %s залишена Ñк %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "влаÑник %s залишений без змін\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ за Ñимвольним поÑиланнÑм %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "зміна влаÑника %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "зміна групи Ð´Ð»Ñ %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ВЛÐСÐИК][:[ГРУПÐ]] ФÐЙЛ...\n" " або: %s [КЛЮЧ]... --reference=ЗФÐЙЛ ФÐЙЛ...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Змінити влаÑника Ñ–/або групу Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з ФÐЙЛів на ВЛÐСÐИКРі/або ГРУПУ.\n" "З ключем --reference, змінити влаÑника Ñ– групу вÑÑ–Ñ… ФÐЙЛів на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ " "ЗФÐЙЛа.\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=ПОТОЧÐИЙ_ВЛÐСÐИК:ПОТОЧÐÐ_ГРУПÐ\n" " змінює влаÑника та/або групу кожного файла\n" " лише Ñкщо поточний влаÑник та/або група\n" " відповідає вказаному виразу.\n" " Як група, так Ñ– влаÑник можуть бути опущені,\n" " у цьому випадку відповідніÑть атрибута\n" " не обов'Ñзкова.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=ЗФÐЙЛ викориÑтовувати влаÑника та групу ЗФÐЙЛа заміÑть\n" " Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð’Ð›ÐСÐИКÐ:ГРУПИ\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "ВлаÑник не змінюєтьÑÑ, Ñкщо він не вказаний у аргументі. Група також не\n" "змінюєтьÑÑ, Ñкщо не вказана; але Ñкщо піÑÐ»Ñ Ñимвольного ВЛÐСÐИКРÑтоїть\n" "знак ':', вважаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð° групи на оÑновну групу поточного\n" "кориÑтувача.\n" "ВЛÐСÐИК та ГРУПРможуть бути Ñк чиÑловими, так Ñ– Ñимвольними.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Приклади:\n" " %s root /u Змінює влаÑника /u на \"root\".\n" " %s root:staff /u То же, але ще мінÑÑ” групу на \"staff\".\n" " %s -hR root /u Змінює влаÑника /u та вкладених файлів на \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "неправильна група %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "некоректний ÑпиÑок груп %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "не вдалоÑÑ Ð²Ñтановити додаткові групи" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ÐОВИЙКОРІÐЬ [КОМÐÐДР[ÐРГУМЕÐТ]...]\n" " або: %s ПÐРÐМЕТР\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Виконує КОМÐÐДУ з вказаним кореневим каталогом.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=КОР:ГРУПРвказати кориÑтувача Ñ– групу (ід. або назву)\n" " --groups=СПИСОК_ГРУП вказати додаткові групи у форматі гр1,гр2,…,грN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Якщо команду не вказано, виконати '${SHELL} -i' (default: '/bin/sh -i').\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ кореневий каталог на %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ до кореневого каталогу" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатор групи" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатор кориÑтувача" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ команду %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: файл надто великий" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "ВикориÑтаннÑ: %s [ФÐЙЛ]...\n" " або: %s КЛЮЧ\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Виводить контрольну Ñуму (CRC) та чиÑло байт Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ1 ФÐЙЛ2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Порівнює Ñортовані файли ФÐЙЛ1 та ФÐЙЛ2 по Ñ€Ñдках.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Якщо запущений без ключів виводить результат у три Ñтовпчики. Перший\n" "Ñтовпчик міÑтить Ñ€Ñдки, унікальні Ð´Ð»Ñ Ð¤ÐЙЛÐ1, другий -- унікальні длÑ\n" "ФÐЙЛÐ2, а третій -- Ñпільні Ð´Ð»Ñ Ð¾Ð±Ð¾Ñ… файлів Ñ€Ñдки.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 не виводити Ñтовпчик 1 (Ñ€Ñдки, Ñкі Ñ” лише у ФÐЙЛ1)\n" " -2 не виводити Ñтовпчик 2 (Ñ€Ñдки, Ñкі Ñ” лише у ФÐЙЛ2)\n" " -3 не виводити Ñтовпчик 3 (Ñ€Ñдки, Ñкі Ñ” у обох файлах)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order перевірÑти, що вхідний потік Ñортований, навіть\n" " Ñкщо уÑÑ– вхідні Ñ€Ñдки утворюють пари\n" " --nocheck-order не перевірÑти, що вхідний потік коректно Ñортований\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=РЯД розділÑти Ñтовпчику вÑтавлÑючи РЯД\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Зауважте, що під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° LC_COLLATE.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Приклади:\n" " %s -12 файл1 файл2 ВивеÑти лише Ñ€Ñдки, Ñкі Ñ” Ñпільними Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»1 Ñ– " "файл2.\n" " %s -3 файл1 файл2 ВивеÑти Ñ€Ñдки у файл1, Ñких немає у файл2, Ñ– навпаки.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "файл %d не Ñортований" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "задано декілька розділювачів" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "порожній Ñ€Ñдок %s Ñ” неприпуÑтимим" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "помилка Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ lseek Ð´Ð»Ñ %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "помилка запиÑу %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо розширень" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: помилка під Ñ‡Ð°Ñ Ñпроби запиÑу" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "не вдалоÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€Ð¸Ñ‚Ð¸ %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð² доÑтупу Ð´Ð»Ñ %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ влаÑника %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "не вдалоÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ автора %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ fstat Ð´Ð»Ñ %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "пропущено файл %s, оÑкільки він був замінений під Ñ‡Ð°Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ контекÑÑ‚ файлової ÑиÑтеми Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s на %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "вилучено %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· через виÑÑче Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s не виконуєтьÑÑ" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "не вдалоÑÑ Ñтворити звичайний файл %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "не вдалоÑÑ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸ %s з %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¼Ñ–Ñ‚ÐºÐ¸ про Ñ‡Ð°Ñ %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: намагатиÑÑŒ перепиÑати %s, незважаючи на права доÑтупу %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: перепиÑати %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (резервна копіÑ: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "помилка при відновленні типового контекÑту при Ñтворенні файла" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "пропуÑк каталогу %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "попередженнÑ: вхідний файл %s вказаний більше одного разу" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s та %s - один Ñ– той Ñамий файл" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "не можна перезапиÑати файл %s, що не Ñ” каталогом, каталогом %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "не перепиÑуєтьÑÑ Ñ‰Ð¾Ð¹Ð½Ð¾ Ñтворений %s %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "не можна перезапиÑувати каталог %s файлом, що не Ñ” каталогом" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "не можна перейменувати каталог на файл, що не Ñ” каталогом: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð°Ñної копії %s знищить оригінал; %s не перенеÑений" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð°Ñної копії %s знищить оригінал; %s не Ñкопійовано" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "не вдалоÑÑ Ñтворити резервну копію Ð´Ð»Ñ %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "не буде копіюватиÑÑ %s через щойно Ñтворене Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "не вдалоÑÑ Ñкопіювати каталог, %s, у Ñамого Ñебе, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на каталог %s не буде Ñтворено" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ½ÐµÑти %s у Ñвій влаÑний підкаталог, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити %s у %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "помилка при переміщенні з приÑтрою %s на приÑтрій %s: не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ " "цільовий файл" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "помилка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ контекÑту Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "не вдалоÑÑ Ñкопіювати циклічне Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: відноÑні Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° Ñтворювати лише у поточному каталозі" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "не вдалоÑÑ Ñтворити Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "не вдалоÑÑ Ñтворити чергу %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "не вдалоÑÑ Ñтворити Ñпеціальній файл %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "не вдалоÑÑ Ñтворити Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s має невідомий тип файла" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ %s з резервної копії" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (відновленнÑ)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ЦІЛЬ\n" " або: %s [КЛЮЧ]... ДЖЕРЕЛО... КÐТÐЛОГ\n" " або: %s [КЛЮЧ]... -t КÐТÐЛОГ ДЖЕРЕЛО...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Копіює ДЖЕРЕЛО у ЦІЛЬ, або декілька ДЖЕРЕЛ у КÐТÐЛОГ.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive те Ñаме що та -dR --preserve=all\n" " --attributes-only не копіювати даних файла, лише атрибути\n" " --backup[=CONTROL] Ñтворити резервну копію перед вилученнÑм\n" " -b те Ñаме, що й --backup, але без аргументу\n" " --copy-contents копіює зміÑÑ‚ Ñпеціальних файлів при\n" " рекурÑивному викориÑтанні\n" " -d те Ñаме, що й --no-dereference --" "preserve=link\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force Ñкщо не можна відкрити Ñ–Ñнуючий файл,\n" " вилучити його та Ñпробувати ще раз\n" " (буде проігноровано, Ñкщо вказано\n" " параметр -n )\n" " -i, --interactive запитувати Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ перепиÑом\n" " (перевизначає раніше вказаний параметрі -" "n )\n" " -H Ñлідувати за Ñимвольним поÑиланнÑм у ДЖЕРЕЛО\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link Ñтворювати жорÑткі поÑиланнÑ, а не копіювати\n" " -L, --dereference завжди Ñлідувати за Ñимволічним поÑиланнÑм у " "ДЖЕРЕЛО\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber не перепиÑувати Ñ–Ñнуючий файл (перевизначає\n" " попередній параметр -i)\n" " -P, --no-dereference ніколи не йти за Ñимволічними поÑиланнÑми у " "ДЖЕРЕЛО\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p те Ñаме, що й --preserve=mode,ownership," "timestamps\n" " --preserve[=СПИС_ÐТТР] зберігати вказані атрибути (типово:\n" " mode,ownership,timestamps), Ñкщо можливо\n" " додаткові атрибути: context, links, xattr, " "all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=СПИС_ÐТТР не зберігати вказані атрибути\n" " --parents добавить вихідний шлÑÑ… до КÐТÐЛОГУ\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive копіювати каталоги рекурÑивно\n" " --reflink[=КОЛИ] керувати копіÑми clone/CoW. Див. нижче.\n" " --remove-destination вилучати кожен цільовий файл, перш ніж\n" " копіювати його (протилежніÑть до --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=КОЛИ керує ÑтвореннÑм розріджених файлів. Див. " "нижче.\n" " --strip-trailing-slashes вилучає уÑÑ– кінцеві похилі риÑки з кожного\n" " аргументу ДЖЕРЕЛО\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link Ñтворювати Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð° не " "копіювати\n" " -S, --suffix=СУФІКС викориÑтовувати Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñних копій вказаний " "СУФІКС\n" " --target-directory=КÐТÐЛОГ Ñкопіювати вÑÑ– ДЖЕРЕЛРу КÐТÐЛОГ\n" " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update копіювати лише тоді коли вихідний файл\n" " новіший ніж цільовий файл, або коли\n" " цільовий файл відÑутній\n" " -v, --verbose поÑÑнювати що зроблено\n" " -x, --one-file-system залишатиÑÑŒ у межах однієї файлової ÑиÑтеми\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Типово розріджені файли ДЖЕРЕЛРрозпізнаєтьÑÑ Ð·Ð° допомогою грубої\n" "евриÑтичної процедури та відповідно ÑтворюєтьÑÑ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ð¹ файл\n" "ПРИЗÐÐЧЕÐÐЯ. Таку поведінку можна визначити за допомогою\n" "параметра --sparse=auto. З параметром --sparse=always ПРТИЗÐÐЧЕÐÐЯ\n" "завжди ÑтворюєтьÑÑ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ð¼, незалежно від того, чи міÑтить\n" "файл ДЖЕРЕЛРдовгі поÑлідовноÑті нульових байтів.\n" "СкориÑтайтеÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --sparse=never Ð´Ð»Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½Ð¸ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ñ€Ñ–Ð´Ð¶ÐµÐ½Ð¸Ñ…\n" "файлів.\n" "\n" "Якщо вказано параметр --reflink[=always], буде виконано полегшене " "копіюваннÑ,\n" "за Ñкого блоки даних копіюватимутьÑÑ Ð»Ð¸ÑˆÐµ у разі внеÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½. Якщо це\n" "неможливо, ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ñ” невдачі або, Ñкщо вказано --reflink=auto,\n" "повернетьÑÑ Ð´Ð¾ Ñтандартного режиму.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Типовий ÑÑƒÑ„Ñ–ÐºÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñних копій ~, лише Ñкщо не вÑтановлена\n" "змінна Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ SIMPLE_BACKUP_SUFFIX або ключ --suffix. СпоÑіб контролю\n" "верÑій можна вказати ключем --backup або змінною оточеннÑ\n" "VERSION_CONTROL. Можливі значеннÑ:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ніколи не Ñтворювати резервних копій (навіть Ñкщо\n" " вказаний ключ --backup)\n" " numbered, t Ñтворювати нумеровані копії\n" " existing, nil Ñкщо Ñ–Ñнують нумеровані копії, то Ñтворювати\n" " нумеровані інакше Ñтворювати проÑті\n" " simple. never завжди Ñтворювати проÑті копії\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Коли вказані ключі -f та -b, та SOURCE збігаєтьÑÑ Ð· DEST cp Ñтворює\n" "резервну копію DEST.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ мітки чаÑу Ð´Ð»Ñ %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ права доÑтупу Ð´Ð»Ñ %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "не вдалоÑÑ Ñтворити каталог %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s Ñ–Ñнує, але не Ñ” каталогом" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "пропущений операнд, що вказує файл" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "піÑÐ»Ñ %s пропущений операнд, що вказує цільовий файл" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "не можна викориÑтовувати Ð²Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñ --target-directory (-t) Ñ– --no-target-" "directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "вказана ціль %s не Ñ” каталогом" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "при заданому --parents ціль повинна бути каталогом" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "вказано декілька цільових каталогів" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "не можна Ñтворювати жорÑтке та Ñимвольне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "параметри --backup Ñ– --no-clobber не можна викориÑтовувати одночаÑно" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink можна викориÑтовувати лише разом з --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "тип резервної копії" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "не можна зберігати контекÑÑ‚ безпеки, Ñкщо Ñдро не підтримує SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ розширені атрибути, cp зібрано без підтримки xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "ввід Ñтав недоÑтупний" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: номер Ñ€Ñдка поза допуÑтимими межами" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: номер Ñ€Ñдка поза допуÑтимими межами" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " при повторі %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: відповідніÑть не знайдено" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "помилка пошуку регулÑрного виразу" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "помилка запиÑу Ð´Ð»Ñ %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: піÑÐ»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÐ²Ð°Ñ‡Ð° очікуєтьÑÑ Ñ†Ñ–Ð»Ðµ чиÑло" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: при вказуванні чиÑла повторів Ñлід додати '}'" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s: між '{' та '}' має бути вказано ціле чиÑло" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: пропущено кінцевий роздільник '%c'" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: неприпуÑтимий регулÑрний вираз: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: неприпуÑтимий шаблон" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: номер Ñ€Ñдка повинен бути більше нулÑ" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "номер Ñ€Ñдка %s менше номеру попереднього Ñ€Ñдка, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "попередженнÑ: номер Ñ€Ñдка %s дорівнює попередньому номеру Ñ€Ñдка" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "пропущений Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "неправильний Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "неправильний Ñпецифікатор Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ ÑуфікÑÑ–: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "некоректні прапорці у Ñпецифікації перетвореннÑ: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "надто багато опиÑів Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (%%) у ÑуфікÑÑ–" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "пропущено Ð¾Ð¿Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (%%) у ÑуфікÑÑ–" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: неприпуÑтимий чиÑло" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ ШÐБЛОÐ...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Виводить чаÑтини ФÐЙЛÐ, розділені ШÐБЛОÐОМ (ШÐБЛОÐÐМИ), до файлів 'xx00',\n" "'xx01', ... та виводить чиÑло байт у кожній чаÑтині на Ñтандартний вивід.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=ФОРМÐТ викориÑтовувати ФОРМÐТ Ñк у sprintf заміÑть " "%02d\n" " -f, --prefix=ПРЕФІКС викориÑтовувати ПРЕФІКС заміÑть 'xx'\n" " -k, --keep-files не вилучати файли виводу при помилках\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=ЦИФРИ викориÑтовувати вказане чиÑло ЦИФР заміÑть 2\n" " -s, --quiet, --silent не виводити розміри вихідних файлів\n" " -z, --elide-empty-files вилучати порожні файли виводу\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Якщо ФÐЙЛ вказаний Ñк -, читає Ñтандартний ввід. ШÐБЛОРвказуєтьÑÑ\n" "наÑтупним чином:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " ЦІЛЕ копіювати до Ñ€Ñдка з вказаним номером, але не включно\n" " /REGEXP/[ЗСУВ] копіювати до відповідного Ñ€Ñдка, але не включно\n" " %%REGEXP%%[ЗСУВ] пропуÑтити до відповідного Ñ€Ñдка, але не включно\n" " {ЦІЛЕ} повторити попередній шаблон вказане чиÑло раз\n" " {*} повторити попередній шаблон макÑимальну кількіÑть разів\n" "\n" "Додатковий ЗСУВ Ñ€Ñдків -- це обов'Ñзковий Ñимвол '+' або '-' з попереднім\n" "додатнім цілим чиÑлом.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "Ð¿Ð¾Ð»Ñ Ñ‚Ð° позиції нумеруютьÑÑ Ð· 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "ВикориÑтаннÑ: %s КЛЮЧ... [ФÐЙЛ]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Виводить вибрані чаÑтини Ñ€Ñдків з кожного ФÐЙЛРна Ñтандартний вивід.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=СПИСОК вибрати лише вказані байти\n" " -c, --characters=СПИСОК вибрати лише вказані знаки\n" " -d, --delimiter=РОЗДІЛЮВÐЧ викориÑтовувати РОЗДІЛЮВÐЧ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ\n" " полів заміÑть табулÑції\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=СПИСОК вибрати лише вказані полÑ; також виводити\n" " вÑÑ– Ñ€Ñдки, що не міÑÑ‚Ñть розділювачів,\n" " Ñкщо не вказаний ключ -s\n" " -n (ігноруєтьÑÑ)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement доповнити множину вибраних байтів, знаків " "або полів.\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited не виводити Ñ€Ñдки, що не міÑÑ‚Ñть " "розділювачів\n" " --output-delimiter=РЯДОК викориÑтовувати РЯДОК Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð²\n" " при виводі, типово викориÑтовуєтьÑÑ\n" " розділювач Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "ВикориÑтовуйте один, Ñ– лише один, з ключів -b, -c чи -f. Кожен СПИСОК\n" "ÑкладаєтьÑÑ Ð· одного діапазону, або кількох діапазонів, розділених комами.\n" "Вибрані чаÑтини вхідного файла виводÑтьÑÑ Ñƒ тому порÑдку, у Ñкому вони,\n" "з'ÑвлÑютьÑÑ Ð½Ð° вході, та виводÑтьÑÑ Ñ€Ñ–Ð²Ð½Ð¾ один раз.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Діапазони вказуютьÑÑ Ð½Ð°Ñтупним чином:\n" "\n" " Ð Ð-ний байт, знак або поле; рахуючи від 1\n" " Ð- від Ð-го байту, знаку або Ð¿Ð¾Ð»Ñ Ð´Ð¾ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка\n" " Ð-М від Ð-го до М-го (включно) байту, знаку або полÑ\n" " -М від першого до М-го (включно) байту, знаку або полÑ\n" "\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "некоректний байт, Ñимвол або ÑпиÑок полів" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "неправильний діапазон без кінцевого значеннÑ: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "неприпуÑтимий Ñпадаючий діапазон" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "байтовий зÑув %s надто великий" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "номер Ð¿Ð¾Ð»Ñ %s надто великий" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "можна вказати лише один тип ÑпиÑку" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "розділювач повинен бути одним Ñимволом" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "треба вказати ÑпиÑок байт, Ñимволів або полів" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "розділювач Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних можна вказувати лише при обробці полів" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "заборона виводу Ñ€Ñдків, що не міÑÑ‚Ñть розділювачів,\n" "має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при роботі з полÑми" #: src/cut.c:870 msgid "missing list of fields" msgstr "відÑутній ÑпиÑок полів" #: src/cut.c:872 msgid "missing list of positions" msgstr "відÑутній ÑпиÑок позицій" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [+ФОРМÐТ]\n" " або: %s [-u|--utc|--universal] [ММДДррхх[[СС]РР][.ÑÑ]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Показати поточний Ñ‡Ð°Ñ Ñƒ вказаному ФОРМÐТі або вÑтановити ÑиÑтемну дату.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=РЯДОК показати чаÑ, опиÑаний РЯДКОМ, а не теперішній.\n" " -f, --file=ФÐЙЛ_ДÐТИ подібний до --date Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з Ñ€Ñдків " "ФÐЙЛ_ДÐТИ\n" " -I[СПЕЦЧÐСУ], --iso-8601[=СПЕЦЧÐСУ] вивеÑти дату Ñ– Ñ‡Ð°Ñ Ñƒ форматі ISO " "8601.\n" " СПЕЦЧÐСУ='date' визначає лише дату (типово),\n" " 'hours', 'minutes', 'seconds' Ñ– 'ns' -- дата Ñ–\n" " Ñ‡Ð°Ñ Ð· відповідною точніÑтю.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=ФÐЙЛ показати Ñ‡Ð°Ñ Ð¾Ñтанньої зміни ФÐЙЛу\n" " -R, --rfc-2822 виводити Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до RFC-2822\n" " Приклад: Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339[=СПЕЦ] вивеÑти дату/Ñ‡Ð°Ñ Ñƒ форматі RFC 3339\n" " СПЕЦ='date', 'seconds' або 'ns' Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ\n" " дати та чаÑу з вказаною точніÑтю.\n" " -s, --set=РЯДОК вÑтановити чаÑ, що опиÑуєтьÑÑ Ð Ð¯Ð”ÐšÐžÐœ\n" " -u, --utc, --universal показати або вÑтановити універÑальний\n" " координований чаÑ\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "ФОРМÐТ керує виводом. РозпізнаютьÑÑ Ð¿Ð¾ÑлідовноÑті:\n" "\n" " %% знак %\n" " %a міÑцева Ñкорочена назва Ð´Ð½Ñ Ñ‚Ð¸Ð¶Ð½Ñ (напр., нед)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A міÑцева повна назва Ð´Ð½Ñ Ñ‚Ð¸Ð¶Ð½Ñ (напр., понеділок)\n" " %b міÑцева Ñкорочена назва міÑÑÑ†Ñ (напр., Ñіч)\n" " %B міÑцева повна назва міÑÑÑ†Ñ (напр., Ñічень)\n" " %c міÑцевий Ñ‡Ð°Ñ Ñ‚Ð° дата (напр., Чтв 3 Мар 23:05:25 2005)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C ÑтоліттÑ; Ñк %Y, але без двох оÑтанніх цифр (наприклад 20)\n" " %d день міÑÑÑ†Ñ (наприклад 01)\n" " %D дата; те Ñаме, що Ñ– %m/%d/%y\n" " %e день міÑÑцÑ, доповнений пробілами; те Ñаме, що Ñ– %_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F повна дата; еквівалентно %Y-%m-%d\n" " %g оÑтанні дві цифри року Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚Ð¸Ð¶Ð½Ñ ISO (Ñм. %G)\n" " %G рік Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚Ð¸Ð¶Ð½Ñ ISO (Ñм. %V); звичайно буває кориÑно лише з %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h те Ñаме, що й %b\n" " %H Ñ‡Ð°Ñ (00..23)\n" " %I Ñ‡Ð°Ñ (01..12)\n" " %j номер Ð´Ð½Ñ Ñƒ році (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k Ñ‡Ð°Ñ Ð· доповненнÑм пробілом ( 0..23); те Ñаме, що Ñ– %_H\n" " %l Ñ‡Ð°Ñ Ð· доповненнÑм пробілом ( 1..12); те Ñаме, що Ñ– %_I\n" " %m міÑÑць (01..12)\n" " %M хвилини (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n новий Ñ€Ñдок\n" " %N наноÑекунди (000000000..999999999)\n" " %p міÑцевий еквівалент AM або PM; пропуÑкаєтьÑÑ Ñкщо невідомо\n" " %P Ñк %p, але малими літерами\n" " %r Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до локалі, 12-годинний формат (напр., 11:11:04 PM)\n" " %R години та хвилини відповідно до локалі, 24-годинний формат; аналог %H:" "%M\n" " %s чиÑло Ñекунд, що минули з 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Ñекунди (00..60)\n" " %t табулÑціÑ\n" " %T чаÑ, аналог %H:%M:%S\n" " %u день Ñ‚Ð¸Ð¶Ð½Ñ (1..7); 1 означає понеділок\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U номер Ñ‚Ð¸Ð¶Ð½Ñ Ñƒ році, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- Ð½ÐµÐ´Ñ–Ð»Ñ (00..53)\n" " %V номер Ñ‚Ð¸Ð¶Ð½Ñ Ð¿Ð¾ ISO, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- понеділок (01..52)\n" " %w день Ñ‚Ð¸Ð¶Ð½Ñ (0..6), 0 означає неділю\n" " %W номер Ñ‚Ð¸Ð¶Ð½Ñ Ñƒ році, Ñкщо перший день Ñ‚Ð¸Ð¶Ð½Ñ -- понеділок (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x міÑцеве предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ñ‚Ð¸ (напр., дд/мм/рр)\n" " %X міÑцеве предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу (напр., 23:13:48)\n" " %y оÑтанні дві цифри року (00..99)\n" " %Y рік\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +ггхх чаÑовий поÑÑ (наприклад -0400)\n" " %:z +гг:Ñ…Ñ… чаÑовий поÑÑ (наприклад -04:00)\n" " %::z +гг:Ñ…Ñ…:ÑÑ Ñ‡Ð°Ñовий поÑÑ (наприклад -04:00:00)\n" " %:::z чаÑовий поÑÑ Ð· доÑтатньою кількіÑтю двокрапок (наприклад -04, " "+05:30)\n" " %Z алфавітне ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñового поÑÑу (наприклад EDT)\n" "\n" "Типово date доповнює чиÑлові Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ»Ñми.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "ПіÑÐ»Ñ '%' можуть йти наÑтупні необов'Ñзкові ознаки:\n" "\n" " - (дефіÑ) не доповнювати це поле\n" " _ (підкреÑленнÑ) доповнювати пробілами\n" " 0 (нуль) доповнювати нулÑми\n" " ^ викориÑтовувати верхній регіÑтр, Ñкщо можливо\n" " # викориÑтовувати протилежний регіÑтр, Ñкщо можливо\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "ПіÑÐ»Ñ Ð±ÑƒÐ´ÑŒ-Ñкої з ознак йде необов'Ñзкова ширина Ð¿Ð¾Ð»Ñ Ñƒ виглÑді " "деÑÑткового;\n" "чиÑла потім необов'Ñзковий модифікатор, один з наÑтупних:\n" "E -- Ñкщо можливо, вживати альтернативне предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— локалі\n" "O -- Ñкщо можливо, викориÑтовувати альтернативні чиÑлові Ñимволи локалі.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Приклади:\n" "Перетворити Ñекунди з початку епохи (1970-01-01 UTC) у дату\n" " $ date --date='@2147483647'\n" "\n" "Показати Ñ‡Ð°Ñ Ñƒ Києві СШР(ÑкориÑтайтеÑÑ tzselect(1) Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TZ)\n" " $ TZ='Europe/Kiev' date\n" "\n" "Показати локальний Ñ‡Ð°Ñ Ð´Ð»Ñ 9:00 наÑтупної п'Ñтниці у Києві\n" " $ date --date='TZ=\"Europe/Kiev\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "Ñтандартний ввід" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "неправильна дата %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "задано декілька вихідних форматів" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ дати взаємно виключають друг друга" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "ключі Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу не можуть заÑтоÑовуватиÑÑŒ " "разом" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "аргумент %s не починаєтьÑÑ Ð·Ñ– знаку '+';\n" "При вказуванні дати, кожен аргумент, що не Ñ” ключем, повинен мати\n" "Ñимвольний формат та починатиÑÑŒ зі знаку '+'." #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "не вдалоÑÑ Ð²Ñтановити дату" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "Ñ‡Ð°Ñ %s поза допуÑтимим діапазоном" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [ОПЕРÐÐД]...\n" " або: %s КЛЮЧ\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Копіює файл, перетворює та форматує залежно від операндів.\n" "\n" " bs=ЧИСЛО примуÑово веÑти Ð·Ð°Ð¿Ð¸Ñ Ñ– Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ€Ñ†Ñ–Ñми у ЧИСЛО байтів\n" " cbs=ЧИСЛО перетворювати вказане ЧИСЛО байт за раз\n" " conv=СПИСОК перетворювати файл відповідно до СПИСКУ Ñимволів,\n" " елементи має бути розділено комами\n" " count=ЧИСЛО копіювати лише вказане ЧИСЛО вхідних блоків\n" " ibs=ЧИСЛО читати вказане ЧИСЛО байт за раз (типово 512)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=ФÐЙЛ читати ФÐЙЛ, а не Ñтандартне введеннÑ\n" " iflag=СПИСОК читати відповідно до СПИСКУ Ñимволів,\n" " елементи Ñлід розділÑти комами\n" " obs=ЧИСЛО запиÑувати вказане ЧИСЛО байт за раз (типово 512)\n" " of=ФÐЙЛ запиÑувати у ФÐЙЛ, а не у Ñтандартне виведеннÑ\n" " oflag=СПИСОК запиÑувати відповідно до ÑпиÑку Ñимволів,\n" " елементи Ñлід розділÑти комами\n" " seek=N пропуÑтити з початку виводу N блоків розміром obs\n" " skip=N пропуÑтити з початку вводу N блоків розміром ibs\n" " status=РЕЖИМ РЕЖИМ Ð¿Ñ€Ð¸Ð´ÑƒÑˆÐµÐ½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… до stderr;\n" " «noxfer» — придушити Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÑтатиÑтики передаваннÑ,\n" " «none» — придушити Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких даних\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ñ– БÐЙТів може бути вказано один з множників:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y.\n" "\n" "Кожен елемент СПИСКУ Ð´Ð»Ñ conv може бути:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii з EBCDIC на ASCII\n" " ebcdic з ASCII на EBCDIC\n" " ibm з ASCII на альтернативну EBCDIC\n" " block заповнювати запиÑи, що закінчуютьÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñом Ñ€Ñдка, пробілами\n" " до розміру cbs\n" " unblock замінювати кінцеві пробіли у запиÑах з розміром cbs переноÑом " "Ñ€Ñдка\n" " lcase змінювати регіÑтр з верхнього на нижній\n" " ucase змінювати регіÑтр з нижнього на верхній\n" " sparse Ñпробувати виконати Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть запиÑу до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ " "вхідних\n" " блоків NUL\n" " swab мінÑти міÑцÑми кожну пару вхідних байтів\n" " sync доповнювати кожен вхідний блок нулÑми до розміру ibs; Ñкщо\n" " вживаєтьÑÑ Ñ€Ð°Ð·Ð¾Ð¼ з block або unblock, доповнювати пробілами\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl завершатьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ, Ñкщо файл виводу уже Ñ–Ñнує\n" " nocreat не Ñтворювати файл виводу\n" " notrunc не обрізати файл виводу\n" " noerror продовжувати піÑÐ»Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº читаннÑ\n" " fdatasync фізично запиÑати файл виводу перед завершеннÑм\n" " fsync аналогічно, але запиÑати також метадані\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Символ-ОЗÐÐКРможе бути таким:\n" "\n" " append режим Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ (має ÑÐµÐ½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ; рекомендуєтьÑÑ " "conv=notrunc)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio викориÑтовувати конкурентне введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð´Ð°Ñ‚Ð¸\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct викориÑтовувати прÑмий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory помилка, Ñкщо не Ñ” каталогом\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync викориÑтовувати Ñинхронізований ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync те Ñаме, але також Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð¸Ñ…\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock акумулювати повні блоки вводу (лише iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock викориÑтовувати ввід/вивід без блокуваннÑ\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime не оновлювати Ñ‡Ð°Ñ Ð¾Ñтаннього доÑтупу\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache відкинути кешовані дані\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty не призначати керівний термінал з файла\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow не Ñлідувати за Ñимвольним поÑиланнÑм\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks помилка, Ñкщо знайдено декілька поÑилань\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary викориÑтовувати двійковий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text викориÑтовувати текÑтовий ввід/вивід Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" " count_bytes вважати «count=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ " "iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" " skip_bytes вважати «skip=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ " "iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" " seek_bytes вважати «seek=N» визначеннÑм кількоÑті байтів (лише Ð´Ð»Ñ " "oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Якщо надіÑлати запущеному процеÑу 'dd' Ñигнал %s, він виведе на\n" "Ñтандартний потік помилок ÑтатиÑтику вводу/виводу та продовжить\n" "копіюваннÑ.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 вхідних запиÑів\n" " 18335302+0 вихідних запиÑів\n" " 9387674624 байта (9.4 GB) Ñкопійовано, 34.6279 Ñекунди, 271 Мб/Ñ\n" "\n" "Ключі:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> запиÑів прочитано\n" "%<PRIuMAX>+%<PRIuMAX> запиÑів запиÑано\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> обрізаний запиÑ\n" msgstr[1] "%<PRIuMAX> обрізані запиÑи\n" msgstr[2] "%<PRIuMAX> обрізаних запиÑів\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] " Ñкопійовано %<PRIuMAX> байт (%s)" msgstr[1] " Ñкопійовано %<PRIuMAX> байти (%s)" msgstr[2] " Ñкопійовано %<PRIuMAX> байтів (%s)" #: src/dd.c:720 msgid "Infinity B" msgstr "ÐеÑкінченіÑть" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g Ñ, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ файла %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° виводу %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð¼ÐºÐ½ÑƒÑ‚Ð¸ O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ñƒ %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "операнд %s не розпізнаний" #: src/dd.c:1218 msgid "invalid conversion" msgstr "неприпуÑтиме перетвореннÑ" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "неприпуÑтима ознака входу" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "неприпуÑтимий ознака виводу" #: src/dd.c:1227 msgid "invalid status flag" msgstr "неприпуÑтимий ознака ÑтатуÑу" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "неправильний номер %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "не можна одночаÑно викориÑтовувати будь-Ñкі два з {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "не можна одночаÑно викориÑтовувати block та unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "не можна одночаÑно викориÑтовувати lcase та ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "не можна одночаÑно викориÑтовувати excl та nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "не можна одночаÑно викориÑтовувати direct Ñ– nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "попередженнÑ: обходитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° lseek у Ñдрі Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° (%s)\n" " mt_type=0x%0lx -- Ñм. <sys/mtio.h> Ð´Ð»Ñ ÑпиÑку типів" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: не вдалоÑÑ Ð¿Ñ€Ð¾Ð¿ÑƒÑтити" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: не вдалоÑÑ Ð·Ñунути вказівник файла" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ñуву при читанні файла %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "попередженнÑ: некоректний зÑув файла піÑÐ»Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ читаннÑ" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "не вдалоÑÑ Ð¾Ð±Ñ–Ð¹Ñ‚Ð¸ помилку Ñдра" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð·Ð½Ð°Ðº Ð´Ð»Ñ %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "пам'Ñть вичерпано буфером Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… розміром у %zu байтів (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "пам'Ñть вичерпано буфером Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… розміром у %zu байтів (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на вказану кількіÑть" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до %<PRIdMAX> у файлі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fdatasync Ð´Ð»Ñ %s завершилаÑÑŒ помилкою" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fsync Ð´Ð»Ñ %s завершилаÑÑŒ помилкою" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "зÑув надто великий: не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до величини seek=%<PRIuMAX> (%lu-" "байтних) блоків" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ до %<PRIuMAX> у файлі Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "помилка під Ñ‡Ð°Ñ Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ ÐºÐµÑˆÑƒ Ð´Ð»Ñ %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Ф. ÑиÑтема" #: src/df.c:175 msgid "Type" msgstr "Тип" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "блоків" #: src/df.c:181 msgid "Used" msgstr "Вик" #: src/df.c:184 msgid "Available" msgstr "ДоÑтупно" #: src/df.c:187 msgid "Use%" msgstr "Вик%" #: src/df.c:190 msgid "Inodes" msgstr "І-вузлів" #: src/df.c:193 msgid "IUsed" msgstr "Викор" #: src/df.c:196 msgid "IFree" msgstr "Вільн" #: src/df.c:199 msgid "IUse%" msgstr "Вик%" #: src/df.c:202 msgid "Mounted on" msgstr "змонтований на" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "параметр --output: поле «%s» Ñ” невідомим" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "параметр --output: поле «%s» викориÑтано декілька разів" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Розм" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "ДоÑÑ‚" #: src/df.c:474 msgid "Capacity" msgstr "Ð’Ñього" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%s-%s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Показати інформацію про файлову ÑиÑтему, на Ñкій розташований кожен\n" "з ФÐЙЛІВ, або, типово, про уÑÑ– файлові ÑиÑтеми.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all включати віртуальні файлові ÑиÑтеми\n" " -B, --block-size=РОЗМІР викориÑтовувати блоки вказаного РОЗМІРУ. Приклад:\n" " «-BM» виводить розміри у одиницÑÑ… у 1.048.576 " "байтів.\n" " Формат РОЗМІР опиÑано нижче.\n" "\n" " --total виводити підÑумок\n" " -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді\n" " (наприклад, 1K 234M 2G)\n" " -H, --si те Ñаме, але викориÑтовувати Ñтупені 1000, а не " "1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes вивеÑти інформацію про індекÑні деÑкриптори, а не " "про\n" " викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð²\n" " -k аналог --block-size=1K\n" " -l, --local перерахувати лише локальні файлові ÑиÑтеми\n" " --no-sync не викликати sync перед отриманнÑм інформації про\n" " викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² (типово)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=СПИСОК_ПОЛІВ] викориÑтовувати формат виведеннÑ, визначений " "СПИСКОМ_ПОЛІВ,\n" " або вивеÑти вÑÑ– полÑ, Ñкщо СПИСОК_ПОЛІВ не " "вказано.\n" " -P, --portability виводити у форматі POSIX\n" " --sync викликати sync перед отриманнÑм інформації про\n" " викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð²\n" " -t, --type=ТИП перерахувати лише файлові ÑиÑтеми вказаного ТИПУ\n" " -T, --print-type виводити тип файлової ÑиÑтеми\n" " -x, --exclude-type=ТИП виключати файлові ÑиÑтеми вказаного ТИПУ\n" " -v (ігноруєтьÑÑ)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "СПИСОК_ПОЛІВ — відокремлений комами ÑпиÑок Ñтовпчиків, Ñкі Ñлід включити.\n" "Можливі назви Ñтовпчиків: 'source', 'fstype', 'itotal', 'iused', 'iavail', " "'ipcent',\n" "'size', 'used', 'avail', 'pcent' Ñ– 'target' (див. Ñторінку info).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "параметри %s Ñ– %s не можна викориÑтовувати одночаÑно" #: src/df.c:1335 msgid "warning: " msgstr "попередженнÑ: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" "довга верÑÑ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «--megabytes» вважаєтьÑÑ Ð·Ð°Ñтарілою, Ñкоро Ñ—Ñ— буде " "вилучено" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "файлова ÑиÑтема типа %s Ñ– вибрана, Ñ– виключена" #: src/df.c:1500 msgid "Warning: " msgstr "ПопередженнÑ: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "%помилка при читані змонтованих файлових ÑиÑтем" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "не вказана жодна файлова ÑиÑтема" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Видає команди Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ LS_COLORS.\n" "\n" "Вказати формат виводу:\n" " -b, --sh, --bourne-shell вивеÑти код Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ LS_COLORS у\n" " Bourne shell\n" " -c, --csh, --c-shell вивеÑти код Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ LS_COLORS у C " "shell\n" " -p, --print-database вивеÑти типові параметри\n" " --help показати довідку та вийти\n" " --version вивеÑти інформацію про верÑÑ–ÑŽ та вийти\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Якщо вказаний FILE, то читати його щоб дізнатиÑÑŒ Ñкі кольори Ñким\n" "розширеннÑм призначені. Інакше викориÑтовувати типову базу даних. ДлÑ\n" "докладнішого опиÑу формату FILE запуÑтите dircolors --print-database.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: неправильний Ñ€Ñдок; пропущена друга лекÑема" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu ключове Ñлово %s не розпізнано" #: src/dircolors.c:359 msgid "<internal>" msgstr "<внутрішній>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ внутрішньої бази даних dircolors та ключі Ð´Ð»Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ\n" "ÑинтакÑиÑу оболонки взаємно виключають друг друга" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "Операнди-файли не можна одночаÑно викориÑтовувати з --print-database (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "або змінна Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ SHELL відÑутнÑ, або не вказаний тип інтерпретатору" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ] ÐÐЗВÐ...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Виводить вÑÑ– ÐÐЗВИ, вилучаючи компоненту праворуч від оÑтанньої похилої " "риÑки;\n" "Ñкщо ÐÐЗВРне міÑтить похилої риÑки, виводить «.» (тобто поточний каталог).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero завершувати кожен Ñ€Ñдок нуль-байтом заміÑть розриву Ñ€Ñдка\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Приклади:\n" " %s /usr/bin/ -> «/usr»\n" " %s dir1/str dir2/str -> «dir1», потім «dir2»\n" " %s stdio.h -> «.»\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]...\n" " або: %s [КЛЮЧ]... --files0-from=Ф\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "Сумарне викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¸Ñкового проÑтору кожного ФÐЙЛÐ, з каталогами.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null завершувати кожен Ñ€Ñдок виведених даних 0-байтом " "заміÑть Ñимволу\n" " нового Ñ€Ñдка\n" " -a, --all виводить обÑÑг Ð´Ð»Ñ ÑƒÑÑ–Ñ… файлів, а не лише каталогів\n" " --apparent-size виводить дійÑні розміри, а не зайнÑтий диÑковий\n" " проÑтір; хоча Ñправжній розмір звичайно менший,\n" " іноді він може бути більшим через дірки у файлах,\n" " внутрішньої фрагментації, непрÑмих блоків та Ñ‚.Ñ–.\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=РОЗМІР викориÑтовувати блоки вказаного РОЗМІРУ. Приклад:\n" " «-BM» виводить розміри у одиницÑÑ… у 1.048.576 " "байтів.\n" " Формат РОЗМІР опиÑано нижче.\n" " -b, --bytes еквівалент «--apparent-size --block-size=1»\n" " -c, --total підбивати підÑумок\n" " -D, --dereference-args розіменовувати Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñƒ командному\n" " Ñ€Ñдку\n" " -d, --max-depth=Рвиводити підÑумки Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ (або файла, Ñкщо " "вказано --all),\n" " лише, Ñкщо він перебуває на Ð-му або нижчому рівні " "відноÑно\n" " аргументу командного Ñ€Ñдка; --max-depth=0 — те " "Ñаме, що Ñ– длÑ\n" " --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=Ф вивеÑти звіт про файли, чиї назви (завершені\n" " нулем) перераховані у файлі Ф\n" " Якщо Ф вказано - назви берутьÑÑ Ð·Ñ– Ñтандартного " "вводу\n" " -H еквівалент ключа --dereference-args (-D)\n" " -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді\n" " (наприклад, 1K 234M 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k Ñк --block-size=1K\n" " -L, --dereference розіменувати вÑÑ– Ñимволічні поÑиланнÑ\n" " -l, --count-links прочитати кожне жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñк окремий файл\n" " -m Ñк --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference не Ñлідувати за Ñимвольним поÑиланнÑм (типово)\n" " -S, --separate-dirs не включати розмір каталогів\n" " --si подібне до -h, але з викориÑтаннÑм мір, кратних до " "1000, а не 1024\n" " -s, --summarize виводити лише Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ аргументу\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=РОЗМІР виключити запиÑи, менші за РОЗМІР, Ñкщо додатне,\n" " або запиÑи, більші за РОЗМІР, Ñкщо від’ємне\n" " --time виводити Ñ‡Ð°Ñ Ð¾Ñтанньої зміни будь-Ñкого файла у\n" " каталозі або уÑÑ–Ñ… його підкаталогів\n" " --time=СЛОВО виводити вказаний у СЛОВО чаÑ, а не Ñ‡Ð°Ñ \n" " зміни: atime, access, use, ctime або status\n" " --time-style=СТИЛЬ виводити чаÑ, викориÑтовуючи СТИЛЬ:\n" " full-iso, long-iso, iso, +ФОРМÐТ\n" " ФОРМÐТ інтерпретуєтьÑÑ Ñк у 'date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=ФÐЙЛ виключити файли, назви Ñких відповідають зразку з " "ФÐЙЛа\n" " --exclude=ЗРÐЗОК виключити файли, назви Ñких відповідають ЗРÐЗКУ\n" " -x, --one-file-system пропуÑкати каталоги на різних файлових ÑиÑтемах\n" #: src/du.c:386 msgid "Infinity" msgstr "ÐеÑкінченіÑть" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "обхід точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %s вже здійÑнено" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "помилка fts_read: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "неприпуÑтима макÑимальна глибина %s" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "некоректний аргумент --threshold «-0»" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "не можна одночаÑно підбивати Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð° виводити вÑÑ– елементи" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "попередженнÑ: Ð¿Ñ–Ð´Ð±Ð¸Ñ‚Ñ‚Ñ Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ†Ðµ те ж Ñаме, що й --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "попередженнÑ: Ð¿Ñ–Ð´Ð±Ð¸Ñ‚Ñ‚Ñ Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ð»Ñ–ÐºÑ‚ÑƒÑ” з --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "операнди-файли не можна викориÑтовувати разом з --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: помилка читаннÑ" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "при читанні імен файлів з stdin, не допуÑкаютьÑÑ Ð½Ð°Ð·Ð²Ð¸ файлів %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "неправильна назва файла нульової довжини" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "загалом" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [СКОРОЧЕÐИЙ-ПÐРÐМЕТР]... [РЯДОК]...\n" " або %s ДОВГИЙ-ПÐРÐМЕТР\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Виводить РЯДОК(РЯДКÐ) на Ñтандартний вивід.\n" "\n" " -n не виводити завершальне Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e інтерпретувати керівні поÑлідовноÑті (типово)\n" " -E не інтерпретувати керівні поÑлідовноÑті\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e інтерпретувати керівні поÑлідовноÑті\n" " -E не інтерпретувати керівні поÑлідовноÑті (типово)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Якщо задіÑно -e, розпізнаютьÑÑ Ñ‚Ð°ÐºÑ– поÑлідовноÑті:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ зворотна риÑка\n" " \\a дзвінок (BEL)\n" " \\b backspace\n" " \\c не виводити завершальний Ñимвол нового Ñ€Ñдка\n" " \\e escape\n" " \\f нова Ñторінка\n" " \\n новий Ñ€Ñдок\n" " \\r Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" " \\t горизонтальна табулÑціÑ\n" " \\v вертикальна табулÑціÑ\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN байт з віÑімковим значеннÑм NNN (від 1 до 3 цифр)\n" " \\xHH байт з шіÑтнадцÑтковим значеннÑм HH (від 1 до 2 цифр)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [-] [ÐÐЗВÐ=ЗÐÐЧЕÐÐЯ]... [КОМÐÐДР[ÐРГ]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "Ð’Ñтановлює кожній ÐÐЗВІ відповідне ЗÐÐЧЕÐÐЯ та запуÑкає КОМÐÐДУ у цьому\n" "Ñередовищі.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment почати з порожнім оточеннÑм\n" " -0, --null завершувати кожне з виведених Ñ€Ñдків 0-байтом, " "а не розривом Ñ€Ñдка\n" " -u, --unset=ÐÐЗВРвилучити з Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ ÐÐЗВИ\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "ПроÑто '-' -- Ñинонім Ð´Ð»Ñ '-i'. Якщо не вказана КОМÐÐДÐ, виводить отримане\n" "оточеннÑ.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "не вдалоÑÑ Ð²Ñтановити %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "не можна вказувати --null (-0) з командою" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Перетворює знаки табулÑції у кожному ФÐЙЛІ на пробіли та виводить на\n" "Ñтандартний вивід. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає.\n" "Ñтандартний ввід\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial не перетворювати знаки табулÑції піÑÐ»Ñ Ð·Ð½Ð°ÐºÑ–Ð² " "пробілів\n" " -t, --tabs=ЧИСЛО вÑтановлює ширину табулÑції, типово 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=СПИСОК викориÑтовувати розділений комами ÑпиÑок позицій " "табулÑції\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "розмір табулÑції надто великий %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "розмір табулÑції міÑтить неприпуÑтимий знак (знаки): %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "розмір табулÑції не може дорівнювати нулю" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "номера позицій табулÑції повинні зроÑтати" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "вхідний Ñ€Ñдок надто великий" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s ВИРÐЗ\n" " або: %s КЛЮЧ\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ на Ñтандартний вивід. Ðижче порожніми Ñ€Ñдками\n" "розділені групи за зроÑтаннÑм пріоритету. Можливі ВИРÐЗИ:\n" "\n" " ÐРГ1 | ÐРГ2 ÐРГ1, Ñкщо він відмінний від нулÑ, інакше ÐРГ2\n" "\n" " ÐРГ1 & ÐРГ2 ÐРГ1, Ñкщо обидва відмінні від нулÑ, інакше 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ÐРГ1 < ÐРГ2 ÐРГ1 менше ÐРГ2\n" " ÐРГ1 <= ÐРГ2 ÐРГ1 менше або дорівнює ÐРГ2\n" " ÐРГ1 = ÐРГ2 ÐРГ1 дорівнює ÐРГ2\n" " ÐРГ1 != ÐРГ2 ÐРГ1 не дорівнює ÐРГ2\n" " ÐРГ1 >= ÐРГ2 ÐРГ1 більше або дорівнює ÐРГ2\n" " ÐРГ1 > ÐРГ2 ÐРГ1 більше ÐРГ2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ÐРГ1 + ÐРГ2 арифметична Ñума ÐРГ1 та ÐРГ2\n" " ÐРГ1 - ÐРГ2 арифметична Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ ÐРГ1 та ÐРГ2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ÐРГ1 * ÐРГ2 арифметичний добуток ÐРГ1 та ÐРГ2\n" " ÐРГ1 / ÐРГ2 арифметична чаÑтка від ÐРГ1 та ÐРГ2\n" " ÐРГ1 % AРГ2 арифметичний залишок від Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐРГ1 на ÐРГ2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " РЯДОК : REGEXP перевірка відповідноÑті REGEXP початку або кінцю РЯДКÐ\n" "\n" " match РЯДОК REGEXP те Ñаме, що та РЯДОК : REGEXP\n" " substr РЯДОК ПОЗ ДОВЖИÐРчаÑтина РЯДКÐ, Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ð²Ñ–Ð´Ñ€Ð°Ñ…Ð¾Ð²ÑƒÑ”Ñ‚ÑŒÑÑ Ð²Ñ–Ð´ 1\n" " index РЯДОК СИМВОЛИ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ñƒ РЯДКУ, де першим знайдений будь-Ñкий\n" " з СИМВОЛІВ, інакше 0\n" " length РЯДОК довжина РЯДКÐ\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + ЛЕКСЕМРÑприймати ЛЕКСЕМУ Ñк Ñ€Ñдок, навіть Ñкщо це\n" " ключове Ñлово, Ñк 'match', або оператор, Ñк " "'/'\n" "\n" " ( ВИРÐЗ ) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Пам'Ñтайте, що при викориÑтанні у оболонці деÑкі оператори повинні бути\n" "взÑті у дужки. Якщо обидва аргументу ÐРГ Ñ” чиÑлами, то виконуєтьÑÑ\n" "арифметичний порівнÑннÑ, інакше вони порівнюютьÑÑ Ñк Ñ€Ñдки. При " "відповідноÑті\n" "шаблону повертаєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ Ñ€Ñдок Ñ€Ñдок між \\( та \\) або порожній " "Ñ€Ñдок;\n" "Ñкщо \\( та \\) не викориÑтовуютьÑÑ, то повертаєтьÑÑ ÐºÑ–Ð»ÑŒÐºÑ–Ñть відповідних " "Ñимволів.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð¾Ñ€Ñ–Ð²Ð½ÑŽÑ” 0, Ñкщо ВИРÐЗ не порожній та не 0; 1, Ñкщо\n" "ВИРÐЗ порожній або 0; 2, Ñкщо ВИРÐЗ ÑинтакÑично неправильний; та 3,\n" "Ñкщо виникла помилка.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "ÑинтакÑична помилка" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "помилка у механізмі відповідноÑті регулÑрних виразів" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "не цілочиÑловий аргумент" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Щоб обійти цю проблему, вÑтановіть LC_ALL='C'" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "Ñ€Ñдки, що порівнювалиÑÑŒ %s та %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "Ðе вдалоÑÑ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ проÑтоту за теÑтом Люка. Цього не мало ÑтатиÑÑ." #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s не Ñ” правильним цілим додатнім чиÑлом" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s надто велике" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [ЧИСЛО]...\n" " або: %s КЛЮЧ\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Виводить проÑті множники Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ вказаного цілого ЧИСЛÐ. Якщо\n" "чиÑла не вказано у командному Ñ€Ñдку, читати дані зі Ñтандартного джерела.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "поточний каталог недоÑтупний" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ каталог на %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ каталогу (наразі %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "ВикориÑтаннÑ: %s [-ШИРИÐÐ] [ПÐРÐМЕТР]... [ФÐЙЛ]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Переформатує кожен абзац у ФÐЙЛІ(ах) та виводить на Ñтандартне виведеннÑ.\n" "Параметр -ШИРИÐÐ Ñ” Ñкороченою формою --width=ЧИСЛО.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin зберігати відÑтупи двох перших Ñ€Ñдків\n" " -p, --prefix=РЯДОК форматувати лише Ñ€Ñдки, що починаютьÑÑ Ð· РЯДОК,\n" " зберігаючи при цьому Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ Ñ€Ñдків\n" " -s, --split-only розбивати довгі Ñ€Ñдки, але не заповнювати\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph відÑтуп першого Ñ€Ñдка, відмінний від другого\n" " -u, --uniform-spacing один пробіл піÑÐ»Ñ Ñлова, два піÑÐ»Ñ Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ\n" " -w, --width=ЧИСЛО макÑимальна довжина Ñ€Ñдка (типово 75 позицій)\n" " -g, --goal=ДОВЖИÐРоÑтаточна довжина (типово 93% довжини)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "неправильний ключ -- %c; -ШИРИÐРрозпізнаєтьÑÑ, лише Ñкщо це перший\n" "аргумент, у іншому випадку вказуйте -w N" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "неприпуÑтима довжина: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Розбиває Ñ€Ñдки у ФÐЙЛІ(ах) (типово читає Ñтандартний ввід) та виводить\n" "на Ñтандартний вивід.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes прочитати байти, а не Ñтовпчики\n" " -s, --spaces розбивати лише на пробілах\n" " -w, --width=ЧИСЛО викориÑтовувати вказане ЧИСЛО Ñтовпчиків, а не 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "неправильне чиÑло Ñтовпчиків: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "ВикориÑтаннÑ: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Ліміти платформи виводу обмежені у форматі придатному Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñƒ " "ÑценаріÑÑ….\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "помилка при отриманні груп кориÑтувачів %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ групи Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ назву групи Ð´Ð»Ñ ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "ВивеÑти дані щодо учаÑті у групах Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ІМЕÐІ КОРИСТУВÐЧÐ, Ñкщо імені " "не\n" "вказано, буде показано дані Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу (може бути іншим, Ñкщо " "було\n" "змінено базу даних груп).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "не вдалоÑÑ Ð²Ñтановити Ñправжній UID" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ефективний GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "не вдалоÑÑ Ð²Ñтановити Ñправжній GID" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: такого кориÑтувача не Ñ–Ñнує" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Виводити перші 10 Ñ€Ñдків кожного ФÐЙЛРна Ñтандартний вивід.\n" "Якщо задано декілька ФÐЙЛІВ, Ñпочатку виводити заголовок з назвою файла.\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K вивеÑти перші K байтів кожного файла;\n" " Ñкщо перед K Ñтоїть «-», вивеÑти вÑÑ–, крім K\n" " оÑтанніх байтів кожного файла\n" " -n, --lines=[-]K вивеÑти перші K Ñ€Ñдків кожного файла, а не 10;\n" " Ñкщо перед K Ñтоїть «-», вивеÑти вÑÑ–, крім K\n" " оÑтанніх Ñ€Ñдків кожного файла\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent не виводити заголовки з назвами файлів\n" " -v, --verbose завжди виводити заголовки з назвами файлів\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ð±Ð»Ð¾ÐºÑ–Ð² та байт може ÑтоÑть один з множників:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: файл надто ÑкоротивÑÑ" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: чиÑло байт надто великий" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "ÑŽ%s: не вдалоÑÑ Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ вказівник файла на початкову позицію" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ до позиції %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: не вдалоÑÑ Ñкинути вказівник на файл" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник файла Ð´Ð»Ñ %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s наÑтільки великий, що його неможливо машинно предÑтавити" #: src/head.c:886 msgid "number of lines" msgstr "чиÑло Ñ€Ñдків" #: src/head.c:886 msgid "number of bytes" msgstr "чиÑло байт" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "неправильна кількіÑть Ñ€Ñдків" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "неправильна кількіÑть байт" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "неправильний завершальний ключ -- '%c'" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s [ПÐРÐМЕТР]\n" "ВивеÑти чиÑловий ідентифікатор (шіÑтнадцÑткове) Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ вузла.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s [ÐÐЗВÐ]\n" " або: %s КЛЮЧ\n" "Виводить або вÑтановлює назву цієї ÑиÑтеми.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "не вдалоÑÑ Ð²Ñтановити назву у %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "не вдалоÑÑ Ð²Ñтановити оÑновну назву -- Ñ†Ñ ÑиÑтема не має такої функції" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ назву машини" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Виводить відомоÑті про ім'Ñ Ñ‚Ð° групу КОРИСТУВÐЧРабо (Ñкщо не\n" "вказано КОРИСТУВÐЧÐ) Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кориÑтувача.\n" "\n" " -a ігнорувати, визначено лише Ð´Ð»Ñ ÑуміÑноÑті\n" " -Z, --context виводити лише контекÑÑ‚ безпеки поточного кориÑтувача\n" " -g, --group виводити лише ID групи\n" " -G, --groups виводити лише додаткові групи\n" " -n, --name виводити назва заміÑть номера, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² -ugG\n" " -r, --real виводити дійÑні, а не ефективні ID, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² -ugG\n" " -u, --user виводити лише ID кориÑтувача\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Якщо КЛЮЧІ не вказані, виводить Ñтандартний набір кориÑних відомоÑтей.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) працює, Ñкщо Ñдро має підтримку SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "не можна виводити контекÑÑ‚ безпеки, коли вказано кориÑтувача" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "не можна виводити \"only\" Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆ ніж одного варіанту" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "не можна виводити лише назви або дійÑні ID у типовому форматі" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "не можна отримати контекÑÑ‚ процеÑу" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ефективний UID" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ ID %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " групи=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " контекÑÑ‚=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "попередженнÑ: %s: не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ контекÑÑ‚ у %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ влаÑника %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "не вдалоÑÑ Ð²Ñтановити мітки чаÑу Ð´Ð»Ñ %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ÑиÑтемний виклик fork завершивÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "не вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ strip завершивÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "неправильний кориÑтувач %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ПРИЗÐÐЧЕÐÐЯ\n" " або %s [КЛЮЧ]... ДЖЕРЕЛО... КÐТÐЛОГ\n" " або %s [КЛЮЧ]... -t КÐТÐЛОГ ДЖЕРЕЛО...\n" " або %s [КЛЮЧ]... -d КÐТÐЛОГ...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÑ” файли (чаÑто щойно зібрані) до " "вказаного\n" "вами міÑÑ†Ñ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ. Якщо вам потрібно отримати Ñ– вÑтановити готовий до\n" "викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½Ð¾Ðº у ÑиÑтемі GNU/Linux, вам краще ÑкориÑтатиÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ\n" "Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ°Ð¼Ð¸, зокрема yum(1) або apt-get(1).\n" "\n" "У перших трьох формах копіює ДЖЕРЕЛО до ПРИЗÐÐЧЕÐÐЯ або декілька\n" "ДЖЕРЕЛ до вже Ñтвореного КÐТÐЛОГу, вÑтановлюючи режими доÑтупу та\n" "влаÑника/групу. Ð’ четвертій формі Ñтворює вÑÑ– компоненти вказаних\n" "КÐТÐЛОГІВ.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] Ñтворити резервну копію перед вилученнÑм\n" " -b те Ñаме, що Ñ– --backup, але без аргументу\n" " -c (ігноруєтьÑÑ)\n" " -C, --compare порівнÑти кожну пару файлів джерела Ñ– Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–,\n" " за певних умов, не змінювати призначеннÑ\n" " -d, --directory вважати вÑÑ– аргументи каталогами; Ñтворювати вÑÑ–\n" " компоненти вказаних каталогів\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D Ñтворювати вÑÑ– початкові Ñкладові ЦІЛІ крім\n" " оÑтанньої, потім копіювати ДЖЕРЕЛО у ЦІЛЬ\n" " -g, --group=ГРУПРвÑтановлювати ГРУПУ, а не групу поточного процеÑу\n" " -m, --mode=РЕЖИМ вÑтановлювати РЕЖИМ (Ñк chmod), а не rwxr-xr-x\n" " -o, --owner=ВЛÐСÐИК вÑтановлювати ВЛÐСÐИКР(лише Ð´Ð»Ñ ÑуперкориÑтувача)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps вÑтановлювати цільовим файлам чаÑ\n" " доÑтупу/зміни Ñк у Ñ—Ñ… файлів-ДЖЕРЕЛ\n" " -s, --strip вилучати таблиці Ñимволів\n" " --strip-program=ПРОГРÐМРпрограма, що викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ\n" " -S, --suffix=СУФІКС викориÑтовувати Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій заданий СУФІКС\n" " -t, --target-directory=КÐТÐЛОГ копіювати вÑÑ– аргументи-ДЖЕРЕЛРу КÐТÐЛОГ\n" " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" " -v, --verbose виводити назву кожного Ñтворюваного каталогу\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context зберегти контекÑÑ‚ безпеки SELinux\n" " -Z, --context=CONTEXT вÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² та " "каталогів\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "ПопередженнÑ: --preserve-context ігноруєтьÑÑ; Ñдро не підтримує SELinux." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "ПопередженнÑ: --context (-Z) ігноруєтьÑÑ; Ñдро не підтримує SELinux." #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "при вÑтановленні каталогу не можна вживати ключ strip" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "при вÑтановленні каталогу не можна вказувати цільовий каталог" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "не можна примуÑово вказувати контекÑÑ‚ та %s зберігати його " #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "неправильний режим %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "ПОПЕРЕДЖЕÐÐЯ: ігноруємо параметр --strip-program, оÑкільки параметр -s не " "вказано" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "параметри --compare (-C) Ñ– --preserve-timestamps не можна викориÑтовувати " "одночаÑно" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "параметри --compare (-C) Ñ– --strip не можна викориÑтовувати одночаÑно" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "параметр --compare (-C) пропуÑкаєтьÑÑ, Ñкщо ви вкажете режим з заборонними " "бітами" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Ð”Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— пари вхідних Ñ€Ñдків з однаковими полÑми виводить Ñ€Ñдок\n" "до Ñтандартного виведеннÑ. Типово Ñпільне поле вважаєтьÑÑ Ð¿ÐµÑ€ÑˆÐ¸Ð¼, полÑ\n" "розділюютьÑÑ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ пробілів. Якщо один з ФÐЙЛІВ вказано Ñк -, читає\n" "Ñтандартний потік введеннÑ.\n" "\n" " -a ÐОМЕР виводити Ñ€Ñдки що не мають пари з файла з вказаним\n" " номером (1 або 2)\n" " -e РЯДОК замінювати при виводі порожні Ñ€Ñдки вказаним РЯДКОМ\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ігнорувати регіÑтр літер при порівнÑнні полів\n" " -j ПОЛЕ еквівалентно '-1 ПОЛЕ -2 ПОЛЕ'\n" " -o ФОРМÐТ виводити відповідно до ФОРМÐТУ\n" " -t ЗÐÐК викориÑтовувати ЗÐÐК Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² вводу та виводу\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v ÐОМЕР Ñк -а ÐОМЕР, але не виводити наÑвні пари Ñ€Ñдків\n" " -1 ПОЛЕ вважати Ñпільним вказане ПОЛЕ файла 1\n" " -2 ПОЛЕ вважати Ñпільним вказане ПОЛЕ файла 2\n" " --check-order перевірити, чи впорÑдковано належним чином введеннÑ,\n" " навіть Ñкщо Ð´Ð»Ñ Ð²ÑÑ–Ñ… вхідних Ñ€Ñдків Ñ” пари\n" " --nocheck-order не перевірÑти, чи впорÑдковано вхідні дані\n" " --header вважати перший Ñ€Ñдок кожного файла заголовками полів,\n" " вивеÑти Ñ—Ñ… без Ñпроб знайти Ð´Ð»Ñ Ð½Ð¸Ñ… пари\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Якщо не вказано -t ЗÐÐК, початкові знаки пробілів розділÑють Ð¿Ð¾Ð»Ñ Ñ‚Ð°\n" "ігноруютьÑÑ, у іншому випадку Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÑŽÑŽÑ‚ÑŒÑÑ Ð—ÐÐКОМ. ПОЛЕ — це\n" "номер полÑ, що відраховуєтьÑÑ Ð²Ñ–Ð´ 1. ФОРМÐТ — це один або декілька\n" "розділених комами або знаками пробілів опиÑів формату:\n" "«ÐОМЕР_ФÐЙЛÐ.ПОЛЕ» або «0». Типово ФОРМÐТ виводить Ñпільне поле,\n" "інші Ð¿Ð¾Ð»Ñ Ð· ФÐЙЛÐ1 та інші Ð¿Ð¾Ð»Ñ Ð· ФÐЙЛÐ2, розділені ЗÐÐКом.\n" "Якщо ФОРМÐТом Ñ” ключове Ñлово «auto», перший Ñ€Ñдок кожного з файлів\n" "визначає кількіÑть полів Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ€Ñдка.\n" "\n" "Важливе: ФÐЙЛ1 та ФÐЙЛ2 має бути впорÑдковано за Ñпільними полÑми.\n" "Ðаприклад, ÑкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ « sort -k 1b,1 » Ñкщо «join» вказано без\n" "параметрів, або « join -t '' », Ñкщо «sort» вказано без параметрів.\n" "Зауважте, що під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ викориÑтано правила, вказані за\n" "допомогою змінної LC_COLLATE. Якщо вхідні дані не впорÑдковано Ñ–\n" "ÑкіÑÑŒ з Ñ€Ñдків не може бути об'єднано, буде показано повідомленнÑ\n" "з попередженнÑм про це.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX>: не впорÑдковано: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "неправильний номер полÑ: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ð»Ñ: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "неправильний номер файла у Ñпецифікації полÑ: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "Ð¿Ð¾Ð»Ñ Ð¾Ð±'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ %lu, %lu неÑуміÑні" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "конфліктуючі Ñ€Ñдки заміни Ð´Ð»Ñ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ полÑ" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "багатознакова табулÑÑ†Ñ–Ñ %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "неÑуміÑна табулÑціÑ" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "заміÑть обох файлів не можна вказувати одночаÑно Ñтандартний ввід" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "ВикориÑтаннÑ: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID...\n" " або: %s -l [СИГÐÐЛ]...\n" " або: %s -t [СИГÐÐЛ]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "ÐадÑилає процеÑам Ñигнали або виводить Ñигнали.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=СИГÐÐЛ, -СИГÐÐЛ\n" " вказує назву або номер Ñигналу, що надÑилаєтьÑÑ\n" " -l, --list виводить назви Ñигналів або переводить назви у номери та " "назад\n" " -t, --table виводить таблицю з інформацією про Ñигнали\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "СИГÐÐЛ може бути назвою Ñигналу, Ñк HUP, або номером Ñигналу, Ñк\n" "'1', або кодом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, перерваного Ñигналом.\n" "PID Ñ” цілим чиÑлом; Ñкщо воно Ñ” від'ємним, то означає групу\n" "процеÑів.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: неправильний ідентифікатор процеÑу" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "неправильний ключ -- '%c'" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: задано декілька Ñигналів" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "задано декілька ключів -l або -t" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "не можна об'єднувати Ñигнал з -l або -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "не вказаний ідентифікатор процеÑу" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити буфер stdio у %<PRIuMAX> байтів\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "некоректний режим буферизації %s Ð´Ð»Ñ %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим буферизації %s у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s ФÐЙЛ1 ФÐЙЛ2\n" " або: %s КЛЮЧ\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Викликає функцію link Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð· назвою ФÐЙЛ2 на Ñ–Ñнуючий " "ФÐЙЛ1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "не вдалоÑÑ Ñтворити поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s на %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: не допуÑкаєтьÑÑ Ñтворювати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° каталоги" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñати каталог" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: замінити %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "не вдалоÑÑ Ñтворити Ñимволічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "не вдалоÑÑ Ñтворити Ñимволічне поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "не вдалоÑÑ Ñтворити жорÑтке поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [-T] ПРИЗÐÐЧЕÐÐЯ ПОСИЛÐÐÐЯ (1-а форма)\n" " або %s [КЛЮЧ]... ПРИЗÐÐЧЕÐÐЯ (2-а форма)\n" " або %s [КЛЮЧ]... ПРИЗÐÐЧЕÐÐЯ... КÐТÐЛОГ (3-Ñ Ñ„Ð¾Ñ€Ð¼Ð°)\n" " або %s [КЛЮЧ]... -t КÐТÐЛОГ ПРИЗÐÐЧЕÐÐЯ... (4-а форма)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "У першій формі ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ПРИЗÐÐЧЕÐÐЯ з назвою ПОСИЛÐÐÐЯ.\n" "У другий формі ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ПРИЗÐÐЧЕÐÐЯ у поточному каталозі.\n" "У третій та четвертій формах ÑтворюєтьÑÑ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° кожне ПРИЗÐÐЧЕÐÐЯ у\n" "вказаному КÐТÐЛОЗІ. Типово ÑтворюютьÑÑ Ð¶Ð¾Ñ€Ñткі поÑиланнÑ, а з ключем --" "symbolic\n" "— Ñимволічні. Типово, кожне Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (назва нового поÑиланнÑ) не повинно\n" "Ñ–Ñнувати. У разі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¶Ð¾Ñ€Ñтких поÑилань кожне ПРИЗÐÐЧЕÐÐЯ має " "Ñ–Ñнувати.\n" "Символічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ міÑтити довільний текÑÑ‚. Під Ñ‡Ð°Ñ Ð¿Ñ–Ð·Ð½Ñ–ÑˆÐ¾Ð³Ð¾\n" "Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐŸÐ Ð˜Ð—ÐÐЧЕÐÐЯ відноÑне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ‚Ð¸Ð¼ÐµÑ‚ÑŒÑÑ Ð½Ð° оÑнові\n" "батьківÑького каталогу поÑиланнÑ.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=КОÐТРОЛЬ] робити резервну копію кожного цільового файла\n" " -b те ж, що й --backup, але не приймає аргумент\n" " -d, -F, --directory дозволÑÑ” ÑуперкориÑтувачу Ñтворювати жорÑткі\n" " поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° каталоги (примітка: ймовірно, це\n" " не вийде через ÑиÑтемні обмеженнÑ, навіть длÑ\n" " ÑуперкориÑтувача)\n" " -f, --force вилучати вже Ñтворені цільові файли\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive запитувати, чи Ñлід вилучати призначеннÑ\n" " -L, --logical розіменувати призначеннÑ, Ñкі Ñ” Ñимволічними\n" " поÑиланнÑми\n" " -n, --no-dereference вважати поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¸Ð¼ файлом, Ñкщо воно\n" " Ñ” Ñимволічним поÑиланнÑм на каталог\n" " -P, --physical Ñтворювати жорÑткі поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿Ð¾Ñередньо на\n" " Ñимволічні поÑиланнÑ\n" " -r, --relative Ñтворювати Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñно " "розташуваннÑ\n" " поÑиланнÑ\n" " -s, --symbolic Ñтворювати Ñимволічні поÑиланнÑ, заміÑть " "жорÑтких\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=СУФІКС вказує СУФІКС Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій\n" " -t, --target-directory=КÐТÐЛОГ вказує КÐТÐЛОГ, у Ñкому Ñтворювати\n" " поÑиланнÑ\n" " -T, --no-target-directory завжди вважати ÐÐЗВУ_ПОСИЛÐÐÐЯ звичайним " "файлом\n" " -v, --verbose виводити назву кожного файла перед ÑтвореннÑм " "поÑиланнÑ\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "ВикориÑÑ‚Ð°Ð½Ð½Ñ -s призводить до Ñ–Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ -L Ñ– -P. Інакше, оÑтанній " "параметр\n" "визначає роботу програми, Ñкщо призначеннÑм Ñ” Ñимволічне поÑиланнÑ.\n" "Типове значеннÑ: %s.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "" "не можна одночаÑно викориÑтовувати --target-directory Ñ– --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "не можна виконувати --relative без --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: невідомо" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Виводить ім'Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кориÑтувача.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "реєÑтраційне ім'Ñ Ð²Ñ–Ð´Ñутнє" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "проігноровано неправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "проігноровано неправильну довжину змінної Ñередовища COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "проігноровано неправильний розмір табулÑції змінної Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "неправильна довжина Ñ€Ñдка: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "неправильний розмір табулÑції: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "неправильний формат чаÑу %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Коректні аргументи:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +ФОРМÐТ (наприклад +%H:%M) Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ у Ñтилі 'date'\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "помилка під Ñ‡Ð°Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— Ñ€Ñдків міÑÑців" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "не розпізнаний префікÑ: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "незрозуміле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ приÑтрій та inode Ð´Ð»Ñ %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: пропущено вже перелічений каталогу" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "не вдалоÑÑ Ð¿Ð¾Ñ€Ñ–Ð²Ð½Ñти назви файлів %s та %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Виводить дані щодо ФÐЙЛів (типово у поточному каталозі).\n" "ВпорÑдковує у алфавітному порÑдку, Ñкщо не вказано ні --sort, ні один з\n" "параметрів -cftuSUX.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all не ігнорувати запиÑи, що починаютьÑÑ Ð· .\n" " -A, --almost-all не виводити неÑвні . Ñ– ..\n" " --author разом з -l, виводити автора кожного файла\n" " -b, --escape виводити віÑімкові керівні поÑлідовноÑті\n" " заміÑть неграфічних знаків\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=РОЗМІР викориÑтовувати блоки розміром РОЗМІР.\n" "\n" " Ðаприклад, «--block-size=M» виводить розміри " "у\n" " одиницÑÑ… 1.048.576 байтів. Формат РОЗМІРу " "наведено\n" " нижче.\n" " -B, --ignore-backups не виводити файли, що закінчуютьÑÑ Ð½Ð° ~\n" " -c з -lt: Ñортувати за чаÑом зміни; з -l:\n" " виводити Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ та впорÑдкувати за назвою,\n" " у іншому випадку впорÑдкувати за чаÑом зміни,\n" " найновіші — перші\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C виводити ÑпиÑок у декілька колонок\n" " --color[=КОЛИ] вказує, чи позначати типи файлів кольором.\n" " КОЛИ може бути «never» (не позначати),\n" " «always» (виділÑти) або «auto» (залежить від\n" " термінала)\n" " -d, --directory виводити назви каталогів, а не Ñ—Ñ… зміÑÑ‚, а\n" " також не Ñлідувати за Ñимволічним поÑиланнÑм\n" " -D, --dired Ñтворити виведені дані у режимі Emacs dired\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f не Ñортувати, вмикає -aU, вимикає -lst\n" " -F, --classify додавати до назви індикатор (один з */=>@|)\n" " --file-type аналогічно, але не додавати '*'\n" " --format=СЛОВО across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time виводити повну дату та чаÑ\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g Ñк Ñ– -l, але не виводити влаÑника\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " показувати каталоги перед файлами.\n" " розширюєтьÑÑ Ð·Ð° допомогою параметра --sort,\n" " але викориÑÑ‚Ð°Ð½Ð½Ñ --sort=none (-U) вимикає\n" " групуваннÑ\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group у довгому ÑпиÑку, не виводити назви груп\n" " -h, --human-readable виводити розміри у зручному Ð´Ð»Ñ Ð»ÑŽÐ´Ð¸Ð½Ð¸ виглÑді\n" " (наприклад, 1K 234M 2G)\n" " -H, --si те Ñаме, але виводити Ñтупені 1000, а не 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " Ñлідувати за Ñимвольними поÑиланнÑми у " "командному\n" " Ñ€Ñдку\n" " --dereference-command-line-symlink-to-dir\n" " Ñлідувати за уÑіма Ñимвольними поÑиланнÑми у\n" " командному Ñ€Ñдку, Ñкі вказують на каталог\n" " --hide=ШÐБЛОРне виводити файли, що відповідають ШÐБЛОÐУ\n" " оболонки (ÑкаÑовуєтьÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -a або -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=СТИЛЬ додавати до назв елементів індикатор з\n" " вказаним СТИЛЕМ: none (типово), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode з -l, виводити номер i-вузла кожного файла\n" " -I, --ignore=ШÐБЛОРне виводити файли, що відповідають ШÐБЛОÐУ\n" " -k, --kibibytes викориÑтовувати 1024-байтові блоки\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l викориÑтовувати широкий формат\n" " -L, --dereference показувати інформацію про Ñимвольні поÑиланнÑ,\n" " виводити інформацію про файл, на Ñкий\n" " поÑилаєтьÑÑ Ð¿Ð¾ÑиланнÑ\n" " -m виводити ÑпиÑок на вÑÑŽ ширину через кому\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid Ñк -l, але виводити чиÑлові UID та GID\n" " -N, --literal виводити назви Ñк Ñ” (не оброблÑти оÑобливим\n" " чином, наприклад, керівні знаки)\n" " -o Ñк -l, але не виводити інформацію про групу\n" " -p, --indicator-style=slash додавати індикатор / до каталогів\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars виводити ? заміÑть не графічних Ñимволів\n" " --show-control-chars виводити недруковані Ñимволи (типово\n" " Ñкщо програма не 'ls' та вивід йде не на\n" " термінал).\n" " -Q, --quote-name взÑти назву файла у дужки\n" " --quoting-style=СЛОВО викориÑтовувати вид Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð´ÑƒÐ¶ÐºÐ°Ð¼Ð¸ СЛОВО:\n" " literal, shell, shell-always, c, escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse зворотний порÑдок ÑортуваннÑ\n" " -R, --recursive рекурÑивно виводити каталоги\n" " -s, --size виводити розмір кожного файла, у блоках\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S Ñортувати за розміром файла\n" " --sort=СЛОВО extension -X, none -U, size -S, time -t,\n" " version -v, status -c, time -t, atime -u,\n" " access -u, use -u\n" " --time=СЛОВО з -l, виводити заміÑть чаÑу зміни чаÑ,\n" " вказаний СЛОВОМ: atime, access, use, ctime або\n" " status; Ñкщо --sort=time, викориÑтовувати\n" " вказаний Ñ‡Ð°Ñ Ñк ключ ÑортуваннÑ\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=СТИЛЬ з -l, виводити Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовуючи СТИЛЬ:\n" " full-iso, long-iso, iso, locale, +ФОРМÐТ.\n" " ФОРМÐТ інтерпретуєтьÑÑ Ñк у 'date'; Ñкщо\n" " ФОРМÐТ - це ФОРМÐТ1<переведеннÑ-Ñ€Ñдка>ФОРМÐТ2,\n" " ФОРМÐТ1 заÑтоÑовуєтьÑÑ Ð´Ð¾ Ñтарих файлів, а\n" " ФОРМÐТ2 до нових; Ñкщо до СТИЛЮ доданий " "префікÑ\n" " 'posix-', то він діє лише не у POSIX локалі\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t впорÑдковувати за чаÑом зміни, найновіші " "Ñпочатку\n" " -T, --tabsize=ЧИСЛО крок табулÑції дорівнює ЧИСЛУ заміÑть 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u з -lt: Ñортувати та виводити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу\n" " з -l: виводити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу та впорÑдкувати\n" " за назвою\n" " інакше: впорÑдкувати за чаÑом доÑтупу\n" " -U не впорÑдковувати; виводити відповідно до\n" " фізичного розташуваннÑ\n" " -v впорÑдкувати за номерами (верÑією) у " "текÑтовому\n" " форматі\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=ЧИСЛО задає ширину екрана заміÑть поточного значеннÑ\n" " -x вивід ÑпиÑку Ñ€Ñдками, а не Ñтовпчиками\n" " -X Ñортувати за розширеннÑм у алфавітному порÑдку\n" " -Z, --context виводити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ " "файла\n" " -1 виводити по одному файлу у Ñ€Ñдку\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "ВикориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð² файлів вимкнено типово Ñ– за\n" "допомогою --color=never. Якщо визначено --color=auto, ls видаватиме\n" "коди кольорів, лише Ñкщо Ñтандартне Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²'Ñзано з терміналом.\n" "Змінити параметри можна за допомогою змінної Ñередовища LS_COLORS.\n" "Ð”Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— змінної ÑкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ dircolors.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Коди виходу:\n" " 0 вÑе добре,\n" " 1 незначні проблеми (наприклад, не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до " "підкаталогу),\n" " 2 значні проблеми (наприклад, не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до аргументу " "командного Ñ€Ñдка).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] [ФÐЙЛ]...\n" "Виводить або перевірÑÑ” контрольні Ñуми %s (%d-бітові).\n" "Якщо ФÐЙЛ не вказано або вказано Ñк «-», читає Ñтандартне джерело даних.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary читати у двійковому режимі (типово, Ñкщо\n" " читаєтьÑÑ Ð½Ðµ термінальне введеннÑ)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary читати у двійковому режимі\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check читати Ñуми %s з ФÐЙЛІВ та порівнÑти Ñ—Ñ…\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag Ñтворити контрольну Ñуму у форматі BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text читати у текÑтовому режимі (типово, Ñкщо\n" " читаєтьÑÑ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¸Ð¹ ввід)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text читати у текÑтовому режимі (типово)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Три наведених нижче параметра викориÑтовуютьÑÑ Ð»Ð¸ÑˆÐµ при перевірці " "контрольних Ñум:\n" " --quiet не виводити Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ уÑпішно " "перевіреного\n" " файла\n" " --status не виконувати вивід, код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ”\n" " уÑпіх перевірки\n" " -w, --warn попереджувати про неправильно Ñформовані Ñ€Ñдки у\n" " ÑпиÑку контрольних Ñум\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict з --check вийти з ненульовим кодом Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ-Ñкого " "некоректного\n" " джерела вхідних даних\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум опиÑано у %s. Вхідними даними при\n" "перевірці мають бути отримані раніше дані виводу цієї програми.\n" "Типово виводить Ñ€Ñдок з контрольною Ñумою, Ñимвол, що вказує на\n" "тип файла («*» Ð´Ð»Ñ Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ñ…, « » Ð´Ð»Ñ Ñ‚ÐµÐºÑтових), та назву кожного ФÐЙЛа.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: надто багато Ñ€Ñдків контрольних Ñум" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: неправильно Ñкладений Ñ€Ñдок контрольної Ñуми %s" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ або прочитати\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "ПОМИЛКÐ" #: src/md5sum.c:597 msgid "OK" msgstr "Гаразд" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: не знайдено правильно Ñкладених Ñ€Ñдків контрольних Ñум %s" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ПОПЕРЕДЖЕÐÐЯ: %<PRIuMAX> Ñ€Ñдок має помилкове форматуваннÑ" msgstr[1] "ПОПЕРЕДЖЕÐÐЯ: %<PRIuMAX> Ñ€Ñдки мають помилкове форматуваннÑ" msgstr[2] "ПОПЕРЕДЖЕÐÐЯ: %<PRIuMAX> Ñ€Ñдків мають помилкове форматуваннÑ" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %<PRIuMAX> вказаний файл" msgstr[1] "ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %<PRIuMAX> вказані файли" msgstr[2] "ПОПЕРЕДЖЕÐÐЯ: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %<PRIuMAX> вказаних файлів" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглаÑÑŒ %<PRIuMAX> обчиÑлена контрольна Ñума" msgstr[1] "ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглиÑÑŒ %<PRIuMAX> обчиÑлені контрольні Ñуми" msgstr[2] "ПОПЕРЕДЖЕÐÐЯ: ÐЕ збіглиÑÑŒ %<PRIuMAX> обчиÑлених контрольних Ñум" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "підтримки --tag у режимі --text не передбачено" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "ключ --tag не має ÑенÑу під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ контрольних Ñум" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "ключі --binary та --text не мають ÑенÑу при перевірці контрольних Ñум" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "ключ --status має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "ключ --warn має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "ключ --quiet має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "ключ --strict має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ при перевірці контрольних Ñум" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... КÐТÐЛОГ...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Створює DIRECTORY, Ñкщо він ще не Ñ–Ñнує.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE вÑтановити код доÑтупу (Ñк у chmod)\n" " -p, --parents не виводити помилок Ñкщо каталог Ñ–Ñнує,\n" " при потребі Ñтворювати батьківÑькі каталоги\n" " -v, --verbose виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ кожен Ñтворений каталог\n" " -Z, --context=CTX вÑтановити контекÑÑ‚ безпеки SELinux кожного Ñтвореного\n" " каталогу на CTX\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "Ñтворений каталог %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐЗВÐ...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Створює іменовані канали (FIFO) Ð´Ð»Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ NAME.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=РЕЖИМ вÑтановити права доÑтупу у РЕЖИМ, а не a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=КОРвÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— ÐÐЗВИ у " "КОÐ\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "неправильний режим" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "режим повинен визначати лише біти прав доÑтупу до файла" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐЗВРТИП [ОСÐОВÐИЙ ДРУГОРЯДÐИЙ]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Створює Ñпеціальній файл з назвою NAME та типом TYPE.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=КОРвÑтановити контекÑÑ‚ безпеки SELinux Ð´Ð»Ñ ÐÐЗВРу КОÐ\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "Якщо ТИП -- це b, c або u, необхідно вказувати Ñк ОСÐОВÐИЙ, так Ñ–\n" "ДРУГОРЯДÐИЙ, а Ñкщо ТИП дорівнює p, Ñ—Ñ… не можна вказувати. Якщо ОСÐОВÐИЙ\n" "або ДРУГОРЯДÐИЙ починаютьÑÑ Ð· 0x або 0X, вони інтерпретуютьÑÑ Ñк\n" "шіÑтнадцÑткові чиÑла; Ñкщо починаютьÑÑ Ð· 0 - Ñк віÑімкові;\n" "інакше Ñк деÑÑткові. ТИП може приймати наÑтупні значеннÑ:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b Ñтворити файл блочного приÑтрою (буферизований)\n" " c, u Ñтворити файл Ñимвольного приÑтрою (не буферизований)\n" " p Ñтворити іменований канал\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Ð”Ð»Ñ Ñпеціального файла повинні бути вказані оÑновний та другорÑдний номери " "приÑтрою." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "У файлів-черг немає оÑновного та другорÑдного чиÑла приÑтрою." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "блочні Ñпеціальні файли не підтримуютьÑÑ" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "знакові Ñпеціальні файли не підтримуютьÑÑ" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "неправильне оÑновне чиÑло приÑтрою %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "неправильне другорÑдне чиÑло приÑтрою %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "неправильний приÑтрій %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "неправильний тип приÑтрою %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ШÐБЛОÐ]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Створити у безпечний ÑпоÑіб файл або каталог Ñ– вивеÑти їхню назву.\n" "ШÐБЛОРмає ÑкладатиÑÑ Ð¿Ñ€Ð¸Ð½Ð°Ð¹Ð¼Ð½Ñ– з трьох «X» поÑпіль у оÑтанньому\n" "компоненті. Якщо ШÐБЛОРне вказано, викориÑтовуєтьÑÑ tmp.XXXXXXXXXX Ñ–\n" "додаєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ --tmpdir.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Файли буде Ñтворено з правами u+rw, каталоги — u+rwx, Ð¼Ñ–Ð½ÑƒÑ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ " "umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory Ñтворити каталог, а не файл\n" " -u, --dry-run не Ñтворювати нічого; лише вивеÑти назву (не Ñ” " "безпечним)\n" " -q, --quiet вимкнути діагноÑтику щодо помилок ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² Ñ– " "каталогів\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=СУФФ додавати СУФФ до ШÐБЛОÐу. СУФФ не повинен міÑтити " "Ñимволів\n" " похилої риÑки.\n" " Цей параметр буде викориÑтано, Ñкщо ШÐБЛОРне " "завершуєтьÑÑ Ð½Ð° X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=КÐТ] інтерпретувати ШÐБЛОРвідноÑно КÐТ. Якщо КÐТ не\n" " вказано, викориÑтовуєтьÑÑ $TMPDIR, Ñкщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ\n" " задане, викориÑтовуєтьÑÑ /tmp., ШÐБЛОРне повинен бути\n" " абÑолютною назвою. Ðа відміну від -t, ШÐБЛОРможе\n" " міÑтити похилі риÑки, але mktemp Ñтворюватиме лише\n" " оÑтанній компонент таких запиÑів.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p КÐТÐЛОГ викориÑтовувати КÐТÐЛОГ Ñк префікÑ; додає -t " "[заÑтарілий]\n" " -t вважати ШÐБЛОРодиночним компонентом назви файла,\n" " відноÑно каталогу: $TMPDIR, Ñкщо вÑтановлено; у " "іншому\n" " разі каталог вказуєтьÑÑ Ñƒ -p; інакше /tmp " "[заÑтаріло]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑпрÑмувати stderr до /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "надто багато шаблонів" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "у разі Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ --suffix, шаблон %s має завершувати на X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "некоректний шаблон, %s, міÑтить Ñимвол Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "надто мало Ñимволів X у шаблоні %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "неправильний шаблон, %s, міÑтить Ñимвол Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñ–Ð²" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "неправильний шаблон, %s; з --tmpdir, він не може бути абÑолютним" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "не вдалоÑÑ Ñтворити каталог через шаблон %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "не вдалоÑÑ Ñтворити файл через шаблон %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Перейменовує ДЖЕРЕЛО у ПРИЗÐÐЧЕÐÐЯ, або переміщує ДЖЕРЕЛРдо КÐТÐЛОГУ.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=КОÐТРОЛЬ] Ñтворювати резервні копії цільових файлів\n" " -b те Ñаме, що та --backup, але без аргументу\n" " -f, --force перепиÑувати Ñ–Ñнуючі файли без підтвердженнÑ\n" " -i, --interactive запитувати підтвердженнÑ, перш ніж\n" " перепиÑувати\n" " -n, --no-clobber не перепиÑувати вже Ñтворені файли\n" "Якщо буде вказано декілька -i, -f, -n, братиметьÑÑ Ð´Ð¾ уваги лише оÑтанній\n" "параметр.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes вилучає вÑÑ– кінцеві коÑÑ– риÑки з кожного\n" " аргументу ДЖЕРЕЛО\n" " -S, --suffix=СУФІКС перевизначає ÑÑƒÑ„Ñ–ÐºÑ Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=КÐТÐЛОГ переміÑтити вÑÑ– ДЖЕРЕЛРу КÐТÐЛОГ\n" " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" " -u, --update переміщувати лише тоді коли файл ДЖЕРЕЛО\n" " новіший ніж цільовий файл, або коли\n" " цільовий файл відÑутній\n" " -v, --verbose поÑÑнювати виконувані дії\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ] [КОМÐÐДР[ÐРГ]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "ЗапуÑкає КОМÐÐДУ зі зміненим значеннÑм поÑтупливоÑті, що впливає на " "пріоритет\n" "Ð´Ð»Ñ Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°. Якщо КОМÐÐДУ не вказано, виводитьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ значеннÑ\n" "поÑтупливоÑті. ДопуÑтимі межі: від %d (найбільший пріоритет) до %d\n" "(найменший).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=N збільшити поÑтупливіÑть на ціле чиÑло N (типово 10)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "неправильна поправка %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "Ñкщо вказана поправка, треба вказати команду" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ поÑтупливіÑть" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "не вдалоÑÑ Ð²Ñтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑтупливоÑті" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Виводить кожен ФÐЙЛ на Ñтандартний вивід, додаючи номери Ñ€Ñдків.\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків " "тіла\n" " -d, --section-delimiter=СС викориÑтовувати СС Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ\n" " логічних Ñторінок\n" " -f, --footer-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків\n" " нижнього колонтитулу\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=СТИЛЬ викориÑтовувати СТИЛЬ нумерації Ñ€Ñдків\n" " верхнього колонтитула\n" " -i, --page-increment=ЧИСЛО крок Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків\n" " -l, --join-blank-lines=ЧИСЛО вказане ЧИСЛО порожніх Ñ€Ñдків вважати\n" " одним\n" " -n, --number-format=ФОРМÐТ викориÑтовувати ФОРМÐТ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків\n" " -p, --no-renumber не починати нумерацію з початку піÑлÑ\n" " кожної логічної Ñторінки\n" " -s, --number-separator=РЯДОК додавати РЯДОК піÑÐ»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=ЧИСЛО перший номер Ñ€Ñдка Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— логічної\n" " Ñторінки\n" " -w, --number-width=ЧИСЛО викориÑтовувати вказане ЧИСЛО Ñтовпчиків\n" " Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ñ–Ð² Ñ€Ñдків\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Типово викориÑтовуютьÑÑ -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС - це два\n" "знаки, що розділÑють логічні Ñторінки; Ñкщо вказаний лише один, то Ñ ÑкоÑті\n" "іншого викориÑтовуєтьÑÑ :. Вводьте \\\\ щоб отримати \\. СТИЛЬ вказуєтьÑÑ\n" "Ñк один з наÑтупних:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a нумерувати вÑÑ– Ñ€Ñдки\n" " t нумерувати лише не порожні Ñ€Ñдки\n" " n не нумерувати Ñ€Ñдки\n" " pБРВ нумерувати лише Ñ€Ñдки, чаÑтина Ñких збігаєтьÑÑ Ð· базовим\n" " регулÑрним виразом БРВ\n" "\n" "ФОРМÐТ вказуєтьÑÑ Ñк один з наÑтупних:\n" "\n" " ln вирівнювати по лівому краю, не виводити початкові нулі\n" " rn вирівнювати по правому краю, не виводити початкові нулі\n" " rz вирівнювати по правому краю, виводити початкові нулі\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "неправильний Ñтиль нумерації заголовка: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "неправильний Ñтиль нумерації тіла: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "неправильний Ñтиль нумерації нижнього колонтитула: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "неправильний номер початкового Ñ€Ñдка: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "неправильний приріÑÑ‚ номеру Ñ€Ñдка: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "неправильна кількіÑть порожніх Ñ€Ñдків: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "неправильна ширина Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ€Ñдка: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "неправильний формат нумерації Ñ€Ñдків: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s КОМÐÐДР[ÐРГУМЕÐТ]...\n" " або: %s КЛЮЧ\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Виконує КОМÐÐДУ ігноруючи Ñигнали обриву термінальної лінії.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Якщо Ñтандартний ввід відбуваєтьÑÑ Ð· терміналу, перенаправте його з /dev/" "null.\n" "Якщо Ñтандартний вивід відбуваєтьÑÑ Ð½Ð° термінал, Ñкщо можливо, додайте\n" " 'ohup.out' або '$HOME/nohup.out'.\n" "Якщо Ñтандартний потік помилок виводитьÑÑ Ð½Ð° екран, перенаправте його у\n" "Ñтандартний потік виводу. Щоб зберегти вивід до ФÐЙЛа, вкажіть '%s КОМÐÐДР> " "ФÐЙЛ'.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "" "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸, не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ñтандартне джерело введеннÑ" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "вÑÑ– аргументи проігноровані" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "вивід додаєтьÑÑ Ñƒ %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "не вдалоÑÑ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ так, щоб ÐºÐ¾Ð¿Ñ–Ñ Ñтандартного потоку помилок закрилаÑÑŒ на " "початку виконаннÑ" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ігноруєтьÑÑ Ð²Ð²Ñ–Ð´ та Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ stderr на stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "переÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ stderr до stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð¸Ñ‚Ð¸ Ñтандартний потік помилок" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Виводить кількіÑть модулів обробки, доÑтупних поточному процеÑу,\n" "може бути меншим за кількіÑть процеÑорів, Ñкі працюватимуть.\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all вивеÑти кількіÑть вÑтановлених процеÑорів\n" " --ignore=N Ñкщо можна, виключити N модулів обробки\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: некоректне чиÑло Ð´Ð»Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ: «%s»" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "некоректне чиÑло: «%s»" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" "відкидаємо ÑÑƒÑ„Ñ–ÐºÑ Â«%s» у вхідних даних (варто викориÑтовувати --from Ð´Ð»Ñ " "його збереженнÑ)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ вхідних даних: «%s»" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "у вхідних даних не виÑтачає ÑуфікÑа «i»: «%s» (наприклад Ki/Mi/Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%Lf» Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "некоректна Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ: «%s»" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð°Ð¼â€™Ñті (запитано %zu байтів)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "КориÑтуваннÑ: %s [ПÐРÐМЕТР]... [ЧИСЛО]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" "Виконати Ð¿ÐµÑ€ÐµÑ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸Ñла ЧИСЛО або чиÑел зі Ñтандартного джерела " "даних, Ñкщо ЧИСЛО не вказано.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" " --debug виводити Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ некоректних вхідних даних\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X викориÑтовувати X заміÑть пробілу Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ " "полів\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field=N заміÑити чиÑло у полі N вхідних даних (типове поле -- " "1)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=ФОРМÐТ викориÑтовувати Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñтилі printf;\n" " див. докладний Ð¾Ð¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð² нижче\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=ОДИÐИЦЯ автоматично маÑштабувати вхідні чиÑла за ОДИÐИЦЕЮ; " "типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -- 'none';\n" " див. Ð¾Ð¿Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ нижче\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N вказати розмірніÑть одиниці у вхідних даних (заміÑть " "типової 1)\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping групувати цифри відповідно до правил локалі, " "наприклад 1.000.000\n" " (не працюватиме у локалі C/POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] вивеÑти (без перетвореннÑ) перші N Ñ€Ñдків заголовка;\n" " Ñкщо не вказано, типовим значеннÑм Ñ” 1\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=РЕЖИМ режим обробки некоректних Ñимволів. Можливі режими:\n" " abort (перервати обробку, типовий), fail (обробити з " "помилками),\n" " warn (попередити), ignore (ігнорувати).\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N доповнити виведені дані до N Ñимволів.\n" " ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚Ð½Ð¾Ð³Ð¾ N призведе до Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ " "праворуч\n" " Від’ємні N вирівнюватимуть дані ліворуч.\n" " ЗауваженнÑ: Ñкщо виведені дані будуть довшими за N,\n" " Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ðµ відбуватиметьÑÑ. Типовим Ñ” автоматичне " "доповненнÑ,\n" " Ñкщо буде виÑвлено пробіли.\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=СПОСІБ ÑпоÑіб Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¼Ð°ÑштабуваннÑ. Варіанти:\n" " up (до більшого), down (до меншого), from-zero (до " "дальшого\n" " до нулÑ, типовий), towards-zero (до ближчого до " "нулÑ),\n" " nearest (до найближчого цілого\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=СУФІКС додати СУФІКС до виведених чиÑел Ñ– викориÑтовувати " "СУФІКС\n" " у вхідних даних.\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=ОДИÐИЦЯ автоматично маÑштабувати виведені чиÑла за ОДИÐИЦЕЮ; " "див. Ð¾Ð¿Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ нижче\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" " --to-unit=N розмірніÑть одиниці у виведених даних (заміÑть " "типової 1)\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "Параметри одиниць:\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" " none без автоматичного маÑштабуваннÑ; викориÑÑ‚Ð°Ð½Ð½Ñ ÑуфікÑів призведе " "до Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto приймати додаткові одно-/дволітерні ÑуфікÑи:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si приймати додаткові однолітерні ÑуфікÑи:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec приймати додаткові однолітерні ÑуфікÑи:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i приймати додаткові дволітерні ÑуфікÑи:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "ФОРМÐТ має відповідати виведенню одного аргументу з рухомою крапкою -- " "«%f».\n" "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð»Ð°Ð¿ÐºÐ¸ (%'f) увімкне параметр --grouping (Ñкщо він підтримуєтьÑÑ " "поточною локаллю).\n" "Додаткове Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ (%10f) призведе до Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ… даних. " "Додаткові від’ємні\n" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ (%-10f) вирівнюватимуть Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð»Ñ–Ð²Ð¾Ñ€ÑƒÑ‡.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Станом виходу буде 0, Ñкщо вÑÑ– чиÑла у вхідних даних було уÑпішно " "перетворено.\n" "Типово, %s припинить обробку піÑÐ»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ñ— ж помилки зі Ñтаном виходу 2.\n" "Якщо буде вказано --invalid='fail', Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— помилки Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ\n" "виведено попередженнÑ, а Ñтаном виходу буде 2. Якщо буде вказано\n" "--invalid='warn', буде виÑвлено вÑÑ–Ñ… помилки перетвореннÑ, але Ñтаном " "виходу\n" "буде 0. Якщо буде вказано --invalid='ignore', про помилки Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ðµ\n" "повідомлÑтиметьÑÑ, а Ñтаном виходу буде 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Прикладиs:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "формат %s не міÑтить директиву %%" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "некоректний формат %s (Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð¸)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "формат %s закінчуєтьÑÑ Ñƒ %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "некоректний формат %s, інÑтрукцією має бути %%['][-][N]f" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "формат %s має надто багато директив %%" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "некоректний ÑÑƒÑ„Ñ–ÐºÑ Ñƒ вхідних даних «%s»: «%s»" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ: «%Lg» (варто ÑкориÑтатиÑÑ --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” надто великим Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ: «%Lg» (обробка значень більше 999Y " "неможлива)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "занадто велике вхідне значеннÑ, «%s», можлива втрата точноÑті" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "надто короткий Ñ€Ñдок вхідних даних, у полі %ld не виÑвлено чиÑел Ð´Ð»Ñ " "форматуваннÑ" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Â«%s»" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ, «%s»" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, «%s»" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping не можна викориÑтовувати разом з --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding не можна викориÑтовувати разом з --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "не вказано параметра перетвореннÑ" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "grouping не можна викориÑтовувати разом з --to" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ діє у цій локалі" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" "--header проігноровано, оÑкільки вхідні дані надходÑть з командного Ñ€Ñдка" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ деÑкі з вхідних чиÑел" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]...\n" " або: %s [-abcdfilosx]... [ФÐЙЛ] [[+]ЗСУВ[.][b]]\n" " або: %s --traditional [КЛЮЧ]... [ФÐЙЛ] [[+]ЗСУВ[.][b] [+][МІТКÐ][.]" "[b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Виводить однозначне (типово байтове віÑімкове) предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¤ÐЙЛÐ\n" "на Ñтандартний вивід. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ\n" "Ñтандартний ввід.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Якщо заÑтоÑовуютьÑÑ Ð¹ перша, й друга форми виклику, вважаєтьÑÑ Ð´Ñ€ÑƒÐ³Ð°\n" "форма, Ñкщо оÑтанній операнд починаєтьÑÑ Ð½Ð° + або (Ñкщо вказані два\n" "операнда) на цифру. Операнд ЗСУВ означає -j ЗСУВ. МІТКР--\n" "це пÑевдоадреÑа першого виведеного байту, збільшуєтьÑÑ Ñƒ процеÑÑ–\n" "виводу. ÐŸÑ€ÐµÑ„Ñ–ÐºÑ 0x або 0X задає ЗСУВ або МІТКУ Ñк\n" "шіÑтнадцÑткові чиÑла, ÑÑƒÑ„Ñ–ÐºÑ . -- Ñк віÑімкові, а ÑÑƒÑ„Ñ–ÐºÑ b\n" "помножує на 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=ОСÐОВРвиводити зÑув у файлах викориÑтовуючи\n" " вказану ÑиÑтему чиÑленнÑ\n" "\n" " ОСÐОВОЮ може бути одна з літер [doxn],\n" " деÑÑткова, віÑімкова, шіÑтнадцÑткова або\n" " ніÑка\n" " -j, --skip-bytes=РпропуÑтить перші Рбайт\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=N читати лише N байтів у кожному файлі\n" " -S, --strings[=N] виводити Ñ€Ñдки довжиною принаймні N байтів\n" " графічних знаків\n" " Якщо N не вказано, буде викориÑтано 3\n" " -t, --format=ТИП вибір формату або форматів виводу\n" " -v, --output-duplicates не позначати знаком * Ñ€Ñдки, що не виводÑтьÑÑ\n" " -w[N], --width[=N] виводити N байтів у кожному Ñ€Ñдку виводу\n" " Якщо N не вказано, буде викориÑтано 32\n" " --traditional приймати аргументи у традиційній формі\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Традиційні Ñпецифікації формату можна змішувати, вони акумулюютьÑÑ:\n" " -a Ñинонім -t a, іменовані знаки\n" " -b Ñинонім -t o1, віÑімкові байти\n" " -c Ñинонім -t c, ASCII-знаки або керівні поÑлідовноÑті з '\\'\n" " -d Ñинонім -t u2, беззнакові деÑÑткові двобайтові одиниці\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f Ñинонім -t fF, чиÑла з плаваючою комою\n" " -i Ñинонім -t dI, деÑÑткові цілі\n" " -l Ñинонім -t dL, деÑÑткові довгі цілі\n" " -o Ñинонім -t o2, віÑімкові двобайтові одиниці\n" " -s Ñинонім -t d2, деÑÑткові двобайтові одиниці\n" " -x Ñинонім -t x2, шіÑтнадцÑткові двобайтові одиниці\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "ТИП може ÑкладатиÑÑŒ з одного або більше наÑтупних опиÑів:\n" " a іменований знак\n" " c ASCII-знак або керівна поÑлідовніÑть з '\\'\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[ЧИСЛО] знакове деÑÑткове ціле розміром вказане ЧИСЛО байт\n" " f[ЧИСЛО] чиÑло з плаваючою точкою розміром вказане ЧИСЛО байт\n" " o[ЧИСЛО] віÑімкове ціле розміром вказане ЧИСЛО байт\n" " u[ЧИСЛО] беззнакове деÑÑткове ціле розміром вказане ЧИСЛО байт\n" " x[ЧИСЛО] шіÑтнадцÑткове ціле розміром вказане ЧИСЛО байт\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "Якщо ТИП -- одна з літер [doux], ЧИСЛО можна вказувати Ñк C (char), S " "(short),\n" "I (int) або L (long), Ñкщо ТИП дорівнює f, ЧИСЛО може бути F (float),\n" "D (double) або L (long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ ÑуфікÑа z до будь-Ñкого типу призведе до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¸Ñ… " "Ñимволів\n" "наприкінці кожного Ñ€Ñдка виведених даних.\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "ПіÑÐ»Ñ Ð§Ð˜Ð¡Ð›Ð Ð±Ð»Ð¾ÐºÑ–Ð² та байт може ÑтоÑти один з ÑуфікÑів-множників:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "тощо Ð´Ð»Ñ G, T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "неправильний Ñ€Ñдок типу %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "неправильно вказаний Ñ€Ñдок типу %s;\n" "Ñ†Ñ ÑиÑтема не підтримує %lu-байтове цілого типу" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "неправильно вказаний тип %s;\n" "Ñ†Ñ ÑиÑтема не підтримує %lu-байтове типу з плаваючою комою" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "неправильний знак '%c' у Ñ€Ñдку типу %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "неможливо перейти за межу оÑтаннього вхідного файла" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "неправильно вказана оÑнова ÑиÑтеми чиÑÐ»ÐµÐ½Ð½Ñ '%c', повинна бути одним з " "Ñимволів [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "при дампі Ñ€Ñдків не можна вказувати тип" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "у режимі ÑуміÑноÑті підтримуєтьÑÑ Ð½Ðµ більше одного файла." #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ skip-bytes + read-bytes надто велике" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "попередженнÑ: неправильна ширина %lu; буде викориÑтана %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: неправильний Ñигнал" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "Ñтандартний ввід закритий" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Виводить на Ñтандартний вивід Ñ€Ñдки, Ñкладені з відповідних Ñ€Ñдків\n" "вхідних ФÐЙЛІВ, що розділÑютьÑÑ Ñ‚Ð°Ð±ÑƒÐ»Ñцією.\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ Ñтандартний ввід.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=СПИСОК викориÑтовувати заміÑть табулÑції знаки зі " "СПИСКУ\n" " -s, --serial оброблÑти файли поÑлідовно\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "ÑпиÑок роздільників завершуєтьÑÑ Ð½ÐµÐµÐºÑ€Ð°Ð½Ð¾Ð²Ð°Ð½Ð¾ÑŽ зворотною риÑкою: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "ВиÑвлÑÑ” некоректні та непереноÑні конÑтрукції у назвах файлів.\n" "\n" " -p перевірка Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆÐ¾Ñті POSIX-ÑиÑтем\n" " -P перевірка на порожні назви та початковий «-»\n" " --portability перевірка Ð´Ð»Ñ ÑƒÑÑ–Ñ… POSIX-ÑиÑтем (еквівалентно до -p -" "P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "початковий '-' у компоненті назві файла %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "непереноÑний знак %s у назві файла %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° файла" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ макÑимальну довжину назви файла" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "межу %lu перевищено довжиною %lu у назві файла %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "перевищено Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ %lu довжиною %lu у компоненті імені файла %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "РеєÑтраційна назва: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "У реальному житті: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Каталог: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Оболонка: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Проект: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "План:\n" #: src/pinky.c:405 msgid "Login" msgstr "РеєÑтраційне ім'Ñ'" #: src/pinky.c:407 msgid "Name" msgstr "Ðазва" #: src/pinky.c:408 msgid " TTY" msgstr " Термінал" #: src/pinky.c:410 msgid "Idle" msgstr "Ðеактивний" #: src/pinky.c:411 msgid "When" msgstr "Коли" #: src/pinky.c:414 msgid "Where" msgstr "Де" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [КОРИСТУВÐЧ]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l викориÑтовувати докладний формат виводу\n" " -b опуÑтити у докладному форматі початковий каталог та\n" " оболонку цього кориÑтувача\n" " -h опуÑтити у докладному форматі файл проекту цього\n" " кориÑтувача\n" " -p опуÑтити у докладному форматі файл плану цього\n" " кориÑтувача\n" " -s короткий формат виводу, типово викориÑтовуєтьÑÑ\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f опуÑтити у короткому форматі Ñ€Ñдок з заголовками колонок\n" " -w опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача\n" " -i опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та\n" " назву віддаленої машини\n" " -q опуÑтити у короткому форматі повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача,\n" " назву віддаленої машини та Ñ‡Ð°Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Спрощена програма 'finger'; виводить відомоÑті про кориÑтувача.\n" "У Ñкладі файла utmp буде викориÑтовуватиÑÑ %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "не вказано ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача; при викориÑтанні ключа -l треба вказати хоча б " "одне" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "'--pages=ПЕРШÐ_СТОР[:ОСТÐÐÐЯ_СТОР]' пропущений аргумент" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "некоректний діапазон Ñторінок %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "'-l ДОВЖИÐÐ_СТОРІÐКИ' неправильна кількіÑть Ñ€Ñдків: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N ÐОМЕР' неправильний номер початкового Ñ€Ñдка: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "'-o ПОЛЕ' неправильний зÑув: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "«-w ШИРИÐÐ_СТОРІÐКИ» неправильна кількіÑть знаків: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "«-W ШИРИÐÐ_СТОРІÐКИ» неправильна кількіÑть знаків: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "неможливо вказати кількіÑть позицій під Ñ‡Ð°Ñ Ð¿Ð°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ друку" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "не можна одночаÑно вказувати друк вздовж Ñ– паралельно." #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "'-%c' зайві знаки або неправильне чиÑло у аргументі: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Ñторінка надто вузька" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "номер початкової Ñторінки %<PRIuMAX> перевищує загальну кількіÑть Ñторінок " "%<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ð¾Ð¼ÐµÑ€Ñƒ Ñторінок" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Сторінка %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Розбиває ФÐЙЛ(и) на Ñторінки або колонки під Ñ‡Ð°Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +ПЕРШÐ_СТОРІÐКÐ[:ОСТÐÐÐЯ_СТОРІÐКÐ], --pages=ПЕРШÐ_СТОРІÐКÐ[:" "ОСТÐÐÐЯ_СТОРІÐКÐ]\n" " почати [завершити] друк на ПЕРШІЙ_[ОСТÐÐÐІЙ_]СТОРІÐЦІ\n" " -КІЛЬКІСТЬ, --columns=КІЛЬКІСТЬ\n" " виводити вказану КІЛЬКІСТЬ колонок та виводити Ñ—Ñ… вниз,\n" " лише коли не вказаний ключ -a. БаланÑувати кількіÑть\n" " Ñ€Ñдків у колонці на кожній Ñторінці.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across виводити колонки поперек, а не вниз; викориÑтовуєтьÑÑ\n" " разом з ключем -ЧИСЛО\n" " -c, --show-control-chars\n" " викориÑтовувати Ð·Ð°Ð¿Ð¸Ñ Ð· шапочкою (^G) або зворотною\n" " коÑою риÑкою (та віÑімковим кодом)\n" " -d, --double-space\n" " вÑтавлÑти порожній Ñ€Ñдок піÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ виведеного Ñ€Ñдка\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=ФОРМÐТ\n" " викориÑтовувати Ð´Ð»Ñ Ð´Ð°Ñ‚Ð¸ у заголовку вказаний ФОРМÐТ\n" " -e[ЗÐÐК[ЧИСЛО]], --expand-tabs[=ЗÐÐК[ЧИСЛО]]\n" " перетворювати вхідні ЗÐÐКИ (табулÑцію) у вказане ЧИСЛО\n" " пробілів (8)\n" " -F, -f, --form-feed\n" " Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ñторінок вживати знак переноÑу Ñторінки,\n" " а не нового Ñ€Ñдка (з трьохрÑдковим заголовком, Ñкщо Ñ”\n" " ключ -F, та п'ÑтирÑдковим заголовком та кінцівкою, Ñкщо\n" " ключ -F не вказаний)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h ЗÐГОЛОВОК, --header=ЗÐГОЛОВОК\n" " викориÑтовувати Ð´Ð»Ñ Ñторінок центрований ЗÐГОЛОВОК, а не\n" " назву файла; -h \"\" виводить порожній Ñ€Ñдок; не\n" " викориÑтовуйте -h \"\"\n" " -i[ЗÐÐК[ШИРИÐÐ]], --output-tabs[=ЗÐÐК[ШИРИÐÐ]]\n" " замінити пробіли ЗÐÐКÐМИ (табулÑцію) вказаної ШИРИÐИ (8)\n" " -J, --join-lines об'єднувати повні Ñ€Ñдки, вимкнути ÑƒÑ€Ñ–Ð·Ð°Ð½Ð½Ñ Ñ€Ñдків (-W),\n" " не вирівнювати колонки, --sep-string[=РЯДОК]\n" " задає розділювачі\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=ДОВЖИÐÐ_СТОРІÐКИ\n" " вÑтановити ДОВЖИÐУ_СТОРІÐКИ (66)\n" " (типово кількіÑть Ñ€Ñдків текÑту рівно 56, а з -F 63)\n" " -m, --merge виводити вÑÑ– файли паралельно, по одному у Ñтовпчику,\n" " урізати Ñ€Ñдка, але з'єднувати повні Ñ€Ñдки при -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[РОЗД[ЧИСЛО]], --number-lines[=РОЗД[ЧИСЛО]]\n" " нумерувати Ñ€Ñдки, викориÑтовуючи вказане ЧИСЛО (5) цифр\n" " та РОЗДілювач (табулÑцію); типово Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ\n" " з першого вхідного Ñ€Ñдка\n" " -N, --first-line-number=ÐОМЕР\n" " почати нумерацію з ÐОМЕРРз першого Ñ€Ñдка першої\n" " Ñторінки, що виводитьÑÑ (дивітьÑÑ +ПЕРШÐ_СТОРІÐКÐ)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=ПОЛЕ\n" " зÑувати кожен Ñ€Ñдок на ПОЛЕ (нуль) пробілів (не впливає\n" " на -w або -W); ПОЛЕ додаєтьÑÑ Ð´Ð¾ ШИРИÐÐ_СТОРІÐКИ\n" " -r, --no-file-warnings\n" " не попереджати про неможливіÑть Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð°\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[ЗÐÐК],--separator[=ЗÐÐК]\n" " розділÑти колонки одним знаком, типово ЗÐÐК дорівнює\n" " табулÑції, без ключа -w, та порожній, Ñкщо Ñ” ключ -w\n" " -s[ЗÐÐК] вимикає ÑƒÑ€Ñ–Ð·Ð°Ð½Ð½Ñ Ñ€Ñдків Ð´Ð»Ñ ÑƒÑÑ–Ñ… трьох ключів\n" " Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº (-ЧИСЛО |-a -ЧИСЛО|-m), Ñкщо немає ключа -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[РЯДОК], --sep-string[=РЯДОК]\n" " розділÑти колонки необов'Ñзковим РЯДКОМ;\n" " без -S: розділювач — табулÑціÑ, Ñкщо вказано\n" " ключ -J, інакше пробіл (те Ñаме, що -S\" \"); не " "впливає\n" " на ключі Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº\n" " -t, --omit-header не виводити заголовки\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " не виводити заголовки, ігнорувати Ñимволи розриву\n" " Ñторінки у вхідних файлах\n" " -v, --show-nonprinting\n" " викориÑтовувати Ð·Ð°Ð¿Ð¸Ñ Ð· «\\» та віÑімковим кодом\n" " -w, --width=ШИРИÐÐ_СТОРІÐКИ\n" " вÑтановити ШИРИÐУ_СТОРІÐКИ (72) у Ñтовпчиках длÑ\n" " виводу у декілька колонок, -s[знак] вимикає (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=ШИРИÐÐ_СТОРІÐКИ\n" " вÑтановити ШИРИÐУ_СТОРІÐКИ (72) Ñимволи, уÑікати Ñ€Ñдки,\n" " Ñкщо не вказаний ключ -J; не змінюєтьÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -S чи -" "s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "додаєтьÑÑ -t, Ñкщо PAGE_LENGTH <= 10. Якщо ФÐЙЛ не вказано\n" "або вказаний Ñк -, читає Ñтандартне джерело введеннÑ.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s [ПÐРÐМЕТР]... [ЗМІÐÐÐ]...\n" "Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… змінних Ñередовища.\n" "Якщо параметр ЗМІÐÐРне вказано, виводить пари назва-Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²ÑÑ–Ñ….\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null завершувати кожен Ñ€Ñдок 0-байтом заміÑть розриву Ñ€Ñдка\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "попередженнÑ: %s: знаки, наÑтупні за знаковою конÑтантою, проігноровані" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s ФОРМÐТ [ÐРГУМЕÐТ]...\n" " або: %s КЛЮЧ\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Виводить ÐРГУМЕÐТ(и) відповідно до ФОРМÐТ, або або виконати відповідно до " "OPTION:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "ФОРМÐТ керує виводом так Ñамо, Ñк у функції C printf.\n" "ПриймаютьÑÑ Ð½Ð°Ñтупні поÑлідовноÑті:\n" "\n" " \\\" подвійні лапки\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN байт з віÑімковим значеннÑм NNN (від 1 до 3 цифр)\n" " \\xÐРбайт з шіÑтнадцÑтковим кодом ÐÐ (від 1 до 2 цифр)\n" " \\uÐÐÐРзнак Unicode (ISO/IEC 10646) з шіÑтнадцÑтковим кодом ÐÐÐÐ (4 " "цифри)\n" " \\UÐÐÐÐÐÐÐРзнак Unicode з шіÑтнадцÑтковим кодом ÐÐÐÐÐÐÐÐ (8 цифр)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% один знак %\n" " %b інтерпретувати escape-поÑлідовноÑті у ÐРГУМЕÐТІ,\n" " крім віÑімкових у формі \\0 або \\0ÐÐÐ\n" "\n" "а також вÑÑ– Ñпецифікації формату у Ñтилі C, що закінчуютьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ з\n" "знаків diouxXfeEgGcs; ÐРГУМЕÐТ приводитьÑÑ Ð´Ð¾ відповідного типу.\n" "ОброблÑютьÑÑ Ñ‚Ð°ÐºÐ¾Ð¶ знаки змінної ширини.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: очікуєтьÑÑ Ñ‡Ð¸Ñлове значеннÑ" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ðµ не повніÑтю" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "неправильна шіÑтнадцÑткове чиÑло у escape-поÑлідовноÑті" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "неправильна універÑальна назва знаку \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "неправильна ширина полÑ: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "неправильна точніÑть: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "попередженнÑ: зайві аргументи проігноровані, починаючи з %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "Ф. Пінард" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного виразу %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ВХІД]... (без -G)\n" " або: %s -G [КЛЮЧ]... [ВХІД [ВИХІД]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Виводить переÑтавлений алфавітний вказівник Ñлів вхідних файлів, включаючи " "контекÑÑ‚.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference виводити автоматично згенеровані поÑиланнÑ\n" " -G, --traditional увімкнути режим ÑуміÑноÑті з System V\n" " -F, --flag-truncation=РЯДОК викориÑтовувати РЯДОК Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ " "обрізаних Ñ€Ñдків\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=РЯДОК назва макроÑу, Ñку Ñлід викориÑтовувати\n" " заміÑть 'xx'\n" " -O, --format=roff генерувати вивід у виглÑді директив roff\n" " -R, --right-side-refs поміщати поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñправа, не діє при -w\n" " -S, --sentence-regexp=REGEXP Ð´Ð»Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдків або ÐºÑ–Ð½Ñ†Ñ Ñ€ÐµÑ‡ÐµÐ½ÑŒ\n" " -T, --format=tex генерувати вивід у виглÑді директив TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP регулÑрний вираз Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ð¸Ñ… Ñлів\n" " -b, --break-file=ФÐЙЛ ФÐЙЛ з Ñимволами-розділювачами Ñлів\n" " -f, --ignore-case перетворювати до верхнього регіÑтру при\n" " Ñортуванні\n" " -g, --gap-size=ЧИСЛО розмір проміжку між полÑми виводу,\n" " виражений у Ñтовпчиках\n" " -i, --ignore-file=ФÐЙЛ прочитати перелік ігнорованих Ñлів з ФÐЙЛÐ\n" " -o, --only-file=ФÐЙЛ лише прочитати ÑпиÑок Ñлів з заданого " "ФÐЙЛÐ\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references перше поле у кожній Ñ€Ñдку Ñ” поÑиланнÑм\n" " -t, --typeset-mode - не реалізовано -\n" " -w, --width=ЧИСЛО ширина виводу у Ñтовпчиках, без ÑƒÑ€Ð°Ñ…ÑƒÐ²Ð°Ð½Ð½Ñ " "поÑилань\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід.\n" "Типово вважаєтьÑÑ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼ '-F /'.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "неправильна ширина інтервалу: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Виводить повну назву поточного робочого каталогу.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical викориÑтовувати PWD з Ñередовища, навіть Ñкщо там " "міÑÑ‚ÑтьÑÑ Ñимволічні поÑиланнÑ\n" " -P, --physical пропуÑтити вÑÑ– Ñимволічні поÑиланнÑ\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "помилка зміни каталогу на %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "у %s не знайдено Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ з відповідним i-node" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "аргументи, що не Ñ” ключами проігноровані" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ФÐЙЛ...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Виводить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволічного поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ канонічну назву файла\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize отримати канонічну назву файла шлÑхом\n" " рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним\n" " поÑиланнÑм в уÑÑ–Ñ… компонентах шлÑху;\n" " вÑÑ– компоненти пути, крім оÑтаннього,\n" " повинні Ñ–Ñнувати\n" " -e, --canonicalize-existing отримати канонічну назву файла шлÑхом\n" " рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним\n" " поÑиланнÑм у кожній компоненті вказаного " "пути;\n" " вÑÑ– компоненти шлÑху повинні Ñ–Ñнувати\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing отримати канонічну назва файла шлÑхом\n" " рекурÑивного ÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ уÑім Ñимвольним\n" " поÑиланнÑм в уÑÑ–Ñ… компонентах шлÑху;\n" " компоненти не обов'Ñзково мають Ñ–Ñнувати\n" " -n, --no-newline не виводити кінцевий роздільник\n" " -q, --quiet,\n" " -s, --silent не виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки\n" " -v, --verbose повідомлÑти про помилки\n" " -z, --zero відокремлювати виведені Ñ€Ñдки нуль-байтом,\n" " а не Ñимволом нового Ñ€Ñдка\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ігноруємо --no-newline з декількома аргументами" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "ВивеÑти визначену абÑолютну назву файла;\n" "вÑÑ– компоненти, окрім оÑтанньої, має бути вже Ñтворено\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing вÑÑ– компоненти шлÑху мають Ñ–Ñнувати\n" " -m, --canonicalize-missing не повинно Ñ–Ñнувати жодного компонента\n" " -L, --logical оброблÑти компоненти '..' до Ñимволічних " "поÑилань\n" " -P, --physical оброблÑти Ñимволічні поÑÐ¸Ð»Ð°Ð½Ð½Ñ (типово)\n" " -q, --quiet придушити більшіÑть повідомлень про помилки\n" " --relative-to=ФÐЙЛ вивеÑти визначений шлÑÑ… відноÑно ФÐЙЛа\n" " --relative-base=ФÐЙЛ вивеÑти абÑолютні шлÑхи, Ñкщо вони не Ñ” " "підлеглими ФÐЙЛ\n" " -s, --strip, --no-symlinks не розгортати Ñимволічні поÑиланнÑ\n" " -z, --zero відокремлювати чаÑтини результату NUL, а не " "Ñимволом нового Ñ€Ñдка\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ñного шлÑху" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: ÑпуÑтитьÑÑ Ñƒ захищений від запиÑу каталог %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: ÑпуÑтитьÑÑ Ñƒ каталог %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: вилучити захищений від запиÑу %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: вилучити %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "вилучено каталог: %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ каталог: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "припущено %s, оÑкільки він розташований на іншому приÑтрої" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ…Ð¾Ð´Ñƒ: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "неочікувана помилка: fts_info=%d: %s\n" "повідомте %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Спробуйте «%s ./%s», щоб вилучити файл %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¤ÐЙЛІВ (Ñимволічних поÑилань).\n" "\n" " -f, --force ігнорувати файли Ñ– аргументи, Ñких не Ñ–Ñнує, ніколи " "не питати\n" " -i питати перед кожним вилученнÑм\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I питати перед вилученнÑм більш ніж трьох файлів або\n" " при рекурÑивному вилученні. Менш набридливий ніж\n" " -i, хоча забезпечує захиÑÑ‚ від більшоÑті помилок\n" " --interactive[=КОЛИ] питати КОЛИ: never, once (-I), \n" " always (-i). Без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐšÐžÐ›Ð˜ — питати завжди\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system при вилученні ієрархії рекурÑивно, пропуÑкати\n" " каталоги, що лежать на інших файлових ÑиÑтемах,\n" " ніж вказані аргументами командного Ñ€Ñдку\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root не оброблÑти / оÑобливим чином\n" " --preserve-root не вилучати / (типова поведінка)\n" " -r, -R, --recursive рекурÑивно вилучати каталоги та Ñ—Ñ… вміÑÑ‚\n" " -d, --dir вилучати порожні каталоги\n" " -v, --verbose поÑÑнювати дії, що виконуютьÑÑ\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Зазвичай rm не вилучає каталоги. ВикориÑтовуйте ключ --recursive (-r\n" "або -R), щоб вилучити вÑÑ– перелічені каталоги разом з їхнім\n" "зміÑтом.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Ð”Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°, що починаєтьÑÑ Ð· «-» (приклад: «-foo»),\n" "викориÑтовуйте одну з наÑтупних команд:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Зауважте, що при викориÑтанні rm Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° його вміÑÑ‚\n" "зазвичай можна відновити. ВикориÑтовуйте shred, Ñкщо потрібна більша\n" "впевненіÑть у неможливоÑті Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: вилучити уÑÑ– аргументи рекурÑивно? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: вилучити уÑÑ– аргументи? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "помилка при вилученні каталогу %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Вилучає КÐТÐЛОГИ, Ñкщо вони порожні.\n" "\n" " --ignore-fail-on-non-empty\n" " ігнорувати вÑÑ– помилки, коли каталог не порожній\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents вилучити КÐТÐЛОГ Ñ– підлеглі каталоги. Ðаприклад, «rmdir -p " "a/b/c»\n" " робить те ж Ñаме, що й «rmdir a/b/c a/b a».\n" " -v, --verbose виводити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ обробленого каталогу\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "ВикориÑтаннÑ: %s КОÐТЕКСТ КОМÐÐДР[аргументи]\n" " або: %s [ -c ] [-u КОРИСТУВÐЧ] [-r РОЛЬ] [-t ТИП] [-l ДІÐПÐЗОÐ] КОМÐÐДР" "[аргументи]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "ЗапуÑтити програму з іншим контекÑтом безпеки.\n" "Ñкщо не вказано ні КОÐТЕКСТ, ані КОМÐÐДÐ, виводитьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¹ контекÑÑ‚ " "безпеки.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " КОÐТЕКСТ Повний контекÑÑ‚ безпеки\n" " -c, --compute обчиÑлити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ контекÑту перед зміною\n" " -t, --type=ТИП тип (Ð´Ð»Ñ Ñ‚Ñ–Ñ”Ñ— ж ролі, що й у батьківÑькому)\n" " -u, --user=КОРИСТУВÐЧ кориÑтувач\n" " -r, --role=РОЛЬ роль\n" " -l, --range=ДІÐПÐЗОРдіапазон рівнÑ\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "множинні ролей" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "множинні типи" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "множинні кориÑтувачі" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "множинні діапазони" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "помилка при отриманні поточного контекÑту" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "Ñлід вказати -c, -t, -u, -l, -r, або контекÑÑ‚" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "не вказано команду" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s можна викориÑтовувати лише у Ñередовищі з підтримкою SELinux у Ñдрі" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "помилка при обчиÑленні нового контекÑту" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "помилка при вÑтановленні нового кориÑтувача %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "помилка при вÑтановленні нового типу %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "помилка при вÑтановленні нового діапазону %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "помилка при вÑтановленні нової ролі %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ безпеки %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... ОСТÐÐÐЄ\n" " або: %s [КЛЮЧ]... ПЕРШЕ ОСТÐÐÐЄ\n" " або: %s [КЛЮЧ]... ПЕРШЕ ПРИРІСТ ОСТÐÐÐЄ\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Виводить чиÑла від ПЕРШОГО до ОСТÐÐÐЬОГО з кроком ПРИРІСТ.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format ФОРМÐТ викориÑтовувати ФОРМÐТ у Ñтилі printf\n" " -s, --separator РЯДОК викориÑтовувати РЯДОК Ñк розділювач (типово \\n)\n" " -w, --equal-width вирівнювати за шириною з додаваннÑм початкових " "нулів\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Якщо не вказані ПЕРШЕ або ПРИРІСТ, типово викориÑтовуєтьÑÑ 1. Тобто\n" "ПРИРІСТ типово приймаєтьÑÑ Ð·Ð° 1, навіть Ñкщо ОСТÐÐÐІЙ менше\n" "ПЕРШОГО. ПЕРШИЙ, ОСТÐÐÐІЙ та ПРИРІСТ вважаютьÑÑ Ñ‡Ð¸Ñлами з рухомою\n" "комою. ПРИРІСТ повинен бути додатнім, Ñкщо ПЕРШИЙ менше\n" "ОСТÐÐÐЬОГО, та від'ємним у іншому випадку.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "ФОРМÐТ повинен бути придатний Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ одного аргументу типу 'double';\n" "типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %.PRECf Ñкщо ПЕРШЕ, ПРИРІСТ, та ОСТÐÐÐЄ Ñ” чиÑлами \n" "з плаваючою комою з макÑимальною точніÑтю ТОЧÐ, та %g у іншому випадку.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "неправильний аргумент з плаваючою комою: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "формат міÑтить %s невідому директиву %%%c" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "при виводі Ñ€Ñдків однакової ширини формат можна не вказувати" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [СКОРОЧЕÐИЙ-ПÐРÐМЕТР]... КОРИСТУВÐЧ КОМÐÐДР[ÐРГУМЕÐТ]...\n" " або %s ПÐРÐМЕТР-ПОВÐІСТЮ\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Скидає вÑÑ– додаткові групи, вÑтановлює ідентифікатори\n" "кориÑтувача та групи Ñк у вказаного КОРИСТУВÐЧРта запуÑкає КОМÐÐДУ\n" "з вказаними ÐРГУМЕÐТÐМИ. ЗавершуєтьÑÑ Ð·Ñ– ÑтатуÑом 111, Ñкщо \n" "не вдалоÑÑ Ð²Ñтановити потрібні ідентифікатори кориÑтувача та групи. У\n" "іншому випадку повертаєтьÑÑ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ð¹ ÑÑ‚Ð°Ñ‚ÑƒÑ ÐšÐžÐœÐÐДИ. Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð°\n" "має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ root (UID=0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] також вÑтановити головний ідентифікатор групи у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ " "GID, та\n" " (Ñкщо вказано) ідентифікатори додаткових груп ID у " "GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "невідомий ідентифікатор кориÑтувача: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° кориÑтувача %s Ñлід викориÑтовувати -g too" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "не вдалоÑÑ Ð²Ñтановити додаткові групи" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатор групи рівним %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатор кориÑтувача рівним %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "ПерезапиÑує декілька раз вказані файли, щоб уÑкладнити відновленнÑ\n" "навіть з викориÑтаннÑм дуже коштовного обладнаннÑ.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force змінювати права, дозволÑючи запиÑ, Ñкщо потрібно\n" " -n, --iterations=N перепиÑати N разів заміÑть (%d) типово\n" " --random-source=ФÐЙЛ брати випадкові дані з ФÐЙЛа\n" " -s, --size=N очиÑтити N байт (можливі ÑуфікÑи, подібні до K, M, G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove обрізати та вилучати файл піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñи\n" " -v, --verbose виводити поÑтуп\n" " -x, --exact не округлÑти розміри файлів до наÑтупного цілого блоку;\n" " типово Ð´Ð»Ñ Ð½ÐµÐ·Ð²Ð¸Ñ‡Ð½Ð¸Ñ… файлів\n" " -z, --zero перезапиÑати у конці нулÑми, щоб Ñховати змішуваннÑ\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Якщо ФÐЙЛ вказаний Ñк -, змішувати Ñтандартний вивід.\n" "\n" "Вилучає ФÐЙЛИ, Ñкщо вказаний --remove (-u). Типово файли не\n" "вилучаютьÑÑ, оÑкільки чаÑто оброблÑютьÑÑ Ñ„Ð°Ð¹Ð»Ð¸-приÑтрої на зразок\n" "/dev/hda, а такі файли не треба вилучати. При обробці звичайних\n" "файлів більшіÑть людей викориÑтовує ключ --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "УВÐГÐ: Пам'Ñтайте, що shred покладаєтьÑÑ Ð½Ð° дуже важливе припущеннÑ:\n" "що ваша файлова ÑиÑтема перезапиÑує файли \"на міÑці\".\n" "Зазвичай це так, але багато ÑучаÑних файлових ÑиÑтеми\n" "не задовольнÑють цьому припущенню. ОÑÑŒ приклади файлових ÑиÑтем, на\n" "Ñких shred не ефективний або не дає гарантії ефективноÑті в уÑÑ–Ñ…\n" "режимах файлової ÑиÑтеми:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* файлові ÑиÑтеми з журналом, наприклад Ñкі йдуть у комплекті\n" " AIX та Solaris (та JFS, ReiserFS, XFS, Ext3 та ін.)\n" "\n" "* файлові ÑиÑтеми, Ñкі запиÑують надлишкові дані та зберігають\n" " працездатніÑть навіть Ñкщо виникають невдалі запиÑи, наприклад\n" " файлові ÑиÑтеми, що побудовані на технології RAID\n" "\n" "* файлові ÑиÑтеми, Ñкі Ñтворюють копії Ñтану, наприклад\n" " NFS-Ñервер від Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* файлові ÑиÑтеми, Ñкі кешують файли у тимчаÑових Ñховищах, наприклад \n" " клієнти NFS верÑÑ–Ñ— 3\n" "\n" "* ÑтиÑнені файлові ÑиÑтеми\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Ð’ випадку файлових ÑиÑтем ext3 наведене вище Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ñ€Ð½Ðµ (тож,\n" "shred не такий ефективний), лише у режимі\n" "data=journal, коли окрім метаданих у журнал заноÑÑтьÑÑ Ñ‚Ð°ÐºÐ¾Ð¶ Ñамі дані\n" "файлів. Ð’ режимах data=ordered (типово) та data=writeback\n" "програма shred працює у звичайному режимі. Режими журналу ext3 можна\n" "змінити, додавши ключ data=щоÑÑŒ до параметрів підключеннÑ\n" "конкретної файлової ÑиÑтеми у файлі /etc/fstab, згідно документації на\n" "Ñторінці man Ð´Ð»Ñ mount (man mount).\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Окрім того, резервні копії та вилучені дзеркала файлової ÑиÑтеми можуть\n" "міÑтити копії файла, Ñкі не можна вилучити, Ñ– Ñкі пізніше надають змогу\n" "відновити знищений файл.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fdatasync завершилаÑÑŒ невдало" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fsync завершилаÑÑŒ невдало" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÐ¾Ñ‚Ð¸Ñ‚Ð¸ÑÑŒ" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: прохід %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: помилка запиÑи за зÑувом %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ lseek завершилаÑÑŒ помилкою" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: файл надто великий" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: прохід %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: прохід %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fstat завершилаÑÑŒ помилкою" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: неправильний тип файла" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: файл має від'ємний розмір" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: помилка при Ñкороченні" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fcntl завершилаÑÑŒ помилкою" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: не вдалоÑÑ Ð½Ð°Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ файловий деÑкриптор з лише з правом додаваннÑ" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: вилученнÑ" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: перейменований на %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: вилучено" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: неправильна кількіÑть проходів" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "вказано декілька форматів виводу" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: неправильний розмір файла" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]\n" " або: %s -e [КЛЮЧ]... [ÐРГУМЕÐТ]...\n" " або: %s -i ÐИЖ-ВИЩ [КЛЮЧ]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "Виводить випадково переÑтавлені вхідні Ñ€Ñдки на Ñтандартний вивід.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo вважати кожен ÐРГУМЕÐТ вхідним Ñ€Ñдком\n" " -i, --input-range=ÐИЖ-ВИЩ вважати чиÑла від ÐИЖ до ВИЩ вхідним Ñ€Ñдком\n" " -n, --head-lines=РЯДКІВ виводити принаймні кількіÑть РЯДКІВ\n" " -o, --output=ФÐЙЛ вивеÑти результат у ФÐЙЛ, а не Ñтандартний " "вивід\n" " --random-source=ФÐЙЛ випадкові дані з ФÐЙЛа\n" " -z, --zero-terminated завершувати Ñ€Ñдки нульовим байтом, а не " "Ñимволом\n" " нового Ñ€Ñдка\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "задано декілька ключів -i" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "неприпуÑтимий вхідний діапазон %s" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "неправильна кількіÑть Ñ€Ñдків %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "задано декілька файлів Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "не можна одночаÑно викориÑтовувати ключі -e та -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s ЧИСЛО[СУФІКС]\n" " або: %s КЛЮЧ\n" "ПризупинÑÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° вказане ЧИСЛО Ñекунд. СУФІКС може\n" "приймати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 's', що означає Ñекунди (типове значеннÑ),\n" "'m' -- хвилини, 'h' -- години та 'd' -- дні. Ðа відміну від\n" "інших реалізацій, Ñкі вимагають, щоб ЧИСЛО було цілим, тут воно\n" "може бути довільним чиÑлом з плаваючою комою.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "неправильний інтервал чаÑу %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð°Ð¹Ð¼ÐµÑ€Ñƒ реального чаÑу" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "ВивеÑти Ñортоване ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… ФÐЙЛ(ів) на Ñтандартний вивід.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Ключі, що вказують порÑдок:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ігнорувати початкові пробіли\n" " -d, --dictionary-order розглÑдати лише пропуÑки, літери та цифри\n" " -f, --ignore-case ігнорувати регіÑтр літер\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort порівнювати чиÑла у загальному форматі\n" " -i, --ignore-nonprinting розглÑдати лише друковані знаки\n" " -M, --month-sort порівнювати (невідомо) < 'JAN' < ... < 'DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort порівнювати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ зручному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ " "форматі (приклад: 2к 1Г)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort порівнювати чиÑлові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñдків\n" " -R, --random-sort Ñортувати за випадковими хешами ключів\n" " --random-source=ФÐЙЛ випадкові дані з ФÐЙЛÐ\n" " -r, --reverse зворотний порÑдок порівнÑннÑ\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=СЛОВО Ñортувати відповідно до СЛОВО:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort Ñортувати за номером верÑÑ–Ñ—\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Інші параметри:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE об'єднувати не більше NMERGE джерел Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ " "одразу;\n" " Ð´Ð»Ñ Ñ€ÐµÑˆÑ‚Ð¸ викориÑтовувати тимчаÑові файли\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first перевірÑти, чи Ñортовані вхідні\n" " файли; не Ñортувати\n" " -C, --check=quiet, --check=silent Ñк -c, але не повідомлÑти про перший\n" " помилковий Ñ€Ñдок\n" " --compress-program=ПРОГ ÑтиÑкати тимчаÑові файли командою ПРОГ;\n" " розпаковувати командою ПРОГ -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug коментувати чаÑтину Ñ€Ñдка, викориÑтану длÑ\n" " впорÑдковуваннÑ, попереджати щодо Ñумнівного\n" " викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾ stderr\n" " --files0-from=Ф читати вхідні дані з файлів, вказаних за " "допомогою\n" " назв, відокремлених нуль-Ñимволом, у файлі Ф;\n" " Якщо Ф — -, читати назви зі Ñтандартного " "джерела\n" " вхідних даних\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=ВИЗÐКЛ впорÑдкувати за ключем, ВИЗÐКЛ визначає міÑце Ñ– " "тип\n" " -m, --merge об'єднати вже впорÑдковані файли; не " "впорÑдковувати\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=ФÐЙЛ виводити у ФÐЙЛ, а не на Ñтандартний вивід\n" " -s, --stable Ñтабілізувати ÑортуваннÑ, виключивши перевірку на " "рівніÑть\n" " -S, --buffer-size=РОЗМІР\n" " викориÑтовувати в пам'Ñті буфер вказаного РОЗМІРУ\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=РОЗДІЛЮВÐЧ\n" " викориÑтовувати при пошуку ключових полів РОЗДІЛЮВÐЧ, а " "не\n" " перехід від непробільних знаків до пробільних\n" " -T, --temporary-directory=КÐТÐЛОГ\n" " викориÑтовувати Ð´Ð»Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñових файлів КÐТÐЛОГ, а не " "$TMPDIR\n" " або %s; декілька таких ключів задають декілька каталогів\n" " -u, --unique з -c, Ñуворо перевірÑти порÑдок;\n" " без -c, виводити лише перше з кількох рівних\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated завершувати Ñ€Ñдки нульовим байтом, а не Ñимволом " "нового Ñ€Ñдка\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "ВИЗÐКЛ вказуєтьÑÑ Ñк П[.З][ПÐРÐМ][П[.З][ПÐРÐМ]] Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— Ñ–\n" "кінцевої позицій, де П -- номер полÑ, а З -- позиціÑ\n" "Ñимволу у цьому поле, відлік обох ведетьÑÑ Ð· 1, типовою кінцевою\n" "позицією Ñ” Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка. Якщо не викориÑтано ні -t, ні -b,\n" "відлік Ñимволів у полі веÑтиметьÑÑ Ð· початку попереднього полю пробілу.\n" "ПÐРÐМ визначаєтьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ або декількома параметрами впорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·\n" "набору [bdfgiMhnRrV]. ПÐРÐМ перевизначає загальні параметри впорÑдковуваннÑ\n" "Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ ключа. Якщо поле ключа не вказано, Ñк ключ буде\n" "викориÑтано увеÑÑŒ Ñ€Ñдок.\n" "\n" "ПіÑÐ»Ñ Ð ÐžÐ—ÐœÐ†Ð Ð£ можна вказувати такі ÑуфікÑи-мультиплікатори:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% пам'Ñті, b 1, k 1024 (типово), та так далі Ð´Ð»Ñ M, G, T, P, E, Z, Y.\n" "\n" "Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читає Ñтандартний ввід.\n" "\n" "*** ПОПЕРЕДЖЕÐÐЯ ***\n" "Ð’Ñтановлена в Ñередовищі локаль впливає на порÑдок ÑортуваннÑ.\n" "Щоб отримати традиційний порÑдок, що викориÑтовує ÑиÑтемні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ð°Ð¹Ñ‚,\n" "вÑтановіть LC_ALL=C.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] аварійно завершений" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "не вдалоÑÑ Ñтворити тимчаÑовий файл у %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°ÑÑŒ помилкою" #: src/sort.c:970 msgid "fflush failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ fflush завершилаÑÑŒ помилкою" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "помилка закриттÑ" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "помилка dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "неможливо виконати %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "не вдалоÑÑ Ñтворити тимчаÑовий файл" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "неможливо Ñтворити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð»Ñ %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "неможливо виконати %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "попередженнÑ, не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "некоректний аргумент --%s %s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "мінімальним аргументом --%s Ñ” %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "аргумент --%s %s Ñ” занадто великим" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "макÑимум --%s аргумент з поточним rlimit що дорівнює %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "кількіÑть паралельних впорÑдкувань має бути ненульовою" #: src/sort.c:1494 msgid "stat failed" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ stat завершилаÑÑŒ помилкою" #: src/sort.c:1755 msgid "read failed" msgstr "помилка читаннÑ" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "помилка Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ñдків" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "РÑдок до Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ не знайдено збігів з ключем\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "викориÑтано заÑтарілий ключ «%s»; вам варто ÑкориÑтатиÑÑ ÐºÐ»ÑŽÑ‡ÐµÐ¼ «%s»" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "ключ %lu має нульову ширину, його буде проігноровано" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "початкові пробіли у ключі %lu буде враховано; варто також вказати «b»" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "ключ %lu Ñ” чиÑловим, він охоплює декілька полів" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "параметр «-%s» проігноровано" msgstr[1] "параметри «-%s» проігноровано" msgstr[2] "параметри «-%s» проігноровано" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "параметр «-r» заÑтоÑовуєтьÑÑ Ð»Ð¸ÑˆÐµ у разі, Ñкщо збігів не виÑвлено" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: неправильний порÑдок: " #: src/sort.c:2786 msgid "standard error" msgstr "Ñтандартна помилка" #: src/sort.c:3698 msgid "cannot read" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: неправильна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ð»Ñ %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "неÑуміÑні параметри '-%s'" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: неправильний лічильник на початку %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "неправильне чиÑло піÑÐ»Ñ '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "неправильне чиÑло піÑÐ»Ñ '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "зайвий знак у Ñпецифікації полÑ" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "вказано декілька програм ÑтиÑканнÑ" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "неправильне чиÑло на початку полÑ" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "нульовий номер полÑ" #: src/sort.c:4392 msgid "character offset is zero" msgstr "нульовий знаковий зÑув" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "неправильне чиÑло піÑÐ»Ñ ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑціÑ" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ назви файлів з %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: некоректна нульова довжина назви файла" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "немає вхідних даних з %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "викориÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° впорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ñте порівнÑÐ½Ð½Ñ Ð±Ð°Ð¹Ñ‚Ñ–Ð²" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "додатковий операнд %s не припуÑтимий з -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "довжина ÑуфікÑа не повинна бути меншою за %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТР]... [ВХІДÐІ_ДÐÐІ [ПРЕФІКС]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Виводить фікÑовані за розміром чаÑтини ВХІДÐІ_ДÐÐІ до файлів ПРЕФІКСaa,\n" "ПРЕФІКСab, ...; типово розмір чаÑтини дорівнює 1000 Ñ€Ñдків, а ПРЕФІКС\n" "дорівнює 'x'. Якщо ВХІДÐІ_ДÐÐІ не вказано або вказано Ñк -, читає\n" "дані зі Ñтандартного джерела даних.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=РвикориÑтовувати ÑуфікÑи довжини Ð (типово %d)\n" " -b, --bytes=ЧИСЛО запиÑувати у кожен файл виводу вказане ЧИСЛО байт\n" " -C, --line-bytes=ЧИСЛО запиÑувати не більше вказаного ЧИСЛРбайт з Ñ€Ñдка\n" " -d, --numeric-suffixes викориÑтовувати чиÑлові, а не алфавітні ÑуфікÑи\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=КОМÐÐДРзапиÑувати КОМÐÐДУ до оболонки; назвою файла Ñ” " "$FILE\n" " -l, --lines=ЧИСЛО запиÑувати у кожен файл виводу вказане ЧИСЛО " "Ñ€Ñдків\n" " -n, --number=КІЛЬКІСТЬ Ñтворити КІЛЬКІСТЬ фрагментів виведеннÑ. Див. " "нижче.\n" " -u, --unbuffered копіювати вхідні дані безпоÑередньо до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· " "«-n r/...»\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose виводити діагноÑтичні повідомленнÑ\n" " перед відкриттÑм кожного файла виводу\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "ФРÐГМЕÐТИ можна задавати у форматі:\n" "N розділити на N файлів на оÑнові розміру вхідних даних\n" "K/N вивеÑти K-ий з N до stdout\n" "l/N розділити на N файлів без поділу на Ñ€Ñдки\n" "l/K/N вивеÑти K-ий з N до stdout без поділу на Ñ€Ñдки\n" "r/N подібно до «l», але з викориÑтаннÑм циклічного перебираннÑ\n" "r/K/N те Ñаме, але вивеÑти лише K-ий з N до stdout\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "вичерпано ÑуфікÑи Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… файлів" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "ÑтворюєтьÑÑ Ñ„Ð°Ð¹Ð» %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s перепише вхідні дані; перериваємо роботу" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "не вдалоÑÑ Ð²Ñтановити змінну Ñередовища FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð· FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "не вдалоÑÑ Ñтворити канал" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ каналу" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ виведеннÑ" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "переÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ введеннÑ" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ введеннÑ" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ команду: «%s -c %s»" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ канал вхідних даних" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дочірній процеÑ" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "при FILE=%s, Ñигнал %s від команди: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "при FILE=%s, код виходу %d від команди: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "невідомий Ñтан від команди (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "не можна розбивати одразу кількома методами" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: некоректна кількіÑть фрагментів" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: некоректний номер фрагмента" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: неправильна довжина ÑуфікÑу" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: неправильна кількіÑть байт" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: неправильна кількіÑть Ñ€Ñдків" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "ключ кількоÑті Ñ€Ñдків -%s%c... надто великий" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: некоректне початкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ чиÑловому ÑуфікÑÑ–" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: некоректний розмір блоку введеннÑ-виведеннÑ" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter не оброблÑÑ” фрагменти, видобуті до stdout" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "початкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð¸Ñлового ÑуфікÑа Ñ” занадто великим Ð´Ð»Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ ÑуфікÑа" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір файла" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ у канонічну форму %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "попередженнÑ: керівна поÑлідовніÑть '\\%c' не розпізнана" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: неправильна директива" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "попередженнÑ: зворотна похила риÑка наприкінці формату" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "викориÑÑ‚Ð°Ð½Ð½Ñ %s Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтандартного Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð½Ðµ працює у режимі " "файлової ÑиÑтеми" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ інформацію файлової ÑиÑтеми Ð´Ð»Ñ %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ Ñтандартного джерела вхідних даних" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Файл: «%n»\n" " Ід.: %-8i Довжина назви: %-7l Тип: %T\n" "Розмір блоку: %-10s Базовий розмір блоку: %S\n" "Блоки: загалом: %-10b вільних: %-10f доÑтупних: %a\n" "Inode: загалом: %-10c вільних: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Файл: %N\n" " Розмір: %-10s\tБлоків: %-10b Блок в/в: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "ПриÑтрій: %Dh/%dd\tInode: %-10i ПоÑиланнÑ: %-5h Тип приÑтрою: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "ПриÑтрій: %Dh/%dd\tInode: %-10i ПоÑиланнÑ: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "ДоÑтуп: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "КонтекÑÑ‚: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "ДоÑтуп: %x\n" "Модиф.: %y\n" " Зміна: %z\n" "Створ.: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Показати файл або Ñтан файлової ÑиÑтеми.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference Ñлідувати за поÑиланнÑм\n" " -f, --file-system показати Ñтан файлової ÑиÑтеми, а не файла\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=ФОРМÐТ викориÑтовувати вказаний ФОРМÐТ, а не типовий;\n" " переводити Ñ€Ñдок піÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ викориÑÑ‚Ð°Ð½Ð½Ñ " "ФОРМÐТУ\n" " --printf=ФОРМÐТ Ñк --format, але інтерпретувати керівні\n" " поÑлідовноÑті Ñ– не переводити Ñ€Ñдок наприкінці.\n" " Якщо потрібно Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка, вÑтавте у ФОРМÐТ " "\\n.\n" " -t, --terse виводити дані у компактній формі\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Можливі форматні поÑлідовноÑті Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² (без --file-system):\n" "\n" " %a права доÑтупу у віÑімковій формі\n" " %A права доÑтупу у текÑтовій формі\n" " %b кількіÑть виділених блоків (дивітьÑÑ %B)\n" " %B розмір блоку, що повідомлÑєтьÑÑ %b, у байтах\n" " %C Ñ€Ñдок з контекÑтом безпеки SELinux\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d номер приÑтрою, деÑÑтковий\n" " %D номер приÑтрою, шіÑтнадцÑтковий\n" " %f низькорівневий режим, шіÑтнадцÑтковий\n" " %F тип файла\n" " %g ідентифікатор групи-влаÑника\n" " %G назва групи-влаÑника\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h кількіÑть жорÑтких поÑилань\n" " %i кількіÑть inode\n" " %m точка монтуваннÑ\n" " %n назва файла\n" " %N екранована назва файла, Ñимвольні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ñ–Ð¼ÐµÐ½Ð¾Ð²ÑƒÑŽÑ‚ÑŒÑÑ\n" " %o оптимальний розмір блоку введеннÑ-виведеннÑ\n" " %s повний розмір, у байтах\n" " %t оÑновний тип приÑтрою, шіÑтнадцÑтковий\n" " %T другорÑдний тип приÑтрою, шіÑтнадцÑтковий\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u ідентифікатор кориÑтувача-влаÑника\n" " %U ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача-влаÑника\n" " %w Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° у зручному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–; - Ñкщо невідомий\n" " %W Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° у Ñекундах від початку Епохи; 0 Ñкщо невідомий\n" " %x Ñ‡Ð°Ñ Ð¾Ñтанньої доÑтупу\n" " %X Ñ‡Ð°Ñ Ð¾Ñтанньої доÑтупу у Ñекундах з початку Епохи\n" " %y Ñ‡Ð°Ñ Ð¾Ñтанньої зміни\n" " %Y Ñ‡Ð°Ñ Ð¾Ñтанньої зміни у Ñекундах з початку Епохи\n" " %z Ñ‡Ð°Ñ Ð¾Ñтанньої зміни\n" " %Z Ñ‡Ð°Ñ Ð¾Ñтанньої зміни у Ñекундах з початку Епохи\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Можливі поÑлідовноÑті Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ… ÑиÑтем:\n" "\n" " %a кількіÑть вільних блоків, доÑтупних Ð´Ð»Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ кориÑтувача\n" " %b повна кількіÑть блоків даних у файловій ÑиÑтемі\n" " %c повна кількіÑть вузлів у файловій ÑиÑтемі\n" " %d кількіÑть вільних файлових вузлів у файловій ÑиÑтемі\n" " %f кількіÑть вільних блоків у файловій ÑиÑтемі\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i Ідентифікатор файлової ÑиÑтеми, шіÑтнадцÑтковий\n" " %l МакÑимальна довжина назви файла\n" " %n Ðазва файла\n" " %s Розмір блоку (Ð´Ð»Ñ ÑˆÐ²Ð¸Ð´ÑˆÐ¾Ñ— передачі)\n" " %S Фундаментальний розмір блоку (Ð´Ð»Ñ Ð¾Ð±Ð»Ñ–ÐºÑƒ блоків)\n" " %t Тип, шіÑтнадцÑтковий\n" " %T Тип у текÑтовій формі\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "ВикориÑтаннÑ: %s ПÐРÐМЕТР... КОМÐÐДÐ\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "ЗапуÑкає КОМÐÐДУ зі зміненими діÑми з буферизації Ð´Ð»Ñ Ñтандартних потоків.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартного " "введеннÑ\n" " -o, --output=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартного " "виведеннÑ\n" " -e, --error=РЕЖИМ Ñкоригувати буферизацію Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ Ñтандартних помилок\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Якщо РЕЖИМ дорівнює L, Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ потоку буде викориÑтано Ñ€Ñдкову " "буферизацію.\n" "Цей параметр Ñ” некоректним Ð´Ð»Ñ Ñтандартного джерела даних.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Якщо РЕЖИМ дорівнює 0, відповідний потік не буферизуєтьÑÑ.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "РЕЖИМ може бути чиÑлом, за Ñким вказано один з таких ÑуфікÑів:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024 тощо Ð´Ð»Ñ G, T, P, E, Z, Y.\n" "У такому разі відповідний потік буде повніÑтю буферизовано зі вÑтановленнÑм\n" "розміру буфера у РЕЖИМ байтів.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "ЗÐУВÐЖЕÐÐЯ: Ñкщо КОМÐÐДРÑама коригує буферизацію Ñтандартних потоків даних\n" "(наприклад tee), перевизначає відповідні параметри, змінені stdbuf.\n" "Крім того, деÑкі фільтри (зокрема dd Ñ– cat) не викориÑтовують потоки длÑ\n" "введеннÑ/виведеннÑ, отже параметри stdbuf на них не впливають.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ñередовища за допомогою %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "Ñ€Ñдкова Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ñ–Ñ stdin не має ÑенÑу" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "ВикориÑтаннÑ: %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [ПÐРÐМЕТР]...\n" " або %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-a|--all]\n" " або %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Виводить або змінює характериÑтики термінала.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all вивеÑти поточні параметри у текÑтовій формі\n" " -g, --save вивеÑти поточні параметри у формі, що зрозуміла програмі\n" " stty\n" " -F, --file=ПРИСТРІЙ\n" " відкрити та викориÑтовувати вказаний приÑтрій заміÑть\n" " Ñтандартного вводу\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Ðеобов'Ñзковий знак Ð¼Ñ–Ð½ÑƒÑ Ð¿ÐµÑ€ÐµÐ´ ПÐРÐМЕТРом означає зміну знаку. Зірочкою\n" "позначені параметри, не опиÑані у Ñтандарті POSIX. ДоÑтупніÑть того чи\n" "іншого параметру визначаєтьÑÑ ÑиÑтемою, що викориÑтовуєтьÑÑ.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Спеціальні Ñимволи:\n" "* dsusp СИМВОЛ СИМВОЛ буде надÑилати терміналу Ñигнал зупинки при\n" " завершенні вводу\n" " eof СИМВОЛ СИМВОЛ буде означати кінець файла (Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ)\n" " eol СИМВОЛ СИМВОЛ буде означати кінець Ñ€Ñдка\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" "* eol2 СИМВОЛ інший СИМВОЛ Ð´Ð»Ñ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка\n" " erase СИМВОЛ СИМВОЛ буде Ñтирати оÑтанній введений до нього\n" " intr СИМВОЛ СИМВОЛ буде надÑилати Ñигнал перериваннÑ\n" " kill СИМВОЛ СИМВОЛ буде Ñтирати поточний Ñ€Ñдок\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" "* lnext СИМВОЛ СИМВОЛ буде вводити наÑтупний Ñимвол, ÑкаÑовуючи його\n" " Ñпеціальну дію\n" " quit СИМВОЛ СИМВОЛ буде надÑилати Ñигнал виходу\n" "* rprnt СИМВОЛ СИМВОЛ буде перериÑовувати поточний Ñ€Ñдок\n" " start СИМВОЛ СИМВОЛ буде відновлювати ввід\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop СИМВОЛ СИМВОЛ буде призупинÑти ввід\n" " susp СИМВОЛ СИМВОЛ буде надÑилати терміналу Ñигнал зупинки\n" "* swtch СИМВОЛ СИМВОЛ буде перемикати рівень ÑкладноÑті оболонки\n" "* werase СИМВОЛ СИМВОЛ буде Ñтирати оÑтаннє введене Ñлово\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Спеціальні параметри:\n" "\n" " РвÑтановити швидкіÑть Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñƒ Рбод\n" "* cols Рповідомити Ñдру, що термінал має Ð Ñтовпчиків\n" "* columns Ð Ñинонім cols\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed РвÑтановити швидкіÑть вводу\n" "* line РвикориÑтовувати протокол лінії Ð\n" " min РвикориÑтовуєтьÑÑ Ð· -icanon, вÑтановити Рмінімальним чиÑлом\n" " Ñимволів Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— читаннÑ\n" " ospeed РвÑтановити швидкіÑть виводу\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" "* rows Рповідомити Ñдру, що термінал має РрÑдків\n" "* size вивеÑти чиÑла Ñтовпчиків та Ñ€Ñдків, відомі Ñдру\n" " speed вивеÑти швидкіÑть терміналу\n" " time РвикориÑтовуєтьÑÑ Ð· -icanon, вÑтановити чаÑову межу длÑ\n" " операції Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñ–Ð²Ð½Ð¸Ð¼ РдеÑÑтим Ñекунди\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Параметри керуваннÑ:\n" " [-]clocal ÑкаÑувати керівні Ñигнали модему\n" " [-]cread дозволити ввід\n" " * [-]crtscts дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ RTS/CTS\n" " * [-]cdtrdsr дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ DTR/DSR\n" " csРвÑтановити розмір Ñимволу рівним Рбіт, Рвід 5 до 8\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb два біти Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ñƒ Ñимволі (один, Ñкщо з '-')\n" " [-]hup надÑилати Ñигнал обриву термінальної лінії, коли оÑтанній\n" " Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°ÐºÑ€Ð¸Ð²Ð°Ñ” термінал\n" " [-]hupcl Ñинонім [-]hup\n" " [-]parenb генерувати при виводі біт парноÑті та очікувати біт " "парноÑті\n" " на вводі\n" " [-]parodd вÑтановити перевірку на непарніÑть (або парніÑть, Ñкщо з " "'-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Параметри вводу:\n" " [-]brkint Ñимвол break буде викликати Ñигнал перериваннÑ\n" " [-]icrnl перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка\n" " [-]ignbrk ігнорувати Ñимволи перериваннÑ\n" " [-]igncr ігнорувати Ñимволи Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ігнорувати Ñимволи з помилками парноÑті\n" "* [-]imaxbel при переповненні буферу вводу подавати звуковий Ñигнал та\n" " не Ñкидати буфер, ігноруючи подальший ввід\n" " [-]inlcr перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" " [-]inpck викориÑтовувати перевірку парноÑті вводу\n" " [-]istrip очищати Ñтарший (воÑьмий) біт Ñимволів, що вводÑтьÑÑ\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 вважати, що вхідні знаки у кодуванні UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" "* [-]iuclc перетворювати великі літери на малі\n" "* [-]ixany дозволити будь-Ñкому Ñимволу відновити ввід\n" " [-]ixoff дозволити надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñимволів призупиненнÑ/відновленнÑ\n" " [-]ixon дозволити ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ даних\n" " [-]parmrk відмічати помилки парноÑті (поÑлідовніÑтю з 255 нулів)\n" " [-]tandem Ñинонім [-]xioff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Параметри виводу:\n" "* bsРпауза піÑÐ»Ñ Ð·Ð°Ð±Ð¾ÑŽ, діапазон Ð [0..1]\n" "* crРпауза піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸, діапазон Ð [0..3]\n" "* ffРпауза піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñторінки, діапазон Ð [0..1]\n" "* nlРпауза піÑÐ»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ€Ñдка, діапазон Ð [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" "* [-]ocrnl перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка\n" "* [-]ofdel заповнювати Ñимволами Ð·Ð°Ñ‚Ð¸Ñ€Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–Ñть нулів\n" "* [-]ofill викориÑтовувати Ñимволи Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ñ‚Ñ€Ð¸Ð¼Ð¾Ðº\n" "* [-]olcuc перетворювати маленькі літери на великі\n" "* [-]onlcr перетворювати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка у Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" "* [-]onlret Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка призводить до Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" "* [-]onocr не виводити Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸ у першому Ñтовпчику\n" " [-]opost форматувати вивід\n" "* tabÐ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°ÑƒÐ·Ð¸ піÑÐ»Ñ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð¾Ñ— табулÑції,\n" " допуÑтимі Ð [0..3]\n" "* tabs Ñинонім tab0\n" "* -tabs Ñинонім tab3\n" "* vtРпауза піÑÐ»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— табулÑції, діапазон Ð [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Локальні параметри:\n" " [-]crterase Ñтирати Ñимволи Ñк забиттÑ-пробіл-забиттÑ\n" "* crtkill Ñтирати веÑÑŒ Ñ€Ñдок, згідно з параметрами echoprt та echoe\n" "* -crtkill Ñтирати веÑÑŒ Ñ€Ñдок, згідно з параметрами echoctl та echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" "* [-]ctlecho відображати керівні Ñимволи з шапкою ('^c')\n" " [-]echo відображати Ñимволи, що вводÑтьÑÑ\n" "* [-]echoctl Ñинонім [-]ctlecho\n" " [-]echoe Ñинонім [-]crterase\n" " [-]echok відображати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка піÑÐ»Ñ Ñимволу знищеннÑ\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" "* [-]echoke Ñинонім [-]crtkill\n" " [-]echonl відображати Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдка, навіть Ñкщо інші Ñимволи не\n" " відображаютьÑÑ\n" "* [-]echoprt виводити Ñтерті Ñимволи у зворотному порÑдку, між '\\' та " "'/'\n" " [-]icanon викориÑтовувати ÑпецÑимволи erase, kill, werase, та rprnt\n" " [-]iexten викориÑтовувати ÑпецÑимволи, не опиÑані у Ñтандарті POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig викориÑтовувати ÑпецÑимволи interrupt, quit, та suspend\n" " [-]noflsh заборонити ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ піÑÐ»Ñ Ð¿Ñ€Ð¸Ð¹Ð¾Ð¼Ñƒ ÑпецÑимволів\n" " interrupt та quit\n" "* [-]prterase Ñинонім [-]echoprt\n" "* [-]tostop призупинÑти фонові програми, що намагаютьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ запиÑ\n" " на термінал\n" "* [-]xcase відображати '\\' Ð´Ð»Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… літер, вживаєтьÑÑ Ð· icanon\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Об'єднані параметри:\n" "* [-]LCASE Ñинонім [-]lcase\n" " cbreak Ñинонім -icanon\n" " -cbreak Ñинонім icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked Ñинонім brkint ignpar istrip icrnl ixon opost isig icanon,\n" " Ñимволи eof та eol мають типове значеннÑ\n" " -cooked Ñинонім raw\n" " crt Ñинонім echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec Ñинонім echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" "* [-]decctlq Ñинонім [-]ixany\n" " ek вÑтановити типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñимволів erase та kill\n" " evenp Ñинонім parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp Ñинонім -parenb cs8\n" "* [-]lcase Ñинонім xcase iuclc olcuc\n" " litout Ñинонім -parenb -istrip -opost cs8\n" " -litout Ñинонім parenb istrip opost cs7\n" " nl Ñинонім -icrnl -onlcr\n" " -nl Ñинонім icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp Ñинонім parenb parodd cs7\n" " -oddp Ñинонім -parenb cs8\n" " [-]parity Ñинонім [-]evenp\n" " pass8 Ñинонім -parenb -istrip cs8\n" " -pass8 Ñинонім parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw Ñинонім -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw Ñинонім cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane Ñинонім cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, вÑÑ– ÑпецÑимволи\n" " мають типове значеннÑ\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Керує термінальною лінією, що підключена до Ñтандартного вводу. Запущена\n" "без аргументів, виводить швидкіÑть передачі інформації, line discipline та\n" "відмінноÑті від звичайних параметрів. Ð’ параметрах, СИМВОЛИ трактуютьÑÑ\n" "буквально або вказуютьÑÑ Ñƒ Ñк ^c, 0x37, 0177 або 127; Ð´Ð»Ñ ÑкаÑуваннÑ\n" "Ñпеціальних Ñимволів Ñлужать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ^- та undef.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "можна вказати лише одне приÑтрій" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "ключі Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ у текÑтовому та виводі, зрозумілому програмі stty,\n" "виключають один одного" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "при вказуванні Ñтилю виводу не можна вÑтановлювати режим" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ неблокуючий режим" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "неправильний аргумент %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "пропущений аргумент Ð´Ð»Ñ %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "неправильна line discipline %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ вÑÑ– запитані дії" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ приÑтрою немає відомоÑтей про розмір" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "неправильний цілий аргумент %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Виводить контрольну Ñуму Ñ– кількіÑть блоків Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛа.\n" "\n" " -r викориÑтовувати метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум BSD,\n" " розмір блоку 1 кБ\n" " -s, --sysv викориÑтовувати метод обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¸Ñ… Ñум System " "V,\n" " розмір блоку 512 байт\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "ЗапиÑує змінені блоки на диÑк, оновлює Ñуперблок\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "вÑÑ– аргументи проігноровані" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "ПРИМІТКÐ: ваша оболонка може надавати Ñвою верÑÑ–ÑŽ %s, Ñка\n" "звичайно перекриває верÑÑ–ÑŽ, опиÑану тут. ЗвернітьÑÑ Ð´Ð¾\n" "документації з вашої оболонки, щоб дізнатиÑÑŒ, Ñкі ключі вона\n" "підтримує.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help показати цю довідку та вийти\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" " --version показати інформацію про верÑÑ–ÑŽ та вийти\n" "\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Обов'Ñзкові аргументи Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… форм запиÑу параметрів Ñ” обов'Ñзковими Ñ– " "Ð´Ð»Ñ Ñкорочених форм.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "РОЗМІР Ñ” цілим чиÑлом з додатковим значеннÑм одиниці (приклад: 10M = " "10*1024*1024).\n" "ОдиницÑми можуть бути K, M, G, T, P, E, Z, Y (Ñтепені 1024) або KB, MB... " "(Ñтепені 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Показує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ одиницÑÑ… першого доÑтупного РОЗМІРу з --block-size\n" "та змінні Ñередовища %s_BLOCK_SIZE, BLOCK_SIZE та BLOCKSIZE.\n" "Якщо розмір не буде знайдено, типовою одиницею буде 1024 байтів\n" "(або 512, Ñкщо вÑтановлено POSIXLY_CORRECT).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Про вади у %s повідомлÑйте на адреÑу %s.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Повідомте %s про помилку у перекладі на <http://translationproject.org/team/" ">\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "ОзнайомитиÑÑ Ð· повною документацією можна за допомогою команди info " "coreutils '%s invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Спробуйте '%s --help' Ð´Ð»Ñ Ð¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— інформації.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "УВÐГÐ: Ð—Ð°Ñ†Ð¸ÐºÐ»ÐµÐ½Ð½Ñ Ñƒ Ñтруктурі каталогу.\n" "Швидше за вÑе, це означає, що ваша файлова ÑиÑтема пошкоджена.\n" "ПОВІДОМТЕ Ð’ÐШОГО СИСТЕМÐОГО ÐДМІÐІСТРÐТОРÐ.\n" "ÐаÑтупний каталог Ñ” чаÑтиною циклу:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Виводить ФÐЙЛИ на Ñтандартний вивід, починаючи з оÑтанньої Ñ€Ñдка.\n" "Якщо ФÐЙЛ не вказано або вказано Ñк -, читає Ñтандартний ввід.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before приєднати розділювач до початку, а не до кінцÑ\n" " -r, --regex Ñприймати розділювач Ñк регулÑрний вираз\n" " -s, --separator=РЯДОК вказати розділювачем РЯДОК, а не знак '\\n'\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: помилка Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾ файла" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð½Ð°Ð´Ñ‚Ð¾ великий" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "не вдалоÑÑ Ñтворити тимчаÑовий файл у %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "не вдалоÑÑ Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚Ð¸ÑÑ Ð´Ð¾ початку потоку даних Ð´Ð»Ñ %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: помилка запиÑу" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "помилка при Ñпробі відкрити %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "розділювач не може бути порожнім" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Виводить оÑтанні %d Ñ€Ñдків кожного з ФÐЙЛІВ на Ñтандартний вивід.\n" "Якщо задано декілька ФÐЙЛІВ, Ñпочатку виводить заголовок з назвою файла.\n" "Якщо ФÐЙЛ не вказано або вказано Ñк -, читає Ñтандартний ввід.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=РвивеÑти оÑтанні Рбайтів; вкажіть «-c +л,\n" " щоб Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ розпочато з Ð-го байта кожного " "з файлів\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " виводити дані, що надходÑть, при зроÑтанні " "файла;\n" " -f, --follow та --follow=descriptor еквівалентні\n" " -F еквівалент --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=Рвиводити оÑтанні РрÑдків, а не оÑтанні %d\n" " ÑкориÑтайтеÑÑ -n +K Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñдків з Ð-го\n" " --max-unchanged-stats=Ð\n" " c ключем --follow=name, повторно відкривати\n" " ФÐЙЛ, Ñкий не змінивÑÑ Ð¾Ñтанні Ð (типово %d)\n" " ітерацій, щоб перевірити, чи не було його " "вилучено\n" " або перейменовано (таке звичайно буває при\n" " ротації ÑиÑтемних протокольних файлів)\n" " З inotify цей параметр малокориÑний.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID з ключем -f, перерватиÑÑ, коли Ð¿Ñ€Ð¾Ñ†ÐµÑ PID\n" " завершує роботу\n" " -q, --quiet, --silent не виводити заголовки з назвами файлів\n" " --retry повторювати Ñпроби відкрити файл, навіть Ñкщо\n" " доÑтуп до нього буде втрачено, кориÑно, Ñкщо \n" " вказано назву файла, тобто з --follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=Рз ключем -f, перевірÑти Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… даних\n" " приблизно кожні Ð Ñекунд (типово 1).\n" " Якщо викориÑтано inotify Ñ– --pid=P, перевірÑти\n" " Ð¿Ñ€Ð¾Ñ†ÐµÑ P принаймні кожні Ð Ñекунд.\n" " -v, --verbose завжди виводити заголовки з назвами файлів\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Якщо першим Ñимволом у Ð (чиÑлі байт або Ñ€Ñдків) Ñ” «+», Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ\n" "розпочато з Ð-ого елемента від початку кожного файла, інакше буде\n" "виведено оÑтанні Релементи. Рможе мати ÑуфікÑ-множник: b 512, kB 1000, K " "1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 тощо Ð´Ð»Ñ T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "З --follow (-f) tail типово Ñлідкує за деÑкриптором файла, тобто, навіть " "Ñкщо\n" "назву файла буде змінено, tail продовжуватиме Ñтежити за його кінцем.\n" "Така типова поведінка небажана, Ñкщо ви хочете Ñлідкувати за файлом, Ñкий\n" "має певну назву, а не за деÑкриптором (наприклад файлом журналу, Ñкий\n" "підлÑгає періодичній ротації). У такому разі викориÑтовуйте\n" "--follow=name. Це змуÑить tail Ñлідувати за вказаним файлом, беручи до " "уваги\n" "його перейменуваннÑ, Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ ÑтвореннÑ.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити вказівник позиції на %s відноÑно кінцÑ" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ %s. ПовертаємоÑÑ Ð´Ð¾ ÑпоÑобу опитуваннÑ" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "Ðерозпізнаний тип файлової ÑиÑтеми 0x%08lx Ð´Ð»Ñ %s. Будь лаÑка, повідомте про " "нього до %s. ПовертаємоÑÑ Ð´Ð¾ проÑтого опитуваннÑ." #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s Ñтав недоÑтупний" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s був замінений файлом, Ð´Ð»Ñ Ñкого tail незаÑтоÑовний; кінець виводу Ð´Ð»Ñ " "цієї назви" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s було замінено віддаленим файлом. Кінець виводу Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— назви" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s Ñтав доÑтупний" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s з'ÑвивÑÑ; початий вивід Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s був заміщений; вивід продовжуєтьÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ неблокуючий режим" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: файл обрізаний" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "більше немає файлів" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÑпоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° батьківÑьким каталогом %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "вичерпано реÑурÑи inotify" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ÑпоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "помилка під Ñ‡Ð°Ñ ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° подією inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ñ— inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: не можна Ñтежити за кінцем файла такого типу; вивід продовжуєтьÑÑ Ð´Ð»Ñ " "нового файла" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "чиÑло у %s надто велике" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: неправильна макÑимальна кількіÑть не змінених параметрів між відкриттÑми" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: неправильний PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: неправильне чиÑло Ñекунд" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "параметр викориÑтовує неправильний контекÑÑ‚ -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "попередженнÑ: ключ --retry кориÑний лише при Ñлідуванні за назвою файла" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "попередженнÑ: PID ігнорований; ключ --pid=PID кориÑний лише при Ñлідуванні" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "попередженнÑ: --pid=PID не підтримуєтьÑÑ Ð½Ð° цій ÑиÑтемі" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "не вдалоÑÑ Ñлідувати за %s за назвою" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "попередженнÑ: неÑкінченне ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° Ñтандартним вводом неефективне" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "не можна викориÑтовувати inotify, повертаємоÑÑ Ð´Ð¾ ÑпоÑобу опитуваннÑ" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Копіює Ñтандартний ввід у кожен ФÐЙЛ, а також у Ñтандартний вивід.\n" "\n" " -a, --append допиÑати у вказані ФÐЙЛИ\n" " -i, --ignore-interrupts ігнорувати Ñигнали перериваннÑ\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Якщо ФÐЙЛ вказаний Ñк -, копіює знову у Ñтандартний вивід.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "пропущений аргумент піÑÐ»Ñ %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "неправильне ціле чиÑло %s" #: src/test.c:241 msgid "')' expected" msgstr "очікуєтьÑÑ ')'" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "очікуєтьÑÑ ')', виÑвлено %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: очікуєтьÑÑ ÑƒÐ½Ð°Ñ€Ð½Ð¸Ð¹ оператор" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt не допуÑкає -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef не допуÑкає -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot не допуÑкає -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "невідомий двійковий оператор" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: очікуєтьÑÑ Ð´Ð²Ñ–Ð¹ÐºÐ¾Ð²Ð¸Ð¹ оператор" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "ВикориÑтаннÑ: test ВИРÐЗ\n" " або: test\n" " або: [ ВИРÐЗ ]\n" " або: [ ]\n" " або: [ КЛЮЧ\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "Вихідний ÑÑ‚Ð°Ñ‚ÑƒÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ð’Ð˜Ð ÐЗОМ.\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Якщо ВИРÐЗ не вказаний, він вважаєтьÑÑ Ñ…Ð¸Ð±Ð½Ð¸Ð¼. У іншому випадку\n" "ВИРÐЗ може бути Ñ–Ñтинним або хибним; він вÑтановлює ÑтатуÑ\n" "Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸. Код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ð½Ð°Ñтупним образом:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( ВИРÐЗ ) ВИРÐЗ Ñ–Ñтинний\n" " ! ВИРÐЗ ВИРÐЗ хибний\n" " ВИРÐЗ1 -a ВИРÐЗ2 ВИРÐЗ1 та ВИРÐЗ2 обидва Ñ–Ñтинні\n" " ВИРÐЗ1 -o ВИРÐЗ2 ВИРÐЗ1 або ВИРÐЗ2 Ñ–Ñтинний\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n РЯДОК довжина РЯДКРвідмінна від нулÑ\n" " РЯДОК еквівалентно -n РЯДОК\n" " -z РЯДОК довжина РЯДКРдорівнює нулю\n" " РЯДОК1 = РЯДОК2 Ñ€Ñдки еквівалентні\n" " РЯДОК1 != РЯДОК2 Ñ€Ñдки не еквівалентні\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " ЦІЛЕ1 -eq ЦІЛЕ2 ЦІЛЕ1 дорівнює ЦІЛОМУ2\n" " ЦІЛЕ1 -ge ЦІЛЕ2 ЦІЛЕ1 більше або дорівнює ЦІЛОМУ2\n" " ЦІЛЕ1 -gt ЦІЛЕ2 ЦІЛЕ1 більше ЦІЛОГО2\n" " ЦІЛЕ1 -le ЦІЛЕ2 ЦІЛЕ1 менше або дорівнює ЦІЛОМУ2\n" " ЦІЛЕ1 -lt ЦІЛЕ2 ЦІЛЕ1 менше ЦІЛОГО2\n" " ЦІЛЕ1 -ne ЦІЛЕ2 ЦІЛЕ1 відмінне від ЦІЛОГО2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 та ФÐЙЛ2 мають одинакові приÑтрої та номери inode\n" " ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 змінювавÑÑ Ð¿Ñ–Ð·Ð½Ñ–ÑˆÐµ ніж ФÐЙЛ2\n" " ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 Ñтворений пізніше ніж ФÐЙЛ2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñпеціальним з блочним доÑтупом\n" " -c ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñпеціальним з Ñимвольним доÑтупом\n" " -d ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” каталогом\n" " -e ФÐЙЛ ФÐЙЛ Ñ–Ñнує\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” звичайним файлом\n" " -g ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака set-group-ID\n" " -G ФÐЙЛ ФÐЙЛ Ñ–Ñнує та належить поточної ефективній групі\n" " -h ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñимвольним поÑиланнÑм (еквівалент -L)\n" " -k ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака sticky\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñимвольним поÑиланнÑм (еквівалент -h)\n" " -O ФÐЙЛ ФÐЙЛ Ñ–Ñнує та належить поточному ефективному кориÑтувачу\n" " -p ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” іменованим каналом\n" " -r ФÐЙЛ ФÐЙЛ Ñ–Ñнує доÑтупний Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ\n" " -s ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ненульовий розмір\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” Ñокетом\n" " -t [ДФ] деÑкриптор файла ДФ відкритий на терміналі\n" " -u ФÐЙЛ ФÐЙЛ Ñ–Ñнує та має ознака set-user-ID\n" " -w ФÐЙЛ ФÐЙЛ Ñ–Ñнує та доÑтупний Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу\n" " -x ФÐЙЛ ФÐЙЛ Ñ–Ñнує та Ñ” виконуваним\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Ð’ÑÑ– теÑти, що відноÑÑтьÑÑ Ð´Ð¾ ФÐЙЛÐ, крім -h та -L розіменовують\n" "Ñимвольні поÑиланнÑ. Пам'Ñтайте, що ви повинні ÑкаÑувати Ñпеціальне\n" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÑƒÐ¶Ð¾Ðº Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ інтерпретатора (наприклад, за допомогою\n" "знаку '\\'). ЦІЛЕ може також бути вказане Ñк \"-l РЯДОК\", при цьому\n" "воно приймає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ РЯДКÐ.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "ПРИМІТКÐ: [ притримуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² --help та --version options, але теÑÑ‚ - " "ні.\n" "інтерпретує кожен з цих параметрів Ñк будь-Ñкий непорожній Ñ€Ñдок.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test та/або [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "пропущено ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "зайвий аргумент %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "попередженнÑ: sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "попередженнÑ: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "попередженнÑ: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "ВикориÑтаннÑ: %s [ПÐРÐМЕТР] ТРИВÐЛІСТЬ КОМÐÐДР[ÐРГУМЕÐТ]...\n" " або: %s [ПÐРÐМЕТР]\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "ЗапуÑтити КОМÐÐДУ Ñ– завершити Ñ—Ñ— роботу, Ñкщо Ñ—Ñ— не буде завершено протÑгом " "чаÑу ТРИВÐЛІСТЬ.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " вийти зі Ñтаном рівним Ñтану КОМÐÐДИ, навіть Ñкщо чаÑ\n" " Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ перевищено\n" " --foreground\n" " Якщо timeout не запущено безпоÑередньо з командної " "оболонки,\n" " надати змогу КОМÐÐДІ читати дані з TTY Ñ– отримувати Ñигнали " "TTY.\n" " У цьому режимі дочірні процеÑи КОМÐÐДИ не підлÑгатимуть " "обмеженню\n" " чаÑу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° завершеннÑ.\n" " -k, --kill-after=ТРИВÐЛІСТЬ\n" " надÑилати Ñигнал KILL, Ñкщо КОМÐÐДРне завершила роботу\n" " протÑгом вказаного чаÑу з надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñигналу.\n" " -s, --signal=СИГÐÐЛ\n" " вказати Ñигнал, Ñкий Ñлід надÑилати у разі Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ " "чаÑу\n" " очікуваннÑ.\n" " СИГÐÐЛом може бути назва, наприклад HUP, або чиÑло.\n" " ПереглÑнути ÑпиÑок Ñигналів можна за допомогою команди\n" " «kill -l»\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "ТРИВÐЛІСТЬ — чиÑло з плаваючою крапкою з додатковим ÑуфікÑом:\n" "«s» — Ñекунди (типовий), «m» — хвилини, «h» — години або «d» — дні.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Якщо Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ буде перевищено, Ñ– не вказано\n" "--preserve-status, вийти з кодом Ñтану 124. Якщо цього не відбудетьÑÑ,\n" "вийти з кодом Ñтану КОМÐÐДИ. Якщо Ñигналу не вказано, надіÑлати Ñигнал TERM\n" "піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу очікуваннÑ. Сигнал TERM перерве Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких\n" "процеÑів, Ñкі не блокують Ñ– не перехоплюють цей Ñигнал. Іншим\n" "процеÑам Ñлід наÑилати Ñигнал KILL (9), оÑкільки цей Ñигнал не може\n" "бути перехоплено. Якщо надіÑлано Ñигнал KILL (9), Ñтаном виходу буде\n" "128+9, а не 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "попередженнÑ: Ñпроба Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñ–Ð² Ñдра завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° команду" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" "команда, за Ñкою виконувалоÑÑ ÑпоÑтереженнÑ, завершила роботу критичною " "помилкою" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "неправильний формат дати %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ touch Ð´Ð»Ñ %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñових позначок %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Оновити Ñ‡Ð°Ñ Ð´Ð¾Ñтупу та Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ кожного ФÐЙЛРдо поточної позначки чаÑу.\n" "\n" "Якщо ФÐЙЛа у аргументі не Ñ–Ñнує Ñ– не вказано -c або -h, його буде Ñтворено\n" "порожнім.\n" "\n" "Якщо у аргументі ФÐЙЛ вказано Ñимвол -, він оброблÑєтьÑÑ Ð¾Ñобливим чином\n" "та призводить до зміни позначки чаÑу Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð°, пов'Ñзаного зі Ñтандартним\n" "виведеннÑм даних.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a змінювати лише Ñ‡Ð°Ñ Ð´Ð¾Ñтупу\n" " -c, --no-create не Ñтворювати файлів\n" " -d, --date=РЯДОК проаналізувати РЯДОК Ñ– викориÑтовувати його\n" " заміÑть поточного чаÑу\n" " -f (ігноруєтьÑÑ)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference впливає на Ñимволічне поÑиланнÑ, а не на файл,\n" " на Ñкий вказує (діє лише на ÑиÑтемі з підтримкою\n" " зміни чаÑових позначок Ñимволічних поÑилань)\n" " -m змірити лише Ñ‡Ð°Ñ Ð²Ð½ÐµÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=ФÐЙЛ викориÑтовувати Ñ‡Ð°Ñ Ð¤ÐЙЛРзаміÑть поточного\n" " -t Ð§Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати [[Ð’Ð’]РР]ММДДггхх[.ÑÑ] заміÑть\n" " поточного чаÑу\n" " --time=СЛОВО змінити вказаний чаÑ:\n" " СЛОВО access, atime, use еквівалентно -a\n" " СЛОВО modify, mtime еквівалентно -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Зауважте, що ключі -d та -t Ñприймають різні формати дати та чаÑу.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "не вдалоÑÑ Ð²ÐºÐ°Ð·Ð°Ñ‚Ð¸ Ñ‡Ð°Ñ Ð· кількох джерел" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "попередженнÑ: 'touch %s' заÑтарів; викориÑтовуйте 'touch -t %04ld%02d%02d%02d" "%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... ÐÐБІР1 [ÐÐБІР2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Перетворює, ущільнює та/або вилучає Ñимволи зі Ñтандартного Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ–\n" "виводить Ñ—Ñ… до Ñтандартного виведеннÑ.\n" "\n" " -c, -C, --complement Ñпочатку отримати Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¢ÐБЛИЦІ1\n" " -d, --delete вилучати знаки з ТÐБЛИЦІ1, не перетворювати\n" " -s, --squeeze-repeats заміщати поÑлідовноÑті знаків, що повторюютьÑÑ, з\n" " перелічених у ТÐБЛИЦІ1 на єдиний такий знак\n" " -t, --truncate-set1 Ñпочатку вкоротити ТÐБЛИЦЮ1 до розміру ТÐБЛИЦІ2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "ТÐБЛИЦі вказуютьÑÑ Ñк Ñимвольні Ñ€Ñдки. У багатьох випадках Ñимволи\n" "предÑтавлÑють Ñамі Ñебе. ПриймаютьÑÑ Ð½Ð°Ñтупні поÑлідовноÑті:\n" "\n" " \\ÐÐРзнак з віÑімковим кодом ÐÐÐ (від 1 до 3 цифр)\n" " \\\\ зворотна похила риÑка\n" " \\a звуковий Ñигнал\n" " \\b забиттÑ\n" " \\f Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ñторінки\n" " \\n новий Ñ€Ñдок\n" " \\r Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ°Ñ€ÐµÑ‚ÐºÐ¸\n" " \\t горизонтальна табулÑціÑ\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v вертикальна табулÑціÑ\n" " ЗÐÐК1-ЗÐÐК2 вÑÑ– знаки від ЗÐÐК1 до ЗÐÐК2 у порÑдку зроÑтаннÑ\n" " [ЗÐÐК*] ЗÐÐК заповнює ТÐБЛИЦЮ2 до довжини ТÐБЛИЦІ1\n" " [ЗÐÐК*ЧИСЛО] вказане ЧИСЛО однакових ЗÐÐКІВ; ЧИСЛО віÑімкових, Ñкщо\n" " починаєтьÑÑ Ð· 0\n" " [:alnum:] вÑÑ– літери та цифри\n" " [:alpha:] вÑÑ– літери\n" " [:blank:] вÑÑ– горизонтальні пробільні Ñимволи\n" " [:cntrl:] вÑÑ– керівні знаки\n" " [:digit:] вÑÑ– цифри\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] вÑÑ– друковані знаки, за винÑтком пробілу\n" " [:lower:] вÑÑ– маленькі літери\n" " [:print:] вÑÑ– друковані знаки, включно з пробілом\n" " [:punct:] вÑÑ– знаки пунктуації\n" " [:space:] вÑÑ– вертикальні або горизонтальні пробільні знаки\n" " [:upper:] вÑÑ– великі літери\n" " [:xdigit:] вÑÑ– шіÑтнадцÑткові цифри\n" " [=ЗÐÐК=] вÑÑ– знаки, еквівалентні ЗÐÐКУ\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ, Ñкщо не вказано -d Ñ– обох таблиць, ТÐБЛИЦІ1\n" "Ñ– ТÐБЛИЦІ2. -t можна викориÑтовувати лише під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ.\n" "Якщо потрібно, ТÐБЛИЦЮ2 буде розширено до розмірів ТÐБЛИЦІ1\n" "повтореннÑм оÑтаннього Ñимволу. Зайві Ñимволи ТÐБЛИЦІ2 буде пропущено.\n" "Гарантовано розширюютьÑÑ Ñƒ порÑдку зроÑÑ‚Ð°Ð½Ð½Ñ Ð»Ð¸ÑˆÐµ [:lower:] Ñ– [:upper:].\n" "ВикориÑтані у ТÐБЛИЦІ2 під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñимволи можна викориÑтовувати\n" "Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€ÐµÐ³Ñ–Ñтру лише у парах. -s викориÑтовує " "ТÐБЛИЦЮ1,\n" "Ñкщо не виконуєтьÑÑ Ð½Ñ– перетвореннÑ, ні вилученнÑ. Інакше, Ð´Ð»Ñ ÑƒÑ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ\n" "викориÑтовуєтьÑÑ Ð¢ÐБЛИЦЯ2. Ð£Ñ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑÑ Ð¿Ñ–ÑÐ»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð±Ð¾\n" "вилученнÑ.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "попередженнÑ: неоднозначна віÑімкова поÑлідовніÑть \\%c%c%c трактуєтьÑÑ\n" "Ñк двобайтова поÑлідовніÑть \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "попередженнÑ: неекранована зворотна похила риÑка наприкінці формату не Ñ” " "переноÑимою" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "неправильний порÑдок меж діапазону '%s-%s'" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "неправильно вказана кількіÑть повторів %s у конÑтрукції [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "пропущено назву клаÑу знаків '[::]'" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "пропущений знак клаÑу еквівалентноÑті '[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "неправильний ÐºÐ»Ð°Ñ Ð·Ð½Ð°ÐºÑ–Ð² %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: потрібно вказати один Ñимвол, що визначає ÐºÐ»Ð°Ñ ÐµÐºÐ²Ñ–Ð²Ð°Ð»ÐµÐ½Ñ‚Ð½Ð¸Ñ… йому" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "непарні конÑтрукції [:upper:] та/або [:lower:]" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "надто багато знаків у таблиці" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "Ñкщо під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ñдок1 буде довшим за Ñ€Ñдок2,\n" "оÑтанній Ñ€Ñдок не повинен завершуватиÑÑ ÐºÐ»Ð°Ñом Ñимволів" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*] не може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "у ТÐБЛИЦІ2 може викориÑтовуватиÑÑŒ лише одна конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*]" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "вираз [=c=] не може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ2 при перетворенні" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "при перетворенні, у ТÐБЛИЦІ2 можуть викориÑтовуватиÑÑŒ лише\n" "клаÑи 'upper' та 'lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" "Ñкщо чаÑтина таблиці1 не відкидаєтьÑÑ, таблицÑ2 не повинна бути порожньою" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "при перетворенні з доповненнÑм клаÑів Ñимволів, ТÐБЛИЦЯ2 повинна\n" "Ñтавити у відповідніÑть вÑім Ñимволам Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ð¾ один Ñимвол" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" "конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ [c*] може викориÑтовуватиÑÑŒ у ТÐБЛИЦІ2 лише при перетворенні" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "При вилученні Ñ– ущільненні повторів Ñлід вказати два Ñ€Ñдки." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "При перетворенні потрібно вказати дві таблиці." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "При вилученні без ÑƒÑ‰Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ–Ð² можна вказати дві лише одну таблицю." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [ аргументи командного Ñ€Ñдка, що ігноруютьÑÑ ]\n" " або: %s КЛЮЧ\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð· уÑпішним ÑтатуÑом." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з кодом Ñтану, що відповідає невдалому виконанню." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "ВикориÑтаннÑ: %s ПÐРÐМЕТР... ФÐЙЛ...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Зменшити або збільшити розмір кожного ФÐЙЛа до вказаного значеннÑ\n" "\n" "Якщо ФÐЙЛа не Ñ–Ñнує, його буде Ñтворено.\n" "\n" "Якщо розмір ФÐЙЛа перевищуватиме вказаний, додаткові дані буде втрачено.\n" "Якщо розмір ФÐЙЛа буде меншим, його буде збільшено. Додаткову чаÑтину\n" "буде заповнено нульовими байтами.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create не Ñтворювати файлів\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks вважати РОЗМІР кількіÑтю блоків введеннÑ-виваденнÑ, " "а не байтів\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RФÐЙЛ оÑновний розмір RФÐЙЛÐ\n" " -s, --size=РОЗМІР вÑтановити або змінити розмір файла, відповідно до " "РОЗМІР\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "Перед РОЗМІРом може бути додано один з таких Ñимволів-модифікаторів:\n" "«+» — розширити, «-» — звузити, «<» — не більше, «>» — не менше,\n" "«/» — зменшити до кратного, «%» — збільшити до кратного.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ %<PRIdMAX> * %<PRIdMAX> байтових блоків Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s має непридатний, ймовірно від'ємний розмір" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файла %s у бік збільшеннÑ" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файла %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ %s до %<PRIdMAX> байтів" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "вказано декілька відноÑних модифікаторів" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "можна визначити лише щоÑÑŒ одне: %s або %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "вам Ñлід вказати відноÑний %s з %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "вказано %s, але без %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "ВикориÑтаннÑ: %s [КЛЮЧ] [ФÐЙЛ]\n" "Виводити повніÑтю Ñортований ÑпиÑок, що відповідає чаÑтковому Ñортуванню\n" "у заданому ФÐЙЛІ. Якщо ФÐЙЛ не вказаний або вказаний Ñк -, читаєтьÑÑ\n" "Ñтандартний ввід.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: на вході міÑтитьÑÑ Ð½ÐµÐ¿Ð°Ñ€Ð½Ð° кількіÑть лекÑем" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: на вході міÑтитьÑÑ Ñ†Ð¸ÐºÐ»:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Виводить назву файла Ð´Ð»Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»Ñƒ, що приєднаний до Ñтандартному вводу.\n" "\n" " -s, --silent, --quiet не виводити, лише повернути код завершеннÑ\n" #: src/tty.c:120 msgid "not a tty" msgstr "не tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Виводить певні відомоÑті про ÑиÑтему. Якщо КЛЮЧ не вказаний,\n" "вважаєтьÑÑ -s.\n" "\n" " -a, --all вивеÑти вÑÑŽ інформацію, у наÑтупному порÑдку,\n" " крім -p та -i, Ñкщо вони невідомі:\n" " -s, --kernel-name вивеÑти назву Ñдра\n" " -n, --nodename вивеÑти назву машини у мережі\n" " -r, --release вивеÑти номер випуÑку операційної ÑиÑтеми\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version вивеÑти верÑÑ–ÑŽ Ñдра\n" " -m, --machine вивеÑти тип Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸\n" " -p, --processor вивеÑти тип процеÑора або \"невідомо\"\n" " -i, --hardware-platform вивеÑти тип апаратної платформи або \"невідомо\"\n" " -o, --operating-system вивеÑти назву операційної ÑиÑтеми\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "ВивеÑти архітектуру машини.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ назву ÑиÑтеми" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Перетворює пробіли у ФÐЙЛÐÐ¥ у знаки табулÑції та виводить на\n" "Ñтандартний вивід. Якщо ФÐЙЛ не вказано або вказано Ñк -, читаютьÑÑ\n" "дані зі Ñтандартного джерела вхідних даних.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all перетворювати вÑÑ– пробільні знаки, а не лише початкові\n" " --first-only перетворювати лише початкові пробільні знаки\n" " (перекриває-a)\n" " -t, --tabs=ЧИСЛО вживати табулÑцію вказаної ширини, а не 8 (включає -a)\n" " -t, --tabs=СПИСОК викориÑтовувати заданий СПИСОК (розділених комами)\n" " позицій табулÑції (включає -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "позиції табулÑції надто далеко одна від одної" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "розмір табулÑції надто великий" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ВХІД [ВИХІД]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Фільтрує ÑуÑідні відповідні Ñ€Ñдків з ВХОДУ (або Ñтандартного введеннÑ),\n" "з запиÑом до ВИХОДУ (або Ñтандартного виведеннÑ).\n" "\n" "Якщо не вказано параметрів, відповідні Ñ€Ñдки об'єднуютьÑÑ Ð· Ñ€Ñдками,\n" "виÑвленими першими.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count виводити чиÑло повторів на початку кожного Ñ€Ñдка\n" " -d, --repeated виводити лише Ñ€Ñдки, що повторюютьÑÑ\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] вивеÑти вÑÑ– Ñ€Ñдки, що повторюютьÑÑ\n" " delimit-method={none(типово),prepend,separate)}\n" " Ð Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð·Ð° порожніми Ñ€Ñдками.\n" " -f, --skip-fields=Рне порівнювати перші Рполів\n" " -i, --ignore-case ігнорувати при порівнÑнні регіÑтр\n" " -s, --skip-chars=Рне порівнювати перші Рзнаків\n" " -u, --unique виводити лише Ñ€Ñдки, що не повторюютьÑÑ\n" " -z, --zero-terminated кінцеві Ñ€Ñдки з 0 байта, без Ñимволу нового Ñ€Ñдка\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=Рпорівнювати перші Рзнаків Ñ€Ñдків\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Полем вважаєтьÑÑ Ð¿Ð¾ÑлідовніÑть пробільних знаків, за Ñкою\n" "йдуть не пробільні знаки. Спочатку пропуÑкаютьÑÑ Ð¿Ð¾Ð»Ñ, потім Ñимволи.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "ЗауваженнÑ: uniq не зможе визначити повторених Ñ€Ñдків, Ñкщо ці Ñ€Ñдки не Ñ”\n" "ÑуÑідніми. Вам варто Ñпочатку впорÑдкувати вхідні дані, або ÑкориÑтатиÑÑ\n" "«sort -u» заміÑть uniq.\n" "Крім того, під Ñ‡Ð°Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуютьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°, вÑтановлені змінною\n" "LC_COLLATE.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "надто багато Ñ€Ñдків, що повторюютьÑÑ" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "неправильна кількіÑть полів, що пропуÑкаютьÑÑ" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "неправильна кількіÑть байт, що пропуÑкаютьÑÑ" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "неправильна кількіÑть байт, що порівнюютьÑÑ" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "вивід уÑÑ–Ñ… Ñ€Ñдків, що повторюютьÑÑ Ñ‚Ð° чиÑла повторів не має ÑенÑу" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s ФÐЙЛ\n" " або: %s КЛЮЧ\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Викликає функцію unlink Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "не вдалоÑÑ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑŒ Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ завантаженнÑ" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "???? днів ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "%ld день %2d:%02d, " msgstr[1] "%ld дні %2d:%02d, " msgstr[2] "%ld днів %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "%2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu кориÑтувач" msgstr[1] "%lu кориÑтувачі" msgstr[2] "%lu кориÑтувачів" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", ÑÐµÑ€ÐµÐ´Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ñ–Ñть: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Виводить поточний чаÑ, Ñ‡Ð°Ñ Ð±ÐµÐ·Ð¿ÐµÑ€ÐµÑ€Ð²Ð½Ð¾Ñ— роботи ÑиÑтеми, кількіÑть\n" "кориÑтувачів у ÑиÑтемі та Ñереднє чиÑло завдань у черзі запуÑку за\n" "оÑтанні 1, 5 та 15 хвилин." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " ПроцеÑи у\n" "Ñтані неперервного Ñну також впливають на Ñереднє завантаженнÑ.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Якщо ФÐЙЛ не вказано, викориÑтовуєтьÑÑ %s. ЧаÑто заміÑть ФÐЙЛ\n" "вказують %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Виводить ÑпиÑок підключених кориÑтувачів відповідно до ФÐЙЛÐ.\n" "Якщо ФÐЙЛ не вказаний, викориÑтовуєтьÑÑ %s. ЧаÑто у ÑкоÑті ФÐЙЛÐ\n" "вказують %s.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Виводить кількіÑть розривів Ñ€Ñдків, Ñлів та байт Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ФÐЙЛа\n" "та Ñумарний Ñ€Ñдок. Якщо не було вказано ФÐЙЛ, або вказано ФÐЙЛ «-»,\n" "читає дані зі Ñтандартного джерел введеннÑ. Словом вважаєтьÑÑ\n" "ненульова поÑлідовніÑть Ñимволів, обмежених пробілами.\n" "За допомогою вказаних нижче параметрів можна вибрати дані, Ñкі\n" "буде виведено. ПорÑдок буде завжди таким: розриви Ñ€Ñдків,\n" "Ñлова, Ñимволи, байти, макÑимальна довжина Ñ€Ñдка.\n" " -c, --bytes вивеÑти кількіÑть байт\n" " -m, --chars вивеÑти кількіÑть знаків\n" " -l, --lines вивеÑти кількіÑть розривів Ñ€Ñдків\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F читати вхідні дані з файлів, вказаних\n" " назвами зі ÑпиÑку, розділеного Ñимволами\n" " NUL у файлі F. Якщо F дорівнює «-», назви\n" " буде прочитано зі Ñтандартного джерела даних\n" " -L, --max-line-length вивеÑти довжину найбільшого Ñ€Ñдка\n" " -w, --words вивеÑти кількіÑть Ñлів\n" #: src/who.c:210 msgid " old " msgstr "давно" #: src/who.c:440 msgid "system boot" msgstr "Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑиÑтеми" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "термінал=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "вихід=" #: src/who.c:485 msgid "LOGIN" msgstr "ВХІД" #: src/who.c:505 msgid "clock change" msgstr "зміна чаÑу" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "рівень виконаннÑ" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "попередній=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "чиÑло кориÑтувачів=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "ÐÐЗВÐ" #: src/who.c:559 msgid "LINE" msgstr "ЛІÐІЯ" #: src/who.c:559 msgid "TIME" msgstr "ЧаÑ" #: src/who.c:559 msgid "IDLE" msgstr "ÐЕÐКТИВÐИЙ" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "КОМЕÐТÐР" #: src/who.c:560 msgid "EXIT" msgstr "ВИХІД" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ ФÐЙЛ | ÐРГ1 ÐРГ2]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "ВивеÑти дані щодо кориÑтувачів, Ñкі працюють у ÑиÑтемі.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all еквівалент -b -d --login -p -r -t -T -u\n" " -b, --boot Ñ‡Ð°Ñ Ð¾Ñтаннього Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑиÑтеми\n" " -d, --dead виводити мертві процеÑи\n" " -H, --heading виводити Ñ€Ñдок з заголовками Ñтовпчиків\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login виводити процеÑи входу у ÑиÑтему\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup намагатиÑÑŒ канонізувати назви вузлів через DNS\n" " -m лише назва вузлі та кориÑтувач, пов'Ñзані з\n" " Ñтандартним вводом\n" " -p, --process виводити активні процеÑи, Ñкі породжені init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count вÑÑ– назви та кількіÑть підключених кориÑтувачів\n" " -r, --runlevel виводити поточний рівень виконаннÑ\n" " -s, --short виводити лише назву, лінію та Ñ‡Ð°Ñ (приймаєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾)\n" " -t, --time виводити оÑтанню зміна ÑиÑтемного чаÑу\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg додавати ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ Ñк +, - або ?\n" " -u, --users перерахувати підключених кориÑтувачів\n" " --message еквівалент -T\n" " --writable еквівалент -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Якщо ФÐЙЛ не вказаний, викориÑтовуєтьÑÑ %s. ЧаÑто Ñк ФÐЙЛ вказують %s.\n" "Якщо вказані ÐРГ1 та ÐРГ2, вважаєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ -m: наприклад 'am i'\n" "та 'mom likes'.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "ВивеÑти ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, що відповідає поточному ефективному id\n" "кориÑтувача. Ðналогічно виклику id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "ВикориÑтаннÑ: %s [РЯДОК]...\n" " або: %s КЛЮЧ\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Безперервно виводити вказаний РЯДОК (РЯДКИ) або, Ñкщо РЯДОК не вказано, " "'y'.\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ¸ з фікÑованою точніÑтю" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ¸ з довільною точніÑтю" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human:\n" #~ " Ñ€Ñдок вхідних даних: «%s»\n" #~ " Ñимвол Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ Ð´Ñ€Ð¾Ð±Ð¾Ð²Ð¾Ñ— чаÑтини локалі: «%s»\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " оброблене чиÑлове значеннÑ: %Lf\n" #~ " точніÑть вхідних даних = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr " ÐвтомаÑштабуваннÑ, виÑвлено «i», перемикаємоÑÑ Ð½Ð° оÑнову %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " Ñтепінь у ÑуфікÑÑ–=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " повертаємо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human:\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr " без маÑштабуваннÑ, повертаємо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (з групуваннÑм) %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " без маÑштабуваннÑ, повертаємо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " маÑштабоване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ %Lf * %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " піÑÐ»Ñ Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ, значеннÑ=%Lf * %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " повернутаємо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s»\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "ВикориÑтаннÑ: %s [ПÐРÐМЕТРИ] [ЧИСЛО]\n" #~ msgid "" #~ " --from=UNIT auto-scale input numbers to UNITs. Default is 'none'.\n" #~ " See UNIT below.\n" #~ " --from-unit=N specify the input unit size (instead of the default " #~ "1).\n" #~ " --to=UNIT auto-scale output numbers to UNITs.\n" #~ " See UNIT below.\n" #~ " --to-unit=N the output unit size (instead of the default 1).\n" #~ " --round=METHOD the rounding method to use when scaling. METHOD can " #~ "be:\n" #~ " up, down, from-zero (default), towards-zero, nearest\n" #~ " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional " #~ "SUFFIX\n" #~ " in input numbers.\n" #~ " --padding=N pad the output to N characters.\n" #~ " Positive N will right-aligned. Negative N will left-" #~ "align.\n" #~ " Note: if the output is wider than N, padding is " #~ "ignored.\n" #~ " Default is to automatically pad if whitespace is " #~ "found.\n" #~ " --grouping group digits together (e.g. 1,000,000).\n" #~ " Uses the locale-defined grouping (i.e. have no effect\n" #~ " in C/POSIX locales).\n" #~ " --header[=N] print (without converting) the first N header lines.\n" #~ " N defaults to 1 if not specified.\n" #~ " --field N replace the number in input field N (default is 1)\n" #~ " -d, --delimiter=X use X instead of whitespace for field delimiter\n" #~ " --format=FORMAT use printf style floating-point FORMAT.\n" #~ " See FORMAT below for details.\n" #~ " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug print warnings about invalid input.\n" #~ " \n" #~ msgstr "" #~ " --from=ОДИÐИЦЯ автоматично маÑштабувати вхідні чиÑла за ОДИÐИЦЕЮ. " #~ "Типове\n" #~ " Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -- 'none'. ÐžÐ¿Ð¸Ñ ÐžÐ”Ð˜ÐИЦІ наведено нижче.\n" #~ " --from-unit=N вказати розмір вхідної одиниці (типовим Ñ” 1).\n" #~ " --to=ОДИÐИЦЯ автоматично маÑштабувати виведені чиÑла за ОДИÐИЦЕЮ. " #~ "ОпиÑ\n" #~ " ОДИÐИЦІ наведено нижче.\n" #~ " --to-unit=N розмір одиниці Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ (заміÑть типового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ " #~ "1).\n" #~ " --round=СПОСІБ ÑпоÑіб Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¼Ð°ÑштабуваннÑ. Варіанти:\n" #~ " up (до більшого), down (до меншого), from-zero (до " #~ "дальшого\n" #~ " до нулÑ, типовий), towards-zero (до ближчого до " #~ "нулÑ), nearest (до найближчого цілого\n" #~ " --suffix=СУФІКС додати СУФІКС до виведених чиÑел Ñ– викориÑтовувати " #~ "СУФІКС\n" #~ " у вхідних даних.\n" #~ " --padding=N доповнити виведені дані до N Ñимволів.\n" #~ " ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚Ð½Ð¾Ð³Ð¾ N призведе до Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ " #~ "праворуч\n" #~ " Від’ємні N вирівнюватимуть дані ліворуч.\n" #~ " ЗауваженнÑ: Ñкщо виведені дані будуть довшими за N,\n" #~ " Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ðµ відбуватиметьÑÑ. Типовим Ñ” автоматичне " #~ "доповненнÑ,\n" #~ " Ñкщо буде виÑвлено пробіли.\n" #~ " --grouping групувати цифри (наприклад, 1.000.000).\n" #~ " ВикориÑтовуєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ локаллю Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ (тобто не " #~ "впливає\n" #~ " на локалі C/POSIX).\n" #~ " --header[=N] вивеÑти (без перетвореннÑ) перші N Ñ€Ñдків заголовка.\n" #~ " Якщо не вказано, типовим значеннÑм N Ñ” 1.\n" #~ " --field N замінити чиÑло у вхідному полі N (типовим Ñ” 1)\n" #~ " -d, --delimiter=X викориÑтовувати X заміÑть пробілу Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ " #~ "полів\n" #~ " --format=ФОРМÐТ викориÑтовувати Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñтилі printf.\n" #~ " ÐžÐ¿Ð¸Ñ Ð¤ÐžÐ ÐœÐТу наведено нижче.\n" #~ " --invalid=РЕЖИМ режим обробки некоректних Ñимволів. Можливі режими:\n" #~ " abort (перервати обробку, типовий), fail (обробити з " #~ "помилками),\n" #~ " warn (попередити), ignore (ігнорувати).\n" #~ " --debug виводити Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ некоректних вхідних даних.\n" #~ " \n" #~ msgid "" #~ "\n" #~ "UNIT options:\n" #~ " none No auto-scaling is done. Suffixes will trigger an error.\n" #~ " auto Accept optional single-letter/two-letter suffix:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Accept optional single letter suffix:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accept optional single letter suffix:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accept optional two-letter suffix:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Варіанти ОДИÐИЦІ:\n" #~ " none без автоматичного маÑштабуваннÑ. ВикориÑÑ‚Ð°Ð½Ð½Ñ ÑуфікÑів\n" #~ " призводитиме до Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку.\n" #~ " auto ВикориÑтовувати додатковий одно- або дволітерний ÑуфікÑ:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si ВикориÑтовувати додатковий однолітерний ÑуфікÑ:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec ВикориÑтовувати додатковий однолітерний ÑуфікÑ:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i ВикориÑтовувати додатковий дволітерний ÑуфікÑ:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgid "" #~ "format String:\n" #~ " input: %s\n" #~ " grouping: %s\n" #~ " padding width: %ld\n" #~ " alignment: %s\n" #~ " prefix: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ "РÑдок форматуваннÑ:\n" #~ " вхідні дані: %s\n" #~ " групуваннÑ: %s\n" #~ " розмір доповненнÑ: %ld\n" #~ " вирівнюваннÑ: %s\n" #~ " префікÑ: «%s»\n" #~ " ÑуфікÑ: «%s»\n" #~ msgid "" #~ "formatting output:\n" #~ " value: %Lf\n" #~ " humanized: '%s'\n" #~ msgstr "" #~ "форматуємо виведеннÑ:\n" #~ " значеннÑ: %Lf\n" #~ " у зручному форматі: «%s»\n" #~ msgid " After padding: '%s'\n" #~ msgstr " ПіÑÐ»Ñ Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ: «%s»\n" #~ msgid "trimming suffix '%s'\n" #~ msgstr "обрізаємо ÑÑƒÑ„Ñ–ÐºÑ Â«%s»\n" #~ msgid "no valid suffix found\n" #~ msgstr "не знайдено коректного ÑуфікÑа\n" #~ msgid "setting Auto-Padding to %ld characters\n" #~ msgstr "вÑтановлюємо автоматичне Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ %ld Ñимволів\n" #~ msgid "" #~ "extracting Fields:\n" #~ " input: '%s'\n" #~ " field: %d\n" #~ msgstr "" #~ "видобуваємо полÑ:\n" #~ " вхідні дані: «%s»\n" #~ " поле: %d\n" #~ msgid "" #~ " TOO FEW FIELDS!\n" #~ " prefix: '%s'\n" #~ msgstr "" #~ " ÐÐДТО МÐЛО ПОЛІВ!\n" #~ " префікÑ: «%s»\n" #~ msgid "" #~ " prefix: '%s'\n" #~ " number: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ " префікÑ: «%s»\n" #~ " номер: «%s»\n" #~ " ÑуфікÑ: «%s»\n" #~ msgid "reading %s" #~ msgstr "Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ %s" #~ msgid "writing %s" #~ msgstr "Ð·Ð°Ð¿Ð¸Ñ %s" #~ msgid "closing %s" #~ msgstr "Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ %s" #~ msgid "accessing %s" #~ msgstr "Ð·Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ %s" #~ msgid "opening %s" #~ msgstr "Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system пропуÑкати каталоги на інших файлових ÑиÑтемах\n" #~ " -X, --exclude-from=ФÐЙЛ виключати файли, що збігаютьÑÑ Ð· ÑкимоÑÑŒ\n" #~ " шаблоном з ФÐЙЛÐ\n" #~ " --exclude=ШÐБЛОРвиключати файли, що збігаютьÑÑ Ð· ШÐБЛОÐОМ\n" #~ " --max-depth=N виводити Ð·Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ каталог (або файл, з --" #~ "all),\n" #~ " лише Ñкщо він на N або менше рівнів нижче,\n" #~ " ніж аргумент командного Ñ€Ñдка; --max-depth=0\n" #~ " еквівалентно до --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ніколи не Ñтворювати резервних копій (навіть Ñкщо\n" #~ " вказаний ключ --backup)\n" #~ " numbered, t Ñтворювати нумеровані копії\n" #~ " existing, nil Ñкщо Ñ–Ñнують нумеровані копії, то Ñтворювати\n" #~ " нумеровані інакше Ñтворювати проÑті\n" #~ " simple. never завжди Ñтворювати проÑті копії\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ПОПЕРЕДЖЕÐÐЯ: --page-increment вважаєте заÑтарілим; вам варто " #~ "ÑкориÑтатиÑÑ --line-increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Ð’ÑÑ– аргументи Ð´Ð»Ñ Ð´Ð¾Ð²Ð³Ð¸Ñ… ключів Ñ” обов'Ñзковими Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ….\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "ОСÐОВРможе бути d (деÑÑтковою), o (віÑімковою), x (шіÑтнадцÑтковою) або\n" #~ "n (не виводити зÑув). Рз префікÑом 0x або 0X ÑприймаєтьÑÑ Ñк\n" #~ "шіÑтнадцÑткове, з ÑуфікÑом b множитьÑÑ Ð½Ð° 512, з ÑуфікÑом kB — 1000, K — " #~ "1024,\n" #~ "MB — 1000*1000, M — 1024*1024, GB — 1000*1000*1000, G — 1024*1024*1024, " #~ "те Ñаме\n" #~ "Ð´Ð»Ñ T, P, E, Z, Y. Якщо додати до будь-Ñкого формату ÑÑƒÑ„Ñ–ÐºÑ z,\n" #~ "наприкінці кожного Ñ€Ñдка будуть виводитиÑÑŒ друковані Ñимволи.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Параметр --string без аргументу означає 3, --width — 32.\n" #~ "Типово od викориÑтовуютьÑÑ ÐºÐ»ÑŽÑ‡Ñ– -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [ФÐЙЛ]\n" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ /dev/tty" #~ msgid "cannot set groups" #~ msgstr "не вдалоÑÑ Ð²Ñтановити групи" #~ msgid "cannot set group id" #~ msgstr "не вдалоÑÑ Ð²Ñтановити груповий id" #~ msgid "cannot set user id" #~ msgstr "не вдалоÑÑ Ð²Ñтановити id кориÑтувача" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "ВикориÑтаннÑ: %s [КЛЮЧ]... [-] [КОРИСТУВÐЧ [ÐРГ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Ð’Ñтановлює ефективні id кориÑтувача та групи Ñк у КОРИСТУВÐЧÐ.\n" #~ "\n" #~ " -, -l, --login викориÑтовувати оболонку Ñк оболонку " #~ "входу\n" #~ " -c, --commmand=КОМÐÐДРпередати оболонці КОМÐÐДУ за допомогою -c\n" #~ " -f, --fast передати оболонці -f (Ð´Ð»Ñ csh або tcsh)\n" #~ " -m, --preserve-environment не перевÑтановлювати змінні оточеннÑ\n" #~ " -p Ñинонім Ð´Ð»Ñ -m\n" #~ " -s, --shell=ОБОЛОÐКРзапуÑтити ОБОЛОÐКУ, Ñкщо дозволÑÑ” /etc/" #~ "shells\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "ПроÑто знак Ð¼Ñ–Ð½ÑƒÑ Ð¾Ð·Ð½Ð°Ñ‡Ð°Ñ” -l. Якщо КОРИСТУВÐЧ не вказаний,\n" #~ "вважаєтьÑÑ root.\n" #~ msgid "user %s does not exist" #~ msgstr "кориÑтувач %s не Ñ–Ñнує" #~ msgid "incorrect password" #~ msgstr "неправильний пароль" #~ msgid "using restricted shell %s" #~ msgstr "викориÑтовуєтьÑÑ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð° оболонка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "попередженнÑ: не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ каталог на %s" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s /usr/bin/sort Виводить \"sort\".\n" #~ " %s include/stdio.h .h Виводить \"stdio\".\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "ВикориÑтаннÑ: %s ÐÐЗВÐ\n" #~ " або: %s КЛЮЧ\n" #~ msgid "--relative-base requires --relative-to" #~ msgstr "Ð”Ð»Ñ --relative-base Ñлід вказати --relative-to" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Змінює групу влаÑника кожного файла ФÐЙЛ на ГРУПÐ.\n" #~ "З ключем --reference, змінює групу кожного ФÐЙЛУ на групу ЗФÐЙЛУ.\n" #~ "\n" #~ " -c, --changes Ñк Ñ– verbose, але виводити лише при змінах\n" #~ " --dereference впливає на ціль кожного Ñимволічного поÑиланнÑ\n" #~ " (типово), а не на Ñаме Ñимволічне поÑиланнÑ\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшіÑть повідомлень про помилки\n" #~ " --reference=ЗФÐЙЛУ викориÑтовувати групу ЗФÐЙЛУ заміÑть Ñвного\n" #~ " Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð“Ð Ð£ÐŸÐ˜\n" #~ " -R, --recursive рекурÑивно оброблÑти файли та каталоги\n" #~ " -v, --verbose виводити діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ " #~ "файла\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Змінює режим кожного ФÐЙЛУ на вказаний РЕЖИМ.\n" #~ "\n" #~ " -c, --changes Ñк verbose, але повідомлÑти, лише Ñкщо Ñправді\n" #~ " внеÑена зміна\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не оброблÑти `/' оÑобливим чином (типово)\n" #~ " --preserve-root не оброблÑти рекурÑивно `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшіÑть повідомлень про помилки\n" #~ " -v, --verbose виводити діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÑƒÑÑ–Ñ… " #~ "файлів\n" #~ " --reference=ЗФÐЙЛ режим ЗФÐЙЛУ заміÑть Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð Ð•Ð–Ð˜ÐœÐ£\n" #~ " -R, --recursive рекурÑивно оброблÑти файли та каталоги\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Змінює влаÑника та/або групу кожного ФÐЙЛУ на ВЛÐСÐИКРта/або ГРУПУ.\n" #~ "З ключем --reference, змінює влаÑника та групу кожного ФÐЙЛУ на влаÑника " #~ "та\n" #~ "групу ЗФÐЙЛУ.\n" #~ "\n" #~ " -c, --change те Ñаме що й --verbose, але повідомлÑÑ” лише " #~ "коли\n" #~ " були внеÑені зміни\n" #~ " --dereference змінювати файл, на Ñкий вказує Ñимвольне\n" #~ " поÑиланнÑ, а не Ñаме поÑÐ¸Ð»Ð°Ð½Ð½Ñ (типово)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшіÑть повідомлень про помилки\n" #~ " --reference=ЗФÐЙЛ викориÑтовувати влаÑника та групу ЗФÐЙЛУ " #~ "заміÑть\n" #~ " Ñвного Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð’Ð›ÐСÐИКÐ:ГРУПИ\n" #~ " -R, --recursive рекурÑивно оброблÑти файли та каталоги\n" #~ " -v, --verbose виводити діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ " #~ "файла\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Виводить поточний Ñ‡Ð°Ñ Ñƒ заданому ФОРМÐТІ, або вÑтановлює ÑиÑтемний чаÑ.\n" #~ "\n" #~ " -d, --date=РЯДОК показати не поточний чаÑ, а чаÑ, що " #~ "опиÑуєтьÑÑ\n" #~ " вказаним РЯДКОМ\n" #~ " -f, --file=ФÐЙЛ відповідає заÑтоÑуванню --date Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾\n" #~ " Ñ€Ñдка ФÐЙЛУ\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РОЗМІР може бути таким (або це може бути ціле чиÑло, за Ñким\n" #~ "може Ñлідувати одне з переліченого):\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024 тощо Ð´Ð»Ñ G, T, P, E, Z, Y.\n" ��������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/en@boldquot.header����������������������������������������������������������������0000664�0000000�0000000�00000002471�11624730202�014413� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ru.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001557424�12107204517�012137� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������LŠ�����MŠ��¬���OŠ��¡���üŠ��6��ž‹��ø���ÕŒ��¾���Î��¿���Ž��Â���M��ª�����G��»��ù���’��º���ý’��p���¸“��!��)”��¼���K•��©��–��w��²—��5��*™��R��`š��~���³›�� ���2œ��\���@œ��w���œ��T�����G���j��]���²��ï���ž��w����Ÿ��¡���xŸ��#�� ����>¡��š���C¢��Ä���Þ¢��D��££��7��è¥��z��� §����›§�����¨��Þ���+©��i��� ª��J���tª��·��¿ª��›���w¬�����­��¸���•­��ˆ���N®��È���×®��„��� ¯��M��%°��à���s±��›���T²��š��ð²��—���‹´��Ó���#µ��`���÷µ��‚���X¶�����Û¶����Ü·��>���ñ¸��3��0¹��|���dº��Ý���áº��K��¿»��=��� ½��l���I½��0���¶½��D���ç½����,¾��ž��F¿��K��åÀ��Ê���1Â��–���üÂ��-��“Ã��Ê���ÁÅ��ç���ŒÆ��J���tÇ��ð���¿Ç����°È��‡���ÁÉ��¾���IÊ��á���Ë��E���êË��>���0Ì��Ë���oÌ��Œ���;Í��ü���ÈÍ��æ���ÅÎ��¿���¬Ï����lÐ��9���~Ñ�����¸Ñ�����ÏÑ��t��äÑ��¼���YÓ��ó���Ô��š��� Õ��¾���¥Õ��F��dÖ��Ì���«×��°���xØ��Ü���)Ù����Ú��Ð��Û�� ��ëÜ����� Þ���� ß��Ð�� à��y���ñá��þ��kâ�����jä��1��zä��Ë���¬ç��‰���xè����é��H��� ê��7���iê��¼���¡ê��F���^ë��ì���¥ë��v���’ì�� ��� í��¡��í��¾��·î��Ð��vð��u���Gò��F��½ò��q���õ��[��võ��:���Òö��æ��� ÷��J���ô÷��1��?ø��S��qù��u���Åú��N���;û��S��Šû��u���Þü��ë���Tý��›���@þ��†���Üþ��,���cÿ��“��ÿ��ƒ���$�º���¨���c����{����û�ß���Œ�è��l�C��U�\��™�‹���ö �Õ��‚ �i���X �A��� �x����v���}�Ø��ô�š���Í���h�Â���~�I���A�·���‹�›���C�z���ß�3���Z�û��Ž�g��Š�G���ò�J���:�p���…�5���ö�s���,��� �3��¿���ó�I���×���\�ò���4 �É���'!�Ê���ñ!�ð���¼"�–��­#�Ô���D%�"��&�Ó���<'�¬���(�¤���½(�i���b)�õ���Ì)�˜���Â*���[+�Z���l,�ù���Ç,����Á-�.��O.�Å��~/�ž���D1�G��ã1�È���+3�M��ô3�5���B5�4���x5�‰���­5�Â��76�F���ú7�Ò���A8�Ö���9�µ��ë9�©��¡<�O��K>�í��›?���‰A� ��C�£��&D�y��ÊE� ��DG�o���eH�n���ÕH�\��DI�'��¡J� ��ÉL�B���ÖM�F���N���`N�Ë��{O���GQ�9��fR��� S���ÀT�¢���QV�Ö���ôV�¡��ËW�Ê���mY�E���8Z�J���~Z�Ò���ÉZ� ��œ[���ª\�º��¹]�×���t_�&��L`�¹��sa�¿���-c���íc�Ý���óf�+���Ñg�N���ýg�Ò���Lh�’���i�°���²i�Ë���cj�»���/k�¡��ëk�›���m�…��)n�È���¯o�B���xp���»p�u���Ðq���Fr�1���\s�±��Žs�ò���@u�G���3v����{v�Ë��� w�ƒ���×w�ƒ���[x�k��ßx�‚��K{�¢��Î|�4��q~���¦���¸€�´��Ë�í���€ƒ� ��n„�ª��y…���$‡�Ó���*ˆ�<���þˆ�‘���;‰�Ò���͉�º�� Š�ª��[Œ�K���Ž���RŽ�ü���W�Ä���T�z���‘�þ���”‘�µ���“’�ô��I“�Ï���>•����–�f��ž–�5��˜�ˆ���;™�1���Ä™�û��ö™�H���ò›�;��;œ�B���w�Æ���º�!��ž�È���£ �ý���l¡�q��j¢�Y��Ü£�ü���6¥�L���3¦�×���€¦�T��X§�#��­¨�Ç���Ñ©�÷��™ª�Þ���‘¬�³��p­�ƒ���$¯�Ñ���¨¯�V��z°�i���ѱ�Í���;²�Ä��� ³�Ñ���γ�ë��� ´�K��Œµ���ض�D��ç·����,¹�Ó���º¹�Ä��Žº�I���S¼���¼���»½�H���I¿�3���’¿�O��Æ¿�c��Â� ��zÃ�=��›Ä���ÙÅ�ê��ôÆ�*��ßÈ�’��� Ê�F���Ê�C���äÊ�X��(Ë�>���Ì�?���ÀÌ� ���Í�«��� Î�9���·Î�S���ñÎ�š��EÏ�m���àÐ�û���NÑ�ä���JÒ�¨��/Ó�I��ØÔ�§���"×�$���Ê×�(���ï×�<���Ø�ú���UØ�$���PÙ�%���uÙ�*���›Ù���ÆÙ�:���åÚ�}��� Û�|���žÛ�"��Ü�&���>Þ� ���eÞ�9���†Þ�#���ÀÞ�$���äÞ�!��� ß�E���+ß�Ý���qß�:���Oà�}���Šà�:���á�,���Cá�"���pá� ���“á� ���žá�ç���¬á�,��”â�X��Áã�;���å�|��Vå���Óæ�Ô���çç�Ü���¼è�þ���™é� ���˜ê����£ê� ���¨ê����´ê����½ê����Æê����Îê����×ê����Ýê���ðê�&��� ì� ���3ì� ���=ì����Iì����\ì����oì����„ì����¢ì� ���¾ì�+���ßì���� í����$í�?���?í�D���í�0���Äí����õí�)���î����8î�0���Lî�"���}î���� î�'���°î� ���Øî����æî�!���ûî����ï�"���=ï����`ï����}ï�/���ƒï� ���³ï����Ôï����ìï�#���ð����&ð����?ð�>���\ð�"���›ð����¾ð�%���Ýð�B���ñ�*���Fñ����qñ����ñ����¢ñ�)���²ñ����Üñ�%���ùñ�,���ò����Lò�#���\ò�"���€ò�$���£ò����Èò�/���èò����ó�8���(ó����aó����vó����•ó����²ó����Æó����åó����ô� ���ô����:ô����Kô����`ô����{ô����˜ô����«ô����½ô����Ðô����áô�'���òô����õ�*���5õ����`õ�$���~õ����£õ����½õ����Íõ� ���æõ����ö�"���ö����@ö����Vö�;���lö����¨ö����»ö����×ö����ôö����÷����-÷����K÷����h÷����„÷����˜÷�"���¯÷����Ò÷�,���å÷����ø�)���,ø����Vø����sø����„ø�"���£ø�1���Æø�'���øø���� ù�(���1ù� ���Zù�,���{ù�,���¨ù�,���Õù�'���ú�-���*ú� ���Xú�(���yú�(���¢ú����Ëú����Þú����÷ú�"���û����5û����Dû�&���Wû����~û�"���™û� ���¼û� ���Èû����Õû����çû����øû����ü�5���$ü�0���Zü�.���‹ü����ºü����Öü����öü�"���ý����9ý����Iý�+���Zý�%���†ý����¬ý�)���Ìý����öý� ���øý����þ�<���þ�1���Yþ�,���‹þ�0���¸þ�,���éþ�#���ÿ�0���:ÿ����kÿ�l���oÿ�;��Üÿ����� ���.����<�6���W�5���Ž�+���Ä�(���ð�*����-���D�"���r�)���•����¿����Ñ����è����ÿ� �������!����&����,�,���4�8���a�)���š� ���Ä����Ð����â����ü� ��� ����� �������(����8� ���O� ���Y� ���e�k��o����Û����ã�K���û�8���G����€�k���‰�h���õ����^�‚���ï� ���r� ���}� ���Š�3���–�Š��Ê� ���U � ���b �w���l �w���ä �9���\ �g��– �½���þ �Ò���¼ �1����9���Á�0���û����,����;� ���K�=���X�(���–�ã���¿� ���£�$���¯�F���Ô�����U��+��������Š�<���\���Ì� ���)�+���4�+���`�0���Œ� ���½����Ç����Î�Ï���Ý�1���­����ß�I���ø� ���B�¬���M����ú�@����£��T�7���ø�?���0����p����‚����‘� ���˜����¥����ª����°����¶����¼����Í�:���Ò�…�� ����“�¦���§����N���]�×��a����9 � ���B ����M ����a � ���h ����r ����Š ����¡ ����¾ ����Ú �$���ò ����!����)!����D!� ���S!� ���_!� ���k!����x!� ���‰!����•!����§!����¸!����¿!����Ä!����Ê!����Z"� ���`"�1���m"� ���Ÿ"����­"����¾"����Ø"����é"� ���ø"� ���#� ���#� ���#����*#����/#����4#� ���N#�#���[#����#����ˆ#�*���§#����Ò#�E���Õ#����$����/$�M���@$���Ž$�—��� %�®���8&�…���ç&�H���m'�o���¶'�…���&(����¬(����°(����À(� ���Õ(�,���ã(�&���)� ���7)� ���C)� ���N)����[)� ���b)�#���p)�H���”)�2���Ý)�g���*�i��x*�ª���â+�š���,�;���(-����d-���‚-�9���œ/�*���Ö/�A���0�¸���C0�†���ü0�º���ƒ1�;���>2�¹���z2�%���43����Z3�†���Ú3�N���a4�T���°4� ��5�7���7����H7����g7� ���7� ���‰7����–7� ���›7����§7�N���»7�€��� 8����‹8�Ÿ���¦8�º���F9�7���:�@���9:����z:�D���‘:����Ö:����ç:� ���ü:���� ;����;����/;����>;� ���M;�Ý���[;�1���9<�'���k<�J���“<�u���Þ<� ���T=� ���b=� ���p=����}=�,���=�&���½=�*���ä=�;���>����K>�c���S>� ��·>����Ã?����Ó?�5���Ø?� ���@�<���@����W@����_@����p@����„@� ���™@����¥@�@���­@� ���î@����û@�$����A� ���%A�Ñ���0A�$���B����'B����9B����OB�â��bB�&���ED�%���lD�C���’D�+���ÖD����E����E� ���E����$E����6E����KE����]E����oE� ���E�#��ŽE����²F� ���ÇF�,���ÒF�j���ÿF�&���jG� ���‘G�'���²G�0���ÚG�4��� H�~��@H����¿I����ÜI����ùI�–���J�)���¯J�Y���ÙJ�'���3K�T���[K�'���°K�(���ØK����L�X���L�@���nL����¯L�?���ËL�&��� M�š���2M����ÍM����äM�#���‚N�&���¦N����ÍN�"���ìN�T���O�g���dO�†���ÌO�.���SP����‚P�"���¡P�+���ÄP�Y���ðP�~���JQ�¤���ÉQ�ä���nR�=���SS����‘S�^���¯S�b���T� ���qT�¢���’T�F���5U�}���|U�'���úU�'���"V�Z���JV�"���¥V�`���ÈV�!���)W�!���KW�$���mW� ���’W�¦���³W�M���ZX�>���¨X�'���çX�<���Y�T���LY����¡Y����¦Y����«Y����ÁY����×Y����ìY�ï���Z����òZ�¹���[�D���Â[�H���\�G���P\� ���˜\����¢\����§\����­\�´��¼\�W���q^�B���É^�k��� _�s���x_�¬���ì_�>���™`����Ø`�;���ï`�3���+a�/���_a�+���a�'���»a�#���ãa����b����'b����Cb�<���Sb����b����¤b����ªb����°b����Çb�*���Éb����ôb���� c����&c�A���Cc����…c�2���œc�1���Ïc� ���d���� d�!��� d����Bd�#���Id����md�0���‰d����ºd����Ôd����åd�*���öd����!e����?e�"���_e����‚e���� e�E���¿e�;���f� ���Af�,���bf� ���f�!���°f����Òf����òf�+���g�#���=g�#���ag�,���…g�0���²g�,���ãg�#���h����4h����Oh� ���eh����†h����¢h����µh����Óh����ñh�$���i�"���5i����Xi�'���ni����–i�5���°i�'���æi����j�!���$j����Fj����fj�1���j����±j����Áj����Þj����÷j����k����$k����8k����Lk����ck����}k�(���k����¶k����Ïk�.���äk�2���l����Fl����al����|l�%���•l�0���»l�3���ìl���� m�F���@m�B���‡m�+���Êm�5���öm�1���,n� ���^n����jn����ƒn�*���¢n����Ín����èn�)���o����/o����@o�%���\o�!���‚o� ���¤o� ���²o����Ào����Ðo�8���ëo����$p����:p����Np����lp�&���†p�'���­p�<���Õp�:���q�.���Mq�!���|q����žq�&���­q����Ôq����ïq����ÿq����r����$r����4r�#���Dr�'���hr�"���r�&���³r����Úr����ïr����s� ���#s����Ds����]s����ts�%���‹s����±s� ���Ís� ���Ús����çs����ús����t����%t����8t����Ot����ct����vt�,���t�+���ºt�-���æt�)���u�!���>u����`u����u����“u�8���ªu����ãu����úu����v����%v�3���7v� ���kv����uv� ���†v����’v����§v� ���·v����Áv�#���Ôv�"���øv� ���w����<w����[w����lw����ˆw����œw����¶w����Çw����ßw����åw����÷w�%���x����.x����Bx�$���\x�+���x�#���­x�:���Ñx�!��� y�/���.y�'���^y����†y����œy����·y����Êy����åy�+���z�*���1z�%���\z����‚z�#��� z�$���Äz����éz�%���ÿz�!���%{�'���G{�%���o{����•{����µ{����É{����Û{����ú{�(���|�,���A|� ���n|�$���|����´|����Í|����ß|����ý|�*���}�$���F}�#���k}�%���}����µ}�!���Õ}�&���÷}����~����2~�(���P~� ���y~�3���š~�-���Î~����ü~�����!���4�1���V�'���ˆ����°�1���Ð����€����€����4€����N€����h€�#���‚€�1���¦€�.���Ø€������������/�(���O����x� �������ž����»�(���Ð����ù����þ�3���‚�;���Q‚�.���‚����¼‚����Ô‚����é‚�$���ƒ�$���,ƒ�D���Qƒ����–ƒ����ªƒ����»ƒ����˃����߃����øƒ����„�%���1„�%���W„����}„����š„����´„�-���¸„����æ„����ý„�)��� …�/���6…�=���f…�@���¤…�:���å…���� †�!���>†����`†�,���r†����Ÿ†����»†����͆�A���ä†�;���&‡����b‡����}‡�!���–‡����¸‡����·����â‡� ���ý‡�!���ˆ�%���@ˆ�(���fˆ����ˆ����ªˆ����¾ˆ�*���ш�-���üˆ����*‰����:‰����Q‰����j‰����‰����–‰����¯‰����ˉ����ä‰�%���ü‰�1���"Š�#���TŠ�"���xŠ�"���›Š�1���¾Š����ðŠ� ���‹����‹����%‹����;‹�"���M‹����p‹� ���Š‹����˜‹����«‹����‹����Õ‹����ñ‹����Œ�#���"Œ�!���FŒ�!���hŒ����ŠŒ����¡Œ����ÀŒ����ÙŒ� ���øŒ������������&����8����Q����j����ƒ�!���¡����Ã�"���Û����þ����Ž� ���<Ž����]Ž����uŽ����ŠŽ�]���ŸŽ�G���ýŽ����E����Y����t����Š�!��� �*���Â� ���í� ���ú�����/���/�$���_�"���„����§����Å�2���Ú�;��� ‘����I‘����b‘����‘����‘�R���´‘�L���’����T’�(���l’� ���•’����¢’����²’����Ä’����Ú’�,���ø’�9���%“�*���_“�,���Š“�/���·“����ç“�*���í“�G���”�0���`”�:���‘”�#���Ì”�'���ð”�8���•����Q•�@���f•�/���§•����ו�7���è•�8��� –� ���Y–����g–�/���ƒ–�-���³–� ���á–�0���í–����—����8—�#���O—�&���s—�)���š—�*���Ä—����ï—�$���˜����)˜����@˜����Z˜����j˜�+���ƒ˜�1���¯˜�"���á˜� ���™����%™����7™����N™�#���l™�$���™����µ™����Ó™����è™�!���š�!���*š�%���Lš����rš�%���š����§š����¶š�7���Åš�=���ýš����;›����Y›����n›����›����§›����º›� ���Ë›����Ù›�-���ñ›�C���œ����cœ�(���xœ� ���¡œ�'���«œ����Óœ�"���íœ�������� �?���0�,���p�%�������Ã�4���Ù� ���ž�&���/ž� ���Vž�1���bž�2���”ž�#���Çž�/���ëž�$���Ÿ�(���@Ÿ����iŸ�8���ˆŸ�G���ÁŸ�9���  �#���C ����g �"���† �$���© ����Π����è ����¡����¡����3¡����Q¡�>���i¡�B���¨¡� ���ë¡� ���ö¡����¢����¢����(¢����E¢� ���X¢�7���e¢� ���¢����©¢����À¢� ���×¢� ���á¢����ë¢�)���£����/£����D£����_£����s£�$���ˆ£�-���­£�7���Û£����¤����¤����0¤����?¤����N¤����g¤� ���w¤����ƒ¤����Ф����¤����—¤����µ¤����Τ�#���ë¤�J���¥� ���Z¥� ���h¥� ���u¥����¥�*���–¥����Á¥����Ý¥����ö¥����¦����)¦�8���F¦����¦� ���…¦�H���“¦�U���ܦ�>���2§�?���q§�?���±§�8���ñ§�=���*¨�>���h¨�3���§¨����Û¨�(���l©�!���•©�N���·©�f���ª�>���mª�@���¬ª�#���íª�<���«�*���N«����y«����™«�(���±«����Ú«�/���õ«����%¬����@¬����X¬����k¬����q¬����†¬����š¬����¡¬�*���Á¬�!���ì¬�7���­����F­�"���^­����­����­�3���¤­�\���Ø­����5®����M®����e®�.���u®����¤®�0���º®����ë®�C���¯����F¯�%���c¯�B���‰¯�:���̯����°����°����5°� ���G°�H���Q°�+���š°�J���ư�2���±�8���D±�=���}±�@���»±�#���ü±���� ²�$���;²�=���`²�4���ž²�.���Ó²�,���³�<���/³����l³�0���³�3���²³�7���æ³�c���´����‚´����˜´�"���¯´�t���Ò´� ���Gµ�3���Rµ�>���†µ�5���ŵ�j���ûµ�h���f¶�_���϶�0���/·�,���`·�*���·�3���¸·�(���ì·�&���¸�(���<¸� ���e¸����q¸� ���„¸� ���‘¸�/���Ÿ¸�7���ϸ�&���¹� ���.¹�ð��O¹����@»�#��B»�A��f¼�_��¨½�n��À�6��wÁ�Ð��®Â�;��Ä�’��»Å�•��NÇ�]��äÉ�+��BË�±���nÌ�p�� Í�,��‘Î�c��¾Ï�Ô��"Ó�9��÷Ô�ÿ��1×���1Ú�5���CÛ�Á���yÛ�1��;Ü�Ä���mÝ�ž���2Þ�¨���ÑÞ���zß�~��‹á�#�� ã���.ä�X��Ìæ�÷���%é�£��ê���Áë�¼��_ð����ó�¦��ºó���aõ�i��wö�¹���á÷�j���›ø�½��ù� ��Äú�›���Ñû�Ô���mü�ã���Bý���&þ�¬���<ÿ�ÿ��éÿ���é����B�����Z�}��x �ä���ö ���Û �x��ë �7��d�}���œ������#�|��*�X��§�›�������œ�p���¶�z���'�_��¢�B���ì��E!�’��2#�ß���Å$�L��¥%�7��ò)�^��*+�…���‰,�X��-�ó��h.�¹���\0�‹��1�ª��¢2�{���M4�z���É4�‚��D5�k��Ç6�¥��38�ç��Ù9���Á;�Æ��Õ=�š���œ?�D���7@�˜���|@�·��A�š��ÍC�<��hE���¥F�j��ÀG���+I�£��IK���íL�¿�� N�æ��ÍO���´Q�h��ÆT���/W�Õ��2Y�V��[�Ç���_^�-��'_����Uc�)��gc�Ê��‘i���\k���pl�¬���un�m���"o�M��o�‘���Þp�)��pq�Æ���šr� ���as�ƒ��ms�Ý��ñu�ô��Ïx�Ö���Ä{�O��›|�¨���ë�¢��”€�œ���7ƒ�-��Ôƒ�l���…���o…�Š��x‡�à���Š�Á���äŠ�y��¦‹�ü��� Ž�N���Ì���l�Á���9‘�F���û‘�ª��B’�Ê���í”�p��¸•�§��)—�Ù���ј�Á���«™�g��mš�v��Õ›�l��LŸ�8��¹¡����ò£���ó¤�«���ö©� ���¢ª�Ð���C«�Î���¬�é��ã¬���ͯ���ݰ�Q��n²�Ç���À³�3��ˆ´�\��¼µ�ã���·�]���ý·�ñ��[¸�w��M»�µ���Ž�Ï���{¾�­���K¿�V���ù¿�Î���PÀ�B��Á�‚��bÂ�j��åÄ�U��PÇ���¦É�%��¯Ê�œ��ÕË�è���rÍ�ú���[Î�Ý��VÏ�¯��4Ñ�w��äÒ�º��\Õ�'��×� ��?Ø�µ���`Ù�½��Ú�L��ÔÛ�m��!Ý�}���ß�(�� à�ê���6â�%��!ã�&��Gå���nè���†é�j��ë�q��øì�Z���jï�f���Åï�è���,ð�Š��ñ�©��� ô�Z��Jõ�³��¥ö�\��Yø�Ô��¶ü�¤��‹ÿ�2��0�E��c�„��©�›��. �ó��Ê �,��¾�¯���ë���›�S��Ÿ�ž��ó�¦��’�^���9�f���˜�‡��ÿ�“��‡�³��!�Ç��Ï"�í��—$�}��…&�!��)� ��%*�#��0+�{��T.�•���Ð/�¤���f0�r�� 1���~2�í��4�å��}6�å��c9�’��I;�Æ��Ü=�8��£@�=��ÜA�œ��G�H���·H�¾����I�Ï��¿I���K�†��“L���N�.��6O�Ú��eP�Þ���@S�R��T�|��rV�^���ïW���NX�Í���gZ�Ÿ��5[�>���Õ\�G��]�Ö��\`�w���3b�Ý���«b�C��‰c� ��Íd� ��Úe���çf�Ý��k���äm�j��ùo�ô��dr���Yt�ª��[v�s��z�6��z{�†��±|�×��8�¤���V���µ‚�Ç��� ƒ�i��Ôƒ���>…���Oˆ�©���c‹�ª�� Œ�—��¸�x��P���É�2��â‘�„��”�Ž��š•�j��)™�P��”š�Ö��å›�Å��¼�ë���‚Ÿ�S���n �—�� �I���Z¤�N��¤¤�i���ó¦�+��]§�¬��‰¨�5��6¬�€��l­�à��í®�i��ΰ�„��8³�w���½´�å��5µ�Ñ��·�Ð��í¸�4��¾º�Œ��ó»�³��€¿�^��4Á�Î���“Ã���bÄ���|Å�¿���’Ç�+��RÈ���~É�¾��ŽÊ�y��MÌ�ê��ÇÍ�Ý��²Ï�!��Ñ���²Ó�‰��ÏÔ�A��YÖ�¢���›Ú�$��>Û�B��cÝ�»���¦ß�d���bà�ê��Çà�½��²ä�î��pç�ë��_é�õ��Kë�H��Aí�í��Šð�Z��xò�}���Óó�Z���Qô�N��¬ô�g���ûö����c÷�Õ��ø� ��×ù�Q���åú�‘���7û�r��Éû�È���<þ�¼��ÿ�³��Â��ç��v�/��^�Ü���Ž �^���k �f���Ê �a���1 �P��“ �Z���ä �O���?�r����õ���l���ø�¬���e�®����ü��Á�S���¾�E����\���X�M���µ�c����T���g�r���¼�ö��/�`���&�¬���‡�`���4�G���•�`���Ý� ���>�$���I�r��n�J��á�/��,"�l���\$�•��É$�ý��_'�‚��])�Æ��à*�à��§,����ˆ.����¢.����´.����É.����Ò.����Û.����ã.� ���ò.����ý.���/�L���71� ���„1� ���Ž1�X���š1�8���ó1�(���,2�-���U2�+���ƒ2�F���¯2�I���ö2����@3� ���]3�{���~3�Ž���ú3�\���‰4�+���æ4�[���5�+���n5�H���š5�`���ã5����D6�c���a6����Å6�>���Ý6�K���7����h7�m���ˆ7�6���ö7����-8�p���38�L���¤8�0���ñ8�4���"9�P���W9�B���¨9�8���ë9�Ž���$:�O���³:�E���;�\���I;�ž���¦;�v���E<�@���¼<�-���ý<�-���+=�}���Y=�B���×=�Y���>�„���t>�-���ù>�V���'?�I���~?�g���È?�/���0@�V���`@����·@�‚���Ñ@�(���TA�6���}A�8���´A�&���íA�U���B�:���jB�&���¥B�T���ÌB�D���!C�H���fC�9���¯C�0���éC�&���D�&���AD����hD�D���‚D�B���ÇD�d��� E�2���oE�Q���¢E�/���ôE�N���$F�D���sF����¸F�,���ÑF�6���þF�'���5G�9���]G�,���—G�&���ÄG�‹���ëG�'���wH�(���ŸH�6���ÈH�*���ÿH�0���*I�,���[I�;���ˆI�$���ÄI�+���éI�@���J�H���VJ�!���ŸJ�\���ÁJ�0���K�G���OK�H���—K�B���àK�4���#L�7���XL�i���L�V���úL�0���QM�G���‚M�3���ÊM�V���þM�\���UN�V���²N�T��� O�W���^O�.���¶O�U���åO�U���;P����‘P� ���¯P�"���ÐP�*���óP����Q����<Q�C���WQ�.���›Q�A���ÊQ���� R����R�"���2R����UR�R���oR�H���ÂR�r��� S�g���~S�\���æS�6���CT�*���zT�*���¥T�G���ÐT����U�8���6U�]���oU�D���ÍU�?���V�J���RV����V���� V�+���¹V�c���åV�`���IW�T���ªW�X���ÿW�P���XX�8���©X�X���âX����;Y�à���?Y�¨�� Z�1���É\� ���û\�A��� ]�\���K]�X���¨]�4���^�\���6^�3���“^�T���Ç^�5���_�_���R_����²_����Ê_����é_����`����'`����>`����C`����I`�U���Z`�>���°`�i���ï`� ���Ya�(���za�5���£a�.���Ùa�&���b����/b����8b�6���Ib�1���€b����²b����Òb����êb�ž���c����Ÿe�G���¶e�Ž���þe�a���f����ïf�´���g�Ç���»g�!��ƒh�ú���¥i���� j�,���¿j�#���ìj�f���k�ƒ��wk����ûm����n���,n���1o�}���@p�ø��¾p�%��·s�š��Ýt�`���xv�S���Ùv�N���-w�(���|w�-���¥w�$���Ów�b���øw�=���[x�§��™x����Az�[���Rz�ƒ���®z�/���2{���b{����k~� ���~~�Z��‰~�¯���ä€� ���”�b���µ�4���‚�M���M‚����›‚����¬‚����¿‚�¼��Û‚�}���˜„�7���…�Œ���N…����Û…�7��û…�@���3‡�k���t‡�H��à‡�k���)‹�^���•‹�5���ô‹�*���*Œ�.���UŒ����„Œ����£Œ����¶Œ����ÈŒ����ãŒ�-���ýŒ����+�}���>�ï��¼�-���¬�Q��Ú� ���,’�ñ��M’�A��?–����™����œ™�!���·™� ���Ù™����å™�$���ú™�.���š�5���Nš�2���„š�*���·š�U���âš�.���8›�@���g›�*���¨›�!���Ó›�%���õ›�(���œ�,���Dœ����qœ�1���‘œ�2���Ü����öœ� ��� �����ü���!����ž�'���%ž�k���Mž�)���¹ž�0���ãž�,���Ÿ����AŸ�(���aŸ�%���ŠŸ�&���°Ÿ�#���ן����ûŸ���� ���� �1���$ �&���V �N���} ����Ì �O���ì �E���<¡����‚¡�‰���‰¡�.���¢����B¢�™���]¢�}��÷¢�ó���u¥�e��i¦�õ���ϧ�­���Ũ�ú���s©���nª����«����…«����š«�)���´«�a���Þ«�Q���@¬�#���’¬� ���¶¬�$���׬� ���ü¬����­�S���!­�“���u­�s��� ®�¹���}®�E��7¯�Ú��}±�;��X³�i���”´�;���þ´�*��:µ�h���e¹�P���ι����º�'��¡º�õ���É»�`��¿¼�Z��� ¾�m��{¾�D���é¿�ë���.À�ç���Á�³���Â�È���¶Â�Ÿ��Ã�w���Ç�*���—Ç�6���ÂÇ����ùÇ�$���È�'���-È�!���UÈ�1���wÈ�²���©È�Õ���\É�C���2Ê�R��vÊ� ��ÉË����×Ì�†���eÍ�B���ìÍ�s���/Î����£Î� ���¿Î����àÎ�7���üÎ�0���4Ï�,���eÏ�,���’Ï�)���¿Ï�‹��éÏ�^���uÑ�w���ÔÑ�–���LÒ�ú���ãÒ�'���ÞÓ�)���Ô�$���0Ô�1���UÔ�n���‡Ô�=���öÔ�Q���4Õ����†Õ����$Ö�ç���7Ö�Ò��×�1���òØ� ���$Ù�£���1Ù�+���ÕÙ�¢���Ú����¤Ú����³Ú�/���ÑÚ�1���Û�#���3Û� ���WÛ�Ž���bÛ����ñÛ� ���Ü�9���Ü����VÜ�Í��kÜ�/���9Þ�5���iÞ�;���ŸÞ�G���ÛÞ���#ß�q���7â�I���©â�x���óâ�Z���lã����Çã�,���Îã�#���ûã�&���ä�6���Fä����}ä����šä����·ä����Ôä�B��èä�/���+ç����[ç�b���{ç�Ã���Þç�P���¢è�F���óè�Q���:é�`���Œé�b���íé�9��Pê�:���Ší�7���Åí�9���ýí� ��7î�I���Xï�–���¢ï�K���9ð�ž���…ð�M���$ñ�Y���rñ�*���Ìñ�ª���÷ñ�ˆ���¢ò�4���+ó�|���`ó�G���Ýó�W��%ô�-���}õ�ö���«õ�?���¢ö�H���âö�9���+÷�A���e÷�Œ���§÷�Õ���4ø�Ü��� ù�k���çù�7���Sú�G���‹ú�K���Óú����û�ç���¯û���—ü�g��·ý�k���ÿ�8���‹ÿ�š���Äÿ�Ì���_��;���,�ö���h�o���_� ��Ï�E���Û�I���!�…���k�=���ñ�£���/�<���Ó�H����K���Y�K���¥�,��ñ�°����v���Ï�O���F ����– �‹���$ ����° ����Ê �B���ã �B���& �(���i �)���’ �„��¼ �0���A�u��r�z���è�~���c�|���â����_� ���~����‰�����§��ª�·���R���� �ã���Š�å���n�D��T�{���™�-����W���C�I���›�E���å�A���+�=���m�9���«�5���å�1����%���M����s�;���õ� ���1� ���;�7���E����}�[���€�+���Ü�-����8���6�‡���o�'���÷�u����s���•�$��� �.���. �R���] � ���° �N���½ �@��� !�w���M!�F���Å!�8��� "�K���E"�y���‘"�;��� #�B���G#�J���Š#�:���Õ#�E���$�S���V$�I���ª$�1���ô$�G���&%�0���n%�1���Ÿ%�/���Ñ%�.���&�D���0&�>���u&�F���´&�_���û&�c���['�Z���¿'�g���(�5���‚(�5���¸(�J���î(�;���9)�-���u)�>���£)�F���â)�H���)*�P���r*�E���Ã*�M��� +�Q���W+�=���©+�~���ç+�<���f,�7���£,�K���Û,�V���'-�?���~-�f���¾-�7���%.�B���].�@��� .�@���á.�7���"/�:���Z/�:���•/�A���Ð/�5���0�7���H0�p���€0�5���ñ0�4���'1�f���\1�‚���Ã1�:���F2�:���2�5���¼2�_���ò2�z���R3�‹���Í3�P���Y4�‚���ª4����-5�[���¯5�’��� 6�ƒ���ž6�&���"7�9���I7�G���ƒ7�b���Ë7�V���.8�H���…8�p���Î8�&���?9�6���f9�S���9�`���ñ9�*���R:�,���}:�2���ª:�b���Ý:�”���@;�G���Õ;�?���<�U���]<�n���³<�l���"=�E���=�c���Õ=�j���9>�[���¤>�Z����?�5���[?�g���‘?�V���ù?�7���P@�S���ˆ@�3���Ü@�&���A�<���7A�[���tA�7���ÐA�/���B�1���8B�)���jB�(���”B�4���½B�I���òB�*���<C�=���gC�4���¥C�X���ÚC�0���3D�!���dD�8���†D����¿D�$���ÛD�/����E�.���0E�1���_E�0���‘E�4���ÂE�4���÷E�n���,F�S���›F�d���ïF�U���TG�?���ªG�?���êG�*���*H�-���UH�`���ƒH�Z���äH����?I�$���^I����ƒI�Œ���£I����0J����?J�,���\J�8���‰J����ÂJ����áJ�(���K�R���*K�C���}K�X���ÁK�<���L����WL�0���tL�5���¥L�,���ÛL����M�"���%M� ���HM� ���TM����uM�K���”M�7���àM�@���N�Y���YN�C���³N�8���÷N�`���0O�<���‘O�I���ÎO�D���P�8���]P�J���–P�%���áP�<���Q�B���DQ�`���‡Q�H���èQ�B���1R�A���tR�G���¶R�J���þR�-���IS�P���wS�G���ÈS�O���T�D���`T�I���¥T�)���ïT�!���U�5���;U�D���qU�f���¶U�S���V�M���qV�Q���¿V�*���W�%���<W�9���bW�7���œW�W���ÔW�6���,X�<���cX�J��� X�N���ëX�]���:Y�j���˜Y�%���Z�4���)Z�_���^Z�I���¾Z�q���[�d���z[�9���ß[�8���\�C���R\�z���–\�M���]�J���_]�{���ª]�1���&^�G���X^�?��� ^�=���à^�Q���_�V���p_�¯���Ç_�b���w`�0���Ú`�5��� a�3���Aa�=���ua�L���³a�?����b�0���@b�"���qb�4���”b����Éb�:���áb�J���c�R���gc�T���ºc�H���d�2���Xd�>���‹d�W���Êd�O���"e�p���re�H���ãe�B���,f�A���of�F���±f�<���øf�3���5g�-���ig�<���—g�N���Ôg�)���#h�+���Mh����yh�V���}h�8���Ôh�!��� i�J���/i�‚���zi�„���ýi�z���‚j�s���ýj�Z���qk�A���Ìk�-���l�l���<l�)���©l�&���Ól�7���úl�€���2m�œ���³m�-���Pn�:���~n�C���¹n�$���ýn�$���"o�6���Go�?���~o�@���¾o�N���ÿo�@���Np�/���p�%���¿p�5���åp�X���q�[���tq����Ðq�)���íq�<���r�+���Tr�/���€r�(���°r�6���Ùr�1���s�*���Bs�O���ms�d���½s�H���"t�\���kt�M���Èt�W���u�,���nu����›u� ���¹u�+���Úu�!���v�I���(v�;���rv����®v�,���Èv�;���õv�)���1w�/���[w�*���‹w�C���¶w�K���úw�C���Fx�?���Šx�.���Êx�D���ùx�C���>y�P���‚y����Óy����ïy����z����.z�,���Mz�,���zz�,���§z�4���Ôz�7��� {�$���A{�=���f{�=���¤{�0���â{�?���|�&���S|�#���z|����ž|�·���¾|�–���v}�.��� ~�=���<~�3���z~�%���®~�>���Ô~�Z����)���n�?���˜�4���Ø�^��� €�A���l€�M���®€�F���ü€�4���C�\���x�p���Õ�7���F‚�/���~‚�6���®‚�)���å‚�¡���ƒ�œ���±ƒ�?���N„�O���Ž„�)���Þ„�,���…�)���5…�2���_…�<���’…�=���Ï…�T��� †�S���b†�d���¶†�e���‡����‡�I���—‡�_���á‡�T���Aˆ�i���–ˆ�H����‰�A���I‰�Z���‹‰�2���æ‰�d���Š�_���~Š����ÞŠ�Z���þŠ�\���Y‹�!���¶‹�D���Ø‹�E���Œ�Y���cŒ����½Œ�r���ÖŒ�/���I�+���y�@���¥�T���æ�W���;Ž�V���“Ž�:���êŽ�m���%�.���“�2���Â����õ�-����e���C�L���©�G���ö�>���>‘�4���}‘�0���²‘�/���ã‘�9���’�=���M’�:���‹’�'���Æ’�=���î’�A���,“�R���n“�U���Á“����”�A���5”����w”�-���•”�z���Ô�‹���>•�(���Ê•� ���ó•�9���–�I���N–� ���˜–����¹–�<���Ó–�;���—�A���L—�‘���Ž—�/��� ˜�F���P˜����—˜�T���­˜�,���™�k���/™����›™����¯™�—���Å™�^���]š�G���¼š�*���›�q���/›�B���¡›�A���ä›�I���&œ�ƒ���pœ�]���ôœ�9���R�\���Œ�L���é�I���6ž�+���€ž�Y���¬ž�h���Ÿ�Z���oŸ�?���ÊŸ�H���  �Q���S �x���¥ �?���¡�/���^¡�6���Ž¡�*���Å¡�6���ð¡�9���'¢�u���a¢�I���×¢����!£�4���;£� ���p£�(���‘£�_���º£�$���¤����?¤�}���W¤����Õ¤� ���æ¤�%���¥�#���-¥����Q¥�<���`¥�P���¥�)���î¥�4���¦�7���M¦�0���…¦�D���¶¦�n���û¦�u���j§� ���à§�.���ë§�#���¨����>¨�,���^¨�!���‹¨�=���­¨�.���ë¨����©�!���:©�>���\©�1���›©�P���Í©�:���ª�¨���Yª�!���«�)���$«����N«�L���n«�^���»«�P���¬�<���k¬�9���¨¬�V���â¬�G���9­�f���­����è­����ú­�n��� ®�Œ���z®�k���¯�l���s¯�l���à¯�i���M°�j���·°�Œ���"±�`���¯±� ��²�H���³�^���f³�¡���ų�Ñ���g´�ˆ���9µ�]���µ�+��� ¶�Y���L¶�E���¦¶�)���ì¶�>���·�Š���U·�.���à·�`���¸�<���p¸�?���­¸�*���í¸� ���¹�4���#¹�6���X¹����¹�I���–¹�T���à¹�U���5º�H���‹º�8���Ôº�D��� »�!���R»�N���t»�e���û� ���)¼�)���ʼ�*���ô¼����½�H���;½����„½�{���ž½�H���¾�´���c¾�O���¿�X���h¿�‹���Á¿�t���MÀ����ÂÀ�4���ÛÀ����Á����'Á�“���FÁ�^���ÚÁ�„���9Â�f���¾Â����%Ã�„���§Ã�»���,Ä�a���èÄ�E���JÅ�Z���Å�‡���ëÅ�z���sÆ�z���îÆ�g���iÇ�t���ÑÇ�)���FÈ�h���pÈ�g���ÙÈ�r���AÉ�ã���´É�*���˜Ê�+���ÃÊ�{���ïÊ�¨���kË����Ì�{���.Ì�„���ªÌ�`���/Í�ö���Í�Ê���‡Î�•���RÏ�j���èÏ�T���SÐ�[���¨Ð�_���Ñ�\���dÑ�B���ÁÑ�7���Ò����<Ò�#���VÒ�4���zÒ����¯Ò�K���ÂÒ�X���Ó�B���gÓ�A���ªÓ����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����ìÓ����ôÓ�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��äˆ��‰��‰��0‰��D‰��X‰��l‰��€‰��¤‰��ȉ��ì‰��Š��Š��8Š��üÓ��������������� �����������������ÿÿÿÿÔ��������1���ÿÿÿÿNÔ��������/���ÿÿÿÿ~Ô����������ÿÿÿÿ®Ô�7����������ÿÿÿÿøÔ�����������ÿÿÿÿ(Õ�����������ÿÿÿÿBÕ�����������ÿÿÿÿlÕ��������(���ÿÿÿÿ™Õ� �������Q���ÿÿÿÿôÕ� �������R���ÿÿÿÿPÖ� �������V���ÿÿÿÿ°Ö������������������ÿÿÿÿÜÖ�����������ÿÿÿÿãÖ� ���������������ÿÿÿÿ ×����������ÿÿÿÿ.×���������������"��������������&���ÿÿÿÿ{×��������#�������#�������$���ÿÿÿÿæ×��������(�������*����������ÿÿÿÿ^Ø�@������,���ÿÿÿÿÊØ�p�������#���ÿÿÿÿ]Ù�@�������,���ÿÿÿÿÉÙ��������$���ÿÿÿÿñÙ�&�������%���ÿÿÿÿ<Ú��������d���ÿÿÿÿ¥Ú�R�������Q�������Q����������ÿÿÿÿšÛ�F�������b�������d������� ���ÿÿÿÿÆÜ�3�������m�������m�������8���ÿÿÿÿ Þ�0�������>����������ÿÿÿÿzÞ�����������ÿÿÿÿÞ�������������4���ÿÿÿÿâÞ�(������ ���ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-12 21:26+0400 Last-Translator: Yuri Kozlov <yuray@komyakino.ru> Language-Team: Russian <gnu@mx.ru> Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Lokalize 1.4 � � РзадаётÑÑ ÑˆÐµÑтнадцатеричным чиÑлом Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом 0x или 0X, и может Ñодержать умножающий ÑуффикÑ: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 и так далее Ð´Ð»Ñ G, T, P, E, Z, Y. � ТИП ÑоÑтавлÑетÑÑ Ð¸Ð· одного или неÑкольких Ñледующих Ñпецификаций: a именованный Ñимвол, Ñтарший бит игнорируетÑÑ c ASCII-Ñимвол или управлÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑть � Традиционные Ñпецификации формата можно пиÑать вперемешку, они объединÑÑŽÑ‚ÑÑ: -a Ñиноним -t a, именованные Ñимволы, Ñтарший бит игнорируетÑÑ -b Ñиноним -t o1, воÑьмеричные байты -c Ñиноним -t c, ASCII-Ñимволы или управлÑющие поÑледовательноÑти Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой чертой -d Ñиноним -t u2, беззнаковые деÑÑтичные двухбайтовые единицы � ( ВЫРÐЖЕÐИЕ ) ВЫРÐЖЕÐИЕ иÑтинно ! ВЫРÐЖЕÐИЕ ВЫРÐЖЕÐИЕ ложно ВЫРÐЖЕÐИЕ1 -a ВЫРÐЖЕÐИЕ2 ВЫРÐЖЕÐИЕ1 и ВЫРÐЖЕÐИЕ2 оба иÑтинны ВЫРÐЖЕÐИЕ1 -o ВЫРÐЖЕÐИЕ2 ВЫРÐЖЕÐИЕ1 или ВЫРÐЖЕÐИЕ2 иÑтинно � --check-order проверить правильноÑть Ñортировки ввода, даже еÑли вÑе входные Ñтроки имеют пару --nocheck-order не проверÑть правильноÑть Ñортировки ввода � -1 не показывать Ñтолбец 1 (Ñтроки, уникальные Ð´Ð»Ñ Ð¤ÐЙЛÐ1) -2 не показывать Ñтолбец 2 (Ñтроки, уникальные Ð´Ð»Ñ Ð¤ÐЙЛÐ2) -3 не показывать Ñтолбец 3 (Ñтроки, вÑтреченные в обоих файлах) � -a, --all Ñквивалент -b -d --login -p -r -t -T -u -b, --boot Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней загрузки ÑиÑтемы -d, --dead печатать мертвые процеÑÑÑ‹ -H, --heading печатать Ñтроку Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ð¼Ð¸ Ñтолбцов � -b ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñпециальным Ñ Ð¿Ð¾Ð±Ð»Ð¾Ñ‡Ð½Ñ‹Ð¼ доÑтупом -c ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñпециальным Ñ Ð¿Ð¾Ñимвольным доÑтупом -d ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼ -e ФÐЙЛ ФÐЙЛ ÑущеÑтвует � -l иÑпользовать подробный формат вывода -b опуÑтить в подробном формате начальный каталог и оболочку Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -h опуÑтить в подробном формате файл проекта Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -p опуÑтить в подробном формате файл плана Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -s иÑпользовать краткий формат вывода, принимаетÑÑ Ð¿Ð¾ умолчанию � -n СТРОКРдлина СТРОКИ отлична от Ð½ÑƒÐ»Ñ Ð¡Ð¢Ð ÐžÐšÐ Ñквивалентно -n СТРОКР-z СТРОКРдлина СТРОКИ равна нулю СТРОКÐ1 = СТРОКÐ2 Ñтроки равны СТРОКÐ1 != СТРОКÐ2 Ñтроки не равны � ÐРГ1 * ÐРГ2 арифметичеÑкое произведение ÐРГ1 и ÐРГ2 ÐРГ1 / ÐРГ2 арифметичеÑкое чаÑтное ÐРГ1 и ÐРГ2 ÐРГ1 % AРГ2 арифметичеÑкий оÑтаток от Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÐРГ1 на ÐРГ2 � ÐРГ1 + ÐРГ2 арифметичеÑÐºÐ°Ñ Ñумма ÐРГ1 и ÐРГ2 ÐРГ1 - ÐРГ2 арифметичеÑÐºÐ°Ñ Ñ€Ð°Ð·Ð½Ð¾Ñть ÐРГ1 и ÐРГ2 � ÐРГ1 < ÐРГ2 ÐРГ1 меньше ÐРГ2 ÐРГ1 <= ÐРГ2 ÐРГ1 меньше или равен ÐРГ2 ÐРГ1 = ÐРГ2 ÐРГ1 равен ÐРГ2 ÐРГ1 != ÐРГ2 ÐРГ1 не равен ÐРГ2 ÐРГ1 >= ÐРГ2 ÐРГ1 больше или равен ÐРГ2 ÐРГ1 > ÐРГ2 ÐРГ1 больше ÐРГ2 � ФÐЙЛ1 -ef ФÐЙЛ2 ФÐЙЛ1 и ФÐЙЛ2 имеют одинаковые уÑтройÑтва и номера inode ФÐЙЛ1 -nt ФÐЙЛ2 ФÐЙЛ1 изменÑлÑÑ Ð¿Ð¾Ð·Ð¶Ðµ, чем ФÐЙЛ2 ФÐЙЛ1 -ot ФÐЙЛ2 ФÐЙЛ1 был Ñоздан позже, чем ФÐЙЛ2 � ЦЕЛОЕ копировать до Ñтроки Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ номером, но не включительно /REGEXP/[СДВИГ] копировать до Ñовпавшей Ñтроки, но не включительно %%REGEXP%%[СДВИГ] пропуÑтить до Ñовпавшей Ñтроки, но не включительно {ЦЕЛОЕ} повторить предыдущий образец заданное чиÑло раз {*} повторить предыдущий образец наибольшее возможное чиÑло раз Дополнительный СДВИГ Ñтрок — Ñто обÑзательный Ñимвол «+» или «-» Ñ Ð¿Ð¾Ñледующим положительным целым чиÑлом. � ЦЕЛОЕ1 -eq ЦЕЛОЕ2 ЦЕЛОЕ1 равно ЦЕЛОМУ2 ЦЕЛОЕ1 -ge ЦЕЛОЕ2 ЦЕЛОЕ1 больше или равно ЦЕЛОМУ2 ЦЕЛОЕ1 -gt ЦЕЛОЕ2 ЦЕЛОЕ1 больше ЦЕЛОГО2 ЦЕЛОЕ1 -le ЦЕЛОЕ2 ЦЕЛОЕ1 меньше или равно ЦЕЛОМУ2 ЦЕЛОЕ1 -lt ЦЕЛОЕ2 ЦЕЛОЕ1 меньше ЦЕЛОГО2 ЦЕЛОЕ1 -ne ЦЕЛОЕ2 ЦЕЛОЕ1 отлично от ЦЕЛОГО2 � СТРОКР: REGEXP проверка ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ REGEXP Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ или концом СТРОКИ match СТРОКРREGEXP то же, что и СТРОКР: REGEXP substr СТРОКРПОЗ ДЛИÐРподÑтрока СТРОКИ, Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¾Ñ‚ÑчитываетÑÑ Ð¾Ñ‚ 1 index СТРОКРСИМВОЛЫ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² СТРОКЕ, где первым найден любой из СИМВОЛОВ, иначе 0 length СТРОКРдлина СТРОКИ � a нумеровать вÑе Ñтроки t нумеровать только непуÑтые Ñтроки n не нумеровать Ñтроки pБРВ нумеровать только Ñтроки, чаÑть которых Ñовпадает Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼ регулÑрным выражением БРВ ФОРМÐТ задаетÑÑ ÐºÐ°Ðº один из Ñледующих: ln выравнивать по левому краю, не выводить начальные нули rn выравнивать по правому краю, не выводить начальные нули rz выравнивать по правому краю, выводить начальные нули � b Ñоздать файл блочного уÑтройÑтва (буферизованный) c, u Ñоздать файл Ñимвольного уÑтройÑтва (небуферизованный) p Ñоздать именованный канал � количеÑтво пользователей=%lu � -t подразумеваетÑÑ, еÑли ДЛИÐÐ_СТРÐÐИЦЫ <= 10. ЕÑли ФÐЙЛ не задан или задан как -, то читает Ñтандартный ввод. � Полем ÑчитаетÑÑ Ð¿Ð¾ÑледовательноÑть пробельных Ñимволов (обычно, пробелы и/или TAB), за которой Ñледуют непробельные Ñимволы. Сначала пропуÑкаютÑÑ Ð¿Ð¾Ð»Ñ, потом Ñимволы. � Ð£Ð¿Ñ€Ð¾Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° «finger»; печатает ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ пользователе. Ð’ качеÑтве файла utmp будет иÑпользоватьÑÑ %s. � ПроÑто «-» -- Ñиноним Ð´Ð»Ñ Â«-i». ЕÑли не задана КОМÐÐДÐ, печатает получившееÑÑ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ðµ. � ДобавлÑет ÑÑƒÑ„Ñ„Ð¸ÐºÑ z к любым показываемым печатным Ñимволам в конце каждой выходной Ñтроки. � ПоÑле любого из флагов идет необÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¿Ð¾Ð»Ñ Ð² виде деÑÑтичного чиÑла; затем необÑзательный модификатор, один из Ñледующих: E -- еÑли возможно, иÑпользовать альтернативное предÑтавление Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ локали O -- еÑли возможно, иÑпользовать альтернативные чиÑловые Ñимволы локали. � ЕÑли ВЫРÐЖЕÐИЕ не задано, оно ÑчитаетÑÑ Ð»Ð¾Ð¶Ð½Ñ‹Ð¼. Ð’ противном Ñлучае ВЫРÐЖЕÐИЕ может быть иÑтинным либо ложным; оно уÑтанавливает выходной ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹. Выходное значение определÑетÑÑ Ñледующим образом: � Как иÑключение, cp Ñоздает резервную копию ИСТОЧÐИКÐ, еÑли заданы ключи -f и -b, а еÑли ИСТОЧÐИК Ñовпадает Ñ ÐÐЗÐÐЧЕÐИЕМ, то cp Ñоздает резервную копию ÐÐЗÐÐЧЕÐИЯ. � Помните, что при иÑпользовании в оболочке некоторые операторы должны быть взÑты в кавычки. ЕÑли оба аргумента ÐРГ ÑвлÑÑŽÑ‚ÑÑ Ñ‡Ð¸Ñлами, то производитÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡ÐµÑкое Ñравнение, иначе они ÑравниваютÑÑ ÐºÐ°Ðº Ñтроки. СопоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼ возвращают Ñовпавшую Ñтроку между \( и \) или пуÑтую Ñтроку; еÑли \( и \) не иÑпользованы, то возвращаетÑÑ Ñ‡Ð¸Ñло Ñовпавших Ñимволов. � ЕÑли ТИП -- Ñто b, c или u, необходимо задавать как ОСÐОВÐОЙ, так и ВТОРОСТЕПЕÐÐЫЙ, а еÑли ТИП равен p, их Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ. ЕÑли ОСÐОВÐОЙ или ВТОРОСТЕПЕÐÐЫЙ начинаютÑÑ Ð½Ð° 0x или 0X, они интерпретируютÑÑ ÐºÐ°Ðº шеÑтнадцатеричные чиÑла; еÑли начинаютÑÑ Ð½Ð° 0, то как воÑьмеричные; иначе как деÑÑтичные. ТИП может принимать Ñледующие значениÑ: � По умолчанию rm не удалÑет каталоги. ИÑпользуйте ключ --recursive (-r или -R), чтобы удалить вÑе перечиÑленные каталоги вмеÑте Ñ Ð¸Ñ… Ñодержимым. � По умолчанию иÑпользуютÑÑ -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС -- Ñто два Ñимвола, разделÑющие логичеÑкие Ñтраницы; еÑли задан только один, то в качеÑтве второго иÑпользуетÑÑ :. Вводите \\ чтобы получить \. СТИЛЬ задаетÑÑ ÐºÐ°Ðº один из Ñледующих: � По умолчанию, разреженные файлы ИСТОЧÐИКРраÑпознаютÑÑ Ð¿Ñ€Ð¸ помощи грубой ÑвриÑтичеÑкой процедуры и ÑоответÑтвенно ÑоздаютÑÑ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ðµ ÐÐЗÐÐЧЕÐИЯ. Такое поведение задаётÑÑ Ð¿Ñ€Ð¸ помощи ключа --sparse=auto. С ключом --sparse=always вÑегда ÑоздаётÑÑ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ð¹ файл ÐÐЗÐÐЧЕÐИЯ, вне завиÑимоÑти от того, Ñодержит ли ИСТОЧÐИК доÑтаточно длинные поÑледовательноÑти нулевых байтов. ИÑпользуйте ключ --sparse=never Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÐ¶ÐµÐ½Ð½Ñ‹Ñ… файлов. ЕÑли указано --reflink[=always], выполнÑетÑÑ Ð¾Ð±Ð»ÐµÐ³Ñ‡Ñ‘Ð½Ð½Ð¾Ðµ копирование, при котором блоки данных копируютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при изменении. ЕÑли Ñто невозможно, или еÑли указано --reflink=auto, то иÑпользуетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ðµ копирование. � ПОРЦИИ могут задаватьÑÑ Ð² виде: N разделить на N файлов, оÑновываÑÑÑŒ на размере входных данных K/N вывеÑти K-ую порцию из N на Ñтандартный вывод l/N разделить на N файлов без Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтрок l/K/N вывеÑти K-ую порцию из N на Ñтандартный вывод без Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтрок r/N как «l», но иÑпользовать цикличеÑкий перебор r/K/N аналогично, но вывеÑти только K-ую порцию из N на Ñтандартный вывод � Комбинации наÑтроек: * [-]LCASE Ñиноним [-]lcase cbreak Ñиноним -icanon -cbreak Ñиноним icanon � УправлÑющие наÑтройки: [-]clocal выключить управлÑющие Ñигналы модема [-]cread разрешить ввод * [-]crtscts включить квитирование по RTS/CTS * [-]cdtrdsr включить квитирование по DTR/DSR csРуÑтановить размер Ñимвола равным Рбит, Рот 5 до 8 � ПРОДОЛЖИТЕЛЬÐОСТЬ выражаетÑÑ Ñ‡Ð¸Ñлом Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой Ñ Ð½ÐµÐ¾Ð±Ñзательным ÑуффикÑом: «s» (по умолчанию) — Ñекунды, «m» — минуты, «h» — чаÑÑ‹ или «d» — дни. � Показывает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² единицах первого доÑтупного РÐЗМЕРРиз --block-size, и переменных Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ %s_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE. Иначе, единицей по умолчанию ÑвлÑетÑÑ 1024 байта (или 512, еÑли уÑтановлена POSIXLY_CORRECT). � Символ ФЛÐГ может быть таким: append режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (имеет ÑмыÑл Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°; рекомендуетÑÑ conv=notrunc) � Каждый РЕЖИМ задаетÑÑ Ð² форме «[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+». � Примеры: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Примеры: %s -12 файл1 файл2 вывеÑти только Ñтроки, имеющиеÑÑ Ð² файле1 и файле2. %s -3 файл1 файл2 вывеÑти Ñтроки файла1, которых нет в файле2 и наоборот. � Примеры: %s /usr/bin/ -> «/usr» %s dir1/str dir2/str -> за «dir1» выводитÑÑ Â«dir2» %s stdio.h -> «.» � Примеры: %s /usr/bin/sort -> «sort» %s include/stdio.h .h -> «stdio» %s -s .h include/stdio.h -> «stdio» %s -a any/str1 any/str2 -> за «str1» выведетÑÑ Â«str2» � Примеры: %s f - g Выводит Ñодержимое f, потом Ñтандартный ввод, потом g. %s Копирует Ñтандартный ввод на Ñтандартный вывод. � Примеры: %s root /u МенÑет владельца /u на «root». %s root:staff /u То же, но еще менÑет группу на «staff». %s -hR root /u МенÑет владельца /u и вложенных файлов на «root». � Примеры: %s staff /u МенÑет группу /u на staff. %s -hR staff /u МенÑет группу /u и вложенных файлов на staff. � Примеры: Преобразовать значение в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñпохи (1970-01-01 UTC) в дату $ date --date='@2147483647' Показать Ð²Ñ€ÐµÐ¼Ñ Ð½Ð° западном побережье СШР(Ñм. tzselect(1) Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка TZ) $ TZ='America/Los_Angeles' date Показать меÑтное Ð²Ñ€ÐµÐ¼Ñ 09:00 Ñледующей пÑтницы на западном побережье СШР$ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Ð’Ñе теÑты, отноÑÑщиеÑÑ Ðº ФÐЙЛУ, кроме -h и -L разыменовывают Ñимвольные ÑÑылки. Помните, что вы должны отменить Ñпециальное значение Ñкобок Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ интерпретатора (например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимвола «\»). ЦЕЛОЕ может также быть задано как «-l СТРОКл, при Ñтом оно принимает значение длины СТРОКИ. � Выходной ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ€Ð°Ð²ÐµÐ½ 0, еÑли ВЫРÐЖЕÐИЕ не пуÑтое и не 0; 1, еÑли ВЫРÐЖЕÐИЕ пуÑто или 0; 2, еÑли ВЫРÐЖЕÐИЕ ÑинтакÑичеÑки неверно; и 3, еÑли ÑлучитÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°. � Код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0, еÑли вÑе входные чиÑла были уÑпешно преобразованы. По умолчанию, %s прервётÑÑ Ð¿Ñ€Ð¸ первой ошибке Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ ÐºÐ¾Ð´Ð¾Ð¼ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ 2. ЕÑли указано --invalid=«fail», то выводитÑÑ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ при каждой ошибке Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 2. ЕÑли указано --invalid=«warn», то опиÑываетÑÑ ÐºÐ°Ð¶Ð´Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° преобразованиÑ, но код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0. ЕÑли указано --invalid=«ignore», то про ошибки Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ ÑообщаетÑÑ Ð¸ код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 0. � Коды выхода: 0 вÑÑ‘ отлично, 1 небольшие проблемы (например, недоÑтупен подкаталог), 2 ÑÐµÑ€ÑŒÑ‘Ð·Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° (например, недоÑтупен аргумент командной Ñтроки). � Значение FIELD_LIST предоÑтавлÑет Ñобой ÑпиÑок включаемых колонок, перечиÑлÑемых через запÑтую. Возможные имена полей: «source», «fstype», «itotal», «iused», «iavail», «ipcent», «size», «used», «avail», «pcent» и «target» (Ñм. также Ñтраницу info). � ФОРМÐТ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ такой же, как в C-функции printf. ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти: \" Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ° � ФОРМÐТ управлÑет выводом. ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти: %% знак % %a Ñокращённое название Ð´Ð½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ (напр., вÑк) ÑоглаÑно локали � Значение ФОРМÐТРдолжно позволÑть вывод одного аргумента Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой «%f». ÐеобÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ° (%'f) включает --grouping (еÑли поддерживаетÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ локалью). При указании необÑзательного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ (%10f) производитÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ вывода. При указании необÑзательного отрицательного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ (%-10f) производитÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ñлева. � УправлÑет терминальной линией, подключенной к Ñтандартному вводу. Ð—Ð°Ð¿ÑƒÑ‰ÐµÐ½Ð½Ð°Ñ Ð±ÐµÐ· аргументов, печатает ÑкороÑть передачи информации, line discipline и Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ Ð¾Ñ‚ обычных уÑтановок. При уÑтановке, СИМВОЛЫ трактуютÑÑ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ð¾ или задаютÑÑ Ð² как ^c, 0x37, 0177 или 127; Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ Ñпециальных Ñимволов Ñлужат Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ^- и undef. � ЕÑли дейÑтвует ключ -e, раÑпознаютÑÑ Ñледующие поÑледовательноÑти: � ЕÑли ФÐЙЛ задан как -, перемешивать Ñтандартный вывод. УдалÑет ФÐЙЛ(Ñ‹), еÑли указан --remove (-u). По умолчанию файлы не удалÑÑŽÑ‚ÑÑ, так как чаÑто обрабатываютÑÑ Ñ„Ð°Ð¹Ð»Ñ‹-уÑтройÑтва вроде /dev/hda, а такие файлы не надо удалÑть. При обработке обычных файлов большинÑтво людей иÑпользуют ключ --remove. � ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛРзадают %s. ЕÑли заданы ÐРГ1 и ÐРГ2, полагаетÑÑ Ð¸Ñпользование -m: например «am i» и «mom likes». � ЕÑли указан ФÐЙЛ, то читать его чтобы узнать какие цвета каким раÑширениÑм ÑопоÑтавлены. Иначе иÑпользовать базу данных по умолчанию. Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ детального опиÑÐ°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° ФÐЙЛРзапуÑтите «dircolors --print-database». � ЕÑли не заданы ПЕРВЫЙ или ПРИРОСТ, по умолчанию иÑпользуетÑÑ 1. То еÑть ПРИРОСТ по умолчанию принимаетÑÑ Ð·Ð° 1, даже еÑли ПОСЛЕДÐИЙ меньше ПЕРВОГО. ПЕРВЫЙ, ПОСЛЕДÐИЙ и ПРИРОСТ интерпретируютÑÑ ÐºÐ°Ðº чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой. ПРИРОСТ обычно положителен, еÑли ПЕРВЫЙ меньше ПОСЛЕДÐЕГО, и отрицателен, еÑли ПЕРВЫЙ больше ПОСЛЕДÐЕГО. � ЕÑли значение РЕЖИМРравно «0», то ÑоответÑтвующий поток не будет буферизироватьÑÑ. � ЕÑли значение РЕЖИМРравно «L», то ÑоответÑтвующий поток будет буферизироватьÑÑ Ð¿Ð¾Ñтрочно. Этот ключ некорректен при иÑпользовании Ñтандартного ввода. � ЕÑли ФÐЙЛ задан как -, копирует обратно на Ñтандартный вывод. � ЕÑли команда не задана, выполнÑет «${SHELL} -i» (по умолчанию: «/bin/sh -i»). � ЕÑли Ñтандартный ввод ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то он берётÑÑ Ð¸Ð· /dev/null. ЕÑли Ñтандартный вывод ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то вывод добавлÑетÑÑ Ð² «nohup.out», еÑли возможно, иначе в «$HOME/nohup.out». ЕÑли Ñтандартный поток ошибок ÑвлÑетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼, то он перенаправлÑет в в Ñтандартный вывод. Чтобы запиÑать вывод в ФÐЙЛ, иÑпользуйте «%s КОМÐÐДР> ФÐЙЛ». � ЕÑли команда завершилаÑÑŒ по таймауту и не указан ключ --preserve-status, то код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 124. Иначе возвращаетÑÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ‹Ð¹ код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÐšÐžÐœÐÐДЫ. ЕÑли Ñигнал не задан, то по таймауту поÑылаетÑÑ Ñигнал TERM. Сигнал TERM завершает любой процеÑÑ, который не блокирует или перехватывает данный Ñигнал. ОÑтальным процеÑÑам, может понадобитьÑÑ Ð¿Ð¾Ñлать Ñигнал KILL (9), так как Ñтот Ñигнал Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ð¸Ñ‚ÑŒ. ЕÑли поÑлан Ñигнал KILL (9), то код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð²ÐµÐ½ 128+9, а не 124. � ЕÑли первым Ñимволом в Ð (чиÑле байт или Ñтрок) ÑвлÑетÑÑ Â«+», то выводит Ñ Ð-ного байта (или Ñтроки) от начала каждого файла, иначе выводит поÑледние Рбайт (или Ñтрок). Рможет иметь ÑуффикÑ-множитель: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y. � ÐаÑтройки ввода: [-]brkint Ñимвол break будет вызывать Ñигнал Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ [-]icrnl преобразовывать возврат каретки в перевод Ñтроки [-]ignbrk игнорировать Ñимволы Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ [-]igncr игнорировать Ñимволы возврата каретки � ПоÑле K может ÑтоÑть один из умножающий ÑуффикÑов: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y. � ОПР_КЛЮЧРзадаетÑÑ ÐºÐ°Ðº F[.C][OPTS][,F[.C][OPTS]] Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° и конца положениÑ, где F — номер полÑ, а C — Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² поле, оба отÑчитываютÑÑ Ð¾Ñ‚ 1, а ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию равна концу Ñтроки. ЕÑли не задан параметр -t или -b, то Ñимволы в поле отÑчитываютÑÑ Ð¾Ñ‚ начала предшеÑтвующего пробельного Ñимвола. OPTS ÑоÑтавлÑетÑÑ Ð¸Ð· одной или неÑкольких букв, задающих порÑдок Ñортировки [bdfgiMhnRrV]; он переопределÑет ÑоответÑтвующие глобальные параметры Ñортировки Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ключевого полÑ. ЕÑли OPTS не задано, в качеÑтве ключа иÑпользуетÑÑ Ñтрока целиком. ПоÑле РÐЗМЕРРможно пиÑать Ñледующие ÑуффикÑÑ‹-мультипликаторы: � Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ GPLv3+: GNU GPL верÑии 3 или новее <http://gnu.org/licenses/gpl.html> Это Ñвободное ПО: вы можете продавать и раÑпроÑтранÑть его. Ðет ÐИКÐКИХ ГÐРÐÐТИЙ до Ñтепени, разрешённой законом. � Локальные наÑтройки: [-]crterase Ñтирать Ñимволы как забой-пробел-забой * crtkill Ñтирать вÑÑŽ Ñтроку, подчинÑÑÑÑŒ уÑтановкам echoprt и echoe * -crtkill Ñтирать вÑÑŽ Ñтроку, подчинÑÑÑÑŒ уÑтановкам echoctl и echok � Ðргументы, обÑзательные Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ñ‹Ñ… ключей, обÑзательны и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ñ…. � ПоÑле ЧИСЛРблоков и байт может ÑтоÑть один из умножающий ÑуффикÑов: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024 и так далее Ð´Ð»Ñ T, P, E, Z, Y. Каждый Ñимвол СПИСКРможет быть: � ЗÐМЕЧÐÐИЕ: ЕÑли КОМÐÐДРÑама подгонÑет буферы Ñвоих потоков (например «tee»), то Ñто изменить ÑоответÑтвующие наÑтройки, изменённые «stdbuf». Также некоторые фильтры (например «dd», «cat» и Ñ‚.д.) не иÑпользуют потоки ввода/вывода, и поÑтому «stdbuf» не укажет на них никакого влиÑниÑ. � ЗÐМЕЧÐÐИЕ: [ вÑе имеют ключи --help и --version, но test нет. test Ñчитает каждый из них обычной не пуÑтой СТРОКОЙ. � ЗÐМЕЧÐÐИЕ: ваша оболочка может предоÑтавлÑть Ñвою верÑию %s, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ перекрывает верÑию, опиÑанную здеÑÑŒ. ПожалуйÑта, обращайтеÑÑŒ к документации по вашей оболочке, чтобы узнать, какие ключи она поддерживает. � Заметим, что при иÑпользовании rm Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° его Ñодержимое обычно можно воÑÑтановить, Ð¸Ð¼ÐµÑ ÑоответÑтвующий опыт и времÑ. ИÑпользуйте shred, еÑли вам необходима Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ ÑƒÐ²ÐµÑ€ÐµÐ½Ð½Ð¾Ñть в невозможноÑти воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñодержимого. � Заметьте, что ключи -d и -t иÑпользуют разные форматы даты и времени. � Заметим, что при Ñравнении дейÑтвуют правила, задаваемые «LC_COLLATE». � Замечание: «uniq» не обнаруживает повторÑющиеÑÑ Ñтроки, еÑли они не Ñмежные. Ð’Ñ‹ можете Ñначала выполнить Ñортировку, или иÑпользовать «sort -u» без «uniq». Также, при Ñравнении учитываютÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° задаваемые «LC_COLLATE». � ÐеобÑзательный знак Ð¼Ð¸Ð½ÑƒÑ Ð¿ÐµÑ€ÐµÐ´ ÐÐСТРОЙКОЙ означает отрицание. Звездочкой отмечены наÑтройки, не опиÑанные в Ñтандарте POSIX. ДоÑтупноÑть той или иной наÑтройки определÑетÑÑ Ð¸Ñпользуемой ÑиÑтемой. � Другим значением Ð´Ð»Ñ Ð Ð•Ð–Ð˜ÐœÐ Ð¼Ð¾Ð¶ÐµÑ‚ быть чиÑло оканчивающееÑÑ: KB 1000, K 1024, MB 1000*1000, M 1024*1024 и так далее Ð´Ð»Ñ G, T, P, E, Z, Y. Ð’ Ñтом Ñлучае ÑоответÑтвующий поток будет полноÑтью буферизироватьÑÑ Ð¸ размер буфера будет равен чиÑло байт в РЕЖИМЕ. � ÐаÑтройки вывода: * bsРзначение паузы поÑле забоÑ, допуÑтимые Ð [0..1] * crРзначение паузы поÑле возврата каретки, допуÑтимые Ð [0..3] * ffРзначение паузы поÑле перевода Ñтраницы, допуÑтимые Ð [0..1] * nlРзначение паузы поÑле новой Ñтроки, допуÑтимые Ð [0..1] � Владелец не изменÑетÑÑ, еÑли он не задан в аргументе. Группа также не изменÑетÑÑ, еÑли не задана; но еÑли поÑле Ñимвольного ВЛÐДЕЛЬЦРÑтоит Ñимвол «:», подразумеваетÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ группы на оÑновную группу текущего пользователÑ. ВЛÐДЕЛЕЦ и ГРУППРмогут быть как чиÑловыми, так и Ñимвольными. � Печатает значение ВЫРÐЖЕÐИЯ на Ñтандартный вывод. Ðиже пуÑтыми Ñтроками разделены группы по возраÑтанию приоритета. ДопуÑтимые ВЫРÐЖЕÐИЯ: ÐРГ1 | ÐРГ2 ÐРГ1, еÑли он отличен от нулÑ, иначе ÐРГ2 ÐРГ1 & ÐРГ2 ÐРГ1, еÑли оба отличны от нулÑ, иначе 0 � ЕÑли ФÐЙЛ задан как -, читает Ñтандартный ввод. ОБРÐЗЕЦ задаетÑÑ Ñледующим образом: � Об ошибках в %s Ñообщайте по адреÑу %s. � Об ошибках Ñообщайте по адреÑу <%s> Об ошибках в переводе Ñообщайте по адреÑу <gnu@mx.ru> � ТÐБЛИЦы задаютÑÑ ÐºÐ°Ðº Ñимвольные Ñтроки. Во многих ÑлучаÑÑ… Ñимволы предÑтавлÑÑŽÑ‚ Ñами ÑебÑ. ВоÑпринимаютÑÑ Ñледующие поÑледовательноÑти: \ÐÐРзнак Ñ Ð²Ð¾Ñьмеричным кодом ÐÐÐ (от 1 до 3 цифр) \\ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° \a звуковой Ñигнал \b забой \f перевод Ñтраницы \n Ð½Ð¾Ð²Ð°Ñ Ñтрока \r возврат каретки \t Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ � СИГÐÐЛ может задаватьÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñигнала, например «HUP» или номером Ñигнала, например «1» или выходным значением процеÑÑа, прерванного Ñигналом. PID ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом; еÑли оно отрицательно, то обозначает группу процеÑÑов. � ЕÑли ФОРМÐТ — одно из [doux], ЧИСЛО может задаватьÑÑ ÐºÐ°Ðº C sizeof(char), S sizeof(short), I sizeof(int) или L sizeof(long). ЕÑли ФОРМÐТ равен f, то ЧИСЛО также может быть F sizeof(float), D sizeof(double) или L sizeof(long double). � РÐЗМЕР задаётÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ чиÑлом и необÑзательной единицей Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (пример: 10M is 10*1024*1024). Единицы изменениÑ: K, M, G, T, P, E, Z, Y (Ñтепень 1024) или KB, MB, … (Ñтепень 1000). � Перед РÐЗМЕРОМ может быть один из Ñледующих Ñимволов: «+» — раÑширить на, «-» — Ñократить на, «<» — не более, «>» — не менее, «/» — округлить Ñ Ñторону уменьшениÑ, «%» — округлить в Ñторону увеличениÑ. � ЕÑли поÑлать работающему процеÑÑу «dd» Ñигнал %s, то в Ñтандартный поток ошибок будет выдана ÑтатиÑтика ввода/вывода и копирование продолжитÑÑ. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 запиÑей получено 18335302+0 запиÑей отправлено 9387674624 байта (9.4 GB) Ñкопировано, 34.6279 Ñекунды, 271 MB/s Ключи: � Специальные Ñимволы: * dsusp СИМВОЛ СИМВОЛ будет поÑылать терминалу Ñигнал оÑтанова при завершении ввода eof СИМВОЛ СИМВОЛ будет означать конец файла (прекращать ввод) eol СИМВОЛ СИМВОЛ будет означать конец Ñтроки � Специальные наÑтройки: РуÑтановить ÑкороÑти ввода и вывода равными Рбод * cols Ð Ñообщить Ñдру, что терминал имеет Ð Ñтолбцов * columns Ð Ñиноним cols � По умолчанию ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñных копий «~», еÑли только не уÑтановлена Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ SIMPLE_BACKUP_SUFFIX или ключ --suffix. СпоÑоб ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð²ÐµÑ€Ñий может быть уÑтановлен при помощи ключа --backup или переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ VERSION_CONTROL. ДопуÑтимые значениÑ: � Данные кодируютÑÑ ÐºÐ°Ðº опиÑано Ð´Ð»Ñ Ð°Ð»Ñ„Ð°Ð²Ð¸Ñ‚Ð° base64 в RFC 3548. При декодировании ввод может Ñодержать также переводы Ñтрок помимо байтов формального алфавита base64. ИÑпользуйте ключ --ignore-garbage, чтобы попытатьÑÑ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ неалфавитные Ñимволы в закодированном потоке. � Следующие параметры влиÑÑŽÑ‚ на ÑпоÑоб обхода иерархии каталогов при заданном параметре -R. ЕÑли указано неÑколько Ñтих параметров, дейÑтвует только поÑледний. -H еÑли аргумент командной Ñтроки ÑвлÑетÑÑ Ñимвольной ÑÑылкой на каталог, перейти по ней -L переходить по любой вÑтреченной Ñимвольной ÑÑылке на каталог -P не переходить по Ñимвольным ÑÑылкам (по умолчанию) � Три Ñледующих ключа полезны только при проверке контрольных Ñумм: --quiet не выводить OK Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ уÑпешно проверенного файла --status не производить вывод, выходное значение показывает уÑпех проверки -w, --warn предупреждать о неправильно ÑоÑтавленных Ñтроках в ÑпиÑке контрольных Ñумм � Метод вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм опиÑан в %s. Входными данными при проверке должны быть полученные ранее выходные данные Ñтой программы. По умолчанию печатает Ñтроку Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ð¹ Ñуммой, знак, показывающий режим ввода («*» Ð´Ð»Ñ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ñ‹Ñ…, пробел Ð´Ð»Ñ Ñ‚ÐµÐºÑтовых) и Ð¸Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ. � ДопуÑтимые форматные поÑледовательноÑти Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² (без --file-system): %a права доÑтупа в воÑьмеричной форме %A права доÑтупа в читаемой форме %b чиÑло выделенных блоков (Ñм. %B) %B размер блока, Ñообщаемого %b, в байтах %C Ñтрока контекÑта безопаÑноÑти SELinux � Программа install копирует файлы (чаÑто, только что Ñкомпилированные) в заданное вами меÑто. ЕÑли вы хотите Ñкачать и уÑтановить готовый к иÑпользованию пакет в ÑиÑтему GNU/Linux, то вмеÑто неё должны иÑпользовать менеджер пакетов, например yum(1) или apt-get(1). Ð’ первых трёх формах копируетÑÑ Ð˜Ð¡Ð¢ÐžÐ§ÐИК в ÐÐЗÐÐЧЕÐИЕ или неÑколько ИСТОЧÐИКОВ в ÑущеÑтвующий КÐТÐЛОГ, уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ‹ доÑтупа и владельца/группу. Ð’ четвёртой форме ÑоздаютÑÑ Ð²Ñе компоненты указанных КÐТÐЛОГОВ. � Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°, начинающегоÑÑ Ñ Â«-» (например: «-foo»), иÑпользуйте одну из Ñледующих команд: %s -- -foo %s ./-foo � Преобразование проиÑходит, еÑли заданы обе ТÐБЛИЦы, и не указан -d. Ключ -t может быть иÑпользован только при преобразовании. ТÐБЛИЦÐ2 при необходимоÑти раÑширÑетÑÑ Ð´Ð¾ размера ТÐБЛИЦЫ1 путем Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледнего Ñимвола. Избыточные Ñимволы ТÐБЛИЦЫ2 игнорируютÑÑ. Только [:lower:] и [:upper:] гарантировано Ñортированы в порÑдке возраÑтаниÑ, их можно иÑпользовать только парно, Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñмены региÑтра. ЕÑли не запрошено ни преобразование, ни удаление, ключ -s иÑпользует ТÐБЛИЦУ1, иначе при уплотнении иÑпользуетÑÑ Ð¢ÐБЛИЦÐ2. Уплотнение производитÑÑ Ð¿Ð¾Ñле Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ удалениÑ. � ЕДИÐИЦЫ: � ЕÑли не задан -t СИМВОЛ, начальные пробельные Ñимволы разделÑÑŽÑ‚ Ð¿Ð¾Ð»Ñ Ð¸ игнорируютÑÑ, в противном Ñлучае Ð¿Ð¾Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÑÑŽÑ‚ÑÑ Ð¡Ð˜ÐœÐ’ÐžÐ›ÐžÐœ. ПОЛЕ — Ñто номер полÑ, отÑчитываемый от 1. ФОРМÐТ — Ñто одно или неÑколько разделÑемых запÑтыми или пробельными Ñимволами опиÑаний формата в виде «ÐОМЕР_ФÐЙЛÐ.ПОЛЕ» или «0». По умолчанию ФОРМÐТ выводит общее поле, оÑтальные Ð¿Ð¾Ð»Ñ Ð¸Ð· ФÐЙЛÐ1 и оÑтальные Ð¿Ð¾Ð»Ñ Ð¸Ð· ФÐЙЛÐ2, разделённые СИМВОЛОМ. ЕÑли значение ФОРМÐТ равно «auto», то Ð¿ÐµÑ€Ð²Ð°Ñ Ñтрока каждого файла определÑет количеÑтво полей в каждой Ñтроке результата. Важно: ФÐЙЛ1 и ФÐЙЛ2 должны быть отÑортированы по общим полÑм. Ðапример, иÑпользуйте «sort -k 1b,1», еÑли у «join» нет ключей или «join -t ''», еÑли у «sort» нет ключей. Заметим, что при Ñравнении дейÑтвуют правила, задаваемые «LC_COLLATE». ЕÑли ввод не отÑортирован и одинаковые Ñтроки не объединены, то будет выдано предупреждающее Ñообщение. � ИÑпользуйте один и только один из ключей -b, -c или -f. СПИСКИ ÑоÑтоÑÑ‚ из диапазона или неÑкольких диапазонов, разделенных запÑтыми. Выбранные чаÑти входного файла печатаютÑÑ Ð² том порÑдке, в котором они поÑвлÑÑŽÑ‚ÑÑ Ð½Ð° входе, и печатаютÑÑ Ñ€Ð¾Ð²Ð½Ð¾ один раз. � При иÑпользовании параметра -s игнорируютÑÑ -L и -P. Иначе, поÑледний ключ определÑет поведение, когда ЦЕЛЬЮ ÑвлÑетÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка, по умолчанию %s. � ИÑпользование цветов Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð² файла по умолчанию выключено и Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ --color=never. С --color=auto, ls выдаёт цветовые коды только когда Ñтандартный вывод подключён к терминалу. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS Ñлужит Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹. Ð”Ð»Ñ ÐµÑ‘ уÑтановки иÑпользуйте команду dircolors. � ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. По умолчанию предполагаетÑÑ Â«-F /». � ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. � При запуÑке без ключей выдает результат в три Ñтолбца. Первый Ñтолбец Ñодержит Ñтроки, уникальные Ð´Ð»Ñ Ð¤ÐЙЛÐ1, второй -- уникальные Ð´Ð»Ñ Ð¤ÐЙЛÐ2, а третий -- общие Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ… файлов Ñтроки. � ЕÑли КЛЮЧИ не заданы, печатает некоторый Ñтандартный набор полезных Ñведений. � Печатает однозначное (по умолчанию байтовое воÑьмеричное) предÑтавление ФÐЙЛРна Ñтандартный вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. � (имеет ÑмыÑл только на ÑиÑтемах, где можно изменÑть владельца Ñимвольной ÑÑылки) � ???� --backup[=КОÐТРОЛЬ] Ñоздавать резервные копии целевых файлов -b то же, что и --backup, но без аргумента -f, --force перепиÑывать ÑущеÑтвующие файлы не ÑÐ¿Ñ€Ð°ÑˆÐ¸Ð²Ð°Ñ -i, --interactive Ñпрашивать перед тем как перепиÑывать -n, --no-clobber не перепиÑывать ÑущеÑтвующий файл ЕÑли указано более одного ключа -i, -f, -n, то иÑпользуетÑÑ Ð¿Ð¾Ñледний. � --backup[=КОÐТРОЛЬ] Ñоздать резервную копию Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ целевого файла -b то же, что и --backup, но не принимает аргумент -d, -F, --directory позволить Ñуперпользователю Ñоздавать жеÑткие ÑÑылки на каталоги (замечание: вероÑтно, Ñто не получитÑÑ Ð¸Ð·-за ÑиÑтемных ограничений, даже Ð´Ð»Ñ ÑуперпользователÑ) -f, --force удалÑть ÑущеÑтвующие целевые файлы � --backup[=КОÐТРОЛЬ] Ñоздавать резервные копии целевых файлов -b то же, что и --backup, но без аргумента -c (игнорируетÑÑ) -C, --compare Ñравнивать каждую пару файл иÑточника и назначениÑ, и, в некоторых ÑлучаÑÑ…, вообще не изменÑть файл Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ -d, --directory раÑÑматривать вÑе аргументы как каталоги; Ñоздавать вÑе компоненты указанных каталогов � --batch-size=NMERGE объединÑть не более чем NMERGE ввода за раз; Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ³Ð¾ иÑпользовать временные файлы � --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. Ðапример, «---block-size=M» выводит размеры в единицах, равных 1,048,576 байтам. См. формат РÐЗМЕРРдалее. -B, --ignore-backups не выдавать файлы, оканчивающиеÑÑ Ð½Ð° ~ -c Ñ -lt: Ñортировать и показывать по ctime (времени поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°) Ñ -l: показывать ctime и Ñортировать по имени иначе: Ñортировать по ctime, Ñначала Ñамые новые � --complement дополнить множеÑтво выбранных байт, Ñимволов или полей � --debug комментировать чаÑть Ñтроки, иÑпользуемой Ð´Ð»Ñ Ñортировки и предупреждать о Ñомнительном иÑпользовании в stderr --files0-from=Ф читать ввод из файлов, имена которых (завершённые нулем) перечиÑлены в файле Ф. ЕÑли Ф равно -, то читать имена файлов из Ñтандартного ввода � --debug показывать Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ некорректных входных данных � --dereference применÑть к файлу по Ñимвольной ÑÑылке, а не к Ñамой ÑÑылке (по умолчанию) -h, --no-dereference применÑть к Ñимвольной ÑÑылке, а не к Ñамому файлу � --field=N заменÑть чиÑло в входном поле N (по умолчанию 1) � --files0-from=Ф читать ввод из файлов, имена которых (завершённые нулем) перечиÑлены в файле Ф ЕÑли Ф равно -, то читать имена файлов из Ñтандартного ввода -L, --max-line-length напечатать длину наибольшей Ñтроки -w, --words напечатать количеÑтво Ñлов � --files0-from=Ф вывеÑти отчёт об иÑпользовании диÑка, чьи имена файлов (завершённые нулем) перечиÑлены в файле Ф ЕÑли Ф равно -, то читать имена файлов из Ñтандартного ввода -H Ñквивалентен ключу --dereference-args (-D) -h, --human-readable печатать размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде (например, 1K 234M 2G) � --format=ФОРМÐТ иÑпользовать ФОРМÐТ плавающей точки в Ñтиле printf; подробноÑти Ñмотрите в разделе ФОРМÐТ далее � --from-unit=N задать размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1). � --from=ТЕКУЩИЙ_ВЛÐДЕЛЕЦ:ТЕКУЩÐЯ_ГРУППРИзменÑет владельца и/или группу каждого файла только еÑли текущий владелец и/или группа Ñовпадают Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼Ð¸. Как группа, так и владелец могут быть опущены; в Ñтом Ñлучае Ñовпадение Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута не обÑзательно. � --from=ЕДИÐИЦРавтоматичеÑки маÑштабировать входные чиÑло к ЕДИÐИЦÐМ изменениÑ; по умолчанию «none»; Ñмотрите ЕДИÐИЦЫ далее � --group-directories-first группировать каталоги перед файлами. дополнÑетÑÑ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --sort, но любое иÑпользование --sort=none (-U) выключает группировку � --grouping группировать цифры ÑоглаÑно локали (например 1,000,000) (ничего не делаетÑÑ Ð² локалÑÑ… C/POSIX) � --header[=N] выводить (без преобразованиÑ) первые N Ñтрок; еÑли N не задано, то значение равно 1 � --help показать Ñту Ñправку и выйти � --indicator-style=СТИЛЬ добавлÑть к именам Ñлементов индикатор Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ СТИЛЕМ: none (по умолчанию), slash (-p), file-type (--file-type), classify (-F) -i, --inode показать Ð¸Ð½Ð´ÐµÐºÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла -I, --ignore=ШÐБЛОРне показывать файлы, ÑоответÑтвующие ШÐБЛОÐУ оболочки -k иÑпользовать блоки по 1024 байта � --invalid=РЕЖИМ режим отказа Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ñ… чиÑел. Значение РЕЖИМÐ: abort (по умолчанию), fail, warn, ignore � --lookup пытатьÑÑ ÐºÐ°Ð½Ð¾Ð½Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ имена узлов через DNS -m только Ð¸Ð¼Ñ ÑƒÐ·Ð»Ð° и пользователь, ÑвÑзанные Ñо Ñтандартным вводом -p, --process печатать активные процеÑÑÑ‹, которые породил init � --no-preserve-root не обрабатывать «/» оÑобым образом --preserve-root не удалÑть «/» (по умолчанию) -r, -R, --recursive рекурÑивно удалÑть каталоги и их Ñодержимое -d, --dir удалÑть пуÑтые каталоги -v, --verbose поÑÑнÑть производимые дейÑÑ‚Ð²Ð¸Ñ � --no-preserve-root не обрабатывать «/» оÑобым образом (по умолчанию) --preserve-root отказыватьÑÑ Ñ€ÐµÐºÑƒÑ€Ñивно обрабатывать «/» � --no-preserve=СПИС_ÐТТР не ÑохранÑть указанные атрибуты --parents добавить иÑходный путь к КÐТÐЛОГУ � --one-file-system при рекурÑивном удалении иерархии, пропуÑкать вÑе каталоги, находÑщиеÑÑ Ð½Ðµ на той же файловой ÑиÑтеме, что и ÑоответÑтвующий аргумент командной Ñтроки � --output[=FIELD_LIST] при выводе иÑпользовать формат FIELD_LIST, или показать вÑе полÑ, еÑли значение FIELD_LIST не указано. -P, --portability выводить в формате POSIX --sync вызывать sync перед получением информации об иÑпользовании блоков -t, --type=ТИП перечиÑлить только файловые ÑиÑтемы указанного ТИПР-T, --print-type выводить тип файловой ÑиÑтемы -x, --exclude-type=ТИП иÑключить файловые ÑиÑтемы указанного ТИПР-v (игнорируетÑÑ) � --padding=N дополнÑть результат до N Ñимволов; еÑли N положительно, то выполнÑетÑÑ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ðµ по правому краю; еÑли N отрицательно, то по левому; еÑли результат шире N, то дополнение не производитÑÑ; по умолчанию дополнение выполнÑетÑÑ, еÑли обнаруживаетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñимвол � --pid=PID Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -f, прерватьÑÑ, когда процеÑÑ PID завершает работу -q, --quiet, --silent не выводить заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов --retry продолжать пытатьÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл даже когда он еÑть или Ñтанет недоÑтупным; полезно, когда указываетÑÑ Ð¸Ð¼Ñ, то еÑть, Ñ --follow=name � --preserve-context ÑохранÑть контекÑÑ‚ безопаÑноÑти SELinux -Z, --context=КОÐТЕКСТ задать контекÑÑ‚ безопаÑноÑти SELinux файлам и каталогам � --preserve-status завершить работу Ñ Ñ‚ÐµÐ¼ же значением что и КОМÐÐДÐ, даже еÑли иÑтёк Ñрок Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ --foreground ЕÑли запуÑк timeout выполнен не из оболочки командной Ñтроки, позволить КОМÐÐДЕ чтение из TTY и приём Ñигналов TTY. Ð’ Ñтом режиме на потомка КОМÐÐДЫ таймаут не накладываетÑÑ. -k, --kill-after=ПРОДОЛЖИТЕЛЬÐОСТЬ также поÑлать Ñигнал KILL, еÑли КОМÐÐДРвÑÑ‘ ещё работает по иÑтечении указанного Ñрока поÑле отправки начального Ñигнала. -s, --signal=СИГÐÐЛ задать Ñигнал, который будет поÑлан по таймауту. СИГÐÐЛ может задаватьÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼, например «HUP» или номером. СпиÑок Ñигналов Ñм. по команде «kill -l» � --reference=ЭФÐЙЛ иÑпользовать группу ЭФÐЙЛа, вмеÑто указанного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð“Ð Ð£ÐŸÐŸÐ« � --reference=ЭФÐЙЛ иÑпользовать режим доÑтупа ЭФÐЙЛРвмеÑто значений РЕЖИМ � --reference=ЭФÐЙЛ иÑпользовать владельца и группу ЭФÐЙЛа, вмеÑто указанных значений ВЛÐДЕЛЕЦ:ГРУППР� --reference=ЭФÐЙЛ иÑпользовать контекÑÑ‚ безопаÑноÑти ЭФÐЙЛа, вмеÑто указанного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐšÐžÐТЕКСТР� --rfc-3339=СПЕЦ вывеÑти дату/Ð²Ñ€ÐµÐ¼Ñ Ð² формате RFC 3339 СПЕЦ=«date», «seconds» или «ns» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹ и времени Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ точноÑтью. Компоненты даты и времени разделÑÑŽÑ‚ÑÑ Ð¾Ð´Ð½Ð¸Ð¼ пробелом: 2006-08-07 12:34:56-06:00 -s, --set=СТРОКРуÑтановить времÑ, опиÑанное СТРОКОЙ -u, --utc, --universal показать или уÑтановить универÑальное координированное Ð²Ñ€ÐµÐ¼Ñ � --round=МЕТОД метод округлениÑ, иÑпользуемый при маÑштабировании; значение МЕТОДÐ: up, down, from-zero (по умолчанию), towards-zero, nearest � --sort=СЛОВО Ñортировать ÑоглаÑно СЛОВУ: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort Ñортировать по номерам (верÑии) в текÑтовом предÑтавлении � --sparse=КОГДРуправлÑть Ñозданием разреженных файлов. См. ниже. --strip-trailing-slashes удалÑть вÑе конечные коÑые черты из каждого аргумента ИСТОЧÐИК � --strict Ñ --check завершить работу Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ кодом при любых некорректных входных данных � --strip-trailing-slashes удалÑет вÑе конечные коÑые черты из каждого аргумента ИСТОЧÐИК -S, --suffix=СУФФИКС перекрывает обычный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… копий � --suffix=СУФФ добавлÑть Ð¡Ð£Ð¤Ð¤Ð¸ÐºÑ Ðº ШÐБЛОÐУ. Ð¡Ð£Ð¤Ð¤Ð¸ÐºÑ Ð½Ðµ должен Ñодержать Ñимволов коÑой черты. ПодразумеваетÑÑ, что Ñтот ключ уÑтановлен, еÑли ШÐБЛОРне заканчиваетÑÑ X. � --suffix=СУФФИКС добавлÑть СУФФИКС к выходным значениÑм и учитывать необÑзательный СУФФИКС у входных значений � --tag Ñоздать контрольную Ñумму в Ñтиле BSD � --time-style=СТИЛЬ Ñ -l, показывать Ð²Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¹ СТИЛЬ: full-iso, long-iso, iso, locale, +ФОРМÐТ. ФОРМÐТ интерпретируетÑÑ ÐºÐ°Ðº в «date»; еÑли ФОРМÐТ -- Ñто ФОРМÐТ1<перевод-Ñтроки>ФОРМÐТ2, ФОРМÐТ1 применÑетÑÑ Ðº Ñтарым файлам, а ФОРМÐТ2 к новым; еÑли к СТИЛЮ добавлен Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Â«posix-», то он дейÑтвует только в локали, отличной от POSIX � --tmpdir[=КÐТ] раÑÑматривать ШÐБЛОРотноÑительно КÐТ. ЕÑли КÐТ не указан, иÑпользовать $TMPDIR еÑли задана, иначе /tmp. С Ñтим ключом ШÐБЛОРне должен быть абÑолютным именем. Ð’ отличие от -t, ШÐБЛОРможет Ñодержать коÑые черты, но даже в Ñтом Ñлучае, mktemp вÑÑ‘ ещё Ñоздаёт только поÑледний компонент. � --to-unit=N размер единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных (вмеÑто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию 1) � --to=ЕДИÐИЦРавтомаÑштабирование выходные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ðº ЕДИÐИЦЕ изменениÑ; Ñмотрите ЕДИÐИЦРдалее � --verbose печатать диагноÑтику перед открытием очередного выходного файла � --version показать информацию о верÑии и выйти � --all вывеÑти чиÑло уÑтановленных процеÑÑоров --ignore=N еÑли возможно, иÑключить N обрабатывающих Ñлементов � -evenp Ñиноним -parenb cs8 * [-]lcase Ñиноним xcase iuclc olcuc litout Ñиноним -parenb -istrip -opost cs8 -litout Ñиноним parenb istrip opost cs7 nl Ñиноним -icrnl -onlcr -nl Ñиноним icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb иÑпользовать два разделÑющих бита на Ñимвол (один, еÑли Ñ Â«-») [-]hup поÑылать Ñигнал обрыва терминальной линии, когда поÑледний процеÑÑ Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ терминал [-]hupcl Ñиноним [-]hup [-]parenb генерировать при выводе бит четноÑти и ожидать бит четноÑти на вводе [-]parodd уÑтановить проверку на нечетноÑть (или даже чётноÑть Ñ Â«-») � [-]ignpar игнорировать Ñимволы Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸ четноÑти * [-]imaxbel при переполненном буфере ввода подавать звуковой Ñигнал и не ÑбраÑывать буфер, Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ð¹ ввод [-]inlcr преобразовывать перевод Ñтроки в возврат каретки [-]inpck иÑпользовать проверку четноÑти ввода [-]istrip очищать Ñтарший (воÑьмой) бит вводимых Ñимволов � [-]isig иÑпользовать Ñпециальные Ñимволы interrupt, quit, и suspend [-]noflsh запретить ÑÐ±Ñ€Ð¾Ñ Ð±ÑƒÑ„ÐµÑ€Ð° поÑле приема Ñпециальных Ñимволов interrupt и quit * [-]prterase Ñиноним [-]echoprt * [-]tostop приоÑтанавливать фоновые программе, пытающиеÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÑти запиÑÑŒ на терминал * [-]xcase отображать «\» Ð´Ð»Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ñ‹Ñ… букв, иÑпользуетÑÑ Ñ icanon � cooked Ñиноним brkint ignpar istrip icrnl ixon opost isig icanon, Ñимволы eof and eol имеют Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию -cooked Ñиноним raw crt Ñиноним echoe echoctl echoke � dec Ñиноним echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq Ñиноним [-]ixany ek уÑтановить Ð´Ð»Ñ Ñимволов erase and kill Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию evenp Ñиноним parenb -parodd cs7 � ispeed РуÑтановить ÑкороÑть ввода * line РиÑпользовать протокол линии Ð min РиÑпользуетÑÑ Ñ -icanon, уÑтановить Рминимальным чиÑлом Ñимволов Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ospeed РуÑтановить ÑкороÑть вывода � oddp Ñиноним parenb parodd cs7 -oddp Ñиноним -parenb cs8 [-]parity Ñиноним [-]evenp pass8 Ñиноним -parenb -istrip cs8 -pass8 Ñиноним parenb istrip cs7 � raw Ñиноним -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw Ñиноним cooked � sane Ñиноним cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, вÑе Ñпециальные Ñимволы уÑтановлены в их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию � stop СИМВОЛ СИМВОЛ будет приоÑтанавливать ввод susp СИМВОЛ СИМВОЛ будет поÑылать терминалу Ñигнал оÑтанова * swtch СИМВОЛ СИМВОЛ будет переключать уровень вложенноÑти оболочки * werase СИМВОЛ СИМВОЛ Ñтирать поÑледние введенное Ñлово � %% один % %b ÐРГУМЕÐТ в виде Ñтроки Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ escape-поÑледовательноÑÑ‚Ñми, начинающимиÑÑ Ñ Â«\»; воÑьмеричные поÑледовательноÑти в форме \0 или \0ÐÐРа также вÑе Ñпецификации формата в Ñтиле C, заканчивающиеÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из diouxXfeEgGcs; ÐРГУМЕÐТ приводитÑÑ Ðº ÑоответÑтвующему типу. Также обрабатываютÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ переменной ширины. � %A полное название Ð´Ð½Ñ Ð½ÐµÐ´ÐµÐ»Ð¸ (напр., понедельник) ÑоглаÑно локали %b Ñокращённое название меÑÑца (напр., Ñнв) ÑоглаÑно локали %B полное название меÑÑца (напр., Ñнварь) ÑоглаÑно локали %c Ð²Ñ€ÐµÐ¼Ñ Ð¸ дата (напр., Чтв 3 Мар 23:05:25 2005) ÑоглаÑно локали � %C век; как %Y, но опуÑкаютÑÑ Ð´Ð²Ðµ поÑледние цифры (напр., 20) %d день меÑÑца (напр., 01) %D дата; аналогично %m/%d/%y %e день меÑÑца, дополненный пробелами; аналогично %_d � %F Ð¿Ð¾Ð»Ð½Ð°Ñ Ð´Ð°Ñ‚Ð°; Ñквивалентно %Y-%m-%d %g поÑледние две цифры года Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° недели ISO (Ñм. %G) %G год Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° недели ISO (Ñм. %V); обычно бывает полезно только Ñ %V � %S Ñекунды (00..60) %t табулÑÑ†Ð¸Ñ %T времÑ, аналог %H:%M:%S %u день недели (1..7); 1 обозначает понедельник � %U номер недели в году, еÑли первый день недели -- воÑкреÑенье (00..53) %V номер недели по ISO, еÑли первый день недели -- понедельник (01..52) %w день недели (0..6), 0 означает воÑкреÑенье %W номер недели в году, еÑли первый день недели -- понедельник (00..53) � %d номер уÑтройÑтва, деÑÑтичный %D номер уÑтройÑтва, шеÑтнадцатеричный %f низкоуровневый режим, шеÑтнадцатеричный %F тип файла %g ID группы-владельца %G Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹-владельца � %h количеÑтво жёÑтких ÑÑылок %i количеÑтво Inode %m точка Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %n Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° %N Ñкранированное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылки разыменовываетÑÑ %o оптимальный размер блока ввода/вывода %s полный размер в байтах %t оÑновной тип уÑтройÑтва, шеÑтнадцатеричный формат %T второÑтепенный тип уÑтройÑтва, шеÑтнадцатеричный формат � %h то же, что и %b %H Ñ‡Ð°Ñ (00..23) %I Ñ‡Ð°Ñ (01..12) %j номер Ð´Ð½Ñ Ð² году (001..366) � %i идентификатор файловой ÑиÑтемы, шеÑтнадцатеричный %l макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° имени файла %n Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° %s размер блока (Ð´Ð»Ñ Ð±Ñ‹Ñтрейшей передачи) %S фундаментальный размер блока (Ð´Ð»Ñ Ð¿Ð¾Ð´Ñчета блоков) %t тип файловой ÑиÑтемы, шеÑтнадцатеричный %T тип файловой ÑиÑтемы в понÑтном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде � %k чаÑ, дополнÑетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð¼ ( 0..23); тоже, что и %_H %l чаÑ, дополнÑетÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð¼ ( 1..12); тоже, что и %_I %m меÑÑц (01..12) %M минуты (00..59) � %n Ð½Ð¾Ð²Ð°Ñ Ñтрока %N наноÑекунды (000000000..999999999) %p Ñквивалент AM или PM ÑоглаÑно локали; пуÑто еÑли неизвеÑтно %P как %p, но Ñтрочными буквами %r Ð²Ñ€ÐµÐ¼Ñ ÑоглаÑно локали, 12-чаÑовой формат (напр., 11:11:04 PM) %R чаÑÑ‹ и минуты ÑоглаÑно локали, 24-чаÑовой формат; аналог %H:%M %s чиÑло Ñекунд, иÑтёкших Ñ 1970-01-01 00:00:00 UTC � %u ID пользователÑ-владельца %U Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-владельца %w Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°; - , еÑли неизвеÑтно %W Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи; 0, еÑли неизвеÑтно %x Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа %X Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи %y Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации %Y Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации в Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи %z Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %Z Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñекундах Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Эпохи � %x предÑтавление даты (напр., дд/мм/гг) ÑоглаÑно локали %X предÑтавление времени (напр., 23:13:48) ÑоглаÑно локали %y поÑледние две цифры года (00..99) %Y год � %z +ччмм чаÑового поÑÑа (напр., -0400) %:z +чч:мм чаÑового поÑÑа (напр., -04:00) %::z +чч:мм:ÑÑ Ñ‡Ð°Ñового поÑÑа (напр., -04:00:00) %:::z чаÑовой поÑÑ Ñ Ð´Ð¾Ñтаточным количеÑтвом двоеточий (напр., -04, +05:30) %Z Ð±ÑƒÐºÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° чаÑового поÑÑа (напр., EDT) По умолчанию date дополнÑет чиÑловые Ð¿Ð¾Ð»Ñ Ð½ÑƒÐ»Ñми. � + ЛЕКСЕМРвоÑпринимать ЛЕКСЕМУ как Ñтроку, даже еÑли Ñто ключевое Ñлово, такое как «match», или оператор, такой как «/» ( ВЫРÐЖЕÐИЕ ) значение ВЫРÐЖЕÐИЯ � +ПЕРВÐЯ_СТРÐÐИЦÐ[:ПОСЛЕДÐЯЯ_СТРÐÐИЦÐ], --pages=ПЕРВÐЯ_СТРÐÐИЦÐ[:ПОСЛЕДÐЯЯ_СТРÐÐИЦÐ] начать [завершить] печать на ПЕРВОЙ_[ПОСЛЕДÐЕЙ_]СТРÐÐИЦЕ -ЧИСЛО, --columns=ЧИСЛО выводить заданное ЧИСЛО колонок и печатать их вниз, еÑли только не указан ключ -a. БаланÑировать чиÑло Ñтрок в колонке на каждой Ñтранице. � - +ФОРМÐТ (например, +%H:%M) Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° в Ñтиле «date» � --output-delimiter=РÐЗ отделÑть Ñтолбцы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ РÐÐ—Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ � --userspec=ПОЛЬЗ:ГРУППРзадать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группу (ID или именем) --groups=G_LIST задать вÑпомогательные группы как гр1, гр2, .., грN � -0, --null заканчивать каждую выводимую Ñтроку 0-м байтом, а не Ñимволом новой Ñтроки -a, --all печатать объём Ð´Ð»Ñ Ð²Ñех файлов, а не только каталогов --apparent-size печатать дейÑтвительные размеры, а не занимаемое на диÑке меÑто; Ñ…Ð¾Ñ‚Ñ Ð´ÐµÐ¹Ñтвительный размер обычно меньше, иногда он может быть больше из-за дыр в («прореженных» sparse) файлах, внутренней фрагментации, коÑвенных блоков и тому подобного � -0, --null завершать каждую выводимую Ñтроку 0-м байтом, a не Ñимволом новой Ñтроки � -A, --address-radix=ОСÐОВÐÐИЕ выходной формат Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñмещений. ОСÐОВÐÐИЕ может быть [doxn], Ð´Ð»Ñ Decimal, Octal, Hex или None -j, --skip-bytes=РпропуÑтить первые Рбайт � -A, --auto-reference выводить автоматичеÑки Ñгенерированные ÑÑылки -G, --traditional работать в режиме большей ÑовмеÑтимоÑти Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ «ptx» из System V -F, --flag-truncation=СТРОКРиÑпользовать СТРОКУ Ð´Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸ уÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñтрок � -B, --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. Ðапример, «-BM» выводит размеры в единицах, равных 1,048,576 байтам. См. формат РÐЗМЕРРдалее. -b, --bytes Ñквивалентно «--apparent-size --block-size=1» -c, --total выводить общий итог -D, --dereference-args Ñледовать только по Ñимвольным ÑÑылкам, которые перечиÑлены в командной Ñтроке -d, --max-depth=N выводить общий размер каталога (или файла, еÑли --all) только Ð´Ð»Ñ N-го или меньшего ÑƒÑ€Ð¾Ð²Ð½Ñ Ñ‡ÐµÐ¼ указанный аргумент командной Ñтроки; значение --max-depth=0 аналогично указанию --summarize � -C выдавать ÑпиÑок в неÑколько колонок --color[=КОГДÐ] указывает, нужно ли выделÑть типы файлов цветом. КОГДРможет быть «always» (по умолчанию), «never» или «auto». Подробней Ñм. ниже -d, --directory выдавать имена каталогов, а не их Ñодержимое, а также не Ñледовать по Ñимвольным ÑÑылкам -D, --dired генерировать вывод Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° Emacs dired � -D Ñоздавать вÑе начальные ÑоÑтавлÑющие ÐÐЗÐÐЧЕÐИЯ кроме поÑледнего, затем копировать ИСТОЧÐИК в ÐÐЗÐÐЧЕÐИЕ -g, --group=ГРУППРуÑтанавливать ГРУППУ, а не группу текущего процеÑÑа -m, --mode=РЕЖИМ уÑтанавливать РЕЖИМ (как chmod), а не rwxr-xr-x -o, --owner=ВЛÐДЕЛЕЦ уÑтанавливать ВЛÐДЕЛЬЦР(только Ð´Ð»Ñ ÑуперпользователÑ) � -D, --all-repeated[=delimit-method] напечатать вÑе повторÑющиеÑÑ Ñтроки delimit-method={none(по умолчанию),prepend,separate)} Разделение делаетÑÑ Ð¿ÑƒÑтыми Ñтроками. -f, --skip-fields=Рне Ñравнивать первые Рполей -i, --ignore-case игнорировать региÑтр при Ñравнении -s, --skip-chars=Рне Ñравнивать первые Ð Ñимволов -u, --unique выводить только неповторÑющиеÑÑ Ñтроки -z, --zero-terminated Ñтроки оканчиваютÑÑ Ð±Ð°Ð¹Ñ‚Ð¾Ð¼ Ñ 0, а не Ñимволом новой Ñтроки � -D, --date-format=ФОРМÐТ иÑпользовать Ð´Ð»Ñ Ð´Ð°Ñ‚Ñ‹ в заголовке указанный ФОРМÐТ -e[СИМ[ЧИСЛО]], --expand-tabs[=СИМВОЛ[ЧИСЛО]] преобразовывать входные СИМВОЛЫ (табулÑцию) в заданное ЧИСЛО пробелов (8) -F, -f, --form-feed иÑпользовать Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтраниц Ñимвол перевода Ñтраницы, а не новой Ñтроки (Ñ Ñ‚Ñ€Ñ‘Ñ…Ñтрочным заголовком, еÑли еÑть ключ -F, и пÑтиÑтрочным заголовком и завершителем, еÑли ключ -F не задан) � -G, --no-group в длинном формате не печатать имена групп -h, --human-readable c -l, печатать размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде (например, 1K 234M 2G) --si то же, но иÑпользовать Ñтепени 1000, а не 1024 � -H, --dereference-command-line Ñледовать по Ñимвольным ÑÑылкам в командной Ñтроке --dereference-command-line-symlink-to-dir Ñледовать по вÑем Ñимвольным ÑÑылкам в командной Ñтроке, которые указывают на каталог --hide=ШÐБЛОРне показывать файлы, ÑоответÑтвующие ШÐБЛОÐУ оболочки (отменÑетÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -a или -A) � -I запрашивать подтверждение один раз перед удалением более чем трех файлов или перед рекурÑивным удалением. Ðе так назойливо, как -i, но вÑе же предоÑтавлÑет защиту от большинÑтва ошибок. --interactive[=КОГДÐ] запрашивать подтверждение, КОГДРуказано: never (никогда), once (-I, один раз) или always (-i, вÑегда). ЕÑли КОГДРне задано, запрашивать вÑегда. � -L ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñимвольной ÑÑылкой (Ñквивалент -h) -O ФÐЙЛ ФÐЙЛ ÑущеÑтвует и принадлежит текущему Ñффективному пользователю -p ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼ каналом -r ФÐЙЛ ФÐЙЛ ÑущеÑтвует доÑтупен Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ -s ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет ненулевой размер � -L, --dereference Ñледовать по ÑÑылкам -f, --file-system показать ÑоÑтоÑние файловой ÑиÑтемы, а не файла � -L, --logical иÑпользовать PWD из окружениÑ, даже еÑли её значение Ñодержит Ñимвольные ÑÑылки -P, --physical избегать вÑех Ñимвольных ÑÑылок � -M, --macro-name=Ð¡Ð¢Ð ÐžÐšÐ Ð¸Ð¼Ñ Ð¼Ð°ÐºÑ€Ð¾, которое Ñледует иÑпользовать вмеÑто «xx» -O, --format=roff генерировать вывод в виде директив roff -R, --right-side-refs помещать ÑÑылки Ñправа, не учитываетÑÑ Ð¿Ñ€Ð¸ -w -S, --sentence-regexp=РЕГВЫР Ð´Ð»Ñ ÐºÐ¾Ð½Ñ†Ð° Ñтрок или конца предложений -T, --format=tex генерировать вывод в виде директив TeX � -N, --read-bytes=Ð Ñчитывать только Рбайт -S Ð, --strings[=Ð] выводить Ñтроки длиной, по меньшей мере, РграфичеÑких Ñимволов. ЕÑли Рне задано, то иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ 3 -t, --format=ТИП выбирает формат или форматы вывода -v, --output-duplicates не помечать Ñимволом * невыводимые Ñтроки -w[Ð], --width[=Ð] выводить Рбайт в каждой выходной Ñтроке. ЕÑли Рне задано, то иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ 32. --traditional принимать аргументы в традиционной форме � -P, --no-dereference не Ñледовать по Ñимвольным ÑÑылкам (по умолчанию) -S, --separate-dirs не включать размер подкаталогов --si как -h, но иÑпользовать множитель 1000, а не 1024 -s, --summarize показывать только итог Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ аргумента � -R, --recursive рекурÑивно изменÑть файлы и каталоги � -R, --recursive рекурÑивно обрабатывать файлы и каталоги � -R, -r, --recursive рекурÑивно копировать каталоги --reflink[=КОГДÐ] контролировать копии clone/CoW. См. ниже. --remove-destination удалÑть каждый файл Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ попыткой его открыть (обратно к --force) � -S Ñортировать по размеру файла --sort=СЛОВО Ñортировать по СЛОВУ, а не по имени: none (без Ñортировки) -U, extension (раÑширение) -X, size (размер) -S, time (времÑ) -t, version (верÑиÑ) -v --time=СЛОВО Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -l, показывать вмеÑто времени Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼Ñ, заданное СЛОВОМ: atime -u, access -u, use -u, ctime -c или status -c; еÑли --sort=time, иÑпользовать указанное Ð²Ñ€ÐµÐ¼Ñ Ð² качеÑтве ключа Ñортировки � -S ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñокетом -t [ДФ] деÑкриптор файла ДФ открыт на терминале -u ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг set-user-ID -w ФÐЙЛ ФÐЙЛ ÑущеÑтвует и доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи -x ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¸ÑполнÑемым � -S, --suffix=СУФФИКС переопределÑет обычный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… копий -t, --target-directory=КÐТ указать КÐТÐЛОГ, в котором Ñоздавать ÑÑылки -T, --no-target-directory вÑегда Ñчитать ИМЯ_ССЫЛКИ обычным файлом -v, --verbose печатать Ð¸Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла при Ñоздании ÑÑылки � -S[СТРОКÐ], --sep-string[=СТРОКÐ] разделÑть колонки СТРОКОЙ, еÑли -S не задан: разделитель по умолчанию — <TAB>, еÑли иÑпользован ключ -J, иначе пробел (то же, что -S" "); не влиÑет на ключи Ð´Ð»Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº -t, --omit-header не выводить заголовки Ñтраниц � -T, --omit-pagination не выводить заголовки и игнорировать Ñимволы перевода Ñтраницы во входных файлах -v, --show-nonprinting иÑпользовать запиÑÑŒ воÑьмеричным кодом Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой чертой -w, --width=ШИРИÐÐ_СТРÐÐИЦЫ уÑтановить ШИРИÐУ_СТРÐÐИЦЫ (72) Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в неÑколько колонок, -s[Ñимвол] выключает (72) � -T, -w, --mesg добавлÑть ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¸ÐµÐ¼Ð° Ñообщений как +, - или ? -u, --users перечиÑлить подключенных пользователей --message Ñквивалент -T --writable Ñквивалент -T � -W, --page-width=ШИРИÐÐ_СТРÐÐИЦЫ уÑтановить ШИРИÐУ_СТРÐÐИЦЫ (72), уÑекать Ñтроки, еÑли нет ключа -J; не затрагиваетÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ -S или -s � -W, --word-regexp=РЕГВЫР регулÑрное выражение Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ñ‹Ñ… Ñлов -b, --break-file=ФÐЙЛ ФÐЙЛ Ñ Ñимволами-разделителÑми Ñлов -f, --ignore-case преобразовывать к верхнему региÑтру при Ñортировке -g, --gap-size=ЧИСЛО размер промежутка между полÑми вывода, выраженный в Ñтолбцах -i, --ignore-file=ФÐЙЛ Ñчитать перечень игнорируемых Ñлов из ФÐЙЛР-o, --only-file=ФÐЙЛ только Ñчитать ÑпиÑок Ñлов из заданного ФÐЙЛР� -X, --exclude-from=ФÐЙЛ иÑключить файлы, Ñовпадающие Ñ Ð»ÑŽÐ±Ñ‹Ð¼ шаблоном из ФÐЙЛа --exclude=ШÐБЛОРиÑключить файлы, Ñовпадающие Ñ Ð¨ÐБЛОÐом -x, --one-file-system пропуÑкать каталоги из других файловых ÑиÑтем � -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux Ð´Ð»Ñ Ð˜ÐœÐ•ÐИ равным CTX � -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ИМЕÐИ равным CTX � -a изменить только Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа -c, --no-create не Ñоздавать файлов -d, --date=СТРОКРпроанализировать СТРОКУ и иÑпользовать вмеÑто текущего времени -f (игнорируетÑÑ) � -a, --across выводить колонки вдоль, а не вниз; иÑпользуетÑÑ Ð²Ð¼ÐµÑте Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -ЧИСЛО -c, --show-control-chars иÑпользовать запиÑÑŒ Ñ ÑˆÐ°Ð¿Ð¾Ñ‡ÐºÐ¾Ð¹ (^G) или обратной коÑой чертой (и воÑьмеричным кодом) -d, --double-space вÑтавлÑть пуÑтую Ñтроку поÑле каждой выходной Ñтроки � -a, --all не Ñкрывать файлы начинающиеÑÑ Ñ . -A, --almost-all не выдавать подразумеваемые . и .. --author вмеÑте Ñ -l, печатать автора каждого файла -b, --escape печатать Ñкранирующие поÑледовательноÑти в Ñтиле С Ð´Ð»Ñ Ð½Ðµ графичеÑких Ñимволов � -a, --all включать фиктивные файловые ÑиÑтемы -B, --block-size=РÐЗМЕР иÑпользовать блоки указанного РÐЗМЕРÐ. Ðапример, «-BM» выводит размеры в единицах, равных 1,048,576 байтам. См. формат РÐЗМЕРРдалее. --total выводить общий итог -h, --human-readable выводить размеры в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде (например, 1K 234M 2G) -H, --si то же, но иÑпользовать Ñтепени 1000, а не 1024 � -a, --all напечатать вÑе текущие наÑтройки в форме, понÑтной человеку -g, --save напечатать вÑе текущие наÑтройки в форме, понÑтной программе stty -F, --file=УСТРОЙСТВО открыть и иÑпользовать указанное уÑтройÑтво вмеÑто Ñтандартного ввода � -a, --all преобразовывать вÑе пробельные Ñимволы, а не только начальные --first-only преобразовывать только начальные пробельные Ñимволы (перекрывает -a) -t, --tabs=ЧИСЛО иÑпользовать табулÑцию заданной ширины, а не 8 (включает -a) -t, --tabs=СПИСОК иÑпользовать заданный СПИСОК (разделенный запÑтыми) позиций табулÑции (включает -a) � -a, --archive то же, что и -dPR --preserve=all --attributes-only не копировать данные файла, только атрибуты --backup[=КОГДÐ] Ñоздавать резервную копию каждого целевого файла -b то же, что и --backup, но без аргумента --copy-contents копировать Ñодержимое Ñпециальных файлов при рекурÑивной обработке -d то же, что и --no-dereference --preserve=link � -a, --multiple принÑть неÑколько аргументов и Ñчитать каждый ИМЕÐЕМ -s, --suffix=СУФФИКС удалить завершающий СУФФИКС -z, --zero разделÑть вывод NUL, а не Ñимволом новой Ñтроки � -a, --suffix-length=РиÑпользовать ÑуффикÑÑ‹ длиной Ð (по умолчанию %d) --additional-suffix=СУФФИКС прибавлÑть дополнительный СУФФИКС к именам файлов. -b, --bytes=ЧИСЛО запиÑывать в выходной файл заданное ЧИСЛО байт -C, --line-bytes=ЧИСЛО запиÑывать не более заданного ЧИСЛРбайт из Ñтроки в выходной файл -d, --numeric-suffixes[=ИЗ] иÑпользовать чиÑловые, а не буквенные ÑуффикÑÑ‹ -e, --elide-empty-files не генерировать пуÑтые выходные файлы, еÑли указан «-n» --filter=КОМÐÐДРзапиÑывать в КОМÐÐДу оболочки; Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° — $FILE -l, --lines=ЧИСЛО запиÑывать в каждый выходной файл заданное ЧИСЛО Ñтрок -n, --number=ПОРЦИИ генерировать выходные файлы по ПОРЦИЯМ. См. далее -u, --unbuffered Ñразу копировать ввод в вывод при указании «-n r/…» � -b, --before приÑоединÑть разделитель к началу, а не к концу -r, --regex воÑпринимать разделитель как регулÑрное выражение -s, --separator=СТРОКРиÑпользовать как разделитель СТРОКУ, а не Ñимвол новой Ñтроки � -b, --binary читать в двоичном режиме � -b, --binary читать в двоичном режиме (по умолчанию, еÑли читаетÑÑ Ð½Ðµ терминальный ввод) � -b, --body-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок тела -d, --section-delimiter=СС иÑпользовать СС Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑких Ñтраниц -f, --footer-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок нижнего колонтитула � -b, --bytes Ñчитать байты, а не Ñтолбцы -s, --spaces разбивать только на пробелах -w, --width=ЧИСЛО иÑпользовать указанное ЧИСЛО Ñтолбцов, а не 80 � -b, --bytes=СПИСОК выбрать только заданные байты -c, --characters=СПИСОК выбрать только заданные Ñимволы -d, --delimiter=РÐЗДЕЛИТЕЛЬ иÑпользовать Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ РÐЗДЕЛИТЕЛЬ вмеÑто табулÑции � -b, --ignore-leading-blanks игнорировать начальные пропуÑки -d, --dictionary-order раÑÑматривать только пропуÑки, буквы и цифры -f, --ignore-case игнорировать региÑтр букв � -b, --suffix-format=ФОРМÐТ иÑпользовать ФОРМÐТ как в sprintf вмеÑто %02d -f, --prefix=ПРЕФИКС иÑпользовать ПРЕФИКС вмеÑто «xx» -k, --keep-files не удалÑть выходные файлы при ошибке � -c --format=ФОРМÐТ иÑпользовать указанный ФОРМÐТ, а не принимаемый по умолчанию; переводить Ñтроку поÑле каждого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÐžÐ ÐœÐТР--printf=FORMAT как --format, но интерпретировать Ñкранирующие поÑледовательноÑти и не переводить Ñтроку в конце. ЕÑли вам нужен перевод Ñтроки, вÑтавьте в ФОРМÐТ \n. -t, --terse выводить информацию в компактной форме � -c, --bytes=Рпоказать поÑледние Рбайт; или же укажите -c +Ð, чтобы начать вывод каждого файла Ñ Ð-го байта � -c, --bytes=[-]K напечатать первые K байт каждого файла; еÑли перед K Ñтоит «-», напечатать вÑе, кроме K поÑледних байт каждого файла -n, --lines=[-]K напечатать K Ñтрок каждого файла, а не первые 10; еÑли перед K Ñтоит «-», напечатать вÑе, кроме K поÑледних Ñтрок каждого файла � -c, --changes как verbose, но выводить только при выполнении изменений -f, --silent, --quiet не выводить большинÑтво Ñообщений об ошибках -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ каждому файлу � -c, --check читать Ñуммы %s из ФÐЙЛОВ и ÑверÑть их � -c, --check, --check=diagnose-first проверÑть, Ñортированы ли входные файлы; не Ñортировать -C, --check=quiet, --check=silent как -c, но не Ñообщать о первой плохой Ñтроке --compress-program=ПРОГ Ñжимать временные файлы командой ПРОГ; разжимать командой ПРОГ -d � -c, --count выводить чиÑло повторов в начале каждой Ñтроки -d, --repeated выводить только повторÑющиеÑÑ Ñтроки � -c, --crown-margin ÑохранÑть отÑтупы двух первых Ñтрок -p, --prefix=СТРОКРформатировать только Ñтроки, начинающиеÑÑ Ñо СТРОКИ, ÑохранÑÑ Ð¿Ñ€Ð¸ Ñтом Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ñтрок -s, --split-only разбивать длинные Ñтроки, но не заполнÑть � -c, --no-create не Ñоздавать файлов � -d, --date=СТРОКРпоказать не текущее времÑ, а времÑ, опиÑанное заданной СТРОКОЙ -f, --file=ФÐЙЛ ÑоответÑтвует применению --date Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñтроки ФÐЙЛР-I[ФОРМ_ВРЕМЕÐИ], --iso-8601[=ФОРМ_ВРЕМЕÐИ] Вывод даты/времени в формате ISO 8601. Только дату, еÑли ФОРМ_ВРЕМЕÐИ=«date» (по умолчанию), «hours», «minutes», «seconds» или «ns» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹ и времени Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð¹ точноÑтью. � -d, --decode Декодировать данные. -i, --ignore-garbage При декодировании игнорировать неалфавитные Ñимволы. -w, --wrap=СТОЛБЕЦ ПереноÑить закодированные Ñтроки поÑле заданного СТОЛБЦР(по умолчанию 76). Задайте 0, чтобы выключить переноÑ. � -d, --delimiter=X иÑпользовать X вмеÑто пробела как разделитель полей � -d, --delimiters=СПИСОК иÑпользовать вмеÑто табулÑции Ñимволы из СПИСКР-s, --serial обрабатывать файлы поÑледовательно � -d, --directory Ñоздать каталог, а не файл -u, --dry-run ничего не Ñоздавать; проÑто напечатать Ð¸Ð¼Ñ (небезопаÑно) -q, --quiet не выдавать диагноÑтику об ошибках ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»/каталога � -e интерпретировать управлÑющие поÑледовательноÑти -E не интерпретировать управлÑющие поÑледовательноÑти (по умолчанию) � -e интерпретировать управлÑющие поÑледовательноÑти (по умолчанию) -E не интерпретировать управлÑющие поÑледовательноÑти � -e, --canonicalize-existing вÑе компоненты пути должны ÑущеÑтвовать -m, --canonicalize-missing компоненты пути могут отÑутÑтвовать -L, --logical определÑть компонент «..» до Ñимвольных ÑÑылок -P, --physical определÑть Ñимвольные ÑÑылки (по умолчанию) -q, --quiet не выводить большинÑтво Ñообщений об ошибках --relative-to=ФÐЙЛ выводить определённый путь отноÑительно ФÐЙЛР--relative-base=ФÐЙЛ выводить абÑолютные пути, а не пути ниже ФÐЙЛР-s, --strip, --no-symlinks не раÑкрывать Ñимвольные ÑÑылки -z, --zero разделÑть результат Ñимволом NUL, а не Ñимволом новой Ñтроки � -e, --echo Ñчитать каждый ÐРГ входной Ñтрокой -i, --input-range=ОТ-ДО Ñчитать чиÑла ОТ и ДО входными Ñтроками -n, --head-lines=ЧИСЛО выводить не более заданного ЧИСЛРÑтрок -o, --output=ФÐЙЛ запиÑать результат в ФÐЙЛ, а не в Ñтандартный вывод --random-source=ФÐЙЛ получать Ñлучайные чиÑла из ФÐЙЛР(по умолчанию /dev/urandom) -z, --zero-terminated завершать Ñтроки нулем, а не переводом Ñтроки � -f не Ñортировать, включает -aU, выключает -ls --color -F, --classify добавлÑть к имени файла индикатор (один из */=>@|) --file-type аналогично, но не добавлÑть «*» --format=СЛОВО across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time Ñиноним -l --time-style=full-iso � -f опуÑтить в кратком формате Ñтроку Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ð¼Ð¸ колонок -w опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -i опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ Ð¸Ð¼Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð¹ машины -q опуÑтить в кратком формате полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, Ð¸Ð¼Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð¹ машины и Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ñти � -f Ñиноним -t fF, чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой -i Ñиноним -t dI, деÑÑтичные целые -l Ñиноним -t dL, деÑÑтичные длинные целые -o Ñиноним -t o2, воÑьмеричные двухбайтовые единицы -s Ñиноним -t d2, деÑÑтичные двухбайтовые единицы -x Ñиноним -t x2, шеÑтнадцатеричные двухбайтовые единицы � -f ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом -g ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг set-group-ID -G ФÐЙЛ ФÐЙЛ ÑущеÑтвует и принадлежит текущей Ñффективной группе -h ФÐЙЛ ФÐЙЛ ÑущеÑтвует и ÑвлÑетÑÑ Ñимвольной ÑÑылкой (Ñквивалент -L) -k ФÐЙЛ ФÐЙЛ ÑущеÑтвует и имеет флаг sticky � -f, --canonicalize получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путем рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным ÑÑылкам в каждом компоненте заданного пути; вÑе компоненты пути, кроме поÑледнего, должны ÑущеÑтвовать -e, --canonicalize-existing получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путем рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным ÑÑылкам в каждом компоненте заданного пути; вÑе компоненты пути должны ÑущеÑтвовать � -f, --fields=СПИСОК выбрать только заданные полÑ; также печатать вÑе Ñтроки, не Ñодержащие разделителей, еÑли только не задан ключ -s -n (игнорируетÑÑ) � -f, --follow[={name|descriptor}] выводить поÑтупающие данные по мере роÑта файла; -f, --follow и --follow=descriptor Ñквивалентны -F Ñквивалент --follow=name --retry � -f, --force еÑли невозможно открыть ÑущеÑтвующий файл, то удалить его и попробовать ещё раз (Ñтот параметр игнорируетÑÑ, еÑли также указан ключ -n) -i, --interactive Ñпрашивать перед тем как перепиÑывать (отменÑет ранее указанный ключ -n) -H Ñледовать по Ñимвольным ÑÑылкам в ИСТОЧÐИКЕ � -f, --force изменÑть права, Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ, еÑли необходимо -n, --iterations=N перепиÑать N раз вмеÑто (%d) по умолчанию --random-source=ФÐЙЛ получать Ñлучайные чиÑла из ФÐЙЛР(по умолчанию /dev/urandom) -s, --size=N очиÑтить N байт (возможны ÑуффикÑÑ‹ вида K, M, G) � -f, --format=ФОРМÐТ иÑпользовать Ð´Ð»Ñ Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ñ… чиÑел ФОРМÐТ в Ñтиле printf -s, --separator=СТРОКРиÑпользовать СТРОКУ как разделитель (по умолчанию \n) -w, --equal-width выравнивать по ширине, добавлÑÑ Ð² начало нули � -g как -l, но не выводить владельца � -g GID[,GID1…] также задать первичную group-ID чиÑловым GID, и (еÑли указано) дополнительные ID групп в GID1, … � -g, --general-numeric-sort Ñравнивать в ÑоответÑтвии Ñ Ð¾Ð±Ñ‰Ð¸Ð¼ чиÑловым значением -i, --ignore-nonprinting раÑÑматривать только печатные Ñимволы -M, --month-sort Ñравнивать (неизвеÑтно) < «JAN» < … < «DEC» � -h, --header-numbering=СТИЛЬ иÑпользовать СТИЛЬ Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок верхнего колонтитула -i, --line-increment=ЧИСЛО шаг ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñтрок -l, --join-blank-lines=ЧИСЛО заданное ЧИСЛО пуÑтых Ñтрок Ñчитать одной -n, --number-format=ФОРМÐТ иÑпользовать ФОРМÐТ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñтрок -p, --no-renumber не начинать нумерацию заново поÑле каждой логичеÑкой Ñтраницы -s, --number-separator=СТРОКРдобавлÑть СТРОКУ поÑле номера � -h, --header=ЗÐГОЛОВОК иÑпользовать Ð´Ð»Ñ Ñтраниц центрированный ЗÐГОЛОВОК, а не Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°; -h "" выводит пуÑтую Ñтроку; не иÑпользуйте -h "" -i[СИМ[ШИРИÐÐ]], --output-tabs[=СИМВОЛ[ШИРИÐÐ]] заменить пробелы на СИМВОЛЫ (табулÑции) заданной ШИРИÐЫ (8) -J, --join-lines объединÑть полные Ñтроки, отключить уÑечение Ñтрок (-W), не выравнивать колонки, --sep-string[=СТРОКÐ] задает разделители � -h, --human-numeric-sort Ñравнивать чиÑла в удобном Ð´Ð»Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ° виде (например, 2K 1G) � -h, --no-dereference изменÑет Ñимвольные ÑÑылки, а не файлы, на которые они ÑÑылаютÑÑ (имеет ÑмыÑл только на ÑиÑтемах, где можно изменÑть владельца Ñимвольной ÑÑылки) -m изменÑть только Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ � -i, --ignore-case игнорировать региÑтр букв при Ñравнении полей -j ПОЛЕ Ñквивалентно «-1 ПОЛЕ -2 ПОЛЕ» -o ФОРМÐТ выводить в ÑоответÑтвии Ñ Ð¤ÐžÐ ÐœÐТОМ -t СИМ иÑпользовать СИМВОЛ как разделитель полей ввода и вывода � -i, --ignore-environment начать Ñ Ð¿ÑƒÑтым окружением -0, --null завершать каждую выводимую Ñтроку 0-м байтом, a не Ñимволом новой Ñтроки -u, --unset=ИМЯ удалить переменную Ñ Ð˜ÐœÐ•ÐЕМ из Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ � -i, --initial не преобразовывать Ñимволы табулÑции поÑле непробельных Ñимволов -t, --tabs=ЧИСЛО уÑтанавливает ширину табулÑции, по умолчанию 8 � -i, --inodes вывеÑти информацию об индекÑных деÑкрипторах, а не об иÑпользовании блоков -k аналог --block-size=1K -l, --local перечиÑлить только локальные файловые ÑиÑтемы --no-sync не вызывать sync перед получением информации об иÑпользовании блоков (по умолчанию) � -i, --input=РЕЖИМ Ðдаптировать буферизацию Ñтандартного входного потока -o, --output=РЕЖИМ Ðдаптировать буферизацию Ñтандартного выходного потока -e, --error=РЕЖИМ Ðдаптировать буферизацию Ñтандартного потока ошибок � -i, --interactive Ñпрашивать перед удалением целей -L, --logical разыменовывать ЦЕЛИ, ÑвлÑющиеÑÑ Ñимвольными ÑÑылками -n, --no-dereference раÑÑматривать ИМЯ_ССЫЛКИ, как обычный файл, еÑли Ñто ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка на каталог -P, --physical Ñоздавать жёÑткие ÑÑылки непоÑредÑтвенно на Ñимвольные ÑÑылки -r, --relative Ñоздавать Ñимвольные ÑÑылки отноÑительно раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑылки -s, --symbolic Ñоздавать Ñимвольные ÑÑылки, вмеÑто жёÑтких ÑÑылок � -k Ñиноним --block-size=1K -L, --dereference разыменовывать Ñимвольные ÑÑылки -l, --count-links Ñкладывать размеры, еÑли еÑть неÑколько жёÑтких ÑÑылок -m Ñиноним --block-size=1M � -k, --key=ОПР_КЛЮЧРÑортировать по ключу; в ОПР_КЛЮЧРзадано раÑположение и тип -m, --merge объединить уже Ñортированные файлы, не Ñортировать � -l иÑпользовать широкий формат -L, --dereference Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ Ð´Ð»Ñ Ñимвольной ÑÑылки, показывать информацию о файле, на который ÑÑылка ÑÑылаетÑÑ -m выдавать ÑпиÑок на вÑÑŽ ширину через запÑтую � -l, --length=ДЛИÐÐ_СТРÐÐИЦЫ уÑтановить ДЛИÐУ_СТРÐÐИЦЫ (66) (по умолчанию чиÑло Ñтрок текÑта равно 56, а Ñ -F -- 63) -m, --merge печатать вÑе файлы параллельно, по одному в колонке, уÑекать Ñтроки, но ÑоединÑть полные Ñтроки при -J � -l, --link Ñоздавать жёÑткие ÑÑылки вмеÑто ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ -L, --dereference вÑегда Ñледовать Ñимвольным ÑÑылкам в ИСТОЧÐИКЕ � -l, --login печатать процеÑÑÑ‹ входа в ÑиÑтему � -m, --canonicalize-missing получить каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° путём рекурÑивного ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ вÑем Ñимвольным ÑÑылкам в каждом компоненте заданного пути; компоненты пути могут отÑутÑтвовать -n, --no-newline не выводить завершающий разделитель -q, --quiet, -s, --silent подавлÑть вывод большинÑтва Ñообщений об ошибках -v, --verbose Ñообщать об ошибках -z, --zero иÑпользовать при выводе разделитель NUL, а не Ñимвол новой Ñтроки � -m, --mode=РЕЖИМ уÑтановить РЕЖИМ доÑтупа � -m, --mode=РЕЖИМ уÑтановить код доÑтупа (как в chmod) -p, --parents не выдавать ошибок еÑли ÑущеÑтвует, Ñоздавать родительÑкие каталоги еÑли необходимо -v, --verbose печатать Ñообщение о каждом Ñозданном каталоге -Z, --context=CTX уÑтановить контекÑÑ‚ безопаÑноÑти SELinux Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñоздаваемого каталога равным CTX � -n, --adjustment=N увеличить nice на целое чиÑло N (по умолчанию 10) � -n, --digits=ЦИФРЫ иÑпользовать заданное чиÑло ЦИФР вмеÑто двух -s, --quiet, --silent не печатать размеры выходных файлов -z, --elide-empty-files удалÑть пуÑтые выходные файлы � -n, --lines=Рвыводить поÑледние Ð Ñтрок, а не поÑледние %d; или иÑпользуйте -n +Ð Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ñтрок, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð-ной --max-unchanged-stats=Ð c ключом --follow=name, повторно открывать ФÐЙЛ, который не изменÑлÑÑ Ð¿Ð¾Ñледние Ð (по умолчанию %d) итераций, чтобы проверить, не был ли он удалён или переименован (такое обычно бывает при ротации ÑиÑтемных протокольных файлов). При иÑпользовании механизма inotify Ñтот параметр не требуетÑÑ. � -n, --no-clobber не перезапиÑывать ÑущеÑтвующий файл (отменÑет ранее указанный ключ -i) -P, --no-dereference не Ñледовать по Ñимвольным ÑÑылкам в ИСТОЧÐИКЕ � -n, --numeric-sort Ñравнивать чиÑловые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтрок -R, --random-sort Ñортировать по Ñлучайным Ñ…Ñш-чиÑлам ключей --random-source=ФÐЙЛ брать Ñлучайные чиÑла из ФÐЙЛР-r, --reverse обратить результаты ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ � -n, --numeric-uid-gid как -l, но выдавать чиÑловые UID и GID -N, --literal печатать имена как еÑть (не обрабатывать, например, управлÑющие Ñимволы) -o как -l, но не выводить информацию о группе -p, --indicator-style=slash добавлÑть индикатор / к каталогам � -n[РÐЗД[ЦИФРЫ]], --number-lines[=РÐЗД[ЦИФРЫ]] нумеровать Ñтроки, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ðµ ЦИФРЫ (5) и РÐЗДелитель (табулÑцию); по умолчанию Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ входной Ñтроки -N, --first-line-number=ÐОМЕР начать нумерацию Ñ ÐÐžÐœÐ•Ð Ð Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ñтроки первой выводимой Ñтраницы (Ñмотри +ПЕРВÐЯ_СТРÐÐИЦÐ) � -o, --indent=ПОЛЕ Ñдвигать каждую Ñтроку на ПОЛЕ (ноль) пробелов (не влиÑет на -w или -W); ПОЛЕ добавлÑетÑÑ Ðº ШИРИÐЕ_СТРÐÐИЦЫ -r, --no-file-warnings не предупреждать о невозможноÑти Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° � -o, --io-blocks Ñчитать РÐЗМЕР чиÑлом блоков вв/вывода, а не байтов � -o, --output=ФÐЙЛ выводить в ФÐЙЛ, а не на Ñтандартный вывод -s, --stable Ñтабилизировать Ñортировку, иÑключив проверку на равенÑтво -S, --buffer-size=РÐЗМЕР иÑпользовать в оÑновной памÑти буфер указанного РÐЗМЕРР� -p то же, что и --preserve=mode,ownership,timestamps --preserve[=СПИС_ÐТТР] ÑохранÑть указанные атрибуты (по умолчанию: mode,ownership,timestamps) и, еÑли возможно, дополнительные атрибуты: context, links, xattr, all � -p КÐТ иÑпользовать КÐТ в качеÑтве префикÑа; подразумевает -t (уÑтарел) -t раÑÑматривать ШÐБЛОРкак одно Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, отноÑительно каталога: $TMPDIR, еÑли задан; иначе каталог задаётÑÑ Ñ‡ÐµÑ€ÐµÐ· -p; иначе /tmp (уÑтарел) � -p, --parents удалить КÐТÐЛОГ и его потомков. Ðапример, «rmdir -p a/b/c» делает то же, что и «rmdir a/b/c a/b a». -v, --verbose выводить Ñообщение Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ обработанного каталога � -p, --preserve-timestamps уÑтанавливать целевым файлам времена доÑтупа/Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº у их файлов-ИСТОЧÐИКОВ -s, --strip удалÑть таблицы Ñимволов --strip-program=ПРОГРÐММРзадать программу Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ Ñимволов -S, --suffix=СУФФИКС иÑпользовать Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… копий заданный СУФФИКС -t, --target-directory=КÐТÐЛОГ копировать вÑе аргументы-ИСТОЧÐИКИ в КÐТÐЛОГ -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом -v, --verbose выводить название каждого Ñоздаваемого каталога � -q, --count вÑе имена и чиÑло подключенных пользователей -r, --runlevel печатать текущий уровень Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ -s, --short печатать только имÑ, линию и Ð²Ñ€ÐµÐ¼Ñ (принимаетÑÑ Ð¿Ð¾ умолчанию) -t, --time печатать поÑледнее изменение ÑиÑтемного времени � -q, --hide-control-chars печатать ? вмеÑто не графичеÑких Ñимволов --show-control-chars показывать непечатаемые Ñимволы (по умолчанию еÑли программа не «ls» и вывод идет не на терминал). -Q, --quote-name заключать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в кавычки --quoting-style=ТИП иÑпользовать тип Ð·Ð°ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² кавычки ТИП: literal, shell, shell-always, c, escape � -q, --quiet, --silent не печатать заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов -v, --verbose вÑегда печатать заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов � -r, --reference=ФÐЙЛ показать Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¤ÐЙЛР-R, --rfc-2822 выводить Ð²Ñ€ÐµÐ¼Ñ Ð² ÑоответÑтвии Ñ RFC-2822 Пример: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=ФÐЙЛ иÑпользовать Ð²Ñ€ÐµÐ¼Ñ Ð¤ÐЙЛРвмеÑто текущего времени -t ВРЕМЯ иÑпользовать [[Ð’Ð’]ГГ]ММДДччмм[.ÑÑ] вмеÑто текущего времени --time=СЛОВО изменить указанное времÑ: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ access, atime, use Ñквивалентны -a Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ modify, mtime Ñквивалентны -m � -r, --reference=RФÐЙЛ базовый размер RФÐЙЛР-s, --size=РÐЗМЕР уÑтановить или подогнать размер файла под РÐЗМЕР � -r, --references первое поле в каждой Ñтроке ÑвлÑетÑÑ ÑÑылкой -t, --typeset-mode - не реализовано - -w, --width=ЧИСЛО ширина вывода в Ñтолбцах, не ÑÑ‡Ð¸Ñ‚Ð°Ñ ÑÑылки � -r, --reverse обратный порÑдок Ñортировки -R, --recursive рекурÑивно показывать каталоги -s, --size печатать размер каждого файла в блоках � -s, --only-delimited не печатать Ñтроки, не Ñодержащие разделителей --output-delimiter=СТРОКРиÑпользовать СТРОКУ Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ при выводе, по умолчанию иÑпользуетÑÑ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»ÑŒ Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° � -s, --signal=СИГÐÐЛ, -СИГÐÐЛ задает Ð¸Ð¼Ñ Ð¸Ð»Ð¸ номер поÑылаемого Ñигнала -l, --list перечиÑлÑет имена Ñигналов или переводит имена в номера и наоборот -t, --table печатает таблицу Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о Ñигналах � -s, --sleep-interval=С Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -f, Ñпать между итерациÑми примерно С Ñекунд (по умолчанию 1.0). При иÑпользовании механизма inotify и --pid=P, проверÑть процеÑÑ P не чем раз в N Ñекунд. -v, --verbose вÑегда выводить заголовки Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ файлов � -s, --symbolic-link Ñоздавать Ñимвольные ÑÑылки вмеÑто ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ -S, --suffix=СУФФИКС иÑпользовать Ð´Ð»Ñ Ð·Ð°Ð¿Ð°Ñных копий заданный СУФФИКС --target-directory=КÐТ Ñкопировать вÑе ИСТОЧÐИКИ в КÐТÐЛОГ -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом � -s[СИМВОЛ],--separator[=СИМВОЛ] разделÑть колонки одним Ñимволом, по умолчанию СИМВОЛ равен <TAB>, еÑли нет ключа -w, и пуÑÑ‚, еÑли еÑть ключ -w, то -s[СИМВОЛ] выключает уÑечение Ñтрок Ð´Ð»Ñ Ð²Ñех трёх колонок ключей (-КОЛОÐКÐ|-a -КОЛОÐКÐ|-m), еÑли только нет ключа -w � -t Ñортировать по времени изменениÑ, Ñначала Ñамые новые -T, --tabsize=РÐЗМЕР иÑпользовать табулÑцию указанного РÐЗМЕРÐ, а не 8 � -t Ñиноним -vT -T, --show-tabs показывать Ñимволы табулÑции как ^I -u (игнорируетÑÑ) -v, --show-nonprinting иÑпользовать запиÑÑŒ Ñ ^ и M-, за иÑключением Ñимволов перевода Ñтроки и табулÑции � -t, --field-separator=РÐЗДЕЛИТЕЛЬ иÑпользовать при поиÑке ключевых полей РÐЗДЕЛИТЕЛЬ, а не переход от непробельных Ñимволов к пробельным -T, --temporary-directory=КÐТÐЛОГ иÑпользовать Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… файлов КÐТÐЛОГ, а не $TMPDIR или %s; неÑколько таких ключей задают неÑколько каталогов --parallel=N изменить количеÑтво одновременно запущенных Ñортировок до N -u, --unique Ñ -c, проверÑть порÑдок Ñтрого; без -c, выводить только первое Ñреди неÑкольких равных � -t, --tabs=СПИСОК иÑпользовать разделённый запÑтыми ÑпиÑок позиций табулÑции � -t, --tagged-paragraph отÑтуп первой Ñтроки отличен от отÑтупа второй -u, --uniform-spacing один пробел поÑле Ñлова, два поÑле Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ -w, --width=ЧИСЛО макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ñтроки (по умолчанию 75 Ñтолбцов) -g, --goal=ЧИСЛО ширина задаваемого Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ (goal, по умолчанию 93% ширины) � -t, --target-directory=КÐТÐЛОГ перемеÑтить вÑе ИСТОЧÐИКИ в КÐТÐЛОГ -T, --no-target-directory Ñчитать ÐÐЗÐÐЧЕÐИЕ обычным файлом -u, --update перемещать только тогда когда ИСТОЧÐИК новее чем файл назначениÑ, или когда файл Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвует -v, --verbose поÑÑнÑть производимые дейÑÑ‚Ð²Ð¸Ñ � -t, --text читать в текÑтовом режиме (по умолчанию, еÑли читаетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ввод) � -t, --text читать в текÑтовом режиме (по умолчанию) � -t, --threshold=РÐЗМЕР иÑключить Ñлементы, размер которых меньше РÐЗМЕРÐ, еÑли значение положительно, или размер которых больше, еÑли значение отрицательно --time показывать Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² в каталоге или во вÑех его подкаталогах --time=СЛОВО показывать указанное СЛОВОМ времÑ, а не Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ: atime, access, use, ctime или status --time-style=СТИЛЬ показывать времÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¡Ð¢Ð˜Ð›Ð¬: full-iso, long-iso, iso, +ФОРМÐТ ФОРМÐТ интерпретируетÑÑ ÐºÐ°Ðº в «date» � -u Ñ -lt: Ñортировать и показывать Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа c -l: показывать Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа и Ñортировать по имени иначе: Ñортировать по времени доÑтупа -U не Ñортировать; печатать в ÑоответÑтвии Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑким раÑположением в каталоге -v Ñортировать по номерам (верÑии) в текÑтовом предÑтавлении � -u, --remove обрезать и удалÑть файл поÑле перезапиÑи -v, --verbose показывать прогреÑÑ -x, --exact не округлÑть размеры файлов до Ñледующего целого блока; по умолчанию Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… файлов -z, --zero перезапиÑать в конце нулÑми, чтобы Ñкрыть перемешивание � -u, --update копировать только тогда когда иÑходный файл новее чем файл назначениÑ, или когда файл Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÑутÑтвует -v, --verbose поÑÑнÑть что будет Ñделано -x, --one-file-system оÑтаватьÑÑ Ð² пределах одной файловой ÑиÑтемы � -u, --user=ПОЛЬЗ задать ПОЛЬЗОВÐТЕЛЯ в наз-мом контекÑте безопаÑноÑти -r, --role=РОЛЬ задать РОЛЬ в назначаемом контекÑте безопаÑноÑти -t, --type=ТИП задать ТИП в назначаемом контекÑте безопаÑноÑти -l, --range=ДИÐПÐЗОРзадать ДИÐПÐЗОРв назначаемом контекÑте безопаÑноÑти � -v ÐОМЕР как -а ÐОМЕР, но не печатать объединÑемые выходные Ñтроки -1 ПОЛЕ Ñчитать общим заданное ПОЛЕ файла 1 -2 ПОЛЕ Ñчитать общим заданное ПОЛЕ файла 2 --check-order проверить правильноÑть Ñортировки ввода, даже еÑли вÑе входные Ñтроки имеют пару --nocheck-order не проверÑть правильноÑть Ñортировки ввода --header Ñчитать первую Ñтроку каждого файла названиÑми полей, выводить их без Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¸Ñка пары � -v, --kernel-version напечатать верÑию Ñдра -m, --machine напечатать тип Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹ -p, --processor напечатать тип процеÑÑора или «неизвеÑтно» -i, --hardware-platform напечатать тип аппаратной платформы или «неизвеÑтно» -o, --operating-system напечатать Ð¸Ð¼Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑиÑтемы � -v, --starting-line-number=ЧИСЛО первый номер Ñтроки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ логичеÑкой Ñтраницы -w, --number-width=ЧИСЛО иÑпользовать заданное ЧИСЛО Ñтолбцов Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² Ñтрок � -v, --verbose выводить диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла � -w, --check-chars=Ð Ñравнивать первые Ð Ñимволов Ñтрок � -w, --width=ЧИСЛО задает ширину Ñкрана вмеÑто текущего Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ -x перечиÑлÑть по Ñтрокам, а не по Ñтолбцам -X Ñортировать по раÑширению в алфавитном порÑдке -Z, --context печатать контекÑÑ‚ безопаÑноÑти SELinux каждого файла -1 перечиÑлÑть по одному файлу на Ñтроке � -z, --zero разделÑть вывод NUL, а не Ñимволом новой Ñтроки � -z, --zero-terminated завершать Ñтроки нулевым байтом, а не новой Ñтрокой � КОÐТЕКСТ Полный контекÑÑ‚ безопаÑноÑти -c, --compute вычиÑлить переходный контекÑÑ‚ перед изменением -t, --type=ТИП тип (Ñ Ñ€Ð¾Ð»ÑŒÑŽ что и у родителÑ) -u, --user=ПОЛЬЗОВÐТЕЛЬ обозначение Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -r, --role=РОЛЬ роль -l, --range=ДИÐПÐЗОРдиапазон � Файл: «%n» ID: %-8i Длина имени: %-7l Тип: %T Размер блока: %-10s БазиÑный размер блока: %S Блоки: Ð’Ñего: %-10b Свободно: %-10f ДоÑтупно: %a Inodes: Ð’Ñего: %-10c Свободно: %d � Файл: %N Размер: %-10s Блоков: %-10b Блок Ð’/Ð’: %-6o %F � ПроцеÑÑÑ‹ в ÑоÑтоÑнии непрерывного Ñна также влиÑÑŽÑ‚ на Ñреднюю загруженноÑть. � [:graph:] вÑе печатные Ñимволы, иÑÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ» [:lower:] вÑе Ñтрочные буквы [:print:] вÑе печатные Ñимволы, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ» [:punct:] вÑе знаки Ð¿Ñ€ÐµÐ¿Ð¸Ð½Ð°Ð½Ð¸Ñ [:space:] вÑе вертикальные или горизонтальные пробельные Ñимволы [:upper:] вÑе заглавные буквы [:xdigit:] вÑе шеÑтнадцатеричные цифры [=СИМ=] вÑе Ñимволы, Ñквивалентные СИМВОЛУ � \0NNN байт Ñ Ð²Ð¾Ñьмеричным значением ÐÐÐ (от 1 до 3 цифр) \xHH байт Ñ ÑˆÐµÑтнадцатеричным значением HH (от 1 до 2 цифр) � \NNN байт Ñ Ð²Ð¾Ñьмеричным кодом NNN(от 1 до 3 цифр) \xÐРбайт Ñ ÑˆÐµÑтнадцатеричным кодом ÐÐ (от 1 до 2 цифр) \uÐÐÐÐ Ñимвол Unicode (ISO/IEC 10646) Ñ ÑˆÐµÑтнадцатеричным кодом ÐÐÐÐ (4 цифры) \UÐÐÐÐÐÐÐÐ Ñимвол Unicode Ñ ÑˆÐµÑтнадцатеричным кодом ÐÐÐÐÐÐÐÐ (8 цифр) � \\ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° \a звуковой Ñигнал (BEL) \b забой \c подавить дальнейший вывод \e Ñкранирование (escape) \f Ð½Ð¾Ð²Ð°Ñ Ñтраница \n Ð½Ð¾Ð²Ð°Ñ Ñтрока \r возврат каретки \t Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ \v Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ � \v Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ Ð¡Ð˜Ðœ1-СИМ2 вÑе Ñимволы от СИМ1 до СИМ2 в порÑдке возраÑÑ‚Ð°Ð½Ð¸Ñ [СИМ*] СИМВОЛ заполнÑет ТÐБЛИЦУ2 до длины ТÐБЛИЦЫ1 [СИМ*ЧИСЛО] заданное ЧИСЛО одинаковых СИМВОЛОВ; ЧИСЛО воÑьмеричное, еÑли начинаетÑÑ Ñ 0 [:alnum:] вÑе буквы и цифры [:alpha:] вÑе буквы [:blank:] вÑе горизонтальные пробельные Ñимволы [:cntrl:] вÑе управлÑющие Ñимволы [:digit:] вÑе цифры � ascii из EBCDIC в ASCII ebcdic из ASCII в EBCDIC ibm из ASCII в альтернативную EBCDIC block дополнÑть запиÑи, заканчивающиеÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼ Ñтроки, пробелами до размера cbs unblock заменÑть завершающие пробелы в запиÑÑÑ… размера cbs на перевод Ñтроки lcase изменÑть региÑтр Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ на нижний ucase изменÑть региÑтр Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ на верхний sparse попытатьÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтитьÑÑ, а не запиÑывать в вывод NUL входных блоков swab переÑтавить меÑтами каждую пару входных байт sync дополнÑть каждый входной блок NUL-ми до размера ibs; при иÑпользовании Ñ block или unblock, дополнÑть пробелам, а не NUL � auto учеÑть необÑзательный одно/двух буквенный ÑуффикÑ: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary иÑпользовать бинарный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… � cio иÑпользовать конкурентный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… � count_bytes Ñчитать «count=N» как Ñчётчик байт (только Ñ iflag) � d[ЧИСЛО] знаковое деÑÑтичное целое размером заданное ЧИСЛО байт f[ЧИСЛО] чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой размером заданное ЧИСЛО байт o[ЧИСЛО] воÑьмеричное целое размером заданное ЧИСЛО байт u[ЧИСЛО] беззнаковое деÑÑтичное целое размером заданное ЧИСЛО байт x[ЧИСЛО] шеÑтнадцатеричное целое размером заданное ЧИСЛО байт � direct иÑпользовать прÑмой ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… � directory выдавать ошибку, еÑли Ñто не каталог � dsync иÑпользовать Ñинхронизированный ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… � excl завершать Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, еÑли выходной файл уже ÑущеÑтвует nocreat не Ñоздавать выходной файл notrunc не обрезать выходной файл noerror продолжать поÑле ошибок Ñ‡Ñ‚ÐµÐ½Ð¸Ñ fdatasync физичеÑки запиÑать выходной файл перед завершением fsync аналогично, но запиÑать также метаданные � fullblock накапливать полные блоки входных данных (только iflag) � iec учеÑть необÑзательный однобуквенный ÑуффикÑ: 1K = 1024, 1M = 1048576, ... � iec-i учеÑть необÑзательный двухбуквенный ÑуффикÑ: 1Ki = 1024, 1Mi = 1048576, ... � if=ФÐЙЛ читать ФÐЙЛ, а не Ñтандартный ввод iflag=ФЛÐГИ читать в ÑоответÑтвии Ñо ÑпиÑком Ñимволов, Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую obs=ЧИСЛО запиÑывать заданное ЧИСЛО байт за раз (по умолчанию 512) of=ФÐЙЛ запиÑывать в ФÐЙЛ, а не на Ñтандартный вывод oflag=ФЛÐГИ запиÑывать в ÑоответÑтвии Ñо ÑпиÑком Ñимволов, Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую seek=ЧИСЛО пропуÑтить перед началом вывода заданное ЧИСЛО блоков размером obs skip=ЧИСЛО пропуÑтить перед началом ввода заданное ЧИСЛО блоков размером ibs status=ИÐФО заданную ИÐФОрмацию не выводить в stderr; «noxfer» — не выводить ÑтатиÑтику передачи «none» — не выводить ничего � noatime не обновлÑть Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего доÑтупа � nocache отвергать кÑшированные данные � noctty не назначать управлÑющий терминал из файла � nofollow не Ñледовать по Ñимвольным ÑÑылкам � nolinks выдавать ошибку, еÑли найдено неÑколько ÑÑылок � nonblock иÑпользовать неблокирующий ввод/вывод � none отключить маÑштабирование; ÑуффикÑÑ‹ приводÑÑ‚ к ошибке � none, off никогда не Ñоздавать резервных копий (даже еÑли указан ключ --backup) numbered, t Ñоздавать нумерованные копии existing, nil еÑли ÑущеÑтвуют нумерованные копии, то Ñоздавать нумерованные иначе Ñоздавать проÑтые simple. never вÑегда Ñоздавать проÑтые копии � seek_bytes Ñчитать «seek=N» как Ñчётчик байт (только Ñ oflag) � si учеÑть необÑзательный однобуквенный ÑуффикÑ: 1K = 1000, 1M = 1000000, ... � skip_bytes Ñчитать «skip=N» как Ñчётчик байт (только Ñ iflag) � sync то же, но так же и Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… � text иÑпользовать текÑтовый ввод/вывод Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… � %H:%M%P � (Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ: %s)�* [-]ctlecho отображать управлÑющие Ñимволы Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¾Ð¹ («^c») [-]echo отображать вводимые Ñимволы * [-]echoctl Ñиноним [-]ctlecho [-]echoe Ñиноним [-]crterase [-]echok отображать перевод Ñтроки поÑле Ñимвола ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð¸Ñ �* [-]echoke Ñиноним [-]crtkill [-]echonl отображать перевод Ñтроки, даже еÑли другие Ñимволы не отображаютÑÑ * [-]echoprt выводить Ñтираемые Ñимволы в обратном порÑдке, между «\» и «/» [-]icanon иÑпользовать Ñпециальные Ñимволы erase, kill, werase, и rprnt [-]iexten иÑпользовать Ñпециальные Ñимволы, не опиÑанные в Ñтандарте POSIX �* [-]iuclc преобразовывать заглавные буквы в Ñтрочные * [-]ixany позволить любому Ñимволу возобновить ввод [-]ixoff разрешить поÑылку Ñимволов приоÑтановки/Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ [-]ixon разрешить управление потоком данных [-]parmrk отмечать ошибки четноÑти (поÑледовательноÑтью из 255 нулей) [-]tandem Ñиноним [-]xioff � * [-]iutf8 предполагать, что входные Ñимволы в кодировке UTF-8 �* [-]ocrnl преобразовывать возврат каретки в перевод Ñтроки * [-]ofdel иÑпользовать Ñимволы ÑÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð²Ð¼ÐµÑто нулей Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ * [-]ofill иÑпользовать Ñимволы Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐµÐº * [-]olcuc преобразовывать Ñтрочные буквы в заглавные * [-]onlcr преобразовывать перевод Ñтроки в возврат каретки и новую Ñтроку * [-]onlret перевод Ñтроки производит возврат каретки �* [-]onocr не печатать возврат каретки в первом Ñтолбце [-]opost форматировать вывод * tabРзначение паузы поÑле горизонтальной табулÑции, допуÑтимые Ð [0..3] * tabs Ñиноним tab0 * -tabs Ñиноним tab3 * vtРзначение паузы поÑле вертикальной табулÑции, допуÑтимые Ð [0..1] �* eol2 СИМВОЛ другой СИМВОЛ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ†Ð° Ñтроки erase СИМВОЛ СИМВОЛ будет Ñтирать поÑледний введенный до него intr СИМВОЛ СИМВОЛ будет поÑылать Ñигнал Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ kill СИМВОЛ СИМВОЛ будет Ñтирать текущую Ñтроку �* lnext СИМВОЛ СИМВОЛ будет вводить Ñледующий Ñимвол, отменÑÑ ÐµÐ³Ð¾ Ñпециальное дейÑтвие quit СИМВОЛ СИМВОЛ будет поÑылать Ñигнал выхода * rprnt СИМВОЛ СИМВОЛ будет перериÑовывать текущую Ñтроку start СИМВОЛ СИМВОЛ будет возобновлÑть ввод �* rows Ð Ñообщить Ñдру, что терминал имеет Ð Ñтрок * size напечатать чиÑла Ñтолбцов и Ñтрок, извеÑтные Ñдру speed напечатать ÑкороÑть терминала time РиÑпользуетÑÑ Ñ -icanon, уÑтановить временной предел Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ РдеÑÑтым Ñекунды � ??:???? включён � Терминал� контекÑÑ‚=%s� egid=%s� euid=%s� gid=%s� группы=�давно� при повторе %s �% 1% памÑти, b 1, k 1024 (по умолчанию), и так далее Ð´Ð»Ñ M, G, T, P, E, Z, Y. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. *** ПРЕДУПРЕЖДЕÐИЕ *** УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² окружении локаль влиÑет на порÑдок Ñортировки. Чтобы получить традиционный порÑдок, иÑпользующий ÑиÑтемные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð°Ð¹Ñ‚, уÑтановите LC_ALL=C. �%.*s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ�%b %e %Y�%b %e %H:%M�%lu пользователь�%lu пользователÑ�%lu пользователей�%s (Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ %s)�%s -> %s (воÑÑтановление) �%s [-d] завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾�%s и %s - один и тот же файл�%s ÑущеÑтвует, но не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼�%s поÑвилÑÑ; начат вывод Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�%s Ñтал доÑтупен�%s Ñтал недоÑтупен�%s был замещён файлом удалённым файлом, конец вывода Ð´Ð»Ñ Ñтого имени�%s был замещен файлом, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ tail неприменим; конец вывода Ð´Ð»Ñ Ñтого имени�%s был замещен; вывод продолжаетÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�неизвеÑтный тип файла %s�%s имеет нерабочий, вероÑтно, отрицательный размер�ДомашнÑÑ Ñтраница %s: <%s> �ДомашнÑÑ Ñтраница %s: <http://www.gnu.org/software/%s/> �%s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым целым положительным чиÑлом�%s Ñлишком велик�%s может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux в Ñдре�подпроцеÑÑ %s�подпроцеÑÑ %s завершилÑÑ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹�подпроцеÑÑ %s получил Ñигнал Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ %d�указан %s, но без %s�%s перезапиÑал был начальные данные; прекращение выполнениÑ�%s%s аргумент «%s» Ñлишком велик�%s-%s�%s: %s наÑтолько велико, что его невозможно машинно предÑтавить�%s: %s: номер Ñтроки вне допуÑтимых пределов�%s: %s: Ñовпадение не найдено�%s: %s:%s: неправильный порÑдок: �%s: при задании чиÑла повторов необходима «}»�%s: невозможно открыть или прочитать �%s: ожидаетÑÑ Ð±Ð¸Ð½Ð°Ñ€Ð½Ñ‹Ð¹ оператор�%s: отноÑительные Ñимвольные ÑÑылки можно Ñоздавать только в текущем каталоге�%s: невозможно изменить неблокирующий режим�%s: невозможно определить размер файла�%s: невозможно определить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ID %lu �%s: невозможно Ñледить за концом файла такого типа; вывод продолжаетÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла�%s: невозможно вернуть указатель файла на первоначальную позицию�%s: невозможно перезапиÑать каталог�%s: невозможно откатитьÑÑ�%s: невозможно ÑмеÑтитьÑÑ�%s: невозможно перемеÑтить указатель позиции на %s отноÑительно конца�%s: невозможно ÑмеÑтитьÑÑ Ðº позиции %s�%s: невозможно перемеÑтить указатель позиции на %s�%s: невозможно нарезать файловый деÑкриптор Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¼ добавлениÑ�%s: невозможно пропуÑтить�%s: невозможно пропуÑтить до заданного ÑмещениÑ�%s: пропущен закрывающий разделитель «%c»�%s: невозможно переинициализировать неблокирующий режим�%s: ÑпуÑтитьÑÑ Ð² каталог %s? �%s: ÑпуÑтитьÑÑ Ð² защищённый от запиÑи каталог %s? �%s: конец файла�%s: необходимо задать один Ñимвол, определÑющий клаÑÑ Ñквивалентных ему�%s: ошибка при уÑечении�%s: ошибка запиÑи по Ñмещению %s�%s: ожидаетÑÑ Ñ‡Ð¸Ñловое значение�%s: не удалоÑÑŒ закрыть�%s: не удалоÑÑŒ получить информацию об ÑкÑтентах�%s: не удалоÑÑŒ открыть Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�%s: не удалоÑÑŒ удалить�%s: не удалоÑÑŒ ÑброÑить (reset) файловый указатель�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fcntl завершилаÑÑŒ неуÑпехом�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fdatasync завершилаÑÑŒ неуÑпехом�%s: у файла отрицательный размер�%s: файл Ñлишком ÑократилÑÑ�%s: файл Ñлишком велик�%s: файл Ñлишком велик�%s: файл уÑечен�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fstat завершилаÑÑŒ неуÑпехом�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fsync завершилаÑÑŒ неудачно�%s: не допуÑкаетÑÑ Ñоздавать жёÑткие ÑÑылки на каталоги�%s: на входе ÑодержитÑÑ Ñ†Ð¸ÐºÐ»:�%s: на входе ÑодержитÑÑ Ð½ÐµÑ‡Ñ‘Ñ‚Ð½Ð¾Ðµ чиÑло лекÑем�%s: ввод и вывод в один файл�%s: поÑле Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚ÑÑ Ñ†ÐµÐ»Ð¾Ðµ чиÑло�%s: неверный размер блока ввода-вывода�%s: неверный PID�%s: неверный номер порции�%s: неверный Ñчетчик в начале %s�%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð°�%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ð»Ñ %s�%s: неверный размер файла�%s: неверный тип файла�%s: неверное макÑимальное чиÑло не изменÑвшихÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² между открытиÑми�%s: недопуÑтимое чиÑло�%s: неверное чиÑло байт�%s: неверное количеÑтво порций�%s: неверное чиÑло Ñтрок�%s: неверное чиÑло проходов�%s: неверное чиÑло Ñекунд�%s: неверное чиÑло Ð´Ð»Ñ Ð¸ÑключениÑ�%s: неверный ключ -- %c �%s: недопуÑтимый образец�%s: неверный идентификатор процеÑÑа�%s: недопуÑтимое регулÑрное выражение: %s�%s: неверный Ñигнал�%s: неверное начальное значение чиÑлового ÑуффикÑа�%s: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑуффикÑа�%s: номер Ñтроки должен быть больше нулÑ�%s: номер Ñтроки вне допуÑтимых пределов�%s: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ lseek завершилаÑÑŒ неудачно�%s: задано неÑколько Ñигналов�%s: новые права доÑтупа %s, а не %s�%s: не найдено верно ÑоÑтавленных Ñтрок контрольных Ñумм %s�%s: Ð´Ð»Ñ Ñтого уÑтройÑтва нет Ñведений о размерах�%s: такого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚�%s: пропуÑк уже перечиÑленного каталога�%s: чиÑло байт Ñлишком велико�%s: ключ %c%s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента �%s: двуÑмыÑленный параметр «%s»; возможные варианты:�%s: ключ --%s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента �%s: ключ --%s должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ �%s: ключ -W %s должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента �%s: двуÑмыÑленный ключ -W %s �%s: ключ -W %s должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ �%s: ключ должен иÑпользоватьÑÑ Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ -- %c �%s: перепиÑать %s? �%s: проход %lu/%lu (%s)…�%s: проход %lu/%lu (%s)…%s�%s: проход %lu/%lu (%s)…%s/%s %d%%�%s: ошибка чтениÑ�%s: удалить %s %s? �%s: удалить вÑе аргументы рекурÑивно? �%s: удалить вÑе аргументы? �%s: удалить защищенный от запиÑи %s %s? �%s: удалён�%s: удаление�%s: переименован в %s�%s: заменить %s? �%s: перемещение по файлу завершилоÑÑŒ неудачно�%s: Ñлишком много Ñтрок контрольных Ñумм�%s: попытатьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñать %s, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° права доÑтупа %04lo (%s)? �%s: невозможно определить макÑимальную длину имени файла�%s: невозможно произвеÑти вÑе запрошенные дейÑтвиÑ�%s: ожидаетÑÑ ÑƒÐ½Ð°Ñ€Ð½Ñ‹Ð¹ оператор�%s: ключ %c%s не раÑпознан �%s: ключ --%s не раÑпознан �%s: значение преобразовано не полноÑтью�%s: ошибка запиÑи�%s: запиÑÑŒ завершилаÑÑŒ неудачно�%s:%lu: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока; пропущена Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÐµÐºÑема�%s:%lu: неверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° нулевой длины�%s:%lu ключевое Ñлово %s не раÑпознано�%s}: между «{» и «}» должно быть целое чиÑло�»�ожидаетÑÑ Â«)»�ожидаетÑÑ Â«)», найдено %s�в «-%c» лишние Ñимволы или неверное чиÑло в аргументе: %s�в «--pages=ПЕРВÐЯ_СТР[:ПОСЛЕДÐЯЯ_СТР]» пропущен аргумент�в «-N ÐОМЕР» неверный номер начальной Ñтроки: %s�в «-W ШИРИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñимволов: %s�в «-l ДЛИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñтрок: %s�в «-o ПОЛЕ» неверное Ñмещение: %s�в «-w ШИРИÐÐ_СТРÐÐИЦЫ» неверное чиÑло Ñимволов: %s�(C)�* файловые ÑиÑтемы, которые кÑшируют файлы во временных хранилищах, например клиенты NFS верÑии 3 * Ñжатые файловые ÑиÑтемы �* журналируемые файловые ÑиÑтемы, например которые идут в комплекте AIX и Solaris (и JFS, ReiserFS, XFS, Ext3 и др.) * файловые ÑиÑтемы, которые запиÑывают избыточные данные и ÑохранÑÑŽÑ‚ работоÑпоÑобноÑть, даже еÑли ÑлучаютÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ñ‹Ðµ запиÑи, например файловые ÑиÑтемы, оÑнованные на технологии RAID * файловые ÑиÑтемы, которые Ñоздают Ñнимки ÑоÑтоÑниÑ, например NFS-Ñервер от Network Appliance �, ÑреднÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð½Ð¾Ñть: %.2f�, %g c, %s/c �--%s имеет Ñлишком большой аргумент %s�--context (-Z) работает только Ð´Ð»Ñ Ñдер Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux�--filter не применÑетÑÑ Ðº порциÑм, извлекаемым в stdout�--grouping Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --format�при указании в командной Ñтроке --header игнорируетÑÑ�--padding Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --format�ключ --reflink можно иÑпользовать только Ñ --sparse=auto�--tag не поддерживает режим --text�ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -R --dereference требует указать -H либо -L�-R -h требуют -P�-ef не допуÑкает -l�-nt не допуÑкает -l�-ot не допуÑкает -l�<внутренний>�??? �?????�Прервано�ДоÑтуп: %x Модифицирован: %y Изменён: %z Создан: %w �ДоÑтуп: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �СемейÑтво адреÑов не поддерживаетÑÑ Ð´Ð»Ñ Ñтого имени узла�Сигнал по таймеру�Ð’Ñе запроÑÑ‹ завершены�Буфер аргументов Ñлишком мал�Ðрнольд Ð Ð¾Ð±Ð±Ð¸Ð½Ñ (Arnold Robbins)�ÐÑÑаф Гордон (Assaf Gordon)�ДоÑÑ‚�ДоÑтупно�Ðеправильный ÑиÑтемный вызов�Ðеверное значение Ð´Ð»Ñ ai_flags�Бриан Ð¤Ð¾ÐºÑ (Brian Fox)�Обрыв канала�Ошибка шины�Ð’ÐИМÐÐИЕ: Помните, что shred полагаетÑÑ Ð½Ð° очень важное предположение: что ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема перезапиÑывает файлы «на меÑте». Традиционно Ñто так и делаетÑÑ, но многие Ñовременные файловые ÑиÑтемы не удовлетворÑÑŽÑ‚ Ñтому предположению. Вот примеры файловых ÑиÑтем, на которых shred не Ñффективен или не дает гарантии ÑффективноÑти во вÑех режимах файловой ÑиÑтемы: �КОММЕÐТÐРИЙ�Превышен предел процеÑÑорного времени�Вызывает функцию link Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑылки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ФÐЙЛ2 на ÑущеÑтвующий ФÐЙЛ1. �Вызывает функцию unlink Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ ФÐЙЛÐ. �ВмеÑтимоÑть�Смена ГРУППЫ у указанных ФÐЙЛОВ. При задании --reference, Ñменить группу указанных ФÐЙЛОВ как у ЭФÐЙЛÐ. �Смена РЕЖИМРдоÑтупа к указанным ФÐЙЛÐМ. При задании --reference, уÑтановить режим указанных ФÐЙЛОВ как у ЭФÐЙЛÐ. �Смена владельца и группы указанного ФÐЙЛРна ВЛÐДЕЛЬЦРи/или ГРУППУ. При задании --reference, Ñменить владельца и группу указанных ФÐЙЛОВ на такие же как у ЭФÐЙЛÐ. �МенÑет КОÐТЕКСТ безопаÑноÑти указанных ФÐЙЛОВ. При задании --reference, делает контекÑÑ‚ безопаÑноÑти указанных ФÐЙЛОВ таким же как у ЭФÐЙЛÐ. �Чет Ремей (Chet Ramey)�Потомок завершил работу�Колин Пламб (Colin Plumb)�Сравнивает Ñортированные файлы ФÐЙЛ1 и ФÐЙЛ2 поÑтрочно. �СцеплÑет ФÐЙЛ(Ñ‹) или Ñтандартный ввод и отправлÑет в Ñтандартный вывод. -A, --show-all Ñиноним -vET -b, --number-nonblank нумеровать непуÑтые Ñтроки при выводе -e подавлÑет -n, Ñиноним -vE -E, --show-ends показывать $ в конце каждой Ñтроки -n, --number нумеровать вÑе Ñтроки при выводе -s, --squeeze-blank выводить не более одной пуÑтой Ñтроки при повторе �КонтекÑÑ‚: %C �Возобновление�Преобразует пробелы в ФÐЙЛÐÐ¥ в Ñимволы табулÑции и печатает на Ñтандартный вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Преобразует Ñимволы табулÑции в каждом ФÐЙЛЕ в пробелы и печатает на Ñтандартный вывод. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Копирует ИСТОЧÐИК в ÐÐЗÐÐЧЕÐИЕ, или неÑколько ИСТОЧÐИКОВ в КÐТÐЛОГ. �Копирует файл, преобразует и форматирует в завиÑимоÑти от операндов. bs=ЧИСЛО читать и пиÑать до ЧИСЛРбайт за раз cbs=ЧИСЛО преобразовывать заданное ЧИСЛО байт за раз conv=СПИСОК преобразовывать файл в ÑоответÑтвии Ñо СПИСКОМ Ñимволов, Ñлементы перечиÑлÑÑŽÑ‚ÑÑ Ñ‡ÐµÑ€ÐµÐ· запÑтую count=ЧИСЛО копировать только заданное ЧИСЛО входных блоков ibs=ЧИСЛО Ñчитывать до ЧИСЛРбайт за раз (по умолчанию 512) �Копирует Ñтандартный ввод в каждый ФÐЙЛ, а также в Ñтандартный вывод. -a, --append допиÑать в заданные ФÐЙЛЫ -i, --ignore-interrupts игнорировать Ñигналы Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ �Создаёт временный файл или каталог безопаÑным ÑпоÑобом, и печатает его имÑ. ШÐБЛОРдолжен Ñодержать в поÑледнем компоненте, по крайней мере, 3 «X» подрÑд. ЕÑли ШÐБЛОРне указан, то иÑпользуетÑÑ tmp.XXXXXXXXXX и подразумеваетÑÑ --tmpdir. �Создаёт именованные каналы (FIFO) Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ИМЕÐИ. �Создает КÐТÐЛОГ(и), еÑли он ещё не ÑущеÑтвует. �Создаёт Ñпециальный файл Ñ Ð˜ÐœÐ•ÐЕМ и ТИПОМ. �ДÑвид М. Инат (David M. Ihnat)�ДÑвид Маккензи (David MacKenzie)�ДÑвид МÑдор (David Madore)�УÑтройÑтво: %Dh/%dd Inode: %-10i СÑылки: %-5h Тип уÑтройÑтва: %t,%T �УÑтройÑтво: %Dh/%dd Inode: %-10i СÑылки: %h �ДиагноÑтирует неправильные и непереноÑимые конÑтрукции в ИМЕÐИ файла. -p проверка Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва POSIX-ÑиÑтем -P проверка на пуÑтые имена и начальный «-» --portability проверка Ð´Ð»Ñ Ð²Ñех POSIX-ÑиÑтем (Ñквивалентно -p -P) �Каталог: �Отображает ÑоÑтоÑние файла или файловой ÑиÑтемы. �Выводит текущее Ð²Ñ€ÐµÐ¼Ñ Ð² заданном ФОРМÐТЕ, или изменÑет Ð²Ñ€ÐµÐ¼Ñ Ð² ÑиÑтеме. �Дмитрий Ð’. Левин (Dmitry V. Levin)�СбраÑывает вÑе дополнительные группы, предполагает, что идентификаторы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группы как у заданного ПОЛЬЗОВÐТЕЛЯ (чиÑловой ID или имÑ) и запуÑкает КОМÐÐДУ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÐРГУМЕÐТÐМИ. ЗавершаетÑÑ Ñо ÑтатуÑом 111, еÑли оказалоÑÑŒ невозможно уÑтановить нужные идентификаторы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группы. Ð’ противном Ñлучае возвращаетÑÑ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÐšÐžÐœÐÐДЫ. Эта программа имеет ÑмыÑл только Ð´Ð»Ñ ÑÑƒÐ¿ÐµÑ€Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (UID=0). �Ловушка EMT�ВЫХОД�Диапазоны задаютÑÑ Ñледующим образом: Ð Ð-ный байт, Ñимвол или поле; отÑчитываетÑÑ Ð¾Ñ‚ 1 Ð- от Ð-ного байта, Ñимвола или Ð¿Ð¾Ð»Ñ Ð´Ð¾ конца Ñтроки Ð-М от Ð-ного до М-ного (включительно) байта, Ñимвола или Ð¿Ð¾Ð»Ñ -М от первого до М-ного (включительно) байта, Ñимвола или Ð¿Ð¾Ð»Ñ Ð•Ñли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает СТРОКУ(СТРОКИ) на Ñтандартный вывод. -n не печатать завершающий перевод Ñтроки �Эрик БлÑйк (Eric Blake)�Выходит Ñ ÐºÐ¾Ð´Ð¾Ð¼, указывающим на неудачное завершение.�Выходит Ñ ÑƒÑпешным ÑтатуÑом.�Выходной ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ Ð’Ð«Ð ÐЖЕÐИЕМ. �Ф. Пинард�ПОВРЕЖДÐÐ�FIXME: неизвеÑтен�ФОРМÐТ должен подходить Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ одного аргумента типа «double»; по умолчанию он принимаетÑÑ Ð·Ð° %.PRECf, еÑли ПЕРВЫЙ, ПРИРОСТ и ПОСЛЕДÐИЙ вÑе ÑвлÑÑŽÑ‚ÑÑ Ð´ÐµÑÑтичными чиÑлами Ñ Ñ„Ð¸ÐºÑированной точкой Ñ Ð¼Ð°ÐºÑимальной точноÑтью PREC, и %g в противном Ñлучае. �У файлов-очередей нет оÑновного и второÑтепенного чиÑла уÑтройÑтва.�Превышен предел размера файла�Файлы ÑоздаютÑÑ Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ u+rw, а каталоги Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ u+rwx, Ð¼Ð¸Ð½ÑƒÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ umask. �Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема�Фильтрует Ñовпавшие Ñтроки из ВХОДР(или Ñтандартного ввода), запиÑÑ‹Ð²Ð°Ñ Ð¸Ñ… в ВЫХОД (или Ñтандартный вывод). Без ключей Ñовпавшие Ñтроки объединÑÑŽÑ‚ÑÑ Ñ Ð¿ÐµÑ€Ð²Ñ‹Ð¼ поÑвлением. �Ошибка операции Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой�ÐŸÐ¾Ð»Ð½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð¾Ñтупна по команде: info coreutils '%s invocation' �Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ пары входных Ñтрок Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ общими полÑми выводит Ñтроку на Ñтандартный вывод. По умолчанию общее поле ÑчитаетÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¼, Ð¿Ð¾Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¼Ð¸ Ñимволами. ЕÑли один из ФÐЙЛОВ задан как -, читает Ñтандартный ввод. -a ÐОМЕР также печатать не имеющие пары Ñтроки из файла ÐОМЕР, где ÐОМЕР может быть 1 или 2, которые ÑоответÑтвуют ФÐЙЛУ1 и ФÐЙЛУ2 -e СТРОКРзамещать при выводе пуÑтые Ñтроки указанной СТРОКОЙ �ЗапиÑывает измененные блоки на диÑк, обновлÑет Ñуперблок �Справка по работе Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ GNU: <http://www.gnu.org/gethelp/> �Джузеппе Скривано (Giuseppe Scrivano)�Ð¥. Питер Энвин (H. Peter Anvin)�Обрыв терминальной линии�Возможен в/вывод�ÐЕÐКТИВЕÐ�IСвободно�IИÑпользовано%�IИÑпользовано�Ян Ð›Ð°Ð½Ñ Ð¢ÐµÐ¹Ð»Ð¾Ñ€ (Ian Lance Taylor)�Ðеактивен�ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛРзадают %s. �ЕÑли применимы и перваÑ, и Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ вызова, предполагаетÑÑ Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°, еÑли поÑледний операнд начинаетÑÑ Ð½Ð° + или (еÑли заданы два операнда) на цифру. Операнд СМЕЩЕÐИЕ означает -j СМЕЩЕÐИЕ. МЕТКР— Ñто пÑÐµÐ²Ð´Ð¾Ð°Ð´Ñ€ÐµÑ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ напечатанного байта; она увеличиваетÑÑ Ð² процеÑÑе вывода. ÐŸÑ€ÐµÑ„Ð¸ÐºÑ 0x или 0X задает СМЕЩЕÐИЕ или МЕТКУ как шеÑтнадцатеричные чиÑла, ÑÑƒÑ„Ñ„Ð¸ÐºÑ . — как воÑьмеричные, а ÑÑƒÑ„Ñ„Ð¸ÐºÑ b умножает на 512. �ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½ÑтрукциÑ�Кроме того, резервные копии и удаленные зеркала файловой ÑиÑтемы могут Ñодержать копии файла, которые Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ, и которые позволÑÑ‚ впоÑледÑтвии воÑÑтановить уничтоженный файл. �Ð’ реальной жизни: �Ð’ первой форме ÑоздаётÑÑ ÑÑылка на ЦЕЛЬ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ ИМЕÐЕМ_ССЫЛКИ. Во второй форме ÑоздаётÑÑ ÑÑылка на ЦЕЛЬ в текущем каталоге. Ð’ третьей и четвёртой формах ÑоздаютÑÑ ÑÑылки на каждую ЦЕЛЬ в КÐТÐЛОГЕ. По умолчанию ÑоздаютÑÑ Ð¶Ñ‘Ñткие ÑÑылки, а Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --symbolic — Ñимвольные. По умолчанию, ÐºÐ°Ð¶Ð´Ð°Ñ Ñ†ÐµÐ»ÑŒ (Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑылки) не должна ÑущеÑтвовать. При Ñоздании жёÑтких ÑÑылок ÐºÐ°Ð¶Ð´Ð°Ñ Ð¦Ð•Ð›Ð¬ должна ÑущеÑтвовать. Символьные ÑÑылки могут Ñодержать произвольный текÑÑ‚; при разыменовании отноÑÐ¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑÑылка интерпретируетÑÑ Ð¾Ñ‚Ð½Ð¾Ñительно родительÑкого каталога. �Ð’ Ñлучае файловых ÑиÑтем ext3 упомÑнутое выше ограничение верно (и shred, Ñледовательно, не так Ñффективен), только в режиме data=journal, когда кроме метаданных журналируютÑÑ Ñ‚Ð°ÐºÐ¶Ðµ и Ñами данные файлов. Ð’ режимах data=ordered (по умолчанию) и data=writeback программа shred работает как обычно. Режимы Ð¶ÑƒÑ€Ð½Ð°Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ext3 можно изменить, добавив ключ data=что-то к параметрам Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð¹ файловой ÑиÑтемы в файле /etc/fstab, как документировано в Ñтранице man Ð´Ð»Ñ mount (man mount). �БеÑконечноÑть�БеÑконечноÑть�Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸�Iнодов�Прерывание�Прервано по Ñигналу�ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка�Ðеверное Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа Ñимволов�Ðеверный Ñимвол Ñортировки�Ðеверное Ñодержимое \{\}�Ðеверное предшеÑтвующее регулÑрное выражение�Ðеверный конец диапазона�ÐедопуÑтимое регулÑрное выражение�Ð”Ð¶ÐµÐ¹Ð¼Ñ Ð¯Ð½Ð³Ð¼ÐµÐ½ (James Youngman)�Джей Лепро (Jay Lepreau)�Джим Кингдон (Jim Kingdon)�Джим Мейеринг (Jim Meyering)�Джозеф ÐÑ€Ñено (Joseph Arceneaux)�Каве Гази (Kaveh Ghazi)�Кайван Ðгхаипур (Kayvan Aghaiepour)�Кевин БраунÑдорф (Kevin Braunsdorf)�Уничтожение�ЛИÐИЯ�ВХОД�Выдаёт информацию о ФÐЙЛÐÐ¥ (по умолчанию о текущем каталоге). Сортирует в алфавитном порÑдке, еÑли не задан ни --sort, ни один из ключей -cftuvSUX. �ИмÑ�РегиÑтрационное имÑ: �Ðе пройден оÑновной теÑÑ‚ ЛукаÑа. Этого не должно ÑлучитьÑÑ�Марк ÐšÐ¸Ñ‚Ñ‚ÐµÐ½Ð¸Ñ (Mark Kettenis)�МÑттью Бредберн (Matthew Bradburn)�Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти�ПамÑть иÑчерпана�Майкл МеÑÐºÐµÑ (Michael Meskes)�Майкл Стоун (Michael Stone)�Майк Гертель (Mike Haertel)�Майк Паркер (Mike Parker)�Cмонтировано в�ИМЯ�ИмÑ�ÐеизвеÑтное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ ÑервиÑ�ÐÐ¸Ð»ÑŒÑ ÐœÐµÐ»Ð»ÐµÑ€ (Niels Moller)�С данным именем узла не аÑÑоциирован адреÑ�Ðет ÑоответÑтвиÑ�Ðет предшеÑтвующего регулÑрного выражениÑ�ÐевоÑÑтановимый Ñбой Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½�ЦЕЛ�При удалении без ÑƒÐ¿Ð»Ð¾Ñ‚Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¾Ð² можно задать две только одну таблицу.�Ключи, задающие порÑдок: �Другие ключи: �Печатает перемешанный алфавитный указатель Ñлов входных файлов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑÑ‚. �Выдает команды Ð´Ð»Ñ ÑƒÑтановки переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS. Задать формат вывода: -b, --sh, --bourne-shell вывеÑти код Ð´Ð»Ñ ÑƒÑтановки LS_COLORS в Bourne shell -c, --csh, --c-shell вывеÑти код Ð´Ð»Ñ ÑƒÑтановки LS_COLORS в C shell -p, --print-database вывеÑти уÑтановки по умолчанию --help показать помощь и выйти --version вывеÑти информацию о верÑии и выйти �Выводит каждое ИМЯ, удалÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ у поÑледней коÑой черты; еÑли ИМЯ не Ñодержит коÑой черты, выводит «.» (то еÑть текущий каталог). �Выводит чаÑти ФÐЙЛРфикÑированного размера в файлы ПРЕФИКСaa, ПРЕФИКСab, …; по умолчанию размер чаÑти равен 1000 Ñтрок, а ПРЕФИКС равен «x». ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Выводит чаÑти ФÐЙЛÐ, разделённые ОБРÐЗЦОМ (ОБРÐЗЦÐМИ), в файлы «xx00», «xx01», … и печатает чиÑло байт в каждой чаÑти на Ñтандартный вывод. �ВывеÑти Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ в форме, пригодной Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñ ÑценариÑÑ… командной Ñтроки. �Выводит ÑпиÑок подключенных пользователей в ÑоответÑтвии Ñ Ð¤ÐЙЛОМ. ЕÑли ФÐЙЛ не задан, иÑпользуетÑÑ %s. ЧаÑто в качеÑтве ФÐЙЛРзадают %s. �ПерепиÑывает неÑколько раз указанные файлы Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñделать более Ñложным воÑÑтановление даже Ñ Ð¸Ñпользованием очень дорогого оборудованиÑ. �PID�Упакован %s �Упакован %s (%s) �Падрайг БрÑди (Padraig Brady)�Разбивает ФÐЙЛ(Ñ‹) на Ñтраницы или колонки Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸. �Ðеправильно закодирована Ñтрока параметров�Поль Эггерт (Paul Eggert)�Поль Рубин (Paul Rubin)�Пит ТерМаат (Pete TerMaat)�План: �Отказ питаниÑ�Преждевременный конец регулÑрного выражениÑ�Печатает ÐРГУМЕÐТ(Ñ‹) в заданном ФОРМÐТЕ, или выполнÑет дейÑтвие ÑоглаÑно ключу: �Печатает контрольную Ñумму (CRC) и чиÑло байт Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ. �Выводит ИМЯ без предшеÑтвующих названий каталогов. ЕÑли указано, удалÑет также завершающий СУФФИКС. �Печатает определенные ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑиÑтеме. ЕÑли КЛЮЧ не задан, подразумеваетÑÑ -s. -a, --all напечатать вÑÑŽ информацию, в Ñледующем порÑдке, кроме -p и -i, еÑли они неизвеÑтны: -s, --kernel-name напечатать Ð¸Ð¼Ñ Ñдра -n, --nodename напечатать Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹ в Ñети -r, --release напечатать номер выпуÑка операционной ÑиÑтемы �Печатает контрольную Ñумму и чиÑло блоков Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛÐ. -r иÑпользовать алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм как в BSD, размер блока 1K -s, --sysv иÑпользовать алгоритм вычиÑÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм как в System V, размер блока 512 байт �ВывеÑти данные о членÑтве в группах по каждому ИМЕÐИ ПОЛЬЗОВÐТЕЛЯ или, еÑли ИМЯ не задано, то по текущему процеÑÑу (может различатьÑÑ, еÑли база данных групп была изменена). �Печатать информацию о пользователÑÑ…, вошедших в ÑиÑтему. �Печатает машинную архитектуру. �Печатает количеÑтво новых Ñтрок, Ñлов и байт Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛРи итоговую Ñтроку, еÑли было задано неÑколько ФÐЙЛОВ. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. Словом ÑчитаетÑÑ Ð¿Ð¾ÑледовательноÑть Ñимволов ненулевой длины, Ð¾Ñ‚Ð´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¼ Ñимволом. Показанными ниже параметрами можно задать выводимый Ñчётчик; они должны вÑегда указыватьÑÑ Ð² Ñледующем порÑдке: новых Ñтрок, Ñлов, Ñимволов, байт, макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ñтроки. -c, --bytes напечатать количеÑтво байт -m, --chars напечатать количеÑтво Ñимволов -l, --lines напечатать количеÑтво новых Ñтрок �Печатает чиÑла от ПЕРВОГО до ПОСЛЕДÐЕГО Ñ ÑˆÐ°Ð³Ð¾Ð¼ ПРИРОСТ. �Печатает или изменÑет наÑтройки терминала. �Печатает выбранные чаÑти Ñтрок из каждого ФÐЙЛРна Ñтандартный вывод. �Выводит текущее времÑ, общее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð¾Ð¹ работы ÑиÑтемы, чиÑло пользователей в ÑиÑтеме и Ñреднее чиÑло заданий в очереди запуÑка за поÑледние 1, 5 и 15 минут.�Печатает Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°, приÑоединенного к Ñтандартному вводу. -s, --silent, --quiet не печатать, только вернуть выходное значение �Печатает первые 10 Ñтрок каждого ФÐЙЛРна Ñтандартный вывод. ЕÑли задано неÑколько ФÐЙЛОВ, Ñначала печатает заголовок Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает полное Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога. �Печатает поÑледние %d Ñтрок каждого из ФÐЙЛОВ на Ñтандартный вывод. ЕÑли задано неÑколько ФÐЙЛОВ, Ñначала печатает заголовок Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ пользователÑ. �Печатает чиÑло обрабатывающий Ñлементов, доÑтупных текущему процеÑÑу, которое может быть меньше чиÑла работающих процеÑÑоров �Печатает проÑтые множители Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ заданного целого ЧИСЛÐ. ЕÑли аргументы не заданы, читает чиÑла Ñо Ñтандартного ввода. �Выводит определÑемое абÑолютное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°; вÑе компоненты кроме поÑледнего должны ÑущеÑтвовать �Ðапечатать Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, ÑоответÑтвующее текущему Ñффективному id пользователÑ. Ðналогично вызову id -un. �Печатает информацию о пользователе и группе Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ПОЛЬЗОВÐТЕЛЯ, или о текущем пользователе (еÑли ничего не указано). -a игнорируетÑÑ, введено только Ð´Ð»Ñ ÑовмеÑтимоÑти -Z, --context вывеÑти только контекÑÑ‚ безопаÑноÑти текущего Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -g, --group печатать только Ñффективный ID группы -G, --groups печатать вÑе ID групп -n, --name печатать Ð¸Ð¼Ñ Ð²Ð¼ÐµÑто номера, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -ugG -r, --real печатать дейÑтвительные, а не Ñффективные ID, Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ -ugG -u, --user печатать только Ñффективный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ �Печатает значение Ñимвольной ÑÑылки или каноничеÑкое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° �Идёт обработка запроÑа�Ð’Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñтекло�Проект: �К. ФрÑнк КÑи (Q. Frank Xia)�Ðварийное прерывание�РÑнди Смит (Randy Smith)�Сигнал реального времени %d�Переформатирует ЧИСЛО(а), читаемое из Ñтандартного ввода, еÑли оно не указано в командной Ñтроке. �Переформатирует каждый абзац в ФÐЙЛЕ(ах) и печатает на Ñтандартный вывод. Ключ -ЦИФРЫ -- ÑÐ¾ÐºÑ€Ð°Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° --width=ЦИФРЫ. �РегулÑрное выражение Ñлишком велико�УдалÑет (ÑÑылки на) ФÐЙЛ(Ñ‹). -f, --force игнорировать неÑущеÑтвующие файлы и аргументы, ни о чем не Ñпрашивать -i запрашивать подтверждение перед каждым удалением �УдалÑет КÐТÐЛОГ(и), еÑли они пуÑты. --ignore-fail-on-non-empty игнорировать вÑе ошибки, которые возникают из-за того, что каталог не пуÑÑ‚ �Переименовывает ИСТОЧÐИК в ÐÐЗÐÐЧЕÐИЕ, или перемещает ИСТОЧÐИК(и) в КÐТÐЛОГ. �Ðепрерывно печатает заданную СТРОКУ(и) или, еÑли СТРОКРне задана, то «y». �Об ошибках в %s Ñообщайте по адреÑу %s �Об ошибках в переводе Ñообщений «%s» Ñообщайте по адреÑу <gnu@mx.ru> �Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‘Ð½�Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ отменён�РеÑÑƒÑ€Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ñн�Ричард М. Столлман (Richard M. Stallman)�Ричард Млинарик (Richard Mlynarik)�Роланд Хьюбнер (Roland Huebner)�Роланд МакГрат (Roland McGrath)�РоÑÑ ÐŸÐ°Ñ‚ÐµÑ€Ñон (Ross Paterson)�ЗапуÑкает КОМÐÐДУ Ñ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ñ‹Ð¼ значением nice, что влиÑет на приоритет при планировании. ЕÑли КОМÐÐДРне задана, печатает текущее значение nice. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ nice лежат в диапазоне от %d (наибольший приоритет) до %d (наименьший). �ВыполнÑет КОМÐÐДУ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ корневым каталогом. �ВыполнÑет КОМÐÐДУ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ñигналы обрыва терминальной линии. �ЗапуÑкает КОМÐÐДУ Ñ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ операциÑми буферизации Ð´Ð»Ñ Ñтандартных потоков. �ЗапуÑкает программу в другом контекÑте безопаÑноÑти. ЕÑли не указана КОМÐÐДРили КОÐТЕКСТ, то выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ контекÑÑ‚ безопаÑноÑти. �РаÑÑел Кокер (Russell Coker)�Скотт Бертрам (Scott Bartram)�Скот Миллер (Scott Miller)�Ðарушение ÑегментированиÑ�ПоÑылает процеÑÑам Ñигналы или показывает ÑпиÑок Ñигналов. �Servname не поддерживаетÑÑ Ð´Ð»Ñ ai_socktype�Чтобы обойти Ñту проблему, уÑтановите LC_ALL='C'.�ПриÑваивает каждому ИМЕÐИ ÑоответÑтвующее ЗÐÐЧЕÐИЕ в окружении и запуÑкает КОМÐÐДУ. �Оболочка: �Показывает ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ файловой ÑиÑтеме, на которой раÑположен каждый из ФÐЙЛОВ, или, по умолчанию, обо вÑех файловых ÑиÑтемах. �Урезает или увеличивает размер каждого ФÐЙЛРдо заданного размера ЕÑли ФÐЙЛ не ÑущеÑтвует, то он ÑоздаётÑÑ. ЕÑли ФÐЙЛ больше заданного размера, вÑе лишние данные будут потерÑны. ЕÑли ФÐЙЛ короче, то он раÑширÑетÑÑ, и Ñто меÑто читаетÑÑ ÐºÐ°Ðº нулевые байты. �Саймон ДжозефÑон (Simon Josefsson)�Размер�Ð”Ð»Ñ Ñпециального файла должны быть указаны оÑновной и второÑтепенный номера уÑтройÑтва.�Ошибка работы Ñо Ñтеком�ЗапуÑкает КОМÐÐДУ и завершает её по иÑтечении времени, задаваемого ПРОДОЛЖИТЕЛЬÐОСТЬЮ. �ОÑтанов�ОÑтанов (Ñигнал)�ОÑтанов (ввод Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°)�ОÑтанов (вывод Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°)�Стюарт Кемп (Stuart Kemp)�УÑпех�Суммирует иÑпользование диÑкового проÑтранÑтва каждого ФÐЙЛÐ, Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸. �СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°�ВРЕМЯ�Временный Ñбой Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½�Завершение�ПоÑле «%» могут идти Ñледующие необÑзательные флаги: - (дефиÑ) не дополнÑть Ñто поле _ (подчёркивание) дополнÑть пробелами 0 (ноль) дополнÑть нулÑми ^ иÑпользовать верхний региÑтр, еÑли возможно # иÑпользовать противоположный региÑтр, еÑли возможно �СравнивалиÑÑŒ Ñтроки %s и %s.�Торбьёрн Гронлунд (Torbjorn Granlund)�Прерывание на контрольной точке�ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце выражениÑ�Преобразует, уплотнÑет и/или удалÑет Ñимволы Ñо Ñтандартного ввода и печатает на Ñтандартный вывод. -c, -C, --complement Ñначала получить дополнение ТÐБЛИЦЫ1 -d, --delete удалÑть Ñимволы из ТÐБЛИЦЫ1, не преобразовывать -s, --squeeze-repeats замещать поÑледовательноÑти повторÑющихÑÑ Ñимволов из перечиÑленных в ТÐБЛИЦЕ1 на единÑтвенный такой Ñимвол -t, --truncate-set1 Ñначала Ñократить ТÐБЛИЦУ1 до размера ТÐБЛИЦЫ2 �По команде «%s --help» можно получить дополнительную информацию. �Попробуйте «%s ./%s», чтобы удалить файл %s. �При удалении и уплотнении повторов должны быть заданы две Ñтроки.�При преобразовании необходимо задать две Ñтроки.�Тип�Ульрих Дреппер (Ulrich Drepper)�ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°�ÐеизвеÑтный Ñигнал %d�ÐеизвеÑÑ‚Ð½Ð°Ñ ÑиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°�ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ( или \(�ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ) или \)�ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ [ или [^�ÐÐµÐ¿Ð°Ñ€Ð½Ð°Ñ \{�УÑтанавливает временные метки доÑтупа и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ФÐЙЛРв текущее времÑ. ЕÑли ФÐЙЛ не ÑущеÑтвует, то ÑоздаётÑÑ Ð¿ÑƒÑтой, еÑли не указаны ключи -c или -h. ЕÑли Ñтрока аргумента ФÐЙЛ равна -, то Ñто обрабатываетÑÑ Ñпециальным образом и вызывает изменение временных меток файла, ÑвÑзанного Ñо Ñтандартным выводом. �Ð¡Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²/вывода�ИÑпользование: %s �ИÑпользование: %s КОМÐÐДР[ÐРГУМЕÐТ]… или: %s КЛЮЧ �ИÑпользование: %s КОÐТЕКСТ КОМÐÐДР[аргументы] или: %s [ -c ] [-u ПОЛЬЗ.] [-r РОЛЬ] [-t ТИП] [-l ДИÐПÐЗОÐ] КОМÐÐДР[арг.] �ИÑпользование: %s ВЫРÐЖЕÐИЕ или: %s КЛЮЧ �ИÑпользование: %s ФÐЙЛ или: %s КЛЮЧ �ИÑпользование: %s ФÐЙЛ1 ФÐЙЛ2 или: %s КЛЮЧ �ИÑпользование: %s ФОРМÐТ [ÐРГУМЕÐТ]… или: %s КЛЮЧ �ИÑпользование: %s ИМЯ [СУФФИКС] или: %s КЛЮЧ… ИМЯ… �ИÑпользование: %s ЧИСЛО[СУФФИКС]… или: %s КЛЮЧ ПриоÑтанавливает выполнение на заданное ЧИСЛО Ñекунд. СУФФИКС может принимать значение «s», что означает Ñекунды (применÑетÑÑ Ð¿Ð¾ умолчанию), «m» — минуты, «h» — чаÑÑ‹ и «d» — дни. Ð’ отличие от других реализаций, которые требуют, чтобы ЧИСЛО было целым, здеÑÑŒ оно может быть произвольным чиÑлом Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ запÑтой. ЕÑли задано неÑколько аргументов, приоÑтанавливает на период, равный Ñумме их значений. �ИÑпользование: %s КЛЮЧ… КОМÐÐДР�ИÑпользование: %s КЛЮЧ… ФÐЙЛ… �ИÑпользование: %s КЛЮЧ… [ФÐЙЛ]… �ИÑпользование: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [ÐÐСТРОЙКÐ]… или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all] или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save] �ИÑпользование: %s [-ЦИФРЫ] [КЛЮЧ]… [ФÐЙЛ]… �ИÑпользование: %s [-s СИГÐÐЛ | -СИГÐÐЛ] PID… или: %s -l [СИГÐÐЛ]… или: %s -t [СИГÐÐЛ]… �ИÑпользование: %s [ФÐЙЛ]… или: %s КЛЮЧ �ИÑпользование: %s [ИМЯ] или: %s КЛЮЧ Печатает или уÑтанавливает Ð¸Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑиÑтемы. �ИÑпользование: %s [ЧИСЛО]… или: %s КЛЮЧ �ИÑпользование: %s [ОПЕРÐÐД]… или: %s ПÐРÐМЕТР �ИÑпользование: %s [КЛЮЧ] �ИÑпользование: %s [КЛЮЧ] Печатает чиÑловой идентификатор (шеÑтнадцатеричный) текущей машины. �ИÑпользование: %s [КЛЮЧ] ПРОДОЛЖИТЕЛЬÐОСТЬ КОМÐÐДР[ÐРГ]… или: %s [КЛЮЧ] �ИÑпользование: %s [КЛЮЧ] ИМЯ… �ИÑпользование: %s [КЛЮЧ] ÐОВЫЙКОРЕÐЬ [КОМÐÐДР[ÐРГ]…] или: %s КЛЮЧ �ИÑпользование: %s [КЛЮЧ] [КОМÐÐДР[ÐРГ]…] �ИÑпользование: %s [КЛЮЧ] [ФÐЙЛ] Печатает полноÑтью Ñортированный ÑпиÑок, ÑоответÑтвующий чаÑтичной Ñортировке в заданном ФÐЙЛЕ. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �ИÑпользование: %s [КЛЮЧ]… �ИÑпользование: %s [КЛЮЧ]… КОÐТЕКСТ ФÐЙЛ… или: %s [КЛЮЧ]… [-u ПОЛЬЗ-ЛЬ] [-r РОЛЬ] [-l ДИÐПÐЗОÐ] [-t ТИП] ФÐЙЛ… или: %s [КЛЮЧ]… --reference=ЭФÐЙЛ ФÐЙЛ… �ИÑпользование: %s [КЛЮЧ]… КÐТÐЛОГ… �ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ ОБРÐЗЕЦ… �ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ… �ИÑпользование: %s [КЛЮЧ]… ФÐЙЛ1 ФÐЙЛ2 �ИÑпользование: %s [КЛЮЧ]… ГРУППРФÐЙЛ… или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ… �ИÑпользование: %s [КЛЮЧ]… ПОСЛЕДÐИЙ или: %s [КЛЮЧ]… ПЕРВЫЙ ПОСЛЕДÐИЙ или: %s [КЛЮЧ]… ПЕРВЫЙ ПРИРОСТ ПОСЛЕДÐИЙ �ИÑпользование: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]… ФÐЙЛ или: %s [КЛЮЧ]… ВОСЬМ-РЕЖИМ ФÐЙЛ… или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ… �ИÑпользование: %s [КЛЮЧ]… ИМЯ ТИП [ОСÐОВÐОЙ ВТОРОСТЕПЕÐÐЫЙ] �ИÑпользование: %s [КЛЮЧ]… ИМЯ… �ИÑпользование: %s [КЛЮЧ]… ÐÐБОР1 [ÐÐБОР2] �ИÑпользование: %s [КЛЮЧ]… [ ФÐЙЛ | ÐРГ1 ÐРГ2] �ИÑпользование: %s [КЛЮЧ]… [+ФОРМÐТ] или: %s [-u|--utc|--universal] [ММДДччмм[[Ð’Ð’]ГГ][.ÑÑ]] �ИÑпользование: %s [КЛЮЧ]… [-T] ИСТОЧÐИК ÐÐЗÐÐЧЕÐИЕ или: %s [КЛЮЧ]… ИСТОЧÐИК… КÐТÐЛОГ или: %s [КЛЮЧ]… -t КÐТÐЛОГ ИСТОЧÐИК… �ИÑпользование: %s [КЛЮЧ]… [-T] ИСТОЧÐИК ÐÐЗÐÐЧЕÐИЕ или: %s [КЛЮЧ]… ИСТОЧÐИК… КÐТÐЛОГ или: %s [КЛЮЧ]… -t КÐТÐЛОГ ИСТОЧÐИК… или: %s [КЛЮЧ]… -d КÐТÐЛОГ… �ИÑпользование: %s [КЛЮЧ]… [-T] ЦЕЛЬ ИМЯ_ССЫЛКИ (1-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°) или: %s [КЛЮЧ]… ЦЕЛЬ (2-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°) или: %s [КЛЮЧ]… ЦЕЛЬ... КÐТÐЛОГ (3-Ñ Ñ„Ð¾Ñ€Ð¼Ð°) или: %s [КЛЮЧ]… -t КÐТÐЛОГ ЦЕЛЬ… (4-Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°) �ИÑпользование: %s [КЛЮЧ]… [-] [ИМЯ=ЗÐÐЧЕÐИЕ]… [КОМÐÐДР[ÐРГ]…] �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ] �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ] или: %s -e [КЛЮЧ]… [ÐРГ]… или: %s -l ОТ-ДО [КЛЮЧ]… �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ] Кодирует или декодирует ФÐЙЛ или Ñтандартный ввод на Ñтандартный вывод в/из base64. �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]… �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]… или: %s [-abcdfilosx]… [ФÐЙЛ] [[+]СМЕЩЕÐИЕ[.][b]] или: %s --traditional [КЛЮЧ]… [ФÐЙЛ] [[+]СМЕЩЕÐИЕ[.][b] [+][МЕТКÐ][.][b]] �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]… или: %s [КЛЮЧ]… --files0-from=Ф �ИÑпользование: %s [КЛЮЧ]… [ФÐЙЛ]… Печатает или проверÑет контрольные Ñуммы %s (%d-битные). ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �ИÑпользование: %s [КЛЮЧ]… [ВХОД [ВЫХОД]] �ИÑпользование: %s [КЛЮЧ]… [ВВОД [ПРЕФИКС]] �ИÑпользование: %s [КЛЮЧ]… [ВХОД]… (без -G) или: %s -G [КЛЮЧ]… [ВХОД [ВЫХОД]] �ИÑпользование: %s [КЛЮЧ]… [ЧИСЛО]… �ИÑпользование: %s [КЛЮЧ]… [ВЛÐДЕЛЕЦ][:[ГРУППÐ]] ФÐЙЛ… или: %s [КЛЮЧ]… --reference=ОФÐЙЛ ФÐЙЛ… �ИÑпользование: %s [КЛЮЧ]… [ШÐБЛОÐ] �ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ] �ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ]… �ИÑпользование: %s [КЛЮЧ]… [ПОЛЬЗОВÐТЕЛЬ]… �ИÑпользование: %s [КЛЮЧ]… [ПЕРЕМЕÐÐÐЯ]… Печатает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… ПЕРЕМЕÐÐЫХ окружениÑ. ЕÑли ПЕРЕМЕÐÐÐЯ не задана, то печатаютÑÑ Ð²Ñе пары Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ â€” значение. �ИÑпользование: %s [КОРОТКИЙ-КЛЮЧ]… ИМЯ_ПОЛЬЗОВÐТЕЛЯ КОМÐÐДР[ÐРГУМЕÐТ]… или: %s ДЛИÐÐЫЙ-КЛЮЧ �ИÑпользование: %s [КОРОТКИЙ-КЛЮЧ]… [СТРОКÐ]… или: %s ДЛИÐÐЫЙ-КЛЮЧ �ИÑпользование: %s [СТРОКÐ]… или: %s КЛЮЧ �ИÑпользование: %s [ игнорируемые аргументы командной Ñтроки ] или: %s КЛЮЧ �ИÑпользование: test ВЫРÐЖЕÐИЕ или: test или: [ ВЫРÐЖЕÐИЕ ] или: [ ] или: [ КЛЮЧ �ИÑпользовано%�ИÑпользовано�ОпределÑемый пользователем Ñигнал 1�ОпределÑемый пользователем Ñигнал 2�ДопуÑтимые аргументы:�ДопуÑтимые аргументы: �ДопуÑтимые форматные поÑледовательноÑти Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… ÑиÑтем: %a количеÑтво Ñвободных блоков, доÑтупных Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %b общее количеÑтво блоков данных в файловой ÑиÑтеме %c общее количеÑтво файловых нод в файловой ÑиÑтеме %d количеÑтво Ñвободных файловых нод в файловой ÑиÑтеме %f количеÑтво Ñвободных блоков в файловой ÑиÑтеме �Виртуальное Ð²Ñ€ÐµÐ¼Ñ Ð¸Ñтекло�ПРЕДУПРЕЖДЕÐИЕ: ЦикличеÑÐºÐ°Ñ Ñтруктура каталога. Скорее вÑего, Ñто означает, что ваша Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема повреждена. УВЕДОМИТЕ Ð’ÐШЕГО СИСТЕМÐОГО ÐДМИÐИСТРÐТОРÐ. Следующий каталог ÑвлÑетÑÑ Ñ‡Ð°Ñтью цикла: %s �ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --context (-Z); Ñдро без поддержки SELinux�ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --preserve-context; Ñдро без поддержки SELinux�ПРЕДУПРЕЖДЕÐИЕ: игнорируетÑÑ ÐºÐ»ÑŽÑ‡ --strip-program, так как не указан ключ -s�Предупреждение: �Когда�Где�Окно изменено�С ключом --follow (-f), tail по умолчанию Ñледует за деÑкриптором файла, что означает, что даже еÑли файл переименован, tail будет и далее Ñледить за его концом. Это поведение, принимаемое по умолчанию, нежелательно, еÑли вы на Ñамом деле хотите Ñледить за именем файла, а не за деÑкриптором (пример -- Ñдвиг протокольных файлов). Ð’ таком Ñлучае иÑпользуйте --follow=name. Это заÑтавит tail Ñледовать за указанным файлом, повторно Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°Ñ ÐµÐ³Ð¾ периодичеÑки, чтобы узнать, не был ли он удален и заново Ñоздан какой-то другой программой. �Разбивает Ñтроки в ФÐЙЛЕ(ах) (по умолчанию читает Ñтандартный ввод) и печатает на Ñтандартный вывод. �Печатает Ñлучайную переÑтановку входных Ñтрок на Ñтандартный вывод. �Печатает ФÐЙЛЫ на Ñтандартный вывод, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð¿Ð¾Ñледней Ñтроки. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает каждый ФÐЙЛ на Ñтандартный вывод, добавлÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñтрок. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает на Ñтандартный вывод Ñтроки, ÑоÑтавленные из ÑоответÑтвующих Ñтрок входных ФÐЙЛОВ, разделённых табулÑцией. ЕÑли ФÐЙЛ не задан или задан как -, читает Ñтандартный ввод. �Печатает Ñортированное ÑлиÑние вÑех ФÐЙЛ(ов) на Ñтандартный вывод. �Ðвторы программы -- %s и %s. �Ðвторы программы -- %s, %s, %s, %s, %s, %s, %s, %s, %s и другие. �Ðвторы программы -- %s, %s, %s, %s, %s, %s, %s, %s и %s. �Ðвторы программы -- %s, %s, %s, %s, %s, %s, %s и %s. �Ðвторы программы -- %s, %s, %s, %s, %s, %s и %s. �Ðвторы программы -- %s, %s, %s, %s, %s и %s. �Ðвторы программы -- %s, %s, %s, %s и %s. �Ðвторы программы -- %s, %s, %s и %s. �Ðвторы программы -- %s, %s и %s. �Ðвтор программы -- %s. �выражение [=c=] не может быть иÑпользовано в ТÐБЛИЦЕ2 при преобразовании�^ не найдено Ñовпадений Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ �^[ÐнNn]�^[ДдYy]�_open_osfhandle завершилаÑÑŒ неудачно�«�еÑли задана поправка, должна быть указана команда�ai_family не поддерживаетÑÑ�ai_socktype не поддерживаетÑÑ�неоднозначный аргумент %s Ð´Ð»Ñ %s�разделитель Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных можно задавать только при обработке полей�вывод добавлÑетÑÑ Ð² %s�Ñохранение запаÑной копии %s уничтожит оригинал; %s не Ñкопирован�Ñохранение запаÑной копии %s уничтожит оригинал; %s не перенеÑён�тип резервной копии�блочный Ñпециальный файл�блочные Ñпециальные файлы не поддерживаютÑÑ�блоков�оба файла не могут быть Ñтандартным вводом�байтовое Ñмещение %s Ñлишком велико�не удалоÑÑŒ применить чаÑтичный контекÑÑ‚ к не помеченному файлу %s�не удалоÑÑŒ получить контекÑÑ‚ процеÑÑа�невозможно получить доÑтуп к %s�невозможно Ñоздать резервную копию Ð´Ð»Ñ %s�невозможно одновременно подводить итог и показывать вÑе Ñлементы�невозможно изменить владельца %s�невозможно изменить права доÑтупа %s�не удалоÑÑŒ Ñменить корневой каталог на %s�невозможно Ñменить каталог на %s�не удалоÑÑŒ перейти в корневой каталог�Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать --target-directory (-t) и --no-target-directory (-T)�Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать --target-directory и --no-target-directory�Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать ключи -e и -i�Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать любые два из {ascii,ebcdic,ibm}�Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать block и unblock�Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать direct и nocache�Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать excl и nocreat�Ð½ÐµÐ»ÑŒÐ·Ñ Ñовмещать lcase и ucase�Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать ключи режима и --reference�Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñть Ñигнал Ñ -l или -t�невозможно Ñравнить имена файлов %s и %s�невозможно преобразовать U+%04X к локальной кодировке�невозможно преобразовать U+%04X к локальной кодировке: %s�невозможно Ñкопировать каталог %s в Ñамого ÑебÑ, %s�невозможно Ñкопировать цикличеÑкую Ñимвольную ÑÑылку %s�невозможно Ñоздать каталог %s�невозможно Ñоздать очередь %s�невозможно Ñоздать жёÑткую ÑÑылку %s на %s�невозможно Ñоздать ÑÑылку %s на %s�не удалоÑÑŒ Ñоздать канал�невозможно Ñоздать обычный файл %s�невозможно Ñоздать Ñпециальный файл %s�невозможно Ñоздать Ñимвольную ÑÑылку %s�невозможно Ñоздать Ñимвольную ÑÑылку %s на %s�невозможно Ñоздать временный файл в %s�невозможно перейти по Ñимвольной ÑÑылке %s�невозможно определить уÑтройÑтво и inode Ð´Ð»Ñ %s�невозможно определить Ð¸Ð¼Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹�невозможно определить раÑположение %s, возвращаемÑÑ Ðº методу опроÑом�Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ --relative без --symbolic�невозможно выполнить ioctl Ð´Ð»Ñ %s�невозможно определить Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð´Ð»Ñ ID %lu�невозможно определить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ID %s�невозможно Ñледовать за %s по имени�невозможно уÑтановить контекÑÑ‚ цели в %s и Ñохранить его�невозможно выполнить fstat Ð´Ð»Ñ %s�не удалоÑÑŒ получить текущий каталог�невозможно получить Ñффективный GID�невозможно получить Ñффективный UID�невозможно узнать значение nice�невозможно получить реальный GID�невозможно получить реальный UID�невозможно узнать название ÑиÑтемы�невозможно получить размер %s�невозможно выполнить lseek Ð´Ð»Ñ %s�невозможно Ñоздать жёÑткую и Ñимвольную ÑÑылку одновременно�невозможно Ñоздать каталог %s�невозможно перемеÑтить %s в %s�невозможно перенеÑти %s в Ñвой ÑобÑтвенный подкаталог, %s�невозможно переименовать каталог в файл, не ÑвлÑющийÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼: %s -> %s�невозможно открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�невозможно открыть %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи�невозможно открыть каталог %s�невозможно обработать повиÑшую Ñимвольную ÑÑылку %s�невозможно перезапиÑать каталог %s файлом, не ÑвлÑющимÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼�невозможно перезапиÑать поверх файла %s, не ÑвлÑющегоÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼, каталог %s�не удалоÑÑŒ выполнить форматированный вывод�невозможно Ñохранить раÑширенные атрибуты; cp Ñобрана без поддержки xattr�невозможно Ñохранить контекÑÑ‚ безопаÑноÑти без Ñдра Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ SELinux�невозможно печатать «только» более одного выбора�невозможно напечатать только имена или дейÑтвительные ID в формате по умолчанию�невозможно напечатать контекÑÑ‚ безопаÑноÑти, еÑли указан пользователь�не удалоÑÑŒ прочитать�невозможно прочитать каталог %s�невозможно прочитать имена файлов из %s�невозможно Ñчитать информацию файловой ÑиÑтемы Ð´Ð»Ñ %s�невозможно прочитать таймер реального времени�невозможно Ñчитать Ñимвольную ÑÑылку %s�не удалоÑÑŒ прочитать таблицу Ñмонтированных файловых ÑиÑтем�невозможно удалить %s�невозможно удалить каталог: %s�невозможно перемеÑтить указатель файла Ð´Ð»Ñ %s�не удалоÑÑŒ воÑÑтановить fd %d: dup2 завершилаÑÑŒ неудачно�невозможно запуÑтить %s�невозможно уÑтановить %s�невозможно уÑтановить дату�невозможно уÑтановить идентификатор группы равным %lu�невозможно уÑтановить оÑновное Ð¸Ð¼Ñ -- Ñта ÑиÑтема не обладает такой ÑпоÑобноÑтью�невозможно уÑтановить Ð¸Ð¼Ñ Ð² значение %s�невозможно уÑтановить значение nice�невозможно уÑтановить временные отметки Ð´Ð»Ñ %s�невозможно уÑтановить идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ %lu�невозможно ÑмеÑтитьÑÑ Ð·Ð° предел поÑледнего входного файла�невозможно указание --null (-0) Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹�невозможно одновременно печатать вдоль и параллельно�невозможно задать чиÑло Ñтолбцов при параллельной печати�невозможно задать Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð· неÑкольких иÑточников�невозможно разбивать неÑколькими методами Ñразу�не удалоÑÑŒ выполнить stat Ð´Ð»Ñ %s�невозможно выполнить stat Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ каталога (ÑÐµÐ¹Ñ‡Ð°Ñ %s)�не удалоÑÑŒ выполнить stat Ð´Ð»Ñ Ñтандартного ввода�невозможно выполнить touch Ð´Ð»Ñ %s�невозможно воÑÑтановить %s из резервной копии�невозможно удалить ÑÑылку %s�невозможно удалить %s�не удалоÑÑŒ провеÑти наблюдение %s�невозможно наблюдать за родительÑким каталогом %s�невозможно обойти ошибку Ñдра�изменена группа %s Ñ %s на %s �изменён владелец %s Ñ %s на %s �изменение группы Ð´Ð»Ñ %s�изменение владельца %s�изменение прав доÑтупа Ð´Ð»Ñ %s�изменение контекÑта безопаÑноÑти Ð´Ð»Ñ %s �нулевой знаковый Ñдвиг�Ñимвол вне допуÑтимого диапазона�Ñимвольный Ñпециальный файл�Ñпециальные Ñимвольные файлы не поддерживаютÑÑ�очиÑтка прав доÑтупа Ð´Ð»Ñ %s�изменение времени�закрытие завершилоÑÑŒ неудачно�закрытие %s (fd=%d)�закрытие каталога %s�закрытие входного файла %s�закрытие входного канала�закрытие выходного файла %s�закрытие выходного канала�закрытие предыдущего канала�закрытие Ñтандартного ввода�режим ÑовмеÑтимоÑти поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла�конфликтующие Ñтроки замены Ð´Ð»Ñ Ð¿ÑƒÑтого полÑ�конфликт указанных параметров контекÑта безопаÑноÑти�невозможно уÑтановить буферизацию %s в режим %s �невозможно Ñоздать процеÑÑ Ð´Ð»Ñ %s -d�невозможно Ñоздать временный файл�невозможно выполнить %s�невозможно выполнить %s -d�в %s не найдена запиÑÑŒ каталога Ñ ÑоответÑтвующим i-node�невозможно узнать Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¹ загрузки�Ñоздан каталог %s�Ñоздание каталога %s�ÑоздаётÑÑ Ñ„Ð°Ð¹Ð» %s �ÑпиÑок разделителей оканчиваетÑÑ Ð½ÐµÑкранированной обратной коÑой чертой: %s�каталог�деление на ноль�dup2 завершилаÑÑŒ неудачно�пуÑтое значение %s не разрешено�пуÑтое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°�пуÑÑ‚Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ�ошибка Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°�ошибка в ÑопоÑтавителе регулÑрных выражений�ошибка поиÑка регулÑрного выражениÑ�ошибка при инициализации Ñтрок, задающих меÑÑцы�ошибка отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ inotify�ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s�ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ inotify�ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных�ошибка Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹�ошибка запиÑи %s�выполнÑетÑÑ Ñ FILE=%s �выход=�лишний аргумент %s�лишний операнд %s�дополнительный операнд %s не допуÑтим Ñ -%c�не удалоÑÑŒ получить доÑтуп к %s�не удалоÑÑŒ выполнить канонизацию %s�не удалоÑÑŒ изменить контекÑÑ‚ безопаÑноÑти %s на %s�не удалоÑÑŒ изменить группу %s Ñ %s на %s �ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s на %s �не удалоÑÑŒ изменить права доÑтупа %s Ñ %04lo (%s) на %04lo (%s) �невозможно изменить владельца %s �не удалоÑÑŒ изменить владельца %s Ñ %s на %s �невозможно изменить владельца %s на %s �ошибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° на %s�не удалоÑÑŒ выполнить клонирование %s из %s�не удалоÑÑŒ закрыть %s�не удалоÑÑŒ закрыть входной канал�не удалоÑÑŒ вычиÑлить новый контекÑÑ‚�не удалоÑÑŒ преобразовать некоторые из входных чиÑел�не удалоÑÑŒ Ñоздать каталог по шаблону %s�не удалоÑÑŒ Ñоздать файл по шаблону %s�не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку %s�не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку %s => %s�не удалоÑÑŒ Ñоздать жёÑткую ÑÑылку на %.0s%s�не удалоÑÑŒ Ñоздать канал�не удалоÑÑŒ Ñоздать контекÑÑ‚ безопаÑноÑти: %s�не удалоÑÑŒ Ñоздать Ñимвольную ÑÑылку %s�не удалоÑÑŒ Ñоздать Ñимвольную ÑÑылку %s на %s�не удалоÑÑŒ Ñоздать временный файл в %s�Ñбой при отбраÑывании данных кÑша длÑ: %s�не удалоÑÑŒ раÑширить %s�не удалоÑÑŒ найти %s�ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² %s�не удалоÑÑŒ получить текущий контекÑÑ‚�не удалоÑÑŒ получить контекÑÑ‚ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы�не удалоÑÑŒ получить группы текущего процеÑÑа�не удалоÑÑŒ получить группы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s�не удалоÑÑŒ получить контекÑÑ‚ безопаÑноÑти %s�не удалоÑÑŒ найти файл %s�не удалоÑÑŒ открыть %s�не удалоÑÑŒ открыть %s Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ�не удалоÑÑŒ открыть %s на запиÑÑŒ�не удалоÑÑŒ подготовить значение «%Lf» Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°�не удалоÑÑŒ Ñохранить автора %s�не удалоÑÑŒ Ñохранить владельца %s�не удалоÑÑŒ Ñохранить права доÑтупа Ð´Ð»Ñ %s�не удалоÑÑŒ Ñохранить временные метки Ð´Ð»Ñ %s�не удалоÑÑŒ перенаправить Ñтандартный поток ошибок�не удалоÑÑŒ перенаправить Ñтандартный поток ошибок в /dev/null�не удалоÑÑŒ удалить %s�не удалоÑÑŒ удалить каталог %s�не удалоÑÑŒ отобразить, Ñтандартный ввод не работает�не удалоÑÑŒ повторно открыть %s в режиме %s�не удалоÑÑŒ воÑÑтановить контекÑÑ‚ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° по умолчанию�не удалоÑÑŒ вернутьÑÑ Ð² первоначальный рабочий каталог�не удалоÑÑŒ отмотать поток Ð´Ð»Ñ %s�не удалоÑÑŒ выполнить команду %s�не удалоÑÑŒ выполнить команду: «%s -c %s»�не удалоÑÑŒ уÑтановить компонент контекÑта безопаÑноÑти %s равным %s�не удалоÑÑŒ задать переменную Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ FILE�не удалоÑÑŒ задать дополнительные группы�не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти файла по умолчанию в %s�не удалоÑÑŒ уÑтановить group-ID�не удалоÑÑŒ уÑтановить новый диапазон %s�не удалоÑÑŒ уÑтановить новую роль %s�не удалоÑÑŒ уÑтановить новый тип %s�не удалоÑÑŒ уÑтановить нового Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s�не удалоÑÑŒ уÑтановить дополнительную группу(Ñ‹)�не удалоÑÑŒ Ñделать так, чтобы ÐºÐ¾Ð¿Ð¸Ñ Ñтандартного потока ошибок закрылаÑÑŒ при начале выполнениÑ�не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти Ð´Ð»Ñ %s в %s�не удалоÑÑŒ уÑтановить user-ID�ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² %s�не удалоÑÑŒ выключить O_DIRECT: %s�не удалоÑÑŒ обновить окружение Ñ %s�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fdatasync Ð´Ð»Ñ %s завершилаÑÑŒ неудачно�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fflush завершилаÑÑŒ неудачно�номер Ð¿Ð¾Ð»Ñ %s Ñлишком велик�нулевой номер полÑ�Ð¿Ð¾Ð»Ñ Ð¸ позиции нумеруютÑÑ Ñ 1�файл-очередь�данные файла %d не отÑортированы�операнды-файлы Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --files0-from�операнды-файлы Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --print-database (-p)�Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема типа %s и выбрана, и иÑключена�ÑиÑтемный вызов fork завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾�формат %s заканчиваетÑÑ Ð½Ð° %%�в формате %s не указана директива %%�в формате %s ÑодержитÑÑ Ñлишком много директив %%�формат %s Ñодержит неизвеÑтную директиву %%%c�при выводе Ñтрок одинаковой ширины формат можно не указывать�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fsync Ð´Ð»Ñ %s завершилаÑÑŒ неудачно�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_close завершилаÑÑŒ неудачно�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_read завершилаÑÑŒ неудачно�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ fts_read завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹: %s�генерируетÑÑ Ð¾Ñ‚Ð½Ð¾Ñительный путь�получение новых атрибутов %s�группа %s оÑтавлена как %s �группировку Ð½ÐµÐ»ÑŒÐ·Ñ Ñочетать Ñ --to�группировка не имеет ÑмыÑла Ñ Ñтой локалью�Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ iconv недоÑтупна�Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ iconv неприменима�id=�игнорируетÑÑ --no-newline Ñ Ð½ÐµÑколькими аргументами�вÑе аргументы проигнорированы�ввод игнорируетÑÑ�ввод игнорируетÑÑ, вывод добавлÑетÑÑ Ð² %s�ввод игнорируетÑÑ, поток ошибок перенаправлÑÑŽÑ‚ÑÑ Ð½Ð° Ñтандартный вывод�проигнорирован неверный размер табулÑции в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ TABSIZE: %s�проигнорировано неверное значение переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ QUOTING_STYLE: %s�проигнорирована Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ COLUMNS: %s�не ÑвлÑющиеÑÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ аргументы проигнорированы�Ð¿Ð¾Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ %lu, %lu неÑовмеÑтимы�неÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ�невозможно иÑпользовать inotify, возвращаемÑÑ Ðº методу опроÑа�иÑчерпаны реÑурÑÑ‹ inotify�ввод Ñтал недоÑтупен�Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñтрока Ñлишком велика�Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ Ñтрока Ñлишком коротка, нет чиÑел Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² поле %ld�не удалоÑÑŒ перемещение Ñ ÑƒÑтройÑтва %s на уÑтройÑтво %s: невозможно удалить назначение�неверный %s%s аргумент «%s»�--%s Ñодержит неверный аргумент %s�недопуÑтимый Ð´Ð»Ñ --threshold аргумент «-0»�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ€Ð°Ð²ÐºÐ° %s�неверный аргумент %s�недопуÑтимый аргумент %s Ð´Ð»Ñ %s�неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐ»Ð°: %s�неверный режим буферизации %s Ð´Ð»Ñ %s �неправильный байт, Ñимвол или ÑпиÑок полей�неверный Ñимвол «%c» в Ñтроке типа %s�неверный клаÑÑ Ñимволов %s�неверный контекÑÑ‚: %s�недопуÑтимое преобразование�неверный опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе: %c�неверный опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе: \%.3o�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° %s�неверный формат даты %s�неверный уменьшающийÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½�неверное уÑтройÑтво %s %s�неверный тип уÑтройÑтва %s�неверный номер полÑ: %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ð»Ñ: %s�неверное значение Ð¿Ð¾Ð»Ñ Â«%s»�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° полÑ: %s�неверный номер файла в Ñпецификации полÑ: %s�некорректные флаги в Ñпецификации преобразованиÑ: %%%c%c�неверный аргумент Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой: %s�неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¸Ð¶Ð½ÐµÐ³Ð¾ колонтитула: %s�неверный формат %s (переполнение по ширине)�неверный формат %s, директива должна быть %%['][-][N]f�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° дырки: %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s�неверный ÑпиÑок групп %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°: %s�неверный Ñтиль Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°: %s�неверное значение заголовка «%s»�неверный ввод�недопуÑтимый флаг ввода�недопуÑтимый входной диапазон %s�неверное целое чиÑло %s�неверный целый аргумент %s�неверное чиÑло Ñтрок: %s�неверные наÑтройки линии (line discipline) %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñтроки: %s�неверное приращение номера Ñтроки: %s�неверный формат нумерации Ñтрок: %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° Ñтроки: %s�неверное оÑновное чиÑло уÑтройÑтва %s�недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ð»ÑƒÐ±Ð¸Ð½Ð° %s�неверное второÑтепенное чиÑло уÑтройÑтва %s�неверный режим�неверный режим %s�неверный режим: %s�неверный номер %s�неверное чиÑло поÑле «,»�неверное чиÑло поÑле «-»�неверное чиÑло поÑле «.»�неверное чиÑло в начале полÑ�неверное чиÑло пуÑтых Ñтрок: %s�неверный чиÑло байт�неверное чиÑло Ñравниваемых байт�неверное чиÑло пропуÑкаемых байт�неверное чиÑло Ñтолбцов: %s�неверное чиÑло пропуÑкаемых полей�неверное чиÑло Ñтрок�неверное чиÑло: «%s»�неверный ключ -- %c�неверный ключ -- %c; -ЦИФРЫ раÑпознаетÑÑ, только еÑли Ñто первый аргумент, в противном Ñлучае пишите -w N�неверно задано оÑнование ÑиÑтемы ÑчиÑÐ»ÐµÐ½Ð¸Ñ Â«%c», должно быть одним из Ñимволов [doxn]�недопуÑтимый флаг вывода�неверное значение Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Â«%s»�неверный диапазон Ñтраниц %s�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñть: %s�неверный диапазон без окончаниÑ: -�неверно задано чиÑло повторов %s в конÑтрукции [c*n]�неверный Ñпецификатор�неверный номер начальной Ñтроки: %s�недопуÑтимый флаг ÑоÑтоÑниÑ�неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ %s, Ñодержит разделитель каталогов�неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² %s%s аргументе «%s»�неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных «%s»: «%s»�неверный ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных: «%s»�неверный размер табулÑции: %s�неверный шаблон %s, Ñодержит разделитель каталогов�неверный шаблон %s; Ñ --tmpdir в нём не может быть абÑолютного пути�неверный временной интервал %s�неверный формат времени %s�неверный завершающий ключ -- %c�Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñтрока типа %s�неверно задан тип %s; Ð´Ð°Ð½Ð½Ð°Ñ ÑиÑтема не предоÑтавлÑет %lu-байтного типа Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой�неверно задана Ñтрока типа %s; Ð´Ð°Ð½Ð½Ð°Ñ ÑиÑтема не предоÑтавлÑет %lu-байтного целого типа�неверный размер единицы Ñчёта: «%s»�неверное универÑальное Ñимвольное Ð¸Ð¼Ñ \%c%0*x�неверный пользователь�неверный пользователь %s�недопуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°: %s�неверный размер переноÑа: %s�неверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° нулевой длины�опаÑно рекурÑивно обрабатывать %s�опаÑно рекурÑивно обрабатывать %s (то же, что %s)�ключ %lu нулевой ширины и будет проигнорирован�ключ %lu ÑвлÑетÑÑ Ñ‡Ð¸Ñловым и охватывает неÑколько полей�большое входное значение «%s»: возможна Ð¿Ð¾Ñ‚ÐµÑ€Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ñти�предыдущий=�начальный «-» в компоненте имени файла %s�начальные пробелы в ключе %lu важны; укажите также «b»�предел в %lu превышен длиной в %lu в имени файла %s�предел в %lu превышен длиной в %lu в компоненте имени файла %s�ÑÑ‚Ñ€Ð¾ÐºÐ¾Ð²Ð°Ñ Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ stdin беÑÑмыÑленна�ключ чиÑла Ñтрок -%s%c… Ñлишком велик�номер Ñтроки %s меньше номера предыдущей Ñтроки, %s�переполнение номера Ñтроки�длинный параметр «--megabytes» уÑтарел и Ñкоро будет удален�макÑимальным аргументом --%s Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ rlimit ÑвлÑетÑÑ %s�памÑть иÑчерпана�иÑчерпана памÑть буфером ввода размера %zu байт (%s)�иÑчерпана памÑть буфером вывода размера %zu байт (%s)�очередь Ñообщений�минимальным аргументом --%s ÑвлÑетÑÑ %s�непарные конÑтрукции [:upper:] и/или [:lower:]�пропущено опиÑание Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (%%) в ÑуффикÑе�пропущена «]»�отÑутÑтвующий ÑÑƒÑ„Ñ„Ð¸ÐºÑ Â«i» в входных данных: «%s» (например Ki/Mi/Gi)�пропущен аргумент поÑле %s�пропущен аргумент Ð´Ð»Ñ %s�пропущено Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа Ñимволов «[::]»�пропущен опиÑатель Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑуффикÑе�поÑле %s пропущен операнд, задающий целевой файл�пропущен клаÑÑа ÑквивалентноÑти Ñимволов «[==]»�пропущен операнд, задающий файл�неверное шеÑтнадцатеричное чиÑло в escape-поÑледовательноÑти�отÑутÑтвует ÑпиÑок полей�отÑутÑтвует ÑпиÑок позиций�пропущен операнд�пропущен операнд поÑле %s�режим должен задавать только биты разрешений Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð°�права доÑтупа %s изменены Ñ %04lo (%s) на %04lo (%s) �права доÑтупа %s оÑтавлены в виде %04lo (%s) �точка Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s уже пройдена�перемещение входного канала�Ð¼Ð½Ð¾Ð³Ð¾Ð·Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ñ %s�задано неÑколько ключей -i�задано неÑколько ключей -l или -t�заданы неÑколько программ ÑжатиÑ�указано неÑколько разделителей�неÑколько диапазонов�задано неÑколько выходных файлов�задано неÑколько выходных форматов�задано неÑколько иÑточников Ñлучайных чиÑел�задано неÑколько отноÑительных модификаторов�неÑколько ролей�задано неÑколько целевых каталогов�неÑколько типов�неÑколько пользователей�ни ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка %s, ни то но что она указывает не были изменены �либо Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ SHELL отÑутÑтвует, либо не задан тип интерпретатора�не изменён владелец %s �не задана команда�ключи Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ заданы�не обработано ни одной файловой ÑиÑтемы�больше нет файлов�нет ввода из %s�региÑтрационное Ð¸Ð¼Ñ Ð¾Ñ‚ÑутÑтвует�не задан идентификатор процеÑÑа�при дампе Ñтрок Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ тип�не задано Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ; при иÑпользовании ключа -l нужно задать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно�нецелочиÑленный аргумент�непереноÑимый Ñимвол %s в имени файла %s�не телетайп�запиÑÑŒ через повиÑшую ÑÑылку %s не выполнÑетÑÑ�чиÑло в %s Ñлишком велико�количеÑтво параллельных Ñортировок должно быть ненулевым�чиÑло байт�чиÑло Ñтрок�начальное значение чиÑлового ÑуффикÑа Ñлишком большое и превышает длину ÑуффикÑа�указан уÑтаревший ключ %s; вмеÑто него иÑпользуйте %s�переполнение Ñдвига при чтении файла %s�пропуÑкаетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ %s�в ТÐБЛИЦЕ2 может быть иÑпользована только одна конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*]�можно задать только одно уÑтройÑтво�можно задать только один тип ÑпиÑка�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð°ÑÑŒ неудачно�ключ «-%s» игнорируетÑÑ�ключа «-%s» игнорируетÑÑ�ключей «-%s» игнорируетÑÑ�ключ «-r» применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ еÑли ничего не Ñовпало�ключ --output: неизвеÑтное поле «%s»�ключ --output: поле «%s» иÑпользуетÑÑ Ð±Ð¾Ð»ÐµÐµ одного раза�ключ иÑпользован в неверном контекÑте -- %c�ключи %s и %s взаимно иÑключают друг друга�ключи «-%s» неÑовмеÑтимы�ключи --backup и --no-clobber взаимно иÑключают друг друга�ключи --compare (-C) и --preserve-timestamps взаимно иÑключают друг друга�ключи --compare (-C) и --strip взаимно иÑключают друг друга�нехватка памÑти (запрошено %zu байт)�иÑчерпаны ÑуффикÑÑ‹ Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… файлов�переполнение при раÑширении размера файла %s�переполнение при округлении размера в Ñторону ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s�владелец %s оÑтавлен без изменений �владелец %s оÑтавлен как %s �переполнение номера Ñтраницы�Ñтраница Ñлишком узкаÑ�Ñохранение прав доÑтупа Ð´Ð»Ñ %s�Ñохранение временной отметки %s�печать вÑех повторÑющихÑÑ Ñток и чиÑла повторений беÑÑмыÑленна�неверный порÑдок границ диапазона «%s-%s»�ошибка чтениÑ�чтение завершилоÑÑŒ неудачно�чтение каталога %s�запиÑÑŒ Ñлишком велика�поток ошибок перенаправлÑÑŽÑ‚ÑÑ Ð½Ð° Ñтандартный вывод�пуÑтой обычный файл�обычный файл�отбраÑываетÑÑ ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð² входных данных: «%s» (попробуйте указать --from)�удалён %s �удален каталог: %s �удаление каталога, %s�уровень выполнениÑ�Ñемафор�разделитель не может быть пуÑтым�чтобы обойти Ñту проблему, уÑтановите LC_ALL='C'�уÑтановка флагов Ð´Ð»Ñ %s�уÑтановка прав доÑтупа Ð´Ð»Ñ %s�уÑтановка временных отметок %s�объект разделÑемой памÑти�значение skip-bytes + read-bytes Ñлишком велико�пропуÑкаетÑÑ %s, поÑкольку он находитÑÑ Ð½Ð° другом уÑтройÑтве�пропуÑкаетÑÑ Ñ„Ð°Ð¹Ð» %s, так как он был заменён во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ�Ñокет�переполнение очереди squfof�ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°�Ñтандартный ввод�Ñтандартный ввод закрыт�Ñтандартный вывод�Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ stat завершилаÑÑŒ неудачно�Ñтандартный поток ошибок�Ñтандартный ввод�Ñтандартный вывод�лишний Ñимвол в Ñпецификации полÑ�не удалоÑÑŒ Ñравнить Ñтроки�не удалоÑÑŒ выполнить преобразование Ñтроки�процеÑÑ strip завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾�запрещение вывода Ñтрок, не Ñодержащих разделителей, имеет ÑмыÑл только при работе Ñ Ð¿Ð¾Ð»Ñми�ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑылка�ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°�загрузка ÑиÑтемы�размер табулÑции не может быть равен нулю�размер табулÑции Ñодержит недопуÑтимый Ñимвол(Ñ‹): %s�номера позиций табулÑции должны возраÑтать�размер табулÑции Ñлишком велик %s�размер табулÑции Ñлишком велик�позиции табулÑции Ñлишком далеко друг от друга�ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ñ†ÐµÐ»ÑŒ %s не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼�при уÑтановке каталога Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ целевой каталог�терминал=�test и/или [�ключи --binary и --text беÑÑмыÑленны при проверке контрольных Ñумм�ключ --compare (-C) игнорируетÑÑ, еÑли вы указываете режим Ñ Ð½ÐµÑ€Ð°Ð·Ñ€ÐµÑˆÑ‘Ð½Ð½Ñ‹Ð¼Ð¸ битами�ключ --quiet имеет ÑмыÑл только при проверке контрольных Ñумм�ключ --status имеет ÑмыÑл только при проверке контрольных Ñумм�ключ --strict имеет ÑмыÑл только при проверке контрольных Ñумм�ключ --tag имеет ÑмыÑл только при проверке контрольных Ñумм�ключ --warn имеет ÑмыÑл только при проверке контрольных Ñумм�конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*] может быть иÑпользована в ТÐБЛИЦЕ2 только при преобразовании�конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ [c*] не может быть иÑпользована в ТÐБЛИЦЕ1�аргумент %s не начинаетÑÑ Ñо знака «+»; при задании даты, каждый аргумент, не ÑвлÑющийÑÑ ÐºÐ»ÑŽÑ‡Ð¾Ð¼, должен быть Ñтрокой формата, начинающейÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ «+»�разделитель должен быть одним Ñимволом�отÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° завершилаÑÑŒ Ñозданием дампа�ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в виде, читаемом человеком и читаемом программой stty, взаимоиÑключающие�ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° внутренней базы данных dircolors и ключи Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° ÑинтакÑиÑа оболочки взаимно иÑключают друг друга�ключи Ð´Ð»Ñ ÑƒÑтановки и Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ не могут применÑтьÑÑ Ð²Ð¼ÐµÑте�ключи Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° даты взаимно иÑключают друг друга�ÑравнивалиÑÑŒ Ñтроки %s %s�при уÑтановке каталога Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ñть ключ strip�длина ÑуффикÑа должна быть не менее %zu�иÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñтрока была %s�Ð²Ñ€ÐµÐ¼Ñ %s вне допуÑтимого диапазона�чтобы иÑпользовать идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s, вам нужно указать также -g�Ñлишком мало X в шаблоне %s�Ñлишком много опиÑаний Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (%%) в ÑуффикÑе�Ñлишком много Ñимволов в таблице�Ñлишком много повторÑющихÑÑ Ñтрок�Ñлишком много шаблонов�итого�обход завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s�объект типизированной памÑти�uid=%s�не удалоÑÑŒ показать Ñообщение об ошибке�невозможно Ñохранить текущий рабочий каталог�не удалоÑÑŒ уÑтановить контекÑÑ‚ безопаÑноÑти %s�Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: fts_info=%d: %s Ñообщите %s�неизвеÑтный бинарный оператор�неизвеÑтный код возврата команды (0x%X)�неизвеÑтный поток�неизвеÑтный идентификатор пользователÑ: %s�не анализируемое значение в переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ LS_COLORS�неизвеÑтный тип файловой ÑиÑтемы 0x%08lx Ð´Ð»Ñ %s. Сообщите об Ñтом в %s. ВозвращаемÑÑ Ðº опроÑу.�операнд %s не раÑпознан�не раÑпознан префикÑ: %s�в работе %2d:%02d, �%ld день %2d:%02d, �%ld Ð´Ð½Ñ %2d:%02d, �%ld дней %2d:%02d, � ???? дней ??:??, �иÑпользуйте --no-preserve-root, чтобы отменить предупреждение об опаÑноÑти�правила, иÑпользуемые Ð´Ð»Ñ Ñортировки: %s�иÑпользуемое значение %s Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтандартного ввода не работает в режиме файловой ÑиÑтемы�иÑпользуетÑÑ Ð¿Ñ€Ð¾Ñтое побайтовое Ñравнение�значение Ñлишком велико Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ: «%s»�значение Ñлишком велико Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°: «%Lg» (обработка значений > 999Y невозможна)�значение Ñлишком велико Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°: «%Lg» (попробуйте указать --to)�ожидание %s [-d]�ожидание дочернего процеÑÑа�ожидание strip�предупреждение: �предупреждение: %s: Ñимвол(Ñ‹), Ñледующий за Ñимвольной конÑтантой, проигнорирован�предупреждение: %s: невозможно Ñменить контекÑÑ‚ на %s�предупреждение: вызов «touch %s» уÑтарел; иÑпользуйте «touch -t %04ld%02d%02d%02d%02d.%02d»�предупреждение: --pid=PID не поддерживаетÑÑ Ð½Ð° Ñтой ÑиÑтеме�предупреждение: ключ --retry обычно полезен при Ñледовании по имени файла�предупреждение: PID игнорирован; ключ --pid=PID полезен только при Ñледовании�предупреждение: неÑÐºÑ€Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце Ñтроке непереноÑима между платформами�предупреждение: Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° в конце формата�предупреждение, невозможно удалить: %s�предупреждение: не удалоÑÑŒ отключить Ñоздание core�предупреждение: беÑконечное Ñлежение за Ñтандартным вводом неÑффективно�предупреждение: избыточные аргументы проигнорированы, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s�предупреждение: Ñмещение файла Ñтало неверным поÑле ошибки чтениÑ�предупреждение: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° %lu; будет иÑпользована %d�предупреждение: номер Ñтроки %s равен предыдущему номеру Ñтроки�предупреждение: sigprocmask�предупреждение: файл-иÑточник %s указан более одного раза�предупреждение: подведение итога конфликтует Ñ --max-depth=%lu�предупреждение: подведение итога Ñто то же Ñамое, что и --max-depth=0�предупреждение: Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ Ð²Ð¾ÑÑŒÐ¼ÐµÑ€Ð¸Ñ‡Ð½Ð°Ñ Ð¿Ð¾ÑледовательноÑть \%c%c%c трактуетÑÑ ÐºÐ°Ðº Ð´Ð²ÑƒÑ…Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑледовательноÑть \0%c%c, %c�предупреждение: timer_create�предупреждение: timer_settime�предупреждение: управлÑÑŽÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑть «\%c» не раÑпознана�предупреждение: обходим ошибку lseek в Ñдре Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° (%s) mt_type=0x%0lx -- Ñм. <sys/mtio.h> Ð´Ð»Ñ ÑпиÑка типов�Ñтранный файл�еÑли чаÑть таблицы1 не отбраÑываетÑÑ, таблица2 должна быть непуÑтой�при чтении имён файлов Ñо Ñтандартного ввода, Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° %s не допуÑкаетÑÑ�при задании ÑÑ‚Ð¸Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÑтанавливать режим�при преобразовании Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ клаÑÑов Ñимволов, ТÐБЛИЦÐ2 должна Ñтавить в ÑоответÑтвие вÑем Ñимволам Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð¾Ð²Ð½Ð¾ один Ñимвол�еÑли при преобразовании Ñтрока1 длиннее Ñтроки2, то поÑледнÑÑ Ñтрока не должна заканчиватьÑÑ ÐºÐ»Ð°ÑÑом Ñимволов�при преобразовании, в ТÐБЛИЦЕ2 могут быть иÑпользованы только клаÑÑÑ‹ «upper» и «lower»�копирование %s через только что Ñозданную %s не выполнÑетÑÑ�жёÑÑ‚ÐºÐ°Ñ ÑÑылка %s на каталог %s не будет Ñоздана�только что Ñозданный файл %s не будет перепиÑан в %s�при заданном --parents назначение должно быть каталогом�При задании --suffix, шаблон %s должен оканчиватьÑÑ Ð½Ð° X�при FILE=%s, код возврата %d из команды: %s�при FILE=%s, Ñигнал %s от команды: %s�ошибка запиÑи�ошибка запиÑи Ð´Ð»Ñ %s�запиÑÑŒ завершилаÑÑŒ неудачно�запиÑÑŒ в %s�вы должны указать -c, -t, -u, -l, -r или контекÑÑ‚�вы должны задать ÑпиÑок байт, Ñимволов или полей�вы должны задать отноÑительный %s Ñ %s�вы должны задать что-то одно: %s или %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% запиÑей получено %+% запиÑей отправлено �% уÑÐµÑ‡Ñ‘Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ �% уÑечённые запиÑи �% уÑечённых запиÑей � Ñкопирован % байт (%s)� Ñкопировано % байта (%s)� Ñкопировано % байт (%s)�не удалоÑÑŒ выполнить отÑечение на % байт в выходном файле %s�Ñмещение Ñлишком велико: невозможно обрезать до величины seek=% (%lu-байтных) блоков�не удалоÑÑŒ выполнить отÑечение на % байт в выходном файле %s�%s:%: без Ñортировки: %.*s�не удалоÑÑŒ выделить % байт Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ð° stdio �%s: %: неправильно ÑоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ñтрока контрольной Ñуммы %s�ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтроки %�ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтрок %�ПРЕДУПРЕЖДЕÐИЕ: неправильный формат Ñтрок %�ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать % файл из ÑпиÑка�ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать % файла из ÑпиÑка�ПРЕДУПРЕЖДЕÐИЕ: не удалоÑÑŒ прочитать % файлов из ÑпиÑка�ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпала % вычиÑÐ»ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма�ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпали % вычиÑленные контрольные Ñуммы�ПРЕДУПРЕЖДЕÐИЕ: ÐЕ Ñовпали % вычиÑленных контрольных Ñумм�номер начальной Ñтраницы % превоÑходит общее чиÑло Ñтраниц %�Страница %�переполнение в % * % байтовых блоков Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s�не удалоÑÑŒ уÑечь %s на % байт���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ms.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000056112�12107204517�012113� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���������¤��o��,������è��7���é��F���!��Z���h��ƒ���Ã��Ó���G�� ��������)�����2�� ���8�� ���B�����N�����c�� �������� �����¹��/���É��>���ù�����8�����W�����r��'���„�����¬�����Ê�����à�����ö����� �������"���4�����W��)���j�����”�����±��'���Ð�����ø����� �������"���-�� ���P�� ���\�����i�����{�����Œ�����¬�����®�� ���Ä�����Ï�� ���Õ�����ß��K���ç�����3�����<�����A�� ���H�����S�����X�����^�����d�����j�����q�� ���v����������†����‰�����›��%���Ÿ��1���Å��*���÷�����"�����'��$���,�����Q�����V��&���k�� ���’��'���³��Y���Û��'���5 ��T���] ��'���² �����Ú �����î ����� !��#���!!��&���E!�����l!��"���‹!��T���®!��†���"��.���Š"��Y���¹"��=���#�����Q#�� ���o#��!���#�����²#�����·#�����¼#�� ���Ñ#�����Û#�����ë#�����ñ#�����÷#��*���ù#�����$$��2���A$��1���t$�� ���¦$�����²$��!���Å$�����ç$��#���î$�����%�����#%��*���4%�����_%��"���%�����¢%�����À%��#���ß%��#���&��,���'&��0���T&��,���…&��#���²&�����Ö&�����ñ&�� ���'�����('�����D'�����b'�����€'��$���Ÿ'��'���Ä'�����ì'�����(�����(�����-(��(���=(�����f(�����(��.���”(��2���Ã(�����ö(�����)��0���*)��3���[)��5���)�����Å)��*���Þ)����� *�����&*�����7*��8���G*�����€*��.���ž*�����Í*�����Ü*�����ð*�����+�����+�����/+�����J+�����a+��%���x+�����ž+�����´+�����Ë+�����â+�����ù+�����,�� ���$,�����.,��"���?,��#���b,��'���†,�����®,�����Í,��$���æ,��#��� -��%���/-�����U-��-���u-�����£-�����¨-�����À-�����Ý-�����ù-�����.�����0.�����4.��=���K.��@���‰.��:���Ê.�����/��;���/�����S/��*���n/��-���™/�����Ç/�����Þ/�����ó/�� ��� 0�����0�����*0�����A0�����`0�����y0�� ���˜0�����¥0�����µ0�����Ç0�����ß0�����÷0����� 1�����!1�� ���>1�����K1�����[1�����a1�� ���r1��-���€1�����®1�����Å1��"���ß1��#���2��7���&2��=���^2�����œ2�� ���´2�����¾2�����Î2��&���Þ2�� ���3�����3�����13�����G3�� ���_3�����j3�����3�� ���’3�� ���Ÿ3�����«3�����Â3�����Ù3�����ó3�����4�����"4�����74�����>4�����M4�� ���]4�����i4�� ���‚4�� ���4�����4��(���£4��>���Ì4��@��� 5��<���L5��/���‰5�����¹5��3���¿5�����ó5��0��� 6��7���<6�� ���t6��5���6��,���µ6��*���â6�� ��� 7�� ���7��7���'7����_7��@���á8��O���"9��b���r9��‡���Õ9��×���]:�� ���5;�� ���C;�����N;�� ���T;�� ���^;�����j;�����;��#���¡;��,���Å;�����ò;��7��� <��E���B<�� ���ˆ<�����©<�����È<��/���á<��!���=�����3=�����K=�����d=�����y=�����=��)���¥=�����Ï=��/���å=�� ���>�����6>��(���T>�����}>�����>�����¡>��!���³>�� ���Õ>�� ���á>�����î>�����?��#���?�����;?�����=?�� ���T?�����^?�����b?�����f?��O���l?�����¼?�����Å?�����Ì?�� ���Ò?�����Þ?�����ã?�����ê?�����ñ?�����ù?�����þ?�����@�����@�����@��!��@�����>A��"���BA��>���eA��,���¤A�����ÑA�����ÖA��'���ÛA�����B��!��� B��+���+B��'���WB��.���B��f���®B��.���C��Z���DC��.���ŸC�����ÎC�� ���åC�����D��(���!D��)���JD��#���tD��&���˜D��_���¿D��“���E��4���³E��`���èE��B���IF��$���ŒF��$���±F��)���ÖF������G�����G����� G�����G�����(G�����:G�����@G�����FG��+���HG�����tG��3���G��7���ÃG�� ���ûG�����H��!���H�����=H��-���BH�����pH�����‡H��6���›H�����ÒH��#���ðH�����I��!���0I��-���RI��%���€I��,���¦I��0���ÓI��,���J��)���1J�����[J�����{J��(���–J��"���¿J�� ���âJ��#���K��%���'K��+���MK��-���yK�����§K�����ÄK�����×K�����öK��2��� L�����<L�����YL��2���vL��7���©L�����áL������M��0���M��9���PM��=���ŠM�����ÈM��.���çM��$���N�����;N�����QN��:���mN��%���¨N��2���ÎN�����O�����O�����+O�����@O�����VO�����lO�����€O�����•O��#���ªO�����ÎO�����äO�����ûO�����P�����#P�����8P�� ���NP�����XP��)���nP�� ���˜P�� ���¹P��!���ÚP�����üP��"���Q��"���5Q��#���XQ�����|Q��/���›Q�����ËQ�����ÐQ��!���îQ�����R�����.R�� ���ER�����fR�����jR��H���ƒR��I���ÌR��E���S�����\S��C���mS�����±S��4���ÌS��7���T�����9T�����TT�����lT�����†T�����™T�����¯T��!���ÉT�����ëT��!���U�� ���#U�����/U�����>U�����RU�����jU�����ƒU�����šU�����±U�����ÑU�����äU�� ���úU�����V�� ���V��0���#V�����TV�����mV�� ���‡V��!���¨V��:���ÊV��J���W�����PW�����kW�� ���zW�����ˆW��)���—W�����ÁW�����ÑW�����ïW����� X�� ���%X�����3X�����HX�� ���ZX�� ���eX�����rX�����‰X����� X�����¹X�����ÕX�����îX�����Y�� ��� Y�����Y�� ���(Y�����3Y�����OY�� ���_Y�����mY�����sY��E���“Y��=���ÙY��:���Z��4���RZ�����‡Z��>���ŽZ�����ÍZ��3���çZ��:���[�� ���V[��5���a[��3���—[��+���Ë[�� ���÷[�����\��4���\���������´������_���œ���«���À���u��� �������»�������ž���½�������æ������ˆ���������ì�������#�����������������Ò���K���)���×��������������1�������B���,���q�����������™���’���'���R�������È��� ��Ä���Q���m���®���������������(���9���[�������á���6���A���;�����E���J���â���P���+���Z�������\���X���ß���������������˜���ª������������������������Ó�������������ù���å���Ð���~���³���O���Ø�������Ù���|���é���l���������5�����������i�������������‹���ó���������������������“���3�������������Î����������������������Ì���¾���c�������¼�������t���ë����� ������ ���`���C���ö���z���ð���¤�������”���ã�������Â���ç���Ï�������>�������ü���L���&���=���¹������¸���h�������������� ������^�����������ú���Ü���T���Æ���¢�����������…������¯���Ú���—���Á���Ã���y�����������Ÿ���g���������É���¬�����£���à���‘�����������í���a�����Å���Ö�������N���ô���S��������ï�����������@��� �����������]���%���ø���ê�������8���{���j���k�������º���.�������*�������¡���?�������‰���b���Ç�����������Š���7��������������v���x�������µ�������}���/���n���ñ���è���W���V���©������������������<���­���Y���Ê��� ��¥�����������-���:���¿���H���I���–���U���¨���ò���2�������p�������G���š���ÿ���‡���Œ���€���e���d���Õ���ƒ���„���w���s�������Ë���²���0�������Û���î��� ������†������¦���õ���·���ý������D���������������û���M�����������!���4���•���›���r���o����������Ñ���Þ���§��� ���Ž����������������������‚��� ���÷��� ��Í���°���¶���f���Ô���±����������þ���F�����$��������������Ý���ä���"������� ���� With no FILE, or when FILE is -, read standard input. � Without any OPTION, print some useful set of identified information. � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � (backup: %s)� groups=� old �%b %e %Y�%b %e %H:%M�%s -> %s (unbackup) �%s and %s are the same file�%s exists but is not a directory�%s has unknown file type�%s is too large�%s: %s is so large that it is not representable�%s: can make relative symbolic links only in current directory�%s: cannot overwrite directory�%s: file has negative size�%s: file too long�%s: hard link not allowed for directory�%s: input file is output file�%s: invalid file size�%s: invalid file type�%s: invalid number�%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: line number must be greater than zero�%s: line number out of range�%s: multiple signals specified�%s: no size information for this device�%s: overwrite %s? �%s: read error�%s: remove %s %s? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s:%lu: unrecognized keyword %s�'�, load average: %.2f�<internal>�Avail�Available�COMMENT�Call the link function to create a link named FILE2 to an existing FILE1. �Capacity�EXIT�FAILED�Filesystem�IDLE�IFree�IUse%�IUsed�Inodes�LINE�Mounted on�NAME�OK�Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �PID�Print the name of the current user. �Run COMMAND with root directory set to NEWROOT. �Set LC_ALL='C' to work around the problem.�Size�TIME�The strings compared were %s and %s.�Type�Unknown system error�Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION]... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [USERNAME] �Use%�Used�Valid arguments are:�Warning: �Written by %s. �^[nN]�^[yY]�`�a command must be given with an adjustment�ambiguous argument %s for %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot determine device and inode of %s�cannot determine hostname�cannot fstat %s�cannot get system name�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open directory %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot print only names or real IDs in default format�cannot read directory %s�cannot read file system information for %s�cannot read symbolic link %s�cannot remove %s�cannot set date�cannot set hostname; this system lacks the functionality�cannot set time stamps for %s�cannot specify times from more than one source�cannot stat %s�cannot un-backup %s�cannot unlink %s�changing group of %s�changing ownership of %s�changing permissions of %s�character out of range�character special file�character special files not supported�closing input file %s�closing output file %s�closing standard input�couldn't get boot time�created directory %s�creating directory %s�directory�division by zero�error in regular expression search�failed to change group of %s to %s �failed to change ownership of %s to %s �failed to get attributes of %s�failed to lookup file %s�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to return to initial working directory�fifo�fork system call failed�getting new attributes of %s�group of %s retained as %s �iconv function not available�iconv function not usable�id=�ignoring all arguments�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�input disappeared�inter-device move failed: %s to %s; unable to remove target�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date format %s�invalid device %s %s�invalid field width: %s�invalid group�invalid group %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid number %s�invalid number of bytes�invalid number of lines�invalid option -- %c�invalid tab size: %s�invalid time style format %s�invalid user�invalid user %s�last=�memory exhausted�message queue�missing %% conversion specification in suffix�missing list of fields�missing list of positions�mode of %s retained as %04lo (%s) �multiple -l or -t options specified�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no process ID specified�not a tty�number of bytes�number of lines�only one type of list may be specified�open failed�ownership of %s retained as %s �page width too narrow�preserving times for %s�read error�reading directory %s�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�separator cannot be empty�setting permissions for %s�setting times of %s�shared memory object�socket�standard input�standard output�stat failed�string comparison failed�symbolic link�syntax error�term=�the delimiter must be a single character�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strip option may not be used when installing a directory�too many %% conversion specifications in suffix�total�unparsable value for LS_COLORS environment variable�unrecognized prefix: %s�warning: source file %s specified more than once�warning: summarizing is the same as using --max-depth=0�weird file�when specifying an output style, modes may not be set�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�write error�writing to %s�you must specify a list of bytes, characters, or fields�Project-Id-Version: coreutils 5.0.90 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2003-08-10 16:00+0800 Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com> Language-Team: Malay <translation-team-ms@lists.sourceforge.net> Language: ms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit � Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai. � Tanpa sebarang OPSYEN, cetak semua set berguna bagi maklumat yg dikenalpasti. � %h sama sebagai %b %H Jam (00..23) %I jam (01..12) %j hari dalam tahun (001..366) � -q, --quiet, --silent tidak cetak pengepala nama fail diberi -v, --verbose sentiasa cetak pengepala nama fail diberi � -t setara dengan -vT -T, --show-tabs papar aksara TAB sebagai ^I -u (diabaikan) -v, --show-nonprinting guna notasi ^ and M- , kecuali bagi LFD dan TAB � (backup: %s)� kumpulan=� tua �%b %e %Y�%b %e %H:%M�%s -> %s (nyahbackup) �%s dan %s adalah fail yang sama�%s wujud tapi ianya bukan direktori�%s mempunyai jenis fail yang tidak diketahui�%s adalah terlalu besar�%s: %s adalah terlalu besar dan tak boleh diperwakilkan�%s: hanya boleh membuat pautan simbolik relatif pada direktori semasa�%s: tak dapat menindih direktori�%s: fail mempunya saiz negatif�%s: fail terlalu panjang�%s: pautan keras tidak diizinkan bagi direktori�%s: fail input adalah fail output�%s: fail saiz tidak sah�%s: jenis fail tidak sah�%s: nombor tidak sah�%s: corak tidak sah�%s: id proses tidak sah�%s: ungkapan biasa (regexp) tidak sah: %s�%s: isyarat tidak sah�%s: bilangan baris mesti lebih besar drpd sifar�%s: bilangan baris di luar julat�%s: banyak isyarat dinyatakan�%s: tiada maklumat saiz bagi peranti ini�%s: tindih %s? �%s: ralat penulisan�%s: buang %s %s? �%s: buang write-protected %s %s? �%s: dibuang�%s: membuang�%s: ditukarnama ke %s�%s: mengganti %s? �%s:%lu: katakunci tidak dikenali %s�`�, purata muatan: %.2f�<dalaman>�Ada�Ada�KOMEN�Panggil fungsi pautan untuk mencipta pautan bernama FAIL2 ke FILE1 sedia ada. �Kapasiti�KELUAR�GAGAL�Sistem fail�LEKA�IBebas�IGuna%�IDiguna�Inod�BARIS�Dilekapkan pada�NAMA�OK�Arahan output untuk menetapkan persekitaran pembolehubah LS_COLORS. Tentukan format output: -b, --sh, --bourne-shell kod output shell Bourne shell menetapkan LS_COLORS -c, --csh, --c-shell kod output shell C menetapkan LS_COLORS -p, --print-database output default �PID�Cetak nama bagi pengguna semasa. �Laksana ARAHAN dengan direktori root ditetapkan ke ROOTBARU. �Tetapkan LC_ALL='C' untuk mengatasi masalah.�Saiz�MASA�Rentetan dibandingkan adalah %s dan %s.�Jenis�Ralat sistem yang tidak diketahui�Pengunaan: %s UNGKAPAN atau: %s OPSYEN �Pengunaan: %s FAIL atau: %s OPSYEN �Penggunaan: %s FAIL1 FAIL2 atau: %s OPSYEN �Penggunaan: %s [-s ISYARAT | -ISYARAT] PID... atau: %s -l [ISYARAT]... atau: %s -t [ISYARAT]... �Pengunaan: %s [FAIL]... atau: %s [OPSYEN] �Penggunaan: %s [NAMA] atau: %s OPSYEN Cetak atau tetapkan namahos bagi sistem semasa. �Pengunaan: %s [NOMBOR]... atau: %s OPSYEN �Pengunan: %s [OPSYEN] �Penggunaan: %s [OPSYEN] NAMA... �Pengunaan: %s [OPSYEN]... �Penggunaan: %s [OPSYEN]... DIREKTORI... �Penggunaan: %s [OPSYEN]... FAIL CORAK... �Penggunaan: %s [OPSYEN]... FAIL... �Penggunaan: %s [OPSYEN]...FAIL1 FAIL2 �Penggunaan: %s [OPTION]... GROUP FILE... atau: %s [OPTION]... --reference=RFILE FILE... �Penggunaan: %s [OPTION]... MODE[,MODE]... FILE... atau: %s [OPTION]... OCTAL-MODE FILE... atau: %s [OPTION]... --reference=RFILE FILE... �Penggunaan: %s [OPSYEN]... NAMA JENIS [MAJOR MINOR] �Penggunaan: %s [OPSYEN]... [+FORMAT] atau: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Penggunaan: %s [OPSYEN]... [-] [NAMA=NILAI]...[ARAHAN [HUJAH]...] �Penggunaan: %s [OPSYEN]...[FAIL]... �Penggunaan: %s [OPSYEN]...[FAIL]... �Penggunaan: %s [OPSYEN]...[NAMAPENGGUNA] �Guna%�Diguna�Hujah sah adalah:�Amaran: �Ditulis oleh %s. �^[tT]�^[yY]�`�arahan mesti diberi dengan satu penyesuaian�hujah ambiguous %s bagi %s�backup %s akan memusnahkan sumber; %s tidak disalin�backup %s akan memusnahkan sumber; %s tidak dipindahkan�jenis backup�fail istimewa blok�fail istimewa blok tidak disokong�blok�kedua-dua fail tak boleh menjadi input piawai�Tak dapat mengakses %s�tak dapat backup %s�tak dapat meringkaskan dan menunjukkan semua kemasukan�tak dapat menukar keizinan %s�Gagal menukar direktori root ke %s �Gagal menukar direktori %s �tak dapat chdir ke direktori root�tak boleh gabungkan isyarat dengan -l atau -t�tak boleh banding nama fail %s dan %s�tak dapat menukar U+%04X ke set aksara lokal�tak dapat menukar U+%04X ke set aksara lokal: %s�tak dapat salin direktori, %s ke dirinya, %s�tak boleh salin pautan simbolik cyclic %s�tak dapat mencipta direktori %s�tak boleh mencipta fifo %s�tak dapat mencipta pautan keras %s ke %s�tak dapat mencipta pautan %s ke %s�tak dapat memcipta fail biasa %s�tak boleh mencipta fail istimewa %s�tak dapat mencipta pautan simbolik %s�tak dapat mencipta pautan simbolik %s ke %s�tak dapat menentukan peranti dan inod bagi %s�tak dapat menentukan namahos�tak dapat fstat %s�tak dapat perolehi nama sistem�tak dapat lseek %s�tak dapat buat kecua-dua pautan simbolik dan keras�tak dapat cipta direktori %s�tak dapat pindahkan %s ke %s�tak dapat pindahkan %s ke subdirektori dirinya, %s�tak dapat pindah direktori ke bukan-direktori: %s -> %s�tak dapat buka %s untuk dibaca�tak dapat membuka direktori %s�tak boleh menindih direktori %s dengan direktori�tak boleh menindih bukan-direktori %s dengan direktori %s�tak dapat cetak hanya nama atau ID sebenar dlm format default�tak dapat membaca direktori %s�tak dapat membaca maklumat sistem fail bagi %s�tak dapat membaca pautan simbolik %s�tak dapat membuang %s�tak dapat menetapkan tarikh�tak dapat menetapkan namahos, sistem ini kekurangan fungsi�Tak dapat tetapkan setem masa bagi %s�tak boleh nyatakan masa lebih daripada satu sumber�tak dapat stat %s�tak dapat nyahbackup %s�takboleh nyahpaut %s�penukaran kumpulan %s�penukaran hakmilik %s�menukar keizinan %s�aksara di luar julat�fail istimewa aksara�fail istimewa aksara tidak disokong�menutup fail input %s�menutup fail output %s�menutup input piawai�tak dapat masa but�direktori %s dicipta�mencipta direktori %s�direktori�dibahagi dengan sifar�ralat pada carian ungkapan biasa (regexp)�gagal menukar kumpulan %s ke %s �gagal menukar hakmilik %s ke %s �gagal mendapatkan atribut bagi %s�gagal mencari fail %s�gagal mengekalkan hakmilik bagi %s�gagal mengekalkan hakmilik bagi %s�gagal mengekalkan keizinan bagi %s�gagal mengekalkan masa bagi %s�gagal untuk kembali ke direktori kerja pemulaan�fifo�panggilan sistem fork() gagal�mendapatkan atribut baru untuk %s�kumpulan %s kekal sebagai %s �fungsi iconv tidak ada�fungsi iconv tak boleh digunakan�id=�mengabaikan segala hujah�mengabai saiz tab yg. tak sah pada pembolehubah persekitaran TABSIZE: %s�mengabai nilai pembolehubah persekitaran QUOTING_STYLE yang tidak sah: %s�mengabai lebar yg. tak sah pada pembolehubah persekitaran COLUMNS: %s�input menghilang�pindahan antara-peranti gagak: %s ke %s; tak dapat memindah sasaran�hujah tidak sah %s bagi %s�Pengspesifikasi penukaran tidak sah pada suffiks: %c�pengspesifikasi penukaran tidak sah pada suffiks: \%.3o�format tarikh tidak sah %s�peranti tidak sah %s %s�lebar medan tidak sah: %s�kumpulan tidak sah�kumpulan tidak sah %s�lebar baris tidak sah: %s�nombor peranti major tidak sah %s�Kedalaman maksimum %s�nombor peranti minor tidak sah %s�mod tak sah�mod tak sah %s�nombor tidak sah %s�bilangan byte tidak sah�bilangan baris tidak sah�opsyen tidak sah -- %c�saiz tab tidak sah: %s�format gaya tarikh tidak sah %s�pengguna tidak sah�pengguna tidak sah %s�terkahir=�memori keletihan�giliran mesej�kehilangan spesifikasi penukaran %% pada suffiks�kehilangan senarai medan�kehilangan senarai posisi�mod %s kekal sebagai %04lo (%s) �banyak opsyen -l or -t dinyatakan�kedua-duanya pautan simbolik %s dan rujukan telah berubah �tiada pembolehubah persekitaran SHELL; dan tiada opsyen jenis shell diberi�tiada ID proses dinyatakan�bukan satu tty�bilangan byte�bilangan baris�hanya satu jenis senarai boleh dinyatakan�pembukaan gagal�hakmilik %s kekal sebagai %s �Lebar halaman terlalu sempit�mengekalkan masa pada %s�ralat membaca�membaca direktori %s�fail kosong biasa�fail biasa�%s dibuang �direktori dibuang: %s �membuang direktori, %s�pemisah tak boleh kosong�menetapkan keizinan pada %s�menetapkan masa untuk %s�objek memori terkongsi�soket�input piawai�output standard�stat gagal�perbandingan rentetan gagal�pautan simbolik�Ralat sintaks�term=�pemisah mestilah aksara tunggal�opsyen untuk mencetak dan menetapkan masa tak boleh digunakan bersama�opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif�opsyen dikikis tak boleh digunakan bila memasang direktori�terlalu banyak spesifikasi penukaran %% pada suffiks�jumlah�nilai pembolehubah persekitaran LS_COLORS tidak boleh dihantar�prefix tidak dikenali: %s�Amaran: fail sumber %s dinyatakan lebih drpd sekali�amaran: peringkasan sama seperti menggunakan --max-depth=0�fail pelik�bila menyatakan gaya output, mod tak boleh ditetapkan�tidak akan mencipta pautan keras %s ke direktori %s�tak akan menindih baru-dicipta %s dengan %s�ralat menulis�Menulis ke %s.�anda mesti nyatakan senarai byte, aksara, atau medan�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/da.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001442712�12107204505�011717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of coreutils-8.19.po to Danish # Danish messages for core-utils. # Copyright (C) 1996, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Keld Jørn Simonsen <keld@dkuug.dk>, 2000-2003. # Gennemsyn 2003-03-26 Ole Laursen <olau@hardworking.dk> # Keld Simonsen <keld@keldix.com>, 2010. # Ask Hjorth Larsen <asklarsen@gmail.com>, 2009, 2010, 2011, 2012. # # # Bemærk. Coreutils bestÃ¥r af mange programmer. Konventioner er # vigtigst at overholde inden for samme program. I visse tilfælde er der # mÃ¥ske lidt forskellige konventioner pÃ¥ tværs af programmer. # # Konventioner # ============ # # Generelt # -------- # directory -> katalog # regexp -> regudtryk # delimiter -> skilletegn # out of range -> uden for omrÃ¥de (bedre forslag?) # token -> element # truncate -> afkort # canonicalize -> normalisér # offset -> afsæt (andre forslag?) # backslash escapes -> omvendt skrÃ¥stregsnotation # diagnostic (ofte i forbindelse med --verbose) -> meddelelse, informationer, .. # id, ID -> id, ID (nemmest at følge den engelske skrivemÃ¥de hver gang) # (input) output file -> (ind-) udfil # null -> null # # Kommandolinjeflag # ----------------- # option (kommandolinje) -> flag # SIZE (flag) -> STØR (det er nødvendigt at have rimelig korte flag) # args (f.eks. [ARGS]) -> argr (bedre forslag?) # flags [...] are mutually exclusive -> flagene [...] kan ikke bruges samtidigt # # Procesbegreber # -------------- # stdin, stdout, stderr -> stdin, stdout, stderr # standard in(put), out(put), error -> standard-ind, -ud, -fejl # pipe -> datakanal (andre forslag? Bruges overraskende nok kun tre gange) # interrupt (signal) -> afbrydningssignal # # Filsystemsting # -------------- # seek -> søge (kan dog være navnet pÃ¥ seek()) # link (f.eks. symbolic, hard) -> lænke # dereference (link) -> dereferere # # # Specialtegn # ----------- # backspace -> baktegn (kan nogen bekræfte at 'baktegn' giver mening?) # carriage return -> vognretur # end of line (eol) -> linjeslut # end of file (eof) -> filslut # # Programspecifikke # ----------------- # mode (programmet chmod m.fl.) -> tilstand # permission mode (i mere flydende sætninger) -> f.eks. adgangsrettigheder # record (programmet dd) -> blok (det *er* vist bare almindelige blokke) # major/minor device number (programmet mknod) -> over-/underenhedsnummer # translate (programmet tr) -> transformér # join (programmet join) -> flette # msgid "" msgstr "" "Project-Id-Version: coreutils-8.20-pre1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2012-10-27 13:17+0200\n" "Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ugyldigt argument %s til %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "flertydigt argument %s til %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Gyldige argumenter er:" #: lib/closein.c:100 msgid "error closing file" msgstr "fejl ved lukning af fil" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "skrivefejl" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "beholder rettigheder for %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Ukendt systemfejl" #: lib/file-type.c:38 msgid "regular empty file" msgstr "almindelig tom fil" #: lib/file-type.c:38 msgid "regular file" msgstr "almindelig fil" #: lib/file-type.c:41 msgid "directory" msgstr "katalog" #: lib/file-type.c:44 msgid "block special file" msgstr "blokspecialfil" #: lib/file-type.c:47 msgid "character special file" msgstr "tegnspecialfil" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "symbolsk lænke" #: lib/file-type.c:56 msgid "socket" msgstr "sokkel" #: lib/file-type.c:59 msgid "message queue" msgstr "meddelelseskø" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "delt hukommelsesobjekt" #: lib/file-type.c:68 msgid "typed memory object" msgstr "typetildelt hukommelsesobjekt" #: lib/file-type.c:70 msgid "weird file" msgstr "mærkværdig fil" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "Adressefamilie for værtsnavn understøttes ikke" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Midlertidig fejl under navneopløsning" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Ugyldig værdi for ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Uoverkommelig fejl ved navneopløsning" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family understøttes ikke" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Fejl ved hukommelsesallokering" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Ingen adresse associeret med værtsnavn" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Navn eller tjeneste ukendt" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Servname understøttes ikke for ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype understøttes ikke" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Systemfejl" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Argumentbuffer er for lille" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Forespørgsel under behandling" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Forespørgsel annulleret" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Forespørgsel ikke annulleret" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Alle forespørgsler fuldendt" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Afbrudt af signal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Parameterstreng er ikke korrekt kodet" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Ukendt fejl" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: flaget '%s' er flertydigt; muligheder:" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: flaget '--%s' tillader ikke et argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: flaget '%c%s' tillader ikke et argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: flaget '--%s' kræver et argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: ugyldigt flag '--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: ugyldigt flag '%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ugyldigt flag -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaget kræver et argument -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: flaget '-W %s' er flertydigt\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: flaget '-W %s' tillader ikke et argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaget '-W %s' kræver et argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kan ikke ændre adgangsrettigheder pÃ¥ %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "kan ikke oprette katalog %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "hukommelsen opbrugt" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "kan ikke registrere aktuelt arbejdskatalog" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "kunne ikke vendte tilbage til begyndelsesarbejdskatalog" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "'" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: filslut" #: lib/regcomp.c:131 msgid "Success" msgstr "Success" #: lib/regcomp.c:134 msgid "No match" msgstr "Ingen træffer" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Ugyldigt regulært udtryk" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Ugyldigt kollationeringstegn" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Ugyldigt navn pÃ¥ tegnklasse" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Afsluttende omvendt skrÃ¥streg" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Ugyldig baglæns reference" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Uparret [ eller [^" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Uparret ( eller \\(" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Uparret \\{" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ugyldigt indhold af \\{\\}" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Ugyldigt intervalendepunkt" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Hukommelsen opbrugt" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Ugyldigt forudgÃ¥ende regulært udtryk" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Uventet afslutning af regulært udtryk" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Regulært udtryk er for stort" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Uparret ) eller \\)" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Intet foregÃ¥ende regulært udtryk" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "det er farligt at operere rekursivt pÃ¥ %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "det er farligt at operere rekursivt pÃ¥ %s (samme som %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "brug --no-preserve-root for at tilsidesætte denne sikring" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[YyJj]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "sætter adgangsrettigheder pÃ¥ %s" # navn pÃ¥ signal #: lib/siglist.h:31 msgid "Hangup" msgstr "Hangup" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Afbrydningssignal" #: lib/siglist.h:37 msgid "Quit" msgstr "Afslut" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Illegal instruktion" # Puha... #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Trace/breakpoint-fælde" #: lib/siglist.h:46 msgid "Aborted" msgstr "Afbrudt" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Flydende komma-undtagelse" #: lib/siglist.h:52 msgid "Killed" msgstr "Dræbt" #: lib/siglist.h:55 msgid "Bus error" msgstr "Busfejl" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Lagersegmentfejl" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Afbrudt datakanal" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Vækkeur" #: lib/siglist.h:67 msgid "Terminated" msgstr "Termineret" # Relaterer vist til signalet SIGURG. # http://en.wikipedia.org/wiki/SIGURG #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "I/O-hastesag" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Stoppet (signal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Stoppet" #: lib/siglist.h:79 msgid "Continued" msgstr "Fortsat" #: lib/siglist.h:82 msgid "Child exited" msgstr "Underproces afsluttet" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Stoppet (tty-inddata)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Stoppet (tty-uddata)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O mulig" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Grænse for CPU-tid overskredet" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Grænse for filstørrelse overskredet" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuelt stopur udløbet" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profileringsstopur udløbet" #: lib/siglist.h:106 msgid "Window changed" msgstr "Vindue ændredes" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Brugerdefineret signal 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Brugerdefineret signal 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT-fælde" #: lib/siglist.h:120 msgid "Bad system call" msgstr "DÃ¥rligt systemkald" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Stakfejl" #: lib/siglist.h:126 msgid "Information request" msgstr "Informationsforespørgsel" #: lib/siglist.h:128 msgid "Power failure" msgstr "Fejl pÃ¥ strømkilde" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Ressource tabt" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "kan ikke oprette datakanal" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "%s: underproces fejlede" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Realtids signal %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Ukendt signal %d" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv-funktion ikke brugelig" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv-funktion ikke til stede" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "tegn uden for omrÃ¥de" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "kan ikke konvertere U+%04X til lokalt tegnsæt" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "kan ikke konvertere U+%04X til lokalt tegnsæt: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ugyldig bruger" #: lib/userspec.c:107 msgid "invalid group" msgstr "ugyldig gruppe" #: lib/userspec.c:108 msgid "invalid spec" msgstr "ugyldig spec" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "kan ikke vise fejlmeddelelse" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Pakket af %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Pakket af %s\n" # Vi har ingen garanti for at en bruger anvender f.eks. UTF-8, sÃ¥ det er nok smartest at bruge (C) #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Licens GPLv3+: GNU GPL version 3 eller nyere <http://gnu.org/licenses/gpl." "html>.\n" "Dette er frit programmel: du kan frit ændre og videredistribuere det.\n" "Der gives INGEN GARANTI, i den grad som loven tillader dette.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Skrevet af %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Skrevet af %s og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Skrevet af %s, %s, og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, %s, og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, %s, %s, og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, %s, %s, %s,\n" "og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, og %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Skrevet af %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, og andre.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapportér programfejl til %s.\n" "Oversættelsesfejl rapporteres til dansk@dansk-gruppen.dk .\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Rapportér %s-fejl til %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "%s hjemmeside: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Hjemmeside for %s: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "Generel hjælp til GNU-programmel: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "_open_osfhandle mislykkedes" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "kan ikke gendanne fd %d: dup2 mislykkedes" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "%s-underproces" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "%s-underproces fik fatalt signal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "ukendt strøm" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "kunne ikke genÃ¥bne %s i tilstand %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "strengsammenligning mislykkedes" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Sæt LC_ALL='C' for at omgÃ¥ problemet." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "De sammenlignede strenge var %s og %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "kan ikke udføre formateret udskrift" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "ugyldigt %s%s-argument '%s'" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ugyldigt suffiks i %s%s-argument '%s'" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "%s%s-argumentet '%s' er for stort" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" # Base64 er en mime-kodning, sÃ¥ oversættelse bør være konservativ #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Brug: %s [FLAG]... [FIL]\n" "Kod eller afkod FIL eller standard-ind i Base64, og udskriv til standard-" "ud.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode afkod data\n" " -i, --ignore-garbage ignorér ikke-alfabetiske tegn nÃ¥r der afkodes\n" " -w, --wrap=KOLONNER ombryd kodede linjer efter KOLONNER tegn (normalt " "76).\n" " Brug 0 for at slÃ¥ linjeombrydning fra\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Dataene er kodet som beskrevet for base64-alfabetet i RFC 3548. Under\n" "afkodning mÃ¥ inddata indeholde linjeskiftstegn ud over de byte som findes\n" "i det formelle base64-alfabet. Brug --ignore-garbage for at forsøge at\n" "fortsætte pÃ¥ trods af andre ikke-alfabetiske byte i den kodede strøm.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "læsefejl" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ugyldig inddata" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ugyldig ombrydningsstørrelse: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "ekstra operand %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "lukker standard-ind" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Brug: %s NAVN [SUFFIKS]\n" " eller: %s FLAG... NAVN...\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Udskriv NAVN med eventuelle indledende katalog-komponenter fjernet.\n" "Hvis SUFFIKS er angivet, fjernes ogsÃ¥ afsluttende SUFFIKS.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple understøt flere argumenter og behandl hvert som et " "NAVN\n" " -s, --suffix=SUFFIKS fjern efterfølgende SUFFIKS\n" " -z, --zero separér uddata med NUL frem for linjeskift\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Eksempler:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a noget/str1 noget/str2 -> \"str1\" efterfulgt af \"str2\"\n" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "manglende operand" # Navn jf. http://www.nada.kth.se/~tege/ #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjørn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Brug: %s [FLAG]... [FIL]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Sammensæt FILer eller standard-ind, til standard-ud.\n" "\n" " -A, --show-all samme som -vET\n" " -b, --number-nonblank nummerér ikke-blanke ud-linjer. Tilsidesætter -" "n\n" " -e samme som -vE\n" " -E, --show-ends skriv $ i slutningen af hver linje\n" " -n, --number nummerér alle ud-linjer\n" " -s, --squeeze-blank skriv aldrig mere end én blank linje ad gangen\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t samme som -vT\n" " -T, --show-tabs vis tabulatorer som ^I\n" " -u (ignoreret)\n" " -v, --show-nonprinting brug ^ og M- notation, undtagen for LFD og TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Eksempler:\n" " %s f - g Udskriv f's indhold, dernæst standard-ind, dernæst g's indhold.\n" " %s Kopiér standard-ind til standard-ud.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "kan ikke udføre ioctl pÃ¥ %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standard-ud" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: indfil er udfil" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "kunne ikke oprette sikkerhedskontekst: %s" # google afslører et eksempel hvor første %s er 'type' #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "kunne ikke sætte %s-sikkerhedskontekstkomponent til %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "kunne ikke hente sikkerhedskontekst for %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "kan ikke anvende delvis kontekst til umærket fil %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "kunne ikke ændre kontekst for %s til %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "kan ikke tilgÃ¥ %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "kan ikke læse katalog %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "ændrer sikkerhedskontekst for %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read mislykkedes" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "fts_close mislykkedes" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Brug: %s [FLAG]... KONTEKSTFIL...\n" " eller: %s [FLAG]... [-u BRUGER] [-r ROLLE] [-l INTERVAL] [-t TYPE] FIL...\n" " eller: %s [FLAG]... --reference=RFIL FIL...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Ændr sikkerhedskonteksten for hver FIL til KONTEKST.\n" "Med --reference ændres sikkerhedskonteksten for hver FIL til den for RFIL.\n" "\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference virk pÃ¥ referenten af hver symbolsk lænke (dette " "er\n" " standardopførsel) frem for selve lænken\n" " -h, --no-dereference virk pÃ¥ symbolske lænker frem for refereret fil\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=BRUGER sæt brugeren BRUGER i mÃ¥lsikkerhedskonteksten\n" " -r, --role=ROLLE sæt rollen ROLLE i mÃ¥lsikkerhedskonteksten\n" " -t, --type=TYPE sæt typen TYPE i mÃ¥lsikkerhedskonteksten\n" " -l, --range=INTERVAL sæt intervallet INTERVAL i mÃ¥lsikkerhedskonteksten\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root behandl ikke '/' specielt (standard)\n" " --preserve-root virk ikke rekursivt pÃ¥ '/'\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFIL brug RFILs sikkerhedskontekst i stedet for at\n" " angive en KONTEKST-værdi\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr " -R, --recursive virk pÃ¥ filer og kataloger rekursivt\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose udskriv en statusbesked for hver fil der behandles\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Følgende flag ændrer mÃ¥den hvorpÃ¥ et hierarki gennemløbes nÃ¥r flaget -R\n" "ogsÃ¥ angives. Hvis mere end et angives, vil kun det sidst valgte være\n" "gyldigt.\n" "\n" " -H hvis kommandolinjeargumentet er en symbolsk lænke\n" " til et katalog, sÃ¥ gennemløb dette\n" " -L gennemløb enhver symbolsk kataloglænke, der mødes\n" " undervejs\n" " -P gennemløb ingen symbolske lænker (standard)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference kræver enten -H eller -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h kræver -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "manglende operand efter %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "ugyldig kontekst: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "der er givet modstridende specifikationer for sikkerhedskontekst" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "kunne ikke hente attributter for %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "ugyldig gruppe: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Brug: %s [FLAG]... GRUPPE FIL...\n" " eller: %s [FLAG]... --reference=RFIL FIL...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Ændr gruppen for hver FIL til GRUPPE.\n" "Med --reference ændres gruppen for hver FIL til den for RFIL.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes som verbose, men rapportér kun udførte ændringer\n" " -f, --silent, --quiet undertryk de fleste fejlbeskeder\n" " -v, --verbose udskriv en statusbesked for hver fil der behandles\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (kun for systemer der kan ændre ejerskabet af\n" " en symlænke)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFIL brug gruppen for RFIL frem for at angive en værdi\n" " for GRUPPE\n" # staff bør mÃ¥ske oversættes. Det er velsagtens ikke en standardbrugergruppe #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Eksempler:\n" " %s ansatte /u Sæt gruppen for /u til \"ansatte\".\n" " %s -hR ansatte /u Sæt gruppen for /u og underfiler til \"ansatte\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "henter nye attributter for %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "hverken symbolsk lænke %s eller referent er blevet ændret\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "tilstand for %s ændret fra %04lu (%s) til %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "kunne ikke ændre tilstand for %s fra %04lo (%s) til %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "tilstand for %s beholdt som %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "kan ikke operere pÃ¥ dinglende symlænke %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "ændrer rettigheder pÃ¥ %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: nye adgangsrettigheder er %s, ikke %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Brug: %s [FLAG]... TILSTAND[,TILSTAND]... FIL...\n" " eller: %s [FLAG]... OKTAL-TILSTAND FIL...\n" " eller: %s [FLAG]... --reference=RFIL FIL...\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Ændr tilstanden for hver FIL til TILSTAND.\n" "Med --reference ændres tilstanden for hver FIL til den for RFIL.\n" "\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFIL brug tilstand for RFIL frem for TILSTAND-værdier\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr " -R, --recursive ændr filer og kataloger rekursivt\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Hver TILSTAND er pÃ¥ formen '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "kan ikke kombinere tilstandsangivelse med flaget --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "ugyldig tilstand: %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "ændrede ejerskab for %s fra %s til %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "ændrede gruppe for %s fra %s til %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "ingen ændring af ejerskab for %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "kunne ikke ændre ejerskab for %s fra %s til %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "kunne ikke ændre gruppe for %s fra %s til %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "kunne ikke ændre ejerskab for %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "kunne ikke ændre ejerskab for %s til %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "kunne ikke ændre gruppe for %s til %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "ejer af %s beholdt som %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "gruppe for %s beholdt som %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "ejerskab for %s beholdt\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "kan ikke dereferere %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "ændrer ejerskab for %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "ændrer gruppe for %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Brug: %s [FLAG]... [EJER][:[GRUPPE]] FIL...\n" " eller: %s [FLAG]... --reference=RFIL FIL...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Ændr ejeren og/eller gruppen for hver FIL til EJER og/eller GRUPPE.\n" "Med --reference ændres ejer og gruppe for hver fil til de tilsvarende for " "RFIL.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=AKTUELLE_EJER:AKTUELLE_GRUPPE\n" " ændr kun ejer og/eller gruppe for hver fil, hvis\n" " filens aktuelle ejer og/eller gruppe er lig dem\n" " angivet her. Ejer eller gruppe kan udelades, og i " "sÃ¥\n" " fald er overensstemmelse ikke krævet for den " "udeladte\n" " attribut.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RFIL brug ejer og gruppe for RFIL frem for at angive\n" " værdier for EJER:GRUPPE\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Ejer forbliver uændret hvis udeladt. Gruppe forbliver uændret hvis\n" "udeladt, men ændres til logind-gruppen hvis det er angivet med et ':',\n" "som følger efter en symbolsk EJER.\n" "EJER og GRUPPE kan være numerisk eller symbolsk.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Eksempler:\n" " %s root /u Sæt ejeren af /u til \"root\".\n" " %s root:ansatte /u Tilsvarende, men sæt ogsÃ¥ dens gruppe til \"ansatte" "\".\n" " %s -hR root /u Sæt ejeren af /u og underfiler til \"root\".\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "ugyldig gruppe %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "ugyldig gruppeliste %s" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "kunne ikke sætte yderligere grupper" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Brug: %s [FLAG] NYROD [KOMMANDO [ARG]...]\n" " eller: %s FLAG\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Kør KOMMANDO med rod-kataloget sat til NYROD.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=BRUGER:GRUPPE angiv bruger og gruppe (ID eller navn)\n" " --groups=G_LISTE angiv supplerende grupper som g1,g2,..,gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Hvis ingen kommando er angivet, køres '${SHELL} -i' (som standard: /bin/" "sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "kan ikke ændre rod-kataloget til %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "kan ikke ændre til rod-katalog" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "kunne ikke sætte gruppe-ID" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "kunne ikke sætte bruger-ID" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "kunne ikke køre kommandoen %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fil for lang" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Brug: %s [FIL]...\n" " eller: %s [FLAG]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Udskriv CRC-kontrolsum og byteantal for hver FIL.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Brug: %s [FLAG]... FIL1 FIL2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Sammenlign de sorterede filer FIL1 og FIL2 linjevis.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Uden flag udskrives tre kolonner. Kolonne 1 indeholder filer, der\n" "kun findes i FIL1; kolonne to indeholder filer, der kun findes i\n" "FIL2, mens kolonne tre indeholder linjer fælles for begge filer.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 udelad kolonne 1 (linjer som kun findes i FIL1)\n" " -2 udelad kolonne 2 (linjer som kun findes i FIL2)\n" " -3 udelad kolonne 3 (linjer som findes i begge filer)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order kontrollér om inddata er korrekt sorteret, selv\n" " hvis alle inddatalinjer kan parinddeles\n" " --nocheck-order kontrollér ikke om inddata er korrekt sorteret\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR adskil kolonner med STR\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Bemærk at sammenligninger følger reglerne angivet af 'LC_COLLATE'.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Eksempler:\n" " %s -12 fil1 fil2 Udskriv kun linjer, der findes i bÃ¥de fil1 og fil2.\n" " %s -3 fil1 fil2 Udskriv linjer i fil1, som ikke er i fil2, og vice " "versa.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "filen %d er ikke sorteret" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "flere skilletegn angivet" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "tom %s er ikke tilladt" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "fejl ved læsning af %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "kan ikke udføre lseek() %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "fejl ved skrivning af %s" # ? #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s: kunne ikke hente omfangsinfo" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s: skrivning mislykkedes" # ? #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "kunne ikke udvide %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "rydder rettigheder for %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "kunne ikke bevare ejerskab for %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "kunne ikke slÃ¥ filen %s op" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "kunne ikke bevare forfatter af %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "kan ikke Ã¥bne %s til læsning" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "kan ikke udføre fstat() %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "springer filen %s over, da den blev erstattet mens den blev kopieret" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "kunne ikke hente filsystemets oprettelseskontekst" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "kunne ikke sætte sikkerhedskonteksten for %s til %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "kan ikke fjerne %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "fjernede %s\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "skriver ikke gennem dinglende symlænke %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "kan ikke oprette almindelig fil %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "kunne ikke klone %s fra %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "beholder tider for %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "kunne ikke Ã¥bne %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: forsøg at overskrive %s, uden hensyn til tilstand %04lo (%s)? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: overskriv %s? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (sikkerhedskopi: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "kunne ikke genskabe standardkontekst for filoprettelse" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "kan ikke oprette hÃ¥rd lænke %s til %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "kan ikke udføre stat() pÃ¥ %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "udelader katalog %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "advarsel: kildefil %s er angivet mere end én gang" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s og %s er den samme fil" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "kan ikke overskrive ikke-katalog %s med katalog %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "vil ikke overskrive netop oprettet %s med %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "kan ikke overskrive katalog %s med ikke-katalog" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "kan ikke flytte katalog til ikke-katalog: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "sikkerhedskopi af %s vil overskrive kildefil; %s er ikke flyttet" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "sikkerhedskopi af %s vil overskrive kildefil; %s er ikke kopieret" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "kan ikke sikkerhedskopiere %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "vil ikke kopiere %s gennem netop oprettet symlænke %s" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kan ikke kopiere et katalog, %s, ind i sig selv, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "vil ikke oprette hÃ¥rd lænke %s til katalog %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "kan ikke flytte %s til et underkatalog af sig selv, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "kan ikke flytte %s til %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "flytning mellem enheder mislykkedes: %s til %s; kan ikke fjerne mÃ¥let" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "kunne ikke sætte standardkontekst for filoprettelse til %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "kan ikke kopiere cyklisk symbolsk lænke %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "%s: kan kun oprette relative symbolske lænker i aktuelt katalog" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "kan ikke oprette symbolsk lænke %s til %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "kan ikke oprette fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "kan ikke oprette specialfil %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "kan ikke læse symbolsk lænke %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "kan ikke oprette symbolsk lænke %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s har ukendt filtype" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "kan ikke fjerne sikkerhedskopi af %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (fjern sikkerhedskopi)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Brug: %s [FLAG]... [-T] KILDE MÃ…L\n" " eller: %s [FLAG]... KILDE... KATALOG\n" " eller: %s [FLAG]... -t KATALOG KILDE...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Kopiér KILDE til MÃ…L eller en eller flere KILDEr til KATALOG.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive samme som -dR --preserve=all\n" " --attributes-only kopiér ikke fildata, men kun attributter\n" " --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende " "mÃ¥lfil\n" " -b ligesom --backup, men tager ikke noget " "argument\n" " --copy-contents kopiér indholdet af specialfiler ved " "rekursion\n" " -d samme som --no-dereference --preserve=links\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force hvis en eksisterende mÃ¥lfil ikke kan Ã¥bnes, " "sÃ¥\n" " fjern den og prøv igen (unødvendig hvis\n" " flaget -n bruges)\n" " -i, --interactive bed om bekræftelse før overskrivning af " "filer\n" " (tilsidesætter tidligere -n-flag)\n" " -H følg symbolske lænker fra kommandolinje\n" " i KILDE\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link opret hÃ¥rde lænker til filer frem for at " "kopiere\n" " -L, --dereference følg altid symbolske lænker i KILDE\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber overskriv ikke en eksisterende fil\n" " (tilsidesætter eventuelt tidligere flag -" "i)\n" " -P, --no-dereference følg aldrig symbolske lænker i KILDE\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p samme som --preserve=mode,ownership," "timestamps\n" " --preserve[=ATTRLISTE] bevar filattributter om muligt (standard:\n" " mode,ownership,timestamps), om muligt\n" " yderligere attributter: context, links, " "xattr,\n" " all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTRLISTE bevar ikke de angivne attributter\n" " --parents brug det fulde kildefilnavn under KATALOG\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive kopiér kataloger rekursivt\n" " --reflink[=NÃ…R] bestem clone-/CoW-kopiering. Se nedenfor\n" " --remove-destination fjern hver eksisterende mÃ¥lfil før forsøg pÃ¥\n" " at Ã¥bne den (sammenlign med --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=NÃ…R bestem oprettelsen af usammenhængende filer.\n" " Se nedenfor\n" " --strip-trailing-slashes fjern eventuelle skrÃ¥streger i slutningen " "af\n" " hvert KILDE-argument\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link opret symbolske lænker i stedet for at " "kopiere\n" " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-" "suffiks\n" " -t, --target-directory=KATALOG kopiér alle KILDE-argumenter til KATALOG\n" " -T, --no-target-directory behandl MÃ…L som en normal fil\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update kopiér kun hvis KILDE-filen er nyere end\n" " mÃ¥lfilen, eller nÃ¥r mÃ¥lfilen ikke findes\n" " -v, --verbose forklar hvad der sker\n" " -x, --one-file-system bliv pÃ¥ dette filsystem\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Normalt bliver usammenhængende KILDE-filer opdaget ved hjælp af en enkel\n" "heuristik, og den korresponderende MÃ…L-fil bliver ogsÃ¥ gjort " "usammenhængende.\n" "Denne opførsel vælges med --sparse=auto. Angiv --sparse=always for altid " "at \n" "oprette usammenhængende MÃ…L-filer, for KILDE-filer, der indeholder en \n" "tilstrækkeligt lang sekvens med nul-byte. Brug --sparse=never for at \n" "forhindre oprettelse af usammenhængende filer.\n" "\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Suffikset for sikkerhedskopiering er '~', med mindre andet er angivet med\n" "--suffix eller SIMPLE_BACKUP_SUFFIX. Versionsstyringsmetoden kan vælges med\n" "flaget --backup eller vha. miljøvariabelen VERSION_CONTROL. Gyldige værdier " "er:\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off lav aldrig sikkerhedskopier (selvom --backup er givet)\n" " numbered, t lav nummererede sikkerhedskopier\n" " existing, nil nummererede, hvis nummererede sikkerhedskopier " "eksisterer,\n" " ellers enkle sikkerhedskopier\n" " simple, never lav altid enkle sikkerhedskopier\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Som et specialtilfælde laver cp en sikkerhedskopi af KILDE nÃ¥r flagene for\n" "'force' og 'backup' er angivet, og KILDE og MÃ…L er samme navn for en " "eksisterende,\n" "regulær fil.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "kunne ikke beholde tider for %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "kan ikke beholde adgangsrettigheder pÃ¥ %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "kan ikke oprette katalog %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s eksisterer, men er ikke et katalog" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "kunne ikke Ã¥bne %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "manglende filoperand" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "manglende mÃ¥lfilsoperand efter %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "kan ikke kombinere --target-directory (-t) og --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "mÃ¥let %s er ikke et katalog" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "ved brug af --parents, skal mÃ¥let være et katalog" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "flere mÃ¥lkataloger angivet" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "kan ikke lave bÃ¥de hÃ¥rde og symbolske lænker" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "flagene --backup og --no-clobber kan ikke bruges samtidigt" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink kan kun bruges sammen med --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "type af sikkerhedskopi" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "kan ikke beholde sikkerhedskontekst uden en kerne, der understøtter SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "kan ikke beholde udvidede attributer, cp er kompileret uden xattr-" "understøttelse" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "inddata forsvandt" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: linjenummer uden for omrÃ¥de" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: linjenummer uden for omrÃ¥de" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " ved gentagelse %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: %s: ingen træffer fundet" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "fejl i søgning med regulært udtryk" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "skrivefejl for %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: heltal forventedes efter skilletegn" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: '}' er nødvendig i gentagelsesantal" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: heltal kræves mellem '{' og '}'" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: afsluttende skilletegn '%c' mangler" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ugyldigt regulært udtryk: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ugyldigt mønster" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: linjenummeret skal være større end nul" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "linjenummer %s er mindre end foregÃ¥ende linjenummer, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "advarsel: linjenummer %s er det samme som foregÃ¥ende" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "manglende konverteringsspecifikator i suffiks" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "ugyldig konverteringsspecifikator i suffiks: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "ugyldig konverteringsspecifikator i suffiks: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ugyldige flag i konverteringsspecifikation: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "for mange %%-konverteringsspecifikationer i suffiks" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "manglende %%-konverteringsspecifikation i suffiks" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ugyldigt tal" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Brug: %s [FLAG]... FIL MØNSTER...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Udskriv dele af FIL adskilt af MØNSTER til filerne 'xx01', 'xx02',...,\n" "og vis antal byte for hver del pÃ¥ standard-ud.\n" "\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT brug sprintf-FORMAT i stedet for %02d\n" " -f, --prefix=PRÆFIKS brug PRÆFIKS i stedet for 'xx'\n" " -k, --keep-files fjern ikke udfiler ved fejl\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=CIFRE brug angivet antal cifre i stedet for 2\n" " -s, --quiet, --silent vis ikke størrelsen af udfilerne\n" " -z, --elide-empty-files fjern tomme udfiler\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Læs standard-ind nÃ¥r FIL er '-'. Hvert MØNSTER kan være:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " HELTAL kopier frem til, men ikke med, angivet linjenummer\n" " /REGUDT/[POSITION] kopier frem til, men ikke med, en 'passende' linje\n" " %REGUDT%[POSITION] hop frem til, men ikke med, en 'passende' linje\n" " {HELTAL} gentag forrige mønster sÃ¥ mange gange som angivet\n" " {*} gentag forrige mønster sÃ¥ mange gange som muligt\n" "\n" "En linje-POSITION skal være '+' eller '-' fulgt af et positivt heltal\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "felter og positioner nummereres fra 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Brug: %s FLAG... [FIL]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Udskriv valgte dele af linjerne fra hver FIL til standard-ud.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LISTE vælg kun disse byte\n" " -c, --characters=LISTE vælg kun disse tegn\n" " -d, --delimiter=SKILLE brug SKILLE i stedet for TAB som feltskilletegn\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LISTE vælg kun disse felter; udskriv ogsÃ¥ enhver\n" " linje som ikke indeholder et skilletegn, " "medmindre\n" " flaget -s er angivet\n" " -n (ignoreres)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement omvend mængden af valgte byte, tegn eller felter\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited udskriv ikke linjer som ikke indeholder " "skilletegn\n" " --output-delimiter=STRENG brug STRENG som forvalgt ud-skilletegn.\n" " forvalgt er at bruge ind-skilletegnet\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Brug netop én af -b, -c eller -f. Hver LISTE bestÃ¥r af enten ét interval,\n" "eller mange intervaller adskilt af kommaer. De valgte inddata skrives i\n" "samme rækkefølge som de læses, og skrives netop én gang.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Hvert interval er en af følgende:\n" "\n" " N N'te byte, tegn eller felt, talt fra 1\n" " N- fra N'te byte, tegn eller felt, til slutningen af linjen\n" " N-M fra N'te til M'te (til og med) byte, tegn eller felt\n" " -M fra første til M'te (til og med) byte, tegn eller felt\n" "\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "ugyldig byte- eller feltliste" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "ugyldigt interval uden slutpunkt: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "ugyldigt aftagende interval" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "byte-startpunktet %s er for stort" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "felt nummer %s er for stort" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "kun én slags liste mÃ¥ bruges" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "skilletegnet skal være et enkelt tegn" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "du skal angive en liste af byte, tegn eller felter" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "et inddataskilletegn kan kun specificeres ved arbejde pÃ¥ felter" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "fjernelse af linjer uden skilletegn giver kun mening hvis man opererer\n" "\tmed felter" #: src/cut.c:870 msgid "missing list of fields" msgstr "feltliste mangler" #: src/cut.c:872 msgid "missing list of positions" msgstr "positionsliste mangler" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Brug: %s [FLAG]... [+FORMAT]\n" " eller: %s [FLAG] [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 #, fuzzy msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" "Vis det nuværende tidspunkt i det givne FORMAT eller ændr systemdato.\n" "\n" " -d, --date=STRENG vis tidspunkt beskrevet ved STRENG frem for " "'nu'\n" " -f, --file=DATOFIL som --date en gang for hver linje af DATOFIL\n" " -I[TIDSSPEC], --iso-8601[=TIDSSPEC] udskriv dato/tid i ISO 8601-format\n" " TIDSSPEC='date' kun for dato (standardværdi),\n" " 'hours', 'minutes', 'seconds', eller 'ns' for " "dato\n" " og tid med den angivne nøjagtighed.\n" # Bemærk: kommandoen date -R giver en engelsk udskrift pÃ¥ et dansk system, ogsÃ¥ #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FIL vis sidste ændringsdato for FIL\n" " -R, --rfc-2822 udskriv dato og tid i henhold til RFC-2822\n" " Eksempel: Sun, 08 Mar 2009 14:56:49 +0100\n" "\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIDSSPEC udskriv dato og tid i RFC 3339-format.\n" " TIMESPEC='date', 'seconds', eller 'ns' for\n" " dato og tid i den angivne præcision.\n" " Dato- og tidsdele adskilles af et enkelt\n" " mellemrum: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRENG indstil tiden som beskrevet af STRENG\n" " -u, --utc, --universal udskriv eller indstil universel tid (UTC)\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT styrer udskriften. Fortolkede sekvenser er:\n" "\n" " %% et ordret %-tegn\n" " %a lokaliseret, forkortet ugedagsnavn (f.eks. søn)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A lokaliseret fuldt ugedagsnavn (f.eks. søndag)\n" " %b lokaliseret forkortet mÃ¥nedsnavn (f.eks. jan)\n" " %B lokaliseret fuldt mÃ¥nedsnavn (f.eks. januar)\n" " %c lokaliseret dato og tid (f.eks. lør 04 nov 1989 12:02:33 CET)\n" # Bemærk: med dansk $LANG er %m/%d/%y stadig opførslen af %D #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Ã¥rhundrede; som %Y, dog udelades sidste to cifre (f.eks. 20)\n" " %d dag i mÃ¥ned (f.eks. 01)\n" " %D dato; samme som %m/%d/%y\n" " %e dag i mÃ¥ned, indledende nul erstattet med blanktegn; samme som %_d\n" # 'year of ISO week number' er umiddelbart meget mystisk, men det lader til at ISO har en ugenummereringsstandard hvor Ã¥rene ikke følger den Gregorianske kalender, http://en.wikipedia.org/wiki/ISO_week_date #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F fuld dato; samme som %Y-%m-%d\n" " %g sidste to cifre af Ã¥ret ved ISO-ugetal (se %G)\n" " %G Ã¥ret ved ISO-ugetal (se %V); er normalt kun nyttig sammen med %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h samme som %b\n" " %H time (00-23)\n" " %I time (01-12)\n" " %j dag pÃ¥ Ã¥ret (001-366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k time, med mellemrum ( 0-23); samme som %_H\n" " %l time, med mellemrum ( 1-12); samme som %_I\n" " %m mÃ¥ned (01-12)\n" " %M minut (00-59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n en ny linje\n" " %N nanosekunder (000000000..999999999)\n" " %p lokaleafhængig ækvivalent til AM eller PM; blank hvis ukendt\n" " %P som %p, men med smÃ¥ bogstaver\n" " %r lokaleafhængig tid, 12-timers (f.eks. 06:31:44)\n" " %R 24-timers tid i timer og minutter; samme som %H:%M\n" " %s sekunder siden 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S sekund (00..60)\n" " %t en tabulator\n" " %T tid; samme som %H:%M:%S\n" " %u dag i ugen (1..7), 1 betyder mandag\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U ugenummer, med søndag som første dag i ugen (00..53)\n" " %V ISO-ugenummer, med mandag som første dag i ugen (01..53)\n" " %w ugedag (0..6); søndag repræsenteres som 0\n" " %W ugenummer, med mandag som første dag i ugen (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x lokaleafhængigt datoformat (f.eks. 08-03-2009)\n" " %X lokaleafhængigt tidsformat (f.eks. 23:13:48)\n" " %y sidste to cifre i Ã¥rstallet (00..99)\n" " %Y Ã¥r\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z +hhmm numerisk tidszone (f.eks. -0400)\n" " %:z +hh:mm numerisk tidszone (f.eks. -04:00)\n" " %::z +hh:mm:ss numerisk tidszone (f.eks. -04:00:00)\n" " %:::z numerisk tidszone med : til nødvendig præcision (f.eks., -04, " "+05:30)\n" " %Z alfabetisk forkortelse for tidszone (f.eks., EDT)\n" "\n" "Som standard vil date udfylde eventuelle ekstra cifre ned nuller.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Følgende valgfri flag kan følge '%':\n" "\n" " - (bindestreg) udfyld ikke feltet\n" " _ (understreg) udfyld med blanktegn\n" " 0 (nul) udfyld med nuller\n" " ^ brug store bogstaver hvis muligt\n" " # brug store/smÃ¥ bogstaver omvendt, hvis muligt\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Efter eventuelle flag følger valgfrit en feltbredde, som er et decimaltal;\n" "derefter et valgfrit modifikationstegn, som er enten\n" "E for at bruge lokaltilpassede repræsentationer, hvis tilgængelige, eller\n" "O for at bruge lokaltilpassede numeriske symboler, hvis tilgængelige.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Eksempler:\n" "Omregn sekunder siden epoken (1970-01-01 UTC) til en dato\n" " $ date --date='@2147483647'\n" "\n" "Vis klokkeslættet pÃ¥ USA's vestkyst (brug tzselect(1) for at finde TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Vis det lokale klokkeslæt for 9:00 næste fredag pÃ¥ USA's vestkyst\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standard-ind" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "ugyldig dato %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "flere udskriftsformater angivet" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "flagene for at angive datoer til udskriving kan ikke bruges sammen" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "flagene for at udskrive og sætte tiden kan ikke bruges sammen" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "argumentet %s mangler et indledende '+'; \n" "nÃ¥r man bruger et flag for at angive datoer, skal hvert argument,\n" "der ikke er flag, være en formatstreng som begynder med '+'" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "kan ikke sætte dato" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "tidspunktet %s uden for omrÃ¥de" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s [OPERAND]...\n" " eller: %s FLAG\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Kopiér en fil med konvertering og formatering som angivet.\n" "\n" " bs=BYTE læs og skriv BYTE byte ad gangen\n" " cbs=BYTE konvertér BYTE byte ad gangen\n" " conv=KONV konvertér fil som angivet ved kommaadskilt liste af " "symboler\n" " count=N kopiér kun N indblokke\n" " ibs=BYTE læs BYTE byte ad gangen (standard: 512)\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FIL læs fra FIL i stedet for stdin\n" " iflag=FLAG læs som angivet ved kommaadskilt liste af symboler\n" " obs=BYTE skriv BYTE byte ad gangen (standard: 512)\n" " of=FIL skriv til FIL i stedet for stdout\n" " oflag=FLAG skriv som angivet ved kommaadskilt liste af symboler\n" " seek=BLOKKE udelad BLOKKE blokke med obs-størrelse fra\n" " begyndelsen af uddata\n" " skip=BLOKKE udelad BLOKKE blokke med ibs-størrelse fra\n" " begyndelsen af inddata\n" " status=noxfer udelad statistik for overførsel\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOKKE og BYTE kan have følgende multiplikative suffikser:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M=1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024 og sÃ¥ videre for T, P, E, Z, Y.\n" "\n" "Hvert KONV-symbol kan være:\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii fra EBCDIC til ASCII\n" " ebcdic fra ASCII til EBCDIC\n" " ibm fra ASCII til alterneret EBCDIC\n" " block udfyld felter afsluttet med linjeskift med mellemrum til\n" " cbs-størrelse\n" " unblock erstat afsluttende mellemrum med linjeskift i blokke med " "størrelse\n" " som givet i cbs\n" " lcase lav store bogstaver om til smÃ¥\n" " ucase ændr smÃ¥ bogstaver til store bogstaver\n" " sparse prøv at søge frem for at skrive uddata for NUL-indblokke\n" " swab ombyt hvert par af ind-byte\n" " sync udfyld hver ind-blok med NUL op til ibs-størrelse; ved brug\n" " af block eller unblock, udfyldes med blanktegn frem for NUL.\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl meld fejl hvis udfilen allerede findes\n" " nocreat opret ikke udfilen\n" " notrunc afkort ikke udfilen\n" " noerror fortsæt efter læsefejl\n" " fdatasync skriv data til udfil fysisk før der afsluttes\n" " fsync tilsvarende, men skriv ogsÃ¥ metadata\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Hvert FLAG-symbol kan være:\n" "\n" " append tilføjelsestilstand (kun meningsfuld ved udskrift;\n" " conv=notrunc anbefales)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio brug parallel data-I/O\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct brug direkte data-I/O\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory meld fejl for ikke-kataloger\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync brug synkroniseret I/O til data\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync tilsvarende, men ogsÃ¥ for metadata\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock opsaml fulde ind-blokke (kun iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock brug ikkeblokerende I/O\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime opdatér ikke tilgangstid\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache forkast lagrede data\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty tildel ikke styrende terminal fra fil\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow følg ikke symbolske lænker\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks meld fejl hvis lænket flere gange\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary brug binær I/O til data\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text brug tekst-I/O til data\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr " count_bytes behandl 'count=N' som et antal byte (kun iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr " skip_bytes behandl 'skip=N' som et antal byte (kun iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr " seek_bytes behandl 'seek=N' som et antal byte (kun oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Sendes et %s-signal til en kørende 'dd'-proces, vil den udskrive\n" "I/O-statistik til standard-fejl og sÃ¥ fortsætte kopieringen.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 blokke ind\n" " 18335302+0 blokke ud\n" " 9387674624 byte (9.4 GB) kopieret, 34.6279 sekunder, 271 MB/s\n" "\n" "Mulige flag:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> blokke ind\n" "%<PRIuMAX>+%<PRIuMAX> blokke ud\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> afkortet blok\n" msgstr[1] "%<PRIuMAX> afkortede blokke\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> byte (%s) kopieret" msgstr[1] "%<PRIuMAX> byte (%s) kopieret" #: src/dd.c:720 msgid "Infinity B" msgstr "Uendelig B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "lukker indfil %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "lukker uddatafil %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "kunne ikke slÃ¥ O_DIRECT fra: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "skriver til %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "ukendt operand %s" #: src/dd.c:1218 msgid "invalid conversion" msgstr "ugyldig konvertering" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "ugyldigt ind-flag" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "ugyldigt ud-flag" #: src/dd.c:1227 msgid "invalid status flag" msgstr "ugyldigt statusflag" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "ugyldigt antal %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "kan ikke kombinere nogen af {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "kan ikke kombinere block og unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "kan ikke kombinere lcase og ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "kan ikke kombinere excl og nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "kan ikke kombinere direct og nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "advarsel: omgÃ¥r lseek-kernefejl for fil (%s)\n" " med mt_type=0x%0lx -- se <sys/mtio.h> for listen af typer" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: kan ikke overspringe" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: kan ikke søge" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "overløb for afsæt ved læsning af fil %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "advarsel: ugyldigt filafsæt efter fejlslagen læsning" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "kan ikke arbejde omkring kernefejl alligevel" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "sætter flag for %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "hukommelsen blev opbrugt af inddatabuffer af størrelse %zu byte (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "hukommelsen blev opbrugt af uddatabuffer af størrelse %zu byte (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: kan ikke springe til det angivne afsæt" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "kunne ikke afkorte til %<PRIuMAX> byte i udfilen %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync mislykkedes for %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync mislykkedes for %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "kunne ikke Ã¥bne %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "afsæt for stort: kan ikke afkorte til en længde pÃ¥ seek=%<PRIuMAX> (%lu-" "byte) blokke" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "kunne ikke afkorte til %<PRIuMAX> byte i udfilen %s" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "kunne ikke fjerne cache for: %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Filsystem" #: src/df.c:175 msgid "Type" msgstr "Type" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blokke" #: src/df.c:181 msgid "Used" msgstr "Brugt" #: src/df.c:184 msgid "Available" msgstr "Tilbage" #: src/df.c:187 msgid "Use%" msgstr "Brug%" #: src/df.c:190 msgid "Inodes" msgstr "Inoder" #: src/df.c:193 msgid "IUsed" msgstr "IBrugt" #: src/df.c:196 msgid "IFree" msgstr "IFri" #: src/df.c:199 msgid "IUse%" msgstr "IBrug%" #: src/df.c:202 msgid "Mounted on" msgstr "Monteret pÃ¥" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "advarsel: kildefil %s er angivet mere end én gang" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Størr" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Tilb" #: src/df.c:474 msgid "Capacity" msgstr "Kapacitet" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Vis information om filsystemet som FIL ligger pÃ¥, eller som \n" "standard alle filsystemer.\n" "\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all medtag uægte filsystemer\n" " -B, --block-size=STØR skalér størrelser med STØR før de udskrives. F." "eks.\n" " vil '-BM' udskrive størrelser i enheder af " "1.048.576\n" " byte. Se STØR-format nedenfor.\n" " --total udskriv en samlet sum\n" " -h, --human-readable skriv størrelser pÃ¥ en læsevenlig form \n" " (f.eks. 1K 234M 2G)\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes skriv inodeinformation i stedet for blokforbrug\n" " -k som --block-size=1K\n" " -l, --local vis kun lokale filsystemer\n" " --no-sync kør ikke sync før hentning af forbrugsinfo " "(standard)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability brug POSIX-format for uddata\n" " --sync kør sync før hentning af forbrugsinfo\n" " -t, --type=TYPE vis kun filsystemer af typen TYPE\n" " -T, --print-type vis filsystemtype\n" " -x, --exclude-type=TYPE vis kun filsystemer som ikke er af typen TYPE\n" " -v (ignoreret)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "flagene --compare (-C) og --strip kan ikke bruges samtidigt" #: src/df.c:1335 msgid "warning: " msgstr "advarsel: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "det lange tilvalg '--megabytes' er forældet og vil snart blive fjernet" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "filsystem af typen %s er bÃ¥de valgt og udeladt" #: src/df.c:1500 msgid "Warning: " msgstr "Advarsel: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "kan ikke læse tabellen over monterede filsystemer" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "ingen filsystemer behandlet" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Brug: %s [FLAG]... [FIL]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Udskriv kommandoer for at sætte miljøvariablen LS_COLORS.\n" "\n" "Bestem ud-format:\n" " -b, --sh, --bourne-shell udskriv Bourne shell-kode for at sætte " "LS_COLORS\n" " -c, --csh, --c-shell udskriv C skal-kode for at sætte LS_COLORS\n" " -p, --print-database udskriv den interne database\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Hvis FIL er angivet, læs den for at bestemme hvilke farver der skal bruges " "til\n" "hvilke filtyper og endelser. Ellers bruges en forudkompileret database.\n" "For detaljer om formatet for disse filer, sÃ¥ kør 'dircolors --print-" "database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu: ugyldig linje; mangler andet element" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: ukendt nøgleord %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<intern>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "flagene for at udskrive dircolors interne database og at vælge en\n" "skálsyntaks er gensidigt udelukkende" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "filoperander kan ikke kombineres med --print-database (-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "ingen SHELL-miljøvariabel, og ingen skal-type angivet med flag" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Brug: %s [FLAG] NAVN...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Udskriv NAVN med alt fra sidste skrÃ¥streg fjernet; Hvis NAVN ikke " "indeholder\n" "nogen skrÃ¥streger, sÃ¥ udskriv '.' (for nuværende katalog).\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr " -z, --zero afslut linjer med en 0-byte frem for linjeskift\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Eksempler:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" efterfulgt af \"dir2\"\n" " %s stdio.h -> \".\"\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Brug: %s [FLAG]... [FIL]...\n" " eller: %s [FLAG]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Opsummér diskforbrug for hver FIL, rekursivt for kataloger.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all udskriv antal for alle filer, ikke kun kataloger\n" " --apparent-size udskriv tilsyneladende størrelser i stedet for\n" " diskforbrug; selvom den tilsyneladende størrelse\n" " normalt er mindre, kan den være større pÃ¥ grund " "af\n" " huller i (ikke-sammenhængende) filer, intern\n" " fragmentering, indirekte blokke og lignende\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=STØR skalér størrelser med STØR før de udskrives. F." "eks.\n" " vil '-BM' udskrive størrelser i enheder af " "1.048.576\n" " byte. Se STØR-formatet nedenfor.\n" " -b, --bytes svarer til '--apparent-size --block-size=1'\n" " -c, --total angiv samlet sum\n" " -D, --dereference-args dereferér kun symbolske lænker, som angives pÃ¥\n" " kommandolinjen\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F giv oversigt over diskforbrug for de NUL-afsluttede\n" " filnavne angivet i filen F;\n" " Hvis F er -, sÃ¥ læs navne fra standard-ind\n" " -H samme som --dereference-args (-D)\n" " -h, --human-readable udskriv størrelser i læsevenligt format\n" " (f.eks. 1K 234M 2G)\n" " --si som -h, men brug potenser af 1000 frem for 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k som --block-size=1K\n" " -l, --count-links tæl størrelser flere gange for hÃ¥rde lænker\n" " -m som --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference følg alle symbolske lænker\n" " -P, --no-dereference følg ingen symbolske lænker (standard)\n" " -0, --null afslut hver udskriftslinje med 0-byte frem for \n" " linjeskift\n" " -S, --separate-dirs medtag ikke størrelsen pÃ¥ underkataloger\n" " -s, --summarize vis kun sum for hvert argument\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time vis tidspunktet for den seneste modifikation for " "alle\n" " filer i mappen og dens undermapper\n" " --time=ORD vis tid som ORD frem for modifikationstid:\n" " atime, access, use, ctime eller status\n" " --time-style=STIL vis tidspunkter med stilen STIL:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT fortolkes som i 'date'\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "Uendelig" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "fts_read mislykkedes: %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "ugyldig største dybde %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "ugyldigt argument %2$s til --%1$s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "kan ikke bÃ¥de summere og vise alle størrelser" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "advarsel: summering er det samme som at bruge --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "advarsel: summering er i konflikt med --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "filoperander kan ikke kombineres med --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: læsefejl" # %s evaluerer til '-' ifølge wc's kildekode -- altsÃ¥ man mÃ¥ ikke angive stdin som fil, der skal læses, nÃ¥r man læser fra stdin (hvilket er logisk) #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "nÃ¥r der læses filnavne fra stdin, mÃ¥ intet filnavn være %s" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "ugyldigt filnavn af længde nul" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totalt" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Brug: %s [KORT-FLAG]... [STRENG]...\n" " eller: %s LANGT-FLAG\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Ekko STRENGene til standard-ud.\n" "\n" " -n udskriv ikke afsluttende linjeskiftstegn\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e aktivér fortolkning af omvendt skrÃ¥stregsnotation " "(standard)\n" " -E deaktivér fortolkning af omvendt skrÃ¥stregsnotation\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e aktivér fortolkning af omvendt skrÃ¥stregsnotation\n" " -E deaktivér fortolkning af omvendt skrÃ¥stregsnotation " "(standard)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Hvis -e er givet, vil følgende sekvenser genkendes:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ omvendt skrÃ¥streg\n" " \\a alarm (BEL)\n" " \\b baktegn (backspace)\n" " \\c foretag ingen yderligere udskrift\n" " \\e undvigesekvens\n" " \\f sideskift\n" " \\n ny linje\n" " \\r vognretur\n" " \\t vandret tabulator\n" " \\v lodret tabulator\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN byte med oktal værdi NNN (1 til 3 cifre)\n" " \\xHH byte med heksadecimal værdi HH (1 til 2 cifre)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Brug: %s [FLAG]... [-] [NAVN=VÆRDI]... [KOMMANDO [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Sæt hvert NAVN til VÆRDI i miljøet og udfør KOMMANDO.\n" " -i, --ignore-environment start uden miljøvariable\n" " -0, --null afslut udskrevne linjer med 0-byte frem for\n" " linjeskift\n" " -u, --unset=NAVN fjern miljøvariablen NAVN\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "En - for sig selv medfører -i. Hvis ingen KOMMANDO er angivet, udskriv\n" "det resulterende miljø.\n" # Bemærk at det er env.c -- denne streng refererer til at 'unsette' miljøvariable #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "kan ikke fjerne miljøvariabel %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "kan ikke sætte %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "kan ikke angive --null (-0) med kommando" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertér tabulatorer i hver FIL til mellemrum, skriv til standard-ud.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial konvertér ikke tabulatorer efter ikke-blanke tegn\n" " -t, --tabs=ANTAL hav tabulatorer ANTAL tegn fra hinanden, ikke 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr " -t, --tabs=LISTE brug komma-separeret LISTE med tab-positioner\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "tabulatorstop for stort %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "tabulatorstørrelsen indeholder ugyldige tegn: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "tabulatorstørrelse kan ikke være 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "tabulatorstørrelser skal være stigende" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "ind-linjen er for lang" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Brug: %s UDTRYK\n" " eller: %s FLAG\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Udskriv værdien af UDTRYK til standard-ud. En tom linje nedenfor adskiller " "grupper\n" "med voksende prioritet. UDTRYK kan være:\n" "\n" " ARG1 | ARG2 ARG1 hvis det hverken er null eller 0, ellers ARG2\n" "\n" " ARG1 & ARG2 ARG1 hvis intet af argumenterne er null eller 0, ellers " "0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 er mindre end ARG2\n" " ARG1 <= ARG2 ARG1 er mindre end eller lig med ARG2\n" " ARG1 = ARG2 ARG1 er lig med ARG2\n" " ARG1 != ARG2 ARG1 er ikke lig med ARG2\n" " ARG1 >= ARG2 ARG1 er større end eller lig med ARG2\n" " ARG1 > ARG2 ARG1 er større end ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 aritmetisk sum af ARG1 og ARG2\n" " ARG1 - ARG2 aritmetisk forskel mellem ARG1 og ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 aritmetisk produkt af ARG1 og ARG2\n" " ARG1 / ARG2 aritmetisk kvotient af ARG1 divideret med ARG2\n" " ARG1 % ARG2 aritmetisk rest af ARG1 divideret med ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRENG : REGUDTRYK forankret mønstersøgning efter REGUDTRYK i STRENG\n" "\n" " match STRENG REGUDTRYK samme som STRENG : REGUDTRYK\n" " subtr STRENG POS LÆNGDE delstreng af STRENG, POS regnes fra 1\n" " index STRENG BOGST index i STRENG hvor BOGST fandtes, eller 0\n" " length STRENG længden af STRENG\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + SYMBOL tolk SYMBOL som en streng, selv om den er et\n" " nøgleord som \"match\" eller en operator som " "'/'\n" " ( UDTRYK ) værdien af UDTRYK\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Vær opmærksom pÃ¥ at mange operatorer skal beskyttes mod " "kommandofortolkeren,\n" "f.eks. med gÃ¥seøjne. Sammenligninger er aritmetiske hvis begge\n" "ARGumenter er tal, ellers leksikografiske. Mønster-sammenligninger\n" "returnerer strengen som passede pÃ¥ mønstret mellem \\( og \\) eller null.\n" "Hvis \\( og \\) ikke bruges, returneres antal tegn som passede eller 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Afslutningskode er 0 hvis UDTRYK er hverken null eller 0, 1 hvis UDTRYK er " "null\n" "eller 0, 2 hvis UDTRYK indeholder syntaksfejl, og 3 hvis der opstod en " "fejl.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "syntaksfejl" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "fejl i regulært udtryksmatcher" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "ikke-heltalligt argument" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "deling med nul" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "sæt LC_ALL='C' for at omgÃ¥ problemet" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "de sammenlignede strenge var %s og %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s er ikke et gyldigt positivt heltal" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s er for stor" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s [TAL]...\n" " eller: %s FLAG\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Udskriv primfaktorerne til alle angivne heltal TAL. Hvis ingen\n" "argumenter er angivet pÃ¥ kommandolinjen, læses de fra standard-ind.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "kan ikke finde aktuelt katalog" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "kan ikke gÃ¥ til kataloget %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "kan ikke anvende stat pÃ¥ nuværende katalog (nu %s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Brug: %s [-BREDDE] [FLAG]... [FIL]...\n" # Navnet DIGITS er blevet ændret til WIDTH i coreutils 7.1, men de har vist glemt at rette denne streng #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Omformatér hvert afsnit i FILerne, og skriv til standard-ud.\n" "Flaget -BREDDE er en forkortet form af --width=BREDDE.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin behold indrykning for de første to linjer\n" " -p, --prefix=STRENG omformatér kun linjer som begynder med STRENG;\n" " præfikset sammensættes igen med omformaterede\n" " linjer\n" " -s, --split-only opdel lange linjer, men fyld ikke op\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph indrykning for første linje er forskellig fra " "næste\n" " -u, --uniform-spacing et mellemrum mellem ord, to efter sætninger\n" " -w, --width=BREDDE maksimal linjelængde (ellers 75 kolonner)\n" " -g, --goal=BREDDE mÃ¥lbredde (som standard 93 % af bredden)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "ugyldigt flag -- %c; -BREDDE genkendes kun nÃ¥r det er første flag;\n" "brug -w N i stedet" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ugyldig bredde: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Ombryd linjerne i hver FIL (forvalgt standard-ind), og skriv til standard-" "ud\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes tæl byte i stedet for kolonner\n" " -s, --spaces ombryd ved mellemrum\n" " -w, --width=BREDDE brug BREDDE kolonner i stedet for 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "ugyldigt antal kolonner: %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Brug: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Udskriv platformsafhængige grænser i et format, der er nyttigt til " "skalscript.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "kunne ikke hente grupper for brugeren %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "kunne ikke hente grupper for den aktuelle proces" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "kan ikke finde navn for gruppe-ID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Brug: %s [FLAG]... [BRUGERNAVN]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Udskriv gruppemedlemsskaber for hvert BRUGERNAVN eller, hvis intet " "BRUGERNAVN\n" "er angivet, for den aktuelle proces (som kan være forskellige hvis gruppens\n" "database er ændret).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "kan ikke finde reel UID" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "kan ikke finde effektiv GID" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "kan ikke finde reel GID" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s: ingen sÃ¥dan bruger" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de første 10 linjer af hver FIL til standard-ud.\n" "Med mere end en FIL angivet udskrives filnavnet før hver FIL.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K udskriv de første K byte af hver fil;\n" " med indledende '-', udskriv alle pÃ¥ nær de " "sidste\n" " K byte af hver fil\n" " -n, --lines=[-]K udskriv de første K linjer frem for de første " "10;\n" " med indledende '-', udskriv alle pÃ¥ nær de " "sidste\n" " K linjer af hver fil\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent udskriv ikke overskrifter med filnavne først\n" " -v, --verbose skriv altid overskrifter med filnavne først\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K kan have et multiplikativt suffiks:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 og sÃ¥ videre for T, P, E, Z, Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: filen er krympet for meget" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: antal byte er for stort" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: kan ikke søge (lseek) tilbage til oprindelige position" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: kan ikke søge til afsæt %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s: kunne ikke nulstille filmarkør" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "kan ikke flytte filpegeren for %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: %s er sÃ¥ stor at den ikke kan repræsenteres" #: src/head.c:886 msgid "number of lines" msgstr "antal linjer" #: src/head.c:886 msgid "number of bytes" msgstr "antal byte" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ugyldigt antal linjer" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "ugyldigt antal byte" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "ugyldigt afsluttende flag -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Brug: %s [FLAG]\n" "Udskriv den numeriske identifikator (heksadecimalt) for denne vært.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Brug: %s [NAVN]\n" " eller: %s FLAG\n" "Udskriv eller indstil værtsnavnet for dette system.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "kan ikke sætte navnet til %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "kan ikke sætte værtsnavnet; dette system mangler funktionaliteten" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "kan ikke bestemme værtsnavnet" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Brug: %s [FLAG]... [BRUGERNAVN]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Udskriv bruger- og gruppeinformation for det angivne BRUGERNAVN, \n" "eller den nuværende bruger, hvis BRUGERNAVN er udeladt.\n" "\n" " -a ignoreres, for kompatibilitet med andre versioner\n" " -Z, --context udskriv kun sikkerhedskontekst for den nuværende bruger\n" " -g, --group udskriv kun det effektive gruppe-ID\n" " -G, --groups udskriv alle gruppe-ID'er\n" " -n, --name udskriv et navn i stedet for et nummer, for -ugG\n" " -r, --real udskriv virkeligt ID i stedet for effektivt, for -ugG\n" " -u, --user udskriv kun det effektive bruger-ID\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Uden nogen FLAG udskrives et nyttigt udvalg af identificeret information.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) virker kun pÃ¥ en kerne, der understøtter SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "kan ikke udskrive sikkerhedskontekst nÃ¥r denne er angivet af bruger" # Lidt kryptisk. 'id -gu' udskriver dette, idet bÃ¥de -g og -u lyder "print only <some property>. Bedre forslag? #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "kan ikke udskrive \"kun\" for mere en ét valg" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "kan ikke udskrive kun navn eller virkelige ID'er i forvalgt format" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "kan ikke hente proceskontekst" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "kan ikke finde effektiv UID" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "kan ikke finde navn for bruger-id %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " grupper=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " kontekst=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "advarsel: %s: kunne ikke ændre kontekst til %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "opretter katalog %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "kan ikke ændre ejerskab for %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "kan ikke sætte tidsstempler for %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "systemkaldet fork mislykkedes" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "kan ikke køre %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "venter pÃ¥ strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "strip-proces afsluttede uplanmæssigt" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "ugyldig bruger %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Brug: %s [FLAG]... [-T] KILDE MÃ…L\n" " eller: %s [FLAG]... KILDE... KATALOG\n" " eller: %s [FLAG]... -t KATALOG KILDE...\n" " eller: %s [FLAG]... -d KATALOG...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Dette installationsprogram kopierer filer (ofte umiddelbart efter " "kompilering)\n" "til destinationer, du vælger. Hvis du ønsker at hente og installere en\n" "brugsklar pakke pÃ¥ et GNU/Linux-system, bør du i stedet anvende et\n" "pakkehÃ¥ndteringsprogram sÃ¥som yum(1) eller apt-get(1).\n" "\n" "De første tre formater kopierer KILDE til MÃ…L, eller flere KILDEr til det\n" "eksisterende KATALOG, mens adgangsrettigheder og ejer/gruppe indstilles.\n" "Med fjerde format oprettes alle komponenter af de givne KATALOGer.\n" "\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=KONTROL] opret sikkerhedskopi af hver eksisterende\n" " destinationsfil\n" " -b som --backup, men accepterer ikke et argument\n" " -c (ignoreres)\n" " -C, --compare sammenlign hvert par af kilde- og destinationsfiler, " "og\n" " ændr ikke destinationsfilen i visse tilfælde\n" " -d, --directory behandl alle argumenter som katalognavne; opret alle\n" " komponenter i de angivne kataloger.\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D opret alle indledende komponenter af MÃ…L undtagen den\n" " sidste, kopiér derefter KILDE til MÃ…L\n" " -g, --group=GRUPPE vælg gruppeejerskab, i stedet for processens\n" " nuværende gruppe\n" " -m, --mode=TILSTAND vælg adgangsrettigheder (som chmod), frem for rwxr-xr-" "x\n" " -o, --owner=EJER vælg ejerskab (kun superbruger)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps brug samme læse-/ændringstider pÃ¥ MÃ…L-filerne\n" " som der er pÃ¥ KILDE-filerne.\n" " -s, --strip fjern symboltabeller\n" " --strip-program=PROGRAM program, der bruges til at fjerne binærkode\n" " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-suffiks\n" " -t, --target-directory=KATALOG kopiér alle KILDE-argumenter ind i " "KATALOG\n" " -T, --no-target-directory behandl MÃ…L som en normal fil\n" " -v, --verbose skriv navnet pÃ¥ hvert katalog nÃ¥r det bliver oprettet\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context behold SELinux-sikkerhedskontekst\n" " -Z, --context=KONTEKST sæt SELinux-sikkerhedskontekst for filer og " "kataloger\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "ADVARSEL: ignorerer --preserve-context; denne kerne understøtter ikke SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "ADVARSEL: ignorerer --context (-Z); denne kerne understøtter ikke SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "strip-flaget kan ikke bruges ved installation af et katalog" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "mÃ¥lkatalog ikke tilladt ved installation af et katalog" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "kan ikke tvinge mÃ¥lkontekst til %s og bibeholde den" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "ugyldig tilstand %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "ADVARSEL: ignorerer flaget --strip-program, da flaget -s ikke blev angivet" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "flagene --compare (-C) og --preserve-timestamps kan ikke bruges samtidigt" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "flagene --compare (-C) og --strip kan ikke bruges samtidigt" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "flaget --compare (-C) ignoreres nÃ¥r du angiver en tilstand med ikke-" "adgangsrettighedsbit" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Skriv en linje til standard-ud for hvert par af ind-linjer med ens " "flettefelt.\n" "Det forvalgte flettefelt er det første felt, begrænset af blanktegn. Hvis " "FIL1 \n" "eller FIL2 (ikke begge) er -, læses fra standard-ind.\n" "\n" " -a FILNR udskriv ogsÃ¥ linjer som ikke kan parinddeles fra fil " "FILNR,\n" " hvor FILNR er 1 eller 2 svarende til FIL1 eller FIL2\n" " -e TOM erstat manglende ind-felter med TOM\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case skeln ikke mellem store/smÃ¥ bogstaver ved " "sammenligning \n" " af felter\n" " -j FELT samme som '-1 FELT -2 FELT'\n" " -o FORMAT følg FORMAT ved sammensætning af udlinje\n" " -t TEGN brug TEGN som feltseparator for ind- og udfelter\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FILNR som -a FILNR, men drop flettede ud-linjer\n" " -1 FELT flet ved dette FELT fra fil 1\n" " -2 FELT flet ved dette FELT fra fil 2\n" " --check-order kontrollér om indlinjerne er korrekt sorteret, selv " "hvis\n" " alle indlinjer kan parinddeles\n" " --nocheck-order kontrollér ikke om indlinjerne er korrekt sorteret\n" " --header betragt første linje i hver fil som feltoverskrifter, " "og\n" " udskriv dem uden at forsøge parinddeling for disse\n" # bruger ""-anførselstegn de steder hvor '' optræder i kommandolinjeeksempler af hensyn til læselighed #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Med mindre -t TEGN er angivet, vil indledende blanke tegn opfattes som\n" "feltseparatorer, og blive ignoreret; ellers benyttes TEGN som\n" "feltseparator. Hvert FELT er et feltnummer talt fra 1. FORMAT er en\n" "eller flere komma- eller blank-separerede specifikationer, der hver er\n" "'FILNR.FELT' eller '0'. Det forvalgte FORMAT udskriver flettefeltet,\n" "resten af felterne fra FIL1 og resten af felterne fra FIL2, alle adskilt\n" "med TEGN. Hvis FORMAT er nøgleordet 'auto', bestemmer første linje af \n" "hver fil antallet af felter, der udskrives for hver linje.\n" "\n" "Vigtigt: FIL1 og FIL2 skal være sorteret efter flettefelt. Brug f.eks.\n" "\"sort -k 1b,1\" hvis 'join' ikke fÃ¥r nogen flag, eller \"join -t ''\"\n" "hvis 'sort' ikke fÃ¥r nogen flag. Bemærk at sammenligninger følger\n" "reglerne angivet ved 'LC_COLLATE'. Hvis indlinjerne ikke er sorteret, og\n" "der optræder linjer som ikke kan flettes, vil der blive vist en advarsel.\n" #: src/join.c:403 #, fuzzy, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%ju: er ikke sorteret: %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "ugyldigt feltnummer: %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "ugyldig specifikation af felt: %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "ugyldigt filnummer i feltspec: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "inkompatible join-felter %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "modstridende erstatningsstrenge for tomme felter" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "flertegns-tabulator %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "inkompatible tabulatorer" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "begge filer kan ikke være standard-ind" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Brug: %s [-s SIGNAL | -SIGNAL] PID...\n" " eller: %s -l [SIGNAL]...\n" " eller: %s -t [SIGNAL]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Send signaler til processer, eller vis signaler.\n" "\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL\n" " angiv navnet eller nummeret pÃ¥ signalet som skal sendes\n" " -l, --list list signalnavne, eller konvertér signalnavn til/fra\n" " nummer\n" " -t, --table skriv en tabel med signalinformation\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL kan være et signalnavn sÃ¥som 'HUP' eller et signalnummer sÃ¥som\n" "'1', eller en slutstatus fra en proces afsluttet af et signal. PID\n" "er et heltal; hvis det er negativt, identificerer det en procesgruppe.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: ugyldig proces-id" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "ugyldigt flag - %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: flere signaler angivet" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "flere -l eller -t-flag angivet" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "kan ikke kombinere signal med -l eller -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "ingen proces-ID angivet" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "kunne ikke allokere en stdio-buffer pÃ¥ %<PRIuMAX> byte\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "ugyldigt buffertilstand %s til %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "kunne ikke indstille buffertilstand for %s til %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Brug: %s FIL1 FIL2\n" " eller: %s FLAG\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Kald funktionen link for at oprette en lænke FIL2 til en\n" "eksisterende FIL1.\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "kan ikke oprette lænke %s til %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: hÃ¥rd lænke ikke tilladt for katalog" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: kan ikke overskrive katalog" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: overskriv %s? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "kunne ikke oprette symbolsk lænke %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "kunne ikke oprette symbolsk lænke %s -> %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "kunne ikke oprette hÃ¥rd lænke til %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "kunne ikke oprette hÃ¥rd lænke %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "kunne ikke oprette hÃ¥rd lænke %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Brug: %s [FLAG]... [-T] KILDE LÆNKENAVN (1. form)\n" " eller: %s [FLAG]... MÃ…L (2. form)\n" " eller: %s [FLAG]... MÃ…L... KATALOG (3. form)\n" " eller: %s [FLAG]... -t KATALOG MÃ…L... (4. form)\n" # Det er vist unødvendigt at oversætte 'if later resolved' direkte #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "I 1. form: Opret en lænke til MÃ…L med navnet LÆNKENAVN.\n" "I 2. form: Opret en lænke til MÃ…L i det nuværende katalog.\n" "I 3. og 4. form: Opret lænker til hvert MÃ…L i KATALOG.\n" "Opret hÃ¥rde lænker som standard, eller symbolske lænker med --symbolic.\n" "Som udgangspunkt mÃ¥ hver destination (navnet pÃ¥ den nye lænke) ikke " "allerede\n" "eksistere. NÃ¥r der oprettes hÃ¥rde lænker, skal hvert MÃ…L eksistere.\n" "Symbolske lænker kan indeholde vilkÃ¥rlig tekst; en relativ lænke fortolkes\n" "i relation til dets overkatalog.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende\n" " destinationsfil\n" " -b som --backup, men tager ikke noget argument\n" " -d, -F, --directory tillad superbrugeren at forsøge at oprette\n" " hÃ¥rde lænker til kataloge (bemærk: dette " "vil\n" " sandsynligvis slÃ¥ fejl pÃ¥ grund af\n" " systembegrænsninger, selv for " "superbrugeren)\n" " -f, --force fjern eksisterende destinationsfiler\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive bekræft før sletning af destinationer\n" " -L, --logical dereferér MÃ…L som er symbolske lænker\n" " -n, --no-dereference behandl LÆNKENAVN som en normal fil, hvis den\n" " er en symbolsk lænke til et katalog\n" " -P, --physical lav hÃ¥rde lænker direkte til symbolske lænker\n" " -r, --relative opret symbolske lænker relativt til " "lænkestedet\n" " -s, --symbolic lav symbolske lænker i stedet for hÃ¥rde " "lænker\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-" "suffiks\n" " -t, --target-directory=KATALOG angiv det KATALOG, lænkerne skal oprettes " "i\n" " -T, --no-target-directory behandl altid LÆNKENAVN som en normal fil\n" " -v, --verbose skriv navnet pÃ¥ hver fil, der lænkes\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Brug af -s ignorerer -L og -P. Ellers vil det sidst givne flag angive\n" "opførslen nÃ¥r MÃ…L er en symbolsk lænke, med %s som standard.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "kan ikke kombinere --target-directory og --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "kan ikke bruge --relative uden --symbolic" # Der stÃ¥r ganske vist proper name, men det er tydeligvis en "fejlmeddelelse" der vises nÃ¥r det rigtige navn mangler #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXMIG: ukendt" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Brug: %s [FLAG]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Udskriv navnet pÃ¥ den nuværende bruger.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "ikke noget login-navn" # Disse to format skal expandera til samme længd. (Det findes en # kommentar omedelbart inden dem i koden om det. Hur fÃ¥r man xgettext # at tage med kommentarer?) #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "ignorerer ugyldig værdi af miljøvariabelen QUOTING_STYLE: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "ignorerer ugyldig længde i miljøvariabelen COLUMNS: %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "ignorerer ugyldig tabulatorstørrelse i miljøvariabelen TABSIZE: %s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "ugyldig linjelængde: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "ugyldig tabulatorstørrelse %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "ugyldig tidsstilsformat %s" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Gyldige argumenter er:\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (f.eks., +%H:%M) for et format i stil med 'date'\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "fejl ved klargørelse af mÃ¥nedsstrenge" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "ukendt præfiks: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "uforstÃ¥elig værdi i miljøvariabelen LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "kan ikke Ã¥bne katalog %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "kan ikke bestemme enhed og inode for %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: viser ikke allerede vist katalog" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "læser katalog %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "lukker kataloget %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "kan ikke sammenligne filnavnene %s og %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Vis information om FILer (nuværende katalog med mindre andet er angivet).\n" "Sortér filerne alfabetisk hvis ingen af flagene -cftuvSUX eller --sort\n" "er givet.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all skjul ikke filer som starter med .\n" " -A, --almost-all skjul underforstÃ¥et . og ..\n" " --author bruges med -l; skriv forfatter for hver fil\n" " -b, --escape skriv undvigesekvenser for ikke-grafiske tegn\n" " i stil med C\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=STØR skalér størrelser med STØR før de udskrives.\n" " F.eks. vil '--block-size=M' udskrive " "størrelser\n" " i enheder af 1.048.576 byte. Se STØR-format\n" " nedenfor.\n" " -B, --ignore-backups vis ikke filer som ender pÃ¥ ~\n" " -c med -lt: sortér efter, og vis, ctime " "(tidspunkt\n" " for sidste ændring af filstatusinformation)\n" " med -l: vis ctime og sortér efter navn\n" " ellers: sortér efter ctime, nyeste først\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C vis filer i kolonner\n" " --color[=NÃ…R] udskriv med farver. NÃ…R er som standard " "'always',\n" " men kan ogsÃ¥ være 'never' eller 'auto'. " "Mere\n" " information findes nedenfor\n" " -d, --directory vis kataloger uden at vise indholdet,\n" " og dereferér ikke symbolske lænker\n" " -D, --dired lav uddata til Emacs' dired-tilstand\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f sortér ikke, brug -aU, brug ikke -ls --color\n" " -F, --classify føj en angivelse (*/=>@|) til elementerne\n" " --file-type det samme, men tilføj ikke '*'\n" " --format=ORD 'across' -x, 'commas' -m, 'horizontal' -x,\n" " 'long' -l, 'single-column' -1, 'verbose' -" "l, \n" " 'vertical' -C\n" " --full-time ligesom -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr " -g som -l, men udskriv ikke ejer\n" # bemærk: --sort-flaget er ikke nødvendigt, derfor "kan bruges med..." #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " gruppér kataloger før filer.\n" " kan bruges med --sort-flaget, men enhver " "brug\n" " af --sort=none (-U) deaktiverer gruppering\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group skriv ikke gruppenavne ved langt format\n" " -h, --human-readable bruges med -l; skriv størrelser pÃ¥ læsevenlig " "form\n" " (f.eks. 1K 234M 2G)\n" " --si det samme, men brug 1000 som grundtal, ikke " "1024\n" # Hvad mener de med 'implied'? For mig at se opfører programmet sig pÃ¥ # en sÃ¥dan mÃ¥de, at hvis ordet udelades, sÃ¥ giver sætningerne samme # mening. Jeg udelader ordet i oversættelsen. # # shell pattern ~ regex-agtig syntaks. http://www.gnu.org/software/findutils/manual/html_node/find_html/Shell-Pattern-Matching.html #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " følg symbolske lænker angivet pÃ¥ " "kommandolinjen\n" " --dereference-command-line-symlink-to-dir\n" " følg hver symbolsk lænke angivet pÃ¥\n" " kommandolinjen, der peger pÃ¥ et katalog\n" " --hide=MØNSTER udskriv ikke elementer, der matcher " "skalmønstret\n" " MØNSTER (tilsidesættes af -a eller -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=ORD tilføj indikator med stilen ORD til elementer:\n" " none (standard), slash (-p),\n" " file-type (--file-type), classify (-F),\n" " -i, --inode vis indeksnummer for hver fil\n" " -I, --ignore=MØNSTER vis ikke filer, der matcher skalmønstret " "MØNSTER\n" " -k, --kibibytes brug blokke pÃ¥ 1024 byte\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l brug langt listeformat\n" " -L, --dereference nÃ¥r der vises filinformation for symbolske " "lænker,\n" " sÃ¥ vis information for filen, som lænken " "peger\n" " pÃ¥, frem for lænken selv\n" " -m brug hele skærmbredden med en liste adskilt af\n" " kommaer\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid ligesom -l, men skriv bruger- og gruppe-ID med " "tal\n" " -N, --literal skriv rÃ¥ elementnavne (behandl ikke f.eks.\n" " kontroltegn anderledes)\n" " -o ligesom -l, men vis ikke gruppeinformation\n" " -p, --indicator-style=slash\n" " tilføj skrÃ¥streg som indikator for kataloger\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars skriv ? i stedet for ikke-grafiske tegn\n" " --show-control-chars vis ikke-grafiske tegn som de er (standard med\n" " mindre programmet er 'ls' og uddata er en\n" " terminal)\n" " -Q, --quote-name sæt filnavne i gÃ¥seøjne\n" " --quoting-style=ORD brug anførselsstil ORD for filnavn:\n" " literal, locale, shell, shell-always, c\n" " eller escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse sortér i omvendt rækkefølge\n" " -R, --recursive vis underkataloger rekursivt\n" " -s, --size skriv allokeret størrelse for hver fil i " "blokke\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S sortér efter filstørrelse\n" " --sort=ORD sortér efter ORD frem for navn: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=ORD bruges med -l; vis tidspunkt som ORD frem for\n" " ændringstidspunkt: atime -u, access -u, use -" "u,\n" " ctime -c eller status -c; brug den angivne tid\n" " som sorteringsnøgle, hvis --sort=time\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STIL bruges med -l; vis tidspunkter med stilen " "STIL:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT fortolkes som 'date'; hvis FORMAT er\n" " FORMAT1<linjeskift>FORMAT2, gælder FORMAT1 for\n" " ældre filer, og FORMAT2 for nyere filer;\n" " hvis 'posix-' sættes foran STYLE, vil STYLE " "kun\n" " blive anvendt uden for POSIX-lokalitet\n" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t sortér efter ændringstidspunkt, nyeste først\n" " -T, --tabsize=KOLONNER antag tabulatorstop pÃ¥ KOLONNER frem for 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u med -lt: sortér efter, og vis, læsningstid\n" " med -l: vis læsningstid og sortér efter navn\n" " ellers: sortér efter læsningstid\n" " -U sortér ikke; vis filer som de ligger i " "kataloget\n" " -v naturlig sortering af (versions-)tal i tekst\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=KOLONNER antag denne skærmbredde i stedet for aktuel " "værdi\n" " -x vis elementer linjevis i stedet for kolonnevis\n" " -X sortér alfabetisk efter filendelser\n" " -Z, --context udskriv eventuel SELinux-sikkerhedskontekst " "for\n" " hver fil\n" " -1 vis én fil per linje\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Brug af farve til at skelne filtyper er som standard slÃ¥et fra, og med\n" "--color=never. Med --color=auto vil ls kun skrive farvekoder, nÃ¥r\n" "standard-ud er forbundet til en terminal. Indstillingerne kan ændres\n" "med miljøvariablen LS_COLORS. Brug kommandoen dircolors til at angive den.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Afslutningskode:\n" " 0 hvis OK,\n" " 1 hvis mindre problemer (f.eks.: kan ikke tilgÃ¥ underkatalog),\n" " 2 hvis alvorlige problemer (f.eks.: kan ikke tilgÃ¥ " "kommandolinjeargument).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" # Anden %s er 'md5' #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Brug: %s [FLAG]... [FIL]...\n" "Udskriv eller tjek %s-kontrolsummer (%d-bit).\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary binær læsetilstand (forvalg pÃ¥ nær ved læsning fra \n" " tty-stdin)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary binær læsetilstand\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr " -c, --check læs %s-summer fra FILerne og tjek dem\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text tekstlæsetilstand (forvalg ved læsning af tty-" "stdind)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text tekstlæsetilstand (forvalg)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "De følgende tre flag bruges kun ved kontrol af kontrolsummer:\n" " --quiet udskriv ikke O.k. for hver godkendt fil\n" " --status udskriv ikke noget; statuskode angiver resultat\n" " -w, --warn advar om fejlformaterede kontrolsum-linjer\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict afslut med status forskellig fra nul ved ugyldigt " "input\n" " sammen med --check\n" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Summerne bliver beregnet som beskrevet i %s. Ved kontrol skal inddata være\n" "tidligere uddata fra dette program. Forvalgt tilstand er at udskrive en\n" "linje med kontrolsum, et tegn som angiver inddatatilstand ('*' for binær,\n" "mellemrum for tekst), og navnet pÃ¥ hver FIL.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: for mange kontrolsumlinjer" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s: %<PRIuMAX>: ukorrekt formateret %s-kontrolsumlinje" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: FEJL ved Ã¥bning eller læsning\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "MISLYKKEDES" #: src/md5sum.c:597 msgid "OK" msgstr "O.k." #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: ingen rigtigt formatterede %s-kontrolsumlinjer fundet" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "ADVARSEL: %<PRIuMAX> linje er forkert formateret" msgstr[1] "ADVARSEL: %<PRIuMAX> linjer er forkert formateret" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "ADVARSEL: %<PRIuMAX> angivet fil kunne ikke læses" msgstr[1] "ADVARSEL: %<PRIuMAX> angivne filer kunne ikke læses" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "ADVARSEL: %<PRIuMAX> beregnet kontrolsum stemte IKKE overens" msgstr[1] "ADVARSEL: %<PRIuMAX> beregnede kontrolsummer stemte IKKE overens" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "flaget --status har kun betydning ved kontrol af kontrolsummer" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "flagene --binary og --text giver ikke mening ved verificering af " "kontrolsummer" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "flaget --status har kun betydning ved kontrol af kontrolsummer" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "flaget --warn har kun betydning ved kontrol af kontrolsummer" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "flaget --quiet har kun betydning ved kontrol af kontrolsummer" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "flaget --strict har kun betydning ved kontrol af kontrolsummer" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Brug: %s [FLAG]... KATALOG...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Opret KATALOG(erne), hvis de ikke allerede eksisterer.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=TILSTAND sæt rettigheder (som chmod), ikke a=rwx - umask\n" " -p, --parents opret overkataloger om nødvendigt, ingen fejl hvis " "findes\n" " -v, --verbose udskriv en besked for hvert katalog som oprettes\n" " -Z, --context=KONT sæt SELinux-sikkerhedskontekst for hvert oprettet \n" " katalog til KONT\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "oprettede katalog %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Brug: %s [FLAG]... NAVN...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Opret navngivne datakanaler (FIFOer) med angivne NAVNe.\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=TILSTAND sæt filrettigheder til TILSTAND, ikke a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=KONT sæt SELinux-sikkerhedskontekst for hvert NAVN til " "KONT\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "ugyldig tilstand" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "tilstand mÃ¥ kun angive bit for filrettigheder" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Brug: %s [FLAG]... NAVN TYPE [OVERNR UNDERNR]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Opret specialfilen NAVN med den angivne TYPE.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=KONT sæt SELinux-sikkerhedskontekst for NAVN til KONT\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "BÃ¥de OVERNR og UNDERNR skal angives nÃ¥r TYPE er b, c eller u, og de mÃ¥ ikke\n" "angives nÃ¥r TYPE er p. Hvis OVERNR eller UNDERNR begynder med 0x eller 0X,\n" "forstÃ¥s det som heksadecimalt; ellers, hvis de begynder med 0, som oktalt;\n" "ellers decimalt. TYPE kan være:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b opret en blok-specialfil (bufret) \n" " c, u opret en tegn-specialfil (ubufret) \n" " p opret en FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Specialfiler kræver over- og underenhedsnummer." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Fifoer har ikke over- og underenhedsnumre." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "blokspecialfiler understøttes ikke" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "tegnspecialfiler understøttes ikke" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "ugyldigt overenhedsnummer %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "ugyldigt underenhedsnummer %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "ugyldig enhed %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "ugyldig enhedstype %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Brug: %s [FLAG]... [SKABELON]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Opret midlertidig fil eller katalog pÃ¥ sikker vis, og udskriv navnet. " "SKABELON\n" "skal have mindst tre pÃ¥ hinanden følgende X'er i sidste komponent. Hvis\n" "SKABELON ikke angives, bruges tmp.XXXXXXXXXX, og --tmpdir er underforstÃ¥et.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Filer oprettes i u+rw-tilstand, og kataloger med u+rw minus umask-" "begrænsninger.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory opret et katalog, ikke en fil\n" " -u, --dry-run opret intet; udskriv kun et navn (usikker)\n" " -q, --quiet undertryk information om fejl ved fil-/" "katalogoprettelse\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF føj SUFF til SKABELON. SUFF mÃ¥ ikke indeholde " "skrÃ¥streg.\n" " Dette flag bruges implicit hvis SKABELON ikke " "slutter\n" " med X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=KAT] fortolk SKABELON relativt til KAT. Hvis KAT ikke er\n" " angivet, sÃ¥ brug $TMPDIR hvis angivet, ellers /tmp.\n" " Med dette flag mÃ¥ SKABELON ikke være et absolut " "navn.\n" " I modsætning til med -t, kan SKABELON indeholde\n" " skrÃ¥streger, men da vil mktemp kun oprette den\n" " sidste komponent.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p KAT brug KAT som præfiks; medfører -t [forældet]\n" " -t fortolk SKABELON som en enkelt filnavnskomponent " "relativt\n" " til et katalog: $TMPDIR, hvis angivet; ellers " "kataloget\n" " angivet ved -p; ellers /tmp [forældet]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "kunne ikke omdirigere stderr til /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "for mange skabeloner" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "med --suffix, skal skabelon %s slutte med X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "ugyldig skabelon %s, indeholder katalogseparator" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "for fÃ¥ X'er i skabelonen %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "ugyldig skabelon, %s, indeholder katalogseparator" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "ugyldig skabelon, %s; mÃ¥ ikke være absolut med --tmpdir" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "kunne ikke oprette katalog ved hjælp af skabelon %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "kunne ikke oprette fil via skabelonen %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Omdøb KILDE til MÃ…L eller flyt KILDE(r) til KATALOG.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende " "mÃ¥lfil\n" " -b ligesom --backup, men tager ikke noget " "argument\n" " -f, --force overskriv eksisterende filer uden " "bekræftelse\n" " -i, --interactive bekræft før overskrivning af filer\n" " -n, --no-clobber overskriv ikke nogen eksisterende filer\n" "Hvis du angiver mere end én af -i, -f eller -n, vil kun den sidste gælde.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes fjern evt. skrÃ¥streger i slutningen af \n" " hvert KILDE-argument\n" " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-" "suffiks\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=KATALOG flyt alle KILDE-argumenter ind i KATALOG\n" " -T, --no-target-directory behandl MÃ…L som en normal fil\n" " -u, --update flyt kun hvis KILDE-filen er nyere end\n" " mÃ¥lfilen, eller nÃ¥r mÃ¥lfilen ikke findes\n" " -v, --verbose forklar hvad der sker\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Brug: %s [FLAG]... [KOMMANDO [ARG]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Kør KOMMANDO med ændret prioritet (niceness), hvilket pÃ¥virker\n" "procesplanlægningen. Uden KOMMANDO udskrives den aktuelle prioritet.\n" "Prioriteter gÃ¥r fra %d (højest prioritet) til %d (lavest prioritet).\n" "\n" " -n, --adjustment=N læg heltallet N til prioriteten (standard: 10)\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ugyldig justering %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "en kommando skal være givet med en justering" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "kan ikke hente prioritet" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "kan ikke sætte prioritet" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv hver fil til standard-ud, med linjenummer lagt til.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STIL brug STIL til nummerering\n" " -d, --section-delimiter=CC brug CC til at skille logiske sider\n" " -f, --footer-numbering=STIL brug STIL til at nummerere bundtekst\n" "\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STIL brug STIL til at nummerere toptekst\n" " -i, --line-increment=ANTAL linjenummerforøgelse for hver linje\n" " -l, --join-blank-lines=ANTAL ANTAL tomme linjer som tæller som en\n" " -n, --number-format=FORMAT indsæt linjenummer efter FORMAT\n" " -p, --no-renumber begynd ikke linjenumre pÃ¥ ny ved logiske\n" " sider\n" " -s, --number-separator=STRENG tilføj STRENG efter (muligt) linjenummer\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=ANTAL første linjenummer pÃ¥ hver logisk side\n" " -w, --number-width=ANTAL brug ANTAL kolonner til linjenummerering\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er\n" "to skilletegn for at skille logiske sider, et manglende tegn nummer to\n" "implicerer ':'. Brug \\\\ for \\. STIL er en af:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a nummerér alle linjer\n" " t nummerér kun ikke-tomme linjer\n" " n nummerér ingen linjer\n" " pBRE nummerér kun linjer som matcher det basale regulære udtryk BRE\n" "\n" "FORMAT er et af følgende:\n" "\n" " ln venstrejusteret, ingen indledende nuller\n" " rn højrejusteret, ingen indledende nuller\n" " rz højrejusteret, indledende nuller\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "overløb for linjetal" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "ugyldig nummereringsstil til sidehoveder: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "ugyldig nummereringsstil til brødtekst: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "ugyldig nummereringsstil til sidefod: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "ugyldigt første linjenummer: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "ugyldig øgning af linjenummer: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "ugyldigt antal tomme linjer: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "ugyldig bredde pÃ¥ linjenummerfelt: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "ugyldigt linjenummerformat: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s KOMMANDO [ARG]...\n" " eller: %s FLAG\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Kør KOMMANDO og ignorér hangup-signaler.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Hvis standard-ind er en terminal, sÃ¥ omdirigér den fra /dev/null.\n" "Hvis standard-ud er en terminal, sÃ¥ føj uddata til 'nohup.out' hvis muligt,\n" "ellers '$HOME/nohup.out'.\n" "Hvis standard-fejl er en terminal, sÃ¥ omdirigér den til standard-ud.\n" "Brug '%s KOMMANDO > FIL' for at gemme udskriften til FIL.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "kunne ikke ubrugeliggøre standard-ind" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ignorerer inddata" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "ignorerer inddata og føjer uddata til %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "føjer uddata til %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "kunne ikke sætte kopien af stderr til at lukke ved exec" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "ignorerer inddata og omdirigerer stderr til stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "omdirigerer stderr til stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "kunne ikke omdirigere standard-fejl" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Brug: %s [FLAG]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Udskriv antallet af processorenheder, der er tilgængelige for den aktuelle\n" "proces, hvilket kan være mindre end antallet af aktive processorer\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all udskriv antallet af installerede processorer\n" " --ignore=N hvis muligt, sÃ¥ ekskludér N processorenheder\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: ugyldigt antal at ignorere" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: værdi ikke fuldstændig konverteret" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "ugyldigt antal %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "ugyldigt suffiks i %s%s-argument '%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "kunne ikke Ã¥bne %s til skrivning" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "ugyldig tabulatorstørrelse %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Brug: %s [FLAG]... [BRUGER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 #, fuzzy msgid " --debug print warnings about invalid input\n" msgstr "" " --strict afslut med status forskellig fra nul ved ugyldigt " "input\n" " sammen med --check\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Andre flag:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "formatet %s har intet %%-direktiv" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "ugyldigt datoformat %s" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "formatet %s slutter med %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "formatet %s har for mange %%-direktiver" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ugyldigt suffiks i %s%s-argument '%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "ugyldigt sideinterval %s" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "ugyldigt feltnummer: %s" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "ugyldig dato %s" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "filoperander kan ikke kombineres med --files0-from" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "filoperander kan ikke kombineres med --files0-from" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "flere -i-flag angivet" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "filoperander kan ikke kombineres med --files0-from" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "fejl ved læsning af %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "kunne ikke ubrugeliggøre standard-ind" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Brug: %s [FLAG]... [FIL]...\n" " eller: %s [-abcdfilosx]... [FIL] [[+]AFSÆT[.][b]]\n" " eller: %s --traditional [FLAG]... [FIL] [[+]AFSÆT[.][b] [+][MÆRKE][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Skriv en entydig repræsentation, oktale byte forvalgt, af FIL\n" "til standard-ud. Med mere end ét FIL-argument sammenkædes de i\n" "den angivne rækkefølge som inddata. Hvis ingen FIL er angivet,\n" "eller FIL er -, læses fra standard-ind.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Hvis kommandoen kan opfattes i henhold til sÃ¥vel første som anden \n" "parameterform, antages anden form hvis sidste operand begynder med + " "eller, \n" "hvis der er flere end to operander, et ciffer. Ved en AFSÆT-operand " "forstÃ¥s \n" "-j AFSÆT. MÆRKE er pseudoadressen til den første udskrevne byte, som øges\n" "mens udskriften pÃ¥gÃ¥r. For AFSÆT og MÆRKE indikerer en 0x- eller\n" "0X-forstavelse hexadecimalt talformat. Endelser kan være '.' for oktal, og " "b\n" "for blokke pÃ¥ 512 bytes.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX bestem hvordan filafsæt udskrives\n" " -j, --skip-bytes=BYTE overspring første BYTE fra hver fil\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTE begræns dump til BYTE indbyte\n" " -S BYTE, --strings[=BYTE] udskriv strenge med mindst BYTE grafiske tegn\n" " -t, --format=TYPE vælg udformater\n" " -v, --output-duplicates brug ikke * for at markere linjefjernelse\n" " -w[BYTE], --width[=BYTE] skriv BYTE byte per udlinje\n" " --traditional acceptér argumenter pÃ¥ traditionel form\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Traditionelle formatangivelser kan blandes, og de akkumulerer:\n" " -a samme som -t a, vælg navngivne tegn, idet højeste bit ignoreres\n" " -b samme som -t o1, vælg oktalbyte\n" " -c samme som -t c, vælg ASCII-tegn eller omvendt skrÃ¥stregsnotation\n" " -d samme som -t u2, vælg decimale 2-byte-enheder uden fortegn\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f samme som -t fF, vælg flydende tal\n" " -i samme som -t dI, vælg decimalheltal\n" " -l samme som -t dL, vælg lange decimalheltal\n" " -o samme som -t o2, vælg oktale 2-byte-enheder\n" " -s samme som -t d2, vælg decimale 2-byte-enheder\n" " -x samme som -t x2, vælg hexadecimale 2-byte-enheder\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "TYPE bestÃ¥r af en eller flere af disse specifikationer:\n" "\n" " a navngivet tegn, idet mest betydende (high-order) bit ignoreres\n" " c ASCII-tegn eller omvendt skrÃ¥stregsnotation\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[STØR] decimal med fortegn, STØR byte per tal\n" " f[STØR] flydende tal, STØR byte per tal\n" " o[STØR] oktal, STØR byte per tal\n" " u[STØR] decimal uden fortegn, STØR byte per tal\n" " x[STØR] hexadecimal, STØR byte per tal\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "STØR er et tal. For TYPE lig med d, o, u eller x, kan STØR ogsÃ¥ være\n" "C for sizeof(char), S for sizeof(short), I for sizeof(int) eller L for \n" "sizeof(long). NÃ¥r TYPE er f, kan STØR være F for sizeof(float), \n" "D for sizeof(double) eller L for sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "K kan have et multiplikativt suffiks:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 og sÃ¥ videre for T, P, E, Z, Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "ugyldig typestreng %s" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "ugyldig type-streng %s;\n" "dette system understøtter ikke en %lu-byte heltalstype" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "ugyldig type-streng %s;\n" "dette system understøtter ikke en %lu-byte flydende-taltype" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "ugyldigt tegn '%c' i typestrengen %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "kan ikke springe forbi afslutning af kombineret inddata" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "ugyldig ud-adresse-grundtal '%c'; det skal være et af tegnene [doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "ingen type kan angives nÃ¥r strenge gemmes" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "kompatibilitetstilstand understøtter højst én fil" # jf. --skip-bytes #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "skip-bytes + read-bytes er for stor" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "advarsel: ugyldig bredde %lu; bruger %d i stedet" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: ugyldigt signal" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standard-ind er lukket" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv linjer som bestÃ¥r af de sekventielt tilsvarende linjer fra hver\n" "FIL, separeret med tabulatorer, til standard-ud.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LISTE brug tegn fra LISTE i stedet for tabulatorer\n" " -s, --serial indsæt en fil ad gangen i stedet for i parallel\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "skilletegnslisten slutter med en uundviget omvendt skrÃ¥streg: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnosticér ugyldige eller uportable filnavne.\n" "\n" " -p kontrollér for de fleste POSIX-systemer\n" " -P kontrollér for tomme navne og indledende \"-\"\n" " --portability kontrollér for alle POSIX-systemer (svarer til -p -P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "indledende '-' i filnavnskomponenten %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "uportabelt tegn %s i filnavnet %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "tomt filnavn" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: kan ikke bestemme maksimal filnavnslængde" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "grænsen %lu overgÃ¥s af længden %lu af filnavnet %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "grænsen %lu overgÃ¥s af længden %lu af filnavnskomponenten %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Login-navn: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "I virkeligheden: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Katalog: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Skal: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projekt: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Login" #: src/pinky.c:407 msgid "Name" msgstr "Navn" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Inaktiv" #: src/pinky.c:411 msgid "When" msgstr "HvornÃ¥r" #: src/pinky.c:414 msgid "Where" msgstr "Hvor" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Brug: %s [FLAG]... [BRUGER]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l udskriv i langt format for de angivne BRUGERe\n" " -b udelad brugerens hjemmekatalog og skal i det lange format\n" " -h udelad brugerens projektfil i det lange format\n" " -p udelad brugerens planfil i det lange format\n" " -s udskriv i kort format, dette er standard\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f udelad linjen med kolonneoverskrifter i kort format\n" " -w udelad brugerens fulde navn i kort format\n" " -i udelad brugerens fulde navn og fjernvært i kort\n" " format\n" " -q udelad brugerens fulde navn, fjernvært og\n" " inaktiv tid i kort format\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Et letvægts-'finger'-program; udskriver brugerinformation.\n" "utmp-filen vil være %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "intet brugernavn angivet; mindst ét skal angives nÃ¥r -l bruges" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "'--pages=FØRSTE_SIDE[:SIDSTE_SIDE]' mangler argument" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "ugyldigt sideinterval %s" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "'-l SIDELÆNGDE' har ugyldigt antal linjer: %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N NUMMER' har ugyldigt start-linjenummer: %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "'-o MARGEN' har ugyldigt linjeafsæt: %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "'-w SIDEBREDDE' har ugyldigt antal tegn: %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "'-W SIDEBREDDE' har ugyldigt antal tegn: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "kan ikke angive antal kolonner nÃ¥r der skrives parallelt" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "kan ikke angive bÃ¥de skrivning pÃ¥ tværs og parallel skrivning" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "'-%c' ekstra tegn eller ugyldigt tal i argumentet: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "sidebredde for smal" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "startsidetallet %<PRIuMAX> overgÃ¥r antallet af sider %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "overløb for sidetal" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Side %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Sidenummerér eller omform FIL(er) til kolonner for udskrivning.\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FØRSTE_SIDE[:SIDSTE_SIDE], --pages=FØRSTE_SIDE[:SIDSTE_SIDE]\n" " start [slut] udskrift med FØRSTE_[SIDSTE_]SIDE\n" " -KOLONNER, --columns=KOLONNER\n" " lav KOLONNER-kolonners udskrift og skriv kolonner nedad\n" " medmindre '-a' er angivet. Balancér antal linjer\n" " i kolonnerne pÃ¥ hver side.\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across skriv kolonner henover i stedet for nedad. Bruges\n" " sammen med -KOLONNER\n" " -c, --show-control-chars\n" " brug hat-notation (^G) og oktal omvendt " "skrÃ¥stregsnotation\n" " -d, --double-space\n" " dobbelt afstand i udskriften\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " brug FORMAT for dato i overskriften\n" " -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]]\n" " udvid ind-TEGN (TABs) til BREDDE blanktegn (8)\n" " -F, -f, --form-feed\n" " brug sideskift(FF) i stedet for linjeskift for at\n" " separere sider (med et 3-linjers sidehoved med -F eller\n" " et 5-linjers hoved og bund uden -F)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=OVERSKRIFT\n" " brug centreret OVERSKRIFT i stedet for filnavn i " "sidehoved;\n" " -h \"\" skriver en blank linje. Brug ikke -h\"\".\n" " -i[TEGN[BREDDE]], --output-tabs=[TEGN[BREDDE]]\n" " erstat mellemrum med TEGN (TAB) med tabulatorer af \n" " BREDDE (8)\n" " -J, --join-lines flet fulde linjer. Deaktiverer linjeafkortning ved -W,\n" " ingen kolonnejustering, --sep-string[=STRENG] sætter\n" " separatorer\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=SIDELÆNGDE\n" " sæt sidelængde til SIDELÆNGDE (66) linjer\n" " (forvalgt antal tekstlinjer er 56, eller 63 med -F)\n" " -m, --merge udskriv alle filer parallelt, en i hver kolonne;\n" " afkort linjer, men flet linjer af fuld længde med -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[CIFRE]], --number-lines[=SEP[CIFRE]]\n" " nummerér linjer, brug CIFRE (5) cifre, sÃ¥ SEP (TAB);\n" " forvalgt tælling starter med første linje af indfil\n" " -N, --first-line-number=NUMMER\n" " start tælling med NUMMER pÃ¥ første linje pÃ¥ første side\n" " som skrives (se +FØRSTE_SIDE)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGEN\n" " indryk linjer MARGEN (nul) mellemrum, idet -w og -W " "ikke\n" " pÃ¥virkes. MARGEN vil blive lagt til SIDEBREDDE\n" " -r, --no-file-warnings\n" " advar ikke nÃ¥r en fil ikke kan Ã¥bnes\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[TEGN], --separator[=TEGN]\n" " adskil kolonner med et enkelt TEGN. Forvalgt TEGN er\n" " <TAB> uden -w og 'ingen tegn' med -w.\n" " -s[TEGN] slÃ¥r linjeafkortning fra for alle 3 kolonne-\n" " flagene (-KOLONNER|-a -KOLONNER|-m) bortset fra -w\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -S[STRENG], --sep-string[=STRENG]\n" " adskil kolonner med STRENG.\n" " Uden -S: Forvalgt skilletegn er <TAB> med -J og " "<mellemrum>\n" " ellers (samme som -S\" \"). Ingen effekt pÃ¥ " "kolonneflag\n" " -t, --omit-header brug ikke sidehoved og -fod\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " brug ikke sidehoved og -fod, og eliminer eventuel\n" " sidenummerering fra sideskift (form feed) i indfiler\n" " -v, --show-nonprinting\n" " brug oktal omvendt skrÃ¥stregsnotation\n" " -w, --width=SIDEBREDDE\n" " sæt altid sidebredde til SIDEBREDDE (72) kolonner. Kun " "for\n" " flerkolonneudskrift, -s[tegn] slÃ¥r fra (72)\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=SIDEBREDDE\n" " sæt sidebredde til SIDEBREDDE (72) kolonner, altid.\n" " Afkort linjer hvis -J ikke er sat. PÃ¥virker ikke -S\n" " eller -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t medføres hvis SIDELÆNGDE <= 10. Hvis ingen FIL er angivet,\n" "eller FIL er -, læses fra standard-ind.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Brug: %s [FLAG]... [VARIABEL]...\n" "Udskriv værdierne af den eller de angivne miljøvariable VARIABEL.\n" "Hvis ingen VARIABEL angives, sÃ¥ udskriv par af navne og værdier for dem " "alle.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr " -0, --null afslut linjer med en 0-byte frem for linjeskift\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "advarsel: %s: tegn efter tegnkonstant er blevet ignorerede" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s FORMAT [ARGUMENT]...\n" " eller: %s FLAG\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Udskriv ARGUMENTer ifølge FORMAT, eller eksekvér ifølge FLAG:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT styrer uddata som i C's printf. Tolkede sekvenser er:\n" "\n" " \\\" citationstegn\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN tegn med oktal værdi NNN (1 til 3 cifre)\n" " \\xHH byte med heksadecimal værdi HH (1 til 2 cifre)\n" " \\uHHHH Unicode-tegn (ISO/IEC 10646) med heksadecimal værdi HHHH (4 " "cifre)\n" " \\UHHHHHHHH Unicode-tegn med heksadecimal værdi HHHHHHHH (8 cifre)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% et enkelt %\n" " %b ARGUMENT som en streng med '\\'-kontrolsekvenser tolkes, med den \n" " undtagelse at oktale kontrolsekvenser er pÃ¥ formen \\0 eller " "\\0NNN\n" "\n" "og alle specifikationer i C-format som slutter med en af diouxXfeEgGcs, " "med \n" "ARGUMENTer konverteret til en passende type først. Variable bredder " "behandles.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: forventede en numerisk værdi" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: værdi ikke fuldstændig konverteret" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "manglende heksadecimal-tal i beskyttet tegnsekvens" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ugyldigt universelt tegnnavn \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ugyldig feltlængde: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "ugyldig præcision: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s: ugyldig specifikation for konvertering" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "advarsel: ignorerer overflødige argumenter, startende med %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (for regudtryk %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Brug: %s [FLAG]... [INDDATA]... (uden -G)\n" " eller: %s -G [FLAG]... [INDDATA [UDDATA]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Udskriv et permuteret indeks, med kontekst, over ordene i inddatafilerne.\n" "\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference udskriv automatisk genererede referencer\n" " -G, --traditional vær mere som System V's 'ptx'\n" " -F, --flag-truncation=STRENG brug STRENG for at markere linjeafkortning\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRENG makronavn at bruge i stedet for 'xx'\n" " -O, --format=roff generér udskrift som roff-direktiver\n" " -R, --right-side-refs placér referencerne pÃ¥ højre side, ikke\n" " talt med i -w\n" " -S, --sentence-regexp=REGUDT for slutningen af linjer eller slutningen " "af\n" " sætninger\n" " -T, --format=tex generér udskrift som TeX-direktiver\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGUDT brug REGUDT for at ramme hvert nøgleord\n" " -b, --break-file=FIL tegn for orddeling i denne FIL\n" " -f, --ignore-case lav smÃ¥ bogstaver om til store for " "sortering\n" " -g, --gap-size=TAL størrelse pÃ¥ mellemrum mellem kolonner i\n" " udfelter\n" " -i, --ignore-file=FIL læs liste over ord som skal ignoreres fra\n" " denne FIL\n" " -o, --only-file=FIL læs kun ordliste fra denne FIL\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references første felt i hver linje er en reference\n" " -t, --typeset-mode - ikke implementeret -\n" " -w, --width=BREDDE udskriftbredde for kolonner, eksklusive\n" " referencer\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Ved ingen FIL eller hvis FIL er -, læses fra standard-ind. '-F /' er " "forvalgt.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "ugyldig hulbredde: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Udskriv hele filnavnet pÃ¥ det aktuelle arbejdskatalog.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical brug miljøvariablen PWD, selv om den indeholder symlænker\n" " -P, --physical undgÃ¥ alle symlænker\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "kunne ikke foretage chdir til %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "kunne ikke foretage stat pÃ¥ %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "kunne ikke finde katalogpost i %s med tilsvarende i-node" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignorerer argumenter som ikke er flag" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Brug: %s [FLAG]... [FIL]...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Udskriv værdien af en symbolsk lænke eller et kanonisk filnavn\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize normalisér ved at følge hver symlænke i " "hver\n" " komponent i det givne navn rekursivt; alle " "pÃ¥\n" " nær sidste komponent skal eksistere\n" " -e, --canonicalize-existing normalisér ved at følge hver symlænke i " "hver\n" " komponent i det givne navn rekursivt; alle\n" " komponenter skal eksistere\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing normalisér ved at følge hver symlænke i " "hver\n" " komponent i det givne navn rekursivt, uden\n" " krav pÃ¥ eksistensen af komponenter\n" " -n, --no-newline udskriv ikke det afsluttende linjeskift\n" " -q, --quiet,\n" " -s, --silent udelad de fleste fejlmeddelelser\n" " -v, --verbose udskriv fejlmeddelelser\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "ignorerer argumenter som ikke er flag" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Bestem og udskriv det absolutte filnavn;\n" "alle pÃ¥ nær sidste komponent skal eksistere\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing alle stiens komponenter skal eksistere\n" " -m, --canonicalize-missing ingen af stiens komponenter behøver " "eksistere\n" " -L, --logical evaluér '..'-komponenter før symlænker\n" " -P, --physical evaluér symlænker nÃ¥r de findes (standard)\n" " -q, --quiet undertryk de fleste fejlmeddelelser\n" " --relative-to=FIL udskriv den evaluerede sti relativt til FIL\n" " --relative-base=FIL udskriv absolutte stier med mindre stier " "ligger\n" " under FIL\n" " -s, --strip, --no-symlinks omskriv ikke symlænker\n" " -z, --zero separér udskrift med NUL frem for linjeskift\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "genererer relativ sti" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: gÃ¥ ned i skrivebeskyttet katalog %s? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: gÃ¥ ned i katalog %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: fjern skrivebeskyttet %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: fjern %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "fjernede katalog %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "kan ikke fjerne katalog: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "springer %s over, da den er pÃ¥ en anden enhed" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "gennemløb slog fejl: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "uventet fejl: fts_info=%d: %s\n" "rapportér venligst til %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Prøv '%s ./%s' for at fjerne filen %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Fjern (aflænk) FILerne.\n" "\n" " -f, --force ignorér filer og argumenter, der ikke findes;\n" " spørg aldrig\n" " -i spørg før hver sletning\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I spørg én gang før mere end tre filer fjernes, eller " "nÃ¥r\n" " der fjernes rekursivt. Mindre pÃ¥trængende end -" "i,\n" " men beskytter stadig mod de fleste fejltagelser\n" " --interactive[=NÃ…R] spørg jf. NÃ…R: never, once (-I), eller always (-" "i).\n" " Uden NÃ…R spørges altid\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system nÃ¥r et hierarki fjernes rekursivt, sÃ¥ spring " "ethvert\n" " katalog over, der findes pÃ¥ et andet filsystem " "end\n" " det, som svarer til kommandolinjeargumentet\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root behandl ikke '/' specielt\n" " --preserve-root fjern ikke '/' (standard)\n" " -r, -R, --recursive fjern kataloger og deres indhold rekursivt\n" " -d, --dir fjern tomme kataloger\n" " -v, --verbose forklar hvad der bliver gjort\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Som standard fjerner rm ikke kataloger. Brug flaget --recursive (-r eller -" "R)\n" "for at fjerne hvert anført katalog ogsÃ¥, sammen med alt indhold.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "For at fjerne en fil hvis navn begynder med et '-', for eksempel '-foo',\n" "kan du bruge en af disse kommandoer:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Bemærk at hvis du bruger rm til at fjerne en fil, er det mÃ¥ske muligt at\n" "genskabe noget af denne fils indhold givet tilstrækkelig ekspertise og/" "eller\n" "tid. Hvis du ønsker større sikkerhed for at indholdet virkelig ikke kan \n" "genskabes, sÃ¥ overvej at bruge 'shred'.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: fjern alle argumenter rekursivt? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: fjern alle argumenter? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "fjerner katalog, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "kunne ikke fjerne katalog %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Slet KATALOGer, hvis de er tomme.\n" "\n" " --ignore-fail-on-non-empty\n" " ignorér alle fejl som udelukkende skyldes at kataloget\n" " ikke er tomt\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents slet KATALOG og dets overkataloger. F.eks. virker\n" " 'rmdir -p a/b/c' ligesom 'rmdir a/b/c a/b a'\n" " -v, --verbose vis meddelelse for hvert katalog som behandles\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "kunne ikke fjerne %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Brug: %s KONTEKST KOMMANDO [argr]\n" " eller: %s [ -c ] [-u BRUGER] [-r ROLLE] [-t TYPE] [-l INTERV] KOMMANDO " "[argr]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Kør et program i en anden sikkerhedskontekst.\n" "Uden KONTEKST og KOMMANDO udskrives den aktuelle sikkerhedskontekst.\n" "\n" " KONTEKST fuld sikkerhedskontekst\n" " -c, --compute beregn procestransitionskontekst før modifikation\n" " -t, --type=TYPE type (for samme rolle som forælder)\n" " -u, --user=BRUGER brugeridentitet\n" " -r, --role=ROLLE rolle\n" " -l, --range=INTERV niveauinterval\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "flere roller" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "flere typer" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "flere brugere" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "flere niveauintervaller" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "kunne ikke hente den aktuelle kontekst" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "du skal angive -c, -t, -u, -l, -r eller kontekst" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "ingen kommando angivet" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s kan kun bruges pÃ¥ en SELinux-kerne" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "kunne ikke udregne en ny kontekst" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "kunne ikke sætte ny bruger %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "kunne ikke sætte ny type %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "kunne ikke sætte nyt interval %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "kunne ikke sætte ny rolle %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "kunne ikke sætte sikkerhedskontekst %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Brug: %s [FLAG]... SIDSTE\n" " eller: %s [FLAG]... FØRSTE SIDSTE\n" " eller: %s [FLAG]... FØRSTE FORØGELSE SIDSTE\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Udskriv tallene fra FØRSTE til SIDSTE, med trin pÃ¥ FORØGELSE.\n" "\n" " -f, --format=FORMAT brug printf-lignende FORMAT til flydende tal\n" " -s, --separator=STRENG brug STRENG til at separere tallene (forvalgt: " "\\n)\n" " -w, --equal-width gør bredden ens ved at foranstille nuller\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Hvis FØRSTE eller FORØGELSE udelades, er den forvalgte værdi 1. Dermed " "svarer\n" "en udeladt FORØGELSE til 1, selv nÃ¥r SIDSTE er mindre end FØRSTE. FØRSTE,\n" "FORØGELSE og SIDSTE tolkes som flydende talværdier. FORØGELSE bør være\n" "positiv hvis FØRSTE er mindre end SIDSTE, og negativ ellers.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT skal være egnet til at udskrive et argument af typen 'double'; som\n" "standard er det %.PRÆCf hvis FØRSTE, FORØGELSE og SIDSTE alle er\n" "decimaltal med fast komma og maksimal præcision PRÆC, ellers %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "ugyldigt flydende tal-argument: %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "formatet %s har et ukendt %%%c-direktiv" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "formatstrengen kan ikke angives nÃ¥r der udskrives strenge\n" "med ens bredde" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Brug: %s [KORT-FLAG]... BRUGER KOMMANDO [ARGUMENT]...\n" " eller: %s LANGT-FLAG\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Smid eventuelle supplerende grupper væk, antag bruger-ID og gruppe-ID for " "den\n" "angivne BRUGER (numerisk ID eller brugernavn), og kør KOMMANDO med " "eventuelle\n" "angivne ARGUMENTer. Afslut med status 111 hvis det ikke er muligt at " "antage\n" "den krævede bruger- og gruppe-ID. Afslut ellers med afslutningskode for\n" "KOMMANDO. Dette program er kun nyttigt, nÃ¥r det køres som root (bruger-ID " "0).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] sæt ogsÃ¥ primær gruppe-ID til den numeriske GID, og\n" " (hvis angivet) supplerende gruppe-ID'er til GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ukendt bruger-ID: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "du skal yderligere angive -g hvis du vil anvende bruger-ID %s" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "kunne ikke sætte supplerende grupper" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "kan ikke sætte gruppe-ID til %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "kan ikke sætte bruger-ID til %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Overskiv de angivne FILER gentagne gange for at gøre det sværere for\n" "selv meget dyrt genoprettelsesudstyr at genskabe data.\n" "\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force ændr om nødvendigt rettigheder for at tillade skrivning\n" " -n, --iterations=N overskriv N gange i stedet for det normale (%d)\n" " --random-source=FIL læs tilfældige byte fra FIL\n" " -s, --size=N makulér dette antal byte (endelser som K, M, G accepteres)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove afkort og fjern fil efter overskrivningen\n" " -v, --verbose vis fremskridt\n" " -x, --exact rund ikke filstørrelser op til den næste fulde blok;\n" " dette er forvalg for ikke-regulære filer\n" " -z, --zero overskriv til slut med nuller for at skjule makulering\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Hvis FIL er -, sÃ¥ makulér standard-ud.\n" "\n" "Slet FILer hvis --remove (-u) er angivet. Standardhandlingen er, ikke at " "fjerne \n" "filerne, fordi det er almindeligt at behandle enhedsfiler som /dev/hda,\n" "og disse filer bør normalt ikke fjernes. Ved behandling af almindelige " "filer,\n" "bruger de fleste flaget --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "PAS PÃ…: Bemærk at 'shred' bygger pÃ¥ en meget vigtig antagelse:\n" "at filsystemet overskriver data pÃ¥ stedet. Dette er den traditionelle\n" "mÃ¥de at det pÃ¥, men mange moderne filsystemtyper opfylder ikke denne\n" "antagelse. Det følgende er eksempler pÃ¥ filsystemer hvor 'shred' ikke vil\n" "fungere efter hensigten, eller ikke vil fungere i alle filsystemtilstande:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* log-strukturerede eller journaliserende filsystemer, sÃ¥som dem der " "leveres\n" "med AIX og Solaris (og JFS, ReiserFS, XFS, Ext3 osv.)\n" "\n" "* filsystemer som skriver redundante data og fortsætter selv om nogle\n" "skrivninger mislykkes, sÃ¥som RAID-baserede filsystemer\n" "\n" "* filsystemer som laver øjebliksbilleder, sÃ¥som Network Appliances' NFS-" "server\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* filsystemer, der mellemlagrer pÃ¥ midlertidige steder, sÃ¥som NFS version\n" "3-klienter\n" "\n" "* komprimerede filsystemer\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "For ext3-filsystemer gælder ovenstÃ¥ende kun i 'data=journal'-tilstand (og \n" "shred er derfor af begrænset nytte), hvilket journaliserer fildata ud over\n" "blot metadata. I begge tilstandende, data=ordered (standard) og " "data=writeback,\n" "vil shred fungere som normalt. Ext3-journaliseringstilstande kan ændres ved " "at\n" "tilføje flaget data=noget til monteringsflagene for et givet filsystem i " "filen\n" "/etc/fstab, som dokumenteret i man-siden for mount (man mount).\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Derudover kan sikkerhedskopier af filsystemer og eksterne spejlinger " "indeholde\n" "kopier af filen, som ikke kan fjernes, og som vil tillade senere genskabelse " "af\n" "en makuleret fil.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s: fdatasync mislykkedes" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s: fsync mislykkedes" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: kan ikke tilbagespole" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: gennemløb %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: fejl ved skrivning fra afsæt %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s: lseek mislykkedes" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fil for stor" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: gennemløb %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: gennemløb %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat mislykkedes" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: ugyldig filtype" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: fil har negativ størrelse" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: fejl ved afkortning" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: fcntl mislykkedes" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "%s: kan ikke makulere beskriver for fil, der kun kan tilføjes til" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: sletter" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: omdøbt til %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s: kunne ikke fjerne" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: slettet" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s: kunne ikke lukke" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s: kunne ikke Ã¥bne til skrivning" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: ugyldigt antal gennemløb" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "der er angivet flere kilder til tilfældige tal" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: ugyldig filstørrelse" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Brug: %s [FLAG]... [FIL]\n" " eller: %s -e [FLAG]... [ARG]\n" " eller: %s -i LAV-HØJ [FLAG]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Udskriv en tilfældig permutation af indlinjerne til standard-ud.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo brug hvert ARG som en inddatalinje\n" " -i, --input-range=LAV-HØJ brug hvert tal fra LAV til HØJ som en " "inddatalinje\n" " -n, --head-count=ANTAL udskriv højst ANTAL linjer\n" " -o, --output=FIL skriv resultat til FIL frem for standard-ud\n" " --random-source=FIL læs tilfældige byte fra FIL\n" " -z, --zero-terminated afslut linjer med 0-byte, ikke linjeskiftstegn\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "flere -i-flag angivet" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "ugyldigt talomrÃ¥de %s angivet" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "ugyldigt linjetal %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "flere udfiler angivet" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "kan ikke kombinere flagene -e og -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Brug: %s ANTAL[SUFFIKS]...\n" " eller: %s FLAG\n" "Sov i ANTAL sekunder. SUFFIKS kan være 's' for at angive sekunder " "(forvalgt),\n" "'m' for minutter, 'h' for timer (hours) og 'd' for dage. I modsætning til " "de \n" "fleste implementationer, som kræver at ANTAL er et heltal, kan ANTAL her " "være \n" "et vilkÃ¥rligt flydende tal. Givet to eller flere argumenter, soves i\n" "tidsrummet givet ved værdiernes sum.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "ugyldigt tidsinterval %s" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "kan ikke læse realtids-ur" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Skriv det samlede, sorterede indhold af FILer til standard-ud.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Sorteringsflag:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignorér indledende blanke\n" " -d, --dictionary-order tag kun blanke og alfanumeriske tegn i\n" " betragtning\n" " -f, --ignore-case behandl smÃ¥ bogstaver som store bogstaver\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort sammenlign ifølge generel numerisk værdi\n" " -i, --ignore-nonprinting tag kun synlige tegn i betragtning\n" " -M, --month-sort sammenlign (ukendt) < 'JAN' < ... < 'DEC'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort sammenlign tal pÃ¥ læsevenlig form (f.eks. 2K, " "1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort sammenlign ifølge numerisk værdi af strenge\n" " -R, --random-sort sortér efter tilfældig hash af nøgler\n" " --random-source=FIL hent tilfældige byte fra FIL \n" " -r, --reverse vend resultaterne af sammenligningerne om\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=ORD sortér ifølge ORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort naturlig sortering efter (versions-)numre i " "tekst\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Andre flag:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NFLET flet højst NFLET ind-elementer pÃ¥ en gang;\n" " brug midlertidige filer hvis utilstrækkeligt\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first kontrollér sortering af data; sortér " "ikke\n" " -C, --check=quiet, --check=silent som -c, men anfør ikke første " "fejllinje\n" " --compress-program=PROG komprimér midlertidige filer med PROG;\n" " udpak dem med PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug skriv noter i delen af linjen der bruges til at\n" " sortere, og advar om tvivlsom brug i stderr\n" " --files0-from=F læs inddata fra filerne angivet ved NUL-" "afsluttede\n" " navne i filen F; hvis F er -, sÃ¥ læs filnavne\n" " fra standard-ind\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=NØGLEDEF sortér efter nøgle; NØGLEDEF angiver placering\n" " og type\n" " -m, --merge flet allerede sorterede filer; sortér ikke\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FIL udskriv resultat til FIL frem for standard-ud\n" " -s, --stable stabilisér sortering ved deaktivering af\n" " sidste-udvejs-sammenligning\n" " -S, --buffer-size=STØR brug størrelsen STØR for indre " "hukommelsesbuffer\n" # Infosiden for sort indeholder bedre information om hvad dette betyder #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP brug SEP i stedet for ikke-mellemrum til \n" " mellemrums-overgang\n" " -T, --temporary-directory=KAT brug KAT til mellemlagring, ikke $TMPDIR " "eller\n" " %s; flere flag angiver flere kataloger\n" " --parallel=N begræns antallet af parallelt kørende " "sorteringer\n" " til N\n" " -u, --unique med -c: tjek for streng ordning;\n" " uden -c: udskriv kun den første af en række " "ens\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated afslut linjer med en 0 byte, ikke ny-linje\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "NØGLEDEF er F[.T][FLAG][,F[.T][FLAG]], for start- og slutposition,\n" "hvor F er et feltnummer og T en tegnposition i feltet. Begge starter\n" "ved 1, og slutpositionen er som standard afslutningen af linjen. Hvis\n" "hverken -t eller -b er valgt, vil tegn i et felt tælles fra\n" "begyndelsen af det foregÃ¥ende omrÃ¥de af blanke tegn. FLAG er sat\n" "sammen af et eller flere enkeltbogstavs-flag [bdfgiMhnRrV], som\n" "tilsidesætter globale sorteringsflag for denne nøgle. Hvis ingen\n" "nøgle er angivet, bruges hele linjen som nøgle.\n" "\n" "STØR kan efterfølges af de følgende multiplikative endelser:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1% af hukommelse, b 1, k 1024 (forvalgt), og sÃ¥ videre for M, G, T, P, E, " "Z, Y.\n" "\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" "*** ADVARSEL ***\n" "Lokalet angivet i miljøet pÃ¥virker sorteringsordenen.\n" "Sæt LC_ALL=C for at fÃ¥ den traditionelle sorteringsorden som benytter\n" "de interne byte-værdier.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "venter pÃ¥ %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] afsluttede uplanmæssigt" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "kan ikke oprette midlertidig fil i %s" # bør det blive stÃ¥ende som open? #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "fejl ved Ã¥bning" #: src/sort.c:970 msgid "fflush failed" msgstr "fejl ved fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "fejl ved lukning" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "fejl ved dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "kunne ikke eksekvere %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "kunne ikke oprette midlertidig fil" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "kunne ikke oprette proces for %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "kunne ikke eksekvere %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "advarsel: kan ikke fjerne: %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "ugyldigt argument %2$s til --%1$s" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "mindste argument til --%s er %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argumentet %2$s til --%1$s er for stort" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "største argument til --%s med nuværende rlimit er %s" # relaterer til flere kerner der kører parallelt #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "paralleliseringstallet skal være forskelligt fra nul" #: src/sort.c:1494 msgid "stat failed" msgstr "stat() mislykkedes" #: src/sort.c:1755 msgid "read failed" msgstr "læsefejl" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "strengtransformation mislykkedes" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "den utransformerede streng var %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ ingen træffer for nøgle\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "forældet nøgle %s brugt; overvej i stedet %s" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "nøglen %lu har bredden nul og vil blive ignoreret" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "indledende blanke tegn er betydningsbærende i nøglen %lu; overvej ogsÃ¥ at " "give 'b'" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "nøglen %lu er numerisk og spænder over flere felter" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "flaget '-%s' ignoreres" msgstr[1] "flagene '-%s' ignoreres" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "flaget '-r' gælder kun som sidste udvej for sammenligninger" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "fejl ved skrivning" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: uorden: " #: src/sort.c:2786 msgid "standard error" msgstr "standard-fejl" #: src/sort.c:3698 msgid "cannot read" msgstr "kan ikke læse" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: ugyldig feltangivelse %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "flagene '-%s' er inkompatible" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: ugyldigt antal ved starten af %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "ugyldigt tal efter '-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "ugyldigt tal efter '.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "forvildet tegn i feltangivelse" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "flere compress-programmer angivet" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "ugyldigt tal ved feltbegyndelsen" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "felt-nummeret er nul" #: src/sort.c:4392 msgid "character offset is zero" msgstr "tegnafsæt er nul" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "ugyldigt tal efter ','" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tom tabulator" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "kan ikke læse filnavne fra %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: ugyldigt filnavn af længde nul" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "ingen inddata fra %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "bruger sorteringsreglerne %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "bruger simpel bytesammenligning" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "ekstra operand %s er ikke tilladt med -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "suffikslængden skal være mindst %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Brug: %s [FLAG]... [INDDATA [PRÆFIKS]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Skriv stykker af fast størrelse af INDDATA til PRÆFIKSaa, PRÆFIKSab, ...;\n" "forvalgt størrelse er 1000 linjer, og forvalgt PRÆFIKS er 'x'. Hvis ingen\n" "INDDATA er angivet, eller INDDATA er -, læses fra standard-ind.\n" "\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N brug endelser med længden N (forvalg %d)\n" " --additional-suffix=SUFFIKS føj et ekstra SUFFIKS til slutningen af\n" " filnavne.\n" " -b, --bytes=STØR skriv STØR byte i hver udfil\n" " -C, --line-bytes=STØR skriv maksimalt STØR byte med linjer per udfil\n" " -d, --numeric-suffixes[=FRA] brug numeriske suffikser frem for " "alfabetiske.\n" " FRA ændrer startværdien (forvalg 0).\n" " -e, --elide-empty-files generér ikke tomme udfiler med '-n'\n" " --filter=KOMMANDO skriv til skal-KOMMANDO; filnavn er $FILE\n" " -l, --lines=ANTAL skriv ANTAL linjer i hver udfil\n" " -n, --number=KLUMPER generér KLUMPER i udfiler. Se herunder\n" " -u, --unbuffered kopiér omgÃ¥ende inddata til uddata med '-n r/...'\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose skriv informationer til standard-fejl lige\n" " før hver udfil Ã¥bnes\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "KLUMPER kan være:\n" "N opdel i N filer baseret pÃ¥ størrelsen af inddata\n" "K/N udskriv K'te af N til stdout\n" "l/N opdel i N filer uden at opdele linjer\n" "l/K/N udskriv K'te af N til standard-ud uden at opdele linjer\n" "r/N som 'l', men brug jævn ('round robin-') fordeling\n" "r/K/N tilsvarende, men udskriv kun K'te af N til standard-ud\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "løbet tør for endelser til udfiler" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "opretter filen %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s ville overskrive inddata; afbryder" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "kunne ikke sætte miljøvariablen FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "kører med FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "kunne ikke oprette datakanal" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "lukker tidligere datakanal" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "lukker uddatakanal" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "flytter inddatakanal" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "lukker inddatakanal" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "kunne ikke køre kommandoen: \"%s -c %s\"" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "kunne ikke lukke inddatakanal" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "venter pÃ¥ underproces" # Kan ikke helt regne ud om det her er rigtigt; FILE er vist en miljøvariabel og skal derfor ikke oversættes #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "med FILE=%s, signal %s fra kommando: %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "med FILE=%s, slutstatus %d fra kommando: %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "ukendt status fra kommando (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "kan ikke opdele pÃ¥ mere end én mÃ¥de" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s: ugyldigt antal klumper" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s: ugyldigt klumpnummer" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: ugyldig længde pÃ¥ endelse" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: ugyldigt antal byte" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: ugyldigt antal linjer" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "linjetalflaget -%s%c... er for stort" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s: ugyldig startværdi for numerisk suffiks" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s: ugyldig IO-blokstørrelse" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter behandler ikke en klump udtrukket til standard-ud" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "numerisk suffiksstartværdi er for stor til suffikslængden" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s: kan ikke bestemme filstørrelse" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "kunne ikke normalisere %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "advarsel: ukendt undvigesekvens '\\%c'" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: ugyldigt direktiv" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "advarsel: omvendt skrÃ¥streg ved slutningen af format" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "brug af %s til at angive standard-ind fungerer ikke i filsystemtilstand" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "kan ikke læse information om filsystem for %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "kan ikke køre stat pÃ¥ standard-ind" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fil: \"%n\"\n" " Id: %-8i Navnelængde: %-7l Type: %T\n" "Blokstørrelse: %-10s Fundamental blokstørrelse: %S\n" "Blokke: Samlet: %-10b Fri: %-10f Tilgængelige: %a\n" "Inoder: Samlet: %-10c Fri: %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fil: %N\n" " Stør: %-10s\tBlokke: %-10b IO-blokke: %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "Enhed: %Dt/%dd\tInode: %-10i Lænker: %-5h Enhedstype: %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Enhed: %Dt/%dd\tInode: %-10i Lænker: %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Adgang: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Kontekst: %C\n" # En streng andensteds har en kommentar, der angiver forskellen pÃ¥ modify og change. Kan dog ikke beholde præcist de samme gloser grundet længdebegrænsninger #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" "Adgang: %x\n" "Redig.: %y\n" "Ændret: %z\n" "Opret.: %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Vis fil- eller filsystemstatus.\n" "\n" " -L, --dereference følg lænker\n" " -f, --file-system vis filsystemstatus fremfor filstatus\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT brug det angivne FORMAT frem for standardformatet;\n" " udskriv linjeskift efter hvert brug af FORMAT\n" " --printf=FORMAT som --format, men fortolk omvendt\n" " skrÃ¥stregsnotation, og udskriv ikke obligatorisk\n" " afsluttende linjeskift. Vil du have et " "linjeskift,\n" " sÃ¥ tilføj \\n i FORMAT.\n" " -t, --terse udskriv information kortfattet\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "De gyldige format-sekvenser for filer (uden --file-system):\n" "\n" " %a adgangsrettigheder oktalt\n" " %A adgangsrettigheder pÃ¥ læsevenlig form\n" " %b antal blokke allokeret (se %B)\n" " %B størrelsen i byte for hver blok rapporteret af %b\n" " %C streng for SELinux-sikkerhedskontekst\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d - enhedsnummer decimalt\n" " %D - enhedsnummer i hex\n" " %f - rÃ¥ tilstand i hex\n" " %F - filtype\n" " %g - gruppe-id pÃ¥ ejer\n" " %G - gruppenavn pÃ¥ ejer\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h antal hÃ¥rde lænker\n" " %i inode-nummer\n" " %m monteringspunkt\n" " %n filnavn\n" " %N citeret filnavn med dereference hvis symbolsk lænke\n" " %o fif om optimal I/O-blokstørrelse\n" " %s samlet størrelse i byte\n" " %t underenhedstype i hex\n" " %T overenhedstype i hex\n" # Vi mÃ¥ hellere undgÃ¥ den uklarheden i de engelske gloser (modification vs change) #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u bruger-id pÃ¥ ejer\n" " %U brugernavn pÃ¥ ejer\n" " %w tidspunkt for filoprettelse i læsevenligt format, eller - hvis " "ukendt\n" " %W tidspunkt for filoprettelse i sekunder siden Epoken, eller 0 hvis " "ukendt\n" " %x tidspunkt for sidste tilgang i læsevenligt format\n" " %X tidspunkt for sidste tilgang i sekunder siden Epoken\n" " %y tidspunkt for sidste indholdsændring i læsevenligt format\n" " %Y tidspunkt for sidste indholdsændring i sekunder siden Epoken\n" " %z tidspunkt for sidste filegenskabsændring i læsevenligt format\n" " %Z tidspunkt for sidste filegenskabsændring i sekunder siden Epoken\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Gyldige formatsekvenser for filsystemer:\n" "\n" " %a frie blokke tilgængelige for ikke-superbruger\n" " %b samlet antal datablokke i filsystem\n" " %c samlet antal filnoder i filsystem\n" " %d frie filnoder i filsystem\n" " %f frie blokke i filsystem\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i filsystems-id i hex\n" " %l største længde pÃ¥ filnavne\n" " %n filnavn\n" " %s blokstørrelse (for hurtigere overførsler)\n" " %S fundamental blokstørrelse (for blokoptællinger)\n" " %t filsystemtype i hex\n" " %T filsystemtype pÃ¥ læsevenlig form\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Brug: %s FLAG... KOMMANDO\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Kør KOMMANDO med ændrede bufferoperationer for dens standardstrømme.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=TILSTAND angiv buffertilstand for standard-ind\n" " -o, --output=TILSTAND angiv buffertilstand for standard-ud\n" " -e, --error=TILSTAND angiv buffertilstand for standard-fejl\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Hvis TILSTAND er 'L', vil den tilhørende strøm være linjebufret.\n" "Dette flag er ugyldigt med standard-ind.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "If TILSTAND er '0', vil den tilhørende strøm være uden buffer.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Ellers er TILSTAND et tal, der kan følges af enhver af følgende:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, og sÃ¥ videre for G, T, P, E, Z, " "Y.\n" "I dette tilfælde vil den pÃ¥gældende strøm være fuldt bufret med\n" "bufferstørrelsen angivet til TILSTAND byte.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "BEMÆRK: Hvis KOMMANDO ændrer buffertilstanden for dens standardstrømme (f." "eks.\n" "gør 'tee' dette), sÃ¥ vil dette tilsidesætte de tilsvarende ændringer fra\n" "'stdbuf'. Derudover bruger visse filtre (sÃ¥som 'dd' og 'cat') ikke strømme\n" "til I/O, og pÃ¥virkes derfor ikke af indstillingerne fra 'stdbuf'.\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "kunne ikke finde %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "kunne ikke opdatere miljøet med %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "linjebufring af stdin er meningsløst" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Brug: %s [-F ENHED | --file=ENHED] [INDSTILLING]...\n" " eller: %s [-F ENHED | --file=ENHED] [-a|--all]\n" " eller: %s [-F ENHED | --file=ENHED] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Udskriv eller ændr terminal-egenskaber.\n" "\n" " -a, --all udskriv alle nuværende indstillinger i læsevenlig form\n" " -g, --save udskriv alle nuværende indstillinger i stty-læsbar " "form\n" " -F, --file=ENHED Ã¥bn og brug den angivne ENHED i stedet for stdin\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Eventuelt '-' før INDSTILLING indikerer en modsat indstilling. '*' markerer\n" "indstillinger som ikke følger POSIX-standarden. Det underliggende system\n" "definerer hvilke indstillinger som er tilgængelige.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Specialtegn:\n" " * dsusp TEGN TEGN sender et stopsignal sÃ¥ snart inddata er slut.\n" " eof TEGN TEGN sender et filslut (afslutter inddata)\n" " eol TEGN TEGN afslutter linjen\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 TEGN alternativt TEGN for linjeslut\n" " erase TEGN TEGN sletter det senest skrevne tegn\n" " intr TEGN TEGN sender et afbrydningssignal\n" " kill TEGN TEGN sletter nuværende linje\n" # SPØRGSMÃ…L. Hvad handler dette 'character quoted' om? stty formÃ¥r pÃ¥ ingen mÃ¥de at forklare det i nogen af manualsiderne. Nogen kan mÃ¥ske lige skrive en forklaring og evt. rette denne streng til #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext TEGN TEGN skriver næste tegn som et specialtegn\n" " quit TEGN TEGN sender en afslutningssignal\n" " * rprnt TEGN TEGN genskriver nuværende linje\n" " start TEGN TEGN starter udskrift igen efter at have stoppet den\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop TEGN TEGN stopper udskriften\n" " susp TEGN TEGN sender et terminalstopsignal\n" " * swtch TEGN TEGN skifter til en anden skál\n" " * werase TEGN TEGN sletter det senest skrevne ord\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Specialindstillinger:\n" " N sæt ind- og uddatahastighed til N baud\n" " * cols N sig til kernen at terminalen har N kolonner\n" " * columns N samme som cols N\n" # http://en.wikipedia.org/wiki/Line_discipline #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N sæt inddatahastighed til N\n" " * line N anvend linjedisciplin N\n" " min N med -icanon, sæt N tegn til minimum for en afsluttet " "læsning\n" " ospeed N sæt udskriftshastighed til N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N sig til kernen at terminalen har N linjer\n" " * size udskriv antal linjer og kolonner ifølge kernen\n" " speed udskriv terminalens hastighed\n" " time N med -icanon, sæt timeout for læsning til N tiendedels " "sekunder\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" " Kontrollindstillinger:\n" " [-]clocal deaktivér signaler for modemkontrol\n" " [-]cread lad inddata blive modtaget\n" " * [-]crtscts aktivér RTS-/CTS-forhandling ('handshaking')\n" " csN sæt tegnstørrelse til N bit, N i [5..8]\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb brug to stop-bit per tegn (én med '-')\n" " [-]hup send et hangup-signal nÃ¥r den sidste proces lukker tty'en\n" " [-]hupcl samme som [-]hup\n" " [-]parenb generér paritetsbit ved skrivning og forvent paritetsbit " "ved\n" " læsning\n" " [-]parodd sæt ulige paritet (lige paritet med '-')\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Indstillinger for inddata:\n" " [-]brkint afbrydning forÃ¥rsager et afbrydningssignal\n" " [-]icrnl transformér vognretur til linjeskift\n" " [-]ignbrk ignorér afbrydningstegn\n" " [-]igncr ignorér vognretur\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignorér tegn med paritetsfejl\n" " * [-]imaxbel bip-signal, men tøm ikke fuld inddatabuffer pÃ¥ grund af\n" " et tegn\n" " [-]inlcr transformér linjeskift til vognretur\n" " [-]inpck muliggør paritetskontrol af inddata\n" " [-]istrip nulstil den høje (8.) bit i et inddatategn\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr " * [-]iutf8 antag at ind-tegn er UTF-8-kodet\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc transformér store til smÃ¥ bogstaver\n" " * [-]ixany tillad hvilket tegn som helst at genstarte udskrift, \n" " ikke kun starttegn\n" " [-]ixoff aktivér start/stop-tegn\n" " [-]ixon aktivér XON/XOFF-flydningskontrol\n" " [-]parmrk markér paritetsfejl (med en 255-0 tegnsekvens)\n" " [-]tandem samme som [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Indstillinger for uddata:\n" " * bsN baktegn-forsinkelsesstil, N i [0..1]\n" " * crN vognretur-forsinkelsesstil, N i [0..3]\n" " * ffN sideskift-forsinkelsesstil, N i [0..1]\n" " * nlN linjeskift-forsinkelsesstil, N i [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl transformér vognretur til linjeskift\n" " * [-]ofdel brug slettetegn til fyld i stedet for null-tegn\n" " * [-]ofill brug fyld-tegn (padding) i stedet for forsinkelses-timing\n" " * [-]olcuc transformér smÃ¥ bogstaver til store\n" " * [-]onlcr transformér linjeskift til vognretur-linjeskift\n" " * [-]onlret linjeskift foretager vognretur\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr skriv ikke vognreturer i første kolonne\n" " [-]opost efterbehandl uddata\n" " * tabN vandret tab-forsinkelsesstil, N i [0..3]\n" " * tabs samme som tab0\n" " * -tabs samme som tab3\n" " * vtN lodret tab-forsinkelsesstil, N i [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Lokale indstillinger:\n" " [-]crterase ekko slettetegn som baktegn-mellemrum-baktegn\n" " * crtkill dræb hele linjen ved at bruge indstillingerne \n" " for echoprt og echoe\n" " * -crtkill dræb hele linjen ved at bruge indstillingerne\n" " for echoctl og echok\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho ekko kontroltegn med hatnotation ('^c')\n" " [-]echo ekko indtastede tegn\n" " * [-]echoctl samme som [-]ctlecho\n" " [-]echoe samme som [-]crterase\n" " [-]echok ekko et linjeskift efter et dræbertegn\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke samme som [-]crtkill\n" " [-]echonl ekko linjeskift selv om ingen andre tegn ekkoes\n" " * [-]echoprt ekko slettede tegn baglæns, mellem '\\' og '/'\n" " [-]icanon aktivér specialtegnene erase, kill, werase og rprnt\n" " [-]iexten aktivér specialtegn som ikke er POSIX-tegn\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig aktivér specialtegn for afbrydning, afslut og hvile\n" " [-]noflsh deaktivér tømning (flush) efter specialtegnene for\n" " afbrydningssignaler og afslutning\n" " * [-]prterase samme som [-]echoprt\n" " * [-]tostop stop baggrundsjob som forsøger at skrive til terminalen\n" " * [-]xcase sammen med icanon, brug '\\' som kontrolsekvens\n" " for store bogstaver\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Kombinationsindstillinger:\n" " * [-]LCASE samme som [-]lcase\n" " cbreak samme som -icanon\n" " -cbreak samme som icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked samme som at sætte brkint ignpar istrip icrnl ixon opost\n" " isig icanon, eof og eol til deres standardværdier\n" " -cooked samme som raw\n" " crt samme som echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec samme som echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq samme som [-]ixany\n" " ek slette- og dræbertegn sættes til deres standardværdier\n" " evenp samme som parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp samme som -parenb cs8\n" " * [-]lcase samme som xcase iuclc olcuc\n" " litout samme som -parenb -istrip -opost cs8\n" " -litout samme som parenb istrip opost cs7\n" " nl samme som -icrnl -onlcr\n" " -nl samme som icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp samme som parenb parodd cs7\n" " -oddp samme som -parenb cs8\n" " [-]parity samme som [-]evenp\n" " pass8 samme som -parenb -istrip cs8\n" " -pass8 samme som parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw samme som -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw samme som cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane samme som cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, alle specialtegn\n" " sættes til deres standardværdier.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "HÃ¥ndtér tty-linjen koblet til standard-ind. Uden argumenter, udskriv\n" "bitrate, linjedisciplin og afvigelse fra 'stty sane'. I indstillinger tages\n" "TEGN bogstaveligt eller kodet som i ^c, 0x37, 0177 eller 127; specielle\n" "værdier, ^- eller undef bruges for at deaktivere specielle tegn\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "kun en enhed kan angives" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "flagene for fyldig og stty-læsbar udskrift udelukker hinanden" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "nÃ¥r en stil for uddata angives kan tilstande ikke sættes" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s: kunne ikke nulstille ikke-blokerende tilstand" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "ugyldigt argument %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "manglende argument til %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "ugyldig linjedisciplin %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: ikke i stand til at udføre alle forespurgte operationer" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: ingen størrelsesinformation for denne enhed" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "ugyldig heltalsargument %s" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Udskriv kontrolsum og blokantal for hver FIL.\n" "\n" " -r brug BSD-sumalgoritme, brug 1K-blokke\n" " -s, --sysv brug System V-sumalgoritme, brug 512 byte-blokke\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Gem ændrede blokke til disk, opdatér superblokken.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorerer alle argumenter" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "BEMÆRK: din skal har mÃ¥ske sin egen version af %s, som normalt erstatter\n" "versionen beskrevet her. Referér venligst til din skals dokumentation for\n" "detaljer angÃ¥ende de understøttede flag.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help vis denne hjælpetekst og afslut\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version vis versionsinformation og afslut\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatoriske argumenter til lange flag er ogsÃ¥ obligatoriske for de korte.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "STØRRELSE er et heltal eventuelt plus enhed (eksempel: 10M er " "10*1024*1024).\n" "Enheder er K, M, G, T, P, E, Z, Y (potenser af 1024) eller KB, MB, ... \n" "(potenser af 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Visningsværdier er i enheder af første tilgængelige STØR fra --block-size\n" "eller miljøvariablerne %s_BLOCK_SIZE, BOCK_SIZE og BLOCKSIZE. Ellers er \n" "enheden som standard 1024 byte (eller 512 hvis POSIXLY_CORRECT er givet).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Rapportér %s-fejl til %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "Rapportér oversættelsesfejl i %s til <dansk@dansk-gruppen.dk>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Den fuldstændige dokumentation fÃ¥s ved at køre: info coreutils '%s " "invocation'\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Prøv '%s --help' for mere information.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "ADVARSEL: Cirkulær katalogstruktur.\n" "Dette betyder næsten helt sikkert at du har et ødelagt filsystem.\n" "RAPPORTÉR TIL SYSTEMANSVARLIG.\n" "Følgende katalog udgør en del af cirklen:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv hver fil til standard-ud, sidste linje først.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before indsæt separator før i stedet for efter\n" " -r, --regex fortolk separatoren som et regulært udtryk\n" " -s, --separator=STRENG brug STRENG som separator i stedet for " "linjeskift\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: søgning mislykkedes" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "blok er for stor" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "kunne ikke oprette midlertidig fil i %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "kunne ikke Ã¥bne %s til skrivning" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "kunne ikke spole strøm tilbage for %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: skrivefejl" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "kunne ikke Ã¥bne %s til læsning" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "separatoren kan ikke være tom" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Skriv de sidste %d linjer af hver FIL til standard-ud.\n" "Med mere end en FIL angivet, udskriv filnavnet før hver FIL.\n" "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K udskriv de sidste K byte; brug alternativt -c +K\n" " til at udskrive byte fra position K i hver fil\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={navn|deskriptor}]\n" " udskriv tilføjede data efterhÃ¥nden som filen\n" " vokser; -f, --follow, og --follow=deskriptor er\n" " det samme\n" " -F det samme som --follow=navn --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K udskriv sidste K linjer frem for de sidste %d, " "eller\n" " brug -n +K til at udskrive fra og med K'te linje\n" " --max-unchanged-stats=N\n" " med --follow=name: GenÃ¥bn en FIL som ikke har " "ændret\n" " størrelse efter N (forvalg %d) iterationer for at " "se\n" " om den er blevet aflænket eller omdøbt\n" " (dette er normalt tilfældet for roterede " "logfiler).\n" " Dette flag er sjældent nyttigt sammen med " "inotify.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID med -f, terminér efter proces med ID, PID er død\n" " -q, --quiet, --silent udskriv ikke overskrifter med filnavne\n" " --retry forsøg fortsat med at Ã¥bne en fil, selv nÃ¥r den " "er\n" " eller bliver utilgængelig; brugbar nÃ¥r der " "gives\n" " et efterfølgende navn, f.eks. med --" "follow=name\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N med -f: sov cirka N sekunder mellem hver " "iteration\n" " (forvalg 1,0 sekund).\n" " Med inotify og --pid=P, tjekkes proces P " "mindst\n" " en gang hvert N sekunder.\n" " -v, --verbose udskriv altid overskrifter med filnavne\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Hvis det første tegn i K (antal byte eller linjer) er et '+', sÃ¥ udskriv \n" "fra og med K'te element fra starten af hver fil; udskriv ellers de sidste " "K \n" "elementer i filen. K kan have et multiplikationssuffiks:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, og sÃ¥ videre for T, P, E, Z, Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Med --follow (-f) vil tail som standard følge fildeskriptoren. Dette\n" "betyder at en fil omdøbes nÃ¥r den følges af tail, sÃ¥ vil tail fortsat\n" "udskrive ved filens afslutning. Denne opførsel er ikke ønskværdig, nÃ¥r\n" "du virkelig ønsker at følge det faktiske navn pÃ¥ filen og ikke\n" "fildeskriptoren (f.eks. ved logrotation). Brug --follow=name i dette\n" "tilfælde. Dette fÃ¥r 'tail' til at følge den angivne fil pÃ¥ en mÃ¥de,\n" "der tillader omdøbning, sletning og oprettelse.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "lukker %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s: kan ikke søge til relativt afsæt %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: kan ikke søge til afsæt relativt til slutningen %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" "kan ikke bestemme placeringen af %s. bruger i stedet gentagne forespørgsler" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "ukendt filsystemtype 0x%08lx for %s. rapportér venligst dette til %s. gÃ¥r " "over til gentagne forespørgsler" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s er blevet utilgængelig" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s er blevet erstattet af en fil, der ikke kan køres 'tail' pÃ¥; giver op for " "dette navn" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s er blevet erstattet af en fjern fil; giver op for dette navn" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s er blevet tilgængelig" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s er dukket op. Følger slutningen af ny fil" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s er blevet erstattet. Følger slutningen af ny fil" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s: kan ikke ændre ikke-blokerende tilstand" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fil afkortet" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "ingen filer tilbage" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "kan ikke overvÃ¥ge ophavskataloget for %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "inotify-ressourcer opbrugt" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "kan ikke overvÃ¥ge %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "fejl ved overvÃ¥gning af inotify-hændelse" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "fejl ved læsning af inotify-hændelse" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: kan ikke følge slutningen pÃ¥ denne filtype; giver op for dette navn" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "tal i %s er for stort" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s: ugyldig maksimum antal af uændrede resultater af kald til stat() mellem " "kald til open()" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: ugyldig PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ugyldigt antal sekunder" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "flag brugt i ugyldig kontekst -- %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "advarsel: --retry er hovedsageligt brugbar ved følgning af navn" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "advarsel: PID ignoreret; --pid=PID er kun brugbart ved følgning" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "advarsel: --pid=PID er ikke understøttet pÃ¥ dette system" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "kan ikke følge %s ved navn" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "advarsel: det er ineffektivt at følge standard-ind pÃ¥ ubestemt tid" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "inotify kan ikke bruges, bruger i stedet gentagne forespørgsler" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Kopier standard-ind til hver FIL og til standard-ud.\n" "\n" " -a, --append tilføj til de angivne FILer, overskriv ikke\n" " -i, --ignore-interrupts ignorer afbrydningssignaler\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Hvis en FIL er -, kopieres igen til standard-ud.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "manglende argument efter %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "ugyldigt heltal %s" #: src/test.c:241 msgid "')' expected" msgstr "')' forventet" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "')' forventet, fandt %s" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: unær operator forventet" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt accepterer ikke -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef accepterer ikke -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot accepterer ikke -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "ukendt binær operator" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: binær operator forventet" # mystisk #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Brug: test UDTRYK\n" " eller: test\n" " eller: [ UDTRYK ]\n" " eller: [ ]\n" " eller: [ FLAG\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Returnér med en statusværdi som bestemmes af UDTRYK.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Et udeladt UDTRYK er som standard falsk. Ellers er \n" "UDTRYK sandt eller falsk og afgør returværdien. Det er én af:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( UDTRYK ) UDTRYK er sandt\n" " ! UDTRYK UDTRYK er falsk\n" " UDTRYK1 -a UDTRYK2 bÃ¥de UDTRYK1 og UDTRYK2 er sande\n" " UDTRYK1 -o UDTRYK2 mindst ét af udtrykkene er sande\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRENG længden af STRENG er forskellig fra nul\n" " STRENG samme som -n STRENG\n" " -z STRENG længden af STRENG er nul\n" " STRENG1 = STRENG2 strengene er ens\n" " STRENG1 != STRENG2 strengene er forskellige\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " HELTAL1 -eq HELTAL2 HELTAL1 er lig med HELTAL2\n" " HELTAL1 -ge HELTAL2 HELTAL1 er større end eller lig med HELTAL2\n" " HELTAL1 -gt HELTAL2 HELTAL1 er større end HELTAL2\n" " HELTAL1 -le HELTAL2 HELTAL1 er mindre end eller lig med HELTAL2\n" " HELTAL1 -lt HELTAL2 HELTAL1 er mindre end HELTAL2\n" " HELTAL1 -ne HELTAL2 HELTAL1 er forskellig fra HELTAL2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FIL1 -ef FIL2 FIL1 og FIL2 har samme enheds- og inodenummer\n" " FIL1 -nt FIL2 FIL1 er nyere (ændringstidspunkt) end FIL2\n" " FIL1 -ot FIL2 FIL1 er ældre end FIL2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FIL FIL findes og er en specialfil for blokadgang\n" " -c FIL FIL findes og er en specialfil for tegnadgang\n" " -d FIL FIL findes og er et katalog\n" " -e FIL FIL findes\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FIL FIL findes og er en almindelig fil\n" " -g FIL FIL findes og har sæt-gruppe-ID-bitten sat\n" " -G FIL FIL findes og ejes af det effektive gruppe-ID\n" " -h FIL FIL findes og er en symbolsk lænke (samme som -L)\n" " -k FIL FIL findes med klæbebitten sat\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FIL FIL findes og er en symbolsk lænke (samme som -h)\n" " -O FIL FIL findes og ejes af det effektive bruger-ID\n" " -p FIL FIL findes og er en navngivet datakanal\n" " -r FIL FIL findes og er læsbar\n" " -s FIL FIL findes og har størrelse større end nul\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FIL FIL findes og er en sokkel\n" " -t FD fildeskriptor FD er Ã¥bnet i en terminal\n" " -u FIL FIL findes og dens set-user-ID-bit er sat\n" " -w FIL FIL findes og er skrivbar\n" " -x FIL FIL findes og kan eksekveres (eller søges)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "PÃ¥ nær for -h og -L, vil alle FIL-relaterede test dereferere symbolske " "lænker.\n" "Vær opmærksom pÃ¥ at parenteser skal undviges (f.eks. med omvendt skrÃ¥streg)\n" "for skaller.\n" "HELTAL kan ogsÃ¥ være -l STRENG, som evalueres til længden af STRENG.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "BEMÆRK: [ respekterer flagene --help og --version, men test gør ikke.\n" "test behandler hver af disse som den behandler enhver anden ikke-tom " "STRENG.\n" #: src/test.c:791 msgid "test and/or [" msgstr "kontrollér og/eller [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "manglende ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "ekstra argument %s" #: src/timeout.c:112 #, fuzzy, c-format msgid "warning: sigprocmask" msgstr "advarsel: timer_create" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "advarsel: timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "advarsel: timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Brug: %s [FLAG] VARIGHED KOMMANDO [ARG]...\n" " eller: %s [FLAG]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Start KOMMANDO, og dræb den hvis den stadig kører efter VARIGHED.\n" "\n" "Obligatoriske argumenter til lange flag er ogsÃ¥ obligatoriske for de korte.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --foreground\n" " NÃ¥r der ikke køres timeout direkte fra en skalprompt, sÃ¥\n" " tillad KOMMANDO at læse fra TTY'en og modtage TTY-" "signaler.\n" " I denne tilstand vil underprocesser af KOMMANDO ikke " "udløbe.\n" " -k, --kill-after=VARIGHED\n" " send ogsÃ¥ et KILL-signal hvis KOMMANDO stadig kører sÃ¥\n" " længe efter udsendelsen af det oprindelige signal.\n" " -s, --signal=SIGNAL\n" " angiv signalet, der skal sendes ved tidsudløb.\n" " SIGNAL kan være et navn sÃ¥som 'HUP' eller et tal.\n" " Se 'kill -l' for en liste af signaler\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "VARIGHED er et flydende kommatal, eventuelt med et suffiks:\n" "'s' for sekunder (standard), 'm' for minutter, 'h' for timer og 'd' for " "dage.\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Hvis kommandoen overskrider tidsgrænsen, sÃ¥ afslut med kode 124.\n" "Afslut ellers med KOMMANDOs afslutningskode. Hvis intet signal\n" "angives, vil TERM-signalet blive sendt nÃ¥r tidsgrænsen nÃ¥s.\n" "TERM-signalet vil dræbe processer, som ikke blokerer eller fanger\n" "dette signal. For andre processer kan det være nødvendigt at bruge\n" "KILL (9)-signalet, eftersom dette signal ikke kan fanges. Hvis KILL\n" "(9)-signalet sendes, vil afslutningskoden være 128+9 frem for 124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "advarsel: deaktivering af kernedump mislykkedes" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "fejl under ventning pÃ¥ kommando" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "ugyldigt datoformat %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "kan ikke røre %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "sætter tider for %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Opdatér tilgangs- og ændringstidspunkter for hver FIL til nuværende " "tidspunkt.\n" "\n" "Et FIL-argument som ikke findes, oprettes tomt, med mindre -c eller -h er\n" "givet.\n" "\n" "En FIL-argumentstreng pÃ¥ - hÃ¥ndteres specielt, og fÃ¥r touch til at ændre\n" "tidspunkterne for filen associeret med standard-ud.\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ændr kun læsningstidspunkt\n" " -c, --no-create opret ikke nogen filer\n" " -d, --date=STRENG fortolk og brug STRENG frem for nuværende " "klokkeslæt\n" " -f (ignoreres)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference ændr symbolske lænker i stedet for refererede " "filer\n" " (kun for systemer der kan ændre tidsstempler for\n" " en symlænke)\n" " -m ændr kun ændringstidspunktet\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FIL brug denne fils tider frem for nuværende " "klokkeslæt\n" " -t STEMPEL brug MMDDttmm[[HH]Ã…Ã…][.ss] frem for nuværende\n" " klokkeslæt\n" " --time=ORD ændr den angivne tid:\n" " hvis ORD er access, atime eller use, gør som -a\n" " hvis ORD er mtime eller modify, gør som -m\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Bemærk at -d og -t flagene tager forskellige tidspunkts- og dato-formater.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "kan ikke angive tidspunkter fra mere end én kilde" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "advarsel: 'touch %s' er forældet; brug 'touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Brug: %s [OPTION]... MÆNGDE1 [MÆNGDE2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Transskribér, sammenklem og/eller fjern tegn fra standard-ind,\n" "og skriv til standard-ud.\n" "\n" " -c, -C, --complement brug komplement af MÆNGDE1\n" " -d, --delete slet tegn i MÆNGDE1, transskribér ikke\n" " -s, --squeeze-repeats erstat hver række af gentagne inddatategn som er\n" " anført i MÆNGDE1 med et enkelt af dette tegn\n" " -t, --truncate-set1 afkort først MÆNGDE1 til længden af MÆNGDE2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "MÆNGDE er angivet med strenge af tegn. De fleste tegn stÃ¥r for sig\n" "selv. Følgende sekvenser tolkes specielt:\n" "\n" " \\NNN tegn med oktalværdi NNN (1 til 3 oktale cifre)\n" " \\\\ omvendt skrÃ¥streg\n" " \\a hørbar BEL\n" " \\b baktegn\n" " \\f sideskift (FF)\n" " \\n linjeskift (LF)\n" " \\r vognretur (CR)\n" " \\t vandret tabulator\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v lodret tabulator\n" " TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende\n" " [TEGN*] i MÆNGDE2, kopier af TEGN indtil samme længde til MÆNGDE1\n" " [TEGN*ANTAL] ANTAL kopier af TEGN, ANTAL er oktal, hvis det begynder " "med 0\n" " [:alnum:] alle bogstaver og tal\n" " [:alpha:] alle bogstaver\n" " [:blank:] alle vandrette blanke tegn\n" " [:cntrl:] alle kontroltegn\n" " [:digit:] alle cifre\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] alle skrivbare tegn, undtaget blanke tegn\n" " [:lower:] alle smÃ¥ bogstaver\n" " [:print:] alle skrivbare tegn, inkluderet blanke tegn\n" " [:punct:] alle tegnsætningstegn\n" " [:space:] alle vandrette og lodrette blanke tegn\n" " [:upper:] alle store bogstaver\n" " [:xdigit:] alle hexadecimale cifre\n" " [=TEGN=] alle tegn som er lig TEGN\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Der transskriberes hvis -d ikke er givet, og bÃ¥de MÆNGDE1 og MÆNGDE2 er " "der.\n" "-t kan kun bruges ved transskription. MÆNGDE2 bliver udvidet til længden " "af\n" "MÆNGDE1 ved at repetere dets sidste tegn om nødvendigt. Ekstra tegn i " "MÆNGDE2\n" "ignoreres. Kun [:lower:] og [:upper:] garanteres at udvide i stigende " "orden;\n" "de bruges i MÆNGDE2, og mÃ¥ kun anvendes til at angive versalkonvertering. -" "s\n" "bruger MÆNGDE1 hvis der hverken transskriberes eller slettes; " "sammenklemning \n" "bruger MÆNGDE2 og sker efter transkription eller sletning.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "advarsel: den flertydige oktal-undvigesekvens \\%c%c%c bliver\n" "\tfortolket som 2-byte-sekvensen \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "advarsel: uundveget omvendt skrÃ¥streg ved strengens afslutning er ikke " "portabel" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "intervalgrænser for '%s-%s' er i omvendt sorteringsrækkefølge" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "ugyldigt gentagelsestal %s i [c*n]-konstruktion" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "mangler navn pÃ¥ tegnklasse '[::]'" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "mangler tegn for ækvivalensklasse '[==]'" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "ugyldig tegnklasse %s" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: ækvivalensklasseoperanden skal være et enkelt tegn" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "fejlplaceret [:upper:]- og/eller [:lower:]-konstruktion" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "for mange tegn i mængde" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "nÃ¥r der transskriberes med streng1 længere end streng2, mÃ¥\n" "sidstnævnte streng ikke slutte med en tegnklasse" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "gentagelseskonstruktionen [c*] kan ikke optræde i streng1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "kun en [c*] gentagelseskonstruktion kan optræde i streng2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "[=c=]-udtryk kan ikke optræde i streng2 under transkription" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "ved transkription er de eneste tegnklasser som kan være i streng2\n" "'upper' og 'lower'" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "nÃ¥r mængde1 ikke bliver forkortet, kan streng2 ikke være tom" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "nÃ¥r der transskriberes med komplementerede tegnklasser\n" "skal streng2 afbilde alle tegn i domænet til én" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "[c*]-konstruktionen kan kun optræde i streng2 ved transkription" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "To strenge skal være givet ved bÃ¥de sletning og sammenklemning af " "gentagelser." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "To strenge skal være givet ved transskription." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Kun én streng kan angives, nÃ¥r der slettes uden sammenklemning af " "gentagelser." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Brug: %s [kommandolinjeargumenter ignoreres]\n" " eller: %s FLAG\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Afslut med en statuskode som angiver succes." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Afslut med en statuskode som angiver fejl." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Brug: %s FLAG... FIL...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Formindsk eller udvid størrelsen af hver FIL til den angivne størrelse\n" "\n" "Et FIL-argument som ikke findes, oprettes.\n" "\n" "Fylder en FIL mere end den angivne størrelse, vil de ekstra data gÃ¥ tabt.\n" "Fylder en FIL mindre, vil den blive udvidet, og den udvidede del (hullet)\n" "sættes til nul-byte.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create opret ikke nogen filer\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks fortolk STØR som antal IO-blokke frem for byte\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFIL basér størrelsen pÃ¥ RFIL\n" " -s, --size=STØR angiv eller justér filstørrelsen med STØR\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "STØR kan ogsÃ¥ følge efter et af følgende ændringstegn: '+' udvid med,\n" "'-' formindsk med, '<' højst, '>' mindst, '/' rund ned til multiplum af,\n" "'%' rund op til multiplum af.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "overløb i %<PRIdMAX> * %<PRIdMAX> byte-blokke for filen %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s har en ubrugelig, tilsyneladende negativ størrelse" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "kan ikke bestemme størrelsen af %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "overløb ved oprunding af filstørrelse for %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "overløb ved udvidelse af filstørrelse for %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "kunne ikke afkorte %s ved byte %<PRIdMAX>" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "flere relative modifikatorer angivet" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "du skal angive enten %s eller %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "du skal angive en relativ %s med %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s blev angivet, men ikke %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "kan ikke Ã¥bne %s til skrivning" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Brug: %s [FLAG] [FIL]\n" "Skriv en fuldstændig sorteret liste konsistent med den delvise sortering\n" "i FIL. Hvis ingen FIL eller hvis FIL er -, læses fra standard-ind.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: inddata indeholder et ulige antal elementer" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: inddata indeholder en løkke:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Udskriv filnavnet for terminalen som er koblet til standard-ind.\n" "\n" " -s, --silent, --quiet udskriv ikke noget, returnér kun en " "afslutningsstatus\n" #: src/tty.c:120 msgid "not a tty" msgstr "ikke en tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Udskriv visse systeminformationer. Hvis ingen FLAG blev angivet, bruges -" "s.\n" "\n" " -a, --all udskriv al information i følgende rækkefølge,\n" " dog udelades -p og -i hvis ukendte:\n" " -s, --kernel-name udskriv kernens navn\n" " -n, --nodename udskriv maskinens værtsnavn pÃ¥ netværket\n" " -r, --kernel-release udskriv kernens udgave\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version udskriv kernens version\n" " -m, --machine udskriv maskintypen\n" " -p, --processor udskriv processortypen\n" " -i, --hardware-platform udskriv maskinelplatform\n" " -o, --operating-system udskriv operativsystemet\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Udskriv maskinarkitektur.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "kan ikke finde ud af systemnavnet" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Konvertér mellemrum i hver FIL til tabulatorer, og skriv til standard-ud.\n" "Uden en FIL, eller nÃ¥r FIL er -, læses standard-ind.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all konvertér alle blanke, frem for blot foranstillede " "blanke\n" " --first-only konvertér kun indledende rækker af blanke (tilsidesæt -" "a)\n" " -t, --tabs=N hav tabulatorer N tegn fra hinanden frem for 8 (medfører -" "a)\n" " -t, --tabs=LISTE brug en kommasepareret LISTE med tabulatorpositioner\n" " (medfører -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "tabulatorer er for vidt adskilt" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "tabulatorstopværdien er for stor" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Brug: %s [FLAG]... [INDDATA [UDDATA]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtrér tilstødende overensstemmende linjer fra INDDATA (eller standard-" "ind)\n" "og skriv til UDATA (eller standard-ud).\n" "\n" "Uden flag vil identiske linjer reduceres til første forekomst.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count begynd linjer med antal forekomster\n" " -d, --repeated udskriv kun linjer der er flere af\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=adskillelses-metode] udskriv alle gentagne linjer\n" " adskillelses-metode={none(forvalgt),prepend," "separate}\n" " Adskillelse gøres med blanke linjer\n" " -f, --skip-fields=N sammenlign ikke de første N felter\n" " -i, --ignore-case ignorér forskelle med store og smÃ¥ bogstaver\n" " -s, --skip-chars=N sammenlign ikke de første N tegn\n" " -u, --unique udskriv kun unikke linjer\n" " -z, --zero-terminated afslut linjer med 0-byte frem for linjeskift\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr " -w, --check-chars=N sammenlign ikke mere end N tegn per linje\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Et felt er en række blanke tegn (sædvanligvis mellemrum og/eller " "tabulatorer),\n" "fulgt af ikke-blanke tegn. Felter hoppes over før tegn.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Bemærk: 'uniq' opdager ikke gentagne linjer, med mindre de følger " "umiddelbart\n" "efter hinanden. Du vil mÃ¥ske ønske at sortere inddata først, eller bruge\n" "'sort -u' uden 'uniq'. I øvrigt følger sammenligninger reglerne angivet\n" "af 'LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "for mange gentagne linjer" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "ugyldigt antal felter at hoppe over" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "ugyldigt antal byte at hoppe over" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "ugyldigt antal byte at sammenligne" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "skrivning af alle duplikerede linjer *og* gentagelsesantal giver ikke mening" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Brug: %s FIL\n" " eller: %s FLAG\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Kald funktionen unlink for at fjerne angivet FIL.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "kan ikke aflænke %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "kunne ikke finde ud af boot-tid" # Dette giver f.eks. 16:30 (i modsætning til %P, som vil give 16:30PM) #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "oppe ???? dage ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "oppe %ld dag %2d:%02d, " msgstr[1] "oppe %ld dage %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "oppe %ld dag %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu bruger" msgstr[1] "%lu brugere" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", belastningennemsnit: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Udskriv den aktuelle tid, hvor længe systemet har været oppe,\n" "antal brugere pÃ¥ systemet, og det gennemsnitlige antal opgaver\n" "i kørselskøen for de seneste 1, 5 og 15 minutter." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Processer i\n" "uafbrydelig sovetilstand bidrager ogsÃ¥ til belastningsmiddeltallet.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Hvis FIL ikke er angivet, bruges %s. %s som FIL er almindeligt.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Udskriv hvem som for øjeblikket er logget ind ifølge FIL.\n" "Hvis FIL ikke er angivet bruges %s. %s som FIL er almindeligt.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Udskriv antal linjeskift, ord og byte for hver FIL, samt en linje med " "summerne\n" "heraf, hvis mere end én FIL er angivet. Uden FIL, eller hvis FIL er -, " "læses\n" "standard-ind. Et ord er en følge af tegn af længde større end nul, adskilt\n" "af blanke tegn.\n" "Flagene herunder kan bruges til at vælge hvilke tal der udskrives - altid i\n" "denne rækkefølge: linjer, ord, tegn, byte, maksimal linjelænge.\n" " -c, --bytes udskriv antal byte\n" " -m, --chars udskriv antal tegn\n" " -l, --lines udskriv antal linjeskift\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F læs inddata fra filerne angivet ved NUL-afsluttede\n" " navne i filen F;\n" " Hvis F er -, sÃ¥ læs navne fra standard-ind\n" " -L, --max-line-length udskriv længden af den længste linje\n" " -w, --words udskriv ordtallene\n" #: src/who.c:210 msgid " old " msgstr " gammel " #: src/who.c:440 msgid "system boot" msgstr "systemstart" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "afslut=" #: src/who.c:485 msgid "LOGIN" msgstr "LOGIN" #: src/who.c:505 msgid "clock change" msgstr "tidsændring" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "kørselsniveau" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "sidste=" # ??? #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# brugere=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "NAVN" #: src/who.c:559 msgid "LINE" msgstr "LINJE" #: src/who.c:559 msgid "TIME" msgstr "TID" #: src/who.c:559 msgid "IDLE" msgstr "INAKTIV" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTAR" #: src/who.c:560 msgid "EXIT" msgstr "AFSLUT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Brug: %s [FLAG]... [ FIL | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Udskriv information om brugere som er logget ind lige nu.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all samme som -b -d --login -p -r -t -T -u\n" " -b, --boot tid for seneste systemopstart\n" " -d, --dead udskriv døde processer\n" " -H, --heading udskriv linje med kolonneoverskrifter\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login udskriv systemlogindprocesser\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup forsøg at normalisere værtsnavne ved hjælp af DNS\n" " -m kun værtsnavn og brugernavn associeret med stdin\n" " -p, --process udskriv aktive processer startet af init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count alle indlogningsnavne og antal indloggede brugere\n" " -r, --runlevel skriv aktuelt kørselsniveau\n" " -s, --short skriv kun navn, linje og tid (standard)\n" " -t, --time skriv seneste ændring af systemklokken\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg tilføj brugeres meddelelsestatus som +, - eller ?\n" " -u, --users list indloggede brugere\n" " --message samme som -T\n" " --writable samme som -T\n" # vittigheden ("who am I", "who mom likes") gÃ¥r lidt tabt hvis eksemplerne oversættes #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Hvis FIL ikke er angivet, sÃ¥ brug %s. %s som FIL er almindeligt.\n" "Hvis ARG1 ARG2 er angivet, antages -m: 'am i' eller 'mom likes' er " "almindeligt.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Udskriv brugernavnet tilknyttet den nuværende effektive bruger-ID.\n" "Samme som id -un.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: kan ikke finde navnet for bruger-ID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s [STRENG]...\n" " eller: %s FLAG\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Skriv gentagne gange en linje med alle specificerede STRENGe, eller 'y'\n" "\n" #~ msgid "using single-precision arithmetic" #~ msgstr "regner med enkeltpræcision" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "regner med arbitrær præcision" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "opretter filen %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Brug: %s [FLAG] NAVN...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: ugyldig længde pÃ¥ endelse" #~ msgid "reading %s" #~ msgstr "læser %s" #~ msgid "writing %s" #~ msgstr "skriver %s" #~ msgid "closing %s" #~ msgstr "lukker %s" #~ msgid "accessing %s" #~ msgstr "tilgÃ¥r %s" #~ msgid "opening %s" #~ msgstr "Ã¥bner %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system udelad kataloger pÃ¥ andre filsystemer\n" #~ " -X, --exclude-from=FIL udelad filer som svarer til et hvilket som\n" #~ " helst mønster i FIL.\n" #~ " --exclude=MØNSTER udelad filer som svarer til MØNSTER\n" #~ " -d, --max-depth=N vis kun totalsum for et katalog (eller fil, med --" #~ "all)\n" #~ " hvis der er N eller færre niveauer under " #~ "kommandolinje-\n" #~ " argumentet; --max-depth=0 er det samme som\n" #~ " --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off lav aldrig sikkerhedskopier (selvom --backup er givet)\n" #~ " numbered, t lav nummererede sikkerhedskopier\n" #~ " existing, nil nummererede, hvis nummererede sikkerhedskopier " #~ "eksisterer,\n" #~ " ellers enkle sikkerhedskopier\n" #~ " simple, never lav altid enkle sikkerhedskopier\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "ADVARSEL: --page-increment er forældet; brug --line-increment i stedet" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Alle argumenter til lange flag er obligatoriske for de korte flag.\n" # (TYPE er skrevet med stort med vilje) #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX er d for decimal, o for oktal, x for hexadecimal eller n for " #~ "ingen.\n" #~ "BYTE er hexadecimal med 0x- eller 0X-præfiks, og kan have et " #~ "multiplikativt\n" #~ "suffiks: \"b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, \n" #~ "GB 1000*1000*1000, G 1024*1024*1024 og sÃ¥ videre for T, P, E, Z, Y.\n" #~ "Tilføjes suffikset z til TYPE, vil skrivbare tegn blive vist ved " #~ "slutningen \n" #~ "af hver linje af udskriften.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Flaget --string uden et tal implicerer 3. Flaget --width uden et tal\n" #~ "implicerer 32. Normalt bruger od: -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Brug: %s [FLAG]... [FIL]\n" ������������������������������������������������������coreutils-8.21/po/af.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001072462�12107204504�011721� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coreutils-5.2.1.af.po. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Petri Jooste <rkwjpj@puknet.puk.ac.za>, 2004. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.2.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2004-03-17 11:58+0200\n" "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n" "Language-Team: Afrikaans <i18n@af.org.za>\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "ongeldige parameter %s vir %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "dubbelsinnige parameter %s vir %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Geldige parameters is soos volg:" #: lib/closein.c:100 #, fuzzy msgid "error closing file" msgstr "toevoerlêer %s word toegemaak" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "skryffout" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, fuzzy, c-format msgid "preserving permissions for %s" msgstr "toegangsregte vir %s word gestel" #: lib/error.c:188 msgid "Unknown system error" msgstr "Onbekende stelselfout" #: lib/file-type.c:38 msgid "regular empty file" msgstr "gewone leë lêer" #: lib/file-type.c:38 msgid "regular file" msgstr "gewone lêer" #: lib/file-type.c:41 msgid "directory" msgstr "lêergids" #: lib/file-type.c:44 msgid "block special file" msgstr "spesiale bloklêer" #: lib/file-type.c:47 msgid "character special file" msgstr "spesiale karakterlêer" #: lib/file-type.c:50 msgid "fifo" msgstr "fifo" #: lib/file-type.c:53 msgid "symbolic link" msgstr "simboliese skakel" #: lib/file-type.c:56 msgid "socket" msgstr "sok" #: lib/file-type.c:59 msgid "message queue" msgstr "boodskapwagtou" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafoor" #: lib/file-type.c:65 msgid "shared memory object" msgstr "gedeeldegeheue-objek" #: lib/file-type.c:68 #, fuzzy msgid "typed memory object" msgstr "gedeeldegeheue-objek" #: lib/file-type.c:70 msgid "weird file" msgstr "vreemde lêer" #: lib/gai_strerror.c:57 #, fuzzy msgid "Address family for hostname not supported" msgstr "fifo-lêers word nie ondersteun nie" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:61 #, fuzzy msgid "ai_family not supported" msgstr "fifo-lêers word nie ondersteun nie" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:66 #, fuzzy msgid "ai_socktype not supported" msgstr "fifo-lêers word nie ondersteun nie" #: lib/gai_strerror.c:67 #, fuzzy msgid "System error" msgstr "skryffout" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:87 #, fuzzy msgid "Unknown error" msgstr "Onbekende stelselfout" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: opsie `%s' is dubbelsinnig\n" #: lib/getopt.c:624 lib/getopt.c:628 #, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: opsie `--%s' laat nie 'n parameter toe nie\n" #: lib/getopt.c:637 lib/getopt.c:642 #, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: opsie `%c%s' laat nie 'n parameter toe nie\n" #: lib/getopt.c:685 lib/getopt.c:704 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: opsie `%s' benodig 'n parameter\n" #: lib/getopt.c:742 lib/getopt.c:745 #, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende opsie `--%s'\n" #: lib/getopt.c:753 lib/getopt.c:756 #, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende opsie `%c%s'\n" #: lib/getopt.c:805 lib/getopt.c:808 #, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ongeldige opsie -- %c\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opsie benodig 'n parameter -- %c\n" #: lib/getopt.c:934 lib/getopt.c:950 #, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: opsie `-W %s' is dubbelsinnig\n" #: lib/getopt.c:974 lib/getopt.c:992 #, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: opsie `-W %s' laat nie 'n parameter toe nie\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opsie `%s' benodig 'n parameter\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "kan nie toegangsregte van %s verander nie" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "Kan nie lêergids %s skep nie." #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "geheue uitgeput" #: lib/openat-die.c:38 #, fuzzy, c-format msgid "unable to record current working directory" msgstr "kon nie na aanvanklike werkgids terugkeer nie" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "kon nie na aanvanklike werkgids terugkeer nie" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, fuzzy, c-format msgid "%s: end of file" msgstr "%s: seek het misluk" #: lib/regcomp.c:131 msgid "Success" msgstr "" #: lib/regcomp.c:134 msgid "No match" msgstr "" #: lib/regcomp.c:137 #, fuzzy msgid "Invalid regular expression" msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:143 #, fuzzy msgid "Invalid character class name" msgstr "ongeldige karakterklas `%s'" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:167 #, fuzzy msgid "Memory exhausted" msgstr "geheue uitgeput" #: lib/regcomp.c:170 #, fuzzy msgid "Invalid preceding regular expression" msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #: lib/regcomp.c:173 #, fuzzy msgid "Premature end of regular expression" msgstr "fout in soektog met reëlmatige uitdrukking" #: lib/regcomp.c:176 #, fuzzy msgid "Regular expression too big" msgstr "fout in soektog met reëlmatige uitdrukking" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:704 #, fuzzy msgid "No previous regular expression" msgstr "fout in soektog met reëlmatige uitdrukking" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "dit is gevaarlik om rekursief te werk op %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "dit is gevaarlik om rekursief te werk op %s (net soos %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "gebruik --no-preserve-root om hierdie veiligheidsnet ter syde te stel" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[jJ]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "toegangsregte vir %s word gestel" #: lib/siglist.h:31 msgid "Hangup" msgstr "" #: lib/siglist.h:34 msgid "Interrupt" msgstr "" #: lib/siglist.h:37 msgid "Quit" msgstr "" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" #: lib/siglist.h:46 msgid "Aborted" msgstr "" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "" #: lib/siglist.h:52 msgid "Killed" msgstr "" #: lib/siglist.h:55 #, fuzzy msgid "Bus error" msgstr "sintaksfout" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "" #: lib/siglist.h:67 msgid "Terminated" msgstr "" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" #: lib/siglist.h:76 msgid "Stopped" msgstr "" #: lib/siglist.h:79 msgid "Continued" msgstr "" #: lib/siglist.h:82 msgid "Child exited" msgstr "" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" #: lib/siglist.h:91 msgid "I/O possible" msgstr "" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" #: lib/siglist.h:106 #, fuzzy msgid "Window changed" msgstr "horlosieverandering" #: lib/siglist.h:109 #, fuzzy msgid "User defined signal 1" msgstr "%s: ongeldige sein" #: lib/siglist.h:112 #, fuzzy msgid "User defined signal 2" msgstr "%s: ongeldige sein" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" #: lib/siglist.h:120 #, fuzzy msgid "Bad system call" msgstr "fork-stelselroep het gefaal" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" #: lib/siglist.h:126 msgid "Information request" msgstr "" #: lib/siglist.h:128 #, fuzzy msgid "Power failure" msgstr "'open' het gefaal" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "kan nie die pyp %s skep nie" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: seek het misluk" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "iconv-funksie onbruikbaar" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "iconv-funksie is nie beskikbaar nie" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "karakter is buite die grense" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "kan nie U+%04X omskakel na 'n plaaslike karakterstel nie" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "kan nie U+%04X omskakel na 'n plaaslike karakterstel nie: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "ongeldige gebruiker" #: lib/userspec.c:107 msgid "invalid group" msgstr "ongeldige groep " #: lib/userspec.c:108 #, fuzzy msgid "invalid spec" msgstr "ongeldige gebruiker" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" # TRANSLATORS: %s denotes an author name. # TRANSLATORS: %s denotes an author name. #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Geskryf deur %s.\n" # TRANSLATORS: Each %s denotes an author name. # TRANSLATORS: Each %s denotes an author name. #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Geskryf deur %s en %s.\n" # TRANSLATORS: Each %s denotes an author name. #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Geskryf deur %s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Geskryf deur %s, %s, %s \n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s, %s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s, %s, %s en %s.\n" # TRANSLATORS: Each %s denotes an author name. # You can use line breaks, estimating that each author name occupies # ca. 16 screen columns and that a screen line has ca. 80 columns. #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s, %s, %s, %s\n" "en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s, %s, %s, %s,\n" "%s en %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Geskryf deur %s, %s, %s, \n" "%s, %s, %s, %s\n" "%s, %s en ander.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, fuzzy, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Rapporteer foute aan <%s>.\n" #: lib/version-etc.c:247 #, fuzzy, c-format msgid "Report %s bugs to: %s\n" msgstr "" "\n" "Rapporteer foute aan <%s>.\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "'open' het gefaal" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "" #: lib/xfreopen.c:36 msgid "stdout" msgstr "" #: lib/xfreopen.c:37 msgid "stderr" msgstr "" #: lib/xfreopen.c:38 #, fuzzy msgid "unknown stream" msgstr "Onbekende stelselfout" #: lib/xfreopen.c:39 #, fuzzy, c-format msgid "failed to reopen %s with mode %s" msgstr "kon nie %s oopmaak nie" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "stringvergelyking het gefaal" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Stel LC_ALL='C' om die probleem te systap" #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Die stringe wat vergelyk is, is %s en %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "ongeldige parameter `%s'" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "ongeldige heelgetalparameter `%s'" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "%s: telling `%.*s' is te groot" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "leesfout" #: src/base64.c:230 #, fuzzy, c-format msgid "invalid input" msgstr "ongeldige gebruiker" #: src/base64.c:267 #, fuzzy, c-format msgid "invalid wrap size: %s" msgstr "ongeldige keepgrootte: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, fuzzy, c-format msgid "extra operand %s" msgstr "ekstra operand `%s'" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "standaard-toevoer word nou toegemaak" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Gebruik so: %s NAAM [SUFFIKS]\n" " of: %s OPSIE\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Druk NAAM sonder enige voorafgaande gidsaanduiding.\n" "Indien gespesifiseer, word die SUFFIKS agteraan ook verwyder.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, fuzzy, c-format msgid "missing operand" msgstr "lêerparameter ontbreek" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik so: %s [OPSIE]... [LÊER]...\n" #: src/cat.c:92 #, fuzzy msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Skakel LÊER(s) of standaardtoevoer aaneen en stuur dit na standaardafvoer.\n" "\n" " -A, --show-all ekwivalent aan -vET\n" " -b, --number-nonblank nommer nie-leë afvoerreëls\n" " -e ekwivalent aan -vE\n" " -E, --show-ends wys 'n $ aan die einde van elke reël\n" " -n, --number nommer al die afvoerreëls\n" " -s, --squeeze-blank nooit meer as een leë reël word gewys nie\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t ekwivalent aan -vT\n" " -T, --show-tabs wys keepkarakters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting gebruik ^ and M- notasie, behalwe vir LFD and " "TAB\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:326 #, fuzzy, c-format msgid "cannot do ioctl on %s" msgstr "kan nie ioctl uitvoer op `%s' nie" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "standaard-afvoer" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: Die toevoerlêernaam is 'n afvoerlêer." #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, fuzzy, c-format msgid "failed to create security context: %s" msgstr "kon nie attribute van %s verkry nie" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, fuzzy, c-format msgid "failed to get security context of %s" msgstr "kon nie attribute van %s verkry nie" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:193 #, fuzzy, c-format msgid "failed to change context of %s to %s" msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "kan nie toegang verkry na %s nie" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "kan nie gids %s lees nie" #: src/chcon.c:292 #, fuzzy, c-format msgid "changing security context of %s\n" msgstr "toegangsregte van %s word verander" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read het misluk" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, fuzzy, c-format msgid "fts_close failed" msgstr "'close' het gefaal" #: src/chcon.c:351 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" " or: %s [OPSIE]... :GROEP LÊER...\n" " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " "verstek)\n" " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, fuzzy, c-format msgid "missing operand after %s" msgstr "parameter vir `%s' ontbreek" #: src/chcon.c:562 src/runcon.c:251 #, fuzzy, c-format msgid "invalid context: %s" msgstr "ongeldige omskakeling: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "kon nie attribute van %s verkry nie" #: src/chgrp.c:92 #, fuzzy, c-format msgid "invalid group: %s" msgstr "ongeldige groep %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "nuwe attribute van %s word verkry" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "modus %s is verander na %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "modus %s kon nie na %04lo (%s) verander word nie\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "modus van %s is behou as %04lo (%s)\n" #: src/chmod.c:236 #, fuzzy, c-format msgid "cannot operate on dangling symlink %s" msgstr "kon nie simboliese skakel %s skep nie" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "toegangsregte van %s word verander" #: src/chmod.c:311 #, fuzzy, c-format msgid "%s: new permissions are %s, not %s" msgstr "toegangsregte vir %s word gestel" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:544 #, fuzzy, c-format msgid "invalid mode: %s" msgstr "ongeldige modus %s" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "eienaarskap is vernader van %s na %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "die groep is verander van %s na %s\n" #: src/chown-core.c:160 #, fuzzy, c-format msgid "no change to ownership of %s\n" msgstr "kan nie eienaarskap van %s verander nie" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "groep kon nie van %s na %s verander word nie\n" #: src/chown-core.c:167 src/chown-core.c:173 #, fuzzy, c-format msgid "failed to change ownership of %s\n" msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "groep kon nie van %s na %s verander word nie\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "eienaarskap van %s is behou as %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "groep van %s is behou as %s\n" #: src/chown-core.c:182 #, fuzzy, c-format msgid "ownership of %s retained\n" msgstr "eienaarskap van %s is behou as %s\n" #: src/chown-core.c:379 #, fuzzy, c-format msgid "cannot dereference %s" msgstr "kan nie %s verwyder nie" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "eienaarskap van %s word verander" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "groep van %s word verander" #: src/chown.c:79 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "ongeldige groep %s" #: src/chroot.c:109 #, fuzzy, c-format msgid "invalid group list %s" msgstr "ongeldige groep %s" #: src/chroot.c:117 #, fuzzy, c-format msgid "failed to set additional groups" msgstr "kon nie attribute van %s verkry nie" #: src/chroot.c:132 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s NUWEBEGINPUNT [BEVEL...]\n" " of: %s OPSIE\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Loop BEVEL met wortelgids gestel volgens NUWEBEGINPUNT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "As geen bevel gegee is nie, loop ``${SHELL} -i'' (verstek: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "kan nie wortelgids verander na %s toe nie" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "kan nie chdir uitvoer na wortelgids toe nie" #: src/chroot.c:247 #, fuzzy, c-format msgid "failed to set group-ID" msgstr "kan nie groep-ID na %ld verander nie" #: src/chroot.c:253 #, fuzzy, c-format msgid "failed to set user-ID" msgstr "kon nie %s oopmaak nie" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, fuzzy, c-format msgid "failed to run command %s" msgstr "kan nie bevel %s uitvoer nie" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: lêer te lank" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Gebruik so: %s [LÊER]... \n" " of: %s [OPSIE]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Druk CRC-toetssom en greeptellings van elke LÊER.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Gebruik so: %s [OPSIE]... LÊER1 LÊER2 \n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Vergelyk gesorteerde lêers LÊER1 en LÊER2 reël-vir-reël.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "" #: src/comm.c:407 #, fuzzy, c-format msgid "multiple delimiters specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "fout met die les van %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "kan nie lseek op %s doen nie" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "fout met die skryf na %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "kon nie attribute van %s verkry nie" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "'write' het gefaal" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "kon nie %s oopmaak nie" #: src/copy.c:662 #, fuzzy, c-format msgid "clearing permissions for %s" msgstr "toegangsregte vir %s word gestel" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "eienaarskap van %s kon nie behou word nie" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "kon nie lêer %s opspoor nie" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "outeurskap van %s kon nie behou word nie" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "kan nie %s oopmaak om te lees nie" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "kan nie fstat op %s uitvoer nie" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "lêer %s word oorgeslaan, want dit is vervang tydens kopieëring" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:864 #, fuzzy, c-format msgid "failed to set the security context of %s to %s" msgstr "groep kon nie van %s na %s verander word nie\n" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "kan nie %s verwyder nie" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s is verwyder.\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "kan nie 'n gewone lêer %s skep nie" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "kon nie %s oopmaak nie" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "lêertye van %s word behou" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "kon nie %s oopmaak nie" #: src/copy.c:1471 #, fuzzy, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s: oorskryf %s, moet modus %04lo ter syde gestel word? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: oorskryf %s?" #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr "(rugsteun: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "kon nie vaste skakel %s na %s skep nie" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "kan nie stat %s uitvoer nie" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "lêergids %s word oorgeslaan" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "waarskuwing: bronlêer %s is meer as een keer gespesifiseer" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s en %s is dieselfde lêer" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "die nie-gids %s kan nie met gids %s oorskryf word nie" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "die pasgeskepte %s sal nie met %s oorskryf word nie" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "gids %s kan nie oorskryf word met 'n nie-gids nie" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "'n gids kan nie geskuif word bo-oor 'n nie-gids nie: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "om rugsteun te neem van %s sal die bron vernietig; %s is nie verskuif nie" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "om rugsteun te neem van %s sal die bron vernietig; %s is nie gekopieer nie" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "kan nie rugsteun neem van %s nie" #: src/copy.c:1979 #, fuzzy, c-format msgid "will not copy %s through just-created symlink %s" msgstr "die pasgeskepte %s sal nie met %s oorskryf word nie" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "kan nie 'n lêergids, %s, na homself kopieer nie, %s" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "sal nie 'n vaste skakel %s skep na gids %s nie" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "kan nie 'n gids %s skuif na 'n kind van dieselfde gids nie, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "kan nie %s skuif na %s nie" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "inter-toestel verskuiwing het misluk: %s na %s; die bestemming kan nie " "verwyder word nie" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, fuzzy, c-format msgid "failed to set default file creation context to %s" msgstr "kon nie attribute van %s verkry nie" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "sikliese simboliese skakel %s kan nie gekopieer word nie" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: relatiewe simboliese skakels kan slegs in die huidige gids gemaak word" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "kon nie simboliese skakel %s na %s skep nie" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "kan nie die pyp %s skep nie" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "kan nie spesiale lêer %s skep nie" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "simboliese skakel %s kan nie gelees word nie" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "kon nie simboliese skakel %s skep nie" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s het 'n onbekende lêertipe" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "kan nie %s ont-rugsteun nie" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (ont-rugsteun)\n" #: src/cp.c:156 src/mv.c:286 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" " or: %s [OPSIE]... :GROEP LÊER...\n" " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "lêertye van %s kon nie behou word nie" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "magtigings vir %s kon nie behou word nie" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "kan nie gids %s maak nie" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s bestaan maar is nie 'n lêergids nie" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "kon nie %s oopmaak nie" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, fuzzy, c-format msgid "missing file operand" msgstr "lêerparameter ontbreek" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, fuzzy, c-format msgid "missing destination file operand after %s" msgstr "spesifikasie lêer ontbreek" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, fuzzy, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "'n gids kan nie geskuif word bo-oor 'n nie-gids nie: %s -> %s" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, fuzzy, c-format msgid "target %s is not a directory" msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #: src/cp.c:728 #, fuzzy, c-format msgid "with --parents, the destination must be a directory" msgstr "wanneer paaie behou word, moet die bestemming 'n gids wees" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, fuzzy, c-format msgid "multiple target directories specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "kan nie sowel vaste skakels as simboliese skakels maak nie" #: src/cp.c:1117 src/mv.c:466 #, fuzzy, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "die --string en --check opsies is onderling uitsluitend" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "rugsteuntipe" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "toevoer het verdwyn" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: reëlnommer buite bereik" #: src/csplit.c:700 #, fuzzy, c-format msgid "%s: %s: line number out of range" msgstr "%s: `%s': reëlnommer buite bereik" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr "by herhaling %s\n" #: src/csplit.c:746 #, fuzzy, c-format msgid "%s: %s: match not found" msgstr "%s: `%s': patroon nie gevind nie" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "fout in soektog met reëlmatige uitdrukking" #: src/csplit.c:983 #, fuzzy, c-format msgid "write error for %s" msgstr "skryffout vir `%s'" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: 'n heelgetal is verwag na die skeisimbool" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: `}' word benodig in herhaaltelling" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: tussen `{' en `}' moet 'n heelgetal wees" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: afsluit-skeisimbool `%c' ontbreek" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: ongeldige patroon" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: reëlnommer moet groter as nul wees" #: src/csplit.c:1171 #, fuzzy, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "reëlnommer `%s' is kleiner as die voorafgaande reëlnommer, %s" #: src/csplit.c:1177 #, fuzzy, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" "waarskuwing: reëlnommer `%s' is dieselfde as die voorafgaande reëlnommer" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "ontbrekende omskakelingaanduider in suffiks" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "ontbrekende omskakelingaanduider in suffiks: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "ontbrekende omskakelingaanduider in suffiks: \\%.3o" #: src/csplit.c:1269 #, fuzzy, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ontbrekende omskakelingaanduider in suffiks: %c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "te veel %% omskakelingaanduiders in suffiks" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "ontbrekende %% omskakelingaanduider in suffiks" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: ongeldige getal" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Gebruik so: %s [OPSIE]... LÊER PATROON...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lees vanaf standaardtoevoer as LÊER gegee is as -. Elke PATROON kan wees:\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:189 #, fuzzy, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Gebruik so: %s [OPSIE]... [LÊER]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" "\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:210 #, fuzzy msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --verbose druk 'n diagnostiese boodskap op standaardafvoer\n" " direk voor elke afvoerlêer oopgemaak word\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "ongeldige greep of veldlys" #: src/cut.c:387 #, fuzzy msgid "invalid range with no endpoint: -" msgstr "ongeldige opsie %s vir wydte" #: src/cut.c:403 #, fuzzy msgid "invalid decreasing range" msgstr "ongeldige modusstring: %s" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "greepuitwyking %s is te groot" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "veldnommer %s is te groot" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "slegs een soort lys mag gespesifiseer word" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "die verdeler mag net een karakter wees" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "u moet 'n lys van grepe, karakters of velde spesifiseer" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "slegs wanneer velde gebruik word mag 'n toevoer-skeikarakter gespesifiseer " "word" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "om nie-afgeslote reëls te onderdruk, maak slegs sin\n" "\twanneer dit op velde van toepassing gemaak word" #: src/cut.c:870 msgid "missing list of fields" msgstr "ontbrekende lys van velde" #: src/cut.c:872 msgid "missing list of positions" msgstr "ontbrekende lys van posisies" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "standaardtoevoer" #: src/date.c:307 src/date.c:527 #, fuzzy, c-format msgid "invalid date %s" msgstr "ongeldige datum `%s'" #: src/date.c:418 src/date.c:452 #, fuzzy, c-format msgid "multiple output formats specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "die opsies om drukdatums te spesifiseer is onderling uitsluitend" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "die opsies om die tyd te vertoon en te stel kan nie saam gebruik word nie" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "kon nie die datum stel nie" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "tyd %s is buite bereik" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "" #: src/dd.c:521 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s [GETAL]... \n" " of: %s OPSIE\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=LÊER lees vanaf LÊER in plaas van stdin\n" " obs=GREPE skryf GREPE(aantal) grepe op 'n slag\n" " of=LÊER skryf na LÊER in plaas van na stdout\n" " seek=BLOKKE slaan BLOKKE(aantal) obs-grootte blokke oor aan die begin " "van afvoer\n" " skip=BLOKKE slaan BLOKKE(aantal) ibs-grootte blokke oor aan die begin " "van toevoer\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii van EBCDIC na ASCII\n" " ebcdic van ASCII na EBCDIC\n" " ibm van ASCII na afwisselende EBCDIC\n" " block vul nuwereël-getermineerde rekords met spasies tot by cbs-" "grootte\n" " unblock vervang spasies agteraan cbs-grootte rekords met " "nuwereëlkarakters\n" " lcase verander bokas na onderkas\n" " ucase change lower case to upper case\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:587 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" #: src/dd.c:689 #, fuzzy, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "afgekapte rekord" msgstr[1] "afgekapte rekord" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:720 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "toevoerlêer %s word toegemaak" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "afvoerlêer %s word toegemaak" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "besig om te skryf na %s" #: src/dd.c:1207 src/dd.c:1261 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "onbekende opsie %s" #: src/dd.c:1218 #, fuzzy msgid "invalid conversion" msgstr "ongeldige omskakeling: %s" #: src/dd.c:1221 src/dd.c:1297 #, fuzzy msgid "invalid input flag" msgstr "ongeldige nommer by begin van veld" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 #, fuzzy msgid "invalid output flag" msgstr "ongeldige groep " #: src/dd.c:1227 #, fuzzy msgid "invalid status flag" msgstr "ongeldige gebruiker %s" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "ongeldige nommer %s" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1350 #, fuzzy, c-format msgid "cannot combine block and unblock" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dd.c:1352 #, fuzzy, c-format msgid "cannot combine lcase and ucase" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" #: src/dd.c:1601 #, fuzzy, c-format msgid "%s: cannot skip" msgstr "%s: kan nie teruggaan nie" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: kan nie verwyder nie" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1822 #, fuzzy, c-format msgid "setting flags for %s" msgstr "die tyd van %s is verstel" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, fuzzy, c-format msgid "%s: cannot skip to specified offset" msgstr "%s: kan nie skuif tot by uitwyking %s nie" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:2156 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "kon nie %s oopmaak nie" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "kon nie %s oopmaak nie" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "lêertye van %s kon nie behou word nie" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "" #: src/df.c:172 msgid "Filesystem" msgstr "Lêerstelsel" #: src/df.c:175 msgid "Type" msgstr "Tipe" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blok" #: src/df.c:181 msgid "Used" msgstr "InGebruik" #: src/df.c:184 msgid "Available" msgstr "Beskikbaar" #: src/df.c:187 msgid "Use%" msgstr "Gebruik%" #: src/df.c:190 msgid "Inodes" msgstr "" #: src/df.c:193 msgid "IUsed" msgstr "" #: src/df.c:196 msgid "IFree" msgstr "" #: src/df.c:199 msgid "IUse%" msgstr "" #: src/df.c:202 msgid "Mounted on" msgstr "Geheg aan" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "waarskuwing: bronlêer %s is meer as een keer gespesifiseer" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Grootte" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Beskikbaar" #: src/df.c:474 msgid "Capacity" msgstr "" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "die opsies om drukdatums te spesifiseer is onderling uitsluitend" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Waarskuwing: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:1500 msgid "Warning: " msgstr "Waarskuwing: " #: src/df.c:1502 src/stat.c:814 #, fuzzy msgid "cannot read table of mounted file systems" msgstr "%s kan nie die tabel met gemonteerde lêerstelsels lees nie" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: onbekende sleutelwoord %s" #: src/dircolors.c:359 msgid "<internal>" msgstr "<intern>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Gebruik so: %s [OPSIE] NAAM...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero-terminated beëindig reëls met 'n 0-greep, i.p.v. 'n " "nuwereëlkarakter\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 msgid "Infinity" msgstr "" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read het misluk" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "ongeldige maksimum diepte %s" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "ongeldige parameter: %s" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: leesfout" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 #, fuzzy msgid "invalid zero-length file name" msgstr "ongeldige groepnaam %s" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "totaal" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "" #: src/echo.c:41 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Gebruik so: %s [STRING]... \n" " of: %s OPSIE\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/env.c:124 #, fuzzy, c-format msgid "cannot unset %s" msgstr "kan nie stat %s uitvoer nie" #: src/env.c:135 #, fuzzy, c-format msgid "cannot set %s" msgstr "kan nie stat %s uitvoer nie" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "inkeping is te groot %s" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "inkeping mag nie 0 wees nie" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, fuzzy, c-format msgid "input line is too long" msgstr "groepnaam te lank" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s UITDRUKKING \n" " of: %s OPSIE\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "sintaksfout" #: src/expr.c:599 src/ptx.c:283 #, fuzzy, c-format msgid "error in regular expression matcher" msgstr "fout in soektog met reëlmatige uitdrukking" #: src/expr.c:791 src/expr.c:828 #, fuzzy, c-format msgid "non-integer argument" msgstr "nie-numeriese parameter" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "deling deur nul" #: src/expr.c:887 src/sort.c:2044 #, fuzzy, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "Stel LC_ALL='C' om die probleem te systap" #: src/expr.c:889 #, fuzzy, c-format msgid "the strings compared were %s and %s" msgstr "Die stringe wat vergelyk is, is %s en %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, fuzzy, c-format msgid "%s is not a valid positive integer" msgstr "`%s' is nie 'n geldige positiewe heelgetal nie" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s is te groot" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s [GETAL]... \n" " of: %s OPSIE\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "kan nie huidige gids verkry nie" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "kan nie chdir doen om na gids %s te gaan nie" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "" #: src/fmt.c:270 #, fuzzy, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Gebruik so: %s [-SYFERS] [OPSIE]... [LÊER]... \n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "ongeldige wydte: %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:288 src/pr.c:832 #, fuzzy, c-format msgid "invalid number of columns: %s" msgstr "ongeldige aantal kolomme: `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "" #: src/getlimits.c:65 #, fuzzy, c-format msgid "Usage: %s\n" msgstr "Gebruik so: %s [OPSIE]\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, fuzzy, c-format msgid "failed to get groups for user %s" msgstr "groep kon nie van %s na %s verander word nie\n" #: src/group-list.c:74 src/id.c:370 #, fuzzy, c-format msgid "failed to get groups for the current process" msgstr "groep kon nie van %s na %s verander word nie\n" #: src/group-list.c:114 #, fuzzy, c-format msgid "cannot find name for group ID %lu" msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #: src/groups.c:53 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "kan nie gebruiker-id stel nie" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "kan nie %s verwyder nie" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "kan nie gebruiker-id stel nie" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: gebruiker bestaan nie" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: aantal grepe is te veel" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: kan nie skuif tot by uitwyking %s nie" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "%s: lêer te groot" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "kan nie die lêerwyser herposisioneer vir %s nie" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:886 msgid "number of lines" msgstr "aantal reëls" #: src/head.c:886 msgid "number of bytes" msgstr "aantal grepe" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "ongeldige aantal reëls" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "ongeldige aantal grepe" #: src/head.c:981 src/head.c:1039 #, fuzzy, c-format msgid "invalid trailing option -- %c" msgstr "ongeldige opsie -- %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:94 #, fuzzy, c-format msgid "cannot set name to %s" msgstr "kan nie die masjiennaam verander na `%s' nie" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "kan die masjiennaam nie vasstel nie" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:178 #, fuzzy, c-format msgid "cannot print \"only\" of more than one choice" msgstr "kan nie verdeel op meer as een manier nie" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "kan nie %s verwyder nie" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr "" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr "" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr "" #: src/id.c:377 msgid " groups=" msgstr "groepe=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr "" #: src/install.c:373 #, fuzzy, c-format msgid "warning: %s: failed to change context to %s" msgstr "waarskuwing: kan nie chdir uitvoer na gids %s toe nie" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "gids %s word geskep" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "kan nie eienaarskap van %s verander nie" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "fork-stelselroep het gefaal" #: src/install.c:531 #, fuzzy, c-format msgid "cannot run %s" msgstr "kan nie strip-bevel uitvoer nie" #: src/install.c:535 #, fuzzy, c-format msgid "waiting for strip" msgstr "besig om te skryf na %s" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "ongeldige gebruiker %s" #: src/install.c:594 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" " or: %s [OPSIE]... :GROEP LÊER...\n" " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:889 #, fuzzy, c-format msgid "target directory not allowed when installing a directory" msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "ongeldige modus %s" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" #: src/install.c:959 #, fuzzy, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "die --string en --check opsies is onderling uitsluitend" #: src/install.c:966 #, fuzzy, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "die opsies om drukdatums te spesifiseer is onderling uitsluitend" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "ongeldige veldnommer: %s" #: src/join.c:861 src/join.c:870 #, fuzzy, c-format msgid "invalid field specifier: %s" msgstr "ongeldige veld-aanduider: `%s'" #: src/join.c:877 #, fuzzy, c-format msgid "invalid file number in field spec: %s" msgstr "ongeldige wydte vir reëlnommer veld: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1101 src/sort.c:4468 #, fuzzy, c-format msgid "multi-character tab %s" msgstr "saamgestelde keepkarakter `%s'" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "onversoenbare keepkarakters" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Gebruik so: %s [-s SEIN | -SEIN] PID... \n" " of: %s -l [SEIN]...\n" " of: %s -t [SEIN]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: ongeldige proses-id" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "ongeldige opsie -- %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: veelvuldige seine is gespesifiseer" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "veelvuldige -l of -t opsies is gespesifiseer" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "geen proses-id is gespesifiseer" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "" #: src/libstdbuf.c:116 #, fuzzy, c-format msgid "invalid buffering mode %s for %s\n" msgstr "ongeldige parameter %s vir %s" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s LÊER1 LÊER2\n" " of: %s OPSIE\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "kon nie skakel %s na %s skep nie" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s: 'n vaste skakel word nie toegelaat vir 'n gids nie" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: kan nie die gids oorskryf nie" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: vervang %s?" #: src/ln.c:345 #, fuzzy, c-format msgid "failed to create symbolic link %s" msgstr "kon nie simboliese skakel %s skep nie" #: src/ln.c:346 #, fuzzy, c-format msgid "failed to create symbolic link %s -> %s" msgstr "kon nie simboliese skakel %s na %s skep nie" #: src/ln.c:348 #, fuzzy, c-format msgid "failed to create hard link to %.0s%s" msgstr "kon nie vaste skakel %s na %s skep nie" #: src/ln.c:351 #, fuzzy, c-format msgid "failed to create hard link %s" msgstr "kon nie vaste skakel %s na %s skep nie" #: src/ln.c:352 #, fuzzy, c-format msgid "failed to create hard link %s => %s" msgstr "kon nie vaste skakel %s na %s skep nie" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" #: src/ln.c:554 #, fuzzy, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "kon nie simboliese skakel %s skep nie" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Gebruik so: %s [OPSIE]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Druk die naam van die huidige gebruiker.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "geen gebruikersnaam" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "ongeldige reëlwydte: %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "ongeldige keepgrootte: %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "ongeldige tydformaatstring: %s" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Geldige parameters is soos volg:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "onbekende voorvoegsel: %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "Kan nie lêergids %s oopmaak nie." #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2538 #, fuzzy, c-format msgid "%s: not listing already-listed directory" msgstr "%s: kan nie die gids oorskryf nie" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "lêergids %s word gelees" #: src/ls.c:2630 #, fuzzy, c-format msgid "closing directory %s" msgstr "lêergids %s word oorgeslaan" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" #: src/ls.c:4728 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" msgstr "" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" #: src/ls.c:4795 msgid "" " -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" msgstr "" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" #: src/ls.c:4820 msgid "" " -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" msgstr "" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "" #: src/md5sum.c:164 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" "\n" " -B, --binary skryf binêre data na die konsole-toestel.\n" "\n" #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: MISLUKTE open of lees\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "GEFAAL" #: src/md5sum.c:597 msgid "OK" msgstr "OK" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:639 #, fuzzy, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "WAARSKUWING: %d van %d gelyste %s kon nie gelees word nie" msgstr[1] "WAARSKUWING: %d van %d gelyste %s kon nie gelees word nie" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "die --status opsie is slegs sinvol by die nagaan van toetssomme" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "die --status opsie is slegs sinvol by die nagaan van toetssomme" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "die --warn opsie is slegs sinvol by die nagaan van toetssomme" #: src/md5sum.c:795 #, fuzzy, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "die --status opsie is slegs sinvol by die nagaan van toetssomme" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "die --status opsie is slegs sinvol by die nagaan van toetssomme" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Gebruik so: %s [OPSIE]... GIDS...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Skep die LÊERGIDS(e), as hulle nie reeds bestaan nie.\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "gids %s is geskep" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Gebruik so: %s [OPSIE]... NAAM...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "ongeldige modus" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:150 #, fuzzy msgid "Special files require major and minor device numbers." msgstr "ongeldige subtoestelnommer %s" #: src/mknod.c:160 #, fuzzy msgid "Fifos do not have major and minor device numbers." msgstr "ongeldige subtoestelnommer %s" #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "spesiale bloklêers word nie ondersteun nie" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "spesiale karakterlêers word nie ondersteun nie" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "ongeldige hooftoestelnommer %s" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "ongeldige subtoestelnommer %s" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "ongeldige toestel %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "ongeldige toesteltipe %s" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "" #: src/mktemp.c:68 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:223 #, fuzzy, c-format msgid "failed to redirect stderr to /dev/null" msgstr "kon nie standaardfoutafvoer herlei nie" #: src/mktemp.c:229 #, fuzzy, c-format msgid "too many templates" msgstr "te veel parameters" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:326 #, fuzzy, c-format msgid "failed to create directory via template %s" msgstr "Kan nie lêergids %s skep nie." #: src/mktemp.c:336 #, fuzzy, c-format msgid "failed to create file via template %s" msgstr "lêertye van %s kon nie behou word nie" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Gebruik so: %s [OPSIE] [BEVEL [ARG]...]\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, fuzzy, c-format msgid "invalid adjustment %s" msgstr "ongeldige parameter: %s" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:188 src/nice.c:199 #, fuzzy, c-format msgid "cannot get niceness" msgstr "kan nie die stelselnaam vasstel nie" #: src/nice.c:205 #, fuzzy, c-format msgid "cannot set niceness" msgstr "kon nie die datum stel nie" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:278 #, fuzzy, c-format msgid "line number overflow" msgstr "veldnommer is nul" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "ongeldige styl vir kopnommering: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "ongeldige styl vir lyfnommering: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "ongeldige styl vir voetnommering: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "ongeldige beginreëlnommer: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "ongeldige inkrement vir reëlnommers: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "ongeldige aantal leë reëls: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "ongeldige wydte vir reëlnommer veld: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "ongeldige reëlnommeringformaat: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s BEVEL [ARG]...\n" " of: %s OPSIE\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:127 #, fuzzy, c-format msgid "failed to render standard input unusable" msgstr "herleiding van standaardafvoer het misluk" #: src/nohup.c:131 #, fuzzy, c-format msgid "ignoring input" msgstr "all parameters word geïgnoreer" #: src/nohup.c:175 #, fuzzy, c-format msgid "ignoring input and appending output to %s" msgstr "afvoer word bygevoeg by %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "afvoer word bygevoeg by %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "kon nie standaardfoutafvoer herlei nie" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Gebruik so: %s [OPSIE]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" #: src/nproc.c:107 #, fuzzy, c-format msgid "%s: invalid number to ignore" msgstr "%s: ongeldige aantal reëls" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: waarde is nie volledig omgeskakel nie" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "ongeldige nommer %s" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "ongeldige heelgetalparameter `%s'" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s: lêer te lank" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "ongeldige keepgrootte: %s" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Gebruik so: %s [OPSIE]... [GEBRUIKER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "ongeldige wydte vir formaat" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "ongeldige heelgetalparameter `%s'" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "ongeldige tipe-string `%s'" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "ongeldige veldnommer: `%s'" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "ongeldige datum `%s'" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "veelvuldige -l of -t opsies is gespesifiseer" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "fout met die les van %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "herleiding van standaardafvoer het misluk" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/od.c:639 src/od.c:759 #, fuzzy, c-format msgid "invalid type string %s" msgstr "ongeldige tipe-string `%s'" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "ongeldige karakter `%c' in tipe-string `%s'" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: ongeldige sein" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "standaardtoevoer is gesluit" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "" #: src/pathchk.c:196 #, fuzzy, c-format msgid "nonportable character %s in file name %s" msgstr "ongeldige karakter %s in modusstring %s" #: src/pathchk.c:272 #, fuzzy, c-format msgid "empty file name" msgstr "gewone leë lêer" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr "" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Aantekennaam:" #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "In die regte lewe:" #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Lêergids:" #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Dop:" #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projek:" #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan:\n" #: src/pinky.c:405 msgid "Login" msgstr "Aanteken" #: src/pinky.c:407 msgid "Name" msgstr "Naam" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Luier" #: src/pinky.c:411 msgid "When" msgstr "Wanneer" #: src/pinky.c:414 msgid "Where" msgstr "Waar" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Gebruik so: %s [OPSIE]... [GEBRUIKER]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:910 #, fuzzy, c-format msgid "invalid page range %s" msgstr "ongeldige tipe-string `%s'" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "`-l PAGE_LENGTH' ongeldige aantal reëls: `%s'" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "`-N NUMBER' ongeldige beginreëlnommer: `%s'" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "`-o MARGIN' ongeldige lynuitwyking: `%s'" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "`-w PAGE_WIDTH' ongeldige aantal karakters: `%s'" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "`-W PAGE_WIDTH' ongeldige aantal karakters: `%s'" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "Bladsywydte te nou" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" #: src/pr.c:2380 #, fuzzy, c-format msgid "page number overflow" msgstr "veldnommer is nul" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2852 #, fuzzy msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" #: src/printenv.c:69 #, fuzzy msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -z, --zero-terminated beëindig reëls met 'n 0-greep, i.p.v. 'n " "nuwereëlkarakter\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s FORMAAT [ARGUMENT]...\n" " of: %s OPSIE\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: 'n numeriese waarde is verwag" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: waarde is nie volledig omgeskakel nie" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "heksadesimale getal ontbreek in ontsnapkode" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "ongeldige universele karakternaam \\%c%0*x" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ongeldige veldwydte: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "ongeldige presisie: %s" #: src/printf.c:609 #, fuzzy, c-format msgid "%.*s: invalid conversion specification" msgstr "%s: ongeldige veldspesifikasie `%s'" #: src/printf.c:692 #, fuzzy, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "waarskuwing: oortollige parameters geïgnoreer; begin by `%s'" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, fuzzy, c-format msgid "%s (for regexp %s)" msgstr "%s (vir regexp `%s')" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #: src/ptx.c:1948 #, fuzzy, c-format msgid "invalid gap width: %s" msgstr "ongeldige wydte: %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" #: src/pwd.c:166 #, fuzzy, c-format msgid "failed to chdir to %s" msgstr "kon nie %s oopmaak nie" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, fuzzy, c-format msgid "failed to stat %s" msgstr "kon nie %s oopmaak nie" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "parameters wat nie opsies is nie word geïgnoreer" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Gebruik so: %s [OPSIE]... LÊER...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "parameters wat nie opsies is nie word geïgnoreer" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: wil jy ingaan in lêergids %s?" #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: verwyder lees-alleen %s %s? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: verwyder %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "lêergids is verwyder: %s\n" #: src/remove.c:444 #, fuzzy, c-format msgid "cannot remove directory: %s" msgstr "kan nie gids %s verwyder nie" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:520 #, fuzzy, c-format msgid "traversal failed: %s" msgstr "'read' het gefaal" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:343 #, fuzzy, c-format msgid "%s: remove all arguments? " msgstr "%s: verwyder %s %s? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "lêergids word verwyder, %s" #: src/rmdir.c:148 #, fuzzy, c-format msgid "failed to remove directory %s" msgstr "kan nie gids %s verwyder nie" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:242 #, fuzzy, c-format msgid "failed to remove %s" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:177 src/runcon.c:213 #, fuzzy, c-format msgid "failed to get current context" msgstr "kon nie attribute van %s verkry nie" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:195 #, fuzzy, c-format msgid "no command specified" msgstr "geen proses-id is gespesifiseer" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:227 #, fuzzy, c-format msgid "failed to compute a new context" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:241 #, fuzzy, c-format msgid "failed to set new user %s" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:243 #, fuzzy, c-format msgid "failed to set new type %s" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:245 #, fuzzy, c-format msgid "failed to set new range %s" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:247 #, fuzzy, c-format msgid "failed to set new role %s" msgstr "kon nie %s oopmaak nie" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "ongeldige wisselpunt parameter: %s" #: src/seq.c:232 #, fuzzy, c-format msgid "format %s has unknown %%%c directive" msgstr "%s het 'n onbekende lêertipe" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:49 #, fuzzy, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Gebruik so: %s FORMAAT [ARGUMENT]...\n" " of: %s OPSIE\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "onbekende gebruiker-id: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:190 #, fuzzy, c-format msgid "failed to set supplemental group(s)" msgstr "kan nie die aanvullende groep stel nie" #: src/setuidgid.c:200 #, fuzzy, c-format msgid "cannot set group-ID to %lu" msgstr "kan nie groep-ID na %ld verander nie" #: src/setuidgid.c:204 #, fuzzy, c-format msgid "cannot set user-ID to %lu" msgstr "kan nie gebruiker-ID na %ld verander nie" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:295 #, fuzzy, c-format msgid "%s: fdatasync failed" msgstr "%s: seek het misluk" #: src/shred.c:306 #, fuzzy, c-format msgid "%s: fsync failed" msgstr "%s: seek het misluk" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: kan nie teruggaan nie" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: pass %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: fout tydens skryfbewerking by uitwyking %s" #: src/shred.c:470 #, fuzzy, c-format msgid "%s: lseek failed" msgstr "%s: seek het misluk" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: lêer te groot" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: pass %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, fuzzy, c-format msgid "%s: fstat failed" msgstr "'stat' het gefaal" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: ongeldige lêertipe:" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: lêer het negatiewe grootte" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: fout tydens afeindiging" #: src/shred.c:880 #, fuzzy, c-format msgid "%s: fcntl failed" msgstr "%s: seek het misluk" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: besig om te verwyder" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: hernoem as %s" #: src/shred.c:1013 #, fuzzy, c-format msgid "%s: failed to remove" msgstr "%s: lêer te groot" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: is verwyder" #: src/shred.c:1024 src/shred.c:1067 #, fuzzy, c-format msgid "%s: failed to close" msgstr "%s: lêer te lank" #: src/shred.c:1060 #, fuzzy, c-format msgid "%s: failed to open for writing" msgstr "%s: lêer te lank" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: ongeldige aantal lopies" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, fuzzy, c-format msgid "multiple random sources specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: ongeldige lêergrootte." #: src/shuf.c:48 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" " or: %s [OPSIE]... :GROEP LÊER...\n" " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:244 #, fuzzy, c-format msgid "multiple -i options specified" msgstr "veelvuldige -l of -t opsies is gespesifiseer" #: src/shuf.c:264 #, fuzzy, c-format msgid "invalid input range %s" msgstr "ongeldige nommer %s" #: src/shuf.c:277 #, fuzzy, c-format msgid "invalid line count %s" msgstr "ongeldige reëlwydte: %s" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/shuf.c:310 #, fuzzy, c-format msgid "cannot combine -e and -i options" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:135 src/timeout.c:320 #, fuzzy, c-format msgid "invalid time interval %s" msgstr "ongeldige tydinterval `%s'" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "kan nie die reëletyd-horlosie lees nie" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated beëindig reëls met 'n 0-greep, i.p.v. 'n " "nuwereëlkarakter\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:697 #, fuzzy, c-format msgid "waiting for %s [-d]" msgstr "besig om te skryf na %s" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:856 #, fuzzy, c-format msgid "cannot create temporary file in %s" msgstr "kan nie 'n tydelike lêer skep nie" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "'open' het gefaal" #: src/sort.c:970 #, fuzzy msgid "fflush failed" msgstr "'close' het gefaal" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "'close' het gefaal" #: src/sort.c:986 #, fuzzy, c-format msgid "dup2 failed" msgstr "'open' het gefaal" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:1110 #, fuzzy msgid "couldn't create temporary file" msgstr "kan nie 'n tydelike lêer skep nie" #: src/sort.c:1149 #, fuzzy, c-format msgid "couldn't create process for %s -d" msgstr "Kan nie lêergids %s skep nie." #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:1220 #, fuzzy, c-format msgid "warning: cannot remove: %s" msgstr "kan nie %s verwyder nie" #: src/sort.c:1306 #, fuzzy, c-format msgid "invalid --%s argument %s" msgstr "ongeldige parameter: %s" #: src/sort.c:1309 #, fuzzy, c-format msgid "minimum --%s argument is %s" msgstr "dubbelsinnige parameter %s vir %s" #: src/sort.c:1324 #, fuzzy, c-format msgid "--%s argument %s too large" msgstr "%s: telling `%.*s' is te groot" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "'stat' het gefaal" #: src/sort.c:1755 msgid "read failed" msgstr "'read' het gefaal" #: src/sort.c:2043 #, fuzzy, c-format msgid "string transformation failed" msgstr "stringvergelyking het gefaal" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "%s: opsie `%s' is dubbelsinnig\n" msgstr[1] "%s: opsie `%s' is dubbelsinnig\n" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "'write' het gefaal" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:2786 msgid "standard error" msgstr "standaardfout-afvoer" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: kan nie teruggaan nie" #: src/sort.c:3976 #, fuzzy, c-format msgid "%s: invalid field specification %s" msgstr "%s: ongeldige veldspesifikasie `%s'" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "%s: opsie `%s' is dubbelsinnig\n" #: src/sort.c:4038 #, fuzzy, c-format msgid "%s: invalid count at start of %s" msgstr "%s: ongeldige telling by begin van `%s'" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "ongeldige getal na `-'" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "ongeldige getal na `.'" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "verdwaalde karakter in veldspesifikasie" #: src/sort.c:4362 #, fuzzy, c-format msgid "multiple compress programs specified" msgstr "veelvuldige -l of -t opsies is gespesifiseer" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "ongeldige nommer by begin van veld" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "veldnommer is nul" #: src/sort.c:4392 msgid "character offset is zero" msgstr "karakteruitwyking is nul" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "ongeldige getal na `,'" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "leë keepkarakter" #: src/sort.c:4550 src/wc.c:692 #, fuzzy, c-format msgid "cannot read file names from %s" msgstr "kan nie die pyp %s skep nie" #: src/sort.c:4572 #, fuzzy, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s: ongeldige lêertipe:" #: src/sort.c:4578 #, fuzzy, c-format msgid "no input from %s" msgstr "toevoerlêer %s word toegemaak" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Gebruik so: %s [OPSIE] [TOEVOER [PREFIKS]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" #: src/split.c:229 #, fuzzy msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose druk 'n diagnostiese boodskap op standaardafvoer\n" " direk voor elke afvoerlêer oopgemaak word\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, fuzzy, c-format msgid "output file suffixes exhausted" msgstr "uitgange vir afvoerlêers is uitgeput" #: src/split.c:366 #, fuzzy, c-format msgid "creating file %s\n" msgstr "besig om nuwe lêer `%s' te skep\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "kon nie %s oopmaak nie" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "toevoerlêer %s word toegemaak" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "afvoerlêer %s word toegemaak" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "toevoerlêer %s word toegemaak" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "toevoerlêer %s word toegemaak" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "kan nie bevel %s uitvoer nie" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "kon nie %s oopmaak nie" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "kan nie verdeel op meer as een manier nie" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: ongeldige aantal sekondes" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: ongeldige getal" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: ongeldige suffikslengte" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: ongeldige aantal grepe" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: ongeldige aantal reëls" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "opsie om reëls te tel -%s%c... is te groot" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "ongeldige beginreëlnommer: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: ongeldige lêergrootte." #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "kan die masjiennaam nie vasstel nie" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "" #: src/stat.c:857 #, fuzzy, c-format msgid "failed to canonicalize %s" msgstr "kon nie %s oopmaak nie" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "%s: onbekende opsie `%c%s'\n" #: src/stat.c:1124 #, fuzzy, c-format msgid "%s: invalid directive" msgstr "%%%c: ongeldige direktief" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:1228 #, fuzzy, c-format msgid "cannot stat standard input" msgstr "standaard-toevoer word nou toegemaak" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" #: src/stdbuf.c:90 #, fuzzy, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Gebruik so: %s [OPSIE]...\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "kon nie %s oopmaak nie" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "slegs een toestel mag gespesifiseer word" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:892 src/stty.c:1002 #, fuzzy, c-format msgid "invalid argument %s" msgstr "ongeldige parameter: %s" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, fuzzy, c-format msgid "missing argument to %s" msgstr "parameter vir `%s' ontbreek" #: src/stty.c:983 #, fuzzy, c-format msgid "invalid line discipline %s" msgstr "ongeldige reëlwydte: %s" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: geen grootte-inligting is beskikbaar vir hierdie toestel nie" #: src/stty.c:1920 #, fuzzy, c-format msgid "invalid integer argument %s" msgstr "ongeldige heelgetalparameter `%s'" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "all parameters word geïgnoreer" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help wys hierdie teks en stop\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version wys weergawe-inligting en stop\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Verpligte parameters vir langformaat opsies is ook verpligtend vir " "kortformaat opsies.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" #: src/system.h:571 #, fuzzy, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Rapporteer foute aan <%s>.\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Probeer `%s --help' vir meer inligting.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: seek het misluk" #: src/tac.c:263 #, fuzzy, c-format msgid "record too large" msgstr "%s: lêer te groot" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "kan nie 'n tydelike lêer skep nie" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s: lêer te lank" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "lêertye van %s kon nie behou word nie" #: src/tac.c:511 src/tac.c:518 #, fuzzy, c-format msgid "%s: write error" msgstr "skryffout" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "kan nie %s oopmaak om te lees nie" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "verdeler mag nie leeg wees nie" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "lêer word toegemaak: %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, fuzzy, c-format msgid "%s has become inaccessible" msgstr "`%s' het ontoeganklik geword" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" #: src/tail.c:1010 #, fuzzy, c-format msgid "%s has become accessible" msgstr "`%s' het toeganklik geword" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1130 #, fuzzy, c-format msgid "%s: cannot change nonblocking mode" msgstr "kan nie verander na die null-groep nie" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: lêer is afgekap" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "geen oorblywende lêers" #: src/tail.c:1369 #, fuzzy, c-format msgid "cannot watch parent directory of %s" msgstr "Kan nie lêergids %s skep nie." #: src/tail.c:1372 src/tail.c:1387 #, fuzzy, c-format msgid "inotify resources exhausted" msgstr "geheue uitgeput" #: src/tail.c:1390 src/tail.c:1519 #, fuzzy, c-format msgid "cannot watch %s" msgstr "kan nie %s aanraak nie" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "" #: src/tail.c:1493 #, fuzzy, c-format msgid "error reading inotify event" msgstr "fout met die les van %s" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1903 #, fuzzy, c-format msgid "number in %s is too large" msgstr "veldnommer %s is te groot" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: ongeldige PID" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: ongeldige aantal sekondes" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "kan nie %s per naam volg nie" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:71 #, fuzzy msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #: src/test.c:123 #, fuzzy, c-format msgid "missing argument after %s" msgstr "parameter vir `%s' ontbreek" #: src/test.c:159 #, fuzzy, c-format msgid "invalid integer %s" msgstr "ongeldige nommer %s" #: src/test.c:241 #, fuzzy msgid "')' expected" msgstr "')' is verwag\n" #: src/test.c:244 #, fuzzy, c-format msgid "')' expected, found %s" msgstr "')' is verwag, maar %s gevind\n" #: src/test.c:260 src/test.c:618 #, fuzzy, c-format msgid "%s: unary operator expected" msgstr "%s: unitêre operator is verwag\n" #: src/test.c:329 #, fuzzy msgid "-nt does not accept -l" msgstr "-nt aanvaar nie -l nie\n" #: src/test.c:342 #, fuzzy msgid "-ef does not accept -l" msgstr "-ef aanvaar nie -l nie \n" #: src/test.c:358 #, fuzzy msgid "-ot does not accept -l" msgstr "-ot aanvaar nie -l nie \n" #: src/test.c:367 #, fuzzy msgid "unknown binary operator" msgstr "onbenede binêre operator\n" #: src/test.c:646 #, fuzzy, c-format msgid "%s: binary operator expected" msgstr "%s: binêre operator is verwag\n" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:791 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "ontbrekende `]'\n" #: src/test.c:872 #, fuzzy, c-format msgid "extra argument %s" msgstr "ongeldige parameter: %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, fuzzy, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Gebruik so: %s BEVEL [ARG]...\n" " of: %s OPSIE\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Verpligte parameters vir langformaat opsies is ook verpligtend vir " "kortformaat opsies.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, fuzzy, c-format msgid "error waiting for command" msgstr "fout met die skryf na %s" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "ongeldige datumformaat %s" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "kan nie %s aanraak nie" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "die tyd van %s is verstel" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Gebruik so: %s [OPSIE]... STEL1 [STEL2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "karakterklasnaam ontbreek `[::]'" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "ekwivalensieklaskarakter ontbreek `[==]'" #: src/tr.c:928 #, fuzzy, c-format msgid "invalid character class %s" msgstr "ongeldige karakterklas `%s'" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/tr.c:1335 #, fuzzy, c-format msgid "too many characters in set" msgstr "verdwaalde karakter in veldspesifikasie" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1788 #, fuzzy msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "twee stringe moet gegee word tydens vertaling" #: src/tr.c:1790 #, fuzzy msgid "Two strings must be given when translating." msgstr "twee stringe moet gegee word tydens vertaling" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/true.c:38 #, fuzzy, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s NAAM\n" " of: %s OPSIE\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" #: src/truncate.c:96 #, fuzzy, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Gebruik so: %s [OPSIE]... LÊER...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" #: src/truncate.c:173 #, fuzzy, c-format msgid "%s has unusable, apparently negative size" msgstr "%s: lêer het negatiewe grootte" #: src/truncate.c:183 src/truncate.c:384 #, fuzzy, c-format msgid "cannot get the size of %s" msgstr "kon nie die tyd van die dag vasstel nie" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "" #: src/truncate.c:303 #, fuzzy, c-format msgid "multiple relative modifiers specified" msgstr "veelvuldige afvoerlêers is gespesifiseer" #: src/truncate.c:333 #, fuzzy, c-format msgid "you must specify either %s or %s" msgstr "u moet 'n lys van grepe, karakters of velde spesifiseer" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "" #: src/truncate.c:404 #, fuzzy, c-format msgid "cannot open %s for writing" msgstr "kan nie %s oopmaak om te lees nie" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s: toevoer bevat 'n lus" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:120 msgid "not a tty" msgstr "nie 'n tty nie" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "kan nie die stelselnaam vasstel nie" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " "standaardafvoer geskryf word.\n" "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:504 #, fuzzy, c-format msgid "tab stop value is too large" msgstr "inkeping is te groot %s" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Gebruik so: %s [OPSIE]... [TOEVOER [AFVOER]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" #: src/uniq.c:358 #, fuzzy, c-format msgid "too many repeated lines" msgstr "te veel parameters" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "ongeldige aantal velde om oor te slaan" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "ongeldige aantal grepe om oor te slaan" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "ongeldige aantal grepe om te vergelyk" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s LÊER \n" " of: %s OPSIE\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Roep die unlink-funksie om die gespesifiseerde LÊER te verwyder.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "kan nie %s ontkoppel nie" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "kon nie die herlaaityd vasstel nie" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr "" #: src/uptime.c:138 #, fuzzy, c-format msgid " ??:???? " msgstr " ??:???? verby" #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr " %2d:%02d%s verby " #: src/uptime.c:151 #, fuzzy, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "ongeldige gebruiker" msgstr[1] "ongeldige gebruiker" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", ladinggemiddeld: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "" #: src/uptime.c:212 #, fuzzy, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Vertoon wie tans aangeteken is volgens LÊER.\n" "As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Vertoon wie tans aangeteken is volgens LÊER.\n" "As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:210 msgid " old " msgstr " oud" #: src/who.c:440 msgid "system boot" msgstr "" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "verlaat=" #: src/who.c:485 msgid "LOGIN" msgstr "" #: src/who.c:505 msgid "clock change" msgstr "horlosieverandering" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "uitvoervlak" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "laaste=" #: src/who.c:553 #, fuzzy, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# gebruikers=%u\n" #: src/who.c:559 msgid "NAME" msgstr "NAAM" #: src/who.c:559 msgid "LINE" msgstr "LYN" #: src/who.c:559 msgid "TIME" msgstr "TYD" #: src/who.c:559 msgid "IDLE" msgstr "LUIER" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "KOMMENTAAR" #: src/who.c:560 msgid "EXIT" msgstr "VERLAAT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Gebruik so: %s [OPSIE]... [ LÊER | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen.\n" "As ARG1 ARG2 gegee is, word -n veronderstel: `am i'of `mom likes' is " "normaal.\n" #: src/whoami.c:45 #, fuzzy msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Druk die gebruikersnaam geassosieer met die gebruikers-id wat tans aktief " "is.\n" "Dieselfde as id -un.\n" "\n" #: src/whoami.c:91 #, fuzzy, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s [STRING]... \n" " of: %s OPSIE\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Skryf voortdurend 'n reël met al die gespesifiseerde STRING(e), of `y'.\n" "\n" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "besig om nuwe lêer `%s' te skep\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Gebruik so: %s [OPSIE] NAAM...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: ongeldige suffikslengte" #~ msgid "reading %s" #~ msgstr "besig om %s te lees" #~ msgid "writing %s" #~ msgstr "besig om %s te skryf" #~ msgid "closing %s" #~ msgstr "besig om %s toe te maak" #~ msgid "accessing %s" #~ msgstr "verkry toegang na %s" #~ msgid "opening %s" #~ msgstr "%s word oopgemaak" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s NAAM\n" #~ " of: %s OPSIE\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Gebruik so: %s [OPSIE]... LÊER \n" #~ msgid "Password:" #~ msgstr "Wagwoord:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: kan nie /dev/tty oopmaak nie" #~ msgid "cannot set groups" #~ msgstr "kan nie groepe stel nie" #~ msgid "cannot set group id" #~ msgstr "kan nie die groep-id stel nie" #~ msgid "cannot set user id" #~ msgstr "kan nie gebruiker-id stel nie" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [-] [GEBRUIKER [ARG]...]\n" #~ msgid "user %s does not exist" #~ msgstr "gebruiker %s bestaan nie" #~ msgid "incorrect password" #~ msgstr "verkeerde wagwoord" #~ msgid "using restricted shell %s" #~ msgstr "gebruik tans beperkte dop %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "waarskuwing: kan nie chdir uitvoer na gids %s toe nie" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " #~ "verstek)\n" #~ " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Verander die modus vir elke LÊER na MODUS.\n" #~ "\n" #~ " -c, --changes soos verbose maar meld slegs veranderinge\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: onwettige opsie -- %c\n" #~ msgid "block size" #~ msgstr "blokgrootte" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kan nie die eienaar en/of groep van %s verander nie" #~ msgid "cannot chdir to directory %s" #~ msgstr "kan nie chdir doen om na gids %s te gaan nie" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "kan nie die aantekengroep van 'n numeriese UID verkry nie" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Hierdie is vry sagteware; kyk in die bronkode vir kopieërvoorwaardes. " #~ "Daar is GEEN\n" #~ "waarborg nie; selfs nie vir VERKOOPBAARHEID of GESKIKTHEID VIR 'N " #~ "SPESIFIEKE DOEL nie.\n" #~ msgid "too few arguments" #~ msgstr "te min parameters" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Gebruik so: %s [OPSIE] [ LÊER]...\n" #~ msgid "closing standard output" #~ msgstr "standaard-afvoer word nou toegemaak" #~ msgid "group number" #~ msgstr "groepnommer" #~ msgid "invalid group number %s" #~ msgstr "ongeldige groepnommer %s" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " #~ "verstek)\n" #~ " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot overwrite directory %s" #~ msgstr "kan nie die gids %s oorskryf nie" #~ msgid "cannot create link %s" #~ msgstr "kan nie die skakel %s skep nie" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: die gespesifiseerde doelgids bestaan nie" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "meer as een lêer word gekopieer, maar die laaste parameter %s is nie 'n " #~ "gids nie" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "waarskuwing: --version-control (-V) is verouderd; dit sal nie meer\n" #~ "ondersteun word in die toekoms nie. Gebruik eerder --backup=%s." #~ msgid "symbolic links are not supported on this system" #~ msgstr "simboliese skakels word nie ondersteun op hierdie stelsel nie" #~ msgid "invalid format precision" #~ msgstr "ongeldige presisie vir formaat" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "te veel nie-opsie parameters: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "'n formaatstring mag nie gespesifiseer word saam met die opsie --rfc-2822 " #~ "(-R) nie" #~ msgid "undefined" #~ msgstr "ongedefinieerd" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rekords in\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rekords uit\n" #~ msgid "truncated records" #~ msgstr "afgekap" #~ msgid "unrecognized option %s=%s" #~ msgstr "onbekende opsie %s=%s" #~ msgid "file offset out of range" #~ msgstr "lêeruitwyking buite bereik" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Gebruik so: %s [OPSIE]... [STRING]... \n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-LIST' opsie is verouderd; gebruik `-t LIST'" #~ msgid "`%s' is too large" #~ msgstr "%s: lêer is te groot" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s' opsie is verouderd; gebruik `%s'" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: aantal grepe is groot" #~ msgid "unrecognized option `-%c'" #~ msgstr "onherkenbare opsie `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s' opsie is verouderd; gebruik `-%c %.*s%.*s%s'" #~ msgid "cannot print only user and only group" #~ msgstr "kan nie slegs gebruikernaam of slegs groepnaam druk nie" #~ msgid "cannot get supplemental group list" #~ msgstr "kan nie aanvullende groeplys verkry nie" #~ msgid "%s is a directory" #~ msgstr "%s is 'n gids" #~ msgid "strip failed" #~ msgstr "strip het misluk" #~ msgid "too many non-option arguments" #~ msgstr "te veel nie-opsie parameters" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ongeldige veldnommer vir lêer 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ongeldige veldnommer vir lêer 2: `%s'" #~ msgid "too few non-option arguments" #~ msgstr "te min nie-opsie parameters" #~ msgid "%s: File exists" #~ msgstr "%s: lêer bestaan" #~ msgid "create symbolic link %s to %s" #~ msgstr "skep simboliese skakel %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "skep vaste skakel %s na %s" #~ msgid "creating symbolic link %s to %s" #~ msgstr "simboliese skakel %s na %s word geskep" #~ msgid "creating hard link %s to %s" #~ msgstr "vaste skakel %s na %s word geskep" #~ msgid "User name too long" #~ msgstr "gebruikersnaam te lank" #~ msgid "file" #~ msgstr "lêer" #~ msgid "files" #~ msgstr "lêers" #~ msgid "checksum" #~ msgstr "toetssom" #~ msgid "checksums" #~ msgstr "toetssomme" #~ msgid "no files may be specified when using --string" #~ msgstr "geen lêers mag gespesifiseer word wanneer --string gebruik word nie" #~ msgid "only one argument may be specified when using --check" #~ msgstr "slegs een argument mag gegee word wanneer --check gebruik word" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Gebruik so: %s [OPSIE] GIDS...\n" #~ msgid "cannot set permissions of directory %s" #~ msgstr "kan nie toegangsregte van gids %s verander nie" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "kan nie die toegangsregte van fifo %s verander nie" #~ msgid "wrong number of arguments" #~ msgstr "verkeerde aantal parameters" #~ msgid "cannot set permissions of %s" #~ msgstr "kan nie toegangsregte van %s verander nie" #~ msgid "invalid option `%s'" #~ msgstr "ongeldige opsie `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "ongeldige prioriteit `%s'" #~ msgid "cannot get priority" #~ msgstr "kan nie prioriteit verkry nie" #~ msgid "cannot set priority" #~ msgstr "kan nie prioriteit stel nie" #~ msgid "old-style offset" #~ msgstr "ou uitwykingstyl" #~ msgid "skip argument" #~ msgstr "oorslaanparameter" #~ msgid "limit argument" #~ msgstr "grensparameter" #~ msgid "minimum string length" #~ msgstr "minimum stringlengte" #~ msgid "width specification" #~ msgstr "wydte-spesifikasie" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" wydte=%d\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "pad `%s' bevat 'n nie-oordraagbare karakter `%c'" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' is nie 'n gids nie" #~ msgid "directory `%s' is not searchable" #~ msgstr "gids `%s' is nie deursoekbaar nie" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' ongeldige omvang vir bladsynommers: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' ongeldige nommer vir beginbladsy: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' ongeldige nommer vir eindbladsy: `%s'" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLUMN' ongeldige aantal kolomme: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "Page %d" #~ msgstr "Blady %d" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRING, --sep-string[=STRING]\n" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Gebruik so: %s formaat [parameter]...\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "kan nie chdir doen vanaf gids %s na ... nie" #~ msgid "cannot lstat `.' in %s" #~ msgstr "kan nie lstat op `.' in %s uitvoer nie" #~ msgid "%s changed dev/ino" #~ msgstr "%s dev/ino is verander" #~ msgid "cannot lstat %s" #~ msgstr "kan nie lstat %s uitvoer nie" #~ msgid "cannot chdir from %s to %s" #~ msgstr "kan nie chdir doen van %s na %s nie" #~ msgid "cannot remove `.' or `..'" #~ msgstr "kan nie `.' of `..'verwyder nie" #~ msgid "invalid format string: `%s'" #~ msgstr "ongeldige formaatstring: `%s'" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Gebruik so: %s [OPSIES] LÊER [...]\n" #~ msgid "sort size" #~ msgstr "sorteergrootte" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "`%s' opsie is verouderd; gebruik `-l %s'" #~ msgid "invalid number of lines: 0" #~ msgstr "ongeldige aantal reëls: 0" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Gebruik so: %s [OPSIE] LÊER...\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Waarskuwing: `-l' is verouderd; gebruik eerder `-L'" #~ msgid "new_mode: mode\n" #~ msgstr "nuwe_modus: modus\n" #~ msgid "stdin: read error" #~ msgstr "stdin: leesfout" #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "`%s' opsie is verouderd; gebruik `%s-%c %.*s'" #~ msgid "argument expected\n" #~ msgstr "argument verwag\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: heelgetal-uitdrukking is verwag\n" #~ msgid "before -lt" #~ msgstr "voor -lt" #~ msgid "after -lt" #~ msgstr "na -lt" #~ msgid "before -le" #~ msgstr "voor -le" #~ msgid "after -le" #~ msgstr "na -le" #~ msgid "before -gt" #~ msgstr "voor -gt" #~ msgid "after -gt" #~ msgstr "na -gt" #~ msgid "before -ge" #~ msgstr "voor -ge" #~ msgid "after -ge" #~ msgstr "na -ge" #~ msgid "before -ne" #~ msgstr "voor -ne" #~ msgid "after -ne" #~ msgstr "na -ne" #~ msgid "before -eq" #~ msgstr "voor -eq" #~ msgid "after -eq" #~ msgstr "na -eq" #~ msgid "after -t" #~ msgstr "na -t" #~ msgid "too many arguments\n" #~ msgstr "te veel parameters\n" #~ msgid "creating %s" #~ msgstr "besig om %s te skep" #~ msgid "file arguments missing" #~ msgstr "lêerparameters ontbreek" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ongeldige tru-skuinsstreep-ontsnapkode `\\%c'" #~ msgid "only one argument may be specified" #~ msgstr "slegs een parameter mag gespesifiseer word" #~ msgid "tab size contains an invalid character" #~ msgstr "keepgrootte bevat 'n ongeldige karakter" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "`-LIST' opsie is verouderd; gebruik `--first-only -t LIST'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' opsie is verouderd; gebruik `-f %lu'" #~ msgid "am" #~ msgstr "vm" #~ msgid "pm" #~ msgstr "nm" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Waarskuwing: -i sal wegval in 'n toekomstige vrystelling; gebruik eerder -" #~ "u" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/ko.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00000074113�12107204517�012106� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•����À���������� ������ ��¡���!��Ä���Ã��9���ˆ��t��Â��7���7��ì���o��,���\��5���‰����¿��¡��O�� ��ñ��Ý���ÿ��Ò���Ý��’���°��u���C�����¹�� ��I��Æ���T��ƒ�����Í���Ÿ��Ñ���m��Ó���? ��I���!��C���]!��?���¡!��š��á!��¨��|#��ú���%%���� &�� ���?'����M'�����i(�� ���~(�����Ÿ(��/���¯(�����ß(�����õ(��>���)��B���M)�����)��,���¢)��8���Ï)�����*�����#*�����5*��'���H*�����p*�����‹*�����©*��;���¹*�����õ*�����+�����$+�����@+�����^+��"���r+�����•+��)���¯+�����Ù+��1���ö+�����(,�����A,�����\,�� ���k,�� ���w,�����„,�� ���†,�����‘,�����˜,��2���›,��*���Î,��$���ù,�����-��'���3-��š���[-��&���ö-��"���.��†���@.��"���Ç.�� ���ê.��'��� /��Z���3/�����Ž/�� ���£/�����­/��<���½/�����ú/������0�����0�����0�� ���%0�����10��#���D0��*���h0�����“0��,���³0��0���à0�����1��(���,1��%���U1��&���{1��!���¢1�����Ä1�����Ý1�����ô1�� ��� 2�����2�� ���+2��"���52�����X2�����i2��#���z2�����ž2�����³2�����¸2�����Ô2�����ñ2��=��� 3��:���I3�����„3�����–3��*���±3��-���Ü3�� ��� 4�����4�����64��"���N4�����q4�� ���‘4�����²4�� ���Ê4�����×4�� ���è4��/���ö4��-���&5��&���T5�����{5�����’5��"���¬5��7���Ï5��=���6�����E6��-���X6�����†6�����–6��4���¦6��&���Û6�� ���7�����7�����$7��>���<7�� ���{7�� ���†7�����’7�� ���¥7�� ���²7�����¼7�����Ö7�����ë7�����ò7�����8�����8�����)8�� ���98�����E8�����c8��J���|8�� ���Ç8�����Õ8�����ê8��H���9��?���O9��=���9��>���Í9��3��� :��(���@:��f���i:��<���Ð:��/��� ;�����=;��3���C;��2���w;��=���ª;��,���è;��7���<�� ���M<��3���X<��j���Œ<�� ���÷<�� ���=��7���=��€��H=��¬���É>��)��v?��j��� @��ˆ�� A��L���”B��+��áB��<��� D��<���JD��Ô��‡D��$��\F��W��H��ñ���ÙI��%��ËJ��¼���ñK��z���®L��Á���)M��<��ëM��î���(O��¸���P��à���ÐP�� ��±Q��ä���¿R��_���¤S��K���T��T���PT��—��¥T��Õ��=V��R��X��=��fY�� ���¤Z��š��²Z�����M\��7���g\�����Ÿ\��7���»\��$���ó\�� ���]��]���9]��l���—]�����^��F���#^��H���j^��+���³^�����ß^�����þ^��4���_��4���K_��+���€_�����¬_��M���Á_�����`��$���'`�����L`�����k`�����€`�����˜`��!���·`��+���Ù`��"���a��C���(a�����la�����Ša�����ªa�����¼a�� ���Ða�����Þa�����àa�����éa�����ða��N���÷a��6���Fb��.���}b�����¬b��4���Ìb��Ñ���c��1���Óc��0���d��’���6d��2���Éd��*���üd��0���'e��m���Xe�����Æe�����Ûe�����äe��C���f�����Hf�����Nf�����Tf��$���Vf�� ���{f�����‰f��6���žf��K���Õf��'���!g��@���Ig��D���Šg��*���Ïg��E���úg��>���@h��9���h��<���¹h�����öh�����i�����0i�����Ei�����Zi�� ���zi��!���‡i��&���©i��!���Ði��6���òi�����)j�����Ej��/���Jj��*���zj��*���¥j��Z���Ðj��S���+k�����k��'���“k��.���»k��1���êk�����l��$���-l�����Rl��3���ql��.���¥l��1���Ôl�����m�����!m�����5m�� ���Lm��9���Zm��-���”m��*���Âm�����ím����� n��6���)n��Z���`n��M���»n��$��� o��D���.o�� ���so�� ���o��M���o��B���Ýo����� p�����5p�����Tp��H���tp�� ���½p�����Ëp�����àp�� ���òp�� ����q��9��� q�����Gq�����eq�� ���lq�� ���zq�����ˆq�� ���£q�� ���±q��!���½q��&���ßq��q���r�����xr��'���‰r��+���±r��X���Ýr��N���6s��L���…s��K���Òs��>���t��.���]t��€���Œt��D��� u��1���Ru�����„u��1���‹u��D���½u��c���v��9���fv��C��� v�����äv��X���õv�����Nw�� ���ßw�����íw��H���x��������8���§���(�������/�������Q���“���|�������o���f���”������� ������0����������������J�������‡���¬���Š���‚���I�������l���•���S���Y���…���5��� �������C���¥���`���4���³���¶���º���ƒ�����������‰���~���´���ˆ���)���-���š���9������H�������£�����������=���¸�������������� ���½���©���2������&���������������€���.�������������g����������E����������6���¦�����������p���T���?�������Z�������W���™���v������ ���±���r���«���@���A�����������m���M���U���+�������‘���q���i���’���F���˜���t���µ���#�������k���X��� ���­���a�������ž�����������n�������{���„�������,�������y���B�������^�������¨�������Ÿ�������h�������†���P���Ž���b���N���:����������¼����������j���*�������\���—���¾���!����������s���œ���;�������������]��� ������������‹�������L���¹���>��������������°���G��� ���%�������K���x���w���–��������������u���¢������À���1���O�������¡���$���¯����������¤������²���¿���»���_���[���ª���V�����������›����������}����������c���R���z������3���7�������·���e����������'���"�������d����������<���D�������®���Œ���������������� As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � Read standard input if FILE is -. Each PATTERN may be: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � With no FILE, or when FILE is -, read standard input. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � --help display this help and exit � --version output version information and exit � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --tabs=LIST use comma separated list of explicit tab positions � -w, --check-chars=N compare no more than N characters in lines � -z, --zero-terminated end lines with 0 byte, not newline � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � (backup: %s)�% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%s -> %s (unbackup) �%s exists but is not a directory�%s is too large�%s: %s is so large that it is not representable�%s: %s:%s: disorder: �%s: FAILED open or read �%s: can make relative symbolic links only in current directory�%s: cannot follow end of this type of file; giving up on this name�%s: cannot rewind�%s: cannot shred append-only file descriptor�%s: equivalence class operand must be a single character�%s: file has negative size�%s: file too long�%s: file truncated�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input file is output file�%s: invalid PID�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of lines�%s: invalid number of seconds�%s: invalid pattern�%s: invalid regular expression: %s�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: no properly formatted %s checksum lines found�%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: read error�%s: removed�%s: removing�'�<internal>�FAILED�OK�Print CRC checksum and byte counts of each FILE. �Set LC_ALL='C' to work around the problem.�The strings compared were %s and %s.�Unknown system error�Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Valid arguments are:�Warning: �Written by %s. �[=c=] expressions may not appear in string2 when translating�^[nN]�^[yY]�`�ambiguous argument %s for %s�backup type�block special file�both files cannot be standard input�cannot both summarize and show all entries�cannot change permissions of %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot create directory %s�cannot make both hard and symbolic links�cannot reposition file pointer for %s�cannot skip past end of combined input�cannot split in more than one way�character offset is zero�character out of range�character special file�close failed�closing %s (fd=%d)�directory�error in regular expression search�error reading %s�error writing %s�failed to change group of %s to %s �field number is zero�fifo�group of %s retained as %s �iconv function not available�iconv function not usable�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid width in environment variable COLUMNS: %s�input disappeared�invalid argument %s for %s�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid group�invalid number at field start�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of fields to skip�invalid number of lines�invalid user�memory exhausted�message queue�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing conversion specifier in suffix�missing list of fields�missing list of positions�mode of %s retained as %04lo (%s) �neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no files remaining�no type may be specified when dumping strings�number of bytes�number of lines�only one [c*] repeat construct may appear in string2�only one type of list may be specified�open failed�page width too narrow�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�read error�read failed�regular empty file�regular file�semaphore�separator cannot be empty�shared memory object�socket�standard error�standard input�standard input is closed�standard output�stat failed�stray character in field spec�string comparison failed�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�tab size cannot be 0�tab sizes must be ascending�the --binary and --text options are meaningless when verifying checksums�the --status option is meaningful only when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the delimiter must be a single character�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the strip option may not be used when installing a directory�too many %% conversion specifications in suffix�total�unparsable value for LS_COLORS environment variable�warning: --pid=PID is not supported on this system�warning: PID ignored; --pid=PID is useful only when following�warning: invalid width %lu; using %d instead�warning: summarizing is the same as using --max-depth=0�weird file�when not truncating set1, string2 must be non-empty�when translating with complemented character classes, string2 must map all characters in the domain to one�write error�write failed�you must specify a list of bytes, characters, or fields�Project-Id-Version: GNU textutils 2.0.22 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2002-07-22 20:02+0900 Last-Translator: Changwoo Ryu <cwryu@debian.org> Language-Team: Korean <translation-team-ko@lists.sourceforge.net> Language: ko MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit � 특별한 경우로, 강제와 백업 ì˜µì…˜ì´ ì£¼ì–´ì§€ë©° SOURCE와 DESTê°€ ì´ë¦„ì´ ê°™ê³ , 존재하는 ì¼ë°˜ 파ì¼ì¼ 때 cp는 SOURCEì˜ ë°±ì—…ì„ ë§Œë“­ë‹ˆë‹¤. � 기본 옵션ì€, `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'입니다. <구분>ì€ ë…¼ë¦¬ì  íŽ˜ì´ì§€ë¥¼ 구분하는 ë° ì“°ì´ëŠ” ë‘ ê°œì˜ ë¬¸ìžì´ê³ , ë‘ ë²ˆì§¸ 문ìžê°€ 없다면 `.'ì´ ì“°ìž…ë‹ˆë‹¤: `.'ì„ ì“°ë ¤ë©´ `\\'ë¼ê³  쓰십시오. <스타ì¼>ì€ ë‹¤ìŒ ì¤‘ 하나입니다. � <파ì¼>ì´ `-'ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. ê° <패턴>ì—는 다ìŒì„ 쓸 수 있습니다: � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN 8진수 ê°’ NNNì˜ ë¬¸ìž (1ê°œì—서 3ê°œì˜ 8진수 숫ìž) \\ 백슬래쉬 \a 소리나는 BEL \b 백스페ì´ìФ \f í¼í”¼ë“œ \n 줄바꿈 \r 리턴 \t ìˆ˜í‰ íƒ­ � <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나 - ì´ë©´ 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. � <파ì¼>ì˜ ë‚´ìš©ì„, 기본값으로는 8진수 ë°”ì´íŠ¸ê°’ìœ¼ë¡œ, 표준 ì¶œë ¥ì— ì”니다. <파ì¼> ì¸ìžê°€ ë‘ ê°œ ì´ìƒ 있는 경우, ê·¸ 파ì¼ë“¤ì„ 연결해서 입력으로 ì´ìš©í•©ë‹ˆë‹¤. <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. � --help ì´ ë„움ë§ì„ 표시하고 ë냅니다 � --version 버전 정보를 출력하고 ë냅니다 � -D, --date-format=<형ì‹> ìœ—ë‹¨ì˜ ë‚ ì§œ 표시를 <형ì‹>대로 합니다 -e[<문ìž>[<í­>]], --expand-tabs[=<문ìž>[<í­>]] ìž…ë ¥ëœ <문ìž> 문ìžë¥¼ <í­>ê°œì˜ íƒ­(8)으로 바꿉니다. -F, -f, --form-feed 페ì´ì§€ë¥¼ 구분하는 ë° newline 대신 form feed를 ì”니다 (-F는 3ì¤„ì˜ íŽ˜ì´ì§€ í—¤ë”, -F ì—†ì´ëŠ” 5ì¤„ì˜ í—¤ë”와 trailer) � -W, --word-regexp=<ì •ê·œì‹> 키워드를 구분하는 ë° <ì •ê·œì‹>ì„ ì”니다 -b, --break-file=<파ì¼> ì´ <파ì¼>ì— ë‹¨ì–´ 구분 문ìžê°€ 들어 있습니다 -f, --ignore-case ì •ë ¬ì—서 소문ìžì™€ 대문ìžë¥¼ 구별하지 않습니다 -g, --gap-size=<개수> 출력할 필드ì—서 ì—´ 사ì´ì˜ 간격 -i, --ignore-file=<파ì¼> ì´ <파ì¼>ì— ë“¤ì–´ 있는 ë‹¨ì–´ë“¤ì„ ë¬´ì‹œí•©ë‹ˆë‹¤ -o, --only-file=<파ì¼> ì´ <파ì¼>ì— ë“¤ì–´ 있는 단어들만 ì½ìŠµë‹ˆë‹¤ � -a, --across 한 줄 한 ì¤„ì„ ì—¬ëŸ¬ ì—´ì— ê±¸ì³ì„œ ì¸ì‡„합니다. -<ì—´> 옵션과 ê°™ì´ ì”니다. -c, --show-control-chars (^G와 ê°™ì´) ^ 표시를 ì“°ì§€ 않고 8진수 백슬래쉬 표시를 ì”니다 -d, --double-space 한 줄씩 ë„워서 ì¸ì‡„합니다 � -b, --before 구분ìžë¥¼ ë’¤ì— ë†“ì§€ 않고 ì•žì— ë†“ìŠµë‹ˆë‹¤ -r, --regex 구분ìžë¥¼ ì •ê·œì‹ìœ¼ë¡œ ìƒê°í•©ë‹ˆë‹¤ -s, --separator=<문ìžì—´> 줄바꿈 ëŒ€ì‹ ì— <문ìžì—´>ì„ êµ¬ë¶„ìžë¡œ ì”니다 � -b, --body-numbering=<스타ì¼> ë³¸ë¬¸ì— ë²ˆí˜¸ë¥¼ ë¶™ì´ëŠ” ë° <스타ì¼>ì„ ì”니다 -d, --section-delimiter=<구분> ë…¼ë¦¬ì  íŽ˜ì´ì§€ë¥¼ 구분하는 ë° <구분>ì„ ì”니다 -f, --footer-numbering=<스타ì¼> ì•„ëž˜ë‹¨ì— ë²ˆí˜¸ë¥¼ ë¶™ì´ëŠ” ë° <스타ì¼>ì„ ì”니다 � -b, --bytes ì—´ì´ ì•„ë‹ˆë¼ ë°”ì´íЏ 수를 셉니다 -s, --spaces 공백ì—서 ì¤„ì„ ë‚˜ëˆ•ë‹ˆë‹¤ -w, --width=<í­> 80ì—´ ëŒ€ì‹ ì— <í­>ì—´ì„ ì´ìš©í•©ë‹ˆë‹¤ � -c, --count 줄 ì•žì— ë°˜ë³µëœ íšŒìˆ˜ë¥¼ ì”니다 -d, --repeated ë°˜ë³µëœ ì¤„ë§Œ 표시합니다 � -d, --delimiters=<리스트> 탭 ëŒ€ì‹ ì— <리스트> ì•ˆì— ìžˆëŠ” 문ìžë“¤ì„ 사용합니다 -s, --serial ë™ì‹œì— 하지 않고 한 ë²ˆì— í•œ ê°œì˜ íŒŒì¼ì„ ì”니다 � -f, --follow[={name|descriptor}] 파ì¼ì´ ëŠ˜ì–´ë‚¨ì— ë‹¤ë¼ ì¶”ê°€ëœ ë°ì´íƒ€ë¥¼ 출력합니다; -f, --follow, --follow=descriptor는 ê°™ì€ ê¸°ëŠ¥ì„ í•©ë‹ˆë‹¤ -F --follow=name --retry와 같습니다 � -n, --digits=숫ìžë“¤ 2 ëŒ€ì‹ ì— ì§€ì •í•œ 숫ìžë“¤ì˜ 개수를 ì´ìš©í•©ë‹ˆë‹¤ -s, --quiet, --silent 출력 파ì¼ì˜ í¬ê¸°ë¥¼ 표시하지 않습니다 -z, --elide-empty-files 빈 출력 파ì¼ì„ ì§€ì›ë‹ˆë‹¤ � -q, --quiet, --silent 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 표시하지 않습니다 -v, --verbose 언제나 파ì¼ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” í—¤ë”를 표시합니다 � -r, --references ê° ì¤„ì˜ ì²« 번째 필드가 참조입니다 -t, --typeset-mode - 구현ë˜ì§€ ì•Šì•˜ìŒ - -w, --width=<개수> 출력할 ì—´ì˜ í­ (참조는 제외하고) � -s, --only-delimited 구분ìžê°€ 들어 있지 ì•Šì€ ì¤„ì€ í‘œì‹œí•˜ì§€ 않습니다 --output-delimiter=<문ìžì—´> <문ìžì—´>ì„ ì¶œë ¥ 구분ìžë¡œ 사용합니다 ê¸°ë³¸ê°’ì€ ìž…ë ¥ 구분ìžë¡œ 사용하는 것입니다 � -t -vT와 ê°™ìŒ -T, --show-tabs 탭 문ìžë¥¼ ^I로 표시합니다 -u (무시ë¨) -v, --show-nonprinting ^ 와 M- í‘œê¸°ë²•ì„ ì‚¬ìš©í•©ë‹ˆë‹¤ (LFD와 TAB 제외) � -t, --tabs=리스트 탭 위치를 ì§ì ‘ 쉼표로 구분한 리스트로 나타냅니다 � -w, --check-chars=N 한 ì¤„ì— Nê°œì˜ ë¬¸ìžê¹Œì§€ë§Œ 비êµí•©ë‹ˆë‹¤ � -z, --zero-terminated ì¤„ì˜ ëì— ì¤„ë°”ê¿ˆ 대신 ë°”ì´íЏ 0ì„ ì”니다 � [:graph:] 모든 표시 가능한 문ìž, ê³µë°±ì€ í¬í•¨í•˜ì§€ ì•ŠìŒ [:lower:] 모든 ì†Œë¬¸ìž [:print:] 모든 표시 가능한 문ìž, 공백 í¬í•¨ [:punct:] 모든 문장 기호 ë¬¸ìž [:space:] 모든 ìˆ˜í‰ ë° ìˆ˜ì§ ê³µë°±ë¬¸ìž [:upper:] 모든 ëŒ€ë¬¸ìž [:xdigit:] 모든 16진수 ìˆ«ìž [=CHAR=] CHAR와 ë™ì¼í•œ 모든 ë¬¸ìž � \v ìˆ˜ì§ íƒ­ CHAR1-CHAR2 CHAR1ì—서 CHAR2ê¹Œì§€ì˜ (커지는 순서대로) 모든 ë¬¸ìž [CHAR*] <ì§‘í•©2>ì—서, <ì§‘í•©1>ì˜ ê¸¸ì´ë§Œí¼ CHAR를 복사 [CHAR*REPEAT] CHARì˜ REPEAT번 반복, REPEATê°€ 0으로 시작하면 8진수 [:alnum:] 모든 ë¬¸ìž ë° ìˆ«ìž [:alpha:] 모든 ë¬¸ìž [:blank:] 모든 ìˆ˜í‰ ê³µë°±ë¬¸ìžë“¤ [:cntrl:] 모든 컨트롤 ë¬¸ìž [:digit:] 모든 ìˆ«ìž � d[<í¬ê¸°>] 부호있는 10진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ f[<í¬ê¸°>] ë¶€ë™ ì†Œìˆ˜ì , ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ o[<í¬ê¸°>] 8진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ u[<í¬ê¸°>] 부호없는 10진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ x[<í¬ê¸°>] 16진수, ê° ìˆ«ìžë§ˆë‹¤ <í¬ê¸°> ë°”ì´íЏ � excl fail if the output file already exists nocreat do not create the output file notrunc 출력 파ì¼ì˜ ëì„ ìž˜ë¼ë‚´ì§€ 않습니다 noerror ì½ê¸° ì—러가 ë‚˜ë„ ê³„ì†í•©ë‹ˆë‹¤ fdatasync physically write output file data before finishing fsync likewise, but also write metadata � (백업: %s)�%% 문ìžëŠ” ë©”ëª¨ë¦¬ì˜ 1í¼ì„¼íЏ, b는 1, k는 1024 (기본값), ê·¸ ì™¸ì— M, G, T, P, E, Z, Y. <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. *** 경고 *** í™˜ê²½ë³€ìˆ˜ì— ì§€ì •ëœ ë¡œì¼€ì¼ì´ ì •ë ¬ ìˆœì„œì— ì˜í–¥ì„ ì¤ë‹ˆë‹¤. ë°”ì´íŠ¸ê°’ì— ë”°ë¼ ì •ë ¬ëœ ì „í†µì ì¸ ì •ë ¬ ë°©ì‹ì„ ì›í•œë‹¤ë©´ "LC_ALL=C"로 환경변수를 세팅하십시오 �%s -> %s (백업 í•´ì œ) �%sì´(ê°€) 존재하지만 디렉토리가 아닙니다�%sì€(는) 너무 í½ë‹ˆë‹¤�%s: %sì€(는) 너무 커서 표시할 수 없습니다�%s: %s:%s: 순서가 ë§žì§€ 않ìŒ: �%s: 열기 ë˜ëŠ” ì½ê¸° 실패 �%s: 현재 디렉토리 안ì—서만 ìƒëŒ€ì ì¸ 심볼릭 ë§í¬ë¥¼ 만들 수 있습니다�`%s'ì€(는) ì´ëŸ° ì¢…ë¥˜ì˜ íŒŒì¼ ë’¤ì— ì´ì–´ì„œ 나올 수 없습니다; ì´ ì´ë¦„ì€ í¬ê¸°í•©ë‹ˆë‹¤�%s: ëŒì•„ê°ˆ 수 없습니다�%s: 쓰기 ì „ìš© íŒŒì¼ ë””ìŠ¤í¬ë¦½í„°ëŠ” 파기할 수 없습니다�%s: ë™ì¼ í´ëž˜ìФ 피연산ìžëŠ” í•˜ë‚˜ì˜ ë¬¸ìžì´ì–´ì•¼ 합니다�%s: 파ì¼ì´ ìŒì˜ í¬ê¸°ë¥¼ 갖습니다�%s: 파ì¼ì´ 너무 ê¹ë‹ˆë‹¤�%s: 파ì¼ì´ 잘렸ìŒ�%s: 디렉토리는 하드ë§í¬í•  수 없습니다�%s: ìž…ë ¥ì— ë£¨í”„ê°€ 들어가 있습니다 loop:�%s: ìž…ë ¥ 파ì¼ì´ 출력 파ì¼ìž…니다�%s: ë¶€ì ì ˆí•œ PID�%s: ì—´ê¸°ì¤‘ì— ë°”ë€Œì§€ ì•Šì€ statì˜ ìµœëŒ€ 개수가 ë¶€ì ì ˆí•©ë‹ˆë‹¤�%s: ë¶€ì ì ˆí•œ 숫ìž�%s: ë¶€ì ì ˆí•œ ë°”ì´íŠ¸ì˜ ê°œìˆ˜�%s: ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜�%s: ë¶€ì ì ˆí•œ ì´ˆ�%s: ë¶€ì ì ˆí•œ 패턴�%s: ë¶€ì ì ˆí•œ ì •ê·œì‹: %s�%s: ë¶€ì ì ˆí•œ 접미어 길ì´�%s: 행번호는 ì˜ë³´ë‹¤ 커야 합니다�%s: 범위를 벗어난 í–‰ 번호�%s: 올바른 형ì‹ì„ 갖춘 %s ì²´í¬ì„¬ í–‰ì„ ì°¾ì§€ 못했ìŒ�%s: 진행중 %lu/%lu (%s)...�%s: 진행중 %lu/%lu (%s)...%s�%s: ì½ê¸° 오류�%s: ì‚­ì œë˜ì—ˆìŒ�%s: 삭제중�'�<내장>�실패�성공�ê° <파ì¼>ì— ëŒ€í•´ CRC ì²´í¬ì„¬ê³¼ ë°”ì´íЏ 개수를 출력합니다. �ì´ ë¬¸ì œë¥¼ 피해 가려면 LC_ALL='C'하십시오.�비êµí•œ 문ìžì—´ì€ %sê³¼(와) %s입니다.�알 수 없는 시스템 오류�사용법: %s [<파ì¼>]... 혹ì€: %s [<옵션>] �사용법: %s [옵션] [<파ì¼>] <파ì¼>ì˜ partial ì •ë ¬ì— ë”°ë¥´ëŠ” 완전히 ì •ë ¬ëœ ë¦¬ìŠ¤íŠ¸ë¥¼ ì”니다. <파ì¼>ì´ ì£¼ì–´ì§€ì§€ 않거나, <파ì¼>ì´ `-'ì´ë©´, 표준 ìž…ë ¥ì„ ì½ìŠµë‹ˆë‹¤. �사용법: %s [<옵션>]... <파ì¼> <패턴>... �사용법: %s [<옵션>]... <파ì¼1> <파ì¼2> �사용법: %s [옵션]... MODE[,MODE]... FILE... ë˜ëŠ”: %s [옵션]... 8진수-MODE FILE... ë˜ëŠ”: %s [옵션]... --reference=RFILE FILE... �사용법: %s [<옵션>]... <ì§‘í•©1> [<ì§‘í•©2>] �사용법: %s [<옵션>]... [<파ì¼>]... �사용법: %s [옵션]... [<ìž…ë ¥> [<출력>]] �사용법: %s [<옵션>]... [<ìž…ë ¥>]... (-G ì—†ì´) 혹ì€: %s -G [<옵션>]... [<ìž…ë ¥> [<출력>]] �올바른 ì¸ìžëŠ”:�경고: �%sì´(ê°€) 만들었습니다. �[=c=] í‘œí˜„ì€ ì˜®ê¹€ì˜ ê²½ìš° string2ì—서 쓸 수 없습니다�^[nN]�^[yY]�`�%2$sì— ëŒ€í•´ 애매한 ì¸ìž %1$s�백업 종류�ë¸”ë¡ íŠ¹ìˆ˜ 파ì¼�ë‘ íŒŒì¼ì´ ëª¨ë‘ í‘œì¤€ ìž…ë ¥ì´ë©´ 안 ë©ë‹ˆë‹¤�모든 디렉토리 ë‚´ìš©ì„ í‘œì‹œí•˜ë©´ì„œ 요약할 수는 없습니다�%sì˜ í—ˆê°€ë¥¼ 바꿀 수 없습니다�U+%04Xì„(를) 로칼 문ìžì…‹ìœ¼ë¡œ 변환할 수 없습니다�U+%04Xì„(를) 로칼 문ìžì…‹ìœ¼ë¡œ 변환할 수 없습니다: %s�%s 디렉토리를 만들 수 없습니다�하드ë§í¬ì™€ 심볼릭 ë§í¬ë¥¼ ë™ì‹œì— 만들 수 없습니다�%sì— ëŒ€í•œ íŒŒì¼ í¬ì¸í„°ë¥¼ 재위치할 수 없습니다�ê²°í•©ëœ ìž…ë ¥ì˜ ëì„ ë„˜ì–´ê°ˆ 수는 없습니다.�한 가지 ì´ìƒì˜ 방법으로 ë¶„í• í•  수 없습니다�ë¬¸ìž ì˜¤í”„ì…‹ì´ 0입니다�범위를 벗어난 문ìž�ë¬¸ìž íŠ¹ìˆ˜ 파ì¼�íŒŒì¼ ë‹«ê¸° 실패�%s(fd=%d)ì„(를) 닫습니다 �디렉토리�ì •ê·œì‹ íƒìƒ‰ì— 오류 ë°œìƒ�%sì„(를) ì½ëŠ” ë„중 오류 ë°œìƒ�%sì— ì“°ëŠ” ë„중 오류 ë°œìƒ�%sì˜ ê·¸ë£¹ì„ %s로 ë°”ê¾¸ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤ �필드 개수가 0입니다�FIFO�%sì˜ ê·¸ë£¹ì´ %s으로 ë³´ì¡´ë˜ì—ˆìŠµë‹ˆë‹¤ �iconv 함수를 사용할 수 없습니다�iconv 함수를 사용할 수 없습니다�환경변수 TABSIZEì˜ ê°’ì— ë‹¤ìŒì˜ ìž˜ëª»ëœ íƒ­ í¬ê¸°ê°€ 지정ë˜ì—ˆìŠµë‹ˆë‹¤: %s�환경변수 COLUMNSì˜ ê°’ì— ë‹¤ìŒì˜ ìž˜ëª»ëœ í­ì´ 지정ë˜ì—ˆìŠµë‹ˆë‹¤: %s�ìž…ë ¥ì´ ì‚¬ë¼ì§�%2$sì— ëŒ€í•´ ë¶€ì ì ˆí•œ ì¸ìž %1$s�ì ‘ë¯¸ì‚¬ì— ë¶€ì ì ˆí•œ 변환 지정ìž: %c�ì ‘ë¯¸ì‚¬ì— ë¶€ì ì ˆí•œ 변환 지정ìž: \%.3o�ìž˜ëª»ëœ ê·¸ë£¹�필드 처ìŒì— ë¶€ì ì ˆí•œ 숫ìž�%s: ë¶€ì ì ˆí•œ ë°”ì´íЏ 수�비êµí•  ë°”ì´íŠ¸ì˜ ê°œìˆ˜ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤�건너 뛸 ë°”ì´íЏ 수가 ë¶€ì ì ˆí•©ë‹ˆë‹¤�건너 뛸 í•„ë“œì˜ ê°œìˆ˜ê°€ ë¶€ì ì ˆí•©ë‹ˆë‹¤�ë¶€ì ì ˆí•œ í–‰ì˜ ê°œìˆ˜�ìž˜ëª»ëœ ì‚¬ìš©ìž�메모리가 바닥남�메세지 í�ë§žì§€ 않는 [:upper:] 그리고/í˜¹ì€ [:lower:] 구성�ì ‘ë¯¸ì‚¬ì— %% 변환 지정ìžê°€ 빠졌ìŒ�ì ‘ë¯¸ì‚¬ì— ë³€í™˜ 지정ìžê°€ 빠졌ìŒ�í•„ë“œì˜ ëª©ë¡ì´ 빠졌ìŒ�ìœ„ì¹˜ì˜ ëª©ë¡ì´ 빠졌ìŒ�%sì˜ ëª¨ë“œë¥¼ %04lo(%s)으로 유지하였습니다 �심볼릭 ë§í¬ %së„, ì´ë¥¼ 가리치는 ì›ëž˜ 파ì¼ë„ 변경ë˜ì§€ 않았습니다 �SHELL환경변수가 없고 쉘 형태 ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않았습니다�파ì¼ì´ 남아 있지 않습니다�문ìžì—´ì„ ë¤í”„í•  때ì—는 íƒ€ìž…ì´ ì§€ì •ë˜ë©´ 안ë©ë‹ˆë‹¤�ë°”ì´íЏ 수�í–‰ì˜ ê°œìˆ˜�[c*] 반복 êµ¬ì„±ë¬¸ì€ string2ì—서 ì˜¤ì§ í•œ 개만 쓸 수 있습니다�ì˜¤ì§ í•œê°€ì§€ í˜•íƒœì˜ ëª©ë¡ë§Œì´ ì§€ì •ë  ìˆ˜ 있습니다�íŒŒì¼ ì—´ê¸° 실패�페ì´ì§€ í­ì´ 너무 ì¢ìŒ�%sì˜ ì‹œê°„ì„ ìœ ì§€í•©ë‹ˆë‹¤�ë°˜ë³µëœ ì¤„ì„ í‘œì‹œí•˜ê³  회수를 세는 ê²ƒì€ ë¬´ì˜ë¯¸í•©ë‹ˆë‹¤�ì½ê¸° 오류�íŒŒì¼ ì½ê¸° 실패�ì¼ë°˜ 빈 파ì¼�ì¼ë°˜ 파ì¼�세마í¬ì–´�구분 단위가 빈 문ìžì—´ì´ ë  ìˆ˜ëŠ” 없습니다�공유 메모리 오브ì íЏ�소켓�표준 오류�표준 ìž…ë ¥�표준 ìž…ë ¥ì´ ë‹«í˜”ìŒ�표준 출력�stat 실패�필드 ìŠ¤íŽ™ì— ë²—ì–´ë‚œ 문ìž�문ìžì—´ 비êµê°€ 실패했습니다�구분ìžê°€ 없는 ì¤„ì„ ë¬´ì‹œí•˜ëŠ” ê²ƒì€ í•„ë“œì— ê´€í•´ ë™ìž‘하는 경우ì—ë§Œ ì´ì¹˜ì— 맞습니다�심볼릭 ë§í¬�탭 í¬ê¸°ëŠ” 0ì´ ë  ìˆ˜ 없습니다�탭 í¬ê¸°ë“¤ì€ ì ì  커져야 합니다�--binary와 --text ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다�--status ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다�--warn ì˜µì…˜ì€ ì˜¤ì§ ì²´í¬ì„¬ì„ 검사할 때만 ì˜ë¯¸ê°€ 있습니다�번역할 때ì—ë§Œ [c*] êµ¬ë¬¸ì´ ë¬¸ìžì—´2ì— ë‚˜íƒ€ë‚  수 있습니다�[c*] 반복 êµ¬ì„±ë¬¸ì€ string1ì—서는 쓸 수 없습니다�êµ¬íš ë¬¸ìžëŠ” ë‹¨ì¼ ë¬¸ìžì—¬ì•¼ 합니다�dircolorì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력하는 옵션과 쉘 ë¬¸ë²•ì„ ì„ íƒí•˜ëŠ” ì˜µì…˜ì€ ê°™ì´ ì“¸ 수 없습니다�stripì˜µì…˜ì€ ë””ë ‰í† ë¦¬ë¥¼ 설치할 때는 쓸 수 없습니다�ì ‘ë¯¸ì‚¬ì— %% 변환 지정ìžê°€ 너무 ë§ŽìŒ�합계�LS_COLORSí™˜ê²½ë³€ìˆ˜ì˜ í•´ì„í•  수 없는 ê°’�경고: `--pid=PID'는 ì´ ì‹œìŠ¤í…œì—서 ì§€ì›í•˜ì§€ 않습니다�경고: PID 무시; `--pid=PID'는 --follow 옵션과 ê°™ì´ ì‚¬ìš©í–ˆì„ ê²½ìš°ë§Œ 유효합니다�경고: ë¶€ì ì ˆí•œ í­ %lu; 대신 %dì„(를) 사용함�경고: ìš”ì•½ì€ --max-depth=0ì„ ì‚¬ìš©í•˜ëŠ” 것과 같습니다�ê´´ìƒí•œ 파ì¼�ì§‘í•©1ì´ ìž˜ë ¤ë‚˜ê°€ì§€ 않는다면, string2는 빈 ì§‘í•©ì´ì–´ì„œëŠ” 안 ë©ë‹ˆë‹¤�ë¬¸ìž í´ëž˜ìŠ¤ì˜ ì—¬ì§‘í•©ìœ¼ë¡œ 옮길 경우ì—는, string2는 ê·¸ ë„ë©”ì¸ì˜ 모든 문ìžë¥¼ í•˜ë‚˜ì˜ ë¬¸ìžë¡œ 매핑해야 합니다�쓰기 오류�íŒŒì¼ ì“°ê¸° 실패�ë°”ì´íЏ, 문ìž, ë˜ëŠ” 필드로 ëœ ëª©ë¡ì„ 지정해야 합니다������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/lg.po�����������������������������������������������������������������������������0000664�0000000�0000000�00002063520�12107204511�011727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Luganda translation for coreutils. # translation of coreutils-8.7 to Luganda # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Kizito Birabwa <kbirabwa@yahoo.co.uk>, 2011. msgid "" msgstr "" "Project-Id-Version: coreutils 8.7\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2011-02-15 20:47+0000\n" "Last-Translator: Kizito Birabwa <kbirabwa@yahoo.co.uk>\n" "Language-Team: Luganda <kbirabwa@yahoo.co.uk>\n" "Language: lg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n !=1;\n" "X-Generator: KBabel 1.11.4\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "agumenti %s tekozesebwa ku %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "agumenti %s ku %s ebuzabuza" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Augumenti z'oyinza okuwa ziri:" #: lib/closein.c:100 msgid "error closing file" msgstr "wazzewo kiremya mu kubikka fayiro" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "Wazzewo kiremya mu kuwandika mu fayiro" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "endukusa ez'oku %s tezikyusidwa" #: lib/error.c:188 msgid "Unknown system error" msgstr "Wazzewo kiremya atategeerese mu sisitemu" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fayiro eyabulijjo etaliimu kantu" #: lib/file-type.c:38 msgid "regular file" msgstr "fayiro eya bulijjo" #: lib/file-type.c:41 msgid "directory" msgstr "lino tterekero" #: lib/file-type.c:44 msgid "block special file" msgstr "ffayiro ey'enjawulo eya kika kya buloka" #: lib/file-type.c:47 msgid "character special file" msgstr "fayiro ey'enjawulo ey'ekika kya nnukuta" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "(fayiro) enyunzi ey'eyawudde" #: lib/file-type.c:56 msgid "socket" msgstr "soketi" #: lib/file-type.c:59 msgid "message queue" msgstr "ddiindiro erya bubaka" #: lib/file-type.c:62 msgid "semaphore" msgstr "semafora" #: lib/file-type.c:65 msgid "shared memory object" msgstr "kisibe kya mu ggwanika ery'awamu" #: lib/file-type.c:68 msgid "typed memory object" msgstr "kyetongole eky'omuggwanika ekikazidwako ekika" #: lib/file-type.c:70 msgid "weird file" msgstr "fayiro etategeereka" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "" "Erinnya erya kompyuta enyunge oba endagiriro\n" "ez'omu lubu olwo tebikkirizibwa ku sisitemu eno" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "" "Nfunyemu obuzibu mu kukwataganya\n" "erinnya n'endagiriro ya kompyuta" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "ai_flags kikongojja ekitali kituufu" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "" "Wazzewo kiremya atagonjooleka mu kugeza\n" "kukwataganya erinnya n'endagiriro ya kompyuta" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "" "Amateeka ai_family ge kitegeka\n" "tegamanyidwa ku sistemu eno" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Tekisobose kufuna kifo mu ggwanika" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "" "Eryo erinnya lya kompyuta tewali\n" "ndagiriro gye likwatagana nayo" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "" "Erinnya oba puloguramu empeereze\n" "tebimanyidwa ku sisitemu eno" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "" "Puloguramu empeereze tegendana\n" "n'ekika kya soketi ekitegekedwa ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "" "Ekika kya soketi ekikongojjedwa mu\n" "ai_socktype sisitemu eno tekimanyi" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Waliwo kiremya mu sisitemu" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "" "Eggwanika zzibizi eriterekebwamu\n" "agumenti terimala" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Omulimu ogusabidwa gubindabinda" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "" "Omulimu ogusabidwa\n" "gusazidwamu" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "" "Omulimu ogusabidwa\n" "tegusazidwamu" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "" "Emirimu egisabidwa\n" "gyonna giwedde" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "" "Ekiragiro emirimu\n" "kigiyimirizzaamu" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Paramita ewandikidwa bubi" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Wazzewo kiremya atategeereka" #: lib/getopt.c:547 lib/getopt.c:576 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s: akawayiro '%s' kabuzabuza\n" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: akawayiro '--%s' tekabeerako agumenti\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: akawayiro '%c%s' tekabeerako agumenti\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s: akawayiro '--%s' kateekwa okubaako agumenti\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: akawayiro '--%s' tekamanyidwa\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: akawayiro '%c%s' tekamanyidwa\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: akawayiro -- %c tekakola\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: akawayiro kateekwa okubaako agumenti -- '%c'\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: akawayiro '-W %s' kabuzabuza\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: akawayiro '-W %s' tekabeerako agumenti\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: akawayiro '-W %s' kateekwa okubaako agumenti\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "nnemedwa okukyusa obuyinza obw'oku %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "nnemedwa okukolawo tterekero %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "ggwanika lijjudde" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "tekisobose okuwandisa tterekero erikolerwamu" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "nemedwa okudda mu tterekero mwensookedde okukolera" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "`" #: lib/quotearg.c:313 msgid "'" msgstr "'" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s: nkomerero ya fayiro" #: lib/regcomp.c:131 msgid "Success" msgstr "Omulimu gumalirizidwa bulungi" #: lib/regcomp.c:134 msgid "No match" msgstr "Tewali kifaanagana" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Emboozi enoonya ebifaanagana etakola" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Nsanze ennukuta etasobola okweyambisibwa mu kusengeka nkalala" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Linnya lya kika eky'ennukuta telikola" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Waliwo akasazze akaddanyuma nga ke kakomekkerezza" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "" "Waliwo ekiragiro ekinoonya ebifaanagana\n" "n'ennukuta ezikikulembedde ekitakola wano" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "Waliwo [ oba [^ ebula ko ginne wa yo" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "Waliwo ( oba \\( ebulako ginne wa yo" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "Waliwo \\{ ebulako ginne wa yo" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Ebiri wakati wa \\{\\} tebikola wano" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "olubu gye lukomekkerezedwa tewakkirizibwa" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Ggwanika lijjudde" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Emboozi enoonya ebifaanagana ekulembedde tekola wano" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Emboozi enoonya ebifaanagana ekomekkerezedwa bubi" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Emboozi enoonya ebifaanagana eyitiridde obunene" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr "Waliwo ) oba \\) ebulako ginne wa yo" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Emabega tewali yo mboozi enoonya ebifaanagana" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "kya kabenje okukola ku %s ate n'okola ne ku ebiliri munda" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" "kya kabenje okukola ku %s ate n'okola ne ku ebiliri munda (kye kimu ne %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "bw'obanga toyagala ekitaakiriza kino kikole, kozesa --no-preserve-root" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[yY]" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN]" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "ntegeka endukusa ez'oku %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "'Hangup' - Tewakyali birindirira kuwerezebwa bubonero" #: lib/siglist.h:34 msgid "Interrupt" msgstr "'Interrupt' - Kiragiro ekiyimirizaamu omulimu" #: lib/siglist.h:37 msgid "Quit" msgstr "" "'Quit' - Kiragiro ekikomya omulimu ne wakolebwawo fayiro eraga\n" " ebibadde mu ggwanika mu kaseera ako" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "'Illegal instruction' - Wazzewo ekiragiro ekiyinza kugootaanya mirimu" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "" "'Trace/breakpoint trap' - Kiragiro ekiyimirizaamu omulimu omuntu\n" " asobole okulondoola enkola ya puloguramu" #: lib/siglist.h:46 msgid "Aborted" msgstr "'Aborted' - Omulimu gulekedwa" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "'Floating point exception' - Ensobi mu kubala" #: lib/siglist.h:52 msgid "Killed" msgstr "'Killed' - Omulimu gukomezedwa mbagirawo" #: lib/siglist.h:55 msgid "Bus error" msgstr "'Bus error' - Wazzewo kiremya mu kukozesa ggwanika lya kompyuta" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "" "'Sementation fault' - Puloguramu egezeza okukozesa ekitundu kya\n" " ggwanika ekitakkirizibwa oba ekitaliwo" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "" "'Broken pipe' - Puloguramu egezeza okusindika ebintu\n" " mu mukutu okutali kibirindirira" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "'Alarm clock' - Ekiragiro ekya sisitemu ekigerera puloguramu obudde" #: lib/siglist.h:67 msgid "Terminated" msgstr "" "'Terminated' - Ekiragiro ekigeza okuleetera omulimu okumala,\n" " bye gubadde gukolako ne gubusubako mu ngeri\n" " entegeke" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "" "'Urgent I/O condition' - Kiragiro kya sisitemu ekitemya ku puloguramu\n" " nti wazzewo data eyetaaga kukolebwako mangu" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "" "'Stopped (signal)' - Ekiragiro kya sisitemu ekireetera omulimu\n" " okuyimirira gulinde" #: lib/siglist.h:76 msgid "Stopped" msgstr "" "'Stopped' - Ekiragiro kya sisitemu omukozesa ky'asindika\n" " ekireetera omulimu okuyimirira gulinde" #: lib/siglist.h:79 msgid "Continued" msgstr "" "'Continued' - Ekiragiro kya sisitemu ekizukusa omulimu\n" " ogusibidwa gulinde" #: lib/siglist.h:82 msgid "Child exited" msgstr "'Child exited' - Omulimu ogutandikidwa gunnaagwo gumaze" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "" "'Stopped (tty input)' - Ekiragiro ekisindikibwa omulimu bwe gugeza\n" " okusoma okuva ku kiwandikiro kwe gukutudwa.\n" " Kitera okuguyimiriza gulinde" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "" "'Stopped (tty output)' - Ekiragiro ekisindikibwa omulimu bwe gugeza\n" " okuwandika ku kiwandikiro kwe gukutudwa.\n" " Kitera okuguyimiriza gulinde" #: lib/siglist.h:91 msgid "I/O possible" msgstr "'I/O possible' - Kisoboka okuyisa data mu soketi" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "" "'CPU time limit exceeded' - Omulimu guyisiza mu kiseera kya gwo\n" " eky'okwefuga ekitundu ekibazi" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "" "'File size limit exceeded' - omulimu gukozewo fayiro eyisizza\n" " ku kkomo erikkirizibwa" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "" "'Virtual timer expired' - Omulimu obudde obw'okugukolako mu\n" " kitundu ekibazi buweddeko" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "" "'Profiling timer expired' - Omulimu obudde obwa sisitemu n'ekitundu\n" " ekibazi okugukolako buweddeko" #: lib/siglist.h:106 msgid "Window changed" msgstr "" "'Window changed' - Ekiwandikiro omulimu okuva mwe gutandikidwa kikyuseko" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "" "'User defined signal 1' - Ekiragiro kya sisitemu kino omuwandisi wa\n" " puloguramu asobola okukikozesa kyonna ky'alaba" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "" "'User defined signal 2' - Ekiragiro kya sisitemu kino omuwandisi wa\n" " puloguramu asobola okukikozesa kyonna ky'alaba" #: lib/siglist.h:117 msgid "EMT trap" msgstr "" "'EMT trap' - Kiragiro kya sisitemu ekiyimirizaamu omulimu entegeka\n" " y'ebitundu bya yo ebitalibimu esobole okukyusibwamu" #: lib/siglist.h:120 msgid "Bad system call" msgstr "" "'Bad system call' - Akabonero ka sisitemu akalabusa akasindikibwa " "puloguramu\n" " bw'ewa ekiragiro kya sisitemu agumenti etakigenderako" #: lib/siglist.h:123 msgid "Stack fault" msgstr "" "'Stack fault' - Kino kye kiragiro kya sisitemu ekisindikibwa puloguramu bwe\n" " zigeza okwongera data mu ggwanika ly'ekitundu ekibazi\n" " ekizibizi nga lijjudde oba singa ekitundu ekyo kikebera mu\n" " ggwanika eryo ne kisanga nga temuli kantu" #: lib/siglist.h:126 msgid "Information request" msgstr "" "'Information request' - Kiragiro kya sisitemu ekireetera puloguramu\n" " okugisindikira ebifa ku mbeera yazo ne bye\n" " zikolako, bikazibwe" #: lib/siglist.h:128 msgid "Power failure" msgstr "" "'Power failure' - Kiragiro kya sisitemu ekireetera puloguramu " "okugisindikira\n" " ebifa ku mbeera yazo ne bye zikolako, bikazibwe.\n" " Kisindikibwa singa sisitemu etegeera nti amasanyalaze\n" " gagenda okugivaako" #: lib/siglist.h:131 msgid "Resource lost" msgstr "" "'Resource lost' - Kino kye kiragiro kya sisitemu ekisindikirwa puloguram\n" " singa fayiro gye kikozesa erekerawo okugaana emirimu\n" " emirala okugikozesa mu kiseera kyekimu nayo" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, fuzzy, c-format msgid "cannot create pipe" msgstr "sisobola okukolawo fifo %s" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "%s: tekisobose kutereeza aw'okusoma mu fayiro" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "%d kiragiro kya sistemu ekikolerwako mbagirawo" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "%d tekimanyidwa ng'ekiragiro kya sisitemu" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "omukolo 'iconv' tegukozeseka" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "omukolo iconv teguliwo" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "akabonero tekali ku lukalala" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "nemedwa okukyusa U+%04X okudda mu bubonero obukozesebwa wano" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "nemedwa okukyusa U+%04X okudda mu bubonero obukozesebwa wano: %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "omukozesa ono tamanyidwa" #: lib/userspec.c:107 msgid "invalid group" msgstr "guluupu eno temanyidwa" #: lib/userspec.c:108 msgid "invalid spec" msgstr "guluupu n'omukozesa byombi bisobu" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "nnemedwa okulaga ebifa ku kiremya" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Byategekebwa %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Byategekebwa %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "(C)" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "Layisinsi eya GPLv3+: GNU GPL oluwandika 3 oba olusingawo\n" "obupya <http://gnu.org/licenses/gpl.html>\n" "Sofutiweya eno teriko bikugizo, okkirizibwa okugisaasaanya\n" "n'okugikyusakyusaamu.\n" "TEWALI KAKALU KA NGERI YONNA, YADDE NTI EKYAMAGUZI\n" "KITEEKWA KUBEERA MU MBEERA NTUUFU GYE KISAANIRA\n" "KUTUNDIRWAMU ERA NGA KITUUKANA N'OKUTUUKIRIZA\n" "OMUGASO GWENNYINI OGUKIGENDERERWAMU.\n" "\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Byawandikibwa %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Byawandikibwa %s ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Byawandikibwa %s, %s ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Byawandikibwa %s, %s, %s,\n" "ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Byawandikibwa %s, %s, %s,\n" "%s, ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Bywandikibwa %s, %s, %s,\n" "%s, %s ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Byawandikibwa %s, %s, %s,\n" "%s, %s, %s, ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Byawandikibwa %s, %s, %s,\n" "%s, %s, %s, %s,\n" "ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Byawandikidwa %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, ne %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Byawandikibwa %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, n'abalala.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Bw'osangamu ebitali butuufu, tegeeza: %s\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Bw'osangamu ebitali butuufu mu %s, tegeeza: %s\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Enfo ey'oku neti eya %s esangibwa ku: <%s>\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Enfo eya %s esanngibwa ku: <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Osobola okufuna ebikuyamba okutegeera enkozesa\n" "eya sofutiweya owa GNU ku: <http://www.gnu.org/gethelp/>\n" #: lib/w32spawn.h:43 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "sisobodde okubikkula fayiro" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "" #: lib/xfreopen.c:35 msgid "stdin" msgstr "stdin" #: lib/xfreopen.c:36 msgid "stdout" msgstr "stdout" #: lib/xfreopen.c:37 msgid "stderr" msgstr "stderr" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "ekifo ekitamanyidwa" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "nnemedwa okuddamu okubikkula %s nga nkozesa ndukusa %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "okugerageranya ebigambo kugaanye" #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Okuvvuunuka obuzibu buno, tegeka LC_ALL='C'." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Ebigambo ebigerageranyizidwa biri %s ne %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "sisobola okukolawo ebivaamu ebigoberera empandika" #: lib/xstrtol-error.c:63 #, fuzzy, c-format msgid "invalid %s%s argument '%s'" msgstr "agumenti '%s' tekozesebwa ku %s%s" #: lib/xstrtol-error.c:68 #, fuzzy, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "agumenti %s%s erina akatandikwa '%s' akatakoler'awo" #: lib/xstrtol-error.c:72 #, fuzzy, c-format msgid "%s%s argument '%s' too large" msgstr "agumenti ey'oku %s%s, '%s', eyitiridde obunene" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Enkozesa entuufu: %s [KAWAYIRO]... [FAYIRO]\n" "Ekiragiro kino kirina emirimu ebiri:1- Kusoma data ey'omu FAYIRO ne " "kigiwandika mu mpandika efugibwa\n" " ennenga eya 64.\n" "2- Kusoma data ey'omu FAYIRO ne kigikyusa okuva mu mpandika\n" " efugibwa ennenga eya 64 edde mu mpandika eya bulijjo.\n" "Bye kiwandika kibisindika awateekebwa ebivaamu awa\n" "bulijjo.\n" "\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Bw'oba towadde FAYIRO, oba nga FAYIRO ogiwadde nga '-', ekiragiro kisoma\n" "ebiva ku nnono eya bulijjo.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Ekiragiro data egifuula okuva mu mpandika eya bulijjo nga egoberera walifu\n" "efugibwa ennenge eya 64 eyogerwako mu kiwandike RFC3548.\n" "Data ekiragiro gye kiba kikomyawo mu mpandika eya bulijjo ekkirizibwa\n" "okubaamu n'obubonero obulagira kutandika nnyiriri mpya.\n" "Data bw'eba nga eyinz'okubaamu obubonero obutali bwa mu walifu obulala\n" "osobola okussaako akawayiro --ignore-garbage buleme okugutawanya.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "wazzewo kiremya mu kusoma" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "ebiyingizibwa tebikkirizibwa" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "ebifo by'ogambye ekiragiro okuwandika mu nnyiriri tebisoboka: %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "waliwo ekifuulibwa eky'enfissi %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "nsibako awayingizibwa awa bulijjo" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, fuzzy, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Enkozesa entuufu eri: %s FAYIRO [KAFUNDIKWA]\n" "oba: %s KAWAYIRO\n" #: src/basename.c:53 #, fuzzy msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Ekiragiro kino kiwandika LINNYA lya fayiro nga amannya ag'amaterekero\n" "agakola ekkubo erigiggukako okuva ku musingi gaggyidwako. Bwe kiba\n" "nga nakyo kiragidwa, kiggyako n'aKAFUNDIKWA ku LINNYA lya fayiro.\n" "\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "kubulako ekifuulibwa" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Ekiragiro kino kiwandika ebiri mu FAYIRO, oba ebiva ku nnono eya bulijjo,\n" "mu kifo ekiteekebwamu ebivaamu ebya pulogulamu mu ebya bulijjo.\n" "\n" " -A, --show-all Okussaawo buwayiro buno kyekimu n'okussaawo -vET\n" " -b, --number-nonblank Obuwayiro buno buleetera ekiragiro okuteeka\n" " ennamba ku ntandikwa z'ennyiriri ezitali\n" " njereere ez'ebivaamu\n" " -e Okussaawo akawayiro kano kyekimu n'okussaawo -vE\n" " -E, --show-ends Obuwayiro buno buleetera ekiragiro buli\n" " lunnyiriri we lukoma okuteekawo akabonero $\n" " -n, --number Buno bukireetera ennyiriri zonna ez'ebivaamu\n" " kuteekako ennamba ku ntandikwa yazo, n'enjereere\n" " nazo.\n" " -s, --squeeze-blank Buno bkireetera okikkirizaamu olunyiriri " "olwereere\n" " lumu lwokka mu bivaamu\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t Okussaawo akawayiro kano kyekimu n'okussaawo\n" " -vT\n" " -T, --show-tabs Buno bukireetera okuwandikawo ^I awali ennukuta\n" " ezitereeza tabulo\n" " -u (kano tekalina kye kakola)\n" " -v, --show-nonprinting Buno bukireetera okukozesa okulamba okwa ^ ne\n" " M-, okuggyako we kisanga oluseetuka oba " "obubonero\n" " obulagira kugenda ku lunyiriri lupya\n" #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Eby'okulabirako:\n" " %s f - g Kisooka okuwandika ebiri mu 'f' ne kizzaako ebiva awayingizibwa\n" "awa bulijjo ne kiryoka kiwandika ebiri mu 'g'.\n" " %s Kiwandika ebiva awayingizibwa awa bulijjo nga kibiwandikira\n" "awateekebwa ebivaamu awa bulijjo.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "nemedwa okukola ioctl ku %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "awateekebwa ebiva mu zipulogulamu awa bulijjo" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s: fayiro ey'okusomwamu ate y'ey'okuwandikibwamu" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "nnemedwa okukolawo endukusa eza SELinux: %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "nnemedwa okutegeka olukusa olwa %s olwa SELinux lubeere %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "nnemedwa okukebera endukusa eza SELinux eza %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" "sisobola okutegeka olukusa olwa SELinux olutalaga\n" "gwe lukwatako ku fayiro etannalambibwa %s" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "" "nnemedwa okukyusa endukusa eza\n" "SELinux ez'oku %s zifuuke %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "nnemedwa okubikkula %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "nemedwa okusoma mu tterekero %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "nkyusa endukusa eza SELinux ez'oku %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "fts_read eremedwa okuzuula ebikwata ku fayiro" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "omulimu 'fts_close' gugaanye" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... NDUKUSA FAYIRO...\n" " oba: %s [KAWAYIRO]... [-u MUKOZESA] [-r KIFO] [LUBU] [-t KIKA] FAYIRO...\n" " oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO...\n" #: src/chcon.c:357 #, fuzzy msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Ekiragiro kino kikyusa endukusa eza SELinux ez'oku buli\n" "FAYIRO zibeere NDUKUSA. Bw'oba otaddeko akawayiro\n" "aka '--reference', endukusa ez'oku FAYIRO ezo kizifuula\n" "ze zimu n'ezoku RFAYIRO.\n" "\n" "Bw'oba ng'otaddeko kamu ku buwayiro '-h' oba\n" "'--no-dereference', ekiragiro fayiro enyunzi ez'eyawudde\n" " kizikolako naye fayiro ze ziggukako zo kizereka nga\n" "bwe zibadde.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:369 #, fuzzy msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=AKOLA Kano kakireetera okutegeka erinnya lya mukozesa\n" " mu SELinux ne liba AKOLA\n" " -r, --role=KIFO Kano ko kakireetera okutegeka ettuluba " "ly'abakozesa\n" " ne liba KIFO\n" " -t, --type=KIKA Kano kakireetera okutegeka ettuluba " "ly'ebikolebwako\n" " ne liba KIKA\n" " -l, --range=LUBU kano ate ko kakireetera okutegeka ekitundu " "eky'endukusa\n" " ekikola ku lubu ne kiba LUBU\n" "\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root Kano kaleetera kiragiro etterekero erya ku " "musingi,\n" " '/', butaliyisa mu ngeri ey'enjawulo\n" " (y'enkola eya bulijjo)\n" " --preserve-root Kano kaleetera ekiragiro butakola ku biri munda\n" " w'etterekero ery'oku musingi, '/'\n" #: src/chcon.c:379 #, fuzzy msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFAYIRO Akawayiro kano kakireetera okufuula endukusa\n" " ez'oku fayiro zibe ze zimu n'ezoku RFAYIRO\n" " -R, --recursive Bw'oteekawo kam ku buno ekiragiro bwe kikola ku\n" " tterekero, ne fayiro ezilirimu kizikolako\n" " -v, --verbose Buno bwo bukireetera okuwandika ebiva mu kukola ku\n" " buli fayiro\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 #, fuzzy msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "Obuwayiro buno obuddako bufuga engeri ekiragiro gye kikola ku mitendera\n" "egiri mu tterekero singa kubeerako akawayiro -R. Bw'okozesa obuwayiro\n" "obusukka mu kamu, k'osembyaayo kokka ke kakola.\n" "\n" " -H Kano bwe kabaako, agumenti bwe mubaamu linnya lya\n" " fayiro enyunzi, ekiragiro kikola ne ku fayiro oba\n" " etterekero kw'egguka\n" " -L Kano ko bwe kabaako, ekiragiro buli lwe kisanga\n" " ennyunzi ey'eyawudde egguka ku tterekero kikola\n" " ku tterekero eryo\n" " -P Kano kaleetera ekiragiro butakola ku nyunzi\n" " ez'eyawudde (y'enkola eya bulijjo)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" "Akawayiro aka '-R' oba '--dereference' tekakola\n" "okugyako nga kuliko n'aka '-H' oba aka '-L'" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "" "Obuwayiro obwa '-R' ne '-h' tebukola\n" "okujjako nga kuliko n'aka '-P'" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "kubulako ekifuulibwa luvanyuma lwa %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "luno olukusa ssi lutuufu: %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "owaddeyo ebitundu eby'endukusa ebitakolagana" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "nemedwa okufuna atiributo eza %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "eno guluupu tekkirizibwa: %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO EYA GULUUPU...\n" " oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO...\n" #: src/chgrp.c:113 #, fuzzy msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Ekiragiro kino kikyusa endukusa eza SELinux ez'oku buli\n" "FAYIRO zibeere NDUKUSA. Bw'oba otaddeko akawayiro\n" "aka '--reference', endukusa ez'oku FAYIRO ezo kizifuula\n" "ze zimu n'ezoku RFAYIRO.\n" "\n" "Bw'oba ng'otaddeko kamu ku buwayiro '-h' oba\n" "'--no-dereference', ekiragiro fayiro enyunzi ez'eyawudde\n" " kizikolako naye fayiro ze ziggukako zo kizereka nga\n" "bwe zibadde.\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chgrp.c:128 src/chown.c:99 #, fuzzy msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " -h, --no-dereference buno buleetera ekiragiro obutakwata ku fayiro\n" " eziggukibwako enyunzi, kikyusabukyusae nnyunzi\n" " ez'eyawudde ezo (kino kisoboka ku sisitemu ezo " "zokka\n" " kwe kisobokera okukyusa obwa nannyini ku nyunzi\n" " ez'eyawudde)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Eby'okulabirako:\n" " %s sitaafu /u Ekyo kikyusa guluupu eya /u n'eba \"sitaafu\".\n" " %s -hR sitaafu /u Ekyo kyo kikusa guluupu ey'etterekero /u ne\n" " fayiro zaamu n'eba \"sitaafu\".\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "nnona atiributo empya eza %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ku nyunzi ey'eyawudde %s ne fayiro kw'egguka tekuli kikyusidwa\n" #: src/chmod.c:163 #, fuzzy, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "ndukusa ez'oku %s zikyusidwa zibe %04lo (%s)\n" #: src/chmod.c:166 #, fuzzy, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "nnemedwa okukyusa ndukusa ez'oku %s zibe %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "ndukusa ez'oku %s zirekedwawo nga ziri %04lo (%s)\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" "fayiro ennyunzi ey'ewaudde %s terina\n" "kw'egguka, sisobola okugikolako" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "nkyusa obuyinza obw'oku %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s: endukusa empya ziri %s, ssi %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... NDUKUSA[NDUKUSA]... FAYIRO...\n" " oba. %s [KAWAYIRO]... NDUKUSA-MU-OKITA FAYIRO...\n" " oba. %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO... \n" #: src/chmod.c:377 #, fuzzy msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Ekiragiro kino kikyusa endukusa eza SELinux ez'oku buli\n" "FAYIRO zibeere NDUKUSA. Bw'oba otaddeko akawayiro\n" "aka '--reference', endukusa ez'oku FAYIRO ezo kizifuula\n" "ze zimu n'ezoku RFAYIRO.\n" "\n" "Bw'oba ng'otaddeko kamu ku buwayiro '-h' oba\n" "'--no-dereference', ekiragiro fayiro enyunzi ez'eyawudde\n" " kizikolako naye fayiro ze ziggukako zo kizereka nga\n" "bwe zibadde.\n" #: src/chmod.c:391 #, fuzzy msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFAYIRO Akawayiro kano kakireetera okufuula endukusa\n" " ez'oku fayiro zibe ze zimu n'ezoku RFAYIRO\n" " -R, --recursive Bw'oteekawo kam ku buno ekiragiro bwe kikola ku\n" " tterekero, ne fayiro ezilirimu kizikolako\n" " -v, --verbose Buno bwo bukireetera okuwandika ebiva mu kukola ku\n" " buli fayiro\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:399 #, fuzzy msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Buli LUKUSA lulagibwa ne nukuta ezirondedwa mu u,g,o ne a, emu ku bubonero\n" "+,-,= , ko n'ennukuta ezirondedwa mu r,w,x,X,s,t,u,g ne o.\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "" "bw'okozesa akawayiro aka '--reference'\n" "tosobola ate okutegeka ndukusa obutereevu" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "olukusa %s telukkirizibwa" #: src/chown-core.c:158 #, fuzzy, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "obwanannyini ku %s bukyusidwa bubeere %s\n" #: src/chown-core.c:159 #, fuzzy, c-format msgid "changed group of %s from %s to %s\n" msgstr "nkyusizza guluupu eya %s ebeere %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "obwa nannyini obw'oku %s tebukyuse\n" #: src/chown-core.c:165 #, fuzzy, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "nnemedwa okukyusa obwanannyini ku %s bufuuke %s\n" #: src/chown-core.c:166 #, fuzzy, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "nnemedwa okuykyusa guluupu eya %s ebeere %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "nnemedwa okukyusa obwa nannyini obw'oku %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "nnemedwa okukyusa obwanannyini ku %s bufuuke %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "nnemedwa okuykyusa guluupu eya %s ebeere %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "obwananyini ku %s bulekedwa wo nga %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "guluupu eya %s elekedwa wo nga eri %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "obwanannyini ku %s bulekedwawo\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "nnemedwa okukola ku fayiro %s kw'egguka" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "nkyusa obwanannyini obwa ku %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "nkyusa guluupu eya %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [NANYINI][:[GULUUPU]] FAYIRO...\n" " oba: %s [KAWAYIRO]... --reference=RFAYIRO FAYIRO...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=NANYINI_ALIWO:GULUUPU_ERIWO\n" " Kano kaleetera ekiragiro okukyusa nannyini ne/\n" " oba guluupu ku buli fayiro singa\n" " nannyini yo ne/oba guluupu ya yo bye bimu n'ebyo\n" " ebiteekedwa wano. Kimu ku byo (NANYINI_ALIWO oba\n" " GULUUPU_ERIWO) osobola obutakiteekawo. Olwo\n" " atiributo eyo ekiragiro tekija okigifako.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" #: src/chown.c:136 #, fuzzy msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Bw'otawa nannyini era takyusibwa. Bw'otawa guluupu nayo tekyusibwa. Kyokka\n" "singa wabaawo ':', pulogulamu etegeeramu nti guluupu erina okugikyusa ebe\n" "eyo gye wewandisizisamu ku sisitemu. NANYINI ne GULUUPU bisobola okuwebwa\n" "nga namba oba nga nukuta.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Eby'okulabirako:\n" " %s root /u Kifuula \"root\" nanyini /u.\n" " %s root:sitaafu /u Kifuula \"root\" nanyini /u ate\n" " guluupu ya yo n'eba \"sitaafu\".\n" " %s -hR root /u Kifuula \"root\" nanyini /u ne\n" " fayiro zaamu.\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "tewali guluupu eyitibwa %s" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "olukalala lwa guluupu, %s, ssi lutuufu" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "nnemedwa okutegeka guluupu ez'ennyongeza" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO] MUSINGIMUPYA [KIRAGIRO.[AGUMENTI]...]\n" " oba: %s KAWAYIRO\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Ekiragiro 'chroot' kireetera KIRAGIRO okukola nga kibala nti etterekero " "ery'oku musingi liri MUSINGIMUPYA.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=MUKOZESA:GULUUPU Akawayiro kano kaleetera ekiragiro\n" " okukola nga ekiyisidwa omukozesa MUKOZESA nga\n" " ali mu guluupu GULUUPU.\n" " --groups=ZI-GULUUPU Kano ko kaleetera ekiragiro okukola nga ekiyisidwa\n" " omukozesa alina guluupu ez'enyongeza g1,g2,..,gN\n" #: src/chroot.c:149 #, fuzzy msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Omukozesa bw'abeera talina kirala ky'alagidde, ekiragiro kikozesa\n" "enzivvuunuzi erinnya lyayo eriva mu kiragiro '${SHELL} -i' (enzivvuunuzi " "eya\n" "bulijjo ye: /bin/sh).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "etterekero %s nemedwa okulifuula ery'oku musingi" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "nnemedwa kukyusa okugenda ku tterekero ery'oku musingi" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "nnemedwa okutegeka namba ya guluupu" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "nnemedwa okutegeka namba ya mukozesa" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "nnemedwa okutandika ekiragiro %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s: fayiro eyitiridde obunene" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Enkozesa entuufu eri: %s [FAYIRO]...\n" " oba: %s [KAWAYIRO]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Ekiragiro kino kikebera buli FAYIRO ne kiwandika ennamba ya yo enkuumi\n" "ey'ekika kya CRC n'obungi obwa bayiti ezigirimu.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO1 .FAYIRO2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" "Kino fayiro ensengeke FAYIRO1 ne FAYIRO2 kiziyitamu nga kizigeraageranya\n" "lunyiriri ku lunyiriri.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Ekiragiro bwe kiba nga tekiweredwako obuwayiro, ebivaamu kibiragira mu\n" "nkumbo ssatu. Olukumbo olusooka lubeera mu ennyiriri eziri mu FAYIRO1 " "yokka,\n" "olukumbo olwokubiri lubeera mu ennyiriri eziri mu FAYIRO2 yokka, ate\n" "olwokusatu lubeera mu ennyiriri ezisangibwa mu fayiro zombi.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 Akawayiro kano bwe kabaako, ekiragiro ennyiriri\n" " ezisangibwa mu FAYIRO1 yokka tekiziwandika\n" " (bye ebyanidirabise mu lukumbo olusooka)\n" " -2 Kano ko bw kabaako, ekiragiro ennyiriri ezisangibwa mu\n" " FAYIRO2 yokka tekiziwandika\n" " (bye ebyanidirabise mu lukumbo olwokubiri)\n" " -3 Kano bw kabaako, ekiragiro ennyiriri ezisangibwa\n" " mu fayiro zombi tekiziwandika\n" " (bye ebyanidirabise mu lukumbo olwokusatu)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order Kano bwe kabaako, kiragiro ne kisanga ebitali\n" " bisengeke mu biyingizibwa, kikutegeeza nti\n" " wazzewo kiremya, omluimu ne gukoma\n" " --nocheck-order Kano bwe kabaako, ekiragiro ne kisanga ebitali\n" " bisengeke mu biyingizibwa, kikolabukozi\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr "" " --output-delimiter=BUBONERO Kano bwe kabaako, ekiragiro\n" " kissaawo BUBONERO okulaga olukumbo\n" " olumu we lukoma olulala ne lutandika\n" #: src/comm.c:133 #, fuzzy msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Ekiragiro bwe kiba kigeraageranya, kigoberera mateeka agatekedwa\n" "mu kigambo ekikongozzi 'LC_COLLATE'.\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Eby'okulabirako:\n" " %s -12 fayiro1 fayiro2 Ennyiriri ezisangibwa mu fayiro1 era\n" " ne mu fayiro2 ze zokka eziwandikibwa.\n" " %s -3 fayiro1 fayiro2 Ennyiriri eziri mu fayiro1 yokka n'eziri\n" " mu fayiro2 yokka ze ziwandikibwa.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "fayiro %d ssi nsengeke" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "tokkirizibwa kutegeka ebyawuluzangana nkumbo ebisukka mu kimu" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "%s tekikkirizibwa kulekebwa kyereere" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "wazzewo kiremya mu kusoma %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "nnemedwa okukola lseek ku %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "wazzewo kiremya nga mpandikira mu %s" #: src/copy.c:313 #, fuzzy, c-format msgid "%s: failed to get extents info" msgstr "nnemedwa okutegeera endukusa eza SELinux ezisangidwawo" #: src/copy.c:373 #, fuzzy, c-format msgid "%s: write failed" msgstr "sisobode okuwandika" #: src/copy.c:442 src/copy.c:1083 #, fuzzy, c-format msgid "failed to extend %s" msgstr "nemedwa okubikkula %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "nziramu endukusa ez'oku %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "nnemedwa okukuuma obwa nannyini ku %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "nemedwa okuzuula fayiro %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "nnemedwa okusigaza obuwandisi obw'oku %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "sisobodde okubikkula %s kugisoma" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "fstat eremedwa okuzuula ebikwata ku %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" "fayiro %s ngibuuka kubanga eyo yawanyisidwamu endala bwe yabadde ekoppebwa" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "" "nnemedwa okutegeera endukusa eza SELinux\n" "ezitegekebwa bulijjo ku bintu ebipya\n" "ebikoledwawo ku sisitemu eya fayiro" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "nnemedwa okutegeka endukusa eza SELinux ez'oku %s zibe %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "sisobola okuggyawo %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s egyidwawo\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "ennyunzi ey'eyawudde %s tewali kigenda kuwandikibwayo" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "nnemedwa okukolawo fayiro eya bulijjo %s" #: src/copy.c:985 #, fuzzy, c-format msgid "failed to clone %s from %s" msgstr "nnemedwa okugya koppi mu %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "essawa %s z'ebadde erambidwa nazo zigenda okusigazibwa" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, fuzzy, c-format msgid "failed to close %s" msgstr "nemedwa okubikkula %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" "%s: oyagala okugezako okuwandika ku %s, enkola eya %04lo (%s) nga " "tegobererwa?" #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s: %s ngiwandikeko ng'empya? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (kkopi ey'okwerinda: %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "" "fayiro nnemedwa okugizzako endukusa eza SELinux ezo\n" "ezitegekebwa bulijjo ku fayiro ezakakolebwawo" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "sisobola okukolawo enyunzi et'eyawudde %s egguka ku %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "stat eremedwa okuzuula ebikwata ku fayiro %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "etterekero %s ndibuuka" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "kulabula: fayiro ey'ensibuko %s eweredwa emirundi egisukka mu gumu" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "fayiro %s ne %s fayiro y'emu" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" "%s ssi tterekero, n'olw'ekyo sisobola okugiwandikako ebiri mu tterekero %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "%s eyakakolebwawo sijja okugiwandikako ebiri mu %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "%s tterekero, sisobola okugiwandikako ebivudde mu etali tterekero" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "sisobola okusimbuliza tterekero ku etali tterekero: %s -> %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" "okuggya kkopi ey'okwerinda mu %s kujja ate yo\n" " okugisaanyawo; %s tesimbulizidwa" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" "okuggya kkopi ey'okwerinda mu %s kujja ate yo okugisaanya wo; %s tekoppedwa" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "%s nnemedwa okugiggyamu kkopi ey'okwerinda" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "fayiro %s eggukibwako ennyunzi ey'eyawudde %s tegenda kugyibwamu kkopi" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" "tosobola okukoppa etterekero, %s, libeere ne kkopi, %s, eya yo munda mwa yo" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "sijja okukolawo enyunzi et'eyawudde %s egguka ku tterekero %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "sisobola okusimbuliza %s efuuke ate tterekero %s munda mwa yo" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "sisobola okusimbuliza %s egende ku %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "okusimbuliza wakati w'ebyuma kulemye: wakati wa %s ne %s;\n" "nemedwa okuggyawo ekisangidwawo ku kigenderwa" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "%s nnemedwa okugitegekera endukusa eza SELinux ezo\n" "ezitegekebwa bulijjo ku fayiro ezakakolebwawo" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "sisobola okuggya kkopi mu nyunzi ey'eyawudde eyeggukako %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s: enyunzi ez'eyawudde zonna ezikolebwa mu tterekero lino amakubo\n" "ga fayiro kwe zigguka gajja okulaga etterekero lino nga\n" "y'entandikwa yago" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "sisobola okukolawo enyunzi eyeyawudde %s egguka ku %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "sisobola okukolawo fifo %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "sisobola okukolawo fayiro ey'enjawulo %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "sisobola okusoma enyunzi eyeyawudde %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "sisobola okukolawo enyunzi eyeyawudde %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "fayiro %s ya kika ekitamanyidwa" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "sisobola okuggyawo kkopi ey'okwerinda eya %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s -> %s (ggyawo kkopi ey'okwerinda)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] NNONO KIGENDERWA\n" " oba: %s [KAWAYIRO]... NNONO... TTEREKERO\n" " oba: %s [KAWAYIRO]... -t TTEREKERO NNONO...\n" #: src/cp.c:162 #, fuzzy msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "" "Ekiragiro kino kikoppa NNONO, koppi eyo ne kigiyita KOPPI, oba\n" "NNONO bwe zisukka mu emu koppi zaazo ziteekebwe mu TTEREKERO.\n" "\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive Bw'ossawo kamu ku buwayiro buno kiba kye " "kimu\n" " n'okussawo '-dR --preserve-all'\n" " --attributes-only Kano kakireetera kukolawo fayiro etalimu " "kantu\n" " naye nga atiributi za yo zifaanagana n'eza " "fayiro\n" " ey'ennono\n" " --backup[=KIFUZI] Akawayiro kano kaleetera ekiragiro okuggya\n" " kkopi ey'okwerinda mu buli fayiro ekolebwawo\n" " -b Kano kafuula enkola y'ekiragiro mu ngeri\n" " y'emu n'aka '--backup' naye tekakukkiriza\n" " okwongerako ate agumenti\n" " --copy-contents Kano bwe kabaako, ekiragiro kikoppa n'ebiri\n" " mu fayiro ez'enjawulo ze kisanga nga kikka\n" " mu materekero\n" " -d Bw'ossawo kano obeera nga eyataddewo\n" " '--no-deference --preserve=links'\n" #: src/cp.c:177 #, fuzzy msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force Bw'ossawo kamu ku buno, ekiragiro bwe\n" " kisangawo fayiro egenderwa ne kiremwa\n" " okugibikkula, kigiggyawo ne kiddamu omulimu\n" " -i, --interactive Buno buleetera ekiragiro okusooka okubuuza\n" " omukozesa bwe kiraba nti kigenda okuwandika\n" " ku fayiro esangidwawo\n" " -H Kano ate kakireetera okulondoola ennyunzi\n" " ez'eyawudde singa amannya gaazo gaba mu\n" " agumenti yakyo\n" #: src/cp.c:186 #, fuzzy msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link Ekiragiro fayiro kizikolera enyunzi mu kifo\n" " ekya kuzigyamu kkopi\n" " -L, --dereference Kamu ku buno bwe kabaako kilondoola enyunzi\n" " ez'eyawudde\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber Kamu ku buno kakireetera butawandika\n" " ku fayiro esangidwawo. Bwe kabaako n'aka -i,\n" " ko ke kakola\n" " -P, --no-dereference Bw'ossaako kamu ku buno, ekiragiro tekigya\n" " kkopi mu fayiro ennyunzi eziri mu NNONO kwe\n" " zigguka\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p Kye kimu ne\n" " '--preserve=mode,ownership,timestamps'\n" " --preserve[=LUKALALA_ATIRIBUTI] Bw'ossawo kano, bwe kiba kisoboka,\n" " ekiragiro kikuuma atiributi z'oba olaze\n" " (bw'otoziraga ekiragiro kikola nga " "eyataddewo:\n" " '--preserve=mode,ownership,timestamps')\n" " atiributi endala ziri: links, xattr, all\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=LUKALALA_ATIRIB Kano kakireetera butakuuma atiributi\n" " eziragidwa mu LUKALALA_ATIRIBS\n" " --parents Kano kakireetera okusoosako ekkubo erigguka\n" " ku nsibuko ku linnya lya TTEREKERO\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive Buno bukireetera okukopa n'amaterekero\n" " n'ebigalimu\n" " --reflink[=DDI] Kano kakireetera okukolawo nnyunzi mu kifo\n" " kya koppi eyetongodde. Fayiro bw'osalawo\n" " okugikyusaamu, enyunzi eyo efuukamu koppi\n" " eyetongodde\n" " --remove-destination Kano bwe kabaako, ekiragiro koppi w'egenda\n" " bwe kisangawo fayiro, tekigeza " "kugiwandikamu,\n" " kigigyawobugya koppi n'eddawo nga fayiro " "empya\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=DDI Ekikongojjedwa mu DDI kissawo amateeka\n" " agafuga entonda eya fayiro ez'empewo\n" " --strip-trailing-slashes Kano kakireetera okusalako obusaze\n" " obw'akaddannyuma, '/', obufundikira\n" " ndagiriro za fayiro eza NNONO ezisangibwa\n" " mu agumenti\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link Buno bukireetera okukolawo enyunzi " "ey'eyawudde\n" " mu kifo eky'okuggyamu kkopi\n" " -S, --suffix=KAFUNDIKWA Buno bukireetera okuwayirako KAFUNDIKWA ku\n" " linnya erya kkopi ey'okwerinda, mu kifo " "eky'aka\n" " bulijjo\n" " -t, --target-directory=TTEREKERO Fayiro zonna ezimenyedwa mu NNONO\n" " kizisimbuliza ne zigenda mu TTEREKERO\n" " -T, --no-target-directory Bw'ossawo kamu ku buno, ekiragiro kibala nti " "KIGENDERWA\n" " fayiro bufayiro sso ssi tterekero\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update Buno bukireetera butaggyaamu kkopi okugyako\n" " nga fayiro eya NNONO mpya okusinga fayiro\n" " koppi eyo gy'egenda okugywawo, oba nga " "tewali\n" " fayiro efaanaya koppi erinnya\n" " -v, --verbose Buno bukireetera okukola nga kigenda " "kinnyonyola\n" " bye kikola\n" " -x, --one-file-system Buno bwo bukireetera okukolera ku sistemu " "eya\n" " fayiro eno kwe kiyisidwa yokka\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Bw'obeera towadde biragiro birala, fayiro eza NNONO ez'empewo zizuulibwa\n" "mu ngeri eya muwawa fayiro KOPPI ezizivamu nazo zibeera za mpewo. Enkola\n" "eno era y'eleetebwa wo akawayiro '--sparse=auto'.\n" "Bw'obeera oyagala okufuna fayiro KOPPI ey'empewo buli fayiro eya NNONO\n" "lw'ebaamu bayiti eza zero eziwera nga ziliraanaganye, kozesa akawayiro\n" "'--sparse=always'. Kozesa akawayiro '--sparse=never' bw'obanga toyagala\n" "fayiro ez'empewo zikolebwewo.\n" "\n" "bw'obanga otaddeko akawayiro aka '--reflink' oba '--reflink=always', " "kikolawo\n" "enyunzi mu kifo kya koppi ennetogovu. Enyunzi eyo efuuka koppi lwe wabawo\n" "akyusa ku biri mu fayiro. Bwe kitasoboka kukolawo enyunzi eyo, omulimu ogwa\n" "'cp' gugaana. Singa enyunzi eyo tesoboka ate nga wataddeko akawayiro aka\n" "'--reflink=auto', 'cp' kikolawo koppi ennetongovu.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 #, fuzzy msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Bw'ototegeka akasembayo akakongerwa ku mannya ga kkopi eza kwerinda, " "kompyuta\n" "ejjakukozesa akafundikwa '~'. Akafundikwa kano osobola okukategeka nga\n" "weyambisa akawayiro aka '--suffix' oba nga oteeka ekigambo ekikongozzi\n" "SIMPLE_BACKUP_SUFFIX. Osobola okufuga engeri empandika eziddinngana eza " "kkopi\n" "ez'okwerinda gye zikuumibwamu nga weyambisa akawayiro '--backup' oba nga\n" "otegeka ekigambo ekikongozzi VERSION_CONTROL.\n" "Obwayiro n'ebigambo ebyo bisobola okubeera bino ebiddako:\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off Bw'ossawo kamu ku buwayiro buno, ekiragiro\n" " tekikola kkopi ez'okwerinda\n" " (yadde nga waliwo n'aka '--backup')\n" " numbered, t Buno bukireetera kukolangawo kkopi " "ez'okwerinda\n" " ne kiziteekako nnamba eziraga oluwandika lwa " "zo\n" " existing, nil Bwe kubaako kamu ku buno,empandika za kkopi\n" " ez'okwerinda eziriwo bwe zibaako ennamba,\n" " empya nazo zibaako nnamba, eziriwo bwe\n" " zitabaako nnamba empya nazo teziteekebwako\n" " nnamba\n" " simple, never Buno bukireetera kkopi ez'okwerinda\n" " butaziteekangako nnamba\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "Singa ekiragiro 'cp' kiyisibwa nga kiriko n'obuwayiro 'force' ne 'backup',\n" "ate erinya erya NNONO ne liba limu n'erya KOPPI nga ezo fayiro za bulijjo,\n" "'cp' kisooka okuggya kkopi ey'okwerinda mu NNONO.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "nemedwa okukuuma `saawa' ez'oku %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "nemedwa okukuuma endukusa ez'oku %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "sisobola okukolawo etterekero %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s gy'eri nayi ssi tterekero" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, fuzzy, c-format msgid "failed to access %s" msgstr "nemedwa okubikkula %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "kubulako fayiro ey'okukolako" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "%s yetaaga kugobererwa fayiro egendererwa" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "tekisoboka kukozesa --target-directory (-t) awamu ne --no-target-directory (-" "T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "ekigenderwa %s ssi tterekero" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "bwe kubaako aka --parents, ekigenderwa kiteekwa kuba tterekero" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "olaze ekigenderwa eky'amaterekero agasukka mu limu" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" "sisobola okukola bika bya nyunzi byombi awamu - ezit'eyawudde n'ez'eyawudde" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "obuwayiro --backup ne --no-clobber bukontana" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "okukozesa --reflink oteekwa n'okukozesa --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "ekika ekya kkopi ey'okwerinda" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "sisobola kukuuma endukusa eza SELinux nga ennombe temanyi SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "ekiragiro cp tekyategekebwa kutegeera atiributo eya xattr, n'olw'ekyo\n" "sisobola kukuuma atiributo ez'enyongeza" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "ennono ebuzewo" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s: eno namba esinga obungi bw'ennyiriri mu fayiro" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s: %s: eno namba esinga obungi bw'ennyiriri mu fayiro" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " ku miku egiddinngana %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s: nnoonyezza %s ne sigiraba" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "emboozi enoonya zinnewayo egudde ku kiremya" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "%s ezzeko kiremya mu kuwandika" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s: akabonero ak'awuzi kateekwa okuddibwako ennamba enzijjuvu" #: src/csplit.c:1075 #, fuzzy, c-format msgid "%s: '}' is required in repeat count" msgstr "%s: kubulako '}' ku namba gy'owadde nga ey'emiku gy'oyagala nkole" #: src/csplit.c:1085 #, fuzzy, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s}: wateekwa okubaawo ennamba enzijjuvu wakati wa '{' ne '}'" #: src/csplit.c:1112 #, fuzzy, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s: kubulako akabonero ak'awuzi '%c' akaggalawo" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s: eno emboozi enoonya ebifaanagana tekola: %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s: kino ekigambo tekikola" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s: ennamba ey'olunnyiriri eteekwa okusukka ku zeero" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "namba y'olunyiriri %s ntono ku egikulemera, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "kulabula: namba y'olunyiri %s y'emu n'egikulembedde" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "" "ekiweredwa nga akafundikwa kibuzeeko\n" "akabonero akalaga kye kinaafuulibwa" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" "akafundikwa kalimu akabonero akalaga\n" "kye kanaafuulibwa akatakola: %c" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" "akafundikwa kalimu akabonero akalaga\n" "kye kanaafuulibwa akatakola: \\%.3o" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "ekigambo ekifuga okufuulibwa kirimu obubonero obutakola: %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" "akafundikwa kalimu obubonero obulaga\n" "kye kanaafuulibwa %% obuyitiridde obungi" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" "akafundikwa kabulamu akabonero akalaga\n" "kye kanaafuulibwa %%" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s: eno namba tekola wano" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO KIGAMBO...\n" #: src/csplit.c:1455 #, fuzzy msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Ekiragiro kino kikolawo fayiro 'xx00', 'xx01',..., nga zirimu ebitundu ebya\n" "FAYIRO ebireetedwawo okugyawuluzaamu buli awasangibwa (zi)KIGAMBO.\n" "Era kiwandika, awateekebwa ebivaamu ebya zipulogulamu mu ebya bulijjo,\n" "obungi bwa bayiti eziri mu buli kitundu.\n" #: src/csplit.c:1462 #, fuzzy, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=NTEREEZA Buno bukireetera oKukozesamu sprintf " "NTEREEZA\n" " mu kifo kya %02d\n" " -f, --prefix=KATANDIKWA Buno bukireetera oKukozesa KATANDIKWA\n" " mu kifo kya 'xx'\n" " -k, --keep-files Buno bwo bukireetera butagyawo fayiro ze\n" " kyakakolawo bwe waba nga wazzewo kiremya\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=BUNGI Buno bukireetera okukozesa digiti BUNGI " "mu\n" " kifo ekya digiti 2\n" " -s, --quiet, --silent Buno bukireetera butalaga bunene bwa " "fayiro\n" " ze kikolawo\n" " -z, --elide-empty-files Buno bwo bukireetera okugyawo fayiro ze\n" " kikozewo bwe ziba njereere\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "FAYIRO bwe kiba - , ekiragiro kisoma ebiva ku nnono eya\n" "bulijjo. Zi KIGAMBO zisobola okubeera:\n" #: src/csplit.c:1478 #, fuzzy msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " NAMBA_YA_LUNYIRIRI Kino kikereetera okukopporola nnyiriri okutuuka\n" " ku olwa NAMBA_YA_LUNYIRIRI, naye lwo\n" " tekirutwaliramu\n" " /REGEXP/[AWATANDIKIRWA] Kino kikereetera okukopporola nnyiriri okutuuku\n" " ku olwo emboozi lw'ezudde, naye lwo " "tekirutwaliramu\n" " %REGEXP%[AWATANDIKIRWA] Kino kikereetera okutandikira ku lunyiriri " "emboozi\n" " lw'ezudde, naye lwo tekirutwaliramu\n" " {NAMBA_ENZIJJUVU} Kino kikereetera omulimu okugwongerako emirundi\n" " egiragidwa\n" " {*} Kino kireetera omulimu okuguddamu emirundi " "gyonna\n" " egisoboka\n" "\n" "AWATANDIKIRWA walagibwa n'akabonero '+' oba '-' nga kaddidwako ennamba " "nzijjuvu\n" "esukka ku zeero obunene. (REGEXP kitegeeza emboozi enoonya zinnewayo)\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "ennamba za firidi n'ebifo mu nnyiriri zitandikira ku 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Enkozesa entuufu eri: %s KAWAYIRO... [FAYIRO]...\n" #: src/cut.c:193 #, fuzzy msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "'cut' kiwandikawo ebitundu ebirondemu ebya mu nnyiriri eza mu buli\n" "FAYIRO awateekebwa ebivaamu ebya zipulogulamu mu ebya bulijjo.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LUKALALA Bayiti eziri mu LUKALALA zokka ze kiba\n" " kifulumya\n" " -c, --characters=LUKALALA Ennukuta eziri mu LUKALALA zokka ze kiba\n" " kifulumya\n" " -d, --delimiter=K'AWULUZI Ebitundu eby'emoboozi kikozese K'AWULUZI \n" " okubyawuluzaamu mu kifo eky'oluseetuka\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LUKALALA Kiragako ebitundu eby'emboozi ebiri mu\n" " LUKALALA byokka; era kiraga n'ennyiriri\n" " zonna ezitalimu nnukuta enjawuluzi -\n" " okuggyako nga akawayiro -s kwekali\n" " -n (Kano tekalina kye kakola)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement Kano kaleetera ekiragiro okukola ku bayiti,\n" " bubonero oba firidi ebitali ebyo ebikiragidwa\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited Buno bukireetera butalaga nnyiriri zitalimu\n" " bubonero obwawuluzi\n" " --output-delimiter=KIGAMBO Kano kakireetera okweyambisa KIGAMBO\n" " okwawuluzaamu ebivaamu. Enkola eya bulijjo " "kwe\n" " kweyambisa akabonero akakozesedwa mu ebiva ku\n" " nnono\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Okozesanga kamu kokka ku buwayiro -b, -c oba -f. Buli LUKALALA lubaamu\n" "olubu, oba embu z'obubonero nga z'awuludwa zi kkoma. Ekiragiro kiwandika\n" "ebivaamu mu nsengeka y'emu n'y'ebiyingizibwa.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Olubu lusobola okubeera kimu ku:\n" "\n" " N Bayiti, bubonero oba ekitundu eky'emboozi ekya N, nga\n" " otandikidde ku 1\n" " N- Bayiti, bubonero oba ekitundu eky'emboozi ekya N, nga\n" " ovudde olunyiriri gye lukoma\n" " N-M Okuva ku bayiti, obubonero oba ekitundu eky'emboozi\n" " ekya N (nga kitwalidwamu) okutuuka ku ekya M\n" " -M Okutuuka ku bayiti, bubonero oba ekitundu eky'emboozi\n" " ekya M (nga kitwalidwamu) nga ovudde olunyiriri gye\n" " lutandikira\n" "\n" "Bw'oba towadde FAYIRO, oba FAYIRO bw'eba '-' , 'cut' esoma okuva\n" "ku nyingiza eya bulijjo.\n" #: src/cut.c:367 src/cut.c:493 #, fuzzy msgid "invalid byte, character or field list" msgstr "olukalala olwa bayiti oba ebitundu eby'emboozi ssi lutuufu" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "olubu olutaliko kkomo terukkirizibwa: -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "olubu olw'ebigenda bikendeera terukkirizibwa" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "bayiti ey'okutandikirako %s eyitiridde okubeera ewala" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "ekitundu eky'emboozi eky'okutandikirako %s kiyitiridde okubeera ewala" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "okkirizibwa okulagira ekika eky'olukalala kimu kyokka" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "akabonero akaawuluzi kateekwa okubeera ennukuta emu" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "" "oteekwa okuwayo olukalala olwa bayiti, ennukuta, oba ebitundu eby'emboozi" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "tokkirizibwa okutegeka akabonero akaawuluzi mu biyingizibwa\n" "okuggyako nga ogenda kukola ku firidi" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "tekigassa okulagira enyiriri ezit'awuluzidwamu zireme okulagibwa,\n" "okuggyako nga okola ku firidi" #: src/cut.c:870 msgid "missing list of fields" msgstr "kubuzzeeko olukalala lwa firidi" #: src/cut.c:872 msgid "missing list of positions" msgstr "kubuzzeeko olukalala olw'ebifo" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Enkola eri: %s [KAWAYIRO]... [+NTEREEZA]\n" " oba: %s [-u|--utc|--universal] [MMLLssdd[[KK]MkMk][.sksk]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FAYIRO Buno bukireetera okuwandika obudde FAYIRO\n" " kweyasembera okukyusakyusibwamu\n" " -R, --rfc-2822 Buno bukireetera okuwandika obudde mu mpandikaa\n" " eya RFC-2822\n" " Okugeza: Bal, 07 Agu 2006 12:34:56 -0600\n" #: src/date.c:147 #, fuzzy msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TTUUSO Kano kakireetera okuwandika budde mu mpandika\n" " eya RFC-3339.\n" " Bw'ob'oyagala ekiragiro kiragebulazi nnaku,\n" " tegeka TTUUSO kibe 'date', okufuna ne ssaawa\n" " n'obusikonda TTUUSO kiba 'seconds' ate okulaga\n" " n'obutundutundu bwa sikonda TTUUSO kiba 'ns'.\n" " -s, --set=BUDDE Buno bukireetera okutegeka obudde bubeere BUDDE\n" " -u, --utc, --universal Buno bwo bukireetera okuwandika oba okukolera " "ku\n" " budde obwa UTC\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "MPANDIKA kifuga engeri ebivaamu gyebiragibwaamu. Obuwayiro bwonna ekiragiro\n" "bwe kitegeera ng'okukiyisa mu ngeri ey'okubiri buleetera obudde\n" "okwesigamizibwa ku UTC. Obubonero ekiragiro bwekisobola okuvvuunula buli:\n" "\n" " %% Kiteekeewo %\n" " %a Kiwandike ekifunze eky'olunaku olwa mu sande\n" " (San..Lw6)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A Erinnya ery'olunaku olwamu sande mu bujjuvu,\n" " obuwanvu bwago ssi kya tteeka okwenkanankana\n" " (Sande Lwamukaaga)\n" " %b Erinnya erifunze ery'omweezi (Jan..Des)\n" " %B Erinnya ery'omwezi mu bujjuvu, obuwanvu bwago " "ssi\n" " kya tteeka okwenknankana (Janwariyo..Desemba)\n" " %c Ennaku ez'omwezi n'obudde\n" " (Lw6 Nov 04 12:02:33 EST 1989)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C Ekyasa (omwaka nga gugabizidwa mu 100, ekivaamu\n" " ne kisalibwako obusoloobye ku namba enzijjuvu).\n" " Okugeza: 20 oba 21\n" " %d Ennaku ez'omwezi (01..31)\n" " %D Olunaku (mm/ll/MkMk), ekivaamu kiba nga\n" " eyataddewo %m/%d/%y\n" " %e Ennaku ez'omwezi, nga awandibadde zeero\n" " ezikulembedde waliwo mabanga ( 1..31)\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F Kyekimu ne %Y-%m-%d\n" " %g Omwaka, nga guwandikidwa ne digiti biri,\n" " ogugendana ne sande eya kakano okubeera eya %V " "mu\n" " mwaka\n" " %G Omwaka, nga guwandikidwa ne digiti nya, " "ogugendana\n" " ne sande eya kakano okubeera eya %V mu mwaka\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h Kyekimu ne %b\n" " %H Essaawa (00..23)\n" " %I Essaawa (01..12)\n" " %j Olunaku lwakumeka mu mwaka (001..366)\n" #: src/date.c:188 #, fuzzy msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k Essaawa ( 0..23)\n" " %l Essaawa ( 1..12)\n" " %m Omwezi (01..12)\n" " %M Dakiika (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n Kitandike olunyiriri lupya\n" " %N Nanosikonda (000000000..999999999)\n" " %p Akabonero akalaga bwa ku makya oba bwa lwaggulo " "mu\n" " nnukuta enkulu (mu locale nyingi kino kisigala\n" " kyereere)\n" " %P Akabonero akalaga bwa ku makya oba bwa lwaggulo " "mu\n" " nnukuta ento (mu locale nyingi kino kisigala\n" " kyereere)\n" " %r Essaawa, mu mbala eya saawa 12 (SS:dd:ss [AP]M)\n" " %R Essaawa, mu mbala eya saawa 24 (SS:dd)\n" " %s Busikonda obwakayita okuva ku\n" " '00:00:00 1970-01-01 UTC' (obusobozi buno " "buleetedwa\n" " aba GNU)\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S Busikonda (00..60); kyetaagisa okutuuka ku 60 " "mu\n" " kifo eky'okukoma ku 59 olw'okubeera nti " "kompyuta\n" " oluusi yesanga nga erina okuwagikawo kasikonda\n" " ak'enyongeza\n" " %t Omusittale\n" " %T Obudde, mu mbala eya ssaawa 24 (SS:dd:ss)\n" " %u Olunaku olwa sande (1..7); 1 kitegeeza Balaza\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U Ennamba eya sande mu mwaka singa esande " "ebalibwa\n" " nga etandikira ku lwa Ssande (00..53)\n" " %V Ennamba eya sande mu mwaka singa esande " "ebalibwa\n" " nga etandikira ku lwa Balaza (01..53)\n" " %w Olunaku olwa sande (0..6); 0 kitegeeza Ssande\n" " %W Ennamba eya sande mu mwaka singa esande " "ebalibwa\n" " nga etandikira ku lwa Balaza (00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x Engeri olunaku gye luwandikibwamu mu lokale eno\n" " (mm/ll/MM)\n" " %X Engeri essaawa gye ziwandikibwamu mu lokale eno\n" " (%H:%M:%S)\n" " %y Digiti ez'omwaka ezisembayo (00..99)\n" " %Y Omwaka (1970...)\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z Kiraga enjawulo wakati w'essaawo kompyuta\n" " kw'ekolera n'eza UTC, mu ngeri eya '+ssdd'\n" " (okugeza +0100) \n" " %:z Kiraga enjawulo wakati w'essaawo kompyuta\n" " kw'ekolera n'eza UTC, mu ngeri eya '+ss:dd'\n" " (okugeza +01:00) \n" " %::z Kiraga enjawulo wakati w'essaawa kompyuta\n" " kw'ekolera n'eza UTC, mu ngeri eya '+ss:dd:ss'\n" " (okugeza +01:00:00) \n" " %:::z Kiraga enjawulo wakati w'essaawa kompyuta\n" " kw'ekolera n'eza UTC, mu ngeri eragako\n" " obutundutundu obwetaagisa bwokka\n" " (okugeza +01 oba +05:30)\n" " %Z Kiwandikawo omulamwa okwesigamwako okubala " "obudde\n" " (Okugeza EST oba UTC), oba kisigala kyereere " "singa\n" " tekisoboka okuguzuula\n" "\n" "'date', mu ebya bulijjo, bw'ebeera ewandika obudde ennamba ezisookerwako " "digiti emu yokka ez'ongerako zeero ekulembedde.\n" #: src/date.c:230 #, fuzzy msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Osobola okussa kamu ku buno obutuuti obuddako mu\n" "makkati w'akabonero `%' n'akabonero akufuga endagaeya namba:\n" "\n" " - (musittale) Ekiragiro olwo tekijjuzamu ekifo\n" " ekikulembera namba ezisookerwako digiti emu yokka\n" " _ (musittale ogwa wansi) Olwo ekiragiro kiteekawo\n" " mabanga mu maaso ga namba ezisookerwako digiti emu\n" " yokka\n" " 0 (zeero) Olwo ekiragiro kiteekawo zi zeero mu maaso\n" " ga namba ezisookerwako digiti emu yokka\n" " ^ Kano kaleetera ekiragiro okukozesa nnukuta nnene we\n" " kisobokera\n" " # Kano kaleetera ekiragiro okukozesa nnukuta nnene we\n" " kyanditadde ntono ate ne kiteekawo ntono we kyanditadde\n" " nnene\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Agumenti efuga obungi bw'ebifo mu bitundu eby'ennyiriri ez'ebivaamu\n" "edda ku butuuti, bw'obanga wataddewo ko. Agumenti eyo eba nnamba ya\n" "mu nnenga kkumi. Osobola obutagiteekawo. Agumenti eyo osobola\n" "okugigobereza endala efuula ekika ky'ennamba z'okkirizibwa okukozesa:\n" "'E' ekukkiriza okukozesa empandika ez'ennamba lokale yo z'etegeera.\n" "'O' ekukkiriza obubonero obw'ennamba obw'enjawulo obuli mu lokale yo.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "ennono eya bulijjo" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "obudde, %s, tebukkirizibwa" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "olagide empandika z'ebivaamu ezisoba mu emu" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "pulogulamu ekukkiriza okuwa akawayiro akalonda ennaku zennyini\n" "ez'okulaga kamu kokka" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "tekikkirizibwa okuweera awamu obuwayiro obuteeka obudde n'obwo obulaga obudde" #: src/date.c:458 #, fuzzy, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "agumenti %s ebulako ka '+' akakulenbera;\n" "Bw'obanga okozesezza akawayiro okufuga empandika\n" "y'ebiseera, agumenti endala ezitali buwayiro ziteekwa\n" "kusookerwako ka '+'" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "nemedwa okuteeka ennaku" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "obudde %s tebumanyidwa" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [EKIKOLEBWAKO]...\n" " oba: %s KAWAYIRO\n" #: src/dd.c:526 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Ekiragiro kino kiggya kkopi mu fayiro, koppi eyo nga kiyinza " "n'okugifuulamu.\n" "Okufuula okwo kufugibwa ebikolebwako bino:\n" "\n" " bs=BAYITI Kano kakireetera okusomanga bayiti BAYITI\n" " n'okuwandikanga bayiti BAYITI ku buli muku\n" " Kyekimu n'okutegeka 'ibs=BAYITI' ne " "'obs=BAYITI'\n" " cbs=BAYITI Kano kakireetera okufuulangayo bayiti BAYITI ku\n" " buli muku\n" " conv=BIGAMBO_BYAWULE Kano kakireetera fayiro okugifuula nga " "kifugibwa\n" " ebigambo ebyawule ebyawulidwannganidwa zi ','\n" " ebiri mu lukalala BIGAMBO_BYAWULE\n" " count=BULOKA Kano kakireetera okukoppako buloka ez'omu biva " "ku\n" " nnono BULOKA zokka\n" " ibs=BAYITI Kano kakireetera okusomanga bayiti BAYITI ku\n" " buli muku\n" #: src/dd.c:535 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FAYIRO Kano kakireetera okusoma mu FAYIRO mu kifo ekya\n" " kulinda ebiva ku 'stdin'\n" " obs=BAYITI Kano kakireetera okuwandikanga bayiti BAYITI ku\n" " buli muku\n" " of=FAYIRO Kano kakireetera okuwandika mu FAYIRO mu kifo\n" " kya stdout\n" " oflag=LUKALALA Kano kakireetera okuwandika mu mpandika " "efugibwa\n" " obubonero obuli mu LUKALALA. Obubonero buno\n" " bwawulannganibwa bu ','\n" " seek=BULOKA Bwe kibeera kitandika okubaako bye kifulumya,\n" " kano kakireetera okubuukako buloka BULOKA " "ezirimu\n" " bayiti 'obs' ezisooka\n" " skip=BULOKA Kano kakireetera okubuukako buloka BULOKA " "ezirimu\n" " bayiti 'ibs' ezisooka mu biva ku nnono \n" " status=noxfer Kano kakireetera butalaga bifa ku mulimu\n" " ogw'okukola koppi\n" #: src/dd.c:546 #, fuzzy msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Emiwendo BULOKA ne BAYITI gisobola okubeerako obukomekkereza buno obulaga\n" "obunene bwa gyo:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" "GB 1,000,000,000, G 1,073,741,824, ko ne T, P, E, Z, Y bwebutyo.\n" "BIGAMBO_BYAWULE bisobola okubeera:\n" "\n" #: src/dd.c:555 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii Ebiri mu EBCDIC kibikyuse bibeere mu ASCII\n" " ebcdic Ebiri mu ASCII kibikyuse bibeere mu EBCDIC\n" " ibm Ebiri mu ASCII kibikyuse bibeere mu EBCDIC\n" " block Ebiwandise ebikomekkerezedwa akabonero aka\n" " lunyiriri lupya kizongereko amabangirizi\n" " obunene bwazo busobole okutuuka ku 'cbs-size'\n" " unblock Ebiwandise ebiweza obunene obwa `cbs-size', nga\n" " ate bikomekkerezebwa mabangirizi, amabangirizi\n" " ago kigaggyeewo kizzewo akabonero aka lunyiriri\n" " lupya\n" " lcase Ennukuta ennene kizifuule entono\n" " ucase Ennukuta entono kizifuula nnene\n" " swab Buli bayiti ebbiri kiziwanyisa bifo bya zo\n" " sync Buli buloka ey'ebiva ku nnono obune bwa yo\n" " kibutuuse ku obwa 'ibs' nga kyeyambisa NUL;\n" " akawayiro kano bwe kakozesebwa awamu ne\n" " 'block' oba 'unblock', kikozeseemu\n" " mabangirizi mu kifo ekya zi NUL\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl Singa kisangawo fayiro ey'ebivaamu\n" " eyakolebw'edda, omulimu kiguvaako\n" " nocreat Tekikolawo fayiro egendamu ebivaamu\n" " notrunc Fayiro ekolebwawo tekigisalako\n" " noerror Ne bwe kisanga kiremya mu kusoma, kireme\n" " okuyimiriza omulimu\n" " fdatasync Kano kakikaka okukaza buli ekiri mu ggwanika\n" " zzibizi nga kigenda kumala omulimu\n" " fsync Kano kakikaka okukaza buli ekiri mu ggwanika\n" " zzibizi nga kigenda kumala omulimu. Kigattako\n" " n'okukaza meta-data wakwo.\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Obubonero obukkirizibwa okukola ng'obutuuti buli:\n" "\n" " append Kano kaleetera ekiragiro okukola ne bwe wabawo\n" " puloguramu endala ewandika ebintu mu fayiro y'emu.\n" " Tekagasa ku mirimu egikola ku biyingizibwa.\n" " Kusaana kubaako n'akawayiro conv=notrunc.\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr "" " cio Emirimu egy'okusoma n'okuwandika\n" " tebigaana omulimu ogubileesewo ate\n" " kukola n'ebirala mu kiseera kye kimu\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr "" " direct Kano kasobozesa ebiyingizibwa\n" " n'ebivaamu butasooka kugendako\n" " mu ggwanika zzibizi\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr "" " directory Kano kaleetera omulimu okugaana\n" " ekikolebwako bwe litaba tterekero\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr "" " dsync Kano kaleetera data okukolebwako\n" " mu ngeri etakkiriza mulimu kukola\n" " birala okutuusa nga ebisomebwa\n" " oba ebiwandikibwa lwe biggwa mu\n" " ggwanika zzibizi\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr "" " sync Kano kakola nga dsync ne kagattako\n" " nti ne meta-data etwalibwamu\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr "" " fullblock Kano kakola nga kuliko n'aka 'iflag'.\n" " Kaleetera ekiragiro kumalanga kuweza buloka\n" " nzijjuvu ey'ebiyingizibwa eryoke ebikoleko\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr "" " nonblock Kano kaleetera data okukolebwako\n" " mu ngeri ekkiriza omulimu okukola\n" " birala nga ebisomebwa oba ebiwandikibwa\n" " tebinnaba kuggwa mu ggwanika zzibizi\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr "" " noatime Kano kaleetera omulimu\n" " butakyusa ebirambe\n" " eby'okubikoledwako\n" " ebiraga obudde lwe\n" " byasemba kukeberwa\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr "" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr "" " noctty Kano kakola nga ekikolebwako kiwandikiro.\n" " Kaleetera ekiragiro butakkiriza\n" " ekiwandikiro ekyo kukifuga\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr "" " nofollow Kano kakireetera kukola ku\n" " nnyunzi naye ne kitakola ku\n" " fayiro kw'egguka\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr "" " nolinks Kano kaleetera omulimu kugaana\n" " singa ennyunzi esangibwa nti\n" " egguka ku fayiro ezisukka mu\n" " emu nga tez'eyawuddeko\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr "" " binary Kano kakireetera kuyisa data\n" " nga ebya binariyo\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr "" " text Kano kakireetera kuyisa data\n" " nga ebitegeereka bantu\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" #: src/dd.c:625 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Bw'osindikira omulimu ogwa 'dd' ekiragiro ekya %s kiguleetera\n" "okusibamu ne gumala okuwandikira awasindikibwa bulijjo ebifa ku\n" "kiremya obungi obw'ebiwandise bye gwakasoma n'okuwandika. Ekyo bwe\n" "kiggwa omulimu gweyongerayo.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1. -kill $pid\n" " ebiwandise 10899206+0 bisomedwa\n" " ebiwandise 10899206+0 biwandikidwa\n" " bayiti 9387674624 (9.4 GB) zikoppedwa, sikonda 34.6279, 271 MB/s\n" "\n" "Obuwayiro buno bwe bukkirizibwa:\n" "\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "ebiwandise %<PRIuMAX>+%<PRIuMAX> bisomedwa\n" "ebiwandise %<PRIuMAX>+%<PRIuMAX> biwandikidwa\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "ekiwandise %<PRIuMAX> kitemedwamu\n" msgstr[1] "ebiwandise %<PRIuMAX> bitemedwamu\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "bayiti %<PRIuMAX> (%s) ekoppedwa" msgstr[1] "bayiti %<PRIuMAX> (%s) zikoppedwa" #: src/dd.c:720 msgid "Infinity B" msgstr "Infinity B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "mbikka fayiro egyibwamu ebiyingizibwa %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "mbikka fayiro egenzemu ebizzibwa %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "nnemedwa okuyimiriza O_DIRECT: %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "mpandika mu %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "ekikolebwako %s tekimanyidwa" #: src/dd.c:1218 msgid "invalid conversion" msgstr "okufuula kuno tekukkirizibwa" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "akatuuti akafuga ebiyingizibwa tekakkirizibwa" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "akatuuti akafuga ebivaamu tekakkirizibwa" #: src/dd.c:1227 msgid "invalid status flag" msgstr "akatuuti akalaga embeera tekakkirizibwa" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "namba %s tekkirizibwa" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "tekisoboka okugattika ebibiri ku {ascii,ebcdic,ibm}" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "tekisoboka okugattika block ne unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "tekisoboka kugattika lcase ne ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "tekisoboka kugattika excl ne nocreat" #: src/dd.c:1357 #, fuzzy, c-format msgid "cannot combine direct and nocache" msgstr "tekisoboka kugattika excl ne nocreat" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "kulabula: mpatanyizza ku kitali kituufu ku nnombe ekitawanya enkola\n" "ya lseek ku fayiro (%s) ey'ekika kya mt_type=0x%0lx -- kebera <sys/mtio.h>\n" "okulaba olukalala olwa zi mt_type" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s: sisobola kubuuka" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s: sisobola kufuna aw'okutandika kusoma" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "" "ennamba eraga ow'okutandika okusoma fayiro %s tejja mu ggwanika zzibizi" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" "kulabula: oluvanyuma lw'okulemererwa okusoma\n" "wazzewo n'ennamba eraga aw'okusoma etasoboka" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "tekisobose okuvvuunuka ekitali kituufu mu nnombe" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "ntegeka obutuuti obwa %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "" "%s: tekisobose okugenda ennamba\n" "eraga aw'okusoma w'egamba" #: src/dd.c:2133 #, fuzzy, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "" "ogw'okutemamu kutuuka ku bayiti %<PRIuMAX> gugaanye ku fayiro ey'ebivaamu %s" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "ku %s enkola eya fdatasync egaanye" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "ku %s enkola eya sync egaanye" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "nemedwa okubikkula %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "ennamba eraga aw'okusoma eyitiridde obunene: sisobola kutemamu okutuuka ku\n" "buloka eya seek=%<PRIuMAX> (bayiti-%lu)" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "" "ogw'okutemamu kutuuka ku bayiti %<PRIuMAX> gugaanye ku fayiro ey'ebivaamu %s" #: src/dd.c:2283 src/dd.c:2289 #, fuzzy, c-format msgid "failed to discard cache for: %s" msgstr "nnemedwa kukyusa kudda mu tterekero %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Sisitemu eya fayiro" #: src/df.c:175 msgid "Type" msgstr "Kika" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "buloka" #: src/df.c:181 msgid "Used" msgstr "Awakozese" #: src/df.c:184 msgid "Available" msgstr "Awate" #: src/df.c:187 msgid "Use%" msgstr "Enkozesa%" #: src/df.c:190 msgid "Inodes" msgstr "Inodi" #: src/df.c:193 msgid "IUsed" msgstr "Ezikozesedwa" #: src/df.c:196 msgid "IFree" msgstr "Ente" #: src/df.c:199 msgid "IUse%" msgstr "Enkozesa%" #: src/df.c:202 msgid "Mounted on" msgstr "Kiwangidwa ku" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "" #: src/df.c:390 #, fuzzy, c-format msgid "option --output: field '%s' used more than once" msgstr "kulabula: fayiro ey'ensibuko %s eweredwa emirundi egisukka mu gumu" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Bunene" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Awate" #: src/df.c:474 msgid "Capacity" msgstr "eziriwo" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "" #: src/df.c:1210 #, fuzzy msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Ekiragiro kino kiwandika ebifa ku sisiemu eya fayiro FAYIRO kweri,\n" "oba ebifa ku sistemu eza fayiro zonna.\n" "\n" #: src/df.c:1217 #, fuzzy msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all Obuwayiro uno bukireetera okukola ne ku sistemu " "eza\n" " fayiro ezirimu buloka 0\n" " -B, --block-size=BUNENE Buno bukireetera okuwandika obunene bwa buloka " "mu\n" " birengo ebya bayiti BUNENE. Okugeza bw'ossawo '-" "BM'\n" " ekiragiro obunene kibuwandikira mu birengo ebya\n" " bayiti 1,048,576. Empandika ya BUNENE " "enonyolebebwa\n" " mu bijja mu maaso\n" " --total Kano kakireetera okuwandika omugatte gw'obunene " "bwa\n" " bye kikozeko\n" " -h, --human-readable Buno bukireetera obunene okubulaga mu ngeri\n" " etegeereka abantu (e.g., 1K 234M 2G)\n" " -H, --si Buno kyekimu, naye kikolera mu birengo bya 1000 " "mu\n" " kifo kya bya 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes Buno bukireetera okulaga ebifa ku inoda mu kifo\n" " kya bya nkozesa ya buloka\n" " -k Kino kye kimu ne --block-size=1K\n" " -l, --local Buno bukireetera okulaga ebifa ku sisitemu ya\n" " fayiro ey'oku lusegere yokka\n" " --no-sync Bwe kibeera kigenda okuwanuza ebifa ku nkozesa,\n" " kano kakireetera butasooka kutandika gwa " "'sync',\n" " (eno y'enkola eya bulijjo)\n" #: src/df.c:1234 #, fuzzy msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " -P, --portability Buno bukireetera ebivaamu okubitereeza mu ngeri\n" " eya POSIX\n" " --sync Kano kakireetera okitandika ogwa 'sync' nga\n" " tekinnaba okuwanuza ebifa ku nkozesa\n" " -t, --type=KIKA Buno bukireetera okulaga ebifa ku sisitemu eza\n" " fayiro ez'ekika kya KIKA zokka\n" " -T, --print-type Buno bukireetera okulaga ekika ekya sistemu ya\n" " fayiro\n" " -x, --exclude-type=KIKA Buno bukireetera okulaga ebifa ku sistemu eza\n" " fayiro zo zokka ezitali za kika kya KIKA\n" " -v (Kano tekakolebwako)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" #: src/df.c:1285 #, fuzzy, c-format msgid "options %s and %s are mutually exclusive" msgstr "obuwayiro --compare (-C) ne --strip tebukolagana" #: src/df.c:1335 #, fuzzy msgid "warning: " msgstr "Kulabula: " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "" "sisitemu eya fayiro ey'ekika %s elondedwa nga\n" "mu kiseera kye kikimu egyidwamu" #: src/df.c:1500 msgid "Warning: " msgstr "Kulabula: " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "nnemedwa okusoma endagiriro eya sistemu eza fayiro eziwangidwa" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "tewali sisitemu eya fayiro ekoledwako" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Ekiragiro kino kiraga ebiragiro ebitegeka ekikongozzi LS_COLORS.\n" "\n" "Ekiragiro kino kisalawo enfaanana ey'ebinavaamu.\n" " -b, --sh, --bourne-shell Obuwayiro buno bukireetera okulaga ebiragiro\n" " ebitegeka ekigambo LS_COLORS ebikolera mu\n" " nzivvuunuzi ey'ekika kya Bourne\n" " -c, --csh, --c-shell Buno bukireetera okulaga ebiragiro ebitegeka\n" " LS_COLORS ebikolera mu nzivvunuzi ey'ekika kya " "C\n" " -p, --print-database Buno bwo bukireetera okulaga ebiragiro ebya " "bulijjo\n" #: src/dircolors.c:108 #, fuzzy msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "'dircolors' bw'eba eragidwa okukozesa FAYIRO, eyo gy'esoma okumanya langi\n" "z'enekozesa okulaga buli kika ekya fayiro. FAYIRO bw'ebeera teyalagidwa,\n" "'dircolors' ekozesa fayiro eyaggira mu muganda ogwa 'coreutils'.\n" "Bw'obeera oyagala okumanya entereeza eya fayiro zino, tandka ogwa\n" "'dircolors--print-database'.\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s: %lu: lunyiri lusobi; lubulako tokeni eyakubiri" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu: kigambo ekyawule %s tekitegeerese" #: src/dircolors.c:359 msgid "<internal>" msgstr "<kya munda>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "'dircolors' bw'obeera ogiragidde okuzza ebiragiro ebya mu\n" "fayiro eyajjiramu mu muganda ogwa 'coreutils' tejja ate\n" "okukkiriza empandika ey'ebiragiro ekozesebwa enzivvuunuzi" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "bw'obanga otaddeko akawayiro --print-database (-p) tosobola\n" "okussaako ne fayiro ez'okukolebwako" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "kubuzeeko ekikongozzi NZIVVUUNUZI, oba wakiri akawayiro akategeka\n" "ekika kya nzivvuunuzi" #: src/dirname.c:50 #, fuzzy, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... LINNYA...\n" #: src/dirname.c:54 #, fuzzy msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Ekiragiro kino kiraga ekitundu ekya LINNYA ekirimu amannya ag'amaterekero\n" "kyokka, nga ka \"/\" akasembayo tekaliiko. LINNYA bwe kiba nga temuli zi\n" " \"/\", ekiragiro kiwandika '.' (ekitegeeza nti ekisigaddewo lye tterekero\n" "ekiragiro mwe kiyisidwa).\n" "\n" #: src/dirname.c:59 #, fuzzy msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -0, --null Bw'ossawo kamu ku buno bukireetera okussawo bayiti eya 0 " "ku\n" " nkomerero ya buli lunyiyiri lwe kiwandika, mu kifo\n" " eky'akabonero aka bulijjo\n" #: src/dirname.c:64 #, fuzzy, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Eby'okulabirako:\n" " %s /usr/bin/ kivaamu \"/usr\".\n" " %s stdio.h kivaamu \".\".\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]...\n" " oba: %s [KAWAYIRO]... --files0-from=F\n" #: src/du.c:274 #, fuzzy msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Ekiragiro kino kiwandika, mu bufunze, ekitundu ekya disiki buli\n" "FAYIRO ky'emalawo. Bwe liba ttereko ekiragiro kikebera ne fayiro ezilirimu.\n" "\n" #: src/du.c:280 #, fuzzy msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -a, --all Kamu ku buno bw'okassaako, ekiragiro kiraga\n" " ebifunidwa ku fayiro zonna, ssi materekero gokka\n" " --apparent-size kano kakireetera okulaga obunene obwa fayiro\n" " okusinzira ku bayiti ezigibalidwamu sso ssi\n" " ekifo ky'etwala ku disiki;\n" " Obunene buno butera okuba butono ku kifo fayiro\n" " ky'etwala. Wabula ku fayiro ez'empewo buyinza\n" " okuba nga bwe businga.\n" #: src/du.c:289 #, fuzzy msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=BUNENE Kamu ku buno bw'okassaako kikozesa buloka eziri\n" " mu bayiti BUNENE. Okugeza, '-BM' kakireetera\n" " okuwandika obunene mu birengo bya bayiti " "1,048,576.\n" " Ebifa ku mpandika ya BUNENE biri mu biddirira.\n" " -b, --bytes Obunene kibulagira mu bayiti, nga eyataddeko " "obuwayiro\n" " '--apparent-size --block-size=1'\n" " -c, --total Kiraga omugatte\n" " -D, --dereference-args Ku nyunzi ez'eyawudde, kizzawo makubo genyini\n" #: src/du.c:302 #, fuzzy msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F Kano kaleetera ekiragiro okukola ku fayiro eziri\n" " ku lukalala mu fayiro F. Mu lukalala olwo, " "amannya\n" " ga fayiro gawandikibwa nga gonna g'ongezedwako\n" " bayiti eya zero (NUL) ku nkomerero zago.\n" " F bwe kiba '-' ekiragiro kikola ku mannya\n" " agawandikidwa bwegatyo awayingizibwa awa bulijjo\n" " -H Ekiva mu kuteekawo kano kye kimu n'ekivaamu nga\n" " otaddewo aka --dereference-args (-D)\n" " -h, --human-readable Obunene kibulaga mu ngeri omuntu gy'ategeera\n" " (okugeza: 1K 234M 2G)\n" " --si Kano kakola nga -h naye emirengo gib gya 1000 mu\n" " kifo kya 1024\n" #: src/du.c:310 #, fuzzy msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k Kye kimu ne --block-size=1K\n" " -l, --count-links Bwe kisanga nyunzi et'eyawudde, kigibala\n" " nga fayiro ezisoba mu emu\n" " -m Kye kimu ne --block-size=1M\n" #: src/du.c:316 #, fuzzy msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -L, --dereference Buno bukireetera okulondoolanga nnyunzi\n" " ez'eyawudde kikole ku fayiro kwe zigguka\n" " -P, --no-dereference Buno bukireetera nyunzi ey'eyawudde egguka ku\n" " tterekero okugitwalanga nga fayiro eya bulijjo\n" " -0, --null Buno bukireetera okukomekkerezanga buli lunyiriri\n" " lwe kiwandika ne bayiti eya 0 mu kifo " "ky'akabonero\n" " akalagira okukolawo olunyiriri olupya\n" " -S, --separate-dirs Buno bukireetera butalaga bunene bwa materekero\n" " agali munda mwa gannago\n" " -s, --summarize Buno bukireetera okulagabulazi emigatte gya " "fayiro\n" " ezimenyedwa mu agumenti\n" #: src/du.c:322 #, fuzzy msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " --time Kano kakireetera okulaga obudde lwe wasemba\n" " okubawo fayiro ekyusibwako mu tterekero n'ago\n" " agaliri munda\n" " --time=KIGAMBO Mu kifo eky'okulaga obudde fayiro kwe yasembera\n" " okukyusibwako, kiraga obudde obwa KIGAMBO, nga\n" " KIGAMBO kiri kimu ku:\n" " atime, access, use, ctime ne status\n" " --time-style=MUSONO Obudde kibulaga mu musono MUSONO, nga MUSONO kimu " "ku:\n" " full-iso, long-iso, iso, locale, +EMPANDIKA\n" " EMPANDIKA kikitegeera nga ekiragiro 'date' bwe\n" " kikitegeera\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" #: src/du.c:386 #, fuzzy msgid "Infinity" msgstr "Infinity B" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "" #: src/du.c:624 #, fuzzy, c-format msgid "fts_read failed: %s" msgstr "fts_read eremedwa okuzuula ebikwata ku fayiro" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "tekikkirizibwa okukka ku mutendera %s gw'oyagala" #: src/du.c:809 #, fuzzy, c-format msgid "invalid --threshold argument '-0'" msgstr "agumenti eya --%s, %s tekkirizibwa" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "" "tekisoboka okulaga mu bufunze ate mu kiseera kye kimu okulaga mu bujjuvu" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "Kulabula: okufunza kye kimu n'okukozesa --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "Kulabula: okulagira kuwandika mu bufunze kikontana ne --max-depth=%lu" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" "tosobola okussawo aka --files0-from ate n'oteekawo ne fayiro ez'okukolako" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s: wazzewo kiremya mu kusoma" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "ekiragiro bwe kiba nga kya kusoma amannya aga fayiro akova ku stdin,\n" "erinnya %s terikkirizibwamu" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "erinnya lya fayiro terikkirizibwa kusigala lyereere" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "omugatte" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO-AKAFUNZE].. [KIGAMBO]...\n" " oba: %s KAWAYIRO-AKAJJUVU\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Ekiragiro kino kiwandika buli KIGAMBO awateekebwa\n" "ebivaamu ebya pulogulamu mu ebya bulijjo.\n" "\n" " -n Kano kakireetera obutassangawo nnukuta elagira\n" " okukolawo olunyiriri olupya ku nkomerero z'ennyiriri\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e Kano kakireetera nnukuta ez'enjawulo ezisookedwako\n" " obusaze obw'akaddanyuma okuziyisanga eza bulijjo\n" " (Enkola eya bulijjo)\n" " -E Kano kakireetera nnukuta ez'enjawulo ezisookedwako\n" " obusaze obw'akaddanyuma okusigala nga kiziyisa nga\n" " ez'enjawulo\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e Kano kakireetera nnukuta ez'enjawulo ezisookedwako\n" " obusaze obw'akaddanyuma okuziyisanga eza bulijjo\n" " -E Kano kakireetera nnukuta ez'enjawulo ezisookedwako\n" " obusaze obw'akaddanyuma okusigala nga kiziyisa nga\n" " ez'enjawulo\n" " (Enkola eya bulijjo)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Ekiragiro bwe kiba kikolera ku nkola ereetebwawo akawayiro aka -e,\n" "kitegeera ennukuta n'ebigoberagana bino ebiddako:\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ Ekiragiro kiwandika akasazze ak'akaddannyuma\n" " \\a Ekiragiro kireetawo okulabula ('akade' aka mu kompyuta kavuga)\n" " \\b Ekiragiro kisiimuulawo ennukuta gye kisembyeyo okuwandika\n" " \\c Bwe kimalayo olunyiriri tekidda ku lupya\n" " \\e Ekikolwa ekireetebwawo okunyiga eppeesa lya 'Escape'\n" " \\f Buuka olunyiriri\n" " \\n Tandika olunyiriri olupya\n" " \\r Dda ku ntandikwa ey'olunyiriri\n" " \\t Luseetuka olw'omu bugazi\n" " \\v Luseetuka olw'omu busimba\n" #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN Ekiragiro kiwandika ennukuta eva mu namba eya ASCII NNN\n" " (eya ki-okita nga ya digiti 1, 2 oba 3)\n" " \\xHH Ekiragiro kiwandika ennukuta eva mu namba eya ASCII HH\n" " (eya ki-hekisi nga ya digiti 1 oba 2)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" "Enkozesa entuufu eri:\n" "%s [KAWAYIRO]... [-] [KIGAMBO=EKIKONGOJJEDWA]... [KIRAGIRO [AGU]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" #: src/env.c:61 #, fuzzy msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" "Kino mu enviromenti, kitegekamu KIGAMBO kigongojje EKIKONGOJJEDWA,\n" "oluvannyuma ne kiyisa KIRAGIRO.\n" "\n" " -i, --ignore-environment Bw'ossaawo kamu ku buno enviromenti esikidwa\n" " eviibwako ne waddawo endala nga njereere,\n" " etaliimu bigambo etaliimu bigambo bya mu\n" " ebirina bye bikongojja\n" " -0, --null Buno bukireetera okussawo bayiti eya 0 ku\n" " nkomerero ya buli lunyiyiri lwe kiwandika, mu\n" " kifo eky'akabonero aka bulijjo\n" " -u, --unset=KIGAMBO Buno bw bukireetera okuggyamu KIGAMBO mu\n" " nviromenti - ekigambo ekyo kibe nga tekirina\n" " bye kikongojja\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Bw'oteekawo ka '-' kokka, kirina amakulu ge gamu n'okuteekawo -i.\n" "Bw'otoyongerako KIRAGIRO, env ewandika ebifa ku enviromenti\n" "ekoledwawo.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "sisobola okugyamu ekigambo %s mu nviromenti" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "sisobodde okutegeka kigambo %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "aka '--null' ( oba '-0') takgendera ku kiragiro" #: src/expand.c:107 #, fuzzy msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino, ebiri mu buli FAYIRO ekiweredwa, kibiwandikira awateekebwa\n" "ebiva mu pulogulamu mu ebya bulijjo nga bwe kisangamu enseetuka kizifuula\n" "mabanga. Bwe kitawebwa FAYIRO, oba bwe kiwebwa ka '-', kiwandika ebivudde\n" "ku nyingiza eya bulijjo.\n" "\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial Buno bukireetera okufuulako oluseetuka lwe kisooka\n" " okusanga lwokka. Zonna ze kisanga nga kimaze ate\n" " okusanga obubonero obutakolawo mabanga kizireka\n" " -t, --tabs=BUNGI Buno bukireetera obuwanvu bw'enseetuka\n" " okubw'enkanya obubonero BUNGI mu kifo kya 8 eza\n" " bulijjo\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LUKALALA Buno buleetera amabanga wakati w'enkumbo\n" " eziddirinngana okubeera nseetuka, obuwanvu bwazo\n" " nga ze nnamba ez'omu LUKALALA ez'awuludwa zi ','\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "obunene, %s, obw'oluseetuka buyitiridde" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" "ekiweredwa nga obuwanvu obw'oluseetuka kirimu\n" "akabonero oba bubonero obutakkirizibwa: %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "oluseetuka telukkirizibwa okubeera ng'obuwanvu bwalwo buli 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "" "ennamba ez'obuwanvu obw'enseetuka zisengeke nga zigenda z'eyongera obunene" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "ebiyingizibwa birimu olunyiriri oluyitiridde obuwanvu" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s MBOOZI\n" " oba: %s KAWAYIRO\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Ekiragiro kino kiyungulula ekiva mu MBOOZI ne kikiwandikira awateekebwa\n" "ebivaamu ebya pulogulamu mu ebya bulijjo. MBOOZI kisobola okubeera:\n" "\n" " AGU1 | AGU2 Kitegeeza 'AGU1 oba AGU2'. Ekiragiro kivaamu AGU2 okujjako\n" " nga AGU1 eri 'null' oba 0, olwo ne kivaamu AGU1\n" "\n" " AGU1 & AGU2 Kitegeeza 'AGU1 ne AGU2'. Ekiragiro kivaamu 0 okujjako nga\n" " AGU2 oba/ne AGU1 ziri `null' oba 0, olwo kivaamu AGU1\n" "\n" "Ekiragiro bwe kisanga obubonero | ne & mu mboozi y'emu, kisooka okukola ku " "&\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " AGU1 < AGU2 'AGU1 ntono ku AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera\n" " ntono okusinga AGU2. Bwe kitaba kituufu, kivaamu 0\n" " AGU1 <= AGU2 'AGU1 ntono oba yenkana AGU2'. Ekiragiro kivaamu 1 AGU1\n" " bw'ebeera ntono oba nga yenkana AGU2. Bwe kitaba kituufu\n" " kivaamu 0\n" " AGU1 = AGU2 'AGU1 yenkana AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera\n" " yenkana AGU2. Bwe kitaba kituufu kivaamu 0\n" " AGU1 != AGU2 'AGU1 teyenkana AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera\n" " teyenkana AGU2. Bwe kitaba kituufu kivaamu 0\n" " AGU1 >= AGU2 'AGU1 yenkana oba esinga ku AGU2'. Ekiragiro kivaamu 1 AGU1\n" " bw'ebeera yenkana oba nga esinga ku AGU2. Bwe kitabeera\n" " kituufu kivaamu 0\n" " AGU1 > AGU2 'AGU1 esinga ku AGU2'. Ekiragiro kivaamu 1 AGU1 bw'ebeera\n" " esinga ku AGU2. Bwe kitaba kituufu, kivaamu 0\n" "\n" "Ekiragiro kisooka okukola ku bubonero <, <=, =, !=, >=, oba > bwe kibusanga\n" "mu mboozi y'emu ne | ne & .\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " AGU1 + AGU2 Kiraga ekiva mu kugatta AGU1 ne AGU2 mu ngeri eya mu kubala\n" " AGU1 - AGU2 Kiraga ekiva mu kutoola AGU2 ku AGU1 mu ngeri eya mu kubala\n" "\n" "Ekiragiro kisooka okukola ku bubonero buno obuddako bwe kibusanga mu mboozi\n" "y'emu n'obwo obukulembedde mu lakalala\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " AGU1 * AGU2 Kiraga ekiva mu kukubisa AGU1 mu AGU2 mu ngeri eya mu\n" " kubala\n" " AGU1 / AGU2 Kiraga ekiva mu kugabiza AGU2 mu AGU1 mu ngeri eya mu\n" " kubala\n" " AGU1 % AGU2 Kiraga ekisigalawo nga ogabizza AGU2 mu AGU1 mu ngeri eya\n" " mu kubala\n" "\n" "Ekiragiro kisooka okukola ku bubonero buno obuddako bwe kibusanga\n" "mu mboozi y'emu n'obwo bwonna obukulembedde mu lakalala\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " KIGAMBO : ENOONYA 'ENOONYA' enoonya ekiwandiko ekinooyezebwa\n" " eky'akakwakkulizo mu KIGAMBO\n" "\n" " match KIGAMBO ENOONYA Kye kimu ne KIGAMBO : ENOONYA\n" " substr KIGAMBO KIFO BUWANVU Ekiragiro kiraga akatundu aka KIGAMBO akava\n" " ku nukuta ey'omu KIFO. Akatundu bwe kasukka\n" " mu ennukuta BUWANVU ekiragiro tekiraga\n" " ennukuta ezo ezisigaddeyo.\n" " index KIGAMBO BUBONERO Ekiragiro kiraga ekifo mu KIGAMBO we " "kisookera\n" " okusanga kamu ku BUBONERO. Bwe kitasangamu " "kamu\n" " ku BUBONERO obwo, kivaamu 0\n" " length KIGAMBO Ekiragiro kiraga obuwanvu obwa KIGAMBO\n" #: src/expr.c:251 #, fuzzy msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKENI TOKENI etwalibwa nga ennukuta engattike eza\n" " bulijjo ne bw'ebeera ekigambo ekyawulemu nga,\n" " 'match', oba ekifuula, nga '/'\n" " \n" "\n" " ( EMBOOZI ) Ekivaamu kya EMBOOZI\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Genderera nti enzivvuunuzi z'etaaga ebifuula bingi bibeere nga bisumuludwa\n" "okuva ku nkola zabyo eza bulijjo, oba biwandikibwe nga biri wakati\n" "w'obwogeza,\". Bwe wabeerawo eby'okugeraageranya zi-agumenti, " "okugeraagerana\n" "okwo kugoberera enkolaeya mu kubala singa agumenti zombi zibeera ennamba.\n" "Agumenti bwe zitaba nga zombi nambaokugeraageranya kukolebwa ku mateeka\n" "ag'okusengeka ebigambo.\n" "Mu eby'okunoonya ebiwandiko ebinoonyezebwa, ekivaamu kiragibwa nga kiri " "wakati\n" "w'obubonero \\( ne \\), ebinoonyezebwa bwe bibula tewali kiragibwa. Singa\n" "obubonero obwo tebukozesebwa, okunoonya okwo kuvaamu ennamba eraga obungi\n" "obw'obubonero obufaanaganyizidwa. Bwe wabulawo akabonero konna akazuulidwa\n" "ekivaamu kibeera 0.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "EMBOOZI bw'ebaako ky'ezuula, ekyo nga ssi 0, emmala y'omulimu eba 0.\n" "EMBOOZI bw'ezuula 0 oba bw'eremwa okuzuula kyonna, emmala y'omulimu eba 1.\n" "EMBOOZI bw'eba nga ewandikidwa bubi emmala y'omulimu eba 2 ate bwe " "gutuukako\n" "kiremya emmala y'omulimu eba 3.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "Waliwo ekimenye amateeka ag'empandiika ey'ebiragiro" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "emboozi enoonya zinnewayo erimu ensobi" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "agumenti ssi namba nzijjuvu" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "waliwo okugabiza mu zero" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "okuvvuunuka kiremy'ono, tegeka nti LC_ALL='C'" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "ebigambo ebigerageranyizidwa biri %s ne %s." #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s tekkirizibwa nga ennamba esukka ku 0 etakolebwa ndala" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s: kiyitiridde obunene" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [NAMBA]\n" " oba: %s KAWAYIRO\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Ekiragiro kino kiwandika ennamba z'okubisa okufuna buli NAMBA enzijjuvu,\n" "nga zo tezirina ndala z'okubisa zo okuzikola.\n" "Ekiragiro bwe kiyisibwa nga tekuli agumenti, kikulinda okuziyingiza okuva\n" "awayingizibwa awa bulijjo.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "nemedwa okufuna rinnya ery'etterekero ekiragiro mwe kiweredwa" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "sisobala okubuuka kuyingira mu tterekero %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "nemedwa okukola stat ku etterekero ekiragiro mwe kiweredwa (%s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Enkozesa entuufu eri: %s [-BUWANVU] [KAWAYIRO]... [FAYIRO]...\n" #: src/fmt.c:271 #, fuzzy msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Ekiragiro kiwandika ebiri mu (zi)FAYIRO awalagibwa ebva mu pulogulamu\n" "awa bulijjo nga kisoose okukyusakyusa entereeza eya buli muko.\n" "Akawayiro -BUWANVU bwe bufunze obw'akawyiro --width=BUWANVU.\n" "\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin Bw'ossaawo kamu ku buno, tekikyusa amabanga " "agali\n" " ku ntandikwa ez'ennyiriri ezisooka ebbiri\n" " -p, --prefix=KIGAMBO Buno bukireetera okugatta ezo ennyiriri\n" " ezisookebwako KIGAMBO zokka\n" " -s, --split-only Buno bukireetera okukutulamu ennyiriri empanvu,\n" " ate bwe wasigalawo ebbanga ddene ne " "kitalijjuzamu\n" #: src/fmt.c:287 #, fuzzy, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph Buno buleetera ebbanga ku ntandikwa " "ey'olunyiriri\n" " olusooka obut'enkana n'ery'okuntandikwa\n" " ey'olw'okubiri\n" " -u, --uniform-spacing Buno buteekesawo akabanga kamu wakati " "w'ebigambo,\n" " ate ne wabaawo obubanga bubiri ku nkomerero\n" " ez'emboozi\n" " -w, --width=BUWANVU Bw'ossawo kamu ku buno, ennyiriri " "tezikkirizibwa\n" " okusukka BUWANVU (mu ebya bulijjo by'ebifo 75)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "akawayiro --%c tekakola; okutegeera ekya -BUWANVU, kiteekwa okuba nga\n" "ke kawayiro akasooka. Kozesaamu -w N, nga N bwe buwanvu bwe wetaaga." #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "obuwanvu obuweeredwa bulimu ensobi: %s" #: src/fold.c:70 #, fuzzy msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Ekiragiro kino kiwandika enyiriri ez'omu FAYIRO awateekebwa ebiva mu\n" "pulogulamu awa bulijjo, nga empanvu kizikutulamu.\n" "Bw'otokiraga FAYIRO, ekiragiro kiwandika ebiva awayingizibwa awa bulijjo.\n" "\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes Buno bikireetera okubala bayiti mu kifo\n" " eky'okubala ebifo ennukuta bye zitwala\n" " -s, --spaces Bw'ossaawo kamu ku buno ennyiriri kizikutulira\n" " awali obubanga\n" " -w, --width=BUWANVU Buno buviiramu obuwanvu obw'ennyiriri\n" " obustasukka ebifo BUWANVU, mu kifo kya\n" " 80 obwa bulijjo\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "obungi obw'ebifo: %s tebukkirizibwa" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Enkozesa entuufu eri: %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "nnemedwa okufuna guluupu ez'omukozesa %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "nnemedwa okufuna guluupu ez'omulimu ogubindabinda" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "" "nnemedwa okuzuula erinnya erigendera\n" "ku namba ya guluupu %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [MUKOZESA]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Ekiragiro kino kiwandika guluupu ez'oku sistemu MUKOZESA z'alimu.\n" "Bw'otolaga MUKOZESA gwe kiba kikebera, ekiragiro kiwansika guluupu\n" "ez'omukozesa oba puloguramu eyakiyisizza. Omukozesa oyo bw'aba\n" "nga yakyusiza mu guluupu ze okuva lwe yewandisa ku sisitemu, ekiragiro\n" "kino tekijjakumanya eri tekijjakuwandika ebiraga enkyuka - okujjako\n" "nga lubadde lukalala lw'abakozesa olukiragidwa. Olwo kiddamu kusoma\n" "fayiro ekwata ebifa ku bakozesa.\n" #: src/groups.c:105 src/id.c:233 #, fuzzy, c-format msgid "cannot get real UID" msgstr "nnemedwa okutegeka ennamba ey'omukozesa" #: src/groups.c:110 src/id.c:241 #, fuzzy, c-format msgid "cannot get effective GID" msgstr "nnemedwa okukola ku fayiro %s kw'egguka" #: src/groups.c:115 src/id.c:246 #, fuzzy, c-format msgid "cannot get real GID" msgstr "nnemedwa okutegeka ennamba ey'omukozesa" #: src/groups.c:128 src/id.c:206 #, fuzzy, c-format msgid "%s: no such user" msgstr "%s: omukozesa ono taliyo" #: src/head.c:109 #, fuzzy msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino kiwandika, awateekebwa ebivaamu ebya pulogulamu nu ebya\n" "bulijjo, ennyiriri 10 ezisooka eza mu buli FAYIRO.\n" "Singa FAYIRO zisukka mu emu, ekiragiro ebiva mu buli fayiro kibikulembeza\n" "erinnya erya fayiro eyo.\n" "Ekiragiro kino, bwe kitawebwa FAYIRO, oba singa FAYIRO = '-', kikola ku\n" "bivudde awayingizibwa awa bulijjo.\n" "\n" #: src/head.c:117 #, fuzzy msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K Bwe kubaako kamu ku buno, buli fayiro " "kiwandikako\n" " bayiti zaayo ezisooka K; K bw'ekulemberwa '-',\n" " kiwandika bayiti zonna okuggyako K ezisembayo\n" " -n, --lines=[-]K Bwe kubaako kamu ku buno, mu kifo eky'okuwandika\n" " ennyiriri 10 ezisooka, kiwandika K ezisooka;\n" " K bw'ekulemberwa '-', kiwandika nnyiriri zonna\n" " okuggyako K ezisembayo\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent Buno bukireetera butakulembeza biggyidwa\n" " mu fayiro obutundu obulimu mannya gaazo\n" " -v, --verbose Buno bukireetera ebiggyidwa mu fayiro\n" " kubikulembezenga obutundu oulimu amannya\n" " gaazo\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "Ku K osobola okuwayirako akafundikwa akagibazzaamu:\n" "b 512, kB 1000, K 1024, MB 1,000,000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ko ne T, P, E, Z, Y bwebutyo.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s: fayiro ekendedde ekiyitiridde" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s: bayiti ziyitiridde obungi" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s: nnemedwa okukola lseek okudda awatandikidwa" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s: nnemedwa okukola lseek okudda ku awandikirwa awajjulule %s" #: src/head.c:673 #, fuzzy, c-format msgid "%s: failed to reset file pointer" msgstr "nnemedwa okugyawo %s" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" "sisobola kukyusa kifo ekikongojjedwa mu kigambo ekikwata ekifo mu fayiro " "kifuuke %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s: olw'obunene bwayo obusukkiridde, %s tesobola okulagibwa" #: src/head.c:886 msgid "number of lines" msgstr "obungi bw'ennyiriri" #: src/head.c:886 msgid "number of bytes" msgstr "obungi obwa bayiti" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "obungi obw'ennyiriri tebukkirizibwa" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "obungi obwa bayiti tebukkirizibwa" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "akawayiro -%c tekategreese" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]\n" "Ekiragiro kino kiwandika ennamba (mu ki-hekisi)\n" "eya kompyuta ennyunge kw'okiweredde.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s [LINNYA]\n" " oba: %s KAWAYIRO\n" "Ekiragiro kino kiwandika, oba kikyusa erinnya\n" "erya kompyuta ennyunge kw'okiweredde.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "sisobodde kutegeka erinnya libeere %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "sisobodde okyusa erinnya erya kompyuta ennyunge, sisitemu eno obwo obusobozi " "tebulina" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "sisobodde okuzuula erinnya erya kompyuta ennyunge" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [MUKOZESA]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Ekiragiro kino kiwandika ebikwata ku MUKOZESA, oba ku oyo aba akiyisizza.\n" "\n" " -a Akawayiro kano tekalina kye kakyusaako, kaliwo\n" " olw'eby'entabagana n'emitindo emilala egy'ekiragiro\n" " -Z, --context Buno bukireetera kukoma ku kuwandika endukusa eza\n" " SELinux ez'omukozesa akiyisizza\n" " -g, --group Buno bukireetera okuwandikako ennamba eya guluupu\n" " omukozesa gy'afaanana okuba nga gy'alimu yokka\n" " -G, --groups Buno bukiviiramu okuwandika nnamba eza guluupu zonna\n" " omukozesa z'alimu\n" " -n, --name Kamu ku buno bw'okassaawo, kiwandika linnya lya guluupu\n" " mu kifo ekya nnamba yaayo.\n" " Kano tekakola ku bwako, kateekwa okubaako n'akawayiro\n" " akalala ku -u, -g ne -G\n" " -r, --real Buno bwe kubaako, kiwandika nnamba ya guluupu " "ey'omukozesa\n" " ey'ennono.\n" " Kano tekakola ku bwako, kateekwa okubaako n'akawayiro\n" " akalala ku -u, -g ne -G\n" " -u, --user Buno bukireetera okuwandikako nnamba y'omukozesa\n" " gy'afaanana okuba nayo yokka\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Ekiragiro bwe kibulako AGUMENTI yonna, kiwandika ennamba ey'omukozesa\n" "ey'ennono n'ezo z'afaananabufaananyi okuba nazo, ennamba ya guluupu " "ey'ennono\n" "omukozesa gy'alimu ko n'eza guluupu z'afaananabufaananyi okubeeramu.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "akawayiro --context (oba -Z) k'etaaga ennombe nga etegeera SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "sisobola okuwandikawo endukusa eza SELinux ekiragiro\n" "bw'okiwerako n'erinnya lya mukozesa" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" "Akawayiro akaleetera ekiragiro okukoma ku kulaga\n" "ennamba ya mukozesa gy'afaanana okuba nga y'akiyisizza\n" "tekakola bw'obanga owaddeyo amannya agasukka mu limu" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "sisobola okuwandika mannya gokka oba ennamba ez'ennono\n" "zokka mu ntereeza eya bulijjo" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "omulimu nnemedwa okutegeera endukusa eza SELinux zagwo" #: src/id.c:224 #, fuzzy, c-format msgid "cannot get effective UID" msgstr "nnemedwa okukola ku fayiro %s kw'egguka" #: src/id.c:311 #, fuzzy, c-format msgid "cannot find name for user ID %s" msgstr "erinnya ery'omukozesa ow'ennamba %lu linnemye okuzuula" #: src/id.c:329 #, fuzzy, c-format msgid "uid=%s" msgstr "ennamba y'omukozesa=%lu" #: src/id.c:334 #, fuzzy, c-format msgid " gid=%s" msgstr "ennamba ya guluupu=%lu" #: src/id.c:341 #, fuzzy, c-format msgid " euid=%s" msgstr "ennamba omukozesa gyakolerako=%lu" #: src/id.c:349 #, fuzzy, c-format msgid " egid=%s" msgstr "ennamba eya guluupu ekolerwako=%lu" #: src/id.c:377 msgid " groups=" msgstr " guluupu=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " olukusa olwa SELinux=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "kulabula: %s: nnemedwa okukyusa olukusa lwa SELinux lufuuke %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "nkolawo etterekero %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "sisobola okukyusa obwanannyini ku %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "sisobola okuteeka wo ebilambe ebiraga %s we yakolebwawo" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "ekiragiro ekya sisitemu ekya \"fork\" kigaanye" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "nnemedwa okutandika ogwa %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "nnindirira mulimu ogwa strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "omulimu ogwa strip gukomye mu ngeri etali ya bulijjo" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "tewali akozesa gwe bayita %s" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] NNONO KIGENDERWA\n" " oba: %s [KAWAYIRO]... NNONO... TTEREKERO\n" " oba: %s [KAWAYIRO]... -t TTEREKERO NNONO...\n" " oba: %s [KAWAYIRO]... -d TTEREKERO...\n" #: src/install.c:601 #, fuzzy msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Ekiragiro kino kikoppa fayiro koppi ezo ne kizissa gy'oba oyagadde. Kitera\n" "kukozesebwa ku fayiro eza puloguramu eziva kukunngaanizibwa zigeteerebwa\n" "kompyuta. Bw'obeera ogenderera kuwanga puloguramu ezaakunngaanizibwa dda\n" "zikolere ku sisitemu eya GNU/Linux, kyandisinze singa okuzesa puloguramu\n" "ewanga zinnaayo. Okugeza nga eya yum(1) oba eya apt-get(1).\n" "\n" "Mu mpandika ezisooka essatu, NONO kigiggyamu kkopi, KIGENDERWA. NONO bwe\n" "zibeera zisoba mu emu kizikoppa kkopi ne zigenda mu TTEREKERO erimaze\n" "okukolebwawo.\n" "Bino kibikola nga bwe kiteeka ne obwananyini/guluupu n'obuyinza ku fayiro\n" "empya ezikoledwawo. Mu mpandika eyokuna, kikolawo (ma)TTEREKERO ne fayiro\n" "zonna ezinalibeera/gabeera mu\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=ENKOLA] Kano bw'okateekako, buli fayiro gye\n" " kiba kigenda okuwandika mu, kisooke\n" " okugiggyamu kkopi eya kwerinda\n" " -b Kye kimu ne --backup okuggyako nti\n" " tekikkirizibwa okwongerako agumenti\n" " -c (Kano akawyiro tekakyalina kye kakola)\n" " -C, --compare Buno bukireetera okusooka kugerageranya\n" " etterekero mwe kigenda okuggya koppi eya\n" " fayiro n'eryo mwe kigwnda okugissa.\n" " Emirundi egimu kiyinza but'etaagisa\n" " kutwalayo koppi.\n" " -d, --directory Buno bwo bukireetera okubala agumenti " "zonna\n" " eziddako okuzibala nga amannya " "g'amaterekero;\n" " kikolawo amaterekero agamenyedwa wano, ko\n" " ne fayiro ezaamu\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D Kano kakireetera okukolawo ebitundu ebya\n" " KIGENDERWA ebibereberye byonna okuggyako\n" " ekisembayo, kiryoke kikoppe ebiri mu NONO\n" " koppi zigende mu KIGENDERWA;\n" " kino kiyamba nga okozesa ntereeza esooka\n" " -g, --group=GULUUPU Buno bwo bukireetera okukyusa guluupu\n" " ey'ebiva mu mulimu ogugenda okukolebwa\n" " ebeere GULUUPU\n" " -m, --mode=NDUKUSA Buno bukireetera okukyusa ndukusa zifuuke\n" " NDUKUSA (nga eyakozesezza chmod), mu kifo\n" " kya rwxr-xr-x\n" " -o, --owner=NANYINI Obwananyinyi kibukyuse bubeere NANYINI\n" " (muteesiteesi yekka y'asobola okweyambisa\n" " akawayiro kano ne kakola)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps Buno bukireetera okufuula ebirambe\n" " ebiraga obudde fayiro empya lwe zasemba\n" " okubikkulwa oba okukyusibwako ne bifuuka\n" " bimu n'ebya fayiro eza NONO kwe zikoppedwa\n" " -s, --strip Buno bukireetera okuggyamu endagiriro\n" " ez'obubonero.\n" " --strip-program=PULOGURAMU Kano kategeka puloguramu en'ekozesebwa " "okugyamu\n" " endagiriro ez'obubonero\n" " -S, --suffix=KAFUNDIKWA Buno bukireetera okukozesa KAFUNDIKWA\n" " mu kifo kya akafundikwa aka bulijjo bwe\n" " kiba nga kiggya kkopi ez'okwerinda,\n" " -t, --target-directory=TTEREKERO Buno bukireetera koppi zonna ze kigya " "mu\n" " okuzissa mu TTEREKERO\n" " -T, --no-target-directory Buno bwo bukireetera okubala KIGENDERWA " "nga\n" " fayirobufayiro so ssi tterekero\n" " -v, --verbose Buno bukireetera okuwandika mannya\n" " g'amaterekero ge kikolawo\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context Kano kakireetera okutegeka ndukusa eza\n" " SELinux ez'oku koppi ze kikolawo nga\n" " ze zimu n'ez'oku fayiro ez'omu NNONO\n" " -Z, --context=NDUKUSA Buno bwo bukireetera okutegeka ndukusa\n" " eza SELinux ez'oku koppi ze kikolawo\n" " zibe NDUKUSA\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "KULABULA: aka -preserve-context tekagenda kukolerwako; ennombe ya kuno\n" "tetegeera SELinux" #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "KULABULA: aka --context (-Z) tekagenda kukolerwako; ennombe ya kuno\n" "tetegeera SELinux" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "bw'obeera owanga tterekero, akawayiro strip tekakola" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "tokkirizibwa okutegeeza ekiragiro etterekero mwe kiba kiteeka\n" "ekintu ssing ekintu ekyo kiba nga nakyo tterekero" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" "tekisoboka okukaka endukusa eza SELinux ez'okukikolebwako zifuuke %s ne " "zikala" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "enkola %s wano teja wo" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "KULABULA: akawayiro --strip-program tekajjakukolebwako kubanga tewataddeko\n" "n'aka -s" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "obuwayiro --compare (-C) ne --preserve-timestamps tebukolagana" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "obuwayiro --compare (-C) ne --strip tebukolagana" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "bw'otegeka atiributo ezitakwata ku ndukusa, ekiragiro tekikolera\n" "ku kawayiro aka --compare (-C)" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 #, fuzzy msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Ekiragiro kino kikebera mu FAYIRO1 ne FAYIRO2 nga buli lwe kisanga nnyiriri\n" "mu zombi ezifaanaganya ekitundu ekisinziirirwako okuzigatta n'endala,\n" "kiwandika olunyiriri olugatte lumu awateekebwa ebizzidwa pulogulamu mu ebya\n" "bulijjo. Bwe kitakakibwa okweyisa mu ngeri endala, ekiragiro kisinziirira\n" "ku kitundu eky'olunyiriri ekisooka okuwawuluzibwa ku bilala akabanga.\n" "Emu ku FAYIRO1 ne FAYIRO2 (naye ssi byombi) bwe kibeera '-', ekiragiro bye\n" "kyandigikebeddemu kibufuna okuva awayingizibwa awa bulijjo.\n" "\n" " -a NAMBA Kano kakireetera okuwandika ezo ennyiriri ez'omu " "NAMBA\n" " ezitalina ze zisobola okugattibwa nazo, NAMBA nga eri\n" " 1 oba 2\n" " -e KABONERO Kano kakireetera okuteekeewo KABONERO buli awabula\n" " bitundu by'ennyiriri eziyingizibwa ebyandikoledwako\n" #: src/join.c:200 #, fuzzy msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case Buno bukireetera butafa ku nnukuta kubeera nnene oba\n" " ntono bwe kiba kigeraageranya bitundu bya nnyiriri\n" " -j-KITUNDU Okussawo kano kye kimu n'okussawo aka\n" " '-1 KITUNDU -2 KITUNDU'\n" " -o MPANDIKA Kano kakireetera okukozesa MPANDIKA nga kikunngaanya\n" " olunyiriri olunaawandikibwa\n" " -t NUKUTA Kano kakireetera okubala NUKUTA ng'ekyawuluza mu\n" " bitundu bya nnyiriri eziyingizibwa n'ez'omu bivaamu\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v NAMBA Kano kye kimu n'aka -a NAMBA, okuggyako nti ekiragiro\n" " tekiwandika nnyiriri ezigattidwa\n" " -1 KITUNDU Kano kakireetera okusinziirira ku KITUNDU mu\n" " FAYIRO1 okugatta ennyiriri\n" " -2 KITUNDU Kano kakireetera okusinziirire ku KITUNDU mu\n" " FAYIRO2 okugatta ennyiriri\n" " --check-order Kano bwe kabaako, ekiragiro ne kisanga ebitali\n" " bisengeke mu biyingizibwa, kikutegeeza nti\n" " wazzewo kiremya, omlulimu ne gukoma\n" " --nocheck-order Kano bwe kabaako, ekiragiro ne kisanga ebitali\n" " bisengeke mu biyingizibwa, kikolabukozi\n" " --header Kano kakiretera okubalanga olunyiriri olusooka\n" " ku buli lupapula nga emitwe gy'ebitundu, era\n" " tegigeza okuzigatta na ndala\n" #: src/join.c:218 #, fuzzy msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "Ekiragiro kino kibala nti ebitundu eby'ennyiriri ebikolebwako\n" "byawuluzannganibwa obubanga, okuggyako nga kyongedwako akawayiro\n" "aka -t KABONERO. KITUNDU ebeera ennamba y'ekitundu\n" "eky'olunyiriri ekiyinza okukolebwako, nga ebalidwa okuva ku 1.\n" "NTEREEZA bibeera ebigambo ebifuzi ebyawuluzannganidwako\n" "obubanga oba zi ','.\n" "Buli kigambo kibeera mu nkula eya `NAMBA.KITUNDU' oba kiba '0'.\n" "Mu NTEREEZA eya bulijjo ekiragiro ennyiriri ze kiwandika\n" "zisookerwako ekitundu ekisinziiridwako okugatta ennyiriri,\n" "ebitundu eby'olunnyiriri olw'omu FAYIRO1 bye biddako ne kuddako\n" "ebitundu eby'olunnyiriri olw'omu FAYIRO2. Ebitundu bino byonna\n" "biba byawuluzannganidwako KABONERO.\n" "\n" "Kikulu: FAYIRO1 ne FAYIRO2 ensengeka yazo eteekwa okwesigambizibwa\n" "ku bitundu eby'ennyiriri zaazo ebisinziiribwako okuzigatta n'ennyiriri\n" "endala.\n" "Bw'obanga ekiragiro ekya join okirese okusinziirira ku bitundu ebisooka\n" "eby'enyiriri, fayiro osobola okuzusingekesa ekiragiro nga 'sort -k 1b,1'.\n" "Bw'oyisa ekya 'join -t ''', olunyiriri olulamba lutwalibwa ng'ekitundu " "kimu.\n" "Ensengeka n'enkwataganya bigoberera amateeka agatekedwa mu 'LC_COLLATE'.\n" "Fayiro ezikolebwako bwe ziba nga tezaasengekebwa, ekiragiro ne kisangamu\n" "ennyiriri ezitasobola okukwataganyizibwa, kiwandikawo okulabula.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "ennamba ey'ekitundu eky'olunyiriri ekikolebwako: `%s', tekola" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "ekigambo ekifuga ekitundu eky'olunyiriri ekikolebwako: %s, tekikola" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "" "ekigambo ekifuga ekitundu eky'olunyiriri ekikolebwako\n" "kirimu ennamba etakola: %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "ebitundu eby'ennyiriri %lu ne %lu tebisobola kukozesebwa kugatta" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "embigambo ebiy'okujuza mu bitundu eby'ennyiriri ebyereere tebikolagana" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "" "ekikozesebwa mu kifo eky'oluseetuka, %s, kirimu obubonero obusukka mu kimu" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "akabonero ak'awuzi kasobaganye" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "awayingizibwa awa bulijjo tewasobola okubeera ennono eya fayiro zombi" #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Enkozesa entuufu eri: %s [-s KIRAGIRO | -KIRAGIRO] PID...\n" " oba: %s -l [KIRAGIRO]...\n" " oba: %s -t [KIRAGIRO]...\n" #: src/kill.c:82 #, fuzzy msgid "Send signals to processes, or list signals.\n" msgstr "" "Ekiragiro kino kisindika ebiragiro ebifuga emirimu egya zipulogulamu\n" "egibindabinda. Kisobola ate n'okuwandika olukalala olw'ebiragiro\n" "ebisobola okusindikibwa.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=KIRAGIRO, -KIRAGIRO\n" " Buno bukusobozesa okukbulira erinnya oba ennamba\n" " ey'ekiragiro ekinaasindikibwa\n" " -l, --list Buno bukireetera okuwandika olukalala olw'amannya\n" " ag'ebiragiro, oba okukyusa amannya gaabyo gafuuke\n" " ennamba oba ennamba zaabyo zifuuke mannya\n" " -t, --table Buno bukireetera okuwandika ebikwata ku biragiro\n" #: src/kill.c:96 #, fuzzy msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "KIRAGIRO kisobola okubeera erinnya ery'ekiragiro, okugeza nga 'HUP',\n" "oba ennamba ey'ekiragiro, nga '1', oba ne kibeera emmala ey'omulimu\n" "singa gubeera gumazisidwa ekiragiro. PID ebeera ennamba enzijjuvu.\n" "Bw'ebeera wansi wa zero ebeera ennamba ey'emirimu egy'awamu.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s: ennamba ey'omulimu ssi ntuufu" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "akawayiro --%c tekakola" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s: waweredwa ebiragiro ebisukka mu kimu" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "akawayiro -l oba -t kaweredwa emirundi egisoba mu gumu" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "ekiragiro tekisobola okugattibwa n'akawayiro -l oba -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "ennamba ey'omulimu teweredwa" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "nnemedwa okutegekawo eggwanika zzibizi erya bayiti %<PRIuMAX>\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "agumenti %s tekkirizibwa ku %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "" "sisbodde okutegekera %s ebintu byayo\n" "biterekebwenga mu ggwanika zzibizi\n" "mu ngeri egoberera %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s FAYIRO1 FAYIRO2\n" " oba: %s KAWAYIRO\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Kino kitandika omukolo ogwa link gukolewo nyunzi etuumidwa\n" "erinnya FAYIRO2, eno nga egguka ku FAYIRO1 (esangidwawo).\n" "\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "sisobola okukolawo nyunzi %s egguke ate ku %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s:tekikkirizibwa okukolawo nyunzi et'eyawudde nga egguka ku tterekero" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s: sisobola okuwandika ku tterekero elisangidwawo" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s: %s ngigyewo nteekewo ekipya? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "nnemedwa okukolawo enyunzi eyeyawudde %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "nnemedwa okukolawo enyunzi eyeyawudde %s egguka ku %s" # c-format #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "nnemedwa okukolawo nnyunzi et'eyawudde egguka ku %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "nnemedwa okukolawo enyunzi et'eyawudde %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "nnemedwa okukolawo enyunzi et'eyawudde %s => %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [-T] KIGENDERWA LINNYA (empandika " "1)\n" " oba: %s [KAWAYIRO]... KIGENDERWA (empandika " "2)\n" " oba: %s [KAWAYIRO]... KIGENDERWA... TTEREKERO (empandika " "3)\n" " oba: %s [KAWAYIRO]... -t TTEREKERO KIGENDERWA (empandika " "4)\n" #: src/ln.c:381 #, fuzzy msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Mu mpandika 1, ekiragiro kino kikolawo ennyunzi egguka\n" "ku KIGENDERWA nga ennyunzi eyo etuumidwa LINNYA.\n" "Mu mpandika 2, ekiragiro kino kikolawo ennyunzi mu\n" "tterekero mwe kiweredwa nga egguka ku KIGENDERWA.\n" "Mu mpandika 3 ne 4, ekiragiro kino kikolawo ennyunzi\n" "ezigguka ku buli KIGENDERWA mu TTEREKERO.\n" "Ekiragiro kino kikolawo ennyunzi ezit'eyawudde okuyako\n" "nga oyongeddeko akawayiro --symbolic.\n" "Okukolawo ennyunzi et'eyawudde, KIGENDERWA kiteekwa okuba\n" "nga wekiri. Ennyunzi ey'eyawudde yo esobola okukolebwawo\n" "KIGENDERWA ne bwe kiba nga tekinnabawo; ennyunzi etandika\n" "kukola kasita fayiro eyo emala n'ekolebwawo.\n" "\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=ENKOLA] Kano kakireetera buli fayiro ey'ekigenderwa\n" " okugiggyamu ne koppi ey'okwerinda\n" " -b Okussawo kano kye kimu n'okussawo aka '--" "backup'\n" " naye oba tokkirizibwa kwongerako agumenti\n" " -d, -F, --directory Bw'ossawo kamu ku buno, amaterekero " "kigakolerawo\n" " nyunzi ezit'eyawudde (muteesiteesi yekka gwe\n" " kikkiriza okukozesa buno)\n" " -f, --force Bwe wabaawo fayiro ezisangidwawo ku " "kigenderwa,\n" " buno bukireetera okusooka kuzigyawo empya " "zidde\n" " mu kifo kyazo\n" #: src/ln.c:402 #, fuzzy msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive Buno bukireetera okusookanga kubuuza " "omukozesa\n" " oba ayagala okuggyawo fayiro ezisangidwawo ku\n" " bigenderwa\n" " -L, --logical Buno, bw'obanga ogeza okukolawo enyunzi ku\n" " nyunzi ndala, nga eyo yeyawudde, buleetera\n" " ekiragiro okukolawo enyunzi et'eyawudde ku\n" " fayiro enyunzi ey'eyawudde eyo kw'egguka\n" " -n, --no-dereference Bwe kubaako kamu ku buno ekigenderwa ne kiba\n" " nyunzi ey'eyawudde egguka ku tterekero,\n" " kigiyisa nga fayiro eya bulijjo\n" " -P, --physical Buno, bw'obanga ogeza okukolawo enyunzi ku\n" " nyunzi endala, ey'eyawudde, bukireetera\n" " okugikolako enyunzi et'eyawudde\n" " -s, --symbolic Buno bwo bukireetera okukolawo nyunzi\n" " ez'eyawudde mu kifo eky'ezit'eyawudde\n" #: src/ln.c:411 #, fuzzy msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=KAFUNDIKWA Bw'oteekako kamu ku buno, ekiragiro\n" " bwe kibeera kiggya kkopi ez'okwerinda,\n" " kikozesa KAFUNDIKWA mu kifo kya\n" " akafundikwa aka bulijjo\n" " -t, --target-directory=TTEREKERO Kano kakireetera enyunzi okuzikolera\n" " mu TTEREKERO\n" " -T, --no-target-directory Buno bukireetera okubala nti LINNYA fayiro\n" " bufayiro, so ssi tterekero\n" " -v, --verbose Bwe kubaako kamu ku buno, buli lwe kikolawo\n" " enyunzi, kisooka kuwandika linnya lya fayiro\n" " kw'egguka\n" #: src/ln.c:433 #, fuzzy, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "Bw'obanga ogeza okukolawo enyunzi egguka ku nyunzi ey'eyawudde\n" "n'ossawo obuwayiro bwombi, aka '-L' n'aka '-P', ekiragiro kikolera ku\n" "k'osembyayo. Bw'ossawo akawayiro aka '-s' ekiragiro obwa '-L' ne '-P',\n" "tekibukolerako. Bw'obanga totaddewo aka '-L' oba aka '-P', ekiragiro\n" "kikola nga eyataddewo aka %s.\n" "\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "tekisoboka kugatta --target-director ne --no-target-directoy" #: src/ln.c:588 #, fuzzy, c-format msgid "cannot do --relative without --symbolic" msgstr "sisobola okukolawo enyunzi eyeyawudde %s" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "FIXME: ono omuwandisi teyeyanjudde" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Ekiragiro kino kiwandika linnya ery'omukozesa aliwo kakano.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "Tewali linnya ery'okwewandisaako" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%b %e %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%b %e %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "ekikongojjedwa mu kigambo ekya mu enviromenti QUOTING_STYLE tekikkirizibwa \n" "era sigenda okukikozesa: %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" "omuwendo ogukongojjedwa mu kigambo COLUMNS tegukkirizibwa: %s era tegugenda\n" "kukozesebwa" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "omuwendo ogukongojjedwa mu kigambo TABSIZE tegukkirizibwa: %s era tegugenda\n" "kukozesebwa" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "obuwanvu obw'emboozi obuweeredwa: %s tebukkirizibwa" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "obuwanvu obw'oluseetuka obuweeredwa: %s tebukkirizibwa" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "entereeza ey'okulaga obudde eweredwa, %s, tekkirizibwa" #: src/ls.c:2057 #, fuzzy msgid "Valid arguments are:\n" msgstr "Augumenti z'oyinza okuwa ziri:" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr "" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "wazzewo kiremya mu kutegeka mannya g'emyezi" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "akakulembera: %s tekategerekese" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "ekikongojjedwa mu kigambo LS_COLORS tekivvunulika" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "nemedwa okubikkula tterekero %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "nemedwa okulaba kyuma %s kw'eri ne \"inodi\" yayo ennemye okuzuula" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s: etterekero lino limaz'okukolebwako, terijjakuddimwamu" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "nsoma mu etterekero %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "mbikka tterekero %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "tekisobose okunoonya njawulo wakati wa mannya aga fayiro gano:%s ne %s" #: src/ls.c:4721 #, fuzzy msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Kino kiraga ebikwata ku zi FAYIRO (kompyuta bw'otogigamba kirala ejja\n" "kukulaga ebikwata ku fayiro eza mu tterekero mw'oweerede ekiragiro).\n" "Bw'obeera nga ekiragiro tokiyunzeeko bumu ku buwayiro\n" " -c, -f, -t, -u, -S, -U, -X oba --sort, kompyuta ejja kusengeka\n" "mannya ga fayiro ezo nga egoberera walifu.\n" "\n" #: src/ls.c:4728 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" msgstr "" " -a, --all Bwe kubaako kamu ku buno, kiraga n'amannya\n" " agatandika ne '.'\n" " -A, --almost-all Bwe kubaako kamu ku buno, \".\" ne \"..\" \n" " ebitera okukulembera olukalala byo ekiragiro\n" " tekibiraga.\n" " --author Kano bwe kabaako, awamu n'aka -l, buli fayiro\n" " ekiragiro kiraga eyagikolawo\n" " -b, --escape Bwe kubaako kamu ku buno, kiraga n'obubonero\n" " obw'enkola eyomu lulimi lwa C obufuga enneyisa\n" " ey'obubonero obutalabika\n" #: src/ls.c:4734 #, fuzzy msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=BUNENE Buno bukireetera okukozesa buloka ezirimu\n" " bayiti BUNENE. Okugeza '--block-size=M' " "kakiviiramu\n" " obunene okubuwandikira mu birengo ebya\n" " bayiti 1,048,576. Waliwo ebiddako wano " "ebitangaaza\n" " ku mpandika ya BUNENE.\n" " -B, --ignore-backups Buno bukireetera butalaga bitandika ne ~\n" " -c Akawayiro kano bw'okayunga ku -lt, olukalala\n" " lusengekebwa nga amannya aga fayiro ezaasemba\n" " okukyusibwamu ge gasooka. N'obudde kwe\n" " zaasembera okukyusibwa, ctime, bujjakulagibwa.\n" " Akawayiro bw'okayunga ku -l olukalala " "ekiragiro\n" " kirusengeka nga amannya aga fayiro gagoberera\n" " walifu era nga lulaga ne ctime.\n" " Akawayiro bwe kabeera kokka olukalala " "kirusengeka\n" " nga amannya aga fayiro ezaasemba okukyusibwa " "ge\n" " gasooka\n" #: src/ls.c:4744 #, fuzzy msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C Akawayiro kano kakireetera amannya okugalagira\n" " mu nkalala ezitereezedwa mu nkumbo\n" " --color[=DDI] Kano kafuga engeri kompyuta gye yeyambisa mu\n" " langi okwawula mu ebika ebya fayiro. DDI\n" " esobola okubeera 'never', 'always', oba 'auto'\n" " -d, --directory Buno bukireetera obutalaga fayiro eziri mu\n" " tterekero, ne kiragabulazi oba ka . wekali\n" " -D, -dired Buno bukireetera okulaga ebivaamu mu ngeri\n" " etabagana ne Emacs ekolera mu nkola yayo\n" " eya \"dired\"\n" #: src/ls.c:4752 #, fuzzy msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f Kano kakireetera amannya aga fayiro " "butagasengeka,\n" " okukolera mu nkola ereetebwa buwayiro -aU, ate " "ne\n" " kiyimiriza enkola ereetebwawo --color\n" " -F, -classify Buno bukireetera okuwayira obubonero obulaga " "ekika\n" " kyazo ku mannya aga fayiro. Obubonero obwo " "buli:\n" " *, /, =, @ ne |.\n" " --file-type Kano kakola nga obwa -F ne -classify okugyako " "nti\n" " bu '*' ko tekabuteekako.\n" " --format=KIGAMBO KIGAMBO bwe kibeera 'across' oba 'horizontal'\n" " kyekimu n'okukozesa akawayiro -x. Bwe kibeera\n" " 'long' oba verbose kye kimu n'akawayiro -l,\n" " 'commas' kye kimu n'akawayiro -m.\n" " 'single-column' kyekimu n'akawayiro -1 ate\n" " 'vertical' kyekimu n'akawayiro -C\n" " --full-time Kyekimu ne -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" " -g Kano kakola nga aka -l okugyako nti tekalaga\n" " bannyini fayiro\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " Kano kakireetera okusooka kuwandikawo " "materekero\n" " ne kizzaako fayirobufayiro. Osobola " "okwongerako\n" " aka --sort. Kasita ossaako aka --sort=none (-" "U)\n" " ekiragiro n'eby'okusooka kuwandika materekero\n" " tekibikola\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group Buno bukireetera butalaga bifa ku guluupu\n" " -h, --human-readable Buno bukireetera okulaga obunene mu ngeri\n" " omuntu gy'ategeera (e.g., 1K 234M 2G)\n" " --si Kano kakola nga obwa '-h' ne '--human-" "readable',\n" " naye nga birengo bya 1000 mu kifo ekya 1024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " Buno obuwayiro bw'ossawo kamu ku bwo, " "ekiragiro\n" " bwe kisanga ennyunzi, kiwandikawo ebikwata ku\n" " fayiro kw'egguka\n" " --dereference-command-line-symlink-to-dir\n" " Kano ko bw'okassawo, ekiragiro ne kisanga " "nnyunzi\n" " egguka ku tterekero, kiwandikawo ebikwata ku\n" " tterekero kw'egguka. Naye tekirondoola nnyunzi\n" " ezigguka ku fayirobufayiro\n" " --hide=BUBONERO Kano kakireetera butalaga fayiro ezirina " "ebitundu\n" " by'amannya gazo ebifaanana BUBONERO. Bwe " "kubaako\n" " aka -a oba -A, ekiragiro fayiro ezo ate " "kiziraga\n" #: src/ls.c:4785 #, fuzzy msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=KIGAMBO Kano kakireetera okuwayira ku mannya\n" " agali mu lukalala obubonero obw'engeri\n" " eya KIGAMBO nga KIGAMBO kisobola okubeera\n" " kimu ku:\n" " none (y'engeri eya bulijjo), slash (-p),\n" " file-type (--file-type) ne classify (-F)\n" " -i, --inode Buno bukireetera okulaga ennamba ya\n" " inodi eya buli fayiro\n" " -I, --ignore=KIGAMBO Buno bukireetera obutalaga mannya agali mu\n" " kigambo eky'omu nzivvuunuzi KIGAMBO\n" " -k Kye kimu ne --block-size=1K\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l Kano kakireetera okulanga nkalala mu bujjuvu\n" " -L, --dereference Buno bukireetera okulaga ebikwata ku fayiro\n" " ennyunzi ez'eyawudde kwe zigguka\n" " -m Kano kakireetera okukola olukalala nga lubuna\n" " ekiwandikiro ate nga amannya aga fayiro\n" " g'awulibwa zi \",\"\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid Enkola ya buno yefaananyiriza n'ey'aka -l,\n" " naye ekiragiro kiraga ennamba mu kifo\n" " ky'amannya ga guluupu n'abakozesa\n" " -N, --literal Buno bukireetera butafa ku nukuta ezifuga " "zinaazo\n" " -o Kakola nga aka -l, naye ekiragiro tekiraga " "ebifa\n" " ku guluupu\n" " -p, --indicator-style=slash\n" " Buno bukireetera okuwayira akabonero aka / ku\n" " mannya ag'amaterekero ge kiba kiwandisewo\n" #: src/ls.c:4811 #, fuzzy msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars Awandibadde obubonero obutalabika, kiteekawo ?\n" " --show-control-chars Obubonero obutalabika kibulekawo (eno ye " "enkola\n" " eya bulijjo (okujjako mu pulogulamu 'ls' nga\n" " ebivaamu byayo ebisindika ku kiwandikiro)\n" " -Q, --quote-name Amannya agali mu lukalala kigateeka mu bwogeza\n" " (\"\")\n" " --quoting-style=KIGAMBO Amannya agali mu lukalala kigateeka mu\n" " bwogeza obw'ekika kya KIGAMBO, nga KIGAMBO\n" " kisobola okubeera kimu ku:\n" " literal, locale, shell, shell-always, c, ne " "escape\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse Buno bukireetera okusembya amannya\n" " agandikulembedde nga kigasengeka\n" " -R, --recursive Buno bukireetera buli tterekero lye\n" " kisanga okulaga n'ebilirimu\n" " -s, --size Buno bukireetera okulaga buloka buli\n" " fayiro gye kisanga ze kikozesa\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S Kano kakireetera okusengeka amannya okusinzira\n" " ku bunene bwa fayiro\n" " --sort=KIGAMBO Kano kafuga ensengeka okusinzira ku KIGAMBO.\n" " KIGAMBO kisobola okubeera kimu ku bino:\n" " extension - kye kimu n'akawayiro -X\n" " none - kye kimu n'akawayiro -U\n" " size - kye kimu n'akawyiro -S\n" " time - kye kimu ne -t\n" " version - kye kimu ne -v\n" " --time=KIGAMBO Kano kakireetera okulaga obudde obwa KIGAMBO\n" " mu kifo eky'okulaga obudde fayiro kwe " "yasembera\n" " okukyusibwako. KIGAMBO kisobola okubeera kimu " "ku:\n" " atime\n" " access\n" " use\n" " ctime\n" " status\n" " Era, singa kubaako n'akawayiro --sort=time,\n" " kakireetera n'okusengeka amannya okusinzira\n" " ku fayiro esinga okubeera n'obudde obw'okumpi\n" #: src/ls.c:4835 #, fuzzy msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=MUSONO Kano kakireetera okulaga obudde mu musono " "MUSONO.\n" " MUSONO kisobola okuba kimu ku:\n" " full-iso\n" " long-iso\n" " iso\n" " locale\n" " +NTEREEZA\n" " NTEREEZA ekiragiro kikiraba 'date'; NTEREEZA\n" " bwe kiba\n" " NTEREEZA1<lunyiriri lupya>NTEREEZA2, NTEREEZA1\n" " kikola ku fayiro ezitabalibwa nga nsu ate\n" " NTEREEZA2 ne kikola ku ezibalibwa nga nsu;\n" " singa MUSONO kikulembezebwa 'posix', olwo " "MUSONO\n" " tekikola ku ebyo ebitali mu lokale eya POSIX\n" #: src/ls.c:4844 #, fuzzy msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t Amannya aga fayiro kigasengeka okusinzira ku\n" " budde kwe zasembera okukyusibwako\n" " -T, --tabsize=BIFO Buno bukireetera okubala nti oluseetuka\n" " lumalawo ebifo BIFO, sso ssi 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u Akawayiro kano ku bwako kaleetera ekiragiro\n" " okusengeka olukalala lwa fayiro ze kiwandika\n" " nga kigoberera obudde buli emu kweyasembera\n" " okukwatibwako. Bwe kubeerako n'aka '-lt', buli\n" " lwe kiwandika linnya lya fayiro, n'obudde obwo\n" " kibuwandika. Ka 't' bwe katabaako, ekiragiro\n" " kisengekesa mannya sso si budde\n" " -U Kano ko kakireetera kuwandika mannya mu " "nsengeka\n" " fayiro gye kizisangamu mu tterekero lya zo\n" " -v Kano ate ko bwe kabaako kakireetera okusengeka\n" " fayiro ezirin'amannya agalimu ennamba mu ngeri\n" " egoberera ennamba ezo\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=KOL Buno bukireetera okubala nti obugazi\n" " obw'olutimbe bulimu nkumbo NKU\n" " -x Kano kakireetera okulaga nkalala nga " "zigoberera\n" " nnyiriri mu kifo eky'okukka mu nkumbo\n" " -X Kano kakireetera okusengeka fayiro okusinzira\n" " ku bukomekkereza obw'oku mannya gaazo\n" " -Z, --context Bw'ossawo kamu ku buno, ekiragiro kiraga\n" " ndukusa za SELinux ez'oku buli fayiro\n" " -1 Kano kakireetera okuwandika buli linnya lya\n" " fayiro ku lunyiriri lwa lyo\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "Mu ebya bulijjo, ekiragiro kino ebivaamu bya kyo tebibaamu langi\n" "ez'enjawulo. Akawayiro aka '--color=never' nako kaleetera ekiragiro\n" "okuwandika bitalimu langi ez'enjawulo. Akawayiro aka '--color=auto' bwe\n" "kabaako, ekiragiro bwe kiba nga ebivaamu bya kyo bigenda awateekebwa\n" "ebivaamu awa bulijjo, kikyusa langi mwe kiwandika ebifa ku fayiro " "okusinzira\n" "ku kika kya yo. Ekigambo eky'omunviromenti 'LS_COLORS' kye kifuga enkola\n" "y'ekiragiro ku nsonga ya kuwandika mu langi. Ekiragiro ekya 'dircolors' kye\n" "kitegeka ekigambo kino\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "Emmala y'omulimu guno eba:\n" " 0 singa guggwa bulungi\n" " 1 singa wabawo obuzibu obutali bwa maanyi\n" " 2 singa wabawo kiremya ow'amaanyi\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO] [FAYIRO]...\n" "Ekiragiro kino kya kuwandika oba kukebera ennamba enkuumi\n" "ez'ekika kya %s (eza bbiti-%d).\n" "Singa tolaga FAYIRO ey'okukolako, oba singa FAYIRO ebeera\n" " '-', amannya aga fayiro kigasoma okuva awayingizibwa\n" "awa bulijjo.\n" "\n" #: src/md5sum.c:174 #, fuzzy msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary Buno bukireetera okukitwala\n" " nti data ey'omu fayiro eterekedwa\n" " mu ntereeza eya binariyo (eno\n" " y'enkola eya bulijjo okujjako nga\n" " stdin kiwandikirio)\n" #: src/md5sum.c:178 #, fuzzy msgid " -b, --binary read in binary mode\n" msgstr "" " -b, --binary Buno bukireetera okukitwala\n" " nti data ey'omu fayiro eterekedwa\n" " mu ntereeza eya binariyo\n" #: src/md5sum.c:181 #, fuzzy, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check Buno bukireetera okukebera nnamba enkuumi\n" " ez'ekika kya %s kizigeraageranye n'eziri\n" " mu lukalala olukiweredwa\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr "" #: src/md5sum.c:188 #, fuzzy msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text Buno bukireetera okukitwala nti data eri mu\n" " fayiro teyetaaga kuvvuunulwa (y'enkola eya\n" " bulijjo)\n" #: src/md5sum.c:192 #, fuzzy msgid " -t, --text read in text mode (default)\n" msgstr "" " -t, --text Buno bukireetera okukitwala nti data eri mu\n" " fayiro teyetaaga kuvvuunulwa\n" #: src/md5sum.c:195 #, fuzzy msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Obuwayiro buno obusatu obuddako bugassa mu kukakasa ennamba enkuumi wokka:\n" " --quiet Kano kakireetera butawandika OK buli lwe kimala\n" " kukakasa obulungi fayiro\n" " --status Kaleetera ekiragiro butawandika ebivaamu ebya\n" " bulijjo, olwo nga emmala ey'omulimu y'eraga\n" " oba data yonna nnamu\n" " -w, --warn Buno bukireetera okulabula akozesa bwe kisanga\n" " ennyiriri ezitereezedwa obubi mu fayiro erimu\n" " olukalala olwa fayiro ez'okukebera n'enamba\n" " zaazo enkuumi\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" #: src/md5sum.c:208 #, fuzzy, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Engeri pulogulamu gy'efumba mu ennamba ennyonyoledwa mu %s. Okukola omulimu\n" "guno, ebiyingizibwa mu pulogulamu byandibadde ebyava mu muku omulala gwayo.\n" "Mu nkola eya yo eya bulijjo, pulogulamu ewandika nnyiriri nga ziriko namba\n" "enkuumi, akabonero akalaga ekika ekya fayiro (akabonero '*' katgeeza nti\n" "fayiro ya mu binariyo ate ebbanga, ' ' kitegeeza nti fayiro etegeereka " "bantu),\n" "n'erinnya erya FAYIRO\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s: ennyiriri mu namba enkuumi zisukkiridde obungi" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "" "%s: %<PRIuMAX>: ennamba enkuumi ey'ekika kya %s erimu\n" "olunyiriri olwandikidwa bubi" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s: okubikkula oba okusoma KUGAANYE\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "KIGAANYE" #: src/md5sum.c:597 msgid "OK" msgstr "KALE" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s: ennyiriri ez'ennamba enkuumi eza %s zonna zitereezedwa bubi" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "KULABULA: olunyiriri %<PRIuMAX> lulimu ensobi mu mpandika ya lwo" msgstr[1] "KULABULA: ennyiriri %<PRIuMAX> zirimu ensobi mu mpandika ya zo" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "KULABULA: fayiro %<PRIuMAX> mu lukalala tesomese" msgstr[1] "KULABULA: fayiro %<PRIuMAX> mu lukalala tezisomese" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "KULABULA: ennamba enkuumi %<PRIuMAX> ebalidwa ssi ntuufu" msgstr[1] "KULABULA: ennamba enkuumi %<PRIuMAX> ezibalidwa ssi ntuufu" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "" #: src/md5sum.c:766 #, fuzzy, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "omugaso ogw'akawayiro --status gukoma ku kukakasa ennamba enkuumi" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "bw'obeera okukakasabukakasa ennamba enkuumi, obuwayiro --binary ne --text\n" "tebulina kye bukolawo" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "omugaso ogw'akawayiro --status gukoma ku kukakasa ennamba enkuumi" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "omugaso ogw'akawayiro --warn gukoma ku kukakasa ennamba enkuumi" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "akawayiro --quiet kagasa mu kukakasa nnamba nkuumi wokka" #: src/md5sum.c:802 #, fuzzy, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "omugaso ogw'akawayiro --status gukoma ku kukakasa ennamba enkuumi" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... TTEREKERO...\n" #: src/mkdir.c:57 #, fuzzy msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "" "Ekiragiro kino kikolawo (ma)TTEREKERO, bwe kitagasanga nga gaakolebwawodda\n" "\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=NDUKUSA Bw'ossawo kamu ku buwayiro buno, kakireetera\n" " okutegeka ndukusa (nga empandika eya NDUKUSA y'emu\n" " n'ekozesebwa ku kiragiro ekya 'chmod')\n" " -p, --parents Buno bukireetera butakolawo kulabula fayiro\n" " zino bwe kizisangawo. Amaterekero fayiro mwe\n" " zigenda okubeera bwe gabeera tegaliwo kigakolawo\n" " -v, --verbose Buno bukireetera okulaga obubaka buli lwe\n" " kikolawo etterekero\n" " -Z, --context=NDUKUSA Buno bukireetera okutegeka ndukusa eza SELinux\n" " ez'oku buli tterekero erikolebwawo zibe NDUKUSA\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "nkozewo tterekero eliyitibwa %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... LINNYA...\n" #: src/mkfifo.c:52 #, fuzzy msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "" "Ekiragiro kino kikolawo omikutu omitume (FIFO) nga gutumidwa LINNYA.\n" "LINNYA bwe luba lukalala lw'amannya ekiragiro buli linnya kirikolerawo\n" "omukutu omutume\n" "\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=NDUKUSA Bw'ossawo kamu ku buwayiro buno, kakireetera\n" " okutegeka ndukusa (nga empandika eya NDUKUSA y'emu\n" " n'ekozesebwa ku kiragiro ekya 'chmod')\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=NDUKUSA Buno bukireetera okutegeka ndukusa eza SELinux\n" " ku buli LINNYA zibe NDUKUSA\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "enkola eno tekkirizibwa" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "eno attiributo eteekwa kukoma ku kutegeka bbiti ezikola ku ndukusa" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... LINNYA KIKA [NKULU NTO]\n" #: src/mknod.c:54 #, fuzzy msgid "Create the special file NAME of the given TYPE.\n" msgstr "" "Ekiragiro kino kikolawo fayiro ey'enjawulo nga eyitibwa LINNYA ate nga ya " "KIKA.\n" "\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=NDUKUSA Buno butegeka ndukusa eza SELinux zibe NDUKUSA\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "KIKA bwe kiba b, c oba u, oteekwa okuwa ENKULU ne ENTO byombi, ate KIKA\n" "bwe kiba p, ENKULU ne ENTO biteekwa butawebwa.\n" "Singa ENKULU oba ENTO kitandika ne 0x oba 0X kitwalibwa nga ekiri mu\n" "hekisi, bwe kitandika ne 0 kitwalibwa nga ekya mu okita, ate bwe kitandika\n" "n'ekirala kyonna kitwalibwa nga ennamba eya bulijjo (eya mu dekanariyo).\n" "KIKA kisobola okuba:\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b Kano kakireetera okukolawo fayiro ey'enjawulo eya kika kya\n" " bulooka (emal'okujjula ery'oke esomebwe)\n" " c, u buno bukireetera okukolawo fayiro ey'enjawulo eya kika kya\n" " nukututa (ekisangibwamu kye kisomebwa)\n" " p Kano kaireetera okuolawo FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "Fayiro enjawulemu z'etaagako ennamba y'ekyuma enkulu n'ento" #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "FIFO tezibaako nnamba ya kyuma nkulu n'ento." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "fayiro ez'enjawulo eza kika kya bulooka tezikola wano" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "fayiro ez'enjawulo eza kika kya nukuta tezikola wano" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "ennamba y'ekyuma enkulu %s tekkirizibwa" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "ennamba y'ekyuma ento %s tekkirizibwa" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "ekyuma %s %s tekikkirizibwa" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "ekika eky'ekyuma %s tekikkirizibwa" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Erik Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Enlozesa entuufu eri: %s [KAWAYIRO]... [LUTIBA]\n" #: src/mktemp.c:69 #, fuzzy msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Ekiragiro kino kikolawo fayiro oba etterekero ey'ekiseerabuseera\n" "ne kiwandikawo erinnya lyayo.\n" "Ekitundu ekya 'LUTIBA' ekisembayo kiteekwa okubaamu zi 'X' eziri\n" "awamu ezitakka wansi wa ssatu.\n" "Bw'obanga tolina kyewategese mu kigambo ekikongozzi 'LUTIBA', fayiro\n" "oba etterekero eyo kigituma erinnya ery'enkula ya 'tmp.XXXXXXXXXX'\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory Bw'ossawo kamu ku buwayiro buno bukireetera kukolawo\n" " tterekero mu kifo kya fayirobufayiro\n" " -u, --dry-run Buno bwo bukireetera butakolawo kyonna okugyako " "kuwandika\n" " linnya\n" " -q, --quiet Bw'ossawo kamu ku buno, ekiragiro tekikubuulira lwe\n" " kiremwa kukolawo fayiro oba tterekero\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=KATANDIKWA Kano kakireetera 'LUTIBA' okukisoosaako\n" " KATANDIKWA (ekiteekwa butabaamu obusaze).\n" " akabonero akasembayo mu 'LUTIBA' bwe kataba 'X'\n" " ekiragiro kino kikola nga gwe eyataddewo akawayiro " "kano.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=TEREKERO] Akawayiro kano kakireetera fayiro oba etterekero\n" " lye kikolawo okuliteeka mu TEREKERO. Bw'oba nga\n" " totegese TEREKERO, ekiragiro bye kikolawo kibiteeka\n" " mu tterekero erikongojjedwa mu kigambo eky'omu\n" " nviromenti '$TMPDIR'. Ekyo bwe kiba nga " "tekyategekebwa,\n" " ekiragiro kibiteeka mu tterekero '/tmp'.\n" " Bw'okozesa akawayiro kano, ekikonogjjedwa mu kigambo\n" " LUTIBA tekikkirizibwa okulaga kkubo okuva ku " "tterekero\n" " ery'okumusingi.\n" " Obutafaanana n'aka -t, akawayiro kano kakukkiriza\n" " okutegeka ekiri mu LUTIBA ne liba linnya eririmu\n" " n'obusaze obw'akaddannyuma. Wabula ekiragiro " "kikozesako\n" " ekitundu ekisembayo kyokka - ekidda ku kasaze\n" " ak'akaddanyuma akasembayo.\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p TEREKERO Kano kakireetera fayiro okugikolera mu tterekero\n" " lye wategese mu kigambo TEREKERO. Akawayiro kano\n" " kakireetera n'okukola nga eyataddeko aka -t. Aka '-t'\n" " ako kadibizidwa.\n" " -t Akawayiro kano kakireetera okulaba ekiri mu LUTIBA " "nga\n" " erinnya lya fayiro okutali kkubo erigiggukako. fayiro\n" " eyo kigikolera mu tterekero $TMPDIR, ssinga ekigambo\n" " eky'omu nviromenti TMPDIR kiba nga kitegekedwa. " "Bw'oba\n" " nga otegese etterekero ddala nga oyitira mu kussawo\n" " akawayito aka '-p', erye mwe kikolera fayiro. Mu " "nkola\n" " eyadibizibwa, ekiragiro kyagikoleranga mu tterekero\n" " '/tmp' kasita wabanga tolina ly'otegesezza aka '-p'\n" " ate nga n'ekigambo eky'omu nviromenti TMPDIR nakyo\n" " tekitegekedwa.\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "nnemedwa okusindika ebyandigenze ku stderr ku /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "" "ebigambo ebifuga entuma ya fayiro\n" "ezikolebwawo biyitiridde obungi" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "bw'obanga otaddewo aka '--suffix', olutiba %s kiteekwa okusembyayo 'X'" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "akafundikwa %s kasobu, kalimu akasaze" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "'X' eziri mu kigambo %s ziyitiridde obungi" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" "ekigambo ekifuga entuma ya fayiro, %s,\n" "tekikkirizibwa kubanga kirimu akabonero\n" "ak'awula wakati w'amannya ag'amaterekero\n" "(akasaze ak'akaddanyuma)" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" "ekigambo ekifuga entuma ya fayiro, %s, tekikkirizibwa\n" "bw'obanga otaddewo n'akawayiro aka --tmpdir. Ekikigaanisa?\n" "Kuba nga kkubo eritandikira ku tterekero ery'okumusingi" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "" "nnemedwa okukolawo tterekero nga n'eyambisa\n" "ekigambo ekifuga entuma ya fayiro %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "" "nnemedwa okukolawo fayiro nga n'eyambisa\n" "ekigambo ekifuga entuma ya fayiro %s" #: src/mv.c:292 #, fuzzy msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Kino kikyusa erinnya erya NONO ne libeera KIGENDERERWA.\n" "Era kisimbuliza NONO e/zirage mu TTEREKERO.\n" "\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=KKOPI] Kano kakireetera okugyamu ne kkopi\n" " ey'okwerinda ku buli fayiro\n" " ey'ekigenderwa esangibwawo\n" " -b Kano kakola kye kimu n'aka --backup\n" " naye tokkirizibwa kwongerako agumenti\n" " -f, --force Buno bukireetera okuwandika ku fayiro\n" " ezisangidwawo nga tekimaze ate okubuuza\n" " akiyisizza. Kye kimu n'aka --reply=yes\n" " -i, --interactive Buno, bukireetera okusookanga kubuuza\n" " akiyisizza we kibeera nga kigenda\n" " okuwandika ku fayiro esangidwawo. Kikola\n" " mu ngeri y'emu n'aka --reply=query\n" " -n, --no-clobber Kamu ku buno bw kabaako, tekiwandika ku\n" " fayiro esangidwawo.\n" "Bw'oteekawo akasoba mu kamu ku buwayiro -i, -n ne -f k'osembyayo\n" "kokka ke kakola.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes Kano kakireetera okusalako obusaze\n" " obw'akaddannyuma, `/', obukomekkereza\n" " ndagiriro za fayiro eza NNONO ezisangibwa\n" " mu agumenti\n" " -S, --suffix=KAFUNDIKWA Buno bukireetera okuwayirako KAFUNDIKWA\n" " ku linnya lyya kkopi ey'okwerinda, mu kifo\n" " eky'aka bulijjo\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=TTEREKERO Buno bukireetera okusimbuliza fayiro\n" " zonna ezimenyedwa mu NNONO zigende mu " "TTEREKERO\n" " -T, --no-target-directory Buno bwo bukireetera okubala KIGENDERWA\n" " nga fayirobufayiro so ssi tterekero\n" " -u, --update Buno bukireetera obutasimbuliza fayiro NONO,\n" " okugyako nga yo mpya okusinga fayiro eri\n" " ku kigendererwa oba nga ku kigendererwa\n" " tewali fayiro\n" " -v, --verbose Buno bwo bukireetera okukola nga bwe " "kinyonyola\n" " bye kikola\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO] [KIRAGIRO [FAYIRO]...]\n" #: src/nice.c:73 #, fuzzy, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Ekiragiro kino kireetera sisitemu okukola ku KIRAGIRO nga obusengeke\n" "bwa kyo busoose okukyusibwa.\n" "Singa ekiragiro kino kiwebwa nga tekuli KIRAGIRO, kiwandika obusengeke\n" "obunaabeera ku mulimu oba ekiragiro kyonna ekitandikibwa kakano.\n" "Obusengeke obw'emirimu ku sisitemu buva ku %d (gye gisooka kukolebwako)\n" "okutuuka ku %d (gye gisemba kukolebwako).\n" "\n" " -n, --adjustment=ENKYUKA Buno buleetera sisitemu okusooka kukyusa\n" " busengeke bw'omulimu oba ekiragiro\n" " bwongerweko NKYUKA.\n" "Ekiragiro bwe kitalagirwa okukozesa kirala kikitwala nti ENKYUKA\n" "kiri 10.\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "enkyuka mu busengeke %s tesoboka" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "bw'oteekako ekiragiro oteekwa okulaga n'enkyuuka mu busengeke bwakyo" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "nnemedwa kutegeera obusengeke" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "nnemedwa okutegeka obusengeke" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 #, fuzzy msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Kino buli FAYIRO ebigirimu kibiwandika awateekebwa ebivaamu ebya \n" "zipuloguramu mu ebya bulijjo, nga kuliko n'ennamba ez'ennyiriri.\n" "FAYIRO bwe kitawebwa, oba bw'ebeera '-', kiwandika ebivudde ku\n" "nnono eya bulijjo.\n" "\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=MPANDIKA Bw'ossawo kamu ku buno obuwayiro, " "ekiragiro\n" " ennamba ez'ennyiriri ez'omu kiwandike\n" " kizitereeza mu MPANDIKA\n" " -d, --section-delimiter=NN Buno bukireetera okukozesa NN (bubonero)\n" " okulaga buli 'lupapula' gye lukoma\n" " -f, --footer-numbering=MPANDIKA Buno bwo bukireetera nnamba ez'ennyiriri\n" " enzibizi okuzitereeza mu MPANDIKA\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=MPANDIKA Buno bukireetera ennamba ez'ennyiriri\n" " ez'omu bikulembera okuzitereeza mu " "MPANDIKA\n" " -i, --page-increment=NAMBA NAMBA y'enjawulo wakati w'ennamba ez'oku\n" " nnyiriri ezigobereragana\n" " -l, --join-blank-lines=NAMBA Buno bukireetera ennyiriri ze kisanga nga\n" " teziriiko kantu eziwera NAMBA nga ziri\n" " wamu, okuzibala ng'olunyiriri lumu\n" " -n, --number-format=MPANDIKA Buno bukireetera ennyiriri okuziteekako\n" " ennamba nga zigoberera MPANDIKA\n" " -p, --no-renumber Buno bwo bukireetera ennamba ez'ennyiriri\n" " okuzibalira okuva ku 'lupapula' olw'omu\n" " kiwandike olusooka, sso ssi okuva ku\n" " ntandikwa ya buli 'lupapula'.\n" " -s, --number-separater=KIGAMBO Buno ate bukireetera ennamba ez'ennyiriri\n" " okuzigoberezanga KIGAMBO\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=NAMBA Buno buleetera ennamba ey'olunyiriri\n" " olusooka ku buli 'lupapula'olw'omu " "kiwandike\n" " okuba NAMBA\n" " -w, --number-width=NAMBA Buno buleetera ennamba ez'ennyiriri\n" " okumalangawo ebifo NAMBA mu buli " "lunyiriri\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Ekiragiro kino, enneyisa yaakyo bw'ebeera tefuulidwamu, kyeyisa nga ekiriko\n" "obuwayiro obwa '-v1 -i1 -l1 -sLUSEETUKA -w6 -nrn -hn -bt -fn'.\n" "Obubonero NN buba bubonero bubiri obw'eyambisibwa okuwawula wakati wa " "'mpapula'\n" " ez'omu kiwandike. Ennukuta eyokubiri bw'etabeerako kiba kitegeeza nti:. \n" "wawandikibweewo \\\\ mu kifo ekya \\. MPANDIKA kibeera kimu ku:\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a Ennyiriri zonna zibeereeko ennamba\n" " t Ennamba ziteekebwa ku nyiriri ezitali njereere zokka\n" " n Ennyiriri zonna tezibaako ennamba\n" " pEMBOOZI Ennyiriri ezirimu ennukuta ezifaanana EMBOOZI ze zokka\n" " eziba ziteekebwako ennamba\n" "\n" "MPANDIKA kiba kimu ku:\n" "\n" " ln Ennyiriri zonna zikwate ku ludda olwa kkono. Ennyiriri\n" " ekiragiro ne kitazijjuzisaamu zi-zero\n" " rn Ennyiriri zonna zikwate ku ludda olwa ddyo. Ennyiriri\n" " ekiragiro ne kitazijjuzisaamu zi-zero\n" " rz Ennyiriri zonna zikwate ku ludda olwa ddyo. Ennyiriri\n" " ne kizijjuzisamu zi-zero\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "ennamba ey'ennyiriri tejjaamu mu ggwanika zzibizi" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "omusono ogw'ennamba eza ku nnyiriri eza mu bikulembera ssi ntuufu: %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "omusono ogw'ennamba eza ku nnyiriri eza mu kiwandike ssi ntuufu: %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "empandika y'ennamba eza ku nnyiriri eza mu bizibirizi ssi ntuufu: %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "ennamba ey'olunyiriri tekkirizibwa: %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "enjawulo mu nnamba ez'ennyiriri ezigobereragana tekkirizibwa: %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "obungi obw'ennyiriri enjereere tebukkirizibwa: %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "obungi obw'ebifo ebiweredwa ennamba ez'ennyiriri tebukkirizibwa: %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "entereeza eya namba ez'ennyiriri tekkirizibwa: %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s KIRAGIRO [AGU]...\n" " oba: %s KAWAYIRO\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Ekiragiro kino kiyisa kinnaakyo KIRAGIRO mu ngeri nti eyatandise omulimu\n" "ne bwe yewandisululako ku kompyuta KIRAGIRO kisigala nga kigukola.\n" "\n" #: src/nohup.c:65 #, fuzzy, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "KIRAGIRO bwe kiba nga awayingizibwa awa bulijjo wakyo kiwandikiro, nohup\n" "ekyusa ne kiba nga ekinoonyeza ebiyingizibwa okuva mu /dev/null.\n" "KIRAGIRO bwe kiba nga wateekebwa ebivaamu awa bulijjo wakyo kiwandikiro,\n" "nohup ekyusa ne kiba nga ebivaamu byakyo kibiteeka mu fayiro 'nohup.out'.\n" "Bwe kitasobola ekyo, kibiteeka mu '$HOME/nohup.out'.\n" "Awalagibwa ebifa ku kiremya awa bulijjo bwe kiba nga kiwandikiro, nohup\n" "ekyusa ne bigenda awateekebwa ebivaamu awa bulijjo.\n" "Bw'obanga oyagala ebivaamu bigende awalala, ekiragiro okikozesa bwotyi:\n" "'%s KIRAGIRO > FAYIRO', nga FAYIRO kye kifo gy'oyagala ebivaamu bigende.\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "sisobodde okulemesa bintu kuva awayingizibwa awa bulijjo" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "ebiyigizibwa tebigenda kufiibwako" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "" "ebiyingizibwa tebigenda kufiibwako ate\n" "ebivaamu byo byongerwa ku %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "ebivaamu mbiwayira ku %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "nemedwa okutegeka eby'okuwandika 'stderr' bikome nga omulimu guwedde" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "ebiyingizibwa tebigenda kufiibwako ate ebyandigenze\n" "ku stderr byo bigenda kusindikibwa ku stdout" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "ebyandigenze ku stderr bigenda kusindikibwa ku stdout" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "Ebifa ku mitawana nemedwa okukyusa gye biwandikibwa" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Ekiragiro kino kibala obungi bw'ebitundu ebibazi omulimu ogubindabinda\n" "bye gusobola okukozesa. Kompyuta eyinz'okuba nga erina n'ebirala\n" "ebisingawo obungi\n" "\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all Akawayiro kano kakireetera okuwandikawo obungi bw'ebitundu\n" " ebibazi kompyuta by'erina\n" " --ignore=N Bwe kiba kibala ebitundu ebibazi ebiri mu kompyuta,\n" " kano kakireetera kubuukako N, ebyo ne kitabibalirimu\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s: tekigasa kubuukako ebitundu ebibazi ebyenkana awo" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "" #: src/numfmt.c:676 #, fuzzy, c-format msgid "value too large to be converted: '%s'" msgstr "%s: obubonero bumu bwokka bwe bukoledwako" #: src/numfmt.c:680 #, fuzzy, c-format msgid "invalid number: '%s'" msgstr "namba %s tekkirizibwa" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "" #: src/numfmt.c:688 #, fuzzy, c-format msgid "invalid suffix in input: '%s'" msgstr "agumenti %s%s erina akatandikwa '%s' akatakoler'awo" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "" #: src/numfmt.c:723 #, fuzzy, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "%s nnemedwa okugibikkula kugiwandikamu" #: src/numfmt.c:787 #, fuzzy, c-format msgid "invalid unit size: '%s'" msgstr "obuwanvu obw'oluseetuka obuweeredwa: %s tebukkirizibwa" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "" #: src/numfmt.c:813 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [AKOZESA]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr "" #: src/numfmt.c:877 #, fuzzy msgid "" "\n" "UNIT options:\n" msgstr "" "Obuwayiro obulala:\n" "\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "empandika %s ebulako ekitundu ekya %%" #: src/numfmt.c:990 #, fuzzy, c-format msgid "invalid format %s (width overflow)" msgstr "entereeza ey'obudde, %s, tekkirizibwa" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "empandika %s ekomekkerezedwa %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "empandika %s erimu ebitundu ebya %% ebiyitiridde obungi" #: src/numfmt.c:1070 #, fuzzy, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "agumenti %s%s erina akatandikwa '%s' akatakoler'awo" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" #: src/numfmt.c:1388 #, fuzzy, c-format msgid "invalid padding value '%s'" msgstr "olubu lw'empapula %s terusoboka" #: src/numfmt.c:1401 #, fuzzy, c-format msgid "invalid field value '%s'" msgstr "ennamba ey'ekitundu eky'olunyiriri ekikolebwako: `%s', tekola" #: src/numfmt.c:1430 #, fuzzy, c-format msgid "invalid header value '%s'" msgstr "obudde, %s, tebukkirizibwa" #: src/numfmt.c:1456 #, fuzzy, c-format msgid "--grouping cannot be combined with --format" msgstr "" "tosobola okussawo aka --files0-from ate n'oteekawo ne fayiro ez'okukolako" #: src/numfmt.c:1458 #, fuzzy, c-format msgid "--padding cannot be combined with --format" msgstr "" "tosobola okussawo aka --files0-from ate n'oteekawo ne fayiro ez'okukolako" #: src/numfmt.c:1463 #, fuzzy, c-format msgid "no conversion option specified" msgstr "obuwayiro obwa -i buyitiridde obungi" #: src/numfmt.c:1471 #, fuzzy, c-format msgid "grouping cannot be combined with --to" msgstr "" "tosobola okussawo aka --files0-from ate n'oteekawo ne fayiro ez'okukolako" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "" #: src/numfmt.c:1511 #, fuzzy, c-format msgid "error reading input" msgstr "wazzewo kiremya mu kusoma %s" #: src/numfmt.c:1520 #, fuzzy, c-format msgid "failed to convert some of the input numbers" msgstr "sisobodde okulemesa bintu kuva awayingizibwa awa bulijjo" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]...\n" " oba: %s [-abcdfilosx]... [FAYIRO] [[+]AWATANDIKIRWA[.][b]]\n" " oba: %s --traditional [FAYIRO] [FAYIRO] [[+]AWATANDIKIRWA[.][b] [+]" "[KIPANDE][.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Ekiragiro kino kiwandika ebiri mu FAYIRO awateekebwa ebizzibwa pulogulamu " "mu\n" "ebya bulijjo, nga kibiwandikira mu mpandika eya okitariyo (singa " "tekikakibwa\n" "okubiragira mu dekanariyo).\n" "FAYIRO bwe zisukka mu emu, ekiragiro ebizirimu kibitwala nga ebigattidwa\n" "mu fayiro emu.\n" "Ekiragiro bw'otokiraga FAYIRO, oba FAYIRO bwe kiba '-', bye kikolako\n" "kibifuna okuva awayingizibwa awa bulijjo.\n" "\n" #: src/od.c:307 #, fuzzy msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "\n" "Ekiragiro kino bwe kiba nga kisobola okukolera ku mateeka ag'okukiyisa\n" "ag'engeri esooka n'eyokubiri, ekikolebwako ekisembayo ne kiba nga\n" "kisookako ka '+' oba digiti ekiragiro kikolera ku mateeka ag'engeri\n" "ey'okubiri. Ekikolebwako ekimu bwe kiba 'AWATANDIKIRWA', kiba kyekimu\n" "n'okussawo nti '-j AWATANDIKIRWA'. KIPANDE y'endagiriro en'efaanayirize\n" "eya bayiti en'esooka okuwandikibwa. Eno endagiriro eyongerwayo buli lwe\n" "wabeerawo ebirala ebiwandikibwa. AWATANDIKIRWA ne KIPANDE, bwe\n" "bikulemberwa 0x oba 0X kitegeeza nti bibalibwa mu mbala eya\n" "hekisadekanariyo. AWATANDIKIRWA ne KIPANDE bisobola okukomekkerezesebwa\n" "'.' ekitegeeza ntibinaabalibwa mu okitariyo, oba 'b', ekitegeeza nti\n" "ennamba zikubisibwamu 512.\n" #: src/od.c:318 #, fuzzy msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIKISI Bw'ossaako kamu ku buwayiro buno, kategeka\n" " ebirengo ebinaakozesebwa mu kuwandika " "nnamba\n" " eziraga awatandikirwa mu fayiro - ennamba\n" " kiziwandika ne radikisi eya RADIKISI\n" " -j, --skip-bytes=BAYITI Buno bukireetera bayiti BAYITI ezisooka ku\n" " nnyiriri ezisomebwa mu ebiva ku nnono\n" " butazibala nga eby'okukolebwako. Ezo ze\n" " zikola ennamba eziraga olunyiriri we\n" " lutandikira mu fayiro\n" #: src/od.c:323 #, fuzzy msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BAYITI Buno bwo bukireetera okukola ku bayiti\n" " BAYITI ezisooka eza mu fayiro eziweeredwa\n" " -s, --strings[=BAYITI] Buno bukireetera abivaamu okubiwandika nga\n" " kyeyambisa ebigambo ebikoledwa mu bubonero\n" " obw'ennukuta, ebigambo ebyo nga buli kimu\n" " obuwanvu bwakyo tebukka wansi wa bayiti\n" " BAYITI\n" " -t, --format=KIKA Buno butegeka empandika ey'ebivaamu, ebe " "ya\n" " kika KIKA\n" " -v, --output-duplicates Buno bukireetera ennyiriri ezigobereragana\n" " nga zifaanagana zonna okuziwandika mu\n" " bujjuvu, mu kifo eky'okuteekawo ka '*'\n" " -w, --width[=BAYITI] Buno butegeka buli lunyiriri olw'omu " "bivaamu\n" " lubeereemu bayiti BAYITI\n" " --traditional Kano kakireetera okukolera ne ku agumenti\n" " ez'enkola eyasookawo\n" #: src/od.c:336 #, fuzzy msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "Entereeza ez'ekika ekyasookawo zikkirizibwa okutabikibwa; obuwayiro\n" "obuzitegeka busobola okugattikibwa:\n" " -a Kye kimu ne -t a, kakireetera okukozesa nnukuta ezaatuumwa " "amannya\n" " -b Kye kimu ne -t oC, kakireetera okukozesa bayiti ez'omu okitariyo\n" " -c Kye kimu ne -t c, kano kakireetera okukozesa nnukuta ez'omu ASCII\n" " oba obusazze obw'akaddannyuma obusumulula ennukuta okuva mu nkola\n" " yaazo eya bulijjo\n" " -d Kye kimu ne -t u2, kano kakireetera okukozesa nnamba eza\n" " dekanariyo enfunze\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f Kyekimu ne -t fF, kaleetera ekiragiro okuwandika ennamba\n" " nga zifunzidwa mu bitundu bisatu\n" " -i Kyekimu ne -t d2, kaleetera ekiragiro okuwandika ennamba mu\n" " mpandiika eya namba enzijjuvu enfunda eza mu dekanariyo\n" " -l Kyekimu ne -t dL, kaleetera ekiragiro okuwandika ennamba mu\n" " mpandiika eya namba enzijjuvu engazi eza mu dekanariyo\n" " -o Kyekimu ne -t o2, kaleetera ekiragiro okuwandika ennamba mu\n" " mpandiika eya namba enzijjuvu enfunda eza mu okitadekanariyo\n" " -x Kyekimu ne -t x2, kaleetera ekiragiro okuwandika ennamba mu\n" " mpandiika eya namba enzijjuvu enfunda eza mu hekisadekanariyo\n" #: src/od.c:353 #, fuzzy msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "KIKA kirimu kimu, oba bimu ku:\n" "\n" " a Erinnya ery'akabonero akaatumwa\n" " c Akabonerp aka ASCII oba akasazze ak'akaddannyuma - " "akasumulula\n" " ebikagoberera okuva mu nkola yaabyo eya bulijjo\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[BUNGI] Ennamba ey'omu dekanariyo eya sigino. Buli digiti ya mu " "etwala\n" " bayiti BUNGI\n" " f[BUNGI] Ennamba efunzidwa mu bitundu bisatu. Buli digiti ya mu etwala\n" " bayiti BUNGI\n" " o[BUNGI] Ennamba ey'omu okitariyo. Buli digiti ya mu etwala bayiti\n" " BUNGI\n" " u[BUNGI] Ennamba ey'omu bekanariyo etali ya sigino. Buli digiti ya mu\n" " etwala bayiti BUNGI\n" " x[BUNGI] Ennamba eya hekisadekanariyo. Buli digiti ya mu etwala bayiti\n" " BUNGI\n" #: src/od.c:367 #, fuzzy msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "BUNGI eba namba. KIKA bwe kiba kimu ku d, o, u, ne x, BUNGI olwo\n" "esobola okubeera C - ekirina amakulu ge gamu ne sizeof(char), S - ekirina\n" "amakulu ge gamu ne sizeof(short), I - ekirina amakulu gegamu ne sizeof" "(int),\n" "oba L - ekirina amakulu ge gamu ne sizeof(long). KIKA bwe kiba f, olwo\n" "BUNGI esobola okubeera F - kirina amakulu ge gamu ne sizeof(float), D -\n" "ekirina amakulu gegamu ne sizeof(double), oba L - ekirina amakulu ge gamu " "ne\n" "sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" #: src/od.c:379 #, fuzzy msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "Ku K osobola okuwayirako akafundikwa akagibazzaamu:\n" "b 512, kB 1000, K 1024, MB 1,000,000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ko ne T, P, E, Z, Y bwebutyo.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "%s tekikkirizibwa kukola ng'ekigambo ekifuga 'kika'" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "%s tekikkirizibwa kukola ng'ekiganbo ekifuga 'kika';\n" "anti sisitemu eno tekozesa namba nzijuvu eza bayiti %lu" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "%s tekikkirizibwa kukola ng'ekiganbo ekifuga 'kika';\n" "anti sisitemu eno tekozesa namba nzijuvu eza bayiti %lu" #: src/od.c:828 #, fuzzy, c-format msgid "invalid character '%c' in type string %s" msgstr "" "akabonero '%c' mu kigambo %s ekifuga empandika ey'ebivaamu tekakkirizibwa" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "" "bayiti z'ondagidde okubuuka zisinga obunene obwa fayiro z'ompadde okukolako" #: src/od.c:1609 #, fuzzy, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "'%c' ssi emu ku radikisi mwensobolera okuwandikira bayiti data ey'omu " "fayiro\n" "kw'etandikira; kozesa kamu ku buno obubonero obuna: d o x n" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "" "bw'okozesa akawayiro '-S' oba '--strings' tokkirizibwa kukozesa n'ate '-t'\n" "oba '--format'" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "" "'od' bw'ebeera egoberera enkola mpya n'enkadde awamu,\n" "esobolako fayiro emu yokka" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" "bwogatta bayiti ezisook'okubuukibwa ne bayiti eziba zikolebwako,\n" "ekivaamu kisinga bunene bw'ebigenda kukolebwako" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "kulabula: obuwanvu %lu tebusoboka; 'od' egenda kukozesaamu %d" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s: ekiragiro tekikola wano" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "awayingizibwa awa bulijjo wabikkidwa" #: src/paste.c:439 #, fuzzy msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino ebivaamu byakyo kibiwandika awateekebwa ebiva mu " "zipuloguramu\n" "awa bulijjo. 'paste' egenda nga mu buli FAYIRO esomamu olunyiriri lumu lumu\n" "n'eziwandika nga ziddirinngana nga z'awulannganidwa enseetuka. Bw'emala\n" "olunyiriri lumu lumu mu FAYIRO zonna, ebiddako nabyo ebiwandikira ku\n" "lunyiriri lupya awateekebwa ebiva mu zipuloguramu awa bulijjo.\n" "Ekiragiro kino bwe kubulako FAYIRO mu agumenti z'okiwa, oba singa agumenti\n" "eya FAYIRO we yandigenze ossawo ka '-', kikusuubira kuwandika bye " "kinaakolako\n" "awayingizibwa awa bulijjo.\n" "\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LUKALALA Bw'ossawo kamu ku buwayiro buno ekiragiro\n" " kikozesaamu obubonero obuli mu LUKALALA\n" " mu kifo kya nseetuka\n" " -s, --serial Buno buleetera 'paste' okusooka kuwandika\n" " nnyiriri zona ez'omu fayiro emu eryoke " "ewandike\n" " ez'omu egiddako\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "olukalala olw'obubonero obw'awuzi lukomekkerezedwa akasaze\n" "ak'akaddanyuma akatasumuludwa mu nkola yako eya bulijjo: %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Ekiragiro kino kikebera amannya aga fayiro okulaba oba mulimu\n" "agatakkirizibwa oba agayinza butakolera ku sistemu endala.\n" "\n" " -p Bw'ossaako akawayiro kano kikeberera sistemu\n" " ezigoberera enkola eya POSIX ezising'obungi\n" " -P Kano ko kakireetera okukebera oba fayiro terina\n" " linnya oba erinnya lyayo litandika na \"-\"\n" " --portability Kano ko ate kakireetera okukeberera sisitemu\n" " zonna ezigoberera enkola eya POSIX. Obeera nga\n" " eyataddewo '-p -P'\n" #: src/pathchk.c:170 #, fuzzy, c-format msgid "leading '-' in a component of file name %s" msgstr "erinnya lya fayiro, %s, lirimu ekitundu ekisookako ka '-'" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "" "akabonero %s mu linnya lya fayiro %s kayinza butakkirizibwa ku sisitemu " "endala" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "awandibadde linnya lya fayiro waliwo bbanga" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s: nnemedwa okuzuula ekkomo ly'obuwanvu bw'amannya ga fayiro" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "ekkomo %lu, obuwanvu %lu obw'erinnya lya fayiro %s buliyiseeko" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "ekkomo %lu, obuwanvu %lu obw'ekitundu ky'erinnya lya %s buliyiseeko" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Erinnya ery'oku sisitemu: " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Erinnya erijjuvu: " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Terekero: " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Nzivvuunuzi: " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Pulojekiti: " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Entegeka:\n" #: src/pinky.c:405 msgid "Login" msgstr "Lyakusisitemu" #: src/pinky.c:407 msgid "Name" msgstr "Linnya" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Kasirikiriro" #: src/pinky.c:411 msgid "When" msgstr "Ddi" #: src/pinky.c:414 msgid "Where" msgstr "Wa" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [AKOZESA]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l Kano kaleetera ekiragiro okuwandika ebikwata ku buli\n" " MUKOZESA mu bujjuvu\n" " -b Kano kaleetera ekiragiro obutawandikawo etterekero\n" " n'ekika ky'enzivvuunuzi eby'omukozesa nga kiwandika\n" " eby'omubujjuvu\n" " -h Kano kaleetera ekiragiro obutawandikawo fayiro eya\n" " pulojekiti ey'omukozesa nga kiwandika eby'omubujjuvu\n" " -p Kano kaleetera ekiragiro obutawandikawo fayiro " "ey'entegeka\n" " ey'omukozesa nga kiwandika eby'omubujjuvu\n" " -s Kano kaleetera ekiragiro okuwandika ebikwata ku buli\n" " MUKOZESA mu bufunze, eno y'enkola yakyo eya bulijjo ne\n" " bw'otateekawo akawayiro kano\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f Kano kaleetera ekiragiro obutawandikawo mitwe ku " "bivaamu\n" " eby'omubufunze\n" " -w Kano kaleetere ekiragiro butawandikawo linnya " "ly'omukozesa\n" " erijjuvu nga kiwandika eby'omubufunze\n" " -i Kano kaleetera ekiragiro obutawandikawo erinnya\n" " ly'omukozesa erijjuvu ne kompyuta ennyunge kwasinzidde " "nga\n" " kiwandika eby'omubufunze\n" " -q Kano kaleetera ekiragiro obutawandikawo erinnya\n" " ly'omukozesa erijjuvu, kompyuta ennyunge kwasinzidde " "ko\n" " n'obudde bw'amaze ng'asirikiriridde bwe kiba nga\n" " kiwandika eby'omubufunze\n" #: src/pinky.c:511 #, fuzzy, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Eno puloguramu erin'obusobozi obufaananamu obwa gye bayita `finger';\n" "ewandikawo ebikwata ku bakazosa abali ku sisitemu. Ekozesa fayiro\n" "egoberera abayingira n'abava mu sistemu esangibwa ku %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "toweereddeko linnya lya mukozesa; bw'okozesa akawayiro '-l'\n" "oteekwa okuweerako n'erinnya ly'omukozesa wakiri omu" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, fuzzy, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "'--pages=OLUSOOKERWAKO[:OLUMALIRWAKO]'kukyabulako agumenti" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "olubu lw'empapula %s terusoboka" #: src/pr.c:975 #, fuzzy, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" "'-l BUNGI_BW'ENNYIRIRI' obungi obw'ennyiriri ku\n" "lupapula, %s, tebusoboka" #: src/pr.c:999 #, fuzzy, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "'-N LUNYIRIRI' okutandikira ku lunyiriri olwo tekisoboka: %s" #: src/pr.c:1011 #, fuzzy, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "" "'-o' BBANGA eryo ebbanga ery'okulekangawo\n" "ku ntandikwa z'ennyiriri terisoboka: %s" #: src/pr.c:1052 #, fuzzy, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "'-w BUGAZI_BW'OLUPAPULA' obuwo obungi bw'obubonero tebusoboka: %s" #: src/pr.c:1066 #, fuzzy, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "'-W BUGAZI_BW'OLUPAPULA' obuwo obungi bw'obubonero tebusoboka: %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "tokkirizibwa okutegeka obungi bw'enkumbo bw'obanga ate\n" "otegese ekiragiro buli fayiro kigiwandikire mu lukumbo lwa yo" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "" "Ekiragiro kino bwe kibanga kikola ku fayiro ezisukka mu emu\n" "nga buli emu ebigirimu kibiteeka mu lukumbo lwa byo, tosobola\n" "kufuga bungi bw'enkumbo ezikolebwawo." #: src/pr.c:1196 #, fuzzy, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "" "'-%c' agumenti erimu obubonero obuyitiridde obungi, oba\n" "omuwendo gw'otaddewo tegukkirizibwa: %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "olupapula lujjakuyitirira okufunda" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "olupapula lw'ogambye okutandikirako, %<PRIuMAX>,\n" "eziri mu fayiro, %<PRIuMAX>, zo tezituukayo" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "ennamba y'olupapula tejja mu ggwanika zzibizi" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Lupapula %<PRIuMAX>" #: src/pr.c:2757 #, fuzzy msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "" "Ekiragiro kino ebiri mu FAYIRO kibitegeka ng'empapula z'ekitabo oba ne mu\n" "nkumbo bisobole okulabika obulungi na bikubisidwa ku kyapa (pulinta).\n" "\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +OLUSOOKERWAKO[:OLW'OKUMALIRAKO], --pages=OLUSOOKERWAKO[:OLW'OKUMALIRAKO]\n" " Kano akawayiro kaleetera ekiragiro okutandikira ku\n" " lupapula olw'omu FAYIRO OLUSOOKERWAKO n'okumalira\n" " ku lupapula [OLW'OKUMALIRAKO]\n" " -NKUMBO, --columns=NKUMBO\n" " Kano akawayiro kaleetera ekiragiro okutegeka bye\n" " kisanga mu FAYIRO nga ebigobereragana biri mu nkumbo,\n" " okugyako nga kuliko n'akawyiro '-a'.\n" " Era kigezako okulaba nti ku lupapula enkumbo zonna\n" " z'enkanyankanya obungi bw'ennyiriri ezizirimu\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a. --across Bw'ossawo kamu ku buwayiro buno, kaleetera ekiragiro\n" " ebyandibadde bidda wansi wa binnabyo mu nkumbo\n" " okubitegeka nga bidda kyabugazi. Buno bukola\n" " nga okozesezza n'aka '-NKUMBO'\n" " -c, --show-control-chars\n" " Buno buleetera ekiragiro okuwandikawo\n" " n'obubonero obufuzi obutalagibwa bulijjo\n" " (okugeza nga ^G)\n" " -d, --double-space\n" " Buno bwo buleetera ekiragiro okuteekangawo\n" " olunyiriri olwereere wakati w'ennyiriri ezidirinngana\n" " eziva mu FAYIRO\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=NTEREEZA\n" " Buno obuwayiro bufuga engeri ekiragiro gye " "kiwandikamu\n" " obudde mu mitwe gy'empapula ze kikola mu biva mu " "FAYIRO.\n" " Obubonero bw'ossa awali ekigambo NTEREEZA " "kibiwandikawo\n" " nga tekibikyusizzaako (okugyako obusookerwako '%')\n" " Okugeza, bw'owandika --date-format=\"Balaza Lwaggulo " "\",\n" " mu mutwe gwa buli lupapula 'pr' lwe kikola mu biva mu\n" " FAYIRO kiwandikamu nti Balaza Lwaggulo.\n" " -e[LUSEETUKA[BUNGI]], --expand-tabs[=LUSETUKA[BUNGI]]\n" " Kano akawayiro kaleetera ekiragiro buli we kisanga\n" " obubonero obutegeeza nti awo waliwo oluseetuka nga " "kikola\n" " ku FAYIRO, mu bye kifulumya, okussawo akabangirizi.\n" " Singa mu FAYIRO baba nga obubonero bwebakozesezza " "okulaga\n" " nseetuka ssi bwe bwa bulijjo, awali ekikongozzi " "LUSEETUKA\n" " ossaawo obubonero obwo bwe baakozesezza. Obubonero " "obwo\n" " bwe buba nga obungi bwabwo bwa njawulo ku bwa " "bulijjo,\n" " awali ekikongozzi BUNGI w'owandikira obungi " "bw'obubonero\n" " bwe baba bakozesezza.\n" " -F, -f --form-feed\n" " Bw'ossawo kamu ku buno kaleetera ekiragiro, bwe\n" " kituuka ku nkomeroro ey'olupapula, okussaawo " "obubonero\n" " obufuzi obuleetawo okukyusa lupapula mukifo\n" " eky'obulagira kutandika lunyiriri lupya obw'emirundi\n" " esatu\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h MUTWE, --header=MUTWE\n" " Buno buleetera ekiragiro, bwe kiba kiwandika\n" " emitwe ku mpapula ze kikolawo, okussaawo ebigambo\n" " by'otadde awali ekikongozzi MUTWE mu kifo eky'ebya\n" " bulijjo. Ebigambo by'oteekawo biteekwa okusookerawko\n" " ka ' era ne bikomekkerezebwako ka '.\n" " Kulabula: bw'obanga oyagala omutwe gube nga temuli\n" " bigambo okozesanga -h \"\" tokozesa -h\"\"\n" " -i[KABONERO[BUNGI]], --output-tabs[=KABONERO[BUNGI]]\n" " Kano akawayiro kaleetera ekiragiro okuteekawo " "oluseetuka\n" " buli awandibade akabanga aka bulijjo. Ob'oyagala\n" " akabonero akatali ak'okoluseetuka aka bulijjo, " "kateeke\n" " awali ekikongozzi KABONERO. Bw'oba oyagala enseetuka\n" " ezo zimalewo ebifo eby'obubonero ebisukka oba\n" " ebitawera munaana ebya bulijjo, obungi obwo buteeke\n" " awali ekikongozzi BUNGI\n" " -j, --join-lines Okozesa kamu ku buno, kateekwa okubaako n'akamu ku\n" " buwayiro '-column', '-a -column' oba '-m'.\n" " Kaleetera ekiragiro obutakutula mu nnyiriri ze " "kisanga\n" " mu FAYIRO ezisinga olukumbo olumu obugazi. Bwe " "kiziwandika\n" " ezo, ziba ziyitamu mu nkumbo nga zikozesezza " "n'amabanga\n" " agandibadde g'awula nkumbo zazo. Akawayiro kano\n" " kasobola okukozesebwa n'aka '--sep-string'\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l NNYIRIRI, --length=NNYIRIRI\n" " Kano akawayiro kakyusa obungi bw'ennyiriri eziba ku\n" " buli lupapula olukolebwawa okuva ku 66 eza bulijjo\n" " (okwo 56 ze zibeera ebivudde mu FAYIRO oba, bwe " "kubaako\n" " akawayiro '-F', 63). Ekikongozzi NNYIRIRI z'ennyiriri\n" " z'oyagala ziwezenga olupapula. Bwe zitasukka mu kkumi\n" " (oba 3 nga '-F' kwekali) ekiragiro empapula " "tekiziteekako\n" " mitwe era kirekayo n'okuteekangamu obubonero " "obulagira\n" " kutandika lupya\n" " -m, --merge Kano bwe kabeerako, buli FAYIRO ekiragiro kigiteeka " "mu\n" " lukumbo lwa yo. Ennyiriri ezisinga nkumbo obugazi " "zisalwako,\n" " ebitundu ebiyitamu ne bitawandikibwa. Akawayiro kano\n" " kasobola kukolagana n'aka '-J'\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[AK'AWULA[DIGITI], --number-lines[=AK'AWULA[DIGITI]]\n" " Buno obuwayiro buleetera ekiragiro okuteekako ennamba\n" " ku ntandikwa za buli lunyiriri lwe kiwandika.\n" " Ennamba ezo ziba za digiti DIGITI okugyako nga ekifo\n" " eky'ekikongozi DIGITI okireka nga kyereere. Olwo " "ennamba\n" " ezo ziba za digiti 5. Ennamba ezo zigobererwa " "obubonero\n" " bw'oba otaddewo mu kifo eky'ekikongozi AK'AWULA nga " "bwe\n" " buz'awula ku birala ebiri ku lunyiriri olwo.\n" " singa ekifo eky'ekikongozi AKAWULA okireka nga " "kyereere\n" " enseetuka ze ziba nga ze z'awula ennamba ezo ku " "birala\n" " ebiri ku lunyiriri.\n" " -N, --first-line-number=NAMBA\n" " Buno bwo buleetera ekiragiro okuwandika ennamba nga " "mu\n" " kifo eky'okabala okuva ku 1, kitandikira ku NAMBA, " "ate\n" " ennamba kiziwandika ne ku nnyiriri ezikulembera\n" " n'ezigoberera ezo eziriko ebiva mu FAYIRO ekolebwako\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o BUNGI, --indent=BUNGI\n" " Buno obuwayiro buleetera ekiragiro okuyisawo\n" " obubanga BUNGI ne kiryoka kitandika kuwandikawo\n" " ebiri ku lunyiriri. Kino tekikyusa obungi\n" " bw'obubonero obuwandikibwa mu lunyiriri obwategekedwa\n" " nga weyambisa obuwayiro '-w' oba ';W'\n" " -r, --no-file-warnings\n" " Buno obukozesa nga toyagala ekiragiro kikulabule nga\n" " kiremedwa okuggula FAYIRO\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[KABONERO], --separator[=KABONERO]\n" " Buno obuwayiro buleetera ekiragiro okuwandikawo " "KABONERO\n" " okulaga olukumbo olumu gye lukoma olulala ne " "lutandika. Obuwayiro\n" " buno awali KABONERO bw'olekawo nga wereere ekiragiro\n" " kiwandikawo akabonero ak'oluseetuka okulaga olukumbo\n" " gye lukoma olulala ne lutandika. Sso " "bw'obukozesez'awamu\n" " n'aka '-w' n'oleka awali KABONERO nga wereere olwo\n" " ekiragiro nkumbo tekiz'awulamu, olumala kuwandika\n" " ennukuta esembayo ku lukumbo olumu kitandika " "oluddako.\n" " Akawayiro -s bw'okakozesez'awmu ne kamu ku buno:\n" " -NKUMBO, -a -NKUMBO oba -m, kaleetera ekiragiro\n" " butatemamu nnyiriri ze kigye mu FAYIRO nga kigeza\n" " okuzigyisa mu nkumbo. Bwe kubaako n'aka -w ate\n" " ekiragiro kisigala ennyiriri kizitemamu\n" #: src/pr.c:2827 #, fuzzy msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SBUBONERO, --sep-string[=BUBONERO]\n" " Obuwayiro buno buleetera ekiragiro okuwandikangawo\n" " BUBONERO okulaga nti olukumbo olumu we lukoma " "n'olulala\n" " we lutandikira. Buno obuwayiro bwe bukozesebwa nga\n" " kuliko n'akamu ku '-w' oba '-W', enkola ya '-W' ne\n" " '-w' tekyukako, obutafaanana n'aka '-s'.\n" " -t, --omit-header Buno bwo bukireetera butawandikawo mitwe n'obugambo\n" " obuba ku nkomerero ez'empapula\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro\n" " obutawandika mitwe gy'empapula era ne kitateekamu\n" " obubonero obulagira kutandika lupapula lupya mu bye\n" " kiwandika\n" " -v, --show-nonprinting\n" " Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro\n" " okulaga n'obubonero obutalabika bulijjo. " "Kibuwandikira\n" " mu mpandika eya ki-okita\n" " -w, --width=BUNGI\n" " Buno obuwayiro tebukola okugyako nga okzesezza\n" " n'akaleetawo nkumbo ezisoba mu lumu. bw'okozesa kamu " "ku\n" " buwayiro buno kaleetera ekiragiro okukomanga ku\n" " bubonero BUNGI ku buli lunyiriri oluwandikibwa. " "Olukumbo\n" " bwe luba lumu obuwayiro buno tebulina kye bukolawo\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=BUNGI\n" " Bw'okozesa kamu ku buno obuwayiro kaleetera ekiragiro\n" " okukomanga ku bubonero BUNGI ku buli lunyiriri lwe\n" " kiwandika. Buno tebufaayo oba waliwo obuwayiro " "obulagira\n" " nkumbo ezisoba mu lumu oba tebuliwo nga olukumbo " "lujjakuba\n" " lumu lwokka. Ekiragiro mu FAYIRO bwe kisangamu " "ennyiriri\n" " esinga olukumbo obugazi ezo kizitemamu, okujjako nga\n" " otaddewo n'akawyiro '-J'. Olukumbo bwe luba luli lumu " "lwokka\n" " ekiragoro ennyiriri tekizitemamu. Bwo obuwayiro '-s'\n" " ne '-S' tebulina kye bukyusa ku nkola eya buno\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "BUNGI bwe kiba tekisukka mu 10, ekiragiro tekiwandikawo mitwe\n" "gy'empapula era kirekayo okuwandika obubonero obulagira\n" "kutandika lupya bwe kisanga mu FAYIRO. kwe kugamba nti kyeyisa\n" "nga eyakozesezza n'akawayiro '-t'. Agumenti eya FAYIRO\n" "bw'otogiteekawo, kyo kirinda kukola ku by'owandika\n" "awayingizibwa awa bulijjo.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [KIGAMBO]...\n" "Kino kiwandikawo ekikongojjedwa mu kigambo ekifuga nzivvuunuzi KIGAMBO.\n" "Bw'obanga totaddewo KIGAMBO, ekiragiro kiwandikawo ebikongojjedwa mu\n" "buli kigambo ekifuzi ekikola enviromenti yo.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null Bw'ossawo kamu ku buno bukireetera okussawo bayiti eya 0 " "ku\n" " nkomerero ya buli lunyiyiri lwe kiwandika, mu kifo\n" " eky'akabonero aka bulijjo\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "kulabula: wayongedeko :%s ku bubonero obuvamu ennamba. Bwebityo tebikolebwako" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Enkozesa y'ekiragiro kino eri: %s EMPANDIKA [AGUMENTI]...\n" " oba: %s KAWAYIRO\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Ekiragiro kino kiwandikawo AGUMENTI nga kikozesa EMPANDIKA, oba kikola\n" "omulimu nga gufugibwa KAWAYIRO:\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "EMPANDIKA efuga ekiragiro bye kiwandika mu ngeri y'emu ne printf\n" "ey'omu lulimi 'C'\n" "Ekiragiro kitegeera EMPANDIKA zino:\n" "\n" " \\\" Bw'ossaawo kino ekiragiro kiwandikawo ak'ogeza, \" \n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN Ekiragiro kiwandika ennukuta eva mu namba eya ASCII NNN\n" " (eya ki-okita nga ya digiti 1, 2 oba 3)\n" " \\xHH Ekiragiro kiwandika ennukuta eva mu namba eya ASCII HH\n" " (eya ki-hekisi nga ya digiti 1 oba 2)\n" " \\uHHHH Ekiragiro kiwandikawo akabonero ak'omu 'Unicode'\n" " (ISO/IEC 10646) akakongojja ennamba eya ki-hekisi HHHH\n" " (ya digiti nya)\n" " \\UHHHHHHHH Ekiragiro kiwandikawo akabonero ak'omu 'Unicode' akakongojja\n" " ennamba eya ki-hekisi HHHHHHHH (ya digiti munaana)\n" #: src/printf.c:123 #, fuzzy msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% Kano kakireetera okuwandikawo ka % kamu\n" " %b Akawayiro kano kategeeza ekiragiro nti bwe kisanga ka\n" " '\\' mu agumenti, kikabale nga akafuula en'eyisa " "ey'obubonero\n" " Olwo \\0NNN kitegeeza nti NNN namba ya ki-okita\n" "\n" "Ekiragiro kino kitegeera n'ebiragiro ebifuga empandika eby'ekika kya C\n" "ebikomekkerezebwa emu ku nukuta d, i, o, u, x, X, f, e, E, g, G, c ne s.\n" "Okugoberera ebiragiro ebyo kisooka okutegeka ebiri mu AGUMENTI. Obungi\n" "bw'obubonero obuli mu AGUMENTI tebuliko bukwakkulizo.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s: wano wateekwa kubawo ennamba, So ssi nnukuta" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s: obubonero bumu bwokka bwe bukoledwako" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "ku kabonero akufuula bunnaako mu ki-hekisi totaddeko ennamba" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "\\%c%0*x tekikola ng'erinnya ly'akabonero ak'omuttuluba ttababyonna" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "ekitundu tekikkirizibwa kwenkana awo: %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "obwo obungi bwa digiti ezigoberera akatonyeze tebukkirizibwa: %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "empandika eya %.*s tekkirizibwa" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "kulabula: agumenti ez'enfissi, okuva ku %s, tezigenda kukolerwako" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "F. Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (ku mboozi enoonya zinnewayo %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [EBY'OKUKOLAKO]... (nga tokozesa -G)\n" " oba: %s -G [KAWAYIRO]... [EBY'OKUKOLAKO [EBIVAAMU]]\n" #: src/ptx.c:1821 #, fuzzy msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Ekiragiro kino kisoma by'okiwadde okukolako ne kisengeka buli kigambo\n" "okukolamu olukalala olulaga buli ekigambo ekyo we kirabikira. Ekigambo buli\n" "we kilabika, ekiragiro kiraga n'ebyo ebikiri okumpi okugeza, bw'obera ne\n" "fayiro erimu ebigambo bino:\n" "\n" " mese nsolima ssi nnungi naye mese ey'omosonso nnungi sso ndiga zonna " "nnungi\n" "\n" "ekiragiro kino bwe kikola ku fayiro eyo ebivaamu bifaananamu bityi:\n" "\n" " /nsolima ssi nnungi naye mese ey'omosonso nnungi sso ndiga zonna/\n" " ey'omosonso nnungi sso/ mese nsolima ssi nnungi naye mese\n" " mese nsolima ssi nnungi naye mese ey'omosonso nnungi sso ndiga/\n" " mese nsolima ssi nnungi naye mese ey'omosonso nnungi sso/\n" " mese ey'omosonso nnungi sso ndiga zonna nnungi /nnungi naye\n" " nnungi sso/ mese nsolima ssi nnungi naye mese ey'omosonso\n" " /nnungi naye mese ey'omosonso nnungi sso ndiga zonna nnungi\n" " omosonso nnungi sso ndiga zonna nnungi /mese ey'\n" " omosonso nnungi sso/ mese nsolima ssi nnungi naye mese ey'\n" "\n" #: src/ptx.c:1827 #, fuzzy msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference bw'ossaako kamu ku buno, ekiragiro, ku\n" " ntandikwa ya buli lunyiriri mu ebivaamu,\n" " kiwandikawo erinnya lya fayiro ekolebwako " "ko\n" " n'olunyiriri olukolebwako\n" " -G, --traditional Buno bukireetera okweyisa nga ptx ey'omu\n" " 'System V'\n" " -F, --flag-truncation=BUBONERO Buno bwo bukireetera okussawo BUBONERO " "buli\n" " we kiba kitemyemu olunyiriri " "olw'ebikolebwako\n" #: src/ptx.c:1832 #, fuzzy msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=BUBONERO Buno buleetera ekiragiro okuwandikawo\n" " BUBONERO mu kifo kya 'xx' ku ntandikwa\n" " z'ennyiriri ze kiwandika ezikola nga " "ebiragiro\n" " eby'omu 'roff', 'nroff' oba 'TeX'\n" " -O, --format=roff Buno bwe buwayiro obukireetera okutegeka\n" " ebivaamu bisobole okukozesebwa\n" " mu puloguramu eya 'roff'\n" " -R, --right-side-refs Bw'ob'otaddeko n'akawayiro akeleetera\n" " ekiragiro okulambanga buli lunyiriri\n" " olw'ebivaamu, buno ate bukireetera\n" " okuwandika okulamb'okwo ku ludda olwa ddyo\n" " - ku nkomerero z'ennyiriri mu kifo kya ku\n" " ntandikwa\n" " -S, --sentence-regexp=MBOOZI Buno butegeeza nti ekiragiro mu bye " "kikolako\n" " buli lwe kituuka awali ebifaanagana " "n'ebiri\n" " mu MBOOZI kijjanga kubala nti olunyiriri\n" " lukomye, ebiddako nga kibiyisa nga " "olunyiriri\n" " olupya\n" " -T, --format=tex Buno bwo kakireetera okutegeka ebivaamu\n" " bisobole okukozesebwa mu puloguramu eya " "'TeX'\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=BUBONERO Buno obuwayiro bukyusa engeri ekiragiro " "gye\n" " kitegeeramu nti kisanze ekigambo ekyetaaga\n" " kukolebwako. Kasita kituuka ku bubonero\n" " obukwatagana ne BUBONERO olwo nga kimayi " "nti\n" " ekyo kigambo kyakukolebwako. Mu ebya " "bulijjo,\n" " nga kano akawayiro tekaliko era n'aka '-G'\n" " nako nga tekaliko, kasita kisanga ekirimu\n" " obubonero nga nnukuta ekyo kikibala\n" " ng'ekigambo ekiky'okukolako\n" " -b, --break-file=FAYIRO Buno obuwayiro obweyambisa okyusa engeri\n" " ekiragiro gye kitegeeramu nti ekigambo\n" " kikomye. FAYIRO ogiwandikamu obwo " "obubonero\n" " bwonna bw'osazewo nti tebusobola kuba mu\n" " kigambo eky'okukolako. Olwo ekiragiro buli " "lwe\n" " kituuka ku kabonero akali mu FAYIRO nga\n" " kimanyi nti kimazeko ekigambo\n" " -f, --ignore-case Buno ate bukireetera obutayawula mu " "nnukuta\n" " nnene n'entono bwe kiba kisengeka bigambo\n" " -g, --gap-size=BIFO Buno ate bwe kafuga obungi bw'ebifo " "ebyereere\n" " ekiragiro bye kiteeka wakati w'ebitundu\n" " by'ennyiriri ez'omu bivaamu. Ennamba " "gy'oteeka\n" " awali BIFO bye ebifo ebyereere ebisinga\n" " obutono ebikkirizibwa okubeerawo\n" " -i, --ignore-file=FAYIRO Bw'okozesa kamu ku buwayiro buno, buli " "kigambo\n" " ky'owandika mu FAYIRO ekiragiro " "tekikikolako\n" " era mu lukalala olukolebwawo tekibaamu\n" " -o, --only-file=FAYIRO Buno bwo bw'obukozesa olwo ekigambo\n" " ky'otatadde mu FAYIRO ekiragiro " "tekikikolako\n" " era mu lukalala olukolebwawo tekibaamu\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references Buno buleetera ekiragiro okulamba buli\n" " lunyiriri olw'ebivaamu nga kirusoosaako\n" " ekigambo kye kisoose okusoma ku lunyiriri\n" " olw'ebyo bye kikolako\n" " -t, --typeset-mode - Buno tebulina kye bukolawo -\n" " -w, --width=BUNGI Buno obuwayiro bufuga obuwanvu " "bw'ennyiriri\n" " ez'omu bivaamu, ng'obubalidde mu bungi\n" " bw'obubonero obukkirizibwa " "okuwandikibwawo.\n" " Obungi obwo tebubaliramu obubonero obwo\n" " obukola ebigambo ebikozesebwa okulamba\n" " ennyiriri ezo\n" #: src/ptx.c:1854 #, fuzzy msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Ekiragiro kino bw'okiyisa nga tolaze FAYIRO oba bw'oteekawo ka - awali\n" "FAYIRO kirinda kusoma ebiva awayingizibwa awa bulijjo. Ekiragiro kikola\n" "nga eyataddewo akawayiro '-F /' okugyako ng'otaddewo ekirala.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "obunene obw'ekibangirizi, %s, tebukkirizibwa" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Ekiragiro kino kiwandika erinnya erijjuvu ery'etterekero mwe kiweredwa.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical Bw'okozesa kamu ku buno obuwayiro, ekiragiro kiwandika\n" " ekkubo erigguka ku tterekero mwe kiyisidwa nga bwe\n" " likongojjedwa mu kigambo eky'omu nviromenti PWD\n" " -P, --physical Bw'okozesa kamu ku buno, ekkubo kiriwandika mu ngeri\n" " nti teribaamu nnyunzi\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "nnemedwa kukyusa kudda mu tterekero %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "nnemedwa okufuna ebifa ku %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "nnemedwa okuzuula ekiri mu tterekero %s ekikwatagana ne i-nodi" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "agumenti ezitafuula eneyisa ey'ebiragiro tezikoledwako" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Ekiragiro kino kiwandikawo erinnya erya fayiro eyaddala gy'oggukako\n" "bw'obikkula nnyunzi. Erinnya eryo kiriwandika awateekebwa ebivaamu awa " "bulijjo.\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize Buno obuwayiro buleetera ekiragiro " "okuwandika\n" " erinnya mu bujjuvu nga ekkubo lyonna okuva " "ku\n" " musingi kweriri; fayiro ekkubo kwe ligguka " "ne\n" " bw'etabawo, kasita fayiro endala " "ez'ebitundu\n" " b'ekkubo zibawo tewaba kiremya\n" " -e, --canonicalize-existing Buno buleetera ekiragiro okuwandika erinnya\n" " mu bujjuvu nga ekkubo lyonna okuva ku\n" " musingi kweriri; fayiro zonna ezikola " "ekkubo\n" " ko n'eyo kwe ligguka zonna ziteekwa " "okubawo,\n" " ekyo bwe kitatuukirira wabawo kiremya\n" #: src/readlink.c:75 #, fuzzy msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing Buno bwo buleetera ekiragiro okuwandika\n" " erinnya mu bujjuvu nga ekkubo lyonna okuva " "ku\n" " musingi kweriri; fayiro ezimu ezikola " "ekkubo\n" " ne bwe zitabawo tewaba kiremya\n" " -n, --no-newline Buno bw'obussaako olwo ekiragiro bye " "kiwandika\n" " biba ku lunyiriri lwe lumu ne n'obubonero\n" " obulaga by'onoddako okuwandika we " "binaalabikira\n" " -q, --quiet,\n" " -s, --silent Buno bwo bwe kubaako kamu, ekiragiro bwe\n" " kisanga kiremya emirundi egising'obungi\n" " tekikubuulira. Eno y'enkola yakyo eya " "bulijjo\n" " -v, --verbose Kano ate kakiwaliriza okukubuulira buli " "kiremya\n" " aba azzewo\n" #: src/readlink.c:152 #, fuzzy, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "agumenti ezitafuula eneyisa ey'ebiragiro tezikoledwako" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" #: src/relpath.c:130 msgid "generating relative path" msgstr "" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s: nyingire mu tterekero %s etakkirizibwa okuwandikibwa mu? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s: nyingire mu tterekero %s? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s: nzigyewo %s %s etakkirizibwa okuwandikibwa mu? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s: nzigyewo %s %s? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "tterekero %s ligyidwa wo\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "nemedwa okugyawo tterekero: %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "%s ngibuuka kubanga eri ku kyuma kirala" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "wazzewo kiremya mu kukebera tterekero: %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "waliwo kiremya atalabwangako: fts_info=%d: %s\n" "tegeeza %s" #: src/rm.c:119 #, fuzzy, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Gezako '%s ./%s' okugyawo fayiro %s.\n" #: src/rm.c:136 #, fuzzy msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Ekiragiro kino kiggyawo FAYIRO, oba enyunzi ezigiggukako.\n" "\n" " -f, --force Obuwayiro buno bukireetera butasookanga kubuuza\n" " akiyisizza, era n'obutafaayo singa fayiro ezimu\n" " ezimenyedwa teziriwo\n" " -i, --interactive Buno bwo bukireetera okasookanga kubuuza " "akiyisizza\n" " buli lwe kibeera kigenda okuggyawo fayiro\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I Akawayiro kano kakireetera okusooka kwebuuza wa\n" " mukozesa bwe kiba nga kya kugyawo fayiro ezisoba\n" " ssatu. Enkola eno tetaatagenya kwenkana ereetebwa\n" " aka '-i', sso nga esigala ekuyamba butakola\n" " by'otagenderedde\n" " --interactive[=DDI] Kano y'engeri endala ey'okufuga engeri ekiragiro\n" " gye kikulabula mu nga kigenda okugyawo fayiro.\n" " Bw'otegeka DDI n'eba 'never', ekiragiro fayiro\n" " kizigyawobugya nga tekikwebuuzizaako. DDI bwe kiba\n" " 'once', ekiragiro kyeyisa nga eyataddewo aka '-I'.\n" " DDI bwe kiba 'always', ekiragiro kikwebuuzaako ku\n" " buli fayiro gye kigyawo (nga eyataddewo aka '-i).\n" " Ate bw'otateekawo DDI, era ekiragiro kikwebuuzaako\n" " ku buli fayiro gye kigyawo.\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system Bw'oba ogyawo etterekero, akawayiro kano kaleetera\n" " ekiragiro obutagyawo fayiro ze kirisangamu nga " "ziri\n" " ku sisitemu ya fayiro etali y'emu n'etterekero " "eryo\n" #: src/rm.c:154 #, fuzzy msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root Kano kakireetera obutayisa '/' mu ngeri " "ey'enjawulo\n" " (eno y'enkola eya bulijjo)\n" " --preserve-root Kano kakireetera butasaanyawo etterekero '/' (eno\n" " y'enkola eya bulijjo)\n" " -r, -R, --recursive Buno bukireetera okugywawo amaterekero awamu ne\n" " fayiro ezigali munda\n" " -v, --verbose Buno bukireetera okukola nga bwe kinnyonyola\n" " bye kikola\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Mu bya bulijjo, rm tekigyawo materekero. Okukola ekyo w'etaaga " "okukiwayirako\n" " --recursive oba -r oba -R.\n" #: src/rm.c:168 #, fuzzy, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Bw'oba oyagala okuggyawo fayiro nga erinnya lyayo litandika ne '-', nga,\n" "okugeza,fayiro eyitibwa '-foo', kozesa ekimu ku biragiro bino:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Genderera kino: bw'okozesa ekiragiro rm okuggyawo fayiro, kitera okusoboka\n" "okugikomyawo ng'olina obumanyirivu oba obudde ebyetaagisibwa. Singa oyagala\n" "okukakasa nti fayiro gy'oggyeewo tewali kisobolaokugikomyawo, lowoza ku\n" "kukozesa ekiragiro ekya shred.\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s: ameterekero agali mu agumenti n'ebigalimu mbigyewo? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s: byonna ebimenyedwa mu agumenti mbigyewo? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "nzigyawo tterekero, %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "nnemedwa okugyawo tterekero %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Ekiragiro kino kiggyawo (ma)TEREKERO, naye bwe kigasangamu fayiro endala\n" "kigalekawo.\n" "\n" " --ignore-fail-on-non-empty\n" " Akawayiro kano kaireetera obutategeeza akiyisizza\n" " buli lwe kiremwa okuggyawo etterekero olw'okubeera\n" " nti likyalimu fayiro endala\n" #: src/rmdir.c:172 #, fuzzy msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents Buno bukireetera okuggyawo TTEREKERO kiryoke kigende\n" " nga kigeza okuggyawo buli tterekero eriri mu kkubo\n" " eribadde liriggukako. Eky'okulabirako, 'rmdir -p a/b/c'\n" " kye kimu ne 'rmdir a/b/c a/b a' era kyekimu ne\n" " 'rmdir a/b/c; rmdir a/b; rmdir a'.\n" " -v, --verbose Buno bwo bukireetera okulaganga ebifuddeyo ku buli\n" " tterekero lye kikolako\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "nnemedwa okugyawo %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Enkozesa entuufu eri: %s NDUKUSA KIRAGIRO [agumenti]\n" "oba: %s [ -C ] [-u MUKOZESA] [-r LY'ABAKOZESA] [-t LY'EBIKOLEBWAKO]\n" "[-l LUBU] KIRAGIRO [agumenti]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" #: src/runcon.c:94 #, fuzzy msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" "Ekiragiro kino kitandika KIRAGIRO nga kikikyusizza endukusa eza\n" "SELinux okuva ku ze kyandibadde nazo mu bya bulijjo.\n" "Bw'ototegeka NDUKUSA oba KIRAGIRO, runcon ewandikawo endukusa zo\n" "eza SELinux z'okolerako kaakano.\n" "\n" " NDUKUSA ze ndukusa eza SELinux ze wetaaga, mu bujjuvu\n" " -c, --compute Bw'ossawo kamu ku buno obuwayiro, ekiragiro\n" " kizuula enkyuka eyetaagibwa mu ndukusa za SELinux\n" " kiryoke kikyuse eziriwo\n" " -t, --type=TTULUBA Buno, ku ndukusa eza SELinux, butegekako ettuluba\n" " ery'ebikolebwako\n" " -u, --user=MUKOZESA Buno bwo butegekako linnya lya mukozesa ery'omu\n" " SELinux\n" " -r, --role=TTULUBA Buno butegekako ettuluba lya mukozesa\n" " -l, --range=LUBU Buno ate bwo butegekako olukalala lw'amasa ga SELinux\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "amatuluba g'abakozesa gasukka ku limu" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "amatuluba g'ebikolebwako gasukka ku limu" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "abakozesa basukka mu omu" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "otegese embu za SELinux ezisoba mu lumu" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "nnemedwa okutegeera endukusa eza SELinux ezisangidwawo" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" "oteekwa okuwayirako -c, -t, -u, -l, -r, oba okussawo endukusa ez'etaagibwa" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "totaddewo kiragiro" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s kyetaagisa ennombe ebe nga etegeera SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "nnemedwa okuzuula endukusa eza SELinux empya" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "nnemedwa okutegeka omukozesa omupya %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "nnemedwa okutegeka ettuluba ery'ebikolebwako eppya %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "nnemedwa okutegeka olubu olupya %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "nnemedwa okutegeka ettuluba ly'abakozesa eppya %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "nnemedwa okutegeka endukusa eza SELinux %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Enkozesa entuuf eri: %s [KAWAYIRO]... ESEMBAYO\n" " oba: %s [KAWAYIRO]... ESOOKA ESEMBAYO\n" " oba: %s [KAWAYIRO]... ESOOKA EKYONGEZEBWAKO ESEMBAYO\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "" #: src/seq.c:79 #, fuzzy msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" "Ekiragiro kino kiwandika olukalala lw'ennamba ezigoberagana okuva ku\n" "ESOOKA okutuuka ku ESEMBAYO, buli emu nga eri ku lunyiriri lwayo.\n" "Buli namba eddinngana eba yenkana egikulembedde nga kweyongeddeko\n" "EKYONGEZEBWAKO.\n" "\n" " -f, --format=EMPANDIKA Buno obuwayiro bufuga EMPANDIKA ekiragiro gye\n" " kiwandikamu ennamba efunzidwa mu bitundu " "bisatu.\n" " 'EMPANDIKA' kabeera kamu ku bubonero obufuga\n" " empandika ey'ekiragiro 'printf'\n" " -s, --separator=KIGAMBO Buno bukireetera okukozesa KIGAMBO okwawula " "ennamba\n" " (ekya bulijjo kiba \\n)\n" " -w, --equal-width buno bwo bukireetera okuwandika namba zonna nga\n" " zirimu digiti ez'enkanakana obungi. Ku namba\n" " ezitaweza digiti kyongerawo zi zero mu maaso " "gazo\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Ku kiragiro kino, bw'owandikawo ennamba emu yokka kibala nti\n" "okiraze ESAMBAYO yokka, nti tokiwadde ESOOKA ne EKYONGEZEBWAKO.\n" "Olwo kisalawo nti ESOOKA ne EKYONGEZEBWAKO byombi byenkana 1,\n" "era olukalala lwe kiwandika lutandikira ku 1 ate buli namba\n" "egoberera ginnayo ebeera egisingako 1. Ekiragiro ennamba ESOOKA,\n" "EKYONGEZEBWAKO ne ESEMBAYO kizitwala nti za kika eky'ezifunzidwa\n" " mu bitundu bisatu. ESEMBAYO bw'eba nga y'esinga ESOOKA obunene\n" "EKYONGERWAKO kitera okubeera ya positifu, ate ESOOKA bw'ebeera nga\n" "y'ennene ku ESEMBAYO EKYONGERWAKO kitera okubeera ya negatifu.\n" #: src/seq.c:94 #, fuzzy msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "EMPANDIKA kiba kigambo eky'ekika ekiragira puloguramu eya 'printf' engeri\n" "ey'okuwandikamu ennamba efunzidwa mubitundu bisatu. Bw'otossaawo EMPANDIKA,\n" "seq ekozesa empandika gy'eyiyizza ng'erabira ku namba z'ogimba okukozesa mu\n" "lukalala lw'egenda okuwandika - ESOOKA, ESEMBAYO oba EKYONGEZEBWAKO.\n" "Ennamba ezo bwe zitaba za nnenga kkumi nga zonna ze ttuuso lye limu, " "eritasussa\n" "TTUUSO, ekiragiro kikozesaamu empandika %g.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "" "agument: %s tekkirizibwa ku nnamba ey'ekika ekifunzidwa mu bitundu bisatu" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "empandika %s erimu ekitundu %%%c ekitategeereka" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "ekiragiro bwe kiba kya kuwandika ennamba zibeere nga zonna z'enkanankanya\n" "obungi bwa digiti tekikukkiriza ate okwongerako obuwayiro obulala obufuga\n" "empandika yazo" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO-KAFUNZE]... MUKOZESA KIRAGIRO " "[AGUMENTI]...\n" " oba: %s KAWAYIRO-KAJJUVU\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Ekiragiro kino kisobozesa omukozesa omu okweyambisa KIRAGIRO,\n" "ne AGUMENTI, nekikola nga kiringa ekiyisidwa omukozesa omulala,\n" "MUKOZESA. Ku olwo abeera nga alina ennamba-ya-mukozesa\n" "n'ennamba-ya-guluupu eby'oyo MUKOZESA. Bwe kitasoboka kufuna\n" "ennamba-ya-mukozesa n'ennamba-ya-guluupu ebyo, ekiragiro kikoma\n" "ne kifuna emmala y'omulimu nga eri 111. Bwe biyitamu, emmala\n" "y'omulimu ey'ekiragiro kino eba y'emu n'eya KIRAGIRO. Ekiragiro\n" "kino tekigasa okugyako nga root (muteesiteesi, ow'ennamba-ya-\n" "mukozesa=0) y'akiyisizza.\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g NG[,NG1... ] Akawayiro kano kakutegekera ennamba ya guluupu enkulu\n" "n'eba NG, ate bw'oba nazo ozetaaze, ennamba eza guluupu ez'enyongeza\n" "kazikutegekera ne ziba NG1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "ennamba-ya-mukozesa eno sigimanyi: %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" "okusobola okukolera ku nnamba ya mukozesa %s,\n" "wetaaga okwongerako akawayiro aka '-g'" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "tekisobose okwongerako guluupu ey'enyongeza" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "tekisobose okukola ennamba-ya-guluupu ebe %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "tekisobose okukola namba-ya-mukozesa eba %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 #, fuzzy msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Ekiragiro kino kiddinngana okuwandika ku FAYIRO ezimenyedwa,\n" "kibeere kizibu nnyo okuzikomyawo, ne bwe babeera bakozesezza\n" "sofitiweya eyenkana wa.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force Kamu ku buno bwe kabaako, ekiragiro bwe kisanga\n" " fayiro nga ndukusa ezigiriko tezikkiriza\n" " kugiwandikamu kibukyusa osobole okugikolako\n" " -n, --iterations=N Buno bukireetera okuddinngana okuwandika fayiro\n" " emirundi N mu kifo eky'emirundi egya bulijjo (%d)\n" " --random-source=FAYIRO Kano kakirretera okufunayo bayiti okuva mu\n" " FAYIRO mu ngeri ya muwawa\n" " -s, --size=N Buno bwo bukireetera okukola ku bayiti N (osobola\n" " okussaako obukulembekkereza obulaga ebirengo,\n" " nga K, M, ne G)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove Buno bukireetera okusalako ku fayiro gye kimaze\n" " okuwandikako, kiryoke kigigyewo\n" " -v, --verbose Buno bukireetera okugenda nga kiraga akozesa we\n" " kituuse mu mulimu\n" " -x, --exact Kamu ku buno bwe kabaako, obunene obwa fayiro\n" " ekolebwako ne buba nga tebumalawo buloka enamba\n" " tekibwongerezako kutuuka ku bunene obwo\n" " -z, -zero Bw'ossaako kamu ku nuno, ekiragiro bwe kibeera\n" " kiddinngana okuwandika ku fayiro, ku mulundi " "omuvanyuma,\n" " w'ebadde kiwandikawo mazero, waleme okulabika nga we\n" " bakozesezza ekiragiro ekya shred ekyo. Ebivaamu\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "FAYIRO bwe kiba -, ekiragiro kikola ku bye\n" "kisanga awateeekebwa ebivaamu awa bulijjo.\n" "\n" "Ekiragiro kino, bwe kubaako akawayiro --remove (-u), kigyawo FAYIRO.\n" "Mu ebya bulijjo fayiro tezigyibwawo olw'okubanga fayiro ez'ebyuma,\n" "nga /dev/hda, nazo zitera okukolebwako ate ezo emirundi egisinga obungi\n" "teziteekwa okuvawo. Abasinga obungi bakozesa akawayiro aka --remove nga\n" "bakola ku fayiro eza bulijjo.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "KULABULA: Genderera nti ekiragiro ekya shred kyesigama ku sisitemu\n" "eya fayiro okubeera nga tekuuma kkopi eza fayiro awalala. Nti\n" "bw'obeera fayiro nga ogiwandiseko tewali gy'on'ogya kkopi. Eno\n" "y'enkola ey'ennono, naye sistemu eza fayiro empya eziwerako tez'eyisa\n" "bwezityi. Sistemu eza fayiro ezigenda okunenyerwa wano awaddako ze zimu\n" "ku ezo shred kwayinza obutabeera na mugaso:\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* sisitemu eza fayiro ez'esigamizidwa ku nkalala n'ezo ezikuuma\n" " kkopi ez'ebizikyusidwako, nga ezo ezijja ne pulogulamu ezitabaganya\n" " kompyuta eza AIX ne Solaris (ko ne JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* sisitemu eza fayiro eziwandika data ey'enfissi zisobole okusigala\n" " nga zikola ne wankubadde nga emirundi egimu bye ziwandika tebikwata,\n" " okugeza nga sisitemu eza fayiro ez'esigamizidwa ku RAID\n" "\n" "* sisitemu eza fayiro ezigira ebiseera ne z'ekolako kkopi, nga\n" " ekiwereza ekya NFS ekikolebwa ba Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* sisitemu eza fayiro ezitereka data mu sitowa ez'ebiseera,\n" " nga zikasitoma eza NFS ey'omutindo 3\n" "\n" "* sisitemu eza fayiro ezifunzidwa\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Ku sisitemu eya fayiro ey'ekika kya ext3, shred esobola okukola obulungi\n" "kasita omulimu ogwa 'mount' ogwagiwanga ku sistemu tegwabaddeko\n" "akawayiro aka 'data=journal'. Ako kaleetera sistemu eyo okukolawo olukalala\n" "olw'enkyukakyuka mu fayiro ezigiriko, era nga esobola okukomyawo fayiro\n" "ezibadde zigyidwawo. Sisitemu eya fayiro ey'ekika kya ext3 bw'ewangibwa nga\n" "mount eriko akawayiro 'data=ordered' oba 'data=writeback', shred ekola nga\n" "bwe kyandisuubidwa. Okumanya ebisingawo ku buwayiro obufuula enkola eya " "mount\n" "osobola okukebera ekiwandike ekinnyonyola enkola yayo mu bujjuvu (man " "mount).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "Ku ebyo gattako nti kkopi eza sisitemu eya fayiro ez'okwerinda,\n" "ne kkopi eziri ku kompyuta ndala nabyo bisobola okubaamu kkopi\n" "eya fayiro gy'oyagala okukolako shred. Olwo fayiro eyo ebeera\n" "ekyayinza okukomezebwawo.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "ku %s enkola eya fdatasync egaanye" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "ku %s enkola eya fsync egaanye" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s: sisobola okudda mabega" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s: muku %lu/%lu (%s)..." #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s: kiremya mu kuwandikira ku bujjulule obwa %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "ku %s enkola eya lseek egaanye" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s: fayiro eyitiridde obunene" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s: muku %lu/%lu (%s)...%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s: muku %lu/%lu (%s)...%s/%s %d%%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s: fstat eremedwa okugikebera ebigikwatako" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s: kino ekika kya fayiro tekikkirizibwa" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s: obunene obwa fayiro eno buli wansi wa zero" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s: wazzewo kiremya mu kusalako fayiro" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s: emirimu egya 'fcntl' gizzeko kiremya" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s: sisobola okukola shred ku ndagiriro ekutuusa ku fayiro eyongerwako " "bwongerwa embikkule" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s: ngigyawo" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s: erinnya lyayo ndikyusiza libeere %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "nnemedwa okugyawo %s" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s: egyidwawo" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "nnemedwa okubika %s" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s nnemedwa okugibikkula kugiwandikamu" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s: obwo obungi bw'emiku tebusoboka" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "otegese ennono eza data eya muwawa ezisoba mu emu" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s: buno obunene bwa fayiro tebukkirizibwa" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO]... [FAYIRO]\n" " oba: %s -e [KAWAYIRO]... [AGU]..\n" " oba: %s -i ESOOKA-ESEMBA [KAWAYIRO]...\n" #: src/shuf.c:54 #, fuzzy msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Ekiragiro kino kiwandika ebintu bye kiba kisomye nga ennyiriri zaamu\n" "kikyusakyusizza engobereragana yazo mu ngeri eya muwawa.\n" "\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo Bw'ossaawo kamu ku buwayiro buno, ekiragiro " "buli\n" " kigambo (agumenti - 'AGU'), mu bye kisoma " "kikiyisa\n" " nga olunyiriri ku bwakyo. Mu bivaamu kibeera ku\n" " lunyiriri olwakyo.\n" " -i, --input-range=ESOOKA-ESEMBA Buno bwo bukireetera okuwandika " "olukalala\n" " olw'ennamba ezitali za sigino eziva ku namba\n" " ESOOKA okutuuka ku namba ESEMBA. ESOOKA ne " "ESEMBA\n" " nazo ziteekwa okuba namba ezitali za sigino.\n" " Engobereragana y'ennamba oz'omu lukalala olwo " "eba\n" " ya muwawa.\n" " -n, --head-count=BUNGI Buno bukireetera obutawandika nnyiriri zisukka " "mu\n" " BUNGI.\n" " -o, --output=FAYIRO Buno bukireetera ebivaamu kubiwandika mu FAYIRO\n" " --random-source=FAYIRO Kano kakireetera okufuna bayiti ezifuga " "engeri\n" " gye kikyusaamu engobereragana y'ennyiriri okuva " "mu\n" " FAYIRO\n" " -z, --zero-terminated Buno ate bwo bukireetera okubala nti awali " "bayiti\n" " eya zero y'enkomerero y'olunyiriri. Era " "ennyiriri\n" " ze kiwandika ku nkomerero yazo ne kisaako " "bayiti\n" " eya zero eyo mu kifo eky'akabonero aka bulijjo\n" " akalaga enkomerero y'olunyiriri\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "obuwayiro obwa -i buyitiridde obungi" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "olubu lw'ebiyingizibwa %s terukkirizibwa" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "obungi bw'ennyiriri %s tebusoboka" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "ebivaamu bigambidwa okugenda mu fayiro ezisukka mu emu" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "obuwayiro -e ne -i tebukolagana" #: src/sleep.c:44 #, fuzzy, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s BUNGI[KAFUNDIKWA]...\n" " oba: %s KAWAYIRO\n" "Ekiragiro kino kireetera enzivvunuzi mw'okiyisizza okusirikamu okumala\n" "BUNGI bwa sikonda, eryoke ekole ku biragiro ebirala ebikigoberera. Olwo\n" "ne bw'owandika, sikonda ezo bwe ziba tezinaba kugwako, tewaba kirabika\n" "mu kiwandikiro. KAFUNDIKWA bw'eba 's' BUNGI buba bwa sikonda (eno\n" "y'enkola eya bulijjo ebawo nga totaddewo KAFUNDIKWA), bw'eba 'm' olwo\n" "BUNGI buba bwa dakiika, bw'eba 'h' buba bwa saawa ate bw'eba 'd' olwo\n" "BUNGI buba bwa nnaku. Kino ekiragiro ekiwandikidwa aba GNU kyo\n" "obutafaanana ekyawandikibwa abalala tekyetaagisa BUNGI kubeera ennamba\n" "etaliko butundutundu.\n" "Mu 'sleep' ow'aba GNU, BUNGI esobola okubeera ennamba efunzidwa mu bitundu\n" "bisatu. Agumenti bwe zisukka mu emu, ekiragiro ennamba ezo kizigatta, obwo\n" "ne bubeera obudde enzivvunuzi bw'en'esirikirira.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "ekiseera %s tekisoboka" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "nnemedwa okusoma essawa ebalirawo" #: src/sort.c:399 #, fuzzy msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Ekiragiro kino kisoma (zi)FAYIRO ne kiwandika ennyinyiri zaamu\n" "mu ngeri ensengeke awateekebwa ebivaamu awa bulijjo.\n" "\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Buno bwe buwayiro obufuga engeri gye kisengekamu ennyiriri ezo:\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks Kamu ku buwayiro buno bwe kabaako, " "olunyiriri\n" " bwe lutandika n'ebifo ebyereere ekiragiro\n" " tekibikozesa mu kusengeka, kibibuuka ne " "kigenda\n" " ku bubonero obutali mabanga\n" " -d, --dictionary-order KBuno bwo buleetera ekiragiro obutakozesa\n" " bubonero obukoledwa ebitali nnukuta,\n" " mabanga oba ennamba mu kusengeka\n" " -f, --ignore-case Buno bukireetera obutawula mu nnukuta nnene\n" " n'entono bwe kiba kisengeka\n" #: src/sort.c:415 #, fuzzy msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort Buno busobozesa ekiragiro okutegeera\n" " ennamba ezifunzidwa mu bitundu bisatu era ne\n" " kizikozesa mu kusengeka ennyiriri ez'omu " "FAYIRO\n" " -i, --ignore-noprinting Buno bwo buleetera ekiragiro obutafa ku " "bubonero\n" " bwe kisanga mu nnyiriri ze kisengeka " "obutavaamu\n" " ebirabika mu kiwandikiro. Tekibukozesa mu\n" " kusengeka\n" " -M, --month-sort Kamu ku buno bw'okateekawo ekiragiro bwe kiba\n" " kisengeka nnyiriri ne kisangamu ezimu nga\n" " obubonero bwazo obusooka bukola mannya ga " "myezi,\n" " ezo kizisengeka nga kigenderera " "engobereragana\n" " y'emyezi < 'JAN' < .. < 'DES'\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort Bwe kubaako kamu ku buno, ekiragiro ennyiriri\n" " kigezako okuzisengekesa ennamba ze kisanga\n" " ku ntandikwa za zo. Kitegeera ennamba\n" " ez'empandika eya bulijjo etali nfunze mu " "bitundu\n" " bisatu.\n" " Kitegeera n'akabonero '-' akatandikwa\n" " ennamba naye aka '+' tekiamanyi. Empandika\n" " enfuze ey'ennamba eya SI (ekozesa obubonero\n" " nga kB, k ne Mb) n'eya IEC (ekozesa obubonero\n" " nga KiB ne MiB) kizitegeera naye " "tekikukkiriza\n" " kuzitabika mu biyingizibwa. Bwe kitasanga " "nnamba\n" " oba bwe kisangawo ekibangirizi ku ntandikwa\n" " y'olunyiriri, olwo kirutwala ng'olutandise ne\n" " nnamba 0\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort Bwe kubaako kamu ku buno, ekiragiro ennyiriri\n" " kigezako okuzisengekesa ennamba ze kisanga\n" " ku ntandikwa za zo. Kitegeera ennamba\n" " ez'empandika eya bulijjo etali nfunze mu " "bitundu\n" " bisatu.\n" " Kitegeera n'akabonero '-' akatandikwa\n" " ennamba naye aka '+' tekikamanyi. Kiba\n" " tekitegeera empandika enfunze ez'ennamba.\n" " -R, --random-sort Buno bwo bukireetera bye kigenda okusengeka\n" " okusooka kuzifumba mu ennamba nga kyeyambisa\n" " ennamba endala gye kironze muwawa. Ennamba\n" " enfumbe ze kisengeka ne kiryoka kizzawo\n" " ebyakiweredwa mu kusooka nga bisengekedwa\n" " okusinzira ku nnamba ezo\n" " --random-source=FAYIRO Kano kakireetera ennamba gye kyeyambisa " "okufumba\n" " ennamba ezisengekesebwa okuginona okuva mu " "FAYIRO\n" " -r, --reverse Buno bukireetera okuvvuunika engobereregana " "ya\n" " bye kimaz'okusengeka\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=KIGAMBO Kano ate kakireetera okukolera ku nkola\n" " ereetebwawo KIGAMBO. KIGAMBO kisobola okuba\n" " 'general-numeric', '-g', 'human-numeric', '-" "h',\n" " 'month'oba '-M'\n" " -V, --version-sort Bw'ossaako kamu ku buno ekiragiro kisengeka\n" " nnyiriri nga kisinzira ku nnamba ezitali ku\n" " ntandikwa yazo\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Obuwayiro obulala:\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=BUNGI Kano kafunga obungi bwa fayiro ekiragiro ze " "kikolako\n" " nga tekyetaaze kukolawo fayiro " "ez'ekiseerabuseera\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first Bw'ossawo kamu ku buno, ekiragiro mu\n" " kifo eky'okusengeka fayiro, kigikeberabukebezi.\n" " Bw'eba nga nsengeke kimala bumazi.\n" " Bw'etaba nsengeke kiwandikawo obubaka obulaga\n" " n'olunyiriri olusoose obutaba mu nsegeka ntuufu\n" " -C, --check=quiet, --check=silent Buno bukola nga aka -c, naye ku\n" " buno tekiwandikawo bubaka ku lunyiriri lwe " "kisooka\n" " okusangamu nga ssi lusengeke\n" " --compress-program=PULOG Kano kakireetera okupakira fayiro\n" " ez'ekiseerabuseera ze kikolawo nga kikozesa\n" " puloguramu PULOG. Kizipakuluza ekiragiro kya\n" " 'PULOG -d'\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug Kano kakireetera olunyiriri lwe kisegekesa\n" " okuluwayirako okunnyonyola, era n'okukulabula " "ku\n" " nkozesa ya 'stderr' eringa etali ntuufu\n" " --files0-from=F Kano kakireetera okukola ku fayiro eziri mu\n" " lukalala olusangibwa mu fayiro 'F'. Ku " "nkomerero\n" " ya buli linnya lya fayiro mu lukalala olwo\n" " kisuubira kusangawo bayiti eya zero - 'NUL'.\n" " F bwe kiba '-', olwo kikola ku biva " "awayingizibwa\n" " awa bulijjo\n" #: src/sort.c:459 #, fuzzy msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KITUNDU1[,KITUNDU2] Kano akawayiro bwe kabaako, buli\n" " lunyiriri lwe kisengeka kirukozesako ekitundu " "okuva ku\n" " KITUNDU1 (entandikwa 1) okutuuka ku KITUNDU2 " "(bw'otowandikawo\n" " KITUNDU2 kikozesa ebitundu byonna okutuuka gye " "lukoma).\n" " Waliwo okutangaaza ku mpandika ya KITUNDU " "okusingawo awaddako\n" " -m, --merge Kano ko bwe kabaako, ekiragiro buli fayiro\n" " gye kisanga mu agumenti yo tekigisengeka\n" " munda wabula kisengekera wakati wa zonna.\n" " Ebivaamu bibeera wamu nga ebivudde mu fayiro\n" " emu.\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FAYIRO Buno buleetera ekiragiro okuteeka ebivaamu mu\n" " FAYIRO\n" " -s, --stable Buno buleetera ekiragiro obutageza\n" " okusengekesa ennyiriri ennamba bwe kiba\n" " kiremedwa okufuna enjawulo wakati wa zo mu\n" " nsengeka ndala\n" " -S, --buffer-size=BUNENE Buno bufuga obunene bw'ekifo mu\n" " ggwanika lya kompyuta ekiragiro mwe kisobola\n" " okuteraka bye kikolako\n" #: src/sort.c:469 #, fuzzy, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=K'AWUZI Obuwayiro buno buleetera ekiragiro okukozesa\n" " kabonero K'AWUZI okutegeera awali enkomo\n" " z'ebitundu eby'omu nnyiriri ze kikolako. Mu ebya\n" " bulijjo kibala nti awali amabanga z'enkomo\n" " z'ebitundu ebyo\n" " -T, --temporary-directory=TEREKERO Buno ekiragiro bukisobozesa okuteeka\n" " fayiro ez'ekiseerabuseera ze kikolawo mu\n" " TEREKERO mu kifo kya $TMPDIR oba %s. Osobola\n" " okukigamba okukozesa materekero agasukka mu " "limu,\n" " kino nga kiyinza okwanguya emirumu eminene\n" " --parallel=N Akawayiro kano kategeka puloguramu emirimu " "egy'okusengeka\n" " gy'ekolera okumu ne gitasukka mu N.\n" " -u, --unique Bwe kabaako kamu ku buno, mu fayiro ezikolebwako\n" " bwe muba nyiriri ezifaanagana, ebivaamu bibaamu\n" " kopi yazo emu yokka. Akawayiro kano " "bw'okagattika\n" " n'aka '-c', ekiragiro kikeberabukebezi okulaba " "oba\n" " fayiro nesengeke n'okulaba oba mulimu ennyiriri\n" " ezifaanagana\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated Obuwayiro buno bugamba ekiragiro okuva ku\n" " kusengeka nnyiriri kisengekeemu ebintu\n" " ebyawulaganidwa akabonero akategeeza\n" " bayiti 0\n" #: src/sort.c:483 #, fuzzy msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "'KITUNDU' kiwandikibwa mu ntereeza 'N[.K][BUWAYIRO]. 'N' nga\n" "y'ennamba y'ekitundu ky'olunyiriri ate 'K' nga y'ennamba\n" "y'akabonero mu kitundu ekyo akaba katandikirwako oba okukomebwako.\n" "N ne K byombi bibalibwa okuva ku 1. bw'oba totaddeko kamu ku buayiro\n" "-t ne -b, ekirigiro, bwe kiba kibala obubonero obuli mu kitundu\n" "eky'olunyiriri, kitandikira ku ntandikwa y'ebbanga ejjereere eryawula\n" "ekitundu ekyo ku ekikikulembedde. Kwe kugamba nti ebbanga ejjereere\n" "eryo nalyo libalibwa nga kya ku kitundu ekyo.\n" "'BUWAYIRO' ke kawayiro oba buwayiro obufuga ensengeka. Obuwayiro\n" "obwo bwa nnukuta emu-emu. Akawayiro '-k' oba '--key' bwe bubulako\n" "agumenti zaakwo, ekiragiro kisengeka fayiro nga kikozesa nnyiriri\n" "nnamba.\n" "\n" "Ku namba 'BUNENE' osobola okusembyako kamu ku bukomekkereza buno\n" "obuddako:\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "Buli kafundikwa kalagidwa n'emirundi gye kakubisaamu BUNENE.\n" "% - 1% (n'efuuka bitundu ku kikumi eby'eggwanika)\n" "b - kagifuula bungi bwa bayiti, \n" "K - 1,024 (eno y'enkola eya bulijjo BUNENE bw'otogiteekako kafundikwa)\n" "M - 1,048,576\n" "G - 1,073,741,874 ne T, P, E, Z oba Y - ebigenda byeyongeramu mu ngeri eyo.\n" "Buli ekiddako kisinga kinnewakyo obunene emirundi 1,024.\n" "\n" "Agumenti eya FAYIRO bw'otogiteekako, ekiragiro kikola ku by'oteeka\n" "awayingizibwa awa bulijjo.\n" "\n" "*** KULABULA ***\n" "Lokale eri mu enviromenti yo esobola okukyusa ngeri ekiragiro gye " "kisengekamu\n" "fayiro. Bw'oba ng'oyagala ekiragiro kisengeke mu ngeri ey'ennono - " "eyesigama\n" "ku namba ezikusikidwa mu bubonero obukola ebisengekebwa - lokale eyo " "gifuule\n" "eya C (mu enviromenti LC_ALL=C).\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "nninda %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] gukomye mu ngeri etali ya bulijjo" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "sisobola okukolawo fayiro ey'ekiseerabuseera mu %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "sisobodde okubikkula fayiro" #: src/sort.c:970 msgid "fflush failed" msgstr "ogwa fflush gugaanye" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "sisobodde okubikka fayiro" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "ogwa dup2 gugaanye" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "nnemedwa okutandika ogwa %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "nnemedwa okukolawo fayiro ey'ekiseerabuseera" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "nnemedwa okutandika omulimu ogwa %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "nnemedwa okutandika ogwa %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "kulabula: sisobola kuggyawo %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "agumenti eya --%s, %s tekkirizibwa" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "agumenti eya --%s esembayo obutono ekkirizibwa eri %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "agumenti eya --%s, %s, eyitiridde obunene" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "" "ekkomo erya rlimit eririwo terikkiriza\n" "agumenti eya --%s esukka %s obunene" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "" #: src/sort.c:1494 msgid "stat failed" msgstr "stat tesobode okuzza ebifa ku fayiro" #: src/sort.c:1755 msgid "read failed" msgstr "sisobodde okusoma fayiro" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "waliwo ekigambo ekitafuulise" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "%s kye kyagaanye okufuulibwa" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "" #: src/sort.c:2451 #, fuzzy, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "akawayiro '-%s' puloguramu tekafaako" msgstr[1] "obuwayiro '-%s' puloguramu tebufaako" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "sisobode okuwandika" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s: %s:%s: wano ssi nsengeke" #: src/sort.c:2786 msgid "standard error" msgstr "awateekebwa ebivaamu awa bulijjo" #: src/sort.c:3698 #, fuzzy msgid "cannot read" msgstr "%s: sisobola okudda mabega" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s: %s tekisobola kukozesebwa okulaga ekitundu ky'olunyiriri" #: src/sort.c:3987 #, fuzzy, c-format msgid "options '-%s' are incompatible" msgstr "obuwayiro '-%s' tebukolagana" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s: entandikwa ya %s eriko ennamba etakkirizibwa" #: src/sort.c:4295 #, fuzzy msgid "invalid number after '-'" msgstr "ennamba eddirira '-' tekkirizibwa" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 #, fuzzy msgid "invalid number after '.'" msgstr "ennamba eddirira '.' tekkirizibwa" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "" "ebiraga ekitundu eky'ennyiriri ekiba kikolebwako\n" "birimu akabonero akatandibaddemu" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "otegese puloguramu ezipakirisibwa ezisukka mu emu" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "" "ekitundu eky'olunyiriri kiriko ennamba etakkirizibwa ku ntandikwa yakyo" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "ennamba ey'ekitundu ky'olunyiriri eri zero" #: src/sort.c:4392 msgid "character offset is zero" msgstr "" "ogambye okutandikira ku kabonero namba 0 -\n" "akasembayo mu kitundu ekitandikirwako" #: src/sort.c:4407 #, fuzzy msgid "invalid number after ','" msgstr "ennamba eddirira ',' tekkirizibwa" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tewalaze kabonero ak'awuzi akaba kadda mu kifo eky'akabulijjo" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "sisbola okusoma amannya aga fayiro okuva mu %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu: tekisoboka kuba na linnya lya fayiro eritalina buwanvu" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "tewali biyingizibwa biva ku %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" "kuliko ekikolebwako eky'enyongeza, %s.\n" "Kino tekikkirizibwa nga okozesezza akawayiro -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [EBIKOLEBWAKO [KATANDIKWA]]\n" #: src/split.c:208 #, fuzzy msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Ekiragiro ekya `split' kimenya mu EBIKOLEBWAKO ebitundu ne\n" "kibikolamu zi-fayiro ezituumidwa amanya nga KATANDIKWAaa,\n" "KATANDIKWAab, ...; bw'oba nga towaddeyo akako, ekiragiro\n" "bulijjo KATANDIKWA kikozesaamu'x'. Olwo zi-fayiro ne ziba\n" "nga zituumidwa xaa, xab, .... Ate bw'oba nga tewawaddeyo\n" "EBIKOLEBWAKO oba bw'oba nga EBIKOLEBWAKO kiri -, ekiragiro\n" "kikola ku by'owandika awayingizibwa awa bulijjo.\n" "\n" #: src/split.c:216 #, fuzzy, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N Bw'osaawo kamu ku buwayiro buno, ekiragiro\n" " obukulembekkereza kikolawo\n" " obulimu ennukuta N (mu bya bulijjo ziba %d)\n" " -b, --bytes=BUNGI buno bwo buleetera ekiragiro okukola zi-fayiro\n" " nga tekuli zisukka bayiti BUNGI obunene\n" " -C, --line-bytes=BUWANVU Buno buleetera ekiragiro okukola zi-fayiro nga\n" " enyiriri zaamu temuli esukka mu bayiti\n" " BUWANVU obuwanvu\n" " -d, --numeric-suffixes Obuwayiro buno buleetera ekiragiro okukozesa\n" " namba mu kifo kya nukuta mu bukomekkereza\n" " obw'oku zi-fayiro ze kikolawo\n" " -l, --lines=BUNGI Buno ate bwe buleetera ekiragiro buli fayiro gye\n" " kikolawo butasukka mu nnyiriri BUNGI obuwanvu\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose Kano kaleetera ekiragiro okusooka kuwandikawo\n" " ebikwata ku mulimu buli lwe kiba kigenda\n" " kutandika fayiro ey'ekikoledwa empya\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "Obukomekkereza bwakuteeka ku zi-fayiro ze nkolawo buweddeyo" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "nkolawo fayiro %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "" #: src/split.c:391 #, fuzzy, c-format msgid "failed to set FILE environment variable" msgstr "nnemedwa okwongera %s ku nviromenti" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "" #: src/split.c:395 #, fuzzy, c-format msgid "failed to create pipe" msgstr "nnemedwa okukolawo enyunzi et'eyawudde %s" #: src/split.c:409 #, fuzzy, c-format msgid "closing prior pipe" msgstr "mbikka tterekero %s" #: src/split.c:411 #, fuzzy, c-format msgid "closing output pipe" msgstr "mbikka fayiro egenzemu ebizzibwa %s" #: src/split.c:415 #, fuzzy, c-format msgid "moving input pipe" msgstr "mbikka fayiro egyibwamu ebiyingizibwa %s" #: src/split.c:417 #, fuzzy, c-format msgid "closing input pipe" msgstr "mbikka fayiro egyibwamu ebiyingizibwa %s" #: src/split.c:422 #, fuzzy, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "nnemedwa okutandika ekiragiro %s" #: src/split.c:428 #, fuzzy, c-format msgid "failed to close input pipe" msgstr "nnemedwa okugya koppi mu %s" #: src/split.c:464 #, fuzzy, c-format msgid "waiting for child process" msgstr "nnindirira mulimu ogwa strip" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "ekiragiro kiraze ennamba y'embeera etategeereka (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "tekisoboka okumenyamu mu ngeri esukka mu emu" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, fuzzy, c-format msgid "%s: invalid number of chunks" msgstr "%s: buno obungi bwa sikonda tebukkirizibwa" #: src/split.c:1069 #, fuzzy, c-format msgid "%s: invalid chunk number" msgstr "%s: eno namba tekola wano" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s: akafundikwa tekakkirizibwa kwenkan'awo" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s: obwo obungi bwa bayiti tebusoboka" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s: obwo obungi bw'ennyiriri tebusoboka" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "akawayiro -%s%c... kateeka nyiriri eziyitiridde obungi" #: src/split.c:1248 #, fuzzy, c-format msgid "%s: invalid start value for numerical suffix" msgstr "ennamba ey'olunyiriri tekkirizibwa: %s" #: src/split.c:1276 #, fuzzy, c-format msgid "%s: invalid IO block size" msgstr "%s: buno obunene bwa fayiro tebukkirizibwa" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" #: src/split.c:1369 #, fuzzy, c-format msgid "%s: cannot determine file size" msgstr "sisobodde okuzuula erinnya erya kompyuta ennyunge" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "nnemedwa okuzza %s mu mpandika eya bulijjo" #: src/stat.c:1069 #, fuzzy, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "" "kulabula: akabonero akufuula enneyisa ya bunnaako, '\\%c', tekategeerekese" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s: okulagira kuno tekukola" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "" "kulabula: ekigambo ekifuga empandika\n" "kikomekkerezedwa akasaze ak'akaddanyuma" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "ekiragiro bwe kiba nga kikola ku sisitemu za fayiro mu kifo kya fayiro\n" "zennyini, %s kiba tekitegeeza awayingizibwa awa bulijjo" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "sisbola okusoma embuulire ekwata ku %s mu sisitemu eya fayiro" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "stat tesobola okuzuula ebifa ku awayingizibwa awa bulijjo" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Olukusa lwa SELinux: %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "" #: src/stat.c:1356 #, fuzzy msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" "Ekiragiro kino kiwandikawo embeera eya fayiro oba eya sisitemu eya fayiro.\n" "\n" " -L, --dereference Bwe kubaako kamu ku buwayiro buno, ekiragiro\n" " kirondoola nyunzi\n" " -f, --filesystem Buno bwe kubaako kamu ku bwo, mu kifo eky'okulaga\n" " embeera eya fayiro, ekiragiro kiraga eya sisitemu\n" " eya fayiro yonna\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=MPANDIKA Bw'ossawo kamu ku buwayiro buno, ekiragiro " "ebivaamu\n" " kibawandikira mu MPANDIKA mu kifo eky'eya bulijjo\n" " --printf=MPANDIKA Kano kakola nga aka '--format' naye k'ongerako " "okusobozesa\n" " ekiragiro okutegeera nti obusaze obwa kaddanyuma " "butegeeza\n" " nti eryo tterekero, okwo ne kassaako okugaana " "ekiragiro\n" " okukomekkerza nnyiriri n'akabonero akalagira " "kutandika olupya.\n" " Bw'obanga oyagala akabonero ako kateekebwengawo, " "mu MPANDIKA\n" " ssaamu akabonero aka \\n -t, --terse " "Ate kamu ku buno bwe kabaako, ekiragiro ebivaamu\n" " kibwandika mu bufunze\n" #: src/stat.c:1371 #, fuzzy msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Ntereeza ezikkirizibwa okukozesa ku fayiro (obeera towadde akawayiro --" "filesystem):\n" "\n" " %a - Kirage obuyinza obuli ku fayiro ki-okita\n" " %A - Kirage obuyinza obuli ku fayiro mu ngeri etegeereka omuntu\n" " %b - Kirage obungi obwa buloka fayiro ezigiweredwa\n" " %B - Kirage obunene obwa buli buloka obuzzidwa `%b' mu birengo ebya\n" " bayiti\n" " %C - Kirage n'endukusa eza SELinux\n" #: src/stat.c:1380 #, fuzzy msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d - Muwendo ogwa kyuma mu ki-desi\n" " %D - Muwendo ogwa kyuma mu ki-hekisi\n" " %F - Kika kya fayiro\n" " %f - Nkola mu ki-hekisi\n" " %g - ID eya guluupu nanyini gy'ali mu\n" " %G - Linnya lya guluupu nanyini gy'ali mu\n" #: src/stat.c:1388 #, fuzzy msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h - Obungi obwa nyunzi ezit'eyawudde\n" " %i - Muwendo owga inodi\n" " %m - Obuwangiro\n" " %n - Linnya lya fayiro\n" " %N - Linnya lya fayiro nga liri wakati wa bwogeza (\"\"). Bw'osanga\n" " nyunzi gilondoole olaga elinnya elya fayiro gy'egguka ko\n" " %o - Bunene obwa buloka ey'ebiyingizibwa n'ebizzibwa\n" " %s - Bunene obwa \"total\", mu bilengo ebya bayiti\n" " %t - Kika ekikulu ekya kyuma, mu ki-hekisi\n" " %T - Kika ekito ekya kyuma, mu ki-hekisi\n" #: src/stat.c:1399 #, fuzzy msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u - ID-ya-akozesa eay nanyini\n" " %U - Linnya lya nanyini\n" " %w - Budde fayiro kwe yatonderwa. Bwe buba nga tebumanyidwa kiba - \n" " %W - Budde fayiro kwe yatonderwa nga bugeredwa mu sikonda okuv ku Epoki.\n" " Bwe buba nga tebumanyidwa kiba - \n" " %x - Budde fayiro kwe yasemba okuyingirwa mu\n" " %X - Sikonda okuva ku Epoki okutuuka ku mulundi fayiro lwe yasemba\n" " okuyingirwa mu\n" " %y - Budde fayiro kwe yasemba okukyusibwa mu\n" " %Y - Sikonda okuva ku Epoki okutuuka ku mulundi fayiro lwe yasemba\n" " okukyusibwa mu\n" " %z - Budde fayiro kwe yasemba okukyuka mu\n" " %Z - Sikonda okuva ku Epoki okutuuka ku mulundi fayiro lwe yasemba\n" " okukyuka mu\n" "\n" #: src/stat.c:1413 #, fuzzy msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Obubonero obukkirizibwa mu biragiro ebireeta obubaka obufa ku sisitemu eza " "fayiro:\n" "\n" " %a - Obungi obwa buloka atali muteesiteesi z'asobola okweyambisa\n" " ezitannakozesebwa\n" " %b - Obungi obwa buloka ezisobola okutereka data eziri mu sisitemu eya\n" " fayiro\n" " %c - Obungi obwa nodi eza fayiro eziri mu sistemu eya fayiro\n" " %d - Obungi obwa nodi ezitannakozesebwa eziri mu sistemu eya fayiro\n" " %f - Obungi obwa buloka ezitannakozesebwa eziri mu sisitemu eya fayiro\n" #: src/stat.c:1422 #, fuzzy msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i - id eya sisitemu eya fayiro mu ki-hekisi\n" " %l - Obubonero obusinga obungi obukkirizibwa mu linnya lya fayiro\n" " %n - Linnya lya fayiro\n" " %s - Bunene obusinga okusaanira buloka ey'eyambisibwa okusimbuliza data\n" " %S Bunene obwa buloka obw'ennono (obweyambisibwa okubala data eri ku\n" " sisitemu)\n" " %t - Kika, mu ki-hekisi\n" " %T - Kika, mu ngeri etegeereka abantu\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "Enkozesa entuufu eri: %s KAWAYIRO... KIRAGIRO\n" #: src/stdbuf.c:91 #, fuzzy msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Ekiragiro kino kikozesebwa okutandika puloguramu oba okuyisa\n" "KIRAGIRO nga okyusizza n'engeri data gye bitambuza gy'eyitamu\n" "mu ggwanika zzibizi.\n" "\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=NGERI Kano kakyusa ngeri ebiyingizibwa gye\n" " biyitamu mu ggwanika zzibiza, n'eba NGERI\n" " -o, --output=NGERI Kano kakyusa ngeri ebivaamu gye biyitamu\n" " mu ggwanika zzibiza, n'eba NGERI\n" " -e, --error=NGERI Kano kakyusa ngeri obubaka obufa ku kiremya\n" " gye buyitamu mu ggwanika zzibiza, n'eba NGERI\n" #: src/stdbuf.c:104 #, fuzzy msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "NGERI bwe kiba 'L', data etambuzibwa esigala mu ggwanika zzibizi\n" "okutuusa lwe muyingiramu ne bayiti etegeeza nti nkomerero y'olunyiriri.\n" "Akawayiro kano tekalina kye kakola ku biva awayingizibwa awa bulijjo.\n" #: src/stdbuf.c:107 #, fuzzy msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "NGERI bwe kiba '0', data etambuzibwa teyita yo mu ggwanika zzibizi.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "NGERI bwe kitaba kimu ku ebyo, kiba ennamba etegeeza obungi bwa bayiti eza\n" "data etambuzibwa ezinaamalanga okuwera mu ggwanika zzibizi eryoke egende\n" "gy'eraga. Ennamba ezo zisobola okuwayirwako kamu ku bubonero buno " "obutegeeza\n" "ekirengo eky'okugibazamu okufuna obungi obwa data eyo:\n" "KB kitegeeza kirengo kya 1000, K kitegeeza kya 1024, MB 1000*000, M " "1024*1024,\n" "era ne G, T, P, E, Z ne Y bweyongera bwebutyo.\n" #: src/stdbuf.c:116 #, fuzzy msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "KIRAGIRO (nga, okugeza, ekya 'tee') bwe kiba nga ku bwa kyo, mu mulimu gwa " "kyo\n" "kiyusakyusa engeri data ya yo etambuzibwa gy'eyitamu mu ggwanika zzibizi, " "ezo\n" "enkyukakyuka ze zikola mu kifo ky'ezo ezitegekedwa ekiragiro ekya 'stdbuf'.\n" "Ebiragiro ebimu (nga, okugeza, 'dd' ne 'cat') data ya byo etambuzibwa teyita " "mu\n" "ggwanika zzibizi n'olumu. Olw'ensonga eyo 'stdbuf' terina ky'egikolako.\n" #: src/stdbuf.c:226 #, fuzzy, c-format msgid "failed to find %s" msgstr "nemedwa okubikkula %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "nnemedwa okwongera %s ku nviromenti" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "" "tekirina makulu kugeza kutegeka ebiva awayingizibwa\n" " awa bulijjo bisigalenga mu ggwanika zzibizi okutuusa\n" "lwe muyingiramu bayiti etegeeza nti nkomerero y'olunyiriri" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Enkozesa entuufu eri: %s [-F KYUMA | --file=KYUMA] [ENTEGEKA]..\n" " oba: %s [-F KYUMA | --file=KYUMA] [-a|--all]\n" " oba: %s [-F KYUMA | --file=KYUMA] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "" #: src/stty.c:525 #, fuzzy msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" "Ekiragiro kino kiwandikawo ebikwata ku butegeke bw'ekiwandikiro oba\n" "mutwe gwa kompyuta by'okozesa.\n" "\n" " -a, --all Bwe kubaako kamu ku buwayiro buno, kakireetera\n" " okubiwandika mu ngeri etegeereka abantu\n" " -g, --save Buno bwo bukireetera okubiwandika mu ngeri esobola\n" " okukozesebwa ng'obuwayiro ku kiragiro ekirala ekya\n" " 'stty'\n" " -F, --file=KYUUMA Buno ate bwo bukireetera okutegeka n'okukolera ku\n" " KYUUMA mu kifo eky'ekiwandikiro oba omutwe ogwa\n" " bulijjo\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Bw'oteekawo ka '-' mu maaso ga BUTEGEKE, kitegeeza nti ojjulula ebiri mu\n" "BUTEGEKE.'\n" "Bw'oba oyagala okukozesa obutegeke obutagoberera emitindo egya POSIX, ebiri " "mu\n" "BUTEGEKE obikulembeza ka '*'. Engeri ez'obutegeke bw'ekiwandikiro oba " "omutwe\n" "z'osobola kulonda kisinzira ku sisitemu ey'oku kompyuta yo\n" "\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Obubonero obwawulemu obufuga enkola y'ebiwandikiro:\n" " * dsusp KABONERO Bino bitegeka ekiwandikiro nti bwe kisanga KABONERO mu\n" " biyingizibwa, okuyingiza kwonna bwe kuggwa " "kiyimirizaamu\n" " omulimu ogwa puloguramu gye kifuga\n" " eof KABONERO Bino ate byo bikitegeka nti bwe kisanga KABONERO mu\n" " biyingizibwa ekiwandikiro kibala nti ebigoberera " "KABONERO\n" " ssi biyingizibwa bya puloguramu gye kifuga (kwe kugamba " "nti\n" " kiragira puloguramu nti fayiro ey'ebiyingizibwa ekoma " "ku\n" " KABONERO)\n" " eol KABONERO Bino bitegeka nti, ku kiwandikiro kino ne puloguramu ze\n" " kifuga, KABONERO ke kalaga awali enkomerero " "y'olunyiriri\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 KABONERO Bino bitegeka KABONERO ne kaba nga nako\n" " kasobola okulaga olunyiriri we lukoma\n" " erase KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO\n" " mu kiwandikiro, akabonero ke wasemba okuyingiza\n" " kagibwawo\n" " intr KABONERO Bino bitegeka nti ekiwandikiro KABONERO ke\n" " kitwala nga ke kabonero akalaga nti mu sisitemu\n" " ob'omulimu waliwo ekikyuseeko ekyetaagisa kuyimirizaamu\n" " ebi- bibindabinda kyo kikolebweko\n" " kill KABONERO Bino bitegeka nti bw'oyingiza KABONERO, olunyiriri\n" " lw'oliko lwonna lugibwawo\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext KABONERO Bino bitegeka nti mu kiwandikiro bw'oyingiza KABONERO,\n" " akabonero k'oddako okuyingiza kalabikabulabisi ne bwe\n" " kandibadde nga bulijjo kakolawo ekyenjawulo\n" " quit KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO,\n" " ekiwandikiro kimazisa pulogulamu gye kibadde kifuga\n" " * rprnt KABONERO Bino bitegeka nti bw'oyingiza KABONERO ekiwandikiro\n" " kiddamu obuto olunyiriri lw'oliko\n" " start KABONERO Bino bitegeka nti bw'obanga obadde oyimirizza ebivamu\n" " mu mulimu ogwa pulogulamu efugibwa ekiwandikiro kyo,\n" " bw'oyingiza KABONERO ebivaamu ebyo biddamu okukolebwa\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop KABONERO Bino bitegeka nti KABONERO ke kayimiriza okukolebwawo\n" " ebivaamu mu mulimu ogwa pulogulamu efugibwa\n" " ekiwandikiro kyo\n" " susp KABONERO Bino bitegeka nti ekiwandikiro kisindika KABONERO eri\n" " ekyuuma oba pulogulamu bye kyagala bisooke " "biyimirizeemu\n" " okukiwereza obubonero\n" " * swtch KABONERO Bino bitegeka nti KABONERO ke kalagira ekiwandikiro\n" " kitandike okukozesa pulogulamu enzivvunuzi endala\n" " * werase KABONERO Bino byo bitegeka nti bw'oyingiza KABONERO, ekigambo\n" " kyewasembye kuwandika kigibwawo\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Obutegeke obw'enjawulo:\n" " N N eba namba. Kino kileetera omutwe oba ekiwandikiro\n" " okufuna enyingiza n'okuwereza ebivaamu ku bwangu obwa\n" " baud N\n" " * cols N Kino kimanyisa enombe nti omutwe oba ekiwandikiro\n" " bikolera ku nkumbo N\n" " * columns N Kino kyekimu ne cols N\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N Kino kitegeka nti ekiwandikiro oba omutwe bifunira\n" " enyingiza ku bwangu obwa N\n" " * line N Kino kileetera ebiyisibwa mu mukutu ogw'oku kiwandikiro\n" " oba omutwe gwa kompyuta bitegekebwenga mu nkola namba N\n" " min N Kino kikola nga akawayiro -icanon kwekali. Kireetera\n" " ekiwandikiro okulindanga kimale okuwerezebwa obubunero " "N\n" " kiryoke kikolenga ku bitundu ebya data ebikiwerezedwa\n" " ospeed N Kino kitegeka nti ekiwandikiro oba omutwe biwereza\n" " ebivaamu ku bwangu obwa N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N Kino kimanyisa ennombe nti omutwe oba ekiwandikiro\n" " bikolera ku nnyiriri N\n" " * size Kino kiraga obungi bw'enkumbo n'ennyiriri ennombe\n" " z'erowooza nti ekiwandikiro oba omutwe gwa kompyuta\n" " bikolerako\n" " speed Kino kiraga obwangu ekiwandikiro bwe kikolerako -\n" " obw'okuwereza n'okufuna obubonero\n" " time N Kino kikola nga akawayiro -icanon kwekali. Ekiwandikiro\n" " bwe kiraba nga wayise ebitundu N ku kkumi " "eby'akasikonda\n" " nga tekinnawerezebwa bubonero obulala, bwe kirinawo\n" " kibusindika ku kigendererwa kya bwo\n" #: src/stty.c:581 #, fuzzy msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Ebifuga ensindika ey'obubaka:\n" " [-]clocal Kino kigyamu obubonero obufuga modemu\n" " [-]cread Kino kikkirizisa ekiwandikiro okuwerezebwa obubonero\n" " * [-]crtscts Kino kireetera ekiwandikiro okukozesa enkola eya RTS/" "CTS\n" " mu kulunngamya empanyisigana ey'obubonero\n" " csN kino kitegeka nti obubonero bunaabangamu biti N. N\n" " esobola okubeera kimu ku 5, 6, 7 oba 8\n" #: src/stty.c:590 #, fuzzy msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb Kino kitegeka nti buli kabonero akawerezebwa " "kagenderako\n" " ne bbiti bbiri eziraga bayiti ezikakola we zikoma (bwe \n" " kikulemberwa ka '-' kitegeka kagenderengako bbiti emu\n" " yokka)\n" " [-]hup Kino kitegeka nti emirimu egifugibwa tty gyonna bwe\n" " giggwa, tty n'ebikkibwa, esooka kusindika obubaka obwa\n" " hangup - nti tewakyali birindirira kuwerezebwa bubonero\n" " ku mukutu kw'ebadde\n" " [-]hupcl Kino kyekimu ne [-]hup\n" " [-]parenb Kino kitegeka nti ebiva ku tty bibeerako biti " "ezikozesebwa\n" " kukakasa obutuufu bw'ebiwerezebwa\n" " [-]parodd kino kitegeka nti ennamba enkusike ey'ebiwerezebwa biti\n" " ezikozesebwa kukakasa obutuufu bwabyo zigifuula\n" " etagabanizika mu bbiri\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Ebifuga enyingiza ya tty:\n" " [-]brkint Kino kitegeka nti tty bw'efuna akabonero\n" " akakomekkerezesebwa kigireetera okusindika obubaka\n" " obutegeeza kuyimirizaamu omulimu oba okugiwereza " "bubonero\n" " [-]icrnl Kino kitegeka nti tty bw'efuna akabonero akalagira\n" " akasonga okudda ku ntadikwa y'olunyiriri yo ezzawo\n" " akalagira kutandika lunyiriri lupya\n" " [-]ignbrk Kino kitegeka nti tty tegoberera kiragiro eky'akabonero\n" " akakomekkerezesebwa\n" " [-]igncr Kino kitegeka nti tty tegoberera kiragiro eky'akabonero\n" " akalagira akasonga okudda ku ntandikwa y'olunyiriri\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar Kino kireetera ekiwandikiro oba mutwe gwa kompyuta " "butafa\n" " ku bubonero obuzze nga biti zaabwo ezikozesebwa okukasa " "oba\n" " butuufu ziraga nga obutali butuufu\n" " * [-]imaxbel Kino kyo kitegeka nti ekiwandikiro bwe kiwerezebwa\n" " akabonero nga eggwanika mwe kibukuumira bumal'okuwera\n" " kibulage lijjudde kivugabuvuzi naye obubonero\n" " obusangidwamu tekibusangulamu\n" " [-]inlcr Kino kitegeka nti tty bw'efuna akabonero akalagira\n" " kutandika lunyiriri lupya yo ezzawo akalagira akasonga\n" " okudda ku ntadikwa y'olunyiriri\n" " [-]inpck Kino kitegeka nti ekiwandikiro kikebera biti " "ezikozesebwa\n" " okukakasa obutuufu obw'obubonero obukiwerezebwa\n" " [-]istrip Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta\n" " bigyamu biti ey'omanaana ey'oku buli kabonero\n" " akabiwerezebwa\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 Akawayiro kano kaleetera ekiragiro okukitwala\n" " nti obubonero bwonna bwe kikolako bwa mpandika eya " "UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc Kino kitegeka nti buli kabonero akajja ng'ennukta " "ennene\n" " kafuulibwa ate ennukuta ntono\n" " * [-]ixany Kino kitegeka nti akabonero konna kayinza okukozesebwa\n" " okuleetera ebiva mu mulimu okuddamu kukolebwa\n" " [-]ixoff Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta\n" " bisobola okusindikanga obubonero obulagira ekintu " "ekirala\n" " okutandika oba okulekerawo okubiwereza bintu\n" " [-]ixon Kino kyo kitegeka nti empanisigana y'obubonero wakati\n" " w'ekiwandikiro oba mutwe gwa kompyuta efugibwa enkola " "ya\n" " XON/XOFF\n" " [-]parmrk Kino kitegeka nti ekiwandikiro oba mutwe gwa kompyuta " "buli\n" " kabonero ke bifuna nga biti zaakwo ezikozesebwa " "okutegeera\n" " butuufu bwako bulaga nti ssi katuufu bik'ongerako " "bayiti\n" " endala bbiri ez'okukalamba\n" " [-]tandem Kino kyekimu ne [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Ebifuga ebivaamu ebyimirimu ku kiwandikiro oba mutwe gwa kompyuta:\n" " * bsN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro\n" " lwe kifuna akabonero akalagira okusiimula okudda\n" " mabega ne lwe kituukiriza ekiragiro ekyo oba akabonero\n" " ne kikasindika ku kigenderwa ekirala. N esobola okuba\n" " 0 oba 1\n" " * crN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe\n" " kifuna akabonero akalagira akasonga okudda ku ntadikwa\n" " y'olunyiriri ne lwe kituukiriza ekiragiro ekyo oba\n" " akabonero ne kikasindika ku kigenderwa ekirala. N " "esobola\n" " okuba 0, 1, 2 oba 3\n" " * ffN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe\n" " kifuna akabonero akakiragira okuba " "ng'ekikyusizz'olupapula\n" " ne lwe kituukiriza ekiragiro ekyo oba akabonero ne\n" " kikasindika ku kigenderwa ekirala. N esobola okuba 0 oba " "1\n" " * nlN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe\n" " kifuna akabonero akalagira okutadika lunyiriri olupya " "ne\n" " lwe kituukiriza ekiragiro ekyo oba akabonero ne " "kikasindika\n" " ku kigenderwa ekirala. N esobola okuba 0 oba 1\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl Kino kitegeka nti ekiwandikiro buli kabonero akalagira\n" " akasonga kudda ku ntandikwa y'olunyiriri akakituukako " "kyo\n" " kizzaawo akalagira kutandika lunyiriri lupya\n" " * [-]ofdel Kino kyo kitegeka nti ekiwandikiro bwe kiba kikyalinda\n" " kuwereza akabonero akakiyingizidwa kigira nga kiwereza\n" " obulagira kusiimula nga bwe bukola nga obulaga nti " "waliwo\n" " okulinda, mu kifo eky'okuwereza obwa mpiri\n" " * [-]ofill Kino kitegeka nti ekiwandikiro bwe kiba kirina kusooka\n" " kulekayo kuwereza obubonero bwe kifunye, mu kifo\n" " eky'okusirikabusirisi kigira nga kiwerezamu obubonero " "bwa\n" " kujjuzamu biseera\n" " * [-]olcuc Kino kitegeka nti ekiwandikiro buli kabonero akaba ka\n" " nukuta ntono ke kifuna kizzaawo akabonero aka nukuta " "eyo\n" " nga nnene\n" " * [-]onlcr Kino kitegeka nti tty bw'efuna akabonero akalagira\n" " kutandika lunyiriri lupya yo ezzawo akalagira akasonga\n" " okudda ku ntadikwa y'olunyiriri\n" " * [-]onlret Kino ate kyo kitegeka nti akabonero akalagira kutundika\n" " lunyiriri lupya kava ku nkola eyo ne kaba nga kalagira\n" " akasonga kudda ku ntandikwa y'olunyiriri\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr Kino kitegeka nti obubonero obulagira akasonga kudda ku\n" " ntandikwa y'olunyiriri tebulabika bwe buba nga bwe " "bubonero\n" " obusooka mu lunyiriri olwandikubisidwa ku kyapa\n" " [-]opost Kino kitegeka nti ebivaamu eby'oku kiwandikiro oba " "mutwe\n" " gwa kompyuta bisooka kubako ebibikolebwako nga\n" " tebinnawerezebwa awalala\n" " * tabN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe\n" " kifuna akabonero akalagira kukolawo oluseetuka\n" " olw'omumbiriizi ne lwe kituukiriza ekiragiro ekyo oba\n" " akabonero ne kikasindika. N esobola kuba 0, 1, 2 oba 3\n" " * tabs Kino kikola nga awabadde 'tab0'\n" " * -tabs Kino kikola nga awabadde 'tab3'\n" " * vtN Kino kitegeka ebbanga eriyitawo okuva ekiwandikiro lwe\n" " kifuna akabonero akalagira kukolawo oluseetuka\n" " olw'omubusimba ne lwe kituukiriza ekiragiro ekyo oba\n" " akabonero ne kikasindika. N esobola kuba 0 oba 1\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Okutegeka okukoma mu akawunti ey'oyo akukoze:\n" " [-]crterase Kino kitegeka nti ekiwandikiro bwe kifuna akabonero\n" " akalagira kusiimula kisooka kukolawo akasiimula akadda\n" " mabega ne kiryoka kissaawo akabanga ate era ne kyongera\n" " kukolawo akasiimula akadda mabega\n" " * crtkill Kino kitegeka nti ekiragiro eky'okusiimulawo olunyiriri\n" " lwonna kituukirizibwa ku nkola eleetebwawo 'echoprt' ne\n" " 'echoe'\n" " * -crtkill Kino kyo kitegeka nti ekiragiro eky'okusiimulawo\n" " olunyiriri lwonna kituukirizibwa ku nkola eleetebwawo\n" " 'echoctl' ne 'echok'\n" #: src/stty.c:654 #, fuzzy msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho Kino kitegeka nti obubonero obufuga ekiwandikiro " "bulagibwa\n" " mu mpandika 'ey'akakofiira' ('^c')\n" " [-]echo Kino kitegeka nti buli kabonero akawerezebwa ku " "kiwandikiro\n" " era kalabika\n" " * [-]echoctl Kino kikola nga [-]ctlecho\n" " [-]echoe Kino kikola nga [-]crterase\n" " [-]echok Kino kitegeka nti ekiwandikiro buli lwe kiraga " "akabonero\n" " akasiimula olunyiriri olulamba kizzaako akabonero " "akalagira\n" " kutandika lunyiriri lupya\n" #: src/stty.c:661 #, fuzzy msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke Kino kikola nga awabadde [-]crtkill\n" " [-]echonl Kino kitegeka nti ekiwandikiro kiraga obubonero " "obulagira\n" " kutandika lunyiriri lupya, ne bwekiba nga obubonero\n" " obukifuga obulala bwo tekibulaga\n" " * [-]echoprt Kino kitegeka nti ekiwandikiro obubonero obugenda\n" " busiimulwawo kisooka kubulaga, nga kibuwandise " "kitandikira\n" " ku kasembye kusiimulwa ate nga buteeredwa wakati\n" " w'obubonero obwa '\\' ne '/'\n" " [-]icanon Kino kitegeka nti osobola okukozesa obubonero " "bwayawulibwa\n" " bukongojjenga ebiragiro ebya 'kill', 'werase' ne rprnt'\n" " [-]iexten Kino kyo kitegeka nti osobola okukozesa obubonero\n" " obutagoberera mutindo ogwa POSIX\n" #: src/stty.c:668 #, fuzzy msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig Kino kikusobozesa okukozesa obubonero obulagira emirimu\n" " kuyimirizibwamu kulinda ginnagyo, obukomya mirimu,\n" " n'obuyimiriz'emirumu girinde ekiragiro eky'okuddamu\n" " [-]noflsh Kino kireetawo obubonero obuli mu kiwandikiro " "okusigalumu\n" " nga wazzewo ekiragiro eky'okuyimirizaamu omulimu " "gulinde\n" " gunnaagwo oba ekiragiro ekikomya omulimu\n" " * [-]prterase Kino kikola kimu ne '[-]echoprt'\n" " * [-]tostop Kino bwe kibawo, bwe wabawo omulimu ogukolera mu\n" " kiwandikiro, emirala egyetongodde naye nga gyakola " "nagyo\n" " okusindika ebivaamu byagyo ku kiwandikiro ekyo " "giyimirira\n" " * [-]xcase Kino bwe kibawo nga waliwo ne 'icanon', kitegeeza nti\n" " okozesa obubonero `\\' okukyusa enkola y'obubonero\n" " obukozesa ennukuta ennene okuva ku eya bulijjo\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Ebiragiro ebikola nga eyagattise ebirala ebisukka mu kimu:\n" " * [-]LCASE Kino kikola kimu ne '[-]lcase'\n" " cbreak Kino kikola kimu ne '-icanon'\n" " -cbreak Kino kikola kimu ne 'icanon'\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked Kino kizza ebigambo brkint, ignpar, istrip, icrnl, " "ixon,\n" " opost, isig, icanon, eof ne eol ku bubonero bwa byo " "obwa\n" " bulijjo\n" " -cooked Kino kikola kimu ne 'raw'\n" " crt Kino kikola ng'eyagattise 'echoe echoctl echoke'\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec Kino kikola ng'eyagattise\n" " 'echoe echoctl echoke -ixany intr ^c erase 0177 kill " "^u'\n" " * [-]decctlq Kino kikola kimu ne '[-]ixany'\n" " ek Kino kireetera ekiragiro eky'okusiimula akabonero kamu\n" " n'eky'okusiimulawo olunyiriri olulamba okudda ku " "bubonero\n" " obubireetawo obwa bulijjo\n" " evenp Kino kikola ng'eyagattise 'parenb -parodd cs7'\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp Kino kikola ng'eyagattise '-parenb cs8'\n" " * [-]lcase Kino kikola ng'eyagattise 'xcase iuclc olcuc'\n" " litout Kino kikola ng'eyagattise '-parenb -istrip -opost cs8'\n" " -litout Kino kikola ng'eyagattise 'parenb istrip opost cs7'\n" " nl Kino kikola ng'eyagattise '-icrnl -onlcr'\n" " -nl Kino kikola ng'eyagattise 'icrnl -inlcr -igncr onlcr\n" " -ocrnl -onlret'\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp Kino kikola ng'eyagattise 'parenb parodd cs7'\n" " -oddp Kino kikola ng'eyagattise '-parenb cs8'\n" " [-]parity Kino kikola kimu ne '[-]evenp'\n" " pass8 Kino kikola ng'eyagattise '-parenb -istrip cs8'\n" " -pass8 Kino kikola ng'eyagattise 'parenb istrip cs7'\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw Kino kikola ng'eyagattise '-ignbrk -brkint -ignpar\n" " -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0'\n" " -raw Kino kikola kimu ne 'cooked'\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane Kino kikola ng'eyagattise 'cread -ignbrk brkint -inlcr\n" " -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost\n" " -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0\n" " tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok\n" " -echonl -noflsh -xcase -tostop -echoprt echoctl echoke,\n" " ate kizz'ebiragiro ebirala ebireetebwa ku bubonero\n" " obwayawulwamu ku bubonero bwa byo obwa bulijjo.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Ekiragiro ekya 'stty' kifuga ekiwandikiro ekifuna bye kikolako\n" "okuv'awayingizibwa awa bulijjo.\n" "\n" "Ekiragiro bw'okiyisa nga totaddeko agumenti yonna, kikoma ku kuwandikawo\n" "obwangu ekiwandikiro kwe kiwererezaako n'okufunirako obubonero n'enjawulo\n" "mu ntegeka ey'ebiyisibwa mu mukutu gwakyo okuva ku eyo ereetebwawo\n" "ekiragiro 'stty sane'. Obubonero obugendera ku biragiro eby'omu stty\n" "obutegeka n'empandika eno -'linnya-lya-kiragiro kabonero'.\n" "kabonero oyinz'okuteekawo kabonero kennyini, okugeza 'kill D',\n" "olwo akabonero D ke kasiimuzawo olunyiriri olulamba. Oba oyinz'okukozesa\n" "empandika 'ey'akakuufiira', okugeza 'kill ^d' - kyekimu n'ekisoose.\n" "Ate oyinz'okuwandikawo ennamba ekongojja akabonero, okugeza 'kill 0x44',\n" "nga '0x44' y'ennamba eya kihekisi ekongojja akabonero 'D'.\n" "Bw'okola 'linnyalyakiragiro ^-' oba 'linnyalyakiragiro undef', ekyo\n" "kitegeeza nti ebyo ebiragiro tebisobola kukolera mu kiwandikiro ekyo.\n" "Okugeza 'eof ^-' oba 'eof undef' bitegeeza nti mu kiwandikiro ekyo tewali\n" "kabonero akategeeza nti enkomerero eya fayiro etuukidwako.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "Oteekangawo linnya lya kyuma kimu kyokka" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "akawayiro ak'okuwandika mu ngeri etegeereka bantu n'ak'okuwandika\n" "mu ngeri esobola okukozesebwa nga agumenti tebukukozesebwa wamu" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" "mu kiragiro ekifuga ebivaamu eby'ekiwandikiro,\n" "tokkirizibwa ate kutgeka ensindika n'enfuna y'ekiwandikiro" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" "%s: tekisobose okuzza kiwandikiro ku nkola ey'okusindika n'okufunira\n" "mu bitole" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "agumenti %s tekola wano" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "agumenti %s tekola wano" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "entegeka ey'ebisindikibwa, %s, tekola" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s: tekisobose okukola emikolo gyonna egisabidwa" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s: tewali biraga ebifa ku bunene obw'ekyuma kino" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "'%s' tekkirizibwa nga agumenti ey'ekika kya nnamba enzijivu" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Ekiragiro kino buli FAYIRO kiwandikawo ennamba enkuumi ya yo ko n'obungi " "bwa\n" "buloka eza data ezigirimu.\n" "\n" " -r Akawayiro kano kaleetera ekiragiro okukozesa buloka\n" " ezirenga bbiti 1024 - enkola ey'oku sistemu ez'ekika\n" " kya BSD. Bw'otateekako kawayiro era eno y'ennenga gye\n" " kigezaako okukozesa\n" " -s, --sysv Bw'okozesa kamu ku buno ate kikozesa buloka ezirenga\n" " bbiti 512 - enkola ey'oku sistemu ez'ekika kya 'System V'\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Ekiragiro kino kiwaliriza buloka ezikyuseemu zikazzibwe ku disiki,\n" "semabuloka ne kigitumbula okunyweeza enkyuukakyuuka zino.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "agumenti zonna nzibodde" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "GENDERERA: Enzivvuunuzi gy'okozesa eyinz'okuba nga %s ya mu ya njawulo ku\n" "ennyonyolebwa wano. Sisitemu bw'ebaako koppi eya puloguramu eno eyajjira\n" "mu nzivvuunuzi yakwo ko n'endala, etera kukozesaamu eyo eyajjira mu\n" "nzivvuunuzi.\n" "Puloguramu ey'oku sisitemu yo bw'eba nga eyawukana n'ennyoyolebwa wano,\n" "kebera ebiwandiko ebikwata ku nzivvuunuzi okumanya obuwayiro " "obugigenderako.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr "" " --help Kano kaleetera ekiragiro okukoma ku kulaga okunnyonyola " "kuno\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr "" " --version Kano ko kakireetera okukoma ku kulaga ebifa ku mutindo gwa " "kyo\n" #: src/system.h:544 #, fuzzy msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Agumenti ezibeera ez'etteeka ku buwayiro obujjuvu era ziba za tteeka ne\n" "ku buwayiro obufunze.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Ebirengo eby'ennamba eziraga obungi bwa buloka bitegekebwa akawayiro aka\n" "'--block-size' n'ebigambo eby'omunviromenti '%s_BLOCK_SIZE', 'BLOCK_SIZE'\n" "ne 'BLOCKSIZE'. Ku ebyo bwe kubulako ky'otegese, obungi bwa buloka " "bulagibwa\n" "mu birengo ebya bayiti 1024 (biba bya bayiti 512 bw'obanga mu nviromenti yo\n" "wategeseemu ekigambo ekya 'POSIXLY_CORRECT')\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Bw'osangamu ebitali bituufu ku %s, tegeeza %s\n" #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Bw'osanga ebitali bituufu %s, tegeeza <http://translationproject.org/team/>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Ekiragiro info coreutils '%s invocation' kikubikkulira ebiwandiko\n" "ebinnyonyola kiragiro kino mu bujjuvu\n" #: src/system.h:596 #, fuzzy, c-format msgid "Try '%s --help' for more information.\n" msgstr "Wandika '%s --help' oyongere okuwebwa amagezi.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "KULABULA: Waliwo etterekero eliri mu fayiro nyunzi eziliggukako ate.\n" "Kilabika sisitemu eya fayiro yo eyonoonese.\n" "MUTEESITEESI OWA SISITEMU YO MUTEGEEZE (bw'abanga ssi ye ggwe).\n" "Omutawana guno guzingiramu tterekero lino eliyitibwa:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 #, fuzzy msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino kisoma zi FAYIRO, buli emu ebigirimu ne kibiwandikira\n" "awateekebwa ebivaamu awa bulijjo. Ebiri mu FAYIRO ekiragiro bwe " "kibiwandika,\n" "kitandikira ku lunyiriri olusembayo ne kimaliririza ku lw'okuntandikwa.\n" "Bw'otateekako agumenti ey'erinnya lya FAYIRO, oba singa agumenti eyo eba " "'-',\n" "ekiragiro kirinda kukola ku biva awayingizibwa awa bulijjo.\n" "\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before Buno obuwayiro bw'oteekako kamu ku bwo, " "ekiragiro\n" " kitwala nti obubonero obwawula ebiwandise mu " "FAYIRO\n" " buli ku ntandikwa z'ebiwandise ebigoberera\n" " binnaabyo\n" " -r, --regex Bw'okoteekawo kamu ku buno ekiragiro obubonero\n" " obwawula ebiwandise mu FAYIRO kibuyisa nga " "emboozi\n" " ezinoonya zinnaazo\n" " -s, --separator=BUBONERO Teekawo kamu ku buwayiro buno oba oyagala " "ekiragiro\n" " kibale nti BUBONERO bwe bulaga entandikwa\n" " y'ekiwandise, mu kifo eky'obubonero obulagira\n" " kutandika lunyiriri olupya\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s: tekisobose kutereeza aw'okusoma mu fayiro" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "ekiwandise kiyitiridde obunene" #: src/tac.c:450 #, fuzzy, c-format msgid "failed to create temporary file in %s" msgstr "sisobola okukolawo fayiro ey'ekiseerabuseera mu %s" #: src/tac.c:458 #, fuzzy, c-format msgid "failed to open %s for writing" msgstr "%s nnemedwa okugibikkula kugiwandikamu" #: src/tac.c:475 #, fuzzy, c-format msgid "failed to rewind stream for %s" msgstr "nemedwa okukuuma `saawa' ez'oku %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s: wazzewo kiremya mu kuwandika" #: src/tac.c:571 #, fuzzy, c-format msgid "failed to open %s for reading" msgstr "sisobodde okubikkula %s kugisoma" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "tekikkirizibwa butaba na kabonero k'awula mu biwandise" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, fuzzy, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino kiwandika ennyiriri %d ezisembayo ez'omu buli FAYIRO, nga\n" "kiwandikira awateekebwa ebivaamu awa bulijjo.\n" "FAYIRO bwe zisukka mu emu, ebiva mu buli emu kibikulembeza omutwe ogulaga\n" "erinnya lya yo.\n" "Bw'otateekawo linnya lya FAYIRO, oba singa oteekawobuteesi ka '-', " "ekiragiro\n" "olwo kirinda ebiva awayingizibwa awa bulijjo\n" "\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K Bw'ossawo kamu ku buno, ku buli fayiro " "kiwandikako\n" " bayiti K ezisembayo \n" " Bw'ossawo aka '-c +K, ku buli fayiro kibalako\n" " bayiti K okuva ku ntandikwa ya yo ne kiwandika\n" " ebigirimu okuva awo\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " Buno obuwayiro buleetera ekiragiro tail\n" " okugenda nga kyongera okuwandikawo ebipya\n" " ebyongerwa ku fayiro gye kikolako;\n" " bw'oteekawo kamu ku -f, --follow, oba\n" " --follow=descriptor ekivaamu kiba kyekimu,\n" " ekiragiro kigoberera fayiro ne bw'ekyusibwa\n" " erinnya. Sso bw'oteekawo --follow=name olwo\n" " ekiragiro fayiro bw'evaawo oba erinnya lya yo\n" " bwe likyusibwa kikutegeeza ne kirekawo okukola\n" " -F Bw'oteekawo kano ekiragiro fayiro bw'evaawo oba\n" " bw'ekyusibw'erinnya kiriinda ezzibwewo kiryoke\n" " kyeyongere okukikolako. Kino kye kimu n'okussawo\n" " --follow=name --retry\n" #: src/tail.c:281 #, fuzzy, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K Buno bukireetera okuwandikawo ennyiriri K\n" " ezisembayo mukifo kya %d. Ennamba K\n" " bw'ogikulembeza ka '+', kwe kugamba nti\n" " bw'ossawo +K, ekiragiro kibuukako nnyiriri K,\n" " eziddako zonna ne kiziwandikawo.\n" " --max-unchanged-stats=N\n" " Kano kko, bw'okagatta n'aka --follow=name, " "ssinga\n" " FAYIRO tekyukako obunene oluvanyuma lw'enkebera " "N\n" " (mu bya bulijjo ezo ziba %d) ekiragiro kigibikka\n" " ne kiddamu okugibikkula kitegeere oba ekyusidwa\n" " linnya, oba, bw'eba nga nnyunzi kw'ebadde egguka\n" " evuddewo.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID Kano bw'okagatta ku aka -f, kaleetera ekiragiro\n" " okumala kasita omulimu oguliko ennamba PID nagwo\n" " gumalirizibwa\n" " -q, --quiet, --silent Bw'oteekawo kamu ku buno kaleetera ekiragiro\n" " butawandikawo mitwe egiraga zifayiro ebintu\n" " mwe biva\n" " --retry Bw'ossaako akawayiro kano, ekiragiro ekya tail\n" " kiddinngana kukebera oba fayiro gy'ogigambye\n" " gyeri bw'etasooka ku gisangawo, oba fayiro eyo\n" " bw'egira n'eba nga evuddewoko. Kano tekagasa\n" " okugyako nga kuliko n'akawayiro '--follow=name'\n" #: src/tail.c:301 #, fuzzy msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N Bw'ogattika kano n'aka -f, ekiragiro\n" " kisiriikiriramu okumala obusikonda N (mu ebya\n" " bulijjo ezo ziba 1.0) buli lwe kiva kukebera\n" " fayiro ze kikolako\n" " -v, --verbose Bw'ossawo kamu ku buno kireetera ekiragiro\n" " okuwandikangawo emitwe egiraga zifayiro\n" " ebintu mwe biva\n" #: src/tail.c:310 #, fuzzy msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Ssinga ku bungi bw'ennyiriri, K, osoosaako ka '+', olwo ekiragiro\n" "kibala ennyiriri K okuva ku ntandikwa ya fayiro gye kikolako ne\n" "kiwandika nnyiriri zonna okuva ku eyo kutuuka ku lusembayo. Ako\n" "akabonero bwe katabako ekiragiro kisigala nga kiwandika ennyiriri K\n" "ezisenbayo mu fayiro. Ku K osobola okwongerako akafundikwa\n" "akagibazaamu:\n" "b akategeeza nti ennamba K ekubisibwamu 512, kB nti ekubisibwamu 1000,\n" "K ye 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024,\n" "n'obubonero T, P, E, Z, Y bweyongera mu ngeri eyo.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Eyo y'enkola eya tail eya bulijjo. Kyokka wabawo ebiseera nga waliwo " "erinnya\n" "nga oyagala okugoberera ebigenda mu fayiro yonna etuumidwa erinnya eryo.\n" "Olwo wetaaga kussaawo akawayiro --follow=name. Ekiragiro bwe kibaako kano\n" "fayiro kigera ebiseera ne kigibikka ate ne kiddamu okugibikkula kisobola\n" "okutegeera oba erinnya eryo litwalidwa ku fayiro endala.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "mbikka %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" "%s: tekisobose okutandikira mulimu nnyiriri %s okuva awanditandidwa mu bya " "bulijjo" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s: tekisobose okutandikira nnyiriri %s okuva ku nkomerero ya fayiro" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "%s sigirabye. kati ngirindirira okulabika" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s tekyatuukikako" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "erinnya %s ligenze ku fayiro etasomeka; erinnya lino ndekedd'awo kulikolako" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "" "erinnya %s ligenze ku fayiro eteri ku sistemu eno; erinnya lino ndekedd'awo " "kulikolako" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s tekyatuukikako" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s erabise; ntadise kugoberera ebigyongerwako" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" "erinnya %s ligenze ku fayiro ndala; ntandise kugoberera ebyongerwa ku\n" "fayiro empya eyo" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" "%s: tekisoboka kukkiriza omulimu ogutandise\n" "tail kukola birala tail nga ekyakola" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s: fayiro eno ekendezedwa" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "fayiro zonna zivuddewo" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "tekisoboka kugoberera etterekero omuli %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "Omulimu ogwa inotify bye gukozesa biweddey" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "%s tegobererekaS" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "omulimu ogw'okulindirira okubagguliza okwa 'inotify' kuzzemu kiremya" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "wazzewo kiremya mu kusoma okubagguliza okwa 'inotify'" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s: tekisoboka okugoberera ebyongerwa mu fayiro ez'ekika kino;\n" "erinnya lino ndekedd'awo kulikolako" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "%s erimu ennamba eyitiridde obunene" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "%s: tekikkirizibwa kukebera fayiro emirundi gino" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s: eno ennamba y'omulimu tekkirizibwa" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s: buno obungi bwa sikonda tebukkirizibwa" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "akawayiro %c kakozesebwa we katajjirawo" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "kulabula: tekigasa kuteekawo akawayiro --retry okugyako\n" "nga tail egoberera fayiro nga yesigamye ku linnya" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" "kulabula: ekya PID tekigyakukolebwako; anti akawyiro --pid=PID\n" "tekagasa okugyako nga tail esigala egoberera ebyongerwa ku fayiro" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "kulabula: akawayiro --pid=PID tekakola ku sisitemu eno" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "tekisobose kugoberera %s nga n'esigamye ku linnya" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" "kulabula: tekigasa kusigala nga ogoberera ebiteekebwa\n" "awayingizibwa awa bulijjo" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "" "tekisobose okukozesa 'inotify' okutegeera enkyukakyuka\n" "ez'okusisitemu. Nngenda kugikeberangabukebezi" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Ekiragiro kino kireetera kopi eya buli kyoyingiza ku awayingizibwa awa\n" "bulijjo okugenda mu buli FAYIRO gy'omenya nga agumenti ya kyo, endala\n" "n'egenda awateekebwa ebivaamu awa bulijjo.\n" "\n" " -a, --append Bw'ossawo kamu ku buno obuwayiro, by'oyingiza\n" " byeyungabweyunzi ku ziFAYIRO, ebisangidwamu " "nabyo\n" " ne bizisigalamu\n" " -i, --ignore-interrupts Bw'ossawo kamu ku buno kaleetera omulimu ogwa " "tee\n" " obutalinda oba kuyimirizibwamu mirimu mirala\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "FAYIRO bw'oteekawo ng'eri '-', ekiragiro ebivaamu\n" "kibiwandikira awateekebwa ebivaamu awa bulijjo\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "%s kibulako agumenti" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "ennamba enzijjuvu %s tekola" #: src/test.c:241 msgid "')' expected" msgstr "wabulawo ka ')'" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "nsanzewo %s awandibadde ka ')'" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s: wetaagawo ekifuula ekikola ku agumenti emu yokka" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-l tekagendera ku -nt" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-l tekagendera ku -ef" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-l tekagendera ku -ot" #: src/test.c:367 msgid "unknown binary operator" msgstr "waliwo ekifuula ekikola ku agumenti bbiri ekitamanyidwa" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s: wetaagawo ekifuula ekikola ku agumenti bbiri" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Enkozesa entuufu eri: test EMBOOZI\n" " oba: test\n" " oba: [ EMBOOZI ] (kwe kugamba towandikawo ekigambo 'test')\n" " oba: [ ]\n" " oba: [ KAWAYIRO (era towandikawo ekigambo 'test'. Tossawo ka ']')\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Ekiragiro kino kikozesebwa kukebera ebifa ku fayiro. Emmala\n" "y'omulimu gwakyo esinzira ku biva mu MBOOZI.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "EMBOOZI bw'otagissawo, ekiragiro kisalawo nti obukalu tebutuukirizidwa.\n" "EMBOOZI ebaamu obukalu fayiro bwe zisobola okutuukiriza oba butatuukiriza.\n" "Ebiddako lukalala l'obukalu bw'osobola okuteeka mu mboozi n'ebinnyonyola\n" "empandika z'emboozi:\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EMBOOZI ) Bw'owandika ekyakula kityi fayiro\n" " bw'etuukiriza obukalu\n" " obuli mu MBOOZI okukebera kwa test kubalibwa\n" " ng'okuyiseemu\n" " ! MBOOZI Bw'owandika ekyakula kityi fayiro\n" " bw'etatuukiriza obukalu obuli mu MBOOZI\n" " okukebera kwa test lwe kubalibwa " "ng'okuyiseemu\n" " MBOOZI-1 -a MBOOZI-2 Bw'owandika ekyakula kityi fayiro " "bw'etuukiriza\n" " obukalu obuli mu MBOOZI-1 era n'etuukiriza\n" " obuli mu MBOOZI-2 okukebera kwa test " "kubalibwa\n" " ng'okuyiseemu\n" " MBOOZI-1 -o MBOOZI-2 Bw'owandika ekyakula kityi fayiro " "bw'etuukiriza\n" " obukalu obuli mu MBOOZI-1 oba obuli mu " "MBOOZI-2\n" " okukebera kubalibwa ng'okuyiseemu\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " [-n] KIGAMBO Kano ke kakalu nti KIGAMBO nga wekiri\n" " -z KIGAMBO Kano ke kakalu nti KIGAMBO nga tekiriwo\n" " KIGAMBO-1 = KIGAMBO-2 Kano ke kakalu nti KIGAMBO-1 kyenkana " "KIGAMBO-2\n" " KIGAMBO-1 != KIGAMBO-2 Kano ke kakalu nti KIGAMBO-1 tekyenkana\n" " KIGAMBO-2\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " NAMBA-NZIJJUVU-1 -eq NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1 erina\n" " kwenkana NAMBA-NZIJJUVU-2\n" " NAMBA-NZIJJUVU-1 -ge NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1 erina\n" " kwenkana oba okusinga ku\n" " NAMBA-NZIJJUVU-2\n" " NAMBA-NZIJJUVU-1 -gt NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1\n" " erina okusinga ku\n" " NAMBA-NZIJJUVU-2\n" " NAMBA-NZIJJUVU-1 -le NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1 erina\n" " kwenkana oba kuba ntono ku\n" " NAMBA-NZIJJUVU-2\n" " NAMBA-NZIJJUVU-1 -lt NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1\n" " erina kuba ntono ku\n" " NAMBA-NZIJJUVU-2\n" " NAMBA-NZIJJUVU-1 -ne NAMBA-NZIJJUVU-2 Kano ke kakalu nti\n" " NAMBA-NZIJJUVU-1\n" " erina but'enkana NAMBA-NZIJJUVU-2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FAYIRO-1 -ef FAYIRO-2 Kano ke kakalu nti ennamba eza inodi ne kyuma " "ez'oku\n" " FAYIRO-1 zirin'okuba nga ze zimu n'ez'oku " "FAYIRO-2\n" " FAYIRO-1 -nt FAYIRO-2 Kano ke kakalu nti FAYIRO-1 erin'okuba nga ye " "yasemba\n" " okukyusibwamu\n" " FAYIRO-1 -ot FAYIRO-2 Kano ke kakalu nti FAYIRO-2 erin'okuba nga ye " "yasemba\n" " okukyusibwamu\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ey'enjawulo\n" " ey'ekika kya buloka\n" " -c FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ey'enjawulo\n" " ey'ekika kya nukuta\n" " -d FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga tterekero\n" " -e FAYIRO Kano ke kakalu nti FAYIRO gyeri\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga fayiro ya bulijjo\n" " -g FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga bw'ob'ogikozesa\n" " ofunirako obuyinza obugendera ku guluupu ya yo\n" " -h FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga nnyunzi ey'eyawudde\n" " ku gy'eggukako. Okussawo -h kikola kimu n'okussawo -L\n" " -G FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga guluupu ya yo y'emu\n" " ne gy'olina w'oyisirizza ekiragiro ekya test\n" " -k FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga erambidwa esobole\n" " okubikkulwanga mangu ennombe oba, bwe liba tterekero,\n" " ligaana abatali ba nanyini fayiro okuzigyawo na kuzikyusa\n" " manya\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga nnyunzi ey'eyawudde\n" " ku gy'eggukako. Okussawo -L kikola kimu n'okussawo -h\n" " -O FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ayisizza ekiragiro\n" " ekya test akolera ku buyinza obwa nyini yo\n" " -p FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ya kika kya mukutu\n" " -r FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga esomeka\n" " -s FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga obunene bwayo\n" " businga ku zero\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga ya kika kya\n" " soketi\n" " -t [NDAGIRIRO] Kano ke kakalu nti NDAGIRIRO ekutwala ku kiwandikiro oba\n" " mutwe gwa kompyuta\n" " -u FAYIRO kano ke kakalu nti FAYIRO gyeri nga ate erambidwa mu " "ngeri\n" " nti yenna agibikkula, mu budde bw'amala ng'agikozesa,\n" " afuna ennamba ya mukozesa n'obuyinza obwa nanyini yo\n" " -w FAYIRO Kano ke kakalu nti FAYIRO gyeri era nga ewandikikamu\n" " -x FAYIRO Kano ke kakalu nti FAYIRO gyeri ate nga puloguramu\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Ekiragiro bwe kikola ku FAYIRO nga nyunzi ey'eyawudde, tekikola ku fayiro\n" "gy'eggukako - okugyako nga kuliko obuwayiro -h oba -L.\n" "Genederera nti buli ka '(' ne ')' mu mboozi n'obukalu kalina kukulemberwa\n" "akabonero akakasumulula mu lubu lw'ebiragiro ebikolebwako enzivvunuzi.\n" "Obukalu obulimu 'NAMBA-NZIJJUVU' busobola n'okubamu '-l KIGAMBO'. '-l " "KIGAMBO'\n" "kyenkana obungi bw'ennukuta eziri mu KIGAMBO (eyo eba namba nzijjuvu).\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "GENDERERA: Bw'oba oyagala okufuna obuyambi ku kiragiro kino, oba okumanya\n" "oluwandika lwakyo, olin'okuwandika nti [ --help oba [ --version\n" "Bw'owandika nti test --help oba test --version, ekiragiro kirowoza nti\n" "okiwadde agumenti ez'okukolako.\n" #: src/test.c:791 msgid "test and/or [" msgstr "[ oba test ne [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 #, fuzzy msgid "missing ']'" msgstr "kubulako ka ']'" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "%s agumenti ya nfissi" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO] KISEERA KIRAGIRO [AGUMENTI]...]\n" " oba: %s [KAWAYIRO]\n" #: src/timeout.c:229 #, fuzzy msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Ekiragiro kino kitandika MULIMU ne kitagukkiriza kubumbujjira ekiseera\n" "ekisukka mu KISEERA.\n" "\n" "Agumenti ezibeera ez'etteeka ku buwayiro obujjuvu era ziba za tteeka ne\n" "ku buwayiro obufunze.\n" #: src/timeout.c:235 #, fuzzy msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " -k, --kill-after=KISEERA\n" " Bw'ossaako kamu ku buwayiro buno, timeout bw'eraba nga\n" " omulimu ogwa KIRAGIRO gukyabumbuja oluvanyuma lwa " "KISEERA\n" " okuva lweyasooka okugulagira gukome, eddamu " "okugusindikira\n" " ekiragiro kya sisitemu ekya KILL.\n" " -s, --signal=KIRAGIRO\n" " Okozesa kamu ku buwayiro buno bw'obanga oyagala\n" " timeout omulimu kigusindikire ekiragiro kya\n" " sisitemu KIRAGIRO mu kifo ekya 'TERM' obudde bwagwo\n" " nga buweddeko. KIRAGIRO liyinza kuba linnya, nga\n" " 'HUP' oba namaba y'ekiragiro.\n" " Bw'otakozesa ku buwayiro buno, ekiragiro kisindika\n" " ekiragiro kya sisitemu 'TERM' obudde nga buweddeko.\n" " Ob'oyagala kulaba olukalala lw'ebiragiro ebya sisitemu,\n" " tandika omulimu ogwa 'kill -l'.\n" #: src/timeout.c:254 #, fuzzy msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "KISEERA eba ennamba enzijjuvu nga esobola n'okubaako akatandikwa kamu ku " "buno:\n" "'s', olwo nga KISEERA ziba sikonda\n" "'m', olwo ne ziba ddakiika,\n" "'h', olwo ne ziba ssaawa, oba\n" "'d', ne ziba nnaku.\n" "Bw'otossawo KATANDIKWA, KISEERA ziba sikonda.\n" "\n" #: src/timeout.c:259 #, fuzzy msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "MULIMU bwe gukomekkerezebwa olw'okutuuka ku kkomo ly'obudde lye\n" "wategese, emmala yagwo eba 124. MULIMU bwe guggwa nga ekkomo eryo\n" "terinnatuuka, emmala yagwo eba yagwo eya bulijjo. Emirimu egimu\n" "tegiwulira 'TERM' era gyo gyetaaga kugisindikira ekya KILL (9).\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "wazzewo kiremya mu kulindirira kiragiro" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "entereeza ey'obudde, %s, tekkirizibwa" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "nnemedwa okukola ku %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "nteeka ebiseera eby'oku %s" #: src/touch.c:213 #, fuzzy msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Ekiragiro kino kiyita mu buli FAYIRO nga kitumbula obulambe bwayo\n" "obulaga ebiseera kwe yasembera okubikkulwa ne kwe yasembera okukyusibwamu\n" "bibeere kakati.\n" "\n" "Singa emu ku FAYIRO z'oteeka mu agumenti ekiragiro tekizisangawo, " "kizikolawo.\n" "Ezo kizikola nga tewali kiziwandikidwamu.\n" "\n" "Agumenti eya FAYIRO bw'eba '-' ekiragiro kikola ku fayiro esangidwa " "awateekebwa\n" "ebivaamu awa bulijjo\n" "\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a Akawayiro kano kakireetera okukyusako obudde\n" " fayiro kwe yasembera okubikkulwa bwokka\n" " -c, --no-create Kamu ku buno bwe kabako ekiragiro tekikolawo\n" " fayiro\n" " -d, --date=BUDDE Bw'ossawo kamu ku buno ekiragiro kikozesaamu\n" " obudde BUDDE\n" " -f (Kano kaadibizibwa, tekakyakola)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference buno buleetera ekiragiro obutakwata ku fayiro\n" " eziggukibwako enyunzi, kikyusabukyusae nnyunzi\n" " ez'eyawudde ezo. Kino kisoboka ku sisitemu ezo\n" " zokka kwe kisobokera okukyusa ebirambe ebiraga\n" " obudde fayiro lwe yasemba kukwatibwako eby'oku\n" " nyunzi ez'eyawudde\n" " -m Kano ate kakireetera okukyusako obudde fayiro\n" " kwe yasembera okukyusibwaamu bwokka\n" #: src/touch.c:237 #, fuzzy msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FAYIRO Kano kakireetera okukozesa ebiseera ebiri ku\n" " FAYIRO mu kifo ekya obudde obwa kakano\n" " -t BUDDE Kano kakireetera okukozesa BUDDE mu kifo\n" " eky'obudde obwa kakano\n" " --time=KIGAMBO Obudde bubeere ekikongojedwa mu KIGAMBO. KIGAMBO\n" " kisobola okubeera kimu ku bino:\n" " access (ekivaamu kiba kimu ne 'touch -a')\n" " atime (ekivaamu kiba kimu ne 'touch -a')\n" " modify (ekivaamu kiba kimu ne 'touch -m')\n" " mtime (ekivaamu kiba kimu ne 'touch -m')\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Genderera nti empandika ey'obudde akawayiro -d gye kakozesa ssi y'emu n'eyo\n" "akawayiro -t gye kakozesa.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "sisobola obudda okubugya mu bifo ebisukka mu kimu" #: src/touch.c:409 #, fuzzy, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "kulabula: 'touch %s' kyadibizibwa, kozesa\n" "'touch -t %04ld%02d%02d%02d%02d.%02d'" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... BUBONERO-1 [BUBONERO-2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Ekiragiro kino kikola ku bubonero oba nukuta kinnakimu. Kisobola " "okubifuula,\n" "okubifunza ebirabikamu emirundi egisoba mu gumu ne bisigalako koppi emu-" "emu,\n" "oba ebimu okubiggiramu ddala. Ennukuta oba obubonero bino kibisoma okuva\n" "awayingizibwa awa bulijjo ebivaamu era ne kibiwandika awateekebwa ebivaamu " "awa\n" "bulijjo.\n" " -c, -C, --complement Bw'oteekawo kamu ku buno obuwayiro, ekiragiro\n" " kikola ku bubonero bwonna obutali mu lukalala\n" " BUBONERO-1\n" " -d, --delete Bw'ossawo kamu ku buno, ekiragiro mu bye kisoma,\n" " kiggyamu obubonero obuli ku lukalala BUBONERO-1\n" " -s, --squeeze-repeats Bw'ossawo kamu ku buno, ekiragiro mu bye kisoma\n" " bwe kisangamu akabonero akalimu emirundi egisoba\n" " mu gumu nga ate kali ku lukalala BUBONERO-1,\n" " kirekamu koppi yako emu yokka mu bye kiwandika\n" " -t, --truncate-set1 Buno obuwayiro, singa obubonero obuli mu " "BUBONERO-1\n" " buba bungi okuusinga obuli mu BUBONERO-2, " "buleetera\n" " ekiragiro obutakola ku obwo obuli mu BUBONERO-1\n" " obusolooba ku obuli mu BUBONERO-2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Obubonero obuli mu nkalala ezikolebwako ekiragiro tr bukolebwako bwa " "nnakimu,\n" "tekibutwalira wamu ng'ekigambo oba mboozi. Era obubonero obwo " "obusing'obungi\n" "tekibutegeeramu makulu amakusike. Obwawukana ku kino - ne kibusangamu " "amakulu\n" "amalala ge bukongojja bwe buno:\n" "\n" " \\NNN 'N' kisobola okuba ennamba oba ennukuta. Akabonero kano\n" " ekiragiro kikategeeramu akabonero akakongojjedwa mu nnamba\n" " ey'omumpandika eya ki-okita NNN\n" " \\\\ Kano kikategeeramu akabonero ak'akasaze ak'akaddanyuma \n" " \\a Kano ko kikategeeramu ekiragiro eky'okuvugisa ekide oba\n" " kafirimbi\n" " \\b Kano kikategeeramu ekiragiro ekigamba kompyuta kusiimulawo\n" " akabonero ke kaddirira\n" " \\f Kano kikategeeramu ekiragiro ekigamba kompyuta kukyusa\n" " lupapula\n" " \\n Kano kikategeeramu ekiragiro eky'okutandika lunyiriri " "olupya\n" " \\r Kano kikategeeramu ekiragiro ekigamba akasonga kugenda ku\n" " ntandikwa y'olunyiriri\n" " \\t Kano ko kitegeeramu ekiragiro eky'okuteekawo oluseetuka\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v Bwe kiraba kino, kitegeeramu akabonero akalagira kompyuta\n" " kukolawo akabanga ak'omu busimba\n" " BUBONERO-1-BUBONERO-2 Kkano kaleetera 'tr' okuddira buli kabonero\n" " ak'omu biyingizibwa akafaanana obuli mu lukalala BUBONERO-1\n" " okukagyawo ne kizzawo akali mu kifo kyekimu eky'omu " "lukalala\n" " BUBONERO-2\n" " [KABONERO*] Kino bwe kisangibwa mu lukalala BUBONERO-2, nga ate\n" " olukalala olwo lumpi okusinga ku BUBONERO-1, 'tr' kibala " "nti\n" " olwa BUBONERO-2 ebifo ebibulamu okwenkana BOBONERO-1 " "bijjuzidwa\n" " koppi za KABONERO\n" " [KABONERO*MEKA] Kino kitegeeza nti we kiri mu lukalala wabalibwa nga\n" " awaliwo MEKA. Ennamba MEKA bw'esookerwako 0 kitegeeza nti ya " "mu\n" " nnenga ya okita\n" " [:alnum:] Kino kiragira 'tr' kikole ku bubonero bwonna obuba nnukuta\n" " oba digiti\n" " [:alpha:] Kino kikiragira okukola ku bubonero bwonna obuuba nnukuta\n" " [:blank:] Kino kyo kikiragira kukola ku bubonero bwonna obuleetawo\n" " ekibangirizi\n" " [:cntrl:] Kino kikiragira kukola ku bubonero bwonna obukongojja\n" " biragiro\n" " [:digit:] Kino kikiragira kukola ku bubonero bwonna obuba digiti\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] Kino kitegeeza 'bubonero bwonna obuleetawo ekirabwa,\n" " ng'ogyeko amabanga'\n" " [:lower:] Kino kitegeeza 'nnukuta entono zonna'\n" " [:print:] Kino kitegeeza 'bubonero bwonna obuleetawo ekirabika,\n" " nga mwe muli n'amabanga'\n" " [:punct:] Kino kitegeeza 'obubonero bwonna obufugaempandika'\n" " [:space:] Kino kitegeeza 'obubonero bwonna obuleetawo mabanga,\n" " ag'omubukiika n'ag'omu busimba'\n" " [:upper:] Kino kitegeeza 'ennukuta nnene zonna'\n" " [:xdigit:] Kino kitegeeza 'bubonero bwonna obwa digiti eza ki-hekisi'\n" " [=KABONERO=] Kino kitegeeza 'obubonero bwonna obusobola okukola mukifo\n" " kya KABONERO\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "Singa ekiragiro kino okiteerawo enkalala BUBONERO-1 ne BUBONERO-2 nga\n" "mu buwayiro temuli aka '-d', buli kabonero ke kisanga mu biyingizibwa\n" "nga kali ne mu BUBONERO-1 mu ebivaamu kizzawo kanne wako ak'omu BUBONERO-2.\n" "\n" "Singa BUBONERO-1 lusinza BUBONERO-2 obuwanvu ekiragiro BUBONERO-2 " "kirwongerako\n" "koppi ez'akabonero kaamu akasembayo okutuusa lwe lw'enkana BUBONERO-1.\n" "\n" "Bw'oteekawo akawyiro aka '-t' olwo mu kifo eky'okwongera ku buwanvu obwa\n" "BUBONERO-2, ekiragiro buli kabonero ke kisanga mu biyingizibwa nga kali\n" "ne mu BUBONERO-1 naye nga tekalina kanne wako mu BUBONERO-2, mu ebivaamu\n" "kikalekamu.\n" "\n" "BUBONERO-2 bwe luba nga lwe lusinzizz'obuwanvu\n" "obubonero obwamu obutalina bunne wabwo mu BUBONERO-1 tebulina kye bukolawo.\n" "\n" "Osobola okukozesa '[:lower:]' ne [:upper:]' nga bye bikola ng'enkalala ezo\n" "ebbiri singa oyagala ekiragiro kikyuse ennukuta ez'omu biyingizibwa ennene\n" "zonna zifuuke entono oba entono zonna zifuuke ennene.\n" "\n" "Ekiragiro bwe kiba\n" "nga mu biyingizibwa kigyamu obubonero obusangibwa mu BUBONERO-1 oba\n" "nga kibuwanyisaamu bunne wabwo okuva mu BUBONERO-2, akawayiro aka '-s'\n" "kakireetera ate okukebera ebivaamu nga bwe kisangamu koppi ez'obubonero\n" "obusangibwa mu BUBONERO-2 ezisukka mu emu, kizigyamu wasigalengamu emu.\n" "Bwe kiba nga kikola emirimu egitali egyo akawayiro ako kakireetera\n" "okusooka kukebera ebiyingizibwa nga bwe kisangamu koppi ez'obubonero\n" "obusangibwa mu BUBONERO-1 ezisukka mu emu, kizigyamu wasigalengamu emu.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "kulabula: ekigambo eky'omu okita \\%c%c%c tekitegeerese bulungi\n" "\tekiragiro kigenda kukibala ng'ekigambo \\0%c%c, `%c', ekirimu bayiti bbiri" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "kulabula: ekigambo ekikomekkerezebwa akasaze ak'akaddanyuma akatasumuludwa\n" "mu nkola yako eya bulijjo kiyinza butakkirizibwa ku sisitemu endala" #: src/tr.c:673 #, fuzzy, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" "mu '%s-%s' obubonero obulaga entadikwa n'enkomerero y'olubu bitereezedwa\n" "kifuulanenge. Buwanyisiganye ebifo." #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" "ennamba ya koppi, %s, mu kiwandike kyo eky'ekika kya [c*n] tekkirizibwa" #: src/tr.c:910 #, fuzzy, c-format msgid "missing character class name '[::]'" msgstr "ekiwandike kyo ekya `[::]' kibulamu ekigambo eky'omumakkati" #: src/tr.c:913 #, fuzzy, c-format msgid "missing equivalence class character '[==]'" msgstr "ekiwandike kyo ekya `[==]' kibulamu akabonero ak'omumakkati" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "%s telikola ng'erinnya lya kika eky'ennukuta" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s: akabonero ak'omumakkati kateekw'okuba kamu kokka" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "ekiwandike ekya [:upper:] ne/oba [:lower:] tebiri watuufu" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "obubonero buyitiridde obungi mu lukalala" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "ekiwandike ekya [c*] tekikkirizibwa mu bubonero-1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "mu bubonero-2 mukkirizibwamu ekiwandike ekya [c*] kimu kyokka" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "omulimu bwe guba ogw'okukyusa bubonero, ebiwandike ebya [=c=]\n" "tebikkirizibwa mu bubonero-2" #: src/tr.c:1505 #, fuzzy, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "omulimu bwe guba ogw'okukyusa bubonero, 'upper' ne 'lower' ge manya\n" "ag'ebika eby'obubonero gokka agakkirizibwa okukozesebwa mu bubonero-2" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" "bw'obanga totaddeko akawayiro aka '-t', bubonero-2\n" "luteekwa kubaamu wakiri akabonero kamu" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "bwe kubaako akawayiro aka '-c' nga ate LUKALALA-1 lulimu n'ekigambo\n" "eky'enkula eya '[:kika:], kiba kitegeeza nti ekiragiro kigenda okukola\n" "ku bubonero bwonna obutali mu 'kika'. Olwo LUKALALA-2 luteekwa\n" "okutegekebwa mu ngeri nti lulimu akabonero kamu kokka nga ke kanne wa\n" "buli kabonero akatali mu 'kika'" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" "ekiwandike eky'ekika kya [c*] tekikkirizibwa mu bubonero-2 okugyako\n" "nga omulimu gwa kukyusa bubonero" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Omulimu bwe guba gwa kugyamu obubonero obumu ko n'okulekangamu koppi\n" "emu emu yokka ez'obulala, wateekwa okubawo enkalala zabwo bbiri.\n" "Obuli mu lusooka ekiragiro bwe kinaabusanganga mu biyingizibwa nga\n" "kibugyamu ate obuli mu lwokubiri kijjakulaba nti mu bivaamu musigalangamu\n" "koppi emu emu yokka" #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "" "Omulimu bwe guba gwa kukyusa bubonero, enkalala z'obubonero\n" "obukozesebwa ziteekwa okuba bbiri, olw'obubonero obunakolebwako\n" "bwe busangibwa mu biyingizibwa n'olw'obwo obunazzibwa mu bifo\n" "bya binne wabyo" #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "omulimu bwe guba gwa kugyamu obubonero naye nga tewali bya kunoonya\n" "obuliko koppi ezisukka mu emu, olukalala lw'obubonero luteekwa okuba lumu\n" "lwokka - olw'obwo ekiragiro bwe kinaagyangamu" #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s\n" " oba: %s KAWAYIRO\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "" "Ekiragiro kino omulimu gwa kyo kuwa sisitemu akabonero akalaga\n" "nti waliwo puloguramu eyamalirizz'omulimu gwayo obulungi." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "" "Ekiragiro kino omulimu gwa kyo kuwa sisitemu akabonero akalaga\n" "nti waliwo puloguramu eyalemeredwa okumalirizz'omulimu gwayo obulungi." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Enkozesa entuufu eri: %s KAWAYIRO... FAYIRO...\n" #: src/truncate.c:97 #, fuzzy msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Ekiragiro kino kikozesebwa okwongera oba\n" "okukendeeza obunene obwa FAYIRO\n" "\n" "Ekiragiro bwe kiyisibwa nga tolaze FAYIRO, kikolawo eya kyo.\n" "\n" "FAYIRO bw'eba ya kukendeezebwa, data ya mu emu ogifiirwa - esaanyizibwawo.\n" "FAYIRO bw'eba ya kwongezebwako, ekiragiro kigiteekamu bayiti ez'ennyongeza.\n" "Ekitundu ekyongedwamu kiba kyereere.\n" "\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr "" " -c, --no-create Kamu ku buno bwe kabako ekiragiro tekikolawo\n" " fayiro\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks Bw'ossawo kamu ku buno obuwayiro, ekiragiro " "ennamba\n" " kigitwala nga obungi bwa buloka mu kifo kya bayiti\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=FAYIRO Buno bukireetera okutegeka\n" " obunene obwa fayiro ne bwenkana\n" " obwa FAYIRO\n" " -s, --size=BUNENE Buno bwo bukireetera okutegeka\n" " obunene obwa fayiro ne buba BUNENE\n" #: src/truncate.c:121 #, fuzzy msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "Ennamba eyo, BUNENE, osobola n'okugisoosaako kamu ku bubonero buno:\n" " + Kategeeza nti fayiro gyo'ngereko obunene\n" " - Kategeeza nti fayiro gikendeeze obunene\n" " < kategeeza nti fayiro tegejja okusukka BUNENE\n" " > Kategeeza nti fayiro obunene bwayo tebukka wansi wa BUNENE\n" " / Kategeeza nti obunene bwa fayiro buteekwa okuba ennamba\n" " gy'osobola okugabizaamu BUNENE. Bw'ebulako oba bw'esukkako ku BUNENE,\n" " ekendeezebwa okutuusa lw'esobola okugabizibwamu BUNENE\n" " % Kategeeza nti obunene bwa fayiro buteekwa okuba ennamba\n" " gy'osobola okugabizaamu BUNENE. Bw'ebulako oba bw'esukkako ku BUNENE,\n" " eyongezebwko okutuusa lw'esobola okugabizibwamu BUNENE.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "obungi bwa bayiti, %<PRIdMAX> * %<PRIdMAX>, ez'oku\n" "fayiro %s nnamba etajja mu ggwanika zzibizi" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "obunene obwa %s buliko kiremya, bulabika ng'ennamba ey'ebbanja" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "sisobola okuzuula obunene obwa %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "" "okwongerako katono ku bunene obwa fayiro %s kuleesewo\n" "ennamba etajja mu ggwanika zzibizi" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "" "okwongera ku bunene obwa fayiro %s kuleesewo\n" "ennamba etajja mu ggwanika zzibizi" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "nnemedwa %s okugitemamu esigalemu bayiti %<PRIdMAX>" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "" "fayiro ezifuga enkyuka mu bunene bwa\n" "zinnaazo otegese esukka mu emu" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "oteekwa okutegekawo kimu ku %s oba %s" #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "oteekwa okutegekawo %s awali %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s kitegekedwa naye %s kyo tekitegekedwa" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "nnemedwa okubikkula %s ngiwandikemu" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Enkozesa entuufu eri: %s [KAWAYIRO] [FAYIRO]\n" "Ekiragiro kino kisoma FAYIRO ne kibala nti buli bigambo bibiri bye kisanga\n" "biteekwa okusigala mu nengeka yabyo. Ekiddako kigeza okufuna ensengeka eya\n" "byonna awamu etamenyawo eri wakati wa buli bigambo bibiri bibiri " "esangidwawo.\n" "Singa ekiragiro tokiraga FAYIRO ey'okusoma oba singa FAYIRO kibeera '-',\n" "ekiragiro kikola ku bye kiraba awayingizibwa awa bulijjo.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s: mu biyingizibwa mulimu ekigambo ekitaliko kinne wa kyo" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "" "%s: ebiyingizidwa birimu ebigambo ebitasengekeka olw'okuba\n" "nga buli kimu kiragidwa nga ekikulembera kinne wakyo:" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Ekiragiro kino kiwandikawo erinnya ery'omutwe gw'okusisitemu\n" "oguyungidwa awanyingizibwa awa bulijjo\n" "\n" "Bw'okyongerako kamu ku buwayiro -s, --silent oba --quiet,\n" "tekiwandikawo kyonna okugyako emmala ey'omulimu\n" #: src/tty.c:120 msgid "not a tty" msgstr "wano tewayungidwa ku tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Ekiragiro kino kiwandikawo ebifa ku sisitemu. Bw'otokiteekako akawayiro,\n" "ebivaamu biba kyekimu n'ebyo by'ofuna nga otaddeko aka '-s'.\n" "\n" " -a, --all Kano akawayiro kakireetera okuwandika byonna\n" " ebifa ku sisitemu nga bisengekedwa na bino\n" " ebiddako:\n" " -s, --kernel-name Kano ko bwe kabaako kokka kakireetera okukoma ku\n" " okuwandika ekika kya nnombe sisitemu ky'ekozesa\n" " -n, --nodename Kano bwe kaba nge ke kokka akaliwo, ekiragiro\n" " kikoma ku kuwandika endagiriro eya kompyuta\n" " ey'okumukutu ogugiyunga ku ndala\n" " -r, --kernel-release kano ko kakireetera okuwandika omutindo " "ogw'ennombe\n" " sisitemu gy'ekozesa\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version Akawayiro kano kaleetera ekiragiro okuwandika\n" " ebifa ku nnombe lwe yategekebwa mu ngeri\n" " etegeerwa kompyuta\n" " -m, --machine Kano kaleetera ekiragiro okuwandika olubu lwa\n" " kompyuta sistemu kw'eri\n" " -p, --processor Kano ko kakireetera okuwandika ekika ky'ekyuma\n" " ekikola emirimu (CPU) ekiri mu kompyuta\n" " -i, --hardware-platform Kano kakireetera okuwandika linnya lya kompyuta\n" " (bw'eba nga eririna)\n" " -o, --oerating-system Kano ko ate kakireetera okuwandikawo ekika kya\n" " sisitemu entabaganyi eri ku kompyuta\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Ekiragiro kino kiwandikawo ebifa ku sisitemu.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "nnemedwa okufuna erinnya lya sistemu eno" #: src/unexpand.c:117 #, fuzzy msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Ekiragiro kino buli we kisanga akabonero akategeeza akabanga akatwala\n" "ekifo ekimu mu FAYIRO kizzawo akategeeza oluseetuka.\n" "Singa tolaga FAYIRO, oba n'ogissawo nga eri '-', ekiragiro kikola ku\n" "by'oteeka awateekebwa ebiyingizibwa awa bulijjo.\n" "\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all Bw'ossawo kamu ku buno obwayiro, ekiragiro tekikoma ku\n" " kufuula amabanga ag'okuntandikwa z'ennyiriri. Kiyita\n" " mu buli lunyiriri nga kibala ebifo munaanamunaana. Buli\n" " lwe kisanga obubonero obuleetawo amabanga bubiri oba\n" " obusingawo obutuuka ku kifo eky'omunaana, kibugyawo ne\n" " kizzawo kamu akaleetawo oluseetuka.\n" " --first-only Kano ko kakikaka okukoma ku kukola ku mabanga\n" " ag'okuntandikwa z'ennyiriri gokka (ne bwe kubaako n'aka\n" " '-a')\n" " -t, --tabs=N Bw'ossaako kamu ku buno, nga N guba muwendo, oluseetuka\n" " luba lwenkana amabanga N mu kifo kya munaana, era\n" " ekiragiro kibala bifo N mu kifo kya munaana (buno\n" " bukireetera okukola nga eyataddewo aka '-a')\n" " -t, --tabs=LUKALALA Bw'ossaako kamu ku buno, nga LUKALALA luba\n" " lukalala lw'emiwendo, oluseetuka olusooka lubaamu\n" " amabanga ag'enkana omuwendo ogusooka, , olwokubiri " "lubaamu\n" " ag'enkana omuwendo ogwokubiri, n'endala bwezityo. Mu\n" " LUKALALA, emiwendo giteekwa okwawulaganizibwa mabanga " "oba\n" " akabonero aka ','. Emiwendo egyo giteekwa okuwandikibwa\n" " nga gigenda gy'eyongera bunene. (buno nabwo bukireetera\n" " okukola nga eyataddewo aka '-a')\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "enseetuka ziyitiridde okwesuulagana" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "obuwanvu bw'enseetuka buyitiridde obunene" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [EBIYINGIZIBWA [EBIVAAMU]]\n" #: src/uniq.c:138 #, fuzzy msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Ekiragiro kino kisoma mu fayiro EBIYINGIZIBWA (oba bye\n" "kisanga awayingizibwa awa bulijjo), buli lwe kituuka ku nnyiriri\n" "eziriraanaganye nga zifaanagana ne kiwandikako kkopi zalwo\n" "mu fayiro EBIVAAMU (oba awateekebwa ebivaamu awa bulijjo).\n" "\n" "Bw'otokissaako obuwayiro, ku nnyiriri ze kisanga nga zifaanagana\n" "ng'ate ziriraanaganye ekiragiro kiwandikako koppi emu yokka.\n" "\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count Bw'ossaako kamu ku buwayiro buno, ku ntandikwa ya\n" " buli lunyiriri lwe kiwandika, kiwandikawo n'obungi " "bwa\n" " koppi za lwo ze kisanze mu biyingizibwa\n" " -d, --repeated Ate bw'ossawo kamu ku buno ekiragiro tekiwandika\n" " nnyiriri ezitalina zifaanagana nazo eziriraanaganye\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=engeri-gye-z'awulaganidwa] Bw'ossaawo kami ku buno\n" " ekiragiro kiwandikako ennyiriri ezifaanagana\n" " eziriraanaganye 'engeri-gye-z'awulaganidwa' kye\n" " kigambo ekifuga kiki ekiwandikibwawo wakati\n" " w'ennyiri ez'en'enjawulo ezifaanagana mu ebivaamu.\n" " 'engeri-gye-z'awulagandiwa' bwe kiba 'none', \n" " ennyiriri ezo zonna ziwandikibwa kumu nga tewali\n" " kiz'awulagana. Bwe kiba 'prepend' ekiragiro kisooka\n" " kussawo olunyiriri olutaliko kantu ne kiryoka\n" " kiwandikawo ekibinja ky'ennyiriri ezifaanagana. Bwe\n" " kiba 'separate' olwo bwe kimala ekibinja ekimu\n" " kissawo olunyiriri olutaliko kantu ne kiryoka\n" " kiwandika ekibinja ekiddako. Enkola yakyo eya\n" " bulijjo bwe butayawula bibinja by'ennyiriri ezo.\n" " -f, --skip-fields=N bw'oteekawo kamu ku buno, N nga gwo muwendo,\n" " ekiragiro bwe kiba gerageranya nnyiriri okulaba\n" " oba nga zifaanagana tekifa ku firidi zaamu N\n" " ezisooka\n" " -i, --ignore-case kamu ku buno bwe kabaako ekiragiro tekirabawo\n" " njawulo wakati w'ennukuta ennene n'entono\n" " -s, --skip-chars=N bw'oteekawo kamu ku buno, N nga gwo muwendo,\n" " ekiragiro bwe kiba gerageranya nnyiriri\n" " okulaba oba nga zifaanagana tekifa ku\n" " bubonero bwazo N obusooka\n" " -u, --unique ate bw'oteekawo kamu ku buno ekiragiro kiwandikawo\n" " ezo ennyiriri zokka ezitafaanagana n'ezo bwe\n" " ziriraanaganye\n" " -z, --zero-terminated Bw'ossawo kamu ku buno, ekiragiro ku nkomeroro\n" " ez'ennyiriri mu kifo eky'okussawo akabanero " "akalagira\n" " kutandika lupya, kiteekawo bayiti eya 0.\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N Bw'oba otaddewo kamu ku buno obuwayiro,\n" " nga N gwo muwendo, ekiragiro kikozesako obubonero\n" " N obusooka ku buli lunyiriri bwe kiba\n" " kizigerageranya\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "'Firidi' kiba kitundu ky'olunyiriri ekirimu ebbanga jjereere nga liddibwako\n" "obubonero bw'osobola okulaba. Ekiragiro ebifo ebyereere n'obubonero\n" "obutalabika bwe bisangibwa awamu byonna kibibala nga ekifo ekyereere\n" "ekimu, ne bwe biba nga byegasse bingi. Bino tekibikozesa bwe kiba nga\n" "kigerageranya nnyiriri.\n" #: src/uniq.c:171 #, fuzzy msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Genderera: Ennyiriri ezifaanagana bwe ziba nga teziriraanaganye, uniq\n" "tetegeera nti zifaanagana era tezikolako. Bw'obanga oyagala okukola ku\n" "nnyiriri ezifaanagana naye nga teziriraanaganye, ebikolebwako byetaaga\n" "kusoka kusengekebwa, oba oyinz'okukozesaamu ekiragiro 'sort -u' mu kifo\n" "kya 'uniq'.\n" "Ekiragiro kino bwe kiba gerageranya ennyiriri, kigoberera ensengeka\n" "etegekedwa mu kigambo eky'omunviromenti 'LC_COLLATE'.\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "ennyiriri ezifaanagana ziyitiridde obungi" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "tekisoboka okubuukamu firidi ez'enkan'awo obungi" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "tekisoboka okubuukamu bayiti ez'enkan'awo obungi" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "tekisoboka okugerageranyako bayiti ez'enkan'awo obungi" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "okugamba ekiragiro kiwandike koppi zonna ez'ennyiriri ezifaanagana\n" "nga ate ziriraanagnye ate era buli lumu kiruwandikeko obungi bwa koppi\n" "zalwo eziriwo tekirina mugaso" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s FAYIRO\n" " oba: %s KAWAYIRO\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Kino ekiragiro kitandika omukolo ogwa unlink gugye\n" "FAYIRO mu nkalala eza pulogulamu whatis\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "tekisobose okugya %s mu nkalala eza whatis" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "sisobodde okutegeera sisitemu eno ddi lwe yakoleezebwa" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M%P " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:???? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "sisitemu yakakolera ennaku ???? ne ssaawa ??:??" #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "sisitemu yakakolera olunaku %ld n'essaawa %2d:%02d, " msgstr[1] "sisitemu yakakolera nnaku %ld n'essaawa %2d:%02d, " #: src/uptime.c:149 #, fuzzy, c-format msgid "up %2d:%02d, " msgstr "sisitemu yakakolera olunaku %ld n'essaawa %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "kuliko omukozesa %lu" msgstr[1] "kuliko abakozesa %lu" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", emirimu egibadde gibindabinda: %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Ekiragiro kino kiwandika essaawa eza kakano, obudde obwakayita\n" "sisitemu bukya ekoleezebwa, obungi bw'abagiriko n'obungi bw'emirimu\n" "egibadde gibindabindira mu ddakiika 1, 5 ne 15 ezaakayita." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" "Ekiragiro bwe kiba kibala emirimu egibadde gibindabinda, n'egyo egisiridwa\n" "mu ngeri etagikkiriza kuzuukusibwa nga ekiseera kya gyo ekitegeke " "tekinnatuuka\n" "kigibaliramu.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Bw'otokiwa FAYIRO mwe kinaasanga bino, kikebera mu %s. Ku sisitemu\n" "nyingi FAYIRO etera okuba %s.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Ekiragiro kino kiwandikawo amannya ag'oku sisitemu aga'abo\n" "abagikozesa ku ssaawa eyo. Bw'oyongerako n'erinnya erya\n" "fayiro, omwo mwe kikebera okuzuula amannya ago.\n" "Bw'ototegeka linnya erya fayiro kikebera mu %s. Ab'ongerako\n" "erinnya lya fayiro batera okukozesa erya %s.\n" "\n" #: src/wc.c:117 #, fuzzy msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Ekiragiro kino kiwandika obungi obw'ennyiriri, bigambo ne bayiti eziri mu\n" "buli FAYIRO. Fayiro bwe zisukka mu emu, kiwandikawo n'emigatte egy'ebyo.\n" "Bw'otokiraga fayiro ey'okukolako, oba FAYIRO bwe kiba '-', ekiragiro kikola\n" "ku bye kiraba awayingizibwa awa bulijjo.\n" " -c, --bytes Bw'ossawo kamu ku buwayiro buno ekiragiro\n" " kikoma ku kuwandika obungi obwa bayiti\n" " -m, --chars Buno bwo bukireetera okukoma ku kuwandika\n" " obungi obw'obubonero\n" " -l, --lines Buno bwo bukireetera okukoma ku kuwandika\n" " obungi bw'ennyiriri\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F Kano bwe kabaako, kakireetera okukola ku\n" " fayiro eziri ku lukalala oluli mu fayiro 'F'.\n" " Buli linnyaku lukalala olw'omu F liteekwa\n" " okuwandikibwa nga likomekkerezedwa bayiti eya\n" " zero.\n" " 'F' bwe kiba '-', olwo ekiragiro kikola ku\n" " fayiro amannya gazo g'esanga awayingizibwa awa\n" " bulijjo.\n" " -L, --max-line-length Bw'ossawo kamu ku buno, ekiragiro kiwandika\n" " obuwanvu bw'olunyiriri olusingamu obuwanvu mu\n" " fayiro ze kikozeko.\n" " -w, --words Buno bwo bukireetera okuwandika obungi bw'ebigambo\n" " obw'omu buli fayiro gye kikozeko.\n" #: src/who.c:210 msgid " old " msgstr " mawolu" #: src/who.c:440 msgid "system boot" msgstr "kukoleeza sisitemu" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "na=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "mutwe=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "emmala=" #: src/who.c:485 msgid "LOGIN" msgstr "KWEWANDISAAKO" #: src/who.c:505 msgid "clock change" msgstr "amakyusa ssaawa" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "namba y'enkola eya sisitemu" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "?sembayo=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "# abakozesa abaliko=%lu\n" #: src/who.c:559 msgid "NAME" msgstr "ANI" #: src/who.c:559 msgid "LINE" msgstr "MUKUTU" #: src/who.c:559 msgid "TIME" msgstr "DDI" #: src/who.c:559 msgid "IDLE" msgstr "OKUSIRIIKIRIRA" #: src/who.c:560 msgid "PID" msgstr "NAMBA Y'OMULIMU" #: src/who.c:560 msgid "COMMENT" msgstr "BIGAMBO" #: src/who.c:560 msgid "EXIT" msgstr "EMMALA" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [ FAYIRO | AGU1 AGU2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "" "Ekiragiro kino kiwandikawo ebifa ku bakozesa ab'ewandisizza ku sisitemu.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all Bw'ossaako kamu ku buno obuwayiro, ekiragiro\n" " kikola nga eyataddewo '-b -d --login -p -r -t -T -u'\n" " -b, --boot Ssaawo kamu ku buno ob'oyagala kirage ddi sisitemu\n" " lwe yasemba okukoleezebwa\n" " -d, --dead Ssaawo kamu ku buno ob'oyagala kirage emirimu egikomye\n" " -H, --heading Ssaawo kamu ku buno kiryoke kiteekewo n'emitwe ku bye\n" " kiwandika\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr "" " -l, --login Buno bukireetera okulaga emirimu egikola ku\n" " kwewandisa ku sisitemu\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup Akawayiro kano kakireetera okukozesa DNS kizuule\n" " amanya aga kompyuta enyunge agatali mapaatiike\n" " -m Kano ko kakireetera okulaga ebifa ku mukozesa\n" " akiyisizza yekka\n" " -p, --process Buno bukireetera okulaga emirimu egibindabinda\n" " egyatandikibwa omulimu ogwa init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count Bw'ossawo kamu ku buno, kikoma ku kuwandika manya\n" " g'abakozesa abali ku sisitemu ku ssawa eyo ko\n" " n'obungi bwabwe\n" " -r, --runlevel Buno bwo bukireetera okuwandika namba y'enkola eya\n" " sisitemu\n" " -s, --short Buno bukireetera okukolera mu nkola yakyo eya bulijjo.\n" " Olwo kiwandika manya g'abakozesa, emikutu " "kwebewandisizza\n" " ku sisitemu, n'obudde kwe baagyewandisizaako\n" " -t, --time Buno bukireetera okukoma ku kuwandika obudde essaawa ya\n" " sisitemu kwe yasemba okukyusibwako\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg Buno obuwayiro buleetera ekiragiro okulaga oba\n" " omukozesa akkiriza okufuna obubaka obutereevu okuva\n" " ku sisitemu. ka '+' kategeeza nti akkiriza, ka '-'\n" " nti nedda ate ka '?' kategeeza nti ekiragiro kiremedwa\n" " okutegeera oba akkiriza oba takkiriza\n" " -u, --users Buno bwo bukireetera okuwandika n'ennamba y'omulimu\n" " n'obudde buli mukozesa bw'amaze nga asirikidde\n" " --message Akawayiro kano kafuula enkola y'ekiragiro mu ngeri\n" " y'emu n'aka '-T'\n" " --writable Akawayiro kano nako kafuula enkola y'ekiragiro mu ngeri\n" " y'emu n'aka '-T'\n" #: src/who.c:673 #, fuzzy, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Bw'oba nga ekiragiro tokiraze FAYIRO mwe kiba kikebera, kikebera mu\n" "eya %s.\n" "Abakiragira omw'okukebera batera okigamba %s.\n" "Singa oyongerako agumenti bbiri ezitali buwayiro, ekiragiro kikola nga\n" "eyatadeko akawayiro aka '-m'. Batera okussaawo agumenti 'am i' oba\n" "'mom likes' naye osobola okussaawo agumenti ebbiri zonna gwe z'ob'oyagadde.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Bw'oyisa ekiragiro kino, kikebera buyinza bwa namba y'omukozesa eriwa\n" "bw'okozesa n'ewandika erinnya ery'okusisitemu erigendera ku namba eyo.\n" "Ekivaamu eky'okuyisa ekiragiro kino kye kimu n'eky'okuyisa ekya 'id -un'.\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s: erinnya ery'omukozesa ow'ennamba %lu linnemye okuzuula\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Enkozesa entuufu eri: %s [KIGAMBO]...\n" " oba: %s KAWAYIRO\n" #: src/yes.c:47 #, fuzzy msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Kino kigenda nga kiddinngana okuwandika KIGMABO oba BIGAMBO ku lunyiriri\n" "olupya. Bw'obeera towadde KIGMABO oba BIGMABO, kiwandikamu 'y'.\n" #~ msgid "using single-precision arithmetic" #~ msgstr "nkozesa ennamba ezikongojjebwa mu bbiti 32" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "" #~ "nkozesa okubala okweyambisa ettuuso\n" #~ "erikomezebwako obunene bw'eggwanika\n" #~ "lya kompyuta bwokka" #, fuzzy #~ msgid " returning value: '%s'\n" #~ msgstr "nkolawo fayiro %s\n" #, fuzzy #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... [AKOZESA]...\n" #, fuzzy #~ msgid "no valid suffix found\n" #~ msgstr "%s: akafundikwa tekakkirizibwa kwenkan'awo" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Eby'okulabirako:\n" #~ " %s /usr/bin/sort Ebivaamu: \"sort\".\n" #~ " %s include/stdio.h .h Ebivaamu: \"stdio\".\n" #~ msgid "reading %s" #~ msgstr "nsoma %s" #~ msgid "writing %s" #~ msgstr "mpandikira mu %s" #~ msgid "closing %s" #~ msgstr "mbikka %s" #~ msgid "accessing %s" #~ msgstr "n'etuusako %s" #~ msgid "opening %s" #~ msgstr "mbikkula %s" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Enkozesa entuufu eri: %s FAYIRO\n" #~ " oba: %s KAWAYIRO\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system Ssaawo kamu ku buno okukireetera okubuuka\n" #~ " amaterekero agali ku sisitemu eza fayiro " #~ "endala\n" #~ " -X, --exclude-from=FAYIRO Fayiro erinnya lya yo bwe libeera nga\n" #~ " liri ku lukalala oluli mu FAYIRO, kigibuuka.\n" #~ " --exclude=KIGAMBO Kano kakireetera okubuuka oba okugyamu fayiro\n" #~ " ezirina KIGAMBO mu mannya ga zo\n" #~ " -d, --max-depth=N Buno bukireetera okulaga emigatte egifunidwa " #~ "ku\n" #~ " materekero (agumenti --all nayo bw'ebaako " #~ "kikola\n" #~ " ne ku fayiro ezitali materekero). Kikoma ku " #~ "ezo\n" #~ " fayiro n'amaterekero ezitasukka emitendera N " #~ "wansi\n" #~ " w'eryo ekiragiro kwe kiweredwa;\n" #~ " Okussawo '--max-depth=0' kye kimu n'okussawo\n" #~ " '--summarize'\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off Bw'ossawo kamu ku buwayiro buno, " #~ "ekiragiro\n" #~ " tekikola kkopi ez'okwerinda\n" #~ " (yadde nga waliwo n'aka '--backup')\n" #~ " numbered, t Buno bukireetera kukolangawo kkopi " #~ "ez'okwerinda\n" #~ " ne kiziteekako nnamba eziraga oluwandika " #~ "lwa zo\n" #~ " existing, nil Bwe kubaako kamu ku buno,empandika za " #~ "kkopi\n" #~ " ez'okwerinda eziriwo bwe zibaako ennamba,\n" #~ " empya nazo zibaako nnamba, eziriwo bwe\n" #~ " zitabaako nnamba empya nazo " #~ "teziteekebwako\n" #~ " nnamba\n" #~ " simple, never Buno bukireetera kkopi ez'okwerinda\n" #~ " butaziteekangako nnamba\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "KULABULA: akawayiro aka --page-increment kadibizidwa;\n" #~ "kozesaamu aka -line-increment instead" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Agumenti ezibeera ku buwayiro obujjuvu era ziteekwa okubeerawo ne ku\n" #~ "buwayiro obufunze.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIKISI bwe kibeera d, kitegeeza dekanariyo, bw'ebeera o kitegeeza\n" #~ "okitariyo, x kitegeeza hekisadekanariyo ate bw'ebeera n kitegeeza\n" #~ "tekuli radikisi.\n" #~ "BAYITI bw'ekulembekkerezebwa 0x oba 0X ebeera ya mu hekisadakanariyo,\n" #~ "ate esobola okubaako kamu ku bubonero buno obu komekkereza:\n" #~ "b akategeeza nti ennamba eyo ekubisibwamu 512, kB nti ekubisibwamu 1000,\n" #~ "K ye 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G " #~ "1024*1024*1024,\n" #~ "n'obubonero T, P, E, Z, Y bweyongera mu ngeri eyo.\n" #~ "Bw'oyongerako ate akawayiro z, ekiragiro buli lunyiriri olw'ebivamu\n" #~ "kirukomekkereza n'olukalala olw'obubonero bwamu obutali bukusike.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "Akawyiro '--string' bwe kabulako ennamba, ekiragiro kikozesa '3'. \n" #~ "Akawayiro '--width' bwe kabulako ennamba, ekiragiro kikozesa '32'. \n" #~ "Ekiragiro kino 'od' bwe kutabeerako akawayiro, kikola ng'eyataddewo\n" #~ " '-A o -t d2 -w 16'.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Enkozesa entuufu eri: %s [KAWAYIRO]... FAYIRO\n" #~ msgid "Password:" #~ msgstr "Kigambo ekikuumi:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: tekisobose kubikkula /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nnemedwa okutegeka guluupu" #~ msgid "cannot set group id" #~ msgstr "nnemedwa okutegeka ennamba eya guluupu" #~ msgid "cannot set user id" #~ msgstr "nnemedwa okutegeka ennamba ey'omukozesa" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "" #~ "Enkozesa entuufu eri: %s [KAWAYIRO]... [-] [MUKOZESA [AGUMENTI]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Ekiragiro kino bw'okiyisa by'oddako okukolera mu\n" #~ "kiwandikiro mw'okiyisizza biba n'obuyinza obujjira\n" #~ "ku namba-ya-mukozesa ne-namba-ya-guluupu ebya MUKOZESA\n" #~ "\n" #~ " -, -l, --login Buno obuwayiro bukufuula nga MUKOZESA ye\n" #~ " yaggudewo ekiwandikiro ekipya.\n" #~ " Enviromenti ofuna eyategekebwa MUKOZESA,\n" #~ " ebigambo ebifuga enviromenti ebibaddewo\n" #~ " nga tonnayisa ekiragiro byo ne birekerawo\n" #~ " okukola ebya MUKOZESA byo ne biba nga bye\n" #~ " bikola\n" #~ " -c, --commmand=KIRAGIRO Ekiragiro bw'okiyisa ne kamu ku buno, " #~ "ozuukusa\n" #~ " enzivvunuzi n'esobozesa KIRAGIRO okukola " #~ "omulimu\n" #~ " gwakyo. Tewajjawo kiwandikiro kipya\n" #~ " -f, --fast Bw'okozesa kamu ku buno nga okolera ku " #~ "nzivvunuzi\n" #~ " ey'ekika kya 'csh' oba 'tcsh', enzivvunuzi " #~ "empya\n" #~ " gy'ofuna okolere ku buyinza obwa MUKOZESA " #~ "tekisooka\n" #~ " kusoma fayiro ye eya .cshrc\n" #~ " -m, --preserve-environment Bw'okozesa kamu ku buno ate, enviromenti " #~ "tekyuka\n" #~ " ng'otandise okukolera ku buyinza bwa " #~ "MUKOZESA,\n" #~ " esigala nga bweyabadde nga tonnayisa " #~ "kiragiro\n" #~ " -p Kino kikola kimu ne '-m'\n" #~ " -s, --shell=NZIVVUNUZI Bw'okozesa ku buwayiro buno, bw'otandika " #~ "kukolera\n" #~ " ku buyinza obupya obeera okulera ku " #~ "nzivvunuzi\n" #~ " eya kika kya NZUVVUNUZI, singa eyo kweri ku\n" #~ " lukalala '/etc/shells'\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Ekiragiro bw'okiwerekezako ka '-' kokka, kiba kyekimu n'okussawo\n" #~ "akawayiro '-l'. Bw'otateekako agumenti ey'erinnya lya mukozesa, " #~ "ekiragiro\n" #~ "kikuwa buyinza obwa root - omuteesiteesi wa sisitemu.\n" #~ msgid "user %s does not exist" #~ msgstr "tewali mukozesa ayitibwa %s" #~ msgid "incorrect password" #~ msgstr "ekigambo ekikuumi ky'owandise kisobu" #~ msgid "using restricted shell %s" #~ msgstr "" #~ "kakati okozesa enzivvunuzi ey'ekika kya %s etali mu nkalala ez'oku " #~ "sisitemu eno" #~ msgid "warning: cannot change directory to %s" #~ msgstr "kulabula: sisobala okubuuka kuyingira mu tterekero %s" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "Ekiragiro kino kikyusa obwa memba obwa guluupu obwa buli FAYIRO bubeere " #~ "bwa\n" #~ "mu GULUUPU.\n" #~ "Bwe kubeera ko n'akawayiro --reference, kikyusa obwa memba obwa guluupu " #~ "obwa\n" #~ "buli FAYIRO bufaanagane n'obwa RFAYIRO.\n" #~ "\n" #~ " -c, --changes Obuwayiro buno bukola nga verbose naye tebuzza\n" #~ " bubaka bwe wataba bikyusidwa\n" #~ " --dereference Kano bwe kabaako ekiragiro tekikwata ku nyunzi\n" #~ " eyeyawudde yennyinyi, wabula kikola ku fayiro\n" #~ " gy'eggukako\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root Kano bw'okassako ekiragiro etterekero ery'oku\n" #~ " musungi,'/', tekiliyisa mu ngeri ey'enjawulo\n" #~ " (y'enkola eya bulijjo)\n" #~ " --preserve-root Kano ko kaleetera ekiragiro etterekero erya ku\n" #~ " musingi, '/', obutakola ku biliri munda\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet Buno buleetera ekiragiro oukikisa obubaka " #~ "obwogera\n" #~ " ku kiremya obusinga obungi\n" #~ " --reference=RFAYIRO Kano kaleetera ekiragiro okukozeseemu guluupu " #~ "eya\n" #~ " RFAYIRO mu kifo ekya eyo ekongojedwa mu GULUUPU\n" #~ " -R, --recursive Buno bukireetera okukola ne ku fayiro " #~ "n'amaterekero\n" #~ " eziri munda mwa zinazo\n" #~ " -v, --verbose Buno bwo bukireetera okuwandika ebiva mu " #~ "kukebera\n" #~ " buli fayiro ekolebwako\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Ekiragiro kino kikyusa endukusa ez'oku buli FAYIRO zibeere NDUKUSA.\n" #~ "\n" #~ " -c, --changes Akawayiro kano kakola nga aka '--verbose' naye\n" #~ " wano ekiragiro tekizza bubaka bwe wataba\n" #~ " bikyusidwa\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, silent, --quiet Buno buleetera ekiragiro okukisa obubaka " #~ "obwogera\n" #~ " ku kiremya asinga obungi\n" #~ " -v, --verbose Buno bwo buleetera ekiragiro okuwandika ebiva " #~ "mu\n" #~ " kukebera buli fayiro ekolebwako\n" #~ " --reference=RFAYIRO Kano kaleetera ekiragiro okukozesaamu enkola\n" #~ " elagidwa mu RFAYIRO mu kifo eky'eyo " #~ "ekongojedwa\n" #~ " mu NDUKUSA\n" #~ " -R, --recursive Buno bwo buleetera ekiragiro okukola ne ku " #~ "fayiro\n" #~ " n'amaterekero ebiri munda mwa binnabyo\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ekiragiro kino kikyusa obwa nanyini ne/oba guluupu eya buli FAYIRO " #~ "bibeere\n" #~ "NANYINI ne/oba GULUUPU. Bwe kubeera ko n'akawayiro --reference, kikyusa\n" #~ "nannyini n'obwa memba obwa guluupu obwa buli FAYIRO bifaanagane n'obwa\n" #~ "RFAYIRO.\n" #~ "\n" #~ " -c, --changes Obuwayiro buno bufuula enkola y'ekiragiro mu\n" #~ " ngeri y'emu n'aka '--verbose' naye wano\n" #~ " tekizza bubaka bwe wataba bikyusidwa\n" #~ " --dereference Kano ko kaleetera ekiragiro obutakwata ku " #~ "nyunzi\n" #~ " ey'eyawudde yennyinyi, wabula kikola ku fayiro\n" #~ " kw'egguka\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "-f, silent, --quiet Buno buleetera ekiragiro okukisa obubaka " #~ "obwogera\n" #~ " ku kiremya asinga obungi\n" #~ " --reference=RFAYIRO Kano kaleetera ekiragio okukozesamu nannyini\n" #~ " ne guluupu ebya RFAYIRO mu kifo ekya\n" #~ " ebikongojedwa mu NANYINI:GULUUPU\n" #~ " -R, --recursive Buno bwo buleetera ekiragiro okukola ne ku\n" #~ " fayiro n'amaterekero ebiri munda mwa binnabyo\n" #~ " -v, --verbose Buno buleetera ekiragiro okuwandika ebiva mu\n" #~ " kukebera buli fayiro ekolebwako\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Ekiragiro kino kiwandika essaawa nga ziwandikidwa mu MPANDIKA. Era " #~ "kyeyambisibwa okutegeka obudde n'ennaku sisitemu by'ekolerako.\n" #~ "\n" #~ " -d, --date=BUDDE Buno bukireetera okuwandika BUDDE mukifo " #~ "ekya \n" #~ " obwa kakati (singa BUDDE kiba 'now' " #~ "ekiragiro\n" #~ " kiwandika obudde obwa kakano)\n" #~ " -f, --file=FAYIRO Buno bukireetera okusoma FAYIRO kiryoke " #~ "kiwandike\n" #~ " obudde obuwandikidwa ku buli lunyiriri lwa " #~ "yo.\n" #~ " FAYIRO bw'ebeera - , kisoma ebiva ku nnono " #~ "eya\n" #~ " bulijjo\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "BUNENE obuteeka mu bipimo bino:\n" #~ "kB (ebirengo ebya 1,000), K-(bya 1,024), MB (bya 1,000,000),\n" #~ "M (bya 1,048,576) ko n'ebyeyongera waggula G, T, P, E, Z ne Y.\n" #~ "Zino ennukuta zisobola okubeera zokka oba nga zikulemberwa\n" #~ "omuwendo ogutali mu butundutundu - okugeza 15kB oba 2M naye ssi\n" #~ "5.5M.\n" #~ msgid "truncating %s" #~ msgstr "%s ngikolako omulimu ogwa 'truncate'" #~ msgid "cannot create link %s" #~ msgstr "sisobola okukolawo enyunzi %s" #~ msgid "" #~ "WARNING: --preserve_context is deprecated; use --preserve-context instead" #~ msgstr "" #~ "KULABULA: akawayiro --preserve_context kadibizidwa;\n" #~ "kozesaamu aka --preserve-context" #~ msgid "invalid number of lines: 0" #~ msgstr "buno obungi bw'ennyiriri tebukkirizibwa: 0" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/remove-potcdate.sin���������������������������������������������������������������0000664�0000000�0000000�00000000660�11624730202�014574� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ��������������������������������������������������������������������������������coreutils-8.21/po/nl.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001177543�12107204517�012122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•�����0���1��?��ða�����ì‚�����ü‚��<ƒ������t†�����u†��¡���w†��6��‡��ø���Pˆ��¾���I‰��¿���Š��Â���ÈŠ��ª���‹‹��G��6Œ��ù���~��º���xŽ��p���3��!��¤��¼���Æ��©��ƒ‘��w��-“��5��¥”��R��Û•��~���.—�� ���­—��\���»—��w���˜��T���˜��G���å˜��ï���-™��w���š��¡���•š��#��7›����[œ��š���`��Ä���û��D��Àž��7��¡��z���=¢����¸¢�����º£��Þ���H¤��i���'¥��J���‘¥��›���Ü¥�����x¦��¸���ú¦��ˆ���³§��È���<¨��„���©��M��Š©��à���ت��›���¹«��—���U¬��`���í¬��‚���N­����Ñ­��>���æ®��3��%¯��|���Y°��Ý���Ö°��K��´±��=����³��l���>³��0���«³��D���ܳ����!´��ž��;µ��K��Ú¶��Ê���&¸��–���ñ¸��-��ˆ¹��Ê���¶»��ç���¼��J���i½��ð���´½����¥¾��‡���¶¿��¾���>À��á���ýÀ��E���ßÁ��>���%Â��Ë���dÂ��Œ���0Ã��ü���½Ã��æ���ºÄ��¿���¡Å����aÆ��9���sÇ�����­Ç�����ÄÇ��t��ÙÇ��¼���NÉ��ó��� Ê��š���ÿÊ��¾���šË��F��YÌ��Ì��� Í��°���mÎ��Ü���Ï����ûÏ��Ð��Ñ�� ��àÒ�����Ô����Õ��Ð��Ö��y���æ×��þ��`Ø��1��_Ú��Ë���‘Ý��‰���]Þ����çÞ��H���à��7���Nà��¼���†à��F���Cá��ì���Šá��v���wâ�� ���îâ��¡��úâ��¾��œä��Ð��[æ��u���,è��F��¢è��q���éê��[��[ë��æ���·ì��1��ží��S��Ðî��S��$ð��ë���xñ��,���dò��“��‘ò��º���%ô����àô�����øõ�����xö��ß��� ÷��\��é÷��‹���Fù��i���Òù��A���<ú��x���~ú��v���÷ú��Ø��nû����Gý��Â���]þ��I��� ÿ��·���jÿ��›���"��3���¾��û��ò��g��î�p���V�5���Ç�s���ý���q�3�����Ä�I��ã�×���- �ò��� �É���ø �Ê��� �ð��� �–��~�Ô����"��ê�Ó��� �¬���á�¤���Ž�i���3�õ����˜���“���,�Z���=�ù���˜����’�.�� �Å��O�ž����G��´�È���ü�M��Å�5��� �4���I �‰���~ �Â��!�F���Ë"�Ö���#�©��é#�O��“%�í��ã&���Ñ(� ��a*�£��n+�y��-� ��Œ.�o���­/�n���0�\��Œ0�'��é1� ��4�B���5�F���a5���¨5�Ë��Ã6���8�9��®9���è:���<�¢���™=�Ö���<>�¡��?�E���µ@�J���û@�Ò���FA� ��B���'C�º��6D�×���ñE�&��ÉF�¹��ðG�¿���ªI���jJ�Ý���pM�+���NN�N���zN�Ò���ÉN�’���œO�°���/P�Ë���àP�»���¬Q�¡��hR�›��� T�…��¦T�È���,V�B���õV���8W�u���MX���ÃX�1���ÙY�±�� Z�ò���½[����°\�Ë���@]�ƒ��� ^�ƒ���^�k��_�‚��€a�¢��c�4��¦d���Ûe���íf�´���h�í���µi� ��£j�ª��®k���Ym�Ó���_n�<���3o�‘���po�Ò���p�º��Õp�ª��r�K���;t���‡t�ü���Œu�Ä���‰v�z���Nw�þ���Éw�µ���Èx�ô��~y�Ï���s{����C|�f��Ó|�5��:~�ˆ���p�1���ù�H���+€�;��t€�B���°�Æ���ó�!��º‚�È���Ü„�ý���¥…�q��£†�Y��ˆ�ü���o‰�L���lŠ�×���¹Š�T��‘‹�#��æŒ�Ç��� Ž�÷��ÒŽ�Þ���Ê�³��©‘�ƒ���]“�Ñ���á“�V��³”�i��� –�Í���t–�Ä���B—�Ñ���˜�ë���Ù˜�K��Å™���›�D�� œ����e�Ó���ó�Ä��Çž�I���Œ ���Ö ���ô¡�H���‚£�3���Ë£�c��ÿ£� ��c¥�=��„¦���§�ê��ݨ�*��Ȫ�’���ó«�F���†¬�C���ͬ�X��­�>���j®�?���©®�«���é®�9���•¯�S���ϯ�š��#°�m���¾±�û���,²�ä���(³�¨�� ´�I��¶µ�$����¸�(���%¸�<���N¸�ú���‹¸�$���†¹�%���«¹�*���ѹ���ü¹�:���»�"��V»�&���y½� ��� ½�9���Á½�#���û½�$���¾�!���D¾�Ý���f¾�:���D¿�:���¿�,���º¿�"���ç¿� ��� À� ���À�ç���#À�,�� Á�X��8Â�;���‘Ã�|��ÍÃ���JÅ�Ô���^Æ�Ü���3Ç�þ���È� ���É����É� ���É����+É����4É����=É����EÉ����NÉ����TÉ���gÉ�&���ƒÊ� ���ªÊ� ���´Ê����ÀÊ����ÓÊ����æÊ����ûÊ����Ë� ���5Ë�+���VË����‚Ë����›Ë�?���¶Ë�D���öË�0���;Ì����lÌ�)���…Ì����¯Ì�0���ÃÌ�"���ôÌ����Í�'���'Í� ���OÍ����]Í�!���rÍ����”Í�"���´Í����×Í����ôÍ�/���úÍ� ���*Î����KÎ����cÎ�#���yÎ����Î����¶Î�>���ÓÎ�"���Ï����5Ï�%���TÏ�B���zÏ�*���½Ï����èÏ����Ð����Ð�)���)Ð����SÐ�%���pÐ�,���–Ð����ÃÐ�#���ÓÐ�"���÷Ð�$���Ñ����?Ñ�/���_Ñ����Ñ�8���ŸÑ����ØÑ����íÑ���� Ò����)Ò����=Ò����\Ò����{Ò� ���Ò����±Ò����ÂÒ����×Ò����òÒ����Ó����"Ó����4Ó����GÓ����XÓ�'���iÓ����‘Ó�*���¬Ó����×Ó�$���õÓ����Ô����4Ô����DÔ� ���]Ô����~Ô�"���”Ô����·Ô����ÍÔ�;���ãÔ����Õ����2Õ����NÕ����kÕ����‡Õ����¤Õ����ÂÕ����ßÕ����ûÕ����Ö�"���&Ö����IÖ�,���\Ö����‰Ö�)���£Ö����ÍÖ����êÖ����ûÖ�"���×�1���=×�'���o×����—×�(���¨×� ���Ñ×�,���ò×�,���Ø�,���LØ�'���yØ�-���¡Ø� ���ÏØ�(���ðØ�(���Ù����BÙ����UÙ����nÙ�"���‰Ù����¬Ù����»Ù�&���ÎÙ����õÙ�"���Ú� ���3Ú� ���?Ú����LÚ����^Ú����oÚ����Ú�5���›Ú�0���ÑÚ�.���Û����1Û����MÛ����mÛ�"���Û����°Û����ÀÛ�+���ÑÛ�%���ýÛ����#Ü�)���CÜ����mÜ� ���oÜ����|Ü�<���“Ü�1���ÐÜ�,���Ý�0���/Ý�,���`Ý�#���Ý�0���±Ý����âÝ�l���æÝ�;��SÞ����ß� ���¥ß����³ß�6���Îß�5���à�+���;à�(���gà�*���à�-���»à�"���éà�)��� á����6á����Há����_á����vá� ���á����˜á����á����£á�,���«á�8���Øá�)���â� ���;â����Gâ����Yâ����sâ� ���‚â����â� ���•â����Ÿâ����¯â� ���Æâ� ���Ðâ� ���Üâ�k��æâ����Rä����Zä�K���rä�8���¾ä����÷ä�k����å�h���lå����Õå�‚���fæ� ���éæ� ���ôæ� ���ç�3��� ç�Š��Aç� ���Ìè� ���Ùè�w���ãè�w���[é�9���Óé�g�� ê�½���uë�Ò���3ì�1���í�9���8í�0���rí����£í����²í� ���Âí�=���Ïí�(��� î�ã���6î� ���ï�$���&ï�F���Kï����’ï�U��¢ï����øð����ñ�<��ñ�\���Cò� ��� ò�+���«ò�+���×ò�0���ó� ���4ó����>ó����Eó�Ï���Tó�1���$ô����Vô�I���oô� ���¹ô�¬���Äô����qõ�@���Šõ�£��Ëõ�7���o÷�?���§÷����ç÷����ù÷����ø� ���ø����ø����!ø����'ø����-ø����3ø����Dø�:���Iø�…��„ø���� ú�¦���ú����Åú���Ôú�×��Øü����°þ� ���¹þ����Äþ����Øþ� ���ßþ����éþ����ÿ����ÿ����5ÿ����Qÿ�$���iÿ����Žÿ���� ÿ����»ÿ� ���Êÿ� ���Öÿ� ���âÿ����ïÿ� ��������� ����������/�����6�����;�����A�����Ñ�� ���×��1���ä�� �������$����5����O����`� ���o� ���}� ���Š� ���–����¡����¦����«� ���Å�#���Ò����ö����ÿ�*�������I�E���L����’����¦�M���·����—����®���¯�…���^�H���ä�o���-�…�������#����'����7� ���L�,���Z�&���‡� ���®� ���º� ���Å����Ò� ���Ù�#���ç�H��� �2���T�g���‡�i��ï�ª���Y �š��� �;���Ÿ ����Û ���ù �9����*���M�A���x�¸���º�†���s�º���ú�;���µ�¹���ñ�%���«����Ñ�†���Q�N���Ø�T���'� ��|�7���‡����¿����Þ� ���ö� �������� � ��������€���2����³�Ÿ���Î�º���n�7���)�@���a����¢�D���¹����þ����� ���$����2����F����W����f� ���u�Ý���ƒ�1���a�'���“�J���»�u���� ���|� ���Š� ���˜����¥�,���¸�&���å�*��� �;���7����s�c���{� ��ß����ë����û�5����� ���6�<���B��������‡����˜����¬� ���Á����Í�@���Õ� �������#�$���(� ���M�Ñ���X�$���* ����O ����a ����w �â��Š �&���m"�%���”"�C���º"�+���þ"����*#����/#� ���>#����L#����^#����s#����…#����—#� ���©#�#��¶#����Ú$� ���ï$�,���ú$�j���'%�&���’%� ���¹%�'���Ú%�0���&�4���3&�~��h&����ç'����(����!(�–���@(�)���×(�Y���)�'���[)�T���ƒ)�'���Ø)�(����*����)*�X���=*�@���–*����×*�?���ó*�&���3+�š���Z+����õ+���� ,�#���ª,�&���Î,����õ,�"���-�T���7-�g���Œ-�†���ô-�.���{.����ª.�"���É.�+���ì.�Y���/�~���r/�¤���ñ/�ä���–0�=���{1����¹1�^���×1�b���62� ���™2�¢���º2�F���]3�}���¤3�'���"4�'���J4�Z���r4�`���Í4�!���.5�!���P5�$���r5� ���—5�¦���¸5�M���_6�>���­6�'���ì6�<���7�T���Q7����¦7����«7����°7����Æ7����Ü7����ñ7�ï���8����÷8�¹��� 9�D���Ç9�H��� :�G���U:� ���:����§:����¬:����²:�´��Á:�W���v<�B���Î<�k���=�s���}=�¬���ñ=�>���ž>����Ý>�;���ô>�3���0?�/���d?�+���”?�'���À?�#���è?���� @����,@����H@�<���X@����•@����©@����¯@����µ@����Ì@�*���Î@����ù@����A����+A�A���HA����ŠA�2���¡A�1���ÔA� ���B����B�!���%B����GB�#���NB����rB�0���ŽB����¿B����ÙB����êB�*���ûB����&C����DC�"���dC����‡C����¥C�E���ÄC�;��� D� ���FD�,���gD� ���”D�!���µD����×D����÷D�+���E�#���BE�#���fE�,���ŠE�0���·E�,���èE�#���F����9F����TF� ���jF����‹F����§F����ºF����ØF����öF�$���G�"���:G����]G�'���sG����›G�5���µG�'���ëG����H�!���)H����KH����kH�1���„H����¶H����ÆH����ãH����üH����I����)I����=I����QI����hI����‚I�(���’I����»I����ÔI�.���éI�2���J����KJ����fJ����J�%���šJ�0���ÀJ�3���ñJ����%K�F���EK�B���ŒK�+���ÏK�5���ûK�1���1L� ���cL����oL����ˆL�*���§L����ÒL����íL�)��� M����4M����EM�%���aM�!���‡M� ���©M� ���·M����ÅM����ÕM�8���ðM����)N����?N����SN����qN�&���‹N�'���²N�<���ÚN�:���O�.���RO�!���O����£O�&���²O����ÙO����ôO����P����P����)P����9P�#���IP�'���mP�"���•P�&���¸P����ßP����ôP���� Q� ���(Q����IQ����bQ����yQ�%���Q����¶Q� ���ÒQ� ���ßQ����ìQ����ÿQ����R����*R����=R����TR����hR����{R�,���’R�+���¿R�-���ëR�)���S�!���CS����eS����„S����˜S�8���¯S����èS����ÿS����T����*T�3���<T� ���pT����zT� ���‹T����—T����¬T� ���¼T����ÆT�#���ÙT�"���ýT� ��� U����AU����`U����qU����U����¡U����»U����ÌU����äU����êU����üU�%��� V����3V����GV�$���aV�+���†V�#���²V�:���ÖV�!���W�/���3W�'���cW����‹W����¡W����¼W����ÏW����êW�+��� X�*���6X�%���aX����‡X�#���¥X�$���ÉX����îX�%���Y�!���*Y�'���LY�%���tY����šY����ºY����ÎY����àY����ÿY�(���Z�,���FZ� ���sZ�$���”Z����¹Z����ÒZ����äZ����[�*��� [�$���K[�#���p[�%���”[����º[�!���Ú[�&���ü[����#\����7\�(���U\� ���~\�3���Ÿ\�-���Ó\����]���� ]�!���9]�1���[]�'���]����µ]�1���Õ]����^����^����9^����S^����m^�#���‡^�1���«^�.���Ý^���� _����"_����4_�(���T_����}_� ���•_����£_����À_�(���Õ_����þ_����`�3���"`�;���V`�.���’`����Á`����Ù`����î`�$��� a�$���1a�D���Va����›a����¯a����Àa����Ða����äa����ýa����b�%���6b�%���\b����‚b����Ÿb����¹b�-���½b����ëb����c�)���c�/���;c�=���kc�@���©c�:���êc����%d�!���Cd����ed�,���wd����¤d����Àd����Òd�A���éd�;���+e����ge����‚e�!���›e����½e����Óe����çe� ���f�!���#f�%���Ef�(���kf����”f����¯f����Ãf�*���Öf�-���g����/g����?g����Vg����og����„g����›g����´g����Ðg����ég�%���h�1���'h�#���Yh�"���}h�"��� h����Ãh� ���Ùh����çh����øh����i�"��� i����Ci� ���]i����ki����~i����•i����¨i����Äi����Úi�#���õi�!���j�!���;j����]j����tj����“j����¬j� ���Ëj����Øj����èj����ùj���� k����$k����=k����Vk�!���tk����–k�"���®k����Ñk����ñk� ���l����0l����Hl����]l�]���rl�G���Ðl����m����,m����Gm����]m�!���sm�*���•m� ���Àm� ���Ím����îm�/���n�$���2n�"���Wn����zn����˜n�2���­n�;���àn����o����5o����Ro����po�R���‡o�L���Úo����'p�(���?p� ���hp����up����…p����—p����­p�,���Ëp�9���øp�*���2q�,���]q�/���Šq����ºq�*���Àq�G���ëq�0���3r�:���dr�#���Ÿr�'���Ãr�8���ër����$s�@���9s�/���zs����ªs�7���»s�8���ós� ���,t����:t�/���Vt�-���†t� ���´t����Àt����Út�#���ñt�&���u�)���<u�*���fu����‘u�$���¦u����Ëu����âu����üu���� v�+���%v�1���Qv�"���ƒv� ���¦v����Çv����Ùv����ðv�#���w�$���2w����Ww����uw����Šw�!���ªw�!���Ìw�%���îw����x�%���#x����Ix����Xx�7���gx�=���Ÿx����Ýx����ûx����y����/y����Iy����\y� ���my����{y�-���“y�C���Áy����z�(���z� ���Cz�'���Mz����uz�"���z����²z����Âz�?���Òz�,���{�%���?{����e{�4���{{� ���°{�&���Ñ{� ���ø{�1���|�2���6|�#���i|�/���|�$���½|�(���â|���� }�8���*}�G���c}�9���«}�#���å}���� ~�"���(~�$���K~����p~����Š~����ª~����¿~����Õ~����ó~�>��� �B���J� ���� ���˜����¤����¹����Ê����ç� ���ú� ���€����€����*€� ���A€� ���K€����U€�)���o€����™€����®€����É€����Ý€�$���ò€�-����7���E����}����„����š����©����¸����Ñ� ���á����í����ô����ú����‚����‚����8‚�#���U‚�J���y‚� ���Ä‚� ���Ò‚� ���ß‚����ë‚�*����ƒ����+ƒ����Gƒ����`ƒ����|ƒ����“ƒ�8���°ƒ����éƒ� ���ïƒ�H���ýƒ�U���F„�>���œ„�?���Û„�?���…�8���[…�=���”…�>���Ò…�3���†����E†�(���Ö†�!���ÿ†�N���!‡�f���p‡�>���ׇ�@���ˆ�#���Wˆ�<���{ˆ�*���¸ˆ����ãˆ����‰�(���‰����D‰�/���_‰����‰����ª‰����‰����Õ‰����Û‰����ð‰����Š���� Š�*���+Š�!���VŠ�7���xŠ����°Š�"���ÈŠ����ëŠ����úŠ�3���‹�\���B‹����Ÿ‹����·‹����Ï‹�.���ß‹����Œ�0���$Œ����UŒ�C���lŒ����°Œ�%���ÍŒ����óŒ��������!� ���3�H���=�+���†�J���²�2���ý�8���0Ž�=���iŽ�@���§Ž�#���èŽ���� �$���'�=���L�4���Š�.���¿�,���î�<����0���X�3���‰�7���½�c���õ����Y‘����o‘�"���†‘�t���©‘� ���’�3���)’�>���]’�5���œ’�j���Ò’�h���=“�_���¦“�0���”�,���7”�*���d”�3���”�(���Ô�&���ì”�(���•� ���<•����H•� ���[•� ���h•�/���v•�7���¦•�&���Þ•� ���–�·��&–����Þ—�š���à—�@��{˜�ý���¼™�Þ���ºš�¬���™›�Þ���Fœ�Â���%���è�%��ÿž�¿���% �q���å �‘��W¡�Ø���é¢�Å��£�Ž��ˆ¥�ø��§�}��©�Œ���Žª����«����3«�Ž���ë�m���R¬�d���À¬�D��%­�Œ���j®�´���÷®�u��¬¯���"±�’���4²�Ô���Dz�Ø��œ³�Œ��u¶�•���¸� ��˜¸�’���¤¹�ë���7º�•���#»�M���¹»�«���¼�…���³¼�¼���9½�™���ö½�Ý���¾�’���n¿�ˆ��À���ŠÁ�ž���›Â�³���:Ã����îÃ�‹���nÄ�V��úÄ�;���QÆ�„��Æ�Õ���È�ç���èÈ�O��ÐÉ�C��� Ë�r���dË�E���×Ë�Q���Ì�i��oÌ�è��ÙÍ�X��ÂÏ�é���Ñ�Á���Ò�†��ÇÒ�%��NÕ�á���tÖ�L���V×����£×�d��¤Ø���� Ú�Ä���§Ú�Þ���lÛ�N���KÜ�N���šÜ�è���éÜ�Ð���ÒÝ����£Þ���¤ß�ö���«à�$��¢á�M���Çâ�'���ã�m���=ã�º��«ã�é���få�v��Pæ�Â���Çç�æ���Šè�|��qé�Ø���îê�Ð���Çë���˜ì�7��¬í�‹��äî�4��pð�*��¥ñ�0��Ðò�ð��ô����òõ�]��‚ö���àø���üü�š���þ�_��²þ�d�����I���w��â���Á��L���¤���ñ�™���� ���ª�Ä��¶�Ó��{�î��O�—���> �]��Ö �€���4 �…��µ ���;�Z��Y�‚��´�h��7��� �2���¤�Â��×�Ô���š�%��o�z���•�™����Ø���ª�k��ƒ�“���ï�N���ƒ�O���Ò�F���"����i�¶��÷�;��®�ù���ê �M���ä!�ž���2"�Ó���Ñ"�9���¥#�‘��ß#�Œ��q&�R���þ'�3���Q(����…(�M��)�M��S*�R��¡+�V��ô,�ñ���K.���=/�Ø���P0�ò���)1����2�ª��3�Ô���È4�v��5�*��7�ê���?8�Ú���*9�µ���:���»:�©���Ò;�C��|<�p���À=� ��1>�µ���<?�k��ò?�ü��^A�Á���[C�ƒ��D�È���¡E� ��jF�D��� H�I���PH����šH� ��*I�G���KK�Ø���“K�=��lL�u��ªN�•�� P�à��¶R�ë���—T�³��ƒU���7W�'��IY�ƒ���qZ�«���õZ�|��¡[�Ã��]�(��â^�B��� `�B���N`�#��‘`�Í��µa�&��ƒc�:��ªd�D��åe�¥��*g�Ñ���Ðh�Ø���¢i�°��{j�@���,l�Q���ml���¿l�>��Ùm�(��o�÷��Ap�ß���9r�5��s�ü��Ot�Ñ���Lv�O��w�à���nz�)���O{�R���y{�Ý���Ì{�³���ª|�³���^}�Ñ���~�ä���ä~�¹��É�Ÿ���ƒ�.��#‚�Í���Rƒ�I��� „�–��j„�˜���†�,��š†�1���LJ�Ó��ù‡���͉�‰���ãŠ�Æ���m‹�‰���4Œ�€���¾Œ�´��?�Ã��ô���¸‘���À“�M��Ó”�0��!–�º��R—�Ê��� ™�&��Ø™�»��ÿš�5��»œ�é���ñ�@���Ûž�™���Ÿ�×���¶Ÿ�Î��Ž �3��]¢�K���‘¤�[��ݤ���9¦�ç���J§�|���2¨�(��¯¨�Ï���Ø©�*��¨ª�ø���Ó¬�Û���Ì­�·��¨®�)��`°�•���б�,��� ²�P���M²�g��ž²�O���´�Ö���V´�&��-µ�Í���T·���"¸�Š��:¹�Ê��ź�O��¼�P���à½�,��1¾�Š��^¿�—��éÀ�È���Â�I��JÃ���”Å���œÆ�u���¢È�å���É�i��þÉ�p���hË�×���ÙË�Á���±Ì�Þ���sÍ�B��RÎ�Q��•Ï�0��çÐ�u��Ò�Œ���ŽÓ�ã���Ô� ��ÿÔ�K��� ×�-��W×�k��…Ø�P���ñÙ�2���BÚ�y��uÚ�S��ïÛ���CÝ�1��LÞ�1��~ß�P��°á�Ÿ���ã�C���¡ã�G���åã�W��-ä�G���…å�P���Íå�Ë���æ�C���êæ�`���.ç�Ž��ç�y���é� ��˜é���¥ê�Ü��½ë�¤��ší�4���?ð�:���tð�H���¯ð�B��øð�4���;ò�*���pò�>���›ò�A��Úò�F���ô���cô�1���óö�)���%÷�1���O÷�1���÷�G���³÷�,���û÷���(ø�G���,ù�G���tù�1���¼ù�2���îù� ���!ú����,ú�ù���@ú�S��:û�j��Žü�C���ùý�µ��=þ�B��óÿ�Ó���6�ç��� � ��ò� ���ÿ���� � �����������$����-� ���5����?����E�O��\�%���¬� ���Ò� ���Ü����è� ����%���&�"���L����o�����A���«����í���� �M���'�^���u�@���Ô�����>���4����s�4���‹�'���À����è�3���÷� ���+ ����8 �*���P �!���{ �&��� �(���Ä ����í �6���ó �&���* �"���Q ����t �+���‰ ����µ �/���Õ �E��� �,���K �+���x �:���¤ �T���ß �4���4 �"���i ����Œ ����¦ �4���¿ �%���ô �/��� �5���J ����€ �-���— �-���Å �.���ó ����"�1���:����l�B���‚����Å�(���Û�&�������+�,���E�'���r����š�4���¸�1���í�K����'���k� ���“����´����Ì����ã�*���û�G���&�7���n����¦�,���À�.���í�,�������I����f����€�(���˜����Á�!���Ù����û�����:���3����n��������›����·����Ò����ð�%��� ����3����P����e�%���|����¢�5���·�'���í�(����"���>����a�"���x�+���›�A���Ç�3��� ����=�0���U����†�)���£�5���Í�)����&���-�*���T�$����'���¤�'���Ì����ô���� ����(�&���G����n�����+���™�!���Å�*���ç��������#����6����L����_�%���u�D���›�8���à�,����.���F����u����‘�)���­����×����î�0����+���8�$���d�.���‰����¸����¼����Î�?���í�1���-�*���_�.���Š�-���¹�&���ç�.�������=�†���@�_��Ç����'� ���E�&���S�=���z�D���¸�4���ý�?���2 �3���r �@���¦ �*���ç �8���!�"���K!����n!����‰!����¤!����¿!� ���È!� ���Ô!� ���ß!�8���ê!�:���#"�1���^"����"����—"����²"����Ï"� ���Þ"����ë"� ���ñ"����ý"� ���#� ���6#� ���@#����N#�]��V#����´$�'���¼$�H���ä$�9���-%����g%�½���p%�½���.&�–���ì&�Á���ƒ'� ���E(����P(� ���l(�L���x(�Æ��Å(����Œ*� ���›*�™���¦*�—���@+�B���Ø+�ž��,�Ñ���º-�ú���Œ.�;���‡/�9���Ã/�:���ý/����80����G0� ���W0�K���d0�3���°0���ä0����ÿ1�>���2����D2����Ä2�‡��Ô2����\4� ���k4�?��v4�e���¶5� ���6�6���'6�2���^6�L���‘6����Þ6����ï6� ���ø6�á���7�0���å7�)���8�l���@8����­8�Â���½8����€9�F���Ÿ9�â��æ9�D���É;�J���<����Y<����k<� ���z<����…<����<����£<����©<����¯<����µ<����Æ<�]���Ì<� ��*=����7?�×���L?� ���$@�G��1@���yB����•D����žD����§D����½D� ���ÅD����ÑD����îD����E����"E����>E�*���XE����ƒE����˜E����¶E� ���ÅE� ���ÑE� ���ÝE����êE� ���ûE����F����F� ���*F����8F����AF�±���GF����ùF����G�@���G� ���SG����aG� ���rG� ���“G����´G� ���ÃG� ���ÑG� ���ÞG����êG����úG����ÿG����H� ���)H�$���6H����[H� ���oH�)���H����ºH�P���¿H����I���� I�]���0I�ò���ŽI�u���J�û���÷J�×���óK�V���ËL�–���"M�‰���¹M����CN����GN�$���gN����ŒN�L���›N�&���èN� ���O� ���O� ���&O����3O� ���:O�(���HO�D���qO�G���¶O�m���þO�‘��lP�Ñ���þQ�ˆ���ÐR�7���YS����‘S�h��±S�@���V�/���[V�P���‹V�½���ÜV�›���šW���6X�9���EY���Y�)���Z�Ž���¹Z�Œ���H[�]���Õ[�g���3\�:��›\�=���Ö^����_�#���4_� ���X_� ���b_� ���o_� ���z_����†_�€���š_����`�º���;`�¤���ö`�A���›a�H���Ýa�q���&b�?���˜b����Øb����ïb���� c����c����1c����Bc����Qc� ���`c�×���nc�L���Fd�=���“d�I���Ñd�Ã���e� ���ße� ���íe� ���ûe����f�8���f�5���Qf�+���‡f�N���³f����g�•��� g�M�� g����îh����þh�9���i� ���@i�M���Ki� ���™i����¤i����¹i����Õi� ���òi����þi�L���j� ���Rj����^j�%���cj� ���‰j�R��”j�.���çk����l����)l����Gl�¯��^l�&���n�0���5n�c���fn�+���Ên����ön����ûn���� o����o����-o����Co����Vo����io� ���|o�Y��Šo����äp� ����q�8���q�Z���Gq�*���¢q�)���Íq�3���÷q�6���+r�A���br�„��¤r�!���)t�!���Kt�$���mt�®���’t�1���Au�g���su�0���Ûu�a��� v�,���nv�/���›v����Ëv�\���âv�F���?w����†w�I���¥w�/���ïw�Ó���x����óx�º��� y� ���Èy�,���éy�$���z�+���;z�k���gz�t���Óz�£���H{�;���ì{�!���(|�%���J|�:���p|�]���«|�y��� }�•���ƒ}�ú���~�F����#���[�o����’���ï�&���‚€�­���©€�Y���W�Ÿ���±�,���Q‚�/���~‚�b���®‚�z���ƒ�$���Œƒ�*���±ƒ�)���܃�'���„�¥���.„�]���Ô„�B���2…�)���u…�?���Ÿ…�a���ß…����A†����F†����O†����o†����†����¨†�?��†����ˆ�Ô���ˆ�U���óˆ�Y���I‰�U���£‰����ù‰����Š����Š����Š�¯��+Š����Û‹�M���iŒ�’���·Œ�˜���J�ã���ã�M���ÇŽ�����?���0�6���p�2���§�.���Ú�*��� �&���4�"���[����~�����=���²�!���ð����‘����‘���� ‘����=‘�6���A‘�"���x‘�$���›‘�$���À‘�J���å‘����0’�G���P’�G���˜’����à’� ���ô’�.���“����1“�2���9“����l“�A���ˆ“�-���Ê“����ø“�"���”�8���;”�&���t”�-���›”�$���É”����î”�+���•�P���4•�F���…•�#���Ì•�0���ð•�$���!–�%���F–�#���l–�"���–�<���³–�2���ð–�+���#—�3���O—�7���ƒ—�3���»—�5���ï—����%˜����>˜�)���X˜�)���‚˜����¬˜�(���Ø�%���ì˜�*���™�2���=™�&���p™�(���—™�0���À™� ���ñ™�=���š�/���Pš����€š�&���œš�)���Ú����íš�7���›����@›����`›�"���~›�"���¡›�1���Ä›�"���ö›�"���œ�+���<œ�&���hœ����œ�6���«œ����âœ����ûœ�8����8���T�����"���¬����Ï�0���æ�.���ž�-���Fž�$���tž�f���™ž�C����Ÿ�+���DŸ�I���pŸ�D���ºŸ����ÿŸ���� �#���$ �4���H ����} �'��� �7���Å ����ý ����¡�7���1¡�<���i¡����¦¡����¼¡����Õ¡�#���î¡�K���¢�!���^¢�%���€¢�*���¦¢�'���Ñ¢�?���ù¢�4���9£�2���n£�G���¡£�+���é£�&���¤����<¤�+���\¤�,���ˆ¤�&���µ¤�'���ܤ����¥����¥����4¥�.���J¥�*���y¥�,���¤¥�/���Ñ¥����¦�!��� ¦�%���B¦�*���h¦����“¦�#���§¦� ���˦�.���Ù¦�!���§����*§����9§�&���L§����s§����†§����£§����º§����ا����ð§���� ¨�3���%¨�7���Y¨�=���‘¨�0���Ϩ�%����©�#���&©����J©����`©�:���{©����¶©����Õ©����ê©����þ©�B���ª����Zª����^ª����nª����€ª����Ÿª����±ª����ºª�&���ת�&���þª�1���%«�,���W«����„«�(���š«����ë� ���Ý«����þ«����¬����6¬����<¬����T¬�4���l¬����¡¬����Á¬�-���߬�3��� ­�,���A­�@���n­�'���¯­�6���×­�/���®����>®����X®����w®����‘®�!���­®�4���Ï®�%���¯�)���*¯�$���T¯�,���y¯�-���¦¯����Ô¯�(���ñ¯�*���°�2���E°�)���x°�&���¢°����ɰ����à°�+���ó°�&���±�=���F±�5���„±�/���º±�1���ê±����²����7²����P²�'���o²�3���—²�.���˲�'���ú²�1���"³�/���T³�&���„³�5���«³����á³����ù³�*���´�,���@´�/���m´�3���´�*���Ñ´����ü´�&���µ�=���Bµ�0���€µ�,���±µ�4���Þµ�"���¶�"���6¶� ���Y¶� ���z¶�&���›¶�(���¶�N���ë¶�9���:·�&���t·����›·�(���»·�/���ä·����¸�2���3¸����f¸����€¸�+���’¸����¾¸����ø�?���á¸�;���!¹�7���]¹����•¹�%���³¹�%���Ù¹�(���ÿ¹�,���(º�:���Uº����º����«º����º����غ����òº�*��� »����7»�+���R»�.���~»�&���­»�!���Ô»����ö»�<���ú»� ���7¼����X¼�9���o¼�I���©¼�A���ó¼�C���5½�=���y½�/���·½�#���ç½���� ¾�;���*¾�2���f¾����™¾����­¾�L���ľ�T���¿�%���f¿� ���Œ¿�)���­¿����׿����ï¿����À�%���!À�%���GÀ�#���mÀ�%���‘À����·À����ÐÀ����æÀ�4���úÀ�7���/Á����gÁ����{Á����”Á����­Á����ÅÁ����ÞÁ����öÁ����Â����/Â�/���IÂ�2���yÂ�$���¬Â�+���ÑÂ�)���ýÂ�&���'Ã����NÃ����^Ã����rÃ����ŒÃ�*��� Ã����ËÃ����éÃ����úÃ����Ä����)Ä�!���CÄ����eÄ����€Ä�*���šÄ�(���ÅÄ�#���îÄ����Å����-Å����MÅ����iÅ����‡Å����—Å����ªÅ����¾Å����ÑÅ����çÅ����ýÅ�)���Æ����=Æ����]Æ�'���sÆ�&���›Æ����ÂÆ�'���߯����Ç����Ç����3Ç�m���GÇ�D���µÇ����úÇ����È����+È����DÈ�"���[È�<���~È����»È�(���ÐÈ����ùÈ�;���É�6���JÉ�+���É�&���­É����ÔÉ�6���îÉ�@���%Ê����fÊ�%���Ê� ���§Ê����ÈÊ�K���ÚÊ�G���&Ë����nË�&���ŒË����³Ë����ÇË����ßË�,���õË�#���"Ì�.���FÌ�A���uÌ�0���·Ì�2���èÌ�7���Í����SÍ�:���[Í�M���–Í�A���äÍ�J���&Î�-���qÎ�"���ŸÎ�<���ÂÎ����ÿÎ�F���Ï�7���]Ï� ���•Ï�E���¶Ï�F���üÏ����CÐ�!���UÐ�>���wÐ�;���¶Ð����òÐ����Ñ����Ñ�&���7Ñ�6���^Ñ����•Ñ�-���²Ñ����àÑ� ���÷Ñ����Ò����5Ò����TÒ����hÒ�4���‚Ò�9���·Ò����ñÒ�$���Ó����6Ó�%���QÓ�!���wÓ�)���™Ó�,���ÃÓ� ���ðÓ����Ô�%���1Ô�&���WÔ�2���~Ô�2���±Ô����äÔ�'���üÔ����$Õ����;Õ�K���WÕ�9���£Õ�"���ÝÕ�����Ö����Ö����3Ö����RÖ����kÖ����~Ö����Ö�E���¤Ö�J���êÖ����5×�.���S×����‚×�4���‹×����À×�6���Ø×� ���Ø� ���Ø�?���*Ø�4���jØ�2���ŸØ����ÒØ�@���ìØ�,���-Ù�1���ZÙ����ŒÙ�9���žÙ�-���ØÙ�'���Ú�7���.Ú�0���fÚ�)���—Ú����ÁÚ�9���ÞÚ�H���Û�:���aÛ�<���œÛ�3���ÙÛ�8��� Ü�>���FÜ�#���…Ü����©Ü����ÇÜ����ßÜ�#���÷Ü�!���Ý�?���=Ý�=���}Ý����»Ý����ÊÝ����ÛÝ����ìÝ�/���ÿÝ����/Þ����DÞ����TÞ����fÞ����|Þ� ���“Þ����Þ�"���¦Þ�*���ÉÞ����ôÞ�$���ß�"���7ß����Zß�5���qß�D���§ß�M���ìß����:à����Aà����]à����rà����‚à����žà�&���¯à����Öà����ëà����ûà�#��� á�'���0á�'���Xá�*���€á�Z���«á����â� ���â����'â�'���/â�6���Wâ����Žâ����«â����Çâ�"���Þâ����ã�>���ã����Tã� ���Zã�T���eã�O���ºã�G��� ä�H���Rä�H���›ä�C���ää�F���(å�@���oå�:���°å�«���ëå�-���—æ�7���Åæ�I���ýæ�5���Gç�>���}ç�4���¼ç�-���ñç�G���è�6���gè�*���žè����Éè�A���äè����&é�8���Dé����}é����–é����¯é����Áé����Èé����áé����üé����ê�&���ê�)���Eê�;���oê����«ê�+���Êê����öê����ë�7���*ë�c���bë����Æë����àë����ýë�?���ì����Uì�8���tì�$���­ì�S���Òì�+���&í�:���Rí����í���� í����¹í����Ìí�9���Ûí�A���î�T���Wî�?���¬î�F���ìî�P���3ï�a���„ï�5���æï�%���ð�7���Bð�E���zð�F���Àð�I���ñ�5���Qñ�E���‡ñ�8���Íñ�9���ò�9���@ò�~���zò�%���ùò�*���ó�'���Jó�‹���ró����þó�5���ô�V���Hô�D���Ÿô�i���äô�j���Nõ�O���¹õ�C��� ö�-���Mö�4���{ö�/���°ö�1���àö�.���÷�(���A÷����j÷����}÷����˜÷����­÷�1���¿÷�3���ñ÷�&���%ø� ���Lø����ƒ��������®������S�������Ë���������\��„��¸��:������‹��ä��D��“��±����������¼������Ý��ž��<��Æ������Ð��P��œ��������������°��"��¾�� ��m�����m��y������ï������Ì���¢��ó��?���������������R��T����™��ä��O���B��������� ����Ž��f���� ������i��Ó��²���5��y����������~��,��>����»��Ú��õ����q�� ���×������������@������Í������—����������ú��Ü������������������s���A�����������ç��(���«��4��������)��˜��¦����ˆ��e��3��ò���+��;��—����6���¾����í��e������¾����ö��������r��Û�����–��È��Â������Ÿ��¶��î������Ã������l��ˆ��˜�������A��ñ��û��ò������5���p��L��Ï������r������Ù������§������¼����������é���Ø������š��Ö������Ÿ��§��Û������æ������ð��Õ��‹��V��›����y��Á����>��ë���H����x����÷��Ó����������S������Q���z��€������µ���^��¹��É��õ��‡��Š��’��G������}��š����������@��$��‰��²��Ú��Õ��®��Í��r������#������������ö��Œ��q������ ������7��“������’��Ÿ��I��1�� ���f������l��G�� ������­������U��ð��ù��’�����������õ��£����������S������C��ñ��ä��›������R���x��‚�� ����������m��®����’������Â��Ñ��0���������¬��â����¯������&��y����������� ���M��ß���f������a�� ��|��s������d������W���ó��\������7������â��������i����������ù���¿����™��ß������€����������Þ��¡��®�������-��1�������ã��ÿ��)��—��"��S��§��`����������«���;��ê��·��¶����¸��=����»��Õ��˜������Ø��•���]��6��������É����������ù��‰���L��é��n������ô��p��r�������û��ë������¢��î������+��—����ð���Ï��� ��4���t��W��s������p������.����������g��T��p���è���w��V������ ��]���U������ù������×������ï������ö��7������¬��Ó��±�� ��è��¨�����������›��]��º����������š���¨��F��������I��‚�� ��¹��_����T��-����������±������o��®��~���Ÿ����������«������Û������$��*��'��_��¨��1��Z���2��Ê������ÿ��¶��¹������+�������§������/������Î��¤��������n���æ�������u������“��–��Ö��~��c��`��Å���Ü��������������Í��b�����Ì������Ò��@���—���|����������^��¨��æ������¦��J��¤��‚��Ú����������� ��� ������������������®��!��D��‘������‚��Ô������ä������¢��� ��}��Y��������À��Æ��Ã��\��������Ô���2��a���É���N��`����������&��¢������"������� ��ô���£��+��«����������=���¥��N��C������w�������������æ��N������H��â���������������ü��l��„��l���…����(��Ž��À��ò��Û���ê��3��¥�������� ������������š��ê��M��������x����������´��V��j�������0�����Þ��d������ˆ��¦��¯���P��� ��À���%��8��Â��5����R��ò��¯��8����������¯��B��©��ó��.��à�����Ú������þ��ç������è����‹���>���Ï������n����ö���Ä������‹��Í������������Å��á���v��3�������.��}���á����������������D��ž��Ä������j��Õ���a��������Ž�������P��Z��<���…��t�� ��]��������´��p��µ����������€������������<��ú������������º��I��K�������Î��Õ��ì��l��X��Ç���Y��������Ó���������������@��R��G����/��k������u���£�������·��õ��‰��ã��°��&���É������)��ù������������������,��ã������ò��!��‡���Æ����������„��Þ��������������¯��›��ˆ��ª��O��,����ˆ�����´��� ����¬���������Á��}��ð��º������������½�������;��B��f���������…��-�����û��½��a��â��Â��‰��ç�����7��°��Ð��D����������o���Å��������[���!���Ü��i��~������p��µ������¤���=������d����O��Ç��j��[��}��ï��¾����������8��J��¿��5�� ��Ù��‡������§�������������������Ù�������k���ž��¤��À��à��^�����Y��O����:��[��˜��ë��Ñ���ª��]������È����F���Ñ����������`���>��f������é��œ���ß��?��X��C������/��¨��g��¹��—������µ������z��F������'��'������*��W������ø��Û��D���E��Ý��È������<��¡�����^������Ê����†��+��2��U������ ������v���!������Ë��÷������������ ����_����å����������������J������É��W��¦��[������¸�����G������¿��v��ã����������h���Ï����Ì��q���{��Î��Q��±��÷��Q���������§��•������Ã��•�����������������v��Ç������������k��×����y��8��²��å��q�� ��q��×��8��������h��ç����ª��þ��È��ë������ó����������Ù��Ä��`������9���ø��4��<������Ü��ù��-��$��~��á��†��m��€��z����‘��T��’��������������ý��Â������ª��©��ç��o��Ú���R��‡��¥������ß������¡���o������«��Š��Y����������Æ��í��ø����������0��¾��›����������������£���� ��9����º��'���Š��ð����¢������Ë��©�������;��•��������������Ó��]����g�����Á������Ê��Q��Î������������Ì��4����������{��Ý��G��“��*������e�����˜��z��À��r��d��å��Ô��¡��������������ü��¥�����������*��à����g����·������Ë��·��ý��ý���j������-��1��ç������^��»��I�� ��%��������z��š��}������¤��/��Í���ý��Ý������·���X������ÿ�����Ä��%������‘��„������¤�����������Ä��ˆ��Ü������î����������\��S�� ��Ê���Ñ��E��x������������������������������������������R��H��&��Á������+��<������Î��9������&��������–���V���%���Ý���������������¯��>��[��”��.�������S��$��†��ì��Ø��L���é��»����������Ë��Ù��k��n��Ô��J������ª��˜��3���������B��L��„���Ð����Ê��â��t�����������é��¿��|�����������÷������Ö����°������m��Œ��µ������>��X������Œ����������–��b����º���ß��������ã�������Ý����d���ê��*������������������¹������ ����������m��¦��Õ����������1��û��#���´��Ç��h��í����$��B����Ç��Ã��������‚����������ö��‹��*���9���������������������þ��A��$���z�������­���»�������Æ�������‰��ü��ì������³������o��¸���2��L��Z�������������Ä���¶��Ì����������ó��Q������ž�������������������������E��w��ª���T������Ò������s���� ��g��™��"��%������F��Ð���y��Œ��­������N���à������Á������� �� ��1����������P������Ñ��%��¼��š��ÿ�����������C������u��K����ú��¼������”��c��)��9��Ç��������������a�����ä������l��������Á������´��Ð������€���f����������è����������'��ô����������������r��|��������»��8���œ��@��Ï��‘��º��Ø��Ë���¥����û���N��ø������¡������ð��������#��E���Ž��/��ã��?������F��A��Ô�� ���9��“���x��n����������ï�����������H��–����÷���e��Ö��›���q����“��ú����������‰�����������×��ñ��g���������ô��'��„��V��ö��n��N��0��©��²����������������i����������{����������{��i���������������Œ��������������à��b��½����:�����������V������������C��í������ì���������3��5����,���K��u��(��æ������€��¼���‹��������©��â������­����ƒ�� ��������™�����.��¹���M�������,�� ������ƒ���”������������ý��[��Š���������� ��³��Ã��Ò��������������������ë��;����������:��s��”��:��J�����Ö��&��œ��Š���h��e����������� ������:������� ������±���!��†�����-�������³��t����������­��P������È��©��õ�������F�����ü��{�����������…��������������A����������™������ø��Å��k��B���Ó��?��ú��^��=��«��������t�����·��Ò������æ��¸��Z����������¬������J���†��’������´����M��½������¼��Î���ñ����Q��h������7���������Û��×�������E������������³���� ���2�� �� ��ƒ��–������M���������‡����ô������6��±��î������������¬��Þ���‘���ò�� ��������������î���0������Œ�������H�������4��W��������c�����������å��Ü���Ø���‚��2���(��µ��U������Ž��ó���������Ì��³��6��|��~��7��ì��°�������"������ž��I��)��j��L�����Ù��ß���������������ú���œ��,������ñ��í������w��Ð��W����û��Â�����������(��v��ü���"��²������b��ê������u��K��È���ÿ����������i��#����x��5��ä��œ������Ž��b��@��\��Ú��������������b������¿���”��c������Ï��d�����á��þ�������½��Æ������ ��¿��v�� ���¥��?����������;���è������6��ž��������������½��Ò��Í����a��������������ø�������Y���3��/���‡��õ��Ø��c������£����������Ö�����������������!��������������Ò��� ����P��K��ƒ������¶��þ��…��¡����å��������O��M��������������é�����������ÿ��)���A����������t������`��C�����•��ï����H��������™���|����Å��X������Ô��{������°��(��Z������K��ý����…���¦�������E��w��÷��á������¶���=��T�������j���I���å���²��o��à��¸��u����.��6������Y������Ñ��ñ���Ã���������Z��k��#����U���s��£��¬��Þ��í���e������ï��•������X��á�������������†�����ë��Å��ì��”���ƒ������Ÿ������¨��Ê��O��¾�������#�� ��î��D��U��­��c���������‘������������=��ê���Š��É����4��¢��h��þ����G���Þ����³���_��ô��è������À��0������\���Ÿ�������?������ü��_���w��_�������mø����uø�|ƒ��¨ƒ��¼ƒ��Ѓ��äƒ��øƒ�� „�� „��4„��H„��\„��p„��„„�� „��´„��Є��ä„��…��,…��H…��\…��p…��„…��˜…��¬…��À…��Ü…��ø…��†��0†��D†��`†��}ø��������������� �����������������ÿÿÿÿø��������1���ÿÿÿÿÏø��������/���ÿÿÿÿÿø����������ÿÿÿÿ/ù�7����������ÿÿÿÿyù�����������ÿÿÿÿ©ù�����������ÿÿÿÿÃù�����������ÿÿÿÿíù��������(���ÿÿÿÿú� �������Q���ÿÿÿÿuú� �������R���ÿÿÿÿÑú� �������V���ÿÿÿÿ1û������������������ÿÿÿÿ]û�����������ÿÿÿÿdû� ���������������ÿÿÿÿŽû����������ÿÿÿÿ¯û��������������������������������ÿÿÿÿÛû������������������ÿÿÿÿü������������������ÿÿÿÿ5ü� ������(���ÿÿÿÿjü�@����������ÿÿÿÿ¾ü� �������(���ÿÿÿÿóü�����������ÿÿÿÿý��������2���ÿÿÿÿXý��������.���ÿÿÿÿ‹ý��������+����������ÿÿÿÿäý��������8�������/���ÿÿÿÿZþ��������8�������-���ÿÿÿÿÎþ��������#����������ÿÿÿÿÿ�����������ÿÿÿÿÿ� ���������������ÿÿÿÿ=ÿ����������ÿÿÿÿ� � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils 8.20-pre2 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-10 09:37+0100 Last-Translator: Benno Schulenberg <benno@vertaalt.nl> Language-Team: Dutch <vertaling@vrijschrift.org> Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Lokalize 1.0 � � TYPE bestaat uit één of meer van de volgende aanduidigen: a tekennaam, het hoogste bit negerend c ASCII-teken of backslash-code � Traditionele opmaakspecificaties mogen ook gebruikt worden; zij tellen op: -a als '-t a', tekennamen tonen, het hoogste bit negerend -b als '-t o1', octale getallen van 1 byte tonen -c als '-t c', ASCII-tekens of backslash-codes tonen -d als '-t u2', decimale getallen van 2 bytes zonder teken tonen � ( EXPRESSIE ) waar als EXPRESSIE waar is ! EXPRESSIE waar als EXPRESSIE onwaar is EXPRESSIE1 -a EXPRESSIE2 waar als beide expressies waar zijn EXPRESSIE1 -o EXPRESSIE2 onwaar als beide expressies onwaar zijn � --check-order controleren of de invoer juist gesorteerd is, zelfs als van alle invoerregels paren gemaakt kunnen worden --nocheck-order niet controleren of de invoer juist gesorteerd is � -1 regels die alleen in BESTAND1 voorkomen weglaten -2 regels die alleen in BESTAND1 voorkomen weglaten -3 regels die in beide bestanden voorkomen weglaten � -a, --all hetzelfde als '-b -d --login -p -r -t -T -u' -b, --boot tijdstip van de laatste systeemstart tonen -d, --dead dode processen tonen -H, --heading een regel met kolomkoppen tonen � -b BESTAND waar als bestand een blok-apparaat is -c BESTAND waar als bestand een byte-apparaat is -d BESTAND waar als bestand een map is -e BESTAND waar als bestand bestaat � -l de lange uitvoer tonen (voor de gegeven GEBRUIKER(s)) -b de standaardmap en -shell weglaten in de lange uitvoer -h het projectbestand weglaten in de lange uitvoer -p het planbestand weglaten in de lange uitvoer -s de korte uitvoer tonen (standaard) � -n TEKST waar als de lengte van TEKST niet nul is TEKST hetzelfde als '-n TEKST' -z TEKST waar als de lengte van TEKST nul is TEKST1 = TEKST2 waar als de twee teksten gelijk zijn TEKST1 != TEKST2 waar als de twee teksten verschillend zijn � ARG1 * ARG2 rekenkundig product van ARG1 en ARG2 ARG1 / ARG2 rekenkundig quotient van ARG1 gedeeld door ARG2 ARG1 % ARG2 rekenkundige rest van ARG1 gedeeld door ARG2 � ARG1 + ARG2 rekenkundige som van ARG1 en ARG2 ARG1 - ARG2 rekenkundig verschil van ARG1 en ARG2 � ARG1 < ARG2 1 als ARG1 kleiner is dan ARG2, anders 0 ARG1 <= ARG2 1 als ARG1 kleiner of gelijk is aan ARG2, anders 0 ARG1 = ARG2 1 als ARG1 gelijk is aan ARG2, anders 0 ('==' = '=') ARG1 != ARG2 1 als ARG1 niet gelijk is aan ARG2, anders 0 ARG1 >= ARG2 1 als ARG1 groter of gelijk is aan ARG2, anders 0 ARG1 > ARG2 1 als ARG1 groter is dan ARG2, anders 0 � BESTAND1 -ef BESTAND2 waar als hun apparaat- en inode-nummers gelijk zijn BESTAND1 -nt BESTAND2 waar als BESTAND1 nieuwer is dan BESTAND2 BESTAND1 -ot BESTAND2 waar als BESTAND1 ouder is dan BESTAND2 � GEHEEL_GETAL kopiëren tot het gegeven regelnummer (niet tot en met) /REGEXP/[POSITIE] kopiëren tot de overeenkomende regel (niet tot en met) %REGEXP%[POSITIE] overslaan tot de overeenkomende regel (niet tot en met) {AANTAL} het voorgaande patroon dit aantal keren herhalen {*} het voorgaande patroon zo vaak als mogelijk herhalen Een regel-POSITIE is een '+' of '-' gevolgd door een positief geheel getal. � GETAL1 -eq GETAL2 waar als de twee gehele getallen gelijk zijn GETAL1 -ge GETAL2 waar als GETAL1 groter of gelijk is aan GETAL2 GETAL1 -gt GETAL2 waar als GETAL1 groter is dan GETAL2 GETAL1 -le GETAL2 waar als GETAL1 kleiner of gelijk is aan GETAL2 GETAL1 -lt GETAL2 waar als GETAL1 kleiner is dan GETAL2 GETAL1 -ne GETAL2 waar als GETAL1 en GETAL2 verschillend zijn � TEKENREEKS : REGEXP de tekens vanaf het begin van de TEKENREEKS die voldoen aan de reguliere expressie REGEXP match TEKENREEKS REGEXP hetzelfde als 'TEKENREEKS : REGEXP' substr TEKENREEKS POSITIE LENGTE subreeks van TEKENREEKS; POSITIE telt van 1 index TEKENREEKS TEKENS laagste index in TEKENREEKS waar een teken uit TEKENS gevonden is, anders 0 length TEKENREEKS de lengte van de TEKENREEKS � a alle regels nummeren t alleen niet-lege regels nummeren n geen regels nummeren pBRE alleen regels nummeren waarvan een deel voldoet aan deze gewone reguliere expressie (BRE) OPMAAK is één van: ln links uitgelijnd, geen voorloopnullen rn rechts uitgelijnd, geen voorloopnullen rz rechts uitgelijnd, met voorloopnullen � b een blok-apparaatbestand aanmaken (gebufferd) c, u een byte-apparaatbestand aanmaken (ongebufferd) p een FIFO aanmaken � aantal gebruikers=%lu � Optie '-t' is standaard als PAGINALENGTE kleiner of gelijk aan 10 is. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. � Een veld is witruimte (gewoonlijk spaties en/of tabs), daarna tekens die geen witruimte zijn. Eerst worden velden overgeslagen, dan tekens. � Een lichtgewicht 'finger'-programma dat gebruikersinformatie toont. Het geraadpleegde 'utmp'-bestand is %s. � Een losse '-' betekent hetzelfde als '-i'. Zonder COMMANDO wordt de resulterende omgeving getoond. � Na een opmaakcode mag nog een veldbreedte (een decimaal getal) volgen. Bij sommige opmaakletters mag nog een aanpasser gebruikt worden: een E betekent alternatieve representaties uit de taalregio gebruiken, en een O betekent alternatieve cijfers uit de taalregio te gebruiken, waarbij voor beide geldt: indien beschikbaar. � Een ontbrekende EXPRESSIE evalueert tot onwaar. Voor het overige kan de EXPRESSIE waar of onwaar zijn, en mag één van de volgende zijn: � Speciaal geval: 'cp' maakt een reservekopie van BRON als de opties '--force' en '--backup' gegeven zijn én BRON en BESTEMMING dezelfde naam van een bestaand gewoon bestand zijn. � Wees erop bedacht dat in de meeste shells veel operatoren op de een of andere manier aangehaald moeten worden. Vergelijkingen zijn rekenkundig als beide argumenten getallen zijn, anders lexicografisch. Patroonovereenkomsten geven de gevonden tekenreeks tussen \( en \) terug of een lege tekenreeks; zonder \( en \) geven ze het aantal overeenkomende tekens terug, of 0. � Zowel HOOFD- als SUBNUMMER moeten gegeven worden wanneer TYPE 'b', 'c' of 'u' is, en weggelaten als TYPE 'p' is. Als HOOFD- of SUBNUMMER begint met '0x' of '0X', dan is de interpretatie hexadecimaal; anders, als het begint met 0, octaal; anders decimaal. TYPE mag zijn: � Standaard verwijdert 'rm' geen mappen. Gebruik de optie '--recursive' ('-r' of '-R') om ook iedere genoemde map en diens inhoud te verwijderen. � De standaardopties zijn '-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'. TT zijn twee tekens voor het scheiden van logische pagina's; een ontbrekend tweede teken betekent een ':'. Geef \\ voor \. STIJL is één van: � BRONbestanden met gaten worden standaard via een ruwe regel gedetecteerd, waarna de overeenkomstige BESTEMMINGsbestanden ook met gaten worden gemaakt. Dit is het gedrag dat geselecteerd wordt met '--sparse=auto'. Specificeer '--sparse=always' om een BESTEMMINGsbestand met gaten te maken wanneer het BRONbestand een voldoend lange reeks nul-bytes bevat. Gebruik '--sparse=never' om het aanmaken van bestanden met gaten te voorkomen. Als '--reflink[=always]' is gespecificeerd, doe dan een lichtgewicht kopieeropdracht, waar de datablokken alleen worden gekopieerd als ze zijn gewijzigd. Als dat niet mogelijk is dan mislukt het kopiëren of als --reflink=auto is gespecificeerd, wordt teruggevallen op standaard kopiëren. � BROKKEN mag zijn: N in N bestanden splitsen afhankelijk van invoergrootte K/N de K-de uit N naar standaarduitvoer sturen l/N in N bestanden splitsen zonder regels af te breken l/K/N de K-de uit N naar standaarduitvoer sturen zonder regels af te breken r/N als 'l/N' maar roundrobin-verdeling gebruiken r/K/N als 'r/N' maar alleen de K-de uit N naar standaarduitvoer sturen � Combinatie-instellingen: * [-]LCASE hetzelfde als '[-]lcase' cbreak hetzelfde als '-icanon' -cbreak hetzelfde als 'icanon' � Besturingsinstellingen: [-]clocal modem-besturingssignalen uitschakelen [-]cread het ontvangen van invoer toestaan * [-]crtscts RTS/CTS- * [-]cdtrdsr DTR/DSR-handshake inschakelen csN tekengrootte op N bits instellen; N in [5..8] � DUUR is een drijvendekommagetal met een optioneel achtervoegsel: 's' voor seconden (standaard), 'm' voor minuten, 'h' voor uren, 'd' voor dagen. � Getoonde waarden zijn in eenheden van de eerst beschikbare GROOTTE uit '--block-size' en de omgevingsvariabelen %s_BLOCK_SIZE, BLOCK_SIZE en BLOCKSIZE. Anders is de eenheid standaard 1024 bytes (of 512 als POSIXLY_CORRECT gezet is). � VLAGGEN is een kommagescheiden lijst uit de volgende eigenschappen: append achtervoegen (alleen zinvol bij uitvoer; suggestie: conv=notrunc) � Iedere MODUS is van de vorm '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Voorbeelden: %s -12 bestand1 bestand2 Alleen regels die in beide bestanden voorkomen. %s -3 bestand1 bestand2 Regels die alleen in één van de bestanden staan. � Voorbeelden: %s /usr/bin/ -> "/usr" %s map1/rks map2/rks -> "map1" gevolgd door "map2" %s stdio.h -> "." � Voorbeelden: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a een/rks1 een/rks2 -> "rks1" gevolgd door "rks2" � Voorbeelden: %s f - g Toont de inhoud van f, dan standaardinvoer, dan de inhoud van g. %s Kopieert standaardinvoer naar standaarduitvoer. � Voorbeelden: %s root /w Verandert de eigenaar van /w naar "root". %s root:team /w Idem, maar verandert ook de groep naar "team". %s -hR root /w Verandert de eigenaar van /w en subbestanden naar "root". � Voorbeelden: %s team /w Verandert de groep van /w naar "team". %s -hR team /w Verandert de groep van /w en subbestanden naar "team". � Voorbeelden: Een aantal seconden sinds tijdperkbegin (1970-01-01 UTC) omzetten naar de datum: $ date --date='@2147483647' De huidige tijd aan de westkust van de Verenigde Staten tonen: $ TZ='America/Los_Angeles' date De lokale tijd hier tonen voor negen uur 's morgens volgende vrijdag aan de westkust van de Verenigde Staten: $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Behalve bij '-h' en '-L', volgen alle testen op BESTANDen eventuele symbolische koppelingen. Wees erop bedacht dat in de meeste shells haakjes aangehaald moeten worden (bijvoorbeeld met backslashes). GETAL mag ook '-l TEKST' zijn, wat evalueert tot de lengte van TEKST. � De afsluitwaarde is 0 als EXPRESSIE noch leeg noch 0 is, 1 als EXPRESSIE leeg of 0 is, 2 als EXPRESSIE syntactisch ongeldig is, en 3 als er een fout optrad. � De afsluitwaarde is: 0 indien OK, 1 bij kleine problemen (bijv. geen toegang tot een submap), 2 bij serieuze problemen (bijv. geen toegang tot argument op opdrachtregel). � De OPMAAK bestuurt de uitvoer net als bij printf() in de taal C. Begrepen sequenties zijn: \" een aanhalingsteken (") � OPMAAK bestuurt de uitvoer. Begrepen codes zijn: %% het procentteken %a de afkorting van de dag volgens de taalregio (bijv. zo) � 'stty' bestuurt de TTY die met standaardinvoer verbonden is. Zonder argumenten worden baudrate, lijnprotocol, en afwijkingen van 'stty sane' getoond. Bij instellingen wordt TEKEN letterlijk gebruikt, of gecodeerd als in ^c, 0x37, 0177 of 127; de speciale waarden '^-' of 'undef' kunnen gebruikt worden om speciale tekens inactief te maken. � Bij '-e' worden de volgende codes herkend en uitgevoerd: � Als BESTAND - is, dan standaarduitvoer shredden. Als '--remove' (-u) gegeven is, worden de gegeven BESTANDen verwijderd. Standaard worden bestanden niet verwijderd omdat 'shred' vaak toegepast wordt op apparaatbestanden (zoals /dev/hda) en die moeten meestal niet verwijderd worden. Wanneer 'shred' toegepast wordt op gewone bestanden, gebruiken de meeste mensen de optie '--remove'. � Als geen BESTAND gegeven is, wordt %s gebruikt. Gewoonlijk wordt %s als BESTAND meegegeven. Als ARGUMENT1 ARGUMENT2 gegeven zijn, dan wordt '-m' begrepen; de combinaties 'am i' or 'mom likes' zijn gebruikelijk. � Als BESTAND gegeven is, wordt dat gelezen om te bepalen welke kleuren voor welke bestandstypes gebruikt moeten worden. Anders wordt een standaardlijst gebruikt. Typ 'dircolors -p' voor details over de opmaak van deze bestanden. � Als EERSTE of STAP weggelaten wordt, dan wordt 1 gebruikt. Dat betekent dat een weggelaten STAP ook 1 is als LAATSTE kleiner is dan EERSTE. EERSTE, STAP en LAATSTE worden geïnterpreteerd als drijvendekommagetallen. STAP zal gewoonlijk positief zijn als EERSTE kleiner is dan LAATSTE, en negatief als EERSTE kleiner is dan LAATSTE. � Als MODUS '0' is, zal de overeenkomstige stream ongebufferd zijn. � Als MODUS 'L' is, zal de overeenkomende stream regelgebufferd zijn. Deze modus is ongeldig voor standaardinvoer. � Als een BESTAND - is, dan nog eens naar standaarduitvoer kopiëren. � Als geen commando gegeven is, dan '${SHELL} -i' uitvoeren (standaard: /bin/sh). � Als standaardinvoer een terminal is, dan deze naar '/dev/null' omleiden. Als standaarduitvoer een terminal is, dan eventuele uitvoer zo mogelijk aan 'nohup.out' toevoegen, anders aan '$HOME/nohup.out'. Als standaardfoutuitvoer een terminal is, dan deze naar standaarduitvoer omleiden. Gebruik '%s COMMANDO > BESTAND' om de uitvoer naar een BESTAND te sturen. � Als de tijdslimiet van het commando verloopt, en '--preserve-status' is niet gegeven, dan is de afsluitwaarde 124, anders de afsluitwaarde van COMMANDO. Als geen signaal gegeven is, dan wordt bij tijdsoverschrijding het TERM-signaal verzonden -- dit signaal beëindigt processen die het signaal niet blokkeren of afvangen. Het kan nodig zijn om het KILL-signaal (9) te gebruiken, omdat dit signaal niet afgevangen kan worden -- in dat geval is de afsluitwaarde 128+9 in plaats van 124. � Als K (het aantal bytes of regels) begint met een '+', wordt alles vanaf het Kde item vanaf het begin van elk bestand getoond, anders de laatste K items van elk bestand. K mag een vermenigvuldigingsachtervoegsel hebben: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, en zo verder voor T, P, E, Z, Y. � Invoerinstellingen: [-]brkint een break veroorzaakt een interruptsignaal [-]icrnl CR-teken (naar regelbegin) omzetten in LF-teken (nieuweregel) [-]ignbrk break-tekens negeren [-]igncr CR-tekens negeren � Getal N mag gevolgd worden door een vermenigvuldigingsachtervoegsel: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, en zo verder voor T, P, E, Z en Y. � SLEUTELOPGAVE is van de vorm VN[.TP][OPTIES][,VN[.TP][OPTIES]] voor de start- en stopposities, waarin VN het veldnummer is en TP de tekenpositie in het veld, beide tellend vanaf 1, en de stoppositie is standaard het eind van de regel. Als noch '-t' noch '-b' gegeven is, worden tekens in een veld geteld vanaf het begin van de voorafgaande witruimte. OPTIES bestaat uit één of meer éénletter sorteeropties [bdfgiMhnRrV], die globale sorteeropties voor die sorteersleutel overstijgen. Als er geen enkele sleutel gegeven is, dan wordt de hele regel als sleutel gebruikt. GROOTTE mag gevolgd worden door een vermenigvuldigingsachtervoegsel: � Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden. De precieze licentie is GPL-3+: GNU General Public License versie 3 of later. Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst. Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat. � Lokale instellingen: [-]crterase erase-tekens echoën als backspace-spatie-backspace * crtkill gehele regel verwijderen via 'echoprt' en 'echoe' * -crtkill gehele regel verwijderen via 'echoctl' en 'echok' � (Een verplicht argument bij een lange optie geldt ook voor de korte vorm.) � BLOKKEN en BYTES kunnen de volgende vermenigvuldigingsachtervoegsels krijgen: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M, GB =1000*1000*1000, G =1024*1024*1024, en zo verder voor T, P, E, Z en Y. Mogelijke CONVERSIES zijn: � OPMERKING: Als COMMANDO de buffering van zijn standaard streams aanpast (zoals bijvoorbeeld 'tee' doet), dan zal dat de overeenkomstige instellingen die zijn gewijzigd door 'stdbuf' overvleugelen. Ook sommige filters (zoals 'dd', 'cat', enzovoort) gebruiken geen streams voor invoer/uitvoer, en worden dus niet beïnvloed door instellingen van 'stdbuf'. � Opmerking: '[' kent de opties '--help' en '--version', maar 'test' niet; 'test' behandelt deze opties zoals het elke andere niet-lege tekenreeks behandelt. � Opmerking: Uw shell kan een eigen versie van %s hebben, die gewoonlijk prevaleert boven de hier beschreven versie. Kijk in de documentatie van uw shell voor details over de ondersteunde opties. � Opmerking: als een bestand met 'rm' verwijderd wordt, is het vaak nog mogelijk om iets van de inhoud van het bestand te herstellen. Als u meer zekerheid wilt over de onherstelbaarheid van de inhoud, gebruik dan 'shred'. � Merk op dat '-d' en '-t' een verschillende opmaak van datum+tijd verwachten. � Opmerking: het vergelijken volgt de regels gespecificeerd door 'LC_COLLATE'. � Opmerking: 'uniq' detecteert herhaalde regels niet als ze niet bij elkaar staan; u zou de invoer eerst kunnen sorteren, of 'sort -u' gebruiken zonder 'uniq'. Verder volgt de vergelijking de regels gespecificeerd door 'LC_COLLATE'. � De optionele '-' voor een INSTELLING betekent negatie (oftewel 'niet-'). Niet-POSIX-instellingen zijn met een '*' gemarkeerd. Het hangt van het onderliggende systeem af welke instellingen beschikbaar zijn. � Anders is MODUS een geheel getal gevolgd door één van de volgende: KB 1000, K 1024, MB 1000*1000, M 1024*1024, enz. voor G, T, P, E, Z en Y. In deze gevallen zal de overeenkomstige stream volledig gebufferd zijn met de grootte ingesteld op MODUS bytes. � Uitvoerinstellingen: * bsN backspace-vertragingsstijl; N in [0..1] * crN 'carriage return'-vertragingsstijl, N in [0..3] * ffN 'form feed'-vertragingsstijl; N in [0..1] * nlN nieuweregel-vertragingsstijl; N in [0..1] � Als EIGENAAR ontbreekt, blijft deze onveranderd. Als GROEP ontbreekt, blijft deze onveranderd, tenzij met een ':' na een symbolische EIGENAAR impliciet de inloggroep gegeven is. Verder mogen EIGENAAR en GROEP zowel numeriek als symbolisch zijn. � De waarde van EXPRESSIE naar standaarduitvoer sturen. EXPRESSIE mag zijn (een lege regel scheidt groepen met verschillende, oplopende voorrang): ARG1 | ARG2 ARG1 als deze niet leeg of 0 is, anders ARG2 ARG1 & ARG2 ARG1 als beide argumenten noch leeg noch 0 zijn, anders 0 � Als BESTAND - is, wordt van standaardinvoer gelezen. Elk PATROON mag zijn: � Rapporteer gebreken in '%s' aan <%s>. � Rapporteer gebreken in het programma aan <%s>; meld fouten in de vertaling aan <vertaling@vrijschrift.org>. � SETs worden gegeven als tekenreeksen. De meeste tekens representeren zichzelf. Begrepen codes zijn: \NNN het teken met ASCII-code NNN (octaal, 1 tot 3 cijfers) \\ een backslash (\) \a geluidssignaal \b backspace \f nieuwe pagina (FF-teken) \n nieuwe regel (LF-teken) \r naar begin van regel (CR-teken) \t horizontale tab � SIGNAAL mag een signaalnaam zijn zoals 'HUP', of een signaalnummer zoals '1', of de afsluitwaarde van een proces dat beëindigd wordt door een signaal. PID is een geheel getal; als het negatief is dan duidt het een procesgroep aan. � AANTAL is een getal. Als TYPE een van [doux] is, dan mag AANTAL ook zijn: C voor sizeof(char), S voor sizeof(short), I voor sizeof(int), of L voor sizeof(long). Als TYPE 'f' is, mag AANTAL ook zijn: F voor sizeof(float), D voor sizeof(double), of L voor sizeof(long double). (De machineafhankelijke functie sizeof() geeft de lengte in bytes aan van de gegeven eenheid.) � GROOTTE is een geheel getal met een optionele eenheid. Mogelijke eenheden zijn: K, M, G, T, P, E, Z, Y (machten van 1024) of KB, MB, ... (machten van 1000). Bijvoorbeeld: 10M is 10*1024*1024. � GROOTTE mag ook een voorvoegsel hebben, met de volgende betekenissen: '+' vergroten met, '-' verkleinen met, '<' maximaal, '>' minimaal, '/' naar beneden afronden op een veelvoud van, '%' naar boven afronden op een veelvoud van. � Het zenden van een %s-signaal naar een werkend 'dd'-proces zorgt ervoor dat I/O-statistieken naar standaardfoutuitvoer gaan, waarna het kopiëren doorgaat. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records gelezen 18335302+0 records geschreven 9387674624 bytes (9.4 GB) gekopieerd, 34.6279 seconden, 271 MB/s Opties zijn: � Speciale tekens: * dsusp TEKEN TEKEN zendt een terminal-stopsignaal nadat invoer verwijderd is eof TEKEN TEKEN zendt een einde van bestand (beëindigt de invoer) eol TEKEN TEKEN beëindigt de regel � Speciale instellingen: N de in- en uitvoersnelheid op N bits per seconde zetten * cols N de kernel laten weten dat de terminal N kolommen heeft * columns N hetzelfde als 'cols N' � Het reservekopie-achtervoegsel is '~', tenzij anders ingesteld met '--suffix' of via omgevingsvariable SIMPLE_BACKUP_SUFFIX. Het versiebeheer kan worden ingesteld met de optie '--backup' of via omgevingsvariabele VERSION_CONTROL; dit zijn de mogelijke waarden (methodes): � De gegevens zijn gecodeerd in het base64-alfabet zoals beschreven in RFC 3548. Bij decodering mag de invoer naast de formele tekens van het base64-alfabet ook nog nieuweregel-tekens bevatten. Met '--ignore-garbage' kunt u proberen over andere niet-alfabetische tekens in de gecodeerde reeks bytes te stappen. � De volgende opties veranderen de wijze van doorlopen van de mappenhiërarchie als optie '-R' gegeven is. Bij meerdere van deze opties, geldt de laatste. -H als een argument op de opdrachtregel een symbolische koppeling naar een map is, dan deze map doorlopen -L elke symbolische koppeling naar een map volgen -P symbolische koppelingen niet volgen (standaard) � De volgende drie opties gelden alleen bij het controleren van controlesommen: --quiet geen 'goed' tonen voor elk met succes gecontroleerd bestand --status niets naar de uitvoer sturen; de afsluitwaarde toont succes -w, --warn waarschuwen bij verkeerd opgemaakte controlesomregels � De sommen worden berekend zoals beschreven in %s. Bij het controleren moet de invoer voormalige uitvoer van dit programma zijn. De standaardmodus toont voor elk BESTAND een regel met een controlesom, een teken dat het type aangeeft ('*' voor binair, ' ' voor tekst), en de naam van het bestand. � Geldige opmaakspecificaties voor bestanden (zonder '--file-system') zijn: %a toegangsrechten in octale vorm %A toegangsrechten in leesbare vorm %b aantal toegewezen blokken (zie %B) %B de grootte in bytes van elk blok gerapporteerd door %b %C SELinux-beveiligingscontext-tekenreeks � Dit programma kopieert bestanden (vaak zojuist gecompileerd) naar door u gekozen bestemmingen. Als u een kant-en-klaar pakket wilt downloaden en installeren op een GNU/Linux-systeem, dan kunt u beter een pakketbeheerder zoals yum(1) of apt-get(1) gebruiken. Bij de eerste drie aanroepvormen wordt BRON naar DOEL gekopieerd, of BRONnen naar een bestaande MAP, terwijl rechten en eigenaar en groep ingesteld worden. Bij de vierde vorm worden alle componenten van de gegeven MAP(pen) aangemaakt. � Om een bestand te verwijderen dat begint met een '-', bijvoorbeeld '-foo', kunt u een van deze commando's gebruiken: %s -- -foo %s ./-foo � Omzetting treedt op als '-d' niet gegeven is en zowel SET1 als SET2 gegeven zijn. Optie '-t' mag alleen gebruikt worden bij omzetten. SET2 wordt vergroot tot de lengte van SET1 door het laatste teken te herhalen; te veel tekens in SET2 worden genegeerd. Alleen [:lower:] en [:upper:] worden gegarandeerd uitgebreid in oplopende volgorde; bij omzetten kunnen zij alleen in paren gebruikt worden voor omzetting van hoofd- in kleine letters of omgekeerd. Optie '-s' gebruikt SET1 als niet omgezet noch verwijderd wordt; anders gebruikt het samendrukken SET2, en dat gebeurt na omzetting of verwijdering. � Standaard is voorloopwitruimte de veldscheiding en wordt verder genegeerd. Als '-t TEKEN' gegeven is, worden velden gescheiden door TEKEN. Elk VELD heeft een veldnummer, tellend vanaf 1. OPMAAK is een komma- of spatiegescheiden lijst aanduidingen, elk van de vorm 'NUMMER.VELD' of '0', waar NUMMER het bestandsnummer en VELD het veldnummer is. De standaardopmaak voert eerst het samenvoegveld uit, dan de overige velden van BESTAND1, en dan de overige velden van BESTAND2, alles gescheiden door TEKEN. Als OPMAAK het sleutelwoord 'auto' is, dan bepaalt de eerste regel van elk bestand hoeveel velden er voor elke regel uitgevoerd worden. Belangrijk: BESTAND1 en BESTAND2 moeten gesorteerd zijn op de samenvoegvelden. Gebruik bijvoorbeeld "sort -k 1b,1" als aan 'join' geen opties gegeven worden of gebruik "join -t" als 'sort' geen opties heeft. Opmerking: het vergelijken volgt de regels gespecificeerd door 'LC_COLLATE'. Als de invoer niet gesorteerd is en sommige regels niet samengevoegd kunnen worden, dan wordt er een waarschuwing gegeven. � Van de opties '-b', '-c' en '-f' mag er slechts één gegeven worden. Een LIJST bestaat uit één of meer bereiken gescheiden door komma's, bijvoorbeeld: 1-4,7,9,12-15. Geselecteerde invoer wordt uitgevoerd in dezelfde volgorde als ze gelezen werd en slechts precies één keer. � Optie '-s' negeert '-L' en '-P'. Anders bepaalt de laatst gegeven optie het gedrag wanneer de bron een symbolische koppeling is; standaard is dit '%s'. � Het gebruik van kleuren om bestandstypes te onderscheiden kan uitgeschakeld worden met '--color=never' (standaard). Met '--color=auto' produceert 'ls' alleen kleurcodes als standaarduitvoer verbonden is met een terminal. Omgevingsvariabele LS_COLORS kan deze instellingen wijzigen. Gebruik het commando 'dircolors' om deze variabele in te stellen. � Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. Optie '-F /' is standaard. � Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. � Zonder opties worden drie kolommen getoond. De eerste kolom bevat de regels die uniek zijn voor BESTAND1, de tweede kolom de regels die uniek zijn voor BESTAND2, en de derde kolom de regels die in beide bestanden voorkomen. � Zonder enige OPTIE wordt een nuttige set identificatie-informatie getoond. � Een eenduidige representatie (standaard octale bytes) van het gegeven BESTAND naar standaarduitvoer sturen. Bij meer dan één BESTAND, deze in de gegeven volgorde achter elkaar plakken om de invoer te vormen. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. � (alleen nuttig op systemen waar de eigenaar van een symbolische koppeling veranderd kan worden) � ???� --backup[=METHODE] van elk bestemmingsbestand een reservekopie maken -b als '--backup', maar accepteert geen argument -f, --force niets vragen alvorens te overschrijven -i, --interactive voor overschrijven om toestemming vragen -n, --no-clobber geen bestaand bestand overschrijven Als u meer dan één van -i, -f, -n specificeert dan is alleen de laatste effectief. � --backup[=METHODE] van elk bestemmingsbestand een reservekopie maken -b zoals '--backup', maar accepteert geen argument -d, -F, --directory de systeembeheerder toestaan een harde koppeling te maken naar mappen (hoewel dit waarschijnlijk niet zal werken, vanwege systeembeperkingen) -f, --force bestaande bestemmingsbestanden verwijderen � --backup[=METHODE] van elk bestemmingsbestand een reservekopie maken -b zoals '--backup', maar accepteert geen argument -c (genegeerde optie) -C, --compare elk paar van bron- en bestemmingsbestand vergelijken, en (soms) niets aan bestemmingsbestand wijzigen -d, --directory alle argumenten als mapnamen behandelen; van de gegeven mappen alle componenten aanmaken � --batch-size=AANTAL hoogstens dit aantal invoeren ineens samenvoegen; bij meer, tijdelijke bestanden gebruiken � --block-size=GROOTTE de te tonen groottes schalen naar deze waarde; '--block-size=M' bijvoorbeeld toont de groottes in eenheden van 1.048.576 bytes; zie hieronder -B, --ignore-backups geen namen tonen die eindigen op '~' -c met '-lt': op 'ctime' sorteren en deze tonen (de tijd van de laatste statusinformatiewijziging); met '-l': op naam sorteren en 'ctime' tonen; anders: op 'ctime' sorteren, recentste eerst � --complement het complement maken van de set van geselecteerde bytes, tekens of velden � --debug het regeldeel markeren waarop gesorteerd wordt, en waarschuwingen geven bij vreemd gebruik --files0-from=BESTAND de invoer lezen uit bestanden die opgesomd staan in BESTAND (elke naam eindigt op NUL); als BESTAND '-' is, dan de namen van standaardinvoer lezen � --dereference niet de symbolische koppelingen bewerken maar " de bestanden waarnaar ze verwijzen (standaard) " -h, --no-dereference de symbolische koppelingen zelf bewerken in plaats van de bestanden waarnaar ze verwijzen � --files0-from=LST invoer lezen uit de bestanden die opgesomd staan in bestand LST, waar elke naam eindigt op een 0-byte; als LST '-' is, dan namen van standaardinvoer lezen -L, --max-line-length de lengte van de langste regel tonen -w, --words het aantal woorden tonen � --files0-from=LST het schijfgebruik tonen van de bestanden die opgesomd staan in bestand LST, waar elke naam eindigt op NUL; als LST '-' is, dan de namen van standaardinvoer lezen -H hetzelfde als '--dereference-args' (-D) -h, --human-readable groottes in leesbare vorm tonen (bijv. 15K, 234M, 2G) � --from=HUIDIGE_EIGENAAR:HUIDIGE_GROEP eigenaar en/of groep van een bestand alleen wijzigen als huidige eigenaar en groep overeenkomen met de hier gegeven; één van de elementen mag weggelaten worden, een overeenkomst daarmee is dan niet vereist � --group-directories-first mappen vóór bestanden groeperen; kan aangevuld worden met een '--sort', maar gebruik van '--sort=none' of '-U' deactiveert groepering � --help deze hulptekst tonen en stoppen � --indicator-style=WIJZE op deze wijze achter elk item het type aanduiden; WIJZE kan zijn: 'none' (standaard), 'slash' (-p), 'file-type' (--file-type) of 'classify' (-F) -i, --inode met '-l': het indexnummer van elk bestand tonen -I, --ignore=PATROON de namen die voldoen aan PATROON niet tonen -k, --kibibytes blokken van 1024 bytes gebruiken � --lookup proberen de echte hostnamen te vinden via DNS -m alleen hostnaam en gebruiker verbonden met standaardinvoer -p, --process de actieve processen gestart door 'init' tonen � --no-preserve-root '/' niet speciaal behandelen --preserve-root op '/' niet recursief werken (standaard) -r, -R, --recursive mappen en hun inhoud recursief verwijderen -d, --dir lege mappen verwijderen -v, --verbose tonen wat er gedaan wordt � --no-preserve-root '/' niet speciaal behandelen (standaard) --preserve-root op '/' niet recursief werken � --no-preserve=LIJST de genoemde eigenschappen juist niet behouden --parents volledige naam gebruiken van bronbestand onder MAP � --one-file-system bij recursief verwijderen, mappen overslaan die zich op een ander bestandssysteem bevinden dan het bijbehorende opdrachtregelargument � --pid=PID met '-f': afsluiten wanneer proces PID eindigt -q, --quiet, --silent geen bestandsnaamkopjes tonen --retry blijven proberen om een bestand te openen zelfs als het ontoegankelijk is of wordt; nuttig wanneer op naam gevolgd wordt (bij '--follow=name' dus) � --preserve-context de SELinux-beveiligingscontext behouden -Z, --context=CONTEXT beveiligingscontext van bestanden en mappen instellen � --reference=RFBSTND de groep van RFBSTND gebruiken i.p.v. GROEP-waarde � --reference=RFBSTND modus van RFBSTND gebruiken i.p.v. een MODUS-waarde � --reference=RFBSTND de eigenaar en groep van RFBSTND gebruiken � --reference=REFBESTAND de beveiligingscontext van REFBESTAND gebruiken in plaats van een CONTEXT-waarde � --rfc-3339=SOORT datum en tijd in RFC 3339-opmaak tonen; 'date' toont alleen de datum, 'seconds' toont ook de tijd, 'ns' toont ook de nanoseconden; componenten worden gescheiden door één spatie -s, --set=DATUMTIJD deze tijd en/of datum instellen -u, --utc, --universal de standaard wereldtijd gebruiken � --sort=WOORD volgens deze methode sorteren; WOORD kan zijn: general-numeric (-g), human-numeric (-h), month (-M), numeric (-n), random (-R), version (-V) -V, --version-sort (versie)nummers in de tekst natuurlijk sorteren � --sparse=WANNEER het aanmaken van bestanden met gaten controleren; zie hieronder --strip-trailing-slashes schuine strepen achter elk BRON-argument verwijderen � --strict met '--check': met foutcode afsluiten bij ongeldige invoer � --strip-trailing-slashes schuine strepen achter elke BRON verwijderen -S, --suffix=ACHTERVOEGSEL te gebruiken achtervoegsel voor reservekopieën � --suffix=VGSL dit achtervoegsel achter SJABLOON plakken; VGSL mag geen schuine streep bevatten; deze optie is impliciet als SJABLOON niet op een X eindigt � --tag een controlesom in BSD-stijl genereren � --time-style=STIJL met '-l': tijden volgens deze stijl tonen; STIJL kan zijn: 'iso', 'long-iso', 'full-iso', 'locale', of '+OPMAAK'; OPMAAK wordt geïnterpreteerd zoals bij 'date'; als OPMAAK de vorm OPMAAK1<nieuweregel>OPMAAK2 heeft, dan geldt OPMAAK1 voor oude bestanden en OPMAAK2 voor recente bestanden; als STIJL 'posix-' als voorvoegsel heeft, dan geldt deze alleen buiten de POSIX-taalregio � --tmpdir[=MAP] SJABLOON relatief ten opzichte van MAP interpreteren; als geen MAP gegeven is, dan $TMPDIR gebruiken indien ingesteld, anders /tmp; met deze optie mag SJABLOON geen absoluut pad zijn; het mag wel schuine strepen bevatten, maar 'mktemp' zal slechts de laatste component aanmaken � --verbose een melding tonen vóór openen van elk uitvoerbestand � --version programmaversie tonen en stoppen � --all het aantal geïnstalleerde processoren tonen --ignore=N indien mogelijk, N processoreenheden uitsluiten � -evenp hetzelfde als '-parenb cs8' * [-]lcase hetzelfde als 'xcase iuclc olcuc' litout hetzelfde als '-parenb -istrip -opost cs8' -litout hetzelfde als 'parenb istrip opost cs7' nl hetzelfde als '-icrnl -onlcr -nl hetzelfde als 'icrnl -inlcr -igncr onlcr -ocrnl -onlret' � [-]cstopb twee stopbits per teken gebruiken (één met '-') [-]hup 'opgehangen'-signaal sturen wanneer laatste proces de TTY sluit [-]hupcl hetzelfde als '[-]hup' [-]parenb pariteitsbit in uitvoer genereren en in invoer verwachten [-]parodd oneven pariteit instellen (of even pariteit met '-') � [-]ignpar tekens met een pariteitsfout negeren * [-]imaxbel piep geven en een volle invoerbuffer niet legen bij een teken [-]inlcr LF-teken (nieuweregel) omzetten in CR-teken (naar regelbegin) [-]inpck controle op invoerpariteit inschakelen [-]istrip hoogste bit (het achtste) van invoertekens nul maken � [-]isig speciale tekens voor interrupt, quit, en suspend inschakelen [-]noflsh legen van buffer na interrupt of quit uitschakelen * [-]prterase hetzelfde als '[-]echoprt' * [-]tostop achtergrondtaken stoppen die naar de terminal willen schrijven * [-]xcase met 'icanon': '\' voor kleine letter maakt hoofdletter � cooked hetzelfde als 'brkint ignpar istrip icrnl ixon opost isig icanon', met eof- en eol-tekens op hun standaardwaarden -cooked hetzelfde als 'raw' crt hetzelfde als 'echoe echoctl echoke' � dec hetzelfde als 'echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u' * [-]decctlq hetzelfde als '[-]ixany' ek de erase- en kill-tekens op hun standaardwaarden zetten evenp hetzelfde als 'parenb -parodd cs7' � ispeed N de invoersnelheid op N zetten * line N lijnprotocol N gebruiken min N met '-icanon': minimum voor complete leesopdracht is N tekens ospeed N de uitvoersnelheid op N zetten � oddp hetzelfde als 'parenb parodd cs7' -oddp hetzelfde als '-parenb cs8' [-]parity hetzelfde als '[-]evenp' pass8 hetzelfde als '-parenb -istrip cs8' -pass8 hetzelfde als 'parenb istrip cs7' � raw hetzelfde als '-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0' -raw hetzelfde als 'cooked' � sane hetzelfde als 'cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke', met alle speciale tekens op hun standaardwaarden � stop TEKEN TEKEN stopt de uitvoer susp TEKEN TEKEN zendt een terminal-stopsignaal * swtch TEKEN TEKEN schakelt naar een andere shell-laag * werase TEKE TEKEN verwijdert het laatst getypte woord � %% een enkel %-teken %b ARGUMENT interpreteren als tekenreeks met bovenstaande '\'-codes, behalve dat octale codes van de vorm \0 of \0NNN zijn Verder worden alle C-opmaakcodes begrepen die eindigen op een van de tekens uit 'diouxXfeEgGcs', waarbij de ARGUMENTen eerst geconverteerd worden naar het juiste type. Variabele breedtes worden begrepen. � %A de volledige naam van de dag volgens de taalregio, (bijv. zondag) %b de afgekorte naam van de maand volgens de taalregio (bijv. jan) %B de volledige naam van de maand volgens de taalregio (bijv. januari) %c de datum/tijd volgens de taalregio (bijv. za 01 okt 2005 16:57:09 CEST) � %C de eeuw; als %Y maar zonder de laatste twee cijfers (bijv. 20) %d de dag in de maand (bijv. 01) %D de datum op Amerikaanse manier; hetzelfde als %m/%d/%y %e de dag in de maand, met voorloopspatie; hetzelfde als %_d � %F de volledige datum op ISO-manier; hetzelfde als %Y-%m-%d %g de laatste twee cijfers van het jaar van het ISO-weeknummer (zie %G) %G het jaar van het ISO-weeknummer (zie %V); normaal alleen nuttig met %V � %S de seconde (00...60) (60 kan ook, vanwege schrikkelseconde) %t een horizontale tab %T de tijd; hetzelfde als %H:%M:%S %u de dag van de week (1...7); 1 is maandag � %U weeknummer in het jaar, met zondag als eerste dag van de week (00...53) %V ISO-weeknummer, met maandag als eerste dag van de week (01...53) %w de dag van de week (0...6); 0 is zondag %W weeknummer in het jaar, met maandag als eerste dag van de week (00...53) � %d apparaatnummer in decimaal %D apparaatnummer in hex %f ruwe modus in hex %F bestandstype %g groeps-ID van eigenaar %G groepsnaam van eigenaar � %h aantal harde koppelingen %i inode-nummer %m aankoppelingspunt %n bestandsnaam %N aangehaalde bestandsnaam (plus doel bij een symbolische koppeling) %o hint voor optimale blokgrootte voor invoer/uitvoer %s totale grootte, in bytes %t hoofdapparaattype in hex %T subapparaattype in hex � %h hetzelfde als %b %H het uur (00...23) %I het uur (01...12) %j de dag in het jaar (001...366) � %i bestandssysteem-ID in hex %l maximum lengte van bestandsnamen %n bestandsnaam %s optimale grootte van transportblok %S fundamentele blokgrootte (voor blokaantallen) %t bestandssysteemtype in hex %T bestandssysteemtype in leesbare vorm � %k het uur, met voorloopspatie ( 0...23); hetzelfde als %_H %l het uur, met voorloopspatie ( 1...12); hetzelfde als %_I %m de maand (01...12) %M de minuut (00...59) � %n een nieuwe regel %N de nanoseconden (000000000...999999999) %p het equivalent van AM of PM volgens de taalregio; meestal blanco %P als %p maar in kleine letters %r de tijd in 12-uursaanduiding volgens de taalregio (bijv. 11:11:04 PM) %R de tijd in 24-uursaanduiding; hetzelfde als %H:%M %s de seconden sinds 1970-01-01 00:00:00 UTC � %u gebruikers-ID van eigenaar %U gebruikersnaam van eigenaar %w tijdstip van ontstaan van bestand, of '-' als onbekend %W tijdstip van ontstaan, in seconden sinds Epoch, of 0 als onbekend %x tijdstip van laatste toegang %X tijdstip van laatste toegang, in seconden sinds Epoch %y tijdstip van laatste wijziging %Y tijdstip van laatste wijziging, in seconden sinds Epoch %z tijdstip van laatste verandering %Z tijdstip van laatste verandering, in seconden sinds Epoch � %x de datumweergave volgens de taalregio (bijv. 31-12-05) %X de tijdweergave volgens de taalregio (bijv. 23:13:48) %y de laatste twee cijfers van het jaar (00...99) %Y het jaar � %z numerieke tijdzone in de vorm +hhmm (bijv. -0400) %:z numerieke tijdzone in de vorm +hh:mm (bijv. -04:00) %::z numerieke tijdzone in de vorm +hh:mm:ss (bijv. -04:00:00) %:::z numerieke tijdzone zonder onnodige nakomende nullen (bijv. -04) %Z Engelse letterafkorting voor de tijdzone (bijv. CEST) Standaard gebruikt 'date' voorloopnullen bij numerieke velden. � + SYMBOOL SYMBOOL als tekenreeks interpreteren, zelfs als het een sleutelwoord of operator is, zoals 'match' of '/' ( EXPRESSIE ) waarde van EXPRESSIE � +EERSTE_PAGINA[:LAATSTE_PAGINA], --pages=EERSTE_PAGINA[:LAATSTE_PAGINA] met afdrukken beginnen bij EERSTE_PAGINA (en stoppen bij LAATSTE_PAGINA) -KOLOMMEN, --columns=KOLOMMEN dit aantal kolommen gebruiken, en verticaal afdrukken tenzij '-a' gegeven is; het aantal regels per kolom voor elke pagina gelijk houden � - +OPMAAK (bijvoorbeeld: +%H:%M) voor een opmaak zoals met 'date' � --output-delimiter=REEKS deze tekenreeks als kolomscheiding gebruiken � --userspec=GEBRUIKER:GROEP te gebruiken gebruiker en groep (ID of naam) --groups=GROEPENLIJST extra groepen (kommagescheiden lijst) � -0, --null regels afsluiten met 0-byte, niet met nieuweregel -a, --all waardes tonen voor alle bestanden, niet alleen mappen --apparent-size werkelijke groottes tonen in plaats van schijfbeslag; hoewel meestal kleiner, kan de werkelijke grootte ook groter zijn dan het schijfbeslag, bijvoorbeeld bij luchtige bestanden (met onopgeslagen gaten), interne fragmentatie, indirecte blokken en dergelijke � -0, --null elke regel afsluiten met 0-byte, niet met nieuweregel � -A, --auto-reference bestandsnaam- en regelnummer toevoegen -G, --traditional meer zoals de oude 'ptx' van System V -F, --flag-truncation=TEKST tekenreeks die zinsafbrekingen aangeeft � -C de items in kolommen presenteren --color[=WANNEER] bestandstypen met kleuren onderscheiden; WANNEER is 'always' (altijd), 'never' (nooit), of 'auto' (uitvoerapparaatafhankelijk); zie hieronder voor meer informatie -d, --directory de mappen zelf tonen in plaats van hun inhoud, en symbolische koppelingen niet volgen -D, --dired uitvoer produceren voor de 'dired'-modus van Emacs � -D alle componenten van DOEL aanmaken behalve de laatste, dan BRON naar DOEL kopiëren -g, --group=GROEP deze groep instellen i.p.v. groep van huidig proces -m, --mode=MODUS deze toegangsrechten instellen i.p.v. 'rwxr-xr-x' -o, --owner=GEBRUIKER deze eigenaar instellen (alleen voor systeembeheerder) � -D, --all-repeated[=SCHEIDINGSMETHODE] alle regels tonen die meerdere keren voorkomen; SCHEIDINGSMETHODE kan zijn: 'none' (niets, standaard), 'prepend' (voorvoegen) of 'separate' (gescheiden); het scheiden wordt gedaan een blanco regel -f, --skip-fields=N de eerste N velden niet vergelijken -i, --ignore-case verschil tussen hoofd- en kleine letters negeren -s, --skip-chars=N de eerste N tekens niet vergelijken -u, --unique alleen unieke regels tonen -z, --zero-terminated regels afsluiten met 0-byte, niet met nieuweregel � -D, --date-format=OPMAAK te gebruiken opmaak voor de kopdatum -e, --expand-tabs[=TEKEN[BREEDTE]] elk TEKEN (standaard de tab) in de invoer vervangen door BREEDTE (standaard 8) aan spaties -F, -f, --form-feed nieuwepagina-tekens i.p.v. nieuweregel-tekens gebruiken om pagina's te scheiden; paginakop bekorten van 5 tot 3 regels en geen paginavoet printen � -G, --no-group bij een uitgebreide lijst geen groepsnaam tonen -h, --human-readable groottes in leesbare vorm tonen (bijv. 15K, 234M) --si idem, maar machten van 1000 i.p.v. 1024 gebruiken � -H, --dereference-command-line symbolische koppelingen op opdrachtregel volgen --dereference-command-line-symlink-to-dir symbolische koppelingen op opdrachtregel die naar een map verwijzen volgen --hide=PATROON de namen die voldoen aan PATROON niet tonen (geldt niet samen met '-a' of '-A') � -I voor het verwijderen van meer dan drie bestanden, of bij recursieve verwijdering, om bevestiging vragen; dit is minder beperkend dan '-i', maar biedt toch bescherming tegen de meeste vergissingen --interactive[=WANNEER] al dan niet om bevestiging vragen; WANNEER kan zijn: 'never' (nooit), 'once' (-I), of 'always' (-i); zonder WANNEER altijd vragen � -L BESTAND waar als bestand een symbolische koppeling is (== '-h') -O BESTAND waar als uw effectieve gebruikers-ID het bestand bezit -p BESTAND waar als bestand een benoemde pijp is -r BESTAND waar als bestand voor u leesbaar is -s BESTAND waar als bestand niet leeg is � -L, --dereference symbolische koppelingen volgen -f, --file-system status tonen van bestandssysteem i.p.v. van bestand � -L, --logical PWD uit de omgeving gebruiken, zelfs als deze symbolische koppelingen bevat -P, --physical alle symbolische koppelingen vermijden � -M, --macro-name=NAAM te gebruiken macronaam in plaats van 'xx' -O, --format=roff als uitvoer 'nroff'-directieven produceren -R, --right-side-refs referenties rechts, niet meetellen in '-w' -S, --sentence-regexp=REGEXP definieert eind van regels of eind van zinnen -T, --format=tex als uitvoer 'TeX'-directieven produceren � -N, --read-bytes=AANTAL uitvoer beperken tot dit aantal bytes van invoer -S, --strings[=AANTAL] alleen symboolnamen tonen, van minstens deze lengte -t, --format=TYPE te gebruiken type opmaak voor de uitvoer -v, --output-duplicates duplicaten tonen, i.p.v. '*' voor regelweglating -w, --width[=AANTAL] aantal te tonen bytes per uitvoerregel --traditional ook argumenten in traditionele vorm accepteren � -P, --no-dereference symbolische koppelingen niet volgen (standaard) -S, --separate-dirs de grootte van submappen niet meetellen --si als '-h', maar machten van 1000 i.p.v. 1024 gebruiken -s, --summarize voor elk gegeven argument alleen een totaal tonen � -R, --recursive bestanden en mappen recursief behandelen � -R, --recursive bestanden en mappen recursief behandelen � -R, -r, --recursive mappen recursief kopiëren --reflink[=WHEN] kloon/CoW-kopieën controleren; zie hieronder --remove-destination elke bestaande doelmap verwijderen voordat u deze probeert te openen (anders dan '--force') � -S op bestandsgrootte sorteren --sort=WIJZE te gebruiken sorteerwijze; WIJZE kan zijn: 'size' (-S), 'time' (-t), 'none' (-U), 'version' (-v), 'extension' (-X) --time=SOORT met '-l': te tonen soort tijd; SOORT kan zijn: 'atime' of 'access' of 'use' (-u), 'ctime' of 'status' (-c) � -S BESTAND waar als bestand een socket is -t DSCRIPTR waar als deze bestandsdescriptor geopend is op een terminal -u BESTAND waar als bestand SETUID is -w BESTAND waar als bestand voor u schrijfbaar is -x BESTAND waar als bestand door u uitvoerbaar (of doorzoekbaar) is � -S, --suffix=SUFFIX te gebruiken achtervoegsel voor reservekopieën -t, --target-directory=MAP map waarin de koppelingen gemaakt moeten worden -T, --no-target-directory KOPPELINGSNAAM als een normaal bestand behandelen -v, --verbose naam en doel van elke gemaakte koppeling tonen � -S[TEKST], --sep-string[=TEKST] kolommen scheiden door TEKST; zonder '-S' is deze tekst standaard een TAB-teken als met '-J', anders een spatie (hetzelfde als '-S" "'); heeft geen invloed op kolomopties -t, --omit-header paginakop- en voetteksten weglaten � -T, --omit-pagination paginakop- en voetteksten weglaten en nieuwepagina-tekens in de invoer negeren -v, --show-nonprinting octale backslash- notatie gebruiken voor stuurcodes -w, --width=PAGINABREEDTE te gebruiken paginabreedte (standaard 72) bij meerdere tekstkolommen; -s[TEKEN] schakelt de standaardbreedte uit � -T, -w, --mesg berichtenstatus van gebruiker toevoegen als '+', '-' of' ?' -u, --users de ingelogde gebruikers tonen --message hetzelfde als '-T' --writable hetzelfde als '-T' � -W, --page-width=PAGINABREEDTE te gebruiken paginabreedte (standaard 72); lange regels afkappen, tenzij '-J' gegeven is; '-S' en '-s' hebben geen invloed � -W, --word-regexp=REGEXP REGEXP definieert sleutelwoorden -b, --break-file=BESTAND woordafbreektekens staan in dit BESTAND -f, --ignore-case kleine letters als hoofdletters beschouwen -g, --gap-size=GETAL ruimte (in kolommen) tussen uitvoervelden -i, --ignore-file=BESTAND BESTAND met woorden die niet meedoen -o, --only-file=BESTAND BESTAND met woorden die alleen meedoen � -Z, --context=CTX te gebruiken beveiligingscontext voor NAAM � -Z, --context=CTX te gebruiken beveiligingscontext voor elke aangemaakte pijp � -a alleen de toegangstijd veranderen -c, --no-create geen nieuwe bestanden aanmaken -d, --date=TEKST deze TEKST interpreteren en als tijdsstempel gebruiken in plaats van de huidige tijd -f (genegeerde optie) � -a, --across kolommen horizontaal i.p.v. verticaal afdrukken (wordt samen met -KOLOMMEN gebruikt) -c, --show-control-chars dakje-notatie (^G) en octale backslash-notatie gebruiken -d, --double-space tussen elk paar regels een lege regel toevoegen � -a, --all ook de namen tonen die beginnen met een '.' -A, --almost-all als '-a', maar de items '.' en '..' weglaten --author met '-l': de auteur van elk bestand tonen -b, --escape niet-grafische tekens tonen als codes in C-stijl � -a, --all ook pseudobestandssystemen tonen -B, --block-size=GROOTTE de te tonen groottes schalen naar deze waarde; '-BM' bijvoorbeeld toont de groottes in eenheden van 1.048.576 bytes; zie hieronder voor meer info --total een eindtotaal tonen -h, --human-readable groottes in leesbare vorm tonen (bijv. 1K, 234M, 2G) -H, --si idem, maar machten van 1000 i.p.v. 1024 gebruiken � -a, --all alle huidige instellingen in leesbare vorm tonen -g, --save alle huidige instellingen in herbruikbare vorm tonen -F, --file=APPARAAT te gebruiken apparaat in plaats van standaardinvoer � -a, --all alle witruimte omzetten, niet alleen die aan regelbegin --first-only alleen beginwitruimte omzetten (gaat boven '-a') -t, --tabs=GETAL te gebruiken tabbreedte in plaats van 8 (activeert '-a') -t, --tabs=LIJST kommagescheiden lijst van te gebruiken tabposities (idem) � -a, --archive hetzelfde als '-dR --preserve=all' --attributes-only alleen eigenschappen kopiëren, niet bestandsinhoud --backup[=METHODE] van elk bestemmingsbestand een reservekopie maken -b als '--backup', maar accepteert geen argument --copy-contents de inhoud van speciale bestanden kopiëren als er recursief gekopieerd wordt -d hetzelfde als '--no-dereference --preserve=links' � -a, --multiple meerdere argumenten toestaan en elk als NAAM behandelen -s, --suffix=AVGSL dit achtervoegsel verwijderen -z, --zero elke regel afsluiten met 0-byte, niet met nieuweregel � -a, --suffix-length=L achtervoegsels gebruiken met deze lengte (standaard %d) --additional-suffix=AVGSL dit achtervoegsel achter bestandsnamen plakken -b, --bytes=N dit aantal bytes in elk uitvoerbestand plaatsen -C, --line-bytes=N als '-b' maar bij voorkeur afbreken op regeleinden -d, --numeric-suffixes[=VANAF] cijfers i.p.v. letters als achtervoegsels; VANAF wijzigt de startwaarde (standaard 0) -e, --elide-empty-files met '-n': geen lege bestanden produceren --filter=COMMANDO naar dit commando schrijven; bestandsnaam is $FILE -l, --lines=AANTAL dit aantal regels in elk uitvoerbestand plaatsen -n, --number=BROKKEN dit soort uitvoerbestanden produceren; zie hieronder -u, --unbuffered invoer direct naar uitvoer kopiëren met '-n r/...' � -b, --before scheider vóór i.p.v. achter de regel plaatsen -r, --regex scheider als reguliere expressie interpreteren -s, --separator=TEKST deze scheider gebruiken in plaats van nieuweregel � -b, --binary in binaire modus lezen � -b, --binary in binaire modus lezen (standaard, behalve bij standaardinvoer) � -b, --body-numbering=STIJL te gebruiken stijl voor regelnummering -d, --section-delimiter=TT te gebruiken tekenpaar voor paginascheiding -f, --footer-numbering=STIJL stijl voor de nummering van voetregels � -b, --bytes bytes tellen in plaats van tekens -s, --spaces bij voorkeur afbreken op spaties -w, --width=GETAL te gebruiken afbreekbreedte in plaats van 80 � -b, --bytes=LIJST alleen deze bytes tonen -c, --characters=LIJST alleen deze tekens tonen -d, --delimiter=TEKEN dit veldscheidingsteken gebruiken in plaats van TAB � -b, --ignore-leading-blanks voorloopwitruimte negeren -d, --dictionary-order alleen witruimte, letters en cijfers beschouwen -f, --ignore-case kleine letters als hoofdletters beschouwen � -b, --suffix-format=OPMAAK te gebruiken sprintf-opmaak in plaats van '%02d' -f, --prefix=VOORVOEGSEL te gebruiken voorvoegsel in plaats van 'xx' -k, --keep-files uitvoerbestanden niet verwijderen bij fouten � -c --format=OPMAAK te gebruiken opmaak in plaats van de standaardopmaak; elk gebruik van OPMAAK met nieuweregel afsluiten --printf=OPMAAK als '--format', maar backslash-codes interpreteren, en geen automatische nieuweregel toevoegen; als u een nieuweregel wilt, voeg dan \n toe in OPMAAK -t, --terse de informatie in beknopte vorm tonen � -c, --bytes=K de laatste K bytes uitvoeren; bij '-c +K' worden de bytes beginnend met Kde van elk bestand uitgevoerd � -c, --bytes=[-]N de eerste N bytes van elk bestand tonen; met een minteken, alle bytes behalve de laatste N -n, --lines=[-]N de eerste N regels tonen (i.p.v. de eerste 10); met een minteken, alle regels behalve de laatste N � -c, --changes een melding geven voor elk veranderd bestand -f, --silent, --quiet de meeste foutmeldingen onderdrukken -v, --verbose een melding geven voor elk gezien bestand � -c, --check %s-controlesommen uit BESTAND(en) lezen en controleren � -c, --check, --check=diagnose-first controleren of invoer gesorteerd is; niet sorteren -C, --check=quiet, --check=silent als '-c', maar geen melding geven bij de eerste verkeerde regel --compress-program=PROG tijdelijke bestanden met PROG comprimeren; decomprimeren met 'PROG -d' � -c, --count het aantal gelijke regels vooraan de regel zetten -d, --repeated alleen de regels tonen die meerdere keren voorkomen � -c, --crown-margin inspringing van eerste twee regels behouden -p, --prefix=TEKST alleen regels die beginnen met deze TEKST opnieuw indelen, daarbij TEKST opnieuw voorvoegen -s, --split-only lange regels splitsen maar niet opnieuw uitvullen � -c, --no-create geen bestanden aanmaken � -d, --date=DATUMTIJD deze DATUMTIJD tonen i.p.v. de huidige tijd -f, --file=DATUMTIJDBESTAND als '--date' voor elke regel in DATUMTIJDBESTAND -I[PRECISIE], --iso-8601[=PRECISIE] datum en tijd in ISO 8601-opmaak tonen; PRECISIE kan zijn: 'date' voor alleen de datum (standaard), 'hours', 'minutes', 'seconds' of 'ns' voor datum+tijd in de aangegeven precisie � -d, --decode de gegevens decoderen -i, --ignore-garbage (bij decoderen) niet-alfabetische tekens negeren -w, --wrap=AANTAL naar de volgende regel gaan na dit aantal gecodeerde tekens (standaard 76); gebruik 0 voor één lange regel � -d, --delimiters=LIJST te gebruiken scheidingstekens in plaats van tabs -s, --serial de bestanden als rijen samenvoegen � -d, --directory een map aanmaken, geen bestand -u, --dry-run niets aanmaken; enkel een naam tonen (onveilig) -q, --quiet foutmeldingen over mislukte aanmakingen onderdrukken � -e interpretatie van backslash escape-tekens inschakelen -E interpretatie van backslash escape-tekens uitschakelen (standaard) � -e interpretatie van onderstaande codes inschakelen (standaard) -E interpretatie van onderstaande codes uitschakelen � -e, --canonicalize-existing alle componenten van het pad moeten bestaan -m, --canonicalize-missing geen van de componenten van pad hoeft te bestaan -L, --logical '..'-componenten herleiden vóór sym-koppelingen -P, --physical symbolische koppelingen direct herleiden (standaard) -q, --quiet de meeste foutmeldingen onderdrukken --relative-to=BESTAND het herleide pad relatief tot BESTAND tonen --relative-base=MAP absolute paden tonen behalve wanneer onder MAP -s, --strip, --no-symlinks symbolische koppelingen niet herleiden -z, --zero uitvoer met NUL-tekens scheiden i.p.v. LF-tekens � -e, --echo gegeven ARGUMENTen als invoerregels gebruiken -i, --input-range=LG-HG getallenreeks van LG tot HG als invoerregels zien -n, --head-count=AANTAL maximum aantal uit te voeren regels -o, --output=BESTAND uitvoer naar BESTAND i.p.v. naar standaarduitvoer --random-source=BSTND bestand BSTND is bron van willekeurige bytes -z, --zero-terminated regels afsluiten met 0-byte, niet met nieuweregel � -f hetzelfde als '-a -U' zonder '-l -s --color' -F, --classify achter elk item het type aanduiden (één van */=>@|) --file-type idem, maar '*' niet tonen --format=WOORD te gebruiken opmaak; WOORD kan zijn 'commas' (-m), 'across' of 'horizontal' (-x), 'vertical' (-C), 'long' of 'verbose' (-l), 'single-column' (-1) --full-time hetzelfde als '-l --time-style=full-iso' � -f de kopregel weglaten in de korte uitvoer -w de volledige naam van de gebruiker weglaten in de korte uitvoer -i de volledige naam en de externe host weglaten in de korte uitvoer -q volledige naam, externe host en inactief weglaten in de korte uitvoer � -f als '-t fF', drijvendekommagetallen tonen -i als '-t dI', decimale korte gehele getallen tonen -l als '-t dL', decimale lange gehele getallen tonen -o als '-t o2', octale getallen van 2 bytes tonen -s als '-t d2', decimale getallen van 2 bytes tonen -x als '-t x2', hexadecimale getallen van 2 bytes tonen � -f BESTAND waar als bestand een gewoon bestand is -g BESTAND waar als het bestand SETGUID is -G BESTAND waar als uw effectieve groep het bestand bezit -h BESTAND waar als bestand een symbolische koppeling is (== '-L') -k BESTAND waar als bestand het "sticky"-bit aan heeft staan � -f, --canonicalize canoniek maken door elke koppeling in elke component van het pad recursief te volgen; alle behalve laatste component moeten bestaan -e, --canonicalize-existing canoniek maken door elke koppeling in elke component van het pad recursief te volgen; alle componenten moeten bestaan � -f, --fields=LIJST alleen deze velden tonen; ook alle regels tonen die geen scheidingsteken bevatten, tenzij '-s' gegeven -n (genegeerde optie) � -f, --follow[={name|descriptor}] toegevoegde gegevens tonen terwijl bestand groeit; '-f', '--follow' en '--follow=descriptor' zijn equivalent -F hetzelfde als '--follow=name --retry' � -f, --force als bestaand bestemmingsbestand niet geopend kan worden, het verwijderen en het opnieuw proberen (wordt genegeerd als ook optie '-n' gegeven is) -i, --interactive voor overschrijven om toestemming vragen (gaat boven een eerdere optie '-n') -H gegeven symbolische koppelingen in BRON volgen � -f, --force zo nodig toegangsrechten wijzigen om schrijven toe te staan -n, --iterations=N dit aantal malen overschijven (i.p.v. de standaard %d) --random-source=BSTND bestand BSTND is bron van willekeurige bytes -s, --size=N dit aantal bytes vernietigen (achtervoegsels als K, M, G mogen) � -f, --format=OPMAAK te gebruiken drijvendekomma-opmaak (als bij 'printf') -s, --separator=TEKST te gebruiken getallenscheiding (standaard: \n) -w, --equal-width breedte gelijkmaken door toevoegen van voorloopnullen � -g als '-l', maar geen eigenaar tonen � -g GID[,GID1...] primaire groeps-ID instellen op gegeven numeriek GID, en (indien gegeven) aanvullende groeps-ID's op GID1,... � -g, --general-numeric-sort volgens algemene numerieke waarden vergelijken -i, --ignore-nonprinting alleen afdrukbare tekens beschouwen -M, --month-sort ordenen: (onbekend) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STIJL stijl voor de nummering van kopregels -i, --page-increment=GETAL regelnummer na elke regel met dit getal ophogen -l, --join-blank-lines=AANTAL dit aantal lege regels als één regel tellen -n, --number-format=OPMAAK te gebruiken OPMAAK voor regelnummers -p, --no-renumber regelnummer niet resetten bij logische pagina's -s, --number-separator=TEKST toe te voegen tekst na (mogelijk) regelnummer � -h, --header=KOPTEKST gecentreerde tekst ipv bestandsnaam gebruiken in paginakop; '-h ""' zou een blanco regel printen; gebruik niet '-h""' -i[TEKEN[BREEDTE]], --output-tabs[=TEKEN[BREEDTE]] BREEDTE (standaard 8) aan spaties vervangen door TEKEN (standaard een tab) -J, --join-lines volle regels aan elkaar plakken; schakelt regelafbreking van '-W' uit; kolommen worden niet uitgelijnd; '--sep-string[=TEKST]' stelt scheidingstekens in � -h, --human-numeric-sort leesbare getallen vergelijken (bijv.: 2K 1G) � -h --no-dereference symbolische koppelingen bewerken in plaats van de bestanden waarnaar ze verwijzen (alleen nuttig op systemen waar het tijdsstempel van een symbolische koppeling veranderd kan worden) -m alleen de wijzigingstijd veranderen � -i, --ignore-case verschil in hoofd- en kleine letters negeren -j VELD hetzelfde als '-1 VELD -2 VELD' -o OPMAAK te gebruiken opmaak (zie onder) van elke uitvoerregel -t TEKEN te gebruiken veldscheidingsteken voor invoer en uitvoer � -i, --ignore-environment alle ongenoemde omgevingsvariabelen verwijderen -0, --null elke regel afsluiten met een 0-byte, niet met nieuweregel -u, --unset=NAAM de genoemde variabele uit de omgeving verwijderen � -i, --initial tabs na niet-witruimte niet converteren -t, --tabs=GETAL te gebruiken tabbreedte in plaats van 8 � -i, --inodes inode-informatie tonen in plaats van blokgebruik -k hetzelfde als '--block-size=1K' -l, --local de opsomming beperken tot lokale bestandssystemen --no-sync geen 'sync' doen vóór ophalen van info (standaard) � -i, --input=MODUS de standaardinvoer-streambuffering aanpassen -o, --output=MODUS de standaarduitvoer-streambuffering aanpassen -e, --error=MODUS de standaardfoutuitvoer-streambuffering aanpassen � -i, --interactive vragen of reeds bestaande namen verwijderd mogen -L, --logical naar diens doel koppelen als DOEL symbolisch is -n, --no-dereference KOPPELINGSNAAM als normaal bestand behandelen als het een symbolische koppeling naar een map is -P, --physical harde koppelingen direct naar symbolische maken -r, --relative symbolische koppelingen relatief maken t.o.v. plek -s, --symbolic symbolische in plaats van harde koppelingen maken � -k hetzelfde als '--block-size=1K' -L, --dereference alle symbolische koppelingen volgen -l, --count-links de grootte tellen voor elke harde koppeling -m hetzelfde als '--block-size=1M' � -k, --key=SLEUTELOPGAVE sorteren via een sleutel; de SLEUTELOPGAVE geeft locatie en type (zie hieronder) -m, --merge gesorteerde bestanden samenvoegen; niet sorteren � -l uitgebreide bestandsinformatie tonen -L, --dereference bij het tonen van bestandsinformatie voor een symbolische koppeling, de informatie over het bestand waar de koppeling naar verwijst tonen in plaats van over de koppeling zelf -m geen kolommen maar kommagescheiden lijst tonen � -l, --length=PAGINALENGTE te gebruiken paginalengte (standaard 66 regels -- waarvan 56 regels tekst en met '-F 63') -m, --merge de bestanden naast elkaar printen, elk in een kolom; lange regels afkappen, tenzij '-J' gegeven is � -l, --link harde koppelingen maken in plaats van kopieën -L, --dereference symbolische koppelingen in BRON altijd volgen � -l, --login de inlogprocessen tonen � -m, --mode=MODUS in te stellen rechten (zie 'chmod'), i.p.v. 'a=rw - umask' � -m, --mode=MODUS in te stellen rechten (zie 'chmod'), i.p.v. 'a=rwx - umask' -p, --parents bovenliggende mappen aanmaken, indien nodig; en geen fout melden als een map al bestaat -v, --verbose een melding geven voor elke aangemaakte map -Z, --context=CTX te gebruiken beveiligingscontext voor elke aangemaakte map � -n, --adjustment=GETAL dit getal (standaard 10) optellen bij de beleefdheid � -n, --digits=AANTAL te gebruiken aantal cijfers in plaats van 2 -s, --quiet, --silent de lengte van de uitvoerbestanden niet tonen -z, --elide-empty-files lege uitvoerbestanden verwijderen � -n, --lines=K de laatste K regels tonen i.p.v. de laatste %d; '-n +K' toont de regels vanaf de Kde --max-unchanged-stats=N met '--follow=name', een BESTAND heropenen als diens grootte na N iteraties (standaard %d) onveranderd is, om te zien of het is ontkoppeld of hernoemd (gebruikelijk bij roterende logbestanden); met 'inotify' is deze optie zelden nuttig � -n, --no-clobber bestaande bestanden niet overschrijven (gaat boven een eerdere optie '-i') -P, --no-dereference geen symbolische koppelingen in BRON volgen � -n, --numeric-sort ordenen volgens numerieke waarden -R, --random-sort ordenen op willekeurige hash van sleutels --random-source=BSTND willekeurige bytes uit dit bestand halen -r, --reverse het resultaat van de vergelijking omkeren � -n, --numeric-uid-gid als '-l', met numerieke gebruikers- en groeps-ID's -N, --literal de ruwe itemnamen tonen (dus bijvoorbeeld stuurcodes niet speciaal behandelen) -o als '-l', maar groepsinformatie niet tonen -p, --indicator-style=slash een '/'-indicator achter mapnamen toevoegen � -n[TEKEN[AANTAL]], --number-lines[=TEKEN[AANTAL]] regels nummeren (met gegeven AANTAL cijfers (standaard 5) en daarna TEKEN (standaard een tab)); het tellen begint standaard bij de eerste regel van het invoerbestand -N, --first-line-number=GETAL te gebruiken regelnummer voor de eerste te printen regel op de eerste te printen pagina (zie +EERSTEPAGINA) � -o, --indent=MARGE elke regel dit aantal spaties (standaard nul) naar rechts verschuiven; heeft geen invloed op '-w' en '-W'; de MARGE wordt opgeteld bij PAGINABREEDTE -r, --no-file-warnings geen waarschuwing geven als bestand niet geopend kan worden � -o, --io-blocks GROOTTE zien als aantal IO-blokken in plaats van bytes � -o, --output=BESTAND resultaat naar BESTAND i.p.v. naar standaarduitvoer -s, --stable het sorteren stabiliseren door uitschakelen van de noodvergelijking als niets werkt -S, --buffer-size=GROOTTE te gebruiken grootte voor hoofdgeheugenbuffer � -p hetzelfde als '--preserve=mode,ownership,timestamps' --preserve[=LIJST] de genoemde eigenschappen indien mogelijk behouden (standaard zijn: mode,ownership,timestamps -- oftewel modus, eigenaar en tijdsstempels; verdere mogelijkheden zijn: context, links, xattr, all) � -p MAP deze MAP als voorvoegsel gebruiken; impliceert '-t' [deze optie is verouderd en wordt ontraden] -t SJABLOON als een enkele bestandsnaamcomponent gebruiken, relatief ten opzichte een map: $TMPDIR, indien ingesteld; anders de map gegeven via '-p'; anders /tmp [verouderd] � -p, --parents de gegeven MAP en ieder onderdeel van diens pad verwijderen; bijv. 'rmdir -p a/b/c' is gelijk aan 'rmdir a/b/c a/b a' -v, --verbose tonen wat er gedaan wordt � -p, --preserve-timestamps alle tijdsstempels van bronbestanden overnemen in de overeenkomstige bestemmingsbestanden -s, --strip symbooltabellen uit programma's verwijderen --strip-program=PRGRMM te gebruiken programma voor het strippen -S, --suffix=ACHTERVOEGSEL te gebruiken achtervoegsel voor reservekopieën -t, --target-directory=MAP alle BRON-argumenten naar MAP kopiëren -T, --no-target-directory DOEL als een normaal bestand behandelen -v, --verbose de naam van elke aangemaakte map tonen � -q, --count de namen van en het totaal aantal ingelogde gebruikers -r, --runlevel het huidige run-level tonen -s, --short alleen naam, terminal, en inlogtijd tonen (standaard) -t, --time de laatste wijziging van de systeemklok tonen � -q, --hide-control-chars een '?' tonen in plaats van niet-grafische tekens --show-control-chars niet-grafische tekens tonen zoals ze zijn (standaard, tenzij uitvoer naar terminal gaat) -Q, --quote-name items omsluiten met aanhalingstekens --quoting-style=STIJL te gebruiken aanhalingsstijl voor items; STIJL kan zijn: 'literal' (-N), 'locale', 'shell', 'shell-always', 'c' (-Q), 'escape' (-b) � -q, --quiet, --silent geen bestandsnaamkopjes tonen -v, --verbose altijd bestandsnaamkopjes tonen � -r, --reference=BESTAND de laatste wijzigingstijd van dit bestand tonen -R, --rfc-2822 datum en tijd in RFC 2822-opmaak tonen; bijvoorbeeld: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=BESTAND de tijdsstempels van dit bestand gebruiken -t STEMPEL [[CC]YY]MMDDhhmm[.ss] gebruiken i.p.v. huidige tijd --time=SOORT alleen dit soort tijdsstempel instellen; SOORT mag zijn: 'access', 'atime' of 'use': hetzelfde als '-a'; 'modify' of 'mtime': hetzelfde als '-m' � -r, --reference=BESTAND de grootte van dit BESTAND gebruiken -s, --size=GROOTTE deze GROOTTE gebruiken � -r, --references eerste veld van elke regel is een referentie -t, --typeset-mode (niet geïmplementeerd) -w, --width=GETAL uitvoerbreedte in kolommen, zonder referentie � -r, --reverse de sorteervolgorde omdraaien -R, --recursive submappen recursief tonen -s, --size toegewezen aantal blokken tonen voor ieder bestand � -s, --only-delimited alleen regels tonen die scheidingstekens bevatten --output-delimiter=TEKST deze tekst als uitvoerscheiding gebruiken; standaard het invoerscheidingsteken � -s, --signal=SIGNAAL, -SIGNAAL naam of nummer van het te verzenden signaal -l, --list alle beschikbare signaalnamen opsommen, of een gegeven signaalnaam converteren naar een nummer of omgekeerd -t, --table een tabel met signaalnummers, -namen en betekenissen tonen � -s, --sleep-interval=N met '-f': tussen twee iteraties ongeveer N seconden slapen (standaard 1 seconde); met 'inotify' en '--pid=P': dit proces P minstens eens per N seconden controleren -v, --verbose altijd bestandsnaamkopjes tonen � -s, --symbolic-link symbolische koppeling maken i.p.v. kopie -S, --suffix=SUFFIX te gebruiken achtervoegsel voor reservekopieën -t, --target-directory=MAP alle BRON-argumenten naar MAP kopiëren -T, --no-target-directory BESTEMMING behandelen als een normaal bestand � -s[TEKEN], --separator[=TEKEN] kolommen scheiden door een enkel TEKEN; dit teken is standaard het TAB-teken (zonder '-w') of geen (met '-w'); -s[TEKEN] schakelt regelafkapping uit voor de drie kolomopties ('-KOLOMMEN'|'-a -KOLOMMEN'|'-m') behalve als ook '-w' gegeven is � -t op de tijd van laatste wijziging sorteren -T, --tabsize=AANTAL te gebruiken tabbreedte in plaats van 8 � -t hetzelfde als '-vT' -T, --show-tabs tab-tekens weergeven met ^I -u (genegeerde optie) -v, --show-nonprinting notatie met ^ en M- gebruiken, behalve voor LF/TAB � -t, --field-separator=TKN veldscheidingsteken i.p.v. overgang naar witruimte -T, --temporary-directory=MAP te gebruiken map voor tijdelijke bestanden, in plaats van $TMPDIR of %s; meerdere opties geven meerdere mappen --parallel=AANTAL te gebruiken aantal parallelle sorteerprocessen -u, --unique zonder '-c': van gelijken alleen de eerste tonen; met '-c': op strikte ordening controleren � -t, --tabs=LIJST kommagescheiden lijst met te gebruiken tab-posities � -t, --tagged-paragraph inspringing van eerste regel verschilt van tweede -u, --uniform-spacing één spatie tussen woorden, twee na een zin -w, --width=GETAL maximale regelbreedte (standaard is 75) -g, --goal=GETAL doelbreedte (standaard 93% van maximale regelbreedte) � -t, --target-directory=MAP alle BRON-argumenten naar deze map verplaatsen -T, --no-target-directory BESTEMMING als een normaal bestand behandelen -u, --update alleen verplaatsen als BRON nieuwer is dan de bestemming of wanneer deze niet bestaat -v, --verbose tonen wat er gedaan wordt � -t, --text in tekstmodus lezen (standaard bij lezen van standaardinvoer) � -t, --text in tekstmodus lezen (standaard) � -u met -lt: op toegangstijd sorteren en deze tonen; met -l: toegangstijd tonen en op naam sorteren; anders: op toegangstijd sorteren -U de items ongesorteerd tonen, op plaatsingsvolgorde -v logisch sorteren op (versie)nummers in de naam � -u, --remove het bestand na het overschrijven afkappen en verwijderen -v, --verbose tonen wat er gedaan wordt -x, --exact bestandslengtes niet naar boven op een vol blok afronden; dit is standaard voor niet-reguliere bestanden -z, --zero tot slot met nullen overschrijven om vernietiging te verhullen � -u, --update alleen kopiëren als BRON nieuwer is dan bestemming of wanneer dit bestand niet bestaat -v, --verbose tonen wat er gedaan wordt -x, --one-file-system binnen dit bestandssysteem blijven � -u, --user=GEBRUIKER deze gebruiker instellen in doel-beveiligingscontext -r, --role=ROL deze rol instellen in de doel-beveiligingscontext -t, --type=TYPE dit type instellen in de doel-beveiligingscontext -l, --range=BEREIK dit bereik instellen in de doel-beveiligingscontext � -v NUMMER als '-a NUMMER', maar samengevoegde regels onderdrukken -1 VELD samenvoegen op dit VELD in bestand 1 -2 VELD samenvoegen op dit VELD in bestand 2 --check-order controleren of de invoer juist gesorteerd is, zelfs als van alle invoerregels paren gemaakt kunnen worden --nocheck-order niet controleren of de invoer juist gesorteerd is --header de eerste regel in elk bestand als veldkoppen behandelen; deze samenvoegen zonder proberen ze te paren � -v, --kernel-version compilatienummer en -datum van de kernel tonen -m, --machine de hardwareklasse van de machine tonen -p, --processor de processornaam tonen (of "unknown") -i, --hardware-platform het hardwareplatform tonen (of "unknown") -o, --operating-system het soort besturingssysteem tonen � -v, --starting-line-number=GETAL eerste regelnummer op elke logische pagina -w, --number-width=AANTAL aantal te gebruiken kolommen voor regelnummers � -v, --verbose een melding geven voor elk gezien bestand � -w, --check-chars=N niet meer dan N tekens per regel vergelijken � -w, --width=BREEDTE te gebruiken schermbreedte i.p.v. huidige waarde -x de items per regel tonen i.p.v. in kolommen -X alfabetisch sorteren op bestandsextensie -Z, --context SELinux-beveiligingscontexten tonen -1 één item per regel tonen � -z, --zero elke regel afsluiten met 0-byte, niet met nieuweregel � -z, --zero-terminated regels afsluiten met 0-byte, niet met nieuweregel � Bestand: "%n" ID: %-8i Naamlengte: %-7l Type: %T Blokgrootte: %-10s Fundamentele blokgrootte: %S Blokkken: totaal: %-10b vrij: %-10f beschikbaar: %a Inodes: totaal: %-10c vrij: %d � Bestand: %N Grootte: %-10s Blokken: %-10b IO-blok: %-6o %F � Processen in een niet-onderbreekbare slaapstatus dragen ook bij aan het belastingsgemiddelde. � [:graph:] alle afdrukbare tekens, exclusief de spatie [:lower:] alle kleine letters [:print:] alle afdrukbare tekens, inclusief spatie [:punct:] alle interpunctietekens [:space:] alle horizontale en verticale witruimte [:upper:] alle hoofdletters [:xdigit:] alle hexadecimale tekens [=TEKEN=] alle tekens die equivalent zijn aan TEKEN � \0NNN byte met octale waarde NNN (1 tot 3 cijfers) \xHH byte met hexadecimale waarde HH (1 tot 2 cijfers/letters) � \NNN byte met octale waarde NNN (1 tot 3 cijfers) \xHH byte met hexadecimale waarde HH (1 of 2 cijfers) \uHHHH Unicode-teken (ISO/IEC 10646) met hexadecimale waarde HHHH (4 cijfers) \UHHHHHHHH Unicode-teken met hexadecimale waarde HHHHHHHH (8 cijfers) � \\ een backslash \a geluidssignaal \b backspace \c geen verdere uitvoer produceren \e escape \f nieuwe pagina (FF-teken) \n nieuwe regel (LF-teken) \r naar begin van regel (CR-teken) \t horizontale tab \v verticale tab � \v verticale tab TEKEN1-TEKEN2 alle tekens van TEKEN1 t/m TEKEN2 in oplopende volgorde [TEKEN*] in SET2: kopieën van TEKEN tot de lengte van SET1 [TEKEN*AANTAL] een specifiek aantal kopieën van TEKEN; AANTAL is octaal als het begint met 0 [:alnum:] alle letters en cijfers [:alpha:] alle letters [:blank:] alle horizontale witruimte [:cntrl:] alle stuurtekens [:digit:] alle cijfers � ascii van EBCDIC naar ASCII ebcdic van ASCII maar EBCDIC ibm van ASCII naar alternatieve EBCDIC block met LF afgesloten records met spaties uitvullen tot 'cbs'-lengte unblock nakomende spaties in records met 'cbs'-lengte vervangen door LF lcase hoofdletters vervangen door kleine letters ucase kleine letters vervangen door hoofdletters sparse proberen te springen i.p.v. schrijven voor blokken met enkel nullen swab elke twee invoerbytes van positie omwisselen sync elk invoerblok uitvullen met NUL-tekens tot 'ibs'-lengte; wanneer samen met 'block' of 'unblock', dan uitvullen met spaties � binary binaire I/O gebruiken voor de gegevens � cio gelijktijdige I/O gebruiken voor de gegevens � count_bytes 'count=N' als een byte-aantal begrijpen (alleen 'iflag') � d[AANTAL] decimaal getal met plus- of minteken, met AANTAL bytes per getal f[AANTAL] drijvendekommagetal, met AANTAL bytes per getal o[AANTAL] octaal getal, met AANTAL bytes per getal u[AANTAl] decimaal getal zonder teken, met AANTAL bytes per getal x[AANTAL] hexadecimaal getal, met AANTAL bytes per getal � direct directe I/O gebruiken voor de gegevens � directory weigeren als het geen map is � dsync gesynchroniseerde I/O gebruiken voor de gegevens � excl weigeren als het uitvoerbestand al bestaat nocreat het uitvoerbestand niet aanmaken notrunc het uitvoerbestand niet verkorten noerror doorgaan ook na leesfouten fdatasync het uitvoerbestand fysiek naar schijf schrijven vóór afsluiten fsync idem, maar ook de metagegevens schrijven � fullblock volledige blokken invoer verzamelen (alleen bij 'iflag') � if=BESTAND uit dit bestand lezen i.p.v. van standaardinvoer iflag=VLAGGEN lezen met deze kommagescheiden eigenschappen obs=BYTES aantal tegelijk te schrijven bytes (standaard: 512) of=BESTAND naar dit bestand schrijven i.p.v. naar standaarduitvoer oflag=VLAGGEN schrijven met deze kommagescheiden eigenschappen seek=BLOKKEN dit aantal 'obs'-blokken aan begin van uitvoer overslaan skip=BLOKKEN dit aantal 'ibs'-blokken aan begin van invoer overslaan status=WATWEG bepaalde informatie naar standaardfoutuitvoer onderdrukken; 'noxfer' onderdrukt verplaatsingsstatistieken; 'none' alles � noatime toegangstijdsstempels niet wijzigen � nocache gecachte gegevens verwerpen � noctty bestand is geen besturende terminal � nofollow symbolische koppelingen niet volgen � nolinks weigeren als bestand meer dan één harde koppeling heeft � nonblock niet-blokkerende I/O gebruiken � none, off nooit reservekopieën maken (zelfs niet met '--backup') numbered, t genummerde reservekopieën maken existing, nil genummerde reserves maken als er al zijn, anders simpele simple, never altijd simpele reservekopieën maken � seek_bytes 'seek=N' als een byte-aantal begrijpen (alleen 'oflag') � skip_bytes 'skip=N' als een byte-aantal begrijpen (alleen 'iflag') � sync idem, maar ook voor de metagegevens � text tekst-I/O gebruiken voor de gegevens � %H:%M � (reservekopie: %s)� * [-]ctlecho stuurtekens in dakjesnotatie tonen (^c) [-]echo invoertekens echoën * [-]echoctl hetzelfde als '[-]ctlecho' [-]echoe hetzelfde als '[-]crterase' [-]echok een nieuweregel-teken echoën na een kill-teken � * [-]echoke hetzelfde als '[-]crtkill' [-]echonl nieuweregel echoën zelfs als geen andere tekens worden geëchood * [-]echoprt verwijderde tekens achterwaarts echoën, tussen '\' en '/' [-]icanon speciale tekens voor erase, kill, werase, en rprnt inschakelen [-]iexten niet-POSIX speciale tekens inschakelen � * [-]iuclc hoofdletters omzetten in kleine letters * [-]ixany elk teken de uitvoer laten herstarten, niet alleen startteken [-]ixoff het zenden van start-/stoptekens inschakelen [-]ixon XON/XOFF-besturing inschakelen [-]parmrk pariteitsfouten markeren (met een 255-0-tekencombinatie) [-]tandem hetzelfde als '[-]ixoff' � * [-]iutf8 aannemen dat invoertekens in UTF-8 gecodeerd zijn � * [-]ocrnl CR-teken (naar regelbegin) omzetten in LF-teken (nieuweregel) * [-]ofdel als opvulling DEL-tekens gebruiken in plaats van NUL-tekens * [-]ofill voor vertragingen opvultekens gebruiken in plaats van pauzes * [-]olcuc kleine letters omzetten in hoofdletters * [-]onlcr LF-teken (nieuweregel) omzetten in CR-teken (naar regelbegin) * [-]onlret 'nieuweregel' voert ook een 'naar regelbegin' uit � * [-]onocr geen 'naar regelbegin' uitvoeren wanneer in de eerste kolom [-]opost na-proces-uitvoer * tabN vertragingsstijl voor horizontale tab; N in [0..3] * tabs hetzelfde als 'tab0' * -tabs hetzelfde als 'tab3' * vtN vertragingsstijl voor verticale tab; N in [0..1] � * eol2 TEKEN alternatief TEKEN voor regeleinde erase TEKEN TEKEN verwijdert het laatst getypte teken intr TEKEN TEKEN zendt een interruptsignaal kill TEKEN TEKEN verwijdert de huidige regel � * lnext TEKEN TEKEN voert het volgende TEKEN aangehaald in quit TEKEN TEKEN zendt een afsluitingssignaal * rprnt TEKEN TEKEN herschrijft de huidige regel start TEKEN TEKEN herstart de uitvoer nadat deze is gestopt � * rows N de kernel laten weten dat de terminal N rijen heeft * size het aantal rijen en kolommen volgens de kernel tonen speed de snelheid van de terminal tonen time N met '-icanon': leestijdslimiet op N tiende seconde instellen � ??:?? � TTY� context=%s� EGID=%s� EUID=%s� GID=%s� groepen=� oud � tijdens herhaling %s �% =1% van het geheugen, b =1, K =1024 (standaard), M =1024*1024, G =1024*M. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. **WAARSCHUWING**: De taalregio gespecificeerd in de omgeving beïnvloedt de sorteervolgorde. Stel 'LC_ALL=C' in voor de traditionele sorteervolgorde die de gewone bytewaarde gebruikt. �%.*s: ongeldige conversiespecificatie�%e %b %Y�%e %b %H:%M�%lu gebruiker�%lu gebruikers�%s (voor reguliere expressie %s)�%s -> %s (uit reservekopie hersteld) �%s [-d] is niet normaal geëindigd�%s en %s zijn hetzelfde bestand�%s bestaat maar is geen map�%s is verschenen; het einde van het nieuwe bestand wordt gevolgd�%s is toegankelijk geworden�%s is ontoegankelijk geworden�%s is vervangen door een bestand op afstand; gestopt met volgen van deze naam�%s is vervangen door een bestand dat niet gevolgd kan worden; gestopt met volgen van deze naam�%s is vervangen; het einde van het nieuwe bestand wordt gevolgd�%s heeft onbekend bestandstype�%s: bestand heeft een onbruikbare, kennelijk negatieve grootte�Webpagina van %s: <%s> �Webpagina van %s: <http://www.gnu.org/software/%s/> �%s is geen geldig positief geheel getal�%s is te groot�%s kan alleen worden gebruikt in een SELinux-kernel�subproces %s�subproces %s is mislukt�subproces %s ontving het fatale signaal %d�%s is gespecificeerd maar %s niet�%s zou invoer overschrijven -- gestopt�argument '%3$s' van %1$s%2$s is te groot�%s-%s�%s: %s is zo groot dat het niet weergegeven kan worden�%s: %s: regelnummer valt buiten bereik�%s: %s: geen overeenkomst gevonden�%s: %s:%s: wanorde: �%s: '}' is vereist bij een herhalingsaantal�%s: openen of lezen is MISLUKT �tweezijdige operator werd verwacht, %s gevonden�%s: kan relatieve symbolische koppelingen alleen in huidige map maken�%s: kan niet-blokkerende modus niet wijzigen�%s: kan de bestandsgrootte niet achterhalen�%s: kan geen gebruikersnaam vinden voor gebruikers-ID %lu �%s: kan het einde van dit type bestand niet volgen; gestopt met volgen van deze naam�%s: kan niet terugspringen naar de originele positie�%s: kan een map niet overschrijven�%s: kan niet terugspoelen�%s: kan geen 'seek' doen�%s: kan niet naar eind-relatieve positie %s springen�%s: kan niet naar positie %s springen�%s: kan niet naar relatieve positie %s springen�%s: kan een alleen-toevoegen-bestand niet vernietigen�%s: kan niet overslaan�%s: kan niet naar de gegeven positie springen�%s: afsluitend scheidingsteken '%c' ontbreekt�%s: kan niet-blokkerende modus niet herstellen�%s: afdalen in map %s? �%s: afdalen in voor schrijven beschermde map %s? �%s: einde van bestand�%s: de inhoud van een equivalentieklasse moet een enkel teken zijn�%s: fout bij inkorten�%s: fout tijdens schrijven op positie %s�%s: een numerieke waarde werd verwacht�sluiten van %s is mislukt�%s: kan 'extents'-informatie niet verkrijgen�openen voor schrijven van %s is mislukt�verwijderen van %s is mislukt�%s: resetten van bestandspositieaanduider is mislukt�%s: manipuleren van bestandsdescriptor is mislukt�%s: synchronisatie van data in geheugen en op schijf (fdatasync) is mislukt�%s: bestand heeft een negatieve grootte�%s: bestand is te veel geslonken�%s: bestand is te groot�%s: bestand is te lang�%s: bestand is ingekort�%s: opvragen van bestandsstatus is mislukt�%s: synchronisatie van data in geheugen en op schijf (fsync) is mislukt�%s: een harde koppeling naar een map is niet toegestaan�%s: invoer bevat een lus:�%s: invoer bevat een oneven aantal elementen�%s: invoerbestand is gelijk aan uitvoerbestand�%s: geheel getal verwacht na scheidingsteken�ongeldige IO-blokgrootte: %s�ongeldig procesnummer: %s�ongeldig broknummer: %s�%s: ongeldig aantal bij het begin van %s�%s: ongeldige directief�%s: ongeldige veldspecificatie %s�ongeldige bestandsgrootte: %s�%s: ongeldig bestandstype�ongeldig maximum aantal onveranderde statusopvragingen: %s�%s: ongeldig getal�ongeldig aantal bytes: %s�ongeldig aantal brokken: %s�ongeldig aantal regels: %s�ongeldig aantal doorlopen: %s�ongeldig aantal seconden: %s�%s: ongeldig aantal om uit te sluiten�%s: ongeldige optie -- '%c' �%s: ongeldig patroon�ongeldig proces-ID: %s�%s: ongeldige reguliere expressie: %s�ongeldig signaal: %s�%s: ongeldige startwaarde voor numeriek achtervoegsel�ongeldige lengte voor achtervoegsel: %s�%s: regelnummer moet groter zijn dan nul�%s: regelnummer valt buiten bereik�%s: 'lseek' is mislukt�meer dan één signaal gegeven: %s�%s: nieuwe toegangsrechten zijn %s, niet %s�%s: geen correct opgemaakte regels met %s-controlesommen gevonden�%s: er is geen grootte-informatie voor dit apparaat�%s: onbekende gebruiker�reeds getoonde map %s wordt niet opnieuw getoond�%s: aantal bytes is te groot�%s: optie '%c%s' staat geen argument toe �%s: optie '%s' is niet eenduidig; mogelijkheden zijn:�%s: optie '--%s' staat geen argument toe �%s: optie '--%s' vereist een argument �%s: optie '-W %s' staat geen argument toe �%s: optie '-W %s' is niet eenduidig �%s: optie '-W %s' vereist een argument �%s: optie vereist een argument -- '%c' �%s: %s overschrijven? �%s: doorloop %lu/%lu (%s)...�%s: doorloop %lu/%lu (%s)...%s�%s: doorloop %lu/%lu (%s)...%s/%s %d%%�%s: fout bij lezen�%s: %s %s verwijderen? �%s: alle argumenten recursief verwijderen? �%s: alle argumenten verwijderen? �%s: %s %s (schrijfbeveiligd) verwijderen? �%s is verwijderd�verwijderen van %s�%s is hernoemd tot %s�%s: %s vervangen? �%s: 'seek' is mislukt�%s: te veel regels met controlesommen�%s: toch proberen om %s te overschrijven, modus %04lo (%s) negeren? �%s: kan maximum lengte van een bestandsnaam niet bepalen�%s: kan niet alle gevraagde acties uitvoeren�eenzijdige operator werd verwacht, %s gevonden�%s: onbekende optie '%c%s' �%s: onbekende optie '--%s' �%s: waarde is niet volledig geconverteerd�%s: fout bij schrijven�%s: schrijven is mislukt�%s:%lu: ongeldige regel; tweede token ontbreekt�%s:%lu: ongeldige bestandsnaam (lengte nul)�%s:%lu: niet-herkend sleutelwoord %s�%s}: geheel getal is vereist tussen '{' en '}'�’�')' werd verwacht�')' werd verwacht, %s gevonden�'-%c', overtollige tekens of ongeldig getal in het argument: %s�ontbrekend argument in '--pages=EERSTE[:LAATSTE]'�'-N AANTAL', ongeldig beginregelnummer: %s�'-W PAGINABREEDTE', ongeldig aantal tekens: %s�'-l PAGINALENGTE', ongeldig aantal regels: %s�'-o MARGE', ongeldige regelpositie: %s�'-w PAGINABREEDTE', ongeldig aantal tekens: %s�©�* bestandssystemen die een cache bijhouden in tijdelijke locaties, zoals versie 3 NFS-cliënten * gecomprimeerde bestandssystemen �* log- of journal-bestandssystemen, zoals meegeleverd met AIX en Solaris (en ook Ext3, Ext4, JFS, ReiserFS, XFS enzovoort) * bestandssystemen die redundante gegevens wegschrijven en zelfs doorgaan als het schrijven fout gaat, zoals RAID-gebaseerde bestandssystemen * bestandssystemen die snapshots maken, zoals NFS-server van Network Appliance �, gemiddelde belasting: %.2f�, %g s, %s/s �argument %2$s van '--%1$s' is te groot�optie '--context' (-Z) werkt alleen in een kernel met SELinux�optie '--filter' bewerkt geen brokken die naar standaarduitvoer gaan�de opties '--grouping' en '--format' gaan niet samen�optie '--header' wordt genegeerd met invoer op de opdrachtregel�de opties '--padding' en '--format' gaan niet samen�optie '--reflink' kan alleen worden gebruikt met '--sparse=auto'�optie '--tag' gaat niet samen met '--text'�de combinatie '-R --dereference' vereist of '-H' of '-L'�de combinatie '-R -h' vereist '-P'�'-ef' accepteert geen '-l'�'-nt' accepteert geen '-l'�'-ot' accepteert geen '-l'�<intern>�(onbekend) �(onbekend)�Afgebroken�Toegang: %x Gewijzigd: %y Veranderd: %z Ontstaan: %w �Toegang: (%04a/%10.10A) UID: (%5u/%8U) GID: (%5g/%8G) �Adresfamilie voor hostnaam wordt niet ondersteund�Wekker�Alle verzoeken zijn gedaan�Argumentenbuffer is te klein�Arnold Robbins�Assaf Gordon�Besch�Beschikbaar�Onjuiste systeemaanroep�Ongeldige waarde voor 'ai_flags'�Brian Fox�Gebroken pijp�Busfout�WAARSCHUWING: Het commando 'shred' neemt aan dat het bestandssysteem de bestandsinhoud ter plekke overschrijft. Dit is de traditionele manier van doen, maar veel moderne bestandssystemen werken niet meer zo. Op de volgende bestandssystemen is 'shred' niet effectief of is het niet gegarandeerd dat het werkt in elke modus van het bestandssysteem: �NOTITIE�Limiet op processortijd is overschreden�Een harde koppeling maken met de naam BESTAND2 naar bestaand BESTAND1. �Verwijdert het gegeven BESTAND via de unlink()-functie. �Vulgraad�De beveiligingscontext van elk gegeven BESTAND veranderen naar CONTEXT. Als '--reference' gegeven is, dan de beveiligingscontext van elk BESTAND veranderen naar die van REFERENTIEBESTAND. �De beveiligingscontext van elk gegeven BESTAND veranderen naar CONTEXT. Als '--reference' gegeven is, dan de beveiligingscontext van elk BESTAND veranderen naar die van REFERENTIEBESTAND. �De eigenaar en/of groep van elk gegeven BESTAND veranderen naar de gegeven EIGENAAR en/of GROEP, of naar de eigenaar en groep van REFERENTIEBESTAND. �Verandert de beveiligingscontext van elk gegeven BESTAND naar CONTEXT. Als '--reference' gegeven is, dan wordt de beveiligingscontext van elk BESTAND veranderd naar die van REFERENTIEBESTAND. �Chet Ramey�Dochterproces is afgesloten�Colin Plumb�De gesorteerde bestanden BESTAND1 en BESTAND2 regel voor regel vergelijken. �De gegeven bestanden (of standaardinvoer) samenvoegen naar standaarduitvoer. -A, --show-all hetzelfde als '-vET' -b, --number-nonblank niet-blanco uitvoerregels nummeren (negeert '-n') -e hetzelfde als '-vE' -E, --show-ends een $ weergeven aan het einde van elke regel -n, --number alle uitvoerregels nummeren -s, --squeeze-blank opeenvolgende blanco regels comprimeren tot één �Context: %C �Doorgegaan�Stuurt elk BESTAND naar standaarduitvoer met witruimte geconverteerd naar tabs. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Stuurt elk BESTAND naar standaarduitvoer met tabs geconverteerd naar spaties. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Kopieert een BRON naar een BESTEMMING, of BRON(nen) naar een MAP. �Een bestand kopiëren, converteren en opmaken aan de hand van de argumenten. bs=BYTES aantal tegelijk te lezen en te schrijven bytes cbs=BYTES steeds dit aantal bytes tegelijk converteren conv=CONVERSIES bestand converteren volgens deze kommagescheiden methodes count=BLOKKEN slechts dit aantal invoerblokken kopiëren ibs=BYTES aantal tegelijk te lezen bytes (standaard: 512) �Standaardinvoer naar elk gegeven BESTAND kopiëren, én naar standaarduitvoer. -a, --append aan BESTAND(en) toevoegen, niet overschrijven -i, --ignore-interrupts interruptsignalen negeren �Een tijdelijk bestand of map op een veilige manier aanmaken en de naam tonen. SJABLOON moet minstens 3 elkaar opvolgende X-en bevatten in de laatste component. Als geen SJABLOON gegeven is, wordt 'tmp.XXXXXXXXXX' gebruikt en is '--tmpdir' impliciet. �Maakt voor elke gegeven NAAM een benoemde pijp (FIFO) aan. �Maakt de gegeven MAP(pen) aan (als ze nog niet bestaan). �Maakt het speciale bestand NAAM aan van het gegeven TYPE. �David M. Ihnat�David MacKenzie�David Madore�Apparaat: %Dh/%dd Inode: %-10i Koppelingen: %-5h Apparaattype: %t,%T �Apparaat: %Dh/%dd Inode: %-10i Koppelingen: %h �Op ongeldige of niet-overdraagbare bestandsnamen controleren. -p controle uitvoeren voor de meeste POSIX-systemen -P controle uitvoeren op lege namen of "-" vooraan --portability controle voor alle POSIX-systemen (hetzelfde als -p -P) �Map: �Toont de status van een bestand (of van een bestandssysteem). �Toont de huidige datum en/of tijd (in de gegeven OPMAAK), of stelt de systeemdatum en/of -tijd in (Maand, Dag, uren, minuten). �Dmitry V. Levin�Alle aanvullende groepen vergeten, gebruikers-ID en groeps-ID van de gegeven GEBRUIKERSNAAM (naam of numeriek) aannemen, en het gegeven COMMANDO uitvoeren met de eventuele ARGUMENTen. De afsluitwaarde is 111 als gevraagde gebruikers-ID en groeps-ID niet ingesteld konden worden, anders is het de afsluitwaarde van het COMMANDO. Dit programma is alleen nuttig voor root (gebruikers-ID nul). �EMT-instructie�AFSLUITING�Een bereik kan zijn: N N-de byte, teken of veld (tellend vanaf 1) N- van N-de byte, teken of veld, tot het einde van de regel N-M van N-de tot en met M-de byte, teken of veld -M van eerste tot en met M-de byte, teken of veld Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �De gegeven TEKENREEKS(en) naar standaarduitvoer sturen. -n geen nieuweregel-teken achtervoegen �Eric Blake�Eindigen met de afsluitwaarde die mislukking aangeeft.�Eindigen met de afsluitwaarde die succes aangeeft.�Eindigen met de afsluitwaarde die bepaald wordt door de gegeven EXPRESSIE. �François Pinard�VERKEERD�(onbekend)�OPMAAK moet passend zijn voor het tonen van één argument van het type 'double'; de standaardopmaak is %.PRECf als EERSTE, STAP en LAATSTE allemaal decimale vastekommagetallen zijn met een maximale precisie PREC, anders %g. �FIFO's hebben geen hoofd- en subapparaatnummers.�Limiet op bestandsgrootte is overschreden�Bestanden worden aangemaakt met de toegangsrechten u+rw, en mappen met u+rwx, minus de 'umask'-restricties. �Bestandssysteem�Filtert duplicaten van voorgaande regels uit INVOER (of standaardinvoer) en schrijft naar UITVOER (of standaarduitvoer). Zonder opties worden identieke regels samengedrukt tot één voorkomen. �Drijvendekomma-berekeningsfout�Voor volledige documentatie, gebruik: info coreutils '%s invocation' �Voor elk paar invoerregels met identieke samenvoegvelden een regel naar standaarduitvoer sturen. Het standaard samenvoegveld is het eerste veld, afgebakend door witruimte. Als ofwel BESTAND1 ofwel BESTAND2 gelijk aan '-' is, wordt standaardinvoer gelezen. -a NUMMER ook onpaarbare regels uit bestand NUMMER tonen, waar NUMMER 1 of 2 is, overeenkomend met BESTAND1 of BESTAND2 -e TEKST ontbrekende invoervelden vervangen door "TEKST" �Veranderde blokken naar schijf schrijven, het superblok bijwerken. �Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Opgehangen�In-/uitvoer is mogelijk�LEDIG�IVrij�IGeb%�IGebr�Ian Lance Taylor�Ledig�Als geen BESTAND gegeven is, wordt %s gebruikt. Gewoonlijk wordt %s als BESTAND meegegeven. �Als niet '--traditional' gebruikt is, dan geldt de tweede vorm van 'Gebruik' wanneer het laatste argument met een '+' begint of (bij twee argumenten) met een cijfer. Een POSITIE-argument betekent hetzelfde als '-j POSITIE'. LABEL is een pseudo-adres voor de eerste getoonde byte, wordt tussen haakjes getoond, en wordt net als het echte adres opgehoogd tijdens de voortgang. Voor POSITIE en LABEL betekenen een voorgevoegde '0x' of '0X' hexadecimaal; het achtervoegsel '.' betekent octaal en 'b' vermenigvuldiging met 512. �Ongeldige instructie�Spiegellocaties en reservekopieën van bestandssystemen kunnen kopieën van vernietigde bestanden bevatten die door 'shred' niet gezien worden, zodat het dus mogelijk is dat de bestanden later toch hersteld worden. �Echte naam: �In de 1ste vorm: een koppeling naar DOEL maken met de naam KOPPELINGSNAAM. In de 2de vorm: een koppeling naar DOEL maken in de huidige MAP. In de 3de en 4de vorm: koppelingen maken naar elk DOEL in MAP. Standaard wordt een harde koppeling gemaakt, met '-s' een symbolische; en standaard hoort de KOPPELINGSNAAM (naam van nieuwe link) nog niet te bestaan. Bij het maken van een harde koppeling moet elk DOEL bestaan. Symbolische koppelingen kunnen een willekeurige tekst bevatten; bij het later herleiden wordt een relatieve koppeling geïnterpreteerd in relatie tot haar ouder-map. �In het geval van het ext3-bestandssysteem is de bovenstaande uitzondering van toepassing (en is 'shred' dus beperkt effectief) enkel in de modus data=journal, waarbij behalve van de metagegevens ook van de bestandsgegevens een journal gemaakt wordt. In de modussen data=ordered (standaard) en data=writeback werkt 'shred' normaal. De ext3-journal-modus kan gewijzigd worden door in /etc/fstab een optie 'data=IETS' op te nemen bij de mount-opties voor een bestandssysteem, zoals gedocumenteerd in de man-pagina van mount ('man mount'). �oneindig�oneindig�Verzoek om informatie�I-nodes�Onderbroken�Onderbroken door een signaal�Ongeldige terugverwijzing�Ongeldige tekenklassenaam�Ongeldig samengesteld teken�Ongeldige inhoud van \{\}�Ongeldige voorafgaande reguliere expressie�Ongeldig bereikeinde�Ongeldige reguliere expressie�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Geëlimineerd�TERMINAL�LOGIN�Toont informatie over de gegeven BESTANDen (standaard over de huidige map). De items worden alfabetisch gesorteerd als geen van de opties '-cftuvSUX' noch '--sort' gegeven is. �Gbruikr�Gebruikersnaam: �De Lucas-priemgetaltest is mislukt. Dit hoort niet te gebeuren.�Mark Kettenis�Matthew Bradburn�Onvoldoende geheugen beschikbaar�Onvoldoende geheugen beschikbaar�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Aangekoppeld op�NAAM�Volledige naam�Naam of dienst is onbekend�Niels Moller�Aan hostnaam is geen adres verbonden�Geen overeenkomsten�Geen eerdere reguliere expressie�Onherstelbaar probleem in naamsherleiding�goed�Slechts één tekenreeks mag gegeven worden bij verwijderen zonder samendrukken.�Sorteeropties: �Andere opties: �Produceert een gepermuteerde index, inclusief context, van de woorden in de invoerbestanden. �De commando's voor het instellen van de omgevingsvariabele LS_COLOR tonen. -b, --sh, --bourne-shell Bourne shell-code tonen -c, --csh, --c-shell C shell-code tonen -p, --print-database de standaard kleurenlijst tonen �Elke gegeven NAAM tonen zonder het laatste '/...'-element; als NAAM geen '/' bevat, dan '.' tonen (de huidige map). �Schrijft stukken van de INVOER met een vaste grootte naar VOORVOEGSELaa, VOORVOEGSELab, VOORVOEGSELac, ...; de standaardgrootte is 1000 regels en het standaard VOORVOEGSEL is 'x'. Zonder INVOER, of wanneer INVOER - is, wordt standaardinvoer gelezen. �Deelt het gegeven BESTAND op aan de hand van het gegeven PATROON of de gegeven patronen, schrijft de delen naar de bestanden 'xx00', 'xx01', 'xx02', enz., en toont het aantal bytes van elk deel op standaarduitvoer. �Platformafhankelijke limieten tonen in een opmaak die bruikbaar is in shell-scripts. �Toont wie er (volgens BESTAND) momenteel ingelogd zijn. Als geen BESTAND gegeven is, wordt %s gebruikt. Gewoonlijk wordt %s als BESTAND meegegeven. �Overschrijft gegeven BESTAND(en) meerdere malen, om het zelfs voor heel dure apparatuur moeilijk te maken de inhoud ervan te herstellen. �PID�In pakketvorm gebracht door %s �In pakketvorm gebracht door %s (%s) �Pádraig Brady�Maakt van de gegeven BESTAND(en) pagina's of kolommen, om ze af te drukken. �Parametertekst is niet juist gecodeerd�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Stroomstoring�Voortijdig einde van reguliere expressie�De gegeven OPMAAK gebruiken om eventuele ARGUMENTen weer te geven. �De CRC-controlesom en het aantal bytes tonen van elk gegeven BESTAND. �Toont de NAAM zonder de voorafgaande mapcomponenten. Indien gegeven, wordt ook het ACHTERVOEGSEL verwijderd. �Bepaalde systeeminformatie tonen. Geen OPTIE is hetzelfde als '-s'. -a, --all alle informatie in de onderstaande volgorde tonen (maar '-p' en '-i' welaten als deze onbekend zijn) -s, --kernel-name het soort kernel tonen -n, --nodename de hostnaam van de machine tonen -r, --kernel-release het versienummer van de kernel tonen �Voor elk BESTAND een controlesom en het aantal blokken tonen. -r BSD-sommatie-algoritme gebruiken en 1K-blokken -s, --sysv System V-sommatie-algoritme gebruiken en blokken van 512 bytes �Voor elke GEBRUIKERSNAAM de groepen tonen waar deze lid van is. Als geen naam gegeven is, dan de groepen van het huidige proces tonen. �Toont informatie over gebruikers die nu zijn ingelogd. �De machinearchitectuur tonen. �Toont het aantal regels, woorden en bytes voor elk gegeven BESTAND, plus een totaalscore als meer dan één BESTAND gegeven is. Een woord is een tekenreeks met een lengte groter dan nul, begrensd door witruimte. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. Met onderstaande opties kunt u kiezen welke aantallen weergeven worden, altijd in deze volgorde: regels, woorden, tekens, bytes, maximum regellengte. -c, --bytes het aantal bytes tonen -m, --chars het aantal tekens tonen -l, --lines het aantal regels tonen (in feite het aantal LF-tekens) �Toont de getallen van EERSTE tot LAATSTE, met stapgrootte STAP. �Toont terminalkarakteristieken of stelt ze in. �De geselecteerde delen van regels uit elk BESTAND naar standaarduitvoer sturen. �Toont de huidige tijd, de tijdsduur dat het systeem in bedrijf is, het aantal gebruikers op het systeem, en het gemiddelde aantal taken dat uitgevoerd werd in de laatste 1, 5 en 15 minuten.�De bestandsnaam tonen van de terminal die verbonden is met standaardinvoer. -s, --silent, --quiet niets tonen, alleen een afsluitwaarde retourneren �Kopieert de eerste 10 regels van elk gegeven BESTAND naar standaarduitvoer. Als meer dan één BESTAND gegeven is, wordt de uitvoer van elk bestand voorafgegaan door een kopje met de bestandsnaam. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �De volledige bestandsnaam van de huidige werkmap tonen. �Kopieert de laatste %d regels van elk gegeven BESTAND naar standaarduitvoer. Als meer dan één BESTAND gegeven is, wordt de uitvoer van elk bestand voorafgegaan door een kopje met de bestandsnaam. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �De naam van de huidige gebruiker tonen. �Het aantal processoreenheden tonen dat beschikbaar is voor het huidige proces; dit kan minder zijn dan het aantal processoren dat online is. �De priemgetallen tonen waaruit elk gegeven GETAL is opgebouwd. Als geen GETAL gegeven is, dan worden getallen gelezen van standaardinvoer. �De herleide absolute bestandsnaam tonen; alleen de laatste component hoeft niet te bestaan. �Toont de gebruikersnaam die hoort bij het huidige effectieve gebruikers-ID. (Hetzelfde als 'id -un'.) �Gebruikers- en groepsinformatie tonen van GEBRUIKERSNAAM, of (zonder GEBRUIKERSNAAM) die van de huidige gebruiker tonen. -a (genegeerde optie, voor compatibiliteit met andere versies) -g, --group alleen het groeps-ID tonen -G, --groups alleen alle groeps-ID's tonen -n, --name namen in plaats van nummers tonen (bij -g, -G of -u) -r, --real echte ID in plaats van effectieve ID tonen (bij -g, -G of -u) -u, --user alleen het gebruikers-ID tonen -Z, --context alleen de beveiligingscontext van huidige gebruiker tonen �De waarde van een symbolische koppeling of echte naam tonen �Bezig met verwerken van verzoek�Timer voor profilering is afgelopen�Project: �Q. Frank Xia�Afgesloten�Randy Smith�Realtime-signaal %d�Stuurt elk BESTAND naar standaarduitvoer met de alinea's opnieuw ingedeeld. De optie -GETAL is een afkorting van --width=GETAL. �Reguliere expressie is te groot�Gegeven BESTAND(en) verwijderen. -f, --force niet-bestaande argumenten negeren, geen vragen stellen -i voor elke verwijdering om bevestiging vragen �De gegeven MAP(pen) verwijderen, als ze leeg zijn. --ignore-fail-on-non-empty fouten waarvan enkel een niet-lege map de oorzaak is negeren �Hernoemt BRON naar BESTEMMING, of verplaatst BRON(nen) naar MAP. �Produceert voortdurend een regel met de gegeven TEKST (of anders 'y'). �Rapporteer gebreken in het programma '%s' aan <%s>; meld fouten in de vertaling aan <vertaling@vrijschrift.org>. �Meld vertalingsfouten in '%s' aan <vertaling@vrijschrift.org>. �Verzoek is geannuleerd�Verzoek is niet geannuleerd�Hulpbron verloren�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Voert het gegeven COMMANDO uit met een aangepaste procesbeleefdheid; als geen COMMANDO gegeven is, dan de huidige procesbeleefdheid tonen. Beleefdheidswaarden lopen van %d (krijgt meeste tijd) tot %d (minste tijd). �Het gegeven COMMANDO (plus ARGUMENTEN) uitvoeren met DOELMAP als basismap. �Het gegeven COMMANDO uitvoeren, 'hangup'-signalen negerend. �Voert COMMANDO uit met gewijzigde buffering voor zijn standaard streams. �Voert het gegeven COMMANDO in een andere beveiligingscontext uit. Zonder CONTEXT of COMMANDO, wordt de huidige beveiligingscontext getoond. CONTEXT is een volledige SELinux-beveiligingscontext. �Russell Coker�Scott Bartram�Scott Miller�Segmentatiefout�Zendt signalen naar processen, of somt signaalnamen op. �Servicenaam wordt niet ondersteund voor 'ai_socktype'�Zet LC_ALL='C' om het probleem te omzeilen.�Kent de gegeven WAARDE aan omgevingsvariabele NAAM toe en voert COMMANDO uit. �Shell: �Toont gebruikte en beschikbare ruimte van alle aangekoppelde bestandssystemen, of van de bestandssystemen waarop de gegeven BESTANDen zich bevinden. �Vergroot of verkleint elk gegeven BESTAND tot de gespecificeerde grootte. Een BESTAND dat nog niet bestaat wordt aangemaakt. Als een BESTAND groter is dan de gespecificeerde grootte, dan gaan de extra gegevens verloren. Als een BESTAND kleiner is, dan wordt het uitgebreid en het "toegevoegde" deel (een gat) leest als nul-bytes. �Simon Josefsson�Grootte�Speciale bestanden vereisen hoofd- en subapparaatnummers.�Stack-fout�Start het gegeven COMMANDO, en beëindigt het als het na DUUR nog actief is. �Gepauzeerd�Gepauzeerd (signaal)�Gepauzeerd (terminalinvoer)�Gepauzeerd (terminaluitvoer)�Stuart Kemp�Gelukt�Vat het schijfgebruik samen van elk gegeven BESTAND, recursief voor mappen. �Systeemfout�TIJD�Tijdelijk probleem in naamsherleiding�Beëindigd�De volgende opmaakcodes mogen direct na elke '%' ingevoegd worden: - (een koppelteken:) geen voorloop gebruiken _ (een liggend streepje:) voorloopspaties gebruiken 0 (een nul:) voorloopnullen gebruiken (standaard) ^ hoofdletters gebruiken, indien mogelijk # hoofd- in kleine letters wijzigen en omgekeerd, indien mogelijk �De te vergelijken tekenreeksen waren %s en %s.�Torbjörn Granlund�Traceer-/breekpunt-instructie�Backslash aan het eind�Tekens van standaardinvoer omzetten, samendrukken en/of verwijderen, en naar standaarduitvoer sturen. -c, -C, --complement het complement van SET1 gebruiken -d, --delete tekens in SET1 verwijderen, niet omzetten -s, --squeeze-repeats herhalingen van een teken uit SET1 vervangen door slechts één zo'n teken -t, --truncate-set1 SET1 eerst afkappen tot de lengte van SET2 �Typ '%s --help' voor meer informatie. �Typ '%s ./%s' om het bestand %s te verwijderen. �Er moeten twee tekenreeksen gegeven worden als zowel verwijderd wordt als herhalingen samengedrukt.�Bij omzetting zijn twee tekenreeksen nodig.�Type�Ulrich Drepper�Onbekende fout�Onbekend signaal %d�Onbekende systeemfout�Ongepaarde ( of \(�Ongepaarde ) of \)�Ongepaarde [ of [^�Ongepaarde \{�Stelt de toegangs- en wijzigingstijden van elk BESTAND op de huidige tijd. Elk BESTANDsargument dat niet bestaat wordt als een leeg bestand aangemaakt, tenzij '-c' of '-h' wordt meegegeven. Het BESTANDsargument '-' wordt speciaal behandeld: het zorgt ervoor dat 'touch' de tijdsstempels van het bestand verbonden met standaarduitvoer wijzigt. �Urgente in-/uitvoertoestand�Gebruik: %s �Gebruik: %s COMMANDO [ARGUMENT...] of: %s OPTIE �Gebruik: %s CONTEXT COMMANDO [ARGUMENTEN] of: %s [OPTIE...] COMMANDO [ARGUMENTEN] �Gebruik: %s EXPRESSIE of: %s OPTIE �Gebruik: %s BESTAND of: %s OPTIE �Gebruik: %s BESTAND1 BESTAND2 of: %s OPTIE �Gebruik: %s OPMAAK [ARGUMENT...] of: %s OPTIE �Gebruik: %s NAAM [ACHTERVOEGSEL] of: %s OPTIE... NAAM... �Gebruik: %s AANTAL[ACHTERVOEGSEL]... of: %s OPTIE Gedurende het gegeven AANTAL seconden pauzeren. Het ACHTERVOEGSEL mag respectievelijk 's' zijn voor seconden (standaard), 'm' voor minuten, 'h' voor uren, of 'd' voor dagen. Het AANTAL mag een willekeurig drijvendepuntgetal zijn. Bij twee of meer AANTALlen wordt er gepauzeerd gedurende een tijd die de som is van de waarden. �Gebruik: %s [OPTIE...] COMMANDO �Gebruik: %s OPTIE... BESTAND... �Gebruik: %s OPTIE... [BESTAND...] �Gebruik: %s [-F APPARAAT | --file=APPARAAT] [INSTELLING...] of: %s [-F APPARAAT | --file=APPARAAT] [-a|--all] of: %s [-F APPARAAT | --file=APPARAAT] [-g|--save] �Gebruik: %s [-BREEDTE] [OPTIE...] [BESTAND...] �Gebruik: %s [-s SIGNAAL | -SIGNAAL] PID... of: %s -l [SIGNAAL...] of: %s -t [SIGNAAL...] �Gebruik: %s [BESTAND...] of: %s [OPTIE] �Gebruik: %s [NAAM] of: %s OPTIE De hostnaam van het huidige systeem tonen of instellen. �Gebruik: %s [GETAL...] of: %s OPTIE �Gebruik: %s [ARGUMENT...] of: %s OPTIE �Gebruik: %s [OPTIE] �Gebruik: %s [OPTIE] De numerieke aanduiding (in hexadecimaal) van de huidige host tonen. �Gebruik: %s [OPTIE] DUUR COMMANDO [ARGUMENT...] of: %s [OPTIE] �Gebruik: %s [OPTIE] NAAM... �Gebruik: %s [OPTIE] DOELMAP [COMMANDO [ARGUMENT...]] of: %s OPTIE �Gebruik: %s [OPTIE] [COMMANDO [ARGUMENT...]] �Gebruik: %s [OPTIE] [BESTAND] Een volledig, topologisch gesorteerde lijst produceren, overeenkomend met de gegeven bestaande volgorde. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Gebruik: %s [OPTIE...] �Gebruik: %s [OPTIE...] CONTEXT BESTAND... of: %s [OPTIE...] [-u GBRKR] [-r ROL] [-l BEREIK] [-t TYPE] BESTAND... of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND... �Gebruik: %s [OPTIE...] MAP... �Gebruik: %s [OPTIE...] BESTAND PATROON... �Gebruik: %s [OPTIE...] BESTAND... �Gebruik: %s [OPTIE...] BESTAND1 BESTAND2 �Gebruik: %s [OPTIE...] GROEP BESTAND... of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND... �Gebruik: %s [OPTIE...] LAATSTE of: %s [OPTIE...] EERSTE LAATSTE of: %s [OPTIE...] EERSTE STAP LAATSTE �Gebruik: %s [OPTIE...] MODUS[,MODUS...] BESTAND of: %s [OPTIE...] OCTALE_MODUS BESTAND... of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND... �Gebruik: %s [OPTIE...] NAAM TYPE [HOOFDNUMMER SUBNUMMER] �Gebruik: %s [OPTIE...] NAAM... �Gebruik: %s [OPTIE...] SET1 [SET2] �Gebruik: %s [OPTIE...] [ BESTAND | ARGUMENT1 ARGUMENT2 ] �Gebruik: %s [OPTIE...] [+OPMAAK] of: %s [-u|--utc|--universal] MMDDuumm[[EE]JJ][.ss] �Gebruik: %s [OPTIE...] [-T] BRON BESTEMMING of: %s [OPTIE...] BRON... MAP of: %s [OPTIE...] -t MAP BRON... �Gebruik: %s [OPTIE...] [-T] BRON DOEL of: %s [OPTIE...] BRON... MAP of: %s [OPTIE...] -t MAP BRON... of: %s [OPTIE...] -d MAP... �Gebruik: %s [OPTIE...] [-T] DOEL KOPPELINGSNAAM (1ste vorm) of: %s [OPTIE...] DOEL (2de vorm) of: %s [OPTIE...] DOEL... MAP (3de vorm) of: %s [OPTIE...] -t MAP DOEL... (4de vorm) �Gebruik: %s [OPTIE...] [-] [NAAM=WAARDE]... [COMMANDO [ARGUMENT...]] �Gebruik: %s [OPTIE...] [BESTAND] �Gebruik: %s [OPTIE...] BESTAND of: %s -e [OPTIE...] [ARGUMENT...] of: %s -i LAAG-HOOG [OPTIE...] �Gebruik: %s [OPTIE...] [BESTAND] Codeert of decodeert het gegeven BESTAND (of standaardinvoer) volgens de base64-methode naar standaarduitvoer. �Gebruik: %s [OPTIE...] [BESTAND...] �Gebruik: %s [OPTIE...] [BESTAND...] of: %s [-abcdfilosx] [BESTAND] [[+]POSITIE[.][b]] of: %s --traditional [OPTIES] [BSTND] [[+]POSITIE[.][b] [+][LABEL][.][b]] �Gebruik: %s [OPTIE...] [BESTAND...] of: %s [OPTIE...] --files0-from=LIJSTBESTAND �Gebruik: %s [OPTIE] [BESTAND...] %s-controlesommen (%d-bits) tonen of controleren. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Gebruik: %s [OPTIE...] [INVOER [UITVOER]] �Gebruik: %s [OPTIE...] [INVOER [VOORVOEGSEL]] �Gebruik: %s [OPTIE...] [INVOER...] (zonder -G) of: %s -G [OPTIE...] [INVOER [UITVOER]] �Gebruik: %s [OPTIE...] [EIGENAAR][:[GROEP]] BESTAND... of: %s [OPTIE...] --reference=REFERENTIEBESTAND BESTAND... �Gebruik: %s [OPTIE...] [SJABLOON] �Gebruik: %s [OPTIE...] [GEBRUIKERSNAAM] �Gebruik: %s [OPTIE...] [GEBRUIKERSNAAM] �Gebruik: %s [OPTIE...] [GEBRUIKER...] �Gebruik: %s [OPTIE...] [VARIABELE...] De waarde van de gegeven omgevingsvariabele(n) weergeven. Zonder VARIABELE, de waarden van alle omgevingsvariabelen tonen. �Gebruik: %s [KORTE_OPTIE...] GEBRUIKERSNAAM COMMANDO [ARGUMENT...] of: %s LANGE_OPTIE �Gebruik: %s [KORTE_OPTIE...] [TEKST...] of: %s LANGE_OPTIE �Gebruik: %s [TEKST] of: %s OPTIE �Gebruik: %s [argumenten worden genegeerd] of: %s OPTIE �Gebruik: test EXPRESSIE of: test of: [ EXPRESSIE ] of: [ ] of: [ OPTIE �Geb%�Gebruikt�Gebruikergedefinieerd signaal 1�Gebruikergedefinieerd signaal 2�Geldige argumenten zijn:�Geldige argumenten zijn: �Geldige opmaakspecificaties voor bestandssystemen zijn: %a beschikbare vrije blokken voor niet-systeembeheerders %b totaal aantal blokken met gegevens in bestandssysteem %c totaal aantal inodes in bestandssysteem %d aantal vrije inodes in bestandssysteem %f aantal vrije blokken in bestandssysteem �Virtuele timer is afgelopen�WAARSCHUWING: Oneindige lus gevonden in de mappenstructuur. Dit betekent vrijwel zeker dat het bestandssysteem beschadigd is. ** MELD DIT AAN UW SYSTEEMBEHEERDER. ** De volgende map is onderdeel van de lus: %s �Waarschuwing: optie '--context' (-Z) wordt genegeerd; deze kernel heeft geen SELinux.�Waarschuwing: optie '--preserve-context' wordt genegeerd; deze kernel heeft geen SELinux.�Waarschuwing: optie '--strip-program' wordt genegeerd want optie '-s' is niet gegeven�Waarschuwing: �Ingelogd�Waar�Venster is veranderd�Met '--follow' (-f) volgt 'tail' de bestandsdescriptor, wat betekent dat het bestand nog steeds gevolgd wordt als de bestandsnaam wijzigt. Dit standaard- gedrag is ongewenst als u echt de naam wilt volgen en niet de descriptor, bijvoorbeeld bij rotatie van logbestanden. Gebruik dan '--follow=name'; dit maakt dat 'tail' het genoemde bestand volgt op een manier die rekening houdt met hernoemen, verwijderen en opnieuw aanmaken. �Stuurt elk BESTAND naar standaarduitvoer met de regels op een bepaalde lengte afgebroken. Zonder argumenten wordt standaardinvoer gelezen. �Stuurt een willekeurige husseling van de invoerregels naar standaarduitvoer. �Schrijft elk gegeven BESTAND naar standaarduitvoer, laatste regel eerst. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Stuurt elk gegeven BESTAND naar standaarduitvoer, met regelnummers toegevoegd. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Scheidt de overeenkomstige regels uit de gegeven BESTANDen met tabs en stuurt ze naar standaarduitvoer -- oftewel: voegt de bestanden als kolommen samen. Zonder BESTAND, of wanneer BESTAND - is, wordt standaardinvoer gelezen. �Stuurt gegeven BESTAND(en samengevoegd en) gesorteerd naar standaarduitvoer. �Geschreven door %s en %s. �Geschreven door %s, %s, %s, %s, %s, %s, %s, %s, %s en anderen. �Geschreven door %s, %s, %s, %s, %s, %s, %s, %s en %s. �Geschreven door %s, %s, %s, %s, %s, %s, %s en %s. �Geschreven door %s, %s, %s, %s, %s, %s en %s. �Geschreven door %s, %s, %s, %s, %s en %s. �Geschreven door %s, %s, %s, %s en %s. �Geschreven door %s, %s, %s en %s. �Geschreven door %s, %s en %s. �Geschreven door %s. �bij omzetting mogen '[=t=]'-expressies niet voorkomen in SET2�^ geen overeenkomst voor sleutel �^[nN]�^[jJyY]�_open_osfhandle() is mislukt�‘�bij een aanpassing moet er een commando gegeven worden�'ai_family' wordt niet ondersteund�'ai_socktype' wordt niet ondersteund�argument %s van %s is niet eenduidig�een scheidingsteken mag alleen gegeven worden als met velden gewerkt wordt�uitvoer wordt aan %s toegevoegd�een reservekopie van %s zou de bron vernietigen; %s is niet gekopieerd�een reservekopie van %s zou de bron vernietigen; %s is niet verplaatst�reservekopiemethode�blok-apparaat�blok-apparaatbestanden worden niet ondersteund�blokken�niet beide bestanden mogen de standaardinvoer zijn�byte-positie %s is te groot�kan gedeeltelijke context niet toepassen op ongelabeld bestand %s�kan de context van het proces niet verkrijgen�kan geen toegang krijgen tot %s�kan geen reservekopie maken van %s�kan niet zowel alleen totalen tonen als alle items tonen�kan de eigenaar van %s niet veranderen�kan de toegangsrechten van %s niet veranderen�kan '%s' niet als basismap instellen�kan niet naar map %s gaan�kan hoofdmap niet als huidige map instellen�opties '--target-directory' (-t) en '--no-target-directory' (-T) gaan niet samen�opties '--target-directory' en '--no-target-directory' gaan niet samen�opties '-e' en '-i' gaan niet samen�slechts één van {ascii,ebcdic,ibm} is mogelijk�'block' en 'unblock' gaan niet samen�'direct' en 'nocache' gaan niet samen�'excl' en 'nocreat' gaan niet samen�'lcase' en 'ucase' gaan niet samen�een expliciete modus gaat niet samen met optie '--reference'�een signaal gaat niet samen met optie '-l' of '-t'�kan bestandsnamen %s en %s niet vergelijken�kan U+%04X niet converteren naar de lokale tekenset�kan U+%04X niet converteren naar de lokale tekenset: %s�kan map %s niet kopiëren naar binnen zichzelf (%s)�kan cyclische symbolische koppeling %s niet kopiëren�kan map %s niet aanmaken�kan fifo %s niet aanmaken�kan geen harde koppeling %s maken naar %s�kan de koppeling %s naar %s niet aanmaken�kan geen pijp aanmaken�kan het normale bestand %s niet aanmaken�kan speciaal bestand %s niet aanmaken�kan symbolische koppeling %s niet aanmaken�kan symbolische koppeling %s naar %s niet aanmaken�kan tijdelijk bestand %s niet aanmaken�kan symbolische koppeling %s niet volgen�kan het apparaat en de inode van %s niet bepalen�kan de hostnaam niet achterhalen�kan de locatie van '%s' niet bepalen; teruggevallen op polsen�optie '--relative' kan niet zonder '--symbolic'�kan geen ioctl() doen op %s�kan geen naam vinden bij groeps-ID %lu�kan geen naam vinden bij gebruikers-ID %s�kan %s niet op naam volgen�kan doelcontext niet zowel behouden als op %s instellen�kan status van %s niet opvragen�kan huidige map niet opvragen�kan effectieve GID niet verkrijgen�kan effectieve UID niet verkrijgen�kan de huidige beleefdheidswaarde niet verkrijgen�kan werkelijke GID niet verkrijgen�kan werkelijke UID niet verkrijgen�kan de naam van het systeem niet verkrijgen�kan de grootte van %s niet achterhalen�kan geen 'lseek' doen op %s�kan niet zowel harde als symbolische koppelingen maken�kan map %s niet aanmaken�kan %s niet verplaatsen naar %s�kan %s niet verplaatsen naar een submap van zichzelf, %s�kan een map niet verplaatsen naar een niet-map: %s -> %s�kan %s niet openen om te lezen�kan %s niet openen om te schrijven�kan map %s niet openen�kan niet werken op loze symbolische koppeling %s�kan map %s niet overschrijven met een niet-map�kan niet-map %s niet overschrijven met map %s�kan geen opgemaakte uitvoer aanmaken�kan de uitgebreide eigenschappen niet behouden; 'cp' is gecompileerd zonder ondersteuning voor 'xattr'�kan beveiligingscontext niet behouden zonder een kernel met SELinux�kan niet meer dan één ding "alleen" tonen�kan in standaardinformatie niet alleen namen noch alleen echte ID's tonen�kan beveiligingscontext niet tonen als een gebruikersnaam gegeven is�kan niet lezen�kan map %s niet lezen�kan geen bestandsnamen uit %s lezen�kan informatie in bestandssysteem niet lezen voor %s�kan de realtime-klok niet lezen�kan symbolische koppeling %s niet lezen�kan tabel van aangekoppelde bestandssystemen niet lezen�kan %s niet verwijderen�kan map %s niet verwijderen�kan de bestandspositieaanduider van %s niet verplaatsen�kan bestandsdescriptor %d niet herstellen: dup2() is mislukt�kan %s niet uitvoeren�kan %s geen waarde geven�kan datum niet instellen�kan groeps-ID niet op %lu instellen�kan de hostnaam niet instellen; dit systeem biedt deze functionaliteit niet�kan de naam niet wijzigen naar %s�kan beleefdheidswaarde niet instellen�kan de tijdsstempels van %s niet instellen�kan gebruikers-ID niet op %lu instellen�kan niet voorbij het einde van de gecombineerde invoer springen�optie '--null' (-0) gaat niet samen met een commando�kan niet zowel verticaal als horizontaal afdrukken�bij horizontaal afdrukken kan het aantal kolommen niet worden opgegeven�optie '-t' gaat niet samen met '-d' of '-r'�kan niet op meerdere manieren splitsen�kan status van %s niet opvragen�kan status van huidige map %s niet opvragen�kan 'stat' niet toepassen op standaardinvoer�kan tijdsstempels van %s niet wijzigen�kan %s niet uit reservekopie herstellen�kan %s niet verwijderen�kan %s niet verwijderen�kan %s niet monitoren�kan de bovenliggende map van %s niet monitoren�kan toch niet om de kernelfout heen werken�de groep van %s is veranderd van %s naar %s �de eigenaar van %s is veranderd van %s naar %s �veranderen van de groep van %s�veranderen van de eigenaar van %s�veranderen van toegangsrechten van %s�veranderen van beveiligingscontext van %s �tekenpositie is nul�teken ligt buiten toegestaan bereik�byte-apparaat�byte-apparaatbestanden worden niet ondersteund�wissen van toegangsrechten van %s�klok is verzet�sluiten is mislukt�sluiten van %s (bestandsdescriptor=%d)�sluiten van map %s�sluiten van invoerbestand %s�sluiten van invoerpijp�sluiten van uitvoerbestand %s�sluiten van uitvoerpijp�sluiten van eerdere pijp�sluiten van standaardinvoer�compatibiliteitsmodus mag met hooguit één bestand�conflicterende vervangingstekenreeksen voor lege velden�conflicterende specificaties voor beveiligingscontext gegeven�kan de buffering van %s niet in modus %s zetten �kan geen proces voor '%s -d' aanmaken�kan geen tijdelijk bestand aanmaken�kan %s niet uitvoeren�kan '%s -d' niet uitvoeren�kan geen mapitem vinden in %s met een overeenkomende inode�kan de opstarttijd niet vinden�map %s is aangemaakt�aanmaken van map %s�aanmaken van bestand %s �lijst met scheidingstekens eindigt met onaangehaalde backslash: %s�map�deling door nul�dup2() is mislukt�een lege %s is niet toegestaan�lege bestandsnaam�lege tab�fout bij sluiten van bestand�fout in zoeken met reguliere expressie�fout in zoeken met reguliere expressie�fout bij het initialiseren van maand-tekenreeksen�fout bij monitoren van 'inotify'-gebeurtenis�fout bij lezen van %s�fout bij lezen van 'inotify'-gebeurtenis�fout bij lezen van invoer�fout bij het wachten op commando�fout bij schrijven van %s�wordt uitgevoerd met FILE=%s �exit=�overtollig argument: %s�overtollig argument: %s�extra argument %s is niet toegestaan bij optie '-%c'�kan geen toegang krijgen tot %s�canoniseren van %s is mislukt�kan de context van %s niet veranderen naar %s�kan de groep van %s niet veranderen van %s naar %s �kan de groep van %s niet veranderen naar %s �kan modus van %s niet veranderen van %04lo (%s) naar %04lo (%s) �kan de eigenaar van %s niet veranderen �kan de eigenaar van %s niet veranderen van %s naar %s �kan de eigenaar van %s niet veranderen naar %s �kan niet naar map %s gaan�kan %2$s niet klonen naar %1$s�sluiten van %s is mislukt�kan invoerpijp niet sluiten�kan geen nieuwe context berekenen�enkele van de invoergetallen zijn niet geconverteerd�kan geen map aanmaken via sjabloon %s�kan geen bestand aanmaken via sjabloon %s�kan geen harde koppeling %s aanmaken�kan geen harde koppeling %s naar %s aanmaken�kan geen harde koppeling naar %.0s%s aanmaken�aanmaken van pijp is mislukt�kan beveiligingscontext %s niet aanmaken�kan geen symbolische koppeling %s aanmaken�kan geen symbolische koppeling %s naar %s aanmaken�kan geen tijdelijk bestand aanmaken in %s�verwerpen van cache voor %s is mislukt�kan %s niet uitbreiden�kan %s niet vinden�kan de eigenschappen van %s niet verkrijgen�kan de huidige context niet verkrijgen�kan de aanmaakcontext van het bestandssysteem niet verkrijgen�kan de groepen van het huidige proces niet verkrijgen�kan de groepen van gebruiker %s niet verkrijgen�kan de beveiligingscontext van %s niet verkrijgen�kan bestand %s niet vinden�openen van %s is mislukt�kan %s niet openen om te lezen�openen voor schrijven van %s is mislukt�voorbereiden van waarde '%Lf' voor tonen is mislukt�behouden van het auteurschap van %s is mislukt�behouden van eigenaar van %s is mislukt�behouden van de toegangsrechten van %s is mislukt�behouden van de tijdsstempels van %s is mislukt�kan standaardfoutuitvoer niet omleiden�kan standaardfoutuitvoer niet omleiden naar /dev/null�kan %s niet verwijderen�kan map %s niet verwijderen�kan standaardinvoer niet onbruikbaar maken�opnieuw openen van %s in modus %s is mislukt�kan de standaard aanmaakcontext niet herstellen�kan niet terugkeren naar de oorspronkelijke werkmap�terugspringen in stroom voor %s is mislukt�kan commando %s niet uitvoeren�kan commando "%s -c %s" niet uitvoeren�kan component %s van beveiligingscontext niet instellen op %s�instellen van omgevingsvariabele FILE is mislukt�instellen van aanvullende groepen is mislukt�kan de standaard aanmaakcontext niet instellen op %s�instellen van groeps-ID is mislukt�kan nieuw bereik %s niet instellen�kan nieuwe rol %s niet instellen�kan nieuw type %s niet instellen�kan nieuwe gebruiker %s niet instellen�kan geen aanvullende groep(en) instellen�kan kopie van standaardfoutuitvoer niet instellen om te sluiten bij uitvoering�kan de beveiligingscontext van %s niet naar %s veranderen�instellen van gebruikers-ID is mislukt�kan status van %s niet opvragen�uitschakelen van O_DIRECT is mislukt: %s�het bijwerken van de omgeving met %s is mislukt�'fdatasync' is mislukt voor %s�alles naar schijf wegschrijven (fflush) is mislukt�veldnummer %s is te groot�veldnummer is nul�velden en posities worden genummerd vanaf 1�fifo�bestand %d is niet gesorteerd�bestandsargumenten gaan niet samen met de optie '--files0-from'�optie '--print-database' (-p) gaat niet samen met bestanden�bestandssysteemtype %s is zowel gekozen als uitgesloten�kan geen nieuw proces starten�opmaakspecificatie %s eindigt in '%%'�opmaakspecificatie %s bevat geen '%%'�opmaakspecificatie %s bevat te veel '%%'�opmaakspecificatie %s bevat onbekende '%%%c'�een opmaak gaat niet samen met uitvoer van gelijke breedte�'fsync' is mislukt voor %s�fts_close() is mislukt�fts_read() is mislukt�fts_read() is mislukt: %s�aanmaken van relatief pad�verkrijgen van nieuwe eigenschappen van %s�de groep van %s blijft %s �groepering gaat niet samen met optie '--to'�groepering heeft geen effect in deze taalregio�de functie iconv() is niet beschikbaar�de functie iconv() is onbruikbaar�id=�optie '--no-newline' met meerdere argumenten wordt genegeerd�alle argumenten worden genegeerd�invoer wordt genegeerd�invoer wordt genegeerd en uitvoer wordt aan %s toegevoegd�invoer wordt genegeerd en standaardfoutuitvoer gaat naar standaarduitvoer�genegeerd: ongeldige tab-grootte %s in omgevingsvariabele TABSIZE�genegeerd: ongeldige waarde %s van omgevingsvariabele QUOTING_STYLE�genegeerd: ongeldige breedte %s in omgevingsvariabele COLUMNS�argumenten die geen optie zijn worden genegeerd�incompatibele join-velden: %lu, %lu�incompatibele scheidingstekens�'inotify' kan niet worden gebruikt; teruggevallen op polsen�onvoldoende hulpbronnen beschikbaar voor 'inotify'�invoer is verdwenen�invoerregel is te lang�invoerregel is te lang; geen getallen gevonden om te converteren in veld %ld�verplaatsing tussen apparaten is mislukt: %s naar %s; kan het doel niet verwijderen�ongeldig argument '%3$s' van %1$s%2$s�ongeldig argument van '--%s': %s�ongeldig argument van '--threshold': '-0'�ongeldige aanpassing %s�ongeldig argument: %s�ongeldig argument %s van %s�ongeldige stijl voor regelnummers: %s�ongeldige bufferingsmodus %s voor %s �ongeldige lijst van bytes of velden�ongeldig teken '%c' in opmaakreeks %s�ongeldige tekenklasse %s�ongeldige context: %s�ongeldige conversie�ongeldige conversiespecificatie in achtervoegsel: %c�ongeldige conversiespecificatie in achtervoegsel: \%.3o�ongeldige datum: %s�ongeldige datumopmaak %s�ongeldig aflopend bereik�ongeldig apparaat %s %s�ongeldig apparaattype %s�ongeldig veldnummer: %s�ongeldige veldspecificatie: %s�ongeldige veldwaarde '%s'�ongeldige veldbreedte: %s�ongeldig bestandsnummer in veldspecificatie: %s�ongeldige vlaggen in conversiespecificatie: %%%c%c�ongeldig drijvendekomma-argument: %s�ongeldige stijl voor voetregelnummering: %s�ongeldige opmaak %s (breedte is te groot)�ongeldige breedte van tussenruimte: %s�ongeldige groep�ongeldige groep: %s�ongeldige groepslijst: %s�ongeldige groep: %s�ongeldige stijl voor kopregelnummering: %s�ongeldige kopregelwaarde '%s'�ongeldige invoer�ongeldige invoervlag�ongeldig invoerbereik: %s�ongeldig geheel getal: %s�ongeldig geheelgetal-argument: %s�ongeldig aantal regels: %s�ongeldig lijnprotocol: %s�ongeldige veldbreedte voor regelnummer: %s�ongeldige ophoging voor regelnummers: %s�ongeldige opmaak voor nummering: %s�ongeldige regelbreedte: %s�ongeldig hoofdapparaatnummer %s�ongeldige maximum diepte %s�ongeldig subapparaatnummer %s�ongeldige modus�ongeldige modus %s�ongeldige modus: %s�ongeldig getal: %s�ongeldig getal na ','�ongeldig getal na '-'�ongeldig getal na '.'�ongeldig getal aan het begin van een veld�ongeldig aantal lege regels: %s�ongeldig aantal bytes�ongeldig aantal bytes om te vergelijken�ongeldig aantal bytes om over te slaan�ongeldige afbreekbreedte: %s�ongeldig aantal velden om over te slaan�ongeldig aantal regels�ongeldig getal: '%s'�ongeldige optie: %c�ongeldige optie: '%c'; -GETAL wordt alleen herkend als het het eerste argument is; gebruik anders '-w GETAL'�ongeldige grondtalcode '%c' voor adressen; kies een teken uit [doxn]�ongeldige uitvoervlag�ongeldige opvulwaarde '%s'�ongeldige paginareeks %s�ongeldige precisie: %s�ongeldig bereik zonder eindpunt: -�ongeldig herhalingsaantal %s in '[teken*aantal]'-constructie�ongeldige aanduiding�ongeldig regelnummer voor beginregel: %s�ongeldige statusvlag�ongeldig achtervoegsel %s; het bevat een mapscheidingsteken�ongeldig achtervoegsel in argument '%3$s' van %1$s%2$s�ongeldig achtervoegsel in invoer '%s': '%s'�ongeldig achtervoegsel in invoer: '%s'�ongeldige tab-grootte: %s�ongeldig sjabloon %s; het bevat een mapscheidingsteken�ongeldig sjabloon %s; met '--tmpdir' mag deze niet absoluut zijn�ongeldig tijdsinterval: %s�ongeldige opmaakstijl %s voor de tijd�ongeldige optie aan het eind: %c�ongeldig type: %s�ongeldig type: %s; dit systeem kent geen drijvendekommagetal van %lu bytes �ongeldig type: %s; dit systeem kent geen geheelgetaltype van %lu bytes �ongeldige eenheidsgrootte: %s�ongeldige universele tekennaam \%c%0*x�ongeldige gebruiker�ongeldige gebruiker: %s�ongeldige breedte: %s�ongeldige waarde van optie '-w'/'--wrap': %s�ongeldige bestandsnaam (lengte nul)�het is gevaarlijk om recursief op %s te werken�het is gevaarlijk om recursief op %s te werken (hetzelfde als %s)�sleutel %lu heeft breedte nul en wordt genegeerd�sleutel %lu is numeriek en beslaat meerdere velden�groote invoerwaarde '%s': mogelijk verlies van precisie�vorige=�een '-' aan het begin van een component in bestandsnaam %s�leidende witruimte is significant in sleutel %lu; misschien ook '-b' opgeven?�limiet %lu is overschreden door de lengte %lu van bestandsnaam %s�limiet %lu is overschreden door de lengte %lu van bestandsnaamcomponent %s�regelbuffering van standaardinvoer is zinloos�regelaantal '-%s%c...' is te groot�regelnummer %s is kleiner dan het voorgaande regelnummer, %s�regelnummer loopt over�de lange optie '--megabytes' is verouderd en wordt binnenkort ongeldig�met huidige 'rlimit' is maximum argument van '--%s': %s�onvoldoende geheugen beschikbaar�onvoldoende geheugen beschikbaar voor invoerbuffer van %zu bytes (%s)�onvoldoende geheugen beschikbaar voor uitvoerbuffer van %zu bytes (%s)�berichtenwachtrij�minimum argument van '--%s' is %s�verkeerd uitgelijnde constructie met [:upper:] en/of [:lower:]�ontbrekende specificatie voor %%-conversie in achtervoegsel�ontbrekende ']'�ontbrekend argument na %s�ontbrekend argument bij %s�ontbrekende naam in tekenklasse '[::]'�specificatie voor conversie ontbreekt in achtervoegsel�ontbrekende bestemming na %s�ontbrekend teken in equivalentieklasse '[==]'�geen bestand opgegeven�ontbrekende hexadecimale cijfers�ontbrekende lijst van velden�ontbrekende lijst van posities�ontbrekend argument�ontbrekend argument na %s�de modus mag alleen bestandstoegangsrechten bevatten�modus van %s is veranderd van %04lo (%s) naar %04lo (%s) �modus van %s blijft %04lo (%s) �aankoppelingspunt %s is al doorlopen�verplaatsen van invoerpijp�meerdere tekens in scheidingsteken %s�meer dan één optie '-i' gegeven�meer dan één optie '-l' of '-t' gegeven�meer dan één compressieprogramma opgegeven�meer dan één scheiding gegeven�meerdere niveaubereiken gegeven�meer dan één uitvoerbestand gegeven�meer dan één uitvoeropmaak opgegeven�meer dan één bron van willekeurige bytes gegeven�er is meer dan één relatieve wijziging opgegeven�meerdere rollen gegeven�meer dan één bestemmingsmap opgegeven�meerdere typen gegeven�meerdere gebruikers gegeven�noch de symbolische koppeling %s noch waar deze naar verwijst is veranderd �geen omgevingsvariabele SHELL en geen shell-optie gegeven�de eigenaar van %s is onveranderd �geen commando gegeven�geen conversie-optie gegeven�geen bestandssystemen verwerkt�geen bestanden meer over�geen invoer van %s�geen inlognaam�geen proces-ID gegeven�er mag geen opmaaktype gegeven worden als symboolnamen getoond worden�als '-l' wordt gebruikt, moet minstens één gebruikersnaam gegeven worden�argument is geen geheel getal�niet-overdraagbaar teken %s in bestandsnaam %s�geen TTY�zal niet schrijven via loze symbolische koppeling %s�getal in %s is te groot�maximaal aantal parallelle processen mag niet nul zijn�aantal bytes�aantal regels�numerieke startwaarde is te groot voor lengte van achtervoegsel�verouderde sleutel %s is gebruikt; gebruik liever %s�positie werd te groot tijdens lezen van bestand %s�map %s wordt overgeslagen�slechts één '[t*]'-herhalingsconstructie mag voorkomen in SET2�er mag slechts één apparaat gegeven worden�er mag slechts één soort lijst worden opgegeven�openen is mislukt�optie '-%s' wordt genegeerd�opties '-%s' worden genegeerd�optie '-r' betreft alleen de noodvergelijking�optie '--output': veld '%s' is onbekend�optie '--output': veld '%s' is meerdere keren opgegeven�optie is gebruikt in een ongeldige context -- %c�de opties '%s' en '%s' sluiten elkaar uit�opties '-%s' gaan niet samen�de opties '--backup' en '--no-clobber' sluiten elkaar uit�de opties '--compare' (-C) en '--preserve-timestamps' sluiten elkaar uit�de opties '--compare' (-C) en '--strip' sluiten elkaar uit�onvoldoende geheugen beschikbaar (%zu bytes werden gevraagd)�achtervoegsels voor uitvoerbestanden zijn verbruikt�overloop bij het vergroten van de grootte van bestand %s�overloop bij naar boven afronden van de grootte van bestand %s�de eigenaar van %s blijft dezelfde �de eigenaar van %s blijft %s �paginanummer loopt over�te smalle paginabreedte�behouden van toegangsrechten van %s�behouden van tijdsstempels van %s�alle herhaalde regels én de herhalingsaantallen tonen is onzin�de eindpunten van bereik '%s-%s' staan in omgekeerde volgorde�fout bij lezen�lezen is mislukt�lezen van map %s�record is te groot�standaardfoutuitvoer gaat naar standaarduitvoer�leeg normaal bestand�normaal bestand�%s is verwijderd �map %s is verwijderd �verwijderen van map %s�run-level�semafoor�scheidingsteken mag niet leeg zijn�zet LC_ALL='C' om het probleem te omzeilen�instellen van vlaggen voor %s�instellen van toegangsrechten van %s�instellen van tijdsstempels van %s�gedeeld geheugenobject�de som van de argumenten van '-j' en '-N' is te groot�%s wordt overgeslagen, omdat deze zich op een ander apparaat bevindt�bestand %s wordt overgeslagen, omdat het werd vervangen tijdens het kopiëren�socket�wachtrij-overloop in SQUFOF�standaardfoutuitvoer�standaardinvoer�standaardinvoer is gesloten�standaarduitvoer�opvragen van bestandsstatus is mislukt�standaardfoutuitvoer�standaardinvoer�standaarduitvoer�verdwaald teken in veldspecificatie�vergelijken van tekenreeksen is mislukt�transformatie van tekenreeks is mislukt�het proces 'strip' is abnormaal afgesloten�het onderdrukken van onbegrensde regels heeft alleen zin als met velden gewerkt wordt�symbolische koppeling�syntaxfout�gestart�tab-grootte of -positie mag niet 0 zijn�tab-grootte of -positie bevat ongeldig(e) teken(s): %s�tab-posities moeten toenemen�tab-positie is te groot: %s�tabpositie is te groot�tabposities zijn te ver uit elkaar�doel %s is geen map�een doelmap is niet toegestaan bij het installeren van een map�term=�'test'/'['�de opties '--binary' en '--text' gelden niet voor het verifiëren van controlesommen�de optie '--compare' (-C) wordt genegeerd bij een modus met non-toegangsrechten�de optie '--quiet' geldt alleen voor het verifiëren van controlesommen�de optie '--status' geldt alleen voor het verifiëren van controlesommen�de optie '--strict' geldt alleen voor het verifiëren van controlesommen�de optie '--tag' geldt niet voor het verifiëren van controlesommen�de optie '--warn' geldt alleen voor het verifiëren van controlesommen�bij omzetting mag de '[t*]'-constructie alleen in SET2 voorkomen�de '[t*]'-herhalingsconstructie mag niet voorkomen in SET1�het argument %s begint niet met een plusteken; als een optie gebruikt wordt om een datum op te geven, moet een gewoon argument een opmaaktekenreeks zijn die begint met '+'�het scheidingsteken moet een enkel teken zijn�het gemonitorde commando heeft een geheugendump gemaakt�de opties voor duidelijke en voor 'stty'-leesbare uitvoer gaan niet samen�de opties voor syntax en kleurenlijst gaan niet samen�de opties om de tijd te tonen of in te stellen gaan niet samen�de gegeven opties om datums te tonen gaan niet samen�de te vergelijken tekenreeksen waren %s en %s�de strip-optie mag niet gebruikt worden bij het installeren van een map�de lengte van het achtervoegsel moet minstens %zu zijn�de niet-getransformeerde tekenreeks was %s�tijd %s valt buiten bereik�om gebruikers-ID %s te kunnen gebruiken moet u ook '-g' gebruiken�te weinig X'en in sjabloon %s�te veel specificaties voor %%-conversie in achtervoegsel�te veel tekens in de set�te veel herhaalde regels�te veel sjablonen�totaal�doorlopen is mislukt: %s�zelfstandig geheugenobject�UID=%s�kan foutmelding niet tonen�kan de huidige werkmap niet vastleggen�kan beveiligingscontext %s niet instellen�onverwachte fout: fts_info=%d: %s gaarne rapporteren aan %s�onbekende tweezijdige operator�onbekende afsluitwaarde (0x%X) van commando�onbekende gegevensstroom�onbekend gebruikers-ID: %s�niet-ontleedbare waarde in omgevingsvariabele LS_COLORS�onbekend bestandssysteemtype 0x%08lx voor %s; rapporteer dit a.u.b. aan %s; teruggevallen op polsen�niet-herkend argument: %s�niet-herkend voorvoegsel: %s�in bedrijf %2d:%02d, �in bedrijf %ld dag %2d:%02d, �in bedrijf %ld dagen %2d:%02d, �in bedrijf ???? dagen ??:??, �gebruik '--no-preserve-root' om deze drempel te omzeilen�sorteerregels van %s worden gebruikt�gebruik van %s om standaardinvoer aan te duiden werkt niet in bestandssysteem-modus�eenvoudige byte-vergelijking wordt gebruikt�waarde is te groot om geconverteerd te kunnen worden: '%s'�wachten op %s [-d]�wachten op dochterproces�wachten op 'strip'�waarschuwing: �waarschuwing: %s: tekens na tekenconstante zijn genegeerd�waarschuwing: %s: kan beveiligingscontext niet veranderen naar %s�waarschuwing: 'touch %s' is verouderd; gebruik 'touch -t %04ld%02d%02d%02d%02d.%02d'�waarschuwing: '--pid=PID' wordt niet ondersteund op dit systeem�waarschuwing: '--retry' is gewoonlijk alleen nuttig bij volgen op naam�waarschuwing: procesnummer is genegeerd; '--pid=PID' is alleen zinvol bij volgen�waarschuwing: een onaangehaalde backslash aan het eind van een tekenreeks is niet overdraagbaar�waarschuwing: backslash aan eind van opmaakaanduiding�waarschuwing: kan %s niet verwijderen�waarschuwing: uitschakelen van geheugendumps is mislukt�waarschuwing: het onbeperkt volgen van standaardinvoer is ineffectief�waarschuwing: overbodige argumenten worden genegeerd, beginnend bij %s�waarschuwing: positie in bestand klopt niet meer na mislukte leesopdracht�waarschuwing: ongeldige breedte %lu; zal %d gebruiken�waarschuwing: regelnummer %s is gelijk aan het voorgaande regelnummer�waarschuwing: bronbestand %s is meerdere keren opgegeven�fout: totalen tonen gaat niet samen met '--max-depth=%lu'�opmerking: totalen tonen is hetzelfde als '--max-depth=0'�waarschuwing: de octale code \%c%c%c is niet eenduidig en wordt hier geïnterpreteerd als de volgende twee bytes: \0%c%c, %c�Waarschuwing: kan timer niet aanmaken�Waarschuwing: kan timertijd niet instellen�waarschuwing: onbekende stuurcode '\%c'�waarschuwing: er wordt om de 'lseek'-kernelfout heen gewerkt voor bestand %s met mt_type=0x%0lx -- zie <sys/mtio.h> voor de lijst met typen�merkwaardig bestand�als SET1 niet ingekort wordt, mag SET2 niet leeg zijn�bij het lezen van bestandsnamen van standaardinvoer is bestandsnaam %s niet toegestaan�als een uitvoerstijl gegeven is mogen geen modussen ingesteld worden�bij omzetting met gecomplementeerde tekenklassen moet SET2 alle tekens in het domein naar één afbeelden�tijdens een omzetting met SET1 langer dan SET2, mag de laatste tekenreeks niet eindigen op een tekenklasse�bij omzetting zijn in SET2 alleen de tekenklassen 'upper' en 'lower' toegestaan�zal %s niet kopiëren via zojuist gemaakte symbolische koppeling %s�zal geen harde koppeling %s maken naar map %s�zal zojuist aangemaakte %s niet overschrijven met %s�met '--parents' moet de bestemming een map zijn�met '--suffix' moet sjabloon %s eindigen op een X�met FILE=%s, afsluitwaarde %d van commando: %s�met FILE=%s, signaal %s van commando: %s�fout bij schrijven�fout bij schrijven naar %s�schrijven is mislukt�schrijven naar %s�u moet -c, -l, -r, -t, -u, of een context opgeven�u moet een lijst van bytes, tekens, of velden geven�u moet een relatieve %s opgeven bij %s�u moet ofwel %s ofwel %s opgeven�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% records gelezen %+% records geschreven �% afgebroken record �% afgebroken records �% byte (%s) gekopieerd�% bytes (%s) gekopieerd�afkorten op % bytes van uitvoerbestand %s is mislukt�positie is te groot: kan niet afkorten tot een lengte van seek=% (%lu-byte) blokken�afkorten op % bytes van uitvoerbestand %s is mislukt�%s:%: is niet gesorteerd: %.*s�het reserveren van % bytes voor een invoer-/uitvoerbuffer is mislukt �%s: %: onjuist opgemaakte regel met %s-controlesom�WAARSCHUWING: % regel is onjuist opgemaakt�WAARSCHUWING: % regels zijn onjuist opgemaakt�WAARSCHUWING: % getoond bestand kan niet gelezen worden�WAARSCHUWING: % getoonde bestanden kunnen niet gelezen worden�WAARSCHUWING: % berekende controlesom komt NIET overeen�WAARSCHUWING: % berekende controlesommen komen NIET overeen�startpaginanummer % is hoger dan het aantal pagina's %�Pagina %�overloop in % * %-byte blokken voor bestand %s�afkorten van %s op % bytes is mislukt��������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/po/fr.gmo����������������������������������������������������������������������������0000664�0000000�0000000�00001305746�12107204516�012115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ•���F��0���`2��ƒ��d�����œ†�����¬†��ì†������$Š�����%Š��¬���'Š��¡���ÔŠ��6��v‹��ø���­Œ��¾���¦��¿���eŽ��Â���%��ª���è��G��“��ù���Û‘��º���Õ’��p���“��!��”��¼���#•��©��à•��w��Š—��5��™��R��8š��~���‹›�� ��� œ��\���œ��w���uœ��T���íœ��G���B��]���Š��ï���è��w���Øž��¡���PŸ��#��òŸ����¡��š���¢��Ä���¶¢��D��{£��7��À¥��z���ø¦����s§�����u¨��Þ���©��i���â©��J���Lª��·��—ª��›���O¬�����ë¬��¸���m­��ˆ���&®��È���¯®��„���x¯��M��ý¯��à���K±��›���,²��š��Ȳ��—���c´��Ó���û´��`���ϵ��‚���0¶�����³¶����´·��>���ɸ��3��¹��|���<º��Ý���¹º��K��—»��=���ã¼��l���!½��0���޽��D���¿½����¾��ž��¿��K��½À��Ê��� Â��–���ÔÂ��-��kÃ��Ê���™Å��ç���dÆ��J���LÇ��ð���—Ç����ˆÈ��‡���™É��¾���!Ê��á���àÊ��E���ÂË��>���Ì��Ë���GÌ��Œ���Í��ü��� Í��æ���Î��¿���„Ï����DÐ��9���VÑ�����Ñ�����§Ñ��t��¼Ñ��¼���1Ó��ó���îÓ��š���âÔ��¾���}Õ��F��<Ö��Ì���ƒ×��°���PØ��Ü���Ù����ÞÙ��Ð��òÚ�� ��ÃÜ�����äÝ����åÞ��Ð��øß��y���Éá��þ��Câ�����Bä��1��Rä��Ë���„ç��‰���Pè����Úè��H���øé��7���Aê��¼���yê��F���6ë��ì���}ë��v���jì�� ���áì��¡��íì��¾��î��Ð��Nð��u���ò��F��•ò��q���Üô��[��Nõ��:���ªö��æ���åö��J���Ì÷��1��ø��S��Iù��u���ú��N���û��S��bû��u���¶ü��ë���,ý��›���þ��†���´þ��,���;ÿ��“��hÿ��ƒ���ü��º���€���;����S����Ó�ß���d�è��D�C��-�\��q�‹���Î �Õ��Z �i���0 �A���š �x���Ü �v���U�Ø��Ì�š���¥���@�Â���V�I����·���c�›����z���·�3���2�û��f�g��b�G���Ê�J����p���]�5���Î�s������x�3��—���Ë�I��ê�×���4�ò��� �É���ÿ �Ê���É!�ð���”"�–��…#�Ô���%�"��ñ%�Ó���'�¬���è'�¤���•(�i���:)�õ���¤)�˜���š*���3+�Z���D,�ù���Ÿ,����™-�.��'.�Å��V/�ž���1�G��»1�È���3�M��Ì3�5���5�4���P5�‰���…5�Â��6�F���Ò7�Ò���8�Ö���ì8�µ��Ã9�©��y<�O��#>�í��s?���aA� ��ñB�£��þC�y��¢E� ��G�o���=H�n���­H�\��I�'��yJ� ��¡L�B���®M�F���ñM���8N�Ë��SO���Q�9��>R���xS���˜T�¢���)V�Ö���ÌV�¡��£W�Ê���EY�E���Z�J���VZ�Ò���¡Z� ��t[���‚\�º��‘]�×���L_�&��$`�¹��Ka�¿���c���Åc�Ý���Ëf�+���©g�N���Õg�Ò���$h�’���÷h�°���Ši�Ë���;j�»���k�¡��Ãk�›���em�…��n�È���‡o�B���Pp���“p�u���¨q���r�1���4s�±��fs�ò���u�G��� v����Sv�Ë���ãv�ƒ���¯w�ƒ���3x�k��·x�‚��#{�¢��¦|�4��I~���~���€�´��£�í���Xƒ� ��F„�ª��Q…���ü†�Ó���ˆ�<���Öˆ�‘���‰�Ò���¥‰�º��xŠ�ª��3Œ�K���Þ���*Ž�ü���/�Ä���,�z���ñ�þ���l‘�µ���k’�ô��!“�Ï���•����æ•�f��v–�5��Ý—�ˆ���™�1���œ™�û��Ι�H���Ê›�;��œ�B���O�Æ���’�!��Yž�È���{ �ý���D¡�q��B¢�Y��´£�ü���¥�L��� ¦�×���X¦�T��0§�#��…¨�Ç���©©�÷��qª�Þ���i¬�³��H­�ƒ���ü®�Ñ���€¯�V��R°�i���©±�Í���²�Ä���á²�Ñ���¦³�ë���x´�K��dµ���°¶�D��¿·����¹�Ó���’¹�Ä��fº�I���+¼���u¼���“½�H���!¿�3���j¿�O��ž¿�c��îÁ� ��RÃ�=��sÄ���±Å�ê��ÌÆ�*��·È�’���âÉ�F���uÊ�C���¼Ê�X���Ë�>���YÌ�?���˜Ì� ��ØÌ�«���ãÍ�9���Î�S���ÉÎ�š��Ï�m���¸Ð�û���&Ñ�ä���"Ò�¨��Ó�I��°Ô�§���úÖ�$���¢×�(���Ç×�<���ð×�ú���-Ø�$���(Ù�%���MÙ�*���sÙ���žÙ�:���½Ú�}���øÚ�|���vÛ�"��óÛ�&���Þ� ���=Þ�9���^Þ�#���˜Þ�$���¼Þ�!���áÞ�E���ß�Ý���Iß�:���'à�}���bà�:���àà�,���á�"���Há� ���ká� ���vá�ç���„á�,��lâ�X��™ã�;���òä�|��.å���«æ�Ô���¿ç�Ü���”è�þ���qé� ���pê����{ê� ���€ê����Œê����•ê����žê����¦ê����¯ê����µê���Èê�&���äë� ��� ì� ���ì����!ì����4ì����Gì����\ì����zì� ���–ì�+���·ì����ãì����üì�?���í�D���Wí�0���œí����Íí�)���æí����î�0���$î�"���Uî����xî�'���ˆî� ���°î����¾î�!���Óî����õî�"���ï����8ï����Uï�/���[ï� ���‹ï����¬ï����Äï�#���Úï����þï����ð�>���4ð�"���sð����–ð�%���µð�B���Ûð�*���ñ����Iñ����hñ����zñ�)���Šñ����´ñ�%���Ññ�,���÷ñ����$ò�#���4ò�"���Xò�$���{ò���� ò�/���Àò����ðò�8����ó����9ó����Nó����mó����Šó����žó����½ó����Üó� ���ñó����ô����#ô����8ô����Sô����pô����ƒô����•ô����¨ô����¹ô�'���Êô����òô�*��� õ����8õ�$���Võ����{õ����•õ����¥õ� ���¾õ����ßõ�"���õõ����ö����.ö�;���Dö����€ö����“ö����¯ö����Ìö����èö����÷����#÷����@÷����\÷����p÷�"���‡÷����ª÷�,���½÷����ê÷�)���ø����.ø����Kø����\ø�"���{ø�1���žø�'���Ðø����øø�(��� ù� ���2ù�,���Sù�,���€ù�,���­ù�'���Úù�-���ú� ���0ú�(���Qú�(���zú����£ú����¶ú����Ïú�"���êú���� û����û�&���/û����Vû�"���qû� ���”û� ��� û����­û����¿û����Ðû����àû�5���üû�0���2ü�.���cü����’ü����®ü����Îü�"���îü����ý����!ý�+���2ý�%���^ý����„ý�)���¤ý����Îý� ���Ðý����Ýý�<���ôý�1���1þ�,���cþ�0���þ�,���Áþ�#���îþ�0���ÿ����Cÿ�l���Gÿ�;��´ÿ����ð�� ��������6���/�5���f�+���œ�(���È�*���ñ�-����"���J�)���m����—����©����À����×� ���î����ù����þ�����,��� �8���9�)���r� ���œ����¨����º����Ô� ���ã����ð� ���ö���������� ���'� ���1� ���=�k��G����³����»�K���Ó�8�������X�k���a�h���Í����6�‚���Ç� ���J� ���U� ���b�3���n�Š��¢� ���- � ���: �w���D �w���¼ �9���4 �g��n �½���Ö �Ò���” �1���g�9���™�0���Ó��������� ���#�=���0�(���n�ã���—� ���{�$���‡�F���¬����ó�U������Y����b�<��g�\���¤� ����+��� �+���8�0���d� ���•����Ÿ����¦�Ï���µ�1���…����·�I���Ð� ����¬���%����Ò�@���ë�£��,�7���Ð�?�������H����Z����i� ���p����}����‚����ˆ����Ž����”����¥�:���ª�…��å����k�¦�������&���5�×��9���� � ��� ����% ����9 � ���@ ����J ����b ����y ����– ����² �$���Ê ����ï ����!����!� ���+!� ���7!� ���C!����P!� ���a!����m!����!����!����—!����œ!����¢!����2"� ���8"�1���E"� ���w"����…"����–"����°"����Á"� ���Ð"� ���Þ"� ���ë"� ���÷"����#����#���� #� ���&#�#���3#����W#����`#�*���#����ª#�E���­#����ó#����$�M���$���f$�—���x%�®���&�…���¿&�H���E'�o���Ž'�…���þ'����„(����ˆ(����˜(� ���­(�,���»(�&���è(� ���)� ���)� ���&)����3)� ���:)�#���H)�H���l)�2���µ)�g���è)�i��P*�ª���º+�š���e,�;����-����<-���Z-�9���t/�*���®/�A���Ù/�¸���0�†���Ô0�º���[1�;���2�¹���R2�%��� 3����23�†���²3�N���94�T���ˆ4� ��Ý4�7���è6���� 7����?7� ���W7� ���a7����n7� ���s7����7�N���“7�€���â7����c8�Ÿ���~8�º���9�7���Ù9�@���:����R:�D���i:����®:����¿:� ���Ô:����â:����ö:����;����;� ���%;�Ý���3;�1���<�'���C<�J���k<�u���¶<� ���,=� ���:=� ���H=����U=�,���h=�&���•=�*���¼=�;���ç=����#>�c���+>� ��>����›?����«?�5���°?� ���æ?�<���ò?����/@����7@����H@����\@� ���q@����}@�@���…@� ���Æ@����Ó@�$���Ø@� ���ý@�Ñ���A�$���ÚA����ÿA����B����'B�â��:B�&���D�%���DD�C���jD�+���®D����ÚD����ßD� ���îD����üD����E����#E����5E����GE� ���YE�#��fE����ŠF� ���ŸF�,���ªF�j���×F�&���BG� ���iG�'���ŠG�0���²G�4���ãG�~��H����—I����´I����ÑI�–���ðI�)���‡J�Y���±J�'��� K�T���3K�'���ˆK�(���°K����ÙK�X���íK�@���FL����‡L�?���£L�&���ãL�š��� M����¥M����¼M�#���ZN�&���~N����¥N�"���ÄN�T���çN�g���<O�†���¤O�.���+P����ZP�"���yP�+���œP�Y���ÈP�~���"Q�¤���¡Q�ä���FR�=���+S����iS�^���‡S�b���æS� ���IT�¢���jT�F��� U�}���TU�'���ÒU�'���úU�Z���"V�"���}V�`��� V�!���W�!���#W�$���EW� ���jW�¦���‹W�M���2X�>���€X�'���¿X�<���çX�T���$Y����yY����~Y����ƒY����™Y����¯Y����ÄY�ï���ÚY����ÊZ�¹���àZ�D���š[�H���ß[�G���(\� ���p\����z\����\����…\�´��”\�W���I^�B���¡^�k���ä^�s���P_�¬���Ä_�>���q`����°`�;���Ç`�3���a�/���7a�+���ga�'���“a�#���»a����ßa����ÿa����b�<���+b����hb����|b����‚b����ˆb����Ÿb�*���¡b����Ìb����äb����þb�A���c����]c�2���tc�1���§c� ���Ùc����åc�!���øc����d�#���!d����Ed�0���ad����’d����¬d����½d�*���Îd����ùd����e�"���7e����Ze����xe�E���—e�;���Ýe� ���f�,���:f� ���gf�!���ˆf����ªf����Êf�+���éf�#���g�#���9g�,���]g�0���Šg�,���»g�#���èg���� h����'h� ���=h����^h����zh����h����«h����Éh�$���èh�"��� i����0i�'���Fi����ni�5���ˆi�'���¾i����æi�!���üi����j����>j�1���Wj����‰j����™j����¶j����Ïj����èj����üj����k����$k����;k����Uk�(���ek����Žk����§k�.���¼k�2���ëk����l����9l����Tl�%���ml�0���“l�3���Äl����øl�F���m�B���_m�+���¢m�5���Îm�1���n� ���6n����Bn����[n�*���zn����¥n����Àn�)���Ýn����o����o�%���4o�!���Zo� ���|o� ���Šo����˜o����¨o�8���Ão����üo����p����&p����Dp�&���^p�'���…p�<���­p�:���êp�.���%q�!���Tq����vq�&���…q����¬q����Çq����×q����ëq����üq���� r�#���r�'���@r�"���hr�&���‹r����²r����Çr����àr� ���ûr����s����5s����Ls�%���cs����‰s� ���¥s� ���²s����¿s����Òs����çs����ýs����t����'t����;t����Nt�,���et�+���’t�-���¾t�)���ìt�!���u����8u����Wu����ku�8���‚u����»u����Òu����çu����ýu�3���v� ���Cv����Mv� ���^v����jv����v� ���v����™v�#���¬v�"���Ðv� ���óv����w����3w����Dw����`w����tw����Žw����Ÿw����·w����½w����Ïw�%���àw����x����x�$���4x�+���Yx�#���…x�:���©x�!���äx�/���y�'���6y����^y����ty����y����¢y����½y�+���Ýy�*��� z�%���4z����Zz�#���xz�$���œz����Áz�%���×z�!���ýz�'���{�%���G{����m{����{����¡{����³{����Ò{�(���ð{�,���|� ���F|�$���g|����Œ|����¥|����·|����Õ|�*���ó|�$���}�#���C}�%���g}����}�!���­}�&���Ï}����ö}���� ~�(���(~� ���Q~�3���r~�-���¦~����Ô~����ó~�!��� �1���.�'���`����ˆ�1���¨����Ú����ñ���� €����&€����@€�#���Z€�1���~€�.���°€����߀����õ€�����(���'����P� ���h����v����“�(���¨����Ñ����Ö�3���õ�;���)‚�.���e‚����”‚����¬‚����Á‚�$���ß‚�$���ƒ�D���)ƒ����nƒ����‚ƒ����“ƒ����£ƒ����·ƒ����Ѓ����íƒ�%��� „�%���/„����U„����r„����Œ„�-���„����¾„����Õ„�)���ä„�/���…�=���>…�@���|…�:���½…����ø…�!���†����8†�,���J†����w†����“†����¥†�A���¼†�;���þ†����:‡����U‡�!���n‡����‡����¦‡����º‡� ���Õ‡�!���ö‡�%���ˆ�(���>ˆ����gˆ����‚ˆ����–ˆ�*���©ˆ�-���Ôˆ����‰����‰����)‰����B‰����W‰����n‰����‡‰����£‰����¼‰�%���Ô‰�1���ú‰�#���,Š�"���PŠ�"���sŠ�1���–Š����ÈŠ� ���ÞŠ����ìŠ����ýŠ����‹�"���%‹����H‹� ���b‹����p‹����ƒ‹����š‹����­‹����É‹����ß‹�#���ú‹�!���Œ�!���@Œ����bŒ����yŒ����˜Œ����±Œ� ���ÐŒ����ÝŒ����íŒ����þŒ��������)����B����[�!���y����›�"���³����Ö����ö� ���Ž����5Ž����MŽ����bŽ�]���wŽ�G���ÕŽ��������1����L����b�!���x�*���š� ���Å� ���Ò����ó�/����$���7�"���\���������2���²�;���å����!‘����:‘����W‘����u‘�R���Œ‘�L���ß‘����,’�(���D’� ���m’����z’����Š’����œ’����²’�,���Ð’�9���ý’�*���7“�,���b“�/���“����¿“�*���Å“�G���ð“�0���8”�:���i”�#���¤”�'���È”�8���ð”����)•�@���>•�/���•����¯•�7���À•�8���ø•� ���1–����?–�/���[–�-���‹–� ���¹–�0���Å–����ö–����—�#���'—�&���K—�)���r—�*���œ—����Ç—�$���Ü—����˜����˜����2˜����B˜�+���[˜�1���‡˜�"���¹˜� ���ܘ����ý˜����™����&™�#���D™�$���h™����™����«™����À™�!���à™�!���š�%���$š����Jš�%���Yš����š����Žš�7���š�=���Õš����›����1›����F›����e›����›����’›� ���£›����±›�-���É›�C���÷›����;œ�(���Pœ� ���yœ�'���ƒœ����«œ�"���Åœ����èœ����øœ�?����,���H�%���u����›�4���±� ���æ�&���ž� ���.ž�1���:ž�2���lž�#���Ÿž�/���Þ�$���óž�(���Ÿ����AŸ�8���`Ÿ�G���™Ÿ�9���áŸ�#��� ����? �"���^ �$��� ����¦ ����À ����à ����õ ���� ¡����)¡�>���A¡�B���€¡� ���á� ���Ρ����Ú¡����ï¡�����¢����¢� ���0¢�7���=¢� ���u¢����¢����˜¢� ���¯¢� ���¹¢����â�)���Ý¢����£����£����7£����K£�$���`£�-���…£�7���³£����ë£����ò£����¤����¤����&¤����?¤� ���O¤����[¤����b¤����h¤����o¤����¤����¦¤�#���ä�J���ç¤� ���2¥� ���@¥� ���M¥����Y¥�*���n¥����™¥����µ¥����Î¥����ê¥����¦�8���¦����W¦� ���]¦�H���k¦�U���´¦�>��� §�?���I§�?���‰§�8���ɧ�=���¨�>���@¨�3���¨����³¨�(���D©�!���m©�N���©�f���Þ©�>���Eª�@���„ª�#���Ū�<���éª�*���&«����Q«����q«�(���‰«����²«�/���Í«����ý«����¬����0¬����C¬����I¬����^¬����r¬����y¬�*���™¬�!���Ĭ�7���æ¬����­�"���6­����Y­����h­�3���|­�\���°­���� ®����%®����=®�.���M®����|®�0���’®����î�C���Ú®����¯�%���;¯�B���a¯�:���¤¯����߯����ó¯���� °� ���°�H���)°�+���r°�J���ž°�2���é°�8���±�=���U±�@���“±�#���Ô±����ø±�$���²�=���8²�4���v²�.���«²�,���Ú²�<���³����D³�0���Y³�3���г�7���¾³�c���ö³����Z´����p´�"���‡´�t���ª´� ���µ�3���*µ�>���^µ�5���µ�j���Óµ�h���>¶�_���§¶�0���·�,���8·�*���e·�3���·�(���Ä·�&���í·�(���¸� ���=¸����I¸� ���\¸� ���i¸�/���w¸�7���§¸�&���߸� ���¹�­��'¹����Õº�ß���׺�Ì���·»�ù��„¼�T��~¾�Ý���Ó¿�Ü���±À�þ���ŽÁ�µ���Â�·��CÃ���ûÄ�½���Æ�z���ØÆ�(��SÇ�ð���|È�Ö��mÉ�…��DË�v��ÊÌ�­��AÎ����ïÏ����Ð�a���¬Ð�£���Ñ�‡���²Ñ�`���:Ò�~���›Ò�8��Ó�’���SÔ�Å���æÔ�Â��¬Õ�=��o×�¨���­Ø���VÙ�²��mÚ��� Ý�‘��� Þ�m��2ß�¹��� à� ��Zá�x���dâ�S���Ýâ�Û��1ã�Ò��� å�›���àå�ü���|æ�´���yç���.è�š���>é�d��Ùé�"��>ë�±���aì�þ��í���ï�6��ð����Kñ�¤���Ëñ�O��pò�‹��Àó�A���Lõ�ƒ��Žõ�¨���÷���»÷�q��Øø�I���Jú�‹���”ú�1��� û�X���Rû�f��«û�Ñ��ý���äþ�ú���d��«���_�y�� ���…�Œ��›�]���(���†�a��—�¤���ù �ò���ž ���‘ �R���° �U��� ���Y �¦���m����'���+��B���n�H���‹�.���Ô�c����ê��g�Ý���R���0�¾���B�ÿ����„�����†�Õ���Š�"��`�3��ƒ� ��·�;��Å!�>��#�-��@$�<��n%����«'�z��I(����Ä*�~��Ö*�ì���U.�­���B/�c��ð/�T���T1�9���©1�ç���ã1�H���Ë2�Ç���3�—���Ü3� ���t4�Ë��€4���L6���j8�˜���q:� �� ;�w���>�ˆ��Œ>�O���@���e@�o���uA� ��åA�¥��ñB�™���—D�O���1E�g��E�É���éF�-��³G�ï���áH�–���ÑI�,���hJ�õ��•J�¶���‹M���BN�H��HO����‘P�Å���/Q���õQ�†��S�f��–U�ž��ýV�À���œX�™��]Y�r���÷\�r���j]�Ž���Ý]�†���l^�k��ó^���_a�@��xb�Î���¹c�ƒ���ˆd�Ä��� e�Ì���Ñe�‘���žf�A���0g�±��rg�¨��$j�E���Ík�–���l����ªl�A���,m�}���nm�<��ìm�±��)o�Ÿ��Ûp�ã��{r�â���_t�,��Bu�1��ov�ã���¡w�þ���…x�¸��„y�í���={�q��+|� ��}�ä���«~�ë�������|€�?�� �Ø���M‚�u��&ƒ�f���œ„�]��…�”���a†�`��ö†���Wˆ�É���`Š�½��*‹� ��èŒ���ö�E���”�9���Ú�Á����»��Ö�Q���’“���ä“�"��û”�!��–�I��@™�½��Š›�­��H���öŸ�~��¢�û��£� ��Œ¥�0��š§�¢���˨�¤���n©�‰��ª�z��«�&��®�N���?¯�Q���ޝ�`��à¯�ì��A±�s��.´�T��¢µ�B��÷¶�l��:¸�Õ���§º�ý���}»�ü��{¼�5��x¾�O���®¿�l���þ¿���kÀ�O��tÁ�_��ÄÂ�0��$Ä�;��UÆ�o��‘Ç���É�Ý���Ë�>��ùË�9��8Ð�,���rÑ�„���ŸÑ���$Ò�¤���?Ó�è���äÓ���ÍÔ����ÒÕ�9��ÓÖ�Ï��� Ù� ��ÝÙ�à���çÛ�O���ÈÜ�[��Ý����tÞ�g��ß�3���mà�ô��¡à�B��–â�P���Ùã�Ì���*ä���÷ä�Þ���ÿå�Þ���Þæ�<��½ç�g��úê�¥��bí�“��ð�£��œñ�:��@ó�Õ��{ô���Qö�:��f÷�*��¡ø�[��Ìú�[��(ü�Q���„ý�“���Öý�ñ���jþ�q��\ÿ���Î�Q���l�*��¾�X��é���B�—���D�f��Ü�Ý���C �€��! �ù���¢ �Ë���œ�§��h�£���–���´�C���K�I���n���Ù�¨��H�x���ñ�Õ���j�¹��@�Ú���ú� ��Õ�æ��ö���Ý�4��á!�q���#�A��ˆ#�‘��Ê$�o��\&�á���Ì'�ƒ��®(���2+���R,����V.�ã���ô.�ô��Ø/����Í1�ç���M2�÷���53�â���-4�5��5�h��F6�N��¯7�‰��þ8�¤���ˆ:�ä���-;�w��<����Š>�?�� ?�Å��L@�‚���B�8���•B�“��ÎB�¹��bE�¼��G�a��ÙH�‘��;J���ÍK�´��MN�Ï���P�L���ÒP�O���Q�÷��oQ�Q���gS�z���¹S�V��4T�æ���‹U�I���rV�\���¼V�Ð��W�t���êX�O��_Y���¯Z�á��Å[�.��§]�Ð���Ö`�8���§a�<���àa�U���b�þ���sb�8���rc�7���«c�>���ãc�V��"d�E���ye�Š���¿e����Jf�ê��Úf�3���Åi�-���ùi�F���'j�0���nj�/���Ÿj�,���Ïj�}���üj�N��zk�S���Él�Š���m�S���¨m�8���üm�:���5n� ���pn����{n�G��Œn�Ô��Ôo�ð��©q�O���šs���ês�M��ñu�à���?w�ñ��� x�[��y� ���nz����yz� ���~z����‹z����”z����z� ���¥z����¯z����¸z�i��Îz�/���8|� ���h|� ���r|�"���~|�%���¡|����Ç|����â|�%���}�'���(}�3���P}����„}����}�?���¸}�N���ø}�:���G~�&���‚~�6���©~�#���à~�B����&���G����n�2���€����³����Å�/���á����€�#���1€�#���U€� ���y€�;���†€�(���€�!���ë€���� �@���*�(���k� ���”�R���µ�1���‚�4���:‚�9���o‚�K���©‚�G���õ‚�*���=ƒ����hƒ� ���‡ƒ�B���¨ƒ�2���ëƒ�>���„�U���]„����³„�6���΄�2���…�7���8…�*���p…�A���›…����Ý…�K���ò…����>†�(���Y†� ���‚†����£†�7���½†�%���õ†����‡�8���7‡����p‡����†‡�'��� ‡�%���ȇ����î‡����ˆ����ˆ����6ˆ����Lˆ�0���bˆ�&���“ˆ�3���ºˆ�4���îˆ�*���#‰�%���N‰����t‰�"���ˆ‰�)���«‰����Õ‰�*���ð‰�#���Š����?Š�J���_Š����ªŠ����ÁŠ�"���áŠ� ���‹� ���%‹�"���F‹�!���i‹�'���‹‹����³‹�(���É‹�-���ò‹���� Œ�=���7Œ�$���uŒ�9���šŒ�"���ÔŒ����÷Œ�!��� �2���/�4���b�;���—����Ó�:���ð�'���+Ž�5���SŽ�8���‰Ž�5���ÂŽ�3���øŽ�6���,�*���c�4���Ž�5���Ã�!���ù��������7�'���U����}����•�5���¯�&���å�2��� ‘����?‘����O‘����a‘����v‘�%���•‘�*���»‘�E���æ‘�F���,’�>���s’����²’�'���Ò’�'���ú’�(���"“����K“����d“�3���}“�5���±“�!���ç“�6��� ”����@”����E”����W”�K���u”�7���Á”�<���ù”�;���6•�7���r•�/���ª•�;���Ú•����–�‹���–�œ��¥–����B˜����\˜����k˜�?���Š˜�D���ʘ�3���™�4���C™�2���x™�6���«™�+���â™�)���š����8š����Lš����aš����vš� ���‹š����•š����šš� ��� š�7���«š�>���ãš�C���"›����f›�(���n›�&���—›����¾›� ���Í›����Ú›� ���à›����ë›����œ� ���$œ� ���.œ� ���:œ���Hœ� ���È�$���Ô�U���ù�?���Ož� ���ž�t���™ž�n���Ÿ�¤���}Ÿ�•���" � ���¸ ����à� ���Ù �<���å �Î��"¡����ñ¢����£�¡���£�“���ª£�A���>¤�‘��€¤�Ô���¦�ì���ç¦�5���Ô§�>��� ¨�@���I¨����Ѝ����™¨� ���©¨�S���¶¨�7��� ©�%��B©����hª�<���xª�N���µª����«�~��«� ���“¬����Ÿ¬�j��¤¬�}���®� ���®�0���˜®�2���É®�@���ü®����=¯����N¯����U¯�Ò���l¯�C���?°����ƒ°�V��� °����÷°�Ý���±����æ±�L���²�î��R²�U���A´�H���—´����à´����ò´� ���µ� ���µ����µ����#µ����*µ����0µ����7µ� ���Hµ�I���Sµ�Í��µ����k·�Ü���·� ���^¸�k��l¸�%��غ� ���þ¼� ���½����½����.½� ���6½����A½����Z½�&���z½�!���¡½����ý�.���ݽ���� ¾�!���(¾����J¾� ���Y¾� ���e¾� ���q¾����~¾� ���¾����›¾����­¾����¾¾����þ� ���ɾ�²���Õ¾� ���ˆ¿����”¿�I���¤¿� ���î¿����ü¿���� À����*À����=À� ���LÀ� ���ZÀ� ���gÀ� ���sÀ����~À����‚À����†À� ���À�-���ªÀ����ØÀ�)���îÀ�/���Á����HÁ�`���PÁ����±Á����ÅÁ�R���ÙÁ�½��,Â�»���êÃ�Ò���¦Ä�½���yÅ�P���7Æ�t���ˆÆ�˜���ýÆ����–Ç����šÇ����³Ç� ���ÑÇ�>���ßÇ�,���È� ���KÈ� ���WÈ� ���bÈ����oÈ����xÈ�)���ŽÈ�F���¸È�M���ÿÈ�{���MÉ�–��ÉÉ�1��`Ë�Å���’Ì�;���XÍ�"���”Í���·Í�F���7Ð�8���~Ð�H���·Ð�Ø����Ñ�—���ÙÑ�Ô���qÒ�F���FÓ�Ñ���Ó�*���_Ô�‹���ŠÔ�ˆ���Õ�b���ŸÕ�_���Ö�7��bÖ�>���šØ����ÙØ�%���ùØ� ���Ù� ���*Ù����7Ù� ���?Ù����KÙ�\���dÙ�…���ÁÙ�"���GÚ�ò���jÚ�ª���]Û�H���Ü�l���QÜ�0���¾Ü�N���ïÜ����>Ý����PÝ����fÝ����wÝ����‹Ý����œÝ����«Ý� ���ºÝ� ��ÈÝ�F���ÓÞ�<���ß�_���Wß�†���·ß� ���>à� ���Là� ���Zà����gà�?���~à�2���¾à�4���ñà�L���&á����sá�~���…á�3��â����8ã����Hã�U���Oã����¥ã�U���´ã���� ä����ä����%ä����<ä� ���Rä� ���^ä�f���hä����Ïä����ßä�'���åä���� å���å�*���'æ����Ræ�"���dæ����‡æ���¤æ�6���¸è�8���ïè�\���(é�=���…é����Ãé����Èé����×é����çé����ùé����ê����.ê����Jê����fê�/��}ê����­ë����Åë�<���Øë�z���ì�6���ì�0���Çì�7���øì�@���0í�G���qí�Ã��¹í�'���}ï�&���¥ï�(���Ìï�¯���õï�1���¥ð�q���×ð�7���Iñ�j���ñ�7���ìñ�8���$ò����]ò�d���yò�P���Þò�#���/ó�O���Só�.���£ó�¯���Òó����‚ô�µ���¡ô�+���Wõ�.���ƒõ�&���²õ�*���Ùõ�d���ö����iö�˜���éö�6���‚÷�&���¹÷�*���à÷�3��� ø�i���?ø�–���©ø�Ä���@ù� ��ú�E���û�%���Uû�v���{û�x���òû�(���kü�º���”ü�V���Oý�Ÿ���¦ý�/���Fþ�/���vþ�p���¦þ�*���ÿ�n���Bÿ�)���±ÿ�)���Ûÿ�,�����(���2��»���[��]����N���u�7���Ä�X���ü�~���U����Ô����Ù�#���â�#�������*����I�n��i����Ø�×���î�V���Æ�[����^���y����Ø����ê����ð����ô����~��� �P���– �„���ç ����l �·���î �L���¦ ����ó �;��� �1���E �-���w �)���¥ �%���Ï �!���õ ���� ����5 ����O �S���_ �"���³ ����Ö � ���Þ ����è �����4�������<�$���Y����~�L���™����æ�8����;���<����x����‡�+��� ����Ì�C���Ò�&����G���=�.���…����´����Ð�C���é�+���-�,���Y�2���†�)���¹�-���ã�L����B���^�+���¡�>���Í�'��� �(���4�&���]�%���„�6���ª�.���á�3����?���D�E���„�<���Ê�3����&���;����b�.���‚�&���±�+���Ø�+����+���0�*���\�2���‡�2���º� ���í�=����(���L�O���u�.���Å�#���ô�,����K���E�%���‘�@���·�2���ø�*���+�$���V�#���{�+���Ÿ�!���Ë� ���í�'����$���6�,���[�<���ˆ�&���Å�"���ì�D����K���T�!��� �#���Â�%���æ�6��� �>���C�A���‚�.���Ä�[���ó�O���O�@���Ÿ�V���à�Q���7����‰�$���œ�7���Á�C���ù�(���=�(���f�=�������Í�,���è�:��� �K���P ����œ ����¶ � ���Ð �$���ñ �a���!�#���x!�-���œ!�0���Ê!�#���û!�>���"�2���^"�F���‘"�O���Ø"�6���(#�-���_#����#�:���¦#�1���á#����$����3$����Q$�4���l$����¡$�4���½$�9���ò$�"���,%�)���O%����y%�#���–%�"���º%�+���Ý%�*��� &����4&����L&�2���l&�'���Ÿ&����Ç&����Ü&����ð&����'�!���$'����F'�!���b'����„'���� '����¾'�C���Þ'�5���"(�0���X(�:���‰(�,���Ä(�*���ñ(����)����6)�S���S)�*���§)����Ò)����î)���� *�W���#*� ���{*����‡*����š*����©*����Å*����Ù*����é*�1���+�4���:+�,���o+�(���œ+����Å+�*���Ú+����,����$,����D,����],����v,����~,����˜,�8���µ,����î,���� -�.���%-�0���T-�*���…-�A���°-�,���ò-�;���.�2���[.�,���Ž.�!���».����Ý.�&���õ.�(���/�7���E/�;���}/�7���¹/�&���ñ/�-���0�.���F0����u0�4���’0�*���Ç0�1���ò0�2���$1�+���W1����ƒ1����œ1�(���µ1�,���Þ1�E��� 2�9���Q2�6���‹2�9���Â2�$���ü2����!3�!���83�%���Z3�@���€3�)���Á3�/���ë3�-���4�)���I4�6���s4�B���ª4����í4�'��� 5�4���15�#���f5�G���Š5�7���Ò5�%��� 6�%���06�6���V6�F���6�7���Ô6�3��� 7�L���@7�.���7�.���¼7�*���ë7�)���8�/���@8�3���p8�J���¤8�<���ï8�5���,9� ���b9�(���ƒ9�4���¬9����á9����þ9�%���:����5:�3���S:����‡:�-���Œ:�K���º:�S���;�@���Z;����›;����»;�,���Ø;�+���<�1���1<�f���c<����Ê<����ã<����÷<���� =����#=�&���B=�-���i=�6���—=�=���Î=���� >����*>����H>�-���L>����z>����•>�;���±>�O���í>�T���=?�M���’?�H���à?�0���)@�)���Z@����„@�?���ž@�%���Þ@����A�"���A�a���;A�\���A�"���úA�!���B�,���?B����lB����„B����šB�/���¸B�,���èB�/���C�:���EC�!���€C����¢C����»C�9���ÑC�<��� D����HD����[D�!���wD����™D�#���¸D� ���ÜD�'���ýD�%���%E�!���KE�B���mE�>���°E�-���ïE�6���F�-���TF�9���‚F� ���¼F����ÝF����îF����G����!G�1���8G�'���jG����’G����¥G�!���ÂG����äG� ���øG����H�%���9H�:���_H�-���šH�0���ÈH�!���ùH�-���I�!���II�-���kI����™I����¨I����ºI����ÏI�!���ãI�!���J�!���'J�)���IJ�)���sJ����J�%���·J�$���ÝJ�"���K�%���%K����KK����fK����…K�o���žK�T���L����cL�+���€L� ���¬L����ÍL�,���éL�0���M����GM�+���aM����M�J���¨M�1���óM�9���%N�*���_N�%���ŠN�@���°N�C���ñN� ���5O�%���VO�'���|O����¤O�d���ÁO�Y���&P�(���€P�-���©P����×P����íP����Q�$���Q�*���DQ�0���oQ�B��� Q�3���ãQ�?���R�F���WR����žR�9���§R�h���áR�>���JS�K���‰S�6���ÕS�7��� T�M���DT� ���’T�M���³T�9���U����;U�<���QU�<���ŽU����ËU�!���ÜU�8���þU�@���7V����xV�N���‹V����ÚV����öV�1���W�.���BW�-���qW�9���ŸW����ÙW�/���÷W����'X����BX����`X����sX�:���X�;���ËX�/���Y�$���7Y����\Y����{Y����™Y�%���¹Y�-���ßY� ��� Z� ���.Z�'���OZ�1���wZ�(���©Z�*���ÒZ����ýZ�'���[����6[����F[�B���][�P��� [�,���ñ[����\�%���8\�"���^\����\����—\����²\�'���Ä\�G���ì\�\���4]����‘]�4���¥]� ���Ú]�8���å]�!���^�*���@^����k^����}^�V���‘^�S���è^�5���<_����r_�F���_�*���Ô_�)���ÿ_����)`�H���<`�M���…`�+���Ó`�;���ÿ`�2���;a�1���na�*��� a�A���Ëa�P��� b�B���^b�(���¡b�2���Êb�>���ýb�D���<c�%���c�.���§c����Öc�"���öc�"���d����<d�[���\d�[���¸d����e����&e����8e����Re�B���le� ���¯e����¼e�E���Äe� ��� f����f����5f����Sf� ���gf�%���rf�3���˜f�$���Ìf�$���ñf����g����5g�7���Qg�:���‰g�B���Äg����h�!���h����0h����@h����Qh����ph����€h����‘h����ªh����Ãh�2���Üh� ���i�#���0i�4���Ti�a���‰i����ëi����ûi���� j�.���!j�J���Pj�3���›j�(���Ïj�3���øj�%���,k�$���Rk�P���wk����Èk� ���Îk�b���Ûk�R���>l�Q���‘l�R���ãl�R���6m�N���‰m�P���Øm�L���)n�I���vn�â���Àn�,���£o�/���Ðo�l����p�ˆ���mp�R���öp�M���Iq�)���—q�T���Áq�0���r�%���Gr����mr�4���‚r� ���·r�8���Ør�#���s����5s����Ps����as����gs����…s����›s�)���¢s�9���Ìs�3���t�J���:t����…t�#��� t� ���Ät����Ñt�H���ãt�x���,u����¥u����¾u����Ùu�8���ëu����$v�A���?v�!���v�d���£v�,���w�5���5w�n���kw�P���Úw����+x����Ax����^x����rx�V���„x�?���Ûx�g���y�C���ƒy�K���Çy�G���z�`���[z�:���¼z�.���÷z�9���&{�G���`{�?���¨{�M���è{�G���6|�V���~|����Õ|�C���ò|�L���6}�O���ƒ}�t���Ó}����H~����f~�A���…~�²���Ç~����z�C���‹�Q���Ï�P���!€�‰���r€�y���ü€����v�M���ø�7���F‚�2���~‚�8���±‚�6���ê‚�,���!ƒ�,���Nƒ����{ƒ����Žƒ����©ƒ����¼ƒ�5���΃�D���„�+���I„�$���u„����¬��R������Æ��I��a��^��Ð�����������œ����������­������������1��«��…��ü�������·��`�� ���{������"�������|��µ��m��·���&����V�������.��8��à��������)��l������´��Ÿ����������9��œ��'����������*��v��������s��ã��Ô���Š��C��������‰��M��æ��‹��ò����´���/��W��-��Õ��x����¼������Õ��t��â������Z���…��³������Á����Ú���¿��Ø��Ô��e��û��P��R���è���N��Ø��¸��õ������4��£��ˆ��Y��4��ï��t��������ä������³������������ ��Ã��þ���A��Z��%�����q��-�� ��.�������ñ��Ë��>�����¦�������f��±������������������3���O����������ø����������y���š�������a��o���������;��*������� ��I��µ��À��Œ��D��ó��–��þ��S��ç��é��Ó��2����������ú��Ç��Ì��˜��Ë�������„����������������ð��Ù��w��»����+��c���������� ����������'��¤������x������‰��µ��¿�� ���Ø���P��z��G���P���A��m����Z���������À��Ø��Ñ���Å��F��Á������� ���Â��ž��0������Î���Ù��þ��H���»��º��;����£����¦��z��»���•���}��Ô������Ä�������ö������'���L��Á��9��Ÿ��6������6��������š������7��ø��������������E���+���������������½��H��Ä������0��®���ó������¹��’���¢��E��u������A����������?��������2��É����������������‹������U����������«��ë���å���Ò�� ��$������—��²������¢��n�������‘��@���—��M��Î����y��[��{������n���������q�������G�� ��^��ê��������Ž��X��g������á�������|������þ������«��<������c������V��>�����ä��„���e������Ê�������9�������ý��«��ù��°��Ð��"����"�� ����D��������"����r�������������N��D������������j���%��Q����­������J��l��å��ì��u��������è������m��Y���*��§��l������=����������'������?�������ì��·��5��D������g��Æ��,��Ð������¿������5��å������í�� ��ß���������ß��O��V������o������)���*��Z��ð���Ï��ø��/��8��©������ð��q��ý��’����������ù�������°����������w��­��������e��¤��¼��=�������ú������¡��§������!����ˆ��Y��Ÿ�����­������‘������â��a��#��Ò��î���������������ý���Î��U��a�������š��°��®��]��€��E����������ÿ����È��Û��i��^��¤�����������É��è��Þ��������������&������ë��2��k����Ë��\����������G��������“������{��O�������î��ì��p��×��â���������y��Ü��—��8��O��¹��È��†���3��¦��Ñ��-������������������w������W��������'������€��ö���ê���������H��†������Ú��Ÿ������ô��%��›����������„��‘��–��Í��]��A���<����Ï��ë����(��¯�����G������������z��¸��z��È���7��U��‹��Í������������������Ö��Ý��º���™���������� ������������e���r��K��������c������Ý��¯����ë������/��™���� ��g��ñ�� ��¸����M���Ò��������÷������������m����$��Ì����������_��û���ˆ������]��å��~��ó�����������›��Æ����������Ó���ª��5�� ��Ý��¤��•�� ���L����������(��o��}���Š�������’������=�����������������v�������¦��œ���Ê��®������d������†��������è��u��‡��r��?��Ž��q��Ü������Ñ��@��à��’��R��|��x����� ����o���r��”��`����±���������������;��à������¡��������������������¡������´��—��_������™��–�����ü������������ë����²��4��_��Õ��^������m���Ž��&������M����h���¾��9��÷������©��#��Ü������s��€������¯������Û��•��Œ��g�������®����é���Ž��Æ��‹�����k��f������ƒ��� ��?��������������Ù����������%��!��á��Œ��†��Ü��¶�� ������Ì����������¶��� ��è����������´��Ò���ï��;��Æ�������i��~������p��P��ä���©���u���R������é����ž��X��T��C��£���;���3�� ��n��<��®����Ò��-������ò��ð��K��¸��¯����������(�������!������X��-��4��Ç���������������Ý���Å��Q��©��'��Ž��ˆ��µ��Â������������ó��?��@������ö��������ß�������¨��ç������à�������Ó��"��������’����á������›��ê��¦������"������z������‘������b�� ���j��J������������������ ��������N�����������¹���É������ï������%��ô�������$���F��|��6����“��L��§�� ����������»��f��n����������Å������¡���B������]����k����æ��î��B������²���i��������é������¥��������������<��À�������‚��,��š������k����b��n����������k��±��<��Û��È��•��à����”������¼��å��ß��_���Ú��Ä��ò������f��������������õ�����������������•��Þ��b���§������ý��W��°��j������^������������°���������������›��\��t���è������±��ã��p���’��y������F��5������������¦������²��+��æ��o��d���Œ������ó��æ���ˆ���ñ���Ú��K��ó��~��U��� �������V������d�����������������������î��ò���Ð������ü��d��Y������æ������������������×������g��t����������������������é��\��������d����������������������|���D��������������é����®��>��Ö��ÿ��t������$��X��×��ã�������˜���Þ��¾�������·��œ����b��S��¨��¥���O����������„������y��“����ð��š��0��_��¹��…���™������Â�� ������M��$��É��:������õ���¾����������Q�����À������¢������­���Ù��ò��»��N��Ÿ��J��ƒ������������������¬��º��8��¤��ñ����������'��ï������Q��ª��ç��ì������(������B��g������&��(��s��=����ü��ª��ê������9��Ì��)��à��³������T���W���ö��T������,��a������������Þ��·��â��õ����i�� ��Ã��v��‚���ˆ��ï�������û��Í����ú��ê��8���€������Æ��š����ý������H������Y��������b��n������������Í������¥������u��ÿ���,�������w��Ü���“�� ��™��@��Ý��¨���á��”������¶��������E��W������$��.��—���¬��������������������˜��†��ž��{������ì���`��B��–��������Ö����F�������:��ƒ��4��T��Õ����������#��x��������”��Ï������í��\��7���Á��8��›������!����������>��ï����•��d��Õ��½���Ú����������4���‰��Ì������‡��s������~���������²��Á����������á��V��!���������9��Ã��ã��¶��T������R��²���� ��‹�����r���&���Š������L��Ô��T��P�����������:��¿�������%��l������³���M��������I��3��Ä��˜��ç��������������À������Ó������ã��×��Z����‡������î��Î��»������Q��~��Â�� ��o������¯��î��������������������������������í���`������"������«���������j��������…��‘��������†����������õ������Å���������&��¥��+��á��h��¸������������Ý��i��ž����� �� ������È��Â���p��f����ë����������Ö���h��¹��G����������‚������±�� ����������¤��§��� ���‡��A��)��J����Â��w������S���¡������½��÷�����=��0��c���������������„��������Ï����������ž��2��?��|������Ë��>��+����Í�� ��2������³����������\����������Á��[������I��ô��Ê����������¼������˜��Í����������û��À������S��¬��C����Ù������w�������U����������e��Û��f��� ��������}��P������ù��������Œ��7������3��������������ö��B��¼�������h��‚�� ������������Ô������ÿ������Ê��D���t��������h������Å��ø�����]��%��,����������b��2�����������´������l��÷��X���¡������ß����{���������}��5�� ������…������N���–�������Ì�������Å��û��È��1���E��7��E��F����������Ö�����Ð���#��Ê��$������õ������Ë����������Š�� �� ��+������(��æ������q����÷������J��O����.��É��&��…��Š��@��°��������:��l����������Z��Ë������9��D������(����J���B��ú���º��)��;��!������œ��×���ù��ú��-���Ç��������µ��5��6���·����[��)����������Ä�����Ü����ü��A��€���”�� ��¿��ä�� ����7��*��A������¥��������ÿ��í��ì������R��k���â�������*��@��Õ���Œ�������`�������¶������¢���£�������ð��Ä��������,����0���ö����������#��F��H��û����™���������������ô�� ������¯��Ž������� ��������L������u��ù��ƒ�� ��Û��í������ê������º������þ������Ú��Î��0������¸�����ª��=��c��ç����������Ã��U��{�����������������[�������c��3��±��K��� ������v��.��Ò����ä��Ç��`������Ï��ú��¾��������������[��Ó��;��������������C��q��Þ���+���¹��K��£������:��“���j��‰��<������Ñ��ƒ��ø������–��F������ž�������‚��Ê����������}��H������.��÷��ü�������������������”���,������þ��z���½��4��ä��>������É���/������í��ª���Ñ��j��£�����Ÿ��~�������C���ñ��7��¥��s��B���G������ ��¨��1��ý��¶������/���C����������6����������^���¾��S��Š��3����������¿��#��p��/������5���¬��1��ò����Þ������â��p��œ��x��_��v����/������������������I�������6��������K������������������‘������©������L�������Ó��e�������������ß��«��‡���������s�������2��ã��µ���y��N��:������ç���*��0��ø���¢��Ñ��ƒ��Ç������]���€��¼������������������¾����›�������������©��„��@��x�������������´��ô��¬���‚����������������C����v��Î��º��<���-��ñ����S��ÿ��×��#���³������!��a��å��—��‹������1�����Ã��>�������Ù�������Ç��Ø��¨����������§��1����Ð��Ø��˜��[��‰��=��i���Ö��m������������������6��Ô��X��8��V��Û���W��I��ª��Q���‡�� ��¨��­����\������Ï�������ù�����ô��E��Ã���½������“����������h������}��Y����‰���¢��)��:���������.��?������r������½��1�����š„����¢„�,‡��X‡��l‡��€‡��”‡��¨‡��¼‡��Ї��ä‡��ø‡�� ˆ�� ˆ��4ˆ��Pˆ��dˆ��€ˆ��”ˆ��Àˆ��܈��øˆ�� ‰�� ‰��4‰��H‰��\‰��p‰��Œ‰��¨‰��ĉ��à‰��ô‰��Š��ª„��������������� �����������������ÿÿÿÿÊ„��������1���ÿÿÿÿü„��������/���ÿÿÿÿ,…����������ÿÿÿÿ\…�7����������ÿÿÿÿ¦…�����������ÿÿÿÿÖ…�����������ÿÿÿÿð…�����������ÿÿÿÿ†��������(���ÿÿÿÿG†� �������Q���ÿÿÿÿ¢†� �������R���ÿÿÿÿþ†� �������V���ÿÿÿÿ^‡������������������ÿÿÿÿЇ�����������ÿÿÿÿ‘‡� ���������������ÿÿÿÿ»‡����������ÿÿÿÿ܇��������������������������������ÿÿÿÿˆ������������������ÿÿÿÿMˆ������������������ÿÿÿÿyˆ�7������ ���ÿÿÿÿ¹ˆ�D����������ÿÿÿÿ‰�7������� ���ÿÿÿÿV‰�����������ÿÿÿÿv‰�)������� ���ÿÿÿÿ¨‰��������1���ÿÿÿÿà‰��������;�������%���ÿÿÿÿWŠ��������9�������"���ÿÿÿÿËŠ�$�������9����������ÿÿÿÿ>‹� �������3����������ÿÿÿÿ~‹�����������ÿÿÿÿ…‹�������������#���ÿÿÿÿ¿‹������� ���ÿÿÿÿ� � BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: b 512 KB 1000 K 1024 MB 1000*1000 M 1024*1024 and so on for G, T, P, E, Z, Y. � TYPE is made up of one or more of these specifications: a named character, ignoring high-order bit c ASCII character or backslash escape � Traditional format specifications may be intermixed; they accumulate: -a same as -t a, select named characters, ignoring high-order bit -b same as -t o1, select octal bytes -c same as -t c, select ASCII characters or backslash escapes -d same as -t u2, select unsigned decimal 2-byte units � ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is false EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true � --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted � -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files) � -a, --all same as -b -d --login -p -r -t -T -u -b, --boot time of last system boot -d, --dead print dead processes -H, --heading print line of column headings � -b FILE FILE exists and is block special -c FILE FILE exists and is character special -d FILE FILE exists and is a directory -e FILE FILE exists � -l produce long format output for the specified USERs -b omit the user's home directory and shell in long format -h omit the user's project file in long format -p omit the user's plan file in long format -s do short format output, this is the default � -n STRING the length of STRING is nonzero STRING equivalent to -n STRING -z STRING the length of STRING is zero STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal � ARG1 * ARG2 arithmetic product of ARG1 and ARG2 ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2 ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2 � ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 ARG1 - ARG2 arithmetic difference of ARG1 and ARG2 � ARG1 < ARG2 ARG1 is less than ARG2 ARG1 <= ARG2 ARG1 is less than or equal to ARG2 ARG1 = ARG2 ARG1 is equal to ARG2 ARG1 != ARG2 ARG1 is unequal to ARG2 ARG1 >= ARG2 ARG1 is greater than or equal to ARG2 ARG1 > ARG2 ARG1 is greater than ARG2 � FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2 FILE1 -ot FILE2 FILE1 is older than FILE2 � INTEGER copy up to but not including specified line number /REGEXP/[OFFSET] copy up to but not including a matching line %REGEXP%[OFFSET] skip to, but not including a matching line {INTEGER} repeat the previous pattern specified number of times {*} repeat the previous pattern as many times as possible A line OFFSET is a required '+' or '-' followed by a positive integer. � INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 � STRING : REGEXP anchored pattern match of REGEXP in STRING match STRING REGEXP same as STRING : REGEXP substr STRING POS LENGTH substring of STRING, POS counted from 1 index STRING CHARS index in STRING where any CHARS is found, or 0 length STRING length of STRING � a number all lines t number only nonempty lines n number no lines pBRE number only lines that contain a match for the basic regular expression, BRE FORMAT is one of: ln left justified, no leading zeros rn right justified, no leading zeros rz right justified, leading zeros � b create a block (buffered) special file c, u create a character (unbuffered) special file p create a FIFO � # users=%lu � -t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read standard input. � A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars. � A lightweight 'finger' program; print user information. The utmp file will be %s. � A mere - implies -i. If no COMMAND, print the resulting environment. � Adding a z suffix to any type displays printable characters at the end of each output line. � After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available. � An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of: � As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file. � Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between \( and \) or null; if \( and \) are not used, they return the number of characters matched or 0. � Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be: � By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents. � By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are two delimiter characters for separating logical pages, a missing second character implies :. Type \\ for \. STYLE is one of: � By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files. When --reflink[=always] is specified, perform a lightweight copy, where the data blocks are copied only when modified. If this is not possible the copy fails, or if --reflink=auto is specified, fall back to a standard copy. � CHUNKS may be: N split into N files based on size of input K/N output Kth of N to stdout l/N split into N files without splitting lines l/K/N output Kth of N to stdout without splitting lines r/N like 'l' but use round robin distribution r/K/N likewise but only output Kth of N to stdout � Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon � Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking * [-]cdtrdsr enable DTR/DSR handshaking csN set character size to N bits, N in [5..8] � DURATION is a floating point number with an optional suffix: 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. � Display values are in units of the first available SIZE from --block-size, and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). � Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) � Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. � Examples: $ %s --to=si 1000 -> "1.0K" $ %s --to=iec 2048 -> "2.0K" $ %s --to=iec-i 4096 -> "4.0Ki" $ echo 1K | %s --from=si -> "1000" $ echo 1K | %s --from=iec -> "1024" $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Examples: %s -12 file1 file2 Print only lines present in both file1 and file2. %s -3 file1 file2 Print lines in file1 not in file2, and vice versa. � Examples: %s /usr/bin/ -> "/usr" %s dir1/str dir2/str -> "dir1" followed by "dir2" %s stdio.h -> "." � Examples: %s /usr/bin/sort -> "sort" %s include/stdio.h .h -> "stdio" %s -s .h include/stdio.h -> "stdio" %s -a any/str1 any/str2 -> "str1" followed by "str2" � Examples: %s f - g Output f's contents, then standard input, then g's contents. %s Copy standard input to standard output. � Examples: %s root /u Change the owner of /u to "root". %s root:staff /u Likewise, but also change its group to "staff". %s -hR root /u Change the owner of /u and subfiles to "root". � Examples: %s staff /u Change the group of /u to "staff". %s -hR staff /u Change the group of /u and subfiles to "staff". � Examples: Convert seconds since the epoch (1970-01-01 UTC) to a date $ date --date='@2147483647' Show the time on the west coast of the US (use tzselect(1) to find TZ) $ TZ='America/Los_Angeles' date Show the local time for 9AM next Friday on the west coast of the US $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' � Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING. � Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred. � Exit status is 0 if all input numbers were successfully converted. By default, %s will stop at the first conversion error with exit status 2. With --invalid='fail' a warning is printed for each conversion error and the exit status is 2. With --invalid='warn' each conversion error is diagnosed, but the exit status is 0. With --invalid='ignore' conversion errors are not diagnosed and the exit status is 0. � Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument). � FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent' and 'target' (see info page). � FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote � FORMAT controls the output. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) � FORMAT must be suitable for printing one floating-point argument '%f'. Optional quote (%'f) will enable --grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional negative width values (%-10f) will left-pad output. � Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. � If -e is in effect, the following sequences are recognized: � If FILE is -, shred standard output. Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. When operating on regular files, most people use the --remove option. � If FILE is not specified, use %s. %s as FILE is common. If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual. � If FILE is specified, read it to determine which colors to use for which file types and extensions. Otherwise, a precompiled database is used. For details on the format of these files, run 'dircolors --print-database'. � If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. � If MODE is '0' the corresponding stream will be unbuffered. � If MODE is 'L' the corresponding stream will be line buffered. This option is invalid with standard input. � If a FILE is -, copy again to standard output. � If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). � If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use '%s COMMAND > FILE'. � If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND. If no signal is specified, send the TERM signal upon timeout. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL (9) signal, since this signal cannot be caught, in which case the exit status is 128+9 rather than 124. � If the first character of K (the number of bytes or lines) is a '+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return � K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. � KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: � License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. � Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings � Mandatory arguments to long options are mandatory for short options too. � N and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: � NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does for e.g.) then that will override corresponding settings changed by 'stdbuf'. Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O, and are thus unaffected by 'stdbuf' settings. � NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING. � NOTE: your shell may have its own version of %s, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. � Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred. � Note that the -d and -t options accept different time-date formats. � Note, comparisons honor the rules specified by 'LC_COLLATE'. � Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'. � Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. � Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes. � Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] � Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. � Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be: ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2 ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0 � Read standard input if FILE is -. Each PATTERN may be: � Report %s bugs to %s � Report bugs to: %s � SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are: \NNN character with octal value NNN (1 to 3 octal digits) \\ backslash \a audible BEL \b backspace \f form feed \n new line \r return \t horizontal tab � SIGNAL may be a signal name like 'HUP', or a signal number like '1', or the exit status of a process terminated by a signal. PID is an integer; if negative it identifies a process group. � SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double). � SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). � SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round down to multiple of, '%' round up to multiple of. � Sending a %s signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s Options are: � Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line � Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N � The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values: � The data are encoded as described for the base64 alphabet in RFC 3548. When decoding, the input may contain newlines in addition to the bytes of the formal base64 alphabet. Use --ignore-garbage to attempt to recover from any other non-alphabet bytes in the encoded stream. � The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) � The following three options are useful only when verifying checksums: --quiet don't print OK for each successfully verified file --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines � The sums are computed as described in %s. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating input mode ('*' for binary, space for text), and name for each FILE. � The valid format sequences for files (without --file-system): %a access rights in octal %A access rights in human readable form %b number of blocks allocated (see %B) %B the size in bytes of each block reported by %b %C SELinux security context string � This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1). In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies). � To remove a file whose name starts with a '-', for example '-foo', use one of these commands: %s -- -foo %s ./-foo � Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion. � UNIT options: � Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line. Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given. � Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. � Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to %s. � Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. � With no FILE or if FILE is -, read Standard Input. '-F /' by default. � With no FILE, or when FILE is -, read standard input. � With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. � Without any OPTION, print some useful set of identified information. � Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input. � (useful only on systems that can change the ownership of a symlink) � ???� --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -d, -F, --directory allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser) -f, --force remove existing destination files � --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare each pair of source and destination files, and in some cases, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories � --batch-size=NMERGE merge at most NMERGE inputs at once; for more use temp files � --block-size=SIZE scale sizes by SIZE before printing them. E.g., '--block-size=M' prints sizes in units of 1,048,576 bytes. See SIZE format below. -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first � --complement complement the set of selected bytes, characters or fields � --debug annotate the part of the line used to sort, and warn about questionable usage to stderr --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input � --debug print warnings about invalid input � --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file � --field=N replace the number in input field N (default is 1) � --files0-from=F read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input -L, --max-line-length print the length of the longest line -w, --words print the word counts � --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; If F is - then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) � --format=FORMAT use printf style floating-point FORMAT; see FORMAT below for details � --from-unit=N specify the input unit size (instead of the default 1) � --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute � --from=UNIT auto-scale input numbers to UNITs; default is 'none'; see UNIT below � --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping � --grouping use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale) � --header[=N] print (without converting) the first N header lines; N defaults to 1 if not specified � --help display this help and exit � --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k, --kibibytes use 1024-byte blocks � --invalid=MODE failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore � --lookup attempt to canonicalize hostnames via DNS -m only hostname and user associated with stdin -p, --process print active processes spawned by init � --no-preserve-root do not treat '/' specially --preserve-root do not remove '/' (default) -r, -R, --recursive remove directories and their contents recursively -d, --dir remove empty directories -v, --verbose explain what is being done � --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' � --no-preserve=ATTR_LIST don't preserve the specified attributes --parents use full source file name under DIRECTORY � --one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument � --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) � --padding=N pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found � --pid=PID with -f, terminate after process ID, PID dies -q, --quiet, --silent never output headers giving file names --retry keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name � --preserve-context preserve SELinux security context -Z, --context=CONTEXT set SELinux security context of files and directories � --preserve-status exit with the same status as COMMAND, even when the command times out --foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out. -k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent. -s, --signal=SIGNAL specify the signal to be sent on timeout. SIGNAL may be a name like 'HUP' or a number. See 'kill -l' for a list of signals � --reference=RFILE use RFILE's group rather than specifying a GROUP value � --reference=RFILE use RFILE's mode instead of MODE values � --reference=RFILE use RFILE's owner and group rather than specifying OWNER:GROUP values � --reference=RFILE use RFILE's security context rather than specifying a CONTEXT value � --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time � --round=METHOD use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest � --sort=WORD sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort natural sort of (version) numbers within text � --sparse=WHEN control creation of sparse files. See below --strip-trailing-slashes remove any trailing slashes from each SOURCE argument � --strict with --check, exit non-zero for any invalid input � --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix � --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain slash. This option is implied if TEMPLATE does not end in X. � --suffix=SUFFIX add SUFFIX to output numbers, and accept optional SUFFIX in input numbers � --tag create a BSD-style checksum � --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like 'date'; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale � --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name. Unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component � --to-unit=N the output unit size (instead of the default 1) � --to=UNIT auto-scale output numbers to UNITs; see UNIT below � --verbose print a diagnostic just before each output file is opened � --version output version information and exit � --all print the number of installed processors --ignore=N if possible, exclude N processing units � -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb use two stop bits per character (one with '-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (or even parity with '-') � [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters � [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with '\' for uppercase characters � cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke � dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 � ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N � oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 � raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked � sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values � stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed � %% a single % %b ARGUMENT as a string with '\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN and all C format specifications ending with one of diouxXfeEgGcs, with ARGUMENTs converted to proper type first. Variable widths are handled. � %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) � %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d � %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V � %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday � %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) � %d device number in decimal %D device number in hex %f raw mode in hex %F file type %g group ID of owner %G group name of owner � %h number of hard links %i inode number %m mount point %n file name %N quoted file name with dereference if symbolic link %o optimal I/O transfer size hint %s total size, in bytes %t major device type in hex %T minor device type in hex � %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) � %i file system ID in hex %l maximum length of filenames %n file name %s block size (for faster transfers) %S fundamental block size (for block counts) %t file system type in hex %T file system type in human readable form � %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) � %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC � %u user ID of owner %U user name of owner %w time of file birth, human-readable; - if unknown %W time of file birth, seconds since Epoch; 0 if unknown %x time of last access, human-readable %X time of last access, seconds since Epoch %y time of last modification, human-readable %Y time of last modification, seconds since Epoch %z time of last change, human-readable %Z time of last change, seconds since Epoch � %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year � %z +hhmm numeric time zone (e.g., -0400) %:z +hh:mm numeric time zone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. � + TOKEN interpret TOKEN as a string, even if it is a keyword like 'match' or an operator like '/' ( EXPRESSION ) value of EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE -COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page � - +FORMAT (e.g., +%H:%M) for a 'date'-style format � --output-delimiter=STR separate columns with STR � --userspec=USER:GROUP specify user and group (ID or name) to use --groups=G_LIST specify supplementary groups as g1,g2,..,gN � -0, --null end each output line with 0 byte rather than newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like � -0, --null end each output line with 0 byte rather than newline � -A, --address-radix=RADIX output format for file offsets. RADIX is one of [doxn], for Decimal, Octal, Hex or None -j, --skip-bytes=BYTES skip BYTES input bytes first � -A, --auto-reference output automatically generated references -G, --traditional behave more like System V 'ptx' -F, --flag-truncation=STRING use STRING for flagging line truncations � -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize � -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to 'always' or can be 'never' or 'auto'. More info below -d, --directory list directory entries instead of contents, and do not dereference symbolic links -D, --dired generate output designed for Emacs' dired mode � -D create all leading components of DEST except the last, then copy SOURCE to DEST -g, --group=GROUP set group ownership, instead of process' current group -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-x -o, --owner=OWNER set ownership (super-user only) � -D, --all-repeated[=delimit-method] print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines -f, --skip-fields=N avoid comparing the first N fields -i, --ignore-case ignore differences in case when comparing -s, --skip-chars=N avoid comparing the first N characters -u, --unique only print unique lines -z, --zero-terminated end lines with 0 byte, not newline � -D, --date-format=FORMAT use FORMAT for the header date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8) -F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F) � -G, --no-group in a long listing, don't print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 � -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a directory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) � -I prompt once before removing more than three files, or when removing recursively. Less intrusive than -i, while still giving protection against most mistakes --interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i). Without WHEN, prompt always � -L FILE FILE exists and is a symbolic link (same as -h) -O FILE FILE exists and is owned by the effective user ID -p FILE FILE exists and is a named pipe -r FILE FILE exists and read permission is granted -s FILE FILE exists and has a size greater than zero � -L, --dereference follow links -f, --file-system display file system status instead of file status � -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks � -M, --macro-name=STRING macro name to use instead of 'xx' -O, --format=roff generate output as roff directives -R, --right-side-refs put references at right, not counted in -w -S, --sentence-regexp=REGEXP for end of lines or end of sentences -T, --format=tex generate output as TeX directives � -N, --read-bytes=BYTES limit dump to BYTES input bytes -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic chars. 3 is implied when BYTES is not specified -t, --format=TYPE select output format or formats -v, --output-duplicates do not use * to mark line suppression -w[BYTES], --width[=BYTES] output BYTES bytes per output line. 32 is implied when BYTES is not specified --traditional accept arguments in third form above � -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument � -R, --recursive change files and directories recursively � -R, --recursive operate on files and directories recursively � -R, -r, --recursive copy directories recursively --reflink[=WHEN] control clone/CoW copies. See below --remove-destination remove each existing destination file before attempting to open it (contrast with --force) � -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time � -S FILE FILE exists and is a socket -t FD file descriptor FD is opened on a terminal -u FILE FILE exists and its set-user-ID bit is set -w FILE FILE exists and write permission is granted -x FILE FILE exists and execute (or search) permission is granted � -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file � -S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options -t, --omit-header omit page headers and trailers � -T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files -v, --show-nonprinting use octal backslash notation -w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72) � -T, -w, --mesg add user's message status as +, - or ? -u, --users list users logged in --message same as -T --writable same as -T � -W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s � -W, --word-regexp=REGEXP use REGEXP to match each keyword -b, --break-file=FILE word break characters in this FILE -f, --ignore-case fold lower case to upper case for sorting -g, --gap-size=NUMBER gap size in columns between output fields -i, --ignore-file=FILE read ignore word list from FILE -o, --only-file=FILE read only word list from this FILE � -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems � -Z, --context=CTX set the SELinux security context of NAME to CTX � -Z, --context=CTX set the SELinux security context of each NAME to CTX � -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) � -a, --across print columns across rather than down, used together with -COLUMN -c, --show-control-chars use hat notation (^G) and octal backslash notation -d, --double-space double space the output � -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters � -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. See SIZE format below. --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 � -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin � -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) � -a, --archive same as -dR --preserve=all --attributes-only don't copy the file data, just the attributes --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=links � -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline � -a, --suffix-length=N generate suffixes of length N (default %d) --additional-suffix=SUFFIX append an additional SUFFIX to file names. -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file -d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic. FROM changes the start value (default 0). -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines per output file -n, --number=CHUNKS generate CHUNKS output files. See below -u, --unbuffered immediately copy input to output with '-n r/...' � -b, --before attach the separator before instead of after -r, --regex interpret the separator as a regular expression -s, --separator=STRING use STRING as the separator instead of newline � -b, --binary read in binary mode � -b, --binary read in binary mode (default unless reading tty stdin) � -b, --body-numbering=STYLE use STYLE for numbering body lines -d, --section-delimiter=CC use CC for separating logical pages -f, --footer-numbering=STYLE use STYLE for numbering footer lines � -b, --bytes count bytes rather than columns -s, --spaces break at spaces -w, --width=WIDTH use WIDTH columns instead of 80 � -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter � -b, --ignore-leading-blanks ignore leading blanks -d, --dictionary-order consider only blanks and alphanumeric characters -f, --ignore-case fold lower case to upper case characters � -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d -f, --prefix=PREFIX use PREFIX instead of 'xx' -k, --keep-files do not remove output files on errors � -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT -t, --terse print the information in terse form � -c, --bytes=K output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file � -c, --bytes=[-]K print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file � -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed � -c, --check read %s sums from the FILEs and check them � -c, --check, --check=diagnose-first check for sorted input; do not sort -C, --check=quiet, --check=silent like -c, but do not report first bad line --compress-program=PROG compress temporaries with PROG; decompress them with PROG -d � -c, --count prefix lines by the number of occurrences -d, --repeated only print duplicate lines � -c, --crown-margin preserve indentation of first two lines -p, --prefix=STRING reformat only lines beginning with STRING, reattaching the prefix to reformatted lines -s, --split-only split long lines, but do not refill � -c, --no-create do not create any files � -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. � -d, --decode decode data -i, --ignore-garbage when decoding, ignore non-alphabet characters -w, --wrap=COLS wrap encoded lines after COLS character (default 76). Use 0 to disable line wrapping � -d, --delimiter=X use X instead of whitespace for field delimiter � -d, --delimiters=LIST reuse characters from LIST instead of TABs -s, --serial paste one file at a time instead of in parallel � -d, --directory create a directory, not a file -u, --dry-run do not create anything; merely print a name (unsafe) -q, --quiet suppress diagnostics about file/dir-creation failure � -e enable interpretation of backslash escapes -E disable interpretation of backslash escapes (default) � -e enable interpretation of backslash escapes (default) -E disable interpretation of backslash escapes � -e, --canonicalize-existing all components of the path must exist -m, --canonicalize-missing no components of the path need exist -L, --logical resolve '..' components before symlinks -P, --physical resolve symlinks as encountered (default) -q, --quiet suppress most error messages --relative-to=FILE print the resolved path relative to FILE --relative-base=FILE print absolute paths unless paths below FILE -s, --strip, --no-symlinks don't expand symlinks -z, --zero separate output with NUL rather than newline � -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -z, --zero-terminated end lines with 0 byte, not newline � -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append '*' --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso � -f omit the line of column headings in short format -w omit the user's full name in short format -i omit the user's full name and remote host in short format -q omit the user's full name, remote host and idle time in short format � -f same as -t fF, select floats -i same as -t dI, select decimal ints -l same as -t dL, select decimal longs -o same as -t o2, select octal 2-byte units -s same as -t d2, select decimal 2-byte units -x same as -t x2, select hexadecimal 2-byte units � -f FILE FILE exists and is a regular file -g FILE FILE exists and is set-group-ID -G FILE FILE exists and is owned by the effective group ID -h FILE FILE exists and is a symbolic link (same as -L) -k FILE FILE exists and has its sticky bit set � -f, --canonicalize canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist -e, --canonicalize-existing canonicalize by following every symlink in every component of the given name recursively, all components must exist � -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) � -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent -F same as --follow=name --retry � -f, --force if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used) -i, --interactive prompt before overwrite (overrides a previous -n option) -H follow command-line symbolic links in SOURCE � -f, --force change permissions to allow writing if necessary -n, --iterations=N overwrite N times instead of the default (%d) --random-source=FILE get random bytes from FILE -s, --size=N shred this many bytes (suffixes like K, M, G accepted) � -f, --format=FORMAT use printf style floating-point FORMAT -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by padding with leading zeroes � -g like -l, but do not list owner � -g GID[,GID1...] also set the primary group-ID to the numeric GID, and (if specified) supplemental group IDs to GID1, ... � -g, --general-numeric-sort compare according to general numerical value -i, --ignore-nonprinting consider only printable characters -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC' � -h, --header-numbering=STYLE use STYLE for numbering header lines -i, --line-increment=NUMBER line number increment at each line -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one -n, --number-format=FORMAT insert line numbers according to FORMAT -p, --no-renumber do not reset line numbers at logical pages -s, --number-separator=STRING add STRING after (possible) line number � -h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8) -J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators � -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) � -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time � -i, --ignore-case ignore differences in case when comparing fields -j FIELD equivalent to '-1 FIELD -2 FIELD' -o FORMAT obey FORMAT while constructing output line -t CHAR use CHAR as input and output field separator � -i, --ignore-environment start with an empty environment -0, --null end each output line with 0 byte rather than newline -u, --unset=NAME remove variable from the environment � -i, --initial do not convert tabs after non blanks -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 � -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) � -i, --input=MODE adjust standard input stream buffering -o, --output=MODE adjust standard output stream buffering -e, --error=MODE adjust standard error stream buffering � -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links � -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M � -k, --key=KEYDEF sort via a key; KEYDEF gives location and type -m, --merge merge already sorted files; do not sort � -l use a long listing format -L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself -m fill width with a comma separated list of entries � -l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63) -m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J � -l, --link hard link files instead of copying -L, --dereference always follow symbolic links in SOURCE � -l, --login print system login processes � -m, --canonicalize-missing canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence -n, --no-newline do not output the trailing delimiter -q, --quiet, -s, --silent suppress most error messages -v, --verbose report error messages -z, --zero separate output with NUL rather than newline � -m, --mode=MODE set file permission bits to MODE, not a=rw - umask � -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory -Z, --context=CTX set the SELinux security context of each created directory to CTX � -n, --adjustment=N add integer N to the niceness (default 10) � -n, --digits=DIGITS use specified number of digits instead of 2 -s, --quiet, --silent do not print counts of output file sizes -z, --elide-empty-files remove empty output files � -n, --lines=K output the last K lines, instead of the last %d; or use -n +K to output lines starting with the Kth --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default %d) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful. � -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -P, --no-dereference never follow symbolic links in SOURCE � -n, --numeric-sort compare according to string numerical value -R, --random-sort sort by random hash of keys --random-source=FILE get random bytes from FILE -r, --reverse reverse the result of comparisons � -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don't treat e.g. control characters specially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file -N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE) � -o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH -r, --no-file-warnings omit warning when a file cannot be opened � -o, --io-blocks treat SIZE as number of IO blocks instead of bytes � -o, --output=FILE write result to FILE instead of standard output -s, --stable stabilize sort by disabling last-resort comparison -S, --buffer-size=SIZE use SIZE for main memory buffer � -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all � -p DIR use DIR as a prefix; implies -t [deprecated] -t interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated] � -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a' -v, --verbose output a diagnostic for every directory processed � -p, --preserve-timestamps apply access/modification times of SOURCE files to corresponding destination files -s, --strip strip symbol tables --strip-program=PROGRAM program used to strip binaries -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -v, --verbose print the name of each directory as it is created � -q, --count all login names and number of users logged on -r, --runlevel print current runlevel -s, --short print only name, line, and time (default) -t, --time print last system clock change � -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is 'ls' and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape � -q, --quiet, --silent never print headers giving file names -v, --verbose always print headers giving file names � -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m � -r, --reference=RFILE base size on RFILE -s, --size=SIZE set or adjust the file size by SIZE � -r, --references first field of each line is a reference -t, --typeset-mode - not implemented - -w, --width=NUMBER output width in columns, reference excluded � -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks � -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the input delimiter � -s, --signal=SIGNAL, -SIGNAL specify the name or number of the signal to be sent -l, --list list signal names, or convert signal names to/from numbers -t, --table print a table of signal information � -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names � -s, --symbolic-link make symbolic links instead of copying -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file � -s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set � -t sort by modification time, newest first -T, --tabsize=COLS assume tab stops at each COLS instead of 8 � -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB � -t, --field-separator=SEP use SEP instead of non-blank to blank transition -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %s; multiple options specify multiple directories --parallel=N change the number of sorts run concurrently to N -u, --unique with -c, check for strict ordering; without -c, output only the first of an equal run � -t, --tabs=LIST use comma separated list of explicit tab positions � -t, --tagged-paragraph indentation of first line different from second -u, --uniform-spacing one space between words, two after sentences -w, --width=WIDTH maximum line width (default of 75 columns) -g, --goal=WIDTH goal width (default of 93% of width) � -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done � -t, --text read in text mode (default if reading tty stdin) � -t, --text read in text mode (default) � -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' � -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text � -u, --remove truncate and remove file after overwriting -v, --verbose show progress -x, --exact do not round file sizes up to the next full block; this is the default for non-regular files -z, --zero add a final overwrite with zeros to hide shredding � -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -x, --one-file-system stay on this file system � -u, --user=USER set user USER in the target security context -r, --role=ROLE set role ROLE in the target security context -t, --type=TYPE set type TYPE in the target security context -l, --range=RANGE set range RANGE in the target security context � -v FILENUM like -a FILENUM, but suppress joined output lines -1 FIELD join on this FIELD of file 1 -2 FIELD join on this FIELD of file 2 --check-order check that the input is correctly sorted, even if all input lines are pairable --nocheck-order do not check that the input is correctly sorted --header treat the first line in each file as field headers, print them without trying to pair them � -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system � -v, --starting-line-number=NUMBER first line number on each logical page -w, --number-width=NUMBER use NUMBER columns for line numbers � -v, --verbose output a diagnostic for every file processed � -w, --check-chars=N compare no more than N characters in lines � -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -Z, --context print any SELinux security context of each file -1 list one file per line � -z, --zero separate output with NUL rather than newline � -z, --zero-terminated end lines with 0 byte, not newline � CONTEXT Complete security context -c, --compute compute process transition context before modifying -t, --type=TYPE type (for same role as parent) -u, --user=USER user identity -r, --role=ROLE role -l, --range=RANGE levelrange � File: "%n" ID: %-8i Namelen: %-7l Type: %T Block size: %-10s Fundamental block size: %S Blocks: Total: %-10b Free: %-10f Available: %a Inodes: Total: %-10c Free: %d � File: %N Size: %-10s Blocks: %-10b IO Block: %-6o %F � Processes in an uninterruptible sleep state also contribute to the load average. � [:graph:] all printable characters, not including space [:lower:] all lower case letters [:print:] all printable characters, including space [:punct:] all punctuation characters [:space:] all horizontal or vertical whitespace [:upper:] all upper case letters [:xdigit:] all hexadecimal digits [=CHAR=] all characters which are equivalent to CHAR � \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) � \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) � \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab � \v vertical tab CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order [CHAR*] in SET2, copies of CHAR until length of SET1 [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 [:alnum:] all letters and digits [:alpha:] all letters [:blank:] all horizontal whitespace [:cntrl:] all control characters [:digit:] all digits � ascii from EBCDIC to ASCII ebcdic from ASCII to EBCDIC ibm from ASCII to alternate EBCDIC block pad newline-terminated records with spaces to cbs-size unblock replace trailing spaces in cbs-size records with newline lcase change upper case to lower case ucase change lower case to upper case sparse try to seek rather than write the output for NUL input blocks swab swap every pair of input bytes sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs � auto accept optional single/two letter suffix: 1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576, � binary use binary I/O for data � cio use concurrent I/O for data � count_bytes treat 'count=N' as a byte count (iflag only) � d[SIZE] signed decimal, SIZE bytes per integer f[SIZE] floating point, SIZE bytes per integer o[SIZE] octal, SIZE bytes per integer u[SIZE] unsigned decimal, SIZE bytes per integer x[SIZE] hexadecimal, SIZE bytes per integer � direct use direct I/O for data � directory fail unless a directory � dsync use synchronized I/O for data � excl fail if the output file already exists nocreat do not create the output file notrunc do not truncate the output file noerror continue after read errors fdatasync physically write output file data before finishing fsync likewise, but also write metadata � fullblock accumulate full blocks of input (iflag only) � iec accept optional single letter suffix: 1K = 1024, 1M = 1048576, ... � iec-i accept optional two-letter suffix: 1Ki = 1024, 1Mi = 1048576, ... � if=FILE read from FILE instead of stdin iflag=FLAGS read as per the comma separated symbol list obs=BYTES write BYTES bytes at a time (default: 512) of=FILE write to FILE instead of stdout oflag=FLAGS write as per the comma separated symbol list seek=N skip N obs-sized blocks at start of output skip=N skip N ibs-sized blocks at start of input status=WHICH WHICH info to suppress outputting to stderr; 'noxfer' suppresses transfer stats, 'none' suppresses all � noatime do not update access time � nocache discard cached data � noctty do not assign controlling terminal from file � nofollow do not follow symlinks � nolinks fail if multiply-linked � nonblock use non-blocking I/O � none no auto-scaling is done; suffixes will trigger an error � none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups � seek_bytes treat 'seek=N' as a byte count (oflag only) � si accept optional single letter suffix: 1K = 1000, 1M = 1000000, ... � skip_bytes treat 'skip=N' as a byte count (iflag only) � sync likewise, but also for metadata � text use text I/O for data � %H:%M%P � (backup: %s)� * [-]ctlecho echo control characters in hat notation ('^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character � * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between '\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters � * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff � * [-]iutf8 assume input characters are UTF-8 encoded � * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return � * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] � * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line � * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it � * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second � ??:???? � TTY� context=%s� egid=%s� euid=%s� gid=%s� groups=� old � on repetition %s �% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y. With no FILE, or when FILE is -, read standard input. *** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values. �%.*s: invalid conversion specification�%b %e %Y�%b %e %H:%M�%lu user�%lu users�%s (for regexp %s)�%s -> %s (unbackup) �%s [-d] terminated abnormally�%s and %s are the same file�%s exists but is not a directory�%s has appeared; following end of new file�%s has become accessible�%s has become inaccessible�%s has been replaced with a remote file. giving up on this name�%s has been replaced with an untailable file; giving up on this name�%s has been replaced; following end of new file�%s has unknown file type�%s has unusable, apparently negative size�%s home page: <%s> �%s home page: <http://www.gnu.org/software/%s/> �%s is not a valid positive integer�%s is too large�%s may be used only on a SELinux kernel�%s subprocess�%s subprocess failed�%s subprocess got fatal signal %d�%s was specified but %s was not�%s would overwrite input; aborting�%s%s argument '%s' too large�%s-%s�%s: %s is so large that it is not representable�%s: %s: line number out of range�%s: %s: match not found�%s: %s:%s: disorder: �%s: '}' is required in repeat count�%s: FAILED open or read �%s: binary operator expected�%s: can make relative symbolic links only in current directory�%s: cannot change nonblocking mode�%s: cannot determine file size�%s: cannot find name for user ID %lu �%s: cannot follow end of this type of file; giving up on this name�%s: cannot lseek back to original position�%s: cannot overwrite directory�%s: cannot rewind�%s: cannot seek�%s: cannot seek to end-relative offset %s�%s: cannot seek to offset %s�%s: cannot seek to relative offset %s�%s: cannot shred append-only file descriptor�%s: cannot skip�%s: cannot skip to specified offset�%s: closing delimiter '%c' missing�%s: couldn't reset non-blocking mode�%s: descend into directory %s? �%s: descend into write-protected directory %s? �%s: end of file�%s: equivalence class operand must be a single character�%s: error truncating�%s: error writing at offset %s�%s: expected a numeric value�%s: failed to close�%s: failed to get extents info�%s: failed to open for writing�%s: failed to remove�%s: failed to reset file pointer�%s: fcntl failed�%s: fdatasync failed�%s: file has negative size�%s: file has shrunk too much�%s: file too large�%s: file too long�%s: file truncated�%s: fstat failed�%s: fsync failed�%s: hard link not allowed for directory�%s: input contains a loop:�%s: input contains an odd number of tokens�%s: input file is output file�%s: integer expected after delimiter�%s: invalid IO block size�%s: invalid PID�%s: invalid chunk number�%s: invalid count at start of %s�%s: invalid directive�%s: invalid field specification %s�%s: invalid file size�%s: invalid file type�%s: invalid maximum number of unchanged stats between opens�%s: invalid number�%s: invalid number of bytes�%s: invalid number of chunks�%s: invalid number of lines�%s: invalid number of passes�%s: invalid number of seconds�%s: invalid number to ignore�%s: invalid option -- '%c' �%s: invalid pattern�%s: invalid process id�%s: invalid regular expression: %s�%s: invalid signal�%s: invalid start value for numerical suffix�%s: invalid suffix length�%s: line number must be greater than zero�%s: line number out of range�%s: lseek failed�%s: multiple signals specified�%s: new permissions are %s, not %s�%s: no properly formatted %s checksum lines found�%s: no size information for this device�%s: no such user�%s: not listing already-listed directory�%s: number of bytes is too large�%s: option '%c%s' doesn't allow an argument �%s: option '%s' is ambiguous; possibilities:�%s: option '--%s' doesn't allow an argument �%s: option '--%s' requires an argument �%s: option '-W %s' doesn't allow an argument �%s: option '-W %s' is ambiguous �%s: option '-W %s' requires an argument �%s: option requires an argument -- '%c' �%s: overwrite %s? �%s: pass %lu/%lu (%s)...�%s: pass %lu/%lu (%s)...%s�%s: pass %lu/%lu (%s)...%s/%s %d%%�%s: read error�%s: remove %s %s? �%s: remove all arguments recursively? �%s: remove all arguments? �%s: remove write-protected %s %s? �%s: removed�%s: removing�%s: renamed to %s�%s: replace %s? �%s: seek failed�%s: too many checksum lines�%s: try to overwrite %s, overriding mode %04lo (%s)? �%s: unable to determine maximum file name length�%s: unable to perform all requested operations�%s: unary operator expected�%s: unrecognized option '%c%s' �%s: unrecognized option '--%s' �%s: value not completely converted�%s: write error�%s: write failed�%s:%lu: invalid line; missing second token�%s:%lu: invalid zero-length file name�%s:%lu: unrecognized keyword %s�%s}: integer required between '{' and '}'�'�')' expected�')' expected, found %s�'-%c' extra characters or invalid number in the argument: %s�'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument�'-N NUMBER' invalid starting line number: %s�'-W PAGE_WIDTH' invalid number of characters: %s�'-l PAGE_LENGTH' invalid number of lines: %s�'-o MARGIN' invalid line offset: %s�'-w PAGE_WIDTH' invalid number of characters: %s�(C)�* file systems that cache in temporary locations, such as NFS version 3 clients * compressed file systems �* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.) * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems * file systems that make snapshots, such as Network Appliance's NFS server �, load average: %.2f�, %g s, %s/s �--%s argument %s too large�--context (-Z) works only on an SELinux-enabled kernel�--filter does not process a chunk extracted to stdout�--grouping cannot be combined with --format�--header ignored with command-line input�--padding cannot be combined with --format�--reflink can be used only with --sparse=auto�--tag does not support --text mode�-R --dereference requires either -H or -L�-R -h requires -P�-ef does not accept -l�-nt does not accept -l�-ot does not accept -l�<internal>�??? �?????�Aborted�Access: %x Modify: %y Change: %z Birth: %w �Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G) �Address family for hostname not supported�Alarm clock�All requests done�Argument buffer too small�Arnold Robbins�Assaf Gordon�Avail�Available�Bad system call�Bad value for ai_flags�Brian Fox�Broken pipe�Bus error�CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes: �COMMENT�CPU time limit exceeded�Call the link function to create a link named FILE2 to an existing FILE1. �Call the unlink function to remove the specified FILE. �Capacity�Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. �Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. �Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. �Change the security context of each FILE to CONTEXT. With --reference, change the security context of each FILE to that of RFILE. �Chet Ramey�Child exited�Colin Plumb�Compare sorted files FILE1 and FILE2 line by line. �Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines �Context: %C �Continued�Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. �Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -, read standard input. �Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. �Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time conv=CONVS convert the file as per the comma separated symbol list count=N copy only N input blocks ibs=BYTES read up to BYTES bytes at a time (default: 512) �Copy standard input to each FILE, and also to standard output. -a, --append append to the given FILEs, do not overwrite -i, --ignore-interrupts ignore interrupt signals �Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied. �Create named pipes (FIFOs) with the given NAMEs. �Create the DIRECTORY(ies), if they do not already exist. �Create the special file NAME of the given TYPE. �David M. Ihnat�David MacKenzie�David Madore�Device: %Dh/%dd Inode: %-10i Links: %-5h Device type: %t,%T �Device: %Dh/%dd Inode: %-10i Links: %h �Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading "-" --portability check for all POSIX systems (equivalent to -p -P) �Directory: �Display file or file system status. �Display the current time in the given FORMAT, or set the system date. �Dmitry V. Levin�Drop any supplemental groups, assume the user-ID and group-ID of the specified USER (numeric ID or user name), and run COMMAND with any specified ARGUMENTs. Exit with status 111 if unable to assume the required user and group ID. Otherwise, exit with the exit status of COMMAND. This program is useful only when run by root (user ID zero). �EMT trap�EXIT�Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field With no FILE, or when FILE is -, read standard input. �Echo the STRING(s) to standard output. -n do not output the trailing newline �Eric Blake�Exit with a status code indicating failure.�Exit with a status code indicating success.�Exit with the status determined by EXPRESSION. �F. Pinard�FAILED�FIXME: unknown�FORMAT must be suitable for printing one argument of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise. �Fifos do not have major and minor device numbers.�File size limit exceeded�Files are created u+rw, and directories u+rwx, minus umask restrictions. �Filesystem�Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output). With no options, matching lines are merged to the first occurrence. �Floating point exception�For complete documentation, run: info coreutils '%s invocation' �For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by whitespace. When FILE1 or FILE2 (not both) is -, read standard input. -a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2 -e EMPTY replace missing input fields with EMPTY �Force changed blocks to disk, update the super block. �General help using GNU software: <http://www.gnu.org/gethelp/> �Giuseppe Scrivano�H. Peter Anvin�Hangup�I/O possible�IDLE�IFree�IUse%�IUsed�Ian Lance Taylor�Idle�If FILE is not specified, use %s. %s as FILE is common. �If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512. �Illegal instruction�In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed, and that will allow a shredded file to be recovered later. �In real life: �In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. �In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man mount). �Infinity�Infinity B�Information request�Inodes�Interrupt�Interrupted by a signal�Invalid back reference�Invalid character class name�Invalid collation character�Invalid content of \{\}�Invalid preceding regular expression�Invalid range end�Invalid regular expression�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Killed�LINE�LOGIN�List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. �Login�Login name: �Lucas prime test failure. This should not happen�Mark Kettenis�Matthew Bradburn�Memory allocation failure�Memory exhausted�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Mounted on�NAME�Name�Name or service not known�Niels Moller�No address associated with hostname�No match�No previous regular expression�Non-recoverable failure in name resolution�OK�Only one string may be given when deleting without squeezing repeats.�Ordering options: �Other options: �Output a permuted index, including context, of the words in the input files. �Output commands to set the LS_COLORS environment variable. Determine format of output: -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS -c, --csh, --c-shell output C shell code to set LS_COLORS -p, --print-database output defaults �Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory). �Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. �Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output. �Output platform dependent limits in a format useful for shell scripts. �Output who is currently logged in according to FILE. If FILE is not specified, use %s. %s as FILE is common. �Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data. �PID�Packaged by %s �Packaged by %s (%s) �Padraig Brady�Paginate or columnate FILE(s) for printing. �Parameter string not correctly encoded�Paul Eggert�Paul Rubin�Pete TerMaat�Plan: �Power failure�Premature end of regular expression�Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: �Print CRC checksum and byte counts of each FILE. �Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX. �Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release �Print checksum and block counts for each FILE. -r use BSD sum algorithm, use 1K blocks -s, --sysv use System V sum algorithm, use 512 bytes blocks �Print group memberships for each USERNAME or, if no USERNAME is specified, for the current process (which may differ if the groups database has changed). �Print information about users who are currently logged in. �Print machine architecture. �Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length. -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts �Print numbers from FIRST to LAST, in steps of INCREMENT. �Print or change terminal characteristics. �Print selected parts of lines from each FILE to standard output. �Print the current time, the length of time the system has been up, the number of users on the system, and the average number of jobs in the run queue over the last 1, 5 and 15 minutes.�Print the file name of the terminal connected to standard input. -s, --silent, --quiet print nothing, only return an exit status �Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the full filename of the current working directory. �Print the last %d lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. �Print the name of the current user. �Print the number of processing units available to the current process, which may be less than the number of online processors �Print the prime factors of each specified integer NUMBER. If none are specified on the command line, read them from standard input. �Print the resolved absolute file name; all but the last component must exist �Print the user name associated with the current effective user ID. Same as id -un. �Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user. -a ignore, for compatibility with other versions -Z, --context print only the security context of the current user -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID �Print value of a symbolic link or canonical file name �Processing request in progress�Profiling timer expired�Project: �Q. Frank Xia�Quit�Randy Smith�Real-time signal %d�Reformat NUMBER(s), or the numbers from standard input if none are specified. �Reformat each paragraph in the FILE(s), writing to standard output. The option -WIDTH is an abbreviated form of --width=DIGITS. �Regular expression too big�Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt -i prompt before every removal �Remove the DIRECTORY(ies), if they are empty. --ignore-fail-on-non-empty ignore each failure that is solely because a directory is non-empty �Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. �Repeatedly output a line with all specified STRING(s), or 'y'. �Report %s bugs to: %s �Report %s translation bugs to <http://translationproject.org/team/> �Request canceled�Request not canceled�Resource lost�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from %d (most favorable to the process) to %d (least favorable to the process). �Run COMMAND with root directory set to NEWROOT. �Run COMMAND, ignoring hangup signals. �Run COMMAND, with modified buffering operations for its standard streams. �Run a program in a different security context. With neither CONTEXT nor COMMAND, print the current security context. �Russell Coker�Scott Bartram�Scott Miller�Segmentation fault�Send signals to processes, or list signals. �Servname not supported for ai_socktype�Set LC_ALL='C' to work around the problem.�Set each NAME to VALUE in the environment and run COMMAND. �Shell: �Show information about the file system on which each FILE resides, or all file systems by default. �Shrink or extend the size of each FILE to the specified size A FILE argument that does not exist is created. If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole) reads as zero bytes. �Simon Josefsson�Size�Special files require major and minor device numbers.�Stack fault�Start COMMAND, and kill it if still running after DURATION. �Stopped�Stopped (signal)�Stopped (tty input)�Stopped (tty output)�Stuart Kemp�Success�Summarize disk usage of each FILE, recursively for directories. �System error�TIME�Temporary failure in name resolution�Terminated�The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible �The strings compared were %s and %s.�Torbjorn Granlund�Trace/breakpoint trap�Trailing backslash�Translate, squeeze, and/or delete characters from standard input, writing to standard output. -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character -t, --truncate-set1 first truncate SET1 to length of SET2 �Try '%s --help' for more information. �Try '%s ./%s' to remove the file %s. �Two strings must be given when both deleting and squeezing repeats.�Two strings must be given when translating.�Type�Ulrich Drepper�Unknown error�Unknown signal %d�Unknown system error�Unmatched ( or \(�Unmatched ) or \)�Unmatched [ or [^�Unmatched \{�Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. �Urgent I/O condition�Usage: %s �Usage: %s COMMAND [ARG]... or: %s OPTION �Usage: %s CONTEXT COMMAND [args] or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Usage: %s EXPRESSION or: %s OPTION �Usage: %s FILE or: %s OPTION �Usage: %s FILE1 FILE2 or: %s OPTION �Usage: %s FORMAT [ARGUMENT]... or: %s OPTION �Usage: %s NAME [SUFFIX] or: %s OPTION... NAME... �Usage: %s NUMBER[SUFFIX]... or: %s OPTION Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days. Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values. �Usage: %s OPTION... COMMAND �Usage: %s OPTION... FILE... �Usage: %s OPTION... [FILE]... �Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]... or: %s [-F DEVICE | --file=DEVICE] [-a|--all] or: %s [-F DEVICE | --file=DEVICE] [-g|--save] �Usage: %s [-WIDTH] [OPTION]... [FILE]... �Usage: %s [-s SIGNAL | -SIGNAL] PID... or: %s -l [SIGNAL]... or: %s -t [SIGNAL]... �Usage: %s [FILE]... or: %s [OPTION] �Usage: %s [NAME] or: %s OPTION Print or set the hostname of the current system. �Usage: %s [NUMBER]... or: %s OPTION �Usage: %s [OPERAND]... or: %s OPTION �Usage: %s [OPTION] �Usage: %s [OPTION] Print the numeric identifier (in hexadecimal) for the current host. �Usage: %s [OPTION] DURATION COMMAND [ARG]... or: %s [OPTION] �Usage: %s [OPTION] NAME... �Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...] or: %s OPTION �Usage: %s [OPTION] [COMMAND [ARG]...] �Usage: %s [OPTION] [FILE] Write totally ordered list consistent with the partial ordering in FILE. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... �Usage: %s [OPTION]... CONTEXT FILE... or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... DIRECTORY... �Usage: %s [OPTION]... FILE PATTERN... �Usage: %s [OPTION]... FILE... �Usage: %s [OPTION]... FILE1 FILE2 �Usage: %s [OPTION]... GROUP FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... LAST or: %s [OPTION]... FIRST LAST or: %s [OPTION]... FIRST INCREMENT LAST �Usage: %s [OPTION]... MODE[,MODE]... FILE... or: %s [OPTION]... OCTAL-MODE FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR] �Usage: %s [OPTION]... NAME... �Usage: %s [OPTION]... SET1 [SET2] �Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ] �Usage: %s [OPTION]... [+FORMAT] or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... �Usage: %s [OPTION]... [-T] SOURCE DEST or: %s [OPTION]... SOURCE... DIRECTORY or: %s [OPTION]... -t DIRECTORY SOURCE... or: %s [OPTION]... -d DIRECTORY... �Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form) or: %s [OPTION]... TARGET (2nd form) or: %s [OPTION]... TARGET... DIRECTORY (3rd form) or: %s [OPTION]... -t DIRECTORY TARGET... (4th form) �Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Usage: %s [OPTION]... [FILE] �Usage: %s [OPTION]... [FILE] or: %s -e [OPTION]... [ARG]... or: %s -i LO-HI [OPTION]... �Usage: %s [OPTION]... [FILE] Base64 encode or decode FILE, or standard input, to standard output. �Usage: %s [OPTION]... [FILE]... �Usage: %s [OPTION]... [FILE]... or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Usage: %s [OPTION]... [FILE]... or: %s [OPTION]... --files0-from=F �Usage: %s [OPTION]... [FILE]... Print or check %s (%d-bit) checksums. With no FILE, or when FILE is -, read standard input. �Usage: %s [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [INPUT [PREFIX]] �Usage: %s [OPTION]... [INPUT]... (without -G) or: %s -G [OPTION]... [INPUT [OUTPUT]] �Usage: %s [OPTION]... [NUMBER]... �Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE... or: %s [OPTION]... --reference=RFILE FILE... �Usage: %s [OPTION]... [TEMPLATE] �Usage: %s [OPTION]... [USERNAME] �Usage: %s [OPTION]... [USERNAME]... �Usage: %s [OPTION]... [USER]... �Usage: %s [OPTION]... [VARIABLE]... Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all. �Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... or: %s LONG-OPTION �Usage: %s [SHORT-OPTION]... [STRING]... or: %s LONG-OPTION �Usage: %s [STRING]... or: %s OPTION �Usage: %s [ignored command line arguments] or: %s OPTION �Usage: test EXPRESSION or: test or: [ EXPRESSION ] or: [ ] or: [ OPTION �Use%�Used�User defined signal 1�User defined signal 2�Valid arguments are:�Valid arguments are: �Valid format sequences for file systems: %a free blocks available to non-superuser %b total data blocks in file system %c total file nodes in file system %d free file nodes in file system %f free blocks in file system �Virtual timer expired�WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following directory is part of the cycle: %s �WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled�WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled�WARNING: ignoring --strip-program option as -s option was not specified�Warning: �When�Where�Window changed�With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. �Wrap input lines in each FILE (standard input by default), writing to standard output. �Write a random permutation of the input lines to standard output. �Write each FILE to standard output, last line first. With no FILE, or when FILE is -, read standard input. �Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input. �Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output. With no FILE, or when FILE is -, read standard input. �Write sorted concatenation of all FILE(s) to standard output. �Written by %s and %s. �Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. �Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, %s, and %s. �Written by %s, %s, %s, %s, and %s. �Written by %s, %s, %s, and %s. �Written by %s, %s, and %s. �Written by %s. �[=c=] expressions may not appear in string2 when translating�^ no match for key �^[nN]�^[yY]�_open_osfhandle failed�`�a command must be given with an adjustment�ai_family not supported�ai_socktype not supported�ambiguous argument %s for %s�an input delimiter may be specified only when operating on fields�appending output to %s�backing up %s would destroy source; %s not copied�backing up %s would destroy source; %s not moved�backup type�block special file�block special files not supported�blocks�both files cannot be standard input�byte offset %s is too large�can't apply partial context to unlabeled file %s�can't get process context�cannot access %s�cannot backup %s�cannot both summarize and show all entries�cannot change ownership of %s�cannot change permissions of %s�cannot change root directory to %s�cannot change to directory %s�cannot chdir to root directory�cannot combine --target-directory (-t) and --no-target-directory (-T)�cannot combine --target-directory and --no-target-directory�cannot combine -e and -i options�cannot combine any two of {ascii,ebcdic,ibm}�cannot combine block and unblock�cannot combine direct and nocache�cannot combine excl and nocreat�cannot combine lcase and ucase�cannot combine mode and --reference options�cannot combine signal with -l or -t�cannot compare file names %s and %s�cannot convert U+%04X to local character set�cannot convert U+%04X to local character set: %s�cannot copy a directory, %s, into itself, %s�cannot copy cyclic symbolic link %s�cannot create directory %s�cannot create fifo %s�cannot create hard link %s to %s�cannot create link %s to %s�cannot create pipe�cannot create regular file %s�cannot create special file %s�cannot create symbolic link %s�cannot create symbolic link %s to %s�cannot create temporary file in %s�cannot dereference %s�cannot determine device and inode of %s�cannot determine hostname�cannot determine location of %s. reverting to polling�cannot do --relative without --symbolic�cannot do ioctl on %s�cannot find name for group ID %lu�cannot find name for user ID %s�cannot follow %s by name�cannot force target context to %s and preserve it�cannot fstat %s�cannot get current directory�cannot get effective GID�cannot get effective UID�cannot get niceness�cannot get real GID�cannot get real UID�cannot get system name�cannot get the size of %s�cannot lseek %s�cannot make both hard and symbolic links�cannot make directory %s�cannot move %s to %s�cannot move %s to a subdirectory of itself, %s�cannot move directory onto non-directory: %s -> %s�cannot open %s for reading�cannot open %s for writing�cannot open directory %s�cannot operate on dangling symlink %s�cannot overwrite directory %s with non-directory�cannot overwrite non-directory %s with directory %s�cannot perform formatted output�cannot preserve extended attributes, cp is built without xattr support�cannot preserve security context without an SELinux-enabled kernel�cannot print "only" of more than one choice�cannot print only names or real IDs in default format�cannot print security context when user specified�cannot read�cannot read directory %s�cannot read file names from %s�cannot read file system information for %s�cannot read realtime clock�cannot read symbolic link %s�cannot read table of mounted file systems�cannot remove %s�cannot remove directory: %s�cannot reposition file pointer for %s�cannot restore fd %d: dup2 failed�cannot run %s�cannot set %s�cannot set date�cannot set group-ID to %lu�cannot set hostname; this system lacks the functionality�cannot set name to %s�cannot set niceness�cannot set time stamps for %s�cannot set user-ID to %lu�cannot skip past end of combined input�cannot specify --null (-0) with command�cannot specify both printing across and printing in parallel�cannot specify number of columns when printing in parallel�cannot specify times from more than one source�cannot split in more than one way�cannot stat %s�cannot stat current directory (now %s)�cannot stat standard input�cannot touch %s�cannot un-backup %s�cannot unlink %s�cannot unset %s�cannot watch %s�cannot watch parent directory of %s�cannot work around kernel bug after all�changed group of %s from %s to %s �changed ownership of %s from %s to %s �changing group of %s�changing ownership of %s�changing permissions of %s�changing security context of %s �character offset is zero�character out of range�character special file�character special files not supported�clearing permissions for %s�clock change�close failed�closing %s (fd=%d)�closing directory %s�closing input file %s�closing input pipe�closing output file %s�closing output pipe�closing prior pipe�closing standard input�compatibility mode supports at most one file�conflicting empty-field replacement strings�conflicting security context specifiers given�could not set buffering of %s to mode %s �couldn't create process for %s -d�couldn't create temporary file�couldn't execute %s�couldn't execute %s -d�couldn't find directory entry in %s with matching i-node�couldn't get boot time�created directory %s�creating directory %s�creating file %s �delimiter list ends with an unescaped backslash: %s�directory�division by zero�dup2 failed�empty %s not allowed�empty file name�empty tab�error closing file�error in regular expression matcher�error in regular expression search�error initializing month strings�error monitoring inotify event�error reading %s�error reading inotify event�error reading input�error waiting for command�error writing %s�executing with FILE=%s �exit=�extra argument %s�extra operand %s�extra operand %s not allowed with -%c�failed to access %s�failed to canonicalize %s�failed to change context of %s to %s�failed to change group of %s from %s to %s �failed to change group of %s to %s �failed to change mode of %s from %04lo (%s) to %04lo (%s) �failed to change ownership of %s �failed to change ownership of %s from %s to %s �failed to change ownership of %s to %s �failed to chdir to %s�failed to clone %s from %s�failed to close %s�failed to close input pipe�failed to compute a new context�failed to convert some of the input numbers�failed to create directory via template %s�failed to create file via template %s�failed to create hard link %s�failed to create hard link %s => %s�failed to create hard link to %.0s%s�failed to create pipe�failed to create security context: %s�failed to create symbolic link %s�failed to create symbolic link %s -> %s�failed to create temporary file in %s�failed to discard cache for: %s�failed to extend %s�failed to find %s�failed to get attributes of %s�failed to get current context�failed to get file system create context�failed to get groups for the current process�failed to get groups for user %s�failed to get security context of %s�failed to lookup file %s�failed to open %s�failed to open %s for reading�failed to open %s for writing�failed to prepare value '%Lf' for printing�failed to preserve authorship for %s�failed to preserve ownership for %s�failed to preserve permissions for %s�failed to preserve times for %s�failed to redirect standard error�failed to redirect stderr to /dev/null�failed to remove %s�failed to remove directory %s�failed to render standard input unusable�failed to reopen %s with mode %s�failed to restore the default file creation context�failed to return to initial working directory�failed to rewind stream for %s�failed to run command %s�failed to run command: "%s -c %s"�failed to set %s security context component to %s�failed to set FILE environment variable�failed to set additional groups�failed to set default file creation context to %s�failed to set group-ID�failed to set new range %s�failed to set new role %s�failed to set new type %s�failed to set new user %s�failed to set supplemental group(s)�failed to set the copy of stderr to close on exec�failed to set the security context of %s to %s�failed to set user-ID�failed to stat %s�failed to turn off O_DIRECT: %s�failed to update the environment with %s�fdatasync failed for %s�fflush failed�field number %s is too large�field number is zero�fields and positions are numbered from 1�fifo�file %d is not in sorted order�file operands cannot be combined with --files0-from�file operands cannot be combined with --print-database (-p)�file system type %s both selected and excluded�fork system call failed�format %s ends in %%�format %s has no %% directive�format %s has too many %% directives�format %s has unknown %%%c directive�format string may not be specified when printing equal width strings�fsync failed for %s�fts_close failed�fts_read failed�fts_read failed: %s�generating relative path�getting new attributes of %s�group of %s retained as %s �grouping cannot be combined with --to�grouping has no effect in this locale�iconv function not available�iconv function not usable�id=�ignoring --no-newline with multiple arguments�ignoring all arguments�ignoring input�ignoring input and appending output to %s�ignoring input and redirecting stderr to stdout�ignoring invalid tab size in environment variable TABSIZE: %s�ignoring invalid value of environment variable QUOTING_STYLE: %s�ignoring invalid width in environment variable COLUMNS: %s�ignoring non-option arguments�incompatible join fields %lu, %lu�incompatible tabs�inotify cannot be used, reverting to polling�inotify resources exhausted�input disappeared�input line is too long�input line is too short, no numbers found to convert in field %ld�inter-device move failed: %s to %s; unable to remove target�invalid %s%s argument '%s'�invalid --%s argument %s�invalid --threshold argument '-0'�invalid adjustment %s�invalid argument %s�invalid argument %s for %s�invalid body numbering style: %s�invalid buffering mode %s for %s �invalid byte, character or field list�invalid character '%c' in type string %s�invalid character class %s�invalid context: %s�invalid conversion�invalid conversion specifier in suffix: %c�invalid conversion specifier in suffix: \%.3o�invalid date %s�invalid date format %s�invalid decreasing range�invalid device %s %s�invalid device type %s�invalid field number: %s�invalid field specifier: %s�invalid field value '%s'�invalid field width: %s�invalid file number in field spec: %s�invalid flags in conversion specification: %%%c%c�invalid floating point argument: %s�invalid footer numbering style: %s�invalid format %s (width overflow)�invalid format %s, directive must be %%['][-][N]f�invalid gap width: %s�invalid group�invalid group %s�invalid group list %s�invalid group: %s�invalid header numbering style: %s�invalid header value '%s'�invalid input�invalid input flag�invalid input range %s�invalid integer %s�invalid integer argument %s�invalid line count %s�invalid line discipline %s�invalid line number field width: %s�invalid line number increment: %s�invalid line numbering format: %s�invalid line width: %s�invalid major device number %s�invalid maximum depth %s�invalid minor device number %s�invalid mode�invalid mode %s�invalid mode: %s�invalid number %s�invalid number after ','�invalid number after '-'�invalid number after '.'�invalid number at field start�invalid number of blank lines: %s�invalid number of bytes�invalid number of bytes to compare�invalid number of bytes to skip�invalid number of columns: %s�invalid number of fields to skip�invalid number of lines�invalid number: '%s'�invalid option -- %c�invalid option -- %c; -WIDTH is recognized only when it is the first option; use -w N instead�invalid output address radix '%c'; it must be one character from [doxn]�invalid output flag�invalid padding value '%s'�invalid page range %s�invalid precision: %s�invalid range with no endpoint: -�invalid repeat count %s in [c*n] construct�invalid spec�invalid starting line number: %s�invalid status flag�invalid suffix %s, contains directory separator�invalid suffix in %s%s argument '%s'�invalid suffix in input '%s': '%s'�invalid suffix in input: '%s'�invalid tab size: %s�invalid template, %s, contains directory separator�invalid template, %s; with --tmpdir, it may not be absolute�invalid time interval %s�invalid time style format %s�invalid trailing option -- %c�invalid type string %s�invalid type string %s; this system doesn't provide a %lu-byte floating point type�invalid type string %s; this system doesn't provide a %lu-byte integral type�invalid unit size: '%s'�invalid universal character name \%c%0*x�invalid user�invalid user %s�invalid width: %s�invalid wrap size: %s�invalid zero-length file name�it is dangerous to operate recursively on %s�it is dangerous to operate recursively on %s (same as %s)�key %lu has zero width and will be ignored�key %lu is numeric and spans multiple fields�large input value '%s': possible precision loss�last=�leading '-' in a component of file name %s�leading blanks are significant in key %lu; consider also specifying 'b'�limit %lu exceeded by length %lu of file name %s�limit %lu exceeded by length %lu of file name component %s�line buffering stdin is meaningless�line count option -%s%c... is too large�line number %s is smaller than preceding line number, %s�line number overflow�long option '--megabytes' is deprecated and will soon be removed�maximum --%s argument with current rlimit is %s�memory exhausted�memory exhausted by input buffer of size %zu bytes (%s)�memory exhausted by output buffer of size %zu bytes (%s)�message queue�minimum --%s argument is %s�misaligned [:upper:] and/or [:lower:] construct�missing %% conversion specification in suffix�missing ']'�missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)�missing argument after %s�missing argument to %s�missing character class name '[::]'�missing conversion specifier in suffix�missing destination file operand after %s�missing equivalence class character '[==]'�missing file operand�missing hexadecimal number in escape�missing list of fields�missing list of positions�missing operand�missing operand after %s�mode must specify only file permission bits�mode of %s changed from %04lo (%s) to %04lo (%s) �mode of %s retained as %04lo (%s) �mount point %s already traversed�moving input pipe�multi-character tab %s�multiple -i options specified�multiple -l or -t options specified�multiple compress programs specified�multiple delimiters specified�multiple levelranges�multiple output files specified�multiple output formats specified�multiple random sources specified�multiple relative modifiers specified�multiple roles�multiple target directories specified�multiple types�multiple users�neither symbolic link %s nor referent has been changed �no SHELL environment variable, and no shell type option given�no change to ownership of %s �no command specified�no conversion option specified�no file systems processed�no files remaining�no input from %s�no login name�no process ID specified�no type may be specified when dumping strings�no username specified; at least one must be specified when using -l�non-integer argument�nonportable character %s in file name %s�not a tty�not writing through dangling symlink %s�number in %s is too large�number in parallel must be nonzero�number of bytes�number of lines�numerical suffix start value is too large for the suffix length�obsolescent key %s used; consider %s instead�offset overflow while reading file %s�omitting directory %s�only one [c*] repeat construct may appear in string2�only one device may be specified�only one type of list may be specified�open failed�option '-%s' is ignored�options '-%s' are ignored�option '-r' only applies to last-resort comparison�option --output: field '%s' unknown�option --output: field '%s' used more than once�option used in invalid context -- %c�options %s and %s are mutually exclusive�options '-%s' are incompatible�options --backup and --no-clobber are mutually exclusive�options --compare (-C) and --preserve-timestamps are mutually exclusive�options --compare (-C) and --strip are mutually exclusive�out of memory (requested %zu bytes)�output file suffixes exhausted�overflow extending size of file %s�overflow rounding up size of file %s�ownership of %s retained �ownership of %s retained as %s �page number overflow�page width too narrow�preserving permissions for %s�preserving times for %s�printing all duplicated lines and repeat counts is meaningless�range-endpoints of '%s-%s' are in reverse collating sequence order�read error�read failed�reading directory %s�record too large�redirecting stderr to stdout�regular empty file�regular file�rejecting suffix in input: '%s' (consider using --from)�removed %s �removed directory: %s �removing directory, %s�run-level�semaphore�separator cannot be empty�set LC_ALL='C' to work around the problem�setting flags for %s�setting permissions for %s�setting times of %s�shared memory object�skip-bytes + read-bytes is too large�skipping %s, since it's on a different device�skipping file %s, as it was replaced while being copied�socket�squfof queue overflow�standard error�standard input�standard input is closed�standard output�stat failed�stderr�stdin�stdout�stray character in field spec�string comparison failed�string transformation failed�strip process terminated abnormally�suppressing non-delimited lines makes sense only when operating on fields�symbolic link�syntax error�system boot�tab size cannot be 0�tab size contains invalid character(s): %s�tab sizes must be ascending�tab stop is too large %s�tab stop value is too large�tabs are too far apart�target %s is not a directory�target directory not allowed when installing a directory�term=�test and/or [�the --binary and --text options are meaningless when verifying checksums�the --compare (-C) option is ignored when you specify a mode with non-permission bits�the --quiet option is meaningful only when verifying checksums�the --status option is meaningful only when verifying checksums�the --strict option is meaningful only when verifying checksums�the --tag option is meaningless when verifying checksums�the --warn option is meaningful only when verifying checksums�the [c*] construct may appear in string2 only when translating�the [c*] repeat construct may not appear in string1�the argument %s lacks a leading '+'; when using an option to specify date(s), any non-option argument must be a format string beginning with '+'�the delimiter must be a single character�the monitored command dumped core�the options for verbose and stty-readable output styles are mutually exclusive�the options to output dircolors' internal database and to select a shell syntax are mutually exclusive�the options to print and set the time may not be used together�the options to specify dates for printing are mutually exclusive�the strings compared were %s and %s�the strip option may not be used when installing a directory�the suffix length needs to be at least %zu�the untransformed string was %s�time %s is out of range�to use user-ID %s you need to use -g too�too few X's in template %s�too many %% conversion specifications in suffix�too many characters in set�too many repeated lines�too many templates�total�traversal failed: %s�typed memory object�uid=%s�unable to display error message�unable to record current working directory�unable to set security context %s�unexpected failure: fts_info=%d: %s please report to %s�unknown binary operator�unknown status from command (0x%X)�unknown stream�unknown user-ID: %s�unparsable value for LS_COLORS environment variable�unrecognized file system type 0x%08lx for %s. please report this to %s. reverting to polling�unrecognized operand %s�unrecognized prefix: %s�up %2d:%02d, �up %ld day %2d:%02d, �up %ld days %2d:%02d, �up ???? days ??:??, �use --no-preserve-root to override this failsafe�using %s sorting rules�using %s to denote standard input does not work in file system mode�using simple byte comparison�value too large to be converted: '%s'�value too large to be printed: '%Lg' (cannot handle values > 999Y)�value too large to be printed: '%Lg' (consider using --to)�waiting for %s [-d]�waiting for child process�waiting for strip�warning: �warning: %s: character(s) following character constant have been ignored�warning: %s: failed to change context to %s�warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'�warning: --pid=PID is not supported on this system�warning: --retry is useful mainly when following by name�warning: PID ignored; --pid=PID is useful only when following�warning: an unescaped backslash at end of string is not portable�warning: backslash at end of format�warning: cannot remove: %s�warning: disabling core dumps failed�warning: following standard input indefinitely is ineffective�warning: ignoring excess arguments, starting with %s�warning: invalid file offset after failed read�warning: invalid width %lu; using %d instead�warning: line number %s is the same as preceding line number�warning: sigprocmask�warning: source file %s specified more than once�warning: summarizing conflicts with --max-depth=%lu�warning: summarizing is the same as using --max-depth=0�warning: the ambiguous octal escape \%c%c%c is being interpreted as the 2-byte sequence \0%c%c, %c�warning: timer_create�warning: timer_settime�warning: unrecognized escape '\%c'�warning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types�weird file�when not truncating set1, string2 must be non-empty�when reading file names from stdin, no file name of %s allowed�when specifying an output style, modes may not be set�when translating with complemented character classes, string2 must map all characters in the domain to one�when translating with string1 longer than string2, the latter string must not end with a character class�when translating, the only character classes that may appear in string2 are 'upper' and 'lower'�will not copy %s through just-created symlink %s�will not create hard link %s to directory %s�will not overwrite just-created %s with %s�with --parents, the destination must be a directory�with --suffix, template %s must end in X�with FILE=%s, exit %d from command: %s�with FILE=%s, signal %s from command: %s�write error�write error for %s�write failed�writing to %s�you must specify -c, -t, -u, -l, -r, or context�you must specify a list of bytes, characters, or fields�you must specify a relative %s with %s�you must specify either %s or %s�Project-Id-Version: coreutils-8.20-pre3 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2013-02-14 15:56+0000 PO-Revision-Date: 2013-02-11 17:08-0400 Last-Translator: David Prévot <david@tilapin.org> Language-Team: French <traduc@traduc.org> Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Lokalize 1.4 � � BYTES est hexadécimal avec un préfixe 0x ou 0X, est peut avoir un suffixe multiplicateur : b 512 ; KB 1000 ; K 1024 ; MB 1000*1000 ; M 1024*1024 ; et ainsi de suite pour G, T, P, E, Z et Y. � TYPE est composé d'une ou plusieurs des spécifications suivantes : a caractère nommé, en ignorant le bit de poids fort c caractère ASCII ou barre oblique inversé protégée � Les spécifications de format traditionnel peuvent être entremêlées ; elles s'accumulent : -a identique à -t a, sélectionner les caractères nommés, en ignorant le bit de poids fort -b identique à -t o1, sélectionner les octets en octal -c identique à -t c, sélectionner les caractères ASCII ou les protections par barre oblique inverses -d identique à -t u2, sélectionner les décimaux non signées sur 2 octets � ( EXPRESSION ) EXPRESSION est vraie ! EXPRESSION EXPRESSION est fausse EXPRESSION1 -a EXPRESSION2 si les deux EXPRESSION1 et EXPRESSION2 sont vraies EXPRESSION1 -o EXPRESSION2 si l'une des deux EXPRESSION1 ou EXPRESSION2 est vraie � --check-order vérifier que l'entrée est correctement triée, même si toutes les lignes en entrée sont appairées --nocheck-order ne pas vérifier que l'entrée est correctement triée � -1 supprimer la colonne 1 (lignes uniques de FILE1) -2 supprimer la colonne 2 (lignes uniques de FILE2) -3 supprimer la colonne 3 (lignes présentes dans les 2 fichiers) � -a, --all identique à -b -d --login -p -r -t -T -u -b, --boot afficher l'heure du dernier démarrage système -d, --dead afficher la liste des processus morts -H, --heading afficher les en-têtes de colonne des lignes � -b FILE FILE existe et est un bloc spécial -c FILE FILE existe et est un caractère spécial -d FILE FILE existe et est un répertoire -e FILE FILE existe � -l afficher au format long pour les USERs indiqués -b omettre le répertoire personnel de l'utilisateur et son interpréteur de commandes au format long -h omettre le fichier de projet de l'utilisateur au format long -p omettre le fichier de plan de l'utilisateur au format long -s afficher au format court, c'est le comportement par défaut � -n STRING la longueur de STRING n'est pas nulle STRING équivalent à -n STRING -z STRING la longueur de STRING est nulle STRING1 = STRING2 les chaînes sont identiques STRING1 != STRING2 les chaînes sont différentes � ARG1 * ARG2 produit arithmétique de ARG1 et ARG2 ARG1 / ARG2 quotient arithmétique de ARG1 divisé par ARG2 ARG1 % ARG2 reste arithmétique ARG1 divisé par ARG2 � ARG1 + ARG2 somme arithmétique de ARG1 et ARG2 ARG1 - ARG2 différence arithmétique entre ARG1 et ARG2 � ARG1 < ARG2 ARG1 si inférieur à ARG2 ARG1 <= ARG2 ARG1 si inférieur ou égal à ARG2 ARG1 = ARG2 ARG1 si égal à ARG2 ARG1 != ARG2 ARG1 si différent de ARG2 ARG1 >= ARG2 ARG1 si supérieur ou égal à ARG2 ARG1 > ARG2 ARG1 si supérieur à ARG2 � FILE1 -ef FILE2 FILE1 et FILE2 ont les mêmes numéros de périphérique et d'inÅ“ud FILE1 -nt FILE2 FILE1 est plus récent (date de modification) que FILE2 FILE1 -ot FILE2 FILE1 est plus ancien que FILE2 � INTEGER copier jusqu'à, sans inclure le nombre de lignes indiqué /REGEXP/[OFFSET] copier jusqu'à, sans inclure une ligne correspondante %%REGEXP%%[OFFSET] ignorer jusqu'à, sans inclure une ligne correspondante {INTEGER} répéter le motif précédent le nombre de fois indiqué {*} répéter le motif précédent autant que possible Une ligne OFFSET nécessite un « + » ou un « - » suivi d'un entier positif. � INTEGER1 -eq INTEGER2 INTEGER1 est égal à INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 est plus grand ou égal à INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 est plus grand que INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 est plus petit ou égal à INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 est plus petit que INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 n'est pas égal à INTEGER2 � STRING : REGEXP motif d'ancrage de correspondance de REGEXP dans STRING match STRING REGEXP identique à STRING : REGEXP substr STRING POS LENGTH sous-chaîne de STRING, POS débute à 1 index STRING CHARS index dans STRING où un des CHARS a été trouvé, sinon 0 length STRING longueur de STRING � a numéroter toutes les lignes t ne numéroter que les lignes non vides n numéroter n lignes pBRE ne numéroter que les lignes correspondantes à l'expression rationnelle de base, BRE FORMAT doit être choisi parmi : ln justifié à gauche, sans zéro en préfixe rn justifié à droite, sans zéro en préfixe rz justifié à droite, avec zéros en préfixe � b créer un fichier spécial de type bloc (avec tampon) c, u créer un fichier spécial de type caractère (sans tampon) p créer un FIFO � nombre d'utilisateurs : %lu � -t est implicite si PAGE_LENGTH <= 10. Sans FILE, ou quand FILE est -, lire l'entrée standard. � Un champ est une suite de blancs (des espaces ou des tabulations en général), suivis de caractères non blancs. Les champs avant les caractères sont ignorés. � Une version allégée du programme « finger » ; afficher les renseignements relatifs à un utilisateur. Le fichier utmp sera %s. � Un simple - implique -i. Si aucune COMMAND n'est fournie, afficher l'environnement résultant. � L'ajout du suffixe « z » à l'un de ces types affiche des caractères imprimables à la fin de chaque ligne de résultat � Chaque attribut est suivi d'un champ optionnel de largeur, sous la forme d'un nombre décimal puis d'un éventuel modificateur suivant : E pour utiliser la représentation localisée alternative si disponible, ou O pour utiliser la représentation localisée alternative de symboles numériques si disponible. � Une EXPRESSION omise est par défaut fausse. Autrement, l'EXPRESSION est vraie ou fausse et initialise l'état de fin d'exécution. Une parmi : � cp réalise une archive de SOURCE dans le cas particulier où les options « force » et « backup » sont utilisées et que SOURCE et DEST portent le même nom qu'un fichier normal existant. � Soyez conscient que plusieurs opérateurs peuvent être neutralisés ou commentés par certains interpréteurs de commande. Les comparaisons sont arithmétiques si les deux arguments sont des nombres, sinon elles sont lexicographiques. Les correspondances de motifs renvoient la chaîne trouvée si elle est encapsulée entre \( et \) ou nul ; si \( et \) ne sont pas utilisées, le nombre de caractères qui correspondent est renvoyé ou 0 sinon. � MAJOR et MINOR doivent tous deux être indiqués quand le TYPE est b, c ou u, et ils doivent être omis lorsque le TYPE est p. Si MAJOR et MINOR, avec 0x ou 0X, sont fournis, ils sont interprétés en hexadécimal ; autrement, s'ils débutent par 0, ils le sont en octal et sinon en décimal. Le TYPE peut être : � Par défaut, rm ne supprime pas les répertoires. Utilisez l'option --recursive (-r ou -R) pour supprimer les répertoires, ainsi que l'intégralité de leur contenu. � Par défaut, sélectionne v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC se compose de deux caractères délimiteurs pour séparer les pages logiques, L'absence du deuxième caractère équivaut à « : ». Saisissez « \\ » pour « \ ». STYLE est une des options parmi : � Par défaut, les fichiers SOURCE dispersés sont détectés par à l'aide d'une heuristique grossière et le fichier DEST correspondant est aussi construit de façon dispersée. C'est le comportement sélectionné par --sparse=auto. Indiquez --sparse=always pour créer un fichier DEST dispersé lorsque le fichier SOURCE contient une assez longue séquence d'octets nuls. Utilisez --sparse=never pour inhiber la création de fichiers dispersés. Si --reflink[=always] est indiquée, réaliser une copie légère, où les blocs de données ne sont copiés que si modifiés. Si c'est impossible, la copie échoue, ou, si --reflink=auto est indiqué, elle se rabat sur une copie classique. � CHUNKS peut être : N séparer en N fichiers selon la taille de l'entrée K/N afficher le Ke de N sur la sortie l/N séparer en N fichiers sans couper les lignes l/K/N afficher le Ke de N sur la sortie sans couper les lignes r/N comme « l » mais utiliser une distribution « round robin » r/K/N identique mais n'afficher que le Ke de N sur la sortie � Paramètres de combinaison : * [-]LCASE identique à [-]lcase cbreak identique à -icanon -cbreak identique à icanon � Paramètres de contrôle : [-]clocal désactiver les signaux de contrôle du modem [-]cread autoriser la réception sur l'entrée * [-]crtscts autoriser l'initialisation RTS/CTS * [-]cdtrdsr autoriser l'initialisation DTR/DSR csN initialiser la taille des caractères à N bits, avec N compris entre 5 et 8 � DURATION est un nombre en virgule flottante avec un suffixe facultatif : « s » pour secondes (par défaut), « m » pour minutes, « h » pour heures ou « d » pour jours. � Les valeurs sont affichées selon les unités du premier SIZE parmi --block-size et les variables d'environnement %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE. Dans le cas contraire, les unités par défaut sont 1 024 octets (ou 512 si POSIXLY_CORRECT est défini). � Chaque symbole FLAG peut être : append mode d'ajout (n'a de sens que pour la sortie ; conv=notrunc suggéré) � Chaque MODE est de la forme « [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+ ». � Exemples : $ %s --to=si 1000 → « 1,0K » $ %s --to=iec 2048 → « 2,0K » $ %s --to=iec-i 4096 → « 4,0Ki » $ echo 1K | %s --from=si → « 1000 » $ echo 1K | %s --from=iec → « 1024 » $ df | %s --header --field 2 --to=si $ ls -l | %s --header --field 5 --to=iec $ ls -lh | %s --header --field 5 --from=iec --padding=10 $ ls -lh | %s --header --field 5 --from=iec --format %%10f � Exemples : %s -12 file1 file2 N'afficher que les lignes présentes dans file1 et file2. %s -3 file1 file2 Afficher les lignes de file1 qui ne sont pas dans file2, et vice versa. � Exemples : %s /usr/bin → « /usr » %s rep1/cha rep2/cha → « rep1 » suivi de « rep2 » %s stdio.h → « . » � Exemples : %s /usr/bin/sort → « sort » %s include/stdio.h .h → « stdio » %s -s .h include/stdio.h → « stdio » %s -a nimp/chaine1 nimp/chaine2 → « chaine1 » suivi par « chaine2 » � Exemples : %s f - g Afficher le contenu de f, suivi de l'entrée standard, puis du contenu de g. %s Copier l'entrée standard vers la sortie standard. � Exemples : %s root /u Modifier le propriétaire de /u en « root ». %s root:staff /u Idem mais modifier aussi son groupe en « staff ». %s -hR root /u Modifier le propriétaire de /u et ses sous-fichiers en « root ». � Exemples : %s staff /u Modifier le groupe de /u en « staff ». %s -hR staff /u Modifier le groupe de /u et sous-fichiers en « staff ». � Exemples : Convertir les secondes depuis Epoch (1970-01-01 UTC) en une date : $ date --date='@2147483647' Afficher l'heure en Martinique (utilisez tzselect(1)) pour trouver TZ) : $ TZ='America/Martinique' date Afficher l'heure locale pour 9 h du matin, vendredi prochain en Martinique : $ date --date='TZ="America/Martinique" 09:00 next Fri' � Excepté pour -h et -L, tous les tests relatifs aux fichiers déréférencent les liens symboliques. Prenez soin de protéger les parenthèses (par exemple avec des barres obliques inverses) dans un interpréteur. INTEGER peut être -l STRING, qui évalue alors la longueur de la chaîne. � Le code de sortie est 0 si l'EXPRESSION n'est ni nulle ni 0, 1 si l'EXPRESSION est nulle ou 0, 2 si l'EXPRESSION est syntaxiquement incorrecte et 3 si une erreur est survenue. � Le code de retour est 0 si tous les nombres en entrée ont été convertis sans erreur. Par défaut, %s s'arrêtera à la première erreur de conversion avec un code de retour de 2. Avec --invalid='fail', un avertissement est affiché à chaque erreur de conversion et le code de retour est 2. Avec --invalid='warn', toutes les erreurs de conversion sont diagnostiquées, mais le code de retour est 0. Avec --invalid='ignore', les erreur de conversion ne sont pas diagnostiquées, et le code de retour est 0. � État de sortie : 0 en cas de succès, 1 en cas de problème mineur (comme impossible d'accéder à un sous-répertoire), 2 en cas de problème majeur (comme impossible d'accéder à un argument de ligne de commande). � FIELD_LIST est une liste séparée par des virgules de colonnes à inclure. Les noms de champs possibles sont : « source », « fstype », « itotal », « iused », « iavail », « ipcent », « size », « used », « avail », « pcent » et « target » (consultez la page info). � FORMAT contrôle la sortie comme la fonction printf() en C. Les séquences interprétées sont : \" guillemet double � FORMAT contrôle l'affichage. Les séquences interprétées sont : %% un caractère % %a nom abrégé localisé du jour de la semaine (par exemple dim.) � FORMAT doit être adapté à l'affichage d'un argument de virgule flottante « %f ». Le guillemet facultatif (%'f) activera --grouping (si permis avec les paramètres régionaux actuels). Une valeur de largeur facultative (%10f) remplira la sortie. Une valeur de largeur négative facultative (%-10f) remplira la sortie à gauche. � Prendre en charge la ligne « tty » reliée à l'entrée standard. En l'absence d'argument, afficher la vitesse, la procédure de contrôle et les modifications appliquées par « stty sane ». Dans les paramètres, CHAR est pris littéralement, ou codé comme ^c, 0x37, 0177 ou 127 ; les valeurs spéciales comme ^- ou indéfinies sont utilisées pour inhiber les caractères spéciaux. � Si -e est effectif, les séquences suivantes sont reconnues : � Si FILE est -, broyer à partir de l'entrée standard. Supprimer le ou les FILEs si --remove (-u) est indiqué. Par défaut, les fichiers ne sont pas supprimés car il est fréquent d'opérer sur des fichiers de périphérique comme /dev/hda, et habituellement ces fichiers ne doivent pas être supprimés. Sur des fichiers standards, la majorité des gens utilise l'option --remove. � Si FILE n'est pas indiqué, utiliser %s. %s en tant que FILE est usuel. Si ARG1 ARG2 sont renseignés, -m est supposé, « am i » ou « mom likes » sont usuels. � Si FILE est fourni, le lire pour déterminer les couleurs à utiliser pour les types de fichiers et les extensions. Autrement, la base de données précompilée sera utilisée. Pour obtenir des précisions sur le format de ces fichiers, exécutez « dircolors --print-database ». � Si FIRST ou INCREMENT sont omis, la valeur 1 est utilisée par défaut. La valeur INCREMENT par défaut est 1 même lorsque LAST est plus petit que FIRST. FIRST, INCREMENT et LAST sont interprétés en notation flottante. INCREMENT est habituellement positif si FIRST est plus petit que LAST, et INCREMENT est habituellement négatif si FIRST est plus grand que LAST. � Si MODE est « 0 », le flux correspondant ne sera pas mis en tampon. � Si MODE est « L », le flux correspondant utilisera une mise en tampon par ligne. Cette option est incorrecte avec l'entrée standard. � Si FILE est -, recopier sur la sortie standard. � Sans commande fournie, exécuter « ${SHELL} -i » (« /bin/sh -i » par défaut). � Si l'entrée standard est un terminal, la rediriger depuis /dev/null. Si l'entrée standard est un terminal, ajouter si possible la sortie à « nohup.out » ou à « $HOME/nohup.out » sinon. Si la sortie d'erreur standard est un terminal, la rediriger vers la sortie standard. Pour enregistrer la sortie dans FILE, utilisez « %s COMMAND > FILE ». � Si la commande dépasse le temps imparti, et que --preserve-status n'est pas définie, alors quitter avec l'état 124, sinon quitter avec l'état de COMMAND. Si aucun signal n'est indiqué, le signal TERM est envoyé à l'expiration. Le signal TERM tuera tous les processus qui n'attrapent pas ce signal. Il peut être nécessaire d'utiliser le signal KILL (9), puisque ce signal ne peut pas être capturé, auquel cas l'état de retour est 128+9 au lieu de 124. � Si le premier caractère de K (le nombre d'octets ou de lignes) est un « + », afficher à partir du Ke éléments depuis le début de chaque fichier, autrement, afficher les K derniers éléments du fichier. K peut avoir un suffixe multiplicateur : b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 et ainsi de suite pour T, P, E, Z et Y. � Paramètres d'entrée : [-]brkint les breaks provoquent un signal d'interruption [-]icrnl transformer le retour chariot en changement de ligne [-]ignbrk ignorer les caractères break [-]igncr ignorer le retour chariot � K peut avoir un suffixe multiplicateur : b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z et Y. � KEYDEF est F[.C][OPTS][,F[.C][OPTS]] pour les positions de début et fin, où F est un numéro de champ et C une position du caractère dans le champ ; chacun à origine 1, et la position d'arrêt est la fin de ligne par défaut. Si ni -t ni -b ne sont actifs, les caractères d'un champ sont comptés depuis le début de l'espace précédant. OPTS se compose d'une option de tri d'une ou plusieurs lettres simples [bdfgiMhnRrV], laquelle écrase l'ordonnancement global pour cette clef. Si aucune clef n'est donnée, la ligne entière est utilisée comme clef. SIZE peut être suivi d'un des suffixes multiplicatifs suivants : � License GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html> C'est logiciel libre, vous êtes libre de le modifier et de le redistribuer. Ce logiciel n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE, dans les limites autorisées par la loi applicable. � Paramètres locaux : [-]crterase écho du caractère « erase » comme séquence retour arrière-espace-retour arrière * crtkill supprimer toute la ligne en respectant les paramètres « echoprt » et « echoe » * -crtkill supprimer toute la ligne en respectant les paramètres « echoctl » et « echok » � Les arguments obligatoires pour les options longues le sont aussi pour les options courtes. � N et BYTES peuvent être suivis des suffixes multiplicatifs suivants : c = 1, w = 2, b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024, xM = M, GB = 1000*1000*1000, G = 1024*1024*1024 et ainsi de suite pour T, P, E, Z et Y. Chaque symbole CONV peut être : � Remarque : si COMMAND ajuste la mise en tampon de ses flux standards (comme « tee » par exemple), alors cela va écraser les paramètres correspondant modifiés par « stdbuf ». Certains filtres (comme « dd » ou « cat », etc.) n'utilisent par les flux pour les E/S, et ne sont donc pas affectés par les paramètres de « stdbuf ». � Remarque : [ respecte les options --help et --version, mais test ne le fait pas. test traite chacun de ceux-là comme il traite n'importe quelle STRING non vide. � Remarque : l'interpréteur de commande peut avoir sa propre version de %s, lequel remplace habituellement la version décrite ici. Consultez la documentation de l'interpréteur pour obtenir des précisions sur les options prises en charge. � Si vous utilisez « rm » pour supprimer un fichier, il est habituellement possible de récupérer une partie de son contenu, en disposant de suffisamment d'expertise et de temps. Pour être certain que le contenu ne soit pas récupérable, envisagez l'utilisation de « shred ». � Notez que les options -d et -t acceptent différents formats de date et d'heure. � Remarque, les comparaisons respectent les règles définies par « LC_COLLATE ». � Remarque : « uniq » ne détecte pas les lignes répétées à moins qu'elles ne soient adjacentes. Il est possible de trier l'entrée en premier, ou d'utiliser « sort -u » sans « uniq ». Les comparaisons respectent les règles définies par « LC_COLLATE ». � Un « - » optionnel avant SETTINGS indique une négation. Un * indique des paramètres non POSIX. Le système sous-jacent détermine les paramètres applicables. � Dans les autres cas, MODE est un nombre qui peut être suivi par KB 1000, K 1024, MB 1000*1000, M 1024*1024 et ainsi de suite pour G, T, P, E, Z et Y. Dans ce cas, le flux correspondant sera complètement mis en tampon avec un tampon définit à MODE octets. � Paramètres de sortie : * bsN style du délai de retour arrière, N parmi [0..1] * crN style du délai du retour de chariot, N parmi [0..3] * ffN style du délai du saut de page, N parmi [0..1] * nlN style du délai du saut de ligne, N parmi [0..1] � Le propriétaire n'est pas modifié s'il n'est pas indiqué. Le groupe n'est pas modifié sil n'est pas indiqué, mais modifié en groupe de connexion s'il est sous-entendu par un « : » suivant un OWNER (propriétaire) symbolique. Le OWNER et le GROUP peuvent être numériques ou symboliques. � Afficher la valeur de EXPRESSION sur la sortie standard. Une ligne vide en dessous sépare les groupes de précédence croissante. L'EXPRESSION peut être : ARG1 | ARG2 ARG1 si non nul ou 0, sinon ARG2 ARG1 & ARG2 ARG1 si aucun des arguments est nul ou 0, sinon 0 � Lire l'entrée standard si le FILE est -. Chaque PATTERN peut être : � Signalez les anomalies de « %s » à <%s> � Signalez les anomalies à : <%s> Signalez les problèmes de traduction à : <traduc@traduc.org> � Les ensembles SET sont indiqués comme des chaînes de caractères. La plupart se représente eux-mêmes. Les séquences d'interprétation sont les suivantes : \NNN caractère ayant la valeur octale NNN (1 à 3 chiffres octaux) \\ barre oblique inverse \a sonnerie (SON) \b espace arrière \f saut de page \n nouvelle ligne \r retour chariot \t tabulation horizontale � SIGNAL peut être un nom de signal comme « HUP » ou un numéro de signal comme « 1 », ou un état de fin d'un processus terminé par un signal. PID est un entier, si négatif il identifie un groupe de processus. � SIZE est un nombre. Si le TYPE est d, o, u ou x, SIZE peut aussi être C pour sizeof(char), S pour sizeof(short), I pour sizeof(int) ou L pour sizeof(long). Si le TYPE est f, SIZE peut aussi être F pour sizeof(float), D pour sizeof(double) ou L pour sizeof(long double). � SIZE est un entier suivi d'une unité facultative (10M pour 10*1024*1024 par exemple). Les unités sont K, M, G, T, P, E, Z et Y (puissances de 1024) ou KB, MB, etc. (puissances de 1000). � SIZE peut aussi être préfixé par un de ces caractères modificateurs : « + » agrandit de, « - » réduit de, « < » au maximum, « > » au minimum, « / » arrondi au multiple inférieur de, « % » arrondi au multiple supérieur de. � L'envoi du signal %s au processus « dd » actif provoque l'écriture de statistiques sur la sortie d'erreur standard suivie de la reprise de la copie. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -%s $pid; sleep 1; kill $pid 18335302+0 enregistrements lus 18335302+0 enregistrements écrits 9387674624 octets (9.4 GB) copiés, 34.6279 s, 271 MB/s Les options sont : � Caractères spéciaux : * dsusp CHAR CHAR émettra un signal d'arrêt de terminal une fois le tampon d'entrée vidé eof CHAR CHAR émettra une fin de fichier (pour arrêter l'entrée) eol CHAR CHAR arrêtera la ligne � Paramètres spéciaux : N initialiser les vitesses d'entrée et de sortie à N bauds * cols N indiquer au noyau que le terminal a N colonnes * columns N identique à « cols N » � Le suffixe d'archive est « ~ », sauf s'il est définit autrement avec --suffix ou SIMPLE_BACKUP_SUFFIX. La méthode du contrôle de version peut être sélectionnée par l'option --backup ou par la variable d'environnement VERSION_CONTROL. Les valeurs possibles sont les suivantes : � Les données sont codées comme décrit pour l'alphabet base64 dans la RFC 3548. Lors du décodage, l'entrée peut contenir des changements de ligne en plus des octets de l'alphabet base64 formel. Utilisez --ignore-garbage pour tenter de récupérer tout autre octet non alphabétique dans le flux codé. � Les options suivantes modifient la façon de parcourir la hiérarchie lorsque l'option -R est aussi indiquée. Si plusieurs options sont indiquées, seule la dernière sera prise en compte. -H si l'argument en ligne de commande est un lien symbolique vers un répertoire, le parcourir -L parcourir tous les liens symboliques menant à un répertoire -P ne parcourir aucun lien symbolique (par défaut) � Les trois options suivantes sont utiles qu'en vérifiant des sommes de contrôle : --quiet ne pas afficher OK à chaque vérification réussie --status ne rien afficher, seul le code d'état est mis à jour -w, --warn avertir en cas de lignes de contrôle mal formatées � Les sommes sont calculées selon %s. Lors de la vérification, l'entrée devrait être formellement une sortie de ce programme. Le mode par défaut est d'afficher la ligne avec la somme de contrôle, un caractère indiquant le mode d'entrée (« * » pour binaire, espace pour texte) et un nom pour chaque FICHIER. � Format possible pour les séquences de fichiers (sans --file-system) : %a droits d'accès en octal %A droits d'accès en format lisible %b nombre de blocs alloués (voir %B) %B la taille en octets de chaque bloc rapportée par %b %C la chaîne de contexte de sécurité SELinux � Ce programme d'installation copie les fichiers (généralement compilés) dans la destination choisie. Pour télécharger et installer un paquet prêt à l'emploi sur un système GNU/Linux, vous devriez plutôt utiliser un gestionnaire de paquets comme yum(1) ou apt-get(1). Dans les trois premiers formats, copier SOURCE vers DEST ou de plusieurs fichiers SOURCE vers un répertoire DIRECTORY existant, tout en initialisant les modes de protection et les droits de propriétaire et groupe. Dans le quatrième format, créer tous les composants des DIRECTORY indiqués. � Pour supprimer un fichier dont le nom débute par « - », par exemple « -toto », utilisez une des commandes suivantes : %s -- -toto %s ./-toto � La conversion se fait si -d n'est pas donné et si SET1 et SET2 apparaissent tous les deux. -t ne peut être employé qu'en conversion. SET2 est adapté à la longueur de SET1 par la répétition de son dernier caractère. Les caractères en excédents de SET2 sont ignorés. Seuls [:lower:] et [:upper:] garantissent l'expansion dans l'ordre croissant ; utilisé dans SET2 lors de la conversion, ils ne devraient être utilisés que par paires pour indiquer le changement de casse. -s emploie SET1 s'il n'y a pas de conversion, ni de suppression ; sinon la compression emploie SET2 et intervient après conversion et suppression. � Options UNIT : � À moins que -t CHAR ne soit renseigné, les premiers blancs qui séparent les champs sont ignorés sinon les champs sont séparés par CHAR. Chaque FIELD est un numéro de champ à partir de 1. FORMAT est une ou plusieurs spécifications séparées par une virgule ou un blanc, chacune étant « FILENUM.FIELD » ou « 0 ». Par défaut, FORMAT affiche le champ fusionné, puis les champs restants de FILE1 et enfin ceux de FILE2, tous séparés par CHAR. Important : FILE1 et FILE2 doivent être triés sur les champs de jointure. Par exemple, utilisez « sort -k 1b,1 » si « join » n'a pas d'option, ou utilisez « join -t '' » si « sort » n'a pas d'option. Remarquez que les comparaisons s'effectuent selon les règles définies par « LC_COLLATE ». Si l'entrée n'est pas triée et que quelques lignes ne peuvent être fusionnées, un message d'alerte l'indiquera. � Utilisez une, et seulement une parmi -b, -c ou -f. Chaque LIST est faite d'un ou de plusieurs intervalles séparés par des virgules. L'entrée sélectionnée est écrite dans le même ordre qu'elle est lue, et écrite une seule fois. � L'utilisation de -s ignore -L et -P. Autrement, la dernière option indiquée contrôle le comportement lorsqu'une TARGET est un lien symbolique, utilisant %s par défaut. � L'utilisation de la couleur pour distinguer les types de fichier est désactivée par défaut et avec --color=never (jamais). Avec color=auto, ls émet des codes couleur seulement quand la sortie standard est connectée à un terminal. La variable d'environnement LS_COLORS peut modifier les paramètres. Utilisez la commande dircolors pour le définir. � Sans FILE, ou quand FILE est -, lire l'entrée standard. « -F / » par défaut. � Sans FILE ou quand FILE est -, lire l'entrée standard. � Sans option, l'affichage s'effectue sur trois colonnes. La première colonne contient les lignes uniques de FILE1, la deuxième contient les lignes uniques de FILE2 et la troisième contient les lignes communes aux deux fichiers. � Sans aucune OPTION, afficher des informations utiles d'identification. � Afficher sur la sortie standard et de manière non ambiguë, par défaut sous forme d'octets en représentation octale, le contenu du FILE. Sans FILE, ou quand FILE est -, lire l'entrée standard. � (seulement utile sur les systèmes permettant de modifier le propriétaire d'un lien symbolique) � ???� --backup[=CONTROL] archiver chaque fichier de destination existant -b identique à --backup mais sans argument -f, --force ne pas demander de confirmation avant d'écraser -i, --interactive demander confirmation avant d'écraser -n, --no-clobber ne pas écraser les fichiers existants Si vous indiquez plusieurs options parmi -i, -f, -n, seule la dernière sera effective. � --backup[=CONTROL] archiver chaque fichier de destination existant -b identique à --backup mais n'accepte pas d'argument -d, -F, --directory permettre au superutilisateur de créer des liens directs (hard) sur des répertoires (échouera probablement en raison de restrictions système même pour le superutilisateur) -f, --force supprimer les fichiers de destination existants � --backup[=CONTROL] archiver chaque fichier de destination -b identique à --backup mais n'accepte pas d'argument -c (ignoré) -C, --compare comparer chaque paire de fichiers source et destination, et dans certains cas, ne pas modifier la destination du tout -d, --directory traiter tous les arguments comme des noms de répertoire ; créer tous les composants des répertoires indiqués � --batch-size=NMERGE fusionner au plus NMERGE entrées à la fois ; pour plus, employez des fichiers temporaires � --block-size=SIZE convertir les tailles en SIZE avant de les afficher. Par exemple, « --block-size=M » affiche les tailles en unités de 1 048 576 octets. Consultez le format SIZE ci-dessous. -B, --ignore-backups ne pas inclure les entrées se terminant par ~ dans la liste. -c avec -lt : afficher et trier selon ctime (date de dernière modification provenant des informations d'état du fichier) avec -l : afficher ctime et trier selon le nom autrement : trier selon ctime � --complement compléter le jeu d'octets, caractères ou champs sélectionnés � --debug annoter la partie de la ligne à trier, et avertir en cas d'utilisation étrange sur la sortie d'erreur --files0-from=F lire en entrée des fichiers indiqués par des noms terminés par NULL dans le fichier F. Si F est -, lire les noms depuis l'entrée standard � --debug afficher les avertissements en cas d'entrée incorrecte � --dereference affecter le référent de chaque lien symbolique (par défaut), au lieu du lien symbolique lui-même -h, --no-dereference affecter les liens symboliques au lieu des fichiers référencés � --field=N remplacer le nombre dans le champs d'entrée N (1 par défaut) � --files0-from=F lire l'entrée depuis les fichiers indiqués par des noms terminant par NULL dans le fichier F -L, --max-line-length afficher la taille de la plus longue ligne -w, --words afficher le nombre de mots � --files0-from=F résumer l'occupation disque des noms de fichiers terminés par NULL, indiqués dans le fichier F. Si F est -, alors les noms sont lus sur l'entrée standard -H, équivalent à --dereference-args (-D) -h, --human-readable afficher les tailles dans un format lisible (par exemple 1K, 234M, ou 2G) � --format=FORMAT utiliser le le type printf de virgule flottante FORMAT ; consultez FORMAT plus bas pour des précisions � --from-unit=N indiquer l'unité en entrée (au lieu de 1 par défaut) � --from=CURRENT_OWNER:CURRENT_GROUP modifier le propriétaire ou le groupe de chaque fichier dont le propriétaire ou le groupe actuel correspondent à ceux indiqués. La correspondance n'est nécessaire que pour l'argument indiqué si l'autre est omis. � --from=UNIT mettre automatiquement à l'échelle « UNIT » les nombres en entrée ; « none » par défaut ; consultez UNIT plus bas � --group-directories-first regrouper les répertoires avant les fichiers. Augmenter avec une option --sort, mais toute utilisation de --sort=none (-U) inhibe le regroupement � --grouping grouper les chiffres ensemble (par exemple 1 000 000) en utilisant le groupement défini dans les paramètres régionaux (donc sans effet avec les locales C/POSIX) � --header[=N] afficher (sans conversion) les N premières lignes d'en-tête ; N vaut 1 par défaut si non indiqué � --help afficher l'aide et quitter � --indicator-style=WORD ajouter un indicateur de type à chaque entrée, en respectant le style indiqué par WORD : « none » (aucun suffixe, par défaut), « slash » (barre oblique, comme l'option -p), « file-type » (type de fichier, comme --file-type) ou « classify » (secret, comme l'option -F) -i, --inode afficher le numéro d'index de chaque fichier -I, --ignore=PATTERN ne pas afficher les entrées implicites correspondant au PATTERN de l'interpréteur -k, --kibibytes utiliser des blocs de 1024 octets � --invalid=MODE mode d'échec pour les nombres incorrects ; MODE peut être « abort » (par défaut), « fail », « warn » ou « ignore » � --lookup utiliser la forme canonique des noms d'hôte grâce au DNS -m nom d'hôte et d'utilisateur seulement associés à l'entrée standard -p, --process afficher la liste des processus lancés par init � --no-preserve-root ne pas traiter « / » de manière spécifique --preserve-root ne pas supprimer « / » (par défaut) -r, -R, --recursive supprimer les répertoires et leur contenu récursivement -d, --dir supprimer les répertoires vides -v, --verbose expliquer ce qui est fait � --no-preserve-root ne pas traiter « / » de manière spéciale (par défaut) --preserve-root bloquer le traitement récursif sur « / » � --no-preserve=ATTR_LIST ne pas préserver les attributs spécifiques --parents utiliser le nom de fichier source complet dans DIRECTORY � --one-file-system quand une hiérarchie est supprimée récursivement, ignorer tous les répertoires d'un système de fichiers différent de celui correspondant à l'argument de ligne de commande � --output[=FIELD_LIST] utiliser le format de sortie défini par FIELD_LIST, ou afficher tous les champs si FIELD_LIST est omis. -P, --portability utiliser le format de sortie POSIX --sync invoquer sync avant d'obtenir les renseignements d'utilisation -t, --type=TYPE limiter l'affichage aux systèmes de fichier de type TYPE -T, --print-type afficher le type du système de fichiers -x, --exclude-type=TYPE limiter l'affichage aux autres systèmes de fichiers que ceux de type TYPE -v (ignorée) � --padding=N remplir la sortie avec N caractères ; N positif alignera à droite. N négatif alignera à gauche ; le remplissage est ignoré si la sortie est plus grande que N ; le remplissage est automatique par défaut si un blanc est trouvé � --pid=PID avec -f, terminer après la mort du PID -q, --quiet, --silent ne jamais afficher l'en-tête donnant les noms de fichiers --retry continuer d'essayer à ouvrir un fichier même quand il est ou devient inaccessible ; utile avec un suivi par nom, par exemple, avec --follow=nom � --preserve-context préserver le contexte de sécurité SELinux -Z, --context=CONTEXT établir le contexte de sécurité SELinux des fichiers et répertoires � --preserve-status se terminer avec le même état que COMMAND, même si la commande dépasse le temps imparti --foreground quand timeout ne s'exécute pas directement d'une invite de commande, permettre à COMMAND de lire depuis le TTY et de recevoir les signaux du TTY. Dans ce mode, les enfants de COMMAND ne s'arrêteront pas à l'expiration du délai. -k, --kill-after=DURATION envoyer aussi le signal KILL if COMMAND est toujours en cours d'exécution bien après que le signal initial ait été envoyé. -s, --signal=SIGNAL indiquer le signal à envoyer lors d'une expiration de délai. SIGNAL peut être un nom comme « HUP » ou un nombre. Consultez « kill -l » pour une liste des signaux. � --reference=RFILE utiliser le groupe de RFILE au lieu d'indiquer une valeur GROUP � --reference=RFILE utiliser le mode de RFILE au lieu d'indiquer une valeur GROUP � --reference=RFILE utiliser les propriétaires et groupe de RFILE au lieu d'indiquer des valeurs OWNER:GROUP � --reference=RFILE utiliser le contexte de sécurité de RFILE au lieu d'indiquer une valeur CONTEXT � --rfc-3339=TIMESPEC afficher la date et l'heure au format RFC 3339. TIMESPEC est « date » pour la date seule par défaut), « hours », « minutes », « seconds » ou « ns » pour indiquer la précision de date et heure. Les éléments de date et d'heure sont séparés par une seule espace : 2006-08-07 12:34:56-06:00 -s, --set=STRING initialiser la date selon STRING -u, --utc, --universal afficher ou initialiser au système de temps universel � --round=METHOD utiliser METHOD pour arrondir lors de la mise à l'échelle ; METHOD peut être : « up », « down », « from-zero » (par défaut), « towards-zero » ou « nearest » � --sort=WORD trier selon WORD : general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V -V, --version-sort tri naturel des numéros (de version) contenus dans le texte � --sparse=WHEN contrôler la création des fichiers dispersés --strip-trailing-slashes enlever les « / » de terminaison de chaque argument SOURCE � --strict avec --check, quitter avec un code de retour non nul pour toute entrée incorrecte � --strip-trailing-slashes enlever les « / » en suffixe de tous les arguments SOURCE -S, --suffix=SUFFIX écraser le suffixe usuel d'archivage � --suffix=SUFF ajouter SUFF à TEMPLATE, SUFF ne doit pas contenir de barre oblique. Cette option est utilisée si TEMPLATE ne se termine pas par un X. � --suffix=SUFFIX ajouter le SUFFIX aux nombres en sortie, et accepter le SUFFIX facultatif aux nombres en entrée � --tag créer une somme de contrôle de type BSD � --time-style=STYLE avec -l, afficher les dates selon STYLE : « full-iso », « long-iso », « iso », « locale » ou « +FORMAT ». FORMAT est interprété comme « date ». Si FORMAT est FORMAT1<changement de ligne>FORMAT2, FORMAT1 s'applique aux fichiers non récents et FORMAT2 aux fichiers récents. Si STYLE est préfixé par « posix- », STYLE ne prend effet qu'en dehors des paramètres régionaux POSIX. � --tmpdir[=DIR] interpréter TEMPLATE en relation avec DIR. Si DIR n'est pas indiqué, utiliser $TMPDIR si défini ou /tmp sinon. Avec cette option, TEMPLATE ne doit pas être un nom absolu. Contrairement à -t, TEMPLATE peut contenir des barres obliques, mais mktemp ne crée que la partie finale � --to-unit=N l'unité en sortie (au lieu de 1 par défaut) � --to=UNIT mettre à l'échelle automatiquement les nombres en sortie à « UNIT » ; consultez UNIT plus bas � --verbose afficher un diagnostic juste avant l'ouverture de chaque fichier de sortie � --version afficher des informations de version et quitter � --all afficher le nombre de processeurs installés --ignore=N si possible, exclure N unités de traitement � -evenp identique à -parenb cs8 * [-]lcase identique à xcase iuclc olcuc litout identique à -parenb -istrip -opost cs8 -litout identique à parenb istrip opost cs7 nl identique à -icrnl -onlcr -nl identique à icrnl -inlcr -igncr onlcr -ocrnl -onlret � [-]cstopb utiliser 2 bits d'arrêt par caractère (un avec « - ») [-]hup émettre un signal de déconnexion quand le dernier processus ferme le lien tty [-]hupcl identique à [-]hup [-]parenb générer le bit de parité pour la sortie et traiter l'entrée avec un bit de parité implicite [-]parodd utiliser une parité impaire (paire avec « - ») � [-]ignpar ignorer les caractères ayant des erreurs de parité * [-]imaxbel émettre un bip et ne pas vider le tampon d'entrée plein lors de l'arrivée d'un caractère [-]inlcr transformer le saut de ligne en retour de chariot [-]inpck autoriser la vérification de la parité à l'entrée [-]istrip effacer le bit de poids fort (8e) des caractères en entrée � [-]isig autoriser les caractères spéciaux « interrupt », « quit », et « suspend » [-]noflsh désactiver la vidange après réception des caractères « interrupt » et « quit » * [-]prterase identique à [-]echoprt * [-]tostop arrêter les tâches en arrière plan qui essaient d'écrire sur le terminal * [-]xcase avec « icanon », protéger les majuscules avec « \ » � cooked identique à brkint ignpar istrip icrnl ixon opost isig icanon, eof et eol selon leur valeur par défaut -cooked identique à raw crt identique à echoe echoctl echoke � dec identique à echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq identique à [-]ixany ek réinitialiser les caractères erase et kill à leur valeur par défaut evenp identique à parenb -parodd cs7 � ispeed N initialiser la vitesse d'entrée à N * line N utiliser la procédure de contrôle N min N avec -icanon, initialiser à N le nombre de caractères nécessaires pour obtenir une lecture complète ospeed N initialiser la vitesse de sortie à N � oddp identique à parenb parodd cs7 -oddp identique à -parenb cs8 [-]parity identique à [-]evenp pass8 identique à -parenb -istrip cs8 -pass8 identique à parenb istrip cs7 � raw identique à -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw identique à cooked � sane identique à cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, tous les caractères spéciaux avec leur valeur par défaut. � stop CHAR CHAR arrêtera la sortie susp CHAR CHAR émettra un signal d'arrêt de terminal * swtch CHAR CHAR permettra de basculer à une couche différente du shell * werase CHAR CHAR supprimera le dernier mot saisi � %% un seul % %b ARGUMENT de type chaîne, avec les barres obliques « \ » protégées, sauf pour les séquences en octal de la forme \0 ou \0NNN ainsi que toutes les spécifications de format C se terminant par une des options diouxXfeEgGcs, avec ARGUMENT converti d'abord au type approprié. Les largeurs variables sont prises en charge. � %A nom complet localisé du jour de la semaine (par exemple dimanche) %b nom abrégé localisé du mois (par exemple janv.) %B nom complet localisé du mois (par exemple janvier) %c date et heure localisées (par exemple jeu. 03 mars 2005 23:05:25 CET) � %C siècle, comme %Y, sans les deux derniers chiffres (par exemple 20) %d jour du mois (par exemple 01) %D date, identique à %m/%d/%y %e jour du mois, éventuellement complété par une espace, identique à %_d � %F date complète, identique à %Y-%m-%d %g deux derniers chiffres de l'année du numéro de semaine ISO (voir %G) %G année correspondant au numéro de semaine ISO (voir %V) ; normalement seulement utile avec %V � %S secondes (00..60) %t une tabulation %T l'heure, identique à %H:%M:%S %u jour de la semaine (1..7) ; 1 représente le lundi � %U numéro de la semaine de l'année, avec dimanche en premier jour de la semaine (00..53) %V numéro de la semaine ISO, avec lundi en premier jour de la semaine %w jour de la semaine (0..6), 0 représente le dimanche %W numéro de la semaine, avec lundi en premier jour de la semaine (00..53) � %d numéro de périphérique en décimal %D numéro de périphérique en hexadécimal %f mode brut en hexadécimal %F type de fichier %g GID du propriétaire %G nom de groupe du propriétaire � %h nombre de liens directs (hard) %i numéro d'inÅ“ud %m point de montage %n nom de fichier %N nom de fichier en citation avec référence si lien symbolique %o conseil sur la taille optimale de transfert d'E/S %s taille totale, en octets %t type majeur de périphérique en hexadécimal %T type mineur de périphérique en hexadécimal � %h identique à %b %H heure (00..23) %I heure (01..12) %j jour de l'année (001..366) � %i identifiant du système de fichiers en hexadécimal %l longueur maximale des noms de fichiers %n nom de fichier %s taille de bloc (pour des transferts rapides) %S taille fondamentale de bloc (pour le décompte de blocs) %t type de système de fichiers en hexadécimal %T type de système de fichiers au format lisible � %k heure avec espace ( 0..23), identique à %_H %l heure avec espace ( 1..12), identique à %_I %m mois (01..12) %M minute (00..59) � %n un changement de ligne %N nanosecondes (000000000..999999999) %p indicateur localisé AM ou PM en majuscules (blanc si inconnu) %P identique à %p mais en minuscules %r heure locale au format 12 heures (par exemple 11:11:01 PM) %R heure en format 24 heures identique à %H:%M %s secondes depuis 1970-01-01 00:00:00 UTC � %u UID du propriétaire %U nom d'utilisateur du propriétaire %w date de création du fichier, lisible ; - si inconnue %W date de création du fichier, en seconde depuis Epoch ; 0 si inconnue %x date du dernier accès, lisible %X date du dernier accès en seconde depuis Epoch %y date de la dernière modification, lisible %Y date de la dernière modification en seconde depuis Epoch %z date du dernier changement, lisible %Z date du dernier changement en seconde depuis Epoch � %x représentation localisée de la date (par exemple 12/31/99) %X représentation localisée de l'heure (par exemple 23:13:48) %y deux derniers chiffres de l'année (00..99) %Y année � %z fuseau horaire numérique +hhmm (par exemple -0400) %:z fuseau horaire numérique +hh:mm (par exemple -04:00) %::z fuseau horaire numérique +hh:mm:ss (par exemple -04:00:00) %:::z fuseau horaire numérique utilisant « : » pour la précision (par exemple -04, +05:30) %Z abréviation alphabétique des fuseaux horaires (par exemple EDT) Par défaut, les champs de date numériques sont remplis par des zéros. � + TOKEN interpréter TOKEN comme une chaîne, même s'il s'agit d'un mot clef comme « match » ou d'un opérateur comme « / » ( EXPRESSION ) valeur de l'EXPRESSION � +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] débuter ou terminer l'impression à la page FIRST_PAGE ou LAST_PAGE -COLUMN, --columns=COLUMN afficher COLUMN colonnes et les représenter en descendant, sauf si -a est utilisé. Équilibrer le nombre de lignes de chaque colonne sur chaque page � - +FORMAT (par exemple +%H:%M) pour un format de type « date » � --output-delimiter=STR séparer les colonnes avec STR � --userspec=USER:GROUP indiquer l'utilisateur et le groupe (ID ou nom) à utiliser --groups=G_LIST indiquer les groupes supplémentaires comme g1,g2,..,gN � -0, --null terminer chaque ligne de sortie par un octet NULL au lieu d'un changement de ligne -a, --all afficher le décompte pour tous les fichiers, pas seulement pour les répertoires --apparent-size afficher les tailles apparentes, au lieu de l'occupation disque ; même si la taille apparente est habituellement plus petite, elle peut être plus grande en raison de trous dans les fichiers (« sparse »), de la fragmentation, de blocs indirects et autres raisons similaires � -0, --null terminer les lignes avec l'octet 0 et non un changement de ligne � -A, --address-radix=RADIX format de sortie pour les indices de fichier. RADIX est d, o, x ou n, pour décimal, octal, hexadécimal ou sans -j, --skip-bytes=BYTES ignorer BYTES premiers octets en entrée � -A, --auto-reference afficher références générées automatiquement -G, --traditional se comporter plutôt comme « ptx » de System V -F, --flag-truncation=STRING utiliser STRING pour indiquer les troncatures de ligne � -B, --block-size=SIZE convertir les tailles en SIZE avant de les afficher. Par exemple, « -BM » affiche les tailles en unités de 1 048 576 octets. Consultez le format SIZE ci-dessous. -b, --bytes équivalent à « --apparent-size --block-size=1 » -c, --total produire le total général -D, --dereference-args ne déréférencer que les liens symboliques sur la ligne de commande -d, --max-depth=N afficher le total pour un répertoire (ou un fichier, avec --all) seulement s'il est à N niveaux ou moins selon les arguments de la ligne de commande ; --max-depth=0 est identique à --summarize � -C afficher les noms en colonnes --color[=WHEN] colorier la sortie. Par défaut, WHEN est défini à « always » (toujours) mais peut aussi être « never » (jamais) ou « auto » (automatique). -d, --directory afficher les noms de répertoires plutôt que leur contenu sans déréférencer les liens symboliques -D, --dired générer une sortie adaptée au mode « dired » d'Emacs � -D créer tous les premiers composants de DEST sauf le dernier, puis copier SOURCE vers DEST -g, --group=GROUPE définir l'appartenance au GROUPE au lieu du groupe actuel du processus -m, --mode=MODE définir le mode de droits (comme chmod), au lieu de rwxrr-xr-x -o, --owner=PROPRIO définir l'appartenance (uniquement pour l'administrateur) � -D, --all-repeated[=delimit-method] afficher toutes les lignes en double, delimit-method peut être « none » (par défaut), « prepend » ou « separate ». La délimitation est faite avec des lignes blanches. -f, --skip-fields=N éviter de comparer les N premiers champs -i, --ignore-case ignorer les différences de casse à la comparaison -s, --skip-chars=N éviter de comparer les N premiers caractères -u, --unique n'afficher que les lignes uniques -z, --zero-terminated terminer les lignes avec l'octet NULL, sans changement de ligne � -D, --date-format=FORMAT utiliser le FORMAT pour l'en-tête de la date -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] étendre les caractères CHAR en entrée (tabulations) aux tabulations de largeur WIDTH (8 par défaut) -F, -f, --form-feed utiliser des sauts de page au lieu des sauts de lignes pour séparer les pages (trois lignes par en-tête avec -F ou cinq lignes par en-tête et bas de page sans -f) � -G, --no-group dans une longue liste, ne pas afficher les noms de groupe -h, --human-readable avec -l, afficher les tailles au format lisible (par exemple 1K, 234M ou 2G) --si similaire, mais utiliser une puissance de 1 000 au lieu de 1 024 � -H, --dereference-command-line suivre les liens symboliques en ligne de commande --dereference-command-line-symlink-to-dir suivre tous les liens symboliques en ligne de commande qui pointent vers un répertoire --hide=PATTERN ne pas afficher les entrées implicites correspondant au PATTERN de l'interpréteur (écrasé par -a ou -A) � -I demander confirmation une fois avant de supprimer plus de trois fichiers, ou lors de suppression récursive. Moins intrusif que -i, tout en protégeant contre la plupart des erreurs --interactive[=WHEN] demander confirmation selon WHEN : « never » (jamais), « once » (une fois, -I), ou « always » (toujours, -i). Sans WHEN, toujours poser la question � -L FILE FILE existe et est un lien symbolique (identique à -h) -O FILE FILE existe et appartient à l'UID effectif -p FILE FILE existe et est un tube nommé -r FILE FILE existe et dispose des permissions en lecture -s FILE FILE existe et a une taille plus grande que zéro � -L, --dereference suivre les liens -f, --file-system afficher l'état du système de fichiers au lieu de l'état du fichier � -L, --logical utiliser PWD depuis l'environnement, même s'il contient des liens symboliques -P, --physical éviter tout lien symbolique � -M, --macro-name=STRING nom de la macro à utiliser au lieu de « xx » -O, --format=roff générer la sortie comme des directives roff -R, --right-side-refs placer références à droite, sans décompte -w -S, --sentence-regexp=REGEXP pour les fins de lignes ou de phrases -T, --format=tex générer la sortie comme des directives TeX � -N, --read-bytes=BYTES limiter l'image à BYTES octets en entrée -S BYTES, --strings[=BYTES] afficher les chaînes d'au moins BYTES caractères graphiques. 3 est implicite sans BYTES -t, --format=TYPE sélectionner le ou les formats d'affichage -v, --output-duplicates ne pas utiliser * pour marquer la suppression -w, --width[=BYTES] afficher BYTES octets par ligne de sortie. 32 est implicite sans BYTES --traditional accepter les arguments sous la troisième forme précédente � -P, --no-dereference ne pas suivre les liens symboliques (par défaut) -S, --separate-dirs ne pas inclure la taille des sous-répertoires --si identique à -h mais en multiple de 1000 au lieu de 1024 -s, --summarize n'afficher qu'un total pour chaque argument � -R, --recursive modifier récursivement les fichiers et répertoires � -R, --recursive opérer récursivement sur les fichiers et répertoires � -R, -r, --recursive copier récursivement les répertoires --reflink[=WHEN] contrôler les copies clones/COW (Copy On Write) --remove-destination supprimer chaque fichier de destination existant avant d'essayer de l'ouvrir (par opposition à --force) � -S trier selon la taille des fichiers --sort=WORD trier selon WORD au lieu du nom : « none » (aucun, -U), « extension » (extension, -X), « size » (taille, -S), « date » (date, -t) ou « version » (version, -v) --time=WORD avec -l, afficher la date selon WORD au lieu de la date de modification : « atime » -u, « access » -u, « use » -u, « ctime » -c ou « status » -c ; utiliser la date indiquée comme clef de tri si --sort=time � -S FILE FILE existe et est une « socket » -t FD le descripteur de fichier FD est ouvert sur un terminal -u FILE FILE existe et le bit « Set-UID » est initialisé -w FILE FILE existe et dispose des permissions en écriture -x FILE FILE existe et est exécutable (ou peut être parcouru dans le cas d'un répertoire) � -S, --suffix=SUFFIX écraser le suffixe d'archivage habituel -t, --target-directory=DIRECTORY indiquer le DIRECTORY dans lequel créer les liens -T, --no-target-directory toujours traiter LINK_NAME comme un fichier normal -v, --verbose afficher le nom de chaque fichier lié � -SSTRING, --sep-string[=STRING] séparer les colonnes avec STRING, sans -S : le séparateur par défaut est <TAB> avec -J et <espace> sinon (comme -S" "), sans effet sur les colonnes -t, --omit-header ne pas afficher les en-têtes et les pieds de page � -T, --omit-pagination ne pas afficher les en-têtes et les pieds de page, éliminer la pagination par saut de page définis dans les fichiers d'entrée -v, --show-nonprinting utiliser la notation octale avec barre oblique inverse -w, --width=PAGE_WIDTH utiliser PAGE_WIDTH comme largeur de page, au lieu de 72 colonnes par défaut, uniquement pour afficher les textes en plusieurs colonnes. Cette option est annulée si utilisée avec -s[CAR] � -T, -w, --mesg ajouter l'état du message de l'utilisateur avec +, - ou ? -u, --users afficher la liste des utilisateurs actifs --message identique à -T --writable identique à -T � -W, --page-width=PAGE_WIDTH toujours utiliser PAGE_WIDTH comme largeur de page, au lieu de 72 colonnes par défaut, sauf lorsque l'option -J est active, sans interférence avec -S ou -s � -W, --word-regexp=REGEXP utiliser REGEXP pour établir la correspondance à chaque mot -b, --break-file=FILE utiliser les césures de mots de FILE -f, --ignore-case convertir minuscules en majuscules pour le tri -g, --gap-size=NUMBER espacer les champs de NUMBER colonnes -i, --ignore-file=FILE lire la liste des mots à ignorer dans FILE -o, --only-file=FILE lire la liste des mots à conserver dans FILE � -X, --exclude-from=FILE exclure les fichiers correspondants à un des motifs de FILE --exclude=PATTERN exclure les fichiers correspondants à PATTERN -x, --one-file-system ignorer les répertoires de différents systèmes de fichiers � -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de NAME � -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de chaque NAME � -a ne modifier que la date d'accès -c, --no-create ne créer aucun fichier -d, --date=STRING analyser la chaîne STRING et l'utiliser au lieu de la date actuelle -f (ignorée) � -a, --across imprimer les colonnes horizontalement au lieu de verticalement quand utilisé avec -COLUMN -c, --show-control-chars utiliser une notation par chapeau (^G) et octale avec barre oblique inverse -d, --double-space doubler les espaces à l'affichage � -a, --all ne pas ignorer les entrées débutant par . -A, --almost-all ne pas inclure . ou .. dans la liste --author avec -l, afficher l'auteur de chaque fichier -b, --escape afficher les caractères non graphiques avec des protections selon le style C � -a, --all inclure les systèmes de fichiers factices -B, --block-size=SIZE convertir les tailles en SIZE avant de les afficher. Par exemple « -BM » affiche les tailles en unités de 1 048 576 octets. Voir le format de SIZE ci-dessous. --total produire un total général -h, --human-readable afficher les tailles dans un format lisible (par exemple 1K, 234M ou 2G) -H, --si identique avec un multiple de 1000 au lieu de 1024 � -a, --all afficher tous les paramètres actuels en format lisible -g, --save afficher tous les paramètres actuels en format compatible avec « stty » -F, --file=DEVICE utiliser le périphérique DEVICE indiqué au lieu de l'entrée standard � -a, --all convertir tous les blancs, pas que les blancs initiaux --first-only ne convertir que les séquences de blancs en tête (écrase -a) -t, --tabs=N utiliser N caractères de tabulations au lieu de 8 (active -a) -t, --tabs=LIST utiliser une liste de positions de tabulation séparées par des virgules (active -a) � -a, --archive identique à -dR --preserve=all --attributes-only ne pas copier les données du fichier, seulement les attributs --backup[=CONTROL] archiver chaque fichier de destination -b comme --backup mais n'accepte pas d'argument --copy-contents copier le contenu des fichiers spéciaux en mode récursif -d identique à --no-dereference --preserve=links � -a, --multiple accepter plusieurs arguments et les traiter comme un NAME -s, --suffix=SUFFIX supprimer un SUFFIX de terminaison -z, --zero séparer la sortie par NUL au lieu de changements de ligne � -a, --suffix-length=N générer ces suffixes de longueur N (%d par défaut) --additional-suffix=SUFFIX ajouter un SUFFIX supplémentaire aux noms de fichiers -b, --bytes=SIZE écrire SIZE octets par fichier de sortie -C, --line-bytes=SIZE écrire au plus SIZE octets par ligne par fichier de sortie -d, --numeric-suffixes[=FROM] utiliser des suffixes numériques et non alphabétiques. FROM modifie la valeur de départ (0 par défaut) -e, --elide-empty-files ne pas générer de fichiers vides avec « -n » --filter=COMMAND écrire vers la commande d'interpréteur COMMAND ; le nom de fichier est $FILE -l, --lines=NUMBER écrire NUMBER lignes par fichier de sortie -n, --number=CHUNKS générer CHUNKS fichiers de sortie. Voir ci-dessous. -u, --unbuffered copier immédiatement l'entrée sur la sortie avec « -n r/... » � -b, --before placer le séparateur avant plutôt qu'après -r, --regex interpréter le séparateur comme une expression rationnelle -s, --separator=STRING utiliser STRING comme séparateur au lieu d'un changement de ligne � -b, --binary lire en mode binaire � -b, --binary lire en mode binaire (par défaut sauf en lecture depuis l'entrée standard de tty) � -b, --body-numbering=STYLE utiliser STYLE pour numéroter les lignes -d, --section-delimiter=CC utiliser CC pour séparer les pages logiques -f, --footer-numbering=STYLE utiliser STYLE pour numéroter les lignes de bas de page � -b, --bytes compter les octets au lieu des colonnes -s, --spaces césure aux espaces -w, --width=WIDTH utiliser WIDTH colonnes au lieu de 80 � -b, --bytes=LIST ne sélectionner que ces octets -c, --characters=LIST ne sélectionner que ces caractères -d, --delimiter=DELIM utiliser DELIM au lieu de TAB comme délimiteur de champ � -b, --ignore-leading-blanks ignorer les blancs d'en-tête -d, --dictionary-order ne considérer que les blancs et les caractères alphanumériques -f, --ignore-case transformer les minuscules en majuscules � -b, --suffix-format=FORMAT utiliser le FORMAT sprintf au lieu de %02d -f, --prefix=PREFIX utiliser PREFIX au lieu de « xx » -k, --keep-files ne pas supprimer les fichiers de sortie en cas d'erreurs � -c --format=FORMAT utiliser le FORMAT indiqué au lieu de celui par défaut ; afficher un changement de ligne après chaque utilisation de FORMAT --printf=FORMAT identique à --format mais, interpréter les séquences de protection, et ne pas afficher de changement de ligne. Si vous désirez un changement de ligne, ajoutez « \n » à FORMAT. -t, --terse afficher l'information dans un format compréhensible � -c, --bytes=K afficher les K derniers octets ; -c peut aussi être utilisé pour afficher les octets débutant au Ke de chaque fichier � -c, --bytes=[-]K afficher les K premiers octets de chaque fichier ; si le préfixe « - » est présent, afficher tous les octets sauf les K derniers octets de chaque fichier -n, --lines=[-]K afficher les K premières lignes au lieu des 10 premières ; si le préfixe « - » est présent, afficher toutes les lignes sauf les N dernières de chaque fichier � -c, --changes comme --verbose, mais seulement en cas de modification -f, --silent, --quiet supprimer la plupart des messages d'erreur -v, --verbose afficher un diagnostic pour chaque fichier traité � -c, --check lire les sommes %s à partir des FILEs et les vérifier � -c, --check, --check=diagnose-first vérifier le tri de l'entrée, sans trier -C, --check=quiet, --check=silent comme -c, mais ne pas afficher la première ligne erronée --compress-program=PROG compresser les temporaires avec PROG et les décompresser avec PROG -d � -c, --count préfixer les lignes par le nombre d'occurrences -d, --repeated n'afficher que les lignes ayant des duplicatas � -c, --crown-margin préserver l'indentation des deux premières lignes -p, --prefix=CHAÃŽNE ne reformater que les lignes débutant par STRING en rattachant le préfixe aux lignes reformatées -s, --split-only effectuer la césure des longues lignes mais sans les remplir � -c, --no-create ne pas créer de fichier � -d, --date=STRING afficher la date indiqué par STRING, pas l'actuelle -f, --file=DATEFILE identique à --date pour chaque ligne de DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] afficher la date et l'heure au format ISO 8601. TIMESPEC est « date » pour la date seule (par défaut), « hours », « minutes », « seconds » ou « ns » pour indiquer la précision des date et heure. � -d, --decode décoder les données -i, --ignore-garbage lors du décodage, ignorer les caractères non alphabétiques -w, --wrap=COLS effectuer la césure des lignes après COLS caractères (76 par défaut). Utilisez 0 pour désactiver la césure � -d, --delimiter=X utiliser X au lieu d'un blanc comme délimiteur de champ � -d, --delimiters=LIST utiliser les caractères de LIST au lieu de tabulations -s, --serial copier un seul fichier à la fois au lieu de le faire en parallèle � -d, --directory créer un répertoire et non un fichier -u, --dry-run ne rien créer, n'afficher qu'un nom (non sûr) -q, --quiet ne pas afficher les diagnostiques d'échec de création des fichiers ou répertoires � -e activer l'interprétation de protection par barre oblique inverse -E désactiver l'interprétation de protection par barre oblique inverse (par défaut) � -e activer l'interprétation de protection par barre oblique inverse (par défaut) -E désactiver l'interprétation de protection par barre oblique inverse � -e, --canonicalize-existing tous les composants du chemin doivent exister -m, --canonicalize-missing aucun composant du chemin n'a besoin d'exister -L, --logical résoudre les composants « .. » avant les liens symboliques -P, --physical résoudre les liens symboliques rencontrés (par défaut) -q, --quiet supprimer la plupart des messages d'erreur --relative-to=FILE afficher le chemin résolu relativement à FILE --relative-base=FILE afficher les chemins absolus sauf sous FILE -s, --strip, --no-symlinks ne pas résoudre les liens symboliques -z, --zero séparer la sortie par NULL au lieu de changements de ligne � -e, --echo traiter chaque ARG comme une ligne d'entrée -i, --input-range=LO-HI traiter chaque nombre de LO à HI comme une ligne d'entrée -n, --head-count=COUNT afficher au plus COUNT lignes -o, --output=FILE écrire le résultat dans FILE au lieu de la sortie standard --random-source=FILE obtenir des octets aléatoires de FILE (/dev/urandom par défaut) -z, --zero-terminated terminer les lignes avec l'octet NULL, sans changement de ligne � -f ne pas trier, activer -aU, désactiver -ls --color -F, --classify ajouter un indicateur (parmi */=>@|) aux entrées --file-type identique mais sans ajout de « * » --format=WORD « across » -x (croisé), « commas » -m (avec virgules), « horizontal » -x (horizontal), « long » -l (long), « single-column » -1 (une seule colonne), « verbose » -l (bavard), « vertical » -C (vertical) --full-time identique à -l --time-style=full-iso � -f omettre la ligne d'en-tête des colonnes au format court -w omettre le nom complet de l'utilisateur au format court -i omettre le nom complet de l'utilisateur et le nom de l'hôte au format court -q omettre le nom complet de l'utilisateur, le nom de l'hôte et le temps d'inactivité au format court � -f identique à -t fF, sélectionner les flottants -i identique à -t dI, sélectionner les entiers décimaux -l identique à -t dL, sélectionner les entiers décimaux longs -o identique à -t o2, sélectionner les nombres octaux sur 2 octets -s identique à -t d2, sélectionner les nombres décimaux sur 2 octets -x identique à -t x2, sélectionner les nombres hexadécimaux sur 2 octets � -f FILE FILE existe et est un fichier standard -g FILE FILE existe et le bit « Set-GID » est initialisé -G FILE FILE existe et appartient au GID effectif -h FILE FILE existe et est un lien symbolique (identique à -L) -k FILE FILE existe et le bit « sticky » est initialisé � -f, --canonicalize canoniser en suivant récursivement chaque lien symbolique de tous les composants donnés. Tous les composant sauf le dernier doivent exister -e, --canonicalize-existing canoniser en suivant récursivement chaque lien symbolique de tous les composants donnés. Tous les composants doivent exister � -f, --fields=LIST ne sélectionner que ces champs ; afficher aussi toutes les lignes qui ne contiennent pas de caractère délimiteur, à moins que l'option -s soit indiquée -n (ignoré) � -f, --follow[={name|descriptor}] afficher les données ajoutées au fur et à mesure que le fichier grandit ; -f, --follow et --follow=descriptor sont équivalents -F identique à --follow=name --retry � -f, --force si un fichier de destination existe et ne peut être ouvert alors le supprimer et réessayer (cette option est ignorée si l'option -n est aussi utilisée) -i, --interactive demander confirmation avant d'écraser (surcharge une précédente option -n) -H suivre les liens symboliques de ligne de commande dans SOURCE � -f, --force modifier les droits pour permettre l'écriture si nécessaire -n, --iterations=N écraser N fois au lieu du nombre par défaut (%d) --random-source=FILE obtenir des octets aléatoires de FILE (/dev/urandom par défaut) -s, --size=N broyer N octets (les suffixes K, M, G sont acceptés) � -f, --format=FORMAT utiliser FORMAT comme style printf de virgule flottante -s, --separator=STRING utiliser STRING pour séparer les nombres (\n par défaut) -w, --equal-width équilibrer la largeur en remplissant l'en-tête par des zéros � -g identique à -l mais sans afficher le propriétaire � -g GID[,GID1...] définir aussi le GID primaire au GID numérique et (si indiqués) les GID supplémentaires à GID1, ... � -g, --general-numeric-sort comparer selon la valeur numérique générale -i, --ignore-nonprinting ne considérer que les caractères affichables -M, --month-sort comparer (inconnu) < « JANV. » < ... < « DÉC. » � -h, --header-numbering=STYLE utiliser STYLE pour numéroter les lignes d'en-tête -i, --line-increment=N incrémenter en nombre de lignes à chaque ligne -l, --join-blank-lines=N regrouper N lignes vides comme une seule ligne -n, --number-format=FORMAT insérer des numéros de ligne selon le FORMAT -p, --no-renumber ne pas réinitialiser le nombre de lignes aux pages logiques -s, --number-separator=STRING ajouter STRING après le numéro de ligne (si possible) � -h, --header=HEADER utiliser un en-tête HEADER centré au lieu du nom de fichier dans l'entête de page, -h "" imprime une ligne blanche, n'utilisez pas -h"" -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] remplacer les espaces avec le caractères CHAR (ou tabulations) par des tabulations de largeur WIDTH (8 par défaut) -J, --join-lines fusionner des lignes complètes, désactiver la troncature des lignes -W, sans alignement des colonnes, --sep-string[=STRING] définit les séparateurs � -h, --human-numeric-sort comparer des chiffres lisibles (par exemple 2K 1G) � -h, --no-dereference affecter les liens symboliques au lieu des fichiers référencés (seulement utile sur les systèmes permettant de modifier les dates de lien symbolique) -m ne modifier que la date de modification � -i, --ignore-case ignorer la casse lors de la comparaison de champs -j FIELD équivalent à « -1 FIELD -2 FIELD » -o FORMAT respecter FORMAT lors de la construction de la ligne de sortie -t CHAR utiliser CHAR comme délimiteur de champs d'entrée et de sortie � -i, --ignore-environment démarrer avec un environnement vide -0, --null terminer chaque ligne de sortie avec l'octet 0 au lieu d'un changement de ligne -u, --unset=NAME supprimer la variable de l'environnement � -i, --initial ne pas convertir les tabulations après des non blancs -t, --tabs=N utiliser des tabulations de N caractères et non 8 � -i, --inodes afficher les renseignements des inÅ“uds, pas des blocs -k identique à --block-size=1K -l, --local limiter le parcours aux systèmes de fichiers locaux --no-sync ne pas réaliser de synchronisation avant d'obtenir les renseignements d'utilisation (par défaut) � -i, --input=MODE ajuster la mise en tampon du flux d'entrée standard -o, --output=MODE ajuster la mise en tampon du flux de sortie standard -e, --error=MODE ajuster la mise en tampon du flux d'erreur standard � -i, --interactive demander s'il faut supprimer les destinations -L, --logical déréférencer les TARGETs qui sont des liens symboliques -n, --no-dereference traiter LINK_NAME comme un fichier normal s'il s'agit d'un lien symbolique vers un répertoire -P, --physical transformer les liens directs en liens symboliques -r, --relative créer des liens symbolique relatifs à l'emplacement du lien -s, --symbolic créer un lien symbolique au lieu d'un lien direct � -k, identique à --block-size=1K -L, --dereference déréférencer tous les liens symboliques -l, --count-links comptabiliser les tailles de tous les liens directs -m identique à --block-size=1M � -k, --key=KEYDEF trier suivant une clef, KEYDEF indique l'emplacement et le type -m, --merge fusionner les fichiers déjà triés ; ne pas trier � -l utiliser le format long d'affichage -L, --dereference afficher les renseignements sur les fichiers référencés par les liens symboliques plutôt que sur les liens symboliques eux-mêmes -m remplir la largeur avec une liste d'entrées séparées par des virgules � -l, --length=PAGE_LENGTH définir la longueur de page à PAGE_LENGTH (66) lignes (par, défaut une page contient 56 lignes de texte, 63 avec l'option -F) -m, --merge imprimer tous les fichiers en parallèle, un par colonne, tronquer les lignes, mais joindre les lignes de longueur complète avec -J � -l, --link lier les fichiers au lieu de les copier -L, --dereference toujours suivre les liens symboliques de SOURCE � -l, --login afficher le processus de connexion du système � -m, --canonicalize-missing canoniser en suivant récursivement chaque lien symbolique de tous les composants donnés. Aucune contrainte sur les composants. -n, --no-newline ne pas générer de délimiteur à la fin -q, --quiet, -s, --silent supprimer la plupart des messages d'erreur -v, --verbose afficher les messages d'erreur -z, --zero séparer la sortie avec NULL plutôt qu'un changement de ligne � -m, --mode=MODE définir les bits de droits du fichier à MODE, et non a=rw - umask � -m, --mode=MODE définir l'accès fichier à MODE (comme avec chmod), et non a=rwx - umask -p, --parents créer les répertoires parents nécessaire, sans erreur s'ils existent -v, --verbose afficher un message pour chaque répertoire créé -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de chaque répertoire créé � -n, --adjustment=N ajoute la valeur entière N à la valeur de la priorité (10 par défaut) � -n, --digits=DIGITS utiliser DIGITS chiffres au lieu de 2 -s, --quiet, --silent ne pas afficher la taille des fichiers de sortie -z, --elide-empty-files supprimer les fichiers de sortie vides � -n, --lines=K afficher les K dernières lignes, au lieu des %d dernières ou utilisez -n +K pour afficher les lignes à partir de la Ke --max-unchanged-stats=N avec l'option --follow=name, rouvrir un FILE qui n'a pas changé de taille après N itérations (%d par défaut) afin de vérifier s'il a été délié ou renommé (c'est le cas habituellement des fichiers tournants de journalisation). Avec inotify, cette option est rarement utilisée. � -n, --no-clobber ne pas écraser de fichier existant (surchage une précédente option -i) -P, --no-deference ne jamais suivre les liens symboliques de SOURCE � -n, --numeric-sort comparer selon une valeur numérique de type chaîne -R, --random-sort trier par clef de hachage aléatoire --random-source=FILE obtenir des octets aléatoires de FILE -r, --reverse inverser le résultat des comparaisons � -n, --numeric-uid-gid identique à -l, mais afficher les valeurs numériques des UID et GID -N, --literal afficher les noms bruts (sans traiter spécialement les caractères de contrôle par exemple) -o identique à -l mais sans afficher les informations de groupe -p, --indicator-style=slash ajouter l'indicateur « / » aux répertoires � -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] numéroter les lignes, en utilisant DIGITS chiffres (5 par défaut), suivi du séparateur SEP (tabulation par défaut), le compteur débute par défaut à la première ligne du fichier d'entrée -N, --first-line-number=NUMBER débuter le compteur à NUMBER avec la première ligne de la première page imprimée (consultez +FIRST_PAGE) � -o, --indent=MARGIN décaler chaque ligne avec MARGIN (zéro) espaces, ne pas affecter -w ou -W, MARGIN est ajouté à PAGE_WIDTH -r, --no-file-warnings inhiber l'avertissement lorsqu'un fichier ne peut pas être ouvert � -o, --io-blocks traiter SIZE comme un nombre de blocs d'E/S au lieu d'octets � -o, --output=FILE écrire le résultat dans FILE au lieu de la sortie standard -s, --stable stabiliser le tri en désactivant la comparaison de dernier recours -S, --buffer-size=SIZE utiliser SIZE pour le tampon mémoire principal � -p identique à --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] préserver les attributs indiqués (par défaut « mode,ownership,timestamps ») et si possible les attributs supplémentaires « context », « links », « xattr » et « all » � -p DIR utiliser DIR comme préfixe, implique -t [déconseillé] -t interpréter TEMPLATE comme un seul composant de nom de fichier, relatif au répertoire $TMPDIR s'il est défini ; ou à défaut le répertoire indiqué par -p ; ou sinon /tmp [déconseillé] � -p, --parents supprimer DIRECTORY et ses parents, par exemple « rmdir -p a/b/c » est identique à « rmdir a/b/c a/b a » -v, --verbose afficher un diagnostic pour chaque répertoire traité � -p, --preserve-timestamps appliquer les dates d'accès ou de modification des fichiers SOURCES aux fichiers de destination correspondants -s, --strip enlever les tables des symboles --strip-program=PROGRAMME pour enlever la table des symboles du binaire -S, --suffix=SUFFIXE substituer le SUFFIXE habituel d'archivage -t, --target-directory=RÉPERTOIRE copier tous les arguments de la SOURCE dans le RÉPERTOIRE -T, --no-target-directory traiter DEST comme un fichier normal -v, --verbose afficher le nom de chaque répertoire créé � -q, --count afficher tous noms de connexion des utilisateurs connectés -r, --runlevel afficher le niveau d'exécution actuel -s, --short n'afficher que le nom, la ligne et l'heure (par défaut) -t, --time afficher le dernier changement d'heure du système � -q, --hide-control-chars afficher « ? » au lieu de caractères non graphiques --show-control-chars afficher les caractères non graphiques tel quel (par défaut) -Q, --quote-name encapsuler chaque nom d'entrée entre guillemets --quoting-style=WORD utiliser le style d'encapsultation défini par WORD : « literal », « shell », « shell-always », « c » ou « escape » � -q, --quiet, --silent ne jamais afficher les en-têtes de noms de fichier -v, --verbose toujours afficher les en-têtes de noms de fichier � -r, --reference=FILE afficher la dernière date de modification de FILE -R, --rfc-2822 afficher la date et l'heure au format RFC 2822. Exemple : Mon, 07 Aug 2006 12:34:56 -0600 � -r, --reference=FILE utiliser la date de ce fichier au lieu de la date actuelle -t STAMP utiliser [[CC]AA]MMJJhhmm[.ss] au lieu de la date actuelle --time=WORD modifier le temps indiqué : équivalent à -a si WORD est « access », « atime » ou « use » ; équivalent à -m si WORD est « modify » ou « mtime » � -r, --reference=RFILE utiliser la taille de RFILE -s, --size=SIZE définir ou ajuster la taille du fichier de SIZE � -r, --references premier champ de chaque ligne en référence -t, --typeset-mode — option non implémentée — -w, --width=NUMBER largeur d'affichage en colonnes, sans référence � -r, --reverse inverser l'ordre de tri -R, --recursive afficher récursivement les sous-répertoires -s, --size afficher la taille d'allocation de chaque fichier, en bloc � -s, --only-delimited ne pas afficher les lignes sans délimiteurs --output-delimiter=STRING utiliser STRING comme délimiteur de sortie le délimiteur d'entrée est utilisé par défaut � -s, --signal=SIGNAL, -SIGNAL indiquer le nom ou le numéro du signal à transmettre. -l, --list afficher les noms de signaux, ou convertir les noms de signaux vers ou depuis des nombres -t, --table afficher le tableau de renseignements sur les signaux � -s, --sleep-interval=N avec -f, dort environ N secondes (1.0 par défaut) entre les itérations. Avec inotify et --pid=P, vérifier le processus P au moins une fois toutes les N secondes. -v, --verbose afficher toujours les en-têtes des noms de fichier � -s, --symbolic-link créer des liens symboliques au lieu d'une copie -S, --suffix=SUFFIX écraser le suffixe habituel d'archivage --target-directory=DIRECTORY copier tous les arguments SOURCE dans DIRECTORY -T, --no-target-directory traiter DEST comme un fichier normal � -s[CHAR], --separator[=CHAR] séparer les colonnes à l'aide d'un seul caractère, le caractère de tabulation par défaut sans -w et sans caractère avec -w ; -s[CHAR] inhibe la troncature de ligne pour les trois options de colonnes (-COLUMN|-a - COLUMN|-m) sauf si -w est défini � -t trier selon la date de modification, récent d'abord -T, --tabsize=COLS utiliser des tabulations à chaque COLS au lieu de 8 � -t équivalent à -vT -T, --show-tabs afficher les caractères TAB comme ^I -u (ignoré) -v, --show-nonprinting utiliser les notations ^ et M-, sauf pour LFD et TAB � -t, --field-separator=SEP utiliser SEP au lieu de non blanc pour les transitions d'espace -T, --temporary-directory=DIR utiliser DIR pour les fichiers temporaires, non pas $TMPDIR ou %s ; plusieurs options indiquent plusieurs répertoires --parallel=N exécuter N tris en parallèle -u, --unique avec -c, vérifier l'ordonnancement strict ; sans -c, n'afficher que la première d'une passe équivalente � -t, --tabs=LIST utiliser une liste explicite de positions de tabulations séparées par des virgules � -t, --tagged-paragraph indenter différemment les deux premières lignes -u, --uniform-spacing une espace entre les mots, deux entre les phrases -w, --width=N largeur de colonne maximale (75 colonnes par défaut) -g, --goal=N largeur désirée (93 % de la largeur par défaut) � -t, --target-directory=DIRECTORY déplacer tous les arguments SOURCE vers DIRECTORY -T, --no-target-directory traiter DEST comme un fichier normal -u, --update ne déplacer que si le fichier SOURCE est plus récent que le fichier cible ou si aucun fichier cible n'existe -v, --verbose expliquer ce qui est fait � -t, --text lire en mode texte (par défaut sauf en lecture depuis l'entrée standard de tty) � -t, --text lire en mode texte (par défaut) � -t, --threshold=SIZE exclure les entrées plus petites que SIZE si positive, ou les entrées plus grandes que SIZE si négative --time afficher l'heure de la dernière modification de tous les fichiers du répertoire ou des sous-répertoires --time=WORD afficher l'heure de WORD au lieu de l'heure de modification : atime, access, use, ctime ou status. --time-style=STYLE afficher l'heure en utilisant le STYLE : full-iso, long-iso, iso, +FORMAT FORMAT est interprété comme « date » � -u avec -lt, afficher et trier selon la date d'accès ; avec -l, afficher la date d'accès et trier par nom ; sinon trier selon la date d'accès -U ne pas trier, afficher les entrées dans l'ordre du répertoire -v tri naturel des numéros (de versions) dans le texte � -u, --remove tronquer et supprimer le fichier après l'avoir écrasé -v, --verbose afficher un indicateur de progression -x, --exact ne pas arrondir la taille des fichiers jusqu'au prochain bloc complet ; c'est le comportement par défaut pour les fichiers non standards -z, --zero ajouter une réécriture finale avec des zéros pour camoufler le broyage du fichier � -u, --update ne copier que quand le fichier SOURCE est plus récent que le fichier de destination ou quand le fichier de destination est manquant -v, --verbose expliquer ce qui est fait -x, --one-file-system rester sur ce système de fichiers � -u, --user=USER définir l'utilisateur USER dans le contexte de sécurité cible -r, --role=ROLE définir le rôle ROLE dans le contexte de sécurité cible -t, --type=TYPE définir le type TYPE dans le contexte de sécurité cible -l, --range=RANGE définir l'intervalle RANGE dans le contexte de sécurité cible � -v FILENUM comme -a FILENUM, mais supprimer les lignes jointes en sortie -1 FIELD fusionner sur le champ FIELD du fichier 1 -2 FIELD fusionner sur le champ FIELD du fichier 2 --check-order vérifier que l'entrée est correctement triée, même si toutes les lignes en entrée sont appairées --nocheck-order ne pas vérifier que l'entrée est correctement triée --header traiter la première ligne de chaque fichier comme un champ d'en-tête de ligne et les afficher sans essayer de les appairer � -v, --kernel-version afficher la version du noyau -m, --machine afficher le nom de matériel de la machine -p, --processor afficher le type de processeur ou « unknown » (pour inconnu) -i, --hardware-platform afficher la plate-forme matérielle ou « unknown » (pour inconnu) -o, --operating-system afficher le système d'exploitation � -v, --starting-line-number=N premier numéro de ligne sur toutes les pages logiques -w, --number-width=N utiliser N colonnes pour les numéros de ligne � -v, --verbose afficher un diagnostic pour chaque fichier traité � -w, --check-chars=N ne pas comparer plus de N caractères dans les lignes � -w, --width=COLS définir la largeur de l'écran au lieu de la valeur actuelle -x afficher les entrées en ligne au lieu de colonne -X trier alphabétiquement selon les extension des entrées -Z, --context afficher les contextes de sécurité SELinux de tous les fichiers -1 afficher un fichier par ligne � -z, --zero séparer la sortie par des NULL au lieu de changements de ligne � -z, --zero-terminated terminer les lignes avec l'octet NULL, sans changement de ligne � CONTEXT contexte de sécurité complet -c, --compute calculer le contexte de transition de processus avant de le modifier -t, --type=TYPE type (pour le même rôle que le parent) -u, --user=USER identité d'utilisateur -r, --role=ROLE rôle -l, --range=RANGE intervalle de niveau � Fichier : « %n » Identif. : %-8i Longueur du nom : %-7l Type : %T Taille de bloc : %-10s Taille de bloc fondamentale : %S Blocs : total : %-10b libre : %-10f disponible : %a InÅ“uds : total : %-10c libre : %d � Fichier : %N Taille : %-10s Blocs : %-10b Blocs d'E/S : %-6o %F � Les tâches dans un état dormant ininterruptible contribuent aussi à la charge moyenne. � [:graph:] tous les caractères imprimables, sans inclure les blancs [:lower:] tous les lettres minuscules [:print:] tous les caractères imprimables, incluant les blancs [:punct:] tous les caractères de ponctuation [:space:] tous les sauts verticaux ou horizontaux [:upper:] toutes les lettres majuscules [:xdigit:] tous les chiffres hexadécimaux [=CHAR=] tous les caractères équivalents à CHAR � \0NNN octet de valeur octale NNN (1 à 4 chiffres) \xHH octet de valeur hexadécimale HH (1 ou 2 chiffres) � \NNN octet ayant la valeur octale NNN (1 à 3 chiffres) \xHH octet ayant la valeur hexadécimale HH (1 à 2 chiffres) \uHHHH caractère Unicode (ISO/IEC 10646) ayant la valeur hexadécimale HHHH (4 chiffres) \UHHHHHHHH caractère Unicode ayant la valeur hexadécimal HHHHHHHH (8 chiffres) � \\ barre oblique inverse \a alerte (SON) \b retour arrière \c bloquer l'affichage ultérieur \e échappement \f saut de page \n changement de ligne \r retour chariot \t tabulation horizontale \v tabulation verticale � \v saut vertical CHAR1-CHAR2 tous les caractères de CHAR1 à CHAR2 en ordre croissant [CHAR*] dans SET2, copie de CHAR jusqu'à longueur de SET1 [CHAR*REPEAT] REPEAT copies de CHAR, REPEAT est un octal s'il débute par 0 [:alnum:] toutes les lettres et les chiffres [:alpha:] toutes les lettres [:blank:] tous les blancs horizontaux [:cntrl:] tous les caractères de contrôle [:digit:] tous les chiffres � ascii de l'EBCDIC vers l'ASCII ebcdic de l'ASCII vers l'EBCDIC ibm de l'ASCII vers l'EBCDIC alternatif block remplir les enregistrements terminés par une nouvelle ligne par des espaces jusqu'à la taille « cbs » unblock remplacer les espaces en fin d'enregistrements de taille « cbs » par une nouvelle ligne lcase transformer les majuscules en minuscules ucase transformer les minuscules en majuscules sparse essayer de chercher plutôt qu'écrire la sortie pour les blocs d'entrée NUL swab inverser chaque paire d'octets en entrée sync remplir chaque bloc lu avec des NUL jusqu'à la taille « ibs » ; avec « block » ou « unblock », remplir avec des espaces au lieu de NUL � auto accepter un suffixe facultatif d'une ou deux lettres : 1K = 1000 ; 1Ki = 1024 ; 1M = 1000000 ; 1Mi = 1048576 ; ... � binary utiliser des E/S binaires pour les données � cio utiliser des E/S simultanées pour les données � count_bytes traiter « count=N » comme un décompte d'octets (seulement iflag) � d[SIZE] décimal signé, SIZE octets par entier f[SIZE] point flottant, SIZE octets par entier o[SIZE] octal, SIZE octets par entier u[SIZE] décimal non signé SIZE octets par entier x[SIZE] hexadécimal, SIZE octets par entier � direct utiliser des E/S directes pour les données � directory échouer sauf s'il s'agit d'un répertoire � dsync utiliser des E/S synchronisées pour les données � excl échouer si le fichier de sortie existe déjà nocreat ne pas créer le fichier de sortie notrunc ne pas tronquer le fichier de sortie noerror continuer même après des erreurs de lecture fdatasync écrire physiquement les données en sortie avant la fin fsync identique, mais écrire aussi les métadonnées � fullblock accumuler des blocs pleins en entrée (uniquement iflag) � iec accepter un suffixe facultatif d'une lettre : 1K = 1024 ; 1M = 1048576 ; ... � iec-i accepter un suffixe facultatif de deux lettres : 1Ki = 1024 ; 1Mi = 1048576 ; ... � if=FILE lire FILE au lieu de l'entrée standard (stdin) iflag=FLAGS lire selon la liste de symboles séparés par des virgules obs=BYTES écrire BYTES octets à la fois (512 par défaut) of=FILE écrire dans FILE au lieu de la sortie standard (stdout) oflag=FLAGS écrire selon la liste de symboles séparés par des virgules seek=N se déplacer de N blocs de taille « obs » au début de la sortie skip=N ignorer N blocs de taille « ibs » au début de l'entrée status=WHICH les renseignements WHICH à supprimer de la sortie d'erreur standard : « noxfer » supprime les statistiques de transfert et « none » supprime tout � noatime ne pas mettre à jour la date d'accès � nocache abandonner les données en cache � noctty ne pas assigner de terminal contrôleur depuis le fichier � nofollow ne pas suivre les liens symboliques � nolinks échouer en cas de liens multiples � nonblock utiliser des E/S non bloquantes � none aucune mise à l'échelle automatique n'est effectuée ; les suffixes déclencheront une erreur � none, off ne jamais archiver (même si --backup est utilisée) numbered, t effectuer des archives numérotées existing, nil numéroter si des archives numérotées existent déjà, se comporter comme « simple » dans le cas contraire simple, never effectuer toujours des archives simples � seek_bytes traiter « seek=N » comme un décompte d'octets (seulement oflag) � si accepter un suffixe facultatif d'une lettre : 1K = 1000 ; 1M = 1000000 ; ... � skip_bytes traiter « skip=N » comme un décompte d'octets (seulement iflag) � sync identique mais aussi pour les métadonnées � text utiliser des E/S textuelles pour les données � %H:%M � (archive : %s)� * [-]ctlecho écho des caractères de contrôle par une notation en chapeau (« ^c ») [-]echo écho des caractères en entrée * [-]echoctl identique à [-]ctlecho [-]echoe identique à [-]crterase [-]echok écho d'un changement de ligne après un caractère d'annulation � * [-]echoke identique à [-]crtkill [-]echonl écho d'un changement de ligne même sans d'écho des autres caractères * [-]echoprt écho des caractères d'effacement par retour arrière, entre « \ » et « / » [-]icanon autoriser les caractères spéciaux « erase », « kill », « werase », et « rprnt » [-]iexten autoriser les caractères spéciaux non POSIX � * [-]iuclc transformer les majuscules en minuscules * [-]ixany permettre à n'importe quel caractère de relancer l'affichage sur la sortie, pas uniquement le caractère de redémarrage [-]ixoff autoriser l'envoi d'un caractère d'arrêt ou de départ [-]ixon autoriser le contrôle de flux XON/XOFF [-]parmrk indiquer les erreurs de parité par une séquence de caractères (255-0) [-]tandem identique à [-]ixoff � * [-]iutf8 présumer que les caractères en entrée sont codés en UTF-8 � * [-]ocrnl transformer un retour chariot par un changement de ligne * [-]ofdel utiliser des caractères d'effacement comme caractère de remplissage au lieu de caractères nuls * [-]ofill utiliser le remplissage de caractères au lieu du délai par minuterie * [-]olcuc traduire les minuscules en majuscules * [-]onlcr traduire le saut de ligne en retour chariot-changement de ligne * [-]onlret le changement de ligne génère un retour chariot � * [-]onocr ne pas afficher de retour chariot en première colonne [-]opost post-traitement de sortie * tabN style du délai de tabulation horizontale, N parmi [0..3] * tabs identique à tab0 * -tabs identique à tab3 * vtN style du délai de tabulation verticale, N parmi [0..1] � * eol2 CHAR CHAR alternatif pour arrêter la ligne erase CHAR CHAR supprimera le dernier caractère saisi intr CHAR CHAR émettra un signal d'interruption kill CHAR CHAR supprimera la ligne actuelle � * lnext CHAR CHAR entrera le prochain caractère entre guillemets quit CHAR CHAR émettra un signal de fin * rprnt CHAR CHAR réaffichera la ligne actuelle start CHAR CHAR redémarrera la sortie après l'avoir arrêtée � * rows N indiquer au noyau que le terminal a N lignes * size afficher le nombre de lignes et de colonnes selon les paramètres du noyau speed afficher la vitesse du terminal time N avec -icanon, initialiser le délai d'inactivité de lecture à N dixièmes de seconde � ??:?? � TTY� contexte=%s� egid=%s� euid=%s� gid=%s� groupes=� ancien � par répétition %s �% 1 % de mémoire, b 1, k 1024 (par défaut), et ainsi de suite pour M, G, T, P, E, Z et Y. Sans FILE, ou quand FILE est -, lire l'entrée standard. *** Attention *** Les paramètres régionaux (locale) utilisés dans l'environnement affectent l'ordre de tri. Utilisez LC_ALL=C pour trier selon un ordre traditionnel qui utilise la valeur native des octets. �%.*s : spécification de conversion incorrecte�%e %b %Y�%e %b %H:%M�%lu utilisateur�%lu utilisateurs�%s (pour l'expression rationnelle %s)�%s → %s (désarchivage) �%s [-d] a terminé anormalement�%s et %s identifient le même fichier�%s existe mais n'est pas un répertoire�%s est apparu ; suivi de la fin du nouveau fichier�%s est devenu accessible�%s est devenu inaccessible�%s a été remplacé par un fichier distant, abandon sur ce nom�%s a été remplacé par un fichier incompatible avec tail, abandon sur ce nom�%s a été remplacé ; suivi de la fin du nouveau fichier�%s possède un type de fichier inconnu�%s : a une taille inutilisable, apparemment négative�Page d'accueil de « %s » : %s �Page d'accueil de « %s » : <http://www.gnu.org/software/%s/> �%s n'est pas un entier positif valable�%s est trop grand�%s ne peut être utilisé que sur un noyau SELinux�sous-processus %s�échec de sous-processus %s�le sous-processus %s a reçu un signal fatal %d�%s était indiquée mais pas %s�%s écraserait l'entrée ; abandon�argument %s%s « %s » trop grand�%2$s de %1$s�%s : %s est tellement grand qu'il n'est pas représentable�%s : %s : numéro de ligne hors limite�%s : %s : pas de correspondance�%s : %s:%s : désordre : �%s : « } » est nécessaire pour un compteur de répétition�%s : Échec d'ouverture ou de lecture. �%s : opérateur binaire attendu�%s : ne peut créer des liens symboliques relatifs que dans le répertoire actuel�%s : impossible de modifier le mode non bloquant�%s : impossible de déterminer la taille de fichier�%s : impossible de trouver le nom associé à l'UID %lu �%s : impossible de suivre la fin de ce type de fichier, abandon sur ce nom�%s : impossible d'utiliser lseek pour revenir à la position d'origine�%s : impossible d'écraser le répertoire�%s : impossible de rembobiner�%s : impossible de se déplacer�%s : impossible de se déplacer à la fin du décalage relatif %s�%s : impossible de se déplacer à la position %s�%s : impossible de se déplacer selon le décalage relatif %s�%s : impossible d'utiliser « shred » sur un descripteur de fichier en ajout seul�%s : impossible d'ignorer�%s : impossible d'ignorer jusqu'au décalage indiqué�%s : délimiteur de fermeture « %c » manquant�%s : impossible de réinitialiser le mode non bloquant�%s : descendre dans le répertoire %s ? �%s : descendre dans le répertoire protégé en écriture %s ? �%s : fin de fichier�%s : l'opérateur de classe d'équivalence doit être un caractère simple�%s : erreur de troncature�%s : erreur d'écriture au décalage %s�%s : valeur numérique attendue�%s : échec de fermeture�%s : impossible d'obtenir les informations d'extension�%s : échec d'ouverture en écriture�%s : échec de suppression�%s : échec de réinitialisation du pointeur de fichier�%s : échec de fcntl�%s : échec de fdatasync�%s : le fichier a une taille négative�%s : le fichier a été trop réduit�%s : fichier trop gros�%s : fichier trop grand�%s : fichier tronqué�%s : échec de fstat�%s : échec de fsync�%s : lien direct non permis pour un répertoire�%s : l'entrée contient une boucle :�%s : l'entrée contient un nombre impair de jetons�%s : le fichier d'entrée est aussi celui de sortie�%s : entier attendu après le délimiteur�%s : taille de bloc d'E/S incorrecte�%s : PID incorrect�%s : numéro de morceau incorrect�%s : compteur incorrect au départ de %s�%s : directive incorrecte�%s : spécification de champ incorrect %s�%s : longueur de fichier incorrect�%s : type de fichier incorrect�%s : nombre maximal de changements d'état incorrect entre les ouvertures�%s : nombre incorrect�%s : nombre d'octets incorrect�%s : nombre de morceaux incorrect�%s : nombre de lignes incorrect�%s : nombre de passes incorrect�%s : nombre de secondes incorrect�%s : nombre à ignorer incorrect�%s : option incorrecte — « %c » �%s : motif incorrect�%s : identifiant de processus incorrect�%s : expression rationnelle incorrecte : %s�%s : signal incorrect�%s : valeur de départ incorrecte pour le suffixe numérique�%s : longueur de suffixe incorrecte�%s : le numéro de ligne doit être plus grand que zéro�%s : numéro de ligne hors limite�%s : échec de lseek�%s : plusieurs signaux indiqués�%s : les nouvelles permissions sont %s, et non %s�%s : aucune ligne de somme de contrôle %s trouvée�%s : aucune information sur la taille de ce périphérique�%s : utilisateur inexistant�%s : impossible d'afficher un répertoire déjà affiché�%s : le nombre d'octets est trop grand�%s : l'option « %c%s » n'accepte pas d'argument �%s : l'option « %s » est ambiguë, possibilités :�%s : l'option « --%s » n'accepte pas d'argument �%s : l'option « --%s » nécessite un argument �%s : l'option « -W %s » n'accepte pas d'argument �%s : l'option « -W %s » est ambiguë �%s : l'option « -W %s » nécessite un argument �%s : l'option nécessite un argument — « %c » �%s : voulez-vous écraser %s ? �%s : passe %lu/%lu (%s)…�%s : passe %lu/%lu (%s)…%s�%s : passe %lu/%lu (%s)…%s/%s %d %%�%s : erreur de lecture�%s : supprimer %s %s ? �%s : supprimer tous les arguments récursivement ? �%s : supprimer tous les arguments ? �%s : supprimer %s (protégé en écriture) %s ? �%s : supprimé�%s : suppression�%s : renommé en %s�%s : faut-il remplacer %s ? �%s : échec de positionnement (seek)�%s : trop de lignes de somme de contrôle�%s : voulez-vous écraser %s en outrepassant le mode %04lo (%s) ? �%s : impossible de déterminer la longueur maximale du nom de fichier�%s : impossible d'effectuer toutes les opérations demandées�%s : opérateur unaire attendu�%s : option non reconnue « %c%s » �%s : option non reconnue « --%s » �%s : valeur non complètement convertie�%s : erreur d'écriture�%s : échec d'écriture�%s:%lu : ligne incorrecte ; second jeton manquant�%s:%lu : incorrect, nom de fichier de longueur nulle�%s:%lu : mot clef %s non reconnu�%s} : entier nécessaire entre « { » et « } »� »�« ) » attendu�« ) » attendu, %s trouvé�caractères « -%c » superflus ou nombre incorrect dans l'argument : %s�argument « --page=FIRST_PAGE[:LAST_PAGE] » manquant�« -N NUMBER » numéro de ligne de début incorrect : %s�« -W PAGE_WIDTH » nombre de caractères incorrect : %s�« -l PAGE_LENGTH » nombre de lignes incorrect : %s�« -o MARGIN » saut de ligne incorrect : %s�« -w PAGE_WIDTH » nombre de caractères incorrect : %s�©�* systèmes de fichiers qui enregistrent en cache temporairement, comme les clients NFS version 3 * systèmes de fichiers compressés �* systèmes de fichiers journalisés ou à structure de journalisation, comme ceux fournis avec AIX et Solaris (et JFS, ReiserFS, XFS, ext3, etc.) * systèmes de fichiers avec données redondantes et soutenant les écritures même lorsqu'il y a erreur d'écriture comme sur les systèmes de fichiers RAID * systèmes de fichiers qui prennent des instantanés, comme le serveur NFS de Network Appliance �, charge moyenne : %.2f�, %g s, %s/s �argument de --%s %s trop grand�--context (-Z) ne fonctionne qu'avec noyau activé pour SELinux�--filter ne traite pas les morceaux extraits vers la sortie standard�--grouping ne peut pas être combiné avec --format�--header ignoré avec l'entrée en ligne de commande�--padding ne peut pas être combiné avec --format�--reflink ne peut être utilisé qu'avec --sparse=auto�--tag ne prend pas en charge le mode --text�-R --dereference nécessite soit -H ou -L�-R -h nécessite -P�-ef ne permet pas -l�-nt ne permet pas -l�-ot ne permet pas -l�<interne>�??? �?????�Abandonné� Accès : %x Modif. : %y Changt : %z Créé : %w �Accès : (%04a/%10.10A) UID : (%5u/%8U) GID : (%5g/%8G) �La famille d'adresses pour le nom d'hôte n'est pas prise en charge�Réveil�Toutes les requêtes ont été traitées�Le tampon de l'argument est trop petit�Arnold Robbins�Assaf Gordon�Dispo�Disponible�Appel système incorrect�Valeur incorrecte pour ai_flags�Brian Fox�Tube brisé�Erreur de bus�Attention : notez que shred s'appuie sur l'importante supposition que le système de fichiers écrasera les données en place. C'est la manière usuelle de procéder, mais plusieurs systèmes de fichiers modernes ne sont pas conçus selon ce principe. La liste suivante donne des exemples de systèmes de fichiers pour lesquels le broyage n'est pas effectif dans tous les modes : �COMMENTAIRE�Temps limite de processeur dépassé�Exécuter la fonction link() pour créer un lien nommé FILE2 sur le FILE1 existant. �Exécuter la fonction unlink pour supprimer le FILE indiqué. �Capacité�Modifier le groupe de chaque FILE en GROUP. Avec --reference, modifier le groupe de chaque FILE à celui de RFILE. �Modifier le mode de chaque FILE en MODE. Avec --reference, modifier le mode de chaque FILE à celui de RFILE. �Modifier le propriétaire ou le groupe de chaque FILE en OWNER ou GROUP. Avec --reference, modifier le propriétaire et le groupe de chaque FILE à ceux de RFILE. �Modifier le contexte de sécurité de chaque FILE en CONTEXT. Avec --reference, modifier le contexte de sécurité de chaque FILE à celui de RFILE. �Chet Ramey�Fin du processus fils�Colin Plumb�Comparer les fichiers triés FILE1 et FILE2 ligne à ligne. �Concaténer le ou les FILEs, ou l'entrée standard, vers la sortie standard. -A, --show-all équivalent à -vET -b, --number-nonblank numéroter lignes non vides en sortie, surcharge -n -e équivalent à -vE -E, --show-ends afficher $ à la fin de chaque ligne -n, --number numéroter toutes les lignes en sortie -s, --squeeze-blank supprimer les lignes vides qui se répètent en sortie �Contexte : %C �Repris�Convertir les blancs de chaque FILE par des tabulations, lors de l'affichage sur la sortie standard. Sans FILE, ou quand le FILE est -, lire l'entrée standard. �Convertir les tabulations de chaque FILE en espaces, en écrivant sur la sortie standard. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Copier la SOURCE vers DEST, ou plusieurs SOURCEs vers DIRECTORY. �Copie un fichier en le convertissant et le formatant selon les opérandes. bs=BYTES lire et écrire jusqu'à BYTES octets à la fois cbs=BYTES convertir BYTES octets à la fois conv=CONVS convertir le fichier en liste de symboles séparés de virgules count=N ne copier que N blocs d'entrée ibs=BYTES lire jusqu'à BYTES octets à la fois (512 par défaut) �Copier l'entrée standard vers chaque FILE, et également vers la sortie standard. -a, --append ajouter aux FILEs, sans les écraser -i, --ignore-interrupts ignorer les signaux d'interruption �Créer un fichier ou un répertoire temporaire, sûrs, et afficher leur nom. TEMPLATE doit contenir au moins trois « X » consécutifs dans la partie finale. Si TEMPLATE n'est pas indiqué, tmp.XXXXXXXXXX et --tmpdir sont utilisés. �Créer des tubes nommés (FIFO) avec les noms NAMEs. �Créer le ou les répertoires DIRECTORY s'ils n'existent pas. �Créer le fichier spécial avec le nom NAME et le TYPE donnés. �David M. Ihnat�David MacKenzie�David Madore�Périphérique : %Dh/%dd InÅ“ud : %-10i Liens : %-5h Type de périph. : %t,%T �Périphérique : %Dh/%dd InÅ“ud : %-10i Liens : %h �Diagnostiquer les noms de fichiers incorrects ou non portables -p vérifier pour la majorité des système POSIX -P vérifier les noms vides et les « - » d'en-tête --portability vérifier pour tous les systèmes POSIX (équivalent à -p -P) �Répertoire : �Afficher l'état d'un fichier ou d'un système de fichiers. �Afficher la date actuelle au FORMAT indiqué ou initialiser la date système. �Dmitry V. Levin�Éliminer tous les groupes supplémentaires, utiliser l'UID et le GID de l'USER indiqué (identifiant numérique ou nom) et exécuter COMMAND avec les ARGUMENTs indiqués. Quitter avec l'état 111 s'il est impossible d'obtenir les UID et GID. Autrement, quitter avec l'état de sortie de COMMAND. Ce programme est utile lorsqu'il est exécuté par le superutilisateur (UID zéro). �Capture EMT�EXIT�Chaque intervalle est l'un de : N Nième octet, caractère ou champ, compté à partir de 1 N- du Nième octet, caractère ou champ jusqu'à la fin de la ligne N-M du Nième au Mième octets (inclus), caractère ou champ -M du premier au Mième octets (inclus), caractère ou champ Sans FILE, ou quand FILE est -, lire l'entrée standard. �Duplique les chaînes STRING sur la sortie standard. -n ne pas afficher de changement de ligne de terminaison �Eric Blake�Quitter avec un code d'état indiquant l'échec.�Quitter avec un code d'état indiquant le succès.�Terminer l'exécution avec l'état déterminé par EXPRESSION. �François Pinard�Échec�À corriger : inconnu�FORMAT doit permettre d'afficher un argument de type « double » ; par défaut à %.PRECf si FIRST, INCREMENT et LAST sont tous décimaux en notation fixe avec une précision maximale PREC, et à %g sinon. �Les FIFOs n'ont pas de numéros mineur et majeur de périphérique.�Taille de fichier dépassée�Les fichiers sont créés u+rw et les répertoires u+rwx, sauf restrictions de umask. �Sys. de fichiers�Filtrer les lignes adjacentes correspondantes depuis INPUT (ou l'entrée standard), en écrivant dans OUTPUT (ou la sortie standard). Sans option, les lignes correspondantes sont fusionnées sur la première occurrence. �Exception de virgule flottante�Utilisez « info coreutils '%s invocation' » pour toute la documentation �Pour chaque paire de lignes en entrée ayant des champs de fusion identiques, afficher une ligne sur la sortie standard. Le champ de fusion par défaut est le premier, délimité par un blanc. Si soit FILE1, soit FILE2 (pas les 2) est -, lire l'entrée standard. -a FILENUM afficher aussi les lignes non associables du fichier FILENUM où FILENUM est 1 ou 2, correspondant à FILE1 ou FILE2 -e EMPTY remplacer les champs d'entrée manquants par EMPTY �Forcer l'écriture des blocs modifiés sur disque et la mise à jour du super bloc. �Aide globale sur les logiciels GNU : <http://www.gnu.org/help/gethelp> �Giuseppe Scrivano�H. Peter Anvin�Déconnexion�E/S possible�INACTIF�ILibre�IUti%�IUtil.�Ian Lance Taylor�Disponible�Si FILE n'est pas indiqué, utiliser %s. %s en tant que FILE est usuel. �Si les formats du premier et du second appel s'appliquent, le 2e format est retenu si le dernier opérande débute par + ou (s'il y a 2 opérandes) un chiffre. Un opérande de décalage signifie -j OFFSET. LABEL est la pseudoadresse affichée dès le premier octet, incrémentée lorsque le vidage mémoire s'effectue. Pour OFFSET et LABEL, un préfixe 0x ou 0X indique de l'hexadécimal ; les suffixes peuvent être . pour l'octal et b pour multiple de 512. �Instruction illégale�En plus, l'archivage des système de fichiers et les miroirs distants peuvent contenir des copies des fichiers qui ne peuvent être supprimés et qui permettront à un fichier broyé d'être récupéré ultérieurement. �Nom réel : �Dans le 1er format, créer un lien vers TARGET avec le nom LINK_NAME. Dans le 2e format, créer un lien vers TARGET dans le répertoire actuel. Dans les 3e et 4e formats, créer des liens vers chaque TARGET dans DIRECTORY. Créer des liens directs par défaut et des liens symboliques avec --symbolic. Par défaut, aucune destination (nom ou nouveau lien) ne devrait encore exister. À la création de liens directs, chaque TARGET doit exister. Les liens symboliques peuvent contenir un texte arbitraire ; s'il est résolu par la suite, un lien relatif est interprété comme une relation avec son répertoire parent. �Pour le système de fichiers ext3, la déclaration précédente ne s'applique (et shred dispose d'une efficacité limitée) qu'en mode data=journal, dans lequel les journaux enregistrent les données en plus des métadonnées. Dans les deux modes data=ordered (par défaut) et data=writeback, shred travaille comme d'habitude. Les modes de journalisation ext3 peuvent être changés en ajoutant data=something aux options de montage pour un système de fichiers particulier dans le fichier /etc/fstab, tel que documenté dans la page man mount(8). �Infinité�Infinité B�Demande de renseignements�InÅ“uds�Interrompu�Interrompu par un signal�Référence arrière incorrecte�Nom de classe de caractères incorrect�Caractère de collation incorrect�Contenu de \{\} incorrect�Expression rationnelle précédente incorrecte�Fin d'intervalle incorrecte�Expression rationnelle incorrecte�James Youngman�Jay Lepreau�Jim Kingdon�Jim Meyering�Joseph Arceneaux�Kaveh Ghazi�Kayvan Aghaiepour�Kevin Braunsdorf�Tué�LIGNE�IDENTIFIANT�Afficher des renseignements sur les FILEs (du répertoire actuel par défaut). Trier les entrées alphabétiquement si aucune des options -cftuvSUX ou --sort ne sont utilisées. �Identifiant�Identifiant : �Échec du test de primalité de Lucas-Lehmer. Cela ne devrait pas arriver�Mark Kettenis�Matthew Bradburn�Échec d'allocation mémoire�Mémoire épuisée�Michael Meskes�Michael Stone�Mike Haertel�Mike Parker�Monté sur�NOM�Nom�Nom ou service inconnu�Niels Moller�Aucune adresse n'est associée au nom d'hôte�Aucune correspondance�Pas d'expression rationnelle précédente�Échec définitif lors de la résolution de nom�Réussi�Une seule chaîne peut être indiquée lors d'une destruction sans réduction des répétitions.�Options de tri : �Autres Options : �Afficher un index permuté, incluant le contexte des mots des fichiers d'entrée. �Commande d'affichage pour initialiser la variable d'environnement LS_COLORS. Déterminer le format de sortie : -b, --sh, --bourne-shell code de sortie pour un shell Bourne pour initialiser la variable LS_COLORS -c, --csh, --c-shell code de sortie pour un shell C pour initialiser la variable LS_COLORS -p, --print-data-base utiliser les valeurs par défaut �Afficher chaque NAME en supprimant son dernier composant et sa barre oblique finale ; si NAME ne contient pas de « / », la sortie sera « . » (signifiant le répertoire actuel). �Afficher des morceaux de INPUT de taille fixe selon PREFIXaa, PREFIXab, ... ; la taille est de 1000 lignes et le préfixe est « x » par défaut. Sans INPUT, ou quand INPUT est -, lire l'entrée standard. �Extraire des morceaux de FILE séparés par un ou des PATTERNs vers les fichiers « xx01 », « xx02 », etc. ainsi que le taille en octet de chaque séquence vers la sortie standard. �Afficher les limites de la plate-forme dans un format utile aux scripts shell. �Afficher les utilisateurs connectés selon FILE. Si FILE est indiqué, utiliser %s. %s en tant que FILE est usuel. �Écraser le fichier FILE indiqué de manière répétitive, afin de rendre difficile toute récupération des données par du matériel même coûteux. �PID�Paquet réalisé par %s �Paquet réalisé par %s (%s) �Padraig Brady�Paginer ou mettre en colonne le ou les FILEs pour impression. �Paramètre de chaîne non correctement codé�Paul Eggert�Paul Rubin�Pete TerMaat�Plan : �Échec d'alimentation�Fin prématurée d'expression rationnelle�Afficher les ARGUMENTS selon le FORMAT, ou exécuter selon OPTION : �Afficher la somme de contrôle CRC et le décompte d'octets de chaque FILE. �Afficher NAME sans le précéder des composants des noms de répertoires Si indiqué, enlever aussi SUFFIX en terminaison. �Afficher certaines informations système. Sans OPTION, identique à -s. -a, --all afficher toutes les informations, dans l'ordre suivant, mais sans -p ni -i s'ils sont inconnus : -s, --kernel-name afficher le nom du noyau -n, --nodename afficher le nom du nÅ“ud réseau (hostname) -r, --kernel-release afficher la version du noyau �Afficher la somme de contrôle et le nombre de blocs de chaque FILE. -r utiliser l'algorithme de calcul de somme BSD avec des blocs de 1K octets -s, --sysv utiliser l'algorithme de calcul de somme de Système V avec des blocs de 512 octets �Afficher l'appartenance à des groupes pour chaque USERNAME ou, si aucun USERNAME n'est indiqué, pour le processus actuel (qui peut être différent si la base de données des groupes a changé). �Afficher des informations sur les utilisateurs connectés. �Afficher l'architecture machine. �Afficher le nombre de nouvelles lignes, mots et d'octets pour chaque FILE ainsi que le total des lignes si plusieurs fichiers FILE sont indiqués. Sans FILE, ou quand FILE est -, lire l'entrée standard. Un mot est une suite non nulle de caractères, délimitée par un blanc. Les options ci-dessous permettent de sélectionner les compteurs à afficher, qui sont toujours utilisés dans l'ordre suivant : nouvelle ligne, mot, octet, longueur de ligne maximale. -c, --bytes afficher le nombre d'octets -m, --chars afficher le nombre de caractères -l, --lines afficher le nombre de nouvelles lignes �Afficher les nombres de FIRST jusqu'à LAST, avec un pas d'INCREMENT. �Afficher ou modifier les caractéristiques du terminal. �Afficher des extraits de lignes de chaque FILE vers la sortie standard. �Afficher la date actuelle, la durée depuis laquelle le système fonctionne, le nombre d'utilisateurs sur le système, et le nombre moyen de tâches dans la file d'exécution depuis les 1, 5 et 15 dernières minutes.�Afficher le nom de fichier du terminal connecté à l'entrée standard. -s, --silent, --quiet ne rien afficher, ne renvoyer qu'un état de retour �Afficher les dix premières lignes de chaque FILE sur la sortie standard. Chaque fichier est précédé d'un en-tête avec son nom, si plusieurs fichiers. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Afficher le nom complet du fichier du répertoire de travail actuel. �Afficher les %d dernières lignes de chaque FILE sur la sortie standard. Avec plusieurs fichiers FILE, précéder chacun d'un en-tête donnant le nom. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Afficher le nom de l'utilisateur actuel. �Afficher le nombre d'unités de traitement disponibles pour le processus actuel, qui peut être inférieur au nombre de processeurs actifs �Afficher les facteurs premiers de chaque entier NUMBER indiqué. Sans argument fourni, les nombres sont lus depuis l'entrée standard. �Afficher le nom de fichier absolu résolu ; tous les composants sauf le dernier doivent exister �Afficher le nom d'utilisateur associé à l'UID effectif actuel. Identique à « id -un ». �Afficher les informations d'utilisateur et de groupe du USERNAME indiqué, ou pour l'utilisateur actuel quand USERNAME est omis. -a ignorée, pour compatibilité avec les autres versions -Z, --context n'afficher que le contexte de sécurité de l'utilisateur actuel -g, --group n'afficher que le GID effectif -G, --groups afficher tous les GID -n, --name afficher le nom au lieu du numéro, pour -ugG -r, --real afficher l'identifiant réel au lieu de l'effectif, avec -ugG -u, --user n'afficher que l'UID effectif �Afficher la valeur d'un lien symbolique ou son nom canonique �Requête de traitement en cours�Temporisation de profilage dépassée�Projet : �Q. Frank Xia�Quitté�Randy Smith�Signal %d en temps réel�Reformater le ou les NUMBERs, ou les nombres de l'entrée standard si aucun n'est indiqué. �Reformater chaque paragraphe de FILE, en écrivant sur la sortie standard. L'option -WIDTH est un forme abrégée de --width=DIGITS. �Expression rationnelle trop grande�Supprimer (retirer le lien) le ou les fichiers FILEs. -f, --force ignorer les fichiers et arguments inexistants, ne jamais demander -i demander confirmation avant chaque suppression �Supprimer les répertoires DIRECTORY, s'ils sont vides. --ignore-fail-on-non-empty ignorer les échecs uniquement dus à un répertoire non vide �Renommer SOURCE en DEST, ou déplacer le ou les SOURCEs vers DIRECTORY. �Afficher à répétition une ligne de caractères avec toutes les chaînes STRING indiquées, ou « y ». �Signalez les anomalies de « %s » à : <%s> �Signalez les problèmes de traduction de « %s » à : <traduc@traduc.org> �Requête annulée�Requête non annulée�Ressource perdue�Richard M. Stallman�Richard Mlynarik�Roland Huebner�Roland McGrath�Ross Paterson�Exécuter COMMAND avec un niveau de priorité ajusté, modifiant la priorité d'ordonnancement du processus. Sans COMMAND, afficher le niveau de priorité actuel. L'étendue des niveaux va de %d (priorité la plus favorable au processus) à %d (la moins favorable). �Exécuter COMMAND avec le répertoire racine initialisé à NEWROOT. �Exécuter COMMAND en ignorant les signaux de déconnexion. �Exécuter COMMAND, avec des opérations de mises en tampon modifiées pour ses flux standards. �Exécuter un programme dans un contexte de sécurité différent. Sans CONTEXT ni COMMAND, afficher le contexte de sécurité actuel. �Russell Coker�Scott Bartram�Scott Miller�Erreur de segmentation�Transmettre les signaux aux processus ou afficher les signaux. �Nom de serveur non pris en charge avec ai_socktype�Définissez LC_ALL='C' pour contourner le problème.�Initialiser chaque NAME à VALUE dans l'environnement et exécuter COMMAND. �Interpréteur : �Afficher des renseignements sur le système de fichiers qui contient FILE, ou sur tous les systèmes de fichiers par défaut. �Réduire ou étendre la taille de chaque FILE à la taille indiquée Un argument FILE qui n'existe pas est créé. Si FILE est plus grand que la taille indiquée, les données restantes sont perdues. Si FILE est plus court, il est étendu et la partie supplémentaire (trou) contient des octets à zéro. �Simon Josefsson�Taille�Les fichiers spéciaux nécessitent les numéros majeur et mineur de périphériques.�Erreur de pile�Démarrer COMMAND et l'arrêter si elle fonctionne encore après la durée DURATION. �Arrêté�Arrêté (signal)�Arrêté (entrée tty)�Arrêté (sortie tty)�Stuart Kemp�Réussite�Synthétiser l'utilisation de l'espace disque pour chaque FILE, récursivement pour les répertoires. �Erreur système�HEURE�Échec temporaire de résolution de nom�Terminé�Les attributs optionnels suivants peuvent suivre « % » : - (trait d'union) ne pas remplir le champ _ (tiret bas) remplir avec des espaces 0 (zéro) remplir avec des zéros ^ utiliser des majuscules si possible # utiliser la casse opposée si possible �Les chaînes comparées étaient %s et %s.�Torbjorn Granlund�Capture de trace ou point d'arrêt�Barre oblique inverse finale�Convertir, compresser ou éliminer des caractères de l'entrée standard en écrivant sur la sortie standard. -c, -C, --complement utiliser le complément de SET1 -d, --delete supprimer les caractères de SET1, ne pas convertir -s, --squeeze-repeats remplacer chaque séquence en entrée de caractères répétés qui apparaît dans SET1 par une seule occurrence de ce caractère -t, --truncate-set1 tronquer d'abord SET1 à la longueur de SET2 �Saisissez « %s --help » pour plus d'informations. �Saisissez « %s ./%s » pour supprimer le fichier %s. �Deux chaînes doivent être indiquées lors de suppression et compression des répétitions.�Deux chaînes doivent être indiquées lors de la conversion.�Type�Ulrich Drepper�Erreur inconnue�Signal %d inconnu�Erreur système inconnue�( ou \( sans correspondance�) ou \) sans correspondance�[ ou [^ sans correspondance�\{ sans correspondance�Mettre à jour la date d'accès et de modification de FILE à l'heure actuelle. Un argument FILE qui n'existe pas est créé vide, sauf si -c ou -h sont indiqués. Une chaîne d'argument FILE à - est géré spécifiquement et fait que touch modifie la date du fichier associé à la sortie standard. �Condition d'E/S urgente�Utilisation : %s �Utilisation : %s COMMAND [ARG]... ou : %s OPTION �Utilisation : %s CONTEXT COMMAND [args] ou : %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args] �Utilisation : %s EXPRESSION ou : %s OPTION �Utilisation : %s FILE ou : %s OPTION �Utilisation : %s FILE1 FILE2 ou : %s OPTION �Utilisation : %s FORMAT [ARGUMENT]... ou : %s OPTION �Utilisation : %s NAME [SUFFIX]... ou : %s OPTION... NAME... �Utilisation : %s NUMBER[SUFFIX]... ou : %s OPTION Effectuer une pause de NUMBER secondes. SUFFIX peut être « s » pour secondes (par défaut), « m » pour minutes, « h » pour heures ou « d » pour jours. Contrairement à la plupart des implémentations qui nécessitent un nombre entier, NUMBER peut ici être un nombre arbitraire en virgule flottante. Avec plusieurs arguments, la pause se fait selon la somme des valeurs. �Utilisation : %s [OPTION]... COMMAND �Utilisation : %s [OPTION]... FILE... �Utilisation : %s [OPTION]... [FILE]... �Utilisation : %s [-F DEVICE] | --file=DEVICE] [SETTING]... ou : %s [-F DEVICE | --file=DEVICE] [-a|--all] ou : %s [-F DEVICE | --file=DEVICE] [-g|--save] �Utilisation : %s [-WIDTH] [OPTION]... [FILE]... �Utilisation : %s [-s SIGNAL | -SIGNAL] PID... ou : %s -l [SIGNAL]... ou : %s -t [SIGNAL]... �Utilisation : %s [FILE]... ou : %s [OPTION] �Utilisation : %s [NOM] ou : %s OPTION Afficher ou définir le nom d'hôte du système actuel. �Utilisation : %s [NUMBER]... ou : %s OPTION �Utilisation : %s [OPERAND]... ou : %s OPTION �Utilisation : %s [OPTION] �Utilisation : %s OPTION Afficher l'identificateur numérique (en hexadécimal) de l'hôte actuel. �Utilisation : %s [OPTION] DURATION [COMMAND [ARG]...] ou : %s OPTION �Utilisation : %s [OPTION] NAME... �Utilisation : %s [OPTION] NEWROOT [COMMAND [ARG]...] ou : %s OPTION �Utilisation : %s [OPTION] [COMMAND] [ARG]... �Utilisation : %s [OPTION] [FILE] Afficher une liste entièrement ordonnée cohérente avec le tri partiel de FILE. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Utilisation : %s [OPTION]... �Utilisation : %s [OPTION]... CONTEXT FILE... ou : %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE... ou : %s [OPTION]... --reference=RFILE FILE... �Utilisation : %s [OPTION]... DIRECTORY... �Utilisation : %s [OPTION]... FILE PATTERN... �Utilisation : %s [OPTION]... FILE... �Utilisation : %s [OPTION]... FILE1 FILE2 �Utilisation : %s [OPTION]... GROUP FILE... ou : %s [OPTION]... --reference=RFILE FILE... �Utilisation : %s [OPTION]... LAST ou : %s [OPTION]... FIRST LAST ou : %s [OPTION]... FIRST INCREMENT LAST �Utilisation : %s [OPTION]... MODE[,MODE]... FILE... ou : %s [OPTION]... OCTAL-MODE FILE ou : %s [OPTION]... --reference=RFILE FILE �Utilisation : %s [OPTION]... NAME TYPE [MAJOR MINOR] �Utilisation : %s [OPTION]... NAME... �Utilisation : %s [OPTION]... SET1 [SET2] �Utilisation : %s [OPTION]... [ FILE | ARG1 ARG2 ] �Utilisation : %s [OPTION]... [+FORMAT] ou : %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] �Utilisation : %s [OPTION]... [-T] SOURCE DEST ou : %s [OPTION]... SOURCE... DIRECTORY ou : %s [OPTION]... -t DIRECTORY SOURCE... �Utilisation : %s [OPTION]... [-T] SOURCE DEST ou : %s [OPTION]... SOURCE... DIRECTORY ou : %s [OPTION]... -t DIRECTORY SOURCE... ou : %s [OPTION]... -d DIRECTORY... �Utilisation : %s [OPTION]... [-T] TARGET LINK_NAME (1er format) ou : %s [OPTION]... TARGET (2e format) ou : %s [OPTION]... TARGET... DIRECTORY (3e format) ou : %s [OPTION]... -t DIRECTORY TARGET... (4e format) �Utilisation : %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] �Utilisation : %s [OPTION]... [FILE] �Utilisation : %s [OPTION]... [FILE] ou : %s -e [OPTION]... [ARG]... ou : %s -i LO-HI [OPTION]... �Utilisation : %s [OPTION]... [FILE] Encoder ou décoder en base64 FILE, ou l'entrée standard, sur la sortie standard. �Utilisation : %s [OPTION]... [FILE]... �Utilisation : %s [OPTION]... [FILE]... ou : %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]] ou : %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]] �Utilisation : %s [OPTION]... [FILE]... ou : %s [OPTION]... --files0-from=F �Utilisation : %s [OPTION]... [FILE]... Afficher ou vérifier les sommes de contrôle %s (%d bits). Sans FILE, ou quand FILE est -, lire l'entrée standard. �Utilisation : %s [OPTION]... [INPUT [OUTPUT]] �Utilisation : %s [OPTION]... [INPUT [PREFIX]] �Utilisation : %s [OPTION]... [INPUT]... (sans l'option -G) ou : %s -G [OPTION]... [INPUT [OUTPUT]] �Utilisation : %s [OPTION]... [NUMBER]... �Utilisation : %s [OPTION]... [OWNER][:GROUP] FILE... ou : %s [OPTION]... --reference=RFILE FILE... �Utilisation : %s [OPTION]... [TEMPLATE] �Utilisation : %s [OPTION]... [USERNAME] �Utilisation : %s [OPTION]... [USERNAME]... �Utilisation : %s [OPTION]... [USER]... �Utilisation : %s [OPTION]... [VARIABLE] Afficher les valeurs de la ou des VARIABLEs d'environnement indiquées. Sans aucune VARIABLE indiquée, afficher le nom et la valeur de chacune. �Utilisation : %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]... ou : %s LONG-OPTION �Utilisation : %s [SHORT-OPTION]... [STRING]... ou : %s LONG-OPTION �Utilisation : %s [STRING]... ou : %s OPTION �Utilisation : %s [arguments de la ligne de commande ignorés] ou : %s OPTION �Utilisation : test EXPRESSION ou : test ou : [ EXPRESSION ] ou : [ ] ou : [ OPTION ] �Uti%�Utilisé�Signal 1 défini par l'utilisateur�Signal 2 défini par l'utilisateur�Les arguments valables sont :�Les arguments possible sont : �Séquences de format possible pour les systèmes de fichiers : %a blocs libres disponibles pour un non superutilisateur %b total des blocs de données dans le système de fichiers %c total des nÅ“uds de fichiers dans le système de fichiers %d nÅ“uds de fichiers libres dans le système de fichiers %f blocs libres dans le système de fichiers �Temps virtuel expiré�Attention : structure de répertoire circulaire. Cela signifie très certainement que votre système de fichiers est corrompu. AVISER VOTRE ADMINISTRATEUR SYSTÈME. Le répertoire suivant fait parti du cycle: %s �Attention : --context (-Z) a été ignoré car SELinux n'est pas activé sur ce noyau�Attention : --preserve-context a été ignoré car SELinux n'est pas activé sur ce noyau.�Attention : l'option --strip-program a été ignorée car l'option -s n'a pas été indiquée�Avertissement : �Quand�Où�Fenêtre modifiée�Avec l'option --follow (-f), tail utilise par défaut le descripteur de fichier, lui ainsi permettant de suivre l'évolution du fichier ciblé même s'il change de nom. Ce comportement par défaut n'est pas désirable lorsqu'on désire suivre l'évolution d'un fichier à l'aide de son nom et non via le descripteur de fichier (par exemple lors de la rotation des journaux). Dans ce cas, utilisez --follow=name et tail suivra l'évolution du fichier en s'accommodant des changements de nom, des suppressions ou des créations. �Effectuer la césure des lignes d'entrée de chaque FILE (entrée standard par défaut), en écrivant sur la sortie standard. �Afficher une permutation aléatoire des lignes entrées sur la sortie standard. �Écrire chaque FILE sur la sortie standard, la dernière ligne en premier. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Afficher chaque FILE sur la sortie standard avec les numéros de ligne. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Écrire séquentiellement les lignes correspondantes de chaque FILE, séparées par des tabulations, vers la sortie standard. Sans FILE, ou quand FILE est -, lire l'entrée standard. �Afficher la concaténation triée de tous les FILEs sur la sortie standard. �Écrit par %s et %s. �Écrit par %s, %s, %s, %s, %s, %s, %s, %s, %s et d'autres. �Écrit par %s, %s, %s, %s, %s, %s, %s, %s et %s. �Écrit par %s, %s, %s, %s, %s, %s, %s et %s. �Écrit par %s, %s, %s, %s, %s, %s et %s. �Écrit par %s, %s, %s, %s, %s et %s. �Écrit par %s, %s, %s, %s et %s. �Écrit par %s, %s, %s et %s. �Écrit par %s, %s et %s. �Écrit par %s. �les expressions [=c=] ne peuvent pas apparaître dans string2 lors d'une conversion�^ ne correspond à aucun mot clef �^[nN].*�^[oOyY].*�échec de _open_osfhandle�« �une commande doit être indiquée avec un ajustement�ai_family non pris en charge�ai_socktype n'est pas pris en charge�argument %s ambigu pour %s�un délimiteur ne peut être indiqué que lorsque des champs sont manipulés�la sortie est ajoutée à %s�l'archivage de %s détruirait la source ; %s non copié�l'archivage de %s détruirait la source ; %s non déplacé�type d'archive�fichier spécial de bloc�fichier spécial de bloc non pris en charge�blocs�les fichiers ne peuvent pas être tous les deux l'entrée standard.�le décalage d'octet %s est trop grand�impossible d'appliquer un contexte partiel au fichier %s non étiqueté�impossible d'obtenir le contexte de traitement�impossible d'accéder à %s�impossible d'archiver %s�impossible d'afficher à la fois un résumé et toutes les entrées�impossible de modifier l'appartenance de %s�impossible de modifier les permissions de %s�impossible de modifier le répertoire racine en %s�impossible d'aller vers le répertoire %s�impossible d'aller dans le répertoire racine�impossible de combiner --target-directory (-t) et --no-target-directory (-T)�impossible de combiner --target-directory et --no-target-directory�impossible de combiner les options -e et -i�impossible de combiner deux options parmi ascii, ebcdic et ibm�impossible de combiner block et unblock�impossible de combiner direct et nocache�impossible de combiner excl et nocreat�impossible de combiner lcase et ucase�impossible de combiner les options mode et --reference�impossible de combiner le signal avec -l or -t�impossible de comparer les noms de fichier %s et %s�impossible de convertir U+%04X dans le jeu de caractères local�impossible de convertir U+%04X dans le jeu de caractères local : %s�impossible de créer un répertoire (%s) dans lui-même (%s)�impossible de copier liens symboliques cycliques %s�impossible de créer le répertoire %s�impossible de créer la FIFO %s�impossible de créer le lien direct %s vers %s�impossible de créer le lien %s sur %s�impossible de créer un tube (« pipe »)�impossible de créer le fichier standard %s�impossible de créer le fichier spécial %s�impossible de créer le lien symbolique %s�impossible de créer le lien symbolique %s vers %s�impossible de créer le fichier temporaire dans %s�impossible de déréférencer %s�impossible de déterminer le périphérique et l'inÅ“ud de %s�impossible de déterminer le nom d'hôte�impossible de déterminer l'emplacement de %s, retour à l'interrogation active�impossible de faire --relative sans --symbolic�impossible d'exécuter ioctl sur %s�impossible de trouver le nom pour le GID %lu�impossible de trouver le nom associé à l'identifiant utilisateur (UID) %s�impossible de suivre %s selon son nom�impossible de forcer le contexte cible à %s et de le préserver�impossible d'obtenir l'état du fichier (fstat) %s�impossible d'obtenir le répertoire actuel�impossible d'obtenir le GID effectif�impossible d'obtenir l'UID effectif�impossible d'obtenir le niveau de priorité�impossible d'obtenir le GID réel�impossible d'obtenir l'UID réel�impossible d'obtenir le nom de système�impossible d'obtenir la taille de %s�impossible de se positionner (lseek) dans %s�impossible de créer un lien à la fois symbolique et direct�impossible de créer le répertoire %s�impossible de déplacer %s vers %s�impossible de déplacer %s vers un sous-répertoire de lui-même, %s�impossible de déplacer le répertoire dans un non répertoire : %s → %s�impossible d'ouvrir %s en lecture�impossible d'ouvrir %s en écriture�impossible d'ouvrir le répertoire %s�impossible d'opérer sur un lien symbolique ballant %s�impossible d'écraser le répertoire %s par un non répertoire�impossible d'écraser le non répertoire %s par le répertoire %s�impossible mettre en forme la sortie formatée�impossible de préserver les attributs étendus, cp est compilé sans prise en charge xattr�impossible de préserver le contexte de sécurité en dehors d'un noyau SELinux�impossible d'afficher le « seulement » parmi plusieurs choix�impossible de n'afficher que les noms ou les identifiants réels au format par défaut�impossible d'afficher le contexte de sécurité quand un utilisateur est indiqué�impossible de lire�impossible de lire le répertoire %s�impossible de lire les noms de fichiers à partir de %s�impossible de lire les informations du système de fichiers pour %s�impossible de lire l'horloge temps réel�impossible de lire le lien symbolique %s�impossible de lire la table des systèmes de fichiers montés�impossible de supprimer %s�impossible de supprimer le répertoire : %s�impossible de repositionner le pointeur de fichier pour %s�impossible de restaurer le descripteur de fichier (fd) %d : échec de dup2�impossible d'exécuter %s�impossible de définir %s�impossible d'initialiser la date�impossible de définir le GID à %lu�impossible de définir le nom d'hôte ; le système ne prend pas en charge cette fonctionnalité�impossible de définir le nom à %s�impossible de définir le niveau de priorité�impossible de définir le format horaire pour %s�impossible de définir l'UID à %lu�impossible d'ignorer au delà de la fin de l'entrée combinée�impossible d'indiquer --null (-0) avec la commande�impossible d'indiquer un affichage à la fois croisé et en parallèle�impossible d'indiquer le nombre de colonnes lors d'une impression en parallèle�impossible d'indiquer les dates pour plusieurs sources�impossible de séparer de plusieurs manières�impossible d'évaluer %s�impossible d'exécuter stat sur le répertoire actuel (%s)�impossible d'utiliser stat sur l'entrée standard�impossible de faire un touch %s�impossible de désarchiver %s�impossible de supprimer %s�impossible de supprimer la définition (unset) de %s�impossible de surveiller %s�impossible de surveiller le répertoire parent de %s�impossible de contourner une anomalie du noyau finalement�groupe de %s modifié de %s en %s �appartenance de %s modifiée de %s en %s �modification du groupe de %s�modification du propriétaire de %s�modification des permissions de %s�changement du contexte de sécurité de %s �l'adresse relative du caractère est zéro�caractère hors limites�fichier spécial de caractères�fichier spécial de caractères non pris en charge�réinitialisation des permissions de %s�changement d'horloge�échec de fermeture�fermeture de %s (fd=%d)�fermeture du répertoire %s�fermeture du fichier d'entrée %s�fermeture du tube d'entrée�fermeture du fichier de sortie %s�fermeture du tube de sortie�fermeture du tube précédent�fermeture de l'entrée standard�le mode de compatibilité ne prend pas en charge plusieurs fichiers�chaînes de remplacement de champ vide conflictuelles�paramètres de contexte de sécurité en conflit�impossible de définir la mise en tampon de %s au mode %s �impossible de créer le processus pour %s -d�impossible de créer le fichier temporaire�impossible d'exécuter %s�impossible d'exécuter %s -d�impossible de repérer l'entrée du répertoire dans %s avec l'inÅ“ud correspondant�impossible d'obtenir la date de démarrage�création du répertoire %s�création du répertoire %s�création du fichier %s �la liste des délimiteurs termine avec une barre oblique inverse non neutralisée : %s�répertoire�division par zéro�échec de dup2�%s vide n'est pas autorisé�nom de fichier vide�tabulation vide�erreur de fermeture de fichier�erreur de correspondance d'expression rationnelle�erreur dans la recherche de l'expression rationnelle�erreur d'initialisation des chaînes de mois�erreur de suivi d'un événement inotify�erreur de lecture %s�erreur de lecture d'un événement inotify�erreur de lecture de l'entrée�erreur d'attente de la commande�erreur d'écriture de %s�exécution avec FILE=%s �sortie=�argument surnuméraire %s�opérande supplémentaire %s�opérande supplémentaire « %s » non permis avec -%c�impossible d'accéder à %s�impossible de canoniser %s�impossible de modifier le contexte de %s à %s�impossible de modifier le groupe %s de %s en %s �impossible de modifier le groupe %s en %s �impossible de modifier le mode de %s de %04lo (%s) en %04lo (%s) �impossible de modifier l'appartenance de %s �impossible de modifier de l'appartenance de %s de %s en %s �impossible de modifier l'appartenance de %s en %s �impossible de changer de répertoire vers %s�impossible de cloner %s depuis %s�impossible de fermer %s�impossible de fermer le tube d'entrée�impossible de créer un nouveau contexte�impossible de convertir certains des nombres en entrée�impossible de créer le répertoire à partir du modèle %s�impossible de créer le fichier à partir du modèle %s�impossible de créer le lien direct %s�impossible de créer le lien direct %s → %s�impossible de créer un lien direct sur %.0s%s�impossible de créer le tube�impossible de créer le contexte de sécurité : %s�impossible de créer le lien symbolique %s�impossible de créer le lien symbolique %s → %s�impossible de créer le fichier temporaire dans %s�impossible d'abandonner le cache pour : %s�impossible d'étendre %s�impossible de trouver %s�impossible d'obtenir les attributs de %s�impossible de récupérer le contexte actuel�impossible d'obtenir le contexte de création du système de fichiers�impossible d'obtenir les groupes pour le processus actuel�impossible d'obtenir les groupes pour l'utilisateur %s�impossible de récupérer du contexte de sécurité de %s�impossible de repérer le fichier %s�impossible d'ouvrir %s�impossible d'ouvrir %s en lecture�échec d'ouverture de %s en écriture�échec de préparation de la valeur « %Lf » pour l'affichage�impossible de préserver l'auteur pour %s�impossible de préserver l'appartenance pour %s�échec de préservation des permissions de %s�échec de préservation des dates pour %s�échec de redirection vers la sortie d'erreur standard�impossible de rediriger la sortie d'erreur standard vers /dev/null�échec de suppression de %s�échec de suppression du répertoire %s�impossible de rendre inutilisable la sortie standard�impossible de rouvrir %s en mode %s�impossible de restaurer le contexte de création de fichier par défaut�impossible de revenir au répertoire de travail initial�échec de rembobinage du flux pour %s�impossible d'exécuter la commande %s�impossible d'exécuter la commande : « %s -s %s »�impossible de définir le composant de contexte de sécurité %s à %s�impossible de définir la variable d'environnement FILE�impossible de définir des groupes supplémentaires�impossible de définir le contexte de création de fichier par défaut à %s�impossible de définir l'identifiant de groupe�impossible de définir le nouvel intervalle %s�impossible de définir le nouveau rôle %s�impossible de définir le nouveau type %s�impossible de définir le nouvel utilisateur %s�impossible de définir les groupes supplémentaires�échec de copie sur la sortie d'erreur standard pour terminer l'exécution�impossible de définir le contexte de sécurité de %s en %s�impossible de définir l'identifiant de l'utilisateur�échec d'obtention d'état de %s�impossible de désactiver O_DIRECT : %s�impossible de mettre à jour l'environnement avec %s�fdatasync a échoué pour %s�échec de fflush�le numéro de champ %s est trop grand�le numéro de champ est zéro�champs et positions sont numérotés à partir de 1�FIFO�le fichier %d n'est pas dans l'ordre attendu�les opérandes de fichier ne peuvent pas être combinés avec --files0-from�les opérandes de fichier ne peuvent pas être combinés avec --print-database (-p)�le système de fichiers %s est à la fois sélectionné et exclu�échec de l'appel système fork�le format %s termine avec %%�le format %s ne contient pas de directive %%�le format %s contient trop de directives %%�le format %s contient une directive %%%c inconnue�le format de chaîne ne peut pas être indiqué quand l'affichage est égal à la largeur des chaînes�fsync a échoué pour %s�échec de fts_close�échec de fts_read�échec de fts_read : %s�génération de chemin relatif�obtention des nouveaux attributs de %s�le groupe d'appartenance de %s retenu est %s �le groupement ne peut pas être combiné avec --format�le groupement n'a pas d'effet avec ces paramètres régionaux�fonction iconv non disponible�fonction iconv non utilisable�id=�--no-newline ignoré avec plusieurs arguments�ignorer tous les arguments�les entrées sont ignorées�les entrées sont ignorées et la sortie est ajoutée à %s�entrée ignorée et sortie d'erreur standard redirigée vers la sortie standard�taille de tabulation incorrecte de la variable d'environnement TABSIZE ignorée :%s�valeur incorrecte de la variable d'environnement QUOTING_STYLE ignorée : %s�largeur incorrecte de la variable d'environnement COLUMNS ignorée : %s�ignore les arguments qui ne sont pas des options�jonction incompatible des champs %lu, %lu�tabulations incompatibles�impossible d'utiliser inotify, retour à l'interrogation active�les ressources inotify sont épuisés�l'entrée a disparu�la ligne d'entrée est trop longue�la ligne d'entrée est trop courte, aucun nombre à convertir n'a été trouvé dans le champ %ld�échec de déplacement interpériphérique de %s vers %s ; impossible de supprimer la cible�argument %s%s incorrect « %s »�argument %2$s de --%1$s incorrect�argument « -0 » de --threshold incorrect�ajustement %s incorrect�argument %s incorrect�argument %s incorrect pour %s�style de numérotation de corps incorrect : %s�mode %s de mise en tampon incorrect pour %s �octet, caractère ou liste de champs incorrects�caractère « %c » incorrect dans le type de chaîne %s�caractère de classe %s incorrect�contexte incorrect : %s�conversion incorrecte�le symbole de conversion %c est incorrect dans le suffixe�le symbole de conversion \%.3o est incorrect dans le suffixe�date incorrecte %s�format de date %s incorrect�intervalle décroissant incorrect�périphérique incorrect %s %s�type de périphérique %s incorrect�numéro de champ incorrect : %s�spécificateur de champ incorrect : %s�valeur de champ « %s » incorrecte�largeur de champ incorrecte : %s�numéro de fichier incorrect dans la spécification de champ : %s�attributs de spécification de conversion incorrects : %%%c%c�argument en virgule flottante incorrect : %s�style de numérotation de pied de page incorrect : %s�format %s incorrect (dépassement de largeur)�format %s incorrect, la directive doit être %%['][-][N]f�largeur de saut incorrecte : %s�groupe incorrect�groupe %s incorrect�liste de groupes %s incorrecte�groupe incorrect : %s�style de numérotation d'en-tête incorrect : %s�valeur d'en-tête « %s » incorrecte�entrée incorrecte�attribut d'entrée incorrect�intervalle d'entrée %s incorrect�entier %s incorrect�argument numérique %s incorrect�compteur de lignes %s incorrect�procédure de contrôle %s incorrecte�largeur du champ de numérotation de ligne incorrect : %s�incrément de nombre de ligne incorrect : %s�format de numérotation de ligne incorrect : %s�largeur de ligne incorrecte : %s�numéro majeur %s de périphérique incorrect�profondeur maximale %s incorrecte�numéro mineur %s de périphérique incorrect�mode incorrect�mode %s incorrect�mode incorrect : %s�nombre %s incorrect�nombre incorrect après « , »�nombre incorrect après « - »�nombre incorrect après « . »�nombre incorrect dans le champ de départ�nombre de lignes blanches incorrect : %s�nombre d'octets incorrect�nombre d'octets à comparer incorrect�nombre d'octets à ignorer incorrect�nombre de colonnes incorrect : %s�nombre de champs à ignorer incorrect�nombre de lignes incorrect�nombre incorrect : « %s »�option incorrecte — %c�option incorrecte — %c ; -WIDTH n'est reconnue que si c'est la première option ; utilisez -w N à la place�adresse radix de sortie « %c » incorrecte, ce doit être caractère parmi [doxn]�attribut de sortie incorrect�valeur de remplissage « %s » incorrecte�intervalle de pages %s incorrect�précision incorrecte : %s�intervalle incorrect sans limite de fin : -�compteur de répétition %s incorrect dans [c*n]�spécification incorrecte�numéro de ligne de départ incorrect : %s�attribut d'état incorrect�le suffixe %s est incorrect car il contient un séparateur de répertoires�suffixe incorrect dans l'argument %s%s « %s »�suffixe incorrect dans l'entrée « %s » : « %s »�suffixe incorrect en entrée : « %s »�taille de tabulation incorrecte : %s�modèle incorrect, %s, contient des séparateurs de répertoires�modèle incorrect, %s ; avec --tmpdir, il ne peut pas être absolu�intervalle de temps %s incorrect�format de style de temps %s incorrect�option de terminaison incorrecte — %c�type de chaîne %s incorrect�type de chaîne %s incorrect ; ce système ne fournit pas de type en point flottant sur %lu octets�type de chaîne %s incorrect ; ce système ne fournit pas de type entier sur %lu octets�taille d'unité incorrecte : « %s »�nom de caractère universel \%c%0*x incorrect�utilisateur incorrect�utilisateur %s incorrect�largeur incorrecte : %s�longueur de césure incorrecte : %s�nom de fichier de longueur nulle incorrect�il est dangereux d'opérer récursivement sur %s�il est dangereux d'opérer récursivement sur %s (identique à %s)�le mot clef %lu a une largeur nulle et sera ignoré�le mot clef %lu est numérique et s'étend sur plusieurs champs�grande valeur d'entrée « %s » : perte de précisions potentielle�dernier=�« - » d'en-tête dans une partie du nom de fichier %s�les espaces au début sont significatifs dans le mot clef %lu ; considérez aussi l'emploi de « b »�limite %lu dépassée par la longueur %lu du nom de fichier %s�limite %lu dépassée par la longueur %lu d'une partie du nom de fichier %s�la mise en tampon de l'entrée standard est sans effet�l'option de décompte de ligne -%s%c... est trop grande�le numéro de ligne %s est plus petit que le numéro de ligne précédent, %s�débordement du numéro de ligne�l'option longue « --megabytes » est obsolète et sera bientôt supprimée�l'argument maximal de --%s avec la rlimit actuelle est %s�mémoire insuffisante�impossible d'allouer un tampon d'entrée de %zu octets (%s)�impossible d'allouer un tampon de sortie de %zu octets (%s)�file de messages�l'argument minimal de --%s est %s�les structures [:upper:] ou [:lower:] sont mal alignées�la spécification de conversion %% est manquante dans le suffixe�« ] » manquant�suffixe « i » manquant en entrée : « %s » (par exemple Ki, Mi ou Gi)�argument manquant après %s�argument manquant pour %s�caractère de nom de classe « [::] » manquant�symbole de conversion manquant dans le suffixe�opérande de fichier cible manquant après %s�caractère de classe d'équivalence « [==] » manquant�opérande de fichier manquant�nombre hexadécimal manquant dans la protection�liste des champs manquante�liste des positions manquante�opérande manquant�opérande manquant après %s�le mode ne doit indiquer que les bits de droits de fichier�le mode de %s a été modifié de %04lo (%s) en %04lo (%s) �le mode de %s a été conservé à %04lo (%s). �Point de montage %s déjà traversé�déplacement du tube d'entrée�tabulation multicaractère %s�plusieurs options -l indiquées�plusieurs options -l ou -t indiquées�plusieurs programmes de compression indiqués�plusieurs délimiteurs indiqués�plusieurs intervalles de niveaux�plusieurs fichiers de sortie indiquées�plusieurs formats de fichiers de sortie indiqués�plusieurs sources aléatoires indiquées�plusieurs modificateurs relatifs indiqués�plusieurs rôles�plusieurs répertoires cibles indiqués�plusieurs types�plusieurs utilisateurs�ni le lien symbolique %s ni la référence n'ont été modifiés. �aucune variable d'environnement SHELL, et aucune option de type de shell donnée�impossible de modifier l'appartenance de %s �aucune commande indiquée�aucune option de conversion indiquée�aucun système de fichiers traité�aucun fichier restant�aucune d'entrée depuis %s�aucun identifiant�aucun identifiant de processus indiqué�aucun type ne peut être indiqué lors de l'affichage brut des chaînes�aucun nom d'utilisateur indiqué ; au moins un doit être indiqué lorsque -l est utilisée�argument non entier�caractère non portable %s dans le nom du fichier %s�pas un tty�pas d'écriture à travers le lien symbolique ballant %s�le numéro dans %s est trop grand�le nombre en parallèle doit être non nul�le ombre d'octets�le nombre de lignes�la valeur de départ du suffixe numérique est trop grande pour la longueur de suffixe�le mot clef obsolète « %s » est utilisé ; considérez « %s » à la place�débordement du décalage à la lecture du fichier %s�omission du répertoire %s�une seule structure de répétition [c*] peut apparaître dans string2�un seul périphérique peut être indiqué�un seul type de liste peut être indiqué�échec d'ouverture�l'option « -%s » est ignorée�les options « -%s » sont ignorées�l'option « -r » s'applique seulement à la comparaison de dernier recours�option --output : champ « %s » inconnu�option --output : champ « %s » utilisé plusieurs fois�option utilisée dans un contexte incorrect — %c�les options %s et %s sont mutuellement exclusives�les options « -%s » sont incompatibles�les options --backup et --no-clobber sont mutuellement exclusives�les options --compare (-C) et --preserve-timestamps sont mutuellement exclusives�les options --compare (-C) et --strip sont mutuellement exclusives�plus de mémoire (%zu octets demandés)�les suffixes des fichiers de sortie sont épuisés�débordement lors de l'augmentation de la taille du fichier %s�débordement lors de l'arrondi supérieur de la taille du fichier %s�l'appartenance de %s a été retenue �l'appartenance de %s a été conservée en %s �débordement du numéro de page�la largeur de page est trop petite�conservation des permissions de %s�préservation des dates pour %s�L'affichage de toutes les lignes dupliquées et le décompte de répétition est sans effet�les limites de l'intervalle « %s-%s » sont en ordre de séquence de comparaison inverse�erreur de lecture�échec de lecture�lecture du répertoire %s�enregistrement trop grand�redirection de la sortie d'erreur standard vers la sortie standard�fichier vide�fichier�rejet du suffixe en entrée : « %s » (songez à utiliser --from)�%s supprimé �répertoire supprimé : %s �suppression du répertoire %s�niveau d'exécution�sémaphore�le séparateur ne peut pas être vide�définissez LC_ALL='C' pour contourner le problème�initialisation des attributs pour %s�initialisation des permissions de %s�initialisation des dates de %s�objet de mémoire partagée�octets ignorés + le nombre d'octets lus est trop grand�%s est ignoré car il est sur un périphérique différent�le fichier %s est ignoré car il a été remplacé durant la copie�socket�dépassement de la file de squfof�erreur standard�entrée standard�l'entrée standard est fermée�sortie standard�échec de stat()�sortie d'erreur (stderr)�entrée standard (stdin)�sortie standard (stdout)�caractère égaré dans le champ de spécification�échec de comparaison de chaîne�échec de transformation de chaîne�le traitement en chaîne s'est arrêté anormalement�la suppression des lignes non délimitées n'est permise que lorsque des champs sont manipulés.�lien symbolique�erreur de syntaxe�démarrage système�la taille de la tabulation ne peut pas être 0�la taille de la tabulation contient un ou des caractères incorrects : %s�les tailles de tabulation doivent être croissantes�l'arrêt de tabulation %s est trop grand�la valeur de l'arrêt de tabulation est trop grande�les tabulations sont trop éloignées�la cible %s n'est pas un répertoire�un répertoire cible n'est pas autorisé lors de l'installation d'un répertoire�term=�test et/ou [�les options --binary et --text sont sans effet lors de la la vérification des sommes de contrôle�l'option --compare (-C) est ignorée quand un mode sans bit de droits est indiqué�l'option --quiet n'a de sens que lors de la vérification des sommes de contrôle�l'option --status n'a de sens que lors de la vérification des sommes de contrôle�l'option --strict n'a de sens que lors de la vérification des sommes de contrôle�l'option --tag est sans effet lors de la vérification des sommes de contrôle�l'option --warn n'a de sens que lors de la vérification des sommes de contrôle�la structure [c*] ne peut apparaître dans string2 que lors d'une conversion�la structure de répétition [c*] ne peut pas apparaître dans la string1�l'argument %s n'est pas précédé du préfixe « + ». En utilisant une option d'indication de date, tous les arguments qui ne sont pas des options reconnues doivent être des chaînes de formatage commençant par « + »�le délimiteur doit être un seul caractère�la commande surveillée a renvoyé un core dump�les options pour le mode bavard et les styles de sortie de compatible avec stty sont mutuellement exclusives�les options pour la base de données interne de sortie de dircolors et la sélection de la syntaxe du shell sont mutuellement exclusives�les options pour afficher et définir la date ne peuvent être utilisées ensemble�les options pour indiquer les dates d'impression sont mutuellement exclusives�les chaînes comparées étaient %s et %s�l'option --strip ne peut pas être utilisée lors de l'installation d'un répertoire�la longueur du suffixe doit au minimum être %zu�la chaîne non transformée était %s�heure %s hors limite�pour utiliser l'UID %s, vous devez aussi utiliser -g�trop peu de X dans le modèle %s�trop de spécifications de conversion %% dans le suffixe�trop de caractères dans l'ensemble�trop de lignes répétées�trop de modèles�total�impossible de parcourir : %s�objet mémoire typée�uid=%s�impossible d'afficher le message d'erreur�impossible d'enregistrer le répertoire de travail actuel�impossible de définir le contexte de sécurité %s�échec inattendu : fts_info=%d : %s Veuillez signaler le problème à %s�opérateur binaire inconnu�état inconnu de la commande (0x%X)�flux inconnu�UID inconnu : %s�impossible d'analyser la valeur de la variable d'environnement LS_COLORS�type 0x%08lx de système de fichiers non reconnu pour %s, veuillez signaler cela à %s, retour à l'interrogation active�opérande %s non reconnu�préfixe non reconnu : %s�actif %2d:%02d, �actif %ld jour %2d:%02d, �actif %ld jours %2d:%02d, �actif ???? jours ??:??, �utilisez --no-preserve-root pour inhiber cette mesure de sûreté�utilisation des règles de tri %s�l'utilisation de %s pour désigner l'entrée standard ne fonctionne pas en mode système de fichiers�utilisation de la comparaison simple d'octet�valeur trop grande pour être convertie : « %s »�valeur trop grande pour être affichée : « %Lg » (impossible de gérer des valeurs supérieures à 999Y)�valeur trop grande pour être affichée : « %Lg » (songez à utiliser --to)�en attente de %s [-d]�en attente du processus fils�en attente de strip�avertissement : �avertissement: %s : caractères suivant le caractère de constante ont été ignorés�avertissement : %s : impossible de modifier le contexte en %s�avertissement : « touch %s » est obsolète ; utilisez « touch -t %04ld%02d%02d%02d%02d.%02d »�avertissement : --pid=PID n'est pas pris en charge sur ce système�avertissement : --retry est principalement utile s'il est suivi par un nom�avertissement : PID ignoré ; --pid=PID n'est utile que lors du suivi�avertissement : une barre oblique inverse non protégée à la fin d'une chaîne n'est portable�avertissement : barre oblique inverse à la fin du format�avertissement : impossible de supprimer : %s�avertissement : impossible de désactiver les core dumps�avertissement : suivre l'entrée standard indéfiniment est inefficace�avertissement : arguments superflus ignorés, débutant par %s�avertissement : décalage de fichier incorrect suite à un échec de lecture�avertissement : largeur %lu incorrecte ; %d sera utilisé à la place�avertissement, le numéro de ligne %s est le même que le numéro de ligne précédent�avertissement : sigprocmask�avertissement : le fichier source %s est mentionné plusieurs fois�avertissement : conflit avec --max-depth=%lu à la génération du résumé�avertissement : résumer est la même chose qu'utiliser l'option --max-depth=0�avertissement : la protection octale ambiguë \%c%c%c est interprété comme une séquence de 2 octets \0%c%c, %c�avertissement : timer_create�avertissement : timer_settime�avertissement : séquence de protection « \%c » non reconnue�Avertissement : contournement d'une anomalie de lseek présente dans le noyau pour le fichier (%s) de type mt_type=0x%0lx — consultez <sys/mtio.h> pour la liste des types�fichier étrange�lorsque que set1 n'est pas tronqué, string2 ne peut pas être vide�le nom de fichier %s n'est pas autorisé lors de la lecture de l'entrée standard�les mode ne peuvent pas être initialisés quand le style de sortie est indiqué�lors d'une conversion avec des caractères complémentés de classes, string2 doit convertir tous les caractères du domaine dans un seul�lors d'une conversion avec string1 plus longue que string2, cette dernière doit se terminer avec un caractère de classe�lors d'une conversion, les seules classes de caractères qui peuvent apparaître dans string2 sont « upper » ou « lower »�ne copiera pas %s depuis le lien symbolique %s qui vient juste d'être créé�ne créera pas le lien direct %s vers le répertoire %s�n'écrasera pas %s qui vient d'être créé par %s�avec --parents, la destination doit être un répertoire�avec --suffix, le modèle %s doit se terminer par un X�avec FILE=%s, sortie %d de la commande : %s�avec FILE=%s, signal %s de la commande : %s�erreur d'écriture�erreur d'écriture pour %s�échec d'écriture�écriture vers %s�vous devez indiquer -c, -t, -u, -l, -r ou le contexte�une liste d'octets, de caractères ou de champs doit être indiquée�vous devez indiquer une %s relative avec %s�vous devez indiquer soit %s, soit %s�PRIuMAX�PRIdMAX�%+% records in %+% records out �% truncated record �%<PRIuMAX> truncated records �% byte (%s) copied�%<PRIuMAX> bytes (%s) copied�failed to truncate to % bytes in output file %s�offset too large: cannot truncate to a length of seek=% (%lu-byte) blocks�failed to truncate to % bytes in output file %s�%s:%: is not sorted: %.*s�failed to allocate a % byte stdio buffer �%s: %: improperly formatted %s checksum line�WARNING: % line is improperly formatted�WARNING: %<PRIuMAX> lines are improperly formatted�WARNING: % listed file could not be read�WARNING: %<PRIuMAX> listed files could not be read�WARNING: % computed checksum did NOT match�WARNING: %<PRIuMAX> computed checksums did NOT match�starting page number % exceeds page count %�Page %�overflow in % * % byte blocks for file %s�failed to truncate %s at % bytes�%+% enregistrements lus %+% enregistrements écrits �% enregistrement tronqué �% enregistrements tronqués �% octet (%s) copié�% octets (%s) copiés�impossible de tronquer le fichier de sortie %2$s à %1$ octets�décalage trop grand : impossible de tronquer à la longueur seek=% blocs (de %lu octets)�impossible de tronquer le fichier de sortie %2$s à %1$ octets�%s:% : n'est pas trié : %.*s�impossible d'allouer un tampon stdio de % octets �%s : % : ligne de somme de contrôle %s mal formatée�Attention : la ligne % n'est pas correctement formatée�Attention : les lignes % ne sont pas correctement formatées�Attention : le fichier % affiché n'a pas pu être lu�Attention : les fichiers % affichés n'ont pas pu être lus�Attention : la somme de contrôle % ne correspond pas�Attention : les sommes de contrôle % ne correspondent pas�le numéro % de page de départ dépasse le décompte de page %�Page %�débordement dans % * % blocs d'octets pour le fichier %s�impossible de tronquer %s à % octets���������������������������coreutils-8.21/po/fr.po�����������������������������������������������������������������������������0000664�0000000�0000000�00001607313�12107204507�011744� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# French translation of coreutils # Copyright © 2004, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2007. # kerb <y.kerb@laposte.net>, 2008, 2009. # Stéphane Raimbault <stephane.raimbault@gmail.com>, 2009-2012. # David Prévot <david@tilapin.org>, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: coreutils-8.20-pre3\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2013-02-14 15:56+0000\n" "PO-Revision-Date: 2013-02-11 17:08-0400\n" "Last-Translator: David Prévot <david@tilapin.org>\n" "Language-Team: French <traduc@traduc.org>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.4\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "argument %s incorrect pour %s" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "argument %s ambigu pour %s" #: lib/argmatch.c:153 msgid "Valid arguments are:" msgstr "Les arguments valables sont :" #: lib/closein.c:100 msgid "error closing file" msgstr "erreur de fermeture de fichier" #: lib/closeout.c:112 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:186 src/cat.c:202 src/cat.c:286 #: src/cksum.c:251 src/expand.c:329 src/expand.c:354 src/head.c:297 #: src/head.c:347 src/head.c:763 src/head.c:804 src/mktemp.c:351 src/od.c:925 #: src/paste.c:160 src/shuf.c:368 src/split.c:741 src/split.c:978 #: src/split.c:983 src/tail.c:349 src/tail.c:1201 src/tail.c:1307 #: src/tail.c:2204 src/tr.c:1620 src/tr.c:1845 src/tr.c:1939 #: src/unexpand.c:426 src/unexpand.c:442 #, c-format msgid "write error" msgstr "erreur d'écriture" #: lib/copy-acl.c:611 src/copy.c:1165 src/copy.c:2617 #, c-format msgid "preserving permissions for %s" msgstr "conservation des permissions de %s" #: lib/error.c:188 msgid "Unknown system error" msgstr "Erreur système inconnue" #: lib/file-type.c:38 msgid "regular empty file" msgstr "fichier vide" #: lib/file-type.c:38 msgid "regular file" msgstr "fichier" #: lib/file-type.c:41 msgid "directory" msgstr "répertoire" #: lib/file-type.c:44 msgid "block special file" msgstr "fichier spécial de bloc" #: lib/file-type.c:47 msgid "character special file" msgstr "fichier spécial de caractères" #: lib/file-type.c:50 msgid "fifo" msgstr "FIFO" #: lib/file-type.c:53 msgid "symbolic link" msgstr "lien symbolique" #: lib/file-type.c:56 msgid "socket" msgstr "socket" #: lib/file-type.c:59 msgid "message queue" msgstr "file de messages" #: lib/file-type.c:62 msgid "semaphore" msgstr "sémaphore" #: lib/file-type.c:65 msgid "shared memory object" msgstr "objet de mémoire partagée" #: lib/file-type.c:68 msgid "typed memory object" msgstr "objet mémoire typée" #: lib/file-type.c:70 msgid "weird file" msgstr "fichier étrange" #: lib/gai_strerror.c:57 msgid "Address family for hostname not supported" msgstr "La famille d'adresses pour le nom d'hôte n'est pas prise en charge" #: lib/gai_strerror.c:58 msgid "Temporary failure in name resolution" msgstr "Échec temporaire de résolution de nom" #: lib/gai_strerror.c:59 msgid "Bad value for ai_flags" msgstr "Valeur incorrecte pour ai_flags" #: lib/gai_strerror.c:60 msgid "Non-recoverable failure in name resolution" msgstr "Échec définitif lors de la résolution de nom" #: lib/gai_strerror.c:61 msgid "ai_family not supported" msgstr "ai_family non pris en charge" #: lib/gai_strerror.c:62 msgid "Memory allocation failure" msgstr "Échec d'allocation mémoire" #: lib/gai_strerror.c:63 msgid "No address associated with hostname" msgstr "Aucune adresse n'est associée au nom d'hôte" #: lib/gai_strerror.c:64 msgid "Name or service not known" msgstr "Nom ou service inconnu" #: lib/gai_strerror.c:65 msgid "Servname not supported for ai_socktype" msgstr "Nom de serveur non pris en charge avec ai_socktype" #: lib/gai_strerror.c:66 msgid "ai_socktype not supported" msgstr "ai_socktype n'est pas pris en charge" #: lib/gai_strerror.c:67 msgid "System error" msgstr "Erreur système" #: lib/gai_strerror.c:68 msgid "Argument buffer too small" msgstr "Le tampon de l'argument est trop petit" #: lib/gai_strerror.c:70 msgid "Processing request in progress" msgstr "Requête de traitement en cours" #: lib/gai_strerror.c:71 msgid "Request canceled" msgstr "Requête annulée" #: lib/gai_strerror.c:72 msgid "Request not canceled" msgstr "Requête non annulée" #: lib/gai_strerror.c:73 msgid "All requests done" msgstr "Toutes les requêtes ont été traitées" #: lib/gai_strerror.c:74 msgid "Interrupted by a signal" msgstr "Interrompu par un signal" #: lib/gai_strerror.c:75 msgid "Parameter string not correctly encoded" msgstr "Paramètre de chaîne non correctement codé" #: lib/gai_strerror.c:87 msgid "Unknown error" msgstr "Erreur inconnue" #: lib/getopt.c:547 lib/getopt.c:576 #, c-format msgid "%s: option '%s' is ambiguous; possibilities:" msgstr "%s : l'option « %s » est ambiguë, possibilités :" #: lib/getopt.c:624 lib/getopt.c:628 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s : l'option « --%s » n'accepte pas d'argument\n" #: lib/getopt.c:637 lib/getopt.c:642 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s : l'option « %c%s » n'accepte pas d'argument\n" #: lib/getopt.c:685 lib/getopt.c:704 #, c-format msgid "%s: option '--%s' requires an argument\n" msgstr "%s : l'option « --%s » nécessite un argument\n" #: lib/getopt.c:742 lib/getopt.c:745 #, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s : option non reconnue « --%s »\n" #: lib/getopt.c:753 lib/getopt.c:756 #, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s : option non reconnue « %c%s »\n" #: lib/getopt.c:805 lib/getopt.c:808 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s : option incorrecte — « %c »\n" #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s : l'option nécessite un argument — « %c »\n" #: lib/getopt.c:934 lib/getopt.c:950 #, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s : l'option « -W %s » est ambiguë\n" #: lib/getopt.c:974 lib/getopt.c:992 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s : l'option « -W %s » n'accepte pas d'argument\n" #: lib/getopt.c:1013 lib/getopt.c:1031 #, c-format msgid "%s: option '-W %s' requires an argument\n" msgstr "%s : l'option « -W %s » nécessite un argument\n" #: lib/mkdir-p.c:196 src/install.c:484 #, c-format msgid "cannot change permissions of %s" msgstr "impossible de modifier les permissions de %s" #: lib/mkdir-p.c:206 src/copy.c:2266 src/install.c:709 src/install.c:722 #, c-format msgid "cannot create directory %s" msgstr "impossible de créer le répertoire %s" #: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34 src/csplit.c:219 #: src/split.c:929 src/tac.c:434 #, c-format msgid "memory exhausted" msgstr "mémoire insuffisante" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "impossible d'enregistrer le répertoire de travail actuel" #: lib/openat-die.c:57 src/find-mount-point.c:107 #, c-format msgid "failed to return to initial working directory" msgstr "impossible de revenir au répertoire de travail initial" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> #. and use glyphs suitable for your language. #: lib/quotearg.c:312 msgid "`" msgstr "« " #: lib/quotearg.c:313 msgid "'" msgstr " »" #: lib/randread.c:128 #, c-format msgid "%s: end of file" msgstr "%s : fin de fichier" #: lib/regcomp.c:131 msgid "Success" msgstr "Réussite" #: lib/regcomp.c:134 msgid "No match" msgstr "Aucune correspondance" #: lib/regcomp.c:137 msgid "Invalid regular expression" msgstr "Expression rationnelle incorrecte" #: lib/regcomp.c:140 msgid "Invalid collation character" msgstr "Caractère de collation incorrect" #: lib/regcomp.c:143 msgid "Invalid character class name" msgstr "Nom de classe de caractères incorrect" #: lib/regcomp.c:146 msgid "Trailing backslash" msgstr "Barre oblique inverse finale" #: lib/regcomp.c:149 msgid "Invalid back reference" msgstr "Référence arrière incorrecte" #: lib/regcomp.c:152 msgid "Unmatched [ or [^" msgstr "[ ou [^ sans correspondance" #: lib/regcomp.c:155 msgid "Unmatched ( or \\(" msgstr "( ou \\( sans correspondance" #: lib/regcomp.c:158 msgid "Unmatched \\{" msgstr "\\{ sans correspondance" #: lib/regcomp.c:161 msgid "Invalid content of \\{\\}" msgstr "Contenu de \\{\\} incorrect" #: lib/regcomp.c:164 msgid "Invalid range end" msgstr "Fin d'intervalle incorrecte" #: lib/regcomp.c:167 msgid "Memory exhausted" msgstr "Mémoire épuisée" #: lib/regcomp.c:170 msgid "Invalid preceding regular expression" msgstr "Expression rationnelle précédente incorrecte" #: lib/regcomp.c:173 msgid "Premature end of regular expression" msgstr "Fin prématurée d'expression rationnelle" #: lib/regcomp.c:176 msgid "Regular expression too big" msgstr "Expression rationnelle trop grande" #: lib/regcomp.c:179 msgid "Unmatched ) or \\)" msgstr ") ou \\) sans correspondance" #: lib/regcomp.c:704 msgid "No previous regular expression" msgstr "Pas d'expression rationnelle précédente" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "il est dangereux d'opérer récursivement sur %s" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "il est dangereux d'opérer récursivement sur %s (identique à %s)" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "utilisez --no-preserve-root pour inhiber cette mesure de sûreté" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "^[oOyY].*" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "^[nN].*" #: lib/set-mode-acl.c:697 src/copy.c:2289 src/cp.c:516 #, c-format msgid "setting permissions for %s" msgstr "initialisation des permissions de %s" #: lib/siglist.h:31 msgid "Hangup" msgstr "Déconnexion" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Interrompu" #: lib/siglist.h:37 msgid "Quit" msgstr "Quitté" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Instruction illégale" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Capture de trace ou point d'arrêt" #: lib/siglist.h:46 msgid "Aborted" msgstr "Abandonné" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Exception de virgule flottante" #: lib/siglist.h:52 msgid "Killed" msgstr "Tué" #: lib/siglist.h:55 msgid "Bus error" msgstr "Erreur de bus" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Erreur de segmentation" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Tube brisé" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Réveil" #: lib/siglist.h:67 msgid "Terminated" msgstr "Terminé" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Condition d'E/S urgente" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Arrêté (signal)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Arrêté" #: lib/siglist.h:79 msgid "Continued" msgstr "Repris" #: lib/siglist.h:82 msgid "Child exited" msgstr "Fin du processus fils" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Arrêté (entrée tty)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Arrêté (sortie tty)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "E/S possible" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Temps limite de processeur dépassé" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Taille de fichier dépassée" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Temps virtuel expiré" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Temporisation de profilage dépassée" #: lib/siglist.h:106 msgid "Window changed" msgstr "Fenêtre modifiée" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Signal 1 défini par l'utilisateur" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Signal 2 défini par l'utilisateur" #: lib/siglist.h:117 msgid "EMT trap" msgstr "Capture EMT" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Appel système incorrect" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Erreur de pile" #: lib/siglist.h:126 msgid "Information request" msgstr "Demande de renseignements" #: lib/siglist.h:128 msgid "Power failure" msgstr "Échec d'alimentation" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Ressource perdue" #: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264 #: lib/spawn-pipe.c:267 #, c-format msgid "cannot create pipe" msgstr "impossible de créer un tube (« pipe »)" #: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282 #: lib/wait-process.c:356 #, c-format msgid "%s subprocess failed" msgstr "échec de sous-processus %s" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Signal %d en temps réel" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Signal %d inconnu" #: lib/unicodeio.c:102 msgid "iconv function not usable" msgstr "fonction iconv non utilisable" #: lib/unicodeio.c:104 msgid "iconv function not available" msgstr "fonction iconv non disponible" #: lib/unicodeio.c:111 msgid "character out of range" msgstr "caractère hors limites" #: lib/unicodeio.c:181 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "impossible de convertir U+%04X dans le jeu de caractères local" #: lib/unicodeio.c:183 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "impossible de convertir U+%04X dans le jeu de caractères local : %s" #: lib/userspec.c:106 msgid "invalid user" msgstr "utilisateur incorrect" #: lib/userspec.c:107 msgid "invalid group" msgstr "groupe incorrect" #: lib/userspec.c:108 msgid "invalid spec" msgstr "spécification incorrecte" #: lib/verror.c:73 #, c-format msgid "unable to display error message" msgstr "impossible d'afficher le message d'erreur" #: lib/version-etc.c:74 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paquet réalisé par %s (%s)\n" #: lib/version-etc.c:77 #, c-format msgid "Packaged by %s\n" msgstr "Paquet réalisé par %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:84 msgid "(C)" msgstr "©" #: lib/version-etc.c:86 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl." "html>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" "\n" "License GPLv3+ : GNU GPL version 3 ou ultérieure\n" "<http://gnu.org/licenses/gpl.html>\n" "C'est logiciel libre, vous êtes libre de le modifier et de le redistribuer.\n" "Ce logiciel n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE, dans les limites\n" "autorisées par la loi applicable.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:102 #, c-format msgid "Written by %s.\n" msgstr "Écrit par %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:106 #, c-format msgid "Written by %s and %s.\n" msgstr "Écrit par %s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:110 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Écrit par %s, %s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:117 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Écrit par %s, %s, %s\n" "et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:124 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s, %s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:139 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s, %s, %s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:147 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s, %s, %s, %s\n" "et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:156 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s et %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:167 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Écrit par %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s et d'autres.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:245 #, c-format msgid "" "\n" "Report bugs to: %s\n" msgstr "" "\n" "Signalez les anomalies à : <%s>\n" "Signalez les problèmes de traduction à : <traduc@traduc.org>\n" #: lib/version-etc.c:247 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Signalez les anomalies de « %s » à : <%s>\n" #: lib/version-etc.c:251 src/system.h:573 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de « %s » : %s\n" #: lib/version-etc.c:253 #, c-format msgid "%s home page: <http://www.gnu.org/software/%s/>\n" msgstr "Page d'accueil de « %s » : <http://www.gnu.org/software/%s/>\n" #: lib/version-etc.c:256 src/system.h:574 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n" msgstr "" "Aide globale sur les logiciels GNU : <http://www.gnu.org/help/gethelp>\n" #: lib/w32spawn.h:43 #, c-format msgid "_open_osfhandle failed" msgstr "échec de _open_osfhandle" #: lib/w32spawn.h:84 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" "impossible de restaurer le descripteur de fichier (fd) %d : échec de dup2" #: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317 #, c-format msgid "%s subprocess" msgstr "sous-processus %s" #: lib/wait-process.c:274 lib/wait-process.c:346 #, c-format msgid "%s subprocess got fatal signal %d" msgstr "le sous-processus %s a reçu un signal fatal %d" #: lib/xfreopen.c:35 msgid "stdin" msgstr "entrée standard (stdin)" #: lib/xfreopen.c:36 msgid "stdout" msgstr "sortie standard (stdout)" #: lib/xfreopen.c:37 msgid "stderr" msgstr "sortie d'erreur (stderr)" #: lib/xfreopen.c:38 msgid "unknown stream" msgstr "flux inconnu" #: lib/xfreopen.c:39 #, c-format msgid "failed to reopen %s with mode %s" msgstr "impossible de rouvrir %s en mode %s" #: lib/xmemcoll.c:39 src/expr.c:886 #, c-format msgid "string comparison failed" msgstr "échec de comparaison de chaîne" # Ne pas utiliser les chevrons français dans ce cas (Stéphane) #: lib/xmemcoll.c:40 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "Définissez LC_ALL='C' pour contourner le problème." #: lib/xmemcoll.c:42 #, c-format msgid "The strings compared were %s and %s." msgstr "Les chaînes comparées étaient %s et %s." #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "impossible mettre en forme la sortie formatée" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument '%s'" msgstr "argument %s%s incorrect « %s »" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument '%s'" msgstr "suffixe incorrect dans l'argument %s%s « %s »" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument '%s' too large" msgstr "argument %s%s « %s » trop grand" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:40 msgid "Simon Josefsson" msgstr "Simon Josefsson" #: src/base64.c:60 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" msgstr "" "Utilisation : %s [OPTION]... [FILE]\n" "Encoder ou décoder en base64 FILE, ou l'entrée standard, sur la sortie " "standard.\n" #: src/base64.c:67 msgid "" " -d, --decode decode data\n" " -i, --ignore-garbage when decoding, ignore non-alphabet characters\n" " -w, --wrap=COLS wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping\n" "\n" msgstr "" " -d, --decode décoder les données\n" " -i, --ignore-garbage lors du décodage, ignorer les caractères non\n" " alphabétiques\n" " -w, --wrap=COLS effectuer la césure des lignes après COLS " "caractères\n" " (76 par défaut). Utilisez 0 pour désactiver la " "césure\n" "\n" #: src/base64.c:76 src/cat.c:110 src/fmt.c:295 src/shuf.c:70 src/sum.c:70 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" "Sans FILE ou quand FILE est -, lire l'entrée standard.\n" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" "\n" "Les données sont codées comme décrit pour l'alphabet base64 dans la " "RFC 3548.\n" "Lors du décodage, l'entrée peut contenir des changements de ligne en plus " "des\n" "octets de l'alphabet base64 formel. Utilisez --ignore-garbage pour tenter " "de\n" "récupérer tout autre octet non alphabétique dans le flux codé.\n" #: src/base64.c:174 src/base64.c:211 src/csplit.c:263 src/csplit.c:1437 #: src/join.c:451 src/shuf.c:156 src/shuf.c:360 src/tac-pipe.c:74 #: src/tee.c:204 src/tr.c:1644 #, c-format msgid "read error" msgstr "erreur de lecture" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "entrée incorrecte" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "longueur de césure incorrecte : %s" #: src/base64.c:286 src/basename.c:174 src/comm.c:435 src/cp.c:605 #: src/date.c:445 src/dircolors.c:447 src/du.c:964 src/hostid.c:74 #: src/hostname.c:111 src/id.c:169 src/install.c:930 src/join.c:961 #: src/link.c:85 src/ln.c:563 src/logname.c:71 src/mknod.c:156 src/mv.c:449 #: src/nproc.c:119 src/od.c:1808 src/ptx.c:2080 src/seq.c:546 src/shuf.c:319 #: src/shuf.c:338 src/sort.c:4531 src/split.c:1326 src/tr.c:1797 #: src/tsort.c:555 src/tty.c:112 src/uname.c:251 src/uniq.c:453 src/uniq.c:470 #: src/unlink.c:81 src/uptime.c:250 src/users.c:146 src/wc.c:666 src/who.c:827 #: src/whoami.c:79 #, c-format msgid "extra operand %s" msgstr "opérande supplémentaire %s" #: src/base64.c:318 src/cat.c:781 #, c-format msgid "closing standard input" msgstr "fermeture de l'entrée standard" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:29 src/chgrp.c:37 src/chmod.c:39 src/chown.c:36 #: src/comm.c:38 src/cp.c:57 src/csplit.c:42 src/cut.c:45 src/date.c:39 #: src/dd.c:45 src/df.c:43 src/dirname.c:32 src/du.c:54 src/env.c:33 #: src/expand.c:49 src/fold.c:36 src/groups.c:35 src/head.c:45 src/id.c:39 #: src/install.c:50 src/ln.c:42 src/ls.c:124 src/mkdir.c:36 src/mkfifo.c:33 #: src/mknod.c:34 src/mv.c:42 src/nice.c:39 src/nl.c:41 src/paste.c:53 #: src/pathchk.c:33 src/pinky.c:37 src/printenv.c:44 src/printf.c:63 #: src/rm.c:42 src/rmdir.c:38 src/stty.c:66 src/sum.c:38 src/tac.c:59 #: src/tail.c:70 src/tee.c:36 src/touch.c:44 src/tty.c:43 src/uname.c:60 #: src/unexpand.c:50 src/uniq.c:42 src/uptime.c:46 src/users.c:36 src/wc.c:51 #: src/who.c:49 src/yes.c:32 msgid "David MacKenzie" msgstr "David MacKenzie" #: src/basename.c:48 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION... NAME...\n" msgstr "" "Utilisation : %s NAME [SUFFIX]...\n" " ou : %s OPTION... NAME...\n" #: src/basename.c:53 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" msgstr "" "Afficher NAME sans le précéder des composants des noms de répertoires\n" "Si indiqué, enlever aussi SUFFIX en terminaison.\n" #: src/basename.c:60 msgid "" " -a, --multiple support multiple arguments and treat each as a NAME\n" " -s, --suffix=SUFFIX remove a trailing SUFFIX\n" " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -a, --multiple accepter plusieurs arguments et les traiter comme un " "NAME\n" " -s, --suffix=SUFFIX supprimer un SUFFIX de terminaison\n" " -z, --zero séparer la sortie par NUL au lieu de changements de " "ligne\n" #: src/basename.c:67 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort -> \"sort\"\n" " %s include/stdio.h .h -> \"stdio\"\n" " %s -s .h include/stdio.h -> \"stdio\"\n" " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" msgstr "" "\n" "Exemples :\n" " %s /usr/bin/sort → « sort »\n" " %s include/stdio.h .h → « stdio »\n" " %s -s .h include/stdio.h → « stdio »\n" " %s -a nimp/chaine1 nimp/chaine2 → « chaine1 » suivi par « chaine2 »\n" # Opérande est un nom masculin #: src/basename.c:168 src/chcon.c:537 src/chgrp.c:277 src/chmod.c:526 #: src/chown.c:280 src/chroot.c:197 src/comm.c:427 src/csplit.c:1371 #: src/dirname.c:116 src/expr.c:326 src/join.c:1147 src/link.c:77 #: src/mkdir.c:182 src/mkfifo.c:107 src/mknod.c:145 src/nohup.c:111 #: src/pathchk.c:148 src/printf.c:674 src/readlink.c:145 src/realpath.c:236 #: src/rm.c:321 src/rmdir.c:223 src/seq.c:540 src/setuidgid.c:137 #: src/sleep.c:119 src/stat.c:1499 src/stdbuf.c:345 src/tr.c:1782 #: src/unlink.c:75 #, c-format msgid "missing operand" msgstr "opérande manquant" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/cp.c:56 src/df.c:42 src/du.c:53 src/factor.c:110 #: src/split.c:49 msgid "Torbjorn Granlund" msgstr "Torbjorn Granlund" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:49 src/comm.c:37 src/ls.c:123 src/rm.c:43 src/split.c:50 #: src/tee.c:35 src/uniq.c:41 msgid "Richard M. Stallman" msgstr "Richard M. Stallman" #: src/cat.c:88 src/df.c:1209 src/expand.c:103 src/fold.c:66 src/head.c:105 #: src/ls.c:4720 src/nl.c:175 src/paste.c:435 src/pr.c:2752 src/sum.c:58 #: src/tac.c:133 src/tail.c:258 src/tee.c:62 src/unexpand.c:113 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Utilisation : %s [OPTION]... [FILE]...\n" #: src/cat.c:92 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines, overrides -n\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" "Concaténer le ou les FILEs, ou l'entrée standard, vers la sortie standard.\n" "\n" " -A, --show-all équivalent à -vET\n" " -b, --number-nonblank numéroter lignes non vides en sortie, surcharge -" "n\n" " -e équivalent à -vE\n" " -E, --show-ends afficher $ à la fin de chaque ligne\n" " -n, --number numéroter toutes les lignes en sortie\n" " -s, --squeeze-blank supprimer les lignes vides qui se répètent en " "sortie\n" #: src/cat.c:102 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" " -t équivalent à -vT\n" " -T, --show-tabs afficher les caractères TAB comme ^I\n" " -u (ignoré)\n" " -v, --show-nonprinting utiliser les notations ^ et M-, sauf pour LFD et " "TAB\n" # %s est « cat » (3 caractères), la ligne suivante est indentée sur cette supposition (Stéphane, David) #: src/cat.c:114 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" "\n" "Exemples :\n" " %s f - g Afficher le contenu de f, suivi de l'entrée standard, puis du\n" " contenu de g.\n" " %s Copier l'entrée standard vers la sortie standard.\n" #: src/cat.c:326 #, c-format msgid "cannot do ioctl on %s" msgstr "impossible d'exécuter ioctl sur %s" #: src/cat.c:637 src/dd.c:2217 src/sort.c:383 src/tee.c:165 src/yes.c:86 #, c-format msgid "standard output" msgstr "sortie standard" #: src/cat.c:716 #, c-format msgid "%s: input file is output file" msgstr "%s : le fichier d'entrée est aussi celui de sortie" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/runcon.c:62 msgid "Russell Coker" msgstr "Russell Coker" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:37 src/chgrp.c:38 src/chmod.c:40 src/chown.c:37 src/cp.c:58 #: src/cut.c:46 src/dirname.c:33 src/du.c:56 src/head.c:46 src/hostid.c:33 #: src/hostname.c:33 src/mktemp.c:36 src/mv.c:43 src/nohup.c:37 src/od.c:36 #: src/pathchk.c:34 src/pwd.c:31 src/rm.c:44 src/setuidgid.c:38 src/sleep.c:34 #: src/sync.c:31 src/tail.c:72 src/tr.c:37 src/true.c:33 msgid "Jim Meyering" msgstr "Jim Meyering" #: src/chcon.c:100 src/runcon.c:207 src/runcon.c:238 #, c-format msgid "failed to create security context: %s" msgstr "impossible de créer le contexte de sécurité : %s" #: src/chcon.c:112 #, c-format msgid "failed to set %s security context component to %s" msgstr "impossible de définir le composant de contexte de sécurité %s à %s" #: src/chcon.c:156 src/chcon.c:546 src/copy.c:2227 src/runcon.c:221 #: src/stat.c:702 #, c-format msgid "failed to get security context of %s" msgstr "impossible de récupérer du contexte de sécurité de %s" #: src/chcon.c:166 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "impossible d'appliquer un contexte partiel au fichier %s non étiqueté" #: src/chcon.c:193 #, c-format msgid "failed to change context of %s to %s" msgstr "impossible de modifier le contexte de %s à %s" #: src/chcon.c:255 src/chmod.c:216 src/chown-core.c:325 src/copy.c:581 #: src/du.c:457 src/ls.c:2981 #, c-format msgid "cannot access %s" msgstr "impossible d'accéder à %s" #: src/chcon.c:265 src/chmod.c:229 src/chown-core.c:338 src/du.c:437 #, c-format msgid "cannot read directory %s" msgstr "impossible de lire le répertoire %s" #: src/chcon.c:292 #, c-format msgid "changing security context of %s\n" msgstr "changement du contexte de sécurité de %s\n" #: src/chcon.c:326 src/chmod.c:346 src/chown-core.c:539 src/remove.c:562 #, c-format msgid "fts_read failed" msgstr "échec de fts_read" #: src/chcon.c:337 src/chmod.c:357 src/chown-core.c:551 src/du.c:642 #: src/remove.c:576 #, c-format msgid "fts_close failed" msgstr "échec de fts_close" #: src/chcon.c:351 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilisation : %s [OPTION]... CONTEXT FILE...\n" " ou : %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] " "FILE...\n" " ou : %s [OPTION]... --reference=RFILE FILE...\n" #: src/chcon.c:357 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" msgstr "" "Modifier le contexte de sécurité de chaque FILE en CONTEXT.\n" "Avec --reference, modifier le contexte de sécurité de chaque FILE à\n" "celui de RFILE.\n" #: src/chcon.c:364 src/chgrp.c:123 src/chown.c:94 msgid "" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" " --dereference affecter le référent de chaque lien symbolique " "(par\n" " défaut), au lieu du lien symbolique lui-même\n" " -h, --no-dereference affecter les liens symboliques au lieu des " "fichiers\n" " référencés\n" #: src/chcon.c:369 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" msgstr "" " -u, --user=USER définir l'utilisateur USER dans le contexte de\n" " sécurité cible\n" " -r, --role=ROLE définir le rôle ROLE dans le contexte de sécurité " "cible\n" " -t, --type=TYPE définir le type TYPE dans le contexte de sécurité " "cible\n" " -l, --range=RANGE définir l'intervalle RANGE dans le contexte de\n" " sécurité cible\n" #: src/chcon.c:375 src/chgrp.c:132 src/chmod.c:387 src/chown.c:110 msgid "" " --no-preserve-root do not treat '/' specially (the default)\n" " --preserve-root fail to operate recursively on '/'\n" msgstr "" " --no-preserve-root ne pas traiter « / » de manière spéciale (par " "défaut)\n" " --preserve-root bloquer le traitement récursif sur « / »\n" #: src/chcon.c:379 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" msgstr "" " --reference=RFILE utiliser le contexte de sécurité de RFILE au lieu\n" " d'indiquer une valeur CONTEXT\n" #: src/chcon.c:383 src/chgrp.c:140 src/chown.c:118 msgid " -R, --recursive operate on files and directories recursively\n" msgstr "" " -R, --recursive opérer récursivement sur les fichiers et " "répertoires\n" #: src/chcon.c:386 msgid " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -v, --verbose afficher un diagnostic pour chaque fichier traité\n" #: src/chcon.c:389 src/chgrp.c:143 src/chown.c:121 msgid "" "\n" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" "\n" "Les options suivantes modifient la façon de parcourir la hiérarchie lorsque\n" "l'option -R est aussi indiquée. Si plusieurs options sont indiquées, seule " "la\n" "dernière sera prise en compte.\n" "\n" " -H si l'argument en ligne de commande est un lien\n" " symbolique vers un répertoire, le parcourir\n" " -L parcourir tous les liens symboliques menant à un\n" " répertoire\n" " -P ne parcourir aucun lien symbolique (par défaut)\n" "\n" #: src/chcon.c:518 src/chgrp.c:264 src/chown.c:267 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "-R --dereference nécessite soit -H ou -L" #: src/chcon.c:524 #, c-format msgid "-R -h requires -P" msgstr "-R -h nécessite -P" #: src/chcon.c:539 src/chgrp.c:279 src/chmod.c:528 src/chown.c:282 #: src/comm.c:429 src/csplit.c:1373 src/join.c:1149 src/link.c:79 #: src/mknod.c:147 src/setuidgid.c:139 src/tr.c:1785 #, c-format msgid "missing operand after %s" msgstr "opérande manquant après %s" #: src/chcon.c:562 src/runcon.c:251 #, c-format msgid "invalid context: %s" msgstr "contexte incorrect : %s" #: src/chcon.c:569 #, c-format msgid "conflicting security context specifiers given" msgstr "paramètres de contexte de sécurité en conflit" #: src/chcon.c:578 src/chgrp.c:287 src/chgrp.c:305 src/chmod.c:536 #: src/chmod.c:555 src/chown.c:290 src/chown.c:319 src/cp.c:431 src/cp.c:491 #: src/mv.c:97 src/pwd.c:273 src/rm.c:331 src/touch.c:347 #, c-format msgid "failed to get attributes of %s" msgstr "impossible d'obtenir les attributs de %s" #: src/chgrp.c:92 #, c-format msgid "invalid group: %s" msgstr "groupe incorrect : %s" #: src/chgrp.c:108 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilisation : %s [OPTION]... GROUP FILE...\n" " ou : %s [OPTION]... --reference=RFILE FILE...\n" #: src/chgrp.c:113 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" msgstr "" "Modifier le groupe de chaque FILE en GROUP.\n" "Avec --reference, modifier le groupe de chaque FILE à celui de RFILE.\n" "\n" #: src/chgrp.c:118 src/chmod.c:382 src/chown.c:89 msgid "" " -c, --changes like verbose but report only when a change is made\n" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" " -c, --changes comme --verbose, mais seulement en cas de " "modification\n" " -f, --silent, --quiet supprimer la plupart des messages d'erreur\n" " -v, --verbose afficher un diagnostic pour chaque fichier traité\n" #: src/chgrp.c:128 src/chown.c:99 msgid "" " (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" " (seulement utile sur les systèmes permettant de\n" " modifier le propriétaire d'un lien symbolique)\n" #: src/chgrp.c:136 msgid "" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" msgstr "" " --reference=RFILE utiliser le groupe de RFILE au lieu d'indiquer une\n" " valeur GROUP\n" #: src/chgrp.c:158 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" "\n" "Exemples :\n" " %s staff /u Modifier le groupe de /u en « staff ».\n" " %s -hR staff /u Modifier le groupe de /u et sous-fichiers en « staff ».\n" #: src/chmod.c:126 #, c-format msgid "getting new attributes of %s" msgstr "obtention des nouveaux attributs de %s" #: src/chmod.c:149 src/chown-core.c:147 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "ni le lien symbolique %s ni la référence n'ont été modifiés.\n" #: src/chmod.c:163 #, c-format msgid "mode of %s changed from %04lo (%s) to %04lo (%s)\n" msgstr "le mode de %s a été modifié de %04lo (%s) en %04lo (%s)\n" #: src/chmod.c:166 #, c-format msgid "failed to change mode of %s from %04lo (%s) to %04lo (%s)\n" msgstr "impossible de modifier le mode de %s de %04lo (%s) en %04lo (%s)\n" #: src/chmod.c:169 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "le mode de %s a été conservé à %04lo (%s).\n" #: src/chmod.c:236 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "impossible d'opérer sur un lien symbolique ballant %s" #: src/chmod.c:276 #, c-format msgid "changing permissions of %s" msgstr "modification des permissions de %s" #: src/chmod.c:311 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "%s : les nouvelles permissions sont %s, et non %s" #: src/chmod.c:371 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilisation : %s [OPTION]... MODE[,MODE]... FILE...\n" " ou : %s [OPTION]... OCTAL-MODE FILE\n" " ou : %s [OPTION]... --reference=RFILE FILE\n" #: src/chmod.c:377 msgid "" "Change the mode of each FILE to MODE.\n" "With --reference, change the mode of each FILE to that of RFILE.\n" "\n" msgstr "" "Modifier le mode de chaque FILE en MODE.\n" "Avec --reference, modifier le mode de chaque FILE à celui de RFILE.\n" #: src/chmod.c:391 msgid " --reference=RFILE use RFILE's mode instead of MODE values\n" msgstr "" " --reference=RFILE utiliser le mode de RFILE au lieu d'indiquer une\n" " valeur GROUP\n" #: src/chmod.c:394 msgid " -R, --recursive change files and directories recursively\n" msgstr "" " -R, --recursive modifier récursivement les fichiers et répertoires\n" #: src/chmod.c:399 msgid "" "\n" "Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.\n" msgstr "" "\n" "Chaque MODE est de la forme « [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=]" "[0-7]+ ».\n" #: src/chmod.c:513 #, c-format msgid "cannot combine mode and --reference options" msgstr "impossible de combiner les options mode et --reference" #: src/chmod.c:544 #, c-format msgid "invalid mode: %s" msgstr "mode incorrect : %s" #: src/chown-core.c:158 #, c-format msgid "changed ownership of %s from %s to %s\n" msgstr "appartenance de %s modifiée de %s en %s\n" #: src/chown-core.c:159 #, c-format msgid "changed group of %s from %s to %s\n" msgstr "groupe de %s modifié de %s en %s\n" #: src/chown-core.c:160 #, c-format msgid "no change to ownership of %s\n" msgstr "impossible de modifier l'appartenance de %s\n" #: src/chown-core.c:165 #, c-format msgid "failed to change ownership of %s from %s to %s\n" msgstr "impossible de modifier de l'appartenance de %s de %s en %s\n" #: src/chown-core.c:166 #, c-format msgid "failed to change group of %s from %s to %s\n" msgstr "impossible de modifier le groupe %s de %s en %s\n" #: src/chown-core.c:167 src/chown-core.c:173 #, c-format msgid "failed to change ownership of %s\n" msgstr "impossible de modifier l'appartenance de %s\n" #: src/chown-core.c:171 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "impossible de modifier l'appartenance de %s en %s\n" #: src/chown-core.c:172 #, c-format msgid "failed to change group of %s to %s\n" msgstr "impossible de modifier le groupe %s en %s\n" #: src/chown-core.c:180 #, c-format msgid "ownership of %s retained as %s\n" msgstr "l'appartenance de %s a été conservée en %s\n" #: src/chown-core.c:181 #, c-format msgid "group of %s retained as %s\n" msgstr "le groupe d'appartenance de %s retenu est %s\n" #: src/chown-core.c:182 #, c-format msgid "ownership of %s retained\n" msgstr "l'appartenance de %s a été retenue\n" #: src/chown-core.c:379 #, c-format msgid "cannot dereference %s" msgstr "impossible de déréférencer %s" #: src/chown-core.c:467 #, c-format msgid "changing ownership of %s" msgstr "modification du propriétaire de %s" #: src/chown-core.c:468 #, c-format msgid "changing group of %s" msgstr "modification du groupe de %s" #: src/chown.c:79 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" "Utilisation : %s [OPTION]... [OWNER][:GROUP] FILE...\n" " ou : %s [OPTION]... --reference=RFILE FILE...\n" #: src/chown.c:84 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" msgstr "" "Modifier le propriétaire ou le groupe de chaque FILE en OWNER ou GROUP.\n" "Avec --reference, modifier le propriétaire et le groupe de chaque FILE à\n" "ceux de RFILE.\n" "\n" #: src/chown.c:103 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute\n" msgstr "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " modifier le propriétaire ou le groupe de chaque " "fichier\n" " dont le propriétaire ou le groupe actuel " "correspondent\n" " à ceux indiqués. La correspondance n'est nécessaire " "que\n" " pour l'argument indiqué si l'autre est omis.\n" #: src/chown.c:114 msgid "" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" msgstr "" " --reference=RFILE utiliser les propriétaires et groupe de RFILE au " "lieu\n" " d'indiquer des valeurs OWNER:GROUP\n" #: src/chown.c:136 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a ':' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" "\n" "Le propriétaire n'est pas modifié s'il n'est pas indiqué. Le groupe n'est " "pas\n" "modifié sil n'est pas indiqué, mais modifié en groupe de connexion s'il est\n" "sous-entendu par un « : » suivant un OWNER (propriétaire) symbolique.\n" "Le OWNER et le GROUP peuvent être numériques ou symboliques.\n" #: src/chown.c:142 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" "\n" "Exemples :\n" " %s root /u Modifier le propriétaire de /u en « root ».\n" " %s root:staff /u Idem mais modifier aussi son groupe en « staff ».\n" " %s -hR root /u Modifier le propriétaire de /u et ses sous-fichiers\n" " en « root ».\n" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:34 msgid "Roland McGrath" msgstr "Roland McGrath" #: src/chroot.c:97 src/install.c:576 src/setuidgid.c:110 src/setuidgid.c:120 #, c-format msgid "invalid group %s" msgstr "groupe %s incorrect" #: src/chroot.c:109 #, c-format msgid "invalid group list %s" msgstr "liste de groupes %s incorrecte" #: src/chroot.c:117 #, c-format msgid "failed to set additional groups" msgstr "impossible de définir des groupes supplémentaires" #: src/chroot.c:132 #, c-format msgid "" "Usage: %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s [OPTION] NEWROOT [COMMAND [ARG]...]\n" " ou : %s OPTION\n" #: src/chroot.c:137 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" "Exécuter COMMAND avec le répertoire racine initialisé à NEWROOT.\n" "\n" #: src/chroot.c:142 msgid "" " --userspec=USER:GROUP specify user and group (ID or name) to use\n" " --groups=G_LIST specify supplementary groups as g1,g2,..,gN\n" msgstr "" " --userspec=USER:GROUP indiquer l'utilisateur et le groupe (ID ou nom) à\n" " utiliser\n" " --groups=G_LIST indiquer les groupes supplémentaires comme g1,g2,..," "gN\n" #: src/chroot.c:149 msgid "" "\n" "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i').\n" msgstr "" "\n" "Sans commande fournie, exécuter « ${SHELL} -i » (« /bin/sh -i » par " "défaut).\n" #: src/chroot.c:202 #, c-format msgid "cannot change root directory to %s" msgstr "impossible de modifier le répertoire racine en %s" #: src/chroot.c:206 #, c-format msgid "cannot chdir to root directory" msgstr "impossible d'aller dans le répertoire racine" #: src/chroot.c:247 #, c-format msgid "failed to set group-ID" msgstr "impossible de définir l'identifiant de groupe" #: src/chroot.c:253 #, c-format msgid "failed to set user-ID" msgstr "impossible de définir l'identifiant de l'utilisateur" #: src/chroot.c:275 src/nohup.c:236 src/setuidgid.c:212 src/stdbuf.c:365 #: src/timeout.c:454 #, c-format msgid "failed to run command %s" msgstr "impossible d'exécuter la commande %s" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "Q. Frank Xia" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "%s : fichier trop grand" #: src/cksum.c:263 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" "Utilisation : %s [FILE]...\n" " ou : %s [OPTION]\n" #: src/cksum.c:268 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" "Afficher la somme de contrôle CRC et le décompte d'octets de chaque FILE.\n" "\n" #: src/comm.c:103 src/join.c:187 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "Utilisation : %s [OPTION]... FILE1 FILE2\n" #: src/comm.c:107 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "Comparer les fichiers triés FILE1 et FILE2 ligne à ligne.\n" #: src/comm.c:110 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" "\n" "Sans option, l'affichage s'effectue sur trois colonnes. La première colonne\n" "contient les lignes uniques de FILE1, la deuxième contient les lignes " "uniques\n" "de FILE2 et la troisième contient les lignes communes aux deux fichiers.\n" #: src/comm.c:116 msgid "" "\n" " -1 suppress column 1 (lines unique to FILE1)\n" " -2 suppress column 2 (lines unique to FILE2)\n" " -3 suppress column 3 (lines that appear in both files)\n" msgstr "" "\n" " -1 supprimer la colonne 1 (lignes uniques de FILE1)\n" " -2 supprimer la colonne 2 (lignes uniques de FILE2)\n" " -3 supprimer la colonne 3 (lignes présentes dans les " "2 fichiers)\n" #: src/comm.c:122 msgid "" "\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" "\n" " --check-order vérifier que l'entrée est correctement triée, même\n" " si toutes les lignes en entrée sont appairées\n" " --nocheck-order ne pas vérifier que l'entrée est correctement triée\n" #: src/comm.c:128 msgid " --output-delimiter=STR separate columns with STR\n" msgstr " --output-delimiter=STR séparer les colonnes avec STR\n" #: src/comm.c:133 msgid "" "\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Remarque, les comparaisons respectent les règles définies par " "« LC_COLLATE ».\n" #: src/comm.c:137 #, c-format msgid "" "\n" "Examples:\n" " %s -12 file1 file2 Print only lines present in both file1 and file2.\n" " %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\n" msgstr "" "\n" "Exemples :\n" " %s -12 file1 file2 N'afficher que les lignes présentes dans file1 et " "file2.\n" " %s -3 file1 file2 Afficher les lignes de file1 qui ne sont pas dans " "file2,\n" " et vice versa.\n" #: src/comm.c:222 #, c-format msgid "file %d is not in sorted order" msgstr "le fichier %d n'est pas dans l'ordre attendu" #: src/comm.c:407 #, c-format msgid "multiple delimiters specified" msgstr "plusieurs délimiteurs indiqués" #: src/comm.c:411 #, c-format msgid "empty %s not allowed" msgstr "%s vide n'est pas autorisé" #: src/copy.c:168 src/dd.c:1617 src/dd.c:1984 src/du.c:1085 src/head.c:148 #: src/head.c:261 src/head.c:333 src/head.c:537 src/head.c:619 src/head.c:699 #: src/head.c:757 src/head.c:781 src/tail.c:411 src/tail.c:499 src/tail.c:548 #: src/tail.c:641 src/tail.c:769 src/tail.c:817 src/tail.c:854 src/tail.c:1782 #: src/tail.c:1812 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "erreur de lecture %s" #: src/copy.c:195 src/copy.c:346 src/copy.c:357 src/head.c:425 #, c-format msgid "cannot lseek %s" msgstr "impossible de se positionner (lseek) dans %s" #: src/copy.c:206 src/dd.c:2047 src/dd.c:2110 src/head.c:151 #, c-format msgid "error writing %s" msgstr "erreur d'écriture de %s" #: src/copy.c:313 #, c-format msgid "%s: failed to get extents info" msgstr "%s : impossible d'obtenir les informations d'extension" #: src/copy.c:373 #, c-format msgid "%s: write failed" msgstr "%s : échec d'écriture" #: src/copy.c:442 src/copy.c:1083 #, c-format msgid "failed to extend %s" msgstr "impossible d'étendre %s" #: src/copy.c:662 #, c-format msgid "clearing permissions for %s" msgstr "réinitialisation des permissions de %s" #: src/copy.c:697 src/copy.c:2480 src/cp.c:329 #, c-format msgid "failed to preserve ownership for %s" msgstr "impossible de préserver l'appartenance pour %s" #: src/copy.c:723 #, c-format msgid "failed to lookup file %s" msgstr "impossible de repérer le fichier %s" #: src/copy.c:728 #, c-format msgid "failed to preserve authorship for %s" msgstr "impossible de préserver l'auteur pour %s" #: src/copy.c:804 src/csplit.c:640 src/du.c:971 src/fmt.c:451 src/head.c:854 #: src/sort.c:4543 src/split.c:1342 src/tail.c:1756 src/wc.c:678 #, c-format msgid "cannot open %s for reading" msgstr "impossible d'ouvrir %s en lecture" #: src/copy.c:810 src/copy.c:972 src/dd.c:1554 src/dd.c:2122 src/dd.c:2261 #: src/tail.c:1592 src/tail.c:1658 src/truncate.c:140 #, c-format msgid "cannot fstat %s" msgstr "impossible d'obtenir l'état du fichier (fstat) %s" #: src/copy.c:820 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "le fichier %s est ignoré car il a été remplacé durant la copie" #: src/copy.c:850 #, c-format msgid "failed to get file system create context" msgstr "impossible d'obtenir le contexte de création du système de fichiers" #: src/copy.c:864 #, c-format msgid "failed to set the security context of %s to %s" msgstr "impossible de définir le contexte de sécurité de %s en %s" #: src/copy.c:881 src/copy.c:1579 src/copy.c:1782 src/copy.c:1940 src/ln.c:314 #: src/remove.c:263 src/remove.c:280 src/remove.c:405 src/remove.c:431 #, c-format msgid "cannot remove %s" msgstr "impossible de supprimer %s" #: src/copy.c:886 src/copy.c:1583 src/copy.c:1777 src/copy.c:1945 #: src/remove.c:375 #, c-format msgid "removed %s\n" msgstr "%s supprimé\n" #: src/copy.c:926 #, c-format msgid "not writing through dangling symlink %s" msgstr "pas d'écriture à travers le lien symbolique ballant %s" #: src/copy.c:964 #, c-format msgid "cannot create regular file %s" msgstr "impossible de créer le fichier standard %s" #: src/copy.c:985 #, c-format msgid "failed to clone %s from %s" msgstr "impossible de cloner %s depuis %s" #: src/copy.c:1098 src/copy.c:2541 #, c-format msgid "preserving times for %s" msgstr "préservation des dates pour %s" #: src/copy.c:1175 src/copy.c:1181 src/head.c:862 src/touch.c:172 #: src/truncate.c:417 #, c-format msgid "failed to close %s" msgstr "impossible de fermer %s" #: src/copy.c:1471 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "%s : voulez-vous écraser %s en outrepassant le mode %04lo (%s) ? " #: src/copy.c:1478 #, c-format msgid "%s: overwrite %s? " msgstr "%s : voulez-vous écraser %s ? " #: src/copy.c:1547 #, c-format msgid " (backup: %s)" msgstr " (archive : %s)" #: src/copy.c:1557 #, c-format msgid "failed to restore the default file creation context" msgstr "impossible de restaurer le contexte de création de fichier par défaut" #: src/copy.c:1589 #, c-format msgid "cannot create hard link %s to %s" msgstr "impossible de créer le lien direct %s vers %s" #: src/copy.c:1642 src/copy.c:1694 src/copy.c:2277 src/copy.c:2604 #: src/find-mount-point.c:84 src/install.c:678 src/realpath.c:145 #: src/stat.c:1239 src/truncate.c:363 #, c-format msgid "cannot stat %s" msgstr "impossible d'évaluer %s" #: src/copy.c:1650 #, c-format msgid "omitting directory %s" msgstr "omission du répertoire %s" #: src/copy.c:1664 #, c-format msgid "warning: source file %s specified more than once" msgstr "avertissement : le fichier source %s est mentionné plusieurs fois" #: src/copy.c:1712 src/ln.c:246 #, c-format msgid "%s and %s are the same file" msgstr "%s et %s identifient le même fichier" #: src/copy.c:1811 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "impossible d'écraser le non répertoire %s par le répertoire %s" #: src/copy.c:1829 src/ln.c:214 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "n'écrasera pas %s qui vient d'être créé par %s" #: src/copy.c:1847 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "impossible d'écraser le répertoire %s par un non répertoire" #: src/copy.c:1861 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "impossible de déplacer le répertoire dans un non répertoire : %s → %s" #: src/copy.c:1891 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "l'archivage de %s détruirait la source ; %s non déplacé" #: src/copy.c:1892 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "l'archivage de %s détruirait la source ; %s non copié" #: src/copy.c:1915 src/ln.c:276 #, c-format msgid "cannot backup %s" msgstr "impossible d'archiver %s" #: src/copy.c:1979 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" "ne copiera pas %s depuis le lien symbolique %s qui vient juste d'être créé" #: src/copy.c:2056 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "impossible de créer un répertoire (%s) dans lui-même (%s)" #: src/copy.c:2073 #, c-format msgid "will not create hard link %s to directory %s" msgstr "ne créera pas le lien direct %s vers le répertoire %s" #: src/copy.c:2123 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "impossible de déplacer %s vers un sous-répertoire de lui-même, %s" #: src/copy.c:2166 #, c-format msgid "cannot move %s to %s" msgstr "impossible de déplacer %s vers %s" #: src/copy.c:2178 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" "échec de déplacement interpériphérique de %s vers %s ; impossible de " "supprimer la cible" #: src/copy.c:2212 src/install.c:906 src/mkdir.c:188 src/mkfifo.c:113 #: src/mknod.c:166 #, c-format msgid "failed to set default file creation context to %s" msgstr "" "impossible de définir le contexte de création de fichier par défaut à %s" #: src/copy.c:2246 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "impossible de copier liens symboliques cycliques %s" #: src/copy.c:2355 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" "%s : ne peut créer des liens symboliques relatifs que dans le répertoire " "actuel" #: src/copy.c:2362 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "impossible de créer le lien symbolique %s vers %s" #: src/copy.c:2416 src/mkfifo.c:132 #, c-format msgid "cannot create fifo %s" msgstr "impossible de créer la FIFO %s" #: src/copy.c:2425 #, c-format msgid "cannot create special file %s" msgstr "impossible de créer le fichier spécial %s" #: src/copy.c:2436 src/ls.c:3185 src/stat.c:921 #, c-format msgid "cannot read symbolic link %s" msgstr "impossible de lire le lien symbolique %s" #: src/copy.c:2463 #, c-format msgid "cannot create symbolic link %s" msgstr "impossible de créer le lien symbolique %s" #: src/copy.c:2495 #, c-format msgid "%s has unknown file type" msgstr "%s possède un type de fichier inconnu" #: src/copy.c:2644 src/ln.c:358 #, c-format msgid "cannot un-backup %s" msgstr "impossible de désarchiver %s" #: src/copy.c:2648 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "%s → %s (désarchivage)\n" #: src/cp.c:156 src/mv.c:286 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" "Utilisation : %s [OPTION]... [-T] SOURCE DEST\n" " ou : %s [OPTION]... SOURCE... DIRECTORY\n" " ou : %s [OPTION]... -t DIRECTORY SOURCE...\n" #: src/cp.c:162 msgid "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" msgstr "Copier la SOURCE vers DEST, ou plusieurs SOURCEs vers DIRECTORY.\n" #: src/cp.c:168 msgid "" " -a, --archive same as -dR --preserve=all\n" " --attributes-only don't copy the file data, just the " "attributes\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" " -a, --archive identique à -dR --preserve=all\n" " --attributes-only ne pas copier les données du fichier, " "seulement\n" " les attributs\n" " --backup[=CONTROL] archiver chaque fichier de destination\n" " -b comme --backup mais n'accepte pas d'argument\n" " --copy-contents copier le contenu des fichiers spéciaux en " "mode\n" " récursif\n" " -d identique à --no-dereference --" "preserve=links\n" #: src/cp.c:177 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again (this " "option\n" " is ignored when the -n option is also " "used)\n" " -i, --interactive prompt before overwrite (overrides a previous " "-n\n" " option)\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" " -f, --force si un fichier de destination existe et ne " "peut\n" " être ouvert alors le supprimer et " "réessayer\n" " (cette option est ignorée si l'option -n " "est\n" " aussi utilisée)\n" " -i, --interactive demander confirmation avant d'écraser " "(surcharge\n" " une précédente option -n)\n" " -H suivre les liens symboliques de ligne de " "commande\n" " dans SOURCE\n" #: src/cp.c:186 msgid "" " -l, --link hard link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" " -l, --link lier les fichiers au lieu de les copier\n" " -L, --dereference toujours suivre les liens symboliques de " "SOURCE\n" #: src/cp.c:190 msgid "" " -n, --no-clobber do not overwrite an existing file (overrides\n" " a previous -i option)\n" " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" " -n, --no-clobber ne pas écraser de fichier existant (surchage " "une\n" " précédente option -i)\n" " -P, --no-deference ne jamais suivre les liens symboliques de " "SOURCE\n" #: src/cp.c:195 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, " "xattr,\n" " all\n" msgstr "" " -p identique à --preserve=mode,ownership," "timestamps\n" " --preserve[=ATTR_LIST] préserver les attributs indiqués (par défaut\n" " « mode,ownership,timestamps ») et si " "possible\n" " les attributs supplémentaires « context »,\n" " « links », « xattr » et « all »\n" #: src/cp.c:203 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" " --no-preserve=ATTR_LIST ne pas préserver les attributs spécifiques\n" " --parents utiliser le nom de fichier source complet " "dans\n" " DIRECTORY\n" #: src/cp.c:207 msgid "" " -R, -r, --recursive copy directories recursively\n" " --reflink[=WHEN] control clone/CoW copies. See below\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" " -R, -r, --recursive copier récursivement les répertoires\n" " --reflink[=WHEN] contrôler les copies clones/COW (Copy On " "Write)\n" " --remove-destination supprimer chaque fichier de destination " "existant\n" " avant d'essayer de l'ouvrir (par opposition " "à\n" " --force)\n" #: src/cp.c:213 msgid "" " --sparse=WHEN control creation of sparse files. See below\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" " --sparse=WHEN contrôler la création des fichiers dispersés\n" " --strip-trailing-slashes enlever les « / » de terminaison de chaque\n" " argument SOURCE\n" #: src/cp.c:218 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" " -s, --symbolic-link créer des liens symboliques au lieu d'une " "copie\n" " -S, --suffix=SUFFIX écraser le suffixe habituel d'archivage\n" " --target-directory=DIRECTORY copier tous les arguments SOURCE dans\n" " DIRECTORY\n" " -T, --no-target-directory traiter DEST comme un fichier normal\n" #: src/cp.c:224 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" " -u, --update ne copier que quand le fichier SOURCE est " "plus\n" " récent que le fichier de destination ou " "quand\n" " le fichier de destination est manquant\n" " -v, --verbose expliquer ce qui est fait\n" " -x, --one-file-system rester sur ce système de fichiers\n" #: src/cp.c:233 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" "When --reflink[=always] is specified, perform a lightweight copy, where the\n" "data blocks are copied only when modified. If this is not possible the " "copy\n" "fails, or if --reflink=auto is specified, fall back to a standard copy.\n" msgstr "" "\n" "Par défaut, les fichiers SOURCE dispersés sont détectés par à l'aide d'une\n" "heuristique grossière et le fichier DEST correspondant est aussi construit " "de\n" "façon dispersée. C'est le comportement sélectionné par --sparse=auto. " "Indiquez\n" "--sparse=always pour créer un fichier DEST dispersé lorsque le fichier " "SOURCE\n" "contient une assez longue séquence d'octets nuls.\n" "Utilisez --sparse=never pour inhiber la création de fichiers dispersés.\n" "\n" "Si --reflink[=always] est indiquée, réaliser une copie légère, où les blocs " "de\n" "données ne sont copiés que si modifiés. Si c'est impossible, la copie " "échoue,\n" "ou, si --reflink=auto est indiqué, elle se rabat sur une copie classique.\n" #: src/cp.c:245 src/install.c:649 src/ln.c:420 src/mv.c:322 msgid "" "\n" "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" "\n" "Le suffixe d'archive est « ~ », sauf s'il est définit autrement avec --" "suffix ou\n" "SIMPLE_BACKUP_SUFFIX. La méthode du contrôle de version peut être " "sélectionnée\n" "par l'option --backup ou par la variable d'environnement VERSION_CONTROL.\n" "Les valeurs possibles sont les suivantes :\n" "\n" #: src/cp.c:252 src/install.c:656 src/ln.c:427 src/mv.c:329 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" " none, off ne jamais archiver (même si --backup est utilisée)\n" " numbered, t effectuer des archives numérotées\n" " existing, nil numéroter si des archives numérotées existent déjà, se\n" " comporter comme « simple » dans le cas contraire\n" " simple, never effectuer toujours des archives simples\n" #: src/cp.c:258 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" "\n" "cp réalise une archive de SOURCE dans le cas particulier où les options\n" "« force » et « backup » sont utilisées et que SOURCE et DEST portent le\n" "même nom qu'un fichier normal existant.\n" #: src/cp.c:317 #, c-format msgid "failed to preserve times for %s" msgstr "échec de préservation des dates pour %s" #: src/cp.c:348 #, c-format msgid "failed to preserve permissions for %s" msgstr "échec de préservation des permissions de %s" #: src/cp.c:475 #, c-format msgid "cannot make directory %s" msgstr "impossible de créer le répertoire %s" #: src/cp.c:524 src/cp.c:543 #, c-format msgid "%s exists but is not a directory" msgstr "%s existe mais n'est pas un répertoire" #: src/cp.c:570 src/cp.c:1069 src/install.c:402 src/install.c:844 src/ln.c:123 #: src/ln.c:181 src/ln.c:202 src/ln.c:515 src/mv.c:154 src/mv.c:400 #, c-format msgid "failed to access %s" msgstr "impossible d'accéder à %s" #: src/cp.c:590 src/install.c:915 src/ln.c:546 src/mv.c:434 src/shred.c:1181 #: src/touch.c:429 src/truncate.c:354 #, c-format msgid "missing file operand" msgstr "opérande de fichier manquant" #: src/cp.c:592 src/install.c:917 src/ln.c:560 src/mv.c:436 #, c-format msgid "missing destination file operand after %s" msgstr "opérande de fichier cible manquant après %s" #: src/cp.c:601 src/install.c:926 src/mv.c:445 #, c-format msgid "cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" "impossible de combiner --target-directory (-t) et --no-target-directory (-T)" #: src/cp.c:617 src/cp.c:1072 src/install.c:404 src/install.c:847 #: src/install.c:939 src/ln.c:125 src/ln.c:518 src/ln.c:574 src/mv.c:403 #: src/mv.c:459 #, c-format msgid "target %s is not a directory" msgstr "la cible %s n'est pas un répertoire" #: src/cp.c:728 #, c-format msgid "with --parents, the destination must be a directory" msgstr "avec --parents, la destination doit être un répertoire" #: src/cp.c:1064 src/install.c:839 src/ln.c:510 src/mv.c:395 #, c-format msgid "multiple target directories specified" msgstr "plusieurs répertoires cibles indiqués" #: src/cp.c:1110 #, c-format msgid "cannot make both hard and symbolic links" msgstr "impossible de créer un lien à la fois symbolique et direct" #: src/cp.c:1117 src/mv.c:466 #, c-format msgid "options --backup and --no-clobber are mutually exclusive" msgstr "les options --backup et --no-clobber sont mutuellement exclusives" #: src/cp.c:1123 #, c-format msgid "--reflink can be used only with --sparse=auto" msgstr "--reflink ne peut être utilisé qu'avec --sparse=auto" #: src/cp.c:1131 src/install.c:900 src/ln.c:582 src/mv.c:474 msgid "backup type" msgstr "type d'archive" #: src/cp.c:1156 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" "impossible de préserver le contexte de sécurité en dehors d'un noyau SELinux" #: src/cp.c:1162 #, c-format msgid "cannot preserve extended attributes, cp is built without xattr support" msgstr "" "impossible de préserver les attributs étendus, cp est compilé sans prise en " "charge xattr" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:41 src/dd.c:46 msgid "Stuart Kemp" msgstr "Stuart Kemp" #: src/csplit.c:531 #, c-format msgid "input disappeared" msgstr "l'entrée a disparu" #: src/csplit.c:660 src/csplit.c:671 #, c-format msgid "%s: line number out of range" msgstr "%s : numéro de ligne hors limite" #: src/csplit.c:700 #, c-format msgid "%s: %s: line number out of range" msgstr "%s : %s : numéro de ligne hors limite" #: src/csplit.c:703 src/csplit.c:752 #, c-format msgid " on repetition %s\n" msgstr " par répétition %s\n" #: src/csplit.c:746 #, c-format msgid "%s: %s: match not found" msgstr "%s : %s : pas de correspondance" #: src/csplit.c:810 src/csplit.c:850 src/nl.c:351 src/tac.c:273 #, c-format msgid "error in regular expression search" msgstr "erreur dans la recherche de l'expression rationnelle" #: src/csplit.c:983 #, c-format msgid "write error for %s" msgstr "erreur d'écriture pour %s" #: src/csplit.c:1059 #, c-format msgid "%s: integer expected after delimiter" msgstr "%s : entier attendu après le délimiteur" #: src/csplit.c:1075 #, c-format msgid "%s: '}' is required in repeat count" msgstr "%s : « } » est nécessaire pour un compteur de répétition" #: src/csplit.c:1085 #, c-format msgid "%s}: integer required between '{' and '}'" msgstr "%s} : entier nécessaire entre « { » et « } »" #: src/csplit.c:1112 #, c-format msgid "%s: closing delimiter '%c' missing" msgstr "%s : délimiteur de fermeture « %c » manquant" #: src/csplit.c:1129 #, c-format msgid "%s: invalid regular expression: %s" msgstr "%s : expression rationnelle incorrecte : %s" #: src/csplit.c:1162 #, c-format msgid "%s: invalid pattern" msgstr "%s : motif incorrect" #: src/csplit.c:1165 #, c-format msgid "%s: line number must be greater than zero" msgstr "%s : le numéro de ligne doit être plus grand que zéro" #: src/csplit.c:1171 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" "le numéro de ligne %s est plus petit que le numéro de ligne précédent, %s" #: src/csplit.c:1177 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" "avertissement, le numéro de ligne %s est le même que le numéro de ligne " "précédent" #: src/csplit.c:1255 #, c-format msgid "missing conversion specifier in suffix" msgstr "symbole de conversion manquant dans le suffixe" #: src/csplit.c:1261 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "le symbole de conversion %c est incorrect dans le suffixe" #: src/csplit.c:1264 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "le symbole de conversion \\%.3o est incorrect dans le suffixe" #: src/csplit.c:1269 #, c-format msgid "invalid flags in conversion specification: %%%c%c" msgstr "attributs de spécification de conversion incorrects : %%%c%c" #: src/csplit.c:1286 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "trop de spécifications de conversion %% dans le suffixe" #: src/csplit.c:1300 #, c-format msgid "missing %% conversion specification in suffix" msgstr "la spécification de conversion %% est manquante dans le suffixe" #: src/csplit.c:1347 #, c-format msgid "%s: invalid number" msgstr "%s : nombre incorrect" #: src/csplit.c:1451 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "Utilisation : %s [OPTION]... FILE PATTERN...\n" #: src/csplit.c:1455 msgid "" "Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n" "and output byte counts of each piece to standard output.\n" msgstr "" "Extraire des morceaux de FILE séparés par un ou des PATTERNs vers les " "fichiers\n" "« xx01 », « xx02 », etc. ainsi que le taille en octet de chaque séquence " "vers\n" "la sortie standard.\n" #: src/csplit.c:1462 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of 'xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" " -b, --suffix-format=FORMAT utiliser le FORMAT sprintf au lieu de %02d\n" " -f, --prefix=PREFIX utiliser PREFIX au lieu de « xx »\n" " -k, --keep-files ne pas supprimer les fichiers de sortie en cas\n" " d'erreurs\n" #: src/csplit.c:1467 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" " -n, --digits=DIGITS utiliser DIGITS chiffres au lieu de 2\n" " -s, --quiet, --silent ne pas afficher la taille des fichiers de " "sortie\n" " -z, --elide-empty-files supprimer les fichiers de sortie vides\n" #: src/csplit.c:1474 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" "\n" "Lire l'entrée standard si le FILE est -. Chaque PATTERN peut être :\n" #: src/csplit.c:1478 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required '+' or '-' followed by a positive integer.\n" msgstr "" "\n" " INTEGER copier jusqu'à, sans inclure le nombre de lignes " "indiqué\n" " /REGEXP/[OFFSET] copier jusqu'à, sans inclure une ligne correspondante\n" " %%REGEXP%%[OFFSET] ignorer jusqu'à, sans inclure une ligne correspondante\n" " {INTEGER} répéter le motif précédent le nombre de fois indiqué\n" " {*} répéter le motif précédent autant que possible\n" "\n" "Une ligne OFFSET nécessite un « + » ou un « - » suivi d'un entier positif.\n" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:44 src/paste.c:52 msgid "David M. Ihnat" msgstr "David M. Ihnat" #: src/cut.c:64 src/cut.c:372 msgid "fields and positions are numbered from 1" msgstr "champs et positions sont numérotés à partir de 1" #: src/cut.c:189 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "Utilisation : %s [OPTION]... [FILE]...\n" #: src/cut.c:193 msgid "Print selected parts of lines from each FILE to standard output.\n" msgstr "" "Afficher des extraits de lignes de chaque FILE vers la sortie standard.\n" #: src/cut.c:199 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" " -b, --bytes=LIST ne sélectionner que ces octets\n" " -c, --characters=LIST ne sélectionner que ces caractères\n" " -d, --delimiter=DELIM utiliser DELIM au lieu de TAB comme délimiteur\n" " de champ\n" #: src/cut.c:204 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" " -f, --fields=LIST ne sélectionner que ces champs ; afficher aussi " "toutes\n" " les lignes qui ne contiennent pas de caractère\n" " délimiteur, à moins que l'option -s soit " "indiquée\n" " -n (ignoré)\n" #: src/cut.c:210 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields\n" msgstr "" " --complement compléter le jeu d'octets, caractères ou champs\n" " sélectionnés\n" #: src/cut.c:214 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" " -s, --only-delimited ne pas afficher les lignes sans délimiteurs\n" " --output-delimiter=STRING utiliser STRING comme délimiteur de sortie\n" " le délimiteur d'entrée est utilisé par défaut\n" #: src/cut.c:221 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" "\n" "Utilisez une, et seulement une parmi -b, -c ou -f. Chaque LIST est faite " "d'un\n" "ou de plusieurs intervalles séparés par des virgules. L'entrée sélectionnée\n" "est écrite dans le même ordre qu'elle est lue, et écrite une seule fois.\n" #: src/cut.c:227 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Chaque intervalle est l'un de :\n" "\n" " N Nième octet, caractère ou champ, compté à partir de 1\n" " N- du Nième octet, caractère ou champ jusqu'à la fin de la ligne\n" " N-M du Nième au Mième octets (inclus), caractère ou champ\n" " -M du premier au Mième octets (inclus), caractère ou champ\n" "\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/cut.c:367 src/cut.c:493 msgid "invalid byte, character or field list" msgstr "octet, caractère ou liste de champs incorrects" #: src/cut.c:387 msgid "invalid range with no endpoint: -" msgstr "intervalle incorrect sans limite de fin : -" #: src/cut.c:403 msgid "invalid decreasing range" msgstr "intervalle décroissant incorrect" #: src/cut.c:482 #, c-format msgid "byte offset %s is too large" msgstr "le décalage d'octet %s est trop grand" #: src/cut.c:485 #, c-format msgid "field number %s is too large" msgstr "le numéro de champ %s est trop grand" #: src/cut.c:795 src/cut.c:803 msgid "only one type of list may be specified" msgstr "un seul type de liste peut être indiqué" #: src/cut.c:812 src/numfmt.c:1408 #, c-format msgid "the delimiter must be a single character" msgstr "le délimiteur doit être un seul caractère" #: src/cut.c:847 msgid "you must specify a list of bytes, characters, or fields" msgstr "une liste d'octets, de caractères ou de champs doit être indiquée" #: src/cut.c:850 msgid "an input delimiter may be specified only when operating on fields" msgstr "" "un délimiteur ne peut être indiqué que lorsque des champs sont manipulés" #: src/cut.c:854 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" "la suppression des lignes non délimitées n'est permise\n" "\tque lorsque des champs sont manipulés." #: src/cut.c:870 msgid "missing list of fields" msgstr "liste des champs manquante" #: src/cut.c:872 msgid "missing list of positions" msgstr "liste des positions manquante" #: src/date.c:123 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" "Utilisation : %s [OPTION]... [+FORMAT]\n" " ou : %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #: src/date.c:128 msgid "Display the current time in the given FORMAT, or set the system date.\n" msgstr "" "Afficher la date actuelle au FORMAT indiqué ou initialiser la date système.\n" #: src/date.c:134 msgid "" " -d, --date=STRING display time described by STRING, not 'now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n" " TIMESPEC='date' for date only (the default),\n" " 'hours', 'minutes', 'seconds', or 'ns' for date\n" " and time to the indicated precision.\n" msgstr "" " -d, --date=STRING afficher la date indiqué par STRING, pas " "l'actuelle\n" " -f, --file=DATEFILE identique à --date pour chaque ligne de " "DATEFILE\n" " -I[TIMESPEC], --iso-8601[=TIMESPEC] afficher la date et l'heure au " "format\n" " ISO 8601. TIMESPEC est « date » pour la date " "seule\n" " (par défaut), « hours », « minutes », " "« seconds » ou\n" " « ns » pour indiquer la précision des date et " "heure.\n" #: src/date.c:142 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" " -r, --reference=FILE afficher la dernière date de modification de " "FILE\n" " -R, --rfc-2822 afficher la date et l'heure au format RFC 2822.\n" " Exemple : Mon, 07 Aug 2006 12:34:56 -0600\n" #: src/date.c:147 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC='date', 'seconds', or 'ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" " --rfc-3339=TIMESPEC afficher la date et l'heure au format RFC 3339.\n" " TIMESPEC est « date » pour la date seule par " "défaut),\n" " « hours », « minutes », « seconds » ou « ns » " "pour\n" " indiquer la précision de date et heure.\n" " Les éléments de date et d'heure sont séparés par\n" " une seule espace : 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING initialiser la date selon STRING\n" " -u, --utc, --universal afficher ou initialiser au système de temps " "universel\n" #: src/date.c:158 msgid "" "\n" "FORMAT controls the output. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" "\n" "FORMAT contrôle l'affichage. Les séquences interprétées sont :\n" "\n" " %% un caractère %\n" " %a nom abrégé localisé du jour de la semaine (par exemple dim.)\n" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" " %A nom complet localisé du jour de la semaine (par exemple dimanche)\n" " %b nom abrégé localisé du mois (par exemple janv.)\n" " %B nom complet localisé du mois (par exemple janvier)\n" " %c date et heure localisées (par exemple jeu. 03 mars 2005 23:05:25 " "CET)\n" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 20)\n" " %d day of month (e.g., 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" " %C siècle, comme %Y, sans les deux derniers chiffres (par exemple 20)\n" " %d jour du mois (par exemple 01)\n" " %D date, identique à %m/%d/%y\n" " %e jour du mois, éventuellement complété par une espace, identique à " "%_d\n" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" " %F date complète, identique à %Y-%m-%d\n" " %g deux derniers chiffres de l'année du numéro de semaine ISO (voir %G)\n" " %G année correspondant au numéro de semaine ISO (voir %V) ; normalement\n" " seulement utile avec %V\n" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" " %h identique à %b\n" " %H heure (00..23)\n" " %I heure (01..12)\n" " %j jour de l'année (001..366)\n" #: src/date.c:188 msgid "" " %k hour, space padded ( 0..23); same as %_H\n" " %l hour, space padded ( 1..12); same as %_I\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" " %k heure avec espace ( 0..23), identique à %_H\n" " %l heure avec espace ( 1..12), identique à %_I\n" " %m mois (01..12)\n" " %M minute (00..59)\n" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" " %n un changement de ligne\n" " %N nanosecondes (000000000..999999999)\n" " %p indicateur localisé AM ou PM en majuscules (blanc si inconnu)\n" " %P identique à %p mais en minuscules\n" " %r heure locale au format 12 heures (par exemple 11:11:01 PM)\n" " %R heure en format 24 heures identique à %H:%M\n" " %s secondes depuis 1970-01-01 00:00:00 UTC\n" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" " %S secondes (00..60)\n" " %t une tabulation\n" " %T l'heure, identique à %H:%M:%S\n" " %u jour de la semaine (1..7) ; 1 représente le lundi\n" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" " %U numéro de la semaine de l'année, avec dimanche en premier jour de la\n" " semaine (00..53)\n" " %V numéro de la semaine ISO, avec lundi en premier jour de la semaine\n" " %w jour de la semaine (0..6), 0 représente le dimanche\n" " %W numéro de la semaine, avec lundi en premier jour de la semaine " "(00..53)\n" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" " %x représentation localisée de la date (par exemple 12/31/99)\n" " %X représentation localisée de l'heure (par exemple 23:13:48)\n" " %y deux derniers chiffres de l'année (00..99)\n" " %Y année\n" #: src/date.c:221 msgid "" " %z +hhmm numeric time zone (e.g., -0400)\n" " %:z +hh:mm numeric time zone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" " %z fuseau horaire numérique +hhmm (par exemple -0400)\n" " %:z fuseau horaire numérique +hh:mm (par exemple -04:00)\n" " %::z fuseau horaire numérique +hh:mm:ss (par exemple -04:00:00)\n" " %:::z fuseau horaire numérique utilisant « : » pour la précision\n" " (par exemple -04, +05:30)\n" " %Z abréviation alphabétique des fuseaux horaires (par exemple EDT)\n" "\n" "Par défaut, les champs de date numériques sont remplis par des zéros.\n" #: src/date.c:230 msgid "" "The following optional flags may follow '%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" "Les attributs optionnels suivants peuvent suivre « % » :\n" "\n" " - (trait d'union) ne pas remplir le champ\n" " _ (tiret bas) remplir avec des espaces\n" " 0 (zéro) remplir avec des zéros\n" " ^ utiliser des majuscules si possible\n" " # utiliser la casse opposée si possible\n" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" "\n" "Chaque attribut est suivi d'un champ optionnel de largeur, sous la forme\n" "d'un nombre décimal puis d'un éventuel modificateur suivant :\n" "E pour utiliser la représentation localisée alternative si disponible, ou\n" "O pour utiliser la représentation localisée alternative de symboles " "numériques\n" "si disponible.\n" #: src/date.c:246 msgid "" "\n" "Examples:\n" "Convert seconds since the epoch (1970-01-01 UTC) to a date\n" " $ date --date='@2147483647'\n" "\n" "Show the time on the west coast of the US (use tzselect(1) to find TZ)\n" " $ TZ='America/Los_Angeles' date\n" "\n" "Show the local time for 9AM next Friday on the west coast of the US\n" " $ date --date='TZ=\"America/Los_Angeles\" 09:00 next Fri'\n" msgstr "" "\n" "Exemples :\n" "Convertir les secondes depuis Epoch (1970-01-01 UTC) en une date :\n" " $ date --date='@2147483647'\n" "\n" "Afficher l'heure en Martinique (utilisez tzselect(1)) pour trouver TZ) :\n" " $ TZ='America/Martinique' date\n" "\n" "Afficher l'heure locale pour 9 h du matin, vendredi prochain en " "Martinique :\n" " $ date --date='TZ=\"America/Martinique\" 09:00 next Fri'\n" #: src/date.c:279 src/dd.c:2201 src/head.c:845 src/md5sum.c:498 #: src/md5sum.c:862 src/od.c:869 src/od.c:1920 src/pr.c:1172 src/pr.c:1362 #: src/pr.c:1484 src/stty.c:851 src/tac.c:562 src/tail.c:342 src/tee.c:126 #: src/tr.c:1945 src/tsort.c:530 src/wc.c:196 #, c-format msgid "standard input" msgstr "entrée standard" #: src/date.c:307 src/date.c:527 #, c-format msgid "invalid date %s" msgstr "date incorrecte %s" #: src/date.c:418 src/date.c:452 #, c-format msgid "multiple output formats specified" msgstr "plusieurs formats de fichiers de sortie indiqués" #: src/date.c:430 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" "les options pour indiquer les dates d'impression sont mutuellement exclusives" #: src/date.c:437 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" "les options pour afficher et définir la date ne peuvent être utilisées " "ensemble" #: src/date.c:458 #, c-format msgid "" "the argument %s lacks a leading '+';\n" "when using an option to specify date(s), any non-option\n" "argument must be a format string beginning with '+'" msgstr "" "l'argument %s n'est pas précédé du préfixe « + ».\n" "En utilisant une option d'indication de date, tous les arguments qui ne sont " "pas\n" "des options reconnues doivent être des chaînes de formatage commençant par " "« + »" #: src/date.c:535 #, c-format msgid "cannot set date" msgstr "impossible d'initialiser la date" #: src/date.c:558 src/du.c:371 #, c-format msgid "time %s is out of range" msgstr "heure %s hors limite" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:109 src/rm.c:41 src/tail.c:69 src/touch.c:41 #: src/wc.c:50 msgid "Paul Rubin" msgstr "Paul Rubin" #: src/dd.c:521 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s [OPERAND]...\n" " ou : %s OPTION\n" #: src/dd.c:526 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES read and write up to BYTES bytes at a time\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=N copy only N input blocks\n" " ibs=BYTES read up to BYTES bytes at a time (default: 512)\n" msgstr "" "Copie un fichier en le convertissant et le formatant selon les opérandes.\n" "\n" " bs=BYTES lire et écrire jusqu'à BYTES octets à la fois\n" " cbs=BYTES convertir BYTES octets à la fois\n" " conv=CONVS convertir le fichier en liste de symboles séparés de " "virgules\n" " count=N ne copier que N blocs d'entrée\n" " ibs=BYTES lire jusqu'à BYTES octets à la fois (512 par défaut)\n" #: src/dd.c:535 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time (default: 512)\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=N skip N obs-sized blocks at start of output\n" " skip=N skip N ibs-sized blocks at start of input\n" " status=WHICH WHICH info to suppress outputting to stderr;\n" " 'noxfer' suppresses transfer stats, 'none' suppresses all\n" msgstr "" " if=FILE lire FILE au lieu de l'entrée standard (stdin)\n" " iflag=FLAGS lire selon la liste de symboles séparés par des virgules\n" " obs=BYTES écrire BYTES octets à la fois (512 par défaut)\n" " of=FILE écrire dans FILE au lieu de la sortie standard (stdout)\n" " oflag=FLAGS écrire selon la liste de symboles séparés par des " "virgules\n" " seek=N se déplacer de N blocs de taille « obs » au début de la " "sortie\n" " skip=N ignorer N blocs de taille « ibs » au début de l'entrée\n" " status=WHICH les renseignements WHICH à supprimer de la sortie " "d'erreur\n" " standard : « noxfer » supprime les statistiques de " "transfert\n" " et « none » supprime tout\n" #: src/dd.c:546 msgid "" "\n" "N and BYTES may be followed by the following multiplicative suffixes:\n" "c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M\n" "GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "N et BYTES peuvent être suivis des suffixes multiplicatifs suivants :\n" "c = 1, w = 2, b = 512, kB = 1000, K = 1024, MB = 1000*1000, M = 1024*1024,\n" "xM = M, GB = 1000*1000*1000, G = 1024*1024*1024 et ainsi de suite pour\n" "T, P, E, Z et Y.\n" "\n" "Chaque symbole CONV peut être :\n" "\n" #: src/dd.c:555 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" " ucase change lower case to upper case\n" " sparse try to seek rather than write the output for NUL input blocks\n" " swab swap every pair of input bytes\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" msgstr "" " ascii de l'EBCDIC vers l'ASCII\n" " ebcdic de l'ASCII vers l'EBCDIC\n" " ibm de l'ASCII vers l'EBCDIC alternatif\n" " block remplir les enregistrements terminés par une nouvelle ligne par " "des\n" " espaces jusqu'à la taille « cbs »\n" " unblock remplacer les espaces en fin d'enregistrements de taille « cbs » " "par\n" " une nouvelle ligne\n" " lcase transformer les majuscules en minuscules\n" " ucase transformer les minuscules en majuscules\n" " sparse essayer de chercher plutôt qu'écrire la sortie pour les blocs\n" " d'entrée NUL\n" " swab inverser chaque paire d'octets en entrée\n" " sync remplir chaque bloc lu avec des NUL jusqu'à la taille « ibs » ; " "avec\n" " « block » ou « unblock », remplir avec des espaces au lieu de " "NUL\n" "\n" #: src/dd.c:568 msgid "" " excl fail if the output file already exists\n" " nocreat do not create the output file\n" " notrunc do not truncate the output file\n" " noerror continue after read errors\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " excl échouer si le fichier de sortie existe déjà\n" " nocreat ne pas créer le fichier de sortie\n" " notrunc ne pas tronquer le fichier de sortie\n" " noerror continuer même après des erreurs de lecture\n" " fdatasync écrire physiquement les données en sortie avant la fin\n" " fsync identique, mais écrire aussi les métadonnées\n" #: src/dd.c:576 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Chaque symbole FLAG peut être :\n" "\n" " append mode d'ajout (n'a de sens que pour la sortie ; conv=notrunc " "suggéré)\n" #: src/dd.c:583 msgid " cio use concurrent I/O for data\n" msgstr " cio utiliser des E/S simultanées pour les données\n" #: src/dd.c:585 msgid " direct use direct I/O for data\n" msgstr " direct utiliser des E/S directes pour les données\n" #: src/dd.c:587 msgid " directory fail unless a directory\n" msgstr " directory échouer sauf s'il s'agit d'un répertoire\n" #: src/dd.c:589 msgid " dsync use synchronized I/O for data\n" msgstr " dsync utiliser des E/S synchronisées pour les données\n" #: src/dd.c:591 msgid " sync likewise, but also for metadata\n" msgstr " sync identique mais aussi pour les métadonnées\n" #: src/dd.c:592 msgid " fullblock accumulate full blocks of input (iflag only)\n" msgstr " fullblock accumuler des blocs pleins en entrée (uniquement iflag)\n" #: src/dd.c:595 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock utiliser des E/S non bloquantes\n" #: src/dd.c:597 msgid " noatime do not update access time\n" msgstr " noatime ne pas mettre à jour la date d'accès\n" #: src/dd.c:600 msgid " nocache discard cached data\n" msgstr " nocache abandonner les données en cache\n" #: src/dd.c:603 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ne pas assigner de terminal contrôleur depuis le fichier\n" #: src/dd.c:606 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne pas suivre les liens symboliques\n" #: src/dd.c:608 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks échouer en cas de liens multiples\n" #: src/dd.c:610 msgid " binary use binary I/O for data\n" msgstr " binary utiliser des E/S binaires pour les données\n" #: src/dd.c:612 msgid " text use text I/O for data\n" msgstr " text utiliser des E/S textuelles pour les données\n" #: src/dd.c:614 msgid " count_bytes treat 'count=N' as a byte count (iflag only)\n" msgstr "" " count_bytes traiter « count=N » comme un décompte d'octets (seulement " "iflag)\n" #: src/dd.c:617 msgid " skip_bytes treat 'skip=N' as a byte count (iflag only)\n" msgstr "" " skip_bytes traiter « skip=N » comme un décompte d'octets (seulement " "iflag)\n" #: src/dd.c:620 msgid " seek_bytes treat 'seek=N' as a byte count (oflag only)\n" msgstr "" " seek_bytes traiter « seek=N » comme un décompte d'octets (seulement " "oflag)\n" #: src/dd.c:625 #, c-format msgid "" "\n" "Sending a %s signal to a running 'dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "L'envoi du signal %s au processus « dd » actif provoque l'écriture de\n" "statistiques sur la sortie d'erreur standard suivie de la reprise de la " "copie.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 enregistrements lus\n" " 18335302+0 enregistrements écrits\n" " 9387674624 octets (9.4 GB) copiés, 34.6279 s, 271 MB/s\n" "\n" "Les options sont :\n" #: src/dd.c:683 #, c-format msgid "" "%<PRIuMAX>+%<PRIuMAX> records in\n" "%<PRIuMAX>+%<PRIuMAX> records out\n" msgstr "" "%<PRIuMAX>+%<PRIuMAX> enregistrements lus\n" "%<PRIuMAX>+%<PRIuMAX> enregistrements écrits\n" #: src/dd.c:689 #, c-format msgid "%<PRIuMAX> truncated record\n" msgid_plural "%<PRIuMAX> truncated records\n" msgstr[0] "%<PRIuMAX> enregistrement tronqué\n" msgstr[1] "%<PRIuMAX> enregistrements tronqués\n" #: src/dd.c:701 #, c-format msgid "%<PRIuMAX> byte (%s) copied" msgid_plural "%<PRIuMAX> bytes (%s) copied" msgstr[0] "%<PRIuMAX> octet (%s) copié" msgstr[1] "%<PRIuMAX> octets (%s) copiés" #: src/dd.c:720 msgid "Infinity B" msgstr "Infinité B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:733 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dd.c:812 #, c-format msgid "closing input file %s" msgstr "fermeture du fichier d'entrée %s" #: src/dd.c:819 #, c-format msgid "closing output file %s" msgstr "fermeture du fichier de sortie %s" #: src/dd.c:1022 #, c-format msgid "failed to turn off O_DIRECT: %s" msgstr "impossible de désactiver O_DIRECT : %s" #: src/dd.c:1093 src/dd.c:1942 #, c-format msgid "writing to %s" msgstr "écriture vers %s" #: src/dd.c:1207 src/dd.c:1261 #, c-format msgid "unrecognized operand %s" msgstr "opérande %s non reconnu" #: src/dd.c:1218 msgid "invalid conversion" msgstr "conversion incorrecte" #: src/dd.c:1221 src/dd.c:1297 msgid "invalid input flag" msgstr "attribut d'entrée incorrect" #: src/dd.c:1224 src/dd.c:1291 src/dd.c:1303 msgid "invalid output flag" msgstr "attribut de sortie incorrect" #: src/dd.c:1227 msgid "invalid status flag" msgstr "attribut d'état incorrect" #: src/dd.c:1266 src/truncate.c:310 #, c-format msgid "invalid number %s" msgstr "nombre %s incorrect" #: src/dd.c:1348 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "impossible de combiner deux options parmi ascii, ebcdic et ibm" #: src/dd.c:1350 #, c-format msgid "cannot combine block and unblock" msgstr "impossible de combiner block et unblock" #: src/dd.c:1352 #, c-format msgid "cannot combine lcase and ucase" msgstr "impossible de combiner lcase et ucase" #: src/dd.c:1354 #, c-format msgid "cannot combine excl and nocreat" msgstr "impossible de combiner excl et nocreat" #: src/dd.c:1357 #, c-format msgid "cannot combine direct and nocache" msgstr "impossible de combiner direct et nocache" #: src/dd.c:1514 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types" msgstr "" "Avertissement : contournement d'une anomalie de lseek présente dans le " "noyau\n" " pour le fichier (%s) de type mt_type=0x%0lx\n" " — consultez <sys/mtio.h> pour la liste des types" #: src/dd.c:1601 #, c-format msgid "%s: cannot skip" msgstr "%s : impossible d'ignorer" #: src/dd.c:1603 src/dd.c:1622 src/dd.c:1683 #, c-format msgid "%s: cannot seek" msgstr "%s : impossible de se déplacer" #: src/dd.c:1663 #, c-format msgid "offset overflow while reading file %s" msgstr "débordement du décalage à la lecture du fichier %s" #: src/dd.c:1675 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" "avertissement : décalage de fichier incorrect suite à un échec de lecture" #: src/dd.c:1679 #, c-format msgid "cannot work around kernel bug after all" msgstr "impossible de contourner une anomalie du noyau finalement" #: src/dd.c:1822 #, c-format msgid "setting flags for %s" msgstr "initialisation des attributs pour %s" #: src/dd.c:1875 #, c-format msgid "memory exhausted by input buffer of size %zu bytes (%s)" msgstr "impossible d'allouer un tampon d'entrée de %zu octets (%s)" #: src/dd.c:1889 #, c-format msgid "memory exhausted by output buffer of size %zu bytes (%s)" msgstr "impossible d'allouer un tampon de sortie de %zu octets (%s)" #: src/dd.c:1922 #, c-format msgid "%s: cannot skip to specified offset" msgstr "%s : impossible d'ignorer jusqu'au décalage indiqué" #: src/dd.c:2133 #, c-format msgid "failed to truncate to %<PRIdMAX> bytes in output file %s" msgstr "impossible de tronquer le fichier de sortie %2$s à %1$<PRIdMAX> octets" #: src/dd.c:2146 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync a échoué pour %s" #: src/dd.c:2156 #, c-format msgid "fsync failed for %s" msgstr "fsync a échoué pour %s" #: src/dd.c:2207 src/dd.c:2236 src/nohup.c:163 src/nohup.c:165 #, c-format msgid "failed to open %s" msgstr "impossible d'ouvrir %s" #: src/dd.c:2246 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=%<PRIuMAX> (%lu-byte) " "blocks" msgstr "" "décalage trop grand : impossible de tronquer à la longueur seek=" "%<PRIuMAX> blocs (de %lu octets)" #: src/dd.c:2267 #, c-format msgid "failed to truncate to %<PRIuMAX> bytes in output file %s" msgstr "impossible de tronquer le fichier de sortie %2$s à %1$<PRIuMAX> octets" #: src/dd.c:2283 src/dd.c:2289 #, c-format msgid "failed to discard cache for: %s" msgstr "impossible d'abandonner le cache pour : %s" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:44 src/du.c:55 src/expr.c:153 src/kill.c:33 src/pathchk.c:32 #: src/shuf.c:39 src/sleep.c:35 src/sort.c:67 msgid "Paul Eggert" msgstr "Paul Eggert" #: src/df.c:172 msgid "Filesystem" msgstr "Sys. de fichiers" #: src/df.c:175 msgid "Type" msgstr "Type" #: src/df.c:178 src/df.c:542 msgid "blocks" msgstr "blocs" #: src/df.c:181 msgid "Used" msgstr "Utilisé" #: src/df.c:184 msgid "Available" msgstr "Disponible" #: src/df.c:187 msgid "Use%" msgstr "Uti%" #: src/df.c:190 msgid "Inodes" msgstr "InÅ“uds" #: src/df.c:193 msgid "IUsed" msgstr "IUtil." #: src/df.c:196 msgid "IFree" msgstr "ILibre" #: src/df.c:199 msgid "IUse%" msgstr "IUti%" #: src/df.c:202 msgid "Mounted on" msgstr "Monté sur" #: src/df.c:383 #, c-format msgid "option --output: field '%s' unknown" msgstr "option --output : champ « %s » inconnu" #: src/df.c:390 #, c-format msgid "option --output: field '%s' used more than once" msgstr "option --output : champ « %s » utilisé plusieurs fois" #: src/df.c:410 src/df.c:449 msgid "Size" msgstr "Taille" #: src/df.c:414 src/df.c:451 msgid "Avail" msgstr "Dispo" #: src/df.c:474 msgid "Capacity" msgstr "Capacité" #. TRANSLATORS: this is the "1K-blocks" header in "df" output. #. TRANSLATORS: this is the "1024-blocks" header in "df -P". #: src/df.c:545 src/df.c:554 #, c-format msgid "%s-%s" msgstr "%2$s de %1$s" #: src/df.c:1210 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" msgstr "" "Afficher des renseignements sur le système de fichiers qui contient FILE,\n" "ou sur tous les systèmes de fichiers par défaut.\n" #: src/df.c:1217 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " --total produce a grand total\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -a, --all inclure les systèmes de fichiers factices\n" " -B, --block-size=SIZE convertir les tailles en SIZE avant de les " "afficher.\n" " Par exemple « -BM » affiche les tailles en unités " "de\n" " 1 048 576 octets. Voir le format de SIZE ci-" "dessous.\n" " --total produire un total général\n" " -h, --human-readable afficher les tailles dans un format lisible (par " "exemple\n" " 1K, 234M ou 2G)\n" " -H, --si identique avec un multiple de 1000 au lieu de 1024\n" #: src/df.c:1227 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" " -i, --inodes afficher les renseignements des inÅ“uds, pas des " "blocs\n" " -k identique à --block-size=1K\n" " -l, --local limiter le parcours aux systèmes de fichiers locaux\n" " --no-sync ne pas réaliser de synchronisation avant d'obtenir " "les\n" " renseignements d'utilisation (par défaut)\n" #: src/df.c:1234 msgid "" " --output[=FIELD_LIST] use the output format defined by FIELD_LIST,\n" " or print all fields if FIELD_LIST is " "omitted.\n" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" " --output[=FIELD_LIST] utiliser le format de sortie défini par " "FIELD_LIST,\n" " ou afficher tous les champs si FIELD_LIST est " "omis.\n" " -P, --portability utiliser le format de sortie POSIX\n" " --sync invoquer sync avant d'obtenir les renseignements\n" " d'utilisation\n" " -t, --type=TYPE limiter l'affichage aux systèmes de fichier de type " "TYPE\n" " -T, --print-type afficher le type du système de fichiers\n" " -x, --exclude-type=TYPE limiter l'affichage aux autres systèmes de " "fichiers\n" " que ceux de type TYPE\n" " -v (ignorée)\n" #: src/df.c:1248 msgid "" "\n" "FIELD_LIST is a comma-separated list of columns to be included. Valid\n" "field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',\n" "'size', 'used', 'avail', 'pcent' and 'target' (see info page).\n" msgstr "" "\n" "FIELD_LIST est une liste séparée par des virgules de colonnes à inclure. " "Les\n" "noms de champs possibles sont : « source », « fstype », « itotal », " "« iused »,\n" "« iavail », « ipcent », « size », « used », « avail », « pcent » et " "« target »\n" "(consultez la page info).\n" #: src/df.c:1285 #, c-format msgid "options %s and %s are mutually exclusive" msgstr "les options %s et %s sont mutuellement exclusives" #: src/df.c:1335 msgid "warning: " msgstr "avertissement : " #: src/df.c:1336 msgid "long option '--megabytes' is deprecated and will soon be removed" msgstr "l'option longue « --megabytes » est obsolète et sera bientôt supprimée" #: src/df.c:1442 #, c-format msgid "file system type %s both selected and excluded" msgstr "le système de fichiers %s est à la fois sélectionné et exclu" #: src/df.c:1500 msgid "Warning: " msgstr "Avertissement : " #: src/df.c:1502 src/stat.c:814 msgid "cannot read table of mounted file systems" msgstr "impossible de lire la table des systèmes de fichiers montés" #: src/df.c:1539 #, c-format msgid "no file systems processed" msgstr "aucun système de fichiers traité" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "H. Peter Anvin" #: src/dircolors.c:97 src/uptime.c:196 src/users.c:105 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "Utilisation : %s [OPTION]... [FILE]\n" #: src/dircolors.c:98 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" "Commande d'affichage pour initialiser la variable d'environnement " "LS_COLORS.\n" "\n" "Déterminer le format de sortie :\n" " -b, --sh, --bourne-shell code de sortie pour un shell Bourne pour\n" " initialiser la variable LS_COLORS\n" " -c, --csh, --c-shell code de sortie pour un shell C pour " "initialiser\n" " la variable LS_COLORS\n" " -p, --print-data-base utiliser les valeurs par défaut\n" #: src/dircolors.c:108 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run 'dircolors --print-database'.\n" msgstr "" "\n" "Si FILE est fourni, le lire pour déterminer les couleurs à utiliser pour " "les\n" "types de fichiers et les extensions. Autrement, la base de données " "précompilée\n" "sera utilisée. Pour obtenir des précisions sur le format de ces fichiers,\n" "exécutez « dircolors --print-database ».\n" #: src/dircolors.c:286 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "%s:%lu : ligne incorrecte ; second jeton manquant" #: src/dircolors.c:358 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "%s:%lu : mot clef %s non reconnu" #: src/dircolors.c:359 msgid "<internal>" msgstr "<interne>" #: src/dircolors.c:440 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" "les options pour la base de données interne de sortie de dircolors et la\n" "sélection de la syntaxe du shell sont mutuellement exclusives" #: src/dircolors.c:450 msgid "file operands cannot be combined with --print-database (-p)" msgstr "" "les opérandes de fichier ne peuvent pas être combinés avec --print-database " "(-p)" #: src/dircolors.c:473 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" "aucune variable d'environnement SHELL, et aucune option de type de shell " "donnée" #: src/dirname.c:50 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "Utilisation : %s [OPTION] NAME...\n" #: src/dirname.c:54 msgid "" "Output each NAME with its last non-slash component and trailing slashes\n" "removed; if NAME contains no /'s, output '.' (meaning the current " "directory).\n" "\n" msgstr "" "Afficher chaque NAME en supprimant son dernier composant et sa barre " "oblique\n" "finale ; si NAME ne contient pas de « / », la sortie sera « . » (signifiant\n" "le répertoire actuel).\n" "\n" #: src/dirname.c:59 msgid " -z, --zero separate output with NUL rather than newline\n" msgstr "" " -z, --zero séparer la sortie par des NULL au lieu de changements de " "ligne\n" #: src/dirname.c:64 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/ -> \"/usr\"\n" " %s dir1/str dir2/str -> \"dir1\" followed by \"dir2\"\n" " %s stdio.h -> \".\"\n" msgstr "" "\n" "Exemples :\n" " %s /usr/bin → « /usr »\n" " %s rep1/cha rep2/cha → « rep1 » suivi de « rep2 »\n" " %s stdio.h → « . »\n" #: src/du.c:270 src/sort.c:394 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" "Utilisation : %s [OPTION]... [FILE]...\n" " ou : %s [OPTION]... --files0-from=F\n" #: src/du.c:274 msgid "Summarize disk usage of each FILE, recursively for directories.\n" msgstr "" "Synthétiser l'utilisation de l'espace disque pour chaque FILE, " "récursivement\n" "pour les répertoires.\n" #: src/du.c:280 msgid "" " -0, --null end each output line with 0 byte rather than " "newline\n" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in ('sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" " -0, --null terminer chaque ligne de sortie par un octet NULL\n" " au lieu d'un changement de ligne\n" " -a, --all afficher le décompte pour tous les fichiers, pas\n" " seulement pour les répertoires\n" " --apparent-size afficher les tailles apparentes, au lieu de " "l'occupation\n" " disque ; même si la taille apparente est\n" " habituellement plus petite, elle peut être plus " "grande\n" " en raison de trous dans les fichiers (« sparse »), " "de\n" " la fragmentation, de blocs indirects et autres " "raisons\n" " similaires\n" #: src/du.c:289 msgid "" " -B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n" " '-BM' prints sizes in units of 1,048,576 bytes.\n" " See SIZE format below.\n" " -b, --bytes equivalent to '--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" " -d, --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" " -B, --block-size=SIZE convertir les tailles en SIZE avant de les " "afficher.\n" " Par exemple, « -BM » affiche les tailles en unités " "de\n" " 1 048 576 octets. Consultez le format SIZE ci-" "dessous.\n" " -b, --bytes équivalent à « --apparent-size --block-size=1 »\n" " -c, --total produire le total général\n" " -D, --dereference-args ne déréférencer que les liens symboliques sur\n" " la ligne de commande\n" " -d, --max-depth=N afficher le total pour un répertoire (ou un " "fichier,\n" " avec --all) seulement s'il est à N niveaux ou " "moins\n" " selon les arguments de la ligne de commande ;\n" " --max-depth=0 est identique à --summarize\n" #: src/du.c:302 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F;\n" " If F is - then read names from standard input\n" " -H equivalent to --dereference-args (-D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" msgstr "" " --files0-from=F résumer l'occupation disque des noms de fichiers\n" " terminés par NULL, indiqués dans le fichier F. Si " "F\n" " est -, alors les noms sont lus sur l'entrée " "standard\n" " -H, équivalent à --dereference-args (-D)\n" " -h, --human-readable afficher les tailles dans un format lisible\n" " (par exemple 1K, 234M, ou 2G)\n" #: src/du.c:310 msgid "" " -k like --block-size=1K\n" " -L, --dereference dereference all symbolic links\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" " -k, identique à --block-size=1K\n" " -L, --dereference déréférencer tous les liens symboliques\n" " -l, --count-links comptabiliser les tailles de tous les liens directs\n" " -m identique à --block-size=1M\n" #: src/du.c:316 msgid "" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -S, --separate-dirs do not include size of subdirectories\n" " --si like -h, but use powers of 1000 not 1024\n" " -s, --summarize display only a total for each argument\n" msgstr "" " -P, --no-dereference ne pas suivre les liens symboliques (par défaut)\n" " -S, --separate-dirs ne pas inclure la taille des sous-répertoires\n" " --si identique à -h mais en multiple de 1000 au lieu de " "1024\n" " -s, --summarize n'afficher qu'un total pour chaque argument\n" #: src/du.c:322 msgid "" " -t, --threshold=SIZE exclude entries smaller than SIZE if positive,\n" " or entries greater than SIZE if negative\n" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like 'date'\n" msgstr "" " -t, --threshold=SIZE exclure les entrées plus petites que SIZE si " "positive,\n" " ou les entrées plus grandes que SIZE si négative\n" " --time afficher l'heure de la dernière modification de " "tous\n" " les fichiers du répertoire ou des sous-" "répertoires\n" " --time=WORD afficher l'heure de WORD au lieu de l'heure de\n" " modification : atime, access, use, ctime ou " "status.\n" " --time-style=STYLE afficher l'heure en utilisant le STYLE :\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT est interprété comme « date »\n" #: src/du.c:333 msgid "" " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" " --exclude=PATTERN exclude files that match PATTERN\n" " -x, --one-file-system skip directories on different file systems\n" msgstr "" " -X, --exclude-from=FILE exclure les fichiers correspondants à un des " "motifs\n" " de FILE\n" " --exclude=PATTERN exclure les fichiers correspondants à PATTERN\n" " -x, --one-file-system ignorer les répertoires de différents systèmes " "de\n" " fichiers\n" #: src/du.c:386 msgid "Infinity" msgstr "Infinité" #: src/du.c:507 #, c-format msgid "mount point %s already traversed" msgstr "Point de montage %s déjà traversé" #: src/du.c:624 #, c-format msgid "fts_read failed: %s" msgstr "échec de fts_read : %s" #: src/du.c:780 #, c-format msgid "invalid maximum depth %s" msgstr "profondeur maximale %s incorrecte" #: src/du.c:809 #, c-format msgid "invalid --threshold argument '-0'" msgstr "argument « -0 » de --threshold incorrect" #: src/du.c:887 #, c-format msgid "cannot both summarize and show all entries" msgstr "impossible d'afficher à la fois un résumé et toutes les entrées" #: src/du.c:894 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" "avertissement : résumer est la même chose qu'utiliser l'option --max-depth=0" #: src/du.c:900 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "avertissement : conflit avec --max-depth=%lu à la génération du résumé" #: src/du.c:966 src/sort.c:4533 src/wc.c:668 msgid "file operands cannot be combined with --files0-from" msgstr "" "les opérandes de fichier ne peuvent pas être combinés avec --files0-from" #: src/du.c:1026 src/md5sum.c:608 src/od.c:909 src/tac.c:238 src/tac.c:349 #: src/tac.c:505 src/tac.c:585 src/wc.c:733 #, c-format msgid "%s: read error" msgstr "%s : erreur de lecture" #: src/du.c:1040 src/sort.c:4562 src/wc.c:747 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" "le nom de fichier %s n'est pas autorisé lors de la lecture de l'entrée " "standard" #: src/du.c:1057 src/du.c:1065 src/wc.c:760 src/wc.c:768 msgid "invalid zero-length file name" msgstr "nom de fichier de longueur nulle incorrect" #: src/du.c:1088 src/ls.c:2649 src/wc.c:791 msgid "total" msgstr "total" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:26 msgid "Brian Fox" msgstr "Brian Fox" #. This is a proper name. See the gettext manual, section Names. #: src/echo.c:27 msgid "Chet Ramey" msgstr "Chet Ramey" #: src/echo.c:41 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... [STRING]...\n" " or: %s LONG-OPTION\n" msgstr "" "Utilisation : %s [SHORT-OPTION]... [STRING]...\n" " ou : %s LONG-OPTION\n" #: src/echo.c:45 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" "Duplique les chaînes STRING sur la sortie standard.\n" "\n" " -n ne pas afficher de changement de ligne de terminaison\n" #: src/echo.c:51 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" " -e activer l'interprétation de protection par barre oblique\n" " inverse (par défaut)\n" " -E désactiver l'interprétation de protection par barre " "oblique\n" " inverse\n" #: src/echo.c:54 msgid "" " -e enable interpretation of backslash escapes\n" " -E disable interpretation of backslash escapes (default)\n" msgstr "" " -e activer l'interprétation de protection par barre oblique\n" " inverse\n" " -E désactiver l'interprétation de protection par barre " "oblique\n" " inverse (par défaut)\n" #: src/echo.c:60 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" msgstr "" "\n" "Si -e est effectif, les séquences suivantes sont reconnues :\n" "\n" #: src/echo.c:65 src/printf.c:105 msgid "" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\e escape\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" " \\\\ barre oblique inverse\n" " \\a alerte (SON)\n" " \\b retour arrière\n" " \\c bloquer l'affichage ultérieur\n" " \\e échappement\n" " \\f saut de page\n" " \\n changement de ligne\n" " \\r retour chariot\n" " \\t tabulation horizontale\n" " \\v tabulation verticale\n" # Seulement la traduction est correctement alignée (Stéphane) #: src/echo.c:77 msgid "" " \\0NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" msgstr "" " \\0NNN octet de valeur octale NNN (1 à 4 chiffres)\n" " \\xHH octet de valeur hexadécimale HH (1 ou 2 chiffres)\n" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:32 src/printenv.c:45 src/whoami.c:35 msgid "Richard Mlynarik" msgstr "Richard Mlynarik" #: src/env.c:52 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "Utilisation : %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #: src/env.c:55 msgid "Set each NAME to VALUE in the environment and run COMMAND.\n" msgstr "" "Initialiser chaque NAME à VALUE dans l'environnement et exécuter COMMAND.\n" #: src/env.c:61 msgid "" " -i, --ignore-environment start with an empty environment\n" " -0, --null end each output line with 0 byte rather than newline\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" " -i, --ignore-environment démarrer avec un environnement vide\n" " -0, --null terminer chaque ligne de sortie avec l'octet 0 au " "lieu\n" " d'un changement de ligne\n" " -u, --unset=NAME supprimer la variable de l'environnement\n" #: src/env.c:68 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" "\n" "Un simple - implique -i. Si aucune COMMAND n'est fournie, afficher\n" "l'environnement résultant.\n" #: src/env.c:124 #, c-format msgid "cannot unset %s" msgstr "impossible de supprimer la définition (unset) de %s" #: src/env.c:135 #, c-format msgid "cannot set %s" msgstr "impossible de définir %s" #: src/env.c:152 #, c-format msgid "cannot specify --null (-0) with command" msgstr "impossible d'indiquer --null (-0) avec la commande" #: src/expand.c:107 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Convertir les tabulations de chaque FILE en espaces, en écrivant sur la " "sortie\n" "standard. Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/expand.c:114 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" " -i, --initial ne pas convertir les tabulations après des non blancs\n" " -t, --tabs=N utiliser des tabulations de N caractères et non 8\n" #: src/expand.c:118 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" " -t, --tabs=LIST utiliser une liste explicite de positions de " "tabulations\n" " séparées par des virgules\n" #: src/expand.c:171 src/unexpand.c:190 #, c-format msgid "tab stop is too large %s" msgstr "l'arrêt de tabulation %s est trop grand" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" "la taille de la tabulation contient un ou des caractères incorrects : %s" #: src/expand.c:205 src/unexpand.c:224 #, c-format msgid "tab size cannot be 0" msgstr "la taille de la tabulation ne peut pas être 0" #: src/expand.c:207 src/unexpand.c:226 #, c-format msgid "tab sizes must be ascending" msgstr "les tailles de tabulation doivent être croissantes" #: src/expand.c:325 src/expand.c:344 src/unexpand.c:373 src/unexpand.c:418 #, c-format msgid "input line is too long" msgstr "la ligne d'entrée est trop longue" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:151 src/ln.c:41 src/mv.c:41 src/tee.c:34 msgid "Mike Parker" msgstr "Mike Parker" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:152 src/groups.c:36 msgid "James Youngman" msgstr "James Youngman" #: src/expr.c:203 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s EXPRESSION\n" " ou : %s OPTION\n" #: src/expr.c:211 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" "\n" "Afficher la valeur de EXPRESSION sur la sortie standard. Une ligne vide en\n" "dessous sépare les groupes de précédence croissante. L'EXPRESSION peut " "être :\n" "\n" " ARG1 | ARG2 ARG1 si non nul ou 0, sinon ARG2\n" "\n" " ARG1 & ARG2 ARG1 si aucun des arguments est nul ou 0, sinon 0\n" #: src/expr.c:220 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" "\n" " ARG1 < ARG2 ARG1 si inférieur à ARG2\n" " ARG1 <= ARG2 ARG1 si inférieur ou égal à ARG2\n" " ARG1 = ARG2 ARG1 si égal à ARG2\n" " ARG1 != ARG2 ARG1 si différent de ARG2\n" " ARG1 >= ARG2 ARG1 si supérieur ou égal à ARG2\n" " ARG1 > ARG2 ARG1 si supérieur à ARG2\n" #: src/expr.c:229 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" "\n" " ARG1 + ARG2 somme arithmétique de ARG1 et ARG2\n" " ARG1 - ARG2 différence arithmétique entre ARG1 et ARG2\n" #: src/expr.c:236 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" "\n" " ARG1 * ARG2 produit arithmétique de ARG1 et ARG2\n" " ARG1 / ARG2 quotient arithmétique de ARG1 divisé par ARG2\n" " ARG1 % ARG2 reste arithmétique ARG1 divisé par ARG2\n" #: src/expr.c:242 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" "\n" " STRING : REGEXP motif d'ancrage de correspondance de REGEXP dans STRING\n" "\n" " match STRING REGEXP identique à STRING : REGEXP\n" " substr STRING POS LENGTH sous-chaîne de STRING, POS débute à 1\n" " index STRING CHARS index dans STRING où un des CHARS a été " "trouvé,\n" " sinon 0\n" " length STRING longueur de STRING\n" #: src/expr.c:251 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like 'match' or an operator like '/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" " + TOKEN interpréter TOKEN comme une chaîne, même s'il\n" " s'agit d'un mot clef comme « match » ou d'un\n" " opérateur comme « / »\n" "\n" " ( EXPRESSION ) valeur de l'EXPRESSION\n" #: src/expr.c:257 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" "\n" "Soyez conscient que plusieurs opérateurs peuvent être neutralisés ou " "commentés\n" "par certains interpréteurs de commande. Les comparaisons sont arithmétiques " "si\n" "les deux arguments sont des nombres, sinon elles sont lexicographiques. Les\n" "correspondances de motifs renvoient la chaîne trouvée si elle est " "encapsulée\n" "entre \\( et \\) ou nul ; si \\( et \\) ne sont pas utilisées, le nombre de\n" "caractères qui correspondent est renvoyé ou 0 sinon.\n" #: src/expr.c:264 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" "\n" "Le code de sortie est 0 si l'EXPRESSION n'est ni nulle ni 0, 1 si " "l'EXPRESSION\n" "est nulle ou 0, 2 si l'EXPRESSION est syntaxiquement incorrecte et 3 si une\n" "erreur est survenue.\n" #: src/expr.c:278 #, c-format msgid "syntax error" msgstr "erreur de syntaxe" #: src/expr.c:599 src/ptx.c:283 #, c-format msgid "error in regular expression matcher" msgstr "erreur de correspondance d'expression rationnelle" #: src/expr.c:791 src/expr.c:828 #, c-format msgid "non-integer argument" msgstr "argument non entier" #: src/expr.c:793 src/truncate.c:314 #, c-format msgid "division by zero" msgstr "division par zéro" #: src/expr.c:887 src/sort.c:2044 #, c-format msgid "set LC_ALL='C' to work around the problem" msgstr "définissez LC_ALL='C' pour contourner le problème" #: src/expr.c:889 #, c-format msgid "the strings compared were %s and %s" msgstr "les chaînes comparées étaient %s et %s" #. This is a proper name. See the gettext manual, section Names. #: src/factor.c:111 msgid "Niels Moller" msgstr "Niels Moller" #: src/factor.c:1283 src/factor.c:1383 src/factor.c:1459 #, c-format msgid "Lucas prime test failure. This should not happen" msgstr "" "Échec du test de primalité de Lucas-Lehmer. Cela ne devrait pas arriver" #: src/factor.c:2092 #, c-format msgid "squfof queue overflow" msgstr "dépassement de la file de squfof" #: src/factor.c:2419 #, c-format msgid "%s is not a valid positive integer" msgstr "%s n'est pas un entier positif valable" #: src/factor.c:2442 src/od.c:1646 src/od.c:1715 #, c-format msgid "%s is too large" msgstr "%s est trop grand" #: src/factor.c:2454 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s [NUMBER]...\n" " ou : %s OPTION\n" #: src/factor.c:2459 msgid "" "Print the prime factors of each specified integer NUMBER. If none\n" "are specified on the command line, read them from standard input.\n" "\n" msgstr "" "Afficher les facteurs premiers de chaque entier NUMBER indiqué.\n" "Sans argument fourni, les nombres sont lus depuis l'entrée standard.\n" "\n" #: src/find-mount-point.c:40 #, c-format msgid "cannot get current directory" msgstr "impossible d'obtenir le répertoire actuel" #: src/find-mount-point.c:50 src/find-mount-point.c:64 #: src/find-mount-point.c:92 #, c-format msgid "cannot change to directory %s" msgstr "impossible d'aller vers le répertoire %s" #: src/find-mount-point.c:70 #, c-format msgid "cannot stat current directory (now %s)" msgstr "impossible d'exécuter stat sur le répertoire actuel (%s)" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:38 msgid "Ross Paterson" msgstr "Ross Paterson" #: src/fmt.c:270 #, c-format msgid "Usage: %s [-WIDTH] [OPTION]... [FILE]...\n" msgstr "Utilisation : %s [-WIDTH] [OPTION]... [FILE]...\n" #: src/fmt.c:271 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "The option -WIDTH is an abbreviated form of --width=DIGITS.\n" msgstr "" "Reformater chaque paragraphe de FILE, en écrivant sur la sortie standard.\n" "L'option -WIDTH est un forme abrégée de --width=DIGITS.\n" #: src/fmt.c:278 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" " -c, --crown-margin préserver l'indentation des deux premières " "lignes\n" " -p, --prefix=CHAÃŽNE ne reformater que les lignes débutant par " "STRING\n" " en rattachant le préfixe aux lignes " "reformatées\n" " -s, --split-only effectuer la césure des longues lignes mais " "sans\n" " les remplir\n" #: src/fmt.c:287 #, no-c-format msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" " -g, --goal=WIDTH goal width (default of 93% of width)\n" msgstr "" " -t, --tagged-paragraph indenter différemment les deux premières lignes\n" " -u, --uniform-spacing une espace entre les mots, deux entre les " "phrases\n" " -w, --width=N largeur de colonne maximale (75 colonnes par " "défaut)\n" " -g, --goal=N largeur désirée (93 % de la largeur par défaut)\n" #: src/fmt.c:359 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" "option incorrecte — %c ; -WIDTH n'est reconnue que si c'est la\n" "première option ; utilisez -w N à la place" #: src/fmt.c:405 src/fmt.c:416 #, c-format msgid "invalid width: %s" msgstr "largeur incorrecte : %s" #: src/fold.c:70 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" msgstr "" "Effectuer la césure des lignes d'entrée de chaque FILE (entrée standard par\n" "défaut), en écrivant sur la sortie standard.\n" #: src/fold.c:77 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" " -b, --bytes compter les octets au lieu des colonnes\n" " -s, --spaces césure aux espaces\n" " -w, --width=WIDTH utiliser WIDTH colonnes au lieu de 80\n" #: src/fold.c:288 src/pr.c:832 #, c-format msgid "invalid number of columns: %s" msgstr "nombre de colonnes incorrect : %s" #. This is a proper name. See the gettext manual, section Names. #: src/getlimits.c:29 src/realpath.c:33 src/stdbuf.c:37 src/timeout.c:78 #: src/truncate.c:37 msgid "Padraig Brady" msgstr "Padraig Brady" #: src/getlimits.c:65 #, c-format msgid "Usage: %s\n" msgstr "Utilisation : %s\n" #: src/getlimits.c:69 msgid "" "Output platform dependent limits in a format useful for shell scripts.\n" "\n" msgstr "" "Afficher les limites de la plate-forme dans un format utile aux scripts " "shell.\n" "\n" #: src/group-list.c:69 src/id.c:365 src/setuidgid.c:184 #, c-format msgid "failed to get groups for user %s" msgstr "impossible d'obtenir les groupes pour l'utilisateur %s" #: src/group-list.c:74 src/id.c:370 #, c-format msgid "failed to get groups for the current process" msgstr "impossible d'obtenir les groupes pour le processus actuel" #: src/group-list.c:114 #, c-format msgid "cannot find name for group ID %lu" msgstr "impossible de trouver le nom pour le GID %lu" #: src/groups.c:53 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]...\n" msgstr "Utilisation : %s [OPTION]... [USERNAME]...\n" #: src/groups.c:54 msgid "" "Print group memberships for each USERNAME or, if no USERNAME is specified, " "for\n" "the current process (which may differ if the groups database has changed).\n" msgstr "" "Afficher l'appartenance à des groupes pour chaque USERNAME ou, si aucun " "USERNAME\n" "n'est indiqué, pour le processus actuel (qui peut être différent si la base " "de\n" "données des groupes a changé).\n" #: src/groups.c:105 src/id.c:233 #, c-format msgid "cannot get real UID" msgstr "impossible d'obtenir l'UID réel" #: src/groups.c:110 src/id.c:241 #, c-format msgid "cannot get effective GID" msgstr "impossible d'obtenir le GID effectif" #: src/groups.c:115 src/id.c:246 #, c-format msgid "cannot get real GID" msgstr "impossible d'obtenir le GID réel" #: src/groups.c:128 src/id.c:206 #, c-format msgid "%s: no such user" msgstr "%s : utilisateur inexistant" #: src/head.c:109 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Afficher les dix premières lignes de chaque FILE sur la sortie standard.\n" "Chaque fichier est précédé d'un en-tête avec son nom, si plusieurs " "fichiers.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/head.c:117 msgid "" " -c, --bytes=[-]K print the first K bytes of each file;\n" " with the leading '-', print all but the last\n" " K bytes of each file\n" " -n, --lines=[-]K print the first K lines instead of the first 10;\n" " with the leading '-', print all but the last\n" " K lines of each file\n" msgstr "" " -c, --bytes=[-]K afficher les K premiers octets de chaque " "fichier ;\n" " si le préfixe « - » est présent, afficher tous " "les\n" " octets sauf les K derniers octets de chaque " "fichier\n" " -n, --lines=[-]K afficher les K premières lignes au lieu des 10\n" " premières ; si le préfixe « - » est présent,\n" " afficher toutes les lignes sauf les N dernières " "de\n" " chaque fichier\n" #: src/head.c:125 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" " -q, --quiet, --silent ne jamais afficher les en-têtes de noms de " "fichier\n" " -v, --verbose toujours afficher les en-têtes de noms de " "fichier\n" #: src/head.c:131 msgid "" "\n" "K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" "\n" "K peut avoir un suffixe multiplicateur :\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z et " "Y.\n" #: src/head.c:154 #, c-format msgid "%s: file has shrunk too much" msgstr "%s : le fichier a été trop réduit" #: src/head.c:227 src/head.c:1051 #, c-format msgid "%s: number of bytes is too large" msgstr "%s : le nombre d'octets est trop grand" #: src/head.c:440 #, c-format msgid "%s: cannot lseek back to original position" msgstr "%s : impossible d'utiliser lseek pour revenir à la position d'origine" #: src/head.c:612 src/head.c:691 src/tail.c:449 #, c-format msgid "%s: cannot seek to offset %s" msgstr "%s : impossible de se déplacer à la position %s" #: src/head.c:673 #, c-format msgid "%s: failed to reset file pointer" msgstr "%s : échec de réinitialisation du pointeur de fichier" #: src/head.c:798 #, c-format msgid "cannot reposition file pointer for %s" msgstr "impossible de repositionner le pointeur de fichier pour %s" #: src/head.c:885 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "%s : %s est tellement grand qu'il n'est pas représentable" #: src/head.c:886 msgid "number of lines" msgstr "le nombre de lignes" #: src/head.c:886 msgid "number of bytes" msgstr "le ombre d'octets" #: src/head.c:893 src/tail.c:1947 msgid "invalid number of lines" msgstr "nombre de lignes incorrect" #: src/head.c:894 src/tail.c:1948 msgid "invalid number of bytes" msgstr "nombre d'octets incorrect" #: src/head.c:981 src/head.c:1039 #, c-format msgid "invalid trailing option -- %c" msgstr "option de terminaison incorrecte — %c" #: src/hostid.c:42 #, c-format msgid "" "Usage: %s [OPTION]\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" "Utilisation : %s OPTION\n" "Afficher l'identificateur numérique (en hexadécimal) de l'hôte actuel.\n" "\n" #: src/hostname.c:56 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" "Utilisation : %s [NOM]\n" " ou : %s OPTION\n" "Afficher ou définir le nom d'hôte du système actuel.\n" "\n" #: src/hostname.c:94 #, c-format msgid "cannot set name to %s" msgstr "impossible de définir le nom à %s" #: src/hostname.c:97 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" "impossible de définir le nom d'hôte ; le système ne prend pas en charge " "cette fonctionnalité" #: src/hostname.c:105 #, c-format msgid "cannot determine hostname" msgstr "impossible de déterminer le nom d'hôte" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "Arnold Robbins" #: src/id.c:81 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "Utilisation : %s [OPTION]... [USERNAME]\n" #: src/id.c:82 msgid "" "Print user and group information for the specified USERNAME,\n" "or (when USERNAME omitted) for the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" "Afficher les informations d'utilisateur et de groupe du USERNAME indiqué,\n" "ou pour l'utilisateur actuel quand USERNAME est omis.\n" "\n" " -a ignorée, pour compatibilité avec les autres versions\n" " -Z, --context n'afficher que le contexte de sécurité de l'utilisateur " "actuel\n" " -g, --group n'afficher que le GID effectif\n" " -G, --groups afficher tous les GID\n" " -n, --name afficher le nom au lieu du numéro, pour -ugG\n" " -r, --real afficher l'identifiant réel au lieu de l'effectif, avec -" "ugG\n" " -u, --user n'afficher que l'UID effectif\n" #: src/id.c:96 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" "\n" "Sans aucune OPTION, afficher des informations utiles d'identification.\n" #: src/id.c:140 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "--context (-Z) ne fonctionne qu'avec noyau activé pour SELinux" #: src/id.c:175 #, c-format msgid "cannot print security context when user specified" msgstr "" "impossible d'afficher le contexte de sécurité quand un utilisateur est " "indiqué" #: src/id.c:178 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "impossible d'afficher le « seulement » parmi plusieurs choix" #: src/id.c:185 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" "impossible de n'afficher que les noms ou les identifiants réels au format " "par défaut" #: src/id.c:199 #, c-format msgid "can't get process context" msgstr "impossible d'obtenir le contexte de traitement" #: src/id.c:224 #, c-format msgid "cannot get effective UID" msgstr "impossible d'obtenir l'UID effectif" #: src/id.c:311 #, c-format msgid "cannot find name for user ID %s" msgstr "" "impossible de trouver le nom associé à l'identifiant utilisateur (UID) %s" #: src/id.c:329 #, c-format msgid "uid=%s" msgstr "uid=%s" #: src/id.c:334 #, c-format msgid " gid=%s" msgstr " gid=%s" #: src/id.c:341 #, c-format msgid " euid=%s" msgstr " euid=%s" #: src/id.c:349 #, c-format msgid " egid=%s" msgstr " egid=%s" #: src/id.c:377 msgid " groups=" msgstr " groupes=" #: src/id.c:393 #, c-format msgid " context=%s" msgstr " contexte=%s" #: src/install.c:373 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "avertissement : %s : impossible de modifier le contexte en %s" #: src/install.c:414 #, c-format msgid "creating directory %s" msgstr "création du répertoire %s" #: src/install.c:482 #, c-format msgid "cannot change ownership of %s" msgstr "impossible de modifier l'appartenance de %s" #: src/install.c:506 #, c-format msgid "cannot set time stamps for %s" msgstr "impossible de définir le format horaire pour %s" #: src/install.c:527 src/split.c:426 src/timeout.c:439 #, c-format msgid "fork system call failed" msgstr "échec de l'appel système fork" #: src/install.c:531 #, c-format msgid "cannot run %s" msgstr "impossible d'exécuter %s" #: src/install.c:535 #, c-format msgid "waiting for strip" msgstr "en attente de strip" #: src/install.c:537 #, c-format msgid "strip process terminated abnormally" msgstr "le traitement en chaîne s'est arrêté anormalement" #: src/install.c:558 #, c-format msgid "invalid user %s" msgstr "utilisateur %s incorrect" #: src/install.c:594 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" "Utilisation : %s [OPTION]... [-T] SOURCE DEST\n" " ou : %s [OPTION]... SOURCE... DIRECTORY\n" " ou : %s [OPTION]... -t DIRECTORY SOURCE...\n" " ou : %s [OPTION]... -d DIRECTORY...\n" #: src/install.c:601 msgid "" "\n" "This install program copies files (often just compiled) into destination\n" "locations you choose. If you want to download and install a ready-to-use\n" "package on a GNU/Linux system, you should instead be using a package " "manager\n" "like yum(1) or apt-get(1).\n" "\n" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" msgstr "" "\n" "Ce programme d'installation copie les fichiers (généralement compilés) dans " "la\n" "destination choisie. Pour télécharger et installer un paquet prêt à l'emploi " "sur\n" "un système GNU/Linux, vous devriez plutôt utiliser un gestionnaire de " "paquets\n" "comme yum(1) ou apt-get(1).\n" "\n" "Dans les trois premiers formats, copier SOURCE vers DEST ou de plusieurs\n" "fichiers SOURCE vers un répertoire DIRECTORY existant, tout en initialisant\n" "les modes de protection et les droits de propriétaire et groupe.\n" "Dans le quatrième format, créer tous les composants des DIRECTORY indiqués.\n" #: src/install.c:615 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -C, --compare compare each pair of source and destination files, " "and\n" " in some cases, do not modify the destination at all\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" " --backup[=CONTROL] archiver chaque fichier de destination\n" " -b identique à --backup mais n'accepte pas d'argument\n" " -c (ignoré)\n" " -C, --compare comparer chaque paire de fichiers source et " "destination,\n" " et dans certains cas, ne pas modifier la " "destination\n" " du tout\n" " -d, --directory traiter tous les arguments comme des noms de " "répertoire ;\n" " créer tous les composants des répertoires indiqués\n" #: src/install.c:624 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" " -D créer tous les premiers composants de DEST sauf le\n" " dernier, puis copier SOURCE vers DEST\n" " -g, --group=GROUPE définir l'appartenance au GROUPE au lieu du groupe " "actuel\n" " du processus\n" " -m, --mode=MODE définir le mode de droits (comme chmod), au lieu\n" " de rwxrr-xr-x\n" " -o, --owner=PROPRIO définir l'appartenance (uniquement pour " "l'administrateur)\n" #: src/install.c:631 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " --strip-program=PROGRAM program used to strip binaries\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" " -p, --preserve-timestamps appliquer les dates d'accès ou de modification " "des\n" " fichiers SOURCES aux fichiers de destination\n" " correspondants\n" " -s, --strip enlever les tables des symboles\n" " --strip-program=PROGRAMME pour enlever la table des symboles du " "binaire\n" " -S, --suffix=SUFFIXE substituer le SUFFIXE habituel d'archivage\n" " -t, --target-directory=RÉPERTOIRE copier tous les arguments de la SOURCE " "dans\n" " le RÉPERTOIRE\n" " -T, --no-target-directory traiter DEST comme un fichier normal\n" " -v, --verbose afficher le nom de chaque répertoire créé\n" #: src/install.c:641 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" " --preserve-context préserver le contexte de sécurité SELinux\n" " -Z, --context=CONTEXT établir le contexte de sécurité SELinux des " "fichiers\n" " et répertoires\n" #: src/install.c:859 #, c-format msgid "" "WARNING: ignoring --preserve-context; this kernel is not SELinux-enabled" msgstr "" "Attention : --preserve-context a été ignoré car SELinux n'est pas activé sur " "ce noyau." #: src/install.c:869 #, c-format msgid "WARNING: ignoring --context (-Z); this kernel is not SELinux-enabled" msgstr "" "Attention : --context (-Z) a été ignoré car SELinux n'est pas activé sur ce " "noyau" #: src/install.c:886 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" "l'option --strip ne peut pas être utilisée lors de l'installation d'un " "répertoire" #: src/install.c:889 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" "un répertoire cible n'est pas autorisé lors de l'installation d'un répertoire" #: src/install.c:893 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "impossible de forcer le contexte cible à %s et de le préserver" #: src/install.c:947 src/mkdir.c:201 src/stdbuf.c:326 #, c-format msgid "invalid mode %s" msgstr "mode %s incorrect" #: src/install.c:954 #, c-format msgid "WARNING: ignoring --strip-program option as -s option was not specified" msgstr "" "Attention : l'option --strip-program a été ignorée car l'option -s n'a pas " "été indiquée" #: src/install.c:959 #, c-format msgid "options --compare (-C) and --preserve-timestamps are mutually exclusive" msgstr "" "les options --compare (-C) et --preserve-timestamps sont mutuellement " "exclusives" #: src/install.c:966 #, c-format msgid "options --compare (-C) and --strip are mutually exclusive" msgstr "les options --compare (-C) et --strip sont mutuellement exclusives" #: src/install.c:972 #, c-format msgid "" "the --compare (-C) option is ignored when you specify a mode with non-" "permission bits" msgstr "" "l'option --compare (-C) est ignorée quand un mode sans bit de droits est " "indiqué" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:40 src/sort.c:66 msgid "Mike Haertel" msgstr "Mike Haertel" #: src/join.c:191 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM also print unpairable lines from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" "Pour chaque paire de lignes en entrée ayant des champs de fusion\n" "identiques, afficher une ligne sur la sortie standard.\n" "Le champ de fusion par défaut est le premier, délimité par un blanc.\n" "Si soit FILE1, soit FILE2 (pas les 2) est -, lire l'entrée standard.\n" "\n" " -a FILENUM afficher aussi les lignes non associables du fichier " "FILENUM\n" " où FILENUM est 1 ou 2, correspondant à FILE1 ou FILE2\n" " -e EMPTY remplacer les champs d'entrée manquants par EMPTY\n" #: src/join.c:200 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to '-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" " -i, --ignore-case ignorer la casse lors de la comparaison de champs\n" " -j FIELD équivalent à « -1 FIELD -2 FIELD »\n" " -o FORMAT respecter FORMAT lors de la construction de la ligne\n" " de sortie\n" " -t CHAR utiliser CHAR comme délimiteur de champs d'entrée et\n" " de sortie\n" #: src/join.c:206 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" " --header treat the first line in each file as field headers,\n" " print them without trying to pair them\n" msgstr "" " -v FILENUM comme -a FILENUM, mais supprimer les lignes jointes\n" " en sortie\n" " -1 FIELD fusionner sur le champ FIELD du fichier 1\n" " -2 FIELD fusionner sur le champ FIELD du fichier 2\n" " --check-order vérifier que l'entrée est correctement triée, même\n" " si toutes les lignes en entrée sont appairées\n" " --nocheck-order ne pas vérifier que l'entrée est correctement triée\n" " --header traiter la première ligne de chaque fichier comme un " "champ\n" " d'en-tête de ligne et les afficher sans essayer de " "les\n" " appairer\n" #: src/join.c:218 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR. If FORMAT is the keyword 'auto', then the first\n" "line of each file determines the number of fields output for each line.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use \"sort -k 1b,1\" if 'join' has no options,\n" "or use \"join -t ''\" if 'sort' has no options.\n" "Note, comparisons honor the rules specified by 'LC_COLLATE'.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" "\n" "À moins que -t CHAR ne soit renseigné, les premiers blancs qui séparent\n" "les champs sont ignorés sinon les champs sont séparés par CHAR. Chaque " "FIELD\n" "est un numéro de champ à partir de 1. FORMAT est une ou plusieurs\n" "spécifications séparées par une virgule ou un blanc, chacune étant\n" "« FILENUM.FIELD » ou « 0 ». Par défaut, FORMAT affiche le champ fusionné, " "puis\n" "les champs restants de FILE1 et enfin ceux de FILE2, tous séparés par CHAR.\n" "\n" "Important : FILE1 et FILE2 doivent être triés sur les champs de jointure.\n" "Par exemple, utilisez « sort -k 1b,1 » si « join » n'a pas d'option, ou\n" "utilisez « join -t '' » si « sort » n'a pas d'option.\n" "Remarquez que les comparaisons s'effectuent selon les règles définies par\n" "« LC_COLLATE ». Si l'entrée n'est pas triée et que quelques lignes ne " "peuvent\n" "être fusionnées, un message d'alerte l'indiquera.\n" #: src/join.c:403 #, c-format msgid "%s:%<PRIuMAX>: is not sorted: %.*s" msgstr "%s:%<PRIuMAX> : n'est pas trié : %.*s" #: src/join.c:840 src/join.c:1038 #, c-format msgid "invalid field number: %s" msgstr "numéro de champ incorrect : %s" #: src/join.c:861 src/join.c:870 #, c-format msgid "invalid field specifier: %s" msgstr "spécificateur de champ incorrect : %s" #: src/join.c:877 #, c-format msgid "invalid file number in field spec: %s" msgstr "numéro de fichier incorrect dans la spécification de champ : %s" #: src/join.c:920 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "jonction incompatible des champs %lu, %lu" #: src/join.c:1049 #, c-format msgid "conflicting empty-field replacement strings" msgstr "chaînes de remplacement de champ vide conflictuelles" #: src/join.c:1101 src/sort.c:4468 #, c-format msgid "multi-character tab %s" msgstr "tabulation multicaractère %s" #: src/join.c:1105 src/sort.c:4473 #, c-format msgid "incompatible tabs" msgstr "tabulations incompatibles" #: src/join.c:1174 #, c-format msgid "both files cannot be standard input" msgstr "les fichiers ne peuvent pas être tous les deux l'entrée standard." #: src/kill.c:76 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" "Utilisation : %s [-s SIGNAL | -SIGNAL] PID...\n" " ou : %s -l [SIGNAL]...\n" " ou : %s -t [SIGNAL]...\n" #: src/kill.c:82 msgid "Send signals to processes, or list signals.\n" msgstr "Transmettre les signaux aux processus ou afficher les signaux.\n" #: src/kill.c:88 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" " -s, --signal=SIGNAL, -SIGNAL\n" " indiquer le nom ou le numéro du signal à transmettre.\n" " -l, --list afficher les noms de signaux, ou convertir les noms de\n" " signaux vers ou depuis des nombres\n" " -t, --table afficher le tableau de renseignements sur les signaux\n" #: src/kill.c:96 msgid "" "\n" "SIGNAL may be a signal name like 'HUP', or a signal number like '1',\n" "or the exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" "\n" "SIGNAL peut être un nom de signal comme « HUP » ou un numéro de signal " "comme\n" "« 1 », ou un état de fin d'un processus terminé par un signal.\n" "PID est un entier, si négatif il identifie un groupe de processus.\n" #: src/kill.c:205 #, c-format msgid "%s: invalid process id" msgstr "%s : identifiant de processus incorrect" #: src/kill.c:259 #, c-format msgid "invalid option -- %c" msgstr "option incorrecte — %c" #: src/kill.c:268 #, c-format msgid "%s: multiple signals specified" msgstr "%s : plusieurs signaux indiqués" #: src/kill.c:282 #, c-format msgid "multiple -l or -t options specified" msgstr "plusieurs options -l ou -t indiquées" #: src/kill.c:299 #, c-format msgid "cannot combine signal with -l or -t" msgstr "impossible de combiner le signal avec -l or -t" #: src/kill.c:305 #, c-format msgid "no process ID specified" msgstr "aucun identifiant de processus indiqué" #: src/libstdbuf.c:109 #, c-format msgid "failed to allocate a %<PRIuMAX> byte stdio buffer\n" msgstr "impossible d'allouer un tampon stdio de %<PRIuMAX> octets\n" #: src/libstdbuf.c:116 #, c-format msgid "invalid buffering mode %s for %s\n" msgstr "mode %s de mise en tampon incorrect pour %s\n" #: src/libstdbuf.c:124 #, c-format msgid "could not set buffering of %s to mode %s\n" msgstr "impossible de définir la mise en tampon de %s au mode %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:50 msgid "Michael Stone" msgstr "Michael Stone" #: src/link.c:45 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s FILE1 FILE2\n" " ou : %s OPTION\n" #: src/link.c:48 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" "Exécuter la fonction link() pour créer un lien nommé FILE2 sur le FILE1\n" "existant.\n" #: src/link.c:90 #, c-format msgid "cannot create link %s to %s" msgstr "impossible de créer le lien %s sur %s" #: src/ln.c:190 #, c-format msgid "%s: hard link not allowed for directory" msgstr "%s : lien direct non permis pour un répertoire" #: src/ln.c:255 #, c-format msgid "%s: cannot overwrite directory" msgstr "%s : impossible d'écraser le répertoire" #: src/ln.c:260 #, c-format msgid "%s: replace %s? " msgstr "%s : faut-il remplacer %s ? " #: src/ln.c:345 #, c-format msgid "failed to create symbolic link %s" msgstr "impossible de créer le lien symbolique %s" #: src/ln.c:346 #, c-format msgid "failed to create symbolic link %s -> %s" msgstr "impossible de créer le lien symbolique %s → %s" #: src/ln.c:348 #, c-format msgid "failed to create hard link to %.0s%s" msgstr "impossible de créer un lien direct sur %.0s%s" #: src/ln.c:351 #, c-format msgid "failed to create hard link %s" msgstr "impossible de créer le lien direct %s" #: src/ln.c:352 #, c-format msgid "failed to create hard link %s => %s" msgstr "impossible de créer le lien direct %s → %s" #: src/ln.c:374 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" "Utilisation : %s [OPTION]... [-T] TARGET LINK_NAME (1er format)\n" " ou : %s [OPTION]... TARGET (2e format)\n" " ou : %s [OPTION]... TARGET... DIRECTORY (3e format)\n" " ou : %s [OPTION]... -t DIRECTORY TARGET... (4e format)\n" #: src/ln.c:381 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "By default, each destination (name of new link) should not already exist.\n" "When creating hard links, each TARGET must exist. Symbolic links\n" "can hold arbitrary text; if later resolved, a relative link is\n" "interpreted in relation to its parent directory.\n" msgstr "" "Dans le 1er format, créer un lien vers TARGET avec le nom LINK_NAME.\n" "Dans le 2e format, créer un lien vers TARGET dans le répertoire actuel.\n" "Dans les 3e et 4e formats, créer des liens vers chaque TARGET dans " "DIRECTORY.\n" "Créer des liens directs par défaut et des liens symboliques avec --" "symbolic.\n" "Par défaut, aucune destination (nom ou nouveau lien) ne devrait encore " "exister.\n" "À la création de liens directs, chaque TARGET doit exister. Les liens\n" "symboliques peuvent contenir un texte arbitraire ; s'il est résolu par la " "suite,\n" "un lien relatif est interprété comme une relation avec son répertoire " "parent.\n" #: src/ln.c:394 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" " --backup[=CONTROL] archiver chaque fichier de destination " "existant\n" " -b identique à --backup mais n'accepte pas " "d'argument\n" " -d, -F, --directory permettre au superutilisateur de créer des " "liens\n" " directs (hard) sur des répertoires " "(échouera\n" " probablement en raison de restrictions " "système\n" " même pour le superutilisateur)\n" " -f, --force supprimer les fichiers de destination " "existants\n" #: src/ln.c:402 msgid "" " -i, --interactive prompt whether to remove destinations\n" " -L, --logical dereference TARGETs that are symbolic links\n" " -n, --no-dereference treat LINK_NAME as a normal file if\n" " it is a symbolic link to a directory\n" " -P, --physical make hard links directly to symbolic links\n" " -r, --relative create symbolic links relative to link " "location\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" " -i, --interactive demander s'il faut supprimer les destinations\n" " -L, --logical déréférencer les TARGETs qui sont des liens\n" " symboliques\n" " -n, --no-dereference traiter LINK_NAME comme un fichier normal " "s'il\n" " s'agit d'un lien symbolique vers un " "répertoire\n" " -P, --physical transformer les liens directs en liens " "symboliques\n" " -r, --relative créer des liens symbolique relatifs à\n" " l'emplacement du lien\n" " -s, --symbolic créer un lien symbolique au lieu d'un lien " "direct\n" #: src/ln.c:411 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file always\n" " -v, --verbose print name of each linked file\n" msgstr "" " -S, --suffix=SUFFIX écraser le suffixe d'archivage habituel\n" " -t, --target-directory=DIRECTORY indiquer le DIRECTORY dans lequel créer\n" " les liens\n" " -T, --no-target-directory toujours traiter LINK_NAME comme un fichier " "normal\n" " -v, --verbose afficher le nom de chaque fichier lié\n" #: src/ln.c:433 #, c-format msgid "" "\n" "Using -s ignores -L and -P. Otherwise, the last option specified controls\n" "behavior when a TARGET is a symbolic link, defaulting to %s.\n" msgstr "" "\n" "L'utilisation de -s ignore -L et -P. Autrement, la dernière option indiquée\n" "contrôle le comportement lorsqu'une TARGET est un lien symbolique, " "utilisant\n" "%s par défaut.\n" #: src/ln.c:554 #, c-format msgid "cannot combine --target-directory and --no-target-directory" msgstr "impossible de combiner --target-directory et --no-target-directory" #: src/ln.c:588 #, c-format msgid "cannot do --relative without --symbolic" msgstr "impossible de faire --relative sans --symbolic" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "À corriger : inconnu" #: src/logname.c:39 src/sync.c:40 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "Utilisation : %s [OPTION]\n" #: src/logname.c:40 msgid "" "Print the name of the current user.\n" "\n" msgstr "" "Afficher le nom de l'utilisateur actuel.\n" "\n" #: src/logname.c:84 #, c-format msgid "no login name" msgstr "aucun identifiant" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:732 msgid "%b %e %Y" msgstr "%e %b %Y" #. TRANSLATORS: ls output needs to be aligned for ease of reading, #. so be wary of using variable width fields from the locale. #. Note %b is handled specially by ls and aligned correctly. #. Note also that specifying a width as in %5b is erroneous as strftime #. will count bytes rather than characters in multibyte locales. #: src/ls.c:745 msgid "%b %e %H:%M" msgstr "%e %b %H:%M" #: src/ls.c:1580 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" "valeur incorrecte de la variable d'environnement QUOTING_STYLE ignorée : %s" #: src/ls.c:1599 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "largeur incorrecte de la variable d'environnement COLUMNS ignorée : %s" #: src/ls.c:1629 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" "taille de tabulation incorrecte de la variable d'environnement TABSIZE " "ignorée :%s" #: src/ls.c:1750 src/ptx.c:1975 #, c-format msgid "invalid line width: %s" msgstr "largeur de ligne incorrecte : %s" #: src/ls.c:1824 #, c-format msgid "invalid tab size: %s" msgstr "taille de tabulation incorrecte : %s" #: src/ls.c:2033 #, c-format msgid "invalid time style format %s" msgstr "format de style de temps %s incorrect" #: src/ls.c:2057 msgid "Valid arguments are:\n" msgstr "Les arguments possible sont :\n" #: src/ls.c:2061 msgid " - +FORMAT (e.g., +%H:%M) for a 'date'-style format\n" msgstr " - +FORMAT (par exemple +%H:%M) pour un format de type « date »\n" #: src/ls.c:2096 #, c-format msgid "error initializing month strings" msgstr "erreur d'initialisation des chaînes de mois" #: src/ls.c:2407 #, c-format msgid "unrecognized prefix: %s" msgstr "préfixe non reconnu : %s" #: src/ls.c:2437 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" "impossible d'analyser la valeur de la variable d'environnement LS_COLORS" #: src/ls.c:2514 src/pwd.c:161 #, c-format msgid "cannot open directory %s" msgstr "impossible d'ouvrir le répertoire %s" #: src/ls.c:2529 #, c-format msgid "cannot determine device and inode of %s" msgstr "impossible de déterminer le périphérique et l'inÅ“ud de %s" #: src/ls.c:2538 #, c-format msgid "%s: not listing already-listed directory" msgstr "%s : impossible d'afficher un répertoire déjà affiché" #: src/ls.c:2615 src/pwd.c:229 #, c-format msgid "reading directory %s" msgstr "lecture du répertoire %s" #: src/ls.c:2630 #, c-format msgid "closing directory %s" msgstr "fermeture du répertoire %s" #: src/ls.c:3302 #, c-format msgid "cannot compare file names %s and %s" msgstr "impossible de comparer les noms de fichier %s et %s" #: src/ls.c:4721 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" msgstr "" "Afficher des renseignements sur les FILEs (du répertoire actuel par " "défaut).\n" "Trier les entrées alphabétiquement si aucune des options -cftuvSUX ou --" "sort\n" "ne sont utilisées.\n" #: src/ls.c:4728 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" msgstr "" " -a, --all ne pas ignorer les entrées débutant par .\n" " -A, --almost-all ne pas inclure . ou .. dans la liste\n" " --author avec -l, afficher l'auteur de chaque fichier\n" " -b, --escape afficher les caractères non graphiques avec " "des\n" " protections selon le style C\n" #: src/ls.c:4734 msgid "" " --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" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime, newest first\n" msgstr "" " --block-size=SIZE convertir les tailles en SIZE avant de les\n" " afficher. Par exemple, « --block-size=M » " "affiche\n" " les tailles en unités de 1 048 576 octets.\n" " Consultez le format SIZE ci-dessous.\n" " -B, --ignore-backups ne pas inclure les entrées se terminant par ~ " "dans\n" " la liste.\n" " -c avec -lt : afficher et trier selon ctime (date " "de\n" " dernière modification provenant des " "informations\n" " d'état du fichier)\n" " avec -l : afficher ctime et trier selon le " "nom\n" " autrement : trier selon ctime\n" #: src/ls.c:4744 msgid "" " -C list entries by columns\n" " --color[=WHEN] colorize the output. WHEN defaults to " "'always'\n" " or can be 'never' or 'auto'. More info " "below\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" " -C afficher les noms en colonnes\n" " --color[=WHEN] colorier la sortie. Par défaut, WHEN est défini " "à\n" " « always » (toujours) mais peut aussi être\n" " « never » (jamais) ou " "« auto » (automatique).\n" " -d, --directory afficher les noms de répertoires plutôt que " "leur\n" " contenu sans déréférencer les liens " "symboliques\n" " -D, --dired générer une sortie adaptée au mode « dired »\n" " d'Emacs\n" #: src/ls.c:4752 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append '*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" " -f ne pas trier, activer -aU, désactiver -ls --" "color\n" " -F, --classify ajouter un indicateur (parmi */=>@|) aux " "entrées\n" " --file-type identique mais sans ajout de « * »\n" " --format=WORD « across » -x (croisé), « commas » -m (avec\n" " virgules), « horizontal » -x (horizontal),\n" " « long » -l (long), « single-column » -1 " "(une\n" " seule colonne), « verbose » -l (bavard),\n" " « vertical » -C (vertical)\n" " --full-time identique à -l --time-style=full-iso\n" #: src/ls.c:4760 msgid " -g like -l, but do not list owner\n" msgstr "" " -g identique à -l mais sans afficher le " "propriétaire\n" #: src/ls.c:4763 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" " --group-directories-first\n" " regrouper les répertoires avant les fichiers.\n" " Augmenter avec une option --sort, mais toute\n" " utilisation de --sort=none (-U) inhibe le\n" " regroupement\n" #: src/ls.c:4769 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" " -G, --no-group dans une longue liste, ne pas afficher les noms " "de\n" " groupe\n" " -h, --human-readable avec -l, afficher les tailles au format " "lisible\n" " (par exemple 1K, 234M ou 2G)\n" " --si similaire, mais utiliser une puissance de 1 000 " "au\n" " lieu de 1 024\n" #: src/ls.c:4775 msgid "" " -H, --dereference-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" " (overridden by -a or -A)\n" msgstr "" " -H, --dereference-command-line\n" " suivre les liens symboliques en ligne de " "commande\n" " --dereference-command-line-symlink-to-dir\n" " suivre tous les liens symboliques en ligne de\n" " commande qui pointent vers un répertoire\n" " --hide=PATTERN ne pas afficher les entrées implicites\n" " correspondant au PATTERN de l'interpréteur\n" " (écrasé par -a ou -A)\n" #: src/ls.c:4785 msgid "" " --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" " -k, --kibibytes use 1024-byte blocks\n" msgstr "" " --indicator-style=WORD ajouter un indicateur de type à chaque entrée, " "en\n" " respectant le style indiqué par WORD : " "« none »\n" " (aucun suffixe, par défaut), " "« slash » (barre\n" " oblique, comme l'option -p), « file-" "type » (type\n" " de fichier, comme --file-type) ou " "« classify »\n" " (secret, comme l'option -F)\n" " -i, --inode afficher le numéro d'index de chaque fichier\n" " -I, --ignore=PATTERN ne pas afficher les entrées implicites\n" " correspondant au PATTERN de l'interpréteur\n" " -k, --kibibytes utiliser des blocs de 1024 octets\n" #: src/ls.c:4795 msgid "" " -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" msgstr "" " -l utiliser le format long d'affichage\n" " -L, --dereference afficher les renseignements sur les fichiers\n" " référencés par les liens symboliques plutôt\n" " que sur les liens symboliques eux-mêmes\n" " -m remplir la largeur avec une liste d'entrées\n" " séparées par des virgules\n" #: src/ls.c:4803 msgid "" " -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" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" " -n, --numeric-uid-gid identique à -l, mais afficher les valeurs\n" " numériques des UID et GID\n" " -N, --literal afficher les noms bruts (sans traiter " "spécialement\n" " les caractères de contrôle par exemple)\n" " -o identique à -l mais sans afficher les " "informations\n" " de groupe\n" " -p, --indicator-style=slash ajouter l'indicateur « / » aux répertoires\n" #: src/ls.c:4811 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\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, c, " "escape\n" msgstr "" " -q, --hide-control-chars afficher « ? » au lieu de caractères non " "graphiques\n" " --show-control-chars afficher les caractères non graphiques tel " "quel\n" " (par défaut)\n" " -Q, --quote-name encapsuler chaque nom d'entrée entre " "guillemets\n" " --quoting-style=WORD utiliser le style d'encapsultation défini par\n" " WORD : « literal », « shell », « shell-" "always »,\n" " « c » ou « escape »\n" #: src/ls.c:4820 msgid "" " -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" msgstr "" " -r, --reverse inverser l'ordre de tri\n" " -R, --recursive afficher récursivement les sous-répertoires\n" " -s, --size afficher la taille d'allocation de chaque " "fichier,\n" " en bloc\n" #: src/ls.c:4825 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" " -S trier selon la taille des fichiers\n" " --sort=WORD trier selon WORD au lieu du nom : " "« none » (aucun,\n" " -U), « extension » (extension, -X), « size »\n" " (taille, -S), « date » (date, -t) ou " "« version »\n" " (version, -v)\n" " --time=WORD avec -l, afficher la date selon WORD au lieu " "de\n" " la date de modification : « atime » -u,\n" " « access » -u, « use » -u, « ctime » -c ou\n" " « status » -c ; utiliser la date indiquée " "comme\n" " clef de tri si --sort=time\n" #: src/ls.c:4835 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like 'date'; if FORMAT " "is\n" " FORMAT1<newline>FORMAT2, FORMAT1 applies to\n" " 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" msgstr "" " --time-style=STYLE avec -l, afficher les dates selon STYLE :\n" " « full-iso », « long-iso », « iso »,\n" " « locale » ou « +FORMAT ».\n" " FORMAT est interprété comme « date ». Si\n" " FORMAT est FORMAT1<changement de " "ligne>FORMAT2,\n" " FORMAT1 s'applique aux fichiers non récents " "et\n" " FORMAT2 aux fichiers récents. Si STYLE est\n" " préfixé par « posix- », STYLE ne prend effet\n" " qu'en dehors des paramètres régionaux POSIX.\n" # Stéphane : « récent d'abord » est court et évite de dépasser 79 cols #: src/ls.c:4844 msgid "" " -t sort by modification time, newest first\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" " -t trier selon la date de modification, récent " "d'abord\n" " -T, --tabsize=COLS utiliser des tabulations à chaque COLS au lieu " "de 8\n" #: src/ls.c:4848 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v natural sort of (version) numbers within text\n" msgstr "" " -u avec -lt, afficher et trier selon la date " "d'accès ;\n" " avec -l, afficher la date d'accès et trier " "par\n" " nom ; sinon trier selon la date d'accès\n" " -U ne pas trier, afficher les entrées dans l'ordre " "du\n" " répertoire\n" " -v tri naturel des numéros (de versions) dans le " "texte\n" #: src/ls.c:4855 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" " -w, --width=COLS définir la largeur de l'écran au lieu de la " "valeur\n" " actuelle\n" " -x afficher les entrées en ligne au lieu de " "colonne\n" " -X trier alphabétiquement selon les extension des\n" " entrées\n" " -Z, --context afficher les contextes de sécurité SELinux de\n" " tous les fichiers\n" " -1 afficher un fichier par ligne\n" #: src/ls.c:4865 msgid "" "\n" "Using color to distinguish file types is disabled both by default and\n" "with --color=never. With --color=auto, ls emits color codes only when\n" "standard output is connected to a terminal. The LS_COLORS environment\n" "variable can change the settings. Use the dircolors command to set it.\n" msgstr "" "\n" "L'utilisation de la couleur pour distinguer les types de fichier est " "désactivée\n" "par défaut et avec --color=never (jamais). Avec color=auto, ls émet des " "codes\n" "couleur seulement quand la sortie standard est connectée à un terminal. La\n" "variable d'environnement LS_COLORS peut modifier les paramètres. Utilisez " "la\n" "commande dircolors pour le définir.\n" #: src/ls.c:4872 msgid "" "\n" "Exit status:\n" " 0 if OK,\n" " 1 if minor problems (e.g., cannot access subdirectory),\n" " 2 if serious trouble (e.g., cannot access command-line argument).\n" msgstr "" "\n" "État de sortie :\n" " 0 en cas de succès,\n" " 1 en cas de problème mineur (comme impossible d'accéder à un sous-" "répertoire),\n" " 2 en cas de problème majeur (comme impossible d'accéder à un argument de " "ligne\n" " de commande).\n" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 src/seq.c:39 msgid "Ulrich Drepper" msgstr "Ulrich Drepper" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:95 msgid "Scott Miller" msgstr "Scott Miller" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:96 msgid "David Madore" msgstr "David Madore" #: src/md5sum.c:164 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Utilisation : %s [OPTION]... [FILE]...\n" "Afficher ou vérifier les sommes de contrôle %s (%d bits).\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" "\n" #: src/md5sum.c:174 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" " -b, --binary lire en mode binaire (par défaut sauf en lecture " "depuis\n" " l'entrée standard de tty)\n" #: src/md5sum.c:178 msgid " -b, --binary read in binary mode\n" msgstr " -b, --binary lire en mode binaire\n" # Ajout volontaire de place pour l'argument (Stéphane) #: src/md5sum.c:181 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" " -c, --check lire les sommes %s à partir des FILEs et les " "vérifier\n" #: src/md5sum.c:184 msgid " --tag create a BSD-style checksum\n" msgstr " --tag créer une somme de contrôle de type BSD\n" #: src/md5sum.c:188 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" " -t, --text lire en mode texte (par défaut sauf en lecture " "depuis\n" " l'entrée standard de tty)\n" #: src/md5sum.c:192 msgid " -t, --text read in text mode (default)\n" msgstr " -t, --text lire en mode texte (par défaut)\n" #: src/md5sum.c:195 msgid "" "\n" "The following three options are useful only when verifying checksums:\n" " --quiet don't print OK for each successfully verified file\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" "\n" "Les trois options suivantes sont utiles qu'en vérifiant des sommes de " "contrôle :\n" " --quiet ne pas afficher OK à chaque vérification réussie\n" " --status ne rien afficher, seul le code d'état est mis à jour\n" " -w, --warn avertir en cas de lignes de contrôle mal formatées\n" "\n" #: src/md5sum.c:203 msgid "" " --strict with --check, exit non-zero for any invalid input\n" msgstr "" " --strict avec --check, quitter avec un code de retour non nul " "pour\n" " toute entrée incorrecte\n" # Un peu d'espace en fin de ligne pour la norme... (Stéphane) #: src/md5sum.c:208 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating input mode ('*' for binary,\n" "space for text), and name for each FILE.\n" msgstr "" "\n" "Les sommes sont calculées selon %s. Lors de la vérification, l'entrée\n" "devrait être formellement une sortie de ce programme. Le mode par défaut " "est\n" "d'afficher la ligne avec la somme de contrôle, un caractère indiquant le " "mode\n" "d'entrée (« * » pour binaire, espace pour texte) et un nom pour chaque " "FICHIER.\n" #: src/md5sum.c:523 #, c-format msgid "%s: too many checksum lines" msgstr "%s : trop de lignes de somme de contrôle" #: src/md5sum.c:547 #, c-format msgid "%s: %<PRIuMAX>: improperly formatted %s checksum line" msgstr "%s : %<PRIuMAX> : ligne de somme de contrôle %s mal formatée" #: src/md5sum.c:572 #, c-format msgid "%s: FAILED open or read\n" msgstr "%s : Échec d'ouverture ou de lecture.\n" #: src/md5sum.c:595 msgid "FAILED" msgstr "Échec" #: src/md5sum.c:597 msgid "OK" msgstr "Réussi" #: src/md5sum.c:621 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "%s : aucune ligne de somme de contrôle %s trouvée" #: src/md5sum.c:631 #, c-format msgid "WARNING: %<PRIuMAX> line is improperly formatted" msgid_plural "WARNING: %<PRIuMAX> lines are improperly formatted" msgstr[0] "Attention : la ligne %<PRIuMAX> n'est pas correctement formatée" msgstr[1] "" "Attention : les lignes %<PRIuMAX> ne sont pas correctement formatées" #: src/md5sum.c:639 #, c-format msgid "WARNING: %<PRIuMAX> listed file could not be read" msgid_plural "WARNING: %<PRIuMAX> listed files could not be read" msgstr[0] "Attention : le fichier %<PRIuMAX> affiché n'a pas pu être lu" msgstr[1] "Attention : les fichiers %<PRIuMAX> affichés n'ont pas pu être lus" #: src/md5sum.c:647 #, c-format msgid "WARNING: %<PRIuMAX> computed checksum did NOT match" msgid_plural "WARNING: %<PRIuMAX> computed checksums did NOT match" msgstr[0] "Attention : la somme de contrôle %<PRIuMAX> ne correspond pas" msgstr[1] "Attention : les sommes de contrôle %<PRIuMAX> ne correspondent pas" #: src/md5sum.c:760 #, c-format msgid "--tag does not support --text mode" msgstr "--tag ne prend pas en charge le mode --text" #: src/md5sum.c:766 #, c-format msgid "the --tag option is meaningless when verifying checksums" msgstr "" "l'option --tag est sans effet lors de la vérification des sommes de contrôle" #: src/md5sum.c:773 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" "les options --binary et --text sont sans effet lors de la la vérification " "des sommes de contrôle" #: src/md5sum.c:781 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" "l'option --status n'a de sens que lors de la vérification des sommes de " "contrôle" #: src/md5sum.c:788 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" "l'option --warn n'a de sens que lors de la vérification des sommes de " "contrôle" #: src/md5sum.c:795 #, c-format msgid "the --quiet option is meaningful only when verifying checksums" msgstr "" "l'option --quiet n'a de sens que lors de la vérification des sommes de " "contrôle" #: src/md5sum.c:802 #, c-format msgid "the --strict option is meaningful only when verifying checksums" msgstr "" "l'option --strict n'a de sens que lors de la vérification des sommes de " "contrôle" #: src/mkdir.c:56 src/rmdir.c:164 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "Utilisation : %s [OPTION]... DIRECTORY...\n" #: src/mkdir.c:57 msgid "Create the DIRECTORY(ies), if they do not already exist.\n" msgstr "Créer le ou les répertoires DIRECTORY s'ils n'existent pas.\n" #: src/mkdir.c:63 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" " -m, --mode=MODE définir l'accès fichier à MODE (comme avec chmod),\n" " et non a=rwx - umask\n" " -p, --parents créer les répertoires parents nécessaire, sans erreur\n" " s'ils existent\n" " -v, --verbose afficher un message pour chaque répertoire créé\n" " -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de " "chaque\n" " répertoire créé\n" #: src/mkdir.c:168 #, c-format msgid "created directory %s" msgstr "création du répertoire %s" #: src/mkfifo.c:51 src/pathchk.c:89 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "Utilisation : %s [OPTION]... NAME...\n" #: src/mkfifo.c:52 msgid "Create named pipes (FIFOs) with the given NAMEs.\n" msgstr "Créer des tubes nommés (FIFO) avec les noms NAMEs.\n" #: src/mkfifo.c:58 src/mknod.c:60 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" " -m, --mode=MODE définir les bits de droits du fichier à MODE,\n" " et non a=rw - umask\n" #: src/mkfifo.c:61 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" " -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de\n" " chaque NAME\n" #: src/mkfifo.c:121 src/mknod.c:127 #, c-format msgid "invalid mode" msgstr "mode incorrect" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "mode must specify only file permission bits" msgstr "le mode ne doit indiquer que les bits de droits de fichier" #: src/mknod.c:52 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "Utilisation : %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #: src/mknod.c:54 msgid "Create the special file NAME of the given TYPE.\n" msgstr "Créer le fichier spécial avec le nom NAME et le TYPE donnés.\n" #: src/mknod.c:63 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" " -Z, --context=CTX définir à CTX le contexte de sécurité SELinux de NAME\n" #: src/mknod.c:68 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" "\n" "MAJOR et MINOR doivent tous deux être indiqués quand le TYPE est b, c ou u,\n" "et ils doivent être omis lorsque le TYPE est p. Si MAJOR et MINOR, avec 0x\n" "ou 0X, sont fournis, ils sont interprétés en hexadécimal ; autrement, s'ils\n" "débutent par 0, ils le sont en octal et sinon en décimal. Le TYPE peut " "être :\n" #: src/mknod.c:75 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" "\n" " b créer un fichier spécial de type bloc (avec tampon)\n" " c, u créer un fichier spécial de type caractère (sans tampon)\n" " p créer un FIFO\n" #: src/mknod.c:150 msgid "Special files require major and minor device numbers." msgstr "" "Les fichiers spéciaux nécessitent les numéros majeur et mineur de " "périphériques." #: src/mknod.c:160 msgid "Fifos do not have major and minor device numbers." msgstr "Les FIFOs n'ont pas de numéros mineur et majeur de périphérique." #: src/mknod.c:176 #, c-format msgid "block special files not supported" msgstr "fichier spécial de bloc non pris en charge" #: src/mknod.c:185 #, c-format msgid "character special files not supported" msgstr "fichier spécial de caractères non pris en charge" #: src/mknod.c:201 #, c-format msgid "invalid major device number %s" msgstr "numéro majeur %s de périphérique incorrect" #: src/mknod.c:206 #, c-format msgid "invalid minor device number %s" msgstr "numéro mineur %s de périphérique incorrect" #: src/mknod.c:211 #, c-format msgid "invalid device %s %s" msgstr "périphérique incorrect %s %s" #: src/mknod.c:225 #, c-format msgid "invalid device type %s" msgstr "type de périphérique %s incorrect" #. This is a proper name. See the gettext manual, section Names. #: src/mktemp.c:37 msgid "Eric Blake" msgstr "Eric Blake" #: src/mktemp.c:68 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "Utilisation : %s [OPTION]... [TEMPLATE]\n" #: src/mktemp.c:69 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "TEMPLATE must contain at least 3 consecutive 'X's in last component.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.\n" msgstr "" "Créer un fichier ou un répertoire temporaire, sûrs, et afficher leur nom.\n" "TEMPLATE doit contenir au moins trois « X » consécutifs dans la partie " "finale.\n" "Si TEMPLATE n'est pas indiqué, tmp.XXXXXXXXXX et --tmpdir sont utilisés.\n" #: src/mktemp.c:74 msgid "" "Files are created u+rw, and directories u+rwx, minus umask restrictions.\n" msgstr "" "Les fichiers sont créés u+rw et les répertoires u+rwx, sauf restrictions de " "umask.\n" #: src/mktemp.c:78 msgid "" " -d, --directory create a directory, not a file\n" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" " -d, --directory créer un répertoire et non un fichier\n" " -u, --dry-run ne rien créer, n'afficher qu'un nom (non sûr)\n" " -q, --quiet ne pas afficher les diagnostiques d'échec de création\n" " des fichiers ou répertoires\n" #: src/mktemp.c:83 msgid "" " --suffix=SUFF append SUFF to TEMPLATE. SUFF must not contain " "slash.\n" " This option is implied if TEMPLATE does not end in " "X.\n" msgstr "" " --suffix=SUFF ajouter SUFF à TEMPLATE, SUFF ne doit pas contenir de\n" " barre oblique. Cette option est utilisée si TEMPLATE\n" " ne se termine pas par un X.\n" #: src/mktemp.c:87 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is not\n" " specified, use $TMPDIR if set, else /tmp. With\n" " this option, TEMPLATE must not be an absolute name.\n" " Unlike with -t, TEMPLATE may contain slashes, but\n" " mktemp creates only the final component\n" msgstr "" " --tmpdir[=DIR] interpréter TEMPLATE en relation avec DIR. Si DIR " "n'est\n" " pas indiqué, utiliser $TMPDIR si défini ou /tmp " "sinon.\n" " Avec cette option, TEMPLATE ne doit pas être un nom\n" " absolu. Contrairement à -t, TEMPLATE peut contenir " "des\n" " barres obliques, mais mktemp ne crée que la partie\n" " finale\n" #: src/mktemp.c:95 msgid "" " -p DIR use DIR as a prefix; implies -t [deprecated]\n" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" " -p DIR utiliser DIR comme préfixe, implique -t [déconseillé]\n" " -t interpréter TEMPLATE comme un seul composant de nom " "de\n" " fichier, relatif au répertoire $TMPDIR s'il est " "défini ;\n" " ou à défaut le répertoire indiqué par -p ; ou sinon /" "tmp\n" " [déconseillé]\n" #: src/mktemp.c:223 #, c-format msgid "failed to redirect stderr to /dev/null" msgstr "impossible de rediriger la sortie d'erreur standard vers /dev/null" #: src/mktemp.c:229 #, c-format msgid "too many templates" msgstr "trop de modèles" #: src/mktemp.c:249 #, c-format msgid "with --suffix, template %s must end in X" msgstr "avec --suffix, le modèle %s doit se terminer par un X" #: src/mktemp.c:274 src/split.c:1130 #, c-format msgid "invalid suffix %s, contains directory separator" msgstr "" "le suffixe %s est incorrect car il contient un séparateur de répertoires" #: src/mktemp.c:279 #, c-format msgid "too few X's in template %s" msgstr "trop peu de X dans le modèle %s" #: src/mktemp.c:292 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "modèle incorrect, %s, contient des séparateurs de répertoires" #: src/mktemp.c:306 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "modèle incorrect, %s ; avec --tmpdir, il ne peut pas être absolu" #: src/mktemp.c:326 #, c-format msgid "failed to create directory via template %s" msgstr "impossible de créer le répertoire à partir du modèle %s" #: src/mktemp.c:336 #, c-format msgid "failed to create file via template %s" msgstr "impossible de créer le fichier à partir du modèle %s" #: src/mv.c:292 msgid "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" msgstr "" "Renommer SOURCE en DEST, ou déplacer le ou les SOURCEs vers DIRECTORY.\n" #: src/mv.c:298 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" " -n, --no-clobber do not overwrite an existing file\n" "If you specify more than one of -i, -f, -n, only the final one takes " "effect.\n" msgstr "" " --backup[=CONTROL] archiver chaque fichier de destination " "existant\n" " -b identique à --backup mais sans argument\n" " -f, --force ne pas demander de confirmation avant " "d'écraser\n" " -i, --interactive demander confirmation avant d'écraser\n" " -n, --no-clobber ne pas écraser les fichiers existants\n" "Si vous indiquez plusieurs options parmi -i, -f, -n, seule la dernière sera\n" "effective.\n" #: src/mv.c:307 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" " --strip-trailing-slashes enlever les « / » en suffixe de tous les\n" " arguments SOURCE\n" " -S, --suffix=SUFFIX écraser le suffixe usuel d'archivage\n" #: src/mv.c:312 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" " -t, --target-directory=DIRECTORY déplacer tous les arguments SOURCE vers\n" " DIRECTORY\n" " -T, --no-target-directory traiter DEST comme un fichier normal\n" " -u, --update ne déplacer que si le fichier SOURCE est " "plus\n" " récent que le fichier cible ou si aucun " "fichier\n" " cible n'existe\n" " -v, --verbose expliquer ce qui est fait\n" #: src/nice.c:72 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "Utilisation : %s [OPTION] [COMMAND] [ARG]...\n" #: src/nice.c:73 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Niceness values range from\n" "%d (most favorable to the process) to %d (least favorable to the process).\n" msgstr "" "Exécuter COMMAND avec un niveau de priorité ajusté, modifiant la priorité\n" "d'ordonnancement du processus.\n" "Sans COMMAND, afficher le niveau de priorité actuel. L'étendue des niveaux " "va de\n" "%d (priorité la plus favorable au processus) à %d (la moins favorable).\n" #: src/nice.c:82 msgid " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" " -n, --adjustment=N ajoute la valeur entière N à la valeur de la priorité\n" " (10 par défaut)\n" #: src/nice.c:172 #, c-format msgid "invalid adjustment %s" msgstr "ajustement %s incorrect" #: src/nice.c:181 #, c-format msgid "a command must be given with an adjustment" msgstr "une commande doit être indiquée avec un ajustement" #: src/nice.c:188 src/nice.c:199 #, c-format msgid "cannot get niceness" msgstr "impossible d'obtenir le niveau de priorité" #: src/nice.c:205 #, c-format msgid "cannot set niceness" msgstr "impossible de définir le niveau de priorité" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:40 msgid "Scott Bartram" msgstr "Scott Bartram" #: src/nl.c:179 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Afficher chaque FILE sur la sortie standard avec les numéros de ligne.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/nl.c:186 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" " -b, --body-numbering=STYLE utiliser STYLE pour numéroter les lignes\n" " -d, --section-delimiter=CC utiliser CC pour séparer les pages " "logiques\n" " -f, --footer-numbering=STYLE utiliser STYLE pour numéroter les lignes " "de\n" " bas de page\n" #: src/nl.c:191 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --line-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" " -h, --header-numbering=STYLE utiliser STYLE pour numéroter les lignes\n" " d'en-tête\n" " -i, --line-increment=N incrémenter en nombre de lignes à chaque " "ligne\n" " -l, --join-blank-lines=N regrouper N lignes vides comme une seule " "ligne\n" " -n, --number-format=FORMAT insérer des numéros de ligne selon le " "FORMAT\n" " -p, --no-renumber ne pas réinitialiser le nombre de lignes " "aux\n" " pages logiques\n" " -s, --number-separator=STRING ajouter STRING après le numéro de ligne " "(si\n" " possible)\n" #: src/nl.c:199 msgid "" " -v, --starting-line-number=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" " -v, --starting-line-number=N premier numéro de ligne sur toutes les\n" " pages logiques\n" " -w, --number-width=N utiliser N colonnes pour les numéros de " "ligne\n" #: src/nl.c:205 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" "\n" "Par défaut, sélectionne v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" "CC se compose de deux caractères délimiteurs pour séparer les pages " "logiques,\n" "L'absence du deuxième caractère équivaut à « : ». Saisissez « \\\\ » pour " "« \\ ».\n" "STYLE est une des options parmi :\n" "\n" #: src/nl.c:211 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" "\n" " a numéroter toutes les lignes\n" " t ne numéroter que les lignes non vides\n" " n numéroter n lignes\n" " pBRE ne numéroter que les lignes correspondantes à l'expression\n" " rationnelle de base, BRE\n" "\n" "FORMAT doit être choisi parmi :\n" "\n" " ln justifié à gauche, sans zéro en préfixe\n" " rn justifié à droite, sans zéro en préfixe\n" " rz justifié à droite, avec zéros en préfixe\n" "\n" #: src/nl.c:278 #, c-format msgid "line number overflow" msgstr "débordement du numéro de ligne" #: src/nl.c:478 #, c-format msgid "invalid header numbering style: %s" msgstr "style de numérotation d'en-tête incorrect : %s" #: src/nl.c:486 #, c-format msgid "invalid body numbering style: %s" msgstr "style de numérotation de corps incorrect : %s" #: src/nl.c:494 #, c-format msgid "invalid footer numbering style: %s" msgstr "style de numérotation de pied de page incorrect : %s" #: src/nl.c:503 #, c-format msgid "invalid starting line number: %s" msgstr "numéro de ligne de départ incorrect : %s" #: src/nl.c:512 #, c-format msgid "invalid line number increment: %s" msgstr "incrément de nombre de ligne incorrect : %s" #: src/nl.c:524 #, c-format msgid "invalid number of blank lines: %s" msgstr "nombre de lignes blanches incorrect : %s" #: src/nl.c:538 #, c-format msgid "invalid line number field width: %s" msgstr "largeur du champ de numérotation de ligne incorrect : %s" #: src/nl.c:557 #, c-format msgid "invalid line numbering format: %s" msgstr "format de numérotation de ligne incorrect : %s" #: src/nohup.c:53 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s COMMAND [ARG]...\n" " ou : %s OPTION\n" #: src/nohup.c:59 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" "Exécuter COMMAND en ignorant les signaux de déconnexion.\n" "\n" #: src/nohup.c:65 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to 'nohup.out' if possible,\n" "'$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use '%s COMMAND > FILE'.\n" msgstr "" "\n" "Si l'entrée standard est un terminal, la rediriger depuis /dev/null.\n" "Si l'entrée standard est un terminal, ajouter si possible la sortie à\n" "« nohup.out » ou à « $HOME/nohup.out » sinon.\n" "Si la sortie d'erreur standard est un terminal, la rediriger vers la sortie\n" "standard.\n" "Pour enregistrer la sortie dans FILE, utilisez « %s COMMAND > FILE ».\n" #: src/nohup.c:127 #, c-format msgid "failed to render standard input unusable" msgstr "impossible de rendre inutilisable la sortie standard" #: src/nohup.c:131 #, c-format msgid "ignoring input" msgstr "les entrées sont ignorées" #: src/nohup.c:175 #, c-format msgid "ignoring input and appending output to %s" msgstr "les entrées sont ignorées et la sortie est ajoutée à %s" #: src/nohup.c:176 #, c-format msgid "appending output to %s" msgstr "la sortie est ajoutée à %s" #: src/nohup.c:193 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" "échec de copie sur la sortie d'erreur standard pour terminer l'exécution" #: src/nohup.c:198 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" "entrée ignorée et sortie d'erreur standard redirigée vers la sortie standard" #: src/nohup.c:199 #, c-format msgid "redirecting stderr to stdout" msgstr "redirection de la sortie d'erreur standard vers la sortie standard" #: src/nohup.c:203 #, c-format msgid "failed to redirect standard error" msgstr "échec de redirection vers la sortie d'erreur standard" #. This is a proper name. See the gettext manual, section Names. #: src/nproc.c:33 msgid "Giuseppe Scrivano" msgstr "Giuseppe Scrivano" #: src/nproc.c:57 src/pwd.c:56 src/tty.c:64 src/uname.c:120 src/whoami.c:44 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Utilisation : %s [OPTION]...\n" #: src/nproc.c:58 msgid "" "Print the number of processing units available to the current process,\n" "which may be less than the number of online processors\n" "\n" msgstr "" "Afficher le nombre d'unités de traitement disponibles pour le processus " "actuel,\n" "qui peut être inférieur au nombre de processeurs actifs\n" #: src/nproc.c:63 msgid "" " --all print the number of installed processors\n" " --ignore=N if possible, exclude N processing units\n" msgstr "" " --all afficher le nombre de processeurs installés\n" " --ignore=N si possible, exclure N unités de traitement\n" #: src/nproc.c:107 #, c-format msgid "%s: invalid number to ignore" msgstr "%s : nombre à ignorer incorrect" #. This is a proper name. See the gettext manual, section Names. #: src/numfmt.c:35 msgid "Assaf Gordon" msgstr "Assaf Gordon" #: src/numfmt.c:676 #, c-format msgid "value too large to be converted: '%s'" msgstr "valeur trop grande pour être convertie : « %s »" #: src/numfmt.c:680 #, c-format msgid "invalid number: '%s'" msgstr "nombre incorrect : « %s »" #: src/numfmt.c:684 #, c-format msgid "rejecting suffix in input: '%s' (consider using --from)" msgstr "rejet du suffixe en entrée : « %s » (songez à utiliser --from)" #: src/numfmt.c:688 #, c-format msgid "invalid suffix in input: '%s'" msgstr "suffixe incorrect en entrée : « %s »" #: src/numfmt.c:692 #, c-format msgid "missing 'i' suffix in input: '%s' (e.g Ki/Mi/Gi)" msgstr "suffixe « i » manquant en entrée : « %s » (par exemple Ki, Mi ou Gi)" #: src/numfmt.c:723 #, c-format msgid "failed to prepare value '%Lf' for printing" msgstr "échec de préparation de la valeur « %Lf » pour l'affichage" #: src/numfmt.c:787 #, c-format msgid "invalid unit size: '%s'" msgstr "taille d'unité incorrecte : « %s »" #: src/numfmt.c:802 src/numfmt.c:1025 src/numfmt.c:1032 #, c-format msgid "out of memory (requested %zu bytes)" msgstr "plus de mémoire (%zu octets demandés)" #: src/numfmt.c:813 #, c-format msgid "Usage: %s [OPTION]... [NUMBER]...\n" msgstr "Utilisation : %s [OPTION]... [NUMBER]...\n" #: src/numfmt.c:816 msgid "" "Reformat NUMBER(s), or the numbers from standard input if none are " "specified.\n" msgstr "" "Reformater le ou les NUMBERs, ou les nombres de l'entrée standard si aucun " "n'est indiqué.\n" #: src/numfmt.c:820 msgid " --debug print warnings about invalid input\n" msgstr "" " --debug afficher les avertissements en cas d'entrée " "incorrecte\n" #: src/numfmt.c:823 msgid "" " -d, --delimiter=X use X instead of whitespace for field delimiter\n" msgstr "" " -d, --delimiter=X utiliser X au lieu d'un blanc comme délimiteur de " "champ\n" #: src/numfmt.c:826 msgid "" " --field=N replace the number in input field N (default is 1)\n" msgstr "" " --field=N remplacer le nombre dans le champs d'entrée N\n" " (1 par défaut)\n" #: src/numfmt.c:829 msgid "" " --format=FORMAT use printf style floating-point FORMAT;\n" " see FORMAT below for details\n" msgstr "" " --format=FORMAT utiliser le le type printf de virgule flottante " "FORMAT ;\n" " consultez FORMAT plus bas pour des précisions\n" #: src/numfmt.c:833 msgid "" " --from=UNIT auto-scale input numbers to UNITs; default is " "'none';\n" " see UNIT below\n" msgstr "" " --from=UNIT mettre automatiquement à l'échelle « UNIT » les " "nombres\n" " en entrée ; « none » par défaut ; consultez UNIT\n" " plus bas\n" #: src/numfmt.c:837 msgid "" " --from-unit=N specify the input unit size (instead of the default " "1)\n" msgstr "" " --from-unit=N indiquer l'unité en entrée (au lieu de 1 par défaut)\n" #: src/numfmt.c:840 msgid "" " --grouping use locale-defined grouping of digits, e.g. " "1,000,000\n" " (which means it has no effect in the C/POSIX " "locale)\n" msgstr "" " --grouping grouper les chiffres ensemble (par exemple " "1 000 000)\n" " en utilisant le groupement défini dans les " "paramètres\n" " régionaux (donc sans effet avec les locales C/" "POSIX)\n" #: src/numfmt.c:844 msgid "" " --header[=N] print (without converting) the first N header lines;\n" " N defaults to 1 if not specified\n" msgstr "" " --header[=N] afficher (sans conversion) les N premières lignes\n" " d'en-tête ; N vaut 1 par défaut si non indiqué\n" #: src/numfmt.c:848 msgid "" " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" " abort (default), fail, warn, ignore\n" msgstr "" " --invalid=MODE mode d'échec pour les nombres incorrects ; MODE peut " "être\n" " « abort » (par défaut), « fail », « warn » ou " "« ignore »\n" #: src/numfmt.c:852 msgid "" " --padding=N pad the output to N characters; positive N will\n" " right-align; negative N will left-align;\n" " padding is ignored if the output is wider than N;\n" " the default is to automatically pad if a " "whitespace\n" " is found\n" msgstr "" " --padding=N remplir la sortie avec N caractères ; N positif " "alignera\n" " à droite. N négatif alignera à gauche ; le " "remplissage\n" " est ignoré si la sortie est plus grande que N ;\n" " le remplissage est automatique par défaut si un " "blanc\n" " est trouvé\n" #: src/numfmt.c:859 msgid "" " --round=METHOD use METHOD for rounding when scaling; METHOD can be:\n" " up, down, from-zero (default), towards-zero, " "nearest\n" msgstr "" " --round=METHOD utiliser METHOD pour arrondir lors de la mise à\n" " l'échelle ; METHOD peut être : « up », « down »,\n" " « from-zero » (par défaut), « towards-zero » ou\n" " « nearest »\n" #: src/numfmt.c:863 msgid "" " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional\n" " SUFFIX in input numbers\n" msgstr "" " --suffix=SUFFIX ajouter le SUFFIX aux nombres en sortie, et accepter " "le\n" " SUFFIX facultatif aux nombres en entrée\n" #: src/numfmt.c:867 msgid "" " --to=UNIT auto-scale output numbers to UNITs; see UNIT below\n" msgstr "" " --to=UNIT mettre à l'échelle automatiquement les nombres en " "sortie\n" " à « UNIT » ; consultez UNIT plus bas\n" #: src/numfmt.c:870 msgid "" " --to-unit=N the output unit size (instead of the default 1)\n" msgstr " --to-unit=N l'unité en sortie (au lieu de 1 par défaut)\n" #: src/numfmt.c:877 msgid "" "\n" "UNIT options:\n" msgstr "" "\n" "Options UNIT :\n" #: src/numfmt.c:880 msgid " none no auto-scaling is done; suffixes will trigger an error\n" msgstr "" " none aucune mise à l'échelle automatique n'est effectuée ;\n" " les suffixes déclencheront une erreur\n" #: src/numfmt.c:883 msgid "" " auto accept optional single/two letter suffix:\n" " 1K = 1000,\n" " 1Ki = 1024,\n" " 1M = 1000000,\n" " 1Mi = 1048576,\n" msgstr "" " auto accepter un suffixe facultatif d'une ou deux lettres :\n" " 1K = 1000 ;\n" " 1Ki = 1024 ;\n" " 1M = 1000000 ;\n" " 1Mi = 1048576 ;\n" " ...\n" #: src/numfmt.c:889 msgid "" " si accept optional single letter suffix:\n" " 1K = 1000,\n" " 1M = 1000000,\n" " ...\n" msgstr "" " si accepter un suffixe facultatif d'une lettre :\n" " 1K = 1000 ;\n" " 1M = 1000000 ;\n" " ...\n" #: src/numfmt.c:894 msgid "" " iec accept optional single letter suffix:\n" " 1K = 1024,\n" " 1M = 1048576,\n" " ...\n" msgstr "" " iec accepter un suffixe facultatif d'une lettre :\n" " 1K = 1024 ;\n" " 1M = 1048576 ;\n" " ...\n" #: src/numfmt.c:899 msgid "" " iec-i accept optional two-letter suffix:\n" " 1Ki = 1024,\n" " 1Mi = 1048576,\n" " ...\n" msgstr "" " iec-i accepter un suffixe facultatif de deux lettres :\n" " 1Ki = 1024 ;\n" " 1Mi = 1048576 ;\n" " ...\n" #: src/numfmt.c:905 #, c-format msgid "" "\n" "FORMAT must be suitable for printing one floating-point argument '%f'.\n" "Optional quote (%'f) will enable --grouping (if supported by current " "locale).\n" "Optional width value (%10f) will pad output. Optional negative width values\n" "(%-10f) will left-pad output.\n" msgstr "" "\n" "FORMAT doit être adapté à l'affichage d'un argument de virgule flottante " "« %f ».\n" "Le guillemet facultatif (%'f) activera --grouping (si permis avec les " "paramètres\n" "régionaux actuels). Une valeur de largeur facultative (%10f) remplira la " "sortie.\n" "Une valeur de largeur négative facultative (%-10f) remplira la sortie à " "gauche.\n" #: src/numfmt.c:912 #, c-format msgid "" "\n" "Exit status is 0 if all input numbers were successfully converted.\n" "By default, %s will stop at the first conversion error with exit status 2.\n" "With --invalid='fail' a warning is printed for each conversion error\n" "and the exit status is 2. With --invalid='warn' each conversion error is\n" "diagnosed, but the exit status is 0. With --invalid='ignore' conversion\n" "errors are not diagnosed and the exit status is 0.\n" msgstr "" "\n" "Le code de retour est 0 si tous les nombres en entrée ont été convertis\n" "sans erreur. Par défaut, %s s'arrêtera à la première erreur de conversion\n" "avec un code de retour de 2. Avec --invalid='fail', un avertissement est\n" "affiché à chaque erreur de conversion et le code de retour est 2. Avec\n" "--invalid='warn', toutes les erreurs de conversion sont diagnostiquées,\n" "mais le code de retour est 0. Avec --invalid='ignore', les erreur de\n" "conversion ne sont pas diagnostiquées, et le code de retour est 0.\n" #: src/numfmt.c:921 #, c-format msgid "" "\n" "Examples:\n" " $ %s --to=si 1000\n" " -> \"1.0K\"\n" " $ %s --to=iec 2048\n" " -> \"2.0K\"\n" " $ %s --to=iec-i 4096\n" " -> \"4.0Ki\"\n" " $ echo 1K | %s --from=si\n" " -> \"1000\"\n" " $ echo 1K | %s --from=iec\n" " -> \"1024\"\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" msgstr "" "\n" "Exemples :\n" " $ %s --to=si 1000\n" " → « 1,0K »\n" " $ %s --to=iec 2048\n" " → « 2,0K »\n" " $ %s --to=iec-i 4096\n" " → « 4,0Ki »\n" " $ echo 1K | %s --from=si\n" " → « 1000 »\n" " $ echo 1K | %s --from=iec\n" " → « 1024 »\n" " $ df | %s --header --field 2 --to=si\n" " $ ls -l | %s --header --field 5 --to=iec\n" " $ ls -lh | %s --header --field 5 --from=iec --padding=10\n" " $ ls -lh | %s --header --field 5 --from=iec --format %%10f\n" #: src/numfmt.c:974 src/seq.c:212 #, c-format msgid "format %s has no %% directive" msgstr "le format %s ne contient pas de directive %%" #: src/numfmt.c:990 #, c-format msgid "invalid format %s (width overflow)" msgstr "format %s incorrect (dépassement de largeur)" #: src/numfmt.c:1007 src/seq.c:229 #, c-format msgid "format %s ends in %%" msgstr "le format %s termine avec %%" #: src/numfmt.c:1010 #, c-format msgid "invalid format %s, directive must be %%['][-][N]f" msgstr "format %s incorrect, la directive doit être %%['][-][N]f" #: src/numfmt.c:1018 src/seq.c:236 #, c-format msgid "format %s has too many %% directives" msgstr "le format %s contient trop de directives %%" #: src/numfmt.c:1070 #, c-format msgid "invalid suffix in input '%s': '%s'" msgstr "suffixe incorrect dans l'entrée « %s » : « %s »" #: src/numfmt.c:1092 #, c-format msgid "value too large to be printed: '%Lg' (consider using --to)" msgstr "" "valeur trop grande pour être affichée : « %Lg » (songez à utiliser --to)" #: src/numfmt.c:1100 #, c-format msgid "value too large to be printed: '%Lg' (cannot handle values > 999Y)" msgstr "" "valeur trop grande pour être affichée : « %Lg » (impossible de gérer des " "valeurs supérieures à 999Y)" #: src/numfmt.c:1184 #, c-format msgid "large input value '%s': possible precision loss" msgstr "grande valeur d'entrée « %s » : perte de précisions potentielle" #: src/numfmt.c:1293 #, c-format msgid "input line is too short, no numbers found to convert in field %ld" msgstr "" "la ligne d'entrée est trop courte, aucun nombre à convertir n'a été trouvé " "dans le champ %ld" #: src/numfmt.c:1388 #, c-format msgid "invalid padding value '%s'" msgstr "valeur de remplissage « %s » incorrecte" #: src/numfmt.c:1401 #, c-format msgid "invalid field value '%s'" msgstr "valeur de champ « %s » incorrecte" #: src/numfmt.c:1430 #, c-format msgid "invalid header value '%s'" msgstr "valeur d'en-tête « %s » incorrecte" #: src/numfmt.c:1456 #, c-format msgid "--grouping cannot be combined with --format" msgstr "--grouping ne peut pas être combiné avec --format" #: src/numfmt.c:1458 #, c-format msgid "--padding cannot be combined with --format" msgstr "--padding ne peut pas être combiné avec --format" #: src/numfmt.c:1463 #, c-format msgid "no conversion option specified" msgstr "aucune option de conversion indiquée" #: src/numfmt.c:1471 #, c-format msgid "grouping cannot be combined with --to" msgstr "le groupement ne peut pas être combiné avec --format" #: src/numfmt.c:1473 #, c-format msgid "grouping has no effect in this locale" msgstr "le groupement n'a pas d'effet avec ces paramètres régionaux" #: src/numfmt.c:1486 #, c-format msgid "--header ignored with command-line input" msgstr "--header ignoré avec l'entrée en ligne de commande" #: src/numfmt.c:1511 #, c-format msgid "error reading input" msgstr "erreur de lecture de l'entrée" #: src/numfmt.c:1520 #, c-format msgid "failed to convert some of the input numbers" msgstr "impossible de convertir certains des nombres en entrée" #: src/od.c:294 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" "Utilisation : %s [OPTION]... [FILE]...\n" " ou : %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " ou : %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL]" "[.][b]]\n" #: src/od.c:300 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "\n" "Afficher sur la sortie standard et de manière non ambiguë, par défaut\n" "sous forme d'octets en représentation octale, le contenu du FILE.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" "\n" #: src/od.c:307 msgid "" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" "Si les formats du premier et du second appel s'appliquent, le 2e format est\n" "retenu si le dernier opérande débute par + ou (s'il y a 2 opérandes) un " "chiffre.\n" "Un opérande de décalage signifie -j OFFSET. LABEL est la pseudoadresse " "affichée\n" "dès le premier octet, incrémentée lorsque le vidage mémoire s'effectue.\n" "Pour OFFSET et LABEL, un préfixe 0x ou 0X indique de l'hexadécimal ;\n" "les suffixes peuvent être . pour l'octal et b pour multiple de 512.\n" #: src/od.c:318 msgid "" " -A, --address-radix=RADIX output format for file offsets. RADIX is one\n" " of [doxn], for Decimal, Octal, Hex or None\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" " -A, --address-radix=RADIX format de sortie pour les indices de fichier.\n" " RADIX est d, o, x ou n, pour décimal, " "octal,\n" " hexadécimal ou sans\n" " -j, --skip-bytes=BYTES ignorer BYTES premiers octets en entrée\n" #: src/od.c:323 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S BYTES, --strings[=BYTES] output strings of at least BYTES graphic " "chars.\n" " 3 is implied when BYTES is not specified\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w[BYTES], --width[=BYTES] output BYTES bytes per output line.\n" " 32 is implied when BYTES is not specified\n" " --traditional accept arguments in third form above\n" msgstr "" " -N, --read-bytes=BYTES limiter l'image à BYTES octets en entrée\n" " -S BYTES, --strings[=BYTES] afficher les chaînes d'au moins " "BYTES caractères\n" " graphiques. 3 est implicite sans BYTES\n" " -t, --format=TYPE sélectionner le ou les formats d'affichage\n" " -v, --output-duplicates ne pas utiliser * pour marquer la suppression\n" " -w, --width[=BYTES] afficher BYTES octets par ligne de sortie.\n" " 32 est implicite sans BYTES\n" " --traditional accepter les arguments sous la troisième\n" " forme précédente\n" #: src/od.c:336 msgid "" "\n" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" "\n" "\n" "Les spécifications de format traditionnel peuvent être entremêlées ;\n" "elles s'accumulent :\n" " -a identique à -t a, sélectionner les caractères nommés, en ignorant " "le\n" " bit de poids fort\n" " -b identique à -t o1, sélectionner les octets en octal\n" " -c identique à -t c, sélectionner les caractères ASCII ou les " "protections\n" " par barre oblique inverses\n" " -d identique à -t u2, sélectionner les décimaux non signées sur " "2 octets\n" #: src/od.c:345 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" " -f identique à -t fF, sélectionner les flottants\n" " -i identique à -t dI, sélectionner les entiers décimaux\n" " -l identique à -t dL, sélectionner les entiers décimaux longs\n" " -o identique à -t o2, sélectionner les nombres octaux sur 2 octets\n" " -s identique à -t d2, sélectionner les nombres décimaux sur 2 octets\n" " -x identique à -t x2, sélectionner les nombres hexadécimaux sur " "2 octets\n" #: src/od.c:353 msgid "" "\n" "\n" "TYPE is made up of one or more of these specifications:\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" "\n" "\n" "TYPE est composé d'une ou plusieurs des spécifications suivantes :\n" " a caractère nommé, en ignorant le bit de poids fort\n" " c caractère ASCII ou barre oblique inversé protégée\n" #: src/od.c:360 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" " d[SIZE] décimal signé, SIZE octets par entier\n" " f[SIZE] point flottant, SIZE octets par entier\n" " o[SIZE] octal, SIZE octets par entier\n" " u[SIZE] décimal non signé SIZE octets par entier\n" " x[SIZE] hexadécimal, SIZE octets par entier\n" #: src/od.c:367 msgid "" "\n" "SIZE is a number. For TYPE in [doux], SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" "\n" "SIZE est un nombre. Si le TYPE est d, o, u ou x, SIZE peut aussi être C " "pour\n" "sizeof(char), S pour sizeof(short), I pour sizeof(int) ou L pour sizeof" "(long).\n" "Si le TYPE est f, SIZE peut aussi être F pour sizeof(float), D pour\n" "sizeof(double) ou L pour sizeof(long double).\n" #: src/od.c:374 msgid "" "\n" "Adding a z suffix to any type displays printable characters at the end of\n" "each output line.\n" msgstr "" "\n" "L'ajout du suffixe « z » à l'un de ces types affiche des caractères\n" "imprimables à la fin de chaque ligne de résultat\n" #: src/od.c:379 msgid "" "\n" "\n" "BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:\n" " b 512\n" " KB 1000\n" " K 1024\n" " MB 1000*1000\n" " M 1024*1024\n" "and so on for G, T, P, E, Z, Y.\n" msgstr "" "\n" "\n" "BYTES est hexadécimal avec un préfixe 0x ou 0X, est peut avoir un\n" "suffixe multiplicateur :\n" " b 512 ;\n" " KB 1000 ;\n" " K 1024 ;\n" " MB 1000*1000 ;\n" " M 1024*1024 ;\n" "et ainsi de suite pour G, T, P, E, Z et Y.\n" #: src/od.c:639 src/od.c:759 #, c-format msgid "invalid type string %s" msgstr "type de chaîne %s incorrect" #: src/od.c:649 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" "type de chaîne %s incorrect ;\n" "ce système ne fournit pas de type entier sur %lu octets" #: src/od.c:770 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" "type de chaîne %s incorrect ;\n" "ce système ne fournit pas de type en point flottant sur %lu octets" #: src/od.c:828 #, c-format msgid "invalid character '%c' in type string %s" msgstr "caractère « %c » incorrect dans le type de chaîne %s" #: src/od.c:1053 #, c-format msgid "cannot skip past end of combined input" msgstr "impossible d'ignorer au delà de la fin de l'entrée combinée" #: src/od.c:1609 #, c-format msgid "invalid output address radix '%c'; it must be one character from [doxn]" msgstr "" "adresse radix de sortie « %c » incorrecte, ce doit être caractère parmi " "[doxn]" #: src/od.c:1735 #, c-format msgid "no type may be specified when dumping strings" msgstr "aucun type ne peut être indiqué lors de l'affichage brut des chaînes" #: src/od.c:1810 msgid "compatibility mode supports at most one file" msgstr "le mode de compatibilité ne prend pas en charge plusieurs fichiers" #: src/od.c:1831 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "octets ignorés + le nombre d'octets lus est trop grand" #: src/od.c:1874 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "avertissement : largeur %lu incorrecte ; %d sera utilisé à la place" #: src/operand2sig.c:69 #, c-format msgid "%s: invalid signal" msgstr "%s : signal incorrect" #: src/paste.c:220 #, c-format msgid "standard input is closed" msgstr "l'entrée standard est fermée" #: src/paste.c:439 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Écrire séquentiellement les lignes correspondantes de chaque\n" "FILE, séparées par des tabulations, vers la sortie standard.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/paste.c:447 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" " -d, --delimiters=LIST utiliser les caractères de LIST au lieu de " "tabulations\n" " -s, --serial copier un seul fichier à la fois au lieu de le " "faire\n" " en parallèle\n" #: src/paste.c:508 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" "la liste des délimiteurs termine avec une barre oblique inverse non " "neutralisée : %s" #: src/pathchk.c:90 msgid "" "Diagnose invalid or unportable file names.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" "Diagnostiquer les noms de fichiers incorrects ou non portables\n" "\n" " -p vérifier pour la majorité des système POSIX\n" " -P vérifier les noms vides et les « - » d'en-tête\n" " --portability vérifier pour tous les systèmes POSIX (équivalent à -p " "-P)\n" #: src/pathchk.c:170 #, c-format msgid "leading '-' in a component of file name %s" msgstr "« - » d'en-tête dans une partie du nom de fichier %s" #: src/pathchk.c:196 #, c-format msgid "nonportable character %s in file name %s" msgstr "caractère non portable %s dans le nom du fichier %s" #: src/pathchk.c:272 #, c-format msgid "empty file name" msgstr "nom de fichier vide" #: src/pathchk.c:314 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "%s : impossible de déterminer la longueur maximale du nom de fichier" #: src/pathchk.c:325 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "limite %lu dépassée par la longueur %lu du nom de fichier %s" #: src/pathchk.c:411 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" "limite %lu dépassée par la longueur %lu d'une partie du nom de fichier %s" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:36 src/uptime.c:45 src/users.c:35 src/who.c:48 msgid "Joseph Arceneaux" msgstr "Joseph Arceneaux" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:38 src/uptime.c:47 msgid "Kaveh Ghazi" msgstr "Kaveh Ghazi" #. TRANSLATORS: Real name is unknown; at most 19 characters. #: src/pinky.c:242 msgid " ???" msgstr " ???" #. TRANSLATORS: Idle time is unknown; at most 5 characters. #: src/pinky.c:266 msgid "?????" msgstr "?????" #: src/pinky.c:314 #, c-format msgid "Login name: " msgstr "Identifiant : " #: src/pinky.c:317 #, c-format msgid "In real life: " msgstr "Nom réel : " #. TRANSLATORS: Real name is unknown; no hard limit. #: src/pinky.c:321 msgid "???\n" msgstr "???\n" #: src/pinky.c:341 #, c-format msgid "Directory: " msgstr "Répertoire : " #: src/pinky.c:343 #, c-format msgid "Shell: " msgstr "Interpréteur : " #: src/pinky.c:362 #, c-format msgid "Project: " msgstr "Projet : " #: src/pinky.c:386 #, c-format msgid "Plan:\n" msgstr "Plan :\n" #: src/pinky.c:405 msgid "Login" msgstr "Identifiant" #: src/pinky.c:407 msgid "Name" msgstr "Nom" #: src/pinky.c:408 msgid " TTY" msgstr " TTY" #: src/pinky.c:410 msgid "Idle" msgstr "Disponible" #: src/pinky.c:411 msgid "When" msgstr "Quand" #: src/pinky.c:414 msgid "Where" msgstr "Où" #: src/pinky.c:493 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "Utilisation : %s [OPTION]... [USER]...\n" #: src/pinky.c:494 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" "\n" " -l afficher au format long pour les USERs indiqués\n" " -b omettre le répertoire personnel de l'utilisateur et son\n" " interpréteur de commandes au format long\n" " -h omettre le fichier de projet de l'utilisateur au format " "long\n" " -p omettre le fichier de plan de l'utilisateur au format " "long\n" " -s afficher au format court, c'est le comportement par " "défaut\n" #: src/pinky.c:502 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" " -f omettre la ligne d'en-tête des colonnes au format court\n" " -w omettre le nom complet de l'utilisateur au format court\n" " -i omettre le nom complet de l'utilisateur et le nom de " "l'hôte\n" " au format court\n" " -q omettre le nom complet de l'utilisateur, le nom de l'hôte\n" " et le temps d'inactivité au format court\n" #: src/pinky.c:511 #, c-format msgid "" "\n" "A lightweight 'finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" "\n" "Une version allégée du programme « finger » ; afficher les renseignements\n" "relatifs à un utilisateur. Le fichier utmp sera %s.\n" #: src/pinky.c:595 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" "aucun nom d'utilisateur indiqué ; au moins un doit être indiqué lorsque -l " "est utilisée" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Pete TerMaat" msgstr "Pete TerMaat" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:331 msgid "Roland Huebner" msgstr "Roland Huebner" #: src/pr.c:908 #, c-format msgid "'--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "argument « --page=FIRST_PAGE[:LAST_PAGE] » manquant" #: src/pr.c:910 #, c-format msgid "invalid page range %s" msgstr "intervalle de pages %s incorrect" #: src/pr.c:975 #, c-format msgid "'-l PAGE_LENGTH' invalid number of lines: %s" msgstr "« -l PAGE_LENGTH » nombre de lignes incorrect : %s" #: src/pr.c:999 #, c-format msgid "'-N NUMBER' invalid starting line number: %s" msgstr "« -N NUMBER » numéro de ligne de début incorrect : %s" #: src/pr.c:1011 #, c-format msgid "'-o MARGIN' invalid line offset: %s" msgstr "« -o MARGIN » saut de ligne incorrect : %s" #: src/pr.c:1052 #, c-format msgid "'-w PAGE_WIDTH' invalid number of characters: %s" msgstr "« -w PAGE_WIDTH » nombre de caractères incorrect : %s" #: src/pr.c:1066 #, c-format msgid "'-W PAGE_WIDTH' invalid number of characters: %s" msgstr "« -W PAGE_WIDTH » nombre de caractères incorrect : %s" #: src/pr.c:1096 #, c-format msgid "cannot specify number of columns when printing in parallel" msgstr "" "impossible d'indiquer le nombre de colonnes lors d'une impression en " "parallèle" #: src/pr.c:1100 #, c-format msgid "cannot specify both printing across and printing in parallel" msgstr "impossible d'indiquer un affichage à la fois croisé et en parallèle" #: src/pr.c:1196 #, c-format msgid "'-%c' extra characters or invalid number in the argument: %s" msgstr "caractères « -%c » superflus ou nombre incorrect dans l'argument : %s" #: src/pr.c:1293 #, c-format msgid "page width too narrow" msgstr "la largeur de page est trop petite" #: src/pr.c:2353 #, c-format msgid "starting page number %<PRIuMAX> exceeds page count %<PRIuMAX>" msgstr "" "le numéro %<PRIuMAX> de page de départ dépasse le décompte de page %<PRIuMAX>" #: src/pr.c:2380 #, c-format msgid "page number overflow" msgstr "débordement du numéro de page" #: src/pr.c:2385 #, c-format msgid "Page %<PRIuMAX>" msgstr "Page %<PRIuMAX>" #: src/pr.c:2757 msgid "Paginate or columnate FILE(s) for printing.\n" msgstr "Paginer ou mettre en colonne le ou les FILEs pour impression.\n" #: src/pr.c:2763 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page\n" msgstr "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " débuter ou terminer l'impression à la page FIRST_PAGE\n" " ou LAST_PAGE\n" " -COLUMN, --columns=COLUMN\n" " afficher COLUMN colonnes et les représenter en " "descendant,\n" " sauf si -a est utilisé. Équilibrer le nombre de lignes " "de\n" " chaque colonne sur chaque page\n" #: src/pr.c:2771 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" " -a, --across imprimer les colonnes horizontalement au lieu de\n" " verticalement quand utilisé avec -COLUMN\n" " -c, --show-control-chars\n" " utiliser une notation par chapeau (^G) et octale avec " "barre\n" " oblique inverse\n" " -d, --double-space doubler les espaces à l'affichage\n" #: src/pr.c:2779 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" " -D, --date-format=FORMAT\n" " utiliser le FORMAT pour l'en-tête de la date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " étendre les caractères CHAR en entrée (tabulations) aux\n" " tabulations de largeur WIDTH (8 par défaut)\n" " -F, -f, --form-feed\n" " utiliser des sauts de page au lieu des sauts de lignes " "pour\n" " séparer les pages (trois lignes par en-tête avec -F " "ou\n" " cinq lignes par en-tête et bas de page sans -f)\n" #: src/pr.c:2789 msgid "" " -h, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" " -h, --header=HEADER\n" " utiliser un en-tête HEADER centré au lieu du nom de " "fichier\n" " dans l'entête de page, -h \"\" imprime une ligne " "blanche,\n" " n'utilisez pas -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " remplacer les espaces avec le caractères CHAR (ou\n" " tabulations) par des tabulations de largeur WIDTH (8\n" " par défaut)\n" " -J, --join-lines fusionner des lignes complètes, désactiver la " "troncature\n" " des lignes -W, sans alignement des colonnes,\n" " --sep-string[=STRING] définit les séparateurs\n" #: src/pr.c:2798 msgid "" " -l, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" " -l, --length=PAGE_LENGTH\n" " définir la longueur de page à PAGE_LENGTH (66) lignes\n" " (par, défaut une page contient 56 lignes de texte, 63\n" " avec l'option -F)\n" " -m, --merge imprimer tous les fichiers en parallèle, un par " "colonne,\n" " tronquer les lignes, mais joindre les lignes de " "longueur\n" " complète avec -J\n" #: src/pr.c:2805 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " numéroter les lignes, en utilisant DIGITS chiffres (5 " "par\n" " défaut), suivi du séparateur SEP (tabulation par " "défaut),\n" " le compteur débute par défaut à la première ligne du\n" " fichier d'entrée\n" " -N, --first-line-number=NUMBER\n" " débuter le compteur à NUMBER avec la première ligne de " "la\n" " première page imprimée (consultez +FIRST_PAGE)\n" #: src/pr.c:2813 msgid "" " -o, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" " -o, --indent=MARGIN\n" " décaler chaque ligne avec MARGIN (zéro) espaces, ne pas\n" " affecter -w ou -W, MARGIN est ajouté à PAGE_WIDTH\n" " -r, --no-file-warnings\n" " inhiber l'avertissement lorsqu'un fichier ne peut pas " "être\n" " ouvert\n" #: src/pr.c:2820 msgid "" " -s[CHAR], --separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the <TAB> character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" " -s[CHAR], --separator[=CHAR]\n" " séparer les colonnes à l'aide d'un seul caractère, le\n" " caractère de tabulation par défaut sans -w et sans\n" " caractère avec -w ; -s[CHAR] inhibe la troncature de\n" " ligne pour les trois options de colonnes\n" " (-COLUMN|-a - COLUMN|-m) sauf si -w est défini\n" #: src/pr.c:2827 msgid "" " -S[STRING], --sep-string[=STRING]\n" " separate columns by STRING,\n" " without -S: Default separator <TAB> with -J and <space>\n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" " -SSTRING, --sep-string[=STRING]\n" " séparer les colonnes avec STRING,\n" " sans -S : le séparateur par défaut est <TAB> avec -J " "et\n" " <espace> sinon (comme -S\" \"), sans effet sur les " "colonnes\n" " -t, --omit-header ne pas afficher les en-têtes et les pieds de page\n" #: src/pr.c:2834 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" " -T, --omit-pagination\n" " ne pas afficher les en-têtes et les pieds de page, " "éliminer\n" " la pagination par saut de page définis dans les " "fichiers\n" " d'entrée\n" " -v, --show-nonprinting\n" " utiliser la notation octale avec barre oblique inverse\n" " -w, --width=PAGE_WIDTH\n" " utiliser PAGE_WIDTH comme largeur de page, au lieu de\n" " 72 colonnes par défaut, uniquement pour afficher les\n" " textes en plusieurs colonnes. Cette option est " "annulée\n" " si utilisée avec -s[CAR]\n" #: src/pr.c:2844 msgid "" " -W, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" " -W, --page-width=PAGE_WIDTH\n" " toujours utiliser PAGE_WIDTH comme largeur de page, au " "lieu\n" " de 72 colonnes par défaut, sauf lorsque l'option -J " "est\n" " active, sans interférence avec -S ou -s\n" #: src/pr.c:2852 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when FILE is -, read\n" "standard input.\n" msgstr "" "\n" "-t est implicite si PAGE_LENGTH <= 10. Sans FILE, ou quand FILE est -, lire\n" "l'entrée standard.\n" #: src/printenv.c:62 #, c-format msgid "" "Usage: %s [OPTION]... [VARIABLE]...\n" "Print the values of the specified environment VARIABLE(s).\n" "If no VARIABLE is specified, print name and value pairs for them all.\n" "\n" msgstr "" "Utilisation : %s [OPTION]... [VARIABLE]\n" "Afficher les valeurs de la ou des VARIABLEs d'environnement indiquées.\n" "Sans aucune VARIABLE indiquée, afficher le nom et la valeur de chacune.\n" "\n" #: src/printenv.c:69 msgid " -0, --null end each output line with 0 byte rather than newline\n" msgstr "" " -0, --null terminer les lignes avec l'octet 0 et non un changement de " "ligne\n" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" "avertissement: %s : caractères suivant le caractère de constante ont été " "ignorés" #: src/printf.c:88 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s FORMAT [ARGUMENT]...\n" " ou : %s OPTION\n" #: src/printf.c:93 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" "Afficher les ARGUMENTS selon le FORMAT, ou exécuter selon OPTION :\n" "\n" #: src/printf.c:99 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" msgstr "" "\n" "FORMAT contrôle la sortie comme la fonction printf() en C. Les séquences\n" "interprétées sont :\n" "\n" " \\\" guillemet double\n" #: src/printf.c:117 msgid "" " \\NNN byte with octal value NNN (1 to 3 digits)\n" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" " \\NNN octet ayant la valeur octale NNN (1 à 3 chiffres)\n" " \\xHH octet ayant la valeur hexadécimale HH (1 à 2 chiffres)\n" " \\uHHHH caractère Unicode (ISO/IEC 10646) ayant la valeur hexadécimale\n" " HHHH (4 chiffres)\n" " \\UHHHHHHHH caractère Unicode ayant la valeur hexadécimal HHHHHHHH\n" " (8 chiffres)\n" #: src/printf.c:123 msgid "" " %% a single %\n" " %b ARGUMENT as a string with '\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" " %% un seul %\n" " %b ARGUMENT de type chaîne, avec les barres obliques « \\ » " "protégées,\n" " sauf pour les séquences en octal de la forme \\0 ou \\0NNN\n" "\n" "ainsi que toutes les spécifications de format C se terminant par une des\n" "options diouxXfeEgGcs, avec ARGUMENT converti d'abord au type approprié.\n" "Les largeurs variables sont prises en charge.\n" #: src/printf.c:148 #, c-format msgid "%s: expected a numeric value" msgstr "%s : valeur numérique attendue" #: src/printf.c:150 #, c-format msgid "%s: value not completely converted" msgstr "%s : valeur non complètement convertie" #: src/printf.c:247 src/printf.c:274 #, c-format msgid "missing hexadecimal number in escape" msgstr "nombre hexadécimal manquant dans la protection" #: src/printf.c:286 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "nom de caractère universel \\%c%0*x incorrect" #: src/printf.c:547 #, c-format msgid "invalid field width: %s" msgstr "largeur de champ incorrecte : %s" #: src/printf.c:582 #, c-format msgid "invalid precision: %s" msgstr "précision incorrecte : %s" #: src/printf.c:609 #, c-format msgid "%.*s: invalid conversion specification" msgstr "%.*s : spécification de conversion incorrecte" #: src/printf.c:692 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "avertissement : arguments superflus ignorés, débutant par %s" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:42 msgid "F. Pinard" msgstr "François Pinard" #: src/ptx.c:419 #, c-format msgid "%s (for regexp %s)" msgstr "%s (pour l'expression rationnelle %s)" #: src/ptx.c:1817 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" "Utilisation : %s [OPTION]... [INPUT]... (sans l'option -G)\n" " ou : %s -G [OPTION]... [INPUT [OUTPUT]]\n" #: src/ptx.c:1821 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" msgstr "" "Afficher un index permuté, incluant le contexte des mots des fichiers " "d'entrée.\n" #: src/ptx.c:1827 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V 'ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" " -A, --auto-reference afficher références générées " "automatiquement\n" " -G, --traditional se comporter plutôt comme « ptx » de System " "V\n" " -F, --flag-truncation=STRING utiliser STRING pour indiquer les " "troncatures\n" " de ligne\n" #: src/ptx.c:1832 msgid "" " -M, --macro-name=STRING macro name to use instead of 'xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" " -M, --macro-name=STRING nom de la macro à utiliser au lieu de " "« xx »\n" " -O, --format=roff générer la sortie comme des directives " "roff\n" " -R, --right-side-refs placer références à droite, sans décompte -" "w\n" " -S, --sentence-regexp=REGEXP pour les fins de lignes ou de phrases\n" " -T, --format=tex générer la sortie comme des directives TeX\n" #: src/ptx.c:1839 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" " -W, --word-regexp=REGEXP utiliser REGEXP pour établir la " "correspondance\n" " à chaque mot\n" " -b, --break-file=FILE utiliser les césures de mots de FILE\n" " -f, --ignore-case convertir minuscules en majuscules pour le " "tri\n" " -g, --gap-size=NUMBER espacer les champs de NUMBER colonnes\n" " -i, --ignore-file=FILE lire la liste des mots à ignorer dans FILE\n" " -o, --only-file=FILE lire la liste des mots à conserver dans " "FILE\n" #: src/ptx.c:1847 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" " -r, --references premier champ de chaque ligne en référence\n" " -t, --typeset-mode — option non implémentée —\n" " -w, --width=NUMBER largeur d'affichage en colonnes, sans " "référence\n" #: src/ptx.c:1854 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. '-F /' by default.\n" msgstr "" "\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard. « -F / » par " "défaut.\n" #: src/ptx.c:1948 #, c-format msgid "invalid gap width: %s" msgstr "largeur de saut incorrecte : %s" #: src/pwd.c:57 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" "Afficher le nom complet du fichier du répertoire de travail actuel.\n" "\n" #: src/pwd.c:61 msgid "" " -L, --logical use PWD from environment, even if it contains symlinks\n" " -P, --physical avoid all symlinks\n" msgstr "" " -L, --logical utiliser PWD depuis l'environnement, même s'il contient " "des\n" " liens symboliques\n" " -P, --physical éviter tout lien symbolique\n" #: src/pwd.c:166 #, c-format msgid "failed to chdir to %s" msgstr "impossible de changer de répertoire vers %s" #: src/pwd.c:170 src/pwd.c:277 src/split.c:373 #, c-format msgid "failed to stat %s" msgstr "échec d'obtention d'état de %s" #: src/pwd.c:235 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" "impossible de repérer l'entrée du répertoire dans %s avec l'inÅ“ud " "correspondant" #: src/pwd.c:362 #, c-format msgid "ignoring non-option arguments" msgstr "ignore les arguments qui ne sont pas des options" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:32 msgid "Dmitry V. Levin" msgstr "Dmitry V. Levin" #: src/readlink.c:62 src/realpath.c:71 src/rm.c:135 src/shred.c:147 #: src/stat.c:1349 src/touch.c:212 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "Utilisation : %s [OPTION]... FILE...\n" #: src/readlink.c:63 msgid "" "Print value of a symbolic link or canonical file name\n" "\n" msgstr "" "Afficher la valeur d'un lien symbolique ou son nom canonique\n" "\n" #: src/readlink.c:65 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" " -f, --canonicalize canoniser en suivant récursivement chaque " "lien\n" " symbolique de tous les composants donnés. " "Tous\n" " les composant sauf le dernier doivent " "exister\n" " -e, --canonicalize-existing canoniser en suivant récursivement chaque " "lien\n" " symbolique de tous les composants donnés. " "Tous\n" " les composants doivent exister\n" #: src/readlink.c:75 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing delimiter\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" " -z, --zero separate output with NUL rather than " "newline\n" msgstr "" " -m, --canonicalize-missing canoniser en suivant récursivement chaque " "lien\n" " symbolique de tous les composants donnés.\n" " Aucune contrainte sur les composants.\n" " -n, --no-newline ne pas générer de délimiteur à la fin\n" " -q, --quiet,\n" " -s, --silent supprimer la plupart des messages d'erreur\n" " -v, --verbose afficher les messages d'erreur\n" " -z, --zero séparer la sortie avec NULL plutôt qu'un\n" " changement de ligne\n" #: src/readlink.c:152 #, c-format msgid "ignoring --no-newline with multiple arguments" msgstr "--no-newline ignoré avec plusieurs arguments" #: src/realpath.c:72 msgid "" "Print the resolved absolute file name;\n" "all but the last component must exist\n" "\n" msgstr "" "Afficher le nom de fichier absolu résolu ;\n" "tous les composants sauf le dernier doivent exister\n" "\n" #: src/realpath.c:77 msgid "" " -e, --canonicalize-existing all components of the path must exist\n" " -m, --canonicalize-missing no components of the path need exist\n" " -L, --logical resolve '..' components before symlinks\n" " -P, --physical resolve symlinks as encountered (default)\n" " -q, --quiet suppress most error messages\n" " --relative-to=FILE print the resolved path relative to FILE\n" " --relative-base=FILE print absolute paths unless paths below FILE\n" " -s, --strip, --no-symlinks don't expand symlinks\n" " -z, --zero separate output with NUL rather than newline\n" "\n" msgstr "" " -e, --canonicalize-existing tous les composants du chemin doivent " "exister\n" " -m, --canonicalize-missing aucun composant du chemin n'a besoin " "d'exister\n" " -L, --logical résoudre les composants « .. » avant les " "liens\n" " symboliques\n" " -P, --physical résoudre les liens symboliques rencontrés\n" " (par défaut)\n" " -q, --quiet supprimer la plupart des messages d'erreur\n" " --relative-to=FILE afficher le chemin résolu relativement à " "FILE\n" " --relative-base=FILE afficher les chemins absolus sauf sous FILE\n" " -s, --strip, --no-symlinks ne pas résoudre les liens symboliques\n" " -z, --zero séparer la sortie par NULL au lieu de\n" " changements de ligne\n" "\n" #: src/relpath.c:130 msgid "generating relative path" msgstr "génération de chemin relatif" #: src/remove.c:273 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "%s : descendre dans le répertoire protégé en écriture %s ? " #: src/remove.c:274 #, c-format msgid "%s: descend into directory %s? " msgstr "%s : descendre dans le répertoire %s ? " #. TRANSLATORS: You may find it more convenient to #. translate "%s: remove %s (write-protected) %s? " #. instead. It should avoid grammatical problems #. with the output of file_type. #: src/remove.c:290 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "%s : supprimer %s (protégé en écriture) %s ? " #: src/remove.c:291 #, c-format msgid "%s: remove %s %s? " msgstr "%s : supprimer %s %s ? " #: src/remove.c:374 #, c-format msgid "removed directory: %s\n" msgstr "répertoire supprimé : %s\n" #: src/remove.c:444 #, c-format msgid "cannot remove directory: %s" msgstr "impossible de supprimer le répertoire : %s" #: src/remove.c:500 #, c-format msgid "skipping %s, since it's on a different device" msgstr "%s est ignoré car il est sur un périphérique différent" #: src/remove.c:520 #, c-format msgid "traversal failed: %s" msgstr "impossible de parcourir : %s" #: src/remove.c:526 #, c-format msgid "" "unexpected failure: fts_info=%d: %s\n" "please report to %s" msgstr "" "échec inattendu : fts_info=%d : %s\n" "Veuillez signaler le problème à %s" #: src/rm.c:119 #, c-format msgid "Try '%s ./%s' to remove the file %s.\n" msgstr "Saisissez « %s ./%s » pour supprimer le fichier %s.\n" #: src/rm.c:136 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files and arguments, never " "prompt\n" " -i prompt before every removal\n" msgstr "" "Supprimer (retirer le lien) le ou les fichiers FILEs.\n" "\n" " -f, --force ignorer les fichiers et arguments inexistants, ne\n" " jamais demander\n" " -i demander confirmation avant chaque suppression\n" #: src/rm.c:142 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" " -I demander confirmation une fois avant de supprimer " "plus\n" " de trois fichiers, ou lors de suppression " "récursive.\n" " Moins intrusif que -i, tout en protégeant contre " "la\n" " plupart des erreurs\n" " --interactive[=WHEN] demander confirmation selon WHEN : « never »\n" " (jamais), « once » (une fois, -I), ou « always »\n" " (toujours, -i). Sans WHEN, toujours poser la " "question\n" #: src/rm.c:149 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" " --one-file-system quand une hiérarchie est supprimée récursivement,\n" " ignorer tous les répertoires d'un système de\n" " fichiers différent de celui correspondant à\n" " l'argument de ligne de commande\n" #: src/rm.c:154 msgid "" " --no-preserve-root do not treat '/' specially\n" " --preserve-root do not remove '/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -d, --dir remove empty directories\n" " -v, --verbose explain what is being done\n" msgstr "" " --no-preserve-root ne pas traiter « / » de manière spécifique\n" " --preserve-root ne pas supprimer « / » (par défaut)\n" " -r, -R, --recursive supprimer les répertoires et leur contenu " "récursivement\n" " -d, --dir supprimer les répertoires vides\n" " -v, --verbose expliquer ce qui est fait\n" #: src/rm.c:163 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" "\n" "Par défaut, rm ne supprime pas les répertoires. Utilisez l'option --" "recursive\n" "(-r ou -R) pour supprimer les répertoires, ainsi que l'intégralité de leur\n" "contenu.\n" #: src/rm.c:168 #, c-format msgid "" "\n" "To remove a file whose name starts with a '-', for example '-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" "\n" "Pour supprimer un fichier dont le nom débute par « - », par exemple « -" "toto »,\n" "utilisez une des commandes suivantes :\n" " %s -- -toto\n" "\n" " %s ./-toto\n" #: src/rm.c:177 msgid "" "\n" "Note that if you use rm to remove a file, it might be possible to recover\n" "some of its contents, given sufficient expertise and/or time. For greater\n" "assurance that the contents are truly unrecoverable, consider using shred.\n" msgstr "" "\n" "Si vous utilisez « rm » pour supprimer un fichier, il est habituellement\n" "possible de récupérer une partie de son contenu, en disposant de " "suffisamment\n" "d'expertise et de temps. Pour être certain que le contenu ne soit pas\n" "récupérable, envisagez l'utilisation de « shred ».\n" #: src/rm.c:342 #, c-format msgid "%s: remove all arguments recursively? " msgstr "%s : supprimer tous les arguments récursivement ? " #: src/rm.c:343 #, c-format msgid "%s: remove all arguments? " msgstr "%s : supprimer tous les arguments ? " #: src/rmdir.c:134 src/rmdir.c:233 #, c-format msgid "removing directory, %s" msgstr "suppression du répertoire %s" #: src/rmdir.c:148 #, c-format msgid "failed to remove directory %s" msgstr "échec de suppression du répertoire %s" #: src/rmdir.c:165 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" "Supprimer les répertoires DIRECTORY, s'ils sont vides.\n" "\n" " --ignore-fail-on-non-empty\n" " ignorer les échecs uniquement dus à un répertoire non " "vide\n" #: src/rmdir.c:172 msgid "" " -p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' " "is\n" " similar to 'rmdir a/b/c a/b a'\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" " -p, --parents supprimer DIRECTORY et ses parents, par exemple\n" " « rmdir -p a/b/c » est identique à « rmdir a/b/c a/b " "a »\n" " -v, --verbose afficher un diagnostic pour chaque répertoire traité\n" #: src/rmdir.c:242 #, c-format msgid "failed to remove %s" msgstr "échec de suppression de %s" #: src/runcon.c:83 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" "Utilisation : %s CONTEXT COMMAND [args]\n" " ou : %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND " "[args]\n" #: src/runcon.c:87 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" msgstr "" "Exécuter un programme dans un contexte de sécurité différent.\n" "Sans CONTEXT ni COMMAND, afficher le contexte de sécurité actuel.\n" #: src/runcon.c:94 msgid "" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" " CONTEXT contexte de sécurité complet\n" " -c, --compute calculer le contexte de transition de processus avant " "de\n" " le modifier\n" " -t, --type=TYPE type (pour le même rôle que le parent)\n" " -u, --user=USER identité d'utilisateur\n" " -r, --role=ROLE rôle\n" " -l, --range=RANGE intervalle de niveau\n" "\n" #: src/runcon.c:144 #, c-format msgid "multiple roles" msgstr "plusieurs rôles" #: src/runcon.c:149 #, c-format msgid "multiple types" msgstr "plusieurs types" #: src/runcon.c:154 #, c-format msgid "multiple users" msgstr "plusieurs utilisateurs" #: src/runcon.c:159 #, c-format msgid "multiple levelranges" msgstr "plusieurs intervalles de niveaux" #: src/runcon.c:177 src/runcon.c:213 #, c-format msgid "failed to get current context" msgstr "impossible de récupérer le contexte actuel" #: src/runcon.c:187 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "vous devez indiquer -c, -t, -u, -l, -r ou le contexte" #: src/runcon.c:195 #, c-format msgid "no command specified" msgstr "aucune commande indiquée" #: src/runcon.c:201 #, c-format msgid "%s may be used only on a SELinux kernel" msgstr "%s ne peut être utilisé que sur un noyau SELinux" #: src/runcon.c:227 #, c-format msgid "failed to compute a new context" msgstr "impossible de créer un nouveau contexte" #: src/runcon.c:241 #, c-format msgid "failed to set new user %s" msgstr "impossible de définir le nouvel utilisateur %s" #: src/runcon.c:243 #, c-format msgid "failed to set new type %s" msgstr "impossible de définir le nouveau type %s" #: src/runcon.c:245 #, c-format msgid "failed to set new range %s" msgstr "impossible de définir le nouvel intervalle %s" #: src/runcon.c:247 #, c-format msgid "failed to set new role %s" msgstr "impossible de définir le nouveau rôle %s" #: src/runcon.c:255 #, c-format msgid "unable to set security context %s" msgstr "impossible de définir le contexte de sécurité %s" #: src/seq.c:68 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" "Utilisation : %s [OPTION]... LAST\n" " ou : %s [OPTION]... FIRST LAST\n" " ou : %s [OPTION]... FIRST INCREMENT LAST\n" #: src/seq.c:73 msgid "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" msgstr "Afficher les nombres de FIRST jusqu'à LAST, avec un pas d'INCREMENT.\n" #: src/seq.c:79 msgid "" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" " -f, --format=FORMAT utiliser FORMAT comme style printf de\n" " virgule flottante\n" " -s, --separator=STRING utiliser STRING pour séparer les nombres\n" " (\\n par défaut)\n" " -w, --equal-width équilibrer la largeur en remplissant l'en-tête " "par\n" " des zéros\n" #: src/seq.c:86 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" "\n" "Si FIRST ou INCREMENT sont omis, la valeur 1 est utilisée par défaut. La\n" "valeur INCREMENT par défaut est 1 même lorsque LAST est plus petit que " "FIRST.\n" "FIRST, INCREMENT et LAST sont interprétés en notation flottante.\n" "INCREMENT est habituellement positif si FIRST est plus petit que LAST, et\n" "INCREMENT est habituellement négatif si FIRST est plus grand que LAST.\n" #: src/seq.c:94 msgid "" "FORMAT must be suitable for printing one argument of type 'double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" "FORMAT doit permettre d'afficher un argument de type « double » ;\n" "par défaut à %.PRECf si FIRST, INCREMENT et LAST sont tous décimaux en\n" "notation fixe avec une précision maximale PREC, et à %g sinon.\n" #: src/seq.c:140 #, c-format msgid "invalid floating point argument: %s" msgstr "argument en virgule flottante incorrect : %s" #: src/seq.c:232 #, c-format msgid "format %s has unknown %%%c directive" msgstr "le format %s contient une directive %%%c inconnue" #: src/seq.c:555 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" "le format de chaîne ne peut pas être indiqué quand l'affichage est égal à la " "largeur des chaînes" #: src/setuidgid.c:49 #, c-format msgid "" "Usage: %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " or: %s LONG-OPTION\n" msgstr "" "Utilisation : %s [SHORT-OPTION]... USER COMMAND [ARGUMENT]...\n" " ou : %s LONG-OPTION\n" #: src/setuidgid.c:55 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" "Éliminer tous les groupes supplémentaires, utiliser l'UID et le GID de " "l'USER\n" "indiqué (identifiant numérique ou nom) et exécuter COMMAND avec les\n" "ARGUMENTs indiqués.\n" "Quitter avec l'état 111 s'il est impossible d'obtenir les UID et GID.\n" "Autrement, quitter avec l'état de sortie de COMMAND.\n" "Ce programme est utile lorsqu'il est exécuté par le superutilisateur (UID " "zéro).\n" "\n" #: src/setuidgid.c:64 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" " -g GID[,GID1...] définir aussi le GID primaire au GID numérique et\n" " (si indiqués) les GID supplémentaires à GID1, ...\n" #: src/setuidgid.c:162 #, c-format msgid "unknown user-ID: %s" msgstr "UID inconnu : %s" #: src/setuidgid.c:173 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "pour utiliser l'UID %s, vous devez aussi utiliser -g" #: src/setuidgid.c:190 #, c-format msgid "failed to set supplemental group(s)" msgstr "impossible de définir les groupes supplémentaires" #: src/setuidgid.c:200 #, c-format msgid "cannot set group-ID to %lu" msgstr "impossible de définir le GID à %lu" #: src/setuidgid.c:204 #, c-format msgid "cannot set user-ID to %lu" msgstr "impossible de définir l'UID à %lu" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:74 msgid "Colin Plumb" msgstr "Colin Plumb" #: src/shred.c:148 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" msgstr "" "Écraser le fichier FILE indiqué de manière répétitive, afin de rendre " "difficile\n" "toute récupération des données par du matériel même coûteux.\n" #: src/shred.c:155 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" " -f, --force modifier les droits pour permettre l'écriture si " "nécessaire\n" " -n, --iterations=N écraser N fois au lieu du nombre par défaut (%d)\n" " --random-source=FILE obtenir des octets aléatoires de FILE\n" " (/dev/urandom par défaut)\n" " -s, --size=N broyer N octets (les suffixes K, M, G sont acceptés)\n" #: src/shred.c:161 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" " -u, --remove tronquer et supprimer le fichier après l'avoir écrasé\n" " -v, --verbose afficher un indicateur de progression\n" " -x, --exact ne pas arrondir la taille des fichiers jusqu'au prochain " "bloc\n" " complet ; c'est le comportement par défaut pour les " "fichiers\n" " non standards\n" " -z, --zero ajouter une réécriture finale avec des zéros pour camoufler " "le\n" " broyage du fichier\n" #: src/shred.c:170 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" "\n" "Si FILE est -, broyer à partir de l'entrée standard.\n" "\n" "Supprimer le ou les FILEs si --remove (-u) est indiqué. Par défaut, les\n" "fichiers ne sont pas supprimés car il est fréquent d'opérer sur des " "fichiers\n" "de périphérique comme /dev/hda, et habituellement ces fichiers ne doivent " "pas\n" "être supprimés. Sur des fichiers standards, la majorité des gens utilise\n" "l'option --remove.\n" "\n" #: src/shred.c:180 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" "Attention : notez que shred s'appuie sur l'importante supposition que le " "système\n" "de fichiers écrasera les données en place. C'est la manière usuelle de " "procéder,\n" "mais plusieurs systèmes de fichiers modernes ne sont pas conçus selon ce\n" "principe. La liste suivante donne des exemples de systèmes de fichiers pour\n" "lesquels le broyage n'est pas effectif dans tous les modes :\n" "\n" #: src/shred.c:188 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" "* systèmes de fichiers journalisés ou à structure de journalisation, comme " "ceux\n" " fournis avec AIX et Solaris (et JFS, ReiserFS, XFS, ext3, etc.)\n" "\n" "* systèmes de fichiers avec données redondantes et soutenant les écritures " "même\n" " lorsqu'il y a erreur d'écriture comme sur les systèmes de fichiers RAID\n" "\n" "* systèmes de fichiers qui prennent des instantanés, comme le serveur NFS " "de\n" " Network Appliance\n" "\n" #: src/shred.c:198 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" "* systèmes de fichiers qui enregistrent en cache temporairement, comme les\n" " clients NFS version 3\n" "\n" "* systèmes de fichiers compressés\n" "\n" #: src/shred.c:205 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" "Pour le système de fichiers ext3, la déclaration précédente ne s'applique\n" "(et shred dispose d'une efficacité limitée) qu'en mode data=journal, dans\n" "lequel les journaux enregistrent les données en plus des métadonnées. Dans " "les\n" "deux modes data=ordered (par défaut) et data=writeback, shred travaille " "comme\n" "d'habitude. Les modes de journalisation ext3 peuvent être changés en " "ajoutant\n" "data=something aux options de montage pour un système de fichiers " "particulier\n" "dans le fichier /etc/fstab, tel que documenté dans la page man mount(8).\n" "\n" #: src/shred.c:215 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" "En plus, l'archivage des système de fichiers et les miroirs distants " "peuvent\n" "contenir des copies des fichiers qui ne peuvent être supprimés et qui\n" "permettront à un fichier broyé d'être récupéré ultérieurement.\n" #: src/shred.c:295 #, c-format msgid "%s: fdatasync failed" msgstr "%s : échec de fdatasync" #: src/shred.c:306 #, c-format msgid "%s: fsync failed" msgstr "%s : échec de fsync" #: src/shred.c:383 #, c-format msgid "%s: cannot rewind" msgstr "%s : impossible de rembobiner" #: src/shred.c:402 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "%s : passe %lu/%lu (%s)…" #: src/shred.c:452 #, c-format msgid "%s: error writing at offset %s" msgstr "%s : erreur d'écriture au décalage %s" #: src/shred.c:470 #, c-format msgid "%s: lseek failed" msgstr "%s : échec de lseek" #: src/shred.c:481 #, c-format msgid "%s: file too large" msgstr "%s : fichier trop gros" #: src/shred.c:504 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "%s : passe %lu/%lu (%s)…%s" #: src/shred.c:520 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "%s : passe %lu/%lu (%s)…%s/%s %d %%" #: src/shred.c:767 #, c-format msgid "%s: fstat failed" msgstr "%s : échec de fstat" #: src/shred.c:778 #, c-format msgid "%s: invalid file type" msgstr "%s : type de fichier incorrect" #: src/shred.c:797 #, c-format msgid "%s: file has negative size" msgstr "%s : le fichier a une taille négative" #: src/shred.c:864 src/sort.c:932 src/split.c:378 #, c-format msgid "%s: error truncating" msgstr "%s : erreur de troncature" #: src/shred.c:880 #, c-format msgid "%s: fcntl failed" msgstr "%s : échec de fcntl" #: src/shred.c:885 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" "%s : impossible d'utiliser « shred » sur un descripteur de fichier en ajout " "seul" #: src/shred.c:967 #, c-format msgid "%s: removing" msgstr "%s : suppression" #: src/shred.c:991 #, c-format msgid "%s: renamed to %s" msgstr "%s : renommé en %s" #: src/shred.c:1013 #, c-format msgid "%s: failed to remove" msgstr "%s : échec de suppression" #: src/shred.c:1017 #, c-format msgid "%s: removed" msgstr "%s : supprimé" #: src/shred.c:1024 src/shred.c:1067 #, c-format msgid "%s: failed to close" msgstr "%s : échec de fermeture" #: src/shred.c:1060 #, c-format msgid "%s: failed to open for writing" msgstr "%s : échec d'ouverture en écriture" #: src/shred.c:1125 #, c-format msgid "%s: invalid number of passes" msgstr "%s : nombre de passes incorrect" #: src/shred.c:1134 src/shuf.c:290 src/sort.c:4441 #, c-format msgid "multiple random sources specified" msgstr "plusieurs sources aléatoires indiquées" #: src/shred.c:1148 #, c-format msgid "%s: invalid file size" msgstr "%s : longueur de fichier incorrect" #: src/shuf.c:48 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" "Utilisation : %s [OPTION]... [FILE]\n" " ou : %s -e [OPTION]... [ARG]...\n" " ou : %s -i LO-HI [OPTION]...\n" #: src/shuf.c:54 msgid "Write a random permutation of the input lines to standard output.\n" msgstr "" "Afficher une permutation aléatoire des lignes entrées sur la sortie " "standard.\n" #: src/shuf.c:60 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-count=COUNT output at most COUNT lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -e, --echo traiter chaque ARG comme une ligne d'entrée\n" " -i, --input-range=LO-HI traiter chaque nombre de LO à HI comme une " "ligne\n" " d'entrée\n" " -n, --head-count=COUNT afficher au plus COUNT lignes\n" " -o, --output=FILE écrire le résultat dans FILE au lieu de la " "sortie\n" " standard\n" " --random-source=FILE obtenir des octets aléatoires de FILE\n" " (/dev/urandom par défaut)\n" " -z, --zero-terminated terminer les lignes avec l'octet NULL, sans\n" " changement de ligne\n" #: src/shuf.c:244 #, c-format msgid "multiple -i options specified" msgstr "plusieurs options -l indiquées" #: src/shuf.c:264 #, c-format msgid "invalid input range %s" msgstr "intervalle d'entrée %s incorrect" #: src/shuf.c:277 #, c-format msgid "invalid line count %s" msgstr "compteur de lignes %s incorrect" #: src/shuf.c:284 src/sort.c:4435 #, c-format msgid "multiple output files specified" msgstr "plusieurs fichiers de sortie indiquées" #: src/shuf.c:310 #, c-format msgid "cannot combine -e and -i options" msgstr "impossible de combiner les options -e et -i" #: src/sleep.c:44 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be 's' for seconds (the default),\n" "'m' for minutes, 'h' for hours or 'd' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" "Utilisation : %s NUMBER[SUFFIX]...\n" " ou : %s OPTION\n" "Effectuer une pause de NUMBER secondes. SUFFIX peut être « s » pour " "secondes\n" "(par défaut), « m » pour minutes, « h » pour heures ou « d » pour jours.\n" "Contrairement à la plupart des implémentations qui nécessitent un nombre\n" "entier, NUMBER peut ici être un nombre arbitraire en virgule flottante.\n" "Avec plusieurs arguments, la pause se fait selon la somme des valeurs.\n" "\n" #: src/sleep.c:135 src/timeout.c:320 #, c-format msgid "invalid time interval %s" msgstr "intervalle de temps %s incorrect" #: src/sleep.c:146 src/tail.c:1219 #, c-format msgid "cannot read realtime clock" msgstr "impossible de lire l'horloge temps réel" #: src/sort.c:399 msgid "Write sorted concatenation of all FILE(s) to standard output.\n" msgstr "" "Afficher la concaténation triée de tous les FILEs sur la sortie standard.\n" #: src/sort.c:405 msgid "" "Ordering options:\n" "\n" msgstr "" "Options de tri :\n" "\n" #: src/sort.c:409 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" " -b, --ignore-leading-blanks ignorer les blancs d'en-tête\n" " -d, --dictionary-order ne considérer que les blancs et les " "caractères\n" " alphanumériques\n" " -f, --ignore-case transformer les minuscules en majuscules\n" #: src/sort.c:415 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'\n" msgstr "" " -g, --general-numeric-sort comparer selon la valeur numérique générale\n" " -i, --ignore-nonprinting ne considérer que les caractères affichables\n" " -M, --month-sort comparer (inconnu) < « JANV. » < ... < " "« DÉC. »\n" #: src/sort.c:420 msgid "" " -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)\n" msgstr "" " -h, --human-numeric-sort comparer des chiffres lisibles (par exemple 2K " "1G)\n" #: src/sort.c:423 msgid "" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE\n" " -r, --reverse reverse the result of comparisons\n" msgstr "" " -n, --numeric-sort comparer selon une valeur numérique de type " "chaîne\n" " -R, --random-sort trier par clef de hachage aléatoire\n" " --random-source=FILE obtenir des octets aléatoires de FILE\n" " -r, --reverse inverser le résultat des comparaisons\n" #: src/sort.c:429 msgid "" " --sort=WORD sort according to WORD:\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort natural sort of (version) numbers within text\n" "\n" msgstr "" " --sort=WORD trier selon WORD :\n" " general-numeric -g, human-numeric -h, month -" "M,\n" " numeric -n, random -R, version -V\n" " -V, --version-sort tri naturel des numéros (de version) contenus " "dans\n" " le texte\n" "\n" #: src/sort.c:437 msgid "" "Other options:\n" "\n" msgstr "" "Autres Options :\n" "\n" #: src/sort.c:441 msgid "" " --batch-size=NMERGE merge at most NMERGE inputs at once;\n" " for more use temp files\n" msgstr "" " --batch-size=NMERGE fusionner au plus NMERGE entrées à la fois ;\n" " pour plus, employez des fichiers temporaires\n" #: src/sort.c:445 msgid "" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" msgstr "" " -c, --check, --check=diagnose-first vérifier le tri de l'entrée, sans " "trier\n" " -C, --check=quiet, --check=silent comme -c, mais ne pas afficher la " "première\n" " ligne erronée\n" " --compress-program=PROG compresser les temporaires avec PROG et les\n" " décompresser avec PROG -d\n" #: src/sort.c:452 msgid "" " --debug annotate the part of the line used to sort,\n" " and warn about questionable usage to stderr\n" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" msgstr "" " --debug annoter la partie de la ligne à trier, et " "avertir en\n" " cas d'utilisation étrange sur la sortie " "d'erreur\n" " --files0-from=F lire en entrée des fichiers indiqués par des " "noms\n" " terminés par NULL dans le fichier F.\n" " Si F est -, lire les noms depuis l'entrée " "standard\n" #: src/sort.c:459 msgid "" " -k, --key=KEYDEF sort via a key; KEYDEF gives location and type\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" " -k, --key=KEYDEF trier suivant une clef, KEYDEF indique " "l'emplacement\n" " et le type\n" " -m, --merge fusionner les fichiers déjà triés ; ne pas " "trier\n" #: src/sort.c:463 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" " -o, --output=FILE écrire le résultat dans FILE au lieu de la " "sortie\n" " standard\n" " -s, --stable stabiliser le tri en désactivant la comparaison " "de\n" " dernier recours\n" " -S, --buffer-size=SIZE utiliser SIZE pour le tampon mémoire principal\n" #: src/sort.c:469 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or " "%s;\n" " multiple options specify multiple directories\n" " --parallel=N change the number of sorts run concurrently to " "N\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" " -t, --field-separator=SEP utiliser SEP au lieu de non blanc pour les\n" " transitions d'espace\n" " -T, --temporary-directory=DIR utiliser DIR pour les fichiers temporaires, " "non\n" " pas $TMPDIR ou %s ; plusieurs options\n" " indiquent plusieurs répertoires\n" " --parallel=N exécuter N tris en parallèle\n" " -u, --unique avec -c, vérifier l'ordonnancement " "strict ;\n" " sans -c, n'afficher que la première " "d'une\n" " passe équivalente\n" #: src/sort.c:478 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -z, --zero-terminated terminer les lignes avec l'octet NULL, sans\n" " changement de ligne\n" #: src/sort.c:483 msgid "" "\n" "KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is " "a\n" "field number and C a character position in the field; both are origin 1, " "and\n" "the stop position defaults to the line's end. If neither -t nor -b is in\n" "effect, characters in a field are counted from the beginning of the " "preceding\n" "whitespace. OPTS is one or more single-letter ordering options " "[bdfgiMhnRrV],\n" "which override global ordering options for that key. If no key is given, " "use\n" "the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" "\n" "KEYDEF est F[.C][OPTS][,F[.C][OPTS]] pour les positions de début et fin,\n" "où F est un numéro de champ et C une position du caractère dans le champ ;\n" "chacun à origine 1, et la position d'arrêt est la fin de ligne par défaut.\n" "Si ni -t ni -b ne sont actifs, les caractères d'un champ sont comptés\n" "depuis le début de l'espace précédant.\n" "OPTS se compose d'une option de tri d'une ou plusieurs lettres simples\n" "[bdfgiMhnRrV], laquelle écrase l'ordonnancement global pour cette clef.\n" "Si aucune clef n'est donnée, la ligne entière est utilisée comme clef.\n" "\n" "SIZE peut être suivi d'un des suffixes multiplicatifs suivants :\n" #: src/sort.c:496 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" "% 1 % de mémoire, b 1, k 1024 (par défaut), et ainsi de suite pour\n" "M, G, T, P, E, Z et Y.\n" "\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" "\n" "*** Attention ***\n" "Les paramètres régionaux (locale) utilisés dans l'environnement\n" "affectent l'ordre de tri. Utilisez LC_ALL=C pour trier selon un\n" "ordre traditionnel qui utilise la valeur native des octets.\n" #: src/sort.c:697 #, c-format msgid "waiting for %s [-d]" msgstr "en attente de %s [-d]" #: src/sort.c:702 #, c-format msgid "%s [-d] terminated abnormally" msgstr "%s [-d] a terminé anormalement" #: src/sort.c:856 #, c-format msgid "cannot create temporary file in %s" msgstr "impossible de créer le fichier temporaire dans %s" #: src/sort.c:950 src/sort.c:2025 src/sort.c:3071 src/sort.c:3713 #: src/sort.c:3804 src/sort.c:3807 msgid "open failed" msgstr "échec d'ouverture" #: src/sort.c:970 msgid "fflush failed" msgstr "échec de fflush" #: src/sort.c:975 src/sort.c:2028 src/sort.c:4706 msgid "close failed" msgstr "échec de fermeture" #: src/sort.c:986 #, c-format msgid "dup2 failed" msgstr "échec de dup2" #: src/sort.c:1103 #, c-format msgid "couldn't execute %s" msgstr "impossible d'exécuter %s" #: src/sort.c:1110 msgid "couldn't create temporary file" msgstr "impossible de créer le fichier temporaire" #: src/sort.c:1149 #, c-format msgid "couldn't create process for %s -d" msgstr "impossible de créer le processus pour %s -d" #: src/sort.c:1161 #, c-format msgid "couldn't execute %s -d" msgstr "impossible d'exécuter %s -d" #: src/sort.c:1220 #, c-format msgid "warning: cannot remove: %s" msgstr "avertissement : impossible de supprimer : %s" #: src/sort.c:1306 #, c-format msgid "invalid --%s argument %s" msgstr "argument %2$s de --%1$s incorrect" #: src/sort.c:1309 #, c-format msgid "minimum --%s argument is %s" msgstr "l'argument minimal de --%s est %s" #: src/sort.c:1324 #, c-format msgid "--%s argument %s too large" msgstr "argument de --%s %s trop grand" #: src/sort.c:1327 #, c-format msgid "maximum --%s argument with current rlimit is %s" msgstr "l'argument maximal de --%s avec la rlimit actuelle est %s" #: src/sort.c:1409 #, c-format msgid "number in parallel must be nonzero" msgstr "le nombre en parallèle doit être non nul" #: src/sort.c:1494 msgid "stat failed" msgstr "échec de stat()" #: src/sort.c:1755 msgid "read failed" msgstr "échec de lecture" #: src/sort.c:2043 #, c-format msgid "string transformation failed" msgstr "échec de transformation de chaîne" #: src/sort.c:2046 #, c-format msgid "the untransformed string was %s" msgstr "la chaîne non transformée était %s" #: src/sort.c:2209 #, c-format msgid "^ no match for key\n" msgstr "^ ne correspond à aucun mot clef\n" #: src/sort.c:2389 #, c-format msgid "obsolescent key %s used; consider %s instead" msgstr "le mot clef obsolète « %s » est utilisé ; considérez « %s » à la place" #: src/sort.c:2395 #, c-format msgid "key %lu has zero width and will be ignored" msgstr "le mot clef %lu a une largeur nulle et sera ignoré" #: src/sort.c:2406 #, c-format msgid "leading blanks are significant in key %lu; consider also specifying 'b'" msgstr "" "les espaces au début sont significatifs dans le mot clef %lu ; considérez " "aussi l'emploi de « b »" #: src/sort.c:2419 #, c-format msgid "key %lu is numeric and spans multiple fields" msgstr "le mot clef %lu est numérique et s'étend sur plusieurs champs" #: src/sort.c:2451 #, c-format msgid "option '-%s' is ignored" msgid_plural "options '-%s' are ignored" msgstr[0] "l'option « -%s » est ignorée" msgstr[1] "les options « -%s » sont ignorées" #: src/sort.c:2457 #, c-format msgid "option '-r' only applies to last-resort comparison" msgstr "" "l'option « -r » s'applique seulement à la comparaison de dernier recours" #: src/sort.c:2731 src/sort.c:2740 msgid "write failed" msgstr "échec d'écriture" #: src/sort.c:2783 #, c-format msgid "%s: %s:%s: disorder: " msgstr "%s : %s:%s : désordre : " #: src/sort.c:2786 msgid "standard error" msgstr "erreur standard" #: src/sort.c:3698 msgid "cannot read" msgstr "impossible de lire" #: src/sort.c:3976 #, c-format msgid "%s: invalid field specification %s" msgstr "%s : spécification de champ incorrect %s" #: src/sort.c:3987 #, c-format msgid "options '-%s' are incompatible" msgstr "les options « -%s » sont incompatibles" #: src/sort.c:4038 #, c-format msgid "%s: invalid count at start of %s" msgstr "%s : compteur incorrect au départ de %s" #: src/sort.c:4295 msgid "invalid number after '-'" msgstr "nombre incorrect après « - »" #: src/sort.c:4302 src/sort.c:4388 src/sort.c:4416 msgid "invalid number after '.'" msgstr "nombre incorrect après « . »" #: src/sort.c:4315 src/sort.c:4421 msgid "stray character in field spec" msgstr "caractère égaré dans le champ de spécification" #: src/sort.c:4362 #, c-format msgid "multiple compress programs specified" msgstr "plusieurs programmes de compression indiqués" #: src/sort.c:4379 msgid "invalid number at field start" msgstr "nombre incorrect dans le champ de départ" #: src/sort.c:4383 src/sort.c:4411 msgid "field number is zero" msgstr "le numéro de champ est zéro" #: src/sort.c:4392 msgid "character offset is zero" msgstr "l'adresse relative du caractère est zéro" #: src/sort.c:4407 msgid "invalid number after ','" msgstr "nombre incorrect après « , »" #: src/sort.c:4457 #, c-format msgid "empty tab" msgstr "tabulation vide" #: src/sort.c:4550 src/wc.c:692 #, c-format msgid "cannot read file names from %s" msgstr "impossible de lire les noms de fichiers à partir de %s" #: src/sort.c:4572 #, c-format msgid "%s:%lu: invalid zero-length file name" msgstr "%s:%lu : incorrect, nom de fichier de longueur nulle" #: src/sort.c:4578 #, c-format msgid "no input from %s" msgstr "aucune d'entrée depuis %s" #: src/sort.c:4624 #, c-format msgid "using %s sorting rules" msgstr "utilisation des règles de tri %s" #: src/sort.c:4627 #, c-format msgid "using simple byte comparison" msgstr "utilisation de la comparaison simple d'octet" #: src/sort.c:4658 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "opérande supplémentaire « %s » non permis avec -%c" #: src/split.c:187 #, c-format msgid "the suffix length needs to be at least %zu" msgstr "la longueur du suffixe doit au minimum être %zu" #: src/split.c:204 #, c-format msgid "Usage: %s [OPTION]... [INPUT [PREFIX]]\n" msgstr "Utilisation : %s [OPTION]... [INPUT [PREFIX]]\n" #: src/split.c:208 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" msgstr "" "Afficher des morceaux de INPUT de taille fixe selon PREFIXaa, " "PREFIXab, ... ;\n" "la taille est de 1000 lignes et le préfixe est « x » par défaut.\n" "Sans INPUT, ou quand INPUT est -, lire l'entrée standard.\n" #: src/split.c:216 #, c-format msgid "" " -a, --suffix-length=N generate suffixes of length N (default %d)\n" " --additional-suffix=SUFFIX append an additional SUFFIX to file " "names.\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes[=FROM] use numeric suffixes instead of " "alphabetic.\n" " FROM changes the start value (default " "0).\n" " -e, --elide-empty-files do not generate empty output files with '-n'\n" " --filter=COMMAND write to shell COMMAND; file name is $FILE\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" " -n, --number=CHUNKS generate CHUNKS output files. See below\n" " -u, --unbuffered immediately copy input to output with '-n r/...'\n" msgstr "" " -a, --suffix-length=N générer ces suffixes de longueur N (%d par " "défaut)\n" " --additional-suffix=SUFFIX ajouter un SUFFIX supplémentaire aux noms\n" " de fichiers\n" " -b, --bytes=SIZE écrire SIZE octets par fichier de sortie\n" " -C, --line-bytes=SIZE écrire au plus SIZE octets par ligne par fichier " "de\n" " sortie\n" " -d, --numeric-suffixes[=FROM] utiliser des suffixes numériques et non\n" " alphabétiques. FROM modifie la valeur de\n" " départ (0 par défaut)\n" " -e, --elide-empty-files ne pas générer de fichiers vides avec « -n »\n" " --filter=COMMAND écrire vers la commande d'interpréteur COMMAND ; " "le\n" " nom de fichier est $FILE\n" " -l, --lines=NUMBER écrire NUMBER lignes par fichier de sortie\n" " -n, --number=CHUNKS générer CHUNKS fichiers de sortie. Voir ci-" "dessous.\n" " -u, --unbuffered copier immédiatement l'entrée sur la sortie avec\n" " « -n r/... »\n" #: src/split.c:229 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" " --verbose afficher un diagnostic juste avant l'ouverture de\n" " chaque fichier de sortie\n" #: src/split.c:236 msgid "" "\n" "CHUNKS may be:\n" "N split into N files based on size of input\n" "K/N output Kth of N to stdout\n" "l/N split into N files without splitting lines\n" "l/K/N output Kth of N to stdout without splitting lines\n" "r/N like 'l' but use round robin distribution\n" "r/K/N likewise but only output Kth of N to stdout\n" msgstr "" "\n" "CHUNKS peut être :\n" "N séparer en N fichiers selon la taille de l'entrée\n" "K/N afficher le Ke de N sur la sortie\n" "l/N séparer en N fichiers sans couper les lignes\n" "l/K/N afficher le Ke de N sur la sortie sans couper les lignes\n" "r/N comme « l » mais utiliser une distribution « round robin »\n" "r/K/N identique mais n'afficher que le Ke de N sur la sortie\n" #: src/split.c:354 #, c-format msgid "output file suffixes exhausted" msgstr "les suffixes des fichiers de sortie sont épuisés" #: src/split.c:366 #, c-format msgid "creating file %s\n" msgstr "création du fichier %s\n" #: src/split.c:375 #, c-format msgid "%s would overwrite input; aborting" msgstr "%s écraserait l'entrée ; abandon" #: src/split.c:391 #, c-format msgid "failed to set FILE environment variable" msgstr "impossible de définir la variable d'environnement FILE" #: src/split.c:393 #, c-format msgid "executing with FILE=%s\n" msgstr "exécution avec FILE=%s\n" #: src/split.c:395 #, c-format msgid "failed to create pipe" msgstr "impossible de créer le tube" #: src/split.c:409 #, c-format msgid "closing prior pipe" msgstr "fermeture du tube précédent" #: src/split.c:411 #, c-format msgid "closing output pipe" msgstr "fermeture du tube de sortie" #: src/split.c:415 #, c-format msgid "moving input pipe" msgstr "déplacement du tube d'entrée" #: src/split.c:417 #, c-format msgid "closing input pipe" msgstr "fermeture du tube d'entrée" #: src/split.c:422 #, c-format msgid "failed to run command: \"%s -c %s\"" msgstr "impossible d'exécuter la commande : « %s -s %s »" #: src/split.c:428 #, c-format msgid "failed to close input pipe" msgstr "impossible de fermer le tube d'entrée" #: src/split.c:464 #, c-format msgid "waiting for child process" msgstr "en attente du processus fils" #: src/split.c:474 #, c-format msgid "with FILE=%s, signal %s from command: %s" msgstr "avec FILE=%s, signal %s de la commande : %s" #: src/split.c:482 #, c-format msgid "with FILE=%s, exit %d from command: %s" msgstr "avec FILE=%s, sortie %d de la commande : %s" #: src/split.c:489 src/timeout.c:494 #, c-format msgid "unknown status from command (0x%X)" msgstr "état inconnu de la commande (0x%X)" #: src/split.c:1052 #, c-format msgid "cannot split in more than one way" msgstr "impossible de séparer de plusieurs manières" #: src/split.c:1065 src/split.c:1205 src/split.c:1376 #, c-format msgid "%s: invalid number of chunks" msgstr "%s : nombre de morceaux incorrect" #: src/split.c:1069 #, c-format msgid "%s: invalid chunk number" msgstr "%s : numéro de morceau incorrect" #: src/split.c:1119 #, c-format msgid "%s: invalid suffix length" msgstr "%s : longueur de suffixe incorrecte" #: src/split.c:1144 src/split.c:1152 src/split.c:1175 src/split.c:1180 #, c-format msgid "%s: invalid number of bytes" msgstr "%s : nombre d'octets incorrect" #: src/split.c:1163 src/split.c:1310 #, c-format msgid "%s: invalid number of lines" msgstr "%s : nombre de lignes incorrect" #: src/split.c:1236 #, c-format msgid "line count option -%s%c... is too large" msgstr "l'option de décompte de ligne -%s%c... est trop grande" #: src/split.c:1248 #, c-format msgid "%s: invalid start value for numerical suffix" msgstr "%s : valeur de départ incorrecte pour le suffixe numérique" #: src/split.c:1276 #, c-format msgid "%s: invalid IO block size" msgstr "%s : taille de bloc d'E/S incorrecte" #: src/split.c:1297 #, c-format msgid "--filter does not process a chunk extracted to stdout" msgstr "--filter ne traite pas les morceaux extraits vers la sortie standard" #: src/split.c:1334 #, c-format msgid "numerical suffix start value is too large for the suffix length" msgstr "" "la valeur de départ du suffixe numérique est trop grande pour la longueur de " "suffixe" #: src/split.c:1369 #, c-format msgid "%s: cannot determine file size" msgstr "%s : impossible de déterminer la taille de fichier" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:173 msgid "Michael Meskes" msgstr "Michael Meskes" #: src/stat.c:857 #, c-format msgid "failed to canonicalize %s" msgstr "impossible de canoniser %s" #: src/stat.c:1069 #, c-format msgid "warning: unrecognized escape '\\%c'" msgstr "avertissement : séquence de protection « \\%c » non reconnue" #: src/stat.c:1124 #, c-format msgid "%s: invalid directive" msgstr "%s : directive incorrecte" #: src/stat.c:1170 #, c-format msgid "warning: backslash at end of format" msgstr "avertissement : barre oblique inverse à la fin du format" #: src/stat.c:1201 #, c-format msgid "using %s to denote standard input does not work in file system mode" msgstr "" "l'utilisation de %s pour désigner l'entrée standard ne fonctionne pas en " "mode système de fichiers" #: src/stat.c:1208 #, c-format msgid "cannot read file system information for %s" msgstr "impossible de lire les informations du système de fichiers pour %s" #: src/stat.c:1228 #, c-format msgid "cannot stat standard input" msgstr "impossible d'utiliser stat sur l'entrée standard" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' with --file-system, and NOT from printf. #: src/stat.c:1264 msgid "" " File: \"%n\"\n" " ID: %-8i Namelen: %-7l Type: %T\n" "Block size: %-10s Fundamental block size: %S\n" "Blocks: Total: %-10b Free: %-10f Available: %a\n" "Inodes: Total: %-10c Free: %d\n" msgstr "" " Fichier : « %n »\n" " Identif. : %-8i Longueur du nom : %-7l Type : %T\n" "Taille de bloc : %-10s Taille de bloc fondamentale : %S\n" " Blocs : total : %-10b libre : %-10f disponible : %a\n" "InÅ“uds : total : %-10c libre : %d\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1287 msgid "" " File: %N\n" " Size: %-10s\tBlocks: %-10b IO Block: %-6o %F\n" msgstr "" " Fichier : %N\n" " Taille : %-10s\tBlocs : %-10b Blocs d'E/S : %-6o %F\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1297 msgid "Device: %Dh/%dd\tInode: %-10i Links: %-5h Device type: %t,%T\n" msgstr "" "Périphérique : %Dh/%dd\tInÅ“ud : %-10i Liens : %-5h Type de périph. : %t,%T\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1305 msgid "Device: %Dh/%dd\tInode: %-10i Links: %h\n" msgstr "Périphérique : %Dh/%dd\tInÅ“ud : %-10i Liens : %h\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1314 msgid "Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n" msgstr "Accès : (%04a/%10.10A) UID : (%5u/%8U) GID : (%5g/%8G)\n" #. TRANSLATORS: This string uses format specifiers from #. 'stat --help' without --file-system, and NOT from printf. #: src/stat.c:1324 #, c-format msgid "Context: %C\n" msgstr "Contexte : %C\n" #: src/stat.c:1332 msgid "" "Access: %x\n" "Modify: %y\n" "Change: %z\n" " Birth: %w\n" msgstr "" " Accès : %x\n" "Modif. : %y\n" "Changt : %z\n" " Créé : %w\n" #: src/stat.c:1350 msgid "Display file or file system status.\n" msgstr "Afficher l'état d'un fichier ou d'un système de fichiers.\n" #: src/stat.c:1356 msgid "" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" " -L, --dereference suivre les liens\n" " -f, --file-system afficher l'état du système de fichiers au lieu de\n" " l'état du fichier\n" #: src/stat.c:1360 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT\n" " -t, --terse print the information in terse form\n" msgstr "" " -c --format=FORMAT utiliser le FORMAT indiqué au lieu de celui par " "défaut ;\n" " afficher un changement de ligne après chaque\n" " utilisation de FORMAT\n" " --printf=FORMAT identique à --format mais, interpréter les " "séquences\n" " de protection, et ne pas afficher de changement " "de\n" " ligne. Si vous désirez un changement de ligne, " "ajoutez\n" " « \\n » à FORMAT.\n" " -t, --terse afficher l'information dans un format " "compréhensible\n" #: src/stat.c:1371 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a access rights in octal\n" " %A access rights in human readable form\n" " %b number of blocks allocated (see %B)\n" " %B the size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" "\n" "Format possible pour les séquences de fichiers (sans --file-system) :\n" "\n" " %a droits d'accès en octal\n" " %A droits d'accès en format lisible\n" " %b nombre de blocs alloués (voir %B)\n" " %B la taille en octets de chaque bloc rapportée par %b\n" " %C la chaîne de contexte de sécurité SELinux\n" #: src/stat.c:1380 msgid "" " %d device number in decimal\n" " %D device number in hex\n" " %f raw mode in hex\n" " %F file type\n" " %g group ID of owner\n" " %G group name of owner\n" msgstr "" " %d numéro de périphérique en décimal\n" " %D numéro de périphérique en hexadécimal\n" " %f mode brut en hexadécimal\n" " %F type de fichier\n" " %g GID du propriétaire\n" " %G nom de groupe du propriétaire\n" #: src/stat.c:1388 msgid "" " %h number of hard links\n" " %i inode number\n" " %m mount point\n" " %n file name\n" " %N quoted file name with dereference if symbolic link\n" " %o optimal I/O transfer size hint\n" " %s total size, in bytes\n" " %t major device type in hex\n" " %T minor device type in hex\n" msgstr "" " %h nombre de liens directs (hard)\n" " %i numéro d'inÅ“ud\n" " %m point de montage\n" " %n nom de fichier\n" " %N nom de fichier en citation avec référence si lien symbolique\n" " %o conseil sur la taille optimale de transfert d'E/S\n" " %s taille totale, en octets\n" " %t type majeur de périphérique en hexadécimal\n" " %T type mineur de périphérique en hexadécimal\n" #: src/stat.c:1399 msgid "" " %u user ID of owner\n" " %U user name of owner\n" " %w time of file birth, human-readable; - if unknown\n" " %W time of file birth, seconds since Epoch; 0 if unknown\n" " %x time of last access, human-readable\n" " %X time of last access, seconds since Epoch\n" " %y time of last modification, human-readable\n" " %Y time of last modification, seconds since Epoch\n" " %z time of last change, human-readable\n" " %Z time of last change, seconds since Epoch\n" "\n" msgstr "" " %u UID du propriétaire\n" " %U nom d'utilisateur du propriétaire\n" " %w date de création du fichier, lisible ; - si inconnue\n" " %W date de création du fichier, en seconde depuis Epoch ; 0 si inconnue\n" " %x date du dernier accès, lisible\n" " %X date du dernier accès en seconde depuis Epoch\n" " %y date de la dernière modification, lisible\n" " %Y date de la dernière modification en seconde depuis Epoch\n" " %z date du dernier changement, lisible\n" " %Z date du dernier changement en seconde depuis Epoch\n" "\n" #: src/stat.c:1413 msgid "" "Valid format sequences for file systems:\n" "\n" " %a free blocks available to non-superuser\n" " %b total data blocks in file system\n" " %c total file nodes in file system\n" " %d free file nodes in file system\n" " %f free blocks in file system\n" msgstr "" "Séquences de format possible pour les systèmes de fichiers :\n" "\n" " %a blocs libres disponibles pour un non superutilisateur\n" " %b total des blocs de données dans le système de fichiers\n" " %c total des nÅ“uds de fichiers dans le système de fichiers\n" " %d nÅ“uds de fichiers libres dans le système de fichiers\n" " %f blocs libres dans le système de fichiers\n" #: src/stat.c:1422 msgid "" " %i file system ID in hex\n" " %l maximum length of filenames\n" " %n file name\n" " %s block size (for faster transfers)\n" " %S fundamental block size (for block counts)\n" " %t file system type in hex\n" " %T file system type in human readable form\n" msgstr "" " %i identifiant du système de fichiers en hexadécimal\n" " %l longueur maximale des noms de fichiers\n" " %n nom de fichier\n" " %s taille de bloc (pour des transferts rapides)\n" " %S taille fondamentale de bloc (pour le décompte de blocs)\n" " %t type de système de fichiers en hexadécimal\n" " %T type de système de fichiers au format lisible\n" #: src/stdbuf.c:90 #, c-format msgid "Usage: %s OPTION... COMMAND\n" msgstr "" "Utilisation : %s [OPTION]... COMMAND\n" "\n" #: src/stdbuf.c:91 msgid "" "Run COMMAND, with modified buffering operations for its standard streams.\n" msgstr "" "Exécuter COMMAND, avec des opérations de mises en tampon modifiées pour ses\n" "flux standards.\n" #: src/stdbuf.c:97 msgid "" " -i, --input=MODE adjust standard input stream buffering\n" " -o, --output=MODE adjust standard output stream buffering\n" " -e, --error=MODE adjust standard error stream buffering\n" msgstr "" " -i, --input=MODE ajuster la mise en tampon du flux d'entrée standard\n" " -o, --output=MODE ajuster la mise en tampon du flux de sortie standard\n" " -e, --error=MODE ajuster la mise en tampon du flux d'erreur standard\n" #: src/stdbuf.c:104 msgid "" "\n" "If MODE is 'L' the corresponding stream will be line buffered.\n" "This option is invalid with standard input.\n" msgstr "" "\n" "Si MODE est « L », le flux correspondant utilisera une mise en tampon par " "ligne.\n" "Cette option est incorrecte avec l'entrée standard.\n" #: src/stdbuf.c:107 msgid "" "\n" "If MODE is '0' the corresponding stream will be unbuffered.\n" msgstr "" "\n" "Si MODE est « 0 », le flux correspondant ne sera pas mis en tampon.\n" #: src/stdbuf.c:110 msgid "" "\n" "Otherwise MODE is a number which may be followed by one of the following:\n" "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" "In this case the corresponding stream will be fully buffered with the " "buffer\n" "size set to MODE bytes.\n" msgstr "" "\n" "Dans les autres cas, MODE est un nombre qui peut être suivi par KB 1000, K " "1024,\n" "MB 1000*1000, M 1024*1024 et ainsi de suite pour G, T, P, E, Z et Y.\n" "Dans ce cas, le flux correspondant sera complètement mis en tampon avec un\n" "tampon définit à MODE octets.\n" #: src/stdbuf.c:116 msgid "" "\n" "NOTE: If COMMAND adjusts the buffering of its standard streams ('tee' does\n" "for e.g.) then that will override corresponding settings changed by " "'stdbuf'.\n" "Also some filters (like 'dd' and 'cat' etc.) don't use streams for I/O,\n" "and are thus unaffected by 'stdbuf' settings.\n" msgstr "" "\n" "Remarque : si COMMAND ajuste la mise en tampon de ses flux standards (comme\n" "« tee » par exemple), alors cela va écraser les paramètres correspondant\n" "modifiés par « stdbuf ».\n" "Certains filtres (comme « dd » ou « cat », etc.) n'utilisent par les flux " "pour\n" "les E/S, et ne sont donc pas affectés par les paramètres de « stdbuf ».\n" #: src/stdbuf.c:226 #, c-format msgid "failed to find %s" msgstr "impossible de trouver %s" #: src/stdbuf.c:246 src/stdbuf.c:278 #, c-format msgid "failed to update the environment with %s" msgstr "impossible de mettre à jour l'environnement avec %s" #: src/stdbuf.c:320 #, c-format msgid "line buffering stdin is meaningless" msgstr "la mise en tampon de l'entrée standard est sans effet" #: src/stty.c:513 #, c-format msgid "" "Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" msgstr "" "Utilisation : %s [-F DEVICE] | --file=DEVICE] [SETTING]...\n" " ou : %s [-F DEVICE | --file=DEVICE] [-a|--all]\n" " ou : %s [-F DEVICE | --file=DEVICE] [-g|--save]\n" #: src/stty.c:519 msgid "Print or change terminal characteristics.\n" msgstr "Afficher ou modifier les caractéristiques du terminal.\n" #: src/stty.c:525 msgid "" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" " -a, --all afficher tous les paramètres actuels en format lisible\n" " -g, --save afficher tous les paramètres actuels en format " "compatible\n" " avec « stty »\n" " -F, --file=DEVICE utiliser le périphérique DEVICE indiqué au lieu de\n" " l'entrée standard\n" #: src/stty.c:532 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" "\n" "Un « - » optionnel avant SETTINGS indique une négation. Un * indique des\n" "paramètres non POSIX. Le système sous-jacent détermine les paramètres\n" "applicables.\n" #: src/stty.c:537 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" "\n" "Caractères spéciaux :\n" " * dsusp CHAR CHAR émettra un signal d'arrêt de terminal une fois le " "tampon\n" " d'entrée vidé\n" " eof CHAR CHAR émettra une fin de fichier (pour arrêter l'entrée)\n" " eol CHAR CHAR arrêtera la ligne\n" #: src/stty.c:544 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" " * eol2 CHAR CHAR alternatif pour arrêter la ligne\n" " erase CHAR CHAR supprimera le dernier caractère saisi\n" " intr CHAR CHAR émettra un signal d'interruption\n" " kill CHAR CHAR supprimera la ligne actuelle\n" #: src/stty.c:550 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" " * lnext CHAR CHAR entrera le prochain caractère entre guillemets\n" " quit CHAR CHAR émettra un signal de fin\n" " * rprnt CHAR CHAR réaffichera la ligne actuelle\n" " start CHAR CHAR redémarrera la sortie après l'avoir arrêtée\n" #: src/stty.c:556 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" " stop CHAR CHAR arrêtera la sortie\n" " susp CHAR CHAR émettra un signal d'arrêt de terminal\n" " * swtch CHAR CHAR permettra de basculer à une couche différente du " "shell\n" " * werase CHAR CHAR supprimera le dernier mot saisi\n" #: src/stty.c:562 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" "\n" "Paramètres spéciaux :\n" " N initialiser les vitesses d'entrée et de sortie à N bauds\n" " * cols N indiquer au noyau que le terminal a N colonnes\n" " * columns N identique à « cols N »\n" #: src/stty.c:569 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" " ispeed N initialiser la vitesse d'entrée à N\n" " * line N utiliser la procédure de contrôle N\n" " min N avec -icanon, initialiser à N le nombre de caractères\n" " nécessaires pour obtenir une lecture complète\n" " ospeed N initialiser la vitesse de sortie à N\n" #: src/stty.c:575 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" " * rows N indiquer au noyau que le terminal a N lignes\n" " * size afficher le nombre de lignes et de colonnes selon les\n" " paramètres du noyau\n" " speed afficher la vitesse du terminal\n" " time N avec -icanon, initialiser le délai d'inactivité de lecture " "à\n" " N dixièmes de seconde\n" #: src/stty.c:581 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " * [-]cdtrdsr enable DTR/DSR handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" "\n" "Paramètres de contrôle :\n" " [-]clocal désactiver les signaux de contrôle du modem\n" " [-]cread autoriser la réception sur l'entrée\n" " * [-]crtscts autoriser l'initialisation RTS/CTS\n" " * [-]cdtrdsr autoriser l'initialisation DTR/DSR\n" " csN initialiser la taille des caractères à N bits,\n" " avec N compris entre 5 et 8\n" #: src/stty.c:590 msgid "" " [-]cstopb use two stop bits per character (one with '-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (or even parity with '-')\n" msgstr "" " [-]cstopb utiliser 2 bits d'arrêt par caractère (un avec « - »)\n" " [-]hup émettre un signal de déconnexion quand le dernier " "processus\n" " ferme le lien tty\n" " [-]hupcl identique à [-]hup\n" " [-]parenb générer le bit de parité pour la sortie et traiter " "l'entrée\n" " avec un bit de parité implicite\n" " [-]parodd utiliser une parité impaire (paire avec « - »)\n" #: src/stty.c:597 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" "\n" "Paramètres d'entrée :\n" " [-]brkint les breaks provoquent un signal d'interruption\n" " [-]icrnl transformer le retour chariot en changement de ligne\n" " [-]ignbrk ignorer les caractères break\n" " [-]igncr ignorer le retour chariot\n" #: src/stty.c:605 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" " [-]ignpar ignorer les caractères ayant des erreurs de parité\n" " * [-]imaxbel émettre un bip et ne pas vider le tampon d'entrée plein " "lors\n" " de l'arrivée d'un caractère\n" " [-]inlcr transformer le saut de ligne en retour de chariot\n" " [-]inpck autoriser la vérification de la parité à l'entrée\n" " [-]istrip effacer le bit de poids fort (8e) des caractères en entrée\n" #: src/stty.c:612 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" " * [-]iutf8 présumer que les caractères en entrée sont codés en UTF-8\n" #: src/stty.c:615 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" " * [-]iuclc transformer les majuscules en minuscules\n" " * [-]ixany permettre à n'importe quel caractère de relancer " "l'affichage\n" " sur la sortie, pas uniquement le caractère de " "redémarrage\n" " [-]ixoff autoriser l'envoi d'un caractère d'arrêt ou de départ\n" " [-]ixon autoriser le contrôle de flux XON/XOFF\n" " [-]parmrk indiquer les erreurs de parité par une séquence de\n" " caractères (255-0)\n" " [-]tandem identique à [-]ixoff\n" #: src/stty.c:623 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" "\n" "Paramètres de sortie :\n" " * bsN style du délai de retour arrière, N parmi [0..1]\n" " * crN style du délai du retour de chariot, N parmi [0..3]\n" " * ffN style du délai du saut de page, N parmi [0..1]\n" " * nlN style du délai du saut de ligne, N parmi [0..1]\n" #: src/stty.c:631 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" " * [-]ocrnl transformer un retour chariot par un changement de ligne\n" " * [-]ofdel utiliser des caractères d'effacement comme caractère\n" " de remplissage au lieu de caractères nuls\n" " * [-]ofill utiliser le remplissage de caractères au lieu du délai par\n" " minuterie\n" " * [-]olcuc traduire les minuscules en majuscules\n" " * [-]onlcr traduire le saut de ligne en retour chariot-changement de " "ligne\n" " * [-]onlret le changement de ligne génère un retour chariot\n" #: src/stty.c:639 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" " * [-]onocr ne pas afficher de retour chariot en première colonne\n" " [-]opost post-traitement de sortie\n" " * tabN style du délai de tabulation horizontale, N parmi [0..3]\n" " * tabs identique à tab0\n" " * -tabs identique à tab3\n" " * vtN style du délai de tabulation verticale, N parmi [0..1]\n" #: src/stty.c:647 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" "\n" "Paramètres locaux :\n" " [-]crterase écho du caractère « erase » comme séquence\n" " retour arrière-espace-retour arrière\n" " * crtkill supprimer toute la ligne en respectant les paramètres\n" " « echoprt » et « echoe »\n" " * -crtkill supprimer toute la ligne en respectant les paramètres\n" " « echoctl » et « echok »\n" #: src/stty.c:654 msgid "" " * [-]ctlecho echo control characters in hat notation ('^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" " * [-]ctlecho écho des caractères de contrôle par une notation en\n" " chapeau (« ^c »)\n" " [-]echo écho des caractères en entrée\n" " * [-]echoctl identique à [-]ctlecho\n" " [-]echoe identique à [-]crterase\n" " [-]echok écho d'un changement de ligne après un caractère " "d'annulation\n" #: src/stty.c:661 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between '\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" " * [-]echoke identique à [-]crtkill\n" " [-]echonl écho d'un changement de ligne même sans d'écho des autres\n" " caractères\n" " * [-]echoprt écho des caractères d'effacement par retour arrière, entre\n" " « \\ » et « / »\n" " [-]icanon autoriser les caractères spéciaux\n" " « erase », « kill », « werase », et « rprnt »\n" " [-]iexten autoriser les caractères spéciaux non POSIX\n" #: src/stty.c:668 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with '\\' for uppercase characters\n" msgstr "" " [-]isig autoriser les caractères spéciaux\n" " « interrupt », « quit », et « suspend »\n" " [-]noflsh désactiver la vidange après réception des caractères\n" " « interrupt » et « quit »\n" " * [-]prterase identique à [-]echoprt\n" " * [-]tostop arrêter les tâches en arrière plan qui essaient d'écrire " "sur\n" " le terminal\n" " * [-]xcase avec « icanon », protéger les majuscules avec « \\ »\n" #: src/stty.c:675 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" "\n" "Paramètres de combinaison :\n" " * [-]LCASE identique à [-]lcase\n" " cbreak identique à -icanon\n" " -cbreak identique à icanon\n" #: src/stty.c:682 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" " cooked identique à brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof et eol selon leur valeur par défaut\n" " -cooked identique à raw\n" " crt identique à echoe echoctl echoke\n" #: src/stty.c:688 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" " dec identique à echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq identique à [-]ixany\n" " ek réinitialiser les caractères erase et kill à leur valeur\n" " par défaut\n" " evenp identique à parenb -parodd cs7\n" #: src/stty.c:695 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" " -evenp identique à -parenb cs8\n" " * [-]lcase identique à xcase iuclc olcuc\n" " litout identique à -parenb -istrip -opost cs8\n" " -litout identique à parenb istrip opost cs7\n" " nl identique à -icrnl -onlcr\n" " -nl identique à icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #: src/stty.c:703 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" " oddp identique à parenb parodd cs7\n" " -oddp identique à -parenb cs8\n" " [-]parity identique à [-]evenp\n" " pass8 identique à -parenb -istrip cs8\n" " -pass8 identique à parenb istrip cs7\n" #: src/stty.c:710 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" " raw identique à -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw identique à cooked\n" #: src/stty.c:716 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values\n" msgstr "" " sane identique à cread -ignbrk brkint -inlcr -igncr icrnl -" "iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, tous les " "caractères\n" " spéciaux avec leur valeur par défaut.\n" #: src/stty.c:724 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" "\n" "Prendre en charge la ligne « tty » reliée à l'entrée standard. En l'absence\n" "d'argument, afficher la vitesse, la procédure de contrôle et les " "modifications\n" "appliquées par « stty sane ». Dans les paramètres, CHAR est pris " "littéralement,\n" "ou codé comme ^c, 0x37, 0177 ou 127 ; les valeurs spéciales comme ^- ou\n" "indéfinies sont utilisées pour inhiber les caractères spéciaux.\n" #: src/stty.c:796 #, c-format msgid "only one device may be specified" msgstr "un seul périphérique peut être indiqué" #: src/stty.c:826 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" "les options pour le mode bavard et les styles de sortie de compatible avec " "stty\n" "sont mutuellement exclusives" #: src/stty.c:832 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" "les mode ne peuvent pas être initialisés quand le style de sortie est indiqué" #: src/stty.c:847 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "%s : impossible de réinitialiser le mode non bloquant" #: src/stty.c:892 src/stty.c:1002 #, c-format msgid "invalid argument %s" msgstr "argument %s incorrect" #: src/stty.c:903 src/stty.c:920 src/stty.c:932 src/stty.c:945 src/stty.c:957 #: src/stty.c:977 #, c-format msgid "missing argument to %s" msgstr "argument manquant pour %s" #: src/stty.c:983 #, c-format msgid "invalid line discipline %s" msgstr "procédure de contrôle %s incorrecte" #: src/stty.c:1053 #, c-format msgid "%s: unable to perform all requested operations" msgstr "%s : impossible d'effectuer toutes les opérations demandées" #: src/stty.c:1399 #, c-format msgid "%s: no size information for this device" msgstr "%s : aucune information sur la taille de ce périphérique" #: src/stty.c:1920 #, c-format msgid "invalid integer argument %s" msgstr "argument numérique %s incorrect" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:37 msgid "Kayvan Aghaiepour" msgstr "Kayvan Aghaiepour" #: src/sum.c:62 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" "Afficher la somme de contrôle et le nombre de blocs de chaque FILE.\n" "\n" " -r utiliser l'algorithme de calcul de somme BSD avec des " "blocs de\n" " 1K octets\n" " -s, --sysv utiliser l'algorithme de calcul de somme de Système V avec " "des\n" " blocs de 512 octets\n" #: src/sync.c:41 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" "Forcer l'écriture des blocs modifiés sur disque et la mise à jour du super " "bloc.\n" "\n" #: src/sync.c:69 #, c-format msgid "ignoring all arguments" msgstr "ignorer tous les arguments" #: src/system.h:343 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" "\n" "Remarque : l'interpréteur de commande peut avoir sa propre version de %s,\n" "lequel remplace habituellement la version décrite ici. Consultez la\n" "documentation de l'interpréteur pour obtenir des précisions sur les options\n" "prises en charge.\n" #: src/system.h:349 msgid " --help display this help and exit\n" msgstr " --help afficher l'aide et quitter\n" #: src/system.h:351 msgid " --version output version information and exit\n" msgstr " --version afficher des informations de version et quitter\n" #: src/system.h:544 msgid "" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "\n" "Les arguments obligatoires pour les options longues le sont aussi pour les\n" "options courtes.\n" #: src/system.h:552 msgid "" "\n" "SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units\n" "are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of " "1000).\n" msgstr "" "\n" "SIZE est un entier suivi d'une unité facultative (10M pour 10*1024*1024 par\n" "exemple). Les unités sont K, M, G, T, P, E, Z et Y (puissances de 1024) ou\n" "KB, MB, etc. (puissances de 1000).\n" #: src/system.h:561 #, c-format msgid "" "\n" "Display values are in units of the first available SIZE from --block-size,\n" "and the %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.\n" "Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n" msgstr "" "\n" "Les valeurs sont affichées selon les unités du premier SIZE parmi --block-" "size\n" "et les variables d'environnement %s_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE.\n" "Dans le cas contraire, les unités par défaut sont 1 024 octets (ou 512 si\n" "POSIXLY_CORRECT est défini).\n" #: src/system.h:571 #, c-format msgid "" "\n" "Report %s bugs to %s\n" msgstr "" "\n" "Signalez les anomalies de « %s » à <%s>\n" # J'ai fait une entorse pour que la traduction reste sur une seule ligne (Stéphane) #. TRANSLATORS: Replace LANG_CODE in this URL with your language code #. <http://translationproject.org/team/LANG_CODE.html> to form one of #. the URLs at http://translationproject.org/team/. Otherwise, replace #. the entire URL with your translation team's email address. #: src/system.h:585 #, c-format msgid "Report %s translation bugs to <http://translationproject.org/team/>\n" msgstr "" "Signalez les problèmes de traduction de « %s » à : <traduc@traduc.org>\n" #: src/system.h:589 #, c-format msgid "For complete documentation, run: info coreutils '%s invocation'\n" msgstr "" "Utilisez « info coreutils '%s invocation' » pour toute la documentation\n" #: src/system.h:596 #, c-format msgid "Try '%s --help' for more information.\n" msgstr "Saisissez « %s --help » pour plus d'informations.\n" #: src/system.h:628 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" "Attention : structure de répertoire circulaire.\n" "Cela signifie très certainement que votre système de fichiers est corrompu.\n" "AVISER VOTRE ADMINISTRATEUR SYSTÈME.\n" "Le répertoire suivant fait parti du cycle:\n" " %s\n" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:58 msgid "Jay Lepreau" msgstr "Jay Lepreau" #: src/tac.c:137 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Écrire chaque FILE sur la sortie standard, la dernière ligne en premier.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/tac.c:144 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" " -b, --before placer le séparateur avant plutôt qu'après\n" " -r, --regex interpréter le séparateur comme une expression\n" " rationnelle\n" " -s, --separator=STRING utiliser STRING comme séparateur au lieu d'un\n" " changement de ligne\n" #: src/tac.c:234 src/tac.c:335 #, c-format msgid "%s: seek failed" msgstr "%s : échec de positionnement (seek)" #: src/tac.c:263 #, c-format msgid "record too large" msgstr "enregistrement trop grand" #: src/tac.c:450 #, c-format msgid "failed to create temporary file in %s" msgstr "impossible de créer le fichier temporaire dans %s" #: src/tac.c:458 #, c-format msgid "failed to open %s for writing" msgstr "échec d'ouverture de %s en écriture" #: src/tac.c:475 #, c-format msgid "failed to rewind stream for %s" msgstr "échec de rembobinage du flux pour %s" #: src/tac.c:511 src/tac.c:518 #, c-format msgid "%s: write error" msgstr "%s : erreur d'écriture" #: src/tac.c:571 #, c-format msgid "failed to open %s for reading" msgstr "impossible d'ouvrir %s en lecture" #: src/tac.c:629 #, c-format msgid "separator cannot be empty" msgstr "le séparateur ne peut pas être vide" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:71 msgid "Ian Lance Taylor" msgstr "Ian Lance Taylor" #: src/tail.c:262 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Afficher les %d dernières lignes de chaque FILE sur la sortie standard.\n" "Avec plusieurs fichiers FILE, précéder chacun d'un en-tête donnant le nom.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" #: src/tail.c:270 msgid "" " -c, --bytes=K output the last K bytes; alternatively, use -c " "+K\n" " to output bytes starting with the Kth of each " "file\n" msgstr "" " -c, --bytes=K afficher les K derniers octets ; -c peut aussi " "être\n" " utilisé pour afficher les octets débutant au " "Ke\n" " de chaque fichier\n" #: src/tail.c:274 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" " -f, --follow[={name|descriptor}]\n" " afficher les données ajoutées au fur et à mesure\n" " que le fichier grandit ; -f, --follow et\n" " --follow=descriptor sont équivalents\n" " -F identique à --follow=name --retry\n" #: src/tail.c:281 #, c-format msgid "" " -n, --lines=K output the last K lines, instead of the last %d;\n" " or use -n +K to output lines starting with the " "Kth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files).\n" " With inotify, this option is rarely useful.\n" msgstr "" " -n, --lines=K afficher les K dernières lignes, au lieu des %d\n" " dernières ou utilisez -n +K pour afficher les\n" " lignes à partir de la Ke\n" " --max-unchanged-stats=N\n" " avec l'option --follow=name, rouvrir un FILE qui\n" " n'a pas changé de taille après N itérations " "(%d\n" " par défaut) afin de vérifier s'il a été délié " "ou\n" " renommé (c'est le cas habituellement des " "fichiers\n" " tournants de journalisation).\n" " Avec inotify, cette option est rarement " "utilisée.\n" #: src/tail.c:294 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " --retry keep trying to open a file even when it is or\n" " becomes inaccessible; useful when following by\n" " name, i.e., with --follow=name\n" msgstr "" " --pid=PID avec -f, terminer après la mort du PID\n" " -q, --quiet, --silent ne jamais afficher l'en-tête donnant les noms\n" " de fichiers\n" " --retry continuer d'essayer à ouvrir un fichier même " "quand il\n" " est ou devient inaccessible ; utile avec un " "suivi\n" " par nom, par exemple, avec --follow=nom\n" #: src/tail.c:301 msgid "" " -s, --sleep-interval=N with -f, sleep for approximately N seconds\n" " (default 1.0) between iterations.\n" " With inotify and --pid=P, check process P at\n" " least once every N seconds.\n" " -v, --verbose always output headers giving file names\n" msgstr "" " -s, --sleep-interval=N avec -f, dort environ N secondes (1.0 par " "défaut)\n" " entre les itérations. Avec inotify et --pid=P,\n" " vérifier le processus P au moins une fois " "toutes\n" " les N secondes.\n" " -v, --verbose afficher toujours les en-têtes des noms de " "fichier\n" #: src/tail.c:310 msgid "" "\n" "If the first character of K (the number of bytes or lines) is a '+',\n" "print beginning with the Kth item from the start of each file, otherwise,\n" "print the last K items in the file. K may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" "\n" "Si le premier caractère de K (le nombre d'octets ou de lignes) est un " "« + »,\n" "afficher à partir du Ke éléments depuis le début de chaque fichier, " "autrement,\n" "afficher les K derniers éléments du fichier. K peut avoir un suffixe\n" "multiplicateur :\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 et ainsi de suite pour T, P, E, Z et Y.\n" "\n" #: src/tail.c:319 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file in a way that accommodates renaming, removal and creation.\n" msgstr "" "Avec l'option --follow (-f), tail utilise par défaut le descripteur de " "fichier,\n" "lui ainsi permettant de suivre l'évolution du fichier ciblé même s'il change " "de\n" "nom. Ce comportement par défaut n'est pas désirable lorsqu'on désire suivre\n" "l'évolution d'un fichier à l'aide de son nom et non via le descripteur de\n" "fichier (par exemple lors de la rotation des journaux). Dans ce cas, " "utilisez\n" "--follow=name et tail suivra l'évolution du fichier en s'accommodant des\n" "changements de nom, des suppressions ou des créations.\n" #: src/tail.c:378 #, c-format msgid "closing %s (fd=%d)" msgstr "fermeture de %s (fd=%d)" #: src/tail.c:453 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "%s : impossible de se déplacer selon le décalage relatif %s" #: src/tail.c:457 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "%s : impossible de se déplacer à la fin du décalage relatif %s" #: src/tail.c:894 #, c-format msgid "cannot determine location of %s. reverting to polling" msgstr "" "impossible de déterminer l'emplacement de %s, retour à l'interrogation active" #: src/tail.c:906 #, c-format msgid "" "unrecognized file system type 0x%08lx for %s. please report this to %s. " "reverting to polling" msgstr "" "type 0x%08lx de système de fichiers non reconnu pour %s, veuillez signaler " "cela à %s, retour à l'interrogation active" #: src/tail.c:963 #, c-format msgid "%s has become inaccessible" msgstr "%s est devenu inaccessible" #: src/tail.c:980 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" "%s a été remplacé par un fichier incompatible avec tail, abandon sur ce nom" #: src/tail.c:989 #, c-format msgid "%s has been replaced with a remote file. giving up on this name" msgstr "%s a été remplacé par un fichier distant, abandon sur ce nom" #: src/tail.c:1010 #, c-format msgid "%s has become accessible" msgstr "%s est devenu accessible" #: src/tail.c:1018 #, c-format msgid "%s has appeared; following end of new file" msgstr "%s est apparu ; suivi de la fin du nouveau fichier" #: src/tail.c:1029 #, c-format msgid "%s has been replaced; following end of new file" msgstr "%s a été remplacé ; suivi de la fin du nouveau fichier" #: src/tail.c:1130 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "%s : impossible de modifier le mode non bloquant" #: src/tail.c:1172 src/tail.c:1287 #, c-format msgid "%s: file truncated" msgstr "%s : fichier tronqué" #: src/tail.c:1196 src/tail.c:1442 #, c-format msgid "no files remaining" msgstr "aucun fichier restant" #: src/tail.c:1369 #, c-format msgid "cannot watch parent directory of %s" msgstr "impossible de surveiller le répertoire parent de %s" #: src/tail.c:1372 src/tail.c:1387 #, c-format msgid "inotify resources exhausted" msgstr "les ressources inotify sont épuisés" #: src/tail.c:1390 src/tail.c:1519 #, c-format msgid "cannot watch %s" msgstr "impossible de surveiller %s" #: src/tail.c:1473 #, c-format msgid "error monitoring inotify event" msgstr "erreur de suivi d'un événement inotify" #: src/tail.c:1493 #, c-format msgid "error reading inotify event" msgstr "erreur de lecture d'un événement inotify" #: src/tail.c:1786 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" "%s : impossible de suivre la fin de ce type de fichier, abandon sur ce nom" #: src/tail.c:1903 #, c-format msgid "number in %s is too large" msgstr "le numéro dans %s est trop grand" #: src/tail.c:1975 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" "%s : nombre maximal de changements d'état incorrect entre les ouvertures" #: src/tail.c:1991 #, c-format msgid "%s: invalid PID" msgstr "%s : PID incorrect" #: src/tail.c:2010 #, c-format msgid "%s: invalid number of seconds" msgstr "%s : nombre de secondes incorrect" #: src/tail.c:2026 #, c-format msgid "option used in invalid context -- %c" msgstr "option utilisée dans un contexte incorrect — %c" #: src/tail.c:2034 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" "avertissement : --retry est principalement utile s'il est suivi par un nom" #: src/tail.c:2038 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "avertissement : PID ignoré ; --pid=PID n'est utile que lors du suivi" #: src/tail.c:2041 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "avertissement : --pid=PID n'est pas pris en charge sur ce système" #: src/tail.c:2142 #, c-format msgid "cannot follow %s by name" msgstr "impossible de suivre %s selon son nom" #: src/tail.c:2148 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "avertissement : suivre l'entrée standard indéfiniment est inefficace" #: src/tail.c:2209 #, c-format msgid "inotify cannot be used, reverting to polling" msgstr "impossible d'utiliser inotify, retour à l'interrogation active" #: src/tee.c:63 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" "Copier l'entrée standard vers chaque FILE, et également vers la sortie " "standard.\n" "\n" " -a, --append ajouter aux FILEs, sans les écraser\n" " -i, --ignore-interrupts ignorer les signaux d'interruption\n" #: src/tee.c:71 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" "\n" "Si FILE est -, recopier sur la sortie standard.\n" #: src/test.c:123 #, c-format msgid "missing argument after %s" msgstr "argument manquant après %s" #: src/test.c:159 #, c-format msgid "invalid integer %s" msgstr "entier %s incorrect" #: src/test.c:241 msgid "')' expected" msgstr "« ) » attendu" #: src/test.c:244 #, c-format msgid "')' expected, found %s" msgstr "« ) » attendu, %s trouvé" #: src/test.c:260 src/test.c:618 #, c-format msgid "%s: unary operator expected" msgstr "%s : opérateur unaire attendu" #: src/test.c:329 msgid "-nt does not accept -l" msgstr "-nt ne permet pas -l" #: src/test.c:342 msgid "-ef does not accept -l" msgstr "-ef ne permet pas -l" #: src/test.c:358 msgid "-ot does not accept -l" msgstr "-ot ne permet pas -l" #: src/test.c:367 msgid "unknown binary operator" msgstr "opérateur binaire inconnu" #: src/test.c:646 #, c-format msgid "%s: binary operator expected" msgstr "%s : opérateur binaire attendu" #: src/test.c:704 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" "Utilisation : test EXPRESSION\n" " ou : test\n" " ou : [ EXPRESSION ]\n" " ou : [ ]\n" " ou : [ OPTION ]\n" #: src/test.c:711 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" "Terminer l'exécution avec l'état déterminé par EXPRESSION.\n" "\n" #: src/test.c:717 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" "\n" "Une EXPRESSION omise est par défaut fausse. Autrement, l'EXPRESSION est " "vraie\n" "ou fausse et initialise l'état de fin d'exécution. Une parmi :\n" #: src/test.c:722 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" "\n" " ( EXPRESSION ) EXPRESSION est vraie\n" " ! EXPRESSION EXPRESSION est fausse\n" " EXPRESSION1 -a EXPRESSION2 si les deux EXPRESSION1 et EXPRESSION2\n" " sont vraies\n" " EXPRESSION1 -o EXPRESSION2 si l'une des deux EXPRESSION1 ou EXPRESSION2\n" " est vraie\n" #: src/test.c:729 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" "\n" " -n STRING la longueur de STRING n'est pas nulle\n" " STRING équivalent à -n STRING\n" " -z STRING la longueur de STRING est nulle\n" " STRING1 = STRING2 les chaînes sont identiques\n" " STRING1 != STRING2 les chaînes sont différentes\n" #: src/test.c:737 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 est égal à INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 est plus grand ou égal à INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 est plus grand que INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 est plus petit ou égal à INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 est plus petit que INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 n'est pas égal à INTEGER2\n" #: src/test.c:746 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" "\n" " FILE1 -ef FILE2 FILE1 et FILE2 ont les mêmes numéros de périphérique\n" " et d'inÅ“ud\n" " FILE1 -nt FILE2 FILE1 est plus récent (date de modification) que FILE2\n" " FILE1 -ot FILE2 FILE1 est plus ancien que FILE2\n" #: src/test.c:752 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" "\n" " -b FILE FILE existe et est un bloc spécial\n" " -c FILE FILE existe et est un caractère spécial\n" " -d FILE FILE existe et est un répertoire\n" " -e FILE FILE existe\n" #: src/test.c:759 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" " -f FILE FILE existe et est un fichier standard\n" " -g FILE FILE existe et le bit « Set-GID » est initialisé\n" " -G FILE FILE existe et appartient au GID effectif\n" " -h FILE FILE existe et est un lien symbolique (identique à -L)\n" " -k FILE FILE existe et le bit « sticky » est initialisé\n" #: src/test.c:766 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" " -L FILE FILE existe et est un lien symbolique (identique à -h)\n" " -O FILE FILE existe et appartient à l'UID effectif\n" " -p FILE FILE existe et est un tube nommé\n" " -r FILE FILE existe et dispose des permissions en lecture\n" " -s FILE FILE existe et a une taille plus grande que zéro\n" #: src/test.c:773 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" " -S FILE FILE existe et est une « socket »\n" " -t FD le descripteur de fichier FD est ouvert sur un terminal\n" " -u FILE FILE existe et le bit « Set-UID » est initialisé\n" " -w FILE FILE existe et dispose des permissions en écriture\n" " -x FILE FILE existe et est exécutable (ou peut être parcouru dans le " "cas\n" " d'un répertoire)\n" #: src/test.c:780 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" "\n" "Excepté pour -h et -L, tous les tests relatifs aux fichiers déréférencent " "les\n" "liens symboliques. Prenez soin de protéger les parenthèses (par exemple avec " "des\n" "barres obliques inverses) dans un interpréteur.\n" "INTEGER peut être -l STRING, qui évalue alors la longueur de la chaîne.\n" #: src/test.c:786 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" "\n" "Remarque : [ respecte les options --help et --version, mais test ne le fait " "pas.\n" "test traite chacun de ceux-là comme il traite n'importe quelle STRING non " "vide.\n" #: src/test.c:791 msgid "test and/or [" msgstr "test et/ou [" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:803 msgid "Kevin Braunsdorf" msgstr "Kevin Braunsdorf" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:804 msgid "Matthew Bradburn" msgstr "Matthew Bradburn" #: src/test.c:858 msgid "missing ']'" msgstr "« ] » manquant" #: src/test.c:872 #, c-format msgid "extra argument %s" msgstr "argument surnuméraire %s" #: src/timeout.c:112 #, c-format msgid "warning: sigprocmask" msgstr "avertissement : sigprocmask" #: src/timeout.c:145 #, c-format msgid "warning: timer_settime" msgstr "avertissement : timer_settime" #: src/timeout.c:150 #, c-format msgid "warning: timer_create" msgstr "avertissement : timer_create" #: src/timeout.c:225 #, c-format msgid "" "Usage: %s [OPTION] DURATION COMMAND [ARG]...\n" " or: %s [OPTION]\n" msgstr "" "Utilisation : %s [OPTION] DURATION [COMMAND [ARG]...]\n" " ou : %s OPTION\n" #: src/timeout.c:229 msgid "Start COMMAND, and kill it if still running after DURATION.\n" msgstr "" "Démarrer COMMAND et l'arrêter si elle fonctionne encore après la durée " "DURATION.\n" #: src/timeout.c:235 msgid "" " --preserve-status\n" " exit with the same status as COMMAND, even when the\n" " command times out\n" " --foreground\n" " When not running timeout directly from a shell prompt,\n" " allow COMMAND to read from the TTY and receive TTY " "signals.\n" " In this mode, children of COMMAND will not be timed out.\n" " -k, --kill-after=DURATION\n" " also send a KILL signal if COMMAND is still running\n" " this long after the initial signal was sent.\n" " -s, --signal=SIGNAL\n" " specify the signal to be sent on timeout.\n" " SIGNAL may be a name like 'HUP' or a number.\n" " See 'kill -l' for a list of signals\n" msgstr "" " --preserve-status\n" " se terminer avec le même état que COMMAND, même si la " "commande\n" " dépasse le temps imparti\n" " --foreground\n" " quand timeout ne s'exécute pas directement d'une invite de\n" " commande, permettre à COMMAND de lire depuis le TTY et " "de\n" " recevoir les signaux du TTY. Dans ce mode, les enfants " "de\n" " COMMAND ne s'arrêteront pas à l'expiration du délai.\n" " -k, --kill-after=DURATION\n" " envoyer aussi le signal KILL if COMMAND est toujours en " "cours\n" " d'exécution bien après que le signal initial ait été " "envoyé.\n" " -s, --signal=SIGNAL\n" " indiquer le signal à envoyer lors d'une expiration de " "délai.\n" " SIGNAL peut être un nom comme « HUP » ou un nombre.\n" " Consultez « kill -l » pour une liste des signaux.\n" #: src/timeout.c:254 msgid "" "\n" "DURATION is a floating point number with an optional suffix:\n" "'s' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for " "days.\n" msgstr "" "\n" "DURATION est un nombre en virgule flottante avec un suffixe facultatif :\n" "« s » pour secondes (par défaut), « m » pour minutes, « h » pour heures\n" "ou « d » pour jours.\n" #: src/timeout.c:259 msgid "" "\n" "If the command times out, and --preserve-status is not set, then exit with\n" "status 124. Otherwise, exit with the status of COMMAND. If no signal\n" "is specified, send the TERM signal upon timeout. The TERM signal kills\n" "any process that does not block or catch that signal. It may be necessary\n" "to use the KILL (9) signal, since this signal cannot be caught, in which\n" "case the exit status is 128+9 rather than 124.\n" msgstr "" "\n" "Si la commande dépasse le temps imparti, et que --preserve-status n'est pas\n" "définie, alors quitter avec l'état 124, sinon quitter avec l'état de " "COMMAND.\n" "Si aucun signal n'est indiqué, le signal TERM est envoyé à l'expiration.\n" "Le signal TERM tuera tous les processus qui n'attrapent pas ce signal.\n" "Il peut être nécessaire d'utiliser le signal KILL (9), puisque ce signal ne\n" "peut pas être capturé, auquel cas l'état de retour est 128+9 au lieu de " "124.\n" #: src/timeout.c:363 #, c-format msgid "warning: disabling core dumps failed" msgstr "avertissement : impossible de désactiver les core dumps" #: src/timeout.c:471 #, c-format msgid "error waiting for command" msgstr "erreur d'attente de la commande" #: src/timeout.c:482 #, c-format msgid "the monitored command dumped core" msgstr "la commande surveillée a renvoyé un core dump" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "Jim Kingdon" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "Randy Smith" #: src/touch.c:115 src/touch.c:309 #, c-format msgid "invalid date format %s" msgstr "format de date %s incorrect" #: src/touch.c:191 #, c-format msgid "cannot touch %s" msgstr "impossible de faire un touch %s" #: src/touch.c:197 #, c-format msgid "setting times of %s" msgstr "initialisation des dates de %s" #: src/touch.c:213 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty, unless -c or -h\n" "is supplied.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" msgstr "" "Mettre à jour la date d'accès et de modification de FILE à l'heure " "actuelle.\n" "\n" "Un argument FILE qui n'existe pas est créé vide, sauf si -c ou -h sont " "indiqués.\n" "\n" "Une chaîne d'argument FILE à - est géré spécifiquement et fait que touch\n" "modifie la date du fichier associé à la sortie standard.\n" #: src/touch.c:225 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" msgstr "" " -a ne modifier que la date d'accès\n" " -c, --no-create ne créer aucun fichier\n" " -d, --date=STRING analyser la chaîne STRING et l'utiliser au lieu de " "la\n" " date actuelle\n" " -f (ignorée)\n" #: src/touch.c:231 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " timestamps of a symlink)\n" " -m change only the modification time\n" msgstr "" " -h, --no-dereference affecter les liens symboliques au lieu des " "fichiers\n" " référencés (seulement utile sur les systèmes\n" " permettant de modifier les dates de lien " "symbolique)\n" " -m ne modifier que la date de modification\n" #: src/touch.c:237 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" " -r, --reference=FILE utiliser la date de ce fichier au lieu de la date\n" " actuelle\n" " -t STAMP utiliser [[CC]AA]MMJJhhmm[.ss] au lieu de la date\n" " actuelle\n" " --time=WORD modifier le temps indiqué :\n" " équivalent à -a si WORD est « access », " "« atime »\n" " ou « use » ;\n" " équivalent à -m si WORD est « modify » ou " "« mtime »\n" #: src/touch.c:246 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" "\n" "Notez que les options -d et -t acceptent différents formats de date et " "d'heure.\n" #: src/touch.c:335 #, c-format msgid "cannot specify times from more than one source" msgstr "impossible d'indiquer les dates pour plusieurs sources" #: src/touch.c:409 #, c-format msgid "" "warning: 'touch %s' is obsolete; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" "avertissement : « touch %s » est obsolète ; utilisez « touch -t %04ld%02d%02d" "%02d%02d.%02d »" #: src/tr.c:286 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "Utilisation : %s [OPTION]... SET1 [SET2]\n" #: src/tr.c:290 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement use the complement of SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" "Convertir, compresser ou éliminer des caractères de l'entrée standard en\n" "écrivant sur la sortie standard.\n" "\n" " -c, -C, --complement utiliser le complément de SET1 \n" " -d, --delete supprimer les caractères de SET1, ne pas " "convertir\n" " -s, --squeeze-repeats remplacer chaque séquence en entrée de caractères\n" " répétés qui apparaît dans SET1 par une seule\n" " occurrence de ce caractère\n" " -t, --truncate-set1 tronquer d'abord SET1 à la longueur de SET2\n" #: src/tr.c:303 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" "\n" "Les ensembles SET sont indiqués comme des chaînes de caractères.\n" "La plupart se représente eux-mêmes.\n" "Les séquences d'interprétation sont les suivantes :\n" "\n" " \\NNN caractère ayant la valeur octale NNN (1 à 3 chiffres " "octaux)\n" " \\\\ barre oblique inverse\n" " \\a sonnerie (SON)\n" " \\b espace arrière\n" " \\f saut de page\n" " \\n nouvelle ligne\n" " \\r retour chariot\n" " \\t tabulation horizontale\n" #: src/tr.c:317 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" " \\v saut vertical\n" " CHAR1-CHAR2 tous les caractères de CHAR1 à CHAR2 en ordre croissant\n" " [CHAR*] dans SET2, copie de CHAR jusqu'à longueur de SET1\n" " [CHAR*REPEAT] REPEAT copies de CHAR, REPEAT est un octal s'il débute par " "0\n" " [:alnum:] toutes les lettres et les chiffres\n" " [:alpha:] toutes les lettres\n" " [:blank:] tous les blancs horizontaux\n" " [:cntrl:] tous les caractères de contrôle\n" " [:digit:] tous les chiffres\n" #: src/tr.c:328 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" " [:graph:] tous les caractères imprimables, sans inclure les blancs\n" " [:lower:] tous les lettres minuscules\n" " [:print:] tous les caractères imprimables, incluant les blancs\n" " [:punct:] tous les caractères de ponctuation\n" " [:space:] tous les sauts verticaux ou horizontaux\n" " [:upper:] toutes les lettres majuscules\n" " [:xdigit:] tous les chiffres hexadécimaux\n" " [=CHAR=] tous les caractères équivalents à CHAR\n" #: src/tr.c:338 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. -s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" "\n" "La conversion se fait si -d n'est pas donné et si SET1 et SET2 apparaissent\n" "tous les deux. -t ne peut être employé qu'en conversion. SET2 est adapté à " "la\n" "longueur de SET1 par la répétition de son dernier caractère. Les caractères\n" "en excédents de SET2 sont ignorés. Seuls [:lower:] et [:upper:] " "garantissent\n" "l'expansion dans l'ordre croissant ; utilisé dans SET2 lors de la " "conversion,\n" "ils ne devraient être utilisés que par paires pour indiquer le changement " "de\n" "casse. -s emploie SET1 s'il n'y a pas de conversion, ni de suppression ; " "sinon\n" "la compression emploie SET2 et intervient après conversion et suppression.\n" #: src/tr.c:509 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" "avertissement : la protection octale ambiguë \\%c%c%c est\n" "\tinterprété comme une séquence de 2 octets \\0%c%c, %c" #: src/tr.c:518 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" "avertissement : une barre oblique inverse non protégée à la fin d'une chaîne " "n'est portable" #: src/tr.c:673 #, c-format msgid "range-endpoints of '%s-%s' are in reverse collating sequence order" msgstr "" "les limites de l'intervalle « %s-%s » sont en ordre de séquence de " "comparaison inverse" #: src/tr.c:829 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "compteur de répétition %s incorrect dans [c*n]" #: src/tr.c:910 #, c-format msgid "missing character class name '[::]'" msgstr "caractère de nom de classe « [::] » manquant" #: src/tr.c:913 #, c-format msgid "missing equivalence class character '[==]'" msgstr "caractère de classe d'équivalence « [==] » manquant" #: src/tr.c:928 #, c-format msgid "invalid character class %s" msgstr "caractère de classe %s incorrect" #: src/tr.c:947 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "%s : l'opérateur de classe d'équivalence doit être un caractère simple" #: src/tr.c:1229 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "les structures [:upper:] ou [:lower:] sont mal alignées" #: src/tr.c:1335 #, c-format msgid "too many characters in set" msgstr "trop de caractères dans l'ensemble" #: src/tr.c:1420 #, c-format msgid "" "when translating with string1 longer than string2,\n" "the latter string must not end with a character class" msgstr "" "lors d'une conversion avec string1 plus longue que string2,\n" "cette dernière doit se terminer avec un caractère de classe" #: src/tr.c:1480 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "la structure de répétition [c*] ne peut pas apparaître dans la string1" #: src/tr.c:1490 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "une seule structure de répétition [c*] peut apparaître dans string2" #: src/tr.c:1498 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" "les expressions [=c=] ne peuvent pas apparaître dans string2 lors d'une " "conversion" #: src/tr.c:1505 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are 'upper' and 'lower'" msgstr "" "lors d'une conversion, les seules classes de caractères qui peuvent " "apparaître\n" "dans string2 sont « upper » ou « lower »" #: src/tr.c:1520 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "lorsque que set1 n'est pas tronqué, string2 ne peut pas être vide" #: src/tr.c:1529 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" "lors d'une conversion avec des caractères complémentés de classes,\n" "string2 doit convertir tous les caractères du domaine dans un seul" #: src/tr.c:1538 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" "la structure [c*] ne peut apparaître dans string2 que lors d'une conversion" #: src/tr.c:1788 msgid "Two strings must be given when both deleting and squeezing repeats." msgstr "" "Deux chaînes doivent être indiquées lors de suppression et compression des " "répétitions." #: src/tr.c:1790 msgid "Two strings must be given when translating." msgstr "Deux chaînes doivent être indiquées lors de la conversion." #: src/tr.c:1800 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" "Une seule chaîne peut être indiquée lors d'une destruction sans réduction " "des répétitions." #: src/true.c:38 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s [arguments de la ligne de commande ignorés]\n" " ou : %s OPTION\n" #: src/true.c:45 msgid "Exit with a status code indicating success." msgstr "Quitter avec un code d'état indiquant le succès." #: src/true.c:46 msgid "Exit with a status code indicating failure." msgstr "Quitter avec un code d'état indiquant l'échec." #: src/truncate.c:96 #, c-format msgid "Usage: %s OPTION... FILE...\n" msgstr "Utilisation : %s [OPTION]... FILE...\n" #: src/truncate.c:97 msgid "" "Shrink or extend the size of each FILE to the specified size\n" "\n" "A FILE argument that does not exist is created.\n" "\n" "If a FILE is larger than the specified size, the extra data is lost.\n" "If a FILE is shorter, it is extended and the extended part (hole)\n" "reads as zero bytes.\n" msgstr "" "Réduire ou étendre la taille de chaque FILE à la taille indiquée\n" "\n" "Un argument FILE qui n'existe pas est créé.\n" "\n" "Si FILE est plus grand que la taille indiquée, les données restantes sont\n" "perdues. Si FILE est plus court, il est étendu et la partie supplémentaire\n" "(trou) contient des octets à zéro.\n" #: src/truncate.c:109 msgid " -c, --no-create do not create any files\n" msgstr " -c, --no-create ne pas créer de fichier\n" #: src/truncate.c:112 msgid "" " -o, --io-blocks treat SIZE as number of IO blocks instead of bytes\n" msgstr "" " -o, --io-blocks traiter SIZE comme un nombre de blocs d'E/S au " "lieu\n" " d'octets\n" #: src/truncate.c:115 msgid "" " -r, --reference=RFILE base size on RFILE\n" " -s, --size=SIZE set or adjust the file size by SIZE\n" msgstr "" " -r, --reference=RFILE utiliser la taille de RFILE\n" " -s, --size=SIZE définir ou ajuster la taille du fichier de SIZE\n" #: src/truncate.c:121 msgid "" "\n" "SIZE may also be prefixed by one of the following modifying characters:\n" "'+' extend by, '-' reduce by, '<' at most, '>' at least,\n" "'/' round down to multiple of, '%' round up to multiple of.\n" msgstr "" "\n" "SIZE peut aussi être préfixé par un de ces caractères modificateurs :\n" "« + » agrandit de, « - » réduit de, « < » au maximum, « > » au minimum,\n" "« / » arrondi au multiple inférieur de, « % » arrondi au multiple supérieur " "de.\n" #: src/truncate.c:149 #, c-format msgid "overflow in %<PRIdMAX> * %<PRIdMAX> byte blocks for file %s" msgstr "" "débordement dans %<PRIdMAX> * %<PRIdMAX> blocs d'octets pour le fichier %s" #: src/truncate.c:173 #, c-format msgid "%s has unusable, apparently negative size" msgstr "%s : a une taille inutilisable, apparemment négative" #: src/truncate.c:183 src/truncate.c:384 #, c-format msgid "cannot get the size of %s" msgstr "impossible d'obtenir la taille de %s" #: src/truncate.c:205 #, c-format msgid "overflow rounding up size of file %s" msgstr "débordement lors de l'arrondi supérieur de la taille du fichier %s" #: src/truncate.c:215 #, c-format msgid "overflow extending size of file %s" msgstr "débordement lors de l'augmentation de la taille du fichier %s" #: src/truncate.c:230 #, c-format msgid "failed to truncate %s at %<PRIdMAX> bytes" msgstr "impossible de tronquer %s à %<PRIdMAX> octets" #: src/truncate.c:303 #, c-format msgid "multiple relative modifiers specified" msgstr "plusieurs modificateurs relatifs indiqués" #: src/truncate.c:333 #, c-format msgid "you must specify either %s or %s" msgstr "vous devez indiquer soit %s, soit %s" # « une » option #: src/truncate.c:340 #, c-format msgid "you must specify a relative %s with %s" msgstr "vous devez indiquer une %s relative avec %s" #: src/truncate.c:347 #, c-format msgid "%s was specified but %s was not" msgstr "%s était indiquée mais pas %s" #: src/truncate.c:404 #, c-format msgid "cannot open %s for writing" msgstr "impossible d'ouvrir %s en écriture" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:40 msgid "Mark Kettenis" msgstr "Mark Kettenis" #: src/tsort.c:82 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" "Utilisation : %s [OPTION] [FILE]\n" "Afficher une liste entièrement ordonnée cohérente avec le tri partiel de " "FILE.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" "\n" #: src/tsort.c:472 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "%s : l'entrée contient un nombre impair de jetons" #: src/tsort.c:518 #, c-format msgid "%s: input contains a loop:" msgstr "%s : l'entrée contient une boucle :" #: src/tty.c:65 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" "Afficher le nom de fichier du terminal connecté à l'entrée standard.\n" "\n" " -s, --silent, --quiet ne rien afficher, ne renvoyer qu'un état de " "retour\n" #: src/tty.c:120 msgid "not a tty" msgstr "pas un tty" #: src/uname.c:124 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" "Afficher certaines informations système. Sans OPTION, identique à -s.\n" "\n" " -a, --all afficher toutes les informations, dans l'ordre\n" " suivant, mais sans -p ni -i s'ils sont " "inconnus :\n" " -s, --kernel-name afficher le nom du noyau\n" " -n, --nodename afficher le nom du nÅ“ud réseau (hostname)\n" " -r, --kernel-release afficher la version du noyau\n" #: src/uname.c:133 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" " -v, --kernel-version afficher la version du noyau\n" " -m, --machine afficher le nom de matériel de la machine\n" " -p, --processor afficher le type de processeur ou « unknown »\n" " (pour inconnu)\n" " -i, --hardware-platform afficher la plate-forme matérielle ou " "« unknown »\n" " (pour inconnu)\n" " -o, --operating-system afficher le système d'exploitation\n" #: src/uname.c:143 msgid "" "Print machine architecture.\n" "\n" msgstr "" "Afficher l'architecture machine.\n" "\n" #: src/uname.c:286 #, c-format msgid "cannot get system name" msgstr "impossible d'obtenir le nom de système" #: src/unexpand.c:117 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "Convertir les blancs de chaque FILE par des tabulations, lors de " "l'affichage\n" "sur la sortie standard.\n" "Sans FILE, ou quand le FILE est -, lire l'entrée standard.\n" #: src/unexpand.c:124 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" " -a, --all convertir tous les blancs, pas que les blancs initiaux\n" " --first-only ne convertir que les séquences de blancs en tête (écrase " "-a)\n" " -t, --tabs=N utiliser N caractères de tabulations au lieu de 8 (active " "-a)\n" " -t, --tabs=LIST utiliser une liste de positions de tabulation séparées " "par\n" " des virgules (active -a)\n" #: src/unexpand.c:152 #, c-format msgid "tabs are too far apart" msgstr "les tabulations sont trop éloignées" #: src/unexpand.c:504 #, c-format msgid "tab stop value is too large" msgstr "la valeur de l'arrêt de tabulation est trop grande" #: src/uniq.c:134 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "Utilisation : %s [OPTION]... [INPUT [OUTPUT]]\n" #: src/uniq.c:138 msgid "" "Filter adjacent matching lines from INPUT (or standard input),\n" "writing to OUTPUT (or standard output).\n" "\n" "With no options, matching lines are merged to the first occurrence.\n" msgstr "" "Filtrer les lignes adjacentes correspondantes depuis INPUT (ou l'entrée\n" "standard), en écrivant dans OUTPUT (ou la sortie standard).\n" "\n" "Sans option, les lignes correspondantes sont fusionnées sur la première\n" "occurrence.\n" #: src/uniq.c:147 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" " -c, --count préfixer les lignes par le nombre d'occurrences\n" " -d, --repeated n'afficher que les lignes ayant des duplicatas\n" #: src/uniq.c:151 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" " -D, --all-repeated[=delimit-method] afficher toutes les lignes en " "double,\n" " delimit-method peut être « none » (par défaut),\n" " « prepend » ou « separate ».\n" " La délimitation est faite avec des lignes " "blanches.\n" " -f, --skip-fields=N éviter de comparer les N premiers champs\n" " -i, --ignore-case ignorer les différences de casse à la comparaison\n" " -s, --skip-chars=N éviter de comparer les N premiers caractères\n" " -u, --unique n'afficher que les lignes uniques\n" " -z, --zero-terminated terminer les lignes avec l'octet NULL, sans\n" " changement de ligne\n" #: src/uniq.c:161 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" " -w, --check-chars=N ne pas comparer plus de N caractères dans les " "lignes\n" #: src/uniq.c:166 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" "\n" "Un champ est une suite de blancs (des espaces ou des tabulations en " "général),\n" "suivis de caractères non blancs. Les champs avant les caractères sont " "ignorés.\n" #: src/uniq.c:171 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use 'sort -u' without 'uniq'.\n" "Also, comparisons honor the rules specified by 'LC_COLLATE'.\n" msgstr "" "\n" "Remarque : « uniq » ne détecte pas les lignes répétées à moins qu'elles ne\n" "soient adjacentes. Il est possible de trier l'entrée en premier, ou " "d'utiliser\n" "« sort -u » sans « uniq ».\n" "Les comparaisons respectent les règles définies par « LC_COLLATE ».\n" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "trop de lignes répétées" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "nombre de champs à ignorer incorrect" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "nombre d'octets à ignorer incorrect" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "nombre d'octets à comparer incorrect" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" "L'affichage de toutes les lignes dupliquées et le décompte de répétition est " "sans effet" #: src/unlink.c:45 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s FILE\n" " ou : %s OPTION\n" #: src/unlink.c:48 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" "Exécuter la fonction unlink pour supprimer le FILE indiqué.\n" "\n" #: src/unlink.c:86 #, c-format msgid "cannot unlink %s" msgstr "impossible de supprimer %s" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "impossible d'obtenir la date de démarrage" #. TRANSLATORS: This prints the current clock time. #: src/uptime.c:136 msgid " %H:%M%P " msgstr " %H:%M " #: src/uptime.c:138 #, c-format msgid " ??:???? " msgstr " ??:?? " #: src/uptime.c:140 #, c-format msgid "up ???? days ??:??, " msgstr "actif ???? jours ??:??, " #: src/uptime.c:144 #, c-format msgid "up %ld day %2d:%02d, " msgid_plural "up %ld days %2d:%02d, " msgstr[0] "actif %ld jour %2d:%02d, " msgstr[1] "actif %ld jours %2d:%02d, " #: src/uptime.c:149 #, c-format msgid "up %2d:%02d, " msgstr "actif %2d:%02d, " #: src/uptime.c:151 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "%lu utilisateur" msgstr[1] "%lu utilisateurs" #: src/uptime.c:161 #, c-format msgid ", load average: %.2f" msgstr ", charge moyenne : %.2f" #: src/uptime.c:197 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes." msgstr "" "Afficher la date actuelle, la durée depuis laquelle le système fonctionne,\n" "le nombre d'utilisateurs sur le système, et le nombre moyen de tâches\n" "dans la file d'exécution depuis les 1, 5 et 15 dernières minutes." #: src/uptime.c:206 #, c-format msgid "" " Processes in\n" "an uninterruptible sleep state also contribute to the load average.\n" msgstr "" " Les tâches dans\n" "un état dormant ininterruptible contribuent aussi à la charge moyenne.\n" #: src/uptime.c:210 #, c-format msgid "\n" msgstr "\n" #: src/uptime.c:212 #, c-format msgid "" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Si FILE n'est pas indiqué, utiliser %s. %s en tant que FILE est usuel.\n" "\n" #: src/users.c:106 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" "Afficher les utilisateurs connectés selon FILE.\n" "Si FILE est indiqué, utiliser %s. %s en tant que FILE est usuel.\n" "\n" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input. A word is a non-zero-length sequence of characters\n" "delimited by white space.\n" "The options below may be used to select which counts are printed, always in\n" "the following order: newline, word, character, byte, maximum line length.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" "Afficher le nombre de nouvelles lignes, mots et d'octets pour chaque FILE\n" "ainsi que le total des lignes si plusieurs fichiers FILE sont indiqués.\n" "Sans FILE, ou quand FILE est -, lire l'entrée standard.\n" "Un mot est une suite non nulle de caractères, délimitée par un blanc.\n" "Les options ci-dessous permettent de sélectionner les compteurs à afficher,\n" "qui sont toujours utilisés dans l'ordre suivant : nouvelle ligne, mot, " "octet,\n" "longueur de ligne maximale.\n" " -c, --bytes afficher le nombre d'octets\n" " -m, --chars afficher le nombre de caractères\n" " -l, --lines afficher le nombre de nouvelles lignes\n" #: src/wc.c:128 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F;\n" " If F is - then read names from standard input\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" " --files0-from=F lire l'entrée depuis les fichiers indiqués par\n" " des noms terminant par NULL dans le fichier F\n" " -L, --max-line-length afficher la taille de la plus longue ligne\n" " -w, --words afficher le nombre de mots\n" #: src/who.c:210 msgid " old " msgstr " ancien " #: src/who.c:440 msgid "system boot" msgstr "démarrage système" #: src/who.c:447 src/who.c:449 msgid "id=" msgstr "id=" #: src/who.c:462 src/who.c:467 msgid "term=" msgstr "term=" #: src/who.c:464 src/who.c:468 msgid "exit=" msgstr "sortie=" #: src/who.c:485 msgid "LOGIN" msgstr "IDENTIFIANT" #: src/who.c:505 msgid "clock change" msgstr "changement d'horloge" #: src/who.c:517 src/who.c:518 msgid "run-level" msgstr "niveau d'exécution" #: src/who.c:521 src/who.c:522 msgid "last=" msgstr "dernier=" #: src/who.c:553 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" "\n" "nombre d'utilisateurs : %lu\n" #: src/who.c:559 msgid "NAME" msgstr "NOM" #: src/who.c:559 msgid "LINE" msgstr "LIGNE" #: src/who.c:559 msgid "TIME" msgstr "HEURE" #: src/who.c:559 msgid "IDLE" msgstr "INACTIF" #: src/who.c:560 msgid "PID" msgstr "PID" #: src/who.c:560 msgid "COMMENT" msgstr "COMMENTAIRE" #: src/who.c:560 msgid "EXIT" msgstr "EXIT" #: src/who.c:640 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "Utilisation : %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #: src/who.c:641 msgid "Print information about users who are currently logged in.\n" msgstr "Afficher des informations sur les utilisateurs connectés.\n" #: src/who.c:644 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" "\n" " -a, --all identique à -b -d --login -p -r -t -T -u\n" " -b, --boot afficher l'heure du dernier démarrage système\n" " -d, --dead afficher la liste des processus morts\n" " -H, --heading afficher les en-têtes de colonne des lignes\n" #: src/who.c:651 msgid " -l, --login print system login processes\n" msgstr " -l, --login afficher le processus de connexion du système\n" #: src/who.c:654 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" " --lookup utiliser la forme canonique des noms d'hôte grâce au " "DNS\n" " -m nom d'hôte et d'utilisateur seulement associés à\n" " l'entrée standard\n" " -p, --process afficher la liste des processus lancés par init\n" #: src/who.c:659 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" " -q, --count afficher tous noms de connexion des utilisateurs " "connectés\n" " -r, --runlevel afficher le niveau d'exécution actuel\n" " -s, --short n'afficher que le nom, la ligne et l'heure (par défaut)\n" " -t, --time afficher le dernier changement d'heure du système\n" #: src/who.c:665 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" " -T, -w, --mesg ajouter l'état du message de l'utilisateur avec +, - " "ou ?\n" " -u, --users afficher la liste des utilisateurs actifs\n" " --message identique à -T\n" " --writable identique à -T\n" #: src/who.c:673 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: 'am i' or 'mom likes' are usual.\n" msgstr "" "\n" "Si FILE n'est pas indiqué, utiliser %s. %s en tant que FILE est usuel.\n" "Si ARG1 ARG2 sont renseignés, -m est supposé, « am i » ou « mom likes » " "sont\n" "usuels.\n" #: src/whoami.c:45 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" "Afficher le nom d'utilisateur associé à l'UID effectif actuel.\n" "Identique à « id -un ».\n" "\n" #: src/whoami.c:91 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "%s : impossible de trouver le nom associé à l'UID %lu\n" #: src/yes.c:41 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" "Utilisation : %s [STRING]...\n" " ou : %s OPTION\n" #: src/yes.c:47 msgid "" "Repeatedly output a line with all specified STRING(s), or 'y'.\n" "\n" msgstr "" "Afficher à répétition une ligne de caractères avec toutes les chaînes " "STRING\n" "indiquées, ou « y ».\n" #~ msgid "using single-precision arithmetic" #~ msgstr "utilisation d'arithmétique à précision simple" #~ msgid "using arbitrary-precision arithmetic" #~ msgstr "utilisation d'arithmétique à précision arbitraire" #~ msgid "" #~ "simple_strtod_human:\n" #~ " input string: '%s'\n" #~ " locale decimal-point: '%s'\n" #~ msgstr "" #~ "simple_strtod_human :\n" #~ " chaîne d'entrée : « %s »\n" #~ " séparateur décimal des paramètres régionaux : « %s »\n" #~ msgid "" #~ " parsed numeric value: %Lf\n" #~ " input precision = %d\n" #~ msgstr "" #~ " valeur numérique analysée : %Lf\n" #~ " précision en entrée = %d\n" #~ msgid " Auto-scaling, found 'i', switching to base %d\n" #~ msgstr "" #~ " Mise à l'échelle automatique, « i » trouvé, basculement en base %d\n" #~ msgid " suffix power=%d^%d = %Lf\n" #~ msgstr " suffixe de puissance=%d^%d = %Lf\n" #~ msgid " returning value: %Lf (%LG)\n" #~ msgstr " valeur renvoyée : %Lf (%LG)\n" #~ msgid "double_to_human:\n" #~ msgstr "double_to_human :\n" #~ msgid " no scaling, returning (grouped) value: %'.*Lf\n" #~ msgstr " aucune mise à l'échelle, valeur (groupée) renvoyée : %'.*Lf\n" #~ msgid " no scaling, returning value: %.*Lf\n" #~ msgstr " aucune mise à l'échelle, valeur renvoyée : %.*Lf\n" #~ msgid " scaled value to %Lf * %0.f ^ %d\n" #~ msgstr " valeur mise à l'échelle à %Lf * %0.f ^ %d\n" #~ msgid " after rounding, value=%Lf * %0.f ^ %d\n" #~ msgstr " après arrondi, valeur=%Lf * %0.f ^ %d\n" #~ msgid " returning value: '%s'\n" #~ msgstr " valeur renvoyée : « %s »\n" #~ msgid "Usage: %s [OPTIONS] [NUMBER]\n" #~ msgstr "Utilisation : %s [OPTION] [NUMBER]\n" #~ msgid "" #~ " --from=UNIT auto-scale input numbers to UNITs. Default is 'none'.\n" #~ " See UNIT below.\n" #~ " --from-unit=N specify the input unit size (instead of the default " #~ "1).\n" #~ " --to=UNIT auto-scale output numbers to UNITs.\n" #~ " See UNIT below.\n" #~ " --to-unit=N the output unit size (instead of the default 1).\n" #~ " --round=METHOD the rounding method to use when scaling. METHOD can " #~ "be:\n" #~ " up, down, from-zero (default), towards-zero, nearest\n" #~ " --suffix=SUFFIX add SUFFIX to output numbers, and accept optional " #~ "SUFFIX\n" #~ " in input numbers.\n" #~ " --padding=N pad the output to N characters.\n" #~ " Positive N will right-aligned. Negative N will left-" #~ "align.\n" #~ " Note: if the output is wider than N, padding is " #~ "ignored.\n" #~ " Default is to automatically pad if whitespace is " #~ "found.\n" #~ " --grouping group digits together (e.g. 1,000,000).\n" #~ " Uses the locale-defined grouping (i.e. have no effect\n" #~ " in C/POSIX locales).\n" #~ " --header[=N] print (without converting) the first N header lines.\n" #~ " N defaults to 1 if not specified.\n" #~ " --field N replace the number in input field N (default is 1)\n" #~ " -d, --delimiter=X use X instead of whitespace for field delimiter\n" #~ " --format=FORMAT use printf style floating-point FORMAT.\n" #~ " See FORMAT below for details.\n" #~ " --invalid=MODE failure mode for invalid numbers: MODE can be:\n" #~ " abort (the default), fail, warn, ignore.\n" #~ " --debug print warnings about invalid input.\n" #~ " \n" #~ msgstr "" #~ " --from=UNIT mettre à l'échelle automatiquement les nombres en " #~ "entrée\n" #~ " à « UNIT ». « none » par défaut. Consultez UNIT plus " #~ "bas.\n" #~ " --from-unit=N la taille d'unité en entrée (au lieu de 1 par défaut).\n" #~ " --to=UNIT mettre à l'échelle automatiquement les nombres en " #~ "sortie\n" #~ " à « UNIT ». Consultez UNIT plus bas.\n" #~ " --to-unit=N la taille d'unité en sortie (au lieu de 1 par défaut).\n" #~ " --round=METHOD la méthode d'arrondi à utiliser lors de la mise à " #~ "l'échelle.\n" #~ " METHOD peut être : « up », « down », « from-" #~ "zero » (par\n" #~ " défaut), « towards-zero » ou « nearest ».\n" #~ " --suffix=SUFFIX ajouter le SUFFIX aux nombres en sortie, et accepter " #~ "le\n" #~ " SUFFIX facultatif aux nombres en entrée.\n" #~ " --padding=N remplir la sortie avec N caractères.\n" #~ " N positif alignera à droite. N négatif alignera à " #~ "gauche.\n" #~ " Remarque : si la sortie est plus grande que N, le\n" #~ " remplissage est ignoré. Le remplissage est " #~ "automatique par\n" #~ " défaut si un blanc est trouvé.\n" #~ " --grouping grouper les chiffres ensemble (par exemple 1 000 000).\n" #~ " Cela utilise le groupement défini dans les " #~ "paramètres\n" #~ " régionaux (donc sans effet avec les locales C/" #~ "POSIX).\n" #~ " --header[=N] afficher (sans conversion) les N premières lignes d'en-" #~ "tête.\n" #~ " N vaut 1 par défaut si non indiqué.\n" #~ " --field N remplacer le nombre dans le champs d'entrée N (1 par " #~ "défaut).\n" #~ " -d, --delimiter=X utiliser X au lieu d'un blanc comme délimiteur de " #~ "champ.\n" #~ " --format=FORMAT utiliser le le type printf de virgule flottante " #~ "FORMAT.\n" #~ " Consultez FORMAT plus bas pour des précisions.\n" #~ " --invalid=MODE mode d'échec pour les nombres incorrects. MODE peut " #~ "être :\n" #~ " « abort » (par défaut), « fail », « warn » ou " #~ "« ignore ».\n" #~ " --debug afficher les avertissements sur l'entrée incorrecte.\n" #~ " \n" #~ msgid "" #~ "\n" #~ "UNIT options:\n" #~ " none No auto-scaling is done. Suffixes will trigger an error.\n" #~ " auto Accept optional single-letter/two-letter suffix:\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " si Accept optional single letter suffix:\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accept optional single letter suffix:\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accept optional two-letter suffix:\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Options UNIT :\n" #~ " none Aucune mise à l'échelle automatique n'est effectuée.\n" #~ " Les suffixes déclencheront une erreur.\n" #~ " auto Accepter un suffixe facultatif d'une ou deux lettres :\n" #~ " 1K = 1000\n" #~ " 1Ki = 1024\n" #~ " 1M = 1000000\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ " si Accepter un suffixe facultatif d'une lettre :\n" #~ " 1K = 1000\n" #~ " 1M = 1000000\n" #~ " ...\n" #~ " iec Accepter un suffixe facultatif d'une lettre :\n" #~ " 1K = 1024\n" #~ " 1M = 1048576\n" #~ " ...\n" #~ " iec-i Accepter un suffixe facultatif de deux lettres :\n" #~ " 1Ki = 1024\n" #~ " 1Mi = 1048576\n" #~ " ...\n" #~ "\n" #~ msgid "" #~ "format String:\n" #~ " input: %s\n" #~ " grouping: %s\n" #~ " padding width: %ld\n" #~ " alignment: %s\n" #~ " prefix: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ "Chaîne de format :\n" #~ " entrée : %s\n" #~ " groupement : %s\n" #~ " largeur de remplissage : %ld\n" #~ " alignement : %s\n" #~ " préfixe : « %s »\n" #~ " suffixe : « %s »\n" #~ msgid "" #~ "formatting output:\n" #~ " value: %Lf\n" #~ " humanized: '%s'\n" #~ msgstr "" #~ "formatage de la sortie :\n" #~ " valeur : %Lf\n" #~ " lisible : « %s »\n" #~ msgid " After padding: '%s'\n" #~ msgstr " Après remplissage : « %s »\n" #~ msgid "trimming suffix '%s'\n" #~ msgstr "coupe du suffixe « %s »\n" #~ msgid "no valid suffix found\n" #~ msgstr "aucun suffixe correct n'a été trouvé\n" #~ msgid "setting Auto-Padding to %ld characters\n" #~ msgstr "réglage du remplissage automatique à %ld caractères\n" #~ msgid "" #~ "extracting Fields:\n" #~ " input: '%s'\n" #~ " field: %d\n" #~ msgstr "" #~ "Champs d'extraction :\n" #~ " entrée : « %s »\n" #~ " champ : %d\n" #~ msgid "" #~ " TOO FEW FIELDS!\n" #~ " prefix: '%s'\n" #~ msgstr "" #~ " Pas suffisamment de champs\n" #~ " préfixe : « %s »\n" #~ msgid "" #~ " prefix: '%s'\n" #~ " number: '%s'\n" #~ " suffix: '%s'\n" #~ msgstr "" #~ " préfixe : « %s »\n" #~ " nombre : « %s »\n" #~ " suffixe : « %s »\n" #~ msgid "reading %s" #~ msgstr "lecture de %s" #~ msgid "writing %s" #~ msgstr "écriture de %s" #~ msgid "closing %s" #~ msgstr "fermeture de %s" #~ msgid "accessing %s" #~ msgstr "accès à %s" #~ msgid "opening %s" #~ msgstr "ouverture de %s" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X, --exclude-from=FILE exclude files that match any pattern in FILE\n" #~ " --exclude=PATTERN exclude files that match PATTERN\n" #~ " -d, --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ignorer les répertoires de différents systèmes " #~ "de\n" #~ " fichiers\n" #~ " -X, --exclude-from=FILE exclure les fichiers correspondant à un des " #~ "motifs\n" #~ " de FILE\n" #~ " --exclude=PATTERN exclure les fichiers correspondant à PATTERN\n" #~ " --max-depth=N afficher le total pour un répertoire (ou un " #~ "fichier,\n" #~ " avec --all) seulement s'il est à N niveaux " #~ "ou moins\n" #~ " selon les arguments de la ligne de " #~ "commande ;\n" #~ " --max-depth=0 est identique à --summarize\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ "\n" #~ msgstr "" #~ " none, off ne jamais archiver (même si --backup est utilisé)\n" #~ " numbered, t effectuer des archives numérotées\n" #~ " existing, nil numéroter si des archives numérotées existent déjà, se\n" #~ " comporter comme « simple » dans le cas contraire\n" #~ " simple, never toujours effectuer des archives simples\n" #~ "\n" #~ msgid "" #~ "WARNING: --page-increment is deprecated; use --line-increment instead" #~ msgstr "" #~ "Attention : --page-increment est déconseillée, utilisez plutôt --line-" #~ "increment" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Tous les arguments obligatoires pour les options longues le sont aussi " #~ "pour\n" #~ "les options courtes.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line.\n" #~ msgstr "" #~ "\n" #~ "RADIX est d pour décimal, o pour octal, x pour hexadécimal ou n pour " #~ "aucun.\n" #~ "BYTES est hexadécimal préfixé par 0x ou 0X, et peut avoir un suffixe\n" #~ "multiplicateur :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z et " #~ "Y.\n" #~ "L'ajout du suffixe « z » à l'un de ces types affiche des caractères " #~ "imprimables\n" #~ "à la fin de chaque ligne de résultat.\n" #~ msgid "" #~ "Option --string without a number implies 3; option --width without a " #~ "number\n" #~ "implies 32. By default, od uses -A o -t oS -w16.\n" #~ msgstr "" #~ "L'option --string sans nombre implique 3, l'option --width sans nombre\n" #~ "implique 32. Par défaut, od utilise -A o -t oS -w16.\n" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Utilisation : %s [OPTION]... FILE\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemples :\n" #~ " %s /usr/bin/sort Résultat « sort ».\n" #~ " %s include/stdio.h .h Résultat « stdio ».\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Change le groupe de chaque FILE en GROUP.\n" #~ "Avec l'option --reference, change le groupe de chaque FILE à celui de " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes comme l'option « verbose » mais affiche " #~ "seulement les\n" #~ " changements effectués\n" #~ " --dereference affecte le référent de chaque lien symbolique " #~ "(par \n" #~ " défaut), plutôt que le lien symbolique lui-même\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet supprime la plupart des messages d'erreur\n" #~ " --reference=RFILE utilise le groupe RFILE au lieu d'une valeur " #~ "GROUPE\n" #~ " -R, --recursive agit récursivement sur les fichiers et " #~ "répertoires\n" #~ " -v, --verbose produit un diagnostic pour chaque fichier " #~ "traité\n" #~ "\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Change le mode de chaque FILE en MODE.\n" #~ "\n" #~ " -c, --changes comme « verbose » mais affiche seulements les\n" #~ " changements réalisés\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ne traite pas « / » de manière spéciale (par " #~ "défaut)\n" #~ " --preserve-root bloque le traitement récursif sur « / »\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet supprime la plupart des messages d'erreur\n" #~ " -v, --verbose produit un diagnostic pour chaque fichier " #~ "traité\n" #~ " --reference=RFILE utilise le mode RFILE au lieu des valeurs MODE\n" #~ " -R, --recursive modifie récursivement les fichiers et les " #~ "répertoires\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Change le propriétaire et/ou le groupe de chaque FILE à OWNER et/ou à " #~ "GROUP.\n" #~ "Avec --reference, change le propriétaire et le groupe de chaque FILE à " #~ "ceux de \n" #~ "RFILE.\n" #~ "\n" #~ " -c, --changes comme verbeux mais rapporte seulement les\n" #~ " modifications réalisées\n" #~ " --dereference affecte le référent de chaque lien symbolique " #~ "(par\n" #~ " défaut), plutôt que le lien symbolique lui-" #~ "même\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet supprime la plupart des messages d'erreur\n" #~ " --reference=RFILE utilise le propriétaire et le groupe RFILE au " #~ "lieu de\n" #~ " valeurs explicites OWNER:GROUP\n" #~ " -R, --recursive agit récursivement sur les fichiers et les " #~ "répertoires\n" #~ " -v, --verbose affiche un diagnostique pour chaque fichier " #~ "traité\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Affiche la date actuelle selon le FORMAT spécifié ou initialise la date " #~ "système.\n" #~ "\n" #~ " -d, --date=STRING affiche la date selon le format STRING, sans " #~ "« now »\n" #~ " -f, --file=DATEFILE identique à --date pour chaque ligne de " #~ "DATEFILE\n" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilisation : %s NAME\n" #~ " ou : %s OPTION\n" #~ msgid "Password:" #~ msgstr "Mot de passe :" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass() : impossible d'ouvrir /dev/tty" #~ msgid "cannot set groups" #~ msgstr "impossible d'initialiser les groupes" #~ msgid "cannot set group id" #~ msgstr "impossible d'initialiser l'ID du groupe" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Utilisation : %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Modifie l'ID effectif de l'utilisateur et l'ID du groupe à celui de " #~ "USER.\n" #~ "\n" #~ " -, -l, --login établit ce shell comme celui de la session " #~ "de travail\n" #~ " -c, --command=COMMANDE passe une seule COMMANDE au shell avec -c\n" #~ " -f, --fast passe -f au shell (valable pour csh ou " #~ "tcsh)\n" #~ " -m, --preserve-environment ne réinitialise oas les variables " #~ "d'environnement\n" #~ " -p identique à -m\n" #~ " -s, --shell=SHELL lance le SHELL si /etc/shells le permet\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un tiret - implique -l. Si l'argument USER n'est pas fourni, utilise " #~ "« root »\n" #~ msgid "user %s does not exist" #~ msgstr "l'utilisateur %s n'existe pas" #~ msgid "incorrect password" #~ msgstr "mot de passe incorrect" #~ msgid "using restricted shell %s" #~ msgstr "utilisation du shell %s restreint" #~ msgid "warning: cannot change directory to %s" #~ msgstr "avertissement : impossible d'aller dans le répertoire %s" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE peut être (ou un entier optionnellement suivi par) l'une des " #~ "valeurs\n" #~ "suivantes : kB 1000, K 1024, MB 1000*1000, M 1024*1024 et ainsi de suite " #~ "pour\n" #~ "G, T, P, E, Z et Y.\n" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/maint.mk�����������������������������������������������������������������������������0000664�0000000�0000000�00000172654�12071024546�012027� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*-Makefile-*- # This Makefile fragment tries to be general-purpose enough to be # used by many projects via the gnulib maintainer-makefile module. ## Copyright (C) 2001-2013 Free Software Foundation, Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see <http://www.gnu.org/licenses/>. # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk # Diagnostic for continued use of deprecated variable. # Remove in 2013 ifneq ($(build_aux),) $(error "$(ME): \ set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)") endif # Helper variables. _empty = _sp = $(_empty) $(_empty) # _equal,S1,S2 # ------------ # If S1 == S2, return S1, otherwise the empty string. _equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) # member-check,VARIABLE,VALID-VALUES # ---------------------------------- # Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and # return it. Die otherwise. member-check = \ $(strip \ $(if $($(1)), \ $(if $(findstring $(_sp),$($(1))), \ $(error invalid $(1): '$($(1))', expected $(2)), \ $(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)), \ $(error invalid $(1): '$($(1))', expected $(2)))), \ $(error $(1) undefined))) # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \ && printf %s --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ # This is to preprocess robustly the output of $(VC_LIST), so that even # when $(srcdir) is a pathological name like "....", the leading sed command # removes only the intended prefix. _dot_escaped_srcdir = $(subst .,\.,$(srcdir)) # Post-process $(VC_LIST) output, prepending $(srcdir)/, but only # when $(srcdir) is not ".". ifeq ($(srcdir),.) _prepend_srcdir_prefix = else _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|' endif # In order to be able to consistently filter "."-relative names, # (i.e., with no $(srcdir) prefix), this definition is careful to # remove any $(srcdir) prefix, and to restore what it removes. _sc_excl = \ $(or $(exclude_file_name_regexp--$@),^$$) VC_LIST_EXCEPT = \ $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \ | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \ else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ $(_prepend_srcdir_prefix) ifeq ($(origin prev_version_file), undefined) prev_version_file = $(srcdir)/.prev-version endif PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) VERSION_REGEXP = $(subst .,\.,$(VERSION)) PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) ifeq ($(VC),$(GIT)) this-vc-tag = v$(VERSION) this-vc-tag-regexp = v$(VERSION_REGEXP) else tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') tag-this-version = $(subst .,_,$(VERSION)) this-vc-tag = $(tag-package)-$(tag-this-version) this-vc-tag-regexp = $(this-vc-tag) endif my_distdir = $(PACKAGE)-$(VERSION) # Old releases are stored here. release_archive_dir ?= ../release # If RELEASE_TYPE is undefined, but RELEASE is, use its second word. # But overwrite VERSION. ifdef RELEASE VERSION := $(word 1, $(RELEASE)) RELEASE_TYPE ?= $(word 2, $(RELEASE)) endif # Validate and return $(RELEASE_TYPE), or die. RELEASE_TYPES = alpha beta stable release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES)) # Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for stable releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-stable = ftp.gnu.org gnu_rel_host ?= $(gnu_ftp_host-$(release-type)) url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org), \ http://ftpmirror.gnu.org/$(PACKAGE), \ ftp://$(gnu_rel_host)/gnu/$(PACKAGE)) # Override this in cfg.mk if you are using a different format in your # NEWS file. today = $(shell date +%Y-%m-%d) # Select which lines of NEWS are searched for $(news-check-regexp). # This is a sed line number spec. The default says that we search # lines 1..10 of NEWS for $(news-check-regexp). # If you want to search only line 3 or only lines 20-22, use "3" or "20,22". news-check-lines-spec ?= 1,10 news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C ## --------------- ## ## Sanity checks. ## ## --------------- ## _cfg_mk := $(wildcard $(srcdir)/cfg.mk) # Collect the names of rules starting with 'sc_'. syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ $(srcdir)/$(ME) $(_cfg_mk))) .PHONY: $(syntax-check-rules) ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) local-checks-available += $(syntax-check-rules) else local-checks-available += no-vc-detected no-vc-detected: @echo "No version control files detected; skipping syntax check" endif .PHONY: $(local-checks-available) # Arrange to print the name of each syntax-checking rule just before running it. $(syntax-check-rules): %: %.m sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) .PHONY: $(sc_m_rules_) $(sc_m_rules_): @echo $(patsubst sc_%.m, %, $@) @date +%s.%N > .sc-start-$(basename $@) # Compute and print the elapsed time for each syntax-check rule. sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) .PHONY: $(sc_z_rules_) $(sc_z_rules_): %.z: % @end=$$(date +%s.%N); \ start=$$(cat .sc-start-$*); \ rm -f .sc-start-$*; \ awk -v s=$$start -v e=$$end \ 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null # The patsubst here is to replace each sc_% rule with its sc_%.z wrapper # that computes and prints elapsed time. local-check := \ $(patsubst sc_%, sc_%.z, \ $(filter-out $(local-checks-to-skip), $(local-checks-available))) syntax-check: $(local-check) # _sc_search_regexp # # This macro searches for a given construct in the selected files and # then takes some action. # # Parameters (shell variables): # # prohibit | require # # Regular expression (ERE) denoting either a forbidden construct # or a required construct. Those arguments are exclusive. # # exclude # # Regular expression (ERE) denoting lines to ignore that matched # a prohibit construct. For example, this can be used to exclude # comments that mention why the nearby code uses an alternative # construct instead of the simpler prohibited construct. # # in_vc_files | in_files # # grep-E-style regexp selecting the files to check. For in_vc_files, # the regexp is used to select matching files from the list of all # version-controlled files; for in_files, it's from the names printed # by "find $(srcdir)". When neither is specified, use all files that # are under version control. # # containing | non_containing # # Select the files (non) containing strings matching this regexp. # If both arguments are specified then CONTAINING takes # precedence. # # with_grep_options # # Extra options for grep. # # ignore_case # # Ignore case. # # halt # # Message to display before to halting execution. # # Finally, you may exempt files based on an ERE matching file names. # For example, to exempt from the sc_space_tab check all files with the # .diff suffix, set this Make variable: # # exclude_file_name_regexp--sc_space_tab = \.diff$ # # Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, # when filtering by name via in_files, we explicitly filter out matching # names here as well. # Initialize each, so that envvar settings cannot interfere. export require = export prohibit = export exclude = export in_vc_files = export in_files = export containing = export non_containing = export halt = export with_grep_options = # By default, _sc_search_regexp does not ignore case. export ignore_case = _ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) define _sc_say_and_exit dummy=; : so we do not need a semicolon before each use; \ { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; endef define _sc_search_regexp dummy=; : so we do not need a semicolon before each use; \ \ : Check arguments; \ test -n "$$prohibit" && test -n "$$require" \ && { msg='Cannot specify both prohibit and require' \ $(_sc_say_and_exit) } || :; \ test -z "$$prohibit" && test -z "$$require" \ && { msg='Should specify either prohibit or require' \ $(_sc_say_and_exit) } || :; \ test -z "$$prohibit" && test -n "$$exclude" \ && { msg='Use of exclude requires a prohibit pattern' \ $(_sc_say_and_exit) } || :; \ test -n "$$in_vc_files" && test -n "$$in_files" \ && { msg='Cannot specify both in_vc_files and in_files' \ $(_sc_say_and_exit) } || :; \ test "x$$halt" != x \ || { msg='halt not defined' $(_sc_say_and_exit) }; \ \ : Filter by file name; \ if test -n "$$in_files"; then \ files=$$(find $(srcdir) | grep -E "$$in_files" \ | grep -Ev '$(_sc_excl)'); \ else \ files=$$($(VC_LIST_EXCEPT)); \ if test -n "$$in_vc_files"; then \ files=$$(echo "$$files" | grep -E "$$in_vc_files"); \ fi; \ fi; \ \ : Filter by content; \ test -n "$$files" && test -n "$$containing" \ && { files=$$(grep -l "$$containing" $$files); } || :; \ test -n "$$files" && test -n "$$non_containing" \ && { files=$$(grep -vl "$$non_containing" $$files); } || :; \ \ : Check for the construct; \ if test -n "$$files"; then \ if test -n "$$prohibit"; then \ grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \ | grep -vE "$${exclude:-^$$}" \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ else \ grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \ | grep . \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ fi \ else :; \ fi || :; endef sc_avoid_if_before_free: @$(srcdir)/$(_build-aux)/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ exit 1; } || : sc_cast_of_argument_to_free: @prohibit='\<free *\( *\(' halt="don't cast free argument" \ $(_sc_search_regexp) sc_cast_of_x_alloc_return_value: @prohibit='\*\) *x(m|c|re)alloc\>' \ halt="don't cast x*alloc return value" \ $(_sc_search_regexp) sc_cast_of_alloca_return_value: @prohibit='\*\) *alloca\>' \ halt="don't cast alloca return value" \ $(_sc_search_regexp) sc_space_tab: @prohibit='[ ] ' \ halt='found SPACE-TAB sequence; remove the SPACE' \ $(_sc_search_regexp) # Don't use *scanf or the old ato* functions in "real" code. # They provide no error checking mechanism. # Instead, use strto* functions. sc_prohibit_atoi_atof: @prohibit='\<([fs]?scanf|ato([filq]|ll)) *\(' \ halt='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \ $(_sc_search_regexp) # Use STREQ rather than comparing strcmp == 0, or != 0. sp_ = strcmp *\(.+\) sc_prohibit_strcmp: @prohibit='! *strcmp *\(|\<$(sp_) *[!=]=|[!=]= *$(sp_)' \ exclude='# *define STRN?EQ\(' \ halt='replace strcmp calls above with STREQ/STRNEQ' \ $(_sc_search_regexp) # Really. You don't want to use this function. # It may fail to NUL-terminate the destination, # and always NUL-pads out to the specified length. sc_prohibit_strncpy: @prohibit='\<strncpy *\(' \ halt='do not use strncpy, period' \ $(_sc_search_regexp) # Pass EXIT_*, not number, to usage, exit, and error (when exiting) # Convert all uses automatically, via these two commands: # git grep -l '\<exit *(1)' \ # | grep -vEf .x-sc_prohibit_magic_number_exit \ # | xargs --no-run-if-empty \ # perl -pi -e 's/(^|[^.])\b(exit ?)\(1\)/$1$2(EXIT_FAILURE)/' # git grep -l '\<exit *(0)' \ # | grep -vEf .x-sc_prohibit_magic_number_exit \ # | xargs --no-run-if-empty \ # perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/' sc_prohibit_magic_number_exit: @prohibit='(^|[^.])\<(usage|exit|error) ?\(-?[0-9]+[,)]' \ exclude='exit \(77\)|error ?\(((0|77),|[^,]*)' \ halt='use EXIT_* values rather than magic number' \ $(_sc_search_regexp) # Using EXIT_SUCCESS as the first argument to error is misleading, # since when that parameter is 0, error does not exit. Use '0' instead. sc_error_exit_success: @prohibit='error *\(EXIT_SUCCESS,' \ in_vc_files='\.[chly]$$' \ halt='found error (EXIT_SUCCESS' \ $(_sc_search_regexp) # "FATAL:" should be fully upper-cased in error messages # "WARNING:" should be fully upper-cased, or fully lower-cased sc_error_message_warn_fatal: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '"Warning|"Fatal|"fatal' && \ { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ exit 1; } || : # Error messages should not start with a capital letter sc_error_message_uppercase: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '"[A-Z]' \ | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ { echo '$(ME): found capitalized error message' 1>&2; \ exit 1; } || : # Error messages should not end with a period sc_error_message_period: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '[^."]\."' && \ { echo '$(ME): found error message ending in period' 1>&2; \ exit 1; } || : sc_file_system: @prohibit=file''system \ ignore_case=1 \ halt='found use of "file''system"; spell it "file system"' \ $(_sc_search_regexp) # Don't use cpp tests of this symbol. All code assumes config.h is included. sc_prohibit_have_config_h: @prohibit='^# *if.*HAVE''_CONFIG_H' \ halt='found use of HAVE''_CONFIG_H; remove' \ $(_sc_search_regexp) # Nearly all .c files must include <config.h>. However, we also permit this # via inclusion of a package-specific header, if cfg.mk specified one. # config_h_header must be suitable for grep -E. config_h_header ?= <config\.h> sc_require_config_h: @require='^# *include $(config_h_header)' \ in_vc_files='\.c$$' \ halt='the above files do not include <config.h>' \ $(_sc_search_regexp) # You must include <config.h> before including any other header file. # This can possibly be via a package-specific header, if given by cfg.mk. sc_require_config_h_first: @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ fail=0; \ for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ grep '^# *include\>' $$i | sed 1q \ | grep -E '^# *include $(config_h_header)' > /dev/null \ || { echo $$i; fail=1; }; \ done; \ test $$fail = 1 && \ { echo '$(ME): the above files include some other header' \ 'before <config.h>' 1>&2; exit 1; } || :; \ else :; \ fi sc_prohibit_HAVE_MBRTOWC: @prohibit='\bHAVE_MBRTOWC\b' \ halt="do not use $$prohibit; it is always defined" \ $(_sc_search_regexp) # To use this "command" macro, you must first define two shell variables: # h: the header name, with no enclosing <> or "" # re: a regular expression that matches IFF something provided by $h is used. define _sc_header_without_use dummy=; : so we do not need a semicolon before each use; \ h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \ if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE "$$re" $$files | grep . && \ { echo "$(ME): the above files include $$h but don't use it" \ 1>&2; exit 1; } || :; \ else :; \ fi endef # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: @h='assert.h' re='\<assert *\(' $(_sc_header_without_use) # Prohibit the inclusion of close-stream.h without an actual use. sc_prohibit_close_stream_without_use: @h='close-stream.h' re='\<close_stream *\(' $(_sc_header_without_use) # Prohibit the inclusion of getopt.h without an actual use. sc_prohibit_getopt_without_use: @h='getopt.h' re='\<getopt(_long)? *\(' $(_sc_header_without_use) # Don't include quotearg.h unless you use one of its functions. sc_prohibit_quotearg_without_use: @h='quotearg.h' re='\<quotearg(_[^ ]+)? *\(' $(_sc_header_without_use) # Don't include quote.h unless you use one of its functions. sc_prohibit_quote_without_use: @h='quote.h' re='\<quote((_n)? *\(|_quoting_options\>)' \ $(_sc_header_without_use) # Don't include this header unless you use one of its functions. sc_prohibit_long_options_without_use: @h='long-options.h' re='\<parse_long_options *\(' \ $(_sc_header_without_use) # Don't include this header unless you use one of its functions. sc_prohibit_inttostr_without_use: @h='inttostr.h' re='\<(off|[iu]max|uint)tostr *\(' \ $(_sc_header_without_use) # Don't include this header unless you use one of its functions. sc_prohibit_ignore_value_without_use: @h='ignore-value.h' re='\<ignore_(value|ptr) *\(' \ $(_sc_header_without_use) # Don't include this header unless you use one of its functions. sc_prohibit_error_without_use: @h='error.h' \ re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\ $(_sc_header_without_use) # Don't include xalloc.h unless you use one of its functions. # Consider these symbols: # perl -lne '/^# *define (\w+)\(/ and print $1' lib/xalloc.h|grep -v '^__'; # perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/xalloc.h # Divide into two sets on case, and filter each through this: # | sort | perl -MRegexp::Assemble -le \ # 'print Regexp::Assemble->new(file => "/dev/stdin")->as_string'|sed 's/\?://g' # Note this was produced by the above: # _xa1 = \ #x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) # But we can do better, in at least two ways: # 1) take advantage of two "dup"-suffixed strings: # x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) # 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable # "char|[cmz]" # x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa2 = X([CZ]|N?M)ALLOC sc_prohibit_xalloc_without_use: @h='xalloc.h' \ re='\<($(_xa1)|$(_xa2)) *\('\ $(_sc_header_without_use) # Extract function names: # perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h _hash_re = \ clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning _hash_fn = \<($(_hash_re)) *\( _hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> sc_prohibit_hash_without_use: @h='hash.h' \ re='$(_hash_fn)|$(_hash_struct)'\ $(_sc_header_without_use) sc_prohibit_cloexec_without_use: @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ $(_sc_header_without_use) sc_prohibit_posixver_without_use: @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use) sc_prohibit_same_without_use: @h='same.h' re='\<same_name *\(' $(_sc_header_without_use) sc_prohibit_hash_pjw_without_use: @h='hash-pjw.h' \ re='\<hash_pjw\>' \ $(_sc_header_without_use) sc_prohibit_safe_read_without_use: @h='safe-read.h' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \ $(_sc_header_without_use) sc_prohibit_argmatch_without_use: @h='argmatch.h' \ re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \ $(_sc_header_without_use) sc_prohibit_canonicalize_without_use: @h='canonicalize.h' \ re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode|file_name)' \ $(_sc_header_without_use) sc_prohibit_root_dev_ino_without_use: @h='root-dev-ino.h' \ re='(\<ROOT_DEV_INO_(CHECK|WARN)\>|\<get_root_dev_ino *\()' \ $(_sc_header_without_use) sc_prohibit_openat_without_use: @h='openat.h' \ re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>' \ $(_sc_header_without_use) # Prohibit the inclusion of c-ctype.h without an actual use. ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\ |isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper sc_prohibit_c_ctype_without_use: @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \ $(_sc_header_without_use) # The following list was generated by running: # man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \ # | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt _sig_functions = \ bsd_signal kill killpg pthread_kill pthread_sigmask raise sigaction \ sigaddset sigaltstack sigdelset sigemptyset sigfillset sighold sigignore \ siginterrupt sigismember signal sigpause sigpending sigprocmask sigqueue \ sigrelse sigset sigsuspend sigtimedwait sigwait sigwaitinfo _sig_function_re = $(subst $(_sp),|,$(strip $(_sig_functions))) # The following were extracted from "man signal.h" manually. _sig_types_and_consts = \ MINSIGSTKSZ SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK \ SA_RESETHAND SA_RESTART SA_SIGINFO SIGEV_NONE SIGEV_SIGNAL \ SIGEV_THREAD SIGSTKSZ SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SS_DISABLE \ SS_ONSTACK mcontext_t pid_t sig_atomic_t sigevent siginfo_t sigset_t \ sigstack sigval stack_t ucontext_t # generated via this: # perl -lne '/^#ifdef (SIG\w+)/ and print $1' lib/sig2str.c|sort -u|fmt -70 _sig_names = \ SIGABRT SIGALRM SIGALRM1 SIGBUS SIGCANCEL SIGCHLD SIGCLD SIGCONT \ SIGDANGER SIGDIL SIGEMT SIGFPE SIGFREEZE SIGGRANT SIGHUP SIGILL \ SIGINFO SIGINT SIGIO SIGIOT SIGKAP SIGKILL SIGKILLTHR SIGLOST SIGLWP \ SIGMIGRATE SIGMSG SIGPHONE SIGPIPE SIGPOLL SIGPRE SIGPROF SIGPWR \ SIGQUIT SIGRETRACT SIGSAK SIGSEGV SIGSOUND SIGSTKFLT SIGSTOP SIGSYS \ SIGTERM SIGTHAW SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGUSR1 \ SIGUSR2 SIGVIRT SIGVTALRM SIGWAITING SIGWINCH SIGWIND SIGWINDOW \ SIGXCPU SIGXFSZ _sig_syms_re = $(subst $(_sp),|,$(strip $(_sig_names) $(_sig_types_and_consts))) # Prohibit the inclusion of signal.h without an actual use. sc_prohibit_signal_without_use: @h='signal.h' \ re='\<($(_sig_function_re)) *\(|\<($(_sig_syms_re))\>' \ $(_sc_header_without_use) # Don't include stdio--.h unless you use one of its functions. sc_prohibit_stdio--_without_use: @h='stdio--.h' re='\<((f(re)?|p)open|tmpfile) *\(' \ $(_sc_header_without_use) # Don't include stdio-safer.h unless you use one of its functions. sc_prohibit_stdio-safer_without_use: @h='stdio-safer.h' re='\<((f(re)?|p)open|tmpfile)_safer *\(' \ $(_sc_header_without_use) # Prohibit the inclusion of strings.h without a sensible use. # Using the likes of bcmp, bcopy, bzero, index or rindex is not sensible. sc_prohibit_strings_without_use: @h='strings.h' \ re='\<(strn?casecmp|ffs(ll)?)\>' \ $(_sc_header_without_use) # Get the list of symbol names with this: # perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt _intprops_names = \ TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT \ TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM \ INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND \ INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW \ INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW \ INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW \ INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \ INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW \ INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW _intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names))) # Prohibit the inclusion of intprops.h without an actual use. sc_prohibit_intprops_without_use: @h='intprops.h' \ re='\<($(_intprops_syms_re)) *\(' \ $(_sc_header_without_use) _stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t # Prohibit the inclusion of stddef.h without an actual use. sc_prohibit_stddef_without_use: @h='stddef.h' \ re='\<($(_stddef_syms_re))\>' \ $(_sc_header_without_use) _de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)? _de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)? _de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen _dirent_syms_re = $(_de1)|$(_de2)|$(_de3) # Prohibit the inclusion of dirent.h without an actual use. sc_prohibit_dirent_without_use: @h='dirent.h' \ re='\<($(_dirent_syms_re))\>' \ $(_sc_header_without_use) # Prohibit the inclusion of verify.h without an actual use. sc_prohibit_verify_without_use: @h='verify.h' \ re='\<(verify(true|expr)?|static_assert) *\(' \ $(_sc_header_without_use) # Don't include xfreopen.h unless you use one of its functions. sc_prohibit_xfreopen_without_use: @h='xfreopen.h' re='\<xfreopen *\(' $(_sc_header_without_use) sc_obsolete_symbols: @prohibit='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \ halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ $(_sc_search_regexp) # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ # Each nonempty ChangeLog line must start with a year number, or a TAB. sc_changelog: @prohibit='^[^12 ]' \ in_vc_files='^ChangeLog$$' \ halt='found unexpected prefix in a ChangeLog' \ $(_sc_search_regexp) # Ensure that each .c file containing a "main" function also # calls set_program_name. sc_program_name: @require='set_program_name *\(m?argv\[0\]\);' \ in_vc_files='\.c$$' \ containing='\<main *(' \ halt='the above files do not call set_program_name' \ $(_sc_search_regexp) # Ensure that each .c file containing a "main" function also # calls bindtextdomain. sc_bindtextdomain: @require='bindtextdomain *\(' \ in_vc_files='\.c$$' \ containing='\<main *(' \ halt='the above files do not call bindtextdomain' \ $(_sc_search_regexp) # Require that the final line of each test-lib.sh-using test be this one: # Exit $fail # Note: this test requires GNU grep's --label= option. Exit_witness_file ?= tests/test-lib.sh Exit_base := $(notdir $(Exit_witness_file)) sc_require_test_exit_idiom: @if test -f $(srcdir)/$(Exit_witness_file); then \ die=0; \ for i in $$(grep -l -F 'srcdir/$(Exit_base)' \ $$($(VC_LIST) tests)); do \ tail -n1 $$i | grep '^Exit .' > /dev/null \ && : || { die=1; echo $$i; } \ done; \ test $$die = 1 && \ { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ echo 1>&2 'Exit something'; \ exit 1; } || :; \ fi sc_trailing_blank: @prohibit='[ ]$$' \ halt='found trailing blank(s)' \ exclude='^Binary file .* matches$$' \ $(_sc_search_regexp) # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? sc_two_space_separator_in_usage: @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ halt='help2man requires at least two spaces between an option and its description'\ $(_sc_search_regexp) # A regexp matching function names like "error" that may be used # to emit translatable messages. _gl_translatable_diag_func_re ?= error # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. sc_unmarked_diagnostics: @prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ exclude='(_|ngettext ?)\(' \ halt='found unmarked diagnostic(s)' \ $(_sc_search_regexp) # Avoid useless parentheses like those in this example: # #if defined (SYMBOL) || defined (SYM2) sc_useless_cpp_parens: @prohibit='^# *if .*defined *\(' \ halt='found useless parentheses in cpp directive' \ $(_sc_search_regexp) # List headers for which HAVE_HEADER_H is always true, assuming you are # using the appropriate gnulib module. CAUTION: for each "unnecessary" # #if HAVE_HEADER_H that you remove, be sure that your project explicitly # requires the gnulib module that guarantees the usability of that header. gl_assured_headers_ = \ cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g' # Convert the list of names to upper case, and replace each space with "|". az_ = abcdefghijklmnopqrstuvwxyz AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ gl_header_upper_case_or_ = \ $$($(gl_assured_headers_) \ | tr $(az_)/.- $(AZ_)___ \ | tr -s ' ' '|' \ ) sc_prohibit_always_true_header_tests: @or=$(gl_header_upper_case_or_); \ re="HAVE_($$or)_H"; \ prohibit='\<'"$$re"'\>' \ halt=$$(printf '%s\n' \ 'do not test the above HAVE_<header>_H symbol(s);' \ ' with the corresponding gnulib module, they are always true') \ $(_sc_search_regexp) sc_prohibit_defined_have_decl_tests: @prohibit='#[ ]*if(n?def|.*\<defined)\>[ (]+HAVE_DECL_' \ halt='HAVE_DECL macros are always defined' \ $(_sc_search_regexp) # ================================================================== gl_other_headers_ ?= \ intprops.h \ openat.h \ stat-macros.h # Perl -lne code to extract "significant" cpp-defined symbols from a # gnulib header file, eliminating a few common false-positives. # The exempted names below are defined only conditionally in gnulib, # and hence sometimes must/may be defined in application code. gl_extract_significant_defines_ = \ /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ && $$2 !~ /(?:rpl_|_used_without_)/\ && $$1 !~ /^(?:NSIG|ENODATA)$$/\ && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ and print $$1 # Create a list of regular expressions matching the names # of macros that are guaranteed to be defined by parts of gnulib. define def_sym_regex gen_h=$(gl_generated_headers_); \ (cd $(gnulib_dir)/lib; \ for f in *.in.h $(gl_other_headers_); do \ test -f $$f \ && perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' endef # Don't define macros that we already get from gnulib header files. sc_prohibit_always-defined_macros: @if test -d $(gnulib_dir); then \ case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ esac; \ $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi # ================================================================== # Prohibit checked in backup files. sc_prohibit_backup_files: @$(VC_LIST) | grep '~$$' && \ { echo '$(ME): found version controlled backup file' 1>&2; \ exit 1; } || : # Require the latest GPL. sc_GPL_version: @prohibit='either ''version [^3]' \ halt='GPL vN, N!=3' \ $(_sc_search_regexp) # Require the latest GFDL. Two regexp, since some .texi files end up # line wrapping between 'Free Documentation License,' and 'Version'. _GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) sc_GFDL_version: @prohibit='$(_GFDL_regexp)' \ halt='GFDL vN, N!=3' \ $(_sc_search_regexp) # Don't use Texinfo's @acronym{}. # http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ sc_texinfo_acronym: @prohibit='@acronym\{' \ in_vc_files='$(texinfo_suffix_re_)' \ halt='found use of Texinfo @acronym{}' \ $(_sc_search_regexp) cvs_keywords = \ Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State sc_prohibit_cvs_keyword: @prohibit='\$$($(cvs_keywords))\$$' \ halt='do not use CVS keyword expansion' \ $(_sc_search_regexp) # This Perl code is slightly obfuscated. Not only is each "$" doubled # because it's in a Makefile, but the $$c's are comments; we cannot # use "#" due to the way the script ends up concatenated onto one line. # It would be much more concise, and would produce better output (including # counts) if written as: # perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... # but that would be far less efficient, reading the entire contents # of each file, rather than just the last two bytes of each. # In addition, while the code below detects both blank lines and a missing # newline at EOF, the above detects only the former. # # This is a perl script that is expected to be the single-quoted argument # to a command-line "-le". The remaining arguments are file names. # Print the name of each file that does not end in exactly one newline byte. # I.e., warn if there are blank lines (2 or more newlines), or if the # last byte is not a newline. However, currently we don't complain # about any file that contains exactly one byte. # Exit nonzero if at least one such file is found, otherwise, exit 0. # Warn about, but otherwise ignore open failure. Ignore seek/read failure. # # Use this if you want to remove trailing empty lines from selected files: # perl -pi -0777 -e 's/\n\n+$/\n/' files... # require_exactly_one_NL_at_EOF_ = \ foreach my $$f (@ARGV) \ { \ open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ my $$p = sysseek (F, -2, 2); \ my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ my $$last_two_bytes; \ defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ close F; \ $$c = "ignore read failure"; \ $$p && ($$last_two_bytes eq "\n\n" \ || substr ($$last_two_bytes,1) ne "\n") \ and (print $$f), $$fail=1; \ } \ END { exit defined $$fail } sc_prohibit_empty_lines_at_EOF: @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \ || { echo '$(ME): empty line(s) or no newline at EOF' \ 1>&2; exit 1; } || : # Make sure we don't use st_blocks. Use ST_NBLOCKS instead. # This is a bit of a kludge, since it prevents use of the string # even in comments, but for now it does the job with no false positives. sc_prohibit_stat_st_blocks: @prohibit='[.>]st_blocks' \ halt='do not use st_blocks; use ST_NBLOCKS' \ $(_sc_search_regexp) # Make sure we don't define any S_IS* macros in src/*.c files. # They're already defined via gnulib's sys/stat.h replacement. sc_prohibit_S_IS_definition: @prohibit='^ *# *define *S_IS' \ halt='do not define S_IS* macros; include <sys/stat.h>' \ $(_sc_search_regexp) # Perl block to convert a match to FILE_NAME:LINENO:TEST, # that is shared by two definitions below. perl_filename_lineno_text_ = \ -e ' {' \ -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ -e ' print "$$ARGV:$$n:$$v\n";' \ -e ' }' prohibit_doubled_word_RE_ ?= \ /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims prohibit_doubled_word_ = \ -e 'while ($(prohibit_doubled_word_RE_))' \ $(perl_filename_lineno_text_) # Define this to a regular expression that matches # any filename:dd:match lines you want to ignore. # The default is to ignore no matches. ignore_doubled_word_match_RE_ ?= ^$$ sc_prohibit_doubled_word: @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \ | grep -vE '$(ignore_doubled_word_match_RE_)' \ | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || : # A regular expression matching undesirable combinations of words like # "can not"; this matches them even when the two words appear on different # lines, but not when there is an intervening delimiter like "#" or "*". # Similarly undesirable, "See @xref{...}", since an @xref should start # a sentence. Explicitly prohibit any prefix of "see" or "also". # Also prohibit a prefix matching "\w+ +". # @pxref gets the same see/also treatment and should be parenthesized; # presume it must *not* start a sentence. bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{ bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{ prohibit_undesirable_word_seq_RE_ ?= \ /(?:\bcan\s+not\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims prohibit_undesirable_word_seq_ = \ -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ $(perl_filename_lineno_text_) # Define this to a regular expression that matches # any filename:dd:match lines you want to ignore. # The default is to ignore no matches. ignore_undesirable_word_sequence_RE_ ?= ^$$ sc_prohibit_undesirable_word_seq: @perl -n -0777 $(prohibit_undesirable_word_seq_) \ $$($(VC_LIST_EXCEPT)) \ | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \ && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || : _ptm1 = use "test C1 && test C2", not "test C1 -''a C2" _ptm2 = use "test C1 || test C2", not "test C1 -''o C2" # Using test's -a and -o operators is not portable. # We prefer test over [, since the latter is spelled [[ in configure.ac. sc_prohibit_test_minus_ao: @prohibit='(\<test| \[+) .+ -[ao] ' \ halt='$(_ptm1); $(_ptm2)' \ $(_sc_search_regexp) # Avoid a test bashism. sc_prohibit_test_double_equal: @prohibit='(\<test| \[+) .+ == ' \ containing='#! */bin/[a-z]*sh' \ halt='use "test x = x", not "test x =''= x"' \ $(_sc_search_regexp) # Each program that uses proper_name_utf8 must link with one of the # ICONV libraries. Otherwise, some ICONV library must appear in LDADD. # The perl -0777 invocation below extracts the possibly-multi-line # definition of LDADD from the appropriate Makefile.am and exits 0 # when it contains "ICONV". sc_proper_name_utf8_requires_ICONV: @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\ if test "x$$progs" != x; then \ fail=0; \ for p in $$progs; do \ dir=$$(dirname "$$p"); \ perl -0777 \ -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \ $$dir/Makefile.am && continue; \ base=$$(basename "$$p" .c); \ grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ done; \ test $$fail = 1 && \ { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ exit 1; } || :; \ fi # Warn about "c0nst struct Foo const foo[]", # but not about "char const *const foo" or "#define const const". sc_redundant_const: @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ halt='redundant "const" in declarations' \ $(_sc_search_regexp) sc_const_long_option: @prohibit='^ *static.*struct option ' \ exclude='const struct option|struct option const' \ halt='add "const" to the above declarations' \ $(_sc_search_regexp) NEWS_hash = \ $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ $(srcdir)/NEWS \ | perl -0777 -pe \ 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ | md5sum - \ | sed 's/ .*//') # Ensure that we don't accidentally insert an entry into an old NEWS block. sc_immutable_NEWS: @if test -f $(srcdir)/NEWS; then \ test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ fi # Update the hash stored above. Do this after each release and # for any corrections to old entries. update-NEWS-hash: NEWS perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ $(srcdir)/cfg.mk # Ensure that we use only the standard $(VAR) notation, # not @...@ in Makefile.am, now that we can rely on automake # to emit a definition for each substituted variable. # However, there is still one case in which @VAR@ use is not just # legitimate, but actually required: when augmenting an automake-defined # variable with a prefix. For example, gettext uses this: # MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ # otherwise, makeinfo would put German or French (current locale) # navigation hints in the otherwise-English documentation. # # Allow the package to add exceptions via a hook in cfg.mk; # for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by # setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. _makefile_at_at_check_exceptions ?= sc_makefile_at_at_check: @perl -ne '/\@\w+\@/' \ -e ' && !/(\w+)\s+=.*\@\1\@$$/' \ -e ''$(_makefile_at_at_check_exceptions) \ -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : news-check: NEWS $(AM_V_GEN)if sed -n $(news-check-lines-spec)p $< \ | grep -E $(news-check-regexp) >/dev/null; then \ :; \ else \ echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ exit 1; \ fi sc_makefile_TAB_only_indentation: @prohibit='^ [ ]{8}' \ in_vc_files='akefile|\.mk$$' \ halt='found TAB-8-space indentation' \ $(_sc_search_regexp) sc_m4_quote_check: @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ in_vc_files='(^configure\.ac|\.m4)$$' \ halt='quote the first arg to AC_DEF*' \ $(_sc_search_regexp) fix_po_file_diag = \ 'you have changed the set of files with translatable diagnostics;\n\ apply the above patch\n' # Verify that all source files using _() (more specifically, files that # match $(_gl_translatable_string_re)) are listed in po/POTFILES.in. po_file ?= $(srcdir)/po/POTFILES.in generated_files ?= $(srcdir)/lib/*.[ch] _gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$) sc_po_check: @if test -f $(po_file); then \ grep -E -v '^(#|$$)' $(po_file) \ | grep -v '^src/false\.c$$' | sort > $@-1; \ files=; \ for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do \ test -r $$file || continue; \ case $$file in \ *.m4|*.mk) continue ;; \ *.?|*.??) ;; \ *) continue;; \ esac; \ case $$file in \ *.[ch]) \ base=`expr " $$file" : ' \(.*\)\..'`; \ { test -f $$base.l || test -f $$base.y; } && continue;; \ esac; \ files="$$files $$file"; \ done; \ grep -E -l '$(_gl_translatable_string_re)' $$files \ | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \ diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ rm -f $@-1 $@-2; \ fi # Sometimes it is useful to change the PATH environment variable # in Makefiles. When doing so, it's better not to use the Unix-centric # path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'. msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead' sc_makefile_path_separator_check: @prohibit='PATH[=].*:' \ in_vc_files='akefile|\.mk$$' \ halt=$(msg) \ $(_sc_search_regexp) # Check that 'make alpha' will not fail at the end of the process, # i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) # and is read-only. writable-files: $(AM_V_GEN)if test -d $(release_archive_dir); then \ for file in $(DIST_ARCHIVES); do \ for p in ./ $(release_archive_dir)/; do \ test -e $$p$$file || continue; \ test -w $$p$$file \ || { echo ERROR: $$p$$file is not writable; fail=1; }; \ done; \ done; \ test "$$fail" && exit 1 || : ; \ else :; \ fi v_etc_file = $(gnulib_dir)/lib/version-etc.c sample-test = tests/sample-test texi = doc/$(PACKAGE).texi # Make sure that the copyright date in $(v_etc_file) is up to date. # Do the same for the $(sample-test) and the main doc/.texi file. sc_copyright_check: @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ in_files=$(v_etc_file) \ halt='out of date copyright in $(v_etc_file); update it' \ $(_sc_search_regexp) @require='# Copyright \(C\) '$$(date +%Y)' Free' \ in_vc_files=$(sample-test) \ halt='out of date copyright in $(sample-test); update it' \ $(_sc_search_regexp) @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \ in_vc_files=$(texi) \ halt='out of date copyright in $(texi); update it' \ $(_sc_search_regexp) # If tests/help-version exists and seems to be new enough, assume that its # use of init.sh and path_prepend_ is correct, and ensure that every other # use of init.sh is identical. # This is useful because help-version cross-checks prog --version # with $(VERSION), which verifies that its path_prepend_ invocation # sets PATH correctly. This is an inexpensive way to ensure that # the other init.sh-using tests also get it right. _hv_file ?= $(srcdir)/tests/help-version _hv_regex_weak ?= ^ *\. .*/init\.sh" # Fix syntax-highlighters " _hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" sc_cross_check_PATH_usage_in_tests: @if test -f $(_hv_file); then \ grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \ || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ exit 0; }; \ grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ exit 1; }; \ good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \ grep -LFx "$$good" \ $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \ | grep . && \ { echo "$(ME): the above files use path_prepend_ inconsistently" \ 1>&2; exit 1; } || :; \ fi # BRE regex of file contents to identify a test script. _test_script_regex ?= \<init\.sh\> # In tests, use "compare expected actual", not the reverse. sc_prohibit_reversed_compare_failure: @prohibit='\<compare [^ ]+ ([^ ]*exp|/dev/null)' \ containing='$(_test_script_regex)' \ halt='reversed compare arguments' \ $(_sc_search_regexp) # #if HAVE_... will evaluate to false for any non numeric string. # That would be flagged by using -Wundef, however gnulib currently # tests many undefined macros, and so we can't enable that option. # So at least preclude common boolean strings as macro values. sc_Wundef_boolean: @prohibit='^#define.*(yes|no|true|false)$$' \ in_files='$(CONFIG_INCLUDE)' \ halt='Use 0 or 1 for macro values' \ $(_sc_search_regexp) # Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might # not be constant, or might overflow a stack. In general, use PATH_MAX as # a limit, not an array or alloca size. sc_prohibit_path_max_allocation: @prohibit='(\balloca *\([^)]*|\[[^]]*)\bPATH_MAX' \ halt='Avoid stack allocations of size PATH_MAX' \ $(_sc_search_regexp) sc_vulnerable_makefile_CVE-2009-4029: @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \ in_files='(^|/)Makefile\.in$$' \ halt=$$(printf '%s\n' \ 'the above files are vulnerable; beware of running' \ ' "make dist*" rules, and upgrade to fixed automake' \ ' see http://bugzilla.redhat.com/542609 for details') \ $(_sc_search_regexp) sc_vulnerable_makefile_CVE-2012-3386: @prohibit='chmod a\+w \$$\(distdir\)' \ in_files='(^|/)Makefile\.in$$' \ halt=$$(printf '%s\n' \ 'the above files are vulnerable; beware of running' \ ' "make distcheck", and upgrade to fixed automake' \ ' see http://bugzilla.redhat.com/CVE-2012-3386 for details') \ $(_sc_search_regexp) vc-diff-check: $(AM_V_GEN)(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : $(AM_V_at)if test -s vc-diffs; then \ cat vc-diffs; \ echo "Some files are locally modified:" 1>&2; \ exit 1; \ else \ rm vc-diffs; \ fi rel-files = $(DIST_ARCHIVES) gnulib_dir ?= $(srcdir)/gnulib gnulib-version = $$(cd $(gnulib_dir) && git describe) bootstrap-tools ?= autoconf,automake,gnulib # If it's not already specified, derive the GPG key ID from # the signed tag we've just applied to mark this release. gpg_key_ID ?= \ $$(cd $(srcdir) \ && git cat-file tag v$(VERSION) \ | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \ | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}') translation_project_ ?= coordinator@translationproject.org # Make info-gnu the default only for a stable release. announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT) announcement_mail_headers_stable = \ To: info-gnu@gnu.org \ Cc: $(announcement_Cc_) \ Mail-Followup-To: $(PACKAGE_BUGREPORT) announcement_Cc_alpha = $(translation_project_) announcement_mail_headers_alpha = \ To: $(PACKAGE_BUGREPORT) \ Cc: $(announcement_Cc_) announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha) announcement_mail_headers_beta = $(announcement_mail_headers_alpha) announcement_mail_Cc_ ?= $(announcement_mail_Cc_$(release-type)) announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type)) announcement: NEWS ChangeLog $(rel-files) # Not $(AM_V_GEN) since the output of this command serves as # announcement message: it would start with " GEN announcement". $(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen \ --mail-headers='$(announcement_mail_headers_)' \ --release-type=$(release-type) \ --package=$(PACKAGE) \ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ --srcdir=$(srcdir) \ --news=$(srcdir)/NEWS \ --bootstrap-tools=$(bootstrap-tools) \ $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ echo --gnulib-version=$(gnulib-version);; esac) \ --no-print-checksums \ $(addprefix --url-dir=, $(url_dir_list)) .PHONY: release-commit release-commit: $(AM_V_GEN)cd $(srcdir) \ && $(_build-aux)/do-release-commit-and-tag \ -C $(abs_builddir) $(RELEASE) ## ---------------- ## ## Updating files. ## ## ---------------- ## ftp-gnu = ftp://ftp.gnu.org/gnu www-gnu = http://www.gnu.org upload_dest_dir_ ?= $(PACKAGE) upload_command = \ $(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \ --to $(gnu_rel_host):$(upload_dest_dir_) \ $(rel-files) emit_upload_commands: @echo ===================================== @echo ===================================== @echo '$(upload_command)' @echo '# send the ~/announce-$(my_distdir) e-mail' @echo ===================================== @echo ===================================== .PHONY: upload upload: $(AM_V_GEN)$(upload_command) define emit-commit-log printf '%s\n' 'maint: post-release administrivia' '' \ '* NEWS: Add header line for next release.' \ '* .prev-version: Record previous version.' \ '* cfg.mk (old_NEWS_hash): Auto-update.' endef .PHONY: no-submodule-changes no-submodule-changes: $(AM_V_GEN)if test -d $(srcdir)/.git \ && git --version >/dev/null 2>&1; then \ diff=$$(cd $(srcdir) && git submodule -q foreach \ git diff-index --name-only HEAD) \ || exit 1; \ case $$diff in '') ;; \ *) echo '$(ME): submodule files are locally modified:'; \ echo "$$diff"; exit 1;; esac; \ else \ : ; \ fi submodule-checks ?= no-submodule-changes public-submodule-commit # Ensure that each sub-module commit we're using is public. # Without this, it is too easy to tag and release code that # cannot be built from a fresh clone. .PHONY: public-submodule-commit public-submodule-commit: $(AM_V_GEN)if test -d $(srcdir)/.git \ && git --version >/dev/null 2>&1; then \ cd $(srcdir) && \ git submodule --quiet foreach \ test '"$$(git rev-parse "$$sha1")"' \ = '"$$(git merge-base origin "$$sha1")"' \ || { echo '$(ME): found non-public submodule commit' >&2; \ exit 1; }; \ else \ : ; \ fi # This rule has a high enough utility/cost ratio that it should be a # dependent of "check" by default. However, some of us do occasionally # commit a temporary change that deliberately points to a non-public # submodule commit, and want to be able to use rules like "make check". # In that case, run e.g., "make check gl_public_submodule_commit=" # to disable this test. gl_public_submodule_commit ?= public-submodule-commit check: $(gl_public_submodule_commit) .PHONY: alpha beta stable release ALL_RECURSIVE_TARGETS += alpha beta stable alpha beta stable: $(local-check) writable-files $(submodule-checks) $(AM_V_GEN)test $@ = stable \ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ || : $(AM_V_at)$(MAKE) vc-diff-check $(AM_V_at)$(MAKE) news-check $(AM_V_at)$(MAKE) distcheck $(AM_V_at)$(MAKE) dist $(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ release: $(AM_V_GEN)$(MAKE) $(release-type) # Override this in cfg.mk if you follow different procedures. release-prep-hook ?= release-prep gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] .PHONY: release-prep release-prep: $(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \ > ~/announce-$(my_distdir) $(AM_V_at)if test -d $(release_archive_dir); then \ ln $(rel-files) $(release_archive_dir); \ chmod a-w $(rel-files); \ fi $(AM_V_at)echo $(VERSION) > $(prev_version_file) $(AM_V_at)$(MAKE) update-NEWS-hash $(AM_V_at)perl -pi \ -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' \ $(srcdir)/NEWS $(AM_V_at)msg=$$($(emit-commit-log)) || exit 1; \ cd $(srcdir) && $(VC) commit -m "$$msg" -a # Override this with e.g., -s $(srcdir)/some_other_name.texi # if the default $(PACKAGE)-derived name doesn't apply. gendocs_options_ ?= .PHONY: web-manual web-manual: $(AM_V_GEN)test -z "$(manual_title)" \ && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : $(AM_V_at)cd '$(srcdir)/doc'; \ $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ -o '$(abs_builddir)/doc/manual' \ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ "$(PACKAGE_NAME) - $(manual_title)" $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs." .PHONY: web-manual-update web-manual-update: $(AM_V_GEN)cd $(srcdir) \ && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir) # Code Coverage init-coverage: $(MAKE) $(AM_MAKEFLAGS) clean lcov --directory . --zerocounters COVERAGE_CCOPTS ?= "-g --coverage" COVERAGE_OUT ?= doc/coverage build-coverage: $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check mkdir -p $(COVERAGE_OUT) lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ --capture gen-coverage: genhtml --output-directory $(COVERAGE_OUT) \ $(COVERAGE_OUT)/$(PACKAGE).info \ --highlight --frames --legend \ --title "$(PACKAGE_NAME)" coverage: init-coverage build-coverage gen-coverage # Some projects carry local adjustments for gnulib modules via patches in # a gnulib patch directory whose default name is gl/ (defined in bootstrap # via local_gl_dir=gl). Those patches become stale as the originals evolve # in gnulib. Use this rule to refresh any stale patches. It applies each # patch to the original in $(gnulib_dir) and uses the temporary result to # generate a fuzz-free .diff file. If you customize the name of your local # gnulib patch directory via bootstrap.conf, this rule detects that name. # Run this from a non-VPATH (i.e., srcdir) build directory. .PHONY: refresh-gnulib-patches refresh-gnulib-patches: gl=gl; \ if test -f bootstrap.conf; then \ t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;' \ -e 'END{defined $$d and print $$d}' bootstrap.conf); \ test -n "$$t" && gl=$$t; \ fi; \ for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do \ b=$$(printf %s "$$diff"|sed 's/\.diff$$//'); \ VERSION_CONTROL=none \ patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1; \ ( cd $(gnulib_dir) || exit 1; \ git diff "$$b" > "../$$gl/$$diff"; \ git checkout $$b ) || exit 1; \ done # Update gettext files. PACKAGE ?= $(shell basename $(PWD)) PO_DOMAIN ?= $(PACKAGE) POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ PODIR ?= po refresh-po: rm -f $(PODIR)/*.po && \ echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ echo 'en@boldquot' > $(PODIR)/LINGUAS && \ echo 'en@quot' >> $(PODIR)/LINGUAS && \ ls $(PODIR)/*.po | sed 's/\.po//;s,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS # Running indent once is not idempotent, but running it twice is. INDENT_SOURCES ?= $(C_SOURCES) .PHONY: indent indent: indent $(INDENT_SOURCES) indent $(INDENT_SOURCES) # If you want to set UPDATE_COPYRIGHT_* environment variables, # put the assignments in this variable. update-copyright-env ?= # Run this rule once per year (usually early in January) # to update all FSF copyright year lists in your project. # If you have an additional project-specific rule, # add it in cfg.mk along with a line 'update-copyright: prereq'. # By default, exclude all variants of COPYING; you can also # add exemptions (such as ChangeLog..* for rotated change logs) # in the file .x-update-copyright. .PHONY: update-copyright update-copyright: $(AM_V_GEN)grep -l -w Copyright \ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. # NOTE: to override any _gl_TS_* default value, you must # define the variable(s) using "export" in cfg.mk. _gl_TS_dir ?= src ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: tight-scope.mk @fail=0; \ if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ > /dev/null \ && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ > /dev/null 2>&1; then \ echo '$(ME): skipping $@'; \ else \ $(MAKE) -s -C $(_gl_TS_dir) \ -f Makefile \ -f $(abs_top_srcdir)/cfg.mk \ -f $(abs_top_builddir)/$< \ _gl_tight_scope \ || fail=1; \ fi; \ rm -f $<; \ exit $$fail tight-scope.mk: $(ME) @rm -f $@ $@-t @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t @chmod a=r $@-t && mv $@-t $@ ifeq (a,b) # TS-start # Most functions should have static scope. # Any that don't must be marked with 'extern', but 'main' # and 'usage' are exceptions: they're always extern, but # do not need to be marked. Symbols matching '__.*' are # reserved by the compiler, so are automatically excluded below. _gl_TS_unmarked_extern_functions ?= main usage _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/ # If your project uses a macro like "XTERN", then put # the following in cfg.mk to override this default: # export _gl_TS_extern = extern|XTERN _gl_TS_extern ?= extern # The second nm|grep checks for file-scope variables with 'extern' scope. # Without gnulib's progname module, you might put program_name here. # Symbols matching '__.*' are reserved by the compiler, # so are automatically excluded below. _gl_TS_unmarked_extern_vars ?= # NOTE: the _match variables are perl expressions -- not mere regular # expressions -- so that you can extend them to match other patterns # and easily extract matched variable names. # For example, if your project declares some global variables via # a macro like this: GLOBAL(type, var_name, initializer), then you # can override this definition to automatically extract those names: # export _gl_TS_var_match = \ # /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ _gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ # The names of object files in (or relative to) $(_gl_TS_dir). _gl_TS_obj_files ?= *.$(OBJEXT) # Files in which to search for the one-line style extern declarations. # $(_gl_TS_dir)-relative. _gl_TS_headers ?= $(noinst_HEADERS) _gl_TS_other_headers ?= *.h .PHONY: _gl_tight_scope _gl_tight_scope: $(bin_PROGRAMS) t=exceptions-$$$$; \ trap 's=$$?; rm -f $$t; exit $$s' 0; \ for sig in 1 2 3 13 15; do \ eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ done; \ src=`for f in $(SOURCES); do \ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ hdr=`for f in $(_gl_TS_headers); do \ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ grep -h -A1 '^extern .*[^;]$$' $$src \ | grep -vE '^(extern |--)' | sed 's/ .*//'; \ perl -lne \ '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr; \ ) | sort -u > $$t; \ nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \ && { echo the above functions should have static scope >&2; \ exit 1; } || : ; \ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \ perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' \ $$hdr $(_gl_TS_other_headers) \ ) | sort -u > $$t; \ nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \ | sort -u | grep -Ev -f $$t \ && { echo the above variables should have static scope >&2; \ exit 1; } || : # TS-end endif ������������������������������������������������������������������������������������coreutils-8.21/ChangeLog-2007�����������������������������������������������������������������������0000664�0000000�0000000�00000465664�12102337340�012526� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2007-12-31 Jim Meyering <jim@meyering.net> * doc/coreutils.texi (Block size): Put braces around multi-digit exponents. Reported by Darrel Francis. Add a syntax check, so this doesn't recur. Reorganize existing checks. * doc/Makefile.am (sc-exponent-grouping): (syntax_checks): New variable. (sc-avoid-io, sc-avoid-non-zero, sc-avoid-timezone): (sc-avoid-zeroes, sc-use-small-caps-NUL): New rules, extracted from check-texinfo. (check-texinfo): Depend on $(syntax_checks). 2007-12-30 Mike Frysinger <vapier@gentoo.org> * src/dircolors.hin (TERM): Add gnome-256color. 2007-12-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * doc/coreutils.texi: Fix a typo. Avoid the term `relationals'. 2007-12-20 Jim Meyering <meyering@redhat.com> Use comma-separated list in ./configure --help output. * configure.ac: Map commas to spaces in excluded-program list. Use a comma-separated list, not a space-separated one. * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Expect list of program names to be comma-separated. Reported by Jan Bauke Douma. Avoid another "make check" failure due to omitted programs. * tests/test-lib.sh (require_built_): New function. * tests/misc/groups-version: Use it to skip this test if either groups or id is not built. Avoid spurious "make check" failures due to omitted programs. * man/Makefile.am (distcheck-hook): Make check rules dependents of this target, not of check-local, so that people aren't distracted by failures due to programs omitted via --enable-no-install-program=... 2007-12-19 Paul Eggert <eggert@cs.ucla.edu> * src/uniq.c (usage): Improve wording in --help "Note". 2007-12-18 Jim Meyering <meyering@redhat.com> * src/uniq.c (usage): Note that sorting uniq's input is often useful. Suggested by Eric Blake. (usage): Say "key-selection", not "field-selection". Quote example commands consistently. 2007-12-15 Jim Meyering <meyering@redhat.com> Version 6.9.91. * Makefile.cfg (gpg_key_ID): Use new, longer signing subkey. 2007-12-12 Jim Meyering <meyering@redhat.com> * tests/mv/part-symlink: Redirect diff output to stderr. 2007-12-11 Jim Meyering <meyering@redhat.com> Add a test to exercise today's bug fix. * tests/misc/selinux: Test for today's bug fix. * NEWS: Mention the SELinux "ls -l" fix. 2007-12-11 Paul Eggert <eggert@cs.ucla.edu> "ls -l" wouldn't output "+" on SELinux hosts unless -Z was also given. * src/ls.c (gobble_file): Also get the file context if -l is specified. Treat getfilecon failures like file_has_acl failures. (UNKNOWN_SECURITY_CONTEXT): New constant. (clear_files): Don't free it. (gobble_file): Set unknown security contexts to it; that way, we don't have to have special cases for unknown contexts. (print_long_format, print_file_name_and_frills): Don't worry about scontext being null, since it's always some string now. 2007-12-11 Jim Meyering <meyering@redhat.com> * NEWS: Add the "Bug fixes" heading. 2007-12-09 Jim Meyering <meyering@redhat.com> "rm" as root would fail to unlink a non-directory on OS X 10.4.x * src/remove.c (remove_entry) ["can unlink directories"]: Fix a mistakenly reversed condition. * NEWS: Mention this bug fix. Reported by Pieter Bowman. 2007-12-08 Jim Meyering <meyering@redhat.com> * src/c99-to-c89.diff: Adjust shred.c offsets. 2007-12-04 Jim Meyering <meyering@rho.meyering.net> Reflect change in gnulib: don't include getpagesize.h, now that it's provided by unistd.h. * src/cat.c: Don't include getpagesize.h. * src/copy.c: Likewise. * src/dd.c: Likewise. * src/shred.c: Likewise. * src/split.c: Likewise. 2007-12-02 Jim Meyering <meyering@redhat.com> Copy a .po file into place also when the target doesn't exist. * bootstrap (gnulib_tool): ... not just when the checksum differs. So now, if I manually remove po/xx.po, rerunning bootstrap will copy the latest into place. Make my-distcheck depend on "check". * Makefile.maint (my-distcheck): Also depend on "check", so I can't tag and release something that fails "make check" (however harmless) when run in a checked-out-from-git dir, but not in the distributed tarball. * NEWS: Add the usual "Noteworthy changes in release 6.9.91..." line. Remove just-installed su, if unable to make it set-UID root. Normally, su isn't even installed. However, if you configure with --enable-install-program=su, and then install with insufficient privileges, we now make sure to remove the just-installed binary. * src/Makefile.am (install-exec-hook): Rename from install-exec-local, so that this rule is guaranteed to be run *after* installation. If unable to chown and chmod the installed "su" program, remove it. Reported by Greg Schaefer. 2007-12-01 Bob Proulx <bob@proulx.com> Make existing-perm-race executable. * tests/cp/existing-perm-race: Update file mode. 2007-12-01 Jim Meyering <meyering@redhat.com> Version 6.9.90. * NEWS: Remove the now-untrue statement about cp vs. dangling symlinks Change release procedure: tag *before* running e.g., "make stable". * Makefile.maint (vc-dist): Don't tag. Now, you must apply the tag before running "make beta", "make stable", etc. (vc-tag-check): Remove rule. No longer makes sense. * Makefile.maint (vc-tag-check): Correct check for existing git tag. Defer NEWS and ChangeLog checks until after the version-changing tag. * Makefile.maint (alpha beta major): Don't depend on the news-date-check changelog-check targets. They must fail before applying the version-changing tag. Instead, run them after "vc-dist". * NEWS: Record release date and new version number. Mention some of the SELinux changes. * src/stat.c (main): Adjust a comment. * TODO: Add some entries (documentation needed), and remove the one for mktemp. Add "extern" keyword to declaration of cp_options_default. * src/copy.c (cp_options_default): Mark as "extern", so the "sc_tight_scope" part of "make distcheck" passes. 2007-12-01 Jim Meyering <meyering@redhat.com> Change comments: say bug present up to coreutils-6.9, not fixed in 6.10. * tests/cut/Test.pm: Adjust comment. * tests/misc/cut: Likewise. * tests/misc/ls-misc: Likewise. * tests/misc/od: Likewise. * tests/misc/stty-invalid: Likewise. * tests/tr/Test.pm: Likewise. 2007-11-29 Paul Eggert <eggert@cs.ucla.edu> Add a test for cp -p and existing file permissions. * tests/cp/Makefile.am (TESTS): Add existing-perm-race. * tests/cp/existing-perm-race: New test. It isn't much of a test yet, since it's hard to catch the race, but it has a FIXME that will let us do a better test later. 2007-11-28 Paul Eggert <eggert@cs.ucla.edu> Fix a security race with "cp -p A B" when B already exists. * src/copy.h (struct cp_options): New member owner_privileges. * src/copy.c (USE_ACL): Define to 0 if not defined, for convenience. (owner_failure_ok): New function. (set_owner): Avoid a security-related race by doing an extra chmod first if it looks like there might be trouble right after a chown. Accept a source struct stat rather than a uid and gid, and accept a boolean NEW_DST and destination struct stat. All callers changed. * src/copy.h (cp_options_default): New function, replacing the old chown_privileges. * src/copy.c (cp_options_default): Likewise. * src/cp.c (cp_option_init): Use it. * src/install.c (cp_option_init): Likewise. * src/mv.c (cp_option_init): Likewise. 2007-11-30 Jim Meyering <meyering@redhat.com> Move the very-expensive file into test-lib.sh. * tests/very-expensive: Remove file. * tests/test-lib.sh (very_expensive_): New function. * tests/Makefile.am (EXTRA_DIST): Remove very-expensive. * tests/cp/perm: Call the new function, rather than sourcing the file. * tests/tail-2/assert: Likewise. * tests/tail-2/assert-2: Likewise. * tests/du/2g: Likewise. Avoid a spurious test failure when build directory is set-GID. * tests/cp/fail-perm: Ensure that '.'s set-GID bit is off. Be extra careful to quote $abs_top_builddir-derived names. * tests/misc/ls-misc (shell_quote): New function. Use it to quote file names derived from $abs_top_builddir, in case it contains shell meta-characters. This is not currently needed, since CuTmpdir detects the fishy name and skips the test. But it's important enough to add the extra protection. Reported by Ralf Wildenhues. Include test name in the "unsafe working directory name" diagnostic. * tests/CuTmpdir.pm (import): If $ME is '-', use $prefix. 2007-11-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add quotes to protect against white space in build dir name. * tests/check.mk (TESTS_ENVIRONMENT): Quote $(abs_srcdir). * tests/chmod/setgid: Quote absolute names. * tests/misc/help-version: Likewise. * tests/misc/pwd-unreadable-parent: Likewise. * tests/rmdir/ignore: Likewise. * tests/test-lib.sh: Likewise. Define `tst', for CU_TEST_NAME. * build-aux/check.mk (am__check_pre): Set `tst', for CU_TEST_NAME in tests/check.mk. * tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not defined, because it then goes wild and changes the mode of all directories below $HOME. Undefined $dir can happen if the test is to be skipped because of an unsafe working directory name. 2007-11-28 Paul Eggert <eggert@cs.ucla.edu> Close a file descriptor leak when cp --preserve=context fails. * src/copy.c (copy_reg): Close dest_desc too, if getfscreatecon or fsetfilecon fail. 2007-11-28 Jim Meyering <meyering@redhat.com> * README: Document the known problem with gettext <= 0.17. 2007-11-28 Paul Eggert <eggert@cs.ucla.edu> * gl/modules/randread (Depends-on): Remove nonexistent rand-isaac. 2007-11-27 Jim Meyering <meyering@redhat.com> Don't block use of 'cat' or 'wc' in "make check". * Makefile.maint (my-distcheck): Add "cat" and "wc" to the list of programs that we can't blacklist. Fix md5sum+sha*sum on sparc: regenerate files with latest autoconf. * configure et al: Regenerate with very latest version of autoconf (v2.61a-312-gb524b0f), to fix md5sum and sha*sum miscompilation on big-endian systems (like sparc) due to lack of the required definition in of WORDS_BIGENDIAN in lib/config.h. 2007-11-26 Jim Meyering <meyering@redhat.com> setuidgid.c: more cleanup * src/setuidgid.c: Include "mgetgroups.h". (main): Don't presume there's a fixed limit on the maximum number of group IDs. Don't use NGROUPS; it's artificially low. Change the name of a local: s/gids_count/n_gids/. Remove non-portable "const": s/const int tmp =.../int tmp =.../ 2007-11-25 Jim Meyering <meyering@redhat.com> Document install's -D option. * doc/coreutils.texi (install invocation): Document -D. Reported by Akim Demialle. setuidgid: Update --help output. * src/setuidgid.c (usage): Describe -g GID[,GID1...] option. Mention that USER may be a numeric ID or a user name. 2007-11-24 Jim Meyering <meyering@redhat.com> Tweak new test. * tests/cp/preserve-gid: Split some long lines. Prepend "+" to numeric uid and gid chown arguments, on principle. Use skip_test_. setuidgid: minor clean-up. * setuidgid.c: Include "xstrtoul.h". (main): Detect overflow in string-to-gid_t and -to-uid_t conversions. Improve diagnostics. * src/setuidgid.c: Normalize leading white space: no more TABs. Test the new feature: cp -p preserves the GID whenever possible. * tests/cp/preserve-gid: New file. Test for today's change. * tests/cp/Makefile.am (TESTS): Add preserve-gid. * tests/Makefile.am (all_t): Add tc. (tc): New target. setuidgid: accept numeric UID, and new option -g GID,GID1,GID2,... * src/setuidgid.c: Add functionality for the new test above. "cp -p" tries to preserve GID even if preserving the UID fails. * NEWS: Mention this new feature. * src/copy.c (set_owner): Try to preserve just the GID, when initial fchown/lchown fails. * src/cp.c (re_protect): Likewise. 2007-11-23 Jim Meyering <meyering@redhat.com> * src/runcon.c (main): Remove unused parameter, "envp". Add tests to show new class of strings accepted by date -d. * tests/misc/date (rel-1day, rel-plus1): New tests for the recent change in gnulib's getdate.y. * NEWS: Mention the fix. 2007-11-22 Jim Meyering <meyering@redhat.com> Quiet warnings about unused parameters. * src/copy.c (set_author) [!HAVE_STRUCT_STAT_ST_AUTHOR]: "Use" each of the parameters. * GNUmakefile: Correct the "rerunning..." diagnostic. Make it easier to diagnose PATH-induced "make distcheck" failures. * Makefile.maint (write_loser): Define. (my-distcheck): Use an always-failing wrapper script, that gives a diagnostic, not "false". Run only "make -C tests check" with the restrictive PATH. Run the new gnulib-tests/ with the usual PATH. cp: by default, refuse to copy through a dangling destination symlink * NEWS: Mention this change. * doc/coreutils.texi (cp invocation): Describe the new behavior. * src/copy.c: No longer include "canonicalize.h". (copy_reg): Upon failure to open a dangling destination symlink, don't canonicalize the name, but rather fail (default) or, with POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially dangerous). * src/copy.h (struct cp_options) [open_dangling_dest_symlink]: New member. Reorder the others, grouping "bool" and "enum" members together. * tests/cp/thru-dangling: Test for changed and new behavior. * src/cp.c (cp_option_init): Initialize new member. * src/install.c (cp_option_init): Likewise. * src/mv.c (cp_option_init): Likewise. 2007-11-21 Pádraig Brady <P@draigBrady.com> * doc/coreutils.texi (split invocation): Improve the descriptions of the split command options. 2007-11-21 Jim Meyering <meyering@redhat.com> * src/c99-to-c89.diff: Adjust seq.c offsets. 2007-11-18 Paul Eggert <eggert@cs.ucla.edu> * src/seq.c (print_numbers): Rewrite in an attempt to avoid the more-general rounding issues exposed by the previous patch. 2007-11-18 Jim Meyering <meyering@redhat.com> * src/c99-to-c89.diff: Adjust seq.c offsets. Remove unused parameter in remove.c. * src/remove.c (fd_to_subdirp): Remove unused parameter. (remove_cwd_entries, remove_dir): Update callers. bootstrap: work also with 4-argument variant of AC_INIT (from gnulib) 2007-11-18 Sergey Poznyakoff <gray@gnu.org.ua> * bootstrap (gnulib_extra_files): Adjust sed command. 2007-11-17 Jim Meyering <meyering@redhat.com> Correct preceding patch. * src/seq.c (print_numbers): Also handle first < last && step < 0. * tests/misc/seq [empty-rev]: New test for this case. "seq .1 .1" would mistakenly generate no output on some systems * NEWS: Say this. * src/seq.c (print_numbers): Handle another floating point corner case. This avoids failure of seq's eq-wid-7 test on FreeBSD 6.1. 2007-11-16 Paul Eggert <eggert@cs.ucla.edu> Port tests/rmdir/ignore away from GNU/Linux. * tests/rmdir/ignore: Don't assume that rmdir($PWD) will fail with errno==ENOTEMPTY when $PWD is not empty; Posix also allows rmdir to fail with errno==EBUSY. 2007-11-16 Jim Meyering <meyering@redhat.com> Avoid an obscure new "make distcheck" failure. * Makefile.maint (my-distcheck): Also allow 'mv', for its use in gnulib-tests/Makefile. 2007-11-16 Paul Eggert <eggert@cs.ucla.edu> Port readlink-fp-loop to Solaris. * tests/misc/readlink-fp-loop (symlink_loop_msg): New var, which records the symlink-loop message, whose wording is not standardized by Posix. Do not rely on "echo x > p/1" to work when p/1 has a lot of indirect symlinks. (I'm surprised that it works on Linux. Perhaps a Linux bug?) 2007-11-15 Paul Eggert <eggert@cs.ucla.edu> Port to Solaris 'make' and use a Posixish shell on Solaris. * bootstrap.conf (gnulib_modules): Add gnu-make, posix-shell. * build-aux/check.mk (SHELL): Set to $(PREFERABLY_POSIX_SHELL), so that commands can assume Posix syntax. (ENABLE_HARD_ERRORS, TEST_LOGS): Don't use GNU Make's "?=" syntax. (SH_E_WORKAROUND): New macro. (am__check_pre, $(TEST_SUITE_LOG)): Use it. (am__check_pre): Fail if "mkdir" fails. Use $(SHELL) rather than relying on the "#!/bin/sh" in the file, so that tests can use Posix syntax. (am__check_pre, am__tty_colors): Use $$src rather than $$<, to support the Posix-make $(TEST_LOGS) rule. (%.log: %.test, %.log: %$(EXEEXT)): Remove unused inference rules that rely on a GNU Make extension and cause Solaris 'make' to fail. (SUFFIXES): New macro, so that we can use Posix style inference rules. (%.log: %): Use this rule only if GNU_MAKE. Set $$src so that macros can use $$src rather than $$<. (CHECK-FORCE, DEPENDENCY, $(TEST_LOGS)): New macros and rules, which rely only on Posix 'make' semantics, and are used only with non-GNU 'make' implementations. $(TEST_LOGS) invokes 'make' recursively (and a bit inefficiently) to simulate the GNU 'make' rules. (.log.html): Renamed from "%.html: %.log", so that it relies only on Posix 'make' semantics. (check-clean, .PHONY): Do not depend on check-clean-local, since Solaris 'make' complains about nonexistent rules like that. * src/Makefile.am (SUFFIXES): Remove; no longer needed. (groups): Use a specific rule rather than an inference rule that is only instantiated once. The inference-rule approach does not work with Solaris 'make', which gets confused by the "groups: Makefile" line. It's not clear from the Posix spec that Solaris 'make' is buggy here, so instead of worrying about it, rewrite the makefile so that it clearly conforms to Posix. * tests/check.mk (TESTS_ENVIRONMENT): Export PACKAGE_BUGREPORT. GNU 'make' does this automatically for us, but Solaris 'make' doesn't. 2007-11-15 Paul Eggert <eggert@cs.ucla.edu> Port to Solaris 8 perl, which does not support "use warnings;". * tests/dd/skip-seek: Skip test if "use warnings;" fails. * tests/du/files0-from: Likewise. * tests/misc/base64: Likewise. * tests/misc/basename: Likewise. * tests/misc/cut: Likewise. * tests/misc/date: Likewise. * tests/misc/dircolors: Likewise. * tests/misc/dirname: Likewise. * tests/misc/expand: Likewise. * tests/misc/expr: Likewise. * tests/misc/factor: Likewise. * tests/misc/fmt: Likewise. * tests/misc/fold: Likewise. * tests/misc/head-elide-tail: Likewise. * tests/misc/ls-misc: Likewise. * tests/misc/md5sum: Likewise. * tests/misc/md5sum-newline: Likewise. * tests/misc/mktemp: Likewise. * tests/misc/od: Likewise. * tests/misc/paste-no-nl: Likewise. * tests/misc/pr: Likewise. * tests/misc/seq: Likewise. * tests/misc/sha1sum: Likewise. * tests/misc/sha1sum-vec: Likewise. * tests/misc/sha224sum: Likewise. * tests/misc/sha256sum: Likewise. * tests/misc/sha384sum: Likewise. * tests/misc/sha512sum: Likewise. * tests/misc/sort-merge: Likewise. * tests/misc/stat-printf: Likewise. * tests/misc/sum: Likewise. * tests/misc/test-diag: Likewise. * tests/misc/tsort: Likewise. * tests/misc/unexpand: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/misc/xstrtol: Likewise. * tests/mv/i-1: Likewise. * tests/rm/empty-name: Likewise. * tests/rm/unreadable: Likewise. 2007-11-15 Andreas Schwab <schwab@suse.de> * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix syntax error. Remove trailing space from result. 2007-11-15 Jim Meyering <meyering@redhat.com> Avoid misbehavior of a cross-device "mv" or "install". Those programs must not dereference a destination symlink. * src/copy.c (copy_reg): Don't treat a dangling destination symlink differently in move mode. In move mode, the only way the added O_EXCL can cause failure is when some other process has recreated the file this code unlinked a few instructions before. 2007-11-14 Jim Meyering <meyering@redhat.com> Another bootstrap kludge. * bootstrap: Ensure gnulib-tests/test-*.sh are executable #ifdef-out matchpathcon-related code, for now. * src/install.c (setdefaultfilecon): #ifdef-out all of the matchpathcon-related code, until it's more efficient. (setdefaultfilecon): Instead of the above, stub-out the entire function. Use gnulib's stpncpy module, now required by install.c * bootstrap.conf (gnulib_modules): Add stpncpy. Enable gnulib-tool's --with-tests option. * bootstrap: After all is done, transform the generated gnulib-tests/gnulib.mk. * bootstrap.conf (gnulib_tool_option_extras): Set it here. * gnulib-tests/Makefile.am: New file. * Makefile.am (SUBDIRS): Add gnulib-tests. * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile. * m4/jm-macros.m4 (coreutils_MACROS) [ARGMATCH_DIE_DECL]: Omit the "extern " prefix to "void usage ()", so that the macro string value can be used to construct a function definition in gnulib's test-argmatch.c. 2007-11-12 Benno Schulenberg <bensberg@justemail.net> Clarify description of cp's -a option. * src/cp.c (usage) [-a]: Remove unnecessary 'P'. Since option -d of 'cp' includes the function of -P, mentioning the latter in the description of option -a is redundant and therefore slightly confusing, as the reader tries to figure out what it adds. * doc/coreutils.texi (cp invocation): Likewise: s/-dpPR/-dpR/. 2007-11-09 Jim Meyering <meyering@redhat.com> bootstrap: fix typo to enable use of $gnulib_tool_option_extras. * bootstrap (gnulib_tool_options): Add a space before the use of $gnulib_tool_option_extras, so that it's separated from the preceding argument. install+SELinux: reduce a 12x performance hit to ~1.5x * src/install.c (setdefaultfilecon): Call matchpathcon_init_prefix, to mitigate what would otherwise be a large performance hit due to the use of matchpathcon. Dan Walsh suggested the use of matchpathcon_init_prefix. * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. 2007-11-08 Jim Meyering <meyering@redhat.com> Adapt to gnulib's s/jm_/gl_/ cache variable renaming. * configure.ac: Change the cache variable name prefix "jm_" to "gl_", to match today's change in gnulib. 2007-11-05 Jim Meyering <meyering@redhat.com> Fix bootstrap failure to handle files like lib/uniwidth/cjk.h. * bootstrap (cp_mark_as_generated): Create any required parent destination directories before copying a file into place. * src/c99-to-c89.diff: Adjust offsets. Don't use GNU-sed-specific \< \> operators here, either. * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Use a loop, as below. Use tighter regexps when performing name substitution. * man/Makefile.am (mapped_name): Add ^ and $$ anchors. Don't use GNU-sed-specific \< \> operators. * configure.ac (MAN): Transform ginstall.1 to install.1 using a loop, rather than sed with \<...\>. Problem reported by Bruno Haible. Andreas Schwab reminded me that \< and \> are not portable. Get git-version-gen from gnulib. * build-aux/git-version-gen: Remove file. * build-aux/.gitignore: Add git-version-gen. * bootstrap.conf (gnulib_modules): Add git-version-gen. 2007-11-03 Jim Meyering <meyering@redhat.com> git-version-gen: Sync from autoconf's version. * build-aux/git-version-gen: Run git-status Sync copyright and scriptversion bits from gnulib. * build-aux/git-version-gen: No semantic change. Change the first '-' to '.' in the snapshot version string, e.g., 6.9-377-08144 -> 6.9.377-08144 * build-aux/git-version-gen: ... and add comments. seq: add another test for the %% bug. * tests/misc/seq (fmt-c): Test the other fixed case, too. 2007-11-03 Paul Eggert <eggert@cs.ucla.edu> Fix bug with "seq 10.8 0.1 10.95", plus another bug with %% in format. * NEWS: Mention the %%-in-format bug fix. * src/seq.c (struct layout): New type. (long_double_format): New arg LAYOUT. Fill it in. Fix mishandling of %% in formats. (print_numbers): New arg LAYOUT. Don't convert LAST to output format when deciding whether to go slightly past LAST. Instead, convert X to output format and back. This fixes a bug reported by Andreas Schwab in <http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00237.html> where "seq 10.8 0.1 10.95" would output 11.0 on platforms where 10.95 rounds to a value that prints as 11.0 when only one digit past the decimal point is asked for. (main): Compute layout, for benefit of print_numbers. * tests/misc/seq (float-3): Undo previous change, since the bug should be fixed now. (fmt-b): New test, for the %% bug. 2007-11-01 Jim Meyering <meyering@redhat.com> * tests/misc/printf-surprise: Correct sed transform. Reported by Bob Proulx. Add example inspired by "make dist" running gzip and lzma in sequence. * doc/coreutils.texi (tee invocation): Show how to run tar just once, compressing the tee'd output streams in parallel. Say that the first process substitution example is contrived. * doc/coreutils.texi (tee invocation): ... and show how to do it properly. Pointed out by James Antill. Use mktemp, not mkdtemp, to create test directories. * tests/test-lib.sh: Use the mktemp binary we've just built, not the mkdtemp script. * tests/mkdtemp: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp. Adjust a seq subtest not to depend on the vagaries of floating point. * tests/misc/seq (float-3): Use 10.94 as the endpoint, not 10.95, since 10.95 was precisely in the middle of the interval, and with a %.1f format could map to either 10.9 or 11.0. Reported by Mike Frysinger Make the new printf-surprise test more precise. * tests/test-lib.sh (require_ulimit_): New function. * tests/misc/printf-surprise: Use ulimit -v to trigger the fixed bug, and rather than checking printf's exit status (which would go wrong on FreeBSD 6.1, since their printf(3) function doesn't require lots of memory in this case) simply test whether it outputs the first 10 bytes. Accommodate FreeBSD 6.1 hard-link-to-symlink differences. * tests/cp/same-file: Detect when linking to a symlink links to the target of the symlink (FreeBSD 6.1 does this, Linux does not), and skip the few tests that would otherwise fail. Redirect output of final comparison to stderr, since all stdout is already redirected. 2007-10-31 Jim Meyering <meyering@redhat.com> Fix a "make distcheck" failure. * Makefile.maint (my-distcheck): Don't stub-out dirname, since build-aux/check.mk now uses it. * bootstrap.conf (gnulib_modules): Add xprintf-posix. 2007-10-30 Jim Meyering <meyering@redhat.com> Avoid seq floating-point test failure on FreeBSD 6.1. * tests/misc/seq (float-4): Also accept -0.0. 2007-10-29 Jim Meyering <meyering@redhat.com> Change a "make dist" diagnostic. * GNUmakefile: Don't imply that $(_curr-ver) is the new version string. 2007-10-29 Bob Proulx <bob@proulx.com> Improve color terminal escape usage. * build-aux/check.mk (am__tty_colors): Use 'tput' to deduce terminal color capabilities. 2007-10-29 Jim Meyering <meyering@redhat.com> Don't try to colorize a dumb terminal. * build-aux/check.mk (am__tty_colors): Skip colors if $TERM is "dumb". Thanks to Bob Proulx. Remove gnulib's printf-posix module, for now. * bootstrap.conf (gnulib_modules): It caused too many test failures. Remove spurious semicolon after "else". * build-aux/check.mk (am__tty_colors): Fix syntax error. If $TERM is empty, don't use colors. This helps the buildbot, since it produces its result in an environment with a tty, but we don't want color codes in that case. * build-aux/check.mk (am__tty_colors): Test for nonempty $TERM. Suggestion from Bob Proulx. Always initialize terminal colorization string variables. * build-aux/check.mk (am__tty_colors): Always initialize red, grn, etc., In case they're defined in the environment. Avoid test failure in non-srcdir build vs. the git tree. * tests/check.mk (vc_exe_in_TESTS): Run this test only in a srcdir build directory. Reported by Andreas Schwab. 2007-10-28 Jim Meyering <meyering@redhat.com> Define ENOTSUP, not ENOSYS. Needed on OpenBSD 3.9. * gl/lib/se-context.in.h (ENOTSUP): Define if missing. * gl/lib/se-selinux.in.h: Likewise. Define ENODATA, for FreeBSD 5.0 and 6.1. * src/system.h (ENODATA): Define, if missing. Run autoreconf, not just autoconf, to avoid warnings. * GNUmakefile (dummy): Otherwise, we'd sometimes get a warning about autoconf version mismatch between what was used to generate aclocal.m4 and the currently-running autoconf. Require gnulib's printf-posix module, to support Interix. * bootstrap.conf (gnulib_modules): Add printf-posix. Help xgettext recognize more printf-style format strings. * bootstrap.conf (XGETTEXT_OPTIONS): Add directives for error, error_at_line, xasprintf, xfprintf and xprintf. 2007-10-27 Jim Meyering <meyering@redhat.com> Adjust format string so msgfmt doesn't object. * src/df.c (main): Use "%s%s" (not %smsg) to print "msg" with or without a "Warning: " prefix. Reported by Clytie Siddall. Clean up tests/Makefile.am. * tests/Makefile.am (EXTRA_DIST): Remove $(TESTS). No longer defined. (TESTS_ENVIRONMENT): Remove definition. 2007-10-26 Jim Meyering <meyering@redhat.com> * build-aux/check.mk: Merge with latest from Akim. Add a test for the printf fix of 2007-10-21. * tests/misc/printf-surprise: New file. Test for 2007-10-21's fix. * tests/misc/Makefile.am (TESTS): Add printf-surprise. 2007-10-24 Micah Cowan <micah@cowan.name> Remove vestiges of cvs-gnulib-checkout process. Now we use git. * bootstrap: Remove support for now-unnecessary option, --cvs-user, and envvars CVS_USER, CVS_RSH. 2007-10-24 Micah Cowan <micah@cowan.name> Tell xgettext that "ARG1 % ARG2" is not a C format string. * src/expr.c (usage): Add a comment to override xgettext's default behavior, which would classify "ARG1 % ARG2" as a fprintf-style format string. Reported by Clytie Siddall. 2007-10-24 Jim Meyering <meyering@redhat.com> Avoid diagnostics from sha1sum when there is no cached checksum. * bootstrap (update_po_files): Skip the sha1sum check if the po.s1 file hasn't been created yet. Get gnulib from the git repository, not from an obsolete cvs one. * bootstrap: Suggestion from Micah Cowan. Doc improvements. * README-hacking: Prefer the no-hyphen variant of git commands, e.g., use "git pull" not "git-pull". Don't presume that the only way to read this document is via a prior git clone: provide instructions for cloning coreutils, too. * README-hacking: Add "cd automake" in build instructions. From Bob Proulx. Don't fail part 2 of tests/rm/unreadable when run as root. * tests/rm/unreadable: With UID == 0, expect different results. Reported by Mike Frysinger. 2007-10-23 Jim Meyering <meyering@redhat.com> * README-hacking: Refer to LZMA Utils <http://tukaani.org/lzma/>. 2007-10-22 Paul Eggert <eggert@cs.ucla.edu> * README-hacking: Describe how to build with LZMA. 2007-10-22 Jim Meyering <meyering@redhat.com> Remove git-version-gen's first parameter. * build-aux/git-version-gen: Add comments. Remove first command-line parameter. * configure.ac: Remove corresponding first argument. * GNUmakefile (_curr-ver): Likewise. 2007-10-21 Jim Meyering <meyering@redhat.com> * NEWS: Mention the printf fix. Reorder tests to run more basic ones earlier. * tests/misc/Makefile.am (TESTS): Reorder. * tests/Makefile.am (SUBDIRS): Reorder. tr: do not reject an unmatched [:lower:] or [:upper:] in SET1. * NEWS: Mention this. * src/tr.c (get_next) [RE_CHAR_CLASS]: Don't skip the loop when processing [:lower:] and [:upper:]. (main): Require [:lower:] or [:upper:] in SET1 only when when one of those is specified in SET2. * tests/tr/Test.pm: Add tests for this fix. Reported by Per Starbäck. 2007-10-20 Jim Meyering <meyering@redhat.com> * tests/misc/help-version: Add a comment. Detect printf(3) failure due to ENOMEM. * src/printf.c: Include "xprintf.h" (print_direc): Use xprintf, rather than printf. * bootstrap.conf (gnulib_modules): Add xprintf. * po/POTFILES.in: Add lib/xprintf.c. Reported by Bruno Haible. Put always-failing programs first in PATH, so tests cannot mistakenly run installed versions. * Makefile.maint (my-distcheck): Set up a bogus bin/ dir, to be used for "make check". * doc/coreutils.texi (tee invocation): Fix typo. Add a little. Add a cross-reference to bashref's Process Substitution node. Adjust tests to pass, now that Test.pm ones use check.mk. * tests/check.mk (vc_exe_in_TESTS): Adjust regexp not to match the "TESTS = $x-tests" line in each Test.pm-derived Makefile.am file. * tests/sort/main: Remove this unused file. Ensure that Test.pm-derived tests use the right $PATH. * tests/Makefile.am.in: Include $(top_srcdir)/tests/check.mk. 2007-10-20 Bob Proulx <bob@proulx.com> Prevent "make check" from leaving mktemp /tmp/tmp.* files behind. * tests/misc/help-version (mktemp_args): Tell mktemp to create its temporary file in the current directory. 2007-10-16 Jim Meyering <meyering@redhat.com> Show how to make tee redirect to multiple processes. * doc/coreutils.texi (tee invocation): Tee can redirect output to multiple _processes_, too. 2007-10-14 Jim Meyering <meyering@redhat.com> Pull all TESTS_ENVIRONMENT settings "up" into tests/check.mk. * tests/Makefile.am.in (TESTS_ENVIRONMENT): Remove definition. * tests/chgrp/Makefile.am: Likewise. * tests/chmod/Makefile.am: Likewise. * tests/chown/Makefile.am: Likewise. * tests/cp/Makefile.am: Likewise. * tests/dd/Makefile.am: Likewise. * tests/du/Makefile.am: Likewise. * tests/install/Makefile.am: Likewise. * tests/ln/Makefile.am: Likewise. * tests/ls/Makefile.am: Likewise. * tests/misc/Makefile.am: Likewise. * tests/mkdir/Makefile.am: Likewise. * tests/mv/Makefile.am: Likewise. * tests/readlink/Makefile.am: Likewise. * tests/rm/Makefile.am: Likewise. * tests/rmdir/Makefile.am: Likewise. * tests/tail-2/Makefile.am: Likewise. * tests/touch/Makefile.am: Likewise. * tests/check.mk (TESTS_ENVIRONMENT) [EXEEXT, EGREP, MAKE, PERL]: [CONFIG_HEADER, build_programs, host_os, host_triplet, PATH]: [REPLACE_GETCWD, CU_TEST_NAME]: Add definitions here. * tests/misc/pwd-long: Use $abs_top_builddir/src, not $BUILD_SRC_DIR. * tests/dd/skip-seek: Don't use $ENV{PROG}. * tests/rm/empty-name: Likewise. * tests/rm/unreadable: Likewise. * tests/mv/i-1: Likewise. Fix a minor typo. * configure.ac (AC_INIT): Fix a typo (s/9.6/6.9/) that makes a difference only when running "make dist" without a .git/ subdir. 2007-10-09 Jim Meyering <meyering@redhat.com> Move the help-version test into misc/. * tests/help-version: Move to... * tests/misc/help-version: ...here. Source test-lib.sh, as usual. Use $abs_top_builddir, rather than ".." and "../..". Make the runcon-no-reorder test slightly more general. * tests/misc/runcon-no-reorder: Don't hard-code "unconstrained_t". Use slightly more general "runcon $(id -Z)". Suggestion from Stephen Smalley. Skip the chcon test on a system with no SELinux support. * tests/test-lib.sh (require_selinux_): New function. * tests/misc/chcon: Use it. * tests/misc/selinux: Use it here, too. * tests/cp/cp-a-selinux: and here. * tests/selinux: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove selinux. Reported by Mike Frysinger and Bauke Jan Douma. * src/dircolors.hin: Recognize .lzma as a compressed-file suffix. * configure.ac (AM_INIT_AUTOMAKE): Use dist-lzma, rather than dist-bzip2. Now that we don't install su, don't make misleading suggestions. * src/Makefile.am (install-exec-local) [$(INSTALL_SU) != yes]: Don't suggest running "make install-root". (uninstall-local) [$(INSTALL_SU) != yes]: Don't even check the installed binary. 2007-10-08 Jim Meyering <meyering@redhat.com> When forming a truncated name, use the "[...]" prefix even for an extremely long name in the current directory * src/remove.c (full_filename_): Rename a local variable. Use two separate "truncated" variables, in case the second call to right_justify does not indicate any truncation -- which would happen only if the single component FILENAME were longer than 511 bytes and DIR_NAME were empty. rm could malfunction under unusual circumstances: When operating on a relative name longer than 511 bytes, and (when either processing a directory that is neither writable nor readable (but still searchable) or when determining whether to prompt), and encountering an ENOMEM error while forming the file name, rm would operate on a truncated-to-511-byte name starting with "[...]" rather than the intended one. * NEWS: Describe the bugs. * src/remove.c: Correct two misuses of full_filename: (full_filename0, xfull_filename): New functions. (full_filename_): Rewrite to use full_filename0. (AD_pop_and_chdir): Use xfull_filename, not full_filename. (write_protected_non_symlink): Likewise. 2007-10-07 Jim Meyering <meyering@redhat.com> Don't let a helper function modify errno. * src/remove.c (full_filename_): Save and restore errno. Spotted by Bruno Haible. Reflect 2->3 GPL copyright version update in gnulib. * gl/lib/tempname.h: Update copyright from gnulib. * gl/lib/tempname.c: Likewise. * .x-sc_GPL_version: Don't make an exception for those two files. * configure.ac (AM_INIT_AUTOMAKE): Don't use dist-lzma just yet. New program: mktemp. * NEWS: Mention this. * README: Add mktemp to the list. * AUTHORS: Add this: mktemp: Jim Meyering * src/mktemp.c: New file. * src/Makefile.am (bin_PROGRAMS): Add mktemp. (mktemp_LDADD): Add $(LIB_GETHRXTIME). * man/mktemp.x: New file. * man/Makefile.am (dist_man_MANS): Add mktemp.1. (mktemp.1): New dependency. * man/.cvsignore: Add mktemp.1. * man/.gitignore: New file. * src/.cvsignore, src/.gitignore: Add mktemp. * tests/misc/mktemp: New file. * tests/misc/Makefile.am (TESTS): Add mktemp. * tests/Coreutils.pm (run_tests): Give the POST-test function access to stdout and stderr contents, so it can verify that the named-on-stdout file/dir does indeed exist and has proper permissions, etc. [po/ChangeLog] * POTFILES.in: Add src/mktemp.c. Make tempname more random, via the randint module. * gl/modules/tempname (Depends-on): Add randint and stdbool. * gl/lib/tempname.c: Include randint.h and stdbool.h. (uint64_t): Remove definition. Not needed. [_LIBC] (RANDOM_BITS): Remove this block, now that we have proper random bits. (check_x_suffix): New function. (gen_tempname_len): Rename from __gen_tempname. Add a parameter, x_suffix_len, telling how many X's there must be at the end of the template. Use pseudo-random numbers all the way, rather than adding 7777 from one iteration to the next. (__gen_tempname): New function, to call gen_tempname_len, requiring a suffix length of 6. * gl/lib/tempname.h: Add prototype for gen_tempname_len. Convert coreutils' rand*.{c,h,m4} into modules. First step: move these files to gl/lib: * lib/rand-isaac.c, lib/rand-isaac.h * lib/randint.c, lib/randint.h * lib/randperm.c, lib/randperm.h * lib/randread.c, lib/randread.h Step 2: add modules/rand* and remove now-unneeded .m4 files. * gl/modules/randint: New file. * gl/modules/randperm: New file. * gl/modules/randread: New file. * m4/randint.m4: Remove file. * m4/randperm.m4: Remove file. * m4/randread.m4: Remove file. Step 3: use the new modules * bootstrap.conf (gnulib_modules): Add randint and randperm. * m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require; These have been removed. (gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf. Copy from gnulib the parts of tempname that we'll modify. * gl/lib/tempname.c: Copy from gnulib. * gl/lib/tempname.h: Likewise. * gl/modules/tempname: Likewise. Allow GPLv2 on temporarily(?)-imported file from gnulib/libc. * .x-sc_GPL_version: New file. * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version 2007-10-07 Jim Meyering <meyering@redhat.com> Avoid a pseudo-leak in sort. * src/sort.c (main) [lint]: Avoid a nominal leak. Use puts, rather than printf ("%s\n". Slightly cleaner. * src/tsort.c (tsort): ...and more efficient. Avoid seq malfunction on non-POSIX systems: mingw, BeOS, Interix. * bootstrap.conf (gnulib_modules): Add vasprintf-posix. Suggestion from Bruno Haible. Avoid a used-uninitialized error. * src/copy.c (copy_internal): Don't overload "use_stat". 2007-10-05 Jim Meyering <meyering@redhat.com> Make a failing cross-partition mv give a sensible diagnostic. A cross-partition move of a file in a sticky tmpdir and owned by another user would evoke an invalid diagnostic after copying it: mv: cannot remove `x': Operation not permitted Either of the following (mv.c, remove.c) changes would fix the bug by itself. I think it's slightly better to use both; the added cost is minimal: mv: an extra lstat-per-mv-cmdline-arg-that-goes-cross-partition, rm: an extra lstat-per-unlink-that-fails-w/EPERM. * src/remove.c (remove_entry): Also lstat the file upon EPERM. * src/mv.c (rm_option_init): Initialize root_dev_ino just as is done in rm, so that a cross-partition invoked remove.c:rm call works the same way as one invoked from the command-line use of "rm". That setting of root_dev_ino makes rm() do the equivalent of an additional lstat for each argument, which in turn gives rm enough information to issue the right diagnostic. * tests/mv/sticky-to-xpart (version): New file. Test for the above. * tests/mv/Makefile.am (TESTS): Add sticky-to-xpart. Arrange for "make check-root" to run the new root-only test. * tests/Makefile.am (tb): New target, to run the new root-only test. (all_t): Add tb. * src/c99-to-c89.diff: Adjust offsets. Add PACKAGE_VERSION to TESTS_ENVIRONMENT via check.mk. * tests/check.mk (TESTS_ENVIRONMENT): Add PACKAGE_VERSION here, rather than in every Makefile.am that needs it. * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Remove PACKAGE_VERSION. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise. 2007-10-04 Jim Meyering <jim@meyering.net> Adapt to new gnulib naming scheme. * gl/lib/se-context.in.h: Rename from gl/lib/se-context_.h. * gl/lib/se-selinux.in.h: Rename from gl/lib/se-selinux_.h. * gl/m4/selinux-context-h.m4: Remove use of AC_LIBSOURCES. * gl/m4/selinux-selinux-h.m4: Likewise. * gl/modules/selinux-h (Files, Makefile.am): Reflect renaming. (Makefile.am) [lib_SOURCES]: Add se-context.in.h and se-selinux.in.h. * lib/search_.h: Remove unused file. * bootstrap (slurp): Adapt to _.h -> .in.h name change. (update_po_files): Work also when there are no .po files in po/. Remove test program: lib/t-fpending.c. * lib/t-fpending.c: Remove file. Now, this test is in gnulib. * lib/Makefile.am: Remove associated rules. * .gitignore: Remove lib/t-fpending. 2007-10-03 Jim Meyering <jim@meyering.net> * tests/misc/selinux: Skip this test if the initial chcon fails. 2007-10-02 Jim Meyering <jim@meyering.net> Never copy through a symlink that cp has just created. * src/copy.c (copy_internal): When same-file detection requires 'stat'ing the destination file, also 'lstat' it and ensure that it wasn't the destination of a preceding copy operation. This bug was introduced on 2007-06-18. * tests/cp/abuse: New test for the above. * tests/cp/Makefile.am (TESTS): Add abuse. 2007-09-30 Jim Meyering <jim@meyering.net> cp: do not abbreviate in --help output. * src/cp.c (usage): Don't abbreviate: s/=link/=links/. Reported by Géraud Meyer in <http://bugs.debian.org/444137>. 2007-09-29 Eric Blake <ebb9@byu.net> Test previous patch. * tests/misc/groups-dash: New test. * tests/misc/Makefile.am (TESTS): Add it. 2007-09-28 Eric Blake <ebb9@byu.net> * src/groups.sh: Don't ignore first argument if later argument is --. 2007-09-27 Jim Meyering <jim@meyering.net> Avoid spurious test failure when SELinux stats "selinux/class". * tests/ls/stat-free-symlinks: Grep for more precise /^stat("x"/. Move file-set and hash-triple modules to gnulib. * bootstrap.conf (gnulib_modules): Remove file-set, now that it's in gnulib, and the canonicalize module requires it there. * gl/lib/file-set.c, gl/lib/file-set.h, gl/modules/hash-triple: Remove. * gl/lib/hash-triple.c, gl/lib/hash-triple.h, gl/modules/file-set: Remove. Add a test to exercise a readlink bug. * tests/misc/readlink-fp-loop: New file. Test for the readlink bug fixed through today's change to Gnulib's canonicalize module. * tests/misc/Makefile.am (TESTS): Add readlink-fp-loop. Bug report and a test case from mpb.mail@gmail.com. 2007-09-25 Pádraig Brady <P@draigBrady.com> * doc/coreutils.texi (date invocation): Make "Date input formats" easier to navigate to. 2007-09-25 Jim Meyering <jim@meyering.net> Use XOR, not OR to combine bits. * gl/lib/hash-triple.c (triple_hash): Use XOR (^), not OR (|), to combine the bits from hashing the name and those of the inode number. Add a few comments and remove out-of-context ones. 2007-09-24 Jim Meyering <jim@meyering.net> * NEWS: The recent rm-diagnostic fix also affects cross-partition "mv". copy.c: Remove definitions of factored-out functions. * src/copy.c: Include "file-set.h". (seen_file, record_file): Remove functions that I factored out on 2007-08-23. 2007-09-22 Jim Meyering <jim@meyering.net> Don't print the commands of a 10-line script that's run in each subdir. * tests/check.mk (vc_exe_in_TESTS): Add a leading "@", to reduce noise. rm: give a sensible diagnostic when failing to remove a symlink On some systems (those with openat et al), when rm would fail to remove a symlink, it would fail with the misleading diagnostic, "Too many levels of symbolic links". * NEWS: Mention the bug fix. * src/remove.c (is_nondir_lstat): New function. (remove_entry): Use it to catch failed-to-remove symlink (and any other non-dir) here so that we don't fall through and try to treat it as directory, which -- with a symlink -- would provoke the bogus ELOOP failure. * tests/rm/fail-eacces: Add a test for the above. * src/c99-to-c89.diff: Adjust offsets. rm: fix a tiny, nearly inconsequential bug. Don't perform a "."-relative lstat, when the file in question may well not be in ".". Although this is a bug, a few attempts to exercise it on a linux-2.6.22 system failed. You probably need a pre-openat system to trigger the failure. The consequence of this bug would be a lower-quality diagnostic upon failed dir removal. * src/remove.c (is_dir_lstat): Add a parameter, fd_cwd. Use it instead of hard-coding AT_FDCWD. (remove_entry): Call is_dir_lstat with fd_cwd. 2007-09-22 Karl Berry <karl@freefriends.org> * TODO: It'd be nice to add renice. 2007-09-21 Jim Meyering <jim@meyering.net> Avoid test failure due to now-parallelized tests. * tests/du/two-args: Run "du .." from a sub-directory one level deeper. 2007-09-16 Jim Meyering <jim@meyering.net> * tests/misc/tac-continue: Arrange to remove a temporary file. * tests/check.mk (vc_exe_in_TESTS): Don't rely on the value of $(TESTS), so that "make check TESTS=test-name" works once again. * tests/CuTmpdir.pm: Use File::Find + chmod syscall, not chmod -R. Revamp most test scripts. * tests/rm/v-slash: Avoid test failure with non-C locale. Reported by Michael Stone. Enable some previously omitted test scripts. Add a test cross-check. * tests/rm/Makefile.am (TESTS): Add empty-name and unreadable. * tests/rm/empty-name: Likewise. * tests/rm/unreadable: Reenable this test. Adjust for new rm. * tests/mkdir/Makefile.am: Add writable-under-readonly. * tests/mkdir/writable-under-readonly: Add some comments. This test is always skipped, for now. * tests/Makefile.am (ta): Hook up the new root-only script. * tests/tail-2/infloop-1: Make this test pass. * tests/tail-2/Makefile.am (TESTS): Add infloop-1. * tests/tail-2/fflush: Remove unused file. * tests/check.mk (vc_executable_is_in_TESTS): More portable. * tests/check.mk (check): Depend on the above. * build-aux/check.mk: Remove comment mentioning AUTHORS file. Factor out definitions in TESTS_ENVIRONMENT of srcdir, top_srcdir, etc. tests/check.mk (top_srcdir): Define. tests/*/Makefile.am: Remove definitions of $(srcdir), $(top_srcdir), $(abs_top_srcdir), and $(abs_top_builddir), since they're defined via the included tests/check.mk. tests/general: Remove from VC, this long-unused directory and contents. Adapt tests/tail-2/ to use test-lib.sh. Adapt tests/readlink/ to use test-lib.sh. Move the sole test in tests/ls-2/ to tests/misc/. * tests/ls-2/basic-1: Move this file to ... * tests/misc/ls-misc: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add ls-misc. * tests/Makefile.am (SUBDIRS): Remove ls-2. * tests/ls-2: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/ls-2/Makefile. More misc, test-related changes. (some to allow running tests as root) Move all tests from test/{od,sha1sum,shred,stty} to tests/misc/. Reflect these renamings: od/od-N misc/od-N od/x8 misc/od-x8 sha1sum/basic-1 misc/sha1sum sha1sum/sample-vec misc/sha1sum-vec shred/exact misc/shred-exact shred/remove misc/shred-remove stty/basic-1 misc/stty stty/invalid misc/stty-invalid stty/row-col-1 misc/stty-row-col * tests/misc/Makefile.am (TESTS): Add the new files. * tests/Makefile.am (SUBDIRS): Remove the dir names. * tests/od, tests/sha1sum, tests/shred, tests/stty: Remove the directories. * configure.ac (AC_CONFIG_FILES): Remove the corresponding Makefile names. Move the two tests in tests/tee to tests/misc/. * tests/tee/basic: Move this file to ... * tests/misc/tee: ...here. Don't rely on $PROG in env. * tests/tee/dash: Move this file to ... * tests/misc/tee-dash: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add tee. * tests/Makefile.am (SUBDIRS): Remove tee. * tests/tee: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/tee/Makefile Move the two tests in tests/sum/ to tests/misc/. * tests/sum/basic-1: Move this file to ... * tests/misc/sum: ...here. Don't rely on $PROG in env. * tests/sum/sysv: Move this file to ... * tests/misc/sum-sysv: ...here. Adapt it to use test-lib.sh. * tests/misc/Makefile.am (TESTS): Add sum and sum-sysv. * tests/Makefile.am (SUBDIRS): Remove sum. * tests/sum: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/sum/Makefile. Move the sole test in tests/tsort/ to tests/misc/tsort. * tests/tsort/basic-1: Move this file to ... * tests/misc/tsort: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add tsort. * tests/Makefile.am (SUBDIRS): Remove tsort. * tests/tsort: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/tsort/Makefile. Move the sole test in tests/unexpand to tests/misc/unexpand. * tests/unexpand/basic-1: Move this file to ... * tests/misc/unexpand: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add unexpand. * tests/Makefile.am (SUBDIRS): Remove unexpand. * tests/unexpand: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/unexpand/Makefile. Move the sole test in tests/seq to tests/misc/seq. * tests/seq/basic: Move this file to ... * tests/misc/seq: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add seq. * tests/Makefile.am (SUBDIRS): Remove seq. * tests/seq: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/seq/Makefile Convert tests/mkdir/ to use test-lib.sh. Move the two tests in tests/md5sum to tests/misc/md5sum. * tests/md5sum/basic-1: Move this file to ... * tests/misc/md5sum: ...here. Don't rely on $PROG in env. * tests/md5sum/newline-1: Move this file to ... * tests/misc/md5sum-newline: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add md5sum. * tests/Makefile.am (SUBDIRS): Remove md5sum. * tests/md5sum: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/md5sum/Makefile tests/sample-test: Update to use test-lib.sh. Convert tests/misc/ to use test-lib.sh, too. Convert tests/ls/, too. Convert tests/ln/, too. Convert tests/install/, too. Move the two tests in tests/fmt to tests/misc/fmt. * tests/fmt/basic: Move this file to ... * tests/misc/fmt: ...here. Don't rely on $PROG in env. * tests/fmt/long-line: Move this file to ... * tests/misc/fmt-long-line: ...here. * tests/misc/Makefile.am (TESTS): Add fmt. * tests/Makefile.am (SUBDIRS): Remove fmt. * tests/fmt: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/fmt/Makefile Move the sole test in tests/factor to tests/misc/factor. * tests/factor/basic: Move this file to ... * tests/misc/factor: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add factor. * tests/Makefile.am (SUBDIRS): Remove factor. * tests/factor: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/factor/Makefile Move the sole test in tests/expr to tests/misc/expr. * tests/expr/basic: Move this file to ... * tests/misc/expr: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add expr. * tests/Makefile.am (SUBDIRS): Remove expr. * tests/expr: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/expr/Makefile Convert tests/du/*, too. Move the sole test in tests/dircolors to tests/misc/dircolors. * tests/dircolors/simple: Move this file to... * tests/misc/dircolors: ...here. Don't rely on $PROG in env. * tests/misc/Makefile.am (TESTS): Add dircolors. * tests/Makefile.am (SUBDIRS): Remove dircolors. * tests/dircolors: Remove the directory. * configure.ac (AC_CONFIG_FILES): Remove tests/dircolors/Makefile Convert tests/dd/*, too. Convert tests/mv, too. * tests/other-fs-tmpdir: Before, all callers would exit 77 upon failure to find the required dir. Now, exit 77 in this script so callers don't have to. Adjust callers. Adjust chgrp, chmod, chown, cp tests to use test-lib.sh. * tests/check.mk: Also define abs_top_builddir. Parallel "make check" support. * build-aux/check.mk: New file, from The Vaucanson Group. * .x-sc_GPL_version: New file, to allow "version 2 or later" in build-aux/check.mk. * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version. * tests/check.mk: New file. * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh. Begin factoring "sample-test" out of test scripts. * tests/test-lib.sh: New file, to be sourced by all tests that were previously derived from the "sample-test" template. * tests/mkdtemp: New file. * tests/touch/dir-1: Use test-lib.sh. * tests/touch/empty-file: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/fifo: Likewise. * tests/touch/no-create-missing: Likewise. * tests/touch/no-rights: Likewise. Also, don't sleep. * tests/touch/not-owner: Likewise. * tests/touch/obsolescent: Likewise. * tests/touch/read-only: Likewise. * tests/touch/relative: Likewise. * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk, to get the parallel-"make check" bits. Move a slow test into tests/misc. * tests/check.mk: Wrapper. * tests/ls/time-1: Move this file to tests/misc/ls-time. * tests/misc/ls-time: New file. From tests/ls/time-1. * tests/ls/Makefile.am (TESTS): Remove time-1. * tests/misc/Makefile.am (TESTS): Add ls-time. Add support for parallel "make check" (in tests/misc, for now) 2007-09-08 Jim Meyering <jim@meyering.net> Accommodate gnulib's renaming: __fpending.h -> fpending.h. * lib/t-fpending.c: Include "fpending.h", not "__fpending.h". 2007-09-07 Jim Meyering <jim@meyering.net> chmod: don't ignore a dangling symlink * NEWS: Mention the bug fix. * src/chmod.c (process_file): Handle the case of FTS_SLNONE, i.e., give a diagnostic saying we cannot operate on such a file. * tests/chmod/thru-dangling: Compare new stderr output with expected. 2007-09-07 Bob Proulx <bob@proulx.com> Add a test: demonstrate that chmod ignores a dangling symlink * tests/chmod/thru-dangling: New test. Fails. * tests/chmod/Makefile.am (TESTS): Add thru-dangling. 2007-09-05 Jim Meyering <jim@meyering.net> Adapt to new SELinux behavior: "?" vs. new "unlabeled" * src/ls.c (gobble_file): Interpret the new "unlabeled" indicator from getfilecon/lgetfilecon the same way we interpret a negative return value: no security context. So we don't print the "+". * tests/selinux: Recognize that "unlabeled" means insufficient support for SELinux, just like "?". 2007-09-03 Jim Meyering <jim@meyering.net> Invoke $(AUTOCONF) manually, if needed to get an updated version string. * GNUmakefile: Don't actually touch configure.ac. That would make git-version-gen always print "...-dirty". Don't change '-'s to '.'s in the string from git-describe. * build-aux/git-version-gen: Leave '-'s in the string from git-describe. Otherwise, s/-/./g would make it too hard to distinguish the base version number from the appended .DD suffixes. 2007-09-03 Jim Meyering <jim@meyering.net> * README-hacking: Require rsync, rather than wget. 2007-09-02 Jim Meyering <jim@meyering.net> * bootstrap (WGET_COMMAND): Remove code to set this variable. Ensure that $(VERSION) is up to date for dist-related targets. * GNUmakefile: Arrange to rerun autoconf, if the version reported by git-version-gen doesn't match $(VERSION), but only for dist targets. bootstrap: uses rsync to download the .po files * bootstrap (po_download_command_format): New global. (download_po_files): Use rsync. (update_po_files): Don't remove .po files after download, so future rsync runs can take advantage of the copies. 2007-09-01 Jim Meyering <jim@meyering.net> * bootstrap (gnulib_tool): Make sha1sum check quietly. Ensure that snapshot version changes make it to groups, too. * src/Makefile.am (groups): Depend on Makefile. Make groups-version executable, * tests/misc/groups-version: ... as it was in the patch. 2007-08-31 Eric Blake <ebb9@byu.net> Test yesterday's change to groups. * tests/misc/groups-version: New test. * tests/misc/Makefile.am (TESTS): Add groups-version. 2007-08-31 Jim Meyering <jim@meyering.net> Solve the unnecessary-.po-file-regeneration problem once and for all. * bootstrap (download_po_files): New function, renamed from get_translations. Now, downloads, but doesn't update LINGUAS. (update_po_files): New function. 2007-08-30 Jim Meyering <jim@meyering.net> Shorten the snapshot version string by removing the "g". * build-aux/git-version-gen: Remove git-describe's "g" that would always precede the abbreviated SHA1. Suggestion from Dmitry V. Levin. Perform the s,rm,/bin/rm, fix-up properly. No more kludge. * Makefile.am (EXTRA_DIST): Remove .kludge-stamp. (.kludge-stamp): Remove rule. Instead, ... (dist-hook): Do the job here, operating on the file in $(distdir). (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm". (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use. (dist-hook): Remove the legacy-from-cvs install-sh is-executable check. * .gitignore: Remove .kludge-stamp. Make inter-release --version output more useful. Now, each snapshot has a version "number" like 6.9-219-g58ddd, which indicates that it is built using the 219th change set (in _some_ repository) following the "v6.9" tag, and that 58ddd is a prefix of the commit SHA1. * build-aux/git-version-gen: New file. * configure.ac: Run it to set the version. * Makefile.am (dist-hook): Arrange so that .version appears only in distribution tarballs, never in a checked-out repository. * .gitignore: Add .version here, too. Just in case. 2007-08-30 Eric Blake <ebb9@byu.net> * src/.gitignore: Ignore *.exe for platforms with non-empty $(EXEEXT). 2007-08-30 Eric Blake <ebb9@byu.net> Use PACKAGE_NAME instead of GNU_PACKAGE. * src/Makefile.am (.sh, uninstall-local): Adjust all users of hand-rolled GNU_PACKAGE to instead use autoconf-provided PACKAGE_NAME. * src/basename.c (main): Likewise. * src/chroot.c (main): Likewise. * src/dirname.c (main): Likewise. * src/echo.c (main): Likewise. * src/expr.c (main): Likewise. * src/factor.c (main): Likewise. * src/groups.sh (version): Likewise. Also, reflect change in --version output due to GPLv3. * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/link.c (main): Likewise. * src/logname.c (main): Likewise. * src/nice.c (main): Likewise. * src/nohup.c (main): Likewise. * src/printenv.c (main): Likewise. * src/printf.c (main): Likewise. * src/pwd.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/sleep.c (main): Likewise. * src/system.h (case_GETOPT_VERSION_CHAR): Likewise. * src/test.c (main): Likewise. * src/true.c (main): Likewise. * src/unlink.c (main): Likewise. * src/uptime.c (main): Likewise. * src/users.c (main): Likewise. * src/whoami.c (main): Likewise. * src/yes.c (main): Likewise. * configure.ac (AC_CHECK_DECLS): No need to check strtoimax, strtoumax, since gnulib does this. 2007-08-30 Jim Meyering <jim@meyering.net> Ensure that TMPDIR is valid. Otherwise, it would cause test failures. * tests/misc/tty-eof: Set TMPDIR=. * tests/misc/sort-compress: Likewise. Use EXIT_FAILURE, not EXIT_FAIL, now that EXIT_FAILURE is always 1. * src/system.h (EXIT_FAIL): Remove definition. * src/chroot.c (main): EXIT_FAIL -> EXIT_FAILURE. * src/env.c (main): Likewise. * src/nice.c (main): Likewise. * src/su.c (change_identity, main): Likewise. * src/tty.c (main): Likewise. Suggestion from Eric Blake. 2007-08-28 Jim Meyering <jim@meyering.net> * src/test.c (usage): Note that [ honors --help and --version, but that test does not. Suggestion from Dan Jacobson. By default, do not install hostname anymore; no kidding, this time. * src/Makefile.am (EXTRA_PROGRAMS): Remove hostname from this list, now that it's no longer being installed by default. This should have been part of the 2007-08-21 change. (check-duplicate-no-install): New rule to ensure this doesn't happen again. (check): Depend on it. Reflect renaming: mreadlink-with-size -> areadlink-with-size. * bootstrap.conf: Update module name. * src/copy.c (copy_internal): Update header and function names. * src/ls.c (get_link_name): Likewise. * src/readlink.c (main): Likewise. * src/stat.c (print_stat): Likewise. Add file system type names and magic numbers from "man 2 statfs". * src/stat.c (human_fstype): Also handle BEFS, BFS, BINFMT_MISC, FUSECTL, HUGETLBFS, NFSD and OPENPROM. 2007-08-27 Jim Meyering <jim@meyering.net> Add some file system type names and magic numbers from glibc. * src/stat.c (human_fstype): Add any file system names and values present in glibc's linux_fsinfo.h but not in this list. Alphabetize the S_* names and capitalize the hexadecimal constants. 2007-08-26 Jim Meyering <jim@meyering.net> * tests/misc/fold: Fix a typo: missing \ in a diagnostic no one is likely ever to see. 2007-08-25 Jim Meyering <jim@meyering.net> * src/dircolors.hin: Add .dz and .svgz as archive suffixes. Remove all .cvsignore files from version control. 2007-08-24 Jim Meyering <jim@meyering.net> bootstrap: Ignore more. * bootstrap (symlink_to_dir): Add a directory name like uniwidth to e.g., lib/.gitignore. (slurp): Handle the sys_stat_.h -> sys mapping, too. * .hgignore: Remove this file, too. * Makefile.am (EXTRA_DIST): Remove .gitignore and .hgignore. No longer version-control .???ignore files in lib/, m4/, and po/. * .gitignore: Ignore a few files in lib/, m4/, and po/ that are not picked up automatically. * lib/.gitignore, lib/.cvsignore: Remove files. * m4/.gitignore, m4/.cvsignore: Remove files. * po/.gitignore, po/.cvsignore: Remove files. bootstrap: when fetching .po files, do not remove .gmo files. * bootstrap (get_translations): Don't remove *.gmo files! They can be expensive to regenerate. Create .gitignore and/or .cvsignore from scratch, if absent. This is in preparation for my removing those files from version control in the directories managed by gnulib-tool. * bootstrap: New setting: vc_ignore. (insert_sorted_if_absent): Create $file if absent. Adapt to new, possibly empty, list: $vc_ignore. * src/system.h (fseeko, ftello): Remove now-unneeded definitions. * src/od.c (LDBL_DIG): Remove now-unneeded definition. Arrange to use tag names like vM.N, rather than COREUTILS-M_N. * Makefile.maint (this-vc-tag) [git]: Simply use v$(VERSION). (this-vc-tag-regexp): New variable. (vc-tag-check): Use it, rather than $(this-vc-tag). 2007-08-23 Jim Meyering <jim@meyering.net> * src/dircolors.hin: Add xterm-16color, xterm-88color and eterm-color. Suggestion from Dan Nicolaescu. Don't let ln be a party to destroying user data. * src/ln.c: Include "file-set.h", "hash.h" and "hash-triple.h". (dest_set, DEST_INFO_INITIAL_CAPACITY): New globals. (do_link): Refuse to remove a just-created link. Record a name,dev,ino triple for each link we create. (main): Initialize dest_set, if needed. * tests/mv/childproof: Test for the above fix. * NEWS: Document this. Reported by Eric Blake. Move functions from copy.c into new modules, since ln needs them, too. * bootstrap.conf (gnulib_modules): Add file-set. * gl/lib/file-set.c (record_file, seen_file): Functions from copy.c. * gl/lib/file-set.h: Add prototypes. * gl/lib/hash-triple.c (triple_hash, triple_hash_no_name): (triple_compare, triple_free): Functions from copy.c. * gl/lib/hash-triple.h (struct F_triple): Define. From copy.c. Add prototypes. * gl/modules/file-set: New module. * gl/modules/hash-triple: New module. * src/Makefile.am (copy_sources): New variable. (ginstall_SOURCES, cp_SOURCES, mv_SOURCES): Use it. * src/copy.c: Include hash-triple.h. No longer include hash-pjw.h. (copy_internal): Don't pass a NULL third argument to record_file, since that function no longer accepts that. (record_file): Move this function to file-set.c. Along the way, remove the code to allow a NULL stat-buffer pointer. Adjust sole caller. (seen_file): Move this function to file-set.c. (struct F_triple): Move declaration to hash-triple.h. (triple_compare, triple_free, triple_hash, triple_hash_no_name): Move these functions to hash-triple.c. bootstrap: generate more ignorable names * bootstrap (slurp): When generating ignorable names, also map .sin to .sed, .gperf to .c, and .y to .c. * Makefile.maint (patch-check): Don't remove temporaries upon failure. 2007-08-22 Jim Meyering <jim@meyering.net> * src/c99-to-c89.diff: Adjust offsets. Change "rm --verbose -r a//" not to print extra slashes in a///b * src/remove.c (push_dir): Don't copy trailing slashes onto the stack. Reported by François Pinard. * tests/rm/v-slash: New file. Test for the above change. * tests/rm/Makefile.am (TESTS): Add v-slash. * src/date.c: Don't include "getline.h", now removed from gnulib; its declarations are now in <stdio.h>. * src/md5sum.c: Likewise. * src/dircolors.c: Likewise. * src/copy.c (DEST_INFO_INITIAL_CAPACITY): Correct a comment. 2007-08-21 Jim Meyering <jim@meyering.net> By default, do not install hostname anymore. * configure.ac: Add "hostname" to the list of not-installed programs. * src/Makefile.am (no_install__progs): Add "hostname" here, too. * NEWS: Mention this. 2007-08-20 Bob Proulx <bob@proulx.com> Clarify touch documentation of file arguments. * src/touch.c (usage): Improve wording of documentation regarding file argument handling and special handling of - argument. * doc/coreutils.texi (touch invocation): Likewise. Documentation problem reported by Vincent Lefevre. 2007-08-20 Paul Eggert <eggert@cs.ucla.edu> * NEWS: The old cp -p bug affected coreutils releases before 6.0. Problem reported by Soren Spies in <http://lists.gnu.org/archive/html/bug-coreutils/2007-08/msg00106.html>. To be conservative, just say the bug was in all versions through 6.6. 2007-08-19 Eric Blake <ebb9@byu.net> Avoid consuming too much seekable input when yesno is used. * bootstrap.conf (gnulib_modules): Add closein. * src/system.h (includes): Also include closein.h. * src/mv.c (main): Use close_stdin, not close_stdout. * src/cp.c (main): Likewise. * src/ln.c (main): Likewise. * src/rm.c (main): Likewise. * src/install.c (main): Likewise. * NEWS: Document the fix. 2007-08-20 Jim Meyering <jim@meyering.net> Parallel "make check" support. * build-aux/check.mk: New file, from The Vaucanson Group. * .x-sc_GPL_version: New file, to allow "version 2 or later" in build-aux/check.mk. * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version. * tests/check.mk: New file. * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh. Begin factoring "sample-test" out of test scripts. * tests/test-lib.sh: New file, to be sourced by all tests that were previously derived from the "sample-test" template. * tests/mkdtemp: New file. * tests/touch/dir-1: Use test-lib.sh. * tests/touch/empty-file: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/fifo: Likewise. * tests/touch/no-create-missing: Likewise. * tests/touch/no-rights: Likewise. Also, don't sleep. * tests/touch/not-owner: Likewise. * tests/touch/obsolescent: Likewise. * tests/touch/read-only: Likewise. * tests/touch/relative: Likewise. * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk, to get the parallel-"make check" bits. 2007-08-18 Jim Meyering <jim@meyering.net> Use new "idcache.h" header. * src/ls.c: Remove ancient declarations of getuser and getgroup. Include "idcache.h", instead. Run each Coreutils.pm-based test in its own subdirectory. * tests/CuTmpdir.pm: New file. * tests/Makefile.am (EXTRA_DIST): Add CuTmpdir.pm. * tests/misc/od, tests/misc/base64, tests/misc/basename: * tests/misc/cut, tests/misc/date, tests/misc/dirname: * tests/misc/expand, tests/misc/fold, tests/misc/head-elide-tail: * tests/misc/paste-no-nl, tests/misc/pr, tests/misc/sha224sum: * tests/misc/sha256sum, tests/misc/sha384sum, tests/misc/sha512sum: * tests/misc/sort-merge, tests/misc/stat-printf, tests/misc/test-diag: * tests/misc/wc-files0-from, tests/misc/xstrtol: * tests/dd/skip-seek, tests/dircolors/simple, tests/du/files0-from: * tests/expr/basic, tests/factor/basic, tests/fmt/basic: * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1: * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec: * tests/sum/basic-1, tests/tsort/basic-1, tests/unexpand/basic-1: * tests/mv/i-1, tests/rm/empty-name, tests/rm/unreadable: Use it. * tests/misc/test-diag: Use "$ENV{abs_top_builddir}/src/test", not "../../src/test", so it works when run from a subdirectory. * tests/ls-2/tests: Create temp files and dirs from within the perl script, so that they're removed, when run from a subdirectory. * tests/ls-2/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir, so we can use "$ENV{abs_top_builddir}/src/test" in a test script. 2007-08-16 Jim Meyering <jim@meyering.net> Consolidate od tests. * tests/misc/od: Perform od-zero-len's test here. Include boilerplate code, so tests run in a subdirectory. * tests/misc/od-zero-len: Remove this file. * tests/ls/time-1: Include sample-test boilerplate code. Remove the then-unnecessary, hard-coded envvar "unset" commands. 2007-08-15 Jim Meyering <jim@meyering.net> Move a slow test into tests/misc. * tests/ls/time-1: Move this file to tests/misc/ls-time. * tests/misc/ls-time: New file. From tests/ls/time-1. * tests/ls/Makefile.am (TESTS): Remove time-1. * tests/misc/Makefile.am (TESTS): Add ls-time. od --skip (-j) works even on files in /proc, when the kernel lies * src/od.c (skip): Don't let kernel misinformation (nonempty files in /proc with stat.st_size == 0) make "od -j N" misbehave. Patch by Paul Eggert. * NEWS: Document this work-around. * tests/misc/od-zero-len: New file, test for the above. * src/printf.c (usage): Adjust summary to also mention OPTIONs. From Karl Berry. 2007-08-14 Jim Meyering <jim@meyering.net> od: fix a bug that arises when skipping exact length of file * NEWS: Document the bug fix. * src/od.c (skip): Call fseek even when n_skip is exactly the same as the length of the current file. Otherwise, the next iteration would use unadjusted input stream pointer, thus ignoring the desired "skip". Report and patch by Paul GHALEB. * tests/misc/od: New file, test for the above. * tests/misc/Makefile.am (TESTS): Add od. 2007-08-10 Paul Eggert <eggert@cs.ucla.edu> Accommodate more xstrtol changes. * src/df.c (long_options): Don't bother prepending "--" to long options that OPT_STR might decode, as that hack is no longer needed. (main): Invoke xstrtol_fatal rather than STRTOL_FATAL_ERROR. * src/du.c (long_options, main): Likewise. * src/ls.c (decode_switches): Likewise. * src/od.c (long_options, main): Likewise. * src/pr.c (first_last_page, main): Likewise. * src/sort.c (long_options, specify_sort_size): Likewise. * src/pr.c (first_last_page): Accept option index and option char instead of an assembled option string. All callers changed. * src/sort.c (specify_sort_size): Likewise. * src/system.h (OPT_STR, LONG_OPT_STR, short_opt_str, OPT_STR_INIT): Remove. 2007-08-05 Jim Meyering <jim@meyering.net> Encapsulate a static variable. * src/system.h (opt_str_storage): Move static var into... (short_opt_str): ... new static inline function. (OPT_STR): Use the new function. 2007-08-04 Jim Meyering <jim@meyering.net> Exercise xstrtol's diagnostics via pr's --pages option. * tests/misc/xstrtol: New file. * tests/misc/Makefile.am (TESTS): Add xstrtol. 2007-08-04 Paul Eggert <eggert@cs.ucla.edu> Adapt to new human and xstrtol API. * src/df.c (long_options): Prepend "--" to long options that OPT_STR might decode. * src/du.c (long_options): Likewise. * src/od.c (long_options): Likewise. * src/sort.c (long_options): Likewise. * src/df.c (main): Adjust to new human and xstrtol API. * src/du.c (main): Likewise. * src/ls.c (decode_switches): Likewise. * src/od.c (main): Likewise. * src/pr.c (first_last_page): Likewise. New argument OPTION. All callers changed. * src/sort.c (specify_sort_size): New arg OPTION. All callers changed. Adjust to new xstrtol API. * src/system.h (opt_str_storage): New static var. (OPT_STR, LONG_OPT_STR, OPT_STR_INIT): New macros. 2007-08-02 Jim Meyering <jim@meyering.net> Adjust one more test to accommodate the recent fts change. This matters only on systems with insufficient openat support. * tests/du/inacc-dest: Adjust expected diagnostic. Adjust the other two "no-x" tests and unify all three. * tests/du/no-x: Factor out du-specific bits. * tests/chmod/no-x: Use the same code. * tests/chgrp/no-x: Use the same code. Adapt du's no-x test not to fail on older Linux systems. * tests/du/no-x: Accept a third variant of the diagnostic. 2007-07-31 Jim Meyering <jim@meyering.net> du: print size (probably incomplete) of each inaccessible directory * src/du.c (process_file): Print what we know of the size of a directory even when it is inaccessible. What we print is just the size of the directory itself, not counting any of its contents. * tests/du/inacc-dir: Test for this. * NEWS: Mention this change. Add a test for du not counting size of inaccessible directories. * tests/du/inacc-dir: New file. Test for fts.c bug fixed yesterday. * tests/du/Makefile.am (TESTS): Add inacc-dir. * NEWS: Mention the bug fix. 2007-07-28 Jim Meyering <jim@meyering.net> Attempt to copy a regular file, even if stat says it is empty. * NEWS: Document this bug fix. * src/copy.c (copy_reg): Read from a regular file, even if it appears (stat.st_size == 0) to be empty. This reverts an optimization introduced on 2005-11-23 for coreutils-6.0. Otherwise, "cp /proc/cpuinfo /tmp" creates an empty file, on e.g., linux-2.6.20. * tests/cp/proc-zero-len: New file. Test for the above. * tests/cp/Makefile.am (TESTS): Add proc-zero-len. Reported by Dan Berrangé. 2007-07-26 Bob Proulx <bob@proulx.com> sort: Improve sort --random-sort test. * tests/misc/sort-rand: If "locale" is available pick a random non-C locale and check "sort --random-sort" behavior using it. 2007-07-24 Jim Meyering <jim@meyering.net> sort: add a test to exercise the affected code. * tests/sort/Test.pm (realloc-buf): Exercise the code that changed yesterday. No other test in all of "make check" does this. * NEWS: Mention the fix. 2007-07-23 Paul Eggert <eggert@cs.ucla.edu> sort: avoid unaligned access. * src/sort.c (fillbuf): When enlarging the line buffer, ensure that the new size is a multiple of "sizeof (struct line)". This avoids alignment problems when indexing from the end of the buffer. Problem reported by Andreas Schwab in <http://lists.gnu.org/archive/html/bug-coreutils/2007-07/msg00158.html>. 2007-07-23 Jim Meyering <jim@meyering.net> Update all copyright notices to use the newer form (e.g., remove the postal address, and add the 'licenses' URL). * COPYING: Update to Version 3. Update c99/c89 patch for new, copyright-change-induced offsets. * Makefile.maint (patch-check): Filter out '^Only in...' lines. * src/c99-to-c89.diff: Handle new c99'isms in seq.c. 2007-07-22 Jim Meyering <jim@meyering.net> * configure.ac: Arrange to rerun configure whenever src/Makefile.am changes. That file contains the list of program names that must be substituted into files like man/Makefile. Add quotes around AC_SUBST arguments. 2007-07-21 Paul Eggert <eggert@cs.ucla.edu> * bootstrap (slurp): Work even in environments where "ls" defaults to "ls -A". Put in a FIXME, though, since the current code does not slurp files whose names start with ".", and this looks like it might be a troublesome area. 2007-07-20 Jim Meyering <jim@meyering.net> Document and add a test for today's sort bug fix. * NEWS: Describe the bug fix. * tests/sort/Test.pm (obs-inval): Add a test for today's fix. 2007-07-20 Andreas Schwab <schwab@suse.de> * src/sort.c (main): Don't free a pointer to non-malloc'd memory. 2007-07-19 Jim Meyering <jim@meyering.net> Fix a portability bug in the new ls-color test. * tests/ls/stat-free-symlinks: Don't rely on the ability of a built-in printf to interpolate '\e'. Use '\033' instead. 2007-07-18 Jim Meyering <jim@meyering.net> "cp -i --update older newer" no longer prompts; same for mv * src/copy.c (copy_internal): Perform "update" check before the possible interactive prompt. Reported by zeno_AT_biyg_DOT_org in <http://bugzilla.redhat.com/248591> * tests/mv/update: Add tests for the above. * NEWS: Mention the bug fix. 2007-07-15 Jim Meyering <jim@meyering.net> ls --color: Don't stat symlinks when neither ORPHAN nor MISSING attribute has a color. * src/ls.c (main): Don't set check_symlink_color when C_EXEC is colored, unless ln=target (aka color_symlink_as_referent) is set. (gobble_file): Set f->linkok = true also when !check_symlink_color. http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927 Reported by Jeremy Maitin-Shepard. * tests/strace: New file, contents extracted from... * tests/mv/atomic: ...here. Source strace. * tests/ls/stat-free-symlinks: New file. Test for the above. Use strace to ensure that in this corner case, ls does not call stat. * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks. * tests/Makefile.am (EXTRA_DIST): Add strace. 2007-07-14 Jim Meyering <jim@meyering.net> Remove long-deprecated options. * NEWS: Mention this. * src/df.c, src/ls.c: Remove --kilobytes option. * src/du.c: Remove --kilobytes and --megabytes options. * src/who.c: Remove -i and --idle options. * src/ptx.c: Remove --copyright option. Change interface: make 2nd param _space_-separated, not comma-separated * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Remove now- unnecessary use of tr. Improve comments. * configure.ac: Adjust caller, as well as the code that ensures the 2nd parameter stays in sync with the list in src/Makefile.am. 2007-07-14 Karel Zak <kzak@redhat.com> * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix typo: s/$2/$1/. (gl_INCLUDE_EXCLUDE_PROG): Quote first use of $2 parameter. Don't mix comma- and space-separated lists. Patch from Karel Zak. 2007-07-13 Jim Meyering <jim@meyering.net> Warn about non-portable use of unescaped backslash at end of string, and treat it as if it were escaped. * src/tr.c (unquote): Considering that such usage would make GNU tr from coreutils-5.2.1 and earlier *fail*, the least we can do now is to warn about it. Solaris' tr ignores it. * NEWS: Mention this. Use proper backslash-quoting inside backticks. * configure.ac: Otherwise we run afoul of strict GNU tr: a string ending in a lone backslash would provoke a failure. 2007-07-12 Jim Meyering <jim@meyering.net> Expand default-no-install prog list in ./configure --help output, and fix some []-quoting bugs in sed expressions. * configure.ac: Hard-code the list, "arch,su" here as well as in src/Makefile.am, and ensure the two stay in sync. * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Use $2, rather than the nearly-equivalent shell variable. Karel Zak reported that ./configure --help's output included the literal string, $gl_no_install_progs_default. Clean up include-exclude-prog.m4. * m4/include-exclude-prog.m4 (gl_ADD_PROG): Don't modify MAN. (gl_REMOVE_PROG): Likewise. Add omitted "\>" in sed regexp. Remove any leading or trailing spaces. (gl_ADD_PROG): Remove any leading space. * configure.ac: Instead, derive $MAN from $optional_bin_progs. Append $(EXEEXT) to *all* names, not just the first one. 2007-07-11 Jim Meyering <jim@meyering.net> If there's a GPL vN copyright comment, require that N == 3. * Makefile.maint (sc_GPL_version): New rule. * tests/misc/arch: Fix the sole violation. 2007-07-10 Jim Meyering <jim@meyering.net> Skip "arch" test if it's not built. * tests/misc/Makefile.am (built_programs): Define. (TESTS_ENVIRONMENT): Add $(built_programs), for... * tests/misc/arch: ...this: skip the test if arch is not built. * src/Makefile.am (built_programs.list): New rule. * tests/Makefile.am (built_programs): Rename from all_programs. (TESTS_ENVIRONMENT): Use built_programs, not all_programs. * tests/help-version: Likewise. * NEWS: Mention that using --enable-no-install-program=X may cause "make check" to fail. Add support for enabling/disabling installation of specified programs. * NEWS: Mention new configure-time options. Mention that neither arch nor su is built/installed, by default. * m4/include-exclude-prog.m4: New file. * configure.ac: Use new macro, gl_ADD_PROG, rather than manually appending to OPTIONAL_BIN_PROGS and MAN. Move the code that adds "df" to the list of programs to build from m4/jm-macros into this file. Use gl_INCLUDE_EXCLUDE_PROG, then handle special cases: ginstall, [. (NO_INSTALL_PROGS_DEFAULT): AC_SUBST it. Used by man/Makefile.am. * man/Makefile.am (dist_man_MANS): Remove from this list all man pages corresponding to "bin" programs. Add $(MAN) instead. (optional_mans): Remove all uses. (check-x-vs-1): Adapt to work even though arch and su are typically no longer built (and neither are their .1 files). * src/Makefile.am (install_su): Rename from INSTALL_SU, now that INSTALL_SU has a different meaning. Use the new $(INSTALL_SU) value. 2007-07-10 Karel Zak <kzak@redhat.com> New program: arch * NEWS: Mention arch. * README: Add arch to the list of programs. * AUTHORS: Add arch. * src/uname.c: Include "uname.h". (PROGRAM_NAME): Handle arch, too. (ARCH_AUTHORS): Define. (uname_long_options, arch_long_options): Renamed and new globals. (usage): Handle arch-mode as well as uname-mode. (decode_switches): New function, extracted from main, to handle arch-mode as well as uname-mode. (main): Handle both modes. * src/uname-arch.c: New program, alias for "uname -m". * src/uname-uname.c: New file, default uname mode. * src/uname.h: New file, uname modes. * src/Makefile.am (EXTRA_PROGRAMS): Add arch. (uname_SOURCES, arch_SOURCES): Define. * man/arch.x: New file. * man/Makefile.am (dist_man_MANS): Add arch.1. (arch.1): New dependency. * tests/misc/arch: New test, compare "arch" with "uname -m" * configure.ac (OPTIONAL_BIN_PROGS): Add arch. (MAN): Add arch.1. * .x-sc_require_config_h: Exempt uname-arch.c and uname-uname.c from the always-include-<config.h> rule. 2007-07-10 Jim Meyering <jim@meyering.net> Change "version 2" to "version 3" in all copyright notices. 2007-07-09 Jim Meyering <jim@meyering.net> Compensate for new c99'isms in seq.c. * Makefile.maint (patch-check): Use -p1, not -p2, so a patch generated via "make patch-check REGEN=1" actually works. * src/c99-to-c89.diff: Handle new c99'isms in seq.c. 2007-07-09 Pádraig Brady <P@draigBrady.com> Fix the automatic number width formatting in seq. * src/seq.c: Fix the -w logic. Ignore spaces and '+' characters of input numbers when determining width. Set format correctly for input numbers in scientific notation. * tests/seq/basic: Add various number width tests. Details: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10903> 2007-07-08 Jim Meyering <jim@meyering.net> Run the coreutils-specific code only if tests/Makefile.am.in exists. * bootstrap (mam_template): Move definition out of loop. Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*. * bootstrap (symlink_to_dir): Rename function from symlink_to_gnulib. Add a directory parameter. Update all callers. (cp_mark_as_generated): Also check for -- and link to -- files in gl/. * THANKS: Add Pádraig Brady. 2007-07-08 Jim Meyering <jim@meyering.net> Adapt to deeper hierarchy in gnulib. * bootstrap (symlink_to_dir): If the destination directory doesn't exist, create it. This is required at least for "lib/uniwidth/cjk.h". Use <wchar.h>, not "wcwidth.h". * src/wc.c: Now that gnulib provides the POSIX-specified <wchar.h>, include it and <wctype.h>, rather than "wcwidth.h". * src/ls.c: Include <wchar.h>, rather than "wcwidth.h". 2007-07-05 Jim Meyering <jim@meyering.net> setuidgid: set all groups, not just the primary one. I wanted to use the xgetgroups function from id.c, so factored it out and made it into a non-exiting function (hence the "m" prefix rather than "x"). * src/setuidgid.c (main): Use mgetgroups. Include "mgetgroups.h". * src/id.c (xgetgroups): Remove function. Include "mgetgroups.h". (print_group_list): Use mgetgroups, not xgetgroups. * gl/modules/mgetgroups: New module. * gl/lib/mgetgroups.c: New file. mgetgroups is derived from id.c's xgetgroups function. * bootstrap.conf (gnulib_modules): Add mgetgroups. * gl/m4/mgetgroups.m4: New file. * gl/lib/mgetgroups.h: New file. * bootstrap: Merge in changes from gnulib. * src/id.c: Include "getugroups.h" rather than declaring manually. 2007-07-04 Paul Eggert <eggert@cs.ucla.edu> * NEWS: pr -F no longer suppresses the footer or the first two blank lines in the header. * doc/coreutils.texi (pr invocation): Likewise. Also, a too-short page length implies -t, not -T. * src/pr.c (lines_per_header, lines_per_footer): Now constants. (init_parameters): Don't try to change them. (print_header): Use the same header and footer format regardless of wither form feeds are being used. (usage): Adjust to above change when describing too-short page length. Too-short page length impliesy -t, not -T. * tests/pr/2-S_f-t_notab: Adjust to the fact that -F now affects only formfeed handling; it does not change the header. * tests/pr/2-Sf-t_notab: Likewise. * tests/pr/2f-t_notab: Likewise. * tests/pr/2s_f-t_notab: Likewise. * tests/pr/2s_w60f-t_nota: Likewise. * tests/pr/2sf-t_notab: Likewise. * tests/pr/2sw60f-t_notab: Likewise. * tests/pr/2w60f-t_notab: Likewise. * tests/pr/3a3f-0F: Likewise. * tests/pr/3b3f-0F: Likewise. * tests/pr/3b3f-0FF: Likewise. * tests/pr/3b3f-FF: Likewise. * tests/pr/3f-0F: Likewise. * tests/pr/3f-FF: Likewise. * tests/pr/Test.pm: Likewise. * tests/pr/a3f-0F: Likewise. * tests/pr/a3f-0FF: Likewise. * tests/pr/a3f-FF: Likewise. * tests/pr/b3f-0F: Likewise. * tests/pr/b3f-0FF: Likewise. * tests/pr/b3f-FF: Likewise. * tests/pr/3-5l17f-t: Remove, since it's been renamed to another file whose name has a line count 7 larger, reflecting the new line count needed for this behavior. * tests/pr/3a3l8f-t: Likewise. * tests/pr/3b3l8f-t: Likewise. * tests/pr/3l17f-t: Likewise. * tests/pr/3ml17f-t: Likewise. * tests/pr/Ja3l17f-lm: Likewise. * tests/pr/Jb3l17f-lm: Likewise. * tests/pr/Jml17f-lm-lo: Likewise. * tests/pr/W-72l17f-ll: Likewise. * tests/pr/W20l17f-ll: Likewise. * tests/pr/W26l17f-ll: Likewise. * tests/pr/W27l17f-ll: Likewise. * tests/pr/W28l17f-ll: Likewise. * tests/pr/W35Ja3l17f-lm: Likewise. * tests/pr/W35Jb3l17f-lm: Likewise. * tests/pr/W35Jml17f-lmlo: Likewise. * tests/pr/W35a3l17f-lm: Likewise. * tests/pr/W35b3l17f-lm: Likewise. * tests/pr/W35ml17f-lm-lo: Likewise. * tests/pr/W72Jl17f-ll: Likewise. * tests/pr/a3l17f-lm: Likewise. * tests/pr/a3l8f-t: Likewise. * tests/pr/b3l17f-lm: Likewise. * tests/pr/b3l8f-t: Likewise. * tests/pr/l17f-t: Likewise. * tests/pr/ml17f-0F: Likewise. * tests/pr/ml17f-lm-lo: Likewise. * tests/pr/ml17f-t: Likewise. * tests/pr/ml17f-t-0F: Likewise. * tests/pr/n+2-5l17f-0FF: Likewise. * tests/pr/n+2l17f-0FF: Likewise. * tests/pr/n+2l17f-bl: Likewise. * tests/pr/n+3l17f-0FF: Likewise. * tests/pr/n+3l17f-bl: Likewise. * tests/pr/n+3ml13f-bl-FF: Likewise. * tests/pr/n+3ml17f-bl-tn: Likewise. * tests/pr/n+3ml17f-tn-bl: Likewise. * tests/pr/n+4b2l10f-0FF: Likewise. * tests/pr/n+5-8b3l10f-FF: Likewise. * tests/pr/n+5a3l6f-0FF: Likewise. * tests/pr/n+6b3l6f-FF: Likewise. * tests/pr/nJml17f-lmlmlo: Likewise. * tests/pr/nJml17f-lmlolm: Likewise. * tests/pr/nN1+3l17f-bl: Likewise. * tests/pr/nN15l17f-bl: Likewise. * tests/pr/nSml13-bl-FF: Likewise. * tests/pr/nSml13-t-t-FF: Likewise. * tests/pr/nSml13-t-tFFFF: Likewise. * tests/pr/nSml17-bl-FF: Likewise. * tests/pr/nSml17-t-t-FF: Likewise. * tests/pr/nSml17-t-tFFFF: Likewise. * tests/pr/nl17f-bl: Likewise. * tests/pr/o3Jml17f-lm-lo: Likewise. * tests/pr/o3a3Sl17f-tn: Likewise. * tests/pr/o3a3Snl17f-tn: Likewise. * tests/pr/o3a3l17f-tn: Likewise. * tests/pr/o3b3Sl17f-tn: Likewise. * tests/pr/o3b3Snl17f-tn: Likewise. * tests/pr/o3b3l17f-tn: Likewise. * tests/pr/o3mSl17f-bl-tn: Likewise. * tests/pr/o3mSnl17fbltn: Likewise. * tests/pr/o3ml17f-bl-tn: Likewise. * tests/pr/w72l17f-ll: Likewise. * tests/pr/3-5l24f-t: New file, containing the contents of the file with the same name but with the line count smaller by 7, reflecting the new behavior with -F. * tests/pr/3a3l15f-t: Likewise. * tests/pr/3b3l15f-t: Likewise. * tests/pr/3l24f-t: Likewise. * tests/pr/3ml24f-t: Likewise. * tests/pr/Ja3l24f-lm: Likewise. * tests/pr/Jb3l24f-lm: Likewise. * tests/pr/Jml24f-lm-lo: Likewise. * tests/pr/W-72l24f-ll: Likewise. * tests/pr/W20l24f-ll: Likewise. * tests/pr/W26l24f-ll: Likewise. * tests/pr/W27l24f-ll: Likewise. * tests/pr/W28l24f-ll: Likewise. * tests/pr/W35Ja3l24f-lm: Likewise. * tests/pr/W35Jb3l24f-lm: Likewise. * tests/pr/W35Jml24f-lmlo: Likewise. * tests/pr/W35a3l24f-lm: Likewise. * tests/pr/W35b3l24f-lm: Likewise. * tests/pr/W35ml24f-lm-lo: Likewise. * tests/pr/W72Jl24f-ll: Likewise. * tests/pr/a3l15f-t: Likewise. * tests/pr/a3l24f-lm: Likewise. * tests/pr/b3l15f-t: Likewise. * tests/pr/b3l24f-lm: Likewise. * tests/pr/l24f-t: Likewise. * tests/pr/ml24f-0F: Likewise. * tests/pr/ml24f-lm-lo: Likewise. * tests/pr/ml24f-t: Likewise. * tests/pr/ml24f-t-0F: Likewise. * tests/pr/n+2-5l24f-0FF: Likewise. * tests/pr/n+2l24f-0FF: Likewise. * tests/pr/n+2l24f-bl: Likewise. * tests/pr/n+3l24f-0FF: Likewise. * tests/pr/n+3l24f-bl: Likewise. * tests/pr/n+3ml20f-bl-FF: Likewise. * tests/pr/n+3ml24f-bl-tn: Likewise. * tests/pr/n+3ml24f-tn-bl: Likewise. * tests/pr/n+4b2l17f-0FF: Likewise. * tests/pr/n+5-8b3l17f-FF: Likewise. * tests/pr/n+5a3l13f-0FF: Likewise. * tests/pr/n+6b3l13f-FF: Likewise. * tests/pr/nJml24f-lmlmlo: Likewise. * tests/pr/nJml24f-lmlolm: Likewise. * tests/pr/nN1+3l24f-bl: Likewise. * tests/pr/nN15l24f-bl: Likewise. * tests/pr/nSml20-bl-FF: Likewise. * tests/pr/nSml20-t-t-FF: Likewise. * tests/pr/nSml20-t-tFFFF: Likewise. * tests/pr/nSml24-bl-FF: Likewise. * tests/pr/nSml24-t-t-FF: Likewise. * tests/pr/nSml24-t-tFFFF: Likewise. * tests/pr/nl24f-bl: Likewise. * tests/pr/o3Jml24f-lm-lo: Likewise. * tests/pr/o3a3Sl24f-tn: Likewise. * tests/pr/o3a3Snl24f-tn: Likewise. * tests/pr/o3a3l24f-tn: Likewise. * tests/pr/o3b3Sl24f-tn: Likewise. * tests/pr/o3b3Snl24f-tn: Likewise. * tests/pr/o3b3l24f-tn: Likewise. * tests/pr/o3mSl24f-bl-tn: Likewise. * tests/pr/o3mSnl24fbltn: Likewise. * tests/pr/o3ml24f-bl-tn: Likewise. * tests/pr/w72l24f-ll: Likewise. 2007-06-23 Jim Meyering <jim@meyering.net> Prefer "STREQ (a, b)" over "strcmp (a, b) == 0"; similar for != 0. * src/base64.c (main): Likewise. * src/install.c (setdefaultfilecon): Likewise. * src/sort.c (main): Likewise. * Makefile.maint (sc_prohibit_strcmp): New rule. * .x-sc_prohibit_strcmp: New file, to list the few exceptions. * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp. 2007-06-22 Paul Eggert <eggert@cs.ucla.edu> * NEWS: seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003" by omitting the last output number. * doc/coreutils.texi (seq invocation): Remove advice about workaround for seq off-by-one problem, since the bug is fixed now. Replace it with more-generic advice about rounding errors. * src/seq.c (long_double_format, print_numbers): New arg NUMERIC_FORMAT. All uses changed. 2007-06-22 Pádraig Brady <P@draigBrady.com> (trivial change) * tests/seq/basic: Add test cases for seq off-by-one problem. 2007-06-22 Jim Meyering <jim@meyering.net> * src/stat.c (long_options): Add a FIXME comment to help ensure that the deprecated and undocumented "--filesystem" option is removed someday. 2007-06-18 Paul Eggert <eggert@cs.ucla.edu> A few more symlink-related fixes. Fix a bug triggered by cp --parents and symlinks. Close some race conditions possible when the destination replaces a newly-created file with a symlink. * NEWS: Document that 'cp --parents' no longer mishandles symlinks in file name components of source. * src/copy.c (HAVE_LCHOWN): Default to false. (lchown) [!defined HAVE_LCHOWN]: Define to chown, for convenience. * src/cp.c (lchown) [!HAVE_LCHOWN]: Likewise. * src/install.c (lchown [!HAVE_LCHOWN]: Likewise. * src/copy.c (set_owner): Use lchown instead of chown, for safety in case the file got replaced by a symlink in the meantime. * src/cp.c (re_protect): Likewise. * src/install.c (change_attributes): Likewise. * src/copy.c (copy_internal): Use ordinary C rather than an #if. * src/cp.c (lchown) [!HAVE_LCHOWN]: Define to chown, for convenience. (struct dir_attr): Cache the entire struct stat of the directory, rather than just its mode, so that we needn't stat the directory twice (which can lead to races). (re_protect): Don't use XSTAT as that's not appropriate in this context (symlinks should be followed here). Instead, use the cached stat value. (make_dir_parents_private): Save dir's entire struct stat, not just its mode. * tests/cp/cp-parents: Add test to check against bug with cp --parents and symlinks. 2007-06-18 Jim Meyering <jim@meyering.net> Use mreadlink_with_size (doesn't exit), not xreadlink_with_size. * bootstrap.conf (gnulib_modules): Add readlink-with-size. Remove xreadlink and xreadlink-with-size. * src/copy.c (copy_internal): Use mreadlink_with_size, not xreadlink_with_size. * src/ls.c (get_link_name): Likewise. * src/readlink.c (main): Likewise. * src/stat.c (print_stat): Likewise. * README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out. 2007-06-16 Jim Meyering <jim@meyering.net> Make chgrp and chown diagnostics consistent. * src/chown.c (main): Emit the diagnostic before the file name, not after it, to be consistent with chgrp's diagnostic. * src/chgrp.c (parse_group): Emit a ":" between the diagnostic and the file name. Reported by Egmont Koblinger. * THANKS: Add Egmont Koblinger. 2007-06-15 Paul Eggert <eggert@cs.ucla.edu> Correct cp's handling of destination symlinks in some cases. * NEWS: "cp" no longer considers a destination symlink to be the same as the referenced file when copying links or making backups. * src/copy.c (copy_reg): When following a symlink, use the followed name in later chown etc. requests, so that the created file is affected, rather than the symlink. Use O_NOFOLLOW on source when not dereferencing symlinks; this avoids a race. Preserve errno correctly when doing multiple open attempts on the destination. (copy_internal): Follow destination symlinks only when copying a regular file and only when we don't intend to remove or rename the destination first, regardless of whether following source symlinks; this is because since POSIX and tradition (e.g., FreeBSD) say we should ordinarily follow destination symlinks if the system calls would ordinarily do so. * src/copy.h (struct cp_options): Add comment that 'dereference' is only for source files. * src/cp.c (usage): Note that --derereference etc. are only for source files. (make_dir_parents_private): Follow symlinks, regardless of whether --dereference is specified, because these are destination symlinks. * tests/cp/same-file: Adjust tests to match revised behavior. Filter out perror output since it might vary from host to host. Use sed alone instead of also using echo. * doc/coreutils.texi (cp invocation): Document the behavior better when the destination is a symlink. Clarify source versus destination symlinks. Describe the new behavior for destination symlinks. 2007-06-15 Jim Meyering <jim@meyering.net> * src/copy.c: Include "canonicalize.h". (copy_reg): Use canonicalize_filename_mode to follow the symlink, so that we can always open with O_EXCL and avoid a race. 2007-06-15 Jim Meyering <jim@meyering.net> Don't include "quote.h" when it is not used. * src/md5sum.c: Remove unnecessary inclusion of "quote.h". * src/expr.c: Likewise. * src/shred.c: Likewise. * Makefile.maint (sc_prohibit_quote_without_use): New rule. * src/c99-to-c89.diff: Adjust offsets. 2007-06-14 Paul Eggert <eggert@cs.ucla.edu> Clarify what "cat" documentation means by "blank" lines. * doc/coreutils.texi (cat invocation): "Blank" lines actually mean empty lines. * src/cat.c (usage): Say that "nonblank" means nonempty. Clarify --squeeze-blank. 2007-06-13 Jim Meyering <jim@meyering.net> rmdir: give better diagnostics * src/rmdir.c (remove_parents): Give a more descriptive/consistent diagnostic upon failure. (main): Likewise. Suggestion from Joey Hess. * THANKS: Add Joey Hess. Don't include "quotearg.h" when it is not used. * Makefile.maint (sc_prohibit_quotearg_without_use): New rule. * src/cp.c: Don't include "quotearg.h". It wasn't used. * README-hacking: List Gperf as a build-requirement, too. Reported by Steve Ward. 2007-06-11 Jim Meyering <jim@meyering.net> * README: Mention README-hacking, for whose who start from cloned/checked-out sources rather than from a distribution tarball. Reported by Steve Ward. * THANKS: Add Steve Ward. 2007-06-10 Jim Meyering <jim@meyering.net> bug-fix: cp would fail to write through a dangling symlink * NEWS: Mention the bug fix. * src/copy.c (copy_reg): When open fails with EEXIST, the destination is lstat'able, and a symlink, call open again, but now without O_EXCL. * tests/cp/thru-dangling: New file, to test for the above fix. * tests/cp/Makefile.am (TESTS): Add thru-dangling. * THANKS: Add Michael McLagan. Bug report from Michael McLagan in <http://bugzilla.redhat.com/243588>. 2007-06-04 Paul Eggert <eggert@cs.ucla.edu> * doc/coreutils.texi (Common options): Mention that -h and --human-readable are equivalent to --block-size=human-readable. Documentation problem reported by Steve Ward in <http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00007.html>. (du invocation): Use optSi rather than duplicating the macro's contents (incorrectly, since we claimed a "B" was output). 2007-05-31 Jim Meyering <jim@meyering.net> Pull printf-related code from gnulib, rather than using forked copy. * bootstrap.conf (gnulib_modules): Don't avoid size_max and xsize modules. While I dislike xsize-style overflow avoidance, maintaining a forked version of e.g., vasnprintf.c was too much work. 2007-05-29 Jim Meyering <jim@meyering.net> * src/dircolors.hin: Add screen-256color. Suggested by sdl.web@gmail.com in <http://bugzilla.redhat.com/239266>. 2007-05-26 Jim Meyering <jim@meyering.net> * TODO: Add an entry for comm --output-delimiter=STR 2007-05-25 James Youngman <jay@gnu.org> wc: ignore multibyte-character decoding errors * src/wc.c (wc): Don't issue an error message when mbrtowc indicates that we have seen an invalid byte sequence. This makes "wc /bin/sh" bearable (though the word and line counts are likely not to be useful). * NEWS: Mention the change. 2007-05-22 Jim Meyering <jim@meyering.net> Check for an up-to-date copyright year in coreutils.texi. * Makefile.maint (copyright-check): Also check for an up-to-date copyright year in doc/$().texi, if that file exists. * doc/coreutils.texi: Add 2007 to list of Copyright years. Reported by Karl Berry. cut: diagnose a range starting with 0 (-f 0-2) as invalid, and give a better diagnostic for a field-number/offset of 0. * NEWS: Mention the fix. * src/cut.c (ADD_RANGE_PAIR): Add an explicit check. Based on a patch from James Youngman. * tests/misc/cut: Add tests for the above. "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-" Also, diagnose the '-' in "cut -f -" as an invalid range, rather than interpreting it as the unlimited range, "1-". * NEWS: Mention these changes. * src/cut.c (set_fields): Don't interpret an accumulator "value" of 0 as an unspecified range endpoint. Give better diagnostics. Adjust a comment so that it is true also for 64-bit size_t. * tests/cut/Test.pm: Add tests for the above. stty: fix a harmless syntax nit * src/stty.c (visible): Use ";" as the statement terminator between two assignments, not ",". (integer_arg): Join an unnecessarily wrapped line. 2007-05-20 Jim Meyering <jim@meyering.net> stty: diagnose an invalid hex value in 35-colon command-line argument * NEWS: Mention this. * src/stty.c (strtoul_tcflag_t, strtoul_cc_t): New functions. (recover_mode): Use those functions (not sscanf), to parse the string robustly. * tests/stty/invalid: New file. Test for the above. * tests/stty/Makefile.am (TESTS): Add invalid. * .x-sc_prohibit_atoi_atof: Don't exempt stty.c from this check. Add tests/stty/invalid so we don't have to obfuscate the comment about sscanf therein. * Makefile.maint (sc_prohibit_atoi_atof): Mention sscanf in the diagnostic, too. * TODO: Remove some now-completed or no longer relevant items. 2007-05-19 Jim Meyering <jim@meyering.net> Rename uses of futimens -> gl_futimens; glibc now declares the former. * src/copy.c (copy_reg): Reflect renaming: futimens -> gl_futimens. * src/touch.c (touch): Likewise. 2007-05-18 Jim Meyering <jim@meyering.net> * Makefile.maint (my-distcheck): Remove -pedantic from $(CFLAGS) for now, to avoid c89-check failure due to use of #include_next. 2007-05-15 Jim Meyering <jim@meyering.net> Generate a dozen test-related Makefile.am files at bootstrap-time. * README-hacking: Build-from-checkout now require Perl, too. * bootstrap: Now that these generated Makefile.am files are no longer under version control, they must be created at bootstrap time. 2007-05-14 Paul Eggert <eggert@cs.ucla.edu> * man/chmod.x: Document chmod's behavior with setuid and setgid bits. Remove misleading implication about leading zero. Problem reported by Jan Engelhardt in <http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00134.html>. 2007-05-13 Jim Meyering <jim@meyering.net> Remove the generated tests/*/Makefile.am files from version control. * tests/cut/Makefile.am: git-remove this generated file. * tests/head/Makefile.am: Likewise. * tests/join/Makefile.am: Likewise. * tests/pr/Makefile.am: Likewise. * tests/sort/Makefile.am: Likewise. * tests/tac/Makefile.am: Likewise. * tests/tail/Makefile.am: Likewise. * tests/test/Makefile.am: Likewise. * tests/tr/Makefile.am: Likewise. * tests/uniq/Makefile.am: Likewise. * tests/wc/Makefile.am: Likewise. * .cvsignore, .gitignore: Ignore these generated files. * src/.cvsignore, src/.gitignore: Add chcon here, ... * .cvsignore, .gitignore: ... not here. Test uniq's new --zero-terminated (-z) option. * tests/uniq/Test.pm: When possible, create a "-z"-testing variant of each existing test. (2z, 3z, 4z, 5z, 20z, 122, 123): New tests from James Youngman. 2007-05-12 James Youngman <jay@gnu.org> Add -z option to uniq. Originally proposed by Egmont Koblinger. * NEWS: Mention uniq's new option: --zero-terminated (-z). * src/uniq.c: Add new option, --zero-terminated (-z), to make uniq use the NUL byte as separator/delimiter rather than newline. (check_file): Add a parameter: delimiter. Update caller. Use readlinebuffer_delim in place of readlinebuffer everywhere. (main): Handle the new option. (usage): Describe new option the same way sort does. * doc/coreutils.texi (uniq invocation): Describe the new option. 2007-05-07 Jim Meyering <jim@meyering.net> * NEWS: Mention that last week's tr bug dates back to 1992. 2007-05-04 Jim Meyering <jim@meyering.net> Avoid test failure when run with an unusual umask. * tests/ls/color-dtype-dir: Set umask to 022. Suggestion from AIDA Shinra. Avoid failure of root-only test when run with a restrictive umask. * tests/rm/no-give-up: Ensure that non-root can access "d/" through root-owned ".". Reported by AIDA Shinra. tr -c: don't abort when translating with S2 larger than complement of S1 * src/tr.c (main): Remove invalid assertion triggered by e.g., tr -c a '[b*256]'. There's nothing wrong with having Set2 larger than Set1. Reported by Guntram Blohm. * tests/tr/Test.pm (no-abort-1): Test for the above. * NEWS: Mention this bug fix. * THANKS: Add Guntram Blohm. 2007-05-03 Jim Meyering <jim@meyering.net> Avoid test failure when run with a permissive umask. * tests/rm/no-give-up: Set permissions of test directory properly, i.e., not depending on umask prohibiting go=w. Reported by AIDA Shinra. 2007-05-02 Paul Eggert <eggert@cs.ucla.edu> The following commands and options now support the standard size suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y: head -c, head -n, od -j, od -N, od -S, split -b, split -C, tail -c, tail -n. * doc/coreutils.texi (od invocation, head invocation, tail invocation): Document support for new size suffixes. (head invocation, tail invocation): Document that -n uses the same suffixes as -c. (tail invocation): More-clearly document what leading "+" does. * src/head.c (usage, string_to_integer): Support new suffixes. * src/od.c (usage, main): Likewise. * src/split.c (usage, main): Likewise. * src/tail.c (usage, parse_options): Likewise. Prompted by a patch from Evan Hunt. 2007-05-02 Jim Meyering <jim@meyering.net> * src/du.c (usage): Tweak description of --dereference-args (-D) again. Prompted by another request for clarification from Justin Pryzby. Invoke rm via 'setuidgid ... env PATH="$PATH" ...', as in fail-eperm. * tests/rm/fail-2eperm: Patch from AIDA Shinra. Reported by Peter Dyballa. * THANKS: Add AIDA Shinra and Peter Dyballa. 2007-04-28 Paul Eggert <eggert@cs.ucla.edu> * src/nohup.c (usage): Describe how standard input and output are redirected. 2007-04-25 Jim Meyering <jim@meyering.net> * src/du.c (usage): Clarify description of --dereference-args (-D). Prompted by a report from Justin Pryzby. * bootstrap.conf (gnulib_modules): Add fseeko and ftello. (gnulib_modules): Add autobuild. 2007-04-24 Jim Meyering <jim@meyering.net> * THANKS: Add Andreas Frische. * NEWS: Mention today's ls --color fix. * tests/ls-2/tests (sl-dangle): Add a test for today's fix. 2007-04-24 Eric Blake <ebb9@byu.net> ls --color once again colors dangling symlinks correctly * src/ls.c (gobble_file): Much like the 2007-04-07 fix, add a term to the expression that decides whether we need stat and/or lstat calls. Reported by Andreas Frische. 2007-04-16 Jim Meyering <jim@meyering.net> * src/cut.c (usage): Adjust synopsis to show that an OPTION is required. Reported by Rudolf Kastl. * THANKS: Add Rudolf Kastl. 2007-04-11 Paul Eggert <eggert@cs.ucla.edu> split --line-bytes=N (-C N): don't create an empty file. * src/split.c (line_bytes_split): Don't create an empty line afterwards if the last buffer happens to be exactly full. * tests/misc/split-fail: Add a test case for this. * NEWS: mention this. 2007-04-10 Jim Meyering <jim@meyering.net> ls: don't form or compute the length of strings that won't be used. * src/ls.c (gobble_file): Form and compute length of strings for block size, owner, group, author, major+minor numbers and file size only if they'll actually be used. I.e., don't form most of them when not producing long format output. 2007-04-07 Jim Meyering <jim@meyering.net> Add a test for, and document, today's fix. * NEWS: Mention today's ls --color fix. * tests/ls-2/tests (sl-target): Add a test for today's fix. * THANKS: Add Kirk Kelsey. 2007-04-07 Eric Blake <ebb9@byu.net> Fix a bug in how the LS_COLORS ln=target attribute is handled. * src/ls.c (gobble_file): Use "stat" (not lstat) also when the ln=target attribute applies. Reported by Kirk Kelsey. 2007-04-02 Jim Meyering <jim@meyering.net> * src/copy.c (copy_reg): Initialize local "con", before calling getfscreatecon, in case that function (or its inline stub) does not set it. 2007-04-01 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (print_horizontal): Fix bug reported by Mike Frysinger: ls -x DIR would sometimes output the wrong string in place of the first entry. * NEWS: Mention the bug fix. * tests/ls/x-option: New file. * tests/ls/Makefile.am (TESTS): Add x-option. gnulib moved md5 and sha1 modules into a new crypt/ directory; adapt * bootstrap.conf (gnulib_modules): Adjust to gnulib's renaming of md5 to crypt/md5 and sha1 to crypt/sha1. 2007-03-30 Jim Meyering <jim@meyering.net> * NEWS: Mention these SELinux changes. * ChangeLog-selinux: Remove file. Move its contents into this file, removing old dates. * src/runcon.c (main): Don't reorder arguments. Reported by Ulrich Drepper in <http://bugzilla.redhat.com/232652>. * tests/misc/runcon-no-reorder: New file. Test for the above. * tests/misc/Makefile.am (TESTS): Add runcon-no-reorder. * src/runcon.c (main): Remove "." at end of a diagnostic. * src/runcon.c: New program. * src/Makefile.am (bin_PROGRAMS): Add runcon. (runcon_LDADD): Define. * README: Add runcon to the list of programs. * AUTHORS: Add this: runcon: Russell Coker * tests/help-version: Add runcon as an exception. * man/Makefile.am (dist_man_MANS): Add runcon.1. (runcon.1): New dependency. mkfifo, mknod: Accept new "-Z, --context=C" option. * src/mkfifo.c, src/mknod.c: Include <selinux/selinux.h>. (main): Honor it. * src/Makefile.am (mkfifo_LDADD, mknod_LDADD): Use $(LIB_SELINUX). mkdir: Accept new "-Z, --context=C" option. * src/mkdir.c: Include <selinux/selinux.h>. (main): Honor it. * src/Makefile.am (mkdir_LDADD): Use $(LIB_SELINUX). * tests/cp/cp-a-selinux: New file. Test for the bug reported in <http://bugzilla.redhat.com/219900>. * tests/cp/Makefile.am (TESTS): Add cp-a-selinux. * tests/selinux: New file. * tests/Makefile.am (EXTRA_DIST): Add selinux. * tests/misc/selinux: Source the new script, rather than open coding it. Change how "cp -a" and "cp --preserve=context" work with SELinux. Now, cp -a attempts to preserve context, but failure to do so does not change cp's exit status. However "cp --preserve=context" is similar, but failure *does* cause cp to exit with nonzero status. * src/copy.h (struct cp_options) [require_preserve_context]: New member. * src/copy.c (copy_reg, copy_internal): Implement the above. * src/mv.c (cp_option_init): Initialize the new member. * src/install.c (cp_option_init): Likewise. * src/cp.c (cp_option_init): Likewise. (decode_preserve_arg): Set it or reset it. cp, mv, install: add SELinux support, but unlike with the Red Hat patch, mv and cp do not provide the "-Z context" option. * src/copy.c: Include <selinux/selinux.h>. (restore_default_fscreatecon): New function. (copy_reg): Make cp --preserve=context work for existing destination. (copy_internal): Likewise for new destinations. * src/copy.h (cp_options) [preserve_security_context]: New member. * src/cp.c: Include <selinux/selinux.h>. (selinux_enabled): New global. (usage): Mention new --preserve=context option. (PRESERVE_CONTEXT): Define/use. (decode_preserve_arg): Handle PRESERVE_CONTEXT. (main): Remove an obsolete comment. If --preserve=context is specified on a system without SELinux enabled, give a diagnostic and fail. * src/mv.c: Include <selinux/selinux.h>. Set x->preserve_security_context if SELinux is enabled. * src/install.c: Accept new "-Z, --context=C" option. Accept --preserve-context option (but not -P option). Accept alternate spelling: --preserve_context, for now. Include <selinux/selinux.h> and "quotearg.h". (selinux_enabled, use_default_selinux_context): New globals. (PRESERVE_CONTEXT_OPTION): Define. (cp_option_init): Default: do not preserve security context. (setdefaultfilecon): New function. (main): Honor new options. * src/Makefile.am (mv_LDADD, cp_LDADD, ginstall_LDADD): Add $(LIB_SELINUX). * src/system.h (GETOPT_SELINUX_CONTEXT_OPTION_DECL): Define. * tests/misc/selinux [VERBOSE]: Print version info for each of the tested tools, not just ls. * src/c99-to-c89.diff: Remove the ls.c patch, now that I've temporarily removed the offending c99'ism. * src/chcon.c (usage): Split a string literal that was longer than 509. * src/ls.c (gobble_file): Don't call getfilecon unless print_scontext. Upon failed getfilecon, accept not just ENOTSUP, but also ENODATA. * src/c99-to-c89.diff: Adjust offsets. * AUTHORS: Add chcon. * src/c99-to-c89.diff: Remove trailing blanks. * src/chcon.c: Don't include "dirname.h". system.h already includes it. * gl/lib/selinux-at.c: Remove a use of HAVE_CONFIG_H. * src/c99-to-c89.diff: Handle a new c99'ism in ls.c. * src/id.c (main): Tweak id -Z diagnostic. id: Add SELinux support: -Z option. * src/id.c (main): Apply patches from Fedora, with these changes: Remove #ifdef WITH_SELINUX. Use error (EXIT_FAILURE, not fprintf+exit(1). * src/Makefile.am (id_LDADD): Define, so as to add $(LIB_SELINUX). stat: Add support for SELinux in the form of a %C format directive. * src/stat.c (follow_links): Make this variable file-global. (out_file_context): New function. (print_statfs): Honor %C. (print_stat): Honor %C. (do_stat): Remove follow_links parameter. (usage): Document the two %C directives. (main): Accept -Z (though it's a no-op). * src/Makefile.am (stat_LDADD): Define. ls: Add support for SELinux and a slightly modified -Z option. I started with the patches from Red Hat. The entries below tell how the code evolved. * src/ls.c (print_long_format, print_file_name_and_frills): When there is no security context (due to getfilecon/lgetfilecon failing with e.g. ENOTSUP), print it as "?", not "". * src/ls.c (print_file_name_and_frills): Make -Z work without -l. (length_of_file_name_and_frills): Likewise. * src/ls.c: Remove the --lcontext and --scontext options. Change the way -Z, --context work so that it no longer implies -l. Thus, -Z -l will work like -lcontext and -Z without -l will work like --scontext. Adjust tests to reflect new 'ls -l' syntax -- affects only systems with SELinux when operating on a file with no ACL. These tests assumed that everything before the first space on each line is the 10-byte mode string. But there may also be a "+" in the 11th column, just before the space. However, note that this is not new. The same thing would have happened even without the change below, when listing a file with an ACL. * tests/chmod/equals, tests/cp/cp-parents, tests/cp/fail-perm: * tests/cp/link-preserve, tests/install/basic-1, tests/misc/mknod: * tests/mkdir/parents, tests/mkdir/special-1, tests/mv/partition-perm: Don't make compilation depend on USE_ACL. An SELinux security context counts as an "alternate access control method", so ls must output a "+" for each file with a security context. * src/ls.c [struct fileinfo] (have_acl): Declare unconditionally. (FILE_HAS_ACL): Remove macro definition. Use f->have_acl directly. (gobble_file): Record whether a file has a security context, and update the condition used to determine whether to print the "+". (gobble_file): Call getfilecon/lgetfilecon also when format == long_format, so that we get the "+". * src/ls.c (gobble_file): Add a comment explaining why (with a security context option) ls doesn't exit nonzero due to e.g., getfilecon failing with errno == ENOTSUP. * src/ls.c (gobble_file): Ignore failure of getfilecon if it's due to ENOTSUP. * src/ls.c (gobble_file): Factor out three small blocks using getfilecon and lgetfilecon. Don't ignore return value from getfilecon and lgetfilecon. * src/ls.c (print_long_format): Don't use ?: (empty 2nd arg with C ternary operator). (print_scontext_format): Likewise. (print_scontext): Declare to be "bool", not int. Adjust uses. * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_SELINUX). * tests/misc/chcon: New file. * tests/misc/chcon-fail: New file. * tests/Makefile.am (check-root): Run new, root-only misc/chcon test. * tests/misc/Makefile.am (TESTS): Add chcon and chcon-fail. * tests/misc/Makefile.am (TESTS): Add selinux. * tests/misc/selinux: New file. * tests/help-version: Skip chcon. * man/chcon.x: New file. * man/Makefile.am: Build chcon.1. New program: chcon * gl/modules/selinux-at: New module. Check for libselinux and set LIB_SELINUX here, unconditionally, rather than depending on the configure-time --enable-selinux option. * gl/modules/selinux-h: New module. * bootstrap.conf (gnulib_modules): Add selinux-at. * gl/lib/selinux-at.c, gl/lib/selinux-at.h: New files. * gl/lib/se-selinux_.h: New file. * gl/lib/se-context_.h: New file. * gl/m4/selinux-selinux-h.m4: New file. * gl/m4/selinux-context-h.m4: New file. * src/Makefile.am (bin_PROGRAMS): Add chcon. (chcon_LDADD): Define. * README: Add chcon to the list of programs. * src/chcon.c: Rewrite the original (Red Hat) chcon to use fts. 2007-03-29 Jim Meyering <jim@meyering.net> * .vg-suppressions: Add libc-getpwuid-leak. 2007-03-28 Jim Meyering <jim@meyering.net> Help translators include translation team's web or email address. * src/system.h (emit_bug_reporting_address): New function. * src/base64.c: Use it rather than a literal printf. * src/basename.c, src/cat.c, src/chgrp.c, src/chmod.c: * src/chown.c, src/chroot.c, src/cksum.c, src/comm.c, src/cp.c: * src/csplit.c, src/cut.c, src/date.c, src/dd.c, src/df.c: * src/dircolors.c, src/dirname.c, src/du.c, src/echo.c, src/env.c: * src/expand.c, src/expr.c, src/factor.c, src/fmt.c, src/fold.c: * src/head.c, src/hostid.c, src/hostname.c, src/id.c, src/install.c: * src/join.c, src/kill.c, src/link.c, src/ln.c, src/logname.c: * src/ls.c, src/md5sum.c, src/mkdir.c, src/mkfifo.c, src/mknod.c: * src/mv.c, src/nice.c, src/nl.c, src/nohup.c, src/od.c: * src/paste.c, src/pathchk.c, src/pinky.c, src/pr.c, src/printenv.c: * src/printf.c, src/ptx.c, src/pwd.c, src/readlink.c, src/rm.c: * src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, src/shuf.c: * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c: * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac.c: * src/tail.c, src/tee.c, src/test.c, src/touch.c, src/tr.c: * src/true.c, src/tsort.c, src/tty.c, src/uname.c, src/unexpand.c: * src/uniq.c, src/unlink.c, src/uptime.c, src/users.c, src/wc.c: * src/who.c, src/whoami.c, src/yes.c: Likewise. * src/stty.c: Don't include "vasprintf.h", now that its declarations are guaranteed to be in gnulib's stdio.h. * src/who.c: Likewise. 2007-03-27 Jim Meyering <jim@meyering.net> * README: Use "install", not "ginstall" in the list of program names. * src/Makefile.am (check-README): Substitute s/ginstall/install/. 2007-03-25 Jim Meyering <jim@meyering.net> * src/c99-to-c89.diff: Regenerate. 2007-03-25 Paul Eggert <eggert@cs.ucla.edu> Avoid the need for euidaccess and/or lstat on every directory entry with 'rm -r dir' (without -f), if we are root, or if we are removing a directory tree that is full of symbolic links. * bootstrap.conf (gnulib_modules): Add write-any-file. * src/copy.c: Include write-any-file.h. (UNWRITABLE): Remove macro, replacing with.... (writable_destination): New function, which uses can_write_any_file to avoid the need for euidaccess when we are privileged. (overwrite_prompt, abandon_move): Use it. * src/remove.c: Include write-any-file.h. (D_TYPE): New macro. (DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]: New macros. (write_protected_non_symlink): Don't bother to stat if we can write any file. (prompt): New arg PDIRENT_TYPE. All callers changed. Use readdir dirent type to avoid the need for 'lstat' on each directory entry in cases like 'rm -r dir', if we are root, or if the tree is full of symbolic links. (DT_IS_KNOWN, DT_MUST_BE): Remove. (remove_entry): New arg DIRENT_TYPE_ARG. All callers changed. 2007-03-24 Jim Meyering <jim@meyering.net> If strace malfunctions, skip the test rather than failing it. * tests/mv/atomic: Required on a mips-unknown-linux-gnu system running the aging linux-2.4.27-mipscvs-20040814. 2007-03-23 Paul Eggert <eggert@cs.ucla.edu> * src/pathchk.c: Don't include euidaccess.h, as we don't call euidaccess. 2007-03-23 Jim Meyering <jim@meyering.net> * README-package-renamed-to-coreutils: Add a URL for the FAQ, and a couple more archive links. 2007-03-22 Jim Meyering <jim@meyering.net> Post-release version change. * NEWS: Add a line for 6.9+. * configure.ac (AC_INIT): Set new version string. Version 6.9. * NEWS: Record release date and new version number. * configure.ac (AC_INIT): New version number. * tests/mv/hard-3: Correct the preceding change: $3 -> $2. 2007-03-22 Paul Eggert <eggert@cs.ucla.edu> Improve a test script. * tests/mv/hard-3: Check for 'ls' failure, too. Generate more-useful debugging output when 'ls' fails. 2007-03-21 Jim Meyering <jim@meyering.net> Fix a test script not to claim an ext2 file system is of type xfs. * tests/du/slink: When using df --local and df --type=TYPE, test only the exit code. Don't bother with stdout. Prompted by a report by Thomas Schwinge of an inaccurate diagnostic. * gl/lib/savewd.c: Remove this file, since the savewd_save change is now in gnulib. The other wasn't useful. 2007-03-20 Jim Meyering <jim@meyering.net> * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it. Skip part of this test when "." is not a local file system. * tests/install/basic-1: Otherwise, it would fail on some NFS file systems. * tests/mkdir/p-3: Likewise. 2007-03-19 Paul Eggert <eggert@cs.ucla.edu> * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_ACL_TRIVIAL). 2007-03-18 Jim Meyering <jim@meyering.net> Fix a generic NFS-related test failure. * tests/mkdir/p-3: When setting up an unreadable "." in an inaccessible parent, make the parent inaccessible *after* making "." unreadable. Otherwise, running "chmod a-r ." in an already- inaccessible parent would fail on NFS with "Stale NFS file handle". Fix a bug in how pr -m -s works. * NEWS: Describe how the fix affects pr. * src/pr.c (init_parameters): The --merge (-m) option does not imply --expand-tabs (-e), so don't set "untabify_input". Reported by Wis Macomson. * tests/misc/pr: New file. Test for the above fix. * tests/misc/Makefile.am (TESTS): Add pr. * THANKS: Update. 2007-03-17 Jim Meyering <jim@meyering.net> Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted. * bootstrap: Put ""s around use of $build_aux, in case someone uses a name containing shell meta-characters. Reported by Alfred M. Szmidt. * tests/misc/tty-eof: Add shuf to the list of tested commands. Avoid test failure on NFS-mounted Solaris ZFS file system. * tests/du/basic: Skip a test if "." is on a non-local file system. Avoid an obscure build failure, prefer waitpid over wait. * src/install.c (strip): Use waitpid, not wait. It's equivalent, but feels less obsolescent. * bootstrap: Don't use \> in grep regexp. For HP-UX. 2007-03-16 Jim Meyering <jim@meyering.net> Begin adding support for Solaris ZFS (4 entries per trivial ACL) * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. (file_has_acl, copy_acl): Use it, rather than enumerating errno values. (is_trivial_acl): New function. Incomplete, for now. (file_has_acl, copy_acl): Use the new function, rather than counting the number of entries in an ACL. * bootstrap: Update from gnulib. * .x-sc_prohibit_atoi_atof: Add TODO here, too. 2007-03-16 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c: Include filemode.h. (overwrite_prompt): Say "try to overwrite", not "overwrite", to make it clearer that the attempt may fail. Problem reported by Dan Jacobson in: http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html Output symbolic mode as well as numeric. * tests/mv/i-2 (fail): Adjust to new prompt format. 2007-03-15 Jim Meyering <jim@meyering.net> Enforce policy: don't use *scanf functions. * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic. * .x-sc_prohibit_atoi_atof: Give stty a temporary pass. * TODO: note that stty.c needs this small clean-up. 2007-03-13 Jim Meyering <jim@meyering.net> Prepare to work on ACL-related failure when using Solaris ZFS. * gl/lib/acl.c: New file, copied from gnulib. Work around a failing test due to an NFS-based race condition. * tests/cp/sparse: Accept a report that the copy is *smaller*. 2007-03-12 Jim Meyering <jim@meyering.net> Make bootstrap.conf a tiny bit more generic. * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4 files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac. 2007-03-10 Jim Meyering <jim@meyering.net> Try to fix today's NFS-related failure: Treat ESTALE like EACCES. * gl/lib/savewd.c: Copy this file from gnulib, then change "errno != EACCES" to (errno != EACCES && errno != ESTALE). The symptom was this failure in tests/install/basic-1: ginstall: cannot create directory `rel/a': Stale NFS file handle The preceding change solved part of the problem. Now ginstall fails. * tests/install/basic-1: Temporarily, don't redirect ginstall's stderr to /dev/null, so I can see why the NFS autobuilder's NFS test is failing. * tests/install/basic-1: When setting up an unreadable "." in an inaccessible parent, make the parent inaccessible *after* making "." unreadable. Otherwise, running "chmod a-r ." in an already- inaccessible parent would fail on NFS with "Stale NFS file handle". Reported by Bob Proulx. * Makefile.maint (po-check): Exclude c99-to-c89.diff. 2007-03-09 Jim Meyering <jim@meyering.net> Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9) * tests/chgrp/basic: Don't let failure by chgrp to set the group of a symlink make this test fail. Do give a diagnostic. In the chgrp-no-change-ctime test, add darwin7.9.0 as another known-failing system. When failing on some other system, print $host_triplet, too. Also avoid test failures on Darwin 8.8.x (MacOS X 10.4). Reported by Peter Fales. 2007-03-08 Jim Meyering <jim@meyering.net> * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets. 2007-03-08 Paul Eggert <eggert@cs.ucla.edu> rm without -f: give a better diagnostic when euidaccess fails. * src/remove.c (write_protected_non_symlink): Return int, not bool, so that we can indicate failure too (as a positive error number). (prompt): If write_protected_non_symlink fails, report that error number and fail rather than charging ahead and removing the dubious entry. Redo the logic of printing a diagnostic so that we need to invoke quote (full_filename (...)) only once. More details at: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996> 2007-03-08 Jim Meyering <jim@meyering.net> Generalize a few more cvs-isms. * bootstrap (checkout_only_file): Rename from CVS_only_file. Change comments and diagnostics not to say "CVS". * bootstrap: Run libtool, if necessary. Make bootstrap a little more general. * bootstrap (build_aux): Factor out/use this definition. Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac. (insert_sorted_if_absent): Move function definition "up", to precede new first use. If $build_aux/ doesn't exist initially, create it, and mark it as ignored. 2007-03-03 Andrew Church <achurch@achurch.org> (tiny change) Paul Eggert <eggert@cs.ucla.edu> Fix a bug: cp -x would fail to set mount point permissions. * NEWS: mention cp -x bug fix * src/copy.c (copy_internal): Don't return immediately after copying a mount point that we do not intend to recurse under. Based on a patch by Andrew Church. 2007-03-03 Jim Meyering <jim@meyering.net> pwd-unreadable-parent: Skip test on ia64/Linux, too. * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD. Reported by Bob Proulx. 2007-03-02 Jim Meyering <jim@meyering.net> pwd-unreadable-parent: Skip test on non-Linux/GNU systems. * tests/misc/pwd-unreadable-parent: Rather than trying to decide whether this test has a chance of succeeding, run it only when $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0 * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os). * tests/misc/pwd-long: Also allow "+" in $PWD. Remove another coreutils-ism. Formatting cleanup. * Makefile.maint (my-distcheck): Update an outdated comment. (emit_upload_commands): Use $(PACKAGE) rather than "coreutils". (my-distcheck): Skip the c99/c89 check if there's no such .diff file. 2007-03-01 Jim Meyering <jim@meyering.net> * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O". (my-distcheck): Use the new variable, instead of too-long literal. Make "make syntax-check" rules less coreutils-specific. * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT. (sc_cast_of_alloca_return_value): Likewise. (sc_root_tests): Do nothing if there is no check-root target in tests/Makefile.am. Run the writable-files check only for release-building targets. * Makefile.maint (local-checks-available): Remove writable-files. (alpha beta major): Put it here, instead. "make syntax-check" now runs only Makefile.cfg-selected tests * Makefile.maint (syntax-check-rules): Hoist this definition so that it precedes the indirect use in the definition of $(local-check). (local-check): Use :=, not just "=". (syntax-check): Depend on $(local-check), not $(syntax-check-rules). 2007-02-28 Bruno Haible <bruno@clisp.org> * bootstrap.conf (gnulib_modules): Replace xreadlink with xreadlink-with-size. Add xreadlink. * src/copy.c (copy_internal): Update. * src/ls.c (is_directory): Update. * src/stat.c (print_stat): Update. * src/readlink.c (main): Use the one-argument xreadlink function. 2007-02-28 Paul Eggert <eggert@cs.ucla.edu> * doc/coreutils.texi (Common options): --si outputs "M", not "MB". Problem reported by Philip Rowlands in <http://lists.gnu.org/archive/html/bug-coreutils/2007-02/msg00283.html>. 2007-02-28 Jim Meyering <jim@meyering.net> * .x-sc_file_system: Add the new test, tests/misc/df-P, to this list of exceptions, for the "make distcheck" sc_file_system rule. * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition. 2007-02-27 Paul Eggert <eggert@cs.ucla.edu> Make df -P immune to effects of e.g., the BLOCK_SIZE envvar. * NEWS: With -P, the default block size and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE. * src/df.c (main): Implement this. 2007-02-27 Jim Meyering <jim@meyering.net> Add a test for the above. * tests/misc/df-P: New file. * tests/misc/Makefile.am (TESTS): Add df-P. 2007-02-25 Jim Meyering <jim@meyering.net> * Makefile.maint (announcement): Adjust so that it works with announce-gen's --gnulib-snapshot-time-stamp option. Indent one of the command lines using TAB, not 8 spaces. Post-release version change. * NEWS: Add a line for 6.8+. * configure.ac (AC_INIT): Set new version string. 2007-02-24 Jim Meyering <jim@meyering.net> Version 6.8. * NEWS: Record release date and new version number. * configure.ac (AC_INIT): New version number. Don't skip this test on new-enough Linux/GNU systems. * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0, rather than for __GETCWD_PREFIX in config.h (the latter is no longer defined, ever, due to gnulib changes). * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD. Remove the "gnits" option; it prohibits my using "+" as a version string suffix, and all it does (beyond the default "gnu" option) is to _require_ the THANKS file. * configure.ac (AM_INIT_AUTOMAKE): Remove it. Remove all AUTOMAKE_OPTIONS settings in Makefile.am files. * tests/chgrp/Makefile.am, tests/chmod/Makefile.am: * tests/chown/Makefile.am, tests/cp/Makefile.am: * tests/du/Makefile.am, tests/expr/Makefile.am: * tests/factor/Makefile.am, tests/general/Makefile.am: * tests/install/Makefile.am, tests/ln/Makefile.am: * tests/ls/Makefile.am, tests/mkdir/Makefile.am: * tests/mv/Makefile.am, tests/readlink/Makefile.am: * tests/rm/Makefile.am, tests/rmdir/Makefile.am: * tests/seq/Makefile.am, tests/stty/Makefile.am: * tests/tee/Makefile.am, tests/touch/Makefile.am: * README: Document the OSF/1 4.0d build failure and work-around. Reported by Bruno Haible. * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty". Nicer connotations. * configure.ac: Use 6.7+, not 6.7-dirty. 2007-02-24 Paul Eggert <eggert@cs.ucla.edu> * NEWS: sort no longer compresses temporaries by default. * bootstrap.conf: Remove findprog. * doc/coreutils.texi (sort invocation): The default is to not compress. Don't treat "" specially. * src/sort.c: Don't include findprog.h. (create_temp): Compress only if the user specified --compress-program. * tests/misc/sort-compress: Adjusts tests to match new behavior. 2007-02-24 Jim Meyering <jim@meyering.net> Avoid a shell syntax error, when building with an inadequate Perl. * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since it can expand to "/.../missing perl". * man/Makefile.am (.x.1): Warn when unable to update a man page. Suggestion from Bruno Haible. 2007-02-23 Bruno Haible <bruno@clisp.org> Handle better the combination of old Perl and a pre-c99 compiler. * man/Makefile.am (.x.1): If the autoconf test has determined that perl is missing or not a sufficient version, do nothing. * tests/readlink/can-e: Put the closing double-quote at the end of a backquoted word, not in the middle. Works around a bug in sh on OSF/1 4.0d. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/du/slink: Skip the test if executing on an nfsv3 file system. This avoids a test failure at least on OSF/1 4.0d. 2007-02-23 Jim Meyering <jim@meyering.net> * src/date.c (usage): Split a diagnostic that had grown to be longer than the C89 maximum of 509 bytes. 2007-02-23 Ed Santiago <ed@edsantiago.com> * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T', for a separator. Include sample RFC 2822 and 3339 output. 2007-02-23 Jim Meyering <jim@meyering.net> With -Dlint, make shuf free all heap-allocated storage. * src/shuf.c (main): Move declaration of input_lines to function scope, and initialize to NULL, so we can free it. [lint]: Free all malloc'd memory. * tests/misc/shuf: Also test shuf's -e and -i options. 2007-02-22 Jim Meyering <jim@meyering.net> Merge in a change from some other incarnation of this file (gzip?) * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir. Adjust preceding change not to perform an unaligned access. * src/copy.c (copy_reg): Undo previous change. Instead, make it clearer that we're using a single-byte sentinel, and [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel. Reported by Andreas Schwab. Placate valgrind, wrt ./cp --sparse=always * src/copy.c (copy_reg): Place the sentinel by setting a full word's worth of bits, not just a single byte's worth. This avoids a harmless (but distracting) case of memory being used-uninitialized. 2007-02-21 Paul Eggert <eggert@cs.ucla.edu> Honor dd's noatime flag if possible, even if not supported on build fs * doc/coreutils.texi (dd invocation): Warn that noatime might not be reliable. * src/dd.c (flags, usage): Look at O_NOATIME, not HAVE_WORKING_O_NOATIME, to decide whether to support the noatime flag, so that dd attempts O_NOATIME even if the build file system does not support it. Problem reported by Jim Meyering today in bug-coreutils. * tests/dd/misc: Generate a warning, not a failure, if noatime exists but fails. 2007-02-21 Jim Meyering <jim@meyering.net> * tests/misc/date: Remove vestigial use of Data::Dumper. 2007-02-20 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning about out-of-range initializer with Sun C 5.8. 2007-02-20 Jim Meyering <jim@meyering.net> * bootstrap (CVS_only_file): Use README-hacking. Now that we use GIT, not cvs, rename README-cvs. * README-hacking: Renamed from... Update to reflect that we now use git. * README-cvs: ...this. * src/env.c (main): When invoked with no arguments (i.e. when printing the environment), use a local variable to iterate through the global "environ" array, rather than "environ" itself. This is solely to avoid changing the environment for an LD_PRELOAD-substituted "puts" or "exit" function. Tiny patch by Harvey Eneman. See <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>. * THANKS: Update. * bootstrap: Move definitions of temporary directory names and the new bt_regex "up" to precede all uses, so it's clearer what their scope is. Also, use [.], rather than \\., since the former works even if eval'd. * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile. Based on the bison 2007-02-19 change by Joel E. Denny. 2007-02-19 Paul Eggert <eggert@cs.ucla.edu> * NEWS: sort now uses a --compress-program option rather than an environment variable. * doc/coreutils.texi (sort invocation): Document this. * src/sort.c (usage): Likewise. (COMPRESS_PROGRAM_OPTION): New const. (long_options, create_temp, main): Support new option. * tests/misc/sort-compress: Test it. 2007-02-19 Jim Meyering <jim@meyering.net> * bootstrap: Fix typo s/dowloading/downloading/ in --help output. 2007-02-18 Jim Meyering <jim@meyering.net> * src/system.h: Don't include exit.h, now that it's subsumed by the gnulib-generated stdlib.h. * tests/rm/fail-eacces: Skip this test when running as root. Reported by Matthew Woehlke. * bootstrap: Use "._bootmp" as the temporary directory name, not ".#bootmp". The latter's "#" caused trouble with the new, gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line. 2007-02-14 Paul Eggert <eggert@cs.ucla.edu> * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase. * src/dircolors.c: Include c-strcase.h. (dc_parse_stream): Use c_strcasecmp rather than strcasecmp to avoid unreliable results in locales like Turkish where strcasecmp is incompatible with the C locale. 2007-02-13 Jim Meyering <jim@meyering.net> Also check for and print stderr output, in case a program fails. * tests/misc/tty-eof: Occasionally (not reproducible), this test would fail, with one or more programs exiting nonzero, e.g., tty-eof: sha224sum exited with status 1 (expected 0) Now, maybe we'll get a clue, the next time that happens. 2007-02-12 Jim Meyering <jim@meyering.net> * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script. * tests/misc/pwd-unreadable-parent: Skip the test if we're definitely using the replacement. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER. 2007-02-10 Jim Meyering <jim@meyering.net> Remove excess leading spaces that would make help2man misbehave. * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc. * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc. * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc. * src/date.c (usage): Use two spaces after each optional flag, not one. Reported by Thomas Huriaux in <http://bugs.debian.org/410407>. * Makefile.maint (longopt_re): Relax the regexp, making square brackets optional, so it matches the newly reported violations, too. * src/csplit.c (usage): Use two spaces (not one) to separate each option string from its description, so help2man formats the derived man page properly. Reported by Thomas Huriaux in <http://bugs.debian.org/410407>. * src/df.c (usage): Likewise. * src/du.c (usage): Likewise. * src/install.c (usage): Likewise. * src/ls.c (usage): Likewise. 2007-02-03 Jim Meyering <jim@meyering.net> Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink * NEWS: Mention the bug fix. * tests/misc/pwd-unreadable-parent: New file. * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent. 2007-02-02 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document fix for cp --preserve=mode. * src/copy.c (copy_internal): Omit the group- or other-writeable permissions when creating a directory, to avoid a race condition if the special mode bits aren't right just after the directory is created. * src/cp.c (make_dir_parents_private): Likewise. * tests/cp/parent-perm-race: Test for the "cp --preserve=mode" race fix in copy.c. * NEWS: Document fix for cp --parents. * src/cp.c (make_dir_parents_private): Report the error sooner with "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not creating the directory, DEST/DIR. * tests/cp/cp-parents: Test for the non-race-condition bug fixed by the above change. 2007-02-02 Jim Meyering <jim@meyering.net> * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0". * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes consistent, so this can be applied with patch -p0. Reported by Matthew Woehlke. Arrange for "make check-root" to run the new root-only test. * tests/Makefile.am (t9): New target, to run tests/cp/cp-a-selinux. (all_t): Add t9. * Makefile.maint (patch-check): Use patch with its -p2 option, since that makes this check slightly more strict. Use a directory on a loopback device mounted with -o context=... * tests/cp/cp-a-selinux: Since this test now runs mount and umount, it is a root-only one. 2007-01-29 Jim Meyering <jim@meyering.net> Plug a leak in ls. * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to determine dev/inode or upon detecting a symlink loop. * src/ls.c: Rename three global variables. (cwd_file): Rename from 'files'. (cwd_n_alloc): Rename from 'nfiles'. (cwd_n_used): Rename from 'files_index'. Shave 8 bytes off the size of "struct fileinfo". * src/ls.c (fileinfo): Put all members of type "bool" together. 2007-01-28 Paul Eggert <eggert@cs.ucla.edu> Modify "ls" to sort its data faster, using the new gnulib mpsort module rather than qsort. This is particularly a win in environments where strcoll is slow, since mpsort typically calls strcoll less often than qsort does. * bootstrap.conf (gnulib_modules): Add mpsort. * src/ls.c: Include mpsort.h. (sorted_file, sorted_file_alloc): New vars, for a new vector of pointers to the file info, for speed. (clear_files, extract_dirs_from_files, sort_files, print_current_files): (print_many_per_line, print_horizontal, print_with_commas): (calculate_columns): Set and use new vector. (initialize_ordering_vector): New function. 2007-01-26 Paul Eggert <eggert@cs.ucla.edu> Adjust to today's change to gnulib, which added a module for string.h to replace the little include files like strcase.h. * src/dircolors.c: Don't include strcase.h. * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h. 2007-01-26 Jim Meyering <jim@meyering.net> * src/dd.c (advance_input_after_read_error): Change diagnostic to say "invalid file offset" rather than "screwy file offset". * .x-sc_cast_of_argument_to_free: Remove this file. * Makefile.am (EXTRA_DIST): Likewise. 2007-01-25 Dan Hipschman <dsh@linux.ucla.edu> * src/sort.c (create_temp): Remove superfluous access-X_OK check. find_in_path does this for us. 2007-01-24 Jim Meyering <jim@meyering.net> Remove usually-skipped test. * tests/cp/open-perm-race: Remove this file. It is subsumed by parent-perm-race. * tests/cp/Makefile.am (TESTS): Remove open-perm-race. * tests/sort/Makefile.am: Regenerate. Pass "make distcheck" again. * src/sort.c (usage): Split a diagnostic that had grown to be longer than the C89 maximum of 509 bytes. * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c. FIXME: this is just temporary, while we wait to remove the offending access-calling code. * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free. * Makefile.maint (sc_cast_of_argument_to_free): Use the canonical, $$($(CVS_LIST_EXCEPT)). * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update. 2007-01-24 Paul Eggert <eggert@cs.ucla.edu> * NEWS: New option sort -C, proposed by XCU ERN 127, which looks like it will be approved. Also add --check=quiet, --check=silent as long aliases, and --check=diagnose-first as an alias for -c. * doc/coreutils.texi (sort invocation): Document this. Also, mention that sort -c can take at most one file. * src/sort.c: Implement this. Include argmatch.h. (usage): Document the change. (CHECK_OPTION): New constant. (long_options): --check now takes an optional argument, and is now treated differently from 'c'. (check_args, check_types): New constant arrays. (check): New arg CHECKONLY, which suppresses diagnostic if -C. (main): Parse the new options. * tests/sort/Test.pm (02d, 02d, incompat5, incompat6): New tests for -C. 2007-01-24 Jim Meyering <jim@meyering.net> Fix a typo. * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise. Don't depend on "which". * tests/misc/sort-compress (SORT): Use $abs_builddir, now which. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir. 2007-01-24 Dan Hipschman <dsh@linux.ucla.edu> Test sort compression. * tests/misc/Makefile.am: Add the test. * tests/misc/sort-compress: New file containing the tests. 2007-01-24 Jim Meyering <jim@meyering.net> * NEWS: sort temp file compression: tweak wording. * src/sort.c (struct sortfile) [name]: Declare member to be const. 2007-01-21 Jim Meyering <jim@meyering.net> * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS): In pipe_fork callers, use these named constants, not "2" and "8". (proctab, nprocs): Declare to be "static". (pipe_fork) [lint]: Initialize local, pid, to avoid unwarranted may-be-used-uninitialized warning. (create_temp): Use the active voice. Describe parameters, too. 2007-01-21 James Youngman <jay@gnu.org> Centralize all the uses of sigprocmask(). Don't restore an invalid saved mask. * src/sort.c (enter_cs, leave_cs): New functions for protecting code sequences against signal delivery. * (exit_cleanup): Use enter_cs and leave_cs instead of calling sigprocmask directly. (create_temp_file, pipe_fork, zaptemp): Likewise 2007-01-21 Dan Hipschman <dsh@linux.ucla.edu> Add compression of temp files to sort. * NEWS: Mention this. * bootstrap.conf: Import findprog. * configure.ac: Add AC_FUNC_FORK. * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment variable. * src/sort.c (compress_program): New global, holds the name of the external compression program. (struct sortfile): New type used by mergepfs and friends instead of filenames to hold PIDs of compressor processes. (proctab): New global, holds compressor PIDs on which to wait. (enum procstate, struct procnode): New types used by proctab. (proctab_hasher, proctab_comparator): New functions for proctab. (nprocs): New global, number of forked but unreaped children. (reap, reap_some): New function, wait for/cleanup forked processes. (register_proc, update_proc, wait_proc): New functions for adding, modifying and removing proctab entries. (create_temp_file): Change parameter type to pointer to file descriptor, and return type to pointer to struct tempnode. (dup2_or_die): New function used in create_temp and open_temp. (pipe_fork): New function, creates a pipe and child process. (create_temp): Creates a temp file and possibly a compression program to which we filter output. (open_temp): Opens a compressed temp file and creates a decompression process through which to filter the input. (mergefps): Change FILES parameter type to struct sortfile array and update access accordingly. Use open_temp and reap_some. (avoid_trashing_input, merge): Change FILES parameter like mergefps and call create_temp instead of create_temp_file. (sort): Call create_temp instead of create_temp_file. Use reap_some. (avoid_trashing_input, merge, sort, main): Adapt to mergefps. The idea of compressing sorts temporary files was first suggested/implemented by Jay Soffian in 1998, and again by Charles Randall in 2001. 2007-01-20 Jim Meyering <jim@meyering.net> * tests/misc/pwd-long: Work properly even when run from the wrong one of two or more bind-mounted sibling directories. Suggestion from Mike Stone in <http://bugs.debian.org/380552>. 2007-01-20 Paul Eggert <eggert@cs.ucla.edu> Standardize on list of signals when an app catches signals. * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL, SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ. * src/ls.c (main): Likewise (except SIGPIPE was already caught). Note that ls.c is special, as it also catches SIGTSTP. * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>. 2007-01-19 Dan Hipschman <dsh@linux.ucla.edu> and Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (cleanup): Clear temphead at the end. (exit_cleanup): New function. (main): Don't invoke atexit until we're ready. Invoke it with exit_cleanup, not with cleanup and close_stdout, to avoid a race condition with cleanup and signal handling. More details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508 2007-01-18 Jim Meyering <jim@meyering.net> * src/c99-to-c89.diff: Adjust remove.c offsets. 2007-01-17 Jim Meyering <jim@meyering.net> Make "rm --interactive=never ..." never prompt. * NEWS: Mention this. * src/remove.h (enum rm_interactive): New ternary type. (struct rm_options) [interactive]: Use it, here -- rather than bool. * src/remove.c (prompt): Reflect type change. * src/mv.c (rm_option_init): Initialize to RMI_NEVER now. * src/rm.c (main): Add a FIXME comment for '-d' option. Adapt to type change of rm_options.interactive. * tests/rm/i-never: New file. Test for the above fix. * tests/rm/Makefile.am (TESTS): Add i-never. 2007-01-15 Jim Meyering <jim@meyering.net> * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore, emit foo.h, for each foo_.h. This yields one false-positive, fts.h, but that's ok, since fts_.h will eventually be renamed. * src/remove.c (remove_dir): Don't use errno in diagnostic. Root-only test failure reported by Alex van Hout and Jon Grosshart in <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9415/focus=9415>. * bootstrap.conf (avoided_gnulib_modules): Fix my typo: s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/ 2007-01-14 Bruno Haible <bruno@clisp.org> Enable use of gnulib's new fchdir module. * bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl, since we use canonicalize. (gnulib_modules): Add fchdir. * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub. 2007-01-13 Jim Meyering <jim@meyering.net> * tests/cp/open-perm-race: Remove gdb-based test. It would run only when compiled with -g, and besides is now subsumed by file-perm-race. * tests/cp/Makefile.am (TESTS): Remove open-perm-race. * Transform all Makefile.am files so that when running "make check", CU_TEST_NAME is set to the name of the test. This is so that when I run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check" on the entire package it is more convenient to map a leak or error found in a valgrind log file back to the offending test. Use this command: (echo tests/Makefile.am.in; find tests -name Makefile.am) \ |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \ -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"' 2007-01-11 Jim Meyering <jim@meyering.net> Avoid a leak in expr's implementation of the ":" (match) operator. * src/expr.c (docolon): Free the regexp buffer using regfree, rather than doing it manually, being careful to set fastmap to NULL first. Free any re_regs.start and .end members, if necessary. * tests/misc/test-diag: Work also when libc's error function reports the entire program name ("../../src/test"), rather than just the final component. 2007-01-10 Jim Meyering <jim@meyering.net> Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...". * src/chown-core.c (FTSENT_IS_DIRECTORY): New macro. (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a directory. Non-directory entries lack fts_statp data when using the FTS_NOSTAT option. 2007-01-07 Jim Meyering <jim@meyering.net> * tests/sample-test: Update copyright date to 2007. * Makefile.maint (copyright-check): Also check the copyright date in tests/sample-test. 2007-01-06 Jim Meyering <jim@meyering.net> * tests/fmt/basic (pfx-only, pfx-of-pfx): New tests, based on examples from G.P. Halkes in <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9388>. 2007-01-06 G.P. Halkes <buscom@ghalkes.nl> * src/fmt.c (copy_rest): Correct prefix handling. Don't elide a line with the prefix followed by only white space. (get_line): Move EOF-check to loop-termination condition. * tests/fmt/basic (pfx-1): Adjust test to expect desired result. (pfx-2): Remove test; its premise was contrary to the documentation. 2007-01-05 Jim Meyering <jim@meyering.net> Avoid a used-uninitialized bug for invalid input, i.e., when the size of the input, not counting newlines, is 1 % 4. * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4. It may be smaller when flushing. 2007-01-05 Mike Frysinger <vapier@gentoo.org> * src/dircolors.hin: Add a TERM directive for cons25. 2007-01-04 Jim Meyering <jim@meyering.net> * Makefile.cfg (local-checks-to-skip): Skip strftime-check, in case you don't have convenient access to glibc info documentation. Use the release year, not the current year. * src/groups.sh (version): Use a better name: @RELEASE_YEAR@. * src/Makefile.am (RELEASE_YEAR): Define it. (.sh): Use it. Thanks to a prod from Eric Blake. Ensure that "group --version" always prints the current year. * src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006. * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@. Suggestion from Eric Blake. When decoding, always allow newlines in input, with almost no performance impact. * src/base64.c (do_decode): Initialize decode context. Call base64_decode one more time, after all input is processed. (usage): When decoding, newlines are always accepted. * tests/misc/base64: Add a bunch of tests, for the above. * gl/lib/base64.c: Include <string.h>. (base64_decode_ctx_init, get_4, decode_4): New functions. (base64_decode): Efficiently handle interspersed newlines. (base64_decode_alloc): Update signature. * gl/lib/base64.h (struct base64_decode_context): Define. (base64_decode_ctx_init): Add prototype. (base64_decode, base64_decode_alloc): Update prototypes. * gl/lib/base64.c: Copied from gnulib. * gl/lib/base64.h: Likewise. 2007-01-03 Jim Meyering <jim@meyering.net> * THANKS: Add Evan Hunt. 2007-01-03 Bruno Haible <bruno@clisp.org> Avoid spurious test failures on MacOS X 10.3.9, in a German locale. * tests/chown/deref: Apply lang-default. * tests/misc/split-a: Likewise. * tests/mv/reply-no: Likewise. * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails. Needed on MacOS X. 2007-01-02 Paul Eggert <eggert@cs.ucla.edu> Now, "ls -FRL" always follows symbolic links on Linux. * NEWS: Mention this bug fix. * src/ls.c (gobble_file): Fix bug reported by Nobuyuki Tsuchimura in http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html where "ls -FRL" didn't follow a symbolic link in some cases on Linux. * tests/ls/follow-slink: Add a test for this case. 2007-01-01 Jim Meyering <jim@meyering.net> * tests/rm/fail-eperm: Revert last change. The PATH=... setting is not honored at least on HP-UX 11.23 systems. Instead, simply transform the actual output diagnostic. Test failure reported by Bob Proulx. ----- Copyright (C) 2007-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. ����������������������������������������������������������������������������coreutils-8.21/Makefile.in��������������������������������������������������������������������������0000664�0000000�0000000�00001643422�12107207542�012427� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Make coreutils. -*-Makefile-*- # Copyright (C) 1990-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this file. If not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that # contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backupfile base64 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-type fileblocks filemode filenamecat filevercmp fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftello ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc obstack parse-datetime pathmax perl physmem pipe posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at settime sig2str sigaction ssize_t stat-macros stat-size stat-time statat stdbool stdlib-safer stpcpy stpncpy strdup-posix strftime strncat strnumcmp strpbrk strsignal strtod strtoimax strtoumax symlink sys_ioctl sys_resource sys_stat sys_wait termios timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xfreopen xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno # Make coreutils programs. -*-Makefile-*- # This is included by the top-level Makefile.am. # Make coreutils documentation. -*-Makefile-*- # This is included by the top-level Makefile.am. # Copyright (C) 1995-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Make coreutils man pages. -*-Makefile-*- # This is included by the top-level Makefile.am. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. VPATH = @srcdir@ am__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(am__configure_deps) $(doc_coreutils_TEXINFOS) \ $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi \ $(srcdir)/lib/gnulib.mk $(srcdir)/src/cu-progs.mk \ $(top_srcdir)/configure $(top_srcdir)/doc/local.mk \ $(top_srcdir)/lib/config.hin $(top_srcdir)/lib/local.mk \ $(top_srcdir)/man/local.mk $(top_srcdir)/src/local.mk \ $(top_srcdir)/tests/local.mk ABOUT-NLS AUTHORS COPYING \ ChangeLog INSTALL NEWS THANKS TODO build-aux/compile \ build-aux/config.guess build-aux/config.rpath \ build-aux/config.sub build-aux/depcomp build-aux/install-sh \ build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex \ build-aux/ylwrap lib/alloca.c lib/parse-datetime.c @LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_1 = lib/unistr/u8-mbtoucr.c @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_2 = lib/unistr/u8-uctomb.c lib/unistr/u8-uctomb-aux.c @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_3 = lib/uniwidth/width.c EXTRA_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) noinst_PROGRAMS = src/getlimits$(EXEEXT) src/make-prime-list$(EXEEXT) \ src/setuidgid$(EXEEXT) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/backupfile.m4 \ $(top_srcdir)/m4/base64.m4 $(top_srcdir)/m4/bison.m4 \ $(top_srcdir)/m4/boottime.m4 $(top_srcdir)/m4/btowc.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canon-host.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \ $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closein.m4 \ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \ $(top_srcdir)/m4/ctype.m4 $(top_srcdir)/m4/cycle-check.m4 \ $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/d-type.m4 \ $(top_srcdir)/m4/dirent-safer.m4 $(top_srcdir)/m4/dirent_h.m4 \ $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/exponentf.m4 \ $(top_srcdir)/m4/exponentl.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 \ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fatal-signal.m4 \ $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fchmodat.m4 \ $(top_srcdir)/m4/fchownat.m4 $(top_srcdir)/m4/fclose.m4 \ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \ $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fdatasync.m4 $(top_srcdir)/m4/fdopen.m4 \ $(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \ $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \ $(top_srcdir)/m4/fopen.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fpurge.m4 \ $(top_srcdir)/m4/freadahead.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/freadptr.m4 $(top_srcdir)/m4/freadseek.m4 \ $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/frexp.m4 \ $(top_srcdir)/m4/frexpl.m4 $(top_srcdir)/m4/fseek.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fseterr.m4 \ $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \ $(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \ $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/ftell.m4 \ $(top_srcdir)/m4/ftello.m4 $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/futimens.m4 \ $(top_srcdir)/m4/getaddrinfo.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getlogin.m4 \ $(top_srcdir)/m4/getndelim2.m4 $(top_srcdir)/m4/getopt.m4 \ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/getpass.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \ $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/getugroups.m4 \ $(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/gmp.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/group-member.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/hostent.m4 $(top_srcdir)/m4/human.m4 \ $(top_srcdir)/m4/i-ring.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inet_ntop.m4 \ $(top_srcdir)/m4/inet_pton.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/ioctl.m4 $(top_srcdir)/m4/isapipe.m4 \ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/isblank.m4 \ $(top_srcdir)/m4/isnand.m4 $(top_srcdir)/m4/isnanf.m4 \ $(top_srcdir)/m4/isnanl.m4 $(top_srcdir)/m4/iswblank.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/langinfo_h.m4 \ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/ldexp.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-ignore.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libunistring-base.m4 \ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localename.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ls-mntd-fs.m4 \ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrlen.m4 $(top_srcdir)/m4/mbrtowc.m4 \ $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/mbtowc.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcoll.m4 \ $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \ $(top_srcdir)/m4/mgetgroups.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir.m4 \ $(top_srcdir)/m4/mkfifo.m4 $(top_srcdir)/m4/mknod.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/nanosleep.m4 $(top_srcdir)/m4/netdb_h.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 \ $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 \ $(top_srcdir)/m4/non-recursive-gnulib-prefix-hack.m4 \ $(top_srcdir)/m4/nproc.m4 $(top_srcdir)/m4/off_t.m4 \ $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/perror.m4 $(top_srcdir)/m4/physmem.m4 \ $(top_srcdir)/m4/pipe.m4 $(top_srcdir)/m4/pipe2.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posix_spawn.m4 $(top_srcdir)/m4/posixtm.m4 \ $(top_srcdir)/m4/posixver.m4 $(top_srcdir)/m4/prereq.m4 \ $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/pthread.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \ $(top_srcdir)/m4/read-file.m4 $(top_srcdir)/m4/read.m4 \ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/remove.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rewinddir.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rpmatch.m4 \ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \ $(top_srcdir)/m4/same.m4 $(top_srcdir)/m4/save-cwd.m4 \ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/savewd.m4 \ $(top_srcdir)/m4/sched_h.m4 $(top_srcdir)/m4/select.m4 \ $(top_srcdir)/m4/selinux-context-h.m4 \ $(top_srcdir)/m4/selinux-selinux-h.m4 \ $(top_srcdir)/m4/servent.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/settime.m4 \ $(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sha256.m4 \ $(top_srcdir)/m4/sha512.m4 $(top_srcdir)/m4/sig2str.m4 \ $(top_srcdir)/m4/sig_atomic_t.m4 $(top_srcdir)/m4/sigaction.m4 \ $(top_srcdir)/m4/signal_h.m4 \ $(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socketlib.m4 \ $(top_srcdir)/m4/sockets.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/sockpfaf.m4 $(top_srcdir)/m4/spawn-pipe.m4 \ $(top_srcdir)/m4/spawn_h.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-prog.m4 \ $(top_srcdir)/m4/stat-size.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \ $(top_srcdir)/m4/stpncpy.m4 $(top_srcdir)/m4/strchrnul.m4 \ $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \ $(top_srcdir)/m4/strerror_r.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strncat.m4 \ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strsignal.m4 \ $(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtoll.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \ $(top_srcdir)/m4/sys_ioctl_h.m4 \ $(top_srcdir)/m4/sys_resource_h.m4 \ $(top_srcdir)/m4/sys_select_h.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_uio_h.m4 \ $(top_srcdir)/m4/sys_utsname_h.m4 \ $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \ $(top_srcdir)/m4/termios_h.m4 $(top_srcdir)/m4/thread.m4 \ $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timer_time.m4 \ $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tls.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/uname.m4 $(top_srcdir)/m4/ungetc.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/utimbuf.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 \ $(top_srcdir)/m4/wait-process.m4 $(top_srcdir)/m4/waitpid.m4 \ $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \ $(top_srcdir)/m4/wcswidth.m4 $(top_srcdir)/m4/wctob.m4 \ $(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/write.m4 \ $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xattr.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/m4/yesno.m4 \ $(top_srcdir)/m4/yield.m4 $(top_srcdir)/m4/cu-progs.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ lib_libcoreutils_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = LIBOBJDIR = lib/ am__lib_libcoreutils_a_SOURCES_DIST = lib/set-mode-acl.c \ lib/copy-acl.c lib/file-has-acl.c lib/allocator.c \ lib/areadlink.c lib/areadlink-with-size.c lib/areadlinkat.c \ lib/argmatch.c lib/argv-iter.c lib/argv-iter.h \ lib/backupfile.c lib/base64.h lib/base64.c lib/binary-io.h \ lib/binary-io.c lib/bitrotate.h lib/bitrotate.c \ lib/buffer-lcm.c lib/buffer-lcm.h lib/c-ctype.h lib/c-ctype.c \ lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c \ lib/c-strtod.c lib/c-strtold.c lib/canon-host.c \ lib/canonicalize.c lib/careadlinkat.c lib/cloexec.c \ lib/close-stream.c lib/closein.c lib/closeout.c lib/md5.c \ lib/sha1.c lib/sha256.c lib/sha512.c lib/cycle-check.c \ lib/di-set.c lib/di-set.h lib/diacrit.h lib/diacrit.c \ lib/opendir-safer.c lib/dirname.c lib/basename.c \ lib/dirname-lgpl.c lib/basename-lgpl.c lib/stripslash.c \ lib/dtoastr.c lib/dtotimespec.c lib/exclude.c lib/exitfail.c \ lib/fadvise.c lib/fadvise.h lib/fatal-signal.h \ lib/fatal-signal.c lib/chmodat.c lib/chownat.c \ lib/creat-safer.c lib/open-safer.c lib/fd-hook.c \ lib/fd-reopen.c lib/fd-reopen.h lib/fd-safer-flag.c \ lib/dup-safer-flag.c lib/fdutimensat.c lib/file-set.c \ lib/file-type.c lib/filemode.c lib/filenamecat.c \ lib/filenamecat-lgpl.c lib/filevercmp.c lib/fopen-safer.c \ lib/fprintftime.c lib/freading.c lib/freadseek.c \ lib/freopen-safer.c lib/ftoastr.c lib/full-read.h \ lib/full-read.c lib/full-write.h lib/full-write.c \ lib/gethrxtime.c lib/xtime.c lib/getndelim2.c lib/gettext.h \ lib/gettime.c lib/getugroups.c lib/hard-locale.c lib/hash.c \ lib/hash-pjw.h lib/hash-pjw.c lib/hash-triple.c lib/heap.c \ lib/heap.h lib/human.c lib/i-ring.c lib/idcache.c \ lib/ino-map.c lib/ino-map.h lib/imaxtostr.c lib/inttostr.c \ lib/offtostr.c lib/uinttostr.c lib/umaxtostr.c lib/ldtoastr.c \ lib/linebuffer.h lib/linebuffer.c lib/localcharset.h \ lib/localcharset.c lib/glthread/lock.h lib/glthread/lock.c \ lib/long-options.c lib/malloca.c lib/math.c lib/mbchar.c \ lib/mbiter.h lib/mbiter.c lib/mbsalign.c lib/mbsalign.h \ lib/mbscasecmp.c lib/mbslen.c lib/mbsstr.c lib/mbswidth.h \ lib/mbswidth.c lib/mbuiter.h lib/mbuiter.c lib/memcasecmp.c \ lib/memchr2.h lib/memchr2.c lib/memcmp2.c lib/memcoll.c \ lib/mgetgroups.c lib/mkancesdirs.c lib/dirchownmod.c \ lib/mkdir-p.c lib/modechange.c lib/mpsort.c lib/nproc.c \ lib/openat-die.c lib/openat-safer.c lib/parse-datetime.y \ lib/physmem.c lib/pipe2.c lib/pipe2-safer.c lib/posixtm.c \ lib/posixver.c lib/printf-frexp.c lib/printf-frexpl.c \ lib/priv-set.c lib/progname.h lib/progname.c lib/propername.h \ lib/propername.c lib/quotearg.c lib/randint.c lib/randint.h \ lib/randperm.c lib/randperm.h lib/randread.c lib/randread.h \ lib/rand-isaac.c lib/rand-isaac.h lib/read-file.c \ lib/readtokens.c lib/readtokens0.h lib/readtokens0.c \ lib/root-dev-ino.c lib/root-dev-ino.h lib/safe-read.c \ lib/safe-write.c lib/same.c lib/save-cwd.c lib/savedir.c \ lib/savewd.h lib/savewd.c lib/se-context.in.h \ lib/se-selinux.in.h lib/se-context.c lib/se-selinux.c \ lib/settime.c lib/sig-handler.c lib/size_max.h lib/sockets.h \ lib/sockets.c lib/spawn-pipe.h lib/spawn-pipe.c lib/w32spawn.h \ lib/stat-time.c lib/statat.c lib/mkstemp-safer.c \ lib/strftime.c lib/striconv.h lib/striconv.c lib/strnlen1.h \ lib/strnlen1.c lib/strintcmp.c lib/strnumcmp.c lib/strnumcmp.h \ lib/sys_socket.c lib/tempname.c lib/glthread/threadlib.c \ lib/timespec.c lib/glthread/tls.h lib/glthread/tls.c \ lib/trim.c lib/u64.c lib/unicodeio.h lib/unicodeio.c \ lib/unistd.c lib/dup-safer.c lib/fd-safer.c lib/pipe-safer.c \ lib/unistr/u8-mbtoucr.c lib/unistr/u8-uctomb.c \ lib/unistr/u8-uctomb-aux.c lib/uniwidth/width.c lib/userspec.c \ lib/utimecmp.c lib/utimens.c lib/verror.h lib/verror.c \ lib/version-etc.h lib/version-etc.c lib/version-etc-fsf.c \ lib/wait-process.h lib/wait-process.c lib/wctype-h.c \ lib/write-any-file.c lib/xmalloc.c lib/xalloc-die.c \ lib/xfreopen.c lib/xfreopen.h lib/xfts.c lib/xfts.h \ lib/xgetcwd.c lib/xgetgroups.c lib/xgethostname.h \ lib/xgethostname.c lib/xmemcoll.h lib/xmemcoll.c \ lib/xnanosleep.c lib/xprintf.h lib/xprintf.c lib/xreadlink.c \ lib/xsize.h lib/xsize.c lib/xstriconv.h lib/xstriconv.c \ lib/xstrndup.h lib/xstrndup.c lib/xstrtod.c lib/xstrtoimax.c \ lib/xstrtol.c lib/xstrtoul.c lib/xstrtol-error.c \ lib/xstrtold.c lib/xstrtoumax.c lib/xvasprintf.h \ lib/xvasprintf.c lib/xasprintf.c lib/yesno.c am__dirstamp = $(am__leading_dot)dirstamp @LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = lib/unistr/u8-mbtoucr.$(OBJEXT) @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = lib/unistr/u8-uctomb.$(OBJEXT) \ @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ lib/unistr/u8-uctomb-aux.$(OBJEXT) @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_3 = lib/uniwidth/width.$(OBJEXT) am_lib_libcoreutils_a_OBJECTS = lib/set-mode-acl.$(OBJEXT) \ lib/copy-acl.$(OBJEXT) lib/file-has-acl.$(OBJEXT) \ lib/allocator.$(OBJEXT) lib/areadlink.$(OBJEXT) \ lib/areadlink-with-size.$(OBJEXT) lib/areadlinkat.$(OBJEXT) \ lib/argmatch.$(OBJEXT) lib/argv-iter.$(OBJEXT) \ lib/backupfile.$(OBJEXT) lib/base64.$(OBJEXT) \ lib/binary-io.$(OBJEXT) lib/bitrotate.$(OBJEXT) \ lib/buffer-lcm.$(OBJEXT) lib/c-ctype.$(OBJEXT) \ lib/c-strcasecmp.$(OBJEXT) lib/c-strncasecmp.$(OBJEXT) \ lib/c-strtod.$(OBJEXT) lib/c-strtold.$(OBJEXT) \ lib/canon-host.$(OBJEXT) lib/canonicalize.$(OBJEXT) \ lib/careadlinkat.$(OBJEXT) lib/cloexec.$(OBJEXT) \ lib/close-stream.$(OBJEXT) lib/closein.$(OBJEXT) \ lib/closeout.$(OBJEXT) lib/md5.$(OBJEXT) lib/sha1.$(OBJEXT) \ lib/sha256.$(OBJEXT) lib/sha512.$(OBJEXT) \ lib/cycle-check.$(OBJEXT) lib/di-set.$(OBJEXT) \ lib/diacrit.$(OBJEXT) lib/opendir-safer.$(OBJEXT) \ lib/dirname.$(OBJEXT) lib/basename.$(OBJEXT) \ lib/dirname-lgpl.$(OBJEXT) lib/basename-lgpl.$(OBJEXT) \ lib/stripslash.$(OBJEXT) lib/dtoastr.$(OBJEXT) \ lib/dtotimespec.$(OBJEXT) lib/exclude.$(OBJEXT) \ lib/exitfail.$(OBJEXT) lib/fadvise.$(OBJEXT) \ lib/fatal-signal.$(OBJEXT) lib/chmodat.$(OBJEXT) \ lib/chownat.$(OBJEXT) lib/creat-safer.$(OBJEXT) \ lib/open-safer.$(OBJEXT) lib/fd-hook.$(OBJEXT) \ lib/fd-reopen.$(OBJEXT) lib/fd-safer-flag.$(OBJEXT) \ lib/dup-safer-flag.$(OBJEXT) lib/fdutimensat.$(OBJEXT) \ lib/file-set.$(OBJEXT) lib/file-type.$(OBJEXT) \ lib/filemode.$(OBJEXT) lib/filenamecat.$(OBJEXT) \ lib/filenamecat-lgpl.$(OBJEXT) lib/filevercmp.$(OBJEXT) \ lib/fopen-safer.$(OBJEXT) lib/fprintftime.$(OBJEXT) \ lib/freading.$(OBJEXT) lib/freadseek.$(OBJEXT) \ lib/freopen-safer.$(OBJEXT) lib/ftoastr.$(OBJEXT) \ lib/full-read.$(OBJEXT) lib/full-write.$(OBJEXT) \ lib/gethrxtime.$(OBJEXT) lib/xtime.$(OBJEXT) \ lib/getndelim2.$(OBJEXT) lib/gettime.$(OBJEXT) \ lib/getugroups.$(OBJEXT) lib/hard-locale.$(OBJEXT) \ lib/hash.$(OBJEXT) lib/hash-pjw.$(OBJEXT) \ lib/hash-triple.$(OBJEXT) lib/heap.$(OBJEXT) \ lib/human.$(OBJEXT) lib/i-ring.$(OBJEXT) lib/idcache.$(OBJEXT) \ lib/ino-map.$(OBJEXT) lib/imaxtostr.$(OBJEXT) \ lib/inttostr.$(OBJEXT) lib/offtostr.$(OBJEXT) \ lib/uinttostr.$(OBJEXT) lib/umaxtostr.$(OBJEXT) \ lib/ldtoastr.$(OBJEXT) lib/linebuffer.$(OBJEXT) \ lib/localcharset.$(OBJEXT) lib/glthread/lock.$(OBJEXT) \ lib/long-options.$(OBJEXT) lib/malloca.$(OBJEXT) \ lib/math.$(OBJEXT) lib/mbchar.$(OBJEXT) lib/mbiter.$(OBJEXT) \ lib/mbsalign.$(OBJEXT) lib/mbscasecmp.$(OBJEXT) \ lib/mbslen.$(OBJEXT) lib/mbsstr.$(OBJEXT) \ lib/mbswidth.$(OBJEXT) lib/mbuiter.$(OBJEXT) \ lib/memcasecmp.$(OBJEXT) lib/memchr2.$(OBJEXT) \ lib/memcmp2.$(OBJEXT) lib/memcoll.$(OBJEXT) \ lib/mgetgroups.$(OBJEXT) lib/mkancesdirs.$(OBJEXT) \ lib/dirchownmod.$(OBJEXT) lib/mkdir-p.$(OBJEXT) \ lib/modechange.$(OBJEXT) lib/mpsort.$(OBJEXT) \ lib/nproc.$(OBJEXT) lib/openat-die.$(OBJEXT) \ lib/openat-safer.$(OBJEXT) lib/parse-datetime.$(OBJEXT) \ lib/physmem.$(OBJEXT) lib/pipe2.$(OBJEXT) \ lib/pipe2-safer.$(OBJEXT) lib/posixtm.$(OBJEXT) \ lib/posixver.$(OBJEXT) lib/printf-frexp.$(OBJEXT) \ lib/printf-frexpl.$(OBJEXT) lib/priv-set.$(OBJEXT) \ lib/progname.$(OBJEXT) lib/propername.$(OBJEXT) \ lib/quotearg.$(OBJEXT) lib/randint.$(OBJEXT) \ lib/randperm.$(OBJEXT) lib/randread.$(OBJEXT) \ lib/rand-isaac.$(OBJEXT) lib/read-file.$(OBJEXT) \ lib/readtokens.$(OBJEXT) lib/readtokens0.$(OBJEXT) \ lib/root-dev-ino.$(OBJEXT) lib/safe-read.$(OBJEXT) \ lib/safe-write.$(OBJEXT) lib/same.$(OBJEXT) \ lib/save-cwd.$(OBJEXT) lib/savedir.$(OBJEXT) \ lib/savewd.$(OBJEXT) lib/se-context.$(OBJEXT) \ lib/se-selinux.$(OBJEXT) lib/settime.$(OBJEXT) \ lib/sig-handler.$(OBJEXT) lib/sockets.$(OBJEXT) \ lib/spawn-pipe.$(OBJEXT) lib/stat-time.$(OBJEXT) \ lib/statat.$(OBJEXT) lib/mkstemp-safer.$(OBJEXT) \ lib/strftime.$(OBJEXT) lib/striconv.$(OBJEXT) \ lib/strnlen1.$(OBJEXT) lib/strintcmp.$(OBJEXT) \ lib/strnumcmp.$(OBJEXT) lib/sys_socket.$(OBJEXT) \ lib/tempname.$(OBJEXT) lib/glthread/threadlib.$(OBJEXT) \ lib/timespec.$(OBJEXT) lib/glthread/tls.$(OBJEXT) \ lib/trim.$(OBJEXT) lib/u64.$(OBJEXT) lib/unicodeio.$(OBJEXT) \ lib/unistd.$(OBJEXT) lib/dup-safer.$(OBJEXT) \ lib/fd-safer.$(OBJEXT) lib/pipe-safer.$(OBJEXT) \ $(am__objects_1) $(am__objects_2) $(am__objects_3) \ lib/userspec.$(OBJEXT) lib/utimecmp.$(OBJEXT) \ lib/utimens.$(OBJEXT) lib/verror.$(OBJEXT) \ lib/version-etc.$(OBJEXT) lib/version-etc-fsf.$(OBJEXT) \ lib/wait-process.$(OBJEXT) lib/wctype-h.$(OBJEXT) \ lib/write-any-file.$(OBJEXT) lib/xmalloc.$(OBJEXT) \ lib/xalloc-die.$(OBJEXT) lib/xfreopen.$(OBJEXT) \ lib/xfts.$(OBJEXT) lib/xgetcwd.$(OBJEXT) \ lib/xgetgroups.$(OBJEXT) lib/xgethostname.$(OBJEXT) \ lib/xmemcoll.$(OBJEXT) lib/xnanosleep.$(OBJEXT) \ lib/xprintf.$(OBJEXT) lib/xreadlink.$(OBJEXT) \ lib/xsize.$(OBJEXT) lib/xstriconv.$(OBJEXT) \ lib/xstrndup.$(OBJEXT) lib/xstrtod.$(OBJEXT) \ lib/xstrtoimax.$(OBJEXT) lib/xstrtol.$(OBJEXT) \ lib/xstrtoul.$(OBJEXT) lib/xstrtol-error.$(OBJEXT) \ lib/xstrtold.$(OBJEXT) lib/xstrtoumax.$(OBJEXT) \ lib/xvasprintf.$(OBJEXT) lib/xasprintf.$(OBJEXT) \ lib/yesno.$(OBJEXT) lib_libcoreutils_a_OBJECTS = $(am_lib_libcoreutils_a_OBJECTS) src_libver_a_AR = $(AR) $(ARFLAGS) src_libver_a_LIBADD = nodist_src_libver_a_OBJECTS = src/version.$(OBJEXT) src_libver_a_OBJECTS = $(nodist_src_libver_a_OBJECTS) am__EXEEXT_1 = src/arch$(EXEEXT) src/hostname$(EXEEXT) am__EXEEXT_2 = src/chroot$(EXEEXT) src/df$(EXEEXT) src/hostid$(EXEEXT) \ src/libstdbuf.so$(EXEEXT) src/nice$(EXEEXT) src/pinky$(EXEEXT) \ src/stdbuf$(EXEEXT) src/stty$(EXEEXT) src/uptime$(EXEEXT) \ src/users$(EXEEXT) src/who$(EXEEXT) am__EXEEXT_3 = src/[$(EXEEXT) src/base64$(EXEEXT) \ src/basename$(EXEEXT) src/cat$(EXEEXT) src/chcon$(EXEEXT) \ src/chgrp$(EXEEXT) src/chmod$(EXEEXT) src/chown$(EXEEXT) \ src/cksum$(EXEEXT) src/comm$(EXEEXT) src/cp$(EXEEXT) \ src/csplit$(EXEEXT) src/cut$(EXEEXT) src/date$(EXEEXT) \ src/dd$(EXEEXT) src/dir$(EXEEXT) src/dircolors$(EXEEXT) \ src/dirname$(EXEEXT) src/du$(EXEEXT) src/echo$(EXEEXT) \ src/env$(EXEEXT) src/expand$(EXEEXT) src/expr$(EXEEXT) \ src/factor$(EXEEXT) src/false$(EXEEXT) src/fmt$(EXEEXT) \ src/fold$(EXEEXT) src/ginstall$(EXEEXT) src/groups$(EXEEXT) \ src/head$(EXEEXT) src/id$(EXEEXT) src/join$(EXEEXT) \ src/kill$(EXEEXT) src/link$(EXEEXT) src/ln$(EXEEXT) \ src/logname$(EXEEXT) src/ls$(EXEEXT) src/md5sum$(EXEEXT) \ src/mkdir$(EXEEXT) src/mkfifo$(EXEEXT) src/mknod$(EXEEXT) \ src/mktemp$(EXEEXT) src/mv$(EXEEXT) src/nl$(EXEEXT) \ src/nproc$(EXEEXT) src/nohup$(EXEEXT) src/numfmt$(EXEEXT) \ src/od$(EXEEXT) src/paste$(EXEEXT) src/pathchk$(EXEEXT) \ src/pr$(EXEEXT) src/printenv$(EXEEXT) src/printf$(EXEEXT) \ src/ptx$(EXEEXT) src/pwd$(EXEEXT) src/readlink$(EXEEXT) \ src/realpath$(EXEEXT) src/rm$(EXEEXT) src/rmdir$(EXEEXT) \ src/runcon$(EXEEXT) src/seq$(EXEEXT) src/sha1sum$(EXEEXT) \ src/sha224sum$(EXEEXT) src/sha256sum$(EXEEXT) \ src/sha384sum$(EXEEXT) src/sha512sum$(EXEEXT) \ src/shred$(EXEEXT) src/shuf$(EXEEXT) src/sleep$(EXEEXT) \ src/sort$(EXEEXT) src/split$(EXEEXT) src/stat$(EXEEXT) \ src/sum$(EXEEXT) src/sync$(EXEEXT) src/tac$(EXEEXT) \ src/tail$(EXEEXT) src/tee$(EXEEXT) src/test$(EXEEXT) \ src/timeout$(EXEEXT) src/touch$(EXEEXT) src/tr$(EXEEXT) \ src/true$(EXEEXT) src/truncate$(EXEEXT) src/tsort$(EXEEXT) \ src/tty$(EXEEXT) src/uname$(EXEEXT) src/unexpand$(EXEEXT) \ src/uniq$(EXEEXT) src/unlink$(EXEEXT) src/vdir$(EXEEXT) \ src/wc$(EXEEXT) src/whoami$(EXEEXT) src/yes$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(pkglibexec_PROGRAMS) am_src___OBJECTS = src/lbracket.$(OBJEXT) src___OBJECTS = $(am_src___OBJECTS) am__DEPENDENCIES_2 = src/libver.a lib/libcoreutils.a \ $(am__DEPENDENCIES_1) lib/libcoreutils.a am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src___DEPENDENCIES = $(am__DEPENDENCIES_3) am_src_arch_OBJECTS = src/uname.$(OBJEXT) src/uname-arch.$(OBJEXT) src_arch_OBJECTS = $(am_src_arch_OBJECTS) src_arch_DEPENDENCIES = $(am__DEPENDENCIES_2) src_base64_SOURCES = src/base64.c src_base64_OBJECTS = src/base64.$(OBJEXT) src_base64_DEPENDENCIES = $(am__DEPENDENCIES_2) src_basename_SOURCES = src/basename.c src_basename_OBJECTS = src/basename.$(OBJEXT) src_basename_DEPENDENCIES = $(am__DEPENDENCIES_2) src_cat_SOURCES = src/cat.c src_cat_OBJECTS = src/cat.$(OBJEXT) src_cat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_chcon_SOURCES = src/chcon.c src_chcon_OBJECTS = src/chcon.$(OBJEXT) src_chcon_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) am_src_chgrp_OBJECTS = src/chgrp.$(OBJEXT) src/chown-core.$(OBJEXT) src_chgrp_OBJECTS = $(am_src_chgrp_OBJECTS) src_chgrp_DEPENDENCIES = $(am__DEPENDENCIES_2) src_chmod_SOURCES = src/chmod.c src_chmod_OBJECTS = src/chmod.$(OBJEXT) src_chmod_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_chown_OBJECTS = src/chown.$(OBJEXT) src/chown-core.$(OBJEXT) src_chown_OBJECTS = $(am_src_chown_OBJECTS) src_chown_DEPENDENCIES = $(am__DEPENDENCIES_2) src_chroot_SOURCES = src/chroot.c src_chroot_OBJECTS = src/chroot.$(OBJEXT) src_chroot_DEPENDENCIES = $(am__DEPENDENCIES_2) src_cksum_SOURCES = src/cksum.c src_cksum_OBJECTS = src/cksum.$(OBJEXT) src_cksum_DEPENDENCIES = $(am__DEPENDENCIES_2) src_comm_SOURCES = src/comm.c src_comm_OBJECTS = src/comm.$(OBJEXT) src_comm_DEPENDENCIES = $(am__DEPENDENCIES_2) am__objects_4 = src/copy.$(OBJEXT) src/cp-hash.$(OBJEXT) \ src/extent-scan.$(OBJEXT) am_src_cp_OBJECTS = src/cp.$(OBJEXT) $(am__objects_4) src_cp_OBJECTS = $(am_src_cp_OBJECTS) am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) src_cp_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_4) \ $(am__DEPENDENCIES_1) src_csplit_SOURCES = src/csplit.c src_csplit_OBJECTS = src/csplit.$(OBJEXT) src_csplit_DEPENDENCIES = $(am__DEPENDENCIES_2) src_cut_SOURCES = src/cut.c src_cut_OBJECTS = src/cut.$(OBJEXT) src_cut_DEPENDENCIES = $(am__DEPENDENCIES_2) src_date_SOURCES = src/date.c src_date_OBJECTS = src/date.$(OBJEXT) src_date_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_dd_SOURCES = src/dd.c src_dd_OBJECTS = src/dd.$(OBJEXT) src_dd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am_src_df_OBJECTS = src/df.$(OBJEXT) src/find-mount-point.$(OBJEXT) src_df_OBJECTS = $(am_src_df_OBJECTS) src_df_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) am_src_dir_OBJECTS = src/ls.$(OBJEXT) src/ls-dir.$(OBJEXT) src_dir_OBJECTS = $(am_src_dir_OBJECTS) am__DEPENDENCIES_5 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) src_dir_DEPENDENCIES = $(am__DEPENDENCIES_5) src_dircolors_SOURCES = src/dircolors.c src_dircolors_OBJECTS = src/dircolors.$(OBJEXT) src_dircolors_DEPENDENCIES = $(am__DEPENDENCIES_2) src_dirname_SOURCES = src/dirname.c src_dirname_OBJECTS = src/dirname.$(OBJEXT) src_dirname_DEPENDENCIES = $(am__DEPENDENCIES_2) src_du_SOURCES = src/du.c src_du_OBJECTS = src/du.$(OBJEXT) src_du_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_echo_SOURCES = src/echo.c src_echo_OBJECTS = src/echo.$(OBJEXT) src_echo_DEPENDENCIES = $(am__DEPENDENCIES_2) src_env_SOURCES = src/env.c src_env_OBJECTS = src/env.$(OBJEXT) src_env_DEPENDENCIES = $(am__DEPENDENCIES_2) src_expand_SOURCES = src/expand.c src_expand_OBJECTS = src/expand.$(OBJEXT) src_expand_DEPENDENCIES = $(am__DEPENDENCIES_2) src_expr_SOURCES = src/expr.c src_expr_OBJECTS = src/expr.$(OBJEXT) src_expr_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_factor_SOURCES = src/factor.c src_factor_OBJECTS = src/factor.$(OBJEXT) src_factor_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) src_false_SOURCES = src/false.c src_false_OBJECTS = src/false.$(OBJEXT) src_false_DEPENDENCIES = $(am__DEPENDENCIES_2) src_fmt_SOURCES = src/fmt.c src_fmt_OBJECTS = src/fmt.$(OBJEXT) src_fmt_DEPENDENCIES = $(am__DEPENDENCIES_2) src_fold_SOURCES = src/fold.c src_fold_OBJECTS = src/fold.$(OBJEXT) src_fold_DEPENDENCIES = $(am__DEPENDENCIES_2) src_getlimits_SOURCES = src/getlimits.c src_getlimits_OBJECTS = src/getlimits.$(OBJEXT) src_getlimits_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) am__objects_5 = src/src_ginstall-copy.$(OBJEXT) \ src/src_ginstall-cp-hash.$(OBJEXT) \ src/src_ginstall-extent-scan.$(OBJEXT) am_src_ginstall_OBJECTS = src/src_ginstall-install.$(OBJEXT) \ src/src_ginstall-prog-fprintf.$(OBJEXT) $(am__objects_5) src_ginstall_OBJECTS = $(am_src_ginstall_OBJECTS) src_ginstall_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am_src_groups_OBJECTS = src/groups.$(OBJEXT) src/group-list.$(OBJEXT) src_groups_OBJECTS = $(am_src_groups_OBJECTS) src_groups_DEPENDENCIES = $(am__DEPENDENCIES_2) src_head_SOURCES = src/head.c src_head_OBJECTS = src/head.$(OBJEXT) src_head_DEPENDENCIES = $(am__DEPENDENCIES_2) src_hostid_SOURCES = src/hostid.c src_hostid_OBJECTS = src/hostid.$(OBJEXT) src_hostid_DEPENDENCIES = $(am__DEPENDENCIES_2) src_hostname_SOURCES = src/hostname.c src_hostname_OBJECTS = src/hostname.$(OBJEXT) src_hostname_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) am_src_id_OBJECTS = src/id.$(OBJEXT) src/group-list.$(OBJEXT) src_id_OBJECTS = $(am_src_id_OBJECTS) src_id_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_join_SOURCES = src/join.c src_join_OBJECTS = src/join.$(OBJEXT) src_join_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_kill_OBJECTS = src/kill.$(OBJEXT) src/operand2sig.$(OBJEXT) src_kill_OBJECTS = $(am_src_kill_OBJECTS) src_kill_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_libstdbuf_so_SOURCES = src/libstdbuf.c src_libstdbuf_so_OBJECTS = src/src_libstdbuf_so-libstdbuf.$(OBJEXT) src_libstdbuf_so_DEPENDENCIES = src_libstdbuf_so_LINK = $(CCLD) $(src_libstdbuf_so_CFLAGS) $(CFLAGS) \ $(src_libstdbuf_so_LDFLAGS) $(LDFLAGS) -o $@ src_link_SOURCES = src/link.c src_link_OBJECTS = src/link.$(OBJEXT) src_link_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_ln_OBJECTS = src/ln.$(OBJEXT) src/relpath.$(OBJEXT) src_ln_OBJECTS = $(am_src_ln_OBJECTS) src_ln_DEPENDENCIES = $(am__DEPENDENCIES_2) src_logname_SOURCES = src/logname.c src_logname_OBJECTS = src/logname.$(OBJEXT) src_logname_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_ls_OBJECTS = src/ls.$(OBJEXT) src/ls-ls.$(OBJEXT) src_ls_OBJECTS = $(am_src_ls_OBJECTS) src_ls_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) src_make_prime_list_SOURCES = src/make-prime-list.c src_make_prime_list_OBJECTS = src/make-prime-list.$(OBJEXT) src_make_prime_list_DEPENDENCIES = src_md5sum_SOURCES = src/md5sum.c src_md5sum_OBJECTS = src/src_md5sum-md5sum.$(OBJEXT) src_md5sum_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_mkdir_OBJECTS = src/mkdir.$(OBJEXT) src/prog-fprintf.$(OBJEXT) src_mkdir_OBJECTS = $(am_src_mkdir_OBJECTS) src_mkdir_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_mkfifo_SOURCES = src/mkfifo.c src_mkfifo_OBJECTS = src/mkfifo.$(OBJEXT) src_mkfifo_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_mknod_SOURCES = src/mknod.c src_mknod_OBJECTS = src/mknod.$(OBJEXT) src_mknod_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_mktemp_SOURCES = src/mktemp.c src_mktemp_OBJECTS = src/mktemp.$(OBJEXT) src_mktemp_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_mv_OBJECTS = src/mv.$(OBJEXT) src/remove.$(OBJEXT) \ $(am__objects_4) src_mv_OBJECTS = $(am_src_mv_OBJECTS) am__DEPENDENCIES_6 = $(am__DEPENDENCIES_1) src_mv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_4) \ $(am__DEPENDENCIES_6) src_nice_SOURCES = src/nice.c src_nice_OBJECTS = src/nice.$(OBJEXT) src_nice_DEPENDENCIES = $(am__DEPENDENCIES_2) src_nl_SOURCES = src/nl.c src_nl_OBJECTS = src/nl.$(OBJEXT) src_nl_DEPENDENCIES = $(am__DEPENDENCIES_2) src_nohup_SOURCES = src/nohup.c src_nohup_OBJECTS = src/nohup.$(OBJEXT) src_nohup_DEPENDENCIES = $(am__DEPENDENCIES_2) src_nproc_SOURCES = src/nproc.c src_nproc_OBJECTS = src/nproc.$(OBJEXT) src_nproc_DEPENDENCIES = $(am__DEPENDENCIES_2) src_numfmt_SOURCES = src/numfmt.c src_numfmt_OBJECTS = src/numfmt.$(OBJEXT) src_numfmt_LDADD = $(LDADD) src_numfmt_DEPENDENCIES = src/libver.a lib/libcoreutils.a \ $(am__DEPENDENCIES_1) lib/libcoreutils.a src_od_SOURCES = src/od.c src_od_OBJECTS = src/od.$(OBJEXT) src_od_DEPENDENCIES = $(am__DEPENDENCIES_2) src_paste_SOURCES = src/paste.c src_paste_OBJECTS = src/paste.$(OBJEXT) src_paste_DEPENDENCIES = $(am__DEPENDENCIES_2) src_pathchk_SOURCES = src/pathchk.c src_pathchk_OBJECTS = src/pathchk.$(OBJEXT) src_pathchk_DEPENDENCIES = $(am__DEPENDENCIES_2) src_pinky_SOURCES = src/pinky.c src_pinky_OBJECTS = src/pinky.$(OBJEXT) src_pinky_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_pr_SOURCES = src/pr.c src_pr_OBJECTS = src/pr.$(OBJEXT) src_pr_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_printenv_SOURCES = src/printenv.c src_printenv_OBJECTS = src/printenv.$(OBJEXT) src_printenv_DEPENDENCIES = $(am__DEPENDENCIES_2) src_printf_SOURCES = src/printf.c src_printf_OBJECTS = src/printf.$(OBJEXT) src_printf_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_ptx_SOURCES = src/ptx.c src_ptx_OBJECTS = src/ptx.$(OBJEXT) src_ptx_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_pwd_SOURCES = src/pwd.c src_pwd_OBJECTS = src/pwd.$(OBJEXT) src_pwd_DEPENDENCIES = $(am__DEPENDENCIES_2) src_readlink_SOURCES = src/readlink.c src_readlink_OBJECTS = src/readlink.$(OBJEXT) src_readlink_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_realpath_OBJECTS = src/realpath.$(OBJEXT) src/relpath.$(OBJEXT) src_realpath_OBJECTS = $(am_src_realpath_OBJECTS) src_realpath_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) am_src_rm_OBJECTS = src/rm.$(OBJEXT) src/remove.$(OBJEXT) src_rm_OBJECTS = $(am_src_rm_OBJECTS) src_rm_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_6) am_src_rmdir_OBJECTS = src/rmdir.$(OBJEXT) src/prog-fprintf.$(OBJEXT) src_rmdir_OBJECTS = $(am_src_rmdir_OBJECTS) src_rmdir_DEPENDENCIES = $(am__DEPENDENCIES_2) src_runcon_SOURCES = src/runcon.c src_runcon_OBJECTS = src/runcon.$(OBJEXT) src_runcon_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_seq_SOURCES = src/seq.c src_seq_OBJECTS = src/seq.$(OBJEXT) src_seq_DEPENDENCIES = $(am__DEPENDENCIES_2) src_setuidgid_SOURCES = src/setuidgid.c src_setuidgid_OBJECTS = src/setuidgid.$(OBJEXT) src_setuidgid_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_sha1sum_OBJECTS = src/src_sha1sum-md5sum.$(OBJEXT) src_sha1sum_OBJECTS = $(am_src_sha1sum_OBJECTS) src_sha1sum_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_sha224sum_OBJECTS = src/src_sha224sum-md5sum.$(OBJEXT) src_sha224sum_OBJECTS = $(am_src_sha224sum_OBJECTS) src_sha224sum_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_sha256sum_OBJECTS = src/src_sha256sum-md5sum.$(OBJEXT) src_sha256sum_OBJECTS = $(am_src_sha256sum_OBJECTS) src_sha256sum_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_sha384sum_OBJECTS = src/src_sha384sum-md5sum.$(OBJEXT) src_sha384sum_OBJECTS = $(am_src_sha384sum_OBJECTS) src_sha384sum_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_sha512sum_OBJECTS = src/src_sha512sum-md5sum.$(OBJEXT) src_sha512sum_OBJECTS = $(am_src_sha512sum_OBJECTS) src_sha512sum_DEPENDENCIES = $(am__DEPENDENCIES_2) src_shred_SOURCES = src/shred.c src_shred_OBJECTS = src/shred.$(OBJEXT) src_shred_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_shuf_SOURCES = src/shuf.c src_shuf_OBJECTS = src/shuf.$(OBJEXT) src_shuf_DEPENDENCIES = $(am__DEPENDENCIES_2) src_sleep_SOURCES = src/sleep.c src_sleep_OBJECTS = src/sleep.$(OBJEXT) src_sleep_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_sort_SOURCES = src/sort.c src_sort_OBJECTS = src/sort.$(OBJEXT) src_sort_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) src_split_SOURCES = src/split.c src_split_OBJECTS = src/split.$(OBJEXT) src_split_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) am_src_stat_OBJECTS = src/stat.$(OBJEXT) \ src/find-mount-point.$(OBJEXT) src_stat_OBJECTS = $(am_src_stat_OBJECTS) src_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_stdbuf_SOURCES = src/stdbuf.c src_stdbuf_OBJECTS = src/stdbuf.$(OBJEXT) src_stdbuf_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_stty_SOURCES = src/stty.c src_stty_OBJECTS = src/stty.$(OBJEXT) src_stty_DEPENDENCIES = $(am__DEPENDENCIES_2) src_sum_SOURCES = src/sum.c src_sum_OBJECTS = src/sum.$(OBJEXT) src_sum_DEPENDENCIES = $(am__DEPENDENCIES_2) src_sync_SOURCES = src/sync.c src_sync_OBJECTS = src/sync.$(OBJEXT) src_sync_DEPENDENCIES = $(am__DEPENDENCIES_2) src_tac_SOURCES = src/tac.c src_tac_OBJECTS = src/tac.$(OBJEXT) src_tac_DEPENDENCIES = $(am__DEPENDENCIES_2) src_tail_SOURCES = src/tail.c src_tail_OBJECTS = src/tail.$(OBJEXT) src_tail_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_tee_SOURCES = src/tee.c src_tee_OBJECTS = src/tee.$(OBJEXT) src_tee_DEPENDENCIES = $(am__DEPENDENCIES_2) src_test_SOURCES = src/test.c src_test_OBJECTS = src/test.$(OBJEXT) src_test_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) am_src_timeout_OBJECTS = src/timeout.$(OBJEXT) \ src/operand2sig.$(OBJEXT) src_timeout_OBJECTS = $(am_src_timeout_OBJECTS) src_timeout_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) src_touch_SOURCES = src/touch.c src_touch_OBJECTS = src/touch.$(OBJEXT) src_touch_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_tr_SOURCES = src/tr.c src_tr_OBJECTS = src/tr.$(OBJEXT) src_tr_DEPENDENCIES = $(am__DEPENDENCIES_2) src_true_SOURCES = src/true.c src_true_OBJECTS = src/true.$(OBJEXT) src_true_DEPENDENCIES = $(am__DEPENDENCIES_2) src_truncate_SOURCES = src/truncate.c src_truncate_OBJECTS = src/truncate.$(OBJEXT) src_truncate_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) src_tsort_SOURCES = src/tsort.c src_tsort_OBJECTS = src/tsort.$(OBJEXT) src_tsort_DEPENDENCIES = $(am__DEPENDENCIES_2) src_tty_SOURCES = src/tty.c src_tty_OBJECTS = src/tty.$(OBJEXT) src_tty_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_uname_OBJECTS = src/uname.$(OBJEXT) src/uname-uname.$(OBJEXT) src_uname_OBJECTS = $(am_src_uname_OBJECTS) src_uname_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_unexpand_SOURCES = src/unexpand.c src_unexpand_OBJECTS = src/unexpand.$(OBJEXT) src_unexpand_DEPENDENCIES = $(am__DEPENDENCIES_2) src_uniq_SOURCES = src/uniq.c src_uniq_OBJECTS = src/uniq.$(OBJEXT) src_uniq_DEPENDENCIES = $(am__DEPENDENCIES_2) src_unlink_SOURCES = src/unlink.c src_unlink_OBJECTS = src/unlink.$(OBJEXT) src_unlink_DEPENDENCIES = $(am__DEPENDENCIES_2) src_uptime_SOURCES = src/uptime.c src_uptime_OBJECTS = src/uptime.$(OBJEXT) src_uptime_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_users_SOURCES = src/users.c src_users_OBJECTS = src/users.$(OBJEXT) src_users_DEPENDENCIES = $(am__DEPENDENCIES_2) am_src_vdir_OBJECTS = src/ls.$(OBJEXT) src/ls-vdir.$(OBJEXT) src_vdir_OBJECTS = $(am_src_vdir_OBJECTS) src_vdir_DEPENDENCIES = $(am__DEPENDENCIES_5) src_wc_SOURCES = src/wc.c src_wc_OBJECTS = src/wc.$(OBJEXT) src_wc_DEPENDENCIES = $(am__DEPENDENCIES_2) src_who_SOURCES = src/who.c src_who_OBJECTS = src/who.$(OBJEXT) src_who_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) src_whoami_SOURCES = src/whoami.c src_whoami_OBJECTS = src/whoami.$(OBJEXT) src_whoami_DEPENDENCIES = $(am__DEPENDENCIES_2) src_yes_SOURCES = src/yes.c src_yes_OBJECTS = src/yes.$(OBJEXT) src_yes_DEPENDENCIES = $(am__DEPENDENCIES_2) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) AM_V_YACC = $(am__v_YACC_@AM_V@) am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) am__v_YACC_0 = @echo " YACC " $@; YLWRAP = $(top_srcdir)/build-aux/ylwrap AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(lib_libcoreutils_a_SOURCES) \ $(EXTRA_lib_libcoreutils_a_SOURCES) \ $(nodist_src_libver_a_SOURCES) $(src___SOURCES) \ $(src_arch_SOURCES) src/base64.c src/basename.c src/cat.c \ src/chcon.c $(src_chgrp_SOURCES) src/chmod.c \ $(src_chown_SOURCES) src/chroot.c src/cksum.c src/comm.c \ $(src_cp_SOURCES) src/csplit.c src/cut.c src/date.c src/dd.c \ $(src_df_SOURCES) $(src_dir_SOURCES) src/dircolors.c \ src/dirname.c src/du.c src/echo.c src/env.c src/expand.c \ src/expr.c src/factor.c src/false.c src/fmt.c src/fold.c \ src/getlimits.c $(src_ginstall_SOURCES) $(src_groups_SOURCES) \ src/head.c src/hostid.c src/hostname.c $(src_id_SOURCES) \ src/join.c $(src_kill_SOURCES) src/libstdbuf.c src/link.c \ $(src_ln_SOURCES) src/logname.c $(src_ls_SOURCES) \ src/make-prime-list.c src/md5sum.c $(src_mkdir_SOURCES) \ src/mkfifo.c src/mknod.c src/mktemp.c $(src_mv_SOURCES) \ src/nice.c src/nl.c src/nohup.c src/nproc.c src/numfmt.c \ src/od.c src/paste.c src/pathchk.c src/pinky.c src/pr.c \ src/printenv.c src/printf.c src/ptx.c src/pwd.c src/readlink.c \ $(src_realpath_SOURCES) $(src_rm_SOURCES) $(src_rmdir_SOURCES) \ src/runcon.c src/seq.c src/setuidgid.c $(src_sha1sum_SOURCES) \ $(src_sha224sum_SOURCES) $(src_sha256sum_SOURCES) \ $(src_sha384sum_SOURCES) $(src_sha512sum_SOURCES) src/shred.c \ src/shuf.c src/sleep.c src/sort.c src/split.c \ $(src_stat_SOURCES) src/stdbuf.c src/stty.c src/sum.c \ src/sync.c src/tac.c src/tail.c src/tee.c src/test.c \ $(src_timeout_SOURCES) src/touch.c src/tr.c src/true.c \ src/truncate.c src/tsort.c src/tty.c $(src_uname_SOURCES) \ src/unexpand.c src/uniq.c src/unlink.c src/uptime.c \ src/users.c $(src_vdir_SOURCES) src/wc.c src/who.c \ src/whoami.c src/yes.c DIST_SOURCES = $(am__lib_libcoreutils_a_SOURCES_DIST) \ $(EXTRA_lib_libcoreutils_a_SOURCES) $(src___SOURCES) \ $(src_arch_SOURCES) src/base64.c src/basename.c src/cat.c \ src/chcon.c $(src_chgrp_SOURCES) src/chmod.c \ $(src_chown_SOURCES) src/chroot.c src/cksum.c src/comm.c \ $(src_cp_SOURCES) src/csplit.c src/cut.c src/date.c src/dd.c \ $(src_df_SOURCES) $(src_dir_SOURCES) src/dircolors.c \ src/dirname.c src/du.c src/echo.c src/env.c src/expand.c \ src/expr.c src/factor.c src/false.c src/fmt.c src/fold.c \ src/getlimits.c $(src_ginstall_SOURCES) $(src_groups_SOURCES) \ src/head.c src/hostid.c src/hostname.c $(src_id_SOURCES) \ src/join.c $(src_kill_SOURCES) src/libstdbuf.c src/link.c \ $(src_ln_SOURCES) src/logname.c $(src_ls_SOURCES) \ src/make-prime-list.c src/md5sum.c $(src_mkdir_SOURCES) \ src/mkfifo.c src/mknod.c src/mktemp.c $(src_mv_SOURCES) \ src/nice.c src/nl.c src/nohup.c src/nproc.c src/numfmt.c \ src/od.c src/paste.c src/pathchk.c src/pinky.c src/pr.c \ src/printenv.c src/printf.c src/ptx.c src/pwd.c src/readlink.c \ $(src_realpath_SOURCES) $(src_rm_SOURCES) $(src_rmdir_SOURCES) \ src/runcon.c src/seq.c src/setuidgid.c $(src_sha1sum_SOURCES) \ $(src_sha224sum_SOURCES) $(src_sha256sum_SOURCES) \ $(src_sha384sum_SOURCES) $(src_sha512sum_SOURCES) src/shred.c \ src/shuf.c src/sleep.c src/sort.c src/split.c \ $(src_stat_SOURCES) src/stdbuf.c src/stty.c src/sum.c \ src/sync.c src/tac.c src/tail.c src/tee.c src/test.c \ $(src_timeout_SOURCES) src/touch.c src/tr.c src/true.c \ src/truncate.c src/tsort.c src/tty.c $(src_uname_SOURCES) \ src/unexpand.c src/uniq.c src/unlink.c src/uptime.c \ src/users.c $(src_vdir_SOURCES) src/wc.c src/who.c \ src/whoami.c src/yes.c INFO_DEPS = $(srcdir)/doc/coreutils.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux DVIS = doc/coreutils.dvi PDFS = doc/coreutils.pdf PSS = doc/coreutils.ps HTMLS = doc/coreutils.html TEXINFOS = doc/coreutils.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) DVIPS = dvips RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man1_MANS) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ check recheck check-html recheck-html distdir dist dist-all \ distcheck ETAGS = etags CTAGS = ctags # If stdout is a non-dumb tty, use colors. If test -t is not supported, # then this fails; a conservative approach. Of course do not redirect # stdout here, just stderr. am__tty_colors = \ red=; grn=; lgn=; blu=; std=; \ test "X$(AM_COLOR_TESTS)" != Xno \ && test "X$$TERM" != Xdumb \ && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ && { \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ std=''; \ } # Restructured Text title and section. am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' am__rst_section = sed 'p;s/./=/g;p;g' # Put stdin (possibly several lines separated by ". ") in a box. # Prefix each line by 'col' and terminate each with 'std', for coloring. # Multi line coloring is problematic with "less -R", so we really need # to color each line individually. am__text_box = $(AWK) '{ \ n = split($$0, lines, "\\. "); max = 0; \ for (i = 1; i <= n; ++i) \ if (max < length(lines[i])) \ max = length(lines[i]); \ for (i = 0; i < max; ++i) \ line = line "="; \ print col line std; \ for (i = 1; i <= n; ++i) \ if (lines[i]) \ print col lines[i] std; \ print col line std; \ }' # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log, and passes # TESTS_ENVIRONMENT. Save and restore TERM around use of # TESTS_ENVIRONMENT, in case that unsets it. am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ srcdir=$(srcdir); export srcdir; \ rm -f $@-t; \ am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \ trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \ trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \ am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \ test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \ $(TESTS_ENVIRONMENT) # To be appended to the command running the test. Handle the stdout # and stderr redirection, and catch the exit status. am__check_post = \ >$@-t 2>&1; \ estatus=$$?; \ if test -n '$(DISABLE_HARD_ERRORS)' \ && test $$estatus -eq 99; then \ estatus=1; \ fi; \ TERM=$$__SAVED_TERM; export TERM; \ $(am__tty_colors); \ xfailed=PASS; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ xfailed=XFAIL;; \ esac; \ case $$estatus.$$xfailed in \ 0.XFAIL) col=$$red; res=XPASS;; \ 0.*) col=$$grn; res=PASS ;; \ 77.*) col=$$blu; res=SKIP ;; \ 99.*) col=$$red; res=FAIL ;; \ *.XFAIL) col=$$lgn; res=XFAIL;; \ *.*) col=$$red; res=FAIL ;; \ esac; \ echo "$${col}$$res$${std}: $$f"; \ echo "$$res: $$f (exit: $$estatus)" | \ $(am__rst_section) >$@; \ cat $@-t >>$@; \ rm -f $@-t RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) am__test_logs3 = $(am__test_logs2:.sh.log=.log) SH_LOG_COMPILE = $(SH_LOG_COMPILER) $(AM_SH_LOG_FLAGS) $(SH_LOG_FLAGS) am__test_logs4 = $(am__test_logs3:.pl.log=.log) PL_LOG_COMPILE = $(PL_LOG_COMPILER) $(AM_PL_LOG_FLAGS) $(PL_LOG_FLAGS) TEST_LOGS = $(am__test_logs4:.xpl.log=.log) XPL_LOG_COMPILE = $(XPL_LOG_COMPILER) $(AM_XPL_LOG_FLAGS) \ $(XPL_LOG_FLAGS) TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t) DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.xz distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print pkglibexecdir = @pkglibexecdir@ # Use 'ginstall' in the definition of PROGRAMS and in dependencies to avoid # confusion with the 'install' target. The install rule transforms 'ginstall' # to install before applying any user-specified name transformations. transform = s/ginstall/install/; $(program_transform_name) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_INCLUDE = @CONFIG_INCLUDE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@ EMULTIHOP_VALUE = @EMULTIHOP_VALUE@ ENOLINK_HIDDEN = @ENOLINK_HIDDEN@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ EXTRA_MANS = @EXTRA_MANS@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ GETHOSTNAME_LIB = @GETHOSTNAME_LIB@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ GNULIB_ACOSF = @GNULIB_ACOSF@ GNULIB_ACOSL = @GNULIB_ACOSL@ GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ GNULIB_ASINF = @GNULIB_ASINF@ GNULIB_ASINL = @GNULIB_ASINL@ GNULIB_ATAN2F = @GNULIB_ATAN2F@ GNULIB_ATANF = @GNULIB_ATANF@ GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CBRT = @GNULIB_CBRT@ GNULIB_CBRTF = @GNULIB_CBRTF@ GNULIB_CBRTL = @GNULIB_CBRTL@ GNULIB_CEIL = @GNULIB_CEIL@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ GNULIB_COSF = @GNULIB_COSF@ GNULIB_COSHF = @GNULIB_COSHF@ GNULIB_COSL = @GNULIB_COSL@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ GNULIB_EXP2 = @GNULIB_EXP2@ GNULIB_EXP2F = @GNULIB_EXP2F@ GNULIB_EXP2L = @GNULIB_EXP2L@ GNULIB_EXPF = @GNULIB_EXPF@ GNULIB_EXPL = @GNULIB_EXPL@ GNULIB_EXPM1 = @GNULIB_EXPM1@ GNULIB_EXPM1F = @GNULIB_EXPM1F@ GNULIB_EXPM1L = @GNULIB_EXPM1L@ GNULIB_FABSF = @GNULIB_FABSF@ GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FLOOR = @GNULIB_FLOOR@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FMA = @GNULIB_FMA@ GNULIB_FMAF = @GNULIB_FMAF@ GNULIB_FMAL = @GNULIB_FMAL@ GNULIB_FMOD = @GNULIB_FMOD@ GNULIB_FMODF = @GNULIB_FMODF@ GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPF = @GNULIB_FREXPF@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FSTAT = @GNULIB_FSTAT@ GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@ GNULIB_GETC = @GNULIB_GETC@ GNULIB_GETCHAR = @GNULIB_GETCHAR@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@ GNULIB_GETRUSAGE = @GNULIB_GETRUSAGE@ GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ GNULIB_HYPOT = @GNULIB_HYPOT@ GNULIB_HYPOTF = @GNULIB_HYPOTF@ GNULIB_HYPOTL = @GNULIB_HYPOTL@ GNULIB_ICONV = @GNULIB_ICONV@ GNULIB_ILOGB = @GNULIB_ILOGB@ GNULIB_ILOGBF = @GNULIB_ILOGBF@ GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISBLANK = @GNULIB_ISBLANK@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_ISINF = @GNULIB_ISINF@ GNULIB_ISNAN = @GNULIB_ISNAN@ GNULIB_ISNAND = @GNULIB_ISNAND@ GNULIB_ISNANF = @GNULIB_ISNANF@ GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPF = @GNULIB_LDEXPF@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LOG = @GNULIB_LOG@ GNULIB_LOG10 = @GNULIB_LOG10@ GNULIB_LOG10F = @GNULIB_LOG10F@ GNULIB_LOG10L = @GNULIB_LOG10L@ GNULIB_LOG1P = @GNULIB_LOG1P@ GNULIB_LOG1PF = @GNULIB_LOG1PF@ GNULIB_LOG1PL = @GNULIB_LOG1PL@ GNULIB_LOG2 = @GNULIB_LOG2@ GNULIB_LOG2F = @GNULIB_LOG2F@ GNULIB_LOG2L = @GNULIB_LOG2L@ GNULIB_LOGB = @GNULIB_LOGB@ GNULIB_LOGBF = @GNULIB_LOGBF@ GNULIB_LOGBL = @GNULIB_LOGBL@ GNULIB_LOGF = @GNULIB_LOGF@ GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSINIT = @GNULIB_MBSINIT@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MBTOWC = @GNULIB_MBTOWC@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ GNULIB_MKNOD = @GNULIB_MKNOD@ GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_MODF = @GNULIB_MODF@ GNULIB_MODFF = @GNULIB_MODFF@ GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_POSIX_SPAWN = @GNULIB_POSIX_SPAWN@ GNULIB_POSIX_SPAWNATTR_DESTROY = @GNULIB_POSIX_SPAWNATTR_DESTROY@ GNULIB_POSIX_SPAWNATTR_GETFLAGS = @GNULIB_POSIX_SPAWNATTR_GETFLAGS@ GNULIB_POSIX_SPAWNATTR_GETPGROUP = @GNULIB_POSIX_SPAWNATTR_GETPGROUP@ GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@ GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY@ GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@ GNULIB_POSIX_SPAWNATTR_GETSIGMASK = @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@ GNULIB_POSIX_SPAWNATTR_INIT = @GNULIB_POSIX_SPAWNATTR_INIT@ GNULIB_POSIX_SPAWNATTR_SETFLAGS = @GNULIB_POSIX_SPAWNATTR_SETFLAGS@ GNULIB_POSIX_SPAWNATTR_SETPGROUP = @GNULIB_POSIX_SPAWNATTR_SETPGROUP@ GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@ GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY = @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@ GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT = @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@ GNULIB_POSIX_SPAWNATTR_SETSIGMASK = @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@ GNULIB_POSIX_SPAWNP = @GNULIB_POSIX_SPAWNP@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@ GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PSELECT = @GNULIB_PSELECT@ GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@ GNULIB_PTSNAME = @GNULIB_PTSNAME@ GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@ GNULIB_PUTC = @GNULIB_PUTC@ GNULIB_PUTCHAR = @GNULIB_PUTCHAR@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_PUTS = @GNULIB_PUTS@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ GNULIB_REMAINDER = @GNULIB_REMAINDER@ GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RINT = @GNULIB_RINT@ GNULIB_RINTF = @GNULIB_RINTF@ GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SELECT = @GNULIB_SELECT@ GNULIB_SEND = @GNULIB_SEND@ GNULIB_SENDTO = @GNULIB_SENDTO@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ GNULIB_SINF = @GNULIB_SINF@ GNULIB_SINHF = @GNULIB_SINHF@ GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_SQRTF = @GNULIB_SQRTF@ GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ GNULIB_TANF = @GNULIB_TANF@ GNULIB_TANHF = @GNULIB_TANHF@ GNULIB_TANL = @GNULIB_TANL@ GNULIB_TCGETSID = @GNULIB_TCGETSID@ GNULIB_TEST_WARN_CFLAGS = @GNULIB_TEST_WARN_CFLAGS@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNAME = @GNULIB_UNAME@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VFSCANF = @GNULIB_VFSCANF@ GNULIB_VPRINTF = @GNULIB_VPRINTF@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSCANF = @GNULIB_VSCANF@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WAITPID = @GNULIB_WAITPID@ GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@ GNULIB_WCPCPY = @GNULIB_WCPCPY@ GNULIB_WCPNCPY = @GNULIB_WCPNCPY@ GNULIB_WCRTOMB = @GNULIB_WCRTOMB@ GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@ GNULIB_WCSCAT = @GNULIB_WCSCAT@ GNULIB_WCSCHR = @GNULIB_WCSCHR@ GNULIB_WCSCMP = @GNULIB_WCSCMP@ GNULIB_WCSCOLL = @GNULIB_WCSCOLL@ GNULIB_WCSCPY = @GNULIB_WCSCPY@ GNULIB_WCSCSPN = @GNULIB_WCSCSPN@ GNULIB_WCSDUP = @GNULIB_WCSDUP@ GNULIB_WCSLEN = @GNULIB_WCSLEN@ GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@ GNULIB_WCSNCAT = @GNULIB_WCSNCAT@ GNULIB_WCSNCMP = @GNULIB_WCSNCMP@ GNULIB_WCSNCPY = @GNULIB_WCSNCPY@ GNULIB_WCSNLEN = @GNULIB_WCSNLEN@ GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@ GNULIB_WCSPBRK = @GNULIB_WCSPBRK@ GNULIB_WCSRCHR = @GNULIB_WCSRCHR@ GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@ GNULIB_WCSSPN = @GNULIB_WCSSPN@ GNULIB_WCSSTR = @GNULIB_WCSSTR@ GNULIB_WCSTOK = @GNULIB_WCSTOK@ GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@ GNULIB_WCSXFRM = @GNULIB_WCSXFRM@ GNULIB_WCTOB = @GNULIB_WCTOB@ GNULIB_WCTOMB = @GNULIB_WCTOMB@ GNULIB_WCTRANS = @GNULIB_WCTRANS@ GNULIB_WCTYPE = @GNULIB_WCTYPE@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ HAVE_ACOSF = @HAVE_ACOSF@ HAVE_ACOSL = @HAVE_ACOSL@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_ASINF = @HAVE_ASINF@ HAVE_ASINL = @HAVE_ASINL@ HAVE_ATAN2F = @HAVE_ATAN2F@ HAVE_ATANF = @HAVE_ATANF@ HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CBRT = @HAVE_CBRT@ HAVE_CBRTF = @HAVE_CBRTF@ HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ HAVE_COPYSIGN = @HAVE_COPYSIGN@ HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ HAVE_COSF = @HAVE_COSF@ HAVE_COSHF = @HAVE_COSHF@ HAVE_COSL = @HAVE_COSL@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TCGETSID = @HAVE_DECL_TCGETSID@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ HAVE_EXPF = @HAVE_EXPF@ HAVE_EXPL = @HAVE_EXPL@ HAVE_EXPM1 = @HAVE_EXPM1@ HAVE_EXPM1F = @HAVE_EXPM1F@ HAVE_FABSF = @HAVE_FABSF@ HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FMA = @HAVE_FMA@ HAVE_FMAF = @HAVE_FMAF@ HAVE_FMAL = @HAVE_FMAL@ HAVE_FMODF = @HAVE_FMODF@ HAVE_FMODL = @HAVE_FMODL@ HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETRUSAGE = @HAVE_GETRUSAGE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ HAVE_HYPOTF = @HAVE_HYPOTF@ HAVE_HYPOTL = @HAVE_HYPOTL@ HAVE_ILOGB = @HAVE_ILOGB@ HAVE_ILOGBF = @HAVE_ILOGBF@ HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISBLANK = @HAVE_ISBLANK@ HAVE_ISNAND = @HAVE_ISNAND@ HAVE_ISNANF = @HAVE_ISNANF@ HAVE_ISNANL = @HAVE_ISNANL@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LDEXPF = @HAVE_LDEXPF@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LOG10F = @HAVE_LOG10F@ HAVE_LOG10L = @HAVE_LOG10L@ HAVE_LOG1P = @HAVE_LOG1P@ HAVE_LOG1PF = @HAVE_LOG1PF@ HAVE_LOG1PL = @HAVE_LOG1PL@ HAVE_LOGBF = @HAVE_LOGBF@ HAVE_LOGBL = @HAVE_LOGBL@ HAVE_LOGF = @HAVE_LOGF@ HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ HAVE_MKNOD = @HAVE_MKNOD@ HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_MODFF = @HAVE_MODFF@ HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@ HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@ HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@ HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_H = @HAVE_PTHREAD_H@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ HAVE_PTHREAD_SPINLOCK_T = @HAVE_PTHREAD_SPINLOCK_T@ HAVE_PTHREAD_T = @HAVE_PTHREAD_T@ HAVE_PTSNAME = @HAVE_PTSNAME@ HAVE_PTSNAME_R = @HAVE_PTSNAME_R@ HAVE_PWRITE = @HAVE_PWRITE@ HAVE_RAISE = @HAVE_RAISE@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_REMAINDER = @HAVE_REMAINDER@ HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RINT = @HAVE_RINT@ HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SCHED_H = @HAVE_SCHED_H@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SINF = @HAVE_SINF@ HAVE_SINHF = @HAVE_SINHF@ HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_SPAWN_H = @HAVE_SPAWN_H@ HAVE_SQRTF = @HAVE_SQRTF@ HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_SCHED_PARAM = @HAVE_STRUCT_SCHED_PARAM@ HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@ HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRUCT_UTSNAME = @HAVE_STRUCT_UTSNAME@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_RESOURCE_H = @HAVE_SYS_RESOURCE_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ HAVE_SYS_UTSNAME_H = @HAVE_SYS_UTSNAME_H@ HAVE_TANF = @HAVE_TANF@ HAVE_TANHF = @HAVE_TANHF@ HAVE_TANL = @HAVE_TANL@ HAVE_TERMIOS_H = @HAVE_TERMIOS_H@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNAME = @HAVE_UNAME@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ HAVE_WCPNCPY = @HAVE_WCPNCPY@ HAVE_WCRTOMB = @HAVE_WCRTOMB@ HAVE_WCSCASECMP = @HAVE_WCSCASECMP@ HAVE_WCSCAT = @HAVE_WCSCAT@ HAVE_WCSCHR = @HAVE_WCSCHR@ HAVE_WCSCMP = @HAVE_WCSCMP@ HAVE_WCSCOLL = @HAVE_WCSCOLL@ HAVE_WCSCPY = @HAVE_WCSCPY@ HAVE_WCSCSPN = @HAVE_WCSCSPN@ HAVE_WCSDUP = @HAVE_WCSDUP@ HAVE_WCSLEN = @HAVE_WCSLEN@ HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@ HAVE_WCSNCAT = @HAVE_WCSNCAT@ HAVE_WCSNCMP = @HAVE_WCSNCMP@ HAVE_WCSNCPY = @HAVE_WCSNCPY@ HAVE_WCSNLEN = @HAVE_WCSNLEN@ HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@ HAVE_WCSPBRK = @HAVE_WCSPBRK@ HAVE_WCSRCHR = @HAVE_WCSRCHR@ HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@ HAVE_WCSSPN = @HAVE_WCSSPN@ HAVE_WCSSTR = @HAVE_WCSSTR@ HAVE_WCSTOK = @HAVE_WCSTOK@ HAVE_WCSWIDTH = @HAVE_WCSWIDTH@ HAVE_WCSXFRM = @HAVE_WCSXFRM@ HAVE_WCTRANS_T = @HAVE_WCTRANS_T@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WCTYPE_T = @HAVE_WCTYPE_T@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ HELP2MAN = @HELP2MAN@ HOSTENT_LIB = @HOSTENT_LIB@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ IGNORE_UNUSED_LIBRARIES_CFLAGS = @IGNORE_UNUSED_LIBRARIES_CFLAGS@ INCLUDE_NEXT = @INCLUDE_NEXT@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ INET_NTOP_LIB = @INET_NTOP_LIB@ INET_PTON_LIB = @INET_PTON_LIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = $(cu_install_program) INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LIB_ACL = @LIB_ACL@ LIB_CAP = @LIB_CAP@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_EACCESS = @LIB_EACCESS@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_GMP = @LIB_GMP@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LIB_PTHREAD = @LIB_PTHREAD@ LIB_SELECT = @LIB_SELECT@ LIB_SELINUX = @LIB_SELINUX@ LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIB_XATTR = @LIB_XATTR@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_CTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_CTYPE_H@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@ NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@ NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H = @NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ NEXT_AS_FIRST_DIRECTIVE_SPAWN_H = @NEXT_AS_FIRST_DIRECTIVE_SPAWN_H@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@ NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H = @NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@ NEXT_CTYPE_H = @NEXT_CTYPE_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LOCALE_H = @NEXT_LOCALE_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_PTHREAD_H = @NEXT_PTHREAD_H@ NEXT_SCHED_H = @NEXT_SCHED_H@ NEXT_SELINUX_SELINUX_H = @NEXT_SELINUX_SELINUX_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ NEXT_SPAWN_H = @NEXT_SPAWN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_RESOURCE_H = @NEXT_SYS_RESOURCE_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@ NEXT_SYS_UTSNAME_H = @NEXT_SYS_UTSNAME_H@ NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@ NEXT_TERMIOS_H = @NEXT_TERMIOS_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTHREAD_H = @PTHREAD_H@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CBRTF = @REPLACE_CBRTF@ REPLACE_CBRTL = @REPLACE_CBRTL@ REPLACE_CEIL = @REPLACE_CEIL@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXP2 = @REPLACE_EXP2@ REPLACE_EXP2L = @REPLACE_EXP2L@ REPLACE_EXPM1 = @REPLACE_EXPM1@ REPLACE_EXPM1F = @REPLACE_EXPM1F@ REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOOR = @REPLACE_FLOOR@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FMA = @REPLACE_FMA@ REPLACE_FMAF = @REPLACE_FMAF@ REPLACE_FMAL = @REPLACE_FMAL@ REPLACE_FMOD = @REPLACE_FMOD@ REPLACE_FMODF = @REPLACE_FMODF@ REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPF = @REPLACE_FREXPF@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_HYPOT = @REPLACE_HYPOT@ REPLACE_HYPOTF = @REPLACE_HYPOTF@ REPLACE_HYPOTL = @REPLACE_HYPOTL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ILOGB = @REPLACE_ILOGB@ REPLACE_ILOGBF = @REPLACE_ILOGBF@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISINF = @REPLACE_ISINF@ REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LOG = @REPLACE_LOG@ REPLACE_LOG10 = @REPLACE_LOG10@ REPLACE_LOG10F = @REPLACE_LOG10F@ REPLACE_LOG10L = @REPLACE_LOG10L@ REPLACE_LOG1P = @REPLACE_LOG1P@ REPLACE_LOG1PF = @REPLACE_LOG1PF@ REPLACE_LOG1PL = @REPLACE_LOG1PL@ REPLACE_LOG2 = @REPLACE_LOG2@ REPLACE_LOG2F = @REPLACE_LOG2F@ REPLACE_LOG2L = @REPLACE_LOG2L@ REPLACE_LOGB = @REPLACE_LOGB@ REPLACE_LOGBF = @REPLACE_LOGBF@ REPLACE_LOGBL = @REPLACE_LOGBL@ REPLACE_LOGF = @REPLACE_LOGF@ REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_MODF = @REPLACE_MODF@ REPLACE_MODFF = @REPLACE_MODFF@ REPLACE_MODFL = @REPLACE_MODFL@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_SPAWN = @REPLACE_POSIX_SPAWN@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PSELECT = @REPLACE_PSELECT@ REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_RAISE = @REPLACE_RAISE@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ REPLACE_REMAINDER = @REPLACE_REMAINDER@ REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNC = @REPLACE_TRUNC@ REPLACE_TRUNCF = @REPLACE_TRUNCF@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ SCHED_H = @SCHED_H@ SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@ SEQ_LIBM = @SEQ_LIBM@ SERVENT_LIB = @SERVENT_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_ACL = @USE_ACL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ YIELD_LIB = @YIELD_LIB@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ # The user can tweak these lists at configure time. bin_PROGRAMS = @bin_PROGRAMS@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ built_programs = @built_programs@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_WITNESS = @gltests_WITNESS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ lispdir = @lispdir@ localedir = @localedir@ localstatedir = @localstatedir@ man1_MANS = @man1_MANS@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkglibexec_PROGRAMS = @pkglibexec_PROGRAMS@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ALL_RECURSIVE_TARGETS = distcheck-hook check-root SUBDIRS = po . gnulib-tests changelog_etc = \ ChangeLog-2005 \ ChangeLog-2006 \ ChangeLog-2007 \ ChangeLog-2008 \ build-aux/ChangeLog-2007 \ doc/ChangeLog-2007 \ lib/ChangeLog-2007 \ m4/ChangeLog-2007 \ old/fileutils/ChangeLog \ old/fileutils/ChangeLog-1997 \ old/fileutils/NEWS \ old/sh-utils/ChangeLog \ old/sh-utils/ChangeLog.0 \ old/sh-utils/NEWS \ old/textutils/ChangeLog \ old/textutils/NEWS \ po/ChangeLog-2007 #if GNU_MAKE # [nicer features that work only with GNU Make] #else # [fallback features that work in any 'make' implementation; see # http://www.opengroup.org/susv3/utilities/make.html # for the 2004 POSIX specification] #endif #script: script.in # rm -f $@-t $@ # sed -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \ # -e 's#@''POSIX_SHELL''@#$(POSIX_SHELL)#g' \ # -e $(top_srcdir)/lib/$@.in >$@-t # chmod a+x $@-t # mv $@-t $@ #EXTRA_DIST += script.in #MOSTLYCLEANFILES += script script-t EXTRA_DIST = $(changelog_etc) .mailmap .prev-version .version \ .vg-suppressions THANKS.in THANKS-to-translators THANKStt.in \ bootstrap bootstrap.conf build-aux/gen-lists-of-programs.sh \ cfg.mk dist-check.mk maint.mk tests/GNUmakefile thanks-gen \ lib/acl-internal.h lib/acl.h lib/acl_entries.c lib/alignof.h \ lib/alloca.c lib/alloca.in.h lib/allocator.h \ $(top_srcdir)/build-aux/announce-gen lib/areadlink.h \ lib/areadlink.h lib/areadlink.h lib/at-func.c lib/argmatch.h \ lib/arpa_inet.in.h lib/openat-priv.h lib/openat-proc.c \ lib/backupfile.h lib/btowc.c lib/c-strcaseeq.h lib/c-strtod.h \ lib/c-strtod.c lib/c-strtod.h lib/calloc.c lib/calloc.c \ lib/canon-host.h lib/canonicalize.h lib/careadlinkat.h \ lib/chdir-long.c lib/chdir-long.h lib/chown.c \ lib/fchown-stub.c lib/cloexec.h lib/close.c lib/close-stream.h \ lib/closedir.c lib/dirent-private.h lib/closein.h \ lib/closeout.h lib/md5.h lib/sha1.h lib/sha256.h lib/sha512.h \ lib/ctype.in.h lib/cycle-check.h lib/dev-ino.h lib/dirent.in.h \ lib/dirent--.h lib/dirent-safer.h lib/dirfd.c lib/stripslash.c \ lib/dirname.h \ $(top_srcdir)/build-aux/do-release-commit-and-tag \ lib/dosname.h lib/ftoastr.c lib/ftoastr.h lib/dup.c lib/dup2.c \ lib/errno.in.h lib/error.c lib/error.h lib/euidaccess.c \ lib/exclude.h lib/exitfail.h lib/at-func.c lib/faccessat.c \ lib/fchdir.c lib/at-func.c lib/fchmodat.c lib/at-func.c \ lib/fchownat.c lib/fclose.c lib/fcntl.c lib/fcntl.in.h \ lib/fcntl--.h lib/fcntl-safer.h lib/fd-hook.h lib/fdatasync.c \ lib/fdopen.c lib/fdopendir.c lib/utimens.h lib/fflush.c \ lib/stdio-impl.h lib/file-set.h lib/file-type.h \ lib/fileblocks.c lib/filemode.h lib/filename.h \ lib/filenamecat.h lib/filevercmp.h lib/float.c lib/float.in.h \ lib/itold.c lib/fnmatch.c lib/fnmatch.in.h lib/fnmatch_loop.c \ lib/fopen.c lib/stdio--.h lib/stdio-safer.h lib/fpending.c \ lib/fpending.h lib/fprintftime.h lib/fpucw.h lib/fpurge.c \ lib/stdio-impl.h lib/freadahead.c lib/freadahead.h \ lib/stdio-impl.h lib/freading.h lib/stdio-impl.h \ lib/freadptr.c lib/freadptr.h lib/stdio-impl.h lib/freadseek.h \ lib/stdio-impl.h lib/freopen.c lib/stdio--.h lib/stdio-safer.h \ lib/frexp.c lib/frexp.c lib/frexpl.c lib/fseek.c lib/fseeko.c \ lib/stdio-impl.h lib/fseterr.c lib/fseterr.h lib/stdio-impl.h \ lib/fstat.c lib/at-func.c lib/fstatat.c lib/fsusage.c \ lib/fsusage.h lib/fsync.c lib/ftell.c lib/ftello.c \ lib/stdio-impl.h lib/ftoastr.h lib/ftruncate.c lib/fts-cycle.c \ lib/fts.c lib/fts_.h lib/full-write.c lib/futimens.c \ $(top_srcdir)/build-aux/gendocs.sh lib/gai_strerror.c \ lib/getaddrinfo.c lib/getcwd.c lib/getcwd-lgpl.c \ lib/getdelim.c lib/getdtablesize.c lib/getgroups.c \ lib/gethostname.c lib/w32sock.h lib/gethrxtime.h lib/xtime.h \ lib/getline.c lib/getloadavg.c lib/getlogin.c lib/getndelim2.h \ lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h \ lib/getpagesize.c lib/getpass.c lib/getpass.h \ lib/gettimeofday.c lib/getugroups.h lib/getusershell.c \ $(top_srcdir)/build-aux/git-version-gen \ $(top_srcdir)/build-aux/gitlog-to-changelog \ $(top_srcdir)/build-aux/gnu-web-doc-update \ $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ lib/group-member.c lib/hard-locale.h lib/hash.h \ lib/hash-triple.h $(top_srcdir)/build-aux/config.rpath \ lib/human.h lib/i-ring.h lib/iconv.in.h lib/iconv_open-aix.h \ lib/iconv_open-hpux.h lib/iconv_open-irix.h \ lib/iconv_open-osf.h lib/iconv_open-solaris.h lib/iconv.c \ lib/iconv_close.c lib/iconv_open-aix.gperf \ lib/iconv_open-hpux.gperf lib/iconv_open-irix.gperf \ lib/iconv_open-osf.gperf lib/iconv_open-solaris.gperf \ lib/iconv_open.c lib/idcache.h lib/ignore-value.h \ lib/inet_ntop.c lib/intprops.h lib/anytostr.c lib/inttostr.h \ lib/inttypes.in.h lib/isapipe.c lib/isapipe.h lib/isatty.c \ lib/isblank.c lib/float+.h lib/isnan.c lib/isnand-nolibm.h \ lib/isnand.c lib/float+.h lib/isnan.c lib/isnanf-nolibm.h \ lib/isnanf.c lib/float+.h lib/isnan.c lib/isnanl-nolibm.h \ lib/isnanl.c lib/iswblank.c lib/langinfo.in.h lib/lchown.c \ lib/ftoastr.c lib/ftoastr.h lib/link.c lib/at-func2.c \ lib/linkat.c lib/config.charset lib/ref-add.sin \ lib/ref-del.sin lib/locale.in.h lib/localeconv.c \ lib/long-options.h lib/lseek.c lib/lstat.c \ $(top_srcdir)/maint.mk lib/malloc.c lib/malloc.c lib/malloca.h \ lib/malloca.valgrind lib/math.in.h lib/mbchar.h lib/mbrlen.c \ lib/mbrtowc.c lib/mbsinit.c lib/mbsrtowcs-impl.h \ lib/mbsrtowcs-state.c lib/mbsrtowcs.c lib/str-kmp.h \ lib/mbtowc-impl.h lib/mbtowc.c lib/memcasecmp.h lib/memchr.c \ lib/memchr.valgrind lib/memchr2.valgrind lib/memcmp2.h \ lib/memcoll.h lib/mempcpy.c lib/memrchr.c lib/mgetgroups.h \ lib/mkancesdirs.h lib/mkdir.c lib/dirchownmod.h lib/mkdir-p.h \ lib/mkfifo.c lib/mknod.c lib/mkstemp.c lib/mktime-internal.h \ lib/mktime.c lib/modechange.h lib/mountlist.c lib/mountlist.h \ lib/mpsort.h lib/msvc-inval.c lib/msvc-inval.h \ lib/msvc-nothrow.c lib/msvc-nothrow.h lib/nanosleep.c \ lib/netdb.in.h lib/netinet_in.in.h lib/nl_langinfo.c \ $(top_srcdir)/build-aux/prefix-gnulib-mk lib/nproc.h \ lib/obstack.c lib/obstack.h lib/open.c lib/openat.c \ lib/openat.h lib/fcntl--.h lib/fcntl-safer.h \ lib/dirent-private.h lib/opendir.c lib/parse-datetime.c \ lib/parse-datetime.h lib/pathmax.h lib/physmem.h lib/pipe.h \ lib/spawn_int.h lib/spawni.c lib/spawn_faction_addclose.c \ lib/spawn_int.h lib/spawn_faction_adddup2.c lib/spawn_int.h \ lib/spawn_faction_addopen.c lib/spawn_int.h \ lib/spawn_faction_destroy.c lib/spawn_faction_init.c \ lib/spawn_int.h lib/spawnattr_destroy.c lib/spawnattr_init.c \ lib/spawnattr_setflags.c lib/spawnattr_setsigmask.c \ lib/spawnp.c lib/posixtm.h lib/posixver.h lib/printf-frexp.h \ lib/printf-frexp.c lib/printf-frexpl.h lib/priv-set.h \ lib/pthread.c lib/pthread.in.h lib/putenv.c lib/quote.h \ lib/quote.h lib/quotearg.h lib/raise.c lib/rawmemchr.c \ lib/rawmemchr.valgrind lib/read.c lib/read-file.h \ lib/dirent-private.h lib/readdir.c lib/readlink.c \ lib/at-func.c lib/readlinkat.c lib/readtokens.h lib/readutmp.c \ lib/readutmp.h lib/realloc.c lib/realloc.c lib/regcomp.c \ lib/regex.c lib/regex.h lib/regex_internal.c \ lib/regex_internal.h lib/regexec.c lib/remove.c lib/rename.c \ lib/dirent-private.h lib/rewinddir.c lib/rmdir.c \ lib/root-uid.h lib/rpmatch.c lib/safe-read.h lib/safe-read.c \ lib/safe-write.h lib/same.h lib/same-inode.h lib/save-cwd.h \ lib/savedir.h lib/sched.in.h lib/select.c lib/at-func.c \ lib/selinux-at.c lib/selinux-at.h lib/getfilecon.c \ lib/setenv.c lib/sig2str.c lib/sig2str.h lib/sig-handler.h \ lib/sigaction.c lib/signal.in.h lib/float+.h lib/signbitd.c \ lib/signbitf.c lib/signbitl.c lib/sigprocmask.c \ $(top_srcdir)/build-aux/snippet/_Noreturn.h \ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ $(top_srcdir)/build-aux/snippet/c++defs.h \ $(top_srcdir)/build-aux/snippet/unused-parameter.h \ $(top_srcdir)/build-aux/snippet/warn-on-use.h lib/snprintf.c \ lib/w32sock.h lib/spawn.in.h lib/stat.c lib/stat-macros.h \ lib/stat-size.h lib/stat-time.h lib/stdalign.in.h \ lib/stdarg.in.h lib/stdbool.in.h lib/stddef.in.h \ lib/stdint.in.h lib/stdio.in.h lib/stdlib.in.h lib/stdlib--.h \ lib/stdlib-safer.h lib/stpcpy.c lib/stpncpy.c lib/strchrnul.c \ lib/strchrnul.valgrind lib/strdup.c lib/streq.h lib/strerror.c \ lib/strerror-override.c lib/strerror-override.h lib/strftime.h \ lib/string.in.h lib/strncat.c lib/strndup.c lib/strnlen.c \ lib/strnumcmp-in.h lib/strpbrk.c lib/siglist.h lib/strsignal.c \ lib/str-two-way.h lib/strstr.c lib/strtod.c lib/strtoimax.c \ lib/strtol.c lib/strtoll.c lib/strtol.c lib/strtoul.c \ lib/strtoull.c lib/strtoimax.c lib/strtoumax.c lib/symlink.c \ lib/sys_ioctl.in.h lib/sys_resource.in.h lib/sys_select.in.h \ lib/sys_socket.in.h lib/sys_stat.in.h lib/sys_time.in.h \ lib/sys_types.in.h lib/sys_uio.in.h lib/sys_utsname.in.h \ lib/sys_wait.in.h lib/tempname.h lib/termios.in.h \ $(top_srcdir)/build-aux/config.rpath lib/time.in.h \ lib/time_r.c lib/timespec.h lib/trim.h lib/u64.h lib/uname.c \ lib/unistd.in.h lib/unistd--.h lib/unistd-safer.h \ lib/unistr.in.h lib/unitypes.in.h lib/localcharset.h \ lib/uniwidth.in.h lib/uniwidth/cjk.h lib/unlink.c \ lib/at-func.c lib/unlinkat.c lib/unlocked-io.h lib/unsetenv.c \ $(top_srcdir)/build-aux/update-copyright \ $(top_srcdir)/build-aux/useless-if-before-free lib/userspec.h \ lib/utimecmp.h lib/utimens.h lib/at-func.c lib/utimensat.c \ lib/asnprintf.c lib/float+.h lib/printf-args.c \ lib/printf-args.h lib/printf-parse.c lib/printf-parse.h \ lib/vasnprintf.c lib/vasnprintf.h lib/asprintf.c \ lib/vasprintf.c $(top_srcdir)/build-aux/vc-list-files \ lib/verify.h lib/vfprintf.c lib/vprintf.c lib/waitpid.c \ lib/wchar.in.h lib/wcrtomb.c lib/wcswidth-impl.h \ lib/wcswidth.c lib/wctype.in.h lib/wcwidth.c lib/write.c \ lib/write-any-file.h lib/xalloc.h lib/xalloc-oversized.h \ lib/xgetcwd.h lib/xnanosleep.h lib/xreadlink.h lib/xstrtod.h \ lib/xstrtol.h lib/xstrtod.c lib/xstrtod.h lib/xalloc.h \ lib/yesno.h src/dcgen src/dircolors.hin src/primes.h \ src/tac-pipe.c src/extract-magic src/c99-to-c89.diff \ man/help2man man/dummy-man $(man1_MANS:.1=.x) \ $(EXTRA_MANS:.1=.x) $(all_tests) init.cfg tests/Coreutils.pm \ tests/CuSkip.pm tests/CuTmpdir.pm tests/d_type-check \ tests/envvar-check tests/factor/run.sh \ tests/factor/create-test.sh tests/filefrag-extent-compare \ tests/fiemap-capable tests/init.sh tests/lang-default \ tests/no-perl tests/other-fs-tmpdir tests/sample-test \ $(pr_data) gen_progs_lists = $(top_srcdir)/build-aux/gen-lists-of-programs.sh ACLOCAL_AMFLAGS = -I m4 # Just prior to distribution, ... # transform the automake-generated rule that runs 'rm -f rm > /dev/null 2>&1 || /bin/rm -f rm'. # On some systems, that command would fail with a diagnostic like # "rm: cannot unlink 'rm': Text file busy" when '.' appears so early # in the shell's search path that running 'rm' would run the 'rm' # executable in the current directory. # Similarly, adjust the clean-binPROGRAMS rule. rm_subst = \ s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1! # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. # This file is built by maintainers. It's architecture-independent, # and it needs to be built on a widest-known-int architecture, so it's # built only if absent. It is not cleaned because we don't want to # insist that maintainers must build on hosts that support the widest # known ints (currently 128-bit). BUILT_SOURCES = .version $(ALLOCA_H) lib/arpa/inet.h lib/configmake.h \ lib/ctype.h lib/dirent.h $(ERRNO_H) lib/fcntl.h $(FLOAT_H) \ $(FNMATCH_H) $(GETOPT_H) $(ICONV_H) lib/iconv_open-aix.h \ lib/iconv_open-hpux.h lib/iconv_open-irix.h \ lib/iconv_open-osf.h lib/iconv_open-solaris.h lib/inttypes.h \ lib/langinfo.h lib/locale.h lib/math.h lib/netdb.h \ $(NETINET_IN_H) lib/parse-datetime.c $(PTHREAD_H) $(SCHED_H) \ lib/selinux/selinux.h $(SELINUX_CONTEXT_H) lib/signal.h \ lib/arg-nonnull.h lib/c++defs.h lib/unused-parameter.h \ lib/warn-on-use.h lib/spawn.h $(STDALIGN_H) $(STDARG_H) \ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) lib/stdio.h lib/stdlib.h \ lib/string.h lib/sys/ioctl.h lib/sys/resource.h \ lib/sys/select.h lib/sys/socket.h lib/sys/stat.h \ lib/sys/time.h lib/sys/types.h lib/sys/uio.h lib/sys/utsname.h \ lib/sys/wait.h lib/termios.h lib/time.h lib/unistd.h \ $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H) \ $(LIBUNISTRING_UNIWIDTH_H) lib/wchar.h lib/wctype.h \ src/dircolors.h $(top_srcdir)/src/primes.h src/fs-is-local.h \ src/fs.h src/version.c src/version.h gen_start_date = 2008-02-08 DISTCLEANFILES = VERSION src/version.c src/version.h MAINTAINERCLEANFILES = THANKS-to-translators lib/iconv_open-aix.h \ lib/iconv_open-hpux.h lib/iconv_open-irix.h \ lib/iconv_open-osf.h lib/iconv_open-solaris.h \ lib/parse-datetime.c $(BUILT_SOURCES) doc/constants.texi # Sort in traditional ASCII order, regardless of the current locale; # otherwise we may get into trouble with distinct strings that the # current locale considers to be equal. ASSORT = LC_ALL=C sort # Extract all lines up to the first one starting with "##". prologue = perl -ne '/^\#\#/ and exit; print' $(srcdir)/THANKS.in noinst_LIBRARIES = lib/libcoreutils.a src/libver.a MOSTLYCLEANFILES = lib/core lib/*.stackdump lib/alloca.h \ lib/alloca.h-t lib/arpa/inet.h lib/arpa/inet.h-t lib/ctype.h \ lib/ctype.h-t lib/dirent.h lib/dirent.h-t lib/errno.h \ lib/errno.h-t lib/fcntl.h lib/fcntl.h-t lib/float.h \ lib/float.h-t lib/fnmatch.h lib/fnmatch.h-t lib/getopt.h \ lib/getopt.h-t lib/iconv.h lib/iconv.h-t \ lib/iconv_open-aix.h-t lib/iconv_open-hpux.h-t \ lib/iconv_open-irix.h-t lib/iconv_open-osf.h-t \ lib/iconv_open-solaris.h-t lib/inttypes.h lib/inttypes.h-t \ lib/langinfo.h lib/langinfo.h-t lib/locale.h lib/locale.h-t \ lib/math.h lib/math.h-t lib/netdb.h lib/netdb.h-t \ lib/netinet/in.h lib/netinet/in.h-t lib/parse-datetime.c-t \ lib/pthread.h lib/pthread.h-t lib/sched.h lib/sched.h-t \ lib/selinux/selinux.h lib/selinux/selinux.h-t \ lib/selinux/context.h lib/selinux/context.h-t lib/signal.h \ lib/signal.h-t lib/arg-nonnull.h lib/arg-nonnull.h-t \ lib/c++defs.h lib/c++defs.h-t lib/unused-parameter.h \ lib/unused-parameter.h-t lib/warn-on-use.h lib/warn-on-use.h-t \ lib/spawn.h lib/spawn.h-t lib/stdalign.h lib/stdalign.h-t \ lib/stdarg.h lib/stdarg.h-t lib/stdbool.h lib/stdbool.h-t \ lib/stddef.h lib/stddef.h-t lib/stdint.h lib/stdint.h-t \ lib/stdio.h lib/stdio.h-t lib/stdlib.h lib/stdlib.h-t \ lib/string.h lib/string.h-t lib/sys/ioctl.h lib/sys/ioctl.h-t \ lib/sys/resource.h lib/sys/resource.h-t lib/sys/select.h \ lib/sys/select.h-t lib/sys/socket.h lib/sys/socket.h-t \ lib/sys/stat.h lib/sys/stat.h-t lib/sys/time.h \ lib/sys/time.h-t lib/sys/types.h lib/sys/types.h-t \ lib/sys/uio.h lib/sys/uio.h-t lib/sys/utsname.h \ lib/sys/utsname.h-t lib/sys/wait.h lib/sys/wait.h-t \ lib/termios.h lib/termios.h-t lib/time.h lib/time.h-t \ lib/unistd.h lib/unistd.h-t lib/unistr.h lib/unistr.h-t \ lib/unitypes.h lib/unitypes.h-t lib/uniwidth.h \ lib/uniwidth.h-t lib/wchar.h lib/wchar.h-t lib/wctype.h \ lib/wctype.h-t # Also remove these sometimes-built programs. # For example, even when excluded, they're built via 'sc_check-AUTHORS' # or 'dist'. CLEANFILES = lib/configmake.h lib/configmake.h-t lib/charset.alias \ lib/ref-add.sed lib/ref-del.sed $(SCRIPTS) \ $(no_install__progs) src/fs-def src/fs-magic \ src/fs-kernel-magic $(ALL_MANS) $(factor_tests) MOSTLYCLEANDIRS = lib/arpa lib/netinet lib/selinux lib/sys lib/sys \ lib/sys lib/sys lib/sys lib/sys lib/sys lib/sys AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src lib_libcoreutils_a_SOURCES = lib/set-mode-acl.c lib/copy-acl.c \ lib/file-has-acl.c lib/allocator.c lib/areadlink.c \ lib/areadlink-with-size.c lib/areadlinkat.c lib/argmatch.c \ lib/argv-iter.c lib/argv-iter.h lib/backupfile.c lib/base64.h \ lib/base64.c lib/binary-io.h lib/binary-io.c lib/bitrotate.h \ lib/bitrotate.c lib/buffer-lcm.c lib/buffer-lcm.h \ lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h lib/c-strcasecmp.c \ lib/c-strncasecmp.c lib/c-strtod.c lib/c-strtold.c \ lib/canon-host.c lib/canonicalize.c lib/careadlinkat.c \ lib/cloexec.c lib/close-stream.c lib/closein.c lib/closeout.c \ lib/md5.c lib/sha1.c lib/sha256.c lib/sha512.c \ lib/cycle-check.c lib/di-set.c lib/di-set.h lib/diacrit.h \ lib/diacrit.c lib/opendir-safer.c lib/dirname.c lib/basename.c \ lib/dirname-lgpl.c lib/basename-lgpl.c lib/stripslash.c \ lib/dtoastr.c lib/dtotimespec.c lib/exclude.c lib/exitfail.c \ lib/fadvise.c lib/fadvise.h lib/fatal-signal.h \ lib/fatal-signal.c lib/chmodat.c lib/chownat.c \ lib/creat-safer.c lib/open-safer.c lib/fd-hook.c \ lib/fd-reopen.c lib/fd-reopen.h lib/fd-safer-flag.c \ lib/dup-safer-flag.c lib/fdutimensat.c lib/file-set.c \ lib/file-type.c lib/filemode.c lib/filenamecat.c \ lib/filenamecat-lgpl.c lib/filevercmp.c lib/fopen-safer.c \ lib/fprintftime.c lib/freading.c lib/freadseek.c \ lib/freopen-safer.c lib/ftoastr.c lib/full-read.h \ lib/full-read.c lib/full-write.h lib/full-write.c \ lib/gethrxtime.c lib/xtime.c lib/getndelim2.c lib/gettext.h \ lib/gettime.c lib/getugroups.c lib/hard-locale.c lib/hash.c \ lib/hash-pjw.h lib/hash-pjw.c lib/hash-triple.c lib/heap.c \ lib/heap.h lib/human.c lib/i-ring.c lib/idcache.c \ lib/ino-map.c lib/ino-map.h lib/imaxtostr.c lib/inttostr.c \ lib/offtostr.c lib/uinttostr.c lib/umaxtostr.c lib/ldtoastr.c \ lib/linebuffer.h lib/linebuffer.c lib/localcharset.h \ lib/localcharset.c lib/glthread/lock.h lib/glthread/lock.c \ lib/long-options.c lib/malloca.c lib/math.c lib/mbchar.c \ lib/mbiter.h lib/mbiter.c lib/mbsalign.c lib/mbsalign.h \ lib/mbscasecmp.c lib/mbslen.c lib/mbsstr.c lib/mbswidth.h \ lib/mbswidth.c lib/mbuiter.h lib/mbuiter.c lib/memcasecmp.c \ lib/memchr2.h lib/memchr2.c lib/memcmp2.c lib/memcoll.c \ lib/mgetgroups.c lib/mkancesdirs.c lib/dirchownmod.c \ lib/mkdir-p.c lib/modechange.c lib/mpsort.c lib/nproc.c \ lib/openat-die.c lib/openat-safer.c lib/parse-datetime.y \ lib/physmem.c lib/pipe2.c lib/pipe2-safer.c lib/posixtm.c \ lib/posixver.c lib/printf-frexp.c lib/printf-frexpl.c \ lib/priv-set.c lib/progname.h lib/progname.c lib/propername.h \ lib/propername.c lib/quotearg.c lib/randint.c lib/randint.h \ lib/randperm.c lib/randperm.h lib/randread.c lib/randread.h \ lib/rand-isaac.c lib/rand-isaac.h lib/read-file.c \ lib/readtokens.c lib/readtokens0.h lib/readtokens0.c \ lib/root-dev-ino.c lib/root-dev-ino.h lib/safe-read.c \ lib/safe-write.c lib/same.c lib/save-cwd.c lib/savedir.c \ lib/savewd.h lib/savewd.c lib/se-context.in.h \ lib/se-selinux.in.h lib/se-context.c lib/se-selinux.c \ lib/settime.c lib/sig-handler.c lib/size_max.h lib/sockets.h \ lib/sockets.c lib/spawn-pipe.h lib/spawn-pipe.c lib/w32spawn.h \ lib/stat-time.c lib/statat.c lib/mkstemp-safer.c \ lib/strftime.c lib/striconv.h lib/striconv.c lib/strnlen1.h \ lib/strnlen1.c lib/strintcmp.c lib/strnumcmp.c lib/strnumcmp.h \ lib/sys_socket.c lib/tempname.c lib/glthread/threadlib.c \ lib/timespec.c lib/glthread/tls.h lib/glthread/tls.c \ lib/trim.c lib/u64.c lib/unicodeio.h lib/unicodeio.c \ lib/unistd.c lib/dup-safer.c lib/fd-safer.c lib/pipe-safer.c \ $(am__append_1) $(am__append_2) $(am__append_3) lib/userspec.c \ lib/utimecmp.c lib/utimens.c lib/verror.h lib/verror.c \ lib/version-etc.h lib/version-etc.c lib/version-etc-fsf.c \ lib/wait-process.h lib/wait-process.c lib/wctype-h.c \ lib/write-any-file.c lib/xmalloc.c lib/xalloc-die.c \ lib/xfreopen.c lib/xfreopen.h lib/xfts.c lib/xfts.h \ lib/xgetcwd.c lib/xgetgroups.c lib/xgethostname.h \ lib/xgethostname.c lib/xmemcoll.h lib/xmemcoll.c \ lib/xnanosleep.c lib/xprintf.h lib/xprintf.c lib/xreadlink.c \ lib/xsize.h lib/xsize.c lib/xstriconv.h lib/xstriconv.c \ lib/xstrndup.h lib/xstrndup.c lib/xstrtod.c lib/xstrtoimax.c \ lib/xstrtol.c lib/xstrtoul.c lib/xstrtol-error.c \ lib/xstrtold.c lib/xstrtoumax.c lib/xvasprintf.h \ lib/xvasprintf.c lib/xasprintf.c lib/yesno.c lib_libcoreutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ lib_libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ EXTRA_lib_libcoreutils_a_SOURCES = lib/acl_entries.c lib/alloca.c \ lib/at-func.c lib/openat-proc.c lib/btowc.c lib/c-strtod.c \ lib/calloc.c lib/calloc.c lib/chdir-long.c lib/chown.c \ lib/fchown-stub.c lib/close.c lib/closedir.c lib/dirfd.c \ lib/stripslash.c lib/ftoastr.c lib/dup.c lib/dup2.c \ lib/error.c lib/euidaccess.c lib/at-func.c lib/faccessat.c \ lib/fchdir.c lib/at-func.c lib/fchmodat.c lib/at-func.c \ lib/fchownat.c lib/fclose.c lib/fcntl.c lib/fdatasync.c \ lib/fdopen.c lib/fdopendir.c lib/fflush.c lib/fileblocks.c \ lib/float.c lib/itold.c lib/fnmatch.c lib/fnmatch_loop.c \ lib/fopen.c lib/fpending.c lib/fpurge.c lib/freadahead.c \ lib/freadptr.c lib/freopen.c lib/frexp.c lib/frexp.c \ lib/frexpl.c lib/fseek.c lib/fseeko.c lib/fseterr.c \ lib/fstat.c lib/at-func.c lib/fstatat.c lib/fsusage.c \ lib/fsync.c lib/ftell.c lib/ftello.c lib/ftruncate.c \ lib/fts-cycle.c lib/fts.c lib/full-write.c lib/futimens.c \ lib/gai_strerror.c lib/getaddrinfo.c lib/getcwd.c \ lib/getcwd-lgpl.c lib/getdelim.c lib/getdtablesize.c \ lib/getgroups.c lib/gethostname.c lib/getline.c \ lib/getloadavg.c lib/getlogin.c lib/getopt.c lib/getopt1.c \ lib/getpagesize.c lib/getpass.c lib/gettimeofday.c \ lib/getusershell.c lib/group-member.c lib/iconv.c \ lib/iconv_close.c lib/iconv_open.c lib/inet_ntop.c \ lib/anytostr.c lib/isapipe.c lib/isatty.c lib/isblank.c \ lib/isnan.c lib/isnand.c lib/isnan.c lib/isnanf.c lib/isnan.c \ lib/isnanl.c lib/iswblank.c lib/lchown.c lib/ftoastr.c \ lib/link.c lib/at-func2.c lib/linkat.c lib/localeconv.c \ lib/lseek.c lib/lstat.c lib/malloc.c lib/malloc.c lib/mbrlen.c \ lib/mbrtowc.c lib/mbsinit.c lib/mbsrtowcs-state.c \ lib/mbsrtowcs.c lib/mbtowc.c lib/memchr.c lib/mempcpy.c \ lib/memrchr.c lib/mkdir.c lib/mkfifo.c lib/mknod.c \ lib/mkstemp.c lib/mktime.c lib/mountlist.c lib/msvc-inval.c \ lib/msvc-nothrow.c lib/nanosleep.c lib/nl_langinfo.c \ lib/obstack.c lib/open.c lib/openat.c lib/opendir.c \ lib/spawni.c lib/spawn_faction_addclose.c \ lib/spawn_faction_adddup2.c lib/spawn_faction_addopen.c \ lib/spawn_faction_destroy.c lib/spawn_faction_init.c \ lib/spawnattr_destroy.c lib/spawnattr_init.c \ lib/spawnattr_setflags.c lib/spawnattr_setsigmask.c \ lib/spawnp.c lib/printf-frexp.c lib/pthread.c lib/putenv.c \ lib/raise.c lib/rawmemchr.c lib/read.c lib/readdir.c \ lib/readlink.c lib/at-func.c lib/readlinkat.c lib/readutmp.c \ lib/realloc.c lib/realloc.c lib/regcomp.c lib/regex.c \ lib/regex_internal.c lib/regexec.c lib/remove.c lib/rename.c \ lib/rewinddir.c lib/rmdir.c lib/rpmatch.c lib/safe-read.c \ lib/select.c lib/at-func.c lib/selinux-at.c lib/getfilecon.c \ lib/setenv.c lib/sig2str.c lib/sigaction.c lib/signbitd.c \ lib/signbitf.c lib/signbitl.c lib/sigprocmask.c lib/snprintf.c \ lib/stat.c lib/stpcpy.c lib/stpncpy.c lib/strchrnul.c \ lib/strdup.c lib/strerror.c lib/strerror-override.c \ lib/strncat.c lib/strndup.c lib/strnlen.c lib/strpbrk.c \ lib/strsignal.c lib/strstr.c lib/strtod.c lib/strtoimax.c \ lib/strtol.c lib/strtoll.c lib/strtol.c lib/strtoul.c \ lib/strtoull.c lib/strtoimax.c lib/strtoumax.c lib/symlink.c \ lib/time_r.c lib/uname.c lib/unlink.c lib/at-func.c \ lib/unlinkat.c lib/unsetenv.c lib/at-func.c lib/utimensat.c \ lib/asnprintf.c lib/printf-args.c lib/printf-parse.c \ lib/vasnprintf.c lib/asprintf.c lib/vasprintf.c lib/vfprintf.c \ lib/vprintf.c lib/waitpid.c lib/wcrtomb.c lib/wcswidth.c \ lib/wcwidth.c lib/write.c lib/xstrtod.c GPERF = gperf charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all Makefile.am that # need it. This is ensured by the applicability 'all' defined above. _NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h ARG_NONNULL_H = lib/arg-nonnull.h CXXDEFS_H = lib/c++defs.h UNUSED_PARAMETER_H = lib/unused-parameter.h WARN_ON_USE_H = lib/warn-on-use.h # FIXME: once lib/ and gnulib-tests/ are also converted, hoist to Makefile.am AM_CFLAGS = $(WERROR_CFLAGS) no_install__progs = src/arch src/hostname build_if_possible__progs = src/chroot src/df src/hostid \ src/libstdbuf.so src/nice src/pinky src/stdbuf src/stty \ src/uptime src/users src/who default__progs = src/[ src/base64 src/basename src/cat src/chcon \ src/chgrp src/chmod src/chown src/cksum src/comm src/cp \ src/csplit src/cut src/date src/dd src/dir src/dircolors \ src/dirname src/du src/echo src/env src/expand src/expr \ src/factor src/false src/fmt src/fold src/ginstall src/groups \ src/head src/id src/join src/kill src/link src/ln src/logname \ src/ls src/md5sum src/mkdir src/mkfifo src/mknod src/mktemp \ src/mv src/nl src/nproc src/nohup src/numfmt src/od src/paste \ src/pathchk src/pr src/printenv src/printf src/ptx src/pwd \ src/readlink src/realpath src/rm src/rmdir src/runcon src/seq \ src/sha1sum src/sha224sum src/sha256sum src/sha384sum \ src/sha512sum src/shred src/shuf src/sleep src/sort src/split \ src/stat src/sum src/sync src/tac src/tail src/tee src/test \ src/timeout src/touch src/tr src/true src/truncate src/tsort \ src/tty src/uname src/unexpand src/uniq src/unlink src/vdir \ src/wc src/whoami src/yes noinst_HEADERS = \ src/chown-core.h \ src/copy.h \ src/cp-hash.h \ src/dircolors.h \ src/fiemap.h \ src/find-mount-point.h \ src/fs.h \ src/fs-is-local.h \ src/group-list.h \ src/ioblksize.h \ src/longlong.h \ src/ls.h \ src/operand2sig.h \ src/prog-fprintf.h \ src/remove.h \ src/system.h \ src/uname.h nodist_src_libver_a_SOURCES = src/version.c src/version.h # Tell the linker to omit references to unused shared libraries. AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS) # Extra libraries needed by more than one program. Will be updated later. # for eaccess, euidaccess # for selinux use # for gettime, settime, utimecmp, utimens # for various ACL functions # for various xattr functions copy_ldadd = $(LIB_EACCESS) $(LIB_SELINUX) $(LIB_CLOCK_GETTIME) \ $(LIB_ACL) $(LIB_XATTR) remove_ldadd = $(LIB_EACCESS) # Sometimes, the expansion of $(LIBINTL) includes -lc which may # include modules defining variables like 'optind', so libcoreutils.a # must precede $(LIBINTL) in order to ensure we use GNU getopt. # But libcoreutils.a must also follow $(LIBINTL), since libintl uses # replacement functions defined in libcoreutils.a. LDADD = src/libver.a lib/libcoreutils.a $(LIBINTL) lib/libcoreutils.a # First, list all programs, to make listing per-program libraries easier. # See [ below. src_arch_LDADD = $(LDADD) src_base64_LDADD = $(LDADD) src_basename_LDADD = $(LDADD) # for print_unicode_char, proper_name_utf8 src_cat_LDADD = $(LDADD) $(LIBICONV) src_chcon_LDADD = $(LDADD) $(LIB_SELINUX) src_chgrp_LDADD = $(LDADD) src_chmod_LDADD = $(LDADD) src_chown_LDADD = $(LDADD) src_chroot_LDADD = $(LDADD) src_cksum_LDADD = $(LDADD) src_comm_LDADD = $(LDADD) src_nproc_LDADD = $(LDADD) src_cp_LDADD = $(LDADD) $(copy_ldadd) $(LIBICONV) src_csplit_LDADD = $(LDADD) src_cut_LDADD = $(LDADD) src_date_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) # for gethrxtime # for fdatasync src_dd_LDADD = $(LDADD) $(LIB_GETHRXTIME) $(LIB_FDATASYNC) src_df_LDADD = $(LDADD) $(LIBICONV) # See dir_LDADD below src_dircolors_LDADD = $(LDADD) src_dirname_LDADD = $(LDADD) src_du_LDADD = $(LDADD) $(LIBICONV) src_echo_LDADD = $(LDADD) src_env_LDADD = $(LDADD) src_expand_LDADD = $(LDADD) # for various GMP functions src_expr_LDADD = $(LDADD) $(LIB_GMP) src_factor_LDADD = $(LDADD) $(LIB_GMP) $(LIBICONV) src_false_LDADD = $(LDADD) src_fmt_LDADD = $(LDADD) src_fold_LDADD = $(LDADD) src_getlimits_LDADD = $(LDADD) $(LIBICONV) src_ginstall_LDADD = $(LDADD) $(copy_ldadd) $(LIB_SELINUX) \ $(LIB_CLOCK_GETTIME) src_groups_LDADD = $(LDADD) src_head_LDADD = $(LDADD) src_hostid_LDADD = $(LDADD) # for gethostname, uname src_hostname_LDADD = $(LDADD) $(GETHOSTNAME_LIB) src_id_LDADD = $(LDADD) $(LIB_SELINUX) src_join_LDADD = $(LDADD) # for strsignal src_kill_LDADD = $(LDADD) $(LIBTHREAD) src_link_LDADD = $(LDADD) src_ln_LDADD = $(LDADD) src_logname_LDADD = $(LDADD) # for cap_get_file src_ls_LDADD = $(LDADD) $(LIB_SELINUX) $(LIB_CLOCK_GETTIME) $(LIB_CAP) \ $(LIB_ACL) # This must *not* depend on anything in lib/, since it is used to generate # src/primes.h. If it depended on libcoreutils.a, that would pull all lib/*.c # into BUILT_SOURCES. src_make_prime_list_LDADD = src_md5sum_LDADD = $(LDADD) src_mkdir_LDADD = $(LDADD) $(LIB_SELINUX) src_mkfifo_LDADD = $(LDADD) $(LIB_SELINUX) src_mknod_LDADD = $(LDADD) $(LIB_SELINUX) src_mktemp_LDADD = $(LDADD) src_mv_LDADD = $(LDADD) $(copy_ldadd) $(remove_ldadd) src_nice_LDADD = $(LDADD) src_nl_LDADD = $(LDADD) src_nohup_LDADD = $(LDADD) src_od_LDADD = $(LDADD) src_paste_LDADD = $(LDADD) src_pathchk_LDADD = $(LDADD) # for canon_host src_pinky_LDADD = $(LDADD) $(GETADDRINFO_LIB) src_pr_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) src_printenv_LDADD = $(LDADD) src_printf_LDADD = $(LDADD) $(LIBICONV) src_ptx_LDADD = $(LDADD) $(LIBICONV) src_pwd_LDADD = $(LDADD) src_readlink_LDADD = $(LDADD) src_realpath_LDADD = $(LDADD) $(LIBICONV) src_rm_LDADD = $(LDADD) $(remove_ldadd) src_rmdir_LDADD = $(LDADD) src_runcon_LDADD = $(LDADD) $(LIB_SELINUX) src_seq_LDADD = $(LDADD) src_setuidgid_LDADD = $(LDADD) src_sha1sum_LDADD = $(LDADD) src_sha224sum_LDADD = $(LDADD) src_sha256sum_LDADD = $(LDADD) src_sha384sum_LDADD = $(LDADD) src_sha512sum_LDADD = $(LDADD) src_shred_LDADD = $(LDADD) $(LIB_FDATASYNC) src_shuf_LDADD = $(LDADD) # for xnanosleep src_sleep_LDADD = $(LDADD) $(LIB_NANOSLEEP) # for pthread src_sort_LDADD = $(LDADD) $(LIB_EACCESS) $(LIB_NANOSLEEP) \ $(LIB_PTHREAD) src_split_LDADD = $(LDADD) $(LIBICONV) src_stat_LDADD = $(LDADD) $(LIB_SELINUX) src_stdbuf_LDADD = $(LDADD) $(LIBICONV) src_stty_LDADD = $(LDADD) src_sum_LDADD = $(LDADD) src_sync_LDADD = $(LDADD) src_tac_LDADD = $(LDADD) src_tail_LDADD = $(LDADD) $(LIB_NANOSLEEP) src_tee_LDADD = $(LDADD) src_test_LDADD = $(LDADD) $(LIB_EACCESS) src_timeout_LDADD = $(LDADD) $(LIB_TIMER_TIME) $(LIBICONV) src_touch_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) src_tr_LDADD = $(LDADD) src_true_LDADD = $(LDADD) src_truncate_LDADD = $(LDADD) $(LIBICONV) src_tsort_LDADD = $(LDADD) src_tty_LDADD = $(LDADD) src_uname_LDADD = $(LDADD) $(GETHOSTNAME_LIB) src_unexpand_LDADD = $(LDADD) src_uniq_LDADD = $(LDADD) src_unlink_LDADD = $(LDADD) # for getloadavg src_uptime_LDADD = $(LDADD) $(GETLOADAVG_LIBS) src_users_LDADD = $(LDADD) # See vdir_LDADD below src_wc_LDADD = $(LDADD) src_who_LDADD = $(LDADD) $(GETADDRINFO_LIB) src_whoami_LDADD = $(LDADD) src_yes_LDADD = $(LDADD) # Synonyms. Recall that Automake transliterates '[' and '/' to '_'. src___LDADD = $(src_test_LDADD) src_dir_LDADD = $(src_ls_LDADD) src_vdir_LDADD = $(src_ls_LDADD) # Get the release year from lib/version-etc.c. RELEASE_YEAR = \ `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \ $(top_srcdir)/lib/version-etc.c` copy_sources = \ src/copy.c \ src/cp-hash.c \ src/extent-scan.c \ src/extent-scan.h src_ginstall_SOURCES = src/install.c src/prog-fprintf.c $(copy_sources) # This is for the '[' program. Automake transliterates '[' and '/' to '_'. src___SOURCES = src/lbracket.c src_cp_SOURCES = src/cp.c $(copy_sources) src_dir_SOURCES = src/ls.c src/ls-dir.c src_vdir_SOURCES = src/ls.c src/ls-vdir.c src_id_SOURCES = src/id.c src/group-list.c src_groups_SOURCES = src/groups.c src/group-list.c src_ls_SOURCES = src/ls.c src/ls-ls.c src_ln_SOURCES = src/ln.c src/relpath.c src/relpath.h src_chown_SOURCES = src/chown.c src/chown-core.c src_chgrp_SOURCES = src/chgrp.c src/chown-core.c src_kill_SOURCES = src/kill.c src/operand2sig.c src_realpath_SOURCES = src/realpath.c src/relpath.c src/relpath.h src_timeout_SOURCES = src/timeout.c src/operand2sig.c src_mv_SOURCES = src/mv.c src/remove.c $(copy_sources) src_rm_SOURCES = src/rm.c src/remove.c src_mkdir_SOURCES = src/mkdir.c src/prog-fprintf.c src_rmdir_SOURCES = src/rmdir.c src/prog-fprintf.c src_df_SOURCES = src/df.c src/find-mount-point.c src_stat_SOURCES = src/stat.c src/find-mount-point.c src_uname_SOURCES = src/uname.c src/uname-uname.c src_arch_SOURCES = src/uname.c src/uname-arch.c src_md5sum_CPPFLAGS = -DHASH_ALGO_MD5=1 $(AM_CPPFLAGS) src_sha1sum_SOURCES = src/md5sum.c src_sha1sum_CPPFLAGS = -DHASH_ALGO_SHA1=1 $(AM_CPPFLAGS) src_sha224sum_SOURCES = src/md5sum.c src_sha224sum_CPPFLAGS = -DHASH_ALGO_SHA224=1 $(AM_CPPFLAGS) src_sha256sum_SOURCES = src/md5sum.c src_sha256sum_CPPFLAGS = -DHASH_ALGO_SHA256=1 $(AM_CPPFLAGS) src_sha384sum_SOURCES = src/md5sum.c src_sha384sum_CPPFLAGS = -DHASH_ALGO_SHA384=1 $(AM_CPPFLAGS) src_sha512sum_SOURCES = src/md5sum.c src_sha512sum_CPPFLAGS = -DHASH_ALGO_SHA512=1 $(AM_CPPFLAGS) src_ginstall_CPPFLAGS = -DENABLE_MATCHPATHCON=1 $(AM_CPPFLAGS) # Ensure we don't link against libcoreutils.a as that lib is # not compiled with -fPIC which causes issues on 64 bit at least src_libstdbuf_so_LDADD = # Note libstdbuf is only compiled if GCC is available # (as per the check in configure.ac), so these flags should be available. # libtool is probably required to relax this dependency. src_libstdbuf_so_LDFLAGS = -shared src_libstdbuf_so_CFLAGS = -fPIC $(AM_CFLAGS) # false exits nonzero even with --help or --version. # test doesn't support --help or --version. # Tell automake to exempt then from that installcheck test. AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = src/false src/test # Massage bits of the statfs man page and definitions from # /usr/include/linux/magic.h to be in a form consistent with what's in fs.h. fs_normalize_perl_subst = \ -e 's/MINIX_SUPER_MAGIC\b/MINIX/;' \ -e 's/MINIX_SUPER_MAGIC2\b/MINIX_30/;' \ -e 's/MINIX2_SUPER_MAGIC\b/MINIX_V2/;' \ -e 's/MINIX2_SUPER_MAGIC2\b/MINIX_V2_30/;' \ -e 's/MINIX3_SUPER_MAGIC\b/MINIX_V3/;' \ -e 's/CIFS_MAGIC_NUMBER/CIFS/;' \ -e 's/(_SUPER)?_MAGIC//;' \ -e 's/\s+0x(\S+)/" 0x" . uc $$1/e;' \ -e 's/(\s+0x)(\X{3})\b/$${1}0$$2/;' \ -e 's/(\s+0x)(\X{6})\b/$${1}00$$2/;' \ -e 's/(\s+0x)(\X{7})\b/$${1}0$$2/;' \ -e 's/^\s+//;' \ -e 's/^\043define\s+//;' \ -e 's/^_(XIAFS)/$$1/;' \ -e 's/^USBDEVICE/USBDEVFS/;' \ -e 's/NTFS_SB/NTFS/;' \ -e 's/^/\043 define S_MAGIC_/;' \ -e 's,\s*/\* .*? \*/,,;' all_programs = \ $(bin_PROGRAMS) \ $(bin_SCRIPTS) \ $(EXTRA_PROGRAMS) pm = progs-makefile pr = progs-readme @CROSS_COMPILING_FALSE@cu_install_program = src/ginstall # Use the just-built 'ginstall', when not cross-compiling. @CROSS_COMPILING_TRUE@cu_install_program = @INSTALL_PROGRAM@ info_TEXINFOS = doc/coreutils.texi doc_coreutils_TEXINFOS = \ doc/perm.texi \ doc/parse-datetime.texi \ doc/constants.texi \ doc/fdl.texi # The following is necessary if the package name is 8 characters or longer. # If the info documentation would be split into 10 or more separate files, # then this is necessary even if the package name is 7 characters long. # # Tell makeinfo to put everything in a single info file: <package>.info. # Otherwise, it would also generate files with names like <package>.info-[123], # and those names all map to one 14-byte name (<package>.info-) on some crufty # old systems. AM_MAKEINFOFLAGS = --no-split # Extended regular expressions to match word starts and ends. _W = (^|[^A-Za-z0-9_]) W_ = ([^A-Za-z0-9_]|$$) syntax_checks = \ sc-avoid-builtin \ sc-avoid-io \ sc-avoid-non-zero \ sc-avoid-path \ sc-avoid-timezone \ sc-avoid-zeroes \ sc-exponent-grouping \ sc-lower-case-var texi_files = $(srcdir)/doc/*.texi # The quantity inside @var{...} should not contain upper case letters. # The leading backslash exemption is to permit in-macro uses like # @var{\varName\} where the upper case letter is part of a parameter name. find_upper_case_var = \ '/\@var{/ or next; \ while (/\@var{(.+?)}/g) \ { \ $$v = $$1; \ $$v =~ /[A-Z]/ && $$v !~ /^\\/ and (print "$$ARGV:$$.:$$_"), $$m = 1 \ } \ END {$$m and (warn "$@: do not use upper case in \@var{...}\n"), exit 1}' @HAVE_PERL_FALSE@run_help2man = $(SHELL) $(srcdir)/man/dummy-man @HAVE_PERL_TRUE@run_help2man = $(PERL) -- $(srcdir)/man/help2man ALL_MANS = $(man1_MANS) $(EXTRA_MANS) # Dependencies common to all man pages. Updated below. # Depend on this to get version number changes. # This is required so that changes to e.g., emit_bug_reporting_address # provoke regeneration of all the manpages. mandeps = .version $(top_srcdir)/src/system.h # Indirections required so that we'll still be able to know the # complete list of our tests even if the user overrides TESTS # from the command line (as permitted by the test harness API). TESTS = $(all_tests) $(factor_tests) root_tests = $(all_root_tests) TEST_EXTENSIONS = .sh .pl .xpl @HAVE_PERL_FALSE@TESTSUITE_PERL = $(SHELL) $(srcdir)/no-perl @HAVE_PERL_TRUE@TESTSUITE_PERL = $(PERL) # Options passed to the perl invocations running the perl test scripts. # '$f' is set by the Automake-generated test harness to the path of the # current test script stripped of VPATH components, and is used by the # CuTmpdir module to determine the name of the temporary files to be # used. Note that $f is a shell variable, not a make macro, so the use # of '$$f' below is correct, and not a typo. TESTSUITE_PERL_OPTIONS = -w -I$(srcdir)/tests -MCoreutils -MCuSkip \ -M"CuTmpdir qw($$f)" SH_LOG_COMPILER = $(SHELL) PL_LOG_COMPILER = $(TESTSUITE_PERL) $(TESTSUITE_PERL_OPTIONS) # Perl scripts that must be run in tainted mode. XPL_LOG_COMPILER = $(TESTSUITE_PERL) -T $(TESTSUITE_PERL_OPTIONS) # We don't want this to go in the top-level directory. TEST_SUITE_LOG = tests/test-suite.log # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. # The rest are envvar settings that propagate build-related Makefile # variables to test scripts. TESTS_ENVIRONMENT = \ . $(srcdir)/tests/lang-default; \ tmp__=$${TMPDIR-/tmp}; \ test -d "$$tmp__" && test -w "$$tmp__" || tmp__=.; \ . $(srcdir)/tests/envvar-check; \ TMPDIR=$$tmp__; export TMPDIR; \ export \ VERSION='$(VERSION)' \ LOCALE_FR='$(LOCALE_FR)' \ LOCALE_FR_UTF8='$(LOCALE_FR_UTF8)' \ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ built_programs='$(built_programs)' \ host_os=$(host_os) \ host_triplet='$(host_triplet)' \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ CONFIG_HEADER='$(abs_top_builddir)/$(CONFIG_INCLUDE)' \ CU_TEST_NAME=`basename '$(abs_srcdir)'`,`echo $$tst|sed 's,^\./,,;s,/,-,g'` \ CC='$(CC)' \ AWK='$(AWK)' \ EGREP='$(EGREP)' \ EXEEXT='$(EXEEXT)' \ MAKE=$(MAKE) \ PACKAGE_BUGREPORT='$(PACKAGE_BUGREPORT)' \ PACKAGE_VERSION=$(PACKAGE_VERSION) \ PERL='$(PERL)' \ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ ; test -d /usr/xpg4/bin && PATH='/usr/xpg4/bin$(PATH_SEPARATOR)'"$$PATH"; \ PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \ ; 9>&2 # On failure, display the global testsuite log on stdout. VERBOSE = yes all_root_tests = \ tests/chown/basic.sh \ tests/cp/cp-a-selinux.sh \ tests/cp/preserve-gid.sh \ tests/cp/special-bits.sh \ tests/cp/cp-mv-enotsup-xattr.sh \ tests/cp/capability.sh \ tests/cp/sparse-fiemap.sh \ tests/dd/skip-seek-past-dev.sh \ tests/df/problematic-chars.sh \ tests/du/bind-mount-dir-cycle.sh \ tests/install/install-C-root.sh \ tests/ls/capability.sh \ tests/ls/nameless-uid.sh \ tests/misc/chcon.sh \ tests/misc/chroot-credentials.sh \ tests/misc/id-setgid.sh \ tests/misc/selinux.sh \ tests/misc/truncate-owned-by-other.sh \ tests/mkdir/writable-under-readonly.sh \ tests/mv/sticky-to-xpart.sh \ tests/rm/fail-2eperm.sh \ tests/rm/no-give-up.sh \ tests/rm/one-file-system.sh \ tests/rm/read-only.sh \ tests/tail-2/append-only.sh \ tests/touch/now-owned-by-other.sh # Do not choose a name that is a shell keyword like 'if', or a # commonly-used utility like 'cat' or 'test', as the name of a test. # Otherwise, VPATH builds will fail on hosts like Solaris, since they # will expand 'if test ...' to 'if .../test ...', and the '.../test' # will execute the test script rather than the standard utility. # Notes on the ordering of these tests: # Place early in the list tests of the tools that # are most commonly used in test scripts themselves. # E.g., nearly every test script uses rm and chmod. # help-version comes early because it's a basic sanity test. # Put seq early, since lots of other tests use it. # Put tests that sleep early, but not all together, so in parallel builds # they share time with tests that burn CPU, not with others that sleep. # Put head-elide-tail early, because it's long-running. all_tests = \ tests/misc/help-version.sh \ tests/tail-2/inotify-race.sh \ tests/misc/invalid-opt.pl \ tests/rm/ext3-perf.sh \ tests/rm/cycle.sh \ tests/cp/link-heap.sh \ tests/misc/tty-eof.pl \ tests/tail-2/inotify-hash-abuse.sh \ tests/tail-2/inotify-hash-abuse2.sh \ tests/tail-2/F-vs-missing.sh \ tests/tail-2/F-vs-rename.sh \ tests/tail-2/inotify-rotate.sh \ tests/chmod/no-x.sh \ tests/chgrp/basic.sh \ tests/rm/dangling-symlink.sh \ tests/misc/ls-time.sh \ tests/rm/d-1.sh \ tests/rm/d-2.sh \ tests/rm/d-3.sh \ tests/rm/deep-1.sh \ tests/rm/deep-2.sh \ tests/rm/dir-no-w.sh \ tests/rm/dir-nonrecur.sh \ tests/rm/dot-rel.sh \ tests/rm/isatty.sh \ tests/rm/empty-inacc.sh \ tests/rm/empty-name.pl \ tests/rm/f-1.sh \ tests/rm/fail-eacces.sh \ tests/rm/fail-eperm.xpl \ tests/tail-2/assert.sh \ tests/rm/hash.sh \ tests/rm/i-1.sh \ tests/rm/i-never.sh \ tests/rm/i-no-r.sh \ tests/tail-2/infloop-1.sh \ tests/rm/ignorable.sh \ tests/rm/inaccessible.sh \ tests/rm/interactive-always.sh \ tests/rm/interactive-once.sh \ tests/rm/ir-1.sh \ tests/rm/one-file-system2.sh \ tests/rm/r-1.sh \ tests/rm/r-2.sh \ tests/rm/r-3.sh \ tests/rm/r-4.sh \ tests/rm/readdir-bug.sh \ tests/rm/rm1.sh \ tests/touch/empty-file.sh \ tests/rm/rm2.sh \ tests/rm/rm3.sh \ tests/rm/rm4.sh \ tests/rm/rm5.sh \ tests/rm/sunos-1.sh \ tests/rm/unread2.sh \ tests/rm/unread3.sh \ tests/rm/unreadable.pl \ tests/rm/v-slash.sh \ tests/rm/many-dir-entries-vs-OOM.sh \ tests/chgrp/default-no-deref.sh \ tests/chgrp/deref.sh \ tests/chgrp/no-x.sh \ tests/chgrp/posix-H.sh \ tests/chgrp/recurse.sh \ tests/fmt/base.pl \ tests/fmt/long-line.sh \ tests/fmt/goal-option.sh \ tests/misc/env.sh \ tests/misc/ptx.pl \ tests/misc/test.pl \ tests/misc/seq.pl \ tests/misc/seq-long-double.sh \ tests/misc/head.pl \ tests/misc/head-elide-tail.pl \ tests/tail-2/tail-n0f.sh \ tests/misc/ls-misc.pl \ tests/misc/date.pl \ tests/misc/date-next-dow.pl \ tests/misc/ptx-overrun.sh \ tests/misc/xstrtol.pl \ tests/tail-2/pid.sh \ tests/misc/od.pl \ tests/misc/od-float.sh \ tests/misc/mktemp.pl \ tests/misc/arch.sh \ tests/misc/join.pl \ tests/pr/pr-tests.pl \ tests/misc/pwd-option.sh \ tests/misc/chcon-fail.sh \ tests/misc/cut.pl \ tests/misc/cut-huge-to-eol-range.sh \ tests/misc/wc.pl \ tests/misc/wc-files0-from.pl \ tests/misc/wc-files0.sh \ tests/misc/wc-parallel.sh \ tests/misc/cat-proc.sh \ tests/misc/cat-buf.sh \ tests/misc/base64.pl \ tests/misc/basename.pl \ tests/misc/close-stdout.sh \ tests/misc/chroot-fail.sh \ tests/misc/comm.pl \ tests/misc/csplit.sh \ tests/misc/csplit-1000.sh \ tests/misc/csplit-heap.sh \ tests/misc/date-sec.sh \ tests/misc/dircolors.pl \ tests/misc/dirname.pl \ tests/misc/env-null.sh \ tests/misc/expand.pl \ tests/misc/expr.pl \ tests/misc/factor.pl \ tests/misc/false-status.sh \ tests/misc/fold.pl \ tests/misc/groups-dash.sh \ tests/misc/groups-version.sh \ tests/misc/head-c.sh \ tests/misc/head-pos.sh \ tests/misc/id-context.sh \ tests/misc/id-groups.sh \ tests/misc/id-setgid.sh \ tests/misc/md5sum.pl \ tests/misc/md5sum-bsd.sh \ tests/misc/md5sum-newline.pl \ tests/misc/md5sum-parallel.sh \ tests/misc/mknod.sh \ tests/misc/nice.sh \ tests/misc/nice-fail.sh \ tests/misc/nl.sh \ tests/misc/nohup.sh \ tests/misc/nproc-avail.sh \ tests/misc/nproc-positive.sh \ tests/misc/numfmt.pl \ tests/misc/od-N.sh \ tests/misc/od-multiple-t.sh \ tests/misc/od-x8.sh \ tests/misc/paste.pl \ tests/misc/pathchk1.sh \ tests/misc/printenv.sh \ tests/misc/printf.sh \ tests/misc/printf-cov.pl \ tests/misc/printf-hex.sh \ tests/misc/printf-surprise.sh \ tests/misc/pwd-long.sh \ tests/misc/readlink-fp-loop.sh \ tests/misc/readlink-root.sh \ tests/misc/realpath.sh \ tests/misc/runcon-no-reorder.sh \ tests/misc/sha1sum.pl \ tests/misc/sha1sum-vec.pl \ tests/misc/sha224sum.pl \ tests/misc/sha256sum.pl \ tests/misc/sha384sum.pl \ tests/misc/sha512sum.pl \ tests/misc/shred-exact.sh \ tests/misc/shred-passes.sh \ tests/misc/shred-remove.sh \ tests/misc/shuf.sh \ tests/misc/sort.pl \ tests/misc/sort-benchmark-random.sh \ tests/misc/sort-compress.sh \ tests/misc/sort-compress-hang.sh \ tests/misc/sort-compress-proc.sh \ tests/misc/sort-continue.sh \ tests/misc/sort-debug-keys.sh \ tests/misc/sort-debug-warn.sh \ tests/misc/sort-discrim.sh \ tests/misc/sort-files0-from.pl \ tests/misc/sort-float.sh \ tests/misc/sort-merge.pl \ tests/misc/sort-merge-fdlimit.sh \ tests/misc/sort-month.sh \ tests/misc/sort-exit-early.sh \ tests/misc/sort-rand.sh \ tests/misc/sort-spinlock-abuse.sh \ tests/misc/sort-stale-thread-mem.sh \ tests/misc/sort-unique.sh \ tests/misc/sort-unique-segv.sh \ tests/misc/sort-version.sh \ tests/misc/sort-NaN-infloop.sh \ tests/misc/sort-u-FMR.sh \ tests/split/filter.sh \ tests/split/suffix-auto-length.sh \ tests/split/suffix-length.sh \ tests/split/additional-suffix.sh \ tests/split/b-chunk.sh \ tests/split/fail.sh \ tests/split/lines.sh \ tests/split/l-chunk.sh \ tests/split/r-chunk.sh \ tests/split/numeric.sh \ tests/split/guard-input.sh \ tests/misc/stat-birthtime.sh \ tests/misc/stat-fmt.sh \ tests/misc/stat-hyphen.sh \ tests/misc/stat-mount.sh \ tests/misc/stat-nanoseconds.sh \ tests/misc/stat-printf.pl \ tests/misc/stat-slash.sh \ tests/misc/stdbuf.sh \ tests/misc/stty.sh \ tests/misc/stty-invalid.sh \ tests/misc/stty-pairs.sh \ tests/misc/stty-row-col.sh \ tests/misc/sum.pl \ tests/misc/sum-sysv.sh \ tests/misc/tac.pl \ tests/misc/tac-continue.sh \ tests/misc/tac-2-nonseekable.sh \ tests/misc/tail.pl \ tests/misc/tee.sh \ tests/misc/tee-dash.sh \ tests/misc/test-diag.pl \ tests/misc/timeout.sh \ tests/misc/timeout-blocked.pl \ tests/misc/timeout-group.sh \ tests/misc/timeout-parameters.sh \ tests/misc/tr.pl \ tests/misc/tr-case-class.sh \ tests/misc/truncate-dangling-symlink.sh \ tests/misc/truncate-dir-fail.sh \ tests/misc/truncate-fail-diag.sh \ tests/misc/truncate-fifo.sh \ tests/misc/truncate-no-create-missing.sh \ tests/misc/truncate-overflow.sh \ tests/misc/truncate-parameters.sh \ tests/misc/truncate-relative.sh \ tests/misc/tsort.pl \ tests/misc/unexpand.pl \ tests/misc/uniq.pl \ tests/misc/uniq-perf.sh \ tests/misc/xattr.sh \ tests/tail-2/wait.sh \ tests/chmod/c-option.sh \ tests/chmod/equal-x.sh \ tests/chmod/equals.sh \ tests/chmod/inaccessible.sh \ tests/chmod/octal.sh \ tests/chmod/setgid.sh \ tests/chmod/silent.sh \ tests/chmod/thru-dangling.sh \ tests/chmod/umask-x.sh \ tests/chmod/usage.sh \ tests/chown/deref.sh \ tests/chown/preserve-root.sh \ tests/chown/separator.sh \ tests/cp/abuse.sh \ tests/cp/acl.sh \ tests/cp/attr-existing.sh \ tests/cp/backup-1.sh \ tests/cp/backup-dir.sh \ tests/cp/backup-is-src.sh \ tests/cp/cp-HL.sh \ tests/cp/cp-deref.sh \ tests/cp/cp-i.sh \ tests/cp/cp-mv-backup.sh \ tests/cp/cp-parents.sh \ tests/cp/deref-slink.sh \ tests/cp/dir-rm-dest.sh \ tests/cp/dir-slash.sh \ tests/cp/dir-vs-file.sh \ tests/cp/existing-perm-dir.sh \ tests/cp/existing-perm-race.sh \ tests/cp/fail-perm.sh \ tests/cp/fiemap-empty.sh \ tests/cp/fiemap-FMR.sh \ tests/cp/fiemap-perf.sh \ tests/cp/fiemap-2.sh \ tests/cp/file-perm-race.sh \ tests/cp/into-self.sh \ tests/cp/link.sh \ tests/cp/link-no-deref.sh \ tests/cp/link-preserve.sh \ tests/cp/link-symlink.sh \ tests/cp/nfs-removal-race.sh \ tests/cp/no-deref-link1.sh \ tests/cp/no-deref-link2.sh \ tests/cp/no-deref-link3.sh \ tests/cp/parent-perm.sh \ tests/cp/parent-perm-race.sh \ tests/cp/perm.sh \ tests/cp/preserve-2.sh \ tests/cp/preserve-link.sh \ tests/cp/preserve-mode.sh \ tests/cp/preserve-slink-time.sh \ tests/cp/proc-short-read.sh \ tests/cp/proc-zero-len.sh \ tests/cp/r-vs-symlink.sh \ tests/cp/reflink-auto.sh \ tests/cp/reflink-perm.sh \ tests/cp/same-file.sh \ tests/cp/slink-2-slink.sh \ tests/cp/sparse.sh \ tests/cp/sparse-to-pipe.sh \ tests/cp/special-f.sh \ tests/cp/src-base-dot.sh \ tests/cp/symlink-slash.sh \ tests/cp/thru-dangling.sh \ tests/df/header.sh \ tests/df/df-P.sh \ tests/df/df-output.sh \ tests/df/unreadable.sh \ tests/df/total-unprocessed.sh \ tests/df/no-mtab-status.sh \ tests/df/skip-duplicates.sh \ tests/df/skip-rootfs.sh \ tests/dd/direct.sh \ tests/dd/misc.sh \ tests/dd/nocache.sh \ tests/dd/not-rewound.sh \ tests/dd/reblock.sh \ tests/dd/skip-seek.pl \ tests/dd/skip-seek2.sh \ tests/dd/bytes.sh \ tests/dd/skip-seek-past-file.sh \ tests/dd/sparse.sh \ tests/dd/stderr.sh \ tests/dd/unblock.pl \ tests/dd/unblock-sync.sh \ tests/df/total-verify.sh \ tests/du/2g.sh \ tests/du/8gb.sh \ tests/du/basic.sh \ tests/du/bigtime.sh \ tests/du/deref.sh \ tests/du/deref-args.sh \ tests/du/exclude.sh \ tests/du/fd-leak.sh \ tests/du/files0-from.pl \ tests/du/files0-from-dir.sh \ tests/du/hard-link.sh \ tests/du/inacc-dest.sh \ tests/du/inacc-dir.sh \ tests/du/inaccessible-cwd.sh \ tests/du/long-from-unreadable.sh \ tests/du/long-sloop.sh \ tests/du/max-depth.sh \ tests/du/move-dir-while-traversing.sh \ tests/du/no-deref.sh \ tests/du/no-x.sh \ tests/du/one-file-system.sh \ tests/du/restore-wd.sh \ tests/du/slash.sh \ tests/du/threshold.sh \ tests/du/trailing-slash.sh \ tests/du/two-args.sh \ tests/id/gnu-zero-uids.sh \ tests/id/no-context.sh \ tests/install/basic-1.sh \ tests/install/create-leading.sh \ tests/install/d-slashdot.sh \ tests/install/install-C.sh \ tests/install/install-C-selinux.sh \ tests/install/strip-program.sh \ tests/install/trap.sh \ tests/ln/backup-1.sh \ tests/ln/hard-backup.sh \ tests/ln/hard-to-sym.sh \ tests/ln/misc.sh \ tests/ln/relative.sh \ tests/ln/sf-1.sh \ tests/ln/slash-decorated-nonexistent-dest.sh \ tests/ln/target-1.sh \ tests/ls/abmon-align.sh \ tests/ls/block-size.sh \ tests/ls/color-clear-to-eol.sh \ tests/ls/color-dtype-dir.sh \ tests/ls/color-norm.sh \ tests/ls/dangle.sh \ tests/ls/dired.sh \ tests/ls/file-type.sh \ tests/ls/follow-slink.sh \ tests/ls/getxattr-speedup.sh \ tests/ls/infloop.sh \ tests/ls/inode.sh \ tests/ls/m-option.sh \ tests/ls/multihardlink.sh \ tests/ls/no-arg.sh \ tests/ls/no-cap.sh \ tests/ls/proc-selinux-segfault.sh \ tests/ls/readdir-mountpoint-inode.sh \ tests/ls/recursive.sh \ tests/ls/root-rel-symlink-color.sh \ tests/ls/rt-1.sh \ tests/ls/slink-acl.sh \ tests/ls/stat-dtype.sh \ tests/ls/stat-failed.sh \ tests/ls/stat-free-color.sh \ tests/ls/stat-free-symlinks.sh \ tests/ls/stat-vs-dirent.sh \ tests/ls/symlink-slash.sh \ tests/ls/time-style-diag.sh \ tests/ls/x-option.sh \ tests/mkdir/p-1.sh \ tests/mkdir/p-2.sh \ tests/mkdir/p-3.sh \ tests/mkdir/p-slashdot.sh \ tests/mkdir/p-thru-slink.sh \ tests/mkdir/p-v.sh \ tests/mkdir/parents.sh \ tests/mkdir/perm.sh \ tests/mkdir/selinux.sh \ tests/mkdir/special-1.sh \ tests/mkdir/t-slash.sh \ tests/mv/acl.sh \ tests/mv/atomic.sh \ tests/mv/atomic2.sh \ tests/mv/backup-dir.sh \ tests/mv/backup-is-src.sh \ tests/mv/childproof.sh \ tests/mv/diag.sh \ tests/mv/dir-file.sh \ tests/mv/dir2dir.sh \ tests/mv/dup-source.sh \ tests/mv/force.sh \ tests/mv/hard-2.sh \ tests/mv/hard-3.sh \ tests/mv/hard-4.sh \ tests/mv/hard-link-1.sh \ tests/mv/hard-verbose.sh \ tests/mv/i-1.pl \ tests/mv/i-2.sh \ tests/mv/i-3.sh \ tests/mv/i-4.sh \ tests/mv/i-5.sh \ tests/mv/i-link-no.sh \ tests/mv/into-self.sh \ tests/mv/into-self-2.sh \ tests/mv/into-self-3.sh \ tests/mv/into-self-4.sh \ tests/mv/leak-fd.sh \ tests/mv/mv-n.sh \ tests/mv/mv-special-1.sh \ tests/mv/no-target-dir.sh \ tests/mv/part-fail.sh \ tests/mv/part-hardlink.sh \ tests/mv/part-rename.sh \ tests/mv/part-symlink.sh \ tests/mv/partition-perm.sh \ tests/mv/perm-1.sh \ tests/mv/symlink-onto-hardlink.sh \ tests/mv/symlink-onto-hardlink-to-self.sh \ tests/mv/to-symlink.sh \ tests/mv/trailing-slash.sh \ tests/mv/update.sh \ tests/readlink/can-e.sh \ tests/readlink/can-f.sh \ tests/readlink/can-m.sh \ tests/readlink/multi.sh \ tests/readlink/rl-1.sh \ tests/rmdir/fail-perm.sh \ tests/rmdir/ignore.sh \ tests/rmdir/t-slash.sh \ tests/tail-2/assert-2.sh \ tests/tail-2/big-4gb.sh \ tests/tail-2/flush-initial.sh \ tests/tail-2/follow-name.sh \ tests/tail-2/follow-stdin.sh \ tests/tail-2/pipe-f.sh \ tests/tail-2/pipe-f2.sh \ tests/tail-2/proc-ksyms.sh \ tests/tail-2/start-middle.sh \ tests/touch/60-seconds.sh \ tests/touch/dangling-symlink.sh \ tests/touch/dir-1.sh \ tests/touch/fail-diag.sh \ tests/touch/fifo.sh \ tests/touch/no-create-missing.sh \ tests/touch/no-dereference.sh \ tests/touch/no-rights.sh \ tests/touch/not-owner.sh \ tests/touch/obsolescent.sh \ tests/touch/read-only.sh \ tests/touch/relative.sh \ tests/touch/trailing-slash.sh \ $(all_root_tests) # See tests/factor/create-test.sh. tf = tests/factor factor_tests = \ $(tf)/t00.sh $(tf)/t01.sh $(tf)/t02.sh $(tf)/t03.sh $(tf)/t04.sh \ $(tf)/t05.sh $(tf)/t06.sh $(tf)/t07.sh $(tf)/t08.sh $(tf)/t09.sh \ $(tf)/t10.sh $(tf)/t11.sh $(tf)/t12.sh $(tf)/t13.sh $(tf)/t14.sh \ $(tf)/t15.sh $(tf)/t16.sh $(tf)/t17.sh $(tf)/t18.sh $(tf)/t19.sh \ $(tf)/t20.sh $(tf)/t21.sh $(tf)/t22.sh $(tf)/t23.sh $(tf)/t24.sh \ $(tf)/t25.sh $(tf)/t26.sh $(tf)/t27.sh $(tf)/t28.sh $(tf)/t29.sh \ $(tf)/t30.sh $(tf)/t31.sh $(tf)/t32.sh $(tf)/t33.sh $(tf)/t34.sh \ $(tf)/t35.sh $(tf)/t36.sh pr_data = \ tests/pr/0F \ tests/pr/0FF \ tests/pr/0FFnt \ tests/pr/0FFt \ tests/pr/0FnFnt \ tests/pr/0FnFt \ tests/pr/0Fnt \ tests/pr/0Ft \ tests/pr/2-S_f-t_notab \ tests/pr/2-Sf-t_notab \ tests/pr/2f-t_notab \ tests/pr/2s_f-t_notab \ tests/pr/2s_w60f-t_nota \ tests/pr/2sf-t_notab \ tests/pr/2sw60f-t_notab \ tests/pr/2w60f-t_notab \ tests/pr/3-0F \ tests/pr/3-5l24f-t \ tests/pr/3-FF \ tests/pr/3a2l17-FF \ tests/pr/3a3f-0F \ tests/pr/3a3l15-t \ tests/pr/3a3l15f-t \ tests/pr/3b2l17-FF \ tests/pr/3b3f-0F \ tests/pr/3b3f-0FF \ tests/pr/3b3f-FF \ tests/pr/3b3l15-t \ tests/pr/3b3l15f-t \ tests/pr/3f-0F \ tests/pr/3f-FF \ tests/pr/3l24-t \ tests/pr/3l24f-t \ tests/pr/3ml24-FF \ tests/pr/3ml24-t \ tests/pr/3ml24-t-FF \ tests/pr/3ml24f-t \ tests/pr/4-7l24-FF \ tests/pr/4l24-FF \ tests/pr/FF \ tests/pr/FFn \ tests/pr/FFtn \ tests/pr/FnFn \ tests/pr/Ja3l24f-lm \ tests/pr/Jb3l24f-lm \ tests/pr/Jml24f-lm-lo \ tests/pr/W-72l24f-ll \ tests/pr/W20l24f-ll \ tests/pr/W26l24f-ll \ tests/pr/W27l24f-ll \ tests/pr/W28l24f-ll \ tests/pr/W35Ja3l24f-lm \ tests/pr/W35Jb3l24f-lm \ tests/pr/W35Jml24f-lmlo \ tests/pr/W35a3l24f-lm \ tests/pr/W35b3l24f-lm \ tests/pr/W35ml24f-lm-lo \ tests/pr/W72Jl24f-ll \ tests/pr/a2l15-FF \ tests/pr/a2l17-FF \ tests/pr/a3-0F \ tests/pr/a3f-0F \ tests/pr/a3f-0FF \ tests/pr/a3f-FF \ tests/pr/a3l15-t \ tests/pr/a3l15f-t \ tests/pr/a3l24f-lm \ tests/pr/b2l15-FF \ tests/pr/b2l17-FF \ tests/pr/b3-0F \ tests/pr/b3f-0F \ tests/pr/b3f-0FF \ tests/pr/b3f-FF \ tests/pr/b3l15-t \ tests/pr/b3l15f-t \ tests/pr/b3l24f-lm \ tests/pr/l24-FF \ tests/pr/l24-t \ tests/pr/l24f-t \ tests/pr/loli \ tests/pr/ml20-FF-t \ tests/pr/ml24-FF \ tests/pr/ml24-t \ tests/pr/ml24-t-FF \ tests/pr/ml24f-0F \ tests/pr/ml24f-lm-lo \ tests/pr/ml24f-t \ tests/pr/ml24f-t-0F \ tests/pr/n+2-5l24f-0FF \ tests/pr/n+2l24f-0FF \ tests/pr/n+2l24f-bl \ tests/pr/n+3-7l24-FF \ tests/pr/n+3l24f-0FF \ tests/pr/n+3l24f-bl \ tests/pr/n+3ml20f-bl-FF \ tests/pr/n+3ml24f-bl-tn \ tests/pr/n+3ml24f-tn-bl \ tests/pr/n+4-8a2l17-FF \ tests/pr/n+4b2l17f-0FF \ tests/pr/n+5-8b3l17f-FF \ tests/pr/n+5a3l13f-0FF \ tests/pr/n+6a2l17-FF \ tests/pr/n+6b3l13f-FF \ tests/pr/n+7l24-FF \ tests/pr/n+8l20-FF \ tests/pr/nJml24f-lmlmlo \ tests/pr/nJml24f-lmlolm \ tests/pr/nN1+3l24f-bl \ tests/pr/nN15l24f-bl \ tests/pr/nSml20-bl-FF \ tests/pr/nSml20-t-t-FF \ tests/pr/nSml20-t-tFFFF \ tests/pr/nSml24-bl-FF \ tests/pr/nSml24-t-t-FF \ tests/pr/nSml24-t-tFFFF \ tests/pr/nl24f-bl \ tests/pr/o3Jml24f-lm-lo \ tests/pr/o3a3Sl24f-tn \ tests/pr/o3a3Snl24f-tn \ tests/pr/o3a3l24f-tn \ tests/pr/o3b3Sl24f-tn \ tests/pr/o3b3Snl24f-tn \ tests/pr/o3b3l24f-tn \ tests/pr/o3mSl24f-bl-tn \ tests/pr/o3mSnl24fbltn \ tests/pr/o3ml24f-bl-tn \ tests/pr/t-0FF \ tests/pr/t-FF \ tests/pr/t-bl \ tests/pr/t-t \ tests/pr/tFFn \ tests/pr/tFFt \ tests/pr/tFFt-bl \ tests/pr/tFFt-ll \ tests/pr/tFFt-lm \ tests/pr/tFnFt \ tests/pr/t_notab \ tests/pr/t_tab \ tests/pr/t_tab_ \ tests/pr/ta3-0FF \ tests/pr/ta3-FF \ tests/pr/tb3-0FF \ tests/pr/tb3-FF \ tests/pr/tn \ tests/pr/tn2e5o3-t_tab \ tests/pr/tn2e8-t_tab \ tests/pr/tn2e8o3-t_tab \ tests/pr/tn_2e8-t_tab \ tests/pr/tn_2e8S-t_tab \ tests/pr/tne8-t_tab \ tests/pr/tne8o3-t_tab \ tests/pr/tt-0FF \ tests/pr/tt-FF \ tests/pr/tt-bl \ tests/pr/tt-t \ tests/pr/tta3-0FF \ tests/pr/tta3-FF \ tests/pr/ttb3-0FF \ tests/pr/ttb3-FF \ tests/pr/w72l24f-ll all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .1 .c .dvi .html .log .o .obj .pl .pl$(EXEEXT) .ps .sed .sh .sh$(EXEEXT) .sin .x .xpl .xpl$(EXEEXT) .y am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/lib/local.mk $(srcdir)/lib/gnulib.mk $(top_srcdir)/src/local.mk $(srcdir)/src/cu-progs.mk $(top_srcdir)/doc/local.mk $(top_srcdir)/man/local.mk $(top_srcdir)/tests/local.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/lib/local.mk $(srcdir)/lib/gnulib.mk $(top_srcdir)/src/local.mk $(srcdir)/src/cu-progs.mk $(top_srcdir)/doc/local.mk $(top_srcdir)/man/local.mk $(top_srcdir)/tests/local.mk: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): lib/config.h: lib/stamp-h1 @if test ! -f $@; then rm -f lib/stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) lib/stamp-h1; else :; fi lib/stamp-h1: $(top_srcdir)/lib/config.hin $(top_builddir)/config.status @rm -f lib/stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status lib/config.h $(top_srcdir)/lib/config.hin: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f lib/stamp-h1 touch $@ distclean-hdr: -rm -f lib/config.h lib/stamp-h1 clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) lib/$(am__dirstamp): @$(MKDIR_P) lib @: > lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/$(DEPDIR) @: > lib/$(DEPDIR)/$(am__dirstamp) lib/set-mode-acl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/copy-acl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/file-has-acl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/allocator.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/areadlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/areadlink-with-size.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/areadlinkat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/argmatch.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/argv-iter.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/backupfile.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/base64.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/binary-io.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/bitrotate.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/buffer-lcm.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/c-ctype.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/c-strcasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/c-strncasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/c-strtod.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/c-strtold.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/canon-host.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/canonicalize.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/careadlinkat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/cloexec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/close-stream.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/closein.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/closeout.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/md5.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/sha1.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/sha256.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sha512.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/cycle-check.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/di-set.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/diacrit.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/opendir-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dirname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/basename.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dirname-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/basename-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/stripslash.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dtoastr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dtotimespec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/exclude.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/exitfail.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fadvise.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fatal-signal.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/chmodat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/chownat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/creat-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/open-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fd-hook.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fd-reopen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fd-safer-flag.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dup-safer-flag.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fdutimensat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/file-set.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/file-type.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/filemode.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/filenamecat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/filenamecat-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/filevercmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fopen-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fprintftime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freading.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freadseek.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freopen-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/ftoastr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/full-read.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/full-write.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/gethrxtime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xtime.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/getndelim2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/gettime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getugroups.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/hard-locale.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/hash.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/hash-pjw.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/hash-triple.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/heap.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/human.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/i-ring.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/idcache.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/ino-map.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/imaxtostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/inttostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/offtostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/uinttostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/umaxtostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/ldtoastr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/linebuffer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/localcharset.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/glthread/$(am__dirstamp): @$(MKDIR_P) lib/glthread @: > lib/glthread/$(am__dirstamp) lib/glthread/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/glthread/$(DEPDIR) @: > lib/glthread/$(DEPDIR)/$(am__dirstamp) lib/glthread/lock.$(OBJEXT): lib/glthread/$(am__dirstamp) \ lib/glthread/$(DEPDIR)/$(am__dirstamp) lib/long-options.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/malloca.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/math.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/mbchar.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbiter.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbsalign.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbscasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbslen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbsstr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbswidth.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbuiter.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memcasecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memchr2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memcmp2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memcoll.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mgetgroups.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mkancesdirs.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dirchownmod.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mkdir-p.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/modechange.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mpsort.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/nproc.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/openat-die.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/openat-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/parse-datetime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/physmem.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/pipe2.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/pipe2-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/posixtm.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/posixver.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/printf-frexp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/printf-frexpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/priv-set.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/progname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/propername.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/quotearg.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/randint.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/randperm.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/randread.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/rand-isaac.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/read-file.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/readtokens.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/readtokens0.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/root-dev-ino.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/safe-read.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/safe-write.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/same.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/save-cwd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/savedir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/savewd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/se-context.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/se-selinux.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/settime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sig-handler.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sockets.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn-pipe.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/stat-time.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/statat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mkstemp-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strftime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/striconv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strnlen1.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strintcmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strnumcmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sys_socket.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/tempname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/glthread/threadlib.$(OBJEXT): lib/glthread/$(am__dirstamp) \ lib/glthread/$(DEPDIR)/$(am__dirstamp) lib/timespec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/glthread/tls.$(OBJEXT): lib/glthread/$(am__dirstamp) \ lib/glthread/$(DEPDIR)/$(am__dirstamp) lib/trim.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/u64.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/unicodeio.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/unistd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dup-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fd-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/pipe-safer.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/unistr/$(am__dirstamp): @$(MKDIR_P) lib/unistr @: > lib/unistr/$(am__dirstamp) lib/unistr/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/unistr/$(DEPDIR) @: > lib/unistr/$(DEPDIR)/$(am__dirstamp) lib/unistr/u8-mbtoucr.$(OBJEXT): lib/unistr/$(am__dirstamp) \ lib/unistr/$(DEPDIR)/$(am__dirstamp) lib/unistr/u8-uctomb.$(OBJEXT): lib/unistr/$(am__dirstamp) \ lib/unistr/$(DEPDIR)/$(am__dirstamp) lib/unistr/u8-uctomb-aux.$(OBJEXT): lib/unistr/$(am__dirstamp) \ lib/unistr/$(DEPDIR)/$(am__dirstamp) lib/uniwidth/$(am__dirstamp): @$(MKDIR_P) lib/uniwidth @: > lib/uniwidth/$(am__dirstamp) lib/uniwidth/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) lib/uniwidth/$(DEPDIR) @: > lib/uniwidth/$(DEPDIR)/$(am__dirstamp) lib/uniwidth/width.$(OBJEXT): lib/uniwidth/$(am__dirstamp) \ lib/uniwidth/$(DEPDIR)/$(am__dirstamp) lib/userspec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/utimecmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/utimens.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/verror.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/version-etc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/version-etc-fsf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/wait-process.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/wctype-h.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/write-any-file.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xmalloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xalloc-die.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xfreopen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xfts.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/xgetcwd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xgetgroups.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xgethostname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xmemcoll.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xnanosleep.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xreadlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xsize.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/xstriconv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrndup.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtod.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtoimax.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtol.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtoul.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtol-error.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtold.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xstrtoumax.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xvasprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/xasprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/yesno.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/acl_entries.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/alloca.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/at-func.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/openat-proc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/btowc.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/calloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/chdir-long.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/chown.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fchown-stub.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/close.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/closedir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/dirfd.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/dup.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/dup2.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/error.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/euidaccess.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/faccessat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fchdir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fchmodat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fchownat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fclose.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fcntl.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fdatasync.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fdopen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fdopendir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fflush.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fileblocks.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/float.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/itold.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fnmatch.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fnmatch_loop.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fopen.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fpending.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fpurge.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freadahead.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freadptr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/freopen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/frexp.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/frexpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fseek.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fseeko.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fseterr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fstat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/fstatat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fsusage.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fsync.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/ftell.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/ftello.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/ftruncate.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fts-cycle.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/fts.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/futimens.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/gai_strerror.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getaddrinfo.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getcwd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getcwd-lgpl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getdelim.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getdtablesize.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getgroups.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/gethostname.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getline.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getloadavg.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getlogin.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getopt.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getopt1.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getpagesize.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getpass.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/gettimeofday.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getusershell.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/group-member.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/iconv.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/iconv_close.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/iconv_open.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/inet_ntop.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/anytostr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isapipe.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isatty.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isblank.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isnan.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/isnand.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isnanf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/isnanl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/iswblank.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/lchown.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/link.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/at-func2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/linkat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/localeconv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/lseek.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/lstat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/malloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbrlen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbrtowc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbsinit.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbsrtowcs-state.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbsrtowcs.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mbtowc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mempcpy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/memrchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mkdir.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/mkfifo.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mknod.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/mkstemp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mktime.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/mountlist.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/msvc-inval.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/msvc-nothrow.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/nanosleep.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/nl_langinfo.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/obstack.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/open.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/openat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/opendir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawni.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn_faction_addclose.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn_faction_adddup2.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn_faction_addopen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn_faction_destroy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawn_faction_init.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawnattr_destroy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawnattr_init.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawnattr_setflags.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawnattr_setsigmask.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/spawnp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/pthread.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/putenv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/raise.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/rawmemchr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/read.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/readdir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/readlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/readlinkat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/readutmp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/realloc.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/regcomp.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/regex.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/regex_internal.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/regexec.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/remove.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/rename.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/rewinddir.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/rmdir.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/rpmatch.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/select.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/selinux-at.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/getfilecon.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/setenv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sig2str.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sigaction.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/signbitd.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/signbitf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/signbitl.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/sigprocmask.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/snprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/stat.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/stpcpy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/stpncpy.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strchrnul.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strdup.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strerror.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strerror-override.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strncat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strndup.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strnlen.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strpbrk.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strsignal.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strstr.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtod.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtoimax.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtol.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtoll.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtoul.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtoull.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/strtoumax.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/symlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/time_r.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/uname.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/unlink.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/unlinkat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/unsetenv.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/utimensat.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/asnprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/printf-args.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/printf-parse.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/vasnprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/asprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/vasprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/vfprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/vprintf.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/waitpid.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/wcrtomb.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/wcswidth.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/wcwidth.$(OBJEXT): lib/$(am__dirstamp) \ lib/$(DEPDIR)/$(am__dirstamp) lib/write.$(OBJEXT): lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) lib/libcoreutils.a: $(lib_libcoreutils_a_OBJECTS) $(lib_libcoreutils_a_DEPENDENCIES) $(EXTRA_lib_libcoreutils_a_DEPENDENCIES) lib/$(am__dirstamp) $(AM_V_at)-rm -f lib/libcoreutils.a $(AM_V_AR)$(lib_libcoreutils_a_AR) lib/libcoreutils.a $(lib_libcoreutils_a_OBJECTS) $(lib_libcoreutils_a_LIBADD) $(AM_V_at)$(RANLIB) lib/libcoreutils.a src/$(am__dirstamp): @$(MKDIR_P) src @: > src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) @: > src/$(DEPDIR)/$(am__dirstamp) src/version.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libver.a: $(src_libver_a_OBJECTS) $(src_libver_a_DEPENDENCIES) $(EXTRA_src_libver_a_DEPENDENCIES) src/$(am__dirstamp) $(AM_V_at)-rm -f src/libver.a $(AM_V_AR)$(src_libver_a_AR) src/libver.a $(src_libver_a_OBJECTS) $(src_libver_a_LIBADD) $(AM_V_at)$(RANLIB) src/libver.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) > /dev/null 2>&1 || /bin/rm -f $(bin_PROGRAMS) clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS) @$(NORMAL_INSTALL) @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-pkglibexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkglibexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkglibexecdir)" && rm -f $$files clean-pkglibexecPROGRAMS: -test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS) src/lbracket.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/[$(EXEEXT): $(src___OBJECTS) $(src___DEPENDENCIES) $(EXTRA_src___DEPENDENCIES) src/$(am__dirstamp) @rm -f src/[$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src___OBJECTS) $(src___LDADD) $(LIBS) src/uname.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/uname-arch.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/arch$(EXEEXT): $(src_arch_OBJECTS) $(src_arch_DEPENDENCIES) $(EXTRA_src_arch_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/arch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_arch_OBJECTS) $(src_arch_LDADD) $(LIBS) src/base64.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/base64$(EXEEXT): $(src_base64_OBJECTS) $(src_base64_DEPENDENCIES) $(EXTRA_src_base64_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/base64$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_base64_OBJECTS) $(src_base64_LDADD) $(LIBS) src/basename.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/basename$(EXEEXT): $(src_basename_OBJECTS) $(src_basename_DEPENDENCIES) $(EXTRA_src_basename_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/basename$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_basename_OBJECTS) $(src_basename_LDADD) $(LIBS) src/cat.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/cat$(EXEEXT): $(src_cat_OBJECTS) $(src_cat_DEPENDENCIES) $(EXTRA_src_cat_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/cat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_cat_OBJECTS) $(src_cat_LDADD) $(LIBS) src/chcon.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/chcon$(EXEEXT): $(src_chcon_OBJECTS) $(src_chcon_DEPENDENCIES) $(EXTRA_src_chcon_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/chcon$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_chcon_OBJECTS) $(src_chcon_LDADD) $(LIBS) src/chgrp.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/chown-core.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/chgrp$(EXEEXT): $(src_chgrp_OBJECTS) $(src_chgrp_DEPENDENCIES) $(EXTRA_src_chgrp_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/chgrp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_chgrp_OBJECTS) $(src_chgrp_LDADD) $(LIBS) src/chmod.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/chmod$(EXEEXT): $(src_chmod_OBJECTS) $(src_chmod_DEPENDENCIES) $(EXTRA_src_chmod_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/chmod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_chmod_OBJECTS) $(src_chmod_LDADD) $(LIBS) src/chown.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/chown$(EXEEXT): $(src_chown_OBJECTS) $(src_chown_DEPENDENCIES) $(EXTRA_src_chown_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/chown$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_chown_OBJECTS) $(src_chown_LDADD) $(LIBS) src/chroot.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/chroot$(EXEEXT): $(src_chroot_OBJECTS) $(src_chroot_DEPENDENCIES) $(EXTRA_src_chroot_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/chroot$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_chroot_OBJECTS) $(src_chroot_LDADD) $(LIBS) src/cksum.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/cksum$(EXEEXT): $(src_cksum_OBJECTS) $(src_cksum_DEPENDENCIES) $(EXTRA_src_cksum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/cksum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_cksum_OBJECTS) $(src_cksum_LDADD) $(LIBS) src/comm.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/comm$(EXEEXT): $(src_comm_OBJECTS) $(src_comm_DEPENDENCIES) $(EXTRA_src_comm_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/comm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_comm_OBJECTS) $(src_comm_LDADD) $(LIBS) src/cp.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/copy.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/cp-hash.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/extent-scan.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/cp$(EXEEXT): $(src_cp_OBJECTS) $(src_cp_DEPENDENCIES) $(EXTRA_src_cp_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/cp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_cp_OBJECTS) $(src_cp_LDADD) $(LIBS) src/csplit.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/csplit$(EXEEXT): $(src_csplit_OBJECTS) $(src_csplit_DEPENDENCIES) $(EXTRA_src_csplit_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/csplit$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_csplit_OBJECTS) $(src_csplit_LDADD) $(LIBS) src/cut.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/cut$(EXEEXT): $(src_cut_OBJECTS) $(src_cut_DEPENDENCIES) $(EXTRA_src_cut_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/cut$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_cut_OBJECTS) $(src_cut_LDADD) $(LIBS) src/date.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/date$(EXEEXT): $(src_date_OBJECTS) $(src_date_DEPENDENCIES) $(EXTRA_src_date_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/date$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_date_OBJECTS) $(src_date_LDADD) $(LIBS) src/dd.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/dd$(EXEEXT): $(src_dd_OBJECTS) $(src_dd_DEPENDENCIES) $(EXTRA_src_dd_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/dd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_dd_OBJECTS) $(src_dd_LDADD) $(LIBS) src/df.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/find-mount-point.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/df$(EXEEXT): $(src_df_OBJECTS) $(src_df_DEPENDENCIES) $(EXTRA_src_df_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/df$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_df_OBJECTS) $(src_df_LDADD) $(LIBS) src/ls.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/ls-dir.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/dir$(EXEEXT): $(src_dir_OBJECTS) $(src_dir_DEPENDENCIES) $(EXTRA_src_dir_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/dir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_dir_OBJECTS) $(src_dir_LDADD) $(LIBS) src/dircolors.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/dircolors$(EXEEXT): $(src_dircolors_OBJECTS) $(src_dircolors_DEPENDENCIES) $(EXTRA_src_dircolors_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/dircolors$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_dircolors_OBJECTS) $(src_dircolors_LDADD) $(LIBS) src/dirname.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/dirname$(EXEEXT): $(src_dirname_OBJECTS) $(src_dirname_DEPENDENCIES) $(EXTRA_src_dirname_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/dirname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_dirname_OBJECTS) $(src_dirname_LDADD) $(LIBS) src/du.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/du$(EXEEXT): $(src_du_OBJECTS) $(src_du_DEPENDENCIES) $(EXTRA_src_du_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/du$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_du_OBJECTS) $(src_du_LDADD) $(LIBS) src/echo.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/echo$(EXEEXT): $(src_echo_OBJECTS) $(src_echo_DEPENDENCIES) $(EXTRA_src_echo_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/echo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_echo_OBJECTS) $(src_echo_LDADD) $(LIBS) src/env.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/env$(EXEEXT): $(src_env_OBJECTS) $(src_env_DEPENDENCIES) $(EXTRA_src_env_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/env$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_env_OBJECTS) $(src_env_LDADD) $(LIBS) src/expand.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/expand$(EXEEXT): $(src_expand_OBJECTS) $(src_expand_DEPENDENCIES) $(EXTRA_src_expand_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/expand$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_expand_OBJECTS) $(src_expand_LDADD) $(LIBS) src/expr.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/expr$(EXEEXT): $(src_expr_OBJECTS) $(src_expr_DEPENDENCIES) $(EXTRA_src_expr_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/expr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_expr_OBJECTS) $(src_expr_LDADD) $(LIBS) src/factor.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/factor$(EXEEXT): $(src_factor_OBJECTS) $(src_factor_DEPENDENCIES) $(EXTRA_src_factor_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/factor$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_factor_OBJECTS) $(src_factor_LDADD) $(LIBS) src/false.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/false$(EXEEXT): $(src_false_OBJECTS) $(src_false_DEPENDENCIES) $(EXTRA_src_false_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/false$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_false_OBJECTS) $(src_false_LDADD) $(LIBS) src/fmt.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/fmt$(EXEEXT): $(src_fmt_OBJECTS) $(src_fmt_DEPENDENCIES) $(EXTRA_src_fmt_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/fmt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_fmt_OBJECTS) $(src_fmt_LDADD) $(LIBS) src/fold.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/fold$(EXEEXT): $(src_fold_OBJECTS) $(src_fold_DEPENDENCIES) $(EXTRA_src_fold_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/fold$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_fold_OBJECTS) $(src_fold_LDADD) $(LIBS) src/getlimits.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/getlimits$(EXEEXT): $(src_getlimits_OBJECTS) $(src_getlimits_DEPENDENCIES) $(EXTRA_src_getlimits_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/getlimits$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_getlimits_OBJECTS) $(src_getlimits_LDADD) $(LIBS) src/src_ginstall-install.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/src_ginstall-prog-fprintf.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/src_ginstall-copy.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/src_ginstall-cp-hash.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/src_ginstall-extent-scan.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/ginstall$(EXEEXT): $(src_ginstall_OBJECTS) $(src_ginstall_DEPENDENCIES) $(EXTRA_src_ginstall_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/ginstall$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_ginstall_OBJECTS) $(src_ginstall_LDADD) $(LIBS) src/groups.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/group-list.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/groups$(EXEEXT): $(src_groups_OBJECTS) $(src_groups_DEPENDENCIES) $(EXTRA_src_groups_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/groups$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_groups_OBJECTS) $(src_groups_LDADD) $(LIBS) src/head.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/head$(EXEEXT): $(src_head_OBJECTS) $(src_head_DEPENDENCIES) $(EXTRA_src_head_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/head$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_head_OBJECTS) $(src_head_LDADD) $(LIBS) src/hostid.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/hostid$(EXEEXT): $(src_hostid_OBJECTS) $(src_hostid_DEPENDENCIES) $(EXTRA_src_hostid_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/hostid$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_hostid_OBJECTS) $(src_hostid_LDADD) $(LIBS) src/hostname.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/hostname$(EXEEXT): $(src_hostname_OBJECTS) $(src_hostname_DEPENDENCIES) $(EXTRA_src_hostname_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/hostname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_hostname_OBJECTS) $(src_hostname_LDADD) $(LIBS) src/id.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/id$(EXEEXT): $(src_id_OBJECTS) $(src_id_DEPENDENCIES) $(EXTRA_src_id_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/id$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_id_OBJECTS) $(src_id_LDADD) $(LIBS) src/join.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/join$(EXEEXT): $(src_join_OBJECTS) $(src_join_DEPENDENCIES) $(EXTRA_src_join_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/join$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_join_OBJECTS) $(src_join_LDADD) $(LIBS) src/kill.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/operand2sig.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/kill$(EXEEXT): $(src_kill_OBJECTS) $(src_kill_DEPENDENCIES) $(EXTRA_src_kill_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/kill$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_kill_OBJECTS) $(src_kill_LDADD) $(LIBS) src/src_libstdbuf_so-libstdbuf.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libstdbuf.so$(EXEEXT): $(src_libstdbuf_so_OBJECTS) $(src_libstdbuf_so_DEPENDENCIES) $(EXTRA_src_libstdbuf_so_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/libstdbuf.so$(EXEEXT) $(AM_V_CCLD)$(src_libstdbuf_so_LINK) $(src_libstdbuf_so_OBJECTS) $(src_libstdbuf_so_LDADD) $(LIBS) src/link.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/link$(EXEEXT): $(src_link_OBJECTS) $(src_link_DEPENDENCIES) $(EXTRA_src_link_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/link$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_link_OBJECTS) $(src_link_LDADD) $(LIBS) src/ln.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/relpath.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/ln$(EXEEXT): $(src_ln_OBJECTS) $(src_ln_DEPENDENCIES) $(EXTRA_src_ln_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/ln$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_ln_OBJECTS) $(src_ln_LDADD) $(LIBS) src/logname.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/logname$(EXEEXT): $(src_logname_OBJECTS) $(src_logname_DEPENDENCIES) $(EXTRA_src_logname_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/logname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_logname_OBJECTS) $(src_logname_LDADD) $(LIBS) src/ls-ls.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/ls$(EXEEXT): $(src_ls_OBJECTS) $(src_ls_DEPENDENCIES) $(EXTRA_src_ls_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/ls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_ls_OBJECTS) $(src_ls_LDADD) $(LIBS) src/make-prime-list.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/make-prime-list$(EXEEXT): $(src_make_prime_list_OBJECTS) $(src_make_prime_list_DEPENDENCIES) $(EXTRA_src_make_prime_list_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/make-prime-list$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_make_prime_list_OBJECTS) $(src_make_prime_list_LDADD) $(LIBS) src/src_md5sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/md5sum$(EXEEXT): $(src_md5sum_OBJECTS) $(src_md5sum_DEPENDENCIES) $(EXTRA_src_md5sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/md5sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_md5sum_OBJECTS) $(src_md5sum_LDADD) $(LIBS) src/mkdir.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/prog-fprintf.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/mkdir$(EXEEXT): $(src_mkdir_OBJECTS) $(src_mkdir_DEPENDENCIES) $(EXTRA_src_mkdir_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/mkdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_mkdir_OBJECTS) $(src_mkdir_LDADD) $(LIBS) src/mkfifo.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/mkfifo$(EXEEXT): $(src_mkfifo_OBJECTS) $(src_mkfifo_DEPENDENCIES) $(EXTRA_src_mkfifo_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/mkfifo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_mkfifo_OBJECTS) $(src_mkfifo_LDADD) $(LIBS) src/mknod.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/mknod$(EXEEXT): $(src_mknod_OBJECTS) $(src_mknod_DEPENDENCIES) $(EXTRA_src_mknod_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/mknod$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_mknod_OBJECTS) $(src_mknod_LDADD) $(LIBS) src/mktemp.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/mktemp$(EXEEXT): $(src_mktemp_OBJECTS) $(src_mktemp_DEPENDENCIES) $(EXTRA_src_mktemp_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/mktemp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_mktemp_OBJECTS) $(src_mktemp_LDADD) $(LIBS) src/mv.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/remove.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/mv$(EXEEXT): $(src_mv_OBJECTS) $(src_mv_DEPENDENCIES) $(EXTRA_src_mv_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/mv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_mv_OBJECTS) $(src_mv_LDADD) $(LIBS) src/nice.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/nice$(EXEEXT): $(src_nice_OBJECTS) $(src_nice_DEPENDENCIES) $(EXTRA_src_nice_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/nice$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_nice_OBJECTS) $(src_nice_LDADD) $(LIBS) src/nl.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/nl$(EXEEXT): $(src_nl_OBJECTS) $(src_nl_DEPENDENCIES) $(EXTRA_src_nl_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/nl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_nl_OBJECTS) $(src_nl_LDADD) $(LIBS) src/nohup.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/nohup$(EXEEXT): $(src_nohup_OBJECTS) $(src_nohup_DEPENDENCIES) $(EXTRA_src_nohup_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/nohup$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_nohup_OBJECTS) $(src_nohup_LDADD) $(LIBS) src/nproc.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/nproc$(EXEEXT): $(src_nproc_OBJECTS) $(src_nproc_DEPENDENCIES) $(EXTRA_src_nproc_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/nproc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_nproc_OBJECTS) $(src_nproc_LDADD) $(LIBS) src/numfmt.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/numfmt$(EXEEXT): $(src_numfmt_OBJECTS) $(src_numfmt_DEPENDENCIES) $(EXTRA_src_numfmt_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/numfmt$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_numfmt_OBJECTS) $(src_numfmt_LDADD) $(LIBS) src/od.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/od$(EXEEXT): $(src_od_OBJECTS) $(src_od_DEPENDENCIES) $(EXTRA_src_od_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/od$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_od_OBJECTS) $(src_od_LDADD) $(LIBS) src/paste.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/paste$(EXEEXT): $(src_paste_OBJECTS) $(src_paste_DEPENDENCIES) $(EXTRA_src_paste_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/paste$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_paste_OBJECTS) $(src_paste_LDADD) $(LIBS) src/pathchk.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/pathchk$(EXEEXT): $(src_pathchk_OBJECTS) $(src_pathchk_DEPENDENCIES) $(EXTRA_src_pathchk_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/pathchk$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_pathchk_OBJECTS) $(src_pathchk_LDADD) $(LIBS) src/pinky.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/pinky$(EXEEXT): $(src_pinky_OBJECTS) $(src_pinky_DEPENDENCIES) $(EXTRA_src_pinky_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/pinky$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_pinky_OBJECTS) $(src_pinky_LDADD) $(LIBS) src/pr.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/pr$(EXEEXT): $(src_pr_OBJECTS) $(src_pr_DEPENDENCIES) $(EXTRA_src_pr_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/pr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_pr_OBJECTS) $(src_pr_LDADD) $(LIBS) src/printenv.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/printenv$(EXEEXT): $(src_printenv_OBJECTS) $(src_printenv_DEPENDENCIES) $(EXTRA_src_printenv_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/printenv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_printenv_OBJECTS) $(src_printenv_LDADD) $(LIBS) src/printf.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/printf$(EXEEXT): $(src_printf_OBJECTS) $(src_printf_DEPENDENCIES) $(EXTRA_src_printf_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/printf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_printf_OBJECTS) $(src_printf_LDADD) $(LIBS) src/ptx.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/ptx$(EXEEXT): $(src_ptx_OBJECTS) $(src_ptx_DEPENDENCIES) $(EXTRA_src_ptx_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/ptx$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_ptx_OBJECTS) $(src_ptx_LDADD) $(LIBS) src/pwd.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/pwd$(EXEEXT): $(src_pwd_OBJECTS) $(src_pwd_DEPENDENCIES) $(EXTRA_src_pwd_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/pwd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_pwd_OBJECTS) $(src_pwd_LDADD) $(LIBS) src/readlink.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/readlink$(EXEEXT): $(src_readlink_OBJECTS) $(src_readlink_DEPENDENCIES) $(EXTRA_src_readlink_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/readlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_readlink_OBJECTS) $(src_readlink_LDADD) $(LIBS) src/realpath.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/realpath$(EXEEXT): $(src_realpath_OBJECTS) $(src_realpath_DEPENDENCIES) $(EXTRA_src_realpath_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/realpath$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_realpath_OBJECTS) $(src_realpath_LDADD) $(LIBS) src/rm.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/rm$(EXEEXT): $(src_rm_OBJECTS) $(src_rm_DEPENDENCIES) $(EXTRA_src_rm_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/rm$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_rm_OBJECTS) $(src_rm_LDADD) $(LIBS) src/rmdir.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/rmdir$(EXEEXT): $(src_rmdir_OBJECTS) $(src_rmdir_DEPENDENCIES) $(EXTRA_src_rmdir_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/rmdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_rmdir_OBJECTS) $(src_rmdir_LDADD) $(LIBS) src/runcon.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/runcon$(EXEEXT): $(src_runcon_OBJECTS) $(src_runcon_DEPENDENCIES) $(EXTRA_src_runcon_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/runcon$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_runcon_OBJECTS) $(src_runcon_LDADD) $(LIBS) src/seq.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/seq$(EXEEXT): $(src_seq_OBJECTS) $(src_seq_DEPENDENCIES) $(EXTRA_src_seq_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/seq$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_seq_OBJECTS) $(src_seq_LDADD) $(LIBS) src/setuidgid.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/setuidgid$(EXEEXT): $(src_setuidgid_OBJECTS) $(src_setuidgid_DEPENDENCIES) $(EXTRA_src_setuidgid_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/setuidgid$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_setuidgid_OBJECTS) $(src_setuidgid_LDADD) $(LIBS) src/src_sha1sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/sha1sum$(EXEEXT): $(src_sha1sum_OBJECTS) $(src_sha1sum_DEPENDENCIES) $(EXTRA_src_sha1sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sha1sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sha1sum_OBJECTS) $(src_sha1sum_LDADD) $(LIBS) src/src_sha224sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/sha224sum$(EXEEXT): $(src_sha224sum_OBJECTS) $(src_sha224sum_DEPENDENCIES) $(EXTRA_src_sha224sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sha224sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sha224sum_OBJECTS) $(src_sha224sum_LDADD) $(LIBS) src/src_sha256sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/sha256sum$(EXEEXT): $(src_sha256sum_OBJECTS) $(src_sha256sum_DEPENDENCIES) $(EXTRA_src_sha256sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sha256sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sha256sum_OBJECTS) $(src_sha256sum_LDADD) $(LIBS) src/src_sha384sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/sha384sum$(EXEEXT): $(src_sha384sum_OBJECTS) $(src_sha384sum_DEPENDENCIES) $(EXTRA_src_sha384sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sha384sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sha384sum_OBJECTS) $(src_sha384sum_LDADD) $(LIBS) src/src_sha512sum-md5sum.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/sha512sum$(EXEEXT): $(src_sha512sum_OBJECTS) $(src_sha512sum_DEPENDENCIES) $(EXTRA_src_sha512sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sha512sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sha512sum_OBJECTS) $(src_sha512sum_LDADD) $(LIBS) src/shred.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/shred$(EXEEXT): $(src_shred_OBJECTS) $(src_shred_DEPENDENCIES) $(EXTRA_src_shred_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/shred$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_shred_OBJECTS) $(src_shred_LDADD) $(LIBS) src/shuf.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/shuf$(EXEEXT): $(src_shuf_OBJECTS) $(src_shuf_DEPENDENCIES) $(EXTRA_src_shuf_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/shuf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_shuf_OBJECTS) $(src_shuf_LDADD) $(LIBS) src/sleep.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/sleep$(EXEEXT): $(src_sleep_OBJECTS) $(src_sleep_DEPENDENCIES) $(EXTRA_src_sleep_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sleep$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sleep_OBJECTS) $(src_sleep_LDADD) $(LIBS) src/sort.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/sort$(EXEEXT): $(src_sort_OBJECTS) $(src_sort_DEPENDENCIES) $(EXTRA_src_sort_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sort$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sort_OBJECTS) $(src_sort_LDADD) $(LIBS) src/split.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/split$(EXEEXT): $(src_split_OBJECTS) $(src_split_DEPENDENCIES) $(EXTRA_src_split_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/split$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_split_OBJECTS) $(src_split_LDADD) $(LIBS) src/stat.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/stat$(EXEEXT): $(src_stat_OBJECTS) $(src_stat_DEPENDENCIES) $(EXTRA_src_stat_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/stat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_stat_OBJECTS) $(src_stat_LDADD) $(LIBS) src/stdbuf.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/stdbuf$(EXEEXT): $(src_stdbuf_OBJECTS) $(src_stdbuf_DEPENDENCIES) $(EXTRA_src_stdbuf_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/stdbuf$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_stdbuf_OBJECTS) $(src_stdbuf_LDADD) $(LIBS) src/stty.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/stty$(EXEEXT): $(src_stty_OBJECTS) $(src_stty_DEPENDENCIES) $(EXTRA_src_stty_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/stty$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_stty_OBJECTS) $(src_stty_LDADD) $(LIBS) src/sum.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/sum$(EXEEXT): $(src_sum_OBJECTS) $(src_sum_DEPENDENCIES) $(EXTRA_src_sum_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sum_OBJECTS) $(src_sum_LDADD) $(LIBS) src/sync.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/sync$(EXEEXT): $(src_sync_OBJECTS) $(src_sync_DEPENDENCIES) $(EXTRA_src_sync_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/sync$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_sync_OBJECTS) $(src_sync_LDADD) $(LIBS) src/tac.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tac$(EXEEXT): $(src_tac_OBJECTS) $(src_tac_DEPENDENCIES) $(EXTRA_src_tac_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tac$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tac_OBJECTS) $(src_tac_LDADD) $(LIBS) src/tail.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tail$(EXEEXT): $(src_tail_OBJECTS) $(src_tail_DEPENDENCIES) $(EXTRA_src_tail_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tail$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tail_OBJECTS) $(src_tail_LDADD) $(LIBS) src/tee.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tee$(EXEEXT): $(src_tee_OBJECTS) $(src_tee_DEPENDENCIES) $(EXTRA_src_tee_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tee$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tee_OBJECTS) $(src_tee_LDADD) $(LIBS) src/test.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/test$(EXEEXT): $(src_test_OBJECTS) $(src_test_DEPENDENCIES) $(EXTRA_src_test_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/test$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_test_OBJECTS) $(src_test_LDADD) $(LIBS) src/timeout.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/timeout$(EXEEXT): $(src_timeout_OBJECTS) $(src_timeout_DEPENDENCIES) $(EXTRA_src_timeout_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/timeout$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_timeout_OBJECTS) $(src_timeout_LDADD) $(LIBS) src/touch.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/touch$(EXEEXT): $(src_touch_OBJECTS) $(src_touch_DEPENDENCIES) $(EXTRA_src_touch_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/touch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_touch_OBJECTS) $(src_touch_LDADD) $(LIBS) src/tr.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tr$(EXEEXT): $(src_tr_OBJECTS) $(src_tr_DEPENDENCIES) $(EXTRA_src_tr_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tr_OBJECTS) $(src_tr_LDADD) $(LIBS) src/true.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/true$(EXEEXT): $(src_true_OBJECTS) $(src_true_DEPENDENCIES) $(EXTRA_src_true_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/true$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_true_OBJECTS) $(src_true_LDADD) $(LIBS) src/truncate.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/truncate$(EXEEXT): $(src_truncate_OBJECTS) $(src_truncate_DEPENDENCIES) $(EXTRA_src_truncate_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/truncate$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_truncate_OBJECTS) $(src_truncate_LDADD) $(LIBS) src/tsort.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tsort$(EXEEXT): $(src_tsort_OBJECTS) $(src_tsort_DEPENDENCIES) $(EXTRA_src_tsort_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tsort$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tsort_OBJECTS) $(src_tsort_LDADD) $(LIBS) src/tty.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/tty$(EXEEXT): $(src_tty_OBJECTS) $(src_tty_DEPENDENCIES) $(EXTRA_src_tty_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/tty$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_tty_OBJECTS) $(src_tty_LDADD) $(LIBS) src/uname-uname.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/uname$(EXEEXT): $(src_uname_OBJECTS) $(src_uname_DEPENDENCIES) $(EXTRA_src_uname_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/uname$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_uname_OBJECTS) $(src_uname_LDADD) $(LIBS) src/unexpand.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/unexpand$(EXEEXT): $(src_unexpand_OBJECTS) $(src_unexpand_DEPENDENCIES) $(EXTRA_src_unexpand_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/unexpand$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_unexpand_OBJECTS) $(src_unexpand_LDADD) $(LIBS) src/uniq.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/uniq$(EXEEXT): $(src_uniq_OBJECTS) $(src_uniq_DEPENDENCIES) $(EXTRA_src_uniq_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/uniq$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_uniq_OBJECTS) $(src_uniq_LDADD) $(LIBS) src/unlink.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/unlink$(EXEEXT): $(src_unlink_OBJECTS) $(src_unlink_DEPENDENCIES) $(EXTRA_src_unlink_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/unlink$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_unlink_OBJECTS) $(src_unlink_LDADD) $(LIBS) src/uptime.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/uptime$(EXEEXT): $(src_uptime_OBJECTS) $(src_uptime_DEPENDENCIES) $(EXTRA_src_uptime_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/uptime$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_uptime_OBJECTS) $(src_uptime_LDADD) $(LIBS) src/users.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/users$(EXEEXT): $(src_users_OBJECTS) $(src_users_DEPENDENCIES) $(EXTRA_src_users_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/users$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_users_OBJECTS) $(src_users_LDADD) $(LIBS) src/ls-vdir.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/vdir$(EXEEXT): $(src_vdir_OBJECTS) $(src_vdir_DEPENDENCIES) $(EXTRA_src_vdir_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/vdir$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_vdir_OBJECTS) $(src_vdir_LDADD) $(LIBS) src/wc.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/wc$(EXEEXT): $(src_wc_OBJECTS) $(src_wc_DEPENDENCIES) $(EXTRA_src_wc_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/wc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_wc_OBJECTS) $(src_wc_LDADD) $(LIBS) src/who.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/who$(EXEEXT): $(src_who_OBJECTS) $(src_who_DEPENDENCIES) $(EXTRA_src_who_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/who$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_who_OBJECTS) $(src_who_LDADD) $(LIBS) src/whoami.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/whoami$(EXEEXT): $(src_whoami_OBJECTS) $(src_whoami_DEPENDENCIES) $(EXTRA_src_whoami_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/whoami$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_whoami_OBJECTS) $(src_whoami_LDADD) $(LIBS) src/yes.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/yes$(EXEEXT): $(src_yes_OBJECTS) $(src_yes_DEPENDENCIES) $(EXTRA_src_yes_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/yes$(EXEEXT) $(AM_V_CCLD)$(LINK) $(src_yes_OBJECTS) $(src_yes_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f lib/acl_entries.$(OBJEXT) -rm -f lib/alloca.$(OBJEXT) -rm -f lib/allocator.$(OBJEXT) -rm -f lib/anytostr.$(OBJEXT) -rm -f lib/areadlink-with-size.$(OBJEXT) -rm -f lib/areadlink.$(OBJEXT) -rm -f lib/areadlinkat.$(OBJEXT) -rm -f lib/argmatch.$(OBJEXT) -rm -f lib/argv-iter.$(OBJEXT) -rm -f lib/asnprintf.$(OBJEXT) -rm -f lib/asprintf.$(OBJEXT) -rm -f lib/at-func.$(OBJEXT) -rm -f lib/at-func2.$(OBJEXT) -rm -f lib/backupfile.$(OBJEXT) -rm -f lib/base64.$(OBJEXT) -rm -f lib/basename-lgpl.$(OBJEXT) -rm -f lib/basename.$(OBJEXT) -rm -f lib/binary-io.$(OBJEXT) -rm -f lib/bitrotate.$(OBJEXT) -rm -f lib/btowc.$(OBJEXT) -rm -f lib/buffer-lcm.$(OBJEXT) -rm -f lib/c-ctype.$(OBJEXT) -rm -f lib/c-strcasecmp.$(OBJEXT) -rm -f lib/c-strncasecmp.$(OBJEXT) -rm -f lib/c-strtod.$(OBJEXT) -rm -f lib/c-strtold.$(OBJEXT) -rm -f lib/calloc.$(OBJEXT) -rm -f lib/canon-host.$(OBJEXT) -rm -f lib/canonicalize.$(OBJEXT) -rm -f lib/careadlinkat.$(OBJEXT) -rm -f lib/chdir-long.$(OBJEXT) -rm -f lib/chmodat.$(OBJEXT) -rm -f lib/chown.$(OBJEXT) -rm -f lib/chownat.$(OBJEXT) -rm -f lib/cloexec.$(OBJEXT) -rm -f lib/close-stream.$(OBJEXT) -rm -f lib/close.$(OBJEXT) -rm -f lib/closedir.$(OBJEXT) -rm -f lib/closein.$(OBJEXT) -rm -f lib/closeout.$(OBJEXT) -rm -f lib/copy-acl.$(OBJEXT) -rm -f lib/creat-safer.$(OBJEXT) -rm -f lib/cycle-check.$(OBJEXT) -rm -f lib/di-set.$(OBJEXT) -rm -f lib/diacrit.$(OBJEXT) -rm -f lib/dirchownmod.$(OBJEXT) -rm -f lib/dirfd.$(OBJEXT) -rm -f lib/dirname-lgpl.$(OBJEXT) -rm -f lib/dirname.$(OBJEXT) -rm -f lib/dtoastr.$(OBJEXT) -rm -f lib/dtotimespec.$(OBJEXT) -rm -f lib/dup-safer-flag.$(OBJEXT) -rm -f lib/dup-safer.$(OBJEXT) -rm -f lib/dup.$(OBJEXT) -rm -f lib/dup2.$(OBJEXT) -rm -f lib/error.$(OBJEXT) -rm -f lib/euidaccess.$(OBJEXT) -rm -f lib/exclude.$(OBJEXT) -rm -f lib/exitfail.$(OBJEXT) -rm -f lib/faccessat.$(OBJEXT) -rm -f lib/fadvise.$(OBJEXT) -rm -f lib/fatal-signal.$(OBJEXT) -rm -f lib/fchdir.$(OBJEXT) -rm -f lib/fchmodat.$(OBJEXT) -rm -f lib/fchown-stub.$(OBJEXT) -rm -f lib/fchownat.$(OBJEXT) -rm -f lib/fclose.$(OBJEXT) -rm -f lib/fcntl.$(OBJEXT) -rm -f lib/fd-hook.$(OBJEXT) -rm -f lib/fd-reopen.$(OBJEXT) -rm -f lib/fd-safer-flag.$(OBJEXT) -rm -f lib/fd-safer.$(OBJEXT) -rm -f lib/fdatasync.$(OBJEXT) -rm -f lib/fdopen.$(OBJEXT) -rm -f lib/fdopendir.$(OBJEXT) -rm -f lib/fdutimensat.$(OBJEXT) -rm -f lib/fflush.$(OBJEXT) -rm -f lib/file-has-acl.$(OBJEXT) -rm -f lib/file-set.$(OBJEXT) -rm -f lib/file-type.$(OBJEXT) -rm -f lib/fileblocks.$(OBJEXT) -rm -f lib/filemode.$(OBJEXT) -rm -f lib/filenamecat-lgpl.$(OBJEXT) -rm -f lib/filenamecat.$(OBJEXT) -rm -f lib/filevercmp.$(OBJEXT) -rm -f lib/float.$(OBJEXT) -rm -f lib/fnmatch.$(OBJEXT) -rm -f lib/fnmatch_loop.$(OBJEXT) -rm -f lib/fopen-safer.$(OBJEXT) -rm -f lib/fopen.$(OBJEXT) -rm -f lib/fpending.$(OBJEXT) -rm -f lib/fprintftime.$(OBJEXT) -rm -f lib/fpurge.$(OBJEXT) -rm -f lib/freadahead.$(OBJEXT) -rm -f lib/freading.$(OBJEXT) -rm -f lib/freadptr.$(OBJEXT) -rm -f lib/freadseek.$(OBJEXT) -rm -f lib/freopen-safer.$(OBJEXT) -rm -f lib/freopen.$(OBJEXT) -rm -f lib/frexp.$(OBJEXT) -rm -f lib/frexpl.$(OBJEXT) -rm -f lib/fseek.$(OBJEXT) -rm -f lib/fseeko.$(OBJEXT) -rm -f lib/fseterr.$(OBJEXT) -rm -f lib/fstat.$(OBJEXT) -rm -f lib/fstatat.$(OBJEXT) -rm -f lib/fsusage.$(OBJEXT) -rm -f lib/fsync.$(OBJEXT) -rm -f lib/ftell.$(OBJEXT) -rm -f lib/ftello.$(OBJEXT) -rm -f lib/ftoastr.$(OBJEXT) -rm -f lib/ftruncate.$(OBJEXT) -rm -f lib/fts-cycle.$(OBJEXT) -rm -f lib/fts.$(OBJEXT) -rm -f lib/full-read.$(OBJEXT) -rm -f lib/full-write.$(OBJEXT) -rm -f lib/futimens.$(OBJEXT) -rm -f lib/gai_strerror.$(OBJEXT) -rm -f lib/getaddrinfo.$(OBJEXT) -rm -f lib/getcwd-lgpl.$(OBJEXT) -rm -f lib/getcwd.$(OBJEXT) -rm -f lib/getdelim.$(OBJEXT) -rm -f lib/getdtablesize.$(OBJEXT) -rm -f lib/getfilecon.$(OBJEXT) -rm -f lib/getgroups.$(OBJEXT) -rm -f lib/gethostname.$(OBJEXT) -rm -f lib/gethrxtime.$(OBJEXT) -rm -f lib/getline.$(OBJEXT) -rm -f lib/getloadavg.$(OBJEXT) -rm -f lib/getlogin.$(OBJEXT) -rm -f lib/getndelim2.$(OBJEXT) -rm -f lib/getopt.$(OBJEXT) -rm -f lib/getopt1.$(OBJEXT) -rm -f lib/getpagesize.$(OBJEXT) -rm -f lib/getpass.$(OBJEXT) -rm -f lib/gettime.$(OBJEXT) -rm -f lib/gettimeofday.$(OBJEXT) -rm -f lib/getugroups.$(OBJEXT) -rm -f lib/getusershell.$(OBJEXT) -rm -f lib/glthread/lock.$(OBJEXT) -rm -f lib/glthread/threadlib.$(OBJEXT) -rm -f lib/glthread/tls.$(OBJEXT) -rm -f lib/group-member.$(OBJEXT) -rm -f lib/hard-locale.$(OBJEXT) -rm -f lib/hash-pjw.$(OBJEXT) -rm -f lib/hash-triple.$(OBJEXT) -rm -f lib/hash.$(OBJEXT) -rm -f lib/heap.$(OBJEXT) -rm -f lib/human.$(OBJEXT) -rm -f lib/i-ring.$(OBJEXT) -rm -f lib/iconv.$(OBJEXT) -rm -f lib/iconv_close.$(OBJEXT) -rm -f lib/iconv_open.$(OBJEXT) -rm -f lib/idcache.$(OBJEXT) -rm -f lib/imaxtostr.$(OBJEXT) -rm -f lib/inet_ntop.$(OBJEXT) -rm -f lib/ino-map.$(OBJEXT) -rm -f lib/inttostr.$(OBJEXT) -rm -f lib/isapipe.$(OBJEXT) -rm -f lib/isatty.$(OBJEXT) -rm -f lib/isblank.$(OBJEXT) -rm -f lib/isnan.$(OBJEXT) -rm -f lib/isnand.$(OBJEXT) -rm -f lib/isnanf.$(OBJEXT) -rm -f lib/isnanl.$(OBJEXT) -rm -f lib/iswblank.$(OBJEXT) -rm -f lib/itold.$(OBJEXT) -rm -f lib/lchown.$(OBJEXT) -rm -f lib/ldtoastr.$(OBJEXT) -rm -f lib/linebuffer.$(OBJEXT) -rm -f lib/link.$(OBJEXT) -rm -f lib/linkat.$(OBJEXT) -rm -f lib/localcharset.$(OBJEXT) -rm -f lib/localeconv.$(OBJEXT) -rm -f lib/long-options.$(OBJEXT) -rm -f lib/lseek.$(OBJEXT) -rm -f lib/lstat.$(OBJEXT) -rm -f lib/malloc.$(OBJEXT) -rm -f lib/malloca.$(OBJEXT) -rm -f lib/math.$(OBJEXT) -rm -f lib/mbchar.$(OBJEXT) -rm -f lib/mbiter.$(OBJEXT) -rm -f lib/mbrlen.$(OBJEXT) -rm -f lib/mbrtowc.$(OBJEXT) -rm -f lib/mbsalign.$(OBJEXT) -rm -f lib/mbscasecmp.$(OBJEXT) -rm -f lib/mbsinit.$(OBJEXT) -rm -f lib/mbslen.$(OBJEXT) -rm -f lib/mbsrtowcs-state.$(OBJEXT) -rm -f lib/mbsrtowcs.$(OBJEXT) -rm -f lib/mbsstr.$(OBJEXT) -rm -f lib/mbswidth.$(OBJEXT) -rm -f lib/mbtowc.$(OBJEXT) -rm -f lib/mbuiter.$(OBJEXT) -rm -f lib/md5.$(OBJEXT) -rm -f lib/memcasecmp.$(OBJEXT) -rm -f lib/memchr.$(OBJEXT) -rm -f lib/memchr2.$(OBJEXT) -rm -f lib/memcmp2.$(OBJEXT) -rm -f lib/memcoll.$(OBJEXT) -rm -f lib/mempcpy.$(OBJEXT) -rm -f lib/memrchr.$(OBJEXT) -rm -f lib/mgetgroups.$(OBJEXT) -rm -f lib/mkancesdirs.$(OBJEXT) -rm -f lib/mkdir-p.$(OBJEXT) -rm -f lib/mkdir.$(OBJEXT) -rm -f lib/mkfifo.$(OBJEXT) -rm -f lib/mknod.$(OBJEXT) -rm -f lib/mkstemp-safer.$(OBJEXT) -rm -f lib/mkstemp.$(OBJEXT) -rm -f lib/mktime.$(OBJEXT) -rm -f lib/modechange.$(OBJEXT) -rm -f lib/mountlist.$(OBJEXT) -rm -f lib/mpsort.$(OBJEXT) -rm -f lib/msvc-inval.$(OBJEXT) -rm -f lib/msvc-nothrow.$(OBJEXT) -rm -f lib/nanosleep.$(OBJEXT) -rm -f lib/nl_langinfo.$(OBJEXT) -rm -f lib/nproc.$(OBJEXT) -rm -f lib/obstack.$(OBJEXT) -rm -f lib/offtostr.$(OBJEXT) -rm -f lib/open-safer.$(OBJEXT) -rm -f lib/open.$(OBJEXT) -rm -f lib/openat-die.$(OBJEXT) -rm -f lib/openat-proc.$(OBJEXT) -rm -f lib/openat-safer.$(OBJEXT) -rm -f lib/openat.$(OBJEXT) -rm -f lib/opendir-safer.$(OBJEXT) -rm -f lib/opendir.$(OBJEXT) -rm -f lib/parse-datetime.$(OBJEXT) -rm -f lib/physmem.$(OBJEXT) -rm -f lib/pipe-safer.$(OBJEXT) -rm -f lib/pipe2-safer.$(OBJEXT) -rm -f lib/pipe2.$(OBJEXT) -rm -f lib/posixtm.$(OBJEXT) -rm -f lib/posixver.$(OBJEXT) -rm -f lib/printf-args.$(OBJEXT) -rm -f lib/printf-frexp.$(OBJEXT) -rm -f lib/printf-frexpl.$(OBJEXT) -rm -f lib/printf-parse.$(OBJEXT) -rm -f lib/priv-set.$(OBJEXT) -rm -f lib/progname.$(OBJEXT) -rm -f lib/propername.$(OBJEXT) -rm -f lib/pthread.$(OBJEXT) -rm -f lib/putenv.$(OBJEXT) -rm -f lib/quotearg.$(OBJEXT) -rm -f lib/raise.$(OBJEXT) -rm -f lib/rand-isaac.$(OBJEXT) -rm -f lib/randint.$(OBJEXT) -rm -f lib/randperm.$(OBJEXT) -rm -f lib/randread.$(OBJEXT) -rm -f lib/rawmemchr.$(OBJEXT) -rm -f lib/read-file.$(OBJEXT) -rm -f lib/read.$(OBJEXT) -rm -f lib/readdir.$(OBJEXT) -rm -f lib/readlink.$(OBJEXT) -rm -f lib/readlinkat.$(OBJEXT) -rm -f lib/readtokens.$(OBJEXT) -rm -f lib/readtokens0.$(OBJEXT) -rm -f lib/readutmp.$(OBJEXT) -rm -f lib/realloc.$(OBJEXT) -rm -f lib/regcomp.$(OBJEXT) -rm -f lib/regex.$(OBJEXT) -rm -f lib/regex_internal.$(OBJEXT) -rm -f lib/regexec.$(OBJEXT) -rm -f lib/remove.$(OBJEXT) -rm -f lib/rename.$(OBJEXT) -rm -f lib/rewinddir.$(OBJEXT) -rm -f lib/rmdir.$(OBJEXT) -rm -f lib/root-dev-ino.$(OBJEXT) -rm -f lib/rpmatch.$(OBJEXT) -rm -f lib/safe-read.$(OBJEXT) -rm -f lib/safe-write.$(OBJEXT) -rm -f lib/same.$(OBJEXT) -rm -f lib/save-cwd.$(OBJEXT) -rm -f lib/savedir.$(OBJEXT) -rm -f lib/savewd.$(OBJEXT) -rm -f lib/se-context.$(OBJEXT) -rm -f lib/se-selinux.$(OBJEXT) -rm -f lib/select.$(OBJEXT) -rm -f lib/selinux-at.$(OBJEXT) -rm -f lib/set-mode-acl.$(OBJEXT) -rm -f lib/setenv.$(OBJEXT) -rm -f lib/settime.$(OBJEXT) -rm -f lib/sha1.$(OBJEXT) -rm -f lib/sha256.$(OBJEXT) -rm -f lib/sha512.$(OBJEXT) -rm -f lib/sig-handler.$(OBJEXT) -rm -f lib/sig2str.$(OBJEXT) -rm -f lib/sigaction.$(OBJEXT) -rm -f lib/signbitd.$(OBJEXT) -rm -f lib/signbitf.$(OBJEXT) -rm -f lib/signbitl.$(OBJEXT) -rm -f lib/sigprocmask.$(OBJEXT) -rm -f lib/snprintf.$(OBJEXT) -rm -f lib/sockets.$(OBJEXT) -rm -f lib/spawn-pipe.$(OBJEXT) -rm -f lib/spawn_faction_addclose.$(OBJEXT) -rm -f lib/spawn_faction_adddup2.$(OBJEXT) -rm -f lib/spawn_faction_addopen.$(OBJEXT) -rm -f lib/spawn_faction_destroy.$(OBJEXT) -rm -f lib/spawn_faction_init.$(OBJEXT) -rm -f lib/spawnattr_destroy.$(OBJEXT) -rm -f lib/spawnattr_init.$(OBJEXT) -rm -f lib/spawnattr_setflags.$(OBJEXT) -rm -f lib/spawnattr_setsigmask.$(OBJEXT) -rm -f lib/spawni.$(OBJEXT) -rm -f lib/spawnp.$(OBJEXT) -rm -f lib/stat-time.$(OBJEXT) -rm -f lib/stat.$(OBJEXT) -rm -f lib/statat.$(OBJEXT) -rm -f lib/stpcpy.$(OBJEXT) -rm -f lib/stpncpy.$(OBJEXT) -rm -f lib/strchrnul.$(OBJEXT) -rm -f lib/strdup.$(OBJEXT) -rm -f lib/strerror-override.$(OBJEXT) -rm -f lib/strerror.$(OBJEXT) -rm -f lib/strftime.$(OBJEXT) -rm -f lib/striconv.$(OBJEXT) -rm -f lib/strintcmp.$(OBJEXT) -rm -f lib/stripslash.$(OBJEXT) -rm -f lib/strncat.$(OBJEXT) -rm -f lib/strndup.$(OBJEXT) -rm -f lib/strnlen.$(OBJEXT) -rm -f lib/strnlen1.$(OBJEXT) -rm -f lib/strnumcmp.$(OBJEXT) -rm -f lib/strpbrk.$(OBJEXT) -rm -f lib/strsignal.$(OBJEXT) -rm -f lib/strstr.$(OBJEXT) -rm -f lib/strtod.$(OBJEXT) -rm -f lib/strtoimax.$(OBJEXT) -rm -f lib/strtol.$(OBJEXT) -rm -f lib/strtoll.$(OBJEXT) -rm -f lib/strtoul.$(OBJEXT) -rm -f lib/strtoull.$(OBJEXT) -rm -f lib/strtoumax.$(OBJEXT) -rm -f lib/symlink.$(OBJEXT) -rm -f lib/sys_socket.$(OBJEXT) -rm -f lib/tempname.$(OBJEXT) -rm -f lib/time_r.$(OBJEXT) -rm -f lib/timespec.$(OBJEXT) -rm -f lib/trim.$(OBJEXT) -rm -f lib/u64.$(OBJEXT) -rm -f lib/uinttostr.$(OBJEXT) -rm -f lib/umaxtostr.$(OBJEXT) -rm -f lib/uname.$(OBJEXT) -rm -f lib/unicodeio.$(OBJEXT) -rm -f lib/unistd.$(OBJEXT) -rm -f lib/unistr/u8-mbtoucr.$(OBJEXT) -rm -f lib/unistr/u8-uctomb-aux.$(OBJEXT) -rm -f lib/unistr/u8-uctomb.$(OBJEXT) -rm -f lib/uniwidth/width.$(OBJEXT) -rm -f lib/unlink.$(OBJEXT) -rm -f lib/unlinkat.$(OBJEXT) -rm -f lib/unsetenv.$(OBJEXT) -rm -f lib/userspec.$(OBJEXT) -rm -f lib/utimecmp.$(OBJEXT) -rm -f lib/utimens.$(OBJEXT) -rm -f lib/utimensat.$(OBJEXT) -rm -f lib/vasnprintf.$(OBJEXT) -rm -f lib/vasprintf.$(OBJEXT) -rm -f lib/verror.$(OBJEXT) -rm -f lib/version-etc-fsf.$(OBJEXT) -rm -f lib/version-etc.$(OBJEXT) -rm -f lib/vfprintf.$(OBJEXT) -rm -f lib/vprintf.$(OBJEXT) -rm -f lib/wait-process.$(OBJEXT) -rm -f lib/waitpid.$(OBJEXT) -rm -f lib/wcrtomb.$(OBJEXT) -rm -f lib/wcswidth.$(OBJEXT) -rm -f lib/wctype-h.$(OBJEXT) -rm -f lib/wcwidth.$(OBJEXT) -rm -f lib/write-any-file.$(OBJEXT) -rm -f lib/write.$(OBJEXT) -rm -f lib/xalloc-die.$(OBJEXT) -rm -f lib/xasprintf.$(OBJEXT) -rm -f lib/xfreopen.$(OBJEXT) -rm -f lib/xfts.$(OBJEXT) -rm -f lib/xgetcwd.$(OBJEXT) -rm -f lib/xgetgroups.$(OBJEXT) -rm -f lib/xgethostname.$(OBJEXT) -rm -f lib/xmalloc.$(OBJEXT) -rm -f lib/xmemcoll.$(OBJEXT) -rm -f lib/xnanosleep.$(OBJEXT) -rm -f lib/xprintf.$(OBJEXT) -rm -f lib/xreadlink.$(OBJEXT) -rm -f lib/xsize.$(OBJEXT) -rm -f lib/xstriconv.$(OBJEXT) -rm -f lib/xstrndup.$(OBJEXT) -rm -f lib/xstrtod.$(OBJEXT) -rm -f lib/xstrtoimax.$(OBJEXT) -rm -f lib/xstrtol-error.$(OBJEXT) -rm -f lib/xstrtol.$(OBJEXT) -rm -f lib/xstrtold.$(OBJEXT) -rm -f lib/xstrtoul.$(OBJEXT) -rm -f lib/xstrtoumax.$(OBJEXT) -rm -f lib/xtime.$(OBJEXT) -rm -f lib/xvasprintf.$(OBJEXT) -rm -f lib/yesno.$(OBJEXT) -rm -f src/base64.$(OBJEXT) -rm -f src/basename.$(OBJEXT) -rm -f src/cat.$(OBJEXT) -rm -f src/chcon.$(OBJEXT) -rm -f src/chgrp.$(OBJEXT) -rm -f src/chmod.$(OBJEXT) -rm -f src/chown-core.$(OBJEXT) -rm -f src/chown.$(OBJEXT) -rm -f src/chroot.$(OBJEXT) -rm -f src/cksum.$(OBJEXT) -rm -f src/comm.$(OBJEXT) -rm -f src/copy.$(OBJEXT) -rm -f src/cp-hash.$(OBJEXT) -rm -f src/cp.$(OBJEXT) -rm -f src/csplit.$(OBJEXT) -rm -f src/cut.$(OBJEXT) -rm -f src/date.$(OBJEXT) -rm -f src/dd.$(OBJEXT) -rm -f src/df.$(OBJEXT) -rm -f src/dircolors.$(OBJEXT) -rm -f src/dirname.$(OBJEXT) -rm -f src/du.$(OBJEXT) -rm -f src/echo.$(OBJEXT) -rm -f src/env.$(OBJEXT) -rm -f src/expand.$(OBJEXT) -rm -f src/expr.$(OBJEXT) -rm -f src/extent-scan.$(OBJEXT) -rm -f src/factor.$(OBJEXT) -rm -f src/false.$(OBJEXT) -rm -f src/find-mount-point.$(OBJEXT) -rm -f src/fmt.$(OBJEXT) -rm -f src/fold.$(OBJEXT) -rm -f src/getlimits.$(OBJEXT) -rm -f src/group-list.$(OBJEXT) -rm -f src/groups.$(OBJEXT) -rm -f src/head.$(OBJEXT) -rm -f src/hostid.$(OBJEXT) -rm -f src/hostname.$(OBJEXT) -rm -f src/id.$(OBJEXT) -rm -f src/join.$(OBJEXT) -rm -f src/kill.$(OBJEXT) -rm -f src/lbracket.$(OBJEXT) -rm -f src/link.$(OBJEXT) -rm -f src/ln.$(OBJEXT) -rm -f src/logname.$(OBJEXT) -rm -f src/ls-dir.$(OBJEXT) -rm -f src/ls-ls.$(OBJEXT) -rm -f src/ls-vdir.$(OBJEXT) -rm -f src/ls.$(OBJEXT) -rm -f src/make-prime-list.$(OBJEXT) -rm -f src/mkdir.$(OBJEXT) -rm -f src/mkfifo.$(OBJEXT) -rm -f src/mknod.$(OBJEXT) -rm -f src/mktemp.$(OBJEXT) -rm -f src/mv.$(OBJEXT) -rm -f src/nice.$(OBJEXT) -rm -f src/nl.$(OBJEXT) -rm -f src/nohup.$(OBJEXT) -rm -f src/nproc.$(OBJEXT) -rm -f src/numfmt.$(OBJEXT) -rm -f src/od.$(OBJEXT) -rm -f src/operand2sig.$(OBJEXT) -rm -f src/paste.$(OBJEXT) -rm -f src/pathchk.$(OBJEXT) -rm -f src/pinky.$(OBJEXT) -rm -f src/pr.$(OBJEXT) -rm -f src/printenv.$(OBJEXT) -rm -f src/printf.$(OBJEXT) -rm -f src/prog-fprintf.$(OBJEXT) -rm -f src/ptx.$(OBJEXT) -rm -f src/pwd.$(OBJEXT) -rm -f src/readlink.$(OBJEXT) -rm -f src/realpath.$(OBJEXT) -rm -f src/relpath.$(OBJEXT) -rm -f src/remove.$(OBJEXT) -rm -f src/rm.$(OBJEXT) -rm -f src/rmdir.$(OBJEXT) -rm -f src/runcon.$(OBJEXT) -rm -f src/seq.$(OBJEXT) -rm -f src/setuidgid.$(OBJEXT) -rm -f src/shred.$(OBJEXT) -rm -f src/shuf.$(OBJEXT) -rm -f src/sleep.$(OBJEXT) -rm -f src/sort.$(OBJEXT) -rm -f src/split.$(OBJEXT) -rm -f src/src_ginstall-copy.$(OBJEXT) -rm -f src/src_ginstall-cp-hash.$(OBJEXT) -rm -f src/src_ginstall-extent-scan.$(OBJEXT) -rm -f src/src_ginstall-install.$(OBJEXT) -rm -f src/src_ginstall-prog-fprintf.$(OBJEXT) -rm -f src/src_libstdbuf_so-libstdbuf.$(OBJEXT) -rm -f src/src_md5sum-md5sum.$(OBJEXT) -rm -f src/src_sha1sum-md5sum.$(OBJEXT) -rm -f src/src_sha224sum-md5sum.$(OBJEXT) -rm -f src/src_sha256sum-md5sum.$(OBJEXT) -rm -f src/src_sha384sum-md5sum.$(OBJEXT) -rm -f src/src_sha512sum-md5sum.$(OBJEXT) -rm -f src/stat.$(OBJEXT) -rm -f src/stdbuf.$(OBJEXT) -rm -f src/stty.$(OBJEXT) -rm -f src/sum.$(OBJEXT) -rm -f src/sync.$(OBJEXT) -rm -f src/tac.$(OBJEXT) -rm -f src/tail.$(OBJEXT) -rm -f src/tee.$(OBJEXT) -rm -f src/test.$(OBJEXT) -rm -f src/timeout.$(OBJEXT) -rm -f src/touch.$(OBJEXT) -rm -f src/tr.$(OBJEXT) -rm -f src/true.$(OBJEXT) -rm -f src/truncate.$(OBJEXT) -rm -f src/tsort.$(OBJEXT) -rm -f src/tty.$(OBJEXT) -rm -f src/uname-arch.$(OBJEXT) -rm -f src/uname-uname.$(OBJEXT) -rm -f src/uname.$(OBJEXT) -rm -f src/unexpand.$(OBJEXT) -rm -f src/uniq.$(OBJEXT) -rm -f src/unlink.$(OBJEXT) -rm -f src/uptime.$(OBJEXT) -rm -f src/users.$(OBJEXT) -rm -f src/version.$(OBJEXT) -rm -f src/wc.$(OBJEXT) -rm -f src/who.$(OBJEXT) -rm -f src/whoami.$(OBJEXT) -rm -f src/yes.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/acl_entries.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/allocator.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/anytostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/areadlink-with-size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/areadlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/areadlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/argmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/argv-iter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/asnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/asprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/at-func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/at-func2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/backupfile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/base64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/basename-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/basename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/binary-io.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/bitrotate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/btowc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/buffer-lcm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-ctype.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strncasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/c-strtold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/calloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/canon-host.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/canonicalize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/careadlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/chdir-long.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/chmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/chown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/chownat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/cloexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/close-stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/close.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/closedir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/closein.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/closeout.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/copy-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/creat-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/cycle-check.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/di-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/diacrit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dirchownmod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dirfd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dirname-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dirname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dtoastr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dtotimespec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dup-safer-flag.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dup-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/dup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/euidaccess.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/exclude.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/exitfail.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/faccessat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fadvise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fatal-signal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fchmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fchown-stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fchownat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fclose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fcntl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fd-hook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fd-reopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fd-safer-flag.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fd-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fdatasync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fdopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fdopendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fdutimensat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fflush.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/file-has-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/file-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/file-type.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fileblocks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/filemode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/filenamecat-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/filenamecat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/filevercmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/float.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fnmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fnmatch_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fopen-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fpending.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fprintftime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fpurge.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freadahead.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freading.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freadptr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freadseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freopen-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/freopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fseeko.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fseterr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fsusage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fsync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ftell.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ftello.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ftoastr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ftruncate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fts-cycle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/fts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/full-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/full-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/futimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gai_strerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getaddrinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getcwd-lgpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getdelim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getdtablesize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getfilecon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gethostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gethrxtime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getloadavg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getlogin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getndelim2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getpagesize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getpass.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gettime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/gettimeofday.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getugroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/getusershell.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/group-member.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hard-locale.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hash-pjw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hash-triple.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/heap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/human.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/i-ring.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/iconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/iconv_close.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/iconv_open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/idcache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/imaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/inet_ntop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ino-map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/inttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isapipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isatty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isblank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isnan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isnand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isnanf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/isnanl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/iswblank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/itold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lchown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/ldtoastr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/linebuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/link.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/linkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localcharset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/localeconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/long-options.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/lstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/malloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/malloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/math.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbchar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbiter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbrlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbrtowc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsalign.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbscasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsinit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbslen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsrtowcs-state.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsrtowcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbsstr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbswidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbtowc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mbuiter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memchr2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memcmp2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memcoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mempcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/memrchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mgetgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkancesdirs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkdir-p.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkfifo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mknod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkstemp-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mkstemp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mktime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/modechange.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mountlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/mpsort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/msvc-inval.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/msvc-nothrow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/nanosleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/nl_langinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/nproc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/obstack.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/offtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/open-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/openat-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/openat-proc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/openat-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/openat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/opendir-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/opendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/parse-datetime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/physmem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/pipe-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/pipe2-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/pipe2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/posixtm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/posixver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/printf-args.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/printf-frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/printf-frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/printf-parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/priv-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/progname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/propername.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/pthread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/putenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/quotearg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/raise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rand-isaac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/randint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/randperm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/randread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rawmemchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/read-file.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readtokens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readtokens0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/readutmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/realloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regcomp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regex_internal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/regexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/remove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rewinddir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rmdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/root-dev-ino.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/rpmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/safe-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/safe-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/same.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/save-cwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/savedir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/savewd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/se-context.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/se-selinux.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/selinux-at.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/set-mode-acl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/setenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/settime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sha256.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sha512.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sig-handler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sig2str.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sigaction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/signbitd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/signbitf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/signbitl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sigprocmask.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/snprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sockets.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn-pipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn_faction_addclose.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn_faction_adddup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn_faction_addopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn_faction_destroy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawn_faction_init.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawnattr_destroy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawnattr_init.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawnattr_setflags.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawnattr_setsigmask.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawni.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/spawnp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stat-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/statat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stpcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stpncpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strchrnul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strdup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strerror-override.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strftime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/striconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strintcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/stripslash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strncat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strndup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strnlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strnlen1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strnumcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strpbrk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strsignal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strstr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtoull.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/strtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/symlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sys_socket.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/tempname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/time_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/timespec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/trim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/u64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/uinttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/umaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/uname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unicodeio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unistd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unlinkat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/unsetenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/userspec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/utimecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/utimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/utimensat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/vasnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/vasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/verror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/version-etc-fsf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/version-etc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/vfprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/vprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wait-process.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/waitpid.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wcrtomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wcswidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wctype-h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/wcwidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/write-any-file.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xalloc-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xfreopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xfts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xgetcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xgetgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xgethostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xmalloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xmemcoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xnanosleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xreadlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xsize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstriconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrndup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtol-error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xstrtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xtime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/xvasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/yesno.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/threadlib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/glthread/$(DEPDIR)/tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/unistr/$(DEPDIR)/u8-mbtoucr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/unistr/$(DEPDIR)/u8-uctomb-aux.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/unistr/$(DEPDIR)/u8-uctomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@lib/uniwidth/$(DEPDIR)/width.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/base64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/basename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/cat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chcon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chgrp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chmod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chown-core.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/chroot.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/cksum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/comm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/copy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/cp-hash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/cp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/csplit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/cut.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/date.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/df.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dircolors.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dirname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/du.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/echo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/expand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/expr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/extent-scan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/factor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/false.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/find-mount-point.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fmt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/fold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/getlimits.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/group-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/groups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/head.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/hostid.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/hostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/id.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/join.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/kill.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/lbracket.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/link.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ln.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/logname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ls-dir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ls-ls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ls-vdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/make-prime-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mkfifo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mknod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mktemp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/mv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nice.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nohup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nproc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/numfmt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/od.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/operand2sig.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/paste.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pathchk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pinky.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/printenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/printf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prog-fprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ptx.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/readlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/realpath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/relpath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/remove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/rm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/rmdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/runcon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/seq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/setuidgid.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shred.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shuf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/split.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_ginstall-copy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_ginstall-cp-hash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_ginstall-extent-scan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_ginstall-install.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_ginstall-prog-fprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_md5sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_sha1sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_sha224sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_sha256sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_sha384sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_sha512sum-md5sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/stdbuf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/stty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tail.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tee.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/timeout.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/touch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/true.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/truncate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tsort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/uname-arch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/uname-uname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/uname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/unexpand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/uniq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/unlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/uptime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/users.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/version.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/wc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/who.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/whoami.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/yes.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` src/src_ginstall-install.o: src/install.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-install.o -MD -MP -MF src/$(DEPDIR)/src_ginstall-install.Tpo -c -o src/src_ginstall-install.o `test -f 'src/install.c' || echo '$(srcdir)/'`src/install.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-install.Tpo src/$(DEPDIR)/src_ginstall-install.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/install.c' object='src/src_ginstall-install.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-install.o `test -f 'src/install.c' || echo '$(srcdir)/'`src/install.c src/src_ginstall-install.obj: src/install.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-install.obj -MD -MP -MF src/$(DEPDIR)/src_ginstall-install.Tpo -c -o src/src_ginstall-install.obj `if test -f 'src/install.c'; then $(CYGPATH_W) 'src/install.c'; else $(CYGPATH_W) '$(srcdir)/src/install.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-install.Tpo src/$(DEPDIR)/src_ginstall-install.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/install.c' object='src/src_ginstall-install.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-install.obj `if test -f 'src/install.c'; then $(CYGPATH_W) 'src/install.c'; else $(CYGPATH_W) '$(srcdir)/src/install.c'; fi` src/src_ginstall-prog-fprintf.o: src/prog-fprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-prog-fprintf.o -MD -MP -MF src/$(DEPDIR)/src_ginstall-prog-fprintf.Tpo -c -o src/src_ginstall-prog-fprintf.o `test -f 'src/prog-fprintf.c' || echo '$(srcdir)/'`src/prog-fprintf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-prog-fprintf.Tpo src/$(DEPDIR)/src_ginstall-prog-fprintf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/prog-fprintf.c' object='src/src_ginstall-prog-fprintf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-prog-fprintf.o `test -f 'src/prog-fprintf.c' || echo '$(srcdir)/'`src/prog-fprintf.c src/src_ginstall-prog-fprintf.obj: src/prog-fprintf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-prog-fprintf.obj -MD -MP -MF src/$(DEPDIR)/src_ginstall-prog-fprintf.Tpo -c -o src/src_ginstall-prog-fprintf.obj `if test -f 'src/prog-fprintf.c'; then $(CYGPATH_W) 'src/prog-fprintf.c'; else $(CYGPATH_W) '$(srcdir)/src/prog-fprintf.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-prog-fprintf.Tpo src/$(DEPDIR)/src_ginstall-prog-fprintf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/prog-fprintf.c' object='src/src_ginstall-prog-fprintf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-prog-fprintf.obj `if test -f 'src/prog-fprintf.c'; then $(CYGPATH_W) 'src/prog-fprintf.c'; else $(CYGPATH_W) '$(srcdir)/src/prog-fprintf.c'; fi` src/src_ginstall-copy.o: src/copy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-copy.o -MD -MP -MF src/$(DEPDIR)/src_ginstall-copy.Tpo -c -o src/src_ginstall-copy.o `test -f 'src/copy.c' || echo '$(srcdir)/'`src/copy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-copy.Tpo src/$(DEPDIR)/src_ginstall-copy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/copy.c' object='src/src_ginstall-copy.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-copy.o `test -f 'src/copy.c' || echo '$(srcdir)/'`src/copy.c src/src_ginstall-copy.obj: src/copy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-copy.obj -MD -MP -MF src/$(DEPDIR)/src_ginstall-copy.Tpo -c -o src/src_ginstall-copy.obj `if test -f 'src/copy.c'; then $(CYGPATH_W) 'src/copy.c'; else $(CYGPATH_W) '$(srcdir)/src/copy.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-copy.Tpo src/$(DEPDIR)/src_ginstall-copy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/copy.c' object='src/src_ginstall-copy.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-copy.obj `if test -f 'src/copy.c'; then $(CYGPATH_W) 'src/copy.c'; else $(CYGPATH_W) '$(srcdir)/src/copy.c'; fi` src/src_ginstall-cp-hash.o: src/cp-hash.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-cp-hash.o -MD -MP -MF src/$(DEPDIR)/src_ginstall-cp-hash.Tpo -c -o src/src_ginstall-cp-hash.o `test -f 'src/cp-hash.c' || echo '$(srcdir)/'`src/cp-hash.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-cp-hash.Tpo src/$(DEPDIR)/src_ginstall-cp-hash.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/cp-hash.c' object='src/src_ginstall-cp-hash.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-cp-hash.o `test -f 'src/cp-hash.c' || echo '$(srcdir)/'`src/cp-hash.c src/src_ginstall-cp-hash.obj: src/cp-hash.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-cp-hash.obj -MD -MP -MF src/$(DEPDIR)/src_ginstall-cp-hash.Tpo -c -o src/src_ginstall-cp-hash.obj `if test -f 'src/cp-hash.c'; then $(CYGPATH_W) 'src/cp-hash.c'; else $(CYGPATH_W) '$(srcdir)/src/cp-hash.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-cp-hash.Tpo src/$(DEPDIR)/src_ginstall-cp-hash.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/cp-hash.c' object='src/src_ginstall-cp-hash.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-cp-hash.obj `if test -f 'src/cp-hash.c'; then $(CYGPATH_W) 'src/cp-hash.c'; else $(CYGPATH_W) '$(srcdir)/src/cp-hash.c'; fi` src/src_ginstall-extent-scan.o: src/extent-scan.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-extent-scan.o -MD -MP -MF src/$(DEPDIR)/src_ginstall-extent-scan.Tpo -c -o src/src_ginstall-extent-scan.o `test -f 'src/extent-scan.c' || echo '$(srcdir)/'`src/extent-scan.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-extent-scan.Tpo src/$(DEPDIR)/src_ginstall-extent-scan.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extent-scan.c' object='src/src_ginstall-extent-scan.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-extent-scan.o `test -f 'src/extent-scan.c' || echo '$(srcdir)/'`src/extent-scan.c src/src_ginstall-extent-scan.obj: src/extent-scan.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_ginstall-extent-scan.obj -MD -MP -MF src/$(DEPDIR)/src_ginstall-extent-scan.Tpo -c -o src/src_ginstall-extent-scan.obj `if test -f 'src/extent-scan.c'; then $(CYGPATH_W) 'src/extent-scan.c'; else $(CYGPATH_W) '$(srcdir)/src/extent-scan.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_ginstall-extent-scan.Tpo src/$(DEPDIR)/src_ginstall-extent-scan.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extent-scan.c' object='src/src_ginstall-extent-scan.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_ginstall_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_ginstall-extent-scan.obj `if test -f 'src/extent-scan.c'; then $(CYGPATH_W) 'src/extent-scan.c'; else $(CYGPATH_W) '$(srcdir)/src/extent-scan.c'; fi` src/src_libstdbuf_so-libstdbuf.o: src/libstdbuf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_libstdbuf_so_CFLAGS) $(CFLAGS) -MT src/src_libstdbuf_so-libstdbuf.o -MD -MP -MF src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Tpo -c -o src/src_libstdbuf_so-libstdbuf.o `test -f 'src/libstdbuf.c' || echo '$(srcdir)/'`src/libstdbuf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Tpo src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libstdbuf.c' object='src/src_libstdbuf_so-libstdbuf.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_libstdbuf_so_CFLAGS) $(CFLAGS) -c -o src/src_libstdbuf_so-libstdbuf.o `test -f 'src/libstdbuf.c' || echo '$(srcdir)/'`src/libstdbuf.c src/src_libstdbuf_so-libstdbuf.obj: src/libstdbuf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_libstdbuf_so_CFLAGS) $(CFLAGS) -MT src/src_libstdbuf_so-libstdbuf.obj -MD -MP -MF src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Tpo -c -o src/src_libstdbuf_so-libstdbuf.obj `if test -f 'src/libstdbuf.c'; then $(CYGPATH_W) 'src/libstdbuf.c'; else $(CYGPATH_W) '$(srcdir)/src/libstdbuf.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Tpo src/$(DEPDIR)/src_libstdbuf_so-libstdbuf.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libstdbuf.c' object='src/src_libstdbuf_so-libstdbuf.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_libstdbuf_so_CFLAGS) $(CFLAGS) -c -o src/src_libstdbuf_so-libstdbuf.obj `if test -f 'src/libstdbuf.c'; then $(CYGPATH_W) 'src/libstdbuf.c'; else $(CYGPATH_W) '$(srcdir)/src/libstdbuf.c'; fi` src/src_md5sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_md5sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_md5sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_md5sum-md5sum.Tpo -c -o src/src_md5sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_md5sum-md5sum.Tpo src/$(DEPDIR)/src_md5sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_md5sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_md5sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_md5sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_md5sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_md5sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_md5sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_md5sum-md5sum.Tpo -c -o src/src_md5sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_md5sum-md5sum.Tpo src/$(DEPDIR)/src_md5sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_md5sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_md5sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_md5sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` src/src_sha1sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha1sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha1sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_sha1sum-md5sum.Tpo -c -o src/src_sha1sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha1sum-md5sum.Tpo src/$(DEPDIR)/src_sha1sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha1sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha1sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha1sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_sha1sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha1sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha1sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_sha1sum-md5sum.Tpo -c -o src/src_sha1sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha1sum-md5sum.Tpo src/$(DEPDIR)/src_sha1sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha1sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha1sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha1sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` src/src_sha224sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha224sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha224sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_sha224sum-md5sum.Tpo -c -o src/src_sha224sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha224sum-md5sum.Tpo src/$(DEPDIR)/src_sha224sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha224sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha224sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha224sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_sha224sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha224sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha224sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_sha224sum-md5sum.Tpo -c -o src/src_sha224sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha224sum-md5sum.Tpo src/$(DEPDIR)/src_sha224sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha224sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha224sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha224sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` src/src_sha256sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha256sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha256sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_sha256sum-md5sum.Tpo -c -o src/src_sha256sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha256sum-md5sum.Tpo src/$(DEPDIR)/src_sha256sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha256sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha256sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha256sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_sha256sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha256sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha256sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_sha256sum-md5sum.Tpo -c -o src/src_sha256sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha256sum-md5sum.Tpo src/$(DEPDIR)/src_sha256sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha256sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha256sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha256sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` src/src_sha384sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha384sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha384sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_sha384sum-md5sum.Tpo -c -o src/src_sha384sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha384sum-md5sum.Tpo src/$(DEPDIR)/src_sha384sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha384sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha384sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha384sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_sha384sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha384sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha384sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_sha384sum-md5sum.Tpo -c -o src/src_sha384sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha384sum-md5sum.Tpo src/$(DEPDIR)/src_sha384sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha384sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha384sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha384sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` src/src_sha512sum-md5sum.o: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha512sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha512sum-md5sum.o -MD -MP -MF src/$(DEPDIR)/src_sha512sum-md5sum.Tpo -c -o src/src_sha512sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha512sum-md5sum.Tpo src/$(DEPDIR)/src_sha512sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha512sum-md5sum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha512sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha512sum-md5sum.o `test -f 'src/md5sum.c' || echo '$(srcdir)/'`src/md5sum.c src/src_sha512sum-md5sum.obj: src/md5sum.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha512sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/src_sha512sum-md5sum.obj -MD -MP -MF src/$(DEPDIR)/src_sha512sum-md5sum.Tpo -c -o src/src_sha512sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_sha512sum-md5sum.Tpo src/$(DEPDIR)/src_sha512sum-md5sum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/md5sum.c' object='src/src_sha512sum-md5sum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_sha512sum_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/src_sha512sum-md5sum.obj `if test -f 'src/md5sum.c'; then $(CYGPATH_W) 'src/md5sum.c'; else $(CYGPATH_W) '$(srcdir)/src/md5sum.c'; fi` .y.c: $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) doc/$(am__dirstamp): @$(MKDIR_P) doc @: > doc/$(am__dirstamp) $(srcdir)/doc/coreutils.info: doc/coreutils.texi $(srcdir)/doc/version.texi $(doc_coreutils_TEXINFOS) restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ -o $@ $(srcdir)/doc/coreutils.texi; \ then \ rc=0; \ $(am__cd) $(srcdir); \ else \ rc=$$?; \ $(am__cd) $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc doc/coreutils.dvi: doc/coreutils.texi $(srcdir)/doc/version.texi $(doc_coreutils_TEXINFOS) doc/$(am__dirstamp) TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ $(TEXI2DVI) -o $@ `test -f 'doc/coreutils.texi' || echo '$(srcdir)/'`doc/coreutils.texi doc/coreutils.pdf: doc/coreutils.texi $(srcdir)/doc/version.texi $(doc_coreutils_TEXINFOS) doc/$(am__dirstamp) TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ $(TEXI2PDF) -o $@ `test -f 'doc/coreutils.texi' || echo '$(srcdir)/'`doc/coreutils.texi doc/coreutils.html: doc/coreutils.texi $(srcdir)/doc/version.texi $(doc_coreutils_TEXINFOS) doc/$(am__dirstamp) rm -rf $(@:.html=.htp) if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ -o $(@:.html=.htp) `test -f 'doc/coreutils.texi' || echo '$(srcdir)/'`doc/coreutils.texi; \ then \ rm -rf $@; \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ else \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ exit 1; \ fi $(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti $(srcdir)/doc/stamp-vti: doc/coreutils.texi $(top_srcdir)/configure test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) @(dir=.; test -f ./doc/coreutils.texi || dir=$(srcdir); \ set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/coreutils.texi`; \ echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ echo "@set VERSION $(VERSION)") > vti.tmp @cmp -s vti.tmp $(srcdir)/doc/version.texi \ || (echo "Updating $(srcdir)/doc/version.texi"; \ cp vti.tmp $(srcdir)/doc/version.texi) -@rm -f vti.tmp @cp $(srcdir)/doc/version.texi $@ mostlyclean-vti: -rm -f vti.tmp maintainer-clean-vti: -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi .dvi.ps: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ done uninstall-html-am: @$(NORMAL_UNINSTALL) @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ done uninstall-info-am: @$(PRE_UNINSTALL) @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done uninstall-pdf-am: @$(NORMAL_UNINSTALL) @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ done uninstall-ps-am: @$(NORMAL_UNINSTALL) @list='$(PSS)'; test -n "$(psdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ rm -f "$(DESTDIR)$(psdir)/$$f"; \ done dist-info: $(INFO_DEPS) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ case $$base in \ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ if test -f $$file; then \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ test -f "$(distdir)/$$relfile" || \ cp -p $$file "$(distdir)/$$relfile"; \ else :; fi; \ done; \ done mostlyclean-aminfo: -rm -rf coreutils.aux coreutils.cp coreutils.cps coreutils.fl coreutils.fn \ coreutils.ky coreutils.log coreutils.op coreutils.pg \ coreutils.tmp coreutils.toc coreutils.tp coreutils.tps \ coreutils.vr clean-aminfo: -test -z "doc/coreutils.dvi doc/coreutils.pdf doc/coreutils.ps \ doc/coreutils.html" \ || rm -rf doc/coreutils.dvi doc/coreutils.pdf doc/coreutils.ps \ doc/coreutils.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done install-man1: $(man1_MANS) @$(NORMAL_INSTALL) @list1='$(man1_MANS)'; \ list2=''; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__sh_e_setup); \ list='$(TEST_LOGS)'; \ results=`for f in $$list; do \ test -r $$f && read line < $$f && echo "$$line" \ || echo FAIL; \ done`; \ all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \ fail=`echo "$$results" | grep -c '^FAIL'`; \ pass=`echo "$$results" | grep -c '^PASS'`; \ skip=`echo "$$results" | grep -c '^SKIP'`; \ xfail=`echo "$$results" | grep -c '^XFAIL'`; \ xpass=`echo "$$results" | grep -c '^XPASS'`; \ failures=`expr $$fail + $$xpass`; \ all=`expr $$all - $$skip`; \ if test "$$all" -eq 1; then tests=test; All=; \ else tests=tests; All="All "; fi; \ case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ fail=0:xpass=0:xfail=0) \ msg="$$All$$all $$tests passed. "; \ exit=true;; \ fail=0:xpass=0:xfail=*) \ msg="$$All$$all $$tests behaved as expected"; \ if test "$$xfail" -eq 1; then xfailures=failure; \ else xfailures=failures; fi; \ msg="$$msg ($$xfail expected $$xfailures). "; \ exit=true;; \ fail=*:xpass=0:xfail=*) \ msg="$$fail of $$all $$tests failed. "; \ exit=false;; \ fail=*:xpass=*:xfail=*) \ msg="$$failures of $$all $$tests did not behave as expected"; \ if test "$$xpass" -eq 1; then xpasses=pass; \ else xpasses=passes; fi; \ msg="$$msg ($$xpass unexpected $$xpasses). "; \ exit=false;; \ *) \ echo >&2 "incorrect case"; exit 4;; \ esac; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ msg="$$msg($$skip test was not run). "; \ else \ msg="$$msg($$skip tests were not run). "; \ fi; \ fi; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ echo "$$msg"; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for f in $$list; do \ test -r $$f && read line < $$f || line=; \ case $$line in \ PASS:*|XFAIL:*);; \ *) echo; cat $$f;; \ esac; \ done; \ } >$(TEST_SUITE_LOG).tmp; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if test "$$failures" -ne 0; then \ msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \ fi; \ fi; \ test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ $(am__tty_colors); \ if $$exit; then \ col="$$grn"; \ else \ col="$$red"; \ fi; \ echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \ $$exit || exit 1 check-TESTS recheck: @if test $@ != recheck; then \ list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list; \ fi @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @list='' list2='$(TEST_LOGS)'; for f in $$list2; do \ test .log = $$f && continue; \ if test $@ = recheck; then \ test -f $$f || continue; \ if test -r $$f && read line < $$f; then \ case $$line in FAIL*|XPASS*) : ;; *) continue;; esac; \ fi; \ fi; \ if test -z "$$list"; then list=$$f; else list="$$list $$f"; fi; \ done; \ if test $@ = recheck && test -n "$$list"; then \ $(am__make_dryrun) || rm -f $$list || exit 1; \ fi; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" recheck: am--mostlyclean-test-html: list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list rm -f $(TEST_SUITE_HTML) .log.html: @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ for r2h in $$list; do \ if ($$r2h --version) >/dev/null 2>&1; then \ R2H=$$r2h; \ fi; \ done; \ if test -z "$$R2H"; then \ echo >&2 "cannot find rst2html, cannot create $@"; \ exit 2; \ fi; \ $$R2H $< >$@.tmp @mv $@.tmp $@ # Be sure to run check first, and then to convert the result. # Beware of concurrent executions. Run "check" not "check-TESTS", as # check-SCRIPTS and other dependencies are rebuilt by the former only. # And expect check to fail. check-html recheck-html: @target=`echo $@ | sed 's/-html$$//'`; \ rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \ exit $$rv .sh.log: @p='$<'; $(am__check_pre) $(SH_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.sh$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(SH_LOG_COMPILE) "$$tst" $(am__check_post) .pl.log: @p='$<'; $(am__check_pre) $(PL_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.pl$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(PL_LOG_COMPILE) "$$tst" $(am__check_post) .xpl.log: @p='$<'; $(am__check_pre) $(XPL_LOG_COMPILE) "$$tst" $(am__check_post) @am__EXEEXT_TRUE@.xpl$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(XPL_LOG_COMPILE) "$$tst" $(am__check_post) distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically \`make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-info dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod u+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(INFO_DEPS) $(LIBRARIES) $(PROGRAMS) $(MANS) \ $(HEADERS) all-local installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(ALLOCA)" || rm -f $(ALLOCA) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f doc/$(am__dirstamp) -rm -f lib/$(DEPDIR)/$(am__dirstamp) -rm -f lib/$(am__dirstamp) -rm -f lib/glthread/$(DEPDIR)/$(am__dirstamp) -rm -f lib/glthread/$(am__dirstamp) -rm -f lib/unistr/$(DEPDIR)/$(am__dirstamp) -rm -f lib/unistr/$(am__dirstamp) -rm -f lib/uniwidth/$(DEPDIR)/$(am__dirstamp) -rm -f lib/uniwidth/$(am__dirstamp) -rm -f src/$(DEPDIR)/$(am__dirstamp) -rm -f src/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f lib/parse-datetime.c -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-aminfo clean-binPROGRAMS clean-generic \ clean-noinstLIBRARIES clean-noinstPROGRAMS \ clean-pkglibexecPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf lib/$(DEPDIR) lib/glthread/$(DEPDIR) lib/unistr/$(DEPDIR) lib/uniwidth/$(DEPDIR) src/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags dvi: dvi-recursive dvi-am: $(DVIS) html: html-recursive html-am: $(HTMLS) info: info-recursive info-am: $(INFO_DEPS) install-data-am: install-info-am install-man install-dvi: install-dvi-recursive install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ done install-exec-am: install-binPROGRAMS install-exec-local \ install-pkglibexecPROGRAMS install-html: install-html-recursive install-html-am: $(HTMLS) @$(NORMAL_INSTALL) @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__strip_dir) \ d2=$$d$$p; \ if test -d "$$d2"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ list2="$$list2 $$d2"; \ fi; \ done; \ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ done; } install-info: install-info-recursive install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ fi; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ echo "$$ifile"; \ else : ; fi; \ done; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) @if $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ done; \ else : ; fi install-man: install-man1 install-pdf: install-pdf-recursive install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done install-ps: install-ps-recursive install-ps-am: $(PSS) @$(NORMAL_INSTALL) @list='$(PSS)'; test -n "$(psdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf lib/$(DEPDIR) lib/glthread/$(DEPDIR) lib/unistr/$(DEPDIR) lib/uniwidth/$(DEPDIR) src/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean: mostlyclean-recursive mostlyclean-am: am--mostlyclean-test-html mostlyclean-aminfo \ mostlyclean-compile mostlyclean-generic mostlyclean-local \ mostlyclean-vti pdf: pdf-recursive pdf-am: $(PDFS) ps: ps-recursive ps-am: $(PSS) uninstall-am: uninstall-binPROGRAMS uninstall-dvi-am uninstall-html-am \ uninstall-info-am uninstall-local uninstall-man \ uninstall-pdf-am uninstall-pkglibexecPROGRAMS uninstall-ps-am uninstall-man: uninstall-man1 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ check-am check-html ctags-recursive install install-am \ install-strip recheck-html tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local am--mostlyclean-test-html am--refresh \ check check-TESTS check-am check-html check-local clean \ clean-aminfo clean-binPROGRAMS clean-generic \ clean-noinstLIBRARIES clean-noinstPROGRAMS \ clean-pkglibexecPROGRAMS ctags ctags-recursive dist dist-all \ dist-bzip2 dist-gzip dist-hook dist-info dist-lzip dist-lzma \ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-local distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-exec-local install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am \ install-pkglibexecPROGRAMS install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean \ mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ mostlyclean-local mostlyclean-vti pdf pdf-am ps ps-am recheck \ recheck-html tags tags-recursive uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-dvi-am uninstall-html-am \ uninstall-info-am uninstall-local uninstall-man uninstall-man1 \ uninstall-pdf-am uninstall-pkglibexecPROGRAMS uninstall-ps-am # Keep these in sync with bootstrap.conf:bootstrap_post_import_hook(). # Use '$(top_srcdir)/m4' and '$(srcdir)/src' for the benefit of non-GNU # makes: it is with those directories that 'cu-progs.m4' and 'cu-progs.mk' # appear in our dependencies. $(top_srcdir)/m4/cu-progs.m4: $(gen_progs_lists) $(AM_V_GEN)rm -f $@ $@-t \ && $(SHELL) $(gen_progs_lists) --autoconf >$@-t \ && chmod a-w $@-t && mv -f $@-t $@ $(srcdir)/src/cu-progs.mk: $(gen_progs_lists) $(AM_V_GEN)rm -f $@ $@-t \ && $(SHELL) $(gen_progs_lists) --automake >$@-t \ && chmod a-w $@-t && mv -f $@-t $@ # Shortcut targets to make it easier to run (very) expensive tests. check-expensive: $(MAKE) check RUN_EXPENSIVE_TESTS=yes check-very-expensive: $(MAKE) check-expensive RUN_VERY_EXPENSIVE_TESTS=yes .version: $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@ # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. dist-hook: gen-ChangeLog $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in .PHONY: gen-ChangeLog gen-ChangeLog: $(AM_V_GEN)if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --amend=$(srcdir)/build-aux/git-log-fix \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi distcheck-hook: check-ls-dircolors $(MAKE) my-distcheck $(MAKE) taint-distcheck THANKS-to-translators: po/LINGUAS THANKStt.in $(AM_V_GEN)( \ cat $(srcdir)/THANKStt.in; \ for lang in `cat $(srcdir)/po/LINGUAS`; do \ echo http://translationproject.org/team/$$lang.html; \ done; \ ) > $@-tmp && mv $@-tmp $@ # Ensure that the sets of two-letter codes in ls.c and dircolors.c # remain in sync. .PHONY: check-ls-dircolors check-ls-dircolors: $(AM_V_GEN)dc=$$(sed -n '/static.*ls_codes\[/,/};'/p \ $(srcdir)/src/dircolors.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ ls=$$(sed -n '/static.*indicator_name\[/,/};'/\p \ $(srcdir)/src/ls.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ test "$$dc" = "$$ls" THANKS: THANKS.in Makefile.am .mailmap thanks-gen .version $(AM_V_GEN)rm -f $@-t $@; \ { \ $(prologue); echo; \ { perl -ne '/^$$/.../^$$/ and print' $(srcdir)/THANKS.in \ | grep -v '^$$' | perl -pe 's/ +/\0/'; \ git log --pretty=format:'%aN%x00%aE' \ | $(ASSORT) -u; \ } | $(srcdir)/thanks-gen \ | LC_ALL=en_US.UTF-8 sort -f; \ echo; \ printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ } > $@-t && chmod a-w $@-t && mv $@-t $@ # Some of our git hook scripts are supposed to be identical to git's samples. # See if they are still in sync. .PHONY: check-git-hook-script-sync check-git-hook-script-sync: @fail=0; \ t=$$(mktemp -d) \ && cd $$t && git init -q && cd .git/hooks \ && for i in pre-commit pre-applypatch applypatch-msg; do \ diff $(abs_top_srcdir)/scripts/git-hooks/$$i $$i.sample \ || fail=1; \ done; \ rm -rf $$t; \ test $$fail = 0 # We need the following in order to create <alloca.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_ALLOCA_H_TRUE@lib/alloca.h: lib/alloca.in.h $(top_builddir)/config.status @GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_ALLOCA_H_TRUE@ cat $(top_srcdir)/lib/alloca.in.h; \ @GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \ @GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@ @GL_GENERATE_ALLOCA_H_FALSE@lib/alloca.h: $(top_builddir)/config.status @GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@ # We need the following in order to create <arpa/inet.h> when the system # doesn't have one. lib/arpa/inet.h: lib/arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/arpa $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ -e 's|@''REPLACE_INET_NTOP''@|$(REPLACE_INET_NTOP)|g' \ -e 's|@''REPLACE_INET_PTON''@|$(REPLACE_INET_PTON)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/arpa_inet.in.h; \ } > $@-t && \ mv $@-t $@ # Listed in the same order as the GNU makefile conventions, and # provided by autoconf 2.59c+. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. lib/configmake.h: Makefile $(AM_V_GEN)rm -f $@-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t && \ mv -f $@-t $@ # We need the following in order to create <ctype.h> when the system # doesn't have one that works with the given compiler. lib/ctype.h: lib/ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \ -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/ctype.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <dirent.h> when the system # doesn't have one that works with the given compiler. lib/dirent.h: lib/dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/dirent.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <errno.h> when the system # doesn't have one that is POSIX compliant. @GL_GENERATE_ERRNO_H_TRUE@lib/errno.h: lib/errno.in.h $(top_builddir)/config.status @GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_ERRNO_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_ERRNO_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ @GL_GENERATE_ERRNO_H_TRUE@ < $(top_srcdir)/lib/errno.in.h; \ @GL_GENERATE_ERRNO_H_TRUE@ } > $@-t && \ @GL_GENERATE_ERRNO_H_TRUE@ mv $@-t $@ @GL_GENERATE_ERRNO_H_FALSE@lib/errno.h: $(top_builddir)/config.status @GL_GENERATE_ERRNO_H_FALSE@ rm -f $@ # We need the following in order to create <fcntl.h> when the system # doesn't have one that works with the given compiler. lib/fcntl.h: lib/fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/fcntl.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <float.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_FLOAT_H_TRUE@lib/float.h: lib/float.in.h $(top_builddir)/config.status @GL_GENERATE_FLOAT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_FLOAT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_FLOAT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ @GL_GENERATE_FLOAT_H_TRUE@ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ @GL_GENERATE_FLOAT_H_TRUE@ < $(top_srcdir)/lib/float.in.h; \ @GL_GENERATE_FLOAT_H_TRUE@ } > $@-t && \ @GL_GENERATE_FLOAT_H_TRUE@ mv $@-t $@ @GL_GENERATE_FLOAT_H_FALSE@lib/float.h: $(top_builddir)/config.status @GL_GENERATE_FLOAT_H_FALSE@ rm -f $@ # We need the following in order to create <fnmatch.h> when the system # doesn't have one that supports the required API. @GL_GENERATE_FNMATCH_H_TRUE@lib/fnmatch.h: lib/fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) @GL_GENERATE_FNMATCH_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_FNMATCH_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_FNMATCH_H_TRUE@ sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @GL_GENERATE_FNMATCH_H_TRUE@ < $(top_srcdir)/lib/fnmatch.in.h; \ @GL_GENERATE_FNMATCH_H_TRUE@ } > $@-t && \ @GL_GENERATE_FNMATCH_H_TRUE@ mv -f $@-t $@ @GL_GENERATE_FNMATCH_H_FALSE@lib/fnmatch.h: $(top_builddir)/config.status @GL_GENERATE_FNMATCH_H_FALSE@ rm -f $@ # We need the following in order to create <getopt.h> when the system # doesn't have one that works with the given compiler. lib/getopt.h: lib/getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(top_srcdir)/lib/getopt.in.h; \ } > $@-t && \ mv -f $@-t $@ distclean-local: clean-GNUmakefile clean-GNUmakefile: test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile # We need the following in order to create <iconv.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_ICONV_H_TRUE@lib/iconv.h: lib/iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) @GL_GENERATE_ICONV_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_ICONV_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_ICONV_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \ @GL_GENERATE_ICONV_H_TRUE@ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ @GL_GENERATE_ICONV_H_TRUE@ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @GL_GENERATE_ICONV_H_TRUE@ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ @GL_GENERATE_ICONV_H_TRUE@ < $(top_srcdir)/lib/iconv.in.h; \ @GL_GENERATE_ICONV_H_TRUE@ } > $@-t && \ @GL_GENERATE_ICONV_H_TRUE@ mv $@-t $@ @GL_GENERATE_ICONV_H_FALSE@lib/iconv.h: $(top_builddir)/config.status @GL_GENERATE_ICONV_H_FALSE@ rm -f $@ lib/iconv_open-aix.h: lib/iconv_open-aix.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-aix.gperf > $(top_srcdir)/lib/iconv_open-aix.h-t mv $(top_srcdir)/lib/iconv_open-aix.h-t $(top_srcdir)/lib/iconv_open-aix.h lib/iconv_open-hpux.h: lib/iconv_open-hpux.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-hpux.gperf > $(top_srcdir)/lib/iconv_open-hpux.h-t mv $(top_srcdir)/lib/iconv_open-hpux.h-t $(top_srcdir)/lib/iconv_open-hpux.h lib/iconv_open-irix.h: lib/iconv_open-irix.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-irix.gperf > $(top_srcdir)/lib/iconv_open-irix.h-t mv $(top_srcdir)/lib/iconv_open-irix.h-t $(top_srcdir)/lib/iconv_open-irix.h lib/iconv_open-osf.h: lib/iconv_open-osf.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-osf.gperf > $(top_srcdir)/lib/iconv_open-osf.h-t mv $(top_srcdir)/lib/iconv_open-osf.h-t $(top_srcdir)/lib/iconv_open-osf.h lib/iconv_open-solaris.h: lib/iconv_open-solaris.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-solaris.gperf > $(top_srcdir)/lib/iconv_open-solaris.h-t mv $(top_srcdir)/lib/iconv_open-solaris.h-t $(top_srcdir)/lib/iconv_open-solaris.h # We need the following in order to create <inttypes.h> when the system # doesn't have one that works with the given compiler. lib/inttypes.h: lib/inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/inttypes.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create an empty placeholder for # <langinfo.h> when the system doesn't have one. lib/langinfo.h: lib/langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/langinfo.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: lib/charset.alias lib/ref-add.sed lib/ref-del.sed install-exec-local: install-exec-localcharset install-exec-localcharset: all-local if test $(GLIBC21) = no; then \ case '$(host_os)' in \ darwin[56]*) \ need_charset_alias=true ;; \ darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ esac ; \ else \ need_charset_alias=false ; \ fi ; \ if $$need_charset_alias; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ fi ; \ if test -f $(charset_alias); then \ sed -f lib/ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if $$need_charset_alias; then \ sed -f lib/ref-add.sed lib/charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: uninstall-localcharset uninstall-localcharset: all-local if test -f $(charset_alias); then \ sed -f lib/ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi lib/charset.alias: lib/config.charset $(AM_V_GEN)rm -f $@-t $@ && \ $(SHELL) $(top_srcdir)/lib/config.charset '$(host)' > $@-t && \ mv $@-t $@ # SUFFIXES += .sed .sin .sin.sed: $(AM_V_GEN)rm -f $@-t $@ && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > $@-t && \ mv $@-t $@ # We need the following in order to create <locale.h> when the system # doesn't have one that provides all definitions. lib/locale.h: lib/locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/locale.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <math.h> when the system # doesn't have one that works with the given compiler. lib/math.h: lib/math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \ -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \ -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \ -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \ -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \ -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \ -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \ -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \ -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \ -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \ -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \ -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \ -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \ -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \ -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \ -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \ -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \ -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \ -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \ -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \ -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \ -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \ -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \ -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \ -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \ -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \ -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \ -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \ -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \ -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \ -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \ -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \ -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \ -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \ -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \ -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \ -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \ -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \ -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \ -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \ -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \ -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \ -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \ -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \ -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \ < $(top_srcdir)/lib/math.in.h | \ sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \ -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \ -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \ -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \ -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \ -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \ -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \ -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \ -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \ -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \ -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \ -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \ -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \ -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \ -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \ -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \ -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \ -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \ -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \ -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \ -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \ -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \ -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \ -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \ -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \ -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \ -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \ -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \ -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \ -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \ -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \ -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \ -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \ -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \ -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \ -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \ -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \ -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \ -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \ -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \ -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \ -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \ -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \ -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \ -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \ -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \ -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \ -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \ -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \ -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \ -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \ | \ sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \ -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \ -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \ -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \ -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \ -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \ -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \ -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \ -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \ -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \ -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \ -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \ -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \ -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \ -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \ -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \ -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \ -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \ -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \ -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \ -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \ -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \ -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \ -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \ -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \ -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \ -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \ -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \ -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \ -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \ -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \ -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \ -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \ -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \ -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \ -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \ -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \ -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \ -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \ -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \ -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \ -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \ -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \ -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \ -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \ -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \ -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \ -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \ -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \ -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \ -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \ -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \ -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \ -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \ -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \ -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \ -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \ -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \ -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \ -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \ -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \ -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \ -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \ -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \ -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \ -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \ -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \ -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \ -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \ -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \ -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \ -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \ -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \ -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \ -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \ -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \ -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \ -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \ -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \ -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \ -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \ -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \ | \ sed -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \ -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \ -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \ -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \ -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \ -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \ -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \ -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \ -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \ -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \ -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \ -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \ -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \ -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \ -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \ -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \ -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \ -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \ -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \ -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \ -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \ -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \ -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \ -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \ -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \ -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \ -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \ -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \ -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \ -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \ -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \ -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \ -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \ -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \ -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \ -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \ -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \ -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \ -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \ -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \ -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \ -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \ -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \ -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \ -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \ -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \ -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <netdb.h> when the system # doesn't have one that works with the given compiler. lib/netdb.h: lib/netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ -e 's/@''GNULIB_GETADDRINFO''@/$(GNULIB_GETADDRINFO)/g' \ -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ -e 's|@''REPLACE_GAI_STRERROR''@|$(REPLACE_GAI_STRERROR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/netdb.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <netinet/in.h> when the system # doesn't have one. @GL_GENERATE_NETINET_IN_H_TRUE@lib/netinet/in.h: lib/netinet_in.in.h $(top_builddir)/config.status @GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_at)$(MKDIR_P) lib/netinet @GL_GENERATE_NETINET_IN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_NETINET_IN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_NETINET_IN_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ @GL_GENERATE_NETINET_IN_H_TRUE@ < $(top_srcdir)/lib/netinet_in.in.h; \ @GL_GENERATE_NETINET_IN_H_TRUE@ } > $@-t && \ @GL_GENERATE_NETINET_IN_H_TRUE@ mv $@-t $@ @GL_GENERATE_NETINET_IN_H_FALSE@lib/netinet/in.h: $(top_builddir)/config.status @GL_GENERATE_NETINET_IN_H_FALSE@ rm -f $@ # This rule overrides the Automake generated .y.c rule, to ensure that the # parse-datetime.c file gets generated in the source directory, not in the # build directory. lib/parse-datetime.c: lib/parse-datetime.y $(AM_V_GEN)$(SHELL) $(YLWRAP) $(top_srcdir)/lib/parse-datetime.y \ y.tab.c parse-datetime.c \ y.tab.h parse-datetime.h \ y.output parse-datetime.output \ -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ mv parse-datetime.c parse-datetime.c-t && \ mv parse-datetime.c-t $(top_srcdir)/lib/parse-datetime.c # We need the following in order to create <pthread.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_PTHREAD_H_TRUE@lib/pthread.h: lib/pthread.in.h $(top_builddir)/config.status @GL_GENERATE_PTHREAD_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_PTHREAD_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_PTHREAD_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''HAVE_PTHREAD_H''@|$(HAVE_PTHREAD_H)|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''NEXT_PTHREAD_H''@|$(NEXT_PTHREAD_H)|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''HAVE_PTHREAD_T''@|$(HAVE_PTHREAD_T)|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ -e 's|@''HAVE_PTHREAD_SPINLOCK_T''@|$(HAVE_PTHREAD_SPINLOCK_T)|g' \ @GL_GENERATE_PTHREAD_H_TRUE@ < $(top_srcdir)/lib/pthread.in.h; \ @GL_GENERATE_PTHREAD_H_TRUE@ } > $@-t && \ @GL_GENERATE_PTHREAD_H_TRUE@ mv $@-t $@ @GL_GENERATE_PTHREAD_H_FALSE@lib/pthread.h: $(top_builddir)/config.status @GL_GENERATE_PTHREAD_H_FALSE@ rm -f $@ # We need the following in order to create a replacement for <sched.h> when # the system doesn't have one. @GL_GENERATE_SCHED_H_TRUE@lib/sched.h: lib/sched.in.h $(top_builddir)/config.status @GL_GENERATE_SCHED_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_SCHED_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_SCHED_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''NEXT_SCHED_H''@|$(NEXT_SCHED_H)|g' \ @GL_GENERATE_SCHED_H_TRUE@ -e 's|@''HAVE_STRUCT_SCHED_PARAM''@|$(HAVE_STRUCT_SCHED_PARAM)|g' \ @GL_GENERATE_SCHED_H_TRUE@ < $(top_srcdir)/lib/sched.in.h; \ @GL_GENERATE_SCHED_H_TRUE@ } > $@-t && \ @GL_GENERATE_SCHED_H_TRUE@ mv $@-t $@ @GL_GENERATE_SCHED_H_FALSE@lib/sched.h: $(top_builddir)/config.status @GL_GENERATE_SCHED_H_FALSE@ rm -f $@ lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) $(AM_V_at)$(MKDIR_P) lib/selinux $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ < $(top_srcdir)/lib/se-selinux.in.h; \ } > $@-t && \ chmod a-x $@-t && \ mv $@-t $@ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_at)$(MKDIR_P) lib/selinux @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ < $(top_srcdir)/lib/se-context.in.h; \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ } > $@-t && \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ chmod a-x $@-t && \ @GL_GENERATE_SELINUX_CONTEXT_H_TRUE@ mv $@-t $@ @GL_GENERATE_SELINUX_CONTEXT_H_FALSE@lib/selinux/context.h: $(top_builddir)/config.status @GL_GENERATE_SELINUX_CONTEXT_H_FALSE@ rm -f $@ # We need the following in order to create <signal.h> when the system # doesn't have a complete one. lib/signal.h: lib/signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/signal.in.h; \ } > $@-t && \ mv $@-t $@ # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut # off. lib/arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ > $@-t && \ mv $@-t $@ # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/snippet/c++defs.h, except that it has the copyright header cut off. lib/c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/snippet/c++defs.h \ > $@-t && \ mv $@-t $@ # The unused-parameter.h that gets inserted into generated .h files is the same # as build-aux/snippet/unused-parameter.h, except that it has the copyright # header cut off. lib/unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ > $@-t && \ mv $@-t $@ # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/snippet/warn-on-use.h, except that it has the copyright header cut # off. lib/warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ > $@-t && \ mv $@-t $@ # We need the following in order to create a replacement for <spawn.h> when # the system doesn't have one. lib/spawn.h: lib/spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SPAWN_H''@|$(HAVE_SPAWN_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SPAWN_H''@|$(NEXT_SPAWN_H)|g' \ -e 's/@''GNULIB_POSIX_SPAWN''@/$(GNULIB_POSIX_SPAWN)/g' \ -e 's/@''GNULIB_POSIX_SPAWNP''@/$(GNULIB_POSIX_SPAWNP)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_INIT''@/$(GNULIB_POSIX_SPAWNATTR_INIT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_GETFLAGS)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_SETFLAGS)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_GETPGROUP)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_SETPGROUP)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGMASK)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGMASK)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_DESTROY''@/$(GNULIB_POSIX_SPAWNATTR_DESTROY)/g' \ -e 's|@''HAVE_POSIX_SPAWN''@|$(HAVE_POSIX_SPAWN)|g' \ -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|$(HAVE_POSIX_SPAWNATTR_T)|g' \ -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_T)|g' \ -e 's|@''REPLACE_POSIX_SPAWN''@|$(REPLACE_POSIX_SPAWN)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/spawn.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <stdalign.h> when the system # doesn't have one that works. @GL_GENERATE_STDALIGN_H_TRUE@lib/stdalign.h: lib/stdalign.in.h $(top_builddir)/config.status @GL_GENERATE_STDALIGN_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_STDALIGN_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_STDALIGN_H_TRUE@ cat $(top_srcdir)/lib/stdalign.in.h; \ @GL_GENERATE_STDALIGN_H_TRUE@ } > $@-t && \ @GL_GENERATE_STDALIGN_H_TRUE@ mv $@-t $@ @GL_GENERATE_STDALIGN_H_FALSE@lib/stdalign.h: $(top_builddir)/config.status @GL_GENERATE_STDALIGN_H_FALSE@ rm -f $@ # We need the following in order to create <stdarg.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_STDARG_H_TRUE@lib/stdarg.h: lib/stdarg.in.h $(top_builddir)/config.status @GL_GENERATE_STDARG_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_STDARG_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_STDARG_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_STDARG_H_TRUE@ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ @GL_GENERATE_STDARG_H_TRUE@ < $(top_srcdir)/lib/stdarg.in.h; \ @GL_GENERATE_STDARG_H_TRUE@ } > $@-t && \ @GL_GENERATE_STDARG_H_TRUE@ mv $@-t $@ @GL_GENERATE_STDARG_H_FALSE@lib/stdarg.h: $(top_builddir)/config.status @GL_GENERATE_STDARG_H_FALSE@ rm -f $@ # We need the following in order to create <stdbool.h> when the system # doesn't have one that works. @GL_GENERATE_STDBOOL_H_TRUE@lib/stdbool.h: lib/stdbool.in.h $(top_builddir)/config.status @GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(top_srcdir)/lib/stdbool.in.h; \ @GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \ @GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@ @GL_GENERATE_STDBOOL_H_FALSE@lib/stdbool.h: $(top_builddir)/config.status @GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@ # We need the following in order to create <stddef.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_STDDEF_H_TRUE@lib/stddef.h: lib/stddef.in.h $(top_builddir)/config.status @GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_STDDEF_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ @GL_GENERATE_STDDEF_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ @GL_GENERATE_STDDEF_H_TRUE@ < $(top_srcdir)/lib/stddef.in.h; \ @GL_GENERATE_STDDEF_H_TRUE@ } > $@-t && \ @GL_GENERATE_STDDEF_H_TRUE@ mv $@-t $@ @GL_GENERATE_STDDEF_H_FALSE@lib/stddef.h: $(top_builddir)/config.status @GL_GENERATE_STDDEF_H_FALSE@ rm -f $@ # We need the following in order to create <stdint.h> when the system # doesn't have one that works with the given compiler. @GL_GENERATE_STDINT_H_TRUE@lib/stdint.h: lib/stdint.in.h $(top_builddir)/config.status @GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ @GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ @GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ @GL_GENERATE_STDINT_H_TRUE@ < $(top_srcdir)/lib/stdint.in.h; \ @GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \ @GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@ @GL_GENERATE_STDINT_H_FALSE@lib/stdint.h: $(top_builddir)/config.status @GL_GENERATE_STDINT_H_FALSE@ rm -f $@ # We need the following in order to create <stdio.h> when the system # doesn't have one that works with the given compiler. lib/stdio.h: lib/stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ < $(top_srcdir)/lib/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <stdlib.h> when the system # doesn't have one that works with the given compiler. lib/stdlib.h: lib/stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ < $(top_srcdir)/lib/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <string.h> when the system # doesn't have one that works with the given compiler. lib/string.h: lib/string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ < $(top_srcdir)/lib/string.in.h | \ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ < $(top_srcdir)/lib/string.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/ioctl.h> when the system # does not have a complete one. lib/sys/ioctl.h: lib/sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ -e 's/@''GNULIB_IOCTL''@/$(GNULIB_IOCTL)/g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e 's|@''REPLACE_IOCTL''@|$(REPLACE_IOCTL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_ioctl.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/resource.h> when the system # doesn't have one. lib/sys/resource.h: lib/sys_resource.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_RESOURCE_H''@|$(NEXT_SYS_RESOURCE_H)|g' \ -e 's|@''HAVE_SYS_RESOURCE_H''@|$(HAVE_SYS_RESOURCE_H)|g' \ -e 's/@''GNULIB_GETRUSAGE''@/$(GNULIB_GETRUSAGE)/g' \ -e 's/@''HAVE_GETRUSAGE''@/$(HAVE_GETRUSAGE)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_resource.in.h; \ } > $@-t && \ mv -f $@-t $@ # We need the following in order to create <sys/select.h> when the system # doesn't have one that works with the given compiler. lib/sys/select.h: lib/sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_select.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/socket.h> when the system # doesn't have one that works with the given compiler. lib/sys/socket.h: lib/sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY''@|$(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY)|g' \ -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ -e 's|@''HAVE_ACCEPT4''@|$(HAVE_ACCEPT4)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_socket.in.h; \ } > $@-t && \ mv -f $@-t $@ # We need the following in order to create <sys/stat.h> when the system # has one that is incomplete. lib/sys/stat.h: lib/sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_stat.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/time.h> when the system # doesn't have one that works with the given compiler. lib/sys/time.h: lib/sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_time.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/types.h> when the system # doesn't have one that works with the given compiler. lib/sys/types.h: lib/sys_types.in.h $(top_builddir)/config.status $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ < $(top_srcdir)/lib/sys_types.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/uio.h> when the system # doesn't have one that works with the given compiler. lib/sys/uio.h: lib/sys_uio.in.h $(top_builddir)/config.status $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ < $(top_srcdir)/lib/sys_uio.in.h; \ } > $@-t && \ mv -f $@-t $@ # We need the following in order to create <sys/utsname.h> when the system # does not have one. lib/sys/utsname.h: lib/sys_utsname.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_UTSNAME_H''@/$(HAVE_SYS_UTSNAME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_UTSNAME_H''@|$(NEXT_SYS_UTSNAME_H)|g' \ -e 's/@''GNULIB_UNAME''@/$(GNULIB_UNAME)/g' \ -e 's|@''HAVE_STRUCT_UTSNAME''@|$(HAVE_STRUCT_UTSNAME)|g' \ -e 's|@''HAVE_UNAME''@|$(HAVE_UNAME)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_utsname.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <sys/wait.h> when the system # has one that is incomplete. lib/sys/wait.h: lib/sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_WAIT_H''@|$(NEXT_SYS_WAIT_H)|g' \ -e 's/@''GNULIB_WAITPID''@/$(GNULIB_WAITPID)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_wait.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <termios.h> when the system # version does not have all declarations. lib/termios.h: lib/termios.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TERMIOS_H''@|$(NEXT_TERMIOS_H)|g' \ -e 's/@''GNULIB_TCGETSID''@/$(GNULIB_TCGETSID)/g' \ -e 's|@''HAVE_DECL_TCGETSID''@|$(HAVE_DECL_TCGETSID)|g' \ -e 's|@''HAVE_TERMIOS_H''@|$(HAVE_TERMIOS_H)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/termios.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <time.h> when the system # doesn't have one that works with the given compiler. lib/time.h: lib/time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/time.in.h; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create an empty placeholder for # <unistd.h> when the system doesn't have one. lib/unistd.h: lib/unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ < $(top_srcdir)/lib/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ | \ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ lib/unistr.h: lib/unistr.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/unistr.in.h; \ } > $@-t && \ mv -f $@-t $@ lib/unitypes.h: lib/unitypes.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/unitypes.in.h; \ } > $@-t && \ mv -f $@-t $@ lib/uniwidth.h: lib/uniwidth.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/uniwidth.in.h; \ } > $@-t && \ mv -f $@-t $@ # We need the following in order to create <wchar.h> when the system # version does not work standalone. lib/wchar.h: lib/wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ < $(top_srcdir)/lib/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ # We need the following in order to create <wctype.h> when the system # doesn't have one that works with the given compiler. lib/wctype.h: lib/wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/wctype.in.h; \ } > $@-t && \ mv $@-t $@ mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : # Allow "make distdir" to succeed before "make all" has run. dist-hook: $(noinst_LIBRARIES) .PHONY: dist-hook src/dircolors.h: src/dcgen src/dircolors.hin $(AM_V_GEN)rm -f $@ $@-t $(AM_V_at)$(PERL) -w -- $(srcdir)/src/dcgen \ $(srcdir)/src/dircolors.hin > $@-t $(AM_V_at)chmod a-w $@-t $(AM_V_at)mv $@-t $@ $(top_srcdir)/src/primes.h: $(MAKE) src/make-prime-list$(EXEEXT) $(AM_V_GEN)rm -f $@ $@-t $(AM_V_at)src/make-prime-list$(EXEEXT) 5000 > $@-t $(AM_V_at)chmod a-w $@-t $(AM_V_at)mv $@-t $@ # Compare fs.h with the list of file system names/magic-numbers in the # Linux statfs man page. This target prints any new name/number pairs. # Also compare against /usr/include/linux/magic.h .PHONY: src/fs-magic-compare src/fs-magic-compare: src/fs-magic src/fs-kernel-magic src/fs-def join -v1 -t@ src/fs-magic src/fs-def join -v1 -t@ src/fs-kernel-magic src/fs-def src/fs-def: src/fs.h grep '^# *define ' src/fs.h | $(ASSORT) > $@-t && mv $@-t $@ src/fs-magic: Makefile man statfs \ |perl -ne '/File system types:/.../Nobody kno/ and print' \ |grep 0x | perl -p \ $(fs_normalize_perl_subst) \ | grep -Ev 'S_MAGIC_EXT[34]|STACK_END' \ | $(ASSORT) \ > $@-t && mv $@-t $@ src/fs-kernel-magic: Makefile perl -ne '/^#define.*0x/ and print' /usr/include/linux/magic.h \ | perl -p \ $(fs_normalize_perl_subst) \ | grep -Ev 'S_MAGIC_EXT[34]|STACK_END' \ | $(ASSORT) \ > $@-t && mv $@-t $@ src/fs-is-local.h: src/stat.c src/extract-magic $(AM_V_GEN)rm -f $@ $(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \ --local $(srcdir)/src/stat.c > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ src/fs.h: src/stat.c src/extract-magic $(AM_V_GEN)rm -f $@ $(AM_V_at)$(PERL) $(srcdir)/src/extract-magic \ $(srcdir)/src/stat.c > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ src/version.c: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf '#include <config.h>\n' > $@t $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ src/version.h: Makefile $(AM_V_GEN)rm -f $@ $(AM_V_at)printf 'extern char const *Version;\n' > $@t $(AM_V_at)chmod a-w $@t $(AM_V_at)mv $@t $@ # Ensure that the list of programs in README matches the list # of programs we can build. check-local: check-README check-duplicate-no-install .PHONY: check-README check-README: $(AM_V_GEN)rm -rf $(pr) $(pm) $(AM_V_at)echo $(all_programs) \ | tr -s ' ' '\n' \ | sed -e 's,$(EXEEXT)$$,,' \ -e 's,^src/,,' \ -e 's/^ginstall$$/install/' \ | sed /libstdbuf/d \ | $(ASSORT) -u > $(pm) && \ sed -n '/^The programs .* are:/,/^[a-zA-Z]/p' $(top_srcdir)/README \ | sed -n '/^ */s///p' | tr -s ' ' '\n' > $(pr) $(AM_V_at)diff $(pm) $(pr) && rm -rf $(pr) $(pm) # Ensure that a by-default-not-installed program (listed in # $(no_install__progs) is not also listed as another $(EXTRA_PROGRAMS) # entry, because if that were to happen, it *would* be installed # by default. .PHONY: check-duplicate-no-install check-duplicate-no-install: src/tr $(AM_V_GEN)test -z "`echo '$(EXTRA_PROGRAMS)' | tr ' ' '\n' | uniq -d`" doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c $(AM_V_GEN)LC_ALL=C; export LC_ALL; \ $(MKDIR_P) doc && \ { sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \ $(top_srcdir)/src/tail.c && \ sed -n -e \ 's/.*\(DEFAULT_PASSES\)[ =]* \([0-9]*\).*/@set SHRED_\1 \2/p'\ $(top_srcdir)/src/shred.c; } > $@-t \ && mv $@-t $@ .PHONY: $(syntax_checks) check-texinfo # List words/regexps here that should not appear in the texinfo documentation. check-texinfo: $(syntax_checks) $(AM_V_GEN)fail=0; \ grep '@url{' $(texi_files) && fail=1; \ grep '\$$@"' $(texi_files) && fail=1; \ grep -n '[^[:punct:]]@footnote' $(texi_files) && fail=1; \ grep -n filename $(texi_files) \ | $(EGREP) -v 'setfilename|[{]filename[}]' \ && fail=1; \ exit $$fail sc-avoid-builtin: $(AM_V_GEN)$(EGREP) -i '$(_W)builtins?$(W_)' $(texi_files) \ && exit 1 || : sc-avoid-path: $(AM_V_GEN)fail=0; \ $(EGREP) -i '$(_W)path(name)?s?$(W_)' $(texi_files) \ | $(EGREP) -v \ 'PATH=|path search|search path|@vindex PATH$$|@env[{]PATH[}]' \ && fail=1; \ exit $$fail # Use "time zone", not "timezone". sc-avoid-timezone: $(AM_V_GEN)$(EGREP) timezone $(texi_files) && exit 1 || : # Check for insufficient exponent grouping, e.g., # @math{2^64} should be @math{2^{64}}. sc-exponent-grouping: $(AM_V_GEN)$(EGREP) '\{.*\^[0-9][0-9]' $(texi_files) && exit 1 || : # Say I/O, not IO. sc-avoid-io: $(AM_V_GEN)$(EGREP) '$(_W)IO$(W_)' $(texi_files) && exit 1 || : # I prefer nonzero over non-zero. sc-avoid-non-zero: $(AM_V_GEN)$(EGREP) non-zero $(texi_files) && exit 1 || : # Use "zeros", not "zeroes" (nothing wrong with "zeroes"; just be consistent). sc-avoid-zeroes: $(AM_V_GEN)$(EGREP) -i '$(_W)zeroes$(W_)' $(texi_files) \ && exit 1 || : sc-lower-case-var: $(AM_V_GEN)$(PERL) -e 1 || { echo $@: skipping test; exit 0; }; \ $(PERL) -lne $(find_upper_case_var) $(texi_files) check-local: check-texinfo # This is required because we have subtle inter-directory dependencies: # in order to generate all man pages, even those for which we don't # install a binary, require that all programs be built at distribution # time. We can't use 'dist-hook' for this, since it would run too late: # the manpages must be generated before the distdir is created and filled. $(EXTRA_MANS): $(all_programs) # This is a kludge to remove generated 'man/*.1' from a non-srcdir build. # Without this, "make distcheck" might fail. distclean-local: test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS) $(ALL_MANS): $(mandeps) # Most prog.1 man pages depend on src/prog. List the exceptions: # Note that dir and vdir are exceptions only if you consider the name # of the .c file upon which they depend: ls.c. man/arch.1: src/uname man/dir.1: src/dir man/install.1: src/ginstall man/vdir.1: src/vdir man/base64.1: src/base64 man/basename.1: src/basename man/cat.1: src/cat man/chcon.1: src/chcon man/chgrp.1: src/chgrp man/chmod.1: src/chmod man/chown.1: src/chown man/chroot.1: src/chroot man/cksum.1: src/cksum man/comm.1: src/comm man/cp.1: src/cp man/csplit.1: src/csplit man/cut.1: src/cut man/date.1: src/date man/dd.1: src/dd man/df.1: src/df man/dircolors.1: src/dircolors man/dirname.1: src/dirname man/du.1: src/du man/echo.1: src/echo man/env.1: src/env man/expand.1: src/expand man/expr.1: src/expr man/factor.1: src/factor man/false.1: src/false man/fmt.1: src/fmt man/fold.1: src/fold man/groups.1: src/groups man/head.1: src/head man/hostid.1: src/hostid man/hostname.1: src/hostname man/id.1: src/id man/join.1: src/join man/kill.1: src/kill man/link.1: src/link man/ln.1: src/ln man/logname.1: src/logname man/ls.1: src/ls man/md5sum.1: src/md5sum man/mkdir.1: src/mkdir man/mkfifo.1: src/mkfifo man/mknod.1: src/mknod man/mktemp.1: src/mktemp man/mv.1: src/mv man/nice.1: src/nice man/nl.1: src/nl man/nohup.1: src/nohup man/nproc.1: src/nproc man/numfmt.1: src/numfmt man/od.1: src/od man/paste.1: src/paste man/pathchk.1: src/pathchk man/pinky.1: src/pinky man/pr.1: src/pr man/printenv.1: src/printenv man/printf.1: src/printf man/ptx.1: src/ptx man/pwd.1: src/pwd man/readlink.1: src/readlink man/realpath.1: src/realpath man/rm.1: src/rm man/rmdir.1: src/rmdir man/runcon.1: src/runcon man/seq.1: src/seq man/sha1sum.1: src/md5sum man/sha224sum.1: src/md5sum man/sha256sum.1: src/md5sum man/sha384sum.1: src/md5sum man/sha512sum.1: src/md5sum man/shred.1: src/shred man/shuf.1: src/shuf man/sleep.1: src/sleep man/sort.1: src/sort man/split.1: src/split man/stat.1: src/stat man/stdbuf.1: src/stdbuf man/stty.1: src/stty man/sum.1: src/sum man/sync.1: src/sync man/tac.1: src/tac man/tail.1: src/tail man/tee.1: src/tee man/test.1: src/test man/timeout.1: src/timeout man/touch.1: src/touch man/tr.1: src/tr man/true.1: src/true man/truncate.1: src/truncate man/tsort.1: src/tsort man/tty.1: src/tty man/uname.1: src/uname man/unexpand.1: src/unexpand man/uniq.1: src/uniq man/unlink.1: src/unlink man/uptime.1: src/uptime man/users.1: src/users man/wc.1: src/wc man/who.1: src/who man/whoami.1: src/whoami man/yes.1: src/yes .x.1: $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \ case $$name in \ install) prog='ginstall';; \ test) prog='[';; \ *) prog=$$name;; \ esac; \ rm -f $@ $@-t \ && t=$*.td \ && rm -rf $$t \ && $(MKDIR_P) $$t \ && (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog $$name) \ && $(run_help2man) \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/man/$$name.x \ --output=$$t/$$name.1 $$t/$$name \ && sed 's|$*\.td/||g' $$t/$$name.1 > $@-t \ && rm -rf $$t \ && chmod -w $@-t \ && mv $@-t $@ .PHONY: check-root check-root: $(MAKE) check TESTS='$(root_tests)' SUBDIRS=. $(factor_tests): $(tf)/run.sh $(tf)/create-test.sh $(AM_V_GEN)$(MKDIR_P) $(tf) $(AM_V_at)$(SHELL) $(srcdir)/$(tf)/create-test.sh $@ \ $(srcdir)/$(tf)/run.sh > $@-t $(AM_V_at)chmod a+x $@-t $(AM_V_at)mv $@-t $@ $(TEST_LOGS): $(PROGRAMS) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/cfg.mk�������������������������������������������������������������������������������0000664�0000000�0000000�00000057247�12106001570�011445� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Customize maint.mk -*- makefile -*- # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Used in maint.mk's web-manual rule manual_title = Core GNU utilities # Use the direct link. This is guaranteed to work immediately, while # it can take a while for the faster mirror links to become usable. url_dir_list = http://ftp.gnu.org/gnu/$(PACKAGE) # Tests not to run as part of "make distcheck". local-checks-to-skip = \ sc_proper_name_utf8_requires_ICONV # Tools used to bootstrap this package, used for "announcement". bootstrap-tools = autoconf,automake,gnulib,bison # Now that we have better tests, make this the default. export VERBOSE = yes # Comparing tarball sizes compressed using different xz presets, we see that # an -8e-compressed tarball is only 9KiB larger than the -9e-compressed one. # Using -8e is preferred, since that lets the decompression process use half # the memory (32MiB rather than 64MiB). # $ for i in {7,8,9}{e,}; do \ # (n=$(xz -$i < coreutils-8.15*.tar|wc -c);echo $n $i) & done |sort -nr # 5129388 7 # 5036524 7e # 5017476 8 # 5010604 9 # 4923016 8e # 4914152 9e export XZ_OPT = -8e old_NEWS_hash = b93e7e43dd35f32961c354e41211b86e # Add an exemption for sc_makefile_at_at_check. _makefile_at_at_check_exceptions = ' && !/^cu_install_program =/' # Our help-version script is in a slightly different location. _hv_file ?= $(srcdir)/tests/misc/help-version # Ensure that the list of O_ symbols used to compute O_FULLBLOCK is complete. dd = $(srcdir)/src/dd.c sc_dd_O_FLAGS: @rm -f $@.1 $@.2 @{ echo O_FULLBLOCK; echo O_NOCACHE; \ perl -nle '/^ +\| (O_\w*)$$/ and print $$1' $(dd); } | sort > $@.1 @{ echo O_NOFOLLOW; perl -nle '/{"[a-z]+",\s*(O_\w+)},/ and print $$1' \ $(dd); } | sort > $@.2 @diff -u $@.1 $@.2 || diff=1 || diff=; \ rm -f $@.1 $@.2; \ test "$$diff" \ && { echo '$(ME): $(dd) has inconsistent O_ flag lists'>&2; \ exit 1; } || : # Ensure that dd's definition of LONGEST_SYMBOL stays in sync # with the strings from the two affected variables. dd_c = $(srcdir)/src/dd.c sc_dd_max_sym_length: ifneq ($(wildcard $(dd_c)),) @len=$$( (sed -n '/conversions\[\] =$$/,/^};/p' $(dd_c);\ sed -n '/flags\[\] =$$/,/^};/p' $(dd_c) ) \ |sed -n '/"/s/^[^"]*"\([^"]*\)".*/\1/p' \ | wc --max-line-length); \ max=$$(sed -n '/^#define LONGEST_SYMBOL /s///p' $(dd_c) \ |tr -d '"' | wc --max-line-length); \ if test "$$len" = "$$max"; then :; else \ echo 'dd.c: LONGEST_SYMBOL is not longest' 1>&2; \ exit 1; \ fi endif # Many m4 macros names once began with 'jm_'. # On 2004-04-13, they were all changed to start with gl_ instead. # Make sure that none are inadvertently reintroduced. sc_prohibit_jm_in_m4: @grep -nE 'jm_[A-Z]' \ $$($(VC_LIST) m4 |grep '\.m4$$'; echo /dev/null) && \ { echo '$(ME): do not use jm_ in m4 macro names' \ 1>&2; exit 1; } || : # Ensure that each root-requiring test is run via the "check-root" rule. sc_root_tests: @t1=sc-root.expected; t2=sc-root.actual; \ grep -nl '^ *require_root_$$' `$(VC_LIST) tests` | sort > $$t1; \ for t in $(all_root_tests); do echo $$t; done | sort > $$t2; \ st=0; diff -u $$t1 $$t2 || st=1; \ rm -f $$t1 $$t2; \ exit $$st # Ensure that all version-controlled test cases are listed in $(all_tests). sc_tests_list_consistency: @bs="\\"; \ test_extensions_rx=`echo $(TEST_EXTENSIONS) \ | sed -e "s/ /|/g" -e "s/$$bs./$$bs$$bs./g"`; \ { \ for t in $(all_tests); do echo $$t; done; \ cd $(top_srcdir); \ $(SHELL) build-aux/vc-list-files tests \ | grep -Ev '^tests/(factor/(run|create-test)|init)\.sh$$' \ | $(EGREP) "$$test_extensions_rx\$$"; \ } | sort | uniq -u | grep . && exit 1; : # Create a list of regular expressions matching the names # of files included from system.h. Exclude a couple. .re-list: @sed -n '/^# *include /s///p' $(srcdir)/src/system.h \ | grep -Ev 'sys/(param|file)\.h' \ | sed 's/ .*//;;s/^["<]/^# *include [<"]/;s/\.h[">]$$/\\.h[">]/' \ > $@-t @mv $@-t $@ define gl_trap_ Exit () { set +e; (exit $$1); exit $$1; }; \ for sig in 1 2 3 13 15; do \ eval "trap 'Exit $$(expr $$sig + 128)' $$sig"; \ done endef # Files in src/ should not include directly any of # the headers already included via system.h. sc_system_h_headers: .re-list @if test -f $(srcdir)/src/system.h; then \ trap 'rc=$$?; rm -f .re-list; exit $$rc' 0; \ $(gl_trap_); \ grep -nE -f .re-list \ $$($(VC_LIST_EXCEPT) | grep '^\($(srcdir)/\)\?src/') \ && { echo '$(ME): the above are already included via system.h'\ 1>&2; exit 1; } || :; \ fi sc_sun_os_names: @grep -nEi \ 'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \ $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \ exit 1; } || : # Ensure that the list of programs and author names is accurate. # We need a UTF8 locale. If a lack of locale support or a missing # translation inhibits printing of UTF-8 names, just skip this test. au_dotdot = authors-dotdot au_actual = authors-actual sc_check-AUTHORS: $(all_programs) @locale=en_US.UTF-8; \ LC_ALL=$$locale ./src/cat --version \ | grep ' Torbjorn ' > /dev/null \ && { echo "$@: skipping this check"; exit 0; }; \ rm -f $(au_actual) $(au_dotdot); \ for i in `ls $(all_programs) \ | sed -e 's,^src/,,' -e 's,$(EXEEXT)$$,,' \ | sed /libstdbuf/d \ | $(ASSORT) -u`; do \ test "$$i" = '[' && continue; \ exe=$$i; \ if test "$$i" = install; then \ exe=ginstall; \ elif test "$$i" = test; then \ exe='['; \ fi; \ LC_ALL=$$locale ./src/$$exe --version \ | perl -0 -pi -e 's/,\n/, /gm' \ | sed -n -e '/Written by /{ s//'"$$i"': /;' \ -e 's/,* and /, /; s/\.$$//; p; }'; \ done > $(au_actual) && \ sed -n '/^[^ ][^ ]*:/p' $(srcdir)/AUTHORS > $(au_dotdot) \ && diff $(au_actual) $(au_dotdot) \ && rm -f $(au_actual) $(au_dotdot) # Each program with a non-ASCII author name must link with LIBICONV. sc_check-I18N-AUTHORS: @cd $(srcdir)/src && \ for i in $$(git grep -l -w proper_name_utf8 *.c|sed 's/\.c//'); do \ grep -E "^src_$${i}_LDADD"' .?= .*\$$\(LIBICONV\)' local.mk \ > /dev/null \ || { echo "$(ME): link rules for $$i do not include" \ '$$(LIBICONV)' 1>&2; exit 1; }; \ done # Ensure %j is not used for intmax_t as it's not universally supported. # There are issues on HPUX for example. But note that %ju was used between # coreutils 8.13 (2011-10) and 8.20 (2012-10) without any reported issue, # and the particular issue this check is associated with was for %*jx. # So we may be able to relax this restriction soon. sc_prohibit-j-printf-format: @cd $(srcdir)/src && GIT_PAGER= git grep -n '%[0*]*j[udx]' *.c \ && { echo '$(ME): Use PRI*MAX instead of %j' 1>&2; exit 1; } \ || : # Look for lines longer than 80 characters, except omit: # - program-generated long lines in diff headers, # - tests involving long checksum lines, and # - the 'pr' test cases. LINE_LEN_MAX = 80 FILTER_LONG_LINES = \ /^[^:]*\.diff:[^:]*:@@ / d; \ \|^[^:]*tests/misc/sha[0-9]*sum.*\.pl[-:]| d; \ \|^[^:]*tests/pr/|{ \|^[^:]*tests/pr/pr-tests:| !d; }; sc_long_lines: @files=$$($(VC_LIST_EXCEPT)) \ halt='line(s) with more than $(LINE_LEN_MAX) characters; reindent'; \ for file in $$files; do \ expand $$file | grep -nE '^.{$(LINE_LEN_MAX)}.' | \ sed -e "s|^|$$file:|" -e '$(FILTER_LONG_LINES)'; \ done | grep . && { msg="$$halt" $(_sc_say_and_exit) } || : # Option descriptions should not start with a capital letter. # One could grep source directly as follows: # grep -E " {2,6}-.*[^.] [A-Z][a-z]" $$($(VC_LIST_EXCEPT) | grep '\.c$$') # but that would miss descriptions not on the same line as the -option. sc_option_desc_uppercase: $(ALL_MANS) @grep '^\\fB\\-' -A1 man/*.1 | LC_ALL=C grep '\.1.[A-Z][a-z]' \ && { echo 1>&2 '$@: found initial capitals in --help'; exit 1; } || : # Ensure all man/*.[1x] files are present. sc_man_file_correlation: check-x-vs-1 check-programs-vs-x # Ensure that for each .x file in the 'man/' subdirectory, there is a # corresponding .1 file in the definition of $(EXTRA_MANS). # But since that expansion usually lacks programs like arch and hostname, # add them here manually. .PHONY: check-x-vs-1 check-x-vs-1: @PATH=./src$(PATH_SEPARATOR)$$PATH; export PATH; \ t=$@-t; \ (cd $(srcdir)/man && ls -1 *.x) \ | sed 's/\.x$$//' | $(ASSORT) > $$t; \ (echo $(patsubst man/%,%,$(ALL_MANS)) \ | tr -s ' ' '\n' | sed 's/\.1$$//') \ | $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \ rm $$t # Writing a portable rule to generate a manpage like '[.1' would be # a nightmare, so filter that out. all-progs-but-lbracket = $(filter-out [,$(patsubst src/%,%,$(all_programs))) # Ensure that for each coreutils program there is a corresponding # '.x' file in the 'man/' subdirectory. .PHONY: check-programs-vs-x check-programs-vs-x: @status=0; \ for p in dummy $(all-progs-but-lbracket); do \ case $$p in *.so) continue;; esac; \ test $$p = dummy && continue; \ test $$p = ginstall && p=install || : ; \ test -f $(srcdir)/man/$$p.x \ || { echo missing $$p.x 1>&2; status=1; }; \ done; \ exit $$status # Ensure that the end of each release's section is marked by two empty lines. sc_NEWS_two_empty_lines: @sed -n 4,/Noteworthy/p $(srcdir)/NEWS \ | perl -n0e '/(^|\n)\n\n\* Noteworthy/ or exit 1' \ || { echo '$(ME): use two empty lines to separate NEWS sections' \ 1>&2; exit 1; } || : # With split lines, don't leave an operator at end of line. # Instead, put it on the following line, where it is more apparent. # Don't bother checking for "*" at end of line, since it provokes # far too many false positives, matching constructs like "TYPE *". # Similarly, omit "=" (initializers). binop_re_ ?= [-/+^!<>]|[-/+*^!<>=]=|&&?|\|\|?|<<=?|>>=? sc_prohibit_operator_at_end_of_line: @prohibit='. ($(binop_re_))$$' \ in_vc_files='\.[chly]$$' \ halt='found operator at end of line' \ $(_sc_search_regexp) # Don't use "readlink" or "readlinkat" directly sc_prohibit_readlink: @prohibit='\<readlink(at)? \(' \ halt='do not use readlink(at); use via xreadlink or areadlink*' \ $(_sc_search_regexp) # Don't use address of "stat" or "lstat" functions sc_prohibit_stat_macro_address: @prohibit='\<l?stat '':|&l?stat\>' \ halt='stat() and lstat() may be function-like macros' \ $(_sc_search_regexp) # Ensure that date's --help output stays in sync with the info # documentation for GNU strftime. The only exception is %N, # which date accepts but GNU strftime does not. extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/' sc_strftime_check: @if test -f $(srcdir)/src/date.c; then \ grep '^ %. ' $(srcdir)/src/date.c | sort \ | $(extract_char) > $@-src; \ { echo N; \ info libc date calendar format 2>/dev/null|grep '^ `%.'\'\ | $(extract_char); } | sort > $@-info; \ if test $$(stat --format %s $@-info) != 2; then \ diff -u $@-src $@-info || exit 1; \ else \ echo '$(ME): skipping $@: libc info not installed' 1>&2; \ fi; \ rm -f $@-src $@-info; \ fi # Indent only with spaces. sc_prohibit_tab_based_indentation: @prohibit='^ * ' \ halt='TAB in indentation; use only spaces' \ $(_sc_search_regexp) # The SEE ALSO section of a man page should not be terminated with # a period. Check the first line after each "SEE ALSO" line in man/*.x: sc_prohibit_man_see_also_period: @grep -nB1 '\.$$' $$($(VC_LIST_EXCEPT) | grep 'man/.*\.x$$') \ | grep -A1 -e '-\[SEE ALSO\]' | grep '\.$$' && \ { echo '$(ME): do not end "SEE ALSO" section with a period' \ 1>&2; exit 1; } || : # Don't use "indent-tabs-mode: nil" anymore. No longer needed. sc_prohibit_emacs__indent_tabs_mode__setting: @prohibit='^( *[*#] *)?indent-tabs-mode:' \ halt='use of emacs indent-tabs-mode: setting' \ $(_sc_search_regexp) # Ensure that tests don't include a redundant fail=0. sc_prohibit_fail_0: @prohibit='\<fail=0\>' \ halt='fail=0 initialization' \ $(_sc_search_regexp) # The mode part of a setfacl -m option argument must be three bytes long. # I.e., an argument of user:bin:rw or user:bin:r will make Solaris 10's # setfacl reject it with: "Unrecognized character found in mode field". # Use hyphens to give it a length of 3: "...:rw-" or "...:r--". sc_prohibit_short_facl_mode_spec: @prohibit='\<setfacl .*-m.*:.*:[rwx-]{1,2} ' \ halt='setfacl mode string length < 3; extend with hyphen(s)' \ $(_sc_search_regexp) # Ensure that "stdio--.h" is used where appropriate. sc_require_stdio_safer: @if $(VC_LIST_EXCEPT) | grep -l '\.[ch]$$' > /dev/null; then \ files=$$(grep -l '\bfreopen \?(' $$($(VC_LIST_EXCEPT) \ | grep '\.[ch]$$')); \ test -n "$$files" && grep -LE 'include "stdio--.h"' $$files \ | grep . && \ { echo '$(ME): the above files should use "stdio--.h"' \ 1>&2; exit 1; } || :; \ else :; \ fi sc_prohibit_perl_hash_quotes: @prohibit="\{'[A-Z_]+' *[=}]" \ halt="in Perl code, write \$$hash{KEY}, not \$$hash{'K''EY'}" \ $(_sc_search_regexp) # Prefer xnanosleep over other less-precise sleep methods sc_prohibit_sleep: @prohibit='\<(nano|u)?sleep \(' \ halt='prefer xnanosleep over other sleep interfaces' \ $(_sc_search_regexp) # Use print_ver_ (from init.cfg), not open-coded $VERBOSE check. sc_prohibit_verbose_version: @prohibit='test "\$$VERBOSE" = yes && .* --version' \ halt='use the print_ver_ function instead...' \ $(_sc_search_regexp) # Use framework_failure_, not the old name without the trailing underscore. sc_prohibit_framework_failure: @prohibit='\<framework_''failure\>' \ halt='use framework_failure_ instead' \ $(_sc_search_regexp) # Prohibit the use of `...` in tests/. Use $(...) instead. sc_prohibit_test_backticks: @prohibit='`' in_vc_files='^tests/' \ halt='use $$(...), not `...` in tests/' \ $(_sc_search_regexp) # Programs like sort, ls, expr use PROG_FAILURE in place of EXIT_FAILURE. # Others, use the EXIT_CANCELED, EXIT_ENOENT, etc. macros defined in system.h. # In those programs, ensure that EXIT_FAILURE is not used by mistake. sc_some_programs_must_avoid_exit_failure: @grep -nw EXIT_FAILURE \ $$(git grep -El '[^T]_FAILURE|EXIT_CANCELED' src) \ | grep -vE '= EXIT_FAILURE|exit \(.* \?' | grep . \ && { echo '$(ME): do not use EXIT_FAILURE in the above' \ 1>&2; exit 1; } || : # Ensure that tests call the print_ver_ function for programs which are # actually used in that test. sc_prohibit_test_calls_print_ver_with_irrelevant_argument: @git grep -w print_ver_ tests \ | sed 's#:print_ver_##' \ | { fail=0; \ while read file name; do \ for i in $$name; do \ case "$$i" in install) i=ginstall;; esac; \ grep -w "$$i" $$file|grep -vw print_ver_|grep -q . \ || { fail=1; \ echo "*** Test: $$file, offending: $$i." 1>&2; };\ done; \ done; \ test $$fail = 0 || exit 1; \ } || { echo "$(ME): the above test(s) call print_ver_ for" \ "program(s) they don't use" 1>&2; exit 1; } # Exempt the contents of any usage function from the following. _continued_string_col_1 = \ s/^usage .*?\n}//ms;/\\\n\w/ and print ("$$ARGV\n"),$$e=1;END{$$e||=0;exit $$e} # Ding any source file that has a continued string with an alphabetic in the # first column of the following line. We prohibit them because they usually # trigger false positives in tools that try to map an arbitrary line number # to the enclosing function name. Of course, very many strings do precisely # this, *when they are part of the usage function*. That is why we exempt # the contents of any function named "usage". sc_prohibit_continued_string_alpha_in_column_1: @perl -0777 -ne '$(_continued_string_col_1)' \ $$($(VC_LIST_EXCEPT) | grep '\.[ch]$$') \ || { echo '$(ME): continued string with word in first column' \ 1>&2; exit 1; } || : # Use this to list offending lines: # git ls-files |grep '\.[ch]$' | xargs \ # perl -n -0777 -e 's/^usage.*?\n}//ms;/\\\n\w/ and print "$ARGV\n"' \ # | xargs grep -A1 '\\$'|grep '\.[ch][:-][_a-zA-Z]' ########################################################### _p0 = \([^"'/]\|"\([^\"]\|[\].\)*"\|'\([^\']\|[\].\)*' _pre = $(_p0)\|[/][^"'/*]\|[/]"\([^\"]\|[\].\)*"\|[/]'\([^\']\|[\].\)*'\)* _pre_anchored = ^\($(_pre)\) _comment_and_close = [^*]\|[*][^/*]\)*[*][*]*/ # help font-lock mode: ' # A sed expression that removes ANSI C and ISO C99 comments. # Derived from the one in GNU gettext's 'moopp' preprocessor. _sed_remove_comments = \ /[/][/*]/{ \ ta; \ :a; \ s,$(_pre_anchored)//.*,\1,; \ te; \ s,$(_pre_anchored)/[*]\($(_comment_and_close),\1 ,; \ ta; \ /^$(_pre)[/][*]/{ \ s,$(_pre_anchored)/[*].*,\1 ,; \ tu; \ :u; \ n; \ s,^\($(_comment_and_close),,; \ tv; \ s,^.*$$,,; \ bu; \ :v; \ }; \ :e; \ } # Quote all single quotes. _sed_rm_comments_q = $(subst ','\'',$(_sed_remove_comments)) # help font-lock mode: ' _space_before_paren_exempt =? \\n\\$$ _space_before_paren_exempt = \ (^ *\#|\\n\\$$|%s\(to %s|(date|group|character)\(s\)) # Ensure that there is a space before each open parenthesis in C code. sc_space_before_open_paren: @if $(VC_LIST_EXCEPT) | grep -l '\.[ch]$$' > /dev/null; then \ fail=0; \ for c in $$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); do \ sed '$(_sed_rm_comments_q)' $$c 2>/dev/null \ | grep -i '[[:alnum:]](' \ | grep -vE '$(_space_before_paren_exempt)' \ | grep . && { fail=1; echo "*** $$c"; }; \ done; \ test $$fail = 1 && \ { echo '$(ME): the above files lack a space-before-open-paren' \ 1>&2; exit 1; } || :; \ else :; \ fi # Similar to the gnulib maint.mk rule for sc_prohibit_strcmp # Use STREQ_LEN or STRPREFIX rather than comparing strncmp == 0, or != 0. sc_prohibit_strncmp: @grep -nE '! *str''ncmp *\(|\<str''ncmp *\(.+\) *[!=]=' \ $$($(VC_LIST_EXCEPT)) \ | grep -vE ':# *define STR(N?EQ_LEN|PREFIX)\(' && \ { echo '$(ME): use STREQ_LEN or STRPREFIX instead of str''ncmp' \ 1>&2; exit 1; } || : # Enforce recommended preprocessor indentation style. sc_preprocessor_indentation: @if cppi --version >/dev/null 2>&1; then \ $(VC_LIST_EXCEPT) | grep '\.[ch]$$' | xargs cppi -a -c \ || { echo '$(ME): incorrect preprocessor indentation' 1>&2; \ exit 1; }; \ else \ echo '$(ME): skipping test $@: cppi not installed' 1>&2; \ fi # THANKS.in is a list of name/email pairs for people who are mentioned in # commit logs (and generated ChangeLog), but who are not also listed as an # author of a commit. Name/email pairs of commit authors are automatically # extracted from the repository. As a very minor factorization, when # someone who was initially listed only in THANKS.in later authors a commit, # this rule detects that their pair may now be removed from THANKS.in. sc_THANKS_in_duplicates: @{ git log --pretty=format:%aN | sort -u; \ cut -b-36 THANKS.in | sed '/^$$/d;s/ *$$//'; } \ | sort | uniq -d | grep . \ && { echo '$(ME): remove the above names from THANKS.in' \ 1>&2; exit 1; } || : # Look for developer diagnostics that are marked for translation. # This won't find any for which devmsg's format string is on a separate line. sc_marked_devdiagnostics: @prohibit='\<devmsg *\(.*_\(' \ halt='found marked developer diagnostic(s)' \ $(_sc_search_regexp) # Override the default Cc: used in generating an announcement. announcement_Cc_ = $(translation_project_), \ coreutils@gnu.org, coreutils-announce@gnu.org -include $(srcdir)/dist-check.mk update-copyright-env = \ UPDATE_COPYRIGHT_FORCE=1 \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 # List syntax-check exemptions. exclude_file_name_regexp--sc_space_tab = \ ^(tests/pr/|tests/misc/nl\.sh$$|gl/.*\.diff$$) exclude_file_name_regexp--sc_bindtextdomain = \ ^(gl/.*|lib/euidaccess-stat|src/make-prime-list)\.c$$ exclude_file_name_regexp--sc_trailing_blank = ^tests/pr/ exclude_file_name_regexp--sc_system_h_headers = \ ^src/((system|copy)\.h|libstdbuf\.c|make-prime-list\.c)$$ _src = (false|lbracket|ls-(dir|ls|vdir)|tac-pipe|uname-(arch|uname)) exclude_file_name_regexp--sc_require_config_h_first = \ (^lib/buffer-lcm\.c|src/$(_src)\.c)$$ exclude_file_name_regexp--sc_require_config_h = \ $(exclude_file_name_regexp--sc_require_config_h_first) exclude_file_name_regexp--sc_po_check = ^gl/ exclude_file_name_regexp--sc_prohibit_always-defined_macros = \ ^src/(seq|remove)\.c$$ exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^tests/pr/ exclude_file_name_regexp--sc_program_name = \ ^(gl/.*|lib/euidaccess-stat|src/make-prime-list)\.c$$ exclude_file_name_regexp--sc_file_system = \ NEWS|^(init\.cfg|src/df\.c|tests/df/df-P\.sh|tests/df/df-output\.sh)$$ exclude_file_name_regexp--sc_prohibit_always_true_header_tests = \ ^m4/stat-prog\.m4$$ exclude_file_name_regexp--sc_prohibit_fail_0 = \ (^.*/git-hooks/commit-msg|^tests/init\.sh|Makefile\.am|\.mk|.*\.texi)$$ exclude_file_name_regexp--sc_prohibit_atoi_atof = ^lib/euidaccess-stat\.c$$ # longlong.h is maintained elsewhere. _ll = ^src/longlong\.h$$ exclude_file_name_regexp--sc_useless_cpp_parens = $(_ll) exclude_file_name_regexp--sc_long_lines = $(_ll) exclude_file_name_regexp--sc_space_before_open_paren = $(_ll) tbi_1 = ^tests/pr/|(^gl/lib/reg.*\.c\.diff|\.mk|^man/help2man)$$ tbi_2 = ^scripts/git-hooks/(pre-commit|pre-applypatch|applypatch-msg)$$ tbi_3 = (GNU)?[Mm]akefile(\.am)?$$|$(_ll) exclude_file_name_regexp--sc_prohibit_tab_based_indentation = \ $(tbi_1)|$(tbi_2)|$(tbi_3) exclude_file_name_regexp--sc_preprocessor_indentation = \ ^(gl/lib/rand-isaac\.[ch]|gl/tests/test-rand-isaac\.c)$$|$(_ll) exclude_file_name_regexp--sc_prohibit_stat_st_blocks = \ ^(src/system\.h|tests/du/2g\.sh)$$ exclude_file_name_regexp--sc_prohibit_continued_string_alpha_in_column_1 = \ ^src/(system\.h|od\.c|printf\.c)$$ exclude_file_name_regexp--sc_prohibit_test_backticks = \ ^tests/(local\.mk|(init|misc/stdbuf|factor/create-test)\.sh)$$ # Exempt test.c, since it's nominally shared, and relatively static. exclude_file_name_regexp--sc_prohibit_operator_at_end_of_line = \ ^src/(ptx|test|head)\.c$$ exclude_file_name_regexp--sc_error_message_uppercase = ^src/factor\.c$$ exclude_file_name_regexp--sc_prohibit_atoi_atof = ^src/make-prime-list\.c$$ # Augment AM_CFLAGS to include our per-directory options: AM_CFLAGS += $($(@D)_CFLAGS) src_CFLAGS = $(WARN_CFLAGS) lib_CFLAGS = $(GNULIB_WARN_CFLAGS) gnulib-tests_CFLAGS = $(GNULIB_TEST_WARN_CFLAGS) # Configuration to make the tight-scope syntax-check rule work with # non-recursive make. export _gl_TS_headers = $(srcdir)/cfg.mk _gl_TS_dir = . _gl_TS_obj_files = src/*.$(OBJEXT) _gl_TS_other_headers = src/*.h # Tell the tight_scope rule about an exceptional "extern" variable. # Normally, the rule would detect its declaration, but that uses a # different name, __clz_tab. _gl_TS_unmarked_extern_vars = factor_clz_tab ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/README�������������������������������������������������������������������������������0000664�0000000�0000000�00000025516�12104210261�011224� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������These are the GNU core utilities. This package is the union of the GNU fileutils, sh-utils, and textutils packages. Most of these programs have significant advantages over their Unix counterparts, such as greater speed, additional options, and fewer arbitrary limits. The programs that can be built with this package are: [ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stdbuf stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami yes See the file NEWS for a list of major changes in the current release. If you obtained this file as part of a "git clone", then see the README-hacking file. If this file came to you as part of a tar archive, then see the file INSTALL for compilation and installation instructions. These programs are intended to conform to POSIX (with BSD and other extensions), like the rest of the GNU system. By default they conform to older POSIX (1003.2-1992), and therefore support obsolete usages like "head -10" and "chown owner.group file". This default is overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION macro, and this in turn can be overridden at runtime as described in the documentation under "Standards conformance". The ls, dir, and vdir commands are all separate executables instead of one program that checks argv[0] because people often rename these programs to things like gls, gnuls, l, etc. Renaming a program file shouldn't affect how it operates, so that people can get the behavior they want with whatever name they want. Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry, Kaveh Ghazi, and François Pinard for help with debugging and porting these programs. Many thanks to all of the people who have taken the time to submit problem reports and fixes. All contributed changes are attributed in the commit logs. And thanks to the following people who have provided accounts for portability testing on many different types of systems: Bob Proulx, Christian Robert, François Pinard, Greg McGary, Harlan Stenn, Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe, Réjean Payette, Sam Tardieu. Thanks to Michael Stone for inflicting test releases of this package on Debian's unstable distribution, and to all the kind folks who used that distribution and found and reported bugs. Note that each man page is now automatically generated from a template and from the corresponding --help usage message. Patches to the template files (man/*.x) are welcome. However, the authoritative documentation is in texinfo form in the doc directory. ***************************************** On Mac OS X 10.5.1 (Darwin 9.1), test failure ----------------------------------------- Mac OS X 10.5.1 (Darwin 9.1) provides only partial (and incompatible) ACL support, so although "./configure && make" succeeds, "make check" exposes numerous failures. The solution is to turn off ACL support manually via "./configure --disable-acl". For details, see <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12292/focus=12318>. ***************************************** Test failure with NLS and gettext <= 0.17 ----------------------------------------- Due to a conflict between libintl.h and gnulib's new xprintf module, when you configure with NLS support, and with a gettext installation older than 0.17.1 (not yet released, at the time of this writing), then some tests fail, at least on NetBSD 1.6. To work around it in the mean time, you can configure with --disable-nls. For details, see <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/12015/>. *********************** Pre-C99 build failure ----------------------- There is a new, implicit build requirement: To build the coreutils from source, you should have a C99-conforming compiler, due to the use of declarations after non-declaration statements in several files in src/. There is code in configure to find and, if possible, enable an appropriate compiler. However, if configure doesn't find a C99 compiler, it continues nonetheless, and your build will fail. If that happens, simply[*] apply the included patch using the following command, and then run make again: cd src && patch < c99-to-c89.diff [*] however, as of coreutils-7.1, the "c99-to-c89.diff" file is no longer maintained, so even if the patches still apply, the result will be an incomplete conversion. It's been 10 years. Get a decent compiler! ;-) *********************** HPUX 11.x build failure ----------------------- A known problem exists when compiling on HPUX on both hppa and ia64 in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This is not due to a bug in the package but instead due to a bug in the system header file which breaks things in 64-bit mode. The default compilation mode is 32-bit and the software compiles fine using the default mode. To build this software in 64-bit mode you will need to fix the system /usr/include/inttypes.h header file. After correcting that file the software also compiles fine in 64-bit mode. Here is one possible patch to correct the problem: --- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996 +++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003 @@ -489 +489 @@ -#ifndef __STDC_32_MODE__ +#ifndef __LP64__ ************************ OSF/1 4.0d build failure ------------------------ If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due to the presence of the "[" target. That version of make appears to treat "[" as some syntax relating to locks. To work around that, the best solution is to use GNU make. Otherwise, simply remove all mention of "[$(EXEEXT)" from src/Makefile. ************************************************* "make check" failure on IRIX 6.5 and Solaris <= 9 ------------------------------------------------- Using the vendor make program to run "make check" fails on these two systems. If you want to run all of the tests there, use GNU make. ********************** Running tests as root: ---------------------- If you run the tests as root, note that a few of them create files and/or run programs as a non-root user, 'nobody' by default. If you want to use some other non-root username, specify it via the NON_ROOT_USERNAME environment variable. Depending on the permissions with which the working directories have been created, using 'nobody' may fail, because that user won't have the required read and write access to the build and test directories. I find that it is best to unpack and build as a non-privileged user, and then to run the following command as that user in order to run the privilege-requiring tests: sudo env PATH="$PATH" NON_ROOT_USERNAME=$USER make -k check-root If you can run the tests as root, please do so and report any problems. We get much less test coverage in that mode, and it's arguably more important that these tools work well when run by root than when run by less privileged users. *************** Reporting bugs: --------------- IMPORTANT: if you take the time to report a test failure, please be sure to include the output of running 'make check' in verbose mode for each failing test. For example, if the test that fails is tests/df/df-P.sh, then you would run this command: make check TESTS=tests/df/df-P.sh VERBOSE=yes SUBDIRS=. >> log 2>&1 For some tests, you can get even more detail by adding DEBUG=yes. Then include the contents of the file 'log' in your bug report. Send bug reports, questions, comments, etc. to bug-coreutils@gnu.org. If you would like to suggest a patch, see the files README-hacking and HACKING for tips. *************************************** There are many tests, but nowhere near as many as we need. Additions and corrections are very welcome. If you see a problem that you've already reported, feel free to re-report it -- it won't bother me to get a reminder. Besides, the more messages I get regarding a particular problem the sooner it'll be fixed -- usually. If you sent a complete patch and, after a couple weeks you haven't received any acknowledgement, please ping us. A complete patch includes a well-written ChangeLog entry, unified (diff -u format) diffs relative to the most recent test release (or, better, relative to the latest sources in the public repository), an explanation for why the patch is necessary or useful, and if at all possible, enough information to reproduce whatever problem prompted it. Plus, you'll earn lots of karma if you include a test case to exercise any bug(s) you fix. Here are instructions for checking out the latest development sources: http://savannah.gnu.org/git/?group=coreutils If your patch adds a new feature, please try to get some sort of consensus that it is a worthwhile change. One way to do that is to send mail to bug-coreutils@gnu.org including as much description and justification as you can. Based on the feedback that generates, you may be able to convince us that it's worth adding. WARNING: Now that we use the ./bootstrap script, you should not run autoreconf manually. Doing that will overwrite essential source files with older versions, which may make the package unbuildable or introduce subtle bugs. WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4, or any Makefile.am, then don't be surprised if what gets regenerated no longer works. To make things work, you'll have to be using appropriate versions of the tools listed in bootstrap.conf's buildreq string. All of these programs except 'test' recognize the '--version' option. When reporting bugs, please include in the subject line both the package name/version and the name of the program for which you found a problem. For general documentation on the coding and usage standards this distribution follows, see the GNU Coding Standards, http://www.gnu.org/prep/standards_toc.html. For any copyright year range specified as YYYY-ZZZZ in this package note that the range specifies every single year in that closed interval. Mail suggestions and bug reports for these programs to the address on the last line of --help output. ======================================================================== Copyright (C) 1998-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the "GNU Free Documentation License" file as part of this distribution. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/ChangeLog-2005�����������������������������������������������������������������������0000664�0000000�0000000�00001554531�12102337340�012515� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2005-12-27 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY. (sc_prohibit_assert_without_use): New rule. (syntax-check-rules): Add it to the list. * .x-sc_prohibit_assert_without_use: New empty file. * Makefile.am (EXTRA_DIST): Add it. * Makefile.maint (CVS_LIST): Define in terms of $(srcdir). * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c: Don't include <assert.h>; it wasn't used. 2005-12-26 Paul Eggert <eggert@cs.ucla.edu> * src/chown-core.c (restricted_chown): Don't try O_WRONLY unless O_RDONLY failed wth EACCES. * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY | O_NOFOLLOW too, for consistency with other dir-openers. Use POSIX-preferred O_NONBLOCK rather than O_NDELAY. (is_empty_dir): Likewise. * src/shred.c (wipename): Likewise. Don't bother trying to open dir for writing, since POSIX prohibits it. 2005-12-22 Jim Meyering <jim@meyering.net> * tests/help-version: Redirect stderr to /dev/full, to suppress write error diagnostic. 2005-12-19 Jim Meyering <jim@meyering.net> * src/mkdir.c, src/mknod.c, src/mkfifo.c (main) Avoid a minor race condition when `-m MODE' is specified, by using open, fchown, and close rather than just chown. To do that reliably -- even with an overly restrictive umask -- ensure that each mkdir, mknod and mkfifo call uses a mode including at least owner-read access. * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if the subsequent chown (or equivalent open,fchown,close) fails. * tests/misc/mknod: New tests. * tests/misc/Makefile.am (TESTS): Add mknod. 2005-12-17 Jim Meyering <jim@meyering.net> * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang, e.g., on a named pipe. (OPEN_NO_FOLLOW_SYMLINK): Remove definition. Use O_NOFOLLOW in place of all uses, since it is guaranteed (system.h) to be defined. 2005-12-05 Andreas Gruenbacher <agruen@suse.de> Add POSIX ACL support * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall is no requirement for ACL support; particularly, it does not exist on systems that have POSIX ACLs. * src/copy.h (cp_option_init) [umask_kill]: Remove member. * src/cp.c (umask_kill): With default acls, the umask is not to be applied. Remove umask_kill, don't change the process umask, and let the kernel apply the umask where appropriate. * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs. * src/copy.c (get_dest_mode): Remove; it is obsolete after removing umask_kill. (copy_reg, copy_internal): Use copy_acl and set_acl instead of fchown/chown. Fix the logic for POSIX ACLs. (chown_succeded): Remove; we now always copy acls and preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we did a chown before or not. * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member. * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD, mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange to link with it via $(LIB_ACL), for the utilities that need it. 2005-12-16 Paul Eggert <eggert@cs.ucla.edu> * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove. (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise. (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its value is now signified by whether cwd_errno is null. (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from pointer-to-bool to pointer-to-errno-value. All callers changed. (rm_1): Don't bother setting a local cwd failure flag and then ORing it into the caller's. Just set the caller's. (rm): Use cwd failure errno value to print a slightly-better diagnostic. 2005-12-15 Jim Meyering <jim@meyering.net> * src/stat.c (print_it): Properly handle a backslash at the end of a --printf format string. Reported by Paul Eggert. * tests/misc/stat-printf (end-bs): Add a test for the above. 2005-12-15 Paul Eggert <eggert@cs.ucla.edu> * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh. Don't assume /etc/passwd contains user names; use 'id' instead. 2005-12-15 Jim Meyering <jim@meyering.net> stat: revert behavior of --format=FMT (-c) stat: add new option: --printf=FMT * NEWS: Mention this. * src/stat.c (isodigit, octtobin, hextobin): Define. (PRINTF_OPTION): Define. (interpret_backslash_escapes, trailing_delim): New globals. (usage): Document them. Alphabetize on long option names. (print_esc_char): New function. (print_it): Rewrite, in order to handle backslash escapes. (main): Handle new option. Set globals for --format, too. * tests/misc/stat-printf: Test --printf and --format. * tests/misc/Makefile.am (TESTS): Add stat-printf. 2005-12-14 Paul Eggert <eggert@cs.ucla.edu> * NEWS: sort now reports incompatible options. * src/sort.c (incompatible_options, check_ordering_compatibility): New functions. (main): Use them. Don't bother with a usage message for "sort -c a b", for consistency with other error diagnostics. * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4): New tests. * src/cat.c (main): Undo previous change. close_stdout already does the check, so the previous change wasn't necessary. 2005-12-13 Paul Eggert <eggert@cs.ucla.edu> * src/cat.c (main): Check for close (STDOUT_FILENO) failure. 2005-12-12 Paul Eggert <eggert@cs.ucla.edu> Install a more-conservative approach for sort -R. It's the same basic idea as the existing code, except it uses the full ISAAC approach (called the "more kosher" approach in the existing comments). This makes "sort -R" quite a bit slower (about a factor of 2 on my little tests involving 10000 lines on a 2.4 GHz P4), but I think it's better to be conservative here at first, and review any performance improvements carefully. * .x-sc_require_config_h: Add src/rand-isaac.c. * src/rand-isaac.h: Remove. All uses now simply include rand-isaac.c. * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h. (shred_SOURCES, sort_SOURCES): Remove. (EXTRA_DIST): Add rand-isaac.c. * src/rand-isaac.c: Revert to what used to be in shred.c, without changing it to allow for varying numbers of words in the state. Alter so that we include rand-isaac.c directly rather than compiling it and linking to it. Don't include config.h or system.h; that's the includer's responsibility. Omit functions that are specific to shred. (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind): (isaac_step, struct irand_state): Resurrect these, with the same defns that used to be in shred.c. (ISAAC_SIZE, isaac_new, isaac_copy): Remove. (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32): static again. (struct isaac_state, isaac_refill, isaac_mix, isaac_init): (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed): (irand_init, irand32, irand_mod): Number of words is constant again. (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c. * src/shred.c: Include rand-isaac.c rather than rand-isaac.h. * src/sort.c: Likewise. * src/shred.c (fillrand, dopass, main): Undo previous change. (struct irand_state, irand_init, irand32, irand_mod): Moved back here, from rand-isaac.c. * src/sort.c: Don't include md5.h; it wasn't needed. (struct keyfield): Rename random_hash to random, for consistency with the other member names. All uses changed. (usage): Tweak wording to mention STRING for --seed option. (short_options): Rorder for consistency with other programs. (rand_state): Now a struct, not a pointer to one. All uses changed. (HASH_WORDS, HASH_SIZE): Remove. (get_hash): Remove comments around resbuf size, since we can assume C89. Use a "more-kosher" (but slower) approach of invoking isaac_refill. (keycompare): Adjust to the new get_hash. Add a FIXME. (badfieldspec): Omit recently-introduced comment; it isn't needed. (main): Don't set need_random simply because gkey has it set; that doesn't necessarily mean we'll need random numbers. Redo seeding to match new get_hash approach. 2005-12-10 Jim Meyering <jim@meyering.net> * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h. Avoid shred segfault on 64-bit systems. * src/rand-isaac.c (isaac_refill): Don't try to negate a local of type uint32_t. Make the local an `int' instead. * NEWS: Mention sort's new options. * src/rand-isaac.c (isaac_mix): Declare to be static. Mark all other functions as `extern' so the tight-scope part of `make distcheck' passes once again. * src/rand-isaac.h (isaac_mix): Remove declaration. * src/sort.c (get_hash): Change position of `*' in parameter type to conform with convention. (main): Split a long line so it fits in 80 columns. (keycompare): Remove stray SPACE before TAB that was causing `make distcheck' to fail. * src/shred.c: Don't include gethrxtime.h. No longer needed. * tests/misc/sort-rand: New file: basic tests for the new options. * tests/misc/Makefile.am (TESTS): Add sort-rand. 2005-12-10 Frederik Eaton <frederik@ofb.net> * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME). (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c. * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c. Make state size runtime-configurable. (isaac_new, isaac_copy): New functions. * src/rand-isaac.h: New file. * src/shred.c: Include rand-isaac.h. Move ISAAC code to rand-isaac.c. (fillrand, main): Adjust to the fact that the state size is now runtime-configurable. * src/sort.c (short_options, long_options, WORDS, keycompare, main): (usage): Add options --random-sort and --seed to implement a random shuffle. Include md5.h and rand-isaac.h. (get_hash): New function. (rand_state): New var. (HASH_WORDS, HASH_SIZE): New macros. 2005-12-09 Paul Eggert <eggert@cs.ucla.edu> * tests/dd/misc: Add test for dd iflags=noatime. 2005-12-09 Jim Meyering <jim@meyering.net> * src/sort.c (usage): Mention white space vs -b and -t options. From The Wanderer. 2005-12-09 Eric Blake <ebb9@byu.net> * src/test.c (main): Fix misleading comment. 2005-12-07 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Mention dd's new noatime flag. * src/system.h (O_NOATIME): Define to 0 if not already defined. * src/dd.c (flags, usage): Add support for noatime flag. 2005-12-07 Jim Meyering <jim@meyering.net> Distribute the cvsu script, used only by `make syntax-check'. * Makefile.am (EXTRA_DIST): Add build-aux/cvsu. * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we distribute a copy of this script. * .x-sc_unmarked_diagnostics: Add build-aux/cvsu. * tests/mv/acl: exit-77 before the trap, not after, if we fail to create a temporary directory on another partition. From Andreas Gruenbacher. 2005-12-06 Tomas Pospisek <tpo@sourcepole.ch> (tiny change) * man/basename.x: Cross-reference to dirname and readlink. * man/dirname.x: Cross-reference to basename and readlink. 2005-12-05 Andreas Gruenbacher * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1. (set_owner, preserve_author): New functions, factored out of copy_reg. (copy_reg): Use them. (copy_internal): Use them here, too. 2005-12-04 Jim Meyering <jim@meyering.net> * src/sleep.c (usage): Say what happens with two or more arguments. Suggested by Justin Pryzby. * src/uptime.c (print_uptime): Move decl of `upsecs' into scope where it's used. 2005-12-03 Jim Meyering <jim@meyering.net> * src/rm.c (long_opts): Change the name of each undocumented, for- testing-only option to start with `-', so that it cannot render ambiguous any prefix it happens to share with some other option name. Problem reported by Eric Blake. * src/head.c (long_options): Likewise. * src/tail.c (long_options): Likewise. * tests/misc/head-elide-tail: Update uses of undocumented, for- testing-only --presume* options to start with `---'. * tests/rm/dangling-symlink: Likewise. * tests/rm/dir-no-w: Likewise. * tests/rm/isatty: Likewise. 2005-11-30 Jim Meyering <jim@meyering.net> * Makefile.maint: Add a comment about cvsu. 2005-11-25 Paul Eggert <eggert@cs.ucla.edu> * NEWS: df updates for "none", "proc", inaccessible file systems. * src/df.c (show_point): Ignore inaccessible file systems. (usage): -a includes dummy file systems, not size-0 file systems. * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t, to avoid collision with POSIX name space. All uses changed. 2005-11-24 Jim Meyering <jim@meyering.net> * tests/Makefile.am (EXTRA_DIST): Add acl to the list. * tests/acl: Add `$0: ' prefix to diagnostics. * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list. 2005-11-23 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c: Improve performance a bit by optimizing away unnecessary system calls and going to a block size of at least 8192 (on normal hosts, anyway). This improved performance 5% on my Debian stable host (2.4.27 kernel, x86, copying from root ext3 file system to itself). Include "buffer-lcm.h". (copy_reg): Omit last argument. All callers changed. Use xmalloc to allocate rather than trusting alloca (which is unwise with large block sizes). Declare locals more locally, if possible. Use uintptr_t words instead of int words, for a bit more speed when looking for null blocks on 64-bit hosts. Optimize away reads of zero bytes on regular files. In the typical case, insist on 8 KiB buffers, at least. Avoid unnecessary extra call to fstat when checking for sparse files. Avoid now-unnecessary cast to off_t, and "0L". Avoid unnecessary test of *new_dst when checking for same owner and group. 2005-11-22 Paul Eggert <eggert@cs.ucla.edu> * src/remove.c (rm): Don't assume C99 for-loop syntax. 2005-11-22 Jim Meyering <jim@meyering.net> * src/remove.c (AD_push): Remove debugging cruft. * tests/rm/unread2 (rm): Change expected diagnostic, `cannot open directory' to `cannot remove', to align with new version of rm. * tests/rm/rm2: Ensure that rm now continues removing entries even after certain types of failure. * src/remove.c: Rewrite. Now, this module is reentrant on systems that provide openat (Solaris), and on systems like Linux+procfs where our openat emulation code is reentrant. This also fixes a few low-probability leaks and eliminates some code that could, in very unusual circumstances, cause rm() (via a callee) to exit. * NEWS: Mention this. * configure.ac: Put copyright dates all on one line so the emacs function that updates them works properly. 2005-11-18 Paul Eggert <eggert@cs.ucla.edu> * configure.ac (AM_PROG_CC_C_O): Add. Needed for CVS Automake. Problem reported by Eric Blake. (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that we get a standard-conforming compiler. This relies on the new m4/c.m4 file. Note that it's a bit tricky, since c.m4 doesn't define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals. m4/c.m4 can go away with Autoconf 2.60 comes out. 2005-11-17 Jim Meyering <jim@meyering.net> * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'. (AD_mark_current_as_unremovable): Likewise, but for a local. (rm_1): Likewise. * tests/mv/acl: Let traps handle removing temporary directories. Expect acl-related tests to fail, until the corresponding patches are committed. * tests/mv/Makefile.am (XFAIL_TESTS): Add acl. * tests/cp/Makefile.am (XFAIL_TESTS): Likewise. ACL tests, from Andreas Gruenbacher. * tests/acl, tests/mv/acl, tests/cp/acl: New files. * tests/mv/Makefile.am (TESTS): Add acl. * tests/cp/Makefile.am (TESTS): Add acl. * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment. 2005-11-16 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Improve quality of ln's diagnostics. * src/ln.c (do_link, usage): Likewise. (do_link): Don't use alloca on a buffer of unbounded size. 2005-11-16 Jim Meyering <jim@meyering.net> * tests/cp/fail-perm: Accommodate HPUX. It appears to fail with EACCES rather than EPERM. Reported by Peter O'Gorman here: http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766 This also affects AIX 4.3.3, according to Ralf Wildenhues, in http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html 2005-11-14 Jim Meyering <jim@meyering.net> * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix. 2005-11-13 Jim Meyering <jim@meyering.net> * announce-gen: Accept new option, --gpg-key-id=ID and emit a blurb telling how to use the .sig files. * Makefile.cfg (gpg_key_ID): Define. * Makefile.maint (announcement): Use new option and key. Require that most .c files include <config.h>. * Makefile.maint (sc_require_config_h): New rule. (syntax-check-rules): Add it. * .x-sc_require_config_h: New file listing exceptions to the above rule. Some are legit, others are simply grandfathered in. * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too. 2005-11-12 Jim Meyering <jim@meyering.net> * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files. 2005-11-11 Jim Meyering <jim@meyering.net> * NEWS: Mention `readlink -f' bug fix in 5.3.0 news. Mention new readlink options in 5.3.0's `New features' section. Spotted by Thomas Hood. 2005-11-08 Jim Meyering <jim@meyering.net> * NEWS: Merge in changes from b5_9x branch. 2005-11-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: ls now defaults to --time-style='locale', which in turn acts like --time-style='posix-long-iso' if the locale settings are messed up. * src/ls.c (decode_switches): Implement this. 2005-11-08 Jim Meyering <jim@meyering.net> * tests/du/2g: s/expensive/very expensive/ in a comment. From Paul Townsend. 2005-10-17 Eric Blake <ebb9@byu.net> * src/ls.c (usage): Fix descriptions of --sort, --time. Reported by Vitaly A. Ostanin. 2005-11-04 Paul Eggert <eggert@cs.ucla.edu> * src/ln.c: Include filenamecat.c. (FILE_BASENAME_CONCAT): Remove. (do_link): Remove last arg DEST_IS_DIR. All callers changed. (main): Use file_name_concat, base_name, and strip_trailing_slashes instead of FILE_BASENAME_CONCAT. This simplifies the code, and avoids the use of alloca. 2005-11-04 Jim Meyering <jim@meyering.net> * src/du.c (process_file): Don't overflow for files of size >= 2^31 on systems with stat.st_blocks of a signed 32-bit type. This bug causes trouble on some AIX 5.1 systems. Report and trivial patch from Paul Townsend: <http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00033.html> * NEWS: Mention this. * tests/du/2g: New (very-expensive) test for the above-fixed bug. * tests/du/Makefile.am (TESTS): Add it here. * tests/very-expensive: New file. * tests/Makefile.am (EXTRA_DIST): Add it here. * tests/cp/perm: Mark this test as `very-expensive', too. 2005-11-02 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Mention that rm -d and maybe ln -d are scheduled for removal in 2006. * src/remove.h (struct rm_options): Remove unlink_dirs. All uses removed. * src/rm.c (usage): Don't mention rm -d. 2005-11-02 Jim Meyering <jim@meyering.net> * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils. From Andreas Schwab. * tests/dd/unblock-sync: Redirect stderr to /dev/null so the `M+N records in/out' lines don't pollute `make check' output. * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug fixed on 2005-10-31. This test uses the new, IN_PIPE specifier. * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE, to indicate that the input file should be piped into the command under test (via `cat FILE | $prog ...'). * src/remove.c (remove_entry): Emit a better diagnostic when rm (without -r) fails to remove a directory on a non-Linux system. This change affects only newer Solaris systems (with priv_* functions like priv_allocset). Reported by Keith Thompson. * tests/rm/dir-nonrecur: New file/test for the above fix. * tests/rm/Makefile.am (TESTS): Add dir-nonrecur. 2005-11-01 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as POSIX 1002.1-2001 requires. * src/tail.c (parse_obsolete_option): Implement this. Problem reported by Vincent Lefevre. * src/touch.c (main): Pass PDS_PRE_2000 to posixtime. * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests. (test_vector): Add special cases for _POSIX2_VERSION, and regularize the old ones a bit. * tests/touch/obsolescent: Add y2000 test. 2005-10-31 Paul Eggert <eggert@cs.ucla.edu> * src/dd.c (skip): Fix off-by-one error reported by Theodoros V. Kalamatianos. 2005-10-30 Paul Eggert <eggert@cs.ucla.edu> * tests/mkdir/p-3: Require that the test be run as non-root. Problem and trivial fix reported by Theodoros V. Kalamatianos. 2005-10-28 Paul Eggert <eggert@cs.ucla.edu> * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the boundary between DEST and SOURCE in the result. 2005-10-26 Dmitry V. Levin <ldv@altlinux.org> * src/md5sum.c (main) [!O_BINARY]: Changed default read mode back to text, to sync with documentation and for backwards compatibility. 2005-10-25 Jim Meyering <jim@meyering.net> * tests/dircolors/simple (other-wr): Add an explicit test for the dircolors bug (NULL-dereference) fixed yesterday. 2005-10-24 Jim Meyering <jim@meyering.net> * src/tac.c (tac_file): When determining whether a file is seekable, also test whether it is a tty. Using only the lseek-based test would give a false positive on Solaris. Reported by Peter Fales. 2005-10-24 Dmitry V. Levin <ldv@altlinux.org> * tests/install/d-slashdot: New test, for "install -d" failure. * tests/install/Makefile.am (TESTS): Add d-slashdot. * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure. * tests/mkdir/Makefile.am (TESTS): Add p-slashdot. 2005-10-24 Jim Meyering <jim@meyering.net> * src/dircolors.c (ls_codes): Add missing comma. Anonymous report and patch from http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849 * src/dircolors.c: Add compile-time assertion that the slack_codes and ls_codes arrays have the same number of elements. This would have prevented the above-fixed bug. * src/expand.c (parse_tab_stops): Add a comment to make this function identical to the one in unexpand.c. * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function identical to the one in expand.c. * src/expand.c (next_file): Don't assume fopen cannot return stdin. 2005-10-23 Jim Meyering <jim@meyering.net> * src/md5sum.c (digest_check, main): Use ptr_align rather than a dangerous pointer-value-to-`unsigned' cast. * NEWS: mention the new sha* programs. * AUTHORS: Add new sha* programs. 2005-08-28 David Madore <david.madore@ens.fr> Add new programs: sha224sum, sha256sum, sha384sum, sha512sum. * README: Add their names to the list. * src/md5sum.c: Provide framework for computing sha-2 hashes. * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum): Rules for compiling sha-2 utilities (noinst_HEADERS): Remove checksum.h. * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x: New files. * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names. (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies. * tests/misc/sha224sum, tests/misc/sha256sum: New files. * tests/misc/sha384sum, tests/misc/sha512sum: New files. * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum, sha384sum, sha512sum test scripts here rather that each in its own directory. 2005-08-28 David Madore <david.madore@ens.fr> * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one of the FIPS test vectors). 2005-10-23 Jim Meyering <jim@meyering.net> * configure.ac: Use 6.0-cvs as the version string. * NEWS: Adjust accordingly. 2005-10-22 Jim Meyering <jim@meyering.net> * Version 5.92. * configure.ac: Remove -cvs suffix from version string. * NEWS: Add today's date. * tests/mkdir/writable-under-readonly: New test, neither run nor distributed via tarballs. 2005-10-20 Jim Meyering <jim@meyering.net> * tests/chmod/octal: New file/test, to exercise today's lib/modechange.c fix. * tests/chmod/Makefile.am (TESTS): Add octal. * NEWS: Mention this chmod fix as well as the dircolors one. 2005-10-18 Paul Eggert <eggert@cs.ucla.edu> * src/dircolors.c (append_quoted): Quote ' correctly. Problem reported by Eric Blake. 2005-10-19 Jim Meyering <jim@meyering.net> * tests/dircolors/simple (quote): Add test for the above fix. 2005-10-18 Jim Meyering <jim@meyering.net> * tests/chgrp/basic: Add a comment explaining (probably) why this test fails on OpenBSD 3.2 when run in an NFS-mounted directory. 2005-10-17 Jim Meyering <jim@meyering.net> * configure.ac: Use 5.92-cvs as the version string. * NEWS: Adjust accordingly. * Makefile.maint (my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz) here, so that if it's missing we fail earlier. 2005-10-16 Jim Meyering <jim@meyering.net> * Version 5.91. * Makefile.maint (VERSION_REGEXP): New variable. (news-date-check, changelog-check): Use tighter regular expressions. * configure.ac: Remove -cvs suffix from version string. * NEWS: Add today's date. * NEWS: Mention the `mkdir -p' bug fix. 2005-10-15 Jim Meyering <jim@meyering.net> * src/who.c (usage): Undocument deprecated --idle (-i) option. * src/df.c (main): Warn about the deprecated --kilobytes option. * src/ls.c (decode_switches): Likewise. * src/du.c (usage): Document -m, once again. (main): Warn about use of deprecated long options: --kilobytes and --megabytes. * src/tail.c (parse_options): Remove --allow-missing option. You can use --retry instead. * src/stat.c (main): Remove --link -l options. You can use --dereference (-L) instead. 2005-09-30 Eric Blake <ebb9@byu.net> (tiny change) * man/Makefile.am (.x.1): Remove temp directory first. * NEWS: Document dircolors change of 2005-09-05. 2005-10-07 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (sortlines_temp): Redo previous change, since I'm no longer confident that the m4/stdbool.m4 patch suffices. 2005-10-06 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (sortlines_temp): Undo previous change, since today's change to m4/stdbool.m4 should catch it. 2005-10-06 Jim Meyering <jim@meyering.net> * TODO: rm: add support for a -I option, like that from FreeBSD's. 2005-10-05 Jim Meyering <jim@meyering.net> * src/sort.c (sortlines_temp): Declare temporary as `int' rather than `bool' to work around AIX 5.3 compiler bug in 64-bit mode. From James Lemley. 2005-10-03 Jim Meyering <jim@meyering.net> * src/factor.c (MAX_N_FACTORS): Define in terms of sizeof (uintmax_t) rather than hard-coding to 128. From Thomas M.Ott. 2005-10-02 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_unmarked_diagnostics): Search only cvs-controlled files. * .x-sc_unmarked_diagnostics: New file. * Makefile.am (EXTRA_DIST): Add it. 2005-10-01 Jim Meyering <jim@meyering.net> * src/factor.c (main): Don't stop processing arguments upon the first invalid one. Suggestion from Eric Blake * tests/factor/basic: Add a test for this. 2005-09-30 Jim Meyering <jim@meyering.net> * configure.ac: Use 5.91-cvs as the version string. * NEWS: Adjust accordingly. 2005-09-29 Paul Eggert <eggert@cs.ucla.edu> * src/dd.c (main): Don't assume size_t has the same width as unsigned long. Problem reported by Eric Blake. * NEWS: Clarify "tail - f" example. 2005-09-29 Jim Meyering <jim@meyering.net> * Version 5.90. * configure.ac: Remove -cvs suffix from version string. * NEWS: Add today's date. * NEWS: Mention this bug fix: stat now exits nonzero if a file operand does not exist 2005-09-28 Paul Eggert <eggert@cs.ucla.edu> * src/system.h (LONGEST_MODIFIER): Use ULONG_MAX_LT_ULLONG_MAX instead of ULLONG_MAX, as the latter doesn't work with GCC 2.7.2.1. 2005-09-28 Jim Meyering <jim@meyering.net> * configure.ac: Use 5.90-cvs as the version string, not 5.3.1-cvs. * NEWS: Adjust accordingly. * README: Remove note about FreeBSD make test failure. 2005-09-28 Paul Eggert <eggert@cs.ucla.edu> * tests/install/trap: Work around a bug in FreeBSD 5.0. 2005-09-28 Jim Meyering <jim@meyering.net> * README: Warn about a (now-)known problem on FreeBSD 5.0: 2005-09-26 Paul Eggert <eggert@cs.ucla.edu> * src/touch.c (touch): Handle "touch -c - >&-" by checking for EBADF and ENOSYS. Do not pass "-" to futimens; pass NULL instead. If close (STDIN_FILENO) fails, report the error separately instead of letting the 'close' pollute errno. * tests/touch/empty-file: Test "touch -" too. * tests/touch/no-create-missing: Likewise. * tests/touch/read-only: Likewise. 2005-09-26 Jim Meyering <jim@meyering.net> * tests/touch/read-only: New test, for root of chmod/usage failure. * tests/touch/Makefile.am (TESTS): Add read-only. Work around the root cause of alpha-linux-1.sf.net test failure. * tests/chmod/usage: Remove *all* files before each inner loop iteration. Otherwise, with a touch program that fails on unwritable files, (this happens at least on linux-2.2.20) a -w file left behind from a previous iteration could cause a spurious test failure. 2005-09-25 Paul Eggert <eggert@cs.ucla.edu> * tests/chmod/usage: Undo the s/files/file/ change, but add comments about why the old version was desired. 2005-09-25 Jim Meyering <jim@meyering.net> * tests/ls-2/tests (setuid-etc): Work around output mismatch when a just-created test file cannot be made set-group-ID. Avoid test failures on alpha-linux-1.sf.net. * tests/chmod/usage: Use newer trap and tmpdir-creation framework. Fix apparent typos (s/files/file/) in inner loop. 2005-09-24 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "touch -" now touches standard output. * src/touch.c (touch): Implement this. (usage): Document this. * src/copy.c (HAVE_FCHMOD, HAVE_FCHOWN): Define to 0 if not defined. (copy_reg): New args CHOWN_SUCCEDED and DST_SB. All callers changed. Add a "goto close_src_and_dst_desc;" that was missing in the previous patch. (copy_reg) [HAVE_FCHOWN]: Prefer fchown to chown. (copy_reg) [HAVE_FCHMOD]: Prefer fchmod to chmod. (copy_internal): Don't invoke chown if fchown worked, and likewise for chmod and fchmod. 2005-09-24 Jim Meyering <jim@meyering.net> * src/shred.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H', for consistency with gnulib. * src/dircolors.c: Likewise. * Makefile.maint (sc_no_if_have_config_h): New rule. (syntax-check-rules): Add it. .x-sc_no_if_have_config_h: New file. * Makefile.am (EXTRA_DIST): Add it. * tests/seq/basic (eq-wid-1, eq-wid-2): Disable these tests for now. They fail with non-gcc compilers and some combinations of options and libraries on Solaris systems. * tests/misc/date (uninit-64): Restore this test. Add start-up code to detect, and work around, the cases in which the test might fail. 2005-09-24 Paul Eggert <eggert@cs.ucla.edu> * tests/misc/date (uninit-64): Remove this test. It wasn't portable in theory (it doesn't work on hosts where 'int' is 64 bits, example) or in practice (Solaris 8 localtime returns garbage in tm_year for the specified date, but that's not coreutils's fault). 2005-09-23 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c (copy_reg): Preserve time stamps if x->preserve_timestamps is set, using futimens so that we needn't resolve the path again. (copy_internal): Don't preserve time stamps if copy_reg did it already. * src/install.c (change_timestamps): First arg is source struct stat, not file name. All uses changed. (install_file_in_file): Stat the source file. Don't try to change time stamps if copy_file did it. * src/system.h: Don't include utime.h; not needed. (struct utimbuf) [!defined HAVE_STRUCT_UTIMBUF]: Remove; not needed. 2005-09-23 Jim Meyering <jim@meyering.net> * src/od.c: Use `verify' to ensure that our hard-coded bytes_to_*_digits arrays are long enough. Of course, 17+-byte integral types aren't on the near horizon, but just in case... (MAX_INTEGRAL_TYPE_SIZE): Move definition to precede new first use. (bytes_to_oct_digits, bytes_to_signed_dec_digits): (bytes_to_unsigned_dec_digits, bytes_to_hex_digits): Change base type from `char' to the clearer `unsigned int'. 2005-09-21 Paul Eggert <eggert@cs.ucla.edu> * src/rmdir.c (EEXIST, ENOTEMPTY): Remove unused macros. Sync from gnulib. * src/dircolors.c: Include strcase.h. * src/pinky.c: Include canon-host.h rather than declaring canon_host ourselves. * src/who.c: Likewise. * src/system.h (X2NREALLOC, X2REALLOC): Moved here from ../lib/xalloc.h, with args properly parenthesized, and using verify_expr rather than the old VERIFY_EXPR. 2005-09-21 Jim Meyering <jim@meyering.net> * tests/install/basic-1: Require that this test be run as non-root. Otherwise, it fails due to the fact that the chmod 0 . doesn't affect root. 2005-09-20 Jim Meyering <jim@meyering.net> * src/remove.c (write_protected_non_symlink): Change comment to agree with the code. 2005-09-19 Jim Meyering <jim@meyering.net> * src/remove.c (remove_dir): Return RM_ERROR, not `1', when attempting to remove `/' with --preserve-root. * src/remove.c (remove_cwd_entries): Syntactic tweak: move an assignment out of an if-expression. 2005-09-17 Jim Meyering <jim@meyering.net> * src/extract-magic (usage): Request that additions be sent to bug-coreutils@gnu.org, too. 2005-09-16 Jim Meyering <jim@meyering.net> * tests/misc/date (rfc822-1): Compensate for Solaris 5.9's /bin/sh, which emits a diagnostic to stderr when this test's LC_ALL=de_DE setting cannot be honored. * tests/misc/date (subfmt-up1): Put quotes around format string to protect `^' from interpretation by some shells. Add a use of OUT_SUBST to compensate for Solaris strftime's slightly different formatting of %c. * src/dd.c (main): When failing to truncate, mention both the seek block count and the block size, in case the block size is very large. Now `make distcheck' should pass, once again. 2005-09-16 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c: Include stat-time.h. (copy_internal): Use its functions instead of the obsolete TIMESPEC_NS macro. * src/cp.c (re_protect): Likewise. * src/date.c (main): Likewise. * src/du.c (struct duinfo, duinfo_init, duinfo_set, duinfo_add): (show_date, print_size, process_file): Likewise. * src/install.c (change_timestamps): Likewise. * src/ls.c (cmp_ctime, cmp_mtime, cmp_atime, print_long_format): Likewise. * src/pr.c (init_header): Likewise. * src/stat.c (human_time, print_stat): Likewise. * src/tail.c (record_open_fd, tail_forever): Likewise. * src/test.c (get_mtime, binary_operator): Likewise. * src/touch.c (touch, main): Likewise. * src/test.c (get_mtime): Renamed from age_of. All uses changed. 2005-09-16 Jim Meyering <jim@meyering.net> Date no longer needs to allocate virtual memory to do its job, so it can no longer fail due to an out-of-memory condition. * src/date.c: Include fprintftime.h. Don't include strftime.h or xanstrftime.h -- no longer needed. (show_date): Use new fprintftime function rather than xanstrftime. Correct comment: this function no longer handles a NULL format string. * src/du.c: Likewise. * NEWS: Mention this. * tests/misc/date (subfmt-up1): Test the combination of the to-upper-case modifier (^) and a conversion specifier that expands to a string containing lower case characters. 2005-09-15 Paul Eggert <eggert@cs.ucla.edu> * NEWS: uname -a no longer generates the -p and -i outputs if they are unknown. * src/uname.c (usage): Document this. (main): Implement this. 2005-09-14 Jim Meyering <jim@meyering.net> * tests/misc/date (tz-5w, tz-5wf): Test new %:z format with a field width. 2005-09-13 Paul Eggert <eggert@cs.ucla.edu> * src/dd.c: Detect some very unlikely buffer overflows. (INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP): New macros. (MAX_BLOCKSIZE): Now accepts an arg. All uses changed. (page_size): New var. (scanargs, skip, main): Use more-straightforward way to detect overflow. (dd_copy): Use page_size rather than invoking getpagesize. Use INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP. (main): Set page_size. Avoid a call to stat in the usual case where ftruncate succeeds. * src/expr.c (docolon): Add IF_LINT check to avoid GCC warning. * configure.ac: Don't invoke AC_CONFIGURE_HOST directly; AB_INIT does it for us, and our invocation evokes a diagnostic from Autoconf 2.59. * NEWS: date has a new --rfc-3339 option, and the old --iso-8601 option is deprecated. date, du, ls, and pr also have new time format specifiers %:z, %::z, %:::z. * src/date.c (TIME_SPEC_DATE): No longer needs to be nonzero, so remove the "=1". (TIME_SPEC_HOURS, TIME_SPEC_MINUTES): Must be at end now, so put them there. (time_spec_string, time_spec): Hours and minutes must be at start now, so put them there. (rfc_2822_format): Now a string constant, not a boolean. All uses changed. (iso_8601_format, rfc_format): Remove. (RFC_3339_OPTION): New constant. (long_options): Add --rfc-3339. (usage): Add --rfc-3339. Don't mention --iso-8601. Mention %:z, %::z, %:::z. (main): Simplify calculation of 'format'; it was getting too hairy to follow. Add --rfc-3339. (show_date): Assume format arg is not NULL, which is the case now. The default code is moved to 'main'. This simplifies things and allows the default to be calculated just once. * tests/misc/date: Add tests for --rfc-3339, %:z, %::z, %:::z. 2005-09-13 Jim Meyering <jim@meyering.net> * Makefile.maint (GZIP_ENV): Add --rsyncable option. (makefile-check): Escape a `$' in a diagnostic. * configure.ac: Use AB_INIT (from autobuild). 2005-09-11 Jim Meyering <jim@meyering.net> * src/factor.c (usage): Remove leading spaces in 2-line description, so that help2man doesn't mangle it. Reported by Justin Pryzby. 2005-09-10 Jim Meyering <jim@meyering.net> csplit could produce corrupt output, given input lines longer than 8KB * src/csplit.c (load_buffer): Don't read from free'd memory when handling lines longer than the initial buffer length. (save_to_hold_area): Don't leak the previous hold_area buffer. Reported by Tristan Miller and Luke Kendall. * NEWS: Mention this. * tests/misc/csplit: New test for this. * src/csplit.c (load_buffer): Avoid integer overflow in buffer size calculations for very long lines. 2005-09-09 Paul Eggert <eggert@cs.ucla.edu> Support regular expressions in 64-bit code correctly, by importing the latest gnulib regexp code, and not assuming that sizes fit in 32 bits. * src/csplit.c (process_regexp): Store match length in regoff_t, not int. Assume that negative return values less than -2 represent regoff_t overflow. * src/expr.c (docolon): Likewise. * src/nl.c (proc_text): Likewise. * src/ptx.c (SKIP_SOMETHING, find_occurs_in_text): Likewise. * src/tac.c (tac_seekable): Likewise. * src/expr.c (docolon) Check for size calculation overflow. * src/nl.c (build_type_arg): Likewise. * src/ptx.c (matcher_error): New function. (SKIP_SOMETHING): Use it to report matcher errors. (alloc_and_compile_regex): No longer any need to worry about int versus size_t mismatch. * NEWS: Document "niceness" vs "nice value". * configure.ac (utils_cv_func_setpriority): Simplify the tests. Define HAVE_NICE rather than NICE_PRIORITY (since a niceness is not a priority); all uses changed. * src/nice.c (main): Hoist errno=0 outside the ifdef. 2005-09-09 Jim Meyering <jim@meyering.net> * tests/misc/date (neg-secs2, fill-1, fill-2): Add new tests. 2005-09-07 Paul Eggert <eggert@cs.ucla.edu> Use the phrase "niceness" instead of "nice value" to describe the biased nice value that can go negative. This corrects a discrepancy with POSIX, which states that nice values are nonnegative. * src/nice.c (GET_NICENESS): Renamed from GET_NICE_VALUE. All uses changed. (usage): Say "niceness" rather than "nice value". (main): Say "niceness" rather than "priority" (which is something else entirely nowadays). 2005-09-07 Jim Meyering <jim@meyering.net> * src/du.c (time_args): Use NULL in place of 0. 2005-09-05 Jim Meyering <jim@meyering.net> * src/dcgen: Don't omit comments until there is better documentation. Colorize set-user-ID and set-group-ID files and sticky, other-writable, and sticky-and-other-writable directories. * src/dircolors.c (slack_codes): Add new dircolors mode names. (ls_codes): Add corresponding two-letter ls mode strings. * src/ls.c (indicator_no[]): Add new symbols. (indicator_name[]): Add corresponding mode strings. (color_indicator[]): Add an entry for each new mode string. (print_color_indicator): Honor new types. * src/dircolors.hin: Document the default colors for the new strings. From Mike Frysinger, based on a patch from Fedora. * tests/ls-2/tests (setuid-etc): New test, for the above. 2005-08-29 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" exists and "-FOO" is not a valid option. * src/rm.c: Include lstat.h, quotearg.h. (diagnose_leading_hyphen): New function. (main): Use it. 2005-08-27 Jim Meyering <jim@meyering.net> * src/du.c: Go ahead and leave the patch in (i.e., revert today's change). It doesn't cause a problem after all, since --exclude-from=- is always handled before --files0-from=F. * src/du.c: Revert the du.c part of the change from 2005-07-02: That change (to reopen stdin on F for --files0-from=F) made it so --exclude-from=- and --files0-from=F would not work together. 2005-08-23 Jim Meyering <jim@meyering.net> * configure.ac: Use `5.3.1-cvs' as the version string. * NEWS: Adjust accordingly. * Makefile.maint (sc_useless_cpp_parens): New rule. (syntax-check-rules): Add it. * .x-sc_useless_cpp_parens: New file. * Makefile.am (EXTRA_DIST): Add it. * src/od.c: Include <float.h> unconditionally. * src/uptime.c (print_uptime): Remove unnecessary parens in `#if defined (SYMBOL)' expressions. * src/system.h: Likewise. * src/hostname.c: Likewise. * src/su.c: Likewise. * src/test.c: Likewise. 2005-08-22 Jim Meyering <jim@meyering.net> * src/tail.c (xwrite_stdout): Rename from xwrite. Remove always- equal-to-STDOUT_FILENO parameter and associated assertion. Adjust all callers. 2005-08-21 Jim Meyering <jim@meyering.net> * src/ln.c (do_link): If ln is invoked with --interactive (-i), encounters an existing destination file, and gets an affirmative response, then first try to unlink the destination file rather than simply failing. Suggestion from Karl Berry. FIXME: add test for this * src/ln.c (main): Declare `target_directory' with const attribute. * src/du.c (time_style): Add `const' attribute. (tot_dui): Remove unnecessary (and too-short) initializer list. 2005-08-19 Jim Meyering <jim@meyering.net> * src/sort.c (usage) [-b,-t]: Ensure that there are at least two spaces between each option and the corresponding description -- this lets help2man format entries properly. Reported by Edward Welbourne. 2005-08-17 Jim Meyering <jim@meyering.net> * src/sort.c (usage): Fix typo s/POS 2/POS2/. Reported by Edward Welbourne. * tests/misc/date [neg-secs]: New test for today's strftime.c bug fix. * tests/misc/date: Remove terminating "\n"s once again. Automatically add them whenever EXIT != 0. 2005-08-16 Paul Eggert <eggert@cs.ucla.edu> * src/df.c (show_dev): New arg STAT_FILE. All uses changed. This sometimes gives better results on networked file systems that do not respect POSIX semantics. Problem reported by Bruno Haible. 2005-08-15 Jim Meyering <jim@meyering.net> Don't print uninitialized data (or anything else) to stdout upon localtime failure. * src/date.c (show_date): Remove stray `puts (buf);' (debugging?) from the 2004-02-02 change. * tests/misc/date (uninit-64): New test for the above. Rewrite all other OUT strings to include the terminating "\n". 2005-08-14 Jim Meyering <jim@meyering.net> * src/md5sum.c (usage): Fix typo s/formated/formatted/ reported by Norbert Kiesel. Use one fewer file descriptor in a common case. * src/touch.c: Include "fd-reopen.h", rather than "fcntl--.h". Use fd_reopen rather than open. 2005-08-14 James Youngman <jay@gnu.org> * src/test.c (age_of): Return the nanoseconds part of the timestamp, if available. (binary_operator) [-nt, -ot]: Use nanosecond values to break ties. 2005-08-14 Jim Meyering <jim@meyering.net> * src/ls.c (long_time_expected_width): Revert last change, just to be paranoid, and add a comment explaining why. Paul Eggert mentioned the possibility. * src/wc.c: Don't define mbrtowc at all. If mbstate_t is not defined, then AC_TYPE_MBSTATE_T will define it to `int' for us. Now wc.c really does compile on HP-UX 11.23. 2005-08-13 Jim Meyering <jim@meyering.net> * tests/date: Remove directory * tests/Makefile.am (SUBDIRS): Remove date. * configure.ac (AC_CONFIG_FILES): Remove tests/date/Makefile. * tests/Coreutils.pm: New keywords, ENV and ENV_DEL, to support tests/misc/date. With today's additions, the generated shell script, tests/date/date-tests had becoming far too large (over 350KB), so use the superior-but-perl-requiring framework instead. * tests/date/Test.pm: Move all tests from here... * tests/misc/date: ...to this new file. * tests/misc/Makefile.am (TESTS): Add date. * tests/date/Test.pm (test_vector) [cross-dst]: New test for just-fixed getdate.y bug. * tests/date/Test.pm (test_vector): Add 364 more tests like the above. Remove unused $sunos4 variable. 2005-08-12 Jim Meyering <jim@meyering.net> * src/nohup.c (main): Explain why we reopen stdin for write-only access. * src/ls.c (long_time_expected_width): Don't test for failed localtime. That cannot happen when the result date's year is in range. Add an assertion instead. * src/ls.c (sort_files): Use cleaner `sizeof *VAR_NAME' rather than `sizeof (TYPE_NAME)'. * src/ptx.c (sort_found_occurs, digest_word_file): Likewise. (alloc_and_compile_regex): Likewise. * src/wc.c: Test `!defined HAVE_MBSTATE_T' rather than `defined mbstate_t' to detect missing support for mbstate_t. The latter didn't work for HP-UX 11.23. Add bulletproofing in case stdin is closed. * src/dircolors.c (have_read_stdin): Remove global variable. (dc_parse_stream): Always use stdin (freopen, if needed) rather than sometimes using fopen to get a new file descriptor. Call fclose unconditionally. (main): Don't close stdin here. If needed, now it's already done by dc_parse_stream. * src/dircolors.c (dc_parse_file): Remove comment about now-removed OPENOPTS. * src/fold.c (fold_file): Cosmetic: use X2REALLOC rather than x2realloc. * src/pr.c (main): Likewise. * src/csplit.c (new_control_record): Cosmetic: use X2NREALLOC (only two arguments) rather than x2nrealloc (with three). * src/cut.c (ADD_RANGE_PAIR): Likewise. * src/expand.c (add_tab_stop): Likewise. * src/join.c (extract_field, getseq): Likewise. * src/od.c (decode_format_string): Likewise. * src/sort.c (add_temp_dir): Likewise. * src/unexpand.c (add_tab_stop): Likewise. * src/pr.c (main): Cosmetic: use '\0' in place of 0. 2005-08-02 Jim Meyering <jim@meyering.net> * src/date.c: Include "xanstrftime.h". (show_date): Use xanstrftime instead of open-coding it. * src/du.c: Likewise. 2005-07-29 Jim Meyering <jim@meyering.net> * src/date.c (show_date): Remove now-unnecessary code that treated an empty format string as a special case. * tests/date/Test.pm (empty-format): New test, for this case. 2005-07-19 Jim Meyering <jim@meyering.net> * src/md5sum.c (usage): Adjust printf argument list to match new format string. 2005-07-19 Paul Eggert <eggert@cs.ucla.edu> * NEWS: md5sum --check now accepts multiple input files, and similarly for sha1sum. Extension suggested by Chris Girling. * src/md5sum.c (usage, main): Support this new usage. 2005-07-18 Paul Eggert <eggert@cs.ucla.edu> Fix a problem noted by James Youngman: VPATH-style builds don't work because of po file problems. * src/Makefile.am (BUILT_SOURCES): Remove false.c. (false.c): Remove; it's now a source file. * src/false.c: New file. * src/true.c (EXIT_STATUS): New macro. (PROGRAM_NAME, usage): Behave like "false" if EXIT_STATUS indicates. (usage): Remove "These option names may not be abbreviated." 2005-07-15 Paul Eggert <eggert@cs.ucla.edu> * src/nohup.c (main): Don't worry about POSIXLY_CORRECT. Today's Austin Group Minutes says that the GNU behavior will be put forward as proposed text for a future revision. 2005-07-13 Paul Eggert <eggert@cs.ucla.edu> * src/Makefile.am (nanosec_libs): Remove $(FESETROUND_LIBM); no longer needed. Problem reported by Jeff Bailey. 2005-07-12 Jim Meyering <jim@meyering.net> * Makefile.maint (copyright-check): Reflect rearrangement in version-etc files. 2005-07-11 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Binary input and output are now implemented more consistently. These changes affect only platforms like MS-DOS that distinguish between binary and text files. * src/cat.c (usage, main, long_options) [O_BINARY]: Remove support for -B. Use same rules as other programs to decide whether to use binary I/O, except that the -bensAE options always select text mode. * src/cat.c (main): Avoid setmode; use POSIX-specified routines instead. * src/cksum.c (cksum): Likewise. * src/head.c (head_lines, head_file): Likewise. * src/od.c (open_next_file): Likewise. * src/split.c (main): Likewise. * src/sum.c (bsd_sum_file, sysv_sym_file): Likewise. * src/tac.c (copy_to_temp, tac_file, main): Likewise. * src/tail.c (tail_bytes, tail_lines, tail_file, main): Likewise. * src/tee.c (tee): Likewise. * src/tr.c (main): Likewise. * src/wc.c (wc): Likewise. * src/copy.c (copy_reg): Always copy in binary mode. * src/expand.c (expand): Always copy in text mode. POSIX says the input and output must be text. * src/unexpand.c (unexpand): Likewise. * src/head.c (elide_tail_bytes_file, elide_tail_lines_file, head_bytes): (head_lines, head_file): Always use binary mode except for std tty. * src/md5sum.c (usage): Clarify whether text or binary is the default. (split_3, main): BINARY is now a 3-way value. All uses changed. (digest_file): Likewise. Clear *BINARY if we determine the file to be text. All uses changed. (main): Don't report a file to be binary if we actually read it as text in MS-DOS, because it was a terminal. * src/shred.c (wipefile): Always use binary mode. Clearly this never worked right on DOS! * src/system.h (setmode, fileno): Remove; no longer needed, we think. (SET_MODE, SET_BINARY, SET_BINARY2): Remove. [defined __DJGPP__]: Don't include <io.h> or <sys/exceptn.h>. * src/wc.c (wc_file): FILE might be null now. (main): Simplify code a bit, so that fewer places need the setmode fixes. 2005-07-09 Paul Eggert <eggert@cs.ucla.edu> * src/comm.c, src/csplit.c, src/dd.c, src/join.c, src/md5sum.c: * src/pr.c, src/sort.c, src/tee.c: Don't include stdio.h; no longer needed. 2005-07-08 Paul Eggert <eggert@cs.ucla.edu> Fix porting problems reported by Eric Blake. * configure.ac: Remove check for AC_HEADER_TIOCGWINSZ. * src/cat.c, src/ls.c, src/stty.c: Include stropts.h if available, because POSIX says that's where ioctl is declared. * src/cat.c: Use HAVE_SYS_IOCTL_H instead of _POSIX_SOURCE to decide whether to include <sys/ioctl.h>. * src/stty.c: Use only HAVE_SYS_IOCTL_H to decide whether to include <sys/ioctl.h>. * src/id.c (print_user): Don't assume uid fits in unsigned int. (print_group): Likewise, for gid. 2005-07-05 Paul Eggert <eggert@cs.ucla.edu> * src/system.h (DECIMAL_DIGIT_ACCUMULATE): Generate a hard error (not just a warning) if GCC is used and the types don't match. 2005-07-04 Paul Eggert <eggert@cs.ucla.edu> * src/system.h (VERIFY_W_TYPEOF): Remove; no longer needed. (DECIMAL_DIGIT_ACCUMULATE): Change last arg from T's maximum value to T itself. All callers changed. Check that T is unsigned, and that Accum is of type T. This fixes a bug in the unlikely case where SIZE_MAX <= INT_MAX, and it no longer requires typeof to do the proper validity checks. * src/od.c: Adjust to verify.h change. * src/system.h (VERIFY_W_TYPEOF): Likewise. 2005-07-04 Jim Meyering <jim@meyering.net> * src/system.h: Include "verify.h". * src/system.h (verify): Rename from VERIFY_EXPR, to be lower case, like assert. Use sizeof, rather than equivalent ((...)0), for it's slightly simpler syntax. Suggestions from Paul Eggert. (verify_decl): Rename from VERIFY. * src/od.c: Reflect name change. 2005-07-03 Jim Meyering <jim@meyering.net> * NEWS: cp and mv: the --reply=X option is deprecated Suggested by Bob Proulx, after numerous user complaints about how --reply=no appeared not to work. * src/mv.c (main): Using --reply now evokes a warning. (usage): Remove description of --reply. * src/cp.c (main): Using --reply now evokes a warning. (usage): Remove description of --reply. * tests/mv/i-link-no: Adjust for new diagnostic. * tests/mv/reply-no: Likewise. * src/printf.c (verify_numeric): Rename from verify. Update caller. 2005-07-03 Paul Eggert <eggert@cs.ucla.edu> * src/copy.h: Include "lstat.h" rather than rolling our own. * src/ls.c: Likewise. * src/remove.c: Likewise. 2005-07-02 Paul Eggert <eggert@cs.ucla.edu> Cleanup to isolate "safer" functions to a small part of the code. * src/comm.c: Include stdio--.h, not stdio-safer.h. (compare_files): Use fopen, not fopen_safer. * src/copy.c: Include fcntl--.h, not unistd-safer.h. (copy_reg): Don't call fd_safer; no longer needed now that we include fcntl--.h. * src/csplit.c: Include fd-reopen.h. Include stdio--.h, not stdio-safer.h. (input_desc): Remove. All uses changed to STDIN_FILENO. (set_input_file): Reopen stdin, to simplify code. (create_output_file): Use fopen, not fopen_safer. * src/dd.c: Include fd-reopen.h. (open_fd): Remove. All callers changed to use fd_reopen instead. * src/join.c: Include stdio--.h, not stdio-safer.h. (main): Use fopen, not fopen_safer. * src/md5sum.c: Include stdio--.h. (digest_check): Don't try to read both checksums and data from stdin. * src/nohup.c: Include fd-reopen.h. Include unistd--.h, not unistd-safer.h. (main): Use fd_reopen to simplify code. When replacing stdin, use "/dev/null" not "/", as that's less likely to go wrong these days. (main): Use dup, not dup_safer. * src/pr.c: Include stdio--.h, not stdio-safer.h. (open_file): Invoke fopen, not fopen_safer. * src/shred.c: Include fcntl--.h, not unistd-safer.h. (wipename, wipe_file): Don't use fd_safer; no longer needed now that we include fcntl--.h. * src/sort.c: Include stdio--.h rather than stdio-safer.h. Include stdlib--.h. Do not include unistd-safer.h. (create_temp_file): Don't call fd_safer; no longer needed now that we include *--.h files. (xfopen): Don't call fopen_safer, for similar reasons. * src/split.c: Include fcntl--.h rather than unistd-safer.h. Include fd-reopen.h. (input_desc): Remove. All uses replaced by STDIN_FILENO. (cwrite): Don't call fd_safer; no longer needed now that we include fcntl--.h. (main): Reuse stdin rather than opening a new one. This saves a file descriptor. * src/stty.c: Include fd-reopen.h. (display_all, display_settings, display_window_size, set_window_size): Remove fd arg, since we now assume stdin. All callers changed. (main): Reuse stdin rather than opening a new one. This saves a file descriptor. * src/tac.c: Include stdlib--.h rather than unistd-safer.h. (copy_to_temp): Don't call fd_safer; no longer needed now that we include stdlib--.h. * src/tail.c: Include fcntl--.h, not unistd-safer.h. (recheck, tail_file): Don't call fd_safer; no longer needed now that we include fcntl--.h. * src/tee.c: Include stdio--.h, not stdio-safer.h. (tee): Don't call fopen_safer; no longer needed now that we include stdio--.h. * src/touch.c: Include fcntl--.h, not unistd-safer.h. (touch): Don't call fd_safer; no longer needed now that we include fcntl--.h. * src/du.c (main): Reuse stdin rather than opening a new stream. This saves a file descriptor. * src/uniq.c: Don't include stdio-safer.h; no longer needed. (writeline): Remove stream arg; we now always output to stdout. All callers changed. (check_file): Reuse stdout rather than opening a new stream. This saves a file descriptor. 2005-07-02 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_obsolete_symbols): New rule. (syntax-check-rules): Add it to the list. * Makefile.am (EXTRA_DIST): Add .x-sc_obsolete_symbols. * .x-sc_obsolete_symbols: New file. 2005-07-01 Jim Meyering <jim@meyering.net> * src/system.h: Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally, and don't include <sys/file.h>). * src/system.h: Likewise for HAVE_UNISTD_H. 2005-06-30 Jim Meyering <jim@meyering.net> * src/cp.c: Add uses of ARGMATCH_VERIFY to ensure that corresponding option string and value arrays are consistent. * src/date.c: Likewise. * src/du.c: Likewise. * src/ls.c: Likewise. cp.c and date.c each had a harmless trailing `, 0' (now-removed) in a value list. * src/system.h (VERIFY): Guard definition with #ifndef. (VERIFY_EXPR): Undef before defining. 2005-06-29 Jim Meyering <jim@meyering.net> * src/pr.c (main, store_char): Use X2REALLOC rather than x2realloc. * src/du.c (show_date): Likewise. * src/date.c (show_date): Likewise. * src/od.c (dump_strings): Likewise. * src/sort.c (fillbuf): Likewise. * src/chmod.c (main): Likewise. * src/system.h (VERIFY): Rewrite to use string-concatenation and __LINE__ so as not to require a struct name parameter. (GL_CONCAT, GL_CONCAT2): Define helper macros. * src/od.c: Update sole use. * src/ls.c (gobble_file): Use stat.st_author, not stat.st_uid when computing the --author column width. This bug might have resulted in misaligned columns when using the --author option on the Hurd. Spotted by Arnold Robbins. 2005-06-28 Jim Meyering <jim@meyering.net> * src/pr.c (main, store_char): Use x2realloc on 1-byte base types, not x2nrealloc. The former is a little more concise and readable. N.B. this sort of transformation is ok only when the base type is unlikely ever to change to a multibyte type. * src/du.c (show_date): Likewise. * src/date.c (show_date): Likewise. * src/od.c (dump_strings): Likewise. * src/sort.c (fillbuf): Likewise. 2005-06-24 Jim Meyering <jim@meyering.net> * src/mv.c (usage): Clarify how --reply=no works. 2005-06-23 Paul Eggert <eggert@cs.ucla.edu> Address the following "du" issues: - The option name "--last-time=TYPE" is different from the ls's option "--time=TYPE" with a similar meaning. I assume this wasn't intended. - --time-style implies --time, but this is not true for "ls". It's better to be consistent. - Since we don't have POSIX compatibility concerns, there's no need for the "posix-" styles, or for support of styles with newlines, or for the "locale" style, except for parsing the TIME_STYLE environment variable. - It's cleaner (and these days, no less efficient) to use functions rather than macros when possible. - struct duinfo doesn't need a 'valid' flag; you can simply use a time stamp that is less than all valid time stamps. - The code needs a bit of reformatting to fit the usual GNU style. * NEWS: du's --last-time option is now --time. * doc/coreutils.texi (ls invocation): Fix typo: --time=use is equivalent to --time=atime, not --time=ctime. (ls invocation, du invocation): Fix typo: --time-style=long-iso is equivalent to a time style with a leading "+". (du invocation): --last-time is now --time. --time-style no longer implies --time. The locale and posix- stuff now works only for TIME_STYLE, not for --time-style. Give equivalent format for --time-style=iso. * src/du.c: Do not include hard-locale.h. (struct duinfo): Remove 'valid' member. All uses changed to use negative nsec instead. (DUIINFO_INI, DUINFO_SET, DUINFO_ADD): Remove. (duinfo_init, duinfo_set, duinfo_add): New functions, taking the role of the removed macros. (opt_time): Renamed from opt_last_time. All uses changed. (TIME_OPTION): Renamed from LAST_TIME_OPTION. All uses changed. (long_options, usage): Rename --last-time to --time. (locale_time_style): Remove. (time_style_args, time_style_types, usage): Remove support for --time-style=locale. (show_date): Now returns void, since nobody looked at the result. Assume FORMAT is not null. An empty FORMAT now outputs an empty time. Simplify nstrftime invocation. (main): Put in ls compatibility workarounds only for TIME_STYLE, not for --time-style. Omit unnecessary space in iso time style. 2005-06-23 Jim Meyering <jim@meyering.net> * src/du.c (time_format): Add `const' attribute. * src/date.c (show_date): Use puts rather than printf ("%s\n",. * src/du.c (show_date): Rename local `time_format' so as not to shadow the file-scoped global by that name. (show_date): Add a FIXME comment. * src/du.c: Include hard-locale.h and strftime.h. (DUINFO_INI, DUINFO_SET, DUINFO_ADD): Enclose body in `do {...} while (0)', not just `{...}'. Adjust uses (add semicolons). Adjust formatting, indentation. (usage): Tweak formatting to maintain more or less constant indentation. 2005-06-14 William Brendling <wbrendling@gmail.com> * src/du.c: Add --last-time and --time-style options. 2005-06-22 Paul Eggert <eggert@cs.ucla.edu> * tests/umask-check: New file. * tests/Makefile.am (EXTRA_DIST): Add umask-check. * tests/mkdir/perm: Use umask-check. * tests/cp/cp-parents: Likewise, instead of using chmod as described below. Problem reported by Kevin Mudrick. 2005-06-22 Jim Meyering <jim@meyering.net> Make rmdir produce diagnostics like this: rmdir: /tmp: Permission denied not like this: rmdir: `/tmp': Permission denied * src/rmdir.c: Include "quotearg.h", not "quote.h". (remove_parents, main): Use quotearg_colon, not quote. 2005-06-22 Paul Eggert <eggert@cs.ucla.edu> * tests/cp/cp-parents: Use chmod to work around some hosts with ACL problems. Problem reported by Kevin Mudrick. 2005-06-21 Jim Meyering <jim@meyering.net> * tests/du/deref-args: Use --apparent-size to avoid the vagaries of counting blocks. Kevin Mudrick reported that this test would fail on an nfs-mounted directory where attribute-caching is turned on. 2005-06-19 Jim Meyering <jim@meyering.net> * src/tac.c (tac_mem, tac_stdin_to_mem): Remove #if-0'd functions. * src/shred.c (usage): Use `file system', not `filesystem'. 2005-06-18 Jim Meyering <jim@meyering.net> * src/tr.c (unquote): Remove unnecessary `' quotes from a diagnostic. 2005-06-17 Jim Meyering <jim@meyering.net> * src/shred.c (usage): Clarify that shred works on an ext3 file system as long as it's not in data=journal mode. Tiny change by Mark Melahn. 2005-06-16 Paul Eggert <eggert@cs.ucla.edu> * src/hostid.c (main): Don't print fewer than 8 digits, or spurious leading "f"s. "f" problem reported by Tim Waugh. * NEWS: Document this. 2005-06-16 Jim Meyering <jim@meyering.net> Don't embed `this'-style quotes in format strings. * src/tr.c: Rather than this: error (..., "...`%s'...", arg); do this: error (..., "...%s...", quote (arg)); * src/od.c, src/tr.c, src/csplit.c, src/date.c, src/hostname.c: * src/join.c, src/ptx.c, src/seq.c, src/sort.c, src/split.c: * src/split.c, src/tail.c: Likewise. * src/sleep.c: Include "quote.h". Remove hard-coded quotes, as above. * src/nice.c, src/printf.c, src/fold.c, src/pr.c: Likewise. * src/factor.c, src/cat.c, src/expr.c, src/stty.c: Likewise. * src/mv.c: Finally remove support for --version-control=S (-V). It was deprecated nearly 6 years ago and has been warning users to switch to --backup=S since fileutils-4.0j. * src/cp.c, src/install.c, src/ln.c: Likewise. 2005-06-15 Jim Meyering <jim@meyering.net> * src/install.c (main): Fix my typo: s/argv[optind]/file[i]/. * tests/install/basic-1: Ensure that each `-d'-specified directory is created. Ensure that rel-named dirs are not created when chdir($PWD) fails. * tests/mkdir/p-3: Add a test for just-fixed bug in mkdir-p.c. 2005-06-14 Paul Eggert <eggert@cs.ucla.edu> Improve diagnostics for restore_cwd failure. * src/install.c (main): Standardize on a diagnostic for restore_cwd failure, and report errno. (install_file_in_file_parents): Fail if restore_cwd fails and one of the files is relative. This fixes a bug (albeit unlikely). * src/mkdir.c (create_parents): Remove static var (now local to 'main'). (main): Standardize on a diagnostic for restore_cwd failure, and report errno. Don't bother to check cwd_errno unless create_parents. Use mkdir rather than make_dir; it's simpler. * src/install.c (main): Adjust to new make_dir_parents convention. * src/mkdir.c (main): Likewise. 2005-06-14 Jim Meyering <jim@meyering.net> * tests/mkdir/p-3: Ensure mkdir succeeds if the following argument is an absolute directory name. * Makefile.maint (my-distcheck): Add -Wall to the list of options that are used with -Werror. This target is not intended for general use. 2005-06-13 Jim Meyering <jim@meyering.net> * src/mkdir.c (main): Give a diagnostic for -- and skip -- each relative directory name after make_dir_parents fails to restore the working directory. Before, `mkdir -p' could create directories in the wrong place in unusual circumstances. * src/install.c (main): Likewise. (install_file_in_file_parents): Update make_dir_parents caller. * tests/mkdir/p-3: New test for today's mkdir.c/mkdir-p.c bug fixes. * tests/mkdir/Makefile.am (TESTS): Add p-3. 2005-06-10 Paul Eggert <eggert@cs.ucla.edu> Act on the Austin Group's response yesterday to XCU ERN 63; see <http://www.opengroup.org/austin/docs/austin_260.txt>. * NEWS: ls no longer outputs an extra space between mode and link count. * doc/coreutils.texi: Remove the extra spaces in "ls -l" output. * src/ls.c (any_has_acl): New var. (clear_files): Clear it. (gobble_file): Set it if a file has an ACL. (print_long_format): Omit needless space unless some file has an ACL. 2005-06-10 Jim Meyering <jim@meyering.net> * src/system.h (VERIFY_W_TYPEOF): Add parentheses. 2005-06-02 Jim Meyering <jim@meyering.net> * src/sort.c (usage): Put `Ordering options:' line where it belongs. 2005-06-01 Paul Eggert <eggert@cs.ucla.edu> Use "file name" when talking about file names, instead of "filename" or "path", as per the GNU coding standards. * src/basename.c: Don't use "path" or "filename". * src/copy.c: Likewise. * src/copy.h: Likewise. * src/cp-hash.c: Likewise. * src/cp.c: Likewise. * src/df.c: Likewise. * src/install.c: Likewise. * src/ls.c: Likewise. * src/pinky.c: Likewise. * src/pr.c: Likewise. * src/pwd.c: Likewise. * src/remove.c: Likewise. * src/rmdir.c: Likewise. * src/sort.c: Likewise. * src/system.h: Likewise. * src/tty.c: Likewise. * src/who.c: Likewise. * src/cp.c (parents_option): Renamed from flag_path. All uses changed. (make_dir_parents_private): Renamed from make_path_private. All uses changed. * src/cp.c (usage): Don't use "path" to describe a file name. * src/readlink.c (usage): Likewise. * src/rmdir.c (usage): Likewise. * src/df.c: Don't include "path-concat.h"; not needed. * src/install.c (install_file_in_file_parents): Renamed from install_file_to_path. All uses changed. * src/ln.c (FILE_BASENAME_CONCAT): Renamed from PATH_BASENAME_CONCAT. All uses changed. * src/ls.c (make_link_name): Renamed from make_link_path. All uses changed. * src/pwd.c (struct file_name): Renamed from struct Path. All uses changed. (file_name_free): Renamed from path_free. All uses changed. (file_name_init): Renamed from path_init. All uses changed. (file_name_prepend): Renamed from path_prepend. All uses changed. * src/rmdir.c (remove_empty_parents): Renamed from empty_paths. All uses changed. (longopts): Add comment that --path is deprecated. 2005-05-31 Jim Meyering <jim@meyering.net> * src/copy.c (chown_privileges, chown_failure_ok): Mark as `extern'. This is a crutch so that `make distcheck's sc_tight_scope rule knows that they really are deliberately declared that way. 2005-05-30 Paul Eggert <eggert@cs.ucla.edu> Port to Solaris 10's rules for whether programs can chown files. * src/copy.c [HAVE_PRIV_H]: Include <priv.h>. (DO_CHOWN): Remove. Replaced by chown_failure_ok. All callers changed. (copy_internal): If chown failed, don't worry about what happened to the mode bits; they can't have changed. (chown_privileges, chown_failure_ok): New functions. * src/copy.h: Add copyright notice. (struct cp_options): Remove myeuid member. Add chown_privileges member. (chown_privileges, chown_failure_ok): New function decls. * src/cp.c (re_protect): Remove unnecessary call to geteuid. Use chown_failure_ok rather than our own code. * src/cp.c (cp_options_init): Use chown_privileges rather than geteuid. * src/install.c (cp_option_init): Likewise. * src/mv.c (cp_option_init): Likewise. 2005-05-29 Paul Eggert <eggert@cs.ucla.edu> * src/chgrp.c (getgrnam) [!defined _POSIX_VERSION]: Remove decl. * src/chown-core.c (getgrnam, getgrgid) [!defined _POSIX_VERSION]: Remove decls. * src/cp.c (geteuid) [!defined _POSIX_VERSION]: Remove decl. * src/id.c (getpwuid, getgrgid, getuid, getgid, geteuid, getegid) [!defined _POSIX_VERSION]: Remove decls. * src/install.c (getpwnam, getgrnam): Remove decl. (getuid, getgid) [!defined _POSIX_VERSION]: Remove decls. * src/md5sum.c (OPENOPTS, TEXT1T01, TEXTCNVT): Remove. (digest_file): Use O_BINARY-using expr instead of OPENOPTS. * src/system.h: Don't bother mentioning _POSIX_VERSION in comment. * src/test.c: Include sys/param.h if it exists, not if _POSIX_VERSION isn't defined. Don't include <sys/file.h>; no longer needed. (getegid, geteuid): Remove no-longer-necessary decls. * src/pathchk.c (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: Define to 256, not 255, as per modern POSIX. 2005-05-27 Paul Eggert <eggert@cs.ucla.edu> * NEWS: dd seek=N now conforms to POSIX if the output isn't seekable. * src/dd.c (skip): Return the number of records that were not skipped due to encountering EOF. (dd_copy): If the file wasn't seekable and EOF was encountered, write zeros past EOF until the desired offset is reached. * NEWS: expr and test now correctly compare integers of unlimited size. (Also, correct a comment that claimed that expr detects integer overflow; it does so only when converting from strings.) * src/expr.c: Include strnumcmp.h, xstrtol.h. (looks_like_integer): New function. (toarith): Use it. Also, use xstrtoimax rather than rolling our own diagnostics. (eval2): Don't look for trouble if !evaluate; this simplifies things. Compare numbers using string comparison, so that overflow is not possible. * src/sort.c: Refactor so that others can use large-integer comparison functions. Include "strnumcmp.h". (NEGATION_SIGN, NUMERIC_ZERO, fraccompare): Remove; moved to strnumcmp. (decimal_point): Now int, to simplify converison overhead with new API. All uses changed. (thousands_sep): Now -1 if there isn't one, as per new API. All uses changed. (numcompare): Move contents to strnumcmp module, except for skipping blanks. * src/test.c: Include inttostr.h, strnumcmp.h. (whitespace, digit, digit_value, integer_expected_error): Remove. (is_int): Remove; replaced by... (find_int): New function. (binary_operator): Don't let integers overflow in comparisons; return the correct answer instead. Simplify the code. (unary_operator): Convert the integer ourself, since find_int no longer does so. * tests/expr/basic (bigcmp): New test. * tests/test/Test.pm (eq-6, gt-5, lt-5): New tests. 2005-05-26 Paul Eggert <eggert@cs.ucla.edu> * NEWS: nohup now redirects a tty stdin to an unreadable fd instead of closing it. * doc/coreutils.texi (nohup invocation): Document this. * src/nohup.c (main): Implement this. 2005-05-26 Jim Meyering <jim@meyering.net> * src/expr.c (toarith): Fix a sign error introduced on 2005-01-14. Reported by David Alan Gilbert. * tests/expr/basic: Add tests using arithmetic on negative integers. 2005-05-19 Jim Meyering <jim@meyering.net> * src/remove.c (AD_mark_helper, AD_mark_current_as_unremovable): Remove inaccurate-but-harmless `const' attributes. * src/join.c (decode_field_spec): Add an abort after `error (EXIT_FAILURE, ...' to avoid a gcc warning in caller, about variables being used uninitialized. 2005-05-18 Paul Eggert <eggert@cs.ucla.edu> * configure.ac: Add copyright notice. gl_LIB_CHECK -> cu_LIB_CHECK. * src/Makefile.am: Add copyright notice. (factor_LDADD): Remove, as factor no longer needs sqrt. * src/hostname.c: Remove test for HAVE_LIMITS_H; we can assume it's always true now. 2005-05-16 Paul Eggert <eggert@cs.ucla.edu> Fix Cygwin porting problem reported by Eric Blake. * src/remove.c (DT_IS_DIR): Remove. (DT_IS_KNOWN, DT_MUST_BE): New macros. (remove_entry): Use them. 2005-05-14 Paul Eggert <eggert@cs.ucla.edu> * src/remove.c: Include unlinkdir.h. (UNLINK_CAN_UNLINK_DIRS): Remove. (remove_entry): Use cannot_unlink_dirs () rather than UNLINK_CAN_UNLINK_DIRS. 2005-05-14 Jim Meyering <jim@meyering.net> Update FSF postal mail address. * Makefile.maint, Makefile.cfg, gnupload * src/basename.c, src/cat.c, src/checksum.h, src/chgrp.c * src/chmod.c, src/chown-core.c, src/chown-core.h, src/chown.c * src/chroot.c, src/cksum.c, src/comm.c, src/copy.c, src/copy.h * src/cp-hash.c, src/cp-hash.h, src/cp.c, src/csplit.c, src/cut.c * src/date.c, src/dcgen, src/dd.c, src/df.c, src/dircolors.c * src/dirname.c, src/du.c, src/echo.c, src/env.c, src/expand.c * src/expr.c, src/factor.c, src/fmt.c, src/fold.c, src/fs.h * src/groups.sh, src/head.c, src/hostid.c, src/hostname.c, src/id.c * src/install.c, src/join.c, src/kill.c, src/lbracket.c, src/link.c * src/ln.c, src/logname.c, src/ls-dir.c, src/ls-ls.c, src/ls-vdir.c * src/ls.c, src/ls.h, src/md5.c, src/md5sum.c, src/mkdir.c * src/mkfifo.c, src/mknod.c, src/mv.c, src/nice.c, src/nl.c * src/nohup.c, src/od.c, src/paste.c, src/pathchk.c, src/pinky.c * src/pr.c, src/printenv.c, src/printf.c, src/ptx.c, src/pwd.c * src/readlink.c, src/remove.c, src/remove.h, src/rm.c, src/rmdir.c * src/seq.c, src/setuidgid.c, src/sha1sum.c, src/shred.c * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac-pipe.c * src/tac.c, src/tail.c, src/tee.c, src/test.c, src/touch.c * src/tr.c, src/true.c, src/tsort.c, src/tty.c, src/uname.c * src/unexpand.c, src/uniq.c, src/unlink.c, src/uptime.c * src/users.c, src/wc.c, src/who.c, src/whoami.c, src/yes.c 2005-05-13 Jim Meyering <jim@meyering.net> * NEWS: `rm -r' now removes all of the files it should, even on systems with a buggy readdir affecting file systems inaccessible at configure time. In some unusual circumstances `rm -r' would fail to remove -- or even consider -- all entries in a directory with more than 254 (SunOS) or 338 (Darwin) entries. This could cause trouble even on other types of systems when using an affected file system via e.g., NFS. The underlying cause was a bug in readdir on those systems. Coreutils-5.2.1 and earlier used a configure-time test designed to detect precisely those problem systems, but it would detect the problem and enable remove.c's work-around code only when its configure-time test was run on a losing file system. Obviously, it couldn't detect a problem if the offending file system wasn't tested or even mounted at coreutils configure time. Now, rm itself performs a minimal-cost run-time test to detect the problem. * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Define. (remove_cwd_entries): When readdir returns NULL for a directory from which we've removed more than CONSECUTIVE_READDIR_UNLINK_THRESHOLD entries, call rewinddir and then resume the readdir/unlink loop. (UNLINK_CAN_UNLINK_DIRS): Rename from ROOT_CAN_UNLINK_DIRS. 2005-05-12 Paul Eggert <eggert@cs.ucla.edu> * NEWS: nohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set. This fixes a glitch noted by Wayne Pollock in <https://www.opengroup.org/sophocles/show_mail.tpl? source=L&listname=austin-group-l&id=8341>. * doc/coreutils.texi (nohup invocation): Document this. * src/nohup.c (main): Implement this. 2005-05-12 Jim Meyering <jim@meyering.net> * src/date.c: Assume `free (NULL)' works. * src/dd.c: Likewise. * src/df.c:Likewise. * src/dircolors.c:Likewise. * src/head.c: Likewise. * src/ls.c: Likewise. * src/md5sum.c: Likewise. * src/pr.c: Likewise. * src/sort.c: Likewise. 2005-05-10 Jim Meyering <jim@meyering.net> * tests/touch/not-owner: Skip this test if the user running it owns `/' or has write access to it. * src/copy.c (abandon_move): Remove erroneous UNWRITABLE check. This makes `mv -i --reply=no f1 f2' work as expected (in not performing the move operation). But note that specifying `-i' after `--reply=no' does *not* work. Tiny patch from Vlada Macek. Correct a comment. * tests/mv/reply-no: New file. Test for the above fix. * tests/mv/Makefile.am (TESTS): Add reply-no. * tests/ls-2/tests: Don't print PATH to stderr. 2005-05-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: cp, ln, mv, rm no longer discard white space when intepreting responses. 2005-05-06 Paul Eggert <eggert@cs.ucla.edu> * NEWS: dd has new iflag= and oflag= flags "binary" and "text". * src/dd.c (flags, usage): Add support for "binary" and "text". 2005-05-04 Paul Eggert <eggert@cs.ucla.edu> * NEWS: chmod -w now complains if it differs from chmod a-w. * src/chmod.c: Include quotearg.h. (diagnose_surprises): New var. (process_file): Diagnose surprises. Simplify the logic a bit, while we're at it. (main): Prepare to diagnose surprises. Remove useless code for '-' option. * tests/chmod/Makefile.am (TESTS): Add umask-x. * tests/chmod/umask-x: New file. 2005-05-02 Paul Eggert <eggert@cs.ucla.edu> * NEWS: ls --indicator-style=directory renamed to ls --indicator-style=slash, to avoid confusion with ls --directory. * src/ls.c (usage): Likewise. (slash): Renamed from directory_only. All uses changed. 2005-05-01 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "chmod +1 foo" is now diagnosed. 2005-04-29 Paul Eggert <eggert@cs.ucla.edu> * NEWS: ls -p now marks only directories. New option --indicator-style=directory equivalent to -p. * doc/coreutils.texi (ls invocation): Document this. Also, mention ">" is for doors. * src/ls.c (enum indicator_style): New constant directory_only, for -p. (indicator_style_args, indicator_style_types): Set it appropriately. (decode_switches, gobble_file, print_type_indicator): (length_of_file_name_and_frills): Implement the change described in NEWS. (decode_switches): Quote ">", too. (usage): Update to match the new behavior. Describe ">". * tests/ls/file-type: Test for new behavior. Omit -1 option. The "ls --color" test wasn't being checked; add a check for "ls --color=auto" instead. * tests/head/Test.pm: Don't set _POSIX2_VERSION; no longer needed. * tests/misc/split-fail: Likewise. * tests/pr/Test.pm: Likewise. * tests/sort/Test.pm: Fix comment to match new behavior of "sort". * tests/tail/Test.pm (tv): Rename tests from obs to obs-plus if they use file names starting with +. (test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus. * tests/uniq/Test.pm (tv, test_vector): Likewise. The following was partly derived from a tiny change by Eric Blake: * tests/misc/nice: Don't use 'set -'. It's not portable to strict POSIX 1003.1-2001 hosts. Also, don't set _POSIX2_VERSION. * tests/mkdir/perm: Don't use 'set -'. Simplify test construction. Work even if the underyling system attaches ACLs to new dirs. * tests/mv/part-hardlink: Don't use 'set -'. * tests/stty/row-col-1: Don't use 'set -'. 2005-04-28 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document fixes described below. * src/chmod.c (change, umask_value): New static vars. (reference_file): Move this static var to inside "main". (process_file, process_files): Remove CHANGES arg; now taken from static var. All uses changed. (usage): Fix incorrect description of MODE operand. (main): For invalid mode usages, output a brief usage message. Adjust to new modechange API. * install.c (main): Adjust to new modechange API. Also, free the mode_change object when done. * mkdir.c (main): Likewise. * mkfifo.c (main): Likewise. * mknod.c (main): Likewise. * tests/chmod/equal-X: Check for =xX bug. * tests/chmod/equals: Check for =u bug. * tests/chmod/usage: Check for u+gr and ug,+x bugs. 2005-04-26 Paul Eggert <eggert@cs.ucla.edu> Restore support for usages like "head -1" and "tail -1", even when conforming to POSIX 1003.1-2001. Fix bug with "POSIXLY_CORRECT=1 fold file -3". join now supports a NUL field separator, e.g., "join -t '\0'". join now detects and reports incompatible options, e.g., "join -t x -t y", * NEWS: Document this. * src/date.c: Remove posixver.h and its uses. (COMMON_SHORT_OPTIONS): Remove. (short_options): New constant. (short_options, usage): -I now always takes an optional arg. * src/expand.c: Remove posixver.h and its uses. (shortopts): New constant. -DIGIT now always takes an optional arg. (main): Revamp parsing of -DIGIT to let parse_tab_stops handle it. Don't complain about -DIGIT. * src/fold.c: Remove posixver.h and its uses. (shortopts): New constant. -DIGIT now always takes an optional arg. (main): Don't preprocess arg list; that was buggy. Use method similar to expand. * src/head.c: Remove posixver.h and its uses. (header_mode_option): Remove. (main): Don't complain about obsolete -NUM args. * src/join.c: Remove posixver.h and its uses. (obsolete_usage): Remove. (join_field_1, join_field_2): Initialize to SIZE_MAX to indicate they haven't been set yet. (tab): Now int, not char. Initialize to -1 to indicate white space separates columns, so that we can use NUL as a separator. All uses changed. (OBSOLETE_LONG_OPTIONS, get_option): Remove. (string_to_join_field): Remove ERR_MSG_FMT arg; a single format suffices. Use xstrtoul for sizes; it suffices. (decode_field_spec): Report an error and exit on failure. Return void, not bool. (add_field_list): Likewise. (set_join_field): New function. (enum operand_status): New enum. (add_file_name): New args OPERAND_STATUS, JOPTION_COUNT, PREV_OPTC_STATUS, OPTC_STATUS to handle the bewildering array of possibilities with obsolete option parsing. (main): Use it. Do not depend on POSIX version. Check for conflicting options. Parse obsolete options -j1 and -j2 so that it is a pure extension to POSIX 1003.1-2001. Allow '-t\0' to specify a NUL tab, stealing the code from 'sort'. * src/nice.c: Remove posixver.h and its uses. (main): Always support -NUM option. * src/od.c: Remove posixver.h and its uses. (short_options): New constant, which always supports -w[num]. (COMMON_SHORT_OPTIONS): Remove. * src/pr.c: Remove posixver.h and its uses. (short_options): New constant, which always supports -S[string]. (COMMON_SHORT_OPTIONS): Remove. * src/sort.c: Remove posixver.h and its uses. (short_options): New constant, which always supports -y arg. (COMMON_SHORT_OPTIONS): Remove. (main): Redo workaround for Solaris compatibility with -y. This change isn't visible to the user; it just cleans up the code so that we don't need posixver.h. * src/split.c: Remove posixver.h and its uses. (main): Don't complain about -NUM option. * src/tail.c (parse_obsolete_option): Don't complain about -NUM. * src/unexpand.c: Remove posixver.h and its uses. (main): Don't complain about -TAB. * src/uniq.c (main): Don't complain about -NUM. 2005-04-22 Paul Eggert <eggert@cs.ucla.edu> * src/nohup.c (main): If getopt fails, exit with status 127, not status 1. POSIX requires this. * NEWS: Document this. * src/nice.c (main): Report proper program name when getopt finds trouble. Problem reported by Behdad Esfahbod. * NEWS: Fix bug with "mkdir -m =+x dir"; the umask was being ignored when the "+x" was being evaluated. * mkdir.c (main): Compile mode with MODE_MASK_ALL and initial umask. * mkfifo.c (main): Likewise. * mknod.c (main): Likewise. * tests/mkdir/perm: Test for the above bug. 2005-04-20 Paul Eggert <eggert@cs.ucla.edu> Port test cases to Microsoft-Windows-related environments, following suggestions from Eric Blake. * tests/install/Makefile.am (TESTS_ENVIRONMENT): Add EXEEXT. * tests/install/basic-1: Undo previous change. (dd, dd2): New vars, which use $EXEEXT. All uses of dd and dd2 changed. * tests/install/trap: Undo previous change. (sig): New var. Use it insted of "trap '' CHLD". Append $EXEEXT to executable name. "fetish" -> "coreutils" in more places. * tests/Coreutils.pm: Renamed from tests/Fetish.pm. (package Coreutils): Renamed from package Fetish. All uses changed. * tests/Makefile.am (EXTRA_DIST): Add Coreutils.pm and remove Fetish.pm. 2005-04-19 Paul Eggert <eggert@cs.ucla.edu> * tests/mv/setup (dot_mount_point): Use stat -L, in case the directory is actually a symbolic link. Problem reported by Eric Blake. * tests/mv/mv-special-1: Use test -p to test for fifos, rather than the (incorrect) test -f and the (inadequate) ls. ls is inadequate because on some hosts a buggy mv will create a file of the wrong type (problem reported by Eric Blake). Skip this test if test -p doesn't work. * tests/chmod/setgid: Use numeric group ids, not symbolic group names, since the latter can have shell metacharacters in them (e.g., spaces). This follows up to the 2005-01-17 patch, which missed this occurrence. 2005-04-18 Paul Eggert <eggert@cs.ucla.edu> "fetish" -> "coreutils" in several places. * Makefile.cfg (ftp): Remove fetish.sf.net. * Makefile.maint (emit_upload_commands): Likewise. * src/Makefile.am (LDADD, $(PROGRAMS)): fetish -> coreutils. * tests/group-names (COREUTILS_GROUPS): Renamed from FETISH_GROUPS. * tests/chmod/setgid (FETISH_GROUP): Renamed from COREUTILS_GROUP. * tests/install/basic-1: Use "cat", not "test", to test for ../../src/dd. Problem reported by Eric Blake. 2005-04-18 Jim Meyering <jim@meyering.net> * src/dd.c: Don't include stat-macros.h directly. system.h does that. 2005-04-17 Paul Eggert <eggert@cs.ucla.edu> Work around a couple of "make check" failures reported for Cygwin and ash by Eric Blake. * tests/install/basic-1: Skip this test if ../../src/dd isn't readable. * tests/install/trap: Skip this test if "trap '' CHLD" doesn't work. 2005-04-16 Jim Meyering <jim@meyering.net> * src/dd.c (S_TYPEISSHM): Remove definition. Get the definition by including "stat-macros.h", instead. 2005-04-14 Paul Eggert <eggert@cs.ucla.edu> Fix test suite problems reported by Eric Blake on Cygwin. * tests/mv/mv-special-1: Ignore chatter about when files are removed, since POSIX doesn't require rename to fail across file systems. * tests/mv/setup (dot_mount_point): Use stat rather than df, as it's more reliable. (other_partition_tmpdir): Remove df from name as that would be misleading now. 2005-04-14 Jim Meyering <jim@meyering.net> * src/chown-core.c: Correct typo, fchmod -> fchown, in a comment. 2005-04-12 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (usage): "uid" -> "user ID". 2005-04-12 Jim Meyering <jim@meyering.net> * src/tsort.c (tsort): Use "%s" as the format string, rather than a diagnostic or a file name. * src/comm.c (compare_files): Remove declaration of unused local. * src/chown-core.c (chopt_free): Mark parameter as unused. 2005-04-11 Paul Eggert <eggert@cs.ucla.edu> * man/chown.x: Reword to match user manual. * man/id.x: Likewise. * src/setuidgid.c (usage): Use "user ID", not "UID", and similarly for "group ID". * src/whoami.c (usage, main): Likewise. Add bulletproofing for cases where stdin, stdout, or stderr are closed. * src/comm.c: Include stdio-safer.h. (compare_files): Exit right away on I/O error rather than continuing and producing confusing output and error messages. Return void, not int; all callers changed. Use fopen_safer to avoid confusion with file descriptors. * src/copy.c: Include unistd-safer.h. (copy_reg): Use fd_safer. * src/csplit.c: Include stdio-safer.h. (input_desc): Remove unnecessary static initialization. (set_input_file): Use STDIN_FILENO, not 0. (create_output_file): Use fopen_safer. * src/dircolors.c (dc_parse_file): Don't assume fopen does not return stdin. * src/head.c (head_file): Don't assume open does not return 0. * src/join.c: Include stdio-safer.h. (main): Use fopen_safer. Simplify the resulting code. * src/md5sum.c (digest_file, digest_check): Don't assume that fopen does not return stdin. * src/nohup.c: Include unistd-safer.h. (main): Don't dup stderr to stdin or stdout by mistake. * src/od.c (check_and_close): Don't assume fopen does not return stdin. * src/paste.c (paste_serial): Likewise. * src/pr.c: Include stdio-safer.h. (open_file): Use fopen_safer. (close_file): Don't assume fopen does not return stdin. * src/ptx.c (main): Don't assume fopen returns stdout after closing stdout. Use freopen instead. * src/shred.c: Include unistd-safer.h. (wipename): Use fd_safer on directory file descriptor. (wipefile): Remove special case for /dev/fd/* on older hosts. It didn't work in general, and wasn't documented. Use fd_safer. * src/sort.c: Include unistd-safer.h. (create_temp_file): Use fd_safer. (xfclose): Don't assume fileno (stdin) == STDIN_FILENO, etc. * src/split.c: Include unistd-safer.h. (cwrite): Use fd_safer. Replace mystery constant 0666 with symbolic version, as POSIX requires. * src/sum.c (bsd_sum_file, sysv_sym_file): Use same pattern as elsewhere for checking for stdin. * src/tac.c: Include unistd-safer.h. (copy_to_temp): Use fd_safer. (tac_file): Don't assume fopen cannot return stdin. * src/tail.c: Include unistd-safer.h rather than fcntl-safer.h. (recheck, tail_file): Use fd_safer rather than open_safer. * src/tee.c: Include stdio-safer.h. (tee): Use fopen_safer. * src/touch.c: Include unistd-safer.h. (touch): Use fd_safer. * src/tsort.c (have_read_stdin): Remove; no longer needed. All uses removed. (tsort): Do not assume fopen can't return stdin. Close stdin before returning. All uses changed. * src/unexpand.c (next_file): Don't assume fopen cannot return stdin. * src/uniq.c: Include stdio_safer.h. (check_file): Don't assume fopen cannot return stdin or stdout. 2005-04-09 Jim Meyering <jim@meyering.net> * src/dd.c (quit): Define with ATTRIBUTE_NORETURN. Now that close_stdout closes standard output unconditionally, these workarounds for dd and cat are no longer necessary. * src/dd.c (close_stdout_wrapper): Remove function. (main): Call atexit with close_stdout, instead. * src/cat.c (close_stdout_wrapper): Likewise. Don't close STDOUT_FILENO explicitly; close_stdout does it. * src/system.h (__attribute__): Readability nit: Change this: # define __attribute__(x) to this: # define __attribute__(x) /* empty */ 2005-04-09 Jim Meyering <jim@meyering.net> * src/rm.c (usage): Mention that --recursive removes listed directories too, not just their contents. Say that by default, rm does not remove directories. * src/pr.c: Don't include "timespec.h". system.h does that. * Makefile.maint (sc_system_h_headers): Propagate exit status through trap. 2005-04-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document that dd no longer treats QUIT or PIPE specially, and when conforming to POSIX no longer treats USR1 specially. Document that dd no longer dumps core when handling signals. * src/system.h (RETSIGTYPE): Remove; no longer needed. All uses replaced with void. * src/csplit.c (SA_NOCLDSTOP): Define to 0 if not defined. All uses changed. (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. (delete_all_files): New arg IN_SIGNAL_HANDLER, to avoid undefined behavior when called from a signal handler. All uses changed. (main) [!defined SA_NOCLDSTOP]: Use siginterrupt to specify that system calls should be interrupted. * src/dd.c: Do not include safe-read.h or full-write.h; no longer needed. (process_signals): Add forward decl. (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros. (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. (SA_NODEFER) [!defined SA_NODEFER]: New macro. (SA_RESETHAND) [!defined SA_RESETHAND]: New macro. (caught_signals, interrupt_signal, info_signal_count, catch_siginfo): New vars. (usage): Mention -USR1 versus -INFO. (cleanup): Don't invoke print_stats; the caller must do it now. All callers changed. (quit): Process signals just before exiting. (interrupt_handler): Simply record the signal and return. (siginfo_handler): Simply increment the signal counter and return. (install_handler): Remove, replacing with: (install_signal_handlers, process_signals, iread, iwrite): New functions. All callers to safe_read and full_write replaced by iread and iwrite. All callers to install_handler replaced by install_handlers. * src/ls.c (SA_NOCLDSTOP): Define to 0 if not defined. All uses changed. (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. (main) [! SA_NOCLDSTOP]: Use it. * src/shred.c: Remove all uses of signals; modern hosts have /dev/random and don't need this gorp. Do not include signal.h. (env, sigill_handler, isaac_seed_machdep): Remove. All uses removed. * src/sort.c (SA_NOCLDSTOP): Define to 0 if not defined. All uses changed. (siginterrupt) [! HAVE_SIGINTERRUPT]: New macro. (main) [! SA_NOCLDSTOP]: Use it. * src/dd.c: Do not include inttostr.h, no longer needed. (print_stats, main): Rewrite and simplify formats to use PRIuMAX instead of umaxtostr. (print_stats): Work even in languages that have special forms for two of things, for r_truncate and w_bytes. We can't fix delta_s in this way, since ngettext doesn't support floating-point. (main): Rewrite to avoid casts. 2005-04-07 Jim Meyering <jim@meyering.net> Placate gcc-4's -Wuninitialized. * src/md5sum.c (digest_check) [lint]: Initialize hex_digest to NULL. * src/test.c (binary_operator) [lint]: Initialize lt and rt to 0. * src/test.c (is_int, age_of, binop): Declare `char *' parameters to be `const'. (binop): Move function definition to precede first use so we can... (binop): ...remove prototype. 2005-04-05 Paul Eggert <eggert@cs.ucla.edu> * man/Makefile.am (.x.1): Remove "COMMAND.td/" from examples. * src/basename.c (usage): Add examples. * src/cat.c (usage): Likewise. * src/chgrp.c (usage): Likewise. * src/chown.c (usage): Likewise. * src/dirname.c (usage): Likewise. 2005-04-05 Jim Meyering <jim@meyering.net> * src/nice.c (usage): Mention that some shells provide a built-in function by the same name. * src/nohup.c (usage): Likewise. * src/printenv.c (usage):Likewise. 2005-04-04 Dmitry V. Levin <ldv@altlinux.org> * src/tee.c (tee): When closing files, do not close stdout, leave this job to close_stdout() instead. * configure.ac (AC_CONFIG_FILES): Add tests/tee/Makefile. * tests/Makefile.am (SUBDIRS): Add tee. * tests/tee/Makefile.am: New file. * tests/tee/.cvsignore: Likewise. * tests/tee/{basic,dash}: New tee tests. 2005-04-04 Jim Meyering <jim@meyering.net> * src/echo.c (usage): Mention that some shells provide a built-in function by the same name. * src/kill.c (usage): Likewise * src/printf.c (usage): Likewise. * src/pwd.c (usage): Likewise. * src/stat.c (usage): Likewise. * src/test.c (usage): Likewise. * src/true.c (usage): * src/system.h (USAGE_BUILTIN_WARNING): New macro. * man/echo.x: Remove `DESCRIPTION' section, now that --help includes it. * man/printf.x: Likewise. * man/pwd.x: Likewise. 2005-04-03 Jim Meyering <jim@meyering.net> * src/pr.c (main): Fix off-by-one error. pr -$(perl -e 'print "0"x63 . 1') would write one byte beyond the end of a malloc'd buffer. 2005-04-01 Jim Meyering <jim@meyering.net> * src/pr.c (main): Free column_count_string when done with it. Don't let pr treat +1:-1 like +1:18446744073709551615. * src/pr.c (strtoumax): Remove declaration. (first_last_page): Use xstrtoumax in place of strtoumax, so we don't interpret a negative page number (e.g., in an option like --pages=1:-1) as valid. * tests/pr/Test.pm (neg-page): Add a test for this. 2005-03-30 Paul Eggert <eggert@cs.ucla.edu> * src/pinky.c (short_pinky): Adjust to read_utmp signature change. * src/uptime.c (uptime): New arg OPTIONS. All uses changed. * src/users.c (users): Likewise. * src/who.c (who): Likewise. * src/uptime.c (main): Check PIDs when invoked with zero arguments. * src/users.c (main): Likewise. * src/who.c (main): Likewise. Also with two arguments. Omit duplicate code in 2-arg case. (UT_PID): Moved to ../lib/readutmp.h. 2005-03-29 Jim Meyering <jim@meyering.net> * src/system.h (ptr_align): Declare `ptr' parameter to be a `const' pointer, since this function never writes through it. * src/uname.c: Indent cpp directives to reflect nesting. 2005-03-28 Jim Meyering <jim@meyering.net> * src/seq.c (get_width_format) [HAVE_RINT && HAVE_MODF && HAVE_FLOOR]: Add `void' to make this an ANSI-style function declaration. * src/remove.c (ds_init): Likewise. * src/pr.c (print_sep_string): Likewise. * src/stty.c (speeds): Declare this array to be static. * src/Makefile.am (sc_tight_scope): Adjust to catch any new declarations like that of stty.c's `speeds'. * src/system.h (GETOPT_HELP_OPTION_DECL): Use NULL, not `0'. (GETOPT_VERSION_OPTION_DECL): Likewise. * src/chown.c (long_options): Likewise. * src/chgrp.c (long_options): Likewise. * src/chmod.c (long_options): Likewise. * src/cp.c (sparse_type_string, reply_args, decode_preserve_arg): Likewise. * src/chown-core.c (chopt_init): Likewise. * src/comm.c (long_options): Likewise. * src/copy.c (copy_reg): Likewise. * src/csplit.c (extract_regexp): Likewise. * src/cut.c (longopts): Likewise. * src/date.c (time_spec_string): Likewise. * src/df.c (find_mount_point, show_point): Likewise. * src/expr.c (docolon): Likewise. * src/fmt.c (long_options): Likewise. * src/ls.c (time_style_args, indicator_style_args, long_options) (format_args, sort_args, time_args, decode_switches) (gobble_file): Likewise. * src/md5sum.c (long_options): Likewise. * src/mv.c (reply_args): Likewise. * src/paste.c (longopts): Likewise. * src/pinky.c (print_entry): Likewise. * src/pr.c (long_options): Likewise. * src/ptx.c (long_options, format_args): Likewise. * src/readlink.c (longopts): Likewise. * src/sort.c (long_options, mergefps): Likewise. * src/stat.c (long_options): Likewise. * src/tac.c (main): Likewise. * src/tail.c (follow_mode_string): Likewise. * src/touch.c (longopts, time_args): Likewise. * src/uniq.c (delimit_method_string): Likewise. * src/uptime.c (print_uptime): Likewise. * src/who.c (print_user): Likewise. 2005-03-27 Jim Meyering <jim@meyering.net> * src/dcgen: Simplify further, clean up. Add a standard-output-closing global destructor. Require perl-5.002. * src/wheel-gen.pl: Use the same global destructor as dcgen. 2005-03-26 Paul Eggert <eggert@cs.ucla.edu> * src/dcgen: Squeeze multiple blanks into one. Output a simple array of adjacent strings rather than a more complicated data structure; this saves space in the dircolors executable. * src/dircolors.c (parse_line): Use char *, not unsigned char *. This avoids casts. (dc_parse_stream, main): Avoid casts. Adjust to simpler data structure generated by new dcgen. 2005-03-25 Eric Blake <ebb9@byu.net> (tiny change) * src/ls.c (usage): Document usage of LS_COLORS. 2005-03-25 Paul Eggert <eggert@cs.ucla.edu> * src/dircolors.hin: Add "TERM cygwin". 2005-03-25 Jim Meyering <jim@meyering.net> * src/system.h (DECIMAL_DIGIT_ACCUMULATE): Reverse the sense of the return value, and update callers: * src/cut.c (set_fields): Update use of DECIMAL_DIGIT_ACCUMULATE. * src/expand.c (parse_tab_stops, main): Likewise. * src/split.c (main): Likewise. * src/unexpand.c (parse_tab_stops, main): Likewise. * src/uniq.c (main): Likewise. 2005-03-22 Jim Meyering <jim@meyering.net> * build-aux: New directory. Renamed from config. * configure.ac: Reflect renaming: config -> build-aux. * Makefile.am (dist-hook): Likewise. * Makefile.maint: Likewise. * Makefile.cfg (cvs_files): Likewise. * .x-sc_sun_os_names: Likewise. * .x-sc_trailing_blank: Likewise. * src/ls.c (get_funky_string): Use '\a', rather than 7, for portability to EBCDIC hosts. 2005-03-20 Jim Meyering <jim@meyering.net> * src/pr.c (init_header): Add missing `%' in new format string. (init_header): Use zero-filled `.%09d' format, not space-filled `.%9d'. 2005-03-19 Jim Meyering <jim@meyering.net> * src/Makefile.am (pr_LDADD): Now that pr uses gettime, add $(LIB_CLOCK_GETTIME) to get the required -lrt on newer Linux systems. 2005-03-18 Paul Eggert <eggert@cs.ucla.edu> * NEWS: pr -D "FORMAT" now accepts the same formats that date +"FORMAT" does. * src/pr.c: Include strftime.h, timespec.h. (init_header): Obtain and format nanosecond part of time stamp. * NEWS: nohup now ignores the umask when creating nohup.out. nohup now closes stderr if it is a terminal and stdout is closed. * src/nohup.c (main): Likewise. Be a little more paranoid about return values; e.g., check for any negative return from open. Assume free (NULL) works. Close file descriptor leak when redirecting standard output to a file. 2005-03-17 Jim Meyering <jim@meyering.net> * src/cut.c (set_fields): Use DECIMAL_DIGIT_ACCUMULATE macro, in place of functionally-equivalent code. * src/expand.c (parse_tab_stops, main): Likewise. * src/split.c (main): Likewise. * src/unexpand.c (parse_tab_stops, main): Likewise. * src/uniq.c (main): Likewise. * src/od.c: Use VERIFY macro in place of an equivalent open-coded declaration. * src/system.h (VERIFY, VERIFY_EXPR, DECIMAL_DIGIT_ACCUMULATE): New macros. Before, this command would make uniq skip 11 fields and print only the first line: $ _POSIX2_VERSION=1 ./uniq -f1 -1 <(seq --format='1 %g' 2) 1 1 1 2 * src/uniq.c (main): Interpret `uniq -f1 -1' like `uniq -f1', not like `uniq -f11'. 2005-03-15 Jim Meyering <jim@meyering.net> Both `pr -0' and e.g., `pr -03' would evoke `column count too large'. `pr -0' should give a better diagnostic and `pr -03' should be equivalent to `pr -3'. * src/pr.c (parse_column_count): Change return type to void. Call error (EXIT_FAILURE, ... for an invalid string. (main): Allocate space for column_count_string using malloc. Accumulate all old-style column-count digits before converting. When the number of columns is specified via both old-style, (e.g., -3), and a long option (--columns=5), ensure that only the last one specified takes effect. * tests/pr/Test.pm: Add tests for the above. 2005-03-15 Corinna Vinschen <corinna@vinschen.de> (tiny change) * src/copy.c (copy_reg): Copy regular files in binary mode. 2005-03-14 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Restate why ls limits time stamp lengths. 2005-03-12 Jim Meyering <jim@meyering.net> Add a little infrastructure to help prevent future bugs like the one fixed below. * src/stat.c (xstrcat): New function. (print_statfs, print_stat): Add buf_len parameter and convert all uses of strcat to xstrcat. Update callers. (print_it): Call print_func with buf_len parameter. Invoking stat -c FMT with a lone format directive of %s, %f, %h, %s, could cause a buffer overrun error. * src/stat.c (print_it): Allocate 2 more bytes, to accommodate our conversion of the stat %s format string to the longer printf %llu one. Patch from Guochun Shi. 2005-03-11 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (TIME_STAMP_LEN_MAXIMUM): New constant. (long_time_expected_width, print_long_format): Use it, to avoid some possible denial-of-service attacks. * NEWS: Document this. 2005-03-11 Jim Meyering <jim@meyering.net> Prompt once again for `mv -i A B' when A and B are hard links to the same file. This fixes a bug introduced by my 2003-04-04 (coreutils-5.0.1) change. Reported by Thomas Wolff via Eric Blake. * src/copy.c (abandon_move): New function, factored out of copy_internal, now that this code is being used from two places. (copy_internal): Perform the same interactive-related test for whether it's alright to proceed and (usually) overwrite the destination file. * tests/mv/i-4: Add tests for the above. Don't segfault for a very long date format string, e.g., ls -ld --time-style=+%99999999H . * src/ls.c (long_time_expected_width): Use x2nrealloc, not alloca, so format string abuse cannot provoke stack overflow. (print_long_format): Likewise. Don't segfault for a long header date string, e.g., echo a|pr -D +%9999999A * src/pr.c (init_header): Use x2nrealloc, rather than alloca. Don't bother with fixed-sized initial buffer; always use x*alloc. * src/pr.c (init_header): Use slightly clearer INT_BUFSIZE_BOUND in place of equivalent INT_STRLEN_BOUND + 1. * src/expr.c (tostring, printv): Likewise. 2005-03-09 Paul Eggert <eggert@cs.ucla.edu> * src/system.h: Include intprops.h. (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_STRLEN_BOUND): Remove; they are now defined in intprops.h. 2005-03-09 Jim Meyering <jim@meyering.net> * TODO: Remove entry about named pipes. It was fixed in 5.3.0. 2005-03-08 Paul Eggert <eggert@cs.ucla.edu> * src/date.c (usage): Redo to match recent documentation changes. Don't bother documenting which usages are GNU extensions; the list wasn't correct, and is better left to the printed manual anyway. 2005-03-06 Jim Meyering <jim@meyering.net> Factor out column-count processing. * src/pr.c: Include "inttostr.h". (parse_column_count): New function. (main): Use the new function for both old-style, -9, and long, --columns=-9, options. * src/cksum.c: Remove `register' keyword. * src/cut.c: Likewise. * src/dd.c: Likewise. * src/env.c: Likewise. * src/factor.c: Likewise. * src/fmt.c: Likewise. * src/fold.c: Likewise. * src/id.c: Likewise. * src/logname.c: Likewise. * src/ls.c: Likewise. * src/pr.c: Likewise. * src/printf.c: Likewise. * src/shred.c: Likewise. * src/sort.c: Likewise. * src/sum.c: Likewise. * src/test.c: Likewise. * src/tsort.c: Likewise. * src/uniq.c: Likewise. * src/wc.c: Likewise. * src/whoami.c: Likewise. 2005-03-01 Paul Eggert <eggert@cs.ucla.edu> * src/Makefile.am (nanosec_libs): Remove $(LIB_XANOSLEEP); no longer needed. 2005-03-01 Jim Meyering <jim@meyering.net> * src/copy.c (copy_internal): Change test of source type from !S_ISREG to S_ISLNK. Reported by Paul Eggert in http://lists.gnu.org/archive/html/bug-coreutils/2004-10/msg00050.html. 2005-02-28 Jim Meyering <jim@meyering.net> * NEWS: Mention that xnanosleep fixes sleep failure on linux-2.6.8.1. 2005-02-21 Paul Eggert <eggert@cs.ucla.edu> * src/Makefile.am (dd_LDADD, shred_LDADD): Add $(LIB_GETHRXTIME). (nanosec_libs): Add $(LIB_XNANOSLEEP). Needed for newer GNU/Linux hosts with clock_gettime. 2005-02-20 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Describe user-visible change to dd. * src/Makefile.am (dd_LDADD, shred_LDADD, nanosec_libs): Remove $(LIB_CLOCK_GETTIME). These functions now use gethrxtime instead. * src/dd.c: Include gethrxtime.h, xtime.h. (start_time): Now of type xtime_t, not struct timespec. (print_stats, main): Use gethrxtime rather than gettime. * src/ls.c (time): Remove obsolete decl. (get_current_time): gettimeofday always returns 0, so don't check its result. * src/shred.c: Include gethrxtime.h. (isaac_seed): Use gethrxtime rather than a mishmash. * src/touch.c (time): Remove obsolete decl. * tests/misc/split-fail: Don't assume that the current host supports integers wider than 32 bits. Fix comment typo. * tests/od/x8: Likewise. * src/chown-core.c (enum RCH_status): Remove trailing comma, as it's not valid in standard C89. 2005-02-15 Jim Meyering <jim@meyering.net> * src/stat.c (human_fstype): Add case/definition for S_MAGIC_XFS so that file systems of type `xfs' are recognized as such. * src/fs.h: Regenerate. Reported by Bernd Eckenfels. * src/stat.c (human_fstype): Likewise for S_MAGIC_JFS/jfs. * src/fs.h: Regenerate. Reported by Andreas Schwab. * src/nice.c (NZERO) [NZERO == 0]: Undefine and define to 20, to work around the invalid definition from Darwin 7.7.0. Test failure reported by Sébastien Maret. 2005-02-14 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (mergefps): Use binary search rather than linear one when comparing new line to lines already in main memory. Idea suggested by James Lemley. 2005-02-09 Jim Meyering <jim@meyering.net> * src/copy.c (valid_options): Add an assertion that not both hard_link and symbolic_link are set. 2005-02-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document stat -f -c %S, plus changes to default formats. * doc/coreutils.texi (stat invocation): Normalize terminology, capitalization, and sort order to match --help output. Mention %c for file systems. Add new -f -c format %S, and document %s versus %S; problem reported by Jeroen van Wolffelaar. * src/stat.c (usage): Likewise. (STATFS_FRSIZE): New macro. (print_statfs): Use it, for stat -f -c %S. (do_statfs): Change default formats to output %S. 2005-02-03 Paul Eggert <eggert@cs.ucla.edu> * src/system.h: Include "memrchr.h". (memrchr) [!HAVE_DECL_MEMRCHR]: Remove decl. 2005-02-02 Jim Meyering <jim@meyering.net> * tests/du/8gb: Also adjust the test (s/64/128/) to detect systems that don't support sparse files. Check for $2 -ge 128, rather than $2 = 128, in case there is a file system type that doesn't support sparse files, yet for which metadata takes up additional space. Both reported by Andreas Schwab. 2005-02-01 Eric Blake <ebb9@byu.net> (tiny change) * tests/du/8gb: Create a larger test file, so we properly detect that sparse files can be created on NTFS under cygwin. 2005-01-30 Jim Meyering <jim@meyering.net> * src/head.c (elide_tail_bytes_pipe): Correct wording in diagnostic. * src/stty.c: Remove unnecessary parentheses in all #if directives. 2005-01-29 Eric Blake <ebb9@byu.net> (tiny change) * .cvsignore: Ignore config.cache and config.status.lineno. * src/stty.c [VSWTCH]: Some systems, like Cygwin, use VSWTC instead of VSWTCH, for use with CSWTCH. 2005-01-29 Eric Blake <ebb9@byu.net> (tiny change) * tests/Makefile.am (.PHONY): Add check-root and root-hint. * tests/rwx-to-mode: Ignore ACL designation. * tests/setgid-check: Likewise. * tests/chown/separator: Quote user and group names. 2005-01-24 Jim Meyering <jim@meyering.net> * src/cp.c (usage): Merge the descriptions of --no-dereference and -P. Suggestion from Johan Boule. 2005-01-17 Eric Blake <ebb9@byu.net> (tiny change) * src/Makefile.am (all_programs.list): Strip $(EXEEXT) and remove duplicates. * man/Makefile.am (all_programs): Revert previous patch; updated all_programs.list fixes this. (.x.1): No need to add $(EXEEXT). 2005-01-03 Corinna Vinschen <corinna@vinschen.de> (tiny change) * src/system.h: Use S_BLKSIZE value for ST_NBLOCKSIZE where available. 2005-01-22 Jim Meyering <jim@meyering.net> * Makefile.maint (v_etc_file): The version string has moved to version-etc-fsf.c, search that new file, not version-etc.c. 2005-01-17 Paul Eggert <eggert@cs.ucla.edu> * tests/group-names: Use numeric group ids, not symbolic group names, since the latter can have shell metacharacters in them (e.g., spaces). Problem reported by Eric Blake. * tests/chgrp/basic: Assume groups are numeric, not symbolic. * tests/chgrp/deref: Likewise. * tests/chgrp/posix-H: Likewise. * tests/chgrp/recurse: Likewise. 2005-01-15 Jim Meyering <jim@meyering.net> * src/shred.c (isaac_seed) [HAVE_GETHRTIME]: #if-0 this block, because just calling gethrtime evokes an `illegal instruction' failure when compiled with Sun's c89 on Solaris 8 and 9. Reported by Nelson Beebe. * src/shred.c (isaac_seed) [HAVE_GETHRTIME]: Don't call ISAAC_SEED twice with the same value of `t'. Replace nested #if-#else blocks with #if-#elif-#elif chain. 2005-01-14 Jim Meyering <jim@meyering.net> The test, tests/tail/f-1, failed on powerpc-apple-darwin7.7.0. * src/tail.c (IS_TAILABLE_FILE_TYPE): Adjust definition also to include sockets, since that's what you get when reading from a command-line- supplied pipe on Darwin 7.7. (IS_PIPE_LIKE_FILE_TYPE): Define. (main): Use new IS_PIPE_LIKE_FILE_TYPE rather than simply S_ISFIFO. Reported by Nelson Beebe. This same change is also required on NetBSD/sparc-1.5. Reported by Adrian Bunk. * src/expr.c (toarith): Rewrite to detect/diagnose integer overflow, rather than suffering silently. Before, expr would silently overflow and wrap around: $ expr 9223372036854775808 = 0 # $(echo 2^63|bc) 1 Now it detects the problem and exits nonzero: $ ./expr $(echo 2^63|bc) = 0 ./expr: 9223372036854775808: integer is too large * tests/chown/separator (id_gn): Exit 77, not 1, for a test-framework failure, so that doesn't cause `make check' to stop. Nelson Beebe reported that this test would fail with the diagnostic, `cannot find name for group ID 10', on one of his systems. 2005-01-13 Jim Meyering <jim@meyering.net> * src/test.c (is_int): Don't overflow when evaluating integer constants. Before, ./test $(echo 2^64|bc) -eq 0 && echo FAIL would print `FAIL'. * tests/Fetish.pm (run_tests): Add code (if-0'd out) to detect names of temporary files that would clash on 8.3 file systems. * tests/mk-script (validate): Likewise. 2005-01-12 Jim Meyering <jim@meyering.net> * tests/dd/skip-seek: Shorten test names to accommodate 8.3 systems. * tests/tr/Test.pm (repeat-xC): Change test name from `repeat-Compl', to avoid 8.3 conflict with `repeat-compl'. Reported by Eric Blake. (repeat-000): Rename to `repeat-zeros' for the same reason. 2005-01-11 Jim Meyering <jim@meyering.net> * configure.ac: Update version to 5.3.1. 2005-01-11 Eric Blake <ebb9@byu.net> * src/Makefile.am (check-README, check-AUTHORS): Account for $(EXEEXT). * man/Makefile.am (all_programs): Account for $(EXEEXT). 2005-01-11 Jim Meyering <jim@meyering.net> * src/unexpand.c (add_tab_stop): Properly diagnose a tabstop list with decreasing values. * src/expand.c (main): Likewise. * src/unexpand.c (main): Check for overflow in tabstop values specified via the obsolete form. E.g., now this command fails: _POSIX2_VERSION=1 ./unexpand -$(echo '2^64+1'|bc) Before it would act like `_POSIX2_VERSION=1 ./unexpand -1'. * tests/unexpand/basic-1 (obs-ovflo): New test for this. 2005-01-10 Paul Eggert <eggert@cs.ucla.edu> Respond to POSIX interpretations about pathchk -p dated 2005-01-06. * NEWS: Document the changes. * doc/coreutils.texi (pathchk invocation): Likewise. * src/pathchk.c (PORTABILITY_OPTION): New constant. (longopts, usage, main, validate_file_name): Add support for new -P option. Reject empty file names (unless -p is not specified and the current system allows empty file names). Change --portability so that is now equivalent to -p -P. Don't test whether file name is too long, if it is known to exist. (no_leading_hyphen): New function. * tests/misc/pathchk1: Add tests for empty file names and pathchk -P. 2005-01-08 Jim Meyering <jim@meyering.net> * Version 5.3.0. `pr --columns=N' was not equivalent to `pr -N' when also using either -s or -w. * src/pr.c (main): Set `explicit_columns' for --columns=N, not just for -N. This bug has existed since the introduction of the --columns=N option on 1998-08-15. * NEWS: Document this. * tests/pr/Test.pm (test_vector): For each -N test, automatically create a new test vector using --columns=N. 2005-01-07 Paul Eggert <eggert@twinsun.com> * src/pr.c (main): Check for column count overflow with usages like "pr -2147483648". 2005-01-07 Jim Meyering <jim@meyering.net> * src/pr.c (init_fps): Use xnmalloc, rather than xmalloc. 2005-01-06 Jim Meyering <jim@meyering.net> * README: List the precise HP-UX version numbers that are affected. Suggestion from Bob Proulx. * Makefile.maint (sc_changelog): Specify find's `-maxdepth 2' predicate before `-name ChangeLog' to avoid a harmless warning from find-4.2.10. 2005-01-05 Jim Meyering <jim@meyering.net> * tests/help-version: Punt on the uptime test, since it fails when it can't get boot time, and I don't want that to stop `make check'. * src/du.c (process_file): Evaluate exclusion rules against the entire file name, not just the last component. Reported by Robert Lindgren. * tests/du/exclude: Test for this. * NEWS: Document this. Ensure that tests/Makefile.am's check-root actions stay up to date. * Makefile.maint (sc_root_tests): New rule. (syntax-check-rules): Add it to the list. 2005-01-04 Jim Meyering <jim@meyering.net> * man/shred.x: Change one-line summary to reflect that shred does not remove files by default. Suggestion from Helen Faulkner in http://bugs.debian.org/288552 * README: Request VERBOSE=yes output when reporting test failures. Other minor changes. * tests/Makefile.am (check-root): Update. 2005-01-03 Paul Eggert <eggert@cs.ucla.edu> * src/system.h: Undo previous change; we now use Autoconf. 2005-01-03 Jim Meyering <jim@meyering.net> * tests/stty/row-col-1: Don't set rows or columns to zero, to avoid a bug in the TIOCGWINSZ ioctl on at least Solaris5.9 systems. Setting either (or both) to zero would succeed, but subsequent `stty size' would say `no size information for this device' due to the ioctl failing with EINVAL. * src/system.h: If PRIdMAX, PRIoMAX, PRIuMAX, and PRIxMAX are not all defined and either ULONG_MAX or ULLONG_MAX is not defined, then fail at compile-time rather than let tools like od produce invalid results at run time. 2004-12-21 Jim Meyering <jim@meyering.net> * src/csplit.c (usage): Say the default names are `xx00, xx01, ...', not `xx01, xx02, ...'. Reported by Matt Kraai in http://bugs.debian.org/286605 * tests/misc/split-fail: Avoid spurious failure on x86 Solaris5.9 when using c89. 2004-12-20 Paul Eggert <eggert@cs.ucla.edu> * src/split.c (usage): Mention default size. Suggested by Dan Jacobson. 2004-12-19 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Mention that one should eval "`dircolors`" rather than `dircolors`. 2004-12-17 Jim Meyering <jim@meyering.net> * tests/mv/hard-link-1: Rearrange to use newer trap-handling code, so temporary directories aren't left behind upon e.g., interrupt. 2004-12-16 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (print_dir): Use "%s: not listing already-listed directory", not "not listing already-listed directory: %s", to format already-listed directories, to be consistent with other diagnostics involving file names and colons. 2004-12-15 Jim Meyering <jim@meyering.net> * src/Makefile.am (__LDADD): Define, so that building `[' on Solaris still uses the -lgen library that it requires in order to get a definition of eaccess. 2004-12-14 Jim Meyering <jim@meyering.net> tac would exit immediately upon I/O or temp-file creation failure. Now it continues on, processing any remaining command line arguments. * src/tac.c: Include quotearg.h. Use quotearg_colon in most diagnostics. (copy_to_temp): Rewrite not to exit upon I/O or temp-file-creation failure. Before, this command (with /full/tmp being a full partition) TMPDIR=/full/tmp ./tac /proc/modules tac.c would exit immediately upon the write error while trying to copy non-seekable /proc/modules to the full partition. Now it still reports the failure but continues on with the remaining file. (tac_nonseekable): Return false also if copy_to_temp fails. [DONT_UNLINK_WHILE_OPEN]: Add a FIXME comment explaining that using atexit like this is wrong. * NEWS: Document this. * tests/misc/tac-continue: New test for this. * tests/misc/Makefile.am (TESTS): Add tac-continue. * tests/chown/basic: Add a few more tests. 2004-12-13 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (gobble_file): Change arg name to be command_line_arg rather than explicit_arg, for consistency with copy.c. (extract_dirs_from_files): Remove ignore_dot_and_dot_dot arg, since it is deducible from dirname arg. All callers changed. (extract_dirs_from_files, print_dir, queue_directory): Add command_line_arg arg. All callers changed. (struct pending): Add command_line_arg member. (main): Use NULL rather than 0 when appropriate. (set_exit_status, file_failure): New functions. (queue_directory): Store command_line_arg into new structure. (print_dir, gobble_file, get_link_name): Use file_failure to report problems in accessing files, so that the exit status is set consistently. (print_dir): Simplify readdir failure code yet again. If closedir fails, report "closing directory" rather than "reading directory" failure. (xstrcoll): Use set_exit_status to set status on failure. * tests/ls-2/tests (no-a-isdir-b): This now exits with status 2, not status 1. 2004-12-11 Jim Meyering <jim@meyering.net> Avoid a race condition vulnerability in chown, when used with --from=O:G and without the (-h) --no-dereference option. * src/chown-core.c (restricted_chown): New function. (change_file_owner): Call it. Reported by Ulrich Drepper. * NEWS: Mention this. 2004-12-09 Paul Eggert <eggert@cs.ucla.edu> * ls now exits with status 1 on minor problems, 2 if serious trouble. * NEWS: Document this. * src/ls.c (LS_MINOR_PROBLEM, LS_FAILURE): New constants. All uses of EXIT_FAILURE replaced with LS_FAILURE, unless specified below. (main): Initialize exit failure to LS_FAILURE. (print_dir, gobble_file, get_link_name, xstrcoll): Set exit status to LS_MINOR_PROBLEM if the failure is minor. (print_dir): Do not give up on entire directory merely because readdir returns EOVERFLOW. (usage): Explain exit status. * tests/help-version: ls and variants now exit with status 2 on serious trouble. 2004-12-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document new UTC+HH:MM date syntax, and put date changes together. 2004-12-07 Paul Eggert <eggert@cs.ucla.edu> * src/factor.c (factor): Don't list 1 as a factor of 1. Problem reported by Thomas Folz-Donahue. 2004-12-06 Jim Meyering <jim@meyering.net> * tests/du/files0-from: Sanitize environment. Otherwise, e.g., BLOCKSIZE=k would cause a failure, and that setting is the default (exported from /etc/profile) on at least one NetBSD 1.6 system. * tests/du/no-deref: Likewise. * tests/cp/symlink-slash: Likewise. * tests/ls/symlink-slash: Likewise 2004-12-05 Jim Meyering <jim@meyering.net> * tests/tail/Test.pm (err-6) ["tail -c"]: Avoid test failure when _POSIX2_VERSION=199209 is in the environment, or when building on e.g., OpenBSD 3.2. 2004-12-04 Jim Meyering <jim@meyering.net> * NEWS: Mention cut's new --complement option. 2004-10-01 Paolo Bonzini <bonzini@gnu.org> * cut.c (complement, COMPLEMENT_OPTION): New. (longopts): Add --complement. (usage): Say not that -b, -c, and -f `print' fields, but rather that they `select' fields for printing. Describe the new --complement option. (mark_range_start): Extracted from set_fields. (print_kth): Support --complement. (compare_ranges): New function. (set_fields): Rewrite the part that populates range_start_ht, merging it with the part that populates printable_field. (main): Handle --complement. 2004-12-03 Paul Eggert <eggert@cs.ucla.edu> * src/tail.c (tail_file): Set errnum to -1 if the initial "tail" failed. This works around an assertion failure reported by Roberto Nibali in: http://lists.gnu.org/archive/html/bug-coreutils/2004-12/msg00012.html 2004-12-02 Jim Meyering <jim@meyering.net> With using --color and with LS_COLORS saying not to color executables, don't stat every file. * src/ls.c (is_colored): New function. (gobble_file): Use it. (main): Use it here, in place of too-strict tests against NULL: if either ORPHAN or MISSING was set to 0 from LS_COLORS, the old test would fail. 2004-12-01 Paul Eggert <eggert@cs.ucla.edu> * src/comm.c (compare_files): Assume setlocale exists. * src/join.c (keycmp): Likewise. * src/seq.c (decimal_point): Treat like sort. Now char. All uses changed. (main): Assume localeconv exists. Use same code as sort. * src/sort.c (C_DECIMAL_POINT): Remove. Use changed to '.'. Assume setlocale exists. (thousands_sep): Renamed from th_sep. (IS_THOUSANDS_SEP): Remove. All uses replaced by comparisons. (NONZERO): Parenthesize use of arg. (numcompare): Avoid duplicate loads. Use ISDIGIT as boolean, for consistency. Avoid unnecessary negation by reversing fraccompare args. (main): Rewrite localeconv call to match seq.c. * src/system.h: Assume locale.h exists. (HAVE_SETLOCALE): Remove. * src/uniq.c (different): Assume setlocale exists. * src/ls.c (sort_files): Minor cleanup. Remove an unnecessary 'volatile' on a local variable. Rewrite to avoid unnecessary double-assignment to 'func' in the usual case where strcoll does not fail. 2004-11-30 Paul Eggert <eggert@cs.ucla.edu> * src/pinky.c (gethostname): Remove decl. (scan_entries): Use IS_USER_PROCESS instead of by-hand code. * src/uptime.c (print_uptime): Use IS_USER_PROCESS and UT_TYPE_BOOT_TIME instead of by-hand code. * src/users.c (list_entries_users): Use IS_USER_PROCESS instead of by-hand code. * src/who.c (USER_PROCESS, RUN_LVL, INIT_PROCESS, LOGIN_PROCESS, DEAD_PROCESS, BOOT_TIME, NEW_TIME, UT_TYPE_UNDEF, UT_TYPE): Remove. (IS_USER_PROCESS): Move to ../lib/readutmp.h. (UT_TYPE_RUN_LVL, UT_TYPE_INIT_PROCESS, UT_TYPE_LOGIN_PROCESS, UT_TYPE_DEAD_PROCESS, UT_TYPE_NEW_TIME): New macros. (gethostname): Remove decl. (list_entries_who, scan_entries): Use the new macros defined above, for consistency with pinky, uptime, and users. 2004-11-25 Paul Eggert <eggert@cs.ucla.edu> Fix problem reported by Scott S. Tinsley for HP-UX 11.11 using HP's ANSI C compiler. Declaring int functions causes warnings on some modern systems and shouldn't be needed to compile on ancient ones. * src/copy.h (stat, lstat, rename): Remove decls. * src/install.c (stat): Remove decl. * src/ln.c (link, symlink): Remove decls. 2004-11-25 Jim Meyering <jim@meyering.net> * man/help2man: Import help2man-1.35.1. * man/Makefile.am (.x.1): Remove now-unnecessary use of locally-added --program-name=NAME option. Now, help2man gets the name from the [NAME] section (i.e. from our .x file). * man/install.x: Use `install', not `ginstall' in the one-line description. Reported by Brendan O'Dea. * man/sha1sum.x: Use `sha1sum', not `shasum'. 2004-11-24 Jim Meyering <jim@meyering.net> Since the changes of 2004-05-22, the u.saved_cwd member at the bottom of the active-directory stack was no longer strictly necessary. This change removes that member and uses the newer cwd_state parameter for the final restore_cwd. * src/remove.c (struct AD_ent) [u]: Remove now-unnecessary union. [dev_ino]: Rename from `a'. (AD_pop_and_chdir): Add a parameter to play the role of just-removed bottom-of-stack cwd-state member. (AD_pop_and_chdir): No longer return boolean. Adjust caller. (AD_push_initial): Remove CWD parameter. Adjust caller. 2004-11-23 Paul Eggert <eggert@cs.ucla.edu> Minor performance improvements and cleanups for "touch". * src/touch.c (posix_date): Remove; not needed as a static var. All uses rewritten. (touch): Use new futimens function to operate more efficiently in some cases. Don't stat/fstat existing file when (!amtime_now && change_times == (CH_ATIME | CH_MTIME)); the old time stamps aren't needed in that case. (main): change_times is int, not bool. Simplify test for change_times. 2004-11-20 Paul Eggert <eggert@cs.ucla.edu> * src/install.c (usage): Avoid usage that runs afoul of Docbook translation. Problem reported by Eric S. Raymond. Restore dd's noctty flag, reverting the change of 2004-04-08. POSIX does not allow "dd" to use O_NOCTTY by default. * NEWS: Add noctty flag to dd. * doc/coreutils.texi (dd invocation): Likewise. * src/dd.c (flags, usage, main): Likewise. 2004-11-19 Alfred M. Szmidt <ams@gnu.org> * src/ls.c (usage): Clarified description of --no-group (-G), --human-readable (-h), --inode (-i), --size (-s), --time, and --time-style. 2004-11-19 Jim Meyering <jim@meyering.net> * src/ls.c (usage): Clarify description of --author. Tweak indentation so that help2man creates better nroff. Reported by Dan Jacobson. * src/uniq.c (check_file): Don't check stdout for errors here. * src/pwd.c (find_dir_entry): Update comment to match reality. 2004-11-18 Jim Meyering <jim@meyering.net> * src/pwd.c (robust_getcwd): Correct the comment: this function constructs the directory name. The caller prints it. 2004-11-16 Paul Eggert <eggert@cs.ucla.edu> * src/stat.c (STATFS): New macro, for portability to Solaris 9. (do_statfs): Use it. * src/basename.c, src/chroot.c, src/cksum.c, src/dd.c, src/dirname.c, src/factor.c, src/hostid.c, src/hostname.c, src/link.c, src/logname.c, src/nohup.c, src/printenv.c, src/pwd.c, src/setuidgid.c, src/sleep.c, src/sync.c, src/tsort.c, src/unlink.c, src/uptime.c, src/users.c, src/whoami.c, src/yes.c (main): Use getopt_long rather than getopt. * src/readlink.c (main): argv is not const. * src/cut.c (usage): Improve documentation along the lines suggested by Debian 5.2.1-2. * src/echo.c (usage): Likewise. * src/expr.c (usage): Likewise. * src/dircolors.hin: Add putty, screen-bce. * src/pinky.c (print_entry): Fix memory leak. * src/who.c (print_user): Likewise. 2004-11-15 Paul Eggert <eggert@cs.ucla.edu> * NEWS: New dd operand "status=noxfer". * src/dd.c (C_ASCII, C_EBCDIC, C_IBM, C_BLOCK, C_UNBLOCK, C_LCASE, C_UCASE, C_SWAB, C_NOERROR, C_NOTRUNC, C_SYNC, C_TWOBUFS, C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): Now constants, not macros. (STATUS_NOXFER, statuses): New constants. (usage, print_stats, scanargs): Add support for status=noxfer. (usage): Update status output to match new behavior. (print_stats): Always output complete byte count. Put space between numbers and units, as SI requires. Use ngettext so that i18n can use plurals for "byte" and "second". Don't multiply by 1e-9 (inexact); divide by 1e9 (which is exact). (iflag_error_msgid, oflag_error_msgid): Remove; replace uses by the string. * tests/dd/skip-seek (@Tests): Use status=noxfer to avoid problems with regression testing. 2004-11-14 Paul Eggert <eggert@cs.ucla.edu> * NEWS: dd now outputs total bytes, seconds, and bytes per second. * src/Makefile.am (dd_LDADD): Add $(LIB_CLOCK_GETTIME). * src/dd.c: Include "human.h". (w_bytes, start_time): New vars. (usage): Document new I/O statistics output (print_stats): Output new I/O statistics. (cleanup): Do statistics after closing stdin and stdout, so that the times are more accurate. (write_output, dd_copy): Count output bytes. (main): Get initial value of clock. 2004-11-14 Jim Meyering <jim@meyering.net> Backslash-escape `-'s in email addresses, so that they are rendered properly in UTF-locales. * man/help2man (escape_hyphens): New function. (main): Call it on email addresses. * src/sort.c (zaptemp): Mark new diagnostic for translation. * tests/misc/close-stdout: New file. Test today's closeout.c change. * tests/misc/Makefile.am (TESTS): Add close-stdout. 2004-11-13 Jim Meyering <jim@meyering.net> * src/test.c (usage): Put the description of `[-n] STRING' on two lines, one for `-n STRING' and one for `STRING' so that help2man properly escapes the `-'. Otherwise, the hyphen is rendered inappropriately in UTF-8 locales. Reported by Uwe Zeisberger in http://bugs.debian.org/281069. 2004-11-12 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document the following changes. * src/sort.c: Avoid O(N**2) behavior when there are many temporary files. (temptail): New variable, so that we can easily append to list. (create_temp_file): Create new files at end of list, so that searching the list has O(N*NMERGE) behavior instead of O(N**2). (zaptemp): Update temptail if needed. (mergefps, merge): Accept new arg that counts temp files, and keep it up to date as we create and remove temporaries. This is for efficiency, so that we don't call zaptemp so often. All callers changed. (sort): Don't create array in reverse order, since the list of temporaries is now in the correct order. (zaptemp): Protect against race condition: if 'sort' is interrupted in the middle of zaptemp, it might unlink the temporary file twice, and the second time this happens the file might already have been created by some other process. (zaptemp): Warn if a temporary file is not removed. (create_temp_file): Use offsetof for clarity. (die): Move it up earlier, to clean up the code a bit. * src/pr.c (strtoumax): Declare if not declared. (skip_to_page, first_page_number, last_page_number, page_number, first_last_page, print_header): Use uintmax_t for page numbers. (first_last_page): Remove unnecessary forward declaration. Do not modify arg (it is now a const pointer). Return a true if successful, false (without print a diagnostic) otherwise. (main): If +XXX does not specify a valid page range, treat it as a file name. This follows the response to Open Group XCU ERN 41 <http://www.opengroup.org/sophocles/show_mail.tpl?source=L&listname=austin-group-l&id=7717>, which says the behavior is allowed. (skip_to_page): When starting page number exceeds page count, print both numbers in the diagnostic. (print_header): Detect page number overflow. 2004-11-07 Jim Meyering <jim@meyering.net> * src/uname.c [__APPLE__]: Include <mach/machine.h> and <mach-o/arch.h>. (main) [__APPLE__]: Get the processor type via syscall rather than hard-coding "powerpc". From Toby Peterson. * src/sort.c (merge): Remove declarations of now-unused variables. 2004-11-06 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (first_same_file): Remove. Move most of the code to.... (avoid_trashing_input): New function. (merge): Avoid some silly merges, e.g., copying a single file to a temporary file when there are exactly 17 input files to merge. Take a count of temporary files rather than a max_merge arg. All uses changed. 2004-11-06 Jim Meyering <jim@meyering.net> * src/sort.c (xfclose): Don't close stdout here (just flush it), since close_stdout now closes stdout unconditionally. 2004-11-05 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (inittables, sort_buffer_size, getmonth, mergefps, first_same_file, merge, sort, main): Use size_t for indexes to arrays. This fixes some unlikely havoc-wreaking bugs (e.g., more than INT_MAX temporary files). (getmonth, keycompare, compare): Rewrite to avoid need for alloca, thus avoiding unchecked stack overflow in some cases. As a side effect this improve the performance of "sort -M" by a factor of 4 on my benchmarks. 2004-11-03 Paul Eggert <eggert@cs.ucla.edu> * src/stty.c: Include "vasprintf.h" since we use vasprintf now. * src/Makefile.am (check-AUTHORS): Don't assume \? works in a sed expression; it's not portable. Problem reported by Albert Chin. Don't invoke a program more than once. * src/groups.sh (version): New variable, containing author info, for benefit of AUTHORS check. Use it when acting on --version option. * AUTHORS: Remove duplicate lines. Remove bogus "chroot:" in groups line. * src/system.h: Don't #define and #undef getopt around <stdlib.h>, as this breaks the new regime that does "#define getopt rpl_getopt". Problem reported by Albert Chin for Solaris 9 with Sun cc in: http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00019.html I suppose this may cause problems on ancient hosts with incompatible getopt declarations, but we'll cross that bridge if the problem gets reported to us by someone who can test the fix. 2004-11-03 Jim Meyering <jim@meyering.net> * src/tac.c: quote(...) file names in diagnostics. 2004-10-29 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document getdate changes. 2004-10-29 Jim Meyering <jim@meyering.net> * src/tac.c (tac_file): Remove temporary prototype and move this function `down' so that it precedes definition of tac_nonseekable. `tac /proc/modules' would print nothing Reported by Harald Dunkel in http://bugs.debian.org/278604. * src/tac.c (copy_to_temp): Renamed from save_stdin, since now it copies a general file descriptor, not just stdin. (tac_nonseekable): Renamed/adapted from tac_stdin. (tac_file): Get fd via `open' directly rather than via fopen/fileno, since we never used the stream. Perform "-" to stdin mapping here rather than in main. Determine whether a file is seekable, by trying to `lseek' to its end, and dispatch to tac_seekable or tac_nonseekable accordingly. (main): Rewrite argument handling now that it uses only tac_file. * NEWS: Mention it here. 2004-10-21 Jim Meyering <jim@meyering.net> * tests/mv/leak-fd: New file. * tests/mv/Makefile.am (TESTS): Add it. * tests/rm/dot-rel: New file. * tests/rm/Makefile.am (TESTS): Add it. Correct my patch of 2004-10-18. * src/remove.c (rm): Destroy the saved_cwd here (via cwd_state), if necessary, not in remove_dir. Otherwise, removing multiple `.'-relative nonempty directories no longer worked. 2004-10-20 Paul Eggert <eggert@cs.ucla.edu> * src/fmt.c (usage): Improve description of --prefix. Problem reported by Edward Welbourne. * man/uniq.x: Change summary so that it doesn't imply that uniq writes to its input file. Problem reported by Dan Jacobson. 2004-10-18 Jim Meyering <jim@meyering.net> Plug a leak that would cause a cross-device mv to fail when operating on too many command-line-specified nonempty directories. * src/remove.c (remove_dir): Destroy the `struct saved_cwd' on the top of the stack before returning. This usually closes the file descriptor that was used to return to the original working directory. Reported by Cyril Bouthors in http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/3048 * NEWS: Mention it here. * src/pathchk.c (validate_file_name): Give a more descriptive diagnostic when pathconf fails. This also avoids an unwarranted warning from gcc-3.3.5 about a format not being a string literal. * src/sleep.c (main): Remove declaration of unused local, c. * src/printenv.c (main): Likewise. * src/logname.c (main): Likewise. * src/uptime.c (main): Likewise, for optc. * src/tsort.c (main): Likewise, for opt. 2004-10-17 Paul Eggert <eggert@cs.ucla.edu> * AUTHORS: Add self to pathchk. * src/pathchk.c (AUTHORS): Add self. Change "path" to "file name" whenever possible. Remove usage comment, as it was a duplication of the code or doc. Include <wchar.h> if available. (mbrlen, mbstate_t) [! (HAVE_MBRLEN && HAVE_MBSTATE_T)]: Define. (NEED_PATHCONF_WRAPPER, PATH_MAX, PATH_MAX_FOR, NAME_MAX, pathconf_wrapper, portable_chars, dir_ok): Remove. (NAME_MAX_MINIMUM, PATH_MAX_MINIMUM): New macros. (pathconf, _PC_NAME_MAX, _PC_PATH_MAX): Define if nonexistent. (portable_chars_only): New arg FILELEN. Don't assume ASCII; we might be on an EBCDIC host. Don't assume unibyte locale in diagnostic. (component_start, component_len): New functions. (validate_file_name): Renamed from validate_path. All uses changed. Pretty much a complete rewrite. Don't make copy of file arg. Always append trailing slash to pathconf arg, just in case it's a symlink (this is pure paranoia; we don't know of any hosts where the trailing slash is required). Use size_t instead of long int when possible. Avoid need to call pathconf in most practical cases. Don't use euidaccess several times to test searchability; just use lstat once. Reword diagnostic to put the (often very long) file names last. 2004-10-15 Paul Eggert <eggert@cs.ucla.edu> * src/printf.c (usage): Mention Unicode, and use H for hex digits. 2004-10-13 Jim Meyering <jim@meyering.net> * NEWS: Mention today's fts.c fix. 2004-10-13 Paul Eggert <eggert@cs.ucla.edu> * tests/stty/row-col-1: Set LC_ALL=C. 2004-10-12 Jim Meyering <jim@meyering.net> * src/dircolors.hin: Add .flac and .mpc as audio suffixes. From Jesus Climent in http://bugs.debian.org/276149. 2004-10-05 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (ignore_mode): Renamed from ignore, to avoid shadowing problems. All uses changed. 2004-10-05 Jim Meyering <jim@meyering.net> * .x-sc_trailing_blank: Add an exclusion for config/texinfo.tex, since Karl says its trailing blanks are there to stay :-) 2004-10-04 Paul Eggert <eggert@cs.ucla.edu> * src/expr.c (NEW, OLD): Remove, partly to avoid reference to obsolescent macro XMALLOC. All uses replaced by xmalloc and free. 2004-09-28 Jim Meyering <jim@meyering.net> * src/tail.c (usage): Clarify: --retry works only with --follow=name. Reported by Nik A. Melchior in http://bugs.debian.org/273781. 2004-09-27 Paul Eggert <eggert@cs.ucla.edu> * src/od.c (format_address_paren): c is optional, so don't output it if it's '\0'. 2004-09-26 Paul Eggert <eggert@cs.ucla.edu> Add support for ls --hide. Idea suggested by Bardur Arantsson. * NEWS: Document this. * src/ls.c (file_ignored): Renamed from file_interesting, with inverted return value. Accept the file name, not a struct dirent *. All uses changed. Avoid the expense of calling fnmatch if the file is ignorable due to leading '.'. (all_files, really_all_files): Removed; replaced by: (ignore): New variable. All uses changed. (IGNORE_DEFAULT, IGNORE_DOT_AND_DOTDOT, IGNORE_MINIMAL, HIDE_OPTION): New constants. (hide_patterns): New variable. (long_options, decode_switches, file_ignored, usage): Add support for --hide. (patterns_match): New function. (usage): Replace "hide" with "ignore" in explanation, to avoid confusion. 2004-09-25 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (gobble_file, print_long_format): Don't assume that human-readable output has a byte count equal to its column width; this isn't always true in locales where the radix character is not '.' or ','. (format_user_or_group): Revamp code to match the above fix; this avoids the (very faint) possibility of integer overflow. 2004-09-24 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Mention that "chmod -r -w x" now works as expected. * src/chmod.c (main): Revamp option processing to support this. * tests/chmod/Makefile.am (TESTS): Add 'usage'. * tests/chmod/usage: New set of tests for usage like that. 2004-09-24 Jim Meyering <jim@meyering.net> * Makefile.maint (CVS_LIST): Use --types=AFGM option so that it lists only cvs-controlled regular files. * src/csplit.c (xalloc_die): Declare to be `extern', not `static' to avoid a warning from gcc-3.4.1. Reported by Paul Eggert. 2004-09-23 Paul Eggert <eggert@cs.ucla.edu> * Makefile.maint (CVS_LIST): New macro. (sc_space_tab, sc_prohibit_atoi_atof, sc_file_system, sc_prohibit_jm_in_m4, sc_system_h_headers, sc_sun_os_names, sc_trailing_blank, po-check): Use it instead of the nonstandard "cvsu --list". * src/tail.c (parse_obsolete_option): Bring back support for obsolete option followed by non-obsolete, or by more than one file. When obsolete, conform to SUSv2 rather than original POSIX 1003.2-1992, as SUSv2 corrected the case of "tail -c". Add support for the SUSv2 "b" modifier. * NEWS: Mention the above. * tests/tail/Test.pm: New test case obs-b to check the above. err-[134] no longer need _POSIX2_VERSION=199209. Fix comments to match revised behavior. 2004-09-22 Jim Meyering <jim@meyering.net> * Use automake-1.9.2. Regenerate dependent files. * src/remove.c (struct dirstack_state) [current_arg_jumpbuf]: Improve the comment. Clean up scoping etc. so that some make `distcheck' tests pass. * src/csplit.c (xalloc_die): Declare to be static. * src/chown-core.c (chown_files): Declare as `extern'. * src/cp-hash.c (remember_created): Likewise. * src/copy.c (copy): Likewise. * src/checksum.h (enum) [ALG_MD5]: Define to be 1, not 0. * src/id.c, src/nl.c, src/expand.c: Remove trailing blanks. * src/unexpand.c: Likewise. * src/Makefile.am (check-AUTHORS): New rule. (check): Depend on it. * AUTHORS: Update. * Makefile.maint (syntax-check-rules): Remove duplicate sc_tight_scope. (sc_system_h_headers): Also exclude copy.h; it includes <stdbool.h>. 2004-09-22 Paul Eggert <eggert@cs.ucla.edu> * src/ls.c (decode_switches): Don't compare a short value to SIZE_MAX: GCC sometimes complains. 2004-09-21 Paul Eggert <eggert@cs.ucla.edu> * NEWS: The following commands now reject unknown options: basename dirname factor hostname link nohup sync unlink yes Also, pathchk no longer accepts trailing options. * src/basename.c: Include <getopt.h>. * src/chroot.c: Likewise. * src/dirname.c: Likewise. * src/factor.c: Likewise. * src/hostid.c: Likewise. * src/hostname.c: Likewise. * src/nohup.c: Likewise. * src/pwd.c: Likewise. * src/setuidgid.c: Likewise. * src/sync.c: Likewise. * src/basename.c (main): Reject unknown options. * src/dirname.c (main): Likewise. * src/factor.c (main): Likewise. * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/link.c (main): Likewise. * src/nohup.c (main): Likewise. * src/pwd.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/sync.c (main): Likewise. * src/unlink.c (main): Likewise. * src/yes.c (main): Likewise. * src/cat.c (main): Remove unused "case 0". * src/chgrp.c (main): Likewise. * src/chmod.c (main): Likewise. * src/chown.c (main): Likewise. * src/comm.c (main): Likewise. * src/cp.c (main): Likewise. * src/csplit.c (main): Likewise. * src/cut.c (main): Likewise. * src/date.c (main): Likewise. * src/df.c (main): Likewise. * src/du.c (main): Likewise. * src/env.c (main): Likewise. * src/expand.c (main): Likewise. * src/fold.c (main): Likewise. * src/head.c (main): Likewise. * src/id.c (main): Likewise. * src/install.c (main): Likewise. * src/join.c (main): Likewise. * src/ln.c (main): Likewise. * src/ls.c (decode_switches): Likewise. * src/mkdir.c (main): Likewise. * src/mkfifo.c (main): Likewise. * src/mknode.c (main): Likewise. * src/mv.c (main): Likewise. * src/nl.c (main): Likewise. * src/paste.c (main): Likewise. * src/pinky.c (main): Likewise. * src/pr.c (main): Likewise. * src/ptx.c (main): Likewise. * src/readlink.c (main): Likewise. * src/rm.c (main): Likewise. * src/rmdir.c (main): Likewise. * src/seq.c (main): Likewise. * src/shred.c (main): Likewise. * src/split.c (main): Likewise. * src/sum.c (main): Likewise. * src/tac.c (main): Likewise. * src/tail.c (main): Likewise. * src/tee.c (main): Likewise. * src/touch.c (main): Likewise. * src/tr.c (main): Likewise. * src/tty.c (main): Likewise. * src/uname.c (main): Likewise. * src/unexpand.c (main): Likewise. * src/wc.c (main): Likewise. * src/who.c (main): Likewise. * src/chroot.c (main): Use getopt where it suffices, not getopt_long. * src/cksum.c (main): Likewise. * src/dd.c (main): Likewise. * src/logname.c (main): Likewise. * src/printenv.c (main): Likewise. * src/sleep.c (main): Likewise. * src/tsort.c (main): Likewise. * src/uptime.c (main): Likewise. * src/users.c (main): Likewise. * src/whoami.c (main): Likewise. * src/du.c (long_options): Standardize on NULL vs 0. * src/rm.c (long_opts): Likewise. * src/logname.c (long_options): Remove. * src/printenv.c (long_options): Likewise. * src/sleep.c (long_options): Likewise. * src/tsort.c (long_options): Likewise. * src/uptime.c (longopts): Likewise. * src/users.c (longopts): Likewise. * src/whoami.c (long_options): Likewise. * src/pathchk.c (longopts): Add --help, --version. (main): Use longopts rather than parse_long_options. * src/stty.c (longpts, main): Likewise. * src/pathchk.c (main): Don't reorder arguments, so that we can check weird file names. * src/readlink.c: Don't include "long-options.h". * src/sort.c: Likewise. * src/stty.c: Likewise. * src/split.c (verbose): Now bool, not int. (VERBOSE_OPTION): New enum. (longopts, main): Use it. * tests/factor/basic: Adjust to new wording in diagnostic that results from the above changes. 2004-09-21 Jim Meyering <jim@meyering.net> * man/rm.x: Say "the response is affirmative" rather than "the response begins with y or Y", so that the documentation is accurate in non-English locales. Problem reported by Munzir Taha. 2004-09-19 Paul Eggert <eggert@cs.ucla.edu> * src/echo.c (main): Don't pass NULL to strcmp when POSIXLY_CORRECT and given no arguments. * src/md5sum.c (STRING_OPTION): Remove. (long_options, main): Remove support for undocumented and obsolete --string option, as suggested in the 1996-09-26 patch. * NEWS: Document this. * tests/rm/fail-eperm: Don't try to remove writeable files in a sticky /tmp directory, as SVR4-like systems (e.g., Solaris 9) let you remove such files. Problem reported by Bert Fischer in: http://lists.gnu.org/archive/html/bug-coreutils/2004-09/msg00074.html 2004-09-18 Paul Eggert <eggert@cs.ucla.edu> * src/md5sum.c (STATUS_OPTION, STRING_OPTION): New enums. (long_options, main): Use them instead of magic numbers 2 and 1. For --string, optarg can't possibly be NULL. * src/dd.c (usage): Distinguish between options and operands. (scanargs): Don't mess with argc, argv; getopt_long handles this now. Say "operands" for operands, not "options". (main): Use getopt_long, so that "dd --" works as POSIX requires. * tests/dd/misc: Check for "dd --". * src/chroot.c (main): Reject unknown options instead of interpreting them as a directory to chroot to. * src/cksum.c: Remove obsolete comment about POSIX 1003.2/D11.2. The current standard (POSIX 1003.1-2004) is correct. (crc_remainder) [defined CRCTAB]: Renamed from "remainder" to avoid collision with builtin function. (main) [defined CRCTAB]: Output in lowercase hexadecimal, and output the first 0 as 8 digits, to make it easier to compare to the text of the standard. Output crctab to be a const array. (crctab): Use result of above changes. (long_options): Remove; not needed if empty. (main): getopt_long can't return 0 here, so simplify the code. 2004-09-13 Jim Meyering <jim@meyering.net> * src/Makefile.am (localedir.h): Don't redirect directly to target. 2004-09-13 Paul Eggert <eggert@cs.ucla.edu> * src/id.c (print_full_info): Don't exit with failure status simply because a user or group number can't be turned into a name. Problem reported by Felipe Kellermann in: http://lists.gnu.org/archive/html/bug-coreutils/2004-09/msg00081.html 2004-09-12 Jim Meyering <jim@meyering.net> * Makefile.maint (my-distcheck): When building with -Werror, also require -Wshadow. 2004-09-10 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "tail" now handles obscure POSIX 1003.2-1992 cases better. * src/tail.c (parse_obsolete_option): Renamed from parse_obsolescent_option, since the options are obsolete now. Remove bool *arg; just exit if there's an error. Revamp to follow POSIX 1003.2-1992 more precisely, to handle cases like "tail - file" and "tail -10 -- file" correctly when we are conforming to the older standard. (main): Adjust to this change. * tests/tail/Test.pm (test_vector): minus-* requires _POSIX2_VERSION=199209 now, to work correctly if there is an input file. err-1 and err-3 no longer errors if there is another file. 2004-09-09 Paul Eggert <eggert@cs.ucla.edu> * src/test.c (usage): Document -r, -w, -x more carefully. 2004-09-08 Paul Eggert <eggert@cs.ucla.edu> * src/test.c (usage): Document "test" (with no args) and "[ ]". Document that -h and -L don't dereference. * NEWS: Document that "tr xy -z" now works as per POSIX. Sort the descriptions. * src/tr.c (main): Don't reorder options. * tests/tr/Test.pm (fowler-1): New test case. 2004-09-06 Paul Eggert <eggert@cs.ucla.edu> * src/touch.c (main): Fix POSIX-conformance bug: "touch -- MMDDhhmm file" must be treated like "touch MMDDhhmm file" when conforming to pre-2001 POSIX. * NEWS: Document this. * tests/touch/obsolescent: Test for this bug. Also, set _POSIX2_VERSION=199209 and POSIXLY_CORRECT=1 so that it's a better test for obsolescent features. * src/sort.c (main): Emulate Solaris 8 and 9 "sort -y", so that "sort -y abc" is like "sort abc" whereas "sort -y 100" is like plain "sort". * src/od.c: Several changes for POSIX and FreeBSD compatibility. (COMMON_SHORT_OPTIONS): Add -B, -D, -e, -F, -H, -I, -L, -O, -s, -X. (long_options, main): --strings is now -S, not -s. (usage): Reflect the usage changes. (parse_old_offset): Do not issue a diagnostic on failure; callers now do this as necessary. (main): Support POSIX syntax. Remove unused case 0 from getopt_long. Add support for new short options (many undocumented) for compatibility with FreeBSD. Remove FIXME for -s; it's now POSIX-compatible. Default format is now oS, not o2. * NEWS: Describe the above. 2004-09-05 Paul Eggert <eggert@cs.ucla.edu> * src/stty.c (valid_options): Remove. (main): Fix some bugs in handling invalid option-combinations like "stty -F". (recover_mode): Arg is now char const *, not char *. (main): Use STDIN_FILENO, not 0. Simplify option-parsing code a tad. * tests/stty/basic-1: Check for the fixed bugs. 2004-09-03 Paul Eggert <eggert@cs.ucla.edu> * src/stat.c (HAVE_STRUCT_STATXFS_F_TYPE): Fix typo that prevented it from ever being nonzero. Reported by Pozsar Balazs in: http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00189.html (human_fstype): Add ramfs, squashfs, sysfs. Reported by Pozsar Balazs in: http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00188.html (human_fstype): Return char const *, not char *. Simplify internals a bit, and avoid casts. * src/dd.c (usage): "alternated EBCDIC" -> "alternate EBCDIC". (bit_count): Remove. All uses changed to.... (multiple_bits_set): New function. (scanargs): Use it, and check separately for each set of incompatible options, to improve diagnostics. (MX): Remove. (apply_translations): Move checks for incompatible options to scanargs, so that they're done consistently. 2004-09-02 Paul Eggert <eggert@cs.ucla.edu> Output correct errno-related diagnostic on "paste" I/O errors. * src/paste.c (write_error, xputchar): New functions. (paste_parallel): Use correct errno value after input error. (paste_parallel, paste_serial): Report errno value after output error. Port to diet libc. Problem reported by Felix von Leitner in: http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00171.html * src/paste.c (dummy_closed, CLOSED, dummy_endlist, ENDLIST): Remove; it's not portable C to assume FILE is a complete type. (paste_parallel): Use index test instead of ENDLIST, and NULL instead of CLOSED. 2004-08-24 Paul Eggert <eggert@cs.ucla.edu> POSIX-conformance fixes for "expand" and "unexpand". Also, consistently use "tab stop" rather than "tabstop". * NEWS: Document fixes. * src/expand.c: Revamp to resemble the new unexpand.c better. (usage): -i does not convert tabs after non-tabs. (add_tab_stop): Renamed from add_tabstop. All uses changed. (parse_tab_stop): Renamed from parse_tabstop. All uses changed. (validate_tab_stop): Renamed from validate_tabstop. All uses changed. (next_file, main): Check fclose against 0, not EOF. (expand): Remove unnecessary casts. Add another loop nesting level, for lines, so that per-line variables are initialized cleanly. Revamp tab checking. Check for write error immediately, rather than just once at the end of the program. * src/unexpand.c: Lkewise (for the expand.c changes). (TAB_STOP_SENTINEL): Remove. (tab_size): Now size_t, not uintmax_t, since we need to store the sequences of blanks. (max_column_width): New var. (usage): Say "blank" where POSIX requires this. (add_tab_stop): Calculate maximum column width. (unexpand): Store the pending blanks, instead of merely counting them. Follow POSIX's rules about -a requiring two blanks before a tab stop. Get rid of internal label and goto. * tests/unexpand/basic-1: Fix infloop-3 to match POSIX. Add blanks-1 through blanks-13. 2004-08-19 Paul Eggert <eggert@cs.ucla.edu> * NEWS: "chown : file", "chown '' file", and "chgrp '' file" now succeed without changing the uid and gid, like FreeBSD. * src/chgrp.c (parse_group): Return gid_t rather than storing it through a pointer. Treat "chgrp '' file" as a no-op change, as FreeBSD does. (main): Set chopt.group_name to NULL if the group is the empty string. * src/chown-core.c (describe_change): Describe changes to -1:-1 without using "to OWNERSHIP" phrase. * src/chown.c (usage): "chown '' file" is now allowed. (main): Do not set user name to the empty string if the group name is null. * tests/chgrp/basic: Test "chgrp '' file". * tests/chown/Makefile.am (TESTS): Add separator. * tests/chown/separator: New file, partly taken from Dmitry V. Levin's suggestion in <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html> 2004-08-11 Paul Eggert <eggert@cs.ucla.edu> * tests/install/basic-1: Test for the -d regression. 2004-08-11 Dmitry V. Levin <ldv@altlinux.org> * src/install.c (main): Fix -d regression introduced with --target-directory support at 2004-06-25. 2004-08-11 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c (copy_internal): When preserving links, unlink a destination with link count greater than one. This is so that commands like "cp -a" don't get confused when copying into a destination that already contains many hard links. Problem reported by Tim Waugh in: http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00053.html 2004-08-10 Paul Eggert <eggert@cs.ucla.edu> Convert all files to UTF-8. * tests/fmt/basic (8-bit-pfx): Use UTF-8, not Latin-1. * tests/sort/Test.pm (16a): Likewise. * tests/uniq/Test.pm (8): Likewise. * tests/misc/printf-hex: Use ASCII, not Latin-1. * NEWS: Document "sort -o -" and "tee -" POSIX-conformance fixes. * src/shred.c (usage): "-" is an operand, not an option. * src/sort.c (die, xfopen, mergefps, first_same_file, merge): A null file arg means standard output. (main): "-o -" means to write to a file named "-", not to standard output. * src/tee.c (usage, tee): "tee -" writes to standard output, not to a file named "-". 2004-08-10 Dmitry V. Levin <ldv@altlinux.org> * src/install.c (change_timestamps): Fix int->bool conversion bugs introduced on 2004-07-29. 2004-08-09 Paul Eggert <eggert@cs.ucla.edu> * src/shred.c (wipename): Work even if the directory is writeable and not readable. Prefer write access, since this should work better with fdatasync. * src/csplit.c (xalloc_die): New function. (main): Remove now-obsolete initialization of xalloc_fail_func. * src/md5sum.c: Adjust to sha->sha1 renaming. 2004-08-08 Dmitry V. Levin <ldv@altlinux.org> Minor code cleanup. * src/readlink.c (canonicalize_fname): Remove unneeded proxy function. (can_mode): Make variable local. 2004-08-07 Paul Eggert <eggert@cs.ucla.edu> * src/system.h (O_BINARY) [!O_BINARY && defined O_BINARY]: Do not define, to avoid annoying compiler messages on QNX 6.3. Problem reported by Johan in: http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00050.html 2004-08-04 Paul Eggert <eggert@cs.ucla.edu> * src/system.h (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Define to a concatenation of string literals, not to an expression; needed for concatenation contexts. (INTMAX_MAX, INTMAX_MIN): New macros. * src/stat.c (print_stat): Don't assume st_ino / st_dev fits in unsigned long; this isn't true for st_ino on Solaris 9. 2004-08-03 Paul Eggert <eggert@cs.ucla.edu> * src/uname.c: Do not depend on HAVE_SYSCTL when deciding whether to include files. Include <sys/param.h> if HAVE_SYS_PARAM_H (not HAVE_SYSCTL). (main) [defined __POWERPC__]: Add a kludge to work around a Mac OS X bug, so that uname -p defaults to "powerpc" if sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0) fails. Problem reported by Petter Reinholdtsen in: http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html * src/uniq.c (hard_LC_COLLATE, ignore_case, different, check_file, main): Use bool for booleans. (writeline, check_file): Use uintmax_t for line counts. (check_file): Check for and report line number overflow, when that matters. * src/wc.c (iswspace, wc): Use to_uchar rather than a cast. (print_lines, print_words, print_chars, print_bytes, print_linelength, have_read_stdin, wc, wc_file, main): Use bool for booleans. (exit_status): Remove. (wc, wc_file): Return bool status. All callers changed. * src/who.c (scan_entries): 0 -> STDIN_FILENO. * src/whoami.c (main): Print uids using unsigned long int, not unsigned int. * src/unexpand.c: Int cleanup and minor reorganization to be more like src/expand.c. Include quote.h, xstrndup.h. (TAB_STOP_SENTINEL): Increase from INT_MAX to INTMAX_MAX. (convert_entire_line, have_read_stdin, parse_tabstops, next_file, unexpand, main): Use bool for booleans. (tab_size, tab_list, add_tabstop, validate_tabstops, unexpand): Use uintmax_t for column counts. (first_free_tab, validate_tabstops, unexpand): Use size_t for sizes. (add_tabstop, parse_tabstops, main): Don't reserve UINTMAX_MAX as a tab stop. (parse_tabstops): Don't use ISBLANK on possibly-signed char. Detect overflow in tab stop string. (next_file, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0. (unexpand): Concatenate input files the same way expand does. * src/touch.c (no_create, use_ref, posix_date, amtime_now, touch, main): Use bool for booleans. (main): Avoid integer overflow when given more than INT_MAX options. * src/tsort.c (struct item, n_strings): Use size_t for sizes. (have_read_stdin, count_items, scan_zeros, detect_loop, recurse_tree, walk_tree, tsort, main): Use bool for booleans. (exit_status): Remove. (tsort): Return a success flag instead of storing into a global. (main): Use it. * src/tty.c (silent, main): Use bool for booleans. (main): 0 -> STDIN_FILENO. * src/uname.c (print_element): Use bool for booleans. * src/test.c (TRUE, FALSE, SHELL_BOOLEAN, TRUTH_OR, TRUTH_AND): Remove. All uses replaced by C99 boolean primitives. (TEST_TRUE, TEST_FALSE): New constants, for readability. (test_unop, binop, unary_operator, binary_operator, two_arguments, three_arguments, posixtest, expr, term, and, or, is_int, age_of, one_argument, main): Use bool for booleans. (advance, unary_advance): Now inline procedures rather than a macros. (is_int): Renamed from isint, to avoid namespace clash with ctype.h. (term, and, or): When it's easy, loop instead of recursing. (term): Avoid integer overflow if there are INT_MAX-3 args (!). (binary_operator, unary_operator): Simplify by systematically rewriting true==FOO to FOO (where FOO is a boolean). (unary_operator): Don't consider a file to be a regular file merely because its mode&S_IFMT is zero. Just use S_ISREG. Remove unnecessary casts. Remove ifdefs for things like S_ISSOCK that are no longer needed, since stat-macros.h always defines them now. * src/tac-pipe.c (buf_init_from_stdin, find_bol, tac_mem): Use bool for booleans. (buf_init_from_stdin, buf_free, find_bol, print_line): Use size_t for sizes. * src/tac.c (separator_ends_record, tac_seekable, tac_file, tac_stdin, tac_stdin_to_mem, main): Use bool for booleans. (match_length, G_buffer_size, tac_seekable, main): Use size_t for sizes. (tac_seekable): Use ptrdiff_t for pointer subtraction. Report an error if the result is out of range. (tac_seekable, main): Check for integer overflow in buffer size calculations. (main): Remove unnecessary casts. * src/su.c (run_shell): Pass a new n_additional_args arg, so that the callee doesn't have to count 'em. All callers changed. Don't allocate more space for the arg vector than we'll need. Use memcpy to copy the args rather than rolling our own loop. Use size_t for sizes. (fast_startup, simulate_login, change_environment, log_su, correct_password, restricted_shell, main): Use bool for booleans. (longopts): Don't assume change_environment is an int. Use NULL, not 0, for pointers. (xsetenv): New function, replacing xputenv and concat. All callers changed. (elements): Remove; no longer needed. (log_su, correct_passwd, main): Prefer !x to x==NULL. (log_su): 2 -> STDERR_FILENO. (modify_environment, main): Don't assume that getenv's returned value has an indefinite lifetime. (modify_environment): Allocate a larger environ. (main): Remove an impossible 'case 0'; if it happens now, it'll get diagnosed. Don't assume getpwnam results outlive endpwent. Check for null or empty pw_name, pw_dir and for null pw_passwd. * src/stty.c (VA_START): Remove. All callers now use va_start. (_POSIX_VDISABLE): Remove unnecessary cast. (struct control_info, visible): Use cc_t for control chars. (struct control_info): Use size_t for sizes. (recover_mode, set_mode, display_speed, display_window_size, valid_options, main, display_changed): Use bool for booleans. (integer_arg): Return unsigned long int, not long int. Accept new max arg; all callers changed, to specify a maximum value for integer parameters instead of silently overflowing. (wrap): Do not overrun the stack buffer if the output contains more than 1024 bytes. Instead, malloc a buffer. (main): Remove a "what is this?!?" FIXME. Nobody knows what it is. Remove unnecessary casts. (set_control_char): Allow int values only up to cc_t range. (screen_columns): Don't reject INT_MAX. (display_changed, display_all, display_speed, recover_mode): Don't assume cc_t fits in int. * src/remove.h: Add copyright notice. (struct rm_options): Use bool for booleans. * src/rmdir.c (empty_paths, ignore_fail_on_non_empty, verbose, errno_rmdir_non_empty, remove_parents, main): Likewise. * src/sum.c (have_read_stdin, bsd_sum_file, sysv_sum_file, main): Likewise. (main): Don't dump core if invoked with argv[0]==NULL. * src/tee.c (tee, append, ignore_interrupts, main, tee): Use bool for booleans. (tee): Use ssize_t for read returns. * src/ptx.c: Add a FIXME mentioning that there are many unchecked integer overflows in this file. (gnu_extensions, auto_reference, input_reference, right_reference, ignore_case, initialize_regex, fix_output_parameters, output_one_roff_line, output_one_text_line, output_one_dumb_line, main): Use bool for booleans. (SKIP_SOMETHING, compare_words, digest_break_file, find_occurs_in_text, fix_output_parameters): Use to_uchar instead of a caset. (print_field): Rewrite to avoid cast. * src/printf.c (posixly_correct): Use bool for booleans. (verify, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0. (STRTOX): Rewrite to avoid casts. (print_esc_char): Arg is char, not int. * src/readlink.c (canonicalize): Remove. All uses now merely inspect can_mode. (no_newline, verbose): Use bool for booleans. (can_mode): Now of type int; use -1 to denote otherwise-uninitialized. * src/shred.c (struct Options, main): Use bool for booleans. (isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts. * src/split.c (cwrite, bytes_split, lines_split, line_bytes_split): Use bool for booleans. * src/stat.c (G_fail): Remove. (print_statfs): Print various gotta-be-nonnegative values using unsigned long int, not long int or int. (do_statfs, do_stat): Return a boolean success flag. (do_stat, main): Use bool for booleans. * src/pr.c: Add a FIXME mentioning that there are many unchecked integer overflows in this file. (TRUE, FALSE): Remove. All uses replaced by true and false. (struct COLUMN, read_line, print_page, print_stored, open_file, skip_to_page, init_fps, parallel_files, align_empty_cols, empty_line, FF_only, explicit_columns, extremities, keep_FF, print_a_FF, print_a_header, use_form_feed, have_read_stdin, print_across_flag, storing_columns, balance_columns, truncate_lines, join_lines, untabify_input, failed_opens, numbered_lines, skip_count, use_esc_sequence, use_cntrl_prefix, double_space, ignore_failed_opens, use_col_separator, pad_vertically, last_line, main, init_parameters, skip_read, read_line, print_stored): Use bool for booleans. (struct COLUMN, char_to_clump, store_char, print_char): Use char for chars. (clump_buff, print_clump): Use char[], not int[], for an array whose elements are always chars. (first_last_page, main, getoptarg, balance, add_line_number, char_to_uclump): Remove unnecessary casts. (init_parameters): Allocate chars, not ints, for clump_buff. (print_char): Use to_uchar before invoking ISPRINT. (char_to_clump): Convert to unsigned char before invoking ISPRINT. * src/nohup.c (main): Use bool for booleans. * src/paste.c (paste_parallel, paste_serial, main): Likewise. * src/pathchk.c (validate-path, main, portable_chars_only): Likewise. (portable_chars_only): Use to_uchar rather than a cast. * src/printenv.c (main): Use bool for booleans. Do not assume that the environ has at most one matching entry for each option (integer overflow was possible otherwise). * src/od.c (FMT_BYTES_ALLOCATED): Now an enum, not a decimal constant. Do not assume PRIdMAX etc. are strings of length 3 or less. (struct tspec): Use it. fmt_string is now an array, not a pointer, as there's little point to the indirection here. (struct tspec, flag_dump_strings, traditional, flag_pseudo_start, limit_bytes_to_format, abbreviate_duplicate_blocks, have_read_stdin, simple_strtoul, decode_one_format, open_next_file, check_and_close, decode_format_string, skip, write_block, read_char, read_block, parse_old_offset, dump, dump_strings, main): Use bool for booleans. (struct tspec): Use void *, not char *, for generic pointers. (bytes_to_oct_digits, bytes_to_signed_dec_digits, bytes_to_unsigned_dec_digits, bytes_to_hex_digits): Use char, not unsigned int, since char suffices. (print_s_char, print_char, print_s_short, print_short, print_int, print_long, print_long_long, print_float, print_double, print_long_double): Rewrite to avoid casts. These now take void * arguments, instead of char *. Use the same body for all functions, except for the choice of type. Assume C89 to simplify handling of signed char. (dump_hexl_mode_trailer, print_named_ascii, print_ascii): Rewrite to avoid casts. (print_named_ascii, print_ascii): Now takes void *, not char *. (decode_one_format): Use int for printf field widths, not unsigned int. Pass void * to subsidiary printers, not char *. Simplify handling of floating-point formats by factoring out common code dealing with precision and field width. (decode_format_string): Avoid need for temporary copy of each decoded struct tspec. (get_lcm): Remove unnecessary cast. (main): Fix bug where more than INT_MAX failed decodes were ignored. 2004-08-02 Paul Eggert <eggert@cs.ucla.edu> * src/nl.c (TRUE, FALSE): Remove; all uses changed to true, false. (enum number_format): Remove. (FORMAT_RIGHT_NOLZ, FORMAT_RIGHT_LZ, FORMAT_LEFT): Now strings, not enum values. (DEFAULT_SECTION_DELIMITERS): Now an array constant, not a macro. (section_del): Now const. (print_fmt): Remove. (starting_line_number, page_incr, blank_join, line_no, print_lineno, proc_text, main): Use intmax_t for line numbers. (reset_numbers, have_read_stdin, build_type_arg, nl_file, main): Use bool for booleans. (lineno_format): Now a string, not an enum value. (build_print_fmt): Remove. All calls removed. This work is now done within print_lineno. (build_type_arg): Use size_t for sizes. (print_lineno): Check for line number overflow. (proc_text, main): Remove unnecessary cast. * src/ln.c (symbolic_link, interactive, remove_existing_files, verbose, hard_dir_link, dereference_dest_dir_symlinks, do_link, main): Use bool for booleans. * src/ls.c (struct fileinfo, file_interesting, extract_dirs_from_files, color_symlink_as_referent, FILE_OR_LINK_MODE, sort_reverse, print_owner, print_group, numeric_ids, print_block_size, dired, print_with_color, check_symlink_color, print_inode, recursive, immediate_dirs, all_files, really_all_files, qmark_funny_chars, print_dir_name, format_needs_stat, format_needs_type, visit_dir, main, decode_switches, parse_ls_color, print_dir, file_interesting, gobble_file, make_link_path, basename_is_dot_or_dotdot, extract_dirs_from_files, print_long_format): Use bool for booleans. (dir_defaulted): Remove; no longer needed. (main): Use int to count files, since it suffices for argv. Rewrite to avoid need for dir_defaulted. (main, print_dir, gobble_file, get_link_name, xstrcoll): Set exit status to EXIT_SUCCES/EXIT_FAILURE rather than 0/1. (decode_switches): Put back check for ws.ws_col <= SIZE_MAX. Remove unnecessary cast to int. Use int instead of unsigned int to count from 0 to 1. (get_funky_string, print_type_indicator): Use char for bytes, not int. (make_link_path): Use NULL for null pointers. (quote_name): Use to_uchar instead of cast. * src/id.c (use_name, main, print_user, xgetgroups, print_group_list, print_full_info): Use bool for booleans. (problems): Remove, replacing with.... (ok): New var (inverted from old sense). (print_user, print_group, print_full_info): Print uids/gids with %lu, not %u. (xgetgroups): Don't run out of memory if getgroups or getugroups returns -1. * src/setuidgid.c (main): Print uids/gids with %lu, not %ld. * src/factor.c (wheel_tab): Use unsigned char instead of unsigned int, since it suffices. (factor, print_factors): Use size_t for sizes. (print_factors, do_stdin, main): Use bool for booleans. * src/fold.c (TAB_WIDTH): New macro; use it instead of "8". (fold_file, main): Use bool for booleans. (fold_file, main): Use size_t for sizes. (main): Allow -w options up to SIZE_MAX - TAB_WIDTH - 1, instead of prohibiting widths greater than INT_MAX. * src/head.c (presume_input_pipe, print_headers, have_read_stdin, write_header, elide_tail_bytes_pipe, elide_tail_bytes_file, elide_tail_lines_pipe, elide_tail_lines_seekable, elide_tail_lines_file, head_bytes, head_lines, head, head_file, string_to_integer, main): Use bool for booleans. (main): Rewrite to avoid cast. * src/csplit.c (struct line): Use size_t for sizes. (main): Remove unnecessary cast. * src/cut.c (cut_fields): Use to_uchar rather than a cast. * src/cut.c (cut_file, main): Use bool for booleans. * src/date.c (show_date, rfc_format, batch_convert, main): Likewise. * src/env.c (main): Likewise. * src/expr.c (nextarg): Likewise. * src/env.c (main): Remove unused and nonstandard envp arg. * src/fmt.c (COST, MAXWORDS): Add a comment describing some of fmt's arbitrary limits. (TRUE, FALSE): Remove; all uses changed to (true, false). (main): Use bool for booleans. Limit maximum width to MAXCHARS / 2. Use xstrtoul, not xstrtol, to parse width. (copy_rest): Remove unnecessary cast. (get_prefix): Rewrite to avoid cast. (check_punctuation): Use char *, not unsigned char *; C89 requires this. Avoid off-by-one buffer read overrun when line is empty. (flush_paragraph): Don't assume wptr-parabuf is <= INT_MAX. Remove unnecessary casts. * tests/fmt/basic (wide-1, wide-2, bad-suffix): Adjust to above changes. * src/expand.c (convert_entire_line, have_read_stdin, parse_tabstops, next_file, expand, main): Use bool for booleans. (tab_size, tab_list, add_tabstop, parse_tabstops, validate_tabstops, expand, main): Use uintmax_t for column counts. (add_tabstop): Don't reserve -1 (now UINTMAX_MAX) as a special value. All callers changed. (parse_tabstops): Don't pass a negative char to isblank. Avoid memory leak with large tab stops. (validate_tabstops, expand): Don't assume number of tab stops is <= INT_MAX. (next_file, main): Use EXIT_SUCCESS/EXIT_FAILURE rather than 0/1 when storing values into exit_status. (expand): Use same pattern as unexpand for reading chars. Report an error when input line is too long, instead of silently screwing up. Do not mishandle tab stops when backspacing left over start of line. * src/dircolors.c (have_read_stdin, append_quoted, dc_parse_stream, dc_parse_file, main): Use bool for booleans. (dc_parse_stream): Use enum for state, rather than int. Use ssize_t to store getline result. * src/dd.c (translation_needed, parse_integer, scanargs, apply_translations, char_is_saved, swab_buffer, skip_via_lseek): Use bool for booleans. (translate_buffer): Use to_uchar rather than a cast. (swab_buffer, copy_simple, copy_with_unblock): Use size_t for sizes. * src/seq.c (equal_width, valid_format, main): Use bool for booleans. * src/sleep.c (apply_suffix): Likewise. * src/tail.c (struct File_spec, reopen_inaccessible_files, count_lines, forever, from_start, print_headers, have_read_stdin, valid_file_spec, write_header, file_lines, pipe_lines, pipe_bytes, recheck, tail_forever, tail_bytes, tail_lines, tail, tail_file, parse_obsolescent_option, parse_options, main): Likewise. * src/sleep.c (apply_suffix): Invert sense of result. Use int (not unsigned int) for multiplier, as this generates better code with some compilers. Simplify code a bit. * src/tail.c (struct File_spec, max_n_unchanged_stats_between_opens, parse_options): Use uintmax_t, not unsigned int or unsigned long int, for state counters. (tail_bytes, tail_lines): Redo test of return value (-1, 0, 1) to make it a bit clearer. * src/hostname.c: Include "xgethostname.h". (xgethostname): Remove decl; xgethostname.h has it. (sethostname) [!defined(HAVE_SETHOSTNAME) && defined(HAVE_SYSINFO) && defined (HAVE_SYS_SYSTEMINFO_H) && defined(HAVE_LIMITS_H)]: Use prototypes rather than K&R form. Assume any negative value from sysinfo denotes failure, not just -1. (main): Simplify use of sethostname. * src/pinky.c (include_idle, include_heading, include_fullname, include_project, include_plan, include_home_and_shell, do_short_format, include_where, main): Use bool for booleans. (count_ampersands, create_fullname, scan_entries, short_pinky): Use size_t for sizes. (create_fullname): Check for overflow in size calculations. (idle_string): Don't assume that the number of idle days is less than 10**8 and/or INT_MAX/(24*60*60). (main): No need to pass a non-NULL last arg to getopt_long. * src/uptime.c (print_uptime, uptime): Use size_t for sizes. (print_uptime): Remove unused local variable. (main): No need to pass a non-NULL last arg to getopt_long. * src/users.c (list_entries_users, users): Use size_t for sizes. (list_entries_users): Use char for bytes. (main): No need to pass a non-NULL last arg to getopt_long. * src/who.c (do_lookup, short_list, short_output, include_idle, include_heading, include_mesg, include_exit, need_boottime, need_deadprocs, need_login, need_initspawn, need_clockchange, need_runlevel, need_users, my_line_only, main): Use bool for booleans. (print_runlevel): Use unsigned char for bytes. (list_entries_who, scan_entries, who): Use size_t for sizes. (main): No need to pass a non-NULL last arg to getopt_long. * src/install.c (isdir): Remove decl. (install_file_to_path): Rely on make_path to fail if the destination is not a directory, by passing preserve_existing==true to it. Hence we no longer need to call isdir. Free dest_dir immediately when it's no longer needed, rather than waiting until the end of the function. (copy_file): Don't bother calling isdir, as copy will do the right thing if the destination is a directory. * src/du.c (fts_debug, opt_all, apparent_size, opt_count_all, print_grand_total, opt_separate_dirs, hash_ins, process_file, main): Use bool for booleans. (max_depth): Now size_t, not int, to avoid an arbitrary limit of INT_MAX on depth. (G_fail): Remove: no longer needed, now that the relevant functions return bool. (process_file): Use return value to signal success rather than setting a global. Remove first_call static var; not needed, since we can look at n_alloc. Use size_t for depths. Remove FIXME about size_t casts, as it's now fixed. Use xnrealloc rather than the obsolescent XREALLOC. Don't bother to check whether reallocation is needed unless level > prev_level. (du_files): Invert sense of result, for consistency with other coreutils code. All callers changed. (main): Allow --max-depth values up to SIZE_MAX. * src/df.c (inode_format, show_all_fs, show_local_fs, show_listed_fs, posix_format, require_sync, print_type, selected_fstype, excluded_fstype, show_dev, show_point, main): Use bool for booleans. (df_readable, show_dev): Use UINTMAX_MAX instead of -1. (show_dev, show_point, main): Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1. Don't assume disk name lengths are <= INT_MAX. Rewrite pct calculation to avoid cast. (show_point): Don't assume resolved length is <= SSIZE_MAX. * src/cut.c (hash_int) [!defined UINTPTR_MAX]: Use size_t instead of uintptr_t. * src/shred.c (UINT_MAX_32_BITS): Remove. (word32): Remove. All uses changed to uint32_t. (isaac_seed_data): Remove unnecessary cast. * src/system.h (ptr_align): Use size_t; in practice, this is just as good as uintptr_t in checking for alignments, and has fewer configuration hassles. * src/Makefile.am (localedir.h): Make it readonly; this undoes part of the 2004-07-27 patch. 2004-07-30 Paul Eggert <eggert@cs.ucla.edu> * src/sort.c (UCHAR): Remove; all uses changed to to_uchar. (IS_THOUSANDS_SEP): Use bool when appropriate. (numcompare, main): Use char, not int, when the value is always a char. (numcompare): Remove "register"; compilers are smart enough these days. * src/system.h (errno, CHAR_BIT): Remove decls; no longer needed now we assume C89 or better. Include <inttypes.h> before <stdint.h>, as it's the Autoconf-recommended pattern. (to_uchar): New inline function, moved here from tr.c. Use full names for int types, e.g. "long int" rather than "long". * src/tr.c (to_uchar): Remove; now in system.h. (is_char_class_member): Use bool when appropriate. * src/mkdir.c (create_parents, main): Use bool when appropriate. (main): Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1. 2004-07-29 Paul Eggert <eggert@cs.ucla.edu> * src/mkfifo.c (main): Use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1. * src/chmod.c (recurse, force_silent, process_file, process_files, main): Use bool when appropriate. * src/cksum.c (cksum, main): Likewise. * src/comm.c (hard_LC_COLLATE, only_file_1, only_file_2, both, compare_files, main): Likewise. * src/copy.h (struct cp_options): Likewise. * src/copy.c (copy_internal, is_ancestor, copy_dir, copy_reg, same_file_ok, seen_file, copy_internal, valid_options, copy): Likewise. * src/cp-hash.h (remember_created): Likewise. * src/cp-hash.c (remember_created): Likewise. * src/cp.c (struct dir_attr, flag_path, remove_trailing_slashes, re_protect, make_path_private, target_directory_operand, do_copy, cp_option_init, decode_preserve_arg, main): Likewise. * src/install.c (isdir, change_timestamps, change_attributes, copy_file, install_file_to_path, install_file_in_dir, install_file_in_file, strip_files, dir_arg, cp_option_init, main, change_attributes, change_timestamps): Likewise. * src/mv.c (remove_trailing_slashes, rm_option_init, cp_option_init, do_move, movefile, main): Likewise. * src/remove.c (right_justify), full_filename_, AD_pop_and_chdir, AD_push, prompt, remove_dir): Likewise. * src/rm.c (rm_option_init, main): Likewise. * src/remove.c (top_dir, pop_dir, full_filename_): Use size_t for sizes. * src/cp.c (target_directory_operand): Do not clear *NEW_DST if stat succeeds. It's not necessary in that case, as *NEW_DST is always false already. (do_copy): Rewrite slightly to avoid need for "unreachable" comment. (main): Use EXIT_SUCCESS, EXIT_FAILURE instead of 0, 1. * src/rm.c (main): Likewise. md5sum, sha1sum integer cleanups. * src/checksum.h: Don't include config.h, sys/types.h, stdio.h: not needed. (ALG_UNSPECIFIED): Remove. (ALG_MDT): Don't make it equal to CHAR_MAX + 1; this isn't necessary. * src/md5.c: Don't include any files other than checksum.h. * src/sha1sum.c: Likewise. * src/md5sum.c (OPENOPTS, have_read_stdin, status_only, warn, bsd_split_3, split_3, hex_digits, digest_file, digest_check, main): Use bool when appropriate. (digest_check): Increase limit of number of input lines to UINTMAX_MAX from INT_MAX. Diagnose any overflows of this counter. Use ngettext instead of hard-to-i18nize hardcoded stuff for plurals. 2004-07-28 Paul Eggert <eggert@cs.ucla.edu> * src/cat.c (exit_status): Remove. Now done by passing a boolean 'ok' flag around. (simple_cat, cat): Return true if successful. All callers changed. (simple_cat, cat, main): Use bool for booleans. (simple_cat): Use size_t for sizes. (cat, main): Use the same names for parameters that we use for long options, to avoid confusion. This inverts the sense of the show_tabs (formerly output_tabs) and number_nonblank (formerly numbers_at_empty_lines) variables. (main): Don't mess up (due to integer overflow) if we are given INT_MAX - INT_MIN + 1 options. [O_BINARY]: Don't invoke isatty unless the other options require it. (main): When deciding whether to use simple_cat, don't worry about binary option; it's irrelevant. * src/dcgen: Remove comments, trailing white space, and empty lines from the output strings, to save space. Use a narrower type like 'unsigned char' for line lengths, if that will do. Make the output variables static, not extern. * src/chgrp.c (parse_group): Require base 10 when parsing groups as integers. (main): int -> bool when appropriate. * src/chown.c (main): Likewise. * src/chown-core.c: Include inttostr.h. (UINT_MAX_DECIMAL_DIGITS, uint_to_string): Remove. (gid_to_name, uid_to_name): Use imaxtostr/umaxtostr instead of uint_to_string). (describe_change): Instead of an int flag, use a char * auxiliary; this avoids the need for casts. Assume free (NULL) works. (change_file_owner): Return true/false, not 0/-1, since we don't set errno. All callers changed. Use bool when appropriate. (chown_files): Likewise. * src/chown-core.h (chown_files): Likewise. * tests/chown/basic: Test for proper handling of uids like "010", which must be parsed as decimal. * tests/misc/pwd: Don't assume that Perl's getpwd agrees with our pwd when there are multiple names for the working directory (which can happen with an automounter, sigh). * src/Makefile.am ($(SCRIPTS)): Don't depend on Makefile; this causes Solaris 8 'make' to refuse to build "groups". (localedir.h): Don't depend on Makefile: this causes Solaris 8 'make' to build localedir.h unnecessarily. The dependence on Makefile is ineffective anyway, since $(localedir) might change even if Makefile hasn't. * src/remove.c (remove_dir): If we can't save the state of the working directory, pretend we started from "/", not ".". This avoids a bug on hosts like Solaris that don't let you remove the working directory. 2004-07-27 Paul Eggert <eggert@cs.ucla.edu> * src/printf.c (strtiomax, strtoumax): Declare if not already declared: this fixes a portability bug with Solaris 8 + GCC. (STRTOX): Parenthesize use of macro arg as expression. (vstrtoimax, vstrtoumax, vstrtold): Remove now-unnecessary parentheses. * configure.ac: Check for declaration of strtoumax, for src/printf.c. * src/Makefile.am (cp_LDADD, ginstall_LDADD, mv_LDADD, pathchk_LDADD, rm_LDADD, test_LDADD): New vars, for eaccess. * tests/readlink/can-e: Don't assume that we can remove the working directory: this isn't possible under Solaris 8, say. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * src/copy.c (copy_internal): find_backup_file_name no longer returns NULL, so don't bother to check for this. * src/cp.c (do_copy): Likewise. * src/ln.c (do_link): Likewise. 2004-07-25 Paul Eggert <eggert@cs.ucla.edu> * src/nice.c (GET_NICE_VALUE): Renamed from GET_PRIORITY. All uses changed. (NZERO): New macro, if system doesn't define it already. (usage): Distinguish priorities from nice values. Don't assume NZERO is 20. (main): Use bool instead of int where appropriate. If user specifies an adjustment out of range, always truncate it to an inrange value instead of sometimes giving an error message and sometimes not. Do not assume that -1 is an error return from "nice" or "getpriority", as it might be the current nice value minus NZERO. If nice/setpriority fails with errno == EPERM, go ahead and run the command anyway; POSIX requires this. * src/pathchk.c: Include euidaccess.h. (dir_ok): Use euidaccess, not access. * src/test.c (R_OK, W_OK, X_OK, FOK): Remove; system.h defines them. (eaccess): Remove. All users changed to use euidaccess instead. 2004-07-24 Paul Eggert <eggert@cs.ucla.edu> * src/uptime.c (print_uptime) [defined BOOT_MSG]: Don't assume ut_line is null-terminated. * src/who.c (print_line): New arguments USERLEN and LINELEN, since USER and LINE might not be null terminated. All callers changed. 2004-07-23 Paul Eggert <eggert@cs.ucla.edu> Fix bug with "tail -f" reported by Rob Holland in <http://lists.gnu.org/archive/html/bug-coreutils/2004-07/msg00054.html>. Also, remove the undocumented and unsupported-since-2000 --max-consecutive-size-changes options. Fix another related bug: "tail" got confused if stdin, stdout, or stderr were closed. Also, use output buffering even with "tail -f". * NEWS: Document this, plus yesterday's patch. * doc/coreutils.texi (tail invocation): "size has remained the same" -> "file has not changed", which is more accurate for fifos. * src/tail.c: Include fcntl-safer.h. (COPY_TO_EOF): Set to UINTMAX_MAX, not OFF_T_MAX (which was wrong). (COPY_A_BUFFER): New macro. (struct File_spec): New members mtime, mode, blocking. Remove member n_consecutive_size_changes. (DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES, max_n_consecutive_size_changes_between_opens, MAX_CONSECUTIVE_SIZE_CHANGES_OPTION): Remove. (long_options, tail_forever, parse_options): Remove (non-)support for --max-consecutive-size-changes. (record_open_fd): New function. (recheck, tail_file): Use it. Don't assume that stdin is open. (dump_remainder): Add support for new COPY_A_BUFFER special value. Treat errno==EAGAIN like EOF, since it might be a nonblocking read. (recheck): New arg BLOCKING, specifying whether to use blocking reads. All uses changed. (n_live_files): Remove, replacing with... (any_live_files): New function. All uses changed. (tail_forever): Use nonblocking I/O unless we know that blocking I/O is safe; this avoids some hangs when reading from a fifo. Avoid invoking fstat or sleep when using blocking I/O. Do not check for changes to size if the file is not a regular file, as the size is undefined in that case. Check for changes to mtime or mode, too; this works for non-regular files. (tail_forever, main): Redo fflush strategy to work even when input is nonblocking. Don't use unbuffered output; just flush when needed. 2004-07-22 Paul Eggert <eggert@cs.ucla.edu> * src/tail.c (main): Ignore -f if no file operand is specified and standard input is a pipe. * doc/coreutils.texi (tail invocation): Do not ignore -f for all pipes, just for when standard input is a pipe and no file operand is specified. * tests/tail/Test.pm: Reinstate f-1 test, since we now pass. Add a new commented-out f-2 test, which we still fail. (test_vector): All f-* tests are special cases, not just f-1. 2004-07-12 Paul Eggert <eggert@cs.ucla.edu> * src/uptime.c: Include c-strtod.h. (print_uptime): Use c_strtod instead of setlocale and sscanf. Use long int rather than int to count days (for 64-bit hosts), and check for arithmetic overflow when converting double to time_t. 2004-07-11 Paul Eggert <eggert@cs.ucla.edu> * src/printf.c (vstrtold): Renamed from vstrtod. Now returns long double. All uses changed. (print_direc): Use "L" length modifier when printing floating point numbers, since we're now printing long double. 2004-07-06 Paul Eggert <eggert@cs.ucla.edu> printf cleanup, to avoid undefined behavior, to add support for formats that Bash supports, and to support wide integers like Bash does. * NEWS: Document this. * src/printf.c (UNSPECIFIED): Remove. All uses now replaced by booleans, so that we don't reserve any values for precision or width (like Bash). (STRTOX): Use prototype, not K&R-style definition. (vstrtoimax): Renamed from xstrtol (to avoid confusion with xstrtol in ../lib), with type change to intmax_t. All uses changed. (vstrtoumax): Renamed from xstrtoul, with type change to uintmax_t. All uses changed. (vstrtod): Renamed from xstrtod. All uses changed. (print_direc): Use boolean arg instead of special value to indicate a missing precision or width. LENGTH no longer includes length modifiers or conversion character. New arg CONVERSION now specifies conversion character. Use intmax_t-width formatting for integers (like Bash). Add support for C99 %a, %A, %F (like Bash). Add support for field width with %c (POSIX requires this). Add a FIXME for lack of support for field width and precision for %b. Add support for '\'', '0' flags. Check for invalid combinations of flags, field width, precision, and conversion, to prevent use of undefined behavior. Allow multiple length modifiers, for formats like "%lld" (like Bash). Add support for C99 'j', 't', 'z' length modifiers (like Bash). In error message, output entire invalid conversion specification, instead of merely outputting % followed by the conversion char. * tests/misc/printf: Add tests for the above. 2004-04-03 Dmitry V. Levin <ldv@altlinux.org> Change "readlink -f" to be more compatible with prior implementations. Add more canonicalize options, -e and -m. Add comprehensive tests for all readlink modes. * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Do not add canonicalize.c here. * src/readlink.c (longopts): Add new options. (usage): Document them. (canonicalize_fname): New proxy function. (main): Handle new options. * doc/coreutils.texi (readlink invocation): Document new "readlink -f" behaviour and new canonicalize options, -e and -m. * configure.ac (AC_CONFIG_FILES): Add tests/readlink/Makefile. * tests/Makefile.am (SUBDIRS): Add readlink. * tests/readlink/Makefile.am: New file. * tests/readlink/{rl-1,can-e,can-f,can-m}: New readlink tests. * tests/misc/Makefile.am (TESTS): Remove basic readlink test. * tests/misc/readlink: Remove file. 2004-07-04 Jim Meyering <jim@meyering.net> * src/copy.c (copy_internal): Add a FIXME comment. 2004-07-02 Paul Eggert <eggert@cs.ucla.edu> * src/copy.c (copy_dir): Assume path_concat returns non-NULL. * src/cp.c (do_copy): Likewise. * src/mv.c (movefile): Likewise. * src/cp.c (make_path_private): 2nd arg is now size_t, not int, to avoid problem when path_concat dir name is longer than 2 GiB (!). * src/nohup.c (main): Don't pass NULL first argument to path_concat. This cleans up the semantics a bit, as we no longer try to open the same file twice. 2004-07-01 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Add short names -t and -T for --target-directory and --no-target-directory options, respectively. * src/cp.c (NO_TARGET_DIRECTORY_OPTION, TARGET_DIRECTORY_OPTION): Remove. All uses changed to 'T' and 't', respectively. * src/install.c, src/ln.c, src/mv.c: Likewise. * src/cp.c (long_opts, usage, do_copy, main): Add -t and -T as aliases for --target-directory and --no-target-directory, respectively. * src/install.c (long_options, main, usage): Likewise. * src/ln.c, src/mv.c: Likewise. 2004-07-01 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_file_system): New target. (syntax-check-rules): Add it. .x-sc_file_system: New file. * Makefile.am (EXTRA_DIST): Add it. * man/sync.x: Use "file system" rather than "filesystem". * man/stat.x, man/df.x: Likewise. 2004-06-30 Paul Eggert <eggert@cs.ucla.edu> * src/df.c (usage, main): Output "file system" rather than "filesystem". * src/du.c (usage): Likewise. * src/shred.c (usage): Likewise. * src/stat.c (usage): Likewise. * src/stat.c (long_options, usage): Rename "--filesystem" to "--file-system". But keep the old name around, for compatibility reasons. 2004-06-29 Paul Eggert <eggert@cs.ucla.edu> Add support for --no-target-directory option. * NEWS: Document it. * doc/coreutils.texi (Common options, Target directory, cp invocation, install invocation, mv invocation, ln invocation): Likewise. (link invocation): Explain how to rewrite link using ln now that we have --no-target-directory. (ln invocation): Explain that --no-target-directory subsumes --no-dereference. (unlink invocation): Modify wording to match new wording in link invocation. * src/cp.c (NO_TARGET_DIRECTORY_OPTION): New constant. (long_opts, usage, do_copy, main): Add support for --no-target-directory, * src/install.c (NO_TARGET_DIRECTORY_OPTION, long_options, main, usage): Likewise. * src/ln.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage, main): Likewise. * src/mv.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage, main): Likewise. * src/mv.c (enum): Sort values. 2004-06-29 Jim Meyering <jim@meyering.net> Don't let verbose-mode output from a subshell obscure actual differences. * tests/rm/inaccessible: Turn off command-echoing just before invoking subshell, then turn it back on if VERBOSE=yes afterward. 2004-06-25 Paul Eggert <eggert@cs.ucla.edu> Add support for 'install --target-directory', an option that has been documented for years but not implemented (!). * doc/coreutils.texi (install invocation): Document --target-directory in synopsis, too. * src/install.c (TARGET_DIRECTORY_OPTION): New var. (long_options, main, usage): Add --target-directory. (target_directory_operand): New function, stolen from mv.c. (main): Use it. Check for -d and --target-directory. Alter wording of diagnostics to match other programs. 2004-06-28 Jim Meyering <jim@meyering.net> * src/cp.c (usage): Fix copy+paste error in description of --target-directory: s/move/copy/. From Paul Jarc. 2004-06-27 Paul Eggert <eggert@cs.ucla.edu> Use more-consistent rules among cp, ln, and mv when dealing with last operands that are (or look like) directories. * src/cp.c (target_directory_operand): New, nearly-common function, It reports an error if the destination appears to be a directory (e.g., because it has a trailing slash) but is not. * src/ln.c, src/mv.c: Likewise. * src/cp.c (do_copy): Use it. * src/ln.c (main): Likewise. * src/mv.c (main): Likewise. * src/cp.c (do_copy): Don't assume argc is positive. Don't bother to lstat dest, since copy() will do that for us. Use "const" to avoid the need for cast. * src/cp.c (do_copy): Don't output a usage message because of file problems (e.g., an operand is not a directory). Use it only for syntax. Standardize on "target %s is not a directory" for the diagnostic. * src/ln.c (main): Likewise. * src/mv.c (main): Likewise. * src/cp.c (do_copy): Remove test for trailing slash, since target_directory_operand now does this. * src/ln.c (main): Likewise. * src/mv.c (movefile): Likewise. * src/cp.c (main): Reject multiple target directories. Check whether a specified target is a directory when parsing the options, using stat. This gives more-accurate diagnostics. * src/ln.c (main): Likewise. * src/ln.c (isdir): Remove decl; no longer needed. * src/mv.c (isdir, lstat): Likewise. * src/ln.c (do_link): New arg dest_is_dir. All uses changed. Don't check the destination ourself; rely on dest_is_dir. This way we can avoid lstatting the destination in the usual case, and in the worst case we lstat 1, not 3 times. Don't bother to unlink unless link failed; this saves a syscall. Remove unnecessary backup_succeeded flag; it was identical to "dest_backup != NULL". * src/ln.c (main): Use int to count to argc, not unsigned int. This handles negative operand counts. * src/mv.c (main): Likewise. * src/mv.c (do_move): Don't call hash_init; expect the caller to do it, for consistency with cp.c and ln.c. All callers changed. (movefile): dest_is_dir parameter is now bool, not int. (main): Standardize on "missing destination file operand after %s" for the diagnostic, for consistency with cp.c. * tests/mv/diag: Don't assume "mv --target=nonexistentdir" will complain about the arg count. Adjust to new (briefer) diagnostics. * tests/cp/fail-perm: Add a test to verify that we get the new diagnostic when failing to copy through a symlink-to-inaccessible-dir. 2004-06-27 Paul Eggert <eggert@cs.ucla.edu> Fix a bug: formerly, if d/x was a directory and x a file, "ln x d/" incorrectly created a link d/x/x. It also saves some system calls. * NEWS: Document the fix. * src/ln.c (main): Don't append basename to dest if this results in an existing directory name. * tests/ln/misc: See whether a trailing slash is followed too far. 2004-06-26 Jim Meyering <jim@meyering.net> * src/printf.c (main): When given no arguments, print the standard "missing operand\nTry printf --help..." message -- to be consistent. 2004-06-26 Jim Meyering <jim@meyering.net> * src/mknod.c (main): Add \n at the end of message output via fprintf. 2004-06-25 Jim Meyering <jim@meyering.net> * tests/ln/misc: Add test for ln subscript error. 2004-06-23 Paul Eggert <eggert@cs.ucla.edu> * src/ln.c (do_link): Remove unnecessary call to lstat. (main): Avoid subscript error when the destination is "". 2004-06-23 Jim Meyering <jim@meyering.net> * tests/*: Replace all occurrences of `(exit N); exit' with `(exit N); exit N'. Otherwise, those many tests could exit with improper exit status when exiting via e.g., a trapped interrupt. Thanks to a report from Bob Proulx. 2004-06-22 Paul Eggert <eggert@cs.ucla.edu> * src/who.c (idle_string, print_user): New arg boottime, specifying the most recent boot time. All uses changed. (idle_string) Consider a line to be "old" if it hasn't been used since the last boot time. Watch out for overflow when computing times, and for times in the future. (idle_string): Record latest boot time. 2004-06-22 Jim Meyering <jim@meyering.net> * src/test.c (usage): Correct description of `-t FD'. The file descriptor, FD, is no longer optional. Reported by Ton Nijkes. 2004-06-21 Paul Eggert <eggert@cs.ucla.edu> The 2004-06-19 fix for who and pinky was incomplete, as ctime has undefined behavior if the year precedes -999 or follows 9999. Since we have to stop using ctime anyway, we might as well use strftime and fix the FIXME, and support internationalized dates. * NEWS: Document the new behavior. * src/who.c: Include "hard-locale.h". (time_format, time_format_width): New vars. (time_string, print_line): Use them. (main): Set them. (time_string): Use localtime + strftime instead of ctime, to avoid problems with years before -999 or after 9999. * src/pinky.c: Likewise. 2004-06-21 Paul Eggert <eggert@cs.ucla.edu> Fix bug: GNU 'ls' didn't count columns correctly if user or group names contained multibyte characters where the column count differed from the byte count. This patch also corrects some comments. * src/ls.c (format_user_or_group): New function, which counts columns correctly. (format_user, format_group): Use it. (format_user_or_group_width): New function, which counts columns correctly. (format_user_width, format_group_width): Use it. 2004-06-21 Jim Meyering <jim@meyering.net> * tests/priv-check: Quote "$PATH" in PATH=$PATH. Suggestion from Andreas Schwab. * tests/priv-check: When running as root, be sure to propagate PATH through to the process we exec as non-root. Reported by michael@aplatform.com. * src/mknod.c (main): Don't segfault when calculating the expected number of operands for `mknod NAME'. 2004-06-20 Jim Meyering <jim@meyering.net> * src/dd.c (input_seek_errno): Declare file-scoped variable as static. 2004-06-20 Paul Eggert <eggert@cs.ucla.edu> * src/basename.c (main): Standardize on the diagnostics given when someone gives too few operands ("missing operand after `xxx'") or too many operands ("extra operand `xxx'"). Include "quote.h" and/or "error.h" if it wasn't already being included. * src/chgrp.c (main): Likewise. * src/chmod.c (main): Likewise. * src/chown.c (main): Likewise. * src/chroot.c (main): Likewise. * src/comm.c (main): Likewise. * src/cp.c (do_copy): Likewise. * src/csplit.c (main): Likewise. * src/date.c (main): Likewise. * src/dircolors.c (main): Likewise. * src/dirname.c (main): Likewise. * src/du.c (main): Likewise. * src/expr.c (main): Likewise. * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/id.c (main): Likewise. * src/install.c (main): Likewise. * src/join.c (add_file_name, main): Likewise. * src/link.c (main): Likewise. * src/ln.c (main): Likewise. * src/logname.c (main): Likewise. * src/md5sum.c (main): Likewise. * src/mkdir.c (main): Likewise. * src/mkfifo.c (main): Likewise. * src/mknod.c (main): Likewise. * src/mv.c (main): Likewise. * src/nohup.c (main): Likewise. * src/od.c (main): Likewise. * src/pathchk.c (main): Likewise. * src/ptx.c (main): Likewise. * src/readlink.c (main): Likewise. * src/rm.c (main): Likewise. * src/rmdir.c (main): Likewise. * src/seq.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/shred.c (main): Likewise. * src/sleep.c (main): Likewise. * src/sort.c (main): Likewise. * src/split.c (main): Likewise. * src/stat.c (main): Likewise. * src/test.c (beyond, main): Likewise. * src/touch.c (main): Likewise. * src/tr.c (main): Likewise. * src/tsort.c (main): Likewise. * src/tty.c (main): Likewise. * src/uname.c (main): Likewise. * src/uniq.c (main): Likewise. * src/unlink.c (main): Likewise. * src/uptime.c (main): Likewise. * src/users.c (main): Likewise. * src/who.c (main): Likewise. * src/whoami.c (main): Likewise. * tests/basename/basic: Adjust to new diagnostics. * tests/du/files0-from: Likewise. * tests/expr/basic: Likewise. * tests/mv/diag: Likewise. * tests/tsort/basic-1: Likewise. 2004-06-20 Jim Meyering <jim@meyering.net> * src/ln.c: Remove declaration of yesno. Instead, include yesno.h. * src/copy.c: Likewise. * src/remove.c: Remove declaration of yesno. Instead, include yesno.h. (top_dir): Remove now-unnecessary cast of obstack_base. (pop_dir): Likewise. (full_filename_): Likewise. 2004-06-19 Paul Eggert <eggert@cs.ucla.edu> Don't dump core if ctime returns NULL; this is possible on hosts with 64-bit time_t and 32-bit int. * src/who.c: Include "inttostr.h". (time_string): If ctime fails, print the raw time as an integer instead of dumping core. * src/pinky.c: Likewise, as follows: Include "inttostr.h". (time_string): New function, copied from who.c. (print_entry): Use it. 2004-06-19 Paul Eggert <eggert@cs.ucla.edu> * src/who.c (print_line): Don't truncate user names at 8 bytes. Problem reported by Guido Leenders in: http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00056.html * NEWS: document this. 2004-06-19 Jim Meyering <jim@meyering.net> * src/system.h (case_GETOPT_VERSION_CHAR): Switch back to using GNU_PACKAGE (from PACKAGE) once again. This restores `GNU' to the parenthesized package name in --version output. Before, the first argument from AC_INIT, `GNU coreutils', would be propagated to the PACKAGE variable. Now, `GNU ' is trimmed. Reported by Richard Stallman. 2004-06-17 Jim Meyering <jim@meyering.net> * src/tr.c (to_uchar): Rename function from `uchar'. The latter would clash with a typedef in Tru64's <sys/types.h>. From Albert Chin. 2004-06-15 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Remove more special cases for POSIXLY_CORRECT when POSIX allows the GNU behavior. "--" is now supported by chroot, hostid, hosname, pwd, sync, yes. * doc/coreutils.texi (yes invocation, false invocation, true invocation): Document this. * src/chroot.c (main): Handle "--". * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/pwd.c (main): Likewise. * src/sync.c (main): Likewise. * src/yes.c (main): Likewise. * src/true.c (main): Recognize --help and --version even if POSIXLY_CORRECT is set. * src/yes.c (main): Likewise. 2004-06-09 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Remove special cases for POSIXLY_CORRECT when POSIX allows the GNU behavior. * doc/coreutils.texi (pr invocation, unlink invocation): Document this. * src/ls.c (decode_switches): Pay attention to TABSIZE even if POSIXLY_CORRECT is set. POSIX reserves upper-case environment variables to the implementation, so it's OK for ls to depend on TABSIZE. * src/pr.c: Include "hard-locale.h". (main): When in a non-POSIX locale, ignore POSIXLY_CORRECT, since POSIX specifies the behavior only in the POSIX locale. * src/printf.c (print_esc): Support \x, \u, \U even if POSIXLY_CORRECT, since POSIX says the behavior is unspecified here. * src/tail.c (parse_obsolescent_option): Support multiple file operands even if POSIXLY_CORRECT, since POSIX does not require a diagnostic. * src/printf.c (main): Recognize --help, --version even if POSIXLY_CORRECT. POSIX does not specify any options, but it does not prohibit options either, so "printf" is like "expr" here. * src/unlink.c (main): Likewise. * tests/misc/printf: Adjust to the new semantics for \x if POSIXLY_CORRECT. 2004-06-14 Jim Meyering <jim@meyering.net> * tests/misc/pwd: New test, for fix of 2004-04-19. * tests/misc/Makefile.am (TESTS): Add pwd. (BUILD_SRC_DIR): Define BUILD_SRC_DIR. * src/copy.c: Remove declaration of euidaccess. Instead, include "euidaccess.h". 2004-06-13 Paul Eggert <eggert@cs.ucla.edu> * src/who.c (PIDSTR_DECL_AND_INIT): Don't assume pid_t fits in int. (UT_ID) [!HAVE_STRUCT_XTMP_UT_ID]: Remove bogus comment, as (sizeof "??") reliably returns 3. (print_line): Guard against idle and pid being too long (which is possible when printing headers). (print_user): Allocate enough bytes for idlestr. Use IDLESTR_LEN. Avoid unnecessary cast of sizeof to int. (make_id_equals_comment): Do not assume that UT_ID returns a string; it might return a non-null-terminated array. Use strncat instead. It's not very often where strncat is exactly what you want, but this is one of those rare cases. 2004-06-11 Paul Eggert <eggert@cs.ucla.edu> * src/who.c (list_entries_who): Don't output a trailing space. 2004-06-09 Jim Meyering <jim@meyering.net> * src/touch.c (usage): Improve wording in description of the --time=WORD option. Reported by Dan Jacobson. * src/chown-core.c (change_file_owner): Change names of parameters old_uid and old_gid to required_uid and required_gid respectively. * src/chmod.c (mode_changed): Return false, not 0, now that the function returns `bool'. 2004-06-08 Paul Eggert <eggert@cs.ucla.edu> Adjust chmod and chown to be similar if -c or -v are given. In particular, a no-op chown is no longer reported as a change; this reverts to previous behavior. Also, fix both commands so that -v report failures even if the failure is not due to the chmod or chown syscalls. * src/chmod.c (CH_NOT_APPLIED): New constant. (describe_change): Handle it. (process_file): Use it, if a symlink wasn't changed. (mode_changed): Return bool, not int. Accept new argument NEW_MODE; all callers changed. This lets us avoid statting the file unless the new mode has unusual bits. (process_file): Return -1 on error. With -v, report all errors verbosely, not just some. * src/chown-core.c (change_file_owner): Return -1 on error, not 1 sometimes and -1 on others. Our caller ORs together our results, and (-1 | 1) == 0 on ones-complement hosts. With -v report all errors verbosely, not just some. Fix bug when chopt->root_dev_ino && !chopt->affect_symlink_referent: file_stats wasn't set properly in that case. * tests/chgrp/basic: Adjust to above changes. 2004-05-20 Paul Eggert <eggert@cs.ucla.edu> * tests/chgrp/basic: Test that chgrp -h does not fail on symlinks, even on hosts where that's not supported. Test that if -R is specified without -H or L, -h is assumed. Test that chown() is not optimized away. 2004-05-18 Paul Eggert <eggert@cs.ucla.edu> Several fixes to chgrp and chown for compatibility with POSIX and BSD: Check for incompatible options. When -R and --dereference are both used, then either -H or -L must also be used. When -R and -h are both used, then -P must be in effect. -H, -L, and -P have no effect unless -R is also specified. If -P and -R are both specified, -h is assumed. Do not optimize away the chown() system call when the file's owner and group already have the desired value. This optimization was incorrect, as it failed to updated the last-changed time and reset special permission bits, as POSIX requires. Do not report an error if the owner or group of a recursively-encountered symbolic link cannot be updated because the file system does not support it. * NEWS: Document the above. * src/chgrp.c (main): Check for incompatible options. -R --dereference requires either -H or -L, and -R -h requires -P. If -H, specify FTS_PHYSICAL as well as FTS_COMFOLLOW; this is faster. Make this file as much like chown.c as possible. * src/chown.c (main): Likewise. * src/chown-core.c (change_file_owner): Use ent->fts_statp only if needed. Chown a directory only after chowning its children; this avoids problems if the new directory ownership doesn't permit access to the children. Dereference symlinks before doing ROOT_DEV_INO_CHECK, not after, so that we catch symlinks to /. Do not optimize away the chown() system call when the file's owner and group already have the desired value. POSIX does not permit this optimization. Rely on chown and lchown to do the right thing with symlinks and/or -1 arguments, now that we have wrappers to do this. Use ENOTSUPP not ENOSYS, and ignore all ENOTSUPP errors, not just command-line errors. (chown_files): Pass FTS_NOSTAT to xfts_open if we don't need file status. * src/system.h (ENOTSUP): Remove. * tests/chgrp/basic: Use chown --from to discover whether the group changed, since chgrp now changes unconditionally. This complicates the sed script a bit. Do not specify --dereference, since it's the default (and we want to test this). Adjust output to match the fact that chgrp no longer optimizes the case of changing a file's group to the same value as before. * tests/chgrp/posix-H: Do not attempt to combine -h and -H; these options are incompatible, and their behavior is undefined with POSIX. (changed, not_changed): Adjust to match the fact that -h is no longer specified. Sort names. * tests/chown/deref: Adjust error-diagnostic spelling to match new behavior. 2004-06-07 Paul Eggert <eggert@cs.ucla.edu> * src/uname.c (main): Fix typo introduced on 2003-05-10 that prevented a diagnostic of any operands. 2004-06-08 Jim Meyering <jim@meyering.net> * src/shred.c (direct_mode): Turn it on/off with directio, too. 2004-06-07 Jim Meyering <jim@meyering.net> Enable direct-mode I/O (bypassing the buffer cache), if possible. Prompted by a suggestion from Kalle Olavi Niemitalo in http://bugs.debian.org/207035. * src/shred.c (direct_mode): New function. (do_wipefd): Turn on direct-mode I/O. (dopass): If a file's first write fails with EINVAL, turn off direct-mode I/O and retry the write. 2004-06-05 Paul Eggert <eggert@cs.ucla.edu> * src/tr.c (main): "tr -d a b" is now a fatal error even if POSIXLY_CORRECT is set. The POSIX SYNOPSIS does not allow this option combination. 2004-06-04 Paul Eggert <eggert@cs.ucla.edu> * src/shred.c (dopass): Don't subtract 1 from the offset after a write error. Problem reported by Jon Peatfield in: http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html 2004-06-02 Paul Eggert <eggert@cs.ucla.edu> Fix bug reported by Buciuman Adrian in <http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00105.html> where 'dd' created a file that was too large. The bug was that dd assumed that the input file offset does not advance after a failed read; but POSIX says that the input file offset is undefined after a failed read. * src/dd.c (MAX_BLOCKSIZE): New macro. (input_seekable, input_seek_errno, input_offset, input_offset_overflow): New vars. (scanargs): Reject block sizes greater than MAX_BLOCKSIZE. (advance_input_offset): New function. (skip_via_lseek): Set errno to zero when reporting our failure, so that we don't report based on garbage errno. (skip): If fdesc is standard input, advance the input offset. Do not quit if reading, and if noerror was specified; POSIX seems to require this. If read fails on output file, report the earlier lseek failure instead; this fixes a FIXME in dd_copy. (advance_input_after_read_error): New function. (dd_copy): Use it, instead of assuming that failed reads do not advance the file pointer. Advance input offset after nonfailed reads. Advance only a partial block if the previous read (before the failed read) succeeded, and do not generate an output block of zeros in this case. (main): Determine initial input offset, seekability of input, and error if it wasn't seekable. 2004-06-02 Jim Meyering <jim@meyering.net> rm (without -f) could hang unnecessarily when attempting to remove a symlink to a file on an off-line NFS-mounted partition. Reported by David Howells in https://bugzilla.redhat.com/124699. * src/remove.c (write_protected_non_symlink): New function. Don't invoke euidaccess on symlinks. (prompt): Use write_protected_non_symlink rather than using euidaccess directly, being careful not to call lstat twice for a file. Fix a bug in how the --output-delimiter=D option works with abutting byte or character ranges. Reported by David Krider in http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00132.html * src/cut.c (print_kth): Remove special case for open-ended range. (set_fields): Record the range start index for an interval even when it abuts another interval on its low side. Also record the range start index of the longest right-open-interval. * tests/cut/Test.pm: Add tests of --output-delimiter=S with abutting and overlapping byte ranges. 2004-06-01 Paul Eggert <eggert@cs.ucla.edu> Some POSIX-conformance cleanups for tr. * src/tr.c (posix_pedantic): Remove; no longer needed since we need to test this in just one place now. (usage): Mention -C. (unquote): Note that \055, \n, etc are escaped. Do not worry about POSIXLY_CORRECT when warning about ambiguous escape sequences. \ at end of string stands for itself. Do not diagnose invalid backslash escapes: POSIX says the behavior is unspecified in this case, so we don't need to diagnose it. (main): Add support for -C (currently an alias for -c). Do not diagnose 'tr [:upper:] [:upper:], as POSIX does not require a diagnostic here. * tests/tr/Test.pm: New tests bs-055, bs-at-end, repeat-Compl. Fix comment for range-a-a. 2004-05-25 Paul Eggert <eggert@cs.ucla.edu> Improve the efficiency (and in one case, correctness) of code that reads symlinks. * src/copy.c (copy_internal): Don't use alloca, as it can mess up royally if the link length is long (e.g., GNU/Hurd). Use xreadlink instead, it's safer. Don't bother to read the link if it's the wrong size. Add a FIXME because this area is a bit murky and undocumented. * src/ls.c (get_link_name): Update use of xreadlink. * src/readlink.c (main): Likewise. * src/stat.c (print_stat): Likewise. 2004-06-01 Jim Meyering <jim@meyering.net> * src/env.c (main): Prefer the notation `STREQ (a, b)' over `!strcmp (a, b)'. * src/sort.c (main, sort_buffer_size): Prefer the notation `STREQ (a, b)' over `strcmp (a, b) == 0'. * src/date.c (batch_convert): Likewise. * src/expr.c (nextarg): Likewise. * src/su.c (correct_password, restricted_shell, main): Likewise. * src/ptx.c (swallow_file_in_memory, main): Likewise. * src/test.c (binary_operator, and, or, main): Likewise. 2004-05-13 Paul Eggert <eggert@cs.ucla.edu> * NEWS: echo compatibility cleanup. * doc/coreutils.texi (echo invocation): Document the changes. * src/echo.c (V9_ECHO): Remove; always enabled. (DEFAULT_ECHO_TO_XPG): Renamed from V9_DEFAULT, so that we use the same naming convention as bash. Now an enum, not a macro. (usage): Reword to mention -e/-E more accurately. Mention \0NNN (the POSIX syntax) rather than \NNN (nonstandard). (hextobin): New function. (main): Use bool rather than int for local vars when appropriate. Do not allow options if POSIXLY_CORRECT, unless we are using BSD semantics and the first argument is "-n". Don't pass unnecessary extra arg to parse_long_options. do_v9 now defaults to DEFAULT_ECHO_TO_XPG, not to allow_options. Do not look for options if !allow_options. Use size_t rather than int when appropriate. Open-code option test rather than using strrchr. Use faster test for "-". Avoid redundant argc test. Add support for \x, for Bash compatibility. Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts. When '\c' is encountered, stop printing immediately, as POSIX requires. Add support for \xhh syntax. Add support for \0ooo syntax; POSIX requires this. 2004-06-01 Jim Meyering <jim@meyering.net> * Use automake-1.8b. Regenerate dependent files. 2004-05-31 Jim Meyering <jim@meyering.net> * tests/Makefile.am.in (TESTS_ENVIRONMENT): Define PATH to include the build src/ directory -- at the front. ($(srcdir)/$x-tests): Depend on Makefile.am. Use $x as the program name, except when it would be `test' (test is the sole program tested via mk-script that is also a shell built-in). In that case, use the old ../../src/$x. 2004-05-30 Jim Meyering <jim@meyering.net> Work around HPUX /bin/cc compiler bug that is exposed, now that sets are arrays of type `bool'. More details here: http://lists.gnu.org/archive/html/bug-gnulib/2004-05/msg00094.html FIXME: verify that the above URL points to the right message * src/tr.c (card_of_complement): Use cleaner `sizeof in_set' rather than `N_CHARS * sizeof(in_set[0])'. Using HPUX's /bin/cc (aC++/ANSI C B3910B A.05.55 [Dec 04 2003]) on an ia64-hp-hpux11.22 system, those two expressions are not the same (256 vs. 1024). The effect of this problem was that `tr -c x y' would fail: tr: when not truncating set1, string2 must be non-empty (set_initialize): Remove unnecessary initialization of the `in_set' buffer; that initialization triggered the same compiler bug as above. 2004-05-29 Paul Eggert <eggert@cs.ucla.edu> tr cleanup, mostly having to do with integer type ranges. Remove all casts. * tests/tr/Test.pm: Add a few tests for the below. Alas, most of the test cases wouldn't be portable, or would take too much CPU time, or both. * src/tr.c (N_CHARS, N_CHAR_CLASSES): Now an enum, not a macro. This is safe since the code already assumes N_CHARS fits in int. (Filter): Remove: we want to prototype everything. (ORD, CHR): Remove. All uses removed. Some replaced with: (uchar): New function. All places where a char must be converted to an unsigned char are now done this way, not by ad-hoc methods. (count): New type. Use it whenever counts or states are needed. (BEGIN_STATE): Increase from INT_MAX - 1 (which was bogus, anyway, since we used it in an unsigned int context) to UINTMAX_MAX - 1. (REPEAT_COUNT_MAXIMUM): New macro. Use it in place of BEGIN_STATE whenever appropriate. (NOT_A_CHAR): Remove global macro; now a local enum. (UL_LOWER, UL_UPPER, UL_NONE): No longer specify values, since the rest of the code no longer depends on them. (class_ok): Remove; all uses changed to use inline comparisons. (RE_NO_TYPE): Remove; wasn't used or needed. (struct List_element): normal_char and equiv_code are now unsigned char, not int. first_char, last_char, and the_repeated_char are now unsigned char, not unsigned int. repeat_count is now count, not size_t. All uses changed. (struct Spec_list): state is now count, not unsigned int. lengthis now count, not size_t. n_indefinite_repeats is now size_t, not int. has_equiv_class, has_char_class, and has_restricted_char_class are now bool, not int. All uses changed. (struct E_string): s is now char *, not unsigned char *. escaped is now bool *, not int *. All uses changed. (ES_MATCH): Remove macro, replacing with: (es_match): New inline function. All uses changed. (squeeze_repeats, complement, posix_pedantic, truncate_set1, translating): Now bool, not int. (io_buf): Now char array, not unsigned char. (SET_TYPE): Remove. All uses replaced with bool. (is_equiv_class_member, unquote, append_range, append_char_class, append_equiv_class, find_closing_delim, star_digits_closebracket, build_spec_list, parse_str, homogeneous_spec_list): Now returns bool, not int. All uses changed. (is_equiv_class_member): Now inline. (is_equiv_class_member, is_char_class_member, make_printable_str, append_normal_char, append_range, append_repeated_char, get_s2_spec_stats): Args are now of proper integer type. (unquote, look_up_char_class, make_printable_str, append_equiv_class, build_spec_list, squeeze_filter): Avoid unsigned char *p; gently convert *p to unsigned char instead. (unquote, get_spec_stats): Do not jump past declarations and then use them; C doesn't allow this in portable programs. (make_printable_str): Check for overflow in size calculations. (xmemdup): Remove. All uses rewritten. (find_bracketed_repeat): Args are now of proper pointer-to-integer type. Do not reject [c*0]. Use xstrtoumax, not xstrtoul. (find_bracketed_repeat, star_digits_closebracket): Check that the digits are not escaped. (build_spec_list): Don't bother to copy opnd_str; not needed. (build_spec_list, get_next): Simplify internal logic a bit. (card_of_complement): Fix bug due to char overflow. (get_spec_stats): Don't assume len fits into int. Check for integer overflow. Use abort() rather than assert(0). (string2_extend): Fix subscript error: is_char_class_member (..., 255) was being invoked. (squeeze_filter): READER is never null now; simplify code. READER arg now has a simpler type. Remove unnecessary casts. (squeeze_filter, main): Calls to fwrite improperly checked result against zero, rather than against requested size. (plain_read): New function. (read_and_delete, read_and_xlate): Remove unused filter arg, and don't worry about hit_eof. Simplify by using plain_read. (set_initialize): Args are bool and bool *, not int and SET_TYPE *. (main): Always pass a non-null procedure to squeeze_filter. Rewrite so that class_ok isn't needed. 2004-05-29 Paul Eggert <eggert@cs.ucla.edu> * src/shred.c (dosync): Ignore EBADF errors, as IRIX 6.5 fdatasync reports EBADF when syncing (unwritable) directories. Problem reported by Albert Chin-A-Young in: http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00165.html 2004-05-29 Jim Meyering <jim@meyering.net> * tests/chown/deref: Fix typo: use ls -ldo, not ls -ldg. Patch from Albert Chin. * src/ptx.c (text_buffer_maxend): Remove declaration of unused variable. * src/remove.c (push_dir): Merge declaration and adjacent assignment into a single statement. 2004-05-28 Jim Meyering <jim@meyering.net> * src/remove.c (AD_mark_helper): Eliminate an unnecessary comparison. 2004-05-22 Jim Meyering <jim@meyering.net> rm -r would get a failed assertion when run from an inaccessible directory and with two or more command line arguments including an absolute-named directory followed by a relative-named directory. * src/remove.h (struct rm_options) [require_restore_cwd]: New member. * src/remove.c (struct cwd_state): Define. (AD_pop_and_chdir): Redesign interface so that a restore_cwd failure can be detected by the caller. Instead of returning a malloc'd directory name, communicate it to caller via a new parameter, and return an indication of whether restore_cwd failed. Update caller. Eliminate an unnecessary call to AC_stack_top. (remove_dir): Change type of cwd_state parameter to `struct cwd_state' so we can now communicate to caller whether/how functions like restore_cwd have failed. Update caller. (rm_1): Fail if we've failed to restore the working directory and the name of the next file to remove is `.'-relative. (rm): Fail if the require_restore_cwd flag is true and we've failed to restore the working directory. * src/mv.c (rm_option_init): Initialize new member, x->require_restore_cwd. * src/rm.c (rm_option_init): Likewise. 2004-05-21 Jim Meyering <jim@meyering.net> * tests/rm/inaccessible: New test for the above fix. * tests/rm/Makefile.am (TESTS): Add inaccessible. * src/remove.c (rm): Use free rather than XFREE. (remove_dir): Use xmalloc, not XMALLOC. (ds_init): Likewise. 2004-05-20 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_unmarked_diagnostics): Now that the unmarked diagnostics in shred.c have been fixed, don't exempt shred.c from this check. * src/shred.c: Use translatable diagnostics, e.g. change "%s: remove" to _("%s: failed to remove") and change "%s: close" to _("%s: failed to close"). 2004-05-17 Paul Eggert <eggert@cs.ucla.edu> * src/shred.c (names): Bring back lower-case letters, "_", and ".". But continue to omit +, =, %, @, #, as they're either shell metacharacters (for some shells) or are not in some character sets, or (in the case of '%') must be a metacharacter somewhere. 2004-05-16 Paul Eggert <eggert@cs.ucla.edu> * src/cut.c (cut_fields): Adjust to new signature of getndelim2. 2004-05-17 Jim Meyering <jim@meyering.net> * src/shred.c (incname): Decrement `len' only once per loop iteration. chgrp and chown now dereference symlinks by default, per POSIX. Reported by Michal Politowski as http://bugs.debian.org/249177. * src/chown-core.c (chopt_init): Affect each symlink referent by default. * src/chown.c (usage): Update to reflect this. * src/chgrp.c (usage): Likewise. * NEWS: Describe the change. Adapt tests accordingly. * tests/chgrp/basic: Use -h where necessary to retain semantics. * tests/chgrp/deref: Likewise. * tests/chgrp/posix-H: Likewise. 2004-05-15 Paul Eggert <eggert@cs.ucla.edu> In shred, check for errors from fdatasync more carefully. If fdatasync fails with errno==EINVAL, it means this implementation does not support synchronized I/O for this file. Do not report this as an error, as (for example) AIX 5.2 fdatasync reports it for raw disk devices. Problem reported by Albert Chin in <http://mail.gnu.org/archive/html/bug-gnu-utils/2004-05/msg00028.html>. Check for write errors, though: the old code ignored them. Improve error checking in a few other cases, too (e.g., close of a directory). Also, change several 'int' values to 'bool', so that the error checking is a bit clearer. Similarly, change unsigned values to size_t where appropriate. * src/shred.c: Include "dirname.h". (datasync) [!HAVE_FDATASYNC]: Remove. (dosync): New function. (dopass): Use it. Return 1 on write error, -1 on other error. All callers changed. Report write error if dosync does. (do_wipefd, wipefd, wipename, wipefile): Return bool (true/false), not int (0/-1). All callers changed. Return false if there's a write error. (incname): Return bool (true/false), not int (0/1). Accept size_t length, not unsigned. All callers changed. Do not bother checking for non-digits; it can't happen. Replace recursion with iteration. (wipename): Use dir_name, base_name, etc. instead of assuming Unix file names. Use size_t for length, not unsigned. Report error if unlink or close fails. (wipename, main): Use bool for booleans. (names): Use only digits and uppercase letters, for greater portability. 2004-05-16 Jim Meyering <jim@meyering.net> * tests/chown/deref: New test for the yesterday's change. * tests/chown/Makefile.am (TESTS): Add deref. 2004-05-15 Jim Meyering <jim@meyering.net> chown --dereference did nothing when the owner/group of a symlink matched the desired owner/group. Reported by David Malone. Also reported in 1999 as http://bugs.debian.org/39642. * src/chown-core.c (change_file_owner): When --dereference has been specified, and when processing a symlink, stat it to get the owner and group of the referent. 2004-05-14 Jim Meyering <jim@meyering.net> * man/pwd.x, man/echo.x, man/printf.x: Fix typo: s/supercede/supersede/ reported by Andrew Fabbro. 2004-05-13 Paul Eggert <eggert@cs.ucla.edu> Improve performance of `sort -m' on large files, at the cost of making some contrived examples unsafe. POSIX allows this optimization. Performance problem reported by Jonathan Baker in <http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00071.html>. * src/sort.c (first_same_file): Do not treat input pipes differently from other files. * doc/coreutils.texi (sort invocation): Document that "sort -m -o F" might write F before reading all the input. * NEWS: Likewise. 2004-05-12 Paul Eggert <eggert@cs.ucla.edu> * src/od.c (print_ascii, dump_strings): Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts. * src/printf.c (print_esc_char): Likewise. * src/tr.c (unquote, make_printable_str): Likewise. 2004-05-12 Jim Meyering <jim@meyering.net> * src/remove.c (AD_pop_and_chdir): Move lstat-`.' into if-block where the result is used. This avoids one unnecessary lstat call per command line argument. 2004-05-12 Paul Eggert <eggert@cs.ucla.edu> Don't assume that "make -C" works; Solaris "make" doesn't have -C. * src/Makefile.am (all_programs.list): New rule, copied from man/Makefile.am and tests/Makefile.am, except that we use the system tr rather than ./tr and we don't use tr -s. * tests/Makefile.am (all_programs): Use it. * man/Makefile.am (all_programs): Likewise. Renamed from programs, for consistency. All uses changed. 2004-05-11 Jim Meyering <jim@meyering.net> * tests/rm/unread3: New test, for the above fix and today's lib/save-cwd.c improvement. * tests/rm/Makefile.am (TESTS): Add unread3. * src/rm.c: Don't include "save-cwd.h". It's no longer used. 2004-05-10 Jim Meyering <jim@meyering.net> * tests/install/trap: New file. Test for bug fix of 2004-04-18. * tests/install/Makefile.am (TESTS): Add trap. * src/remove.c (AD_push): Don't use errno in diagnostic about `changed dev/ino'. Remove these generated files from CVS. * tests/cut/cut-tests, tests/date/date-tests, tests/join/join-tests: * tests/ls/ls-tests, tests/pr/pr-tests, tests/tac/tac-tests: * tests/tail/tail-tests, tests/test/test-tests, tests/tr/range-tests: * tests/tr/tr-tests, tests/wc/wc-tests: 2004-05-09 Jim Meyering <jim@meyering.net> * src/tr.c (unquote): Use xcalloc rather than xmalloc and a loop initializing the just-allocated memory to zero. 2004-05-08 Jim Meyering <jim@meyering.net> * tests/rm/no-give-up: New file; check for today's fix. * tests/rm/Makefile.am (TESTS): Add no-give-up. 2004-05-08 Paul Eggert <eggert@cs.ucla.edu> Fix bug where "rm" gave up too easily, reported by Dan Jacobsen in <http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00013.html>. * src/remove.c (remove_entry): Check for errno values like ENOENT that show the file cannot be directory, instead of for errno values like EPERM that show the file might be a directory. This is necessary because, when a single unlink() call has multiple reasons to fail, it can set errno to any of those reasons; it's only the rare errno value like ENOENT that excludes all the other possible reasons to fail even when the file is a directory. (remove_cwd_entries): Don't attempt chdir if the file is known to not be a directory. (remove_dir): Use the same method that remove_cwd_entries uses (for some reason they differed). Don't assert that saved_errno must be EPERM; it might be just about anything. 2004-05-06 Jim Meyering <jim@meyering.net> * src/id.c (xgetgroups): Use xnmalloc, rather than xmalloc. Don't add `1' to the buffer size (it was to protect against malloc implementations that fail to allocate a buffer of size zero). That is no longer necessary, since we use a malloc wrapper on such systems. * src/wc.c (get_input_fstatus): Use xnmalloc, rather than xmalloc. * src/head.c (elide_tail_bytes_pipe): Likewise. * src/df.c (main): Likewise. * src/shred.c (do_wipefd): Likewise. * src/users.c (list_entries_users): Likewise. * src/tail.c (main): Likewise. * src/md5sum.c (main): Likewise. 2004-04-29 Paul Eggert <eggert@cs.ucla.edu> * src/df.c (show_disk, show_point): If several filesystems are mounted on the same mount point, prefer the last one, not the first. Problem reported by Christian Jones in <http://mail.gnu.org/archive/html/bug-coreutils/2004-04/msg00200.html>. (show_disk): Remove unused statp arg. Return bool, not int. (show_point): Rewrite to avoid gotos. Use the same algorithm for lofs and dummies for each pass through the mount table, rather than subtly different algorithms (which are probably inadvertent). 2004-05-03 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add m4/ChangeLog, now that we no longer have m4/Makefile*. 2004-05-01 Jim Meyering <jim@meyering.net> When chown or chgrp is modifying the referent of a symlink, use the chown(2) function, if possible. * src/chown-core.c (change_file_owner): Don't hard-code the open/fchown/close kludge here. Use `chown' instead. The chown function works just fine on conforming systems. Other systems now go through the new chown wrapper that resorts to the old kludge. * src/chown-core.c (change_file_owner): Add a comment. 2004-04-27 Jim Meyering <jim@meyering.net> * src/ptx.c: Make over 40 global extern variables `static'. (syntax_table, re_syntax_table): Remove declarations of two unused variables (they were exposed by the above change). * src/du.c (G_fail, opt_nul_terminate_output): Declare `static'. * src/ln.c (backup_type): Likewise. * src/remove.c (rm): Add `extern' keyword. * src/cp-hash.c (forget_created, remember_created) (src_to_dest_lookup, remember_copied, hash_init, forget_all): Likewise. * src/copy.c (dest_info_init, src_info_init, copy): Likewise. * src/chown-core.c (chopt_init, chopt_free, gid_to_name) (uid_to_name, chown_files): Likewise. * src/Makefile.am (sc_tight_scope): New rule. * Makefile.maint (sc_tight_scope): New rule. (syntax-check-rules): Add it. 2004-04-26 Jim Meyering <jim@meyering.net> * Use automake-1.8.4. Regenerate dependent files. * src/sort.c (limfield): Make a comment clearer. 2004-04-25 Paul Eggert <eggert@twinsun.com> Fix POSIX-conformance bug: "sort -k 3,3.5b" is supposed to skip leading blanks when computing the location of the field end; it is not supposed to skip trailing blanks. Solaris 8 "sort" does conform to POSIX. Also fix the documentation to clarify this and related issues. * doc/coreutils.texi (sort invocation): Mention -k earlier, so that the options are in alphabetical order. Describe how -b works more-accurately; this involves fixing some examples, too. Mention what happens if the start field falls after an end field or after a line end. Warn about using -k without -b, -g, -M, -n, or -t. Add an example of how to sort IPv4 addresses and Apache Common Log Format dates. Remove a duplicate example. (Putting the tools together): Use separate options rather than agglomerating them. * src/sort.c (limfield): Use skipeblanks, not skipsblanks, to decode whether to skip leading blanks. (trailing_blanks): Remove. (fillbuf, getmonth, keycompare): Don't trim trailing blanks. * tests/pr/Test.pm: Fix typo in env_default comment. * tests/sort/Test.pm: Likewise. (18c, 18d): Reverse the order of output lines, so that the test cases conform to POSIX. 2004-04-22 Paul Eggert <eggert@twinsun.com> More signal-handling cleanup for ls.c. Do not allow signals to happen between arbitrary output bytes, as the restore-default-color sequence can bollix up multibyte chars or color-change sequences in the ordinary output. Instead, process signals only between printing a file name and changing the color back to non_filename_text color. That way, if the signal handler changes the color (to the default), 'ls' will change it back when 'ls' continues (after being suspended). Also, do not bother with signal-handling unless stdout is a controlling terminal; this lets stdio buffer better when "ls --color" is piped or sent to a file. * src/ls.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros. Do not include "full-write.h"; no longer needed. (tcgetpgrp) [! HAVE_TCGETPGRP]: New macro. (put_indicator_direct): Remove. All callers changed to use put_indicator. (caught_signals, interrupt_signal, stop_signal_count): New vars. (restore_default_color): Don't bother checking for put_indicator failure. (sighandler): Don't handle SIGTSTP; that's another handler now. Simply set interrupt_signal to the signal, then exit. (stophandler, process_signals): New functions. (main): Don't output any color changes until _after_ the signal handlers are set up. This fixes a race condition where 'ls' could be interrupted while initializing colors, and leaving the terminal in an undesirable state. Don't mess with signal-handling if standard output is not a controlling terminal. When exiting, restore the default color, then restore the default signal handling, then act on any signals that weren't acted on yet. Do not print //DIRED// etc. in colors; this avoids the need to catch signals when printing them. (print_name_with_quoting): Process signals just before switching color back to non_filename_text. 2004-04-23 Jim Meyering <jim@meyering.net> Avoid segfault on systems for which SIZE_MAX != (size_t) -1. * src/ls.c (quote_name): Use SIZE_MAX, not -1, in calls of quotearg_buffer. Patch by Mikulas Patocka. 2004-04-18 Paul Eggert <eggert@twinsun.com> tee ignored SIGPIPE, but POSIX doesn't allow this. * src/tee.c (main): Do not ignore SIGPIPE, as POSIX 1003.1-2001 does not allow this. This undoes the 1996-10-24 patch. 2004-04-18 Paul Eggert <eggert@twinsun.com> Signal-handling cleanup for coreutils. Here are the highlights: - csplit sometimes failed to remove files when interrupted. - csplit didn't clean up if two signals arrived nearly simultaneously. - install -s would infloop on System V if SIGCHLD was ignored. - ls could incorrectly restore color if multiple signals arrived nearly simultaneously. * src/csplit.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: Define. (filename_space, prefix, suffix, digits, files_created, remove_files): Now volatile. (caught_signals): New var. (cleanup): Block signals while deleting all files. (cleanup_fatal, handle_line_error, regexp_error): Mark with ATTRIBUTE_NORETURN. (create_output_file, close_output_file, interrupt_handler): Block signals while changing the number of output files, to fix some race conditions. (delete_all_files): Do nothing if remove_files is zero. Clear files_created. (main): Don't mess with signals until after argument processing is done. * src/csplit.c (main): Rewrite signal-catching code to make it similar to other coreutils programs. When processing signals, block all signals that we catch, but do not block signals that we don't catch. Avoid problems with unsigned int warnings. * src/ls.c (main): Likewise. * src/sort.c (main): Likewise. * src/csplit.c (interrupt_handler): Use void, not (obsolete) RETSIGTYPE. * src/shred.c (sigill_handler, isaac_seed_machdep): Likewise. * src/csplit.c (interrupt_handler) [defined SA_NOCLDSTOP]: Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent. * src/ls.c (sighandler) [defined SA_NOCLDSTOP]: Likewise. * src/sort.c (sighandler) [defined SA_NOCLDSTOP]: Likewise. * src/nohup.c (main) [!defined _POSIX_SOURCE]: Likewise, except for SIG_IGN. * src/tee.c (main) [!defined _POSIX_SOURCE]: Likewise. * src/install.c: Include <signal.h>. (main) [defined SIGCHLD]: Set SIGCHLD handler to the default, if -s is given, since System V fork+wait does not work if SIGCHLD is ignored. * src/ls.c (sighandler) [!defined SA_NOCLDSTOP]: Reset signal handler to self, not to SIG_IGN, since SIGTSTP can be received more than once. (main): Use SA_RESTART, as that is simpler than checking for EINTR failures all over the place. 2004-04-20 Jim Meyering <jim@meyering.net> * src/remove.c (is_empty_dir): Clarify comment. * man/help2man: Accept new option: --program-name=NAME, so that we can override the one in --version output. This is needed solely so that test.1 doesn't refer to `[' as the program name. Reported by Benjamin Cutler as http://bugs.debian.org/205251. * man/Makefile.am (.x.1): Use help2man's new --program-name option. * src/pwd.c: Don't include pathmax.h; system.h already does it. * src/cut.c (cut_fields): Free buffer upon getndelim2 failure. 2004-04-19 Jim Meyering <jim@meyering.net> * src/shred.c (isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]: Initialize a buffer to avoid warnings from tools like valgrind. * Makefile.maint (sc_trailing_blank): New rule. (syntax-check-rules): Add it. * .x-sc_trailing_blank: New file. Make pwd work even if the resulting name is so long that getcwd fails. * src/pwd.c: (path_free, path_init, path_prepend): New functions. (nth_parent, find_dir_entry, robust_getcwd): New functions. (main): First try getcwd, then, upon failure, robust_getcwd. 2004-04-18 Jim Meyering <jim@meyering.net> * src/who.c (print_user): Use xrealloc here, rather than unchecked realloc. Remove anachronistic casts. * src/remove.c (full_filename_): Don't leak upon failed realloc. * src/system.h (readdir_ignoring_dot_and_dotdot): New inline function, from remove.c. * src/remove.c (readdir_ignoring_dotdirs): Move function to system.h, renaming it. Update uses. 2004-04-17 Jim Meyering <jim@meyering.net> * configure.ac: Depend on automake-1.8.3. * src/join.c (add_file_name): Declare function to be `static'. (string_to_join_field): Likewise. * src/remove.c (ds_init, ds_free): Likewise. * Makefile.maint (sc_prohibit_jm_in_m4): New rule. (syntax-check-rules): Add to the list. 2004-04-13 Paul Eggert <eggert@twinsun.com> Use page-aligned buffers whenever we bother to do I/O using buffer sizes that are tailored for the files. * src/cat.c: Include getpagesize.h. * src/copy.c: Likewise. * src/shred.c: Likewise. * src/split.c: Likewise. * src/cat.c (main): Align I/O buffers to page boundaries. * src/copy.c (copy_reg): Likewise. * src/shred.c (dopass): Likewise. * src/split.c (main): Likewise. * src/dd.c (ROUND_UP_OFFSET, PTR_ALIGN): Remove. All uses replaced by ptr_align. * src/od.c (gcd, lcm): Remove; now in system.h. * src/system.h (gcd, lcm, ptr_align): New functions, moved from od.c. 2004-04-14 Jim Meyering <jim@meyering.net> Remove m4/Makefile.am: it's no longer needed, with newer automake * configure.ac (AC_CONFIG_FILES): Remove m4/Makefile.in from the list. * Makefile.am (SUBDIRS): Remove `m4' from the list. 2004-04-13 Jim Meyering <jim@meyering.net> * configure.ac: Change `jm_' in AC_DEFINE'd names to `gl_'. 2004-03-27 Paul Eggert <eggert@twinsun.com> * NEWS: cp -pu and mv -u (when copying) now take the destination file system time stamp resolution into account. * doc/coreutils.texi (mv invocation): Document this. (cp invocation): Document -u (it was missing!) with new behavior. * src/copy.c: Include "utimecmp.h". (copy_internal): Compare time stamps using utimecmp rather than MTIME_CMP. 2004-04-09 Jim Meyering <jim@meyering.net> * Makefile.maint (.re-list): New rule/file, to replace hard-coded list of header file names. (sc_system_h_headers): Use the new file. Don't look for sys2.h anymore. * src/system.h: Include new "stat-macros.h" rather than hard-coding all of its macro definitions -- the list was slightly out of date. Suggestion from Dmitry V. Levin. 2004-04-08 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Remove noctty flag from dd. Suggested by Philippe Troin. * doc/coreutils.texi (dd invocation): Likewise. * src/shred.c (O_NOCTTY): Remove redundant decl. * src/dd.c (flags, usage): Remove noctty flag. (main): Always use O_NOCTTY when opening files. 2004-04-08 Jim Meyering <jim@meyering.net> * src/dd.c (dd_copy): Mark two diagnostics for translations. (set_fd_flags): Undo part of today's change: it's a little cleaner -- and more efficient in the common case -- to go ahead and OR in the -1 when fcntl fails. * Makefile.maint (sc_dd_max_sym_length): New target. (syntax-check-rules): Add it. * src/md5sum.c (PROGRAM_NAME) [algorithm == ALG_SHA1]: Correct spelling: s/shasum/sha1sum. Reported by Jesse Kornblum. * src/dd.c (set_fd_flags): Don't OR in -1 when fcntl fails. Rename parameter, flags, to avoid shadowing global. (LONGEST_SYMBOL): Tweak comment. 2004-04-07 Paul Eggert <eggert@twinsun.com> * NEWS: New dd conv= symbols nocreat, excl, fdatasync, fsync, and new dd options iflag= and oflag=. * src/dd.c (usage): Likewise. * src/Makefile.am (dd_LDADD, shred_LDADD): Add fdatasync's lib. * src/dd.c (fdatasync) [!HAVE_FDATASYNC]: New macro. (C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): New macros. (input_flags, output_flags): New vars. (LONGEST_SYMBOL): New macro. (struct symbol_value): Renamed from struct conversion. Members symbol and value renamed from convname and conversion. The symbol value is now an array instead of a pointer; this saves a bit of space and time in practice. All uses changed. (conversions): Add nocreat, excl, fdatasync, fsync. Now const. (flags): New constant array. (iflag_error_msgid, oflag_error_msgid): New constants. (parse_symbols): Renamed from parse_conversion and generalized to handle either conversion or flag symbols. (scanargs): Adjust uses of parse_symbols accodingly. Add support for iflag= and oflag=. Reject attempts to use both excl and nocreat. (set_fd_flags): New function. (dd_copy): Just return X rather than calling quit (X), since our caller invokes quit with the returned value. Add support for fdatasync and fsync. (main): Add support for iflag=, oflag=, and new conv= symbols. * src/system.h (O_DIRECT, O_DSYNC, O_NDELAY, O_NOFOLLOW, O_RSYNC, O_SYNC): Define to 0 if not already defined. * NEWS: Remove duplicate mention of BLOCKSIZE. 2004-04-02 Andreas Schwab <schwab@suse.de> * src/stty.c: Add support for IUTF8 input flag. 2004-04-06 Jim Meyering <jim@meyering.net> * src/system.h (makedev) [mkdev && !makedev]: Define in terms of mkdev. Interix spells it `mkdev'. Reported by Mark Funkenhauser. 2004-04-04 Jim Meyering <jim@meyering.net> A specified format is no longer automatically newline terminated. If you want a newline at the end of your format, use `\n'. * src/stat.c (print_it): Don't print a newline at the end of every format. (do_statfs): Add a newline at end of each default format string. 2004-03-30 Paul Eggert <eggert@twinsun.com> * src/nohup.c (main): Adjust to new calling convention for set_cloexec_flag. 2004-03-31 Jim Meyering <jim@meyering.net> * tests/Fetish.pm (run_tests): Remove `.orig' file. Remove debugging diagnostic. Specifying an invalid --width=N (-w) or --gap-size=N (-g) would not elicit an error. * src/ptx.c: Include "xstrtol.h" and "quotearg.h". (main): Don't use atoi. Use xstrtoul instead. 2004-03-30 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_prohibit_atoi_atof): New rule. (syntax-check-rules): Add it. * .x-sc_prohibit_atoi_atof: New file. 2004-03-29 Jim Meyering <jim@meyering.net> * tests/du/files0-from: Use new OUT_SUBST directive, so that this test is not sensitive to system-dependent block size differences. Prompted by a report of Solaris 8 differences from Paul Eggert. * tests/Fetish.pm: Accept new directives: OUT_SUBST, ERR_SUBST. Rename `%tmp' to `%actual'. Reverse order of last two args to _compare_files (to $actual, $expected) so as to match declaration. 2004-03-28 Paul Eggert <eggert@twinsun.com> Fix some gotchas encountered when porting to Solaris 8, using the Forte 6u2 compiler. * src/hostname.c [HAVE_SETHOSTNAME && !defined sethostname]: Declare sethostname, since no Solaris header does it. * src/who.c: Include "vasprintf.h", for asprintf. 2004-03-28 Jim Meyering <jim@meyering.net> Minor optimization: * src/du.c (process_file): Don't record dev/inode for directories. Under some circumstances, without -c, du would mistakenly count the space of hard-linked files, not just the first one it encountered. Reported by Anthony Thyssen. * src/du.c (du_files): Don't ever clear the set of `seen' dev/inodes. * src/du.c: Rename global `print_totals' to `print_grand_total'. * src/du.c (main): Rearrange filtering loop to be a tiny bit more efficient. * src/chown-core.c: Don't include savedir.h -- no longer needed. * src/chmod.c: Likewise. 2004-03-25 Jim Meyering <jim@meyering.net> * src/du.c (main): Remove now-unused declaration of `i'. 2004-03-24 Paul Eggert <eggert@twinsun.com> * src/du.c (main): Filter out file names of length zero before invoking fts, so that they don't cause fatal errors. 2004-03-25 Jim Meyering <jim@meyering.net> * tests/du/files0-from (zero-len): Add a test for the above. 2004-02-25 Paul Eggert <eggert@twinsun.com> * NEWS: New environment var BLOCKSIZE. * lib/human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE. * tests/envvar-check: Test for it. Factor the code to simplify it. 2004-03-23 Paul Eggert <eggert@twinsun.com> * NEWS: Shorten the du --files0-from announcement, and say "NUL-terminated" rather than "NUL-separated". * src/du.c (EXPECTED_BYTES_PER_FILE_NAME, DEFAULT_PROJECTED_N_FILES): Remove: not used. (usage): Say "NUL-terminated", not "NUL-separated". (main): Check for I/O error when istream is closed. Allow --files0-from=F even if F is empty; this specifies no files. (du_files): Now that we allow the list of files to be empty, handle that case. * tests/du/files0-from: Adjust to above changes to src/du.c. 2004-03-24 Jim Meyering <jim@meyering.net> * tests/tail-2/assert: Avoid race condition that could cause spurious failure. Based on a patch from Andreas Schwab. 2004-03-23 Jim Meyering <jim@meyering.net> * src/du.c (main): Free the hash table, too. 2004-03-22 Jim Meyering <jim@meyering.net> * man/Makefile.am (.x.1): Remove --info-page= option, reverting the change of 2004-01-22. I can no longer reproduce the problem that prompted that change, and `info coreutils pr' would display the `printing text' section of the manual, not the one on `pr invocation'. * tests/du/files0-from (nul-1, nul-2): Adjust expected diagnostics to match corrected output. * src/du.c: Include "readtokens0.h" rather than "readtokens.h". (main): Use readtoken0 functions rather than readtokens. Don't use errno when diagnosing readtokens0 failure. Fix off-by-one error in the token number reported in a diagnostic. (du_files): Return bool, rather than int. (main): Call readtokens0_free. 2004-03-21 Jim Meyering <jim@meyering.net> * src/remove.c (ds_free): Plug a small leak. * tests/Fetish.pm: Fix typo in comment. 2004-03-07 Jim Meyering <jim@meyering.net> * NEWS: du accepts a new option --files0-from=FILE, where FILE contains a list of NUL-separated file names. * src/du.c: Include "readtokens.h". (usage): Describe the new option, and adjust the `Usage': with this option, no FILE may be specified on the command line. (main): Handle the new option. * tests/du/files0-from: New tests, for the above. * tests/du/Makefile.am (TESTS): Add files0-from. * src/factor.c (do_stdin): Reflect changes in use of readtoken. * src/tsort.c (tsort): Likewise. 2004-02-29 Paul Eggert <eggert@twinsun.com> * NEWS: Add support for a new notation @N to get_date to represent the time stamp with numeric value N. Improve support for fractional time stamps. date's -d and -f options now accept them. Likewise for touch -t. date has a new option --iso-8601=ns. * doc/coreutils.texi (touch invocation): Describe use of fractional seconds. (date invocation, Options for date): Likewise. * doc/getdate.texi (General date syntax, Time of day items): Likewise. * doc/coreutils.texi (date invocation): Mention effect of LC_TIME. (Options for date): Describe new --iso-8601=ns option. * doc/getdate.texi: Add copyright notice. Change getdate to get_date when talking about the function name. (Seconds since the Epoch): New section, containing the time_t info moved from Date input formats section, along with new info about the @ syntax. Mention negative time stamps, fractional time stamps, and leap seconds. (General date syntax): Modernize examples a bit to reflect new features. (General date syntax, Relative items in date strings): Use ' rather than " to quote formats. (Time of day items): Add an example with fractional seconds. Describe fractional-second syntax. * src/Makefile.am (touch_LDADD): New macro, since `touch' now needs clock_gettime. * src/date.c (enum Time_spec): New enum TIME_SPEC_NS. (time_spec_string, time_spec, show_date): Support it. (usage): Remove description of -ITIMESPEC, as it's obsolete and confusing. Mention --iso-8601=ns. (batch_convert): getline returns ssize_t, not int. * src/touch.c (newtime): Now an array of two timespecs, one for access and one for modification. (ref_stats): Remove. (get_reldate): Use get_date's parameter profile. (touch, main): Adjust to above changes. (main): Work even if tm_year == INT_MAX (so long as long int is wider). Use gettime instead of gettimeofday, for new get_date signature. * tests/date/Test.pm (test_vector): New tests epoch, ns-10, ns-max32, ns-relative. 2004-03-15 Jim Meyering <jim@meyering.net> * Makefile.maint (alpha beta major): `Make' the emit_upload_commands target before updating $(prev_version_file). * tests/misc/date-sec: New file, to test for just-fixed bug in date. See today's change in lib/getdate.y. * tests/misc/Makefile.am (TESTS): Add date-sec. 2004-03-14 Jim Meyering <jim@meyering.net> * announce-gen (print_changelog_deltas): Use `.sig' suffix for signature files, not `.asc'. Reported by angico@yahoo.com. 2004-03-13 Jim Meyering <jim@meyering.net> * src/cp.c (do_copy): Tweak wording in a diagnostic. Suggestion from Karl Berry. Include "quoatearg.h". (do_copy): Use quotearg_colon (not quote) for diagnostics that begin with `"%s:'. * src/nl.c (usage): Specify that nl uses _basic_ regular expressions. Suggestion from Dan Jacobson. 2004-03-12 Jim Meyering <jim@meyering.net> * Version 5.2.1. Sometimes, when source and destination partition are different, mv mistakenly fails to preserve a hard link. Reported by IIDA Yosiaki. * src/copy.c: When moving a set of N hard-linked files between partitions, via two or more command line arguments where the command line argument containing the Nth link contains no other link to that same file, mv would mistakenly copy the file, rather than hard-linking it to the other(s). That happens because when the final link is processed, its link count has been reduced to 1 since the other links have been `copied' to the destination partition and the source links have been removed. (copy_internal): When in move mode, use the source dev/inode pair to look up destination name even when st_nlink == 1. * src/cp-hash.c (src_to_dest_lookup): New function. * src/cp-hash.h (src_to_dest_lookup): Add prototype. * tests/mv/part-hardlink: New file. Test for the above fix. * tests/mv/Makefile.am (TESTS): Add part-hardlink. * announce-gen: Sync with autoconf. * tests/ls/time-1: Exit 77 (not 1) if we can't set up for the test. This was triggered on a Linux-2.2.19 system using a file system NFS-mounted from some sort of Sun. 2004-03-11 Jim Meyering <jim@meyering.net> * Use automake-1.8.3. Regenerate dependent files. 2004-03-10 Jim Meyering <jim@meyering.net> * tests/du/deref-args: Also convert sizes in the 70-79 kB range, so that this test works with SELinux-enabled systems. Based on a patch from Tim Waugh. `join -1 x' would give a misleading diagnostic * src/join.c (string_to_join_field): Report that a non-numeric field number is invalid, rather than `so large that it is not representable'. * tests/join/Test.pm (invalid-j): New partial test for the above fix. 2004-03-06 Jim Meyering <jim@meyering.net> cp --sparse=always sparse-image-file.img /dev/hda1 could produce an invalid copy on the destination device. * src/copy.c (copy_reg): Even with --sparse=always, try to make `holes' only if the destination is a regular file. Reported by Szakacsits Szabolcs. 2004-03-03 Paul Eggert <eggert@twinsun.com> * src/nohup.c (main): Don't invoke set_cloexec_flag with a file descriptor of -1. 2004-03-02 Dmitry V. Levin <ldv@altlinux.org> * src/nohup.c: Include "cloexec.h". (main): Set the copy of stderr to close on exec. 2004-03-01 Paul Eggert <eggert@twinsun.com> * configure.ac: Include <signal.h> when checking for strsignal, sys_siglist, and friends. Problem reported by Tony Leneis in <http://mail.gnu.org/archive/html/bug-coreutils/2004-02/msg00136.html>. 2004-02-25 Paul Eggert <eggert@twinsun.com> * tests/du/deref-args, tests/du/exclude, tests/du/slash: * tests/du/trailing-slash: Run envvar-check in case BLOCK_SIZE etc. are set. 2004-02-23 Paul Eggert <eggert@twinsun.com> * NEWS: Document how chown's USER.GROUP argument is now parsed. 2004-02-23 Jim Meyering <jim@meyering.net> * src/seq.c (usage): Remove stray space after \n in --help output. 2004-02-22 Jim Meyering <jim@meyering.net> * src/du.c (usage): Separate -H and --si. Say that the meaning of -H will soon change to that of --dereference-args (-D). 2004-02-21 Jim Meyering <jim@meyering.net> * src/comm.c (usage): Tell what comm does when there are no options. Reword in terms of FILE1 and FILE2 rather than `left file' and `right file'. Suggestion from Dan Jacobson. 2004-02-15 Paul Eggert <eggert@twinsun.com> Fix some POSIX-conformance bugs in expr. * NEWS: document the following changes to src/expr.c. * doc/coreutils.texi (expr invocation): Likewise. Document what forms integers may take, and say "integer" consistently instead of "number". Warn about operands that "expr" can misinterpret, and how to work around the problem. * src/expr.c (eval, eval7, eval6, eval5, eval4, eval3, eval2, eval1): Accept a bool argument specifying whether to evaluate the expression. This is to allow short-circuit evaluation. All callers changed. (null): Report that a string is zero even if it has a form like "-0" or "00". (eval1, eval): Use short-circuit evaluation for | and &. (eval): Return 0 if both arguments are null or zero, instead of returning the first argument. * tests/expr/basic: Add some tests for the above. 2004-02-17 Jim Meyering <jim@meyering.net> * Version 5.2.0. `make check' from a build inside a chroot environment would fail * tests/help-version: Specify an argument (`/') for df, in the unusual event that there is no valid entry in /etc/mtab. Likewise for id: add the -u option, so we don't get spurious failures when there are no user or group names. Patch by Tim Waugh. * src/sort.c (usage) [-u]: Add punctuation so that the description in the help2man-generated (line-joined) man page is more readable. Reported by Tim Waugh. [-T]: Add a semicolon, for the same reason. 2004-02-15 Jim Meyering <jim@meyering.net> * Makefile.am (dist-hook): Qualify target with $(srcdir)/ prefix. 2004-02-11 Jim Meyering <jim@meyering.net> * tests/Makefile.am.in ($(srcdir)/Makefile.am): Use more portable $(srcdir)/../Makefile.am.in, rather than $<. Suggestion from Michael Elizabeth Chastain. 2004-02-10 Jim Meyering <jim@meyering.net> * config/install-sh: Make this script executable. * Makefile.am (dist-hook): New target, to ensure that config/install-sh is executable. Otherwise, on systems that lack a suitable install binary, `make install' would fail, because of the way this script is invoked (without `$SHELL ' prefix). Reported by Bob Proulx. 2004-02-08 Jim Meyering <jim@meyering.net> * Version 5.1.3. * tests/rm/rm5: Avoid triggering a bug in OSF/Tru64's sed that would cause an unwarranted test failure. * tests/rm/rm3: Likewise. 2004-02-07 Jim Meyering <jim@meyering.net> Remove xstat function pointer member. The way it was used was not portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static inline `stat' and `lstat' functions, thus making the tests of `xstat == lstat' in copy.c always fail. * src/copy.h (struct cp_options) [xstat]: Remove member. (XSTAT): New macro. * src/copy.c (copy_dir): Set `.dereference' member, not .xstat. (copy_internal): Use `XSTAT (x, ...)' in place of `*(x->xstat) (...)'. Use `x->dereference == DEREF_NEVER' in place of `x->xstat == lstat'. (valid_options): Remove now-obsolete FIXME comments. * src/cp.c (re_protect): Use `XSTAT (x, ...)' in place of `*(x->xstat) (...)'. (do_copy): Declare/use local xstat rather than x->xstat. (main): Remove code that set x.xstat. * src/mv.c (cp_option_init): Don't initialize xstat member. * src/install.c (cp_option_init): Likewise. * Makefile.cfg (gnu_ftp_host-alpha, etc.): Un-factor .gnu.org suffix, so that emit_upload_commands can use these variables, too. 2004-02-06 Jim Meyering <jim@meyering.net> * tests/rm/deep-1: Remove `du' stack space test. Apparently, `ulimit -s N' isn't portable enough. This test will be restored (with a guard against losing ulimit) in its own file later. * tests/rm/deep-1 (deep): Remove progress-style diagnostics, since this test doesn't take long enough to merit them. Run du on $tmp (the containing dir), not $deep, the full path to leaf. * Makefile.maint (signatures): Remove definition. Now, automake's gnupload handles this. (%.sig: %): Remove now-unused rule. (rel-files): Use automake's $(DIST_ARCHIVES), rather than `$(distdir).tar.bz2 $(distdir).tar.gz'. (emit-upload-commands): Adjust to use gnupload. 2004-02-05 Jim Meyering <jim@meyering.net> * src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP): Remove definitions. (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. Now, those are all defined in timespec.h. Include timespec.h. * src/date.c: Don't include timespec.h, now that system.h does it. 2004-02-02 Paul Eggert <eggert@twinsun.com> Don't dump core if localtime returns NULL (possible on hosts with 64-bit time_t and 32-bit int). * src/date.c: Include "inttostr.h". (batch_convert, main): If time conversion fails, exit with nonzero status. (show_date): Return int to report conversion failure. Print the time as an int if localtime fails. * src/uptime.c: Print "??" if the current clock can't be converted by localtime. This won't happen until the year 2*31 + 1900, but we don't want to dump core even if the current clock has the wrong value. * src/stat.c: Include "inttostr.h". (human_time): Print the date/time as a number of seconds since the epoch if it can't be converted by localtime. This is better than just saying "invalid", and is consistent with what "ls" does. Don't dump core if the year has more than 48 digits; this isn't possible on any contemporary host, but we might as well do it right. 2004-01-31 Paul Eggert <eggert@twinsun.com> * src/stat.c (human_time): Accept time rather than pointer-to-const-time parameter, for clarity. All callers changed. 2004-02-02 Jim Meyering <jim@meyering.net> * src/stat.c (do_stat): Remove extra trailing newline from default formats. Reported by Nelson H. F. Beebe. Print actual fractional seconds in time stamps, not just `.00000000'. * src/stat.c (human_time): Add and use new parameter, t_ns. (print_stat): Update callers. * src/ls.c (TIMESPEC_NS): Remove definition. * src/system.h (TIMESPEC_NS): Define here, instead, now that stat.c also uses this macro. Nelson H. F. Beebe noticed that ls --full-time printed nonzero fractional seconds for files on an XFS file system, but that stat's fractional seconds were always zero. 2004-01-28 Paul Eggert <eggert@twinsun.com> * src/seq.c (print_numbers): Use 'double' for loop index, not 'int', to avoid problems with integer overflow. On almost all machines 'double' works in every case where 'int' works, and it works on other cases besides. 2004-01-27 Jim Meyering <jim@meyering.net> * src/seq.c (usage): Mention that if INCREMENT is omitted, it defaults to 1, even when FIRST is larger than LAST. Reword so as not to exclude the possibility that INCREMENT be zero. 2004-01-25 Jim Meyering <jim@meyering.net> * Version 5.1.2. * Makefile.maint (signatures): Comment out definition. 2004-01-23 Jim Meyering <jim@meyering.net> * Makefile.maint (header_regexp): Add exitfail. * man/Makefile.am (EXTRA_DIST): Add help2man. Reported by Nelson H. F. Beebe. * man/Makefile.am (.x.1): Prefix help2man invocation with `$(PERL) --' so it works on systems with Perl installed somewhere other than in /usr/bin. * src/paste.c (paste_parallel): Declare local, chr, to be of type `int', not `char', since it must hold EOF. This bug would make paste infloop on some systems. Test failures reported by Nelson H. F. Beebe and Christian Krackowizer. 2004-01-22 Jim Meyering <jim@meyering.net> * tests/rmdir/fail-perm: New file. Test for just-fixed rmdir bug. * tests/rmdir/Makefile.am (TESTS): Add fail-perm. * man/help2man: Fix it so using --info-page='coreutils PROG' works. * man/Makefile.am (.x.1): Invoke our own (tweaked) copy of help2man. Use --info-page='coreutils PROG' option. Now, readlink.1 refers the user to `info coreutils readlink' rather than to `info readlink'. Reported by Matt Swift. 2004-01-21 Paul Eggert <eggert@twinsun.com> Exit status cleanup. * src/basename.c (usage): Use EXIT_SUCCESS, not 0, for clarity. * src/cat.c, src/chgrp.c, src/chmod.c, src/chown.c, src/chroot.c, * src/cksum.c, src/comm.c, src/cp.c, src/csplit.c, src/cut.c, * src/date.c, src/dd.c, src/df.c, src/dircolors.c, src/dirname.c, * src/du.c, src/echo.c, src/env.c, src/expand.c, src/expr.c, * src/factor.c, src/fmt.c, src/fold.c, src/head.c, src/hostid.c, * src/hostname.c, src/id.c, src/install.c, src/join.c, src/kill.c, * src/link.c, src/ln.c, src/logname.c, src/ls.c, src/md5sum.c, * src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/nice.c, * src/nl.c, src/nohup.c, src/od.c, src/paste.c, src/pathchk.c, * src/pinky.c, src/pr.c, src/printenv.c, src/printf.c, src/pwd.c, * src/rm.c, src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c, * src/su.c, src/sum.c, src/sync.c, src/tac.c, src/tail.c, src/tee.c, * src/test.c, src/touch.c, src/tr.c, src/tsort.c, src/tty.c, * src/uname.c, src/unexpand.c, src/uniq.c, src/unlink.c, src/uptime.c, * src/users.c, src/wc.c, src/who.c, src/whoami.c, src/yes.c: Likewise. * src/cat.c (usage): Don't bother normalizing exit status since the arg is already the correct exit status now. * src/cksum.c, src/comm.c, src/csplit.c, src/cut.c, * src/dircolors.c, src/expand.c, src/fmt.c, src/fold.c, src/head.c, * src/join.c, src/md5sum.c, src/nl.c, src/od.c, src/paste.c, * src/pr.c, src/split.c, src/sum.c, src/tac.c, src/tail.c, src/tr.c, * src/tsort.c, unexpand.c, src/src/uniq.c, src/src/wc.c: Likewise. * src/chown.c (main): Removed unused local 'fail'. * src/chroot.c (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Remove. * src/chroot.c (main): Initialize exit_failure to EXIT_FAIL. * src/env.c, src/nice.c, src/su.c: Likewise. * src/nohup.c (main): Likewise, to NOHUP_FAILURE. * src/setuidgid.c (main): Likewise, to SETUIDGID_FAILURE. * src/expr.c (main): Use initialize_exit_failure rather than setting exit_failure directly; this optimizes away redundant assignments. * src/printenv.c, src/sort.c, src/test.c, src/tty.c: Likewise. * src/chroot.c (main): Exit with status 1 rather than 127 if chroot itself fails, as per documentation. * src/chroot.c (main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE rather than roll-your-own symbols or integers. * src/env.c (main): Likewise. * src/nohup.c (main): Likewise. * src/su.c (run_shell): Likewise. * src/cp.c (exit_status): Remove static var.... (main): Making it local here instead. Use =, not |=, to set it. * src/cut.c (FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors. * src/date.c (batch_convert, main): Likewise. * src/dd.c (dd_copy): Likewise. * src/pr.c (first_last_page, main, getoptarg): Likewise. * src/tr.c (main): Likewise. * src/date.c (main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it. * src/dd.c (write_output, skip, dd_copy): Likewise. * src/df.c (main): Likewise. * src/id.c (main): Likewise. * src/install.c (main): Likewise. * src/ln.c (main): Likewise. * src/ls.c (main): Likewise. * src/mv.c (main): Likewise. * src/shred.c (main): Likewise. * src/env.c (main): Exit with status 1, not 2, on errors detected by env proper. * src/hostname.c (main): Likewise. * src/nl.c (main): Likewise. * src/stty.c (main): Likewise. * src/expr.c (EXPR_FAILURE): Renamed from EXPR_ERROR, for consistency with the other programs' naming conventions. All uses changed. * src/factor.c (main): Do not report a usage error simply because stdin has bad numbers. * src/id.c (problems): Now a boolean int, not a counter, so that we don't have to worry about int overflow. All uses changed. * src/touch.c (err): Likewise. * src/md5sum.c (main): Use int, not size_t, to store boolean int. * src/mkfifo.c (main): Exit with status 1, not 4, if not implemented. * src/mknod.c: Likewise. * src/nice.c (main): Exit with status EXIT_FAIL, not EXIT_FAILURE, on error; this is in case EXIT_FAILURE is unusual. * src/su.c (main): Likewise. * src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE): Remove; all uses changed to EXIT_CANNOT_INVOKE. * src/printenv.c (PRINTENV_FAILURE): New constant. (main): Exit with status PRINTENV_FAILURE, not EXIT_FAILURE, on command-line syntax problems. * src/rmdir.c (remove_parents): Don't set 'fail' to a negative number. (main): Avoid integer overflow when seeing whether errors occurred. * src/seq.c (print_numbers): Now returns void, not (zero) int. All callers changed. (main): Remove unused local variable 'errs'. Always exit successfully if we reach the end. * src/setuidgid.c (SETUIDGID_FAILURE): Renamed from FAIL_STATUS, for consistency with other programs here. All uses changed. (main): Use 'error' to exit rather than invoking 'exit' here. * src/sort.c: Don't include <assert.h>. (SORT_OUT_OF_ORDER, SORT_FAILURE): Now enums, not macros. (usage): Don't use 'assert'. (main): Remove redundant assignment to exit_failure. * src/system.h (EXIT_FAIL, EXIT_CANNOT_INVOKE, EXIT_ENOENT): New enum values. (initialize_exit_failure): New inline function. Include exitfail.h here, since we refer to exit_failure. All callers changed to not include exitfail.h. * src/tty.c (TTY_FAILURE, TTY_WRITE_ERROR): New enum values; substitute them for the corresponding integer constants. * tests/help-version (expected_failure_status_date): Remove, as 'date' is now normal. (expected_failure_status_nohup): New var. 2004-01-21 Jim Meyering <jim@meyering.net> * tests/touch/relative: Remove `command' syntax. Thanks to Nelson H. F. Beebe and Paul Eggert. * tests/touch/relative: Test only year/month/day, not hours/min/sec, so as to avoid problems with systems using TAI clocks. Although it's no longer necessary, set TZ=UTC0 also for the initial touch command. Reported by Paul Jarc here: http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/1504 2004-01-20 Diego Biurrun <diego@biurrun.de> * src/dircolors.hin: Add .mov to the list of media files. 2004-01-19 Paul Eggert <eggert@twinsun.com> * tests/touch/relative: Use TZ=UTC0, not TZ=utc (which isn't portable). Problem reported by Christian Krackowizer. Also, use +0000 rather than +0 to specify a time zone, as the documentation requires four digits. 2004-01-19 Jim Meyering <jim@meyering.net> * tests/mv/hard-4: Run envvar-check in case SIMPLE_BACKUP_SUFFIX is set. * tests/mv/backup-is-src: Likewise. Problem reported by Peter Horst 2004-01-17 Jim Meyering <jim@meyering.net> * announce-gen (print_changelog_deltas): Use .sig suffix, not .asc. * Version 5.1.1. 2003-12-15 Paul Eggert <eggert@twinsun.com> * NEWS, doc/coreutils.texi: touch -r and -d can now both be specified, with -r specifying the origin for -d. * src/touch.c (flexible_date): Remove static var. (get_reldate): New function. (main): Use it, to implement this new behavior. 2004-01-16 Jim Meyering <jim@meyering.net> * tests/touch/relative: New test for the above. * tests/touch/Makefile.am (TESTS): Add relative. 2004-01-13 Jim Meyering <jim@meyering.net> * src/system.h: Include contents of sys2.h. * src/sys2.h: Remove file. * src/Makefile.am (noinst_HEADERS): Remove sys2.h. * Use automake-1.8.2. Regenerate dependent files. * Update to gettext-0.13.1. * configure.ac: Use gettext-0.13.1. * .x-sc_space_tab: Add m4/po.m4 to the list of exceptions. 2004-01-12 Jim Meyering <jim@meyering.net> * Makefile.maint (%.sig): Use .sig suffix rather than .asc. * Makefile.maint (po-check): Ensure that cvsu works before using it. Reported by Alexandre Duret-Lutz. * src/tail.c (main): Warn about following stdin only when it's a tty. * configure.ac: Use gl_DEFAULT_POSIX2_VERSION. 2004-01-10 Jim Meyering <jim@meyering.net> * tests/misc/stat-fmt: Use backticks, not `$()' notation. 2004-01-09 Jim Meyering <jim@meyering.net> * configure.ac: Quote underquoted `jm_DUMMY_1' to avoid new warning. 2004-01-08 Jim Meyering <jim@meyering.net> * src/stat.c (human_fstype): Use %lx, not %x format for `unsigned long'. From Andreas Schwab. * tests/Makefile.am (TESTS_ENVIRONMENT): Remove `/vg' (prerelease test remnant) from PATH component. That would cause tests in this directory not to run the just-built binaries, but rather whatever happened to be in one's PATH. Reported by Christian Krackowizer. 2004-01-04 Jim Meyering <jim@meyering.net> * src/csplit.c (new_control_record): Use x2nrealloc rather than xrealloc. * src/cp.c (re_protect): Use ASSIGN_STRDUPA rather than alloca and strcpy. (make_path_private): Likewise. 2004-01-03 Jim Meyering <jim@meyering.net> * src/paste.c: Use `bool' (not int) as the type for a few global variables. (collapse_escapes): Rewrite to set globals rather than modifying its parameter. Use size_t (not int) for all counters and related index variables. (paste_parallel): Remove needless complexity of using xrealloc in the loop; just allocate the buffers up front. Free the two temporary buffers. Move declarations of locals `down' into scope where used. (paste_serial): Remove `register' attributes. (main): Simplify delim-related code. Free `delims', now that it's malloc'd. 2004-01-02 Jim Meyering <jim@meyering.net> * src/chroot.c: Include "quote.h". (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Define. (main): Exit with status of 127, not 1, for too-few-args, chroot failure, or chdir failure. Give a better diagnostic upon execvp failure. * src/du.c (usage): Mention that, with its current meaning, -H is deprecated. * src/tail.c (main): Warn about following stdin when it's a tty. Fail when following by name but no names are specified. 2003-12-30 Jim Meyering <jim@meyering.net> * src/fold.c (main): Use memcpy, not strcpy. * src/copy.c (copy_internal): Use ASSIGN_STRDUPA rather than alloca and strcpy. 2003-12-28 Jim Meyering <jim@meyering.net> * src/unexpand.c (n_tabs_allocated): New global. (add_tabstop): Use x2nrealloc rather than xrealloc. * src/expand.c: Likewise. * tests/misc/expand: New file. * tests/misc/Makefile.am (TESTS): Add expand. * src/sort.c (add_temp_dir): Use x2nrealloc rather than xrealloc. (fillbuf): Use x2nrealloc rather than xrealloc. (sort): Use xnmalloc rather than xmalloc. (main): Likewise. 2003-12-27 Jim Meyering <jim@meyering.net> * src/tee.c (tee): Use xnmalloc rather than xmalloc. 2003-12-29 Paul Eggert <eggert@twinsun.com> * NEWS: Remove support for join -j1 FIELD, -j2 FIELD, and -o LIST1 LIST2 in POSIX 1003.1-2001 hosts, as required by POSIX. * doc/coreutils.texi (join invocation): Remove documentation accordingly. Document that -t makes all separators significant. * src/join.c: Include posixver.h. (obsolete_usage): New var. (longopts): Put obsolete options first. (OBSOLETE_LONG_OPTIONS): New constant. (get_option, add_file_name): New functions. (main): Use them to support new behavior. (usage): Remove documentation for -j1 FIELD and -j2 FIELD. Do not mark -j FIELD as obsolescent; it is longstanding UNIX tradition and is a valid extension to POSIX. * tests/join/Test.pm (tv): Avoid obsolete -o usage. 2003-12-28 Paul Eggert <eggert@twinsun.com> * src/join.c (add_field_list): Don't use alloca with unbounded size; just modify the argument, which is no longer const *. Various other minor cleanups, mostly to avoid the need for casts. (extract_field): Renamed from ADD_FIELD, as it's now a function. (struct field.beg): Now char *, not unsigned char const *. All uses changed. It shouldn't be const since xmemcoll writes on its arguments. (extract_field): Likewise, for 2nd arg. (keycmp): Remove now-unnecessary cast of xmemcoll args. (is_blank): New function, to avoid need to cast arg to unsigned char. (extract_field): Use it. (xfields): Rewrite pretty much from scratch. (hard_LC_COLLATE): Now bool, not int. (get_line, getseq, add_field_list): Now returns bool, not int. (decode_field_spec, add_field_list): Return true on success (not false), for consistency with the rest of the code. All uses changed. (tab): Now char, not unsigned char. This wasn't 100% necessary but is slightly cleaner. (prjoin): Hoist (tab ? tab : ' ') expression, to help the compiler. (empty_filler): Now const *. (make_blank): Remove; wasn't needed. Remove all calls. (main): Don't set uni_blank.nfields; zero is fine. 2003-12-27 Jim Meyering <jim@meyering.net> * src/join.c: Include "quote.h". (min, max): Remove definitions. Make a few function parameters and corresponding locals `const'. Use bool for boolean variables. Use size_t (not int) for all counters and related index variables. (prjoin): Remove now-useless assertion. (string_to_join_field): New function. (main): Accept join fields as large as SIZE_MAX. (keycmp): Rename `min' to MIN and max to MAX. 2003-12-26 Jim Meyering <jim@meyering.net> fold -s didn't work on e.g., alpha-based systems. * src/fold.c (fold_file): Adjust types (int->size_t) so that using x2nrealloc works properly on systems with differing sizes for int and size_t. Reported by Nelson Beebe. * src/fold.c: Use `bool' (not int) as the type for a few global variables. 2003-12-23 Paul Eggert <eggert@twinsun.com> * src/ls.c (length_of_file_names_and_frills): Remove forward decl; not needed. (print_file_name_and_frills, length_of_file_name_and_frills): With -m, don't output spaces before inum or size. (print_with_commas): Don't output space just before newline. 2003-12-24 Jim Meyering <jim@meyering.net> * tests/ls/Makefile.am (TESTS): Add m-option. * tests/ls/m-option: New file. Test for above fixes. 2003-12-20 Jim Meyering <jim@meyering.net> * Version 5.1.0. * src/pr.c: Change type of global, buff_allocated, to size_t. * src/join.c [struct seq]: Change types of members count and alloc from `int' to `size_t'. * tests/Makefile.am (root-hint): Tweak wording. * src/du.c: Accept new option (-0, --null) that makes it so each output line is NUL-terminated rather than newline-terminated. * src/dd.c (apply_translations): Don't prohibit conv=unblock,sync. Reported by Volker Paul. * tests/dd/Makefile.am (TESTS): Add unblock-sync. * tests/dd/unblock-sync: New test for the above. 2003-12-19 Jim Meyering <jim@meyering.net> * tests/misc/nohup: Double quote back-ticked expression, in case it ends up having an unexpected value. * tests/ls/no-arg: Use ls's -1 option in both runs. * src/du.c (fts_debug): New global. (FTS_CROSS_CHECK, DEBUG_OPT): Define. (main): Make fts use FTS_TIGHT_CYCLE_CHECK. (main) [DU_DEBUG]: Accept -d option. 2003-12-18 Jim Meyering <jim@meyering.net> * src/ls.c (format_user): Increment dired_pos via two statements, `dired_pos += width; dired_pos++;' rather than one, `dired_pos += width + 1;' since the latter could conceivably overflow. (format_group): Likewise. From Paul Eggert. * configure.ac: Require automake-1.8. 2003-12-12 Jim Meyering <jim@meyering.net> * Use automake-1.8. Regenerate dependent files. 2003-12-08 Jim Meyering <jim@meyering.net> * Makefile.maint (news-date-check): New rule. (alpha beta major): Depend on it. 2003-12-03 Paul Eggert <eggert@twinsun.com> * NEWS: ls -l (and similar options) now adjust all columns to fit the data. Generalized from a suggestion by Leah Q for file sizes. * src/ls.c (INODE_DIGITS, LOGIN_NAME_MAX, ID_LENGTH_MAX): Remove. (format_user_width, format_group_width, unsigned_file_size, format_group): New functions. (block_size_width): Renamed from block_size_size. (inode_number_width, nlink_width, owner_width, group_width, author_width, major_device_number_width, minor_device_number_width, file_size_width): New vars. (clear_files): Initialize them. (gobble_file): Set them. Don't ceiling block_size_width to 7. (print_long_file): Use them. (gobble_file): Use a new local variable 'f' to make the code smaller and more consistent with other functions. (format_user): Output to stdout, not to a buffer, so that we don't have to worry about buffer overrun. Update dired_pos. (print_long_file): Don't put owner, group, author into buffer; just print them directly. Don't assume link counts and major and minor numbers fit into unsigned long int. * tests/cp/same-file, tests/mv/part-symlink: Don't assume that 'ls' output is fixed-width. 2003-12-02 Jim Meyering <jim@meyering.net> * src/md5sum.c: Include sha1.h (reflect renaming: sha.h -> sha1.h. 2003-11-27 Jim Meyering <jim@meyering.net> * Use automake-1.7f. Regenerate dependent files. 2003-11-24 Paul Eggert <eggert@twinsun.com> Parse floating-point operands and options in the C locale. POSIX requires this for printf, and we might as well be consistent elsewhere (tail, sleep, seq). * src/printf.c: Remove decls of strtod, strtol, strtoul; no longer needed now that we assume C89. Include "c-strtod.h". (xstrtod): Call c_strtod, not strtod. * src/sleep.c: Include "c-strtod.h". (main): Update xstrtod call to include new argument, c_strtod. * src/seq.c (scan_double_arg): Likewise. * src/tail.c (parse_options): Likewise. 2003-11-24 Jim Meyering <jim@meyering.net> * tests/rm/fail-2eperm: Handle another errno variant (HPUX, EPERM). Reported by Mark Conty. 2003-11-22 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_xalloc_h_in_src): Remove rule. Subsumed by... (sc_system_h_headers): Do this test only if sys2.h exists. 2003-11-20 Jim Meyering <jim@meyering.net> * tests/help-version: Ensure that the bug-reporting address is included in the --help output for every program. * tests/Makefile.am (TESTS_ENVIRONMENT): Add $PACKAGE_BUGREPORT. * src/ptx.c (usage): Output bug-reporting address. Reported by Dan Jacobson. 2003-11-19 Jim Meyering <jim@meyering.net> * src/join.c (usage): Mention that FILE1 and FILE2 must be sorted on the join fields. Suggestion from Bruce Robertson. 2003-11-18 Jim Meyering <jim@meyering.net> `od -c -w9999999' could segfault * src/od.c (dump): Use xnmalloc/free, not alloca. 2003-11-16 Jim Meyering <jim@meyering.net> * Use autoconf-2.59. Regenerate dependent files. * tests/du/hard-link: Minor tweak: use mkdir -p. Fix read-from-free'd-buffer error detected by valgrind. * src/csplit.c (remove_line): Don't return a pointer to data in a freed buffer. Instead, arrange to free the buffer on the subsequent call. * tests/misc/csplit: New test for above fix. 2003-11-11 Jim Meyering <jim@meyering.net> * src/ls.c (extract_dirs_from_files): Avoid useless copy operations. This avoids a warning from valgrind about memcpy with overlapping source and destination. * configure.ac: Require automake-1.7.8. 2003-11-09 Jim Meyering <jim@meyering.net> * Use automake-1.7.9. Regenerate dependent files. * src/rm.c: Support new options: --preserve-root and --no-preserve-root. * src/chown.c: Likewise. * src/chown-core.c: Include "root-dev-ino.h". (chopt_init): Initialize new member. (change_file_owner): Support rm's new --preserve-root option. * src/remove.c: Include "root-dev-ino.h". (remove_cwd_entries): Remove now-obsolete FIXME comment. (remove_dir): Support rm's new --preserve-root option. * src/chown.c: Include "root-dev-ino.h". Add new options: --preserve-root and --no-preserve-root. * src/chmod.c: Include "root-dev-ino.h". (process_file): Use newly-factored-out ROOT_DEV_INO_CHECK and ROOT_DEV_INO_WARN macros. (get_root_dev_ino): Remove function definition, now that it's been moved to a separate file. (usage): Describe new options. * src/mv.c (rm_option_init): Initialized new member. * src/remove.h: Include "dev-ino.h". (struct rm_options): Add new member: root_dev_ino. * src/chown-core.h: Include "dev-ino.h". (struct Chown_option): Add new member: root_dev_ino. 2003-11-06 Jim Meyering <jim@meyering.net> * src/paste.c (paste_parallel): Use `sizeof *var' rather than hard-coding `sizeof FILE*'. 2003-11-05 Dennis Smit <ds@nerds-incorporated.org> * src/wc.c (main): Free `fstatus' so there is no confusion about whether it's leaked or not. * src/who.c (who): Likewise for `utmp_buf'. 2003-11-05 Paul Eggert <eggert@twinsun.com> Fix 'cut' problems with size_t overflow and unsigned int. More generally, resize integer variables to fit use more precisely. * src/cut.c (ADD_RANGE_PAIR): Remove unnecessary parens. (struct range_pair): Make members to be of type size_t, not unsigned. (max_range_endpoint, eol_range_start): Now size_t, not unsigned. (suppress_non_delimited, output_delimiter_specified, have_read_stdin, print_kth, set_fields): Now bool, nt int. (delim): Now unsigned char, not int. (mark_printable_field, is_printable_field, is_range_start_index, set_fields, set_fields, cut_bytes, cut_fields): Use size_t, not unsigned, for field and byte counts. (hash_int): Use uintptr_t, not unsigned, for pointers converted to integers. This squeezes more info out of them. (set_fields, cut_bytes, cut_fields, main): Use bool, not int, for booleans. (set_fields): Allocate zeroed byte array with xzalloc, not xcalloc. 2003-11-05 Paul Eggert <eggert@twinsun.com> * man/Makefile.am (check-programs-vs-x): Work even if $(programs) contains '$'. Work even if 'missing=1' in environment. Don't report an error simply because $(programs) outputs nothing. 2003-11-05 Jim Meyering <jim@meyering.net> * Use autoconf-2.58. Regenerate dependent files. * src/tr.c (spec_init): Fix typo in last change. * src/sys2.h (case_GETOPT_VERSION_CHAR): Cast NULL to `(char *)' in call to variadic version_etc function, so that it works even on systems for which sizeof char* != sizeof int. * src/true.c (main): Likewise. * basename.c, chroot.c, cksum.c, dd.c, dirname.c, echo.c, expr.c: * factor.c, hostid.c, hostname.c, link.c, logname.c, nice.c, nohup.c: * pathchk.c, printenv.c, printf.c, pwd.c, setuidgid.c, sleep.c, stty.c: * sync.c, test.c, tsort.c, unlink.c, uptime.c, users.c, whoami.c, yes.c: Similarly, cast NULL to `(char *)' in call to variadic function, parse_long_options, so that it works even on systems for which sizeof char* != sizeof int. A similar problem was reported by Harti Brandt in http://mail.gnu.org/archive/html/bug-gnu-utils/2003-10/msg00320.html. * src/users.c (users): Free `utmp_buf' explicitly so that people don't mistake this for a real leak. Patch by Dennis Smit <ds@nerds-incorporated.org. 2003-11-04 Paul Eggert <eggert@twinsun.com> * README: Document _POSIX2_VERSION. 2003-11-04 Jim Meyering <jim@meyering.net> * src/tac.c (memrchr): Remove #if-0'd function. (tac_stdin_to_mem): Clean up #if-0'd code. * src/od.c (decode_format_string): Remove unnecessary casts. Use more maintainable `sizeof *var'. (main): Call decode_format_string rather than decode_one_format, now that `spec' may be NULL. * src/chmod.c (AUTHORS): Add my name. * src/split.c (next_file_name): Use `sizeof *var' rather than hard-coding `sizeof size_t'. * src/sort.c (new_key): Use xzalloc, not xcalloc (1, ...). * src/cut.c (ADD_RANGE_PAIR): Use x2nrealloc rather than xrealloc, to avoid potential overflow in pointer arithmetic. (set_fields): Use not `1', but rather `sizeof *printable_field' as second argument to xcalloc. * src/od.c (decode_format_string, dump_strings): Use x2nrealloc rather than xrealloc. * src/date.c (show_date): Likewise. * src/join.c (ADD_FIELD, initseq, getseq): Likewise. * src/pr.c (store_char): Likewise. * src/fold.c (fold_file): Likewise. * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect type changes (unsigned int -> size_t) in hash.c. * src/cp-hash.c (src_to_dest_hash): Likewise. * src/du.c (entry_hash): Likewise. * src/ls.c (dev_ino_hash): Likewise. * src/cut.c (hash_int): Likewise. Declare function as static. 2003-11-03 Jim Meyering <jim@meyering.net> * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. * tests/misc/fold: Fail the test immediately if we're not running the expected version of fold. 2003-11-02 Jim Meyering <jim@meyering.net> * src/tr.c (append_normal_char, append_range, append_char_class) (append_repeated_char, append_equiv_class, spec_init): Use `sizeof *var' rather than `sizeof EXPLICIT_TYPE'. The former is more maintainable and usually shorter. * src/copy.c (copy_internal): Likewise. * src/join.c (initseq, add_field, make_blank): Likewise. * src/od.c (main): Likewise. * src/cp.c (make_path_private): Likewise. * src/tsort.c (new_item, record_relation): Likewise. * src/df.c (add_fs_type, add_excluded_fs_type, main): Likewise. (main): Also remove anachronistic cast of xmalloc return value. * src/ptx.c (alloc_and_compile_regex, main): Likewise. (main): Also remove anachronistic cast of xmalloc return value. * src/sort.c (inittables): Likewise. (sort): Also Split a long line. 2003-10-25 Jim Meyering <jim@meyering.net> * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect type changes (unsigned int -> size_t) in hash.c. * src/cp-hash.c (src_to_dest_hash): Likewise. * src/du.c (entry_hash): Likewise. * src/ls.c (dev_ino_hash): Likewise. * src/cut.c (hash_int): Likewise. Declare function as static. 2003-10-21 Jim Meyering <jim@meyering.net> Don't fail when run with VERBOSE=yes. * tests/chgrp/basic: Do `set +x' before starting the subshell from which we invoke chgrp. Otherwise, the output from the VERBOSE=yes-induced `set -x' would result in spurious differences. Reported by Russel Coker via Michael Stone. 2003-10-19 Jim Meyering <jim@meyering.net> chmod now uses fts to perform a directory traversal when -R is specified. Before, it operated on full path names, and as such would encounter the PATH_MAX (often 4096) limit. * src/chmod.c: Include "xfts.h". (process_file): Rename from change_file_mode. Adapt to be used with fts. (process_files): New function. 2003-10-18 Jim Meyering <jim@meyering.net> * tests/du/deref-args: Ensure that du -D now dereferences all symlinks specified on the command line, not just those that reference directories. * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: * who.c, whoami.c, yes.c (AUTHORS): Revert the WRITTEN_BY/AUTHORS change of 2003-09-19. Now, AUTHORS is a comma-separated list of strings. Update the call to parse_long_options so that `AUTHORS, NULL' are the last parameters. * src/true.c (main): Append NULL to version_etc argument list. * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise. 2003-10-17 Andreas Schwab <schwab@suse.de> * tests/mk-script: Get $srcdir from first parameter instead of hardcoding it. (main): Update usage. * tests/Makefile.am.in ($(srcdir)/$x-tests): Pass $(srcdir) as first argument of mk-script. ($(srcdir)/Makefile.am): Likewise. Prepend $(srcdir) to target. 2003-10-17 Jim Meyering <jim@meyering.net> * src/mv.c (usage): Tweak descriptions of -i and -f so that the generated `man' page is more readable. Suggestion from Dan Jacobson. * src/chown-core.c (change_file_owner): Handle the cases in which fts_info indicates an error with the given entry. * src/du.c (main): Simply assign to bit_flags. Don't bother with bit arithmetic. * tests/chmod/no-x: New file. * tests/chgrp/no-x: New file. * tests/chmod/Makefile.am (TESTS): Add no-x. * tests/chgrp/Makefile.am (TESTS): Likewise. * src/du.c: Include "xfts.h". (du_files): Use xfts_open, rather than fts_open. * src/chown-core.c (chown_files): Likewise. 2003-10-16 Jim Meyering <jim@meyering.net> * src/chgrp.c (main): Simply assign to bit_flags. Don't bother with bit arithmetic. * src/chown.c (main): Likewise. Rename a couple of local variables. Remove unnecessary casts. * src/tail.c (start_bytes): Rename local, remainder, to avoid gcc's warning about shadowing a global. 2003-10-15 Jim Meyering <jim@meyering.net> chown and chgrp now accept POSIX-mandated -H, -L, -P options and use fts to perform a directory traversal when -R is specified. Before, they operated on full path names, and as such would encounter the PATH_MAX (often 4096) limit. They are more efficient. For example, before, chgrp -R would take almost 5 seconds to change about 2000 directories and fail (with `File name too long'), while now it succeeds on a hierarchy of depth 20,000 in 1/10 the time. * src/chown.c: Include "userspec.h" and "fts_.h". (WRITTEN_BY): Add my name. (getpwnam, getgrnam, getgrgid): Remove declarations. (endpwent): Remove definition. (usage): Update. (main): Handle new options. Call new function, chown_files rather than change_file_owner. * src/chgrp.c: Include "fts_.h". (WRITTEN_BY): Add my name. (MAXUID, MAXGID): Remove definitions. Use GID_T_MAX instead of the latter. (usage): Update. (main): Handle new options. Call new function, chown_files rather than change_file_owner. Rewrite to iterate through hierarchies using fts rather than via explicit recursion. * src/chown-core.c: Include "fts_.h" (change_file_owner): Rewrite to use FTS* and FTSENT* and to operate on a single file at a time. (chown_files): New function. * src/chown-core.h [enum Dereference_symlink]: Remove declaration. [struct Chown_option] (recurse, force_silent): Change type to `bool'. [struct Chown_option] (dereference): Remove member with ambiguous name. [struct Chown_option] (affect_symlink_referent): New member. (chown_files): New prototype. * tests/chgrp/recurse: Update tests accordingly. * tests/chgrp/posix-H: New tests for the above. * tests/chgrp/Makefile.am (TESTS): Add posix-H. * src/ln.c (usage): Clarify that --directory, -d, -F probably won't work even for superuser. Suggestion from Dan Jacobson. 2003-10-14 Paul Eggert <eggert@twinsun.com> Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't properly diagnosed. * lib/human.c, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoul.c, lib/xstrtoumax.c: Sync with gnulib. * src/sort.c (parse_field_count): Handle the case where overflow and invalid suffix char are both reported. 2003-10-14 Jim Meyering <jim@meyering.net> * src/ls.c (decode_switches) [TIOCGWINSZ]: Comment out the warning-inducing test, ws.ws_col <= SIZE_MAX, since it was always true on Linux. 2003-10-13 Paul Eggert <eggert@twinsun.com> Fix to avoid a denial-of-service attack if the display width is enormous. Also, clean up the code a bit by removing duplicate code. * src/ls.c (init_column_info): Remove forward decl; no longer needed. (calculate_columns): New function, that contains code that used to be common to print_many_per_line and print_horizontal. (print_many_per_line, print_horizontal): Use it. (decode_switches): Set max_idx here, not in calculate_columns. (print_current_files): Don't call init_column_info; calculate_columns now does that. (init_column_info): Don't allocate a lot more space than is needed to represent the current set of files. Allocate all the new size_t cells in one call to xnmalloc, rather than a row at a time. 2003-10-13 Jim Meyering <jim@meyering.net> * src/ls.c (init_column_info): Add another FIXME comment. 2003-10-13 Paul Eggert <eggert@twinsun.com> Fix address-arithmetic bug in 'ls', reported by Georgi Guninski. Remove several arbitrary limits on hosts where int cannot represent all size_t values. * src/ls.c (struct bin_str.len, length_of_file_name_and_frills, indent, nfiles, files_index, tabsize, line_length, struct column_info.line_len, struct column_info.col_arr[0], max_idx): Now size_t, not int. (get_funky_string): Return bool indicating success, instead of a negative count to indicate failure. Store number of columns through new parameter OUTPUT_COUNT; that way, they can never go negative. Change equals_end from int to bool. All uses changed. (struct column_info.valid_len): Now bool, not int. All uses changed. (dired_dump_obstack, get_funky_string, clear_files, extract_dirs_from_files, print_current_files, print_many_per_line, print_horizontal, init_column_info, put_indicator, length_of_file_name_and_frills, print_with_commas): Use size_t, not int, for local variables that count sizes. (decode_switches): Decode sizes using xstrtoul, not xstrtol. Check for TIOCGWINSZ returing negative values (or values greater than SIZE_MAX!). (visit_dir, main, parse_ls_color, queue_directory, add_ignore_pattern, init_column_info): Use xmalloc and xnmalloc, not XMALLOC. (gobble_file): Use xnrealloc, not XREALLOC. (print_color_indicator): Remove now-unnecessary cast to size_t. 2003-10-12 Paul Eggert <eggert@twinsun.com> * tests/du/no-x: Change wording of diagnostic to match latest du.c. * tests/sort/sort-tests: Remove from CVS; assume that people brave enough to check coreutils out from CVS can rebuild it. 2003-10-12 Jim Meyering <jim@meyering.net> New options: --preserve-root and --no-preserve-root. * src/chmod.c (change_file_mode): Honor new option. (change_file_mode): Strip trailing slashes on directory argument passed to change_dir_mode. (get_root_dev_ino): New function. (main): Initialize global, root_dev_ino. * src/copy.c (copy_internal): Don't #ifdef-out simple uses of S_ISLNK or S_ISSOCK. The S_IS* macros are guaranteed to be defined via system.h. * src/chmod.c (change_file_mode): Likewise. 2003-10-08 Jim Meyering <jim@meyering.net> * src/csplit.c (main): Remove obsolete FIXME. 2003-10-07 Jim Meyering <jim@meyering.net> * Use automake-1.7.8. Regenerate dependent files. 2003-09-29 Paul Eggert <eggert@twinsun.com> csplit cleanup. * doc/coreutils.texi (csplit invocation): The regexp offset need not have a sign; POSIX requires support for signless offets. Be more careful about int widths. For example, remove some arbitrary limits by replacing 'unsigned' with 'size_t', 'uintmax_t', etc. Use standard bool rather than a homegrown type. * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. * src/csplit.c (FALSE, TRUE, boolean): Remove. All uses changed to <stdbool.h> usage. (struct control): offset is now intmax_t, not int. repeat_forever is now bool, not int. (struct cstring): len is now size_t, not unsigned int. (struct buffer_record): bytes_alloc, bytes_used, num_lines are now size_t, not unsigned. start_line, first_available are now uintmax_t, not unsigned. (hold_count, control_used): Now size_t, not unsigned. (last_line_number, current_line, bytes_written): Now uintmax_t, not unsigned. (save_to_hold_area, red_input, keep_new_line, record_line_starts, create_new_buffer, get_new_buffer, load_buffer, find_line, process_regexp, split_file, new_control_record, extract_regexp, get_format_width, get_format_prec, max_out): size args, locals, and returned values are now size_t, not unsigned or int. (get_first_line_in_buffer, find_line, write_to_file, handle_line_error, process_line_count, regexp_error, process_regexp, split_file): File line, byte, and repetition counts are now uintmax_t, not unsigned. (check_for_offset): Don't require a sign before the offset. Use xstrtoimax to do the real work. (extract_regexp): Remove harmful cast of size to unsigned. 256 -> 1<<CHAR_BIT, for clarity. (get_format_flags): Return at most 3, to avoid worries about overflow. (bytes_to_octal_digits): Remove. (cleanup): Don't check whether output_stream is NULL, since close_output_file does that for us. (new_line_control, create_new_buffer): Use "foo *p = xmalloc (sizeof *p);" instead of the more long-winded alternatives. (get_new_buffer): Use O(1) algorithm for resizing a buffer to a much larger size, instead of an O(N) algorithm. (process_regexp): Use plain NULL rather than casted 0. (make_filename): Use %u, not %d, to format unsigned file number. (new_control_record): Use xrealloc exclusively, since it handles NULL reliably. (extract_regexp): Change misspelled word in diagnostic. (get_format_width): Even if a minimum field width is specified, allow room for enough octal digits to represent the value of the maximum representible integer. This fixes a potential buffer overrun. Calculate this room at compile-time, not at run-time; this removes the need for bytes_to_octal_digits. Check for overflow; this removes a FIXME. (get_format_prec): Don't allow precision to be signed; it's not ANSI. Check for overflow. Remove hardcoded "11" as default precision; this fixes a potential buffer overrun on hosts with wider size_t. (get_format_conv_type): Change local variable to be of type unsigned char, not int; this removes a potential subscript violation on hosts where char is signed. (max_out): Replace "for (;*p;)" with more-standard "while (*p)". Allow "%%" in format. Don't overflow when counting lots of percents. (usage): Default sprintf format is %02u, not %d. 2003-10-05 Jim Meyering <jim@meyering.net> * src/chown-core.c (change_file_owner): Remove set-but-not-used local. * src/du.c (du_files): Mark diagnostic for translation. 2003-10-04 Jim Meyering <jim@meyering.net> * src/du.c (du_files): Ignore any failure of fts_close. Give better diagnostics for failed fts_open. * src/du.c (MAX_N_DESCRIPTORS): Remove now-unused definition. Deprecate existing use of -H (aka --si). * src/du.c (enum) [HUMAN_SI_OPTION]: New member. [long_options]: Use HUMAN_SI_OPTION, not 'H'. (main): Warn that the meaning of -H will soon change to be POSIX compliant. 2003-10-03 Jim Meyering <jim@meyering.net> * src/du.c: Accept --no-dereference (-P). 2003-10-02 Jim Meyering <jim@meyering.net> * tests/du/trailing-slash: Adjust for slightly different output. Rewrite du.c to use fts. * src/du.c: Include "fts_.h", not ftw.h. (opt_dereference_arguments, arg_length, suffix_length): Remove globals. (IS_FTW_DIR_TYPE): Remove definition. (IS_DIR_TYPE): Define. (is_symlink_to_dir): Remove now-unnecessary function. (process_file, du_files): Rewrite to use fts. * tests/du/inaccessible-cwd: Ensure that even when run from an inaccessible directory, du can still operate on accessible directories elsewhere. * tests/du/Makefile.am (TESTS): Add inaccessible-cwd. * tests/rm/deep-1: Ensure that du can process a hierarchy of depth 400 while using no more than 50KB of stack space. 2003-10-01 Akim Demaille <akim@epita.fr> * announce-gen (print_news_deltas): New function, extracted from main. (main): Make `news_file' an array. Use '...=s' => \@var for --news and --url-directory specs. Before there were a couple of portability problems. 2003-09-28 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_cast_of_alloca_return_value): New rule. (syntax-check-rules): Add it. * src/copy.c: Remove unnecessary cast of alloca, since now it's guaranteed to be (void *). * src/cp.c: Likewise. * src/join.c: Likewise. * src/ln.c: Likewise. * src/ls.c: Likewise. * src/od.c: Likewise. * src/sys2.h (ASSIGN_STRDUPA): Likewise. 2003-09-27 Jim Meyering <jim@meyering.net> Don't exhaust virtual memory when processing large inputs. Fix this by removing csplit's internal free-list management; instead rely on malloc for that. * src/csplit.c (free_list): Remove global. (clear_all_line_control): Remove function. (get_new_buffer): Always use create_new_buffer to obtain a new buffer, rather than searching free_list. (free_buffer): Just call free. Reported by Nikola Milutinovic. 2003-09-26 Jim Meyering <jim@meyering.net> * man/rm.x: Also list `chattr' in SEE ALSO section. Suggestion from Mark Hubbart. 2003-09-25 Jim Meyering <jim@meyering.net> * configure.ac: Don't invoke AC_AIX or AC_MINIX explicitly, now that we use gl_USE_SYSTEM_EXTENSIONS, since it AC_REQUIREs them. * Use autoconf-2.57d. Regenerate dependent files. 2003-09-24 Jim Meyering <jim@meyering.net> Minor efficiency tweak. * src/ln.c (PATH_BASENAME_CONCAT): Use memcpy rather than strcpy. (do_link): Likewise. 2003-09-23 Jim Meyering <jim@meyering.net> * src/paste.c (paste_serial): Save errno after input error, to report proper errno value. Based on a patch from Paul Eggert. * src/tee.c (tee): Adjust fwrite arguments so that the return value is the number of bytes written. 2003-09-16 Paul Eggert <eggert@twinsun.com> Don't assume ferror sets errno. Bug reported by Bruno Haible. * src/comm.c (compare_files): Save errno after input error, to report proper errno value. * src/fold.c (fold_file): Likewise. * src/od.c (check_and_close, skip, read_char, read_block): Likewise. * src/unexpand.c (unexpand): Likewise. * src/csplit.c (close_output_file): Don't report bogus errno value after ferror discovers an output error. We don't know the proper errno value, since it might have been caused by any of a whole bunch of calls, and it might have been trashed in the meantime. Fixing this problem will require much more extensive changes; in the meantime just say "write error". * src/od.c (check_and_close, dump, dump_strings): Likewise. * src/uniq.c (check_file): Likewise. * src/join.c (get_line): Report error right away if I/O fails, so that the proper errno value is used. * src/tac.c (tac_seekable, tac_file, save_stdin): Likewise. * src/tee.c (tee): Likewise. * src/uniq.c (check_file): Likewise. * src/od.c (skip): If a read fails, don't retry it later, so that we report the proper errno. * src/tac.c (tac_mem): Don't return a value; nobody uses it. * src/tee.c (tee): Once a write failure has occurred, don't bother writing anything more to that stream. * src/uniq.c (check_file): Check for ferror (stdout) even if ostream == stdout. * src/yes.c (UNROLL): Remove. (main): Exit immediately when write failure is detected. Simplify code by assigning to argv when argc == 1. 2003-09-21 Paul Eggert <eggert@twinsun.com> * src/ptx.c: Switch encoding from Latin-1 to UTF-8. (WRITTEN_BY): Change "Franc,ois" (actually using c-with-cedilla in Latin-1) to "F.", so that it's ASCII, as xgettext requires. 2003-09-19 Jim Meyering <jim@meyering.net> `du -D symlink-to-dir' would mistakenly omit the slash in lines like this: 24 symlink-to-dir/subdir * src/du.c (process_file): Fix offset calculation. Reported by Jeff Sheinberg as Debian bug #211591; http://bugs.debian.org/205251 * tests/du/deref-args: New file/test for the above. * tests/du/Makefile.am (TESTS): Add deref-args. * src/du.c (process_file): Remove useless disjunct. * src/sys2.h (case_GETOPT_VERSION_CHAR): Rename parameter, Authors, to Written_by. * nearly all src/*.c files (WRITTEN_BY): Rename from AUTHORS. Begin each WRITTEN_BY string with `Written by ' and end it with `.'. Mark each WRITTEN_BY string as translatable. * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: * who.c, whoami.c, yes.c: Revert yesterday's changes. Instead, a subsequent change will embed `Written by ' in each string along with the author names. * src/true.c: Revert yesterday's changes. * src/sys2.h: Likewise. 2003-09-18 Jim Meyering <jim@meyering.net> * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c: * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c: * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c: * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c: * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c: * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c: * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c: * who.c, whoami.c, yes.c: Update AUTHORS definition to be a comma-separated list of strings and/or update the call to parse_long_options so that `AUTHORS, NULL' are the last parameters. * src/true.c (main): Append NULL to version_etc argument list. * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise. * src/sort.c (numcompare): Rename local, logb, to log_b to avoid shadowing the math function name. Also rename loga to log_a. 2003-09-14 Jim Meyering <jim@meyering.net> * src/factor.c (print_factors): Give a separate diagnostic for numbers that are too large, but otherwise valid. Reported by Dániel Varga. 2003-09-10 Jim Meyering <jim@meyering.net> * Use automake-1.7.7. Regenerate dependent files. * tests/Makefile.am (all_programs): Use ../src/tr -s ' ' '\n' in place of `fmt -1'. Using the just-built tr is a little cleaner. Christian Krackowizer reported that HPUX 10.20 doesn't have fmt. * man/Makefile.am (programs, check-x-vs-1): Likewise. 2003-09-09 Jim Meyering <jim@meyering.net> * src/copy.c: Alphabetize includes. Remove duplicate inclusion of "same.h". 2003-09-08 Jim Meyering <jim@meyering.net> * Makefile.maint (GZIP_ENV): Remove --rsyncable. Didn't give enough of a benefit, mainly because it's not yet in wide enough use. * Version 5.0.91. * man/Makefile.am (programs): Use ../src, not $(srcdir)/../src. (check-programs-vs-x): Fail if $(programs) is empty. * src/remove.c: Add a comment. 2003-09-07 Jim Meyering <jim@meyering.net> * src/remove.c (D_INO, ENABLE_CYCLE_CHECK) [D_INO_IN_DIRENT]: Don't define. These symbols are no longer used. * tests/misc/tty-eof: Write ^D as \cD. Complete the change of 2003-08-02. * Makefile.maint (po-check): Use cvsu, so that a temporary source file in lib/ or src/ doesn't induce an unwarranted failure. Add a kludge to filter out the sole generated source file that also has translatable messages: src/false.c. 2003-09-06 Jim Meyering <jim@meyering.net> * src/tail.c (enum): Add ALLOW_MISSING_OPTION. (parse_options): Give a diagnostic for (but still accept) the deprecated --allow-missing option. 2003-09-04 Paul Eggert <eggert@twinsun.com> Don't ignore -S if input is a pipe. Bug report by Michael McFarland in <http://mail.gnu.org/archive/html/bug-coreutils/2003-09/msg00008.html>. * src/sort.c (sort_buffer_size): Omit SIZE_BOUND arg. Compute the size_bound ourselves. if an input file is a pipe and the user specified a size, use that size instead of trying to guess the pipe size. This has the beneficial side effect of avoiding the overhead of default_sort_size in that case. All callers changed. (sort): Remove static var size; now done by sort_buffer_size. 2003-09-05 Jim Meyering <jim@meyering.net> * Use automake-1.7.6b and autoconf-2.57b. Regenerate dependent files. * tests/tail-2/tail-n0f: Wait .5 seconds for backgrounded process to start, rather than just .1. Upon failure, print unexpected state. 2003-09-04 Paul Eggert <eggert@twinsun.com> * src/head.c (elide_tail_lines_pipe): Don't assign 0 or SAFE_READ_ERROR to tmp->nbytes. * src/tail.c (pipe_lines, pipe_bytes): Likewise. * src/head.c (struct linebuffer): Change nbytes and nlines from unsigned int to size_t. unsigned int is safe (after the 2003-09-03 patch) but size_t is cleaner. * src/tail.c (struct linebuffer, struct charbuffer): Likewise. (pipe_bytes): Likewise for local variable 'i', which was 'int'. Standardize on BUFSIZ as opposed to other macro names and values. * src/head.c (BUFSIZE): Remove. All uses changed to BUFSIZ. * src/tail.c (BUFSIZ) [!defined BUFSIZ]: Remove. stdio.h has always defined it, and other code already assumes it's defined. * src/tr.c (BUFSIZ) [!defined BUFSIZ]: Likewise. (IO_BUF_SIZE): Remove; replace all uses with sizeof io_buf. (io_buf): IO_BUF_SIZE -> BUFSIZ. 2003-09-04 Paul Eggert <eggert@twinsun.com> * src/seq.c (step): Default to 1. (print_numbers): Allow the output to be empty. (main): The default step is 1, even if LAST < FIRST; as per documentation. * tests/seq/basic (onearg-2): Output should be empty. 2003-09-05 Jim Meyering <jim@meyering.net> * Makefile.cfg (wget_files): Temporarily disable, until master versions are restored to ftp.gnu.org. * configure.ac (AM_INIT_AUTOMAKE): Specify automake-1.7.6. Make seq's --width (-w) option work properly even when the endpoint requiring the larger width is negative and smaller than the other endpoint. * src/seq.c (get_width_format): Include `-' in the set of bytes allowed in a `simple' number (no decimal point, no exponent). Reported by Patrick Mauritz. 2003-09-02 Paul Eggert <eggert@twinsun.com> * NEWS: sort -t '\0' now uses a NUL tab. sort option order no longer matters, unless POSIX requires it. * src/sort.c (usage): Say "blanks" instead of "whitespace", Similar fixes for many comments. (TAB_DEFAULT): New constant, so that we can support NUL as the field separator. (tab): Now int, not char. Initialize to TAB_DEFAULT. (specify_sort_size): If multiple sizes are specified, use the largest. (begfield, limfield): Support NUL tab char. (set_ordering): Do not let -i override -d. (main): Report an error if incompatible -o or -t options are given. Report an error for "-t ''". Allow "-t '\0'" to specify a NUL tab. 2003-09-05 Jim Meyering <jim@meyering.net> * tests/sort/Test.pm [o2, nul-tab]: New tests for the above. 2003-09-03 Andreas Schwab <schwab@suse.de> Bug report and patch here: <http://mail.gnu.org/archive/html/bug-coreutils/2003-09/msg00009.html> * src/tail.c (pipe_lines): Don't truncate return value from safe_read. * src/head.c (elide_tail_lines_pipe): Likewise. 2003-09-03 Jim Meyering <jim@meyering.net> * src/du.c (AUTHORS): Remove Larry McVoy's name, since the relatively small amount of code from him was first moved to lib/human.c, and was subsequently rewritten entirely. * src/df.c (AUTHORS): Likewise. 2003-08-22 Lawrence Teo <lcteo@uncc.edu> * src/md5sum.c (split_3): Accept the BSD format for generic message digest modes. Currently works with BSD's MD5 and SHA1 formats since these are the two algorithms presently used in coreutils. Updated comments to reflect this change. (bsd_split_3): Updated comments. * tests/md5sum/basic-1: New test to make sure that `md5sum --check' doesn't accept the BSD SHA1 format (adapted from `check-bsd' test in tests/sha1sum/basic-1). * tests/sha1sum/basic-1 (check-bsd2, check-bsd3): New tests for --check exit status and BSD SHA1 format (adapted from tests in tests/md5sum/basic-1). 2003-08-30 Jim Meyering <jim@meyering.net> * src/ln.c (do_link): Use SAME_INODE rather than open-coding it. When source and destination arguments refer to the same file, reside on a partition (e.g. VFAT) on which distinct names may refer to the same directory entry (often due to variations in case), and when the link count for the file is 1, mv no longer unlinks the file. Instead, it gives the expected diagnostic that the source and destination are the same. WARNING: this is an incomplete fix. If the file happens to have a link count of 2 or greater, such an erroneous mv command will still unlink it. Although that is not possible on vfat or umsdos, it is possible on other file system types, e.g., ntfs, and hpfs. * src/copy.c (same_file_ok): Invoke same_name (which might still return false for names that refer to the same directory entry) only if the link count is 2 or more. * tests/mv/vfat: Show how to demonstrate the above problem. This test is not run. * tests/mv/Makefile.am (EXTRA_DIST): Add vfat. 2003-08-27 Jim Meyering <jim@meyering.net> * src/who.c: Change meaning of -l from --lookup to --login, per POSIX. who's -l option has been eliciting an unconditional warning about this impending change since sh-utils-2.0.12 (April 2002). * src/paste.c (paste_parallel): Don't output `EOF' (aka -1) as a `char'. This would happen for nonempty files not ending with a newline. Reported by Dan Jacobson. * tests/misc/paste-no-nl: New file. Test for above-fixed bug. * tests/misc/Makefile.am (TESTS): Add paste-no-nl. * src/stat.c (print_it): Avoid buffer overrun that would occur when the user-specified format string ends with `%'. Patch by Tommi Kyntola. * tests/misc/stat-fmt: New file. Test for above-fixed bug. * tests/misc/Makefile.am (TESTS): Add stat-fmt. 2003-08-26 Jim Meyering <jim@meyering.net> Apply changes from bison. * GNUmakefile (SHELL): Define to `sh', if necessary. Add copyright. * Makefile.maint (WGETFLAGS): Define to `-C off'. Update all uses of $(WGET). 2003-08-22 Akim Demaille <akim@epita.fr> * Makefile.cfg (local-checks-to-skip): New. * Makefile.maint (local-check): Rename as... (local-checks-available): this. (local-check): New. 2003-08-26 Akim Demaille <akim@epita.fr> * announce-gen (print_changelog_deltas): Neutralize "<#" as "<\#" to avoid magic from Gnus when posting parts of this script. 2003-08-25 Jim Meyering <jim@meyering.net> * src/stat.c (main): Warn about use of deprecated `-l' option. 2003-08-22 Jim Meyering <jim@meyering.net> * src/stat.c (do_stat): For link count at end of line, use %h format, instead of %-5h. The latter would make stat emit trailing spaces. Reported by Dan Jacobson. 2003-08-20 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add .x-sc_space_tab .x-sc_sun_os_names 2003-08-19 Jim Meyering <jim@meyering.net> * src/system.h: Include stdlib.h unconditionally, as we're now assuming that part of hosted C89. 2003-08-18 Jim Meyering <jim@meyering.net> * src/sys2.h (textdomain, bindtextdomain) [! ENABLE_NLS]: Define away, to avoid warnings from gcc. 2003-08-17 Jim Meyering <jim@meyering.net> Avoid unnecessary and sometimes time-consuming hostname lookups. * src/who.c (print_user): Use strchr, not strrchr. * src/pinky.c (print_entry): Likewise. Patch by Michael Stone. This fixes a typo I introduced in who-users.c on 1996-02-23. * Makefile.maint (makefile-check): Add 0-9 to the range of characters disallowed between `@...@'. 2003-08-16 Paul Eggert <eggert@twinsun.com> * configure.ac (fu_cv_sys_truncating_statfs): Remove; now done by gnulib .m4 files. (jm_DUMMY_1): Require gl_READUTMP, not jm_PREREQ_READUTMP. * src/sys2.h (strtoull): Remove unused declaration. 2003-08-16 Jim Meyering <jim@meyering.net> * man/Makefile.am (.x.1): Ensure that generated PROGRAM.1 files are read-only. * src/tail.c (tail_lines): Fix a potential (but very hard to exercise) race condition bug. The bug would be triggered when tailing a file with file pointer not at beginning of file, and where the file was truncated to have a length of less than the initial offset at just the right moment (between the two lseek calls in this function). An invalid initial value for *read_pos would result in `tail -n0 -f FILE' and `tail -c0 -f FILE' doing what amounted to a busy-wait rather than sleeping between iterations. The bug manifests itself only when tailing regular files that are initially nonempty. * src/tail.c (tail_bytes): Set *read_pos to new file offset after each xlseek call. (tail_lines): Likewise, after lseek calls. Reported by Nick Estes. See http://bugs.debian.org/205251 for details. * tests/tail-2/tail-n0f: New file. Test for above fix. * tests/tail-2/Makefile.am (TESTS): Add tail-n0f. 2003-08-15 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_space_tab): Use exclusion list in separate file. (sc_sun_os_names): Likewise. * .x-sc_space_tab, .x-sc_sun_os_names: New files. * man/help2man: Remove some SPACEs before TAB. 2003-08-14 Paul Eggert <eggert@twinsun.com> * Makefile.maint (LC_ALL): Set to C. * man/Makefile.am (ASSORT): New var. (check-x-vs-1, programs): Use it. * src/Makefile.am (ASSORT, check-README, ../AUTHORS): Likewise. * tests/Makefile.am (ASSORT, all_programs): Likewise. 2003-08-11 Jim Meyering <jim@meyering.net> fold -s -wN would infloop for N < 8 with TABs in the input. E.g., this would not terminate: printf 'a\tb' | fold -w2 -s * src/fold.c (fold_file): Move contents of `else'-block out of conditional so it's used also for --spaces (-s). * tests/misc/fold: Test for the above fix. * tests/misc/Makefile.am (TESTS): Add fold. 2003-08-10 Jim Meyering <jim@meyering.net> * src/nice.c [!NICE_PRIORITY]: Include <sys/resource.h> after system.h so the types from time.h and sys/time.h are available. It appears that this is necessary for OpenBSD, NetBSD, and Darwin 6.5 (MacOS 10.2.5). Reported by Nelson Beebe. 2003-08-06 Paul Eggert <eggert@twinsun.com> * NEWS: Add support for setting file timestamps to microsecond resolution, on hosts that support this. * src/copy.c, src/cp.c, src/install.c, src/touch.c: Include utimens.h. * src/copy.c (copy_internal): Set file timestamps with utimens, not utime. * src/cp.c (re_protect): Likewise. * src/install.c (change_timestamps): Likewise. * src/touch.c (newtime, touch, main): Likewise. 2003-08-09 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_sun_os_names): New rule based on a regexp from Paul Eggert. (syntax-check-rules): Add it. * src/tail.c (main): Tweak Solaris OS version number in comment. * src/wc.c (wc): Likewise * tests/tail-2/fflush: Likewise. * src/tail.c: Add new undocumented option, --presume-input-pipe. (pipe_lines): Use memchr to skip lines, rather than an explicit loop. 2003-08-08 Paul Eggert <eggert@twinsun.com> Use new gnulib 'extensions' module. * configure.ac: Invoke gl_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE. 2003-08-08 Paul Eggert <eggert@twinsun.com> * tests/du/basic: Ensure that a/b/F has at least 65 bytes too. 2003-08-09 Jim Meyering <jim@meyering.net> * tests/misc/split-fail: Reflect that `split -a 0' is now accepted. For tests of obsolete behavior, don't presume that unsetting _POSIX2_VERSION is equivalent to _POSIX2_VERSION=199209. 2003-08-07 Paul Eggert <eggert@twinsun.com> * doc/coreutils.texi (split invocation): Add -d or --numeric-suffixes option to 'split'. From a suggestion by Jesse Kornblum. * src/split.c (suffix_alphabet): New var. (longopts, usage, next_file_name, main): Support -d. (next_file_name, main): Allow -a0, as POSIX requires. (next_file_name): Don't assume ASCII-like encoding; 'a' through 'z' are not contiguous in EBCDIC. 2003-08-05 Paul Eggert <eggert@twinsun.com> Merge getline from gnulib. * lib/getline.h, lib/getline.c, m4/getline.m4: Merge from gnulib. * lib/getndelim2.h, lib/getndelim2.c, m4/getndelim2.m4, m4/ssize_t.m4: New files, from gnulib. * lib/getdelim2.c, lib/getdelim2.h: Remove. * lib/Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and getdelim2.h to getndelim2.c and getndelim2.h. * m4/jm-macros.m4 (jm_MACROS): Use gl_GETNDELIM2 rather than checking for getdelim. (jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather than rolling our own. * src/cut.c: Include getndelim2.h rather than getdelim2.h. (cut_fields): Invoke getndelim2 rather than getdelim2. 2003-08-04 Jim Meyering <jim@meyering.net> * src/sort.c (main): Use unsigned int instead of int for `nsigs' and for the indices to iterate through nsigs. 2003-08-02 Paul Eggert <eggert@twinsun.com> * src/sort.c: Minor code cleanups, mostly to use more accurate types and to remove unnecessary casts. (min, max): Remove. All uses changed to MIN and MAX. (hard_lc_collate, hard_LC_TIME, struct buffer.eof, struct keyfield.skipsblanks, struct keyfield.skipeblanks, struct keyfield.numeric, struct keyfield.general_numeric, struct keyfield.month, struct keyfield.reverse, reverse, unique, have_read_stdin): Now bool, not int. All uses changed. (eolchar): Now char, not int. (struct keyfield.ignore): Now bool const *, not int *. (struct keyfield.translate): Now char const *, not char *. (struct month.name): Likewise. (blanks, nonprinting, nondictionary): Now bool[], not int[]. (cleanup, inittables, keycompare, check, mergefps, first_same_file, check, sort, main): Use const * pointers when possible. (month_cmp): Rewrite to avoid casts. (inittables): Initialize tables unconditionally, to avoid branches. (fillbuf): Return bool, not int. All uses changed. (fillbuf, keycompare, new_key, main): Use SIZE_MAX rather than (size_t) -1. (trailing_blanks): Renamed from trim_trailing_blanks. Return the number of blanks to trim. All uses changed. (getmonth): Use trailing_blanks rather than open code. (keycompare): Do not cast char * to unsigned char *; not needed. CMP_WITH_IGNORE converts args to UCHAR, so no need to convert it ourselves. (compare, main): Use | rather than || to avoid jumps. Replace "diff = NONZERO (alen)" with "diff = 1", since alen must be nonzero there. (check, first_same_file, sort, main): Use bool instead of int local vars when possible. (check): Merge the old 'checkfp' and 'check' into a single function, that returns a boolean (true if the file was ordered). All uses changed. (main): Use int instead of unsigned for iterating through nsigs. Rename local var "posix_pedantic" to "posixly_correct". 2003-08-02 Jim Meyering <jim@meyering.net> * src/nice.c [!NICE_PRIORITY]: Include <time.h> before <sys/resource.h> to avoid compilation error on Ultrix. Reported by Christian Krackowizer. * src/cut.c (cut_fields): Don't read again after encountering an initial EOF. E.g., `cut -f2' would do so. * tests/misc/tty-eof: Add a test for the above fix. * src/sort.c (sortlines): Add description and references. From Paul Eggert. * tests/Makefile.am (TESTS_ENVIRONMENT): Set PATH so that the tests in help-version will use the just-built binaries. Reported by Christian Krackowizer. 2003-07-31 Paul Eggert <eggert@twinsun.com> * NEWS: Add --rfc-2822 option to GNU date. * doc/coreutils.texi (Time directives, Options for date, Examples of date): Likewise. * src/date.c (long_options, usage, main): Likewise. * doc/getdate.texi (General date syntax): Likewise. * doc/coreutils.texi (Options for date): Fix a typo in format: it's now %d not %_d. Add URLs. 2003-08-01 Jim Meyering <jim@meyering.net> * tests/shred/remove: Ensure that $? is 0 for the final `exit 0'. Otherwise, with at least the /bin/sh from HPUX 10.20, the trap code would end up converting that to exit 1 and thus an unexpected test failure. Reported by Christian Krackowizer. 2003-07-31 Paul Eggert <eggert@twinsun.com> * src/ptx.c: Do not include bumpalloc.h. (WORD_TABLE): New member alloc. (ALLOC_NEW_WORD): Remove. (occurs_alloc): New var. (digest_word_file, find_occurs_in_text): Check for arithmetic overflow when computing table size. Use xrealloc rather than bumpalloc primitives. 2003-07-29 Jim Meyering <jim@meyering.net> * Version 5.0.90. * README: When running tests as root, suggest using sudo with NON_ROOT_USERNAME=$USER. * tests/Makefile.am (all_programs): Makefile is in ../src, not $(srcdir)/../src. 2003-07-28 Jim Meyering <jim@meyering.net> * Makefile.maint (GZIP_ENV): Try Debian/gzip's new --rsyncable option. 2003-07-28 Paul Eggert <eggert@twinsun.com> * lib/stdbool.hin (_Bool): Make it signed char, instead of an enum type, so that it's guaranteed to promote to int. * src/sort.c (sortlines_temp): Undo previous change. 2003-07-28 Jim Meyering <jim@meyering.net> * src/sort.c (sortlines_temp): Declare local `swap' to be `int', not `bool'. Otherwise, at least one buggy compiler (alpha gcc-2.95.4) would cause lines[-1 - swap] (with swap = false) to evaluate to lines[4294967295]. 2003-07-27 Jim Meyering <jim@meyering.net> * tests/priv-check (my_uid): Use `!', not `^' in case pattern `[!0-9]', since /bin/sh of at least NetBSD 1.6 and OpenBSD 3.2 don't accept `^'. * src/remove.c (prompt) [! recursive]: Don't prompt about unwritable directories, as required by POSIX. Reported by Karl Berry. * tests/rm/dir-no-w: New file. Test for the above fix. * tests/rm/Makefile.am (TESTS): Add dir-no-w. * tests/mk-script: Emit `$xx', not its expansion. 2003-07-27 Paul Eggert <eggert@twinsun.com> This change was inspired by a similar proposal by Stepan Kasal. * src/sort.c (mergelines, sortlines_temp): New functions. (sortlines): Use them, to reduce the number of times that we need to copy 'struct line' values. This improved CPU performance by about 30% on one 18 MB test. (sort): Don't invoke sortlines unless we have 2 or more lines. 2003-07-26 Stepan Kasal <kasal@ucw.cz> * src/sort.c (sort): Don't require two `struct line's per text line, the new sort algorithm requires just 1.5. 2003-07-27 Jim Meyering <jim@meyering.net> * src/pathchk.c (validate_path): Use %lu, not %ld. From Paul Eggert. * src/cut.c (is_printable_field): Simplify bit arithmetic. From Paul Eggert. * src/ls.c (sort_files): Put `volatile' in the right place. From Paul Eggert. 2003-07-26 Jim Meyering <jim@meyering.net> Use only one bit per field/offset in array, not one `int'. * src/cut.c (printable_field): Change type to `unsigned char'. (mark_printable_field, is_printable_field): New functions. Use them in place of all direct accesses of `printable_field'. * src/expand.c (parse_tabstops): Detect overflow properly. * src/cut.c (set_fields): Likewise. * src/rm.c: Include "dirname.h". (usage): Use base_name (program_name) in body of --help output. This lets me... * man/Makefile.am (.x.1): ...back out the kludge of 2003-07-22. Idea from Brendan O'Dea, who suggested using `program_name = basename (argv[0]);' everywhere -- can't do that, but using base_name works just fine here. * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt test. 2003-07-24 Paul Eggert <eggert@twinsun.com> Fix some POSIX-compliance problems with 'test'. This makes 'test' more compatible with Bash. * NEWS, doc/coreutils.texi: Document the following. * src/test.c: Include exitfail.h. (TEST_FAILURE): New constant, used for exit status if 'test' fails. (test-syntax_error): Use it. (binary_operator): Now takes bool arg specifying whether left operand is -l ARG, so that caller determines this rather than us. All uses changed. (term): Use posixtest to evaluate parenthesized subexpressions. (unary_operator, one_argument): Remove support for -t without operand. (one_argument): Take argument from argv[pos]. (one_argument, two_arguments, three_arguments): Advance pos. All callers changed. (three_arguments): Look for binary ops before "!". Then look for parenthesized one_argument expressions, instead of trusting expr () to do the right thing. (posixtest): Now takes number of args. All callers changed. Treat "( A B )" like "A B". (main): Set exit_failure to TEST_FAILURE. Don't depend on POSIXLY_CORRECT, as we now conform to POSIX by default. (main) [!LBRACKET]: Do not recognize "--help" or "--verbose" unless. * tests/test/Test.pm (test_vector): Add several tests to check the above. Syntax errors now exit with status 2, not 1. * man/Makefile.am (mapped_name): Use `../src/[' binary to create test.1. 2003-07-26 Jim Meyering <jim@meyering.net> * tests/help-version: Adjust for above change in test behavior: `[' exits with 2, not 1, and test doesn't accept --help or --version. * Makefile.maint (ME): Don't use trick suggested in Make manual. It doesn't work for make-3.79.1. Reported by Christian Krackowizer. * Makefile.maint (sc_system_h_headers): Another syntax check. (syntax-check-rules): Add it to the list. * src/pathchk.c (validate_path): Cast strlen value to `unsigned long' so it matches `%ld' format even on 32-bit systems. * src/fmt.c (flush_paragraph): Cast field width to `int' to avoid warning on 64-bit systems. * src/ls.c (sort_files): Make `func' volatile, so it can't be clobbered by a `longjmp' into this function. 2003-07-25 Jim Meyering <jim@meyering.net> * src/pathchk.c (validate_path): Use %ld format (not %d) for size_t value. * tests/misc/split-fail: Disable the --line-bytes=$_4gb test, because it'd evoke spurious failure on 64-bit systems. 2003-07-24 Jim Meyering <jim@meyering.net> * src/dd.c (usage): Document the fact that SIGUSR1 makes dd output its current record counts. Reported by Jurriaan. * tests/wc/Test.pm (test_vector): Disable the `PIPE' tests when running `wc' with no options. This goes along with the change of 2003-07-20. 2003-07-23 Jim Meyering <jim@meyering.net> Don't include headers already included by system.h: * src/tr.c: Don't include errno.h. * src/true.c: Don't include version-etc.h. * src/test.c: Don't include limits.h or error.h. * src/stat.c: Don't include unistd.h or time.h. * src/readlink.c: Don't include stdlib.h, unistd.h, or limits.h. * src/pr.c: Don't include time.h. * src/pathchk.c: Don't include errno.h. * src/nice.c: Don't include sys/time.h. * src/ls.c: Don't include stdlib.h. * basename.c, cat.c, chroot.c, cksum.c, comm.c, csplit.c, cut.c, date.c: * dd.c, dirname.c, echo.c, env.c, expand.c, expr.c, factor.c, fmt.c: * fold.c, head.c, hostid.c, hostname.c, id.c, join.c, kill.c, logname.c: * md5sum.c, nice.c, nl.c, nohup.c, od.c, paste.c, pathchk.c, pinky.c: * pr.c, printenv.c, printf.c, ptx.c, pwd.c, seq.c, setuidgid.c, shred.c: * sleep.c, sort.c, split.c, stat.c, stty.c, su.c, sum.c, tac.c, tail.c: * tee.c, test.c, tr.c, true.c, tsort.c, tty.c, uname.c, unexpand.c: * uniq.c, uptime.c, users.c, wc.c, who.c, whoami.c, yes.c: Don't include closeout.h. * tests/rm/fail-2eperm: Add a check for whether $NON_ROOT_USERNAME can access the required version of rm. * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION. * tests/cut/Test.pm (out-delim3a): New test. * man/help2man: Update to version 1.33. * src/expand.c (parse_tabstops): Detect overflow in tabstop sizes. * src/dircolors.c: Include xstrndup.h. (xstrndup): Remove function, now that it's been factored out into it's own file. 2003-07-22 Paul Eggert <eggert@twinsun.com> * src/wc.c (wc): Fix typo in computation of file from file_x, which caused the former to be used uninitialized if file_x was nonzero. 2003-07-22 Jim Meyering <jim@meyering.net> * src/cut.c (set_fields): Use xcalloc in place of xmalloc+memset. * man/Makefile.am (.x.1): Substitute 's,$t/$*,$*,' on output of help2man, to avoid having `rm.td/rm' appear in rm.1. Reported by Thomas Luzat. See http://bugs.debian.org/202413 for details. * src/cut.c (main) [lint]: Initialize spec_list_string to avoid warning. * src/hostid.c: Don't include <unistd.h>. system.h already does that. * src/cut.c (set_fields): Mark all selected indices before trying to determine range endpoints. * tests/cut/Test.pm: New test for the above fix. Begin to address this comment: What if someone wants to extract the 1,000,000-th field of some huge input file? The first step is to rearrange things so that the values in the printable_field array are all 0/1 rather than 0/1/2. * src/cut.c (RANGE_START_SENTINEL): Remove. Store range-start indices in a hash table, rather than overloading the `printable_field' array. (range_start_ht): New global. (hash_int, hash_compare_ints, is_range_start_index): New functions. (print_kth): Use is_range_start_index; don't test printable_field. (set_fields): Detect overflow. (set_fields): Insert each range-start index into range_start_ht. (main): Call set_fields only once, and only after output_delimiter_specified and (if required) range_start_ht have been defined. 2003-07-20 Paul Eggert <eggert@twinsun.com> * src/wc.c (get_input_fstatus): Fix typo: `stat' was being invoked with a null pointer when there were no file arguments. 2003-07-20 Jim Meyering <jim@meyering.net> * Makefile.maint (sc_changelog): Add another nit-picky check. * src/wc.c (write_counts): Add a comment. (wc): Rename `file' parameter. Set new local, `file', to be the file name, or (when it's NULL) _("standard output") so that all uses of `file' use the proper value. Use STREQ, not strcmp. 2003-07-20 Paul Eggert <eggert@twinsun.com> wc count field widths now are heuristically adjusted depending on the input size, if known. If only one count is printed, it is guaranteed to be printed without leading spaces. Previously, wc did not align the count fields if POSIXLY_CORRECT was set, but POSIX did not actually require this undesirable behavior, so it has been removed. * NEWS: Document this. * doc/coreutils.texi (wc invocation): Likewise. * src/wc.c (number_width): New var. (posixly_correct): Remove. (struct fstatus): New struct. (write_counts): Output fields of width number_width. Do not worry about POSIXLY_CORRECT. Use null file, not empty-string file, to denote stdin, since "" is a valid file name on some hosts. (wc, wc_file): New arg fstatus. Use it to avoid invoking fstat if possible. (wc): Avoid problems if end_pos - current_pos overflows. Do not print odd message if stdin has a read error. (get_input_fstatus, compute_number_width): New functions. (main): Use them to implement the new behavior. Ignore POSIXLY_CORRECT. * tests/wc/Test.pm: Adjust to the new output widths. 2003-07-19 Jim Meyering <jim@meyering.net> * tests/rm/fail-eperm: Don't create temporary directory -- we don't use it. * tests/shred/remove: Don't open-code test for UID != 0. Use priv-check's require-non-root instead. Update to use newer framework. * tests/help-version (expected_failure_status_expr): Record that expr exits with status of 3 for e.g., a write error. * tests/priv-check: Use `id -u' to see if we're running as root, rather than trying go write to an write-protected file. When running as root, ensure $NON_ROOT_USERNAME is valid. When running as root with `require-non-root', ensure that `.' is writable by $NON_ROOT_USERNAME, then reinvoke $0 set-user-ID to $NON_ROOT_USERNAME. If `.' is not writable, then skip the test. * src/printenv.c: Include "exitfail.h". (main): Set exit_failure rather than calling close_stdout_set_status. * src/date.c: Likewise. * src/sort.c: Likewise. * src/tty.c: Likewise. 2003-07-18 Jim Meyering <jim@meyering.net> * tests/touch/not-owner: Update to use newer framework. * tests/rm/fail-eperm: Use $srcdir/../priv-check, create a temporary directory, and remove Perl-coded `you may not run as root' test. * tests/cp/fail-perm: Use $srcdir/../priv-check, rather than hard-coding something not quite equivalent. Paul Jarc reported the inconsistent diagnostics. * src/sort.c (main): Use close_stdout via atexit. Now `sort --version' and `sort --help' fail, as they should when their output is redirected to /dev/full. * src/su.c (usage): Don't call close_stdout here. (main): Use close_stdout via atexit. Now `su --version > /dev/full' fails, as it should. Somehow, the change of 2000-05-07 that purports to fix this was not checked in. * tests/help-version (--help/--version vs. /dev/full): Special-case `[' to protect it from expected_failure_status-`eval'. * src/uniq.c (writeline): Use a SPACE, not a TAB between the count and the corresponding line, as required by POSIX. Reported by Clement Wang. * tests/uniq/Test.pm (101, 102): Update tests of -c accordingly. * tests/expr/basic: Add tests for when exit status is 2. * src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE, NOHUP_FAILURE): Use an anonymous `enum', rather than #define. 2003-07-17 Paul Eggert <eggert@twinsun.com> * src/expr.c: Include "exitfail.h", "quotearg.h". (EXPR_INVALID, EXPR_ERROR): New constants. (nomoreargs, null, toarith, nextarg): Return bool, not int. (syntax_error): New function, exiting with status 2. Use it insteading of printing "syntax error" ourselves. (main): Initialize exit_failure to EXPR_ERROR. Exit with EXPR_INVALID on syntax error (too few arguments). (nextarg): Use strcmp, not strcoll; strcoll might return an undesirable 0, or might fail. (docolon, eval4, eval3): Exit with status 3 on invalid argument type or other such error. (eval2): Report an error if strcoll fails in a string comparison. * src/sort.c: Include "exitfail.h". (main): Set exit_failure, not xalloc_exit_failure and xmemcoll_exit_failure. * tests/expr/basic: Invalid value exits with status 3, not 2. 2003-07-16 Jim Meyering <jim@meyering.net> * configure.ac (AC_INIT): Use 5.0.90 as the version, rather than 5.0.2, per GNU maintainer guidelines. The next non-beta release will be 5.1. This script would have caught at least two recent bugs: those in [ and kill. * tests/help-version: Revive this script. It wasn't doing anything useful, since $all_programs wasn't being defined by the invoking Makefile.am. Reflect that nohup is no longer a script, so don't exclude it. Add framework to handle the programs added since it was last run: kill, stat, unlink, [, link, readlink. Fix path-related problems deriving from the move of this script from src/ to its present location. * tests/Makefile.am (all_programs): Define. (TESTS_ENVIRONMENT): Use it. * src/kill.c (main): Fix bug introduced on 2003-05-10 (for 5.0.1) whereby kill would always attempt to operate on argv[0] and fail. * src/test.c (integer_expected_error): Improve diagnostic -- now, it also matches the one from bash's builtin test. (binary_operator): Add \n at end of diagnostic. * tests/rm/fail-2eperm: Remove setuidgid-related code. Move it to ... * tests/priv-check: Move setuidgid-related and NON_ROOT_USERNAME-checking code to this file. * README: Update section on testing as `root'. Suggestion from Paul Jarc. * src/test.c (AUTHORS): Replace 3-letter usernames with the actual names of authors that I just found in bash's builtins/test.def. Running `[' with no arguments would evoke a segfault. * src/test.c (main) [LBRACKET]: Move initialization of argv to precede potential use via test_syntax_error. * src/Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-15 Jim Meyering <jim@meyering.net> * Version 5.0.1. * Makefile.maint (%.asc): Remove target first, so gpg doesn't prompt us about it. * announce-gen (print_changelog_deltas): Relax tests for matching version-number line in NEWS. Change the .sig suffix to .asc here, too. 2003-07-14 Jim Meyering <jim@meyering.net> * Makefile.maint (%.asc): Renamed from %.sig. Generate and use ascii-armored signatures. Use gpg's -o option. 2003-07-13 Jim Meyering <jim@meyering.net> * src/nohup.c (NOHUP_FAILURE, NOHUP_FOUND_BUT_CANNOT_INVOKE): Define. (main): Use them. * Makefile.maint (syntax-check): Move each individual check into its own target. (syntax-check-rules): This is the list of syntax-check targets. (sc_unmarked_diagnostics, sc_cast_of_argument_to_free): (sc_cast_of_x_alloc_return_value, sc_space_tab): (sc_error_exit_success, sc_xalloc_h_in_src): New targets. 2003-07-12 Jim Meyering <jim@meyering.net> * configure.ac: Remove uses of OPTIONAL_BIN_ZCRIPTS and last traces of the nohup script. * src/Makefile.am (bin_SCRIPTS): Remove use of just-removed $(OPTIONAL_BIN_ZCRIPTS). * src/Makefile.am (localedir.h): Put the `2>&1' after the redirect target, not before the `>'. * src/remove.c (remove_dir): Give a diagnostic upon failed save_cwd, now that that function no longer calls `error'. * src/df.c (find_mount_point): Emit a diagnostic for each failed syscall, rather than relying on caller to do that. The caller couldn't do a good job, anyhow -- too many different ways to fail (each with a different referent). Give a diagnostic upon failed save_cwd, now that that function no longer calls `error'. (show_point): Don't diagnose find_mount_point's errors, now that it handles them itself. * src/df.c (find_mount_point): Don't let free clobber errno upon failed chdir. * src/sys2.h: Remove alloca-related block. * src/system.h: Include <alloca.h> here, instead. It appears that the `#pragma alloca' included via "system.h" is adequate, since join.c uses alloca, yet lacked an in-file #pragma. * src/copy.c, src/cp.c, src/df.c, src/install.c, src/ln.c: * src/ls.c, src/mv.c, src/remove.c: Remove `#pragma alloca'. * src/chown-core.c (change_file_owner): Do not restore any special permission bits (e.g., set-user-ID, set-group-ID) that are reset by chown(2) on some systems. Suggestion and insistence :-) from Michael Stone. * tests/input-tty: Also check `test -t 1'. This is necessary on linux-2.4.21. Otherwise, the stty/basic-1 test would block when run in the background. 2003-07-11 Jim Meyering <jim@meyering.net> * tests/sample-test: Also fail if cat-to-create-expected-output fails. Otherwise, if both `exp' and `out' were to end up empty because of e.g., a full disk, they would mistakenly compare equal. * src/nohup.c: New file. Rewrite of nohup.sh in C. This solves a portability problem: on at least Solaris systems, when nohup.sh used the vendor /bin/sh, it would exit with status of `1' rather than the required 126 or 127 upon failure to exec the specified program. * src/Makefile.am (EXTRA_SCRIPTS): Remove definition. (bin_PROGRAMS): Add nohup. (EXTRA_DIST): Remove nohup.sh. (all_programs): Remove use of $(EXTRA_SCRIPTS). * src/nohup.sh: Remove file. * man/Makefile.am (nohup.1): Depend on nohup.c, rather than nohup.sh. * tests/misc/nohup: Tests for the above. * tests/misc/Makefile.am (TESTS): Add nohup. * src/head.c (diagnose_copy_fd_failure): New function, renamed from the macro, COPY_FD_DIAGNOSE. (diagnose_copy_fd_failure): Enclose diagnostic in _(...). (head_file): Likewise. * src/date.c: Include "quote.h". (batch_convert): Use the quote function rather than using literal `...' in a diagnostic. * src/setuidgid.c (main): Enclose diagnostic in _(...). * src/fmt.c (main): Likewise. * src/mknod.c (main): Likewise. * src/tac.c (tac_seekable): Likewise. * src/yes.c (main): Likewise. * src/od.c (main): Likewise. * src/install.c (change_attributes): Likewise. 2003-07-10 Jim Meyering <jim@meyering.net> * src/head.c (usage): Use 1024*1024 in place of 1048576. * src/tail.c (usage): Likewise. * tests/rm/fail-2eperm: Now that we have setuidgid, use it in place of the kludge in this test. Suggestion from Paul Jarc. * src/Makefile.am (noinst_PROGRAMS): Define to setuidgid. * src/setuidgid.c: New program, solely for testing (not installed). * src/chown-core.c (change_file_owner): Don't leak file descriptors when dereferencing symlinks. 2003-07-09 Jim Meyering <jim@meyering.net> * tests/du/slash: New file/test for today's lib/ftw.c fix. * tests/du/Makefile.am (TESTS): Add slash * src/tail.c (xlseek): Avoid warning about ``return without value from function returning non-void''. 2003-07-08 Jim Meyering <jim@meyering.net> * man/help2man: Update to version 1.29. * man/help2man: Add END handler to close STDOUT and check for errors. 2003-06-30 Paul Eggert <eggert@twinsun.com> Add support for a "[" that conforms to the GNU coding standards, i.e., that does not depend on its name. * src/lbracket.c: New file. * README: Add "[". * man/Makefile.am (programs): Ignore "[", since it doesn't have a separate man page. * src/Makefile.am (bin_PROGRAMS): Add "[". (__SOURCES): New var. * src/test.c (LBRACKET): Define to 0 if not defined. (main): Use LBRACKET rather than argv[0]. * src/test.c (one_argument): Do not check for -t if POSIXLY_CORRECT. Reported by Paul Jarc and Dan Jacobson. * src/test.c (main): Do not recognize --help or --version if POSIXLY_CORRECT, when invoked as "test". Handle "[ ]" correctly. Do not bother testing that margv[margc] is non-null. 2003-07-04 Jim Meyering <jim@meyering.net> * src/who.c (print_line): Rewrite to use asprintf, in order to be able to avoid emitting trailing spaces. Reported by Dan Jacobson. * tests/misc/head-elide-tail: Add tests of head's new --lines=-N option, and perform the +1600 invocations of head IFF the envvar RUN_EXPENSIVE_TESTS is set. 2003-07-03 Jim Meyering <jim@meyering.net> * src/cp.c (do_copy): Give a better diagnostic when failing due to nonexistent destination directory. Reported by Dmitry Rutsky. See http://bugs.debian.org/199730 for details. 2003-06-27 Jim Meyering <jim@meyering.net> split's --verbose option did nothing [broken in 4.5.10 and 5.0] * src/split.c (longopts): Use `1', not `0' as the value for &verbose. Reported by Keith Thompson. Test for the above fix. * tests/misc/split-a: Also use --verbose and compare stderr output with what we'd expect. 2003-06-20 Jim Meyering <jim@meyering.net> * src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]: Use `error_t' (rather than int) as type for local `err'. From Alfred M. Szmidt. 2003-06-19 Marcus Brinkmann <marcus@gnu.org> * src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]: Fix author preservation code. 2003-06-19 Jim Meyering <jim@meyering.net> * src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Define to 0. (do_link): Don't warn about hard link to symlink. 2003-06-18 Jim Meyering <jim@meyering.net> * src/cut.c: Include "getdelim2.h", not "getstr.h". Reflect renaming: getstr -> getdelim2. * src/comm.c, src/join.c, src/nl.c, src/uniq.c: Reflect renaming: readline -> readlinebuffer. 2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * src/readlink.c: Include <sys/types.h> before system.h (because the latter includes <sys/stat.h>). Required on Ultrix 4.3. 2003-06-17 Jim Meyering <jim@meyering.net> * src/system.h (initialize_main): Define. Use it in every `main'. Applied via this: p='initialize_main (&argc, &argv);' perl -ni -e '/program_name.=.argv.0/ and print " '"$p"'\n"; print' \ $(grep -l program_name.=.argv.0 *.c) test.c uses margc/margv, so I made the change manually for that file. Based on a patch from Bernard Giroud. 2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> Fix for build failure on Ultrix 4.3. * src/stat.c: Include sys/statvfs.h in preference to sys/vfs.h. Include sys/param.h and sys/mount.h on ultrix. 2003-06-16 Jim Meyering <jim@meyering.net> * src/touch.c (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Remove definitions. * src/system.h (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Define them here instead, but with one change: define EISDIR to -1, not 0. * src/cat.c (cat): Remove `#ifndef ENOSYS', now that it's guaranteed to be defined. * src/system.h (ENOSYS, ENOTSUP): Define to -1 if not defined. * README: Mention the CVS repository. Encourage addition of test cases. 2003-06-12 Jim Meyering <jim@meyering.net> * src/touch.c (touch): Call close only if necessary. From Bruno Haible. * src/wc.c (usage): Correct wording: wc prints counts in the order `newline, word, byte'. Reported by Keith M. Briggs. * man/wc.x: Fix it here, too. And change `lines' to `newlines'. 2003-06-10 Jim Meyering <jim@meyering.net> * tests/date/Test.pm: Add a test for the new format, e.g., May-23-2003. 2003-06-07 Jim Meyering <jim@meyering.net> * Makefile.maint (syntax-check): Add commented-out (over-aggressive) rule. 2003-06-06 Jim Meyering <jim@meyering.net> * src/extract-magic (main): Avoid newer 3-arg form of open, so this script works also with e.g., perl5.005_03. Patch by John David Anglin. 2003-06-04 Paul Eggert <eggert@twinsun.com> * src/system.h: Include <stdbool.h> unconditionally. 2003-06-04 Jim Meyering <jim@meyering.net> * man/Makefile.am (check-programs-vs-x): Rename target from check-programs-vs-1. Adjust rule to check for the primary (.x) file, not the generated one (.1). 2003-06-03 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> * man/kill.x: New file. * man/Makefile.am (dist_man_MANS): Add kill.1. (kill.1): New rule. 2003-06-04 Jim Meyering <jim@meyering.net> Ensure that the .x file for a new program is never forgotten again. * man/Makefile.am (programs): Define. (check-programs-vs-1): New phony target. (check-local): Depend on it. 2003-06-03 Jim Meyering <jim@meyering.net> Avoid unnecessary copying of environment. * src/env.c (main): Rather than clearing the environment and -- unless told to ignore environment -- copying all settings from the saved, original environment, clear the environment only when that is requested. Suggested by Jens Elkner. 2003-06-02 Jim Meyering <jim@meyering.net> * src/system.h: Always include <string.h>, since we assume C89. Include <limits.h> without checking for HAVE_LIMITS_H. * src/test.c [!TEST_STANDALONE]: Remove #if-0'd block. (STREQ, S_IXUGO): Remove redundant (in system.h) definitions. 2003-06-01 Jim Meyering <jim@meyering.net> Avoid a race condition in `tail -f' described by Ken Raeburn in http://mail.gnu.org/archive/html/bug-textutils/2003-05/msg00007.html * src/tail.c (file_lines): Add new parameter, *read_pos, and set it. (pipe_lines, pipe_bytes, start_bytes, start_lines): Likewise. (tail_bytes, tail_lines, tail): Likewise. (tail_file): Use the new `read_pos' value as the size, rather than stats.st_size from the fstat call. 2003-05-28 Jim Meyering <jim@meyering.net> * src/extract-magic: Allow expansion of `$file' in the here- document corresponding to the comment at the top of fs.h. 2003-05-26 Jim Meyering <jim@meyering.net> * src/stat.c: Fix portability problem on FreeBSD5.0: don't include <sys/statvfs.h> on systems without HAVE_STRUCT_STATVFS_F_BASETYPE. Use #if/#elif/... cascade so we get only one set of include files. Reported by Nelson Beebe. 2003-05-24 Jim Meyering <jim@meyering.net> * src/md5sum.c (split_3): Accept the BSD format only when in MD5 mode. * tests/sha1sum/basic-1: Make sure `sha1sum --check' doesn't accept the BSD format. 2003-03-28 Joe Orton <jorton@redhat.com> * src/md5sum.c (bsd_split_3): New function. (split_3): Detect checksums from BSD 'md5' command and handle them using bsd_split_3. * tests/md5sum/basic-1: New tests for --check exit status, and for BSD-style checksum files. 2003-05-21 Jim Meyering <jim@meyering.net> * src/head.c (elide_tail_lines_pipe): Fix a thinko. This sort of thing is why it'd be *Really Good* to factor out the common code used here and in tail.c. 2003-05-14 Jim Meyering <jim@meyering.net> * src/head.c (usage): Document new feature: --bytes=-N and --lines=-N. * tests/du/slink: Skip this test if `.' is on an XFS file system. * tests/du/fd-leak: New file. Test for the bug in du that was fixed by the 2003-05-12 change to lib/ftw.c. * tests/du/Makefile.am (TESTS): Add fd-leak. * src/head.c (AUTHORS): Enclose string in N_(...), now that it includes a translatable word, `and'. * src/dd.c (usage): Don't use `,' as the thousands separator in e.g. 1,000,000 and 1,048,576. Instead, do this: `SIZE may be ..., MB 1000*1000, M 1024*1024 and so on...' * src/df.c (usage): Likewise. * src/du.c (usage): Likewise. * src/ls.c (usage): Likewise. * Makefile.maint (syntax-check): Add another check. 2003-05-13 Paul Eggert <eggert@twinsun.com> Fix uniq to conform to POSIX, which requires that "uniq -d -u" must output nothing. Problem reported by Josh Hyman. * src/uniq.c (enum output_mode, mode): Remove, replacing with: (output_unique, output_first_repeated, output_later_repeated): New vars. All uses of "mode" changed to use these variables, which are not mutually exclusive as "mode" was. (writeline): New arg "match", used to control whether to obey output_first_repeated or output_later_repeated. All callers changed. (check_file, main): Adjust to above changes. * tests/uniq/Test.pm: Test that 'uniq -d -u' outputs nothing. 2003-05-14 Jim Meyering <jim@meyering.net> * tests/rm/rm3: Use tr's \n notation rather than \012. This package can afford to do that, since its tests are guaranteed use GNU tr, which has accepted the more modern notation for 10 years. * tests/rm/rm5: Likewise. * tests/cp/same-file: Likewise. * tests/stty/row-col-1: Likewise. * tests/stty/basic-1: Likewise. * tests/rm/deep-1: Likewise. * tests/mv/part-symlink: Likewise. * tests/mkdir/perm: Likewise. * tests/misc/nice: Likewise. 2003-05-13 Jim Meyering <jim@meyering.net> * src/copy.c (struct F_triple) [name]: Remove const attribute. (triple_free): Don't apply cast to argument of free. (seen_file): Add cast here instead. * src/cp-hash.c (struct Src_to_dest) [name]: Remove const attribute. (src_to_dest_free): Don't apply cast to argument of free. * src/sort.c (zaptemp): Don't apply cast to argument of free. * src/pr.c (init_fps, init_store_cols): Likewise. * src/join.c (delseq, freeline): Likewise. * src/expr.c (OLD): Likewise. * src/sort.c (sort): Likewise. * src/head.c (elide_tail_lines_pipe): Likewise. * src/tail.c: Include "quote.h". Use quote in diagnostics. Change many error format strings from just `%s' to e.g., `error reading %s'. (pipe_lines): Change type of parameter, n_lines, to uintmax_t. Rewrite newline-counting loop to use memchr. * src/head.c (elide_tail_lines_pipe): Use `if', not assert. Now that assert is no longer used, don't include <assert.h>. 2003-05-12 Jim Meyering <jim@meyering.net> * src/head.c: Include <assert.h>. (AUTHORS): Add my name. (elide_tail_lines_pipe): New function. 2003-05-10 Jim Meyering <jim@meyering.net> * Makefile.maint (syntax-check): Check for `error (EXIT_SUCCESS,'. * src/readlink.c (main): Set program_name before first use. Remove that (redundant) first use. Don't exit successfully just because --verbose was specified. Pass 0, not EXIT_SUCCESS, as first argument to error; when that parameter is 0, error does not exit. * src/uname.c (main): When failing due to too many arguments, also say that, rather than just "Try `uname --help' for more information.". * src/comm.c (main): Likewise, but for too few arguments. * src/logname.c: Include error.h. (main): Say why we're failing. * src/uniq.c (main): Don't segfault when argc < optind. * src/who.c (main): Handle argc < optind. * src/df.c (main): Likewise. * src/install.c (main): Likewise. * src/mv.c (main): Likewise. * src/pwd.c (main): Likewise. * src/tty.c (main): Likewise. * src/chroot.c (main): Likewise. * src/hostname.c: Likewise. * src/du.c (main): Likewise. * src/expand.c (main): Likewise. * src/env.c (main): Likewise. * src/unexpand.c (main): Likewise. * src/printenv.c (main): Likewise. * src/sync.c (main): Handle argc == 0. * src/expr.c (main): Likewise. * src/printf.c (main): Likewise. * src/basename.c (main): Likewise. * src/ln.c (main): Test for `missing argument' before computing n_files. * src/tail.c (main): Test for the case of no arguments before computing n_files. * src/kill.c (send_signals): Don't check command line arguments here. (main): Check them here instead. Handle argc < optind. * src/logname.c (main): Use error, rather than fprintf, for the sake of consistency. * src/rm.c (main): Don't overrun array bound if argc is 0. 2003-05-09 Jim Meyering <jim@meyering.net> * src/sort.c (main): Don't overrun array bound if argc is 0. That would happen when invoked via: execl ("/usr/bin/sort", NULL); Reported by Wartan Hachaturow. 2003-05-07 Jim Meyering <jim@meyering.net> Implement support so that `head --lines=-N' works on seekable files. * src/head.c (enum Copy_fd_status): Define. (COPY_FD_DIAGNOSE): New macro. (elide_tail_lines_seekable): New funtion. (elide_tail_lines_file): Call it here. 2003-05-06 Jim Meyering <jim@meyering.net> * src/sys2.h (CHAR_BIT): Remove duplicate definition. 2003-05-04 Jim Meyering <jim@meyering.net> * tests/head/Test.pm: Remove tests of --bytes=-N; using that framework caused the addition of thousands of small files to the tar archive. * tests/misc/head-elide-tail: New file. Add them here instead. * tests/misc/Makefile.am (TESTS): Add head-elide-tail. 2003-05-04 Paul Eggert <eggert@twinsun.com> * src/remove.c (HAVE_WORKING_READDIR): Define to 0 if not defined. (IF_READDIR_NEEDS_REWINDDIR): Remove. (remove_cwd_entries): Rewrite to avoid IF_READDIR_NEEDS_REWINDDIR, which was a bit weird because it couldn't be emulated by a function. 2003-05-03 Jim Meyering <jim@meyering.net> Extend head to accept --lines=-N (--bytes=-N) and to print all but the N lines (bytes) at the end of the file. * src/head.c: Include full-write.h, full-read.h, inttostr.h, quote.h. Use quote() in diagnostics, rather than literal `' marks. (copy_fd, elide_tail_bytes_pipe, elide_tail_bytes_file): New functions. (elide_tail_lines_pipe, elide_tail_lines_file): New functions. (head_file): Reorganize so as to call head from only one place. (main): Likewise, for head_file. Handle new, undocumented option, --presume-input-pipe. Handle negative line and byte counts. * tests/head/Test.pm: Add lots of tests to exercise --bytes=-N. * tests/du/8gb: Skip test if the file system of `.' doesn't support sparse files -- otherwise it'd create a file of size 8GB. 2003-05-02 Jim Meyering <jim@meyering.net> * src/fmt.c (usage): Don't mention obsolescent -WIDTH option. Instead explain about `-' and standard input. (main): Give a proper diagnostic for e.g., `fmt -c -72'. Reported by Keith Thompson. * tests/fmt/basic: Add test for the above fix. * src/fmt.c: Include "quote.h". Use quote() in diagnostics, rather than literal `' marks. (main): Exit nonzero when unable to open an input file. * tests/fmt/basic: Add test for the above fix. * src/fmt.c (main): Diagnose invalid suffix on obsolescent width specifications like `-72x'. * tests/fmt/basic: Add test for the above fix. Work around nasty readdir bug on Darwin6.5. * src/remove.c (IF_READDIR_NEEDS_REWINDDIR): Define. [! HAVE_WORKING_READDIR] (remove_cwd_entries): If readdir has just returned NULL and there has been at least one successful unlink or rmdir call since the opendir or previous rewinddir, then call rewinddir and reiterate the loop. Factor out common code. * src/remove.c (readdir_ignoring_dotdirs): New function. (is_empty_dir): Use it here. (remove_cwd_entries): Use it here. 2003-05-01 Jim Meyering <jim@meyering.net> * tests/rm/r-3: Create 500 rather than just 300 files. There's a bug in Darwin6.5's readdir that shows up only with 338 or more files. Fix a bug in this test: `cd $pwd' (not to `..'), now that $tmp has two components. * src/tail.c: Change type of n_units, n_bytes, n_lines to be `uintmax_t'. (dump_remainder): Move two declarations `down' into the scope where they are used. (xlseek): Return the resulting offset. (file_lines): Rename parameter, file_length, to end_pos. (pipe_lines): Don't coerce safe_read return value to `int'. Adapt tests accordingly. (pipe_bytes) [struct charbuffer] (nbytes): Change type from `int' to `unsigned int'. Change type of `total_bytes' from `int' to `size_t', since the former wouldn't always be wide enough. Don't coerce safe_read return value to `int', and adapt tests accordingly. Now that testing for a read error no longer involves using `tmp', handle that case *after* freeing `tmp'. (start_bytes): Clean up. (tail_bytes): Now that `n_bytes' may be larger than OFF_T_MAX, test for that condition and, if it's true, don't use lseek optimizations. (parse_options): Don't fail just because N_UNITS is larger than the maximum size of a file -- tail may be applied to an input stream (e.g., a pipe) with more data than that. * Makefile.maint (syntax-check): Rename from alloc-check. Also check for SPACE-TAB sequences. Also check for malloc/calloc/realloc casts. 2003-05-01 Jim Meyering <jim@meyering.net> * src/tail.c (start_lines): Rewrite to use memchr. Clean up. 2003-04-28 Jim Meyering <jim@meyering.net> * tests/misc/tty-eof: Send two tokens, not just one, so we don't make the now-more-picky tsort fail. 2003-04-24 Jim Meyering <jim@meyering.net> * src/tsort.c (tsort): Remove unnecessary test of have_read_stdin. (main): Minor syntactic clean-up. * src/tsort.c (tsort): Fail if the input contains an odd number of tokens. Reported by junkio@cox.net. * tests/tsort/basic-1: Test for the above fix. 2003-04-21 Jim Meyering <jim@meyering.net> * tests/misc/printf: Add tests for the printf fixes below. * Makefile.cfg (cvs_files): Add $(srcdir)/config/depcomp to the list. 2003-04-20 Paul Eggert <eggert@twinsun.com> Fix printf POSIX compatibility bug reported by Ben Harris in <http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>. * doc/coreutils.texi (printf invocation): It's \NNN in the format, \0NNN in the %b operand. * src/printf.c (usage): Likewise. (print_esc): New arg OCTAL0 to specify whether \0NNN or \NNN is desired. All uses changed. Behave like Bash printf if %b operand uses \NNN where the initial N is not 0. 2003-04-17 Jim Meyering <jim@meyering.net> * src/stty.c: Remove uses of PROTOTYPE macro. 2003-04-15 Jim Meyering <jim@meyering.net> * Makefile.maint: Remove (or replace-with-TAB(s) to retain alignment) each sequence of spaces before a TAB character. 2003-04-13 Jim Meyering <jim@meyering.net> * src/remove.c (is_empty_dir): Don't closedir (NULL). 2003-04-12 Jim Meyering <jim@meyering.net> Giving nl an invalid STYLE argument (in --header-numbering=STYLE (-h), --body-numbering=STYLE (-b), or --footer-numbering=STYLE (-f)) or FORMAT (--number-format=FORMAT (-n)) would not give a useful diagnostic. * src/nl.c (main): Fix those problems and remove literal quote marks (e.g., "`%s'") from format string; instead use "%s" in each format string and `quote (optarg)' as the corresponding argument. Also, diagnose all invalid command line options before failing. * src/nl.c (proc_text): Fix a bug that would make nl output extra newlines in some cases. Details here: http://bugs.debian.org/177256. This bug was introduced on 2001-11-10 for textutils-2.0.17. * tests/misc/nl: Add test for the above-fixed bug. * tests/misc/readlink: New file. Test the --canonicalize option. * tests/misc/Makefile.am (TESTS): Add readlink. 2003-04-11 Jim Meyering <jim@meyering.net> Clean up. * src/chown.c, src/cp.c, src/dircolors.hin, src/du.c, src/ln.c: * src/mkfifo.c, src/ptx.c, src/spline.c, src/stty.c, src/tail.c: * src/test.c, src/unexpand.c: Remove (or replace-with-TAB(s) to retain alignment) each sequence of spaces before a TAB character. * src/ls.c: Include <stdlib.h> unconditionally. * Makefile.maint (xalloc-check): Rename from header-check. * src/yes.c: Include error.h after system.h, not before. Clean up. * src/copy.c, src/cp-hash.c, src/cp.c, src/csplit.c, src/cut.c: * src/date.c, src/df.c, src/du.c, src/expand.c, src/expr.c, src/id.c: * src/join.c, src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c: * src/ptx.c, src/sort.c, src/split.c, src/su.c, src/tail.c, src/tee.c: * src/tr.c: * src/unexpand.c, src/users.c: Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values and of xrealloc's first argument. Fix the former with this: perl -pi -e 's/\([^(]*?\*\) *(x(m|c|re)alloc)\b/$1/' 2003-04-10 Jim Meyering <jim@meyering.net> * src/stty.c (wrapf): Declare with format attribute. The S_MAGIC_... names shouldn't be maintained in two places (prior to this change, one would have to keep stat.c and fs.h in sync). This change makes it so those names and the corresponding hexadecimal constants all reside in stat.c. fs.h is now generated. * src/Makefile.am (fs.h): New rule to generate fs.h from stat.c. (BUILT_SOURCES): Add fs.h, now that it's generated. (EXTRA_DIST): Add extract-magic. * src/extract-magic: New script to extract fs.h definitions from stat.c. * src/stat.c (human_fstype) [__linux__]: Append each hex constant from fs.h in a comment after the corresponding `case S_MAGIC_...:' statement. * tests/tail-2/big-4gb: Skip this test (don't fail) if creating a file with nominal length > 4GB fails. Reported by Michael Deutschmann. * man/unexpand.x: Add `SEE ALSO' reference to expand. * man/expand.x: Add `SEE ALSO' reference to unexpand. Suggestion from Dan Jacobson. 2003-04-10 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * src/fs.h (S_MAGIC_DEVPTS): New magic for Linux's devpts. * src/stat.c (human_fstype): Handle Linux's devpts. 2003-04-09 Paul Eggert <eggert@twinsun.com> * src/split.c (line_bytes_split): Arg is of type size_t, since that's all that is supported for now. (main): Check for overflow in obsolescent line count option. 2003-04-09 Jim Meyering <jim@meyering.net> * tests/misc/split-fail: Add a new test for the above fix. * src/split.c (bytes_split): Use size_t temporary (rather than uintmax_t original) in remaining computations. From Paul Eggert. Handle command line option arguments larger than 2^31. This allows e.g., splitting into files of size 2GB and larger, and running split --lines=N with N=2^31 or more. But for --line-bytes=N, the restriction that N <= SIZE_MAX remains (for now), due to the way it is implemented. * src/split.c: Include "inttostr.h". (bytes_split, lines_split, line_bytes_split, main): Use uintmax_t, not size_t, for file sizes. (main): Give a better diagnostic for option arguments == 0. Use umaxtostr to print file sizes. Reported by Luke Hassell. 2003-04-08 Jim Meyering <jim@meyering.net> * src/rm.c (usage): Mention that --directory (-d) works only on some systems. Suggestion from Samuel Tardieu. * tests/basename/basic: Run $PERL to see if it is available, rather than testing its value. * tests/sum/sysv, tests/tsort/basic-1, tests/unexpand/basic-1: * tests/basename/basic, tests/dd/skip-seek, tests/dircolors/simple: * tests/expr/basic, tests/factor/basic, tests/fmt/basic: * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1: * tests/misc/sort, tests/misc/tty-eof, tests/mv/i-1: * tests/rm/empty-name, tests/rm/fail-eperm, tests/rm/unreadable: * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec: * tests/sum/basic-1, tests/seq/basic: Likewise. * tests/misc/Makefile.am (TESTS): Add split-fail. * tests/misc/split-fail: New file. * src/split.c: Rename local variables: nchars -> n_bytes. (lines_split): Rename local, nlines -> n_lines. (main): Rename local variable: s/accum/n_units/. (main): Use STDIN_FILENO, not literal `0'. 2003-04-07 Jim Meyering <jim@meyering.net> * src/stat.c: Add #include directives for Ultrix 4.4. Based on a suggested change from Bert Deknuydt. 2003-04-06 Jim Meyering <jim@meyering.net> * Makefile.maint (makefile-check): New rule. (local-check): Add it. 2003-04-05 Jim Meyering <jim@meyering.net> * Makefile.am (nearly all of them): Use $(VAR) rather than @VAR@, now that we can rely on automake to emit a definition for each substituted variable. * tests/Makefile.am.in: Likewise. * tests/rm/rm5: Add a comment explaining why this test fails when using Tru64's broken sed. * tests/rm/rm3: Likewise. Make `kill -t' output signal descriptions (not `?') on Tru64. * src/kill.c (sys_siglist): Also check for __sys_siglist. Patch by Tony Leneis. * configure.ac: Also check for declaration of __sys_siglist. Required for Tru64 4.0D, 4.0F, and 5.1. Reported by Tony Leneis. 2003-04-04 Jim Meyering <jim@meyering.net> * src/Makefile.am (PERL): Remove unnecessary definition. Because of inappropriate (but POSIX-mandated) behavior of rename, `mv a b' would not remove `a' in some unusual cases. Work around this by unlinking `a' when necessary. * src/copy.c (same_file_ok): Add an output parameter. Set it in the offending case. (copy_internal): When necessary, unlink SRC_PATH and inform caller. Reported by Ed Avis. * tests/mv/hard-4: New test for the above. * tests/mv/Makefile.am (TESTS): Add hard-4. Clean up rules for automatically generated sources: * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, false.c): Make each generated file be read-only. Add each file name to BUILT_SOURCES separately. (MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES). Put LOCALEDIR macro definition in new file: localedir.h. * src/Makefile.am (DEFS): Remove definition. (localedir.h): New rule. (BUILT_SOURCES, DISTCLEANFILES): Add localedir.h. * src/system.h: Include "localedir.h". 2003-04-02 Jim Meyering <jim@meyering.net> * Version 5.0. * tests/misc/Makefile.am (TESTS): Add false. * Makefile.maint (TMPDIR): Make sure it's defined. (my-distcheck): Build in $(TMPDIR), not `.'. * src/Makefile.am (false.c): Change all occurrences of `(EXIT_SUCCESS)' to `(EXIT_FAILURE)' so that false exits unsuccessfully also with --help. Reported by Paul Jarc, * tests/misc/false: New test for the above. 2003-03-30 Jim Meyering <jim@meyering.net> * NEWS: Note the location of older NEWS files. * src/remove.c (is_empty_dir): Don't let a failing closedir clobber errno. Spotted by Arnold Robbins. * src/env.c: Fix typo in comment. From Arnold Robbins. 2003-03-29 Jim Meyering <jim@meyering.net> * Version 4.5.12. * README: Note to expect build problems for stat.c on Ultrix 4.3. Note that there are some harmless test failures when running `make check' as root on some systems. 2003-03-28 Jim Meyering <jim@meyering.net> * tests/stty/row-col-1: Skip this test if stty can't get window size. This happens when connecting to sparc-solaris5.7 via ssh from within emacs. Reported by Karl Berry. * tests/du/basic: Use seq, not `yes' to generate 4KB of data. Otherwise, on systems (DJGPP) that emulate pipes using files, this test would never complete, waiting for `yes' to terminate. * tests/du/slink: As above, use seq, not `yes' to generate link target. * tests/rm/hash: As above, use seq, not `yes' to generate dir name. Reported by Rich Dawe. 2003-03-27 Jim Meyering <jim@meyering.net> * src/id.c: Remove Arnold Robbins' obsolete e-mail address from `written by...' comment, at his request. 2003-03-24 Paul Eggert <eggert@twinsun.com> Fix buffer overrun problem reported by TAKAI Kousuke, along with some other POSIX incompatibilities. * src/printf.c (print_esc): Do not treat \x specially if POSIXLY_CORRECT. Avoid buffer overrun if the format ends in backslash. Treat incomplete escape sequences as strings of characters, as POSIX requires. (print_formatted): Allow multiple flags. Avoid buffer overrun if the format is incomplete. 2003-03-24 Jim Meyering <jim@meyering.net> * tests/misc/printf: Add tests for the above fixes and changes. 2003-03-26 Jim Meyering <jim@meyering.net> * src/copy.h (struct cp_options): Add a comment. 2003-03-23 Jim Meyering <jim@meyering.net> * README: Describe problem with 64-bit mode on HPUX 11.x, with patch for /usr/include/inttypes.h. * TODO: Plan to add an autoconf test to work around the bug. 2003-03-22 Jim Meyering <jim@meyering.net> * src/stat.c: Don't include <sys/sysmacros.h>. That is already done via system.h. Otherwise, the multiple inclusion would evoke redefinition warnings from Cray's /bin/cc, aka Cray Standard C Version 4.0.3 (057126) Mar 22 2003 22:02:28. (human_fstype): Factor some directives `up', out of this function. Cast away `const' to avoid error from Cray's /bin/cc. 2003-03-20 Jim Meyering <jim@meyering.net> * announce-gen (print_changelog_deltas): Ensure that a newline precedes each row of `*'s. 2003-03-20 Jim Meyering <jim@meyering.net> * Version 4.5.11. * src/seq.c (valid_format): Also accept ` ' and `'' as valid format flag characters. Do not require that a field width be specified. Do not fail when given a field width of `0'. Reported by Dan Jacobson. * tests/seq/basic: Add new tests for the above-fixed bug. * src/Makefile.am (all-local): Append $(EXEEXT) to use of `su' (install-root): Likewise. (install-exec-local): Likewise. Based on a patch from Richard Dawe. 2003-03-19 Jim Meyering <jim@meyering.net> * man/Makefile.am (.x.1): Use $(LN_S) instead of 'ln -s', because the DJGPP 2.03 port of 'ln -s' doesn't work. Include $(EXEEXT) in program names. Since $(LN_S) may degenerate to `cp -p', be careful to invoke it from the destination directory. Mostly from Richard Dawe. * configure.ac: Use AC_PROG_LN_S. * tests/mv/part-symlink: Unset CDPATH. Otherwise, having the CDPATH shell variable set could cause this test to fail. Reported by Karl Berry. 2003-03-18 Jim Meyering <jim@meyering.net> * src/fmt.c [struct Word] (paren, period, punct, final): Change the type of each member from bool <MEMBER>:1 to unsigned int <MEMBER>:1. AIX 5.1's xlc could not compile the former. Patch by Petter Reinholdtsen. Also reported by Mike Jetzer. 2003-03-17 Richard Dawe <rich@phekda.freeserve.co.uk> * configure.ac: Include $(EXEEXT) in OPTIONAL_BIN_PROGS' program names, since automake only adds $(EXEEXT) to programs in its *_PROGRAMS. 2003-03-16 Jim Meyering <jim@meyering.net> * src/remove.c (rm): Put two local variables in static storage, so they can't be clobbered by the potential longjmp. 2003-03-15 Jim Meyering <jim@meyering.net> * Makefile.cfg (gnu_rel_host): Fix code to match the comment so that a version number with a two-digit component can still count as an alpha release. Reported by Richard A Downing. (gnu_rel_host): Define in terms of $(RELEASE_TYPE) instead. 2003-03-14 Jim Meyering <jim@meyering.net> * src/ansi2knr.c: Remove no-longer-used file. * src/ansi2knr.1: Likewise. * Makefile.maint (prev_version_file): Don't use ?= for this particular assignment, since it causes trouble with old versions of GNU make (e.g. 3.76.1). The other uses of `?=' are inoffensive. Details here. http://mail.gnu.org/archive/html/bug-coreutils/2003-03/msg00028.html Patch from Alexandre Duret-Lutz. * Use patched automake-1.7.3. Regenerate Makefile.in files in subdirectories so that each includes a definition of ACLOCAL_M4. * announce-gen (main): Label the compressed source URLs. * Version 4.5.10. * tests/du/slink: Relax the test for the `local'ness of a file system, so that now it works also for tmpfs. * tests/du/hard-link: Transform output from first du, so that this test doesn't fail on file systems like tmpfs that order directory entries differently. 2003-03-13 Jim Meyering <jim@meyering.net> * tests/du/8gb: Work around what appears to be an NFS failure that would make this test fail on some systems. 2003-03-11 Jim Meyering <jim@meyering.net> * tests/du/basic: Make the test file exactly 4k bytes long. * src/split.c (longopts): Don't hard-code `2' here. Instead, just specify `&verbose', and ... (main): ... remove the `case 2:' block for --verbose. * tests/du/basic: Make the test file larger than 64 bytes, so that we don't immediately disqualify file systems (e.g., NetApp) on which smaller files take up zero disk blocks. Reported by Vin Shelton. 2003-03-10 Jim Meyering <jim@meyering.net> Don't segfault for a negative field width or precision in format string. Note that this is just a stopgap fix. The longer term solution may involve adapting bash's builtins/printf.def. * src/printf.c: (UNSPECIFIED): Define. (print_direc): Use the special value, UNSPECIFIED, to indicate that field_width or precision has not been specified. (print_formatted): Fail if field_width or precision is the special value, UNSPECIFIED. Reported by Oliver Kiddle <okiddle@yahoo.co.uk> * src/sys2.h (INT_MIN): Define, if necessary. * tests/misc/printf: Add a test for the above-fixed bug. 2003-03-09 Jim Meyering <jim@meyering.net> * src/remove.c (AD_stack_pop): Cast sizeof... to int before changing its sign. This avoids a warning from gcc on 64-bit systems. Reported by Bob Proulx. (pop_dir): Reverse order of sign change and cast, to be consistent with the above. 2003-03-08 Jim Meyering <jim@meyering.net> * tests/Makefile.am (evar-check): Check for POSIXLY_CORRECT not as a shell variable, but only in the environment. With /bin/sh->bash, the shell variable is set to `y', and that would cause a spurious warning. Reported by Bob Proulx. * tests/Makefile.am (check-root): Remove touch/fifo. It doesn't appear to have to be run as root. * tests/rm/fail-2eperm: Rather than simply using the first non-root user name, make sure that the selected user name has a usable shell. Reported by Paul Jarc. Before, when using shred on a device, one had to specify --exact, or be careful to choose a size that would not be rounded up and exceed the maximum value; that could result in a failure of the final write. * src/shred.c (do_wipefd): --exact is now the default for non-regular files. Suggestion from Ben Elliston. (usage): Say it. * tests/misc/tty-eof: Require at least version 1.11 of Expect.pm. Old versions of Expect.pm (e.g., 1.07) lack the log_user function. Patch by Bob Proulx. * src/Makefile.am (check-misc): Check for use of `defined' in #define directives. Change to $(srcdir) before running grep. * src/sleep.c: Remove now-unused #include and #define directives. * src/du.c (process_file): If a file's size is not being counted e.g., because it's a hard link to a file we've already counted, then don't print a line for it. * tests/du/hard-link: New test for the above-fixed bug. * tests/du/Makefile.am (TESTS): Add hard-link. `du -S' didn't work * src/du.c: Revert most of the `reorganization' change of 2003-02-20, and make the two-array approach work. * tests/du/basic: Correct/add tests for the above fix. Set LC_ALL, etc., now that we use sort. Check the block/size of a small file, too. Correct expected results for simple dir1/dir2/file case. Add another test of du -S. 2003-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> Avoid build failure with gcc on hppa1.1-hp-hpux10.20 (see GCC PR middle-end/9986). As one of GCC's optimizations, it transforms a fputs_unlocked call to a fputc_unlocked call when the string is one character long. However, hpux doesn't have fputc_unlocked. * expr.c (usage): Use putchar, not fputs, to output a single character. * ls.c (dired_dump_obstack): Likewise. * ptx.c (output_one_tex_line, output_one_dumb_line): Likewise. * stat.c (print_it): Likewise. 2003-03-07 Jim Meyering <jim@meyering.net> * src/cp.c: Remove everything associated with mmap-stack.c. This reverts the two changes of 2003-02-21. * src/du.c: Remove everything associated with mmap-stack.c. This reverts the change of 2003-02-19. 2003-03-06 Jim Meyering <jim@meyering.net> * tests/cp/same-file: Unset CDPATH. Otherwise, having the CDPATH shell variable set could cause this test to fail. Reported by Karl Berry. 2003-03-05 Jim Meyering <jim@meyering.net> * Version 4.5.9. * src/printf.c (print_esc): Remove pointless comparison of unsigned integer with zero, to avoid a warning from Intel's ecc. Reported by Nelson Beebe. * src/du.c (process_file): Sizes must all be of type uintmax_t. Otherwise, for files or totals that are too big, numbers would be truncated. Patch mostly by Michael Stone. Reported by Ingo Saitz as Debian bug #183210. * tests/du/8gb: New test for the above-fixed bug. * tests/du/Makefile.am (TESTS): Add 8gb. * src/du.c (MAX_N_DESCRIPTORS): Use 3 * UTILS_OPEN_MAX / 4 rather than UTILS_OPEN_MAX - 10. 2003-03-04 Jim Meyering <jim@meyering.net> * README: Refer new feature discussion to bug-coreutils@gnu.org, rather than bug-gnu-utils, now that the former is better known. Suggestion from Göran Uddeborg. * src/stat.c (usage): Capitalize consistently. Reported by Göran Uddeborg. * Makefile.maint (rel-files): Include $(signatures), so that those files are also copied into $(release_archive_dir). * src/df.c (find_mount_point): Call error here, now that restore_cwd no longer does it. * src/remove.c (AD_pop_and_chdir): Likewise. * tests/Makefile.am (check-root): Add fail-2eperm. 2003-03-03 Jim Meyering <jim@meyering.net> * src/remove.c (remove_cwd_entries): Include the full filename of the offending file, not just the basename. * tests/misc/tty-eof: Set $ME properly. * Makefile.maint (THIS_VERSION_REGEXP, PREV_VERSION_REGEXP): Remove now-unused variables. (tag-prev-version, prev-cvs-tag): Likewise. * src/remove.c (remove_cwd_entries) [!ROOT_CAN_UNLINK_DIRS]: Give an accurate diagnostic when failing to remove a file owned by some other user. Reported by Ivo Timmermans via Michael Stone. This fixes Debian bug# 178471. * tests/rm/Makefile.am (TESTS): Add fail-2eperm. * tests/rm/fail-2eperm: New test, for the above-fixed bug. Based on a report from Ivo Timmermans. 2003-03-02 Jim Meyering <jim@meyering.net> * src/copy.c (copy_internal) [un_backup]: When recovering from a failure to create a hard link, do not remove the entry associating the source dev/ino with the destination file name. * tests/mv/Makefile.am (TESTS): Add hard-3. * tests/mv/hard-3: New test, for the above-fixed bug. Inspired by a report from Iida Yosiaki. 2003-03-01 Jim Meyering <jim@meyering.net> * src/df.c (print_header): Don't embed spaces in a separate `Type' header string. Instead, put `Filesystem' and `Type' headers in the same string, so translators can use horizontal space as needed. Reported by Jean Charles Delepine. 2003-02-28 Jim Meyering <jim@meyering.net> * src/copy.c (copy_internal): When link fails because of an existing destination file, unlink that file and try again. Reported by Iida Yosiaki. * tests/mv/Makefile.am (TESTS): Add hard-2. * tests/mv/hard-2: New test for the above-fixed bug. Based on a test case from Iida Yosiaki. 2003-02-26 Jim Meyering <jim@meyering.net> * tests/du/basic: Don't test du's -b option here. Directory byte counts are smaller (512 rather than 4096) on at least OSF/1 5.1 and IBM AIX 4.2. Reported by Nelson Beebe. 2003-02-25 Jim Meyering <jim@meyering.net> * Makefile.maint (announcement): Now that ChangeLog entries are output by announce-gen, don't do it here. * announce-gen (print_changelog_deltas): New function. (main): Use it. 2003-02-22 Jim Meyering <jim@meyering.net> * announce-gen: New option: --release-type=TYPE * Makefile.maint (beta, major): New targets. Remove `release'. Put them all together on a line. Pass the release type (via RELEASE_TYPE envvar) to the MAKE invocation of `announcement'. (announcement): Invoke announce-gen with --release-type=$RELEASE_TYPE. * announce-gen: New option: --news=NEWS_FILE. Extract NEWS entries here, not via rules in Makefile.maint. * Makefile.maint (announcement): Now that NEWS entries are extracted by announce-gen, don't do it here. (news-r1, news-r2): Remove now-unused definitions. 2003-02-21 Jim Meyering <jim@meyering.net> * Version 4.5.8. Merge in changes from autoconf's version of this file. * Makefile.maint (www-gnu): Define. (standards.texi-url_prefix): Use $(www-gnu). (make-stds.texi-url_prefix): Likewise. * src/cp.c: Include "mmap-stack.h". (main): Invoke `run' through a macro that (when possible) runs it with a large, mmap'd stack. * src/cp.c (run): New function, preparing for the above. Exit from this function, not from main (main): Call run. * src/du.c: New option: --apparent-size. (enum) [APPARENT_SIZE_OPTION]: New member. (long_options): Add it. (usage): Describe it. (main): Handle it. ['b']: Set apparent_size. David Eisner reported that the behavior of --bytes had changed. Paul Eggert proposed the use of a new option, --apparent-size. * src/du.c (apparent_size): New global. (print_only_size): Reflect the fact that we're printing byte counts, not ST_NBLOCKSIZE-byte-block counts. (print_size): Call print_only_size rather than duplicating its code. (process_file): Accumulate byte counts, rather than block counts. * src/du.c (process_file): Always reset size_to_propagate_to_parent for --separate-dirs (-S). 2003-02-20 Jim Meyering <jim@meyering.net> * Use automake-1.7.3. Regenerate dependent files. * src/stat.c (print_stat): New format: %B (to print ST_NBLOCKSIZE). This makes %b (number of ST_NBLOCKSIZE-byte blocks) more useful. (usage) [%B]: Describe it. [%b]: Refer to %B. * src/du.c (process_file): Reorganize the code to use only one `sum' array, and change how -S works back to the way it was before 2003-01-31. Patch by Bruno Haible. * tests/du/basic: New test. * tests/du/Makefile.am (TESTS): Add basic. * tests/envvar-check: Add checks for the following: BLOCK_SIZE, DU_BLOCK_SIZE, DF_BLOCK_SIZE, LS_BLOCK_SIZE. * tests/Makefile.am: Rename phony target envvar-check to evar-check so as not to conflict with the distributed file by the same name. * src/du.c (process_file): Set info->skip before any possible return. Report correct usage for directories, not 0. * src/du.c (process_file): Return for `file_type == FTW_DPRE' _before_ recording the dev/ino of a directory. Reported by Bruno Haible. Now, df always displays the device file name corresponding to the listed mount point under `Filesystem'. Before, for an unmounted block- or character-special file argument, it would display the command-line argument instead. * src/df.c (show_disk): Return a value indicating whether there was a match. Don't try to find a mount point here. (show_entry): If show_disk doesn't find a match, call show_point. 2003-02-19 Jim Meyering <jim@meyering.net> * src/du.c: Include "mmap-stack.h". (du_files): Add prototype with ATTRIBUTE_NORETURN. Exit from this function, not from... (main): ...here. Instead, if possible, invoke du_files through a macro that runs it with a large, mmap'd stack. * src/join.c (usage): Change wording in --help output: use FILENUM instead of `SIDE' and say what FILENUM means. Reported by Bernhard Gabler. * src/df.c (print_header): Rather than using a hard-coded literal string of spaces matching the length of the English `...Type' header, output the right number of spaces to match the selected translation. Reported by Yann Dirson and Jean Charles Delepine as Debian bug 131113. * src/split.c (bytes_split): Remove unnecessary `else' after break. (lines_split): Likewise. and correct misleading indentation. * src/split.c: Include "full-read.h". (bytes_split, lines_split, line_bytes_split): Use full_read, not safe_read. The way split was using the latter, a short read could cause split to terminate before EOF. * tests/misc/tty-eof: Test all programs that can read stdin, requiring no arguments and that write to standard output. * tests/misc/tty-eof: New file. Renamed from ... * tests/misc/cat-tty-eof: Remove file. Rename to tty-eof. * tests/misc/Makefile.am (TESTS): Reflect renaming. 2003-02-18 Jim Meyering <jim@meyering.net> cksum would perform an extra read after encountering EOF * src/cksum.c (cksum): Exit the loop upon EOF, too. Patch by Michael Bacarella. Test for the bug fixed today in cksum, md5sum, and sha1sum. * tests/misc/cat-tty-eof: Generalize, clean-up, and test for cat, cksum, md5sum, and sha1sum all in the same loop. 2003-02-14 Jim Meyering <jim@meyering.net> * src/remove.c: Include "euidaccess.h". Remove declaration of euidaccess. 2003-02-12 Jim Meyering <jim@meyering.net> * src/pathchk.c (portable_chars_only): Remove unnecessary `const' in cast to avoid warning from icc. Reported by Alexandre Duret-Lutz. 2003-02-10 Jim Meyering <jim@meyering.net> * src/test.c: Don't include group-member.h. Include euidaccess.h. (eaccess): Rewrite function to set the real uid and gid temporarily to the effective uid and gid, then invoke 'access', and then set the real uid and gid back. On systems that lack setreuid or setregid, fall back on the kludges in euidaccess. Before, it would not work for e.g., files with ACLs, files that were marked immutable, or on file systems mounted read-only. Nelson Beebe raised the issue. Paul Eggert suggested the new implementation. 2003-02-09 Jim Meyering <jim@meyering.net> * src/test.c (test_stat): Remove function. It's job is done (only when necessary) by the wrapper in lib/stat.c. Adjust all uses. 2003-02-08 Jim Meyering <jim@meyering.net> * Version 4.5.7. * tests/mv/part-symlink: Don't assume that the file owner username length is less than 9 in ls output: instead, omit that field altogether. Reported by, and suggested fix from, Ferdinand. * tests/du/restore-wd: New test for just-fixed bug in ftw.c. * tests/du/Makefile.am (TESTS): Add restore-wd. * src/rm.c: Correct now-invalid comment about cycle-detection. 2003-02-06 Jim Meyering <jim@meyering.net> * NEWS: Add entries from old/*/NEWS from fileutils-4.1 through 4.1.11 and from sh-utils-2.0 through 2.0.15. Suggestion from Karl Berry. * Version 4.5.6. * src/du.c (process_file): Don't return early for excluded files or for files whose dev/inode we've already seen. 2003-02-05 Jim Meyering <jim@meyering.net> * tests/du/exclude: New file. * tests/du/Makefile.am (TESTS): Add exclude. 2003-02-04 Dmitry V. Levin <ldv@altlinux.org> * src/who.c (print_boottime, print_deadprocs, print_runlevel): Fix memory allocation arithmetic. 2003-02-04 Jim Meyering <jim@meyering.net> `df /dev/block-or-char-device-file--not-mounted' now reports the name of the file system on which the file resides, usually `/'. Before, it would leave the `Mounted on' field blank. * src/df.c (show_disk): Move function to precede find_mount_point. (show_disk): Add parameter: STATP. If we don't find a matching device name, then resort to calling find_mount_point. Reported by Bob Proulx. 2003-02-03 Andreas Schwab <schwab@suse.de> * tests/rm/cycle: Require non-root. * tests/rm/isatty: Likewise. 2003-02-02 Jim Meyering <jim@meyering.net> * Version 4.5.5. * man/Makefile.am (check-x-vs-1): Use @PATH_SEPARATOR@, not `:'. Ensure that there are no offending uses of `:'. * Makefile.maint (makefile_path_separator_check): New rule. (local-check): Add it to the list. 2003-02-01 Jim Meyering <jim@meyering.net> * src/du.c (MAX_N_DESCRIPTORS): Define. * src/stat.c (G_fail): New global. (human_time): Diagnose failed localtime, not failed nstrftime. (main): Fail if G_fail is set. 2003-01-31 Richard Dawe <rich@phekda.freeserve.co.uk> * tests/basename/Makefile.am: Use @PATH_SEPARATOR@ instead of hard-coding the path-separator. Also double-quote the new PATH, to avoid problems when the path-separator is a semi-colon or when `pwd` contains e.g. a space. * tests/chgrp/Makefile.am: Likewise. * tests/chmod/Makefile.am: Likewise. * tests/chown/Makefile.am: Likewise. * tests/cp/Makefile.am: Likewise. * tests/dd/Makefile.am: Likewise. * tests/dircolors/Makefile.am: Likewise. * tests/du/Makefile.am: Likewise. * tests/expr/Makefile.am: Likewise. * tests/factor/Makefile.am: Likewise. * tests/fmt/Makefile.am: Likewise. * tests/install/Makefile.am: Likewise. * tests/ln/Makefile.am: Likewise. * tests/ls/Makefile.am: Likewise. * tests/ls-2/Makefile.am: Likewise. * tests/md5sum/Makefile.am: Likewise. * tests/misc/Makefile.am: Likewise. * tests/mkdir/Makefile.am: Likewise. * tests/mv/Makefile.am: Likewise. * tests/od/Makefile.am: Likewise. * tests/rm/Makefile.am: Likewise. * tests/rmdir/Makefile.am: Likewise. * tests/seq/Makefile.am: Likewise. * tests/sha1sum/Makefile.am: Likewise. * tests/shred/Makefile.am: Likewise. * tests/stty/Makefile.am: Likewise. * tests/sum/Makefile.am: Likewise. * tests/tail-2/Makefile.am: Likewise. * tests/touch/Makefile.am: Likewise. * tests/tsort/Makefile.am: Likewise. * tests/unexpand/Makefile.am: Likewise. 2003-01-31 Jim Meyering <jim@meyering.net> * src/stat.c: Include "file-type.h" (print_human_type): Remove function. (human_access): Rename from print_human_access. Return a string. (human_time): Rename from print_human_time. Return a string. (print_stat): Arrange so that field width and an alignment specifier are honored for the %A, %F, %x, %y, and %z formats. [%F]: Use file_type; this gives slightly different file type strings, e.g., `directory' instead of `Directory' and `regular file' or `regular empty file' instead of `Regular file'. Prompted by a report from Richard Dawe that the uses of S_IFSOCK and S_IFIFO in print_human_time were not portable to systems using e.g., DJGPP. 2003-01-31 Richard Dawe <rich@phekda.freeserve.co.uk> * src/stat.c (print_stat): Use S_ISLNK rather than an explicit test using S_IFMT and S_IFLNK. S_IFLNK may not be defined. 2003-01-31 Jim Meyering <jim@meyering.net> * src/du.c (main): Upon processing an invalid option or an invalid --exclude-from or --max-depth option argument, don't exit right away, in case there are others. Rather record the failure and exit after processing other options. * GNUmakefile (TAR_OPTIONS): Set and export, in order to make tar archive easier to reproduce. Rewrite to perform directory traversal using nftw. * src/du.c: Include "dirname.h", "ftw.h", and "quotearg.h". (AUTHORS): Add self. (opt_one_file_system): Move global into `main'. (path, xstat, exit_status): Remove declarations. (arg_length, suffix_length): New globals. (G_fail): New global, sort of like the old `exit_status'. (IS_FTW_DIR_TYPE): Define. (print_only_size): New function. (process_file): New function. (str_init, ensure_space, str_copyc, str_concatc): Remove functions. (str_trunc, pop_dir, count_entry): Likewise. (du_files): Rewrite to use nftw. 2003-01-30 Jim Meyering <jim@meyering.net> * tests/du/trailing-slash: Ensure that du/ftw follows a command-line symlink-to-directory with -L, even without the trailing slash. 2003-01-27 Jim Meyering <jim@meyering.net> * src/Makefile.am (check-misc): Check for st_blocks, too. * src/stat.c (print_stat): Use ST_NBLOCKS rather than `->st_blocks'. Reported by Richard Dawe. 2003-01-27 Andreas Schwab <schwab@suse.de> * src/ls.c (quote_name): Add fourth parameter, width, into which to store the screen columns, and return the number of bytes instead. (print_dir): Pass NULL as fourth parameter of quote_name. (print_name_with_quoting): Likewise. (length_of_file_name_and_frills): Get the width from the fourth parameter of quote_name instead of return value. 2003-01-27 Jim Meyering <jim@meyering.net> * src/ls.c (decode_switches): If `dired' is set without `format == long_format', then silently reset dired. This doesn't change the behavior of ls (all prior uses of dired were protected by `&& format == long_format'), and lets us... (DIRED_INDENT): ... remove the `format == long_format' conjunct. (PUSH_CURRENT_DIRED_POS): Likewise. (main): Likewise. 2003-01-22 Jim Meyering <jim@meyering.net> * tests/du/no-x: New test, for functionality added to lib/ftw.c. * tests/du/Makefile.am (TESTS): Add no-x. 2003-01-21 Jim Meyering <jim@meyering.net> * src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS && HAVE_STRUCT_DIRENT_D_TYPE]: If a file has d_type == DT_UNKNOWN it may still be a directory -- or not (e.g., with FreeBSD on an NFS-mounted file system), so resort to calling lstat to find out. Based on a patch by Michael van Elst. * tests/cp/same-file: Don't assume that the file owner username length is less than 9 in ls output: instead, omit that field altogether. Reported by, and suggested fix from, Ferdinand. 2003-01-20 Jim Meyering <jim@meyering.net> * tests/date/Test.pm (wide-fmt): New test to demonstrate that large format widths no longer cause strftime to infloop. * Makefile.maint (mail_gpg_sign_cookie): Remove now-unused definition. 2003-01-19 Jim Meyering <jim@meyering.net> * src/readlink.c: Include "canonicalize.h". 2003-01-18 Jim Meyering <jim@meyering.net> * src/ls.c (Dereference_symlink) [DEREF_COMMAND_LINE_SYMLINK_TO_DIR]: New member. (enum) [DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION]: New member. (long_options): Add option --dereference-command-line-symlink-to-dir. (main): Make DEREF_COMMAND_LINE_SYMLINK_TO_DIR be the default, rather than DEREF_COMMAND_LINE_ARGUMENTS, when none of the -d, -F, -l options is specified. (decode_switches): Handle --dereference-command-line-symlink-to-dir. (gobble_file): Honor DEREF_COMMAND_LINE_SYMLINK_TO_DIR. Change --dereference-command-line (-H) to dereference *all* command line arguments, including broken symlinks. 2003-01-15 Paul Eggert <eggert@twinsun.com> Change ls -H back to the way it was yesterday, since this is compatible with FreeBSD and the POSIX spec is confusing and somewhat contradictory. * src/ls.c (DEREF_COMMAND_LINE_ARGUMENTS): Change name back from DEREF_COMMAND_LINE_SYMLINK_TO_DIR, updating all uses. (long_options): Change the long option name back. (usage): Change the usage back. (gobble_file): When -H is specified, dereference a top-level arg even if it points to a non-directory. 2003-01-15 Jim Meyering <jim@meyering.net> * src/ls.c (gobble_file): Fall back on using lstat when required: when --dereference (-L) is not specified, and - when operating on a dangling symlink - when operating on command-line-symlink-to-directories This fixes numerous problems. Here are examples: - `ls dangling-symlink' would fail with `no such file...' Now it prints `dangling-symlink'. - `ls -i symlink' would mistakenly print the inode of the referent. Now it prints the inode of the symlink. Likewise for --size (-s). Based on a patch from Michael Stone. Reported by Deepak Goel as Debian bug #173793. Rename ls's --dereference-command-line (-H) option to --dereference-command-line-symlink-to-dir. * src/ls.c [enum Dereference_symlink] (DEREF_COMMAND_LINE_SYMLINK_TO_DIR): Rename from DEREF_COMMAND_LINE_ARGUMENTS. Update all uses. (long_options): Rename the long option. (usage): Say that --dereference-... changes how ls treats only symlinks to directories specified on the command line. 2003-01-14 Jim Meyering <jim@meyering.net> * tests/ls/dangle: New file/test, for the above fix. * tests/ls/inode: Another new file/test, for the above fix. * tests/ls/Makefile.am (TESTS): Add dangle and inode. * src/ls.c (gobble_file): Fix a bug introduced in 4.5.4 that made it so that ls --color would no longer highlight the names of files with the execute bit set when not specified on the command line. Patch by Michael Stone. Reported by Stephen Depooter as Debian bug 175135. * tests/ls-2/tests (color-exe): New test, for the above fix. 2003-01-13 Jim Meyering <jim@meyering.net> * tests/shred/exact: Also test for just fixed bug with --zero. * src/shred.c (long_opts): --zero does not require an argument. Patch by Michael Stone. Reported by Roland Turner as Debian bug 172019. 2003-01-12 Jim Meyering <jim@meyering.net> * Makefile.maint (cvs-update): Skip any file with local modifications. * src/unexpand.c (usage): Document --first-only and mention that --tabs=N (-t) enables --all (-a). Reported by wiregauze@yahoo.com. 2002-12-01 Dmitry V. Levin <ldv@altlinux.org> * src/df.c: Include "canonicalize.h". Use canonicalize_file_name unconditionally. 2003-01-09 Jim Meyering <jim@meyering.net> * README: Add readlink. 2002-11-30 Dmitry V. Levin <ldv@altlinux.org> * src/df.c: Include "xgetcwd.h". * src/pwd.c: Likewise. 2002-11-30 Dmitry V. Levin <ldv@altlinux.org> * src/shred.c: Remove declaration of xstrdup. We already get it via xalloc.h which is included via system.h. 2002-08-27 Dmitry V. Levin <ldv@altlinux.org> New program: readlink. * src/Makefile.am (bin_PROGRAMS): Add readlink. * src/readlink.c: New file. * man/readlink.x: New file. * man/Makefile.am (dist_man_MANS): Add readlink.1. (readlink.1): New rule. 2003-01-09 Jim Meyering <jim@meyering.net> When selecting ranges of byte offsets (as opposed to ranges of fields) and when --output-delimiter=STRING is specified, output STRING between ranges of selected bytes. * src/cut.c (RANGE_START_SENTINEL): Define. (output_delimiter_specified): New global. (print_kth): Add parameter. Adjust all callers. (set_fields): Mark each range-start index with RANGE_START_SENTINEL. (cut_bytes): When requested, output STRING between ranges of selected bytes. (main): Make a diagnostic a little clearer. Based on a patch from Jan Nieuwenhuizen. * tests/cut/Test.pm: New tests for the above. * src/cut.c (set_fields): Make code agree with comment: Don't merge abutting ranges like 4- and 2-3. This makes no difference currently, but is required to support an upcoming change. 2003-01-07 Jim Meyering <jim@meyering.net> * src/cut.c (set_fields): Fix typo in comment. * tests/touch/not-owner: New test, mostly extracted from fail-diag. * tests/touch/Makefile.am (TESTS): Add not-owner. * tests/touch/fail-diag: Remove the test for non-owner diagnostic. Now, this tests only the nonexistent-directory diagnostic. Suggestion from Michael Stone. * tests/touch/fail-diag: Fix typo: s/ld/ls/. 2003-01-04 Jim Meyering <jim@meyering.net> * src/copy.h: Remove use of PARAMS. * src/remove.h: Likewise. * src/chown-core.h: Likewise. rm could be tricked into mistakenly reporting a cycle. * src/remove.c: [cycle_check_state]: New global. (remove_cwd_entries): Adapt to new semantics of cycle_check. (rm): Call cycle_check_init and cycle_check_free for each file. * tests/rm/cycle (rm): New test, for the above fix. * tests/rm/Makefile.am (TESTS): Add cycle. When rm detects a cycle, don't abort the entire command, but rather just the affected command line argument. * src/remove.c: Include <setjmp.h> (struct dirstack_state) [current_arg_jumpbuf]: New member. (remove_cwd_entries): Call longjmp if we detect a cycle. (rm): Call setjmp here. * src/remove.c (cycle_check, is_power_of_two): Remove functions. Instead, include cycle-check.h and use it. * src/remove.h (struct dev_ino): Remove declaration. * src/remove.c (remove_cwd_entries): Fix typos in comment. Don't include trailing /. in diagnostics about directories. * src/remove.c (full_filename_): When FILENAME is just `.' and there is a nonempty directory-name part, don't append `/.'. * tests/rm/unread2: Remove trailing /. from diagnostic. * tests/rm/rm2: Likewise. * src/remove.c (struct dirstack_state): Define. To be used in place of these file-scoped globals ... (dir_stack, len_stack, Active_dir): Remove globals. (ds_init, ds_free): New functions. (full_filename): Define. (full_filename_): Rename from full_filename. Begin to make AD_* functions more generic. * src/remove.c (AD_push_initial): Don't set status to RM_OK here. (AD_push): Likewise. (AD_INIT_OTHER_MEMBERS): Define. (remove_dir): Define the `status' member manually after each call to AD_push or AD_push_initial. * src/Makefile.am (check-misc): New rule, to ensure that no more S_IS* macro definitions sneak into the code. (check): Depend on check-misc. * src/remove.c [S_ISLNK]: Don't define. It's already defined in sys2.h. * src/du.c (count_entry) [S_ISLNK]: Don't define. * src/shred.c [S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define. 2003-01-03 Jim Meyering <jim@meyering.net> * src/true.c: Add copyright. (AUTHORS): I suppose I've written it. * src/Makefile.am (false.c): Make the generated file be read-only. 2003-01-04 Jim Meyering <jim@meyering.net> * src/ls.c: Include "dev-ino.h". [struct dev_ino]: Remove declaration. 2003-01-02 Jim Meyering <jim@meyering.net> * src/cp.c (do_copy): Tweak diagnostic to be consistent with the one from mv: s/missing file arguments/missing file argument/. With --target-directory=DIR, cp and mv work with a single file argument. Reported by Karl Berry. * tests/rm/isatty: Enable this test. 2002-12-31 Jim Meyering <jim@meyering.net> * src/remove.c (AD_push_initial): Don't set status to RM_OK here. (AD_push): Likewise. (AD_INIT_OTHER_MEMBERS): Define. (remove_dir): Define the `status' member manually after each call to AD_push or AD_push_initial. * src/ls.c [struct dev_ino]: Remove definition. Include "dev-ino.h" instead. 2002-12-28 Jim Meyering <jim@meyering.net> * tests/du/Makefile.am (TESTS): Add no-deref. * tests/du/no-deref: New script. 2002-12-23 Jim Meyering <jim@meyering.net> * src/remove.c (remove_cwd_entries): Fix typo in comment. 2002-12-21 Jim Meyering <jim@meyering.net> * announce-gen: Generate MML-formatted announcement. This makes it a *lot* harder to send stale MD5/SHA1 signatures. 2002-12-20 Jim Meyering <jim@meyering.net> * src/touch.c (touch): Change the wording of a diagnostic so that it makes sense both when the file exists and when it doesn't. Suggestion from Michael Stone. 2002-12-18 Jim Meyering <jim@meyering.net> * src/stty.c (valid_options): Declare to be static. 2002-12-15 Jim Meyering <jim@meyering.net> * Makefile.cfg: Remove rules related to generating m4/jm-glibc-io.m4. * src/chmod.c, src/copy.c, src/copy.h, src/cp-hash.h, src/csplit.c: * src/date.c, src/expr.c, src/fmt.c, src/id.c, src/install.c: * src/ls.c, src/od.c, src/pathchk.c, src/pr.c, src/remove.c: * src/shred.c, src/sort.c, src/stat.c, src/stty.c, src/sum.c: * src/tee.c, src/test.c: Remove all uses of `PARAMS'. * src/remove.c (PARAMS): Remove definition. * src/sys2.h: Likewise. * src/ls.c, src/stat.c, src/date.c: Remove declaration of nstrftime. Include strftime.h instead. 2002-12-14 Jim Meyering <jim@meyering.net> * Makefile.cfg ($(url_dir_list)): Use .../coreutils, not .../fetish. * src/system.h [! HAVE_DECL_MEMRCHR]: Declare memrchr. This is necessary at least for Irix6.5 when using c89. Reported by Nelson Beebe. * tests/misc/Makefile.am (TESTS): Add cat-tty-eof. * tests/misc/cat-tty-eof: New test. * src/mknod.c (usage): Specify how major and minor mode numbers are interpreted. Report forwarded by Kristin E Thomas. * src/mknod.c: Remove now-redundant usage-specifying comment. 2002-12-13 Jim Meyering <jim@meyering.net> * Version 4.5.4. * tests/du/trailing-slash: Allow for a directory of size `0'. That happens at least on file systems of type tmpfs on linux-2.4.18. * announce-gen: New script to begin replacing the commands associated with the rule here... * Makefile.maint (announcement): Invoke announce-gen. * Makefile.am (EXTRA_DIST): Add announce-gen. * tests/cp/preserve-2: New file/test, for latest fix. * tests/cp/Makefile.am (TESTS): Add preserve-2. 2002-12-11 TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp> Fix a bug whereby cp would fail to parse an option like --preserve=mode,ownership. * src/cp.c (decode_preserve_arg): Advance `comma' to point the character following the comma. 2002-12-11 Jim Meyering <jim@meyering.net> * src/pathchk.c (NEED_PATHCONF_WRAPPER): Undefine before defining, in case it's already defined. 2002-12-09 Jim Meyering <jim@meyering.net> * tests/touch/fail-diag: Don't get a test failure if /no exists. Instead, evoke a framework failure if /no-$$ exists. Reported by Michael Stone. 2002-12-08 Jim Meyering <jim@meyering.net> * src/du.c (lstat) [! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat, so that even on systems like Solaris 5.8, du honors (per POSIX) the trailing slash on an argument referring to a symlink-to-directory. 2002-12-06 Jim Meyering <jim@meyering.net> * Use autoconf-2.57. Regenerate dependent files. * Use automake-1.7.2. Regenerate dependent files. * src/ls.c (gobble_file): Also stat the file if it's a regular file and --indicator-style=classify (aka -F). Thanks to Ed Santiago for opening my eyes. * tests/ls/file-type: New file. Test for the above. A test to contrast ls -F and ls --indicator-style=file-type. * tests/ls/Makefile.am (TESTS): Add file-type. 2002-12-04 Jim Meyering <jim@meyering.net> * tests/ls/follow-slink: Make sure the symlink was created. Richard Dawe reported that `ln -s link link' succeeds, but creates no file on systems running some version of the DJGPP libc. 2002-12-03 Jim Meyering <jim@meyering.net> * src/Makefile.am (AUTOMAKE_OPTIONS): Remove definition (to ansi2knr) since this package no longer panders to K&R compilers. 2002-12-02 Jim Meyering <jim@meyering.net> * tests/du/slink: Skip this test if `.' is on a non-local file system. * tests/Fetish.pm (_at_replace): Do the substitution only if there's something to replace. 2002-12-01 Jim Meyering <jim@meyering.net> * src/stat.c: Don't include <string.h> or <ctype.h>. That's already done via system.h. * src/dircolors.c: Don't include <ctype.h>. 2002-11-30 Jim Meyering <jim@meyering.net> * ls.c (gobble_file): Remove the block of code that caused `ls --color -F symlink-to-dir' to list the files in `symlink-to-dir/.'. Now, it prints `symlink-to-dir@', (just like `ls -F symlink-to-dir') but with the addition of highlighting. Similarly, `ls --color -dF symlink-to-dir' would print `symlink-to-dir/'; now it prints `symlink-to-dir@'. Reported by Jeff Sheinberg as Debian bug #168203. * tests/ls-2/tests (sl-F-color, sl-dF-color): New tests for the above. ls is now more efficient: with certain options, it no longer needs to stat each directory entry on systems with valid dirent.d_type. * src/ls.c (print_dir): Add DT_LNK and DT_REG. (main): Make --recursive set format_needs_type, not format_needs_stat. (gobble_file): Remove a FIXME comment, now that it's fixed. 2002-11-24 Jim Meyering <jim@meyering.net> * src/du.c (du_files): Don't strip any trailing slash. Rewrite so that `/' is no longer represented internally as the empty string. (count_entry): When appending a file name component, account for the fact that the current path may end in `/'. François Pinard reported that `du symlink-to-dir/' was not equivalent to `du symlink-to-dir/.'. Now it is. * tests/du/trailing-slash: New file/test, for the above fix. * tests/du/Makefile.am (TESTS): Add trailing-slash. 2002-11-23 Jim Meyering <jim@meyering.net> * src/tac.c (output): Declare some local variables to be of type size_t, rather than `int' to avoid warnings from gcc. 2002-11-21 Paul Eggert <eggert@twinsun.com> * src/ls.c (decode_switches): Use case-sensitive matching to decode the QUOTING_STYLE environment variable. This is more consistent with the documentation, and with --quoting-style. 2002-11-21 Martin Buck <martin.buck@ascom.ch * src/stty.c (struct speeds): Add support for all baud rates defined in linux-2.4.19. 2002-11-19 Jim Meyering <jim@meyering.net> * tests/sum/sysv: Export LC_ALL=C, to avoid failure when run in a UTF locale. Report and suggested fix by Bruno Haible. * tests/fmt/basic: Likewise. 2002-11-17 Jim Meyering <jim@meyering.net> * configure.ac: Update via autoupdate. Add `AM_GNU_GETTEXT_VERSION(0.11.5)'. * src/mv.c (movefile): Don't remove trailing slashes from SOURCE. Reported by Hans Ginzel. 2002-11-15 Jim Meyering <jim@meyering.net> * Makefile.cfg (gnu_rel_host): Define. (url_dir_list): Choose from (alpha|ftp).gnu.org depending on whether $(VERSION) looks like a major release number. * Makefile.maint (mail_gpg_sign_cookie): Backslash-escape `#'. (release): Rename from `alpha'. (alpha): Depend on release. * Makefile.maint (signatures): Define with ?=, so it's easy to override. 2002-11-14 Jim Meyering <jim@meyering.net> * Makefile.maint (mail_gpg_sign_cookie): Make optional. (announcement): Use the new variable. * Makefile.maint: Sync with Bison, i.e.: (po-check): Scan .l and .y files instead of the .c and the .h files that they generate. This fixes the bug reported by Tim Van Holder in: <http://mail.gnu.org/pipermail/bison-patches/2002-November/001352.html> Look for N_ as well as for _. Try to avoid matching #define for N_ and _. From Paul Eggert. 2002-11-12 Jim Meyering <jim@meyering.net> * src/ls.c (HAVE_SYMLINKS): Remove unnecessary macro definition. Replace sole use with equivalent `#ifdef S_ISLNK'. Inconsistency reported by Dmitry V. Levin. 2002-11-11 Jim Meyering <jim@meyering.net> * src/stat.c (usage): Transform --help items output via s/ - / /, so that help2man produces properly formatted man pages. Reported by Herbert Xu as Debian bug #168400. 2002-11-10 Jim Meyering <jim@meyering.net> * src/ls.c (sighandler): Handle SIGTSTP specially. Based on suggestions from Solar Designer and Dmitry V. Levin. Add comments. * Makefile.cfg (cvs_files): Define. From autoconf. (local_updates): Likewise. * src/ls.c (restore_default_color_handler, sigtstp_handler): Remove functions. (sighandler): New function, based on the one in sort.c. (main): Use sigaction, if possible; otherwise signal. Handle these signals: SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, SIGTSTP. Don't register our handler if the signal is already being ignored. * src/dd.c (interrupt_handler): Use raise, rather than kill+getpid. * src/csplit.c (interrupt_handler): Likewise. * src/sort.c (sighandler): Likewise. (main): Declare `i' and `nsigs' to be unsigned, not int. 2002-11-09 Jim Meyering <jim@meyering.net> ls --color: restore terminal text color upon signal. * src/ls.c: Include "full-write.h" and <signal.h>. (restore_default_color, restore_default_color_handler): New functions. (sigtstp_handler, put_indicator_direct): New functions. (main) [print_with_color]: Register signal handlers. Patch mostly by Solar Designer and Stanislav Ievlev. Update from autoconf. * Makefile.maint (AMTAR): Remove definition. (update, cvs-update, po-update, do-po-update): New rules. (wget-update): Update (thus renaming to cvs-update). (automake_repo): Use anoncvs@sources.redhat.com. 2002-11-06 Jim Meyering <jim@meyering.net> * tests/misc/Makefile.am (TESTS): Add printf-hex. * tests/misc/printf: Be careful to test the code in this package, not the shell built-in function. * src/printf.c (print_esc): A hexadecimal escape sequence has at most two hex. digits, not three. Reported by Padraig Brady. (usage): Update description. * tests/misc/printf-hex: New file/test, for the above fix. 2002-10-07 Paul Eggert <eggert@twinsun.com> Add support for locale-specific size indications (e.g., thousands-separators) and for explicit size suffixes on output. * doc/coreutils.texi (Block size): Say that: This affects display format as well as block size. Fractional block counts are rounded up. ls file size blocksize defaults to 1. A block size spec preceded by ' generates thousands separators. A suffix without a preceding integer generates suffixes. (tail invocation): 32k -> 32 KiB. (What information is listed): ls -h is now equivalent to ls --block-size=human, and ls -H is now equivalent to ls --block-size=si. Displayed file size is now always affected by --block-size. * lib/inttostr.c, lib/inttostr.h, lib/imaxtostr.c, lib/offtostr.c, lib/umaxtostr.c: New files, taken from GNU tar. * lib/Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c, umaxtostr.c. (EXTRA_DIST): Add inttostr.c. * lib/human.c, lib/human.h: Rewrite to support locale-specific notations like thousands separators. Specify what includer of include.h must include beforehand. (human_group_digits, human_suppress_point_zero, human_autoscale, human_base_1024, human_SI, human_B): New enum values. (human_readable): Rename from human_readable_inexact; put the options before the sizes. All uses changed. The old human_readable function has been removed; use inttostr.h instead. (human_options): Renamed from human_block_size, with new signature that allows block sizes up to UINTMAX_MAX. All callers changed. * m4/prereq.m4 (jm_PREREQ_HUMAN): Check for locale.h, localeconv, AC_HEADER_STDBOOL. No need to check for limits.h since it's in freestanding C89. No need to check for stdlib.h or string.h since autoconf does this now. * src/cksum.c (cksum): Use primitives from inttostr.h, not human.h, to print large numbers simply. * src/csplit.c (handle_line_error, parse_patterns): Likewise. * src/dd.c (print_stats, main): Likewise. * src/df.c (print_header): Likewise. * src/factor.c (print_factors): Likewise. * src/ls.c (print_long_format, print_file_name_and_frills): Likewise. * src/shred.c (dopass): Likewise. * src/sort.c (checkfp): Likewise. * src/sum.c (bsd_sum_file, sysv_sym_file): Likewise. * src/tail.c (xlseek): Likewise. * src/wc.c (write_counts, wc): Likewise. * src/df.c (human_output_opts): New var. (output_block_size): Now uintmax_t, not int, to handle larger block sizes. All uses changed. * src/du.c: Likewise. * src/ls.c: Likewise. * src/df.c (print_header): In the header line, prefer SI to human representation if it's shorter; if neither is shorter, try to intuit what the user would prefer. * src/expr.c (inttostr): Remove; use new imaxtostr library function instead. * src/ls.c (file_output_block_size): New var, to distinguish file sizes from other sizes. (decode_switches): Set it. * src/shred.c (OUTPUT_BLOCK_SIZE): remove. (dopass): When printing progress, use floor for what has been done so far (since we should be conservative there), and ceiling for what needs to be done (since that's what other programs use). 2002-10-19 Jim Meyering <jim@meyering.net> * src/pinky.c (print_heading): Align TTY and Name headings. Reported by Karl Eichwalder. 2002-10-18 Jim Meyering <jim@meyering.net> * src/split.c (cwrite): Change type of `bytes' parameter to size_t Remove now-useless cast. (stdread): Remove function. (bytes_split): Use size_t instead of int. Use safe_read, not stdread. (lines_split): Likewise. Use memchr rather than a `while' loop. (line_bytes_split): Use size_t instead of int. Use safe_read, not stdread. (main): Add some FIXME comments to remind me to remove casts. * src/system.h (ST_BLKSIZE): Correct comment describing how to reproduce HPUX-11 cat failure. From Petter Reinholdtsen. 2002-10-17 Jim Meyering <jim@meyering.net> Fix a problem that could make e.g., `cat' misbehave on systems which give invalid (unreasonably large) values for stat.st_blksize. * src/system.h (ST_BLKSIZE): Ensure that the result is in [1..4MB]. Reported by Petter Reinholdtsen. 2002-10-14 Jim Meyering <jim@meyering.net> Specifying a printf conversion specifer as nl's separator string could cause nl to segfault. * src/nl.c (build_print_fmt): Don't include separator string in the printf format; it might contain `%'. Use a better bound on the length of the print_fmt buffer. (print_lineno): Print the separator here instead. Reported by Doug Coleman. * tests/misc/nl: New file/tests, including a test for the above. * tests/misc/Makefile.am (TESTS): Add nl. * tests/misc/split-l: New test, to make sure `split --lines=N' works. * tests/misc/Makefile.am (TESTS): Add split-l. 2002-10-13 Jim Meyering <jim@meyering.net> * Version 4.5.3. * src/du.c (usage): Tweak description of --dereference-args/-D. * src/du.c (count_entry): Also save cwd when dereferencing (via --dereference-args, -D) a command-line argument. Reported by Michal Svec. Based on a patch by Andreas Schwab. * src/Makefile.am (../AUTHORS): New target/rule. 2002-10-12 Jim Meyering <jim@meyering.net> * src/paste.c (paste_parallel): Declare local, `delims_saved', to be of type size_t, since that's the way it's used and avoids a warning. * src/csplit.c (struct cstring) [len]: Declare to be unsigned int, since that's how it's always used and avoids a new warning from gcc. (read_input): Adapt to new safe_read ABI. * src/cut.c (cut_fields): Add a temporary size_t variable, n_bytes, to avoid warnings. * src/pinky.c (print_long_entry): fread returns size_t. Declare local `bytes' accordingly, to avoid warning. tail -c +N would perform an extra read after encountering EOF [this change is analogous (bytes vs. lines) to the one of 2002-01-27] * src/tail.c (start_bytes): Detect EOF, inform caller. (tail_bytes): Upon EOF in start_bytes, return immediately. (file_lines): Reorganize to use memrchr rather than an explicit loop. Adapt to new safe_read ABI. 2002-10-11 Jim Meyering <jim@meyering.net> * tests/du/deref: New file/test, for the above fix. * tests/du/Makefile.am (TESTS): Add deref. 2002-10-10 Jim Meyering <jim@meyering.net> * tests/ln/Makefile.am (TESTS): Add target-1. * tests/ln/target-1: New file/test, for the fix on 2002-10-08. 2002-10-09 Jim Meyering <jim@meyering.net> * tests/cp/backup-is-src: Ensure that certain environment variables are not set (e.g., SIMPLE_BACKUP_SUFFIX). Reported by Duncan Roe. * tests/tail-2/big-4gb: Mark this as an expensive test; it would consume 4GB of disk space on systems without support for sparse files. Fix a logic error that'd make it `cat err' even though dd didn't fail. * src/dircolors.hin (.jar): Fix typo: s/;3$/;31/. Patch by steven@magelico.net, forwarded by Michael Stone. * tests/ls/dired: Ensure that ls produces English messages. Patch by Alexey Vyskubov, forwarded by Michael Stone. 2002-10-08 Dmitry V. Levin <ldv@altlinux.org> * src/ln.c (main): Fix target_directory parsing when n_files == 1. 2002-10-08 Jim Meyering <jim@meyering.net> * tests/tail-2/big-4gb: Use double quotes around diagnostic. Fix syntax in test: use =, not ==. Reported by Bob Proulx. Change all the rest like this: grep -lR "testing framework'" .\ |xargs perl -pi -e 's/'\''(\$0: failure in testing framework)'\''/"$1"/' * src/sum.c (sysv_sum_file): Adapt to new safe_read ABI. * src/tr.c (squeeze_filter, read_and_delete, read_and_xlate): Likewise. * src/tac.c (save_stdin, tac_stdin_to_mem): Likewise. * src/wc.c (wc): Likewise. 2002-10-07 Paul Eggert <eggert@twinsun.com> * src/cat.c (cat): Don't advance the write pointer past the end of the write buffer. * src/sort.c (begfield, limfield): Likewise. 2002-10-07 Jim Meyering <jim@meyering.net> * src/cat.c (simple_cat, cat): Adapt to new safe_read ABI. * src/head.c (head_bytes, head_lines): Likewise. 2002-10-06 Jim Meyering <jim@meyering.net> * src/dd.c (scanargs): Ensure that specified block sizes (specified via ibs=N, obs=N, and bs=N) are no larger than SSIZE_MAX. (skip, dd_copy): Adapt to new safe_read ABI. * Makefile.maint (signatures): Define. (%.sig): New rule. (announcement): Depend on $(signatures). * Makefile.maint (announcement): Output all URLs for detached signatures, not just the last one from the previous loop. 2002-10-05 Jim Meyering <jim@meyering.net> * Version 4.5.2. * src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR', don't recurse into directory, DIR. Prompted by a report from Leonardo Milano. * tests/rm/i-no-r: New file/test, for the above fix. * tests/rm/Makefile.am (TESTS): Add i-no-r. * tests/tail-2/big-4gb: New file/test, for the fix of 2002-09-27. * tests/tail-2/Makefile.am (TESTS): Add big-4gb. 2002-10-03 Jim Meyering <jim@meyering.net> * src/rm.c (AUTHORS): Mark translatable string with `N_ (...)'. * src/df.c (AUTHORS): Likewise. * src/du.c (AUTHORS): Likewise. * src/tail.c (AUTHORS): Likewise. * src/touch.c (AUTHORS): Likewise. 2002-10-02 Jim Meyering <jim@meyering.net> * Makefile.am (SUBDIRS): Remove `old'. (EXTRA_DIST): List the files in old/. * configure.ac (AC_CONFIG_FILES): Remove old/* names. Suggestion from Akim Demaille. 2002-10-01 Jim Meyering <jim@meyering.net> * src/sys2.h (SSIZE_MAX): Define. 2002-09-30 Jim Meyering <jim@meyering.net> * src/csplit.c: Don't include stdlib.h here. It's already included via system.h. 2002-09-29 Jim Meyering <jim@meyering.net> * src/tr.c (find_bracketed_repeat): Rearrange pointer/integer expression to avoid bogus warning from gcc. * src/cat.c (simple_cat): Use a temporary to avoid bogus warnings. (cat): Declare insize and outsize to be of type size_t, not int. Rearrange pointer/integer expressions to avoid bogus warnings. (main): Declare insize and outsize to be of type size_t, not int. * src/tail.c (parse_options): Give a sensible diagnostic for an invalid byte or line count. Reported by Mikko Tuumanen. * src/touch.c (main): Split a long line. * tests/du/Makefile.am (TESTS): Add slink. * tests/du/slink: New test for system.h change of 2002-08-31. In move mode, always first try to rename. Before, upon failure to rename a directory, this code would never attempt to rename any other file in that directory, but would thenceforth always copy. On some systems (e.g., NetApp's OnTap-6.4), renaming a directory may fail with EXDEV, yet renaming files within that directory to a newly-created destination directory succeeds. * src/copy.c (copy_internal): Remove local, move_mode; use x->move_mode instead. Based on a patch from Tom Haynes. 2002-09-28 Jim Meyering <jim@meyering.net> * src/split.c (FAIL_ONLY_ONE_WAY): New macro. Factor out some duplication. (main): Use it. [case 'a']: Use strtoul rather than strtol to avoid compiler warnings. * src/sort.c (begfield, limfield): Rearrange comparisons to avoid compiler warnings. (fillbuf, keycompare): Cast literal `-1' to size_t in comparisons, to avoid compiler warnings. * src/shred.c (dopass): Use a uintmax_t temporary to avoid bogus compiler warnings. Fix things so `mkdir -p' can create very deep directories, e.g., mkdir -p $(perl -e 'print "a/" x 40000') now works. * src/mkdir.c (main): For --parents (-p), call make_path with the entire directory name, so we don't ever require that file operations like stat or chmod be performed on the entire command line argument. * makepath.c (make_path): Restore umask *before* creating the final component. 2002-09-27 Andreas Schwab <schwab@suse.de> * src/tail.c (tail_bytes): Change type of bytes_remaining to off_t to avoid overflow. Reported by Hans Lermen. 2002-09-26 Jim Meyering <jim@meyering.net> * src/install.c (get_ids): Use strtoul, not strtol. Remove some casts. 2002-09-25 Jim Meyering <jim@meyering.net> * src/test.c (eaccess): Change type of local `euid' from int to uid_t and add a cast, to avoid a warning about `signed and unsigned type in conditional expression'. 2002-09-22 Jim Meyering <jim@meyering.net> * src/rmdir.c: Include "dirname.h", for declaration of strip_trailing_slashes. * src/stat.c (PRIdMAX, PRIuMAX): Remove definitions. Now they're defined through system.h. * src/cp-hash.c, src/dd.c, src/df.c, src/du.c, src/ls.c, * src/stat.c, src/wc.c: Remove all inclusions of inttypes.h, since it's already included from sys2.h via system.h. * Use automake-1.6f. Regenerate dependent files. * src/Makefile.am (PERL): Remove duplicate definition. fmt's -s, -t, -c options didn't work properly for long lines. Since get_line may end up calling put_paragraph (for long lines), be sure to set global, `other_indent', before it is used there. * src/fmt.c (set_other_indent): New function, factored out of... (get_paragraph): ... here. Call it. (get_line): Call set_other_indent before calling flush_paragraph, which calls fmt_paragraph, which in turn calls put_paragraph, which uses other_indent. * tests/fmt/Makefile.am (TESTS): Add long-line. * tests/fmt/long-line: New file/test, for the above fix. 2002-09-21 Jim Meyering <jim@meyering.net> * src/od.c: No longer include deprecated <values.h>. It was required solely for now-removed reference to BITSPERBYTE. * src/install.c: Likewise. Suggestion from Bruno Haible. 2002-09-06 Andreas Schwab <schwab@suse.de> `rmdir -p dir-specified-with-trailing-slash/' would fail. * src/rmdir.c (remove_parents): Strip trailing slashes. 2002-09-20 Jim Meyering <jim@meyering.net> * tests/rmdir/t-slash: New file/test, for the above fix. * tests/rmdir/Makefile.am (TESTS): Add t-slash. * Makefile.maint (announcement): Arrange to gpg-sign the message. Add a URL for each detached signature file. 2002-09-07 Bruno Haible <bruno@clisp.org> * configure.ac: Add need-ngettext to AM_GNU_GETTEXT invocation. 2002-09-18 Jim Meyering <jim@meyering.net> `od -t x8' used the wrong (`l'-prefixed) printf format. Likewise for the o8 and u8 formats. * src/od.c (ISPEC_TO_FORMAT): Define macro. (decode_one_format): Use PRIdMAX, PRIoMAX, etc. for LONG_LONG. Reported by Arun Sharma. 2002-09-17 Jim Meyering <jim@meyering.net> * src/sys2.h (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Define if necessary. From gettext's intl/loadmsgcat.c. * tests/od/x8: New file/test, for the above fix. * tests/od/Makefile.am (TESTS): Add x8. 2002-09-15 Jim Meyering <jim@meyering.net> * Use autoconf-2.54. Regenerate dependent files. * src/csplit.c (get_format_width): Add cast to avoid warning about `signed and unsigned type in conditional expression'. 2002-09-14 Jim Meyering <jim@meyering.net> * src/who.c (print_user): Change type of local to size_t to avoid warnings about `comparison between signed and unsigned'. * src/ptx.c (generate_all_output): Likewise. * src/dd.c (main, skip): Add casts to avoid warnings about `comparison between signed and unsigned'. * src/id.c (print_full_info, print_group_list): Add casts to avoid warnings about `signed and unsigned type in conditional expression'. * src/md5sum.c: Change type of global, digest_hex_bytes, to size_t to avoid warnings about `comparison between signed and unsigned'. (split_3): Change parameter names to be readable and add comment. Clean up the test for whether a line may be ignored. 2002-09-13 Jim Meyering <jim@meyering.net> * src/printf.c (main): Handle leading command line argument of `--'. Reported by Raul: DervishD <raul@pleyades.net> * tests/misc/printf: New file: test for the above. * tests/misc/Makefile.am (TESTS): Add printf. * src/date.c (usage): Explain that %S's range of [0..60] is required -- rather than 0..59 -- to accommodate the occasional positive leap second. Reported by Richard Neill. 2002-09-12 Jim Meyering <jim@meyering.net> * src/Makefile.am (nanosec_libs): Define. (sleep_LDADD, tail_LDADD): Use it here. Factor nanosleep-related code into ../lib/xnanosleep.c. * src/sleep.c: Include xnanosleep.h. Factor out fenv.h-related code. (timespec_subtract): Remove function. (main): Remove code that deals with computing start and stop times as well as the loop around nanosleep. Now that's in xnanosleep.c. Allow S (in --sleep-interval=S) to be a floating point value. * src/tail.c: Include xnanosleep.h and xstrtod.h. Move declaration of global variable, sleep_interval, to ... (main): ...here. (usage): Update description of --sleep-interval option. (tail_forever): New parameter, sleep_interval. Update caller. Use xnanosleep, rather than sleep. (parse_options): New parameter, sleep_interval. Update caller. Use xstrtod, now that we accept floating point values. Prompted by a patch from Augey Mikus. 2002-09-06 Jim Meyering <jim@meyering.net> * src/remove.c (prompt): Change comment to give a better note to translators. From Michael Piefel. 2002-09-02 Jim Meyering <jim@meyering.net> * README: A good problem report/patch includes diffs against the most recent test release. * src/pathchk.c (NEED_PATHCONF_WRAPPER): Define. (pathconf_wrapper): Define only if NEED_PATHCONF_WRAPPER is set. * src/kill.c (print_table_row): Use an unsigned type for widths to avoid warning about comparison between signed and unsigned. (list_signals): Likewise. * src/od.c (skip): Add a cast to avoid warning about comparison between signed and unsigned. * src/install.c (get_ids): Likewise. Also rearrange range-checking comparisons to make them more readable. 2002-09-01 Jim Meyering <jim@meyering.net> * Version 4.5.1. 2002-08-31 Jim Meyering <jim@meyering.net> Symlinks were always reported as using 0 blocks. * src/system.h (ST_NBLOCKS): Don't depend on file type. This reverts the change of 2000-01-30. Based on a report and patch from Neil Brown via Michael Stone. This fixes Debian Bug#156358. * Most files: Change `exit (0)' to `exit (EXIT_SUCCESS)', `exit (1)' to `exit (EXIT_FAILURE)', and `usage (1)' to `usage (EXIT_FAILURE)'. * chgrp.c, chmod.c, chown.c, chroot.c, cp.c, date.c, dd.c, du.c, * hostname.c, id.c, install.c, ln.c, mkdir.c, mkfifo.c, mknod.c, * nice.c, pinky.c, printf.c, pwd.c, shred.c, sleep.c, stty.c, * su.c, tac-pipe.c, tail.c, tee.c, touch.c, uname.c, uptime.c, * users.c, who.c: Change `error (1, ...' to `error (EXIT_FAILURE, ...'. But don't change `error (0, ...' to `error (EXIT_SUCCESS, ...', since error never exits successfully. 2002-08-29 Jim Meyering <jim@meyering.net> * src/remove.c (remove_cwd_entries): Use closedir (not CLOSEDIR) when ignoring any return value. * src/remove.c (remove_cwd_entries): Detect and diagnose readdir failures. On some systems (at least EMC Celerra and Solaris5.8), this appears to be necessary. (is_empty_dir): Likewise. Also, always close directory handle. * src/ls.c (print_dir): Likewise. (print_dir): Rename local variable: reading -> dirp. Reported by Mike Coleman. 2002-08-28 Jim Meyering <jim@meyering.net> * src/remove.c (remove_cwd_entries): Use CLOSEDIR, not closedir. Give a diagnostic and fail if closedir fails. 2002-08-26 Jim Meyering <jim@meyering.net> * Makefile.am (THANKS-to-translators): New rule. (EXTRA_DIST): Add both THANKS-to-translators and THANKStt.in. * THANKStt.in: New file. * src/cat.c (close_stdout_wrapper): New, kludgey, function and file-scoped global. (main): Register it with atexit. Close STDOUT_FILENO, to avoid a problem when writing to /dev/audio on at least Solaris 5.7 and 5.8 systems. Reported by Shing-Shong Shei. 2002-08-25 Jim Meyering <jim@meyering.net> * src/cat.c (main): Close STDIN_FILENO rather than a literal `0'. * src/tac.c (main): Likewise. * src/tail.c (main): Likewise. * src/tee.c (main): Likewise. * src/tr.c (main): Likewise. * src/wc.c (main): Likewise. 2002-08-20 Jim Meyering <jim@meyering.net> * tests/mv/setup: Rewrite not to use `: ${VAR=not_set}' paradigm. 2002-08-10 Paul Eggert <eggert@twinsun.com> * src/nohup.sh: Don't use "exec --"; it's not portable and shouldn't be needed. 2002-08-09 Jim Meyering <jim@meyering.net> * src/pr.c (main): Don't ignore -COLUMN if it's the last option. (usage): Clarify help text for the -COLUMN option. Patch by Padraig Brady. * tests/pr/Test.pm [col-last]: New test for the above. * configure.ac: Start with version 4.5.1, chosen so that it's larger than the latest version numbers of the component packages. * man/Makefile.am (check-x-vs-1): Set and export PATH so we use programs in ../src. 2002-08-08 Jim Meyering <jim@meyering.net> * src/date.c: Guard inclusion of <langinfo.h> with `#if HAVE_LANGINFO_CODESET', not `#if HAVE_LANGINFO_H'. * src/sort.c: Likewise. Patch by GOTO Masanori. 2002-08-05 Paul Eggert <eggert@twinsun.com> Fix some minor time-related bugs with POSIX time arguments. Some valid time stamps were being rejected (notably -1, and time stamps before 1900 on 64-bit hosts). And some invalid time stamps were being accepted, e.g. September 31. * src/date.c (main): Adjust to posixtime signature change. * src/touch.c (main): Likewise. Remove unnecessary initialization. Use localtime, not posixtm, to warn about obsolete "touch". 2002-08-05 Jim Meyering <jim@meyering.net> * tests/misc/Makefile.am (TESTS): Add nice and pathchk1. 2002-08-04 Jim Meyering <jim@meyering.net> * src/Makefile.am (check-README): New target/rule. (check): Depend on it. * configure.ac (AC_CONFIG_FILES): Add old/Makefile and old/*/Makefile. 2002-08-03 Jim Meyering <jim@meyering.net> * Makefile.am (SUBDIRS): Add old. * old/: New directory, containing legacy ChangeLog* and NEWS files from the fileutils, sh-utils, and textutils packages. * src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Set to false. 2002-08-02 Paul Eggert <eggert@twinsun.com> * NEWS, doc/coreutils.texi: uniq now obeys LC_COLLATE. * src/uniq.c: Include hard-locale.h, xmemcoll.h. (hard_LC_COLLATE): New var. (different): Args are now char *, not const char *. Use xmemcoll instead of memcmp to compare lines, so that LC_COLLATE has effect. However, use memcmp if it is an easy locale. (check_file): Do not include newline in comparison, so that xmemcoll has a byte to stomp on temporarily. (main): Set hard_LC_COLLATE. 2002-07-29 Jim Meyering <jim@meyering.net> * Makefile.am (SUBDIRS): Remove djgpp, for now. 2002-07-20 Jim Meyering <jim@meyering.net> * Makefile.am (false.c): Convert only the final EXIT_SUCCESS into EXIT_FAILURE. Otherwise, false --help and false --version would fail. 2002-07-08 Jim Meyering <jim@meyering.net> * src/Makefile.am (uninstall-local): Search for @GNU_PACKAGE@, rather than the hard-coded `sh-utils'. 2002-07-01 Jim Meyering <jim@meyering.net> * configure.ac: Merge the three files from fileutils, textutils, and sh-utils. * Makefile.am: Likewise. * src/Makefile.am: Likewise. ----- Copyright (C) 2002-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/configure����������������������������������������������������������������������������0000775�0000000�0000000�00006374075�12107204252�012276� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for GNU coreutils 8.21. # # Report bugs to <bug-coreutils@gnu.org>. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: bug-coreutils@gnu.org about your system, including any $0: error possibly output before this message. Then install $0: a modern shell, or manually run the script under such a $0: shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 </dev/null exec 6>&1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU coreutils' PACKAGE_TARNAME='coreutils' PACKAGE_VERSION='8.21' PACKAGE_STRING='GNU coreutils 8.21' PACKAGE_BUGREPORT='bug-coreutils@gnu.org' PACKAGE_URL='http://www.gnu.org/software/coreutils/' ac_unique_file="src/ls.c" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_SYS_STAT_H # include <sys/stat.h> #endif #ifdef STDC_HEADERS # include <stdlib.h> # include <stddef.h> #else # ifdef HAVE_STDLIB_H # include <stdlib.h> # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include <memory.h> # endif # include <string.h> #endif #ifdef HAVE_STRINGS_H # include <strings.h> #endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" gl_use_threads_default= ac_header_list= ac_func_list= gl_fnmatch_required=POSIX gl_getopt_required=POSIX gl_getopt_required=POSIX gt_needs= ac_config_libobj_dir=lib ac_subst_vars='gltests_LTLIBOBJS gltests_LIBOBJS gl_LTLIBOBJS gl_LIBOBJS CONFIG_INCLUDE am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS POSUB INTLLIBS XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS CROSS_COMPILING_FALSE CROSS_COMPILING_TRUE built_programs EXTRA_MANS man1_MANS pkglibexec_PROGRAMS bin_PROGRAMS LIB_GMP GNULIB_TEST_WARN_CFLAGS GNULIB_WARN_CFLAGS WARN_CFLAGS WERROR_CFLAGS HAVE_PERL_FALSE HAVE_PERL_TRUE SEQ_LIBM LIB_CAP LIB_XATTR MAN HELP2MAN LIBTESTS_LIBDEPS LIBCOREUTILS_LTLIBDEPS LIBCOREUTILS_LIBDEPS YIELD_LIB abs_aux_dir POSIX_SPAWN_PORTED_FALSE POSIX_SPAWN_PORTED_TRUE INTL_MACOSX_LIBS INET_PTON_LIB LOCALE_TR_UTF8 gltests_WITNESS NEXT_AS_FIRST_DIRECTIVE_WCHAR_H NEXT_WCHAR_H LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE LIBUNISTRING_UNIWIDTH_H LIBUNISTRING_UNITYPES_H LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE LIBUNISTRING_UNISTR_H HAVE_UNISTD_H NEXT_AS_FIRST_DIRECTIVE_UNISTD_H NEXT_UNISTD_H LIB_TIMER_TIME PTHREAD_H_DEFINES_STRUCT_TIMESPEC SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_AS_FIRST_DIRECTIVE_TIME_H NEXT_TIME_H NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H NEXT_TERMIOS_H HAVE_TERMIOS_H HAVE_DECL_TCGETSID GNULIB_TCGETSID NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H NEXT_SYS_WAIT_H GNULIB_WAITPID HAVE_SYS_UTSNAME_H NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H NEXT_SYS_UTSNAME_H HAVE_STRUCT_UTSNAME HAVE_UNAME GNULIB_UNAME HAVE_SYS_UIO_H NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H NEXT_SYS_UIO_H HAVE_SYS_RESOURCE_H NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H NEXT_SYS_RESOURCE_H HAVE_GETRUSAGE GNULIB_GETRUSAGE NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H NEXT_SYS_IOCTL_H HAVE_SYS_IOCTL_H NEXT_AS_FIRST_DIRECTIVE_STRING_H NEXT_STRING_H NEXT_AS_FIRST_DIRECTIVE_STDLIB_H NEXT_STDLIB_H NEXT_AS_FIRST_DIRECTIVE_STDIO_H NEXT_STDIO_H GL_GENERATE_STDARG_H_FALSE GL_GENERATE_STDARG_H_TRUE STDARG_H NEXT_AS_FIRST_DIRECTIVE_STDARG_H NEXT_STDARG_H GL_GENERATE_STDALIGN_H_FALSE GL_GENERATE_STDALIGN_H_TRUE STDALIGN_H HAVE_SPAWN_H NEXT_AS_FIRST_DIRECTIVE_SPAWN_H NEXT_SPAWN_H NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H NEXT_SIGNAL_H GL_GENERATE_SELINUX_CONTEXT_H_FALSE GL_GENERATE_SELINUX_CONTEXT_H_TRUE SELINUX_CONTEXT_H NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H NEXT_SELINUX_SELINUX_H LIB_SELINUX GL_GENERATE_SCHED_H_FALSE GL_GENERATE_SCHED_H_TRUE SCHED_H HAVE_STRUCT_SCHED_PARAM HAVE_SCHED_H NEXT_AS_FIRST_DIRECTIVE_SCHED_H NEXT_SCHED_H REPLACE_RAISE REPLACE_PTHREAD_SIGMASK HAVE_SIGHANDLER_T HAVE_TYPE_VOLATILE_SIG_ATOMIC_T HAVE_STRUCT_SIGACTION_SA_SIGACTION HAVE_SIGACTION HAVE_SIGINFO_T HAVE_SIGSET_T HAVE_RAISE HAVE_PTHREAD_SIGMASK HAVE_POSIX_SIGNALBLOCKING GNULIB_SIGACTION GNULIB_SIGPROCMASK GNULIB_SIGNAL_H_SIGPIPE GNULIB_RAISE GNULIB_PTHREAD_SIGMASK LIB_PTHREAD GL_GENERATE_PTHREAD_H_FALSE GL_GENERATE_PTHREAD_H_TRUE PTHREAD_H NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H NEXT_PTHREAD_H HAVE_PTHREAD_SPINLOCK_T HAVE_PTHREAD_T HAVE_PTHREAD_H DEFAULT_POSIX2_VERSION REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE REPLACE_POSIX_SPAWN HAVE_POSIX_SPAWN_FILE_ACTIONS_T HAVE_POSIX_SPAWNATTR_T HAVE_POSIX_SPAWN GNULIB_POSIX_SPAWNATTR_DESTROY GNULIB_POSIX_SPAWNATTR_SETSIGMASK GNULIB_POSIX_SPAWNATTR_GETSIGMASK GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM GNULIB_POSIX_SPAWNATTR_SETPGROUP GNULIB_POSIX_SPAWNATTR_GETPGROUP GNULIB_POSIX_SPAWNATTR_SETFLAGS GNULIB_POSIX_SPAWNATTR_GETFLAGS GNULIB_POSIX_SPAWNATTR_INIT GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT GNULIB_POSIX_SPAWNP GNULIB_POSIX_SPAWN PREFERABLY_POSIX_SHELL POSIX_SHELL PERL YFLAGS YACC HAVE__BOOL GL_GENERATE_STDBOOL_H_FALSE GL_GENERATE_STDBOOL_H_TRUE STDBOOL_H GL_GENERATE_NETINET_IN_H_FALSE GL_GENERATE_NETINET_IN_H_TRUE NETINET_IN_H HAVE_NETINET_IN_H NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H NEXT_NETINET_IN_H LIB_NANOSLEEP LIB_SELECT LIBSOCKET HAVE_SYS_SELECT_H NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H NEXT_SYS_SELECT_H REPLACE_SELECT REPLACE_PSELECT HAVE_PSELECT GNULIB_SELECT GNULIB_PSELECT REPLACE_TIMEGM REPLACE_NANOSLEEP REPLACE_MKTIME REPLACE_LOCALTIME_R HAVE_TIMEGM HAVE_STRPTIME HAVE_NANOSLEEP HAVE_DECL_LOCALTIME_R GNULIB_TIME_R GNULIB_TIMEGM GNULIB_STRPTIME GNULIB_NANOSLEEP GNULIB_MKTIME UNDEFINE_STRTOK_R REPLACE_STRTOK_R REPLACE_STRSIGNAL REPLACE_STRNLEN REPLACE_STRNDUP REPLACE_STRNCAT REPLACE_STRERROR_R REPLACE_STRERROR REPLACE_STRCHRNUL REPLACE_STRCASESTR REPLACE_STRSTR REPLACE_STRDUP REPLACE_STPNCPY REPLACE_MEMMEM REPLACE_MEMCHR HAVE_STRVERSCMP HAVE_DECL_STRSIGNAL HAVE_DECL_STRERROR_R HAVE_DECL_STRTOK_R HAVE_STRCASESTR HAVE_STRSEP HAVE_STRPBRK HAVE_DECL_STRNLEN HAVE_DECL_STRNDUP HAVE_DECL_STRDUP HAVE_STRCHRNUL HAVE_STPNCPY HAVE_STPCPY HAVE_RAWMEMCHR HAVE_DECL_MEMRCHR HAVE_MEMPCPY HAVE_DECL_MEMMEM HAVE_MEMCHR HAVE_FFSLL HAVE_FFSL HAVE_MBSLEN GNULIB_STRVERSCMP GNULIB_STRSIGNAL GNULIB_STRERROR_R GNULIB_STRERROR GNULIB_MBSTOK_R GNULIB_MBSSEP GNULIB_MBSSPN GNULIB_MBSPBRK GNULIB_MBSCSPN GNULIB_MBSCASESTR GNULIB_MBSPCASECMP GNULIB_MBSNCASECMP GNULIB_MBSCASECMP GNULIB_MBSSTR GNULIB_MBSRCHR GNULIB_MBSCHR GNULIB_MBSNLEN GNULIB_MBSLEN GNULIB_STRTOK_R GNULIB_STRCASESTR GNULIB_STRSTR GNULIB_STRSEP GNULIB_STRPBRK GNULIB_STRNLEN GNULIB_STRNDUP GNULIB_STRNCAT GNULIB_STRDUP GNULIB_STRCHRNUL GNULIB_STPNCPY GNULIB_STPCPY GNULIB_RAWMEMCHR GNULIB_MEMRCHR GNULIB_MEMPCPY GNULIB_MEMMEM GNULIB_MEMCHR GNULIB_FFSLL GNULIB_FFSL LOCALE_FR_UTF8 LOCALE_ZH_CN LOCALE_JA NEXT_AS_FIRST_DIRECTIVE_MATH_H NEXT_MATH_H LTLIBMULTITHREAD LIBMULTITHREAD LTLIBTHREAD LIBTHREAD LIBPTH_PREFIX LTLIBPTH LIBPTH NEXT_AS_FIRST_DIRECTIVE_LOCALE_H NEXT_LOCALE_H HAVE_XLOCALE_H NEXT_AS_FIRST_DIRECTIVE_STDDEF_H NEXT_STDDEF_H GL_GENERATE_STDDEF_H_FALSE GL_GENERATE_STDDEF_H_TRUE STDDEF_H HAVE_WCHAR_T REPLACE_NULL REPLACE_STRUCT_LCONV REPLACE_DUPLOCALE REPLACE_SETLOCALE REPLACE_LOCALECONV HAVE_DUPLOCALE GNULIB_DUPLOCALE GNULIB_SETLOCALE GNULIB_LOCALECONV LOCALCHARSET_TESTS_ENVIRONMENT GLIBC21 IGNORE_UNUSED_LIBRARIES_CFLAGS HAVE_LANGINFO_YESEXPR HAVE_LANGINFO_ERA HAVE_LANGINFO_T_FMT_AMPM HAVE_LANGINFO_CODESET HAVE_LANGINFO_H NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H NEXT_LANGINFO_H REPLACE_NL_LANGINFO HAVE_NL_LANGINFO GNULIB_NL_LANGINFO REPLACE_TOWLOWER REPLACE_ISWCNTRL HAVE_WCTYPE_H NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H NEXT_WCTYPE_H HAVE_WINT_T HAVE_ISWCNTRL REPLACE_ISWBLANK HAVE_WCTRANS_T HAVE_WCTYPE_T HAVE_ISWBLANK GNULIB_TOWCTRANS GNULIB_WCTRANS GNULIB_ISWCTYPE GNULIB_WCTYPE GNULIB_ISWBLANK NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H NEXT_INTTYPES_H UINT64_MAX_EQ_ULONG_MAX UINT32_MAX_LT_UINTMAX_MAX PRIPTR_PREFIX PRI_MACROS_BROKEN INT64_MAX_EQ_LONG_MAX INT32_MAX_LT_INTMAX_MAX REPLACE_STRTOIMAX HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX HAVE_DECL_IMAXDIV HAVE_DECL_IMAXABS GNULIB_STRTOUMAX GNULIB_STRTOIMAX GNULIB_IMAXDIV GNULIB_IMAXABS GL_GENERATE_STDINT_H_FALSE GL_GENERATE_STDINT_H_TRUE STDINT_H WINT_T_SUFFIX WCHAR_T_SUFFIX SIG_ATOMIC_T_SUFFIX SIZE_T_SUFFIX PTRDIFF_T_SUFFIX HAVE_SIGNED_WINT_T HAVE_SIGNED_WCHAR_T HAVE_SIGNED_SIG_ATOMIC_T BITSIZEOF_WINT_T BITSIZEOF_WCHAR_T BITSIZEOF_SIG_ATOMIC_T BITSIZEOF_SIZE_T BITSIZEOF_PTRDIFF_T APPLE_UNIVERSAL_BUILD HAVE_SYS_BITYPES_H HAVE_SYS_INTTYPES_H HAVE_STDINT_H NEXT_AS_FIRST_DIRECTIVE_STDINT_H NEXT_STDINT_H HAVE_SYS_TYPES_H HAVE_INTTYPES_H HAVE_WCHAR_H HAVE_UNSIGNED_LONG_LONG_INT HAVE_LONG_LONG_INT NEXT_AS_FIRST_DIRECTIVE_ICONV_H NEXT_ICONV_H GL_GENERATE_ICONV_H_FALSE GL_GENERATE_ICONV_H_TRUE ICONV_H REPLACE_ICONV_UTF REPLACE_ICONV_OPEN REPLACE_ICONV ICONV_CONST GNULIB_ICONV LTLIBICONV LIBICONV GNU_MAKE_FALSE GNU_MAKE_TRUE NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H NEXT_SYS_TIME_H REPLACE_STRUCT_TIMEVAL REPLACE_GETTIMEOFDAY HAVE_SYS_TIME_H HAVE_STRUCT_TIMEVAL HAVE_GETTIMEOFDAY GNULIB_GETTIMEOFDAY LTLIBINTL LIBINTL GNULIB_GL_UNISTD_H_GETOPT GETOPT_H HAVE_GETOPT_H NEXT_AS_FIRST_DIRECTIVE_GETOPT_H NEXT_GETOPT_H GETLOADAVG_LIBS LIB_GETHRXTIME GETHOSTNAME_LIB GETADDRINFO_LIB INET_NTOP_LIB SERVENT_LIB HOSTENT_LIB HAVE_NETDB_H NEXT_AS_FIRST_DIRECTIVE_NETDB_H NEXT_NETDB_H REPLACE_GAI_STRERROR HAVE_DECL_GETNAMEINFO HAVE_DECL_GETADDRINFO HAVE_DECL_GAI_STRERROR HAVE_DECL_FREEADDRINFO HAVE_STRUCT_ADDRINFO GNULIB_GETADDRINFO HAVE_WS2TCPIP_H HAVE_SYS_SOCKET_H NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H NEXT_SYS_SOCKET_H HAVE_ACCEPT4 HAVE_SA_FAMILY_T HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY HAVE_STRUCT_SOCKADDR_STORAGE GNULIB_ACCEPT4 GNULIB_SHUTDOWN GNULIB_SETSOCKOPT GNULIB_SENDTO GNULIB_RECVFROM GNULIB_SEND GNULIB_RECV GNULIB_LISTEN GNULIB_GETSOCKOPT GNULIB_GETSOCKNAME GNULIB_GETPEERNAME GNULIB_BIND GNULIB_ACCEPT GNULIB_CONNECT GNULIB_SOCKET WINDOWS_64_BIT_ST_SIZE NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H NEXT_SYS_STAT_H WINDOWS_64_BIT_OFF_T NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H NEXT_SYS_TYPES_H HAVE_SAME_LONG_DOUBLE_AS_DOUBLE REPLACE_TRUNCL REPLACE_TRUNCF REPLACE_TRUNC REPLACE_SQRTL REPLACE_SIGNBIT_USING_GCC REPLACE_SIGNBIT REPLACE_ROUNDL REPLACE_ROUNDF REPLACE_ROUND REPLACE_REMAINDERL REPLACE_REMAINDERF REPLACE_REMAINDER REPLACE_NAN REPLACE_MODFL REPLACE_MODFF REPLACE_MODF REPLACE_LOGBL REPLACE_LOGBF REPLACE_LOGB REPLACE_LOG2L REPLACE_LOG2F REPLACE_LOG2 REPLACE_LOG1PL REPLACE_LOG1PF REPLACE_LOG1P REPLACE_LOG10L REPLACE_LOG10F REPLACE_LOG10 REPLACE_LOGL REPLACE_LOGF REPLACE_LOG REPLACE_LDEXPL REPLACE_ISNAN REPLACE_ISINF REPLACE_ISFINITE REPLACE_ILOGBF REPLACE_ILOGB REPLACE_HYPOTL REPLACE_HYPOTF REPLACE_HYPOT REPLACE_HUGE_VAL REPLACE_FREXPL REPLACE_FREXP REPLACE_FREXPF REPLACE_FMODL REPLACE_FMODF REPLACE_FMOD REPLACE_FMAL REPLACE_FMAF REPLACE_FMA REPLACE_FLOORL REPLACE_FLOORF REPLACE_FLOOR REPLACE_FABSL REPLACE_EXP2L REPLACE_EXP2 REPLACE_EXPM1F REPLACE_EXPM1 REPLACE_CEILL REPLACE_CEILF REPLACE_CEIL REPLACE_CBRTL REPLACE_CBRTF HAVE_DECL_TRUNCL HAVE_DECL_TRUNCF HAVE_DECL_TRUNC HAVE_DECL_TANL HAVE_DECL_SQRTL HAVE_DECL_SINL HAVE_DECL_ROUNDL HAVE_DECL_ROUNDF HAVE_DECL_ROUND HAVE_DECL_RINTF HAVE_DECL_REMAINDERL HAVE_DECL_REMAINDER HAVE_DECL_LOGB HAVE_DECL_LOG2L HAVE_DECL_LOG2F HAVE_DECL_LOG2 HAVE_DECL_LOG10L HAVE_DECL_LOGL HAVE_DECL_LDEXPL HAVE_DECL_FREXPL HAVE_DECL_FLOORL HAVE_DECL_FLOORF HAVE_DECL_EXPM1L HAVE_DECL_EXP2L HAVE_DECL_EXP2F HAVE_DECL_EXP2 HAVE_DECL_EXPL HAVE_DECL_COSL HAVE_DECL_COPYSIGNF HAVE_DECL_CEILL HAVE_DECL_CEILF HAVE_DECL_CBRTL HAVE_DECL_CBRTF HAVE_DECL_ATANL HAVE_DECL_ASINL HAVE_DECL_ACOSL HAVE_TANHF HAVE_TANL HAVE_TANF HAVE_SQRTL HAVE_SQRTF HAVE_SINHF HAVE_SINL HAVE_SINF HAVE_RINTL HAVE_RINT HAVE_REMAINDERF HAVE_REMAINDER HAVE_POWF HAVE_MODFL HAVE_MODFF HAVE_LOGBL HAVE_LOGBF HAVE_LOG1PL HAVE_LOG1PF HAVE_LOG1P HAVE_LOG10L HAVE_LOG10F HAVE_LOGL HAVE_LOGF HAVE_LDEXPF HAVE_ISNANL HAVE_ISNAND HAVE_ISNANF HAVE_ILOGBL HAVE_ILOGBF HAVE_ILOGB HAVE_HYPOTL HAVE_HYPOTF HAVE_FREXPF HAVE_FMODL HAVE_FMODF HAVE_FMAL HAVE_FMAF HAVE_FMA HAVE_FABSL HAVE_FABSF HAVE_EXPM1F HAVE_EXPM1 HAVE_EXPL HAVE_EXPF HAVE_COSHF HAVE_COSL HAVE_COSF HAVE_COPYSIGNL HAVE_COPYSIGN HAVE_CBRTL HAVE_CBRTF HAVE_CBRT HAVE_ATAN2F HAVE_ATANL HAVE_ATANF HAVE_ASINL HAVE_ASINF HAVE_ACOSL HAVE_ACOSF GNULIB_TRUNCL GNULIB_TRUNCF GNULIB_TRUNC GNULIB_TANHF GNULIB_TANL GNULIB_TANF GNULIB_SQRTL GNULIB_SQRTF GNULIB_SINHF GNULIB_SINL GNULIB_SINF GNULIB_SIGNBIT GNULIB_ROUNDL GNULIB_ROUNDF GNULIB_ROUND GNULIB_RINTL GNULIB_RINTF GNULIB_RINT GNULIB_REMAINDERL GNULIB_REMAINDERF GNULIB_REMAINDER GNULIB_POWF GNULIB_MODFL GNULIB_MODFF GNULIB_MODF GNULIB_LOGBL GNULIB_LOGBF GNULIB_LOGB GNULIB_LOG2L GNULIB_LOG2F GNULIB_LOG2 GNULIB_LOG1PL GNULIB_LOG1PF GNULIB_LOG1P GNULIB_LOG10L GNULIB_LOG10F GNULIB_LOG10 GNULIB_LOGL GNULIB_LOGF GNULIB_LOG GNULIB_LDEXPL GNULIB_LDEXPF GNULIB_ISNANL GNULIB_ISNAND GNULIB_ISNANF GNULIB_ISNAN GNULIB_ISINF GNULIB_ISFINITE GNULIB_ILOGBL GNULIB_ILOGBF GNULIB_ILOGB GNULIB_HYPOTL GNULIB_HYPOTF GNULIB_HYPOT GNULIB_FREXPL GNULIB_FREXP GNULIB_FREXPF GNULIB_FMODL GNULIB_FMODF GNULIB_FMOD GNULIB_FMAL GNULIB_FMAF GNULIB_FMA GNULIB_FLOORL GNULIB_FLOORF GNULIB_FLOOR GNULIB_FABSL GNULIB_FABSF GNULIB_EXPM1L GNULIB_EXPM1F GNULIB_EXPM1 GNULIB_EXP2L GNULIB_EXP2F GNULIB_EXP2 GNULIB_EXPL GNULIB_EXPF GNULIB_COSHF GNULIB_COSL GNULIB_COSF GNULIB_COPYSIGNL GNULIB_COPYSIGNF GNULIB_COPYSIGN GNULIB_CEILL GNULIB_CEILF GNULIB_CEIL GNULIB_CBRTL GNULIB_CBRTF GNULIB_CBRT GNULIB_ATAN2F GNULIB_ATANL GNULIB_ATANF GNULIB_ASINL GNULIB_ASINF GNULIB_ACOSL GNULIB_ACOSF GL_GENERATE_FNMATCH_H_FALSE GL_GENERATE_FNMATCH_H_TRUE FNMATCH_H REPLACE_ITOLD GL_GENERATE_FLOAT_H_FALSE GL_GENERATE_FLOAT_H_TRUE FLOAT_H NEXT_AS_FIRST_DIRECTIVE_FLOAT_H NEXT_FLOAT_H LIB_FDATASYNC NEXT_AS_FIRST_DIRECTIVE_FCNTL_H NEXT_FCNTL_H REPLACE_OPENAT REPLACE_OPEN REPLACE_FCNTL HAVE_OPENAT HAVE_FCNTL GNULIB_OPENAT GNULIB_OPEN GNULIB_NONBLOCKING GNULIB_FCNTL REPLACE_VSPRINTF REPLACE_VSNPRINTF REPLACE_VPRINTF REPLACE_VFPRINTF REPLACE_VDPRINTF REPLACE_VASPRINTF REPLACE_TMPFILE REPLACE_STDIO_WRITE_FUNCS REPLACE_STDIO_READ_FUNCS REPLACE_SPRINTF REPLACE_SNPRINTF REPLACE_RENAMEAT REPLACE_RENAME REPLACE_REMOVE REPLACE_PRINTF REPLACE_POPEN REPLACE_PERROR REPLACE_OBSTACK_PRINTF REPLACE_GETLINE REPLACE_GETDELIM REPLACE_FTELLO REPLACE_FTELL REPLACE_FSEEKO REPLACE_FSEEK REPLACE_FREOPEN REPLACE_FPURGE REPLACE_FPRINTF REPLACE_FOPEN REPLACE_FFLUSH REPLACE_FDOPEN REPLACE_FCLOSE REPLACE_DPRINTF HAVE_VDPRINTF HAVE_VASPRINTF HAVE_RENAMEAT HAVE_POPEN HAVE_PCLOSE HAVE_FTELLO HAVE_FSEEKO HAVE_DPRINTF HAVE_DECL_VSNPRINTF HAVE_DECL_SNPRINTF HAVE_DECL_OBSTACK_PRINTF HAVE_DECL_GETLINE HAVE_DECL_GETDELIM HAVE_DECL_FTELLO HAVE_DECL_FSEEKO HAVE_DECL_FPURGE GNULIB_VSPRINTF_POSIX GNULIB_VSNPRINTF GNULIB_VPRINTF_POSIX GNULIB_VPRINTF GNULIB_VFPRINTF_POSIX GNULIB_VFPRINTF GNULIB_VDPRINTF GNULIB_VSCANF GNULIB_VFSCANF GNULIB_VASPRINTF GNULIB_TMPFILE GNULIB_STDIO_H_SIGPIPE GNULIB_STDIO_H_NONBLOCKING GNULIB_SPRINTF_POSIX GNULIB_SNPRINTF GNULIB_SCANF GNULIB_RENAMEAT GNULIB_RENAME GNULIB_REMOVE GNULIB_PUTS GNULIB_PUTCHAR GNULIB_PUTC GNULIB_PRINTF_POSIX GNULIB_PRINTF GNULIB_POPEN GNULIB_PERROR GNULIB_PCLOSE GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF GNULIB_GETLINE GNULIB_GETDELIM GNULIB_GETCHAR GNULIB_GETC GNULIB_FWRITE GNULIB_FTELLO GNULIB_FTELL GNULIB_FSEEKO GNULIB_FSEEK GNULIB_FSCANF GNULIB_FREOPEN GNULIB_FREAD GNULIB_FPUTS GNULIB_FPUTC GNULIB_FPURGE GNULIB_FPRINTF_POSIX GNULIB_FPRINTF GNULIB_FOPEN GNULIB_FGETS GNULIB_FGETC GNULIB_FFLUSH GNULIB_FDOPEN GNULIB_FCLOSE GNULIB_DPRINTF REPLACE_UTIMENSAT REPLACE_STAT REPLACE_MKNOD REPLACE_MKFIFO REPLACE_MKDIR REPLACE_LSTAT REPLACE_FUTIMENS REPLACE_FSTATAT REPLACE_FSTAT HAVE_UTIMENSAT HAVE_MKNODAT HAVE_MKNOD HAVE_MKFIFOAT HAVE_MKFIFO HAVE_MKDIRAT HAVE_LSTAT HAVE_LCHMOD HAVE_FUTIMENS HAVE_FSTATAT HAVE_FCHMODAT GNULIB_UTIMENSAT GNULIB_STAT GNULIB_MKNODAT GNULIB_MKNOD GNULIB_MKFIFOAT GNULIB_MKFIFO GNULIB_MKDIRAT GNULIB_LSTAT GNULIB_LCHMOD GNULIB_FUTIMENS GNULIB_FSTATAT GNULIB_FSTAT GNULIB_FCHMODAT LIB_EACCESS EOVERFLOW_VALUE EOVERFLOW_HIDDEN ENOLINK_VALUE ENOLINK_HIDDEN EMULTIHOP_VALUE EMULTIHOP_HIDDEN GL_GENERATE_ERRNO_H_FALSE GL_GENERATE_ERRNO_H_TRUE ERRNO_H NEXT_AS_FIRST_DIRECTIVE_ERRNO_H NEXT_ERRNO_H HAVE_DIRENT_H NEXT_AS_FIRST_DIRECTIVE_DIRENT_H NEXT_DIRENT_H NEXT_AS_FIRST_DIRECTIVE_CTYPE_H NEXT_CTYPE_H HAVE_ISBLANK GNULIB_ISBLANK pkglibexecdir lispdir REPLACE_FDOPENDIR REPLACE_DIRFD REPLACE_CLOSEDIR REPLACE_OPENDIR HAVE_ALPHASORT HAVE_SCANDIR HAVE_FDOPENDIR HAVE_DECL_FDOPENDIR HAVE_DECL_DIRFD HAVE_CLOSEDIR HAVE_REWINDDIR HAVE_READDIR HAVE_OPENDIR GNULIB_ALPHASORT GNULIB_SCANDIR GNULIB_FDOPENDIR GNULIB_DIRFD GNULIB_CLOSEDIR GNULIB_REWINDDIR GNULIB_READDIR GNULIB_OPENDIR HAVE_WINSOCK2_H REPLACE_IOCTL SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS SYS_IOCTL_H_HAVE_WINSOCK2_H GNULIB_IOCTL HAVE_MSVC_INVALID_PARAMETER_HANDLER LIB_CLOCK_GETTIME UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS UNISTD_H_HAVE_WINSOCK2_H REPLACE_WRITE REPLACE_USLEEP REPLACE_UNLINKAT REPLACE_UNLINK REPLACE_TTYNAME_R REPLACE_SYMLINK REPLACE_SLEEP REPLACE_RMDIR REPLACE_READLINK REPLACE_READ REPLACE_PWRITE REPLACE_PREAD REPLACE_LSEEK REPLACE_LINKAT REPLACE_LINK REPLACE_LCHOWN REPLACE_ISATTY REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETLOGIN_R REPLACE_GETDOMAINNAME REPLACE_GETCWD REPLACE_FTRUNCATE REPLACE_FCHOWNAT REPLACE_DUP2 REPLACE_DUP REPLACE_CLOSE REPLACE_CHOWN HAVE_SYS_PARAM_H HAVE_OS_H HAVE_DECL_TTYNAME_R HAVE_DECL_SETHOSTNAME HAVE_DECL_GETUSERSHELL HAVE_DECL_GETPAGESIZE HAVE_DECL_GETLOGIN_R HAVE_DECL_GETDOMAINNAME HAVE_DECL_FDATASYNC HAVE_DECL_FCHDIR HAVE_DECL_ENVIRON HAVE_USLEEP HAVE_UNLINKAT HAVE_SYMLINKAT HAVE_SYMLINK HAVE_SLEEP HAVE_SETHOSTNAME HAVE_READLINKAT HAVE_READLINK HAVE_PWRITE HAVE_PREAD HAVE_PIPE2 HAVE_PIPE HAVE_LINKAT HAVE_LINK HAVE_LCHOWN HAVE_GROUP_MEMBER HAVE_GETPAGESIZE HAVE_GETLOGIN HAVE_GETHOSTNAME HAVE_GETGROUPS HAVE_GETDTABLESIZE HAVE_FTRUNCATE HAVE_FSYNC HAVE_FDATASYNC HAVE_FCHOWNAT HAVE_FCHDIR HAVE_FACCESSAT HAVE_EUIDACCESS HAVE_DUP3 HAVE_DUP2 HAVE_CHOWN GNULIB_WRITE GNULIB_USLEEP GNULIB_UNLINKAT GNULIB_UNLINK GNULIB_UNISTD_H_SIGPIPE GNULIB_UNISTD_H_NONBLOCKING GNULIB_TTYNAME_R GNULIB_SYMLINKAT GNULIB_SYMLINK GNULIB_SLEEP GNULIB_SETHOSTNAME GNULIB_RMDIR GNULIB_READLINKAT GNULIB_READLINK GNULIB_READ GNULIB_PWRITE GNULIB_PREAD GNULIB_PIPE2 GNULIB_PIPE GNULIB_LSEEK GNULIB_LINKAT GNULIB_LINK GNULIB_LCHOWN GNULIB_ISATTY GNULIB_GROUP_MEMBER GNULIB_GETUSERSHELL GNULIB_GETPAGESIZE GNULIB_GETLOGIN_R GNULIB_GETLOGIN GNULIB_GETHOSTNAME GNULIB_GETGROUPS GNULIB_GETDTABLESIZE GNULIB_GETDOMAINNAME GNULIB_GETCWD GNULIB_FTRUNCATE GNULIB_FSYNC GNULIB_FDATASYNC GNULIB_FCHOWNAT GNULIB_FCHDIR GNULIB_FACCESSAT GNULIB_EUIDACCESS GNULIB_ENVIRON GNULIB_DUP3 GNULIB_DUP2 GNULIB_DUP GNULIB_CLOSE GNULIB_CHOWN GNULIB_CHDIR REPLACE_WCTOMB REPLACE_UNSETENV REPLACE_STRTOD REPLACE_SETENV REPLACE_REALPATH REPLACE_REALLOC REPLACE_RANDOM_R REPLACE_PUTENV REPLACE_PTSNAME_R REPLACE_PTSNAME REPLACE_MKSTEMP REPLACE_MBTOWC REPLACE_MALLOC REPLACE_CANONICALIZE_FILE_NAME REPLACE_CALLOC HAVE_DECL_UNSETENV HAVE_UNLOCKPT HAVE_SYS_LOADAVG_H HAVE_STRUCT_RANDOM_DATA HAVE_STRTOULL HAVE_STRTOLL HAVE_STRTOD HAVE_DECL_SETENV HAVE_SETENV HAVE_RPMATCH HAVE_REALPATH HAVE_RANDOM_R HAVE_RANDOM_H HAVE_RANDOM HAVE_PTSNAME_R HAVE_PTSNAME HAVE_POSIX_OPENPT HAVE_MKSTEMPS HAVE_MKSTEMP HAVE_MKOSTEMPS HAVE_MKOSTEMP HAVE_MKDTEMP HAVE_GRANTPT HAVE_GETSUBOPT HAVE_DECL_GETLOADAVG HAVE_CANONICALIZE_FILE_NAME HAVE_ATOLL HAVE__EXIT GNULIB_WCTOMB GNULIB_UNSETENV GNULIB_UNLOCKPT GNULIB_SYSTEM_POSIX GNULIB_STRTOULL GNULIB_STRTOLL GNULIB_STRTOD GNULIB_SETENV GNULIB_RPMATCH GNULIB_REALPATH GNULIB_REALLOC_POSIX GNULIB_RANDOM_R GNULIB_RANDOM GNULIB_PUTENV GNULIB_PTSNAME_R GNULIB_PTSNAME GNULIB_POSIX_OPENPT GNULIB_MKSTEMPS GNULIB_MKSTEMP GNULIB_MKOSTEMPS GNULIB_MKOSTEMP GNULIB_MKDTEMP GNULIB_MBTOWC GNULIB_MALLOC_POSIX GNULIB_GRANTPT GNULIB_GETSUBOPT GNULIB_GETLOADAVG GNULIB_CANONICALIZE_FILE_NAME GNULIB_CALLOC_POSIX GNULIB_ATOLL GNULIB__EXIT LOCALE_FR REPLACE_WCSWIDTH REPLACE_WCWIDTH REPLACE_WCSNRTOMBS REPLACE_WCSRTOMBS REPLACE_WCRTOMB REPLACE_MBSNRTOWCS REPLACE_MBSRTOWCS REPLACE_MBRLEN REPLACE_MBRTOWC REPLACE_MBSINIT REPLACE_WCTOB REPLACE_BTOWC REPLACE_MBSTATE_T HAVE_DECL_WCWIDTH HAVE_DECL_WCTOB HAVE_WCSWIDTH HAVE_WCSTOK HAVE_WCSSTR HAVE_WCSPBRK HAVE_WCSSPN HAVE_WCSCSPN HAVE_WCSRCHR HAVE_WCSCHR HAVE_WCSDUP HAVE_WCSXFRM HAVE_WCSCOLL HAVE_WCSNCASECMP HAVE_WCSCASECMP HAVE_WCSNCMP HAVE_WCSCMP HAVE_WCSNCAT HAVE_WCSCAT HAVE_WCPNCPY HAVE_WCSNCPY HAVE_WCPCPY HAVE_WCSCPY HAVE_WCSNLEN HAVE_WCSLEN HAVE_WMEMSET HAVE_WMEMMOVE HAVE_WMEMCPY HAVE_WMEMCMP HAVE_WMEMCHR HAVE_WCSNRTOMBS HAVE_WCSRTOMBS HAVE_WCRTOMB HAVE_MBSNRTOWCS HAVE_MBSRTOWCS HAVE_MBRLEN HAVE_MBRTOWC HAVE_MBSINIT HAVE_BTOWC GNULIB_WCSWIDTH GNULIB_WCSTOK GNULIB_WCSSTR GNULIB_WCSPBRK GNULIB_WCSSPN GNULIB_WCSCSPN GNULIB_WCSRCHR GNULIB_WCSCHR GNULIB_WCSDUP GNULIB_WCSXFRM GNULIB_WCSCOLL GNULIB_WCSNCASECMP GNULIB_WCSCASECMP GNULIB_WCSNCMP GNULIB_WCSCMP GNULIB_WCSNCAT GNULIB_WCSCAT GNULIB_WCPNCPY GNULIB_WCSNCPY GNULIB_WCPCPY GNULIB_WCSCPY GNULIB_WCSNLEN GNULIB_WCSLEN GNULIB_WMEMSET GNULIB_WMEMMOVE GNULIB_WMEMCPY GNULIB_WMEMCMP GNULIB_WMEMCHR GNULIB_WCWIDTH GNULIB_WCSNRTOMBS GNULIB_WCSRTOMBS GNULIB_WCRTOMB GNULIB_MBSNRTOWCS GNULIB_MBSRTOWCS GNULIB_MBRLEN GNULIB_MBRTOWC GNULIB_MBSINIT GNULIB_WCTOB GNULIB_BTOWC HAVE_FEATURES_H NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H NEXT_ARPA_INET_H PRAGMA_COLUMNS PRAGMA_SYSTEM_HEADER INCLUDE_NEXT_AS_FIRST_DIRECTIVE INCLUDE_NEXT HAVE_ARPA_INET_H REPLACE_INET_PTON REPLACE_INET_NTOP HAVE_DECL_INET_PTON HAVE_DECL_INET_NTOP GNULIB_INET_PTON GNULIB_INET_NTOP GL_GENERATE_ALLOCA_H_FALSE GL_GENERATE_ALLOCA_H_TRUE ALLOCA_H ALLOCA USE_ACL LIB_ACL GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE host_os host_vendor host_cpu host build_os build_vendor build_cpu build ARFLAGS AR LN_S RANLIB EGREP GREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_largefile enable_threads enable_acl enable_assert with_gnu_ld enable_rpath with_libiconv_prefix with_libpth_prefix with_included_regex with_selinux with_packager with_packager_version with_packager_bug_reports enable_xattr enable_libcap with_tty_group enable_gcc_warnings with_gmp enable_install_program enable_no_install_program enable_nls with_libintl_prefix ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP YACC YFLAGS DEFAULT_POSIX2_VERSION' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures GNU coreutils 8.21 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/coreutils] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of GNU coreutils 8.21:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0') --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-largefile omit support for large files --enable-threads={posix|solaris|pth|windows} specify multithreading API --disable-threads build without multithread safety --disable-acl do not support ACLs --disable-assert turn off assertions --disable-rpath do not hardcode runtime library paths --disable-xattr do not support extended attributes --disable-libcap disable libcap support --enable-gcc-warnings turn on many GCC warnings (for developers; best with GNU make) --enable-install-program=PROG_LIST install the programs in PROG_LIST (comma-separated, default: none) --enable-no-install-program=PROG_LIST do NOT install the programs in PROG_LIST (comma-separated, default: arch,hostname) --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib --without-libpth-prefix don't search for libpth in includedir and libdir --without-included-regex don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems). --without-selinux do not use SELinux, even on systems with SELinux --with-packager String identifying the packager of this software --with-packager-version Packager-specific version information --with-packager-bug-reports Packager info for bug reports (URL/e-mail/...) --with-tty-group[=NAME] group used by system for TTYs, "tty" when not specified (default: do not rely on any group used for TTYs) --without-gmp do not use the GNU MP library for arbitrary precision calculation (default: use it if available) --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor YACC The "Yet Another C Compiler" implementation to use. Defaults to 'bison -y'. Values other than 'bison -y' will most likely break on most systems. YFLAGS YFLAGS contains the list arguments that will be passed by default to Bison. This script will default YFLAGS to the empty string to avoid a default value of '-d' given by some make applications. DEFAULT_POSIX2_VERSION POSIX version to default to; see 'config.hin'. Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <bug-coreutils@gnu.org>. GNU coreutils home page: <http://www.gnu.org/software/coreutils/>. General help using GNU software: <http://www.gnu.org/gethelp/>. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF GNU coreutils configure 8.21 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------------ ## ## Report this to bug-coreutils@gnu.org ## ## ------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case <limits.h> declares $2. For example, HP-UX 11i <limits.h> declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES # --------------------------------------------- # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR # accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $as_decl_name #ifdef __cplusplus (void) $as_decl_use; #else (void) $as_decl_name; #endif #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include <stdio.h> #include <stdlib.h> int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 <conftest.val; ac_retval=0 else ac_retval=1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext rm -f conftest.val fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_compute_int # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including # INCLUDES, setting cache variable VAR accordingly. ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (sizeof ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU coreutils $as_me 8.21, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_list " arpa/inet.h" as_fn_append ac_header_list " features.h" as_fn_append ac_func_list " pathconf" as_fn_append ac_func_list " btowc" as_fn_append ac_func_list " canonicalize_file_name" as_fn_append ac_func_list " realpath" as_fn_append ac_func_list " readlinkat" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" as_fn_append ac_func_list " chown" as_fn_append ac_func_list " fchown" as_fn_append ac_func_list " _set_invalid_parameter_handler" as_fn_append ac_header_list " sys/socket.h" as_fn_append ac_func_list " fchdir" as_fn_append ac_header_list " dirent.h" as_fn_append ac_func_list " fdopendir" as_fn_append ac_func_list " faccessat" as_fn_append ac_func_list " posix_fadvise" as_fn_append ac_func_list " fchmodat" as_fn_append ac_func_list " lchmod" as_fn_append ac_func_list " fcntl" as_fn_append ac_func_list " symlink" as_fn_append ac_func_list " mempcpy" as_fn_append ac_func_list " isblank" as_fn_append ac_func_list " iswctype" as_fn_append ac_func_list " mbsrtowcs" as_fn_append ac_func_list " wmemchr" as_fn_append ac_func_list " wmemcpy" as_fn_append ac_func_list " wmempcpy" as_fn_append ac_header_list " wctype.h" gl_fnmatch_required=GNU as_fn_append ac_header_list " stdio_ext.h" as_fn_append ac_func_list " __fpending" as_fn_append ac_func_list " fpurge" as_fn_append ac_func_list " __fpurge" as_fn_append ac_func_list " __freadahead" as_fn_append ac_func_list " __freading" as_fn_append ac_func_list " __freadptr" as_fn_append ac_func_list " __freadptrinc" as_fn_append ac_func_list " alarm" as_fn_append ac_func_list " __fseterr" as_fn_append ac_header_list " sys/stat.h" as_fn_append ac_func_list " fstatat" as_fn_append ac_header_list " sys/vfs.h" as_fn_append ac_header_list " sys/fs_types.h" as_fn_append ac_func_list " fsync" as_fn_append ac_func_list " strtof" as_fn_append ac_func_list " ftruncate" as_fn_append ac_func_list " openat" as_fn_append ac_func_list " fstatfs" as_fn_append ac_func_list " futimens" as_fn_append ac_header_list " netdb.h" as_fn_append ac_header_list " netinet/in.h" as_fn_append ac_func_list " getdelim" as_fn_append ac_func_list " getdtablesize" as_fn_append ac_func_list " microuptime" as_fn_append ac_func_list " nanouptime" as_fn_append ac_func_list " getlogin" as_fn_append ac_func_list " flockfile" as_fn_append ac_func_list " funlockfile" gl_getopt_required=GNU as_fn_append ac_header_list " getopt.h" as_fn_append ac_header_list " termios.h" as_fn_append ac_func_list " __fsetlocking" as_fn_append ac_func_list " tcgetattr" as_fn_append ac_func_list " tcsetattr" as_fn_append ac_func_list " gettimeofday" as_fn_append ac_func_list " nanotime" as_fn_append ac_header_list " sys/time.h" as_fn_append ac_header_list " grp.h" as_fn_append ac_func_list " getusershell" as_fn_append ac_header_list " iconv.h" as_fn_append ac_header_list " wchar.h" as_fn_append ac_header_list " stdint.h" as_fn_append ac_header_list " inttypes.h" as_fn_append ac_func_list " iswcntrl" as_fn_append ac_func_list " iswblank" as_fn_append ac_header_list " langinfo.h" as_fn_append ac_func_list " link" as_fn_append ac_func_list " readlink" as_fn_append ac_func_list " linkat" as_fn_append ac_header_list " xlocale.h" as_fn_append ac_func_list " lstat" as_fn_append ac_header_list " math.h" as_fn_append ac_func_list " mbsinit" as_fn_append ac_func_list " mbrtowc" as_fn_append ac_func_list " mbrlen" as_fn_append ac_func_list " mbslen" as_fn_append ac_func_list " isascii" as_fn_append ac_header_list " sys/mman.h" as_fn_append ac_func_list " mprotect" as_fn_append ac_func_list " getgrouplist" as_fn_append ac_func_list " fchmod" as_fn_append ac_func_list " mkfifo" as_fn_append ac_func_list " mknod" as_fn_append ac_func_list " mkstemp" as_fn_append ac_header_list " sys/statvfs.h" as_fn_append ac_header_list " sys/select.h" as_fn_append ac_func_list " nl_langinfo" as_fn_append ac_func_list " pipe2" as_fn_append ac_func_list " posix_spawn" gl_printf_safe=yes as_fn_append ac_header_list " priv.h" as_fn_append ac_header_list " pthread.h" as_fn_append ac_header_list " utmp.h" as_fn_append ac_header_list " utmpx.h" as_fn_append ac_func_list " utmpname" as_fn_append ac_func_list " utmpxname" as_fn_append ac_func_list " wcscoll" as_fn_append ac_header_list " sched.h" as_fn_append ac_header_list " selinux/selinux.h" as_fn_append ac_func_list " setenv" as_fn_append ac_func_list " settimeofday" as_fn_append ac_func_list " stime" as_fn_append ac_func_list " sigaction" as_fn_append ac_func_list " sigaltstack" as_fn_append ac_func_list " siginterrupt" as_fn_append ac_func_list " snprintf" as_fn_append ac_header_list " spawn.h" as_fn_append ac_func_list " stpncpy" as_fn_append ac_func_list " strdup" as_fn_append ac_func_list " strerror_r" as_fn_append ac_func_list " __xpg_strerror_r" as_fn_append ac_func_list " tzset" as_fn_append ac_func_list " strndup" as_fn_append ac_func_list " strtoimax" as_fn_append ac_func_list " strtoumax" as_fn_append ac_header_list " sys/ioctl.h" as_fn_append ac_header_list " sys/resource.h" as_fn_append ac_header_list " sys/uio.h" as_fn_append ac_header_list " sys/utsname.h" as_fn_append ac_header_list " sys/wait.h" as_fn_append ac_func_list " localtime_r" as_fn_append ac_func_list " pipe" as_fn_append ac_func_list " unlinkat" as_fn_append ac_header_list " utime.h" as_fn_append ac_func_list " futimes" as_fn_append ac_func_list " futimesat" as_fn_append ac_func_list " utimensat" as_fn_append ac_func_list " lutimes" as_fn_append ac_func_list " vasnprintf" as_fn_append ac_func_list " wcrtomb" as_fn_append ac_func_list " wcwidth" as_fn_append ac_func_list " wcswidth" as_fn_append ac_func_list " getegid" as_fn_append ac_func_list " newlocale" as_fn_append ac_func_list " sleep" as_fn_append ac_func_list " catgets" as_fn_append ac_func_list " symlinkat" as_fn_append ac_func_list " shutdown" as_fn_append ac_func_list " usleep" as_fn_append ac_func_list " wctob" as_fn_append ac_header_list " hurd.h" as_fn_append ac_header_list " paths.h" as_fn_append ac_header_list " stropts.h" as_fn_append ac_header_list " sys/systeminfo.h" as_fn_append ac_header_list " syslog.h" as_fn_append ac_header_list " pwd.h" as_fn_append ac_func_list " directio" as_fn_append ac_func_list " setrlimit" as_fn_append ac_func_list " prctl" as_fn_append ac_func_list " endgrent" as_fn_append ac_func_list " endpwent" as_fn_append ac_func_list " iswspace" as_fn_append ac_func_list " setgroups" as_fn_append ac_func_list " sethostname" as_fn_append ac_func_list " sync" as_fn_append ac_func_list " sysctl" as_fn_append ac_func_list " sysinfo" as_fn_append ac_func_list " tcgetpgrp" as_fn_append ac_func_list " getgrgid_nomembers" as_fn_append ac_func_list " getgrnam_nomembers" as_fn_append ac_func_list " getgrent_nomembers" as_fn_append ac_header_list " OS.h" gt_needs="$gt_needs need-formatstring-macros" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in build-aux "$srcdir"/build-aux; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers lib/config.h:lib/config.hin" am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='coreutils' VERSION='8.21' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' # make --enable-silent-rules the default. DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi case $ac_cv_prog_cc_stdc in #( no) : ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if ${ac_cv_prog_cc_c99+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdbool.h> #include <stdlib.h> #include <wchar.h> #include <stdio.h> // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } if ${ac_cv_prog_cc_stdc+:} false; then : $as_echo_n "(cached) " >&6 fi case $ac_cv_prog_cc_stdc in #( no) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; #( '') : { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; esac if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sgtty.h> Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termio.h> Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 $as_echo_n "checking for Minix Amsterdam compiler... " >&6; } if ${gl_cv_c_amsterdam_compiler+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ACK__ Amsterdam #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Amsterdam" >/dev/null 2>&1; then : gl_cv_c_amsterdam_compiler=yes else gl_cv_c_amsterdam_compiler=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 $as_echo "$gl_cv_c_amsterdam_compiler" >&6; } if test -z "$AR"; then if test $gl_cv_c_amsterdam_compiler = yes; then AR='cc -c.a' if test -z "$ARFLAGS"; then ARFLAGS='-o' fi else if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="ar" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -z "$ARFLAGS"; then ARFLAGS='cru' fi fi else if test -z "$ARFLAGS"; then ARFLAGS='cru' fi fi if test -z "$RANLIB"; then if test $gl_cv_c_amsterdam_compiler = yes; then RANLIB=':' else if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi fi fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ctype.h> #include <stdlib.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi case "$host_os" in hpux*) $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } if ${ac_cv_sys_largefile_source+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* for off_t */ #include <stdio.h> int main () { int (*fp) (FILE *, off_t, int) = fseeko; return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=no; break fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include <sys/types.h> /* for off_t */ #include <stdio.h> int main () { int (*fp) (FILE *, off_t, int) = fseeko; return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=1; break fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 $as_echo "$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source _ACEOF ;; esac rm -rf conftest* # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug # in glibc 2.1.3, but that breaks too many other things. # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then $as_echo "#define HAVE_FSEEKO 1" >>confdefs.h fi # IEEE behaviour is the default on all CPUs except Alpha and SH # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4 # and the GCC 4.1.2 manual). case "$host_cpu" in alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at # <http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/0600____.HTM> if test -n "$GCC"; then # GCC has the option -mieee. # For full IEEE compliance (rarely needed), use option -mieee-with-inexact. CPPFLAGS="$CPPFLAGS -mieee" else # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact. # For full IEEE compliance (rarely needed), use option -ieee_with_inexact. CPPFLAGS="$CPPFLAGS -ieee" fi ;; sh*) if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" fi ;; esac # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi $as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h fi # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then : enableval=$enable_threads; gl_use_threads=$enableval else if test -n "$gl_use_threads_default"; then gl_use_threads="$gl_use_threads_default" else case "$host_os" in osf*) gl_use_threads=no ;; cygwin*) case `uname -r` in 1.[0-5].*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ;; *) gl_use_threads=yes ;; esac fi fi if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using <pthread.h>: case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks <pthread.h>. cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_LINK_IFELSE test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in <errno.h>. case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi # Code from module accept: # Code from module accept-tests: # Code from module acl: # Code from module acl-tests: # Code from module alignof: # Code from module alignof-tests: # Code from module alloca: # Code from module alloca-opt: # Code from module alloca-opt-tests: # Code from module allocator: # Code from module announce-gen: # Code from module areadlink: # Code from module areadlink-tests: # Code from module areadlink-with-size: # Code from module areadlink-with-size-tests: # Code from module areadlinkat: # Code from module areadlinkat-tests: # Code from module argmatch: # Code from module argmatch-tests: # Code from module argv-iter: # Code from module argv-iter-tests: # Code from module arpa_inet: # Code from module arpa_inet-tests: # Code from module assert: # Code from module at-internal: # Code from module autobuild: if test -z "$AB_PACKAGE"; then AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} fi { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 $as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} if test -z "$AB_VERSION"; then AB_VERSION=${PACKAGE_VERSION:-$VERSION} fi { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 $as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} hostname=`hostname` if test "$hostname"; then { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 $as_echo "$as_me: autobuild hostname... $hostname" >&6;} fi date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` if test "$?" != 0; then date=`date` fi if test "$date"; then { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 $as_echo "$as_me: autobuild timestamp... $date" >&6;} fi # Code from module backupfile: # Code from module base64: # Code from module base64-tests: # Code from module binary-io: # Code from module binary-io-tests: # Code from module bind: # Code from module bind-tests: # Code from module bitrotate: # Code from module bitrotate-tests: # Code from module btowc: # Code from module btowc-tests: # Code from module buffer-lcm: # Code from module c-ctype: # Code from module c-ctype-tests: # Code from module c-strcase: # Code from module c-strcase-tests: # Code from module c-strcaseeq: # Code from module c-strtod: # Code from module c-strtold: # Code from module calloc-gnu: # Code from module calloc-gnu-tests: # Code from module calloc-posix: # Code from module canon-host: # Code from module canonicalize: # Code from module canonicalize-tests: # Code from module careadlinkat: # Code from module chdir: # Code from module chdir-long: # Code from module chdir-tests: # Code from module chown: # Code from module chown-tests: # Code from module clock-time: # Code from module cloexec: # Code from module cloexec-tests: # Code from module close: # Code from module close-stream: # Code from module close-tests: # Code from module closedir: # Code from module closein: # Code from module closein-tests: # Code from module closeout: # Code from module config-h: # Code from module configmake: # Code from module connect: # Code from module connect-tests: # Code from module crypto/md5: # Code from module crypto/md5-tests: # Code from module crypto/sha1: # Code from module crypto/sha1-tests: # Code from module crypto/sha256: # Code from module crypto/sha512: # Code from module ctype: # Code from module ctype-tests: # Code from module cycle-check: # Code from module d-ino: # Code from module d-type: # Code from module dev-ino: # Code from module di-set: # Code from module di-set-tests: # Code from module diacrit: # Code from module dirent: # Code from module dirent-safer: # Code from module dirent-safer-tests: # Code from module dirent-tests: # Code from module dirfd: # Code from module dirname: # Code from module dirname-lgpl: # Code from module dirname-tests: # Code from module do-release-commit-and-tag: # Code from module dosname: # Code from module double-slash-root: # Code from module dtoastr: # Code from module dtotimespec: # Code from module dup: # Code from module dup-tests: # Code from module dup2: # Code from module dup2-tests: # Code from module environ: # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: # Code from module error: # Code from module euidaccess: # Code from module exclude: # Code from module exclude-tests: # Code from module exitfail: # Code from module extensions: # Code from module extern-inline: # Code from module faccessat: # Code from module faccessat-tests: # Code from module fadvise: # Code from module fadvise-tests: # Code from module fatal-signal: # Code from module fchdir: # Code from module fchdir-tests: # Code from module fchmodat: # Code from module fchmodat-tests: # Code from module fchownat: # Code from module fchownat-tests: # Code from module fclose: # Code from module fclose-tests: # Code from module fcntl: # Code from module fcntl-h: # Code from module fcntl-h-tests: # Code from module fcntl-safer: # Code from module fcntl-safer-tests: # Code from module fcntl-tests: # Code from module fd-hook: # Code from module fd-reopen: # Code from module fd-safer-flag: # Code from module fdatasync: # Code from module fdatasync-tests: # Code from module fdl: # Code from module fdopen: # Code from module fdopen-tests: # Code from module fdopendir: # Code from module fdopendir-tests: # Code from module fdutimensat: # Code from module fdutimensat-tests: # Code from module fflush: # Code from module fflush-tests: # Code from module fgetc-tests: # Code from module file-set: # Code from module file-type: # Code from module fileblocks: # Code from module filemode: # Code from module filename: # Code from module filenamecat: # Code from module filenamecat-lgpl: # Code from module filenamecat-tests: # Code from module filevercmp: # Code from module filevercmp-tests: # Code from module flexmember: # Code from module float: # Code from module float-tests: # Code from module fnmatch: # Code from module fnmatch-gnu: # Code from module fnmatch-tests: # Code from module fopen: # Code from module fopen-safer: # Code from module fopen-safer-tests: # Code from module fopen-tests: # Code from module fpending: # Code from module fpending-tests: # Code from module fpieee: # Code from module fprintftime: # Code from module fpucw: # Code from module fpurge: # Code from module fpurge-tests: # Code from module fputc-tests: # Code from module fread-tests: # Code from module freadahead: # Code from module freadahead-tests: # Code from module freading: # Code from module freading-tests: # Code from module freadptr: # Code from module freadptr-tests: # Code from module freadseek: # Code from module freadseek-tests: # Code from module freopen: # Code from module freopen-safer: # Code from module freopen-safer-tests: # Code from module freopen-tests: # Code from module frexp-nolibm: # Code from module frexp-nolibm-tests: # Code from module frexpl-nolibm: # Code from module frexpl-nolibm-tests: # Code from module fseek: # Code from module fseek-tests: # Code from module fseeko: # Code from module fseeko-tests: # Code from module fseterr: # Code from module fseterr-tests: # Code from module fstat: # Code from module fstat-tests: # Code from module fstatat: # Code from module fstatat-tests: # Code from module fsusage: # Code from module fsync: # Code from module fsync-tests: # Code from module ftell: # Code from module ftell-tests: # Code from module ftello: # Code from module ftello-tests: # Code from module ftoastr: # Code from module ftruncate: # Code from module ftruncate-tests: # Code from module fts: # Code from module full-read: # Code from module full-write: # Code from module futimens: # Code from module futimens-tests: # Code from module fwrite-tests: # Code from module gendocs: # Code from module getaddrinfo: # Code from module getaddrinfo-tests: # Code from module getcwd: # Code from module getcwd-lgpl: # Code from module getcwd-lgpl-tests: # Code from module getcwd-tests: # Code from module getdelim: # Code from module getdelim-tests: # Code from module getdtablesize: # Code from module getdtablesize-tests: # Code from module getgroups: # Code from module getgroups-tests: # Code from module gethostname: # Code from module gethostname-tests: # Code from module gethrxtime: # Code from module getline: # Code from module getline-tests: # Code from module getloadavg: # Code from module getloadavg-tests: # Code from module getlogin: # Code from module getlogin-tests: # Code from module getndelim2: # Code from module getndelim2-tests: # Code from module getopt-gnu: # Code from module getopt-posix: # Code from module getopt-posix-tests: # Code from module getpagesize: # Code from module getpass-gnu: # Code from module gettext: # Code from module gettext-h: # Code from module gettime: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module getugroups: # Code from module getusershell: # Code from module git-version-gen: # Code from module gitlog-to-changelog: # Code from module gnu-make: # Code from module gnu-web-doc-update: # Code from module gnumakefile: # Code from module gnupload: # Code from module gperf: # Code from module group-member: # Code from module hard-locale: # Code from module hash: # Code from module hash-pjw: # Code from module hash-tests: # Code from module hash-triple: # Code from module havelib: # Code from module heap: # Code from module host-os: # Code from module hostent: # Code from module human: # Code from module i-ring: # Code from module i-ring-tests: # Code from module iconv: # Code from module iconv-h: # Code from module iconv-h-tests: # Code from module iconv-tests: # Code from module iconv_open: # Code from module idcache: # Code from module ignore-value: # Code from module ignore-value-tests: # Code from module include_next: # Code from module inet_ntop: # Code from module inet_ntop-tests: # Code from module inet_pton: # Code from module inet_pton-tests: # Code from module inline: # Code from module ino-map: # Code from module ino-map-tests: # Code from module intprops: # Code from module intprops-tests: # Code from module inttostr: # Code from module inttostr-tests: # Code from module inttypes: # Code from module inttypes-incomplete: # Code from module inttypes-tests: # Code from module ioctl: # Code from module ioctl-tests: # Code from module isapipe: # Code from module isatty: # Code from module isatty-tests: # Code from module isblank: # Code from module isblank-tests: # Code from module isnand-nolibm: # Code from module isnand-nolibm-tests: # Code from module isnanf-nolibm: # Code from module isnanf-nolibm-tests: # Code from module isnanl-nolibm: # Code from module isnanl-nolibm-tests: # Code from module iswblank: # Code from module iswblank-tests: # Code from module langinfo: # Code from module langinfo-tests: # Code from module largefile: # Code from module lchmod: # Code from module lchown: # Code from module lchown-tests: # Code from module ldtoastr: # Code from module lib-ignore: # Code from module linebuffer: # Code from module link: # Code from module link-follow: # Code from module link-tests: # Code from module linkat: # Code from module linkat-tests: # Code from module listen: # Code from module listen-tests: # Code from module localcharset: # Code from module locale: # Code from module locale-tests: # Code from module localeconv: # Code from module localeconv-tests: # Code from module localename: # Code from module localename-tests: # Code from module lock: # Code from module lock-tests: # Code from module long-options: # Code from module lseek: # Code from module lseek-tests: # Code from module lstat: # Code from module lstat-tests: # Code from module maintainer-makefile: # Code from module malloc-gnu: # Code from module malloc-gnu-tests: # Code from module malloc-posix: # Code from module malloca: # Code from module malloca-tests: # Code from module manywarnings: # Code from module math: # Code from module math-tests: # Code from module mbchar: # Code from module mbiter: # Code from module mbrlen: # Code from module mbrtowc: # Code from module mbrtowc-tests: # Code from module mbsalign: # Code from module mbsalign-tests: # Code from module mbscasecmp: # Code from module mbscasecmp-tests: # Code from module mbsinit: # Code from module mbsinit-tests: # Code from module mbslen: # Code from module mbsrtowcs: # Code from module mbsrtowcs-tests: # Code from module mbsstr: # Code from module mbsstr-tests: # Code from module mbswidth: # Code from module mbtowc: # Code from module mbuiter: # Code from module memcasecmp: # Code from module memcasecmp-tests: # Code from module memchr: # Code from module memchr-tests: # Code from module memchr2: # Code from module memchr2-tests: # Code from module memcmp2: # Code from module memcoll: # Code from module memcoll-tests: # Code from module mempcpy: # Code from module memrchr: # Code from module memrchr-tests: # Code from module mgetgroups: # Code from module mkancesdirs: # Code from module mkdir: # Code from module mkdir-p: # Code from module mkdir-tests: # Code from module mkfifo: # Code from module mkfifo-tests: # Code from module mknod: # Code from module mknod-tests: # Code from module mkstemp: # Code from module mktime: # Code from module modechange: # Code from module mountlist: # Code from module mpsort: # Code from module msvc-inval: # Code from module msvc-nothrow: # Code from module multiarch: # Code from module nanosleep: # Code from module nanosleep-tests: # Code from module netdb: # Code from module netdb-tests: # Code from module netinet_in: # Code from module netinet_in-tests: # Code from module nl_langinfo: # Code from module nl_langinfo-tests: # Code from module nocrash: # Code from module non-recursive-gnulib-prefix-hack: # Code from module nproc: # Code from module obstack: # Code from module open: # Code from module open-tests: # Code from module openat: # Code from module openat-die: # Code from module openat-h: # Code from module openat-safer: # Code from module openat-safer-tests: # Code from module openat-tests: # Code from module opendir: # Code from module parse-datetime: # Code from module parse-datetime-tests: # Code from module pathmax: # Code from module pathmax-tests: # Code from module perl: # Code from module perror: # Code from module perror-tests: # Code from module physmem: # Code from module pipe: # Code from module pipe-posix: # Code from module pipe-posix-tests: # Code from module pipe2: # Code from module pipe2-safer: # Code from module pipe2-tests: # Code from module posix-shell: # Code from module posix_spawn-internal: # Code from module posix_spawn_file_actions_addclose: # Code from module posix_spawn_file_actions_addclose-tests: # Code from module posix_spawn_file_actions_adddup2: # Code from module posix_spawn_file_actions_adddup2-tests: # Code from module posix_spawn_file_actions_addopen: # Code from module posix_spawn_file_actions_addopen-tests: # Code from module posix_spawn_file_actions_destroy: # Code from module posix_spawn_file_actions_init: # Code from module posix_spawnattr_destroy: # Code from module posix_spawnattr_init: # Code from module posix_spawnattr_setflags: # Code from module posix_spawnattr_setsigmask: # Code from module posix_spawnp: # Code from module posix_spawnp-tests: # Code from module posixtm: # Code from module posixtm-tests: # Code from module posixver: # Code from module printf-frexp: # Code from module printf-frexp-tests: # Code from module printf-frexpl: # Code from module printf-frexpl-tests: # Code from module printf-safe: # Code from module priv-set: # Code from module priv-set-tests: # Code from module progname: # Code from module propername: # Code from module pthread: # Code from module putenv: # Code from module quote: # Code from module quotearg: # Code from module quotearg-simple: # Code from module quotearg-simple-tests: # Code from module raise: # Code from module raise-tests: # Code from module randint: # Code from module randperm: # Code from module randread: # Code from module randread-tests: # Code from module rawmemchr: # Code from module rawmemchr-tests: # Code from module read: # Code from module read-file: # Code from module read-file-tests: # Code from module read-tests: # Code from module readdir: # Code from module readlink: # Code from module readlink-tests: # Code from module readlinkat: # Code from module readlinkat-tests: # Code from module readtokens: # Code from module readtokens-tests: # Code from module readtokens0: # Code from module readutmp: # Code from module realloc-gnu: # Code from module realloc-gnu-tests: # Code from module realloc-posix: # Code from module regex: # Code from module regex-tests: # Code from module remove: # Code from module remove-tests: # Code from module rename: # Code from module rename-tests: # Code from module rewinddir: # Code from module rmdir: # Code from module rmdir-tests: # Code from module root-dev-ino: # Code from module root-uid: # Code from module rpmatch: # Code from module safe-read: # Code from module safe-write: # Code from module same: # Code from module same-inode: # Code from module save-cwd: # Code from module savedir: # Code from module savewd: # Code from module sched: # Code from module sched-tests: # Code from module select: # Code from module select-tests: # Code from module selinux-at: # Code from module selinux-h: # Code from module servent: # Code from module setenv: # Code from module setenv-tests: # Code from module setlocale: # Code from module setlocale-tests: # Code from module setsockopt: # Code from module setsockopt-tests: # Code from module settime: # Code from module sig2str: # Code from module sigaction: # Code from module sigaction-tests: # Code from module signal-h: # Code from module signal-h-tests: # Code from module signbit: # Code from module signbit-tests: # Code from module sigprocmask: # Code from module sigprocmask-tests: # Code from module size_max: # Code from module sleep: # Code from module sleep-tests: # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: # Code from module snippet/c++defs: # Code from module snippet/unused-parameter: # Code from module snippet/warn-on-use: # Code from module snprintf: # Code from module snprintf-tests: # Code from module socket: # Code from module socketlib: # Code from module sockets: # Code from module sockets-tests: # Code from module socklen: # Code from module spawn: # Code from module spawn-pipe: # Code from module spawn-pipe-tests: # Code from module spawn-tests: # Code from module ssize_t: # Code from module stat: # Code from module stat-macros: # Code from module stat-size: # Code from module stat-tests: # Code from module stat-time: # Code from module stat-time-tests: # Code from module statat: # Code from module statat-tests: # Code from module stdalign: # Code from module stdalign-tests: # Code from module stdarg: # Code from module stdbool: # Code from module stdbool-tests: # Code from module stddef: # Code from module stddef-tests: # Code from module stdint: # Code from module stdint-tests: # Code from module stdio: # Code from module stdio-tests: # Code from module stdlib: # Code from module stdlib-safer: # Code from module stdlib-tests: # Code from module stpcpy: # Code from module stpncpy: # Code from module strchrnul: # Code from module strchrnul-tests: # Code from module strdup-posix: # Code from module streq: # Code from module strerror: # Code from module strerror-override: # Code from module strerror-tests: # Code from module strerror_r-posix: # Code from module strerror_r-posix-tests: # Code from module strftime: # Code from module strftime-tests: # Code from module striconv: # Code from module striconv-tests: # Code from module string: # Code from module string-tests: # Code from module strncat: # Code from module strncat-tests: # Code from module strndup: # Code from module strnlen: # Code from module strnlen-tests: # Code from module strnlen1: # Code from module strnumcmp: # Code from module strpbrk: # Code from module strsignal: # Code from module strsignal-tests: # Code from module strstr-simple: # Code from module strtod: # Code from module strtod-tests: # Code from module strtoimax: # Code from module strtoimax-tests: # Code from module strtoll: # Code from module strtoll-tests: # Code from module strtoull: # Code from module strtoull-tests: # Code from module strtoumax: # Code from module strtoumax-tests: # Code from module symlink: # Code from module symlink-tests: # Code from module symlinkat: # Code from module symlinkat-tests: # Code from module sys_ioctl: # Code from module sys_ioctl-tests: # Code from module sys_resource: # Code from module sys_resource-tests: # Code from module sys_select: # Code from module sys_select-tests: # Code from module sys_socket: # Code from module sys_socket-tests: # Code from module sys_stat: # Code from module sys_stat-tests: # Code from module sys_time: # Code from module sys_time-tests: # Code from module sys_types: # Code from module sys_types-tests: # Code from module sys_uio: # Code from module sys_uio-tests: # Code from module sys_utsname: # Code from module sys_utsname-tests: # Code from module sys_wait: # Code from module sys_wait-tests: # Code from module tempname: # Code from module termios: # Code from module termios-tests: # Code from module test-framework-sh: # Code from module test-framework-sh-tests: # Code from module thread: # Code from module thread-tests: # Code from module threadlib: # Code from module time: # Code from module time-tests: # Code from module time_r: # Code from module timer-time: # Code from module timespec: # Code from module tls: # Code from module tls-tests: # Code from module trim: # Code from module tzset: # Code from module u64: # Code from module u64-tests: # Code from module uname: # Code from module uname-tests: # Code from module unicodeio: # Code from module unistd: # Code from module unistd-safer: # Code from module unistd-safer-tests: # Code from module unistd-tests: # Code from module unistr/base: # Code from module unistr/u8-mbtoucr: # Code from module unistr/u8-mbtoucr-tests: # Code from module unistr/u8-uctomb: # Code from module unistr/u8-uctomb-tests: # Code from module unitypes: # Code from module uniwidth/base: # Code from module uniwidth/width: # Code from module uniwidth/width-tests: # Code from module unlink: # Code from module unlink-busy: # Code from module unlink-tests: # Code from module unlinkat: # Code from module unlinkat-tests: # Code from module unlinkdir: # Code from module unlocked-io: # Code from module unsetenv: # Code from module unsetenv-tests: # Code from module update-copyright: # Code from module update-copyright-tests: # Code from module uptime: # Code from module useless-if-before-free: # Code from module userspec: # Code from module userspec-tests: # Code from module usleep: # Code from module usleep-tests: # Code from module utimecmp: # Code from module utimens: # Code from module utimens-tests: # Code from module utimensat: # Code from module utimensat-tests: # Code from module vasnprintf: # Code from module vasnprintf-tests: # Code from module vasprintf: # Code from module vasprintf-posix: # Code from module vasprintf-posix-tests: # Code from module vasprintf-tests: # Code from module vc-list-files: # Code from module vc-list-files-tests: # Code from module verify: # Code from module verify-tests: # Code from module verror: # Code from module version-etc: # Code from module version-etc-fsf: # Code from module version-etc-tests: # Code from module vfprintf-posix: # Code from module vfprintf-posix-tests: # Code from module vprintf-posix: # Code from module vprintf-posix-tests: # Code from module wait-process: # Code from module waitpid: # Code from module warnings: # Code from module wchar: # Code from module wchar-tests: # Code from module wcrtomb: # Code from module wcrtomb-tests: # Code from module wcswidth: # Code from module wctob: # Code from module wctomb: # Code from module wctype-h: # Code from module wctype-h-tests: # Code from module wcwidth: # Code from module wcwidth-tests: # Code from module winsz-ioctl: # Code from module winsz-termios: # Code from module write: # Code from module write-any-file: # Code from module write-tests: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-die-tests: # Code from module xalloc-oversized: # Code from module xfreopen: # Code from module xfts: # Code from module xgetcwd: # Code from module xgetgroups: # Code from module xgethostname: # Code from module xmemcoll: # Code from module xnanosleep: # Code from module xprintf: # Code from module xprintf-posix: # Code from module xprintf-posix-tests: # Code from module xreadlink: # Code from module xsize: # Code from module xstriconv: # Code from module xstrndup: # Code from module xstrtod: # Code from module xstrtoimax: # Code from module xstrtoimax-tests: # Code from module xstrtol: # Code from module xstrtol-tests: # Code from module xstrtold: # Code from module xstrtoumax: # Code from module xstrtoumax-tests: # Code from module xvasprintf: # Code from module xvasprintf-tests: # Code from module yesno: # Code from module yesno-tests: # Code from module yield: LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <alloca.h> int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include <malloc.h> # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include <alloca.h> # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (size_t); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 'alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether 'alloca.c' needs Cray hooks... " >&6; } if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi GNULIB_INET_NTOP=0; GNULIB_INET_PTON=0; HAVE_DECL_INET_NTOP=1; HAVE_DECL_INET_PTON=1; REPLACE_INET_NTOP=0; REPLACE_INET_PTON=0; for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 $as_echo_n "checking whether the preprocessor supports include_next... " >&6; } if ${gl_cv_have_include_next+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftestd1a conftestd1b conftestd2 mkdir conftestd1a conftestd1b conftestd2 cat <<EOF > conftestd1a/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next <conftest.h> #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat <<EOF > conftestd1b/conftest.h #define DEFINED_IN_CONFTESTD1 #include <stdio.h> #include_next <conftest.h> #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat <<EOF > conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <conftest.h> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=yes else CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <conftest.h> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_have_include_next=buggy else gl_cv_have_include_next=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" rm -rf conftestd1a conftestd1b conftestd2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 $as_echo "$gl_cv_have_include_next" >&6; } PRAGMA_SYSTEM_HEADER= if test $gl_cv_have_include_next = yes; then INCLUDE_NEXT=include_next INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next if test -n "$GCC"; then PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' fi else if test $gl_cv_have_include_next = buggy; then INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next else INCLUDE_NEXT=include INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 $as_echo_n "checking whether system header files limit the line length... " >&6; } if ${gl_cv_pragma_columns+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __TANDEM choke me #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "choke me" >/dev/null 2>&1; then : gl_cv_pragma_columns=yes else gl_cv_pragma_columns=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 $as_echo "$gl_cv_pragma_columns" >&6; } if test $gl_cv_pragma_columns = yes; then PRAGMA_COLUMNS="#pragma COLUMNS 10000" else PRAGMA_COLUMNS= fi if test $ac_cv_header_features_h = yes; then HAVE_FEATURES_H=1 else HAVE_FEATURES_H=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_ino member in directory struct" >&5 $as_echo_n "checking for d_ino member in directory struct... " >&6; } if ${gl_cv_struct_dirent_d_ino+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems with Linux kernel. linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_struct_dirent_d_ino="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> int main () { DIR *dp = opendir ("."); struct dirent *e; struct stat st; if (! dp) return 1; e = readdir (dp); if (! e) return 2; if (stat (e->d_name, &st) != 0) return 3; if (e->d_ino != st.st_ino) return 4; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_struct_dirent_d_ino=yes else gl_cv_struct_dirent_d_ino=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_ino" >&5 $as_echo "$gl_cv_struct_dirent_d_ino" >&6; } case "$gl_cv_struct_dirent_d_ino" in *yes) $as_echo "#define D_INO_IN_DIRENT 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5 $as_echo_n "checking for long file names... " >&6; } if ${ac_cv_sys_long_file_names+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: # . the current directory, where building will happen # $prefix/lib where we will be installing things # $exec_prefix/lib likewise # $TMPDIR if set, where it might want to write temporary files # /tmp where it might want to write temporary files # /var/tmp likewise # /usr/tmp likewise for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib # in the usual case where exec_prefix is '${prefix}'. case $ac_dir in #( . | /* | ?:[\\/]*) ;; #( *) continue;; esac test -w "$ac_dir/." || continue # It is less confusing to not echo anything here. ac_xdir=$ac_dir/cf$$ (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue ac_tf1=$ac_xdir/conftest9012345 ac_tf2=$ac_xdir/conftest9012346 touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" || ac_cv_sys_long_file_names=no rm -f -r "$ac_xdir" 2>/dev/null test $ac_cv_sys_long_file_names = no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5 $as_echo "$ac_cv_sys_long_file_names" >&6; } if test $ac_cv_sys_long_file_names = yes; then $as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h fi for ac_func in $ac_func_list do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 $as_echo_n "checking for C/C++ restrict keyword... " >&6; } if ${ac_cv_c_restrict+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_restrict=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 $as_echo "$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) $as_echo "#define restrict /**/" >>confdefs.h ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac GNULIB_BTOWC=0; GNULIB_WCTOB=0; GNULIB_MBSINIT=0; GNULIB_MBRTOWC=0; GNULIB_MBRLEN=0; GNULIB_MBSRTOWCS=0; GNULIB_MBSNRTOWCS=0; GNULIB_WCRTOMB=0; GNULIB_WCSRTOMBS=0; GNULIB_WCSNRTOMBS=0; GNULIB_WCWIDTH=0; GNULIB_WMEMCHR=0; GNULIB_WMEMCMP=0; GNULIB_WMEMCPY=0; GNULIB_WMEMMOVE=0; GNULIB_WMEMSET=0; GNULIB_WCSLEN=0; GNULIB_WCSNLEN=0; GNULIB_WCSCPY=0; GNULIB_WCPCPY=0; GNULIB_WCSNCPY=0; GNULIB_WCPNCPY=0; GNULIB_WCSCAT=0; GNULIB_WCSNCAT=0; GNULIB_WCSCMP=0; GNULIB_WCSNCMP=0; GNULIB_WCSCASECMP=0; GNULIB_WCSNCASECMP=0; GNULIB_WCSCOLL=0; GNULIB_WCSXFRM=0; GNULIB_WCSDUP=0; GNULIB_WCSCHR=0; GNULIB_WCSRCHR=0; GNULIB_WCSCSPN=0; GNULIB_WCSSPN=0; GNULIB_WCSPBRK=0; GNULIB_WCSSTR=0; GNULIB_WCSTOK=0; GNULIB_WCSWIDTH=0; HAVE_BTOWC=1; HAVE_MBSINIT=1; HAVE_MBRTOWC=1; HAVE_MBRLEN=1; HAVE_MBSRTOWCS=1; HAVE_MBSNRTOWCS=1; HAVE_WCRTOMB=1; HAVE_WCSRTOMBS=1; HAVE_WCSNRTOMBS=1; HAVE_WMEMCHR=1; HAVE_WMEMCMP=1; HAVE_WMEMCPY=1; HAVE_WMEMMOVE=1; HAVE_WMEMSET=1; HAVE_WCSLEN=1; HAVE_WCSNLEN=1; HAVE_WCSCPY=1; HAVE_WCPCPY=1; HAVE_WCSNCPY=1; HAVE_WCPNCPY=1; HAVE_WCSCAT=1; HAVE_WCSNCAT=1; HAVE_WCSCMP=1; HAVE_WCSNCMP=1; HAVE_WCSCASECMP=1; HAVE_WCSNCASECMP=1; HAVE_WCSCOLL=1; HAVE_WCSXFRM=1; HAVE_WCSDUP=1; HAVE_WCSCHR=1; HAVE_WCSRCHR=1; HAVE_WCSCSPN=1; HAVE_WCSSPN=1; HAVE_WCSPBRK=1; HAVE_WCSSTR=1; HAVE_WCSTOK=1; HAVE_WCSWIDTH=1; HAVE_DECL_WCTOB=1; HAVE_DECL_WCWIDTH=1; REPLACE_MBSTATE_T=0; REPLACE_BTOWC=0; REPLACE_WCTOB=0; REPLACE_MBSINIT=0; REPLACE_MBRTOWC=0; REPLACE_MBRLEN=0; REPLACE_MBSRTOWCS=0; REPLACE_MBSNRTOWCS=0; REPLACE_WCRTOMB=0; REPLACE_WCSRTOMBS=0; REPLACE_WCSNRTOMBS=0; REPLACE_WCWIDTH=0; REPLACE_WCSWIDTH=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5 $as_echo_n "checking whether <wchar.h> uses 'inline' correctly... " >&6; } if ${gl_cv_header_wchar_h_correct_inline+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_header_wchar_h_correct_inline=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> extern int zero (void); int main () { return zero(); } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then mv conftest.$ac_objext conftest1.$ac_objext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define wcstod renamed_wcstod /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int zero (void) { return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then mv conftest.$ac_objext conftest2.$ac_objext if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then : else gl_cv_header_wchar_h_correct_inline=no fi fi fi rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 $as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; } if test $gl_cv_header_wchar_h_correct_inline = no; then as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } if ${am_cv_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int main () { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_langinfo_codeset=yes else am_cv_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 $as_echo "$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtold conforms to C99" >&5 $as_echo_n "checking whether strtold conforms to C99... " >&6; } if ${gl_cv_func_c99_strtold+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* On HP-UX before 11.23, strtold returns a struct instead of long double. Reject implementations like that, by requiring compatibility with the C99 prototype. */ #include <stdlib.h> static long double (*p) (char const *, char **) = strtold; static long double test (char const *nptr, char **endptr) { long double r; r = strtold (nptr, endptr); return r; } int main () { return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_c99_strtold=yes else gl_cv_func_c99_strtold=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_c99_strtold" >&5 $as_echo "$gl_cv_func_c99_strtold" >&6; } if test $gl_cv_func_c99_strtold = yes; then $as_echo "#define HAVE_C99_STRTOLD 1" >>confdefs.h fi GNULIB__EXIT=0; GNULIB_ATOLL=0; GNULIB_CALLOC_POSIX=0; GNULIB_CANONICALIZE_FILE_NAME=0; GNULIB_GETLOADAVG=0; GNULIB_GETSUBOPT=0; GNULIB_GRANTPT=0; GNULIB_MALLOC_POSIX=0; GNULIB_MBTOWC=0; GNULIB_MKDTEMP=0; GNULIB_MKOSTEMP=0; GNULIB_MKOSTEMPS=0; GNULIB_MKSTEMP=0; GNULIB_MKSTEMPS=0; GNULIB_POSIX_OPENPT=0; GNULIB_PTSNAME=0; GNULIB_PTSNAME_R=0; GNULIB_PUTENV=0; GNULIB_RANDOM=0; GNULIB_RANDOM_R=0; GNULIB_REALLOC_POSIX=0; GNULIB_REALPATH=0; GNULIB_RPMATCH=0; GNULIB_SETENV=0; GNULIB_STRTOD=0; GNULIB_STRTOLL=0; GNULIB_STRTOULL=0; GNULIB_SYSTEM_POSIX=0; GNULIB_UNLOCKPT=0; GNULIB_UNSETENV=0; GNULIB_WCTOMB=0; HAVE__EXIT=1; HAVE_ATOLL=1; HAVE_CANONICALIZE_FILE_NAME=1; HAVE_DECL_GETLOADAVG=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; HAVE_MKDTEMP=1; HAVE_MKOSTEMP=1; HAVE_MKOSTEMPS=1; HAVE_MKSTEMP=1; HAVE_MKSTEMPS=1; HAVE_POSIX_OPENPT=1; HAVE_PTSNAME=1; HAVE_PTSNAME_R=1; HAVE_RANDOM=1; HAVE_RANDOM_H=1; HAVE_RANDOM_R=1; HAVE_REALPATH=1; HAVE_RPMATCH=1; HAVE_SETENV=1; HAVE_DECL_SETENV=1; HAVE_STRTOD=1; HAVE_STRTOLL=1; HAVE_STRTOULL=1; HAVE_STRUCT_RANDOM_DATA=1; HAVE_SYS_LOADAVG_H=0; HAVE_UNLOCKPT=1; HAVE_DECL_UNSETENV=1; REPLACE_CALLOC=0; REPLACE_CANONICALIZE_FILE_NAME=0; REPLACE_MALLOC=0; REPLACE_MBTOWC=0; REPLACE_MKSTEMP=0; REPLACE_PTSNAME=0; REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; REPLACE_RANDOM_R=0; REPLACE_REALLOC=0; REPLACE_REALPATH=0; REPLACE_SETENV=0; REPLACE_STRTOD=0; REPLACE_UNSETENV=0; REPLACE_WCTOMB=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 $as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } if ${gl_cv_func_malloc_posix+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_malloc_posix=yes else gl_cv_func_malloc_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 $as_echo "$gl_cv_func_malloc_posix" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 $as_echo_n "checking whether // is distinct from /... " >&6; } if ${gl_cv_double_slash_root+:} false; then : $as_echo_n "(cached) " >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # <bug-gnulib@gnu.org>. case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 $as_echo "$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether realpath works" >&5 $as_echo_n "checking whether realpath works... " >&6; } if ${gl_cv_func_realpath_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.a mkdir conftest.d if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_realpath_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on Mac OS X. */ #include <mach/mach.h> #include <mach/mach_error.h> #include <mach/thread_status.h> #include <mach/exception.h> #include <mach/task.h> #include <pthread.h> /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <winerror.h> static LONG WINAPI exception_filter (EXCEPTION_POINTERS *ExceptionInfo) { switch (ExceptionInfo->ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_GUARD_PAGE: case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_NONCONTINUABLE_EXCEPTION: exit (1); } return EXCEPTION_CONTINUE_SEARCH; } static void nocrash_init (void) { SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); } #else /* Avoid a crash on POSIX systems. */ #include <signal.h> /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif #include <stdlib.h> #include <string.h> int main () { int result = 0; { char *name = realpath ("conftest.a", NULL); if (!(name && *name == '/')) result |= 1; } { char *name = realpath ("conftest.b/../conftest.a", NULL); if (name != NULL) result |= 2; } { char *name = realpath ("conftest.a/", NULL); if (name != NULL) result |= 4; } { char *name1 = realpath (".", NULL); char *name2 = realpath ("conftest.d//./..", NULL); if (strcmp (name1, name2) != 0) result |= 8; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_realpath_works=yes else gl_cv_func_realpath_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.a conftest.d fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_realpath_works" >&5 $as_echo "$gl_cv_func_realpath_works" >&6; } case "$gl_cv_func_realpath_works" in *yes) $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h ;; esac GNULIB_CHDIR=0; GNULIB_CHOWN=0; GNULIB_CLOSE=0; GNULIB_DUP=0; GNULIB_DUP2=0; GNULIB_DUP3=0; GNULIB_ENVIRON=0; GNULIB_EUIDACCESS=0; GNULIB_FACCESSAT=0; GNULIB_FCHDIR=0; GNULIB_FCHOWNAT=0; GNULIB_FDATASYNC=0; GNULIB_FSYNC=0; GNULIB_FTRUNCATE=0; GNULIB_GETCWD=0; GNULIB_GETDOMAINNAME=0; GNULIB_GETDTABLESIZE=0; GNULIB_GETGROUPS=0; GNULIB_GETHOSTNAME=0; GNULIB_GETLOGIN=0; GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; GNULIB_GETUSERSHELL=0; GNULIB_GROUP_MEMBER=0; GNULIB_ISATTY=0; GNULIB_LCHOWN=0; GNULIB_LINK=0; GNULIB_LINKAT=0; GNULIB_LSEEK=0; GNULIB_PIPE=0; GNULIB_PIPE2=0; GNULIB_PREAD=0; GNULIB_PWRITE=0; GNULIB_READ=0; GNULIB_READLINK=0; GNULIB_READLINKAT=0; GNULIB_RMDIR=0; GNULIB_SETHOSTNAME=0; GNULIB_SLEEP=0; GNULIB_SYMLINK=0; GNULIB_SYMLINKAT=0; GNULIB_TTYNAME_R=0; GNULIB_UNISTD_H_NONBLOCKING=0; GNULIB_UNISTD_H_SIGPIPE=0; GNULIB_UNLINK=0; GNULIB_UNLINKAT=0; GNULIB_USLEEP=0; GNULIB_WRITE=0; HAVE_CHOWN=1; HAVE_DUP2=1; HAVE_DUP3=1; HAVE_EUIDACCESS=1; HAVE_FACCESSAT=1; HAVE_FCHDIR=1; HAVE_FCHOWNAT=1; HAVE_FDATASYNC=1; HAVE_FSYNC=1; HAVE_FTRUNCATE=1; HAVE_GETDTABLESIZE=1; HAVE_GETGROUPS=1; HAVE_GETHOSTNAME=1; HAVE_GETLOGIN=1; HAVE_GETPAGESIZE=1; HAVE_GROUP_MEMBER=1; HAVE_LCHOWN=1; HAVE_LINK=1; HAVE_LINKAT=1; HAVE_PIPE=1; HAVE_PIPE2=1; HAVE_PREAD=1; HAVE_PWRITE=1; HAVE_READLINK=1; HAVE_READLINKAT=1; HAVE_SETHOSTNAME=1; HAVE_SLEEP=1; HAVE_SYMLINK=1; HAVE_SYMLINKAT=1; HAVE_UNLINKAT=1; HAVE_USLEEP=1; HAVE_DECL_ENVIRON=1; HAVE_DECL_FCHDIR=1; HAVE_DECL_FDATASYNC=1; HAVE_DECL_GETDOMAINNAME=1; HAVE_DECL_GETLOGIN_R=1; HAVE_DECL_GETPAGESIZE=1; HAVE_DECL_GETUSERSHELL=1; HAVE_DECL_SETHOSTNAME=1; HAVE_DECL_TTYNAME_R=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; REPLACE_CHOWN=0; REPLACE_CLOSE=0; REPLACE_DUP=0; REPLACE_DUP2=0; REPLACE_FCHOWNAT=0; REPLACE_FTRUNCATE=0; REPLACE_GETCWD=0; REPLACE_GETDOMAINNAME=0; REPLACE_GETLOGIN_R=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; REPLACE_ISATTY=0; REPLACE_LCHOWN=0; REPLACE_LINK=0; REPLACE_LINKAT=0; REPLACE_LSEEK=0; REPLACE_PREAD=0; REPLACE_PWRITE=0; REPLACE_READ=0; REPLACE_READLINK=0; REPLACE_RMDIR=0; REPLACE_SLEEP=0; REPLACE_SYMLINK=0; REPLACE_TTYNAME_R=0; REPLACE_UNLINK=0; REPLACE_UNLINKAT=0; REPLACE_USLEEP=0; REPLACE_WRITE=0; UNISTD_H_HAVE_WINSOCK2_H=0; UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then : ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 $as_echo "$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then $as_echo "#define uid_t int" >>confdefs.h $as_echo "#define gid_t int" >>confdefs.h fi for ac_header in unistd.h do : ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_unistd_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNISTD_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 $as_echo_n "checking for working chown... " >&6; } if ${ac_cv_func_chown_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # (( # Guess yes on glibc systems. *-gnu*) ac_cv_func_chown_works=yes ;; # If we don't know, assume the worst. *) ac_cv_func_chown_works=no ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include <fcntl.h> int main () { char *f = "conftest.chown"; struct stat before, after; if (creat (f, 0600) < 0) return 1; if (stat (f, &before) < 0) return 1; if (chown (f, (uid_t) -1, (gid_t) -1) == -1) return 1; if (stat (f, &after) < 0) return 1; return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_chown_works=yes else ac_cv_func_chown_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.chown fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 $as_echo "$ac_cv_func_chown_works" >&6; } if test $ac_cv_func_chown_works = yes; then $as_echo "#define HAVE_CHOWN 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown dereferences symlinks" >&5 $as_echo_n "checking whether chown dereferences symlinks... " >&6; } if ${gl_cv_func_chown_follows_symlink+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_chown_follows_symlink=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <errno.h> int main () { int result = 0; char const *dangling_symlink = "conftest.dangle"; unlink (dangling_symlink); if (symlink ("conftest.no-such", dangling_symlink)) abort (); /* Exit successfully on a conforming system, i.e., where chown must fail with ENOENT. */ if (chown (dangling_symlink, getuid (), getgid ()) == 0) result |= 1; if (errno != ENOENT) result |= 2; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_follows_symlink=yes else gl_cv_func_chown_follows_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_follows_symlink" >&5 $as_echo "$gl_cv_func_chown_follows_symlink" >&6; } if test $gl_cv_func_chown_follows_symlink = no; then $as_echo "#define CHOWN_MODIFIES_SYMLINK 1" >>confdefs.h fi if test $ac_cv_func_chown = no; then HAVE_CHOWN=0 else if test $gl_cv_func_chown_follows_symlink = no; then REPLACE_CHOWN=1 fi if test $ac_cv_func_chown_works = no; then $as_echo "#define CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE 1" >>confdefs.h REPLACE_CHOWN=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown honors trailing slash" >&5 $as_echo_n "checking whether chown honors trailing slash... " >&6; } if ${gl_cv_func_chown_slash_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file && rm -f conftest.link if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_chown_slash_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <errno.h> int main () { if (symlink ("conftest.file", "conftest.link")) return 1; if (chown ("conftest.link/", getuid (), getgid ()) == 0) return 2; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_slash_works=yes else gl_cv_func_chown_slash_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.link conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_slash_works" >&5 $as_echo "$gl_cv_func_chown_slash_works" >&6; } case "$gl_cv_func_chown_slash_works" in *yes) ;; *) $as_echo "#define CHOWN_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_CHOWN=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether chown always updates ctime" >&5 $as_echo_n "checking whether chown always updates ctime... " >&6; } if ${gl_cv_func_chown_ctime_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_chown_ctime_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <fcntl.h> #include <sys/stat.h> int main () { struct stat st1, st2; if (close (creat ("conftest.file", 0600))) return 1; if (stat ("conftest.file", &st1)) return 2; sleep (1); if (chown ("conftest.file", st1.st_uid, st1.st_gid)) return 3; if (stat ("conftest.file", &st2)) return 4; if (st2.st_ctime <= st1.st_ctime) return 5; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_chown_ctime_works=yes else gl_cv_func_chown_ctime_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_ctime_works" >&5 $as_echo "$gl_cv_func_chown_ctime_works" >&6; } case "$gl_cv_func_chown_ctime_works" in *yes) ;; *) $as_echo "#define CHOWN_CHANGE_TIME_BUG 1" >>confdefs.h REPLACE_CHOWN=1 ;; esac fi if test $ac_cv_func__set_invalid_parameter_handler = yes; then HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h else HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi GNULIB_IOCTL=0; SYS_IOCTL_H_HAVE_WINSOCK2_H=0; SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; REPLACE_IOCTL=0; GNULIB_OPENDIR=0; GNULIB_READDIR=0; GNULIB_REWINDDIR=0; GNULIB_CLOSEDIR=0; GNULIB_DIRFD=0; GNULIB_FDOPENDIR=0; GNULIB_SCANDIR=0; GNULIB_ALPHASORT=0; HAVE_OPENDIR=1; HAVE_READDIR=1; HAVE_REWINDDIR=1; HAVE_CLOSEDIR=1; HAVE_DECL_DIRFD=1; HAVE_DECL_FDOPENDIR=1; HAVE_FDOPENDIR=1; HAVE_SCANDIR=1; HAVE_ALPHASORT=1; REPLACE_OPENDIR=0; REPLACE_CLOSEDIR=0; REPLACE_DIRFD=0; REPLACE_FDOPENDIR=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac GNULIB_ISBLANK=0; HAVE_ISBLANK=1; { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 $as_echo_n "checking if environ is properly declared... " >&6; } if ${gt_cv_var_environ_declaration+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_UNISTD_H #include <unistd.h> #endif /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */ #include <stdlib.h> extern struct { int foo; } environ; int main () { environ.foo = 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_var_environ_declaration=no else gt_cv_var_environ_declaration=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 $as_echo "$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then $as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h fi if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 $as_echo_n "checking for complete errno.h... " >&6; } if ${gl_cv_header_errno_h_complete+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #if !defined ETXTBSY booboo #endif #if !defined ENOMSG booboo #endif #if !defined EIDRM booboo #endif #if !defined ENOLINK booboo #endif #if !defined EPROTO booboo #endif #if !defined EMULTIHOP booboo #endif #if !defined EBADMSG booboo #endif #if !defined EOVERFLOW booboo #endif #if !defined ENOTSUP booboo #endif #if !defined ENETRESET booboo #endif #if !defined ECONNABORTED booboo #endif #if !defined ESTALE booboo #endif #if !defined EDQUOT booboo #endif #if !defined ECANCELED booboo #endif #if !defined EOWNERDEAD booboo #endif #if !defined ENOTRECOVERABLE booboo #endif #if !defined EILSEQ booboo #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "booboo" >/dev/null 2>&1; then : gl_cv_header_errno_h_complete=no else gl_cv_header_errno_h_complete=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 $as_echo "$gl_cv_header_errno_h_complete" >&6; } if test $gl_cv_header_errno_h_complete = yes; then ERRNO_H='' else if test $gl_cv_have_include_next = yes; then gl_cv_next_errno_h='<'errno.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5 $as_echo_n "checking absolute name of <errno.h>... " >&6; } if ${gl_cv_next_errno_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'errno.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 $as_echo "$gl_cv_next_errno_h" >&6; } fi NEXT_ERRNO_H=$gl_cv_next_errno_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'errno.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_errno_h fi NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive ERRNO_H='errno.h' fi if test -n "$ERRNO_H"; then GL_GENERATE_ERRNO_H_TRUE= GL_GENERATE_ERRNO_H_FALSE='#' else GL_GENERATE_ERRNO_H_TRUE='#' GL_GENERATE_ERRNO_H_FALSE= fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 $as_echo_n "checking for EMULTIHOP value... " >&6; } if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=yes else gl_cv_header_errno_h_EMULTIHOP=no fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> #ifdef EMULTIHOP yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EMULTIHOP=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include <stdio.h> #include <stdlib.h> "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 $as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } case $gl_cv_header_errno_h_EMULTIHOP in yes | no) EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= ;; *) EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" ;; esac fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 $as_echo_n "checking for ENOLINK value... " >&6; } if ${gl_cv_header_errno_h_ENOLINK+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_ENOLINK=yes else gl_cv_header_errno_h_ENOLINK=no fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> #ifdef ENOLINK yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_ENOLINK=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_ENOLINK = hidden; then if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include <stdio.h> #include <stdlib.h> "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 $as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } case $gl_cv_header_errno_h_ENOLINK in yes | no) ENOLINK_HIDDEN=0; ENOLINK_VALUE= ;; *) ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" ;; esac fi if test -n "$ERRNO_H"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 $as_echo_n "checking for EOVERFLOW value... " >&6; } if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EOVERFLOW=yes else gl_cv_header_errno_h_EOVERFLOW=no fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_header_errno_h_EOVERFLOW=hidden fi rm -f conftest* if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " #define _XOPEN_SOURCE_EXTENDED 1 #include <errno.h> /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include <stdio.h> #include <stdlib.h> "; then : fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 $as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } case $gl_cv_header_errno_h_EOVERFLOW in yes | no) EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= ;; *) EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" ;; esac fi ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" if test "x$ac_cv_have_decl_strerror_r" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R $ac_have_decl _ACEOF for ac_func in strerror_r do : ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" if test "x$ac_cv_func_strerror_r" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRERROR_R 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 $as_echo_n "checking whether strerror_r returns char *... " >&6; } if ${ac_cv_func_strerror_r_char_p+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); return !p || x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else # strerror_r is not declared. Choose between # systems that have relatively inaccessible declarations for the # function. BeOS and DEC UNIX 4.0 fall in this category, but the # former has a strerror_r that returns char*, while the latter # has a strerror_r that returns `int'. # This test should segfault on the DEC system. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default extern char *strerror_r (); int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); return ! isalpha (x); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 $as_echo "$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then $as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h fi XGETTEXT_EXTRA_OPTIONS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 $as_echo_n "checking type of array argument to getgroups... " >&6; } if ${ac_cv_type_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_type_getgroups=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Mike Rendell for this test. */ $ac_includes_default #define NGID 256 #undef MAX #define MAX(x, y) ((x) > (y) ? (x) : (y)) int main () { gid_t gidset[NGID]; int i, n; union { gid_t gval; long int lval; } val; val.lval = -1; for (i = 0; i < NGID; i++) gidset[i] = val.gval; n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, gidset); /* Exit non-zero if getgroups seems to require an array of ints. This happens when gid_t is short int but getgroups modifies an array of ints. */ return n > 0 && gidset[n] != val.gval; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_type_getgroups = cross; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then : ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5 $as_echo "$ac_cv_type_getgroups" >&6; } cat >>confdefs.h <<_ACEOF #define GETGROUPS_T $ac_cv_type_getgroups _ACEOF ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h> " if test "x$ac_cv_type_sig_atomic_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIG_ATOMIC_T 1 _ACEOF else $as_echo "#define sig_atomic_t int" >>confdefs.h fi ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default" if test "x$ac_cv_have_decl_fchdir" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FCHDIR $ac_have_decl _ACEOF GNULIB_FCHMODAT=0; GNULIB_FSTAT=0; GNULIB_FSTATAT=0; GNULIB_FUTIMENS=0; GNULIB_LCHMOD=0; GNULIB_LSTAT=0; GNULIB_MKDIRAT=0; GNULIB_MKFIFO=0; GNULIB_MKFIFOAT=0; GNULIB_MKNOD=0; GNULIB_MKNODAT=0; GNULIB_STAT=0; GNULIB_UTIMENSAT=0; HAVE_FCHMODAT=1; HAVE_FSTATAT=1; HAVE_FUTIMENS=1; HAVE_LCHMOD=1; HAVE_LSTAT=1; HAVE_MKDIRAT=1; HAVE_MKFIFO=1; HAVE_MKFIFOAT=1; HAVE_MKNOD=1; HAVE_MKNODAT=1; HAVE_UTIMENSAT=1; REPLACE_FSTAT=0; REPLACE_FSTATAT=0; REPLACE_FUTIMENS=0; REPLACE_LSTAT=0; REPLACE_MKDIR=0; REPLACE_MKFIFO=0; REPLACE_MKNOD=0; REPLACE_STAT=0; REPLACE_UTIMENSAT=0; GNULIB_DPRINTF=0; GNULIB_FCLOSE=0; GNULIB_FDOPEN=0; GNULIB_FFLUSH=0; GNULIB_FGETC=0; GNULIB_FGETS=0; GNULIB_FOPEN=0; GNULIB_FPRINTF=0; GNULIB_FPRINTF_POSIX=0; GNULIB_FPURGE=0; GNULIB_FPUTC=0; GNULIB_FPUTS=0; GNULIB_FREAD=0; GNULIB_FREOPEN=0; GNULIB_FSCANF=0; GNULIB_FSEEK=0; GNULIB_FSEEKO=0; GNULIB_FTELL=0; GNULIB_FTELLO=0; GNULIB_FWRITE=0; GNULIB_GETC=0; GNULIB_GETCHAR=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_PCLOSE=0; GNULIB_PERROR=0; GNULIB_POPEN=0; GNULIB_PRINTF=0; GNULIB_PRINTF_POSIX=0; GNULIB_PUTC=0; GNULIB_PUTCHAR=0; GNULIB_PUTS=0; GNULIB_REMOVE=0; GNULIB_RENAME=0; GNULIB_RENAMEAT=0; GNULIB_SCANF=0; GNULIB_SNPRINTF=0; GNULIB_SPRINTF_POSIX=0; GNULIB_STDIO_H_NONBLOCKING=0; GNULIB_STDIO_H_SIGPIPE=0; GNULIB_TMPFILE=0; GNULIB_VASPRINTF=0; GNULIB_VFSCANF=0; GNULIB_VSCANF=0; GNULIB_VDPRINTF=0; GNULIB_VFPRINTF=0; GNULIB_VFPRINTF_POSIX=0; GNULIB_VPRINTF=0; GNULIB_VPRINTF_POSIX=0; GNULIB_VSNPRINTF=0; GNULIB_VSPRINTF_POSIX=0; HAVE_DECL_FPURGE=1; HAVE_DECL_FSEEKO=1; HAVE_DECL_FTELLO=1; HAVE_DECL_GETDELIM=1; HAVE_DECL_GETLINE=1; HAVE_DECL_OBSTACK_PRINTF=1; HAVE_DECL_SNPRINTF=1; HAVE_DECL_VSNPRINTF=1; HAVE_DPRINTF=1; HAVE_FSEEKO=1; HAVE_FTELLO=1; HAVE_PCLOSE=1; HAVE_POPEN=1; HAVE_RENAMEAT=1; HAVE_VASPRINTF=1; HAVE_VDPRINTF=1; REPLACE_DPRINTF=0; REPLACE_FCLOSE=0; REPLACE_FDOPEN=0; REPLACE_FFLUSH=0; REPLACE_FOPEN=0; REPLACE_FPRINTF=0; REPLACE_FPURGE=0; REPLACE_FREOPEN=0; REPLACE_FSEEK=0; REPLACE_FSEEKO=0; REPLACE_FTELL=0; REPLACE_FTELLO=0; REPLACE_GETDELIM=0; REPLACE_GETLINE=0; REPLACE_OBSTACK_PRINTF=0; REPLACE_PERROR=0; REPLACE_POPEN=0; REPLACE_PRINTF=0; REPLACE_REMOVE=0; REPLACE_RENAME=0; REPLACE_RENAMEAT=0; REPLACE_SNPRINTF=0; REPLACE_SPRINTF=0; REPLACE_STDIO_READ_FUNCS=0; REPLACE_STDIO_WRITE_FUNCS=0; REPLACE_TMPFILE=0; REPLACE_VASPRINTF=0; REPLACE_VDPRINTF=0; REPLACE_VFPRINTF=0; REPLACE_VPRINTF=0; REPLACE_VSNPRINTF=0; REPLACE_VSPRINTF=0; GNULIB_FCNTL=0; GNULIB_NONBLOCKING=0; GNULIB_OPEN=0; GNULIB_OPENAT=0; HAVE_FCNTL=1; HAVE_OPENAT=1; REPLACE_FCNTL=0; REPLACE_OPEN=0; REPLACE_OPENAT=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5 $as_echo_n "checking for working fcntl.h... " >&6; } if ${gl_cv_header_working_fcntl_h+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_header_working_fcntl_h=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> # include <stdlib.h> # defined sleep(n) _sleep ((n) * 1000) #endif #include <fcntl.h> #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; int main () { int result = !constants; #if HAVE_SYMLINK { static char const sym[] = "conftest.sym"; if (symlink ("/dev/null", sym) != 0) result |= 2; else { int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0); if (fd >= 0) { close (fd); result |= 4; } } if (unlink (sym) != 0 || symlink (".", sym) != 0) result |= 2; else { int fd = open (sym, O_RDONLY | O_NOFOLLOW); if (fd >= 0) { close (fd); result |= 4; } } unlink (sym); } #endif { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); if (fd < 0) result |= 8; else { struct stat st0; if (fstat (fd, &st0) != 0) result |= 16; else { char c; sleep (1); if (read (fd, &c, 1) != 1) result |= 24; else { if (close (fd) != 0) result |= 32; else { struct stat st1; if (stat (file, &st1) != 0) result |= 40; else if (st0.st_atime != st1.st_atime) result |= 64; } } } } } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_header_working_fcntl_h=yes else case $? in #( 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 $as_echo "$gl_cv_header_working_fcntl_h" >&6; } case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOATIME $ac_val _ACEOF case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOFOLLOW $ac_val _ACEOF ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 $as_echo_n "checking for promoted mode_t type... " >&6; } if ${gl_cv_promoted_mode_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main () { typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_promoted_mode_t='int' else gl_cv_promoted_mode_t='mode_t' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 $as_echo "$gl_cv_promoted_mode_t" >&6; } cat >>confdefs.h <<_ACEOF #define PROMOTED_MODE_T $gl_cv_promoted_mode_t _ACEOF ac_fn_c_check_decl "$LINENO" "fdatasync" "ac_cv_have_decl_fdatasync" "$ac_includes_default" if test "x$ac_cv_have_decl_fdatasync" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FDATASYNC $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_dm_mode in struct stat" >&5 $as_echo_n "checking for st_dm_mode in struct stat... " >&6; } if ${ac_cv_struct_st_dm_mode+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> int main () { struct stat s; s.st_dm_mode; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_st_dm_mode=yes else ac_cv_struct_st_dm_mode=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_dm_mode" >&5 $as_echo "$ac_cv_struct_st_dm_mode" >&6; } if test $ac_cv_struct_st_dm_mode = yes; then $as_echo "#define HAVE_ST_DM_MODE 1" >>confdefs.h fi ac_fn_c_check_decl "$LINENO" "strmode" "ac_cv_have_decl_strmode" "$ac_includes_default" if test "x$ac_cv_have_decl_strmode" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRMODE $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 $as_echo_n "checking for mbstate_t... " >&6; } if ${ac_cv_type_mbstate_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_mbstate_t=yes else ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 $as_echo "$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h else $as_echo "#define mbstate_t int" >>confdefs.h fi GNULIB_ACOSF=0; GNULIB_ACOSL=0; GNULIB_ASINF=0; GNULIB_ASINL=0; GNULIB_ATANF=0; GNULIB_ATANL=0; GNULIB_ATAN2F=0; GNULIB_CBRT=0; GNULIB_CBRTF=0; GNULIB_CBRTL=0; GNULIB_CEIL=0; GNULIB_CEILF=0; GNULIB_CEILL=0; GNULIB_COPYSIGN=0; GNULIB_COPYSIGNF=0; GNULIB_COPYSIGNL=0; GNULIB_COSF=0; GNULIB_COSL=0; GNULIB_COSHF=0; GNULIB_EXPF=0; GNULIB_EXPL=0; GNULIB_EXP2=0; GNULIB_EXP2F=0; GNULIB_EXP2L=0; GNULIB_EXPM1=0; GNULIB_EXPM1F=0; GNULIB_EXPM1L=0; GNULIB_FABSF=0; GNULIB_FABSL=0; GNULIB_FLOOR=0; GNULIB_FLOORF=0; GNULIB_FLOORL=0; GNULIB_FMA=0; GNULIB_FMAF=0; GNULIB_FMAL=0; GNULIB_FMOD=0; GNULIB_FMODF=0; GNULIB_FMODL=0; GNULIB_FREXPF=0; GNULIB_FREXP=0; GNULIB_FREXPL=0; GNULIB_HYPOT=0; GNULIB_HYPOTF=0; GNULIB_HYPOTL=0; GNULIB_ILOGB=0; GNULIB_ILOGBF=0; GNULIB_ILOGBL=0; GNULIB_ISFINITE=0; GNULIB_ISINF=0; GNULIB_ISNAN=0; GNULIB_ISNANF=0; GNULIB_ISNAND=0; GNULIB_ISNANL=0; GNULIB_LDEXPF=0; GNULIB_LDEXPL=0; GNULIB_LOG=0; GNULIB_LOGF=0; GNULIB_LOGL=0; GNULIB_LOG10=0; GNULIB_LOG10F=0; GNULIB_LOG10L=0; GNULIB_LOG1P=0; GNULIB_LOG1PF=0; GNULIB_LOG1PL=0; GNULIB_LOG2=0; GNULIB_LOG2F=0; GNULIB_LOG2L=0; GNULIB_LOGB=0; GNULIB_LOGBF=0; GNULIB_LOGBL=0; GNULIB_MODF=0; GNULIB_MODFF=0; GNULIB_MODFL=0; GNULIB_POWF=0; GNULIB_REMAINDER=0; GNULIB_REMAINDERF=0; GNULIB_REMAINDERL=0; GNULIB_RINT=0; GNULIB_RINTF=0; GNULIB_RINTL=0; GNULIB_ROUND=0; GNULIB_ROUNDF=0; GNULIB_ROUNDL=0; GNULIB_SIGNBIT=0; GNULIB_SINF=0; GNULIB_SINL=0; GNULIB_SINHF=0; GNULIB_SQRTF=0; GNULIB_SQRTL=0; GNULIB_TANF=0; GNULIB_TANL=0; GNULIB_TANHF=0; GNULIB_TRUNC=0; GNULIB_TRUNCF=0; GNULIB_TRUNCL=0; HAVE_ACOSF=1; HAVE_ACOSL=1; HAVE_ASINF=1; HAVE_ASINL=1; HAVE_ATANF=1; HAVE_ATANL=1; HAVE_ATAN2F=1; HAVE_CBRT=1; HAVE_CBRTF=1; HAVE_CBRTL=1; HAVE_COPYSIGN=1; HAVE_COPYSIGNL=1; HAVE_COSF=1; HAVE_COSL=1; HAVE_COSHF=1; HAVE_EXPF=1; HAVE_EXPL=1; HAVE_EXPM1=1; HAVE_EXPM1F=1; HAVE_FABSF=1; HAVE_FABSL=1; HAVE_FMA=1; HAVE_FMAF=1; HAVE_FMAL=1; HAVE_FMODF=1; HAVE_FMODL=1; HAVE_FREXPF=1; HAVE_HYPOTF=1; HAVE_HYPOTL=1; HAVE_ILOGB=1; HAVE_ILOGBF=1; HAVE_ILOGBL=1; HAVE_ISNANF=1; HAVE_ISNAND=1; HAVE_ISNANL=1; HAVE_LDEXPF=1; HAVE_LOGF=1; HAVE_LOGL=1; HAVE_LOG10F=1; HAVE_LOG10L=1; HAVE_LOG1P=1; HAVE_LOG1PF=1; HAVE_LOG1PL=1; HAVE_LOGBF=1; HAVE_LOGBL=1; HAVE_MODFF=1; HAVE_MODFL=1; HAVE_POWF=1; HAVE_REMAINDER=1; HAVE_REMAINDERF=1; HAVE_RINT=1; HAVE_RINTL=1; HAVE_SINF=1; HAVE_SINL=1; HAVE_SINHF=1; HAVE_SQRTF=1; HAVE_SQRTL=1; HAVE_TANF=1; HAVE_TANL=1; HAVE_TANHF=1; HAVE_DECL_ACOSL=1; HAVE_DECL_ASINL=1; HAVE_DECL_ATANL=1; HAVE_DECL_CBRTF=1; HAVE_DECL_CBRTL=1; HAVE_DECL_CEILF=1; HAVE_DECL_CEILL=1; HAVE_DECL_COPYSIGNF=1; HAVE_DECL_COSL=1; HAVE_DECL_EXPL=1; HAVE_DECL_EXP2=1; HAVE_DECL_EXP2F=1; HAVE_DECL_EXP2L=1; HAVE_DECL_EXPM1L=1; HAVE_DECL_FLOORF=1; HAVE_DECL_FLOORL=1; HAVE_DECL_FREXPL=1; HAVE_DECL_LDEXPL=1; HAVE_DECL_LOGL=1; HAVE_DECL_LOG10L=1; HAVE_DECL_LOG2=1; HAVE_DECL_LOG2F=1; HAVE_DECL_LOG2L=1; HAVE_DECL_LOGB=1; HAVE_DECL_REMAINDER=1; HAVE_DECL_REMAINDERL=1; HAVE_DECL_RINTF=1; HAVE_DECL_ROUND=1; HAVE_DECL_ROUNDF=1; HAVE_DECL_ROUNDL=1; HAVE_DECL_SINL=1; HAVE_DECL_SQRTL=1; HAVE_DECL_TANL=1; HAVE_DECL_TRUNC=1; HAVE_DECL_TRUNCF=1; HAVE_DECL_TRUNCL=1; REPLACE_CBRTF=0; REPLACE_CBRTL=0; REPLACE_CEIL=0; REPLACE_CEILF=0; REPLACE_CEILL=0; REPLACE_EXPM1=0; REPLACE_EXPM1F=0; REPLACE_EXP2=0; REPLACE_EXP2L=0; REPLACE_FABSL=0; REPLACE_FLOOR=0; REPLACE_FLOORF=0; REPLACE_FLOORL=0; REPLACE_FMA=0; REPLACE_FMAF=0; REPLACE_FMAL=0; REPLACE_FMOD=0; REPLACE_FMODF=0; REPLACE_FMODL=0; REPLACE_FREXPF=0; REPLACE_FREXP=0; REPLACE_FREXPL=0; REPLACE_HUGE_VAL=0; REPLACE_HYPOT=0; REPLACE_HYPOTF=0; REPLACE_HYPOTL=0; REPLACE_ILOGB=0; REPLACE_ILOGBF=0; REPLACE_ISFINITE=0; REPLACE_ISINF=0; REPLACE_ISNAN=0; REPLACE_LDEXPL=0; REPLACE_LOG=0; REPLACE_LOGF=0; REPLACE_LOGL=0; REPLACE_LOG10=0; REPLACE_LOG10F=0; REPLACE_LOG10L=0; REPLACE_LOG1P=0; REPLACE_LOG1PF=0; REPLACE_LOG1PL=0; REPLACE_LOG2=0; REPLACE_LOG2F=0; REPLACE_LOG2L=0; REPLACE_LOGB=0; REPLACE_LOGBF=0; REPLACE_LOGBL=0; REPLACE_MODF=0; REPLACE_MODFF=0; REPLACE_MODFL=0; REPLACE_NAN=0; REPLACE_REMAINDER=0; REPLACE_REMAINDERF=0; REPLACE_REMAINDERL=0; REPLACE_ROUND=0; REPLACE_ROUNDF=0; REPLACE_ROUNDL=0; REPLACE_SIGNBIT=0; REPLACE_SIGNBIT_USING_GCC=0; REPLACE_SQRTL=0; REPLACE_TRUNC=0; REPLACE_TRUNCF=0; REPLACE_TRUNCL=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp() can be used without linking with libm" >&5 $as_echo_n "checking whether frexp() can be used without linking with libm... " >&6; } if ${gl_cv_func_frexp_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> double x; int main () { int e; return frexp (x, &e) > 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_frexp_no_libm=yes else gl_cv_func_frexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_no_libm" >&5 $as_echo "$gl_cv_func_frexp_no_libm" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double and double are the same" >&5 $as_echo_n "checking whether long double and double are the same... " >&6; } if ${gl_cv_long_double_equals_double+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> int main () { typedef int check[sizeof (long double) == sizeof (double) && LDBL_MANT_DIG == DBL_MANT_DIG && LDBL_MAX_EXP == DBL_MAX_EXP && LDBL_MIN_EXP == DBL_MIN_EXP ? 1 : -1]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_long_double_equals_double=yes else gl_cv_long_double_equals_double=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_long_double_equals_double" >&5 $as_echo "$gl_cv_long_double_equals_double" >&6; } if test $gl_cv_long_double_equals_double = yes; then $as_echo "#define HAVE_SAME_LONG_DOUBLE_AS_DOUBLE 1" >>confdefs.h HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1 else HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 $as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } if ${gl_cv_var_stdin_large_offset+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { #if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include <cygwin/version.h> # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_var_stdin_large_offset=yes else gl_cv_var_stdin_large_offset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 $as_echo "$gl_cv_var_stdin_large_offset" >&6; } case "$host_os" in mingw*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 $as_echo_n "checking for 64-bit off_t... " >&6; } if ${gl_cv_type_off_t_64+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_off_t_64=yes else gl_cv_type_off_t_64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 $as_echo "$gl_cv_type_off_t_64" >&6; } if test $gl_cv_type_off_t_64 = no; then WINDOWS_64_BIT_OFF_T=1 else WINDOWS_64_BIT_OFF_T=0 fi WINDOWS_64_BIT_ST_SIZE=1 ;; *) WINDOWS_64_BIT_OFF_T=0 WINDOWS_64_BIT_ST_SIZE=0 ;; esac if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_types_h='<'sys/types.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5 $as_echo_n "checking absolute name of <sys/types.h>... " >&6; } if ${gl_cv_next_sys_types_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/types.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 $as_echo "$gl_cv_next_sys_types_h" >&6; } fi NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/types.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_types_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" if test "x$ac_cv_have_decl_fseeko" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FSEEKO $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 $as_echo_n "checking for fseeko... " >&6; } if ${gl_cv_func_fseeko+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { fseeko (stdin, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_fseeko=yes else gl_cv_func_fseeko=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 $as_echo "$gl_cv_func_fseeko" >&6; } if test $ac_cv_have_decl_fseeko = no; then HAVE_DECL_FSEEKO=0 fi if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FSEEKO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FSEEKO=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 $as_echo_n "checking whether fflush works on input streams... " >&6; } if ${gl_cv_func_fflush_stdin+:} false; then : $as_echo_n "(cached) " >&6 else echo hello world > conftest.txt if test "$cross_compiling" = yes; then : gl_cv_func_fflush_stdin=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif int main () { FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. This fails on BSD systems and on mingw. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* Verify behaviour of fflush after ungetc. See <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> */ /* Verify behaviour of fflush after a backup ungetc. This fails on mingw. */ c = fgetc (f); ungetc (c, f); fflush (f); if (fgetc (f) != c) return 6; /* Verify behaviour of fflush after a non-backup ungetc. This fails on glibc 2.8 and on BSD systems. */ c = fgetc (f); ungetc ('@', f); fflush (f); if (fgetc (f) != c) return 7; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fflush_stdin=yes else gl_cv_func_fflush_stdin=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm conftest.txt fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 $as_echo "$gl_cv_func_fflush_stdin" >&6; } if test $gl_cv_func_fflush_stdin = no; then REPLACE_FSEEKO=1 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } if ${ac_cv_header_stat_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #if defined S_ISBLK && defined S_IFDIR extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; #endif #if defined S_ISBLK && defined S_IFCHR extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; #endif #if defined S_ISLNK && defined S_IFREG extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; #endif #if defined S_ISSOCK && defined S_IFREG extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stat_broken=no else ac_cv_header_stat_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 $as_echo "$ac_cv_header_stat_broken" >&6; } if test $ac_cv_header_stat_broken = yes; then $as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_stat_h='<'sys/stat.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5 $as_echo_n "checking absolute name of <sys/stat.h>... " >&6; } if ${gl_cv_next_sys_stat_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_stat_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/stat.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 $as_echo "$gl_cv_next_sys_stat_h" >&6; } fi NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/stat.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_stat_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive if test $WINDOWS_64_BIT_ST_SIZE = 1; then $as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_type_nlink_t" = xyes; then : else $as_echo "#define nlink_t int" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_lstat_dereferences_slashed_symlink=yes else gl_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else # If the 'ln -s' command failed, then we probably don't even # have an lstat function. gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" fi rm -f conftest.sym conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 $as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *yes) cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF ;; esac ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" if test "x$ac_cv_have_decl_ftello" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FTELLO $ac_have_decl _ACEOF if test $ac_cv_have_decl_ftello = no; then HAVE_DECL_FTELLO=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 $as_echo_n "checking for ftello... " >&6; } if ${gl_cv_func_ftello+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { ftello (stdin); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_ftello=yes else gl_cv_func_ftello=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 $as_echo "$gl_cv_func_ftello" >&6; } if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FTELLO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FTELLO=1 fi if test $REPLACE_FTELLO = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 $as_echo_n "checking whether ftello works... " >&6; } if ${gl_cv_func_ftello_works+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_ftello_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_ftello_works="guessing yes" ;; esac if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define TESTFILE "conftest.tmp" int main (void) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) return 70; if (fwrite ("foogarsh", 1, 8, fp) < 8) return 71; if (fclose (fp)) return 72; /* The file's contents is now "foogarsh". */ /* Try writing after reading to EOF. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) return 73; if (fseek (fp, -1, SEEK_END)) return 74; if (!(getc (fp) == 'h')) return 1; if (!(getc (fp) == EOF)) return 2; if (!(ftell (fp) == 8)) return 3; if (!(ftell (fp) == 8)) return 4; if (!(putc ('!', fp) == '!')) return 5; if (!(ftell (fp) == 9)) return 6; if (!(fclose (fp) == 0)) return 7; fp = fopen (TESTFILE, "r"); if (fp == NULL) return 75; { char buf[10]; if (!(fread (buf, 1, 10, fp) == 9)) return 10; if (!(memcmp (buf, "foogarsh!", 9) == 0)) return 11; } if (!(fclose (fp) == 0)) return 12; /* The file's contents is now "foogarsh!". */ return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_ftello_works=yes else gl_cv_func_ftello_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 $as_echo "$gl_cv_func_ftello_works" >&6; } case "$gl_cv_func_ftello_works" in *yes) ;; *) REPLACE_FTELLO=1 $as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h ;; esac fi fi GNULIB_SOCKET=0; GNULIB_CONNECT=0; GNULIB_ACCEPT=0; GNULIB_BIND=0; GNULIB_GETPEERNAME=0; GNULIB_GETSOCKNAME=0; GNULIB_GETSOCKOPT=0; GNULIB_LISTEN=0; GNULIB_RECV=0; GNULIB_SEND=0; GNULIB_RECVFROM=0; GNULIB_SENDTO=0; GNULIB_SETSOCKOPT=0; GNULIB_SHUTDOWN=0; GNULIB_ACCEPT4=0; HAVE_STRUCT_SOCKADDR_STORAGE=1; HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; HAVE_SA_FAMILY_T=1; HAVE_ACCEPT4=1; if test $ac_cv_header_sys_socket_h = no; then for ac_header in ws2tcpip.h do : ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" if test "x$ac_cv_header_ws2tcpip_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WS2TCPIP_H 1 _ACEOF fi done fi case "$host_os" in osf*) $as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> is self-contained" >&5 $as_echo_n "checking whether <sys/socket.h> is self-contained... " >&6; } if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_socket_h_selfcontained=yes else gl_cv_header_sys_socket_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 $as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } if test $gl_cv_header_sys_socket_h_selfcontained = yes; then for ac_func in shutdown do : ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" if test "x$ac_cv_func_shutdown" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SHUTDOWN 1 _ACEOF fi done if test $ac_cv_func_shutdown = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> defines the SHUT_* macros" >&5 $as_echo_n "checking whether <sys/socket.h> defines the SHUT_* macros... " >&6; } if ${gl_cv_header_sys_socket_h_shut+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> int main () { int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_socket_h_shut=yes else gl_cv_header_sys_socket_h_shut=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 $as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi fi # We need to check for ws2tcpip.h now. if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_socket_h='<'sys/socket.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/socket.h>" >&5 $as_echo_n "checking absolute name of <sys/socket.h>... " >&6; } if ${gl_cv_next_sys_socket_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_socket_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/socket.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_socket_h='<'sys/socket.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 $as_echo "$gl_cv_next_sys_socket_h" >&6; } fi NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/socket.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_socket_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE 1 _ACEOF fi ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_type_sa_family_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SA_FAMILY_T 1 _ACEOF fi if test $ac_cv_type_struct_sockaddr_storage = no; then HAVE_STRUCT_SOCKADDR_STORAGE=0 fi if test $ac_cv_type_sa_family_t = no; then HAVE_SA_FAMILY_T=0 fi if test $ac_cv_type_struct_sockaddr_storage != no; then ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 _ACEOF else HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 fi fi if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then SYS_SOCKET_H='sys/socket.h' fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi GNULIB_GETADDRINFO=0; HAVE_STRUCT_ADDRINFO=1; HAVE_DECL_FREEADDRINFO=1; HAVE_DECL_GAI_STRERROR=1; HAVE_DECL_GETADDRINFO=1; HAVE_DECL_GETNAMEINFO=1; REPLACE_GAI_STRERROR=0; if test $gl_cv_have_include_next = yes; then gl_cv_next_netdb_h='<'netdb.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <netdb.h>" >&5 $as_echo_n "checking absolute name of <netdb.h>... " >&6; } if ${gl_cv_next_netdb_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_netdb_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <netdb.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'netdb.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_netdb_h='<'netdb.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 $as_echo "$gl_cv_next_netdb_h" >&6; } fi NEXT_NETDB_H=$gl_cv_next_netdb_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'netdb.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_netdb_h fi NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive if test $ac_cv_header_netdb_h = yes; then HAVE_NETDB_H=1 else HAVE_NETDB_H=0 fi HOSTENT_LIB= gl_saved_libs="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 $as_echo_n "checking for library containing gethostbyname... " >&6; } if ${ac_cv_search_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF for ac_lib in '' nsl network net; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_gethostbyname+:} false; then : break fi done if ${ac_cv_search_gethostbyname+:} false; then : else ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 $as_echo "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_gethostbyname" != "none required"; then HOSTENT_LIB="$ac_cv_search_gethostbyname" fi fi LIBS="$gl_saved_libs" if test -z "$HOSTENT_LIB"; then for ac_func in gethostbyname do : ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" if test "x$ac_cv_func_gethostbyname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETHOSTBYNAME 1 _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 $as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_w32_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_gethostbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #include <stddef.h> int main () { gethostbyname(NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_gethostbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 $as_echo "$gl_cv_w32_gethostbyname" >&6; } if test "$gl_cv_w32_gethostbyname" = "yes"; then HOSTENT_LIB="-lws2_32" fi fi done fi SERVENT_LIB= gl_saved_libs="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 $as_echo_n "checking for library containing getservbyname... " >&6; } if ${ac_cv_search_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getservbyname (); int main () { return getservbyname (); ; return 0; } _ACEOF for ac_lib in '' socket network net; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getservbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getservbyname+:} false; then : break fi done if ${ac_cv_search_getservbyname+:} false; then : else ac_cv_search_getservbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 $as_echo "$ac_cv_search_getservbyname" >&6; } ac_res=$ac_cv_search_getservbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_getservbyname" != "none required"; then SERVENT_LIB="$ac_cv_search_getservbyname" fi fi LIBS="$gl_saved_libs" if test -z "$SERVENT_LIB"; then for ac_func in getservbyname do : ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" if test "x$ac_cv_func_getservbyname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETSERVBYNAME 1 _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 $as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_w32_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_getservbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #include <stddef.h> int main () { getservbyname(NULL,NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_getservbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 $as_echo "$gl_cv_w32_getservbyname" >&6; } if test "$gl_cv_w32_getservbyname" = "yes"; then SERVENT_LIB="-lws2_32" fi fi done fi HAVE_INET_NTOP=1 INET_NTOP_LIB= if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $HAVE_WINSOCK2_H = 1; then ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include <ws2tcpip.h> " if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_NTOP $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_ntop = yes; then REPLACE_INET_NTOP=1 INET_NTOP_LIB="-lws2_32" else HAVE_DECL_INET_NTOP=0 HAVE_INET_NTOP=0 fi else gl_save_LIBS=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 $as_echo_n "checking for library containing inet_ntop... " >&6; } if ${ac_cv_search_inet_ntop+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_ntop (); int main () { return inet_ntop (); ; return 0; } _ACEOF for ac_lib in '' nsl resolv; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_inet_ntop=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_inet_ntop+:} false; then : break fi done if ${ac_cv_search_inet_ntop+:} false; then : else ac_cv_search_inet_ntop=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 $as_echo "$ac_cv_search_inet_ntop" >&6; } ac_res=$ac_cv_search_inet_ntop if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else for ac_func in inet_ntop do : ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" if test "x$ac_cv_func_inet_ntop" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INET_NTOP 1 _ACEOF fi done if test $ac_cv_func_inet_ntop = no; then HAVE_INET_NTOP=0 fi fi LIBS=$gl_save_LIBS if test "$ac_cv_search_inet_ntop" != "no" \ && test "$ac_cv_search_inet_ntop" != "none required"; then INET_NTOP_LIB="$ac_cv_search_inet_ntop" fi ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include <arpa/inet.h> #if HAVE_NETDB_H # include <netdb.h> #endif " if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_NTOP $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_ntop = no; then HAVE_DECL_INET_NTOP=0 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5 $as_echo_n "checking for IPv4 sockets... " >&6; } if ${gl_cv_socket_ipv4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif int main () { int x = AF_INET; struct in_addr y; struct sockaddr_in z; if (&x && &y && &z) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_socket_ipv4=yes else gl_cv_socket_ipv4=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 $as_echo "$gl_cv_socket_ipv4" >&6; } if test $gl_cv_socket_ipv4 = yes; then $as_echo "#define HAVE_IPV4 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5 $as_echo_n "checking for IPv6 sockets... " >&6; } if ${gl_cv_socket_ipv6+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif int main () { int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; if (&x && &y && &z) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_socket_ipv6=yes else gl_cv_socket_ipv6=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 $as_echo "$gl_cv_socket_ipv6" >&6; } if test $gl_cv_socket_ipv6 = yes; then $as_echo "#define HAVE_IPV6 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5 $as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } if ${gl_cv_func_getcwd_null+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_getcwd_null="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_getcwd_null="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_getcwd_null="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # if HAVE_UNISTD_H # include <unistd.h> # else /* on Windows with MSVC */ # include <direct.h> # endif # ifndef getcwd char *getcwd (); # endif int main () { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw cwd does not start with '/', but getcwd does allocate. However, mingw fails to honor non-zero size. */ #else if (chdir ("/") != 0) return 1; else { char *f = getcwd (NULL, 0); if (! f) return 2; if (f[0] != '/') return 3; if (f[1] != '\0') return 4; return 0; } #endif ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getcwd_null=yes else gl_cv_func_getcwd_null=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5 $as_echo "$gl_cv_func_getcwd_null" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5 $as_echo_n "checking for getcwd with POSIX signature... " >&6; } if ${gl_cv_func_getcwd_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> int main () { extern #ifdef __cplusplus "C" #endif char *getcwd (char *, size_t); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_getcwd_posix_signature=yes else gl_cv_func_getcwd_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5 $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } ac_fn_c_check_decl "$LINENO" "getcwd" "ac_cv_have_decl_getcwd" "$ac_includes_default" if test "x$ac_cv_have_decl_getcwd" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCWD $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default" if test "x$ac_cv_have_decl_getdelim" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETDELIM $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for arithmetic hrtime_t" >&5 $as_echo_n "checking for arithmetic hrtime_t... " >&6; } if ${gl_cv_arithmetic_hrtime_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> int main () { hrtime_t x = 0; return x/x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_arithmetic_hrtime_t=yes else gl_cv_arithmetic_hrtime_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_arithmetic_hrtime_t" >&5 $as_echo "$gl_cv_arithmetic_hrtime_t" >&6; } if test $gl_cv_arithmetic_hrtime_t = yes; then $as_echo "#define HAVE_ARITHMETIC_HRTIME_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 $as_echo_n "checking for unsigned long long int... " >&6; } if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_type_unsigned_long_long_int=yes if test "x${ac_cv_prog_cc_c99-no}" = xno; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 $as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 $as_echo_n "checking for long long int... " >&6; } if ${ac_cv_type_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_type_long_long_int=yes if test "x${ac_cv_prog_cc_c99-no}" = xno; then ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_long_long_int = yes; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> #ifndef LLONG_MAX # define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) # define LLONG_MAX (HALF - 1 + HALF) #endif int main () { long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_type_long_long_int=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 $as_echo "$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h fi : ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default" if test "x$ac_cv_have_decl_getline" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLINE $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } if ${gt_cv_ssize_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_ssize_t=yes else gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 $as_echo "$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then $as_echo "#define ssize_t int" >>confdefs.h fi if test $gl_cv_have_include_next = yes; then gl_cv_next_getopt_h='<'getopt.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5 $as_echo_n "checking absolute name of <getopt.h>... " >&6; } if ${gl_cv_next_getopt_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_getopt_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <getopt.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'getopt.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_getopt_h='<'getopt.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 $as_echo "$gl_cv_next_getopt_h" >&6; } fi NEXT_GETOPT_H=$gl_cv_next_getopt_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'getopt.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_getopt_h fi NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive if test $ac_cv_header_getopt_h = yes; then HAVE_GETOPT_H=1 else HAVE_GETOPT_H=0 fi gl_replace_getopt= if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF else gl_replace_getopt=yes fi done fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then for ac_func in getopt_long_only do : ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" if test "x$ac_cv_func_getopt_long_only" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_LONG_ONLY 1 _ACEOF else gl_replace_getopt=yes fi done fi if test -z "$gl_replace_getopt"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 $as_echo_n "checking whether getopt is POSIX compatible... " >&6; } if ${gl_cv_func_getopt_posix+:} false; then : $as_echo_n "(cached) " >&6 else if test $cross_compiling = no; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <string.h> int main () { static char program[] = "program"; static char a[] = "-a"; static char foo[] = "foo"; static char bar[] = "bar"; char *argv[] = { program, a, foo, bar, NULL }; int c; c = getopt (4, argv, "ab"); if (!(c == 'a')) return 1; c = getopt (4, argv, "ab"); if (!(c == -1)) return 2; if (!(optind == 2)) return 3; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_posix=maybe else gl_cv_func_getopt_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $gl_cv_func_getopt_posix = maybe; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <string.h> int main () { static char program[] = "program"; static char donald[] = "donald"; static char p[] = "-p"; static char billy[] = "billy"; static char duck[] = "duck"; static char a[] = "-a"; static char bar[] = "bar"; char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; int c; c = getopt (7, argv, "+abp:q:"); if (!(c == -1)) return 4; if (!(strcmp (argv[0], "program") == 0)) return 5; if (!(strcmp (argv[1], "donald") == 0)) return 6; if (!(strcmp (argv[2], "-p") == 0)) return 7; if (!(strcmp (argv[3], "billy") == 0)) return 8; if (!(strcmp (argv[4], "duck") == 0)) return 9; if (!(strcmp (argv[5], "-a") == 0)) return 10; if (!(strcmp (argv[6], "bar") == 0)) return 11; if (!(optind == 1)) return 12; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_posix=maybe else gl_cv_func_getopt_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi if test $gl_cv_func_getopt_posix = maybe; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <stdlib.h> #include <string.h> int main () { static char program[] = "program"; static char ab[] = "-ab"; char *argv[3] = { program, ab, NULL }; if (getopt (2, argv, "ab:") != 'a') return 13; if (getopt (2, argv, "ab:") != '?') return 14; if (optopt != 'b') return 15; if (optind != 2) return 16; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_posix=yes else gl_cv_func_getopt_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi else case "$host_os" in darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; *) gl_cv_func_getopt_posix="guessing yes";; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5 $as_echo "$gl_cv_func_getopt_posix" >&6; } case "$gl_cv_func_getopt_posix" in *no) gl_replace_getopt=yes ;; esac fi if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5 $as_echo_n "checking for working GNU getopt function... " >&6; } if ${gl_cv_func_getopt_gnu+:} false; then : $as_echo_n "(cached) " >&6 else # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the # optstring is necessary for programs like m4 that have POSIX-mandated # semantics for supporting options interspersed with files. # Also, since getopt_long is a GNU extension, we require optind=0. # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; # so take care to revert to the correct (non-)export state. gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in xx) gl_had_POSIXLY_CORRECT=exported ;; x) gl_had_POSIXLY_CORRECT=yes ;; *) gl_had_POSIXLY_CORRECT= ;; esac POSIXLY_CORRECT=1 export POSIXLY_CORRECT if test "$cross_compiling" = yes; then : gl_cv_func_getopt_gnu="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <getopt.h> #include <stddef.h> #include <string.h> #include <stdlib.h> #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on Mac OS X. */ #include <mach/mach.h> #include <mach/mach_error.h> #include <mach/thread_status.h> #include <mach/exception.h> #include <mach/task.h> #include <pthread.h> /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <winerror.h> static LONG WINAPI exception_filter (EXCEPTION_POINTERS *ExceptionInfo) { switch (ExceptionInfo->ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_GUARD_PAGE: case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_NONCONTINUABLE_EXCEPTION: exit (1); } return EXCEPTION_CONTINUE_SEARCH; } static void nocrash_init (void) { SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); } #else /* Avoid a crash on POSIX systems. */ #include <signal.h> /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif int main () { int result = 0; nocrash_init(); /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ { static char conftest[] = "conftest"; static char plus[] = "-+"; char *argv[3] = { conftest, plus, NULL }; opterr = 0; if (getopt (2, argv, "+a") != '?') result |= 1; } /* This code succeeds on glibc 2.8, mingw, and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ { static char program[] = "program"; static char p[] = "-p"; static char foo[] = "foo"; static char bar[] = "bar"; char *argv[] = { program, p, foo, bar, NULL }; optind = 1; if (getopt (4, argv, "p::") != 'p') result |= 2; else if (optarg != NULL) result |= 4; else if (getopt (4, argv, "p::") != -1) result |= 6; else if (optind != 2) result |= 8; } /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ { static char program[] = "program"; static char foo[] = "foo"; static char p[] = "-p"; char *argv[] = { program, foo, p, NULL }; optind = 0; if (getopt (3, argv, "-p") != 1) result |= 16; else if (getopt (3, argv, "-p") != 'p') result |= 16; } /* This code fails on glibc 2.11. */ { static char program[] = "program"; static char b[] = "-b"; static char a[] = "-a"; char *argv[] = { program, b, a, NULL }; optind = opterr = 0; if (getopt (3, argv, "+:a:b") != 'b') result |= 32; else if (getopt (3, argv, "+:a:b") != ':') result |= 32; } /* This code dumps core on glibc 2.14. */ { static char program[] = "program"; static char w[] = "-W"; static char dummy[] = "dummy"; char *argv[] = { program, w, dummy, NULL }; optind = opterr = 1; if (getopt (3, argv, "W;") != 'W') result |= 64; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_gnu=yes else gl_cv_func_getopt_gnu=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi case $gl_had_POSIXLY_CORRECT in exported) ;; yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 $as_echo "$gl_cv_func_getopt_gnu" >&6; } if test "$gl_cv_func_getopt_gnu" != yes; then gl_replace_getopt=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 $as_echo_n "checking for working GNU getopt_long function... " >&6; } if ${gl_cv_func_getopt_long_gnu+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; *) gl_cv_func_getopt_long_gnu="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <getopt.h> #include <stddef.h> #include <string.h> int main () { static const struct option long_options[] = { { "xtremely-",no_argument, NULL, 1003 }, { "xtra", no_argument, NULL, 1001 }, { "xtreme", no_argument, NULL, 1002 }, { "xtremely", no_argument, NULL, 1003 }, { NULL, 0, NULL, 0 } }; /* This code fails on OpenBSD 5.0. */ { static char program[] = "program"; static char xtremel[] = "--xtremel"; char *argv[] = { program, xtremel, NULL }; int option_index; optind = 1; opterr = 0; if (getopt_long (2, argv, "", long_options, &option_index) != 1003) return 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getopt_long_gnu=yes else gl_cv_func_getopt_long_gnu=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5 $as_echo "$gl_cv_func_getopt_long_gnu" >&6; } case "$gl_cv_func_getopt_long_gnu" in *yes) ;; *) gl_replace_getopt=yes ;; esac fi fi REPLACE_GETOPT=0 if test -n "$gl_replace_getopt"; then REPLACE_GETOPT=1 fi if test $REPLACE_GETOPT = 1; then GETOPT_H=getopt.h $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h fi ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" if test "x$ac_cv_have_decl_getenv" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default" if test "x$ac_cv_have_decl_getpass" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPASS $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default" if test "x$ac_cv_have_decl_flockfile" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FLOCKFILE $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default" if test "x$ac_cv_have_decl_funlockfile" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FUNLOCKFILE $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl _ACEOF : GNULIB_GETTIMEOFDAY=0; HAVE_GETTIMEOFDAY=1; HAVE_STRUCT_TIMEVAL=1; HAVE_SYS_TIME_H=1; REPLACE_GETTIMEOFDAY=0; REPLACE_STRUCT_TIMEVAL=0; if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_time_h='<'sys/time.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/time.h>" >&5 $as_echo_n "checking absolute name of <sys/time.h>... " >&6; } if ${gl_cv_next_sys_time_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_time_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/time.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/time.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_time_h='<'sys/time.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 $as_echo "$gl_cv_next_sys_time_h" >&6; } fi NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_time_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive if test $ac_cv_header_sys_time_h != yes; then HAVE_SYS_TIME_H=0 fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 $as_echo_n "checking for struct timeval... " >&6; } if ${gl_cv_sys_struct_timeval+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <time.h> #if HAVE_WINSOCK2_H # include <winsock2.h> #endif int main () { static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timeval=yes else gl_cv_sys_struct_timeval=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 $as_echo "$gl_cv_sys_struct_timeval" >&6; } if test $gl_cv_sys_struct_timeval != yes; then HAVE_STRUCT_TIMEVAL=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 $as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <time.h> #if HAVE_WINSOCK2_H # include <winsock2.h> #endif int main () { static struct timeval x; typedef int verify_tv_sec_type[ sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 ]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timeval_tv_sec=yes else gl_cv_sys_struct_timeval_tv_sec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 $as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } if test $gl_cv_sys_struct_timeval_tv_sec != yes; then REPLACE_STRUCT_TIMEVAL=1 fi fi if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$acl_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) acl_cv_prog_gnu_ld=yes ;; *) acl_cv_prog_gnu_ld=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } if ${gl_cv_solaris_64bit+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "sixtyfour bits" >/dev/null 2>&1; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 $as_echo "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi GNULIB_ICONV=0; ICONV_CONST=; REPLACE_ICONV=0; REPLACE_ICONV_OPEN=0; REPLACE_ICONV_UTF=0; ICONV_H=''; if test -n "$ICONV_H"; then GL_GENERATE_ICONV_H_TRUE= GL_GENERATE_ICONV_H_FALSE='#' else GL_GENERATE_ICONV_H_TRUE='#' GL_GENERATE_ICONV_H_FALSE= fi am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <iconv.h> int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <iconv.h> int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <iconv.h> #include <string.h> int main () { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; const char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <iconv.h> extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_proto_iconv" >&5 $as_echo " $am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF if test -n "$am_cv_proto_iconv_arg1"; then ICONV_CONST="const" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi gl_cv_c_multiarch=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : arch= prev= for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do if test -n "$prev"; then case $word in i?86 | x86_64 | ppc | ppc64) if test -z "$arch" || test "$arch" = "$word"; then arch="$word" else gl_cv_c_multiarch=yes fi ;; esac prev= else if test "x$word" = "x-arch"; then prev=arch fi fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $gl_cv_c_multiarch = yes; then APPLE_UNIVERSAL_BUILD=1 else APPLE_UNIVERSAL_BUILD=0 fi if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5 $as_echo_n "checking absolute name of <stdint.h>... " >&6; } if ${gl_cv_next_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_stdint_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdint.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stdint.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 $as_echo "$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdint.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdint_h fi NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 $as_echo_n "checking whether stdint.h conforms to C99... " >&6; } if ${gl_cv_header_working_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_header_working_stdint_h=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include <stdint.h> /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>" #endif /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include <limits.h> /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if test "$cross_compiling" = yes; then : gl_cv_header_working_stdint_h=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include <stdint.h> /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif #include <stdio.h> #include <string.h> #define MVAL(macro) MVAL1(macro) #define MVAL1(expression) #expression static const char *macro_values[] = { #ifdef INT8_MAX MVAL (INT8_MAX), #endif #ifdef INT16_MAX MVAL (INT16_MAX), #endif #ifdef INT32_MAX MVAL (INT32_MAX), #endif #ifdef INT64_MAX MVAL (INT64_MAX), #endif #ifdef UINT8_MAX MVAL (UINT8_MAX), #endif #ifdef UINT16_MAX MVAL (UINT16_MAX), #endif #ifdef UINT32_MAX MVAL (UINT32_MAX), #endif #ifdef UINT64_MAX MVAL (UINT64_MAX), #endif NULL }; int main () { const char **mv; for (mv = macro_values; *mv != NULL; mv++) { const char *value = *mv; /* Test whether it looks like a cast expression. */ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 || strncmp (value, "((int)"/*)*/, 6) == 0 || strncmp (value, "((signed short)"/*)*/, 15) == 0 || strncmp (value, "((signed char)"/*)*/, 14) == 0) return mv - macro_values + 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_header_working_stdint_h=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 $as_echo "$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif #include <limits.h>"; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 $as_echo_n "checking for bit size of $gltype... " >&6; } if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif #include <limits.h>"; then : else result=unknown fi eval gl_cv_bitsizeof_${gltype}=\$result fi eval ac_res=\$gl_cv_bitsizeof_${gltype} { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 $as_echo_n "checking whether $gltype is signed... " >&6; } if eval \${gl_cv_type_${gltype}_signed+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : result=yes else result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi eval ac_res=\$gl_cv_type_${gltype}_signed { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no if test $APPLE_UNIVERSAL_BUILD = 0; then for gltype in ptrdiff_t size_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done fi for gltype in sig_atomic_t wchar_t wint_t ; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 $as_echo_n "checking for $gltype integer literal suffix... " >&6; } if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <signal.h> #if HAVE_WCHAR_H # include <stdio.h> # include <time.h> # include <wchar.h> #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi eval ac_res=\$gl_cv_type_${gltype}_suffix { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done if test $BITSIZEOF_WINT_T -lt 32; then BITSIZEOF_WINT_T=32 fi STDINT_H=stdint.h fi if test -n "$STDINT_H"; then GL_GENERATE_STDINT_H_TRUE= GL_GENERATE_STDINT_H_FALSE='#' else GL_GENERATE_STDINT_H_TRUE='#' GL_GENERATE_STDINT_H_FALSE= fi GNULIB_IMAXABS=0; GNULIB_IMAXDIV=0; GNULIB_STRTOIMAX=0; GNULIB_STRTOUMAX=0; HAVE_DECL_IMAXABS=1; HAVE_DECL_IMAXDIV=1; HAVE_DECL_STRTOIMAX=1; HAVE_DECL_STRTOUMAX=1; REPLACE_STRTOIMAX=0; INT32_MAX_LT_INTMAX_MAX=1; INT64_MAX_EQ_LONG_MAX='defined _LP64'; PRI_MACROS_BROKEN=0; PRIPTR_PREFIX=__PRIPTR_PREFIX; UINT32_MAX_LT_UINTMAX_MAX=1; UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; if test $gl_cv_have_include_next = yes; then gl_cv_next_inttypes_h='<'inttypes.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5 $as_echo_n "checking absolute name of <inttypes.h>... " >&6; } if ${gl_cv_next_inttypes_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_inttypes_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <inttypes.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'inttypes.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_inttypes_h='<'inttypes.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 $as_echo "$gl_cv_next_inttypes_h" >&6; } fi NEXT_INTTYPES_H=$gl_cv_next_inttypes_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'inttypes.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_inttypes_h fi NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive for ac_header in inttypes.h do : ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_inttypes_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H 1 _ACEOF fi done if test $ac_cv_header_inttypes_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } if ${gt_cv_inttypes_pri_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <inttypes.h> #ifdef PRId32 char *p = PRId32; #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_inttypes_pri_broken=no else gt_cv_inttypes_pri_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 $as_echo "$gt_cv_inttypes_pri_broken" >&6; } fi if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF #define PRI_MACROS_BROKEN 1 _ACEOF PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 $as_echo_n "checking where to find the exponent in a 'double'... " >&6; } if ${gl_cv_cc_double_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "mixed_endianness" >/dev/null 2>&1; then : gl_cv_cc_double_expbit0="unknown" else : if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi : case $ac_cv_c_bigendian in #( yes) gl_cv_cc_double_expbit0="word 0 bit 20";; #( no) gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) gl_cv_cc_double_expbit0="unknown" ;; esac fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_double_expbit0=`cat conftest.out` else gl_cv_cc_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 $as_echo "$gl_cv_cc_double_expbit0" >&6; } case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_BIT $bit _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 $as_echo_n "checking where to find the exponent in a 'float'... " >&6; } if ${gl_cv_cc_float_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_float_expbit0="word 0 bit 23" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_float_expbit0=`cat conftest.out` else gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 $as_echo "$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac GNULIB_ISWBLANK=0; GNULIB_WCTYPE=0; GNULIB_ISWCTYPE=0; GNULIB_WCTRANS=0; GNULIB_TOWCTRANS=0; HAVE_ISWBLANK=1; HAVE_WCTYPE_T=1; HAVE_WCTRANS_T=1; REPLACE_ISWBLANK=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } if ${gt_cv_c_wint_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wint_t=yes else gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 $as_echo "$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then $as_echo "#define HAVE_WINT_T 1" >>confdefs.h fi if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_wctype_h='<'wctype.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5 $as_echo_n "checking absolute name of <wctype.h>... " >&6; } if ${gl_cv_next_wctype_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wctype_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <wctype.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'wctype.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_wctype_h='<'wctype.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 $as_echo "$gl_cv_next_wctype_h" >&6; } fi NEXT_WCTYPE_H=$gl_cv_next_wctype_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'wctype.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_wctype_h fi NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 $as_echo_n "checking whether iswcntrl works... " >&6; } if ${gl_cv_func_iswcntrl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_iswcntrl_works="guessing yes" else gl_cv_func_iswcntrl_works="guessing no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> int main () { return iswprint ('x') == 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_iswcntrl_works=yes else gl_cv_func_iswcntrl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 $as_echo "$gl_cv_func_iswcntrl_works" >&6; } fi HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi case "$gl_cv_func_iswcntrl_works" in *yes) REPLACE_ISWCNTRL=0 ;; *) REPLACE_ISWCNTRL=1 ;; esac if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : fi if test $REPLACE_ISWCNTRL = 1; then REPLACE_TOWLOWER=1 else for ac_func in towlower do : ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" if test "x$ac_cv_func_towlower" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TOWLOWER 1 _ACEOF fi done if test $ac_cv_func_towlower = yes; then REPLACE_TOWLOWER=0 else ac_fn_c_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if HAVE_WCTYPE_H # include <wctype.h> #endif " if test "x$ac_cv_have_decl_towlower" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TOWLOWER $ac_have_decl _ACEOF if test $ac_cv_have_decl_towlower = yes; then REPLACE_TOWLOWER=1 else REPLACE_TOWLOWER=0 fi fi fi if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then : fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 $as_echo_n "checking for wctype_t... " >&6; } if ${gl_cv_type_wctype_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if HAVE_WCTYPE_H # include <wctype.h> #endif wctype_t a; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctype_t=yes else gl_cv_type_wctype_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5 $as_echo "$gl_cv_type_wctype_t" >&6; } if test $gl_cv_type_wctype_t = no; then HAVE_WCTYPE_T=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 $as_echo_n "checking for wctrans_t... " >&6; } if ${gl_cv_type_wctrans_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> wctrans_t a; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctrans_t=yes else gl_cv_type_wctrans_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5 $as_echo "$gl_cv_type_wctrans_t" >&6; } if test $gl_cv_type_wctrans_t = no; then HAVE_WCTRANS_T=0 fi GNULIB_NL_LANGINFO=0; HAVE_NL_LANGINFO=1; REPLACE_NL_LANGINFO=0; ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5 $as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; } if ${ac_cv_gnu_library_2_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif #ifdef __UCLIBC__ Lucky user #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky" >/dev/null 2>&1; then : ac_cv_gnu_library_2_1=yes else ac_cv_gnu_library_2_1=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 $as_echo "$ac_cv_gnu_library_2_1" >&6; } GLIBC21="$ac_cv_gnu_library_2_1" GNULIB_LOCALECONV=0; GNULIB_SETLOCALE=0; GNULIB_DUPLOCALE=0; HAVE_DUPLOCALE=1; REPLACE_LOCALECONV=0; REPLACE_SETLOCALE=0; REPLACE_DUPLOCALE=0; REPLACE_STRUCT_LCONV=0; REPLACE_NULL=0; HAVE_WCHAR_T=1; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } if ${gt_cv_c_wchar_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wchar_t=yes else gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 $as_echo "$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi STDDEF_H= if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } if ${gl_cv_decl_null_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_null_works=yes else gl_cv_decl_null_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 $as_echo "$gl_cv_decl_null_works" >&6; } if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 STDDEF_H=stddef.h fi if test -n "$STDDEF_H"; then GL_GENERATE_STDDEF_H_TRUE= GL_GENERATE_STDDEF_H_FALSE='#' else GL_GENERATE_STDDEF_H_TRUE='#' GL_GENERATE_STDDEF_H_FALSE= fi if test -n "$STDDEF_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_stddef_h='<'stddef.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5 $as_echo_n "checking absolute name of <stddef.h>... " >&6; } if ${gl_cv_next_stddef_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stddef.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 $as_echo "$gl_cv_next_stddef_h" >&6; } fi NEXT_STDDEF_H=$gl_cv_next_stddef_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stddef.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stddef_h fi NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive fi gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 $as_echo_n "checking whether imported symbols can be declared weak... " >&6; } if ${gl_cv_have_weak+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_have_weak=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy int main () { xyzzy(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_have_weak=maybe fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test $gl_cv_have_weak = maybe; then if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ Extensible Linking Format #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Extensible Linking Format" >/dev/null 2>&1; then : gl_cv_have_weak="guessing yes" else gl_cv_have_weak="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #pragma weak fputs int main () { return (fputs == NULL); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_have_weak=yes else gl_cv_have_weak=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 $as_echo "$gl_cv_have_weak" >&6; } if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes; then : gl_have_pthread_h=yes else gl_have_pthread_h=no fi if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> int main () { pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pthread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h esac fi else # Some library is needed. Try libpthread and libc_r. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread fi if test -z "$gl_have_pthread"; then # For FreeBSD 4. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 $as_echo_n "checking for pthread_kill in -lc_r... " >&6; } if ${ac_cv_lib_c_r_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_r_pthread_kill=yes else ac_cv_lib_c_r_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 $as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; } if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r fi fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix $as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then $as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <thread.h> #include <synch.h> int main () { thr_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_solaristhread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then $as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 $as_echo_n "checking how to link with libpth... " >&6; } if ${ac_cv_libpth_libs+:} false; then : $as_echo_n "(cached) " >&6 else use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libpth-prefix was given. if test "${with_libpth_prefix+set}" = set; then : withval=$with_libpth_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBPTH= LTLIBPTH= INCPTH= LIBPTH_PREFIX= HAVE_LIBPTH= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='pth ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" else LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'pth'; then LIBPTH_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'pth'; then LIBPTH_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" ;; esac done fi else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" done fi ac_cv_libpth_libs="$LIBPTH" ac_cv_libpth_ltlibs="$LTLIBPTH" ac_cv_libpth_cppflags="$INCPTH" ac_cv_libpth_prefix="$LIBPTH_PREFIX" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 $as_echo "$ac_cv_libpth_libs" >&6; } LIBPTH="$ac_cv_libpth_libs" LTLIBPTH="$ac_cv_libpth_ltlibs" INCPTH="$ac_cv_libpth_cppflags" LIBPTH_PREFIX="$ac_cv_libpth_prefix" for element in $INCPTH; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done HAVE_LIBPTH=yes gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS $LIBPTH" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pth.h> int main () { pth_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pth=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_PTH_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then $as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then case "$gl_use_threads" in yes | windows | win32) # The 'win32' is for backward compatibility. if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=windows $as_echo "#define USE_WINDOWS_THREADS 1" >>confdefs.h fi ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5 $as_echo_n "checking for multithread API to use... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5 $as_echo "$gl_threads_api" >&6; } for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on platforms where we know the result. *-gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_malloc_0_nonnull=yes ;; # If we don't know, assume the worst. *) ac_cv_func_malloc_0_nonnull=no ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include <stdlib.h> #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : gl_cv_func_malloc_0_nonnull=1 else gl_cv_func_malloc_0_nonnull=0 fi cat >>confdefs.h <<_ACEOF #define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if ${gt_cv_locale_ja+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_mbrtowc" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBRTOWC $ac_have_decl _ACEOF if test $ac_cv_have_decl_mbrtowc = yes; then REPLACE_MBRTOWC=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5 $as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; } if ${gl_cv_func_mbrtowc_null_arg1+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "\303\237er"; mbstate_t state; wchar_t wc; size_t ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 5, &state); if (ret != 2) result |= 1; if (!mbsinit (&state)) result |= 2; memset (&state, '\0', sizeof (mbstate_t)); ret = mbrtowc (NULL, input, 5, &state); if (ret != 2) /* Solaris 7 fails here: ret is -1. */ result |= 4; if (!mbsinit (&state)) result |= 8; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_null_arg1=yes else gl_cv_func_mbrtowc_null_arg1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5 $as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5 $as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; } if ${gl_cv_func_mbrtowc_null_arg2+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { mbstate_t state; wchar_t wc; int ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; mbrtowc (&wc, NULL, 5, &state); /* Check that wc was not modified. */ if (wc != (wchar_t) 0xBADFACE) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_null_arg2=yes else gl_cv_func_mbrtowc_null_arg2=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5 $as_echo "$gl_cv_func_mbrtowc_null_arg2" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5 $as_echo_n "checking whether mbrtowc has a correct return value... " >&6; } if ${gl_cv_func_mbrtowc_retval+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on HP-UX, Solaris, native Windows. hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_retval="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ || { case "$host_os" in mingw*) true;; *) false;; esac; }; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; int found_some_locale = 0; /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 1) result |= 1; } found_some_locale = 1; } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 2) result |= 2; } found_some_locale = 1; } /* This fails on native Windows. */ if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) { char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 4; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) { char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 8; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_China.936") != NULL) { char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 16; } found_some_locale = 1; } return (found_some_locale ? result : 77); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_retval=yes else if test $? != 77; then gl_cv_func_mbrtowc_retval=no fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_retval" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5 $as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; } if ${gl_cv_func_mbrtowc_nul_retval+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8 and 9. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, "", 1, &state) != 0) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_nul_retval=yes else gl_cv_func_mbrtowc_nul_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } case "$gl_cv_func_mbrtowc_null_arg1" in *yes) ;; *) $as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_null_arg2" in *yes) ;; *) $as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_nul_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac fi fi GNULIB_FFSL=0; GNULIB_FFSLL=0; GNULIB_MEMCHR=0; GNULIB_MEMMEM=0; GNULIB_MEMPCPY=0; GNULIB_MEMRCHR=0; GNULIB_RAWMEMCHR=0; GNULIB_STPCPY=0; GNULIB_STPNCPY=0; GNULIB_STRCHRNUL=0; GNULIB_STRDUP=0; GNULIB_STRNCAT=0; GNULIB_STRNDUP=0; GNULIB_STRNLEN=0; GNULIB_STRPBRK=0; GNULIB_STRSEP=0; GNULIB_STRSTR=0; GNULIB_STRCASESTR=0; GNULIB_STRTOK_R=0; GNULIB_MBSLEN=0; GNULIB_MBSNLEN=0; GNULIB_MBSCHR=0; GNULIB_MBSRCHR=0; GNULIB_MBSSTR=0; GNULIB_MBSCASECMP=0; GNULIB_MBSNCASECMP=0; GNULIB_MBSPCASECMP=0; GNULIB_MBSCASESTR=0; GNULIB_MBSCSPN=0; GNULIB_MBSPBRK=0; GNULIB_MBSSPN=0; GNULIB_MBSSEP=0; GNULIB_MBSTOK_R=0; GNULIB_STRERROR=0; GNULIB_STRERROR_R=0; GNULIB_STRSIGNAL=0; GNULIB_STRVERSCMP=0; HAVE_MBSLEN=0; HAVE_FFSL=1; HAVE_FFSLL=1; HAVE_MEMCHR=1; HAVE_DECL_MEMMEM=1; HAVE_MEMPCPY=1; HAVE_DECL_MEMRCHR=1; HAVE_RAWMEMCHR=1; HAVE_STPCPY=1; HAVE_STPNCPY=1; HAVE_STRCHRNUL=1; HAVE_DECL_STRDUP=1; HAVE_DECL_STRNDUP=1; HAVE_DECL_STRNLEN=1; HAVE_STRPBRK=1; HAVE_STRSEP=1; HAVE_STRCASESTR=1; HAVE_DECL_STRTOK_R=1; HAVE_DECL_STRERROR_R=1; HAVE_DECL_STRSIGNAL=1; HAVE_STRVERSCMP=1; REPLACE_MEMCHR=0; REPLACE_MEMMEM=0; REPLACE_STPNCPY=0; REPLACE_STRDUP=0; REPLACE_STRSTR=0; REPLACE_STRCASESTR=0; REPLACE_STRCHRNUL=0; REPLACE_STRERROR=0; REPLACE_STRERROR_R=0; REPLACE_STRNCAT=0; REPLACE_STRNDUP=0; REPLACE_STRNLEN=0; REPLACE_STRSIGNAL=0; REPLACE_STRTOK_R=0; UNDEFINE_STRTOK_R=0; # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi if test $HAVE_MEMCHR = 1; then # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # http://bugzilla.redhat.com/499689 # memchr should not dereference overestimated length after a match # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 # Assume that memchr works on platforms that lack mprotect. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 $as_echo_n "checking whether memchr works... " >&6; } if ${gl_cv_func_memchr_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_memchr_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #if HAVE_SYS_MMAN_H # include <fcntl.h> # include <unistd.h> # include <sys/types.h> # include <sys/mman.h> # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif int main () { int result = 0; char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { if (memchr (fence, 0, 0)) result |= 1; strcpy (fence - 9, "12345678"); if (memchr (fence - 9, 0, 79) != fence - 1) result |= 2; if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_memchr_works=yes else gl_cv_func_memchr_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 $as_echo "$gl_cv_func_memchr_works" >&6; } if test "$gl_cv_func_memchr_works" != yes; then REPLACE_MEMCHR=1 fi fi ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default" if test "x$ac_cv_have_decl_memrchr" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MEMRCHR $ac_have_decl _ACEOF GNULIB_MKTIME=0; GNULIB_NANOSLEEP=0; GNULIB_STRPTIME=0; GNULIB_TIMEGM=0; GNULIB_TIME_R=0; HAVE_DECL_LOCALTIME_R=1; HAVE_NANOSLEEP=1; HAVE_STRPTIME=1; HAVE_TIMEGM=1; REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; REPLACE_MKTIME=GNULIB_PORTCHECK; REPLACE_NANOSLEEP=GNULIB_PORTCHECK; REPLACE_TIMEGM=GNULIB_PORTCHECK; GNULIB_PSELECT=0; GNULIB_SELECT=0; HAVE_PSELECT=1; REPLACE_PSELECT=0; REPLACE_SELECT=0; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/select.h> is self-contained" >&5 $as_echo_n "checking whether <sys/select.h> is self-contained... " >&6; } if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { struct timeval b; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_select_h_selfcontained=yes else gl_cv_header_sys_select_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $gl_cv_header_sys_select_h_selfcontained = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { int memset; int bzero; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { #undef memset #define memset nonexistent_memset extern #ifdef __cplusplus "C" #endif void *memset (void *, int, unsigned long); #undef bzero #define bzero nonexistent_bzero extern #ifdef __cplusplus "C" #endif void bzero (void *, unsigned long); fd_set fds; FD_ZERO (&fds); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else gl_cv_header_sys_select_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 $as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_select_h='<'sys/select.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/select.h>" >&5 $as_echo_n "checking absolute name of <sys/select.h>... " >&6; } if ${gl_cv_next_sys_select_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_select_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/select.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_select_h='<'sys/select.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 $as_echo "$gl_cv_next_sys_select_h" >&6; } fi NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/select.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_select_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive if test $ac_cv_header_sys_select_h = yes; then HAVE_SYS_SELECT_H=1 else HAVE_SYS_SELECT_H=0 fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi LIBSOCKET= if test $HAVE_WINSOCK2_H = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 $as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_func_wsastartup+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H # include <winsock2.h> #endif int main () { WORD wVersionRequested = MAKEWORD(1, 1); WSADATA wsaData; int err = WSAStartup(wVersionRequested, &wsaData); WSACleanup (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_wsastartup=yes else gl_cv_func_wsastartup=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 $as_echo "$gl_cv_func_wsastartup" >&6; } if test "$gl_cv_func_wsastartup" = "yes"; then $as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h LIBSOCKET='-lws2_32' fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 $as_echo_n "checking for library containing setsockopt... " >&6; } if ${gl_cv_lib_socket+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_lib_socket= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else gl_save_LIBS="$LIBS" LIBS="$gl_save_LIBS -lsocket" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lsocket" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnetwork" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lnetwork" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnet" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lnet" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi fi LIBS="$gl_save_LIBS" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then gl_cv_lib_socket="none needed" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 $as_echo "$gl_cv_lib_socket" >&6; } if test "$gl_cv_lib_socket" != "none needed"; then LIBSOCKET="$gl_cv_lib_socket" fi fi : if test "$ac_cv_header_winsock2_h" = yes; then REPLACE_SELECT=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 $as_echo_n "checking whether select supports a 0 argument... " >&6; } if ${gl_cv_func_select_supports0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on Interix. interix*) gl_cv_func_select_supports0="guessing no";; # Guess yes otherwise. *) gl_cv_func_select_supports0="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/time.h> #if HAVE_SYS_SELECT_H #include <sys/select.h> #endif int main () { struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_select_supports0=yes else gl_cv_func_select_supports0=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 $as_echo "$gl_cv_func_select_supports0" >&6; } case "$gl_cv_func_select_supports0" in *yes) ;; *) REPLACE_SELECT=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5 $as_echo_n "checking whether select detects invalid fds... " >&6; } if ${gl_cv_func_select_detects_ebadf+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/time.h> #if HAVE_SYS_SELECT_H # include <sys/select.h> #endif #include <unistd.h> #include <errno.h> int main () { fd_set set; dup2(0, 16); FD_ZERO(&set); FD_SET(16, &set); close(16); struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_select_detects_ebadf=yes else gl_cv_func_select_detects_ebadf=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5 $as_echo "$gl_cv_func_select_detects_ebadf" >&6; } case $gl_cv_func_select_detects_ebadf in *yes) ;; *) REPLACE_SELECT=1 ;; esac fi LIB_SELECT="$LIBSOCKET" if test $REPLACE_SELECT = 1; then case "$host_os" in mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> int main () { MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else LIB_SELECT="$LIB_SELECT -luser32" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdbool.h> #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; /* The following fails for HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test -n "$STDBOOL_H"; then GL_GENERATE_STDBOOL_H_TRUE= GL_GENERATE_STDBOOL_H_FALSE='#' else GL_GENERATE_STDBOOL_H_TRUE='#' GL_GENERATE_STDBOOL_H_FALSE= fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi # parse-datetime.y works with bison only. : ${YACC='bison -y'} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compound literals" >&5 $as_echo_n "checking for compound literals... " >&6; } if ${gl_cv_compound_literals+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ struct s { int i, j; }; int main () { struct s t = (struct s) { 3, 4 }; if (t.i != 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_compound_literals=yes else gl_cv_compound_literals=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compound_literals" >&5 $as_echo "$gl_cv_compound_literals" >&6; } if test $gl_cv_compound_literals = yes; then $as_echo "#define HAVE_COMPOUND_LITERALS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <time.h> int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include <time.h> " if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : $as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for external symbol _system_configuration" >&5 $as_echo_n "checking for external symbol _system_configuration... " >&6; } if ${gl_cv_var__system_configuration+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/systemcfg.h> int main () { double x = _system_configuration.physmem; if (x > 0.0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_var__system_configuration=yes else gl_cv_var__system_configuration=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var__system_configuration" >&5 $as_echo "$gl_cv_var__system_configuration" >&6; } if test $gl_cv_var__system_configuration = yes; then $as_echo "#define HAVE__SYSTEM_CONFIGURATION 1" >>confdefs.h fi GNULIB_POSIX_SPAWN=0; GNULIB_POSIX_SPAWNP=0; GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT=0; GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=0; GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=0; GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=0; GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY=0; GNULIB_POSIX_SPAWNATTR_INIT=0; GNULIB_POSIX_SPAWNATTR_GETFLAGS=0; GNULIB_POSIX_SPAWNATTR_SETFLAGS=0; GNULIB_POSIX_SPAWNATTR_GETPGROUP=0; GNULIB_POSIX_SPAWNATTR_SETPGROUP=0; GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM=0; GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM=0; GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY=0; GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY=0; GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT=0; GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT=0; GNULIB_POSIX_SPAWNATTR_GETSIGMASK=0; GNULIB_POSIX_SPAWNATTR_SETSIGMASK=0; GNULIB_POSIX_SPAWNATTR_DESTROY=0; HAVE_POSIX_SPAWN=1; HAVE_POSIX_SPAWNATTR_T=1; HAVE_POSIX_SPAWN_FILE_ACTIONS_T=1; REPLACE_POSIX_SPAWN=0; REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=0; REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=0; REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=0; if test $ac_cv_func_posix_spawn != yes; then HAVE_POSIX_SPAWN=0 fi if test $ac_cv_func_posix_spawn = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawn works" >&5 $as_echo_n "checking whether posix_spawn works... " >&6; } if ${gl_cv_func_posix_spawn_works+:} false; then : $as_echo_n "(cached) " >&6 else if test $cross_compiling = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <fcntl.h> #include <signal.h> #include <spawn.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> extern char **environ; #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif #ifndef WTERMSIG # define WTERMSIG(x) ((x) & 0x7f) #endif #ifndef WIFEXITED # define WIFEXITED(x) (WTERMSIG (x) == 0) #endif #ifndef WEXITSTATUS # define WEXITSTATUS(x) (((x) >> 8) & 0xff) #endif #define CHILD_PROGRAM_FILENAME "/non/exist/ent" static int fd_safer (int fd) { if (0 <= fd && fd <= 2) { int f = fd_safer (dup (fd)); int e = errno; close (fd); errno = e; fd = f; } return fd; } int main () { char *argv[2] = { CHILD_PROGRAM_FILENAME, NULL }; int ofd[2]; sigset_t blocked_signals; sigset_t fatal_signal_set; posix_spawn_file_actions_t actions; bool actions_allocated; posix_spawnattr_t attrs; bool attrs_allocated; int err; pid_t child; int status; int exitstatus; setvbuf (stdout, NULL, _IOFBF, 0); puts ("This should be seen only once."); if (pipe (ofd) < 0 || (ofd[1] = fd_safer (ofd[1])) < 0) { perror ("cannot create pipe"); exit (1); } sigprocmask (SIG_SETMASK, NULL, &blocked_signals); sigemptyset (&fatal_signal_set); sigaddset (&fatal_signal_set, SIGINT); sigaddset (&fatal_signal_set, SIGTERM); sigaddset (&fatal_signal_set, SIGHUP); sigaddset (&fatal_signal_set, SIGPIPE); sigprocmask (SIG_BLOCK, &fatal_signal_set, NULL); actions_allocated = false; attrs_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_adddup2 (&actions, ofd[0], STDIN_FILENO)) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[0])) != 0 || (err = posix_spawn_file_actions_addclose (&actions, ofd[1])) != 0 || (err = posix_spawnattr_init (&attrs)) != 0 || (attrs_allocated = true, (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnp (&child, CHILD_PROGRAM_FILENAME, &actions, &attrs, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); if (err == ENOENT) return 0; else { errno = err; perror ("subprocess failed"); exit (1); } } posix_spawn_file_actions_destroy (&actions); posix_spawnattr_destroy (&attrs); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); close (ofd[0]); close (ofd[1]); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); exit (1); } exitstatus = WEXITSTATUS (status); if (exitstatus != 127) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); exit (1); } return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test -s conftest$ac_exeext \ && ./conftest$ac_exeext > conftest.out \ && echo 'This should be seen only once.' > conftest.ok \ && cmp conftest.out conftest.ok > /dev/null; then gl_cv_func_posix_spawn_works=yes else gl_cv_func_posix_spawn_works=no fi else gl_cv_func_posix_spawn_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test $gl_cv_func_posix_spawn_works = yes; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test whether posix_spawn_file_actions_addopen supports filename arguments that contain special characters such as '*'. */ #include <errno.h> #include <fcntl.h> #include <signal.h> #include <spawn.h> #include <stdbool.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> extern char **environ; #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif #ifndef WTERMSIG # define WTERMSIG(x) ((x) & 0x7f) #endif #ifndef WIFEXITED # define WIFEXITED(x) (WTERMSIG (x) == 0) #endif #ifndef WEXITSTATUS # define WEXITSTATUS(x) (((x) >> 8) & 0xff) #endif #define CHILD_PROGRAM_FILENAME "conftest" #define DATA_FILENAME "conftest%=*#?" static int parent_main (void) { FILE *fp; char *argv[3] = { CHILD_PROGRAM_FILENAME, "-child", NULL }; posix_spawn_file_actions_t actions; bool actions_allocated; int err; pid_t child; int status; int exitstatus; /* Create a data file with specific contents. */ fp = fopen (DATA_FILENAME, "wb"); if (fp == NULL) { perror ("cannot create data file"); return 1; } fwrite ("Halle Potta", 1, 11, fp); if (fflush (fp) || fclose (fp)) { perror ("cannot prepare data file"); return 2; } /* Avoid reading from our stdin, as it could block. */ freopen ("/dev/null", "rb", stdin); /* Test whether posix_spawn_file_actions_addopen with this file name actually works, but spawning a child that reads from this file. */ actions_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (err = posix_spawn_file_actions_addopen (&actions, STDIN_FILENO, DATA_FILENAME, O_RDONLY, 0600)) != 0 || (err = posix_spawn (&child, CHILD_PROGRAM_FILENAME, &actions, NULL, argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); errno = err; perror ("subprocess failed"); return 3; } posix_spawn_file_actions_destroy (&actions); status = 0; while (waitpid (child, &status, 0) != child) ; if (!WIFEXITED (status)) { fprintf (stderr, "subprocess terminated with unexpected wait status %d\n", status); return 4; } exitstatus = WEXITSTATUS (status); if (exitstatus != 0) { fprintf (stderr, "subprocess terminated with unexpected exit status %d\n", exitstatus); return 5; } return 0; } static int child_main (void) { char buf[1024]; /* See if reading from STDIN_FILENO yields the expected contents. */ if (fread (buf, 1, sizeof (buf), stdin) == 11 && memcmp (buf, "Halle Potta", 11) == 0) return 0; else return 8; } static void cleanup_then_die (int sig) { /* Clean up data file. */ unlink (DATA_FILENAME); /* Re-raise the signal and die from it. */ signal (sig, SIG_DFL); raise (sig); } int main (int argc, char *argv[]) { int exitstatus; if (!(argc > 1 && strcmp (argv[1], "-child") == 0)) { /* This is the parent process. */ signal (SIGINT, cleanup_then_die); signal (SIGTERM, cleanup_then_die); #ifdef SIGHUP signal (SIGHUP, cleanup_then_die); #endif exitstatus = parent_main (); } else { /* This is the child process. */ exitstatus = child_main (); } unlink (DATA_FILENAME); return exitstatus; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else gl_cv_func_posix_spawn_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi else case "$host_os" in aix*) gl_cv_func_posix_spawn_works="guessing no";; *) gl_cv_func_posix_spawn_works="guessing yes";; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_posix_spawn_works" >&5 $as_echo "$gl_cv_func_posix_spawn_works" >&6; } case "$gl_cv_func_posix_spawn_works" in *yes) $as_echo "#define HAVE_WORKING_POSIX_SPAWN 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawnattr_setschedpolicy is supported" >&5 $as_echo_n "checking whether posix_spawnattr_setschedpolicy is supported... " >&6; } if ${gl_cv_func_spawnattr_setschedpolicy+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> #if POSIX_SPAWN_SETSCHEDULER POSIX scheduling supported #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "POSIX scheduling supported" >/dev/null 2>&1; then : gl_cv_func_spawnattr_setschedpolicy=yes else gl_cv_func_spawnattr_setschedpolicy=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_spawnattr_setschedpolicy" >&5 $as_echo "$gl_cv_func_spawnattr_setschedpolicy" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawnattr_setschedparam is supported" >&5 $as_echo_n "checking whether posix_spawnattr_setschedparam is supported... " >&6; } if ${gl_cv_func_spawnattr_setschedparam+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> #if POSIX_SPAWN_SETSCHEDPARAM POSIX scheduling supported #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "POSIX scheduling supported" >/dev/null 2>&1; then : gl_cv_func_spawnattr_setschedparam=yes else gl_cv_func_spawnattr_setschedparam=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_spawnattr_setschedparam" >&5 $as_echo "$gl_cv_func_spawnattr_setschedparam" >&6; } ;; *) REPLACE_POSIX_SPAWN=1 ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for desired default level of POSIX conformance" >&5 $as_echo_n "checking for desired default level of POSIX conformance... " >&6; } gl_default_posix2_version=none-specified if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value cat >>confdefs.h <<_ACEOF #define DEFAULT_POSIX2_VERSION $gl_default_posix2_version _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_default_posix2_version" >&5 $as_echo "$gl_default_posix2_version" >&6; } HAVE_PTHREAD_H=1; HAVE_PTHREAD_T=1; HAVE_PTHREAD_SPINLOCK_T=1; GNULIB_PTHREAD_SIGMASK=0; GNULIB_RAISE=0; GNULIB_SIGNAL_H_SIGPIPE=0; GNULIB_SIGPROCMASK=0; GNULIB_SIGACTION=0; HAVE_POSIX_SIGNALBLOCKING=1; HAVE_PTHREAD_SIGMASK=1; HAVE_RAISE=1; HAVE_SIGSET_T=1; HAVE_SIGINFO_T=1; HAVE_SIGACTION=1; HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; HAVE_SIGHANDLER_T=1; REPLACE_PTHREAD_SIGMASK=0; REPLACE_RAISE=0; ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " #include <signal.h> /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>. */ #include <sys/types.h> " if test "x$ac_cv_type_sigset_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIGSET_T 1 _ACEOF gl_cv_type_sigset_t=yes else gl_cv_type_sigset_t=no fi if test $gl_cv_type_sigset_t != yes; then HAVE_SIGSET_T=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5 $as_echo_n "checking whether rmdir works... " >&6; } if ${gl_cv_func_rmdir_works+:} false; then : $as_echo_n "(cached) " >&6 else mkdir conftest.dir touch conftest.file if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rmdir_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <errno.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <direct.h> #endif int main () { int result = 0; if (!rmdir ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; if (!rmdir ("conftest.dir/./")) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rmdir_works=yes else gl_cv_func_rmdir_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rmdir_works" >&5 $as_echo "$gl_cv_func_rmdir_works" >&6; } case "$gl_cv_func_rmdir_works" in *yes) ;; *) REPLACE_RMDIR=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink honors trailing slashes" >&5 $as_echo_n "checking whether unlink honors trailing slashes... " >&6; } if ${gl_cv_func_unlink_honors_slashes+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_unlink_honors_slashes="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif #include <errno.h> int main () { int result = 0; if (!unlink ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; #if HAVE_LSTAT if (!unlink ("conftest.lnk/")) result |= 4; else if (errno != ENOTDIR) result |= 8; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_honors_slashes=yes else gl_cv_func_unlink_honors_slashes=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_honors_slashes" >&5 $as_echo "$gl_cv_func_unlink_honors_slashes" >&6; } case "$gl_cv_func_unlink_honors_slashes" in *no) REPLACE_UNLINK=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink of a parent directory fails as it should" >&5 $as_echo_n "checking whether unlink of a parent directory fails as it should... " >&6; } if ${gl_cv_func_unlink_parent_fails+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in darwin*) if { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=/tmp/gt$$-$RANDOM (umask 077 && mkdir "$tmp") }; then mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK if test "$cross_compiling" = yes; then : # If we don't know, assume the worst. gl_cv_func_unlink_parent_fails="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <direct.h> # include <io.h> #endif int main () { int result = 0; if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) result |= 1; else if (unlink ("..") == 0) result |= 2; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_parent_fails=yes else gl_cv_func_unlink_parent_fails=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else gl_cv_func_unlink_parent_fails="guessing no" fi ;; *) gl_cv_func_unlink_parent_fails="guessing yes" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_parent_fails" >&5 $as_echo "$gl_cv_func_unlink_parent_fails" >&6; } case "$gl_cv_func_unlink_parent_fails" in *no) REPLACE_UNLINK=1 $as_echo "#define UNLINK_PARENT_BUG 1" >>confdefs.h ;; esac # Check whether --with-selinux was given. if test "${with_selinux+set}" = set; then : withval=$with_selinux; else with_selinux=maybe fi LIB_SELINUX= if test "$with_selinux" != no; then gl_save_LIBS=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setfilecon" >&5 $as_echo_n "checking for library containing setfilecon... " >&6; } if ${ac_cv_search_setfilecon+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char setfilecon (); int main () { return setfilecon (); ; return 0; } _ACEOF for ac_lib in '' selinux; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_setfilecon=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_setfilecon+:} false; then : break fi done if ${ac_cv_search_setfilecon+:} false; then : else ac_cv_search_setfilecon=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setfilecon" >&5 $as_echo "$ac_cv_search_setfilecon" >&6; } ac_res=$ac_cv_search_setfilecon if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_setfilecon" = "none required" || LIB_SELINUX=$ac_cv_search_setfilecon fi LIBS=$gl_save_LIBS fi # Warn if SELinux is found but libselinux is absent; if test "$ac_cv_search_setfilecon" = no && test "$host" = "$build" && test -d /selinux; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5 $as_echo "$as_me: WARNING: This system supports SELinux but libselinux is missing." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be compiled without SELinux support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be compiled without SELinux support." >&2;} fi ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" if test "x$ac_cv_have_decl_setenv" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SETENV $ac_have_decl _ACEOF if test $ac_cv_have_decl_setenv = no; then HAVE_DECL_SETENV=0 fi for ac_header in search.h do : ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" if test "x$ac_cv_header_search_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SEARCH_H 1 _ACEOF fi done for ac_func in tsearch do : ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" if test "x$ac_cv_func_tsearch" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TSEARCH 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5 $as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; } if ${gl_cv_func_snprintf_retval_c99+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_snprintf_retval_c99="guessing no";; openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_retval_c99="guessing no";; netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_retval_c99="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include <stdarg.h> static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif static char buf[100]; int main () { strcpy (buf, "ABCDEF"); if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) return 2; if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) return 3; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_snprintf_retval_c99=yes else gl_cv_func_snprintf_retval_c99=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5 $as_echo "$gl_cv_func_snprintf_retval_c99" >&6; } ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" if test "x$ac_cv_have_decl_snprintf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SNPRINTF $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "stpncpy" "ac_cv_have_decl_stpncpy" "$ac_includes_default" if test "x$ac_cv_have_decl_stpncpy" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STPNCPY $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" if test "x$ac_cv_have_decl_strdup" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP $ac_have_decl _ACEOF REPLACE_STRERROR_0=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 $as_echo_n "checking whether strerror(0) succeeds... " >&6; } if ${gl_cv_func_strerror_0_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_strerror_0_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #include <errno.h> int main () { int result = 0; char *str; errno = 0; str = strerror (0); if (!*str) result |= 1; if (errno) result |= 2; if (strstr (str, "nknown") || strstr (str, "ndefined")) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strerror_0_works=yes else gl_cv_func_strerror_0_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 $as_echo "$gl_cv_func_strerror_0_works" >&6; } case "$gl_cv_func_strerror_0_works" in *yes) ;; *) REPLACE_STRERROR_0=1 $as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h ;; esac if test $ac_cv_func_strerror_r = yes; then if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5 $as_echo_n "checking for strerror_r with POSIX signature... " >&6; } if ${gl_cv_func_strerror_r_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> int strerror_r (int, char *, size_t); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_strerror_r_posix_signature=yes else gl_cv_func_strerror_r_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5 $as_echo "$gl_cv_func_strerror_r_posix_signature" >&6; } if test $gl_cv_func_strerror_r_posix_signature = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5 $as_echo_n "checking whether strerror_r works... " >&6; } if ${gl_cv_func_strerror_r_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on AIX. aix*) gl_cv_func_strerror_r_works="guessing no";; # Guess no on HP-UX. hpux*) gl_cv_func_strerror_r_works="guessing no";; # Guess no on BSD variants. *bsd*) gl_cv_func_strerror_r_works="guessing no";; # Guess yes otherwise. *) gl_cv_func_strerror_r_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <string.h> int main () { int result = 0; char buf[79]; if (strerror_r (EACCES, buf, 0) < 0) result |= 1; errno = 0; if (strerror_r (EACCES, buf, sizeof buf) != 0) result |= 2; strcpy (buf, "Unknown"); if (strerror_r (0, buf, sizeof buf) != 0) result |= 4; if (errno) result |= 8; if (strstr (buf, "nknown") || strstr (buf, "ndefined")) result |= 0x10; errno = 0; *buf = 0; if (strerror_r (-3, buf, sizeof buf) < 0) result |= 0x20; if (errno) result |= 0x40; if (!*buf) result |= 0x80; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strerror_r_works=yes else gl_cv_func_strerror_r_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 $as_echo "$gl_cv_func_strerror_r_works" >&6; } else if test $ac_cv_func___xpg_strerror_r = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5 $as_echo_n "checking whether __xpg_strerror_r works... " >&6; } if ${gl_cv_func_strerror_r_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_strerror_r_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <string.h> extern #ifdef __cplusplus "C" #endif int __xpg_strerror_r(int, char *, size_t); int main () { int result = 0; char buf[256] = "^"; char copy[256]; char *str = strerror (-1); strcpy (copy, str); if (__xpg_strerror_r (-2, buf, 1) == 0) result |= 1; if (*buf) result |= 2; __xpg_strerror_r (-2, buf, 256); if (strcmp (str, copy)) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strerror_r_works=yes else gl_cv_func_strerror_r_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 $as_echo "$gl_cv_func_strerror_r_works" >&6; } fi fi fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_string_h='<'string.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5 $as_echo_n "checking absolute name of <string.h>... " >&6; } if ${gl_cv_next_string_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'string.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 $as_echo "$gl_cv_next_string_h" >&6; } fi NEXT_STRING_H=$gl_cv_next_string_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_string_h fi NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strncat works" >&5 $as_echo_n "checking whether strncat works... " >&6; } if ${gl_cv_func_strncat_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_strncat_works="guessing no";; # Guess yes otherwise. *) gl_cv_func_strncat_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #if HAVE_SYS_MMAN_H # include <fcntl.h> # include <unistd.h> # include <sys/types.h> # include <sys/mman.h> # ifndef MAP_FILE # define MAP_FILE 0 # endif #endif int main () { char *fence = NULL; #if HAVE_SYS_MMAN_H && HAVE_MPROTECT # if HAVE_MAP_ANONYMOUS const int flags = MAP_ANONYMOUS | MAP_PRIVATE; const int fd = -1; # else /* !HAVE_MAP_ANONYMOUS */ const int flags = MAP_FILE | MAP_PRIVATE; int fd = open ("/dev/zero", O_RDONLY, 0666); if (fd >= 0) # endif { int pagesize = getpagesize (); char *two_pages = (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, flags, fd, 0); if (two_pages != (char *)(-1) && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) fence = two_pages + pagesize; } #endif if (fence) { char dest[8]; dest[0] = '*'; dest[1] = 'a'; dest[2] = '\0'; dest[3] = 'w'; dest[4] = 'x'; dest[5] = 'y'; dest[6] = 'z'; *(fence - 3) = '7'; *(fence - 2) = '2'; *(fence - 1) = '9'; if (strncat (dest + 1, fence - 3, 3) != dest + 1) return 1; if (dest[0] != '*') return 2; if (dest[1] != 'a' || dest[2] != '7' || dest[3] != '2' || dest[4] != '9' || dest[5] != '\0') return 3; if (dest[6] != 'z') return 4; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strncat_works=yes else gl_cv_func_strncat_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strncat_works" >&5 $as_echo "$gl_cv_func_strncat_works" >&6; } case "$gl_cv_func_strncat_works" in *yes) ;; *) REPLACE_STRNCAT=1 ;; esac ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" if test "x$ac_cv_have_decl_strndup" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNDUP $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" if test "x$ac_cv_have_decl_strnlen" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNLEN $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strsignal" "ac_cv_have_decl_strsignal" "$ac_includes_default" if test "x$ac_cv_have_decl_strsignal" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRSIGNAL $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h> /* NetBSD declares sys_siglist in unistd.h. */ #ifdef HAVE_UNISTD_H # include <unistd.h> #endif " if test "x$ac_cv_have_decl_sys_siglist" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SYS_SIGLIST $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexp() can be used without linking with libm" >&5 $as_echo_n "checking whether ldexp() can be used without linking with libm... " >&6; } if ${gl_cv_func_ldexp_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __NO_MATH_INLINES # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include <math.h> double (*funcptr) (double, int) = ldexp; double x; int main () { return ldexp (x, -1) > 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_ldexp_no_libm=yes else gl_cv_func_ldexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexp_no_libm" >&5 $as_echo "$gl_cv_func_ldexp_no_libm" >&6; } ac_fn_c_check_decl "$LINENO" "strtoimax" "ac_cv_have_decl_strtoimax" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoimax" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOIMAX $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoumax" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOUMAX $ac_have_decl _ACEOF GNULIB_GETRUSAGE=0; HAVE_GETRUSAGE=1; GNULIB_UNAME=0; HAVE_UNAME=1; HAVE_STRUCT_UTSNAME=1; GNULIB_WAITPID=0; GNULIB_TCGETSID=0; HAVE_DECL_TCGETSID=1; HAVE_TERMIOS_H=1; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5 $as_echo_n "checking for struct timespec in <time.h>... " >&6; } if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timespec_in_time_h=yes else gl_cv_sys_struct_timespec_in_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5 $as_echo_n "checking for struct timespec in <sys/time.h>... " >&6; } if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/time.h> int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timespec_in_sys_time_h=yes else gl_cv_sys_struct_timespec_in_sys_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 $as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5 $as_echo_n "checking for struct timespec in <pthread.h>... " >&6; } if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_timespec_in_pthread_h=yes else gl_cv_sys_struct_timespec_in_pthread_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 fi fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_time_h='<'time.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5 $as_echo_n "checking absolute name of <time.h>... " >&6; } if ${gl_cv_next_time_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'time.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 $as_echo "$gl_cv_next_time_h" >&6; } fi NEXT_TIME_H=$gl_cv_next_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_time_h fi NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} i\ 0 q ' gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} i\ 0 q ' gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} i\ 0 q ' if test "$HAVE_LIBUNISTRING" = yes; then LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` fi ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" if test "x$ac_cv_have_decl_unsetenv" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_UNSETENV $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the utimes function works" >&5 $as_echo_n "checking whether the utimes function works... " >&6; } if ${gl_cv_func_working_utimes+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_working_utimes=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/time.h> #include <time.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <utime.h> static int inorder (time_t a, time_t b, time_t c) { return a <= b && b <= c; } int main () { int result = 0; char const *file = "conftest.utimes"; static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; /* Test whether utimes() essentially works. */ { struct stat sbuf; FILE *f = fopen (file, "w"); if (f == NULL) result |= 1; else if (fclose (f) != 0) result |= 1; else if (utimes (file, timeval) != 0) result |= 2; else if (lstat (file, &sbuf) != 0) result |= 1; else if (!(sbuf.st_atime == timeval[0].tv_sec && sbuf.st_mtime == timeval[1].tv_sec)) result |= 4; if (unlink (file) != 0) result |= 1; } /* Test whether utimes() with a NULL argument sets the file's timestamp to the current time. Use 'fstat' as well as 'time' to determine the "current" time, to accommodate NFS file systems if there is a time skew between the host and the NFS server. */ { int fd = open (file, O_WRONLY|O_CREAT, 0644); if (fd < 0) result |= 1; else { time_t t0, t2; struct stat st0, st1, st2; if (time (&t0) == (time_t) -1) result |= 1; else if (fstat (fd, &st0) != 0) result |= 1; else if (utimes (file, timeval) != 0) result |= 2; else if (utimes (file, NULL) != 0) result |= 8; else if (fstat (fd, &st1) != 0) result |= 1; else if (write (fd, "\n", 1) != 1) result |= 1; else if (fstat (fd, &st2) != 0) result |= 1; else if (time (&t2) == (time_t) -1) result |= 1; else { int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); if (! (st1.st_atime == st1.st_mtime)) result |= 16; if (! (m_ok_POSIX || m_ok_NFS)) result |= 32; } if (close (fd) != 0) result |= 1; } if (unlink (file) != 0) result |= 1; } /* Test whether utimes() with a NULL argument works on read-only files. */ { int fd = open (file, O_WRONLY|O_CREAT, 0444); if (fd < 0) result |= 1; else if (close (fd) != 0) result |= 1; else if (utimes (file, NULL) != 0) result |= 64; if (unlink (file) != 0) result |= 1; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_utimes=yes else gl_cv_func_working_utimes=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_utimes" >&5 $as_echo "$gl_cv_func_working_utimes" >&6; } if test $gl_cv_func_working_utimes = yes; then $as_echo "#define HAVE_WORKING_UTIMES 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct utimbuf" >&5 $as_echo_n "checking for struct utimbuf... " >&6; } if ${gl_cv_sys_struct_utimbuf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <time.h> #ifdef HAVE_UTIME_H #include <utime.h> #endif int main () { static struct utimbuf x; x.actime = x.modtime; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_utimbuf=yes else gl_cv_sys_struct_utimbuf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_utimbuf" >&5 $as_echo "$gl_cv_sys_struct_utimbuf" >&6; } if test $gl_cv_sys_struct_utimbuf = yes; then $as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 $as_echo_n "checking for inttypes.h... " >&6; } if ${gl_cv_header_inttypes_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <inttypes.h> int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_inttypes_h=yes else gl_cv_header_inttypes_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 $as_echo "$gl_cv_header_inttypes_h" >&6; } if test $gl_cv_header_inttypes_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H_WITH_UINTMAX 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 $as_echo_n "checking for stdint.h... " >&6; } if ${gl_cv_header_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <stdint.h> int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_stdint_h=yes else gl_cv_header_stdint_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 $as_echo "$gl_cv_header_stdint_h" >&6; } if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 $as_echo_n "checking for intmax_t... " >&6; } if ${gt_cv_c_intmax_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdlib.h> #if HAVE_STDINT_H_WITH_UINTMAX #include <stdint.h> #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include <inttypes.h> #endif int main () { intmax_t x = -1; return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_intmax_t=yes else gt_cv_c_intmax_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 $as_echo "$gt_cv_c_intmax_t" >&6; } if test $gt_cv_c_intmax_t = yes; then $as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h else test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' cat >>confdefs.h <<_ACEOF #define intmax_t $ac_type _ACEOF fi for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include <stdio.h> " if test "x$ac_cv_have_decl__snprintf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF $ac_have_decl _ACEOF case "$gl_cv_func_snprintf_retval_c99" in *yes) $as_echo "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports size specifiers as in C99" >&5 $as_echo_n "checking whether printf supports size specifiers as in C99... " >&6; } if ${gl_cv_func_printf_sizes_c99+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_printf_sizes_c99="guessing no";; openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_sizes_c99="guessing no";; netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_sizes_c99="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdio.h> #include <string.h> #include <sys/types.h> #if HAVE_STDINT_H_WITH_UINTMAX # include <stdint.h> #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include <inttypes.h> #endif static char buf[100]; int main () { int result = 0; #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX buf[0] = '\0'; if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 || strcmp (buf, "12345671 33") != 0) result |= 1; #endif buf[0] = '\0'; if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 || strcmp (buf, "12345672 33") != 0) result |= 2; buf[0] = '\0'; if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 || strcmp (buf, "12345673 33") != 0) result |= 4; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 || strcmp (buf, "1.5 33") != 0) result |= 8; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_sizes_c99=yes else gl_cv_func_printf_sizes_c99=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_sizes_c99" >&5 $as_echo "$gl_cv_func_printf_sizes_c99" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports 'long double' arguments" >&5 $as_echo_n "checking whether printf supports 'long double' arguments... " >&6; } if ${gl_cv_func_printf_long_double+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in beos*) gl_cv_func_printf_long_double="guessing no";; mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; *) gl_cv_func_printf_long_double="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[10000]; int main () { int result = 0; buf[0] = '\0'; if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000 33") != 0) result |= 1; buf[0] = '\0'; if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000e+00 33") != 0) result |= 2; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.75 33") != 0) result |= 4; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_long_double=yes else gl_cv_func_printf_long_double=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_long_double" >&5 $as_echo "$gl_cv_func_printf_long_double" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports infinite 'double' arguments" >&5 $as_echo_n "checking whether printf supports infinite 'double' arguments... " >&6; } if ${gl_cv_func_printf_infinite+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; darwin*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; hpux*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite="guessing no";; netbsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_infinite="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static int have_minus_zero () { static double plus_zero = 0.0; double minus_zero = - plus_zero; return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; } static char buf[10000]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%f", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%f", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%e", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 4; if (sprintf (buf, "%e", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 4; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%g", 1.0 / zero) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 16; if (sprintf (buf, "%g", -1.0 / zero) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 16; if (sprintf (buf, "%g", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; /* This test fails on HP-UX 10.20. */ if (have_minus_zero ()) if (sprintf (buf, "%g", - zero) < 0 || strcmp (buf, "-0") != 0) result |= 64; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_infinite=yes else gl_cv_func_printf_infinite=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite" >&5 $as_echo "$gl_cv_func_printf_infinite" >&6; } if test -n "$gl_printf_safe"; then $as_echo "#define CHECK_PRINTF_SAFE 1" >>confdefs.h fi case "$gl_cv_func_printf_long_double" in *yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports infinite 'long double' arguments" >&5 $as_echo_n "checking whether printf supports infinite 'long double' arguments... " >&6; } if ${gl_cv_func_printf_infinite_long_double+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; *) case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite_long_double="guessing no";; esac ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on Mac OS X. */ #include <mach/mach.h> #include <mach/mach_error.h> #include <mach/thread_status.h> #include <mach/exception.h> #include <mach/task.h> #include <pthread.h> /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <winerror.h> static LONG WINAPI exception_filter (EXCEPTION_POINTERS *ExceptionInfo) { switch (ExceptionInfo->ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_GUARD_PAGE: case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_NONCONTINUABLE_EXCEPTION: exit (1); } return EXCEPTION_CONTINUE_SEARCH; } static void nocrash_init (void) { SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); } #else /* Avoid a crash on POSIX systems. */ #include <signal.h> /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif #include <float.h> #include <stdio.h> #include <string.h> static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static long double zeroL = 0.0L; int main () { int result = 0; nocrash_init(); if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) result |= 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 1; #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 2; } { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 4; } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 8; } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 16; } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 32; } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) result |= 64; } #endif return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_infinite_long_double=yes else gl_cv_func_printf_infinite_long_double=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite_long_double" >&5 $as_echo "$gl_cv_func_printf_infinite_long_double" >&6; } ;; *) gl_cv_func_printf_infinite_long_double="irrelevant" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'a' and 'A' directives" >&5 $as_echo_n "checking whether printf supports the 'a' and 'A' directives... " >&6; } if ${gl_cv_func_printf_directive_a+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc >= 2.5 systems. *-gnu*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)) && !defined __UCLIBC__ BZ2908 #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "BZ2908" >/dev/null 2>&1; then : gl_cv_func_printf_directive_a="guessing yes" else gl_cv_func_printf_directive_a="guessing no" fi rm -f conftest* ;; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[100]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "0x1.922p+1 33") != 0 && strcmp (buf, "0x3.244p+0 33") != 0 && strcmp (buf, "0x6.488p-1 33") != 0 && strcmp (buf, "0xc.91p-2 33") != 0)) result |= 1; if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "-0X1.922P+1 33") != 0 && strcmp (buf, "-0X3.244P+0 33") != 0 && strcmp (buf, "-0X6.488P-1 33") != 0 && strcmp (buf, "-0XC.91P-2 33") != 0)) result |= 2; /* This catches a FreeBSD 6.1 bug: it doesn't round. */ if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 || (strcmp (buf, "0x1.83p+0 33") != 0 && strcmp (buf, "0x3.05p-1 33") != 0 && strcmp (buf, "0x6.0ap-2 33") != 0 && strcmp (buf, "0xc.14p-3 33") != 0)) result |= 4; /* This catches a FreeBSD 6.1 bug. See <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */ if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 || buf[0] == '0') result |= 8; /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) result |= 16; /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) result |= 32; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_directive_a=yes else gl_cv_func_printf_directive_a=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_a" >&5 $as_echo "$gl_cv_func_printf_directive_a" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'F' directive" >&5 $as_echo_n "checking whether printf supports the 'F' directive... " >&6; } if ${gl_cv_func_printf_directive_f+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Mac OS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; solaris*) gl_cv_func_printf_sizes_c99="guessing no";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_f="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[100]; static double zero = 0.0; int main () { int result = 0; if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) result |= 1; if (sprintf (buf, "%F", 1.0 / zero) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) result |= 2; /* This catches a Cygwin 1.5.x bug. */ if (sprintf (buf, "%.F", 1234.0) < 0 || strcmp (buf, "1234") != 0) result |= 4; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_directive_f=yes else gl_cv_func_printf_directive_f=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_f" >&5 $as_echo "$gl_cv_func_printf_directive_f" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'n' directive" >&5 $as_echo_n "checking whether printf supports the 'n' directive... " >&6; } if ${gl_cv_func_printf_directive_n+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in mingw*) gl_cv_func_printf_directive_n="guessing no";; *) gl_cv_func_printf_directive_n="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _MSC_VER /* See page about "Parameter Validation" on msdn.microsoft.com. */ static void cdecl invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t dummy) { exit (1); } #endif static char fmtstring[10]; static char buf[100]; int main () { int count = -1; #ifdef _MSC_VER _set_invalid_parameter_handler (invalid_parameter_handler); #endif /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 || strcmp (buf, "123 ") != 0 || count != 4) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_directive_n=yes else gl_cv_func_printf_directive_n=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_n" >&5 $as_echo "$gl_cv_func_printf_directive_n" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'ls' directive" >&5 $as_echo_n "checking whether printf supports the 'ls' directive... " >&6; } if ${gl_cv_func_printf_directive_ls+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in openbsd*) gl_cv_func_printf_directive_ls="guessing no";; irix*) gl_cv_func_printf_directive_ls="guessing no";; solaris*) gl_cv_func_printf_directive_ls="guessing no";; cygwin*) gl_cv_func_printf_directive_ls="guessing no";; beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; *) gl_cv_func_printf_directive_ls="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <string.h> int main () { int result = 0; char buf[100]; /* Test whether %ls works at all. This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on Cygwin 1.5. */ { static const wchar_t wstring[] = { 'a', 'b', 'c', 0 }; buf[0] = '\0'; if (sprintf (buf, "%ls", wstring) < 0 || strcmp (buf, "abc") != 0) result |= 1; } /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an assertion failure inside libc), but not on OpenBSD 4.0. */ { static const wchar_t wstring[] = { 'a', 0 }; buf[0] = '\0'; if (sprintf (buf, "%ls", wstring) < 0 || strcmp (buf, "a") != 0) result |= 2; } /* Test whether precisions in %ls are supported as specified in ISO C 99 section 7.19.6.1: "If a precision is specified, no more than that many bytes are written (including shift sequences, if any), and the array shall contain a null wide character if, to equal the multibyte character sequence length given by the precision, the function would need to access a wide character one past the end of the array." This test fails on Solaris 10. */ { static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 }; buf[0] = '\0'; if (sprintf (buf, "%.2ls", wstring) < 0 || strcmp (buf, "ab") != 0) result |= 8; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_directive_ls=yes else gl_cv_func_printf_directive_ls=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_ls" >&5 $as_echo "$gl_cv_func_printf_directive_ls" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the grouping flag" >&5 $as_echo_n "checking whether printf supports the grouping flag... " >&6; } if ${gl_cv_func_printf_flag_grouping+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; *) gl_cv_func_printf_flag_grouping="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[100]; int main () { if (sprintf (buf, "%'d %d", 1234567, 99) < 0 || buf[strlen (buf) - 1] != '9') return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_flag_grouping=yes else gl_cv_func_printf_flag_grouping=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_grouping" >&5 $as_echo "$gl_cv_func_printf_flag_grouping" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the left-adjust flag correctly" >&5 $as_echo_n "checking whether printf supports the left-adjust flag correctly... " >&6; } if ${gl_cv_func_printf_flag_leftadjust+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on HP-UX 11. hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess no on HP-UX 10 and older. hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; # Guess yes otherwise. *) gl_cv_func_printf_flag_leftadjust="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[100]; int main () { /* Check that a '-' flag is not annihilated by a negative width. */ if (sprintf (buf, "a%-*sc", -3, "b") < 0 || strcmp (buf, "ab c") != 0) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_flag_leftadjust=yes else gl_cv_func_printf_flag_leftadjust=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_leftadjust" >&5 $as_echo "$gl_cv_func_printf_flag_leftadjust" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the zero flag correctly" >&5 $as_echo_n "checking whether printf supports the zero flag correctly... " >&6; } if ${gl_cv_func_printf_flag_zero+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_flag_zero="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_flag_zero="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[100]; static double zero = 0.0; int main () { if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_flag_zero=yes else gl_cv_func_printf_flag_zero=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_zero" >&5 $as_echo "$gl_cv_func_printf_flag_zero" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports large precisions" >&5 $as_echo_n "checking whether printf supports large precisions... " >&6; } if ${gl_cv_func_printf_precision+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no only on Solaris, native Windows, and BeOS systems. solaris*) gl_cv_func_printf_precision="guessing no" ;; mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; beos*) gl_cv_func_printf_precision="guessing no" ;; *) gl_cv_func_printf_precision="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> static char buf[5000]; int main () { int result = 0; #ifdef __BEOS__ /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ return 1; #endif if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) result |= 1; if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5) result |= 2; if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5 || buf[0] != '1') result |= 4; if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5 || buf[0] != '1') result |= 4; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_precision=yes else gl_cv_func_printf_precision=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_precision" >&5 $as_echo "$gl_cv_func_printf_precision" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf survives out-of-memory conditions" >&5 $as_echo_n "checking whether printf survives out-of-memory conditions... " >&6; } if ${gl_cv_func_printf_enomem+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_func_printf_enomem="guessing no" if test "$cross_compiling" = no; then if test $APPLE_UNIVERSAL_BUILD = 0; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on Mac OS X. */ #include <mach/mach.h> #include <mach/mach_error.h> #include <mach/thread_status.h> #include <mach/exception.h> #include <mach/task.h> #include <pthread.h> /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data1024; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Avoid a crash on native Windows. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <winerror.h> static LONG WINAPI exception_filter (EXCEPTION_POINTERS *ExceptionInfo) { switch (ExceptionInfo->ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_GUARD_PAGE: case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_NONCONTINUABLE_EXCEPTION: exit (1); } return EXCEPTION_CONTINUE_SEARCH; } static void nocrash_init (void) { SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); } #else /* Avoid a crash on POSIX systems. */ #include <signal.h> /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif #include <stdio.h> #include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <errno.h> int main() { struct rlimit limit; int ret; nocrash_init (); /* Some printf implementations allocate temporary space with malloc. */ /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ #ifdef RLIMIT_DATA if (getrlimit (RLIMIT_DATA, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_DATA, &limit) < 0) return 77; #endif /* On Linux systems, malloc() is limited by RLIMIT_AS. */ #ifdef RLIMIT_AS if (getrlimit (RLIMIT_AS, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_AS, &limit) < 0) return 77; #endif /* Some printf implementations allocate temporary space on the stack. */ #ifdef RLIMIT_STACK if (getrlimit (RLIMIT_STACK, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_STACK, &limit) < 0) return 77; #endif ret = printf ("%.5000000f", 1.0); return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then (./conftest 2>&5 result=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $result" >&5 if test $result != 0 && test $result != 77; then result=1; fi exit $result ) >/dev/null 2>/dev/null case $? in 0) gl_cv_func_printf_enomem="yes" ;; 77) gl_cv_func_printf_enomem="guessing no" ;; *) gl_cv_func_printf_enomem="no" ;; esac else gl_cv_func_printf_enomem="guessing no" fi rm -fr conftest* else gl_cv_func_printf_enomem="guessing no" fi fi if test "$gl_cv_func_printf_enomem" = "guessing no"; then case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Solaris. solaris*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on AIX. aix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on HP-UX/hppa. hpux*) case "$host_cpu" in hppa*) gl_cv_func_printf_enomem="guessing yes";; *) gl_cv_func_printf_enomem="guessing no";; esac ;; # Guess yes on IRIX. irix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on OSF/1. osf*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Haiku. haiku*) gl_cv_func_printf_enomem="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_enomem="guessing no";; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_enomem" >&5 $as_echo "$gl_cv_func_printf_enomem" >&6; } case "$gl_cv_func_printf_long_double" in *yes) ;; *) $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h ;; esac ac_fn_c_check_decl "$LINENO" "wcwidth" "ac_cv_have_decl_wcwidth" " /* AIX 3.2.5 declares wcwidth in <string.h>. */ #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_wcwidth" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCWIDTH $ac_have_decl _ACEOF if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = yes; then HAVE_WCWIDTH=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5 $as_echo_n "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; } if ${gl_cv_func_wcwidth_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc and AIX 7 systems. *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; *) gl_cv_func_wcwidth_works="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> /* AIX 3.2.5 declares wcwidth in <string.h>. */ #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if !HAVE_DECL_WCWIDTH extern # ifdef __cplusplus "C" # endif int wcwidth (int); #endif int main () { int result = 0; if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) { if (wcwidth (0x0301) > 0) result |= 1; if (wcwidth (0x05B0) > 0) result |= 2; if (wcwidth (0x200B) > 0) result |= 4; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcwidth_works=yes else gl_cv_func_wcwidth_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5 $as_echo "$gl_cv_func_wcwidth_works" >&6; } case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac else HAVE_WCWIDTH=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX termios" >&5 $as_echo_n "checking POSIX termios... " >&6; } if ${ac_cv_sys_posix_termios+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <unistd.h> #include <termios.h> int main () { /* SunOS 4.0.3 has termios.h but not the library calls. */ tcgetattr(0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_posix_termios=yes else ac_cv_sys_posix_termios=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_posix_termios" >&5 $as_echo "$ac_cv_sys_posix_termios" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of TIOCGWINSZ requires termios.h" >&5 $as_echo_n "checking whether use of TIOCGWINSZ requires termios.h... " >&6; } if ${gl_cv_sys_tiocgwinsz_needs_termios_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> # include <termios.h> # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 $as_echo "$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" if test "x$ac_cv_have_decl_alarm" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ALARM $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 $as_echo_n "checking whether ungetc works on arbitrary bytes... " >&6; } if ${gl_cv_func_ungetc_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_ungetc_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *f; if (!(f = fopen ("conftest.tmp", "w+"))) return 1; if (fputs ("abc", f) < 0) return 2; rewind (f); if (fgetc (f) != 'a') return 3; if (fgetc (f) != 'b') return 4; if (ungetc ('d', f) != 'd') return 5; if (ftell (f) != 1) return 6; if (fgetc (f) != 'd') return 7; if (ftell (f) != 2) return 8; if (fseek (f, 0, SEEK_CUR) != 0) return 9; if (ftell (f) != 2) return 10; if (fgetc (f) != 'c') return 11; fclose (f); remove ("conftest.tmp"); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_ungetc_works=yes else gl_cv_func_ungetc_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 $as_echo "$gl_cv_func_ungetc_works" >&6; } case "$gl_cv_func_ungetc_works" in *yes) ;; *) $as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${gt_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_val_LC_MESSAGES=yes else gt_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5 $as_echo "$gt_cv_val_LC_MESSAGES" >&6; } if test $gt_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <CoreFoundation/CFPreferences.h> int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <CoreFoundation/CFLocale.h> int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" if test "x$ac_cv_have_decl_strerror_r" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R $ac_have_decl _ACEOF if test $ac_cv_have_decl_strerror_r = no; then HAVE_DECL_STRERROR_R=0 fi if test $ac_cv_func_strerror_r = yes; then if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then if test $gl_cv_func_strerror_r_posix_signature = yes; then case "$gl_cv_func_strerror_r_works" in *no) REPLACE_STRERROR_R=1 ;; esac else REPLACE_STRERROR_R=1 fi else REPLACE_STRERROR_R=1 fi fi if false; then GL_COND_LIBTOOL_TRUE= GL_COND_LIBTOOL_FALSE='#' else GL_COND_LIBTOOL_TRUE='#' GL_COND_LIBTOOL_FALSE= fi gl_cond_libtool=false gl_libdeps= gl_ltlibdeps= gl_m4_base='m4' gl_source_base='lib' # Check whether --enable-acl was given. if test "${enable_acl+set}" = set; then : enableval=$enable_acl; else enable_acl=auto fi LIB_ACL= use_acl=0 if test "x$enable_acl" != "xno"; then for ac_header in sys/acl.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_acl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_ACL_H 1 _ACEOF fi done if test $ac_cv_header_sys_acl_h = yes; then ac_save_LIBS=$LIBS if test $use_acl = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5 $as_echo_n "checking for library containing acl_get_file... " >&6; } if ${ac_cv_search_acl_get_file+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char acl_get_file (); int main () { return acl_get_file (); ; return 0; } _ACEOF for ac_lib in '' acl pacl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_acl_get_file=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_acl_get_file+:} false; then : break fi done if ${ac_cv_search_acl_get_file+:} false; then : else ac_cv_search_acl_get_file=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_get_file" >&5 $as_echo "$ac_cv_search_acl_get_file" >&6; } ac_res=$ac_cv_search_acl_get_file if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_acl_get_file" != "none required"; then LIB_ACL=$ac_cv_search_acl_get_file fi for ac_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \ acl_free acl_from_mode acl_from_text \ acl_delete_def_file acl_extended_file \ acl_delete_fd_np acl_delete_file_np \ acl_copy_ext_native acl_create_entry_np \ acl_to_short_text acl_free_text do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # If the acl_get_file bug is detected, don't enable the ACL support. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working acl_get_file" >&5 $as_echo_n "checking for working acl_get_file... " >&6; } if ${gl_cv_func_working_acl_get_file+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_working_acl_get_file=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/acl.h> #include <errno.h> int main () { if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT) return 1; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_acl_get_file=yes else gl_cv_func_working_acl_get_file=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5 $as_echo "$gl_cv_func_working_acl_get_file" >&6; } if test $gl_cv_func_working_acl_get_file = yes; then : use_acl=1 fi if test $use_acl = 1; then for ac_header in acl/libacl.h do : ac_fn_c_check_header_mongrel "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default" if test "x$ac_cv_header_acl_libacl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACL_LIBACL_H 1 _ACEOF fi done for ac_func in acl_entries do : ac_fn_c_check_func "$LINENO" "acl_entries" "ac_cv_func_acl_entries" if test "x$ac_cv_func_acl_entries" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACL_ENTRIES 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_FIRST_ENTRY" >&5 $as_echo_n "checking for ACL_FIRST_ENTRY... " >&6; } if ${gl_cv_acl_ACL_FIRST_ENTRY+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/acl.h> int type = ACL_FIRST_ENTRY; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_acl_ACL_FIRST_ENTRY=yes else gl_cv_acl_ACL_FIRST_ENTRY=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_FIRST_ENTRY" >&5 $as_echo "$gl_cv_acl_ACL_FIRST_ENTRY" >&6; } if test $gl_cv_acl_ACL_FIRST_ENTRY = yes; then $as_echo "#define HAVE_ACL_FIRST_ENTRY 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ACL_TYPE_EXTENDED" >&5 $as_echo_n "checking for ACL_TYPE_EXTENDED... " >&6; } if ${gl_cv_acl_ACL_TYPE_EXTENDED+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/acl.h> int type = ACL_TYPE_EXTENDED; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_acl_ACL_TYPE_EXTENDED=yes else gl_cv_acl_ACL_TYPE_EXTENDED=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_acl_ACL_TYPE_EXTENDED" >&5 $as_echo "$gl_cv_acl_ACL_TYPE_EXTENDED" >&6; } if test $gl_cv_acl_ACL_TYPE_EXTENDED = yes; then $as_echo "#define HAVE_ACL_TYPE_EXTENDED 1" >>confdefs.h fi else LIB_ACL= fi fi fi if test $use_acl = 0; then for ac_func in facl do : ac_fn_c_check_func "$LINENO" "facl" "ac_cv_func_facl" if test "x$ac_cv_func_facl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FACL 1 _ACEOF fi done if test $ac_cv_func_facl = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_trivial" >&5 $as_echo_n "checking for library containing acl_trivial... " >&6; } if ${ac_cv_search_acl_trivial+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char acl_trivial (); int main () { return acl_trivial (); ; return 0; } _ACEOF for ac_lib in '' sec; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_acl_trivial=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_acl_trivial+:} false; then : break fi done if ${ac_cv_search_acl_trivial+:} false; then : else ac_cv_search_acl_trivial=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_trivial" >&5 $as_echo "$ac_cv_search_acl_trivial" >&6; } ac_res=$ac_cv_search_acl_trivial if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_acl_trivial" != "none required"; then LIB_ACL=$ac_cv_search_acl_trivial fi fi for ac_func in acl_trivial do : ac_fn_c_check_func "$LINENO" "acl_trivial" "ac_cv_func_acl_trivial" if test "x$ac_cv_func_acl_trivial" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACL_TRIVIAL 1 _ACEOF fi done use_acl=1 fi fi if test $use_acl = 0; then for ac_func in getacl do : ac_fn_c_check_func "$LINENO" "getacl" "ac_cv_func_getacl" if test "x$ac_cv_func_getacl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETACL 1 _ACEOF fi done if test $ac_cv_func_getacl = yes; then use_acl=1 fi for ac_header in aclv.h do : ac_fn_c_check_header_compile "$LINENO" "aclv.h" "ac_cv_header_aclv_h" "#include <sys/types.h> " if test "x$ac_cv_header_aclv_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACLV_H 1 _ACEOF fi done fi if test $use_acl = 0; then for ac_func in aclx_get do : ac_fn_c_check_func "$LINENO" "aclx_get" "ac_cv_func_aclx_get" if test "x$ac_cv_func_aclx_get" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACLX_GET 1 _ACEOF fi done if test $ac_cv_func_aclx_get = yes; then use_acl=1 fi fi if test $use_acl = 0 || test "$ac_cv_func_aclx_get" = yes; then for ac_func in statacl do : ac_fn_c_check_func "$LINENO" "statacl" "ac_cv_func_statacl" if test "x$ac_cv_func_statacl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STATACL 1 _ACEOF fi done if test $ac_cv_func_statacl = yes; then use_acl=1 fi fi if test $use_acl = 0; then for ac_func in aclsort do : ac_fn_c_check_func "$LINENO" "aclsort" "ac_cv_func_aclsort" if test "x$ac_cv_func_aclsort" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACLSORT 1 _ACEOF fi done if test $ac_cv_func_aclsort = yes; then use_acl=1 fi fi LIBS=$ac_save_LIBS fi if test "x$enable_acl$use_acl" = "xyes0"; then as_fn_error $? "ACLs enabled but support not detected" "$LINENO" 5 elif test "x$enable_acl$use_acl" = "xauto0"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libacl development library was not found or not usable." >&5 $as_echo "$as_me: WARNING: libacl development library was not found or not usable." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be built without ACL support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be built without ACL support." >&2;} fi fi cat >>confdefs.h <<_ACEOF #define USE_ACL $use_acl _ACEOF USE_ACL=$use_acl if test $ac_cv_func_alloca_works = no; then : fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 $as_echo_n "checking for alloca as a compiler built-in... " >&6; } if ${gl_cv_rpl_alloca+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Need own alloca" >/dev/null 2>&1; then : gl_cv_rpl_alloca=yes else gl_cv_rpl_alloca=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 $as_echo "$gl_cv_rpl_alloca" >&6; } if test $gl_cv_rpl_alloca = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h ALLOCA_H=alloca.h else ALLOCA_H= fi else ALLOCA_H=alloca.h fi if test -n "$ALLOCA_H"; then GL_GENERATE_ALLOCA_H_TRUE= GL_GENERATE_ALLOCA_H_FALSE='#' else GL_GENERATE_ALLOCA_H_TRUE='#' GL_GENERATE_ALLOCA_H_FALSE= fi cat >>confdefs.h <<_ACEOF #define GNULIB_AREADLINKAT 1 _ACEOF if test $ac_cv_header_arpa_inet_h = yes; then HAVE_ARPA_INET_H=1 else HAVE_ARPA_INET_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <arpa/inet.h>" >&5 $as_echo_n "checking absolute name of <arpa/inet.h>... " >&6; } if ${gl_cv_next_arpa_inet_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_arpa_inet_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <arpa/inet.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'arpa/inet.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_arpa_inet_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 $as_echo "$gl_cv_next_arpa_inet_h" >&6; } fi NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'arpa/inet.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_arpa_inet_h fi NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5 $as_echo_n "checking whether to enable assertions... " >&6; } # Check whether --enable-assert was given. if test "${enable_assert+set}" = set; then : enableval=$enable_assert; if test "x$enableval" = xno; then : $as_echo "#define NDEBUG 1" >>confdefs.h elif test "x$enableval" != xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-assert" >&5 $as_echo "$as_me: WARNING: invalid argument supplied to --enable-assert" >&2;} enable_assert=yes fi else enable_assert=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assert" >&5 $as_echo "$enable_assert" >&6; } gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" if test $ac_cv_func_btowc = no; then HAVE_BTOWC=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5 $as_echo_n "checking whether btowc(0) is correct... " >&6; } if ${gl_cv_func_btowc_nul+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on Cygwin. cygwin*) gl_cv_func_btowc_nul="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_nul="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (btowc ('\0') != 0) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_btowc_nul=yes else gl_cv_func_btowc_nul=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5 $as_echo "$gl_cv_func_btowc_nul" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5 $as_echo_n "checking whether btowc(EOF) is correct... " >&6; } if ${gl_cv_func_btowc_eof+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on IRIX. irix*) gl_cv_func_btowc_eof="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_btowc_eof="guessing yes" ;; esac if test $LOCALE_FR != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (btowc (EOF) != WEOF) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_btowc_eof=yes else gl_cv_func_btowc_eof=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5 $as_echo "$gl_cv_func_btowc_eof" >&6; } case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac case "$gl_cv_func_btowc_eof" in *yes) ;; *) REPLACE_BTOWC=1 ;; esac fi if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then gl_LIBOBJS="$gl_LIBOBJS btowc.$ac_objext" : fi GNULIB_BTOWC=1 $as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h for ac_func in strtod_l do : ac_fn_c_check_func "$LINENO" "strtod_l" "ac_cv_func_strtod_l" if test "x$ac_cv_func_strtod_l" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRTOD_L 1 _ACEOF fi done for ac_func in strtold_l do : ac_fn_c_check_func "$LINENO" "strtold_l" "ac_cv_func_strtold_l" if test "x$ac_cv_func_strtold_l" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRTOLD_L 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible calloc" >&5 $as_echo_n "checking for GNU libc compatible calloc... " >&6; } if ${ac_cv_func_calloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. *) ac_cv_func_calloc_0_nonnull="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { int result = 0; if (!calloc (0, 0)) result |= 1; if (calloc ((size_t) -1 / 8 + 1, 8)) result |= 2; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_calloc_0_nonnull=yes else ac_cv_func_calloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_calloc_0_nonnull" >&5 $as_echo "$ac_cv_func_calloc_0_nonnull" >&6; } case "$ac_cv_func_calloc_0_nonnull" in *yes) $as_echo "#define HAVE_CALLOC_GNU 1" >>confdefs.h ;; *) $as_echo "#define HAVE_CALLOC_GNU 0" >>confdefs.h REPLACE_CALLOC=1 ;; esac if test $REPLACE_CALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_CALLOC_GNU 1 _ACEOF if test $gl_cv_func_malloc_posix = yes; then $as_echo "#define HAVE_CALLOC_POSIX 1" >>confdefs.h else REPLACE_CALLOC=1 fi if test $REPLACE_CALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" fi GNULIB_CALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_CALLOC_POSIX 1" >>confdefs.h : if test $ac_cv_func_canonicalize_file_name = no; then HAVE_CANONICALIZE_FILE_NAME=0 else case "$gl_cv_func_realpath_works" in *yes) ;; *) REPLACE_CANONICALIZE_FILE_NAME=1 ;; esac fi cat >>confdefs.h <<_ACEOF #define GNULIB_CANONICALIZE 1 _ACEOF $as_echo "#define GNULIB_TEST_CANONICALIZE 1" >>confdefs.h GNULIB_CANONICALIZE_FILE_NAME=1 $as_echo "#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1" >>confdefs.h GNULIB_CHDIR=1 $as_echo "#define GNULIB_TEST_CHDIR 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this system has an arbitrary file name length limit" >&5 $as_echo_n "checking whether this system has an arbitrary file name length limit... " >&6; } if ${gl_cv_have_arbitrary_file_name_length_limit+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Arrange to define PATH_MAX, like "pathmax.h" does. */ #if HAVE_UNISTD_H # include <unistd.h> #endif #include <limits.h> #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include <sys/param.h> #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifdef __hpux # undef PATH_MAX # define PATH_MAX 1024 #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef PATH_MAX # define PATH_MAX 260 #endif #ifdef PATH_MAX have_arbitrary_file_name_length_limit #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "have_arbitrary_file_name_length_limit" >/dev/null 2>&1; then : gl_cv_have_arbitrary_file_name_length_limit=yes else gl_cv_have_arbitrary_file_name_length_limit=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_arbitrary_file_name_length_limit" >&5 $as_echo "$gl_cv_have_arbitrary_file_name_length_limit" >&6; } if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then gl_LIBOBJS="$gl_LIBOBJS chdir-long.$ac_objext" : fi if test $HAVE_CHOWN = 0 || test $REPLACE_CHOWN = 1; then gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" fi if test $REPLACE_CHOWN = 1 && test $ac_cv_func_fchown = no; then gl_LIBOBJS="$gl_LIBOBJS fchown-stub.$ac_objext" fi GNULIB_CHOWN=1 $as_echo "#define GNULIB_TEST_CHOWN 1" >>confdefs.h # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. LIB_CLOCK_GETTIME= gl_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 $as_echo_n "checking for library containing clock_gettime... " >&6; } if ${ac_cv_search_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char clock_gettime (); int main () { return clock_gettime (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_clock_gettime=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_clock_gettime+:} false; then : break fi done if ${ac_cv_search_clock_gettime+:} false; then : else ac_cv_search_clock_gettime=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 $as_echo "$ac_cv_search_clock_gettime" >&6; } ac_res=$ac_cv_search_clock_gettime if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime fi for ac_func in clock_gettime clock_settime do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done LIBS=$gl_saved_libs $as_echo "#define GNULIB_TEST_CLOEXEC 1" >>confdefs.h if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_CLOSE=1 fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then REPLACE_CLOSE=1 fi if test $REPLACE_CLOSE = 0; then if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then REPLACE_CLOSE=1 fi fi if test $REPLACE_CLOSE = 1; then gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext" fi GNULIB_CLOSE=1 $as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h : cat >>confdefs.h <<_ACEOF #define GNULIB_CLOSE_STREAM 1 _ACEOF for ac_func in closedir do : ac_fn_c_check_func "$LINENO" "closedir" "ac_cv_func_closedir" if test "x$ac_cv_func_closedir" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CLOSEDIR 1 _ACEOF fi done if test $ac_cv_func_closedir = no; then HAVE_CLOSEDIR=0 fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then if test $HAVE_CLOSEDIR = 1; then REPLACE_CLOSEDIR=1 fi fi if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then gl_LIBOBJS="$gl_LIBOBJS closedir.$ac_objext" fi GNULIB_CLOSEDIR=1 $as_echo "#define GNULIB_TEST_CLOSEDIR 1" >>confdefs.h : : if test "x$datarootdir" = x; then datarootdir='${datadir}' fi if test "x$docdir" = x; then docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' fi if test "x$htmldir" = x; then htmldir='${docdir}' fi if test "x$dvidir" = x; then dvidir='${docdir}' fi if test "x$pdfdir" = x; then pdfdir='${docdir}' fi if test "x$psdir" = x; then psdir='${docdir}' fi if test "x$lispdir" = x; then lispdir='${datarootdir}/emacs/site-lisp' fi if test "x$localedir" = x; then localedir='${datarootdir}/locale' fi pkglibexecdir='${libexecdir}/${PACKAGE}' : : if test $gl_cv_have_include_next = yes; then gl_cv_next_ctype_h='<'ctype.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <ctype.h>" >&5 $as_echo_n "checking absolute name of <ctype.h>... " >&6; } if ${gl_cv_next_ctype_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ctype.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'ctype.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_ctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_ctype_h" >&5 $as_echo "$gl_cv_next_ctype_h" >&6; } fi NEXT_CTYPE_H=$gl_cv_next_ctype_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'ctype.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_ctype_h fi NEXT_AS_FIRST_DIRECTIVE_CTYPE_H=$gl_next_as_first_directive : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_ino member in directory struct" >&5 $as_echo_n "checking for d_ino member in directory struct... " >&6; } if ${gl_cv_struct_dirent_d_ino+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems with Linux kernel. linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_struct_dirent_d_ino="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> int main () { DIR *dp = opendir ("."); struct dirent *e; struct stat st; if (! dp) return 1; e = readdir (dp); if (! e) return 2; if (stat (e->d_name, &st) != 0) return 3; if (e->d_ino != st.st_ino) return 4; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_struct_dirent_d_ino=yes else gl_cv_struct_dirent_d_ino=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_ino" >&5 $as_echo "$gl_cv_struct_dirent_d_ino" >&6; } case "$gl_cv_struct_dirent_d_ino" in *yes) $as_echo "#define D_INO_IN_DIRENT 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_type member in directory struct" >&5 $as_echo_n "checking for d_type member in directory struct... " >&6; } if ${gl_cv_struct_dirent_d_type+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <dirent.h> int main () { struct dirent dp; dp.d_type = 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_struct_dirent_d_type=yes else gl_cv_struct_dirent_d_type=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_type" >&5 $as_echo "$gl_cv_struct_dirent_d_type" >&6; } if test $gl_cv_struct_dirent_d_type = yes; then $as_echo "#define HAVE_STRUCT_DIRENT_D_TYPE 1" >>confdefs.h fi if test $gl_cv_have_include_next = yes; then gl_cv_next_dirent_h='<'dirent.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <dirent.h>" >&5 $as_echo_n "checking absolute name of <dirent.h>... " >&6; } if ${gl_cv_next_dirent_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_dirent_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <dirent.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'dirent.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_dirent_h='<'dirent.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 $as_echo "$gl_cv_next_dirent_h" >&6; } fi NEXT_DIRENT_H=$gl_cv_next_dirent_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'dirent.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_dirent_h fi NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive if test $ac_cv_header_dirent_h = yes; then HAVE_DIRENT_H=1 else HAVE_DIRENT_H=0 fi cat >>confdefs.h <<_ACEOF #define GNULIB_DIRENT_SAFER 1 _ACEOF for ac_func in dirfd do : ac_fn_c_check_func "$LINENO" "dirfd" "ac_cv_func_dirfd" if test "x$ac_cv_func_dirfd" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DIRFD 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h> #include <dirent.h> " if test "x$ac_cv_have_decl_dirfd" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_DIRFD $ac_have_decl _ACEOF if test $ac_cv_have_decl_dirfd = no; then HAVE_DECL_DIRFD=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dirfd is a macro" >&5 $as_echo_n "checking whether dirfd is a macro... " >&6; } if ${gl_cv_func_dirfd_macro+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <dirent.h> #ifdef dirfd dirent_header_defines_dirfd #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "dirent_header_defines_dirfd" >/dev/null 2>&1; then : gl_cv_func_dirfd_macro=yes else gl_cv_func_dirfd_macro=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dirfd_macro" >&5 $as_echo "$gl_cv_func_dirfd_macro" >&6; } # Use the replacement only if we have no function or macro with that name. if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then if test $ac_cv_have_decl_dirfd = yes; then # If the system declares dirfd already, let's declare rpl_dirfd instead. REPLACE_DIRFD=1 fi fi if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then gl_LIBOBJS="$gl_LIBOBJS dirfd.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to get the file descriptor associated with an open DIR*" >&5 $as_echo_n "checking how to get the file descriptor associated with an open DIR*... " >&6; } if ${gl_cv_sys_dir_fd_member_name+:} false; then : $as_echo_n "(cached) " >&6 else dirfd_save_CFLAGS=$CFLAGS for ac_expr in d_fd dd_fd; do CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <dirent.h> int main () { DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : dir_fd_found=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$dirfd_save_CFLAGS test "$dir_fd_found" = yes && break done test "$dir_fd_found" = yes || ac_expr=no_such_member gl_cv_sys_dir_fd_member_name=$ac_expr fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_dir_fd_member_name" >&5 $as_echo "$gl_cv_sys_dir_fd_member_name" >&6; } if test $gl_cv_sys_dir_fd_member_name != no_such_member; then cat >>confdefs.h <<_ACEOF #define DIR_FD_MEMBER_NAME $gl_cv_sys_dir_fd_member_name _ACEOF fi fi GNULIB_DIRFD=1 $as_echo "#define GNULIB_TEST_DIRFD 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_DIRNAME 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 $as_echo_n "checking whether // is distinct from /... " >&6; } if ${gl_cv_double_slash_root+:} false; then : $as_echo_n "(cached) " >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # <bug-gnulib@gnu.org>. case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 $as_echo "$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h fi if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_DUP=1 fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then REPLACE_DUP=1 fi if test $REPLACE_DUP = 1; then gl_LIBOBJS="$gl_LIBOBJS dup.$ac_objext" : fi GNULIB_DUP=1 $as_echo "#define GNULIB_TEST_DUP 1" >>confdefs.h $as_echo "#define HAVE_DUP2 1" >>confdefs.h if test $HAVE_DUP2 = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 $as_echo_n "checking whether dup2 works... " >&6; } if ${gl_cv_func_dup2_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in mingw*) # on this platform, dup2 always returns 0 for success gl_cv_func_dup2_works="guessing no" ;; cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 gl_cv_func_dup2_works="guessing no" ;; linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a # closed fd may yield -EBADF instead of -1 / errno=EBADF. gl_cv_func_dup2_works="guessing no" ;; freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. gl_cv_func_dup2_works="guessing no" ;; *) gl_cv_func_dup2_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <fcntl.h> #include <errno.h> int main () { int result = 0; #ifdef FD_CLOEXEC if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) result |= 1; #endif if (dup2 (1, 1) == 0) result |= 2; #ifdef FD_CLOEXEC if (fcntl (1, F_GETFD) != FD_CLOEXEC) result |= 4; #endif close (0); if (dup2 (0, 0) != -1) result |= 8; /* Many gnulib modules require POSIX conformance of EBADF. */ if (dup2 (2, 1000000) == -1 && errno != EBADF) result |= 16; /* Flush out a cygwin core dump. */ if (dup2 (2, -1) != -1 || errno != EBADF) result |= 32; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_dup2_works=yes else gl_cv_func_dup2_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 $as_echo "$gl_cv_func_dup2_works" >&6; } case "$gl_cv_func_dup2_works" in *yes) ;; *) REPLACE_DUP2=1 ;; esac fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then if test $HAVE_DUP2 = 1; then REPLACE_DUP2=1 fi fi if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" fi GNULIB_DUP2=1 $as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h GNULIB_ENVIRON=1 $as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 $as_echo_n "checking for error_at_line... " >&6; } if ${ac_cv_lib_error_at_line+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <error.h> int main () { error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_error_at_line=yes else ac_cv_lib_error_at_line=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 $as_echo "$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" : fi XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" for ac_func in euidaccess do : ac_fn_c_check_func "$LINENO" "euidaccess" "ac_cv_func_euidaccess" if test "x$ac_cv_func_euidaccess" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_EUIDACCESS 1 _ACEOF fi done if test $ac_cv_func_euidaccess = no; then HAVE_EUIDACCESS=0 fi if test $HAVE_EUIDACCESS = 0; then gl_LIBOBJS="$gl_LIBOBJS euidaccess.$ac_objext" for ac_header in libgen.h do : ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default" if test "x$ac_cv_header_libgen_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGEN_H 1 _ACEOF fi done ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" if test "x$ac_cv_func_getgroups" = xyes; then : fi # If we don't yet have getgroups, see if it's in -lbsd. # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 $as_echo_n "checking for getgroups in -lbsd... " >&6; } if ${ac_cv_lib_bsd_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getgroups (); int main () { return getgroups (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_getgroups=yes else ac_cv_lib_bsd_getgroups=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 $as_echo "$ac_cv_lib_bsd_getgroups" >&6; } if test "x$ac_cv_lib_bsd_getgroups" = xyes; then : GETGROUPS_LIB=-lbsd fi fi # Run the program to test the functionality of the system-supplied # getgroups function only if there is such a function. if test $ac_cv_func_getgroups = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 $as_echo_n "checking for working getgroups... " >&6; } if ${ac_cv_func_getgroups_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # (( # Guess yes on glibc systems. *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; # If we don't know, assume the worst. *) ac_cv_func_getgroups_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* On Ultrix 4.3, getgroups (0, 0) always fails. */ return getgroups (0, 0) == -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_getgroups_works=yes else ac_cv_func_getgroups_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5 $as_echo "$ac_cv_func_getgroups_works" >&6; } else ac_cv_func_getgroups_works=no fi case "$ac_cv_func_getgroups_works" in *yes) $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h ;; esac LIBS=$ac_save_LIBS # Solaris 9 and 10 need -lgen to get the eaccess function. # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. LIB_EACCESS= gl_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing eaccess" >&5 $as_echo_n "checking for library containing eaccess... " >&6; } if ${ac_cv_search_eaccess+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char eaccess (); int main () { return eaccess (); ; return 0; } _ACEOF for ac_lib in '' gen; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_eaccess=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_eaccess+:} false; then : break fi done if ${ac_cv_search_eaccess+:} false; then : else ac_cv_search_eaccess=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_eaccess" >&5 $as_echo "$ac_cv_search_eaccess" >&6; } ac_res=$ac_cv_search_eaccess if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_eaccess" = "none required" || LIB_EACCESS=$ac_cv_search_eaccess fi for ac_func in eaccess do : ac_fn_c_check_func "$LINENO" "eaccess" "ac_cv_func_eaccess" if test "x$ac_cv_func_eaccess" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_EACCESS 1 _ACEOF fi done LIBS=$gl_saved_libs fi GNULIB_EUIDACCESS=1 $as_echo "#define GNULIB_TEST_EUIDACCESS 1" >>confdefs.h if test $ac_cv_func_faccessat = no; then HAVE_FACCESSAT=0 fi if test $HAVE_FACCESSAT = 0; then gl_LIBOBJS="$gl_LIBOBJS faccessat.$ac_objext" for ac_func in access do : ac_fn_c_check_func "$LINENO" "access" "ac_cv_func_access" if test "x$ac_cv_func_access" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ACCESS 1 _ACEOF fi done fi cat >>confdefs.h <<_ACEOF #define GNULIB_FACCESSAT 1 _ACEOF GNULIB_FACCESSAT=1 $as_echo "#define GNULIB_TEST_FACCESSAT 1" >>confdefs.h : if test $ac_cv_have_decl_fchdir = no; then HAVE_DECL_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then gl_LIBOBJS="$gl_LIBOBJS fchdir.$ac_objext" : $as_echo "#define REPLACE_FCHDIR 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open can visit directories" >&5 $as_echo_n "checking whether open can visit directories... " >&6; } if ${gl_cv_func_open_directory_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_open_directory_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> int main () { return open(".", O_RDONLY) < 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_open_directory_works=yes else gl_cv_func_open_directory_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_directory_works" >&5 $as_echo "$gl_cv_func_open_directory_works" >&6; } case "$gl_cv_func_open_directory_works" in *yes) ;; *) $as_echo "#define REPLACE_OPEN_DIRECTORY 1" >>confdefs.h ;; esac fi GNULIB_FCHDIR=1 $as_echo "#define GNULIB_TEST_FCHDIR 1" >>confdefs.h if test $ac_cv_func_fchmodat != yes; then HAVE_FCHMODAT=0 fi if test $HAVE_FCHMODAT = 0; then gl_LIBOBJS="$gl_LIBOBJS fchmodat.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_FCHMODAT 1 _ACEOF GNULIB_FCHMODAT=1 $as_echo "#define GNULIB_TEST_FCHMODAT 1" >>confdefs.h ac_fn_c_check_func "$LINENO" "fchownat" "ac_cv_func_fchownat" if test "x$ac_cv_func_fchownat" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5 $as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; } if ${gl_cv_func_fchownat_nofollow_works+:} false; then : $as_echo_n "(cached) " >&6 else gl_dangle=conftest.dangle # Remove any remnants of a previous test. rm -f $gl_dangle # Arrange for deletion of the temporary file this test creates. ac_clean_files="$ac_clean_files $gl_dangle" ln -s conftest.no-such $gl_dangle if test "$cross_compiling" = yes; then : gl_cv_func_fchownat_nofollow_works=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <sys/types.h> int main () { return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), AT_SYMLINK_NOFOLLOW) != 0 && errno == ENOENT); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fchownat_nofollow_works=yes else gl_cv_func_fchownat_nofollow_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fchownat_nofollow_works" >&5 $as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; } if test $gl_cv_func_fchownat_nofollow_works = no; then : REPLACE_FCHOWNAT=1 $as_echo "#define FCHOWNAT_NOFOLLOW_BUG 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fchownat works with an empty file name" >&5 $as_echo_n "checking whether fchownat works with an empty file name... " >&6; } if ${gl_cv_func_fchownat_empty_filename_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_fchownat_empty_filename_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <fcntl.h> int main () { int fd; int ret; if (mkdir ("conftestdir", 0700) < 0) return 2; fd = open ("conftestdir", O_RDONLY); if (fd < 0) return 3; ret = fchownat (fd, "", -1, -1, 0); close (fd); rmdir ("conftestdir"); return ret == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fchownat_empty_filename_works=yes else gl_cv_func_fchownat_empty_filename_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fchownat_empty_filename_works" >&5 $as_echo "$gl_cv_func_fchownat_empty_filename_works" >&6; } if test "$gl_cv_func_fchownat_empty_filename_works" != yes; then : REPLACE_FCHOWNAT=1 $as_echo "#define FCHOWNAT_EMPTY_FILENAME_BUG 1" >>confdefs.h fi if test $REPLACE_CHOWN = 1; then REPLACE_FCHOWNAT=1 fi else HAVE_FCHOWNAT=0 fi if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_FCHOWNAT 1 _ACEOF GNULIB_FCHOWNAT=1 $as_echo "#define GNULIB_TEST_FCHOWNAT 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 $as_echo_n "checking whether fflush works on input streams... " >&6; } if ${gl_cv_func_fflush_stdin+:} false; then : $as_echo_n "(cached) " >&6 else echo hello world > conftest.txt if test "$cross_compiling" = yes; then : gl_cv_func_fflush_stdin=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif int main () { FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. This fails on BSD systems and on mingw. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* Verify behaviour of fflush after ungetc. See <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> */ /* Verify behaviour of fflush after a backup ungetc. This fails on mingw. */ c = fgetc (f); ungetc (c, f); fflush (f); if (fgetc (f) != c) return 6; /* Verify behaviour of fflush after a non-backup ungetc. This fails on glibc 2.8 and on BSD systems. */ c = fgetc (f); ungetc ('@', f); fflush (f); if (fgetc (f) != c) return 7; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fflush_stdin=yes else gl_cv_func_fflush_stdin=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm conftest.txt fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 $as_echo "$gl_cv_func_fflush_stdin" >&6; } if test $gl_cv_func_fflush_stdin = no; then REPLACE_FCLOSE=1 fi if test $REPLACE_CLOSE = 1; then REPLACE_FCLOSE=1 fi if test $REPLACE_FCLOSE = 1; then gl_LIBOBJS="$gl_LIBOBJS fclose.$ac_objext" fi GNULIB_FCLOSE=1 $as_echo "#define GNULIB_TEST_FCLOSE 1" >>confdefs.h if test $ac_cv_func_fcntl = no; then if test $ac_cv_func_fcntl = no; then HAVE_FCNTL=0 else REPLACE_FCNTL=1 fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5 $as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; } if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess that it works on glibc systems case $host_os in #(( *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";; *) gl_cv_func_fcntl_f_dupfd_works="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <errno.h> int main () { int result = 0; if (fcntl (0, F_DUPFD, -1) != -1) result |= 1; if (errno != EINVAL) result |= 2; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fcntl_f_dupfd_works=yes else gl_cv_func_fcntl_f_dupfd_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5 $as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; } case $gl_cv_func_fcntl_f_dupfd_works in *yes) ;; *) if test $ac_cv_func_fcntl = no; then HAVE_FCNTL=0 else REPLACE_FCNTL=1 fi $as_echo "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5 $as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; } if ${gl_cv_func_fcntl_f_dupfd_cloexec+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #ifndef F_DUPFD_CLOEXEC choke me #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __linux__ /* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace it to support the semantics on older kernels that failed with EINVAL. */ choke me #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_fcntl_f_dupfd_cloexec=yes else gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else gl_cv_func_fcntl_f_dupfd_cloexec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5 $as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; } if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then if test $ac_cv_func_fcntl = no; then HAVE_FCNTL=0 else REPLACE_FCNTL=1 fi fi fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then if test $ac_cv_func_fcntl = no; then HAVE_FCNTL=0 else REPLACE_FCNTL=1 fi fi if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext" fi GNULIB_FCNTL=1 $as_echo "#define GNULIB_TEST_FCNTL 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_fcntl_h='<'fcntl.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5 $as_echo_n "checking absolute name of <fcntl.h>... " >&6; } if ${gl_cv_next_fcntl_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'fcntl.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 $as_echo "$gl_cv_next_fcntl_h" >&6; } fi NEXT_FCNTL_H=$gl_cv_next_fcntl_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'fcntl.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_fcntl_h fi NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive cat >>confdefs.h <<_ACEOF #define GNULIB_FCNTL_SAFER 1 _ACEOF cat >>confdefs.h <<_ACEOF #define GNULIB_FD_SAFER_FLAG 1 _ACEOF LIB_FDATASYNC= if test $ac_cv_have_decl_fdatasync = no; then HAVE_DECL_FDATASYNC=0 for ac_func in fdatasync do : ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" if test "x$ac_cv_func_fdatasync" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FDATASYNC 1 _ACEOF fi done if test $ac_cv_func_fdatasync = no; then HAVE_FDATASYNC=0 fi else gl_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fdatasync" >&5 $as_echo_n "checking for library containing fdatasync... " >&6; } if ${ac_cv_search_fdatasync+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fdatasync (); int main () { return fdatasync (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_fdatasync=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_fdatasync+:} false; then : break fi done if ${ac_cv_search_fdatasync+:} false; then : else ac_cv_search_fdatasync=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fdatasync" >&5 $as_echo "$ac_cv_search_fdatasync" >&6; } ac_res=$ac_cv_search_fdatasync if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync fi LIBS=$gl_saved_libs fi if test $HAVE_FDATASYNC = 0; then gl_LIBOBJS="$gl_LIBOBJS fdatasync.$ac_objext" fi GNULIB_FDATASYNC=1 $as_echo "#define GNULIB_TEST_FDATASYNC 1" >>confdefs.h if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_FDOPEN=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5 $as_echo_n "checking whether fdopen sets errno... " >&6; } if ${gl_cv_func_fdopen_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in mingw*) gl_cv_func_fdopen_works="guessing no" ;; *) gl_cv_func_fdopen_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <errno.h> int main (void) { FILE *fp; errno = 0; fp = fdopen (-1, "r"); if (fp == NULL && errno == 0) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fdopen_works=yes else gl_cv_func_fdopen_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5 $as_echo "$gl_cv_func_fdopen_works" >&6; } case "$gl_cv_func_fdopen_works" in *no) REPLACE_FDOPEN=1 ;; esac fi if test $REPLACE_FDOPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS fdopen.$ac_objext" fi GNULIB_FDOPEN=1 $as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "fdopendir" "ac_cv_have_decl_fdopendir" " #include <dirent.h> " if test "x$ac_cv_have_decl_fdopendir" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FDOPENDIR $ac_have_decl _ACEOF if test $ac_have_decl = 1; then : else HAVE_DECL_FDOPENDIR=0 fi if test $ac_cv_func_fdopendir = no; then HAVE_FDOPENDIR=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopendir works" >&5 $as_echo_n "checking whether fdopendir works... " >&6; } if ${gl_cv_func_fdopendir_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_fdopendir_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <dirent.h> #include <fcntl.h> #include <unistd.h> #if !HAVE_DECL_FDOPENDIR extern # ifdef __cplusplus "C" # endif DIR *fdopendir (int); #endif int main () { int result = 0; int fd = open ("conftest.c", O_RDONLY); if (fd < 0) result |= 1; if (fdopendir (fd)) result |= 2; if (close (fd)) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fdopendir_works=yes else gl_cv_func_fdopendir_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopendir_works" >&5 $as_echo "$gl_cv_func_fdopendir_works" >&6; } case "$gl_cv_func_fdopendir_works" in *yes) ;; *) REPLACE_FDOPENDIR=1 ;; esac fi if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then gl_LIBOBJS="$gl_LIBOBJS fdopendir.$ac_objext" fi GNULIB_FDOPENDIR=1 $as_echo "#define GNULIB_TEST_FDOPENDIR 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_FDOPENDIR 1 _ACEOF cat >>confdefs.h <<_ACEOF #define GNULIB_FDUTIMENSAT 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 $as_echo_n "checking whether fflush works on input streams... " >&6; } if ${gl_cv_func_fflush_stdin+:} false; then : $as_echo_n "(cached) " >&6 else echo hello world > conftest.txt if test "$cross_compiling" = yes; then : gl_cv_func_fflush_stdin=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif int main () { FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. This fails on BSD systems and on mingw. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* Verify behaviour of fflush after ungetc. See <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> */ /* Verify behaviour of fflush after a backup ungetc. This fails on mingw. */ c = fgetc (f); ungetc (c, f); fflush (f); if (fgetc (f) != c) return 6; /* Verify behaviour of fflush after a non-backup ungetc. This fails on glibc 2.8 and on BSD systems. */ c = fgetc (f); ungetc ('@', f); fflush (f); if (fgetc (f) != c) return 7; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fflush_stdin=yes else gl_cv_func_fflush_stdin=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm conftest.txt fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 $as_echo "$gl_cv_func_fflush_stdin" >&6; } if test $gl_cv_func_fflush_stdin = no; then REPLACE_FFLUSH=1 fi if test $REPLACE_FFLUSH = 1; then gl_LIBOBJS="$gl_LIBOBJS fflush.$ac_objext" : fi cat >>confdefs.h <<_ACEOF #define GNULIB_FFLUSH 1 _ACEOF GNULIB_FFLUSH=1 $as_echo "#define GNULIB_TEST_FFLUSH 1" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default" if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLOCKS 1 _ACEOF $as_echo "#define HAVE_ST_BLOCKS 1" >>confdefs.h else : fi if test $ac_cv_member_struct_stat_st_blocks = no; then gl_LIBOBJS="$gl_LIBOBJS fileblocks.$ac_objext" : fi cat >>confdefs.h <<_ACEOF #define GNULIB_FILENAMECAT 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5 $as_echo_n "checking for flexible array member... " >&6; } if ${ac_cv_c_flexmember+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <stdio.h> #include <stddef.h> struct s { int n; double d[]; }; int main () { int m = getchar (); struct s *p = malloc (offsetof (struct s, d) + m * sizeof (double)); p->d[0] = 0.0; return p->d != (double *) NULL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_flexmember=yes else ac_cv_c_flexmember=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5 $as_echo "$ac_cv_c_flexmember" >&6; } if test $ac_cv_c_flexmember = yes; then $as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h else $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h fi FLOAT_H= REPLACE_FLOAT_LDBL=0 case "$host_os" in aix* | beos* | openbsd* | mirbsd* | irix*) FLOAT_H=float.h ;; freebsd*) case "$host_cpu" in i[34567]86 ) FLOAT_H=float.h ;; x86_64 ) # On x86_64 systems, the C compiler may still be generating # 32-bit code. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __LP64__ || defined __x86_64__ || defined __amd64__ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : else FLOAT_H=float.h fi rm -f conftest* ;; esac ;; linux*) case "$host_cpu" in powerpc*) FLOAT_H=float.h ;; esac ;; esac case "$host_os" in aix* | freebsd* | linux*) if test -n "$FLOAT_H"; then REPLACE_FLOAT_LDBL=1 fi ;; esac REPLACE_ITOLD=0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5 $as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; } if ${gl_cv_func_itold_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host" in sparc*-*-linux*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __LP64__ || defined __arch64__ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_func_itold_works="guessing no" else gl_cv_func_itold_works="guessing yes" fi rm -f conftest* ;; *) gl_cv_func_itold_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int i = -1; volatile long double ld; int main () { ld += i * 1.0L; if (ld > 0) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_itold_works=yes else gl_cv_func_itold_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5 $as_echo "$gl_cv_func_itold_works" >&6; } case "$gl_cv_func_itold_works" in *no) REPLACE_ITOLD=1 FLOAT_H=float.h ;; esac if test -n "$FLOAT_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_float_h='<'float.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <float.h>" >&5 $as_echo_n "checking absolute name of <float.h>... " >&6; } if ${gl_cv_next_float_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'float.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 $as_echo "$gl_cv_next_float_h" >&6; } fi NEXT_FLOAT_H=$gl_cv_next_float_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'float.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_float_h fi NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive fi if test -n "$FLOAT_H"; then GL_GENERATE_FLOAT_H_TRUE= GL_GENERATE_FLOAT_H_FALSE='#' else GL_GENERATE_FLOAT_H_TRUE='#' GL_GENERATE_FLOAT_H_FALSE= fi if test $REPLACE_FLOAT_LDBL = 1; then gl_LIBOBJS="$gl_LIBOBJS float.$ac_objext" fi if test $REPLACE_ITOLD = 1; then gl_LIBOBJS="$gl_LIBOBJS itold.$ac_objext" fi FNMATCH_H= gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[A-Z]' '[a-z]' ` gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5 $as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; } if eval \${$gl_fnmatch_cache_var+:} false; then : $as_echo_n "(cached) " >&6 else if test $gl_fnmatch_required = GNU; then gl_fnmatch_gnu_start= gl_fnmatch_gnu_end= else gl_fnmatch_gnu_start='#if 0' gl_fnmatch_gnu_end='#endif' fi if test "$cross_compiling" = yes; then : eval "$gl_fnmatch_cache_var=\"guessing no\"" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fnmatch.h> static int y (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == 0; } static int n (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == FNM_NOMATCH; } int main () { char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; static char const A_1[] = { 'A' - 1, 0 }; static char const A01[] = { 'A' + 1, 0 }; static char const a_1[] = { 'a' - 1, 0 }; static char const a01[] = { 'a' + 1, 0 }; static char const bs_1[] = { '\\\\' - 1, 0 }; static char const bs01[] = { '\\\\' + 1, 0 }; int result = 0; if (!n ("a*", "", 0)) return 1; if (!y ("a*", "abc", 0)) return 1; if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */ return 1; if (!n ("d*/*1", "d/s/1", FNM_PATHNAME)) return 2; if (!y ("a\\\\bc", "abc", 0)) return 3; if (!n ("a\\\\bc", "abc", FNM_NOESCAPE)) return 3; if (!y ("*x", ".x", 0)) return 4; if (!n ("*x", ".x", FNM_PERIOD)) return 4; if (!y (Apat, "\\\\", 0)) return 5; if (!y (Apat, "A", 0)) return 5; if (!y (apat, "\\\\", 0)) return 5; if (!y (apat, "a", 0)) return 5; if (!(n (Apat, A_1, 0) == ('A' < '\\\\'))) return 5; if (!(n (apat, a_1, 0) == ('a' < '\\\\'))) return 5; if (!(y (Apat, A01, 0) == ('A' < '\\\\'))) return 5; if (!(y (apat, a01, 0) == ('a' < '\\\\'))) return 5; if (!(y (Apat, bs_1, 0) == ('A' < '\\\\'))) return 5; if (!(y (apat, bs_1, 0) == ('a' < '\\\\'))) return 5; if (!(n (Apat, bs01, 0) == ('A' < '\\\\'))) return 5; if (!(n (apat, bs01, 0) == ('a' < '\\\\'))) return 5; $gl_fnmatch_gnu_start if (!y ("xxXX", "xXxX", FNM_CASEFOLD)) result |= 8; if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)) result |= 16; if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME)) result |= 32; if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)) result |= 64; $gl_fnmatch_gnu_end return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : eval "$gl_fnmatch_cache_var=yes" else eval "$gl_fnmatch_cache_var=no" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi eval ac_res=\$$gl_fnmatch_cache_var { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" if test "$gl_fnmatch_result" = yes; then rm -f "$gl_source_base/fnmatch.h" else FNMATCH_H=fnmatch.h fi if test -n "$FNMATCH_H"; then GL_GENERATE_FNMATCH_H_TRUE= GL_GENERATE_FNMATCH_H_FALSE='#' else GL_GENERATE_FNMATCH_H_TRUE='#' GL_GENERATE_FNMATCH_H_FALSE= fi if test -n "$FNMATCH_H"; then gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" cat >>confdefs.h <<_ACEOF #define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch _ACEOF ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h> " if test "x$ac_cv_have_decl_isblank" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF fi if test -n "$FNMATCH_H"; then gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" cat >>confdefs.h <<_ACEOF #define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch _ACEOF ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h> " if test "x$ac_cv_have_decl_isblank" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF fi case "$host_os" in mingw* | pw*) REPLACE_FOPEN=1 gl_cv_func_fopen_slash="guessing no" ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fopen recognizes a trailing slash" >&5 $as_echo_n "checking whether fopen recognizes a trailing slash... " >&6; } if ${gl_cv_func_fopen_slash+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) gl_cv_func_fopen_slash="guessing no" ;; *) gl_cv_func_fopen_slash="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdio.h> int main () { return fopen ("conftest.sl/", "w") != NULL; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fopen_slash=yes else gl_cv_func_fopen_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.sl fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fopen_slash" >&5 $as_echo "$gl_cv_func_fopen_slash" >&6; } ;; esac case "$gl_cv_func_fopen_slash" in *no) $as_echo "#define FOPEN_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_FOPEN=1 ;; esac if test $REPLACE_FOPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS fopen.$ac_objext" : fi GNULIB_FOPEN=1 $as_echo "#define GNULIB_TEST_FOPEN 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_FOPEN_SAFER 1 _ACEOF fp_headers=' # include <stdio.h> # if HAVE_STDIO_EXT_H # include <stdio_ext.h> # endif ' ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers " if test "x$ac_cv_have_decl___fpending" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FPENDING $ac_have_decl _ACEOF if test $ac_cv_func___fpending = no; then gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to determine the number of pending output bytes on a stream" >&5 $as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; } if ${ac_cv_sys_pending_output_n_bytes+:} false; then : $as_echo_n "(cached) " >&6 else for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# Minix' \ 'fp->_ptr - fp->_buf' \ \ '# Plan9' \ 'fp->wp - fp->buf' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *fp = stdin; (void) ($ac_expr); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fp_done=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_pending_output_n_bytes" >&5 $as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; } cat >>confdefs.h <<_ACEOF #define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes _ACEOF fi ac_fn_c_check_decl "$LINENO" "fpurge" "ac_cv_have_decl_fpurge" "#include <stdio.h> " if test "x$ac_cv_have_decl_fpurge" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPURGE $ac_have_decl _ACEOF if test "x$ac_cv_func_fpurge" = xyes; then HAVE_FPURGE=1 # Detect BSD bug. Only cygwin 1.7 is known to be immune. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fpurge works" >&5 $as_echo_n "checking whether fpurge works... " >&6; } if ${gl_cv_func_fpurge_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_fpurge_works='guessing no' else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *f = fopen ("conftest.txt", "w+"); if (!f) return 1; if (fputc ('a', f) != 'a') return 2; rewind (f); if (fgetc (f) != 'a') return 3; if (fgetc (f) != EOF) return 4; if (fpurge (f) != 0) return 5; if (putc ('b', f) != 'b') return 6; if (fclose (f) != 0) return 7; if ((f = fopen ("conftest.txt", "r")) == NULL) return 8; if (fgetc (f) != 'a') return 9; if (fgetc (f) != 'b') return 10; if (fgetc (f) != EOF) return 11; if (fclose (f) != 0) return 12; if (remove ("conftest.txt") != 0) return 13; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fpurge_works=yes else gl_cv_func_fpurge_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fpurge_works" >&5 $as_echo "$gl_cv_func_fpurge_works" >&6; } if test "x$gl_cv_func_fpurge_works" != xyes; then REPLACE_FPURGE=1 fi else HAVE_FPURGE=0 fi if test "x$ac_cv_have_decl_fpurge" = xno; then HAVE_DECL_FPURGE=0 fi if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then gl_LIBOBJS="$gl_LIBOBJS fpurge.$ac_objext" fi GNULIB_FPURGE=1 $as_echo "#define GNULIB_TEST_FPURGE 1" >>confdefs.h if test $ac_cv_func___freadahead = no; then gl_LIBOBJS="$gl_LIBOBJS freadahead.$ac_objext" fi if test $ac_cv_func___freadptr = no; then gl_LIBOBJS="$gl_LIBOBJS freadptr.$ac_objext" fi case "$host_os" in mingw* | pw*) REPLACE_FREOPEN=1 ;; esac if test $REPLACE_FREOPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS freopen.$ac_objext" : fi GNULIB_FREOPEN=1 $as_echo "#define GNULIB_TEST_FREOPEN 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_FREOPEN_SAFER 1 _ACEOF if test $gl_cv_func_frexp_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp works" >&5 $as_echo_n "checking whether frexp works... " >&6; } if ${gl_cv_func_frexp_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <math.h> #include <string.h> #if HAVE_ALARM # include <unistd.h> #endif /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zero (void) { return -DBL_MIN * DBL_MIN; } # define minus_zero compute_minus_zero () #else double minus_zero = -0.0; #endif int main() { int result = 0; int i; volatile double x; double zero = 0.0; #if HAVE_ALARM /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite number. Let the test fail in this case. */ alarm (5); #endif /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) result |= 1; } /* Test on infinite numbers. */ x = 1.0 / zero; { int exp; double y = frexp (x, &exp); if (y != x) result |= 2; } /* Test on negative zero. */ x = minus_zero; { int exp; double y = frexp (x, &exp); if (memcmp (&y, &x, sizeof x)) result |= 4; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_frexp_works=yes else gl_cv_func_frexp_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5 $as_echo "$gl_cv_func_frexp_works" >&6; } case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp_no_libm=yes ;; *) gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;; esac else gl_func_frexp_no_libm=no REPLACE_FREXP=1 fi if test $gl_func_frexp_no_libm = yes; then $as_echo "#define HAVE_FREXP_IN_LIBC 1" >>confdefs.h fi if test $gl_func_frexp_no_libm != yes; then gl_LIBOBJS="$gl_LIBOBJS frexp.$ac_objext" fi GNULIB_FREXP=1 $as_echo "#define GNULIB_TEST_FREXP 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "frexpl" "ac_cv_have_decl_frexpl" "#include <math.h> " if test "x$ac_cv_have_decl_frexpl" = xyes; then : else HAVE_DECL_FREXPL=0 fi if test $HAVE_DECL_FREXPL = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used without linking with libm" >&5 $as_echo_n "checking whether frexpl() can be used without linking with libm... " >&6; } if ${gl_cv_func_frexpl_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> long double x; int main () { int e; return frexpl (x, &e) > 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_frexpl_no_libm=yes else gl_cv_func_frexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5 $as_echo "$gl_cv_func_frexpl_no_libm" >&6; } if test $gl_cv_func_frexpl_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl works" >&5 $as_echo_n "checking whether frexpl works... " >&6; } if ${gl_cv_func_frexpl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <math.h> /* Override the values of <float.h>, like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if defined __i386__ && defined __FreeBSD__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP #endif #if defined __sgi && (LDBL_MANT_DIG >= 106) # if defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP # endif #endif extern #ifdef __cplusplus "C" #endif long double frexpl (long double, int *); int main() { int result = 0; volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) result |= 1; } /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) result |= 2; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS <float.h> has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) { result |= 4; break; } } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On Mac OS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) result |= 8; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) result |= 16; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_frexpl_works=yes else gl_cv_func_frexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5 $as_echo "$gl_cv_func_frexpl_works" >&6; } case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then $as_echo "#define HAVE_FREXPL_IN_LIBC 1" >>confdefs.h fi fi if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; then gl_LIBOBJS="$gl_LIBOBJS frexpl.$ac_objext" fi GNULIB_FREXPL=1 $as_echo "#define GNULIB_TEST_FREXPL 1" >>confdefs.h if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then REPLACE_FSEEK=1 fi if test $REPLACE_FSEEK = 1; then gl_LIBOBJS="$gl_LIBOBJS fseek.$ac_objext" fi GNULIB_FSEEK=1 $as_echo "#define GNULIB_TEST_FSEEK 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 $as_echo_n "checking for fseeko... " >&6; } if ${gl_cv_func_fseeko+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { fseeko (stdin, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_fseeko=yes else gl_cv_func_fseeko=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 $as_echo "$gl_cv_func_fseeko" >&6; } if test $ac_cv_have_decl_fseeko = no; then HAVE_DECL_FSEEKO=0 fi if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FSEEKO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FSEEKO=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fflush works on input streams" >&5 $as_echo_n "checking whether fflush works on input streams... " >&6; } if ${gl_cv_func_fflush_stdin+:} false; then : $as_echo_n "(cached) " >&6 else echo hello world > conftest.txt if test "$cross_compiling" = yes; then : gl_cv_func_fflush_stdin=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif int main () { FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; int c; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. This fails on BSD systems and on mingw. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* Verify behaviour of fflush after ungetc. See <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> */ /* Verify behaviour of fflush after a backup ungetc. This fails on mingw. */ c = fgetc (f); ungetc (c, f); fflush (f); if (fgetc (f) != c) return 6; /* Verify behaviour of fflush after a non-backup ungetc. This fails on glibc 2.8 and on BSD systems. */ c = fgetc (f); ungetc ('@', f); fflush (f); if (fgetc (f) != c) return 7; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fflush_stdin=yes else gl_cv_func_fflush_stdin=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm conftest.txt fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fflush_stdin" >&5 $as_echo "$gl_cv_func_fflush_stdin" >&6; } if test $gl_cv_func_fflush_stdin = no; then REPLACE_FSEEKO=1 fi fi if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" for ac_func in _fseeki64 do : ac_fn_c_check_func "$LINENO" "_fseeki64" "ac_cv_func__fseeki64" if test "x$ac_cv_func__fseeki64" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FSEEKI64 1 _ACEOF fi done fi GNULIB_FSEEKO=1 $as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h if test $ac_cv_func___fseterr = no; then gl_LIBOBJS="$gl_LIBOBJS fseterr.$ac_objext" fi if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_FSTAT=1 fi if test $WINDOWS_64_BIT_ST_SIZE = 1; then REPLACE_FSTAT=1 fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then case "$gl_cv_func_open_directory_works" in *yes) ;; *) REPLACE_FSTAT=1 ;; esac fi if test $REPLACE_FSTAT = 1; then gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" : fi GNULIB_FSTAT=1 $as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h if test $ac_cv_func_fstatat = no; then HAVE_FSTATAT=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fstatat (..., 0) works" >&5 $as_echo_n "checking whether fstatat (..., 0) works... " >&6; } if ${gl_cv_func_fstatat_zero_flag+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in aix*) gl_cv_func_fstatat_zero_flag="guessing no";; *) gl_cv_func_fstatat_zero_flag="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <sys/stat.h> int main (void) { struct stat a; return fstatat (AT_FDCWD, ".", &a, 0) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_fstatat_zero_flag=yes else gl_cv_func_fstatat_zero_flag=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fstatat_zero_flag" >&5 $as_echo "$gl_cv_func_fstatat_zero_flag" >&6; } case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in *yes+*yes) ;; *) REPLACE_FSTATAT=1 case $gl_cv_func_fstatat_zero_flag in *yes) $as_echo "#define HAVE_WORKING_FSTATAT_ZERO_FLAG 1" >>confdefs.h ;; esac ;; esac fi if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" fi GNULIB_FSTATAT=1 $as_echo "#define GNULIB_TEST_FSTATAT 1" >>confdefs.h for ac_header in sys/mount.h do : ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include <sys/param.h> #endif " if test "x$ac_cv_header_sys_mount_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MOUNT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to get file system space usage" >&5 $as_echo "$as_me: checking how to get file system space usage" >&6;} ac_fsusage_space=no # Perform only the link test since it seems there are no variants of the # statvfs function. This check is more than just AC_CHECK_FUNCS([statvfs]) # because that got a false positive on SCO OSR5. Adding the declaration # of a 'struct statvfs' causes this test to fail (as it should) on such # systems. That system is reported to work fine with STAT_STATFS4 which # is what it gets when this test fails. if test $ac_fsusage_space = no; then # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for statvfs function (SVR4)" >&5 $as_echo_n "checking for statvfs function (SVR4)... " >&6; } if ${fu_cv_sys_stat_statvfs+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef __osf__ "Do not use Tru64's statvfs implementation" #endif #include <sys/statvfs.h> struct statvfs fsd; #if defined __APPLE__ && defined __MACH__ #include <limits.h> /* On Mac OS X >= 10.5, f_blocks in 'struct statvfs' is a 32-bit quantity; that commonly limits file systems to 4 TiB. Whereas f_blocks in 'struct statfs' is a 64-bit type, thanks to the large-file support that was enabled above. In this case, don't use statvfs(); use statfs() instead. */ int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1]; #endif int main () { statvfs (0, &fsd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : fu_cv_sys_stat_statvfs=yes else fu_cv_sys_stat_statvfs=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statvfs" >&5 $as_echo "$fu_cv_sys_stat_statvfs" >&6; } if test $fu_cv_sys_stat_statvfs = yes; then ac_fsusage_space=yes # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs. # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems # statvfs with large-file support is already equivalent to statvfs64. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use statvfs64" >&5 $as_echo_n "checking whether to use statvfs64... " >&6; } if ${fu_cv_sys_stat_statvfs64+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/statvfs.h> struct statvfs64 fsd; int check_f_blocks_larger_in_statvfs64 [sizeof (((struct statvfs64 *) 0)->f_blocks) > sizeof (((struct statvfs *) 0)->f_blocks) ? 1 : -1]; int main () { statvfs64 (0, &fsd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : fu_cv_sys_stat_statvfs64=yes else fu_cv_sys_stat_statvfs64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statvfs64" >&5 $as_echo "$fu_cv_sys_stat_statvfs64" >&6; } if test $fu_cv_sys_stat_statvfs64 = yes; then $as_echo "#define STAT_STATVFS64 1" >>confdefs.h else $as_echo "#define STAT_STATVFS 1" >>confdefs.h fi fi fi # Check for this unconditionally so we have a # good fallback on glibc/Linux > 2.6 < 2.6.36 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for two-argument statfs with statfs.f_frsize member" >&5 $as_echo_n "checking for two-argument statfs with statfs.f_frsize member... " >&6; } if ${fu_cv_sys_stat_statfs2_frsize+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_statfs2_frsize=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif #ifdef HAVE_SYS_VFS_H #include <sys/vfs.h> #endif int main () { struct statfs fsd; fsd.f_frsize = 0; return statfs (".", &fsd) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_statfs2_frsize=yes else fu_cv_sys_stat_statfs2_frsize=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statfs2_frsize" >&5 $as_echo "$fu_cv_sys_stat_statfs2_frsize" >&6; } if test $fu_cv_sys_stat_statfs2_frsize = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS2_FRSIZE 1" >>confdefs.h fi if test $ac_fsusage_space = no; then # DEC Alpha running OSF/1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 3-argument statfs function (DEC OSF/1)" >&5 $as_echo_n "checking for 3-argument statfs function (DEC OSF/1)... " >&6; } if ${fu_cv_sys_stat_statfs3_osf1+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_statfs3_osf1=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/param.h> #include <sys/types.h> #include <sys/mount.h> int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd, sizeof (struct statfs)) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_statfs3_osf1=yes else fu_cv_sys_stat_statfs3_osf1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statfs3_osf1" >&5 $as_echo "$fu_cv_sys_stat_statfs3_osf1" >&6; } if test $fu_cv_sys_stat_statfs3_osf1 = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS3_OSF1 1" >>confdefs.h fi fi if test $ac_fsusage_space = no; then # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4. # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0, # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.) # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and # <sys/vfs.h>.) # (On Solaris, statfs has 4 arguments.) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for two-argument statfs with statfs.f_bsize member (AIX, 4.3BSD)" >&5 $as_echo_n "checking for two-argument statfs with statfs.f_bsize member (AIX, 4.3BSD)... " >&6; } if ${fu_cv_sys_stat_statfs2_bsize+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_statfs2_bsize=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif #ifdef HAVE_SYS_VFS_H #include <sys/vfs.h> #endif int main () { struct statfs fsd; fsd.f_bsize = 0; return statfs (".", &fsd) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_statfs2_bsize=yes else fu_cv_sys_stat_statfs2_bsize=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statfs2_bsize" >&5 $as_echo "$fu_cv_sys_stat_statfs2_bsize" >&6; } if test $fu_cv_sys_stat_statfs2_bsize = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS2_BSIZE 1" >>confdefs.h fi fi if test $ac_fsusage_space = no; then # SVR3 # (Solaris already handled above.) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for four-argument statfs (AIX-3.2.5, SVR3)" >&5 $as_echo_n "checking for four-argument statfs (AIX-3.2.5, SVR3)... " >&6; } if ${fu_cv_sys_stat_statfs4+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_statfs4=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/statfs.h> int main () { struct statfs fsd; return statfs (".", &fsd, sizeof fsd, 0) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_statfs4=yes else fu_cv_sys_stat_statfs4=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statfs4" >&5 $as_echo "$fu_cv_sys_stat_statfs4" >&6; } if test $fu_cv_sys_stat_statfs4 = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS4 1" >>confdefs.h fi fi if test $ac_fsusage_space = no; then # 4.4BSD and older NetBSD # (OSF/1 already handled above.) # (On AIX, you need to include <sys/statfs.h>, not only <sys/mount.h>.) # (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in # <sys/mount.h>.) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for two-argument statfs with statfs.f_fsize member (4.4BSD and NetBSD)" >&5 $as_echo_n "checking for two-argument statfs with statfs.f_fsize member (4.4BSD and NetBSD)... " >&6; } if ${fu_cv_sys_stat_statfs2_fsize+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_statfs2_fsize=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd) != 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_statfs2_fsize=yes else fu_cv_sys_stat_statfs2_fsize=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_statfs2_fsize" >&5 $as_echo "$fu_cv_sys_stat_statfs2_fsize" >&6; } if test $fu_cv_sys_stat_statfs2_fsize = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS2_FSIZE 1" >>confdefs.h fi fi if test $ac_fsusage_space = no; then # Ultrix { $as_echo "$as_me:${as_lineno-$LINENO}: checking for two-argument statfs with struct fs_data (Ultrix)" >&5 $as_echo_n "checking for two-argument statfs with struct fs_data (Ultrix)... " >&6; } if ${fu_cv_sys_stat_fs_data+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : fu_cv_sys_stat_fs_data=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif #ifdef HAVE_SYS_FS_TYPES_H #include <sys/fs_types.h> #endif int main () { struct fs_data fsd; /* Ultrix's statfs returns 1 for success, 0 for not mounted, -1 for failure. */ return statfs (".", &fsd) != 1; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : fu_cv_sys_stat_fs_data=yes else fu_cv_sys_stat_fs_data=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_stat_fs_data" >&5 $as_echo "$fu_cv_sys_stat_fs_data" >&6; } if test $fu_cv_sys_stat_fs_data = yes; then ac_fsusage_space=yes $as_echo "#define STAT_STATFS2_FS_DATA 1" >>confdefs.h fi fi if test $ac_fsusage_space = no; then # SVR2 # (AIX, HP-UX, OSF/1 already handled above.) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/filsys.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : $as_echo "#define STAT_READ_FILSYS 1" >>confdefs.h ac_fsusage_space=yes fi rm -f conftest.err conftest.i conftest.$ac_ext fi if test $ac_fsusage_space = yes; then : gl_cv_fs_space=yes else gl_cv_fs_space=no fi if test $gl_cv_fs_space = yes; then gl_LIBOBJS="$gl_LIBOBJS fsusage.$ac_objext" for ac_header in dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for statfs that truncates block counts" >&5 $as_echo_n "checking for statfs that truncates block counts... " >&6; } if ${fu_cv_sys_truncating_statfs+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if !defined(sun) && !defined(__sun) choke -- this is a workaround for a Sun-specific problem #endif #include <sys/types.h> #include <sys/vfs.h> int main () { struct statfs t; long c = *(t.f_spare); if (c) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fu_cv_sys_truncating_statfs=yes else fu_cv_sys_truncating_statfs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fu_cv_sys_truncating_statfs = yes; then $as_echo "#define STATFS_TRUNCATES_BLOCK_COUNTS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_truncating_statfs" >&5 $as_echo "$fu_cv_sys_truncating_statfs" >&6; } fi if test $ac_cv_func_fsync = no; then HAVE_FSYNC=0 fi if test $HAVE_FSYNC = 0; then gl_LIBOBJS="$gl_LIBOBJS fsync.$ac_objext" : fi GNULIB_FSYNC=1 $as_echo "#define GNULIB_TEST_FSYNC 1" >>confdefs.h if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then REPLACE_FTELL=1 fi if test $REPLACE_FTELL = 1; then gl_LIBOBJS="$gl_LIBOBJS ftell.$ac_objext" fi GNULIB_FTELL=1 $as_echo "#define GNULIB_TEST_FTELL 1" >>confdefs.h if test $ac_cv_have_decl_ftello = no; then HAVE_DECL_FTELLO=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 $as_echo_n "checking for ftello... " >&6; } if ${gl_cv_func_ftello+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { ftello (stdin); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_ftello=yes else gl_cv_func_ftello=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 $as_echo "$gl_cv_func_ftello" >&6; } if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 else if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_FTELLO=1 fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FTELLO=1 fi if test $REPLACE_FTELLO = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 $as_echo_n "checking whether ftello works... " >&6; } if ${gl_cv_func_ftello_works+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_ftello_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_ftello_works="guessing yes" ;; esac if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define TESTFILE "conftest.tmp" int main (void) { FILE *fp; /* Create a file with some contents. */ fp = fopen (TESTFILE, "w"); if (fp == NULL) return 70; if (fwrite ("foogarsh", 1, 8, fp) < 8) return 71; if (fclose (fp)) return 72; /* The file's contents is now "foogarsh". */ /* Try writing after reading to EOF. */ fp = fopen (TESTFILE, "r+"); if (fp == NULL) return 73; if (fseek (fp, -1, SEEK_END)) return 74; if (!(getc (fp) == 'h')) return 1; if (!(getc (fp) == EOF)) return 2; if (!(ftell (fp) == 8)) return 3; if (!(ftell (fp) == 8)) return 4; if (!(putc ('!', fp) == '!')) return 5; if (!(ftell (fp) == 9)) return 6; if (!(fclose (fp) == 0)) return 7; fp = fopen (TESTFILE, "r"); if (fp == NULL) return 75; { char buf[10]; if (!(fread (buf, 1, 10, fp) == 9)) return 10; if (!(memcmp (buf, "foogarsh!", 9) == 0)) return 11; } if (!(fclose (fp) == 0)) return 12; /* The file's contents is now "foogarsh!". */ return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_ftello_works=yes else gl_cv_func_ftello_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 $as_echo "$gl_cv_func_ftello_works" >&6; } case "$gl_cv_func_ftello_works" in *yes) ;; *) REPLACE_FTELLO=1 $as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h ;; esac fi fi if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then gl_LIBOBJS="$gl_LIBOBJS ftello.$ac_objext" for ac_func in _ftelli64 do : ac_fn_c_check_func "$LINENO" "_ftelli64" "ac_cv_func__ftelli64" if test "x$ac_cv_func__ftelli64" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FTELLI64 1 _ACEOF fi done fi GNULIB_FTELLO=1 $as_echo "#define GNULIB_TEST_FTELLO 1" >>confdefs.h if test $ac_cv_func_ftruncate = yes; then case "$host_os" in mingw*) REPLACE_FTRUNCATE=1 ;; esac else HAVE_FTRUNCATE=0 fi if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then gl_LIBOBJS="$gl_LIBOBJS ftruncate.$ac_objext" for ac_func in chsize do : ac_fn_c_check_func "$LINENO" "chsize" "ac_cv_func_chsize" if test "x$ac_cv_func_chsize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CHSIZE 1 _ACEOF fi done fi GNULIB_FTRUNCATE=1 $as_echo "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in yes+*yes) ;; yes+*) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_OPENAT=1 ;; *) HAVE_OPENAT=0 ;; esac ac_fn_c_check_member "$LINENO" "struct statfs" "f_type" "ac_cv_member_struct_statfs_f_type" "$ac_includes_default #include <sys/vfs.h> " if test "x$ac_cv_member_struct_statfs_f_type" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_TYPE 1 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS fts.$ac_objext" if test $ac_cv_func_futimens = no; then HAVE_FUTIMENS=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimens works" >&5 $as_echo_n "checking whether futimens works... " >&6; } if ${gl_cv_func_futimens_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_futimens_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> int main () { struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; int fd = creat ("conftest.file", 0600); struct stat st; if (fd < 0) return 1; errno = 0; if (futimens (AT_FDCWD, NULL) == 0) return 2; if (errno != EBADF) return 3; if (futimens (fd, ts)) return 4; sleep (1); ts[0].tv_nsec = UTIME_NOW; ts[1].tv_nsec = UTIME_OMIT; if (futimens (fd, ts)) return 5; if (fstat (fd, &st)) return 6; if (st.st_ctime < st.st_atime) return 7; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __linux__ /* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT in several file systems as recently as 2.6.32. Always replace futimens to support older kernels. */ choke me #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_futimens_works=yes else gl_cv_func_futimens_works="needs runtime check" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else gl_cv_func_futimens_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimens_works" >&5 $as_echo "$gl_cv_func_futimens_works" >&6; } if test "$gl_cv_func_futimens_works" != yes; then REPLACE_FUTIMENS=1 fi fi if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext" fi GNULIB_FUTIMENS=1 $as_echo "#define GNULIB_TEST_FUTIMENS 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&5 $as_echo "$as_me: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&6;} GETADDRINFO_LIB= gai_saved_LIBS="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getaddrinfo" >&5 $as_echo_n "checking for library containing getaddrinfo... " >&6; } if ${ac_cv_search_getaddrinfo+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getaddrinfo (); int main () { return getaddrinfo (); ; return 0; } _ACEOF for ac_lib in '' socket network net; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getaddrinfo=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getaddrinfo+:} false; then : break fi done if ${ac_cv_search_getaddrinfo+:} false; then : else ac_cv_search_getaddrinfo=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getaddrinfo" >&5 $as_echo "$ac_cv_search_getaddrinfo" >&6; } ac_res=$ac_cv_search_getaddrinfo if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_getaddrinfo" != "none required"; then GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" fi fi LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" HAVE_GETADDRINFO=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 $as_echo_n "checking for getaddrinfo... " >&6; } if ${gl_cv_func_getaddrinfo+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #include <stddef.h> int main () { getaddrinfo("", "", NULL, NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_getaddrinfo=yes else gl_cv_func_getaddrinfo=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getaddrinfo" >&5 $as_echo "$gl_cv_func_getaddrinfo" >&6; } if test $gl_cv_func_getaddrinfo = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in ws2tcpip.h and -lws2_32" >&5 $as_echo_n "checking for getaddrinfo in ws2tcpip.h and -lws2_32... " >&6; } if ${gl_cv_w32_getaddrinfo+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_getaddrinfo=no am_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif #include <stddef.h> int main () { getaddrinfo(NULL, NULL, NULL, NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_getaddrinfo=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getaddrinfo" >&5 $as_echo "$gl_cv_w32_getaddrinfo" >&6; } if test "$gl_cv_w32_getaddrinfo" = "yes"; then GETADDRINFO_LIB="-lws2_32" LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" else HAVE_GETADDRINFO=0 fi fi # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an # inline function declared in ws2tcpip.h, so we need to get that # header included somehow. ac_fn_c_check_decl "$LINENO" "gai_strerror" "ac_cv_have_decl_gai_strerror" " #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif #include <stddef.h> " if test "x$ac_cv_have_decl_gai_strerror" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GAI_STRERROR $ac_have_decl _ACEOF if test $ac_cv_have_decl_gai_strerror = yes; then ac_fn_c_check_decl "$LINENO" "gai_strerrorA" "ac_cv_have_decl_gai_strerrorA" " #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif #include <stddef.h> " if test "x$ac_cv_have_decl_gai_strerrorA" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GAI_STRERRORA $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror with POSIX signature" >&5 $as_echo_n "checking for gai_strerror with POSIX signature... " >&6; } if ${gl_cv_func_gai_strerror_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif #include <stddef.h> extern #ifdef __cplusplus "C" #endif const char *gai_strerror(int); _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_gai_strerror_posix_signature=yes else gl_cv_func_gai_strerror_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gai_strerror_posix_signature" >&5 $as_echo "$gl_cv_func_gai_strerror_posix_signature" >&6; } if test $gl_cv_func_gai_strerror_posix_signature = no; then REPLACE_GAI_STRERROR=1 fi fi LIBS="$gai_saved_LIBS" ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" " #include <sys/types.h> #include <sys/socket.h> " if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_SA_LEN 1 _ACEOF fi ac_fn_c_check_decl "$LINENO" "getaddrinfo" "ac_cv_have_decl_getaddrinfo" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_have_decl_getaddrinfo" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETADDRINFO $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "freeaddrinfo" "ac_cv_have_decl_freeaddrinfo" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_have_decl_freeaddrinfo" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREEADDRINFO $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getnameinfo" "ac_cv_have_decl_getnameinfo" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_have_decl_getnameinfo" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETNAMEINFO $ac_have_decl _ACEOF if test $ac_cv_have_decl_getaddrinfo = no; then HAVE_DECL_GETADDRINFO=0 fi if test $ac_cv_have_decl_freeaddrinfo = no; then HAVE_DECL_FREEADDRINFO=0 fi if test $ac_cv_have_decl_gai_strerror = no; then HAVE_DECL_GAI_STRERROR=0 fi if test $ac_cv_have_decl_getnameinfo = no; then HAVE_DECL_GETNAMEINFO=0 fi ac_fn_c_check_type "$LINENO" "struct addrinfo" "ac_cv_type_struct_addrinfo" " #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_type_struct_addrinfo" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_ADDRINFO 1 _ACEOF fi if test $ac_cv_type_struct_addrinfo = no; then HAVE_STRUCT_ADDRINFO=0 fi case " $GETADDRINFO_LIB " in *" $HOSTENT_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; esac case " $GETADDRINFO_LIB " in *" $SERVENT_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; esac case " $GETADDRINFO_LIB " in *" $INET_NTOP_LIB "*) ;; *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; esac if test $HAVE_GETADDRINFO = 0; then gl_LIBOBJS="$gl_LIBOBJS getaddrinfo.$ac_objext" fi if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then gl_LIBOBJS="$gl_LIBOBJS gai_strerror.$ac_objext" fi GNULIB_GETADDRINFO=1 $as_echo "#define GNULIB_TEST_GETADDRINFO 1" >>confdefs.h gl_abort_bug=no case "$host_os" in mingw*) gl_cv_func_getcwd_path_max=yes ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd handles long file names properly" >&5 $as_echo_n "checking whether getcwd handles long file names properly... " >&6; } if ${gl_cv_func_getcwd_path_max+:} false; then : $as_echo_n "(cached) " >&6 else # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir3" if test "$cross_compiling" = yes; then : case "$host_os" in aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <stdlib.h> #if HAVE_UNISTD_H # include <unistd.h> #else # include <direct.h> #endif #include <string.h> #include <limits.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> /* Arrange to define PATH_MAX, like "pathmax.h" does. */ #if HAVE_UNISTD_H # include <unistd.h> #endif #include <limits.h> #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include <sys/param.h> #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifdef __hpux # undef PATH_MAX # define PATH_MAX 1024 #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef PATH_MAX # define PATH_MAX 260 #endif #ifndef AT_FDCWD # define AT_FDCWD 0 #endif #ifdef ENAMETOOLONG # define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) #else # define is_ENAMETOOLONG(x) 0 #endif /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* The length of this name must be 8. */ #define DIR_NAME "confdir3" #define DIR_NAME_LEN 8 #define DIR_NAME_SIZE (DIR_NAME_LEN + 1) /* The length of "../". */ #define DOTDOTSLASH_LEN 3 /* Leftover bytes in the buffer, to work around library or OS bugs. */ #define BUF_SLOP 20 int main () { #ifndef PATH_MAX /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- at least not on a local file system. And if we were to start worrying about remote file systems, we'd have to enable the wrapper function all of the time, just to be safe. That's not worth the cost. */ exit (0); #elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - DIR_NAME_SIZE - BUF_SLOP) \ <= PATH_MAX) /* FIXME: Assuming there's a system for which this is true, this should be done in a compile test. */ exit (0); #else char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + DIR_NAME_SIZE + BUF_SLOP]; char *cwd = getcwd (buf, PATH_MAX); size_t initial_cwd_len; size_t cwd_len; int fail = 0; size_t n_chdirs = 0; if (cwd == NULL) exit (10); cwd_len = initial_cwd_len = strlen (cwd); while (1) { size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); char *c = NULL; cwd_len += DIR_NAME_SIZE; /* If mkdir or chdir fails, it could be that this system cannot create any file with an absolute name longer than PATH_MAX, such as cygwin. If so, leave fail as 0, because the current working directory can't be too long for getcwd if it can't even be created. For other errors, be pessimistic and consider that as a failure, too. */ if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) fail = 20; break; } if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { fail = 11; break; } if (c) { fail = 31; break; } if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 21; break; } } if (dotdot_max <= cwd_len - initial_cwd_len) { if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) break; c = getcwd (buf, cwd_len + 1); if (!c) { if (! (errno == ERANGE || errno == ENOENT || is_ENAMETOOLONG (errno))) { fail = 22; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { fail = 12; break; } } } if (c && strlen (c) != cwd_len) { fail = 23; break; } ++n_chdirs; } /* Leaving behind such a deep directory is not polite. So clean up here, right away, even though the driving shell script would also clean up. */ { size_t i; /* Try rmdir first, in case the chdir failed. */ rmdir (DIR_NAME); for (i = 0; i <= n_chdirs; i++) { if (chdir ("..") < 0) break; if (rmdir (DIR_NAME) != 0) break; } } exit (fail); #endif } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getcwd_path_max=yes else case $? in 10|11|12) gl_cv_func_getcwd_path_max='no, but it is partly working';; 31) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; *) gl_cv_func_getcwd_path_max=no;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_path_max" >&5 $as_echo "$gl_cv_func_getcwd_path_max" >&6; } case "$gl_cv_func_getcwd_null" in *yes) for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5 $as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; } if ${gl_cv_func_getcwd_abort_bug+:} false; then : $as_echo_n "(cached) " >&6 else # Remove any remnants of a previous test. rm -rf confdir-14B--- # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" if test "$cross_compiling" = yes; then : gl_cv_func_getcwd_abort_bug=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <direct.h> #endif #include <string.h> #include <sys/stat.h> /* Arrange to define PATH_MAX, like "pathmax.h" does. */ #if HAVE_UNISTD_H # include <unistd.h> #endif #include <limits.h> #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include <sys/param.h> #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifdef __hpux # undef PATH_MAX # define PATH_MAX 1024 #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef PATH_MAX # define PATH_MAX 260 #endif /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* FIXME: skip the run-test altogether on systems without getpagesize. */ #if ! HAVE_GETPAGESIZE # define getpagesize() 0 #endif /* This size is chosen to be larger than PATH_MAX (4k), yet smaller than the 16kB pagesize on ia64 linux. Those conditions make the code below trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ #define TARGET_LEN (5 * 1024) int main () { char *cwd; size_t initial_cwd_len; int fail = 0; /* The bug is triggered when PATH_MAX < getpagesize (), so skip this relatively expensive and invasive test if that's not true. */ #ifdef PATH_MAX int bug_possible = PATH_MAX < getpagesize (); #else int bug_possible = 0; #endif if (! bug_possible) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) return 2; initial_cwd_len = strlen (cwd); free (cwd); if (1) { static char const dir_name[] = "confdir-14B---"; size_t desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) / sizeof dir_name); size_t d; for (d = 0; d < desired_depth; d++) { if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) { if (! (errno == ERANGE || errno == ENAMETOOLONG || errno == ENOENT)) fail = 3; /* Unable to construct deep hierarchy. */ break; } } /* If libc has the bug in question, this invocation of getcwd results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) fail = 4; /* getcwd didn't assert, but it failed for a long name where the answer could have been learned. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); while (0 < d--) { if (chdir ("..") < 0) { fail = 5; break; } rmdir (dir_name); } } return fail; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getcwd_abort_bug=no else ret=$? if test $ret -ge 128 || test $ret = 4; then gl_cv_func_getcwd_abort_bug=yes else gl_cv_func_getcwd_abort_bug=no fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_abort_bug" >&5 $as_echo "$gl_cv_func_getcwd_abort_bug" >&6; } if test $gl_cv_func_getcwd_abort_bug = yes; then : gl_abort_bug=yes fi ;; esac ;; esac case "$gl_cv_func_getcwd_path_max" in "no, it has the AIX bug") ;; *) $as_echo "#define HAVE_MINIMALLY_WORKING_GETCWD 1" >>confdefs.h ;; esac case "$gl_cv_func_getcwd_path_max" in "no, but it is partly working") $as_echo "#define HAVE_PARTLY_WORKING_GETCWD 1" >>confdefs.h ;; esac if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \ || test $gl_cv_func_getcwd_posix_signature != yes \ || test "$gl_cv_func_getcwd_path_max" != yes \ || test $gl_abort_bug = yes; then REPLACE_GETCWD=1 fi if test $REPLACE_GETCWD = 1; then gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext" : fi cat >>confdefs.h <<_ACEOF #define GNULIB_GETCWD 1 _ACEOF GNULIB_GETCWD=1 $as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in *yes,yes) ;; *) REPLACE_GETCWD=1 ;; esac if test $REPLACE_GETCWD = 1; then gl_LIBOBJS="$gl_LIBOBJS getcwd-lgpl.$ac_objext" fi GNULIB_GETCWD=1 $as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h if test $ac_cv_func_getdelim = yes; then HAVE_GETDELIM=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5 $as_echo_n "checking for working getdelim function... " >&6; } if ${gl_cv_func_working_getdelim+:} false; then : $as_echo_n "(cached) " >&6 else echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : gl_cv_func_working_getdelim="guessing yes" else gl_cv_func_working_getdelim="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> # include <string.h> int main () { FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; { /* Test result for a NULL buffer and a zero size. Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len = getdelim (&line, &siz, '\n', in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) return 2; } { /* Test result for a NULL buffer and a non-zero size. This crashes on FreeBSD 8.0. */ char *line = NULL; size_t siz = (size_t)(~0) / 4; if (getdelim (&line, &siz, '\n', in) == -1) return 3; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_getdelim=yes else gl_cv_func_working_getdelim=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 $as_echo "$gl_cv_func_working_getdelim" >&6; } case "$gl_cv_func_working_getdelim" in *no) REPLACE_GETDELIM=1 ;; esac else HAVE_GETDELIM=0 fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" for ac_func in flockfile funlockfile do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl _ACEOF fi GNULIB_GETDELIM=1 $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h if test $ac_cv_func_getdtablesize != yes; then HAVE_GETDTABLESIZE=0 fi if test $HAVE_GETDTABLESIZE = 0; then gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext" : fi GNULIB_GETDTABLESIZE=1 $as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" if test "x$ac_cv_func_getgroups" = xyes; then : fi # If we don't yet have getgroups, see if it's in -lbsd. # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 $as_echo_n "checking for getgroups in -lbsd... " >&6; } if ${ac_cv_lib_bsd_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getgroups (); int main () { return getgroups (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_getgroups=yes else ac_cv_lib_bsd_getgroups=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 $as_echo "$ac_cv_lib_bsd_getgroups" >&6; } if test "x$ac_cv_lib_bsd_getgroups" = xyes; then : GETGROUPS_LIB=-lbsd fi fi # Run the program to test the functionality of the system-supplied # getgroups function only if there is such a function. if test $ac_cv_func_getgroups = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 $as_echo_n "checking for working getgroups... " >&6; } if ${ac_cv_func_getgroups_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # (( # Guess yes on glibc systems. *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; # If we don't know, assume the worst. *) ac_cv_func_getgroups_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* On Ultrix 4.3, getgroups (0, 0) always fails. */ return getgroups (0, 0) == -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_getgroups_works=yes else ac_cv_func_getgroups_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5 $as_echo "$ac_cv_func_getgroups_works" >&6; } else ac_cv_func_getgroups_works=no fi case "$ac_cv_func_getgroups_works" in *yes) $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h ;; esac LIBS=$ac_save_LIBS if test $ac_cv_func_getgroups != yes; then HAVE_GETGROUPS=0 else if test "$ac_cv_type_getgroups" != gid_t \ || { case "$ac_cv_func_getgroups_works" in *yes) false;; *) true;; esac }; then REPLACE_GETGROUPS=1 $as_echo "#define GETGROUPS_ZERO_BUG 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getgroups handles negative values" >&5 $as_echo_n "checking whether getgroups handles negative values... " >&6; } if ${gl_cv_func_getgroups_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_getgroups_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { int size = getgroups (0, 0); gid_t *list = malloc (size * sizeof *list); return getgroups (-1, list) != -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_getgroups_works=yes else gl_cv_func_getgroups_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getgroups_works" >&5 $as_echo "$gl_cv_func_getgroups_works" >&6; } case "$gl_cv_func_getgroups_works" in *yes) ;; *) REPLACE_GETGROUPS=1 ;; esac fi fi test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then gl_LIBOBJS="$gl_LIBOBJS getgroups.$ac_objext" fi GNULIB_GETGROUPS=1 $as_echo "#define GNULIB_TEST_GETGROUPS 1" >>confdefs.h if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi GETHOSTNAME_LIB= for ac_func in gethostname do : ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname" if test "x$ac_cv_func_gethostname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETHOSTNAME 1 _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in winsock2.h and -lws2_32" >&5 $as_echo_n "checking for gethostname in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_w32_gethostname+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_gethostname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #include <stddef.h> int main () { gethostname(NULL, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_gethostname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostname" >&5 $as_echo "$gl_cv_w32_gethostname" >&6; } if test "$gl_cv_w32_gethostname" = "yes"; then GETHOSTNAME_LIB="-lws2_32" fi fi done if test "$ac_cv_func_gethostname" = no; then HAVE_GETHOSTNAME=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HOST_NAME_MAX" >&5 $as_echo_n "checking for HOST_NAME_MAX... " >&6; } if ${gl_cv_decl_HOST_NAME_MAX+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_decl_HOST_NAME_MAX= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> #ifdef HOST_NAME_MAX lucky #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "lucky" >/dev/null 2>&1; then : gl_cv_decl_HOST_NAME_MAX=yes fi rm -f conftest* if test -z "$gl_cv_decl_HOST_NAME_MAX"; then if test "$gl_cv_w32_gethostname" = yes; then gl_cv_decl_HOST_NAME_MAX=256 else if ac_fn_c_compute_int "$LINENO" "MAXHOSTNAMELEN" "gl_cv_decl_HOST_NAME_MAX" " #include <sys/types.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if HAVE_SYS_SOCKET_H # include <sys/socket.h> #endif #if HAVE_NETDB_H # include <netdb.h> #endif "; then : else gl_cv_decl_HOST_NAME_MAX=256 fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_HOST_NAME_MAX" >&5 $as_echo "$gl_cv_decl_HOST_NAME_MAX" >&6; } if test "$gl_cv_decl_HOST_NAME_MAX" != yes; then cat >>confdefs.h <<_ACEOF #define HOST_NAME_MAX $gl_cv_decl_HOST_NAME_MAX _ACEOF fi if test $HAVE_GETHOSTNAME = 0; then gl_LIBOBJS="$gl_LIBOBJS gethostname.$ac_objext" if test "$gl_cv_w32_gethostname" != "yes"; then for ac_func in uname do : ac_fn_c_check_func "$LINENO" "uname" "ac_cv_func_uname" if test "x$ac_cv_func_uname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNAME 1 _ACEOF fi done fi fi GNULIB_GETHOSTNAME=1 $as_echo "#define GNULIB_TEST_GETHOSTNAME 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "gethrtime" "ac_cv_have_decl_gethrtime" "#include <time.h> " if test "x$ac_cv_have_decl_gethrtime" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETHRTIME $ac_have_decl _ACEOF LIB_GETHRXTIME= if test $ac_cv_have_decl_gethrtime = no \ || test $gl_cv_arithmetic_hrtime_t = no; then if test $ac_cv_func_nanouptime != yes \ && { test $ac_cv_have_decl_gethrtime = no \ || test $gl_cv_arithmetic_hrtime_t = no; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined" >&5 $as_echo_n "checking whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined... " >&6; } if ${gl_cv_have_clock_gettime_macro+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <time.h> # if defined CLOCK_MONOTONIC || defined CLOCK_REALTIME have_clock_gettime_macro # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "have_clock_gettime_macro" >/dev/null 2>&1; then : gl_cv_have_clock_gettime_macro=yes else gl_cv_have_clock_gettime_macro=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_clock_gettime_macro" >&5 $as_echo "$gl_cv_have_clock_gettime_macro" >&6; } if test $gl_cv_have_clock_gettime_macro = yes; then LIB_GETHRXTIME=$LIB_CLOCK_GETTIME fi fi fi gl_getline_needs_run_time_check=no ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" if test "x$ac_cv_func_getline" = xyes; then : gl_getline_needs_run_time_check=yes else am_cv_func_working_getline=no fi if test $gl_getline_needs_run_time_check = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 $as_echo_n "checking for working getline function... " >&6; } if ${am_cv_func_working_getline+:} false; then : $as_echo_n "(cached) " >&6 else echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : am_cv_func_working_getline="guessing yes" else am_cv_func_working_getline="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> # include <string.h> int main () { FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; { /* Test result for a NULL buffer and a zero size. Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len = getline (&line, &siz, in); if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) return 2; } { /* Test result for a NULL buffer and a non-zero size. This crashes on FreeBSD 8.0. */ char *line = NULL; size_t siz = (size_t)(~0) / 4; if (getline (&line, &siz, in) == -1) return 3; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_working_getline=yes else am_cv_func_working_getline=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 $as_echo "$am_cv_func_working_getline" >&6; } fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi case "$am_cv_func_working_getline" in *no) REPLACE_GETLINE=1 ;; esac if test $REPLACE_GETLINE = 1; then gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" : fi GNULIB_GETLINE=1 $as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h # Persuade glibc <stdlib.h> to declare getloadavg(). gl_save_LIBS=$LIBS # getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, # NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. HAVE_GETLOADAVG=1 ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg" if test "x$ac_cv_func_getloadavg" = xyes; then : else gl_func_getloadavg_done=no # Some systems with -lutil have (and need) -lkvm as well, some do not. # On Solaris, -lkvm requires nlist from -lelf, so check that first # to get the right answer into the cache. # For kstat on solaris, we need to test for libelf and libkvm to force the # definition of SVR4 below. if test $gl_func_getloadavg_done = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5 $as_echo_n "checking for elf_begin in -lelf... " >&6; } if ${ac_cv_lib_elf_elf_begin+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lelf $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char elf_begin (); int main () { return elf_begin (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_elf_elf_begin=yes else ac_cv_lib_elf_elf_begin=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5 $as_echo "$ac_cv_lib_elf_elf_begin" >&6; } if test "x$ac_cv_lib_elf_elf_begin" = xyes; then : LIBS="-lelf $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5 $as_echo_n "checking for kvm_open in -lkvm... " >&6; } if ${ac_cv_lib_kvm_kvm_open+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkvm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char kvm_open (); int main () { return kvm_open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_kvm_kvm_open=yes else ac_cv_lib_kvm_kvm_open=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5 $as_echo "$ac_cv_lib_kvm_kvm_open" >&6; } if test "x$ac_cv_lib_kvm_kvm_open" = xyes; then : LIBS="-lkvm $LIBS" fi # Check for the 4.4BSD definition of getloadavg. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5 $as_echo_n "checking for getloadavg in -lutil... " >&6; } if ${ac_cv_lib_util_getloadavg+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lutil $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getloadavg (); int main () { return getloadavg (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_util_getloadavg=yes else ac_cv_lib_util_getloadavg=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5 $as_echo "$ac_cv_lib_util_getloadavg" >&6; } if test "x$ac_cv_lib_util_getloadavg" = xyes; then : LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes fi fi if test $gl_func_getloadavg_done = no; then # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS LIBS="-L/usr/local/lib $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5 $as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; } if ${ac_cv_lib_getloadavg_getloadavg+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgetloadavg $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getloadavg (); int main () { return getloadavg (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_getloadavg_getloadavg=yes else ac_cv_lib_getloadavg_getloadavg=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5 $as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; } if test "x$ac_cv_lib_getloadavg_getloadavg" = xyes; then : LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes else LIBS=$gl_getloadavg_LIBS fi fi # Set up the replacement function if necessary. if test $gl_func_getloadavg_done = no; then HAVE_GETLOADAVG=0 # Solaris has libkstat which does not require root. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 $as_echo_n "checking for kstat_open in -lkstat... " >&6; } if ${ac_cv_lib_kstat_kstat_open+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkstat $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char kstat_open (); int main () { return kstat_open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_kstat_kstat_open=yes else ac_cv_lib_kstat_kstat_open=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 $as_echo "$ac_cv_lib_kstat_kstat_open" >&6; } if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBKSTAT 1 _ACEOF LIBS="-lkstat $LIBS" fi test $ac_cv_lib_kstat_kstat_open = yes && gl_func_getloadavg_done=yes # AIX has libperfstat which does not require root if test $gl_func_getloadavg_done = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perfstat_cpu_total in -lperfstat" >&5 $as_echo_n "checking for perfstat_cpu_total in -lperfstat... " >&6; } if ${ac_cv_lib_perfstat_perfstat_cpu_total+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lperfstat $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char perfstat_cpu_total (); int main () { return perfstat_cpu_total (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_perfstat_perfstat_cpu_total=yes else ac_cv_lib_perfstat_perfstat_cpu_total=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_perfstat_perfstat_cpu_total" >&5 $as_echo "$ac_cv_lib_perfstat_perfstat_cpu_total" >&6; } if test "x$ac_cv_lib_perfstat_perfstat_cpu_total" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPERFSTAT 1 _ACEOF LIBS="-lperfstat $LIBS" fi test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_func_getloadavg_done=yes fi if test $gl_func_getloadavg_done = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default" if test "x$ac_cv_header_sys_dg_sys_info_h" = xyes; then : gl_func_getloadavg_done=yes $as_echo "#define DGUX 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5 $as_echo_n "checking for dg_sys_info in -ldgc... " >&6; } if ${ac_cv_lib_dgc_dg_sys_info+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldgc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dg_sys_info (); int main () { return dg_sys_info (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dgc_dg_sys_info=yes else ac_cv_lib_dgc_dg_sys_info=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5 $as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; } if test "x$ac_cv_lib_dgc_dg_sys_info" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDGC 1 _ACEOF LIBS="-ldgc $LIBS" fi fi fi fi fi if test "x$gl_save_LIBS" = x; then GETLOADAVG_LIBS=$LIBS else GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` fi LIBS=$gl_save_LIBS # Test whether the system declares getloadavg. Solaris has the function # but declares it in <sys/loadavg.h>, not <stdlib.h>. for ac_header in sys/loadavg.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/loadavg.h" "ac_cv_header_sys_loadavg_h" "$ac_includes_default" if test "x$ac_cv_header_sys_loadavg_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_LOADAVG_H 1 _ACEOF fi done if test $ac_cv_header_sys_loadavg_h = yes; then HAVE_SYS_LOADAVG_H=1 else HAVE_SYS_LOADAVG_H=0 fi ac_fn_c_check_decl "$LINENO" "getloadavg" "ac_cv_have_decl_getloadavg" "#if HAVE_SYS_LOADAVG_H # include <sys/loadavg.h> #endif #include <stdlib.h> " if test "x$ac_cv_have_decl_getloadavg" = xyes; then : else HAVE_DECL_GETLOADAVG=0 fi if test $HAVE_GETLOADAVG = 0; then gl_LIBOBJS="$gl_LIBOBJS getloadavg.$ac_objext" # Figure out what our getloadavg.c needs. # On HPUX9, an unprivileged user can get load averages this way. if test $gl_func_getloadavg_done = no; then for ac_func in pstat_getdynamic do : ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic" if test "x$ac_cv_func_pstat_getdynamic" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PSTAT_GETDYNAMIC 1 _ACEOF gl_func_getloadavg_done=yes fi done fi # We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it # uses stabs), but it is still SVR4. We cannot check for <elf.h> because # Irix 4.0.5F has the header but not the library. if test $gl_func_getloadavg_done = no && test "$ac_cv_lib_elf_elf_begin" = yes \ && test "$ac_cv_lib_kvm_kvm_open" = yes; then gl_func_getloadavg_done=yes $as_echo "#define SVR4 1" >>confdefs.h fi if test $gl_func_getloadavg_done = no; then ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default" if test "x$ac_cv_header_inq_stats_cpustats_h" = xyes; then : gl_func_getloadavg_done=yes $as_echo "#define UMAX 1" >>confdefs.h $as_echo "#define UMAX4_3 1" >>confdefs.h fi fi if test $gl_func_getloadavg_done = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default" if test "x$ac_cv_header_sys_cpustats_h" = xyes; then : gl_func_getloadavg_done=yes; $as_echo "#define UMAX 1" >>confdefs.h fi fi if test $gl_func_getloadavg_done = no; then for ac_header in mach/mach.h do : ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default" if test "x$ac_cv_header_mach_mach_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MACH_MACH_H 1 _ACEOF fi done fi for ac_header in nlist.h do : ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default" if test "x$ac_cv_header_nlist_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NLIST_H 1 _ACEOF ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "#include <nlist.h> " if test "x$ac_cv_member_struct_nlist_n_un_n_name" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_NLIST_N_UN_N_NAME 1 _ACEOF fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <nlist.h> int main () { struct nlist x; #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME x.n_un.n_name = ""; #else x.n_name = ""; #endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : $as_echo "#define N_NAME_POINTER 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi done fi GNULIB_GETLOADAVG=1 $as_echo "#define GNULIB_TEST_GETLOADAVG 1" >>confdefs.h if test $ac_cv_func_getlogin = no; then HAVE_GETLOGIN=0 fi if test $HAVE_GETLOGIN = 0; then gl_LIBOBJS="$gl_LIBOBJS getlogin.$ac_objext" fi GNULIB_GETLOGIN=1 $as_echo "#define GNULIB_TEST_GETLOGIN 1" >>confdefs.h if test $REPLACE_GETOPT = 1; then gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" GNULIB_GL_UNISTD_H_GETOPT=1 fi $as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h REPLACE_GETOPT=0 if test -n "$gl_replace_getopt"; then REPLACE_GETOPT=1 fi if test $REPLACE_GETOPT = 1; then GETOPT_H=getopt.h $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h fi if test $REPLACE_GETOPT = 1; then gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" GNULIB_GL_UNISTD_H_GETOPT=1 fi for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done if test $ac_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 for ac_header in OS.h do : ac_fn_c_check_header_mongrel "$LINENO" "OS.h" "ac_cv_header_OS_h" "$ac_includes_default" if test "x$ac_cv_header_OS_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_OS_H 1 _ACEOF fi done if test $ac_cv_header_OS_h = yes; then HAVE_OS_H=1 fi for ac_header in sys/param.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" if test "x$ac_cv_header_sys_param_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_PARAM_H 1 _ACEOF fi done if test $ac_cv_header_sys_param_h = yes; then HAVE_SYS_PARAM_H=1 fi fi case "$host_os" in mingw*) REPLACE_GETPAGESIZE=1 ;; esac ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" if test "x$ac_cv_have_decl_getpagesize" = xyes; then : else HAVE_DECL_GETPAGESIZE=0 fi if test $REPLACE_GETPAGESIZE = 1; then gl_LIBOBJS="$gl_LIBOBJS getpagesize.$ac_objext" fi GNULIB_GETPAGESIZE=1 $as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h REPLACE_GETPASS=1 if test $REPLACE_GETPASS = 1; then $as_echo "#define getpass gnu_getpass" >>confdefs.h fi if test $REPLACE_GETPASS = 1; then gl_LIBOBJS="$gl_LIBOBJS getpass.$ac_objext" ac_fn_c_check_decl "$LINENO" "__fsetlocking" "ac_cv_have_decl___fsetlocking" "#include <stdio.h> #if HAVE_STDIO_EXT_H #include <stdio_ext.h> #endif " if test "x$ac_cv_have_decl___fsetlocking" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FSETLOCKING $ac_have_decl _ACEOF : fi gl_gettimeofday_timezone=void if test $ac_cv_func_gettimeofday != yes; then HAVE_GETTIMEOFDAY=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 $as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } if ${gl_cv_func_gettimeofday_clobber+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # When cross-compiling: case "$host_os" in # Guess all is fine on glibc systems. *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # If we don't know, assume the worst. *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #include <sys/time.h> #include <time.h> #include <stdlib.h> int main () { time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_gettimeofday_clobber=no else gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 $as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } case "$gl_cv_func_gettimeofday_clobber" in *yes) REPLACE_GETTIMEOFDAY=1 $as_echo "#define gmtime rpl_gmtime" >>confdefs.h $as_echo "#define localtime rpl_localtime" >>confdefs.h $as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 $as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } if ${gl_cv_func_gettimeofday_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/time.h> struct timeval c; int gettimeofday (struct timeval *restrict, void *restrict); int main () { /* glibc uses struct timezone * rather than the POSIX void * if _GNU_SOURCE is defined. However, since the only portable use of gettimeofday uses NULL as the second parameter, and since the glibc definition is actually more typesafe, it is not worth wrapping this to get a compliant signature. */ int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_gettimeofday_posix_signature=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/time.h> int gettimeofday (struct timeval *restrict, struct timezone *restrict); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_gettimeofday_posix_signature=almost else gl_cv_func_gettimeofday_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 $as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } if test $gl_cv_func_gettimeofday_posix_signature = almost; then gl_gettimeofday_timezone='struct timezone' elif test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 fi if test $REPLACE_STRUCT_TIMEVAL = 1; then REPLACE_GETTIMEOFDAY=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tzset clobbers localtime buffer" >&5 $as_echo_n "checking whether tzset clobbers localtime buffer... " >&6; } if ${gl_cv_func_tzset_clobber+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess all is fine on glibc systems. *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;; # If we don't know, assume the worst. *) gl_cv_func_tzset_clobber="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> #include <stdlib.h> int main () { time_t t1 = 853958121; struct tm *p, s; putenv ("TZ=GMT0"); p = localtime (&t1); s = *p; putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"); tzset (); return (p->tm_year != s.tm_year || p->tm_mon != s.tm_mon || p->tm_mday != s.tm_mday || p->tm_hour != s.tm_hour || p->tm_min != s.tm_min || p->tm_sec != s.tm_sec); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_tzset_clobber=no else gl_cv_func_tzset_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_tzset_clobber" >&5 $as_echo "$gl_cv_func_tzset_clobber" >&6; } $as_echo "#define HAVE_RUN_TZSET_TEST 1" >>confdefs.h case "$gl_cv_func_tzset_clobber" in *yes) REPLACE_GETTIMEOFDAY=1 $as_echo "#define gmtime rpl_gmtime" >>confdefs.h $as_echo "#define localtime rpl_localtime" >>confdefs.h $as_echo "#define tzset rpl_tzset" >>confdefs.h $as_echo "#define TZSET_CLOBBERS_LOCALTIME 1" >>confdefs.h ;; esac fi cat >>confdefs.h <<_ACEOF #define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone _ACEOF if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" if test "x$ac_cv_header_sys_timeb_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIMEB_H 1 _ACEOF fi done for ac_func in _ftime do : ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" if test "x$ac_cv_func__ftime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__FTIME 1 _ACEOF fi done fi GNULIB_GETTIMEOFDAY=1 $as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h if test $ac_cv_func_getusershell = yes; then HAVE_GETUSERSHELL=1 ac_fn_c_check_decl "$LINENO" "getusershell" "ac_cv_have_decl_getusershell" "$ac_includes_default" if test "x$ac_cv_have_decl_getusershell" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUSERSHELL $ac_have_decl _ACEOF if test $ac_cv_have_decl_getusershell = no; then HAVE_DECL_GETUSERSHELL=0 fi else HAVE_GETUSERSHELL=0 HAVE_DECL_GETUSERSHELL=0 fi if test $HAVE_GETUSERSHELL = 0; then gl_LIBOBJS="$gl_LIBOBJS getusershell.$ac_objext" fi GNULIB_GETUSERSHELL=1 $as_echo "#define GNULIB_TEST_GETUSERSHELL 1" >>confdefs.h if ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then GNU_MAKE_TRUE= GNU_MAKE_FALSE='#' else GNU_MAKE_TRUE='#' GNU_MAKE_FALSE= fi # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" ac_fn_c_check_func "$LINENO" "group_member" "ac_cv_func_group_member" if test "x$ac_cv_func_group_member" = xyes; then : else HAVE_GROUP_MEMBER=0 fi if test $HAVE_GROUP_MEMBER = 0; then gl_LIBOBJS="$gl_LIBOBJS group-member.$ac_objext" fi GNULIB_GROUP_MEMBER=1 $as_echo "#define GNULIB_TEST_GROUP_MEMBER 1" >>confdefs.h : { $as_echo "$as_me:${as_lineno-$LINENO}: checking host operating system" >&5 $as_echo_n "checking host operating system... " >&6; } if ${gl_cv_host_operating_system+:} false; then : $as_echo_n "(cached) " >&6 else case $host_os in # These operating system names do not use the default heuristic below. # They are in reverse order, so that more-specific prefixes come first. winnt*) os='Windows NT';; vos*) os='VOS';; sysv*) os='Unix System V';; superux*) os='SUPER-UX';; sunos*) os='SunOS';; stop*) os='STOP';; sco*) os='SCO Unix';; riscos*) os='RISC OS';; riscix*) os='RISCiX';; qnx*) os='QNX';; pw32*) os='PW32';; ptx*) os='ptx';; plan9*) os='Plan 9';; osf*) os='Tru64';; os2*) os='OS/2';; openbsd*) os='OpenBSD';; nsk*) os='NonStop Kernel';; nonstopux*) os='NonStop-UX';; netbsd*-gnu*) os='GNU/NetBSD';; # NetBSD kernel+libc, GNU userland netbsd*) os='NetBSD';; mirbsd*) os='MirBSD';; knetbsd*-gnu) os='GNU/kNetBSD';; # NetBSD kernel, GNU libc+userland kfreebsd*-gnu) os='GNU/kFreeBSD';; # FreeBSD kernel, GNU libc+userland msdosdjgpp*) os='DJGPP';; mpeix*) os='MPE/iX';; mint*) os='MiNT';; mingw*) os='MinGW';; lynxos*) os='LynxOS';; linux*) os='GNU/Linux';; hpux*) os='HP-UX';; hiux*) os='HI-UX';; gnu*) os='GNU';; freebsd*) os='FreeBSD';; dgux*) os='DG/UX';; bsdi*) os='BSD/OS';; bsd*) os='BSD';; beos*) os='BeOS';; aux*) os='A/UX';; atheos*) os='AtheOS';; amigaos*) os='Amiga OS';; aix*) os='AIX';; # The default heuristic takes the initial alphabetic string # from $host_os, but capitalizes its first letter. [A-Za-z]*) os=` expr "X$host_os" : 'X\([A-Za-z]\)' | LC_ALL=C tr '[a-z]' '[A-Z]' `` expr "X$host_os" : 'X.\([A-Za-z]*\)' ` ;; # If $host_os does not start with an alphabetic string, use it unchanged. *) os=$host_os;; esac gl_cv_host_operating_system=$os fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_operating_system" >&5 $as_echo "$gl_cv_host_operating_system" >&6; } cat >>confdefs.h <<_ACEOF #define HOST_OPERATING_SYSTEM "$gl_cv_host_operating_system" _ACEOF HOSTENT_LIB= gl_saved_libs="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 $as_echo_n "checking for library containing gethostbyname... " >&6; } if ${ac_cv_search_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF for ac_lib in '' nsl network net; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_gethostbyname+:} false; then : break fi done if ${ac_cv_search_gethostbyname+:} false; then : else ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 $as_echo "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_gethostbyname" != "none required"; then HOSTENT_LIB="$ac_cv_search_gethostbyname" fi fi LIBS="$gl_saved_libs" if test -z "$HOSTENT_LIB"; then for ac_func in gethostbyname do : ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" if test "x$ac_cv_func_gethostbyname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETHOSTBYNAME 1 _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 $as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_w32_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_gethostbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #include <stddef.h> int main () { gethostbyname(NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_gethostbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 $as_echo "$gl_cv_w32_gethostbyname" >&6; } if test "$gl_cv_w32_gethostbyname" = "yes"; then HOSTENT_LIB="-lws2_32" fi fi done fi : : GNULIB_ICONV=1 if test $gl_cv_have_include_next = yes; then gl_cv_next_iconv_h='<'iconv.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5 $as_echo_n "checking absolute name of <iconv.h>... " >&6; } if ${gl_cv_next_iconv_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_iconv_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <iconv.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'iconv.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_iconv_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_iconv_h='<'iconv.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5 $as_echo "$gl_cv_next_iconv_h" >&6; } fi NEXT_ICONV_H=$gl_cv_next_iconv_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'iconv.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_iconv_h fi NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive if test "$am_cv_func_iconv" = yes; then ICONV_H='iconv.h' if test -n "$ICONV_H"; then GL_GENERATE_ICONV_H_TRUE= GL_GENERATE_ICONV_H_FALSE='#' else GL_GENERATE_ICONV_H_TRUE='#' GL_GENERATE_ICONV_H_FALSE= fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <iconv.h> #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__) gnu_iconv #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gnu_iconv" >/dev/null 2>&1; then : gl_func_iconv_gnu=yes else gl_func_iconv_gnu=no fi rm -f conftest* if test $gl_func_iconv_gnu = no; then iconv_flavor= case "$host_os" in aix*) iconv_flavor=ICONV_FLAVOR_AIX ;; irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;; hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;; osf*) iconv_flavor=ICONV_FLAVOR_OSF ;; solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;; esac if test -n "$iconv_flavor"; then cat >>confdefs.h <<_ACEOF #define ICONV_FLAVOR $iconv_flavor _ACEOF ICONV_H='iconv.h' if test -n "$ICONV_H"; then GL_GENERATE_ICONV_H_TRUE= GL_GENERATE_ICONV_H_FALSE='#' else GL_GENERATE_ICONV_H_TRUE='#' GL_GENERATE_ICONV_H_FALSE= fi REPLACE_ICONV_OPEN=1 fi fi fi if test $REPLACE_ICONV_OPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS iconv_open.$ac_objext" fi if test $REPLACE_ICONV = 1; then gl_LIBOBJS="$gl_LIBOBJS iconv.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS iconv_close.$ac_objext" fi : HAVE_INET_NTOP=1 INET_NTOP_LIB= if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $HAVE_WINSOCK2_H = 1; then ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include <ws2tcpip.h> " if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_NTOP $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_ntop = yes; then REPLACE_INET_NTOP=1 INET_NTOP_LIB="-lws2_32" else HAVE_DECL_INET_NTOP=0 HAVE_INET_NTOP=0 fi else gl_save_LIBS=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 $as_echo_n "checking for library containing inet_ntop... " >&6; } if ${ac_cv_search_inet_ntop+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_ntop (); int main () { return inet_ntop (); ; return 0; } _ACEOF for ac_lib in '' nsl resolv; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_inet_ntop=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_inet_ntop+:} false; then : break fi done if ${ac_cv_search_inet_ntop+:} false; then : else ac_cv_search_inet_ntop=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 $as_echo "$ac_cv_search_inet_ntop" >&6; } ac_res=$ac_cv_search_inet_ntop if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else for ac_func in inet_ntop do : ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" if test "x$ac_cv_func_inet_ntop" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INET_NTOP 1 _ACEOF fi done if test $ac_cv_func_inet_ntop = no; then HAVE_INET_NTOP=0 fi fi LIBS=$gl_save_LIBS if test "$ac_cv_search_inet_ntop" != "no" \ && test "$ac_cv_search_inet_ntop" != "none required"; then INET_NTOP_LIB="$ac_cv_search_inet_ntop" fi ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include <arpa/inet.h> #if HAVE_NETDB_H # include <netdb.h> #endif " if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_NTOP $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_ntop = no; then HAVE_DECL_INET_NTOP=0 fi fi if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then gl_LIBOBJS="$gl_LIBOBJS inet_ntop.$ac_objext" fi GNULIB_INET_NTOP=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5 $as_echo_n "checking whether the compiler generally respects inline... " >&6; } if ${gl_cv_c_inline_effective+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifdef __NO_INLINE__ #error "inline is not effective" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_c_inline_effective=yes else gl_cv_c_inline_effective=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5 $as_echo "$gl_cv_c_inline_effective" >&6; } if test $gl_cv_c_inline_effective = yes; then $as_echo "#define HAVE_INLINE 1" >>confdefs.h fi : : : : : PRIPTR_PREFIX= if test -n "$STDINT_H"; then PRIPTR_PREFIX='"l"' else for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdint.h> extern intptr_t foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : PRIPTR_PREFIX='"'$glpfx'"' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test -n "$PRIPTR_PREFIX" && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 $as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include <limits.h> #if HAVE_STDINT_H #include <stdint.h> #endif #if defined INT32_MAX && defined INTMAX_MAX #define CONDITION (INT32_MAX < INTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (int) < sizeof (long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes else gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 $as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then INT32_MAX_LT_INTMAX_MAX=1; else INT32_MAX_LT_INTMAX_MAX=0; fi if test $APPLE_UNIVERSAL_BUILD = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 $as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include <limits.h> #if HAVE_STDINT_H #include <stdint.h> #endif #if defined INT64_MAX #define CONDITION (INT64_MAX == LONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (long long int) == sizeof (long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes else gl_cv_test_INT64_MAX_EQ_LONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 $as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then INT64_MAX_EQ_LONG_MAX=1; else INT64_MAX_EQ_LONG_MAX=0; fi else INT64_MAX_EQ_LONG_MAX=-1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 $as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include <limits.h> #if HAVE_STDINT_H #include <stdint.h> #endif #if defined UINT32_MAX && defined UINTMAX_MAX #define CONDITION (UINT32_MAX < UINTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes else gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 $as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then UINT32_MAX_LT_UINTMAX_MAX=1; else UINT32_MAX_LT_UINTMAX_MAX=0; fi if test $APPLE_UNIVERSAL_BUILD = 0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 $as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include <limits.h> #if HAVE_STDINT_H #include <stdint.h> #endif #if defined UINT64_MAX #define CONDITION (UINT64_MAX == ULONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes else gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then UINT64_MAX_EQ_ULONG_MAX=1; else UINT64_MAX_EQ_ULONG_MAX=0; fi else UINT64_MAX_EQ_ULONG_MAX=-1 fi # OpenVMS has isapipe already, so check for it. for ac_func in isapipe do : ac_fn_c_check_func "$LINENO" "isapipe" "ac_cv_func_isapipe" if test "x$ac_cv_func_isapipe" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ISAPIPE 1 _ACEOF fi done if test $ac_cv_func_isapipe = yes; then HAVE_ISAPIPE=1 else HAVE_ISAPIPE=0 fi if test $HAVE_ISAPIPE = 0; then gl_LIBOBJS="$gl_LIBOBJS isapipe.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pipes are FIFOs (and for their link count)" >&5 $as_echo_n "checking whether pipes are FIFOs (and for their link count)... " >&6; } if ${gl_cv_pipes_are_fifos+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_pipes_are_fifos=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #ifndef S_ISFIFO #define S_ISFIFO(m) 0 #endif #ifndef S_ISSOCK #define S_ISSOCK(m) 0 #endif int main (int argc, char **argv) { int fd[2]; struct stat st; if (pipe (fd) != 0) return 1; if (fstat (fd[0], &st) != 0) return 2; if (2 <= argc && argv[1][0] == '-') { char const *yesno = (S_ISFIFO (st.st_mode) ? "yes" : "no"); if (st.st_nlink <= 1) { long int i = st.st_nlink; if (i != st.st_nlink) return 3; printf ("%s (%ld)\n", yesno, i); } else { unsigned long int i = st.st_nlink; if (i != st.st_nlink) return 4; printf ("%s (%lu)\n", yesno, i); } } else { if (! S_ISFIFO (st.st_mode) && ! S_ISSOCK (st.st_mode)) return 5; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_pipes_are_fifos=`./conftest$ac_exeext -` test -z "$gl_cv_pipes_are_fifos" && gl_cv_pipes_are_fifos=no else gl_cv_pipes_are_fifos=unknown fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pipes_are_fifos" >&5 $as_echo "$gl_cv_pipes_are_fifos" >&6; } case $gl_cv_pipes_are_fifos in #( 'yes ('*')') $as_echo "#define HAVE_FIFO_PIPES 1" >>confdefs.h ;; #( 'no ('*')') $as_echo "#define HAVE_FIFO_PIPES 0" >>confdefs.h ;; esac case $gl_cv_pipes_are_fifos in #( *'('*')') cat >>confdefs.h <<_ACEOF #define PIPE_LINK_COUNT_MAX `expr "$gl_cv_pipes_are_fifos" : '.*\((.*)\)'` _ACEOF ;; esac fi case $host_os in mingw*) REPLACE_ISATTY=1 ;; esac if test $REPLACE_ISATTY = 1; then gl_LIBOBJS="$gl_LIBOBJS isatty.$ac_objext" : fi GNULIB_ISATTY=1 $as_echo "#define GNULIB_TEST_ISATTY 1" >>confdefs.h if test $ac_cv_func_isblank = no; then HAVE_ISBLANK=0 fi if test $HAVE_ISBLANK = 0; then gl_LIBOBJS="$gl_LIBOBJS isblank.$ac_objext" fi GNULIB_ISBLANK=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5 $as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; } if ${gl_cv_func_isnand_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> #if __GNUC__ >= 4 # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) #else # undef isnand # define isnand(x) isnan ((double)(x)) #endif double x; int main () { return isnand (x); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_isnand_no_libm=yes else gl_cv_func_isnand_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5 $as_echo "$gl_cv_func_isnand_no_libm" >&6; } gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm if test $gl_cv_func_isnand_no_libm = yes; then $as_echo "#define HAVE_ISNAND_IN_LIBC 1" >>confdefs.h fi if test $gl_func_isnand_no_libm != yes; then gl_LIBOBJS="$gl_LIBOBJS isnand.$ac_objext" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used without linking with libm" >&5 $as_echo_n "checking whether isnan(float) can be used without linking with libm... " >&6; } if ${gl_cv_func_isnanf_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif float x; int main () { return isnanf (x); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_isnanf_no_libm=yes else gl_cv_func_isnanf_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5 $as_echo "$gl_cv_func_isnanf_no_libm" >&6; } if test $gl_cv_func_isnanf_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) works" >&5 $as_echo_n "checking whether isnan(float) works... " >&6; } if ${gl_cv_func_isnanf_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in irix* | solaris*) gl_cv_func_isnanf_works="guessing no";; *) gl_cv_func_isnanf_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ #ifdef __DECC static float NaN () { static float zero = 0.0f; return zero / zero; } #else # define NaN() (0.0f / 0.0f) #endif #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; float value; } memory_float; int main() { int result = 0; if (isnanf (1.0f / 0.0f)) result |= 1; if (!isnanf (NaN ())) result |= 2; #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* The isnanf function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit. */ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0) { memory_float m; m.value = NaN (); /* Set the bits below the exponent to 01111...111. */ m.word[0] &= -1U << FLT_EXPBIT0_BIT; m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1; if (!isnanf (m.value)) result |= 4; } #endif return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_isnanf_works=yes else gl_cv_func_isnanf_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5 $as_echo "$gl_cv_func_isnanf_works" >&6; } fi if test $gl_cv_func_isnanf_no_libm = yes \ && { case "$gl_cv_func_isnanf_works" in *yes) true;; *) false;; esac }; then gl_func_isnanf_no_libm=yes $as_echo "#define HAVE_ISNANF_IN_LIBC 1" >>confdefs.h else gl_func_isnanf_no_libm=no fi if test $gl_func_isnanf_no_libm != yes; then gl_LIBOBJS="$gl_LIBOBJS isnanf.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 $as_echo_n "checking where to find the exponent in a 'float'... " >&6; } if ${gl_cv_cc_float_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_float_expbit0="word 0 bit 23" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_float_expbit0=`cat conftest.out` else gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 $as_echo "$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5 $as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; } if ${gl_cv_func_isnanl_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x; int main () { return isnanl (x); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_isnanl_no_libm=yes else gl_cv_func_isnanl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5 $as_echo "$gl_cv_func_isnanl_no_libm" >&6; } gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm if test $gl_func_isnanl_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5 $as_echo_n "checking whether isnanl works... " >&6; } if ${gl_cv_func_isnanl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; *) case "$host_os" in netbsd*) gl_cv_func_isnanl_works="guessing no";; *) gl_cv_func_isnanl_works="guessing yes";; esac ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <limits.h> #include <math.h> #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; long double value; } memory_long_double; /* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the runtime type conversion. */ #ifdef __sgi static long double NaNl () { double zero = 0.0; return zero / zero; } #else # define NaNl() (0.0L / 0.0L) #endif int main () { int result = 0; if (!isnanl (NaNl ())) result |= 1; { memory_long_double m; unsigned int i; /* The isnanl function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit (since the exponent never extends to bit 31). */ m.value = NaNl (); m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); for (i = 0; i < NWORDS; i++) m.word[i] |= 1; if (!isnanl (m.value)) result |= 1; } #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (!isnanl (x.value)) result |= 2; } { /* Signalling NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) result |= 2; } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (!isnanl (x.value)) result |= 4; } { /* Pseudo-Infinity. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) result |= 8; } { /* Pseudo-Zero. */ static memory_long_double x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) result |= 16; } { /* Unnormalized number. */ static memory_long_double x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (!isnanl (x.value)) result |= 32; } { /* Pseudo-Denormal. */ static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) result |= 64; } #endif return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_isnanl_works=yes else gl_cv_func_isnanl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5 $as_echo "$gl_cv_func_isnanl_works" >&6; } case "$gl_cv_func_isnanl_works" in *yes) ;; *) gl_func_isnanl_no_libm=no ;; esac fi if test $gl_func_isnanl_no_libm = yes; then $as_echo "#define HAVE_ISNANL_IN_LIBC 1" >>confdefs.h fi if test $gl_func_isnanl_no_libm != yes; then gl_LIBOBJS="$gl_LIBOBJS isnanl.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5 $as_echo_n "checking where to find the exponent in a 'long double'... " >&6; } if ${gl_cv_cc_long_double_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_long_double_expbit0="unknown" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_long_double_expbit0=`cat conftest.out` else gl_cv_cc_long_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5 $as_echo "$gl_cv_cc_long_double_expbit0" >&6; } case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_BIT $bit _ACEOF ;; esac fi ac_fn_c_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> " if test "x$ac_cv_have_decl_iswblank" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISWBLANK $ac_have_decl _ACEOF if test $ac_cv_func_iswblank = no; then HAVE_ISWBLANK=0 if test $ac_cv_have_decl_iswblank = yes; then REPLACE_ISWBLANK=1 fi fi if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : else if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then : fi fi if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : else if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then gl_LIBOBJS="$gl_LIBOBJS iswblank.$ac_objext" fi fi GNULIB_ISWBLANK=1 $as_echo "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_langinfo_h='<'langinfo.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5 $as_echo_n "checking absolute name of <langinfo.h>... " >&6; } if ${gl_cv_next_langinfo_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_langinfo_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'langinfo.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_langinfo_h='<'langinfo.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5 $as_echo "$gl_cv_next_langinfo_h" >&6; } fi NEXT_LANGINFO_H=$gl_cv_next_langinfo_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'langinfo.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_langinfo_h fi NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive HAVE_LANGINFO_CODESET=0 HAVE_LANGINFO_T_FMT_AMPM=0 HAVE_LANGINFO_ERA=0 HAVE_LANGINFO_YESEXPR=0 if test $ac_cv_header_langinfo_h = yes; then HAVE_LANGINFO_H=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5 $as_echo_n "checking whether langinfo.h defines CODESET... " >&6; } if ${gl_cv_header_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int a = CODESET; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_codeset=yes else gl_cv_header_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5 $as_echo "$gl_cv_header_langinfo_codeset" >&6; } if test $gl_cv_header_langinfo_codeset = yes; then HAVE_LANGINFO_CODESET=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5 $as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; } if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int a = T_FMT_AMPM; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_t_fmt_ampm=yes else gl_cv_header_langinfo_t_fmt_ampm=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5 $as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; } if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then HAVE_LANGINFO_T_FMT_AMPM=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5 $as_echo_n "checking whether langinfo.h defines ERA... " >&6; } if ${gl_cv_header_langinfo_era+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int a = ERA; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_era=yes else gl_cv_header_langinfo_era=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5 $as_echo "$gl_cv_header_langinfo_era" >&6; } if test $gl_cv_header_langinfo_era = yes; then HAVE_LANGINFO_ERA=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5 $as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; } if ${gl_cv_header_langinfo_yesexpr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int a = YESEXPR; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_langinfo_yesexpr=yes else gl_cv_header_langinfo_yesexpr=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5 $as_echo "$gl_cv_header_langinfo_yesexpr" >&6; } if test $gl_cv_header_langinfo_yesexpr = yes; then HAVE_LANGINFO_YESEXPR=1 fi else HAVE_LANGINFO_H=0 fi if test $ac_cv_func_lchmod = no; then HAVE_LCHMOD=0 fi GNULIB_LCHMOD=1 $as_echo "#define GNULIB_TEST_LCHMOD 1" >>confdefs.h for ac_func in lchown do : ac_fn_c_check_func "$LINENO" "lchown" "ac_cv_func_lchown" if test "x$ac_cv_func_lchown" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LCHOWN 1 _ACEOF fi done if test $ac_cv_func_lchown = no; then HAVE_LCHOWN=0 else case "$gl_cv_func_chown_slash_works" in *yes) ;; *) REPLACE_LCHOWN=1 ;; esac case "$gl_cv_func_chown_ctime_works" in *yes) ;; *) REPLACE_LCHOWN=1 ;; esac fi if test $HAVE_LCHOWN = 0 || test $REPLACE_LCHOWN = 1; then gl_LIBOBJS="$gl_LIBOBJS lchown.$ac_objext" fi GNULIB_LCHOWN=1 $as_echo "#define GNULIB_TEST_LCHOWN 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler flag to ignore unused libraries" >&5 $as_echo_n "checking for C compiler flag to ignore unused libraries... " >&6; } if ${gl_cv_prog_c_ignore_unused_libraries+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_prog_c_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00131.html>. LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-Wl,-z,ignore'. '-z ignore' is accepted but has no effect. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' do LDFLAGS="$gl_flags $LDFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_prog_c_ignore_unused_libraries=$gl_flags fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$gl_saved_ldflags test "$gl_cv_prog_c_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_prog_c_ignore_unused_libraries" >&5 $as_echo "$gl_cv_prog_c_ignore_unused_libraries" >&6; } IGNORE_UNUSED_LIBRARIES_CFLAGS= if test "$gl_cv_prog_c_ignore_unused_libraries" != none; then IGNORE_UNUSED_LIBRARIES_CFLAGS="$gl_cv_prog_c_ignore_unused_libraries" fi if test $ac_cv_func_link = no; then HAVE_LINK=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether link obeys POSIX" >&5 $as_echo_n "checking whether link obeys POSIX... " >&6; } if ${gl_cv_func_link_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.a # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.a conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_link_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_link_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> int main () { int result = 0; if (!link ("conftest.a", "conftest.b/")) result |= 1; #if HAVE_LSTAT if (!link ("conftest.lnk/", "conftest.b")) result |= 2; if (rename ("conftest.a", "conftest.b")) result |= 4; if (!link ("conftest.b", "conftest.lnk")) result |= 8; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_link_works=yes else gl_cv_func_link_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.a conftest.b conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_link_works" >&5 $as_echo "$gl_cv_func_link_works" >&6; } case "$gl_cv_func_link_works" in *yes) ;; *) REPLACE_LINK=1 ;; esac fi if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext" fi GNULIB_LINK=1 $as_echo "#define GNULIB_TEST_LINK 1" >>confdefs.h gl_link_follows_symlinks=0 # assume GNU behavior if test $ac_cv_func_readlink = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __xpg4" >&5 $as_echo_n "checking for __xpg4... " >&6; } if ${gl_cv_have___xpg4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern int __xpg4; int main () { return __xpg4; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_have___xpg4=yes else gl_cv_have___xpg4=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have___xpg4" >&5 $as_echo "$gl_cv_have___xpg4" >&6; } if test $gl_cv_have___xpg4 = yes; then gl_link_follows_symlinks=-1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether link(2) dereferences a symlink" >&5 $as_echo_n "checking whether link(2) dereferences a symlink... " >&6; } if ${gl_cv_func_link_follows_symlink+:} false; then : $as_echo_n "(cached) " >&6 else # Create a regular file. echo > conftest.file if test "$cross_compiling" = yes; then : case "$host_os" in # On glibc/Linux we know the result. linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;; # Otherwise, we don't know. *) gl_cv_func_link_follows_symlink=unknown ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <sys/types.h> # include <sys/stat.h> # include <unistd.h> # include <stdlib.h> # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) int main () { const char *file = "conftest.file"; const char *sym = "conftest.sym"; const char *hard = "conftest.hard"; struct stat sb_file, sb_hard; /* Create a symlink to the regular file. */ if (symlink (file, sym)) return 2; /* Create a hard link to that symlink. */ if (link (sym, hard)) return 3; if (lstat (hard, &sb_hard)) return 4; if (lstat (file, &sb_file)) return 5; /* If the dev/inode of hard and file are the same, then the link call followed the symlink. */ return SAME_INODE (sb_hard, sb_file) ? 1 : 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_link_follows_symlink=no else gl_cv_func_link_follows_symlink=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file conftest.sym conftest.hard fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_link_follows_symlink" >&5 $as_echo "$gl_cv_func_link_follows_symlink" >&6; } case "$gl_cv_func_link_follows_symlink" in *yes) gl_link_follows_symlinks=1 ;; *no) ;; # already defaulted to 0 *) gl_link_follows_symlinks=-2 ;; esac fi fi cat >>confdefs.h <<_ACEOF #define LINK_FOLLOWS_SYMLINKS $gl_link_follows_symlinks _ACEOF if test $ac_cv_func_linkat = no; then HAVE_LINKAT=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat(,AT_SYMLINK_FOLLOW) works" >&5 $as_echo_n "checking whether linkat(,AT_SYMLINK_FOLLOW) works... " >&6; } if ${gl_cv_func_linkat_follow+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.f1 conftest.f2 touch conftest.f1 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <unistd.h> #ifdef __linux__ /* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW until 2.6.18. Always replace linkat to support older kernels. */ choke me #endif int main () { return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2", AT_SYMLINK_FOLLOW); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_linkat_follow=yes else gl_cv_func_linkat_follow="need runtime check" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext rm -rf conftest.f1 conftest.f2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_follow" >&5 $as_echo "$gl_cv_func_linkat_follow" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linkat handles trailing slash correctly" >&5 $as_echo_n "checking whether linkat handles trailing slash correctly... " >&6; } if ${gl_cv_func_linkat_slash+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.a conftest.b conftest.c conftest.d if test "$cross_compiling" = yes; then : # Guess yes on glibc systems, no otherwise. case "$host_os" in *-gnu*) gl_cv_func_linkat_slash="guessing yes";; *) gl_cv_func_linkat_slash="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <stdio.h> int main () { int result; int fd; /* Create a regular file. */ fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600); if (fd < 0) return 1; if (write (fd, "hello", 5) < 5) return 2; if (close (fd) < 0) return 3; /* Test whether hard links are supported on the current device. */ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b", AT_SYMLINK_FOLLOW) < 0) return 0; result = 0; /* Test whether a trailing "/" is treated like "/.". */ if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c", AT_SYMLINK_FOLLOW) == 0) result |= 4; if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/", AT_SYMLINK_FOLLOW) == 0) result |= 8; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_linkat_slash=yes else gl_cv_func_linkat_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.a conftest.b conftest.c conftest.d fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_linkat_slash" >&5 $as_echo "$gl_cv_func_linkat_slash" >&6; } case "$gl_cv_func_linkat_slash" in *yes) gl_linkat_slash_bug=0 ;; *) gl_linkat_slash_bug=1 ;; esac if test "$gl_cv_func_linkat_follow" != yes \ || test $gl_linkat_slash_bug = 1; then REPLACE_LINKAT=1 cat >>confdefs.h <<_ACEOF #define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug _ACEOF fi fi if test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1; then gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext" fi if test $HAVE_LINKAT = 0; then gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext" fi GNULIB_LINKAT=1 $as_echo "#define GNULIB_TEST_LINKAT 1" >>confdefs.h LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\"" case "$host_os" in solaris*) $as_echo "#define _LCONV_C99 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5 $as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; } if ${gl_cv_header_locale_h_posix2001+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> int x = LC_MESSAGES; int y = sizeof (((struct lconv *) 0)->decimal_point); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_locale_h_posix2001=yes else gl_cv_header_locale_h_posix2001=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5 $as_echo "$gl_cv_header_locale_h_posix2001" >&6; } if test $ac_cv_header_xlocale_h = yes; then HAVE_XLOCALE_H=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5 $as_echo_n "checking whether locale.h defines locale_t... " >&6; } if ${gl_cv_header_locale_has_locale_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> locale_t x; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_locale_has_locale_t=yes else gl_cv_header_locale_has_locale_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5 $as_echo "$gl_cv_header_locale_has_locale_t" >&6; } if test $gl_cv_header_locale_has_locale_t = yes; then gl_cv_header_locale_h_needs_xlocale_h=no else gl_cv_header_locale_h_needs_xlocale_h=yes fi else HAVE_XLOCALE_H=0 gl_cv_header_locale_h_needs_xlocale_h=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5 $as_echo_n "checking whether struct lconv is properly defined... " >&6; } if ${gl_cv_sys_struct_lconv_ok+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> struct lconv l; int x = sizeof (l.decimal_point); int y = sizeof (l.int_p_cs_precedes); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_lconv_ok=yes else gl_cv_sys_struct_lconv_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5 $as_echo "$gl_cv_sys_struct_lconv_ok" >&6; } if test $gl_cv_sys_struct_lconv_ok = no; then REPLACE_STRUCT_LCONV=1 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_locale_h='<'locale.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5 $as_echo_n "checking absolute name of <locale.h>... " >&6; } if ${gl_cv_next_locale_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'locale.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5 $as_echo "$gl_cv_next_locale_h" >&6; } fi NEXT_LOCALE_H=$gl_cv_next_locale_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'locale.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_locale_h fi NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive if test $REPLACE_STRUCT_LCONV = 1; then REPLACE_LOCALECONV=1 fi if test $REPLACE_LOCALECONV = 1; then gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext" ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include <locale.h> " if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_LCONV_DECIMAL_POINT 1 _ACEOF fi fi GNULIB_LOCALECONV=1 $as_echo "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h if test "$gl_threads_api" = posix; then # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h> " if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then : $as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h fi # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> int main () { #if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi : { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 $as_echo_n "checking whether lseek detects pipes... " >&6; } if ${gl_cv_func_lseek_pipe+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in mingw*) gl_cv_func_lseek_pipe=no ;; *) if test $cross_compiling = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* for off_t */ #include <stdio.h> /* for SEEK_CUR */ #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && test 1 = "`echo hi \ | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi else gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __BEOS__ /* BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 $as_echo "$gl_cv_func_lseek_pipe" >&6; } if test $gl_cv_func_lseek_pipe = no; then REPLACE_LSEEK=1 $as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h fi if test $WINDOWS_64_BIT_OFF_T = 1; then REPLACE_LSEEK=1 fi if test $REPLACE_LSEEK = 1; then gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" fi GNULIB_LSEEK=1 $as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h if test $ac_cv_func_lstat = yes; then case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *no) REPLACE_LSTAT=1 ;; esac else HAVE_LSTAT=0 fi if test $REPLACE_LSTAT = 1; then gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" : fi GNULIB_LSTAT=1 $as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on platforms where we know the result. *-gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_malloc_0_nonnull=yes ;; # If we don't know, assume the worst. *) ac_cv_func_malloc_0_nonnull=no ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include <stdlib.h> #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : $as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h else $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h REPLACE_MALLOC=1 fi if test $REPLACE_MALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_MALLOC_GNU 1 _ACEOF if test $gl_cv_func_malloc_posix = yes; then $as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h else REPLACE_MALLOC=1 fi if test $REPLACE_MALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" fi GNULIB_MALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_math_h='<'math.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <math.h>" >&5 $as_echo_n "checking absolute name of <math.h>... " >&6; } if ${gl_cv_next_math_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_math_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'math.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_math_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_math_h='<'math.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_math_h" >&5 $as_echo "$gl_cv_next_math_h" >&6; } fi NEXT_MATH_H=$gl_cv_next_math_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'math.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_math_h fi NEXT_AS_FIRST_DIRECTIVE_MATH_H=$gl_next_as_first_directive { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NAN macro works" >&5 $as_echo_n "checking whether NAN macro works... " >&6; } if ${gl_cv_header_math_nan_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> int main () { /* Solaris 10 has a broken definition of NAN. Other platforms fail to provide NAN, or provide it only in C99 mode; this test only needs to fail when NAN is provided but wrong. */ float f = 1.0f; #ifdef NAN f = NAN; #endif return f == 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_math_nan_works=yes else gl_cv_header_math_nan_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_nan_works" >&5 $as_echo "$gl_cv_header_math_nan_works" >&6; } if test $gl_cv_header_math_nan_works = no; then REPLACE_NAN=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether HUGE_VAL works" >&5 $as_echo_n "checking whether HUGE_VAL works... " >&6; } if ${gl_cv_header_math_huge_val_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> int main () { /* Solaris 10 has a broken definition of HUGE_VAL. */ double d = HUGE_VAL; return d == 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_math_huge_val_works=yes else gl_cv_header_math_huge_val_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_huge_val_works" >&5 $as_echo "$gl_cv_header_math_huge_val_works" >&6; } if test $gl_cv_header_math_huge_val_works = no; then REPLACE_HUGE_VAL=1 fi : if test $ac_cv_func_mbrlen = no; then HAVE_MBRLEN=0 ac_fn_c_check_decl "$LINENO" "mbrlen" "ac_cv_have_decl_mbrlen" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_mbrlen" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBRLEN $ac_have_decl _ACEOF if test $ac_cv_have_decl_mbrlen = yes; then REPLACE_MBRLEN=1 fi else if test $REPLACE_MBRTOWC = 1; then REPLACE_MBRLEN=1 fi fi if test $HAVE_MBRLEN = 0 || test $REPLACE_MBRLEN = 1; then gl_LIBOBJS="$gl_LIBOBJS mbrlen.$ac_objext" : fi GNULIB_MBRLEN=1 $as_echo "#define GNULIB_TEST_MBRLEN 1" >>confdefs.h if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $ac_cv_func_mbrtowc = no; then HAVE_MBRTOWC=0 ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_mbrtowc" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBRTOWC $ac_have_decl _ACEOF if test $ac_cv_have_decl_mbrtowc = yes; then REPLACE_MBRTOWC=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBRTOWC=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5 $as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; } if ${gl_cv_func_mbrtowc_null_arg1+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris. solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "\303\237er"; mbstate_t state; wchar_t wc; size_t ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, input, 5, &state); if (ret != 2) result |= 1; if (!mbsinit (&state)) result |= 2; memset (&state, '\0', sizeof (mbstate_t)); ret = mbrtowc (NULL, input, 5, &state); if (ret != 2) /* Solaris 7 fails here: ret is -1. */ result |= 4; if (!mbsinit (&state)) result |= 8; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_null_arg1=yes else gl_cv_func_mbrtowc_null_arg1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5 $as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5 $as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; } if ${gl_cv_func_mbrtowc_null_arg2+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on OSF/1. osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { mbstate_t state; wchar_t wc; int ret; memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; mbrtowc (&wc, NULL, 5, &state); /* Check that wc was not modified. */ if (wc != (wchar_t) 0xBADFACE) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_null_arg2=yes else gl_cv_func_mbrtowc_null_arg2=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5 $as_echo "$gl_cv_func_mbrtowc_null_arg2" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5 $as_echo_n "checking whether mbrtowc has a correct return value... " >&6; } if ${gl_cv_func_mbrtowc_retval+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on HP-UX, Solaris, native Windows. hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_retval="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ || { case "$host_os" in mingw*) true;; *) false;; esac; }; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; int found_some_locale = 0; /* This fails on Solaris. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 1) result |= 1; } found_some_locale = 1; } /* This fails on HP-UX 11.11. */ if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) { input[1] = '\0'; if (mbrtowc (&wc, input + 2, 5, &state) != 2) result |= 2; } found_some_locale = 1; } /* This fails on native Windows. */ if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL) { char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 4; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL) { char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 8; } found_some_locale = 1; } if (setlocale (LC_ALL, "Chinese_China.936") != NULL) { char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2)) { input[3] = '\0'; if (mbrtowc (&wc, input + 4, 4, &state) != 1) result |= 16; } found_some_locale = 1; } return (found_some_locale ? result : 77); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_retval=yes else if test $? != 77; then gl_cv_func_mbrtowc_retval=no fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_retval" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5 $as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; } if ${gl_cv_func_mbrtowc_nul_retval+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8 and 9. solaris2.[89]) gl_cv_func_mbrtowc_nul_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_nul_retval="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8 and 9. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, "", 1, &state) != 0) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_nul_retval=yes else gl_cv_func_mbrtowc_nul_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5 $as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; } case "$gl_cv_func_mbrtowc_null_arg1" in *yes) ;; *) $as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_null_arg2" in *yes) ;; *) $as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac case "$gl_cv_func_mbrtowc_nul_retval" in *yes) ;; *) $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h REPLACE_MBRTOWC=1 ;; esac fi fi if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext" : fi GNULIB_MBRTOWC=1 $as_echo "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h GNULIB_MBSCASECMP=1 $as_echo "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 ac_fn_c_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_mbsinit" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBSINIT $ac_have_decl _ACEOF if test $ac_cv_have_decl_mbsinit = yes; then REPLACE_MBSINIT=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 else case "$host_os" in mingw*) REPLACE_MBSINIT=1 ;; esac fi fi if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then gl_LIBOBJS="$gl_LIBOBJS mbsinit.$ac_objext" : fi GNULIB_MBSINIT=1 $as_echo "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h if test $ac_cv_func_mbslen = yes; then HAVE_MBSLEN=1 else HAVE_MBSLEN=0 fi GNULIB_MBSLEN=1 $as_echo "#define GNULIB_TEST_MBSLEN 1" >>confdefs.h if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $ac_cv_func_mbsrtowcs = no; then HAVE_MBSRTOWCS=0 ac_fn_c_check_decl "$LINENO" "mbsrtowcs" "ac_cv_have_decl_mbsrtowcs" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_mbsrtowcs" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBSRTOWCS $ac_have_decl _ACEOF if test $ac_cv_have_decl_mbsrtowcs = yes; then REPLACE_MBSRTOWCS=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSRTOWCS=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbsrtowcs works" >&5 $as_echo_n "checking whether mbsrtowcs works... " >&6; } if ${gl_cv_func_mbsrtowcs_works+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on HP-UX, Solaris, mingw. hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; /* Test whether the function supports a NULL destination argument. This fails on native Windows. */ if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { const char input[] = "\337er"; const char *src = input; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbsrtowcs (NULL, &src, 1, &state) != 3 || src != input) result |= 1; } /* Test whether the function works when started with a conversion state in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { const char input[] = "B\303\274\303\237er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 2; } } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "<\306\374\313\334\270\354>"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 3, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 4; if (mbsrtowcs (NULL, &src, 10, &state) != 3) result |= 4; } } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { const char input[] = "B\250\271\201\060\211\070er"; mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (NULL, input + 1, 1, &state) == (size_t)(-2)) if (!mbsinit (&state)) { const char *src = input + 2; if (mbsrtowcs (NULL, &src, 10, &state) != 4) result |= 8; } } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbsrtowcs_works=yes else gl_cv_func_mbsrtowcs_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbsrtowcs_works" >&5 $as_echo "$gl_cv_func_mbsrtowcs_works" >&6; } case "$gl_cv_func_mbsrtowcs_works" in *yes) ;; *) REPLACE_MBSRTOWCS=1 ;; esac fi fi if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS mbsrtowcs-state.$ac_objext" : fi GNULIB_MBSRTOWCS=1 $as_echo "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h GNULIB_MBSSTR=1 $as_echo "#define GNULIB_TEST_MBSSTR 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbswidth is declared in <wchar.h>" >&5 $as_echo_n "checking whether mbswidth is declared in <wchar.h>... " >&6; } if ${ac_cv_have_decl_mbswidth+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { char *p = (char *) mbswidth; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_mbswidth=yes else ac_cv_have_decl_mbswidth=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_mbswidth" >&5 $as_echo "$ac_cv_have_decl_mbswidth" >&6; } if test $ac_cv_have_decl_mbswidth = yes; then ac_val=1 else ac_val=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBSWIDTH_IN_WCHAR_H $ac_val _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 $as_echo_n "checking for mbstate_t... " >&6; } if ${ac_cv_type_mbstate_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_mbstate_t=yes else ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5 $as_echo "$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then $as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h else $as_echo "#define mbstate_t int" >>confdefs.h fi if false; then REPLACE_MBTOWC=1 fi if test $REPLACE_MBTOWC = 1; then gl_LIBOBJS="$gl_LIBOBJS mbtowc.$ac_objext" : fi GNULIB_MBTOWC=1 $as_echo "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h : : if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" for ac_header in bp-sym.h do : ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" if test "x$ac_cv_header_bp_sym_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BP_SYM_H 1 _ACEOF fi done fi GNULIB_MEMCHR=1 $as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h : for ac_func in mempcpy do : ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" if test "x$ac_cv_func_mempcpy" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MEMPCPY 1 _ACEOF fi done if test $ac_cv_func_mempcpy = no; then HAVE_MEMPCPY=0 fi if test $HAVE_MEMPCPY = 0; then gl_LIBOBJS="$gl_LIBOBJS mempcpy.$ac_objext" : fi GNULIB_MEMPCPY=1 $as_echo "#define GNULIB_TEST_MEMPCPY 1" >>confdefs.h if test $ac_cv_have_decl_memrchr = no; then HAVE_DECL_MEMRCHR=0 fi for ac_func in memrchr do : ac_fn_c_check_func "$LINENO" "memrchr" "ac_cv_func_memrchr" if test "x$ac_cv_func_memrchr" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MEMRCHR 1 _ACEOF fi done if test $ac_cv_func_memrchr = no; then gl_LIBOBJS="$gl_LIBOBJS memrchr.$ac_objext" : fi GNULIB_MEMRCHR=1 $as_echo "#define GNULIB_TEST_MEMRCHR 1" >>confdefs.h : { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing slash" >&5 $as_echo_n "checking whether mkdir handles trailing slash... " >&6; } if ${gl_cv_func_mkdir_trailing_slash_works+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.dir if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkdir_trailing_slash_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <sys/types.h> # include <sys/stat.h> int main () { return mkdir ("conftest.dir/", 0700); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mkdir_trailing_slash_works=yes else gl_cv_func_mkdir_trailing_slash_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_slash_works" >&5 $as_echo "$gl_cv_func_mkdir_trailing_slash_works" >&6; } case "$gl_cv_func_mkdir_trailing_slash_works" in *yes) ;; *) REPLACE_MKDIR=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkdir handles trailing dot" >&5 $as_echo_n "checking whether mkdir handles trailing dot... " >&6; } if ${gl_cv_func_mkdir_trailing_dot_works+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.dir if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <sys/types.h> # include <sys/stat.h> int main () { return !mkdir ("conftest.dir/./", 0700); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mkdir_trailing_dot_works=yes else gl_cv_func_mkdir_trailing_dot_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkdir_trailing_dot_works" >&5 $as_echo "$gl_cv_func_mkdir_trailing_dot_works" >&6; } case "$gl_cv_func_mkdir_trailing_dot_works" in *yes) ;; *) REPLACE_MKDIR=1 $as_echo "#define FUNC_MKDIR_DOT_BUG 1" >>confdefs.h ;; esac if test $REPLACE_MKDIR = 1; then gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" fi if test $ac_cv_func_mkfifo = no; then HAVE_MKFIFO=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkfifo rejects trailing slashes" >&5 $as_echo_n "checking whether mkfifo rejects trailing slashes... " >&6; } if ${gl_cv_func_mkfifo_works+:} false; then : $as_echo_n "(cached) " >&6 else # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mkfifo_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> int main () { int result = 0; if (!mkfifo ("conftest.tmp/", 0600)) result |= 1; #if HAVE_LSTAT if (!mkfifo ("conftest.lnk/", 0600)) result |= 2; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mkfifo_works=yes else gl_cv_func_mkfifo_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.tmp conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mkfifo_works" >&5 $as_echo "$gl_cv_func_mkfifo_works" >&6; } case "$gl_cv_func_mkfifo_works" in *yes) ;; *) $as_echo "#define MKFIFO_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_MKFIFO=1 ;; esac fi if test $HAVE_MKFIFO = 0 || test $REPLACE_MKFIFO = 1; then gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext" fi GNULIB_MKFIFO=1 $as_echo "#define GNULIB_TEST_MKFIFO 1" >>confdefs.h if test $ac_cv_func_mknod = no; then HAVE_MKNOD=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mknod can create fifo without root privileges" >&5 $as_echo_n "checking whether mknod can create fifo without root privileges... " >&6; } if ${gl_cv_func_mknod_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_mknod_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_mknod_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> #include <unistd.h> /* Copied from root-uid.h. FIXME: Just use root-uid.h. */ #ifdef __TANDEM # define ROOT_UID 65535 #else # define ROOT_UID 0 #endif int main () { /* Indeterminate for super-user, assume no. Why are you running configure as root, anyway? */ if (geteuid () == ROOT_UID) return 99; if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mknod_works=yes else if test $? = 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) See \`config.log' for more details" "$LINENO" 5; } fi gl_cv_func_mknod_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.fifo fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mknod_works" >&5 $as_echo "$gl_cv_func_mknod_works" >&6; } case "$gl_cv_func_mknod_works" in *yes) ;; *) REPLACE_MKNOD=1 $as_echo "#define MKNOD_FIFO_BUG 1" >>confdefs.h ;; esac if test $REPLACE_MKFIFO = 1; then REPLACE_MKNOD=1 fi fi if test $HAVE_MKNOD = 0 || test $REPLACE_MKNOD = 1; then gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext" fi GNULIB_MKNOD=1 $as_echo "#define GNULIB_TEST_MKNOD 1" >>confdefs.h if test $ac_cv_func_mkstemp = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5 $as_echo_n "checking for working mkstemp... " >&6; } if ${gl_cv_func_working_mkstemp+:} false; then : $as_echo_n "(cached) " >&6 else mkdir conftest.mkstemp if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_mkstemp="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { int result = 0; int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; umask (0); for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0) result |= 1; else { struct stat st; if (lseek (fd, large, SEEK_SET) != large) result |= 2; if (fstat (fd, &st) < 0) result |= 4; else if (st.st_mode & 0077) result |= 8; if (close (fd)) result |= 16; } } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_mkstemp=yes else gl_cv_func_working_mkstemp=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.mkstemp fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mkstemp" >&5 $as_echo "$gl_cv_func_working_mkstemp" >&6; } case "$gl_cv_func_working_mkstemp" in *yes) ;; *) REPLACE_MKSTEMP=1 ;; esac else HAVE_MKSTEMP=0 fi if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext" fi GNULIB_MKSTEMP=1 $as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h if test $APPLE_UNIVERSAL_BUILD = 1; then # A universal build on Apple Mac OS X platforms. # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. # But we need a configuration result that is valid in both modes. gl_cv_func_working_mktime=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 $as_echo_n "checking for working mktime... " >&6; } if ${gl_cv_func_working_mktime+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_working_mktime=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test program from Paul Eggert and Tony Leneis. */ #include <limits.h> #include <stdlib.h> #include <time.h> #ifdef HAVE_UNISTD_H # include <unistd.h> #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static char *tz_strings[] = { (char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (time_t now) { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (time_t now) { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (int j) { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { int result = 0; time_t t, delta; int i, j; int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; int time_t_signed = ! ((time_t) 0 < (time_t) -1); /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); time_t_max = (! time_t_signed ? (time_t) -1 : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) * 2 + 1)); time_t_min = (! time_t_signed ? (time_t) 0 : time_t_signed_magnitude ? ~ (time_t) 0 : ~ time_t_max); delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv (tz_strings[i]); for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) if (! mktime_test (t)) result |= 1; if ((result & 2) == 0 && ! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) result |= 2; for (j = 1; (result & 4) == 0; j <<= 1) { if (! bigtime_test (j)) result |= 4; if (INT_MAX / 2 < j) break; } if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) result |= 8; } if (! irix_6_4_bug ()) result |= 16; if (! spring_forward_gap ()) result |= 32; if (! year_2050_test ()) result |= 64; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_mktime=yes else gl_cv_func_working_mktime=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5 $as_echo "$gl_cv_func_working_mktime" >&6; } if test $gl_cv_func_working_mktime = no; then REPLACE_MKTIME=1 else REPLACE_MKTIME=0 fi if test $REPLACE_MKTIME = 1; then gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" : fi GNULIB_MKTIME=1 $as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h : for ac_func in listmntent getmntinfo do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses # NGROUPS (as the array dimension for a struct member) without a definition. for ac_header in sys/ucred.h do : ac_fn_c_check_header_compile "$LINENO" "sys/ucred.h" "ac_cv_header_sys_ucred_h" "#include <grp.h> " if test "x$ac_cv_header_sys_ucred_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_UCRED_H 1 _ACEOF fi done for ac_header in sys/mount.h do : ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include <sys/param.h> #endif " if test "x$ac_cv_header_sys_mount_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MOUNT_H 1 _ACEOF fi done for ac_header in mntent.h sys/fs_types.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done getfsstat_includes="\ $ac_includes_default #if HAVE_SYS_PARAM_H # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_UCRED_H # include <grp.h> /* needed for definition of NGROUPS */ # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_MOUNT_H # include <sys/mount.h> #endif #if HAVE_SYS_FS_TYPES_H # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */ #endif " ac_fn_c_check_member "$LINENO" "struct fsstat" "f_fstypename" "ac_cv_member_struct_fsstat_f_fstypename" "$getfsstat_includes " if test "x$ac_cv_member_struct_fsstat_f_fstypename" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_FSSTAT_F_FSTYPENAME 1 _ACEOF fi # Determine how to get the list of mounted file systems. ac_list_mounted_fs= # If the getmntent function is available but not in the standard library, # make sure LIBS contains the appropriate -l option. # getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, # -lseq on Dynix/PTX, -lgen on Unixware. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getmntent" >&5 $as_echo_n "checking for library containing getmntent... " >&6; } if ${ac_cv_search_getmntent+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getmntent (); int main () { return getmntent (); ; return 0; } _ACEOF for ac_lib in '' sun seq gen; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getmntent=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getmntent+:} false; then : break fi done if ${ac_cv_search_getmntent+:} false; then : else ac_cv_search_getmntent=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getmntent" >&5 $as_echo "$ac_cv_search_getmntent" >&6; } ac_res=$ac_cv_search_getmntent if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi for ac_func in getmntent do : ac_fn_c_check_func "$LINENO" "getmntent" "ac_cv_func_getmntent" if test "x$ac_cv_func_getmntent" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETMNTENT 1 _ACEOF fi done # This test must precede the ones for getmntent because Unicos-9 is # reported to have the getmntent function, but its support is incompatible # with other getmntent implementations. # NOTE: Normally, I wouldn't use a check for system type as I've done for # 'CRAY' below since that goes against the whole autoconf philosophy. But # I think there is too great a chance that some non-Cray system has a # function named listmntent to risk the false positive. if test -z "$ac_list_mounted_fs"; then # Cray UNICOS 9 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for listmntent of Cray/Unicos-9" >&5 $as_echo_n "checking for listmntent of Cray/Unicos-9... " >&6; } if ${fu_cv_sys_mounted_cray_listmntent+:} false; then : $as_echo_n "(cached) " >&6 else fu_cv_sys_mounted_cray_listmntent=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _CRAY yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : test $ac_cv_func_listmntent = yes \ && fu_cv_sys_mounted_cray_listmntent=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_cray_listmntent" >&5 $as_echo "$fu_cv_sys_mounted_cray_listmntent" >&6; } if test $fu_cv_sys_mounted_cray_listmntent = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_LISTMNTENT 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # AIX. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mntctl function and struct vmount" >&5 $as_echo_n "checking for mntctl function and struct vmount... " >&6; } if ${fu_cv_sys_mounted_vmount+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fshelp.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : fu_cv_sys_mounted_vmount=yes else fu_cv_sys_mounted_vmount=no fi rm -f conftest.err conftest.i conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_vmount" >&5 $as_echo "$fu_cv_sys_mounted_vmount" >&6; } if test $fu_cv_sys_mounted_vmount = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_VMOUNT 1" >>confdefs.h fi fi if test $ac_cv_func_getmntent = yes; then # This system has the getmntent function. # Determine whether it's the one-argument variant or the two-argument one. if test -z "$ac_list_mounted_fs"; then # 4.3BSD, SunOS, HP-UX, Dynix, Irix { $as_echo "$as_me:${as_lineno-$LINENO}: checking for one-argument getmntent function" >&5 $as_echo_n "checking for one-argument getmntent function... " >&6; } if ${fu_cv_sys_mounted_getmntent1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ #include <stdio.h> #include <mntent.h> #if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif #endif int main () { struct mntent *mnt = 0; char *table = MOUNTED; if (sizeof mnt && sizeof table) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fu_cv_sys_mounted_getmntent1=yes else fu_cv_sys_mounted_getmntent1=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getmntent1" >&5 $as_echo "$fu_cv_sys_mounted_getmntent1" >&6; } if test $fu_cv_sys_mounted_getmntent1 = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETMNTENT1 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # SVR4 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for two-argument getmntent function" >&5 $as_echo_n "checking for two-argument getmntent function... " >&6; } if ${fu_cv_sys_mounted_getmntent2+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mnttab.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "getmntent" >/dev/null 2>&1; then : fu_cv_sys_mounted_getmntent2=yes else fu_cv_sys_mounted_getmntent2=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getmntent2" >&5 $as_echo "$fu_cv_sys_mounted_getmntent2" >&6; } if test $fu_cv_sys_mounted_getmntent2 = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETMNTENT2 1" >>confdefs.h for ac_func in hasmntopt do : ac_fn_c_check_func "$LINENO" "hasmntopt" "ac_cv_func_hasmntopt" if test "x$ac_cv_func_hasmntopt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_HASMNTOPT 1 _ACEOF fi done fi fi fi if test -z "$ac_list_mounted_fs"; then # DEC Alpha running OSF/1, and Apple Darwin 1.3. # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfsstat function" >&5 $as_echo_n "checking for getfsstat function... " >&6; } if ${fu_cv_sys_mounted_getfsstat+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) #else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] #endif $getfsstat_includes int main () { struct statfs *stats; int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); char *t = FS_TYPE (*stats); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : fu_cv_sys_mounted_getfsstat=yes else fu_cv_sys_mounted_getfsstat=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getfsstat" >&5 $as_echo "$fu_cv_sys_mounted_getfsstat" >&6; } if test $fu_cv_sys_mounted_getfsstat = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETFSSTAT 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # SVR3 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FIXME existence of three headers" >&5 $as_echo_n "checking for FIXME existence of three headers... " >&6; } if ${fu_cv_sys_mounted_fread_fstyp+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/statfs.h> #include <sys/fstyp.h> #include <mnttab.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : fu_cv_sys_mounted_fread_fstyp=yes else fu_cv_sys_mounted_fread_fstyp=no fi rm -f conftest.err conftest.i conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_fread_fstyp" >&5 $as_echo "$fu_cv_sys_mounted_fread_fstyp" >&6; } if test $fu_cv_sys_mounted_fread_fstyp = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_FREAD_FSTYP 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # 4.4BSD and DEC OSF/1. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getmntinfo function" >&5 $as_echo_n "checking for getmntinfo function... " >&6; } if ${fu_cv_sys_mounted_getmntinfo+:} false; then : $as_echo_n "(cached) " >&6 else test "$ac_cv_func_getmntinfo" = yes \ && fu_cv_sys_mounted_getmntinfo=yes \ || fu_cv_sys_mounted_getmntinfo=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getmntinfo" >&5 $as_echo "$fu_cv_sys_mounted_getmntinfo" >&6; } if test $fu_cv_sys_mounted_getmntinfo = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getmntinfo returns statvfs structures" >&5 $as_echo_n "checking whether getmntinfo returns statvfs structures... " >&6; } if ${fu_cv_sys_mounted_getmntinfo2+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #include <sys/types.h> #if HAVE_SYS_MOUNT_H # include <sys/mount.h> #endif #if HAVE_SYS_STATVFS_H # include <sys/statvfs.h> #endif extern #ifdef __cplusplus "C" #endif int getmntinfo (struct statfs **, int); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fu_cv_sys_mounted_getmntinfo2=no else fu_cv_sys_mounted_getmntinfo2=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getmntinfo2" >&5 $as_echo "$fu_cv_sys_mounted_getmntinfo2" >&6; } if test $fu_cv_sys_mounted_getmntinfo2 = no; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETMNTINFO 1" >>confdefs.h else ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETMNTINFO2 1" >>confdefs.h fi fi fi if test -z "$ac_list_mounted_fs"; then # Ultrix { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getmnt function" >&5 $as_echo_n "checking for getmnt function... " >&6; } if ${fu_cv_sys_mounted_getmnt+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/fs_types.h> #include <sys/mount.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : fu_cv_sys_mounted_getmnt=yes else fu_cv_sys_mounted_getmnt=no fi rm -f conftest.err conftest.i conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_getmnt" >&5 $as_echo "$fu_cv_sys_mounted_getmnt" >&6; } if test $fu_cv_sys_mounted_getmnt = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_GETMNT 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # BeOS for ac_func in next_dev fs_stat_dev do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in fs_info.h do : ac_fn_c_check_header_mongrel "$LINENO" "fs_info.h" "ac_cv_header_fs_info_h" "$ac_includes_default" if test "x$ac_cv_header_fs_info_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FS_INFO_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BEOS mounted file system support functions" >&5 $as_echo_n "checking for BEOS mounted file system support functions... " >&6; } if test $ac_cv_header_fs_info_h = yes \ && test $ac_cv_func_next_dev = yes \ && test $ac_cv_func_fs_stat_dev = yes; then fu_result=yes else fu_result=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_result" >&5 $as_echo "$fu_result" >&6; } if test $fu_result = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_FS_STAT_DEV 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # SVR2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is possible to resort to fread on /etc/mnttab" >&5 $as_echo_n "checking whether it is possible to resort to fread on /etc/mnttab... " >&6; } if ${fu_cv_sys_mounted_fread+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <mnttab.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : fu_cv_sys_mounted_fread=yes else fu_cv_sys_mounted_fread=no fi rm -f conftest.err conftest.i conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fu_cv_sys_mounted_fread" >&5 $as_echo "$fu_cv_sys_mounted_fread" >&6; } if test $fu_cv_sys_mounted_fread = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_FREAD 1" >>confdefs.h fi fi if test -z "$ac_list_mounted_fs"; then # Interix / BSD alike statvfs # the code is really interix specific, so make sure, we're on it. case "$host" in *-interix*) for ac_func in statvfs do : ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" if test "x$ac_cv_func_statvfs" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STATVFS 1 _ACEOF fi done if test $ac_cv_func_statvfs = yes; then ac_list_mounted_fs=found $as_echo "#define MOUNTED_INTERIX_STATVFS 1" >>confdefs.h fi ;; esac fi if test -z "$ac_list_mounted_fs"; then as_fn_error $? "could not determine how to read list of mounted file systems" "$LINENO" 5 # FIXME -- no need to abort building the whole package # Can't build mountlist.c or anything that needs its functions fi if test $ac_list_mounted_fs = found; then : gl_cv_list_mounted_fs=yes else gl_cv_list_mounted_fs=no fi if test $gl_cv_list_mounted_fs = yes; then gl_LIBOBJS="$gl_LIBOBJS mountlist.$ac_objext" for ac_header in sys/mntent.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/mntent.h" "ac_cv_header_sys_mntent_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mntent_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MNTENT_H 1 _ACEOF fi done ac_fn_c_check_member "$LINENO" "struct statfs" "f_fstypename" "ac_cv_member_struct_statfs_f_fstypename" " #include <sys/types.h> #include <sys/param.h> #include <sys/mount.h> " if test "x$ac_cv_member_struct_statfs_f_fstypename" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_FSTYPENAME 1 _ACEOF fi fi if test $ac_cv_func__set_invalid_parameter_handler = yes; then HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h else HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" fi if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" fi nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. LIB_NANOSLEEP= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5 $as_echo_n "checking for library containing nanosleep... " >&6; } if ${ac_cv_search_nanosleep+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char nanosleep (); int main () { return nanosleep (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_nanosleep=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_nanosleep+:} false; then : break fi done if ${ac_cv_search_nanosleep+:} false; then : else ac_cv_search_nanosleep=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5 $as_echo "$ac_cv_search_nanosleep" >&6; } ac_res=$ac_cv_search_nanosleep if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_nanosleep" = "none required" || LIB_NANOSLEEP=$ac_cv_search_nanosleep fi if test "x$ac_cv_search_nanosleep" != xno; then if test $APPLE_UNIVERSAL_BUILD = 1; then # A universal build on Apple Mac OS X platforms. # The test result would be 'no (mishandles large arguments)' in 64-bit # mode but 'yes' in 32-bit mode. But we need a configuration result that # is valid in both modes. gl_cv_func_nanosleep='no (mishandles large arguments)' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working nanosleep" >&5 $as_echo_n "checking for working nanosleep... " >&6; } if ${gl_cv_func_nanosleep+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in linux*) # Guess it halfway works when the kernel is Linux. gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;; *) # If we don't know, assume the worst. gl_cv_func_nanosleep='guessing no' ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <limits.h> #include <signal.h> #if HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <time.h> #include <unistd.h> #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; static struct sigaction act; /* Test for major problems first. */ if (! nanosleep) return 2; act.sa_handler = check_for_SIGALRM; sigemptyset (&act.sa_mask); sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; alarm (1); if (nanosleep (&ts_sleep, NULL) != 0) return 3; /* Test for a minor problem: the handling of large arguments. */ ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); ts_sleep.tv_nsec = 999999999; alarm (1); if (nanosleep (&ts_sleep, &ts_remaining) != -1) return 4; if (errno != EINTR) return 5; if (ts_remaining.tv_sec <= TYPE_MAXIMUM (time_t) - 10) return 6; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_nanosleep=yes else case $? in 4|5|6) gl_cv_func_nanosleep='no (mishandles large arguments)';; *) gl_cv_func_nanosleep=no;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nanosleep" >&5 $as_echo "$gl_cv_func_nanosleep" >&6; } case "$gl_cv_func_nanosleep" in *yes) REPLACE_NANOSLEEP=0 ;; *) REPLACE_NANOSLEEP=1 case "$gl_cv_func_nanosleep" in *"mishandles large arguments"*) $as_echo "#define HAVE_BUG_BIG_NANOSLEEP 1" >>confdefs.h ;; *) # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP. for ac_lib in $LIBSOCKET; do case " $LIB_NANOSLEEP " in *" $ac_lib "*) ;; *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; esac done ;; esac ;; esac else HAVE_NANOSLEEP=0 fi LIBS=$nanosleep_save_libs if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then gl_LIBOBJS="$gl_LIBOBJS nanosleep.$ac_objext" : fi GNULIB_NANOSLEEP=1 $as_echo "#define GNULIB_TEST_NANOSLEEP 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_netdb_h='<'netdb.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <netdb.h>" >&5 $as_echo_n "checking absolute name of <netdb.h>... " >&6; } if ${gl_cv_next_netdb_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_netdb_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <netdb.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'netdb.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_netdb_h='<'netdb.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 $as_echo "$gl_cv_next_netdb_h" >&6; } fi NEXT_NETDB_H=$gl_cv_next_netdb_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'netdb.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_netdb_h fi NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive if test $ac_cv_header_netdb_h = yes; then HAVE_NETDB_H=1 else HAVE_NETDB_H=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <netinet/in.h> is self-contained" >&5 $as_echo_n "checking whether <netinet/in.h> is self-contained... " >&6; } if ${gl_cv_header_netinet_in_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <netinet/in.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_netinet_in_h_selfcontained=yes else gl_cv_header_netinet_in_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 $as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } if test $gl_cv_header_netinet_in_h_selfcontained = yes; then NETINET_IN_H='' else NETINET_IN_H='netinet/in.h' for ac_header in netinet/in.h do : ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_in_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NETINET_IN_H 1 _ACEOF fi done if test $gl_cv_have_include_next = yes; then gl_cv_next_netinet_in_h='<'netinet/in.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <netinet/in.h>" >&5 $as_echo_n "checking absolute name of <netinet/in.h>... " >&6; } if ${gl_cv_next_netinet_in_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_netinet_in_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <netinet/in.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'netinet/in.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_netinet_in_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_netinet_in_h='<'netinet/in.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 $as_echo "$gl_cv_next_netinet_in_h" >&6; } fi NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'netinet/in.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_netinet_in_h fi NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H=$gl_next_as_first_directive if test $ac_cv_header_netinet_in_h = yes; then HAVE_NETINET_IN_H=1 else HAVE_NETINET_IN_H=0 fi fi if test -n "$NETINET_IN_H"; then GL_GENERATE_NETINET_IN_H_TRUE= GL_GENERATE_NETINET_IN_H_FALSE='#' else GL_GENERATE_NETINET_IN_H_TRUE='#' GL_GENERATE_NETINET_IN_H_FALSE= fi if test $ac_cv_func_nl_langinfo = yes; then # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether YESEXPR works" >&5 $as_echo_n "checking whether YESEXPR works... " >&6; } if ${gl_cv_func_nl_langinfo_yesexpr_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on irix systems. irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";; # Guess yes elsewhere. *) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int main () { return !*nl_langinfo(YESEXPR); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_nl_langinfo_yesexpr_works=yes else gl_cv_func_nl_langinfo_yesexpr_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5 $as_echo "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; } case $gl_cv_func_nl_langinfo_yesexpr_works in *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;; *) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;; esac cat >>confdefs.h <<_ACEOF #define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS _ACEOF if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \ && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then : else REPLACE_NL_LANGINFO=1 $as_echo "#define REPLACE_NL_LANGINFO 1" >>confdefs.h fi else HAVE_NL_LANGINFO=0 fi if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext" fi GNULIB_NL_LANGINFO=1 $as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h for ac_header in sys/pstat.h sys/sysmp.h sys/param.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/sysctl.h do : ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif " if test "x$ac_cv_header_sys_sysctl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_SYSCTL_H 1 _ACEOF fi done for ac_func in sched_getaffinity sched_getaffinity_np \ pstat_getdynamic sysmp sysctl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_sched_getaffinity = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glibc compatible sched_getaffinity" >&5 $as_echo_n "checking for glibc compatible sched_getaffinity... " >&6; } if ${gl_cv_func_sched_getaffinity3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sched.h> int main () { sched_getaffinity (0, 0, (cpu_set_t *) 0); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_sched_getaffinity3=yes else gl_cv_func_sched_getaffinity3=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sched_getaffinity3" >&5 $as_echo "$gl_cv_func_sched_getaffinity3" >&6; } if test $gl_cv_func_sched_getaffinity3 = yes; then $as_echo "#define HAVE_SCHED_GETAFFINITY_LIKE_GLIBC 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obstacks" >&5 $as_echo_n "checking for obstacks... " >&6; } if ${ac_cv_func_obstack+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include "obstack.h" int main () { struct obstack mem; #define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (&mem); obstack_free (&mem, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_obstack=yes else ac_cv_func_obstack=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_obstack" >&5 $as_echo "$ac_cv_func_obstack" >&6; } if test $ac_cv_func_obstack = yes; then $as_echo "#define HAVE_OBSTACK 1" >>confdefs.h else gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" fi case "$host_os" in mingw* | pw*) REPLACE_OPEN=1 ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5 $as_echo_n "checking whether open recognizes a trailing slash... " >&6; } if ${gl_cv_func_open_slash+:} false; then : $as_echo_n "(cached) " >&6 else # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then touch conftest.tmp ln -s conftest.tmp conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) gl_cv_func_open_slash="guessing no" ;; *) gl_cv_func_open_slash="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #if HAVE_UNISTD_H # include <unistd.h> #endif int main () { int result = 0; #if HAVE_LSTAT if (open ("conftest.lnk/", O_RDONLY) != -1) result |= 1; #endif if (open ("conftest.sl/", O_CREAT, 0600) >= 0) result |= 2; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_open_slash=yes else gl_cv_func_open_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.sl conftest.tmp conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 $as_echo "$gl_cv_func_open_slash" >&6; } case "$gl_cv_func_open_slash" in *no) $as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_OPEN=1 ;; esac ;; esac if test $REPLACE_OPEN = 0; then if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then REPLACE_OPEN=1 fi fi if test $REPLACE_OPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext" : fi GNULIB_OPEN=1 $as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in yes+*yes) ;; yes+*) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_OPENAT=1 ;; *) HAVE_OPENAT=0 ;; esac if test $HAVE_OPENAT = 0 || test $REPLACE_OPENAT = 1; then gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext" : fi cat >>confdefs.h <<_ACEOF #define GNULIB_OPENAT 1 _ACEOF GNULIB_OPENAT=1 $as_echo "#define GNULIB_TEST_OPENAT 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_OPENAT_SAFER 1 _ACEOF for ac_func in opendir do : ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir" if test "x$ac_cv_func_opendir" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_OPENDIR 1 _ACEOF fi done if test $ac_cv_func_opendir = no; then HAVE_OPENDIR=0 fi if test $ac_cv_func_fchdir = no; then HAVE_FCHDIR=0 fi if test $HAVE_FCHDIR = 0; then if test $HAVE_OPENDIR = 1; then REPLACE_OPENDIR=1 fi fi if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then gl_LIBOBJS="$gl_LIBOBJS opendir.$ac_objext" fi GNULIB_OPENDIR=1 $as_echo "#define GNULIB_TEST_OPENDIR 1" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include <sys/types.h> #include <$ac_cv_struct_tm> " if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_ZONE 1 _ACEOF fi if test "$ac_cv_member_struct_tm_tm_zone" = yes; then $as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h else ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include <time.h> " if test "x$ac_cv_have_decl_tzname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TZNAME $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 $as_echo_n "checking for tzname... " >&6; } if ${ac_cv_var_tzname+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> #if !HAVE_DECL_TZNAME extern char *tzname[]; #endif int main () { return tzname[0][0]; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_var_tzname=yes else ac_cv_var_tzname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 $as_echo "$ac_cv_var_tzname" >&6; } if test $ac_cv_var_tzname = yes; then $as_echo "#define HAVE_TZNAME 1" >>confdefs.h fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> /* for time_t */ #include <limits.h> /* for CHAR_BIT, LONG_MIN, LONG_MAX */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1]; typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1]; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define TIME_T_FITS_IN_LONG_INT 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl5.005 or newer" >&5 $as_echo_n "checking for perl5.005 or newer... " >&6; } if test "${PERL+set}" = set; then # 'PERL' is set in the user's environment. candidate_perl_names="$PERL" perl_specified=yes else candidate_perl_names='perl perl5' perl_specified=no fi found=no PERL="$am_missing_run perl" for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare' ) > /dev/null 2>&1; then PERL=$perl found=yes break fi done { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found" >&5 $as_echo "$found" >&6; } test $found = no && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. " >&5 $as_echo "$as_me: WARNING: WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. " >&2;} # Prerequisites of lib/physmem.c. for ac_header in sys/pstat.h sys/sysmp.h sys/sysinfo.h \ machine/hal_sysinfo.h sys/table.h sys/param.h sys/systemcfg.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/sysctl.h do : ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif " if test "x$ac_cv_header_sys_sysctl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_SYSCTL_H 1 _ACEOF fi done for ac_func in pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_pipe2 != yes; then HAVE_PIPE2=0 fi GNULIB_PIPE2=1 $as_echo "#define GNULIB_TEST_PIPE2 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_PIPE2_SAFER 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a shell that conforms to POSIX" >&5 $as_echo_n "checking for a shell that conforms to POSIX... " >&6; } if ${gl_cv_posix_shell+:} false; then : $as_echo_n "(cached) " >&6 else gl_test_posix_shell_script=' func_return () { (exit $1) } func_success () { func_return 0 } func_failure () { func_return 1 } func_ret_success () { return 0 } func_ret_failure () { return 1 } subshell_umask_sanity () { (umask 22; (umask 0); test $(umask) -eq 22) } test "$(echo foo)" = foo && func_success && ! func_failure && func_ret_success && ! func_ret_failure && (set x && func_ret_success y && test x = "$1") && subshell_umask_sanity ' for gl_cv_posix_shell in \ "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do case $gl_cv_posix_shell in /*) "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \ && break;; esac done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_posix_shell" >&5 $as_echo "$gl_cv_posix_shell" >&6; } if test "$gl_cv_posix_shell" != no; then POSIX_SHELL=$gl_cv_posix_shell PREFERABLY_POSIX_SHELL=$POSIX_SHELL else POSIX_SHELL= PREFERABLY_POSIX_SHELL=/bin/sh fi if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawn_file_actions_addclose works" >&5 $as_echo_n "checking whether posix_spawn_file_actions_addclose works... " >&6; } if ${gl_cv_func_posix_spawn_file_actions_addclose_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_addclose_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_addclose (&actions, 10000000) == 0) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_posix_spawn_file_actions_addclose_works=yes else gl_cv_func_posix_spawn_file_actions_addclose_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_posix_spawn_file_actions_addclose_works" >&5 $as_echo "$gl_cv_func_posix_spawn_file_actions_addclose_works" >&6; } case "$gl_cv_func_posix_spawn_file_actions_addclose_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=1 ;; esac fi if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = 1; then gl_LIBOBJS="$gl_LIBOBJS spawn_faction_addclose.$ac_objext" fi GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE 1" >>confdefs.h if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawn_file_actions_adddup2 works" >&5 $as_echo_n "checking whether posix_spawn_file_actions_adddup2 works... " >&6; } if ${gl_cv_func_posix_spawn_file_actions_adddup2_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_adddup2_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_adddup2_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_adddup2 (&actions, 10000000, 2) == 0) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_posix_spawn_file_actions_adddup2_works=yes else gl_cv_func_posix_spawn_file_actions_adddup2_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_posix_spawn_file_actions_adddup2_works" >&5 $as_echo "$gl_cv_func_posix_spawn_file_actions_adddup2_works" >&6; } case "$gl_cv_func_posix_spawn_file_actions_adddup2_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=1 ;; esac fi if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = 1; then gl_LIBOBJS="$gl_LIBOBJS spawn_faction_adddup2.$ac_objext" fi GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 1" >>confdefs.h if test $REPLACE_POSIX_SPAWN = 1; then REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_spawn_file_actions_addopen works" >&5 $as_echo_n "checking whether posix_spawn_file_actions_addopen works... " >&6; } if ${gl_cv_func_posix_spawn_file_actions_addopen_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess no on Solaris, yes otherwise. case "$host_os" in solaris*) gl_cv_func_posix_spawn_file_actions_addopen_works="guessing no";; *) gl_cv_func_posix_spawn_file_actions_addopen_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> #include <fcntl.h> int main () { posix_spawn_file_actions_t actions; if (posix_spawn_file_actions_init (&actions) != 0) return 1; if (posix_spawn_file_actions_addopen (&actions, 10000000, "foo", 0, O_RDONLY) == 0) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_posix_spawn_file_actions_addopen_works=yes else gl_cv_func_posix_spawn_file_actions_addopen_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_posix_spawn_file_actions_addopen_works" >&5 $as_echo "$gl_cv_func_posix_spawn_file_actions_addopen_works" >&6; } case "$gl_cv_func_posix_spawn_file_actions_addopen_works" in *yes) ;; *) REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=1 ;; esac fi if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawn_faction_addopen.$ac_objext" fi GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawn_faction_destroy.$ac_objext" fi GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_DESTROY 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawn_faction_init.$ac_objext" fi GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_INIT 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawnattr_destroy.$ac_objext" fi GNULIB_POSIX_SPAWNATTR_DESTROY=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWNATTR_DESTROY 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawnattr_init.$ac_objext" fi GNULIB_POSIX_SPAWNATTR_INIT=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWNATTR_INIT 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawnattr_setflags.$ac_objext" fi GNULIB_POSIX_SPAWNATTR_SETFLAGS=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWNATTR_SETFLAGS 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawnattr_setsigmask.$ac_objext" fi GNULIB_POSIX_SPAWNATTR_SETSIGMASK=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWNATTR_SETSIGMASK 1" >>confdefs.h if test $HAVE_POSIX_SPAWN = 0 || test $REPLACE_POSIX_SPAWN = 1; then gl_LIBOBJS="$gl_LIBOBJS spawnp.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS spawni.$ac_objext" for ac_header in paths.h do : ac_fn_c_check_header_mongrel "$LINENO" "paths.h" "ac_cv_header_paths_h" "$ac_includes_default" if test "x$ac_cv_header_paths_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PATHS_H 1 _ACEOF fi done for ac_func in confstr sched_setparam sched_setscheduler setegid seteuid vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi GNULIB_POSIX_SPAWNP=1 $as_echo "#define GNULIB_TEST_POSIX_SPAWNP 1" >>confdefs.h : if test $gl_cv_func_frexp_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp works" >&5 $as_echo_n "checking whether frexp works... " >&6; } if ${gl_cv_func_frexp_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <math.h> #include <string.h> #if HAVE_ALARM # include <unistd.h> #endif /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zero (void) { return -DBL_MIN * DBL_MIN; } # define minus_zero compute_minus_zero () #else double minus_zero = -0.0; #endif int main() { int result = 0; int i; volatile double x; double zero = 0.0; #if HAVE_ALARM /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite number. Let the test fail in this case. */ alarm (5); #endif /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) result |= 1; } /* Test on infinite numbers. */ x = 1.0 / zero; { int exp; double y = frexp (x, &exp); if (y != x) result |= 2; } /* Test on negative zero. */ x = minus_zero; { int exp; double y = frexp (x, &exp); if (memcmp (&y, &x, sizeof x)) result |= 4; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_frexp_works=yes else gl_cv_func_frexp_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5 $as_echo "$gl_cv_func_frexp_works" >&6; } case "$gl_cv_func_frexp_works" in *yes) $as_echo "#define HAVE_FREXP_IN_LIBC 1" >>confdefs.h ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexp can be used without linking with libm" >&5 $as_echo_n "checking whether ldexp can be used without linking with libm... " >&6; } if ${gl_cv_func_ldexp_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> double x; int y; int main () { return ldexp (x, y) < 1; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_ldexp_no_libm=yes else gl_cv_func_ldexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexp_no_libm" >&5 $as_echo "$gl_cv_func_ldexp_no_libm" >&6; } if test $gl_cv_func_ldexp_no_libm = yes; then $as_echo "#define HAVE_LDEXP_IN_LIBC 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used without linking with libm" >&5 $as_echo_n "checking whether frexpl() can be used without linking with libm... " >&6; } if ${gl_cv_func_frexpl_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> long double x; int main () { int e; return frexpl (x, &e) > 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_frexpl_no_libm=yes else gl_cv_func_frexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5 $as_echo "$gl_cv_func_frexpl_no_libm" >&6; } if test $gl_cv_func_frexpl_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl works" >&5 $as_echo_n "checking whether frexpl works... " >&6; } if ${gl_cv_func_frexpl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <math.h> /* Override the values of <float.h>, like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if defined __i386__ && defined __FreeBSD__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP #endif #if defined __sgi && (LDBL_MANT_DIG >= 106) # if defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP # endif #endif extern #ifdef __cplusplus "C" #endif long double frexpl (long double, int *); int main() { int result = 0; volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) result |= 1; } /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) result |= 2; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS <float.h> has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) { result |= 4; break; } } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On Mac OS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) result |= 8; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) result |= 16; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_frexpl_works=yes else gl_cv_func_frexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5 $as_echo "$gl_cv_func_frexpl_works" >&6; } case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then $as_echo "#define HAVE_FREXPL_IN_LIBC 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "frexpl" "ac_cv_have_decl_frexpl" "#include <math.h> " if test "x$ac_cv_have_decl_frexpl" = xyes; then : else HAVE_DECL_FREXPL=0 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexpl() can be used without linking with libm" >&5 $as_echo_n "checking whether ldexpl() can be used without linking with libm... " >&6; } if ${gl_cv_func_ldexpl_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> long double x; int main () { return ldexpl (x, -1) > 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_ldexpl_no_libm=yes else gl_cv_func_ldexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_no_libm" >&5 $as_echo "$gl_cv_func_ldexpl_no_libm" >&6; } if test $gl_cv_func_ldexpl_no_libm = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexpl works" >&5 $as_echo_n "checking whether ldexpl works... " >&6; } if ${gl_cv_func_ldexpl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no";; *) gl_cv_func_ldexpl_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> extern #ifdef __cplusplus "C" #endif long double ldexpl (long double, int); int main() { int result = 0; { volatile long double x = 1.0; volatile long double y = ldexpl (x, -1); if (y != 0.5L) result |= 1; } { volatile long double x = 1.73205L; volatile long double y = ldexpl (x, 0); if (y != x) result |= 2; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_ldexpl_works=yes else gl_cv_func_ldexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_works" >&5 $as_echo "$gl_cv_func_ldexpl_works" >&6; } case "$gl_cv_func_ldexpl_works" in *yes) $as_echo "#define HAVE_LDEXPL_IN_LIBC 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "ldexpl" "ac_cv_have_decl_ldexpl" "#include <math.h> " if test "x$ac_cv_have_decl_ldexpl" = xyes; then : else HAVE_DECL_LDEXPL=0 fi ;; esac fi for ac_func in getppriv do : ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv" if test "x$ac_cv_func_getppriv" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPPRIV 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h> " if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h> " if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl _ACEOF XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"'" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'" if test $gl_cv_have_include_next = yes; then gl_cv_next_pthread_h='<'pthread.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <pthread.h>" >&5 $as_echo_n "checking absolute name of <pthread.h>... " >&6; } if ${gl_cv_next_pthread_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_pthread_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'pthread.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_pthread_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_pthread_h='<'pthread.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_pthread_h" >&5 $as_echo "$gl_cv_next_pthread_h" >&6; } fi NEXT_PTHREAD_H=$gl_cv_next_pthread_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'pthread.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_pthread_h fi NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H=$gl_next_as_first_directive if test $ac_cv_header_pthread_h = yes; then HAVE_PTHREAD_H=1 else HAVE_PTHREAD_H=0 fi ac_fn_c_check_type "$LINENO" "pthread_t" "ac_cv_type_pthread_t" "$ac_includes_default #if HAVE_PTHREAD_H #include <pthread.h> #endif " if test "x$ac_cv_type_pthread_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTHREAD_T 1 _ACEOF fi ac_fn_c_check_type "$LINENO" "pthread_spinlock_t" "ac_cv_type_pthread_spinlock_t" "$ac_includes_default #if HAVE_PTHREAD_H #include <pthread.h> #endif " if test "x$ac_cv_type_pthread_spinlock_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTHREAD_SPINLOCK_T 1 _ACEOF fi if test $ac_cv_type_pthread_t != yes; then HAVE_PTHREAD_T=0 fi if test $ac_cv_type_pthread_spinlock_t != yes; then HAVE_PTHREAD_SPINLOCK_T=0 fi if test $ac_cv_header_pthread_h != yes || test $ac_cv_type_pthread_t != yes || test $ac_cv_type_pthread_spinlock_t != yes; then PTHREAD_H='pthread.h' gl_LIBOBJS="$gl_LIBOBJS pthread.$ac_objext" else PTHREAD_H= fi if test -n "$PTHREAD_H"; then GL_GENERATE_PTHREAD_H_TRUE= GL_GENERATE_PTHREAD_H_FALSE='#' else GL_GENERATE_PTHREAD_H_TRUE='#' GL_GENERATE_PTHREAD_H_FALSE= fi LIB_PTHREAD= if test $ac_cv_header_pthread_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pthread_create and pthread_join" >&5 $as_echo_n "checking for library containing pthread_create and pthread_join... " >&6; } if ${gl_cv_lib_pthread+:} false; then : $as_echo_n "(cached) " >&6 else gl_saved_libs=$LIBS gl_cv_lib_pthread= for gl_lib_prefix in '' '-lpthread'; do LIBS="$gl_lib_prefix $gl_saved_libs" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> void *noop (void *p) { return p; } int main () { pthread_t pt; void *arg = 0; pthread_create (&pt, 0, noop, arg); pthread_join (pthread_self (), &arg); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if test -z "$gl_lib_prefix"; then gl_cv_lib_pthread="none required" else gl_cv_lib_pthread=$gl_lib_prefix fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext test -n "$gl_cv_lib_pthread" && break done LIBS="$gl_saved_libs" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_pthread" >&5 $as_echo "$gl_cv_lib_pthread" >&6; } if test "$gl_cv_lib_pthread" != "none required"; then LIB_PTHREAD="$gl_cv_lib_pthread" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5 $as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; } if ${gl_cv_func_svid_putenv+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_svid_putenv="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 2; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 3; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_svid_putenv=yes else gl_cv_func_svid_putenv=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5 $as_echo "$gl_cv_func_svid_putenv" >&6; } case "$gl_cv_func_svid_putenv" in *yes) ;; *) REPLACE_PUTENV=1 ;; esac if test $REPLACE_PUTENV = 1; then gl_LIBOBJS="$gl_LIBOBJS putenv.$ac_objext" fi GNULIB_PUTENV=1 $as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h : : for ac_func in raise do : ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise" if test "x$ac_cv_func_raise" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RAISE 1 _ACEOF fi done if test $ac_cv_func_raise = no; then HAVE_RAISE=0 else if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_RAISE=1 fi if test $gl_cv_type_sigset_t = yes; then ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" if test "x$ac_cv_func_sigprocmask" = xyes; then : gl_cv_func_sigprocmask=1 fi fi if test -z "$gl_cv_func_sigprocmask"; then HAVE_POSIX_SIGNALBLOCKING=0 fi if test $HAVE_POSIX_SIGNALBLOCKING = 0; then : fi fi if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then gl_LIBOBJS="$gl_LIBOBJS raise.$ac_objext" : fi GNULIB_RAISE=1 $as_echo "#define GNULIB_TEST_RAISE 1" >>confdefs.h for ac_func in rawmemchr do : ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" if test "x$ac_cv_func_rawmemchr" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RAWMEMCHR 1 _ACEOF fi done if test $ac_cv_func_rawmemchr = no; then HAVE_RAWMEMCHR=0 fi if test $HAVE_RAWMEMCHR = 0; then gl_LIBOBJS="$gl_LIBOBJS rawmemchr.$ac_objext" : fi GNULIB_RAWMEMCHR=1 $as_echo "#define GNULIB_TEST_RAWMEMCHR 1" >>confdefs.h if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_READ=1 fi if test $REPLACE_READ = 1; then gl_LIBOBJS="$gl_LIBOBJS read.$ac_objext" : fi GNULIB_READ=1 $as_echo "#define GNULIB_TEST_READ 1" >>confdefs.h : for ac_func in readdir do : ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir" if test "x$ac_cv_func_readdir" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_READDIR 1 _ACEOF fi done if test $ac_cv_func_readdir = no; then HAVE_READDIR=0 fi if test $HAVE_READDIR = 0; then gl_LIBOBJS="$gl_LIBOBJS readdir.$ac_objext" fi GNULIB_READDIR=1 $as_echo "#define GNULIB_TEST_READDIR 1" >>confdefs.h if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 $as_echo_n "checking whether readlink signature is correct... " >&6; } if ${gl_cv_decl_readlink_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> /* Cause compilation failure if original declaration has wrong type. */ ssize_t readlink (const char *, char *, size_t); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_readlink_works=yes else gl_cv_decl_readlink_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 $as_echo "$gl_cv_decl_readlink_works" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 $as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } if ${gl_cv_func_readlink_works+:} false; then : $as_echo_n "(cached) " >&6 else # We have readlink, so assume ln -s works. ln -s conftest.no-such conftest.link ln -s conftest.link conftest.lnk2 if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_readlink_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> int main () { char buf[20]; return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_readlink_works=yes else gl_cv_func_readlink_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.link conftest.lnk2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 $as_echo "$gl_cv_func_readlink_works" >&6; } case "$gl_cv_func_readlink_works" in *yes) if test "$gl_cv_decl_readlink_works" != yes; then REPLACE_READLINK=1 fi ;; *) $as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h REPLACE_READLINK=1 ;; esac fi if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" : fi GNULIB_READLINK=1 $as_echo "#define GNULIB_TEST_READLINK 1" >>confdefs.h if test $ac_cv_func_readlinkat = no; then HAVE_READLINKAT=0 fi if test $HAVE_READLINKAT = 0; then gl_LIBOBJS="$gl_LIBOBJS readlinkat.$ac_objext" fi GNULIB_READLINKAT=1 $as_echo "#define GNULIB_TEST_READLINKAT 1" >>confdefs.h : if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then ac_fn_c_check_decl "$LINENO" "getutent" "ac_cv_have_decl_getutent" " /* <sys/types.h> is a prerequisite of <utmp.h> on FreeBSD 8.0, OpenBSD 4.6. */ #include <sys/types.h> #ifdef HAVE_UTMP_H # include <utmp.h> #endif " if test "x$ac_cv_have_decl_getutent" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUTENT $ac_have_decl _ACEOF utmp_includes="\ $ac_includes_default #ifdef HAVE_UTMPX_H # include <utmpx.h> #endif #ifdef HAVE_UTMP_H # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include <utmp.h> #endif " ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_user" "ac_cv_member_struct_utmpx_ut_user" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_user" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_USER 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_user" "ac_cv_member_struct_utmp_ut_user" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_user" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_USER 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_name" "ac_cv_member_struct_utmpx_ut_name" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_name" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_NAME 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_name" "ac_cv_member_struct_utmp_ut_name" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_name" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_NAME 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_type" "ac_cv_member_struct_utmpx_ut_type" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_type" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_TYPE 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_type" "ac_cv_member_struct_utmp_ut_type" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_type" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_TYPE 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_pid" "ac_cv_member_struct_utmpx_ut_pid" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_pid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_PID 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_pid" "ac_cv_member_struct_utmp_ut_pid" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_pid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_PID 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_id" "ac_cv_member_struct_utmpx_ut_id" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_id" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_ID 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_id" "ac_cv_member_struct_utmp_ut_id" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_id" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_ID 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_exit" "ac_cv_member_struct_utmpx_ut_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_exit" "ac_cv_member_struct_utmp_ut_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_exit.ut_exit" "ac_cv_member_struct_utmpx_ut_exit_ut_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_exit_ut_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_exit.ut_exit" "ac_cv_member_struct_utmp_ut_exit_ut_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_exit_ut_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_exit.e_exit" "ac_cv_member_struct_utmpx_ut_exit_e_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_exit_e_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_exit.e_exit" "ac_cv_member_struct_utmp_ut_exit_e_exit" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_exit_e_exit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_exit.ut_termination" "ac_cv_member_struct_utmpx_ut_exit_ut_termination" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_exit_ut_termination" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_exit.ut_termination" "ac_cv_member_struct_utmp_ut_exit_ut_termination" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_exit_ut_termination" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_exit.e_termination" "ac_cv_member_struct_utmpx_ut_exit_e_termination" "$utmp_includes " if test "x$ac_cv_member_struct_utmpx_ut_exit_e_termination" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct utmp" "ut_exit.e_termination" "ac_cv_member_struct_utmp_ut_exit_e_termination" "$utmp_includes " if test "x$ac_cv_member_struct_utmp_ut_exit_e_termination" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION 1 _ACEOF fi fi if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then gl_LIBOBJS="$gl_LIBOBJS readutmp.$ac_objext" fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 $as_echo_n "checking for GNU libc compatible realloc... " >&6; } if ${ac_cv_func_realloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on platforms where we know the result. *-gnu* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) ac_cv_func_realloc_0_nonnull=yes ;; # If we don't know, assume the worst. *) ac_cv_func_realloc_0_nonnull=no ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include <stdlib.h> #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 $as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then : $as_echo "#define HAVE_REALLOC_GNU 1" >>confdefs.h else $as_echo "#define HAVE_REALLOC_GNU 0" >>confdefs.h REPLACE_REALLOC=1 fi if test $REPLACE_REALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_REALLOC_GNU 1 _ACEOF if test $gl_cv_func_malloc_posix = yes; then $as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h else REPLACE_REALLOC=1 fi if test $REPLACE_REALLOC = 1; then gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" fi GNULIB_REALLOC_POSIX=1 $as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h # Check whether --with-included-regex was given. if test "${with_included_regex+set}" = set; then : withval=$with_included_regex; fi case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5 $as_echo_n "checking for working re_compile_pattern... " >&6; } if ${gl_cv_func_re_compile_pattern_working+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_re_compile_pattern_working=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <regex.h> #include <locale.h> #include <limits.h> #include <string.h> #if HAVE_ALARM # include <unistd.h> # include <signal.h> #endif int main () { int result = 0; static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_ALARM /* Some builds of glibc go into an infinite loop on this test. */ signal (SIGALRM, SIG_DFL); alarm (2); #endif if (setlocale (LC_ALL, "en_US.UTF-8")) { { /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) result |= 1; } { /* This test is from glibc bug 15078. The test case is from Andreas Schwab in <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>. */ static char const pat[] = "[^x]x"; static char const data[] = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80" "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax"; re_set_syntax (0); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; else if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, 0) != 21) result |= 1; } if (! setlocale (LC_ALL, "C")) return 1; } /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) result |= 2; /* This should fail, but succeeds for glibc-2.5. */ else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) result |= 2; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) result |= 4; /* Ensure that [b-a] is diagnosed as invalid, when using RE_NO_EMPTY_RANGES. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[b-a]", 6, ®ex); if (s == 0) result |= 8; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) result |= 8; /* The following example is derived from a problem report against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) result |= 8; /* This should match, but does not for glibc-2.2.1. */ else if (re_match (®ex, "an", 2, 0, ®s) != 2) result |= 8; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 8; /* glibc-2.2.93 does not work with a negative RANGE argument. */ else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) result |= 8; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) result |= 16; else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) result |= 16; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) result |= 32; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) result |= 64; #if 0 /* It would be nice to reject hosts whose regoff_t values are too narrow (including glibc on hosts with 64-bit ptrdiff_t and 32-bit int), but we should wait until glibc implements this feature. Otherwise, support for equivalence classes and multibyte collation symbols would always be broken except when compiling --without-included-regex. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) result |= 64; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_re_compile_pattern_working=yes else gl_cv_func_re_compile_pattern_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5 $as_echo "$gl_cv_func_re_compile_pattern_working" >&6; } case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) as_fn_error $? "Invalid value for --with-included-regex: $with_included_regex" "$LINENO" 5 ;; esac if test $ac_use_included_regex = yes; then $as_echo "#define _REGEX_INCLUDE_LIMITS_H 1" >>confdefs.h $as_echo "#define _REGEX_LARGE_OFFSETS 1" >>confdefs.h $as_echo "#define re_syntax_options rpl_re_syntax_options" >>confdefs.h $as_echo "#define re_set_syntax rpl_re_set_syntax" >>confdefs.h $as_echo "#define re_compile_pattern rpl_re_compile_pattern" >>confdefs.h $as_echo "#define re_compile_fastmap rpl_re_compile_fastmap" >>confdefs.h $as_echo "#define re_search rpl_re_search" >>confdefs.h $as_echo "#define re_search_2 rpl_re_search_2" >>confdefs.h $as_echo "#define re_match rpl_re_match" >>confdefs.h $as_echo "#define re_match_2 rpl_re_match_2" >>confdefs.h $as_echo "#define re_set_registers rpl_re_set_registers" >>confdefs.h $as_echo "#define re_comp rpl_re_comp" >>confdefs.h $as_echo "#define re_exec rpl_re_exec" >>confdefs.h $as_echo "#define regcomp rpl_regcomp" >>confdefs.h $as_echo "#define regexec rpl_regexec" >>confdefs.h $as_echo "#define regerror rpl_regerror" >>confdefs.h $as_echo "#define regfree rpl_regfree" >>confdefs.h fi if test $ac_use_included_regex = yes; then gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" for ac_header in libintl.h do : ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBINTL_H 1 _ACEOF fi done ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h> " if test "x$ac_cv_have_decl_isblank" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK $ac_have_decl _ACEOF fi if { case "$gl_cv_func_rmdir_works:$gl_cv_func_unlink_honors_slashes" in *yes:*yes) false;; *) true;; esac }; then REPLACE_REMOVE=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether remove handles directories" >&5 $as_echo_n "checking whether remove handles directories... " >&6; } if ${gl_cv_func_remove_dir_works+:} false; then : $as_echo_n "(cached) " >&6 else mkdir conftest.dir if test "$cross_compiling" = yes; then : case $host_os in mingw*) gl_cv_func_remove_dir_works="guessing no";; *) gl_cv_func_remove_dir_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { return remove ("conftest.dir"); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_remove_dir_works=yes else gl_cv_func_remove_dir_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_remove_dir_works" >&5 $as_echo "$gl_cv_func_remove_dir_works" >&6; } case $gl_cv_func_remove_dir_works in *no*) REPLACE_REMOVE=1;; esac fi if test $REPLACE_REMOVE = 1; then gl_LIBOBJS="$gl_LIBOBJS remove.$ac_objext" fi GNULIB_REMOVE=1 $as_echo "#define GNULIB_TEST_REMOVE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on destination" >&5 $as_echo_n "checking whether rename honors trailing slash on destination... " >&6; } if ${gl_cv_func_rename_slash_dst_works+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.f conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_slash_dst_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> int main () { int result = 0; if (rename ("conftest.f1", "conftest.f2/") == 0) result |= 1; if (rename ("conftest.d1", "conftest.d2/") != 0) result |= 2; #if HAVE_LSTAT if (rename ("conftest.f", "conftest.lnk/") == 0) result |= 4; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rename_slash_dst_works=yes else gl_cv_func_rename_slash_dst_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_dst_works" >&5 $as_echo "$gl_cv_func_rename_slash_dst_works" >&6; } case "$gl_cv_func_rename_slash_dst_works" in *yes) ;; *) REPLACE_RENAME=1 $as_echo "#define RENAME_TRAILING_SLASH_DEST_BUG 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename honors trailing slash on source" >&5 $as_echo_n "checking whether rename honors trailing slash on source... " >&6; } if ${gl_cv_func_rename_slash_src_works+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk touch conftest.f && touch conftest.f1 && mkdir conftest.d1 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.f conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_slash_src_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> int main () { int result = 0; if (rename ("conftest.f1/", "conftest.d3") == 0) result |= 1; if (rename ("conftest.d1/", "conftest.d2") != 0) result |= 2; #if HAVE_LSTAT if (rename ("conftest.lnk/", "conftest.f") == 0) result |= 4; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rename_slash_src_works=yes else gl_cv_func_rename_slash_src_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_slash_src_works" >&5 $as_echo "$gl_cv_func_rename_slash_src_works" >&6; } case "$gl_cv_func_rename_slash_src_works" in *yes) ;; *) REPLACE_RENAME=1 $as_echo "#define RENAME_TRAILING_SLASH_SOURCE_BUG 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages hard links correctly" >&5 $as_echo_n "checking whether rename manages hard links correctly... " >&6; } if ${gl_cv_func_rename_link_works+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_func_link = yes; then rm -rf conftest.f conftest.f1 if touch conftest.f && ln conftest.f conftest.f1 && set x `ls -i conftest.f conftest.f1` && test "" = ""; then if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_link_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> # include <unistd.h> int main () { int result = 0; if (rename ("conftest.f", "conftest.f1")) result |= 1; if (unlink ("conftest.f1")) result |= 2; if (rename ("conftest.f", "conftest.f")) result |= 4; if (rename ("conftest.f1", "conftest.f1") == 0) result |= 8; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rename_link_works=yes else gl_cv_func_rename_link_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else gl_cv_func_rename_link_works="guessing no" fi rm -rf conftest.f conftest.f1 else gl_cv_func_rename_link_works=yes fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_link_works" >&5 $as_echo "$gl_cv_func_rename_link_works" >&6; } case "$gl_cv_func_rename_link_works" in *yes) ;; *) REPLACE_RENAME=1 $as_echo "#define RENAME_HARD_LINK_BUG 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rename manages existing destinations correctly" >&5 $as_echo_n "checking whether rename manages existing destinations correctly... " >&6; } if ${gl_cv_func_rename_dest_works+:} false; then : $as_echo_n "(cached) " >&6 else rm -rf conftest.f conftest.d1 conftest.d2 touch conftest.f && mkdir conftest.d1 conftest.d2 || as_fn_error $? "cannot create temporary files" "$LINENO" 5 if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rename_dest_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # include <stdio.h> # include <stdlib.h> int main () { int result = 0; if (rename ("conftest.d1", "conftest.d2") != 0) result |= 1; if (rename ("conftest.d2", "conftest.f") == 0) result |= 2; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rename_dest_works=yes else gl_cv_func_rename_dest_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.f conftest.d1 conftest.d2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rename_dest_works" >&5 $as_echo "$gl_cv_func_rename_dest_works" >&6; } case "$gl_cv_func_rename_dest_works" in *yes) ;; *) REPLACE_RENAME=1 $as_echo "#define RENAME_DEST_EXISTS_BUG 1" >>confdefs.h ;; esac if test $REPLACE_RENAME = 1; then gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" fi GNULIB_RENAME=1 $as_echo "#define GNULIB_TEST_RENAME 1" >>confdefs.h for ac_func in rewinddir do : ac_fn_c_check_func "$LINENO" "rewinddir" "ac_cv_func_rewinddir" if test "x$ac_cv_func_rewinddir" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_REWINDDIR 1 _ACEOF fi done if test $ac_cv_func_rewinddir = no; then HAVE_REWINDDIR=0 fi if test $HAVE_REWINDDIR = 0; then gl_LIBOBJS="$gl_LIBOBJS rewinddir.$ac_objext" fi GNULIB_REWINDDIR=1 $as_echo "#define GNULIB_TEST_REWINDDIR 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5 $as_echo_n "checking whether rmdir works... " >&6; } if ${gl_cv_func_rmdir_works+:} false; then : $as_echo_n "(cached) " >&6 else mkdir conftest.dir touch conftest.file if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_rmdir_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <errno.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <direct.h> #endif int main () { int result = 0; if (!rmdir ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; if (!rmdir ("conftest.dir/./")) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rmdir_works=yes else gl_cv_func_rmdir_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_rmdir_works" >&5 $as_echo "$gl_cv_func_rmdir_works" >&6; } case "$gl_cv_func_rmdir_works" in *yes) ;; *) REPLACE_RMDIR=1 ;; esac if test $REPLACE_RMDIR = 1; then gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext" fi GNULIB_RMDIR=1 $as_echo "#define GNULIB_TEST_RMDIR 1" >>confdefs.h for ac_func in rpmatch do : ac_fn_c_check_func "$LINENO" "rpmatch" "ac_cv_func_rpmatch" if test "x$ac_cv_func_rpmatch" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_RPMATCH 1 _ACEOF fi done if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 fi if test $HAVE_RPMATCH = 0; then gl_LIBOBJS="$gl_LIBOBJS rpmatch.$ac_objext" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and YESEXPR" >&5 $as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; } if ${gl_cv_langinfo_yesexpr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <langinfo.h> int main () { char* cs = nl_langinfo(YESEXPR); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_langinfo_yesexpr=yes else gl_cv_langinfo_yesexpr=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_langinfo_yesexpr" >&5 $as_echo "$gl_cv_langinfo_yesexpr" >&6; } if test $gl_cv_langinfo_yesexpr = yes; then $as_echo "#define HAVE_LANGINFO_YESEXPR 1" >>confdefs.h fi fi GNULIB_RPMATCH=1 $as_echo "#define GNULIB_TEST_RPMATCH 1" >>confdefs.h : : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sched.h> struct sched_param a; int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER }; pid_t t1; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : SCHED_H='' else SCHED_H='sched.h' if test $gl_cv_have_include_next = yes; then gl_cv_next_sched_h='<'sched.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sched.h>" >&5 $as_echo_n "checking absolute name of <sched.h>... " >&6; } if ${gl_cv_next_sched_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sched_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sched.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sched.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sched_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sched_h='<'sched.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sched_h" >&5 $as_echo "$gl_cv_next_sched_h" >&6; } fi NEXT_SCHED_H=$gl_cv_next_sched_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sched.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sched_h fi NEXT_AS_FIRST_DIRECTIVE_SCHED_H=$gl_next_as_first_directive if test $ac_cv_header_sched_h = yes; then HAVE_SCHED_H=1 else HAVE_SCHED_H=0 fi ac_fn_c_check_type "$LINENO" "struct sched_param" "ac_cv_type_struct_sched_param" "#include <sched.h> " if test "x$ac_cv_type_struct_sched_param" = xyes; then : HAVE_STRUCT_SCHED_PARAM=1 else HAVE_STRUCT_SCHED_PARAM=0 fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test -n "$SCHED_H"; then GL_GENERATE_SCHED_H_TRUE= GL_GENERATE_SCHED_H_FALSE='#' else GL_GENERATE_SCHED_H_TRUE='#' GL_GENERATE_SCHED_H_FALSE= fi if test "$ac_cv_header_winsock2_h" = yes; then REPLACE_SELECT=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 $as_echo_n "checking whether select supports a 0 argument... " >&6; } if ${gl_cv_func_select_supports0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on Interix. interix*) gl_cv_func_select_supports0="guessing no";; # Guess yes otherwise. *) gl_cv_func_select_supports0="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/time.h> #if HAVE_SYS_SELECT_H #include <sys/select.h> #endif int main () { struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_select_supports0=yes else gl_cv_func_select_supports0=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 $as_echo "$gl_cv_func_select_supports0" >&6; } case "$gl_cv_func_select_supports0" in *yes) ;; *) REPLACE_SELECT=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5 $as_echo_n "checking whether select detects invalid fds... " >&6; } if ${gl_cv_func_select_detects_ebadf+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_select_detects_ebadf="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/time.h> #if HAVE_SYS_SELECT_H # include <sys/select.h> #endif #include <unistd.h> #include <errno.h> int main () { fd_set set; dup2(0, 16); FD_ZERO(&set); FD_SET(16, &set); close(16); struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 5; return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_select_detects_ebadf=yes else gl_cv_func_select_detects_ebadf=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5 $as_echo "$gl_cv_func_select_detects_ebadf" >&6; } case $gl_cv_func_select_detects_ebadf in *yes) ;; *) REPLACE_SELECT=1 ;; esac fi LIB_SELECT="$LIBSOCKET" if test $REPLACE_SELECT = 1; then case "$host_os" in mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> int main () { MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else LIB_SELECT="$LIB_SELECT -luser32" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ;; esac fi if test $REPLACE_SELECT = 1; then gl_LIBOBJS="$gl_LIBOBJS select.$ac_objext" fi GNULIB_SELECT=1 $as_echo "#define GNULIB_TEST_SELECT 1" >>confdefs.h for ac_header in selinux/flask.h do : ac_fn_c_check_header_mongrel "$LINENO" "selinux/flask.h" "ac_cv_header_selinux_flask_h" "$ac_includes_default" if test "x$ac_cv_header_selinux_flask_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SELINUX_FLASK_H 1 _ACEOF fi done gl_LIBOBJS="$gl_LIBOBJS selinux-at.$ac_objext" if test "$with_selinux" != no; then for ac_header in selinux/selinux.h do : ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default" if test "x$ac_cv_header_selinux_selinux_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SELINUX_SELINUX_H 1 _ACEOF fi done if test "$ac_cv_header_selinux_selinux_h" = yes; then # We do have <selinux/selinux.h>, so do compile getfilecon.c # and arrange to use its wrappers. if test $gl_cv_have_include_next = yes; then gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <selinux/selinux.h>" >&5 $as_echo_n "checking absolute name of <selinux/selinux.h>... " >&6; } if ${gl_cv_next_selinux_selinux_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_selinux_selinux_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <selinux/selinux.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'selinux/selinux.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_selinux_selinux_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_selinux_selinux_h" >&5 $as_echo "$gl_cv_next_selinux_selinux_h" >&6; } fi NEXT_SELINUX_SELINUX_H=$gl_cv_next_selinux_selinux_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'selinux/selinux.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_selinux_selinux_h fi NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H=$gl_next_as_first_directive $as_echo "#define getfilecon rpl_getfilecon" >>confdefs.h $as_echo "#define lgetfilecon rpl_lgetfilecon" >>confdefs.h $as_echo "#define fgetfilecon rpl_fgetfilecon" >>confdefs.h fi case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in no:*) # already warned ;; *:no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libselinux was found but selinux/selinux.h is missing." >&5 $as_echo "$as_me: WARNING: libselinux was found but selinux/selinux.h is missing." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be compiled without SELinux support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be compiled without SELinux support." >&2;} esac else # Do as if <selinux/selinux.h> does not exist, even if # AC_CHECK_HEADERS_ONCE has already determined that it exists. $as_echo "#define HAVE_SELINUX_SELINUX_H 0" >>confdefs.h fi if test "$with_selinux" != no; then for ac_header in selinux/context.h do : ac_fn_c_check_header_mongrel "$LINENO" "selinux/context.h" "ac_cv_header_selinux_context_h" "$ac_includes_default" if test "x$ac_cv_header_selinux_context_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SELINUX_CONTEXT_H 1 _ACEOF SELINUX_CONTEXT_H= else SELINUX_CONTEXT_H=selinux/context.h fi done else SELINUX_CONTEXT_H=selinux/context.h fi if test -n "$SELINUX_CONTEXT_H"; then GL_GENERATE_SELINUX_CONTEXT_H_TRUE= GL_GENERATE_SELINUX_CONTEXT_H_FALSE='#' else GL_GENERATE_SELINUX_CONTEXT_H_TRUE='#' GL_GENERATE_SELINUX_CONTEXT_H_FALSE= fi if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then gl_LIBOBJS="$gl_LIBOBJS getfilecon.$ac_objext" fi SERVENT_LIB= gl_saved_libs="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 $as_echo_n "checking for library containing getservbyname... " >&6; } if ${ac_cv_search_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getservbyname (); int main () { return getservbyname (); ; return 0; } _ACEOF for ac_lib in '' socket network net; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getservbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getservbyname+:} false; then : break fi done if ${ac_cv_search_getservbyname+:} false; then : else ac_cv_search_getservbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 $as_echo "$ac_cv_search_getservbyname" >&6; } ac_res=$ac_cv_search_getservbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" if test "$ac_cv_search_getservbyname" != "none required"; then SERVENT_LIB="$ac_cv_search_getservbyname" fi fi LIBS="$gl_saved_libs" if test -z "$SERVENT_LIB"; then for ac_func in getservbyname do : ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" if test "x$ac_cv_func_getservbyname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETSERVBYNAME 1 _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 $as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_w32_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_w32_getservbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #include <stddef.h> int main () { getservbyname(NULL,NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_w32_getservbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 $as_echo "$gl_cv_w32_getservbyname" >&6; } if test "$gl_cv_w32_getservbyname" = "yes"; then SERVENT_LIB="-lws2_32" fi fi done fi if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5 $as_echo_n "checking whether setenv validates arguments... " >&6; } if ${gl_cv_func_setenv_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_setenv_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <errno.h> #include <string.h> int main () { int result = 0; { if (setenv ("", "", 0) != -1) result |= 1; else if (errno != EINVAL) result |= 2; } { if (setenv ("a", "=", 1) != 0) result |= 4; else if (strcmp (getenv ("a"), "=") != 0) result |= 8; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_setenv_works=yes else gl_cv_func_setenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 $as_echo "$gl_cv_func_setenv_works" >&6; } case "$gl_cv_func_setenv_works" in *yes) ;; *) REPLACE_SETENV=1 ;; esac fi if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" fi GNULIB_SETENV=1 $as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h for ac_func in sig2str do : ac_fn_c_check_func "$LINENO" "sig2str" "ac_cv_func_sig2str" if test "x$ac_cv_func_sig2str" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIG2STR 1 _ACEOF fi done if test $ac_cv_func_sig2str = no; then gl_LIBOBJS="$gl_LIBOBJS sig2str.$ac_objext" : fi if test $ac_cv_func_sigaction = yes; then ac_fn_c_check_member "$LINENO" "struct sigaction" "sa_sigaction" "ac_cv_member_struct_sigaction_sa_sigaction" "#include <signal.h> " if test "x$ac_cv_member_struct_sigaction_sa_sigaction" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1 _ACEOF fi if test $ac_cv_member_struct_sigaction_sa_sigaction = no; then HAVE_STRUCT_SIGACTION_SA_SIGACTION=0 fi else HAVE_SIGACTION=0 fi if test $HAVE_SIGACTION = 0; then gl_LIBOBJS="$gl_LIBOBJS sigaction.$ac_objext" ac_fn_c_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" " #include <signal.h> " if test "x$ac_cv_type_siginfo_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIGINFO_T 1 _ACEOF fi if test $ac_cv_type_siginfo_t = no; then HAVE_SIGINFO_T=0 fi fi GNULIB_SIGACTION=1 $as_echo "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_signal_h='<'signal.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <signal.h>" >&5 $as_echo_n "checking absolute name of <signal.h>... " >&6; } if ${gl_cv_next_signal_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <signal.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'signal.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 $as_echo "$gl_cv_next_signal_h" >&6; } fi NEXT_SIGNAL_H=$gl_cv_next_signal_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'signal.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_signal_h fi NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive # AIX declares sig_atomic_t to already include volatile, and C89 compilers # then choke on 'volatile sig_atomic_t'. C99 requires that it compile. ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " #include <signal.h> " if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then : else HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 fi ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " #include <signal.h> " if test "x$ac_cv_type_sighandler_t" = xyes; then : else HAVE_SIGHANDLER_T=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit macro" >&5 $as_echo_n "checking for signbit macro... " >&6; } if ${gl_cv_func_signbit+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_signbit="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_signbit="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> /* If signbit is defined as a function, don't use it, since calling it for 'float' or 'long double' arguments would involve conversions. If signbit is not declared at all but exists as a library function, don't use it, since the prototype may not match. If signbit is not declared at all but exists as a compiler built-in, don't use it, since it's preferable to use __builtin_signbit* (no warnings, no conversions). */ #ifndef signbit # error "signbit should be a macro" #endif #include <string.h> /* Global variables. Needed because GCC 4 constant-folds __builtin_signbitl (literal) but cannot constant-fold __builtin_signbitl (variable). */ float vf; double vd; long double vl; int main () { /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. So we use -p0f and -p0d instead. */ float p0f = 0.0f; float m0f = -p0f; double p0d = 0.0; double m0d = -p0d; /* On HP-UX 10.20, negating 0.0L does not yield -0.0L. So we use another constant expression instead. But that expression does not work on other platforms, such as when cross-compiling to PowerPC on Mac OS X 10.5. */ long double p0l = 0.0L; #if defined __hpux || defined __sgi long double m0l = -LDBL_MIN * LDBL_MIN; #else long double m0l = -p0l; #endif int result = 0; if (signbit (vf)) /* link check */ vf++; { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 1; } if (signbit (vd)) /* link check */ vd++; { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 2; } if (signbit (vl)) /* link check */ vl++; { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (signbit (255.0L)) result |= 4; if (!signbit (-255.0L)) result |= 4; if (signbit (p0l)) result |= 8; if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l))) result |= 16; if (signbit (plus_inf)) result |= 32; if (!signbit (minus_inf)) result |= 64; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_signbit=yes else gl_cv_func_signbit=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit" >&5 $as_echo "$gl_cv_func_signbit" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit compiler built-ins" >&5 $as_echo_n "checking for signbit compiler built-ins... " >&6; } if ${gl_cv_func_signbit_gcc+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_signbit_gcc="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if __GNUC__ >= 4 # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) #else # error "signbit should be three compiler built-ins" #endif #include <string.h> /* Global variables. Needed because GCC 4 constant-folds __builtin_signbitl (literal) but cannot constant-fold __builtin_signbitl (variable). */ float vf; double vd; long double vl; int main () { /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. So we use -p0f and -p0d instead. */ float p0f = 0.0f; float m0f = -p0f; double p0d = 0.0; double m0d = -p0d; /* On HP-UX 10.20, negating 0.0L does not yield -0.0L. So we use another constant expression instead. But that expression does not work on other platforms, such as when cross-compiling to PowerPC on Mac OS X 10.5. */ long double p0l = 0.0L; #if defined __hpux || defined __sgi long double m0l = -LDBL_MIN * LDBL_MIN; #else long double m0l = -p0l; #endif int result = 0; if (signbit (vf)) /* link check */ vf++; { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 1; } if (signbit (vd)) /* link check */ vd++; { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) result |= 2; } if (signbit (vl)) /* link check */ vl++; { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (signbit (255.0L)) result |= 4; if (!signbit (-255.0L)) result |= 4; if (signbit (p0l)) result |= 8; if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l))) result |= 16; if (signbit (plus_inf)) result |= 32; if (!signbit (minus_inf)) result |= 64; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_signbit_gcc=yes else gl_cv_func_signbit_gcc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit_gcc" >&5 $as_echo "$gl_cv_func_signbit_gcc" >&6; } case "$gl_cv_func_signbit_gcc" in *yes) REPLACE_SIGNBIT_USING_GCC=1 ;; *) case "$gl_cv_func_signbit" in *yes) ;; *) REPLACE_SIGNBIT=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'float'" >&5 $as_echo_n "checking where to find the sign bit in a 'float'... " >&6; } if ${gl_cv_cc_float_signbit+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_float_signbit="unknown" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdio.h> #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0f }; static memory_float minus = { -1.0f }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 2; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 3; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 4; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); if (fclose (fp) != 0) return 5; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_float_signbit=`cat conftest.out` else gl_cv_cc_float_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_signbit" >&5 $as_echo "$gl_cv_cc_float_signbit" >&6; } case "$gl_cv_cc_float_signbit" in word*bit*) word=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_SIGNBIT_BIT $bit _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'double'" >&5 $as_echo_n "checking where to find the sign bit in a 'double'... " >&6; } if ${gl_cv_cc_double_signbit+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_double_signbit="unknown" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdio.h> #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0 }; static memory_float minus = { -1.0 }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 2; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 3; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 4; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); if (fclose (fp) != 0) return 5; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_double_signbit=`cat conftest.out` else gl_cv_cc_double_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_signbit" >&5 $as_echo "$gl_cv_cc_double_signbit" >&6; } case "$gl_cv_cc_double_signbit" in word*bit*) word=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_SIGNBIT_BIT $bit _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'long double'" >&5 $as_echo_n "checking where to find the sign bit in a 'long double'... " >&6; } if ${gl_cv_cc_long_double_signbit+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_long_double_signbit="unknown" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <stdio.h> #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0L }; static memory_float minus = { -1.0L }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 2; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 3; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 4; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); if (fclose (fp) != 0) return 5; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_long_double_signbit=`cat conftest.out` else gl_cv_cc_long_double_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_signbit" >&5 $as_echo "$gl_cv_cc_long_double_signbit" >&6; } case "$gl_cv_cc_long_double_signbit" in word*bit*) word=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_SIGNBIT_BIT $bit _ACEOF ;; esac if test "$gl_cv_cc_float_signbit" = unknown; then ac_fn_c_check_decl "$LINENO" "copysignf" "ac_cv_have_decl_copysignf" "#include <math.h> " if test "x$ac_cv_have_decl_copysignf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNF $ac_have_decl _ACEOF if test "$ac_cv_have_decl_copysignf" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignf can be used without linking with libm" >&5 $as_echo_n "checking whether copysignf can be used without linking with libm... " >&6; } if ${gl_cv_func_copysignf_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> float x, y; int main () { return copysignf (x, y) < 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_copysignf_no_libm=yes else gl_cv_func_copysignf_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignf_no_libm" >&5 $as_echo "$gl_cv_func_copysignf_no_libm" >&6; } if test $gl_cv_func_copysignf_no_libm = yes; then $as_echo "#define HAVE_COPYSIGNF_IN_LIBC 1" >>confdefs.h fi fi fi if test "$gl_cv_cc_double_signbit" = unknown; then ac_fn_c_check_decl "$LINENO" "copysign" "ac_cv_have_decl_copysign" "#include <math.h> " if test "x$ac_cv_have_decl_copysign" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGN $ac_have_decl _ACEOF if test "$ac_cv_have_decl_copysign" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysign can be used without linking with libm" >&5 $as_echo_n "checking whether copysign can be used without linking with libm... " >&6; } if ${gl_cv_func_copysign_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> double x, y; int main () { return copysign (x, y) < 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_copysign_no_libm=yes else gl_cv_func_copysign_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysign_no_libm" >&5 $as_echo "$gl_cv_func_copysign_no_libm" >&6; } if test $gl_cv_func_copysign_no_libm = yes; then $as_echo "#define HAVE_COPYSIGN_IN_LIBC 1" >>confdefs.h fi fi fi if test "$gl_cv_cc_long_double_signbit" = unknown; then ac_fn_c_check_decl "$LINENO" "copysignl" "ac_cv_have_decl_copysignl" "#include <math.h> " if test "x$ac_cv_have_decl_copysignl" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNL $ac_have_decl _ACEOF if test "$ac_cv_have_decl_copysignl" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignl can be used without linking with libm" >&5 $as_echo_n "checking whether copysignl can be used without linking with libm... " >&6; } if ${gl_cv_func_copysignl_no_libm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> long double x, y; int main () { return copysignl (x, y) < 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_copysignl_no_libm=yes else gl_cv_func_copysignl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignl_no_libm" >&5 $as_echo "$gl_cv_func_copysignl_no_libm" >&6; } if test $gl_cv_func_copysignl_no_libm = yes; then $as_echo "#define HAVE_COPYSIGNL_IN_LIBC 1" >>confdefs.h fi fi fi ;; esac ;; esac if test $REPLACE_SIGNBIT = 1; then gl_LIBOBJS="$gl_LIBOBJS signbitf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS signbitd.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS signbitl.$ac_objext" fi GNULIB_SIGNBIT=1 $as_echo "#define GNULIB_TEST_SIGNBIT 1" >>confdefs.h if test $gl_cv_type_sigset_t = yes; then ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" if test "x$ac_cv_func_sigprocmask" = xyes; then : gl_cv_func_sigprocmask=1 fi fi if test -z "$gl_cv_func_sigprocmask"; then HAVE_POSIX_SIGNALBLOCKING=0 fi if test $HAVE_POSIX_SIGNALBLOCKING = 0; then gl_LIBOBJS="$gl_LIBOBJS sigprocmask.$ac_objext" : fi GNULIB_SIGPROCMASK=1 $as_echo "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 $as_echo_n "checking for SIZE_MAX... " >&6; } if ${gl_cv_size_max+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_size_max= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> #if HAVE_STDINT_H #include <stdint.h> #endif #ifdef SIZE_MAX Found it #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Found it" >/dev/null 2>&1; then : gl_cv_size_max=yes fi rm -f conftest* if test -z "$gl_cv_size_max"; then if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include <stddef.h> #include <limits.h>"; then : else size_t_bits_minus_1= fi if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include <stddef.h>"; then : else fits_in_uint= fi if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> extern size_t foo; extern unsigned long foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fits_in_uint=0 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else gl_cv_size_max='((size_t)~(size_t)0)' fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 $as_echo "$gl_cv_size_max" >&6; } if test "$gl_cv_size_max" != yes; then cat >>confdefs.h <<_ACEOF #define SIZE_MAX $gl_cv_size_max _ACEOF fi gl_cv_func_snprintf_usable=no for ac_func in snprintf do : ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" if test "x$ac_cv_func_snprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SNPRINTF 1 _ACEOF fi done if test $ac_cv_func_snprintf = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 $as_echo_n "checking whether snprintf respects a size of 1... " >&6; } if ${gl_cv_func_snprintf_size1+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_snprintf_size1="guessing yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #if HAVE_SNPRINTF # define my_snprintf snprintf #else # include <stdarg.h> static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } #endif int main() { static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; my_snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_snprintf_size1=yes else gl_cv_func_snprintf_size1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 $as_echo "$gl_cv_func_snprintf_size1" >&6; } case "$gl_cv_func_snprintf_size1" in *yes) case "$gl_cv_func_snprintf_retval_c99" in *yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 $as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } if ${gl_cv_func_printf_positions+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <string.h> /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_printf_positions=yes else gl_cv_func_printf_positions=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 $as_echo "$gl_cv_func_printf_positions" >&6; } case "$gl_cv_func_printf_positions" in *yes) gl_cv_func_snprintf_usable=yes ;; esac ;; esac ;; esac fi if test $gl_cv_func_snprintf_usable = no; then gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" if test $ac_cv_func_snprintf = yes; then REPLACE_SNPRINTF=1 fi : fi if test $ac_cv_have_decl_snprintf = no; then HAVE_DECL_SNPRINTF=0 fi GNULIB_SNPRINTF=1 $as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h cat >>confdefs.h <<_ACEOF #define GNULIB_SNPRINTF 1 _ACEOF if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi LIBSOCKET= if test $HAVE_WINSOCK2_H = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 $as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } if ${gl_cv_func_wsastartup+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_WINSOCK2_H # include <winsock2.h> #endif int main () { WORD wVersionRequested = MAKEWORD(1, 1); WSADATA wsaData; int err = WSAStartup(wVersionRequested, &wsaData); WSACleanup (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_func_wsastartup=yes else gl_cv_func_wsastartup=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 $as_echo "$gl_cv_func_wsastartup" >&6; } if test "$gl_cv_func_wsastartup" = "yes"; then $as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h LIBSOCKET='-lws2_32' fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 $as_echo_n "checking for library containing setsockopt... " >&6; } if ${gl_cv_lib_socket+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_lib_socket= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else gl_save_LIBS="$LIBS" LIBS="$gl_save_LIBS -lsocket" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lsocket" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnetwork" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lnetwork" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then LIBS="$gl_save_LIBS -lnet" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern #ifdef __cplusplus "C" #endif char setsockopt(); int main () { setsockopt(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_cv_lib_socket="-lnet" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi fi LIBS="$gl_save_LIBS" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$gl_cv_lib_socket"; then gl_cv_lib_socket="none needed" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 $as_echo "$gl_cv_lib_socket" >&6; } if test "$gl_cv_lib_socket" != "none needed"; then LIBSOCKET="$gl_cv_lib_socket" fi fi : ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " /* <sys/types.h> is not needed according to POSIX, but the <sys/socket.h> in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #if HAVE_SYS_SOCKET_H # include <sys/socket.h> #elif HAVE_WS2TCPIP_H # include <ws2tcpip.h> #endif " if test "x$ac_cv_type_socklen_t" = xyes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 $as_echo_n "checking for socklen_t equivalent... " >&6; } if ${gl_cv_socklen_t_equiv+:} false; then : $as_echo_n "(cached) " >&6 else # Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= for arg2 in "struct sockaddr" void; do for t in int size_t "unsigned int" "long int" "unsigned long int"; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/socket.h> int getpeername (int, $arg2 *, $t *); int main () { $t len; getpeername (0, 0, &len); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_socklen_t_equiv="$t" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$gl_cv_socklen_t_equiv" != "" && break done test "$gl_cv_socklen_t_equiv" != "" && break done fi if test "$gl_cv_socklen_t_equiv" = ""; then as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 $as_echo "$gl_cv_socklen_t_equiv" >&6; } cat >>confdefs.h <<_ACEOF #define socklen_t $gl_cv_socklen_t_equiv _ACEOF fi if test $gl_cv_have_include_next = yes; then gl_cv_next_spawn_h='<'spawn.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <spawn.h>" >&5 $as_echo_n "checking absolute name of <spawn.h>... " >&6; } if ${gl_cv_next_spawn_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_spawn_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <spawn.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'spawn.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_spawn_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_spawn_h='<'spawn.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_spawn_h" >&5 $as_echo "$gl_cv_next_spawn_h" >&6; } fi NEXT_SPAWN_H=$gl_cv_next_spawn_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'spawn.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_spawn_h fi NEXT_AS_FIRST_DIRECTIVE_SPAWN_H=$gl_next_as_first_directive if test $ac_cv_header_spawn_h = yes; then HAVE_SPAWN_H=1 ac_fn_c_check_type "$LINENO" "posix_spawnattr_t" "ac_cv_type_posix_spawnattr_t" " #include <spawn.h> " if test "x$ac_cv_type_posix_spawnattr_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_POSIX_SPAWNATTR_T 1 _ACEOF else HAVE_POSIX_SPAWNATTR_T=0 fi ac_fn_c_check_type "$LINENO" "posix_spawn_file_actions_t" "ac_cv_type_posix_spawn_file_actions_t" " #include <spawn.h> " if test "x$ac_cv_type_posix_spawn_file_actions_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_POSIX_SPAWN_FILE_ACTIONS_T 1 _ACEOF else HAVE_POSIX_SPAWN_FILE_ACTIONS_T=0 fi else HAVE_SPAWN_H=0 HAVE_POSIX_SPAWNATTR_T=0 HAVE_POSIX_SPAWN_FILE_ACTIONS_T=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 $as_echo_n "checking for ssize_t... " >&6; } if ${gt_cv_ssize_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_ssize_t=yes else gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 $as_echo "$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then $as_echo "#define ssize_t int" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5 $as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; } if ${gl_cv_func_stat_dir_slash+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case $host_os in mingw*) gl_cv_func_stat_dir_slash="guessing no";; *) gl_cv_func_stat_dir_slash="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> int main () { struct stat st; return stat (".", &st) != stat ("./", &st); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_stat_dir_slash=yes else gl_cv_func_stat_dir_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5 $as_echo "$gl_cv_func_stat_dir_slash" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5 $as_echo_n "checking whether stat handles trailing slashes on files... " >&6; } if ${gl_cv_func_stat_file_slash+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.tmp # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.tmp conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_stat_file_slash="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> int main () { int result = 0; struct stat st; if (!stat ("conftest.tmp/", &st)) result |= 1; #if HAVE_LSTAT if (!stat ("conftest.lnk/", &st)) result |= 2; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_stat_file_slash=yes else gl_cv_func_stat_file_slash=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.tmp conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5 $as_echo "$gl_cv_func_stat_file_slash" >&6; } case $gl_cv_func_stat_dir_slash in *no) REPLACE_STAT=1 $as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h ;; esac case $gl_cv_func_stat_file_slash in *no) REPLACE_STAT=1 $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h ;; esac if test $REPLACE_STAT = 1; then gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" : fi GNULIB_STAT=1 $as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h # Don't call AC_STRUCT_ST_BLOCKS because it causes bugs. Details at # http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00051.html ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 $as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/stat.h> #if HAVE_SYS_TIME_H # include <sys/time.h> #endif #include <time.h> struct timespec ts; struct stat st; int main () { st.st_atim = ts; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes else ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 $as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then $as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h fi else ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 _ACEOF fi fi fi fi ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_birthtimensec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 _ACEOF fi fi fi cat >>confdefs.h <<_ACEOF #define GNULIB_STATAT 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 $as_echo_n "checking for working stdalign.h... " >&6; } if ${gl_cv_header_working_stdalign_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdalign.h> #include <stddef.h> /* Test that alignof yields a result consistent with offsetof. This catches GCC bug 52023 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */ #ifdef __cplusplus template <class t> struct alignof_helper { char a; t b; }; # define ao(type) offsetof (alignof_helper<type>, b) #else # define ao(type) offsetof (struct { char a; type b; }, b) #endif char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; /* Test _Alignas only on platforms where gnulib can help. */ #if \ (__GNUC__ || __IBMC__ || __IBMCPP__ \ || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) int alignas (8) alignas_int = 1; char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1]; #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_working_stdalign_h=yes else gl_cv_header_working_stdalign_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 $as_echo "$gl_cv_header_working_stdalign_h" >&6; } if test $gl_cv_header_working_stdalign_h = yes; then STDALIGN_H='' else STDALIGN_H='stdalign.h' fi if test -n "$STDALIGN_H"; then GL_GENERATE_STDALIGN_H_TRUE= GL_GENERATE_STDALIGN_H_FALSE='#' else GL_GENERATE_STDALIGN_H_TRUE='#' GL_GENERATE_STDALIGN_H_FALSE= fi STDARG_H='' NEXT_STDARG_H='<stdarg.h>' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 $as_echo_n "checking for va_copy... " >&6; } if ${gl_cv_func_va_copy+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> int main () { #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_va_copy=yes else gl_cv_func_va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 $as_echo "$gl_cv_func_va_copy" >&6; } if test $gl_cv_func_va_copy = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined _AIX && !defined __GNUC__ AIX vaccine #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "vaccine" >/dev/null 2>&1; then : gl_aixcc=yes else gl_aixcc=no fi rm -f conftest* if test $gl_aixcc = yes; then STDARG_H=stdarg.h if test $gl_cv_have_include_next = yes; then gl_cv_next_stdarg_h='<'stdarg.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5 $as_echo_n "checking absolute name of <stdarg.h>... " >&6; } if ${gl_cv_next_stdarg_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stdarg.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 $as_echo "$gl_cv_next_stdarg_h" >&6; } fi NEXT_STDARG_H=$gl_cv_next_stdarg_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdarg.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdarg_h fi NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else saved_as_echo_n="$as_echo_n" as_echo_n=':' if ${gl_cv_func___va_copy+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> int main () { #ifndef __va_copy error, bail out #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func___va_copy=yes else gl_cv_func___va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi as_echo_n="$saved_as_echo_n" if test $gl_cv_func___va_copy = yes; then $as_echo "#define va_copy __va_copy" >>confdefs.h else $as_echo "#define va_copy gl_va_copy" >>confdefs.h fi fi fi if test -n "$STDARG_H"; then GL_GENERATE_STDARG_H_TRUE= GL_GENERATE_STDARG_H_FALSE='#' else GL_GENERATE_STDARG_H_TRUE='#' GL_GENERATE_STDARG_H_FALSE= fi # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test -n "$STDBOOL_H"; then GL_GENERATE_STDBOOL_H_TRUE= GL_GENERATE_STDBOOL_H_FALSE='#' else GL_GENERATE_STDBOOL_H_TRUE='#' GL_GENERATE_STDBOOL_H_FALSE= fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi STDDEF_H= if test $gt_cv_c_wchar_t = no; then HAVE_WCHAR_T=0 STDDEF_H=stddef.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 $as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } if ${gl_cv_decl_null_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_null_works=yes else gl_cv_decl_null_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 $as_echo "$gl_cv_decl_null_works" >&6; } if test $gl_cv_decl_null_works = no; then REPLACE_NULL=1 STDDEF_H=stddef.h fi if test -n "$STDDEF_H"; then GL_GENERATE_STDDEF_H_TRUE= GL_GENERATE_STDDEF_H_FALSE='#' else GL_GENERATE_STDDEF_H_TRUE='#' GL_GENERATE_STDDEF_H_FALSE= fi if test -n "$STDDEF_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_stddef_h='<'stddef.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5 $as_echo_n "checking absolute name of <stddef.h>... " >&6; } if ${gl_cv_next_stddef_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stddef.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 $as_echo "$gl_cv_next_stddef_h" >&6; } fi NEXT_STDDEF_H=$gl_cv_next_stddef_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stddef.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stddef_h fi NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdio_h='<'stdio.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5 $as_echo_n "checking absolute name of <stdio.h>... " >&6; } if ${gl_cv_next_stdio_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stdio.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 $as_echo "$gl_cv_next_stdio_h" >&6; } fi NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdio_h fi NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive GNULIB_FSCANF=1 cat >>confdefs.h <<_ACEOF #define GNULIB_FSCANF 1 _ACEOF GNULIB_SCANF=1 cat >>confdefs.h <<_ACEOF #define GNULIB_SCANF 1 _ACEOF GNULIB_FGETC=1 GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 GNULIB_FREAD=1 GNULIB_FPRINTF=1 GNULIB_PRINTF=1 GNULIB_VFPRINTF=1 GNULIB_VPRINTF=1 GNULIB_FPUTC=1 GNULIB_PUTC=1 GNULIB_PUTCHAR=1 GNULIB_FPUTS=1 GNULIB_PUTS=1 GNULIB_FWRITE=1 if test $gl_cv_have_include_next = yes; then gl_cv_next_stdlib_h='<'stdlib.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5 $as_echo_n "checking absolute name of <stdlib.h>... " >&6; } if ${gl_cv_next_stdlib_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'stdlib.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 $as_echo "$gl_cv_next_stdlib_h" >&6; } fi NEXT_STDLIB_H=$gl_cv_next_stdlib_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'stdlib.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_stdlib_h fi NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive for ac_func in stpcpy do : ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy" if test "x$ac_cv_func_stpcpy" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STPCPY 1 _ACEOF fi done if test $ac_cv_func_stpcpy = no; then HAVE_STPCPY=0 fi if test $HAVE_STPCPY = 0; then gl_LIBOBJS="$gl_LIBOBJS stpcpy.$ac_objext" : fi GNULIB_STPCPY=1 $as_echo "#define GNULIB_TEST_STPCPY 1" >>confdefs.h if test $ac_cv_func_stpncpy = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stpncpy" >&5 $as_echo_n "checking for working stpncpy... " >&6; } if ${gl_cv_func_stpncpy+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ Thanks for using GNU #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Thanks for using GNU" >/dev/null 2>&1; then : gl_cv_func_stpncpy="guessing yes" else gl_cv_func_stpncpy="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <string.h> /* for strcpy */ /* The stpncpy prototype is missing in <string.h> on AIX 4. */ #if !HAVE_DECL_STPNCPY extern # ifdef __cplusplus "C" # endif char *stpncpy (char *dest, const char *src, size_t n); #endif int main () { int result = 0; const char *src = "Hello"; char dest[10]; /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 2) != dest + 2) result |= 1; } /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 5) != dest + 5) result |= 2; } /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */ { strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 7) != dest + 5) result |= 4; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_stpncpy=yes else gl_cv_func_stpncpy=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stpncpy" >&5 $as_echo "$gl_cv_func_stpncpy" >&6; } case "$gl_cv_func_stpncpy" in *yes) $as_echo "#define HAVE_STPNCPY 1" >>confdefs.h ;; *) REPLACE_STPNCPY=1 ;; esac else HAVE_STPNCPY=0 fi if test $HAVE_STPNCPY = 0 || test $REPLACE_STPNCPY = 1; then gl_LIBOBJS="$gl_LIBOBJS stpncpy.$ac_objext" : fi GNULIB_STPNCPY=1 $as_echo "#define GNULIB_TEST_STPNCPY 1" >>confdefs.h for ac_func in strchrnul do : ac_fn_c_check_func "$LINENO" "strchrnul" "ac_cv_func_strchrnul" if test "x$ac_cv_func_strchrnul" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRCHRNUL 1 _ACEOF fi done if test $ac_cv_func_strchrnul = no; then HAVE_STRCHRNUL=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strchrnul works" >&5 $as_echo_n "checking whether strchrnul works... " >&6; } if ${gl_cv_func_strchrnul_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __CYGWIN__ #include <cygwin/version.h> #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9) Lucky user #endif #else Lucky user #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky user" >/dev/null 2>&1; then : gl_cv_func_strchrnul_works="guessing yes" else gl_cv_func_strchrnul_works="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> /* for strchrnul */ int main () { const char *buf = "a"; return strchrnul (buf, 'b') != buf + 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strchrnul_works=yes else gl_cv_func_strchrnul_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strchrnul_works" >&5 $as_echo "$gl_cv_func_strchrnul_works" >&6; } case "$gl_cv_func_strchrnul_works" in *yes) ;; *) REPLACE_STRCHRNUL=1 ;; esac fi if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then gl_LIBOBJS="$gl_LIBOBJS strchrnul.$ac_objext" : fi GNULIB_STRCHRNUL=1 $as_echo "#define GNULIB_TEST_STRCHRNUL 1" >>confdefs.h if test $ac_cv_func_strdup = yes; then if test $gl_cv_func_malloc_posix != yes; then REPLACE_STRDUP=1 fi fi if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" : fi GNULIB_STRDUP=1 $as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 $as_echo_n "checking for working strerror function... " >&6; } if ${gl_cv_func_working_strerror+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_strerror="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> int main () { if (!*strerror (-2)) return 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_strerror=yes else gl_cv_func_working_strerror=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 $as_echo "$gl_cv_func_working_strerror" >&6; } case "$gl_cv_func_working_strerror" in *yes) ;; *) REPLACE_STRERROR=1 ;; esac case "$gl_cv_func_strerror_r_works" in *no) REPLACE_STRERROR=1 ;; esac else REPLACE_STRERROR=1 fi if test $REPLACE_STRERROR = 1; then gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" fi cat >>confdefs.h <<_ACEOF #define GNULIB_STRERROR 1 _ACEOF GNULIB_STRERROR=1 $as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext" if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi fi # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. $as_echo "#define my_strftime nstrftime" >>confdefs.h if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" fi if test $REPLACE_STRNCAT = 1; then gl_LIBOBJS="$gl_LIBOBJS strncat.$ac_objext" : fi GNULIB_STRNCAT=1 $as_echo "#define GNULIB_TEST_STRNCAT 1" >>confdefs.h if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi if test $ac_cv_func_strndup = yes; then HAVE_STRNDUP=1 # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5 $as_echo_n "checking for working strndup... " >&6; } if ${gl_cv_func_strndup_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case $host_os in aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; *) gl_cv_func_strndup_works="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #include <stdlib.h> int main () { #if !HAVE_DECL_STRNDUP extern #ifdef __cplusplus "C" #endif char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0'; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strndup_works=yes else gl_cv_func_strndup_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5 $as_echo "$gl_cv_func_strndup_works" >&6; } case $gl_cv_func_strndup_works in *no) REPLACE_STRNDUP=1 ;; esac else HAVE_STRNDUP=0 fi if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" fi GNULIB_STRNDUP=1 $as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 $as_echo_n "checking for working strnlen... " >&6; } if ${ac_cv_func_strnlen_working+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess no on AIX systems, yes otherwise. case "$host_os" in aix*) ac_cv_func_strnlen_working=no;; *) ac_cv_func_strnlen_working=yes;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { #define S "foobar" #define S_LEN (sizeof S - 1) /* At least one implementation is buggy: that of AIX 4.3 would give strnlen (S, 1) == 3. */ int i; for (i = 0; i < S_LEN + 1; ++i) { int expected = i <= S_LEN ? i : S_LEN; if (strnlen (S, i) != expected) return 1; } return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strnlen_working=yes else ac_cv_func_strnlen_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 $as_echo "$ac_cv_func_strnlen_working" >&6; } test $ac_cv_func_strnlen_working = no && : if test $ac_cv_func_strnlen_working = no; then REPLACE_STRNLEN=1 fi fi if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" : fi GNULIB_STRNLEN=1 $as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h for ac_func in strpbrk do : ac_fn_c_check_func "$LINENO" "strpbrk" "ac_cv_func_strpbrk" if test "x$ac_cv_func_strpbrk" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRPBRK 1 _ACEOF fi done if test $ac_cv_func_strpbrk = no; then HAVE_STRPBRK=0 fi if test $HAVE_STRPBRK = 0; then gl_LIBOBJS="$gl_LIBOBJS strpbrk.$ac_objext" : fi GNULIB_STRPBRK=1 $as_echo "#define GNULIB_TEST_STRPBRK 1" >>confdefs.h if test $ac_cv_have_decl_strsignal = no; then HAVE_DECL_STRSIGNAL=0 fi for ac_func in strsignal do : ac_fn_c_check_func "$LINENO" "strsignal" "ac_cv_func_strsignal" if test "x$ac_cv_func_strsignal" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRSIGNAL 1 _ACEOF fi done if test $ac_cv_func_strsignal = yes; then HAVE_STRSIGNAL=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strsignal always returns a string" >&5 $as_echo_n "checking whether strsignal always returns a string... " >&6; } if ${gl_cv_func_working_strsignal+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in solaris* | aix*) gl_cv_func_working_strsignal=no;; *) gl_cv_func_working_strsignal="guessing yes";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> #include <unistd.h> /* NetBSD 5.0 declares it in wrong header. */ int main () { int result = 0; char *s = strsignal (-1); if (s == (char *) 0) result |= 1; if (s == (char *) -1) result |= 2; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_working_strsignal=yes else gl_cv_func_working_strsignal=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strsignal" >&5 $as_echo "$gl_cv_func_working_strsignal" >&6; } if test "$gl_cv_func_working_strsignal" = no; then REPLACE_STRSIGNAL=1 fi else HAVE_STRSIGNAL=0 fi if test $HAVE_STRSIGNAL = 0 || test $REPLACE_STRSIGNAL = 1; then gl_LIBOBJS="$gl_LIBOBJS strsignal.$ac_objext" ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "#include <signal.h> " if test "x$ac_cv_have_decl__sys_siglist" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SYS_SIGLIST $ac_have_decl _ACEOF fi GNULIB_STRSIGNAL=1 $as_echo "#define GNULIB_TEST_STRSIGNAL 1" >>confdefs.h if test "$gl_cv_func_memchr_works" != yes; then REPLACE_STRSTR=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strstr works" >&5 $as_echo_n "checking whether strstr works... " >&6; } if ${gl_cv_func_strstr_works_always+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNU_LIBRARY__ #include <features.h> #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ || defined __UCLIBC__ Lucky user #endif #elif defined __CYGWIN__ #include <cygwin/version.h> #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) Lucky user #endif #else Lucky user #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky user" >/dev/null 2>&1; then : gl_cv_func_strstr_works_always="guessing yes" else gl_cv_func_strstr_works_always="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> /* for strstr */ #define P "_EF_BF_BD" #define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P #define NEEDLE P P P P P int main () { return !!strstr (HAYSTACK, NEEDLE); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strstr_works_always=yes else gl_cv_func_strstr_works_always=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strstr_works_always" >&5 $as_echo "$gl_cv_func_strstr_works_always" >&6; } case "$gl_cv_func_strstr_works_always" in *yes) ;; *) REPLACE_STRSTR=1 ;; esac fi if test $REPLACE_STRSTR = 1; then gl_LIBOBJS="$gl_LIBOBJS strstr.$ac_objext" fi GNULIB_STRSTR=1 $as_echo "#define GNULIB_TEST_STRSTR 1" >>confdefs.h if test $HAVE_STRTOD = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtod obeys C99" >&5 $as_echo_n "checking whether strtod obeys C99... " >&6; } if ${gl_cv_func_strtod_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 8) || (__GLIBC__ > 2)) \ && !defined __UCLIBC__ Lucky user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky user" >/dev/null 2>&1; then : gl_cv_func_strtod_works="guessing yes" else gl_cv_func_strtod_works="guessing no" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <math.h> #include <errno.h> /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equal (double x, double y) { return x == y; } int main () { int result = 0; { /* In some old versions of Linux (2000 or before), strtod mis-parses strings with leading '+'. */ const char *string = " +69"; char *term; double value = strtod (string, &term); if (value != 69 || term != (string + 4)) result |= 1; } { /* Under Solaris 2.4, strtod returns the wrong value for the terminating character under some conditions. */ const char *string = "NaN"; char *term; strtod (string, &term); if (term != string && *(term - 1) == 0) result |= 2; } { /* Older glibc and Cygwin mis-parse "-0x". */ const char *string = "-0x"; char *term; double value = strtod (string, &term); double zero = 0.0; if (1.0 / value != -1.0 / zero || term != (string + 2)) result |= 4; } { /* Many platforms do not parse hex floats. */ const char *string = "0XaP+1"; char *term; double value = strtod (string, &term); if (value != 20.0 || term != (string + 6)) result |= 8; } { /* Many platforms do not parse infinities. HP-UX 11.31 parses inf, but mistakenly sets errno. */ const char *string = "inf"; char *term; double value; errno = 0; value = strtod (string, &term); if (value != HUGE_VAL || term != (string + 3) || errno) result |= 16; } { /* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */ const char *string = "nan()"; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 5)) result |= 32; } { /* darwin 10.6.1 misparses "nan(". */ const char *string = "nan("; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 3)) result |= 64; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strtod_works=yes else gl_cv_func_strtod_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtod_works" >&5 $as_echo "$gl_cv_func_strtod_works" >&6; } case "$gl_cv_func_strtod_works" in *yes) ;; *) REPLACE_STRTOD=1 ;; esac fi if test $HAVE_STRTOD = 0 || test $REPLACE_STRTOD = 1; then gl_LIBOBJS="$gl_LIBOBJS strtod.$ac_objext" if test $gl_cv_func_ldexp_no_libm = yes; then $as_echo "#define HAVE_LDEXP_IN_LIBC 1" >>confdefs.h fi fi GNULIB_STRTOD=1 $as_echo "#define GNULIB_TEST_STRTOD 1" >>confdefs.h if test "$ac_cv_have_decl_strtoimax" != yes; then HAVE_DECL_STRTOIMAX=0 fi if test $ac_cv_func_strtoimax = yes; then HAVE_STRTOIMAX=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtoimax works" >&5 $as_echo_n "checking whether strtoimax works... " >&6; } if ${gl_cv_func_strtoimax+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess no on AIX 5. aix5*) gl_cv_func_strtoimax="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_strtoimax="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <string.h> #include <inttypes.h> int main () { if (sizeof (intmax_t) > sizeof (int)) { const char *s = "4294967295"; char *p; intmax_t res; errno = 0; res = strtoimax (s, &p, 10); if (p != s + strlen (s)) return 1; if (errno != 0) return 2; if (res != (intmax_t) 65535 * (intmax_t) 65537) return 3; } else { const char *s = "2147483647"; char *p; intmax_t res; errno = 0; res = strtoimax (s, &p, 10); if (p != s + strlen (s)) return 1; if (errno != 0) return 2; if (res != 2147483647) return 3; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_strtoimax=yes else gl_cv_func_strtoimax=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtoimax" >&5 $as_echo "$gl_cv_func_strtoimax" >&6; } case "$gl_cv_func_strtoimax" in *no) REPLACE_STRTOIMAX=1 ;; esac else HAVE_STRTOIMAX=0 fi if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then gl_LIBOBJS="$gl_LIBOBJS strtoimax.$ac_objext" ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoll" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOLL $ac_have_decl _ACEOF fi GNULIB_STRTOIMAX=1 if test "$ac_cv_type_long_long_int" = yes; then for ac_func in strtoll do : ac_fn_c_check_func "$LINENO" "strtoll" "ac_cv_func_strtoll" if test "x$ac_cv_func_strtoll" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRTOLL 1 _ACEOF fi done if test $ac_cv_func_strtoll = no; then HAVE_STRTOLL=0 fi fi if test $HAVE_STRTOLL = 0; then gl_LIBOBJS="$gl_LIBOBJS strtoll.$ac_objext" : fi GNULIB_STRTOLL=1 $as_echo "#define GNULIB_TEST_STRTOLL 1" >>confdefs.h if test "$ac_cv_type_unsigned_long_long_int" = yes; then for ac_func in strtoull do : ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull" if test "x$ac_cv_func_strtoull" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRTOULL 1 _ACEOF fi done if test $ac_cv_func_strtoull = no; then HAVE_STRTOULL=0 fi fi if test $HAVE_STRTOULL = 0; then gl_LIBOBJS="$gl_LIBOBJS strtoull.$ac_objext" : fi GNULIB_STRTOULL=1 $as_echo "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h if test "$ac_cv_have_decl_strtoumax" != yes; then HAVE_DECL_STRTOUMAX=0 fi if test $ac_cv_func_strtoumax = no; then gl_LIBOBJS="$gl_LIBOBJS strtoumax.$ac_objext" ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default" if test "x$ac_cv_have_decl_strtoull" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOULL $ac_have_decl _ACEOF fi GNULIB_STRTOUMAX=1 if test $ac_cv_func_symlink = no; then HAVE_SYMLINK=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 $as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } if ${gl_cv_func_symlink_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_symlink_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> int main () { int result = 0; if (!symlink ("a", "conftest.link/")) result |= 1; if (symlink ("conftest.f", "conftest.lnk2")) result |= 2; else if (!symlink ("a", "conftest.lnk2/")) result |= 4; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_symlink_works=yes else gl_cv_func_symlink_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.f conftest.link conftest.lnk2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 $as_echo "$gl_cv_func_symlink_works" >&6; } case "$gl_cv_func_symlink_works" in *yes) ;; *) REPLACE_SYMLINK=1 ;; esac fi if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext" fi GNULIB_SYMLINK=1 $as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h if test $ac_cv_header_sys_ioctl_h = yes; then HAVE_SYS_IOCTL_H=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/ioctl.h> declares ioctl" >&5 $as_echo_n "checking whether <sys/ioctl.h> declares ioctl... " >&6; } if ${gl_cv_decl_ioctl_in_sys_ioctl_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ioctl.h> int main () { (void) ioctl; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_decl_ioctl_in_sys_ioctl_h=yes else gl_cv_decl_ioctl_in_sys_ioctl_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_ioctl_in_sys_ioctl_h" >&5 $as_echo "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; } else HAVE_SYS_IOCTL_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/ioctl.h>" >&5 $as_echo_n "checking absolute name of <sys/ioctl.h>... " >&6; } if ${gl_cv_next_sys_ioctl_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_ioctl_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ioctl.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/ioctl.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_ioctl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5 $as_echo "$gl_cv_next_sys_ioctl_h" >&6; } fi NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/ioctl.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_ioctl_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H=$gl_next_as_first_directive if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_resource_h='<'sys/resource.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/resource.h>" >&5 $as_echo_n "checking absolute name of <sys/resource.h>... " >&6; } if ${gl_cv_next_sys_resource_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_resource_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/resource.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/resource.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_resource_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_resource_h='<'sys/resource.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_resource_h" >&5 $as_echo "$gl_cv_next_sys_resource_h" >&6; } fi NEXT_SYS_RESOURCE_H=$gl_cv_next_sys_resource_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/resource.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_resource_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_RESOURCE_H=$gl_next_as_first_directive if test $ac_cv_header_sys_resource_h = yes; then HAVE_SYS_RESOURCE_H=1 else HAVE_SYS_RESOURCE_H=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/select.h> is self-contained" >&5 $as_echo_n "checking whether <sys/select.h> is self-contained... " >&6; } if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { struct timeval b; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_select_h_selfcontained=yes else gl_cv_header_sys_select_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $gl_cv_header_sys_select_h_selfcontained = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { int memset; int bzero; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> int main () { #undef memset #define memset nonexistent_memset extern #ifdef __cplusplus "C" #endif void *memset (void *, int, unsigned long); #undef bzero #define bzero nonexistent_bzero extern #ifdef __cplusplus "C" #endif void bzero (void *, unsigned long); fd_set fds; FD_ZERO (&fds); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else gl_cv_header_sys_select_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 $as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_select_h='<'sys/select.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/select.h>" >&5 $as_echo_n "checking absolute name of <sys/select.h>... " >&6; } if ${gl_cv_next_sys_select_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_select_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/select.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/select.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_select_h='<'sys/select.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 $as_echo "$gl_cv_next_sys_select_h" >&6; } fi NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/select.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_select_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive if test $ac_cv_header_sys_select_h = yes; then HAVE_SYS_SELECT_H=1 else HAVE_SYS_SELECT_H=0 fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi case "$host_os" in osf*) $as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> is self-contained" >&5 $as_echo_n "checking whether <sys/socket.h> is self-contained... " >&6; } if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_socket_h_selfcontained=yes else gl_cv_header_sys_socket_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 $as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } if test $gl_cv_header_sys_socket_h_selfcontained = yes; then for ac_func in shutdown do : ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" if test "x$ac_cv_func_shutdown" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SHUTDOWN 1 _ACEOF fi done if test $ac_cv_func_shutdown = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <sys/socket.h> defines the SHUT_* macros" >&5 $as_echo_n "checking whether <sys/socket.h> defines the SHUT_* macros... " >&6; } if ${gl_cv_header_sys_socket_h_shut+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> int main () { int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_sys_socket_h_shut=yes else gl_cv_header_sys_socket_h_shut=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 $as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi fi # We need to check for ws2tcpip.h now. if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_socket_h='<'sys/socket.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/socket.h>" >&5 $as_echo_n "checking absolute name of <sys/socket.h>... " >&6; } if ${gl_cv_next_sys_socket_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_socket_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/socket.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/socket.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_socket_h='<'sys/socket.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 $as_echo "$gl_cv_next_sys_socket_h" >&6; } fi NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/socket.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_socket_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE 1 _ACEOF fi ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " /* sys/types.h is not needed according to POSIX, but the sys/socket.h in i386-unknown-freebsd4.10 and powerpc-apple-darwin5.5 required it. */ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_type_sa_family_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SA_FAMILY_T 1 _ACEOF fi if test $ac_cv_type_struct_sockaddr_storage = no; then HAVE_STRUCT_SOCKADDR_STORAGE=0 fi if test $ac_cv_type_sa_family_t = no; then HAVE_SA_FAMILY_T=0 fi if test $ac_cv_type_struct_sockaddr_storage != no; then ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_WS2TCPIP_H #include <ws2tcpip.h> #endif " if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 _ACEOF else HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 fi fi if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then SYS_SOCKET_H='sys/socket.h' fi if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_stat_h='<'sys/stat.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5 $as_echo_n "checking absolute name of <sys/stat.h>... " >&6; } if ${gl_cv_next_sys_stat_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_stat_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/stat.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 $as_echo "$gl_cv_next_sys_stat_h" >&6; } fi NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/stat.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_stat_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive if test $WINDOWS_64_BIT_ST_SIZE = 1; then $as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h> #include <sys/stat.h> " if test "x$ac_cv_type_nlink_t" = xyes; then : else $as_echo "#define nlink_t int" >>confdefs.h fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_types_h='<'sys/types.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5 $as_echo_n "checking absolute name of <sys/types.h>... " >&6; } if ${gl_cv_next_sys_types_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/types.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 $as_echo "$gl_cv_next_sys_types_h" >&6; } fi NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/types.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_types_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_uio_h='<'sys/uio.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/uio.h>" >&5 $as_echo_n "checking absolute name of <sys/uio.h>... " >&6; } if ${gl_cv_next_sys_uio_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_uio_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/uio.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/uio.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_uio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_uio_h='<'sys/uio.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 $as_echo "$gl_cv_next_sys_uio_h" >&6; } fi NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/uio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_uio_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive if test $ac_cv_header_sys_uio_h = yes; then HAVE_SYS_UIO_H=1 else HAVE_SYS_UIO_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_utsname_h='<'sys/utsname.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/utsname.h>" >&5 $as_echo_n "checking absolute name of <sys/utsname.h>... " >&6; } if ${gl_cv_next_sys_utsname_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_utsname_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/utsname.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/utsname.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_utsname_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_utsname_h='<'sys/utsname.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_utsname_h" >&5 $as_echo "$gl_cv_next_sys_utsname_h" >&6; } fi NEXT_SYS_UTSNAME_H=$gl_cv_next_sys_utsname_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/utsname.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_utsname_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_UTSNAME_H=$gl_next_as_first_directive if test $ac_cv_header_sys_utsname_h != yes; then HAVE_SYS_UTSNAME_H=0 HAVE_STRUCT_UTSNAME=0 else HAVE_SYS_UTSNAME_H=1 ac_fn_c_check_type "$LINENO" "struct utsname" "ac_cv_type_struct_utsname" " /* Minix 3.1.8 has a bug: <stddef.h> must be included before <sys/utsname.h>. */ #include <stddef.h> #include <sys/utsname.h> " if test "x$ac_cv_type_struct_utsname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTSNAME 1 _ACEOF else HAVE_STRUCT_UTSNAME=0 fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_wait_h='<'sys/wait.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/wait.h>" >&5 $as_echo_n "checking absolute name of <sys/wait.h>... " >&6; } if ${gl_cv_next_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_sys_wait_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/wait.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'sys/wait.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_sys_wait_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_sys_wait_h='<'sys/wait.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_wait_h" >&5 $as_echo "$gl_cv_next_sys_wait_h" >&6; } fi NEXT_SYS_WAIT_H=$gl_cv_next_sys_wait_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'sys/wait.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_sys_wait_h fi NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H=$gl_next_as_first_directive : if test $gl_cv_have_include_next = yes; then gl_cv_next_termios_h='<'termios.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <termios.h>" >&5 $as_echo_n "checking absolute name of <termios.h>... " >&6; } if ${gl_cv_next_termios_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_termios_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termios.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'termios.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_termios_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_termios_h='<'termios.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_termios_h" >&5 $as_echo "$gl_cv_next_termios_h" >&6; } fi NEXT_TERMIOS_H=$gl_cv_next_termios_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'termios.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_termios_h fi NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H=$gl_next_as_first_directive if test $ac_cv_header_termios_h != yes; then HAVE_TERMIOS_H=0 fi ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include <time.h> " if test "x$ac_cv_have_decl_localtime_r" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_LOCALTIME_R $ac_have_decl _ACEOF if test $ac_cv_have_decl_localtime_r = no; then HAVE_DECL_LOCALTIME_R=0 fi if test $ac_cv_func_localtime_r = yes; then HAVE_LOCALTIME_R=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 $as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } if ${gl_cv_time_r_posix+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> int main () { /* We don't need to append 'restrict's to the argument types, even though the POSIX signature has the 'restrict's, since C99 says they can't affect type compatibility. */ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; if (ptr) return 0; /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ *localtime_r (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_time_r_posix=yes else gl_cv_time_r_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 $as_echo "$gl_cv_time_r_posix" >&6; } if test $gl_cv_time_r_posix = yes; then REPLACE_LOCALTIME_R=0 else REPLACE_LOCALTIME_R=1 fi else HAVE_LOCALTIME_R=0 fi if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" : fi GNULIB_TIME_R=1 $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h LIB_TIMER_TIME= gl_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing timer_settime" >&5 $as_echo_n "checking for library containing timer_settime... " >&6; } if ${ac_cv_search_timer_settime+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char timer_settime (); int main () { return timer_settime (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_timer_settime=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_timer_settime+:} false; then : break fi done if ${ac_cv_search_timer_settime+:} false; then : else ac_cv_search_timer_settime=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_settime" >&5 $as_echo "$ac_cv_search_timer_settime" >&6; } ac_res=$ac_cv_search_timer_settime if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_timer_settime" = "none required" || LIB_TIMER_TIME=$ac_cv_search_timer_settime fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> #ifdef __GNU_LIBRARY__ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ && !defined __UCLIBC__ Thread emulation available #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Thread" >/dev/null 2>&1; then : LIB_TIMER_TIME="$LIB_TIMER_TIME $LIBMULTITHREAD" fi rm -f conftest* for ac_func in timer_settime do : ac_fn_c_check_func "$LINENO" "timer_settime" "ac_cv_func_timer_settime" if test "x$ac_cv_func_timer_settime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TIMER_SETTIME 1 _ACEOF fi done LIBS=$gl_saved_libs : for ac_func in uname do : ac_fn_c_check_func "$LINENO" "uname" "ac_cv_func_uname" if test "x$ac_cv_func_uname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNAME 1 _ACEOF fi done if test $ac_cv_func_uname = no; then HAVE_UNAME=0 fi if test $HAVE_UNAME = 0; then gl_LIBOBJS="$gl_LIBOBJS uname.$ac_objext" : fi GNULIB_UNAME=1 : if test $gl_cv_have_include_next = yes; then gl_cv_next_unistd_h='<'unistd.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5 $as_echo_n "checking absolute name of <unistd.h>... " >&6; } if ${gl_cv_next_unistd_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_unistd_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'unistd.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_unistd_h='<'unistd.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 $as_echo "$gl_cv_next_unistd_h" >&6; } fi NEXT_UNISTD_H=$gl_cv_next_unistd_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'unistd.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_unistd_h fi NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 2 } } } } }; then LIBUNISTRING_UNISTR_H='unistr.h' else LIBUNISTRING_UNISTR_H= fi cat >>confdefs.h <<_ACEOF #define GNULIB_UNISTR_U8_MBTOUCR 1 _ACEOF if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 } } } } }; then LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE= LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#' else LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#' LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE= fi cat >>confdefs.h <<_ACEOF #define GNULIB_UNISTR_U8_UCTOMB 1 _ACEOF if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 } } } } }; then LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE= LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#' else LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#' LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE= fi if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 } } } } }; then LIBUNISTRING_UNITYPES_H='unitypes.h' else LIBUNISTRING_UNITYPES_H= fi if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 } } } } }; then LIBUNISTRING_UNIWIDTH_H='uniwidth.h' else LIBUNISTRING_UNIWIDTH_H= fi if { test "$HAVE_LIBUNISTRING" != yes \ || { test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 } } } } }; then LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE= LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE='#' else LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE='#' LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink honors trailing slashes" >&5 $as_echo_n "checking whether unlink honors trailing slashes... " >&6; } if ${gl_cv_func_unlink_honors_slashes+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file # Assume that if we have lstat, we can also check symlinks. if test $ac_cv_func_lstat = yes; then ln -s conftest.file conftest.lnk fi if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_unlink_honors_slashes="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <io.h> #endif #include <errno.h> int main () { int result = 0; if (!unlink ("conftest.file/")) result |= 1; else if (errno != ENOTDIR) result |= 2; #if HAVE_LSTAT if (!unlink ("conftest.lnk/")) result |= 4; else if (errno != ENOTDIR) result |= 8; #endif return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_honors_slashes=yes else gl_cv_func_unlink_honors_slashes=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file conftest.lnk fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_honors_slashes" >&5 $as_echo "$gl_cv_func_unlink_honors_slashes" >&6; } case "$gl_cv_func_unlink_honors_slashes" in *no) REPLACE_UNLINK=1 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unlink of a parent directory fails as it should" >&5 $as_echo_n "checking whether unlink of a parent directory fails as it should... " >&6; } if ${gl_cv_func_unlink_parent_fails+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in darwin*) if { # Use the mktemp program if available. If not available, hide the error # message. tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { # Use a simple mkdir command. It is guaranteed to fail if the directory # already exists. $RANDOM is bash specific and expands to empty in shells # other than bash, ksh and zsh. Its use does not increase security; # rather, it minimizes the probability of failure in a very cluttered /tmp # directory. tmp=/tmp/gt$$-$RANDOM (umask 077 && mkdir "$tmp") }; then mkdir "$tmp/subdir" GL_SUBDIR_FOR_UNLINK="$tmp/subdir" export GL_SUBDIR_FOR_UNLINK if test "$cross_compiling" = yes; then : # If we don't know, assume the worst. gl_cv_func_unlink_parent_fails="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* on Windows with MSVC */ # include <direct.h> # include <io.h> #endif int main () { int result = 0; if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0) result |= 1; else if (unlink ("..") == 0) result |= 2; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_parent_fails=yes else gl_cv_func_unlink_parent_fails=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi unset GL_SUBDIR_FOR_UNLINK rm -rf "$tmp" else gl_cv_func_unlink_parent_fails="guessing no" fi ;; *) gl_cv_func_unlink_parent_fails="guessing yes" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_parent_fails" >&5 $as_echo "$gl_cv_func_unlink_parent_fails" >&6; } case "$gl_cv_func_unlink_parent_fails" in *no) REPLACE_UNLINK=1 $as_echo "#define UNLINK_PARENT_BUG 1" >>confdefs.h ;; esac if test $REPLACE_UNLINK = 1; then gl_LIBOBJS="$gl_LIBOBJS unlink.$ac_objext" fi GNULIB_UNLINK=1 $as_echo "#define GNULIB_TEST_UNLINK 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a running program can be unlinked" >&5 $as_echo_n "checking whether a running program can be unlinked... " >&6; } if ${gl_cv_func_unlink_busy_text+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_unlink_busy_text=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main (int argc, char **argv) { int result = 0; if (argc == 0) result |= 1; else if (unlink (argv[0]) != 0) result |= 2; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unlink_busy_text=yes else gl_cv_func_unlink_busy_text=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unlink_busy_text" >&5 $as_echo "$gl_cv_func_unlink_busy_text" >&6; } if test $gl_cv_func_unlink_busy_text = no; then INSTALL=$ac_install_sh fi if test $ac_cv_func_unlinkat = no; then HAVE_UNLINKAT=0 else case "$gl_cv_func_lstat_dereferences_slashed_symlink" in *no) # Solaris 9 has *at functions, but uniformly mishandles trailing # slash in all of them. REPLACE_UNLINKAT=1 ;; *) # GNU/Hurd has unlinkat, but it has the same bug as unlink. if test $REPLACE_UNLINK = 1; then REPLACE_UNLINKAT=1 fi ;; esac fi if test $HAVE_UNLINKAT = 0 || test $REPLACE_UNLINKAT = 1; then gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext" fi GNULIB_UNLINKAT=1 $as_echo "#define GNULIB_TEST_UNLINKAT 1" >>confdefs.h $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h if test $ac_cv_have_decl_unsetenv = no; then HAVE_DECL_UNSETENV=0 fi for ac_func in unsetenv do : ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" if test "x$ac_cv_func_unsetenv" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNSETENV 1 _ACEOF fi done if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 else HAVE_UNSETENV=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 $as_echo_n "checking for unsetenv() return type... " >&6; } if ${gt_cv_func_unsetenv_ret+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #undef _BSD #define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */ #include <stdlib.h> extern #ifdef __cplusplus "C" #endif int unsetenv (const char *name); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_func_unsetenv_ret='int' else gt_cv_func_unsetenv_ret='void' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 $as_echo "$gt_cv_func_unsetenv_ret" >&6; } if test $gt_cv_func_unsetenv_ret = 'void'; then $as_echo "#define VOID_UNSETENV 1" >>confdefs.h REPLACE_UNSETENV=1 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5 $as_echo_n "checking whether unsetenv obeys POSIX... " >&6; } if ${gl_cv_func_unsetenv_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_unsetenv_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <errno.h> extern char **environ; int main () { char entry1[] = "a=1"; char entry2[] = "b=2"; char *env[] = { entry1, entry2, NULL }; if (putenv ((char *) "a=1")) return 1; if (putenv (entry2)) return 2; entry2[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 3; if (!unsetenv ("") || errno != EINVAL) return 4; entry2[0] = 'b'; environ = env; if (!getenv ("a")) return 5; entry2[0] = 'a'; unsetenv ("a"); if (getenv ("a")) return 6; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_unsetenv_works=yes else gl_cv_func_unsetenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 $as_echo "$gl_cv_func_unsetenv_works" >&6; } case "$gl_cv_func_unsetenv_works" in *yes) ;; *) REPLACE_UNSETENV=1 ;; esac fi if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" fi GNULIB_UNSETENV=1 $as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/uptime" >&5 $as_echo_n "checking for /proc/uptime... " >&6; } if ${gl_cv_have_proc_uptime+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_have_proc_uptime=no test -f /proc/uptime \ && test "$cross_compiling" = no \ && cat < /proc/uptime >/dev/null 2>/dev/null \ && gl_cv_have_proc_uptime=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_proc_uptime" >&5 $as_echo "$gl_cv_have_proc_uptime" >&6; } if test $gl_cv_have_proc_uptime = yes; then $as_echo "#define HAVE_PROC_UPTIME 1" >>confdefs.h fi : if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimesat handles NULL file" >&5 $as_echo_n "checking whether futimesat handles NULL file... " >&6; } if ${gl_cv_func_futimesat_works+:} false; then : $as_echo_n "(cached) " >&6 else touch conftest.file if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_futimesat_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <sys/times.h> #include <fcntl.h> int main () { int fd = open ("conftest.file", O_RDWR); if (fd < 0) return 1; if (futimesat (fd, NULL, NULL)) return 2; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_futimesat_works=yes else gl_cv_func_futimesat_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimesat_works" >&5 $as_echo "$gl_cv_func_futimesat_works" >&6; } case "$gl_cv_func_futimesat_works" in *yes) ;; *) $as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h ;; esac fi if test $ac_cv_func_utimensat = no; then HAVE_UTIMENSAT=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utimensat works" >&5 $as_echo_n "checking whether utimensat works... " >&6; } if ${gl_cv_func_utimensat_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_utimensat_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> #include <sys/stat.h> #include <unistd.h> int main () { int result = 0; const char *f = "conftest.file"; if (close (creat (f, 0600))) return 1; /* Test whether the AT_SYMLINK_NOFOLLOW flag is supported. */ { if (utimensat (AT_FDCWD, f, NULL, AT_SYMLINK_NOFOLLOW)) result |= 2; } /* Test whether UTIME_NOW and UTIME_OMIT work. */ { struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } }; if (utimensat (AT_FDCWD, f, ts, 0)) result |= 4; } sleep (1); { struct timespec ts[2] = { { 1, UTIME_NOW }, { 1, UTIME_OMIT } }; struct stat st; if (utimensat (AT_FDCWD, f, ts, 0)) result |= 8; if (stat (f, &st)) result |= 16; else if (st.st_ctime < st.st_atime) result |= 32; } return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __linux__ /* The Linux kernel added utimensat in 2.6.22, but has bugs with UTIME_OMIT in several file systems as recently as 2.6.32. Always replace utimensat to support older kernels. */ choke me #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_utimensat_works=yes else gl_cv_func_utimensat_works="needs runtime check" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else gl_cv_func_utimensat_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_utimensat_works" >&5 $as_echo "$gl_cv_func_utimensat_works" >&6; } if test "$gl_cv_func_utimensat_works" != yes; then REPLACE_UTIMENSAT=1 fi fi if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then gl_LIBOBJS="$gl_LIBOBJS utimensat.$ac_objext" fi GNULIB_UTIMENSAT=1 $as_echo "#define GNULIB_TEST_UTIMENSAT 1" >>confdefs.h if test $ac_cv_func_vasnprintf = no; then gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then $as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" if test "x$ac_cv_type_ptrdiff_t" = xyes; then : else $as_echo "#define ptrdiff_t long" >>confdefs.h fi fi for ac_func in vasprintf do : ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" if test "x$ac_cv_func_vasprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VASPRINTF 1 _ACEOF fi done if test $ac_cv_func_vasprintf = no; then gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi fi GNULIB_VASPRINTF=1 $as_echo "#define GNULIB_TEST_VASPRINTF 1" >>confdefs.h XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" gl_cv_func_vasprintf_posix=no for ac_func in vasprintf do : ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" if test "x$ac_cv_func_vasprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VASPRINTF 1 _ACEOF fi done case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_directive_ls" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) if test $ac_cv_func_vasprintf = yes; then # vasprintf exists and is # already POSIX compliant. gl_cv_func_vasprintf_posix=yes fi ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vasprintf_posix = no; then case "$gl_cv_func_printf_infinite" in *yes) ;; *) $as_echo "#define NEED_PRINTF_INFINITE_DOUBLE 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) $as_echo "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h ;; esac ;; esac case "$gl_cv_func_printf_directive_a" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h for ac_func in nl_langinfo do : ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo" if test "x$ac_cv_func_nl_langinfo" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NL_LANGINFO 1 _ACEOF fi done ;; esac case "$gl_cv_func_printf_directive_f" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_F 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_directive_ls" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_GROUPING 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_LEFTADJUST 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_precision" in *yes) ;; *) $as_echo "#define NEED_PRINTF_UNBOUNDED_PRECISION 1" >>confdefs.h $as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_enomem" in *yes) ;; *) $as_echo "#define NEED_PRINTF_ENOMEM 1" >>confdefs.h $as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h ;; esac gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then $as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" if test "x$ac_cv_type_ptrdiff_t" = xyes; then : else $as_echo "#define ptrdiff_t long" >>confdefs.h fi gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi fi XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=verror:3:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=verror_at_line:5:c-format" # Check whether --with-packager was given. if test "${with_packager+set}" = set; then : withval=$with_packager; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER "$withval" _ACEOF ;; esac fi # Check whether --with-packager-version was given. if test "${with_packager_version+set}" = set; then : withval=$with_packager_version; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER_VERSION "$withval" _ACEOF ;; esac fi # Check whether --with-packager-bug-reports was given. if test "${with_packager_bug_reports+set}" = set; then : withval=$with_packager_bug_reports; case $withval in yes|no) ;; *) cat >>confdefs.h <<_ACEOF #define PACKAGE_PACKAGER_BUG_REPORTS "$withval" _ACEOF ;; esac fi if test "X$with_packager" = "X" && \ test "X$with_packager_version$with_packager_bug_reports" != "X" then as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 fi gl_cv_func_vfprintf_posix=no case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_directive_ls" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) # vfprintf exists and is # already POSIX compliant. gl_cv_func_vfprintf_posix=yes ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vfprintf_posix = no; then case "$gl_cv_func_printf_infinite" in *yes) ;; *) $as_echo "#define NEED_PRINTF_INFINITE_DOUBLE 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) $as_echo "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h ;; esac ;; esac case "$gl_cv_func_printf_directive_a" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h for ac_func in nl_langinfo do : ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo" if test "x$ac_cv_func_nl_langinfo" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NL_LANGINFO 1 _ACEOF fi done ;; esac case "$gl_cv_func_printf_directive_f" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_F 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_directive_ls" in *yes) ;; *) $as_echo "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_GROUPING 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_LEFTADJUST 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) $as_echo "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_precision" in *yes) ;; *) $as_echo "#define NEED_PRINTF_UNBOUNDED_PRECISION 1" >>confdefs.h $as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h ;; esac case "$gl_cv_func_printf_enomem" in *yes) ;; *) $as_echo "#define NEED_PRINTF_ENOMEM 1" >>confdefs.h $as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h ;; esac gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then $as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" if test "x$ac_cv_type_ptrdiff_t" = xyes; then : else $as_echo "#define ptrdiff_t long" >>confdefs.h fi gl_LIBOBJS="$gl_LIBOBJS vfprintf.$ac_objext" REPLACE_VFPRINTF=1 $as_echo "#define REPLACE_VFPRINTF_POSIX 1" >>confdefs.h : fi GNULIB_VFPRINTF_POSIX=1 $as_echo "#define GNULIB_TEST_VFPRINTF_POSIX 1" >>confdefs.h if test $gl_cv_func_vfprintf_posix = no; then gl_LIBOBJS="$gl_LIBOBJS vprintf.$ac_objext" REPLACE_VPRINTF=1 $as_echo "#define REPLACE_VPRINTF_POSIX 1" >>confdefs.h : fi GNULIB_VPRINTF_POSIX=1 $as_echo "#define GNULIB_TEST_VPRINTF_POSIX 1" >>confdefs.h for ac_func in waitid do : ac_fn_c_check_func "$LINENO" "waitid" "ac_cv_func_waitid" if test "x$ac_cv_func_waitid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WAITID 1 _ACEOF fi done HAVE_WAITPID=1 case $host_os in mingw*) HAVE_WAITPID=0 ;; esac if test $HAVE_WAITPID = 0; then gl_LIBOBJS="$gl_LIBOBJS waitpid.$ac_objext" fi GNULIB_WAITPID=1 $as_echo "#define GNULIB_TEST_WAITPID 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then gl_cv_next_wchar_h='<'wchar.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5 $as_echo_n "checking absolute name of <wchar.h>... " >&6; } if ${gl_cv_next_wchar_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wchar_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <wchar.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'wchar.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_wchar_h='<'wchar.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 $as_echo "$gl_cv_next_wchar_h" >&6; } fi NEXT_WCHAR_H=$gl_cv_next_wchar_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'wchar.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_wchar_h fi NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 $as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; } if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX and OSF/1. aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; esac if test $LOCALE_JA != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) if (mbsinit (&state)) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_incomplete_state=yes else gl_cv_func_mbrtowc_incomplete_state=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 $as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 $as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; } if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris 8. solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; esac if test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { /* This fails on Solaris 8: mbrtowc returns 2, and sets wc to 0x00F0. mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ mbstate_t state; wchar_t wc; memset (&state, '\0', sizeof (mbstate_t)); if (mbrtowc (&wc, input + 3, 6, &state) != 4 && mbtowc (&wc, input + 3, 6) == 4) return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_mbrtowc_sanitycheck=yes else gl_cv_func_mbrtowc_sanitycheck=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; } REPLACE_MBSTATE_T=0 case "$gl_cv_func_mbrtowc_incomplete_state" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac case "$gl_cv_func_mbrtowc_sanitycheck" in *yes) ;; *) REPLACE_MBSTATE_T=1 ;; esac else REPLACE_MBSTATE_T=1 fi if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 ac_fn_c_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_wcrtomb" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCRTOMB $ac_have_decl _ACEOF if test $ac_cv_have_decl_wcrtomb = yes; then REPLACE_WCRTOMB=1 fi else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5 $as_echo_n "checking whether wcrtomb return value is correct... " >&6; } if ${gl_cv_func_wcrtomb_retval+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on AIX 4, OSF/1 and Solaris. aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wcrtomb_retval="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { int result = 0; if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 1; } if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 2; } if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 4; } if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 8; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcrtomb_retval=yes else gl_cv_func_wcrtomb_retval=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5 $as_echo "$gl_cv_func_wcrtomb_retval" >&6; } case "$gl_cv_func_wcrtomb_retval" in *yes) ;; *) REPLACE_WCRTOMB=1 ;; esac fi fi if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then gl_LIBOBJS="$gl_LIBOBJS wcrtomb.$ac_objext" : fi GNULIB_WCRTOMB=1 $as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h if test $ac_cv_func_wcswidth = no; then HAVE_WCSWIDTH=0 else if test $REPLACE_WCWIDTH = 1; then REPLACE_WCSWIDTH=1 fi fi if test $HAVE_WCSWIDTH = 0 || test $REPLACE_WCSWIDTH = 1; then gl_LIBOBJS="$gl_LIBOBJS wcswidth.$ac_objext" fi GNULIB_WCSWIDTH=1 $as_echo "#define GNULIB_TEST_WCSWIDTH 1" >>confdefs.h if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_wctype_h='<'wctype.h'>' else { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5 $as_echo_n "checking absolute name of <wctype.h>... " >&6; } if ${gl_cv_next_wctype_h+:} false; then : $as_echo_n "(cached) " >&6 else if test $ac_cv_header_wctype_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <wctype.h> _ACEOF case "$host_os" in aix*) gl_absname_cpp="$ac_cpp -C" ;; *) gl_absname_cpp="$ac_cpp" ;; esac case "$host_os" in mingw*) gl_dirsep_regex='[/\\]' ;; *) gl_dirsep_regex='\/' ;; esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' gl_header_literal_regex=`echo 'wctype.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ s|^/[^/]|//&| p q }' gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else gl_cv_next_wctype_h='<'wctype.h'>' fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5 $as_echo "$gl_cv_next_wctype_h" >&6; } fi NEXT_WCTYPE_H=$gl_cv_next_wctype_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'wctype.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' gl_next_as_first_directive=$gl_cv_next_wctype_h fi NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H=$gl_next_as_first_directive if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5 $as_echo_n "checking whether iswcntrl works... " >&6; } if ${gl_cv_func_iswcntrl_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_iswcntrl_works="guessing yes" else gl_cv_func_iswcntrl_works="guessing no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> int main () { return iswprint ('x') == 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_iswcntrl_works=yes else gl_cv_func_iswcntrl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5 $as_echo "$gl_cv_func_iswcntrl_works" >&6; } fi HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi case "$gl_cv_func_iswcntrl_works" in *yes) REPLACE_ISWCNTRL=0 ;; *) REPLACE_ISWCNTRL=1 ;; esac if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then : fi if test $REPLACE_ISWCNTRL = 1; then REPLACE_TOWLOWER=1 else for ac_func in towlower do : ac_fn_c_check_func "$LINENO" "towlower" "ac_cv_func_towlower" if test "x$ac_cv_func_towlower" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TOWLOWER 1 _ACEOF fi done if test $ac_cv_func_towlower = yes; then REPLACE_TOWLOWER=0 else ac_fn_c_check_decl "$LINENO" "towlower" "ac_cv_have_decl_towlower" "/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if HAVE_WCTYPE_H # include <wctype.h> #endif " if test "x$ac_cv_have_decl_towlower" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TOWLOWER $ac_have_decl _ACEOF if test $ac_cv_have_decl_towlower = yes; then REPLACE_TOWLOWER=1 else REPLACE_TOWLOWER=0 fi fi fi if test $HAVE_ISWCNTRL = 0 || test $REPLACE_TOWLOWER = 1; then : fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5 $as_echo_n "checking for wctype_t... " >&6; } if ${gl_cv_type_wctype_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if HAVE_WCTYPE_H # include <wctype.h> #endif wctype_t a; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctype_t=yes else gl_cv_type_wctype_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5 $as_echo "$gl_cv_type_wctype_t" >&6; } if test $gl_cv_type_wctype_t = no; then HAVE_WCTYPE_T=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5 $as_echo_n "checking for wctrans_t... " >&6; } if ${gl_cv_type_wctrans_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> wctrans_t a; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_type_wctrans_t=yes else gl_cv_type_wctrans_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5 $as_echo "$gl_cv_type_wctrans_t" >&6; } if test $gl_cv_type_wctrans_t = no; then HAVE_WCTRANS_T=0 fi ac_fn_c_check_decl "$LINENO" "wcwidth" "ac_cv_have_decl_wcwidth" " /* AIX 3.2.5 declares wcwidth in <string.h>. */ #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_wcwidth" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCWIDTH $ac_have_decl _ACEOF if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = yes; then HAVE_WCWIDTH=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5 $as_echo_n "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; } if ${gl_cv_func_wcwidth_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc and AIX 7 systems. *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; *) gl_cv_func_wcwidth_works="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> /* AIX 3.2.5 declares wcwidth in <string.h>. */ #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> #if !HAVE_DECL_WCWIDTH extern # ifdef __cplusplus "C" # endif int wcwidth (int); #endif int main () { int result = 0; if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) { if (wcwidth (0x0301) > 0) result |= 1; if (wcwidth (0x05B0) > 0) result |= 2; if (wcwidth (0x200B) > 0) result |= 4; } return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wcwidth_works=yes else gl_cv_func_wcwidth_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5 $as_echo "$gl_cv_func_wcwidth_works" >&6; } case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac else HAVE_WCWIDTH=0 fi if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext" fi GNULIB_WCWIDTH=1 $as_echo "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5 $as_echo_n "checking whether use of TIOCGWINSZ requires sys/ioctl.h... " >&6; } if ${gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> # include <sys/ioctl.h> # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&5 $as_echo "$gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then $as_echo "#define GWINSZ_IN_SYS_IOCTL 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of TIOCGWINSZ requires termios.h" >&5 $as_echo_n "checking whether use of TIOCGWINSZ requires termios.h... " >&6; } if ${gl_cv_sys_tiocgwinsz_needs_termios_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> # include <termios.h> # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 $as_echo "$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of struct winsize requires sys/ptem.h" >&5 $as_echo_n "checking whether use of struct winsize requires sys/ptem.h... " >&6; } if ${gl_cv_sys_struct_winsize_needs_sys_ptem_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termios.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ptem.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 $as_echo "$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then $as_echo "#define WINSIZE_IN_PTEM 1" >>confdefs.h fi if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then REPLACE_WRITE=1 fi if test $REPLACE_WRITE = 1; then gl_LIBOBJS="$gl_LIBOBJS write.$ac_objext" : fi GNULIB_WRITE=1 $as_echo "#define GNULIB_TEST_WRITE 1" >>confdefs.h : : cat >>confdefs.h <<_ACEOF #define GNULIB_XGETGROUPS 1 _ACEOF : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xprintf:1:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xvprintf:1:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xfprintf:2:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xvfprintf:2:c-format" for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done : : : : : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xasprintf:1:c-format" : # End of code from modules gltests_libdeps= gltests_ltlibdeps= gl_source_base='gnulib-tests' gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS gl_module_indicator_condition=$gltests_WITNESS if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS accept.$ac_objext" fi if test "$GNULIB_ACCEPT" != 1; then if test "$GNULIB_ACCEPT" = 0; then GNULIB_ACCEPT=$gl_module_indicator_condition else GNULIB_ACCEPT="($GNULIB_ACCEPT || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS bind.$ac_objext" fi if test "$GNULIB_BIND" != 1; then if test "$GNULIB_BIND" = 0; then GNULIB_BIND=$gl_module_indicator_condition else GNULIB_BIND="($GNULIB_BIND || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_BIND 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5 $as_echo_n "checking for a turkish Unicode locale... " >&6; } if ${gt_cv_locale_tr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=Turkish_Turkey.65001 else # None found. gt_cv_locale_tr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi ;; esac else gt_cv_locale_tr_utf8=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5 $as_echo "$gt_cv_locale_tr_utf8" >&6; } LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS connect.$ac_objext" fi if test "$GNULIB_CONNECT" != 1; then if test "$GNULIB_CONNECT" = 0; then GNULIB_CONNECT=$gl_module_indicator_condition else GNULIB_CONNECT="($GNULIB_CONNECT || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_CONNECT 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac HAVE_INET_PTON=1 INET_PTON_LIB= if test $ac_cv_header_sys_socket_h != yes; then for ac_header in winsock2.h do : ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_WINSOCK2_H 1 _ACEOF fi done fi if test "$ac_cv_header_winsock2_h" = yes; then HAVE_WINSOCK2_H=1 UNISTD_H_HAVE_WINSOCK2_H=1 SYS_IOCTL_H_HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $HAVE_WINSOCK2_H = 1; then ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include <ws2tcpip.h> " if test "x$ac_cv_have_decl_inet_pton" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_PTON $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_pton = yes; then REPLACE_INET_PTON=1 INET_PTON_LIB="-lws2_32" else HAVE_DECL_INET_PTON=0 HAVE_INET_PTON=0 fi else gl_save_LIBS=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5 $as_echo_n "checking for library containing inet_pton... " >&6; } if ${ac_cv_search_inet_pton+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_pton (); int main () { return inet_pton (); ; return 0; } _ACEOF for ac_lib in '' nsl resolv; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_inet_pton=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_inet_pton+:} false; then : break fi done if ${ac_cv_search_inet_pton+:} false; then : else ac_cv_search_inet_pton=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 $as_echo "$ac_cv_search_inet_pton" >&6; } ac_res=$ac_cv_search_inet_pton if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else for ac_func in inet_pton do : ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" if test "x$ac_cv_func_inet_pton" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INET_PTON 1 _ACEOF fi done if test $ac_cv_func_inet_pton = no; then HAVE_INET_PTON=0 fi fi LIBS=$gl_save_LIBS if test "$ac_cv_search_inet_pton" != "no" \ && test "$ac_cv_search_inet_pton" != "none required"; then INET_PTON_LIB="$ac_cv_search_inet_pton" fi ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include <arpa/inet.h> #if HAVE_NETDB_H # include <netdb.h> #endif " if test "x$ac_cv_have_decl_inet_pton" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_INET_PTON $ac_have_decl _ACEOF if test $ac_cv_have_decl_inet_pton = no; then HAVE_DECL_INET_PTON=0 fi fi if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then gltests_LIBOBJS="$gltests_LIBOBJS inet_pton.$ac_objext" fi if test "$GNULIB_INET_PTON" != 1; then if test "$GNULIB_INET_PTON" = 0; then GNULIB_INET_PTON=$gl_module_indicator_condition else GNULIB_INET_PTON="($GNULIB_INET_PTON || $gl_module_indicator_condition)" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac HAVE_IOCTL=1 if test "$ac_cv_header_winsock2_h" = yes; then HAVE_IOCTL=0 else for ac_func in ioctl do : ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" if test "x$ac_cv_func_ioctl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_IOCTL 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ioctl with POSIX signature" >&5 $as_echo_n "checking for ioctl with POSIX signature... " >&6; } if ${gl_cv_func_ioctl_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ioctl.h> int main () { extern #ifdef __cplusplus "C" #endif int ioctl (int, int, ...); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_func_ioctl_posix_signature=yes else gl_cv_func_ioctl_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5 $as_echo "$gl_cv_func_ioctl_posix_signature" >&6; } if test $gl_cv_func_ioctl_posix_signature != yes; then REPLACE_IOCTL=1 fi fi if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then gltests_LIBOBJS="$gltests_LIBOBJS ioctl.$ac_objext" fi if test "$GNULIB_IOCTL" != 1; then if test "$GNULIB_IOCTL" = 0; then GNULIB_IOCTL=$gl_module_indicator_condition else GNULIB_IOCTL="($GNULIB_IOCTL || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_IOCTL 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 $as_echo_n "checking where to find the exponent in a 'double'... " >&6; } if ${gl_cv_cc_double_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "mixed_endianness" >/dev/null 2>&1; then : gl_cv_cc_double_expbit0="unknown" else : if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi : case $ac_cv_c_bigendian in #( yes) gl_cv_cc_double_expbit0="word 0 bit 20";; #( no) gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) gl_cv_cc_double_expbit0="unknown" ;; esac fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_double_expbit0=`cat conftest.out` else gl_cv_cc_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 $as_echo "$gl_cv_cc_double_expbit0" >&6; } case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_BIT $bit _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 $as_echo_n "checking where to find the exponent in a 'float'... " >&6; } if ${gl_cv_cc_float_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_float_expbit0="word 0 bit 23" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_float_expbit0=`cat conftest.out` else gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 $as_echo "$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5 $as_echo_n "checking where to find the exponent in a 'long double'... " >&6; } if ${gl_cv_cc_long_double_expbit0+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_cc_long_double_expbit0="unknown" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <float.h> #include <stddef.h> #include <stdio.h> #include <string.h> #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_cc_long_double_expbit0=`cat conftest.out` else gl_cv_cc_long_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5 $as_echo "$gl_cv_cc_long_double_expbit0" >&6; } case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_BIT $bit _ACEOF ;; esac if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS listen.$ac_objext" fi if test "$GNULIB_LISTEN" != 1; then if test "$GNULIB_LISTEN" = 0; then GNULIB_LISTEN=$gl_module_indicator_condition else GNULIB_LISTEN="($GNULIB_LISTEN || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_LISTEN 1" >>confdefs.h for ac_func in setlocale uselocale do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if ${gt_cv_locale_ja+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5 $as_echo_n "checking for a turkish Unicode locale... " >&6; } if ${gt_cv_locale_tr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=Turkish_Turkey.65001 else # None found. gt_cv_locale_tr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi ;; esac else gt_cv_locale_tr_utf8=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5 $as_echo "$gt_cv_locale_tr_utf8" >&6; } LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if ${gt_cv_locale_ja+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then REPLACE_PERROR=1 fi case ${gl_cv_func_strerror_r_works-unset} in unset|*yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether perror matches strerror" >&5 $as_echo_n "checking whether perror matches strerror... " >&6; } if ${gl_cv_func_perror_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : gl_cv_func_perror_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main () { char *str = strerror (-1); if (!getenv("CONFTEST_OUTPUT")) return 0; if (!str) str = ""; puts (str); errno = -1; perror (""); return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \ && cmp conftest.txt1 conftest.txt2 >/dev/null; then gl_cv_func_perror_works=yes else gl_cv_func_perror_works=no fi rm -rf conftest.txt1 conftest.txt2 else gl_cv_func_perror_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_perror_works" >&5 $as_echo "$gl_cv_func_perror_works" >&6; } if test "$gl_cv_func_perror_works" != yes; then REPLACE_PERROR=1 fi ;; *) REPLACE_PERROR=1 ;; esac if test $REPLACE_PERROR = 1; then gltests_LIBOBJS="$gltests_LIBOBJS perror.$ac_objext" fi if test "$GNULIB_PERROR" != 1; then if test "$GNULIB_PERROR" = 0; then GNULIB_PERROR=$gl_module_indicator_condition else GNULIB_PERROR="($GNULIB_PERROR || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_PERROR 1" >>confdefs.h if test $ac_cv_func_pipe != yes; then HAVE_PIPE=0 fi if test $HAVE_PIPE = 0; then gltests_LIBOBJS="$gltests_LIBOBJS pipe.$ac_objext" fi if test "$GNULIB_PIPE" != 1; then if test "$GNULIB_PIPE" = 0; then GNULIB_PIPE=$gl_module_indicator_condition else GNULIB_PIPE="($GNULIB_PIPE || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_PIPE 1" >>confdefs.h cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ [ #if defined _MSC_VER || defined __MINGW32__ notposix #endif ] _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "notposix" >/dev/null 2>&1; then : posix_spawn_ported=no else posix_spawn_ported=yes fi rm -f conftest* if test $posix_spawn_ported = yes; then POSIX_SPAWN_PORTED_TRUE= POSIX_SPAWN_PORTED_FALSE='#' else POSIX_SPAWN_PORTED_TRUE='#' POSIX_SPAWN_PORTED_FALSE= fi # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi case "$host_os" in mingw*) REPLACE_SETLOCALE=1 ;; cygwin*) case `uname -r` in 1.5.*) REPLACE_SETLOCALE=1 ;; esac ;; esac if test $REPLACE_SETLOCALE = 1; then gltests_LIBOBJS="$gltests_LIBOBJS setlocale.$ac_objext" : fi if test "$GNULIB_SETLOCALE" != 1; then if test "$GNULIB_SETLOCALE" = 0; then GNULIB_SETLOCALE=$gl_module_indicator_condition else GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if ${gt_cv_locale_ja+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS setsockopt.$ac_objext" fi if test "$GNULIB_SETSOCKOPT" != 1; then if test "$GNULIB_SETSOCKOPT" = 0; then GNULIB_SETSOCKOPT=$gl_module_indicator_condition else GNULIB_SETSOCKOPT="($GNULIB_SETSOCKOPT || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include <unistd.h> " if test "x$ac_cv_have_decl_sleep" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SLEEP $ac_have_decl _ACEOF if test $ac_cv_have_decl_sleep != yes; then HAVE_SLEEP=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5 $as_echo_n "checking for working sleep... " >&6; } if ${gl_cv_func_sleep_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_sleep_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <errno.h> #include <unistd.h> #include <signal.h> static void handle_alarm (int sig) { if (sig != SIGALRM) _exit (2); } int main () { /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack sleep. */ unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ unsigned int remaining; signal (SIGALRM, handle_alarm); alarm (1); remaining = sleep (pentecost); if (remaining > pentecost) return 3; if (remaining <= pentecost - 10) return 4; return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_sleep_works=yes else gl_cv_func_sleep_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5 $as_echo "$gl_cv_func_sleep_works" >&6; } case "$gl_cv_func_sleep_works" in *yes) ;; *) REPLACE_SLEEP=1 ;; esac fi if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then gltests_LIBOBJS="$gltests_LIBOBJS sleep.$ac_objext" fi if test "$GNULIB_SLEEP" != 1; then if test "$GNULIB_SLEEP" = 0; then GNULIB_SLEEP=$gl_module_indicator_condition else GNULIB_SLEEP="($GNULIB_SLEEP || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h if test "$ac_cv_header_winsock2_h" = yes; then gltests_LIBOBJS="$gltests_LIBOBJS socket.$ac_objext" fi # When this module is used, sockets may actually occur as file descriptors, # hence it is worth warning if the modules 'close' and 'ioctl' are not used. if test "$ac_cv_header_winsock2_h" = yes; then UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 fi if test "$GNULIB_SOCKET" != 1; then if test "$GNULIB_SOCKET" = 0; then GNULIB_SOCKET=$gl_module_indicator_condition else GNULIB_SOCKET="($GNULIB_SOCKET || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_SOCKET 1" >>confdefs.h if test $ac_cv_have_decl_strerror_r = no; then HAVE_DECL_STRERROR_R=0 fi if test $ac_cv_func_strerror_r = yes; then if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then if test $gl_cv_func_strerror_r_posix_signature = yes; then case "$gl_cv_func_strerror_r_works" in *no) REPLACE_STRERROR_R=1 ;; esac else REPLACE_STRERROR_R=1 fi else REPLACE_STRERROR_R=1 fi fi if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then gltests_LIBOBJS="$gltests_LIBOBJS strerror_r.$ac_objext" fi if test "$GNULIB_STRERROR_R" != 1; then if test "$GNULIB_STRERROR_R" = 0; then GNULIB_STRERROR_R=$gl_module_indicator_condition else GNULIB_STRERROR_R="($GNULIB_STRERROR_R || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_STRERROR_R 1" >>confdefs.h # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is # irrelevant for anonymous mappings. ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes; then : gl_have_mmap=yes else gl_have_mmap=no fi # Try to allow MAP_ANONYMOUS. gl_have_mmap_anonymous=no if test $gl_have_mmap = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 $as_echo_n "checking for MAP_ANONYMOUS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANONYMOUS I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : gl_have_mmap_anonymous=yes fi rm -f conftest* if test $gl_have_mmap_anonymous != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/mman.h> #ifdef MAP_ANON I cannot identify this map #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "I cannot identify this map" >/dev/null 2>&1; then : $as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h gl_have_mmap_anonymous=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 $as_echo "$gl_have_mmap_anonymous" >&6; } if test $gl_have_mmap_anonymous = yes; then $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h fi fi if test $ac_cv_func_symlinkat = no; then HAVE_SYMLINKAT=0 fi if test $HAVE_SYMLINKAT = 0; then gltests_LIBOBJS="$gltests_LIBOBJS symlinkat.$ac_objext" fi if test "$GNULIB_SYMLINKAT" != 1; then if test "$GNULIB_SYMLINKAT" = 0; then GNULIB_SYMLINKAT=$gl_module_indicator_condition else GNULIB_SYMLINKAT="($GNULIB_SYMLINKAT || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_SYMLINKAT 1" >>confdefs.h if test $gl_threads_api = posix; then gl_save_LIBS="$LIBS" LIBS="$LIBS $LIBMULTITHREAD" for ac_func in pthread_atfork do : ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork" if test "x$ac_cv_func_pthread_atfork" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTHREAD_ATFORK 1 _ACEOF fi done LIBS="$gl_save_LIBS" fi # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # Cygwin, and mingw never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to <bug-coreutils@gnu.org>. # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host_os in gnu[0-9]* | \ linux-* | linux | \ freebsd2.2* | freebsd[3-9]* | freebsd[1-9][0-9]* | \ cygwin | \ mingw*) $as_echo "#define UNLINK_CANNOT_UNLINK_DIR 1" >>confdefs.h ;; esac abs_aux_dir=`cd "$ac_aux_dir"; pwd` ac_fn_c_check_type "$LINENO" "useconds_t" "ac_cv_type_useconds_t" "$ac_includes_default" if test "x$ac_cv_type_useconds_t" = xyes; then : else $as_echo "#define useconds_t unsigned int" >>confdefs.h fi if test $ac_cv_func_usleep = no; then HAVE_USLEEP=0 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether usleep allows large arguments" >&5 $as_echo_n "checking whether usleep allows large arguments... " >&6; } if ${gl_cv_func_usleep_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_usleep_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_usleep_works="guessing no" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> int main () { return !!usleep (1000000); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_usleep_works=yes else gl_cv_func_usleep_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_usleep_works" >&5 $as_echo "$gl_cv_func_usleep_works" >&6; } case "$gl_cv_func_usleep_works" in *yes) ;; *) REPLACE_USLEEP=1 ;; esac fi if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then gltests_LIBOBJS="$gltests_LIBOBJS usleep.$ac_objext" fi if test "$GNULIB_USLEEP" != 1; then if test "$GNULIB_USLEEP" = 0; then GNULIB_USLEEP=$gl_module_indicator_condition else GNULIB_USLEEP="($GNULIB_USLEEP || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_USLEEP 1" >>confdefs.h abs_aux_dir=`cd "$ac_aux_dir"; pwd` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5 $as_echo_n "checking for a french Unicode locale... " >&6; } if ${gt_cv_locale_fr_utf8+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !(defined __BEOS__ || defined __HAIKU__) /* Check whether the given locale name is recognized by the system. */ # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; # else if (setlocale (LC_ALL, "") == NULL) return 1; # endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 $as_echo "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 $as_echo_n "checking for a traditional japanese locale... " >&6; } if ${gt_cv_locale_ja+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales on Cygwin 1.5.x. */ if (MB_CUR_MAX == 1) return 1; /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. gt_cv_locale_ja=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the AIX locale name. if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP else # Test for the locale name with explicit encoding suffix. if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC-JP else # Test for the HP-UX, OSF/1, NetBSD locale name. if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.eucJP else # Test for the IRIX, FreeBSD locale name. if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja_JP.EUC else # Test for the Solaris 7 locale name. if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_ja=ja else # Special test for NetBSD 1.6. if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then gt_cv_locale_ja=ja_JP.eucJP else # None found. gt_cv_locale_ja=none fi fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 $as_echo "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5 $as_echo_n "checking for a transitional chinese locale... " >&6; } if ${gt_cv_locale_zh_CN+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <stdlib.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding (except on MirBSD). */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 else # None found. gt_cv_locale_zh_CN=none fi ;; solaris2.8) # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. gt_cv_locale_zh_CN=none ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi ;; esac else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 $as_echo "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN if test $ac_cv_func_wctob = no; then HAVE_WCTOB=0 HAVE_DECL_WCTOB=0 else HAVE_WCTOB=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5 $as_echo_n "checking whether wctob works... " >&6; } if ${gl_cv_func_wctob_works+:} false; then : $as_echo_n "(cached) " >&6 else case "$host_os" in # Guess no on Solaris <= 9 and Cygwin. solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; esac case "$host_os" in cygwin*) if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> register long global __asm__ ("%ebx"); int main () { setlocale (LC_ALL, "en_US.UTF-8"); global = 0x12345678; if (wctob (0x00FC) != -1) return 1; if (global != 0x12345678) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : : else gl_cv_func_wctob_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac if test "$gl_cv_func_wctob_works" != no && test $LOCALE_FR != none; then if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> int main () { if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) { wchar_t wc; if (mbtowc (&wc, "\374", 1) == 1) if (wctob (wc) != (unsigned char) '\374') return 1; } return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_wctob_works=yes else gl_cv_func_wctob_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5 $as_echo "$gl_cv_func_wctob_works" >&6; } case "$gl_cv_func_wctob_works" in *yes) ;; *) REPLACE_WCTOB=1 ;; esac if test $REPLACE_WCTOB = 0; then ac_fn_c_check_decl "$LINENO" "wctob" "ac_cv_have_decl_wctob" " /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stddef.h> #include <stdio.h> #include <time.h> #include <wchar.h> " if test "x$ac_cv_have_decl_wctob" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCTOB $ac_have_decl _ACEOF if test $ac_cv_have_decl_wctob != yes; then HAVE_DECL_WCTOB=0 fi fi fi if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then gltests_LIBOBJS="$gltests_LIBOBJS wctob.$ac_objext" : fi if test "$GNULIB_WCTOB" != 1; then if test "$GNULIB_WCTOB" = 0; then GNULIB_WCTOB=$gl_module_indicator_condition else GNULIB_WCTOB="($GNULIB_WCTOB || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h if false; then REPLACE_WCTOMB=1 fi if test $REPLACE_WCTOMB = 1; then gltests_LIBOBJS="$gltests_LIBOBJS wctomb.$ac_objext" : fi if test "$GNULIB_WCTOMB" != 1; then if test "$GNULIB_WCTOMB" = 0; then GNULIB_WCTOMB=$gl_module_indicator_condition else GNULIB_WCTOMB="($GNULIB_WCTOMB || $gl_module_indicator_condition)" fi fi $as_echo "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h YIELD_LIB= if test $gl_threads_api = posix; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 $as_echo_n "checking for sched_yield in -lrt... " >&6; } if ${ac_cv_lib_rt_sched_yield+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char sched_yield (); int main () { return sched_yield (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_rt_sched_yield=yes else ac_cv_lib_rt_sched_yield=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5 $as_echo "$ac_cv_lib_rt_sched_yield" >&6; } if test "x$ac_cv_lib_rt_sched_yield" = xyes; then : YIELD_LIB=-lrt else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 $as_echo_n "checking for sched_yield in -lposix4... " >&6; } if ${ac_cv_lib_posix4_sched_yield+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char sched_yield (); int main () { return sched_yield (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_posix4_sched_yield=yes else ac_cv_lib_posix4_sched_yield=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5 $as_echo "$ac_cv_lib_posix4_sched_yield" >&6; } if test "x$ac_cv_lib_posix4_sched_yield" = xyes; then : YIELD_LIB=-lposix4 fi fi fi LIBCOREUTILS_LIBDEPS="$gl_libdeps" LIBCOREUTILS_LTLIBDEPS="$gl_ltlibdeps" LIBTESTS_LIBDEPS="$gltests_libdeps" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_strerror+:} false; then : break fi done if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi for ac_header in sys/sysctl.h do : ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include <sys/param.h> #endif " if test "x$ac_cv_header_sys_sysctl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_SYSCTL_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 $as_echo_n "checking whether sys/types.h defines makedev... " >&6; } if ${ac_cv_header_sys_types_h_makedev+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main () { return makedev(0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_header_sys_types_h_makedev=yes else ac_cv_header_sys_types_h_makedev=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 $as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } if test $ac_cv_header_sys_types_h_makedev = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : $as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h fi if test $ac_cv_header_sys_mkdev_h = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : $as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/time.h> #include <time.h> int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi ac_fn_c_check_decl "$LINENO" "geteuid" "ac_cv_have_decl_geteuid" "$ac_includes_default" if test "x$ac_cv_have_decl_geteuid" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETEUID $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getlogin" "ac_cv_have_decl_getlogin" "$ac_includes_default" if test "x$ac_cv_have_decl_getlogin" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLOGIN $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getuid" "ac_cv_have_decl_getuid" "$ac_includes_default" if test "x$ac_cv_have_decl_getuid" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUID $ac_have_decl _ACEOF headers=' #include <sys/types.h> #include <unistd.h> #if HAVE_GRP_H # include <grp.h> #endif #if HAVE_PWD_H # include <pwd.h> #endif ' ac_fn_c_check_decl "$LINENO" "getgrgid" "ac_cv_have_decl_getgrgid" "$headers " if test "x$ac_cv_have_decl_getgrgid" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETGRGID $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "getpwuid" "ac_cv_have_decl_getpwuid" "$headers " if test "x$ac_cv_have_decl_getpwuid" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPWUID $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "ttyname" "ac_cv_have_decl_ttyname" "$headers " if test "x$ac_cv_have_decl_ttyname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TTYNAME $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "setregid" "ac_cv_have_decl_setregid" "$ac_includes_default" if test "x$ac_cv_have_decl_setregid" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SETREGID $ac_have_decl _ACEOF $as_echo "#define PREFER_NONREENTRANT_EUIDACCESS 1" >>confdefs.h # Check whether --enable-xattr was given. if test "${enable_xattr+set}" = set; then : enableval=$enable_xattr; use_xattr=$enableval else use_xattr=yes fi LIB_XATTR= if test "$use_xattr" = "yes"; then for ac_header in attr/error_context.h attr/libattr.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done use_xattr=no if test $ac_cv_header_attr_libattr_h = yes \ && test $ac_cv_header_attr_error_context_h = yes; then xattr_saved_LIBS=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing attr_copy_file" >&5 $as_echo_n "checking for library containing attr_copy_file... " >&6; } if ${ac_cv_search_attr_copy_file+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char attr_copy_file (); int main () { return attr_copy_file (); ; return 0; } _ACEOF for ac_lib in '' attr; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_attr_copy_file=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_attr_copy_file+:} false; then : break fi done if ${ac_cv_search_attr_copy_file+:} false; then : else ac_cv_search_attr_copy_file=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_attr_copy_file" >&5 $as_echo "$ac_cv_search_attr_copy_file" >&6; } ac_res=$ac_cv_search_attr_copy_file if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_attr_copy_file" = "none required" || LIB_XATTR=$ac_cv_search_attr_copy_file fi for ac_func in attr_copy_file do : ac_fn_c_check_func "$LINENO" "attr_copy_file" "ac_cv_func_attr_copy_file" if test "x$ac_cv_func_attr_copy_file" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ATTR_COPY_FILE 1 _ACEOF fi done LIBS=$xattr_saved_LIBS if test $ac_cv_func_attr_copy_file = yes; then use_xattr=yes fi fi if test $use_xattr = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libattr development library was not found or not usable." >&5 $as_echo "$as_me: WARNING: libattr development library was not found or not usable." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be built without xattr support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be built without xattr support." >&2;} fi fi cat >>confdefs.h <<_ACEOF #define USE_XATTR `test $use_xattr != yes; echo $?` _ACEOF # gnulib settings. # We don't use c-stack.c. # AC_REQUIRE([gl_C_STACK]) # Invoke macros of modules that may migrate into gnulib. # There's no need to list gnulib modules here, since gnulib-tool # handles that; see ../bootstrap.conf. HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} ac_fn_c_check_member "$LINENO" "struct stat" "st_author" "ac_cv_member_struct_stat_st_author" "$ac_includes_default #include <sys/stat.h> " if test "x$ac_cv_member_struct_stat_st_author" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_AUTHOR 1 _ACEOF fi ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default" if test "x$ac_cv_type_ino_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define ino_t unsigned long int _ACEOF fi ac_fn_c_check_type "$LINENO" "major_t" "ac_cv_type_major_t" "$ac_includes_default" if test "x$ac_cv_type_major_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define major_t unsigned int _ACEOF fi ac_fn_c_check_type "$LINENO" "minor_t" "ac_cv_type_minor_t" "$ac_includes_default" if test "x$ac_cv_type_minor_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define minor_t unsigned int _ACEOF fi # By default, argmatch should fail calling usage (EXIT_FAILURE). $as_echo "#define ARGMATCH_DIE usage (EXIT_FAILURE)" >>confdefs.h $as_echo "#define ARGMATCH_DIE_DECL void usage (int _e)" >>confdefs.h # used by shred # Used by install.c. coreutils_saved_libs=$LIBS LIBS="$LIBS $LIB_SELINUX" for ac_func in matchpathcon_init_prefix do : ac_fn_c_check_func "$LINENO" "matchpathcon_init_prefix" "ac_cv_func_matchpathcon_init_prefix" if test "x$ac_cv_func_matchpathcon_init_prefix" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MATCHPATHCON_INIT_PREFIX 1 _ACEOF else case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in no:*) # SELinux disabled ;; *:no) # SELinux disabled ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SELinux enabled, but matchpathcon_init_prefix not found" >&5 $as_echo "$as_me: WARNING: SELinux enabled, but matchpathcon_init_prefix not found" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The install utility may run slowly" >&5 $as_echo "$as_me: WARNING: The install utility may run slowly" >&2;} esac fi done LIBS=$coreutils_saved_libs # Used by sort.c. # Used by timeout.c # Used by tail.c. for ac_func in inotify_init do : ac_fn_c_check_func "$LINENO" "inotify_init" "ac_cv_func_inotify_init" if test "x$ac_cv_func_inotify_init" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INOTIFY_INIT 1 _ACEOF $as_echo "#define HAVE_INOTIFY 1" >>confdefs.h fi done # These checks are for Interix, to avoid its getgr* functions, in favor # of these replacements. The replacement functions are much more efficient # because they do not query the domain controller for user information # when it is not needed. test $ac_cv_header_sys_param_h = yes && test $ac_cv_header_sys_mount_h = yes && for ac_header in nfs/vfs.h do : ac_fn_c_check_header_mongrel "$LINENO" "nfs/vfs.h" "ac_cv_header_nfs_vfs_h" "$ac_includes_default" if test "x$ac_cv_header_nfs_vfs_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NFS_VFS_H 1 _ACEOF for ac_header in nfs/nfs_client.h do : ac_fn_c_check_header_mongrel "$LINENO" "nfs/nfs_client.h" "ac_cv_header_nfs_nfs_client_h" "$ac_includes_default" if test "x$ac_cv_header_nfs_nfs_client_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NFS_NFS_CLIENT_H 1 _ACEOF fi done fi done statvfs_includes="\ $ac_includes_default #include <sys/statvfs.h> " statfs_includes="\ $ac_includes_default #if HAVE_SYS_VFS_H # include <sys/vfs.h> #elif HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H # include <sys/param.h> # include <sys/mount.h> # if HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H # include <netinet/in.h> # include <nfs/nfs_clnt.h> # include <nfs/vfs.h> # endif #elif HAVE_OS_H # include <fs_info.h> #endif " if case "$fu_cv_sys_stat_statvfs$fu_cv_sys_stat_statvfs64" in *yes*) ;; *) false;; esac && { ac_fn_c_check_member "$LINENO" "struct statvfs" "f_basetype" "ac_cv_member_struct_statvfs_f_basetype" "$statvfs_includes " if test "x$ac_cv_member_struct_statvfs_f_basetype" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_BASETYPE 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_basetype = yes || { ac_fn_c_check_member "$LINENO" "struct statvfs" "f_fstypename" "ac_cv_member_struct_statvfs_f_fstypename" "$statvfs_includes " if test "x$ac_cv_member_struct_statvfs_f_fstypename" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_FSTYPENAME 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_fstypename = yes || { test $ac_cv_member_struct_statfs_f_fstypename != yes && { ac_fn_c_check_member "$LINENO" "struct statvfs" "f_type" "ac_cv_member_struct_statvfs_f_type" "$statvfs_includes " if test "x$ac_cv_member_struct_statvfs_f_type" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_TYPE 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_type = yes; }; }; }; } then ac_fn_c_check_member "$LINENO" "struct statvfs" "f_namemax" "ac_cv_member_struct_statvfs_f_namemax" "$statvfs_includes " if test "x$ac_cv_member_struct_statvfs_f_namemax" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_NAMEMAX 1 _ACEOF fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $statvfs_includes int main () { static statvfs s; return (s.s_fsid ^ 0) == 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define STRUCT_STATVFS_F_FSID_IS_INTEGER 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else ac_fn_c_check_member "$LINENO" "struct statfs" "f_namelen" "ac_cv_member_struct_statfs_f_namelen" "$statfs_includes " if test "x$ac_cv_member_struct_statfs_f_namelen" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_NAMELEN 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct statfs" "f_type" "ac_cv_member_struct_statfs_f_type" "$statfs_includes " if test "x$ac_cv_member_struct_statfs_f_type" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_TYPE 1 _ACEOF fi ac_fn_c_check_member "$LINENO" "struct statfs" "f_frsize" "ac_cv_member_struct_statfs_f_frsize" "$statfs_includes " if test "x$ac_cv_member_struct_statfs_f_frsize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_FRSIZE 1 _ACEOF fi if test $ac_cv_header_OS_h != yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $statfs_includes int main () { static statfs s; return (s.s_fsid ^ 0) == 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define STRUCT_STATFS_F_FSID_IS_INTEGER 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi # for dd.c and shred.c # # Use fdatasync only if declared. On MacOS X 10.7, fdatasync exists but # is not declared, and is ineffective. LIB_FDATASYNC= if test $ac_cv_have_decl_fdatasync = yes; then coreutils_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fdatasync" >&5 $as_echo_n "checking for library containing fdatasync... " >&6; } if ${ac_cv_search_fdatasync+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fdatasync (); int main () { return fdatasync (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_fdatasync=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_fdatasync+:} false; then : break fi done if ${ac_cv_search_fdatasync+:} false; then : else ac_cv_search_fdatasync=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fdatasync" >&5 $as_echo "$ac_cv_search_fdatasync" >&6; } ac_res=$ac_cv_search_fdatasync if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync fi for ac_func in fdatasync do : ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" if test "x$ac_cv_func_fdatasync" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FDATASYNC 1 _ACEOF fi done LIBS=$coreutils_saved_libs fi # Check whether libcap is usable -- for ls --color support LIB_CAP= # Check whether --enable-libcap was given. if test "${enable_libcap+set}" = set; then : enableval=$enable_libcap; fi if test "X$enable_libcap" != "Xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cap_get_file in -lcap" >&5 $as_echo_n "checking for cap_get_file in -lcap... " >&6; } if ${ac_cv_lib_cap_cap_get_file+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char cap_get_file (); int main () { return cap_get_file (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_cap_cap_get_file=yes else ac_cv_lib_cap_cap_get_file=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cap_cap_get_file" >&5 $as_echo "$ac_cv_lib_cap_cap_get_file" >&6; } if test "x$ac_cv_lib_cap_cap_get_file" = xyes; then : ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" if test "x$ac_cv_header_sys_capability_h" = xyes; then : LIB_CAP=-lcap $as_echo "#define HAVE_CAP 1" >>confdefs.h fi fi if test "X$LIB_CAP" = "X"; then if test "X$enable_libcap" = "Xyes"; then as_fn_error $? "libcap library was not found or not usable" "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libcap library was not found or not usable." >&5 $as_echo "$as_me: WARNING: libcap library was not found or not usable." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be built without capability support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be built without capability support." >&2;} fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libcap support disabled by user" >&5 $as_echo "$as_me: WARNING: libcap support disabled by user" >&2;} fi # See if linking 'seq' requires -lm. # It does on nearly every system. The single exception (so far) is # BeOS which has all the math functions in the normal runtime library # and doesn't have a separate math library. ac_seq_body=' static double x, y; x = floor (x); x = rint (x); x = modf (x, &y);' cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> int main () { $ac_seq_body ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : else ac_seq_save_LIBS="$LIBS" LIBS="$LIBS -lm" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <math.h> int main () { $ac_seq_body ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : SEQ_LIBM=-lm fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$ac_seq_save_LIBS" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # Accept configure options: --with-tty-group[=GROUP], --without-tty-group # You can determine the group of a TTY via 'stat --format %G /dev/tty' # Omitting this option is equivalent to using --without-tty-group. # Check whether --with-tty-group was given. if test "${with_tty_group+set}" = set; then : withval=$with_tty_group; tty_group_name=$withval else tty_group_name=no fi if test "x$tty_group_name" != xno; then if test "x$tty_group_name" = xyes; then tty_group_name=tty fi { $as_echo "$as_me:${as_lineno-$LINENO}: TTY group used by system set to \"$tty_group_name\"" >&5 $as_echo "$as_me: TTY group used by system set to \"$tty_group_name\"" >&6;} cat >>confdefs.h <<_ACEOF #define TTY_GROUP_NAME "$tty_group_name" _ACEOF fi # The test suite needs to know if we have a working perl. # FIXME: this is suboptimal. Ideally, we would be able to call gl_PERL # with an ACTION-IF-NOT-FOUND argument ... cu_have_perl=yes case $PERL in *"/missing "*) cu_have_perl=no;; esac if test $cu_have_perl = yes; then HAVE_PERL_TRUE= HAVE_PERL_FALSE='#' else HAVE_PERL_TRUE='#' HAVE_PERL_FALSE= fi # gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) # ------------------------------------------------ # If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. # Otherwise, run RUN-IF-NOT-FOUND. # Check whether --enable-gcc-warnings was given. if test "${enable_gcc_warnings+set}" = set; then : enableval=$enable_gcc_warnings; case $enableval in yes|no) ;; *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; esac gl_gcc_warnings=$enableval else # GCC provides fine-grained control over diagnostics which # is used in gnulib for example to suppress warnings from # certain sections of code. So if this is available and # we're running from a git repo, then auto enable the warnings. gl_gcc_warnings=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (4) < __GNUC__ || ((4) == __GNUC__ && (6) <= __GNUC_MINOR__) /* ok */ #else # error "your version of gcc is older than 4.6" #endif int main () { ; return 0; }, _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : test -d "$srcdir"/.git && gl_gcc_warnings=yes fi rm -f conftest.err conftest.i conftest.$ac_ext fi if test "$gl_gcc_warnings" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5 $as_echo_n "checking whether C compiler handles -Werror... " >&6; } if ${gl_cv_warn_c__Werror+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__Werror=yes else gl_cv_warn_c__Werror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5 $as_echo "$gl_cv_warn_c__Werror" >&6; } if test "x$gl_cv_warn_c__Werror" = xyes; then : as_fn_append WERROR_CFLAGS " -Werror" fi nw= # This, $nw, is the list of warnings we disable. nw="$nw -Wdeclaration-after-statement" # too useful to forbid nw="$nw -Waggregate-return" # anachronistic nw="$nw -Wlong-long" # C90 is anachronistic (lib/gethrxtime.h) nw="$nw -Wc++-compat" # We don't care about C++ compilers nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib nw="$nw -Wtraditional" # Warns on #elif which we use often nw="$nw -Wcast-qual" # Too many warnings for now nw="$nw -Wconversion" # Too many warnings for now nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wsign-conversion" # Too many warnings for now nw="$nw -Wtraditional-conversion" # Too many warnings for now nw="$nw -Wunreachable-code" # Too many warnings for now nw="$nw -Wpadded" # Our structs are not padded nw="$nw -Wredundant-decls" # openat.h declares e.g., mkdirat nw="$nw -Wlogical-op" # any use of fwrite provokes this nw="$nw -Wformat-nonliteral" # who.c and pinky.c strftime uses nw="$nw -Wvla" # warnings in gettext.h nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__ nw="$nw -Wswitch-enum" # Too many warnings for now nw="$nw -Wswitch-default" # Too many warnings for now nw="$nw -Wstack-protector" # not worth working around # things I might fix soon: nw="$nw -Wfloat-equal" # sort.c, seq.c nw="$nw -Wmissing-format-attribute" # copy.c nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c nw="$nw -Winline" # system.h's readdir_ignoring_dot_and_dotdot nw="$nw -Wsuggest-attribute=format" # warns about copy.c and factor.c # Using -Wstrict-overflow is a pain, but the alternative is worse. # For an example, see the code that provoked this report: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33498 # Code like that still infloops with gcc-4.6.0 and -O2. Scary indeed. if test -n "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 $as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } if ${gl_cv_cc_nomfi_supported+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_nomfi_supported=yes else gl_cv_cc_nomfi_supported=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 $as_echo "$gl_cv_cc_nomfi_supported" >&6; } if test "$gl_cv_cc_nomfi_supported" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 $as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } if ${gl_cv_cc_nomfi_needed+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void f (void) { typedef struct { int a; int b; } s_t; s_t s1 = { 0, }; } int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_nomfi_needed=no else gl_cv_cc_nomfi_needed=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 $as_echo "$gl_cv_cc_nomfi_needed" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 $as_echo_n "checking whether -Wuninitialized is supported... " >&6; } if ${gl_cv_cc_uninitialized_supported+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror -Wuninitialized" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_uninitialized_supported=yes else gl_cv_cc_uninitialized_supported=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 $as_echo "$gl_cv_cc_uninitialized_supported" >&6; } fi # List all gcc warning categories. gl_manywarn_set= for gl_manywarn_item in \ -W \ -Wabi \ -Waddress \ -Wall \ -Warray-bounds \ -Wattributes \ -Wbad-function-cast \ -Wbuiltin-macro-redefined \ -Wcast-align \ -Wchar-subscripts \ -Wclobbered \ -Wcomment \ -Wcomments \ -Wcoverage-mismatch \ -Wcpp \ -Wdeprecated \ -Wdeprecated-declarations \ -Wdisabled-optimization \ -Wdiv-by-zero \ -Wdouble-promotion \ -Wempty-body \ -Wendif-labels \ -Wenum-compare \ -Wextra \ -Wformat-contains-nul \ -Wformat-extra-args \ -Wformat-nonliteral \ -Wformat-security \ -Wformat-y2k \ -Wformat-zero-length \ -Wformat=2 \ -Wfree-nonheap-object \ -Wignored-qualifiers \ -Wimplicit \ -Wimplicit-function-declaration \ -Wimplicit-int \ -Winit-self \ -Winline \ -Wint-to-pointer-cast \ -Winvalid-memory-model \ -Winvalid-pch \ -Wjump-misses-init \ -Wlogical-op \ -Wmain \ -Wmaybe-uninitialized \ -Wmissing-braces \ -Wmissing-declarations \ -Wmissing-field-initializers \ -Wmissing-format-attribute \ -Wmissing-include-dirs \ -Wmissing-noreturn \ -Wmissing-parameter-type \ -Wmissing-prototypes \ -Wmudflap \ -Wmultichar \ -Wnarrowing \ -Wnested-externs \ -Wnonnull \ -Wnormalized=nfc \ -Wold-style-declaration \ -Wold-style-definition \ -Woverflow \ -Woverlength-strings \ -Woverride-init \ -Wpacked \ -Wpacked-bitfield-compat \ -Wparentheses \ -Wpointer-arith \ -Wpointer-sign \ -Wpointer-to-int-cast \ -Wpragmas \ -Wreturn-type \ -Wsequence-point \ -Wshadow \ -Wsizeof-pointer-memaccess \ -Wstack-protector \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wstrict-prototypes \ -Wsuggest-attribute=const \ -Wsuggest-attribute=format \ -Wsuggest-attribute=noreturn \ -Wsuggest-attribute=pure \ -Wswitch \ -Wswitch-default \ -Wsync-nand \ -Wsystem-headers \ -Wtrampolines \ -Wtrigraphs \ -Wtype-limits \ -Wuninitialized \ -Wunknown-pragmas \ -Wunreachable-code \ -Wunsafe-loop-optimizations \ -Wunused \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ -Wunused-function \ -Wunused-label \ -Wunused-local-typedefs \ -Wunused-macros \ -Wunused-parameter \ -Wunused-result \ -Wunused-value \ -Wunused-variable \ -Wvarargs \ -Wvariadic-macros \ -Wvector-operation-performance \ -Wvla \ -Wvolatile-register-var \ -Wwrite-strings \ \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # Disable specific options as needed. if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" fi if test "$gl_cv_cc_uninitialized_supported" = no; then gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" fi ws=$gl_manywarn_set gl_warn_set= set x $ws; shift for gl_warn_item do case " $nw " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done ws=$gl_warn_set for w in $ws; do as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5 $as_echo_n "checking whether C compiler handles $w... " >&6; } if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " $w" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : as_fn_append WARN_CFLAGS " $w" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5 $as_echo_n "checking whether C compiler handles -Wno-sign-compare... " >&6; } if ${gl_cv_warn_c__Wno_sign_compare+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wno-sign-compare" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__Wno_sign_compare=yes else gl_cv_warn_c__Wno_sign_compare=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_sign_compare" >&5 $as_echo "$gl_cv_warn_c__Wno_sign_compare" >&6; } if test "x$gl_cv_warn_c__Wno_sign_compare" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-sign-compare" fi # Too many warnings for now { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 $as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; } if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wno-unused-parameter" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__Wno_unused_parameter=yes else gl_cv_warn_c__Wno_unused_parameter=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5 $as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; } if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-unused-parameter" fi # Too many warnings for now as_gl_Warn=`$as_echo "gl_cv_warn_c_-Wsuggest-attribute=const" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wsuggest-attribute=const" >&5 $as_echo_n "checking whether C compiler handles -Wsuggest-attribute=const... " >&6; } if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wsuggest-attribute=const" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : as_fn_append WARN_CFLAGS " -Wsuggest-attribute=const" fi as_gl_Warn=`$as_echo "gl_cv_warn_c_-Wsuggest-attribute=noreturn" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wsuggest-attribute=noreturn" >&5 $as_echo_n "checking whether C compiler handles -Wsuggest-attribute=noreturn... " >&6; } if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wsuggest-attribute=noreturn" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : as_fn_append WARN_CFLAGS " -Wsuggest-attribute=noreturn" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5 $as_echo_n "checking whether C compiler handles -Wno-format-nonliteral... " >&6; } if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wno-format-nonliteral" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__Wno_format_nonliteral=yes else gl_cv_warn_c__Wno_format_nonliteral=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_nonliteral" >&5 $as_echo "$gl_cv_warn_c__Wno_format_nonliteral" >&6; } if test "x$gl_cv_warn_c__Wno_format_nonliteral" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-format-nonliteral" fi # Enable this warning only with gcc-4.7 and newer. With 4.6.2 20111027, # it suggests test.c's advance function may be pure, even though it # increments a global variable. Oops. # Normally we'd write code to test for the precise failure, but that # requires a relatively large input to make gcc exhibit the failure. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if (4) < __GNUC__ || ((4) == __GNUC__ && (7) <= __GNUC_MINOR__) /* ok */ #else # error "your version of gcc is older than 4.7" #endif int main () { ; return 0; }, _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : as_gl_Warn=`$as_echo "gl_cv_warn_c_-Wsuggest-attribute=pure" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wsuggest-attribute=pure" >&5 $as_echo_n "checking whether C compiler handles -Wsuggest-attribute=pure... " >&6; } if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wsuggest-attribute=pure" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : as_fn_append WARN_CFLAGS " -Wsuggest-attribute=pure" fi fi rm -f conftest.err conftest.i conftest.$ac_ext # In spite of excluding -Wlogical-op above, it is enabled, as of # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-logical-op" >&5 $as_echo_n "checking whether C compiler handles -Wno-logical-op... " >&6; } if ${gl_cv_warn_c__Wno_logical_op+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -Wno-logical-op" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__Wno_logical_op=yes else gl_cv_warn_c__Wno_logical_op=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_logical_op" >&5 $as_echo "$gl_cv_warn_c__Wno_logical_op" >&6; } if test "x$gl_cv_warn_c__Wno_logical_op" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-logical-op" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5 $as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; } if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -fdiagnostics-show-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__fdiagnostics_show_option=yes else gl_cv_warn_c__fdiagnostics_show_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5 $as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; } if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then : as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -funit-at-a-time" >&5 $as_echo_n "checking whether C compiler handles -funit-at-a-time... " >&6; } if ${gl_cv_warn_c__funit_at_a_time+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" as_fn_append CFLAGS " -funit-at-a-time" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_warn_c__funit_at_a_time=yes else gl_cv_warn_c__funit_at_a_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__funit_at_a_time" >&5 $as_echo "$gl_cv_warn_c__funit_at_a_time" >&6; } if test "x$gl_cv_warn_c__funit_at_a_time" = xyes; then : as_fn_append WARN_CFLAGS " -funit-at-a-time" fi $as_echo "#define lint 1" >>confdefs.h $as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h # We use a slightly smaller set of warning options for lib/. # Remove the following and save the result in GNULIB_WARN_CFLAGS. nw= nw="$nw -Wstrict-overflow" nw="$nw -Wuninitialized" nw="$nw -Wunused-macros" nw="$nw -Wmissing-prototypes" nw="$nw -Wold-style-definition" # FIXME: it may be easy to remove this, since it affects only one file: # the snprintf call at ftoastr.c:132. nw="$nw -Wdouble-promotion" gl_warn_set= set x $WARN_CFLAGS; shift for gl_warn_item do case " $nw " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done GNULIB_WARN_CFLAGS=$gl_warn_set # For gnulib-tests, the set is slightly smaller still. nw= nw="$nw -Wstrict-prototypes" # It's not worth being this picky about test programs. nw="$nw -Wsuggest-attribute=const" nw="$nw -Wsuggest-attribute=pure" gl_warn_set= set x $GNULIB_WARN_CFLAGS; shift for gl_warn_item do case " $nw " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done GNULIB_TEST_WARN_CFLAGS=$gl_warn_set fi for ac_header in vfork.h do : ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" if test "x$ac_cv_header_vfork_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VFORK_H 1 _ACEOF fi done for ac_func in fork vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_fork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* By Ruediger Kuhlmann. */ return fork () < 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_fork_works=yes else ac_cv_func_fork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 $as_echo "$ac_cv_func_fork_works" >&6; } else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_vfork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default #include <sys/wait.h> #ifdef HAVE_VFORK_H # include <vfork.h> #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include <vfork.h>, but some compilers (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; return ( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_vfork_works=yes else ac_cv_func_vfork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 $as_echo "$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then $as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h else $as_echo "#define vfork fork" >>confdefs.h fi if test "x$ac_cv_func_fork_works" = xyes; then $as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h fi optional_bin_progs= for ac_func in chroot do : ac_fn_c_check_func "$LINENO" "chroot" "ac_cv_func_chroot" if test "x$ac_cv_func_chroot" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CHROOT 1 _ACEOF { if test -z "$optional_bin_progs"; then optional_bin_progs=chroot else optional_bin_progs="$optional_bin_progs chroot" fi } fi done for ac_func in gethostid do : ac_fn_c_check_func "$LINENO" "gethostid" "ac_cv_func_gethostid" if test "x$ac_cv_func_gethostid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETHOSTID 1 _ACEOF { if test -z "$optional_bin_progs"; then optional_bin_progs=hostid else optional_bin_progs="$optional_bin_progs hostid" fi } fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of struct winsize requires sys/ptem.h" >&5 $as_echo_n "checking whether use of struct winsize requires sys/ptem.h... " >&6; } if ${gl_cv_sys_struct_winsize_needs_sys_ptem_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termios.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ptem.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 $as_echo "$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then $as_echo "#define WINSIZE_IN_PTEM 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime caches TZ" >&5 $as_echo_n "checking whether localtime caches TZ... " >&6; } if ${utils_cv_localtime_cache+:} false; then : $as_echo_n "(cached) " >&6 else if test x$ac_cv_func_tzset = xyes; then if test "$cross_compiling" = yes; then : # If we have tzset, assume the worst when cross-compiling. utils_cv_localtime_cache=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <time.h> #if STDC_HEADERS # include <stdlib.h> #endif extern char **environ; void unset_TZ (void) { char **from, **to; for (to = from = environ; (*to = *from); from++) if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) to++; } int main() { time_t now = time ((time_t *) 0); int hour_GMT0, hour_unset; if (putenv ("TZ=GMT0") != 0) return 1; hour_GMT0 = localtime (&now)->tm_hour; unset_TZ (); hour_unset = localtime (&now)->tm_hour; if (putenv ("TZ=PST8") != 0) return 1; if (localtime (&now)->tm_hour == hour_GMT0) return 1; unset_TZ (); if (localtime (&now)->tm_hour != hour_unset) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : utils_cv_localtime_cache=no else utils_cv_localtime_cache=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else # If we lack tzset, report that localtime does not cache TZ, # since we can't invalidate the cache if we don't have tzset. utils_cv_localtime_cache=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $utils_cv_localtime_cache" >&5 $as_echo "$utils_cv_localtime_cache" >&6; } if test $utils_cv_localtime_cache = yes; then $as_echo "#define LOCALTIME_CACHE 1" >>confdefs.h fi # SCO-ODT-3.0 is reported to need -los to link programs using initgroups for ac_func in initgroups do : ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups" if test "x$ac_cv_func_initgroups" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INITGROUPS 1 _ACEOF fi done if test $ac_cv_func_initgroups = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initgroups in -los" >&5 $as_echo_n "checking for initgroups in -los... " >&6; } if ${ac_cv_lib_os_initgroups+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-los $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char initgroups (); int main () { return initgroups (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_os_initgroups=yes else ac_cv_lib_os_initgroups=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_os_initgroups" >&5 $as_echo "$ac_cv_lib_os_initgroups" >&6; } if test "x$ac_cv_lib_os_initgroups" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBOS 1 _ACEOF LIBS="-los $LIBS" fi fi for ac_func in syslog do : ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" if test "x$ac_cv_func_syslog" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYSLOG 1 _ACEOF fi done if test $ac_cv_func_syslog = no; then # syslog is not in the default libraries. See if it's in some other. for lib in bsd socket inet; do as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_syslog" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -l$lib" >&5 $as_echo_n "checking for syslog in -l$lib... " >&6; } if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$lib $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char syslog (); int main () { return syslog (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : $as_echo "#define HAVE_SYSLOG 1" >>confdefs.h LIBS="$LIBS -l$lib"; break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 3-argument setpriority function" >&5 $as_echo_n "checking for 3-argument setpriority function... " >&6; } if ${utils_cv_func_setpriority+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/time.h> #include <sys/resource.h> int main () { setpriority (0, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : utils_cv_func_setpriority=yes else utils_cv_func_setpriority=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $utils_cv_func_setpriority" >&5 $as_echo "$utils_cv_func_setpriority" >&6; } if test $utils_cv_func_setpriority = no; then for ac_func in nice do : ac_fn_c_check_func "$LINENO" "nice" "ac_cv_func_nice" if test "x$ac_cv_func_nice" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NICE 1 _ACEOF fi done fi case $utils_cv_func_setpriority,$ac_cv_func_nice in *yes*) { if test -z "$optional_bin_progs"; then optional_bin_progs=nice else optional_bin_progs="$optional_bin_progs nice" fi } esac if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=who else optional_bin_progs="$optional_bin_progs who" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=users else optional_bin_progs="$optional_bin_progs users" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=pinky else optional_bin_progs="$optional_bin_progs pinky" fi } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking ut_host in struct utmp" >&5 $as_echo_n "checking ut_host in struct utmp... " >&6; } if ${su_cv_func_ut_host_in_utmp+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <utmp.h> int main () { struct utmp ut; return !sizeof ut.ut_host; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : su_cv_func_ut_host_in_utmp=yes else su_cv_func_ut_host_in_utmp=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $su_cv_func_ut_host_in_utmp" >&5 $as_echo "$su_cv_func_ut_host_in_utmp" >&6; } if test $su_cv_func_ut_host_in_utmp = yes; then have_ut_host=1 $as_echo "#define HAVE_UT_HOST 1" >>confdefs.h fi if test -z "$have_ut_host"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking ut_host in struct utmpx" >&5 $as_echo_n "checking ut_host in struct utmpx... " >&6; } if ${su_cv_func_ut_host_in_utmpx+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <utmpx.h> int main () { struct utmpx ut; return !sizeof ut.ut_host; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : su_cv_func_ut_host_in_utmpx=yes else su_cv_func_ut_host_in_utmpx=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $su_cv_func_ut_host_in_utmpx" >&5 $as_echo "$su_cv_func_ut_host_in_utmpx" >&6; } if test $su_cv_func_ut_host_in_utmpx = yes; then $as_echo "#define HAVE_UTMPX_H 1" >>confdefs.h $as_echo "#define HAVE_UT_HOST 1" >>confdefs.h fi fi for ac_func in sysctl do : ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" if test "x$ac_cv_func_sysctl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYSCTL 1 _ACEOF fi done for ac_header in sys/sysctl.h do : ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include <sys/param.h> #endif " if test "x$ac_cv_header_sys_sysctl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_SYSCTL_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can get the system boot time" >&5 $as_echo_n "checking whether we can get the system boot time... " >&6; } if ${gnulib_cv_have_boot_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H # if HAVE_SYS_PARAM_H # include <sys/param.h> /* needed for OpenBSD 3.0 */ # endif # include <sys/sysctl.h> #endif #if HAVE_UTMPX_H # include <utmpx.h> #elif HAVE_UTMP_H # include <utmp.h> #endif #if HAVE_OS_H # include <OS.h> #endif int main () { #if (defined BOOT_TIME \ || (defined CTL_KERN && defined KERN_BOOTTIME) \ || HAVE_OS_H) /* your system *does* have the infrastructure to determine boot time */ #else please_tell_us_how_to_determine_boot_time_on_your_system #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gnulib_cv_have_boot_time=yes else gnulib_cv_have_boot_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnulib_cv_have_boot_time" >&5 $as_echo "$gnulib_cv_have_boot_time" >&6; } if test $gnulib_cv_have_boot_time = yes; then : { if test -z "$optional_bin_progs"; then optional_bin_progs=uptime else optional_bin_progs="$optional_bin_progs uptime" fi } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX termios" >&5 $as_echo_n "checking POSIX termios... " >&6; } if ${ac_cv_sys_posix_termios+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <unistd.h> #include <termios.h> int main () { /* SunOS 4.0.3 has termios.h but not the library calls. */ tcgetattr(0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_posix_termios=yes else ac_cv_sys_posix_termios=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_posix_termios" >&5 $as_echo "$ac_cv_sys_posix_termios" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5 $as_echo_n "checking whether use of TIOCGWINSZ requires sys/ioctl.h... " >&6; } if ${gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> # include <sys/ioctl.h> # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&5 $as_echo "$gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then $as_echo "#define GWINSZ_IN_SYS_IOCTL 1" >>confdefs.h fi if test $ac_cv_sys_posix_termios = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=stty else optional_bin_progs="$optional_bin_progs stty" fi } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether termios.h needs _XOPEN_SOURCE" >&5 $as_echo_n "checking whether termios.h needs _XOPEN_SOURCE... " >&6; } if ${su_cv_sys_termios_needs_xopen_source+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termios.h> #ifdef IUCLC yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : su_cv_sys_termios_needs_xopen_source=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE #include <termios.h> #ifdef IUCLC yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : su_cv_sys_termios_needs_xopen_source=yes else su_cv_sys_termios_needs_xopen_source=no fi rm -f conftest* fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $su_cv_sys_termios_needs_xopen_source" >&5 $as_echo "$su_cv_sys_termios_needs_xopen_source" >&6; } test $su_cv_sys_termios_needs_xopen_source = yes && $as_echo "#define TERMIOS_NEEDS_XOPEN_SOURCE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking c_line in struct termios" >&5 $as_echo_n "checking c_line in struct termios... " >&6; } if ${su_cv_sys_c_line_in_termios+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if TERMIOS_NEEDS_XOPEN_SOURCE #define _XOPEN_SOURCE #endif #include <sys/types.h> #include <termios.h> int main () { struct termios t; return !sizeof t.c_line; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : su_cv_sys_c_line_in_termios=yes else su_cv_sys_c_line_in_termios=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $su_cv_sys_c_line_in_termios" >&5 $as_echo "$su_cv_sys_c_line_in_termios" >&6; } test $su_cv_sys_c_line_in_termios = yes \ && $as_echo "#define HAVE_C_LINE 1" >>confdefs.h fi # FIXME: note that this macro appears above, too. # I'm leaving it here for now. This whole thing needs to be modernized... { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of struct winsize requires sys/ptem.h" >&5 $as_echo_n "checking whether use of struct winsize requires sys/ptem.h... " >&6; } if ${gl_cv_sys_struct_winsize_needs_sys_ptem_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <termios.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/ptem.h> int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 $as_echo "$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then $as_echo "#define WINSIZE_IN_PTEM 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether use of TIOCGWINSZ requires termios.h" >&5 $as_echo_n "checking whether use of TIOCGWINSZ requires termios.h... " >&6; } if ${gl_cv_sys_tiocgwinsz_needs_termios_h+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> # include <termios.h> # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 $as_echo "$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \ test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking TIOCGWINSZ in sys/pty.h" >&5 $as_echo_n "checking TIOCGWINSZ in sys/pty.h... " >&6; } if ${su_cv_sys_tiocgwinsz_in_sys_pty_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef WINSIZE_IN_PTEM # include <sys/stream.h> # include <sys/ptem.h> #endif #include <sys/ioctl.h> #include <sys/tty.h> #include <sys/pty.h> int main () { int x = TIOCGWINSZ; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : su_cv_sys_tiocgwinsz_in_sys_pty_h=yes else su_cv_sys_tiocgwinsz_in_sys_pty_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $su_cv_sys_tiocgwinsz_in_sys_pty_h" >&5 $as_echo "$su_cv_sys_tiocgwinsz_in_sys_pty_h" >&6; } test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \ && $as_echo "#define GWINSZ_IN_SYS_PTY 1" >>confdefs.h fi # For src/kill.c. ac_fn_c_check_decl "$LINENO" "strsignal" "ac_cv_have_decl_strsignal" "$ac_includes_default #include <signal.h> " if test "x$ac_cv_have_decl_strsignal" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRSIGNAL $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default #include <signal.h> " if test "x$ac_cv_have_decl_sys_siglist" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SYS_SIGLIST $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "$ac_includes_default #include <signal.h> " if test "x$ac_cv_have_decl__sys_siglist" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SYS_SIGLIST $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$ac_includes_default #include <signal.h> " if test "x$ac_cv_have_decl___sys_siglist" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL___SYS_SIGLIST $ac_have_decl _ACEOF LIB_GMP= # Check whether --with-gmp was given. if test "${with_gmp+set}" = set; then : withval=$with_gmp; cu_use_gmp=$withval else cu_use_gmp=auto fi if test $cu_use_gmp != no; then cu_saved_libs=$LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing __gmpz_init" >&5 $as_echo_n "checking for library containing __gmpz_init... " >&6; } if ${ac_cv_search___gmpz_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char __gmpz_init (); int main () { return __gmpz_init (); ; return 0; } _ACEOF for ac_lib in '' gmp; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search___gmpz_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search___gmpz_init+:} false; then : break fi done if ${ac_cv_search___gmpz_init+:} false; then : else ac_cv_search___gmpz_init=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___gmpz_init" >&5 $as_echo "$ac_cv_search___gmpz_init" >&6; } ac_res=$ac_cv_search___gmpz_init if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search___gmpz_init" = "none required" || { LIB_GMP=$ac_cv_search___gmpz_init $as_echo "#define HAVE_GMP 1" >>confdefs.h # This only available in GMP >= 5 ac_fn_c_check_decl "$LINENO" "mpz_inits" "ac_cv_have_decl_mpz_inits" "#include <gmp.h> " if test "x$ac_cv_have_decl_mpz_inits" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MPZ_INITS $ac_have_decl _ACEOF } else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libgmp development library was not found or not usable." >&5 $as_echo "$as_me: WARNING: libgmp development library was not found or not usable." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU coreutils will be built without GMP support." >&5 $as_echo "$as_me: WARNING: GNU coreutils will be built without GMP support." >&2;} fi LIBS=$cu_saved_libs fi # Build df only if there's a point to it. if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=df else optional_bin_progs="$optional_bin_progs df" fi } fi # Limit stdbuf to ELF systems with GCC { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this is an ELF system" >&5 $as_echo_n "checking whether this is an ELF system... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if __ELF__ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : elf_sys=yes else elf_sys=no fi rm -f conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $elf_sys" >&5 $as_echo "$elf_sys" >&6; } if test "$elf_sys" = "yes" && \ test "$GCC" = "yes"; then { if test -z "$optional_bin_progs"; then optional_bin_progs=stdbuf else optional_bin_progs="$optional_bin_progs stdbuf" fi } fi ############################################################################ { if test -z "$optional_bin_progs"; then optional_bin_progs=[ else optional_bin_progs="$optional_bin_progs [" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=base64 else optional_bin_progs="$optional_bin_progs base64" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=basename else optional_bin_progs="$optional_bin_progs basename" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=cat else optional_bin_progs="$optional_bin_progs cat" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=chcon else optional_bin_progs="$optional_bin_progs chcon" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=chgrp else optional_bin_progs="$optional_bin_progs chgrp" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=chmod else optional_bin_progs="$optional_bin_progs chmod" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=chown else optional_bin_progs="$optional_bin_progs chown" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=cksum else optional_bin_progs="$optional_bin_progs cksum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=comm else optional_bin_progs="$optional_bin_progs comm" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=cp else optional_bin_progs="$optional_bin_progs cp" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=csplit else optional_bin_progs="$optional_bin_progs csplit" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=cut else optional_bin_progs="$optional_bin_progs cut" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=date else optional_bin_progs="$optional_bin_progs date" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=dd else optional_bin_progs="$optional_bin_progs dd" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=dir else optional_bin_progs="$optional_bin_progs dir" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=dircolors else optional_bin_progs="$optional_bin_progs dircolors" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=dirname else optional_bin_progs="$optional_bin_progs dirname" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=du else optional_bin_progs="$optional_bin_progs du" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=echo else optional_bin_progs="$optional_bin_progs echo" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=env else optional_bin_progs="$optional_bin_progs env" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=expand else optional_bin_progs="$optional_bin_progs expand" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=expr else optional_bin_progs="$optional_bin_progs expr" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=factor else optional_bin_progs="$optional_bin_progs factor" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=false else optional_bin_progs="$optional_bin_progs false" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=fmt else optional_bin_progs="$optional_bin_progs fmt" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=fold else optional_bin_progs="$optional_bin_progs fold" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=ginstall else optional_bin_progs="$optional_bin_progs ginstall" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=groups else optional_bin_progs="$optional_bin_progs groups" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=head else optional_bin_progs="$optional_bin_progs head" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=id else optional_bin_progs="$optional_bin_progs id" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=join else optional_bin_progs="$optional_bin_progs join" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=kill else optional_bin_progs="$optional_bin_progs kill" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=link else optional_bin_progs="$optional_bin_progs link" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=ln else optional_bin_progs="$optional_bin_progs ln" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=logname else optional_bin_progs="$optional_bin_progs logname" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=ls else optional_bin_progs="$optional_bin_progs ls" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=md5sum else optional_bin_progs="$optional_bin_progs md5sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=mkdir else optional_bin_progs="$optional_bin_progs mkdir" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=mkfifo else optional_bin_progs="$optional_bin_progs mkfifo" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=mknod else optional_bin_progs="$optional_bin_progs mknod" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=mktemp else optional_bin_progs="$optional_bin_progs mktemp" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=mv else optional_bin_progs="$optional_bin_progs mv" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=nl else optional_bin_progs="$optional_bin_progs nl" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=nproc else optional_bin_progs="$optional_bin_progs nproc" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=nohup else optional_bin_progs="$optional_bin_progs nohup" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=numfmt else optional_bin_progs="$optional_bin_progs numfmt" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=od else optional_bin_progs="$optional_bin_progs od" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=paste else optional_bin_progs="$optional_bin_progs paste" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=pathchk else optional_bin_progs="$optional_bin_progs pathchk" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=pr else optional_bin_progs="$optional_bin_progs pr" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=printenv else optional_bin_progs="$optional_bin_progs printenv" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=printf else optional_bin_progs="$optional_bin_progs printf" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=ptx else optional_bin_progs="$optional_bin_progs ptx" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=pwd else optional_bin_progs="$optional_bin_progs pwd" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=readlink else optional_bin_progs="$optional_bin_progs readlink" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=realpath else optional_bin_progs="$optional_bin_progs realpath" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=rm else optional_bin_progs="$optional_bin_progs rm" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=rmdir else optional_bin_progs="$optional_bin_progs rmdir" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=runcon else optional_bin_progs="$optional_bin_progs runcon" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=seq else optional_bin_progs="$optional_bin_progs seq" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sha1sum else optional_bin_progs="$optional_bin_progs sha1sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sha224sum else optional_bin_progs="$optional_bin_progs sha224sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sha256sum else optional_bin_progs="$optional_bin_progs sha256sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sha384sum else optional_bin_progs="$optional_bin_progs sha384sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sha512sum else optional_bin_progs="$optional_bin_progs sha512sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=shred else optional_bin_progs="$optional_bin_progs shred" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=shuf else optional_bin_progs="$optional_bin_progs shuf" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sleep else optional_bin_progs="$optional_bin_progs sleep" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sort else optional_bin_progs="$optional_bin_progs sort" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=split else optional_bin_progs="$optional_bin_progs split" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=stat else optional_bin_progs="$optional_bin_progs stat" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sum else optional_bin_progs="$optional_bin_progs sum" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=sync else optional_bin_progs="$optional_bin_progs sync" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tac else optional_bin_progs="$optional_bin_progs tac" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tail else optional_bin_progs="$optional_bin_progs tail" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tee else optional_bin_progs="$optional_bin_progs tee" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=test else optional_bin_progs="$optional_bin_progs test" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=timeout else optional_bin_progs="$optional_bin_progs timeout" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=touch else optional_bin_progs="$optional_bin_progs touch" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tr else optional_bin_progs="$optional_bin_progs tr" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=true else optional_bin_progs="$optional_bin_progs true" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=truncate else optional_bin_progs="$optional_bin_progs truncate" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tsort else optional_bin_progs="$optional_bin_progs tsort" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=tty else optional_bin_progs="$optional_bin_progs tty" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=uname else optional_bin_progs="$optional_bin_progs uname" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=unexpand else optional_bin_progs="$optional_bin_progs unexpand" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=uniq else optional_bin_progs="$optional_bin_progs uniq" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=unlink else optional_bin_progs="$optional_bin_progs unlink" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=vdir else optional_bin_progs="$optional_bin_progs vdir" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=wc else optional_bin_progs="$optional_bin_progs wc" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=whoami else optional_bin_progs="$optional_bin_progs whoami" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=yes else optional_bin_progs="$optional_bin_progs yes" fi } no_install_progs_default='arch hostname' # Given the name of a variable containing a space-separated # list of install-by-default programs and the actual list of # do-not-install-by-default programs, modify the former variable # to reflect any "do-install" and "don't-install" requests. # That is, add any program specified via --enable-install-program, # and remove any program specified via --enable-no-install-program. # Note how the second argument below is a literal, with "," # separators. That is required due to the way the macro works, # and since the corresponding ./configure option argument is # comma-separated on input. { gl_no_install_progs_default=`echo 'arch,hostname'|sed 's/,/ /g'` # Check whether --enable-install-program was given. if test "${enable_install_program+set}" = set; then : enableval=$enable_install_program; gl_do_install_prog=$enableval else gl_do_install_prog= fi # If you want to refrain from installing programs A and B, # use --enable-no-install-program=A,B # Check whether --enable-no-install-program was given. if test "${enable_no_install_program+set}" = set; then : enableval=$enable_no_install_program; gl_no_install_prog=$enableval else gl_no_install_prog= fi # Convert to space separated lists. gl_do_install_prog=`echo "$gl_do_install_prog"|tr -s , ' '` gl_no_install_prog=`echo "$gl_no_install_prog"|tr -s , ' '` # For each not-to-be-installed program name, ensure that it's a # valid name, remove it from the list of programs to build/install, # as well as from the list of man pages to install. for gl_i in $gl_no_install_prog; do # Fail upon a request to install and not-install the same program. case " $gl_do_install_prog " in *" $gl_i "*) as_fn_error $? "'$gl_i' is both included and excluded" "$LINENO" 5 ;; esac gl_msg= # Warn about a request not to install a program that is not being # built (which may be because the systems lacks a required interface). case " $optional_bin_progs " in *" $gl_i "*) { optional_bin_progs=`for gl_rem_i in $optional_bin_progs; do test "$gl_rem_i" = "$gl_i" || echo "$gl_rem_i" done | tr '\012' ' ' | sed 's/ $//'; echo` } ;; *) gl_msg="'$gl_i' is already not being installed" ;; esac if test "$gl_msg" = ''; then # Warn about a request not to install a program that is # already on the default-no-install list. case " $gl_no_install_progs_default " in *" $gl_i "*) gl_msg="by default, '$gl_i' is not installed" ;; esac fi test "$gl_msg" != '' && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $gl_msg" >&5 $as_echo "$as_me: WARNING: $gl_msg" >&2;} done for gl_i in $gl_do_install_prog; do case " $gl_no_install_progs_default " in *" $gl_i "*) { if test -z "$optional_bin_progs"; then optional_bin_progs=$gl_i else optional_bin_progs="$optional_bin_progs $gl_i" fi } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$gl_i' is not an optionally-installable program" >&5 $as_echo "$as_me: WARNING: '$gl_i' is not an optionally-installable program" >&2;} ;; esac done } # Now that we know which programs will actually be built, determine # which optional helper progs should be compiled. case " $optional_bin_progs " in *' stdbuf '*) pkglibexec_PROGRAMS='src/libstdbuf.so';; *) pkglibexec_PROGRAMS='';; esac man1_MANS=` for p in $optional_bin_progs; do # Change "ginstall.1" to "install.1". test $p = ginstall && p=install # Ignore the "[" program, since writing a portable make rule to # generate its manpage is not practical. test x$p = x'[' && continue echo "man/$p.1" done` # Not installed by "make install", but must be built when creating # a distribution tarball. EXTRA_MANS=`for p in $no_install_progs_default; do echo man/$p.1; done` # The programs built and installed by "make && make install". # Since this is AC_SUBST'd, Automake won't be able to perform rewrite # with $(EXEEXT) appending on it, so we have to do it ourselves -- in # this case, only for $(bin_PROGRAMS). bin_PROGRAMS=` for p in $optional_bin_progs; do echo src/"$p"'$(EXEEXT)'; done` # Normalize whitespace. man1_MANS=`echo $man1_MANS` EXTRA_MANS=`echo $EXTRA_MANS` bin_PROGRAMS=`echo $bin_PROGRAMS` pkglibexec_PROGS=`echo $pkglibexec_PROGRAMS` built_programs=$optional_bin_progs if test "$cross_compiling" = yes; then CROSS_COMPILING_TRUE= CROSS_COMPILING_FALSE='#' else CROSS_COMPILING_TRUE='#' CROSS_COMPILING_FALSE= fi ############################################################################ # As long as "grep 'PRI[diouxX]' po/*.pot" reports matches in # translatable strings, we must use need-formatstring-macros here. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.18 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <CoreFoundation/CFPreferences.h> int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <CoreFoundation/CFLocale.h> int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <iconv.h> int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <iconv.h> int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <iconv.h> #include <string.h> int main () { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; const char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # For a test of uniq: it uses the $LOCALE_FR envvar. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5 $as_echo_n "checking for a traditional french locale... " >&6; } if ${gt_cv_locale_fr+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <locale.h> #include <time.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> #endif #include <stdlib.h> #include <string.h> struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, setlocale(category, "") looks at the system settings, not at the environment variables. Also, when an encoding suffix such as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE category of the locale to "C". */ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0) return 1; #else if (setlocale (LC_ALL, "") == NULL) return 1; #endif /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. On MirBSD 10, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "UTF-8". */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0 || strcmp (cs, "UTF-8") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; #if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy. */ /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; #endif return 0; } _ACEOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then case "$host_os" in # Handle native Windows specially, because there setlocale() interprets # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", # "fr" or "fra" as "French" or "French_France.1252", # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. mingw*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 else # None found. gt_cv_locale_fr=none fi ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi ;; esac fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 $as_echo "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr ac_config_files="$ac_config_files Makefile po/Makefile.in gnulib-tests/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS= if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GNU_MAKE_TRUE}" && test -z "${GNU_MAKE_FALSE}"; then as_fn_error $? "conditional \"GNU_MAKE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi CONFIG_INCLUDE=lib/config.h if test -z "${GL_GENERATE_NETINET_IN_H_TRUE}" && test -z "${GL_GENERATE_NETINET_IN_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_NETINET_IN_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi # Tell AC_LIBSOURCES where to find source files like alloca.c. # This hack originated in bison. It is required when using non-recursive # automake rules to build from gnulib-provided lib/ sources. Hence, LIB_DIR # is usually simply "lib". Those rules use the list of names like "fchdir.o" # and "strstr.o" in gl_LIBOBJS. With non-recursive make, we must prefix each # such file name with the "lib/" prefix. See also build-aux/prefix-gnulib-mk. gl_LIBOBJS=`echo "$gl_LIBOBJS" | sed -e 's, , lib/,g'` # Listing the names of the variables to prefix is error-prone. # Rather, adjust each AC_SUBST'd variable whose name ends in '_H' # and whose value ends in '.h'. for ac_var in $ac_subst_vars do eval "ac_val=\$$ac_var" case $ac_var:$ac_val in (*_H:*.h) eval "$ac_var=lib/\$$ac_var";; esac done # If $ALLOCA is not empty, prefix its value with "lib/". test -n "$ALLOCA" && ALLOCA="lib/$ALLOCA" if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_PTHREAD_H_TRUE}" && test -z "${GL_GENERATE_PTHREAD_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_PTHREAD_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_SCHED_H_TRUE}" && test -z "${GL_GENERATE_SCHED_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_SCHED_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_SELINUX_CONTEXT_H_TRUE}" && test -z "${GL_GENERATE_SELINUX_CONTEXT_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_SELINUX_CONTEXT_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE}"; then as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs if test -z "${POSIX_SPAWN_PORTED_TRUE}" && test -z "${POSIX_SPAWN_PORTED_FALSE}"; then as_fn_error $? "conditional \"POSIX_SPAWN_PORTED\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then as_fn_error $? "conditional \"HAVE_PERL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by GNU coreutils $as_me 8.21, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_links="$ac_config_links" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration links: $config_links Configuration commands: $config_commands Report bugs to <bug-coreutils@gnu.org>. GNU coreutils home page: <http://www.gnu.org/software/coreutils/>. General help using GNU software: <http://www.gnu.org/gethelp/>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ GNU coreutils config.status 8.21 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" GNUmakefile=$GNUmakefile # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "lib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h:lib/config.hin" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' <conf$$subs.awk | sed ' /^[^""]/{ N s/\n// } ' >>$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' <confdefs.h | sed ' s/'"$ac_delim"'/"\\\ "/g' >>$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :L) # # CONFIG_LINK # if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then : else # Prefer the file from the source tree if names are identical. if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then ac_source=$srcdir/$ac_source fi { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 $as_echo "$as_me: linking $ac_source to $ac_file" >&6;} if test ! -r "$ac_source"; then as_fn_error $? "$ac_source: file not found" "$LINENO" 5 fi rm -f "$ac_file" # Try a relative symlink, then a hard link, then a copy. case $ac_source in [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; *) ac_rel_source=$ac_top_build_prefix$ac_source ;; esac ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || ln "$ac_source" "$ac_file" 2>/dev/null || cp -p "$ac_source" "$ac_file" || as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 fi ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/aclocal.m4���������������������������������������������������������������������������0000664�0000000�0000000�00000140736�12107175554�012230� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# generated automatically by aclocal 1.11.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, [m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.11.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.6])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, # 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 16 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, # Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2009, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # (`yes' being less verbose, `no' or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few `make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using `$V' instead of `$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 1 # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar <conftest.tar]) grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/00gnulib.m4]) m4_include([m4/acl.m4]) m4_include([m4/alloca.m4]) m4_include([m4/arpa_inet_h.m4]) m4_include([m4/assert.m4]) m4_include([m4/autobuild.m4]) m4_include([m4/backupfile.m4]) m4_include([m4/base64.m4]) m4_include([m4/bison.m4]) m4_include([m4/boottime.m4]) m4_include([m4/btowc.m4]) m4_include([m4/c-strtod.m4]) m4_include([m4/calloc.m4]) m4_include([m4/canon-host.m4]) m4_include([m4/canonicalize.m4]) m4_include([m4/chdir-long.m4]) m4_include([m4/check-decl.m4]) m4_include([m4/chown.m4]) m4_include([m4/clock_time.m4]) m4_include([m4/close-stream.m4]) m4_include([m4/close.m4]) m4_include([m4/closedir.m4]) m4_include([m4/closein.m4]) m4_include([m4/closeout.m4]) m4_include([m4/codeset.m4]) m4_include([m4/config-h.m4]) m4_include([m4/configmake.m4]) m4_include([m4/ctype.m4]) m4_include([m4/cycle-check.m4]) m4_include([m4/d-ino.m4]) m4_include([m4/d-type.m4]) m4_include([m4/dirent-safer.m4]) m4_include([m4/dirent_h.m4]) m4_include([m4/dirfd.m4]) m4_include([m4/dirname.m4]) m4_include([m4/double-slash-root.m4]) m4_include([m4/dup.m4]) m4_include([m4/dup2.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/errno_h.m4]) m4_include([m4/error.m4]) m4_include([m4/euidaccess.m4]) m4_include([m4/exponentd.m4]) m4_include([m4/exponentf.m4]) m4_include([m4/exponentl.m4]) m4_include([m4/extensions.m4]) m4_include([m4/extern-inline.m4]) m4_include([m4/faccessat.m4]) m4_include([m4/fatal-signal.m4]) m4_include([m4/fchdir.m4]) m4_include([m4/fchmodat.m4]) m4_include([m4/fchownat.m4]) m4_include([m4/fclose.m4]) m4_include([m4/fcntl-o.m4]) m4_include([m4/fcntl-safer.m4]) m4_include([m4/fcntl.m4]) m4_include([m4/fcntl_h.m4]) m4_include([m4/fdatasync.m4]) m4_include([m4/fdopen.m4]) m4_include([m4/fdopendir.m4]) m4_include([m4/fflush.m4]) m4_include([m4/fileblocks.m4]) m4_include([m4/filemode.m4]) m4_include([m4/filenamecat.m4]) m4_include([m4/flexmember.m4]) m4_include([m4/float_h.m4]) m4_include([m4/fnmatch.m4]) m4_include([m4/fopen.m4]) m4_include([m4/fpending.m4]) m4_include([m4/fpieee.m4]) m4_include([m4/fpurge.m4]) m4_include([m4/freadahead.m4]) m4_include([m4/freading.m4]) m4_include([m4/freadptr.m4]) m4_include([m4/freadseek.m4]) m4_include([m4/freopen.m4]) m4_include([m4/frexp.m4]) m4_include([m4/frexpl.m4]) m4_include([m4/fseek.m4]) m4_include([m4/fseeko.m4]) m4_include([m4/fseterr.m4]) m4_include([m4/fstat.m4]) m4_include([m4/fstatat.m4]) m4_include([m4/fstypename.m4]) m4_include([m4/fsusage.m4]) m4_include([m4/fsync.m4]) m4_include([m4/ftell.m4]) m4_include([m4/ftello.m4]) m4_include([m4/ftruncate.m4]) m4_include([m4/fts.m4]) m4_include([m4/futimens.m4]) m4_include([m4/getaddrinfo.m4]) m4_include([m4/getcwd-abort-bug.m4]) m4_include([m4/getcwd-path-max.m4]) m4_include([m4/getcwd.m4]) m4_include([m4/getdelim.m4]) m4_include([m4/getdtablesize.m4]) m4_include([m4/getgroups.m4]) m4_include([m4/gethostname.m4]) m4_include([m4/gethrxtime.m4]) m4_include([m4/getline.m4]) m4_include([m4/getloadavg.m4]) m4_include([m4/getlogin.m4]) m4_include([m4/getndelim2.m4]) m4_include([m4/getopt.m4]) m4_include([m4/getpagesize.m4]) m4_include([m4/getpass.m4]) m4_include([m4/gettext.m4]) m4_include([m4/gettime.m4]) m4_include([m4/gettimeofday.m4]) m4_include([m4/getugroups.m4]) m4_include([m4/getusershell.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/gmp.m4]) m4_include([m4/gnu-make.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) m4_include([m4/group-member.m4]) m4_include([m4/hard-locale.m4]) m4_include([m4/host-os.m4]) m4_include([m4/hostent.m4]) m4_include([m4/human.m4]) m4_include([m4/i-ring.m4]) m4_include([m4/iconv.m4]) m4_include([m4/iconv_h.m4]) m4_include([m4/iconv_open.m4]) m4_include([m4/idcache.m4]) m4_include([m4/include-exclude-prog.m4]) m4_include([m4/include_next.m4]) m4_include([m4/inet_ntop.m4]) m4_include([m4/inet_pton.m4]) m4_include([m4/inline.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/intmax_t.m4]) m4_include([m4/inttostr.m4]) m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/inttypes_h.m4]) m4_include([m4/ioctl.m4]) m4_include([m4/isapipe.m4]) m4_include([m4/isatty.m4]) m4_include([m4/isblank.m4]) m4_include([m4/isnand.m4]) m4_include([m4/isnanf.m4]) m4_include([m4/isnanl.m4]) m4_include([m4/iswblank.m4]) m4_include([m4/jm-macros.m4]) m4_include([m4/jm-winsz1.m4]) m4_include([m4/jm-winsz2.m4]) m4_include([m4/langinfo_h.m4]) m4_include([m4/largefile.m4]) m4_include([m4/lchmod.m4]) m4_include([m4/lchown.m4]) m4_include([m4/lcmessage.m4]) m4_include([m4/ldexp.m4]) m4_include([m4/ldexpl.m4]) m4_include([m4/lib-ignore.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libunistring-base.m4]) m4_include([m4/link-follow.m4]) m4_include([m4/link.m4]) m4_include([m4/linkat.m4]) m4_include([m4/localcharset.m4]) m4_include([m4/locale-fr.m4]) m4_include([m4/locale-ja.m4]) m4_include([m4/locale-tr.m4]) m4_include([m4/locale-zh.m4]) m4_include([m4/locale_h.m4]) m4_include([m4/localeconv.m4]) m4_include([m4/localename.m4]) m4_include([m4/lock.m4]) m4_include([m4/longlong.m4]) m4_include([m4/ls-mntd-fs.m4]) m4_include([m4/lseek.m4]) m4_include([m4/lstat.m4]) m4_include([m4/malloc.m4]) m4_include([m4/malloca.m4]) m4_include([m4/manywarnings.m4]) m4_include([m4/math_h.m4]) m4_include([m4/mbchar.m4]) m4_include([m4/mbiter.m4]) m4_include([m4/mbrlen.m4]) m4_include([m4/mbrtowc.m4]) m4_include([m4/mbsinit.m4]) m4_include([m4/mbslen.m4]) m4_include([m4/mbsrtowcs.m4]) m4_include([m4/mbstate_t.m4]) m4_include([m4/mbswidth.m4]) m4_include([m4/mbtowc.m4]) m4_include([m4/md5.m4]) m4_include([m4/memcasecmp.m4]) m4_include([m4/memchr.m4]) m4_include([m4/memcoll.m4]) m4_include([m4/mempcpy.m4]) m4_include([m4/memrchr.m4]) m4_include([m4/mgetgroups.m4]) m4_include([m4/mkancesdirs.m4]) m4_include([m4/mkdir-p.m4]) m4_include([m4/mkdir.m4]) m4_include([m4/mkfifo.m4]) m4_include([m4/mknod.m4]) m4_include([m4/mkstemp.m4]) m4_include([m4/mktime.m4]) m4_include([m4/mmap-anon.m4]) m4_include([m4/mode_t.m4]) m4_include([m4/modechange.m4]) m4_include([m4/mountlist.m4]) m4_include([m4/mpsort.m4]) m4_include([m4/msvc-inval.m4]) m4_include([m4/msvc-nothrow.m4]) m4_include([m4/multiarch.m4]) m4_include([m4/nanosleep.m4]) m4_include([m4/netdb_h.m4]) m4_include([m4/netinet_in_h.m4]) m4_include([m4/nl_langinfo.m4]) m4_include([m4/nls.m4]) m4_include([m4/nocrash.m4]) m4_include([m4/non-recursive-gnulib-prefix-hack.m4]) m4_include([m4/nproc.m4]) m4_include([m4/off_t.m4]) m4_include([m4/open.m4]) m4_include([m4/openat.m4]) m4_include([m4/opendir.m4]) m4_include([m4/parse-datetime.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/perl.m4]) m4_include([m4/perror.m4]) m4_include([m4/physmem.m4]) m4_include([m4/pipe.m4]) m4_include([m4/pipe2.m4]) m4_include([m4/po.m4]) m4_include([m4/posix-shell.m4]) m4_include([m4/posix_spawn.m4]) m4_include([m4/posixtm.m4]) m4_include([m4/posixver.m4]) m4_include([m4/prereq.m4]) m4_include([m4/printf-frexp.m4]) m4_include([m4/printf-frexpl.m4]) m4_include([m4/printf.m4]) m4_include([m4/priv-set.m4]) m4_include([m4/progtest.m4]) m4_include([m4/pthread.m4]) m4_include([m4/putenv.m4]) m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) m4_include([m4/raise.m4]) m4_include([m4/rawmemchr.m4]) m4_include([m4/read-file.m4]) m4_include([m4/read.m4]) m4_include([m4/readdir.m4]) m4_include([m4/readlink.m4]) m4_include([m4/readlinkat.m4]) m4_include([m4/readtokens.m4]) m4_include([m4/readutmp.m4]) m4_include([m4/realloc.m4]) m4_include([m4/regex.m4]) m4_include([m4/remove.m4]) m4_include([m4/rename.m4]) m4_include([m4/rewinddir.m4]) m4_include([m4/rmdir.m4]) m4_include([m4/rpmatch.m4]) m4_include([m4/safe-read.m4]) m4_include([m4/safe-write.m4]) m4_include([m4/same.m4]) m4_include([m4/save-cwd.m4]) m4_include([m4/savedir.m4]) m4_include([m4/savewd.m4]) m4_include([m4/sched_h.m4]) m4_include([m4/select.m4]) m4_include([m4/selinux-context-h.m4]) m4_include([m4/selinux-selinux-h.m4]) m4_include([m4/servent.m4]) m4_include([m4/setenv.m4]) m4_include([m4/setlocale.m4]) m4_include([m4/settime.m4]) m4_include([m4/sha1.m4]) m4_include([m4/sha256.m4]) m4_include([m4/sha512.m4]) m4_include([m4/sig2str.m4]) m4_include([m4/sig_atomic_t.m4]) m4_include([m4/sigaction.m4]) m4_include([m4/signal_h.m4]) m4_include([m4/signalblocking.m4]) m4_include([m4/signbit.m4]) m4_include([m4/size_max.m4]) m4_include([m4/sleep.m4]) m4_include([m4/snprintf.m4]) m4_include([m4/socketlib.m4]) m4_include([m4/sockets.m4]) m4_include([m4/socklen.m4]) m4_include([m4/sockpfaf.m4]) m4_include([m4/spawn-pipe.m4]) m4_include([m4/spawn_h.m4]) m4_include([m4/ssize_t.m4]) m4_include([m4/st_dm_mode.m4]) m4_include([m4/stat-prog.m4]) m4_include([m4/stat-size.m4]) m4_include([m4/stat-time.m4]) m4_include([m4/stat.m4]) m4_include([m4/stdalign.m4]) m4_include([m4/stdarg.m4]) m4_include([m4/stdbool.m4]) m4_include([m4/stddef_h.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdint_h.m4]) m4_include([m4/stdio_h.m4]) m4_include([m4/stdlib_h.m4]) m4_include([m4/stpcpy.m4]) m4_include([m4/stpncpy.m4]) m4_include([m4/strchrnul.m4]) m4_include([m4/strdup.m4]) m4_include([m4/strerror.m4]) m4_include([m4/strerror_r.m4]) m4_include([m4/strftime.m4]) m4_include([m4/string_h.m4]) m4_include([m4/strncat.m4]) m4_include([m4/strndup.m4]) m4_include([m4/strnlen.m4]) m4_include([m4/strpbrk.m4]) m4_include([m4/strsignal.m4]) m4_include([m4/strstr.m4]) m4_include([m4/strtod.m4]) m4_include([m4/strtoimax.m4]) m4_include([m4/strtoll.m4]) m4_include([m4/strtoull.m4]) m4_include([m4/strtoumax.m4]) m4_include([m4/symlink.m4]) m4_include([m4/symlinkat.m4]) m4_include([m4/sys_ioctl_h.m4]) m4_include([m4/sys_resource_h.m4]) m4_include([m4/sys_select_h.m4]) m4_include([m4/sys_socket_h.m4]) m4_include([m4/sys_stat_h.m4]) m4_include([m4/sys_time_h.m4]) m4_include([m4/sys_types_h.m4]) m4_include([m4/sys_uio_h.m4]) m4_include([m4/sys_utsname_h.m4]) m4_include([m4/sys_wait_h.m4]) m4_include([m4/tempname.m4]) m4_include([m4/termios_h.m4]) m4_include([m4/thread.m4]) m4_include([m4/threadlib.m4]) m4_include([m4/time_h.m4]) m4_include([m4/time_r.m4]) m4_include([m4/timer_time.m4]) m4_include([m4/timespec.m4]) m4_include([m4/tls.m4]) m4_include([m4/tm_gmtoff.m4]) m4_include([m4/tzset.m4]) m4_include([m4/uname.m4]) m4_include([m4/ungetc.m4]) m4_include([m4/unicodeio.m4]) m4_include([m4/unistd-safer.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/unlink-busy.m4]) m4_include([m4/unlink.m4]) m4_include([m4/unlinkat.m4]) m4_include([m4/unlinkdir.m4]) m4_include([m4/unlocked-io.m4]) m4_include([m4/uptime.m4]) m4_include([m4/userspec.m4]) m4_include([m4/usleep.m4]) m4_include([m4/utimbuf.m4]) m4_include([m4/utimecmp.m4]) m4_include([m4/utimens.m4]) m4_include([m4/utimensat.m4]) m4_include([m4/utimes.m4]) m4_include([m4/vasnprintf.m4]) m4_include([m4/vasprintf-posix.m4]) m4_include([m4/vasprintf.m4]) m4_include([m4/version-etc.m4]) m4_include([m4/vfprintf-posix.m4]) m4_include([m4/vprintf-posix.m4]) m4_include([m4/wait-process.m4]) m4_include([m4/waitpid.m4]) m4_include([m4/warnings.m4]) m4_include([m4/wchar_h.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wcrtomb.m4]) m4_include([m4/wcswidth.m4]) m4_include([m4/wctob.m4]) m4_include([m4/wctomb.m4]) m4_include([m4/wctype_h.m4]) m4_include([m4/wcwidth.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/write-any-file.m4]) m4_include([m4/write.m4]) m4_include([m4/xalloc.m4]) m4_include([m4/xattr.m4]) m4_include([m4/xgetcwd.m4]) m4_include([m4/xnanosleep.m4]) m4_include([m4/xsize.m4]) m4_include([m4/xstrndup.m4]) m4_include([m4/xstrtod.m4]) m4_include([m4/xstrtol.m4]) m4_include([m4/xvasprintf.m4]) m4_include([m4/yesno.m4]) m4_include([m4/yield.m4]) ����������������������������������coreutils-8.21/tests/�������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�011571� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012173� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/preserve-link.sh������������������������������������������������������������0000775�0000000�0000000�00000005253�12102337340�015237� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise the fix for http://debbugs.gnu.org/8419 # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp same_inode() { local u v u=$(stat --format %i "$1") && v=$(stat --format %i "$2") && test "$u" = "$v" } create_source_tree() { rm -Rf s mkdir s || framework_failure_ # a missing link in dest will be created touch s/f || framework_failure_ ln s/f s/linkm || framework_failure_ # an existing link in dest will be maintained ln s/f s/linke || framework_failure_ # a separate older file in dest will be overwritten ln s/f s/fileo || framework_failure_ # a separate newer file in dest will be overwritten! ln s/f s/fileu || framework_failure_ } create_target_tree() { f=$1 # which of f or linkm to create in t/ rm -Rf t mkdir -p t/s/ || framework_failure_ # a missing link in dest must be created touch t/s/$f || framework_failure_ # an existing link must be maintained ln t/s/$f t/s/linke || framework_failure_ # a separate older file in dest will be overwritten touch -d '-1 hour' t/s/fileo || framework_failure_ # a separate newer file in dest will be overwritten! touch -d '+1 hour' t/s/fileu || framework_failure_ } # Note we repeat this, creating either one of # two hard linked files from source in the dest, so as to # test both paths in $(cp) for creating the hard links. # The path taken by cp is dependent on which cp encounters # first in the source, which is non deterministic currently # (I'm guessing that results are sorted by inode and # beauses they're the same here, and due to the sort # being unstable, either can be processed first). create_source_tree for f in f linkm; do create_target_tree $f # Copy all the hard links across. With cp from coreutils-8.12 # and prior, it would sometimes mistakenly copy rather than link. cp -au s t || fail=1 same_inode t/s/f t/s/linkm || fail=1 same_inode t/s/f t/s/linke || fail=1 same_inode t/s/f t/s/fileo || fail=1 same_inode t/s/f t/s/fileu || fail=1 done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/src-base-dot.sh�������������������������������������������������������������0000775�0000000�0000000�00000001755�12102337340�014737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "mkdir x y; cd y; cp -ab ../x/. ." is a successful, silent, no-op. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir x y || framework_failure_ cd y cp --verbose -ab ../x/. . > out 2>&1 || fail=1 cat <<\EOF > exp || fail=1 EOF compare exp out || fail=1 Exit $fail �������������������coreutils-8.21/tests/cp/link-no-deref.sh������������������������������������������������������������0000775�0000000�0000000�00000002050�12102337340�015073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp --link --no-dereference works properly # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp ln -s no-such-file dangling-slink || framework_failure_ # Prior to coreutils-6.0, this would fail on non-Linux kernels, # with link being applied to the dangling symlink. cp --link --no-dereference dangling-slink d2 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/slink-2-slink.sh������������������������������������������������������������0000775�0000000�0000000�00000002167�12102337340�015047� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # 'test cp --update A B' where A and B are both symlinks that point # to the same file # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp touch file || framework_failure_ ln -s file a || framework_failure_ ln -s file b || framework_failure_ ln -s no-such-file c || framework_failure_ ln -s no-such-file d || framework_failure_ cp --update --no-dereference a b || fail=1 cp --update --no-dereference c d || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/dir-vs-file.sh��������������������������������������������������������������0000775�0000000�0000000�00000002070�12102337340�014564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # A directory may not replace an existing file. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir dir || framework_failure_ touch file || framework_failure_ # In 4.0.35, this cp invocation silently succeeded. cp -R dir file 2>/dev/null && fail=1 # Make sure file is not replaced with a directory. # In 4.0.35, it was. test -f file || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/fiemap-FMR.sh���������������������������������������������������������������0000775�0000000�0000000�00000002103�12102337340�014323� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Trigger a free-memory read bug in cp from coreutils-[8.11..8.19] # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_valgrind_ require_perl_ : ${PERL=perl} $PERL -e 'for (1..600) { sysseek (*STDOUT, 4096, 1)' \ -e '&& syswrite (*STDOUT, "a" x 1024) or die "$!"}' > j || fail=1 valgrind --quiet --error-exitcode=3 cp j j2 || fail=1 cmp j j2 || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/no-deref-link2.sh�����������������������������������������������������������0000775�0000000�0000000�00000002076�12102337340�015165� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp from 3.16 fails this test # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir b msg=bar echo $msg > a cd b ln -s ../a . cd .. # It should fail with a message something like this: # cp: 'a' and 'b/foo' are the same file cp -d a b 2>/dev/null # Fail this test if the exit status is not 1 test $? = 1 || fail=1 test "$(cat a)" = $msg || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/perm.sh���������������������������������������������������������������������0000775�0000000�0000000�00000005071�12102337340�013412� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure the permission-preserving code in copy.c (mv, cp, install) works. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv very_expensive_ umask 037 # Now, try it with 'mv', with combinations of --force, no-f and # existing-destination and not. for u in 31 37 2; do echo umask: $u umask $u for cmd in mv 'cp -p' cp; do for force in '' -f; do for existing_dest in yes no; do for g_perm in r w x rw wx xr rwx; do for o_perm in r w x rw wx xr rwx; do touch src || exit 1 chmod u=r,g=rx,o= src || exit 1 expected_perms=$(stat --format=%A src) rm -f dest test $existing_dest = yes && { touch dest || exit 1 chmod u=rw,g=$g_perm,o=$o_perm dest || exit 1 } $cmd $force src dest || exit 1 test "$cmd" = mv && test -f src && exit 1 test "$cmd" = cp && { test -f src || exit 1; } actual_perms=$(stat --format=%A dest) case "$cmd:$force:$existing_dest" in cp:*:yes) _g_perm=$(echo rwx|sed 's/[^'$g_perm']/-/g') _o_perm=$(echo rwx|sed 's/[^'$o_perm']/-/g') expected_perms=-rw-$_g_perm$_o_perm ;; cp:*:no) test $u = 37 && expected_perms=$( echo $expected_perms | sed 's/.....$/-----/' ) test $u = 31 && expected_perms=$( echo $expected_perms | sed 's/..\(..\).$/--\1-/' ) ;; esac test _$actual_perms = _$expected_perms || exit 1 # Perform only one iteration when there's no existing destination. test $existing_dest = no && break 3 done done done done done done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-a-selinux.sh�������������������������������������������������������������0000775�0000000�0000000�00000007761�12102337340�014764� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp -a and cp --preserve=context work properly. # In particular, test on a writable NFS partition. # Check also locally if --preserve=context, -a and --preserve=all # does work # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_root_ require_selinux_ cwd=$(pwd) cleanup_() { cd /; umount "$cwd/mnt"; } # This context is special: it works even when mcstransd isn't running. ctx=root:object_r:tmp_t:s0 # Check basic functionality - before check on fixed context mount touch c || framework_failure_ chcon $ctx c || framework_failure_ cp -a c d 2>err || framework_failure_ cp --preserve=context c e || framework_failure_ cp --preserve=all c f || framework_failure_ ls -Z d | grep $ctx || fail=1 test -s err && fail=1 #there must be no stderr output for -a ls -Z e | grep $ctx || fail=1 ls -Z f | grep $ctx || fail=1 skip=0 # Create a file system, then mount it with the context=... option. dd if=/dev/zero of=blob bs=8192 count=200 || skip=1 mkdir mnt || skip=1 mkfs -t ext2 -F blob || skip_ "failed to create an ext2 file system" mount -oloop,context=$ctx blob mnt || skip=1 test $skip = 1 \ && skip_ "insufficient mount/ext2 support" cd mnt || framework_failure_ echo > f || framework_failure_ echo > g || framework_failure_ # /bin/cp from coreutils-6.7-3.fc7 would fail this test by letting cp # succeed (giving no diagnostics), yet leaving the destination file empty. cp -a f g 2>err || fail=1 test -s g || fail=1 # The destination file must not be empty. test -s err && fail=1 # There must be no stderr output. # ===================================================== # Here, we expect cp to succeed and not warn with "Operation not supported" rm -f g echo > g cp --preserve=all f g 2>err || fail=1 test -s g || fail=1 grep "Operation not supported" err && fail=1 # ===================================================== # The same as above except destination does not exist rm -f g cp --preserve=all f g 2>err || fail=1 test -s g || fail=1 grep "Operation not supported" err && fail=1 # An alternative to the following approach would be to run in a confined # domain (maybe creating/loading it) that lacks the required permissions # to the file type. # Note: this test could also be run by a regular (non-root) user in an # NFS mounted directory. When doing that, I get this diagnostic: # cp: failed to set the security context of 'g' to 'system_u:object_r:nfs_t': \ # Operation not supported cat <<\EOF > exp || framework_failure_ cp: failed to set the security context of EOF rm -f g echo > g # ===================================================== # Here, we expect cp to fail, because it cannot set the SELinux # security context through NFS or a mount with fixed context. cp --preserve=context f g 2> out && fail=1 # Here, we *do* expect the destination to be empty. test -s g && fail=1 sed "s/ .g' to .*//" out > k mv k out compare exp out || fail=1 rm -f g echo > g # Check if -a option doesn't silence --preserve=context option diagnostics cp -a --preserve=context f g 2> out2 && fail=1 # Here, we *do* expect the destination to be empty. test -s g && fail=1 sed "s/ .g' to .*//" out2 > k mv k out2 compare exp out2 || fail=1 Exit $fail ���������������coreutils-8.21/tests/cp/preserve-mode.sh������������������������������������������������������������0000775�0000000�0000000�00000002733�12102337340�015226� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that cp's --no-preserve=mode works correctly # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp rm -f a b c umask 0022 touch a touch b chmod 600 b #regular file test cp --no-preserve=mode b c || fail=1 mode_a=$(ls -l a | gawk '{print $1}') mode_c=$(ls -l c | gawk '{print $1}') test "$mode_a" = "$mode_c" || fail=1 rm -rf d1 d2 d3 mkdir d1 d2 chmod 705 d2 #directory test cp --no-preserve=mode -r d2 d3 || fail=1 mode_d1=$(ls -l d1 | gawk '{print $1}') mode_d3=$(ls -l d3 | gawk '{print $1}') test "$mode_d1" = "$mode_d3" || fail=1 rm -f a b c touch a chmod 600 a #contradicting options test cp --no-preserve=mode --preserve=all a b || fail=1 mode_a=$(ls -l a | gawk '{print $1}') mode_b=$(ls -l b | gawk '{print $1}') test "$mode_a" = "$mode_b" || fail=1 Exit $fail �������������������������������������coreutils-8.21/tests/cp/abuse.sh��������������������������������������������������������������������0000775�0000000�0000000�00000003146�12102337340�013547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that cp does not write through a just-copied symlink # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir a b c || framework_failure_ ln -s ../t a/1 || framework_failure_ echo payload > b/1 || framework_failure_ echo "cp: will not copy 'b/1' through just-created symlink 'c/1'" \ > exp || framework_failure_ # Check both cases: a dangling symlink, and one pointing to a writable file. for i in dangling-dest existing-dest; do test $i = existing-dest && echo i > t test $i = dangling-dest && rm -f t cp -dR a/1 b/1 c 2> out && fail=1 compare exp out || fail=1 # When the destination is a dangling symlink, # ensure that cp does not create it. test $i = dangling-dest \ && test -f t && fail=1 # When the destination symlink points to a writable file, # ensure that cp does not change it. test $i = existing-dest \ && case $(cat t) in i);; *) fail=1;; esac done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/reflink-auto.sh�������������������������������������������������������������0000775�0000000�0000000�00000002637�12102337340�015054� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp --reflink=auto # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" a_other="$other_partition_tmpdir/a" rm -f "$a_other" || framework_failure_ echo non_zero_size > "$a_other" || framework_failure_ # we shouldn't be able to reflink() files on separate partitions cp --reflink "$a_other" b && fail=1 # --reflink=auto should fall back to a normal copy cp --reflink=auto "$a_other" b || fail=1 test -s b || fail=1 # --reflink=auto should allow --sparse for fallback copies. # This command can be used to create minimal sized copies. cp --reflink=auto --sparse=always "$a_other" b || fail=1 test -s b || fail=1 Exit $fail �������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/proc-short-read.sh����������������������������������������������������������0000775�0000000�0000000�00000002457�12102337340�015465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise cp's short-read failure when operating on >4KB files in /proc # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp kall=/proc/kallsyms test -r $kall || skip_ "your system lacks $kall" # Before coreutils-7.3, cp would copy less than 4KiB of this 1MB+ file. cp $kall 1 || fail=1 cat $kall > 2 || fail=1 compare 1 2 || fail=1 # Also check md5sum, just for good measure. md5sum $kall > 3 || fail=1 md5sum 2 > 4 || fail=1 # Remove each file name before comparing checksums. sed 's/ .*//' 3 > sum.proc || fail=1 sed 's/ .*//' 4 > sum.2 || fail=1 compare sum.proc sum.2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/thru-dangling.sh������������������������������������������������������������0000775�0000000�0000000�00000002561�12102337340�015213� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp works as documented, when the destination is a dangling symlink # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp ln -s no-such dangle || framework_failure_ echo hi > f || framework_failure_ echo hi > exp || framework_failure_ echo "cp: not writing through dangling symlink 'dangle'" \ > exp-err || framework_failure_ # Starting with 6.9.90, this usage fails, by default: cp f dangle > err 2>&1 && fail=1 compare exp-err err || fail=1 test -f no-such && fail=1 # But you can set POSIXLY_CORRECT to get the historical behavior. env POSIXLY_CORRECT=1 cp f dangle > out 2>&1 || fail=1 cat no-such >> out || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/fiemap-perf.sh��������������������������������������������������������������0000775�0000000�0000000�00000003364�12102337340�014645� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that a sparse file is copied efficiently, by default # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # Require a fiemap-enabled FS. touch fiemap_chk fiemap_capable_ fiemap_chk || skip_ "this file system lacks FIEMAP support" # Exclude ext[23] (or unknown fs types) # as the emulated extent scanning can be slow df -t ext2 -t ext3 . >/dev/null && skip_ "ext[23] can have slow FIEMAP scanning" # Create a large-but-sparse file. timeout 10 truncate -s1T f || skip_ "unable to create a 1 TiB sparse file" # Disable this test on old BTRFS (e.g. Fedora 14) # which reports (unwritten) extents for holes. filefrag f || skip_ 'the 'filefrag' utility is missing' filefrag f | grep -F ': 0 extents found' > /dev/null || skip_ 'this file system reports extents for holes' # Nothing can read (much less write) that many bytes in so little time. timeout 10 cp f f2 || fail=1 # Ensure that the sparse file copied through fiemap has the same size # in bytes as the original. test "$(stat --printf %s f)" = "$(stat --printf %s f2)" || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/capability.sh���������������������������������������������������������������0000775�0000000�0000000�00000003274�12102337340�014573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure cp --preserves copies capabilities # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_root_ working_umask_or_skip_ grep '^#define HAVE_CAP 1' $CONFIG_HEADER > /dev/null \ || skip_ "configured without libcap support" (setcap --help) 2>&1 |grep 'usage: setcap' > /dev/null \ || skip_ "setcap utility not found" (getcap --help) 2>&1 |grep 'usage: getcap' > /dev/null \ || skip_ "getcap utility not found" touch file || framework_failure_ chown $NON_ROOT_USERNAME file || framework_failure_ setcap 'cap_net_bind_service=ep' file || skip_ "setcap doesn't work" getcap file | grep cap_net_bind_service >/dev/null || skip_ "getcap doesn't work" cp --preserve=xattr file copy1 || fail=1 # Before coreutils 8.5 the capabilities would not be preserved, # as the owner was set _after_ copying xattrs, thus clearing any capabilities. cp --preserve=all file copy2 || fail=1 for file in copy1 copy2; do getcap $file | grep cap_net_bind_service >/dev/null || fail=1 done Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/nfs-removal-race.sh���������������������������������������������������������0000775�0000000�0000000�00000004543�12102337340�015613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Running cp S D on an NFS client while another client has just removed D # would lead (w/coreutils-8.16 and earlier) to cp's initial stat call # seeing (via stale NFS cache) that D exists, so that cp would then call # open without the O_CREAT flag. Yet, the open must actually consult # the server, which confesses that D has been deleted, thus causing the # open call to fail with ENOENT. # # This test simulates that situation by intercepting stat for a nonexistent # destination, D, and making the stat fill in the result struct for another # file and return 0. # # This test is skipped on systems that lack LD_PRELOAD support; that's fine. # Similarly, on a system that lacks <dlfcn.h> or __xstat, skipping it is fine. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # Replace each stat call with a call to this wrapper. cat > k.c <<'EOF' || framework_failure_ #define _GNU_SOURCE #include <sys/types.h> #include <dlfcn.h> #define __xstat __xstat_orig #include <sys/stat.h> #include <stddef.h> #undef __xstat int __xstat (int ver, const char *path, struct stat *st) { static int (*real_stat)(int ver, const char *path, struct stat *st) = NULL; if (!real_stat) real_stat = dlsym (RTLD_NEXT, "__xstat"); /* When asked to stat nonexistent "d", return results suggesting it exists. */ return real_stat (ver, *path == 'd' && path[1] == 0 ? "d2" : path, st); } EOF # Then compile/link it: $CC -shared -fPIC -O2 k.c -o k.so -ldl \ || framework_failure_ 'failed to compile with -shared -fPIC' touch d2 || framework_failure_ echo xyz > src || framework_failure_ # Finally, run the test: LD_PRELOAD=./k.so cp src d || fail=1 compare src d || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/no-deref-link3.sh�����������������������������������������������������������0000775�0000000�0000000�00000002044�12102337340�015161� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp from 3.16 fails this test # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp msg=bar echo $msg > a ln -s a b # It should fail with a message something like this: # cp: 'a' and 'b' are the same file cp -d a b 2>/dev/null # Fail this test if the exit status is not 1 test $? = 1 || fail=1 test "$(cat a)" = $msg || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-parents.sh���������������������������������������������������������������0000775�0000000�0000000�00000004132�12102337340�014520� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp -R --parents dir-specified-with-trailing-slash/ other-dir # would get a failed assertion. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp working_umask_or_skip_ # Run the setgid check from the just-created directory. skip_if_setgid_ mkdir foo bar || framework_failure_ mkdir -p a/b/c d e g || framework_failure_ ln -s d/a sym || framework_failure_ touch f || framework_failure_ # With 4.0.37 and earlier (back to when?), this would fail # with the failed assertion from dirname.c. cp -R --parents foo/ bar || fail=1 # Exercise the make_path and re_protect code in cp.c. # FIXME: compare verbose output with expected output. cp --verbose -a --parents a/b/c d > /dev/null 2>&1 || fail=1 test -d d/a/b/c || fail=1 # With 6.7 and earlier, cp --parents f/g d would mistakenly create a # directory d/f, even though f is a regular file. cp --parents f/g d 2>/dev/null && fail=1 test -d d/f && fail=1 # Check that re_protect works. chmod go=w d/a || framework_failure_ cp -a --parents d/a/b/c e || fail=1 cp -a --parents sym/b/c g || fail=1 p=$(ls -ld e/d|cut -b-10); case $p in drwxr-xr-x);; *) fail=1;; esac p=$(ls -ld e/d/a|cut -b-10); case $p in drwx-w--w-);; *) fail=1;; esac p=$(ls -ld g/sym|cut -b-10); case $p in drwx-w--w-);; *) fail=1;; esac p=$(ls -ld e/d/a/b/c|cut -b-10); case $p in drwxr-xr-x);; *) fail=1;; esac p=$(ls -ld g/sym/b/c|cut -b-10); case $p in drwxr-xr-x);; *) fail=1;; esac Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/r-vs-symlink.sh�������������������������������������������������������������0000775�0000000�0000000�00000002510�12102337340�015015� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp -r should not create symlinks. Fixed in fileutils-4.1.5. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Restored old behavior (whereby cp -r preserves symlinks) in 4.1.6, # though now such usage evokes a warning: # cp: 'slink': WARNING: using -r to copy symbolic links is not portable . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp echo abc > foo || framework_failure_ ln -s foo slink || framework_failure_ ln -s no-such-file no-file || framework_failure_ # This would fail in 4.1.5, not in 4.1.6. cp -r no-file junk 2>/dev/null || fail=1 cp -r slink bar 2>/dev/null || fail=1 set x $(ls -l bar); shift; mode=$1 case $mode in l*) ;; *) fail=1;; esac Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/link-symlink.sh�������������������������������������������������������������0000775�0000000�0000000�00000002642�12102337340�015071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp -a --link maintains timestamps if possible # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # Check that the timestamps of the symlink are copied # if we're using hardlink to symlink emulation. touch file ln -s file link || framework_failure_ touch -m -h -d 2011-01-01 link || skip_ "Your system doesn't support updating symlink timestamps" case $(stat --format=%y link) in 2011-01-01*) ;; *) skip_ "Your system doesn't support updating symlink timestamps" ;; esac # link.cp is probably a hardlink, but may also be a symlink # In either case the timestamp should match the original. cp -al link link.cp || fail=1 case $(stat --format=%y link.cp) in 2011-01-01*) ;; *) fail=1 ;; esac Exit $fail ����������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/sparse-to-pipe.sh�����������������������������������������������������������0000775�0000000�0000000�00000002100�12102337340�015305� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # copy a sparse file to a pipe, to exercise some seldom-used parts of copy.c # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_sparse_support_ mkfifo_or_skip_ pipe timeout 10 cat pipe > copy & truncate -s1M sparse || framework_failure_ cp sparse pipe || fail=1 # Ensure that the cat has completed before comparing. wait cmp sparse copy || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/reflink-perm.sh�������������������������������������������������������������0000775�0000000�0000000�00000002700�12102337340�015036� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp --reflink copies permissions # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp : > time_check : > file ts='2009-08-28 19:00' touch -d "$ts" file || framework_failure_ test time_check -nt file || skip_ "The system clock is wrong" chmod a=rwx file || framework_failure_ umask 077 cp --reflink=auto --preserve file copy || fail=1 mode=$(stat --printf "%A" copy) test "$mode" = "-rwxrwxrwx" || fail=1 test copy -nt file && fail=1 # Ensure that --attributes-only overrides --reflink completely echo > file2 # file with data cp --reflink=auto --preserve --attributes-only file2 empty_copy || fail=1 test -s empty_copy && fail=1 cp --reflink=always --preserve --attributes-only file2 empty_copy || fail=1 test -s empty_copy && fail=1 Exit $fail ����������������������������������������������������������������coreutils-8.21/tests/cp/backup-is-src.sh������������������������������������������������������������0000775�0000000�0000000�00000002121�12102337340�015103� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp backup to source file. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp echo a > a || framework_failure_ echo a-tilde > a~ || framework_failure_ # This cp command should exit nonzero. cp --b=simple a~ a > out 2>&1 && fail=1 sed "s,cp:,XXX:," out > out2 cat > exp <<\EOF XXX: backing up 'a' would destroy source; 'a~' not copied EOF compare exp out2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/same-file.sh����������������������������������������������������������������0000775�0000000�0000000�00000016562�12102337340�014320� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test some of cp's options and how cp handles situations in # which a naive implementation might overwrite the source file. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # Unset CDPATH. Otherwise, output from the 'cd dir' command # can make this test fail. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH VERSION_CONTROL=numbered; export VERSION_CONTROL # Determine whether a hard link to a symlink points to the symlink # itself or to its referent. For example, the link from FreeBSD6.1 # does dereference a symlink, but the one from Linux does not. ln -s no-such dangling-slink ln dangling-slink hard-link > /dev/null 2>&1 \ && hard_link_to_symlink_does_the_deref=no \ || hard_link_to_symlink_does_the_deref=yes rm -f no-such dangling-slink hard-link test $hard_link_to_symlink_does_the_deref = yes \ && remove_these_sed='/^0 -[bf]*l .*sl1 ->/d' \ || remove_these_sed='/^ELIDE NO TEST OUTPUT/d' exec 3>&1 1> actual # FIXME: This should be bigger: like more than 8k contents=XYZ for args in 'foo symlink' 'symlink foo' 'foo foo' 'sl1 sl2' 'foo hardlink'; do for options in '' -d -f -df --rem -b -bd -bf -bdf \ -l -dl -fl -dfl -bl -bdl -bfl -bdfl; do case $args$options in # These tests are not portable. # They all involve making a hard link to a symbolic link. # In the past, we've skipped the tests that are not portable, # by doing "continue" here and eliminating the corresponding # expected output lines below. Don't do that anymore. 'symlink foo'-dfl) continue;; 'symlink foo'-bdl) continue;; 'symlink foo'-bdfl) continue;; 'sl1 sl2'-dfl) continue;; 'sl1 sl2'-bd*l) continue;; 'sl1 sl2'-dl) continue;; esac # cont'd Instead, skip them only on systems for which link does # dereference a symlink. Detect and skip such tests here. case $hard_link_to_symlink_does_the_deref:$args:$options in 'yes:sl1 sl2:-fl') continue ;; 'yes:sl1 sl2:-bl') continue ;; 'yes:sl1 sl2:-bfl') continue ;; esac rm -rf dir mkdir dir cd dir echo $contents > foo case "$args" in *symlink*) ln -s foo symlink ;; esac case "$args" in *hardlink*) ln foo hardlink ;; esac case "$args" in *sl1*) ln -s foo sl1;; esac case "$args" in *sl2*) ln -s foo sl2;; esac ( ( # echo 1>&2 cp $options $args cp $options $args 2>_err echo $? $options # Normalize the program name and diagnostics in the error output, # and put brackets around the output. if test -s _err; then sed ' s/^[^:]*:\([^:]*\).*/cp:\1/ 1s/^/[/ $s/$/]/ ' _err fi # Strip off all but the file names. ls=$(ls -gG --ignore=_err . \ | sed \ -e '/^total /d' \ -e 's/^[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *//') echo "($ls)" # Make sure the original is unchanged and that # the destination is a copy. for f in $args; do if test -f $f; then case "$(cat $f)" in "$contents") ;; *) echo cp FAILED;; esac else echo symlink-loop fi done ) | tr '\n' ' ' echo ) | sed 's/ *$//' cd .. done echo done cat <<\EOF | sed "$remove_these_sed" > expected 1 [cp: 'foo' and 'symlink' are the same file] (foo symlink -> foo) 1 -d [cp: 'foo' and 'symlink' are the same file] (foo symlink -> foo) 1 -f [cp: 'foo' and 'symlink' are the same file] (foo symlink -> foo) 1 -df [cp: 'foo' and 'symlink' are the same file] (foo symlink -> foo) 0 --rem (foo symlink) 0 -b (foo symlink symlink.~1~ -> foo) 0 -bd (foo symlink symlink.~1~ -> foo) 0 -bf (foo symlink symlink.~1~ -> foo) 0 -bdf (foo symlink symlink.~1~ -> foo) 1 -l [cp: cannot create hard link 'symlink' to 'foo'] (foo symlink -> foo) 0 -dl (foo symlink -> foo) 0 -fl (foo symlink) 0 -dfl (foo symlink) 0 -bl (foo symlink symlink.~1~ -> foo) 0 -bdl (foo symlink symlink.~1~ -> foo) 0 -bfl (foo symlink symlink.~1~ -> foo) 0 -bdfl (foo symlink symlink.~1~ -> foo) 1 [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 1 -d [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 1 -f [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 1 -df [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 1 --rem [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 1 -b [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 0 -bd (foo -> foo foo.~1~ symlink -> foo) symlink-loop symlink-loop 1 -bf [cp: 'symlink' and 'foo' are the same file] (foo symlink -> foo) 0 -bdf (foo -> foo foo.~1~ symlink -> foo) symlink-loop symlink-loop 0 -l (foo symlink -> foo) 0 -dl (foo symlink -> foo) 0 -fl (foo symlink -> foo) 0 -bl (foo symlink -> foo) 0 -bfl (foo symlink -> foo) 1 [cp: 'foo' and 'foo' are the same file] (foo) 1 -d [cp: 'foo' and 'foo' are the same file] (foo) 1 -f [cp: 'foo' and 'foo' are the same file] (foo) 1 -df [cp: 'foo' and 'foo' are the same file] (foo) 1 --rem [cp: 'foo' and 'foo' are the same file] (foo) 1 -b [cp: 'foo' and 'foo' are the same file] (foo) 1 -bd [cp: 'foo' and 'foo' are the same file] (foo) 0 -bf (foo foo.~1~) 0 -bdf (foo foo.~1~) 0 -l (foo) 0 -dl (foo) 0 -fl (foo) 0 -dfl (foo) 0 -bl (foo) 0 -bdl (foo) 0 -bfl (foo foo.~1~) 0 -bdfl (foo foo.~1~) 1 [cp: 'sl1' and 'sl2' are the same file] (foo sl1 -> foo sl2 -> foo) 0 -d (foo sl1 -> foo sl2 -> foo) 1 -f [cp: 'sl1' and 'sl2' are the same file] (foo sl1 -> foo sl2 -> foo) 0 -df (foo sl1 -> foo sl2 -> foo) 0 --rem (foo sl1 -> foo sl2) 0 -b (foo sl1 -> foo sl2 sl2.~1~ -> foo) 0 -bd (foo sl1 -> foo sl2 -> foo sl2.~1~ -> foo) 0 -bf (foo sl1 -> foo sl2 sl2.~1~ -> foo) 0 -bdf (foo sl1 -> foo sl2 -> foo sl2.~1~ -> foo) 1 -l [cp: cannot create hard link 'sl2' to 'sl1'] (foo sl1 -> foo sl2 -> foo) 0 -fl (foo sl1 -> foo sl2 -> foo) 0 -bl (foo sl1 -> foo sl2 -> foo sl2.~1~ -> foo) 0 -bfl (foo sl1 -> foo sl2 -> foo sl2.~1~ -> foo) 1 [cp: 'foo' and 'hardlink' are the same file] (foo hardlink) 1 -d [cp: 'foo' and 'hardlink' are the same file] (foo hardlink) 1 -f [cp: 'foo' and 'hardlink' are the same file] (foo hardlink) 1 -df [cp: 'foo' and 'hardlink' are the same file] (foo hardlink) 0 --rem (foo hardlink) 0 -b (foo hardlink hardlink.~1~) 0 -bd (foo hardlink hardlink.~1~) 0 -bf (foo hardlink hardlink.~1~) 0 -bdf (foo hardlink hardlink.~1~) 0 -l (foo hardlink) 0 -dl (foo hardlink) 0 -fl (foo hardlink) 0 -dfl (foo hardlink) 0 -bl (foo hardlink) 0 -bdl (foo hardlink) 0 -bfl (foo hardlink) 0 -bdfl (foo hardlink) EOF exec 1>&3 3>&- compare expected actual 1>&2 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/proc-zero-len.sh������������������������������������������������������������0000775�0000000�0000000�00000002474�12102337340�015147� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp copies contents of non-empty "regular" file with st_size==0 # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp touch empty || framework_failure_ f=/proc/cpuinfo test -r $f || f=empty cat $f > out || fail=1 # With coreutils-6.9, this would create a zero-length "exp" file. cp $f exp || fail=1 # Don't simply compare contents; they might differ, # e.g., if CPU freq changes between cat and cp invocations. # Instead, simply compare whether they're both nonempty. test -s out && { rm -f out; echo nonempty > out; } test -s exp && { rm -f exp; echo nonempty > exp; } compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/attr-existing.sh������������������������������������������������������������0000775�0000000�0000000�00000001717�12102337340�015254� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp --attributes-only doesn't truncate existing data # Copyright 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp printf '1' > file1 printf '2' > file2 printf '2' > file2.exp cp --attributes-only file1 file2 || fail=1 cmp file2 file2.exp || fail=1 Exit $fail �������������������������������������������������coreutils-8.21/tests/cp/sparse.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002655�12102337340�013751� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp --sparse=always # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_sparse_support_ # Create a sparse file. # It has to be at least 128K in order to be sparse on some systems. # Make its size one larger than 128K, in order to tickle the # bug in coreutils-6.0. size=$(expr 128 \* 1024 + 1) dd bs=1 seek=$size of=sparse < /dev/null 2> /dev/null || framework_failure_ cp --sparse=always sparse copy || fail=1 # Ensure that the copy has the same block count as the original. test $(stat --printf %b copy) -le $(stat --printf %b sparse) || fail=1 # Ensure that --sparse={always,never} with --reflink fail. cp --sparse=always --reflink sparse copy && fail=1 cp --sparse=never --reflink sparse copy && fail=1 Exit $fail �����������������������������������������������������������������������������������coreutils-8.21/tests/cp/special-f.sh����������������������������������������������������������������0000775�0000000�0000000�00000002047�12102337340�014312� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "cp -Rf fifo E" unlinks E and retries. # Up until coreutils-6.10.171, it would not. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkfifo_or_skip_ fifo touch e || framework-failure # Without -f, expect it to fail. cp -R fifo e || fail=1 # With -f, it must succeed. cp -Rf fifo e || fail=1 test -p fifo || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/acl.sh����������������������������������������������������������������������0000775�0000000�0000000�00000004020�12102337340�013177� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # copy files/directories across file system boundaries # and make sure acls are preserved appropriately # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp getfacl setfacl require_acl_ # Skip this test if cp was built without ACL support: grep '^#define USE_ACL 1' $CONFIG_HEADER > /dev/null || skip_ "insufficient ACL support" mkdir -p a b || framework_failure_ touch a/file || framework_failure_ # Ensure that setfacl and getfacl work on this file system. skip=no acl1=$(cd a && getfacl file) || skip=yes setfacl -m user:bin:rw- a/file 2> /dev/null || skip=yes test $skip = yes && skip_ "'.' is not on a suitable file system for this test" # copy a file without preserving permissions cp a/file b/ || fail=1 acl2=$(cd b && getfacl file) || framework_failure_ test "$acl1" = "$acl2" || fail=1 # Update with acl set above acl1=$(cd a && getfacl file) || framework_failure_ # copy a file, preserving permissions cp -p a/file b/ || fail=1 acl2=$(cd b && getfacl file) || framework_failure_ test "$acl1" = "$acl2" || fail=1 # copy a file, preserving permissions, with --attributes-only echo > a/file || framework_failure_ # add some data test -s a/file || framework_failure_ cp -p --attributes-only a/file b/ || fail=1 test -s b/file && fail=1 acl2=$(cd b && getfacl file) || framework_failure_ test "$acl1" = "$acl2" || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/into-self.sh����������������������������������������������������������������0000775�0000000�0000000�00000003240�12102337340�014343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Confirm that copying a directory into itself gets a proper diagnostic. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # In 4.0.35 and earlier, 'mkdir dir && cp -R dir dir' would produce this: # cp: won't create hard link 'dir/dir/dir' to directory '' # Now it gives this: # cp: can't copy a directory 'dir' into itself 'dir/dir' . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir a dir || framework_failure_ # This command should exit nonzero. cp -R dir dir 2> out && fail=1 echo 1 >> out # This should, too. However, with coreutils-7.1 it would infloop. cp -rl dir dir 2>> out && fail=1 echo 2 >> out cp -rl a dir dir 2>> out && fail=1 echo 3 >> out cp -rl a dir dir 2>> out && fail=1 echo 4 >> out cat > exp <<\EOF cp: cannot copy a directory, 'dir', into itself, 'dir/dir' 1 cp: cannot copy a directory, 'dir', into itself, 'dir/dir' 2 cp: cannot copy a directory, 'dir', into itself, 'dir/dir' 3 cp: cannot copy a directory, 'dir', into itself, 'dir/dir' 4 EOF #' compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/dir-slash.sh����������������������������������������������������������������0000775�0000000�0000000�00000002205�12102337340�014331� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that cp -R DIR1 DIR2 does the right thing # when DIR1 is written with a trailing slash. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir dir1 dir2 || framework_failure_ touch dir1/file || framework_failure_ cp -R dir1/ dir2 || fail=1 # This file should not exist, but it did with fileutils-4.0w. test -r dir2/file && fail=1 # These two should. test -r dir2/dir1/file || fail=1 test -r dir1/file || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/special-bits.sh�������������������������������������������������������������0000775�0000000�0000000�00000003064�12102337340�015026� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure 'cp -p' preserves special bits # This works only when run as root. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This test would fail due to a bug introduced in 4.0y. # The bug was fixed in 4.0z. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_root_ touch a b c || framework_failure_ chmod u+sx,go= a || framework_failure_ chmod u=rwx,g=sx,o= b || framework_failure_ chmod a=r,ug+sx c || framework_failure_ chown $NON_ROOT_USERNAME . || framework_failure_ chmod u=rwx,g=rx,o=rx . || framework_failure_ cp -p a a2 || fail=1 set _ $(ls -l a); shift; p1=$1 set _ $(ls -l a2); shift; p2=$1 test $p1 = $p2 || fail=1 cp -p b b2 || fail=1 set _ $(ls -l b); shift; p1=$1 set _ $(ls -l b2); shift; p2=$1 test $p1 = $p2 || fail=1 setuidgid $NON_ROOT_USERNAME env PATH="$PATH" cp -p c c2 || fail=1 set _ $(ls -l c); shift; p1=$1 set _ $(ls -l c2); shift; p2=$1 test $p1 = $p2 && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-deref.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002273�12102337340�014135� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp -RL dir1 dir2' must handle the case in which each of dir1 and dir2 # contain a symlink pointing to some third directory. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir a b c d || framework_failure_ ln -s ../c a || framework_failure_ ln -s ../c b || framework_failure_ # Before coreutils-5.94, the following would fail with this message: # cp: will not create hard link 'd/b/c' to directory 'd/a/c' cp -RL a b d || fail=1 test -d a/c || fail=1 test -d b/c || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/preserve-gid.sh�������������������������������������������������������������0000775�0000000�0000000�00000007254�12102337340�015050� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that cp -p preserves GID when it is possible. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_root_ # Some of the tests expect a umask that grants group and/or world read access. working_umask_or_skip_ # Record primary group number, usually 0. # This is the group ID used when cp (without -p) creates a new file. primary_group_num=$(id -g) create() { echo "$1" > "$1" || exit 1 chown "+$2:+$3" "$1" || exit 1 } t0() { f=$1; shift u=$1; shift g=$1; shift rm -f b || exit 1 "$@" "$f" b || exit 1 s=$(stat -c '%u %g' b) if test "x$s" != "x$u $g"; then # Allow the actual group to match that of the parent directory # (it was set to 0 above). if test "x$s" = "x$u $primary_group_num"; then : else echo "$0: $* $f b: $u $g != $s" 1>&2 Exit 1 fi fi } nameless_uid=$($PERL -le ' foreach my $i (1000..16*1024-1) { getpwuid $i or (print $i), exit } ') nameless_gid1=$($PERL -le ' foreach my $i (1000..16*1024) { getgrgid $i or (print $i), exit } ') nameless_gid2=$($PERL -le ' foreach my $i ('"$nameless_gid1"'+1..16*1024) { getgrgid $i or (print $i), exit } ') if test -z "$nameless_uid" \ || test -z "$nameless_gid1" \ || test -z "$nameless_gid2"; then skip_ "couldn't find a nameless UID or GID" fi chown "+$nameless_uid:+0" . create a0 0 0 create b0 "$nameless_uid" "$nameless_gid1" create b1 "$nameless_uid" "$nameless_gid2" create c0 0 "$nameless_gid1" create c1 0 "$nameless_gid2" t0 a0 0 0 cp t0 b0 0 0 cp t0 b1 0 0 cp t0 c0 0 0 cp t0 c1 0 0 cp t0 a0 0 0 cp -p t0 b0 "$nameless_uid" "$nameless_gid1" cp -p t0 b1 "$nameless_uid" "$nameless_gid2" cp -p t0 c0 0 "$nameless_gid1" cp -p t0 c1 0 "$nameless_gid2" cp -p # For the remaining tests, we need a cp binary that is accessible to a user # with UID of $nameless_uid. The build directory may not be accessible, # so create a temporary directory and copy cp into it, ensure that # $nameless_uid can access it and then make that directory the search path. tmp_path= cleanup_() { rm -rf "$tmp_path"; } # Cause mktemp to create a directory directly under /tmp. # Setting TMPDIR explicitly is required here, in case $TMPDIR # is not readable by our nameless IDs. test -d /tmp && TMPDIR=/tmp tmp_path=$(mktemp -d) || fail_ "failed to create temporary directory" cp "$abs_path_dir_/cp" "$tmp_path" chmod -R a+rx "$tmp_path" t1() { f=$1; shift u=$1; shift g=$1; shift t0 "$f" "$u" "$g" \ setuidgid -g "$nameless_gid1,$nameless_gid2" \ "$nameless_uid" env PATH="$tmp_path" "$@" } t1 a0 "$nameless_uid" "$nameless_gid1" cp t1 b0 "$nameless_uid" "$nameless_gid1" cp t1 b1 "$nameless_uid" "$nameless_gid1" cp t1 c0 "$nameless_uid" "$nameless_gid1" cp t1 c1 "$nameless_uid" "$nameless_gid1" cp t1 a0 "$nameless_uid" "$nameless_gid1" cp -p t1 b0 "$nameless_uid" "$nameless_gid1" cp -p t1 b1 "$nameless_uid" "$nameless_gid2" cp -p t1 c0 "$nameless_uid" "$nameless_gid1" cp -p t1 c1 "$nameless_uid" "$nameless_gid2" cp -p Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/link-preserve.sh������������������������������������������������������������0000775�0000000�0000000�00000005553�12102337340�015242� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that 'cp -d' preserves hard-links between command line arguments # ensure that --preserve=links works with -RH and -RL # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp touch a || framework_failure_ ln a b || framework_failure_ mkdir c || framework_failure_ cp -d a b c || framework_failure_ test -f c/a || framework_failure_ test -f c/b || framework_failure_ a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" || fail=1 # -------------------------------------- rm -rf a b c touch a ln -s a b mkdir c cp --preserve=links -R -H a b c || fail=1 a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" || fail=1 # -------------------------------------- # Ensure that -L makes cp follow the b->a symlink # and translates to hard-linked a and b in the destination dir. rm -rf a b c d; mkdir d; (cd d; touch a; ln -s a b) cp --preserve=links -R -L d c || fail=1 a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" || fail=1 # -------------------------------------- # Same as above, but starting with a/b hard linked. rm -rf a b c d; mkdir d; (cd d; touch a; ln a b) cp --preserve=links -R -L d c || fail=1 a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" || fail=1 # -------------------------------------- # Ensure that --no-preserve=links works. rm -rf a b c d; mkdir d; (cd d; touch a; ln a b) cp -dR --no-preserve=links d c || fail=1 a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" && fail=1 # -------------------------------------- # Ensure that -d still preserves hard links. rm -rf a b c d touch a; ln a b mkdir c cp -d a b c || fail=1 a_inode=$(ls -i c/a|sed 's,c/.*,,') b_inode=$(ls -i c/b|sed 's,c/.*,,') test "$a_inode" = "$b_inode" || fail=1 # -------------------------------------- # Ensure that --no-preserve=mode works rm -rf a b c d touch a; chmod 731 a umask 077 cp -a --no-preserve=mode a b || fail=1 mode=$(ls -l b|cut -b-10) test "$mode" = "-rw-------" || fail=1 umask 022 # -------------------------------------- Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/symlink-slash.sh������������������������������������������������������������0000775�0000000�0000000�00000002572�12102337340�015250� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that cp -dR dereferences a symlink arg if its name is # written with a trailing slash. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir dir || framework_failure_ ln -s dir symlink || framework_failure_ cp -dR symlink/ s || fail=1 set $(ls -l s) # Prior to fileutils-4.0q, the following would have output ...'s -> dir' # because the trailing slash was removed unconditionally (now you have to # use the new --strip-trailing-slash option) causing cp to reproduce the # symlink. Now, the trailing slash is interpreted by the stat library # call and so cp ends up dereferencing the symlink and copying the directory. test "$*" = 'total 0' && : || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/link-heap.sh����������������������������������������������������������������0000775�0000000�0000000�00000002340�12102337340�014313� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that cp --preserve=link --link doesn't waste heap # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp expensive_ require_ulimit_ a=$(printf %031d 0) b=$(printf %031d 1) (mkdir $a \ && cd $a \ && seq --format=%031g 10000 |xargs touch \ && seq --format=d%030g 10000 |xargs mkdir ) || framework_failure_ cp -al $a $b || framework_failure_ mkdir e || framework_failure_ mv $a $b e || framework_failure_ # Increased from 20000 to 22000 in 2012, for pre-F18 rawhide. (ulimit -v 22000; cp -al e f) || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-HL.sh��������������������������������������������������������������������0000775�0000000�0000000�00000002465�12102337340�013356� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test cp's -H and -L options # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir src-dir dest-dir || framework_failure_ echo f > f || framework_failure_ ln -s f slink || framework_failure_ ln -s no-such-file src-dir/slink || framework_failure_ cp -H -R slink src-dir dest-dir || fail=1 test -d src-dir || fail=1 test -d dest-dir/src-dir || fail=1 # Expect this to succeed since this slink is not a symlink cat dest-dir/slink > /dev/null 2>&1 || fail=1 # Expect this to fail since *this* slink is a dangling symlink. cat dest-dir/src-dir/slink > /dev/null 2>&1 && fail=1 # FIXME: test -L, too. Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/no-deref-link1.sh�����������������������������������������������������������0000775�0000000�0000000�00000002126�12102337340�015160� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cp from 3.16 fails this test # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir a b msg=bar echo $msg > a/foo cd b ln -s ../a/foo . cd .. # It should fail with a message something like this: # ./cp: 'a/foo' and 'b/foo' are the same file cp -d a/foo b 2>/dev/null # Fail this test if the exit status is not 1 test $? = 1 || fail=1 test "$(cat a/foo)" = $msg || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/deref-slink.sh��������������������������������������������������������������0000775�0000000�0000000�00000001726�12102337340�014655� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate bug when using -d with an existing destination file # that is a symlink. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp touch f slink-target || framework_failure_ ln -s slink-target slink || framework_failure_ cp -d f slink || fail=1 Exit $fail ������������������������������������������coreutils-8.21/tests/cp/parent-perm-race.sh���������������������������������������������������������0000775�0000000�0000000�00000003512�12102337340�015607� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp -pR --parents isn't too generous with parent permissions. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ umask 002 mkdir mode ownership d || framework_failure_ chmod g+s d 2>/dev/null # The cp test is valid either way. for attr in mode ownership do mkfifo_or_skip_ $attr/fifo # Copy a fifo's contents. That way, we can examine d/$attr's # state while cp is running. cp --preserve=$attr -R --copy-contents --parents $attr d & cp_pid=$! ( # Now 'cp' is reading the fifo. # Check the permissions of the temporary destination # directory that 'cp' has made. ls -ld d/$attr >d/$attr.ls # Close the fifo so that "cp" can continue. But output first, # before exiting, otherwise some shells would optimize away the file # descriptor that holds the fifo open. echo foo ) >$attr/fifo ls_output=$(cat d/$attr.ls) || fail=1 case $attr,$ls_output in ownership,d???--[-S]--[-S]* | \ mode,d????-??-?* | \ mode,d??[-x]?w[-x]?-[-x]* ) ;; *) fail=1;; esac wait $cp_pid || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/backup-1.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002335�12102337340�014052� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp backup. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp suffix=.b file=F file_backup="$file$suffix" echo test > $file || fail=1 # Specify both version control and suffix so the environment variables # (possibly set by the user running these tests) aren't used. cp --force --backup=simple --suffix=$suffix $file $file || fail=1 cp -T --force --backup=simple --suffix=$suffix $file $file || fail=1 test -f $file || fail=1 test -f $file_backup || fail=1 compare $file $file_backup > /dev/null || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-mv-enotsup-xattr.sh������������������������������������������������������0000775�0000000�0000000�00000007037�12102337340�016330� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mv, cp -a and cp --preserve=xattr(all) options do work # as expected on file system without their support and do show correct # diagnostics when required # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv require_root_ cwd=$(pwd) cleanup_() { cd /; umount "$cwd/noxattr"; umount "$cwd/xattr"; } skip=0 # Mount an ext2 loopback file system at $WHERE with $OPTS make_fs() { where="$1" opts="$2" fs="$where.bin" dd if=/dev/zero of="$fs" bs=8192 count=200 > /dev/null 2>&1 \ || skip=1 mkdir "$where" || skip=1 mkfs -t ext2 -F "$fs" || skip_ "failed to create ext2 file system" mount -oloop,$opts "$fs" "$where" || skip=1 echo test > "$where"/f || skip=1 test -s "$where"/f || skip=1 test $skip = 1 && skip_ "insufficient mount/ext2 support" } make_fs noxattr nouser_xattr make_fs xattr user_xattr # testing xattr name-value pair xattr_name="user.foo" xattr_value="bar" xattr_pair="$xattr_name=\"$xattr_value\"" echo test > xattr/a || framework_failure_ getfattr -d xattr/a >out_a || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_a >/dev/null && framework_failure_ setfattr -n "$xattr_name" -v "$xattr_value" xattr/a >out_a \ || skip_ "failed to set xattr of file" getfattr -d xattr/a >out_a || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_a >/dev/null \ || skip_ "failed to set xattr of file" # This should pass without diagnostics cp -a xattr/a noxattr/ 2>err || fail=1 test -s noxattr/a || fail=1 # destination file must not be empty test -s err && fail=1 # there must be no stderr output rm -f err noxattr/a # This should pass without diagnostics (new file) cp --preserve=all xattr/a noxattr/ 2>err || fail=1 test -s noxattr/a || fail=1 # destination file must not be empty test -s err && fail=1 # there must be no stderr output # This should pass without diagnostics (existing file) cp --preserve=all xattr/a noxattr/ 2>err || fail=1 test -s noxattr/a || fail=1 # destination file must not be empty test -s err && fail=1 # there must be no stderr output rm -f err noxattr/a # This should fail with coresponding diagnostics cp -a --preserve=xattr xattr/a noxattr/ 2>err && fail=1 if grep '^#define USE_XATTR 1' $CONFIG_HEADER > /dev/null; then cat <<\EOF > exp cp: setting attributes for 'noxattr/a': Operation not supported EOF else cat <<\EOF > exp cp: cannot preserve extended attributes, cp is built without xattr support EOF fi compare exp err || fail=1 rm -f err noxattr/a # This should pass without diagnostics mv xattr/a noxattr/ 2>err || fail=1 test -s noxattr/a || fail=1 # destination file must not be empty test -s err && fail=1 # there must be no stderr output Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/fiemap-empty.sh�������������������������������������������������������������0000775�0000000�0000000�00000010211�12102337340�015034� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp reads unwritten extents efficiently # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # FIXME: enable any part of this test that is still relevant, # or, if none are relevant (now that cp does not handle unwritten # extents), just remove the test altogether. skip_ 'disabled for now' touch fiemap_chk fiemap_capable_ fiemap_chk || skip_ 'this file system lacks FIEMAP support' rm fiemap_chk # TODO: rather than requiring $(fallocate), possible add # this functionality to truncate --alloc fallocate --help >/dev/null || skip_ 'The fallocate utility is required' fallocate -l 1 -n falloc.test || skip_ 'this file system lacks FALLOCATE support' rm falloc.test # Require more space than we'll actually use, so that # tests run in parallel do not run out of space. # Otherwise, with inadequate space, simply running the following # fallocate command would induce a temporary disk-full condition, # which would cause failure of unrelated tests run in parallel. require_file_system_bytes_free_ 800000000 fallocate -l 600MiB space.test || skip_ 'this test needs at least 600MiB free space' # Disable this test on old BTRFS (e.g. Fedora 14) # which reports ordinary extents for unwritten ones. filefrag space.test || skip_ 'the 'filefrag' utility is missing' filefrag -v space.test | grep -F 'unwritten' > /dev/null || skip_ 'this file system does not report empty extents as "unwritten"' rm space.test # Ensure we read a large empty file quickly fallocate -l 300MiB empty.big || framework_failure_ timeout 3 cp --sparse=always empty.big cp.test || fail=1 test $(stat -c %s empty.big) = $(stat -c %s cp.test) || fail=1 rm empty.big cp.test # Ensure we handle extents beyond file size correctly. # Note until we support fallocate, we will not maintain # the file allocation. FIXME: amend this test when fallocate is supported. fallocate -l 10MiB -n unwritten.withdata || framework_failure_ dd count=10 if=/dev/urandom conv=notrunc iflag=fullblock of=unwritten.withdata cp unwritten.withdata cp.test || fail=1 test $(stat -c %s unwritten.withdata) = $(stat -c %s cp.test) || fail=1 cmp unwritten.withdata cp.test || fail=1 rm unwritten.withdata cp.test # The following to generate unaccounted extents followed by a hole, is not # supported by ext4 at least. The ftruncate discards all extents not # accounted for in the size. # fallocate -l 10MiB -n unacc.withholes # dd count=10 if=/dev/urandom conv=notrunc iflag=fullblock of=unacc.withholes # truncate -s20M unacc.withholes # Ensure we handle a hole after empty extents correctly. # Since all extents are accounted for in the size, # we can maintain the allocation independently from # fallocate() support. fallocate -l 10MiB empty.withholes truncate -s 20M empty.withholes sectors_per_block=$(expr $(stat -c %o .) / 512) cp empty.withholes cp.test || fail=1 test $(stat -c %s empty.withholes) = $(stat -c %s cp.test) || fail=1 # These are usually equal but can vary by an IO block due to alignment alloc_diff=$(expr $(stat -c %b empty.withholes) - $(stat -c %b cp.test)) alloc_diff=$(echo $alloc_diff | tr -d -- -) # abs() test $alloc_diff -le $sectors_per_block || fail=1 # Again with SPARSE_ALWAYS cp --sparse=always empty.withholes cp.test || fail=1 test $(stat -c %s empty.withholes) = $(stat -c %s cp.test) || fail=1 # cp.test should take 0 space, but allowing for some systems # that store default extended attributes in data blocks test $(stat -c %b cp.test) -le $sectors_per_block || fail=1 rm empty.withholes cp.test Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/parent-perm.sh��������������������������������������������������������������0000775�0000000�0000000�00000003733�12102337340�014704� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp --parents works properly with a preexisting dest. directory # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp working_umask_or_skip_ # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ mkdir -p a/b/c a/b/d e || framework_failure_ touch a/b/c/foo a/b/d/foo || framework_failure_ cp -p --parent a/b/c/foo e || framework_failure_ # Make permissions of e/a different, so that we exercise the # code in cp -p --parents that propagates permissions even # to a destination directory that it doesn't create. chmod g-rx e/a e/a/b || framework_failure_ cp -p --parent a/b/d/foo e || fail=1 # Ensure that permissions on just-created directory, e/a/, # are the same as those on original, a/. # The sed filter maps any 's' from an inherited set-GID bit # to the usual 'x'. Otherwise, under unusual circumstances, this # test would fail with e.g., drwxr-sr-x != drwxr-xr-x . # For reference, the unusual circumstances is: build dir is set-gid, # so "a/" inherits that. However, when the user does not belong to # the group of the build directory, chmod ("a/e", 02755) returns 0, # yet fails to set the S_ISGID bit. for dir in a a/b a/b/d; do test $(stat --printf %A $dir|sed s/s/x/g) \ = $(stat --printf %A e/$dir|sed s/s/x/g) || fail=1 done Exit $fail �������������������������������������coreutils-8.21/tests/cp/cp-mv-backup.sh�������������������������������������������������������������0000775�0000000�0000000�00000004711�12102337340�014734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test basic --backup functionality for both cp and mv. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp umask 022 # Be careful to close $actual before removing the containing directory. # Use '1>&2' rather than '1<&-' since the latter appears not to work # with /bin/sh from powerpc-ibm-aix4.2.0.0. actual=actual expected=expected exec 3>&1 1> $actual for prog in cp mv; do for initial_files in 'x' 'x y' 'x y y~' 'x y y.~1~' 'x y y~ y.~1~'; do for opt in none off numbered t existing nil simple never; do touch $initial_files $prog --backup=$opt x y || fail=1 echo $initial_files $opt: $(ls [xy]*); rm -f x y y~ y.~?~ done done done cat <<\EOF > $expected-tmp x none: x y x off: x y x numbered: x y x t: x y x existing: x y x nil: x y x simple: x y x never: x y x y none: x y x y off: x y x y numbered: x y y.~1~ x y t: x y y.~1~ x y existing: x y y~ x y nil: x y y~ x y simple: x y y~ x y never: x y y~ x y y~ none: x y y~ x y y~ off: x y y~ x y y~ numbered: x y y.~1~ y~ x y y~ t: x y y.~1~ y~ x y y~ existing: x y y~ x y y~ nil: x y y~ x y y~ simple: x y y~ x y y~ never: x y y~ x y y.~1~ none: x y y.~1~ x y y.~1~ off: x y y.~1~ x y y.~1~ numbered: x y y.~1~ y.~2~ x y y.~1~ t: x y y.~1~ y.~2~ x y y.~1~ existing: x y y.~1~ y.~2~ x y y.~1~ nil: x y y.~1~ y.~2~ x y y.~1~ simple: x y y.~1~ y~ x y y.~1~ never: x y y.~1~ y~ x y y~ y.~1~ none: x y y.~1~ y~ x y y~ y.~1~ off: x y y.~1~ y~ x y y~ y.~1~ numbered: x y y.~1~ y.~2~ y~ x y y~ y.~1~ t: x y y.~1~ y.~2~ y~ x y y~ y.~1~ existing: x y y.~1~ y.~2~ y~ x y y~ y.~1~ nil: x y y.~1~ y.~2~ y~ x y y~ y.~1~ simple: x y y.~1~ y~ x y y~ y.~1~ never: x y y.~1~ y~ EOF sed 's/: x/:/' $expected-tmp |cat $expected-tmp - > $expected exec 1>&3 3>&- compare $expected $actual || fail=1 Exit $fail �������������������������������������������������������coreutils-8.21/tests/cp/existing-perm-race.sh�������������������������������������������������������0000775�0000000�0000000�00000005307�12102337340�016154� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp -p isn't too generous with existing file permissions. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_membership_in_two_groups_ # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ set _ $groups; shift g1=$1 g2=$2 umask 077 mkfifo_or_skip_ fifo touch fifo-copy && chgrp $g1 fifo && chgrp $g2 fifo-copy && chmod g+r fifo-copy || framework-failure # Copy a fifo's contents. That way, we can examine the # destination permissions before they're finalized. cp -p --copy-contents fifo fifo-copy & cp_pid=$! ( # Now 'cp' is reading the fifo. Wait for the destination file to # be written to, encouraging things along by echoing to the fifo. while test ! -s fifo-copy; do echo foo done # Check the permissions of the destination. ls -l -n fifo-copy >ls.out && # Close the fifo so that "cp" can continue. But output first, # before exiting, otherwise some shells would optimize away the file # descriptor that holds the fifo open. echo foo ) >fifo || fail=1 # Check that the destination mode is safe while the file is being copied. read mode links owner group etc <ls.out || fail=1 case $mode in -rw-------*) ;; # FIXME: Remove the following case; the file mode should always be # 600 while the data are being copied. This will require changing # cp so that it also does not put $g1's data in a file that is # accessible to $g2. This fix will not close a security hole, since # a $g2 process can maintain an open file descriptor to the # destination, but it's safer anyway. -rw-r-----*) # If the file has group $g1 and is group-readable, that is definitely bogus, # as neither the source nor the destination was readable to group $g1. test "$group" = "$g1" && fail=1;; *) fail=1;; esac wait $cp_pid || fail=1 # Check that the final mode and group are right. ls -l -n fifo-copy >ls.out && read mode links owner group etc <ls.out || fail=1 case $mode in -rw-------*) test "$group" = "$g1" || fail=1;; *) fail=1;; esac Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/preserve-slink-time.sh������������������������������������������������������0000775�0000000�0000000�00000002754�12102337340�016361� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that cp -Pp preserves times even on symlinks. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp grep '^#define HAVE_UTIMENSAT 1' "$CONFIG_HEADER" > /dev/null || grep '^#define HAVE_LUTIMES 1' "$CONFIG_HEADER" > /dev/null || skip_ 'this system lacks the utimensat function' ln -s no-such dangle || framework_failure_ # If the current file system lacks sub-second resolution, sleep for 2s to # ensure that the times on the copy are different from those of the original. case $(stat --format=%y dangle) in ??:??:??.000000000) sleep 2;; esac # Can't use --format=%x, as lstat() modifies atime on some platforms. cp -Pp dangle d2 || framework_failure_ stat --format=%y dangle > t1 || framework_failure_ stat --format=%y d2 > t2 || framework_failure_ compare t1 t2 || fail=1 Exit $fail ��������������������coreutils-8.21/tests/cp/fiemap-2.sh�����������������������������������������������������������������0000775�0000000�0000000�00000004135�12102337340�014047� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise a few more corners of the fiemap-copying code. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # Require a fiemap-enabled FS. touch fiemap_chk # check a file rather than current dir for best coverage fiemap_capable_ fiemap_chk \ || skip_ "this file system lacks FIEMAP support" # Exercise the code that handles a file ending in a hole. printf x > k || framework_failure_ dd bs=1k seek=128 of=k < /dev/null || framework_failure_ # The first time through the outer loop, the input file, K, ends with a hole. # The second time through, we append a byte so that it does not. for append in no yes; do test $append = yes && printf y >> k for i in always never; do cp --sparse=$i k k2 || fail=1 cmp k k2 || fail=1 done done # Ensure that --sparse=always can restore holes. rm -f k # Create a file starting with an "x", followed by 256K-1 0 bytes. printf x > k || framework_failure_ dd bs=1k seek=1 of=k count=255 < /dev/zero || framework_failure_ # cp should detect the all-zero blocks and convert some of them to holes. # How many it detects/converts currently depends on io_blksize. # Currently, on my F14/ext4 desktop, this K starts off with size 256KiB, # (note that the K in the preceding test starts off with size 4KiB). # cp from coreutils-8.9 with --sparse=always reduces the size to 32KiB. cp --sparse=always k k2 || fail=1 test $(stat -c %b k2) -lt $(stat -c %b k) || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/cp-i.sh���������������������������������������������������������������������0000775�0000000�0000000�00000003742�12102337340�013302� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test whether cp -i prompts in the right place. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir -p a b/a/c || framework_failure_ touch a/c || framework_failure_ # coreutils 6.2 cp would neglect to prompt in this case. echo n | cp -iR a b 2>/dev/null || fail=1 # test miscellaneous combinations of -f -i -n parameters touch c d || framework_failure_ echo "'c' -> 'd'" > out_copy > out_empty # ask for overwrite, answer no echo n | cp -vi c d 2>/dev/null > out1 || fail=1 compare out1 out_empty || fail=1 # ask for overwrite, answer yes echo y | cp -vi c d 2>/dev/null > out2 || fail=1 compare out2 out_copy || fail=1 # -i wins over -n echo y | cp -vni c d 2>/dev/null > out3 || fail=1 compare out3 out_copy || fail=1 # -n wins over -i echo y | cp -vin c d 2>/dev/null > out4 || fail=1 compare out4 out_empty || fail=1 # ask for overwrite, answer yes echo y | cp -vfi c d 2>/dev/null > out5 || fail=1 compare out5 out_copy || fail=1 # do not ask, prevent from overwrite echo n | cp -vfn c d 2>/dev/null > out6 || fail=1 compare out6 out_empty || fail=1 # do not ask, prevent from overwrite echo n | cp -vnf c d 2>/dev/null > out7 || fail=1 compare out7 out_empty || fail=1 # options --backup and --no-clobber are mutually exclusive cp -bn c d 2>/dev/null && fail=1 Exit $fail ������������������������������coreutils-8.21/tests/cp/fail-perm.sh����������������������������������������������������������������0000775�0000000�0000000�00000003353�12104776321�014334� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp skip_if_root_ chmod g-s . || framework_failure_ mkdir D D/D || framework_failure_ touch D/a || framework_failure_ chmod 0 D/a || framework_failure_ chmod u=rx,go=,-st D || framework_failure_ # This is expected to exit non-zero, because it can't read D/a. cp -pR D DD > /dev/null 2>&1 && fail=1 # Permissions on DD must be 'dr-x------' mode=$(ls -ld DD|cut -b-10) test "$mode" = dr-x------ || fail=1 chmod 0 D ln -s D/D symlink touch F cat > exp <<\EOF cp: failed to access 'symlink': Permission denied EOF cp F symlink 2> out && fail=1 # HPUX appears to fail with EACCES rather than EPERM. # Transform their diagnostic # ...: The file access permissions do not allow the specified action. # to the expected one: sed 's/: The file access permissions.*/: Permission denied/'<out>o1;mv o1 out compare exp out || fail=1 cp --target-directory=symlink F 2> out && fail=1 sed 's/: The file access permissions.*/: Permission denied/'<out>o1;mv o1 out compare exp out || fail=1 chmod 700 D Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/link.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002071�12102337340�013401� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp --link -f works when the target exists. # This failed for 4.0z (due to a bug introduced in that test release). # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp touch src || framework_failure_ touch dest || framework_failure_ touch dest2 || framework_failure_ cp -f --link src dest || fail=1 cp -f --symbolic-link src dest2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/preserve-2.sh���������������������������������������������������������������0000775�0000000�0000000�00000001727�12102337340�014445� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that cp's --preserve=X,Y option is parsed properly # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ touch f || framework_failure_ cp --preserve=mode,links f g || fail=1 Exit $fail �����������������������������������������coreutils-8.21/tests/cp/existing-perm-dir.sh��������������������������������������������������������0000775�0000000�0000000�00000002033�12102337340�016011� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp -p doesn't "restore" permissions it shouldn't (Bug#9170). # Copyright 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp umask 002 mkdir -p -m ug-s,u=rwx,g=rwx,o=rx src/dir || fail=1 mkdir -p -m ug-s,u=rwx,g=,o= dst/dir || fail=1 cp -r src/. dst/ || fail=1 mode=$(stat --p=%A dst/dir) test "$mode" = drwx------ || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/backup-dir.sh���������������������������������������������������������������0000775�0000000�0000000�00000001776�12102337340�014500� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp -b doesn't back up directories. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir x y || framework_failure_ cp -a x y || fail=1 # This would mistakenly create a backup of y/x (y/x~) in coreutils-6.3. cp -ab x y || fail=1 test -d y/x || fail=1 test -d y/x~ && fail=1 Exit $fail ��coreutils-8.21/tests/cp/sparse-fiemap.sh������������������������������������������������������������0000775�0000000�0000000�00000010367�12102337340�015207� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test cp --sparse=always through fiemap copy # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp require_perl_ # The test was seen to fail on ext3 so exclude that type # (or any file system where the type can't be determined) touch fiemap_chk if fiemap_capable_ fiemap_chk && ! df -t ext3 . >/dev/null; then : # Current partition has working extents. Good! else # FIXME: temporarily(?) skip this variant, at least until after this bug # is fixed: http://thread.gmane.org/gmane.comp.file-systems.ext4/24495 skip_ "current file system has insufficient FIEMAP support" # It's not; we need to create one, hence we need root access. require_root_ cwd=$PWD cleanup_() { cd /; umount "$cwd/mnt"; } skip=0 # Create an ext4 loopback file system dd if=/dev/zero of=blob bs=32k count=1000 || skip=1 mkdir mnt mkfs -t ext4 -F blob || skip_ "failed to create ext4 file system" mount -oloop blob mnt || skip=1 cd mnt || skip=1 echo test > f || skip=1 test -s f || skip=1 test $skip = 1 && skip_ "insufficient mount/ext4 support" fi # ================================================= # Ensure that we exercise the FIEMAP-copying code enough # to provoke at least two iterations of the do...while loop # in which it calls ioctl (fd, FS_IOC_FIEMAP,... # This also verifies that non-trivial extents are preserved. # Extract logical block number and length pairs from filefrag -v output. # The initial sed is to remove the "eof" from the normally-empty "flags" field. # Similarly, remove flags values like "unknown,delalloc,eof". # That is required when that final extent has no number in the "expected" field. f() { sed 's/ [a-z,][a-z,]*$//' $@ \ | $AWK '/^ *[0-9]/ {printf "%d %d ", $2, (NF<5 ? $NF : $5) } END {print ""}' } for i in $(seq 1 2 21); do for j in 1 2 31 100; do $PERL -e '$n = '$i' * 1024; *F = *STDOUT;' \ -e 'for (1..'$j') { sysseek (*F, $n, 1)' \ -e '&& syswrite (*F, chr($_)x$n) or die "$!"}' > j1 || fail=1 # Note there is an implicit sync performed by cp on Linux kernels # before 2.6.39 to work around bugs in EXT4 and BTRFS. # Note also the -s parameter to the filefrag commands below # for the same reasons. cp --sparse=always j1 j2 || fail=1 cmp j1 j2 || fail_ "data loss i=$i j=$j" if ! filefrag -vs j1 | grep -F extent >/dev/null; then test $skip != 1 && warn_ 'skipping part; you lack filefrag' skip=1 else # Here is sample filefrag output: # $ perl -e 'BEGIN{$n=16*1024; *F=*STDOUT}' \ # -e 'for (1..5) { sysseek(*F,$n,1)' \ # -e '&& syswrite *F,"."x$n or die "$!"}' > j # $ filefrag -v j # File system type is: ef53 # File size of j is 163840 (40 blocks, blocksize 4096) # ext logical physical expected length flags # 0 4 6258884 4 # 1 12 6258892 6258887 4 # 2 20 6258900 6258895 4 # 3 28 6258908 6258903 4 # 4 36 6258916 6258911 4 eof # j: 6 extents found # exclude the physical block numbers; they always differ filefrag -v j1 > ff1 || framework_failure_ filefrag -vs j2 > ff2 || framework_failure_ { f ff1; f ff2; } | $PERL $abs_srcdir/tests/filefrag-extent-compare \ || { warn_ ignoring filefrag-reported extent map differences # Show the differing extent maps. head -n99 ff1 ff2 } fi test $fail = 1 && break 2 done done Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/file-perm-race.sh�����������������������������������������������������������0000775�0000000�0000000�00000003150�12102337340�015233� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure cp -p isn't too generous with file permissions. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ umask 022 mkfifo_or_skip_ fifo # Copy a fifo's contents. That way, we can examine the # destination permissions before they're finalized. cp -p --copy-contents fifo fifo-copy & cp_pid=$! ( # Now 'cp' is reading the fifo. Wait for the destination file to # be created, encouraging things along by echoing to the fifo. while test ! -f fifo-copy; do echo foo done # Check the permissions of the destination. ls -l fifo-copy >ls.out # Close the fifo so that "cp" can continue. But output first, # before exiting, otherwise some shells would optimize away the file # descriptor that holds the fifo open. echo foo ) >fifo case $(cat ls.out) in -???------*) ;; *) fail=1;; esac wait $cp_pid || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/cp/dir-rm-dest.sh��������������������������������������������������������������0000775�0000000�0000000�00000002017�12102337340�014573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # verify that cp's --remove-destination option works with -R # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mkdir d e || framework_failure_ # Do it once with no destination... cp -R --remove-destination d e || fail=1 # ...and again, with an existing destination. cp -R --remove-destination d e || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012713� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/relative.sh��������������������������������������������������������������0000775�0000000�0000000�00000002264�12102337341�015004� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate using a combination of --reference and --date to # set the time of a file back by an arbitrary amount. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch TZ=UTC0 touch --date='2004-01-16 12:00 +0000' f || framework_failure_ # Set times back by 5 days. touch --ref f --date='-5 days' f || fail=1 TZ=UTC0 ls -og --time-style=+%Y-%m-%d f > out.1 || fail sed 's/ f$//;s/.* //' out.1 > out cat <<\EOF > exp || fail=1 2004-01-11 EOF compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/fifo.sh������������������������������������������������������������������0000775�0000000�0000000�00000001555�12102337341�014116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure touch works on fifos without hanging. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch mkfifo_or_skip_ fifo touch fifo || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/dir-1.sh�����������������������������������������������������������������0000775�0000000�0000000�00000000314�12050450172�014077� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure touch can operate on a directory. # This was broken in the 4.0[efg] test releases. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch touch . || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/no-create-missing.sh�����������������������������������������������������0000775�0000000�0000000�00000002534�12102337341�016515� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that touch -c no-such-file no longer fails (it did in 4.1.8). # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch touch -c no-file > /dev/null 2>&1 || fail=1 touch -cm no-file > /dev/null 2>&1 || fail=1 touch -ca no-file > /dev/null 2>&1 || fail=1 test="$abs_top_builddir/src/test" # If >&- works, test "touch -c -" etc. # >&- apparently does not work in HP-UX 11.23. # This test is ineffective unless /dev/stdout also works. if "$test" -w /dev/stdout >/dev/null && "$test" ! -w /dev/stdout >&-; then touch -c - >&- 2> /dev/null || fail=1 touch -cm - >&- 2> /dev/null || fail=1 touch -ca - >&- 2> /dev/null || fail=1 fi Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/no-dereference.sh��������������������������������������������������������0000775�0000000�0000000�00000005107�12102337341�016051� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that touch -h works. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch ln -s nowhere dangling || framework_failure_ touch file || framework_failure_ ln -s file link || framework_failure_ # These first tests should work on every platform. # -h does not create files, but it warns. Use -c to silence warning. touch -h no-file 2> err && fail=1 test -s err || fail=1 touch -h -c no-file 2> err || fail=1 test -s err && fail=1 # -h works on regular files touch -h file || fail=1 # -h coupled with -r uses timestamp of the symlink, not the referent. touch -h -r dangling file || fail=1 test -f nowhere && fail=1 # The remaining tests of -h require kernel support for changing symlink times. grep '^#define HAVE_UTIMENSAT 1' "$CONFIG_HEADER" > /dev/null || grep '^#define HAVE_LUTIMES 1' "$CONFIG_HEADER" > /dev/null || skip_ 'this system lacks the utimensat function' # Changing time of dangling symlink is okay. # Skip the test if this fails, but the error text corresponds to # ENOSYS (possible with old kernel but new glibc). touch -h dangling 2> err case $? in 0) test -f nowhere && fail=1 test -s err && fail=1;; 1) grep 'Function not implemented' err \ && skip_ 'this system lacks the utimensat function' fail=1;; *) fail=1;; esac # Change the mtime of a symlink. touch -m -h -d 2009-10-10 link || fail=1 case $(stat --format=%y link) in 2009-10-10*) ;; *) fail=1 ;; esac case $(stat --format=%y file) in 2009-10-10*) fail=1;; esac # Test interactions with -. touch -h - > file || fail=1 test="$abs_top_builddir/src/test" # If >&- works, test "touch -ch -" etc. # >&- apparently does not work in HP-UX 11.23. # This test is ineffective unless /dev/stdout also works. # If stdout is open, it is not a symlink. if "$test" -w /dev/stdout >/dev/null && "$test" ! -w /dev/stdout >&-; then touch -h - >&- && fail=1 touch -h -c - >&- || fail=1 fi Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/no-rights.sh�������������������������������������������������������������0000775�0000000�0000000�00000002373�12102337341�015104� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure touch can update the times on a file that is neither # readable nor writable. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch # Make sure t2 is newer than t1. touch -d '2000-01-01 00:00' t1 || framework_failure_ touch -d '2000-01-02 00:00' t2 || framework_failure_ set x $(ls -t t1 t2) test "$*" = "x t2 t1" || framework_failure_ chmod 0 t1 touch -d '2000-01-03 00:00' -c t1 || fail=1 set x $(ls -t t1 t2) test "$*" = "x t1 t2" || fail=1 # Also test the combination of --no-create and -a. touch -a --no-create t1 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/now-owned-by-other.sh����������������������������������������������������0000775�0000000�0000000�00000002345�12102337341�016635� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate that "touch -d now writable-but-owned-by-other" works. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch require_root_ group_num=$(id -g $NON_ROOT_USERNAME) # Create a file owned by root, and writable by $NON_ROOT_USERNAME. echo > root-owned || framework_failure_ chgrp +$group_num . root-owned || framework_failure_ chmod g+w root-owned # Ensure that the current directory is searchable by $NON_ROOT_USERNAME. chmod g+x . setuidgid $NON_ROOT_USERNAME env PATH="$PATH" touch -d now root-owned || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/dangling-symlink.sh������������������������������������������������������0000775�0000000�0000000�00000002654�12102337341�016443� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure touch can create a file through a dangling symlink. # This was broken in the 4.0[e-i] test releases. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch rm -f touch-target t-symlink ln -s touch-target t-symlink # This used to infloop. touch t-symlink || fail=1 test -f touch-target || fail=1 rm -f touch-target t-symlink if test $fail = 1; then case $host_triplet in *linux-gnu*) case "$(uname -r)" in 2.3.9[0-9]*) skip_ \ '**************************************************** WARNING!!! This version of the Linux kernel causes touch to fail when operating on dangling symlinks. ****************************************************' ;; esac ;; esac fi Exit $fail ������������������������������������������������������������������������������������coreutils-8.21/tests/touch/empty-file.sh������������������������������������������������������������0000775�0000000�0000000�00000004575�12102337341�015253� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure touch can set the mtime on an empty file. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Volker Borchert reported that touch 3.16r (and presumably all before that) # fails to work on SunOS 4.1.3 with 'most of the recommended patches' when # the empty file is on an NFS-mounted 4.2 volume. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch DEFAULT_SLEEP_SECONDS=2 SLEEP_SECONDS=${SLEEP_SECONDS=$DEFAULT_SLEEP_SECONDS} # FIXME: find writable directories on other partitions # and run the test in those directories, too. : ${TOUCH_DIR_LIST=.} for d in $TOUCH_DIR_LIST; do rm -rf $d/a $d/b $d/c > $d/a || framework_failure_ test -f $d/a || framework_failure_ > $d/b || framework_failure_ test -f $d/b || framework_failure_ > $d/c || framework_failure_ test -f $d/c || framework_failure_ done echo sleeping for $SLEEP_SECONDS seconds... sleep $SLEEP_SECONDS for d in $TOUCH_DIR_LIST; do touch $d/a || fail=1 set x $(ls -t $d/a $d/b) test "$*" = "x $d/a $d/b" || fail=1 done echo sleeping for $SLEEP_SECONDS seconds... sleep $SLEEP_SECONDS for d in $TOUCH_DIR_LIST; do touch $d/b set x $(ls -t $d/a $d/b) test "$*" = "x $d/b $d/a" || fail=1 if touch - 1< $d/c 2> /dev/null; then set x $(ls -t $d/a $d/c) test "$*" = "x $d/c $d/a" || fail=1 fi rm -rf $d/a $d/b $d/c done if test $fail != 0; then cat 1>&2 <<EOF *** This test has just failed. That can happen when the test is run in an *** NFS-mounted directory on a system whose clock is not well synchronized *** with that of the NFS server. If you think that is the reason, set the *** environment variable SLEEP_SECONDS to some number of seconds larger than *** the default of $DEFAULT_SLEEP_SECONDS and rerun the test. EOF fi Exit $fail �����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/obsolescent.sh�����������������������������������������������������������0000775�0000000�0000000�00000002421�12102337341�015504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test touch with obsolescent 8- or 10-digit time stamps. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch _POSIX2_VERSION=199209; export _POSIX2_VERSION POSIXLY_CORRECT=1; export POSIXLY_CORRECT yearstart=01010000 for ones in 11111111 1111111111; do for args in $ones "-- $ones" "$yearstart $ones" "-- $yearstart $ones"; do touch $args || fail=1 test -f $ones || fail=1 test -f $yearstart && fail=1 rm -f $ones || fail=1 done done y2000=0101000000 rm -f $y2000 file || fail=1 touch $y2000 file && test -f $y2000 && test -f file || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/fail-diag.sh�������������������������������������������������������������0000775�0000000�0000000�00000001753�12102337341�015010� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure touch gives reasonable diagnostics # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch skip_if_root_ file=/no-such-dir/file touch $file > out 2>&1 && fail=1 cat <<EOF > exp touch: cannot touch '$file': No such file or directory EOF compare exp out || fail=1 Exit $fail ���������������������coreutils-8.21/tests/touch/not-owner.sh�������������������������������������������������������������0000775�0000000�0000000�00000003245�12102337341�015121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that touch gives reasonable diagnostics when applied # to an unwritable directory owned by some other user. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch if env -- test -w /; then skip_ you have write access to /. fi if env -- test -O / || env -- test -G /; then skip_ "you own /." fi skip_if_root_ # Before fileutils-4.1, we'd get the following misleading # diagnostic instead of '...: Permission denied'. # touch: creating '/': Is a directory touch / > out 2>&1 && fail=1 # On SunOS4, EPERM is 'Not owner'. # On some *BSD systems it's 'Operation not permitted'. # On a system where root file system is mounted read-only # it's 'Read-only file system'. for msg in 'Not owner' 'Operation not permitted' 'Permission denied' \ 'Read-only file system'; do cat > exp <<EOF touch: setting times of '/': $msg EOF cmp out exp > /dev/null 2>&1 && { match=1; break; } done test "$match" = 1 || fail=1 test $fail = 1 && compare exp out Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/touch/read-only.sh�������������������������������������������������������������0000775�0000000�0000000�00000001773�12102337341�015067� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that touch can operate on read-only files # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch skip_if_root_ : > read-only || framework_failure_ chmod 444 read-only || framework_failure_ touch read-only || fail=1 touch - 1< read-only 2> /dev/null && { test ! -f - || fail=1; } Exit $fail �����coreutils-8.21/tests/touch/trailing-slash.sh��������������������������������������������������������0000775�0000000�0000000�00000003753�12102337341�016116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that touch honors trailing slash. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch ln -s nowhere dangling || framework_failure_ ln -s loop loop || framework_failure_ touch file || framework_failure_ ln -s file link1 || framework_failure_ mkdir dir || framework_failure_ ln -s dir link2 || framework_failure_ # Trailing slash can only appear on directory or symlink-to-directory. # Up through coreutils 8.0, Solaris 9 failed these tests. touch no-file/ && fail=1 touch file/ && fail=1 touch dangling/ && fail=1 touch loop/ && fail=1 touch link1/ && fail=1 touch dir/ || fail=1 # -c silences ENOENT, but not ENOTDIR or ELOOP touch -c no-file/ || fail=1 touch -c file/ && fail=1 touch -c dangling/ || fail=1 touch -c loop/ && fail=1 touch -c link1/ && fail=1 touch -c dir/ || fail=1 test -f no-file && fail=1 test -f nowhere && fail=1 # Trailing slash dereferences a symlink, even with -h. # mtime is sufficient to show pass (besides, lstat changes atime of # symlinks and directories under Cygwin 1.5). touch -d 2009-10-10 -h link2/ || fail=1 touch -h -r link2/ file || fail=1 case $(stat --format=%y dir) in 2009-10-10*) ;; *) fail=1 ;; esac case $(stat --format=%y link2) in 2009-10-10*) fail=1 ;; esac case $(stat --format=%y file) in 2009-10-10*) ;; *) fail=1 ;; esac Exit $fail ���������������������coreutils-8.21/tests/touch/60-seconds.sh������������������������������������������������������������0000775�0000000�0000000�00000002145�12102337341�015050� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # touch -t would mistakenly reject a time specifying "60" seconds # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ touch echo 60.000000000 > exp || framework_failure_ # Before coreutils-7.7, this would fail, complaining of # an 'invalid date format'. Specifying 60 seconds *is* valid. TZ=UTC0 touch -t 197001010000.60 f || fail=1 stat --p='%.9Y\n' f > out || fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/envvar-check�������������������������������������������������������������������0000664�0000000�0000000�00000002640�12102337340�014004� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- sh -*- # Check environment variables for sane values while testing. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi envvar_check_fail=0 vars=' _POSIX2_VERSION _STDBUF_E _STDBUF_I _STDBUF_O BLOCKSIZE BLOCK_SIZE CDPATH COLUMNS DF_BLOCK_SIZE DU_BLOCK_SIZE LANGUAGE LS_BLOCK_SIZE LS_COLORS OMP_NUM_THREADS POSIXLY_CORRECT QUOTING_STYLE SIMPLE_BACKUP_SUFFIX TABSIZE TERM TIME_STYLE TMPDIR VERSION_CONTROL ' for var in $vars do $as_unset $var if eval test \"\${$var+set}\" = set; then echo "$0: the $var environment variable is set --" \ ' unset it and rerun this test' >&2 envvar_check_fail=1 fi done test "$envvar_check_fail" = 1 && exit 1 ������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012201� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/inacc-dest.sh���������������������������������������������������������������0000775�0000000�0000000�00000003441�12102337340�014466� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Prior to coreutils-6.5, an inaccessible destination dir (chmod a-x) # would cause du to exit prematurely on systems with native openat support. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du skip_if_root_ mkdir f && cd f && mkdir a b c d e && touch c/j && chmod a-x c \ || framework_failure_ du > ../t 2>&1 && fail=1 # Accept either of the following outputs. # You get the first from a system with openat _emulation_ (via /proc), # the second from a system with native openat support. # FIXME: there may well be a third output, for systems with neither # /proc support, nor native openat support. sed 's/^[0-9][0-9]* //' ../t | sort -u > out cat <<\EOF > exp || fail=1 . ./a ./b ./c ./d ./e du: cannot read directory './c': Permission denied EOF # Map a diagnostic like this # du: cannot access './c/j': Permission denied # to this: # du: cannot access './c': Permission denied # And accept "cannot read directory" in place of "cannot access" sed "s,/c/j': ,/c': ," out > t && mv t out sed 's,cannot access,cannot read directory,' out > t && mv t out compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/one-file-system.sh����������������������������������������������������������0000775�0000000�0000000�00000003336�12102337340�015477� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for bugs in du's --one-file-system (-x) option. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" mkdir -p b/c y/z d "$other_partition_tmpdir/x" || framework_failure_ ln -s "$other_partition_tmpdir/x" d || framework_failure_ # Due to a used-uninitialized variable, the "du -x" from coreutils-6.6 # would not traverse into second and subsequent directories listed # on the command line. du -ax b y > t || fail=1 sed 's/^[0-9][0-9]* //' t > out cat <<\EOF > exp || fail=1 b/c b y/z y EOF compare exp out || fail=1 # "du -xL" reported a zero count for a file in a different file system, # instead of ignoring it. du -xL d > u || fail=1 sed 's/^[0-9][0-9]* //' u > out1 echo d > exp1 || fail=1 compare exp1 out1 || fail=1 # With coreutils-8.15, "du -xs FILE" would print no output. touch f for opt in -x -xs; do du $opt f > u || fail=1 sed 's/^[0-9][0-9]* //' u > out2 echo f > exp2 || fail=1 compare exp2 out2 || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/max-depth.sh����������������������������������������������������������������0000775�0000000�0000000�00000002366�12102337340�014350� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise du's --max-depth=N option # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src mkdir -p a/b/c/d/e || framework_failure_ printf 'a/b/c\na/b\na\n' > exp || framework_failure_ du --max-depth=2 a > out 2>err || fail=1 # Remove the sizes. They vary between file systems. cut -f2- out > k && mv k out compare exp out || fail=1 compare /dev/null err || fail=1 # Repeat, but use -d 1. printf 'a/b\na\n' > exp || framework_failure_ du -d 1 a > out 2>err || fail=1 cut -f2- out > k && mv k out compare exp out || fail=1 compare /dev/null err || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/exclude.sh������������������������������������������������������������������0000775�0000000�0000000�00000002736�12102337340�014113� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure du's --exclude option works # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p a/b/c a/x/y a/u/v || framework_failure_ du --exclude=x a | sed 's/^[0-9][0-9]* //' | sort > out || fail=1 printf '===\n' >> out printf 'b\n' > excl du --exclude-from=excl a | sed 's/^[0-9][0-9]* //' | sort >> out || fail=1 printf '===\n' >> out # Make sure that we can exclude an entire hierarchy. du --exclude=a a >> out || fail=1 # Make sure that we can exclude based on more than one component. # Before coreutils-5.3.0, this part would fail. printf '===\n' >> out du --exclude=a/u --exclude=a/b a \ | sed 's/^[0-9][0-9]* //' | sort >> out || fail=1 cat <<\EOF > exp a a/b a/b/c a/u a/u/v === a a/u a/u/v a/x a/x/y === === a a/x a/x/y EOF compare exp out || fail=1 Exit $fail ����������������������������������coreutils-8.21/tests/du/files0-from-dir.sh����������������������������������������������������������0000775�0000000�0000000�00000002563�12102337340�015357� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that du and wc handle --files0-from=DIR # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du wc mkdir dir # Skip this test if reading from a directory succeeds. # In that case, using --files0-from=dir would yield garbage, # interpreting the directory entry as a sequence of # NUL-separated file names. cat dir > /dev/null && skip_ "cat dir/ succeeds" for prog in du wc; do $prog --files0-from=dir > /dev/null 2>err && fail=1 printf "$prog: dir:\n" > exp || fail=1 # The diagnostic string is usually "Is a directory" (ENOTDIR), # but accept a different string or errno value. sed 's/dir:.*/dir:/' err > k; mv k err compare exp err || fail=1 done Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/no-x.sh���������������������������������������������������������������������0000775�0000000�0000000�00000003225�12102337340�013335� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure du gives the right diagnostic for a readable, # but inaccessible directory. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du skip_if_root_ mkdir -p d/no-x/y || framework_failure_ chmod u=rw d/no-x || framework_failure_ # This must exit nonzero. du d >/dev/null 2>out && fail=1 prog=du # NOTE: this code is the same for all tests/*/no-x tests. # Depending on whether fts is using native fdopendir, we see one # of the following diagnostics (note also the /y suffix in one case): # prog: 'd/no-x': Permission denied # prog: cannot access 'd/no-x/y': Permission denied # prog: cannot read directory 'd/no-x': Permission denied # Convert either of the latter two to the first one. sed "s/^$prog: cannot access /$prog: /" out > t && mv t out sed "s/^$prog: cannot read directory /$prog: /" out > t && mv t out sed 's,d/no-x/y,d/no-x,' out > t && mv t out cat <<EOF > exp $prog: 'd/no-x': Permission denied EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/bigtime.sh������������������������������������������������������������������0000775�0000000�0000000�00000003106�12102337340�014072� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise du on a file with a big time stamp. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src export LC_ALL=C export TZ=UTC0 # 2**63 - 1 bignum=9223372036854775807 touch -d @$bignum future 2>/dev/null && future_time=$(ls -l future) && case "$future_time" in *" $bignum "*) : ;; *' Dec 4 300627798676 '*) skip_ "file system and localtime both handle big timestamps" ;; *) skip_ "file system or localtime mishandles big time stamps:" \ "$future_time" ;; esac || skip_ "file system cannot represent big time stamps" printf "0\t$bignum\tfuture\n" > exp || framework_failure_ printf "du: time $bignum is out of range\n" > err_ok || framework_failure_ du --time future >out 2>err || fail=1 # On some systems an empty file occupies 4 blocks. # Map the number of blocks to 0. sed 's/^[0-9][0-9]*/0/' out > k && mv k out compare exp out || fail=1 compare err err_ok || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/inaccessible-cwd.sh���������������������������������������������������������0000775�0000000�0000000�00000002441�12102337340�015652� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that even when run from an inaccessible directory, du can still # operate on accessible directories elsewhere. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Before the switch to an fts-based implementation in coreutils 5.0.92, # this test would fail. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # Skip this test if your system has neither the openat-style functions # nor /proc/self/fd support with which to emulate them. require_openat_support_ skip_if_root_ cwd=$(pwd) mkdir -p no-x a/b || framework_failure_ cd no-x || framework_failure_ chmod 0 . || framework_failure_ du "$cwd/a" > /dev/null || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/move-dir-while-traversing.sh������������������������������������������������0000775�0000000�0000000�00000006205�12102337340�017467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Trigger a failed assertion in coreutils-8.9 and earlier. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # We use a python-inotify script, so... python -m pyinotify -h > /dev/null \ || skip_ 'python inotify package not installed' # Move a directory "up" while du is processing its sub-directories. # While du is processing a hierarchy .../B/C/D/... this script # detects when du opens D/, and then moves C/ "up" one level # so that it is a sibling of B/. # Given the inherent race condition, we have to add enough "weight" # under D/ so that in most cases, the monitor performs the single # rename syscall before du finishes processing the subtree under D/. cat <<'EOF' > inotify-watch-for-dir-access.py #!/usr/bin/env python import pyinotify as pn import os,sys dir = sys.argv[1] dest_parent = os.path.dirname(os.path.dirname(dir)) dest = os.path.join(dest_parent, os.path.basename(dir)) class ProcessDir(pn.ProcessEvent): def process_IN_OPEN(self, event): os.rename(dir, dest) sys.exit(0) def process_default(self, event): pass wm = pn.WatchManager() notifier = pn.Notifier(wm) wm.watch_transient_file(dir, pn.IN_OPEN, ProcessDir) sys.stdout.write('started\n') sys.stdout.flush() notifier.loop() EOF chmod a+x inotify-watch-for-dir-access.py t=T/U mkdir d2 || framework_failure_ long=d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z # One iteration of this loop creates a tree with which # du sometimes completes its traversal before the above rename. # Five iterations was not enough in 2 of 7 "make -j20 check" runs on a # 6/12-core system. However, using "10", I saw no failure in 20 trials. # Using 10 iterations was not enough, either. # Using 50, I saw no failure in 200 trials. for i in $(seq 50); do mkdir -p $t/3/a/b/c/$i/$long || framework_failure_ done # Prohibit suspension, which could otherwise cause a timeout-induced FP failure. trap '' TSTP timeout 6 ./inotify-watch-for-dir-access.py $t/3/a/b > start-msg & # Wait for the watcher to start... nonempty() { test -s start-msg || { sleep $1; return 1; }; } retry_delay_ nonempty .1 5 # The above watches for an IN_OPEN event on $t/3/a/b, # and when it triggers, moves the parent, $t/3/a, up one level # so it's directly under $t. du -a $t d2 2> err # Before coreutils-8.10, du would abort. test $? = 1 || fail=1 # check for the new diagnostic printf "du: fts_read failed: $t/3/a/b: No such file or directory\n" > exp \ || fail=1 compare exp err || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/2g.sh�����������������������������������������������������������������������0000775�0000000�0000000�00000004152�12102337340�012764� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that du can handle a 2GB file (i.e., a file of size 2^31 bytes) # Before coreutils-5.93, on systems with a signed, 32-bit stat.st_blocks # one of du's computations would overflow. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # Creating a 2GB file counts as 'very expensive'. very_expensive_ # Get number of free kilobytes on current partition, so we can # skip this test if there is insufficient free space. # This technique relies on the fact that the 'Available' kilobyte # count is the number just before the one with a trailing '%'. free_kb=$(df -kP .|tail -1|sed 's/ [0-9][0-9]*%.*//;s/ *$//;s/.* //') case "$free_kb" in [0-9]*) ;; *) skip_ "invalid size from df: $free_kb";; esac # Require about 3GB free. min_kb=3000000 test $min_kb -lt $free_kb || { skip_ \ "too little free space on current partition: $free_kb (need $min_kb KB)" } big=big rm -f $big test -t 1 || printf 'creating a 2GB file...\n' for i in $(seq 100); do # Note: 2147483648 == 2^31. Print floor(2^31/100) per iteration. printf %21474836s x >> $big || fail=1 # On the final iteration, append the remaining 48 bytes. test $i = 100 && { printf %48s x >> $big || fail=1; } test -t 1 && printf 'creating a 2GB file: %d%% complete\r' $i done echo du -k $big > out1 || fail=1 rm -f $big sed 's/^2[0-9][0-9][0-9][0-9][0-9][0-9] '$big'$/~2M/' out1 > out cat <<\EOF > exp || fail=1 ~2M EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/8gb.sh����������������������������������������������������������������������0000775�0000000�0000000�00000003352�12102337340�013135� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that du does not rely on narrow types like size_t for # file sizes or sums. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du require_sparse_support_ dd bs=1 seek=8G of=big < /dev/null 2> /dev/null if test $? != 0; then skip_ 'cannot create a file large enough for this test; possibly because file offsets are only 32 bits on this file system' fi # FIXME: this should be a test of dd. # On some systems (at least linux-2.4.18 + NFS to disks on a Solaris system) # the 'dd' command above mistakenly creates a file of length '0', yet # doesn't fail. The root of that failure is that the ftruncate call # returns zero but doesn't do its job. Detect this failure. set x $(ls -gG big) size=$4 if test "$size" = 0; then skip_ "cannot create a file large enough for this test possibly because this system's NFS support is buggy Consider rerunning this test on a different file system." fi # This would print '0 big' with coreutils-4.5.8. du -ab big > out || fail=1 cat <<\EOF > exp 8589934592 big EOF compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/deref.sh��������������������������������������������������������������������0000775�0000000�0000000�00000003443�12102337340�013543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # prior to coreutils-4.5.3, du -D didn't work in some cases # Based on an example from Andreas Schwab and/or Michal Svec. # Also, up to coreutils-8.5, du -L sometimes incorrectly # counted the space of the followed symlinks. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p a/sub || framework_failure_ ln -s a/sub slink || framework_failure_ touch b || framework_failure_ ln -s .. a/sub/dotdot || framework_failure_ ln -s nowhere dangle || framework_failure_ # This used to fail with the following diagnostic: # du: 'b': No such file or directory du -sD slink b > /dev/null 2>&1 || fail=1 # This used to fail to report the dangling symlink. du -L dangle > /dev/null 2>&1 && fail=1 # du -L used to mess up, either by counting the symlink's disk space itself # (-L should follow symlinks, not count their space) # or (briefly in July 2010) by omitting the entry for "a". du_L_output=$(du -L a) || fail=1 du_lL_output=$(du -lL a) || fail=1 du_x_output=$(du --exclude=dotdot a) || fail=1 test "X$du_L_output" = "X$du_x_output" || fail=1 test "X$du_lL_output" = "X$du_x_output" || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/two-args.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002527�12102337340�014223� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure 'du d/1 d/2' works. # That command failed with du from fileutils-4.0q. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # Run this test from a sub-directory one level deeper than normal, # so that the "du .." below doesn't traverse sibling directories # that may be inaccessible due concurrently-running tests. mkdir sub || framework_failure_ cd sub || framework_failure_ t=t mkdir -p $t/1 $t/2 || framework_failure_ test -d $t || fail=1 du $t/1 $t/2 > /dev/null || fail=1 # Make sure 'du . $t' and 'du .. $t' work. # These would fail prior to fileutils-4.0y. du . $t > /dev/null || fail=1 du .. $t > /dev/null || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/long-sloop.sh���������������������������������������������������������������0000775�0000000�0000000�00000004467�12102337340�014556� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Use du to exercise a corner of fts's FTS_LOGICAL code. # Show that du fails with ELOOP (Too many levels of symbolic links) # when it encounters that condition. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # Create lots of directories, each containing a single symlink # pointing at the next directory in the list. # This number should be larger than the number of symlinks allowed in # file name resolution, but not too large as a number of entries # in a single directory. n=400 dir_list=$(seq $n) mkdir $dir_list || framework_failure_ file=1 i_minus_1=0 for i in $dir_list $(expr $n + 1); do case $i_minus_1 in 0) ;; *) ln -s ../$i $i_minus_1/s || framework_failure_ file=$file/s;; esac i_minus_1=$i done echo foo > $i # If a system can handle this many symlinks in a file name, # just skip this test. # The following also serves to record in 'err' the string # corresponding to strerror (ELOOP). This is necessary because while # Linux/libc gives 'Too many levels of symbolic links', Solaris # renders it as "Number of symbolic links encountered during path # name traversal exceeds MAXSYMLINKS". cat $file > /dev/null 2> err && skip_ 'Your system appears to be able to handle more than $n symlinks in file name resolution' too_many=$(sed 's/.*: //' err) # With coreutils-5.93 there was no failure. # With coreutils-5.94 we get the desired diagnostic: # du: cannot access '1/s/s/s/.../s': Too many levels of symbolic links du -L 1 > /dev/null 2> out1 && fail=1 sed "s, .1/s/s/s/[/s]*',," out1 > out || fail=1 echo "du: cannot access: $too_many" > exp || fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/inacc-dir.sh����������������������������������������������������������������0000775�0000000�0000000�00000002437�12102337340�014311� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that du counts the size of an inaccessible directory. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du skip_if_root_ mkdir -p a/sub || framework_failure_ du -s a > exp || fail=1 chmod 0 a/sub || fail=1 # Expect failure, ignore diagnostics. du -s a > out 2> /dev/null && fail=1 compare exp out || fail=1 # Same as above, but don't use -s, so we print # an entry for the unreadable "sub", too. chmod 700 a/sub || fail=1 du -k a > exp || fail=1 chmod 0 a/sub || fail=1 # Expect failure, ignore diagnostics. du -k a > out 2> /dev/null && fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/bind-mount-dir-cycle.sh�����������������������������������������������������0000775�0000000�0000000�00000002354�12102337340�016403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise du's new ability to handle bind-mount-induced dir cycles. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du require_root_ cleanup_() { umount a/b; } mkdir -p a/b || framework_failure_ mount --bind a a/b \ || skip_ "This test requires mount with a working --bind option." echo a > exp || framework_failure_ echo "du: mount point 'a/b' already traversed" > exp-err || framework_failure_ du a > out 2> err && fail=1 sed 's/^[0-9][0-9]* //' out > k && mv k out compare exp-err err || fail=1 compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/restore-wd.sh���������������������������������������������������������������0000775�0000000�0000000�00000002026�12102337340�014545� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # due to a bug in glibc's ftw.c, in some cases, nftw w/FTW_CHDIR # would not restore the working directory. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir a b || framework_failure_ # With du from coreutils-4.5.5 and 4.5.6, this would fail with # du: 'b': No such file or directory du a b > out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/basic.sh��������������������������������������������������������������������0000775�0000000�0000000�00000004571�12102337340�013542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Compare actual numbers from du, assuming block size matches mine. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p a/b d d/sub || framework_failure_ # Ensure that these files contain more than 64 bytes, so that we don't # immediately disqualify file systems (e.g., NetApp) on which smaller # files take up zero disk blocks. printf '%*s' 257 make-sure-the-file-is-non-empty > a/b/F || framework_failure_ printf %4096s x > d/1 cp d/1 d/sub/2 B=$(stat --format=%B a/b/F) du --block-size=$B -a a > out || fail=1 echo === >> out du --block-size=$B -a -S a >> out || fail=1 echo === >> out du --block-size=$B -s a >> out || fail=1 f=$(stat --format=%b a/b/F) b=$(stat --format=%b a/b) a=$(stat --format=%b a) bf=$(expr $b + $f) tot=$(expr $bf + $a) cat <<EOF | sed 's/ *#.*//' > exp $f a/b/F $bf a/b $tot a === $f a/b/F # size of file, a/b/F $bf a/b # size of dir entry, a/b, + size of file, a/b/F $a a # size of dir entry, a === $tot a EOF compare exp out || fail=1 # Perform this test only if "." is on a local file system. # Otherwise, it would fail e.g., on an NFS-mounted Solaris ZFS file system. if is_local_dir_ .; then rm -f out exp du --block-size=$B -a d | sort -r -k2,2 > out || fail=1 echo === >> out du --block-size=$B -S d | sort -r -k2,2 >> out || fail=1 t2=$(stat --format=%b d/sub/2) ts=$(stat --format=%b d/sub) t1=$(stat --format=%b d/1) td=$(stat --format=%b d) tot=$(expr $t1 + $t2 + $ts + $td) d1=$(expr $td + $t1) s2=$(expr $ts + $t2) cat <<EOF | sed 's/ *#.*//' > exp $t2 d/sub/2 $s2 d/sub $t1 d/1 $tot d === $s2 d/sub $d1 d # d + d/1; don't count the dir. entry for d/sub EOF compare exp out || fail=1 fi Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/threshold.sh����������������������������������������������������������������0000664�0000000�0000000�00000043400�12107174601�014450� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise du's --threshold option. # Copyright (C) 2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p a/b a/c || framework_failure_ touch a/b/0 || framework_failure_ printf '%1s' x > a/b/1 || framework_failure_ printf '%2s' x > a/b/2 || framework_failure_ printf '%3s' x > a/b/3 || framework_failure_ Ba=$(stat --format="%B * %b" a | xargs expr) Bb=$(stat --format="%B * %b" a/b | xargs expr) Bc=$(stat --format="%B * %b" a/c | xargs expr) B0=$(stat --format="%B * %b" a/b/0 | xargs expr) B1=$(stat --format="%B * %b" a/b/1 | xargs expr) B2=$(stat --format="%B * %b" a/b/2 | xargs expr) B3=$(stat --format="%B * %b" a/b/3 | xargs expr) Sa=$(stat --format=%s a ) Sb=$(stat --format=%s a/b ) Sc=$(stat --format=%s a/c ) S0=$(stat --format=%s a/b/0) S1=$(stat --format=%s a/b/1) S2=$(stat --format=%s a/b/2) S3=$(stat --format=%s a/b/3) Bb0123=$(expr $Bb + $B0 + $B1 + $B2 + $B3) Sb0123=$(expr $Sb + $S0 + $S1 + $S2 + $S3) Bab0123=$(expr $Ba + $Bc + $Bb0123) Sab0123=$(expr $Sa + $Sc + $Sb0123) # Sanity checks test $Ba -gt 4 || skip_ "block size of a directory is smaller than 4 bytes" test $Bc -gt 4 || skip_ "block size of an empty directory is smaller than 4 \ bytes" test $Sa -gt 4 || skip_ "apparent size of a directory is smaller than 4 bytes" test $B1 -gt 4 || skip_ "block size of small file smaller than 4 bytes" test $S3 -eq 3 || framework_failure_ test $S2 -eq 2 || framework_failure_ test $S1 -eq 1 || framework_failure_ test $S0 -eq 0 || framework_failure_ test $B0 -eq 0 || skip_ "block size of an empty file unequal Zero" # block size of a/b/1 == a/b/2 test $B1 -eq $B2 || framework_failure_ # a is bigger than a/b. test $Sab0123 -gt $Sb0123 || framework_failure_ test $Bab0123 -gt $Bb0123 || framework_failure_ # a/b is bigger than empty a/c. test $Sb0123 -gt $Sc || framework_failure_ test $Bb0123 -gt $Bc || framework_failure_ # Exercise a bad argument: unparsable number. cat <<EOF > exp du: invalid --threshold argument 'SIZE' EOF du --threshold=SIZE a > out 2>&1 && fail=1 compare exp out || fail=1 cat <<EOF > exp du: invalid -t argument 'SIZE' EOF du -t SIZE a > out 2>&1 && fail=1 compare exp out || fail=1 # Exercise a bad argument: -0 is not valid. cat <<EOF > exp du: invalid --threshold argument '-0' EOF du --threshold=-0 a > out 2>&1 && fail=1 compare exp out || fail=1 du -t -0 a > out 2>&1 && fail=1 compare exp out || fail=1 du -t-0 a > out 2>&1 && fail=1 compare exp out || fail=1 # Exercise a bad argument: empty argument. cat <<EOF > exp du: invalid --threshold argument '' EOF du --threshold= a > out 2>&1 && fail=1 compare exp out || fail=1 # Exercise a bad argument: no argument. du --threshold > out 2>&1 && fail=1 cat <<EOF > exp du: option '--threshold' requires an argument Try 'du --help' for more information. EOF compare exp out || fail=1 rm -f out dutest () { args="$1" exp="$2" rm -f exp out # Expected output. if [ "$exp" = "" ] ; then touch exp else printf "%s\n" $exp > exp fi rc=0 du -B1 $args a > out1 2>&1 || { cat out1 ; rc=1 ; } # Remove the size column and sort the output. cut -f2- out1 | sort > out || framework_failure_ compare exp out || { cat out1 ; rc=1 ; } return $rc } # Check numbers around the total size of the main directory 'a'. # One byte greater than 'a'. s=$(expr $Sab0123 + 1) # apparent size dutest "--app -t $s" '' || fail=1 dutest "--app -a -t $s" '' || fail=1 dutest "--app -S -t $s" '' || fail=1 dutest "--app -a -S -t $s" '' || fail=1 dutest "--app -t -$s" 'a a/b a/c' || fail=1 dutest "--app -a -t -$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S -t -$s" 'a a/b a/c' || fail=1 dutest "--app -a -S -t -$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$(expr $Bab0123 + 1) # block size dutest " -t $s" '' || fail=1 dutest " -a -t $s" '' || fail=1 dutest " -S -t $s" '' || fail=1 dutest " -a -S -t $s" '' || fail=1 dutest " -t -$s" 'a a/b a/c' || fail=1 dutest " -a -t -$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S -t -$s" 'a a/b a/c' || fail=1 dutest " -a -S -t -$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a'. s=$Sab0123 # apparent size dutest "--app --th=$s" 'a' || fail=1 dutest "--app -a --th=$s" 'a' || fail=1 dutest "--app -S --th=$s" '' || fail=1 dutest "--app -a -S --th=$s" '' || fail=1 dutest "--app --th=-$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=-$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$Bab0123 # block size dutest " --th=$s" 'a' || fail=1 dutest " -a --th=$s" 'a' || fail=1 dutest " -S --th=$s" '' || fail=1 dutest " -a -S --th=$s" '' || fail=1 dutest " --th=-$s" 'a a/b a/c' || fail=1 dutest " -a --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # One byte smaller than 'a'. s=$(expr $Sab0123 - 1) # apparent size dutest "--app --th=$s" 'a' || fail=1 dutest "--app -a --th=$s" 'a' || fail=1 dutest "--app -S --th=$s" '' || fail=1 dutest "--app -a -S --th=$s" '' || fail=1 dutest "--app --th=-$s" 'a/b a/c' || fail=1 dutest "--app -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=-$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$(expr $Bab0123 - 1) # block size dutest " --th=$s" 'a' || fail=1 dutest " -a --th=$s" 'a' || fail=1 dutest " -S --th=$s" '' || fail=1 dutest " -a -S --th=$s" '' || fail=1 dutest " --th=-$s" 'a/b a/c' || fail=1 dutest " -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Check numbers around the total size of the sub directory 'a/b'. # One byte greater than 'a/b'. s=$(expr $Sb0123 + 1) # apparent size dutest "--app --th=$s" 'a' || fail=1 dutest "--app -a --th=$s" 'a' || fail=1 dutest "--app -S --th=$s" '' || fail=1 dutest "--app -a -S --th=$s" '' || fail=1 dutest "--app --th=-$s" 'a/b a/c' || fail=1 dutest "--app -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=-$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$(expr $Bb0123 + 1) # block size dutest " --th=$s" 'a' || fail=1 dutest " -a --th=$s" 'a' || fail=1 dutest " -S --th=$s" '' || fail=1 dutest " -a -S --th=$s" '' || fail=1 dutest " --th=-$s" 'a/b a/c' || fail=1 dutest " -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a/b'. s=$Sb0123 # apparent size dutest "--app --th=$s" 'a a/b' || fail=1 dutest "--app -a --th=$s" 'a a/b' || fail=1 dutest "--app -S --th=$s" 'a/b' || fail=1 dutest "--app -a -S --th=$s" 'a/b' || fail=1 dutest "--app --th=-$s" 'a/b a/c' || fail=1 dutest "--app -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=-$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$Bb0123 # block size dutest " --th=$s" 'a a/b' || fail=1 dutest " -a --th=$s" 'a a/b' || fail=1 dutest " -S --th=$s" 'a/b' || fail=1 dutest " -a -S --th=$s" 'a/b' || fail=1 dutest " --th=-$s" 'a/b a/c' || fail=1 dutest " -a --th=-$s" 'a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # One byte smaller than 'a/b'. s=$(expr $Sb0123 - 1) # apparent size dutest "--app --th=$s" 'a a/b' || fail=1 dutest "--app -a --th=$s" 'a a/b' || fail=1 dutest "--app -S --th=$s" 'a/b' || fail=1 dutest "--app -a -S --th=$s" 'a/b' || fail=1 dutest "--app --th=-$s" 'a/c' || fail=1 dutest "--app -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=-$s" 'a a/c' || fail=1 dutest "--app -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 s=$(expr $Bb0123 - 1) # block size dutest " --th=$s" 'a a/b' || fail=1 dutest " -a --th=$s" 'a a/b' || fail=1 dutest " -S --th=$s" 'a/b' || fail=1 dutest " -a -S --th=$s" 'a/b' || fail=1 dutest " --th=-$s" 'a/c' || fail=1 dutest " -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Check numbers around the total size of the files a/b/[0123]'. echo One byte greater than 'a/b/3'. s=$(expr $S3 + 1) # apparent size dutest "--app --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=$s" 'a a/b a/c' || fail=1 dutest "--app -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app --th=-$s" '' || fail=1 dutest "--app -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3' || fail=1 dutest "--app -S --th=-$s" '' || fail=1 dutest "--app -a -S --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3' || fail=1 s=$(expr $B3 + 1) # block size dutest " --th=$s" 'a a/b' || fail=1 dutest " -a --th=$s" 'a a/b' || fail=1 dutest " -S --th=$s" 'a/b' || fail=1 dutest " -a -S --th=$s" 'a/b' || fail=1 dutest " --th=-$s" 'a/c' || fail=1 dutest " -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a/b/3'. echo Exactly the size of 'a/b/3'. s=$S3 # apparent size dutest "--app --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=$s" 'a a/b a/b/3 a/c' || fail=1 dutest "--app -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=$s" 'a a/b a/b/3 a/c' || fail=1 dutest "--app --th=-$s" '' || fail=1 dutest "--app -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3' || fail=1 dutest "--app -S --th=-$s" '' || fail=1 dutest "--app -a -S --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3' || fail=1 s=$B3 # block size dutest " --th=$s" 'a a/b a/c' || fail=1 dutest " -a --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " --th=-$s" 'a/c' || fail=1 dutest " -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a/b/2'. echo Exactly the size of 'a/b/2'. s=$S2 # apparent size dutest "--app --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=$s" 'a a/b a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=$s" 'a a/b a/b/2 a/b/3 a/c' || fail=1 dutest "--app --th=-$s" '' || fail=1 dutest "--app -a --th=-$s" 'a/b/0 a/b/1 a/b/2' || fail=1 dutest "--app -S --th=-$s" '' || fail=1 dutest "--app -a -S --th=-$s" 'a/b/0 a/b/1 a/b/2' || fail=1 s=$B2 # block size dutest " --th=$s" 'a a/b a/c' || fail=1 dutest " -a --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " --th=-$s" 'a/c' || fail=1 dutest " -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a/b/1'. echo Exactly the size of 'a/b/1'. s=$S1 # apparent size dutest "--app --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app --th=-$s" '' || fail=1 dutest "--app -a --th=-$s" 'a/b/0 a/b/1' || fail=1 dutest "--app -S --th=-$s" '' || fail=1 dutest "--app -a -S --th=-$s" 'a/b/0 a/b/1' || fail=1 s=$B1 # block size dutest " --th=$s" 'a a/b a/c' || fail=1 dutest " -a --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=$s" 'a a/b a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " --th=-$s" 'a/c' || fail=1 dutest " -a --th=-$s" 'a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=-$s" 'a a/c' || fail=1 dutest " -a -S --th=-$s" 'a a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # Exactly the size of 'a/b/0'. echo Exactly the size of 'a/b/0'. s=$S0 # apparent size dutest "--app --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a --th=$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest "--app -S --th=$s" 'a a/b a/c' || fail=1 dutest "--app -a -S --th=$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # (maximum tests (-0) not possible). s=$B0 # block size dutest " --th=$s" 'a a/b a/c' || fail=1 dutest " -a --th=$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 dutest " -S --th=$s" 'a a/b a/c' || fail=1 dutest " -a -S --th=$s" 'a a/b a/b/0 a/b/1 a/b/2 a/b/3 a/c' || fail=1 # (maximum tests (-0) not possible). Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/fd-leak.sh������������������������������������������������������������������0000775�0000000�0000000�00000002515�12102337340�013760� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # check for file descriptor leak # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du # Call this an expensive test. It's not that expensive, but command line # limitations might induce failure on some losing systems. expensive_ # Create 1296 (36^2) files. # Their names and separating spaces take up 3887 bytes. x='a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9' f= for i in $x; do for j in $x; do f="$f $i$j" done done # This may fail due to command line limitations. touch $f || framework_failure_ # With coreutils-5.0, this would fail due to a file descriptor leak. du $f > out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/slash.sh��������������������������������������������������������������������0000775�0000000�0000000�00000001740�12102337340�013566� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # 'du /' would omit the '/' on the last line. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du require_readable_root_ du --exclude='[^/]*' -x / > out-t || fail=1 sed 's/^[0-9][0-9]* //' out-t > out rm -f out-t cat <<\EOF > exp / EOF compare exp out || fail=1 Exit $fail ��������������������������������coreutils-8.21/tests/du/deref-args.sh���������������������������������������������������������������0000775�0000000�0000000�00000003117�12102337340�014473� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that --dereference-args (-D) gives reasonable names. # This test would fail for coreutils-5.0.91. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p dir/a || framework_failure_ ln -s dir slink || framework_failure_ printf %65536s x > 64k || framework_failure_ ln -s 64k slink-to-64k || framework_failure_ du -D slink | sed 's/^[0-9][0-9]* //' > out # Ensure that the trailing slash is preserved and handled properly. du -D slink/ | sed 's/^[0-9][0-9]* //' >> out # Ensure that -D makes du dereference even symlinks to non-directories. # Be sure to use --apparent-size. Otherwise, we'd get varying block counts # depending on file system type (e.g. 68 on ext3 vs. 64 on tmpfs and 72 # on SELinux-enabled systems). du --apparent-size --block-size=1K -D slink-to-64k >> out cat <<\EOF > exp slink/a slink slink/a slink/ 64 slink-to-64k EOF compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/files0-from.pl��������������������������������������������������������������0000775�0000000�0000000�00000006206�12102337340�014602� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise du's --files0-from option. # FIXME: keep this file in sync with tests/misc/wc-files0-from. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'du'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( # invalid extra command line argument ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1}, {ERR => "$prog: extra operand 'no-such'\n" . "file operands cannot be combined with --files0-from\n" . "Try '$prog --help' for more information.\n"} ], # missing input file ['missing', '--files0-from=missing', {EXIT=>1}, {ERR => "$prog: cannot open 'missing' for reading: " . "No such file or directory\n"}], # input file name of '-' ['minus-in-stdin', '--files0-from=-', '<', {IN=>{f=>'-'}}, {EXIT=>1}, {ERR => "$prog: when reading file names from stdin, no file name of" . " '-' allowed\n"}], # empty input, regular file ['empty', '--files0-from=@AUX@', {AUX=>''}], # empty input, from non-regular file ['empty-nonreg', '--files0-from=/dev/null'], # one NUL ['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1}, {ERR => "$prog: -:1: invalid zero-length file name\n"}], # two NULs ['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1}, {ERR => "$prog: -:1: invalid zero-length file name\n" . "$prog: -:2: invalid zero-length file name\n"}], # one file name, no NUL ['1', '--files0-from=-', '<', {IN=>{f=>"g"}}, {AUX=>{g=>''}}, {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'} ], # one file name, with NUL ['1a', '--files0-from=-', '<', {IN=>{f=>"g\0"}}, {AUX=>{g=>''}}, {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'} ], # two identical file names, no final NUL ['2', '--files0-from=-', '<', {IN=>{f=>"g\0g"}}, {AUX=>{g=>''}}, {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'} ], # two identical file names, with final NUL ['2a', '--files0-from=-', '<', {IN=>{f=>"g\0g\0"}}, {AUX=>{g=>''}}, {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'} ], # Ensure that $prog processes FILEs following a zero-length name. ['zero-len', '--files0-from=-', '<', {IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}}, {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'}, {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/no-deref.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002002�12102337340�014143� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that by default, du doesn't dereference command-line symlinks. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p dir/a/b || framework_failure_ ln -s dir slink || framework_failure_ du slink | sed 's/^[0-9][0-9]* //' > out cat <<\EOF > exp slink EOF compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/hard-link.sh����������������������������������������������������������������0000775�0000000�0000000�00000003246�12102337340�014330� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that hard-linked files are counted (and listed) only once. # Likewise for excluded directories. # Ensure that hard links _are_ listed twice when using --count-links. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p dir/sub ( cd dir && { echo non-empty > f1 ln f1 f2 ln -s f1 f3 echo non-empty > sub/F; } ) du -a -L --exclude=sub --count-links dir \ | sed 's/^[0-9][0-9]* //' | sort -r > out || fail=1 # For these tests, transform f1 or f2 or f3 (whichever name is find # first) to f_. That is necessary because, depending on the type of # file system, du could encounter any of those linked files first, # thus listing that one and not the others. for args in '-L' 'dir' '-L dir' do echo === >> out du -a --exclude=sub $args dir \ | sed 's/^[0-9][0-9]* //' | sed 's/f[123]/f_/' >> out || fail=1 done cat <<\EOF > exp dir/f3 dir/f2 dir/f1 dir === dir/f_ dir === dir/f_ dir/f_ dir === dir/f_ dir EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/trailing-slash.sh�����������������������������������������������������������0000775�0000000�0000000�00000002576�12102337340�015405� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that du works properly for an argument that refers to a # symbolic link, and that is specified with a trailing slash. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Before coreutils-4.5.3, it would remove a single trailing slash. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du mkdir -p dir/1/2 || framework_failure_ ln -s dir slink || framework_failure_ du slink/ | sed 's/^[0-9][0-9]* //' > out echo === >> out # Ensure that with -L we get the same results (modulo the trailing slash # on the third line) even without the trailing slash on the command line. du -L slink | sed 's/^[0-9][0-9]* //' >> out cat <<\EOF > exp slink/1/2 slink/1 slink/ === slink/1/2 slink/1 slink EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/du/long-from-unreadable.sh�����������������������������������������������������0000775�0000000�0000000�00000004557�12102337340�016465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show fts fails on old-fashioned systems. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Show that fts (hence du, chmod, chgrp, chown) fails when all of the # following are true: # - '.' is not readable # - operating on a hierarchy containing a relative name longer than PATH_MAX # - run on a system where gnulib's openat emulation must resort to using # save_cwd and restore_cwd (which fail if '.' is not readable). # Thus, the following du invocation should succeed on newer Linux and # Solaris systems, yet it must fail on systems lacking both openat and # /proc support. However, before coreutils-6.0 this test would fail even # on Linux+PROC_FS systems because its fts implementation would revert # unnecessarily to using FTS_NOCHDIR mode in this corner case. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ du proc_file=/proc/self/fd if test ! -d $proc_file; then skip_ 'This test would fail, since your system lacks /proc support.' fi dir=$(printf '%200s\n' ' '|tr ' ' x) # Construct a hierarchy containing a relative file with a name # longer than PATH_MAX. # for i in $(seq 52); do # mkdir $dir || framework_failure_ # cd $dir || framework_failure_ # done # cd $tmp || framework_failure_ # Sheesh. Bash 3.1.5 can't create this hierarchy. I get # cd: error retrieving current directory: getcwd: # cannot access parent directories: # (all on one line). cwd=$(pwd) # Use perl instead: : ${PERL=perl} $PERL \ -e 'my $d = '$dir'; foreach my $i (1..52)' \ -e ' { mkdir ($d, 0700) && chdir $d or die "$!" }' \ || framework_failure_ mkdir inaccessible || framework_failure_ cd inaccessible || framework_failure_ chmod 0 . || framework_failure_ du -s "$cwd/$dir" > /dev/null || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012207� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/interactive-always.sh�������������������������������������������������������0000775�0000000�0000000�00000005216�12102337341�016300� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test the --interactive[=WHEN] changes added to coreutils 6.0 # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm touch file1-1 file1-2 file2-1 file2-2 file3-1 file3-2 file4-1 file4-2 \ || framework_failure_ # If asked, answer no to first question, then yes to second. echo 'n y' > in || framework_failure_ rm -f out err || framework_failure_ # The prompt has a trailing space, and no newline, so an extra # 'echo .' is inserted after each rm to make it obvious what was asked. echo 'no WHEN' > err || fail=1 rm -R --interactive file1-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file1-1 || fail=1 test -f file1-2 && fail=1 echo 'WHEN=never' >> err || fail=1 rm -R --interactive=never file2-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file2-1 && fail=1 test -f file2-2 && fail=1 echo 'WHEN=once' >> err || fail=1 rm -R --interactive=once file3-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file3-1 || fail=1 test -f file3-2 || fail=1 echo 'WHEN=always' >> err || fail=1 rm -R --interactive=always file4-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file4-1 || fail=1 test -f file4-2 && fail=1 echo '-f overrides --interactive' >> err || fail=1 rm -R --interactive=once -f file1-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file1-1 && fail=1 echo '--interactive overrides -f' >> err || fail=1 rm -R -f --interactive=once file4-* < in >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file4-1 || fail=1 cat <<\EOF > expout || fail=1 EOF sed 's/@remove_empty/rm: remove regular empty file/g' <<\EOF > experr || fail=1 no WHEN @remove_empty 'file1-1'? @remove_empty 'file1-2'? . WHEN=never . WHEN=once rm: remove all arguments recursively? . WHEN=always @remove_empty 'file4-1'? @remove_empty 'file4-2'? . -f overrides --interactive . --interactive overrides -f rm: remove all arguments recursively? . EOF compare expout out || fail=1 compare experr err || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/unread3.sh������������������������������������������������������������������0000775�0000000�0000000�00000002502�12102337341�014021� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm works even from an unreadable working directory. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p a/1 b c d/2 e/3 || framework_failure_ t=$(pwd) cd c chmod u=x,go= . # With coreutils-5.2.1, this would get a failed assertion. rm -r "$t/a" "$t/b" || fail=1 # With coreutils-5.2.1, this would get the following: # rm: cannot get current directory: Permission denied # rm: failed to return to initial working directory: Bad file descriptor rm -r "$t/d" "$t/e" || fail=1 test -d "$t/a" && fail=1 test -d "$t/b" && fail=1 test -d "$t/d" && fail=1 test -d "$t/e" && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/i-no-r.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002152�12102337341�013562� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Since the rewrite for fileutils-4.1.9, 'rm -i DIR' would mistakenly # recurse into directory DIR. rm -i (without -r) must fail in that case. # Fixed in coreutils-4.5.2. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir dir || framework_failure_ echo y > y || framework_failure_ # This must fail. rm -i dir < y > /dev/null 2>&1 && fail=1 # The directory must remain. test -d dir || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/ir-1.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002576�12102337341�013243� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm -ir". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm t=t mkdir -p $t $t/a $t/b $t/c || framework_failure_ > $t/a/a || framework_failure_ > $t/b/bb || framework_failure_ > $t/c/cc || framework_failure_ cat <<EOF > in y y y y y y y y n n n EOF # Remove all but one of a, b, c -- I doubt that this test can portably # determine which one was removed based on order of dir entries. # This is a good argument for switching to a dejagnu-style test suite. rm --verbose -i -r $t < in > /dev/null 2>&1 || fail=1 # $t should not have been removed. test -d $t || fail=1 # There should be only one directory left. case $(echo $t/*) in $t/[abc]) ;; *) fail=1 ;; esac Exit $fail ����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/ext3-perf.sh����������������������������������������������������������������0000775�0000000�0000000�00000005460�12102337341�014303� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that "rm -rf DIR-with-many-entries" is not O(N^2) # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm very_expensive_ # Using rm -rf to remove a 400k-entry directory takes: # - 9 seconds with the patch, on a 2-yr-old system # - 350 seconds without the patch, on a high-end system (disk 20-30% faster) threshold_seconds=60 # The number of entries in our test directory. n=400000 # Choose a value that is large enough to ensure an accidentally # regressed rm would require much longer than $threshold_seconds to remove # the directory. With n=400k, pre-patch GNU rm would require about 350 # seconds even on a fast disk. On a relatively modern system, the # patched version of rm requires about 10 seconds, so even if you # choose to enable very expensive tests with a disk that is much slower, # the test should still succeed. # Skip unless "." is on an ext[34] file system. # FIXME-maybe: try to find a suitable file system or allow # the user to specify it via an envvar. df -T -t ext3 -t ext4dev -t ext4 . \ || skip_ 'this test runs only on an ext3 or ext4 file system' # Skip if there are too few inodes free. Require some slack. free_inodes=$(stat -f --format=%d .) || framework_failure_ min_free_inodes=$(expr 12 \* $n / 10) test $min_free_inodes -lt $free_inodes \ || skip_ "too few free inodes on '.': $free_inodes;" \ "this test requires at least $min_free_inodes" ok=0 start=$(date +%s) mkdir d && cd d && seq $n | xargs touch && test -f 1 && test -f $n && cd .. && ok=1 test $ok = 1 || framework_failure_ setup_duration=$(expr $(date +%s) - $start) echo creating a $n-entry directory took $setup_duration seconds # If set-up took longer than the default $threshold_seconds, # use the longer set-up duration as the limit. test $threshold_seconds -lt $setup_duration \ && threshold_seconds=$setup_duration start=$(date +%s) timeout ${threshold_seconds}s rm -rf d; err=$? duration=$(expr $(date +%s) - $start) case $err in 124) fail=1; echo rm took longer than $threshold_seconds seconds;; 0) ;; *) fail=1;; esac echo removing a $n-entry directory took $duration seconds Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/one-file-system.sh����������������������������������������������������������0000775�0000000�0000000�00000002651�12102337341�015505� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate rm's new --one-file-system option. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm require_root_ cleanup_() { # When you take the undesirable shortcut of making /etc/mtab a link # to /proc/mounts, unmounting "$other_partition_tmpdir" would fail. # So, here we unmount a/b instead. umount a/b rm -rf "$other_partition_tmpdir" } . "$abs_srcdir/tests/other-fs-tmpdir" t=$other_partition_tmpdir mkdir -p a/b $t/y mount --bind $t a/b \ || skip_ "This test requires mount with a working --bind option." cat <<\EOF > exp || framework_failure_ rm: skipping 'a/b', since it's on a different device EOF rm --one-file-system -rf a 2> out && fail=1 test -d $t/y || fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������coreutils-8.21/tests/rm/rm3.sh����������������������������������������������������������������������0000775�0000000�0000000�00000003755�12102337341�013174� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise another small part of remove.c # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p z || framework_failure_ cd z || framework_failure_ touch empty empty-u || framework_failure_ echo not-empty > fu ln -s empty-f slink ln -s . slinkdot mkdir d du || framework_failure_ chmod u-w fu du empty-u || framework_failure_ cd .. cat <<EOF > in y y y y y y y y y EOF # Both of these should fail. rm -ir z < in > out 2>&1 || fail=1 # Given input like 'rm: ...? rm: ...? ' (no trailing newline), # the 'head...' part of the pipeline below removes the trailing space, so # that sed doesn't have to deal with a line lacking a terminating newline. # This avoids a bug whereby some vendor-provided (Tru64) versions of sed # would mistakenly tack a newline onto the end of the output. tr '?' '\n' < out | head --bytes=-1 | sed 's/^ //' |sort > o2 mv o2 out sort <<EOF > exp || fail=1 rm: descend into directory 'z' rm: remove regular empty file 'z/empty' rm: remove write-protected regular file 'z/fu' rm: remove write-protected regular empty file 'z/empty-u' rm: remove symbolic link 'z/slink' rm: remove symbolic link 'z/slinkdot' rm: remove directory 'z/d' rm: remove write-protected directory 'z/du' rm: remove directory 'z' EOF compare exp out || fail=1 test -d z && fail=1 Exit $fail �������������������coreutils-8.21/tests/rm/d-1.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002102�12102337341�013035� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm --dir --verbose". # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir a || framework_failure_ > b || framework_failure_ rm --verbose --dir a b > out || fail=1 cat <<\EOF > exp || framework_failure_ removed directory: 'a' removed 'b' EOF test -e a && fail=1 test -e b && fail=1 # Compare expected and actual output. compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/one-file-system2.sh���������������������������������������������������������0000775�0000000�0000000�00000001617�12102337341�015570� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify --one-file-system does delete within a file system # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir -p a/b rm --one-file-system -rf a || fail=1 test -d a && fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/no-give-up.sh���������������������������������������������������������������0000775�0000000�0000000�00000002506�12102337341�014452� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # With rm from coreutils-5.2.1 and earlier, 'rm -r' would mistakenly # give up too early under some conditions. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm require_root_ mkdir d || framework_failure_ touch d/f || framework_failure_ chown -R $NON_ROOT_USERNAME d || framework_failure_ # Ensure that non-root can access files in root-owned ".". chmod go=x . || framework_failure_ # This must fail, since '.' is not writable by $NON_ROOT_USERNAME. setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm -rf d 2>/dev/null && fail=1 # d must remain. test -d d || fail=1 # f must have been removed. test -f d/f && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/sunos-1.sh������������������������������������������������������������������0000775�0000000�0000000�00000002036�12102337341�013767� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that rm -r '' fails. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # On SunOS 4.1.3, running rm -r '' in a nonempty directory may # actually remove files with names of entries in the current directory # but relative to '/' rather than relative to the current directory. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm rm -r '' > /dev/null 2>&1 && fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/ignorable.sh����������������������������������������������������������������0000775�0000000�0000000�00000002026�12102337341�014423� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm -f existing-non-dir/anything exits successfully # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ touch existing-non-dir || framework_failure_ # With coreutils-6.3, this would exit nonzero. It should not. # Example from Andreas Schwab. rm -f existing-non-dir/f > out 2>&1 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/fail-eperm.xpl��������������������������������������������������������������0000775�0000000�0000000�00000012030�12102337341�014667� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl -Tw # Ensure that rm gives the expected diagnostic when failing to remove a file # owned by some other user in a directory with the sticky bit set. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; my $uid = $<; # skip if root $uid == 0 and CuSkip::skip "$ME: can't run this test as root: skipping this test"; my $verbose = $ENV{VERBOSE} && $ENV{VERBOSE} eq 'yes'; # Ensure that the diagnostics are in English. $ENV{LC_ALL} = 'C'; # Set up a safe, well-known environment delete @ENV{qw(BASH_ENV CDPATH ENV)}; $ENV{IFS} = ''; # Taint checking requires a sanitized $PATH. This script performs no $PATH # search, so on most Unix-based systems, it is fine simply to clear $ENV{PATH}. # However, on Cygwin, it's used to find cygwin1.dll, so set it. $ENV{PATH} = '/bin:/usr/bin'; my @dir_list = qw(/tmp /var/tmp /usr/tmp); my $rm = "$ENV{abs_top_builddir}/src/rm"; # Untaint for upcoming popen. $rm =~ m!^([-+\@\w./]+)$! or CuSkip::skip "$ME: unusual absolute builddir name; skipping this test\n"; $rm = $1; # Find a directory with the sticky bit set. my $found_dir; my $found_file; foreach my $dir (@dir_list) { if (-d $dir && -k _ && -r _ && -w _ && -x _) { $found_dir = 1; # Find a non-directory there that is owned by some other user. opendir DIR_HANDLE, $dir or die "$ME: couldn't open $dir: $!\n"; foreach my $f (readdir DIR_HANDLE) { # Consider only names containing "safe" characters. $f =~ /^([-\@\w.]+)$/ or next; $f = $1; # untaint $f my $target_file = "$dir/$f"; $verbose and warn "$ME: considering $target_file\n"; # Skip files owned by self, symlinks, and directories. # It's not technically necessary to skip symlinks, but it's simpler. # SVR4-like systems (e.g., Solaris 9) let you unlink files that # you can write, so skip writable files too. -l $target_file || -o _ || -d _ || -w _ and next; $found_file = 1; # Invoke rm on this file and ensure that we get the # expected exit code and diagnostic. my $cmd = "$rm -f -- $target_file"; open RM, "$cmd 2>&1 |" or die "$ME: cannot execute '$cmd'\n"; my $line = <RM>; close RM; my $rc = $?; # This test opportunistically looks for files that can't # be removed but those files may already have been removed # by their owners by the time we get to them. It is a # race condition. If so then the rm is successful and our # test is thwarted. Detect this case and ignore. if ($rc == 0) { next if ! -e $target_file; die "$ME: unexpected exit status from '$cmd';\n" . " got 0, expected 1\n"; } if (0x80 < $rc) { my $status = $rc >> 8; $status == 1 or die "$ME: unexpected exit status from '$cmd';\n" . " got $status, expected 1\n"; } else { # Terminated by a signal. my $sig_num = $rc & 0x7F; die "$ME: command '$cmd' died with signal $sig_num\n"; } my $exp = "rm: cannot remove '$target_file':"; $line or die "$ME: no output from '$cmd';\n" . "expected something like '$exp ...'\n"; # Transform the actual diagnostic so that it starts with "rm:". # Depending on your system, it might be "rm:" already, or # "../../src/rm:". $line =~ s,^\Q$rm\E:,rm:,; my $regex = quotemeta $exp; $line =~ /^$regex/ or die "$ME: unexpected diagnostic from '$cmd';\n" . " got $line" . " expected $exp ...\n"; last; } closedir DIR_HANDLE; $found_file and last; } } $found_dir or CuSkip::skip "$ME: couldn't find a directory with the sticky bit set;" . " skipping this test\n"; $found_file or CuSkip::skip "$ME: couldn't find a file not owned by you\n" . " in any of the following directories:\n @dir_list\n" . "...so, skipping this test\n"; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/r-1.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002140�12102337341�013055� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm -r --verbose". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir a a/a || framework_failure_ > b || framework_failure_ cat <<\EOF > exp || framework_failure_ removed directory: 'a/a' removed directory: 'a' removed 'b' EOF rm --verbose -r a b > out || fail=1 for d in $dirs; do test -d $d && fail=1 done # Compare expected and actual output. compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/rm4.sh����������������������������������������������������������������������0000775�0000000�0000000�00000001672�12102337341�013171� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that 'rm dir' fails without --recursive # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir dir || framework_failure_ # This should fail. rm dir > /dev/null 2>&1 && fail=1 test -d dir || fail=1 Exit $fail ����������������������������������������������������������������������coreutils-8.21/tests/rm/i-1.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002235�12102337341�013051� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm -i". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm t=t mkdir -p $t || framework_failure_ echo > $t/a || framework_failure_ test -f $t/a || framework_failure_ echo y > $t/in-y echo n > $t/in-n rm -i $t/a < $t/in-n > /dev/null 2>&1 || fail=1 # The file should not have been removed. test -f $t/a || fail=1 rm -i $t/a < $t/in-y > /dev/null 2>&1 || fail=1 # The file should have been removed this time. test -f $t/a && fail=1 rm -rf $t Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/rm1.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002521�12102337341�013160� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise another small part of remove.c # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p b/a/p b/c b/d || framework_failure_ chmod u-w b/a || framework_failure_ # This should fail. rm -rf b > out 2>&1 && fail=1 cat <<\EOF > exp rm: cannot remove directory 'b/a/p': Permission denied EOF # On some systems, rm doesn't have enough information to # say it's a directory. cat <<\EOF > exp2 rm: cannot remove 'b/a/p': Permission denied EOF cmp out exp > /dev/null 2>&1 || { cmp out exp2 || fail=1 } test $fail = 1 && compare exp out test -d b/a/p || fail=1 test -d b/c && fail=1 test -d b/d && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/i-never.sh������������������������������������������������������������������0000775�0000000�0000000�00000002031�12102337341�014022� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm --interactive=never works does not prompt, even for # an unwritable file. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ touch f || framework_failure_ chmod 0 f || framework_failure_ touch exp || framework_failure_ rm --interactive=never f > out || fail=1 compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/r-4.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002236�12102337341�013066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Try to remove '.' and '..' recursively. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir d || framework_failure_ touch d/a || framework_failure_ rm -fr d/. 2>/dev/null && fail=1 rm -fr d/./ 2>/dev/null && fail=1 rm -fr d/.//// 2>/dev/null && fail=1 rm -fr d/.. 2>/dev/null && fail=1 rm -fr d/../ 2>/dev/null && fail=1 # This test is too dangerous -- if there's a bug you're wiped out! # rm -fr / 2>/dev/null && fail=1 test -f d/a || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/d-2.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002246�12102337341�013047� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that 'rm -d dir' (i.e., without --recursive) gives a reasonable # diagnostic when failing. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir d || framework_failure_ > d/a || framework_failure_ rm -d d 2> out && fail=1 # Accept any of these: EEXIST, ENOTEMPTY sed 's/: File exists/: Directory not empty/' out > out2 printf "%s\n" \ "rm: cannot remove 'd': Directory not empty" \ > exp || framework_failure_ compare exp out2 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/dir-no-w.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002676�12102337341�014130� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # rm (without -r) must give a diagnostic for any directory. # It must not prompt, even if that directory is unwritable. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir --mode=0500 unwritable-dir || framework_failure_ # For rm from coreutils-5.0.1, this would prompt. rm ---presume-input-tty unwritable-dir < /dev/null > out-t 2>&1 && fail=1 cat <<\EOF > exp || fail=1 rm: cannot remove 'unwritable-dir': Is a directory EOF # When run by a non-privileged user we get this: # rm: cannot remove directory 'unwritable-dir': Is a directory # When run by root we get this: # rm: cannot remove 'unwritable-dir': Is a directory # Normalize the message. sed 's/remove directory/remove/' out-t > out rm -f out-t compare exp out || fail=1 Exit $fail ������������������������������������������������������������������coreutils-8.21/tests/rm/unread2.sh������������������������������������������������������������������0000775�0000000�0000000�00000001774�12102337341�014032� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise one small part of remove.c # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p a/b || framework_failure_ chmod u-r a # This should fail. rm -rf a > out 2>&1 && fail=1 cat <<\EOF > exp rm: cannot remove 'a': Permission denied EOF compare exp out || fail=1 Exit $fail ����coreutils-8.21/tests/rm/dangling-symlink.sh���������������������������������������������������������0000775�0000000�0000000�00000002657�12102337341�015742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # rm should not prompt before removing a dangling symlink. # Likewise for a non-dangling symlink. # But for fileutils-4.1.9, it would do the former and # for fileutils-4.1.10 the latter. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm ln -s no-file dangle ln -s / symlink rm ---presume-input-tty dangle symlink & pid=$! # The buggy rm (fileutils-4.1.9) would hang here, waiting for input. # Wait up to 3.1s for rm to remove the files check_files_removed() { local delay="$1" local present=0 ls -l dangle > /dev/null 2>&1 && present=1 ls -l symlink > /dev/null 2>&1 && present=1 test $present = 1 && { sleep $delay; return 1; } || : } retry_delay_ check_files_removed .1 5 || fail=1 kill $pid > /dev/null 2>&1 Exit $fail ���������������������������������������������������������������������������������coreutils-8.21/tests/rm/dot-rel.sh������������������������������������������������������������������0000775�0000000�0000000�00000001740�12102337341�014031� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Use rm -r to remove two non-empty dot-relative directories. # This would have failed between 2004-10-18 and 2004-10-21. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir a b || framework_failure_ touch a/f b/f || framework_failure_ rm -r a b || fail=1 Exit $fail ��������������������������������coreutils-8.21/tests/rm/fail-2eperm.sh��������������������������������������������������������������0000775�0000000�0000000�00000003444�12102337341�014571� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Like fail-eperm, but the failure must be for a file encountered # while trying to remove the containing directory with the sticky bit set. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm require_root_ # The containing directory must be owned by the user who eventually runs rm. chown $NON_ROOT_USERNAME . mkdir a || framework_failure_ chmod 1777 a || framework_failure_ touch a/b || framework_failure_ # Try to ensure that $NON_ROOT_USERNAME can access # the required version of rm. rm_version=$( setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm --version | sed -n '1s/.* //p' ) case $rm_version in $PACKAGE_VERSION) ;; *) skip_ "cannot access just-built rm as user $NON_ROOT_USERNAME";; esac setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm -rf a 2> out-t && fail=1 # On some systems, we get 'Not owner'. Convert it. # On other systems (HPUX), we get 'Permission denied'. Convert it, too. onp='Operation not permitted' sed "s/Not owner/$onp/;s/Permission denied/$onp/" out-t > out cat <<\EOF > exp rm: cannot remove 'a/b': Operation not permitted EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/empty-inacc.sh��������������������������������������������������������������0000775�0000000�0000000�00000002310�12102337341�014666� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm -rf removes an empty-and-inaccessible directory. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -m0 inacc || framework_failure_ # Also exercise the different code path that's taken for a directory # that is empty (hence removable) and unreadable. mkdir -m a-r -p a/unreadable # This would fail for e.g., coreutils-5.93. rm -rf inacc || fail=1 test -d inacc && fail=1 # This would fail for e.g., coreutils-5.97. rm -rf a || fail=1 test -d a && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/rm2.sh����������������������������������������������������������������������0000775�0000000�0000000�00000003114�12102337341�013160� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise another small part of remove.c # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p a/0 || framework_failure_ mkdir -p a/1/2 b/3 || framework_failure_ mkdir a/2 a/3 || framework_failure_ chmod u-x a/1 b || framework_failure_ # Exercise two separate code paths -- though both result # in the same sort of diagnostic. # Both of these should fail. rm -rf a b > out 2>&1 && fail=1 cat <<\EOF > exp rm: cannot remove 'a/1': Permission denied rm: cannot remove 'b': Permission denied EOF cat <<\EOF > exp-solaris rm: cannot remove 'a/1/2': Permission denied rm: cannot remove 'b/3': Permission denied EOF cmp out exp > /dev/null 2>&1 \ || { cmp out exp-solaris > /dev/null 2>&1 || fail=1; } test $fail = 1 && compare exp out test -d a/0 && fail=1 test -d a/1 || fail=1 test -d a/2 && fail=1 test -d a/3 && fail=1 chmod u+x b test -d b/3 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/deep-1.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003150�12102337341�013533� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm" with a deep hierarchy. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This is a bit of a torture test for mkdir -p, too. # GNU rm performs *much* better on systems that have a d_type member # in the directory structure because then it does only one stat per # command line argument. # If this test takes too long on your system, blame the OS. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm umask 022 k20=/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k/k k200=$k20$k20$k20$k20$k20$k20$k20$k20$k20$k20 # Be careful not to exceed max file name length (usu 512?). # Doing so wouldn't affect GNU mkdir or GNU rm, but any tool that # operates on the full pathname (like 'test') would choke. k_deep=$k200$k200 t=t # Create a directory in $t with lots of 'k' components. deep=$t$k_deep mkdir -p $deep || fail=1 # Make sure the deep dir was created. test -d $deep || fail=1 rm -r $t || fail=1 # Make sure all of $t was deleted. test -d $t && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/inaccessible.sh�������������������������������������������������������������0000775�0000000�0000000�00000003071�12102337341�015106� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm works even when run from a directory # for which the user has no access at all. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm # Skip this test if your system has neither the openat-style functions # nor /proc/self/fd support with which to emulate them. require_openat_support_ skip_if_root_ p=$(pwd) mkdir abs1 abs2 no-access || framework_failure_ set +x (cd no-access; chmod 0 . && rm -r "$p/abs1" rel "$p/abs2") 2> out && fail=1 test -d "$p/abs1" && fail=1 test -d "$p/abs2" && fail=1 cat <<\EOF > exp || fail=1 rm: cannot remove 'rel': Permission denied EOF # AIX 4.3.3 fails with a different diagnostic. # Transform their diagnostic # ...: The file access permissions do not allow the specified action. # to the expected one: sed 's/: The file access permissions.*/: Permission denied/'<out>o1;mv o1 out compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/deep-2.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003034�12102337341�013535� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure rm -r DIR does not prompt for very long full relative names in DIR. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm require_perl_ # Root can run this test, but it always succeeds, since for root, all # files are writable, and write_protected_non_symlink never reaches # the offending euidaccess_stat call. skip_if_root_ mkdir x || framework_failure_ cd x || framework_failure_ # Construct a hierarchy containing a relative file with a long name : ${PERL=perl} $PERL \ -e 'my $d = "x" x 200; foreach my $i (1..52)' \ -e ' { mkdir ($d, 0700) && chdir $d or die "$!" }' \ || framework_failure_ cd .. || framework_failure_ echo n > no || framework_failure_ rm ---presume-input-tty -r x < no > out || fail=1 # expect empty output test -s out && fail=1 # the directory must have been removed test -d x && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/empty-name.pl���������������������������������������������������������������0000775�0000000�0000000�00000003516�12102337341�014543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Make sure that rm -r '' fails. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # On SunOS 4.1.3, running rm -r '' in a nonempty directory may # actually remove files with names of entries in the current directory # but relative to '/' rather than relative to the current directory. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'rm'; # FIXME: copied from misc/ls-misc; factor into Coreutils.pm? sub mk_file(@) { foreach my $f (@_) { open (F, '>', $f) && close F or die "creating $f: $!\n"; } } my @Tests = ( # test-name options input expected-output # ['empty-name-1', "''", {EXIT => 1}, {ERR => "$prog: cannot remove '': No such file or directory\n"}], ['empty-name-2', "a '' b", {EXIT => 1}, {ERR => "$prog: cannot remove '': No such file or directory\n"}, {PRE => sub { mk_file qw(a b) }}, {POST => sub {-f 'a' || -f 'b' and die "a or b remain\n" }}, ], ); my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/hash.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002406�12102337341�013406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise a bug that was fixed in 4.0s. # Before then, rm would fail occasionally, sometimes via # a failed assertion, others with a seg fault. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm expensive_ # Create a hierarchy with 3*26 leaf directories, each at depth 153. echo "$0: creating 78 trees, each of depth 153; this will take a while..." >&2 y=$(seq 1 150|tr -sc '\n' y|tr '\n' /) for i in 1 2 3; do for j in a b c d e f g h i j k l m n o p q r s t u v w x y z; do mkdir -p t/$i/$j/$y || framework_failure_ done done rm -r t || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/cycle.sh��������������������������������������������������������������������0000775�0000000�0000000�00000002057�12102337341�013564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # rm (coreutils-4.5.4) could be tricked into mistakenly reporting a cycle. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p a/b touch a/b/file chmod u-w a/b rm -rf a a 2>&1 | sed 's/:[^:]*$//' > out || fail=1 cat <<\EOF > exp rm: cannot remove 'a/b/file' rm: cannot remove 'a/b/file' EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/f-1.sh����������������������������������������������������������������������0000775�0000000�0000000�00000001565�12102337341�013053� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm -f" with a nonexistent file. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir -p d || framework_failure_ rm -f d/no-such-file || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/interactive-once.sh���������������������������������������������������������0000775�0000000�0000000�00000006362�12102337341�015727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test the -I option added to coreutils 6.0 # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir -p dir1-1 dir2-1 dir2-2 || framework_failure_ touch file1-1 file2-1 file2-2 file2-3 file3-1 file3-2 file3-3 file3-4 \ || framework_failure_ echo y > in-y || framework_failure_ echo n > in-n || framework_failure_ rm -f out err || framework_failure_ # The prompt has a trailing space, and no newline, so an extra # 'echo .' is inserted after each rm to make it obvious what was asked. echo 'one file, no recursion' > err || fail=1 rm -I file1-* < in-n >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file1-1 && fail=1 echo 'three files, no recursion' >> err || fail=1 rm -I file2-* < in-n >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file2-1 && fail=1 test -f file2-2 && fail=1 test -f file2-3 && fail=1 echo 'four files, no recursion, answer no' >> err || fail=1 rm -I file3-* < in-n >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file3-1 || fail=1 test -f file3-2 || fail=1 test -f file3-3 || fail=1 test -f file3-4 || fail=1 echo 'four files, no recursion, answer yes' >> err || fail=1 rm -I file3-* < in-y >> out 2>> err || fail=1 echo . >> err || fail=1 test -f file3-1 && fail=1 test -f file3-2 && fail=1 test -f file3-3 && fail=1 test -f file3-4 && fail=1 echo 'one file, recursion, answer no' >> err || fail=1 rm -I -R dir1-* < in-n >> out 2>> err || fail=1 echo . >> err || fail=1 test -d dir1-1 || fail=1 echo 'one file, recursion, answer yes' >> err || fail=1 rm -I -R dir1-* < in-y >> out 2>> err || fail=1 echo . >> err || fail=1 test -d dir1-1 && fail=1 echo 'multiple files, recursion, answer no' >> err || fail=1 rm -I -R dir2-* < in-n >> out 2>> err || fail=1 echo . >> err || fail=1 test -d dir2-1 || fail=1 test -d dir2-2 || fail=1 echo 'multiple files, recursion, answer yes' >> err || fail=1 rm -I -R dir2-* < in-y >> out 2>> err || fail=1 echo . >> err || fail=1 test -d dir2-1 && fail=1 test -d dir2-2 && fail=1 cat <<\EOF > expout || fail=1 EOF cat <<\EOF > experr || fail=1 one file, no recursion . three files, no recursion . four files, no recursion, answer no rm: remove all arguments? . four files, no recursion, answer yes rm: remove all arguments? . one file, recursion, answer no rm: remove all arguments recursively? . one file, recursion, answer yes rm: remove all arguments recursively? . multiple files, recursion, answer no rm: remove all arguments recursively? . multiple files, recursion, answer yes rm: remove all arguments recursively? . EOF compare expout out || fail=1 compare experr err || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/readdir-bug.sh��������������������������������������������������������������0000775�0000000�0000000�00000002644�12102337341�014654� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise the Darwin/MacOS bug worked around on 2006-09-29, # whereby rm would fail to remove all entries in a directory. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm # Create a directory containing many files. # What counts is a combination of the number of files and # the lengths of their names. For details, see # http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00326.html mkdir b || framework_failure_ cd b || framework_failure_ for i in $(seq 1 250); do touch $(printf %040d $i) || framework_failure_ done cd .. || framework_failure_ # On a buggy system, this would fail with the diagnostic, # "cannot remove directory 'b': Directory not empty" rm -rf b || fail=1 test -d b && fail=1 Exit $fail ��������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/isatty.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002660�12102337341�014002� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure 'chown 0 f; rm f' prompts before removing f. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ # Skip this test if there is no /dev/stdin file. ls /dev/stdin >/dev/null 2>&1 \ || skip_ 'there is no /dev/stdin file' touch f chmod 0 f rm ---presume-input-tty f > out 2>&1 & pid=$! # Wait a second, to give a buggy rm (as in fileutils-4.0.40) # enough time to remove the file. sleep 1 # The file must still exist. test -f f || fail=1 kill $pid > /dev/null 2>&1 # Note the trailing 'x' -- so I don't have to have a trailing # blank in this file :-) cat > exp <<\EOF rm: remove write-protected regular empty file 'f'? x EOF # Append an 'x' and a newline. echo x >> out compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������coreutils-8.21/tests/rm/r-2.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002547�12102337341�013071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "rm -r --verbose". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir t t/a t/a/b || framework_failure_ > t/a/f || framework_failure_ > t/a/b/g || framework_failure_ # FIXME: if this fails, it's a framework failure cat <<\EOF | sort > t/E || framework_failure_ removed directory: 't/a' removed directory: 't/a/b' removed 't/a/b/g' removed 't/a/f' EOF # Note that both the expected output (above) and the actual output lines # are sorted, because directory entries may be processed in arbitrary order. rm --verbose -r t/a | sort > t/O || fail=1 if test -d t/a; then fail=1 fi # Compare expected and actual output. cmp t/E t/O || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/read-only.sh����������������������������������������������������������������0000775�0000000�0000000�00000003374�12102337341�014362� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm -f nonexistent-file-on-read-only-fs succeeds. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm require_root_ cwd=$(pwd) cleanup_() { cd /; umount "$cwd/mnt"; } skip=0 # Create a file system, then mount it. dd if=/dev/zero of=blob bs=8192 count=200 > /dev/null 2>&1 \ || skip=1 mkdir mnt || skip=1 mkfs -t ext2 -F blob \ || skip_ "failed to create ext2 file system" mount -oloop blob mnt || skip=1 echo test > mnt/f || skip=1 test -s mnt/f || skip=1 mount -o remount,loop,ro mnt || skip=1 test $skip = 1 \ && skip_ "insufficient mount/ext2 support" # Applying rm -f to a nonexistent file on a read-only file system must succeed. rm -f mnt/no-such > out 2>&1 || fail=1 # It must produce no diagnostic. test -s out && fail=1 # However, trying to remove an existing file must fail. rm -f mnt/f > out 2>&1 && fail=1 # with a diagnostic. test -s out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/d-3.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002300�12102337341�013037� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that 'rm -d -i dir' (i.e., without --recursive) gives a prompt and # then deletes the directory if it is empty # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir d || framework_failure_ echo "y" | rm -i -d --verbose d > out 2> out.err || fail=1 printf "%s" \ "rm: remove directory 'd'? " \ > exp.err || framework_failure_ printf "%s\n" \ "removed directory: 'd'" \ > exp || framework_failure_ compare exp out || fail=1 compare exp.err out.err || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/many-dir-entries-vs-OOM.sh��������������������������������������������������0000775�0000000�0000000�00000002411�12102337341�016724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # In coreutils-8.12, rm,du,chmod, etc. would use too much memory # when processing a directory with many entries (as in > 100,000). # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm du chmod expensive_ # With many files in a single directory... mkdir d && cd d || framework_failure_ seq 200000|xargs touch || framework_failure_ cd .. # Restricted to 40MB, each of these coreutils-8.12 programs would fail # with a diagnostic like "rm: fts_read failed: Cannot allocate memory". ulimit -v 40000 du -sh d || fail=1 chmod -R 700 d || fail=1 rm -rf d || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/rm5.sh����������������������������������������������������������������������0000775�0000000�0000000�00000003026�12102337341�013165� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # a basic test of rm -ri # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ mkdir -p d/e || framework_failure_ cat <<EOF > in || framework_failure_ y y y EOF cat <<\EOF > exp || framework_failure_ rm: descend into directory 'd' rm: remove directory 'd/e' rm: remove directory 'd' EOF rm -ir d < in > out 2>&1 || fail=1 # Given input like 'rm: ...? rm: ...? ' (no trailing newline), # the 'head...' part of the pipeline below removes the trailing space, so # that sed doesn't have to deal with a line lacking a terminating newline. # This avoids a bug whereby some vendor-provided (Tru64) versions of sed # would mistakenly tack a newline onto the end of the output. tr '?' '\n' < out | head --bytes=-1 | sed 's/^ //' > o2 mv o2 out # Make sure it's been removed. test -d d && fail=1 compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/v-slash.sh������������������������������������������������������������������0000775�0000000�0000000�00000001773�12102337341�014046� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # avoid extra slashes in --verbose output # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir a || framework_failure_ touch a/x || framework_failure_ rm --verbose -r a/// > out || fail=1 cat <<\EOF > exp || fail=1 removed 'a/x' removed directory: 'a/' EOF compare exp out || fail=1 Exit $fail �����coreutils-8.21/tests/rm/unreadable.pl���������������������������������������������������������������0000775�0000000�0000000�00000003151�12102337341�014564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "rm" and unreadable directories. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $d = "dir-$$"; my $mkdir = {PRE => sub {mkdir $d,0100 or die "$d: $!\n"}}; my $prog = 'rm'; my $uid = $<; my @Tests = ( # test-name options input expected-output # # Removing an empty, unwritable directory succeeds. ['unreadable-1', '-rf', $d, {EXIT => 0}, $mkdir], ['unreadable-2', '-rf', $d, {EXIT => $uid == 0 ? 0 : 1}, {ERR => $uid == 0 ? '' : "$prog: cannot remove '$d': Permission denied\n"}, {PRE => sub { (mkdir $d,0700 and mkdir "$d/x",0700 and chmod 0100,$d) or die "$d: $!\n"}} ], ); my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/r-3.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002762�12102337341�013071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Create and remove a directory with more than 254 files. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # An early version of my rewritten rm failed to remove all of # the files on SunOS4 when there were 254 or more in a directory. # And the rm from coreutils-5.0 exposes the same problem when there # are 338 or more files in a directory on a Darwin-6.5 system . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir t || framework_failure_ cd t || framework_failure_ # Create 500 files (20 * 25). for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j; do files= for j in a b c d e f g h i j k l m n o p q r s t u v w x y; do files="$files $i$j" done touch $files || framework_failure_ done test -f 0a || framework_failure_ test -f by || framework_failure_ cd .. || framework_failure_ rm -rf t || fail=1 test -d t && fail=1 Exit $fail ��������������coreutils-8.21/tests/rm/dir-nonrecur.sh�������������������������������������������������������������0000775�0000000�0000000�00000002110�12102337341�015062� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that 'rm dir' (i.e., without --recursive) gives a reasonable # diagnostic when failing. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm mkdir d || framework_failure_ rm d 2> out && fail=1 cat <<\EOF > exp || fail=1 rm: cannot remove 'd': Is a directory EOF # Before coreutils-5.93 this test would fail on Solaris 9 and newer. compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rm/fail-eacces.sh��������������������������������������������������������������0000775�0000000�0000000�00000002771�12102337341�014624� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that rm -rf unremovable-non-dir gives a diagnostic. # Test both a regular file and a symlink -- it makes a difference to rm. # With the symlink, rm from coreutils-6.9 would fail with a misleading # ELOOP diagnostic. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm skip_if_root_ ok=0 mkdir d && touch d/f && ln -s f d/slink && chmod a-w d && ok=1 test $ok = 1 || framework_failure_ mkdir e && ln -s f e/slink && chmod a-w e && ok=1 test $ok = 1 || framework_failure_ rm -rf d/f 2> out && fail=1 cat <<\EOF > exp rm: cannot remove 'd/f': Permission denied EOF compare exp out || fail=1 # This used to fail with ELOOP. rm -rf e 2> out && fail=1 cat <<\EOF > exp rm: cannot remove 'e/slink': Permission denied EOF compare exp out || fail=1 Exit $fail �������coreutils-8.21/tests/ls/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012207� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/root-rel-symlink-color.sh���������������������������������������������������0000775�0000000�0000000�00000002674�12102337340�017034� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise the 8.17 ls bug with coloring relative-named symlinks in "/". # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls symlink_to_rel= for i in /*; do # Skip non-symlinks: env test -h "$i" || continue # Skip dangling symlinks: env test -e "$i" || continue # Skip any symlink-to-absolute-name: case $(readlink "$i") in /*) continue ;; esac symlink_to_rel=$i break done test -z "$symlink_to_rel" \ && skip_ no relative symlink in / e='\33' color_code='01;36' c_pre="$e[0m$e[${color_code}m" c_post="$e[0m" printf "$c_pre$symlink_to_rel$c_post\n" > exp || framework_failure_ env TERM=xterm LS_COLORS="ln=$color_code:or=1;31;42" \ ls -d --color=always "$symlink_to_rel" > out || fail=1 compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������coreutils-8.21/tests/ls/file-type.sh����������������������������������������������������������������0000775�0000000�0000000�00000002763�12102337340�014366� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # contrast ls -F, ls -p, and ls --indicator-style=file-type # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir sub cd sub mkdir dir touch regular executable chmod a+x executable ln -s regular slink-reg ln -s dir slink-dir ln -s nowhere slink-dangle mknod block b 20 20 2> /dev/null && block="block " mknod char c 10 10 2> /dev/null && char="char " mkfifo_or_skip_ fifo cd .. ls -F sub > out || fail=1 cat <<EOF > exp $block${char}dir/ executable* fifo| regular slink-dangle@ slink-dir@ slink-reg@ EOF sed 's/\*//' exp > exp2 ls --indicator-style=file-type sub > out2 || fail=1 sed 's/[@|]$//' exp2 > exp3 ls -p sub > out3 || fail=1 compare exp out || fail=1 compare exp2 out2 || fail=1 compare exp3 out3 || fail=1 ls --color=auto -F sub > out || fail=1 compare exp out || fail=1 Exit $fail �������������coreutils-8.21/tests/ls/readdir-mountpoint-inode.sh�������������������������������������������������0000775�0000000�0000000�00000004277�12102337340�017412� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that ls -i works also for mount points # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # We use --local here so as to not activate # potentially very many remote mounts. mount_points=$(df --local -P 2>&1 | sed -n 's,.*[0-9]% \(/.\),\1,p') test -z "$mount_points" && skip_ "this test requires a non-root mount point" # Given e.g., /dev/shm, produce the list of GNU ls options that # let us list just that entry using readdir data from its parent: # ls -i -I '[^s]*' -I 's[^h]*' -I 'sh[^m]*' -I 'shm?*' -I '.?*' \ # -I '?' -I '??' /dev ls_ignore_options() { name=$1 opts="-I '.?*' -I '$name?*'" while :; do glob=$(echo "$name"|sed 's/\(.*\)\(.\)$/\1[^\2]*/') opts="$opts -I '$glob'" name=$(echo "$name"|sed 's/.$//') test -z "$name" && break glob=$(echo "$name"|sed 's/./?/g') opts="$opts -I '$glob'" done echo "$opts" } inode_via_readdir() { mount_point=$1 base=$(basename $mount_point) case $base in .*) skip_ 'mount point component starts with "."' ;; *[*?]*) skip_ 'mount point component contains "?" or "*"' ;; esac opts=$(ls_ignore_options "$base") parent_dir=$(dirname $mount_point) eval "ls -i $opts $parent_dir" | sed 's/ .*//' } for dir in $mount_points; do readdir_inode=$(inode_via_readdir $dir) test $? = 77 && continue stat_inode=$(timeout 1 stat --format=%i $dir) # If stat fails or says the inode is 0, skip $dir. case $stat_inode in 0|'') continue;; esac test "$readdir_inode" = "$stat_inode" || fail=1 done Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/x-option.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002123�12102337340�014233� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise the -x option. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir subdir || framework_failure_ touch subdir/b || framework_failure_ touch subdir/a || framework_failure_ # Coreutils 6.8 and 6.9 would output this in the wrong order. ls -x subdir > out || fail=1 ls -rx subdir >> out || fail=1 cat <<\EOF > exp || fail=1 a b b a EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/getxattr-speedup.sh���������������������������������������������������������0000775�0000000�0000000�00000004310�12102337340�015763� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that we've eliminated most of ls' failing getxattr syscalls, # regardless of how many files are in a directory we list. # This test is skipped on systems that lack LD_PRELOAD support; that's fine. # Similarly, on a system that lacks getxattr altogether, skipping it is fine. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Replace each getxattr and lgetxattr call with a call to these stubs. # Count those and write the total number of calls to the file "x" # via a global destructor. cat > k.c <<'EOF' || framework_failure_ #include <errno.h> #include <stdio.h> #include <sys/types.h> static unsigned long int n_calls; static void __attribute__ ((destructor)) print_call_count (void) { FILE *fp = fopen ("x", "w"); if (!fp) return; fprintf (fp, "%lu\n", n_calls); fclose (fp); } static ssize_t incr () { ++n_calls; errno = ENOTSUP; return -1; } ssize_t getxattr (const char *path, const char *name, void *value, size_t size) { return incr (); } ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size) { return incr (); } EOF # Then compile/link it: $CC -shared -fPIC -O2 k.c -o k.so \ || framework_failure_ 'failed to compile with -shared -fPIC' # Create a few files: seq 20 | xargs touch || framework_failure_ # Finally, run the test: LD_PRELOAD=./k.so ls --color=always -l . || fail=1 test -f x || skip_ "internal test failure: maybe LD_PRELOAD doesn't work?" # Ensure that there were no more than 3 *getxattr calls. n_calls=$(cat x) test "$n_calls" -le 3 || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/infloop.sh������������������������������������������������������������������0000775�0000000�0000000�00000002503�12102337340�014126� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # show that the following no longer makes ls infloop # mkdir loop; cd loop; ln -s ../loop sub; ls -RL # Also ensure ls exits with status = 2 in that case. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir loop || framework_failure_ ln -s ../loop loop/sub || framework_failure_ cat <<\EOF > exp-out || framework_failure_ loop: sub EOF cat <<\EOF > exp-err || framework_failure_ ls: loop/sub: not listing already-listed directory EOF timeout 10 ls -RL loop >out 2>err # Ensure that ls exits with status 2 upon detecting a cycle test $? = 2 || fail=1 compare exp-err err || fail=1 compare exp-out out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/stat-vs-dirent.sh�����������������������������������������������������������0000775�0000000�0000000�00000004237�12102337340�015352� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that d_ino (from ls -di) and st_ino (from stat --format=%i) match. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls root_dev_ino=$(stat --format=%d-%i /) t=$(pwd) while :; do ls -i1 "$t" > tmp if test $? = 0; then # Extract the inode number from the first line of output from ls -i1. # This value comes from dirent.d_ino, on systems with d_ino support. d_ino=$(sed -n '1s/^ *\([0-9][0-9]*\) .*/\1/p;q' tmp) # Extract the name of the corresponding directory entry. file=$(sed -n '1s/^ *[0-9][0-9]* *//p;q' tmp) # Get its inode number (stat.st_ino) via stat(1)'s call to lstat. st_ino=$(stat --format=%i "$t/$file") # Make sure that they are the same. # We know from experience that there may be mismatches on some # buggy file systems, at mount points. # Note that when a directory contains only entries whose names # start with ".", d_ino and file will both be empty. In that case, # skip the test. if test -n "$d_ino" && test "$d_ino" != "$st_ino"; then echo "$0: test failed: $t/$file: d_ino($d_ino) != st_ino($st_ino) This may indicate a flaw in your kernel or file system implementation. The flaw isn't serious for coreutils, but it might break other tools, so you should report it to your operating system vendor." 1>&2 fail=1 break fi fi t=$(cd "$t/.."; pwd) dev_ino=$(stat --format=%d-%i "$t") test $dev_ino = $root_dev_ino && break done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/color-norm.sh���������������������������������������������������������������0000775�0000000�0000000�00000006040�12102337340�014547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "ls --color" properly colors "normal" text and files. # I.E. that it uses NORMAL to style non file name output and # file names with no associated color (unless FILE is also set). # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Don't let a different umask perturb the results. umask 22 # Output time as something constant export TIME_STYLE="+norm" # helper to strip ls columns up to "norm" time qls() { sed 's/-r.*norm/norm/'; } touch exe || framework_failure_ chmod u+x exe || framework_failure_ touch nocolor || framework_failure_ TCOLORS="no=7:ex=01;32" # Non coloured files inherit NORMAL attributes LS_COLORS=$TCOLORS ls -gGU --color exe nocolor | qls >> out || fail=1 LS_COLORS=$TCOLORS ls -xU --color exe nocolor >> out || fail=1 LS_COLORS=$TCOLORS ls -gGU --color nocolor exe | qls >> out || fail=1 LS_COLORS=$TCOLORS ls -xU --color nocolor exe >> out || fail=1 # NORMAL does not override FILE though LS_COLORS=$TCOLORS:fi=1 ls -gGU --color nocolor exe | qls >> out || fail=1 # Support uncolored ordinary files that do _not_ inherit from NORMAL. # Note there is a redundant RESET output before a non colored # file in this case which may be removed in future. LS_COLORS=$TCOLORS:fi= ls -gGU --color nocolor exe | qls >> out || fail=1 LS_COLORS=$TCOLORS:fi=0 ls -gGU --color nocolor exe | qls >> out || fail=1 # A caveat worth noting is that commas (-m), indicator chars (-F) # and the "total" line, do not currently use NORMAL attributes LS_COLORS=$TCOLORS ls -mFU --color nocolor exe >> out || fail=1 # Ensure no coloring is done unless enabled LS_COLORS=$TCOLORS ls -gGU nocolor exe | qls >> out || fail=1 cat -A out > out.display || framework_failure_ mv out.display out || framework_failure_ cat <<\EOF > exp || framework_failure_ ^[[0m^[[7mnorm ^[[m^[[01;32mexe^[[0m$ ^[[7mnorm nocolor^[[0m$ ^[[0m^[[7m^[[m^[[01;32mexe^[[0m ^[[7mnocolor^[[0m$ ^[[0m^[[7mnorm nocolor^[[0m$ ^[[7mnorm ^[[m^[[01;32mexe^[[0m$ ^[[0m^[[7mnocolor^[[0m ^[[7m^[[m^[[01;32mexe^[[0m$ ^[[0m^[[7mnorm ^[[m^[[1mnocolor^[[0m$ ^[[7mnorm ^[[m^[[01;32mexe^[[0m$ ^[[0m^[[7mnorm ^[[m^[[mnocolor^[[0m$ ^[[7mnorm ^[[m^[[01;32mexe^[[0m$ ^[[0m^[[7mnorm ^[[m^[[0mnocolor^[[0m$ ^[[7mnorm ^[[m^[[01;32mexe^[[0m$ ^[[0m^[[7mnocolor^[[0m, ^[[7m^[[m^[[01;32mexe^[[0m*$ norm nocolor$ norm exe$ EOF compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/recursive.sh����������������������������������������������������������������0000775�0000000�0000000�00000002400�12102337340�014463� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # 4.1.1 and 4.1.2 had a bug whereby some recursive listings # didn't include a blank line between per-directory groups of files. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir x y a b c a/1 a/2 a/3 || framework_failure_ touch f a/1/I a/1/II || framework_failure_ # This first example is from Andreas Schwab's bug report. ls -R1 a b c > out || fail=1 cat <<EOF > exp a: 1 2 3 a/1: I II a/2: a/3: b: c: EOF compare exp out || fail=1 rm -rf out exp ls -R1 x y f > out || fail=1 cat <<EOF > exp f x: y: EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/color-clear-to-eol.sh�������������������������������������������������������0000775�0000000�0000000�00000002545�12102337340�016065� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that ls --color works well when a colored name is wrapped # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls long_name=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo touch $long_name || framework_failure_ e='\33' color_code='0;31;42' c_pre="$e[0m$e[${color_code}m" c_post="$e[0m$e[K\n" printf "$c_pre$long_name$c_post\n" > exp || framework_failure_ env TERM=xterm COLUMNS=80 LS_COLORS="*.foo=$color_code" TIME_STYLE=+T \ ls -og --color=always $long_name > out || fail=1 # Append a newline, to accommodate less-capable versions of sed. echo >> out || fail=1 sed 's/.*T //' out > k && mv k out compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/rt-1.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002235�12102337340�013245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure name is used as secondary key when sorting on mtime or ctime. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls touch date=1998-01-15 touch -d "$date" c || framework_failure_ touch -d "$date" a || framework_failure_ touch -d "$date" b || framework_failure_ ls -1t a b c > out || fail=1 cat <<EOF > exp a b c EOF compare exp out || fail=1 rm -rf out exp ls -1rt a b c > out || fail=1 cat <<EOF > exp c b a EOF compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/stat-free-symlinks.sh�������������������������������������������������������0000775�0000000�0000000�00000003517�12102337340�016227� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that ls does not stat a symlink in an unusual case # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_strace_ stat touch x || framework_failure_ chmod a+x x || framework_failure_ ln -s x link-to-x || framework_failure_ # ls from coreutils 6.9 would unnecessarily stat a symlink in an unusual case: # When not coloring orphan and missing entries, and without ln=target, # ensure that ls -F (or -d, or -l: i.e., when not dereferencing) # does not stat a symlink to directory, and does still color that # symlink and an executable file properly. LS_COLORS='or=0:mi=0:ex=01;32:ln=01;35' \ strace -qe stat ls -F --color=always x link-to-x > out.tmp 2> err || fail # Elide info messages strace can send to stdout of the form: # [ Process PID=1234 runs in 32 bit mode. ] sed '/Process PID=/d' out.tmp > out # With coreutils 6.9 and earlier, this file would contain a # line showing ls had called stat on "x". grep '^stat("x"' err && fail=1 # Check that output is colorized, as requested, too. { printf '\033[0m\033[01;35mlink-to-x\033[0m@\n' printf '\033[01;32mx\033[0m*\n' } > exp || fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/capability.sh���������������������������������������������������������������0000775�0000000�0000000�00000003557�12102337340�014613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "ls --color" properly colorizes file with capability. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_root_ grep '^#define HAVE_CAP 1' $CONFIG_HEADER > /dev/null \ || skip_ "configured without libcap support" (setcap --help) 2>&1 |grep 'usage: setcap' > /dev/null \ || skip_ "setcap utility not found" # Don't let a different umask perturb the results. umask 22 # We create 2 files of the same name as # before coreutils 8.1 only the name rather than # the full path was used to read the capabilities # thus giving false positives and negatives. mkdir test test/dir cd test touch cap_pos dir/cap_pos dir/cap_neg for file in cap_pos dir/cap_neg; do setcap 'cap_net_bind_service=ep' $file || skip_ "setcap doesn't work" done code='30;41' # Note we explicitly disable "executable" coloring # so that capability coloring is not dependent on it, # as was the case before coreutils 8.1 for ex in '' ex=:; do LS_COLORS="di=:${ex}ca=$code" \ ls --color=always cap_pos dir > out || fail=1 env printf "\ \e[0m\e[${code}mcap_pos\e[0m dir: \e[${code}mcap_neg\e[0m cap_pos " > out_ok || framework_failure_ compare out out_ok || fail=1 done Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/proc-selinux-segfault.sh����������������������������������������������������0000775�0000000�0000000�00000001620�12102337340�016717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ls -l /proc/sys would segfault when built against libselinux1 2.0.15-2+b1 # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls f=/proc/sys test -r $f || f=. ls -l $f > out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/follow-slink.sh�������������������������������������������������������������0000775�0000000�0000000�00000003516�12102337340�015105� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure ls -L always follows symlinks # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Isolate output files from directory being listed mkdir dir dir/sub dir1 || framework_failure_ cd dir || framework_failure_ ln -s link link || framework_failure_ ln -s ../../dir1 sub/link-to-dir || framework_failure_ # Make sure the symlink was created. # 'ln -s link link' succeeds, but creates no file on # systems running some DJGPP-2.03 libc. ls -F link > /dev/null || framework_failure_ # When explicitly listing a broken link, the command must fail. ls -L link 2> /dev/null && fail=1 # When encountering a broken link implicitly, Solaris 9 and OpenBSD 3.4 # list the link, provided no further information about the link needed # to be printed. Since POSIX does not specify one way or the other, we # opt for compatibility (this was broken in 5.3.0 through 5.94). LC_ALL=C ls -L > ../out-L || fail=1 LC_ALL=C ls -FLR sub > ../out-FLR-sub || fail=1 cd .. || fail=1 cat <<\EOF > exp-L link sub EOF cat <<\EOF > exp-FLR-sub sub: link-to-dir/ sub/link-to-dir: EOF compare exp-L out-L || fail=1 compare exp-FLR-sub out-FLR-sub || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/dired.sh��������������������������������������������������������������������0000775�0000000�0000000�00000001773�12102337340�013557� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure --dired option works # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir dir || framework_failure_ LC_MESSAGES=C ls -lR --dired dir > out || fail=1 cat <<EOF > exp dir: total 0 //SUBDIRED// 2 5 //DIRED-OPTIONS// --quoting-style=literal EOF compare exp out || fail=1 Exit $fail �����coreutils-8.21/tests/ls/stat-free-color.sh����������������������������������������������������������0000775�0000000�0000000�00000003723�12102337340�015473� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that --color need not use stat, as long as we have d_type support. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_strace_ stat require_dirent_d_type_ for i in 1 2 3; do ln -s nowhere dangle-$i || framework_failure_ done # Disable enough features via LS_COLORS so that ls --color # can do its job without calling stat (other than the obligatory # one-call-per-command-line argument). cat <<EOF > color-without-stat || framework_failure_ RESET 0 DIR 01;34 LINK 01;36 FIFO 40;33 SOCK 01;35 DOOR 01;35 BLK 40;33;01 CHR 40;33;01 ORPHAN 00 SETUID 00 SETGID 00 CAPABILITY 00 STICKY_OTHER_WRITABLE 00 OTHER_WRITABLE 00 STICKY 00 EXEC 00 MULTIHARDLINK 00 EOF eval $(dircolors -b color-without-stat) # The system may perform additional stat-like calls before main. # To avoid counting those, first get a baseline count by running # ls with only the --help option. Then, compare that with the # invocation under test. strace -o log-help -e stat,lstat,stat64,lstat64 ls --help >/dev/null || fail=1 n_lines_help=$(wc -l < log-help) strace -o log -e stat,lstat,stat64,lstat64 ls --color=always . || fail=1 n_lines=$(wc -l < log) n_stat=$(expr $n_lines - $n_lines_help) # Expect one or two stat calls. case $n_stat in 1) ;; *) fail=1; head -n30 log* ;; esac Exit $fail ���������������������������������������������coreutils-8.21/tests/ls/slink-acl.sh����������������������������������������������������������������0000775�0000000�0000000�00000002066�12102337340�014341� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # verify that ls -lL works when applied to a symlink to an ACL'd file # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_setfacl_ touch k || framework_failure_ setfacl -m user::r-- k || framework_failure_ ln -s k s || framework_failure_ set _ $(ls -Log s); shift; link=$1 set _ $(ls -og k); shift; reg=$1 test "$link" = "$reg" || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/symlink-slash.sh������������������������������������������������������������0000775�0000000�0000000�00000002057�12102337340�015262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Do dereference a symlink arg if its name is written with a trailing slash. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir dir || framework_failure_ ln -s dir symlink || framework_failure_ set $(ls -l symlink/) # Prior to fileutils-4.0k, the following would have output '... symlink -> dir'. test "$*" = 'total 0' && : || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/nameless-uid.sh�������������������������������������������������������������0000775�0000000�0000000�00000002245�12102337340�015051� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that ls -l works on files with nameless uid and/or gid # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_root_ require_perl_ nameless_uid=$($PERL -e ' foreach my $i (1000..16*1024) { getpwuid $i or (print "$i\n"), exit } ') if test x$nameless_uid = x; then skip_ "couldn't find a nameless UID" fi touch f || framework_failure_ chown $nameless_uid f || framework_failure_ set -- $(ls -o f) || fail=1 test $3 = $nameless_uid || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/block-size.sh���������������������������������������������������������������0000775�0000000�0000000�00000011072�12102337340�014523� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise ls --block-size and related options. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls TZ=UTC0 export TZ mkdir sub cd sub for size in 1024 4096 262144; do echo foo | dd conv=sync bs=$size >file$size || fail=1 done touch -d '2001-01-01 00:00' file* || fail=1 size_etc='s/[^ ]* *[^ ]* *[^ ]* *[^ ]* *//' ls -l * | sed "$size_etc" >../out || fail=1 POSIXLY_CORRECT=1 ls -l * | sed "$size_etc" >>../out || fail=1 POSIXLY_CORRECT=1 ls -k -l * | sed "$size_etc" >>../out || fail=1 for var in BLOCKSIZE BLOCK_SIZE LS_BLOCK_SIZE; do for blocksize in 1 512 1K 1KiB; do (eval $var=$blocksize && export $var && ls -l * && ls -l -k * && ls -l -k --block-size=$blocksize * ) | sed "$size_etc" >>../out || fail=1 done done cd .. cat >exp <<'EOF' 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 1024 Jan 1 2001 file1024 262144 Jan 1 2001 file262144 4096 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 2 Jan 1 2001 file1024 512 Jan 1 2001 file262144 8 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 1 Jan 1 2001 file1024 256 Jan 1 2001 file262144 4 Jan 1 2001 file4096 EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/no-cap.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002221�12102337340�013632� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that an empty "ca=" attribute disables ls's capability-checking # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls require_strace_ capget strace -e capget ls --color=always > /dev/null 2> out || fail=1 $EGREP 'capget\(' out || skip_ "your ls doesn't call capget" rm -f out eval "$(TERM=xterm dircolors -b | sed 's/ca=[^:]*:/ca=:/')" strace -e capget ls --color=always > /dev/null 2> out || fail=1 $EGREP 'capget\(' out && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/stat-failed.sh��������������������������������������������������������������0000775�0000000�0000000�00000002643�12102337340�014662� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that ls works properly when it fails to stat a file that is # not mentioned on the command line. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls skip_if_root_ mkdir d || framework_failure_ ln -s / d/s || framework_failure_ chmod 600 d || framework_failure_ ls -Log d > out test $? = 1 || fail=1 cat <<\EOF > exp || fail=1 total 0 ?????????? ? ? ? s EOF sed 's/^l/?/' out | compare exp - || fail=1 # Ensure that the offsets in --dired output are accurate. rm -f out exp ls --dired -l d > out && fail=1 cat <<\EOF > exp || fail=1 total 0 ?????????? ? ? ? ? ? s //DIRED// 44 45 //DIRED-OPTIONS// --quoting-style=literal EOF sed 's/^ l/ ?/' out | compare exp - || fail=1 Exit $fail ���������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/time-style-diag.sh����������������������������������������������������������0000775�0000000�0000000�00000002320�12102337340�015453� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that an invalid --time-style=ARG is diagnosed the way we want. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls ls -l --time-style=XX > out 2> err test $? = 2 || fail=1 cat <<\EOF > exp || fail=1 ls: invalid argument 'XX' for 'time style' Valid arguments are: - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format Try 'ls --help' for more information. EOF compare exp err || fail=1 compare /dev/null out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/no-arg.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002316�12102337340�013645� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure ls and 'ls -R' do the right thing when invoked with no arguments. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls mkdir -p dir/subdir || framework_failure_ touch dir/subdir/file2 || framework_failure_ ln -s f symlink || framework_failure_ cat > exp <<\EOF || framework_failure_ dir exp out symlink EOF ls -1 > out || fail=1 compare exp out || fail=1 cat > exp <<\EOF .: dir exp out symlink ./dir: subdir ./dir/subdir: file2 EOF ls -R1 > out || fail=1 compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/inode.sh��������������������������������������������������������������������0000775�0000000�0000000�00000003645�12102337340�013566� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that ls -i works properly on symlinks. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls touch f || framework_failure_ ln -s f slink || framework_failure_ # When listed explicitly: set x $(ls -Ci f slink); shift test $# = 4 || fail=1 # The inode numbers should differ. test "$1" != "$3" || fail=1 set x $(ls -CLi f slink); shift test $# = 4 || fail=1 # With -L, they must be the same. test "$1" = "$3" || fail=1 set x $(ls -CHi f slink); shift test $# = 4 || fail=1 # With -H, they must be the same, too, from the command line. # Note that POSIX says -H must make ls dereference only # symlinks (specified on the command line) to directories, # but the historical BSD meaning of -H is to dereference # any symlink given on the command line. For compatibility GNU ls # implements the BSD semantics. test "$1" = "$3" || fail=1 # When listed from a directory: set x $(ls -Ci); shift test $# = 4 || fail=1 # The inode numbers should differ. test "$1" != "$3" || fail=1 set x $(ls -CLi); shift test $# = 4 || fail=1 # With -L, they must be the same. test "$1" = "$3" || fail=1 set x $(ls -CHi); shift test $# = 4 || fail=1 # With -H, they must be different from inside a directory. test "$1" != "$3" || fail=1 Exit $fail �������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/m-option.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002364�12102337340�014227� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise the -m option # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls seq 2000 > b || framework_failure_ touch a || framework_failure_ # Before coreutils-5.1.1, the following would output a space after the comma. ls -w2 -m a b > out || fail=1 # Before coreutils-5.1.1, the following would produce leading white space. # All of the sed business is because the sizes are not portable. ls -sm a b | sed 's/^[0-9]/0/;s/, [0-9][0-9]* b/, 12 b/' >> out || fail=1 cat <<\EOF > exp || fail=1 a, b 0 a, 12 b EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/color-dtype-dir.sh����������������������������������������������������������0000775�0000000�0000000�00000003400�12102337340�015472� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "ls --color" properly colors other-writable and sticky directories. # Before coreutils-6.2, this test would fail, coloring all three # directories the same as the first one -- but only on a file system # with dirent.d_type support. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Don't let a different umask perturb the results. umask 22 mkdir d other-writable sticky || framework_failure_ chmod o+w other-writable || framework_failure_ chmod o+t sticky || framework_failure_ ls --color=always > out || fail=1 cat -A out > o1 || fail=1 mv o1 out || fail=1 cat <<\EOF > exp || fail=1 ^[[0m^[[01;34md^[[0m$ ^[[34;42mother-writable^[[0m$ out$ ^[[37;44msticky^[[0m$ EOF compare exp out || fail=1 rm exp # Turn off colors for other-writable dirs and ensure # we fall back to the color for standard directories. LS_COLORS="ow=:" ls --color=always > out || fail=1 cat -A out > o1 || fail=1 mv o1 out || fail=1 cat <<\EOF > exp || fail=1 ^[[0m^[[01;34md^[[0m$ ^[[01;34mother-writable^[[0m$ out$ ^[[37;44msticky^[[0m$ EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/multihardlink.sh������������������������������������������������������������0000775�0000000�0000000�00000005215�12102337340�015332� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "ls --color" properly colorizes hard linked files. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls working_umask_or_skip_ touch file file1 || framework_failure_ ln file1 file2 || skip_ "can't create hard link" code_mh='44;37' code_ex='01;32' code_png='01;35' c0=$(printf '\033[0m') c_mh=$(printf '\033[%sm' $code_mh) c_ex=$(printf '\033[%sm' $code_ex) c_png=$(printf '\033[%sm' $code_png) # regular file - not hard linked LS_COLORS="mh=$code_mh" ls -U1 --color=always file > out || fail=1 printf "file\n" > out_ok || framework_failure_ compare out out_ok || fail=1 # hard links LS_COLORS="mh=$code_mh" ls -U1 --color=always file1 file2 > out || fail=1 printf "$c0${c_mh}file1$c0 ${c_mh}file2$c0 " > out_ok || framework_failure_ compare out out_ok || fail=1 # hard links and png (hard link coloring takes precedence) mv file2 file2.png || framework_failure_ LS_COLORS="mh=$code_mh:*.png=$code_png" ls -U1 --color=always file1 file2.png \ > out || fail=1 printf "$c0${c_mh}file1$c0 ${c_mh}file2.png$c0 " > out_ok || framework_failure_ compare out out_ok || fail=1 # hard links and exe (exe coloring takes precedence) chmod a+x file2.png || framework_failure_ LS_COLORS="mh=$code_mh:*.png=$code_png:ex=$code_ex" \ ls -U1 --color=always file1 file2.png > out || fail=1 chmod a-x file2.png || framework_failure_ printf "$c0${c_ex}file1$c0 ${c_ex}file2.png$c0 " > out_ok || framework_failure_ compare out out_ok || fail=1 # hard links and png (hard link coloring disabled => png coloring enabled) LS_COLORS="mh=00:*.png=$code_png" ls -U1 --color=always file1 file2.png > out \ || fail=1 printf "file1 $c0${c_png}file2.png$c0 " > out_ok || framework_failure_ compare out out_ok || fail=1 # hard links and png (hard link coloring not enabled explicitly => png coloring) LS_COLORS="*.png=$code_png" ls -U1 --color=always file1 file2.png > out \ || fail=1 printf "file1 $c0${c_png}file2.png$c0 " > out_ok || framework_failure_ compare out out_ok || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/abmon-align.sh��������������������������������������������������������������0000775�0000000�0000000�00000003400�12102337340�014641� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure ls output is aligned when using abbreviated months from the locale # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls for mon in $(seq -w 12); do touch -d"+$mon month" $mon.ts || framework_failure_ done # Note some of the following locales may be missing but if so # we should fail back to the C locale which should be aligned for format in "%b" "[%b" "%b]" "[%b]"; do for LOC in C gv_GB ga_IE fi_FI.utf8 zh_CN ar_SY $LOCALE_FR_UTF8; do # The sed usage here is slightly different from the original, # removing the \(.*\), to avoid triggering misbehavior in at least # GNU sed 4.2 (possibly miscompiled) on Mac OS X (Darwin 9.8.0). n_widths=$( LC_ALL=$LOC TIME_STYLE=+"$format" ls -lgG *.ts | LC_ALL=C sed 's/.\{15\}//;s/ ..\.ts$//;s/ /./g' | while read mon; do echo "$mon" | LC_ALL=$LOC wc -L; done | uniq | wc -l ) test "$n_widths" = "1" || { fail=1; break 2; } done done if test "$fail" = "1"; then echo "misalignment detected in $LOC locale:" LC_ALL=$LOC TIME_STYLE=+%b ls -lgG *.ts fi Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/dangle.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003515�12102337340�013716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure ls properly handles dangling symlinks vs. ls's -L, -H, options. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls ln -s no-such-file dangle || framework_failure_ mkdir -p dir/sub || framework_failure_ ln -s dir slink-to-dir || framework_failure_ mkdir d || framework_failure_ ln -s no-such d/dangle || framework_failure_ printf '? dangle\n' > subdir_Li_exp || framework_failure_ printf 'total 0\n? dangle\n' > subdir_Ls_exp || framework_failure_ # This must exit nonzero. ls -L dangle > /dev/null 2>&1 && fail=1 # So must this. ls -H dangle > /dev/null 2>&1 && fail=1 # This must exit successfully. ls dangle >> out || fail=1 ls slink-to-dir >> out 2>&1 || fail=1 ls -H slink-to-dir >> out 2>&1 || fail=1 ls -L slink-to-dir >> out 2>&1 || fail=1 cat <<\EOF > exp dangle sub sub sub EOF compare exp out || fail=1 # Ensure that ls -Li prints "?" as the inode of a dangling symlink. rm -f out ls -Li d > out 2>/dev/null && fail=1 compare subdir_Li_exp out || fail=1 # Ensure that ls -Ls prints "?" as the allocation of a dangling symlink. rm -f out ls -Ls d > out 2>/dev/null && fail=1 compare subdir_Ls_exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ls/stat-dtype.sh���������������������������������������������������������������0000775�0000000�0000000�00000003720�12102337340�014560� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that ls --file-type does not call stat unnecessarily. # Also check for the dtype-related (and fs-type dependent) bug # in coreutils-6.0 that made ls -CF columns misaligned. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # The trick is to create an un-stat'able symlink and to see if ls # can report its type nonetheless, using dirent.d_type. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Skip this test unless "." is on a file system with useful d_type info. # FIXME: This uses "ls -p" to decide whether to test "ls" with other options, # but if ls's d_type code is buggy then "ls -p" might be buggy too. mkdir -p c/d || framework_failure_ chmod a-x c || framework_failure_ if test "X$(ls -p c 2>&1)" != Xd/; then skip_ "'.' is not on a suitable file system for this test" fi mkdir d || framework_failure_ ln -s / d/s || framework_failure_ chmod 600 d || framework_failure_ mkdir -p e/a2345 e/b || framework_failure_ chmod 600 e || framework_failure_ ls --file-type d > out || fail=1 cat <<\EOF > exp || fail=1 s@ EOF compare exp out || fail=1 rm -f out exp # Check for the ls -CF misaligned-columns bug: ls -CF e > out || fail=1 # coreutils-6.0 would print two spaces after the first slash, # rather than the appropriate TAB. printf 'a2345/\tb/\n' > exp || fail=1 compare exp out || fail=1 Exit $fail ������������������������������������������������coreutils-8.21/tests/CuTmpdir.pm��������������������������������������������������������������������0000664�0000000�0000000�00000004763�12102337340�013602� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������package CuTmpdir; # create, then chdir into a temporary sub-directory # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use warnings; use File::Temp; use File::Find; our $ME = $0 || "<???>"; my $dir; sub skip_test($) { warn "$ME: skipping test: unsafe working directory name: '$_[0]'\n"; exit 77; } sub chmod_1 { my $name = $_; # Skip symlinks and non-directories. -l $name || !-d _ and return; chmod 0700, $name; } sub chmod_tree { # When tempdir fails, it croaks, which leaves $dir undefined. defined $dir or return; # Perform the equivalent of find "$dir" -type d -print0|xargs -0 chmod -R 700. my $options = {untaint => 1, wanted => \&chmod_1}; find ($options, $dir); } sub import { my $prefix = $_[1]; $ME eq '-' && defined $prefix and $ME = $prefix; if ($prefix !~ /^\//) { eval 'use Cwd'; my $cwd = $@ ? '.' : Cwd::getcwd(); $prefix = "$cwd/$prefix"; } # Untaint for the upcoming mkdir. $prefix =~ m!^([-+\@\w./]+)$! or skip_test $prefix; $prefix = $1; my $original_pid = $$; my $on_sig_remove_tmpdir = sub { my ($sig) = @_; if ($$ == $original_pid and defined $dir) { chmod_tree; # Older versions of File::Temp lack this method. exists &File::Temp::cleanup and &File::Temp::cleanup; } $SIG{$sig} = 'DEFAULT'; kill $sig, $$; }; foreach my $sig (qw (INT TERM HUP)) { $SIG{$sig} = $on_sig_remove_tmpdir; } $dir = File::Temp::tempdir("$prefix.tmp-XXXX", CLEANUP => 1 ); chdir $dir or warn "$ME: failed to chdir to $dir: $!\n"; } END { # Move cwd out of the directory we're about to remove. # This is required on some systems, and by some versions of File::Temp. chdir '..' or warn "$ME: failed to chdir to .. from $dir: $!\n"; my $saved_errno = $?; chmod_tree; $? = $saved_errno; } 1; �������������coreutils-8.21/tests/chgrp/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207524�012673� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/default-no-deref.sh������������������������������������������������������0000775�0000000�0000000�00000002045�12102337340�016267� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that chgrp -R does not dereference symlinks. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ set _ $groups; shift g2=$2 mkdir d && touch f && ln -s ../f d/s || framework_failure_ g_init=$(stat --printf=%g f) chgrp -R $g2 d || fail=1 test $(stat --printf=%g f) = $g_init || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/recurse.sh���������������������������������������������������������������0000775�0000000�0000000�00000003215�12102337340�014616� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ad-hoc tests of chgrp with -R and -H or -L and symlinks # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ set _ $groups; shift g1=$1 g2=$2 # chgrp -R should not traverse a symlink to a directory. mkdir d e touch d/dd e/ee ln -s ../e d/s chgrp -R $g1 e/ee || fail=1 # This should not should change the group of e/ee chgrp -R $g2 d set _ $(ls -ln e/ee); g=$5; test "$g" = $g1 || fail=1 # This must change the group of e/ee, since -L makes # chgrp traverse the symlink from d/s into e. chgrp -L -R $g2 d set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 # This must *not* change the group of e/ee chgrp -H -R $g1 d set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 ln -s d link # This shouldn't change the group of e/ee either. chgrp -H -R $g1 link || fail=1 set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 # But it *should* change d/dd. set _ $(ls -ln d/dd); g=$5; test "$g" = $g1 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/no-x.sh������������������������������������������������������������������0000775�0000000�0000000�00000003354�12102337340�014033� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure chgrp gives the right diagnostic for a readable, # but inaccessible directory. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ skip_if_root_ set _ $groups; shift g1=$1 g2=$2 mkdir -p d/no-x/y || framework_failure_ chmod u=rw d/no-x || framework_failure_ # This must exit nonzero. chgrp -R $g2 d >/dev/null 2>out && fail=1 prog=chgrp # NOTE: this code is the same for all tests/*/no-x tests. # Depending on whether fts is using native fdopendir, we see one # of the following diagnostics (note also the /y suffix in one case): # prog: 'd/no-x': Permission denied # prog: cannot access 'd/no-x/y': Permission denied # prog: cannot read directory 'd/no-x': Permission denied # Convert either of the latter two to the first one. sed "s/^$prog: cannot access /$prog: /" out > t && mv t out sed "s/^$prog: cannot read directory /$prog: /" out > t && mv t out sed 's,d/no-x/y,d/no-x,' out > t && mv t out cat <<EOF > exp $prog: 'd/no-x': Permission denied EOF compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/deref.sh�����������������������������������������������������������������0000775�0000000�0000000�00000003504�12102337340�014234� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # see if chgrp can change the group of a symlink # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ set _ $groups; shift g1=$1 g2=$2 touch f ln -s f symlink chgrp -h $g2 symlink 2> /dev/null set _ $(ls -ln symlink) g=$5 test "$g" = $g2 || skip_ "your system doesn't support changing the owner or group" \ "of a symbolic link." chgrp $g1 f set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 chgrp -h $g2 symlink || fail=1 set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 # This should not change the group of f. chgrp -h $g2 symlink || fail=1 set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 chgrp $g2 f set _ $(ls -ln f); g=$5; test "$g" = $g2 || fail=1 # This *should* change the group of f. # Though note that the diagnostic you'd get with -c is misleading in that # it says the 'group of 'symlink'' has been changed. chgrp --dereference $g1 symlink set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/posix-H.sh���������������������������������������������������������������0000775�0000000�0000000�00000003447�12102337340�014504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test POSIX-mandated -H option. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ set _ $groups; shift g1=$1 g2=$2 mkdir 1 2 3 || framework_failure_ touch 1/1F 2/2F 3/3F || framework_failure_ ln -s 1 1s || framework_failure_ ln -s ../3 2/2s || framework_failure_ chgrp -R $g1 1 2 3 || framework_failure_ chgrp --preserve-root -H -R $g2 1s 2 || fail=1 # These must have group $g2. # ========================= changed=' 1 1/1F 2 2/2F 3 ' for i in $changed; do # Filter out symlinks (entries that end in 's'), since it's not # possible to change their group/owner information on some systems. case $i in *s) continue;; esac set _ $(ls -dgn $i); shift group=$3 test $group = $g2 || fail=1 done # These must have group $g1. # ========================= not_changed=' 1s 2/2s 3/3F ' for i in $not_changed; do # Filter out symlinks (entries that end in 's'), since it's not # possible to change their group/owner information on some systems. case $i in *s) continue;; esac set _ $(ls -dgn $i); shift group=$3 test $group = $g1 || fail=1 done Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chgrp/basic.sh�����������������������������������������������������������������0000775�0000000�0000000�00000007477�12102337340�014245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure chgrp is reasonable # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp require_membership_in_two_groups_ set _ $groups; shift g1=$1 g2=$2 mkdir d touch f f2 d/f3 chgrp $g1 f || fail=1 chgrp $g2 f || fail=1 chgrp $g2 f2 || fail=1 chgrp -R $g1 d || fail=1 d_files='d d/f3' chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 chgrp $g2 f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 chgrp $g2 f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 chgrp '' f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 chgrp --reference=f2 f ; test $(stat --p=%g f) = $g2 || fail=1 chgrp -R $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g2:" || fail=1 chgrp -R $g1 d ||fail=1; test $(stat --p=%g: $d_files) = "$g1:$g1:" || fail=1 chgrp -R $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g2:" || fail=1 chgrp -R $g1 d ||fail=1; test $(stat --p=%g: $d_files) = "$g1:$g1:" || fail=1 chgrp $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g1:" || fail=1 rm -f f touch f ln -s f symlink chgrp $g1 f test $(stat --printf=%g f) = $g1 || fail=1 # This should not change the group of f. chgrp -h $g2 symlink test $(stat --printf=%g f) = $g1 || fail=1 # Don't fail if chgrp failed to set the group of a symlink. # Some systems don't support that. test $(stat --printf=%g symlink) = $g2 || echo 'info: failed to set group of symlink' 1>&2 chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 # This *should* change the group of f. # Though note that the diagnostic is misleading in that # it says the 'group of 'symlink'' has been changed. chgrp $g1 symlink; test $(stat --printf=%g f) = $g1 || fail=1 chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 # If -R is specified without -H or L, -h is assumed. chgrp -h $g1 f symlink; test $(stat --printf=%g symlink) = $g1 || fail=1 chgrp -R $g2 symlink chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 # Make sure we can change the group of inaccessible files. chmod a-r f chown --from=:$g2 :$g1 f; test $(stat --printf=%g f) = $g1 || fail=1 chmod 0 f chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 # chown() must not be optimized away even when # the file's owner and group already have the desired value. rm -f f g touch f g chgrp $g1 f g chgrp $g2 g sleep 1 chgrp $g1 f # The following no-change chgrp command is supposed to update f's ctime, # but on OpenBSD and Darwin 7.9.0-8.11.1 (aka MacOS X 10.3.9 - 10.4.11) # it appears to be a no-op for some file system types (at least NFS) so g's # ctime is more recent. This is not a big deal; # this test works fine when the files are on a local file system (/tmp). chgrp '' f test "$(ls -C -c -t f g)" = 'f g' || \ { case $host_triplet in *openbsd*) echo ignoring known OpenBSD-specific chgrp failure 1>&2 ;; *darwin7.9.*|*darwin8.*) echo ignoring known MacOS X-specific chgrp failure 1>&2 ;; *) echo $host_triplet: no-change chgrp failed to update ctime 1>&2; fail=1 ;; esac } Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/sample-test��������������������������������������������������������������������0000664�0000000�0000000�00000002051�12102337341�013663� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # FIXME # Copyright (C) 2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ FIXME # FIXME: skip_if_root_ # FIXME: require_root_ # If used, these must *follow* init.sh. # FIXME: cleanup_() { rm -rf "$other_partition_tmpdir"; } # FIXME: . "$abs_srcdir/tests/other-fs-tmpdir" FIXME > out || fail=1 cat <<\EOF > exp || fail=1 FIXME EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/init.sh������������������������������������������������������������������������0000664�0000000�0000000�00000045255�12102337340�013015� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# source this file; set up for tests # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Using this file in a test # ========================= # # The typical skeleton of a test looks like this: # # #!/bin/sh # . "${srcdir=.}/init.sh"; path_prepend_ . # Execute some commands. # Note that these commands are executed in a subdirectory, therefore you # need to prepend "../" to relative filenames in the build directory. # Note that the "path_prepend_ ." is useful only if the body of your # test invokes programs residing in the initial directory. # For example, if the programs you want to test are in src/, and this test # script is named tests/test-1, then you would use "path_prepend_ ../src", # or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" # to all tests via automake's TESTS_ENVIRONMENT. # Set the exit code 0 for success, 77 for skipped, or 1 or other for failure. # Use the skip_ and fail_ functions to print a diagnostic and then exit # with the corresponding exit code. # Exit $? # Executing a test that uses this file # ==================================== # # Running a single test: # $ make check TESTS=test-foo.sh # # Running a single test, with verbose output: # $ make check TESTS=test-foo.sh VERBOSE=yes # # Running a single test, with single-stepping: # 1. Go into a sub-shell: # $ bash # 2. Set relevant environment variables from TESTS_ENVIRONMENT in the # Makefile: # $ export srcdir=../../tests # this is an example # 3. Execute the commands from the test, copy&pasting them one by one: # $ . "$srcdir/init.sh"; path_prepend_ . # ... # 4. Finally # $ exit ME_=`expr "./$0" : '.*/\(.*\)$'` # We use a trap below for cleanup. This requires us to go through # hoops to get the right exit status transported through the handler. # So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. # Turn off errexit here so that we don't trip the bug with OSF1/Tru64 # sh inside this function. Exit () { set +e; (exit $1); exit $1; } # Print warnings (e.g., about skipped and failed tests) to this file number. # Override by defining to say, 9, in init.cfg, and putting say, # export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2 # in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file. # This is useful when using automake's parallel tests mode, to print # the reason for skip/failure to console, rather than to the .log files. : ${stderr_fileno_=2} # Note that correct expansion of "$*" depends on IFS starting with ' '. # Always write the full diagnostic to stderr. # When stderr_fileno_ is not 2, also emit the first line of the # diagnostic to that file descriptor. warn_ () { # If IFS does not start with ' ', set it and emit the warning in a subshell. case $IFS in ' '*) printf '%s\n' "$*" >&2 test $stderr_fileno_ = 2 \ || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;; *) (IFS=' '; warn_ "$@");; esac } fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; } skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } # Sanitize this shell to POSIX mode, if possible. DUALCASE=1; export DUALCASE if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # We require $(...) support unconditionally. # We require a few additional shell features only when $EXEEXT is nonempty, # in order to support automatic $EXEEXT emulation: # - hyphen-containing alias names # - we prefer to use ${var#...} substitution, rather than having # to work around lack of support for that feature. # The following code attempts to find a shell with support for these features. # If the current shell passes the test, we're done. Otherwise, test other # shells until we find one that passes. If one is found, re-exec it. # If no acceptable shell is found, skip the current test. # # The "...set -x; P=1 true 2>err..." test is to disqualify any shell that # emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do. # # Use "9" to indicate success (rather than 0), in case some shell acts # like Solaris 10's /bin/sh but exits successfully instead of with status 2. # Eval this code in a subshell to determine a shell's suitability. # 10 - passes all tests; ok to use # 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score # ? - not ok gl_shell_test_script_=' test $(echo y) = y || exit 1 score_=10 if test "$VERBOSE" = yes; then test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 fi test -z "$EXEEXT" && exit $score_ shopt -s expand_aliases alias a-b="echo zoo" v=abx test ${v%x} = ab \ && test ${v#a} = bx \ && test $(a-b) = zoo \ && exit $score_ ' if test "x$1" = "x--no-reexec"; then shift else # Assume a working shell. Export to subshells (setup_ needs this). gl_set_x_corrupts_stderr_=false export gl_set_x_corrupts_stderr_ # Record the first marginally acceptable shell. marginal_= # Search for a shell that meets our requirements. for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \ /bin/sh bash dash zsh pdksh fail do test "$re_shell_" = no_shell && continue # If we've made it all the way to the sentinel, "fail" without # finding even a marginal shell, skip this test. if test "$re_shell_" = fail; then test -z "$marginal_" && skip_ failed to find an adequate shell re_shell_=$marginal_ break fi # When testing the current shell, simply "eval" the test code. # Otherwise, run it via $re_shell_ -c ... if test "$re_shell_" = __current__; then # 'eval'ing this code makes Solaris 10's /bin/sh exit with # $? set to 2. It does not evaluate any of the code after the # "unexpected" first '('. Thus, we must run it in a subshell. ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1 else "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null fi st_=$? # $re_shell_ works just fine. Use it. if test $st_ = 10; then gl_set_x_corrupts_stderr_=false break fi # If this is our first marginally acceptable shell, remember it. if test "$st_:$marginal_" = 9: ; then marginal_="$re_shell_" gl_set_x_corrupts_stderr_=true fi done if test "$re_shell_" != __current__; then # Found a usable shell. Preserve -v and -x. case $- in *v*x* | *x*v*) opts_=-vx ;; *v*) opts_=-v ;; *x*) opts_=-x ;; *) opts_= ;; esac exec "$re_shell_" $opts_ "$0" --no-reexec "$@" echo "$ME_: exec failed" 1>&2 exit 127 fi fi # If this is bash, turn off all aliases. test -n "$BASH_VERSION" && unalias -a # Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to # PROG_NAME.exe), we want to support hyphen-containing names like test-acos. # That is part of the shell-selection test above. Why use aliases rather # than functions? Because support for hyphen-containing aliases is more # widespread than that for hyphen-containing function names. test -n "$EXEEXT" && shopt -s expand_aliases # Enable glibc's malloc-perturbing option. # This is useful for exposing code that depends on the fact that # malloc-related functions often return memory that is mostly zeroed. # If you have the time and cycles, use valgrind to do an even better job. : ${MALLOC_PERTURB_=87} export MALLOC_PERTURB_ # This is a stub function that is run upon trap (upon regular exit and # interrupt). Override it with a per-test function, e.g., to unmount # a partition, or to undo any other global state changes. cleanup_ () { :; } # Emit a header similar to that from diff -u; Print the simulated "diff" # command so that the order of arguments is clear. Don't bother with @@ lines. emit_diff_u_header_ () { printf '%s\n' "diff -u $*" \ "--- $1 1970-01-01" \ "+++ $2 1970-01-01" } # Arrange not to let diff or cmp operate on /dev/null, # since on some systems (at least OSF/1 5.1), that doesn't work. # When there are not two arguments, or no argument is /dev/null, return 2. # When one argument is /dev/null and the other is not empty, # cat the nonempty file to stderr and return 1. # Otherwise, return 0. compare_dev_null_ () { test $# = 2 || return 2 if test "x$1" = x/dev/null; then test -s "$2" || return 0 emit_diff_u_header_ "$@"; sed 's/^/+/' "$2" return 1 fi if test "x$2" = x/dev/null; then test -s "$1" || return 0 emit_diff_u_header_ "$@"; sed 's/^/-/' "$1" return 1 fi return 2 } if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \ && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then # diff accepts the -u option and does not (like AIX 7 'diff') produce an # extra space on column 1 of every content line. if test -z "$diff_out_"; then compare_ () { diff -u "$@"; } else compare_ () { if diff -u "$@" > diff.out; then # No differences were found, but Solaris 'diff' produces output # "No differences encountered". Hide this output. rm -f diff.out true else cat diff.out rm -f diff.out false fi } fi elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then if test -z "$diff_out_"; then compare_ () { diff -c "$@"; } else compare_ () { if diff -c "$@" > diff.out; then # No differences were found, but AIX and HP-UX 'diff' produce output # "No differences encountered" or "There are no differences between the # files.". Hide this output. rm -f diff.out true else cat diff.out rm -f diff.out false fi } fi elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then compare_ () { cmp -s "$@"; } else compare_ () { cmp "$@"; } fi # Usage: compare EXPECTED ACTUAL # # Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more. # Otherwise, propagate $? to caller: any diffs have already been printed. compare () { # This looks like it can be factored to use a simple "case $?" # after unchecked compare_dev_null_ invocation, but that would # fail in a "set -e" environment. if compare_dev_null_ "$@"; then return 0 else case $? in 1) return 1;; *) compare_ "$@";; esac fi } # An arbitrary prefix to help distinguish test directories. testdir_prefix_ () { printf gt; } # Run the user-overridable cleanup_ function, remove the temporary # directory and exit with the incoming value of $?. remove_tmp_ () { __st=$? cleanup_ # cd out of the directory we're about to remove cd "$initial_cwd_" || cd / || cd /tmp chmod -R u+rwx "$test_dir_" # If removal fails and exit status was to be 0, then change it to 1. rm -rf "$test_dir_" || { test $__st = 0 && __st=1; } exit $__st } # Given a directory name, DIR, if every entry in it that matches *.exe # contains only the specified bytes (see the case stmt below), then print # a space-separated list of those names and return 0. Otherwise, don't # print anything and return 1. Naming constraints apply also to DIR. find_exe_basenames_ () { feb_dir_=$1 feb_fail_=0 feb_result_= feb_sp_= for feb_file_ in $feb_dir_/*.exe; do # If there was no *.exe file, or there existed a file named "*.exe" that # was deleted between the above glob expansion and the existence test # below, just skip it. test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \ && continue # Exempt [.exe, since we can't create a function by that name, yet # we can't invoke [ by PATH search anyways due to shell builtins. test "x$feb_file_" = "x$feb_dir_/[.exe" && continue case $feb_file_ in *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;; *) # Remove leading file name components as well as the .exe suffix. feb_file_=${feb_file_##*/} feb_file_=${feb_file_%.exe} feb_result_="$feb_result_$feb_sp_$feb_file_";; esac feb_sp_=' ' done test $feb_fail_ = 0 && printf %s "$feb_result_" return $feb_fail_ } # Consider the files in directory, $1. # For each file name of the form PROG.exe, create an alias named # PROG that simply invokes PROG.exe, then return 0. If any selected # file name or the directory name, $1, contains an unexpected character, # define no alias and return 1. create_exe_shims_ () { case $EXEEXT in '') return 0 ;; .exe) ;; *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;; esac base_names_=`find_exe_basenames_ $1` \ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; } if test -n "$base_names_"; then for base_ in $base_names_; do alias "$base_"="$base_$EXEEXT" done fi return 0 } # Use this function to prepend to PATH an absolute name for each # specified, possibly-$initial_cwd_-relative, directory. path_prepend_ () { while test $# != 0; do path_dir_=$1 case $path_dir_ in '') fail_ "invalid path dir: '$1'";; /*) abs_path_dir_=$path_dir_;; *) abs_path_dir_=$initial_cwd_/$path_dir_;; esac case $abs_path_dir_ in *:*) fail_ "invalid path dir: '$abs_path_dir_'";; esac PATH="$abs_path_dir_:$PATH" # Create an alias, FOO, for each FOO.exe in this directory. create_exe_shims_ "$abs_path_dir_" \ || fail_ "something failed (above): $abs_path_dir_" shift done export PATH } setup_ () { if test "$VERBOSE" = yes; then # Test whether set -x may cause the selected shell to corrupt an # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5. # If enabling verbose output this way would cause trouble, simply # issue a warning and refrain. if $gl_set_x_corrupts_stderr_; then warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr" else set -x fi fi initial_cwd_=$PWD fail=0 pfx_=`testdir_prefix_` test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \ || fail_ "failed to create temporary directory in $initial_cwd_" cd "$test_dir_" || fail_ "failed to cd to temporary directory" # As autoconf-generated configure scripts do, ensure that IFS # is defined initially, so that saving and restoring $IFS works. gl_init_sh_nl_=' ' IFS=" "" $gl_init_sh_nl_" # This trap statement, along with a trap on 0 below, ensure that the # temporary directory, $test_dir_, is removed upon exit as well as # upon receipt of any of the listed signals. for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done } # Create a temporary directory, much like mktemp -d does. # Written by Jim Meyering. # # Usage: mktempd_ /tmp phoey.XXXXXXXXXX # # First, try to use the mktemp program. # Failing that, we'll roll our own mktemp-like function: # - try to get random bytes from /dev/urandom # - failing that, generate output from a combination of quickly-varying # sources and gzip. Ignore non-varying gzip header, and extract # "random" bits from there. # - given those bits, map to file-name bytes using tr, and try to create # the desired directory. # - make only $MAX_TRIES_ attempts # Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. rand_bytes_ () { n_=$1 # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first? # But if they have openssl, they probably have mktemp, too. chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 dev_rand_=/dev/urandom if test -r "$dev_rand_"; then # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ return fi n_plus_50_=`expr $n_ + 50` cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ while :; do len_=`echo "$data_"|wc -c` test $n_plus_50_ -le $len_ && break; data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` done echo "$data_" \ | dd bs=1 skip=50 count=$n_ 2>/dev/null \ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ } mktempd_ () { case $# in 2);; *) fail_ "Usage: mktempd_ DIR TEMPLATE";; esac destdir_=$1 template_=$2 MAX_TRIES_=4 # Disallow any trailing slash on specified destdir: # it would subvert the post-mktemp "case"-based destdir test. case $destdir_ in /) ;; */) fail_ "invalid destination dir: remove trailing slash(es)";; esac case $template_ in *XXXX) ;; *) fail_ \ "invalid template: $template_ (must have a suffix of at least 4 X's)";; esac # First, try to use mktemp. d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \ || fail=1 # The resulting name must be in the specified directory. case $d in "$destdir_"*);; *) fail=1;; esac # It must have created the directory. test -d "$d" || fail=1 # It must have 0700 permissions. Handle sticky "S" bits. perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1 case $perms in drwx------*) ;; *) fail=1;; esac test $fail = 0 && { echo "$d" return } # If we reach this point, we'll have to create a directory manually. # Get a copy of the template without its suffix of X's. base_template_=`echo "$template_"|sed 's/XX*$//'` # Calculate how many X's we've just removed. template_length_=`echo "$template_" | wc -c` nx_=`echo "$base_template_" | wc -c` nx_=`expr $template_length_ - $nx_` err_= i_=1 while :; do X_=`rand_bytes_ $nx_` candidate_dir_="$destdir_/$base_template_$X_" err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \ && { echo "$candidate_dir_"; return; } test $MAX_TRIES_ -le $i_ && break; i_=`expr $i_ + 1` done fail_ "$err_" } # If you want to override the testdir_prefix_ function, # or to add more utility functions, use this file. test -f "$srcdir/init.cfg" \ && . "$srcdir/init.cfg" setup_ "$@" # This trap is here, rather than in the setup_ function, because some # shells run the exit trap at shell function exit, rather than script exit. trap remove_tmp_ 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012677� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/parents.sh���������������������������������������������������������������0000775�0000000�0000000�00000003331�12102337341�014625� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure mkdir's -p options works properly # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir skip_if_setgid_ mkdir -m 700 e-dir || framework_failure_ # Make sure 'mkdir -p existing-dir' succeeds # and that 'mkdir existing-dir' fails. mkdir -p e-dir || fail=1 mkdir e-dir > /dev/null 2>&1 && fail=1 # Create an existing directory. umask 077 mode_str=drwxr-x-wx mode_arg=$(rwx_to_mode_ $mode_str) mkdir -m $mode_arg a || fail=1 # this 'mkdir -p ...' shouldn't change perms of existing dir 'a'. d_mode_str=drwx-w--wx d_mode_arg=$(rwx_to_mode_ $d_mode_str) mkdir -p -m $d_mode_arg a/b/c/d # Make sure the permissions of 'a' haven't been changed. p=$(ls -ld a|cut -b-10); case $p in $mode_str);; *) fail=1;; esac # 'b's and 'c's should reflect the umask p=$(ls -ld a/b|cut -b-10); case $p in drwx------);; *) fail=1;; esac p=$(ls -ld a/b/c|cut -b-10); case $p in drwx------);; *) fail=1;; esac # 'd's perms are determined by the -m argument. p=$(ls -ld a/b/c/d|cut -b-10); case $p in $d_mode_str);; *) fail=1;; esac Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/perm.sh������������������������������������������������������������������0000775�0000000�0000000�00000005043�12102337341�014116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that mkdir's '-m MODE' option works properly # with various umask settings. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir skip_if_setgid_ working_umask_or_skip_ # parent parent/dir # umask -m option resulting perm resulting perm tests=' 000 : empty : drwxrwxrwx : drwxrwxrwx : 000 : -m 016 : drwxrwxrwx : d-----xrw- : 077 : empty : drwx------ : drwx------ : 050 : empty : drwx-w-rwx : drwx-w-rwx : 050 : -m 312 : drwx-w-rwx : d-wx--x-w- : 160 : empty : drwx--xrwx : drw---xrwx : 160 : -m 743 : drwx--xrwx : drwxr---wx : 027 : -m =+x : drwxr-x--- : d--x--x--- : 027 : -m =+X : drwxr-x--- : d--x--x--- : - : - : last : last : ' colon_tests=$(echo $tests | sed 's/^ *//; s/ *: */:/g') for p in empty -p; do test _$p = _empty && p= old_IFS=$IFS IFS=':' set $colon_tests IFS=$old_IFS while :; do test "$VERBOSE" = yes && set -x umask=$1 mode=$2 parent_perms=$3 sub_perms=$4 test "_$mode" = _empty && mode= test $sub_perms = last && break # echo p=$p umask=$1 mode=$2 parent_perms=$3 sub_perms=$4 shift; shift; shift; shift umask $umask # If we're not using -p, then create the parent manually, # and adjust expectations accordingly. test x$p = x && \ { mkdir -m =,u=rwx parent || fail=1 parent_perms=drwx------ } mkdir $p $mode parent/sub || fail=1 perms=$(stat --printf %A parent) test "$parent_perms" = "$perms" \ || { fail=1; echo parent: expected $parent_perms, got $perms; } perms=$(stat --printf %A parent/sub) test "$sub_perms" = "$perms" \ || { fail=1; echo parent/sub: expected $sub_perms, got $perms; } chmod -R u+rwx parent rm -rf parent || fail=1 done done Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/p-slashdot.sh������������������������������������������������������������0000775�0000000�0000000�00000001670�12102337341�015233� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mkdir -p works with arguments specified with a trailing "/.". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkdir -p d1/. || fail=1 test -d d1 || fail=1 mkdir -p d2/.. || fail=1 test -d d2 || fail=1 Exit $fail ������������������������������������������������������������������������coreutils-8.21/tests/mkdir/t-slash.sh���������������������������������������������������������������0000775�0000000�0000000�00000001756�12102337341�014535� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mkdir works with arguments specified with and without # a trailing slash. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkdir -p dir/ || fail=1 test -d dir || fail=1 # This failed on NetBSD for fileutils-4.0.33. mkdir d2/ || fail=1 test -d d2 || fail=1 Exit $fail ������������������coreutils-8.21/tests/mkdir/p-3.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003655�12102337341�013561� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mkdir-p.c's fail-to-return-to-initial-working-directory # causes immediate failure. Also, ensure that we don't create # subsequent, relative command-line arguments in the wrong place. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir skip_if_root_ mkdir no-access || framework_failure_ mkdir no-acce2s || framework_failure_ mkdir -p no-acce3s/d || framework_failure_ p=$(pwd) (cd no-access && chmod 0 . && mkdir -p "$p/a/b" u/v) 2> /dev/null && fail=1 test -d "$p/a/b" || fail=1 # Same as above, but with a following *absolute* name, it should succeed (cd no-acce2s && chmod 0 . && mkdir -p "$p/b/b" "$p/z") || fail=1 test -d "$p/b/b" && test -d "$p/z" || fail=1 # Same as above, but a trailing relative name in an unreadable directory # whose parent is inaccessible. coreutils 5.97 fails this test. # Perform this test only if "." is on a local file system. # Otherwise, it would fail e.g., on an NFS-mounted file system. if is_local_dir_ .; then (cd no-acce3s/d && chmod a-r . && chmod a-rx .. && mkdir -p a/b "$p/b/c" d/e && test -d a/b && test -d d/e) || fail=1 test -d "$p/b/c" || fail=1 fi b=$(ls "$p/a" | tr -d '\n') # With coreutils-5.3.0, this would fail with $b=bu. test "x$b" = xb || fail=1 Exit $fail �����������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/special-1.sh�������������������������������������������������������������0000775�0000000�0000000�00000002537�12102337341�014736� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # verify that mkdir honors special bits in MODE # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir set_mode_string=u=rwx,g=rx,o=w,-s,+t output_mode_string=drwxr-x-wT tmp=t mkdir -m$set_mode_string $tmp || fail=1 test -d $tmp || fail=1 mode=$(ls -ld $tmp|cut -b-10) case "$mode" in $output_mode_string) ;; *) fail=1 ;; esac rmdir $tmp || fail=1 tmp2=$tmp/sub # This should fail. mkdir -m$set_mode_string $tmp2 2> /dev/null && fail=1 # Now test the --parents option. mkdir --parents -m$set_mode_string $tmp2 || fail=1 test -d $tmp2 || fail=1 mode=$(ls -ld $tmp2|cut -b-10) case "$mode" in $output_mode_string) ;; *) fail=1 ;; esac Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/p-thru-slink.sh����������������������������������������������������������0000775�0000000�0000000�00000001663�12102337341�015514� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mkdir -p foo/bar works when foo is a symbolic link to a directory # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir ln -s . slink || framework_failure_ mkdir -p slink/x || fail=1 test -d x || fail=1 Exit $fail �����������������������������������������������������������������������������coreutils-8.21/tests/mkdir/p-v.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002017�12102337341�013653� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test mkdir -pv. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkdir -pv foo/a/b/c/d >out || fail=1 compare - out <<\EOF mkdir: created directory 'foo' mkdir: created directory 'foo/a' mkdir: created directory 'foo/a/b' mkdir: created directory 'foo/a/b/c' mkdir: created directory 'foo/a/b/c/d' EOF Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/selinux.sh���������������������������������������������������������������0000775�0000000�0000000�00000004073�12102337341�014644� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that an invalid context doesn't cause a segfault # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkfifo mknod # Note: on an SELinux/enforcing system running mcstransd older than # mcstrans-0.2.8-1.fc9, the following commands may mistakenly exit # successfully, in spite of the invalid context string. require_selinux_enforcing_ c=invalid-selinux-context msg="failed to set default file creation context to '$c':" # Test each of mkdir, mknod, mkfifo with "-Z invalid-context". for cmd_w_arg in 'mkdir dir' 'mknod b p' 'mkfifo f'; do # In OpenBSD's /bin/sh, mknod is a shell built-in. # Running via "env" ensures we run our program and not the built-in. env -- $cmd_w_arg -Z $c 2> out && fail=1 set $cmd_w_arg; cmd=$1 echo "$cmd: $msg" > exp || fail=1 # Some systems fail with ENOTSUP, EINVAL, ENOENT, or even # "Unknown system error", or "Function not implemented". # For AIX 5.3: "Unsupported attribute value" # For HP-UX 11.23: Unknown error (252) sed \ -e 's/ Not supported$//' \ -e 's/ Invalid argument$//' \ -e 's/ Unknown system error$//' \ -e 's/ Operation not supported$//' \ -e 's/ Function not implemented$//' \ -e 's/ Unsupported attribute value$//' \ -e 's/ Unknown error .*$//' \ -e 's/ No such file or directory$//' out > k || fail=1 mv k out || fail=1 compare exp out || fail=1 done Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/p-2.sh�������������������������������������������������������������������0000775�0000000�0000000�00000001570�12102337341�013552� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Just like p-1, but with an absolute path. # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkdir --parents "$(pwd)/t/u" || fail=1 test -d t/u || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/writable-under-readonly.sh�����������������������������������������������0000775�0000000�0000000�00000003227�12102337341�017714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # FIXME: convert this to a root-only test. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Test for the 2005-10-13 patch to lib/mkdir-p.c that fixed this sort # of bug in mkdir: # # "mkdir -p /a/b/c" no longer fails merely because a leading prefix # directory (e.g., /a or /a/b) exists on a read-only file system. # # Demonstrate the problem, as root: . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir require_root_ # FIXME: for now, skip it unconditionally skip_ temporarily disabled # FIXME: define cleanup_ to do the umount # FIXME: use mktemp cd /tmp \ && dd if=/dev/zero of=1 bs=8192 count=50 \ && dd if=/dev/zero of=2 bs=8192 count=50 \ && mkdir -p mnt-ro && mkfs -t ext2 1 && mkfs -t ext2 2 \ && mount -o loop=/dev/loop3 1 mnt-ro \ && mkdir -p mnt-ro/rw \ && mount -o remount,ro mnt-ro \ && mount -o loop=/dev/loop4 2 mnt-ro/rw mkdir -p mnt-ro/rw/sub || fail=1 # To clean up umount /tmp/2 umount /tmp/1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mkdir/p-1.sh�������������������������������������������������������������������0000775�0000000�0000000�00000001533�12102337341�013550� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "mkdir -p". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir mkdir --parents "$(pwd)/t" || fail=1 test -d t || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/fmt/���������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207524�012356� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/fmt/long-line.sh���������������������������������������������������������������0000775�0000000�0000000�00000005750�12102337340�014523� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure fmt -s works even on long lines # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ fmt printf '%2030s\n' ' '|sed 's/../ y/g' > in || framework_failure_ cat <<\EOF > exp || framework_failure_ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y EOF fmt -s in > out || fail=1 compare exp out || fail=1 Exit $fail ������������������������coreutils-8.21/tests/fmt/goal-option.sh�������������������������������������������������������������0000775�0000000�0000000�00000004272�12102337340�015065� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise the fmt -g option. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ fmt cat <<\_EOF_ > base || fail=1 @command{fmt} prefers breaking lines at the end of a sentence, and tries to avoid line breaks after the first word of a sentence or before the last word of a sentence. A @dfn{sentence break} is defined as either the end of a paragraph or a word ending in any of @samp{.?!}, followed by two spaces or end of line, ignoring any intervening parentheses or quotes. Like @TeX{}, @command{fmt} reads entire ''paragraphs'' before choosing line breaks; the algorithm is a variant of that given by Donald E. Knuth and Michael F. Plass in ''Breaking Paragraphs Into Lines'', @cite{Software---Practice & Experience} @b{11}, 11 (November 1981), 1119--1184. _EOF_ fmt -g 60 -w 72 base > out || fail=1 cat <<\_EOF_ > exp @command{fmt} prefers breaking lines at the end of a sentence, and tries to avoid line breaks after the first word of a sentence or before the last word of a sentence. A @dfn{sentence break} is defined as either the end of a paragraph or a word ending in any of @samp{.?!}, followed by two spaces or end of line, ignoring any intervening parentheses or quotes. Like @TeX{}, @command{fmt} reads entire ''paragraphs'' before choosing line breaks; the algorithm is a variant of that given by Donald E. Knuth and Michael F. Plass in ''Breaking Paragraphs Into Lines'', @cite{Software---Practice & Experience} @b{11}, 11 (November 1981), 1119--1184. _EOF_ compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/fmt/base.pl��������������������������������������������������������������������0000775�0000000�0000000�00000004466�12102337340�013555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "fmt". # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my @Tests = ( ['8-bit-pfx', qw (-p 'ç'), {IN=> "ça\nçb\n"}, {OUT=>"ça b\n"}], ['wide-1', '-w 32768', {ERR => "fmt: invalid width: '32768'\n"}, {EXIT => 1}], ['wide-2', '-w 2147483647', {ERR => "fmt: invalid width: '2147483647'\n"}, {EXIT => 1}], ['bad-suffix', '-72x', {IN=> ''}, {ERR => "fmt: invalid width: '72x'\n"}, {EXIT => 1}], ['no-file', 'no-such-file', {ERR => "fmt: cannot open 'no-such-file' for reading:" . " No such file or directory\n"}, {EXIT => 1}], ['obs-1', '-c -72', {ERR => "fmt: invalid option -- 7; -WIDTH is recognized only when it" . " is the first\noption; use -w N instead\n" . "Try 'fmt --help' for more information.\n" }, {EXIT => 1}], # With --prefix=P, do not remove leading space on lines without the prefix. ['pfx-1', qw (-p '>'), {IN=> " 1\n 2\n\t3\n\t\t4\n> quoted\n> text\n"}, {OUT=> " 1\n 2\n\t3\n\t\t4\n> quoted text\n"}], # Don't remove prefix from a prefix-only line. ['pfx-only', qw (-p '>'), {IN=> ">\n"}, {OUT=> ">\n"}], # With a multi-byte prefix, say, "foo", don't empty a line that # starts with a strict prefix (e.g. "fo") of that prefix. # With fmt from coreutils-6.7, it would mistakenly output an empty line. ['pfx-of-pfx', qw (-p 'foo'), {IN=> "fo\n"}, {OUT=> "fo\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'fmt'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chown/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012707� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chown/preserve-root.sh���������������������������������������������������������0000775�0000000�0000000�00000005043�12102337340�015776� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that --preserve-root works. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chown skip_if_root_ mkdir d && ln -s / d/slink-to-root # Even if --preserve-root were to malfunction, allowing the chown or # chgrp to traverse through "/", since we're running as non-root, # they would be very unlikely to cause any changes. chown -R --preserve-root 0 / > out 2>&1 && fail=1 chgrp -R --preserve-root 0 / >> out 2>&1 && fail=1 # Here, if --preserve-root were to malfunction, chmod could make changes, # but only to files owned and unreadable by the user running this test, # and then, only to make them readable by owner. chmod -R --preserve-root u+r / >> out 2>&1 && fail=1 # With -RHh, --preserve-root should trigger nothing, # since the symlink in question is not a command line argument. # Contrary to the above commands, these two should succeed. echo '==== test -RHh' >> out chown -RHh --preserve-root $(id -u) d >> out 2>&1 || fail=1 chgrp -RHh --preserve-root $(id -g) d >> out 2>&1 || fail=1 # These must fail. echo '==== test -RLh' >> out chown -RLh --preserve-root $(id -u) d >> out 2>&1 && fail=1 chgrp -RLh --preserve-root $(id -g) d >> out 2>&1 && fail=1 cat <<\EOF > exp || fail=1 chown: it is dangerous to operate recursively on '/' chown: use --no-preserve-root to override this failsafe chgrp: it is dangerous to operate recursively on '/' chgrp: use --no-preserve-root to override this failsafe chmod: it is dangerous to operate recursively on '/' chmod: use --no-preserve-root to override this failsafe ==== test -RHh ==== test -RLh chown: it is dangerous to operate recursively on 'd/slink-to-root' (same as '/') chown: use --no-preserve-root to override this failsafe chgrp: it is dangerous to operate recursively on 'd/slink-to-root' (same as '/') chgrp: use --no-preserve-root to override this failsafe EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chown/separator.sh�������������������������������������������������������������0000775�0000000�0000000�00000003472�12102337340�015166� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure "chown USER:GROUP FILE" works, and similar tests with separators. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chown id_u=$(id -u) || framework_failure_ test -n "$id_u" || framework_failure_ id_un=$(id -un) || framework_failure_ test -n "$id_un" || framework_failure_ id_g=$(id -g) || framework_failure_ test -n "$id_g" || framework_failure_ id_gn=$(id -gn) || framework_failure_ test -n "$id_gn" || framework_failure_ # FreeBSD 6.x's getgrnam fails to look up a group name containing # a space. On such a system, skip this test if the group name contains # a byte not in the portable filename character set. case $host_triplet in *-freebsd6.*) case $id_gn in *[^a-zA-Z0-9._-]*) skip_ "invalid group name: $id_gn";; esac;; *) ;; esac chown '' . || fail=1 for u in $id_u "$id_un" ''; do for g in $id_g "$id_gn" ''; do case $u$g in *.*) seps=':' ;; *) seps=': .' ;; esac for sep in $seps; do case $u$sep$g in [0-9]*$sep) chown "$u$sep$g" . 2> /dev/null && fail=1 ;; *) chown "$u$sep$g" . || fail=1 ;; esac done done done Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chown/deref.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002331�12102337340�014244� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # For coreutils-5.2.1 and earlier, chown --dereference would skip # symlinks having owner/group matching the specified owner/group. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chown ln -s no-such dangle || framework_failure_ set _ $(ls -ldo dangle); shift; user=$3 # With 5.2.1 and earlier, this command would mistakenly succeed. chown --dereference $user dangle 2> out1 && fail=1 sed 's/: [^:]*$//' out1 > out cat <<\EOF > exp || fail=1 chown: cannot dereference 'dangle' EOF compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chown/basic.sh�����������������������������������������������������������������0000775�0000000�0000000�00000004006�12102337340�014241� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure chown --from=... works # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chown require_root_ touch f || framework_failure_ chown -R --preserve-root 0:1 f # Make sure the owner and group are 0 and 1 respectively. set _ $(ls -n f); shift; test "$3:$4" = 0:1 || fail=1 # Make sure the correct diagnostic is output # Note we output a name even though an id was specified. chown -v --from=42 43 f > out || fail=1 printf "ownership of 'f' retained as $(id -nu)\n" > exp compare exp out || fail=1 # Ensure diagnostics work for non existent files. chown -v 0 nf > out && fail=1 printf "failed to change ownership of 'nf' to 0\n" > exp compare exp out || fail=1 chown --from=0:1 2:010 f || fail=1 # And now they should be 2 and 10 respectively. set _ $(ls -n f); shift; test "$3:$4" = 2:10 || fail=1 ln -s f slink # Applying chown to a symlink with --no-dereference # should change only the link. chown --no-dereference 0:1 slink || fail=1 # owner/group on the symlink should be set set _ $(ls -n slink); shift; test "$3:$4" = 0:1 || fail=1 # owner/group on the referent should remain unchanged set _ $(ls -n f); shift; test "$3:$4" = 2:10 || fail=1 chown --no-dereference --from=0:1 2:010 slink || fail=1 # owner/group on the symlink should be changed set _ $(ls -n slink); shift; test "$3:$4" = 2:10 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207524�012662� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/umask-x.sh���������������������������������������������������������������0000775�0000000�0000000�00000001643�12102337340�014525� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test that chmod -x file reports an error if the result is executable. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod touch file chmod 755 file (umask 77 && chmod -x file) 2>/dev/null && fail=1 Exit $fail ���������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/silent.sh����������������������������������������������������������������0000775�0000000�0000000�00000002000�12102337340�014422� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that chgrp, chmod, chown -f don't print some diagnostics # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chgrp chmod chown chmod -f 0 no-such 2> out && fail=1 chgrp -f 0 no-such 2>> out && fail=1 chown -f 0:0 no-such 2>> out && fail=1 touch exp || fail=1 compare exp out || fail=1 Exit $fail coreutils-8.21/tests/chmod/thru-dangling.sh���������������������������������������������������������0000775�0000000�0000000�00000002105�12102337340�015675� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for proper error and exit code of chmod on a dangling symlink. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod ln -s non-existent dangle || framework_failure_ # This operation cannot succeed since the symbolic link dangles. chmod 644 dangle 2> out && fail=1 echo "chmod: cannot operate on dangling symlink 'dangle'" > exp compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/c-option.sh��������������������������������������������������������������0000775�0000000�0000000�00000002247�12102337340�014671� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that chmod's --changes (-c) option works. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod umask 0 file=f touch $file || framework_failure_ chmod 444 $file || framework_failure_ skip_if_setgid_ chmod u=rwx $file || fail=1 chmod -c g=rwx $file > out || fail=1 chmod -c g=rwx $file > empty || fail=1 test -s empty && fail=1 case "$(cat out)" in "mode of 'f' changed from 0744 "?rwxr--r--?" to 0774 "?rwxrwxr--?) ;; *) cat out; fail=1 ;; esac Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/no-x.sh������������������������������������������������������������������0000775�0000000�0000000�00000003721�12102337340�014020� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure chmod gives the right diagnostic for a readable, # but inaccessible directory. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod skip_if_root_ mkdir -p d/no-x/y a/b || framework_failure_ chmod u=rw d/no-x || framework_failure_ # This must exit nonzero. chmod -R o=r d >/dev/null 2>out && fail=1 prog=chmod # NOTE: this code is the same for all tests/*/no-x tests. # Depending on whether fts is using native fdopendir, we see one # of the following diagnostics (note also the /y suffix in one case): # prog: 'd/no-x': Permission denied # prog: cannot access 'd/no-x/y': Permission denied # prog: cannot read directory 'd/no-x': Permission denied # Convert either of the latter two to the first one. sed "s/^$prog: cannot access /$prog: /" out > t && mv t out sed "s/^$prog: cannot read directory /$prog: /" out > t && mv t out sed 's,d/no-x/y,d/no-x,' out > t && mv t out cat <<EOF > exp $prog: 'd/no-x': Permission denied EOF compare exp out || fail=1 cd a # This will fail with ''chmod: fts_read failed: Permission denied'' chmod a-x . b 2> /dev/null && fail=1 # chmod must exit with status 1. # Due to a bug in coreutils-5.93's fts.c, chmod would provoke # an abort (exit with status 134) on recent glibc-based systems. test $? = 1 || fail=1 Exit $fail �����������������������������������������������coreutils-8.21/tests/chmod/equals.sh����������������������������������������������������������������0000775�0000000�0000000�00000002665�12102337340�014437� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure chmod mode arguments of the form A=B work properly. # Before fileutils-4.1.2, some of them didn't. # Also, before coreutils-5.3.1, =[ugo] sometimes didn't work. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod touch f || framework_failure_ expected_u=-rwx------ expected_g=----rwx--- expected_o=-------rwx for src in u g o; do for dest in u g o; do test $dest = $src && continue chmod a=,$src=rwx,$dest=$src,$src= f || fail=1 actual_perms=$(ls -l f|cut -b-10) expected_perms=$(eval 'echo $expected_'$dest) test "$actual_perms" = "$expected_perms" || fail=1 done done umask 027 chmod a=,u=rwx,=u f || fail=1 actual_perms=$(ls -l f|cut -b-10) test "$actual_perms" = "-rwxr-x---" || fail=1 Exit $fail ���������������������������������������������������������������������������coreutils-8.21/tests/chmod/octal.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002112�12102337340�014232� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that chmod diagnoses a certain type of invalid mode string # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod # Before coreutils-5.92, this would mistakenly succeed, # and act like 'chmod 0 .'. chmod 0-followed-by-anything . 2> /dev/null && fail=1 chmod 7-followed-by-anything . 2> /dev/null && fail=1 chmod 8 . 2> /dev/null && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/usage.sh�����������������������������������������������������������������0000775�0000000�0000000�00000004344�12102337340�014245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that chmod works correctly with odd option combinations. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod # Each line in this list is a set of arguments, followed by :, # followed by the set of files it will attempt to chmod, # or empty if the usage is erroneous. # Many of these test cases are due to Glenn Fowler. # These test cases assume GNU behavior for "options" like -w. cases=' -- : -- -- : -- -- -- f : -- f -- -- -w f : -w f -- -- f : f -- -w : -- -w -- f : -- f -- -w -w f : -w f -- -w f : f -- f : -w : -w -- : -w -- -- f : -- f -w -- -w f : -w f -w -- f : f -w -w : -w -w -- f : f -w -w -w f : f -w -w f : f -w f : f f : f -- : f -w : f f f : u+gr f : ug,+x f : ' all_files=$(echo "$cases" | sed 's/.*://'|sort -u) old_IFS=$IFS IFS=' ' for case in $cases; do IFS=$old_IFS args=$(expr "$case" : ' *\(.*[^ ]\) *:') files=$(expr "$case" : '.*: *\(.*\)') case $files in '') touch -- $all_files || framework_failure_ chmod $args 2>/dev/null && fail=1 ;; ?*) touch -- $files || framework_failure_ chmod $args || fail=1 for file in $files; do # Test for misparsing args by creating all $files but $file. # chmod has a bug if it succeeds even though $file is absent. rm -f -- $all_files && touch -- $files && rm -- $file \ || framework_failure_ chmod $args 2>/dev/null && fail=1 done ;; esac done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/inaccessible.sh����������������������������������������������������������0000775�0000000�0000000�00000001634�12102337340�015564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for the bug fixed on 2006-09-20. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod mkdir -p d/e || framework_failure_ chmod 0 d/e d || framework_failure_ chmod u+rwx d d/e || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/equal-x.sh���������������������������������������������������������������0000775�0000000�0000000�00000002050�12102337340�014505� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "chmod =x" and the like. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod file=f touch $file || framework_failure_ umask 005 for mode in =x =xX =Xx =x,=X =X,=x; do chmod a=r,$mode $file || fail=1 case "$(ls -l $file)" in ---x--x---*) ;; *) fail=1; echo "after 'chmod $mode $file':"; ls -l $file ;; esac done Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/chmod/setgid.sh����������������������������������������������������������������0000775�0000000�0000000�00000003645�12102337340�014423� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure GNU chmod works the same way as those of Solaris, HPUX, AIX # on directories with the setgid bit set. Also, check that the GNU octal # notations work. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chmod umask 0 mkdir -m 755 d || framework_failure_ chmod g+s d 2> /dev/null && env -- test -g d || { # This is required because on some systems (at least NetBSD 1.4.2A), # it may happen that when you create a directory, its group isn't one # to which you belong. When that happens, the above chmod fails. So # here, upon failure, we try to set the group, then rerun the chmod command. id_g=$(id -g) && test -n "$id_g" && chgrp "$id_g" d && chmod g+s d || framework_failure_ } # "chmod g+s d" does nothing on some NFS file systems. env -- test -g d || skip_ 'cannot create setgid directories' for mode in \ + - g-s 00755 000755 =755 -2000 -7022 755 0755 \ +2000 -5022 =7777,-5022 do chmod $mode d || fail=1 case $mode in g-s | 00*755 | =755 | -2000 | -7022) expected_mode=drwxr-xr-x ;; *) expected_mode=drwxr-sr-x ;; esac ls_output=$(ls -ld d) case $ls_output in $expected_mode*) ;; *) fail=1 ;; esac chmod =2755 d || fail=1 done Exit $fail �������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012661� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/F-vs-rename.sh����������������������������������������������������������0000775�0000000�0000000�00000004366�12102337341�015224� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # demonstrate that tail -F works when renaming the tailed files # Before coreutils-8.3, tail -F a b would stop tracking additions to b # after "mv a b". # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail touch a b || framework_failure_ debug='---disable-inotify' debug= tail $debug -F -s.1 a b > out 2>&1 & pid=$! check_tail_output() { local delay="$1" grep "$tail_re" out > /dev/null || { sleep $delay; return 1; } } # Wait up to 6.3s for tail to start echo x > a tail_re='^x$' retry_delay_ check_tail_output .1 7 || fail=1 mv a b || fail=1 # Wait 6.3s for this diagnostic: # tail: 'a' has become inaccessible: No such file or directory tail_re='inaccessible' retry_delay_ check_tail_output .1 7 || fail=1 echo x > a # Wait up to 6.3s for this to appear in the output: # "tail: '...' has appeared; following end of new file" tail_re='has appeared' retry_delay_ check_tail_output .1 7 || { echo "$0: a: unexpected delay?"; cat out; fail=1; } echo y >> b # Wait up to 6.3s for "y" to appear in the output: tail_f_vs_rename_2() { local delay="$1" tr '\n' @ < out | grep '@@==> b <==@y@$' > /dev/null || { sleep $delay; return 1; } } retry_delay_ tail_f_vs_rename_2 .1 7 || { echo "$0: b: unexpected delay?"; cat out; fail=1; } echo z >> a # Wait up to 6.3s for "z" to appear in the output: tail_f_vs_rename_3() { local delay="$1" tr '\n' @ < out | grep '@@==> a <==@z@$' > /dev/null || { sleep $delay; return 1; } } retry_delay_ tail_f_vs_rename_3 .1 7 || { echo "$0: a: unexpected delay?"; cat out; fail=1; } kill -HUP $pid Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/big-4gb.sh��������������������������������������������������������������0000775�0000000�0000000�00000003216�12102337341�014350� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate a bug in 'tail -cN' when operating on files of size 4G and larger # Fixed in coreutils-4.5.2. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail expensive_ # Create a file of size exactly 4GB (2^32) with 8 bytes # at the beginning and another set of 8 bytes at the end. # The rest will be NUL bytes. On most modern systems, the following # creates a file that takes up only a few KB. Here, du -sh says 16K. echo abcdefgh | tr -d '\n' > big || framework_failure_ echo 87654321 | tr -d '\n' > tmp || framework_failure_ # Seek 4GB - 8 dd bs=1 seek=4294967288 if=tmp of=big 2> err || dd_failed=1 if test "$dd_failed" = 1; then cat err 1>&2 skip_ \ 'cannot create a file large enough for this test, possibly because this system does not support large files; Consider rerunning this test on a different file system.' fi tail -c1 big > out || fail=1 # Append a newline. echo >> out cat <<\EOF > exp 1 EOF compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/inotify-hash-abuse.sh���������������������������������������������������0000775�0000000�0000000�00000003504�12102337341�016634� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise an abort-inducing flaw in inotify-enabled tail -F. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail # 9 is a magic number, related to internal details of tail.c and hash.c n=9 seq $n | xargs touch || framework_failure_ debug='---disable-inotify' debug= tail $debug -s.1 -qF $(seq $n) > out 2>&1 & pid=$! check_tail_output() { local delay="$1" grep "$tail_re" out > /dev/null || { sleep $delay; return 1; } } # Wait up to 6.3s for tail to start echo x > $n tail_re='^x$' retry_delay_ check_tail_output .1 7 || fail=1 mv 1 f || fail=1 # Wait 6.3s for this diagnostic: # tail: '1' has become inaccessible: No such file or directory tail_re='inaccessible' retry_delay_ check_tail_output .1 7 || fail=1 # Trigger the bug. Before the fix, this would provoke the abort. echo a > 1 || fail=1 # Wait up to 2s for the buggy tail to die, # or for the "tail: '1' has appeared; following end of new file" output for i in $(seq 10); do kill -0 $pid || break grep 'has appeared;' out > /dev/null && break sleep .2 done # Kill the working tail, or fail if it has already aborted kill $pid || fail=1 cat out Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/proc-ksyms.sh�����������������������������������������������������������0000775�0000000�0000000�00000001651�12102337341�015245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Prior to textutils-2.0.17, 'tail /proc/ksyms' would segfault on Linux. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail ksyms=/proc/ksyms if test -r $ksyms; then tail $ksyms > /dev/null || fail=1 fi Exit $fail ���������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/append-only.sh����������������������������������������������������������0000775�0000000�0000000�00000002427�12102337341�015366� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that tail -f works on an append-only file # Requires root access to do chattr +a, as well as an ext[23] or xfs file system # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail require_root_ chattr_a_works=1 touch f chattr +a f 2>/dev/null || chattr_a_works=0 ( echo x > f ) 2>/dev/null && chattr_a_works=0 echo x >> f || chattr_a_works=0 if test $chattr_a_works = 0; then skip_ "chattr +a doesn't work on this file system" fi for inotify in ---disable-inotify ''; do sleep 1 & pid=$! tail --pid=$pid -f $inotify f || fail=1 done chattr -a f 2>/dev/null Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/wait.sh�����������������������������������������������������������������0000775�0000000�0000000�00000004154�12102337341�014103� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that 'tail -f' returns immediately if a file doesn't exist # while 'tail -F' waits for it to appear. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail touch here || framework_failure_ { touch unreadable && chmod a-r unreadable; } || framework_failure_ for inotify in ---disable-inotify ''; do timeout 10 tail -s0.1 -f $inotify not_here test $? = 124 && fail=1 if test ! -r unreadable; then # can't test this when root timeout 10 tail -s0.1 -f $inotify unreadable test $? = 124 && fail=1 fi timeout 1 tail -s0.1 -f $inotify here 2>tail.err test $? = 124 || fail=1 # 'tail -F' must wait in any case. timeout 1 tail -s0.1 -F $inotify here 2>>tail.err test $? = 124 || fail=1 if test ! -r unreadable; then # can't test this when root timeout 1 tail -s0.1 -F $inotify unreadable test $? = 124 || fail=1 fi timeout 1 tail -s0.1 -F $inotify not_here test $? = 124 || fail=1 grep -Ev 'inotify (resources exhausted|cannot be used)' tail.err > x mv x tail.err test -s tail.err && fail=1 :>tail.err tail_F() { local delay="$1" touch k || framework_failure_ tail -s.1 --max-unchanged-stats=2 -F $inotify k > tail.out & pid=$! sleep $delay mv k l sleep $delay touch k mv k l sleep $delay echo NO >> l sleep $delay kill $pid rm -f k l test ! -s tail.out } retry_delay_ tail_F .1 4 || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/assert.sh���������������������������������������������������������������0000775�0000000�0000000�00000003126�12102337341�014436� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for assertion failure in "test". # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This test fails with tail from textutils-2.0. # It would get something like this: # tail: tail.c:718: recheck: Assertion 'valid_file_spec (f)' failed. # Aborted # due to a race condition in which a dev/inode pair is reused. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail # Not "expensive" per se, but sleeping for so long is annoying. very_expensive_ ok='ok ok ok' touch a foo tail --follow=name a foo > err 2>&1 & tail_pid=$! # Arrange for the tail process to die after 12 seconds. (sleep 12; kill $tail_pid) & echo sleeping for 7 seconds... # Give the backgrounded 'tail' a chance to start before removing foo. # Otherwise, without --retry, tail wouldn't try to open 'foo' again. sleep 1 rm -f foo sleep 6 echo $ok > f mv f foo # echo waiting.... wait case "$(cat err)" in *$ok) ;; *) fail=1;; esac test $fail = 1 && cat err Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/pid.sh������������������������������������������������������������������0000775�0000000�0000000�00000003203�12102337341�013705� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test the --pid option of tail. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail getlimits_ touch empty here || framework_failure_ for inotify in ---disable-inotify ''; do # Use tail itself to create a background process to monitor, # which will auto exit when "here" is removed. tail -f $inotify here & bg_pid=$! # Ensure that tail --pid=PID does not exit when PID is alive. timeout 1 tail -f -s.1 --pid=$bg_pid $inotify here test $? = 124 || fail=1 # Cleanup background process kill $bg_pid # Ensure that tail --pid=PID exits with success status when PID is dead. # Use an unlikely-to-be-live PID timeout 10 tail -f -s.1 --pid=$PID_T_MAX $inotify empty ret=$? test $ret = 124 && skip_ "pid $PID_T_MAX present or tail too slow" test $ret = 0 || fail=1 # Ensure tail doesn't wait for data when PID is dead timeout 10 tail -f -s10 --pid=$PID_T_MAX $inotify empty test $? = 124 && fail=1 done Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/infloop-1.sh������������������������������������������������������������0000775�0000000�0000000�00000002505�12102337341�014741� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # This test would fail with tail from pre-1.22i textutils. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail yes > t & yes_pid=$! while :; do test -s t && break sleep .1 done tail -n 1 t & tail_pid=$! kill $yes_pid # This test is racy, and can fail under unusual circumstances. # On a very busy system, tail will fail to notice that $yes_pid is gone. # Then the following kill will succeed and cause this test to fail. # Wait for up to 3 seconds for tail to detect the death of $yes_pid. for i in $(seq 30); do kill -0 $tail_pid || break echo sleep 0.1s sleep .1 done kill $tail_pid && fail=1 || : Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/F-vs-missing.sh���������������������������������������������������������0000775�0000000�0000000�00000004157�12102337341�015424� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # demonstrate that tail -F works for currently missing dirs # Before coreutils-8.6, tail -F missing/file would not # notice any subsequent availability of the missing/file. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail debug='---disable-inotify' debug= tail $debug -F -s.1 missing/file > out 2>&1 & pid=$! check_tail_output() { local delay="$1" grep "$tail_re" out > /dev/null || { sleep $delay; return 1; } } # Wait up to 6.3s for tail to start with diagnostic: # tail: cannot open 'missing/file' for reading: No such file or directory tail_re='cannot open' retry_delay_ check_tail_output .1 7 || fail=1 mkdir missing || fail=1 (cd missing && echo x > file) # Wait up to 6.3s for this to appear in the output: # "tail: '...' has appeared; following end of new file" tail_re='has appeared' retry_delay_ check_tail_output .1 7 || { echo "$0: file: unexpected delay?"; cat out; fail=1; } kill -HUP $pid cleanup() { local delay="$1" rm -rf missing || { sleep $delay; return 1; } } # Try repeatedly to remove the temporary directory. # This is normally unnecessary, because the containing directory will # be removed by code from init.sh. However, when this particular test # is run on an NFS-mounted volume, sometimes init.sh's cleanup code # fails because the directory is not yet really empty, perhaps because # the tail process (reading missing/file) is not yet killed. retry_delay_ cleanup .1 6 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/tail-n0f.sh�������������������������������������������������������������0000775�0000000�0000000�00000003230�12102337341�014543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that 'tail -n0 -f' and 'tail -c0 -f' sleep # rather than doing what amounted to a busy-wait. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This bug was fixed for 5.0.91 # It skips the test if your system lacks a /proc/$pid/status # file, or if its contents don't look right. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail require_proc_pid_status_ touch empty || framework_failure_ echo anything > nonempty || framework_failure_ for inotify in ---disable-inotify ''; do for file in empty nonempty; do for c_or_n in c n; do tail --sleep=4 -${c_or_n} 0 -f $inotify $file & pid=$! tail_sleeping() { local delay="$1"; sleep $delay state=$(get_process_status_ $pid) case $state in S*) ;; *) return 1;; esac } # Wait up to 1.5s for tail to sleep retry_delay_ tail_sleeping .1 4 || { echo $0: process in unexpected state: $state >&2; fail=1; } kill $pid done done done Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/start-middle.sh���������������������������������������������������������0000775�0000000�0000000�00000002024�12102337341�015522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that tail works even when it's reading from a file # that is not at its beginning. Based on a report from John Roll. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail (echo 1; echo 2) > k || framework_failure_ sh -c 'read x; tail' < k > out || fail=1 cat <<EOF > exp 2 EOF compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/inotify-hash-abuse2.sh��������������������������������������������������0000775�0000000�0000000�00000002234�12102337341�016715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise an abort-inducing flaw in inotify-enabled tail -F. # Like inotify-hash-abuse, but without a hard-coded "9". # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail touch f || framework_failure_ debug='---disable-inotify -s .001' debug= tail $debug -F f & pid=$! cleanup_() { kill $pid; } for i in $(seq 200); do kill -0 $pid || break; mv f g touch f done # Kill the working tail, or fail if it has already aborted kill $pid || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/pipe-f2.sh��������������������������������������������������������������0000775�0000000�0000000�00000002306�12102337341�014376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "tail -f fifo" tails indefinitely. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail mkfifo_or_skip_ fifo echo 1 > fifo & echo 1 > exp || framework_failure_ timeout 10 tail -f fifo > out & pid=$! check_tail_output() { local n_sec="$1" test -s out || { sleep $n_sec; return 1; } } # Wait 6.3s for tail to write something. retry_delay_ check_tail_output .1 7 || fail=1 compare exp out || fail=1 # Kill the still-running tail, or fail if it's gone. kill $pid || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/inotify-race.sh���������������������������������������������������������0000775�0000000�0000000�00000005401�12102337341�015524� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that tail does not ignore data that is appended to a tailed-forever # file between tail's initial read-to-EOF, and when the inotify watches # are established in tail_forever_inotify. That data could be ignored # indefinitely if no *other* data is appended, but it would be printed as # soon as any additional appended data is detected. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail # Don't run this test by default because sometimes it's skipped as noted below. # Also gdb has a bug in Debian's gdb-6.8-3 at least that causes it to not # cleanup and exit correctly when it receives a SIGTERM, thus hanging the test. very_expensive_ touch file || framework_failure_ touch tail.out || framework_failure_ ( timeout 10s gdb --version ) > gdb.out 2>&1 case $(cat gdb.out) in *'GNU gdb'*) ;; *) skip_ "can't run gdb";; esac # See if gdb works and # tail_forever_inotify is compiled and not inlined timeout 10s gdb -nx --batch-silent \ --eval-command='break tail_forever_inotify' \ --eval-command='run -f file' \ --eval-command='quit' \ tail < /dev/null > gdb.out 2>&1 # FIXME: The above is seen to _intermittently_ fail with: # warning: .dynamic section for "/lib/libc.so.6" is not at the expected address # warning: difference appears to be caused by prelink, adjusting expectations test -s gdb.out && { cat gdb.out; skip_ "can't set breakpoints in tail"; } # Run "tail -f file", stopping to append a line just before # inotify initialization, and then continue. Before the fix, # that just-appended line would never be output. timeout 10s gdb -nx --batch-silent \ --eval-command='break tail_forever_inotify' \ --eval-command='run -f file >> tail.out' \ --eval-command="shell echo never-seen-with-tail-7.5 >> file" \ --eval-command='continue' \ --eval-command='quit' \ tail < /dev/null > /dev/null 2>&1 & pid=$! tail --pid=$pid -f tail.out | (read; kill $pid) test -s tail.out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/flush-initial.sh��������������������������������������������������������0000775�0000000�0000000�00000002261�12102337341�015704� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # inotify-based tail -f didn't flush its initial output before blocking # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail echo line > in || fail=1 # Output should be buffered since we're writing to file # so we're depending on the flush to write out tail -f in > out & tail_pid=$! # Wait for 1.5s for the file to be flushed. tail_flush() { local delay="$1" test -s out || { sleep "$delay"; return 1; } } retry_delay_ tail_flush .1 5 || fail=1 kill $tail_pid Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/pipe-f.sh���������������������������������������������������������������0000775�0000000�0000000�00000001643�12102337341�014317� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that :|tail -f doesn't hang, per POSIX # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail echo foo | timeout 10 tail -f -c3 > out || fail=1 echo oo > exp || fail=1 compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/follow-stdin.sh���������������������������������������������������������0000775�0000000�0000000�00000002144�12102337341�015555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # tail -f - would fail with the initial inotify implementation # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail echo line > exp || framework_failure_ echo line > in || framework_failure_ timeout 1 tail -f < in > out 2> err # tail from coreutils-7.5 would fail test $? = 124 || fail=1 # Ensure there was no error output. test -s err && fail=1 # Ensure there was compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/assert-2.sh�������������������������������������������������������������0000775�0000000�0000000�00000002556�12102337341�014603� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # This variant of 'assert' would get a UMR reliably in 2.0.9. # Due to a race condition in the test, the 'assert' script would get # the UMR on Solaris only some of the time, and not at all on Linux/GNU. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail # Not "expensive" per se, but sleeping for so long is annoying. very_expensive_ ok='ok ok ok' touch a tail --follow=name a foo > err 2>&1 & tail_pid=$! # Arrange for the tail process to die after 12 seconds. (sleep 12; kill $tail_pid) & echo $ok > f echo sleeping for 7 seconds... sleep 7 mv f foo # echo waiting.... wait case "$(cat err)" in *$ok) ;; *) fail=1;; esac test $fail = 1 && cat err Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/inotify-rotate.sh�������������������������������������������������������0000775�0000000�0000000�00000004300�12105625242�016110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that tail -F handles rotation # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. if test "$VERBOSE" = yes; then set -x tail --version fi . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src expensive_ # Wait several seconds for grep REGEXP FILE to succeed. # Usage: grep_timeout REGEXP FILE grep_timeout() { local j for j in $(seq 150); do grep $1 $2 > /dev/null && return 0 sleep 0.1 done return 1 } # For details, see # http://lists.gnu.org/archive/html/bug-coreutils/2009-11/msg00213.html # Perform at least this many iterations, because on multi-core systems # the offending sequence of events can be surprisingly uncommon. for i in $(seq 50); do echo $i rm -rf k x out # Normally less than a second is required here, but with heavy load # and a lot of disk activity, even 20 seconds is insufficient, which # leads to this timeout killing tail before the "ok" is written below. :>k && :>x || framework_failure_ failed to initialize files timeout 40 tail -F k > out 2>&1 & pid=$! sleep .1 echo b > k; # wait for b to appear in out grep_timeout b out || fail_ failed to find b in out while :; do grep b out > /dev/null && break; done mv x k # wait for tail to detect the rename grep_timeout tail: out || { cat out; fail_ failed to detect rename; } echo ok >> k found=0 # wait up to 10 seconds for "ok" to appear in out grep_timeout ok out && found=1 kill $pid test $found = 0 && { cat out; fail_ failed to detect echoed '"ok"'; } done wait Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/tail-2/follow-name.sh����������������������������������������������������������0000775�0000000�0000000�00000002272�12102337341�015356� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that --follow=name does not imply --retry # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tail cat <<\EOF > exp || framework_failure_ tail: cannot open 'no-such' for reading: No such file or directory tail: no files remaining EOF timeout 10 tail --follow=name no-such > out 2> err test $? = 1 || fail=1 # Remove an inconsequential inotify warning so # we can compare against the above error sed '/inotify cannot be used/d' err > k && mv k err compare exp err || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/id/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012165� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/id/gnu-zero-uids.sh������������������������������������������������������������0000775�0000000�0000000�00000001747�12102337340�015157� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # On GNU, 'id' must fail for processes with zero UIDs. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ id require_gnu_ sush - true || skip_ "the 'sush' command does not work" # Run 'id' with zero UIDs. It should exit with a non-zero status. sush - id > out && fail=1 Exit $fail �������������������������coreutils-8.21/tests/id/no-context.sh���������������������������������������������������������������0000775�0000000�0000000�00000002210�12102337340�014527� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # With POSIXLY_CORRECT, id must not print context=... # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ id # We don't need selinux *FS* support to test id, # but this is as good a witness as any, in general. require_selinux_ # Require the context=... part by default. id > out || fail=1 grep context= out || fail=1 # Require no context=... part in conforming mode. POSIXLY_CORRECT=1 id > out || fail=1 grep context= out && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/�����������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�013237� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/install-C-selinux.sh���������������������������������������������������0000775�0000000�0000000�00000003261�12102337340�017025� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "install -C" compares SELinux context. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall require_selinux_ echo test > a || framework_failure_ chcon -u system_u a || skip_ "chcon doesn't work" echo "'a' -> 'b'" > out_installed_first echo "removed 'b' 'a' -> 'b'" > out_installed_second > out_empty # destination file does not exist ginstall -Cv --preserve-context a b > out || fail=1 compare out out_installed_first || fail=1 # destination file exists ginstall -Cv --preserve-context a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but -C is not given ginstall -v --preserve-context a b > out || fail=1 compare out out_installed_second || fail=1 # destination file exists but SELinux context differs chcon -u unconfined_u a || skip_ "chcon doesn't work" ginstall -Cv --preserve-context a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv --preserve-context a b > out || fail=1 compare out out_empty || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/install-C-root.sh������������������������������������������������������0000775�0000000�0000000�00000004505�12102337340�016323� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "install -C" compares owner and group. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall require_root_ skip_if_setgid_ u1=1 u2=2 g1=1 g2=2 echo test > a || framework_failure_ echo "'a' -> 'b'" > out_installed_first echo "removed 'b' 'a' -> 'b'" > out_installed_second > out_empty # destination file does not exist ginstall -Cv -o$u1 -g$g1 a b > out || fail=1 compare out out_installed_first || fail=1 # destination file exists ginstall -Cv -o$u1 -g$g1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but -C is not given ginstall -v -o$u1 -g$g1 a b > out || fail=1 compare out out_installed_second || fail=1 # destination file exists but owner differs ginstall -Cv -o$u2 -g$g1 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -o$u2 -g$g1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but group differs ginstall -Cv -o$u2 -g$g2 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -o$u2 -g$g2 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but owner differs from getuid () ginstall -Cv -o$u2 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but group differs from getgid () ginstall -Cv -g$g2 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv a b > out || fail=1 compare out out_empty || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/install-C.sh�����������������������������������������������������������0000775�0000000�0000000�00000005607�12102337340�015346� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "install -C" works. (basic tests) # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall skip_if_setgid_ mode1=0644 mode2=0755 mode3=2755 echo test > a || framework_failure_ echo "'a' -> 'b'" > out_installed_first || framework_failure_ echo "removed 'b' 'a' -> 'b'" > out_installed_second || framework_failure_ : > out_empty || framework_failure_ # destination file does not exist ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_installed_first || fail=1 # destination file exists ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists (long option) ginstall -v --compare -m$mode1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but -C is not given ginstall -v -m$mode1 a b > out || fail=1 compare out out_installed_second || fail=1 # option -C ignored if any non-permission mode should be set ginstall -Cv -m$mode3 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode3 a b > out || fail=1 compare out out_installed_second || fail=1 # files are not regular files ln -s a c || framework_failure_ ln -s b d || framework_failure_ ginstall -Cv -m$mode1 c d > out || fail=1 echo "removed 'd' 'c' -> 'd'" > out_installed_second_cd compare out out_installed_second_cd || fail=1 # destination file exists but content differs echo test1 > a || framework_failure_ ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but content differs (same size) echo test2 > a || framework_failure_ ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode1 a b > out || fail=1 compare out out_empty || fail=1 # destination file exists but mode differs ginstall -Cv -m$mode2 a b > out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode2 a b > out || fail=1 compare out out_empty || fail=1 # options -C and --preserve-timestamps are mutually exclusive ginstall -C --preserve-timestamps a b && fail=1 # options -C and --strip are mutually exclusive ginstall -C --strip --strip-program=echo a b && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/strip-program.sh�������������������������������������������������������0000775�0000000�0000000�00000002177�12102337340�016325� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "install -s --strip-program=PROGRAM" uses the program to strip # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall working_umask_or_skip_ cat <<EOF > b || framework_failure_ #!$PREFERABLY_POSIX_SHELL sed s/b/B/ \$1 > \$1.t && mv \$1.t \$1 EOF chmod a+x b || framework_failure_ echo abc > src || fail=1 echo aBc > exp || fail=1 ginstall src dest -s --strip-program=./b || fail=1 compare exp dest || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/basic-1.sh�������������������������������������������������������������0000775�0000000�0000000�00000007100�12102337340�014725� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Basic tests for "install". # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall skip_if_root_ dir=dir file=file rm -rf $dir $file || framework_failure_ mkdir -p $dir || framework_failure_ echo foo > $file || framework_failure_ ginstall $file $dir || fail=1 # Make sure the source file still exists. test -f $file || fail=1 # Make sure the dest file has been created. test -f $dir/$file || fail=1 # Make sure strip works. dd=dd$EXEEXT dd2=dd2$EXEEXT just_built_dd=$abs_top_builddir/src/$dd test -r "$just_built_dd" \ || warn_ "WARNING!!! Your just-built dd binary, $just_built_dd is not readable, so skipping the remaining tests in this file." cp "$just_built_dd" . || fail=1 cp $dd $dd2 || fail=1 strip $dd2 \ || warn_ "WARNING!!! Your strip command doesn't seem to work, so skipping the test of install's --strip option." # This test would fail with 3.16s when using versions of strip that # don't work on read-only files (the one from binutils works fine). ginstall -s -c -m 555 $dd $dir || fail=1 # Make sure the source file is still around. test -f $dd || fail=1 # Make sure that the destination file has the requested permissions. mode=$(ls -l $dir/$dd|cut -b-10) test "$mode" = -r-xr-xr-x || fail=1 # These failed in coreutils CVS from 2004-06-25 to 2004-08-11. ginstall -d . || fail=1 ginstall -d newdir || fail=1 test -d newdir || fail=1 ginstall -d newdir1 newdir2 newdir3 || fail=1 test -d newdir1 || fail=1 test -d newdir2 || fail=1 test -d newdir3 || fail=1 # This fails because mkdir-p.c's make_dir_parents fails to return to its # initial working directory ($iwd) after creating the first argument, and # hence cannot do anything meaningful with the following relative-named dirs. iwd=$(pwd) mkdir sub || fail=1 (cd sub && chmod 0 . && ginstall -d "$iwd/xx/yy" rel/sub1 rel/sub2 2> /dev/null ) && fail=1 chmod 755 sub # Ensure that the first argument-dir has been created. test -d xx/yy || fail=1 # Make sure that the 'rel' directory was not created... test -d sub/rel && fail=1 # and make sure it was not created in the wrong place. test -d xx/rel && fail=1 # Test that we can install from an unreadable directory with an # inaccessible parent. coreutils 5.97 fails this test. # Perform this test only if "." is on a local file system. # Otherwise, it would fail e.g., on an NFS-mounted file system. if is_local_dir_ .; then mkdir -p sub1/d || fail=1 (cd sub1/d && chmod a-r . && chmod a-rx .. && ginstall -d "$iwd/xx/zz" rel/a rel/b) || fail=1 chmod 755 sub1 sub1/d || fail=1 test -d xx/zz || fail=1 test -d sub1/d/rel/a || fail=1 test -d sub1/d/rel/b || fail=1 fi touch file || fail=1 ginstall -Dv file sub3/a/b/c/file >out 2>&1 || fail=1 compare - out <<\EOF || fail=1 ginstall: creating directory 'sub3' ginstall: creating directory 'sub3/a' ginstall: creating directory 'sub3/a/b' ginstall: creating directory 'sub3/a/b/c' 'file' -> 'sub3/a/b/c/file' EOF Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/create-leading.sh������������������������������������������������������0000775�0000000�0000000�00000002201�12102337340�016347� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Test -D option. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Note that the tests below use 'ginstall', not install, because # that's the name of the binary in ../../src. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall file=file echo foo > $file # Before 4.0q, this would mistakenly create $file, not 'dest' # in no-dir1/no-dir2/. ginstall -D $file no-dir1/no-dir2/dest || fail=1 test -d no-dir1/no-dir2 || fail=1 test -r no-dir1/no-dir2/dest || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/trap.sh����������������������������������������������������������������0000775�0000000�0000000�00000002323�12102337340�014456� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that 'install -s' doesn't infloop when its parent # process traps CHLD signal. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ginstall # Use a subshell and an exec to work around a bug in FreeBSD 5.0 /bin/sh. ( # ash doesn't support "trap '' CHLD"; it knows only signal numbers. sig=$("$abs_top_builddir/src/kill" -l CHLD 2>/dev/null) && trap '' $sig # Before 2004-04-21, install would infloop, in the 'while (wait...' loop: exec ginstall -s "$abs_top_builddir/src/ginstall$EXEEXT" . ) Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/install/d-slashdot.sh����������������������������������������������������������0000775�0000000�0000000�00000001703�12102337340�015553� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that ginstall -d works with arguments specified with a trailing "/.". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ install ginstall -d d1/. || fail=1 test -d d1 || fail=1 ginstall -d d2/.. || fail=1 test -d d2 || fail=1 Exit $fail �������������������������������������������������������������coreutils-8.21/tests/CuSkip.pm����������������������������������������������������������������������0000664�0000000�0000000�00000002270�12102337340�013240� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������package CuSkip; # Skip a test: emit diag to log and to stderr, and exit 77 # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use warnings; our $ME = $0 || "<???>"; # Emit a diagnostic both to stderr and to $stderr_fileno_. # FIXME: don't hard-code that value (9), since it's already defined in init.cfg. sub skip ($) { my ($msg) = @_; my $stderr_fileno_ = 9; warn $msg; open FH, ">&$stderr_fileno_" or warn "$ME: failed to dup stderr\n"; print FH $msg; close FH or warn "$ME: failed to close FD $stderr_fileno_\n"; exit 77; } 1; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ln/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012202� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ln/relative.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002147�12102337340�014272� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "ln --relative". # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln mkdir -p usr/bin || framework_failure_ mkdir -p usr/lib/foo || framework_failure_ touch usr/lib/foo/foo || framework_failure_ ln -sr usr/lib/foo/foo usr/bin/foo test $(readlink usr/bin/foo) = '../lib/foo/foo' || fail=1 ln -sr usr/bin/foo usr/lib/foo/link-to-foo test $(readlink usr/lib/foo/link-to-foo) = 'foo' || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ln/hard-backup.sh��������������������������������������������������������������0000775�0000000�0000000�00000001744�12102337340�014642� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that 'ln --backup F F' gives a proper diagnostic. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln touch f || framework_failure_ ln --backup f f 2> out && fail=1 cat <<\EOF > exp || fail=1 ln: 'f' and 'f' are the same file EOF compare exp out || fail=1 Exit $fail ����������������������������coreutils-8.21/tests/ln/target-1.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002135�12102337340�014100� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "ln --target-dir" with one file. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Before coreutils-4.5.3, --target-dir didn't work with one file. # It would create the desired link, but would fail with a diagnosis like this: # ln: 'd/.': cannot overwrite directory # Based on a test case from Dmitry V. Levin. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln mkdir d || framework_failure_ ln -s --target-dir=d ../f || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ln/sf-1.sh���������������������������������������������������������������������0000775�0000000�0000000�00000001703�12102337340�013222� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test "ln -sf". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln echo foo > a || framework_failure_ ln -s . b || framework_failure_ ln -sf a b > err 2>&1 && fail=1 case $(cat err) in *'are the same file') ;; *) fail=1 ;; esac Exit $fail �������������������������������������������������������������coreutils-8.21/tests/ln/hard-to-sym.sh��������������������������������������������������������������0000775�0000000�0000000�00000004650�12104776321�014634� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Tests for ln -L/-P. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln # =================================================== # ensure -s silently overrides -L, -P touch a || framework_failure_ ln -L -s a symlink1 || fail=1 ln -P -s symlink1 symlink2 || fail=1 ln -s -L -P symlink2 symlink3 || fail=1 # =================================================== # ensure that -L follows symlinks, and overrides -P ln -P -L symlink3 hard-to-a || fail=1 ls=$(ls -lG hard-to-a)x case "$ls" in *'hard-to-ax') ;; *'hard-to-a -> '*x) fail=1 ;; *) framework_failure_ ;; esac # =================================================== # ensure that -P links (or at least duplicates) symlinks, and overrides -L ln -L -P symlink3 hard-to-3 || fail=1 ls=$(ls -lG hard-to-3)x case "$ls" in *'hard-to-3 -> symlink2x') ;; *'hard-to-3x') fail=1 ;; *'hard-to-3 -> '*x) fail=1 ;; *) framework_failure_ ;; esac # =================================================== # Create a hard link to a dangling symlink. ln -s /no-such-dir || framework_failure_ ln -L no-such-dir hard-to-dangle 2>err && fail=1 case $(cat err) in *" failed to access 'no-such-dir'":*) ;; *) fail=1 ;; esac ln -P no-such-dir hard-to-dangle || fail=1 # =================================================== # Create a hard link to a symlink to a directory. mkdir d || framework_failure_ ln -s d link-to-dir || framework_failure_ ln -L link-to-dir hard-to-dir-link 2>err && fail=1 case $(cat err) in *": 'link-to-dir': hard link not allowed for directory"*) ;; *) fail=1 ;; esac ln -P link-to-dir/ hard-to-dir-link 2>err && fail=1 case $(cat err) in *": 'link-to-dir/': hard link not allowed for directory"*) ;; *) fail=1 ;; esac ln -P link-to-dir hard-to-dir-link || fail=1 Exit $fail ����������������������������������������������������������������������������������������coreutils-8.21/tests/ln/backup-1.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002031�12102337340�014052� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Try to create a symlink with backup where the destination file exists # and the backup file name is a hard link to the destination file. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Based on a problem report from Jamie Lokier. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln touch a b || framework_failure_ ln b b~ || fail=1 ln -f --b=simple a b || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/ln/slash-decorated-nonexistent-dest.sh�����������������������������������������0000775�0000000�0000000�00000001755�12102337340�021036� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that touch f; ln -T f no-such-file/ does not mistakenly succeed # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln touch f || framework_failure_ # Before coreutils-7.6, this would succeed on Solaris 10 ln -T f no-such-file/ && fail=1 test -e no-such-file && fail=1 Exit $fail �������������������coreutils-8.21/tests/ln/misc.sh���������������������������������������������������������������������0000775�0000000�0000000�00000007317�12102337340�013416� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Miscellaneous tests for "ln". # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ln t=tln-symlink d=tln-subdir ld=tln-symlink-to-subdir f=tln-file # Create a simple symlink with both source and destination files # in current directory. touch $f || framework_failure_ rm -f $t || framework_failure_ ln -s $f $t || fail=1 test -f $t || fail=1 rm $t $f # Create a symlink with source file and explicit destination directory/file. touch $f || framework_failure_ rm -rf $d || framework_failure_ mkdir $d || framework_failure_ ln -s ../$f $d/$t || fail=1 test -f $d/$t || fail=1 rm -rf $d $f # Create a symlink with source file and destination directory. touch $f || framework_failure_ rm -rf $d || framework_failure_ mkdir $d || framework_failure_ ln -s ../$f $d || fail=1 test -f $d/$f || fail=1 rm -rf $d $f # See whether a trailing slash is followed too far. touch $f || framework_failure_ rm -rf $d || framework_failure_ mkdir $d $d/$f || framework_failure_ ln $f $d/ 2> /dev/null && fail=1 ln -s $f $d/ 2> /dev/null && fail=1 rm -rf $d $f # Make sure we get a failure with existing dest without -f option touch $t || framework_failure_ # FIXME: don't ignore the error message but rather test # it to make sure it's the right one. ln -s $t $t 2> /dev/null && fail=1 rm $t # Make sure -sf fails when src and dest are the same touch $t || framework_failure_ ln -sf $t $t 2> /dev/null && fail=1 rm $t # Create a symlink with source file and no explicit directory rm -rf $d || framework_failure_ mkdir $d || framework_failure_ touch $d/$f || framework_failure_ ln -s $d/$f || fail=1 test -f $f || fail=1 rm -rf $d $f # Create a symlink with source file and destination symlink-to-directory. rm -rf $d $f $ld || framework_failure_ touch $f || framework_failure_ mkdir $d || framework_failure_ ln -s $d $ld ln -s ../$f $ld || fail=1 test -f $d/$f || fail=1 rm -rf $d $f $ld # Create a symlink with source file and destination symlink-to-directory. # BUT use the new --no-dereference option. rm -rf $d $f $ld || framework_failure_ touch $f || framework_failure_ mkdir $d || framework_failure_ ln -s $d $ld af=$(pwd)/$f ln --no-dereference -fs "$af" $ld || fail=1 test -f $ld || fail=1 rm -rf $d $f $ld # Try to create a symlink with backup where the destination file exists # and the backup file name is a hard link to the destination file. touch a b || framework_failure_ ln b b~ || framework_failure_ ln -f --b=simple a b || fail=1 # =================================================== # Make sure ln can make simple backups. # This was fixed in 4.0.34. Broken in 4.0r. for cmd in ln cp mv ginstall; do rm -rf a x a.orig touch a x || framework_failure_ $cmd --backup=simple --suffix=.orig x a || fail=1 test -f a.orig || fail=1 done # =================================================== # With coreutils-5.2.1, this would mistakenly access argv[1][-1]. # I'm including it here, in case some day programs like valgrind detect that. # Purify probably would have done so. ln foo '' 2> /dev/null # =================================================== Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012162� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/df-P.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002436�12102337340�013226� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that df -P is not affected by BLOCK_SIZE settings # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df df -P . > t1 || fail=1 BLOCK_SIZE=1M df -P . > t2 || fail=1 # Since disk utilization may be changing, compare only df's header line. # That records the block size. E.g., for "1M", it would be: # Filesystem 1048576-blocks Used Available Capacity Mounted on # while for 1K, it would be # Filesystem 1024-blocks Used Available Capacity Mounted on head -n1 t1 > exp || fail=1 head -n1 t2 > out || fail=1 compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/no-mtab-status.sh�����������������������������������������������������������0000775�0000000�0000000�00000004415�12102337340�015315� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test df's behaviour when the mount list cannot be read. # This test is skipped on systems that lack LD_PRELOAD support; that's fine. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df df || skip_ "df fails" # Simulate "mtab" failure. cat > k.c <<'EOF' || framework_failure_ #include <stdio.h> #include <errno.h> #include <mntent.h> struct mntent *getmntent (FILE *fp) { /* Prove that LD_PRELOAD works. */ static int done = 0; if (!done) { fclose (fopen ("x", "w")); ++done; } /* Now simulate the failure. */ errno = ENOENT; return NULL; } EOF # Then compile/link it: $CC -shared -fPIC -ldl -O2 k.c -o k.so \ || skip_ "getmntent hack does not work on this platform" # Test if LD_PRELOAD works: LD_PRELOAD=./k.so df test -f x || skip_ "internal test failure: maybe LD_PRELOAD doesn't work?" # These tests are supposed to succeed: LD_PRELOAD=./k.so df '.' || fail=1 LD_PRELOAD=./k.so df -i '.' || fail=1 LD_PRELOAD=./k.so df -T '.' || fail=1 LD_PRELOAD=./k.so df -Ti '.' || fail=1 LD_PRELOAD=./k.so df --total '.' || fail=1 # These tests are supposed to fail: LD_PRELOAD=./k.so df && fail=1 LD_PRELOAD=./k.so df -i && fail=1 LD_PRELOAD=./k.so df -T && fail=1 LD_PRELOAD=./k.so df -Ti && fail=1 LD_PRELOAD=./k.so df --total && fail=1 LD_PRELOAD=./k.so df -a && fail=1 LD_PRELOAD=./k.so df -a '.' && fail=1 LD_PRELOAD=./k.so df -l && fail=1 LD_PRELOAD=./k.so df -l '.' && fail=1 LD_PRELOAD=./k.so df -t hello && fail=1 LD_PRELOAD=./k.so df -t hello '.' && fail=1 LD_PRELOAD=./k.so df -x hello && fail=1 LD_PRELOAD=./k.so df -x hello '.' && fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/total-verify.sh�������������������������������������������������������������0000775�0000000�0000000�00000004221�12102337340�015057� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "df --total" computes accurate totals # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df require_perl_ df || skip_ "df fails" cat <<\EOF > check-df || framework_failure_ my ($total, $used, $avail) = (0, 0, 0); while (<>) { $. == 1 and next; # skip first (header) line # Recognize df output lines like these: # /dev/sdc1 0 0 0 - /c # tmpfs 1536000 12965 1523035 1% /tmp # total 5285932 787409 4498523 15% - /^(.*?) +(-?\d+|-) +(-?\d+|-) +(-?\d+|-) +(?:-|[0-9]+%) (.*)$/ or die "$0: invalid input line\n: $_"; if ($1 eq 'total' && $5 eq '-') { $total == $2 or die "$total != $2"; $used == $3 or die "$used != $3"; $avail == $4 or die "$avail != $4"; my $line = <>; defined $line and die "$0: extra line(s) after totals\n"; exit 0; } $total += $2 unless $2 eq '-'; $used += $3 unless $3 eq '-'; $avail += $4 unless $4 eq '-'; } die "$0: missing line of totals\n"; EOF # Use --block-size=512 to keep df from printing rounded-to-kilobyte # numbers which wouldn't necessarily add up to the displayed total. df --total -P --block-size=512 > space || framework_failure_ cat space # this helps when debugging any test failure df --total -i -P > inode || framework_failure_ cat inode $PERL check-df space || fail=1 $PERL check-df inode || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/total-unprocessed.sh��������������������������������������������������������0000775�0000000�0000000�00000002677�12102337340�016122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that df exits non-Zero and writes an error message when # --total is used but no file system has been processed. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df require_mount_list_ cat <<\EOF > exp || framework_failure_ df: no file systems processed EOF # The following simply finds no match for the combination # of the options --local and FS-type nfs together with the # argument ".". It must exit non-Zero nonetheless. df --local -t nfs --total '.' 2>out && fail=1 compare exp out || fail=1 cat <<\EOF > exp || framework_failure_ df: '_does_not_exist_': No such file or directory EOF # Ensure that df writes the error message also in the following case. df --total _does_not_exist_ 2>out && fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������coreutils-8.21/tests/df/problematic-chars.sh��������������������������������������������������������0000775�0000000�0000000�00000002515�12102337340�016035� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that df outputs one line per entry # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df require_root_ mnt='mount point' cwd=$(pwd) cleanup_() { cd /; umount "$cwd/$mnt"; } skip=0 # Create a file system, then mount it. dd if=/dev/zero of=blob bs=8192 count=200 > /dev/null 2>&1 \ || skip=1 mkdir "$mnt" || skip=1 mkfs -t ext2 -F blob \ || skip_ "failed to create ext2 file system" mount -oloop blob "$mnt" || skip=1 test $skip = 1 \ && skip_ "insufficient mount/ext2 support" test $(df "$mnt" | wc -l) = 2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/unreadable.sh���������������������������������������������������������������0000775�0000000�0000000�00000001637�12102337340�014544� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that df can handle an unreadable argument # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df skip_if_root_ touch unreadable || fail=1 chmod a-r unreadable || fail=1 df unreadable || fail=1 Exit $fail �������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/skip-duplicates.sh����������������������������������������������������������0000775�0000000�0000000�00000005217�12102337340�015541� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test df's behavior when the mount list contains duplicate entries. # This test is skipped on systems that lack LD_PRELOAD support; that's fine. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df df || skip_ "df fails" # Simulate an mtab file with two entries of the same device number. cat > k.c <<'EOF' || framework_failure_ #include <stdio.h> #include <mntent.h> struct mntent *getmntent (FILE *fp) { /* Prove that LD_PRELOAD works. */ static int done = 0; if (!done) { fclose (fopen ("x", "w")); ++done; } static struct mntent mntent; while (done++ < 4) { /* File system - Mounted on fsname / /fsname /root /fsname / */ mntent.mnt_fsname = (done == 2) ? "fsname" : "/fsname"; mntent.mnt_dir = (done == 3) ? "/root" : "/"; mntent.mnt_type = "-"; return &mntent; } return NULL; } EOF # Then compile/link it: gcc --std=gnu99 -shared -fPIC -ldl -O2 k.c -o k.so \ || skip_ "getmntent hack does not work on this platform" # Test if LD_PRELOAD works: LD_PRELOAD=./k.so df test -f x || skip_ "internal test failure: maybe LD_PRELOAD doesn't work?" # The fake mtab file should only contain 2 entries, both # having the same device number; thus the output should # consist of a header and one entry. LD_PRELOAD=./k.so df >out || fail=1 test $(wc -l <out) -eq 2 || { fail=1; cat out; } # df should also prefer "/fsname" over "fsname" test $(grep -c '/fsname' <out) -eq 1 || { fail=1; cat out; } # ... and "/fsname" with '/' as Mounted on over '/root' test $(grep -c '/root' <out) -eq 0 || { fail=1; cat out; } # Ensure that filtering duplicates does not affect -a processing. LD_PRELOAD=./k.so df -a >out || fail=1 test $(wc -l <out) -eq 4 || { fail=1; cat out; } # Ensure that filtering duplicates does not affect # argument processing (now without the fake getmntent()). df '.' '.' >out || fail=1 test $(wc -l <out) -eq 3 || { fail=1; cat out; } Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/skip-rootfs.sh��������������������������������������������������������������0000775�0000000�0000000�00000003315�12104043357�014721� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test df's behavior for skipping the pseudo "rootfs" file system. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df df || skip_ "df fails" # Verify that rootfs is in mtab (and shown when the -a option is specified). df -a >out || fail=1 grep '^rootfs' out || skip_ "no rootfs in mtab" # Ensure that rootfs is suppressed when no options is specified. df >out || fail=1 grep '^rootfs' out && { fail=1; cat out; } # Ensure that rootfs is yet skipped when explicitly specifying "-t rootfs". # As df emits "no file systems processed" in this case, it would be a failure # if df exited with status Zero. df -t rootfs >out && fail=1 grep '^rootfs' out && { fail=1; cat out; } # Ensure that the rootfs is shown when explicitly both specifying "-t rootfs" # and the -a option. df -t rootfs -a >out || fail=1 grep '^rootfs' out || { fail=1; cat out; } # Ensure that the rootfs is omitted in all_fs mode when it is explicitly # black-listed. df -a -x rootfs >out || fail=1 grep '^rootfs' out && { fail=1; cat out; } Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/header.sh�������������������������������������������������������������������0000775�0000000�0000000�00000001536�12102337340�013670� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "df ." outputs a header. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df case $(df .) in *' '*) ;; *) fail=1;; esac Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/df/df-output.sh����������������������������������������������������������������0000664�0000000�0000000�00000007040�12102337340�014360� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise df's --output option. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ df # Ensure that --output is mutually exclusive with -i, -P, and -T. # Ensure that this limitation is not depending on the order of options. cat <<\EOF > exp || framework_failure_ df: options OPT and --output are mutually exclusive Try 'df --help' for more information. EOF df -i --output '.' 2>out && fail=1 sed 's/ -i / OPT /' out > out2 compare exp out2 || fail=1 df --output -i '.' 2>out && fail=1 sed 's/ -i / OPT /' out > out2 compare exp out2 || fail=1 df -P --output '.' 2>out && fail=1 sed 's/ -P / OPT /' out > out2 compare exp out2 || fail=1 df --output -P '.' 2>out && fail=1 sed 's/ -P / OPT /' out > out2 compare exp out2 || fail=1 df -T --output '.' 2>out && fail=1 sed 's/ -T / OPT /' out > out2 compare exp out2 || fail=1 df --output -T '.' 2>out && fail=1 sed 's/ -T / OPT /' out > out2 compare exp out2 || fail=1 # Ensure that each field is only used once for the --output argument. cat <<\EOF > exp || framework_failure_ df: option --output: field 'target' used more than once Try 'df --help' for more information. EOF df --output=target,source,target '.' 2>out && fail=1 compare exp out || fail=1 # Ensure that this limitation also works for splitted --output options. df --out=target,source --out=target '.' 2>out && fail=1 compare exp out || fail=1 # Ensure that the full output includes all fields, and # that --o (without argument) is identical to the full list. cat <<\EOF > exp || framework_failure_ Filesystem Type Inodes IUsed IFree IUse% Size Used Avail Use% Mounted on EOF df -h --o=source,fstype,itotal,iused,iavail,ipcent \ --o=size,used,avail,pcent,target '.' >out || fail=1 sed -e '1 { s/ [ ]*/ /g q }' out > out2 compare exp out2 || fail=1 df -h --output '.' >out || fail=1 sed -e '1 { s/ [ ]*/ /g q }' out > out2 compare exp out2 || fail=1 # Ensure that --output indicates the block size # when not using --human-readable cat <<\EOF > exp || framework_failure_ 1K-blocks EOF df -B1K --output=size '.' >out || fail=1 sed -e '1 { s/ // q }' out > out2 compare exp out2 || fail=1 # Ensure that the grand total line now contains a "-" in the TARGET field ... cat <<\EOF > exp || framework_failure_ - EOF df --output=source,target --total '.' >out || fail=1 sed -n -e '3 { s/^total[ ]*// p q }' out > out2 compare exp out2 || fail=1 # ... but it should read "total" if there is no SOURCE field. cat <<\EOF > exp || framework_failure_ total EOF df --output=target --total '.' >out || fail=1 sed -n -e '3 { p q }' out > out2 compare exp out2 || fail=1 # Ensure that --output is mentioned in the usage. df --help > out || fail=1 grep ' --output' out >/dev/null || { fail=1; cat out; } Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/local.mk�����������������������������������������������������������������������0000664�0000000�0000000�00000061042�12106144064�013134� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Process this file with automake to produce Makefile.in -*-Makefile-*-. ## Copyright (C) 2007-2013 Free Software Foundation, Inc. ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## You should have received a copy of the GNU General Public License ## along with this program. If not, see <http://www.gnu.org/licenses/>. # Indirections required so that we'll still be able to know the # complete list of our tests even if the user overrides TESTS # from the command line (as permitted by the test harness API). TESTS = $(all_tests) $(factor_tests) root_tests = $(all_root_tests) EXTRA_DIST += $(all_tests) TEST_EXTENSIONS = .sh .pl .xpl if HAVE_PERL TESTSUITE_PERL = $(PERL) else TESTSUITE_PERL = $(SHELL) $(srcdir)/no-perl endif # Options passed to the perl invocations running the perl test scripts. TESTSUITE_PERL_OPTIONS = -w -I$(srcdir)/tests -MCoreutils -MCuSkip # '$f' is set by the Automake-generated test harness to the path of the # current test script stripped of VPATH components, and is used by the # CuTmpdir module to determine the name of the temporary files to be # used. Note that $f is a shell variable, not a make macro, so the use # of '$$f' below is correct, and not a typo. TESTSUITE_PERL_OPTIONS += -M"CuTmpdir qw($$f)" SH_LOG_COMPILER = $(SHELL) PL_LOG_COMPILER = $(TESTSUITE_PERL) $(TESTSUITE_PERL_OPTIONS) # Perl scripts that must be run in tainted mode. XPL_LOG_COMPILER = $(TESTSUITE_PERL) -T $(TESTSUITE_PERL_OPTIONS) # We don't want this to go in the top-level directory. TEST_SUITE_LOG = tests/test-suite.log # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. # The rest are envvar settings that propagate build-related Makefile # variables to test scripts. TESTS_ENVIRONMENT = \ . $(srcdir)/tests/lang-default; \ tmp__=$${TMPDIR-/tmp}; \ test -d "$$tmp__" && test -w "$$tmp__" || tmp__=.; \ . $(srcdir)/tests/envvar-check; \ TMPDIR=$$tmp__; export TMPDIR; \ export \ VERSION='$(VERSION)' \ LOCALE_FR='$(LOCALE_FR)' \ LOCALE_FR_UTF8='$(LOCALE_FR_UTF8)' \ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ built_programs='$(built_programs)' \ host_os=$(host_os) \ host_triplet='$(host_triplet)' \ srcdir='$(srcdir)' \ top_srcdir='$(top_srcdir)' \ CONFIG_HEADER='$(abs_top_builddir)/$(CONFIG_INCLUDE)' \ CU_TEST_NAME=`basename '$(abs_srcdir)'`,`echo $$tst|sed 's,^\./,,;s,/,-,g'` \ CC='$(CC)' \ AWK='$(AWK)' \ EGREP='$(EGREP)' \ EXEEXT='$(EXEEXT)' \ MAKE=$(MAKE) \ PACKAGE_BUGREPORT='$(PACKAGE_BUGREPORT)' \ PACKAGE_VERSION=$(PACKAGE_VERSION) \ PERL='$(PERL)' \ PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \ ; test -d /usr/xpg4/bin && PATH='/usr/xpg4/bin$(PATH_SEPARATOR)'"$$PATH"; \ PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \ ; 9>&2 # On failure, display the global testsuite log on stdout. VERBOSE = yes EXTRA_DIST += \ init.cfg \ tests/Coreutils.pm \ tests/CuSkip.pm \ tests/CuTmpdir.pm \ tests/d_type-check \ tests/envvar-check \ tests/factor/run.sh \ tests/factor/create-test.sh \ tests/filefrag-extent-compare \ tests/fiemap-capable \ tests/init.sh \ tests/lang-default \ tests/no-perl \ tests/other-fs-tmpdir \ tests/sample-test \ $(pr_data) all_root_tests = \ tests/chown/basic.sh \ tests/cp/cp-a-selinux.sh \ tests/cp/preserve-gid.sh \ tests/cp/special-bits.sh \ tests/cp/cp-mv-enotsup-xattr.sh \ tests/cp/capability.sh \ tests/cp/sparse-fiemap.sh \ tests/dd/skip-seek-past-dev.sh \ tests/df/problematic-chars.sh \ tests/du/bind-mount-dir-cycle.sh \ tests/install/install-C-root.sh \ tests/ls/capability.sh \ tests/ls/nameless-uid.sh \ tests/misc/chcon.sh \ tests/misc/chroot-credentials.sh \ tests/misc/id-setgid.sh \ tests/misc/selinux.sh \ tests/misc/truncate-owned-by-other.sh \ tests/mkdir/writable-under-readonly.sh \ tests/mv/sticky-to-xpart.sh \ tests/rm/fail-2eperm.sh \ tests/rm/no-give-up.sh \ tests/rm/one-file-system.sh \ tests/rm/read-only.sh \ tests/tail-2/append-only.sh \ tests/touch/now-owned-by-other.sh ALL_RECURSIVE_TARGETS += check-root .PHONY: check-root check-root: $(MAKE) check TESTS='$(root_tests)' SUBDIRS=. # Do not choose a name that is a shell keyword like 'if', or a # commonly-used utility like 'cat' or 'test', as the name of a test. # Otherwise, VPATH builds will fail on hosts like Solaris, since they # will expand 'if test ...' to 'if .../test ...', and the '.../test' # will execute the test script rather than the standard utility. # Notes on the ordering of these tests: # Place early in the list tests of the tools that # are most commonly used in test scripts themselves. # E.g., nearly every test script uses rm and chmod. # help-version comes early because it's a basic sanity test. # Put seq early, since lots of other tests use it. # Put tests that sleep early, but not all together, so in parallel builds # they share time with tests that burn CPU, not with others that sleep. # Put head-elide-tail early, because it's long-running. all_tests = \ tests/misc/help-version.sh \ tests/tail-2/inotify-race.sh \ tests/misc/invalid-opt.pl \ tests/rm/ext3-perf.sh \ tests/rm/cycle.sh \ tests/cp/link-heap.sh \ tests/misc/tty-eof.pl \ tests/tail-2/inotify-hash-abuse.sh \ tests/tail-2/inotify-hash-abuse2.sh \ tests/tail-2/F-vs-missing.sh \ tests/tail-2/F-vs-rename.sh \ tests/tail-2/inotify-rotate.sh \ tests/chmod/no-x.sh \ tests/chgrp/basic.sh \ tests/rm/dangling-symlink.sh \ tests/misc/ls-time.sh \ tests/rm/d-1.sh \ tests/rm/d-2.sh \ tests/rm/d-3.sh \ tests/rm/deep-1.sh \ tests/rm/deep-2.sh \ tests/rm/dir-no-w.sh \ tests/rm/dir-nonrecur.sh \ tests/rm/dot-rel.sh \ tests/rm/isatty.sh \ tests/rm/empty-inacc.sh \ tests/rm/empty-name.pl \ tests/rm/f-1.sh \ tests/rm/fail-eacces.sh \ tests/rm/fail-eperm.xpl \ tests/tail-2/assert.sh \ tests/rm/hash.sh \ tests/rm/i-1.sh \ tests/rm/i-never.sh \ tests/rm/i-no-r.sh \ tests/tail-2/infloop-1.sh \ tests/rm/ignorable.sh \ tests/rm/inaccessible.sh \ tests/rm/interactive-always.sh \ tests/rm/interactive-once.sh \ tests/rm/ir-1.sh \ tests/rm/one-file-system2.sh \ tests/rm/r-1.sh \ tests/rm/r-2.sh \ tests/rm/r-3.sh \ tests/rm/r-4.sh \ tests/rm/readdir-bug.sh \ tests/rm/rm1.sh \ tests/touch/empty-file.sh \ tests/rm/rm2.sh \ tests/rm/rm3.sh \ tests/rm/rm4.sh \ tests/rm/rm5.sh \ tests/rm/sunos-1.sh \ tests/rm/unread2.sh \ tests/rm/unread3.sh \ tests/rm/unreadable.pl \ tests/rm/v-slash.sh \ tests/rm/many-dir-entries-vs-OOM.sh \ tests/chgrp/default-no-deref.sh \ tests/chgrp/deref.sh \ tests/chgrp/no-x.sh \ tests/chgrp/posix-H.sh \ tests/chgrp/recurse.sh \ tests/fmt/base.pl \ tests/fmt/long-line.sh \ tests/fmt/goal-option.sh \ tests/misc/env.sh \ tests/misc/ptx.pl \ tests/misc/test.pl \ tests/misc/seq.pl \ tests/misc/seq-long-double.sh \ tests/misc/head.pl \ tests/misc/head-elide-tail.pl \ tests/tail-2/tail-n0f.sh \ tests/misc/ls-misc.pl \ tests/misc/date.pl \ tests/misc/date-next-dow.pl \ tests/misc/ptx-overrun.sh \ tests/misc/xstrtol.pl \ tests/tail-2/pid.sh \ tests/misc/od.pl \ tests/misc/od-float.sh \ tests/misc/mktemp.pl \ tests/misc/arch.sh \ tests/misc/join.pl \ tests/pr/pr-tests.pl \ tests/misc/pwd-option.sh \ tests/misc/chcon-fail.sh \ tests/misc/cut.pl \ tests/misc/cut-huge-to-eol-range.sh \ tests/misc/wc.pl \ tests/misc/wc-files0-from.pl \ tests/misc/wc-files0.sh \ tests/misc/wc-parallel.sh \ tests/misc/cat-proc.sh \ tests/misc/cat-buf.sh \ tests/misc/base64.pl \ tests/misc/basename.pl \ tests/misc/close-stdout.sh \ tests/misc/chroot-fail.sh \ tests/misc/comm.pl \ tests/misc/csplit.sh \ tests/misc/csplit-1000.sh \ tests/misc/csplit-heap.sh \ tests/misc/date-sec.sh \ tests/misc/dircolors.pl \ tests/misc/dirname.pl \ tests/misc/env-null.sh \ tests/misc/expand.pl \ tests/misc/expr.pl \ tests/misc/factor.pl \ tests/misc/false-status.sh \ tests/misc/fold.pl \ tests/misc/groups-dash.sh \ tests/misc/groups-version.sh \ tests/misc/head-c.sh \ tests/misc/head-pos.sh \ tests/misc/id-context.sh \ tests/misc/id-groups.sh \ tests/misc/id-setgid.sh \ tests/misc/md5sum.pl \ tests/misc/md5sum-bsd.sh \ tests/misc/md5sum-newline.pl \ tests/misc/md5sum-parallel.sh \ tests/misc/mknod.sh \ tests/misc/nice.sh \ tests/misc/nice-fail.sh \ tests/misc/nl.sh \ tests/misc/nohup.sh \ tests/misc/nproc-avail.sh \ tests/misc/nproc-positive.sh \ tests/misc/numfmt.pl \ tests/misc/od-N.sh \ tests/misc/od-multiple-t.sh \ tests/misc/od-x8.sh \ tests/misc/paste.pl \ tests/misc/pathchk1.sh \ tests/misc/printenv.sh \ tests/misc/printf.sh \ tests/misc/printf-cov.pl \ tests/misc/printf-hex.sh \ tests/misc/printf-surprise.sh \ tests/misc/pwd-long.sh \ tests/misc/readlink-fp-loop.sh \ tests/misc/readlink-root.sh \ tests/misc/realpath.sh \ tests/misc/runcon-no-reorder.sh \ tests/misc/sha1sum.pl \ tests/misc/sha1sum-vec.pl \ tests/misc/sha224sum.pl \ tests/misc/sha256sum.pl \ tests/misc/sha384sum.pl \ tests/misc/sha512sum.pl \ tests/misc/shred-exact.sh \ tests/misc/shred-passes.sh \ tests/misc/shred-remove.sh \ tests/misc/shuf.sh \ tests/misc/sort.pl \ tests/misc/sort-benchmark-random.sh \ tests/misc/sort-compress.sh \ tests/misc/sort-compress-hang.sh \ tests/misc/sort-compress-proc.sh \ tests/misc/sort-continue.sh \ tests/misc/sort-debug-keys.sh \ tests/misc/sort-debug-warn.sh \ tests/misc/sort-discrim.sh \ tests/misc/sort-files0-from.pl \ tests/misc/sort-float.sh \ tests/misc/sort-merge.pl \ tests/misc/sort-merge-fdlimit.sh \ tests/misc/sort-month.sh \ tests/misc/sort-exit-early.sh \ tests/misc/sort-rand.sh \ tests/misc/sort-spinlock-abuse.sh \ tests/misc/sort-stale-thread-mem.sh \ tests/misc/sort-unique.sh \ tests/misc/sort-unique-segv.sh \ tests/misc/sort-version.sh \ tests/misc/sort-NaN-infloop.sh \ tests/misc/sort-u-FMR.sh \ tests/split/filter.sh \ tests/split/suffix-auto-length.sh \ tests/split/suffix-length.sh \ tests/split/additional-suffix.sh \ tests/split/b-chunk.sh \ tests/split/fail.sh \ tests/split/lines.sh \ tests/split/l-chunk.sh \ tests/split/r-chunk.sh \ tests/split/numeric.sh \ tests/split/guard-input.sh \ tests/misc/stat-birthtime.sh \ tests/misc/stat-fmt.sh \ tests/misc/stat-hyphen.sh \ tests/misc/stat-mount.sh \ tests/misc/stat-nanoseconds.sh \ tests/misc/stat-printf.pl \ tests/misc/stat-slash.sh \ tests/misc/stdbuf.sh \ tests/misc/stty.sh \ tests/misc/stty-invalid.sh \ tests/misc/stty-pairs.sh \ tests/misc/stty-row-col.sh \ tests/misc/sum.pl \ tests/misc/sum-sysv.sh \ tests/misc/tac.pl \ tests/misc/tac-continue.sh \ tests/misc/tac-2-nonseekable.sh \ tests/misc/tail.pl \ tests/misc/tee.sh \ tests/misc/tee-dash.sh \ tests/misc/test-diag.pl \ tests/misc/timeout.sh \ tests/misc/timeout-blocked.pl \ tests/misc/timeout-group.sh \ tests/misc/timeout-parameters.sh \ tests/misc/tr.pl \ tests/misc/tr-case-class.sh \ tests/misc/truncate-dangling-symlink.sh \ tests/misc/truncate-dir-fail.sh \ tests/misc/truncate-fail-diag.sh \ tests/misc/truncate-fifo.sh \ tests/misc/truncate-no-create-missing.sh \ tests/misc/truncate-overflow.sh \ tests/misc/truncate-parameters.sh \ tests/misc/truncate-relative.sh \ tests/misc/tsort.pl \ tests/misc/unexpand.pl \ tests/misc/uniq.pl \ tests/misc/uniq-perf.sh \ tests/misc/xattr.sh \ tests/tail-2/wait.sh \ tests/chmod/c-option.sh \ tests/chmod/equal-x.sh \ tests/chmod/equals.sh \ tests/chmod/inaccessible.sh \ tests/chmod/octal.sh \ tests/chmod/setgid.sh \ tests/chmod/silent.sh \ tests/chmod/thru-dangling.sh \ tests/chmod/umask-x.sh \ tests/chmod/usage.sh \ tests/chown/deref.sh \ tests/chown/preserve-root.sh \ tests/chown/separator.sh \ tests/cp/abuse.sh \ tests/cp/acl.sh \ tests/cp/attr-existing.sh \ tests/cp/backup-1.sh \ tests/cp/backup-dir.sh \ tests/cp/backup-is-src.sh \ tests/cp/cp-HL.sh \ tests/cp/cp-deref.sh \ tests/cp/cp-i.sh \ tests/cp/cp-mv-backup.sh \ tests/cp/cp-parents.sh \ tests/cp/deref-slink.sh \ tests/cp/dir-rm-dest.sh \ tests/cp/dir-slash.sh \ tests/cp/dir-vs-file.sh \ tests/cp/existing-perm-dir.sh \ tests/cp/existing-perm-race.sh \ tests/cp/fail-perm.sh \ tests/cp/fiemap-empty.sh \ tests/cp/fiemap-FMR.sh \ tests/cp/fiemap-perf.sh \ tests/cp/fiemap-2.sh \ tests/cp/file-perm-race.sh \ tests/cp/into-self.sh \ tests/cp/link.sh \ tests/cp/link-no-deref.sh \ tests/cp/link-preserve.sh \ tests/cp/link-symlink.sh \ tests/cp/nfs-removal-race.sh \ tests/cp/no-deref-link1.sh \ tests/cp/no-deref-link2.sh \ tests/cp/no-deref-link3.sh \ tests/cp/parent-perm.sh \ tests/cp/parent-perm-race.sh \ tests/cp/perm.sh \ tests/cp/preserve-2.sh \ tests/cp/preserve-link.sh \ tests/cp/preserve-mode.sh \ tests/cp/preserve-slink-time.sh \ tests/cp/proc-short-read.sh \ tests/cp/proc-zero-len.sh \ tests/cp/r-vs-symlink.sh \ tests/cp/reflink-auto.sh \ tests/cp/reflink-perm.sh \ tests/cp/same-file.sh \ tests/cp/slink-2-slink.sh \ tests/cp/sparse.sh \ tests/cp/sparse-to-pipe.sh \ tests/cp/special-f.sh \ tests/cp/src-base-dot.sh \ tests/cp/symlink-slash.sh \ tests/cp/thru-dangling.sh \ tests/df/header.sh \ tests/df/df-P.sh \ tests/df/df-output.sh \ tests/df/unreadable.sh \ tests/df/total-unprocessed.sh \ tests/df/no-mtab-status.sh \ tests/df/skip-duplicates.sh \ tests/df/skip-rootfs.sh \ tests/dd/direct.sh \ tests/dd/misc.sh \ tests/dd/nocache.sh \ tests/dd/not-rewound.sh \ tests/dd/reblock.sh \ tests/dd/skip-seek.pl \ tests/dd/skip-seek2.sh \ tests/dd/bytes.sh \ tests/dd/skip-seek-past-file.sh \ tests/dd/sparse.sh \ tests/dd/stderr.sh \ tests/dd/unblock.pl \ tests/dd/unblock-sync.sh \ tests/df/total-verify.sh \ tests/du/2g.sh \ tests/du/8gb.sh \ tests/du/basic.sh \ tests/du/bigtime.sh \ tests/du/deref.sh \ tests/du/deref-args.sh \ tests/du/exclude.sh \ tests/du/fd-leak.sh \ tests/du/files0-from.pl \ tests/du/files0-from-dir.sh \ tests/du/hard-link.sh \ tests/du/inacc-dest.sh \ tests/du/inacc-dir.sh \ tests/du/inaccessible-cwd.sh \ tests/du/long-from-unreadable.sh \ tests/du/long-sloop.sh \ tests/du/max-depth.sh \ tests/du/move-dir-while-traversing.sh \ tests/du/no-deref.sh \ tests/du/no-x.sh \ tests/du/one-file-system.sh \ tests/du/restore-wd.sh \ tests/du/slash.sh \ tests/du/threshold.sh \ tests/du/trailing-slash.sh \ tests/du/two-args.sh \ tests/id/gnu-zero-uids.sh \ tests/id/no-context.sh \ tests/install/basic-1.sh \ tests/install/create-leading.sh \ tests/install/d-slashdot.sh \ tests/install/install-C.sh \ tests/install/install-C-selinux.sh \ tests/install/strip-program.sh \ tests/install/trap.sh \ tests/ln/backup-1.sh \ tests/ln/hard-backup.sh \ tests/ln/hard-to-sym.sh \ tests/ln/misc.sh \ tests/ln/relative.sh \ tests/ln/sf-1.sh \ tests/ln/slash-decorated-nonexistent-dest.sh \ tests/ln/target-1.sh \ tests/ls/abmon-align.sh \ tests/ls/block-size.sh \ tests/ls/color-clear-to-eol.sh \ tests/ls/color-dtype-dir.sh \ tests/ls/color-norm.sh \ tests/ls/dangle.sh \ tests/ls/dired.sh \ tests/ls/file-type.sh \ tests/ls/follow-slink.sh \ tests/ls/getxattr-speedup.sh \ tests/ls/infloop.sh \ tests/ls/inode.sh \ tests/ls/m-option.sh \ tests/ls/multihardlink.sh \ tests/ls/no-arg.sh \ tests/ls/no-cap.sh \ tests/ls/proc-selinux-segfault.sh \ tests/ls/readdir-mountpoint-inode.sh \ tests/ls/recursive.sh \ tests/ls/root-rel-symlink-color.sh \ tests/ls/rt-1.sh \ tests/ls/slink-acl.sh \ tests/ls/stat-dtype.sh \ tests/ls/stat-failed.sh \ tests/ls/stat-free-color.sh \ tests/ls/stat-free-symlinks.sh \ tests/ls/stat-vs-dirent.sh \ tests/ls/symlink-slash.sh \ tests/ls/time-style-diag.sh \ tests/ls/x-option.sh \ tests/mkdir/p-1.sh \ tests/mkdir/p-2.sh \ tests/mkdir/p-3.sh \ tests/mkdir/p-slashdot.sh \ tests/mkdir/p-thru-slink.sh \ tests/mkdir/p-v.sh \ tests/mkdir/parents.sh \ tests/mkdir/perm.sh \ tests/mkdir/selinux.sh \ tests/mkdir/special-1.sh \ tests/mkdir/t-slash.sh \ tests/mv/acl.sh \ tests/mv/atomic.sh \ tests/mv/atomic2.sh \ tests/mv/backup-dir.sh \ tests/mv/backup-is-src.sh \ tests/mv/childproof.sh \ tests/mv/diag.sh \ tests/mv/dir-file.sh \ tests/mv/dir2dir.sh \ tests/mv/dup-source.sh \ tests/mv/force.sh \ tests/mv/hard-2.sh \ tests/mv/hard-3.sh \ tests/mv/hard-4.sh \ tests/mv/hard-link-1.sh \ tests/mv/hard-verbose.sh \ tests/mv/i-1.pl \ tests/mv/i-2.sh \ tests/mv/i-3.sh \ tests/mv/i-4.sh \ tests/mv/i-5.sh \ tests/mv/i-link-no.sh \ tests/mv/into-self.sh \ tests/mv/into-self-2.sh \ tests/mv/into-self-3.sh \ tests/mv/into-self-4.sh \ tests/mv/leak-fd.sh \ tests/mv/mv-n.sh \ tests/mv/mv-special-1.sh \ tests/mv/no-target-dir.sh \ tests/mv/part-fail.sh \ tests/mv/part-hardlink.sh \ tests/mv/part-rename.sh \ tests/mv/part-symlink.sh \ tests/mv/partition-perm.sh \ tests/mv/perm-1.sh \ tests/mv/symlink-onto-hardlink.sh \ tests/mv/symlink-onto-hardlink-to-self.sh \ tests/mv/to-symlink.sh \ tests/mv/trailing-slash.sh \ tests/mv/update.sh \ tests/readlink/can-e.sh \ tests/readlink/can-f.sh \ tests/readlink/can-m.sh \ tests/readlink/multi.sh \ tests/readlink/rl-1.sh \ tests/rmdir/fail-perm.sh \ tests/rmdir/ignore.sh \ tests/rmdir/t-slash.sh \ tests/tail-2/assert-2.sh \ tests/tail-2/big-4gb.sh \ tests/tail-2/flush-initial.sh \ tests/tail-2/follow-name.sh \ tests/tail-2/follow-stdin.sh \ tests/tail-2/pipe-f.sh \ tests/tail-2/pipe-f2.sh \ tests/tail-2/proc-ksyms.sh \ tests/tail-2/start-middle.sh \ tests/touch/60-seconds.sh \ tests/touch/dangling-symlink.sh \ tests/touch/dir-1.sh \ tests/touch/fail-diag.sh \ tests/touch/fifo.sh \ tests/touch/no-create-missing.sh \ tests/touch/no-dereference.sh \ tests/touch/no-rights.sh \ tests/touch/not-owner.sh \ tests/touch/obsolescent.sh \ tests/touch/read-only.sh \ tests/touch/relative.sh \ tests/touch/trailing-slash.sh \ $(all_root_tests) # See tests/factor/create-test.sh. tf = tests/factor factor_tests = \ $(tf)/t00.sh $(tf)/t01.sh $(tf)/t02.sh $(tf)/t03.sh $(tf)/t04.sh \ $(tf)/t05.sh $(tf)/t06.sh $(tf)/t07.sh $(tf)/t08.sh $(tf)/t09.sh \ $(tf)/t10.sh $(tf)/t11.sh $(tf)/t12.sh $(tf)/t13.sh $(tf)/t14.sh \ $(tf)/t15.sh $(tf)/t16.sh $(tf)/t17.sh $(tf)/t18.sh $(tf)/t19.sh \ $(tf)/t20.sh $(tf)/t21.sh $(tf)/t22.sh $(tf)/t23.sh $(tf)/t24.sh \ $(tf)/t25.sh $(tf)/t26.sh $(tf)/t27.sh $(tf)/t28.sh $(tf)/t29.sh \ $(tf)/t30.sh $(tf)/t31.sh $(tf)/t32.sh $(tf)/t33.sh $(tf)/t34.sh \ $(tf)/t35.sh $(tf)/t36.sh $(factor_tests): $(tf)/run.sh $(tf)/create-test.sh $(AM_V_GEN)$(MKDIR_P) $(tf) $(AM_V_at)$(SHELL) $(srcdir)/$(tf)/create-test.sh $@ \ $(srcdir)/$(tf)/run.sh > $@-t $(AM_V_at)chmod a+x $@-t $(AM_V_at)mv $@-t $@ CLEANFILES += $(factor_tests) pr_data = \ tests/pr/0F \ tests/pr/0FF \ tests/pr/0FFnt \ tests/pr/0FFt \ tests/pr/0FnFnt \ tests/pr/0FnFt \ tests/pr/0Fnt \ tests/pr/0Ft \ tests/pr/2-S_f-t_notab \ tests/pr/2-Sf-t_notab \ tests/pr/2f-t_notab \ tests/pr/2s_f-t_notab \ tests/pr/2s_w60f-t_nota \ tests/pr/2sf-t_notab \ tests/pr/2sw60f-t_notab \ tests/pr/2w60f-t_notab \ tests/pr/3-0F \ tests/pr/3-5l24f-t \ tests/pr/3-FF \ tests/pr/3a2l17-FF \ tests/pr/3a3f-0F \ tests/pr/3a3l15-t \ tests/pr/3a3l15f-t \ tests/pr/3b2l17-FF \ tests/pr/3b3f-0F \ tests/pr/3b3f-0FF \ tests/pr/3b3f-FF \ tests/pr/3b3l15-t \ tests/pr/3b3l15f-t \ tests/pr/3f-0F \ tests/pr/3f-FF \ tests/pr/3l24-t \ tests/pr/3l24f-t \ tests/pr/3ml24-FF \ tests/pr/3ml24-t \ tests/pr/3ml24-t-FF \ tests/pr/3ml24f-t \ tests/pr/4-7l24-FF \ tests/pr/4l24-FF \ tests/pr/FF \ tests/pr/FFn \ tests/pr/FFtn \ tests/pr/FnFn \ tests/pr/Ja3l24f-lm \ tests/pr/Jb3l24f-lm \ tests/pr/Jml24f-lm-lo \ tests/pr/W-72l24f-ll \ tests/pr/W20l24f-ll \ tests/pr/W26l24f-ll \ tests/pr/W27l24f-ll \ tests/pr/W28l24f-ll \ tests/pr/W35Ja3l24f-lm \ tests/pr/W35Jb3l24f-lm \ tests/pr/W35Jml24f-lmlo \ tests/pr/W35a3l24f-lm \ tests/pr/W35b3l24f-lm \ tests/pr/W35ml24f-lm-lo \ tests/pr/W72Jl24f-ll \ tests/pr/a2l15-FF \ tests/pr/a2l17-FF \ tests/pr/a3-0F \ tests/pr/a3f-0F \ tests/pr/a3f-0FF \ tests/pr/a3f-FF \ tests/pr/a3l15-t \ tests/pr/a3l15f-t \ tests/pr/a3l24f-lm \ tests/pr/b2l15-FF \ tests/pr/b2l17-FF \ tests/pr/b3-0F \ tests/pr/b3f-0F \ tests/pr/b3f-0FF \ tests/pr/b3f-FF \ tests/pr/b3l15-t \ tests/pr/b3l15f-t \ tests/pr/b3l24f-lm \ tests/pr/l24-FF \ tests/pr/l24-t \ tests/pr/l24f-t \ tests/pr/loli \ tests/pr/ml20-FF-t \ tests/pr/ml24-FF \ tests/pr/ml24-t \ tests/pr/ml24-t-FF \ tests/pr/ml24f-0F \ tests/pr/ml24f-lm-lo \ tests/pr/ml24f-t \ tests/pr/ml24f-t-0F \ tests/pr/n+2-5l24f-0FF \ tests/pr/n+2l24f-0FF \ tests/pr/n+2l24f-bl \ tests/pr/n+3-7l24-FF \ tests/pr/n+3l24f-0FF \ tests/pr/n+3l24f-bl \ tests/pr/n+3ml20f-bl-FF \ tests/pr/n+3ml24f-bl-tn \ tests/pr/n+3ml24f-tn-bl \ tests/pr/n+4-8a2l17-FF \ tests/pr/n+4b2l17f-0FF \ tests/pr/n+5-8b3l17f-FF \ tests/pr/n+5a3l13f-0FF \ tests/pr/n+6a2l17-FF \ tests/pr/n+6b3l13f-FF \ tests/pr/n+7l24-FF \ tests/pr/n+8l20-FF \ tests/pr/nJml24f-lmlmlo \ tests/pr/nJml24f-lmlolm \ tests/pr/nN1+3l24f-bl \ tests/pr/nN15l24f-bl \ tests/pr/nSml20-bl-FF \ tests/pr/nSml20-t-t-FF \ tests/pr/nSml20-t-tFFFF \ tests/pr/nSml24-bl-FF \ tests/pr/nSml24-t-t-FF \ tests/pr/nSml24-t-tFFFF \ tests/pr/nl24f-bl \ tests/pr/o3Jml24f-lm-lo \ tests/pr/o3a3Sl24f-tn \ tests/pr/o3a3Snl24f-tn \ tests/pr/o3a3l24f-tn \ tests/pr/o3b3Sl24f-tn \ tests/pr/o3b3Snl24f-tn \ tests/pr/o3b3l24f-tn \ tests/pr/o3mSl24f-bl-tn \ tests/pr/o3mSnl24fbltn \ tests/pr/o3ml24f-bl-tn \ tests/pr/t-0FF \ tests/pr/t-FF \ tests/pr/t-bl \ tests/pr/t-t \ tests/pr/tFFn \ tests/pr/tFFt \ tests/pr/tFFt-bl \ tests/pr/tFFt-ll \ tests/pr/tFFt-lm \ tests/pr/tFnFt \ tests/pr/t_notab \ tests/pr/t_tab \ tests/pr/t_tab_ \ tests/pr/ta3-0FF \ tests/pr/ta3-FF \ tests/pr/tb3-0FF \ tests/pr/tb3-FF \ tests/pr/tn \ tests/pr/tn2e5o3-t_tab \ tests/pr/tn2e8-t_tab \ tests/pr/tn2e8o3-t_tab \ tests/pr/tn_2e8-t_tab \ tests/pr/tn_2e8S-t_tab \ tests/pr/tne8-t_tab \ tests/pr/tne8o3-t_tab \ tests/pr/tt-0FF \ tests/pr/tt-FF \ tests/pr/tt-bl \ tests/pr/tt-t \ tests/pr/tta3-0FF \ tests/pr/tta3-FF \ tests/pr/ttb3-0FF \ tests/pr/ttb3-FF \ tests/pr/w72l24f-ll $(TEST_LOGS): $(PROGRAMS) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/Coreutils.pm�������������������������������������������������������������������0000664�0000000�0000000�00000046043�12102337340�014021� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������package Coreutils; # This is a testing framework. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use vars qw($VERSION @ISA @EXPORT); use FileHandle; use File::Compare qw(compare); @ISA = qw(Exporter); ($VERSION = '$Revision: 1.5 $ ') =~ tr/[0-9].//cd; @EXPORT = qw (run_tests triple_test getlimits); my $debug = $ENV{DEBUG}; my @Types = qw (IN IN_PIPE OUT ERR AUX CMP EXIT PRE POST OUT_SUBST ERR_SUBST ENV ENV_DEL); my %Types = map {$_ => 1} @Types; my %Zero_one_type = map {$_ => 1} qw (OUT ERR EXIT PRE POST OUT_SUBST ERR_SUBST ENV); my $srcdir = "$ENV{srcdir}"; my $Global_count = 1; # When running in a DJGPP environment, make $ENV{SHELL} point to bash. # Otherwise, a bad shell might be used (e.g. command.com) and many # tests would fail. defined $ENV{DJDIR} and $ENV{SHELL} = "$ENV{DJDIR}/bin/bash.exe"; # A file spec: a scalar or a reference to a single-keyed hash # ================ # 'contents' contents only (file name is derived from test name) # {filename => 'contents'} filename and contents # {filename => undef} filename only -- $(srcdir)/tests/filename must exist # # FIXME: If there is more than one input file, then you can't specify 'REDIR'. # PIPE is still ok. # # I/O spec: a hash ref with the following properties # ================ # - one key/value pair # - the key must be one of these strings: IN, OUT, ERR, AUX, CMP, EXIT # - the value must be a file spec # {OUT => 'data'} put data in a temp file and compare it to stdout from cmd # {OUT => {'filename'=>undef}} compare contents of existing filename to # stdout from cmd # {OUT => {'filename'=>[$CTOR, $DTOR]}} $CTOR and $DTOR are references to # functions, each which is passed the single argument 'filename'. # $CTOR must create 'filename'. # DTOR may be omitted in which case 'sub{unlink @_[0]}' is used. # FIXME: implement this # {ERR => ...} # Same as for OUT, but compare with stderr, not stdout. # {OUT_SUBST => 's/variable_output/expected_output/'} # Transform actual standard output before comparing it against expected. # This is useful e.g. for programs like du that produce output that # varies a lot from system. E.g., an empty file may consume zero file # blocks, or more, depending on the OS and on the file system type. # {ERR_SUBST => 's/variable_output/expected_output/'} # Transform actual stderr output before comparing it against expected. # This is useful when verifying that we get a meaningful diagnostic. # For example, in rm/fail-2eperm, we have to account for three different # diagnostics: Operation not permitted, Not owner, and Permission denied. # {EXIT => N} expect exit status of cmd to be N # {ENV => 'VAR=val ...'} # Prepend 'VAR=val ...' to the command that we execute via 'system'. # {ENV_DEL => 'VAR'} # Remove VAR from the environment just before running the corresponding # command, and restore any value just afterwards. # # There may be many input file specs. File names from the input specs # are concatenated in order on the command line. # There may be at most one of the OUT-, ERR-, and EXIT-keyed specs. # If the OUT-(or ERR)-keyed hash ref is omitted, then expect no output # on stdout (or stderr). # If the EXIT-keyed one is omitted, then expect the exit status to be zero. # FIXME: Make sure that no junkfile is also listed as a # non-junkfile (i.e. with undef for contents) sub _shell_quote ($) { my ($string) = @_; $string =~ s/\'/\'\\\'\'/g; return "'$string'"; } sub _create_file ($$$$) { my ($program_name, $test_name, $file_name, $data) = @_; my $file; if (defined $file_name) { $file = $file_name; } else { $file = "$test_name.$Global_count"; ++$Global_count; } warn "creating file '$file' with contents '$data'\n" if $debug; # The test spec gave a string. # Write it to a temp file and return tempfile name. my $fh = new FileHandle "> $file"; die "$program_name: $file: $!\n" if ! $fh; print $fh $data; $fh->close || die "$program_name: $file: $!\n"; return $file; } sub _compare_files ($$$$$) { my ($program_name, $test_name, $in_or_out, $actual, $expected) = @_; my $differ = compare ($actual, $expected); if ($differ) { my $info = (defined $in_or_out ? "std$in_or_out " : ''); warn "$program_name: test $test_name: ${info}mismatch, comparing " . "$expected (expected) and $actual (actual)\n"; # Ignore any failure, discard stderr. system "diff -c $expected $actual 2>/dev/null"; } return $differ; } sub _process_file_spec ($$$$$) { my ($program_name, $test_name, $file_spec, $type, $junk_files) = @_; my ($file_name, $contents); if (!ref $file_spec) { ($file_name, $contents) = (undef, $file_spec); } elsif (ref $file_spec eq 'HASH') { my $n = keys %$file_spec; die "$program_name: $test_name: $type spec has $n elements --" . " expected 1\n" if $n != 1; ($file_name, $contents) = each %$file_spec; # This happens for the AUX hash in an io_spec like this: # {CMP=> ['zy123utsrqponmlkji', {'@AUX@'=> undef}]}, defined $contents or return $file_name; } else { die "$program_name: $test_name: invalid RHS in $type-spec\n" } my $is_junk_file = (! defined $file_name || (($type eq 'IN' || $type eq 'AUX' || $type eq 'CMP') && defined $contents)); my $file = _create_file ($program_name, $test_name, $file_name, $contents); if ($is_junk_file) { push @$junk_files, $file } else { # FIXME: put $srcdir in here somewhere warn "$program_name: $test_name: specified file '$file' does" . " not exist\n" if ! -f "$srcdir/tests/$file"; } return $file; } sub _at_replace ($$) { my ($map, $s) = @_; foreach my $eo (qw (AUX OUT ERR)) { my $f = $map->{$eo}; $f and $s =~ /\@$eo\@/ and $s =~ s/\@$eo\@/$f/g; } return $s; } sub getlimits() { my $NV; open $NV, "getlimits |" or die "Error running getlimits\n"; my %limits = map {split /=|\n/} <$NV>; return \%limits; } # FIXME: cleanup on interrupt # FIXME: extract 'do_1_test' function # FIXME: having to include $program_name here is an expedient kludge. # Library code doesn't 'die'. sub run_tests ($$$$$) { my ($program_name, $prog, $t_spec, $save_temps, $verbose) = @_; # To indicate that $prog is a shell built-in, you'd make it a string 'ref'. # E.g., call run_tests ($prog, \$prog, \@Tests, $save_temps, $verbose); # If it's a ref, invoke it via "env": my @prog = ref $prog ? (qw(env --), $$prog) : $prog; # Warn about empty t_spec. # FIXME # Remove all temp files upon interrupt. # FIXME # Verify that test names are distinct. my $bad_test_name = 0; my %seen; my %seen_8dot3; my $t; foreach $t (@$t_spec) { my $test_name = $t->[0]; if ($seen{$test_name}) { warn "$program_name: $test_name: duplicate test name\n"; $bad_test_name = 1; } $seen{$test_name} = 1; if (0) { my $t8 = lc substr $test_name, 0, 8; if ($seen_8dot3{$t8}) { warn "$program_name: 8.3 test name conflict: " . "$test_name, $seen_8dot3{$t8}\n"; $bad_test_name = 1; } $seen_8dot3{$t8} = $test_name; } # The test name may be no longer than 30 bytes. # Yes, this is an arbitrary limit. If it causes trouble, # consider removing it. my $max = 30; if ($max < length $test_name) { warn "$program_name: $test_name: test name is too long (> $max)\n"; $bad_test_name = 1; } } return 1 if $bad_test_name; # FIXME check exit status system (@prog, '--version') if $verbose; my @junk_files; my $fail = 0; foreach my $tt (@$t_spec) { my @post_compare; my @dummy = @$tt; my $t = \@dummy; my $test_name = shift @$t; my $expect = {}; my ($pre, $post); # FIXME: maybe don't reset this. $Global_count = 1; my @args; my $io_spec; my %seen_type; my @env_delete; my $env_prefix = ''; my $input_pipe_cmd; foreach $io_spec (@$t) { if (!ref $io_spec) { push @args, $io_spec; next; } if (ref $io_spec ne 'HASH') { eval 'use Data::Dumper'; die "$program_name: $test_name: invalid entry in test spec; " . "expected HASH-ref,\nbut got this:\n" . Data::Dumper->Dump ([\$io_spec], ['$io_spec']) . "\n"; } my $n = keys %$io_spec; die "$program_name: $test_name: spec has $n elements --" . " expected 1\n" if $n != 1; my ($type, $val) = each %$io_spec; die "$program_name: $test_name: invalid key '$type' in test spec\n" if ! $Types{$type}; # Make sure there's no more than one of OUT, ERR, EXIT, etc. die "$program_name: $test_name: more than one $type spec\n" if $Zero_one_type{$type} and $seen_type{$type}++; if ($type eq 'PRE' or $type eq 'POST') { $expect->{$type} = $val; next; } if ($type eq 'CMP') { my $t = ref $val; $t && $t eq 'ARRAY' or die "$program_name: $test_name: invalid CMP spec\n"; @$val == 2 or die "$program_name: $test_name: invalid CMP list; must have" . " exactly 2 elements\n"; my @cmp_files; foreach my $e (@$val) { my $r = ref $e; $r && $r ne 'HASH' and die "$program_name: $test_name: invalid element ($r)" . " in CMP list; only scalars and hash references " . "are allowed\n"; if ($r && $r eq 'HASH') { my $n = keys %$e; $n == 1 or die "$program_name: $test_name: CMP spec has $n " . "elements -- expected 1\n"; # Replace any '@AUX@' in the key of %$e. my ($ff, $val) = each %$e; my $new_ff = _at_replace $expect, $ff; if ($new_ff ne $ff) { $e->{$new_ff} = $val; delete $e->{$ff}; } } my $cmp_file = _process_file_spec ($program_name, $test_name, $e, $type, \@junk_files); push @cmp_files, $cmp_file; } push @post_compare, [@cmp_files]; $expect->{$type} = $val; next; } if ($type eq 'EXIT') { die "$program_name: $test_name: invalid EXIT code\n" if $val !~ /^\d+$/; # FIXME: make sure $data is numeric $expect->{EXIT} = $val; next; } if ($type =~ /^(OUT|ERR)_SUBST$/) { $expect->{RESULT_SUBST} ||= {}; $expect->{RESULT_SUBST}->{$1} = $val; next; } if ($type eq 'ENV') { $env_prefix = "$val "; next; } if ($type eq 'ENV_DEL') { push @env_delete, $val; next; } my $file = _process_file_spec ($program_name, $test_name, $val, $type, \@junk_files); if ($type eq 'IN' || $type eq 'IN_PIPE') { my $quoted_file = _shell_quote $file; if ($type eq 'IN_PIPE') { defined $input_pipe_cmd and die "$program_name: $test_name: only one input" . " may be specified with IN_PIPE\n"; $input_pipe_cmd = "cat $quoted_file |"; } else { push @args, $quoted_file; } } elsif ($type eq 'AUX' || $type eq 'OUT' || $type eq 'ERR') { $expect->{$type} = $file; } else { die "$program_name: $test_name: invalid type: $type\n" } } # Expect an exit status of zero if it's not specified. $expect->{EXIT} ||= 0; # Allow ERR to be omitted -- in that case, expect no error output. foreach my $eo (qw (OUT ERR)) { if (!exists $expect->{$eo}) { $expect->{$eo} = _create_file ($program_name, $test_name, undef, ''); push @junk_files, $expect->{$eo}; } } # FIXME: Does it ever make sense to specify a filename *and* contents # in OUT or ERR spec? # FIXME: this is really suboptimal... my @new_args; foreach my $a (@args) { $a = _at_replace $expect, $a; push @new_args, $a; } @args = @new_args; warn "$test_name...\n" if $verbose; &{$expect->{PRE}} if $expect->{PRE}; my %actual; $actual{OUT} = "$test_name.O"; $actual{ERR} = "$test_name.E"; push @junk_files, $actual{OUT}, $actual{ERR}; my @cmd = (@prog, @args, "> $actual{OUT}", "2> $actual{ERR}"); $env_prefix and unshift @cmd, $env_prefix; defined $input_pipe_cmd and unshift @cmd, $input_pipe_cmd; my $cmd_str = join (' ', @cmd); # Delete from the environment any symbols specified by syntax # like this: {ENV_DEL => 'TZ'}. my %pushed_env; foreach my $env_sym (@env_delete) { my $val = delete $ENV{$env_sym}; defined $val and $pushed_env{$env_sym} = $val; } warn "Running command: '$cmd_str'\n" if $debug; my $rc = 0xffff & system $cmd_str; # Restore any environment setting we changed via a deletion. foreach my $env_sym (keys %pushed_env) { $ENV{$env_sym} = $pushed_env{$env_sym}; } if ($rc == 0xff00) { warn "$program_name: test $test_name failed: command failed:\n" . " '$cmd_str': $!\n"; $fail = 1; goto cleanup; } $rc >>= 8 if $rc > 0x80; if ($expect->{EXIT} != $rc) { warn "$program_name: test $test_name failed: exit status mismatch:" . " expected $expect->{EXIT}, got $rc\n"; $fail = 1; goto cleanup; } my %actual_data; # Record actual stdout and stderr contents, if POST may need them. if ($expect->{POST}) { foreach my $eo (qw (OUT ERR)) { my $out_file = $actual{$eo}; open IN, $out_file or (warn "$program_name: cannot open $out_file for reading: $!\n"), $fail = 1, next; $actual_data{$eo} = <IN>; close IN or (warn "$program_name: failed to read $out_file: $!\n"), $fail = 1; } } foreach my $eo (qw (OUT ERR)) { my $subst_expr = $expect->{RESULT_SUBST}->{$eo}; if (defined $subst_expr) { my $out = $actual{$eo}; my $orig = "$out.orig"; # Move $out aside (to $orig), then recreate $out # by transforming each line of $orig via $subst_expr. rename $out, $orig or (warn "$program_name: cannot rename $out to $orig: $!\n"), $fail = 1, next; open IN, $orig or (warn "$program_name: cannot open $orig for reading: $!\n"), $fail = 1, (unlink $orig), next; unlink $orig or (warn "$program_name: cannot unlink $orig: $!\n"), $fail = 1; open OUT, ">$out" or (warn "$program_name: cannot open $out for writing: $!\n"), $fail = 1, next; while (defined (my $line = <IN>)) { eval "\$_ = \$line; $subst_expr; \$line = \$_"; print OUT $line; } close IN; close OUT or (warn "$program_name: failed to write $out: $!\n"), $fail = 1, next; } my $eo_lower = lc $eo; _compare_files ($program_name, $test_name, $eo_lower, $actual{$eo}, $expect->{$eo}) and $fail = 1; } foreach my $pair (@post_compare) { my ($expected, $actual) = @$pair; _compare_files $program_name, $test_name, undef, $actual, $expected and $fail = 1; } cleanup: $expect->{POST} and &{$expect->{POST}} ($actual_data{OUT}, $actual_data{ERR}); } # FIXME: maybe unlink files inside the big foreach loop? unlink @junk_files if ! $save_temps; return $fail; } # For each test in @$TESTS, generate two additional tests, # one using stdin, the other using a pipe. I.e., given this one # ['idem-0', {IN=>''}, {OUT=>''}], # generate these: # ['idem-0.r', '<', {IN=>''}, {OUT=>''}], # ['idem-0.p', {IN_PIPE=>''}, {OUT=>''}], # Generate new tests only if there is exactly one input spec. # The returned list of tests contains each input test, followed # by zero or two derived tests. sub triple_test($) { my ($tests) = @_; my @new; foreach my $t (@$tests) { push @new, $t; my @in; my @args; my @list_of_hash; foreach my $e (@$t) { !ref $e and push (@args, $e), next; ref $e && ref $e eq 'HASH' or (warn "$0: $t->[0]: unexpected entry type\n"), next; defined $e->{IN} and (push @in, $e->{IN}), next; push @list_of_hash, $e; } # Add variants IFF there is exactly one input file. @in == 1 or next; shift @args; # discard test name push @new, ["$t->[0].r", @args, '<', {IN => $in[0]}, @list_of_hash]; push @new, ["$t->[0].p", @args, {IN_PIPE => $in[0]}, @list_of_hash]; } return @new; } ## package return 1; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/��������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012524� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-compress-hang.sh�����������������������������������������������������0000775�0000000�0000000�00000003264�12102337340�016535� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for sort --compress hang # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort very_expensive_ cat <<\EOF >compress || framework_failure_ #!/bin/sh tr 41 14 || exit touch ok EOF chmod +x compress seq -w 200000 > exp || fail=1 tac exp > in || fail=1 # When the bug occurs, 'sort' hangs forever. When it doesn't occur, # 'sort' could be running slowly on an overburdened machine. # On a circa-2010 Linux server using NFS, a successful test completes # in about 170 seconds, so specify 1700 seconds as a safety margin. timeout 1700 sort --compress-program=./compress -S 1k in > out || fail=1 compare exp out || fail=1 test -f ok || fail=1 rm -f compress ok # If $TMPDIR is relative, give subprocesses time to react when 'sort' exits. # Otherwise, under NFS, when 'sort' unlinks the temp files and they # are renamed to .nfsXXXX instead of being removed, the parent cleanup # of this directory will fail because the files are still open. case $TMPDIR in /*) ;; *) sleep 1;; esac Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/runcon-no-reorder.sh������������������������������������������������������0000775�0000000�0000000�00000003047�12102337340�016357� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that runcon does not reorder its arguments. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ runcon diag='runcon: runcon may be used only on a SELinux kernel' echo "$diag" > exp || framework_failure_ # This test works even on systems without SELinux. # On such a system it fails with the above diagnostic, which is fine. # Before the no-reorder change, it would have failed with a diagnostic # about -j being an invalid option. runcon $(id -Z) true -j 2> out && : > exp # When run on a system with no /selinux/context (i.e., in a chroot), # it chcon fails with this: "runcon: invalid context: \ # root:system_r:unconfined_t:s0-s0:c0.c1023: No such file or directory" # That diagnostic is ok, too, so map it to the more common one. case $(cat out) in 'runcon: invalid context: '*) echo "$diag" > out;; esac compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/wc.pl���������������������������������������������������������������������0000775�0000000�0000000�00000003750�12102337341�013415� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "wc". # Copyright (C) 1997-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'wc'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['a0', '-c', {IN_PIPE=>''}, {OUT=>"0\n"}], ['a1', '-l', {IN_PIPE=>''}, {OUT=>"0\n"}], ['a2', '-w', {IN_PIPE=>''}, {OUT=>"0\n"}], ['a3', '-c', {IN_PIPE=>'x'}, {OUT=>"1\n"}], ['a4', '-w', {IN_PIPE=>'x'}, {OUT=>"1\n"}], ['a5', '-w', {IN_PIPE=>"x y\n"}, {OUT=>"2\n"}], ['a6', '-w', {IN_PIPE=>"x y\nz"}, {OUT=>"3\n"}], # Remember, -l counts *newline* bytes, not logical lines. ['a7', '-l', {IN_PIPE=>"x y"}, {OUT=>"0\n"}], ['a8', '-l', {IN_PIPE=>"x y\n"}, {OUT=>"1\n"}], ['a9', '-l', {IN_PIPE=>"x\ny\n"}, {OUT=>"2\n"}], ['b0', '', {IN_PIPE=>""}, {OUT=>" 0 0 0\n"}], ['b1', '', {IN_PIPE=>"a b\nc\n"}, {OUT=>" 2 3 6\n"}], ['c0', '-L', {IN_PIPE=>"1\n12\n"}, {OUT=>"2\n"}], ['c1', '-L', {IN_PIPE=>"1\n123\n1\n"}, {OUT=>"3\n"}], ['c2', '-L', {IN_PIPE=>"\n123456"}, {OUT=>"6\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������coreutils-8.21/tests/misc/base64.pl�����������������������������������������������������������������0000775�0000000�0000000�00000012377�12102337340�014074� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise base64. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # Return the encoding of a string of N 'a's. sub enc($) { my ($n) = @_; my %remainder = ( 0 => '', 1 => 'YQ==', 2 => 'YWE=' ); return 'YWFh' x ($n / 3) . $remainder{$n % 3}; } # Construct an encoded string of length 4KB, using 3K "a"s. my $a3k = enc 3072; my @a3k_nl; # A few copies, each with different number of newlines at the start. for my $k (0..3) { (my $t = $a3k) =~ s/^/"\n"x $k/e; push @a3k_nl, $t; } # Return a copy of S, with newlines inserted every WIDTH bytes. # Ensure that the result (if not the empty string) is newline-terminated. sub wrap($$) { my ($s, $width) = @_; $s =~ s/(.{$width})/$1\n/g; substr ($s, -1, 1) ne "\n" and $s .= "\n"; return $s; } my @Tests = ( ['empty', {IN=>''}, {OUT=>""}], ['inout', {IN=>'a'}, {OUT=>"YQ==\n"}], ['wrap', '--wrap 0', {IN=>'foo'}, {OUT=>'Zm9v'}], ['wrap5-39', '--wrap=5', {IN=>'a' x 39}, {OUT=>wrap enc(39),5}], ['wrap5-40', '--wrap=5', {IN=>'a' x 40}, {OUT=>wrap enc(40),5}], ['wrap5-41', '--wrap=5', {IN=>'a' x 41}, {OUT=>wrap enc(41),5}], ['wrap5-42', '--wrap=5', {IN=>'a' x 42}, {OUT=>wrap enc(42),5}], ['wrap5-43', '--wrap=5', {IN=>'a' x 43}, {OUT=>wrap enc(43),5}], ['wrap5-44', '--wrap=5', {IN=>'a' x 44}, {OUT=>wrap enc(44),5}], ['wrap5-45', '--wrap=5', {IN=>'a' x 45}, {OUT=>wrap enc(45),5}], ['wrap5-46', '--wrap=5', {IN=>'a' x 46}, {OUT=>wrap enc(46),5}], ['buf-1', '--decode', {IN=>enc 1}, {OUT=>'a' x 1}], ['buf-2', '--decode', {IN=>enc 2}, {OUT=>'a' x 2}], ['buf-3', '--decode', {IN=>enc 3}, {OUT=>'a' x 3}], ['buf-4', '--decode', {IN=>enc 4}, {OUT=>'a' x 4}], # 4KB worth of input. ['buf-4k0', '--decode', {IN=>enc 3072+0}, {OUT=>'a' x (3072+0)}], ['buf-4k1', '--decode', {IN=>enc 3072+1}, {OUT=>'a' x (3072+1)}], ['buf-4k2', '--decode', {IN=>enc 3072+2}, {OUT=>'a' x (3072+2)}], ['buf-4k3', '--decode', {IN=>enc 3072+3}, {OUT=>'a' x (3072+3)}], ['buf-4km1','--decode', {IN=>enc 3072-1}, {OUT=>'a' x (3072-1)}], ['buf-4km2','--decode', {IN=>enc 3072-2}, {OUT=>'a' x (3072-2)}], ['buf-4km3','--decode', {IN=>enc 3072-3}, {OUT=>'a' x (3072-3)}], ['buf-4km4','--decode', {IN=>enc 3072-4}, {OUT=>'a' x (3072-4)}], # Exercise the case in which the final base-64 byte is # in a buffer all by itself. ['b4k-1', '--decode', {IN=>$a3k_nl[1]}, {OUT=>'a' x (3072+0)}], ['b4k-2', '--decode', {IN=>$a3k_nl[2]}, {OUT=>'a' x (3072+0)}], ['b4k-3', '--decode', {IN=>$a3k_nl[3]}, {OUT=>'a' x (3072+0)}], ['baddecode', '--decode', {IN=>'a'}, {OUT=>""}, {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}], ['baddecode2', '--decode', {IN=>'ab'}, {OUT=>"i"}, {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}], ['baddecode3', '--decode', {IN=>'Zzz'}, {OUT=>"g<"}, {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}], ['baddecode4', '--decode', {IN=>'Zz='}, {OUT=>"g"}, {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}], ['baddecode5', '--decode', {IN=>'Z==='}, {OUT=>""}, {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}] ); # For each non-failing test, create a --decode test using the # expected output as input. Also, add tests inserting newlines. my @new; foreach my $t (@Tests) { my $exit_val; my $in; my @out; # If the test has a single option of "--decode", then skip it. !ref $t->[1] && $t->[1] eq '--decode' and next; foreach my $e (@$t) { ref $e && ref $e eq 'HASH' or next; defined $e->{EXIT} and $exit_val = $e->{EXIT}; defined $e->{IN} and $in = $e->{IN}; if (defined $e->{OUT}) { my $t = $e->{OUT}; push @out, $t; my $len = length $t; foreach my $i (0..$len) { my $u = $t; substr ($u, $i, 0) = "\n"; push @out, $u; 10 <= $i and last; } } } $exit_val and next; my $i = 0; foreach my $o (@out) { push @new, ["d$i-$t->[0]", '--decode', {IN => $o}, {OUT => $in}]; ++$i; } } push @Tests, @new; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'base64'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tail.pl�������������������������������������������������������������������0000775�0000000�0000000�00000011073�12102337340�013731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test tail. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'tail'; my $normalize_filename = {ERR_SUBST => 's/^$prog: .*?:/$prog: -:/'}; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @tv = ( # test name, options, input, expected output, expected return code # ['obs-plus-c1', '+2c', 'abcd', 'bcd', 0], ['obs-plus-c2', '+8c', 'abcd', '', 0], ['obs-c3', '-1c', 'abcd', 'd', 0], ['obs-c4', '-9c', 'abcd', 'abcd', 0], ['obs-c5', '-12c', 'x' . ('y' x 12) . 'z', ('y' x 11) . 'z', 0], ['obs-l1', '-1l', 'x', 'x', 0], ['obs-l2', '-1l', "x\ny\n", "y\n", 0], ['obs-l3', '-1l', "x\ny", "y", 0], ['obs-plus-l4', '+1l', "x\ny\n", "x\ny\n", 0], ['obs-plus-l5', '+2l', "x\ny\n", "y\n", 0], # Same as -l tests, but without the 'l'. ['obs-1', '-1', 'x', 'x', 0], ['obs-2', '-1', "x\ny\n", "y\n", 0], ['obs-3', '-1', "x\ny", "y", 0], ['obs-plus-4', '+1', "x\ny\n", "x\ny\n", 0], ['obs-plus-5', '+2', "x\ny\n", "y\n", 0], # This is equivalent to +10c ['obs-plus-x1', '+c', 'x' . ('y' x 10) . 'z', 'yyz', 0], # This is equivalent to +10l ['obs-plus-x2', '+l', "x\n" . ("y\n" x 10) . 'z', "y\ny\nz", 0], # With no number, this is like -10l ['obs-l', '-l', "x\n" . ("y\n" x 10) . 'z', ("y\n" x 9) . 'z', 0], ['obs-b', '-b', "x\n" x (512 * 10 / 2 + 1), "x\n" x (512 * 10 / 2), 0], ['err-1', '+cl', '', '', 1, "$prog: cannot open '+cl' for reading: No such file or directory\n"], ['err-2', '-cl', '', '', 1, "$prog: l: invalid number of bytes\n"], ['err-3', '+2cz', '', '', 1, "$prog: cannot open '+2cz' for reading: No such file or directory\n"], # This should get 'tail: invalid option -- 2' ['err-4', '-2cX', '', '', 1, "$prog: option used in invalid context -- 2\n"], # Since the number is larger than 2^64, this should provoke # the diagnostic: 'tail: 99999999999999999999: invalid number of bytes' # on all systems... probably, for now, maybe. ['err-5', '-c99999999999999999999', '', '', 1, "$prog: 99999999999999999999: invalid number of bytes\n"], ['err-6', '-c --', '', '', 1, "$prog: -: invalid number of bytes\n", $normalize_filename], # Same as -n 10 ['minus-1', '-', '', '', 0], ['minus-2', '-', "x\n" . ("y\n" x 10) . 'z', ("y\n" x 9) . 'z', 0], ['c-2', '-c 2', "abcd\n", "d\n", 0], ['c-2-minus', '-c 2 --', "abcd\n", "d\n", 0], ['c2', '-c2', "abcd\n", "d\n", 0], ['c2-minus', '-c2 --', "abcd\n", "d\n", 0], ['n-1', '-n 10', "x\n" . ("y\n" x 10) . 'z', ("y\n" x 9) . 'z', 0], ['n-2', '-n -10', "x\n" . ("y\n" x 10) . 'z', ("y\n" x 9) . 'z', 0], ['n-3', '-n +10', "x\n" . ("y\n" x 10) . 'z', "y\ny\nz", 0], # Accept +0 as synonym for +1. ['n-4', '-n +0', "y\n" x 5, "y\n" x 5, 0], ['n-4a', '-n +1', "y\n" x 5, "y\n" x 5, 0], # Note that -0 is *not* a synonym for -1. ['n-5', '-n -0', "y\n" x 5, '', 0], ['n-5a', '-n -1', "y\n" x 5, "y\n", 0], ['n-5b', '-n 0', "y\n" x 5, '', 0], # With textutils-1.22, this failed. ['f-pipe-1', '-f -n 1', "a\nb\n", "b\n", 0], ); my @Tests; foreach my $t (@tv) { my ($test_name, $flags, $in, $exp, $ret, $err_msg) = @$t; my $e = [$test_name, $flags, {IN=>$in}, {OUT=>$exp}]; $ret and push @$e, {EXIT=>$ret}, {ERR=>$err_msg}; $test_name =~ /^(obs-plus-|minus-)/ and push @$e, {ENV=>'_POSIX2_VERSION=199209'}; $test_name =~ /^(err-6|c-2)$/ and push @$e, {ENV=>'_POSIX2_VERSION=200112'}; $test_name =~ /^f-pipe-/ and push @$e, {ENV=>'POSIXLY_CORRECT=1'}; push @Tests, $e; } @Tests = triple_test \@Tests; # If you run the minus* tests with a FILE arg they'd hang. # If you run the err-1 or err-3 tests with a FILE, they'd misinterpret # the arg unless we are using the obsolete form. @Tests = grep { $_->[0] !~ /^(minus|err-[13])/ || $_->[0] =~ /\.[rp]$/ } @Tests; # Using redirection or a file would make this hang. @Tests = grep { $_->[0] !~ /^f-/ || $_->[0] =~ /\.p$/ } @Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/groups-version.sh���������������������������������������������������������0000775�0000000�0000000�00000001746�12102337340�016007� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure groups --version output is similar to id --version # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ groups require_built_ groups groups --version | sed 's/^groups/id/; /^$/q' > out || fail=1 id --version | sed '/^$/q' > exp || fail=1 compare exp out || fail=1 Exit $fail ��������������������������coreutils-8.21/tests/misc/sort-exit-early.sh��������������������������������������������������������0000775�0000000�0000000�00000002306�12102337340�016046� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test 'sort' exits early on inaccessible inputs or output # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort skip_if_root_ # Check output is writable before starting to sort touch input chmod a-w input timeout 10 sort -o input && fail=1 test $? = 124 && fail=1 # Check all inputs are readable before starting to sort # Also ensure the output isn't created in this case touch output chmod a-r output timeout 10 sort -o typo - output && fail=1 test $? = 124 && fail=1 test -e typo && fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-continue.sh����������������������������������������������������������0000775�0000000�0000000�00000002742�12102337340�015613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Tests for file descriptor exhaustion. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort # Skip the test when running under valgrind. ( ulimit -n 6; sort 3<&- 4<&- 5<&- < /dev/null ) \ || skip_ 'fd-limited sort failed; are you running under valgrind?' for i in $(seq 31); do echo $i | tee -a in > __test.$i || framework_failure_ done # glob before ulimit to avoid issues on bash 3.2 on OS X 10.6.8 at least test_files=$(echo __test.*) ( ulimit -n 6 sort -n -m $test_files 3<&- 4<&- 5<&- < /dev/null > out ) && compare in out || { fail=1; echo 'file descriptor exhaustion not handled' 1>&2; } echo 32 | tee -a in > in1 ( ulimit -n 6 sort -n -m $test_files - 3<&- 4<&- 5<&- < in1 > out ) && compare in out || { fail=1; echo 'stdin not handled properly' 1>&2; } Exit $fail ������������������������������coreutils-8.21/tests/misc/csplit.sh�����������������������������������������������������������������0000775�0000000�0000000�00000005361�12102337340�014300� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # various csplit tests # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ csplit # csplit could get a failed assertion to 2.0.17 (echo a; echo; echo) > in csplit in '/^$/' 2 > out || fail=1 cat <<EOF > exp 2 0 2 EOF compare exp out || fail=1 rm -f in out exp # Ensure that xx02 contains just two newlines. # This would fail due to reading from freed buffer with coreutils-5.0.91. printf '\n\n' > exp cp xx02 out || fail=1 compare exp out || fail=1 rm -f in out exp # csplit would infloop (echo; echo a) > in csplit in '/a/-1' '{*}' > out || fail=1 cat <<EOF > exp 0 3 EOF compare exp out || fail=1 rm -f in out exp # 'echo |csplit - 1 1' used to abort. echo > in csplit in 1 1 > out 2> err || fail=1 cat <<EOF > exp 0 0 1 EOF compare exp out || fail=1 cat <<\EOF > experr csplit: warning: line number '1' is the same as preceding line number EOF compare experr err || fail=1 rm -f in out exp err experr # 'echo | csplit -b '%0#6.3x' - 1' incorrectly warned about the format # up through coreutils 8.6. echo > in csplit -b '%0#6.3x' in 1 > out 2> err || fail=1 cat <<EOF > exp 0 1 EOF compare exp out || fail=1 touch experr compare experr err || fail=1 compare 'xx 000' experr || fail=1 compare 'xx 0x001' in || fail=1 rm -f in out exp err experr xx* # make sure 'csplit FILE 0' fails. echo > in csplit in 0 > out 2> err && fail=1 csplit in 2 1 > out 2>> err && fail=1 csplit in 3 3 > out 2>> err && fail=1 cat <<\EOF > experr csplit: 0: line number must be greater than zero csplit: line number '1' is smaller than preceding line number, 2 csplit: warning: line number '3' is the same as preceding line number csplit: '3': line number out of range EOF compare experr err || fail=1 # Ensure that lines longer than the initial buffer length don't cause # trouble (e.g. reading from freed memory, resulting in corrupt output). # This test failed at least in coreutils-5.2.1 and 5.3.0, and was fixed # in 5.3.1. rm -f in out exp err experr xx?? printf 'x%8199s\nx\n%8199s\nx\n' x x > in csplit in '/x\{1\}/' '{*}' > /dev/null || fail=1 cat xx?? | compare - in || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-merge.pl�������������������������������������������������������������0000775�0000000�0000000�00000005750�12102337340�015071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sort -m". # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); (my $program_name = $0) =~ s|.*/||; my $prog = 'sort'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # three empty files and one that says 'foo' my @inputs = (+(map{{IN=> {"empty$_"=> ''}}}1..3), {IN=> {foo=> "foo\n"}}); my $big_input = "aaa\n" x 1024; # don't need to check for existence, since we're running in a temp dir my $badtmp = 'does/not/exist'; my $bigint = $limits->{UINTMAX_OFLOW}; my @Tests = ( ['m1', '-m', @inputs, {OUT=>"foo\n"}], # check validation of --batch-size option ['nmerge-0', "-m --batch-size=0", @inputs, {ERR=>"$prog: invalid --batch-size argument '0'\n". "$prog: minimum --batch-size argument is '2'\n"}, {EXIT=>2}], ['nmerge-1', "-m --batch-size=1", @inputs, {ERR=>"$prog: invalid --batch-size argument '1'\n". "$prog: minimum --batch-size argument is '2'\n"}, {EXIT=>2}], ['nmerge-neg', "-m --batch-size=-1", @inputs, {ERR=>"$prog: invalid --batch-size argument '-1'\n"}, {EXIT=>2}], ['nmerge-nan', "-m --batch-size=a", @inputs, {ERR=>"$prog: invalid --batch-size argument 'a'\n"}, {EXIT=>2}], ['nmerge-big', "-m --batch-size=$bigint", @inputs, {ERR_SUBST=>'s/(current rlimit is) \d+/$1/'}, {ERR=>"$prog: --batch-size argument '$bigint' too large\n". "$prog: maximum --batch-size argument with current rlimit is\n"}, {EXIT=>2}], # This should work since nmerge >= the number of input files ['nmerge-yes', "-m --batch-size=4 -T$badtmp", @inputs, {OUT=>"foo\n"}], # this should fail since nmerge < # of input files, so # temp files are needed ['nmerge-no', "-m --batch-size=2 -T$badtmp", @inputs, {ERR_SUBST=>"s|': .*|':|"}, {ERR=>"$prog: cannot create temporary file in '$badtmp':\n"}, {EXIT=>2}], # This used to fail because setting batch-size without also setting # buffer size would cause the buffer size to be set to the minimum. ['batch-size', "--batch-size=16 -T$badtmp", {IN=> {big=> $big_input}}, {OUT=>$big_input}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������coreutils-8.21/tests/misc/timeout-parameters.sh�����������������������������������������������������0000775�0000000�0000000�00000004142�12102337340�016625� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate timeout parameter combinations # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ timeout getlimits_ # internal errors are 125, distinct from execution failure # invalid timeout timeout invalid sleep 0 test $? = 125 || fail=1 # invalid kill delay timeout --kill-after=invalid 1 sleep 0 test $? = 125 || fail=1 # invalid timeout suffix timeout 42D sleep 0 test $? = 125 || fail=1 # It was seen on 32 bit Linux/HPPA that a kernel time_t overflowed, # thus causing the timer to fire immediately. # So verify that doesn't happen before checking large timeouts KERNEL_OVERFLOW_LIMIT=$(expr $TIME_T_MAX - $(date +%s) + 100) timeout $KERNEL_OVERFLOW_LIMIT sleep 0 if test $? != 124; then # timeout overflow timeout $UINT_OFLOW sleep 0 test $? = 0 || fail=1 # timeout overflow timeout $(expr $UINT_MAX / 86400 + 1)d sleep 0 test $? = 0 || fail=1 # timeout overflow timeout 999999999999999999999999999999999999999999999999999999999999d sleep 0 test $? = 0 || fail=1 # floating point notation timeout 2.34e+5d sleep 0 test $? = 0 || fail=1 fi # floating point notation timeout 2.34 sleep 0 test $? = 0 || fail=1 # nanoseconds potentially supported timeout .999999999 sleep 0 || fail=1 # invalid signal spec timeout --signal=invalid 1 sleep 0 test $? = 125 || fail=1 # invalid command timeout 10 . test $? = 126 || fail=1 # no such command timeout 10 no_such test $? = 127 || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-files0-from.pl�������������������������������������������������������0000775�0000000�0000000�00000006551�12102337340�016115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise sort's --files0-from option. # FIXME: keep this file in sync with tests/du/files0-from. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'sort'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( # invalid extra command line argument ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>2}, {ERR => "$prog: extra operand 'no-such'\n" . "file operands cannot be combined with --files0-from\n" . "Try '$prog --help' for more information.\n"} ], # missing input file ['missing', '--files0-from=missing', {EXIT=>2}, {ERR => "$prog: cannot open 'missing' for reading: " . "No such file or directory\n"}], # input file name of '-' ['minus-in-stdin', '--files0-from=-', '<', {IN=>{f=>'-'}}, {EXIT=>2}, {ERR => "$prog: when reading file names from stdin, no file name of" . " '-' allowed\n"}], # empty input, regular file ['empty', '--files0-from=@AUX@', {AUX=>''}, {EXIT=>2}, {ERR_SUBST => 's/no input from.+$//'}, {ERR => "$prog: \n"}], # empty input, from non-regular file ['empty-nonreg', '--files0-from=/dev/null', {EXIT=>2}, {ERR => "$prog: no input from '/dev/null'\n"}], # one NUL ['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>2}, {ERR => "$prog: -:1: invalid zero-length file name\n"}], # two NULs # Note that the behavior here differs from 'wc' in that the # first zero-length file name is treated as fatal, so there # is only one line of diagnostic output. ['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>2}, {ERR => "$prog: -:1: invalid zero-length file name\n"}], # one file name, no NUL ['1', '--files0-from=-', '<', {IN=>{f=>"g"}}, {AUX=>{g=>'a'}}, {OUT=>"a\n"} ], # one file name, with NUL ['1a', '--files0-from=-', '<', {IN=>{f=>"g\0"}}, {AUX=>{g=>'a'}}, {OUT=>"a\n"} ], # two file names, no final NUL ['2', '--files0-from=-', '<', {IN=>{f=>"g\0g"}}, {AUX=>{g=>'a'}}, {OUT=>"a\na\n"} ], # two file names, with final NUL ['2a', '--files0-from=-', '<', {IN=>{f=>"g\0g\0"}}, {AUX=>{g=>'a'}}, {OUT=>"a\na\n"} ], # Ensure that $prog does nothing when there is a zero-length filename. # Note that the behavior here differs from 'wc' in that the # first zero-length file name is treated as fatal, so there # should be no output on STDOUT. ['zero-len', '--files0-from=-', '<', {IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}}, {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>2} ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-slash.sh�������������������������������������������������������������0000775�0000000�0000000�00000002501�12102337340�015056� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # demonstrate that stat handles trailing slashes correctly # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stat touch file || framework_failure_ mkdir dir || framework_failure_ ln -s file link1 || framework_failure_ ln -s dir link2 || framework_failure_ cat <<EOF > exp || framework_failure_ link1 symbolic link directory directory EOF # This failed on Solaris 9 for coreutils 8.0. stat --format=%n link1 > out || fail=1 stat --format=%n link1/ >> out && fail=1 stat --format=%F link2 >> out || fail=1 stat -L --format=%F link2 >> out || fail=1 stat --format=%F link2/ >> out || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/md5sum-newline.pl���������������������������������������������������������0000775�0000000�0000000�00000002631�12102337340�015651� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Newline tests for "md5sum". # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # See if we can create a file name that contains a newline. # Use system, since Perl doesn't let you do this with "open". system ('touch', "a\nb") == 0 or CuSkip::skip "$ME: failed to create newline-containing file name\n"; my $degenerate = "d41d8cd98f00b204e9800998ecf8427e"; my $t = '--text'; my @Tests = ( ['newline', $t, {IN=> {"a\nb"=> ''}}, {OUT=>"\\$degenerate a\\nb\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'md5sum'; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/head.pl�������������������������������������������������������������������0000775�0000000�0000000�00000005326�12102337340�013705� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # test head # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'head'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $in = join ('', map { "$_\n" } 0..600); my $in_1024 = substr $in, 0, 1024; # FIXME: set this properly my $x32_bit_long = 0; my @Tests = ( ['idem-0', {IN=>''}, {OUT=>''}], ['idem-1', {IN=>'a'}, {OUT=>'a'}], ['idem-2', {IN=>"\n"}, {OUT=>"\n"}], ['idem-3', {IN=>"a\n"}, {OUT=>"a\n"}], ['basic-10', {IN=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n"}, {OUT=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n"}], ['basic-09', {IN=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n"}, {OUT=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n"}], ['basic-11', {IN=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n0\nb\n"}, {OUT=>"1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n"}], ['obs-0', '-1', {IN=>"1\n2\n"}, {OUT=>"1\n"}], ['obs-1', '-1c', {IN=>''}, {OUT=>''}], ['obs-2', '-1c', {IN=>'12'}, {OUT=>'1'}], ['obs-3', '-14c', {IN=>'1234567890abcdefg'}, {OUT=>'1234567890abcd'}], ['obs-4', '-2b', {IN=>$in}, {OUT=>$in_1024}], ['obs-5', '-1k', {IN=>$in}, {OUT=>$in_1024}], # This test fails for textutils-1.22, because head let 4096m overflow to 0 # and did not fail. Now head fails with a diagnostic. # Disable this test because it fails on systems with 64-bit uintmax_t. # ['fail-0', qw(-n 4096m), {IN=>"a\n"}, {EXIT=>1}], # In spite of its name, this test passes -- just to contrast with the above. ['fail-1', qw(-n 2048m), {IN=>"a\n"}, {OUT=>"a\n"}], # Make sure we don't break like AIX 4.3.1 on files with \0 in them. ['null-1', {IN=>"a\0a\n"}, {OUT=>"a\0a\n"}], # Make sure counts are interpreted as decimal. # Before 2.0f, these would have been interpreted as octal ['no-oct-1', '-08', {IN=>"\n"x12}, {OUT=>"\n"x8}], ['no-oct-2', '-010', {IN=>"\n"x12}, {OUT=>"\n"x10}], ['no-oct-3', '-n 08', {IN=>"\n"x12}, {OUT=>"\n"x8}], ['no-oct-4', '-c 08', {IN=>"\n"x12}, {OUT=>"\n"x8}], ); @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/uniq-perf.sh��������������������������������������������������������������0000775�0000000�0000000�00000001633�12102337340�014706� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # before coreutils-8.10, seq 100000|uniq -f 10000000000 would run for days # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ uniq seq 100 > in || fail=1 timeout 1 uniq -f 10000000000 in || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-float.sh�������������������������������������������������������������0000775�0000000�0000000�00000005031�12102337340�015066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure sort -g sorts floating point limits correctly # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort # Return 0 if LDBL_MIN is smaller than DBL_MIN, else 1. # Dissect numbers like these, comparing first exponent, then # whole part of mantissa, then fraction, until finding enough # of a difference to determine the relative order of the numbers. # These are "reversed": # $ ./getlimits |grep DBL_MIN # DBL_MIN=2.225074e-308 # LDBL_MIN=2.004168e-292 # # These are in the expected order: # $ ./getlimits|grep DBL_MIN # DBL_MIN=2.225074e-308 # LDBL_MIN=3.362103e-4932 dbl_minima_order() { LC_ALL=C getlimits_ set -- $(echo $LDBL_MIN | tr .e- ' ') local ldbl_whole=$1 ldbl_frac=$2 ldbl_exp=$3 set -- $(echo $DBL_MIN |tr .e- ' ') local dbl_whole=$1 dbl_frac=$2 dbl_exp=$3 test "$dbl_exp" -lt "$ldbl_exp" && return 0 test "$ldbl_exp" -lt "$dbl_exp" && return 1 test "$ldbl_whole" -lt "$dbl_whole" && return 0 test "$dbl_whole" -lt "$ldbl_whole" && return 1 test "$ldbl_frac" -le "$dbl_frac" && return 0 return 1 } # On some systems, DBL_MIN < LDBL_MIN. Detect that. dbl_minima_order; reversed=$? for LOC in C $LOCALE_FR; do LC_ALL=$LOC getlimits_ # See if sort should be using long doubles grep '^#define HAVE_C99_STRTOLD 1' $CONFIG_HEADER > /dev/null || { LDBL_MAX="$DBL_MAX"; LDBL_MIN="$DBL_MIN"; } # If DBL_MIN happens to be smaller than LDBL_MIN, swap them, # so that out expected output is sorted. if test $reversed = 1; then t=$LDBL_MIN LDBL_MIN=$DBL_MIN DBL_MIN=$t fi printf -- "\ -$LDBL_MAX -$DBL_MAX -$FLT_MAX -$FLT_MIN -$DBL_MIN -$LDBL_MIN 0 $LDBL_MIN $DBL_MIN $FLT_MIN $FLT_MAX $DBL_MAX $LDBL_MAX " | grep '^[0-9.,e+-]*$' > exp # restrict to numeric just in case tac exp | LC_ALL=$LOC sort -sg > out || fail=1 compare exp out || fail=1 done Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-overflow.sh������������������������������������������������������0000775�0000000�0000000�00000002240�12102337340�016461� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate truncate integer overflow # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate getlimits_ # -= overflow truncate -s-1 create-zero-len-file || fail=1 echo > non-empty-file # signed overflow truncate -s$OFF_T_OFLOW file && fail=1 # += signed overflow truncate -s+$OFF_T_MAX non-empty-file && fail=1 # *= signed overflow IO_BLOCK_OFLOW=$(expr $OFF_T_MAX / $(stat -f -c%s .) + 1) truncate --io-blocks --size=$IO_BLOCK_OFLOW file && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/env.sh��������������������������������������������������������������������0000775�0000000�0000000�00000011532�12102337340�013567� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify behavior of env. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ env # Verify clearing the environment a=1 export a env - > out || fail=1 test -s out && fail=1 env -i > out || fail=1 test -s out && fail=1 env -u a -i -u a -- > out || fail=1 test -s out && fail=1 env -i -- a=b > out || fail=1 echo a=b > exp || framework_failure_ compare exp out || fail=1 # These tests verify exact status of internal failure. env --- # unknown option test $? = 125 || fail=1 env -u # missing option argument test $? = 125 || fail=1 env sh -c 'exit 2' # exit status propagation test $? = 2 || fail=2 env . # invalid command test $? = 126 || fail=1 env no_such # no such command test $? = 127 || fail=1 # POSIX is clear that environ may, but need not be, sorted. # Environment variable values may contain newlines, which cannot be # observed by merely inspecting output from env. # Cygwin requires a minimal environment to launch new processes: execve # adds missing variables SYSTEMROOT and WINDIR, which show up in a # subsequent env. Cygwin also requires /bin to always be part of PATH, # and attempts to unset or reduce PATH may cause execve to fail. # # For these reasons, it is more portable to grep that our desired changes # took place, rather than comparing output of env over an entire environment. if env | grep '^ENV_TEST' >/dev/null ; then skip_ "environment has potential interference from ENV_TEST*" fi ENV_TEST1=a export ENV_TEST1 : >out || framework_failure_ env ENV_TEST2= > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ env -u ENV_TEST1 ENV_TEST3=c > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ env ENV_TEST1=b > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ env ENV_TEST2= env > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ env -u ENV_TEST1 ENV_TEST3=c env > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ env ENV_TEST1=b env > all || fail=1 grep '^ENV_TEST' all | LC_ALL=C sort >> out || framework_failure_ cat <<EOF >exp || framework_failure_ ENV_TEST1=a ENV_TEST2= ENV_TEST3=c ENV_TEST1=b ENV_TEST1=a ENV_TEST2= ENV_TEST3=c ENV_TEST1=b EOF compare exp out || fail=1 # PATH modifications affect exec. mkdir unlikely_name || framework_failure_ cat <<EOF > unlikely_name/also_unlikely || framework_failure_ #!/bin/sh echo pass EOF chmod +x unlikely_name/also_unlikely || framework_failure_ env also_unlikely && fail=1 test x$(PATH=$PATH:unlikely_name env also_unlikely) = xpass || fail=1 test x$(env PATH="$PATH":unlikely_name also_unlikely) = xpass || fail=1 # Explicitly put . on the PATH for the rest of this test. PATH=$PATH: export PATH # Use -- to end options (but not variable assignments). # On some systems, execve("-i") invokes a shebang script ./-i on PATH as # '/bin/sh -i', rather than '/bin/sh -- -i', which doesn't do what we want. # Avoid the issue by using an executable rather than a script. # Test -u, rather than -i, to minimize PATH problems. ln -s "$abs_top_builddir/src/echo" ./-u || framework_failure_ case $(env -u echo echo good) in good) ;; *) fail=1 ;; esac case $(env -u echo -- echo good) in good) ;; *) fail=1 ;; esac case $(env -- -u pass) in pass) ;; *) fail=1 ;; esac # After options have ended, the first argument not containing = is a program. env a=b -- true test $? = 127 || fail=1 ln -s "$abs_top_builddir/src/echo" ./-- || framework_failure_ case $(env a=b -- true || echo fail) in true) ;; *) fail=1 ;; esac # No way to directly invoke program name containing =. cat <<EOF >./c=d || framework_failure_ #!/bin/sh echo pass EOF chmod +x c=d || framework_failure_ test "x$(env c=d echo fail)" = xfail || fail=1 test "x$(env -- c=d echo fail)" = xfail || fail=1 test "x$(env ./c=d echo fail)" = xfail || fail=1 test "x$(env sh -c 'exec "$@"' sh c=d echo fail)" = xpass || fail=1 test "x$(sh -c '\c=d echo fail')" = xpass && #dash 0.5.4 fails so check first { test "x$(env sh -c '\c=d echo fail')" = xpass || fail=1; } # catch unsetenv failure, broken through coreutils 8.0 env -u a=b true && fail=1 test $? = 125 || fail=1 env -u '' true && fail=1 test $? = 125 || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/readlink-fp-loop.sh�������������������������������������������������������0000775�0000000�0000000�00000004533�12102337340�016145� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # readlink from 6.9 would fail with a false-positive symlink loop error # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink cwd=$("$abs_top_builddir/src/pwd") # To trigger this bug, we have to construct a name/situation during # the resolution of which the code dereferences the same symlink (S) # two different times with no actual loop. In addition, arrange # so that the second and fourth calls to readlink operate on S. ln -s s p || framework_failure_ ln -s d s || framework_failure_ mkdir d || framework_failure_ echo 2 > d/2 || framework_failure_ ln -s ../s/2 d/1 || framework_failure_ # With coreutils-6.9, this would fail with ELOOP. readlink -v -e p/1 > out || fail=1 # readlink -e d/2 > exp || fail=1 echo "$cwd/d/2" > exp || fail=1 compare exp out || fail=1 # Construct a real loop and make sure readlink still detects it. ln -sf ../s/1 d/2 || framework_failure_ readlink -v -e p/1 2> out && fail=1 readlink_msg=$(cat out) case $readlink_msg in 'readlink: p/1: '*) ;; *) fail=1;; esac symlink_loop_msg=${readlink_msg#'readlink: p/1: '} # Exercise the hash table code. ln -nsf ../s/3 d/2 || framework_failure_ ln -nsf ../p/4 d/3 || framework_failure_ ln -nsf ../p/5 d/4 || framework_failure_ ln -nsf ../p/6 d/5 || framework_failure_ ln -nsf ../p/7 d/6 || framework_failure_ ln -nsf ../p/8 d/7 || framework_failure_ echo x > d/8 || framework_failure_ readlink -v -e p/1 > out || fail=1 echo "$cwd/d/8" > exp || fail=1 compare exp out || fail=1 # A trivial loop ln -s loop loop readlink -v -e loop 2> out && fail=1 echo "readlink: loop: $symlink_loop_msg" > exp || framework_failure_ compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/shred-passes.sh�����������������������������������������������������������0000775�0000000�0000000�00000002265�12102337340�015403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify the operations done by shred # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ shred # shred a single letter, zero length file which should result in # 3 random passes and a single rename. touch f || framework_failure_ echo "\ shred: f: pass 1/3 (random)... shred: f: pass 2/3 (random)... shred: f: pass 3/3 (random)... shred: f: removing shred: f: renamed to 0 shred: f: removed" > exp || framework_failure_ shred -v -u f 2>out || fail=1 compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/uniq.pl�������������������������������������������������������������������0000775�0000000�0000000�00000020346�12102337341�013760� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test uniq. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); my $prog = 'uniq'; my $try = "Try '$prog --help' for more information.\n"; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # When possible, create a "-z"-testing variant of each test. sub add_z_variants($) { my ($tests) = @_; my @new; TEST: foreach my $t (@$tests) { push @new, $t; # skip the obsolete-syntax tests $t->[0] =~ /^obs-plus/ and next; my @args; my @list_of_hash; foreach my $e (@$t) { !ref $e and push (@args, $e), next; ref $e && ref $e eq 'HASH' or (warn "$0: $t->[0]: unexpected entry type\n"), next; my $tmp = $e; foreach my $k (qw(IN OUT)) { my $val = $e->{$k}; # skip any test whose input or output already contains a NUL byte if (defined $val) { $val =~ /\0/ and next TEST; # Convert each NL in input or output to \0. $val =~ s/\n/\0/g; $tmp = {$k => $val}; last; } } push @list_of_hash, $tmp; } shift @args; # discard test name # skip any test that uses the -z option grep /z/, @args and next; push @new, ["$t->[0]-z", '-z', @args, @list_of_hash]; } return @new; } # I've only ever triggered the problem in a non-C locale. my $locale = $ENV{LOCALE_FR}; ! defined $locale || $locale eq 'none' and CuSkip::skip "$prog: skipping this test -- no appropriate locale\n"; # See if isblank returns true for nbsp. my $x = qx!env printf '\xa0'| LC_ALL=$locale tr '[:blank:]' x!; # If so, expect just one line of output in the schar test. # Otherwise, expect two. my $in = " y z\n\xa0 y z\n"; my $schar_exp = $x eq 'x' ? " y z\n" : $in; my @Tests = ( # Test for a subtle, system-and-locale-dependent bug in uniq. ['schar', '-f1', {IN => $in}, {OUT => $schar_exp}, {ENV => "LC_ALL=$locale"}], ['1', '', {IN=>''}, {OUT=>''}], ['2', '', {IN=>"a\na\n"}, {OUT=>"a\n"}], ['3', '', {IN=>"a\na"}, {OUT=>"a\n"}], ['4', '', {IN=>"a\nb"}, {OUT=>"a\nb\n"}], ['5', '', {IN=>"a\na\nb"}, {OUT=>"a\nb\n"}], ['6', '', {IN=>"b\na\na\n"}, {OUT=>"b\na\n"}], ['7', '', {IN=>"a\nb\nc\n"}, {OUT=>"a\nb\nc\n"}], # Ensure that newlines are not interpreted with -z. ['2z', '-z', {IN=>"a\na\n"}, {OUT=>"a\na\n\0"}], ['3z', '-z', {IN=>"a\na"}, {OUT=>"a\na\0"}], ['4z', '-z', {IN=>"a\nb"}, {OUT=>"a\nb\0"}], ['5z', '-z', {IN=>"a\na\nb"}, {OUT=>"a\na\nb\0"}], ['20z', '-dz', {IN=>"a\na\n"}, {OUT=>""}], # Make sure that eight bit characters work ['8', '', {IN=>"ö\nv\n"}, {OUT=>"ö\nv\n"}], # Test output of -u option; only unique lines ['9', '-u', {IN=>"a\na\n"}, {OUT=>""}], ['10', '-u', {IN=>"a\nb\n"}, {OUT=>"a\nb\n"}], ['11', '-u', {IN=>"a\nb\na\n"}, {OUT=>"a\nb\na\n"}], ['12', '-u', {IN=>"a\na\n"}, {OUT=>""}], ['13', '-u', {IN=>"a\na\n"}, {OUT=>""}], #['5', '-u', "a\na\n", "", 0], # Test output of -d option; only repeated lines ['20', '-d', {IN=>"a\na\n"}, {OUT=>"a\n"}], ['21', '-d', {IN=>"a\nb\n"}, {OUT=>""}], ['22', '-d', {IN=>"a\nb\na\n"}, {OUT=>""}], ['23', '-d', {IN=>"a\na\nb\n"}, {OUT=>"a\n"}], # Check the key options # If we skip over fields or characters, is the output deterministic? ['obs30', '-1', {IN=>"a a\nb a\n"}, {OUT=>"a a\n"}], ['31', qw(-f 1), {IN=>"a a\nb a\n"}, {OUT=>"a a\n"}], ['32', qw(-f 1), {IN=>"a a\nb b\n"}, {OUT=>"a a\nb b\n"}], ['33', qw(-f 1), {IN=>"a a a\nb a c\n"}, {OUT=>"a a a\nb a c\n"}], ['34', qw(-f 1), {IN=>"b a\na a\n"}, {OUT=>"b a\n"}], ['35', qw(-f 2), {IN=>"a a c\nb a c\n"}, {OUT=>"a a c\n"}], # Skip over characters. ['obs-plus40', '+1', {IN=>"aaa\naaa\n"}, {OUT=>"aaa\n"}], ['obs-plus41', '+1', {IN=>"baa\naaa\n"}, {OUT=>"baa\n"}], ['42', qw(-s 1), {IN=>"aaa\naaa\n"}, {OUT=>"aaa\n"}], ['43', qw(-s 2), {IN=>"baa\naaa\n"}, {OUT=>"baa\n"}], ['obs-plus44', qw(+1 --), {IN=>"aaa\naaa\n"}, {OUT=>"aaa\n"}], ['obs-plus45', qw(+1 --), {IN=>"baa\naaa\n"}, {OUT=>"baa\n"}], # Skip over fields and characters ['50', qw(-f 1 -s 1), {IN=>"a aaa\nb ab\n"}, {OUT=>"a aaa\nb ab\n"}], ['51', qw(-f 1 -s 1), {IN=>"a aaa\nb aaa\n"}, {OUT=>"a aaa\n"}], ['52', qw(-s 1 -f 1), {IN=>"a aaa\nb ab\n"}, {OUT=>"a aaa\nb ab\n"}], ['53', qw(-s 1 -f 1), {IN=>"a aaa\nb aaa\n"}, {OUT=>"a aaa\n"}], # Fixed in 2.0.15 ['54', qw(-s 4), {IN=>"abc\nabcd\n"}, {OUT=>"abc\n"}], # Supported in 2.0.15 ['55', qw(-s 0), {IN=>"abc\nabcd\n"}, {OUT=>"abc\nabcd\n"}], ['56', qw(-s 0), {IN=>"abc\n"}, {OUT=>"abc\n"}], ['57', qw(-w 0), {IN=>"abc\nabcd\n"}, {OUT=>"abc\n"}], # Only account for a number of characters ['60', qw(-w 1), {IN=>"a a\nb a\n"}, {OUT=>"a a\nb a\n"}], ['61', qw(-w 3), {IN=>"a a\nb a\n"}, {OUT=>"a a\nb a\n"}], ['62', qw(-w 1 -f 1), {IN=>"a a a\nb a c\n"}, {OUT=>"a a a\n"}], ['63', qw(-f 1 -w 1), {IN=>"a a a\nb a c\n"}, {OUT=>"a a a\n"}], # The blank after field one is checked too ['64', qw(-f 1 -w 4), {IN=>"a a a\nb a c\n"}, {OUT=>"a a a\nb a c\n"}], ['65', qw(-f 1 -w 3), {IN=>"a a a\nb a c\n"}, {OUT=>"a a a\n"}], # Make sure we don't break if the file contains \0 ['90', '', {IN=>"a\0a\na\n"}, {OUT=>"a\0a\na\n"}], # Check fields separated by tabs and by spaces ['91', '', {IN=>"a\ta\na a\n"}, {OUT=>"a\ta\na a\n"}], ['92', qw(-f 1), {IN=>"a\ta\na a\n"}, {OUT=>"a\ta\na a\n"}], ['93', qw(-f 2), {IN=>"a\ta a\na a a\n"}, {OUT=>"a\ta a\n"}], ['94', qw(-f 1), {IN=>"a\ta\na\ta\n"}, {OUT=>"a\ta\n"}], # Check the count option; add tests for other options too ['101', '-c', {IN=>"a\nb\n"}, {OUT=>" 1 a\n 1 b\n"}], ['102', '-c', {IN=>"a\na\n"}, {OUT=>" 2 a\n"}], # Check the local -D (--all-repeated) option ['110', '-D', {IN=>"a\na\n"}, {OUT=>"a\na\n"}], ['111', qw(-D -w1), {IN=>"a a\na b\n"}, {OUT=>"a a\na b\n"}], ['112', qw(-D -c), {IN=>"a a\na b\n"}, {OUT=>""}, {EXIT=>1}, {ERR=> "$prog: printing all duplicated lines and repeat counts is meaningless\n$try"} ], ['113', '--all-repeated=separate', {IN=>"a\na\n"}, {OUT=>"a\na\n"}], ['114', '--all-repeated=separate', {IN=>"a\na\nb\nc\nc\n"}, {OUT=>"a\na\n\nc\nc\n"}], ['115', '--all-repeated=separate', {IN=>"a\na\nb\nb\nc\n"}, {OUT=>"a\na\n\nb\nb\n"}], ['116', '--all-repeated=prepend', {IN=>"a\na\n"}, {OUT=>"\na\na\n"}], ['117', '--all-repeated=prepend', {IN=>"a\na\nb\nc\nc\n"}, {OUT=>"\na\na\n\nc\nc\n"}], ['118', '--all-repeated=prepend', {IN=>"a\nb\n"}, {OUT=>""}], ['119', '--all-repeated=badoption', {IN=>"a\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>"$prog: invalid argument 'badoption' for '--all-repeated'\n" . "Valid arguments are:\n" . " - 'none'\n" . " - 'prepend'\n" . " - 'separate'\n" . $try}], # Check that -d and -u suppress all output, as POSIX requires. ['120', qw(-d -u), {IN=>"a\na\n\b"}, {OUT=>""}], ['121', "-d -u -w$limits->{UINTMAX_OFLOW}", {IN=>"a\na\n\b"}, {OUT=>""}], ['122', "-d -u -w$limits->{SIZE_OFLOW}", {IN=>"a\na\n\b"}, {OUT=>""}], # Check that --zero-terminated is synonymous with -z. ['123', '--zero-terminated', {IN=>"a\na\nb"}, {OUT=>"a\na\nb\0"}], ['124', '--zero-terminated', {IN=>"a\0a\0b"}, {OUT=>"a\0b\0"}], ); # Set _POSIX2_VERSION=199209 in the environment of each obs-plus* test. foreach my $t (@Tests) { $t->[0] =~ /^obs-plus/ and push @$t, {ENV=>'_POSIX2_VERSION=199209'}; } @Tests = add_z_variants \@Tests; @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/expr.pl�������������������������������������������������������������������0000775�0000000�0000000�00000020322�12102337340�013753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "expr". # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'expr'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $big = '98782897298723498732987928734'; my $big_p1 = '98782897298723498732987928735'; my $big_sum = '197565794597446997465975857469'; my $big_prod = '9758060798730154302876482828124348356960410232492450771490'; my @Tests = ( ['a', '5 + 6', {OUT => '11'}], ['b', '5 - 6', {OUT => '-1'}], ['c', '5 \* 6', {OUT => '30'}], ['d', '100 / 6', {OUT => '16'}], ['e', '100 % 6', {OUT => '4'}], ['f', '3 + -2', {OUT => '1'}], ['g', '-2 + -2', {OUT => '-4'}], # Verify option processing. # Added when option processing broke in the 7.0 beta release ['opt1', '-- -11 + 12', {OUT => '1'}], ['opt2', '-11 + 12', {OUT => '1'}], ['opt3', '-- -1 + 2', {OUT => '1'}], ['opt4', '-1 + 2', {OUT => '1'}], # This evoked a syntax error diagnostic before 2.0.12. ['opt5', '-- 2 + 2', {OUT => '4'}], ['paren1', '\( 100 % 6 \)', {OUT => '4'}], ['paren2', '\( 100 % 6 \) - 8', {OUT => '-4'}], ['paren3', '9 / \( 100 % 6 \) - 8', {OUT => '-6'}], ['paren4', '9 / \( \( 100 % 6 \) - 8 \)', {OUT => '-2'}], ['paren5', '9 + \( 100 % 6 \)', {OUT => '13'}], # Before 2.0.12, this would output '1'. ['0bang', '00 \< 0!', {OUT => '0'}, {EXIT => 1}], # In 5.1.3 and earlier, these would exit with status 0. ['00', '00', {OUT => '00'}, {EXIT => 1}], ['minus0', '-0', {OUT => '-0'}, {EXIT => 1}], # In 5.1.3 and earlier, these would report errors. ['andand', '0 \& 1 / 0', {OUT => '0'}, {EXIT => 1}], ['oror', '1 \| 1 / 0', {OUT => '1'}, {EXIT => 0}], # In 5.1.3 and earlier, this would output the empty string. ['orempty', '"" \| ""', {OUT => '0'}, {EXIT => 1}], # This erroneously succeeded and output '3' before 2.0.12. ['fail-a', '3 + -', {ERR => "$prog: non-integer argument\n"}, {EXIT => 2}], # This erroneously succeeded before 5.3.1. ['bigcmp', '-- -2417851639229258349412352 \< 2417851639229258349412352', {OUT => '1'}, {EXIT => 0}], # In 5.94 and earlier, anchors incorrectly matched newlines. ['anchor', "'a\nb' : 'a\$'", {OUT => '0'}, {EXIT => 1}], # These tests are taken from grep/tests/bre.tests. ['bre1', '"abc" : "a\\(b\\)c"', {OUT => 'b'}], ['bre2', '"a(" : "a("', {OUT => '2'}], ['bre3', '_ : "a\\("', {ERR => "$prog: Unmatched ( or \\(\n"}, {EXIT => 2}], ['bre4', '_ : "a\\(b"', {ERR => "$prog: Unmatched ( or \\(\n"}, {EXIT => 2}], ['bre5', '"a(b" : "a(b"', {OUT => '3'}], ['bre6', '"a)" : "a)"', {OUT => '2'}], ['bre7', '_ : "a\\)"', {ERR => "$prog: Unmatched ) or \\)\n"}, {EXIT => 2}], ['bre8', '_ : "\\)"', {ERR => "$prog: Unmatched ) or \\)\n"}, {EXIT => 2}], ['bre9', '"ab" : "a\\(\\)b"', {OUT => ''}, {EXIT => 1}], ['bre10', '"a^b" : "a^b"', {OUT => '3'}], ['bre11', '"a\$b" : "a\$b"', {OUT => '3'}], ['bre12', '"" : "\\($\\)\\(^\\)"', {OUT => ''}, {EXIT => 1}], ['bre13', '"b" : "a*\\(^b\$\\)c*"', {OUT => 'b'}], ['bre14', '"X|" : "X\\(|\\)" : "(" "X|" : "X\\(|\\)" ")"', {OUT => '1'}], ['bre15', '"X*" : "X\\(*\\)" : "(" "X*" : "X\\(*\\)" ")"', {OUT => '1'}], ['bre16', '"abc" : "\\(\\)"', {OUT => ''}, {EXIT => 1}], ['bre17', '"{1}a" : "\\(\\{1\\}a\\)"', {OUT => '{1}a'}], ['bre18', '"X*" : "X\\(*\\)" : "^*"', {OUT => '1'}], ['bre19', '"{1}" : "^\\{1\\}"', {OUT => '3'}], ['bre20', '"{" : "{"', {OUT => '1'}], ['bre21', '"abbcbd" : "a\\(b*\\)c\\1d"', {OUT => ''}, {EXIT => 1}], ['bre22', '"abbcbbbd" : "a\\(b*\\)c\\1d"', {OUT => ''}, {EXIT => 1}], ['bre23', '"abc" : "\\(.\\)\\1"', {OUT => ''}, {EXIT => 1}], ['bre24', '"abbccd" : "a\\(\\([bc]\\)\\2\\)*d"', {OUT => 'cc'}], ['bre25', '"abbcbd" : "a\\(\\([bc]\\)\\2\\)*d"', {OUT => ''}, {EXIT => 1}], ['bre26', '"abbbd" : "a\\(\\(b\\)*\\2\\)*d"', {OUT => 'bbb'}], ['bre27', '"aabcd" : "\\(a\\)\\1bcd"', {OUT => 'a'}], ['bre28', '"aabcd" : "\\(a\\)\\1bc*d"', {OUT => 'a'}], ['bre29', '"aabd" : "\\(a\\)\\1bc*d"', {OUT => 'a'}], ['bre30', '"aabcccd" : "\\(a\\)\\1bc*d"', {OUT => 'a'}], ['bre31', '"aabcccd" : "\\(a\\)\\1bc*[ce]d"', {OUT => 'a'}], ['bre32', '"aabcccd" : "\\(a\\)\\1b\\(c\\)*cd\$"', {OUT => 'a'}], ['bre33', '"a*b" : "a\\(*\\)b"', {OUT => '*'}], ['bre34', '"ab" : "a\\(**\\)b"', {OUT => ''}, {EXIT => 1}], ['bre35', '"ab" : "a\\(***\\)b"', {OUT => ''}, {EXIT => 1}], ['bre36', '"*a" : "*a"', {OUT => '2'}], ['bre37', '"a" : "**a"', {OUT => '1'}], ['bre38', '"a" : "***a"', {OUT => '1'}], ['bre39', '"ab" : "a\\{1\\}b"', {OUT => '2'}], ['bre40', '"ab" : "a\\{1,\\}b"', {OUT => '2'}], ['bre41', '"aab" : "a\\{1,2\\}b"', {OUT => '3'}], ['bre42', '_ : "a\\{1"', {ERR => "$prog: Unmatched \\{\n"}, {EXIT => 2}], ['bre43', '_ : "a\\{1a"', {ERR => "$prog: Unmatched \\{\n"}, {EXIT => 2}], ['bre44', '_ : "a\\{1a\\}"', {ERR => "$prog: Invalid content of \\{\\}\n"}, {EXIT => 2}], ['bre45', '"a" : "a\\{,2\\}"', {OUT => '1'}], ['bre46', '"a" : "a\\{,\\}"', {OUT => '1'}], ['bre47', '_ : "a\\{1,x\\}"', {ERR => "$prog: Invalid content of \\{\\}\n"}, {EXIT => 2}], ['bre48', '_ : "a\\{1,x"', {ERR => "$prog: Unmatched \\{\n"}, {EXIT => 2}], ['bre49', '_ : "a\\{32768\\}"', {ERR => "$prog: Invalid content of \\{\\}\n"}, {EXIT => 2}, # Map AIX-6's different diagnostic to the one we expect: {ERR_SUBST => 's,Regular expression too big,Invalid content of \\\\{\\\\},'}, ], ['bre50', '_ : "a\\{1,0\\}"', {ERR => "$prog: Invalid content of \\{\\}\n"}, {EXIT => 2}], ['bre51', '"acabc" : ".*ab\\{0,0\\}c"', {OUT => '2'}], ['bre52', '"abcac" : "ab\\{0,1\\}c"', {OUT => '3'}], ['bre53', '"abbcac" : "ab\\{0,3\\}c"', {OUT => '4'}], ['bre54', '"abcac" : ".*ab\\{1,1\\}c"', {OUT => '3'}], ['bre55', '"abcac" : ".*ab\\{1,3\\}c"', {OUT => '3'}], ['bre56', '"abbcabc" : ".*ab\{2,2\}c"', {OUT => '4'}], ['bre57', '"abbcabc" : ".*ab\{2,4\}c"', {OUT => '4'}], ['bre58', '"aa" : "a\\{1\\}\\{1\\}"', {OUT => '1'}], ['bre59', '"aa" : "a*\\{1\\}"', {OUT => '2'}], ['bre60', '"aa" : "a\\{1\\}*"', {OUT => '2'}], ['bre61', '"acd" : "a\\(b\\)?c\\1d"', {OUT => ''}, {EXIT => 1}], ['bre62', '-- "-5" : "-\\{0,1\\}[0-9]*\$"', {OUT => '2'}], ['fail-b', '9 9', {ERR => "$prog: syntax error\n"}, {EXIT => 2}], ['fail-c', {ERR => "$prog: missing operand\n" . "Try '$prog --help' for more information.\n"}, {EXIT => 2}], ['bignum-add', "$big + 1", {OUT => $big_p1}], ['bignum-add2', "$big + $big_p1", {OUT => $big_sum}], ['bignum-sub', "$big_p1 - 1", {OUT => $big}], ['bignum-sub2', "$big_sum - $big", {OUT => $big_p1}], ['bignum-mul', "$big_p1 '*' $big", {OUT => $big_prod}], ['bignum-div', "$big_prod / $big", {OUT => $big_p1}], ); # If using big numbers fails, remove all /^bignum-/ tests qx!expr $big_prod '*' $big_prod '*' $big_prod! or @Tests = grep {$_->[0] !~ /^bignum-/} @Tests; # Append a newline to end of each expected 'OUT' string. my $t; foreach $t (@Tests) { my $arg1 = $t->[1]; my $e; foreach $e (@$t) { $e->{OUT} .= "\n" if ref $e eq 'HASH' and exists $e->{OUT}; } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-dir-fail.sh������������������������������������������������������0000775�0000000�0000000�00000001566�12102337340�016317� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure truncate fails for a directory. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate # truncate on dir not allowed truncate -s+0 . && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-fifo.sh����������������������������������������������������������0000775�0000000�0000000�00000001623�12102337340�015545� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure truncate works on fifos without hanging # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate mkfifo_or_skip_ fifo timeout 10 truncate -s0 fifo test "$?" = 124 && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/mknod.sh������������������������������������������������������������������0000775�0000000�0000000�00000002306�12102337340�014106� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mknod, mkfifo, mkdir -m MODE work with a restrictive umask # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mknod # Ensure fifos are supported mkfifo_or_skip_ fifo umask 777 mknod -m 734 f1 p || fail=1 mode=$(ls -dgo f1|cut -b-10) test $mode = prwx-wxr-- || fail=1 mkfifo -m 734 f2 || fail=1 mode=$(ls -dgo f2|cut -b-10) test $mode = prwx-wxr-- || fail=1 mkdir -m 734 f3 || fail=1 mode=$(ls -dgo f3|cut -b-10) test $mode = drwx-wxr-- || test $mode = drwx-wsr-- || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nproc-avail.sh������������������������������������������������������������0000775�0000000�0000000�00000001650�12102337340�015212� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "nproc" is less than or equal to "nproc --all". # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nproc all=$(nproc --all) available=$(OMP_NUM_THREADS= nproc) test $available -le $all || fail=1 Exit $fail ����������������������������������������������������������������������������������������coreutils-8.21/tests/misc/od-x8.sh������������������������������������������������������������������0000775�0000000�0000000�00000002310�12102337340�013730� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # verify that od -t x8 works properly # This would fail before coreutils-4.5.2. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ od od -t x8 /dev/null >/dev/null || skip_ "od lacks support for 8-byte quantities" echo abcdefgh |tr -d '\n' > in || framework_failure_ od -An -t x8 in > out-raw || fail=1 sed 's/^ //;s/\(..\)/\1 /g;s/ $//' out-raw \ | tr ' ' '\n' \ | sort -n \ > out od -An -t x1 in \ | sed 's/^ //' \ | tr ' ' '\n' \ | sort -n \ > exp compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sha256sum.pl��������������������������������������������������������������0000775�0000000�0000000�00000003717�12102337340�014543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sha256sum". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $sha_degenerate = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; my @Tests = ( ['s1', {IN=> {f=> ''}}, {OUT=>"$sha_degenerate f\n"}], ['s2', {IN=> {f=> 'a'}}, {OUT=>"ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb f\n"}], ['s3', {IN=> {f=> 'abc'}}, {OUT=>"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad f\n"}], ['s4', {IN=> {f=> 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'}}, {OUT=>"248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 f\n"}], ['s8', {IN=> {f=> 'a' x 1000000}}, {OUT=>"cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 f\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sha256sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������coreutils-8.21/tests/misc/stat-fmt.sh���������������������������������������������������������������0000775�0000000�0000000�00000001710�12102337340�014533� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that stat properly handles a format string ending with % # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stat for i in $(seq 50); do fmt=$(printf "%${i}s" %) out=$(stat --form="$fmt" .) test "$out" = "$fmt" || fail=1 done Exit $fail ��������������������������������������������������������coreutils-8.21/tests/misc/od-float.sh���������������������������������������������������������������0000775�0000000�0000000�00000003423�12102337340�014504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test od on floating-point values. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ od export LC_ALL=C # Test for a bug in coreutils up through 8.7: od was losing # information when asked to parse floating-point values. The numeric # tests are valid only on Intel-like hosts, but that should be good # enough to detect regressions, as they are designed to succeed on # non-Intel-like hosts. Also, test for another bug in coreutils 8.7 # on x86: sometimes there was no space between the columns. set x $(echo aaaabaaa | tr ab '\376\377' | od -t fF) || framework_failure_ case "$*" in *0-*) fail=1;; esac case $3,$4 in -1.694740e+38,-1.694740e+38) fail=1;; esac set x $(echo aaaaaaaabaaaaaaa | tr ab '\376\377' | od -t fD) || framework_failure_ case "$*" in *0-*) fail=1;; esac case $3,$4 in -5.314010372517808e+303,-5.314010372517808e+303) fail=1;; esac set x $(echo aaaaaaaaaaaaaaaabaaaaaaaaaaaaaaa | tr ab '\376\377' | od -t fL) || framework_failure_ case "$*" in *0-*) fail=1;; esac case $3,$4 in -1.023442870282055988e+4855,-1.023442870282055988e+4855) fail=1;; esac Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/test.pl�������������������������������������������������������������������0000775�0000000�0000000�00000012045�12102337340�013757� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); my $prog = 'test'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; sub digest_test ($) { my ($t) = @_; my @args; my $ret = 0; my @list_of_hashref; foreach my $e (@$t) { !ref $e and push (@args, $e), next; ref $e eq 'HASH' or (warn "$0: $t->[0]: unexpected entry type\n"), next; exists $e->{EXIT} and $ret = $e->{EXIT}, next; push @list_of_hashref, $e; } shift @args; # discard test name my $flags = join ' ', @args; return ($flags, $ret, \@list_of_hashref); } sub add_inverse_op_tests($) { my ($tests) = @_; my @new; my %inverse_op = ( eq => 'ne', lt => 'ge', gt => 'le', ); foreach my $t (@$tests) { push @new, $t; my $test_name = $t->[0]; my ($flags, $ret, $LoH) = digest_test $t; # Generate corresponding tests of inverse ops. # E.g. generate tests of '-ge' from those of '-lt'. foreach my $op (qw(gt lt eq)) { if ($test_name =~ /$op-/ && $flags =~ / -$op /) { my $inv = $inverse_op{$op}; $test_name =~ s/$op/$inv/; $flags =~ s/-$op/-$inv/; $ret = 1 - $ret; push (@new, [$test_name, $flags, {EXIT=>$ret}, @$LoH]); } } } return @new; } sub add_pn_tests($) { my ($tests) = @_; my @new; # Generate parenthesized and negated versions of each test. # There are a few exceptions. my %not_N = map {$_ => 1} qw (1a); my %not_P = map {$_ => 1} qw (1a streq-6 strne-6 paren-1 paren-2 paren-3 paren-4 paren-5); foreach my $t (@$tests) { push @new, $t; my $test_name = $t->[0]; my ($flags, $ret, $LoH) = digest_test $t; next if $ret == 2; push (@new, ["N-$test_name", "! $flags", {EXIT=>1-$ret}, @$LoH]) unless $not_N{$test_name}; push (@new, ["P-$test_name", "'(' $flags ')'", {EXIT=>$ret}, @$LoH]) unless $not_P{$test_name}; push (@new, ["NP-$test_name", "! '(' $flags ')'", {EXIT=>1-$ret}, @$LoH]) unless $not_P{$test_name}; push (@new, ["NNP-$test_name", "! ! '(' $flags ')'", {EXIT=>$ret, @$LoH}]) unless $not_P{$test_name}; } return @new; } my @Tests = ( ['1a', {EXIT=>1}], ['1b', qw(-z '')], ['1c', 'any-string'], ['1d', qw(-n any-string)], ['1e', "''", {EXIT=>1}], ['1f', '-'], ['1g', '--'], ['1h', '-0'], ['1i', '-f'], ['1j', '--help'], ['1k', '--version'], ['streq-1', qw(t = t)], ['streq-2', qw(t = f), {EXIT=>1}], ['streqeq-1', qw(t == t)], ['streqeq-2', qw(t == f), {EXIT=>1}], ['streq-3', qw(! = !)], ['streq-4', qw(= = =)], ['streq-5', "'(' = '('"], ['streq-6', "'(' = ')'", {EXIT=>1}], ['strne-1', qw(t != t), {EXIT=>1}], ['strne-2', qw(t != f)], ['strne-3', qw(! != !), {EXIT=>1}], ['strne-4', qw(= != =), {EXIT=>1}], ['strne-5', "'(' != '('", {EXIT=>1}], ['strne-6', "'(' != ')'"], ['and-1', qw(t -a t)], ['and-2', qw('' -a t), {EXIT=>1}], ['and-3', qw(t -a ''), {EXIT=>1}], ['and-4', qw('' -a ''), {EXIT=>1}], ['or-1', qw(t -o t)], ['or-2', qw('' -o t)], ['or-3', qw(t -o '')], ['or-4', qw('' -o ''), {EXIT=>1}], ['eq-1', qw(9 -eq 9)], ['eq-2', qw(0 -eq 0)], ['eq-3', qw(0 -eq 00)], ['eq-4', qw(8 -eq 9), {EXIT=>1}], ['eq-5', qw(1 -eq 0), {EXIT=>1}], ['eq-6', "$limits->{UINTMAX_OFLOW} -eq 0", {EXIT=>1}], ['gt-1', qw(5 -gt 5), {EXIT=>1}], ['gt-2', qw(5 -gt 4)], ['gt-3', qw(4 -gt 5), {EXIT=>1}], ['gt-4', qw(-1 -gt -2)], ['gt-5', "$limits->{UINTMAX_OFLOW} -gt $limits->{INTMAX_UFLOW}"], ['lt-1', qw(5 -lt 5), {EXIT=>1}], ['lt-2', qw(5 -lt 4), {EXIT=>1}], ['lt-3', qw(4 -lt 5)], ['lt-4', qw(-1 -lt -2), {EXIT=>1}], ['lt-5', "$limits->{INTMAX_UFLOW} -lt $limits->{UINTMAX_OFLOW}"], ['inv-1', qw(0x0 -eq 00), {EXIT=>2}, {ERR=>"$prog: invalid integer '0x0'\n"}], ['t1', "-t"], ['t2', qw(-t 1), {EXIT=>1}], ['paren-1', "'(' '' ')'", {EXIT=>1}], ['paren-2', "'(' '(' ')'"], ['paren-3', "'(' ')' ')'"], ['paren-4', "'(' ! ')'"], ['paren-5', "'(' -a ')'"], ); @Tests = add_inverse_op_tests \@Tests; @Tests = add_pn_tests \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, \$prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/ptx-overrun.sh������������������������������������������������������������0000775�0000000�0000000�00000002516�12102337340�015312� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Trigger a heap-clobbering bug in ptx from coreutils-6.10 and earlier. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ptx # Using a long file name makes an abort more likely. # Even with no file name, valgrind detects the buffer overrun. f=01234567890123456789012345678901234567890123456789 touch $f empty || framework_failure_ # Specifying a regular expression ending in a lone backslash # would cause ptx to write beyond the end of a malloc'd buffer. ptx -F '\' $f < /dev/null > out || fail=1 ptx -S 'foo\' $f < /dev/null >> out || fail=1 ptx -W 'bar\\\' $f < /dev/null >> out || fail=1 compare out empty || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-spinlock-abuse.sh����������������������������������������������������0000775�0000000�0000000�00000003263�12102337340�016705� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # trigger a bug that would make parallel sort use 100% of one or more # CPU while blocked on output. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort # This isn't terribly expensive, but it must not be run under heavy load. # Since the "very expensive" tests are already run only with -j1, adding # this test to the list ensures it still gets _some_ (albeit minimal) # coverage while not causing false-positive failures in day to day runs. very_expensive_ grep '^#define HAVE_PTHREAD_T 1' "$CONFIG_HEADER" > /dev/null || skip_ 'requires pthreads' seq 100000 > in || framework_failure_ mkfifo_or_skip_ fifo # Arrange for sort to require 8.0+ seconds of wall-clock time, # while actually using far less than 1 second of CPU time. (for i in $(seq 80); do read line; echo $i; sleep .1; done cat > /dev/null) < fifo & # However, under heavy load, it can easily take more than # one second of CPU time, so set a permissive limit: ulimit -t 7 sort --parallel=2 in > fifo || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sha1sum.pl����������������������������������������������������������������0000775�0000000�0000000�00000007565�12102337340�014374� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sha1sum". # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'sha1sum'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $sha_degenerate = "da39a3ee5e6b4b0d3255bfef95601890afd80709"; my @Tests = ( ['s1', {IN=> {f=> ''}}, {OUT=>"$sha_degenerate f\n"}], ['s2', {IN=> {f=> 'a'}}, {OUT=>"86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 f\n"}], ['s3', {IN=> {f=> 'abc'}}, {OUT=>"a9993e364706816aba3e25717850c26c9cd0d89d f\n"}], ['s4', {IN=> {f=> 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'}}, {OUT=>"84983e441c3bd26ebaae4aa1f95129e5e54670f1 f\n"}], ['s5', {IN=> {f=> 'abcdefghijklmnopqrstuvwxyz'}}, {OUT=>"32d10c7b8cf96570ca04ce37f2a19d84240d3a89 f\n"}], ['s6', {IN=> {f=> join ('', 'A'..'Z', 'a'..'z', '0'..'9')}}, {OUT=>"761c457bf73b14d27e9e9265c46f4b4dda11f940 f\n"}], ['s7', {IN=> {f=> '1234567890' x 8}}, {OUT=>"50abf5706a150990a08b2c5ea40fa0e585554732 f\n"}], ['million-a', {IN=> {f=> 'a' x 1000000}}, {OUT=>"34aa973cd4c4daa4f61eeb2bdbad27316534016f f\n"}], ['bs-sha', {IN=> {".\\foo"=> ''}}, {OUT=>"\\$sha_degenerate .\\\\foo\n"}], # The sha1sum and md5sum drivers share a lot of code. # Ensure that sha1sum does *not* share the part that makes # md5sum accept BSD format. ['check-bsd', '--check', {IN=> {'f.md5' => "MD5 (f) = $sha_degenerate\n"}}, {AUX=> {f=> ''}}, {ERR=>"sha1sum: f.md5: no properly formatted " . "SHA1 checksum lines found\n"}, {EXIT=> 1}], ['check-bsd2', '--check', {IN=> {'f.sha1' => "SHA1 (f) = $sha_degenerate\n"}}, {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}], ['check-bsd3', '--check', '--status', {IN=> {'f.sha1' => "SHA1 (f) = $sha_degenerate\n"}}, {AUX=> {f=> 'bar'}}, {EXIT=> 1}], ['check-openssl', '--check', {IN=> {'f.md5' => "MD5(f)= $sha_degenerate\n"}}, {AUX=> {f=> ''}}, {ERR=>"sha1sum: f.md5: no properly formatted " . "SHA1 checksum lines found\n"}, {EXIT=> 1}], ['check-openssl2', '--check', {IN=> {'f.sha1' => "SHA1(f)= $sha_degenerate\n"}}, {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}], ['check-openssl3', '--check', '--status', {IN=> {'f.sha1' => "SHA1(f)= $sha_degenerate\n"}}, {AUX=> {f=> 'bar'}}, {EXIT=> 1}], ['bsd-segv', '--check', {IN=> {'z' => "SHA1 ("}}, {EXIT=> 1}, {ERR=> "$prog: z: no properly formatted SHA1 checksum lines found\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-nanoseconds.sh�������������������������������������������������������0000775�0000000�0000000�00000003700�12102337340�016260� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise format strings involving %:X, %:Y, etc. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. print_ver_ stat . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src # Set this to avoid problems with weird time zones. TZ=UTC0 export TZ # Use a time stamp near the Epoch to avoid trouble with leap seconds. touch -d '1970-01-01 18:43:33.023456789' k || framework_failure_ ls --full-time | grep 18:43:33.023456789 \ || skip_ this file system does not support sub-second time stamps test "$(stat -c %X k)" = 67413 || fail=1 test "$(stat -c %.X k)" = 67413.023456789 || fail=1 test "$(stat -c %.1X k)" = 67413.0 || fail=1 test "$(stat -c %.3X k)" = 67413.023 || fail=1 test "$(stat -c %.6X k)" = 67413.023456 || fail=1 test "$(stat -c %.9X k)" = 67413.023456789 || fail=1 test "$(stat -c %13.6X k)" = ' 67413.023456' || fail=1 test "$(stat -c %013.6X k)" = 067413.023456 || fail=1 test "$(stat -c %-13.6X k)" = '67413.023456 ' || fail=1 test "$(stat -c %18.10X k)" = ' 67413.0234567890' || fail=1 test "$(stat -c %I18.10X k)" = ' 67413.0234567890' || fail=1 test "$(stat -c %018.10X k)" = 0067413.0234567890 || fail=1 test "$(stat -c %-18.10X k)" = '67413.0234567890 ' || fail=1 Exit $fail ����������������������������������������������������������������coreutils-8.21/tests/misc/stty-row-col.sh�����������������������������������������������������������0000775�0000000�0000000�00000005114�12102337340�015361� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Test "stty" with rows and columns. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Setting this envvar to a very small value used to cause e.g., 'stty size' # to generate slightly different output on certain systems. COLUMNS=80 export COLUMNS # Make sure we get English-language behavior. # See the report about a possibly-related Solaris problem by Alexandre Peshansky # <http://lists.gnu.org/archive/html/bug-coreutils/2004-10/msg00035.html>. # Currently stty isn't localized, but it might be in the future. LC_ALL=C export LC_ALL . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stty require_controlling_input_terminal_ trap '' TTOU # Ignore SIGTTOU # Versions of GNU stty from shellutils-1.9.2c and earlier failed # tests #2 and #4 when run on SunOS 4.1.3. tests=' 1 rows_40_columns_80 40_80 2 rows_1_columns_1 1_1 3 rows_40_columns_80 40_80 4 rows_1 1_80 5 columns_1 1_1 6 rows_40 40_1 7 rows_1 1_1 8 columns_80 1_80 9 rows_30 30_80 NA LAST NA ' set $tests saved_size=$(stty size) && test -n "$saved_size" \ || skip_ "can't get window size" # Linux virtual consoles issue an error if you # try to increase their size. So skip in that case. if test "x$saved_size" != "x0 0"; then srow=$(echo $saved_size | cut -d ' ' -f1) scol=$(echo $saved_size | cut -d ' ' -f2) stty rows $(expr $srow + 1) cols $(expr $scol + 1) || skip_ "can't increase window size" fi while :; do test_name=$1 args=$2 expected_result="$(echo $3|tr _ ' ')" test "$args" = empty && args='' test "x$args" = xLAST && break args=$(echo x$args|tr _ ' '|sed 's/^x//') if test "$VERBOSE" = yes; then # echo "testing \$(stty $args; stty size\) = $expected_result ..." echo "test $test_name... " | tr -d '\n' fi stty $args || exit 1 test x"$(stty size 2> /dev/null)" = "x$expected_result" \ && ok=ok || ok=FAIL fail=1 test "$VERBOSE" = yes && echo $ok shift; shift; shift done set x $saved_size stty rows $2 columns $3 || exit 1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/od-multiple-t.sh����������������������������������������������������������0000775�0000000�0000000�00000002757�12102337340�015504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # verify that multiple -t specifiers to od align well # This would fail before coreutils-6.13. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ od # Choose 48 bytes for the input, as that is lcm for 1, 2, 4, 8, 12, 16; # we don't anticipate any other native object size on modern hardware. seq 19 > in || framework_failure_ test $(wc -c < in) -eq 48 || framework_failure_ list='a c dC dS dI dL oC oS oI oL uC uS uI uL xC xS xI xL fF fD fL' for format1 in $list; do for format2 in $list; do od -An -t${format1}z -t${format2}z in > out-raw || fail=1 linewidth=$(head -n1 out-raw | wc -c) linecount=$(wc -l < out-raw) echo $format1 $format2 $(wc -c < out-raw) >> out echo $format1 $format2 $(expr $linewidth '*' $linecount) >> exp done done compare exp out || fail=1 Exit $fail �����������������coreutils-8.21/tests/misc/date-sec.sh���������������������������������������������������������������0000775�0000000�0000000�00000002713�12102337340�014465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that a command like # date --date="21:04 +0100" +%S' always prints '00'. # Before coreutils-5.2.1, it would print the seconds from the current time. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ date # It would be easier simply to sleep for two seconds between two runs # of $(date --date="21:04 +0100" +%S) and ensure that both outputs # are '00', but I prefer not to sleep unconditionally. 'make check' # takes long enough as it is. n=0 # See if the current number of seconds is '00' or just before. s=$(date +%S) case "$s" in 58) n=3;; 59) n=2;; 00) n=1;; esac # If necessary, wait for the system clock to pass the minute mark. test $n = 0 || sleep $n s=$(date --date="21:04 +0100" +%S) case "$s" in 00) ;; *) fail=1;; esac Exit $fail �����������������������������������������������������coreutils-8.21/tests/misc/sort-version.sh�����������������������������������������������������������0000775�0000000�0000000�00000006224�12102337340�015453� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise sort's --sort=version option # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort cat > in << _EOF_ gcc-c++-10.fc9.tar.gz gcc-c++-10.8.12-0.7rc2.fc9.tar.bz2 glibc-2-0.1.beta1.fc10.rpm glibc-common-5-0.2.beta2.fc9.ebuild glibc-common-5-0.2b.deb glibc-common-11b.ebuild glibc-common-11-0.6rc2.ebuild libstdc++-0.5.8.11-0.7rc2.fc10.tar.gz libstdc++-4a.fc8.tar.gz libstdc++-4.10.4.20040204svn.rpm libstdc++-devel-3.fc8.ebuild libstdc++-devel-3a.fc9.tar.gz libstdc++-devel-8.fc8.deb libstdc++-devel-8.6.2-0.4b.fc8 nss_ldap-1-0.2b.fc9.tar.bz2 nss_ldap-1-0.6rc2.fc8.tar.gz nss_ldap-1.0-0.1a.tar.gz nss_ldap-10beta1.fc8.tar.gz nss_ldap-10.11.8.6.20040204cvs.fc10.ebuild string start 5.0.0 end of str string start 5.1.0 end of str string start 5.10.0 end of str string start 5.2.0 end of str string start 5.20.0 end of str string start 5.3.0 end of str string start 5.30.0 end of str string start 5.4.0 end of str string start 5.40.0 end of str string start 5.5.0 end of str string start 5.50.0 end of str string start 5.6.0 end of str string start 5.60.0 end of str string start 5.7.0 end of str string start 5.70.0 end of str string start 5.8.0 end of str string start 5.80.0 end of str string start 5.9.0 end of str string start 5.90.0 end of str _EOF_ cat > exp << _EOF_ gcc-c++-10.fc9.tar.gz gcc-c++-10.8.12-0.7rc2.fc9.tar.bz2 glibc-2-0.1.beta1.fc10.rpm glibc-common-5-0.2.beta2.fc9.ebuild glibc-common-5-0.2b.deb glibc-common-11b.ebuild glibc-common-11-0.6rc2.ebuild libstdc++-0.5.8.11-0.7rc2.fc10.tar.gz libstdc++-4a.fc8.tar.gz libstdc++-4.10.4.20040204svn.rpm libstdc++-devel-3.fc8.ebuild libstdc++-devel-3a.fc9.tar.gz libstdc++-devel-8.fc8.deb libstdc++-devel-8.6.2-0.4b.fc8 nss_ldap-1-0.2b.fc9.tar.bz2 nss_ldap-1-0.6rc2.fc8.tar.gz nss_ldap-1.0-0.1a.tar.gz nss_ldap-10beta1.fc8.tar.gz nss_ldap-10.11.8.6.20040204cvs.fc10.ebuild string start 5.0.0 end of str string start 5.1.0 end of str string start 5.2.0 end of str string start 5.3.0 end of str string start 5.4.0 end of str string start 5.5.0 end of str string start 5.6.0 end of str string start 5.7.0 end of str string start 5.8.0 end of str string start 5.9.0 end of str string start 5.10.0 end of str string start 5.20.0 end of str string start 5.30.0 end of str string start 5.40.0 end of str string start 5.50.0 end of str string start 5.60.0 end of str string start 5.70.0 end of str string start 5.80.0 end of str string start 5.90.0 end of str _EOF_ sort --sort=version -o out in || fail=1 compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/chcon.sh������������������������������������������������������������������0000775�0000000�0000000�00000004106�12102337340�014070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise chcon # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chcon require_root_ require_selinux_ skip_if_mcstransd_is_running_ mkdir -p d/sub/s2 || framework_failure_ touch f g d/sub/1 d/sub/2 || framework_failure_ # Set to a specified context. # Use root:object_r:tmp_t:s0. It is special in that # it works even when mcstransd isn't running. u1=root r1=object_r t1=tmp_t range=s0 ctx=$u1:$r1:$t1:$range chcon $ctx f || fail=1 stat --printf='f|%C\n' f > out || fail=1 # Use --reference. chcon --ref=f g || fail=1 stat --printf='g|%C\n' g >> out || fail=1 # Change the individual parts of the context, one by one. u2=user_u r2=object_r t2=file_t for i in --user=$u2 --role=$r2 --type=$t2 --range=$range; do chcon $i f || fail=1 stat --printf="f|$i|"'%C\n' f >> out || fail=1 done # Same, but change back using the short-named options. for i in -u$u1 -r$r1 -t$t1; do chcon $i f || fail=1 stat --printf="f|$i|"'%C\n' f >> out || fail=1 done cat <<EOF > exp || fail=1 f|$ctx g|$ctx f|--user=$u2|$u2:$r1:$t1:$range f|--role=$r2|$u2:$r2:$t1:$range f|--type=$t2|$u2:$r2:$t2:$range f|--range=$range|$u2:$r2:$t2:$range f|-uroot|root:object_r:file_t:$range f|-robject_r|root:object_r:file_t:$range f|-ttmp_t|root:object_r:tmp_t:$range EOF compare exp out || fail=1 chcon --verbose -u$u1 f > out || fail=1 echo "changing security context of 'f'" > exp compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/dirname.pl����������������������������������������������������������������0000775�0000000�0000000�00000004351�12102337340�014420� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "dirname". # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use File::stat; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $stat_single = stat('/'); my $stat_double = stat('//'); my $double_slash = ($stat_single->dev == $stat_double->dev && $stat_single->ino == $stat_double->ino) ? '/' : '//'; my $prog = 'dirname'; my @Tests = ( ['fail-1', {ERR => "$prog: missing operand\n" . "Try '$prog --help' for more information.\n"}, {EXIT => '1'}], ['a', qw(d/f), {OUT => 'd'}], ['b', qw(/d/f), {OUT => '/d'}], ['c', qw(d/f/), {OUT => 'd'}], ['d', qw(d/f//), {OUT => 'd'}], ['e', qw(f), {OUT => '.'}], ['f', qw(/), {OUT => '/'}], ['g', qw(//), {OUT => "$double_slash"}], ['h', qw(///), {OUT => '/'}], ['i', qw(//a//), {OUT => "$double_slash"}], ['j', qw(///a///), {OUT => '/'}], ['k', qw(///a///b), {OUT => '///a'}], ['l', qw(///a//b/), {OUT => '///a'}], ['m', qw(''), {OUT => '.'}], ['n', qw(a/b c/d), {OUT => "a\nc"}], ); # Append a newline to end of each expected 'OUT' string. my $t; foreach $t (@Tests) { my $arg1 = $t->[1]; my $e; foreach $e (@$t) { $e->{OUT} = "$e->{OUT}\n" if ref $e eq 'HASH' and exists $e->{OUT}; } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/seq-long-double.sh��������������������������������������������������������0000775�0000000�0000000�00000003047�12102337340�015776� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test for this fix: 461231f022bdb3ee392622d31dc475034adceeb2. # Ensure that seq prints exactly two numbers for a 2-number integral # range at the limit of floating point precision. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ seq getlimits_ # Run this test only with glibc and sizeof (long double) > sizeof (double). # Otherwise, there are known failures: # http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14939/focus=14944 cat <<\EOF > long.c #include <features.h> #if defined __GNU_LIBRARY__ && __GLIBC__ >= 2 int foo[sizeof (long double) - sizeof (double) - 1]; #else "run this test only with glibc" #endif EOF $CC -c long.c \ || skip_ \ 'this test runs only on systems with glibc and long double != double' a=$INTMAX_MAX b=$INTMAX_OFLOW seq $a $b > out || fail=1 printf "$a\n$b\n" > exp || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/head-c.sh�����������������������������������������������������������������0000775�0000000�0000000�00000001723�12102337340�014121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise the fix of 2001-08-18, based on test case from Ian Bruce # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ head echo abc > in || framework_failure_ (head -c1; head -c1) < in > out || fail=1 case "$(cat out)" in ab) ;; *) fail=1 ;; esac Exit $fail ���������������������������������������������coreutils-8.21/tests/misc/sha384sum.pl��������������������������������������������������������������0000775�0000000�0000000�00000004247�12102337340�014544� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sha384sum". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $sha_degenerate = "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"; my @Tests = ( ['s1', {IN=> {f=> ''}}, {OUT=>"$sha_degenerate f\n"}], ['s2', {IN=> {f=> 'a'}}, {OUT=>"54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31 f\n"}], ['s3', {IN=> {f=> 'abc'}}, {OUT=>"cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 f\n"}], ['s4', {IN=> {f=> 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'}}, {OUT=>"09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039 f\n"}], ['s8', {IN=> {f=> 'a' x 1000000}}, {OUT=>"9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985 f\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sha384sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tee-dash.sh���������������������������������������������������������������0000775�0000000�0000000�00000001474�12102337340�014475� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test for "tee -". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tee tee - </dev/null || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sha1sum-vec.pl������������������������������������������������������������0000775�0000000�0000000�00000570211�12102337340�015140� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Sample vectors for "sha1sum". # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # The data from which these tests were derived came from here: # http://csrc.nist.gov/cryptval/shs/sha1-vectors.zip my @Tests = ( ['1', {IN=> {f=> '0 1 ^'}}, {OUT=>'DA39A3EE5E6B4B0D3255BFEF95601890AFD80709'}], ['2', {IN=> {f=> '5 0 2 1 2 1 2 ^'}}, {OUT=>'3CDF2936DA2FC556BFA533AB1EB59CE710AC80E5'}], ['3', {IN=> {f=> '5 0 1 3 4 4 4 ^'}}, {OUT=>'19C1E2048FA7393CFBF2D310AD8209EC11D996E5'}], ['4', {IN=> {f=> '7 0 4 3 4 4 1 4 4 ^'}}, {OUT=>'CA775D8C80FAA6F87FA62BECA6CA6089D63B56E5'}], ['5', {IN=> {f=> '10 0 4 1 5 3 4 4 3 1 3 4 ^'}}, {OUT=>'71AC973D0E4B50AE9E5043FF4D615381120A25A0'}], ['6', {IN=> {f=> '10 0 3 1 6 5 5 1 3 6 6 4 ^'}}, {OUT=>'A6B5B9F854CFB76701C3BDDBF374B3094EA49CBA'}], ['7', {IN=> {f=> '13 1 3 2 5 3 3 3 4 6 6 1 4 6 2 ^'}}, {OUT=>'D87A0EE74E4B9AD72E6847C87BDEEB3D07844380'}], ['8', {IN=> {f=> '16 1 3 5 5 1 2 1 3 3 6 3 5 2 3 5 7 2 ^'}}, {OUT=>'1976B8DD509FE66BF09C9A8D33534D4EF4F63BFD'}], ['9', {IN=> {f=> '15 1 8 1 5 3 2 7 4 5 6 7 3 3 1 6 3 ^'}}, {OUT=>'5A78F439B6DB845BB8A558E4CEB106CD7B7FF783'}], ['10', {IN=> {f=> '15 1 4 6 8 2 1 4 2 5 1 6 8 8 6 4 7 ^'}}, {OUT=>'F871BCE62436C1E280357416695EE2EF9B83695C'}], ['11', {IN=> {f=> '18 1 1 2 7 3 8 6 7 5 4 3 4 3 5 3 3 2 6 8 ^'}}, {OUT=>'62B243D1B780E1D31CF1BA2DE3F01C72AEEA0E47'}], ['12', {IN=> {f=> '16 0 9 8 1 8 1 7 6 7 7 1 2 6 9 5 4 7 ^'}}, {OUT=>'1698994A273404848E56E7FDA4457B5900DE1342'}], ['13', {IN=> {f=> '18 0 7 1 7 3 9 4 7 7 5 2 8 1 7 8 2 7 2 9 ^'}}, {OUT=>'056F4CDC02791DA7ED1EB2303314F7667518DEEF'}], ['14', {IN=> {f=> '19 1 2 3 1 8 8 6 9 10 3 10 8 9 2 4 1 5 1 5 9 ^'}}, {OUT=>'9FE2DA967BD8441EEA1C32DF68DDAA9DC1FC8E4B'}], ['15', {IN=> {f=> '19 1 8 5 4 8 1 3 9 5 7 7 2 7 2 7 8 7 4 8 10 ^'}}, {OUT=>'73A31777B4ACE9384EFA8BBEAD45C51A71ABA6DD'}], ['16', {IN=> {f=> '20 1 1 9 7 4 1 4 5 1 10 8 6 4 4 9 9 9 8 2 9 10 ^'}}, {OUT=>'3F9D7C4E2384EDDABFF5DD8A31E23DE3D03F42AC'}], ['17', {IN=> {f=> '19 1 11 6 7 7 2 6 2 6 10 6 9 10 5 11 1 6 8 11 4 ^'}}, {OUT=>'4814908F72B93FFD011135BEE347DE9A08DA838F'}], ['18', {IN=> {f=> '22 0 10 5 10 3 7 8 9 9 1 1 1 10 2 1 5 10 2 9 9 9 7 8 ^'}}, {OUT=>'0978374B67A412A3102C5AA0B10E1A6596FC68EB'}], ['19', {IN=> {f=> '21 0 1 10 1 6 9 4 2 5 2 11 8 12 12 9 8 1 3 10 7 11 12 ^'}}, {OUT=>'44AD6CB618BD935460D46D3F921D87B99AB91C1E'}], ['20', {IN=> {f=> '24 1 3 9 5 12 3 4 2 9 12 11 6 6 1 1 9 5 9 1 4 9 4 10 8 9 ^'}}, {OUT=>'02DC989AF265B09CF8485640842128DCF95E9F39'}], ['21', {IN=> {f=> '25 1 3 2 3 11 1 12 5 6 2 7 8 4 8 8 9 9 8 4 9 1 4 8 10 9 9 ^'}}, {OUT=>'67507B8D497B35D6E99FC01976D73F54AECA75CF'}], ['22', {IN=> {f=> '23 0 11 10 7 10 10 6 10 9 4 5 10 5 8 4 1 10 12 4 6 1 8 11 6 ^'}}, {OUT=>'1EAE0373C1317CB60C36A42A867B716039D441F5'}], ['23', {IN=> {f=> '22 0 12 8 10 4 3 8 5 5 7 11 13 11 12 11 4 12 3 6 5 11 10 5 ^'}}, {OUT=>'9C3834589E5BFFAC9F50950E0199B3EC2620BEC8'}], ['24', {IN=> {f=> '26 1 10 9 6 9 7 2 10 4 4 5 5 2 12 13 5 3 1 10 1 4 7 8 13 13 12 9 ^'}}, {OUT=>'209F7ABC7F3B878EE46CDF3A1FBB9C21C3474F32'}], ['25', {IN=> {f=> '31 0 2 6 5 4 7 3 10 6 13 6 3 9 6 2 10 5 3 8 4 1 11 3 5 3 7 11 1 12 9 12 5 ^'}}, {OUT=>'05FC054B00D97753A9B3E2DA8FBBA3EE808CEF22'}], ['26', {IN=> {f=> '27 1 14 5 1 3 7 2 3 9 3 4 14 4 4 10 8 5 14 1 11 12 12 10 4 13 7 11 9 ^'}}, {OUT=>'0C4980EA3A46C757DFBFC5BAA38AC6C8E72DDCE7'}], ['27', {IN=> {f=> '30 1 4 9 5 5 8 9 5 10 4 2 4 7 9 9 6 3 5 1 8 3 2 13 3 14 9 8 9 10 14 10 ^'}}, {OUT=>'96A460D2972D276928B69864445BEA353BDCFFD2'}], ['28', {IN=> {f=> '27 0 12 9 5 8 7 2 14 12 3 8 14 6 6 4 7 5 7 10 7 11 10 1 9 6 7 12 14 ^'}}, {OUT=>'F3EF04D8FA8C6FA9850F394A4554C080956FA64B'}], ['29', {IN=> {f=> '24 0 12 9 9 2 11 13 12 11 11 6 14 13 10 5 6 8 10 4 3 11 11 14 5 14 ^'}}, {OUT=>'F2A31D875D1D7B30874D416C4D2EA6BAF0FFBAFE'}], ['30', {IN=> {f=> '24 0 15 4 5 3 8 12 15 8 14 15 9 12 12 3 10 13 6 11 10 4 13 14 8 8 ^'}}, {OUT=>'F4942D3B9E9588DCFDC6312A84DF75D05F111C20'}], ['31', {IN=> {f=> '28 1 1 8 1 5 11 4 9 12 4 13 15 5 9 11 7 14 11 1 11 7 8 8 11 1 13 15 12 13 ^'}}, {OUT=>'310207DF35B014E4676D30806FA34424813734DD'}], ['32', {IN=> {f=> '32 1 5 8 3 8 10 7 8 1 5 13 12 14 5 3 6 4 12 15 6 6 10 11 13 9 1 11 6 10 3 7 14 2 ^'}}, {OUT=>'4DA1955B2FA7C7E74E3F47D7360CE530BBF57CA3'}], ['33', {IN=> {f=> '31 0 10 3 5 1 14 11 11 16 1 2 2 11 6 13 15 12 6 5 16 2 14 2 10 12 2 5 5 6 10 13 15 ^'}}, {OUT=>'74C4BC5B26FB4A08602D40CCEC6C6161B6C11478'}], ['34', {IN=> {f=> '34 0 3 10 8 16 9 5 12 15 4 11 13 3 6 5 10 8 1 3 9 3 11 1 2 16 12 10 6 1 9 1 16 5 6 14 ^'}}, {OUT=>'0B103CE297338DFC7395F7715EE47539B556DDB6'}], ['35', {IN=> {f=> '30 1 1 12 4 4 2 15 13 15 11 15 5 11 9 7 15 16 6 16 12 3 2 10 16 5 5 7 1 7 11 16 ^'}}, {OUT=>'EFC72D99E3D2311CE14190C0B726BDC68F4B0821'}], ['36', {IN=> {f=> '34 0 7 9 11 2 5 5 5 4 13 13 14 4 7 12 6 4 8 2 9 9 13 13 3 3 6 7 16 7 6 15 5 8 15 14 ^'}}, {OUT=>'660EDAC0A8F4CE33DA0D8DBAE597650E97687250'}], ['37', {IN=> {f=> '36 1 4 6 16 15 11 14 14 4 7 10 3 4 10 3 6 7 14 4 6 6 5 2 7 8 16 2 12 16 10 14 3 2 3 7 14 3 ^'}}, {OUT=>'FE0A55A988B3B93946A63EB36B23785A5E6EFC3E'}], ['38', {IN=> {f=> '32 0 15 10 9 1 14 10 14 6 6 16 3 2 3 8 3 12 8 11 17 3 9 7 16 14 4 11 15 5 13 9 5 17 ^'}}, {OUT=>'0CBDF2A5781C59F907513147A0DE3CC774B54BF3'}], ['39', {IN=> {f=> '30 0 17 17 13 8 2 6 8 16 1 12 5 17 2 9 8 10 13 14 11 17 12 5 14 9 11 9 11 4 11 12 ^'}}, {OUT=>'663E40FEE5A44BFCB1C99EA5935A6B5BC9F583B0'}], ['40', {IN=> {f=> '30 1 16 6 10 5 8 3 17 16 14 1 15 15 15 6 13 2 11 6 13 11 13 4 6 7 11 11 12 16 13 16 ^'}}, {OUT=>'00162134256952DD9AE6B51EFB159B35C3C138C7'}], ['41', {IN=> {f=> '33 1 16 16 14 16 2 4 16 11 6 15 7 4 17 6 5 7 6 3 14 16 5 17 11 13 1 1 14 13 3 6 14 5 16 ^'}}, {OUT=>'CEB88E4736E354416E2010FC1061B3B53B81664B'}], ['42', {IN=> {f=> '39 1 2 16 13 7 8 6 2 15 1 9 12 4 4 11 13 7 2 11 9 18 4 5 4 8 2 14 9 9 1 8 13 11 15 8 5 9 10 16 7 ^'}}, {OUT=>'A6A2C4B6BCC41DDC67278F3DF4D8D0B9DD7784EF'}], ['43', {IN=> {f=> '34 0 2 7 1 1 17 13 6 11 10 8 5 12 15 6 15 10 12 4 18 1 2 8 11 12 16 10 12 18 11 16 12 11 17 6 ^'}}, {OUT=>'C23D083CD8820B57800A869F5F261D45E02DC55D'}], ['44', {IN=> {f=> '34 1 4 7 13 7 10 7 10 6 1 12 7 18 11 18 2 10 15 10 14 8 18 9 9 12 12 3 13 12 6 4 9 17 13 17 ^'}}, {OUT=>'E8AC31927B78DDEC41A31CA7A44EB7177165E7AB'}], ['45', {IN=> {f=> '40 0 5 7 3 2 1 17 14 4 16 6 13 1 13 6 6 10 1 3 18 3 11 7 9 5 7 11 17 1 9 16 5 15 10 17 3 8 15 17 8 12 ^'}}, {OUT=>'E864EC5DBAB0F9FF6984AB6AD43A8C9B81CC9F9C'}], ['46', {IN=> {f=> '40 0 11 3 15 17 11 1 1 4 3 14 18 4 2 18 8 15 6 4 6 3 15 11 16 10 17 17 9 6 3 2 6 16 4 9 12 6 8 1 11 17 ^'}}, {OUT=>'CFED6269069417A84D6DE2347220F4B858BCD530'}], ['47', {IN=> {f=> '37 1 2 19 12 8 16 14 2 9 16 2 6 6 7 9 10 9 11 9 14 11 15 5 16 9 2 17 2 8 15 8 4 3 14 14 16 16 12 ^'}}, {OUT=>'D9217BFB46C96348722C3783D29D4B1A3FEDA38C'}], ['48', {IN=> {f=> '37 1 11 10 16 12 11 7 14 14 14 6 10 10 1 6 13 19 5 6 4 7 12 12 10 5 10 15 15 8 5 13 17 13 5 6 14 1 19 ^'}}, {OUT=>'DEC24E5554F79697218D317315FA986229CE3350'}], ['49', {IN=> {f=> '38 1 2 6 5 17 9 11 18 18 8 6 13 15 3 3 15 5 13 18 3 2 5 5 14 7 13 4 17 7 2 17 3 18 15 7 15 16 18 11 ^'}}, {OUT=>'83A099DF7071437BA5495A5B0BFBFEFE1C0EF7F3'}], ['50', {IN=> {f=> '38 1 12 8 6 3 17 12 13 19 15 9 7 17 16 15 3 11 11 5 2 13 19 16 2 4 16 7 8 1 2 9 17 12 3 5 18 19 11 9 ^'}}, {OUT=>'AA3198E30891A83E33CE3BFA0587D86A197D4F80'}], ['51', {IN=> {f=> '39 1 14 16 14 8 9 16 5 1 6 3 17 18 16 9 1 15 9 10 9 19 1 3 3 20 11 13 17 1 19 8 3 4 3 7 1 14 19 19 19 ^'}}, {OUT=>'9B6ACBEB4989CBEE7015C7D515A75672FFDE3442'}], ['52', {IN=> {f=> '37 1 18 13 11 5 18 4 19 10 6 19 11 17 10 10 7 9 13 16 9 10 18 4 12 5 16 5 20 12 3 8 10 1 18 1 6 20 14 ^'}}, {OUT=>'B021EB08A436B02658EAA7BA3C88D49F1219C035'}], ['53', {IN=> {f=> '36 0 8 9 6 12 11 7 7 3 17 13 6 20 17 9 20 16 10 12 17 8 11 8 11 10 5 10 14 18 8 19 9 12 12 2 20 19 ^'}}, {OUT=>'CAE36DAB8AEA29F62E0855D9CB3CD8E7D39094B1'}], ['54', {IN=> {f=> '39 0 12 16 20 3 9 9 19 17 13 13 4 17 2 11 7 14 3 6 16 13 10 13 5 16 10 2 8 2 17 19 4 17 7 19 6 9 15 15 6 ^'}}, {OUT=>'02DE8BA699F3C1B0CB5AD89A01F2346E630459D7'}], ['55', {IN=> {f=> '43 0 7 2 18 5 7 18 5 2 15 7 11 10 9 3 2 14 19 3 11 8 18 15 5 3 5 12 15 16 10 17 7 19 16 2 1 16 6 3 19 12 5 18 16 ^'}}, {OUT=>'88021458847DD39B4495368F7254941859FAD44B'}], ['56', {IN=> {f=> '49 1 9 11 2 1 12 11 14 12 14 10 4 11 6 8 16 7 5 11 20 8 17 4 14 4 15 3 2 2 4 3 2 3 14 15 10 2 12 7 3 7 20 20 19 10 2 3 1 10 20 ^'}}, {OUT=>'91A165295C666FE85C2ADBC5A10329DAF0CB81A0'}], ['57', {IN=> {f=> '36 0 19 20 12 5 19 21 5 21 11 14 19 1 17 8 9 4 19 3 17 1 14 21 14 7 6 5 20 14 21 20 4 6 21 7 11 12 ^'}}, {OUT=>'4B31312EAF8B506811151A9DBD162961F7548C4B'}], ['58', {IN=> {f=> '41 0 12 9 11 6 16 18 18 10 11 20 6 12 11 5 7 21 19 18 6 15 21 10 4 14 9 19 10 3 3 5 13 1 8 12 3 13 9 7 10 17 14 ^'}}, {OUT=>'3FE70971B20558F7E9BAC303ED2BC14BDE659A62'}], ['59', {IN=> {f=> '45 0 10 6 8 3 17 18 3 21 19 6 17 15 4 9 15 9 15 14 4 7 14 8 10 13 4 11 10 7 6 21 1 14 5 11 7 7 2 13 13 3 9 13 8 14 20 ^'}}, {OUT=>'93FB769D5BF49D6C563685954E2AECC024DC02D6'}], ['60', {IN=> {f=> '39 1 3 7 18 4 9 9 5 15 13 17 10 15 16 20 8 19 9 10 9 1 19 14 21 2 18 13 10 4 18 16 4 21 15 10 18 19 3 12 18 ^'}}, {OUT=>'BC8827C3E614D515E83DEA503989DEA4FDA6EA13'}], ['61', {IN=> {f=> '41 0 14 4 13 11 1 11 1 10 2 12 4 21 10 21 18 9 2 16 7 20 6 7 12 19 20 1 13 12 10 8 21 15 7 19 13 6 8 19 20 18 19 ^'}}, {OUT=>'E83868DBE4A389AB48E61CFC4ED894F32AE112AC'}], ['62', {IN=> {f=> '37 0 11 18 1 17 14 15 20 16 20 8 2 17 10 4 21 5 19 19 14 22 21 18 13 14 1 3 12 11 11 4 22 13 5 18 7 21 21 ^'}}, {OUT=>'55C95459CDE4B33791B4B2BCAAF840930AF3F3BD'}], ['63', {IN=> {f=> '48 0 9 22 19 12 8 16 5 17 5 9 1 2 9 6 12 6 1 7 4 3 15 1 14 1 12 3 10 2 10 14 21 13 17 6 6 17 1 21 2 14 16 17 9 11 20 21 11 18 ^'}}, {OUT=>'36BB0E2BA438A3E03214D9ED2B28A4D5C578FCAA'}], ['64', {IN=> {f=> '50 1 12 8 20 13 2 9 20 9 14 10 1 16 2 22 6 4 16 14 15 1 12 4 14 9 21 3 3 9 8 21 15 14 8 4 14 4 2 3 8 12 8 6 1 2 18 20 15 3 19 10 ^'}}, {OUT=>'3ACBF874199763EBA20F3789DFC59572ACA4CF33'}], ['65', {IN=> {f=> '44 0 10 20 14 6 3 4 21 1 12 4 18 2 6 7 6 9 20 14 10 10 19 17 21 12 15 17 7 10 11 8 10 12 1 19 19 9 18 21 4 18 11 9 22 5 ^'}}, {OUT=>'86BE037C4D509C9202020767D860DAB039CADACE'}], ['66', {IN=> {f=> '47 0 15 8 15 3 5 6 2 19 12 17 4 20 8 11 20 2 18 4 16 20 12 9 9 6 16 21 16 3 16 18 3 19 5 16 2 4 2 12 11 15 11 14 17 2 10 18 8 ^'}}, {OUT=>'51B57D7080A87394EEC3EB2E0B242E553F2827C9'}], ['67', {IN=> {f=> '48 1 5 13 3 21 5 3 6 18 18 10 1 21 21 7 1 13 12 19 1 14 6 8 21 19 21 11 19 13 2 13 4 1 10 22 16 4 9 4 10 16 3 7 15 11 9 13 17 12 ^'}}, {OUT=>'1EFBFA78866315CE6A71E457F3A750A38FACAB41'}], ['68', {IN=> {f=> '45 0 14 7 6 2 20 3 6 19 19 10 2 22 12 17 12 1 20 7 7 15 20 6 18 8 3 14 23 18 15 4 7 5 23 15 7 14 10 10 19 17 2 4 15 17 21 ^'}}, {OUT=>'57D6CB41AEEC20236F365B3A490C61D0CFA39611'}], ['69', {IN=> {f=> '45 1 15 11 8 9 17 5 12 18 14 6 20 17 21 12 16 9 22 9 20 15 2 22 11 2 6 11 9 8 2 4 14 19 3 21 21 23 8 2 11 4 8 4 20 22 11 ^'}}, {OUT=>'C532CB64B4BA826372BCCF2B4B5793D5B88BB715'}], ['70', {IN=> {f=> '38 0 21 18 22 10 19 9 14 17 23 21 10 7 15 13 16 5 4 10 13 14 20 23 12 20 23 18 10 12 8 21 11 6 12 7 19 14 18 17 ^'}}, {OUT=>'15833B5631032663E783686A209C6A2B47A1080E'}], ['71', {IN=> {f=> '40 0 18 22 6 9 22 5 23 13 6 8 23 20 22 5 22 15 19 20 9 9 1 13 13 10 14 13 5 22 14 21 9 21 19 14 14 4 18 13 12 14 ^'}}, {OUT=>'D04F2043C96E10CD83B574B1E1C217052CD4A6B2'}], ['72', {IN=> {f=> '48 1 7 3 15 5 17 14 23 14 5 17 22 11 1 8 13 23 6 21 3 6 11 7 23 8 6 21 4 4 22 19 13 8 5 19 7 5 23 1 4 19 11 23 11 21 14 1 3 21 ^'}}, {OUT=>'E8882627C64DB743F7DB8B4413DD033FC63BEB20'}], ['73', {IN=> {f=> '43 0 22 14 11 7 18 16 17 24 12 12 3 13 19 16 22 4 16 4 6 23 8 18 11 2 3 20 22 9 21 8 23 1 23 20 7 16 13 23 4 13 3 7 22 ^'}}, {OUT=>'CD2D32286B8867BC124A0AF2236FC74BE3622199'}], ['74', {IN=> {f=> '47 1 23 6 13 19 2 3 7 2 9 9 15 6 13 4 22 6 19 20 1 9 7 14 1 15 3 23 24 22 18 12 12 17 19 10 8 11 22 12 10 2 20 15 18 17 18 7 19 ^'}}, {OUT=>'019B70D745375091ED5C7B218445EC986D0F5A82'}], ['75', {IN=> {f=> '47 1 12 21 6 12 4 7 18 17 3 2 14 24 14 1 23 1 11 15 10 6 18 20 7 1 8 1 16 6 20 23 23 21 10 10 12 24 10 11 23 2 12 23 9 3 24 24 10 ^'}}, {OUT=>'E5FF5FEC1DADBAED02BF2DAD4026BE6A96B3F2AF'}], ['76', {IN=> {f=> '52 0 14 10 18 15 14 5 16 11 22 2 15 24 8 22 1 4 24 9 10 15 3 9 5 4 17 15 9 12 19 19 1 3 10 6 8 3 17 8 18 24 19 3 4 15 4 9 2 24 5 20 13 13 ^'}}, {OUT=>'6F4E23B3F2E2C068D13921FE4E5E053FFED4E146'}], ['77', {IN=> {f=> '42 0 20 17 19 22 13 8 10 19 15 11 1 14 17 20 22 10 7 11 16 9 21 22 17 23 12 15 4 24 7 21 18 2 21 16 1 19 18 20 11 3 15 17 ^'}}, {OUT=>'25E179602A575C915067566FBA6DA930E97F8678'}], ['78', {IN=> {f=> '50 0 18 1 6 14 5 5 5 19 13 10 24 19 16 24 15 13 2 19 15 24 21 17 4 13 17 1 1 9 1 10 2 18 1 21 19 5 18 12 2 22 16 23 15 19 6 18 9 1 23 5 ^'}}, {OUT=>'67DED0E68E235C8A523E051E86108EEB757EFBFD'}], ['79', {IN=> {f=> '51 0 21 13 14 11 18 12 13 3 19 9 20 22 20 2 11 12 6 1 12 16 18 2 9 8 4 3 11 17 11 5 4 19 16 11 23 13 18 1 20 8 2 16 16 21 4 19 5 5 20 24 16 ^'}}, {OUT=>'AF78536EA83C822796745556D62A3EE82C7BE098'}], ['80', {IN=> {f=> '53 1 20 25 17 11 8 4 19 25 17 7 16 21 6 4 8 2 15 9 2 9 19 3 6 3 3 10 25 13 15 7 8 20 21 12 10 12 5 24 11 20 3 13 13 16 9 13 10 3 9 16 3 7 25 ^'}}, {OUT=>'64D7AC52E47834BE72455F6C64325F9C358B610D'}], ['81', {IN=> {f=> '49 1 9 9 14 2 13 17 25 2 18 5 19 23 9 25 9 10 23 12 12 7 13 8 15 7 1 6 21 2 8 7 6 16 14 14 12 15 13 24 10 15 11 10 8 14 15 21 25 21 25 ^'}}, {OUT=>'9D4866BAA3639C13E541F250FFA3D8BC157A491F'}], ['82', {IN=> {f=> '47 0 9 18 20 22 21 20 11 14 23 22 10 13 14 8 19 12 2 11 20 23 13 4 10 6 5 7 23 11 3 16 8 21 4 8 18 5 12 14 8 6 20 19 24 8 23 17 23 ^'}}, {OUT=>'2E258811961D3EB876F30E7019241A01F9517BEC'}], ['83', {IN=> {f=> '48 1 7 19 1 18 1 14 22 13 14 5 8 22 18 14 25 17 11 12 22 2 12 12 16 12 13 18 17 12 17 14 18 8 25 9 23 5 3 8 14 24 17 7 3 3 23 17 22 19 ^'}}, {OUT=>'8E0EBC487146F83BC9077A1630E0FB3AB3C89E63'}], ['84', {IN=> {f=> '51 1 19 17 16 22 24 14 16 20 23 20 9 19 16 7 12 16 5 8 9 7 10 21 24 10 11 19 1 21 14 14 19 3 22 8 12 20 1 18 5 6 5 12 14 1 1 11 9 22 3 24 4 ^'}}, {OUT=>'CE8953741FFF3425D2311FBBF4AB481B669DEF70'}], ['85', {IN=> {f=> '52 1 6 1 11 16 1 12 8 11 11 17 10 22 7 3 10 2 6 4 24 16 24 19 4 5 18 11 12 9 20 21 25 2 21 18 10 20 25 21 3 17 17 5 8 22 25 19 8 10 19 7 11 18 ^'}}, {OUT=>'789D1D2DAB52086BD90C0E137E2515ED9C6B59B5'}], ['86', {IN=> {f=> '44 0 26 14 21 25 25 4 9 13 5 8 9 21 8 12 26 24 9 24 15 1 23 22 16 14 8 22 15 19 24 20 7 8 15 24 12 4 4 23 21 13 19 15 21 12 ^'}}, {OUT=>'B76CE7472700DD68D6328B7AA8437FB051D15745'}], ['87', {IN=> {f=> '59 1 15 7 3 21 20 8 22 14 23 26 19 2 10 18 3 5 3 1 9 15 15 3 7 13 23 9 7 1 13 17 14 25 9 16 2 2 6 13 7 19 25 17 1 5 21 2 7 22 5 6 25 3 12 19 6 2 4 24 17 ^'}}, {OUT=>'F218669B596C5FFB0B1C14BD03C467FC873230A0'}], ['88', {IN=> {f=> '60 0 9 18 20 19 4 11 14 1 6 8 26 6 9 22 4 10 2 7 21 9 8 24 25 14 22 12 22 3 23 3 3 20 6 11 23 6 1 7 5 18 5 15 25 26 1 1 10 11 11 4 12 11 20 3 14 2 3 2 23 15 ^'}}, {OUT=>'1FF3BDBE0D504CB0CDFAB17E6C37ABA6B3CFFDED'}], ['89', {IN=> {f=> '49 0 12 17 24 11 8 6 24 16 15 22 21 14 6 12 20 19 5 5 12 11 6 23 2 16 23 7 24 6 21 2 17 17 5 25 11 25 20 25 24 18 6 12 19 25 7 6 5 2 25 ^'}}, {OUT=>'2F3CBACBB14405A4652ED52793C1814FD8C4FCE0'}], ['90', {IN=> {f=> '54 1 12 16 1 15 7 1 26 19 19 13 20 11 17 6 20 5 24 24 1 21 11 9 20 21 15 10 19 26 3 2 6 7 12 9 10 8 14 10 15 5 17 8 21 1 20 25 6 19 8 3 22 16 16 20 ^'}}, {OUT=>'982C8AB6CE164F481915AF59AAED9FFF2A391752'}], ['91', {IN=> {f=> '63 0 17 13 11 10 17 15 12 6 13 14 17 4 12 10 24 5 13 24 3 5 2 5 11 14 8 5 10 17 16 8 4 14 21 15 3 6 17 25 8 2 3 3 19 10 13 22 22 8 2 13 25 17 2 1 19 1 14 20 2 5 4 15 24 ^'}}, {OUT=>'5CD92012D488A07ECE0E47901D0E083B6BD93E3F'}], ['92', {IN=> {f=> '49 0 14 20 7 25 20 26 20 16 7 17 17 22 1 13 6 5 1 18 14 15 23 15 10 5 19 18 18 26 12 13 3 25 12 21 16 24 4 16 3 6 26 26 10 20 13 1 20 24 15 ^'}}, {OUT=>'69603FEC02920851D4B3B8782E07B92BB2963009'}], ['93', {IN=> {f=> '56 0 3 8 14 5 5 7 11 13 11 26 11 4 26 17 20 19 11 10 3 10 14 9 6 9 7 16 10 4 4 19 19 2 26 13 19 17 15 24 15 4 21 22 13 13 12 22 2 14 20 5 18 7 17 24 20 20 ^'}}, {OUT=>'3E90F76437B1EA44CF98A08D83EA24CECF6E6191'}], ['94', {IN=> {f=> '58 1 6 17 9 20 2 10 19 3 22 4 1 11 3 5 3 21 11 15 12 23 26 5 2 27 6 5 16 6 3 2 23 5 3 20 20 4 24 2 18 21 7 14 10 27 23 6 24 6 19 23 3 9 22 16 21 17 19 23 ^'}}, {OUT=>'34C09F107C42D990EB4881D4BF2DDDCAB01563AE'}], ['95', {IN=> {f=> '58 1 17 7 21 19 6 16 15 15 20 14 2 25 19 14 18 19 7 9 1 14 11 10 16 3 23 14 26 10 11 1 18 1 12 24 19 19 1 7 2 3 24 7 12 9 2 8 16 20 24 5 26 26 4 9 2 7 25 17 ^'}}, {OUT=>'474BE0E5892EB2382109BFC5E3C8249A9283B03D'}], ['96', {IN=> {f=> '54 1 8 12 18 14 26 7 17 18 4 20 1 16 14 21 26 4 6 8 24 11 25 15 24 16 23 4 10 23 21 24 15 10 9 26 7 14 24 21 6 20 5 17 16 17 1 3 12 1 4 13 3 9 21 26 ^'}}, {OUT=>'A04B4F75051786682483252438F6A75BF4705EC6'}], ['97', {IN=> {f=> '56 1 7 18 11 1 19 20 23 12 12 27 13 13 15 16 13 1 16 15 12 26 3 16 16 8 17 13 21 4 6 5 19 14 16 4 16 11 14 18 18 27 9 13 21 3 26 22 3 7 6 4 26 3 15 8 25 21 ^'}}, {OUT=>'BE88A6716083EB50ED9416719D6A247661299383'}], ['98', {IN=> {f=> '50 1 20 13 9 11 20 6 11 21 27 25 20 7 4 18 26 16 27 5 12 19 7 23 6 25 25 2 11 13 25 21 18 17 6 12 14 13 24 11 14 19 26 27 25 6 1 15 4 7 27 15 ^'}}, {OUT=>'C67E38717FEE1A5F65EC6C7C7C42AFC00CD37F04'}], ['99', {IN=> {f=> '51 0 15 16 26 27 23 14 12 28 22 15 8 19 2 20 13 1 24 2 25 1 6 19 19 8 11 24 24 21 13 27 5 11 28 17 7 25 6 23 24 14 25 12 5 13 26 2 5 8 10 16 17 ^'}}, {OUT=>'959AC4082388E19E9BE5DE571C047EF10C174A8D'}], ['100', {IN=> {f=> '58 1 5 26 18 19 21 3 12 11 13 4 14 22 22 14 16 13 3 22 16 23 5 19 6 13 10 26 17 27 26 4 3 25 6 14 2 3 5 7 23 11 22 8 25 2 9 25 18 17 8 2 14 4 19 1 5 27 13 24 ^'}}, {OUT=>'BAA7AA7B7753FA0ABDC4A541842B5D238D949F0A'}], ['101', {IN=> {f=> '53 0 2 27 28 2 17 23 10 27 18 26 7 22 16 3 27 1 26 21 28 10 3 6 2 2 10 17 13 16 6 17 21 23 13 20 22 5 6 11 12 12 8 23 13 17 9 23 20 3 28 27 12 17 22 ^'}}, {OUT=>'351394DCEBC08155D100FCD488578E6AE71D0E9C'}], ['102', {IN=> {f=> '59 0 28 19 5 21 4 27 8 1 19 14 20 6 7 9 1 6 22 3 19 26 14 8 6 7 19 15 23 1 17 16 6 26 14 5 22 25 4 7 10 16 21 10 18 19 24 16 23 8 3 17 28 18 10 2 5 3 21 21 15 ^'}}, {OUT=>'AB8BE94C5AF60D9477EF1252D604E58E27B2A9EE'}], ['103', {IN=> {f=> '58 0 6 24 1 4 24 18 10 22 1 21 12 5 4 4 20 25 24 26 8 25 11 2 7 27 22 19 4 18 27 10 28 4 12 24 8 16 12 11 16 17 25 8 12 16 1 9 9 10 5 24 23 18 5 14 18 8 4 28 ^'}}, {OUT=>'3429EC74A695FDD3228F152564952308AFE0680A'}], ['104', {IN=> {f=> '61 0 5 17 8 28 1 22 4 11 3 2 17 3 14 9 27 13 18 24 9 8 7 28 25 14 21 27 24 6 18 16 2 12 15 9 14 10 1 8 17 4 6 15 26 11 15 2 28 20 26 16 3 7 5 8 9 26 10 12 25 11 22 ^'}}, {OUT=>'907FA46C029BC67EAA8E4F46E3C2A232F85BD122'}], ['105', {IN=> {f=> '53 0 9 13 24 15 20 2 4 8 2 22 20 19 4 15 14 28 13 25 10 10 12 28 24 22 26 28 15 9 11 26 19 22 27 2 21 8 20 23 26 12 10 21 9 15 13 25 7 26 1 13 5 9 20 ^'}}, {OUT=>'2644C87D1FBBBC0FC8D65F64BCA2492DA15BAAE4'}], ['106', {IN=> {f=> '58 0 3 9 21 22 7 1 23 28 1 2 8 22 12 18 28 5 18 14 7 11 17 20 20 7 21 13 8 28 21 22 2 16 20 15 28 9 3 22 13 10 23 4 16 11 14 1 10 8 14 14 15 18 13 12 21 18 25 28 ^'}}, {OUT=>'110A3EEB408756E2E81ABAF4C5DCD4D4C6AFCF6D'}], ['107', {IN=> {f=> '60 1 29 20 2 29 22 8 16 20 4 12 9 6 12 16 16 7 9 20 29 11 9 4 1 15 25 16 29 10 22 7 2 8 5 18 14 23 24 4 6 26 3 11 6 12 1 7 14 24 14 6 10 21 16 23 29 25 6 14 17 24 ^'}}, {OUT=>'CD4FDC35FAC7E1ADB5DE40F47F256EF74D584959'}], ['108', {IN=> {f=> '64 0 12 10 5 10 15 25 8 15 3 7 13 25 16 14 1 29 22 26 15 27 9 1 8 8 28 6 13 5 13 3 15 5 23 8 23 2 5 5 4 17 13 14 7 17 12 27 3 18 5 7 5 26 18 15 22 28 16 13 7 2 23 19 25 15 ^'}}, {OUT=>'8E6E273208AC256F9ECCF296F3F5A37BC8A0F9F7'}], ['109', {IN=> {f=> '56 1 17 7 16 25 23 11 11 15 2 13 9 26 2 24 26 7 28 11 2 29 7 22 23 5 28 19 1 27 29 1 24 11 18 20 3 13 11 7 3 15 17 24 1 18 13 6 3 25 27 16 28 18 24 8 23 22 ^'}}, {OUT=>'FE0606100BDBC268DB39B503E0FDFE3766185828'}], ['110', {IN=> {f=> '51 1 29 28 6 28 14 12 28 27 22 4 14 25 1 3 9 7 11 14 15 16 10 19 12 19 11 20 13 28 4 27 28 7 27 12 4 28 21 17 22 20 17 15 15 23 22 13 12 21 22 21 29 ^'}}, {OUT=>'6C63C3E58047BCDB35A17F74EEBA4E9B14420809'}], ['111', {IN=> {f=> '64 1 12 14 12 18 27 8 7 4 9 14 16 15 8 11 21 20 10 10 21 23 20 2 11 23 1 11 1 5 3 23 16 15 27 14 5 16 3 22 2 3 24 3 19 29 4 4 10 8 20 14 15 1 26 12 27 25 4 28 22 11 19 19 24 9 ^'}}, {OUT=>'BCC2BD305F0BCDA8CF2D478EF9FE080486CB265F'}], ['112', {IN=> {f=> '60 1 20 8 9 5 25 19 17 19 15 7 24 24 21 3 20 16 8 3 17 28 18 29 9 23 9 10 29 4 12 24 15 5 8 22 17 29 12 3 8 29 15 21 21 4 7 20 7 10 7 26 10 16 24 6 7 12 8 12 15 17 ^'}}, {OUT=>'CE5223FD3DD920A3B666481D5625B16457DCB5E8'}], ['113', {IN=> {f=> '60 0 9 17 11 28 12 26 26 6 29 13 10 20 6 23 10 4 3 26 26 14 20 20 25 14 13 15 24 14 11 4 23 27 24 20 9 16 17 24 13 12 6 1 14 26 25 7 8 21 1 19 3 2 2 17 21 13 5 9 21 11 ^'}}, {OUT=>'948886776E42E4F5FAE1B2D0C906AC3759E3F8B0'}], ['114', {IN=> {f=> '54 0 25 1 27 24 6 23 16 5 1 20 29 22 25 9 25 10 3 28 28 25 19 18 16 24 14 15 5 28 12 28 26 29 2 15 15 9 5 18 19 22 12 15 4 6 15 24 16 9 4 26 25 18 27 12 ^'}}, {OUT=>'4C12A51FCFE242F832E3D7329304B11B75161EFB'}], ['115', {IN=> {f=> '61 1 20 4 26 12 3 22 1 22 30 3 28 10 9 24 14 29 6 30 3 10 20 14 6 3 19 21 21 28 16 18 11 30 11 20 30 1 9 8 11 5 19 10 24 4 22 4 2 26 5 15 20 8 3 13 30 18 8 1 25 28 19 ^'}}, {OUT=>'C54BDD2050504D92F551D378AD5FC72C9ED03932'}], ['116', {IN=> {f=> '56 1 20 15 21 18 18 12 16 13 24 9 21 2 28 6 1 23 9 18 27 27 4 9 13 10 8 14 16 15 12 11 14 21 14 10 11 25 17 17 30 21 13 27 26 26 22 14 13 17 21 19 9 9 20 23 13 28 ^'}}, {OUT=>'8F53E8FA79EA09FD1B682AF5ED1515ECA965604C'}], ['117', {IN=> {f=> '59 1 10 28 24 10 22 27 23 27 8 17 14 6 4 21 26 15 1 8 29 27 6 28 15 3 27 25 25 14 19 13 29 8 24 2 8 2 4 12 19 11 10 6 26 14 22 24 30 10 11 12 2 12 17 23 8 8 12 28 12 ^'}}, {OUT=>'2D7E17F6294524CE78B33EAB72CDD08E5FF6E313'}], ['118', {IN=> {f=> '56 0 14 28 2 17 4 8 3 26 9 23 21 30 30 20 4 13 28 29 9 3 17 7 19 30 28 1 2 20 9 12 24 15 30 20 27 3 23 11 6 29 25 23 26 17 20 10 22 15 23 6 25 5 4 30 2 29 ^'}}, {OUT=>'64582B4B57F782C9302BFE7D07F74AA176627A3A'}], ['119', {IN=> {f=> '63 1 23 15 27 14 26 1 1 7 19 12 7 6 20 18 14 4 15 17 28 7 11 7 8 9 22 17 12 5 23 18 25 18 6 12 26 30 12 30 14 3 1 18 10 20 27 21 8 6 24 26 20 11 24 7 2 4 18 15 14 30 16 19 14 ^'}}, {OUT=>'6D88795B71D3E386BBD1EB830FB9F161BA98869F'}], ['120', {IN=> {f=> '52 0 27 15 4 19 25 29 29 7 14 18 9 11 9 27 11 15 29 9 28 20 2 30 26 21 17 8 28 17 22 29 24 8 11 18 29 15 6 7 27 27 17 24 18 23 11 19 8 30 5 24 22 24 ^'}}, {OUT=>'86AD34A6463F12CEE6DE9596ABA72F0DF1397FD1'}], ['121', {IN=> {f=> '66 1 25 15 28 23 5 10 21 5 8 7 3 10 19 17 6 9 15 29 10 7 4 1 16 21 16 29 13 18 5 3 8 15 8 21 29 20 5 27 2 13 27 7 7 30 2 18 26 10 2 5 29 21 15 25 26 24 8 12 20 3 9 10 30 7 12 29 ^'}}, {OUT=>'7EB46685A57C0D466152DC339C8122548C757ED1'}], ['122', {IN=> {f=> '53 1 30 26 20 11 22 19 27 2 16 10 6 4 24 17 20 25 20 15 8 23 23 20 30 18 16 3 30 15 26 23 28 7 21 8 7 31 31 14 26 18 3 1 26 28 15 25 11 31 3 25 9 21 30 ^'}}, {OUT=>'E7A98FB0692684054407CC221ABC60C199D6F52A'}], ['123', {IN=> {f=> '67 0 2 6 14 4 9 5 28 8 17 22 1 4 8 7 10 14 19 10 14 8 27 9 24 26 4 30 11 8 19 5 21 7 2 27 20 16 20 20 22 14 13 16 26 14 10 3 25 22 25 23 21 10 15 15 29 8 13 4 2 13 22 20 7 4 20 31 23 ^'}}, {OUT=>'34DF1306662206FD0A5FC2969A4BEEC4EB0197F7'}], ['124', {IN=> {f=> '65 0 2 2 28 13 19 14 12 23 27 6 2 14 2 22 6 25 30 29 31 13 14 16 31 12 16 30 5 14 31 11 4 1 1 25 21 13 26 22 21 5 22 14 29 1 21 3 14 30 4 2 29 12 15 23 3 15 5 1 6 23 22 13 1 14 23 ^'}}, {OUT=>'56CF7EBF08D10F0CB9FE7EE3B63A5C3A02BCB450'}], ['125', {IN=> {f=> '59 1 25 5 15 6 13 3 22 11 23 31 24 6 5 20 4 14 3 29 8 29 19 7 29 23 25 28 19 11 15 27 21 14 1 19 20 26 12 7 12 1 18 13 29 28 23 29 14 23 7 1 9 29 24 5 30 18 5 25 30 ^'}}, {OUT=>'3BAE5CB8226642088DA760A6F78B0CF8EDDEA9F1'}], ['126', {IN=> {f=> '55 1 31 25 13 7 24 25 24 1 12 19 9 7 6 28 20 14 28 21 19 31 20 20 6 24 18 27 24 4 18 21 1 31 15 1 15 2 27 4 26 25 4 23 19 2 31 22 30 21 22 5 27 12 30 28 31 ^'}}, {OUT=>'6475DF681E061FA506672C27CBABFA9AA6DDFF62'}], ['127', {IN=> {f=> '62 0 27 15 18 14 25 15 17 7 28 11 28 29 30 1 17 12 10 2 18 20 21 2 11 12 5 4 12 25 14 5 5 24 22 18 31 15 22 29 11 3 21 31 21 27 3 28 7 10 25 2 15 30 9 30 7 22 15 9 3 20 24 14 ^'}}, {OUT=>'79D81991FA4E4957C8062753439DBFD47BBB277D'}], ['128', {IN=> {f=> '60 0 28 14 18 9 27 14 22 27 31 10 8 14 7 15 7 20 5 26 1 29 7 17 17 8 3 13 27 18 8 31 27 28 22 22 17 19 18 18 11 19 13 25 10 19 6 28 4 31 23 10 18 26 31 5 10 13 12 8 15 27 ^'}}, {OUT=>'BAE224477B20302E881F5249F52EC6C34DA8ECEF'}], ['129', {IN=> {f=> '60 1 24 22 4 29 22 31 28 20 4 16 21 3 1 15 5 15 6 30 3 29 29 7 27 20 2 20 31 22 26 9 29 16 4 26 32 17 20 14 28 17 19 6 24 11 26 28 5 18 15 8 16 20 21 4 9 12 4 8 17 29 ^'}}, {OUT=>'EDE4DEB4293CFE4138C2C056B7C46FF821CC0ACC'}], ['130', {IN=> {f=> '69 1 5 3 11 15 12 24 31 23 1 6 28 2 8 31 6 7 30 5 19 23 12 6 9 31 19 17 24 25 22 6 12 16 3 7 9 9 11 29 4 11 2 5 13 29 10 12 30 32 18 28 18 27 3 30 4 4 26 6 13 31 13 2 11 7 24 4 17 29 12 ^'}}, {OUT=>'A771FA5C812BD0C9596D869EC99E4F4AC988B13F'}], ['131', {IN=> {f=> '95 0 21 19 21 23 11 42 36 2 13 4 1 33 22 16 27 9 4 33 16 3 30 15 11 32 13 17 38 32 9 38 4 36 15 32 27 19 42 18 6 36 22 10 29 12 25 40 15 29 23 28 30 4 8 11 24 9 10 31 28 43 23 16 29 33 5 40 26 3 19 12 36 43 5 35 37 5 14 11 45 35 16 10 8 32 4 15 35 26 2 39 22 37 22 30 29 ^'}}, {OUT=>'E99D566212BBBCEEE903946F6100C9C96039A8F4'}], ['132', {IN=> {f=> '106 1 18 14 51 2 6 32 51 9 32 50 44 46 51 8 11 53 45 55 16 10 3 52 8 20 20 46 46 13 32 2 46 50 43 25 54 9 31 29 2 47 15 29 24 45 44 18 37 14 28 39 36 44 47 16 50 10 44 24 53 35 22 40 20 15 51 22 18 22 42 6 54 49 38 21 7 13 30 16 7 52 16 22 13 38 7 11 44 33 9 25 13 37 42 14 45 53 30 38 5 25 5 35 38 22 28 53 ^'}}, {OUT=>'B48CE6B1D13903E3925AE0C88CB931388C013F9C'}], ['133', {IN=> {f=> '127 0 58 35 43 28 5 28 63 8 12 25 9 47 53 29 62 7 37 2 3 48 5 12 55 56 28 35 12 63 6 58 27 27 48 44 35 14 17 22 56 10 8 1 16 15 42 63 14 51 57 19 41 7 8 56 47 34 52 22 48 60 43 9 1 52 4 21 49 61 18 50 23 13 46 62 23 45 62 9 56 18 23 31 8 30 27 36 13 38 4 58 53 47 24 18 41 58 19 12 18 52 42 29 44 45 26 63 34 32 41 64 15 26 55 19 2 49 6 30 53 13 54 12 53 37 12 37 43 ^'}}, {OUT=>'E647D5BAF670D4BF3AFC0A6B72A2424B0C64F194'}], ['134', {IN=> {f=> '148 0 60 4 51 47 58 38 17 63 33 23 28 43 12 69 70 33 17 12 50 18 18 36 45 2 67 4 45 20 4 33 38 29 45 8 22 58 39 71 38 32 53 35 19 53 31 29 51 35 4 63 18 33 26 47 70 9 64 62 63 30 15 1 35 28 16 40 20 14 50 33 19 38 30 27 55 10 16 46 47 7 55 12 53 26 56 33 29 55 25 17 48 43 21 43 18 24 63 27 68 46 38 33 35 10 18 11 27 5 9 58 35 70 36 36 39 47 2 10 66 47 5 18 21 44 71 51 57 3 22 7 56 55 28 25 14 40 16 24 48 37 66 50 24 45 18 39 53 55 ^'}}, {OUT=>'65C1CD932A06B05CD0B43AFB3BC7891F6BCEF45C'}], ['135', {IN=> {f=> '165 1 15 62 35 29 15 40 19 76 67 4 5 71 46 61 26 8 77 48 1 23 12 60 40 24 44 33 29 42 73 66 49 61 20 30 1 54 52 42 39 64 23 65 37 24 20 11 26 66 22 77 22 57 7 38 57 33 61 73 7 64 1 49 35 76 14 27 21 45 68 38 58 73 13 72 47 73 33 8 66 23 38 4 56 77 47 10 71 13 20 31 41 6 51 3 18 17 61 47 14 48 76 46 28 34 43 1 56 4 25 7 65 41 1 34 37 23 59 59 27 26 13 15 14 75 60 14 1 28 59 26 65 61 16 23 17 28 6 19 2 35 49 30 29 48 2 63 73 59 1 3 76 41 11 19 18 43 54 63 67 51 4 9 78 60 66 ^'}}, {OUT=>'70FFAE353A5CD0F8A65A8B2746D0F16281B25EC7'}], ['136', {IN=> {f=> '181 0 18 19 84 17 12 10 57 18 77 51 52 16 39 74 49 52 63 38 72 2 15 64 83 62 49 56 11 26 68 58 83 33 23 50 63 71 53 27 84 22 39 41 52 58 11 64 7 60 45 70 22 5 73 38 30 30 48 21 75 80 40 21 8 53 9 26 30 34 81 71 71 51 23 75 33 41 23 32 5 8 66 40 72 40 16 66 45 14 48 34 21 41 27 3 55 27 37 23 41 65 4 57 51 74 22 19 75 42 16 19 46 16 10 48 20 19 37 41 14 57 9 17 55 38 5 60 7 46 20 43 36 39 52 20 10 62 45 23 46 7 35 75 29 70 35 36 34 25 12 15 84 26 10 6 71 29 79 33 32 25 59 76 82 64 58 7 8 19 41 74 2 53 65 24 1 55 51 36 21 79 7 ^'}}, {OUT=>'CC8221F2B829B8CF39646BF46888317C3EB378EA'}], ['137', {IN=> {f=> '184 1 60 66 66 6 3 9 73 12 7 40 70 18 71 70 65 51 14 14 27 50 9 87 81 50 22 19 40 37 16 79 12 34 37 76 82 10 61 7 81 49 67 26 45 82 50 81 63 45 69 31 31 76 51 9 59 34 51 54 34 83 10 33 51 86 81 82 69 18 8 22 64 19 86 62 58 33 37 17 34 5 29 83 42 76 50 54 66 39 9 1 36 43 17 65 6 35 56 72 71 83 88 10 1 8 87 22 6 21 78 25 89 43 62 40 55 85 31 89 74 63 46 28 24 26 31 17 7 8 27 19 12 85 17 20 27 77 10 2 54 80 17 52 74 76 69 78 11 20 80 4 29 24 85 75 18 39 23 70 83 29 57 67 72 70 33 4 15 46 42 2 69 13 53 33 69 64 33 64 14 40 69 59 78 54 ^'}}, {OUT=>'26ACCC2D6D51FF7BF3E5895588907765111BB69B'}], ['138', {IN=> {f=> '193 1 68 43 95 53 38 58 55 28 20 16 67 48 17 86 32 44 68 67 28 16 14 79 25 15 72 67 50 80 18 30 10 75 1 60 45 87 78 28 95 49 63 70 59 26 6 51 73 60 65 18 26 8 87 5 58 31 25 57 40 46 78 57 34 78 61 36 66 57 38 80 22 32 68 71 30 74 37 81 66 77 66 55 2 51 24 93 61 40 68 45 61 12 63 24 89 59 52 72 43 20 20 69 36 40 88 46 9 62 55 77 84 20 18 6 77 15 52 39 75 3 26 4 85 17 62 29 11 92 46 58 29 59 28 42 80 71 96 2 49 85 37 63 4 61 14 2 53 87 25 86 6 75 76 93 41 39 93 92 42 56 41 63 26 28 18 77 11 50 78 79 1 12 12 91 29 13 58 5 56 92 66 59 4 39 47 95 5 5 62 33 13 80 27 ^'}}, {OUT=>'01072915B8E868D9B28E759CF2BC1AEA4BB92165'}], ['139', {IN=> {f=> '203 1 35 28 11 7 20 7 17 3 3 30 89 13 65 56 66 63 22 82 16 31 55 56 77 91 91 71 101 13 10 85 101 95 17 99 98 91 33 14 20 48 32 7 64 29 38 35 25 4 95 23 34 1 85 81 23 31 96 71 84 50 15 79 47 25 51 45 35 66 19 61 60 9 31 93 64 70 30 42 86 53 1 71 46 42 22 38 96 10 99 34 76 26 55 73 63 63 97 23 92 81 64 46 1 30 31 35 86 91 88 64 87 16 37 69 84 94 60 100 3 47 52 8 71 87 57 29 76 43 18 45 46 15 65 12 44 42 66 60 15 68 19 58 39 62 76 9 92 101 57 32 4 34 15 41 62 32 89 71 43 35 31 41 21 17 82 33 96 27 62 29 82 57 46 62 15 24 99 37 83 40 52 46 56 80 98 3 91 74 6 27 7 58 94 10 41 79 97 84 77 74 26 99 35 ^'}}, {OUT=>'3016115711D74236ADF0C371E47992F87A428598'}], ['140', {IN=> {f=> '212 1 26 101 17 91 45 97 80 59 102 30 68 4 85 9 4 39 16 18 85 70 11 87 62 72 78 38 3 41 53 82 82 35 18 13 94 64 52 39 77 59 26 9 65 46 64 98 32 29 86 79 16 63 54 76 56 98 16 98 78 22 72 33 103 104 52 84 12 65 15 85 101 97 84 31 51 26 100 100 38 80 13 2 78 7 24 44 84 103 27 7 28 16 33 99 25 103 54 14 42 62 87 92 27 22 42 5 52 100 84 73 72 63 24 48 56 52 23 5 17 76 31 1 95 58 43 60 50 62 30 23 35 79 20 35 3 72 32 45 51 87 41 84 27 79 77 70 102 15 54 15 100 8 52 69 105 3 30 84 42 93 66 89 69 74 24 33 42 97 4 38 99 106 13 93 6 106 74 100 54 45 21 59 56 37 9 50 32 75 79 31 77 9 61 1 8 68 6 60 81 7 100 99 14 61 48 25 73 26 70 72 94 34 ^'}}, {OUT=>'BF30417999C1368F008C1F19FECA4D18A5E1C3C9'}], ['141', {IN=> {f=> '233 0 11 98 110 88 35 110 35 64 49 88 93 28 85 6 78 65 90 52 24 97 51 39 51 59 23 1 3 49 33 11 78 27 35 55 64 5 102 4 70 25 56 58 38 66 11 31 96 66 104 59 41 86 58 29 79 41 40 72 51 12 92 34 52 44 69 104 21 97 89 96 48 21 4 61 40 28 67 34 23 85 44 22 62 52 33 84 23 30 73 74 4 79 12 81 47 80 53 47 89 40 19 80 62 34 61 29 41 95 43 1 70 63 55 53 18 19 13 48 10 19 89 49 4 52 53 56 76 10 8 104 77 15 28 38 75 109 3 85 90 8 40 8 93 90 43 39 14 60 17 36 78 56 105 80 35 75 36 58 82 50 100 98 45 74 13 66 95 72 71 95 34 14 98 72 33 38 37 52 6 14 107 59 3 29 61 67 98 92 5 93 17 98 36 87 41 75 71 57 88 17 25 91 84 3 58 20 92 69 51 50 36 31 14 25 18 30 18 1 41 104 30 82 59 87 70 34 96 28 47 62 81 103 48 ^'}}, {OUT=>'62BA49087185F2742C26E1C1F4844112178BF673'}], ['142', {IN=> {f=> '234 1 63 90 108 108 102 64 82 88 4 111 76 97 22 1 108 41 34 91 33 20 25 24 26 8 83 11 31 7 85 109 106 4 105 85 68 28 33 99 53 8 16 12 11 74 17 83 66 70 16 30 9 67 68 34 24 81 47 92 72 47 37 33 38 92 17 8 28 88 22 62 69 32 89 75 3 72 96 85 13 105 24 38 37 94 115 83 72 108 114 24 93 76 103 60 99 102 9 43 10 59 95 46 33 93 15 26 69 44 2 86 107 55 45 61 65 92 66 9 55 39 70 83 29 98 67 13 111 15 20 31 62 8 2 51 20 19 33 44 14 115 71 112 97 10 41 28 53 51 26 57 15 38 98 55 106 22 56 31 50 95 107 110 84 70 10 108 96 73 100 25 36 55 88 71 63 96 30 90 96 79 22 7 30 23 28 59 89 8 51 99 47 86 34 18 43 65 98 104 107 49 7 79 71 8 57 21 29 80 2 74 78 44 57 9 61 22 13 68 52 91 74 98 43 30 58 68 95 101 72 102 76 42 99 61 ^'}}, {OUT=>'E1F6B9536F384DD3098285BBFD495A474140DC5A'}], ['143', {IN=> {f=> '249 0 27 117 45 119 80 2 59 52 8 76 20 94 102 69 96 42 46 106 67 9 110 89 71 69 34 31 15 85 16 29 100 82 37 62 68 95 108 44 23 114 34 36 56 93 11 30 96 12 31 67 14 114 14 66 70 30 81 46 53 119 85 6 104 47 92 72 70 5 70 15 115 68 105 33 97 13 85 106 14 61 29 22 86 45 57 69 91 38 38 28 66 13 60 95 103 3 15 5 113 38 23 62 5 65 94 107 73 104 37 47 102 117 3 78 35 7 95 56 78 45 52 28 46 43 37 32 53 19 55 29 47 97 76 115 83 71 11 45 62 73 99 116 2 24 116 7 28 41 2 29 37 52 23 5 118 79 31 57 89 61 24 101 78 50 93 73 41 7 33 45 47 24 1 48 73 36 3 25 87 46 28 108 54 68 53 67 119 28 36 118 104 42 88 27 112 4 74 85 1 63 39 97 71 74 75 76 10 49 12 79 11 50 103 118 94 117 118 37 27 12 94 60 28 51 47 82 110 17 15 105 23 52 43 12 21 22 81 41 12 74 90 42 108 117 98 67 4 69 85 ^'}}, {OUT=>'B522DAE1D67726EBA7C4136D4E2F6D6D645AC43E'}], ['144', {IN=> {f=> '243 0 76 81 26 101 13 68 62 106 87 19 98 32 81 63 79 93 31 121 123 75 52 11 66 41 54 87 38 5 104 62 51 38 55 29 31 120 44 16 48 94 46 105 91 66 78 27 43 6 64 2 55 79 75 84 113 22 4 113 109 31 33 17 96 11 29 63 98 103 107 116 34 14 9 95 38 18 51 75 33 109 118 55 66 4 76 7 75 70 82 74 23 1 26 69 40 112 99 47 65 31 70 119 52 103 88 85 86 28 16 12 76 25 22 78 64 21 86 27 61 77 72 108 2 18 106 119 121 54 16 85 72 2 73 26 88 66 60 80 35 24 117 63 24 44 67 52 122 119 33 72 16 99 98 69 54 19 42 28 53 114 32 117 81 100 57 49 123 56 21 68 80 53 95 1 45 95 107 98 87 1 27 24 99 116 16 67 1 113 91 84 25 40 25 72 3 28 90 87 112 80 16 117 45 77 36 90 105 59 88 122 64 108 108 71 98 18 50 115 93 105 77 35 6 46 55 47 102 4 26 87 111 120 81 113 4 57 105 3 84 94 115 61 73 ^'}}, {OUT=>'E9A021C3EB0B9F2C710554D4BF21B19F78E09478'}], ['145', {IN=> {f=> '255 1 91 47 51 9 57 9 55 94 61 61 68 46 107 6 35 81 114 78 96 74 14 89 73 67 67 69 113 107 11 98 113 109 20 92 17 67 70 88 57 10 124 9 60 122 93 91 45 7 15 24 51 5 98 115 24 49 90 104 117 66 128 94 64 80 12 43 91 46 111 59 58 77 30 14 88 60 123 68 41 44 68 40 104 118 41 43 93 90 105 92 16 127 26 54 125 114 79 71 24 48 21 25 118 40 103 49 91 44 67 65 25 119 109 18 48 23 69 112 38 61 64 87 84 104 119 110 122 92 22 1 8 83 34 100 32 62 41 46 112 34 102 76 56 39 4 127 30 13 19 110 124 7 16 128 95 4 124 11 104 116 126 49 95 3 55 96 70 90 101 4 122 96 75 118 39 128 99 92 18 42 20 87 83 35 75 111 61 67 71 28 101 9 56 34 105 95 71 23 73 71 26 57 15 23 76 55 99 89 128 98 117 68 43 88 62 38 62 39 2 83 36 15 26 60 128 96 73 74 10 1 12 42 22 2 77 33 33 32 57 13 14 82 57 12 39 3 58 80 14 87 85 44 69 109 119 ^'}}, {OUT=>'DF13573188F3BF705E697A3E1F580145F2183377'}], ['146', {IN=> {f=> '283 0 102 55 53 41 60 88 25 67 58 76 44 22 68 118 108 40 95 96 81 90 85 28 77 18 11 37 72 93 60 110 124 119 95 131 91 37 109 126 8 73 69 72 80 17 83 5 76 20 32 15 10 1 103 18 22 116 98 9 51 104 102 44 33 15 12 24 31 89 1 6 28 101 8 64 72 106 30 5 52 89 111 39 108 64 85 17 57 124 22 105 78 115 3 40 108 66 108 77 128 103 44 35 38 13 95 10 111 63 98 117 61 51 126 69 96 70 70 59 39 13 97 33 112 2 77 7 123 70 83 29 66 67 49 79 19 104 115 14 60 2 55 40 71 33 28 114 51 91 17 46 45 128 57 87 62 25 115 38 50 55 90 74 8 51 102 79 43 94 36 122 94 12 41 36 25 104 91 24 7 99 80 30 126 32 63 122 107 114 27 28 79 41 12 35 51 115 122 70 22 79 65 2 88 27 17 59 15 23 44 57 5 65 6 26 78 80 125 93 84 100 45 22 129 68 36 111 74 118 11 50 42 120 47 21 8 86 112 26 67 60 99 45 93 47 8 38 59 52 56 124 20 82 18 117 24 18 46 106 19 117 26 41 47 45 130 7 15 1 4 5 100 10 85 50 44 11 48 92 119 108 42 118 125 ^'}}, {OUT=>'188835CFE52ECFA0C4135C2825F245DC29973970'}], ['147', {IN=> {f=> '272 0 8 61 99 70 96 20 87 123 134 82 22 2 110 118 33 86 5 7 5 94 56 15 60 96 54 13 22 55 99 4 25 105 17 37 69 10 38 117 117 30 70 13 9 109 115 62 94 52 66 117 100 135 7 75 23 5 81 110 31 118 29 1 62 11 41 88 109 119 102 37 3 30 123 47 31 56 134 29 124 116 118 99 21 56 77 91 23 37 135 81 44 51 67 95 51 133 30 57 67 116 122 48 100 7 132 97 106 69 93 4 95 125 102 103 119 81 57 133 96 37 118 50 117 113 81 127 17 45 103 32 121 129 60 43 65 127 30 36 132 110 52 53 35 71 12 76 22 72 130 112 99 76 26 21 73 63 63 97 23 58 115 132 114 1 132 31 35 18 23 54 30 53 118 37 35 84 94 60 100 3 47 18 110 105 87 57 63 76 43 52 45 46 49 65 12 10 42 66 60 117 34 19 92 5 28 76 9 126 101 125 32 38 34 15 7 62 32 21 3 43 69 31 109 123 51 116 135 130 129 130 63 14 57 80 62 15 126 31 105 83 108 120 80 124 46 98 105 91 6 6 27 7 58 128 78 7 79 63 84 77 74 128 65 61 95 121 17 24 123 117 51 122 ^'}}, {OUT=>'41B615A34EE2CEC9D84A91B141CFAB115821950B'}], ['148', {IN=> {f=> '284 0 44 71 43 20 126 58 53 47 98 18 19 119 93 29 70 39 94 112 44 115 135 98 82 10 67 29 102 113 68 80 19 75 1 91 114 87 80 7 40 37 86 120 16 104 136 117 82 138 32 65 114 119 137 121 8 12 46 126 26 119 73 130 60 76 113 100 14 133 26 116 34 120 80 95 84 53 15 24 44 51 4 10 23 77 24 99 66 37 54 63 42 136 21 34 76 5 17 128 101 1 59 40 113 112 32 97 31 93 105 79 91 18 39 1 103 132 51 68 124 111 13 97 43 128 69 84 85 72 15 12 26 87 16 16 92 101 13 77 4 118 89 103 56 42 16 60 44 39 126 46 18 83 93 41 105 3 82 106 115 91 6 4 54 115 15 120 109 113 48 41 9 95 20 62 67 105 111 25 132 7 116 46 138 44 83 61 124 131 35 107 6 109 81 114 67 41 137 77 56 74 73 34 12 14 69 52 11 98 47 54 83 81 6 1 15 88 35 139 80 83 49 89 27 47 130 92 133 87 51 112 76 49 109 49 57 93 73 22 117 50 64 58 97 139 36 131 111 133 58 33 8 88 55 38 90 46 30 118 57 29 82 74 41 117 38 46 94 92 5 105 15 117 70 103 68 60 120 48 21 110 85 40 81 66 ^'}}, {OUT=>'AB3DD6221D2AFE6613B815DA1C389EEC74AA0337'}], ['149', {IN=> {f=> '291 0 46 113 52 134 79 74 64 57 18 23 9 52 8 16 103 57 138 59 59 65 92 2 7 130 92 8 34 40 86 131 140 100 112 4 42 1 110 108 43 37 15 67 19 35 94 61 130 98 35 88 34 65 104 56 126 118 50 87 10 81 109 90 86 118 32 6 114 88 39 38 39 62 3 12 134 72 137 35 75 81 115 106 140 112 11 123 41 103 45 95 84 71 107 13 26 110 96 62 16 109 84 59 53 38 27 8 28 13 32 137 17 138 41 122 36 99 65 99 83 36 112 29 49 70 96 126 136 131 116 3 18 17 126 142 14 37 141 141 123 42 13 20 83 42 139 83 54 49 58 42 7 137 29 48 16 121 127 34 52 140 106 128 58 36 124 83 24 69 54 61 112 17 6 95 97 24 57 86 124 59 71 119 67 1 109 54 68 49 57 132 32 5 71 113 40 80 104 75 106 133 31 126 130 104 62 9 39 44 66 116 141 135 96 132 19 41 121 126 124 77 8 4 60 82 6 101 124 89 51 123 48 40 85 77 21 112 10 69 66 115 87 16 108 30 84 65 80 103 32 131 134 73 47 10 63 39 50 93 37 135 114 69 48 34 58 23 27 133 37 9 40 98 41 115 99 70 83 29 42 67 133 55 79 80 91 122 12 2 115 112 47 ^'}}, {OUT=>'0706D414B4AA7FB4A9051AA70D6856A7264054FB'}], ['150', {IN=> {f=> '293 1 33 13 99 138 1 42 89 118 87 113 99 12 134 142 100 38 5 55 75 14 110 108 42 64 130 79 138 62 64 69 57 11 123 25 59 16 111 94 24 65 30 51 119 48 107 92 84 69 28 136 143 54 20 6 70 47 142 64 4 65 59 73 99 134 146 102 125 116 57 137 137 72 48 128 78 5 80 63 54 85 30 22 129 68 21 21 74 28 128 107 27 60 2 93 95 71 37 11 37 15 39 102 3 104 65 80 59 52 113 34 20 67 60 27 81 135 46 106 106 102 68 128 17 15 100 124 15 43 136 122 100 67 142 35 14 53 120 2 89 93 99 73 9 122 39 77 15 96 90 43 79 134 60 92 105 55 96 31 119 77 97 72 23 140 38 30 43 83 136 88 107 117 72 109 118 58 91 119 73 95 100 59 138 123 54 49 143 50 133 66 106 45 80 88 42 93 5 59 77 101 74 110 104 40 92 19 77 76 86 102 129 3 144 101 139 134 56 90 18 91 94 85 55 10 137 11 58 1 107 113 70 22 7 56 29 143 111 8 46 45 116 122 129 89 7 121 53 95 14 49 118 62 125 91 37 97 15 35 100 63 140 63 50 51 58 26 127 6 45 59 102 121 114 85 141 135 10 72 19 106 66 66 41 53 13 38 1 21 103 50 108 46 119 ^'}}, {OUT=>'3CBF8151F3A00B1D5A809CBB8C4F3135055A6BD1'}], ['151', {IN=> {f=> '297 1 46 31 132 112 28 63 124 97 129 43 40 72 99 107 132 137 96 139 99 145 121 144 118 37 81 39 94 60 55 109 47 109 110 75 42 12 139 137 43 128 106 107 19 126 12 101 148 127 15 117 125 125 62 96 13 76 70 96 101 110 138 8 95 76 143 17 32 97 79 149 39 31 94 123 21 41 135 55 84 70 33 135 118 50 62 121 81 1 45 144 93 60 5 64 137 8 105 91 82 67 27 113 119 53 18 98 79 48 84 32 135 128 5 1 20 76 17 85 108 72 36 141 140 49 150 105 104 3 149 14 54 18 148 64 49 125 37 28 28 101 22 104 91 32 82 117 12 114 69 58 2 58 115 9 108 47 59 65 14 92 7 4 86 98 16 82 92 95 38 94 10 10 48 97 104 66 115 97 142 115 122 119 40 97 16 32 47 34 88 89 26 50 12 76 80 51 40 9 133 24 44 40 122 84 108 22 142 140 99 44 15 54 8 42 125 150 130 21 79 124 62 46 119 15 29 91 57 150 42 138 71 61 68 80 114 6 1 70 121 18 35 113 56 87 86 10 73 14 29 41 72 89 1 133 87 101 123 59 90 142 77 133 52 78 48 34 138 134 27 17 60 131 147 61 93 148 39 132 49 62 71 36 91 4 139 49 100 120 43 113 144 30 94 73 127 40 125 ^'}}, {OUT=>'DA5D6A0319272BBCCEA63ACFA6799756FFDA6840'}], ['152', {IN=> {f=> '313 1 35 97 95 76 105 88 32 138 30 69 61 40 47 21 107 6 39 81 114 53 125 53 147 14 4 73 146 96 98 13 136 11 98 117 138 153 67 146 71 99 88 7 139 24 13 35 47 97 145 74 36 119 3 51 84 48 119 53 49 15 79 17 120 103 148 64 30 41 97 120 75 111 63 58 131 134 18 13 10 48 18 16 48 43 15 54 18 41 47 122 144 80 92 145 77 1 33 89 54 46 78 48 21 54 43 40 53 24 16 73 42 94 29 44 34 151 152 23 123 12 142 140 43 37 88 29 19 35 72 96 151 130 62 112 34 36 91 120 50 112 138 2 105 60 68 137 131 5 17 19 139 74 11 120 78 149 58 128 15 104 16 126 78 20 57 134 71 49 90 76 108 126 100 54 68 39 132 153 42 147 146 124 62 87 35 75 61 65 46 100 82 105 113 31 63 5 95 54 71 77 127 150 80 36 144 2 130 59 74 39 3 152 121 122 18 117 12 117 141 118 135 62 36 69 5 39 53 150 52 153 143 30 66 96 126 131 56 137 8 7 86 142 14 7 111 141 93 136 137 134 43 12 89 23 44 9 152 146 121 97 19 38 110 91 67 14 32 110 66 68 8 130 84 73 118 59 24 41 72 121 150 55 37 138 27 104 66 124 9 51 109 47 125 109 148 8 29 47 72 146 149 61 93 10 20 54 15 76 133 125 106 110 67 ^'}}, {OUT=>'FB4429C95F6277B346D3B389413758DFFFEEDC98'}], ['153', {IN=> {f=> '330 0 23 9 26 136 27 51 115 122 44 106 6 146 108 113 85 51 8 96 47 56 137 62 59 89 143 71 140 14 85 156 139 99 154 30 53 115 35 147 108 148 58 52 28 103 19 92 95 152 152 10 11 13 155 67 11 83 101 69 153 152 45 141 14 120 129 140 119 59 2 89 73 70 83 29 16 67 81 29 1 54 65 96 117 2 37 47 128 33 3 89 108 98 139 49 78 27 103 39 119 94 132 90 38 132 55 65 131 90 58 2 54 100 69 118 22 44 19 7 148 93 25 29 123 81 64 131 55 30 1 89 38 97 82 64 9 28 86 123 151 10 133 40 154 102 4 111 65 9 63 59 124 116 72 105 76 57 137 97 32 145 108 78 112 50 43 34 75 20 22 129 68 11 118 74 125 118 57 17 20 129 53 65 61 144 1 17 142 156 52 100 54 15 20 59 52 63 131 20 57 124 31 125 46 106 76 92 8 98 154 152 80 114 15 140 136 112 100 17 92 25 151 150 80 99 69 83 49 43 156 102 19 57 122 96 30 3 39 134 40 32 75 5 76 127 138 99 17 57 52 150 130 18 127 33 23 116 107 78 77 77 42 69 68 48 41 69 33 75 40 49 128 103 4 146 93 10 83 66 96 152 30 38 12 33 5 39 47 41 34 60 74 20 42 156 67 46 56 102 89 3 124 81 99 104 56 50 8 61 74 55 15 87 108 28 138 47 93 60 2 124 46 126 103 91 145 36 25 116 122 51 ^'}}, {OUT=>'2C6E30D9C895B42DCCCFC84C906EC88C09B20DE1'}], ['154', {IN=> {f=> '322 0 75 7 107 158 81 105 154 90 20 125 77 114 69 92 7 58 21 98 154 50 128 149 117 127 153 45 3 18 121 86 29 71 79 101 2 5 22 143 10 27 53 146 157 148 112 33 22 80 123 24 147 1 112 82 159 63 74 97 109 33 151 32 89 87 132 117 46 129 59 115 91 114 118 37 21 9 94 60 25 89 47 79 110 55 12 143 99 87 43 88 56 57 160 76 12 71 128 77 146 117 95 105 42 66 3 76 20 76 101 100 118 149 45 26 143 148 32 57 39 129 19 31 84 123 1 152 135 5 54 30 13 125 68 30 62 101 51 142 5 94 83 20 116 24 107 109 105 91 42 17 27 93 69 3 139 68 79 38 84 2 85 128 126 122 131 46 17 35 98 42 26 111 100 29 120 55 84 114 109 145 14 18 138 14 9 85 7 18 129 91 2 94 51 133 82 87 123 64 39 8 103 38 75 110 78 7 9 45 115 42 138 135 86 78 16 62 52 75 159 54 151 121 149 77 74 16 85 47 102 105 82 119 10 67 137 153 148 135 28 49 26 151 153 36 80 11 130 113 24 44 30 102 24 58 133 122 140 99 24 156 54 119 42 115 140 90 132 19 94 2 157 99 136 19 71 7 130 153 108 51 21 58 70 74 137 1 40 111 149 5 103 6 27 76 141 23 125 140 1 72 29 152 103 87 51 93 29 80 132 77 123 153 68 159 14 98 114 158 121 158 81 131 ^'}}, {OUT=>'3DE3189A5E19F225CDCE254DFF23DACD22C61363'}], ['155', {IN=> {f=> '322 0 35 93 109 125 119 10 10 19 135 26 4 74 135 35 120 129 113 92 17 29 47 88 14 159 149 87 45 36 75 68 22 138 20 59 61 144 151 11 107 6 153 81 114 43 85 157 97 148 118 73 126 56 58 137 96 11 98 67 98 103 57 146 21 59 88 151 139 148 127 25 17 47 115 34 160 109 107 51 64 28 69 13 49 149 69 141 90 93 118 64 10 1 67 80 35 111 13 58 101 124 132 147 154 18 162 6 162 33 5 34 142 41 161 82 114 70 92 145 57 155 137 114 79 44 36 48 48 21 14 13 40 33 14 150 33 32 54 143 14 4 101 142 23 93 136 132 120 147 17 38 163 143 5 52 46 151 130 32 72 34 124 150 51 100 112 128 126 65 10 28 87 81 159 131 19 99 54 125 110 58 119 28 78 129 104 140 126 38 154 27 114 61 153 90 66 98 76 50 158 48 39 82 123 22 147 136 114 52 37 35 75 41 15 150 60 52 55 103 21 23 129 95 24 71 47 97 130 50 140 144 106 100 9 64 19 117 122 71 92 8 77 156 97 121 98 85 2 36 39 109 143 23 120 156 133 93 154 36 66 116 131 160 127 162 161 46 142 14 141 81 141 63 86 117 104 3 146 39 127 34 133 102 106 91 57 9 28 60 61 7 158 12 80 26 8 122 80 44 63 68 49 158 21 32 81 150 15 141 108 161 64 46 124 123 31 99 27 105 109 98 112 144 ^'}}, {OUT=>'93530A9BC9A817F6922518A73A1505C411D05DA2'}], ['156', {IN=> {f=> '336 1 34 161 107 149 48 67 138 109 156 104 37 133 60 80 84 81 160 9 16 96 164 1 95 112 4 86 163 116 98 103 55 31 8 56 37 36 127 32 9 89 103 31 100 161 85 106 119 89 154 43 115 162 137 108 128 38 42 155 103 9 62 65 102 122 10 138 160 125 47 158 43 91 69 123 132 35 121 4 110 89 130 69 29 139 69 53 70 83 29 163 67 41 9 108 34 45 76 87 2 144 164 98 33 160 79 78 48 89 9 38 134 93 146 79 54 122 80 38 112 55 55 101 70 8 129 44 70 59 98 149 24 136 124 138 63 25 166 83 51 34 91 45 30 118 59 28 87 72 44 116 28 36 103 101 113 10 114 62 111 71 65 126 53 19 114 86 42 85 36 57 137 57 159 95 88 78 72 20 23 14 65 10 22 129 68 1 68 74 75 108 7 7 147 109 13 35 51 104 158 164 122 126 2 50 4 132 127 59 52 13 81 20 47 107 74 148 115 46 106 46 82 115 68 144 142 60 104 15 90 136 102 100 134 42 15 141 100 40 49 49 73 166 13 156 82 166 37 82 96 137 130 166 134 20 139 45 122 56 107 98 79 124 17 32 130 120 165 77 23 130 96 67 68 47 37 12 29 18 38 158 19 160 55 147 39 118 83 121 96 43 137 33 66 86 112 147 155 149 140 5 19 17 148 161 10 44 159 146 57 16 26 102 49 3 104 61 59 74 56 10 165 31 54 25 142 157 37 58 165 128 154 73 50 149 94 137 ^'}}, {OUT=>'E31354345F832D31E05C1B842D405D4BD4588EC8'}], ['157', {IN=> {f=> '330 1 61 51 65 132 23 169 116 122 14 66 7 98 131 72 69 127 72 163 125 68 69 51 47 159 31 164 71 118 50 83 113 81 127 153 45 137 134 121 68 163 26 43 65 127 166 138 98 144 18 53 137 139 148 76 158 4 62 78 167 102 144 94 55 141 63 29 97 91 24 115 166 80 69 132 99 1 120 23 88 64 87 118 37 137 152 94 60 168 71 47 52 110 37 155 125 63 42 43 52 11 12 151 31 12 44 110 32 128 117 68 87 24 39 164 76 145 58 101 91 100 140 151 143 130 32 21 3 111 1 31 75 123 153 116 135 130 27 164 165 116 23 12 62 83 24 133 139 49 74 154 80 158 80 64 105 91 6 142 27 75 24 128 112 41 79 29 84 145 40 128 99 95 95 19 17 160 89 15 17 84 64 11 93 10 66 78 73 127 148 18 129 139 143 49 150 9 84 82 154 85 15 88 82 60 87 19 12 133 58 20 39 65 51 141 134 27 70 167 120 117 86 60 16 44 16 57 132 18 142 85 104 59 47 141 58 2 66 96 46 119 153 40 110 126 103 90 144 13 26 106 144 80 145 134 103 95 24 44 21 84 140 13 97 104 140 99 6 147 54 83 42 106 131 54 96 135 67 118 121 81 109 10 53 132 112 117 81 33 155 49 61 38 119 1 13 102 131 148 94 131 143 67 123 148 89 104 135 72 145 152 76 87 6 66 2 71 123 77 114 108 59 123 166 62 96 140 94 149 116 169 ^'}}, {OUT=>'3FF76957E80B60CF74D015AD431FCA147B3AF232'}], ['158', {IN=> {f=> '349 0 125 17 93 82 80 110 156 147 156 99 154 4 29 90 163 120 84 113 56 8 157 29 61 169 141 113 78 48 50 13 138 11 50 61 99 106 2 107 6 117 81 114 34 49 112 52 130 82 73 108 20 22 110 60 11 98 22 62 58 48 146 149 23 88 142 139 121 91 16 163 2 88 171 133 100 62 51 46 10 24 150 49 131 60 114 63 84 91 64 165 138 40 44 172 111 141 58 74 115 96 129 145 164 153 170 126 24 169 16 115 41 125 46 87 61 92 145 39 155 92 78 70 35 27 21 48 21 151 159 40 15 5 132 170 23 18 107 160 150 56 133 23 66 109 123 102 102 172 166 145 116 151 34 1 151 130 5 36 34 97 114 15 82 128 112 119 99 29 138 165 42 36 159 95 19 63 36 89 101 40 92 1 33 93 104 113 126 2 136 96 52 108 90 57 89 31 5 113 30 39 37 96 4 147 127 105 43 165 35 75 23 143 105 24 25 10 94 12 160 102 95 170 71 20 70 112 23 95 144 61 73 137 55 1 81 95 26 65 172 41 147 79 103 80 40 121 36 12 64 98 169 93 111 115 48 127 9 39 107 131 115 118 162 161 10 142 14 123 54 141 36 41 99 77 140 128 167 82 25 106 57 70 64 21 19 15 34 126 149 167 53 163 127 86 35 8 54 23 40 140 3 169 45 150 152 96 81 143 28 28 124 87 13 90 9 87 109 53 67 164 28 131 89 149 42 55 126 79 132 74 19 133 30 68 72 75 148 9 10 72 152 144 83 106 153 74 163 98 152 ^'}}, {OUT=>'34AE3B806BE143A84DCE82E4B830EB7D3D2BAC69'}], ['159', {IN=> {f=> '375 1 94 28 13 8 20 28 18 118 5 140 89 67 171 64 152 85 61 101 80 154 149 34 115 135 128 108 110 20 33 128 103 35 38 57 95 10 111 151 98 29 149 7 82 69 96 114 26 103 171 101 53 121 24 2 121 51 35 70 83 29 154 67 5 167 63 16 27 58 60 2 99 128 71 33 160 70 51 3 44 149 2 89 84 101 43 18 113 71 38 94 55 46 74 52 139 102 35 43 50 80 122 6 100 88 129 36 25 148 47 24 7 55 36 30 82 32 19 78 63 26 71 28 167 85 56 167 95 159 78 26 66 35 65 90 44 159 105 59 15 67 57 137 21 132 50 70 78 36 169 5 172 56 1 22 129 68 168 23 74 30 99 138 174 120 91 153 8 42 68 158 155 104 99 133 5 135 96 82 59 52 144 36 20 38 62 29 112 106 46 106 19 73 70 41 135 133 42 95 15 45 136 93 100 98 173 6 132 55 4 4 31 64 130 162 156 64 157 19 46 96 92 103 139 134 2 94 18 86 38 89 62 61 79 157 14 112 111 156 32 14 85 78 31 59 20 1 161 169 149 29 122 150 133 37 102 30 109 65 85 51 174 110 164 66 77 76 111 119 131 95 5 1 166 103 134 141 17 158 123 137 48 165 175 102 13 3 86 43 23 47 56 150 165 4 36 174 115 157 168 13 147 119 109 55 41 140 67 27 31 27 53 126 17 163 116 122 160 60 7 92 113 66 45 109 60 151 125 62 39 39 17 153 13 152 53 94 50 53 89 57 127 153 45 119 104 121 56 145 172 19 41 103 166 108 68 126 12 53 131 127 148 52 134 168 50 48 155 72 132 82 37 129 63 175 160 ^'}}, {OUT=>'D7447E53D66BB5E4C26E8B41F83EFD107BF4ADDA'}], ['160', {IN=> {f=> '366 1 73 15 79 139 71 51 132 81 135 111 166 61 37 60 118 37 92 134 94 60 150 53 47 25 110 19 137 107 27 176 43 16 145 146 142 165 12 17 92 166 110 117 41 69 6 12 164 76 109 40 101 82 82 131 134 115 143 112 32 164 146 93 162 31 66 123 144 80 135 94 137 156 107 157 173 62 65 176 124 112 4 65 127 44 131 53 19 105 91 149 106 27 57 158 92 85 14 79 20 84 127 174 128 72 68 59 171 17 124 80 167 8 57 28 172 66 144 48 42 37 109 121 18 120 103 116 13 132 39 73 145 76 158 43 82 33 51 153 164 97 13 2 3 20 24 114 98 9 25 131 102 99 86 42 16 26 159 39 105 161 133 49 59 41 20 105 31 136 30 87 10 119 135 13 83 99 58 45 99 156 26 61 135 143 80 118 107 76 77 24 44 12 66 95 147 61 86 140 99 167 138 54 47 42 97 122 18 60 90 40 73 85 63 82 1 35 96 94 81 54 15 128 40 52 2 101 1 165 93 113 130 85 95 98 58 105 112 53 68 108 72 100 152 49 87 140 39 154 62 114 77 105 63 50 87 157 26 78 122 67 140 71 170 119 5 93 64 50 104 144 129 138 75 130 4 178 60 139 120 54 113 32 2 133 17 43 163 129 89 72 149 155 30 38 7 138 5 44 61 69 76 175 107 6 93 81 114 28 25 82 22 118 58 73 96 175 177 92 36 11 98 171 38 28 42 146 125 178 88 136 139 103 67 10 151 151 70 153 115 94 32 51 34 177 173 132 49 119 54 96 45 78 73 64 159 120 22 20 154 111 117 58 56 109 72 143 ^'}}, {OUT=>'77DD2A4482705BC2E9DC96EC0A13395771AC850C'}], ['161', {IN=> {f=> '372 1 136 146 144 170 90 15 169 180 88 41 89 10 60 52 92 145 21 155 47 42 61 26 18 176 48 21 124 141 40 179 178 114 143 14 164 71 142 132 11 124 23 39 82 114 84 57 163 130 127 89 133 16 138 151 130 160 34 70 78 161 64 92 112 110 72 175 102 138 179 173 159 59 19 27 18 53 92 22 65 156 170 57 104 86 126 148 118 155 78 43 63 90 48 80 168 142 68 12 39 174 69 168 147 118 96 34 129 35 75 5 107 60 170 180 147 85 3 133 75 95 152 71 175 43 94 178 50 144 16 46 101 46 165 45 68 163 38 172 5 138 61 85 62 177 76 36 167 19 53 151 66 66 97 3 100 164 12 98 131 70 109 162 161 156 142 14 105 27 141 9 178 81 50 113 110 131 37 16 79 12 34 37 167 173 10 152 7 81 140 158 26 136 82 50 172 154 45 160 31 122 167 142 9 150 125 51 54 125 174 10 124 51 177 81 173 69 109 8 22 155 19 86 62 149 33 37 108 34 96 29 174 133 167 50 54 66 130 9 1 36 134 108 65 97 126 56 163 71 83 88 10 1 8 178 22 6 112 169 116 89 43 153 40 146 85 31 89 74 154 137 28 115 117 122 108 98 8 27 110 103 176 17 20 27 77 10 93 145 80 17 143 165 76 69 78 102 20 91 171 95 29 115 176 166 109 39 23 70 83 29 148 67 163 161 33 4 15 46 42 2 69 104 53 33 160 64 33 155 14 131 160 59 78 71 19 176 107 65 38 82 55 40 56 40 115 84 29 25 44 68 104 176 76 64 123 18 25 136 23 6 171 31 30 30 58 14 13 72 57 14 41 177 ^'}}, {OUT=>'EAA1465DB1F59DE3F25EB8629602B568E693BB57'}], ['162', {IN=> {f=> '363 0 135 69 16 167 79 143 46 178 26 3 65 58 36 135 97 35 175 51 152 57 137 173 108 10 54 78 4 153 173 164 48 177 22 129 68 168 167 74 174 91 106 174 96 75 129 168 34 36 158 147 88 75 101 149 103 64 42 59 52 112 180 20 30 22 173 80 98 46 106 179 65 30 17 127 125 26 87 15 5 136 85 100 66 141 182 124 15 156 148 15 56 98 146 156 48 149 3 14 96 52 79 115 134 170 54 178 54 22 73 30 45 39 133 182 96 103 148 176 6 45 62 183 51 180 153 145 145 117 21 90 118 109 21 62 22 101 49 53 11 142 86 132 66 69 44 79 87 115 55 5 169 150 63 110 109 177 150 91 129 40 149 159 102 165 3 70 27 175 23 56 126 165 164 20 158 91 157 136 157 131 111 69 39 33 132 43 19 175 179 37 118 9 155 116 122 128 52 7 84 89 58 13 85 44 135 125 54 183 23 161 145 173 136 29 62 50 13 57 25 127 153 45 95 64 121 40 121 140 171 9 71 166 68 28 102 4 53 123 111 148 20 102 160 34 8 139 32 116 66 13 113 63 143 97 63 10 59 124 66 41 132 71 115 106 151 46 22 45 118 37 67 124 94 60 140 43 47 10 110 9 127 97 7 156 43 180 125 126 137 145 12 2 82 146 100 117 26 59 180 181 164 76 89 30 101 77 72 126 114 95 143 102 32 149 131 83 157 31 61 123 139 60 135 74 169 122 151 102 137 168 62 55 166 119 97 163 60 112 24 116 38 178 105 91 134 86 27 47 138 72 70 183 79 15 84 117 154 128 57 53 39 161 88 ^'}}, {OUT=>'9329D5B40E0DC43AA25FED69A0FA9C211A948411'}], ['163', {IN=> {f=> '393 1 92 72 151 33 183 164 42 112 32 10 5 93 97 18 112 71 92 168 116 179 186 65 137 68 134 3 82 9 19 121 148 65 160 173 158 167 90 66 180 172 99 86 83 86 26 16 10 135 23 81 137 125 17 19 25 183 73 7 104 185 79 165 119 119 176 59 75 18 5 59 132 26 21 127 119 80 94 83 52 61 24 44 4 50 55 115 29 70 140 99 159 130 54 15 42 89 114 173 28 50 16 33 53 47 58 180 19 64 78 49 30 186 104 32 44 157 85 1 149 85 97 114 77 63 58 50 89 80 21 36 84 72 60 152 25 87 108 15 138 54 106 77 97 23 42 55 149 181 62 106 43 132 31 138 111 176 93 40 10 96 128 105 114 43 98 4 146 20 107 120 14 113 181 101 1 19 155 113 57 64 117 131 6 22 186 138 184 36 61 29 36 175 107 6 61 81 114 20 180 42 169 102 26 73 80 151 153 68 4 11 98 139 6 175 34 146 93 154 88 128 139 79 35 2 135 119 46 129 91 86 179 51 18 169 141 108 49 103 46 72 21 70 49 64 151 96 185 175 130 111 85 58 32 101 40 101 131 136 139 170 70 10 169 175 73 41 69 177 45 47 92 145 11 155 22 22 56 21 13 166 48 21 109 131 40 174 178 104 128 9 149 51 132 122 173 119 23 24 67 109 74 32 158 110 117 74 123 6 118 151 130 150 167 34 55 58 146 54 72 112 105 57 160 82 123 159 153 159 39 19 7 8 33 87 12 50 146 150 37 104 71 126 133 108 145 68 38 38 90 43 75 148 122 43 2 39 154 54 163 147 113 91 29 109 35 75 182 87 35 155 170 127 80 185 118 60 95 142 71 165 28 84 168 25 144 178 31 81 41 160 25 53 143 ^'}}, {OUT=>'E94C0B6AA62AA08C625FAF817DDF8F51EC645273'}], ['164', {IN=> {f=> '381 1 14 172 163 130 45 69 46 145 36 36 151 169 13 135 42 26 81 153 76 148 178 90 131 30 101 162 161 132 142 14 89 3 141 175 146 65 26 89 94 99 187 8 55 162 2 13 143 173 2 120 173 41 132 150 2 112 42 18 140 130 37 128 23 106 159 118 167 150 101 11 30 109 150 184 124 19 169 73 165 53 109 158 172 147 11 46 38 149 25 21 92 184 64 179 158 133 135 34 38 58 114 9 183 4 118 76 49 89 102 40 163 47 75 80 176 175 8 154 14 180 104 153 84 89 11 129 8 138 85 181 73 66 154 121 20 115 93 114 108 82 182 19 86 103 176 183 186 177 53 10 69 137 56 1 135 141 68 69 54 86 12 75 171 87 187 107 144 150 93 23 7 70 83 29 140 67 139 153 183 178 189 30 18 2 29 72 29 33 160 56 9 123 164 107 136 19 70 31 177 152 99 57 38 66 55 32 32 24 83 60 21 1 36 52 80 168 44 32 115 184 25 120 181 172 155 189 22 30 26 180 5 64 49 188 1 28 111 57 176 167 67 131 22 160 186 169 65 34 30 117 91 17 163 39 134 57 137 155 90 170 42 78 170 141 167 158 42 177 22 129 68 168 143 74 150 85 82 174 78 63 111 156 28 12 158 141 76 57 77 125 79 40 12 59 52 88 156 20 24 182 149 56 92 46 106 167 59 189 121 119 14 81 15 165 136 79 100 42 117 182 118 175 138 124 3 50 74 134 156 36 143 181 180 96 22 61 97 134 164 24 166 30 10 61 6 33 9 115 176 84 97 142 152 15 50 165 45 168 135 133 127 93 15 66 94 91 9 32 16 95 37 29 171 118 68 108 66 63 20 55 186 ^'}}, {OUT=>'7FF02B909D82AD668E31E547E0FB66CB8E213771'}], ['165', {IN=> {f=> '396 1 97 10 5 160 132 18 83 73 159 141 55 120 31 131 141 102 138 3 52 9 148 189 56 99 165 146 2 140 64 157 100 121 113 102 24 21 24 123 16 10 139 152 19 109 146 116 122 92 43 7 75 62 49 170 58 26 117 125 45 147 5 125 136 155 118 2 26 50 161 21 182 127 153 45 68 19 121 22 94 104 144 166 35 166 23 176 75 188 53 114 93 148 177 66 151 16 156 121 180 98 48 179 95 63 107 97 45 1 23 97 57 23 132 53 79 97 124 19 188 18 118 37 22 106 94 60 122 25 47 176 110 184 109 79 164 120 43 153 89 90 128 109 12 168 64 110 82 117 192 41 171 163 164 76 53 12 101 68 54 117 78 59 143 84 32 122 104 65 148 31 52 123 130 24 135 38 151 95 142 93 101 159 62 37 148 110 70 127 51 85 181 89 11 142 105 91 107 50 27 29 102 36 43 165 79 6 84 99 118 128 30 26 3 143 17 68 66 139 187 15 165 158 24 88 20 179 174 81 79 18 106 47 74 150 104 179 162 59 131 62 116 166 82 184 188 97 136 41 136 167 140 143 175 72 42 174 148 75 74 71 86 14 16 191 117 11 63 119 119 186 182 13 171 49 182 80 167 73 147 119 107 164 41 57 181 168 29 114 26 184 121 101 80 76 65 34 49 24 44 191 38 25 91 5 58 140 99 153 124 54 184 42 83 108 155 4 20 191 3 29 35 40 180 7 40 66 25 12 180 86 26 38 139 73 1 137 79 85 102 71 39 28 44 77 56 190 12 66 72 30 152 7 87 84 190 126 48 100 77 91 186 36 31 143 163 50 94 25 126 1 114 105 170 93 22 173 90 116 87 96 19 74 4 122 183 83 120 177 113 169 181 77 182 1 149 186 ^'}}, {OUT=>'5BB3570858FA1744123BAC2873B0BB9810F53FA1'}], ['166', {IN=> {f=> '384 1 25 56 85 107 177 6 186 138 184 28 61 184 191 175 107 6 29 81 114 12 156 2 137 86 189 73 64 127 129 44 167 11 98 107 169 143 26 146 61 130 88 120 139 55 3 189 119 87 22 105 67 78 147 51 2 161 109 84 49 87 38 48 192 62 25 64 143 72 169 151 106 111 53 58 8 93 8 85 123 120 131 170 38 2 169 167 49 41 37 153 21 39 92 145 190 155 177 185 48 13 5 150 48 21 85 115 40 166 178 88 104 1 125 19 116 106 141 111 23 43 101 58 187 150 78 101 50 107 185 86 151 130 134 143 34 31 26 122 38 40 112 97 33 136 50 99 127 121 159 7 19 170 187 1 79 191 26 130 118 5 104 47 126 109 92 129 52 30 193 90 35 67 116 90 3 181 39 122 30 155 147 105 83 21 77 35 75 174 55 190 131 154 95 72 185 94 36 95 126 71 149 4 68 152 180 144 146 7 49 33 152 188 29 111 194 172 148 125 35 59 36 125 11 36 141 149 183 125 27 1 71 133 61 138 168 85 131 5 96 162 161 117 142 14 79 183 141 165 126 55 11 74 84 79 167 3 40 142 177 193 128 173 192 100 163 16 127 145 182 97 17 193 120 115 32 108 18 96 154 103 152 150 86 181 15 99 135 179 124 194 164 68 160 43 109 138 152 142 6 21 23 149 20 11 82 164 44 159 148 133 115 24 28 53 104 9 183 179 108 56 39 84 87 30 163 32 70 75 166 170 8 139 9 175 99 143 64 89 186 114 183 133 85 161 63 61 154 111 15 115 78 109 108 72 177 14 71 103 176 173 176 157 38 10 54 132 41 186 130 126 63 69 39 76 7 65 171 82 172 102 124 140 83 113 ^'}}, {OUT=>'905F43940B3591CE39D1145ACB1ECA80AB5E43CD'}], ['167', {IN=> {f=> '396 1 189 70 83 29 132 67 115 145 151 170 181 14 192 2 187 40 5 33 160 48 183 91 132 83 112 177 62 189 153 128 91 49 38 50 55 24 8 8 51 36 13 175 28 36 56 160 12 107 168 25 104 157 156 139 165 14 30 192 164 195 56 41 180 159 28 79 41 144 167 51 115 188 136 154 145 65 2 22 93 83 191 147 23 110 57 137 131 66 138 26 78 146 125 159 150 34 177 22 129 68 168 111 74 118 77 50 174 54 47 87 140 20 178 158 133 60 33 45 93 47 8 170 59 52 56 124 20 16 150 117 24 84 46 106 151 51 158 173 113 111 196 73 15 133 136 71 100 10 85 182 110 143 114 92 185 42 42 118 156 20 135 173 156 96 180 37 73 134 156 182 150 196 192 45 172 17 167 91 168 68 89 134 120 190 173 34 141 37 152 111 117 103 61 7 34 62 67 191 190 8 87 21 195 139 86 44 76 66 55 186 23 31 87 183 5 155 122 191 68 53 149 136 35 115 26 121 131 102 123 3 42 197 133 179 56 84 165 136 190 130 49 157 80 101 103 97 197 11 19 118 1 5 119 137 9 104 193 141 116 122 72 38 7 70 47 44 155 43 16 107 125 40 127 193 105 131 145 108 185 6 50 141 1 167 127 153 45 53 192 121 12 79 84 129 151 15 166 196 156 60 188 53 109 83 148 162 46 146 6 136 111 160 88 38 169 85 63 87 97 35 194 3 82 52 13 132 43 59 92 109 4 178 3 118 37 195 96 94 60 112 15 47 166 110 179 99 69 149 100 43 138 69 70 123 89 12 158 54 90 72 117 182 31 166 153 164 76 33 2 101 63 44 112 58 39 143 74 32 107 89 55 143 31 47 123 125 4 135 18 141 80 137 88 81 154 187 ^'}}, {OUT=>'336C79FBD82F33E490C577E3F791C3CBFE842AFF'}], ['168', {IN=> {f=> '406 0 23 134 103 49 99 44 64 160 68 190 114 105 91 86 22 27 15 74 8 22 151 79 199 84 85 90 128 9 5 175 129 17 40 59 125 187 194 144 151 3 60 6 158 153 67 58 18 99 19 53 129 90 179 134 52 124 55 95 138 82 170 167 69 122 13 108 160 119 115 161 51 14 167 120 47 60 57 86 16 184 96 197 42 98 112 165 154 199 157 21 168 52 146 66 126 119 93 150 20 36 153 140 194 93 26 156 114 80 80 55 44 13 35 24 44 191 24 190 63 177 44 140 99 146 117 54 163 42 76 101 134 176 185 177 168 1 21 19 180 193 12 52 197 191 173 65 19 31 118 59 1 123 72 71 88 64 11 193 37 63 28 169 184 45 72 195 152 186 87 56 176 112 41 93 77 84 158 29 3 136 142 36 80 4 119 166 86 98 163 93 1 145 83 102 66 75 191 46 4 94 155 55 120 149 113 148 181 49 175 180 142 87 5 51 65 92 167 196 186 138 184 23 61 164 171 175 107 6 9 81 114 7 141 177 117 76 174 73 54 112 114 29 152 11 98 87 154 123 21 146 41 115 88 115 139 40 183 189 109 67 7 90 52 73 127 51 192 156 89 69 49 77 33 33 182 57 10 64 138 57 159 136 91 111 33 58 193 88 188 75 118 110 126 170 18 197 169 162 34 41 17 138 6 34 92 145 185 155 157 170 43 8 140 48 21 70 105 40 161 178 78 89 196 110 199 106 96 121 106 23 185 28 96 48 167 145 58 91 35 97 180 66 151 130 124 128 34 16 6 107 28 20 112 92 18 121 30 84 107 101 159 187 19 155 182 181 74 186 11 120 98 185 104 32 126 94 82 119 42 25 173 90 30 62 96 70 178 176 39 102 15 150 147 100 78 16 57 35 75 169 35 170 116 144 75 146 ^'}}, {OUT=>'5C6D07A6B44F7A75A64F6CE592F3BAE91E022210'}], ['169', {IN=> {f=> '409 1 185 70 12 95 110 71 133 183 52 136 148 144 114 186 17 25 144 164 5 79 178 172 124 117 19 43 20 93 174 36 125 117 151 109 3 164 55 101 37 122 152 77 131 168 88 162 161 93 142 14 63 167 141 149 94 39 190 50 68 47 135 198 16 110 153 177 104 173 192 68 147 179 119 137 166 73 180 169 88 91 24 76 10 80 146 79 128 150 62 149 194 83 111 171 124 170 156 60 152 27 109 106 120 134 201 184 202 149 12 198 66 132 12 127 132 133 83 8 12 45 88 9 183 155 92 24 23 76 63 14 163 8 62 67 150 162 8 115 1 167 91 127 32 89 162 90 159 125 85 129 47 53 154 95 7 115 54 101 108 56 169 6 47 103 176 157 160 125 14 10 30 124 17 178 122 102 55 69 15 60 202 49 171 74 148 94 92 124 67 200 184 70 83 29 127 67 100 140 131 165 176 4 182 2 167 20 193 33 160 43 173 71 112 68 97 157 57 169 138 113 86 44 38 40 55 19 196 201 31 21 8 165 23 26 41 155 195 183 102 158 25 94 142 146 129 150 9 30 177 154 195 51 36 175 139 28 59 31 124 167 41 105 173 121 134 130 65 185 17 78 78 181 137 13 95 57 137 116 51 118 16 78 131 115 154 145 29 177 22 129 68 168 91 74 98 72 30 174 39 37 72 130 15 163 158 128 50 18 25 73 27 191 150 59 52 36 104 20 11 130 97 4 79 46 106 141 46 138 163 108 106 191 68 15 113 136 66 100 193 65 182 105 123 99 72 180 37 22 108 156 10 130 168 141 96 160 22 58 134 151 162 140 181 187 35 157 7 147 76 163 58 84 129 100 190 153 24 126 32 142 96 107 88 41 2 14 42 52 186 170 3 82 11 180 119 66 29 56 66 50 171 3 11 77 163 5 150 112 128 ^'}}, {OUT=>'7E0D3E9D33127F4A30EB8D9C134A58409FA8695B'}], ['170', {IN=> {f=> '413 1 47 25 135 129 7 108 19 107 117 102 102 3 28 190 112 165 56 63 165 122 183 116 28 157 52 73 89 90 169 202 12 111 185 203 91 116 200 97 193 134 116 122 44 31 7 63 26 37 134 22 2 93 125 33 99 186 77 124 131 94 171 183 50 113 178 146 127 153 45 32 164 121 203 58 56 108 130 192 166 168 128 39 188 53 102 69 148 141 18 139 197 108 97 132 74 24 155 71 63 59 97 21 194 180 61 45 204 132 29 31 85 88 188 164 187 118 37 167 82 94 60 98 1 47 152 110 172 85 55 128 72 43 117 41 42 116 61 12 144 40 62 58 117 168 17 159 139 164 76 5 193 101 56 30 105 30 11 143 60 32 86 68 41 136 31 40 123 118 181 135 195 127 59 130 81 53 147 62 13 124 98 34 79 39 49 145 53 180 94 105 91 71 2 27 5 54 193 7 141 79 199 84 75 70 128 199 195 160 119 17 20 54 115 187 184 129 146 193 40 201 143 138 57 43 18 94 204 38 114 80 179 114 47 119 50 80 118 82 160 152 49 112 198 88 155 104 95 151 36 199 162 100 27 50 47 86 195 16 179 81 192 27 83 107 150 134 194 147 1 158 32 131 61 111 119 83 140 5 21 133 120 174 78 26 136 109 65 80 40 29 203 25 24 44 191 14 170 43 162 34 140 99 141 112 54 148 42 71 96 119 161 165 167 148 186 11 4 180 188 197 42 182 181 168 50 14 26 103 49 1 113 67 61 78 59 196 173 32 53 8 154 169 30 72 175 152 176 87 36 166 102 36 88 77 79 138 24 188 131 127 26 70 194 114 146 66 93 158 93 191 125 78 92 51 60 176 26 4 74 135 35 120 129 113 133 181 29 170 170 137 77 190 46 45 77 157 191 186 138 184 18 61 144 151 175 107 6 194 81 114 2 126 110 ^'}}, {OUT=>'9A5F50DFCFB19286206C229019F0ABF25283028C'}], ['171', {IN=> {f=> '427 1 85 60 150 73 38 88 90 5 128 11 98 55 130 91 13 146 9 91 88 107 139 16 159 189 93 35 191 66 28 65 95 51 184 148 57 45 49 61 25 9 166 49 194 64 130 33 143 112 67 111 1 58 177 80 164 59 110 94 118 170 194 197 169 154 10 41 193 114 190 26 92 145 177 155 125 146 35 200 124 48 21 46 89 40 153 178 62 65 196 86 175 90 80 89 98 23 169 4 88 32 135 137 26 75 11 81 172 34 151 130 108 104 34 200 182 83 12 196 112 84 202 97 206 60 75 69 159 163 19 131 174 157 66 178 195 104 66 161 104 8 126 70 66 103 26 17 141 90 22 54 64 38 146 168 39 70 199 142 147 92 70 8 25 35 75 161 3 138 92 128 43 59 185 55 205 95 100 71 123 173 42 126 128 144 94 176 205 20 139 149 198 59 168 172 109 112 9 33 10 73 154 36 115 97 131 99 196 144 45 81 22 112 142 72 131 148 83 162 161 78 142 14 53 157 141 139 74 29 180 35 58 27 115 198 1 90 138 167 89 173 192 48 137 159 114 132 156 58 160 154 68 76 19 56 5 70 141 64 113 150 47 129 184 73 96 166 124 155 151 55 147 17 109 86 100 129 201 164 192 149 7 193 56 112 200 107 122 133 63 206 2 40 78 9 183 140 82 4 13 71 48 4 163 201 57 62 140 157 8 100 204 162 86 117 12 89 147 75 144 120 85 109 37 48 154 85 2 115 39 96 108 46 164 1 32 103 176 147 150 105 207 10 15 119 2 173 117 87 50 69 50 202 39 171 69 133 89 72 114 57 195 179 70 83 29 122 67 85 135 111 160 171 202 172 2 147 183 33 160 38 163 51 92 53 82 137 52 149 123 98 81 39 38 30 55 14 186 196 11 6 3 155 18 16 26 150 180 168 97 148 25 84 127 136 119 135 4 30 162 144 195 46 31 170 119 28 190 ^'}}, {OUT=>'DCA737E269F9D8626D488988C996E06B352C0708'}], ['172', {IN=> {f=> '443 1 17 96 167 27 91 152 100 106 109 65 164 10 57 71 167 123 209 74 57 137 95 30 90 2 78 110 101 147 138 22 177 22 129 68 168 63 74 70 65 2 174 18 23 51 116 8 142 158 121 36 207 207 45 209 170 122 59 52 8 76 20 4 102 69 186 72 46 106 127 39 110 149 101 99 184 61 15 85 136 59 100 172 37 182 98 95 78 44 173 30 204 94 156 206 123 161 120 96 132 1 37 134 144 134 126 160 180 21 136 203 119 55 156 44 77 122 72 190 125 10 105 25 128 75 93 67 13 205 196 14 31 179 142 206 75 207 159 91 38 8 28 66 43 150 185 193 63 135 5 143 98 143 32 5 125 124 197 103 14 97 107 102 87 3 18 185 97 155 56 48 165 112 178 106 13 157 32 53 79 85 149 197 7 106 175 203 71 101 195 92 193 129 116 122 24 26 7 58 11 32 119 7 202 83 125 28 79 181 57 119 121 84 161 168 50 93 163 131 127 153 45 17 144 121 198 43 36 93 115 177 166 148 108 24 188 53 97 59 148 126 208 134 192 88 87 112 64 14 145 61 63 39 97 11 194 165 46 40 199 132 19 11 80 73 178 154 177 118 37 147 72 94 60 88 201 47 142 110 167 75 45 113 52 43 102 21 22 111 41 12 134 30 42 48 117 158 7 154 129 164 76 195 188 101 51 20 100 10 201 143 50 32 71 53 31 131 31 35 123 113 166 135 180 117 44 125 76 33 142 62 3 114 93 19 59 34 34 130 38 170 74 105 91 56 192 27 205 34 178 202 131 79 199 84 65 50 128 189 185 145 109 17 49 105 187 174 114 141 183 20 196 128 123 47 28 18 89 189 23 99 70 179 94 42 114 45 65 98 82 150 137 29 102 183 68 150 89 75 141 21 184 157 80 7 40 37 86 190 16 174 66 187 12 68 102 135 114 189 137 191 148 12 116 56 96 119 73 130 200 6 113 100 154 63 26 116 104 50 80 25 14 193 83 ^'}}, {OUT=>'B8FFC1D4972FCE63241E0E77850AC46DDE75DBFA'}], ['173', {IN=> {f=> '436 1 24 44 191 211 138 11 138 18 140 99 133 104 54 124 42 63 88 95 137 133 151 116 162 208 193 180 180 173 26 158 165 160 26 6 18 79 33 1 97 59 45 62 51 172 141 24 37 189 130 145 6 72 143 152 160 87 4 150 86 28 80 77 71 106 16 164 123 103 10 54 178 106 114 34 85 150 93 175 93 70 76 27 36 152 207 4 42 103 3 120 97 113 109 181 210 162 154 129 61 166 38 13 53 141 183 186 138 184 10 61 112 119 175 107 6 170 81 114 207 102 125 65 50 135 73 28 73 75 203 113 11 98 35 115 71 8 146 202 76 88 102 139 1 144 189 83 15 181 51 13 60 75 51 179 143 37 30 49 51 20 207 156 44 184 64 125 18 133 97 52 111 194 58 167 75 149 49 105 84 113 170 179 197 169 149 208 41 178 99 180 21 92 145 172 155 105 131 30 208 200 114 48 21 31 79 40 148 178 52 50 196 71 160 80 70 69 93 23 159 202 83 22 115 132 6 65 209 71 167 14 151 130 98 89 34 190 167 68 2 181 112 79 192 82 191 45 55 49 159 148 19 116 169 142 61 173 185 94 46 146 104 206 126 55 56 93 16 12 121 90 17 49 44 18 126 163 39 50 189 137 147 87 65 3 5 35 75 156 196 118 77 118 23 54 185 40 195 95 90 71 113 163 32 116 108 144 74 166 190 15 134 134 188 39 158 172 94 107 212 23 53 134 36 105 77 111 89 186 124 35 61 7 102 132 67 131 128 78 162 161 63 142 14 43 147 141 129 54 19 170 20 48 7 95 198 199 70 123 157 74 173 192 28 127 139 109 127 146 43 140 139 48 61 14 36 60 136 49 98 150 32 109 174 63 81 161 124 140 146 50 142 7 109 66 80 124 201 144 182 149 2 188 46 92 185 87 112 133 43 201 205 35 68 9 183 125 72 197 3 66 33 207 163 191 52 57 130 152 8 85 204 157 81 107 205 187 ^'}}, {OUT=>'E9C9BF41C8549354151B977003CE1D830BE667DB'}], ['174', {IN=> {f=> '462 1 126 54 123 113 85 81 23 41 154 71 210 115 18 89 108 32 157 209 11 103 176 133 136 77 193 10 209 112 196 166 110 66 43 69 194 36 202 25 171 62 112 82 44 100 43 188 172 70 83 29 115 67 64 128 83 153 164 195 158 2 119 187 169 33 160 31 149 23 64 32 61 109 45 121 102 77 74 32 38 16 55 7 172 189 198 200 211 141 11 2 5 143 159 147 90 134 25 70 106 122 105 114 212 30 141 130 195 39 24 163 91 28 11 7 76 167 17 81 137 85 86 94 65 149 5 42 66 157 113 204 59 57 137 80 15 70 207 78 95 91 142 133 17 177 22 129 68 168 43 74 50 60 197 174 3 13 36 106 3 127 158 116 26 197 192 25 194 155 102 59 52 203 56 20 214 82 49 171 67 46 106 117 34 90 139 96 94 179 56 15 65 136 54 100 157 17 182 93 75 63 24 168 25 189 84 156 201 118 156 105 96 112 201 22 134 139 114 116 145 175 11 121 198 99 40 151 34 72 117 52 190 105 90 20 118 60 83 52 208 205 181 209 16 174 122 206 70 202 144 71 18 208 8 66 38 135 170 178 53 115 5 138 88 123 17 200 115 119 182 98 9 87 97 102 72 3 8 180 82 145 56 33 165 102 173 96 213 157 12 33 69 80 129 192 2 101 165 203 51 86 190 87 193 124 116 122 4 21 7 53 211 27 104 207 197 73 125 23 59 176 37 114 111 74 151 153 50 73 148 116 127 153 45 2 124 121 193 28 16 78 100 162 166 128 88 9 188 53 92 49 148 111 193 129 187 68 77 92 54 4 135 51 63 19 97 1 194 150 31 35 194 132 9 206 75 58 168 144 167 118 37 127 62 94 60 78 196 47 132 110 162 65 35 98 32 43 87 1 2 106 21 12 124 20 22 38 117 148 212 149 119 164 76 180 183 101 46 10 95 205 186 143 40 32 56 38 21 126 31 30 123 108 151 135 165 107 29 120 71 13 137 62 208 104 88 4 39 29 19 115 23 160 54 105 91 41 177 27 200 14 163 124 ^'}}, {OUT=>'0942908960B54F96CB43452E583F4F9CB66E398A'}], ['175', {IN=> {f=> '453 0 115 79 199 84 49 18 128 173 169 121 93 17 186 41 89 187 158 90 133 167 206 188 104 99 31 4 18 81 165 217 75 54 179 62 34 106 37 41 66 82 134 113 215 86 159 36 142 65 43 125 215 160 149 48 193 24 21 86 182 16 166 42 179 206 44 94 111 82 181 121 167 132 198 92 48 72 119 57 114 184 200 81 68 122 39 26 84 96 26 80 1 208 177 217 24 44 191 206 118 209 123 8 140 99 128 99 54 109 42 58 83 80 122 113 141 96 147 203 183 180 175 158 16 143 155 155 11 1 13 64 23 1 87 54 35 52 46 157 121 19 27 174 115 130 209 72 123 152 150 87 202 140 76 23 75 77 66 86 11 149 118 88 44 168 101 94 14 80 145 93 165 73 65 66 12 21 137 192 4 22 83 201 120 77 113 94 181 195 157 144 124 51 151 33 211 38 131 178 186 138 184 5 61 92 99 175 107 6 155 81 114 207 87 105 45 40 120 73 18 58 60 193 98 11 98 15 100 51 3 146 187 61 88 97 139 204 129 189 73 213 171 36 216 55 55 51 174 138 17 15 49 41 15 197 146 39 174 64 120 3 123 82 37 111 179 58 157 70 134 39 100 74 108 170 164 197 169 144 198 41 163 84 170 16 92 145 167 155 85 116 25 208 200 104 48 21 16 69 40 143 178 42 35 196 56 145 70 60 49 88 23 149 192 78 12 95 127 204 55 199 61 162 212 151 130 88 74 34 180 152 53 210 166 112 74 182 67 176 30 35 29 159 133 19 101 164 127 56 168 175 84 26 131 104 196 126 40 46 83 6 7 101 90 12 44 24 216 106 158 39 30 179 132 147 82 60 216 203 35 75 151 181 98 62 108 3 49 185 25 185 95 80 71 103 153 22 106 88 144 54 156 175 10 129 119 178 19 148 172 79 102 207 13 208 33 114 36 95 57 91 79 176 104 25 41 210 92 122 62 131 108 73 162 161 48 142 14 33 137 141 119 34 9 160 5 38 205 75 198 189 50 108 112 ^'}}, {OUT=>'FCE34051C34D4B81B85DDC4B543CDE8007E284B3'}], ['176', {IN=> {f=> '454 1 53 173 192 113 111 102 120 132 22 112 118 20 40 7 8 213 46 129 28 77 150 11 81 160 49 60 154 124 119 139 43 135 213 109 38 52 117 201 116 168 149 215 181 32 64 164 59 98 133 15 194 198 28 54 9 183 104 58 176 209 59 12 200 163 177 45 50 116 145 8 64 204 150 74 93 184 89 111 39 108 108 85 61 13 36 154 61 210 115 3 84 108 22 152 209 216 103 176 123 126 57 183 10 199 107 186 161 105 51 38 69 184 26 202 15 171 57 97 77 24 90 33 183 167 70 83 29 110 67 49 123 63 148 159 190 148 2 99 172 159 33 160 26 139 3 44 17 46 89 40 101 87 62 69 27 38 6 55 2 162 184 183 190 211 131 6 212 210 138 144 132 85 124 25 60 91 112 95 99 212 30 126 120 195 34 19 158 71 28 211 217 56 167 7 71 122 70 66 79 65 134 27 61 147 103 199 44 57 137 65 50 202 78 80 81 137 128 12 177 22 129 68 168 23 74 30 55 182 174 208 3 21 96 218 112 158 111 16 187 177 5 179 140 82 59 52 188 36 20 214 62 29 156 62 46 106 107 29 70 129 91 89 174 51 15 45 136 49 100 142 217 182 88 55 48 4 163 20 174 74 156 196 113 151 90 96 92 191 7 134 134 94 106 130 170 1 106 193 79 25 146 24 67 112 32 190 85 210 75 15 108 45 73 37 193 205 166 194 1 169 102 206 65 197 129 51 218 198 208 66 33 120 155 163 43 95 5 133 78 103 2 185 105 114 167 93 4 77 87 102 57 3 218 175 67 135 56 18 165 92 168 86 203 157 212 13 59 75 109 187 217 96 155 203 31 71 185 82 193 119 116 122 204 16 7 48 201 22 89 197 192 63 125 18 39 171 17 109 101 64 141 138 50 53 133 101 127 153 45 207 104 121 188 13 216 63 85 147 166 108 68 214 188 53 87 39 148 96 178 124 182 48 67 72 44 214 125 41 63 219 97 211 194 135 16 30 189 132 219 191 70 43 158 181 ^'}}, {OUT=>'61E8916532503627F4024D13884640A46F1D61D4'}], ['177', {IN=> {f=> '475 0 153 118 37 99 48 94 60 64 189 47 118 110 155 51 21 77 4 43 66 195 196 99 215 12 110 6 216 24 117 134 205 142 105 164 76 159 176 101 39 218 88 184 165 143 26 32 35 17 7 119 31 23 123 101 130 135 144 93 8 113 64 207 130 62 201 90 81 205 11 22 220 94 2 146 26 105 91 20 156 27 193 208 142 178 107 79 199 84 41 2 128 165 161 109 85 17 174 37 81 187 150 78 129 159 194 184 92 87 23 214 18 77 153 209 63 46 179 46 30 102 33 29 50 82 126 101 203 78 147 20 138 53 27 117 207 148 145 32 181 16 13 86 178 16 162 30 175 198 32 90 99 66 177 113 155 124 186 80 44 60 119 49 106 176 192 65 52 106 27 26 68 92 14 80 211 200 169 213 24 44 191 202 102 197 111 140 99 124 95 54 97 42 54 79 68 110 97 133 80 135 199 175 180 171 146 8 131 147 151 221 219 9 52 15 1 79 50 27 44 42 145 105 15 19 162 103 118 201 72 107 152 142 87 190 132 68 19 71 77 62 70 7 137 114 76 214 36 160 97 78 220 76 141 93 157 57 61 58 9 125 180 4 6 67 189 120 61 113 82 181 183 153 136 120 43 139 29 199 26 123 174 186 138 184 1 61 76 83 175 107 6 143 81 114 207 75 89 29 32 108 73 10 46 48 185 86 11 98 221 88 35 221 146 175 49 88 93 139 196 117 189 65 201 163 24 208 51 39 51 170 134 1 3 49 33 11 189 138 35 166 64 116 213 115 70 25 111 167 58 149 66 122 31 96 66 104 170 152 197 169 140 190 41 151 72 162 12 92 145 163 155 69 104 21 208 200 96 48 21 4 61 40 139 178 34 23 196 44 133 62 52 33 84 23 141 184 74 4 79 123 192 47 191 53 158 200 151 130 80 62 34 172 140 41 206 154 112 70 174 55 164 18 19 13 159 121 19 89 160 115 52 164 167 76 10 119 104 188 126 28 38 75 220 3 85 90 8 40 8 204 90 154 39 14 171 128 147 78 56 216 191 35 75 147 169 82 50 100 209 45 185 13 177 95 150 ^'}}, {OUT=>'F008D5D7853B6A17B7466CD9E18BD135E520FAF4'}], ['178', {IN=> {f=> '471 0 71 89 139 8 92 60 144 26 142 154 3 122 98 164 216 134 172 58 95 200 224 201 5 86 36 81 29 63 65 162 76 11 13 196 78 108 55 131 80 66 162 161 27 142 14 19 123 141 105 6 220 146 209 24 184 47 198 175 22 87 133 38 173 192 205 103 91 97 115 122 7 92 103 25 2 213 213 36 124 13 62 150 221 61 150 39 45 149 124 104 134 38 130 208 109 18 32 112 201 96 158 149 215 176 22 44 149 39 88 133 220 189 193 23 44 9 183 89 48 161 204 54 222 195 163 167 40 45 106 140 8 49 204 145 69 83 169 89 96 24 93 103 85 41 3 31 154 51 210 115 213 79 108 12 147 209 206 103 176 113 116 37 173 10 189 102 176 156 100 36 33 69 174 16 202 5 171 52 82 72 4 80 23 178 162 70 83 29 105 67 34 118 43 143 154 185 138 2 79 157 149 33 160 21 129 208 24 2 31 69 35 81 72 47 64 22 38 221 55 222 152 179 168 180 211 121 1 207 200 133 129 117 80 114 25 50 76 102 85 84 212 30 111 110 195 29 14 153 51 28 196 212 36 167 222 61 107 55 46 64 65 119 220 12 56 137 93 194 29 57 137 50 210 30 197 78 65 71 132 123 7 177 22 129 68 168 3 74 10 50 167 174 198 218 6 86 218 97 158 106 6 177 162 210 164 125 62 59 52 173 16 20 214 42 9 141 57 46 106 97 24 50 119 86 84 169 46 15 25 136 44 100 127 202 182 83 35 33 209 158 15 159 64 156 191 108 146 75 96 72 181 217 134 129 74 96 115 165 216 91 188 59 10 141 14 62 107 12 190 65 205 60 10 98 30 63 22 178 205 151 179 211 164 82 206 60 192 114 31 203 188 193 66 28 105 140 148 33 75 5 128 68 83 212 170 95 109 152 88 224 67 77 102 42 3 213 170 52 125 56 3 165 82 163 76 193 157 197 218 49 70 89 182 217 91 145 203 11 56 180 77 193 114 116 122 189 11 7 43 191 17 74 187 187 53 125 13 19 166 222 104 91 54 131 123 50 33 118 86 127 167 ^'}}, {OUT=>'BD8D2E873CF659B5C77AAC1616827EF8A3B1A3B3'}], ['179', {IN=> {f=> '480 1 45 193 76 121 181 219 195 42 64 126 166 80 40 200 188 53 80 25 148 75 157 117 175 20 53 44 30 207 111 27 63 198 97 204 194 114 222 23 182 132 212 170 63 22 144 120 143 118 37 79 38 94 60 54 184 47 108 110 150 41 11 62 211 43 51 180 181 94 200 12 100 223 201 14 117 124 200 137 95 164 76 144 171 101 34 213 83 169 150 143 16 32 20 2 224 114 31 18 123 96 115 135 129 83 220 108 59 192 125 62 196 80 76 195 218 17 210 79 214 136 6 105 91 5 141 27 188 193 127 168 97 79 199 84 31 209 128 155 151 94 75 17 159 32 71 187 140 63 124 149 179 179 77 72 13 204 18 72 138 199 48 36 179 26 25 97 28 14 30 82 116 86 188 68 132 133 38 7 107 197 133 140 12 166 6 3 86 173 16 157 15 170 188 17 85 84 46 172 103 140 114 171 65 39 45 119 39 96 166 182 45 32 86 12 26 48 87 226 80 201 190 159 208 24 44 191 197 82 182 96 217 140 99 119 90 54 82 42 49 74 53 95 77 123 60 120 194 165 180 166 131 225 116 137 146 211 219 4 37 5 1 69 45 17 34 37 130 85 10 9 147 88 103 191 72 87 152 132 87 175 122 58 14 66 77 57 50 2 122 109 61 209 26 150 92 58 205 71 136 93 147 37 56 48 212 221 110 165 4 213 47 174 120 41 113 67 181 168 148 126 115 33 124 24 184 11 113 169 186 138 184 223 61 56 63 175 107 6 128 81 114 207 60 69 9 22 93 73 31 33 175 71 11 98 206 73 15 221 146 160 34 88 88 139 186 102 189 55 186 153 9 198 46 19 51 165 129 208 215 49 23 6 179 128 30 156 64 111 203 105 55 10 111 152 58 139 61 107 21 91 56 99 170 137 197 169 135 180 41 136 57 152 7 92 145 158 155 49 89 16 208 200 86 48 21 216 51 40 134 178 24 8 196 29 118 52 42 13 79 23 131 174 69 221 59 118 177 37 181 43 153 185 151 130 70 47 34 162 125 26 201 139 112 65 164 40 149 3 226 220 159 106 19 74 155 100 47 159 157 193 ^'}}, {OUT=>'B25A04DD425302ED211A1C2412D2410FA10C63B6'}], ['180', {IN=> {f=> '471 0 211 98 104 174 126 7 24 61 213 225 57 90 1 33 209 183 62 147 39 215 157 121 147 71 49 216 170 35 75 140 148 54 29 86 188 38 185 221 163 95 58 71 81 131 84 44 144 10 134 142 228 118 86 156 204 126 172 46 91 196 220 197 218 70 36 73 13 47 57 154 60 3 226 188 70 100 51 131 64 62 162 161 15 142 14 11 115 141 97 219 216 138 201 16 172 31 198 167 6 75 125 26 173 192 193 95 75 93 111 114 224 76 91 213 13 227 201 213 28 120 1 50 150 213 45 142 31 33 145 124 92 130 34 126 204 109 2 16 108 201 80 150 149 215 172 14 28 137 23 80 133 208 185 189 19 36 9 183 77 40 149 200 50 214 191 163 159 36 41 98 136 8 37 204 141 65 75 157 89 84 12 81 99 85 25 224 27 154 43 210 115 205 75 108 4 143 209 198 103 176 105 108 21 165 10 181 98 168 152 96 24 29 69 166 8 202 226 171 48 70 68 217 72 15 174 158 70 83 29 101 67 22 114 27 139 150 181 130 2 63 145 141 33 160 17 121 196 8 219 19 53 31 65 60 35 60 18 38 217 55 222 144 175 156 172 211 113 226 203 192 129 117 105 76 106 25 42 64 94 77 72 212 30 99 102 195 25 10 149 35 28 184 208 20 167 218 53 95 43 30 52 65 107 220 52 129 85 190 17 57 137 38 202 14 193 78 53 63 128 119 3 177 22 129 68 168 216 74 223 46 155 174 190 214 223 78 218 85 158 102 227 169 150 198 152 113 46 59 52 161 20 214 26 222 129 53 46 106 89 20 34 111 82 80 165 42 15 9 136 40 100 115 190 182 79 19 21 197 154 11 147 56 156 187 104 142 63 96 56 173 209 134 125 58 88 103 161 212 79 184 43 227 137 6 58 103 225 190 49 201 48 6 90 18 55 10 166 205 139 167 203 160 66 206 56 188 102 15 191 180 181 66 24 93 128 136 25 59 5 124 60 67 204 158 87 105 140 84 224 59 69 102 30 3 209 166 40 117 56 220 165 74 159 68 185 157 185 206 41 66 167 ^'}}, {OUT=>'A404E21588123E0893718B4B44E91414A785B91F'}], ['181', {IN=> {f=> '490 1 176 217 85 133 203 218 38 174 71 193 108 116 122 171 5 7 37 179 11 56 175 181 41 125 7 226 160 204 98 79 42 119 105 50 9 100 68 127 153 45 185 60 121 177 211 183 30 52 114 166 64 24 192 188 53 76 17 148 63 145 113 171 4 45 28 22 203 103 19 63 186 97 200 194 102 214 19 178 132 208 158 59 10 136 112 135 118 37 63 30 94 60 46 180 47 100 110 146 33 3 50 199 43 39 168 169 90 188 12 92 219 189 6 117 116 196 133 87 164 76 132 167 101 30 209 79 157 138 143 8 32 8 221 220 110 31 14 123 92 103 135 117 75 212 104 55 180 121 62 192 72 72 187 206 13 202 67 206 128 221 105 91 224 129 27 184 181 115 160 89 79 199 84 23 197 128 147 143 82 67 17 147 28 63 187 132 51 120 141 167 175 65 60 5 196 18 68 126 191 36 28 179 10 21 93 24 2 14 82 108 74 176 60 120 215 129 26 222 99 189 121 136 227 154 229 226 86 169 16 153 3 166 180 5 81 72 30 168 95 128 106 159 53 35 33 119 31 88 158 174 29 16 70 26 32 83 218 80 193 182 151 204 24 44 191 193 66 170 84 213 140 99 115 86 54 70 42 45 70 41 83 61 115 44 108 190 157 180 162 119 221 104 129 142 203 219 25 228 1 61 41 9 26 33 118 69 6 1 135 76 91 183 72 71 152 124 87 163 114 50 10 62 77 53 34 229 110 105 49 205 18 142 88 42 193 67 132 93 139 21 52 40 204 213 98 153 4 201 31 162 120 25 113 55 181 156 144 118 111 25 112 20 172 230 105 165 186 138 184 223 61 40 47 175 107 6 116 81 114 207 48 53 224 14 81 73 223 19 21 167 59 11 98 194 61 230 221 146 148 22 88 84 139 178 90 189 47 174 145 228 190 42 3 51 161 125 196 207 49 15 2 171 120 26 148 64 107 195 97 43 229 111 140 58 131 57 95 13 87 48 95 170 125 197 169 131 172 41 124 45 144 3 92 145 154 155 33 77 12 208 200 78 48 21 208 43 40 130 178 16 227 196 17 106 44 34 228 75 23 123 166 65 217 43 114 165 29 173 35 200 ^'}}, {OUT=>'A1E13BC55BF6DAD83CF3AABDA3287AD68681EA64'}], ['182', {IN=> {f=> '479 0 167 151 130 58 29 34 150 107 8 195 121 112 59 152 22 131 218 208 202 159 88 19 56 149 82 41 153 145 54 199 86 104 166 126 228 16 53 209 225 41 90 230 29 197 171 46 143 39 203 149 117 147 67 45 216 158 35 75 136 136 38 17 78 176 34 185 213 155 95 50 71 73 123 225 76 28 144 227 126 130 228 114 74 148 192 118 172 34 87 192 216 193 206 54 36 65 230 31 49 146 44 228 214 180 62 92 47 131 48 58 162 161 3 142 14 3 107 141 89 207 212 130 193 8 160 15 198 159 223 63 117 14 173 192 181 87 59 89 107 106 216 60 79 201 1 227 189 213 20 116 222 38 150 205 29 134 23 21 141 124 80 126 30 122 200 109 219 104 201 64 142 149 215 168 6 12 125 7 72 133 196 181 185 15 28 9 183 65 32 137 196 46 206 187 163 151 32 37 90 132 8 25 204 137 61 67 145 89 72 69 95 85 9 220 23 154 35 210 115 197 71 108 229 139 209 190 103 176 97 100 5 157 10 173 94 160 148 92 12 25 69 158 202 222 171 44 58 64 205 64 7 170 154 70 83 29 97 67 10 110 11 135 146 177 122 2 47 133 133 33 160 13 113 184 225 211 7 37 27 49 48 23 56 14 38 213 55 222 136 171 144 164 211 105 226 199 184 125 105 93 72 98 25 34 52 86 69 60 212 30 87 94 195 21 6 145 19 28 172 204 4 167 214 45 83 31 14 40 65 95 220 221 48 121 77 186 5 57 137 26 194 231 189 78 41 55 124 115 232 177 22 129 68 168 204 74 211 42 143 174 182 210 215 70 218 73 158 98 223 161 138 186 140 101 30 59 52 149 217 20 214 10 210 117 49 46 106 81 16 18 103 78 76 161 38 15 226 136 36 100 103 178 182 75 3 9 185 150 7 135 48 156 183 100 138 51 96 40 165 201 134 121 42 80 91 157 208 67 180 27 219 133 231 54 99 213 190 33 197 36 2 82 6 47 231 154 205 127 155 195 156 50 206 52 184 90 232 179 172 169 66 20 81 116 124 17 43 5 120 52 51 196 146 79 101 128 80 224 65 ^'}}, {OUT=>'D5FD35FFABED6733C92365929DF0FB4CAE864D15'}], ['183', {IN=> {f=> '503 1 55 102 9 3 202 159 19 103 56 206 165 60 152 54 171 157 164 185 27 59 45 171 217 80 123 203 203 23 169 66 193 103 116 122 156 7 32 169 6 41 165 176 31 125 2 211 155 189 93 69 32 109 90 50 225 85 53 127 153 45 175 40 121 172 201 168 15 37 99 166 44 4 182 188 53 71 7 148 48 130 108 166 220 35 8 12 198 93 9 63 171 97 195 194 87 204 14 173 132 203 143 54 231 126 102 125 118 37 43 20 94 60 36 175 47 90 110 141 23 229 35 184 43 24 153 154 85 173 12 82 214 174 232 117 106 191 128 77 164 76 117 162 101 25 204 74 142 123 143 234 32 229 211 215 105 31 9 123 87 88 135 102 65 202 99 50 165 116 62 187 62 67 177 191 8 192 52 196 118 206 105 91 214 114 27 179 166 100 150 79 79 199 84 13 182 128 137 133 67 57 17 132 23 53 187 122 36 115 131 152 170 50 45 231 186 18 63 111 181 21 18 179 226 16 88 19 223 230 82 98 59 161 50 105 200 124 11 207 89 179 106 131 212 139 224 221 86 164 16 148 224 161 170 226 76 57 10 163 85 113 96 144 38 30 18 119 21 78 148 164 9 232 50 221 26 12 78 208 80 183 172 141 199 24 44 191 188 46 155 69 208 140 99 110 81 54 55 42 40 65 26 68 41 105 24 93 185 147 180 157 104 216 89 119 137 193 219 231 10 223 1 51 36 235 16 28 103 49 1 227 120 61 76 173 72 51 152 114 87 148 104 40 5 57 77 48 14 229 95 100 34 200 8 132 83 22 178 62 127 93 129 1 47 30 194 203 83 138 4 186 11 147 120 5 113 40 181 141 139 108 106 15 97 15 157 220 95 160 186 138 184 223 61 20 27 175 107 6 101 81 114 207 33 33 209 4 66 73 218 4 6 157 44 11 98 179 46 215 221 146 133 7 88 79 139 168 75 189 37 159 135 218 180 37 219 51 156 120 181 197 49 5 233 161 110 21 138 64 102 185 87 28 219 111 125 58 121 52 80 3 82 38 90 170 110 197 169 126 162 41 109 30 134 234 92 145 149 155 13 62 7 208 200 68 48 21 198 33 40 125 178 6 217 196 2 91 34 24 213 70 23 113 161 ^'}}, {OUT=>'C12E9C280EE9C079E0506FF89F9B20536E0A83EF'}], ['184', {IN=> {f=> '470 0 58 210 15 107 144 15 159 21 142 152 151 130 48 14 34 140 92 231 190 106 112 54 142 7 116 208 193 187 159 73 19 41 144 67 36 148 135 44 184 71 104 156 126 218 6 43 204 225 21 90 230 24 182 156 26 138 39 188 139 112 147 62 40 216 143 35 75 131 121 18 2 68 161 29 185 203 145 95 40 71 63 113 220 66 8 144 212 116 115 228 109 59 138 177 108 172 19 82 187 211 188 191 34 36 55 215 11 39 136 24 223 199 170 52 82 42 131 28 53 162 161 226 142 14 231 97 141 79 192 207 120 183 236 145 233 198 149 208 48 107 237 173 192 166 77 39 84 102 96 206 40 64 186 224 227 174 213 10 111 212 23 150 195 9 124 13 6 136 124 65 121 25 117 195 109 204 218 99 201 44 132 149 215 163 234 230 110 225 62 133 181 176 180 10 18 9 183 50 22 122 191 41 196 182 163 141 27 32 80 127 8 10 204 132 56 57 130 89 57 223 54 90 85 227 215 18 154 25 210 115 187 66 108 224 134 209 180 103 176 87 90 223 147 10 163 89 150 143 87 235 20 69 148 228 202 217 171 39 43 59 190 54 235 165 149 70 83 29 92 67 233 105 229 130 141 172 112 2 27 118 123 33 160 8 103 169 210 201 230 17 22 29 33 8 51 9 38 208 55 222 126 166 129 154 211 95 226 194 174 120 90 78 67 88 25 24 37 76 59 45 212 30 72 84 195 16 1 140 237 28 157 199 222 167 209 35 68 16 232 25 65 80 220 211 43 111 67 181 228 57 137 11 184 216 184 78 26 45 119 110 232 177 22 129 68 168 189 74 196 37 128 174 172 205 205 60 218 58 158 93 218 151 123 171 125 86 10 59 52 134 202 20 214 228 195 102 44 46 106 71 11 236 93 73 71 156 33 15 211 136 31 100 88 163 182 70 221 232 170 145 2 120 38 156 178 95 133 36 96 20 155 191 134 116 22 70 76 152 203 52 175 7 209 128 226 49 94 198 190 13 192 21 235 72 229 37 221 139 205 112 140 185 151 30 206 47 179 75 217 101 ^'}}, {OUT=>'E22769DC00748A9BBD6C05BBC8E81F2CD1DC4E2D'}], ['185', {IN=> {f=> '502 0 158 148 66 13 60 95 103 3 15 5 113 38 23 182 125 65 94 107 73 224 37 47 102 237 3 198 155 7 95 56 198 165 52 148 46 163 157 152 173 19 55 29 167 217 76 115 203 191 11 165 62 193 99 116 122 144 236 7 28 161 2 29 157 172 23 125 238 199 151 177 89 61 24 101 78 50 213 73 41 127 153 45 167 24 121 168 193 156 3 25 87 166 28 228 174 188 53 67 239 148 36 118 104 162 208 27 232 4 194 85 1 63 159 97 191 194 75 196 10 169 132 199 131 50 223 118 94 117 118 37 27 12 94 60 28 171 47 82 110 137 15 225 23 172 43 12 141 142 81 161 12 74 210 162 228 117 98 187 124 69 164 76 105 158 101 21 200 70 130 111 143 230 32 221 203 211 101 31 5 123 83 76 135 90 57 194 95 46 153 112 62 183 54 63 169 179 4 184 40 188 110 194 105 91 206 102 27 175 154 88 142 71 79 199 84 5 170 128 129 125 55 49 17 120 19 45 187 114 24 111 123 140 166 38 33 227 178 18 59 99 173 9 10 179 214 12 84 15 215 218 82 90 47 149 42 93 188 120 239 195 81 171 94 127 200 127 220 217 86 160 16 144 216 157 162 218 72 45 234 159 77 101 88 132 26 26 6 119 13 70 140 156 233 220 34 213 26 236 74 200 80 175 164 133 195 24 44 191 184 30 143 57 204 140 99 106 77 54 43 42 36 61 14 56 25 97 8 81 181 139 180 153 92 212 77 111 133 185 219 231 238 219 1 43 32 231 8 24 91 33 237 223 108 49 64 165 72 35 152 106 87 136 96 32 1 53 77 44 238 229 83 96 22 196 124 79 6 166 58 123 93 121 225 43 22 186 195 71 126 4 174 235 135 120 229 113 28 181 129 135 100 102 7 85 11 145 212 87 156 186 138 184 223 61 4 11 175 107 6 89 81 114 207 21 17 197 236 54 73 214 232 234 149 32 11 98 167 34 203 221 146 121 235 88 75 139 160 63 189 29 147 127 210 172 33 207 51 152 116 169 189 49 237 233 153 102 17 130 64 98 177 79 16 211 111 113 58 113 48 68 235 78 30 86 170 98 197 169 122 154 41 97 18 126 234 92 145 145 155 237 50 209 ^'}}, {OUT=>'F29835A93475740E888E8C14318F3CA45A3C8606'}], ['186', {IN=> {f=> '481 1 208 200 56 48 21 186 21 40 119 178 236 205 196 226 73 22 12 195 64 23 101 144 54 206 241 103 132 7 151 13 138 140 151 130 40 2 34 132 80 223 186 94 112 50 134 237 104 200 181 175 159 61 19 29 140 55 32 144 127 36 172 59 104 148 126 210 240 35 200 225 5 90 230 20 170 144 10 134 39 176 131 108 147 58 36 216 131 35 75 127 109 2 232 60 149 25 185 195 137 95 32 71 55 105 216 58 234 144 200 108 103 228 105 47 130 165 100 172 7 78 183 207 184 179 18 36 47 203 237 31 128 8 219 187 162 44 74 38 131 12 49 162 161 218 142 14 227 89 141 71 180 203 112 175 232 133 221 198 141 196 36 99 229 173 192 154 69 23 80 98 88 198 24 52 174 216 227 162 213 2 107 204 11 150 187 235 116 5 236 132 124 53 117 21 113 191 109 192 206 95 201 28 124 149 215 159 230 218 98 213 54 133 169 172 176 6 10 9 183 38 14 110 187 37 188 178 163 133 23 28 72 123 8 240 204 128 52 49 118 89 45 215 42 86 85 215 211 14 154 17 210 115 179 62 108 220 130 209 172 103 176 79 82 211 139 10 155 85 142 139 83 227 16 69 140 224 202 213 171 35 31 55 178 46 231 161 145 70 83 29 88 67 225 101 217 126 137 168 104 2 11 106 115 33 160 4 95 157 198 193 222 1 18 13 21 238 47 5 38 204 55 222 118 162 117 146 211 87 226 190 166 116 78 66 63 80 25 16 25 68 51 33 212 30 60 76 195 12 239 136 225 28 145 195 210 167 205 27 56 4 220 13 65 68 220 203 39 103 59 177 220 57 137 241 176 204 180 78 14 37 115 106 232 177 22 129 68 168 177 74 184 33 116 174 164 201 197 52 218 46 158 89 214 143 111 159 113 74 236 59 52 122 190 20 214 216 183 90 40 46 106 63 7 224 85 69 67 152 29 15 199 136 27 100 76 151 182 66 209 224 158 141 240 108 30 156 174 91 129 24 96 4 147 183 134 112 6 62 64 148 199 40 171 233 201 124 222 45 90 186 190 239 188 9 235 64 221 29 213 127 178 ^'}}, {OUT=>'1A1D77C6D0F97C4B620FAA90F3F8644408E4B13D'}], ['187', {IN=> {f=> '508 1 94 122 173 145 6 206 41 173 57 199 146 150 136 66 9 48 83 91 239 243 5 109 30 7 174 113 57 90 95 69 224 29 39 102 229 3 194 151 239 87 56 190 165 44 144 38 155 157 140 161 11 51 13 163 217 72 107 203 179 243 161 58 193 95 116 122 132 236 7 24 153 242 17 149 168 15 125 238 187 147 165 85 53 16 93 66 50 201 61 29 127 153 45 159 8 121 164 185 144 235 13 75 166 12 216 166 188 53 63 235 148 24 106 100 158 196 19 220 240 190 77 237 63 147 97 187 194 63 188 6 165 132 195 119 46 215 110 86 109 118 37 11 4 94 60 20 167 47 74 110 133 7 221 11 160 43 129 130 77 149 12 66 206 150 224 117 90 183 120 61 164 76 93 154 101 17 196 66 118 99 143 226 32 213 195 207 97 31 1 123 79 64 135 78 49 186 91 42 141 108 62 179 46 59 161 167 176 28 180 102 182 105 91 198 90 27 171 142 76 134 63 79 199 84 241 158 128 121 117 43 41 17 108 15 37 187 106 12 107 115 128 162 26 21 223 170 18 55 87 165 241 2 179 202 8 80 11 207 206 82 82 35 137 34 81 176 116 231 183 73 163 82 123 188 115 216 213 86 156 16 140 208 153 154 210 68 33 222 155 69 89 80 120 14 22 238 119 5 62 132 148 221 208 18 205 26 224 70 192 80 167 156 125 191 24 44 191 180 14 131 45 200 140 99 102 73 54 31 42 32 57 2 44 9 89 236 69 177 131 180 149 80 208 65 103 129 177 219 231 230 215 1 35 28 227 20 79 17 237 219 96 37 52 157 72 19 152 98 87 124 88 24 241 49 77 40 226 229 71 92 10 192 236 116 75 234 154 54 119 93 113 213 39 14 178 187 59 114 4 162 223 123 120 217 113 16 181 117 131 92 98 243 73 7 133 204 79 152 186 138 184 223 61 232 239 175 107 6 77 81 114 207 9 1 185 232 42 73 210 224 226 141 20 11 98 155 22 191 221 146 109 227 88 71 139 152 51 189 21 135 119 202 164 29 195 51 148 112 157 181 49 233 233 145 94 13 122 64 94 169 71 4 203 111 101 58 105 44 56 231 74 22 82 170 86 197 169 118 146 41 85 6 118 234 92 145 141 149 ^'}}, {OUT=>'4EC84870E9BDD25F523C6DFB6EDD605052CA4EAA'}], ['188', {IN=> {f=> '484 1 219 32 243 208 200 48 48 21 178 13 40 115 178 232 197 196 218 61 14 4 183 60 23 93 136 50 202 229 99 120 245 143 5 134 128 151 130 32 236 34 124 68 215 182 82 112 46 126 229 92 192 169 163 159 49 19 17 136 43 28 140 119 28 160 47 104 140 126 202 236 27 196 225 235 90 230 16 158 132 240 130 39 164 123 104 147 54 32 216 119 35 75 123 97 232 224 52 137 21 185 187 129 95 24 71 47 97 212 50 222 144 188 100 91 228 101 35 122 153 92 172 241 74 179 203 180 167 2 36 39 191 225 23 120 238 215 175 154 36 66 34 131 242 45 162 161 210 142 14 223 81 141 63 168 199 104 167 228 121 209 198 133 184 24 91 221 173 192 142 61 7 76 94 80 190 8 40 162 208 227 150 213 240 103 196 245 150 179 223 108 243 228 128 124 41 113 17 109 187 109 180 194 91 201 12 116 149 215 155 226 206 86 201 46 133 157 168 172 2 2 9 183 26 6 98 183 33 180 174 163 125 19 24 64 119 8 232 204 124 48 41 106 89 33 207 30 82 85 203 207 10 154 9 210 115 171 58 108 216 126 209 164 103 176 71 74 199 131 10 147 81 134 135 79 219 12 69 132 220 202 209 171 31 19 51 166 38 227 157 141 70 83 29 84 67 217 97 205 122 133 164 96 2 241 94 107 33 160 87 145 186 185 214 231 14 243 9 230 43 1 38 200 55 222 110 158 105 138 211 79 226 186 158 112 66 54 59 72 25 8 13 60 43 21 212 30 48 68 195 8 239 132 213 28 133 191 198 167 201 19 44 238 208 1 65 56 220 195 35 95 51 173 212 57 137 233 168 192 176 78 2 29 111 102 232 177 22 129 68 168 165 74 172 29 104 174 156 197 189 44 218 34 158 85 210 135 99 147 101 62 224 59 52 110 178 20 214 204 171 78 36 46 106 55 3 212 77 65 63 148 25 15 187 136 23 100 64 139 182 62 197 216 146 137 240 96 22 156 170 87 125 12 96 234 139 175 134 108 236 54 52 144 195 28 167 221 193 120 218 41 86 174 190 227 184 243 235 56 213 21 205 115 205 71 ^'}}, {OUT=>'D689513FED08B80C39B67371959BC4E3FECB0537'}], ['189', {IN=> {f=> '506 0 110 165 141 238 206 37 169 45 187 134 142 124 66 5 36 71 79 235 231 5 105 22 239 166 101 49 86 83 65 224 21 31 102 221 3 190 147 231 79 56 182 165 36 140 30 147 157 128 149 3 47 245 159 217 68 99 203 167 235 157 54 193 91 116 122 120 236 7 20 145 242 5 141 164 7 125 238 175 143 153 81 45 8 85 54 50 189 49 17 127 153 45 151 240 121 160 177 132 227 1 63 166 244 204 158 188 53 59 231 148 12 94 96 154 184 11 208 236 186 69 233 63 135 97 183 194 51 180 2 161 132 191 107 42 207 102 78 101 118 37 243 244 94 60 12 163 47 66 110 129 247 217 247 148 43 236 117 118 73 137 12 58 202 138 220 117 82 179 116 53 164 76 81 150 101 13 192 62 106 87 143 222 32 205 187 203 93 31 245 123 75 52 135 66 41 178 87 38 129 104 62 175 38 55 153 155 244 168 16 172 94 170 105 91 190 78 27 167 130 64 126 55 79 199 84 237 146 128 113 109 31 33 17 96 11 29 187 98 103 107 116 158 14 9 219 162 18 51 75 157 233 242 179 190 4 76 7 199 194 82 74 23 125 26 69 164 112 223 171 65 155 70 119 176 103 212 209 86 152 16 136 200 149 146 202 64 21 210 151 61 77 72 108 2 18 230 119 245 54 124 140 209 196 2 197 26 212 66 184 80 159 148 117 187 24 44 191 176 246 119 33 196 140 99 98 69 54 19 42 28 53 238 32 241 81 224 57 173 123 180 145 68 204 53 95 125 169 219 231 222 211 1 27 24 223 240 16 67 1 237 215 84 25 40 149 72 3 152 90 87 112 80 16 241 45 77 36 214 229 59 88 246 188 232 108 71 222 142 50 115 93 105 201 35 6 170 179 47 102 4 150 211 111 120 205 113 4 181 105 127 84 94 239 61 3 121 196 71 148 186 138 184 223 61 220 227 175 107 6 65 81 114 207 245 233 173 228 30 73 206 216 218 133 8 11 98 143 10 179 221 146 97 219 88 67 139 144 39 189 13 123 111 194 156 25 183 51 144 108 145 173 49 229 233 137 86 9 114 64 90 161 63 240 195 111 89 58 97 40 44 227 70 14 78 170 74 197 169 114 138 41 73 242 110 234 177 ^'}}, {OUT=>'C4FED58F209FC3C34AD19F86A6DACADC86C04D33'}], ['190', {IN=> {f=> '491 0 145 135 155 207 20 243 208 200 40 48 21 170 5 40 111 178 228 189 196 210 49 6 246 171 56 23 85 128 46 198 217 95 108 241 135 247 130 116 151 130 24 228 34 116 56 207 178 70 112 42 118 221 80 184 157 151 159 37 19 5 132 31 24 136 111 20 148 35 104 132 126 194 232 19 192 225 223 90 230 12 146 120 228 126 39 152 115 100 147 50 28 216 107 35 75 119 85 220 216 44 125 17 185 179 121 95 16 71 39 89 208 42 210 144 176 92 79 228 97 23 114 141 84 172 233 70 175 199 176 155 236 36 31 179 213 15 112 226 211 163 146 28 58 30 131 230 41 162 161 202 142 14 219 73 141 55 156 195 96 159 224 109 197 198 125 172 12 83 213 173 192 130 53 241 72 90 72 182 242 28 150 200 227 138 213 236 99 188 237 150 171 211 100 239 220 124 124 29 109 13 105 183 109 168 182 87 201 246 108 149 215 151 222 194 74 189 38 133 145 164 168 248 244 9 183 14 248 86 179 29 172 170 163 117 15 20 56 115 8 224 204 120 44 33 94 89 21 199 18 78 85 191 203 6 154 1 210 115 163 54 108 212 122 209 156 103 176 63 66 187 123 10 139 77 126 131 75 211 8 69 124 216 202 205 171 27 7 47 154 30 223 153 137 70 83 29 80 67 209 93 193 118 129 160 88 2 229 82 99 33 160 246 79 133 174 177 206 219 10 231 247 222 39 247 38 196 55 222 102 154 93 130 211 71 226 182 150 108 54 42 55 64 25 1 52 35 9 212 30 36 60 195 4 239 128 201 28 121 187 186 167 197 11 32 230 196 239 65 44 220 187 31 87 43 169 204 57 137 225 160 180 172 78 240 21 107 98 232 177 22 129 68 168 153 74 160 25 92 174 148 193 181 36 218 22 158 81 206 127 87 135 89 50 212 59 52 98 166 20 214 192 159 66 32 46 106 47 249 200 69 61 59 144 21 15 175 136 19 100 52 127 182 58 185 208 134 133 240 84 14 156 166 83 121 96 222 131 167 134 104 224 46 40 140 191 16 163 209 185 116 214 37 82 162 190 215 180 235 235 48 205 13 197 103 205 76 104 161 139 232 146 ^'}}, {OUT=>'051888C6D00029C176DE792B84DECE2DC1C74B00'}], ['191', {IN=> {f=> '516 0 33 165 33 175 122 134 112 66 1 24 59 67 231 219 5 101 14 227 158 89 41 82 71 61 224 13 23 102 213 3 186 143 223 71 56 174 165 28 136 22 139 157 116 137 247 43 233 155 217 64 91 203 155 227 153 50 193 87 116 122 108 236 7 16 137 242 245 133 160 251 125 238 163 139 141 77 37 77 42 50 177 37 5 127 153 45 143 228 121 156 169 120 219 241 51 166 232 192 150 188 53 55 227 148 82 92 150 172 3 196 232 182 61 229 63 123 97 179 194 39 172 250 157 132 187 95 38 199 94 70 93 118 37 231 240 94 60 4 159 47 58 110 125 243 213 239 136 43 228 105 106 69 125 12 50 198 126 216 117 74 175 112 45 164 76 69 146 101 9 188 58 94 75 143 218 32 197 179 199 89 31 245 123 71 40 135 54 33 170 83 34 117 100 62 171 30 51 145 143 244 160 4 164 86 158 105 91 182 66 27 163 118 52 118 47 79 199 84 233 134 128 105 101 19 25 17 84 7 21 187 90 240 99 99 104 154 2 249 215 154 18 47 63 149 225 238 179 178 72 3 191 182 82 66 11 113 18 57 152 108 215 159 57 147 58 115 164 91 208 205 86 148 16 132 192 145 138 194 60 9 198 147 53 65 64 96 242 14 222 119 241 46 116 132 197 184 238 189 26 200 62 176 80 151 140 109 183 24 44 191 172 234 107 21 192 140 99 94 65 54 7 42 24 49 230 20 229 73 212 45 169 115 180 141 56 200 41 87 121 161 219 231 214 207 1 19 20 219 236 12 55 237 237 211 72 13 28 141 72 239 152 82 87 100 72 8 241 41 77 32 202 229 47 84 238 184 228 100 67 210 130 46 111 93 97 189 31 250 162 171 35 90 4 138 199 99 120 193 113 244 181 93 123 76 90 235 49 251 109 188 63 144 186 138 184 223 61 208 215 175 107 6 53 81 114 207 237 221 161 224 18 73 202 208 210 125 248 11 98 131 250 167 221 146 85 211 88 63 139 136 27 189 5 111 103 186 148 21 171 51 140 104 133 165 49 225 233 129 78 5 106 64 86 153 55 232 187 111 77 58 89 36 32 223 66 6 74 170 62 197 169 110 130 41 61 234 102 234 92 145 133 155 201 14 243 208 200 36 48 21 166 1 40 109 178 147 ^'}}, {OUT=>'1A3540BEE05518505827954F58B751C475AEECE0'}], ['192', {IN=> {f=> '522 0 179 196 200 34 251 241 156 51 23 75 118 41 193 202 90 93 236 125 242 125 101 151 130 14 218 34 106 41 197 173 55 112 37 108 211 65 174 142 136 159 22 19 245 127 16 19 131 101 10 133 20 104 122 126 184 227 9 187 225 208 90 230 7 131 105 213 121 39 137 105 95 147 45 23 216 92 35 75 114 70 205 206 34 110 12 185 169 111 95 6 71 29 79 203 32 195 144 161 82 64 228 92 8 104 126 74 172 223 65 170 194 171 140 221 36 21 164 198 5 102 211 206 148 136 18 48 25 131 215 36 162 161 192 142 14 214 63 141 45 141 190 86 149 219 94 182 198 115 157 252 73 203 173 192 115 43 226 67 85 62 172 227 13 135 190 227 123 213 231 94 178 227 150 161 196 90 234 210 119 124 14 104 8 100 178 109 153 167 82 201 231 98 149 215 146 217 179 59 174 28 133 130 159 163 248 239 9 183 254 243 71 174 24 162 165 163 107 10 15 46 110 8 214 204 115 39 23 79 89 6 189 3 73 85 176 198 1 154 246 210 115 153 49 108 207 117 209 146 103 176 53 56 172 113 10 129 72 116 126 70 201 3 69 114 211 202 200 171 22 247 42 139 20 218 148 132 70 83 29 75 67 199 88 178 113 124 155 78 2 214 67 89 33 160 246 69 118 159 167 196 204 5 216 237 212 34 247 38 191 55 222 92 149 78 120 211 61 226 177 140 103 39 27 50 54 25 245 241 42 25 249 212 30 21 50 195 254 239 123 186 28 106 182 171 167 192 1 17 220 181 229 65 29 220 177 26 77 33 164 194 57 137 215 150 165 167 78 230 11 102 93 232 177 22 129 68 168 138 74 145 20 77 174 138 188 171 26 218 7 158 76 201 117 72 120 74 35 197 59 52 83 151 20 214 177 144 51 27 46 106 37 249 185 59 56 54 139 16 15 160 136 14 100 37 112 182 53 170 198 119 128 240 69 4 156 161 78 116 240 96 207 121 157 134 99 209 36 25 135 186 1 158 194 175 111 209 32 77 147 190 200 175 225 235 38 195 3 187 88 205 61 89 151 134 217 206 30 162 24 166 113 128 103 66 253 15 50 58 228 210 5 98 8 218 152 80 35 79 62 58 224 7 17 102 207 3 183 140 217 65 56 168 165 22 133 16 133 157 107 128 244 12 ^'}}, {OUT=>'DFA19180359D5A7A38E842F172359CAF4208FC05'}], ['193', {IN=> {f=> '517 1 218 150 217 59 81 203 140 217 148 45 193 82 116 122 93 236 7 11 127 242 235 123 155 246 125 238 148 134 126 72 27 247 67 27 50 162 22 247 127 153 45 133 213 121 151 159 105 209 231 36 166 217 177 140 188 53 50 222 148 242 67 87 145 157 250 181 227 177 51 224 63 108 97 174 194 24 162 250 152 132 182 80 33 189 84 60 83 118 37 216 235 94 60 251 154 47 48 110 120 238 208 229 121 43 218 90 91 64 110 12 40 193 111 211 117 64 170 107 35 164 76 54 141 101 4 183 53 79 60 143 213 32 187 169 194 84 31 245 123 66 25 135 39 23 160 78 29 102 95 62 166 20 46 135 128 244 150 246 154 76 143 105 91 172 51 27 158 103 37 108 37 79 199 84 228 119 128 95 91 4 15 17 69 2 11 187 80 230 94 89 89 149 244 239 210 144 18 42 48 139 215 233 179 163 252 67 255 181 167 82 56 253 98 8 42 137 103 205 144 47 137 43 110 149 76 203 200 86 143 16 127 182 140 128 184 55 251 183 142 43 50 54 81 232 9 212 119 236 36 106 122 182 169 223 179 26 185 57 166 80 141 130 99 178 24 44 191 167 219 92 6 187 140 99 89 60 54 249 42 19 44 220 5 214 63 197 30 164 105 180 136 41 195 26 77 116 151 219 231 204 202 1 9 15 214 231 7 40 222 237 206 57 255 13 131 72 224 152 72 87 85 62 255 241 36 77 27 187 229 32 79 228 179 223 90 62 195 115 41 106 93 87 174 26 245 152 161 20 75 4 123 184 84 120 178 113 234 181 78 118 66 85 230 34 251 94 178 53 139 186 138 184 223 61 193 200 175 107 6 38 81 114 207 227 206 146 219 3 73 197 198 200 115 238 11 98 116 240 152 221 146 70 201 88 58 139 126 12 189 252 96 93 176 138 16 156 51 135 99 118 155 49 220 233 119 68 96 64 81 143 45 222 177 111 62 58 79 31 17 218 61 253 69 170 47 197 169 105 120 41 46 224 92 234 92 145 128 155 186 256 243 208 200 26 48 21 156 248 40 104 178 221 175 196 196 28 249 239 150 49 23 71 114 39 191 196 88 87 234 121 240 123 95 151 130 10 214 34 102 35 193 171 49 112 35 104 207 59 170 136 130 159 16 19 241 125 213 ^'}}, {OUT=>'7B0FA84EBBCFF7D7F4500F73D79660C4A3431B67'}], ['194', {IN=> {f=> '529 1 15 127 93 2 121 8 104 114 126 176 223 1 183 225 196 90 230 3 119 93 201 117 39 125 97 91 147 41 19 216 80 35 75 110 58 193 198 26 98 8 185 161 103 95 257 71 21 71 199 24 183 144 149 74 52 228 88 255 96 114 66 172 215 61 166 190 167 128 209 36 13 152 186 256 94 199 202 136 128 10 40 21 131 203 32 162 161 184 142 14 210 55 141 37 129 186 78 141 215 82 170 198 107 145 244 65 195 173 192 103 35 214 63 81 54 164 215 1 123 182 227 111 213 227 90 170 219 150 153 184 82 230 202 115 124 2 100 4 96 174 109 141 155 78 201 219 90 149 215 142 213 167 47 162 20 133 118 155 159 248 235 9 183 246 239 59 170 20 154 161 163 99 6 11 38 106 8 206 204 111 35 15 67 89 253 181 250 69 85 164 194 256 154 242 210 115 145 45 108 203 113 209 138 103 176 45 48 160 105 10 121 68 108 122 66 193 258 69 106 207 202 196 171 18 239 38 127 12 214 144 128 70 83 29 71 67 191 84 166 109 120 151 70 2 202 55 81 33 160 246 61 106 147 159 188 192 1 204 229 204 30 247 38 187 55 222 84 145 66 112 211 53 226 173 132 99 27 15 46 46 25 241 233 34 17 241 212 30 9 42 195 254 239 119 174 28 94 178 159 167 188 252 5 212 169 221 65 17 220 169 22 69 25 160 186 57 137 207 142 153 163 78 222 3 98 89 232 177 22 129 68 168 126 74 133 16 65 174 130 184 163 18 218 254 158 72 197 109 60 108 62 23 185 59 52 71 139 20 214 165 132 39 23 46 106 29 249 173 51 52 50 135 12 15 148 136 10 100 25 100 182 49 158 190 107 124 240 57 255 156 157 74 112 232 96 195 113 149 134 95 197 28 13 131 182 248 154 182 167 107 205 28 73 135 190 188 171 217 235 30 187 254 179 76 205 49 77 143 130 205 206 26 158 12 154 101 120 91 66 253 3 38 46 224 198 5 94 206 144 68 27 75 50 54 224 258 9 102 199 3 179 136 209 57 56 160 165 14 129 8 125 157 95 116 240 36 212 148 217 57 77 203 134 213 146 43 193 80 116 122 87 236 7 9 123 242 231 119 153 244 125 238 142 132 120 70 23 245 63 21 50 156 16 243 127 153 45 129 207 121 149 155 99 205 227 30 166 211 57 ^'}}, {OUT=>'9E886081C9ACAAD0F97B10810D1DE6FCDCE6B5F4'}], ['195', {IN=> {f=> '548 0 134 188 53 47 219 148 236 58 84 142 148 247 172 224 174 45 221 63 99 97 171 194 15 156 250 149 132 179 71 30 183 78 54 77 118 37 207 232 94 60 248 151 47 42 110 117 235 205 223 112 43 212 81 82 61 101 12 34 190 102 208 117 58 167 104 29 164 76 45 138 101 1 180 50 70 51 143 210 32 181 163 191 81 31 245 123 63 16 135 30 17 154 75 26 93 92 62 163 14 43 129 119 244 144 240 148 70 134 105 91 166 42 27 155 94 28 102 31 79 199 84 225 110 128 89 85 255 9 17 60 259 5 187 74 224 91 83 80 146 238 233 207 138 18 39 39 133 209 230 179 154 252 64 255 175 158 82 50 247 89 2 33 128 100 199 135 41 131 34 107 140 67 200 197 86 140 16 124 176 137 122 178 52 245 174 139 37 41 48 72 226 6 206 119 233 30 100 116 173 160 214 173 26 176 54 160 80 135 124 93 175 24 44 191 164 210 83 257 184 140 99 86 57 54 243 42 16 41 214 256 205 57 188 21 161 99 180 133 32 192 17 71 113 145 219 231 198 199 1 3 12 211 228 4 31 213 237 203 48 249 4 125 72 215 152 66 87 76 56 252 241 33 77 24 178 229 23 76 222 176 220 84 59 186 106 38 103 93 81 165 23 242 146 155 11 66 4 114 175 75 120 169 113 228 181 69 115 60 82 227 25 251 85 172 47 136 186 138 184 223 61 184 191 175 107 6 29 81 114 207 221 197 137 216 254 73 194 192 194 109 232 11 98 107 234 143 221 146 61 195 88 55 139 120 3 189 249 87 87 170 132 13 147 51 132 96 109 149 49 217 233 113 62 257 90 64 78 137 39 216 171 111 53 58 73 28 8 215 58 250 66 170 38 197 169 102 114 41 37 218 86 234 92 145 125 155 177 250 243 208 200 20 48 21 150 245 40 101 178 218 169 196 190 19 246 236 141 46 23 65 108 36 188 187 85 78 231 115 237 120 86 151 130 4 208 34 96 26 187 168 40 112 32 98 201 50 164 127 121 159 7 19 235 122 1 14 126 91 118 5 104 112 126 174 222 259 182 225 193 90 230 2 116 90 198 116 39 122 95 90 147 40 18 216 77 35 75 109 55 190 196 24 95 7 185 159 101 95 256 71 19 69 198 22 180 144 146 72 49 228 87 253 94 111 64 172 213 60 165 189 166 125 206 36 11 149 183 255 92 196 201 133 126 8 38 20 131 213 ^'}}, {OUT=>'A4D46E4BA0AE4B012F75B1B50D0534D578AE9CB6'}], ['196', {IN=> {f=> '547 0 29 162 161 178 142 14 207 49 141 31 120 183 72 135 212 73 161 198 101 136 238 59 189 173 192 94 29 205 60 78 48 158 206 254 114 176 227 102 213 224 87 164 213 150 147 175 76 227 196 112 124 255 97 1 93 171 109 132 146 75 201 210 84 149 215 139 210 158 38 153 14 133 109 152 156 248 232 9 183 240 236 50 167 17 148 158 163 93 3 8 32 103 8 200 204 108 32 9 58 89 247 175 244 66 85 155 191 256 154 239 210 115 139 42 108 200 110 209 132 103 176 39 42 151 99 10 115 65 102 119 63 187 258 69 100 204 202 193 171 15 233 35 118 6 211 141 125 70 83 29 68 67 185 81 157 106 117 148 64 2 193 46 75 33 160 246 55 97 138 153 182 183 260 195 223 198 27 247 38 184 55 222 78 142 57 106 211 47 226 170 126 96 18 6 43 40 25 238 227 28 11 235 212 30 36 195 254 239 116 165 28 85 175 150 167 185 249 258 206 160 215 65 8 220 163 19 63 19 157 180 57 137 201 136 144 160 78 216 259 95 86 232 177 22 129 68 168 117 74 124 13 56 174 124 181 157 12 218 248 158 69 194 103 51 99 53 14 176 59 52 62 130 20 214 156 123 30 20 46 106 23 249 164 45 49 47 132 9 15 139 136 7 100 16 91 182 46 149 184 98 121 240 48 252 156 154 71 109 226 96 186 107 143 134 92 188 22 4 128 179 242 151 173 161 104 202 25 70 126 190 179 168 211 235 24 181 251 173 67 205 40 68 137 127 196 206 23 155 3 145 92 114 82 66 253 256 29 37 221 189 5 91 256 197 138 59 21 72 41 51 224 255 3 102 193 3 176 133 203 51 56 154 165 8 126 2 119 157 86 107 237 33 203 145 217 54 71 203 125 207 143 40 193 77 116 122 78 236 7 6 117 242 225 113 150 241 125 238 133 129 111 67 17 242 57 12 50 147 7 237 127 153 45 123 198 121 146 149 90 199 221 21 166 202 162 130 188 53 45 217 148 232 52 82 140 142 245 166 222 172 41 219 63 93 97 169 194 9 152 250 147 132 177 65 28 179 74 50 73 118 37 201 230 94 60 246 149 47 38 110 115 233 203 219 106 43 208 75 76 59 95 12 30 188 96 206 117 54 165 102 25 164 76 39 136 101 261 178 48 64 45 143 208 32 177 159 189 79 31 245 123 61 10 135 24 13 150 73 24 87 90 62 161 10 41 125 209 ^'}}, {OUT=>'6342B199EE64C7B2C9CBCD4F2DCB65ACEF51516F'}], ['197', {IN=> {f=> '542 1 244 136 232 140 62 122 105 91 158 30 27 151 82 16 94 23 79 199 84 221 98 128 81 77 247 1 17 48 259 261 187 66 216 87 75 68 142 230 225 203 130 18 35 27 125 201 226 179 142 252 60 255 167 146 82 42 239 77 258 21 116 96 191 123 33 123 22 103 128 55 196 193 86 136 16 120 168 133 114 170 48 237 162 135 29 29 40 60 218 2 198 119 229 22 92 108 161 148 202 165 26 164 50 152 80 127 116 85 171 24 44 191 160 198 71 249 180 140 99 82 53 54 235 42 12 37 206 248 193 49 176 9 157 91 180 129 20 188 5 63 109 137 219 231 190 195 1 259 8 207 224 19 201 237 199 36 241 256 117 72 203 152 58 87 64 48 248 241 29 77 20 166 229 11 72 214 172 216 76 55 174 94 34 99 93 73 153 19 238 138 147 263 54 4 102 163 63 120 157 113 220 181 57 111 52 78 223 13 251 73 164 39 132 186 138 184 223 61 172 179 175 107 6 17 81 114 207 213 185 125 212 246 73 190 184 186 101 224 11 98 95 226 131 221 146 49 187 88 51 139 112 255 189 245 75 79 162 124 9 135 51 128 92 97 141 49 213 233 105 54 257 82 64 74 129 31 208 163 111 41 58 65 24 260 211 54 246 62 170 26 197 169 98 106 41 25 210 78 234 92 145 121 155 165 242 243 208 200 12 48 21 142 241 40 97 178 214 161 196 182 7 242 232 129 42 23 57 100 32 184 175 81 66 227 107 233 116 74 151 130 260 200 34 88 14 179 164 28 112 28 90 193 38 156 115 109 159 259 19 227 118 253 10 122 83 256 106 257 104 104 126 166 218 255 178 225 181 90 230 262 104 78 186 112 39 110 87 86 147 36 14 216 65 35 75 105 43 178 188 16 83 3 185 151 93 95 252 71 11 61 194 14 168 144 134 64 37 228 83 245 86 99 56 172 205 56 161 185 162 113 194 36 3 137 171 251 84 184 197 121 118 30 16 131 188 27 162 161 174 142 14 205 45 141 27 114 181 68 131 210 67 155 198 97 130 234 55 185 173 192 88 25 199 58 76 44 154 200 250 108 172 227 96 213 222 85 160 209 150 143 169 72 225 192 110 124 251 95 263 91 169 109 126 140 73 201 204 80 149 215 137 208 152 32 147 10 133 103 150 154 248 230 9 183 236 234 44 165 15 144 156 163 89 1 6 28 101 8 196 204 106 164 ^'}}, {OUT=>'AABFD63688EB678357869130083E1B52F6EA861D'}], ['198', {IN=> {f=> '567 0 1 46 89 239 167 236 62 85 143 187 256 154 235 210 115 131 38 108 196 106 209 124 103 176 31 34 139 91 10 107 61 94 115 59 179 258 69 92 200 202 189 171 11 225 31 106 264 207 137 121 70 83 29 64 67 177 77 145 102 113 144 56 2 181 34 67 33 160 246 47 85 126 145 174 171 260 183 215 190 23 247 38 180 55 222 70 138 45 98 211 39 226 166 118 92 6 260 39 32 25 234 219 20 3 227 212 30 254 28 195 254 239 112 153 28 73 171 138 167 181 245 250 198 148 207 65 262 220 155 15 55 11 153 172 57 137 193 128 132 156 78 208 255 91 82 232 177 22 129 68 168 105 74 112 9 44 174 116 177 149 4 218 240 158 65 190 95 39 87 41 2 164 59 52 50 118 20 214 144 111 18 16 46 106 15 249 152 37 45 43 128 5 15 127 136 3 100 4 79 182 42 137 176 86 117 240 36 248 156 150 67 105 218 96 174 99 135 134 88 176 14 258 124 175 234 147 161 153 100 198 21 66 114 190 167 164 203 235 16 173 247 165 55 205 28 56 129 123 184 206 19 151 257 133 80 106 70 66 253 248 17 25 217 177 5 87 252 185 130 47 13 68 29 47 224 251 261 102 185 3 172 129 195 43 56 146 165 122 260 111 157 74 95 233 29 191 141 217 50 63 203 113 199 139 36 193 73 116 122 66 236 7 2 109 242 217 105 146 237 125 238 121 125 99 63 9 238 49 50 135 261 229 127 153 45 115 186 121 142 141 78 191 213 9 166 190 150 122 188 53 41 213 148 224 40 78 136 130 241 154 218 168 33 215 63 81 97 165 194 263 144 250 143 132 173 53 24 171 66 42 65 118 37 189 226 94 60 242 145 47 30 110 111 229 199 211 94 43 200 63 64 55 83 12 22 184 84 202 117 46 161 98 17 164 76 27 132 101 261 174 44 52 33 143 204 32 169 151 185 75 31 245 123 57 264 135 12 5 142 69 20 75 86 62 157 2 37 117 101 244 132 228 136 58 116 105 91 154 24 27 149 76 10 90 19 79 199 84 219 92 128 77 73 243 263 17 42 259 259 187 62 212 85 71 62 140 226 221 201 126 18 33 21 121 197 224 179 136 252 58 255 163 140 82 38 235 71 256 15 110 94 187 117 29 119 16 101 122 49 194 191 86 134 16 118 164 131 110 166 46 233 156 133 25 23 36 54 214 194 119 227 18 88 104 155 142 196 161 26 158 48 148 80 123 112 81 169 24 44 191 158 192 65 245 178 140 223 ^'}}, {OUT=>'F732B7372DAF44801F81EFFE3108726239837936'}], ['199', {IN=> {f=> '551 1 78 49 54 227 42 8 33 198 240 181 41 164 265 153 83 180 125 8 184 261 55 105 129 219 231 182 191 1 255 4 203 220 264 7 189 237 195 24 233 248 109 72 191 152 50 87 52 40 244 241 25 77 16 154 229 267 68 206 168 212 68 51 162 82 30 95 93 65 141 15 234 130 139 255 42 4 90 151 51 120 145 113 212 181 45 107 44 74 219 1 251 61 156 31 128 186 138 184 223 61 160 167 175 107 6 5 81 114 207 205 173 113 208 238 73 186 176 178 93 216 11 98 83 218 119 221 146 37 179 88 47 139 104 247 189 241 63 71 154 116 5 123 51 124 88 85 133 49 209 233 97 46 257 74 64 70 121 23 200 155 111 29 58 57 20 252 207 50 242 58 170 14 197 169 94 98 41 13 202 70 234 92 145 117 155 153 234 243 208 200 4 48 21 134 237 40 93 178 210 153 196 174 263 238 228 117 38 23 49 92 28 180 163 77 54 223 99 229 112 62 151 130 256 192 34 80 2 171 160 16 112 24 82 185 26 148 103 97 159 251 19 219 114 245 6 118 75 252 94 249 104 96 126 158 214 251 174 225 169 90 230 262 92 66 174 108 39 98 79 82 147 32 10 216 53 35 75 101 31 166 180 8 71 267 185 143 85 95 248 71 3 53 190 6 156 144 122 56 25 228 79 237 78 87 48 172 197 52 157 181 158 101 182 36 263 125 159 247 76 172 193 109 110 260 22 12 131 176 23 162 161 166 142 14 201 37 141 19 102 177 60 123 206 55 143 198 89 118 226 47 177 173 192 76 17 187 54 72 36 146 188 242 96 164 227 84 213 218 81 152 201 150 135 157 64 221 184 106 124 243 91 263 87 165 109 114 128 69 201 192 72 149 215 133 204 140 20 135 2 133 91 146 150 248 226 9 183 228 230 32 161 11 136 152 163 81 265 2 20 97 8 188 204 102 26 265 40 89 235 163 232 60 85 137 185 256 154 233 210 115 127 36 108 194 104 209 120 103 176 27 30 133 87 10 103 59 90 113 57 175 258 69 88 198 202 187 171 9 221 29 100 262 205 135 119 70 83 29 62 67 173 75 139 100 111 142 52 2 175 28 63 33 160 246 43 79 120 141 170 165 260 177 211 186 21 247 38 178 55 222 66 136 39 94 211 35 226 164 114 90 256 37 28 25 232 215 16 267 223 212 30 250 24 195 254 239 110 147 28 67 169 132 167 179 243 246 194 142 203 65 263 ^'}}, {OUT=>'5E9347FE4574CDCB80281ED092191199BADD7B42'}], ['200', {IN=> {f=> '578 0 220 147 11 47 3 149 164 57 137 185 120 120 152 78 200 251 87 78 232 177 22 129 68 168 93 74 100 5 32 174 108 173 141 266 218 232 158 61 186 87 27 75 29 260 152 59 52 38 106 20 214 132 99 6 12 46 106 7 249 140 29 41 39 124 1 15 115 136 269 100 262 67 182 38 125 168 74 113 240 24 244 156 146 63 101 210 96 162 91 127 134 84 164 6 250 120 171 226 143 149 145 96 194 17 62 102 190 155 160 195 235 8 165 243 157 43 205 16 44 121 119 172 206 15 147 249 121 68 98 58 66 253 240 5 13 213 165 5 83 248 173 122 35 5 64 17 43 224 247 257 102 177 3 168 125 187 35 56 138 165 262 118 256 103 157 62 83 229 25 179 137 217 46 55 203 101 191 135 32 193 69 116 122 54 236 7 268 101 242 209 97 142 233 125 238 109 121 87 59 1 234 41 258 50 123 253 221 127 153 45 107 174 121 138 133 66 183 205 267 166 178 138 114 188 53 37 209 148 216 28 74 132 118 237 142 214 164 25 211 63 69 97 161 194 255 136 250 139 132 169 41 20 163 58 34 57 118 37 177 222 94 60 238 141 47 22 110 107 225 195 203 82 43 192 51 52 51 71 12 14 180 72 198 117 38 157 94 9 164 76 15 128 101 261 170 40 40 21 143 200 32 161 143 181 71 31 245 123 53 256 135 267 134 65 16 63 82 62 153 264 33 109 89 244 124 220 128 50 104 105 91 146 12 27 145 64 268 82 11 79 199 84 215 80 128 69 65 235 259 17 30 259 255 187 54 204 81 63 50 136 218 213 197 118 18 29 9 113 189 220 179 124 252 54 255 155 128 82 30 227 59 252 3 98 90 179 105 21 111 4 97 110 37 190 187 86 130 16 114 156 127 102 158 42 225 144 129 17 11 28 42 206 266 186 119 223 10 80 96 143 130 184 153 26 146 44 140 80 115 104 73 165 24 44 191 154 180 53 237 174 140 99 76 47 54 223 42 6 31 194 236 175 37 158 261 151 79 180 123 2 182 257 51 103 125 219 231 178 189 1 253 2 201 218 264 1 183 237 193 18 229 244 105 72 185 152 46 87 46 36 242 241 23 77 14 148 229 263 66 202 166 210 64 49 156 76 28 93 93 61 135 13 232 126 135 251 36 4 84 145 45 120 139 113 208 181 39 105 40 72 217 265 251 55 152 27 126 186 138 184 223 61 154 161 175 107 6 269 81 114 207 201 167 107 206 234 73 184 172 174 89 212 11 98 77 214 113 221 146 31 175 88 45 139 100 243 189 213 ^'}}, {OUT=>'D5776B7DFFF75C1358ABDBBB3F27A20BB6CA7C55'}], ['201', {IN=> {f=> '578 1 51 63 146 108 1 111 51 120 84 73 125 49 205 233 89 38 257 66 64 66 113 15 192 147 111 17 58 49 16 244 203 46 238 54 170 2 197 169 90 90 41 1 194 62 234 92 145 113 155 141 226 243 208 200 268 48 21 126 233 40 89 178 206 145 196 166 255 234 224 105 34 23 41 84 24 176 151 73 42 219 91 225 108 50 151 130 252 184 34 72 262 163 156 4 112 20 74 177 14 140 91 85 159 243 19 211 110 237 2 114 67 248 82 241 104 88 126 150 210 247 170 225 157 90 230 262 80 54 162 104 39 86 71 78 147 28 6 216 41 35 75 97 19 154 172 59 267 185 135 77 95 244 71 267 45 186 270 144 144 110 48 13 228 75 229 70 75 40 172 189 48 153 177 154 89 170 36 259 113 147 243 68 160 189 97 102 256 14 8 131 164 19 162 161 158 142 14 197 29 141 11 90 173 52 115 202 43 131 198 81 106 218 39 169 173 192 64 9 175 50 68 28 138 176 234 84 156 227 72 213 214 77 144 193 150 127 145 56 217 176 102 124 235 87 263 83 161 109 102 116 65 201 180 64 149 215 129 200 128 8 123 266 133 79 142 146 248 222 9 183 220 226 20 157 7 128 148 163 73 265 270 12 93 8 180 204 98 22 261 28 89 227 155 224 56 85 125 181 256 154 229 210 115 119 32 108 190 100 209 112 103 176 19 22 121 79 10 95 55 82 109 53 167 258 69 80 194 202 183 171 5 213 25 88 258 201 131 115 70 83 29 58 67 165 71 127 96 107 138 44 2 163 16 55 33 160 246 35 67 108 133 162 153 260 165 203 178 17 247 38 174 55 222 58 132 27 86 211 27 226 160 106 86 260 248 33 20 25 228 207 8 263 215 212 30 242 16 195 254 239 106 135 28 55 165 120 167 175 239 238 186 130 195 65 250 220 143 9 43 271 147 160 57 137 181 116 114 150 78 196 249 85 76 232 177 22 129 68 168 87 74 94 3 26 174 104 171 137 264 218 228 158 59 184 83 21 69 23 256 146 59 52 32 100 20 214 126 93 10 46 106 3 249 134 25 39 37 122 271 15 109 136 269 100 258 61 182 36 119 164 68 111 240 18 242 156 144 61 99 206 96 156 87 123 134 82 158 2 246 118 169 222 141 143 141 94 192 15 60 96 190 149 158 191 235 4 161 241 153 37 205 10 38 117 117 166 206 13 145 245 115 62 94 52 66 253 236 271 7 211 159 5 81 246 167 118 29 1 62 11 41 224 245 255 102 173 3 166 123 183 31 56 134 165 260 116 254 81 ^'}}, {OUT=>'022B7ADA472FB7A9DA9219621C9C5F563D3792F6'}], ['202', {IN=> {f=> '583 1 157 50 71 225 21 167 133 217 42 47 203 89 183 131 28 193 65 116 122 42 236 7 268 93 242 201 89 138 229 125 238 97 117 75 55 267 230 33 250 50 111 245 213 127 153 45 99 162 121 134 125 54 175 197 259 166 166 126 106 188 53 33 205 148 208 16 70 128 106 233 130 210 160 17 207 63 57 97 157 194 247 128 250 135 132 165 29 16 155 50 26 49 118 37 165 218 94 60 234 137 47 14 110 103 221 191 195 70 43 184 39 40 47 59 12 6 176 60 194 117 30 153 90 1 164 76 3 124 101 261 166 36 28 9 143 196 32 153 135 177 67 31 245 123 49 248 135 262 263 126 61 12 51 78 62 149 260 29 101 77 244 116 212 120 42 92 105 91 138 27 141 52 260 74 3 79 199 84 211 68 128 61 57 227 255 17 18 259 251 187 46 196 77 55 38 132 210 205 193 110 18 25 271 105 181 216 179 112 252 50 255 147 116 82 22 219 47 248 265 86 86 171 93 13 103 266 93 98 25 186 183 86 126 16 110 148 123 94 150 38 217 132 125 9 273 20 30 198 266 178 119 219 2 72 88 131 118 172 145 26 134 40 132 80 107 96 65 161 24 44 191 150 168 41 229 170 140 99 72 43 54 215 42 2 27 186 228 163 29 146 253 147 71 180 119 264 178 249 43 99 117 219 231 170 185 1 249 272 197 214 264 263 171 237 189 6 221 236 97 72 173 152 38 87 34 28 238 241 19 77 10 136 229 255 62 194 162 206 56 45 144 64 24 89 93 53 123 9 228 118 127 243 24 4 72 133 33 120 127 113 200 181 27 101 32 68 213 257 251 43 144 19 122 186 138 184 223 61 142 149 175 107 6 261 81 114 207 193 155 95 202 226 73 180 164 166 81 204 11 98 65 206 101 221 146 19 167 88 41 139 92 235 189 235 45 59 142 104 273 105 51 118 82 67 121 49 203 233 85 34 257 62 64 64 109 11 188 143 111 11 58 45 14 240 201 44 236 52 170 270 197 169 88 86 41 269 190 58 234 92 145 111 155 135 222 243 208 200 266 48 21 122 231 40 87 178 204 141 196 162 251 232 222 99 32 23 37 80 22 174 145 71 36 217 87 223 106 44 151 130 250 180 34 68 258 159 154 272 112 18 70 173 8 136 85 79 159 239 19 207 108 233 112 63 246 76 237 104 84 126 146 208 245 168 225 151 90 230 262 74 48 156 102 39 80 67 76 147 26 4 216 35 35 75 95 13 148 168 270 53 267 185 131 73 95 242 71 265 41 184 268 138 144 104 44 7 228 73 225 66 69 36 272 ^'}}, {OUT=>'7F1DE4ECA20362DA624653D225A5B3F7964A9FF2'}], ['203', {IN=> {f=> '588 0 181 44 149 173 150 77 158 36 255 101 135 239 60 148 185 85 94 252 6 4 131 152 15 162 161 150 142 14 193 21 141 3 78 169 44 107 198 31 119 198 73 94 210 31 161 173 192 52 1 163 46 64 20 130 164 226 72 148 227 60 213 210 73 136 185 150 119 133 48 213 168 98 124 227 83 263 79 157 109 90 104 61 201 168 56 149 215 125 196 116 272 111 262 133 67 138 142 248 218 9 183 212 222 8 153 3 120 144 163 65 265 270 4 89 8 172 204 94 18 257 16 89 219 147 216 52 85 113 177 256 154 225 210 115 111 28 108 186 96 209 104 103 176 11 14 109 71 10 87 51 74 105 49 159 258 69 72 190 202 179 171 1 205 21 76 254 197 127 111 70 83 29 54 67 157 67 115 92 103 134 36 2 151 4 47 33 160 246 27 55 96 125 154 141 260 153 195 170 13 247 38 170 55 222 50 128 15 78 211 19 226 156 98 82 252 240 29 12 25 224 199 259 207 212 30 234 8 195 254 239 102 123 28 43 161 108 167 171 235 230 178 118 187 65 242 220 135 5 35 267 143 152 57 137 173 108 102 146 78 188 245 81 72 232 177 22 129 68 168 75 74 82 275 14 174 96 167 129 260 218 220 158 55 180 75 9 57 11 248 134 59 52 20 88 20 214 114 81 264 6 46 106 271 249 122 17 35 33 118 271 15 97 136 269 100 250 49 182 32 107 156 56 107 240 6 238 156 140 57 95 198 96 144 79 115 134 78 146 270 238 114 165 214 137 131 133 90 188 11 56 84 190 137 154 183 235 272 153 237 145 25 205 274 26 109 113 154 206 9 141 237 103 50 86 40 66 253 228 263 271 207 147 5 77 242 155 110 17 269 58 275 37 224 241 251 102 165 3 162 119 175 23 56 126 165 256 112 250 91 157 44 65 223 19 161 131 217 40 43 203 83 179 129 26 193 63 116 122 36 236 7 268 89 242 197 85 136 227 125 238 91 115 69 53 265 228 29 246 50 105 241 209 127 153 45 95 156 121 132 121 48 171 193 255 166 160 120 102 188 53 31 203 148 204 10 68 126 100 231 124 208 158 13 205 63 51 97 155 194 243 124 250 133 132 163 23 14 151 46 22 45 118 37 159 216 94 60 232 135 47 10 110 101 219 189 191 64 43 180 33 34 45 53 12 2 174 54 192 117 26 151 88 273 164 76 273 122 101 261 164 34 22 3 143 194 32 149 131 175 65 31 245 123 47 244 135 258 261 122 59 10 45 76 62 147 258 27 97 71 244 112 208 116 38 86 105 91 134 270 27 139 46 256 70 275 79 199 160 ^'}}, {OUT=>'CA0F2B1BFB4469C11ED006A994734F0F2F5EFD17'}], ['204', {IN=> {f=> '594 0 207 56 128 53 49 219 251 17 6 259 247 187 38 188 73 47 26 128 202 197 189 102 18 21 263 97 173 212 179 100 252 46 255 139 104 82 14 211 35 244 257 74 82 163 81 5 95 258 89 86 13 182 179 86 122 16 106 140 119 86 142 34 209 120 121 1 265 12 18 190 266 170 119 215 272 64 80 119 106 160 137 26 122 36 124 80 99 88 57 157 24 44 191 146 156 29 221 166 140 99 68 39 54 207 42 276 23 178 220 151 21 134 245 143 63 180 115 256 174 241 35 95 109 219 231 162 181 1 245 272 193 210 264 255 159 237 185 272 213 228 89 72 161 152 30 87 22 20 234 241 15 77 6 124 229 247 58 186 158 202 48 41 132 52 20 85 93 45 111 5 224 110 119 235 12 4 60 121 21 120 115 113 192 181 15 97 24 64 209 249 251 31 136 11 118 186 138 184 223 61 130 137 175 107 6 253 81 114 207 185 143 83 198 218 73 176 156 158 73 196 11 98 53 198 89 221 146 7 159 88 37 139 84 227 189 231 33 51 134 96 273 93 51 114 78 55 113 49 199 233 77 26 257 54 64 60 101 3 180 135 111 277 58 37 10 232 197 40 232 48 170 262 197 169 84 78 41 261 182 50 234 92 145 107 155 123 214 243 208 200 262 48 21 114 227 40 83 178 200 133 196 154 243 228 218 87 28 23 29 72 18 170 133 67 24 213 79 219 102 32 151 130 246 172 34 60 250 151 150 264 112 14 62 165 274 128 73 67 159 231 19 199 104 225 274 108 55 242 64 229 104 76 126 138 204 241 164 225 139 90 230 262 62 36 144 98 39 68 59 72 147 22 216 23 35 75 91 1 136 160 266 41 267 185 123 65 95 238 71 261 33 180 264 126 144 92 36 273 228 69 217 58 57 28 172 177 42 147 171 148 71 152 36 253 95 129 237 56 142 183 79 90 250 2 2 131 146 13 162 161 146 142 14 191 17 141 277 72 167 40 103 196 25 113 198 69 88 206 27 157 173 192 46 275 157 44 62 16 126 158 222 66 144 227 54 213 208 71 132 181 150 115 127 44 211 164 96 124 223 81 263 77 155 109 84 98 59 201 162 52 149 215 123 194 110 268 105 260 133 61 136 140 248 216 9 183 208 220 2 151 1 116 142 163 61 265 270 87 8 168 204 92 16 255 10 89 215 143 212 50 85 107 175 256 154 223 210 115 107 26 108 184 94 209 100 103 176 7 10 103 67 10 83 49 70 103 47 155 258 69 68 188 202 177 171 277 201 19 70 252 195 125 109 70 83 29 52 67 153 65 109 90 101 132 32 2 145 276 43 33 160 246 23 259 ^'}}, {OUT=>'833D63F5C2EA0CD43EC15F2B9DD97FF12B030479'}], ['205', {IN=> {f=> '600 1 87 119 148 132 260 144 189 164 10 247 38 167 55 222 44 125 6 72 211 13 226 153 92 79 246 234 26 6 25 221 193 273 256 201 212 30 228 2 195 254 239 99 114 28 34 158 99 167 168 232 224 172 109 181 65 236 220 129 2 29 264 140 146 57 137 167 102 93 143 78 182 242 78 69 232 177 22 129 68 168 66 74 73 275 5 174 90 164 123 257 218 214 158 52 177 69 48 2 242 125 59 52 11 79 20 214 105 72 258 3 46 106 268 249 113 11 32 30 115 271 15 88 136 269 100 244 40 182 29 98 150 47 104 240 276 235 156 137 54 92 192 96 135 73 109 134 75 137 267 232 111 162 208 134 122 127 87 185 8 53 75 190 128 151 177 235 269 147 234 139 16 205 268 17 103 110 145 206 6 138 231 94 41 80 31 66 253 222 257 265 204 138 5 74 239 146 104 8 266 55 269 34 224 238 248 102 159 3 159 116 169 17 56 120 165 253 109 247 85 157 35 56 220 16 152 128 217 37 37 203 74 173 126 23 193 60 116 122 27 236 7 268 83 242 191 79 133 224 125 238 82 112 60 50 262 225 23 240 50 96 235 203 127 153 45 89 147 121 129 115 39 165 187 249 166 151 111 96 188 53 28 200 148 198 1 65 123 91 228 115 205 155 7 202 63 42 97 152 194 237 118 250 130 132 160 14 11 145 40 16 39 118 37 150 213 94 60 229 132 47 4 110 98 216 186 185 55 43 174 24 25 42 44 12 275 171 45 189 117 20 148 85 270 164 76 267 119 101 261 161 31 13 273 143 191 32 143 125 172 62 31 245 123 44 238 135 252 258 116 56 7 36 73 62 144 255 24 91 62 244 106 202 110 32 77 105 91 128 264 27 136 37 250 64 272 79 199 84 206 53 128 51 47 217 250 17 3 259 246 187 36 186 72 45 23 127 200 195 188 100 18 20 261 95 171 211 179 97 252 45 255 137 101 82 12 209 32 243 255 71 81 161 78 3 93 256 88 83 10 181 178 86 121 16 105 138 118 84 140 33 207 117 120 278 263 10 15 188 266 168 119 214 271 62 78 116 103 157 135 26 119 35 122 80 97 86 55 156 24 44 191 145 153 26 219 165 140 99 67 38 54 205 42 276 22 176 218 148 19 131 243 142 61 180 114 254 173 239 33 94 107 219 231 160 180 1 244 272 192 209 264 253 156 237 184 270 211 226 87 72 158 152 28 87 19 18 233 241 14 77 5 121 229 245 57 184 157 201 46 40 129 49 19 84 93 43 108 4 223 108 117 233 9 4 57 118 18 120 112 113 190 181 12 96 22 63 208 247 251 28 134 9 117 186 138 184 223 61 127 216 ^'}}, {OUT=>'14FD356190416C00592B86FF7CA50B622F85593A'}], ['206', {IN=> {f=> '590 1 175 107 6 247 81 114 207 179 134 74 195 212 73 173 150 152 67 190 11 98 44 192 80 221 146 279 153 88 34 139 78 221 189 228 24 45 128 90 273 84 51 111 75 46 107 49 196 233 71 20 257 48 64 57 95 278 174 129 111 271 58 31 7 226 194 37 229 45 170 256 197 169 81 72 41 255 176 44 234 92 145 104 155 114 208 243 208 200 259 48 21 108 224 40 80 178 197 127 196 148 237 225 215 78 25 23 23 66 15 167 124 64 15 210 73 216 99 23 151 130 243 166 34 54 244 145 147 258 112 11 56 159 268 122 64 58 159 225 19 193 101 219 274 105 49 239 55 223 104 70 126 132 201 238 161 225 130 90 230 262 53 27 135 95 39 59 53 69 147 19 278 216 14 35 75 88 273 127 154 263 32 267 185 117 59 95 235 71 258 27 177 261 117 144 83 30 267 228 66 211 52 48 22 172 171 39 144 168 145 62 143 36 250 86 120 234 50 133 180 70 84 247 277 280 131 137 10 162 161 140 142 14 188 11 141 274 63 164 34 97 193 16 104 198 63 79 200 21 151 173 192 37 272 148 41 59 10 120 149 216 57 138 227 45 213 205 68 126 175 150 109 118 38 208 158 93 124 217 78 263 74 152 109 75 89 56 201 153 46 149 215 120 191 101 262 96 257 133 52 133 137 248 213 9 183 202 217 274 148 279 110 139 163 55 265 270 275 84 8 162 204 89 13 252 1 89 209 137 206 47 85 98 172 256 154 220 210 115 101 23 108 181 91 209 94 103 176 1 4 94 61 10 77 46 64 100 44 149 258 69 62 185 202 174 171 277 195 16 61 249 192 122 106 70 83 29 49 67 147 62 100 87 98 129 26 2 136 270 37 33 160 246 17 40 81 115 144 126 260 138 185 160 8 247 38 165 55 222 40 123 68 211 9 226 151 88 77 242 230 24 2 25 219 189 271 254 197 212 30 224 279 195 254 239 97 108 28 28 156 93 167 166 230 220 168 103 177 65 232 220 125 25 262 138 142 57 137 163 98 87 141 78 178 240 76 67 232 177 22 129 68 168 60 74 67 275 280 174 86 162 119 255 218 210 158 50 175 65 275 42 277 238 119 59 52 5 73 20 214 99 66 254 1 46 106 266 249 107 7 30 28 113 271 15 82 136 269 100 240 34 182 27 92 146 41 102 240 272 233 156 135 52 90 188 96 129 69 105 134 73 131 265 228 109 160 204 132 116 123 85 183 6 51 69 190 122 149 173 235 267 143 232 135 10 205 264 11 99 108 139 206 4 136 227 88 35 76 25 66 253 218 253 261 202 132 5 72 237 140 203 ^'}}, {OUT=>'4AB6B57EDDEF1CE935622F935C1619AE7C1667D6'}], ['207', {IN=> {f=> '620 0 279 262 51 261 30 224 234 244 102 151 3 155 112 161 9 56 112 165 249 105 243 77 157 23 44 216 12 140 124 217 33 29 203 62 165 122 19 193 56 116 122 15 236 7 268 75 242 183 71 129 220 125 238 70 108 48 46 258 221 15 232 50 84 227 195 127 153 45 81 135 121 125 107 27 157 179 241 166 139 99 88 188 53 24 196 148 190 272 61 119 79 224 103 201 151 282 198 63 30 97 148 194 229 110 250 126 132 156 2 7 137 32 8 31 118 37 138 209 94 60 225 128 47 279 110 94 212 182 177 43 43 166 12 13 38 32 12 271 167 33 185 117 12 144 81 266 164 76 259 115 101 261 157 27 1 265 143 187 32 135 117 168 58 31 245 123 40 230 135 244 254 108 52 3 24 69 62 140 251 20 83 50 244 98 194 102 24 65 105 91 120 256 27 132 25 242 56 268 79 199 84 202 41 128 43 39 209 246 17 274 259 242 187 28 178 68 37 11 123 192 187 184 92 18 16 253 87 163 207 179 85 252 41 255 129 89 82 4 201 20 239 247 59 77 153 66 278 85 248 84 71 281 177 174 86 117 16 101 130 114 76 132 29 199 105 116 274 255 2 3 180 266 160 119 210 267 54 70 104 91 145 127 26 107 31 114 80 89 78 47 152 24 44 191 141 141 14 211 161 140 99 63 34 54 197 42 276 18 168 210 136 11 119 235 138 53 180 110 246 169 231 25 90 99 219 231 152 176 1 240 272 188 205 264 245 144 237 180 262 203 218 79 72 146 152 20 87 7 10 229 241 10 77 1 109 229 237 53 176 153 197 38 36 117 37 15 80 93 35 96 219 100 109 225 280 4 45 106 6 120 100 113 182 181 92 14 59 204 239 251 16 126 1 113 186 138 184 223 61 115 122 175 107 6 243 81 114 207 175 128 68 193 208 73 171 146 148 63 186 11 98 38 188 74 221 146 275 149 88 32 139 74 217 189 226 18 41 124 86 273 78 51 109 73 40 103 49 194 233 67 16 257 44 64 55 91 276 170 125 111 267 58 27 5 222 192 35 227 43 170 252 197 169 79 68 41 251 172 40 234 92 145 102 155 108 204 243 208 200 257 48 21 104 222 40 78 178 195 123 196 144 233 223 213 72 23 23 19 62 13 165 118 62 9 208 69 214 97 17 151 130 241 162 34 50 240 141 145 254 112 9 52 155 264 118 58 52 159 221 19 189 99 215 274 103 45 237 49 219 104 66 126 128 199 236 159 225 124 90 230 262 47 21 129 93 39 53 49 67 147 17 278 216 8 35 75 86 269 121 150 261 26 267 185 113 55 95 233 71 256 23 175 259 111 144 77 26 263 228 64 207 48 42 18 172 167 37 142 166 143 56 137 36 248 80 114 232 46 127 257 ^'}}, {OUT=>'B456A6A968ACD66CAA974F96A9A916E700AA3C5D'}], ['208', {IN=> {f=> '605 1 58 76 243 273 280 131 125 6 162 161 132 142 14 184 3 141 270 51 160 26 89 189 4 92 198 55 67 192 13 143 173 192 25 268 136 37 55 2 112 137 208 45 130 227 33 213 201 64 118 167 150 101 106 30 204 150 89 124 209 74 263 70 148 109 63 77 52 201 141 38 149 215 116 187 89 254 84 253 133 40 129 133 248 209 9 183 194 213 266 144 279 102 135 163 47 265 270 271 80 8 154 204 85 9 248 274 89 201 129 198 43 85 86 168 256 154 216 210 115 93 19 108 177 87 209 86 103 176 278 281 82 53 10 69 42 56 96 40 141 258 69 54 181 202 170 171 277 187 12 49 245 188 118 102 70 83 29 45 67 139 58 88 83 94 125 18 2 124 262 29 33 160 246 9 28 69 107 136 114 260 126 177 152 4 247 38 161 55 222 32 119 273 60 211 1 226 147 80 73 234 222 20 279 25 215 181 267 250 189 212 30 216 275 195 254 239 93 96 28 16 152 81 167 162 226 212 160 91 169 65 224 220 117 281 17 258 134 134 57 137 155 90 75 137 78 170 236 72 63 232 177 22 129 68 168 48 74 55 275 272 174 78 158 111 251 218 202 158 46 171 57 267 30 269 230 107 59 52 278 61 20 214 87 54 246 282 46 106 262 249 95 284 26 24 109 271 15 70 136 269 100 232 22 182 23 80 138 29 98 240 264 229 156 131 48 86 180 96 117 61 97 134 69 119 261 220 105 156 196 128 104 115 81 179 2 47 57 190 110 145 165 235 263 135 228 127 283 205 256 284 91 104 127 206 132 219 76 23 68 13 66 253 210 245 253 198 120 5 68 233 128 92 275 260 49 257 28 224 232 242 102 147 3 153 110 157 5 56 108 165 247 103 241 73 157 17 38 214 10 134 122 217 31 25 203 56 161 120 17 193 54 116 122 9 236 7 268 71 242 179 67 127 218 125 238 64 106 42 44 256 219 11 228 50 78 223 191 127 153 45 77 129 121 123 103 21 153 175 237 166 133 93 84 188 53 22 194 148 186 268 59 117 73 222 97 199 149 280 196 63 24 97 146 194 225 106 250 124 132 154 281 5 133 28 4 27 118 37 132 207 94 60 223 126 47 277 110 92 210 180 173 37 43 162 6 7 36 26 12 269 165 27 183 117 8 142 79 264 164 76 255 113 101 261 155 25 280 261 143 185 32 131 113 166 56 31 245 123 38 226 135 240 252 104 50 1 18 67 62 138 249 18 79 44 244 94 190 98 20 59 105 91 116 252 27 130 19 238 52 266 79 199 84 200 35 128 39 35 205 244 17 270 259 240 187 24 174 66 33 5 121 188 183 182 88 18 14 249 83 159 205 179 79 252 186 ^'}}, {OUT=>'FD1C257FE046B2A27E2F0CD55ED2DECA845F01D7'}], ['209', {IN=> {f=> '615 0 255 121 77 82 283 193 8 235 239 47 73 145 54 274 77 240 80 59 273 173 170 86 113 16 97 122 110 68 124 25 191 93 112 270 247 281 278 172 266 152 119 206 263 46 62 92 79 133 119 26 95 27 106 80 81 70 39 148 24 44 191 137 129 2 203 157 140 99 59 30 54 189 42 276 14 160 202 124 3 107 227 134 45 180 106 238 165 223 17 86 91 219 231 144 172 1 236 272 184 201 264 237 132 237 176 254 195 210 71 72 134 152 12 87 282 2 225 241 6 77 284 97 229 229 49 168 149 193 30 32 105 25 11 76 93 27 84 283 215 92 101 217 272 4 33 94 281 120 88 113 174 181 275 88 6 55 200 231 251 4 118 280 109 186 138 184 223 61 103 110 175 107 6 235 81 114 207 167 116 56 189 200 73 167 138 140 55 178 11 98 26 180 62 221 146 267 141 88 28 139 66 209 189 222 6 33 116 78 273 66 51 105 69 28 95 49 190 233 59 8 257 36 64 51 83 272 162 117 111 259 58 19 1 214 188 31 223 39 170 244 197 169 75 60 41 243 164 32 234 92 145 98 155 96 196 243 208 200 253 48 21 96 218 40 74 178 191 115 196 136 225 219 209 60 19 23 11 54 9 161 106 58 284 204 61 210 93 5 151 130 237 154 34 42 232 133 141 246 112 5 44 147 256 110 46 40 159 213 19 181 95 207 274 99 37 233 37 211 104 58 126 120 195 232 155 225 112 90 230 262 35 9 117 89 39 41 41 63 147 13 278 216 283 35 75 82 261 109 142 257 14 267 185 105 47 95 229 71 252 15 171 255 99 144 65 18 255 228 60 199 40 30 10 172 159 33 138 162 139 44 125 36 244 68 102 228 38 115 174 52 72 241 271 280 131 119 4 162 161 128 142 14 182 286 141 268 45 158 22 85 187 285 86 198 51 61 188 9 139 173 192 19 266 130 35 53 285 108 131 204 39 126 227 27 213 199 62 114 163 150 97 100 26 202 146 87 124 205 72 263 68 146 109 57 71 50 201 135 34 149 215 114 185 83 250 78 251 133 34 127 131 248 207 9 183 190 211 262 142 279 98 133 163 43 265 270 269 78 8 150 204 83 7 246 270 89 197 125 194 41 85 80 166 256 154 214 210 115 89 17 108 175 85 209 82 103 176 276 279 76 49 10 65 40 52 94 38 137 258 69 50 179 202 168 171 277 183 10 43 243 186 116 100 70 83 29 43 67 135 56 82 81 92 123 14 2 118 258 25 33 160 246 5 22 63 103 132 108 260 120 173 148 2 247 38 159 55 222 28 117 269 56 211 284 226 145 76 71 230 218 18 277 25 213 177 265 248 185 212 30 212 273 195 254 239 91 90 28 10 150 75 167 160 224 175 ^'}}, {OUT=>'66E0D01780F1063E2929EAAD74826BC64060E38C'}], ['210', {IN=> {f=> '613 0 152 79 161 65 216 220 109 281 9 254 130 126 57 137 147 82 63 133 78 162 232 68 59 232 177 22 129 68 168 36 74 43 275 264 174 70 154 103 247 218 194 158 42 167 49 259 18 261 222 95 59 52 270 49 20 214 75 42 238 282 46 106 258 249 83 280 22 20 105 271 15 58 136 269 100 224 10 182 19 68 130 17 94 240 256 225 156 127 44 82 172 96 105 53 89 134 65 107 257 212 101 152 188 124 92 107 77 175 287 43 45 190 98 141 157 235 259 127 224 119 275 205 248 276 83 100 115 206 285 128 211 64 11 60 1 66 253 202 237 245 194 108 5 64 229 116 84 267 256 45 249 24 224 228 238 102 139 3 149 106 149 286 56 100 165 243 99 237 65 157 5 26 210 6 122 118 217 27 17 203 44 153 116 13 193 50 116 122 286 236 7 268 63 242 171 59 123 214 125 238 52 102 30 40 252 215 3 220 50 66 215 183 127 153 45 69 117 121 119 95 9 145 167 229 166 121 81 76 188 53 18 190 148 178 260 55 113 61 218 85 195 145 276 192 63 12 97 142 194 217 98 250 120 132 150 273 1 125 20 285 19 118 37 120 203 94 60 219 122 47 273 110 88 206 176 165 25 43 154 283 284 32 14 12 265 161 15 179 117 138 75 260 164 76 247 109 101 261 151 21 272 253 143 181 32 123 105 162 52 31 245 123 34 218 135 232 248 96 46 286 6 63 62 134 245 14 71 32 244 86 182 90 12 47 105 91 108 244 27 126 7 230 44 262 79 199 84 196 23 128 31 27 197 240 17 262 259 236 187 16 166 62 25 282 117 180 175 178 80 18 10 241 75 151 201 179 67 252 35 255 117 71 82 281 189 2 233 235 41 71 141 48 272 73 236 78 53 269 171 168 86 111 16 95 118 108 64 120 23 187 87 110 268 243 279 274 168 266 148 119 204 261 42 58 86 73 127 115 26 89 25 102 80 77 66 35 146 24 44 191 135 123 285 199 155 140 99 57 28 54 185 42 276 12 156 198 118 288 101 223 132 41 180 104 234 163 219 13 84 87 219 231 140 170 1 234 272 182 199 264 233 126 237 174 250 191 206 67 72 128 152 8 87 278 287 223 241 4 77 284 91 229 225 47 164 147 191 26 30 99 19 9 74 93 23 78 283 213 88 97 213 268 4 27 88 277 120 82 113 170 181 271 86 2 53 198 227 251 287 114 278 107 186 138 184 223 61 97 104 175 107 6 231 81 114 207 163 110 50 187 196 73 165 134 136 51 174 11 98 20 176 56 221 146 263 137 88 26 139 62 205 189 220 29 112 74 273 60 51 103 67 22 91 49 188 233 55 4 257 32 64 49 79 270 158 113 111 255 58 15 288 210 213 ^'}}, {OUT=>'A8478DF406F179FD4EF97F4574D7F99EA1CE9EB8'}], ['211', {IN=> {f=> '624 1 28 220 36 170 238 197 169 72 54 41 237 158 26 234 92 145 95 155 87 190 243 208 200 250 48 21 90 215 40 71 178 188 109 196 130 219 216 206 51 16 23 5 48 6 158 97 55 278 201 55 207 90 286 151 130 234 148 34 36 226 127 138 240 112 2 38 141 250 104 37 31 159 207 19 175 92 201 274 96 31 230 28 205 104 52 126 114 192 229 152 225 103 90 230 262 26 108 86 39 32 35 60 147 10 278 216 277 35 75 79 255 100 136 254 5 267 185 99 41 95 226 71 249 9 168 252 90 144 56 12 249 228 57 193 34 21 4 172 153 30 135 159 136 35 116 36 241 59 93 225 32 106 171 43 66 238 268 280 131 110 1 162 161 122 142 14 179 283 141 265 36 155 16 79 184 279 77 198 45 52 182 3 133 173 192 10 263 121 32 50 282 102 122 198 30 120 227 18 213 196 59 108 157 150 91 91 20 199 140 84 124 199 69 263 65 143 109 48 62 47 201 126 28 149 215 111 182 74 244 69 248 133 25 124 128 248 204 9 183 184 208 256 139 279 92 130 163 37 265 270 266 75 8 144 204 80 4 243 264 89 191 119 188 38 85 71 163 256 154 211 210 115 83 14 108 172 82 209 76 103 176 273 276 67 43 10 59 37 46 91 35 131 258 69 44 176 202 165 171 277 177 7 34 240 183 113 97 70 83 29 40 67 129 53 73 78 89 120 8 2 109 252 19 33 160 246 289 13 54 97 126 99 260 111 167 142 289 247 38 156 55 222 22 114 263 50 211 281 226 142 70 68 224 212 15 274 25 210 171 262 245 179 212 30 206 270 195 254 239 88 81 28 1 147 66 167 157 221 202 150 76 159 65 214 220 107 281 7 253 129 124 57 137 145 80 60 132 78 160 231 67 58 232 177 22 129 68 168 33 74 40 275 262 174 68 153 101 246 218 192 158 41 166 47 257 15 259 220 92 59 52 268 46 20 214 72 39 236 282 46 106 257 249 80 279 21 19 104 271 15 55 136 269 100 222 7 182 18 65 128 14 93 240 254 224 156 126 43 81 170 96 102 51 87 134 64 104 256 210 100 151 186 123 89 105 76 174 287 42 42 190 95 140 155 235 258 125 223 117 273 205 246 274 81 99 112 206 285 127 209 61 8 58 288 66 253 200 235 243 193 105 5 63 228 113 82 265 255 44 247 23 224 227 237 102 137 3 148 105 147 285 56 98 165 242 98 236 63 157 2 23 209 5 119 117 217 26 15 203 41 151 115 12 193 49 116 122 284 236 7 268 61 242 169 57 122 213 125 238 49 101 27 39 251 214 1 218 50 63 213 181 127 153 45 67 114 121 118 93 6 143 165 227 166 118 78 74 188 53 17 189 148 176 258 54 112 58 217 82 194 144 275 191 141 ^'}}, {OUT=>'248E58CF09A372114FC2F93B09C5FC14F3D0059E'}], ['212', {IN=> {f=> '628 1 3 97 139 194 211 92 250 117 132 147 267 290 119 14 282 13 118 37 111 200 94 60 216 119 47 270 110 85 203 173 159 16 43 148 277 278 29 5 12 262 158 6 176 117 286 135 72 257 164 76 241 106 101 261 148 18 266 247 143 178 32 117 99 159 49 31 245 123 31 212 135 226 245 90 43 286 289 60 62 131 242 11 65 23 244 80 176 84 6 38 105 91 102 238 27 123 290 224 38 259 79 199 84 193 14 128 25 21 191 237 17 256 259 233 187 10 160 59 19 276 114 174 169 175 74 18 7 235 69 145 198 179 58 252 32 255 111 62 82 278 183 285 230 229 32 68 135 39 269 67 230 75 44 263 168 165 86 108 16 92 112 105 58 114 20 181 78 107 265 237 276 268 162 266 142 119 201 258 36 52 77 64 118 109 26 80 22 96 80 71 60 29 143 24 44 191 132 114 279 193 152 140 99 54 25 54 179 42 276 9 150 192 109 285 92 217 129 35 180 101 228 160 213 7 81 81 219 231 134 167 1 231 272 179 196 264 227 117 237 171 244 185 200 61 72 119 152 2 87 272 284 220 241 1 77 284 82 229 219 44 158 144 188 20 27 90 10 6 71 93 17 69 283 210 82 91 207 262 4 18 79 271 120 73 113 164 181 265 83 288 50 195 221 251 281 108 275 104 186 138 184 223 61 88 95 175 107 6 225 81 114 207 157 101 41 184 190 73 162 128 130 45 168 11 98 11 170 47 221 146 257 131 88 23 139 56 199 189 217 283 23 106 68 273 51 51 100 64 13 85 49 185 233 49 290 257 26 64 46 73 267 152 107 111 249 58 9 288 204 183 26 218 34 170 234 197 169 70 50 41 233 154 22 234 92 145 93 155 81 186 243 208 200 248 48 21 86 213 40 69 178 186 105 196 126 215 214 204 45 14 23 1 44 4 156 91 53 274 199 51 205 88 282 151 130 232 144 34 32 222 123 136 236 112 34 137 246 100 31 25 159 203 19 171 90 197 274 94 27 228 22 201 104 48 126 110 190 227 150 225 97 90 230 262 20 286 102 84 39 26 31 58 147 8 278 216 273 35 75 77 251 94 132 252 291 267 185 95 37 95 224 71 247 5 166 250 84 144 50 8 245 228 55 189 30 15 172 149 28 133 157 134 29 110 36 239 53 87 223 28 100 169 37 62 236 266 280 131 104 291 162 161 118 142 14 177 281 141 263 30 153 12 75 182 275 71 198 41 46 178 291 129 173 192 4 261 115 30 48 280 98 116 194 24 116 227 12 213 194 57 104 153 150 87 85 16 197 136 82 124 195 67 263 63 141 109 42 56 45 201 120 24 149 215 109 180 68 240 63 246 133 19 122 126 248 202 9 183 180 206 252 137 279 88 128 163 33 265 270 264 73 8 140 204 78 2 241 76 ^'}}, {OUT=>'F15767DE91796A6816977EFA4FCED4B7FD9B8A57'}], ['213', {IN=> {f=> '622 0 89 183 111 180 34 85 59 159 256 154 207 210 115 75 10 108 168 78 209 68 103 176 269 272 55 35 10 51 33 38 87 31 123 258 69 36 172 202 161 171 277 169 3 22 236 179 109 93 70 83 29 36 67 121 49 61 74 85 116 2 97 244 11 33 160 246 285 1 42 89 118 87 260 99 159 134 289 247 38 152 55 222 14 110 255 42 211 277 226 138 62 64 216 204 11 270 25 206 163 258 241 171 212 30 198 266 195 254 239 84 69 28 283 143 54 167 153 217 194 142 64 151 65 206 220 99 281 293 249 125 116 57 137 137 72 48 128 78 152 227 63 54 232 177 22 129 68 168 21 74 28 275 254 174 60 149 93 242 218 184 158 37 162 39 249 3 251 212 80 59 52 260 34 20 214 60 27 228 282 46 106 253 249 68 275 17 15 100 271 15 43 136 269 100 214 289 182 14 53 120 2 89 240 246 220 156 122 39 77 162 96 90 43 79 134 60 92 252 202 96 147 178 119 77 97 72 170 287 38 30 190 83 136 147 235 254 117 219 109 265 205 238 266 73 95 100 206 285 123 201 49 290 50 280 66 253 192 227 235 189 93 5 59 224 101 74 257 251 40 239 19 224 223 233 102 129 3 144 101 139 281 56 90 165 238 94 232 55 157 284 11 205 1 107 113 217 22 7 203 29 143 111 8 193 45 116 122 276 236 7 268 53 242 161 49 118 209 125 238 37 97 15 35 247 210 287 210 50 51 205 173 127 153 45 59 102 121 114 85 288 135 157 219 166 106 66 66 188 53 13 185 148 168 250 50 108 46 213 70 190 140 271 187 63 291 97 137 194 207 88 250 115 132 145 263 290 115 10 280 9 118 37 105 198 94 60 214 117 47 268 110 83 201 171 155 10 43 144 273 274 27 293 12 260 156 174 117 284 133 70 255 164 76 237 104 101 261 146 16 262 243 143 176 32 113 95 157 47 31 245 123 29 208 135 222 243 86 41 286 285 58 62 129 240 9 61 17 244 76 172 80 2 32 105 91 98 234 27 121 286 220 34 257 79 199 84 191 8 128 21 17 187 235 17 252 259 231 187 6 156 57 15 272 112 170 165 173 70 18 5 231 65 141 196 179 52 252 30 255 107 56 82 276 179 281 228 225 26 66 131 33 267 63 226 73 38 259 166 163 86 106 16 90 108 103 54 110 18 177 72 105 263 233 274 264 158 266 138 119 199 256 32 48 71 58 112 105 26 74 20 92 80 67 56 25 141 24 44 191 130 108 275 189 150 140 99 52 23 54 175 42 276 7 146 188 103 283 86 213 127 31 180 99 224 158 209 3 79 77 219 231 130 165 1 229 272 177 194 264 223 111 237 169 240 181 196 57 72 113 152 292 87 268 282 218 241 293 77 284 76 229 80 ^'}}, {OUT=>'36A6BC5E680E15675D9696338C88B36248BBBAF4'}], ['214', {IN=> {f=> '635 1 40 150 140 184 12 23 78 294 2 67 93 9 57 283 206 74 83 199 254 4 6 67 263 120 61 113 156 181 257 79 284 46 191 213 251 273 100 271 100 186 138 184 223 61 76 83 175 107 6 217 81 114 207 149 89 29 180 182 73 158 120 122 37 160 11 98 295 162 35 221 146 249 123 88 19 139 48 191 189 213 275 15 98 60 273 39 51 96 60 1 77 49 181 233 41 286 257 18 64 42 65 263 144 99 111 241 58 1 288 196 179 22 214 30 170 226 197 169 66 42 41 225 146 14 234 92 145 89 155 69 178 243 208 200 244 48 21 78 209 40 65 178 182 97 196 118 207 210 200 33 10 23 289 36 152 79 49 266 195 43 201 84 274 151 130 228 136 34 24 214 115 132 228 112 292 26 129 238 92 19 13 159 195 19 163 86 189 274 90 19 224 10 193 104 40 126 102 186 223 146 225 85 90 230 262 8 278 90 80 39 14 23 54 147 4 278 216 265 35 75 73 243 82 124 248 283 267 185 87 29 95 220 71 243 293 162 246 72 144 38 237 228 51 181 22 3 288 172 141 24 129 153 130 17 98 36 235 41 75 219 20 88 165 25 54 232 262 280 131 92 291 162 161 110 142 14 173 277 141 259 18 149 4 67 178 267 59 198 33 34 170 287 121 173 192 288 257 103 26 44 276 90 104 186 12 108 227 213 190 53 96 145 150 79 73 8 193 128 78 124 187 63 263 59 137 109 30 44 41 201 108 16 149 215 105 176 56 232 51 242 133 7 118 122 248 198 9 183 172 202 244 133 279 80 124 163 25 265 270 260 69 8 132 204 74 294 237 252 89 179 107 176 32 85 53 157 256 154 205 210 115 71 8 108 166 76 209 64 103 176 267 270 49 31 10 47 31 34 85 29 119 258 69 32 170 202 159 171 277 165 1 16 234 177 107 91 70 83 29 34 67 117 47 55 72 83 114 292 2 91 240 7 33 160 246 283 291 36 85 114 81 260 93 155 130 289 247 38 150 55 222 10 108 251 38 211 275 226 136 58 62 212 200 9 268 25 204 159 256 239 167 212 30 194 264 195 254 239 82 63 28 279 141 48 167 151 215 190 138 58 147 65 202 220 95 281 291 247 123 112 57 137 133 68 42 126 78 148 225 61 52 232 177 22 129 68 168 15 74 22 275 250 174 56 147 89 240 218 180 158 35 160 35 245 293 247 208 74 59 52 256 28 20 214 54 21 224 282 46 106 251 249 62 273 15 13 98 271 15 37 136 269 100 210 285 182 12 47 116 292 87 240 242 218 156 120 37 75 158 96 84 39 75 134 58 86 250 198 94 145 174 117 71 93 70 168 287 36 24 190 77 134 143 235 252 113 217 105 261 205 234 262 69 93 94 206 285 121 197 43 286 46 276 66 253 188 223 231 187 87 5 57 222 95 285 ^'}}, {OUT=>'4DEA6251B2A6DF017A8093AB066EE3863A4EC369'}], ['215', {IN=> {f=> '636 0 251 248 37 233 16 224 220 230 102 123 3 141 98 133 278 56 84 165 235 91 229 49 157 278 2 202 295 98 110 217 19 1 203 20 137 108 5 193 42 116 122 270 236 7 268 47 242 155 43 115 206 125 238 28 94 6 32 244 207 284 204 50 42 199 167 127 153 45 53 93 121 111 79 282 129 151 213 166 97 57 60 188 53 10 182 148 162 244 47 105 37 210 61 187 137 268 184 63 285 97 134 194 201 82 250 112 132 142 257 290 109 4 277 3 118 37 96 195 94 60 211 114 47 265 110 80 198 168 149 1 43 138 267 268 24 287 12 257 153 288 171 117 281 130 67 252 164 76 231 101 101 261 143 13 256 237 143 173 32 107 89 154 44 31 245 123 26 202 135 216 240 80 38 286 279 55 62 126 237 6 55 8 244 70 166 74 293 23 105 91 92 228 27 118 280 214 28 254 79 199 84 188 296 128 15 11 181 232 17 246 259 228 187 150 54 9 266 109 164 159 170 64 18 2 225 59 135 193 179 43 252 27 255 101 47 82 273 173 275 225 219 17 63 125 24 264 57 220 70 29 253 163 160 86 103 16 87 102 100 48 104 15 171 63 102 260 227 271 258 152 266 132 119 196 253 26 42 62 49 103 99 26 65 17 86 80 61 50 19 138 24 44 191 127 99 269 183 147 140 99 49 20 54 169 42 276 4 140 182 94 280 77 207 124 25 180 96 218 155 203 294 76 71 219 231 124 162 1 226 272 174 191 264 217 102 237 166 234 175 190 51 72 104 152 289 87 262 279 215 241 293 77 284 67 229 209 39 148 139 183 10 22 75 292 1 66 93 7 54 283 205 72 81 197 252 4 3 64 261 120 58 113 154 181 255 78 283 45 190 211 251 271 98 270 99 186 138 184 223 61 73 80 175 107 6 215 81 114 207 147 86 26 179 180 73 157 118 120 35 158 11 98 293 160 32 221 146 247 121 88 18 139 46 189 189 212 273 13 96 58 273 36 51 95 59 295 75 49 180 233 39 285 257 16 64 41 63 262 142 97 111 239 58 296 288 194 178 21 213 29 170 224 197 169 65 40 41 223 144 12 234 92 145 88 155 66 176 243 208 200 243 48 21 76 208 40 64 178 181 95 196 116 205 209 199 30 9 23 288 34 296 151 76 48 264 194 41 200 83 272 151 130 227 134 34 22 212 113 131 226 112 292 24 127 236 90 16 10 159 193 19 161 85 187 274 89 17 223 7 191 104 38 126 100 185 222 145 225 82 90 230 262 5 276 87 79 39 11 21 53 147 3 278 216 263 35 75 72 241 79 122 247 281 267 185 85 27 95 219 71 242 292 161 245 69 144 35 295 235 228 50 179 20 287 172 139 23 128 152 129 14 95 36 234 38 72 218 18 85 164 22 52 231 261 280 131 89 291 162 161 108 142 14 172 276 91 ^'}}, {OUT=>'D30E70E357D57E3D82CA554B8A3D58DFF528FA94'}], ['216', {IN=> {f=> '635 1 256 9 146 297 61 175 261 50 198 27 25 164 284 115 173 192 282 254 94 23 41 273 84 95 180 3 102 227 290 213 187 50 90 139 150 73 64 2 190 122 75 124 181 60 263 56 134 109 21 35 38 201 99 10 149 215 102 173 47 226 42 239 133 297 115 119 248 195 9 183 166 199 238 130 279 74 121 163 19 265 270 257 66 8 126 204 71 294 234 246 89 173 101 170 29 85 44 154 256 154 202 210 115 65 5 108 163 73 209 58 103 176 264 267 40 25 10 41 28 28 82 26 113 258 69 26 167 202 156 171 277 159 297 7 231 174 104 88 70 83 29 31 67 111 44 46 69 80 111 289 2 82 234 1 33 160 246 280 285 27 79 108 72 260 84 149 124 289 247 38 147 55 222 4 105 245 32 211 272 226 133 52 59 206 194 6 265 25 201 153 253 236 161 212 30 188 261 195 254 239 79 54 28 273 138 39 167 148 212 184 132 49 141 65 196 220 89 281 288 244 120 106 57 137 127 62 33 123 78 142 222 58 49 232 177 22 129 68 168 6 74 13 275 244 174 50 144 83 237 218 174 158 32 157 29 239 287 241 202 65 59 52 250 19 20 214 45 12 218 282 46 106 248 249 53 270 12 10 95 271 15 28 136 269 100 204 279 182 9 38 110 286 84 240 236 215 156 117 34 72 152 96 75 33 69 134 55 77 247 192 91 142 168 114 62 87 67 165 287 33 15 190 68 131 137 235 249 107 214 99 255 205 228 256 63 90 85 206 285 118 191 34 280 40 270 66 253 182 217 225 184 78 5 54 219 86 64 247 246 35 229 14 224 218 228 102 119 3 139 96 129 276 56 80 165 233 89 227 45 157 274 295 200 295 92 108 217 17 296 203 14 133 106 3 193 40 116 122 266 236 7 268 43 242 151 39 113 204 125 238 22 92 30 242 205 282 200 50 36 195 163 127 153 45 49 87 121 109 75 278 125 147 209 166 91 51 56 188 53 8 180 148 158 240 45 103 31 208 55 185 135 266 182 63 281 97 132 194 197 78 250 110 132 140 253 290 105 275 298 118 37 90 193 94 60 209 112 47 263 110 78 196 166 145 294 43 134 263 264 22 283 12 255 151 284 169 117 279 128 65 250 164 76 227 99 101 261 141 11 252 233 143 171 32 103 85 152 42 31 245 123 24 198 135 212 238 76 36 286 275 53 62 124 235 4 51 2 244 66 162 70 291 17 105 91 88 224 27 116 276 210 24 252 79 199 84 186 292 128 11 7 177 230 17 242 259 226 187 295 146 52 5 262 107 160 155 168 60 18 221 55 131 191 179 37 252 25 255 97 41 82 271 169 271 223 215 11 61 121 18 262 53 216 68 23 249 161 158 86 101 16 85 98 98 44 100 13 167 57 100 258 223 269 254 148 266 128 119 194 251 22 38 56 43 275 ^'}}, {OUT=>'70CA84D827F7FD61446233F88CF2F990B0F3E2AA'}], ['217', {IN=> {f=> '642 0 91 26 53 13 78 80 53 42 11 134 24 44 191 123 87 261 175 143 140 99 45 16 54 161 42 276 132 174 82 276 65 199 120 17 180 92 210 151 195 290 72 63 219 231 116 158 1 222 272 170 187 264 209 90 237 162 226 167 182 43 72 92 152 285 87 254 275 211 241 293 77 284 55 229 201 35 140 135 179 2 18 63 284 298 62 93 300 42 283 201 64 73 189 244 4 292 52 253 120 46 113 146 181 247 74 279 41 186 203 251 263 90 266 95 186 138 184 223 61 61 68 175 107 6 207 81 114 207 139 74 14 175 172 73 153 110 112 27 150 11 98 285 152 20 221 146 239 113 88 14 139 38 181 189 208 265 5 88 50 273 24 51 91 55 287 67 49 176 233 31 281 257 8 64 37 55 258 134 89 111 231 58 292 288 186 174 17 209 25 170 216 197 169 61 32 41 215 136 4 234 92 145 84 155 54 168 243 208 200 239 48 21 68 204 40 60 178 177 87 196 108 197 205 195 18 5 23 284 26 296 147 64 44 256 190 33 196 79 264 151 130 223 126 34 14 204 105 127 218 112 292 16 119 228 82 4 299 159 185 19 153 81 179 274 85 9 219 296 183 104 30 126 92 181 218 141 225 70 90 230 262 294 268 75 75 39 300 13 49 147 300 278 216 255 35 75 68 233 67 114 243 273 267 185 77 19 95 215 71 238 288 157 241 57 144 23 291 227 228 46 171 12 289 283 172 131 19 124 148 125 2 83 36 230 26 60 214 10 73 160 10 44 227 257 280 131 77 291 162 161 100 142 14 168 272 141 254 3 144 295 57 173 257 44 198 23 19 160 282 111 173 192 278 252 88 21 39 271 80 89 176 298 98 227 286 213 185 48 86 135 150 69 58 299 188 118 73 124 177 58 263 54 132 109 15 29 36 201 93 6 149 215 100 171 41 222 36 237 133 293 113 117 248 193 9 183 162 197 234 128 279 70 119 163 15 265 270 255 64 8 122 204 69 294 232 242 89 169 97 166 27 85 38 152 256 154 200 210 115 61 3 108 161 71 209 54 103 176 262 265 34 21 10 37 26 24 80 24 109 258 69 22 165 202 154 171 277 155 297 1 229 172 102 86 70 83 29 29 67 107 42 40 67 78 109 287 2 76 230 298 33 160 246 278 281 21 75 104 66 260 78 145 120 289 247 38 145 55 222 103 241 28 211 270 226 131 48 57 202 190 4 263 25 199 149 251 234 157 212 30 184 259 195 254 239 77 48 28 269 136 33 167 146 210 180 128 43 137 65 192 220 85 281 286 242 118 102 57 137 123 58 27 121 78 138 220 56 47 232 177 22 129 68 168 74 7 275 240 174 46 142 79 235 218 170 158 30 155 25 235 283 237 198 59 59 52 246 13 20 214 39 6 214 282 46 106 246 249 47 268 10 8 93 271 15 22 136 269 100 200 275 42 ^'}}, {OUT=>'8D500C9CFDE0288530A2106B70BED39326C52C3C'}], ['218', {IN=> {f=> '644 0 6 29 104 280 81 240 230 212 156 114 31 69 146 96 66 27 63 134 52 68 244 186 88 139 162 111 53 81 64 162 287 30 6 190 59 128 131 235 246 101 211 93 249 205 222 250 57 87 76 206 285 115 185 25 274 34 264 66 253 176 211 219 181 69 5 51 216 77 58 241 243 32 223 11 224 215 225 102 113 3 136 93 123 273 56 74 165 230 86 224 39 157 268 289 197 295 83 105 217 14 293 203 5 127 103 193 37 116 122 260 236 7 268 37 242 145 33 110 201 125 238 13 89 293 27 239 202 279 194 50 27 189 157 127 153 45 43 78 121 106 69 272 119 141 203 166 82 42 50 188 53 5 177 148 152 234 42 100 22 205 46 182 132 263 179 63 275 97 129 194 191 72 250 107 132 137 247 290 99 296 272 295 118 37 81 190 94 60 206 109 47 260 110 75 193 163 139 288 43 128 257 258 19 277 12 252 148 278 166 117 276 125 62 247 164 76 221 96 101 261 138 8 246 227 143 168 32 97 79 149 39 31 245 123 21 192 135 206 235 70 33 286 269 50 62 121 232 1 45 295 244 60 156 64 288 8 105 91 82 218 27 113 270 204 18 249 79 199 84 183 286 128 5 1 171 227 17 236 259 223 187 292 140 49 301 256 104 154 149 165 54 18 299 215 49 125 188 179 28 252 22 255 91 32 82 268 163 265 220 209 2 58 115 9 259 47 210 65 14 243 158 155 86 98 16 82 92 95 38 94 10 161 48 97 255 217 266 248 142 266 122 119 191 248 16 32 47 34 88 89 26 50 12 76 80 51 40 9 133 24 44 191 122 84 259 173 142 140 99 44 15 54 159 42 276 301 130 172 79 275 62 197 119 15 180 91 208 150 193 289 71 61 219 231 114 157 1 221 272 169 186 264 207 87 237 161 224 165 180 41 72 89 152 284 87 252 274 210 241 293 77 284 52 229 199 34 138 134 178 17 60 282 298 61 93 299 39 283 200 62 71 187 242 4 290 49 251 120 43 113 144 181 245 73 278 40 185 201 251 261 88 265 94 186 138 184 223 61 58 65 175 107 6 205 81 114 207 137 71 11 174 170 73 152 108 110 25 148 11 98 283 150 17 221 146 237 111 88 13 139 36 179 189 207 263 3 86 48 273 21 51 90 54 285 65 49 175 233 29 280 257 6 64 36 53 257 132 87 111 229 58 291 288 184 173 16 208 24 170 214 197 169 60 30 41 213 134 2 234 92 145 83 155 51 166 243 208 200 238 48 21 66 203 40 59 178 176 85 196 106 195 204 194 15 4 23 283 24 296 146 61 43 254 189 31 195 78 262 151 130 222 124 34 12 202 103 126 216 112 292 14 117 226 80 1 297 159 183 19 151 80 177 274 84 7 218 294 181 104 28 126 90 180 217 140 225 67 90 230 262 292 266 72 74 39 298 11 48 147 300 278 216 253 265 ^'}}, {OUT=>'F3D4D139EDFC24596377BC97A96FB7621F27FFC7'}], ['219', {IN=> {f=> '638 1 75 65 227 58 108 240 267 267 185 71 13 95 212 71 235 285 154 238 48 144 14 288 221 228 43 165 6 283 280 172 125 16 121 145 122 297 74 36 227 17 51 211 4 64 157 1 38 224 254 280 131 68 291 162 161 94 142 14 165 269 141 251 298 141 292 51 170 251 35 198 17 10 154 279 105 173 192 272 249 79 18 36 268 74 80 170 292 92 227 280 213 182 45 80 129 150 63 49 296 185 112 70 124 171 55 263 51 129 109 6 20 33 201 84 149 215 97 168 32 216 27 234 133 287 110 114 248 190 9 183 156 194 228 125 279 64 116 163 9 265 270 252 61 8 116 204 66 294 229 236 89 163 91 160 24 85 29 149 256 154 197 210 115 55 108 158 68 209 48 103 176 259 262 25 15 10 31 23 18 77 21 103 258 69 16 162 202 151 171 277 149 297 296 226 169 99 83 70 83 29 26 67 101 39 31 64 75 106 284 2 67 224 295 33 160 246 275 275 12 69 98 57 260 69 139 114 289 247 38 142 55 222 298 100 235 22 211 267 226 128 42 54 196 184 1 260 25 196 143 248 231 151 212 30 178 256 195 254 239 74 39 28 263 133 24 167 143 207 174 122 34 131 65 186 220 79 281 283 239 115 96 57 137 117 52 18 118 78 132 217 53 44 232 177 22 129 68 168 295 74 302 275 234 174 40 139 73 232 218 164 158 27 152 19 229 277 231 192 50 59 52 240 4 20 214 30 301 208 282 46 106 243 249 38 265 7 5 90 271 15 13 136 269 100 194 269 182 4 23 100 276 79 240 226 210 156 112 29 67 142 96 60 23 59 134 50 62 242 182 86 137 158 109 47 77 62 160 287 28 190 53 126 127 235 244 97 209 89 245 205 218 246 53 85 70 206 285 113 181 19 270 30 260 66 253 172 207 215 179 63 5 49 214 71 54 237 241 30 219 9 224 213 223 102 109 3 134 91 119 271 56 70 165 228 84 222 35 157 264 285 195 295 77 103 217 12 291 203 303 123 101 302 193 35 116 122 256 236 7 268 33 242 141 29 108 199 125 238 7 87 289 25 237 200 277 190 50 21 185 153 127 153 45 39 72 121 104 65 268 115 137 199 166 76 36 46 188 53 3 175 148 148 230 40 98 16 203 40 180 130 261 177 63 271 97 127 194 187 68 250 105 132 135 243 290 95 294 270 293 118 37 75 188 94 60 204 107 47 258 110 73 191 161 135 284 43 124 253 254 17 273 12 250 146 274 164 117 274 123 60 245 164 76 217 94 101 261 136 6 242 223 143 166 32 93 75 147 37 31 245 123 19 188 135 202 233 66 31 286 265 48 62 119 230 303 41 291 244 56 152 60 286 2 105 91 78 214 27 111 266 200 14 247 79 199 84 181 282 128 1 301 167 225 17 232 259 221 187 290 136 47 299 252 102 150 145 163 157 ^'}}, {OUT=>'5509BAFFAC6D507860CEFC5AB5832CB63CD4B687'}], ['220', {IN=> {f=> '653 0 18 299 207 41 117 184 179 16 252 18 255 83 20 82 264 155 257 216 201 296 54 107 303 255 39 202 61 2 235 154 151 86 94 16 78 84 91 30 86 6 153 36 93 251 209 262 240 134 266 114 119 187 244 8 24 35 22 76 81 26 38 8 68 80 43 32 1 129 24 44 191 118 72 251 165 138 140 99 40 11 54 151 42 276 301 122 164 67 271 50 189 115 7 180 87 200 146 185 285 67 53 219 231 106 153 1 217 272 165 182 264 199 75 237 157 216 157 172 33 72 77 152 280 87 244 270 206 241 293 77 284 40 229 191 30 130 130 174 298 13 48 274 298 57 93 295 27 283 196 54 63 179 234 4 282 37 243 120 31 113 136 181 237 69 274 36 181 193 251 253 80 261 90 186 138 184 223 61 46 53 175 107 6 197 81 114 207 129 59 305 170 162 73 148 100 102 17 140 11 98 275 142 5 221 146 229 103 88 9 139 28 171 189 203 255 301 78 40 273 9 51 86 50 277 57 49 171 233 21 276 257 304 64 32 45 253 124 79 111 221 58 287 288 176 169 12 204 20 170 206 197 169 56 22 41 205 126 300 234 92 145 79 155 39 158 243 208 200 234 48 21 58 199 40 55 178 172 77 196 98 187 200 190 3 23 279 16 296 142 49 39 246 185 23 191 74 254 151 130 218 116 34 4 194 95 122 208 112 292 6 109 218 72 295 289 159 175 19 143 76 169 274 80 305 214 286 173 104 20 126 82 176 213 136 225 55 90 230 262 284 258 60 70 39 290 3 44 147 300 278 216 245 35 75 63 223 52 104 238 263 267 185 67 9 95 210 71 233 283 152 236 42 144 8 286 217 228 41 161 2 279 278 172 121 14 119 143 120 293 68 36 225 11 45 209 58 155 301 34 222 252 280 131 62 291 162 161 90 142 14 163 267 141 249 294 139 290 47 168 247 29 198 13 4 150 277 101 173 192 268 247 73 16 34 266 70 74 166 288 88 227 276 213 180 43 76 125 150 59 43 294 183 108 68 124 167 53 263 49 127 109 14 31 201 78 302 149 215 95 166 26 212 21 232 133 283 108 112 248 188 9 183 152 192 224 123 279 60 114 163 5 265 270 250 59 8 112 204 64 294 227 232 89 159 87 156 22 85 23 147 256 154 195 210 115 51 304 108 156 66 209 44 103 176 257 260 19 11 10 27 21 14 75 19 99 258 69 12 160 202 149 171 277 145 297 292 224 167 97 81 70 83 29 24 67 97 37 25 62 73 104 282 2 61 220 293 33 160 246 273 271 6 65 94 51 260 63 135 110 289 247 38 140 55 222 296 98 231 18 211 265 226 126 38 52 192 180 305 258 25 194 139 246 229 147 212 30 174 254 195 254 239 72 33 28 259 131 18 167 141 205 170 118 28 127 65 182 220 75 281 281 237 113 92 57 137 113 48 12 116 78 128 215 51 42 232 177 22 129 68 168 291 161 ^'}}, {OUT=>'0C0AEA0C2FD7A620C77866B1A177481E26B4F592'}], ['221', {IN=> {f=> '653 0 296 275 228 174 34 136 67 229 218 158 158 24 149 13 223 271 225 186 41 59 52 234 302 20 214 21 295 202 282 46 106 240 249 29 262 4 2 87 271 15 4 136 269 100 188 263 182 1 14 94 270 76 240 220 207 156 109 26 64 136 96 51 17 53 134 47 53 239 176 83 134 152 106 38 71 59 157 287 25 298 190 44 123 121 235 241 91 206 83 239 205 212 240 47 82 61 206 285 110 175 10 264 24 254 66 253 166 201 209 176 54 5 46 211 62 48 231 238 27 213 6 224 210 220 102 103 3 131 88 113 268 56 64 165 225 81 219 29 157 258 279 192 295 68 100 217 9 288 203 297 117 98 302 193 32 116 122 250 236 7 268 27 242 135 23 105 196 125 238 305 84 283 22 234 197 274 184 50 12 179 147 127 153 45 33 63 121 101 59 262 109 131 193 166 67 27 40 188 53 172 148 142 224 37 95 7 200 31 177 127 258 174 63 265 97 124 194 181 62 250 102 132 132 237 290 89 291 267 290 118 37 66 185 94 60 201 104 47 255 110 70 188 158 129 278 43 118 247 248 14 267 12 247 143 268 161 117 271 120 57 242 164 76 211 91 101 261 133 3 236 217 143 163 32 87 69 144 34 31 245 123 16 182 135 196 230 60 28 286 259 45 62 116 227 303 35 285 244 50 146 54 283 300 105 91 72 208 27 108 260 194 8 244 79 199 84 178 276 128 302 298 161 222 17 226 259 218 187 287 130 44 296 246 99 144 139 160 44 18 299 205 39 115 183 179 13 252 17 255 81 17 82 263 153 255 215 199 294 53 105 301 254 37 200 60 306 233 153 150 86 93 16 77 82 90 28 84 5 151 33 92 250 207 261 238 132 266 112 119 186 243 6 22 32 19 73 79 26 35 7 66 80 41 30 306 128 24 44 191 117 69 249 163 137 140 99 39 10 54 149 42 276 301 120 162 64 270 47 187 114 5 180 86 198 145 183 284 66 51 219 231 104 152 1 216 272 164 181 264 197 72 237 156 214 155 170 31 72 74 152 279 87 242 269 205 241 293 77 284 37 229 189 29 128 129 173 297 12 45 272 298 56 93 294 24 283 195 52 61 177 232 4 280 34 241 120 28 113 134 181 235 68 273 35 180 191 251 251 78 260 89 186 138 184 223 61 43 50 175 107 6 195 81 114 207 127 56 303 169 160 73 147 98 100 15 138 11 98 273 140 2 221 146 227 101 88 8 139 26 169 189 202 253 300 76 38 273 6 51 85 49 275 55 49 170 233 19 275 257 303 64 31 43 252 122 77 111 219 58 286 288 174 168 11 203 19 170 204 197 169 55 20 41 203 124 299 234 92 145 78 155 36 156 243 208 200 233 48 21 56 198 40 54 178 171 75 196 96 185 199 189 306 23 278 14 296 141 46 38 244 184 21 190 73 252 151 130 217 114 34 2 192 93 121 206 112 292 4 107 216 70 293 112 ^'}}, {OUT=>'149176007FEE58A591E3F00F8DB658B605F8390C'}], ['222', {IN=> {f=> '646 1 159 169 19 137 73 163 274 77 302 211 280 167 104 14 126 76 173 210 133 225 46 90 230 262 278 252 51 67 39 284 306 41 147 300 278 216 239 35 75 60 217 43 98 235 257 267 185 61 3 95 207 71 230 280 149 233 33 144 308 283 211 228 38 155 305 273 275 172 115 11 116 140 117 287 59 36 222 2 36 206 303 49 152 295 28 219 249 280 131 53 291 162 161 84 142 14 160 264 141 246 288 136 287 41 165 241 20 198 7 304 144 274 95 173 192 262 244 64 13 31 263 64 65 160 282 82 227 270 213 177 40 70 119 150 53 34 291 180 102 65 124 161 50 263 46 124 109 300 5 28 201 69 299 149 215 92 163 17 206 12 229 133 277 105 109 248 185 9 183 146 189 218 120 279 54 111 163 308 265 270 247 56 8 106 204 61 294 224 226 89 153 81 150 19 85 14 144 256 154 192 210 115 45 304 108 153 63 209 38 103 176 254 257 10 5 10 21 18 8 72 16 93 258 69 6 157 202 146 171 277 139 297 286 221 164 94 78 70 83 29 21 67 91 34 16 59 70 101 279 2 52 214 290 33 160 246 270 265 306 59 88 42 260 54 129 104 289 247 38 137 55 222 293 95 225 12 211 262 226 123 32 49 186 174 305 255 25 191 133 243 226 141 212 30 168 251 195 254 239 69 24 28 253 128 9 167 138 202 164 112 19 121 65 176 220 69 281 278 234 110 86 57 137 107 42 3 113 78 122 212 48 39 232 177 22 129 68 168 285 74 292 275 224 174 30 134 63 227 218 154 158 22 147 9 219 267 221 182 35 59 52 230 298 20 214 15 291 198 282 46 106 238 249 23 260 2 85 271 15 307 136 269 100 184 259 182 308 8 90 266 74 240 216 205 156 107 24 62 132 96 45 13 49 134 45 47 237 172 81 132 148 104 32 67 57 155 287 23 294 190 38 121 117 235 239 87 204 79 235 205 208 236 43 80 55 206 285 108 171 4 260 20 250 66 253 162 197 205 174 48 5 44 209 56 44 227 236 25 209 4 224 208 218 102 99 3 129 86 109 266 56 60 165 223 79 217 25 157 254 275 190 295 62 98 217 7 286 203 293 113 96 302 193 30 116 122 246 236 7 268 23 242 131 19 103 194 125 238 301 82 279 20 232 195 272 180 50 6 175 143 127 153 45 29 57 121 99 55 258 105 127 189 166 61 21 36 188 53 307 170 148 138 220 35 93 1 198 25 175 125 256 172 63 261 97 122 194 177 58 250 100 132 130 233 290 85 289 265 288 118 37 60 183 94 60 199 102 47 253 110 68 186 156 125 274 43 114 243 244 12 263 12 245 141 264 159 117 269 118 55 240 164 76 207 89 101 261 131 1 232 213 143 161 32 83 65 142 32 31 245 123 14 178 135 192 228 56 26 286 255 43 62 114 225 303 31 281 244 46 142 50 281 296 105 91 238 ^'}}, {OUT=>'17C0D7B0256159F3626786FFDB20237AE154FA84'}], ['223', {IN=> {f=> '647 0 200 27 104 252 186 240 79 199 84 174 268 128 298 294 153 218 17 218 259 214 187 283 122 40 292 238 95 136 131 156 36 18 299 197 31 107 179 179 1 252 13 255 73 5 82 259 145 247 211 191 286 49 97 293 250 29 192 56 298 225 149 146 86 89 16 73 74 86 20 76 1 143 21 88 246 199 257 230 124 266 104 119 182 239 309 14 20 7 61 71 26 23 3 58 80 33 22 302 124 24 44 191 113 57 241 155 133 140 99 35 6 54 141 42 276 301 112 154 52 266 35 179 110 308 180 82 190 141 175 280 62 43 219 231 96 148 1 212 272 160 177 264 189 60 237 152 206 147 162 23 72 62 152 275 87 234 265 201 241 293 77 284 25 229 181 25 120 125 169 293 8 33 264 298 52 93 290 12 283 191 44 53 169 224 4 272 22 233 120 16 113 126 181 227 64 269 31 176 183 251 243 70 256 85 186 138 184 223 61 31 38 175 107 6 187 81 114 207 119 44 295 165 152 73 143 90 92 7 130 11 98 265 132 301 221 146 219 93 88 4 139 18 161 189 198 245 296 68 30 273 305 51 81 45 267 47 49 166 233 11 271 257 299 64 27 35 248 114 69 111 211 58 282 288 166 164 7 199 15 170 196 197 169 51 12 41 195 116 295 234 92 145 74 155 24 148 243 208 200 229 48 21 48 194 40 50 178 167 67 196 88 177 195 185 299 306 23 274 6 296 137 34 34 236 180 13 186 69 244 151 130 213 106 34 305 184 85 117 198 112 292 307 99 208 62 285 279 159 165 19 133 71 159 274 75 300 209 276 163 104 10 126 72 171 208 131 225 40 90 230 262 274 248 45 65 39 280 304 39 147 300 278 216 235 35 75 58 213 37 94 233 253 267 185 57 310 95 205 71 228 278 147 231 27 144 304 281 207 228 36 151 303 269 273 172 111 9 114 138 115 283 53 36 220 307 30 204 301 43 150 291 24 217 247 280 131 47 291 162 161 80 142 14 158 262 141 244 284 134 285 37 163 237 14 198 3 300 140 272 91 173 192 258 242 58 11 29 261 60 59 156 278 78 227 266 213 175 38 66 115 150 49 28 289 178 98 63 124 157 48 263 44 122 109 296 310 26 201 63 297 149 215 90 161 11 202 6 227 133 273 103 107 248 183 9 183 142 187 214 118 279 50 109 163 306 265 270 245 54 8 102 204 59 294 222 222 89 149 77 146 17 85 8 142 256 154 190 210 115 41 304 108 151 61 209 34 103 176 252 255 4 1 10 17 16 4 70 14 89 258 69 2 155 202 144 171 277 135 297 282 219 162 92 76 70 83 29 19 67 87 32 10 57 68 99 277 2 46 210 288 33 160 246 268 261 302 55 84 36 260 48 125 100 289 247 38 135 55 222 291 93 221 8 211 260 226 121 28 47 182 170 305 253 25 189 129 241 224 137 212 30 164 249 195 254 239 86 ^'}}, {OUT=>'741A58618ABEB1D983D67AFDCBC49AA397A3B8E0'}], ['224', {IN=> {f=> '665 0 15 28 247 125 167 135 199 158 106 10 115 65 170 220 63 281 275 231 107 80 57 137 101 36 306 110 78 116 209 45 36 232 177 22 129 68 168 279 74 286 275 218 174 24 131 57 224 218 148 158 19 144 3 213 261 215 176 26 59 52 224 292 20 214 6 285 192 282 46 106 235 249 14 257 311 309 82 271 15 301 136 269 100 178 253 182 308 311 84 260 71 240 210 202 156 104 21 59 126 96 36 7 43 134 42 38 234 166 78 129 142 101 23 61 54 152 287 20 288 190 29 118 111 235 236 81 201 73 229 205 202 230 37 77 46 206 285 105 165 307 254 14 244 66 253 156 191 199 171 39 5 41 206 47 38 221 233 22 203 1 224 205 215 102 93 3 126 83 103 263 56 54 165 220 76 214 19 157 248 269 187 295 53 95 217 4 283 203 287 107 93 302 193 27 116 122 240 236 7 268 17 242 125 13 100 191 125 238 295 79 273 17 229 192 269 174 50 309 169 137 127 153 45 23 48 121 96 49 252 99 121 183 166 52 12 30 188 53 307 167 148 132 214 32 90 304 195 16 172 122 253 169 63 255 97 119 194 171 52 250 97 132 127 227 290 79 286 262 285 118 37 51 180 94 60 196 99 47 250 110 65 183 153 119 268 43 108 237 238 9 257 12 242 138 258 156 117 266 115 52 237 164 76 201 86 101 261 128 310 226 207 143 158 32 77 59 139 29 31 245 123 11 172 135 186 225 50 23 286 249 40 62 111 222 303 25 275 244 40 136 44 278 290 105 91 62 198 27 103 250 184 310 239 79 199 84 173 266 128 297 293 151 217 17 216 259 213 187 282 120 39 291 236 94 134 129 155 34 18 299 195 29 105 178 179 310 252 12 255 71 2 82 258 143 245 210 189 284 48 95 291 249 27 190 55 296 223 148 145 86 88 16 72 72 85 18 74 141 18 87 245 197 256 228 122 266 102 119 181 238 308 12 17 4 58 69 26 20 2 56 80 31 20 301 123 24 44 191 112 54 239 153 132 140 99 34 5 54 139 42 276 301 110 152 49 265 32 177 109 307 180 81 188 140 173 279 61 41 219 231 94 147 1 211 272 159 176 264 187 57 237 151 204 145 160 21 72 59 152 274 87 232 264 200 241 293 77 284 22 229 179 24 118 124 168 292 7 30 262 298 51 93 289 9 283 190 42 51 167 222 4 270 19 231 120 13 113 124 181 225 63 268 30 175 181 251 241 68 255 84 186 138 184 223 61 28 35 175 107 6 185 81 114 207 117 41 293 164 150 73 142 88 90 5 128 11 98 263 130 299 221 146 217 91 88 3 139 16 159 189 197 243 295 66 28 273 303 51 80 44 265 45 49 165 233 9 270 257 298 64 26 33 247 112 67 111 209 58 281 288 164 163 6 198 14 170 194 197 169 50 10 41 193 114 294 234 92 145 73 155 21 146 243 208 200 228 48 21 46 193 40 49 178 166 65 196 86 175 194 184 297 306 23 273 206 ^'}}, {OUT=>'B738D6B3409EB9ED2F1719B84D13F7C36169CDEC'}], ['225', {IN=> {f=> '641 0 296 134 25 31 230 177 7 183 66 238 151 130 210 100 34 302 178 79 114 192 112 292 304 93 202 56 279 273 159 159 19 127 68 153 274 72 297 206 270 157 104 4 126 66 168 205 128 225 31 90 230 262 268 242 36 62 39 274 301 36 147 300 278 216 229 35 75 55 207 28 88 230 247 267 185 51 307 95 202 71 225 275 144 228 18 144 298 278 201 228 33 145 300 263 270 172 105 6 111 135 112 277 44 36 217 301 21 201 298 34 147 285 18 214 244 280 131 38 291 162 161 74 142 14 155 259 141 241 278 131 282 31 160 231 5 198 311 294 134 269 85 173 192 252 239 49 8 26 258 54 50 150 272 72 227 260 213 172 35 60 109 150 43 19 286 175 92 60 124 151 45 263 41 119 109 290 304 23 201 54 294 149 215 87 158 2 196 311 224 133 267 100 104 248 180 9 183 136 184 208 115 279 44 106 163 303 265 270 242 51 8 96 204 56 294 219 216 89 143 71 140 14 85 313 139 256 154 187 210 115 35 304 108 148 58 209 28 103 176 249 252 309 309 10 11 13 312 67 11 83 258 69 310 152 202 141 171 277 129 297 276 216 159 89 73 70 83 29 16 67 81 29 1 54 65 96 274 2 37 204 285 33 160 246 265 255 296 49 78 27 260 39 119 94 289 247 38 132 55 222 288 90 215 2 211 257 226 118 22 44 176 164 305 250 25 186 123 238 221 131 212 30 158 246 195 254 239 64 9 28 243 123 308 167 133 197 154 102 4 111 65 166 220 59 281 273 229 105 76 57 137 97 32 302 108 78 112 207 43 34 232 177 22 129 68 168 275 74 282 275 214 174 20 129 53 222 218 144 158 17 142 313 209 257 211 172 20 59 52 220 288 20 214 281 188 282 46 106 233 249 8 255 311 309 80 271 15 297 136 269 100 174 249 182 308 307 80 256 69 240 206 200 156 102 19 57 122 96 30 3 39 134 40 32 232 162 76 127 138 99 17 57 52 150 287 18 284 190 23 116 107 235 234 77 199 69 225 205 198 226 33 75 40 206 285 103 161 303 250 10 240 66 253 152 187 195 169 33 5 39 204 41 34 217 231 20 199 313 224 203 213 102 89 3 124 81 99 261 56 50 165 218 74 212 15 157 244 265 185 295 47 93 217 2 281 203 283 103 91 302 193 25 116 122 236 236 7 268 13 242 121 9 98 189 125 238 291 77 269 15 227 190 267 170 50 305 165 133 127 153 45 19 42 121 94 45 248 95 117 179 166 46 6 26 188 53 307 165 148 128 210 30 88 300 193 10 170 120 251 167 63 251 97 117 194 167 48 250 95 132 125 223 290 75 284 260 283 118 37 45 178 94 60 194 97 47 248 110 63 181 151 115 264 43 104 233 234 7 253 12 240 136 254 154 117 264 113 50 235 164 76 197 84 101 261 126 310 222 203 143 276 ^'}}, {OUT=>'3D33DE31F64055D3B128AC9A6AA3F92DFD4F5330'}], ['226', {IN=> {f=> '656 0 32 69 51 135 25 31 245 123 7 164 135 178 221 42 19 286 241 36 62 107 218 303 17 267 244 32 128 36 274 282 105 91 54 190 27 99 242 176 306 235 79 199 84 169 258 128 293 289 143 213 17 208 259 209 187 278 112 35 287 228 90 126 121 151 26 18 299 187 21 97 174 179 302 252 8 255 63 306 82 254 135 237 206 181 276 44 87 283 245 19 182 51 288 215 144 141 86 84 16 68 64 81 10 66 312 133 6 83 241 189 252 220 114 266 94 119 177 234 304 4 5 308 46 61 26 8 314 48 80 23 12 297 119 24 44 191 108 42 231 145 128 140 99 30 1 54 131 42 276 301 102 144 37 261 20 169 105 303 180 77 180 136 165 275 57 33 219 231 86 143 1 207 272 155 172 264 179 45 237 147 196 137 152 13 72 47 152 270 87 224 260 196 241 293 77 284 10 229 171 20 110 120 164 288 3 18 254 298 47 93 285 313 283 186 34 43 159 214 4 262 7 223 120 1 113 116 181 217 59 264 26 171 173 251 233 60 251 80 186 138 184 223 61 16 23 175 107 6 177 81 114 207 109 29 285 160 142 73 138 80 82 313 120 11 98 255 122 291 221 146 209 83 88 315 139 8 151 189 193 235 291 58 20 273 295 51 76 40 257 37 49 161 233 1 266 257 294 64 22 25 243 104 59 111 201 58 277 288 156 159 2 194 10 170 186 197 169 46 2 41 185 106 290 234 92 145 69 155 9 138 243 208 200 224 48 21 38 189 40 45 178 162 57 196 78 167 190 180 289 306 23 269 312 296 132 19 29 226 175 3 181 64 234 151 130 208 96 34 300 174 75 112 188 112 292 302 89 198 52 275 269 159 155 19 123 66 149 274 70 295 204 266 153 104 126 62 166 203 126 225 25 90 230 262 264 238 30 60 39 270 299 34 147 300 278 216 225 35 75 53 203 22 84 228 243 267 185 47 305 95 200 71 223 273 142 226 12 144 294 276 197 228 31 141 298 259 268 172 101 4 109 133 110 273 38 36 215 297 15 199 296 28 145 281 14 212 242 280 131 32 291 162 161 70 142 14 153 257 141 239 274 129 280 27 158 227 315 198 309 290 130 267 81 173 192 248 237 43 6 24 256 50 44 146 268 68 227 256 213 170 33 56 105 150 39 13 284 173 88 58 124 147 43 263 39 117 109 286 300 21 201 48 292 149 215 85 156 312 192 307 222 133 263 98 102 248 178 9 183 132 182 204 113 279 40 104 163 301 265 270 240 49 8 92 204 54 294 217 212 89 139 67 136 12 85 309 137 256 154 185 210 115 31 304 108 146 56 209 24 103 176 247 250 305 307 10 7 11 310 65 9 79 258 69 308 150 202 139 171 277 125 297 272 214 157 87 71 70 83 29 14 67 77 27 311 52 63 94 272 2 31 200 283 33 160 246 263 251 292 45 74 21 260 33 115 90 289 247 38 130 55 222 286 88 211 227 ^'}}, {OUT=>'B6925F4DF94949B8844C867428BA3DEDF4CF2B51'}], ['227', {IN=> {f=> '668 0 211 254 226 115 16 41 170 158 305 247 25 183 117 235 218 125 212 30 152 243 195 254 239 61 28 237 120 302 167 130 194 148 96 312 105 65 160 220 53 281 270 226 102 70 57 137 91 26 296 105 78 106 204 40 31 232 177 22 129 68 168 269 74 276 275 208 174 14 126 47 219 218 138 158 14 139 310 203 251 205 166 11 59 52 214 282 20 214 308 275 182 282 46 106 230 249 316 252 311 309 77 271 15 291 136 269 100 168 243 182 308 301 74 250 66 240 200 197 156 99 16 54 116 96 21 314 33 134 37 23 229 156 73 124 132 96 8 51 49 147 287 15 278 190 14 113 101 235 231 71 196 63 219 205 192 220 27 72 31 206 285 100 155 297 244 4 234 66 253 146 181 189 166 24 5 36 201 32 28 211 228 17 193 313 224 200 210 102 83 3 121 78 93 258 56 44 165 215 71 209 9 157 238 259 182 295 38 90 217 316 278 203 277 97 88 302 193 22 116 122 230 236 7 268 7 242 115 3 95 186 125 238 285 74 263 12 224 187 264 164 50 299 159 127 127 153 45 13 33 121 91 39 242 89 111 173 166 37 314 20 188 53 307 162 148 122 204 27 85 294 190 1 167 117 248 164 63 245 97 114 194 161 42 250 92 132 122 217 290 69 281 257 280 118 37 36 175 94 60 191 94 47 245 110 60 178 148 109 258 43 98 227 228 4 247 12 237 133 248 151 117 261 110 47 232 164 76 191 81 101 261 123 310 216 197 143 153 32 67 49 134 24 31 245 123 6 162 135 176 220 40 18 286 239 35 62 106 217 303 15 265 244 30 126 34 273 280 105 91 52 188 27 98 240 174 305 234 79 199 84 168 256 128 292 288 141 212 17 206 259 208 187 277 110 34 286 226 89 124 119 150 24 18 299 185 19 95 173 179 300 252 7 255 61 304 82 253 133 235 205 179 274 43 85 281 244 17 180 50 286 213 143 140 86 83 16 67 62 80 8 64 312 131 3 82 240 187 251 218 112 266 92 119 176 233 303 2 2 306 43 59 26 5 314 46 80 21 10 296 118 24 44 191 107 39 229 143 127 140 99 29 54 129 42 276 301 100 142 34 260 17 167 104 302 180 76 178 135 163 274 56 31 219 231 84 142 1 206 272 154 171 264 177 42 237 146 194 135 150 11 72 44 152 269 87 222 259 195 241 293 77 284 7 229 169 19 108 119 163 287 2 15 252 298 46 93 284 311 283 185 32 41 157 212 4 260 4 221 120 315 113 114 181 215 58 263 25 170 171 251 231 58 250 79 186 138 184 223 61 13 20 175 107 6 175 81 114 207 107 26 283 159 140 73 137 78 80 312 118 11 98 253 120 289 221 146 207 81 88 315 139 6 149 189 192 233 290 56 18 273 293 51 75 39 255 35 49 160 233 316 265 257 293 64 21 23 242 102 57 111 199 58 276 288 154 158 1 193 9 170 184 197 169 45 41 183 104 289 234 92 145 68 155 6 136 243 208 203 ^'}}, {OUT=>'CF5E7256292ABEC431D8E8B9CBEAF22AF072377E'}], ['228', {IN=> {f=> '656 0 221 48 21 32 186 40 42 178 159 51 196 72 161 187 177 283 306 23 266 309 296 129 10 26 220 172 316 178 61 228 151 130 205 90 34 297 168 69 109 182 112 292 299 83 192 46 269 263 159 149 19 117 63 143 274 67 292 201 260 147 104 313 126 56 163 200 123 225 16 90 230 262 258 232 21 57 39 264 296 31 147 300 278 216 219 35 75 50 197 13 78 225 237 267 185 41 302 95 197 71 220 270 139 223 3 144 288 273 191 228 28 135 295 253 265 172 95 1 106 130 107 267 29 36 212 291 6 196 293 19 142 275 8 209 239 280 131 23 291 162 161 64 142 14 150 254 141 236 268 126 277 21 155 221 309 198 306 284 124 264 75 173 192 242 234 34 3 21 253 44 35 140 262 62 227 250 213 167 30 50 99 150 33 4 281 170 82 55 124 141 40 263 36 114 109 280 294 18 201 39 289 149 215 82 153 306 186 301 219 133 257 95 99 248 175 9 183 126 179 198 110 279 34 101 163 298 265 270 237 46 8 86 204 51 294 214 206 89 133 61 130 9 85 303 134 256 154 182 210 115 25 304 108 143 53 209 18 103 176 244 247 299 304 10 1 8 307 62 6 73 258 69 305 147 202 136 171 277 119 297 266 211 154 84 68 70 83 29 11 67 71 24 305 49 60 91 269 2 22 194 280 33 160 246 260 245 286 39 68 12 260 24 109 84 289 247 38 127 55 222 283 85 205 311 211 252 226 113 12 39 166 154 305 245 25 181 113 233 216 121 212 30 148 241 195 254 239 59 313 28 233 118 298 167 128 192 144 92 308 101 65 156 220 49 281 268 224 100 66 57 137 87 22 292 103 78 102 202 38 29 232 177 22 129 68 168 265 74 272 275 204 174 10 124 43 217 218 134 158 12 137 308 199 247 201 162 5 59 52 210 278 20 214 304 271 178 282 46 106 228 249 312 250 311 309 75 271 15 287 136 269 100 164 239 182 308 297 70 246 64 240 196 195 156 97 14 52 112 96 15 312 29 134 35 17 227 152 71 122 128 94 2 47 47 145 287 13 274 190 8 111 97 235 229 67 194 59 215 205 188 216 23 70 25 206 285 98 151 293 240 230 66 253 142 177 185 164 18 5 34 199 26 24 207 226 15 189 313 224 198 208 102 79 3 119 76 89 256 56 40 165 213 69 207 5 157 234 255 180 295 32 88 217 316 276 203 273 93 86 302 193 20 116 122 226 236 7 268 3 242 111 318 93 184 125 238 281 72 259 10 222 185 262 160 50 295 155 123 127 153 45 9 27 121 89 35 238 85 107 169 166 31 310 16 188 53 307 160 148 118 200 25 83 290 188 314 165 115 246 162 63 241 97 112 194 157 38 250 90 132 120 213 290 65 279 255 278 118 37 30 173 94 60 189 92 47 243 110 58 176 146 105 254 43 94 223 224 2 243 12 235 131 244 149 117 259 108 45 230 164 76 187 79 101 261 109 ^'}}, {OUT=>'975DCE94902923977F129C0E4ACF40AD28DDB9AA'}], ['229', {IN=> {f=> '656 0 310 208 189 143 149 32 59 41 130 20 31 245 123 2 154 135 168 216 32 14 286 231 31 62 102 213 303 7 257 244 22 118 26 269 272 105 91 44 180 27 94 232 166 301 230 79 199 84 164 248 128 288 284 133 208 17 198 259 204 187 273 102 30 282 218 85 116 111 146 16 18 299 177 11 87 169 179 292 252 3 255 53 296 82 249 125 227 201 171 266 39 77 273 240 9 172 46 278 205 139 136 86 79 16 63 54 76 56 312 123 312 78 236 179 247 210 104 266 84 119 172 229 299 315 311 298 31 51 26 314 314 38 80 13 2 292 114 24 44 191 103 27 221 135 123 140 99 25 317 54 121 42 276 301 92 134 22 256 5 159 100 298 180 72 170 131 155 270 52 23 219 231 76 138 1 202 272 150 167 264 169 30 237 142 186 127 142 3 72 32 152 265 87 214 255 191 241 293 77 284 316 229 161 15 100 115 159 283 319 3 244 298 42 93 280 303 283 181 24 33 149 204 4 252 313 213 120 307 113 106 181 207 54 259 21 166 163 251 223 50 246 75 186 138 184 223 61 1 8 175 107 6 167 81 114 207 99 14 275 155 132 73 133 70 72 308 110 11 98 245 112 281 221 146 199 73 88 315 139 319 141 189 188 225 286 48 10 273 285 51 71 35 247 27 49 156 233 312 261 257 289 64 17 15 238 94 49 111 191 58 272 288 146 154 318 189 5 170 176 197 169 41 313 41 175 96 285 234 92 145 64 155 315 128 243 208 200 219 48 21 28 184 40 40 178 157 47 196 68 157 185 175 279 306 23 264 307 296 127 4 24 216 170 314 176 59 224 151 130 203 86 34 295 164 65 107 178 112 292 297 79 188 42 265 259 159 145 19 113 61 139 274 65 290 199 256 143 104 311 126 52 161 198 121 225 10 90 230 262 254 228 15 55 39 260 294 29 147 300 278 216 215 35 75 48 193 7 74 223 233 267 185 37 300 95 195 71 218 268 137 221 318 144 284 271 187 228 26 131 293 249 263 172 91 320 104 128 105 263 23 36 210 287 194 291 13 140 271 4 207 237 280 131 17 291 162 161 60 142 14 148 252 141 234 264 124 275 17 153 217 305 198 304 280 120 262 71 173 192 238 232 28 1 19 251 40 29 136 258 58 227 246 213 165 28 46 95 150 29 319 279 168 78 53 124 137 38 263 34 112 109 276 290 16 201 33 287 149 215 80 151 302 182 297 217 133 253 93 97 248 173 9 183 122 177 194 108 279 30 99 163 296 265 270 235 44 8 82 204 49 294 212 202 89 129 57 126 7 85 299 132 256 154 180 210 115 21 304 108 141 51 209 14 103 176 242 245 295 302 10 318 6 305 60 4 69 258 69 303 145 202 134 171 277 115 297 262 209 152 82 66 70 83 29 9 67 67 22 301 47 58 89 267 2 16 190 278 33 160 246 258 241 282 35 64 6 260 18 105 80 289 247 38 125 55 292 ^'}}, {OUT=>'333B0259B18CE64D6B52CF563DD3041E5F63A516'}], ); sub binary_expand ($$) { my ($test_name, $line) = @_; my ($n, $b, $rest) = split ' ', $line, 3; defined $n && defined $b or die "$test_name: too few args\n"; my @a = split ' ', $rest, $n + 1; my $caret = pop @a; $caret eq '^' or die "test $test_name: @a missing '^'\n"; $b eq '1' || $b eq '0' or die "test $test_name: bad 'b'=$b\n"; my $n_bad = @a; @a == $n or die "test $test_name: wrong number of args (expected $n, found $n_bad)\n"; my $bit_string = ''; foreach my $a (@a) { $bit_string .= $b x $a; $b = 1 - $b; } my $t = pack ("B*", $bit_string); # print "$bit_string\n $t\n"; return $t; } my $t; foreach $t (@Tests) { # Expand each input. my $in = $t->[1]->{IN}; $in->{f} = binary_expand $t->[0], $in->{f}; # Convert each expected output string to lower case, and append " f\n". my $h = $t->[2]; $h->{OUT} = lc $h->{OUT} . " f\n"; # Insert the '--text' argument for each test. splice @$t, 1, 0, '--text'; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sha1sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-fail-diag.sh�����������������������������������������������������0000775�0000000�0000000�00000002731�12102337340�016440� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure truncate gives reasonable diagnostics # Note open() checks for trailing '/' before checking for existence # open (".", O_CREAT & (O_WRONLY | O_RDWR), ...) -> EISDIR # open ("missing/", O_CREAT & (O_WRONLY | O_RDWR), ...) -> EISDIR # open ("missing/file", O_CREAT & (O_WRONLY | O_RDWR), ...) -> ENOENT # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate skip_if_root_ d1=no dir=$d1/such-dir truncate -s0 $dir > out 2>&1 && fail=1 cat <<EOF > exp truncate: cannot open '$dir' for writing: No such file or directory EOF compare exp out || fail=1 dir=$d1/ truncate -s0 $dir > out 2>&1 && fail=1 #The following can be returned at least #truncate: cannot open '$dir' for writing: Not a directory #truncate: cannot open '$dir' for writing: Is a directory Exit $fail ���������������������������������������coreutils-8.21/tests/misc/paste.pl������������������������������������������������������������������0000775�0000000�0000000�00000005132�12102337340�014113� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test paste. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'paste'; my $msg = "$prog: delimiter list ends with an unescaped backslash: "; my @Tests = ( # Ensure that paste properly handles files lacking a final newline. ['no-nl-1', {IN=>"a"}, {IN=>"b"}, {OUT=>"a\tb\n"}], ['no-nl-2', {IN=>"a\n"}, {IN=>"b"}, {OUT=>"a\tb\n"}], ['no-nl-3', {IN=>"a"}, {IN=>"b\n"}, {OUT=>"a\tb\n"}], ['no-nl-4', {IN=>"a\n"}, {IN=>"b\n"}, {OUT=>"a\tb\n"}], # Same as above, but with a two lines in each input file and # the addition of the -d option to make SPACE be the output delimiter. ['no-nla1', '-d" "', {IN=>"1\na"}, {IN=>"2\nb"}, {OUT=>"1 2\na b\n"}], ['no-nla2', '-d" "', {IN=>"1\na\n"}, {IN=>"2\nb"}, {OUT=>"1 2\na b\n"}], ['no-nla3', '-d" "', {IN=>"1\na"}, {IN=>"2\nb\n"}, {OUT=>"1 2\na b\n"}], ['no-nla4', '-d" "', {IN=>"1\na\n"}, {IN=>"2\nb\n"}, {OUT=>"1 2\na b\n"}], # Specifying a delimiter with a trailing backslash would overrun a # malloc'd buffer. ['delim-bs1', q!-d'\'!, {IN=>{'a'x50=>''}}, {EXIT => 1}, # We print a single backslash into the expected output, so need four # (two, each escaped) here. {ERR => $msg . q!\\\\! . "\n"} ], # Prior to coreutils-5.1.2, this sort of abuse would make paste # scribble on command-line arguments. With paste from coreutils-5.1.0, # this example would mangle the first file name argument, if it contains # accepted backslash-escapes: # $ paste -d\\ '123\b\b\b.....@' 2>&1 |cat -A # paste: 23^H^H^H.....@...@: No such file or directory$ ['delim-bs2', q!-d'\'!, {IN=>{'123\b\b\b.....@'=>''}}, {EXIT => 1}, {ERR => $msg . q!\\\\! . "\n"} ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-mount.sh�������������������������������������������������������������0000775�0000000�0000000�00000001617�12102337340�015115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test stat -c%m # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stat df_mnt=$(df -P . | sed -n '2s/.* \([^ ]*$\)/\1/p') stat_mnt=$(stat -c%m .) || fail=1 test "$stat_mnt" || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/xattr.sh������������������������������������������������������������������0000775�0000000�0000000�00000010625�12102337341�014144� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp --preserve=xattr, cp --preserve=all and mv preserve extended # attributes and install does not preserve extended attributes. # cp -a should preserve xattr, error diagnostics should not be displayed # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv ginstall # Skip this test if cp was built without xattr support: touch src dest || framework_failure_ cp --preserve=xattr -n src dest \ || skip_ "coreutils built without xattr support" # this code was taken from test mv/backup-is-src cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" b_other="$other_partition_tmpdir/b" rm -f "$b_other" || framework_failure_ # testing xattr name-value pair xattr_name="user.foo" xattr_value="bar" xattr_pair="$xattr_name=\"$xattr_value\"" # create new file and check its xattrs touch a || framework_failure_ getfattr -d a >out_a || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_a && framework_failure_ # try to set user xattr on file setfattr -n "$xattr_name" -v "$xattr_value" a >out_a \ || skip_ "failed to set xattr of file" getfattr -d a >out_a || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_a \ || skip_ "failed to set xattr of file" # cp should not preserve xattr by default cp a b || fail=1 getfattr -d b >out_b || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_b && fail=1 # test if --preserve=xattr option works cp --preserve=xattr a b || fail=1 getfattr -d b >out_b || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_b || fail=1 # test if --preserve=all option works cp --preserve=all a c || fail=1 getfattr -d c >out_c || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_c || fail=1 # cp's -a option must produce no diagnostics. cp -a a d 2>err && test -s err && fail=1 getfattr -d d >out_d || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_d || fail=1 # test if --preserve=xattr works even for files without write access chmod a-w a || framework_failure_ rm -f e cp --preserve=xattr a e || fail=1 getfattr -d e >out_e || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_e || fail=1 # Ensure that permission bits are preserved, too. src_perm=$(stat --format=%a a) dst_perm=$(stat --format=%a e) test "$dst_perm" = "$src_perm" || fail=1 chmod u+w a || framework_failure_ rm b || framework_failure_ # install should never preserve xattr ginstall a b || fail=1 getfattr -d b >out_b || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_b && fail=1 # mv should preserve xattr when renaming within a file system. # This is implicitly done by rename () and doesn't need explicit # xattr support in mv. mv a b || fail=1 getfattr -d b >out_b || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_b || cat >&2 <<EOF ================================================================= $0: WARNING!!! rename () does not preserve extended attributes ================================================================= EOF # try to set user xattr on file on other partition test_mv=1 touch "$b_other" || framework_failure_ setfattr -n "$xattr_name" -v "$xattr_value" "$b_other" >out_a \ || test_mv=0 getfattr -d "$b_other" >out_b || test_mv=0 grep -F "$xattr_pair" out_b || test_mv=0 rm -f "$b_other" || framework_failure_ if test $test_mv -eq 1; then # mv should preserve xattr when copying content from one partition to another mv b "$b_other" || fail=1 getfattr -d "$b_other" >out_b || skip_ "failed to get xattr of file" grep -F "$xattr_pair" out_b || fail=1 else cat >&2 <<EOF ================================================================= $0: WARNING!!! failed to set xattr of file $b_other ================================================================= EOF fi Exit $fail �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tr.pl���������������������������������������������������������������������0000775�0000000�0000000�00000016500�12102337340�013425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'tr'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $map_all_to_1 = "$prog: when translating with complemented character classes,\n" . "string2 must map all characters in the domain to one\n"; my @Tests = ( ['1', qw(abcd '[]*]'), {IN=>'abcd'}, {OUT=>']]]]'}], ['2', qw(abc '[%*]xyz'), {IN=>'abc'}, {OUT=>'xyz'}], ['3', qw('' '[.*]'), {IN=>'abc'}, {OUT=>'abc'}], # Test --truncate-set1 behavior when string1 is longer than string2 ['4', qw(-t abcd xy), {IN=>'abcde'}, {OUT=>'xycde'}], # Test bsd behavior (the default) when string1 is longer than string2 ['5', qw(abcd xy), {IN=>'abcde'}, {OUT=>'xyyye'}], # Do it the posix way ['6', qw(abcd 'x[y*]'), {IN=>'abcde'}, {OUT=>'xyyye'}], ['7', qw(-s a-p '%[.*]$'), {IN=>'abcdefghijklmnop'}, {OUT=>'%.$'}], ['8', qw(-s a-p '[.*]$'), {IN=>'abcdefghijklmnop'}, {OUT=>'.$'}], ['9', qw(-s a-p '%[.*]'), {IN=>'abcdefghijklmnop'}, {OUT=>'%.'}], ['a', qw(-s '[a-z]'), {IN=>'aabbcc'}, {OUT=>'abc'}], ['b', qw(-s '[a-c]'), {IN=>'aabbcc'}, {OUT=>'abc'}], ['c', qw(-s '[a-b]'), {IN=>'aabbcc'}, {OUT=>'abcc'}], ['d', qw(-s '[b-c]'), {IN=>'aabbcc'}, {OUT=>'aabc'}], ['e', qw(-s '[\0-\5]'), {IN=>"\0\0a\1\1b\2\2\2c\3\3\3d\4\4\4\4e\5\5"}, {OUT=>"\0a\1b\2c\3d\4e\5"}], # tests of delete ['f', qw(-d '[=[=]'), {IN=>'[[[[[[[]]]]]]]]'}, {OUT=>']]]]]]]]'}], ['g', qw(-d '[=]=]'), {IN=>'[[[[[[[]]]]]]]]'}, {OUT=>'[[[[[[['}], ['h', qw(-d '[:xdigit:]'), {IN=>'0123456789acbdefABCDEF'}, {OUT=>''}], ['i', qw(-d '[:xdigit:]'), {IN=>'w0x1y2z3456789acbdefABCDEFz'}, {OUT=>'wxyzz'}], ['j', qw(-d '[:digit:]'), {IN=>'0123456789'}, {OUT=>''}], ['k', qw(-d '[:digit:]'), {IN=>'a0b1c2d3e4f5g6h7i8j9k'}, {OUT=>'abcdefghijk'}], ['l', qw(-d '[:lower:]'), {IN=>'abcdefghijklmnopqrstuvwxyz'}, {OUT=>''}], ['m', qw(-d '[:upper:]'), {IN=>'ABCDEFGHIJKLMNOPQRSTUVWXYZ'}, {OUT=>''}], ['n', qw(-d '[:lower:][:upper:]'), {IN=>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'}, {OUT=>''}], ['o', qw(-d '[:alpha:]'), {IN=>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'}, {OUT=>''}], ['p', qw(-d '[:alnum:]'), {IN=>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'}, {OUT=>''}], ['q', qw(-d '[:alnum:]'), {IN=>'.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.'}, {OUT=>'..'}], ['r', qw(-ds '[:alnum:]' .), {IN=>'.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.'}, {OUT=>'.'}], # The classic example, with string2 BSD-style ['s', qw(-cs '[:alnum:]' '\n'), {IN=>'The big black fox jumped over the fence.'}, {OUT=>"The\nbig\nblack\nfox\njumped\nover\nthe\nfence\n"}], # The classic example, POSIX-style ['t', qw(-cs '[:alnum:]' '[\n*]'), {IN=>'The big black fox jumped over the fence.'}, {OUT=>"The\nbig\nblack\nfox\njumped\nover\nthe\nfence\n"}], ['u', qw(-ds b a), {IN=>'aabbaa'}, {OUT=>'a'}], ['v', qw(-ds '[:xdigit:]' Z), {IN=>'ZZ0123456789acbdefABCDEFZZ'}, {OUT=>'Z'}], # Try some data with 8th bit set in case something is mistakenly # sign-extended. ['w', qw(-ds '\350' '\345'), {IN=>"\300\301\377\345\345\350\345"}, {OUT=>"\300\301\377\345"}], ['x', qw(-s abcdefghijklmn '[:*016]'), {IN=>'abcdefghijklmnop'}, {OUT=>':op'}], ['y', qw(-d a-z), {IN=>'abc $code'}, {OUT=>' $'}], ['z', qw(-ds a-z '$.'), {IN=>'a.b.c $$$$code\\'}, {OUT=>'. $\\'}], # Make sure that a-a is accepted. ['range-a-a', qw(a-a z), {IN=>'abc'}, {OUT=>'zbc'}], # ['null', qw(a ''), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: when not truncating set1, string2 must be non-empty\n"}], ['upcase', qw('[:lower:]' '[:upper:]'), {IN=>'abcxyzABCXYZ'}, {OUT=>'ABCXYZABCXYZ'}], ['dncase', qw('[:upper:]' '[:lower:]'), {IN=>'abcxyzABCXYZ'}, {OUT=>'abcxyzabcxyz'}], # ['rep-cclass', qw('a[=*2][=c=]' xyyz), {IN=>'a=c'}, {OUT=>'xyz'}], ['rep-1', qw('[:*3][:digit:]' a-m), {IN=>':1239'}, {OUT=>'cefgm'}], ['rep-2', qw('a[b*512]c' '1[x*]2'), {IN=>'abc'}, {OUT=>'1x2'}], ['rep-3', qw('a[b*513]c' '1[x*]2'), {IN=>'abc'}, {OUT=>'1x2'}], # Another couple octal repeat count tests. ['o-rep-1', qw('[b*08]' '[x*]'), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: invalid repeat count '08' in [c*n] construct\n"}], ['o-rep-2', qw('[b*010]cd' '[a*7]BC[x*]'), {IN=>'bcd'}, {OUT=>'BCx'}], ['esc', qw('a\-z' A-Z), {IN=>'abc-z'}, {OUT=>'AbcBC'}], ['bs-055', qw('a\055b' def), {IN=>"a\055b"}, {OUT=>'def'}], ['bs-at-end', qw('\\' x), {IN=>"\\"}, {OUT=>'x'}, {ERR=>"$prog: warning: an unescaped backslash at end of " . "string is not portable\n"}], # # From Ross ['ross-0a', qw(-cs '[:upper:]' 'X[Y*]'), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$map_all_to_1}], ['ross-0b', qw(-cs '[:cntrl:]' 'X[Y*]'), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$map_all_to_1}], ['ross-1a', qw(-cs '[:upper:]' '[X*]'), {IN=>'AMZamz123.-+AMZ'}, {OUT=>'AMZXAMZ'}], ['ross-1b', qw(-cs '[:upper:][:digit:]' '[Z*]'), {IN=>''}, {OUT=>''}], ['ross-2', qw(-dcs '[:lower:]' n-rs-z), {IN=>'amzAMZ123.-+amz'}, {OUT=>'amzamz'}], ['ross-3', qw(-ds '[:xdigit:]' '[:alnum:]'), {IN=>'.ZABCDEFGzabcdefg.0123456788899.GG'}, {OUT=>'.ZGzg..G'}], ['ross-4', qw(-dcs '[:alnum:]' '[:digit:]'), {IN=>''}, {OUT=>''}], ['ross-5', qw(-dc '[:lower:]'), {IN=>''}, {OUT=>''}], ['ross-6', qw(-dc '[:upper:]'), {IN=>''}, {OUT=>''}], # Ensure that these fail. # Prior to 2.0.20, each would evoke a failed assertion. ['empty-eq', qw('[==]' x), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: missing equivalence class character '[==]'\n"}], ['empty-cc', qw('[::]' x), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: missing character class name '[::]'\n"}], # Weird repeat counts. ['repeat-bs-9', qw(abc '[b*\9]'), {IN=>'abcd'}, {OUT=>'[b*d'}], ['repeat-0', qw(abc '[b*0]'), {IN=>'abcd'}, {OUT=>'bbbd'}], ['repeat-zeros', qw(abc '[b*00000000000000000000]'), {IN=>'abcd'}, {OUT=>'bbbd'}], ['repeat-compl', qw(-c '[a*65536]\n' '[b*]'), {IN=>'abcd'}, {OUT=>'abbb'}], ['repeat-xC', qw(-C '[a*65536]\n' '[b*]'), {IN=>'abcd'}, {OUT=>'abbb'}], # From Glenn Fowler. ['fowler-1', qw(ah -H), {IN=>'aha'}, {OUT=>'-H-'}], # Up to coreutils-6.9, this would provoke a failed assertion. ['no-abort-1', qw(-c a '[b*256]'), {IN=>'abc'}, {OUT=>'abb'}], ); @Tests = triple_test \@Tests; # tr takes its input only from stdin, not from a file argument, so # remove the tests that provide file arguments and keep only the ones # generated by triple_test (identifiable by their .r and .p suffixes). @Tests = grep {$_->[0] =~ /\.[pr]$/} @Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/cat-proc.sh���������������������������������������������������������������0000775�0000000�0000000�00000002473�12102337340�014513� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cat -E produces same output as cat, module '$'s, # even when applied to a file in /proc. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cat f=/proc/cpuinfo test -f $f \ || skip_ "no $f" # Yes, parts of /proc/cpuinfo might change between cat runs. # If that happens, consider choosing a file that's less likely to change, # or just filter out the changing lines. The sed filter should help # to avoid any spurious numeric differences. cat -E $f | sed 's/[0-9][0-9]*/D/g' | tr -d '$' > out || fail=1 cat $f | sed 's/[0-9][0-9]*/D/g' | tr -d '$' > exp || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-stale-thread-mem.sh��������������������������������������������������0000775�0000000�0000000�00000003625�12102337340�017121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Trigger a bug that would cause 'sort' to reference stale thread stack memory. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # written by Jim Meyering and Paul Eggert . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort very_expensive_ require_valgrind_ grep '^#define HAVE_PTHREAD_T 1' "$CONFIG_HEADER" > /dev/null || skip_ 'requires pthreads' # gensort output seems to trigger the failure more often, # so prefer gensort if it is available. (gensort -a 10000 in) 2>/dev/null || seq -f %-98f 10000 | shuf > in || framework_failure_ # On Fedora-17-beta (valgrind-3.7.0-2.fc17.x86_64), this evokes two # "Conditional jump or move depends on uninitialised value(s)" errors, # each originating from _dl_start. valgrind --quiet --error-exitcode=3 sort --version > /dev/null || framework_failure_ 'valgrind fails for trivial sort invocation' # With the bug, 'sort' would fail under valgrind about half the time, # on some circa-2010 multicore Linux platforms. Run the test 100 times # so that the probability of missing the bug should be about 1 in # 2**100 on these hosts. for i in $(seq 100); do valgrind --quiet --error-exitcode=3 \ sort -S 100K --parallel=2 in > /dev/null || { fail=$?; echo iteration $i failed; Exit $fail; } done Exit $fail �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/xstrtol.pl����������������������������������������������������������������0000775�0000000�0000000�00000003133�12102337341�014516� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # exercise xstrtol's diagnostics via pr # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'pr'; my $too_big = '9' x 81; # Big enough to overflow a 256-bit integer. my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} ['inval-suffix', "--pages=${too_big}h", {EXIT => 1}, {ERR=>"$prog: invalid suffix in --pages argument '${too_big}h'\n"}], ['too-big', "--pages=$too_big", {EXIT => 1}, {ERR=>"$prog: --pages argument '$too_big' too large\n"}], ['simply-inval', "--pages=x", {EXIT => 1}, {ERR=>"$prog: invalid --pages argument 'x'\n"}], ['inv-pg-range', "--pages=9x", {EXIT => 1}, {ERR=>"$prog: invalid page range '9x'\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort.pl�������������������������������������������������������������������0000775�0000000�0000000�00000047355�12102337340�014003� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); my $prog = 'sort'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $mb_locale = $ENV{LOCALE_FR_UTF8}; ! defined $mb_locale || $mb_locale eq 'none' and $mb_locale = 'C'; # Since each test is run with a file name and with redirected stdin, # the name in the diagnostic is either the file name or "-". # Normalize each diagnostic to use '-'. my $normalize_filename = {ERR_SUBST => 's/^$prog: .*?:/$prog: -:/'}; my $no_file = "$prog: cannot read: no-file: No such file or directory\n"; my @Tests = ( ["n1", '-n', {IN=>".01\n0\n"}, {OUT=>"0\n.01\n"}], ["n2", '-n', {IN=>".02\n.01\n"}, {OUT=>".01\n.02\n"}], ["n3", '-n', {IN=>".02\n.00\n"}, {OUT=>".00\n.02\n"}], ["n4", '-n', {IN=>".02\n.000\n"}, {OUT=>".000\n.02\n"}], ["n5", '-n', {IN=>".021\n.029\n"}, {OUT=>".021\n.029\n"}], ["n6", '-n', {IN=>".02\n.0*\n"}, {OUT=>".0*\n.02\n"}], ["n7", '-n', {IN=>".02\n.*\n"}, {OUT=>".*\n.02\n"}], ["n8a", '-s -n -k1,1', {IN=>".0a\n.0b\n"}, {OUT=>".0a\n.0b\n"}], ["n8b", '-s -n -k1,1', {IN=>".0b\n.0a\n"}, {OUT=>".0b\n.0a\n"}], ["n9a", '-s -n -k1,1', {IN=>".000a\n.000b\n"}, {OUT=>".000a\n.000b\n"}], ["n9b", '-s -n -k1,1', {IN=>".000b\n.000a\n"}, {OUT=>".000b\n.000a\n"}], ["n10a", '-s -n -k1,1', {IN=>".00a\n.000b\n"}, {OUT=>".00a\n.000b\n"}], ["n10b", '-s -n -k1,1', {IN=>".00b\n.000a\n"}, {OUT=>".00b\n.000a\n"}], ["n11a", '-s -n -k1,1', {IN=>".01a\n.010\n"}, {OUT=>".01a\n.010\n"}], ["n11b", '-s -n -k1,1', {IN=>".010\n.01a\n"}, {OUT=>".010\n.01a\n"}], # human readable suffixes ["h1", '-h', {IN=>"1Y\n1Z\n1E\n1P\n1T\n1G\n1M\n1K\n02\n1\nY\n-1k\n-1M\n-1G\n-1T\n" . "-1P\n-1E\n-1Z\n-1Y\n"}, {OUT=>"-1Y\n-1Z\n-1E\n-1P\n-1T\n-1G\n-1M\n-1k\nY\n1\n02\n1K\n1M\n1G\n1T\n" . "1P\n1E\n1Z\n1Y\n"}], ["h2", '-h', {IN=>"1M\n-2G\n-3K"}, {OUT=>"-2G\n-3K\n1M\n"}], # check that it works with powers of 1024 ["h3", '-k 2,2h -k 1,1', {IN=>"a 1G\nb 1023M\n"}, {OUT=>"b 1023M\na 1G\n"}], # decimal at end => allowed ["h4", '-h', {IN=>"1.E\n2.M\n"}, {OUT=>"2.M\n1.E\n"}], # double decimal => ignore suffix ["h5", '-h', {IN=>"1..2E\n2..2M\n"}, {OUT=>"1..2E\n2..2M\n"}], # "M" sorts before "G" regardless of the positive number attached. ["h6", '-h', {IN=>"1GiB\n1030MiB\n"}, {OUT=>"1030MiB\n1GiB\n"}], # check option incompatibility ["h7", '-hn', {IN=>""}, {OUT=>""}, {EXIT=>2}, {ERR=>"$prog: options '-hn' are incompatible\n"}], # check key processing ["h8", '-n -k2,2h', {IN=>"1 1E\n2 2M\n"}, {OUT=>"2 2M\n1 1E\n"}], # SI and IEC prefixes on separate keys allowed ["h9", '-h -k1,1 -k2,2', {IN=>"1M 1Mi\n1M 1Mi\n"}, {OUT=>"1M 1Mi\n1M 1Mi\n"}], # This invalid SI and IEC prefix mixture is not significant so not noticed ["h10", '-h -k1,1 -k2,2', {IN=>"1M 2M\n2M 1Mi\n"}, {OUT=>"1M 2M\n2M 1Mi\n"}], ["01a", '', {IN=>"A\nB\nC\n"}, {OUT=>"A\nB\nC\n"}], # ["02a", '-c', {IN=>"A\nB\nC\n"}, {OUT=>''}], ["02b", '-c', {IN=>"A\nC\nB\n"}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: -:3: disorder: B\n"}, $normalize_filename], ["02c", '-c -k1,1', {IN=>"a\na b\n"}, {OUT=>''}], ["02d", '-C', {IN=>"A\nB\nC\n"}, {OUT=>''}], ["02e", '-C', {IN=>"A\nC\nB\n"}, {OUT=>''}, {EXIT=>1}], # This should fail because there are duplicate keys ["02m", '-cu', {IN=>"A\nA\n"}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: -:2: disorder: A\n"}, $normalize_filename], ["02n", '-cu', {IN=>"A\nB\n"}, {OUT=>''}], ["02o", '-cu', {IN=>"A\nB\nB\n"}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: -:3: disorder: B\n"}, $normalize_filename], ["02p", '-cu', {IN=>"B\nA\nB\n"}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: -:2: disorder: A\n"}, $normalize_filename], ["02q", '-c -k 1,1fR', {IN=>"ABC\nABc\nAbC\nAbc\naBC\naBc\nabC\nabc\n"}], ["02r", '-c -k 1,1fV', {IN=>"ABC\nABc\nAbC\nAbc\naBC\naBc\nabC\nabc\n"}], ["02s", '-c -k 1,1dfR', {IN=>".ABC\n.ABc.\nA.bC\nA.bc.\naB.C\naB.c.\nabC.\nabc..\n"}], # ["03a", '-k1', {IN=>"B\nA\n"}, {OUT=>"A\nB\n"}], ["03b", '-k1,1', {IN=>"B\nA\n"}, {OUT=>"A\nB\n"}], ["03c", '-k1 -k2', {IN=>"A b\nA a\n"}, {OUT=>"A a\nA b\n"}], # Fail with a diagnostic when -k specifies field == 0. ["03d", '-k0', {EXIT=>2}, {ERR=>"$prog: -: invalid field specification '0'\n"}, $normalize_filename], # Fail with a diagnostic when -k specifies character == 0. ["03e", '-k1.0', {EXIT=>2}, {ERR=>"$prog: character offset is zero: invalid field specification '1.0'\n"}], ["03f", '-k1.1,-k0', {EXIT=>2}, {ERR=>"$prog: invalid number after ',': invalid count at start of '-k0'\n"}], # This is ok. ["03g", '-k1.1,1.0', {IN=>''}], # This is equivalent to 3f. ["03h", '-k1.1,1', {IN=>''}], # This too, is equivalent to 3f. ["03i", '-k1,1', {IN=>''}], # ["04a", '-nc', {IN=>"2\n11\n"}], ["04b", '-n', {IN=>"11\n2\n"}, {OUT=>"2\n11\n"}], ["04c", '-k1n', {IN=>"11\n2\n"}, {OUT=>"2\n11\n"}], ["04d", '-k1', {IN=>"11\n2\n"}, {OUT=>"11\n2\n"}], ["04e", '-k2', {IN=>"ignored B\nz-ig A\n"}, {OUT=>"z-ig A\nignored B\n"}], # ["05a", '-k1,2', {IN=>"A B\nA A\n"}, {OUT=>"A A\nA B\n"}], ["05b", '-k1,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["05c", '-k1 -k2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["05d", '-k2,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["05e", '-k2,2', {IN=>"A B Z\nA A A\n"}, {OUT=>"A A A\nA B Z\n"}], ["05f", '-k2,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], # ["06a", '-k 1,2', {IN=>"A B\nA A\n"}, {OUT=>"A A\nA B\n"}], ["06b", '-k 1,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["06c", '-k 1 -k 2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["06d", '-k 2,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], ["06e", '-k 2,2', {IN=>"A B Z\nA A A\n"}, {OUT=>"A A A\nA B Z\n"}], ["06f", '-k 2,2', {IN=>"A B A\nA A Z\n"}, {OUT=>"A A Z\nA B A\n"}], # ["07a", '-k 2,3', {IN=>"9 a b\n7 a a\n"}, {OUT=>"7 a a\n9 a b\n"}], ["07b", '-k 2,3', {IN=>"a a b\nz a a\n"}, {OUT=>"z a a\na a b\n"}], ["07c", '-k 2,3', {IN=>"y k b\nz k a\n"}, {OUT=>"z k a\ny k b\n"}], ["07d", '+1 -3', {IN=>"y k b\nz k a\n"}, {OUT=>"z k a\ny k b\n"}], # ensure a character position of 0 includes whole field ["07e", '-k 2,3.0', {IN=>"a a b\nz a a\n"}, {OUT=>"z a a\na a b\n"}], # ensure fields with end position before start are ignored ["07f", '-n -k1.3,1.1', {IN=>"a 2\nb 1\n"}, {OUT=>"a 2\nb 1\n"}], ["07g", '-n -k2.2,1.2', {IN=>"aa 2\nbb 1\n"}, {OUT=>"aa 2\nbb 1\n"}], ["07h", '-k1.3nb,1.3', {IN=>" a 2\n b 1\n"}, {OUT=>" a 2\n b 1\n"}], # ensure obsolescent key limits are handled correctly ["07i", '-s +0 -1', {IN=>"a c\na b\n"}, {OUT=>"a c\na b\n"}], ["07j", '-s +0 -1.0', {IN=>"a c\na b\n"}, {OUT=>"a c\na b\n"}], ["07k", '-s +0 -1.1', {IN=>"a c\na b\n"}, {OUT=>"a c\na b\n"}], ["07l", '-s +0 -1.2', {IN=>"a c\na b\n"}, {OUT=>"a b\na c\n"}], ["07m", '-s +0 -1.1b', {IN=>"a c\na b\n"}, {OUT=>"a b\na c\n"}], # # report an error for '.' without following char spec ["08a", '-k 2.,3', {EXIT=>2}, {ERR=>"$prog: invalid number after '.': invalid count at start of ',3'\n"}], # report an error for ',' without following POS2 ["08b", '-k 2,', {EXIT=>2}, {ERR=>"$prog: invalid number after ',': invalid count at start of ''\n"}], # # Test new -g option. ["09a", '-g', {IN=>"1e2\n2e1\n"}, {OUT=>"2e1\n1e2\n"}], # Make sure -n works how we expect. ["09b", '-n', {IN=>"1e2\n2e1\n"}, {OUT=>"1e2\n2e1\n"}], ["09c", '-n', {IN=>"2e1\n1e2\n"}, {OUT=>"1e2\n2e1\n"}], ["09d", '-k2g', {IN=>"a 1e2\nb 2e1\n"}, {OUT=>"b 2e1\na 1e2\n"}], # # Bug reported by Roger Peel <R.Peel@ee.surrey.ac.uk> ["10a", '-t : -k 2.2,2.2', {IN=>":ba\n:ab\n"}, {OUT=>":ba\n:ab\n"}], # Equivalent to above, but using obsolescent '+pos -pos' option syntax. ["10b", '-t : +1.1 -1.2', {IN=>":ba\n:ab\n"}, {OUT=>":ba\n:ab\n"}], # # The same as the preceding two, but with input lines reversed. ["10c", '-t : -k 2.2,2.2', {IN=>":ab\n:ba\n"}, {OUT=>":ba\n:ab\n"}], # Equivalent to above, but using obsolescent '+pos -pos' option syntax. ["10d", '-t : +1.1 -1.2', {IN=>":ab\n:ba\n"}, {OUT=>":ba\n:ab\n"}], # Try without -t... # But note that we have to count the delimiting space at the beginning # of each field that has it. ["10a0", '-k 2.3,2.3', {IN=>"z ba\nz ab\n"}, {OUT=>"z ba\nz ab\n"}], ["10a1", '-k 1.2,1.2', {IN=>"ba\nab\n"}, {OUT=>"ba\nab\n"}], ["10a2", '-b -k 2.2,2.2', {IN=>"z ba\nz ab\n"}, {OUT=>"z ba\nz ab\n"}], # # An even simpler example demonstrating the bug. ["10e", '-k 1.2,1.2', {IN=>"ab\nba\n"}, {OUT=>"ba\nab\n"}], # # The way sort works on these inputs (10f and 10g) seems wrong to me. # See http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=3c467c0d223 # POSIX doesn't seem to say one way or the other, but that's the way all # other sort implementations work. ["10f", '-t : -k 1.3,1.3', {IN=>":ab\n:ba\n"}, {OUT=>":ba\n:ab\n"}], ["10g", '-k 1.4,1.4', {IN=>"a ab\nb ba\n"}, {OUT=>"b ba\na ab\n"}], # # Exercise bug re using -b to skip trailing blanks. ["11a", '-t: -k1,1b -k2,2', {IN=>"a\t:a\na :b\n"}, {OUT=>"a\t:a\na :b\n"}], ["11b", '-t: -k1,1b -k2,2', {IN=>"a :b\na\t:a\n"}, {OUT=>"a\t:a\na :b\n"}], ["11c", '-t: -k2,2b -k3,3', {IN=>"z:a\t:a\na :b\n"}, {OUT=>"z:a\t:a\na :b\n"}], # Before 1.22m, the first key comparison reported equality. # With 1.22m, they compare different: "a" sorts before "a\n", # and the second key spec isn't even used. ["11d", '-t: -k2,2b -k3,3', {IN=>"z:a :b\na\t:a\n"}, {OUT=>"a\t:a\nz:a :b\n"}], # # Exercise bug re comparing '-' and integers. ["12a", '-n -t: +1', {IN=>"a:1\nb:-\n"}, {OUT=>"b:-\na:1\n"}], ["12b", '-n -t: +1', {IN=>"b:-\na:1\n"}, {OUT=>"b:-\na:1\n"}], # Try some other (e.g. 'X') invalid character. ["12c", '-n -t: +1', {IN=>"a:1\nb:X\n"}, {OUT=>"b:X\na:1\n"}], ["12d", '-n -t: +1', {IN=>"b:X\na:1\n"}, {OUT=>"b:X\na:1\n"}], # From Karl Heuer ["13a", '+0.1n', {IN=>"axx\nb-1\n"}, {OUT=>"b-1\naxx\n"}], ["13b", '+0.1n', {IN=>"b-1\naxx\n"}, {OUT=>"b-1\naxx\n"}], # # From Carl Johnson <carlj@cjlinux.home.org> ["14a", '-d -u', {IN=>"mal\nmal-\nmala\n"}, {OUT=>"mal\nmala\n"}], # Be sure to fix the (translate && ignore) case in keycompare. ["14b", '-f -d -u', {IN=>"mal\nmal-\nmala\n"}, {OUT=>"mal\nmala\n"}], # # Experiment with -i. ["15a", '-i -u', {IN=>"a\na\1\n"}, {OUT=>"a\n"}], ["15b", '-i -u', {IN=>"a\n\1a\n"}, {OUT=>"a\n"}], ["15c", '-i -u', {IN=>"a\1\na\n"}, {OUT=>"a\1\n"}], ["15d", '-i -u', {IN=>"\1a\na\n"}, {OUT=>"\1a\n"}], ["15e", '-i -u', {IN=>"a\n\1\1\1\1\1a\1\1\1\1\n"}, {OUT=>"a\n"}], # This would fail (printing only the 7) for 8.6..8.18. # Use --parallel=1 for reproducibility, and a small buffer size # to let us trigger the problem with a smaller input. ["unique-1", '--p=1 -S32b -u', {IN=>"7\n"x11 . "1\n"}, {OUT=>"1\n7\n"}], # Demonstrate that 8.19's key-spec-adjusting code is required. # These are more finicky in that they are arch-dependent. ["unique-key-i686", '-u -k2,2 --p=1 -S32b', {IN=>"a 7\n"x10 . "b 1\n"}, {OUT=>"b 1\na 7\n"}], ["unique-key-x86_64", '-u -k2,2 --p=1 -S32b', {IN=>"a 7\n"x11 . "b 1\n"}, {OUT=>"b 1\na 7\n"}], # Before 8.19, this would trigger a free-memory read. ["unique-free-mem-read", '-u --p=1 -S32b', {IN=>"a\n"."b"x900 ."\n"}, {OUT=>"a\n"."b"x900 ."\n"}], # From Erick Branderhorst -- fixed around 1.19e ["16a", '-f', {IN=>"éminence\nüberhaupt\n's-Gravenhage\naëroclub\nAag\naagtappels\n"}, {OUT=>"'s-Gravenhage\nAag\naagtappels\naëroclub\néminence\nüberhaupt\n"}], # This provokes a one-byte memory overrun of a malloc'd block for versions # of sort from textutils-1.19p and before. ["17", '-c', {IN=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"}], # POSIX says -n no longer implies -b, so here we're comparing ' 9' and '10'. ["18a", '-k1.1,1.2n', {IN=>" 901\n100\n"}, {OUT=>" 901\n100\n"}], # Just like above, because the global '-b' has no effect on the # key specifier when a key-specific option ('n' in this case) is used. ["18b", '-b -k1.1,1.2n', {IN=>" 901\n100\n"}, {OUT=>" 901\n100\n"}], # Here we're comparing ' 90' and '10', because the 'b' on the key-end specifier # makes sort ignore leading blanks when determining that key's *end*. ["18c", '-k1.1,1.2nb', {IN=>" 901\n100\n"}, {OUT=>"100\n 901\n"}], # Here we're comparing '9' and '10', because the 'b' on the key-start specifier # makes sort ignore leading blanks when determining that key's *start*. ["18d", '-k1.1b,1.2n', {IN=>" 901\n100\n"}, {OUT=>" 901\n100\n"}], # This compares '90' and '10', as it ignores leading blanks for both # key start and key end. ["18e", '-nb -k1.1,1.2', {IN=>" 901\n100\n"}, {OUT=>"100\n 901\n"}], # When ignoring leading blanks for end position, ensure blanks from # next field are not included in the sort. I.E. order should not change here. ["18f", '-k1,1b', {IN=>"a y\na z\n"}, {OUT=>"a y\na z\n"}], # When ignoring leading blanks for start position, ensure blanks from # next field are not included in the sort. I.E. order should not change here. # This was noticed as an issue on fedora 8 (only in multibyte locales). ["18g", '-k1b,1', {IN=>"a y\na z\n"}, {OUT=>"a y\na z\n"}, {ENV => "LC_ALL=$mb_locale"}], # This looks odd, but works properly -- 2nd keyspec is never # used because all lines are different. ["19a", '+0 +1nr', {IN=>"b 2\nb 1\nb 3\n"}, {OUT=>"b 1\nb 2\nb 3\n"}], # The test *intended* by the author of the above, but using the # more-intuitive POSIX-style -k options. ["19b", '-k1,1 -k2nr', {IN=>"b 2\nb 1\nb 3\n"}, {OUT=>"b 3\nb 2\nb 1\n"}], # This test failed when sort-1.22 was compiled on a Next x86 system # without optimization. Without optimization gcc uses the buggy version # of memcmp in the Next C library. With optimization, gcc uses its # (working) builtin version. Test case form William Lewis. ["20a", '', {IN=>"_________U__free\n_________U__malloc\n_________U__abort\n" . "_________U__memcpy\n_________U__memset\n" . "_________U_dyld_stub_binding_helper\n_________U__malloc\n" . "_________U___iob\n_________U__abort\n_________U__fprintf\n"}, {OUT=>"_________U___iob\n_________U__abort\n_________U__abort\n" . "_________U__fprintf\n_________U__free\n_________U__malloc\n" . "_________U__malloc\n_________U__memcpy\n_________U__memset\n" . "_________U_dyld_stub_binding_helper\n"}], # Demonstrate that folding changes the ordering of e.g. A, a, and _ # because while they normally (in the C locale) collate like A, _, a, # when using -f, 'a' is compared as if it were 'A'. ["21a", '', {IN=>"A\na\n_\n"}, {OUT=>"A\n_\na\n"}], ["21b", '-f', {IN=>"A\na\n_\n"}, {OUT=>"A\na\n_\n"}], ["21c", '-f', {IN=>"a\nA\n_\n"}, {OUT=>"A\na\n_\n"}], ["21d", '-f', {IN=>"_\na\nA\n"}, {OUT=>"A\na\n_\n"}], ["21e", '-f', {IN=>"a\n_\nA\n"}, {OUT=>"A\na\n_\n"}], ["21f", '-fs', {IN=>"A\na\n_\n"}, {OUT=>"A\na\n_\n"}], ["21g", '-fu', {IN=>"a\n_\n"}, {OUT=>"a\n_\n"}], # This test failed until 1.22f. From Zvi Har'El. ["22a", '-k 2,2fd -k 1,1r', {IN=>"3 b\n4 B\n"}, {OUT=>"4 B\n3 b\n"}], ["22b", '-k 2,2d -k 1,1r', {IN=>"3 b\n4 b\n"}, {OUT=>"4 b\n3 b\n"}], ["no-file1", 'no-file', {EXIT=>2}, {ERR=>$no_file}], # This test failed until 1.22f. Sort didn't give an error. # From Will Edgington. ["o-no-file1", qw(-o no-file no-file), {EXIT=>2}, {ERR=>$no_file}], ["create-empty", qw(-o no/such/file /dev/null), {EXIT=>2}, {ERR=>"$prog: open failed: no/such/file: No such file or directory\n"}], # From Paul Eggert. This was fixed in textutils-1.22k. ["neg-nls", '-n', {IN=>"-1\n-9\n"}, {OUT=>"-9\n-1\n"}], # From Paul Eggert. This was fixed in textutils-1.22m. # The bug was visible only when using the internationalized sorting code # (i.e., not when configured with --disable-nls). ["nul-nls", '', {IN=>"\0b\n\0a\n"}, {OUT=>"\0a\n\0b\n"}], # Paul Eggert wrote: # A previous version of POSIX incorrectly required that the newline # at the end of the input line contributed to the sort, which would # mean that an empty line should sort after a line starting with a tab # (because \t precedes \n in the ASCII collating sequence). # GNU 'sort' was altered to do this, but was changed back once it # was discovered to be a POSIX bug (and the POSIX bug was fixed). # Check that 'sort' conforms to the fixed POSIX, not to the buggy one. ["use-nl", '', {IN=>"\n\t\n"}, {OUT=>"\n\t\n"}], # Specifying two -o options should evoke a failure ["o2", qw(-o x -o y), {EXIT=>2}, {ERR=>"foo\n"}, {ERR_SUBST => 's/^$prog: .*/foo/'}], # Specifying incompatible options should evoke a failure. ["incompat1", '-in', {EXIT=>2}, {ERR=>"$prog: options '-in' are incompatible\n"}], ["incompat2", '-nR', {EXIT=>2}, {ERR=>"$prog: options '-nR' are incompatible\n"}], ["incompat3", '-dfgiMnR', {EXIT=>2}, {ERR=>"$prog: options '-dfgMnR' are incompatible\n"}], ["incompat4", qw(-c -o /dev/null), {EXIT=>2}, {ERR=>"$prog: options '-co' are incompatible\n"}], ["incompat5", qw(-C -o /dev/null), {EXIT=>2}, {ERR=>"$prog: options '-Co' are incompatible\n"}], ["incompat6", '-cC', {EXIT=>2}, {ERR=>"$prog: options '-cC' are incompatible\n"}], ["incompat7", qw(--sort=random -n), {EXIT=>2}, {ERR=>"$prog: options '-nR' are incompatible\n"}], # -t '\0' is accepted, as of coreutils-5.0.91 ['nul-tab', "-k2,2 -t '\\0'", {IN=>"a\0z\01\nb\0y\02\n"}, {OUT=>"b\0y\02\na\0z\01\n"}], # fields > SIZE_MAX are silently interpreted as SIZE_MAX ["bigfield1", "-k $limits->{UINTMAX_OFLOW}", {IN=>"2\n1\n"}, {OUT=>"1\n2\n"}], ["bigfield2", "-k $limits->{SIZE_OFLOW}", {IN=>"2\n1\n"}, {OUT=>"1\n2\n"}], # Using an old-style key-specifying option like +1 with an invalid # ordering-option character would cause sort to try to free an invalid # (non-malloc'd) pointer. This bug affects coreutils-6.5 through 6.9. ['obs-inval', '+1x', {EXIT=>2}, {ERR=>"foo\n"}, {ERR_SUBST => 's/^$prog: .*/foo/'}], # Exercise the code that enlarges the line buffer. See the thread here: # http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11006 ['realloc-buf', '-S1', {IN=>'a'x4000 ."\n"}, {OUT=>'a'x4000 ."\n"}], ['realloc-buf-2', '-S1', {IN=>'a'x5 ."\n"}, {OUT=>'a'x5 ."\n"}], ["sort-numeric", '--sort=numeric', {IN=>".01\n0\n"}, {OUT=>"0\n.01\n"}], ["sort-gennum", '--sort=general-numeric', {IN=>"1e2\n2e1\n"}, {OUT=>"2e1\n1e2\n"}], # -m with output file also used as an input file # In coreutils-7.2, this caused a segfault. # This test looks a little strange. Here's why: # since we're using "-o f", standard output will be empty, hence OUT=>'' # We still want to ensure that the output file, "f" has expected contents, # hence the added CMP=> directive. ["output-is-input", '-m -o f', {IN=> {f=> "a\n"}}, {OUT=>''}, {CMP=> ["a\n", {'f'=> undef}]} ], ["output-is-input-2", '-m -o f', {OUT=>''}, {IN=> {f=> "a\n"}}, {IN=> {g=> "b\n"}}, {IN=> {h=> "c\n"}}, {CMP=> ["a\nb\nc\n", {'f'=> undef}]} ], ["output-is-input-3", '-m -o f', {OUT=>''}, {IN=> {g=> "a\n"}}, {IN=> {h=> "b\n"}}, {IN=> {f=> "c\n"}}, {CMP=> ["a\nb\nc\n", {'f'=> undef}]} ], ); # Add _POSIX2_VERSION=199209 to the environment of each test # that uses an old-style option like +1. foreach my $t (@Tests) { foreach my $e (@$t) { !ref $e && $e =~ /\+\d/ and push (@$t, {ENV=>'_POSIX2_VERSION=199209'}), last; } } @Tests = triple_test \@Tests; # Remember that triple_test creates from each test with exactly one "IN" # file two more tests (.p and .r suffix on name) corresponding to reading # input from a file and from a pipe. The pipe-reading test would fail # due to a race condition about 1 in 20 times. # Remove the IN_PIPE version of the "output-is-input" test above. # The others aren't susceptible because they have three inputs each. @Tests = grep {$_->[0] ne 'output-is-input.p'} @Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/timeout-group.sh����������������������������������������������������������0000775�0000000�0000000�00000005403�12102337340�015617� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test program group handling # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ timeout # construct a program group hierarchy as follows: # timeout-group - foreground group # group.sh - separate group # timeout.cmd - same group as group.sh # # We then send a SIGINT to the "separate group" # to simulate what happens when a Ctrl-C # is sent to the foreground group. setsid true || skip_ "setsid required to control groups" cat > timeout.cmd <<\EOF #!/bin/sh trap 'touch int.received; exit' INT touch timeout.running count=$1 until test -e int.received || test $count = 0; do sleep 1 count=$(expr $count - 1) done EOF chmod a+x timeout.cmd cat > group.sh <<\EOF #!/bin/sh trap '' INT timeout --foreground 25 ./timeout.cmd 20& wait EOF chmod a+x group.sh check_timeout_cmd_running() { local delay="$1" test -e timeout.running || { sleep $delay; return 1; } } # Start above script in its own group. # We could use timeout for this, but that assumes an implementation. setsid ./group.sh & # Wait 6.3s for timeout.cmd to start retry_delay_ check_timeout_cmd_running .1 6 || fail=1 # Simulate a Ctrl-C to the group to test timely exit # Note dash doesn't support signalling groups (a leading -) env kill -INT -- -$! wait test -e int.received || fail=1 rm -f int.received timeout.running # Ensure cascaded timeouts work # or more generally, ensure we timeout # commands that create their own group # This didn't work before 8.13. start=$(date +%s) # Note the first timeout must send a signal that # the second is handling for it to be propagated to the command. # SIGINT, SIGTERM, SIGALRM etc. are implicit. timeout -sALRM 30 timeout -sINT 25 ./timeout.cmd 20& pid=$! # Wait 6.3s for timeout.cmd to start retry_delay_ check_timeout_cmd_running .1 6 || fail=1 kill -ALRM $pid # trigger the alarm of the first timeout command wait $pid ret=$? test $ret -eq 124 || skip_ "timeout returned $ret. SIGALRM not handled?" test -e int.received || fail=1 end=$(date +%s) test $(expr $end - $start) -lt 20 || skip_ "timeout.cmd didn't receive a signal until after sleep?" Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/head-pos.sh���������������������������������������������������������������0000775�0000000�0000000�00000003113�12102337340�014473� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # When reading a specified number of lines, ensure that the output # file pointer is positioned just after those lines. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ head (echo a; echo b) > in || framework_failure_ echo b > exp || framework_failure_ for i in -1 1; do (head -n $i >/dev/null; cat) < in > out || fail=1 compare exp out || fail=1 done # Exercise the (start_pos < pos) block in elide_tail_lines_seekable. # So far, this is the only test to do that. # Do that by creating a file larger than BUFSIZ (I've seen 128K) and # elide a suffix of it (by line count) that is also larger than BUFSIZ. # 50000 lines times 6 bytes per line gives us enough leeway even on a # system with a BUFSIZ of 256K. n_lines=50000 seq 70000 > in2 || framework_failure_ echo $n_lines > exp-n || framework_failure_ (head -n-$n_lines>/dev/null; wc -l) < in2 > n compare exp-n n || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tr-case-class.sh����������������������������������������������������������0000775�0000000�0000000�00000010135�12102337340�015436� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test case conversion classes # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tr # Ensure we support translation of case classes with extension echo '01234567899999999999999999' > exp echo 'abcdefghijklmnopqrstuvwxyz' | tr '[:lower:]' '0-9' > out || fail=1 compare exp out || fail=1 echo 'abcdefghijklmnopqrstuvwxyz' | tr '[:lower:][:lower:]' '[:upper:]0-9' > out || fail=1 compare exp out || fail=1 # Validate the alignment of case classes tr 'A-Z[:lower:]' 'a-y[:upper:]' < /dev/null && fail=1 tr '[:upper:][:lower:]' 'a-y[:upper:]' < /dev/null && fail=1 tr 'A-Y[:lower:]' 'a-z[:upper:]' < /dev/null && fail=1 tr 'A-Z[:lower:]' '[:lower:][:upper:]' < /dev/null && fail=1 tr 'A-Z[:lower:]' '[:lower:]A-Z' < /dev/null && fail=1 tr '[:upper:][:lower:]' 'a-z[:upper:]' < /dev/null || fail=1 tr '[:upper:][:lower:]' '[:upper:]a-z' < /dev/null || fail=1 # Before coreutils 8.6 the trailing space in string1 # caused the case class in string2 to be extended. # However that was not portable, dependent on locale # and in contravention of POSIX. tr '[:upper:] ' '[:lower:]' < /dev/null 2>out && fail=1 echo 'tr: when translating with string1 longer than string2, the latter string must not end with a character class' > exp compare exp out || fail=1 # Up to coreutils-6.9, tr rejected an unmatched [:lower:] or [:upper:] in SET1. echo '#$%123abcABC' | tr '[:lower:]' '[.*]' > out || fail=1 echo '#$%123...ABC' > exp compare exp out || fail=1 echo '#$%123abcABC' | tr '[:upper:]' '[.*]' > out || fail=1 echo '#$%123abc...' > exp compare exp out || fail=1 # When doing a case-converting translation with something after the # [:upper:] and [:lower:] elements, ensure that tr honors the following byte. echo 'abc.' | tr '[:lower:].' '[:upper:]x' > out || fail=1 echo 'ABCx' > exp compare exp out || fail=1 # Before coreutils 8.6 the disparate number of upper and lower # characters in some locales, triggered abort()s and invalid behavior export LC_ALL=en_US.ISO-8859-1 if test "$(locale charmap 2>/dev/null)" = ISO-8859-1; then # Up to coreutils-6.9.91, this would fail with the diagnostic: # tr: misaligned [:upper:] and/or [:lower:] construct # with LC_CTYPE=en_US.ISO-8859-1. tr '[:upper:]' '[:lower:]' < /dev/null || fail=1 tr '[:upper:] ' '[:lower:]' < /dev/null 2>out && fail=1 echo 'tr: when translating with string1 longer than string2, the latter string must not end with a character class' > exp compare exp out || fail=1 # Ensure when there are a different number of elements # in each string, we validate the case mapping correctly echo 'abc.xyz' | tr 'ab[:lower:]' '0-1[:upper:]' > out || fail=1 echo 'ABC.XYZ' > exp compare exp out || fail=1 # Ensure we extend string2 appropriately echo 'ABC- XYZ' | tr '[:upper:]- ' '[:lower:]_' > out || fail=1 echo 'abc__xyz' > exp compare exp out || fail=1 # Ensure the size of the case classes are accounted # for as a unit. echo 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | tr '[:upper:]A-B' '[:lower:]0' >out || fail=1 echo '00cdefghijklmnopqrstuvwxyz' > exp compare exp out || fail=1 # Ensure the size of the case classes are accounted # for as a unit. echo 'a' | tr -t '[:lower:]a' '[:upper:]0' >out || fail=1 echo '0' > exp compare exp out || fail=1 # Ensure the size of the case classes are accounted # for as a unit. echo 'a' | tr -t '[:lower:][:lower:]a' '[:lower:][:upper:]0' >out || fail=1 echo '0' > exp compare exp out || fail=1 fi Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nice-fail.sh��������������������������������������������������������������0000775�0000000�0000000�00000002314�12102337340�014624� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that internal failure in nice gives exact status. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nice # These tests verify exact status of internal failure. nice -n 1 # missing command test $? = 125 || fail=1 nice --- # unknown option test $? = 125 || fail=1 nice -n 1a # invalid adjustment test $? = 125 || fail=1 nice sh -c 'exit 2' # exit status propagation test $? = 2 || fail=2 nice . # invalid command test $? = 126 || fail=1 nice no_such # no such command test $? = 127 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-birthtime.sh���������������������������������������������������������0000775�0000000�0000000�00000003351�12102337340�015737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that stat attempts birthtime access # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stat # Whether birthtime is supported or not, it better not change even when # [acm]time are modified. :) touch a || fail=1 btime=$(stat --format %W a) || fail=1 atime=$(stat --format %X a) || fail=1 mtime=$(stat --format %Y a) || fail=1 ctime=$(stat --format %Z a) || fail=1 # Wait up to 2.17s for timestamps to change. # ---------------------------------------- # iterations file system resolution e.g. # ---------------------------------------- # 1 nano or micro second ext4 # 4 1 second ext3 # 5 2 second FAT # ---------------------------------------- check_timestamps_updated() { local delay="$1" sleep $delay touch a || fail=1 test "x$btime" = x$(stat --format %W a) && test "x$atime" != x$(stat --format %X a) && test "x$mtime" != x$(stat --format %Y a) && test "x$ctime" != x$(stat --format %Z a) } retry_delay_ check_timestamps_updated .07 5 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/env-null.sh���������������������������������������������������������������0000775�0000000�0000000�00000004441�12102337340�014540� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify behavior of env -0 and printenv -0. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ env printenv # POSIX is clear that environ may, but need not be, sorted. # Environment variable values may contain newlines, which cannot be # observed by merely inspecting output from env. # Cygwin requires a minimal environment to launch new processes: execve # adds missing variables SYSTEMROOT and WINDIR, which show up in a # subsequent env. Cygwin also requires /bin to always be part of PATH, # and attempts to unset or reduce PATH may cause execve to fail. # # For these reasons, it is better to compare two outputs from distinct # programs that should be the same, rather than building an exp file. env -i PATH="$PATH" env -0 > out1 || fail=1 env -i PATH="$PATH" printenv -0 > out2 || fail=1 compare out1 out2 || fail=1 env -i PATH="$PATH" env --null > out2 || fail=1 compare out1 out2 || fail=1 env -i PATH="$PATH" printenv --null > out2 || fail=1 compare out1 out2 || fail=1 # env -0 does not work if a command is specified. env -0 echo hi > out test $? = 125 || fail=1 test -s out && fail=1 # Test env -0 on a one-variable environment. printf 'a=b\nc=\0' > exp || framework_failure_ env -i -0 "$(printf 'a=b\nc=')" > out || fail=1 compare exp out || fail=1 # Test printenv -0 on particular values. printf 'b\nc=\0' > exp || framework_failure_ env "$(printf 'a=b\nc=')" printenv -0 a > out || fail=1 compare exp out || fail=1 env -u a printenv -0 a > out test $? = 1 || fail=1 test -s out && fail=1 env -u b "$(printf 'a=b\nc=')" printenv -0 b a > out test $? = 1 || fail=1 compare exp out || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sha224sum.pl��������������������������������������������������������������0000775�0000000�0000000�00000003113�12102337340�014524� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sha224sum". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['s3', {IN=> {f=> 'abc'}}, {OUT=>"23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7 f\n"}], ['s4', {IN=> {f=> 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'}}, {OUT=>"75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525 f\n"}], ['s8', {IN=> {f=> 'a' x 1000000}}, {OUT=>"20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67 f\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sha224sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/csplit-1000.sh������������������������������������������������������������0000775�0000000�0000000�00000002074�12102337340�014654� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # cause a 1-byte heap buffer overrun # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ csplit # Before coreutils-8.7, this would overrun the 6-byte filename_space buffer. # It's hard to detect that without using valgrind, so here, we simply # run the demonstrator. seq 1000 | csplit - '/./' '{*}' || fail=1 test -f xx1000 || fail=1 test -f xx1001 && fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tac-continue.sh�����������������������������������������������������������0000775�0000000�0000000�00000003674�12102337340�015400� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that tac processes all command line arguments, even # when it encounters an error with say the first one. # With coreutils-5.2.1 and earlier, this test would fail. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tac # See if the envvar is defined. if test x = "x$FULL_PARTITION_TMPDIR"; then skip_ "FULL_PARTITION_TMPDIR not defined" fi if ! test -d "$FULL_PARTITION_TMPDIR"; then echo "$0: $FULL_PARTITION_TMPDIR:" \ "\$FULL_PARTITION_TMPDIR does not specify a directory" 1>&2 Exit 1 fi fp_tmp="$FULL_PARTITION_TMPDIR/tac-cont-$$" cleanup_() { rm -f "$fp_tmp"; } # Make sure we can create an empty file there (i.e. no shortage of inodes). if ! touch $fp_tmp; then echo "$0: $fp_tmp: cannot create empty file" 1>&2 Exit 1 fi # Make sure that we fail when trying to create a file large enough # to consume a non-inode block. if seq 1000 > $fp_tmp 2>/dev/null; then echo "$0: $FULL_PARTITION_TMPDIR: not a full partition" 1>&2 Exit 1 fi seq 5 > in # Give tac a fifo command line argument. # This makes it try to create a temporary file in $TMPDIR. mkfifo_or_skip_ fifo seq 1000 > fifo & TMPDIR=$FULL_PARTITION_TMPDIR tac fifo in >out 2>err && fail=1 cat <<\EOF > exp || fail=1 5 4 3 2 1 EOF compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������coreutils-8.21/tests/misc/od.pl���������������������������������������������������������������������0000775�0000000�0000000�00000004577�12102337340�013415� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise od # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # Use a file in /proc whose size is not likely to # change between the wc and od invocations. my $proc_file = '/proc/version'; -f $proc_file or $proc_file = '/dev/null'; # Count the bytes in $proc_file, _by reading_. my $len = 0; open FH, '<', $proc_file or die "$program_name: can't open '$proc_file' for reading: $!\n"; while (defined (my $line = <FH>)) { $len += length $line; } close FH; my $proc_file_byte_count = $len; my @Tests = ( # Skip the exact length of the input file. # Up to coreutils-6.9, this would ignore the "-j 1". ['j-bug1', '-c -j 1 -An', {IN=>{g=>'a'}}, {OUT=>''}], ['j-bug2', '-c -j 2 -An', {IN=>{g=>'a'}}, {IN=>{h=>'b'}}, {OUT=>''}], # Skip the sum of the lengths of the first three inputs. ['j-bug3', '-c -j 3 -An', {IN=>{g=>'a'}}, {IN=>{h=>'b'}}, {IN=>{i=>'c'}}, {OUT=>''}], # Skip the sum of the lengths of the first three inputs, printing the 4th. ['j-bug4', '-c -j 3 -An', {IN=>{g=>'a'}}, {IN=>{h=>'b'}}, {IN=>{i=>'c'}}, {IN=>{j=>'d'}}, {OUT=>" d\n"}], # Ensure that od -j doesn't fseek across a nonempty file in /proc, # even if the kernel reports that the file has stat.st_size = 0. ['j-proc', "-An -c -j $proc_file_byte_count $proc_file", {IN=>{f2=>'e'}}, {OUT=>" e\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'od'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/od-N.sh�������������������������������������������������������������������0000775�0000000�0000000�00000001757�12102337340�013604� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that 'od -N N' reads no more than N bytes of input. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ od echo abcdefg > in || framework_failure_ (od -An -N3 -c; od -An -N3 -c) < in > out cat <<EOF > exp || fail=1 a b c d e f EOF compare exp out || fail=1 Exit $fail �����������������coreutils-8.21/tests/misc/sort-discrim.sh�����������������������������������������������������������0000775�0000000�0000000�00000005371�12102337340�015422� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test discriminator-based sorting. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort # Set limit variables. getlimits_ # These tests are designed for a 'sort' implementation that uses a # discriminator, i.e., a brief summary of a key that may have lost info, # but whose ordering is consistent with that of the original key. # The tests are useful even if 'sort' does not use this representation. # Test lexicographic sorting. # A long-enough string so that it overruns a small discriminator buffer size. long_prefix='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' seq -f "$long_prefix%5.0f" 10000 > exp || fail=1 sort -R exp | LC_ALL=C sort > out || fail=1 compare exp out || fail=1 # Test numeric sorting. # These tests are designed for an internal representation that ordinarily # looks at the number plus two decimal digits, but if -h is # used it looks at one decimal place plus a 4-bit SI prefix value. # In both cases, there's an extra factor of 2 for the sign. # Note INTMAX_MAX is used below as that's that largest number # expr can handle on all systems (without GMP). max_int100=$(expr $INTMAX_MAX / 100) && max_frac100=$(printf '%.2d' $(expr $INTMAX_MAX % 100)) && max_int160=$(expr $INTMAX_MAX / 160) && max_frac160=$(expr $INTMAX_MAX / 16 % 10) && { printf -- "\ -$UINTMAX_OFLOW -$UINTMAX_MAX -${max_int100}0.1 -${max_int100}0 -${max_int100}0.0 -${max_int160}0.1 -${max_int160}0 -${max_int160}0.0 -$max_int100.${max_frac100}1 -$max_int100.$max_frac100 -$max_int160.${max_frac160}1 -$max_int160.$max_frac160 " && seq -- -10 .001 10 && printf "\ $max_int160 $max_int160.$max_frac160 $max_int160.${max_frac160}1 $max_int100 $max_int100.$max_frac100 $max_int100.${max_frac100}1 ${max_int160}0 ${max_int160}0.0 ${max_int160}0.1 ${max_int100}0 ${max_int100}0.0 ${max_int100}0.1 $UINTMAX_MAX $UINTMAX_OFLOW " } > exp || fail=1 for opts in -n -h; do sort -R exp | LC_ALL=C sort $opts > out || fail=1 compare exp out || fail=1 done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/md5sum.pl�����������������������������������������������������������������0000775�0000000�0000000�00000016227�12102337340�014220� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "md5sum". # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'md5sum'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $degenerate = "d41d8cd98f00b204e9800998ecf8427e"; my @Tests = ( ['1', {IN=> {f=> ''}}, {OUT=>"$degenerate f\n"}], ['2', {IN=> {f=> 'a'}}, {OUT=>"0cc175b9c0f1b6a831c399e269772661 f\n"}], ['3', {IN=> {f=> 'abc'}}, {OUT=>"900150983cd24fb0d6963f7d28e17f72 f\n"}], ['4', {IN=> {f=> 'message digest'}}, {OUT=>"f96b697d7cb7938d525a2f31aaf161d0 f\n"}], ['5', {IN=> {f=> 'abcdefghijklmnopqrstuvwxyz'}}, {OUT=>"c3fcd3d76192e4007dfb496cca67e13b f\n"}], ['6', {IN=> {f=> join ('', 'A'..'Z', 'a'..'z', '0'..'9')}}, {OUT=>"d174ab98d277d9f5a5611c2c9f419d9f f\n"}], ['7', {IN=> {f=> '1234567890' x 8}}, {OUT=>"57edf4a22be3c955ac49da2e2107b67a f\n"}], ['backslash', {IN=> {".\\foo"=> ''}}, {OUT=>"\\$degenerate .\\\\foo\n"}], ['check-1', '--check', {AUX=> {f=> ''}}, {IN=> {'f.md5' => "$degenerate f\n"}}, {OUT=>"f: OK\n"}], # Same as above, but with an added empty line, to provoke --strict. ['ck-strict-1', '--check --strict', {AUX=> {f=> ''}}, {IN=> {'f.md5' => "$degenerate f\n\n"}}, {OUT=>"f: OK\n"}, {ERR=>"md5sum: " . "WARNING: 1 line is improperly formatted\n"}, {EXIT=> 1}], # As above, but with the invalid line first, to ensure that following # lines are processed in spite of the preceding invalid input line. ['ck-strict-2', '--check --strict', {AUX=> {f=> ''}}, {IN=> {'in.md5' => "\n$degenerate f\n"}}, {OUT=>"f: OK\n"}, {ERR=>"md5sum: " . "WARNING: 1 line is improperly formatted\n"}, {EXIT=> 1}], ['check-2', '--check', '--status', {IN=>{'f.md5' => "$degenerate f\n"}}, {AUX=> {f=> 'foo'}}, {EXIT=> 1}], ['check-quiet1', '--check', '--quiet', {AUX=> {f=> ''}}, {IN=> {'f.md5' => "$degenerate f\n"}}, {OUT=>""}], ['check-quiet2', '--check', '--quiet', {IN=>{'f.md5' => "$degenerate f\n"}}, {AUX=> {f=> 'foo'}}, {OUT=>"f: FAILED\n"}, {ERR=>"md5sum: WARNING: 1 computed" . " checksum did NOT match\n"}, {EXIT=> 1}], # Exercise new-after-8.6, easier-to-translate diagnostics. ['check-multifail', '--check', {IN=>{'f.md5' => "$degenerate f\n" . "$degenerate f\n" . "invalid\n" }}, {AUX=> {f=> 'foo'}}, {OUT=>"f: FAILED\nf: FAILED\n"}, {ERR=>"md5sum: WARNING: 1 line is improperly formatted\n" . "md5sum: WARNING: 2 computed checksums did NOT match\n"}, {EXIT=> 1}], # Similar to the above, but use --warn to evoke one more diagnostic. ['check-multifail-warn', '--check', '--warn', {IN=>{'f.md5' => "$degenerate f\n" . "$degenerate f\n" . "invalid\n" }}, {AUX=> {f=> 'foo'}}, {OUT=>"f: FAILED\nf: FAILED\n"}, {ERR=>"md5sum: f.md5: 3: improperly formatted MD5 checksum line\n" . "md5sum: WARNING: 1 line is improperly formatted\n" . "md5sum: WARNING: 2 computed checksums did NOT match\n"}, {EXIT=> 1}], # The sha1sum and md5sum drivers share a lot of code. # Ensure that md5sum does *not* share the part that makes # sha1sum accept BSD format. ['check-bsd', '--check', {IN=> {'f.sha1' => "SHA1 (f) = $degenerate\n"}}, {AUX=> {f=> ''}}, {ERR=>"md5sum: f.sha1: no properly formatted " . "MD5 checksum lines found\n"}, {EXIT=> 1}], ['check-bsd2', '--check', {IN=> {'f.md5' => "MD5 (f) = $degenerate\n"}}, {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}], ['check-bsd3', '--check', '--status', {IN=> {'f.md5' => "MD5 (f) = $degenerate\n"}}, {AUX=> {f=> 'bar'}}, {EXIT=> 1}], ['check-openssl', '--check', {IN=> {'f.sha1' => "SHA1(f)= $degenerate\n"}}, {AUX=> {f=> ''}}, {ERR=>"md5sum: f.sha1: no properly formatted " . "MD5 checksum lines found\n"}, {EXIT=> 1}], ['check-openssl2', '--check', {IN=> {'f.md5' => "MD5(f)= $degenerate\n"}}, {AUX=> {f=> ''}}, {OUT=>"f: OK\n"}], ['check-openssl3', '--check', '--status', {IN=> {'f.md5' => "MD5(f)= $degenerate\n"}}, {AUX=> {f=> 'bar'}}, {EXIT=> 1}], ['bsd-segv', '--check', {IN=> {'z' => "MD5 ("}}, {EXIT=> 1}, {ERR=> "$prog: z: no properly formatted MD5 checksum lines found\n"}], # Ensure that when there's a NUL byte among the checksum hex digits # we detect the invalid formatting and don't even open the file. # Up to coreutils-6.10, this would report: # h: FAILED # md5sum: WARNING: 1 of 1 computed checksum did NOT match ['nul-in-cksum', '--check', {IN=> {'h'=>("\0"x32)." h\n"}}, {EXIT=> 1}, {ERR=> "$prog: h: no properly formatted MD5 checksum lines found\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/shuf.sh�������������������������������������������������������������������0000775�0000000�0000000�00000004216�12102337340�013745� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that shuf randomizes its input. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ shuf getlimits_ seq 100 > in || framework_failure_ shuf in >out || fail=1 # Fail if the input is the same as the output. # This is a probabilistic test :-) # However, the odds of failure are very low: 1 in 100! (~ 1 in 10^158) compare in out > /dev/null && { fail=1; echo "not random?" 1>&2; } # Fail if the sorted output is not the same as the input. sort -n out > out1 compare in out1 || { fail=1; echo "not a permutation" 1>&2; } # Exercise shuf's -i option. shuf -i 1-100 > out || fail=1 compare in out > /dev/null && { fail=1; echo "not random?" 1>&2; } sort -n out > out1 compare in out1 || { fail=1; echo "not a permutation" 1>&2; } # Exercise shuf's -e option. t=$(shuf -e a b c d e | sort | fmt) test "$t" = 'a b c d e' || { fail=1; echo "not a permutation" 1>&2; } # Before coreutils-6.3, this would infloop. # "seq 1860" produces 8193 (8K + 1) bytes of output. seq 1860 | shuf > /dev/null || fail=1 # coreutils-6.12 and earlier would output a newline terminator, not \0. shuf --zero-terminated -i 1-1 > out || fail=1 printf '1\0' > exp || framework_failure_ cmp out exp || { fail=1; echo "missing NUL terminator?" 1>&2; } # Ensure shuf -n operates efficiently for small n. Before coreutils-8.13 # this would try to allocate $SIZE_MAX * sizeof(size_t) timeout 10 shuf -i1-$SIZE_MAX -n2 >/dev/null || { fail=1; echo "couldn't get a small subset" >&2; } Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/groups-dash.sh������������������������������������������������������������0000775�0000000�0000000�00000002064�12102337340�015233� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure groups handles -- sanely # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ groups require_built_ groups # Coreutils 6.9 and earlier failed to display information on first argument # if later argument was --. groups none -- > out 2>&1 && fail=1 echo $? >> out groups -- none -- > exp 2>&1 && fail=1 echo $? >> exp compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-dangling-symlink.sh����������������������������������������������0000775�0000000�0000000�00000001672�12102337340�020075� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure truncate can create a file through a dangling symlink. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate ln -s truncate-target t-symlink truncate -s0 t-symlink || fail=1 test -f truncate-target || fail=1 Exit $fail ����������������������������������������������������������������������coreutils-8.21/tests/misc/help-version.sh�����������������������������������������������������������0000775�0000000�0000000�00000020501�12102337340�015406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Make sure all of these programs work properly # when invoked with --help or --version. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Ensure that $SHELL is set to *some* value and exported. # This is required for dircolors, which would fail e.g., when # invoked via debuild (which removes SHELL from the environment). test "x$SHELL" = x && SHELL=/bin/sh export SHELL . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src expected_failure_status_chroot=125 expected_failure_status_env=125 expected_failure_status_nice=125 expected_failure_status_nohup=125 expected_failure_status_stdbuf=125 expected_failure_status_timeout=125 expected_failure_status_printenv=2 expected_failure_status_tty=3 expected_failure_status_sort=2 expected_failure_status_expr=3 expected_failure_status_lbracket=2 expected_failure_status_dir=2 expected_failure_status_ls=2 expected_failure_status_vdir=2 expected_failure_status_cmp=2 expected_failure_status_zcmp=2 expected_failure_status_sdiff=2 expected_failure_status_diff3=2 expected_failure_status_diff=2 expected_failure_status_zdiff=2 expected_failure_status_zgrep=2 expected_failure_status_zegrep=2 expected_failure_status_zfgrep=2 expected_failure_status_grep=2 expected_failure_status_egrep=2 expected_failure_status_fgrep=2 test "$built_programs" \ || fail_ "built_programs not specified!?!" test "$VERSION" \ || fail_ "set envvar VERSION; it is required for a PATH sanity-check" # Extract version from --version output of the first program for i in $built_programs; do v=$(env $i --version | sed -n '1s/.* //p;q') break done # Ensure that it matches $VERSION. test "x$v" = "x$VERSION" \ || fail_ "--version-\$VERSION mismatch" for lang in C fr da; do for i in $built_programs; do # Skip 'test'; it doesn't accept --help or --version. test $i = test && continue; # false fails even when invoked with --help or --version. if test $i = false; then env LC_MESSAGES=$lang $i --help >/dev/null && fail=1 env LC_MESSAGES=$lang $i --version >/dev/null && fail=1 continue fi # The just-built install executable is always named 'ginstall'. test $i = install && i=ginstall # Make sure they exit successfully, under normal conditions. env $i --help > h-$i || fail=1 env $i --version >/dev/null || fail=1 # Make sure they mention the bug-reporting address in --help output. grep "$PACKAGE_BUGREPORT" h-$i > /dev/null || fail=1 rm -f h-$i # Make sure they fail upon 'disk full' error. if test -w /dev/full && test -c /dev/full; then env $i --help >/dev/full 2>/dev/null && fail=1 env $i --version >/dev/full 2>/dev/null && fail=1 status=$? test $i = [ && prog=lbracket || prog=$(echo $i|sed "s/$EXEEXT$//") eval "expected=\$expected_failure_status_$prog" test x$expected = x && expected=1 if test $status = $expected; then : # ok else fail=1 echo "*** $i: bad exit status '$status' (expected $expected)," 1>&2 echo " with --help or --version output redirected to /dev/full" 1>&2 fi fi done done bigZ_in=bigZ-in.Z zin=zin.gz zin2=zin2.gz tmp=tmp-$$ tmp_in=in-$$ tmp_in2=in2-$$ tmp_dir=dir-$$ tmp_out=out-$$ mkdir $tmp || fail=1 cd $tmp || fail=1 comm_setup () { args="$tmp_in $tmp_in"; } csplit_setup () { args="$tmp_in //"; } cut_setup () { args='-f 1'; } join_setup () { args="$tmp_in $tmp_in"; } tr_setup () { args='a a'; } chmod_setup () { args="a+x $tmp_in"; } # Punt on these. chgrp_setup () { args=--version; } chown_setup () { args=--version; } mkfifo_setup () { args=--version; } mknod_setup () { args=--version; } # Punt on uptime, since it fails (e.g., failing to get boot time) # on some systems, and we shouldn't let that stop 'make check'. uptime_setup () { args=--version; } # Create a file in the current directory, not in $TMPDIR. mktemp_setup () { args=mktemp.XXXX; } cmp_setup () { args="$tmp_in $tmp_in2"; } # Tell dd not to print the line with transfer rate and total. # The transfer rate would vary between runs. dd_setup () { args=status=noxfer; } zdiff_setup () { args="$zin $zin2"; } zcmp_setup () { args="$zin $zin2"; } zcat_setup () { args=$zin; } gunzip_setup () { args=$zin; } zmore_setup () { args=$zin; } zless_setup () { args=$zin; } znew_setup () { args=$bigZ_in; } zforce_setup () { args=$zin; } zgrep_setup () { args="z $zin"; } zegrep_setup () { args="z $zin"; } zfgrep_setup () { args="z $zin"; } gzexe_setup () { args=$tmp_in; } # We know that $tmp_in contains a "0" grep_setup () { args="0 $tmp_in"; } egrep_setup () { args="0 $tmp_in"; } fgrep_setup () { args="0 $tmp_in"; } diff_setup () { args="$tmp_in $tmp_in2"; } sdiff_setup () { args="$tmp_in $tmp_in2"; } diff3_setup () { args="$tmp_in $tmp_in2 $tmp_in2"; } cp_setup () { args="$tmp_in $tmp_in2"; } ln_setup () { args="$tmp_in ln-target"; } ginstall_setup () { args="$tmp_in $tmp_in2"; } mv_setup () { args="$tmp_in $tmp_in2"; } mkdir_setup () { args=$tmp_dir/subdir; } realpath_setup () { args=$tmp_in; } rmdir_setup () { args=$tmp_dir; } rm_setup () { args=$tmp_in; } shred_setup () { args=$tmp_in; } touch_setup () { args=$tmp_in2; } truncate_setup () { args="--reference=$tmp_in $tmp_in2"; } mkid_setup () { printf 'f(){}\ntypedef int t;\n' > f.c; args=. ; } lid_setup () { args=; } fid_setup () { args=f.c; } fnid_setup () { args=; } xtokid_setup () { args=; } aid_setup () { args=f; } eid_setup () { args=--version; } gid_setup () { args=f; } defid_setup () { args=t; } basename_setup () { args=$tmp_in; } dirname_setup () { args=$tmp_in; } expr_setup () { args=foo; } # Punt, in case GNU 'id' hasn't been installed yet. groups_setup () { args=--version; } pathchk_setup () { args=$tmp_in; } yes_setup () { args=--version; } logname_setup () { args=--version; } nohup_setup () { args=--version; } printf_setup () { args=foo; } seq_setup () { args=10; } sleep_setup () { args=0; } stdbuf_setup () { args="-oL true"; } timeout_setup () { args=--version; } # I'd rather not run sync, since it spins up disks that I've # deliberately caused to spin down (but not unmounted). sync_setup () { args=--version; } test_setup () { args=foo; } # This is necessary in the unusual event that there is # no valid entry in /etc/mtab. df_setup () { args=/; } # This is necessary in the unusual event that getpwuid (getuid ()) fails. id_setup () { args=-u; } # Use env to avoid invoking built-in sleep of Solaris 11's /bin/sh. kill_setup () { env sleep 31.5 & args=$! } link_setup () { args="$tmp_in link-target"; } unlink_setup () { args=$tmp_in; } readlink_setup () { ln -s . slink args=slink; } stat_setup () { args=$tmp_in; } unlink_setup () { args=$tmp_in; } lbracket_setup () { args=": ]"; } parted_setup () { args="-s $tmp_in mklabel gpt" dd if=/dev/null of=$tmp_in seek=2000; } # Ensure that each program "works" (exits successfully) when doing # something more than --help or --version. for i in $built_programs; do # Skip these. case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out $bigZ_in $zin $zin2 echo z |gzip > $zin cp $zin $zin2 cp $zin $bigZ_in # This is sort of kludgey: use numbers so this is valid input for factor, # and two tokens so it's valid input for tsort. echo 2147483647 0 > $tmp_in # Make $tmp_in2 identical. Then, using $tmp_in and $tmp_in2 as arguments # to the likes of cmp and diff makes them exit successfully. cp $tmp_in $tmp_in2 mkdir $tmp_dir # echo ================== $i test $i = [ && prog=lbracket || prog=$(echo $i|sed "s/$EXEEXT$//") if type ${prog}_setup > /dev/null 2>&1; then ${prog}_setup else args= fi if env $i $args < $tmp_in > $tmp_out; then : # ok else echo FAIL: $i fail=1 fi rm -rf $tmp_in $tmp_in2 $tmp_out $tmp_dir done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stty-invalid.sh�����������������������������������������������������������0000775�0000000�0000000�00000003351�12102337340�015426� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that stty diagnoses invalid inputs, rather than silently misbehaving. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stty require_controlling_input_terminal_ trap '' TTOU # Ignore SIGTTOU saved_state=$(stty -g) || fail=1 stty $saved_state || fail=1 # Before coreutils-6.9.90, if stty were given an argument with 35 colons # separating 36 hexadecimal strings, stty would fail to diagnose as invalid # any number that was out of range as long as sscanf happened to # overflow/wrap it back into the range of the corresponding type (either # tcflag_t or cc_t). # For each of the following, with coreutils-6.9 and earlier, # stty would fail to diagnose the error on at least Solaris 10. hex_2_64=10000000000000000 stty $(echo $saved_state |sed 's/^[^:]*:/'$hex_2_64:/) 2>/dev/null && fail=1 stty $(echo $saved_state |sed 's/:[0-9a-f]*$/:'$hex_2_64/) 2>/dev/null && fail=1 # Just in case either of the above mistakenly succeeds (and changes # the state of our tty), try to restore the initial state. stty $saved_state || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/cat-buf.sh����������������������������������������������������������������0000775�0000000�0000000�00000002415�12102337340�014320� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cat outputs processed data immediately. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cat # Use a fifo rather than a pipe in the tests below # so that the producer (cat) will wait until the # consumer (dd) opens the fifo therefore increasing # the chance that dd will read the data from each # write separately. mkfifo_or_skip_ fifo echo 1 > exp cat_buf_1() { local delay="$1" dd count=1 if=fifo > out & (echo 1; sleep $delay; echo 2) | cat -v > fifo wait # for dd to complete compare exp out } retry_delay_ cat_buf_1 .1 6 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-parameters.sh����������������������������������������������������0000775�0000000�0000000�00000003374�12102337340�016772� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate truncate parameter combinations # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate # must specify at least 1 file truncate --size=0 && fail=1 # must specify size. don't default to 0 truncate file && fail=1 # mixture of absolute size & reference not allowed truncate --size=0 --reference=file file && fail=1 # blocks without size is not valid truncate --io-blocks --reference=file file && fail=1 # must specify valid numbers truncate --size="invalid" file && fail=1 # spaces not significant around size truncate --size="> -1" file && fail=1 truncate --size=" >1" file || fail=1 #file now 1 truncate --size=" +1" file || fail=1 #file now 2 test $(stat --format %s file) = 2 || fail=1 # reference allowed with relative size truncate --size=" +1" -r file file || fail=1 #file now 3 test $(stat --format %s file) = 3 || fail=1 # reference allowed alone also truncate -r file file || fail=1 #file still 3 test $(stat --format %s file) = 3 || fail=1 truncate -r file file2 || fail=1 #file2 now 3 test $(stat --format %s file2) = 3 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/date.pl�������������������������������������������������������������������0000775�0000000�0000000�00000031152�12102337340�013715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "date". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # Export TZ=UTC0 so that zone-dependent strings match. $ENV{TZ} = 'UTC0'; my $t0 = '08:17:48'; my $d0 = '1997-01-19'; my $d1 = "$d0 $t0 +0"; my $dT = "${d0}T$t0+0"; # ISO 8601 with "T" separator my $ts = '08:17:49'; # next second my $tm = '08:18:48'; # next minute my $th = '09:17:48'; # next hour my $dd = '1997-01-20'; # next day my $dw = '1997-01-26'; # next week my $dm = '1997-02-19'; # next month my $dy = '1998-01-19'; # next month my $fmt = "'+%Y-%m-%d %T'"; # Determine a number of seconds that will provoke an invalid # time diagnostic from date. If possible, use a number that # is less than 2^64, yet so large that it would cause the resulting # tm_year value to be too large for a 32-bit int. But some systems # (Solaris 8) have a buggy localtime that mistakenly accepts such # invalid times and give garbage in tm_year. Other systems might # have an int type that is wider than 32. So if this localtime # call succeeds, use 2^64 as the number of seconds. my $n_seconds = 72057594037927935; my @d = localtime ($n_seconds); my $year = $d[5]; defined $year and $n_seconds = '18446744073709551616'; my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} # ['1', "-d '$d1' +'%% %a %A %b %B'", {OUT=>"% Sun Sunday Jan January"}], # [Actually, skip it on *all* systems. -- this Perl code is run at # distribution-build-time, not at configure/test time. ] # Skip the test of %c on SunOS4 systems. Such systems would fail this # test because their underlying strftime doesn't handle the %c format # properly. GNU strftime must rely on the underlying host library # function to get locale-dependent behavior, as strftime is the only # portable interface to that behavior. # ['2', "-d '$d1' +'%c'", {OUT=>"Sun Jan 19 $t0 1997"}], ['3', "-d '$d1' +'%d_%D_%e_%h_%H'", {OUT=>"19_01/19/97_19_Jan_08"}], ['3T',"-d '$dT' +'%d_%D_%e_%h_%H'", {OUT=>"19_01/19/97_19_Jan_08"}], ['4', "-d '$d1' +'%I_%j_%k_%l_%m'", {OUT=>"08_019_ 8_ 8_01"}], ['5', "-d '$d1' +'%M_%n_%p_%r'", {OUT=>"17_\n_AM_$t0 AM"}], ['6', "-d '$d1' +'%s_%S_%t_%T'", {OUT=>"853661868_48_\t_$t0"}], ['7', "-d '$d1' +'%U_%V_%w_%W'", {OUT=>"03_03_0_02"}], ['8', "-d '$d1' +'%x_%X_%y_%Y'", {OUT=>"01/19/97_${t0}_97_1997"}], ['9', "-d '$d1' +'%z'", {OUT=>"+0000"}], ['leap-1', "--date '02/29/1996 1 year' +%Y-%m-%d", {OUT=>"1997-03-01"}], ['U95-1', "--date '1995-1-1' +%U", {OUT=>"01"}], ['U95-2', "--date '1995-1-7' +%U", {OUT=>"01"}], ['U95-3', "--date '1995-1-8' +%U", {OUT=>"02"}], ['U92-1', "--date '1992-1-1' +%U", {OUT=>"00"}], ['U92-2', "--date '1992-1-4' +%U", {OUT=>"00"}], ['U92-3', "--date '1992-1-5' +%U", {OUT=>"01"}], ['V92-1', "--date '1992-1-1' +%V", {OUT=>"01"}], ['V92-2', "--date '1992-1-5' +%V", {OUT=>"01"}], ['V92-3', "--date '1992-1-6' +%V", {OUT=>"02"}], ['W92-1', "--date '1992-1-1' +%W", {OUT=>"00"}], ['W92-2', "--date '1992-1-5' +%W", {OUT=>"00"}], ['W92-3', "--date '1992-1-6' +%W", {OUT=>"01"}], ['millen-1', "--date '1998-1-1 3 years' +%Y", {OUT=>"2001"}], ['rel-0', "-d '$d1 now' '+%Y-%m-%d %T'", {OUT=>"$d0 $t0"}], ['rel-1a', "-d '$d1 yesterday' $fmt", {OUT=>"1997-01-18 $t0"}], ['rel-1b', "-d '$d1 tomorrow' $fmt", {OUT=>"1997-01-20 $t0"}], ['rel-2a', "-d '$d1 6 years ago' $fmt", {OUT=>"1991-01-19 $t0"}], ['rel-2b', "-d '$d1 7 months ago' $fmt", {OUT=>"1996-06-19 $t0"}], ['rel-2c', "-d '$d1 8 weeks ago' $fmt", {OUT=>"1996-11-24 $t0"}], ['rel-2d', "-d '$d1 1 day ago' $fmt", {OUT=>"1997-01-18 $t0"}], ['rel-2e', "-d '$d1 2 hours ago' $fmt", {OUT=>"$d0 06:17:48"}], ['rel-2f', "-d '$d1 3 minutes ago' $fmt", {OUT=>"$d0 08:14:48"}], ['rel-2g', "-d '$d1 4 seconds ago' $fmt", {OUT=>"$d0 08:17:44"}], ['rel-3a', "-d '$d1 4 seconds ago' $fmt", {OUT=>"$d0 08:17:44"}], # This has always worked, ... ['rel-1day', "-d '20050101 1 day' +%F", {OUT=>"2005-01-02"}], # ...but up to coreutils-6.9, this was rejected due to the "+". ['rel-plus1', "-d '20050101 +1 day' +%F", {OUT=>"2005-01-02"}], ['next-s', "-d '$d1 next second' '+%Y-%m-%d %T'", {OUT=>"$d0 $ts"}], ['next-m', "-d '$d1 next minute' '+%Y-%m-%d %T'", {OUT=>"$d0 $tm"}], ['next-h', "-d '$d1 next hour' '+%Y-%m-%d %T'", {OUT=>"$d0 $th"}], ['next-d', "-d '$d1 next day' '+%Y-%m-%d %T'", {OUT=>"$dd $t0"}], ['next-w', "-d '$d1 next week' '+%Y-%m-%d %T'", {OUT=>"$dw $t0"}], ['next-mo', "-d '$d1 next month' '+%Y-%m-%d %T'", {OUT=>"$dm $t0"}], ['next-y', "-d '$d1 next year' '+%Y-%m-%d %T'", {OUT=>"$dy $t0"}], ['utc-0', "-u -d '08/01/97 6:00' '+%D,%H:%M'", {OUT=>"08/01/97,06:00"}, {ENV => 'TZ=UTC+4'}], ['utc-0a', "-u -d '08/01/97 6:00 UTC +4 hours' '+%D,%H:%M'", {OUT=>"08/01/97,10:00"}], # Make sure --file=FILE works with -u. ['utc-1', "-u --file=f '+%Y-%m-%d %T'", {AUX=>{f=>"$d0 $t0\n$d0 $t0"}}, {OUT=>"$d0 $t0\n$d0 $t0"}, {ENV => 'TZ=UTC+1'}], ['utc-1a', "-u --file=f '+%Y-%m-%d %T'", {AUX=>{f=>"$d0 $t0 UTC +1 hour\n$d0 $t0 UTC +1 hour"}}, {OUT=>"$d0 $th\n$d0 $th"}], # From the examples in the documentation. ['date2sec-0', "-d '1970-01-01 00:00:01' +%s", {OUT=>"7201"}, {ENV => 'TZ=UTC+2'}], # Same as above, but don't rely on TZ in environment. ['date2sec-0a', "-d '1970-01-01 00:00:01 UTC +2 hours' +%s", {OUT=>"7201"}], ['date2sec-1', "-d 2000-01-01 +%s", {OUT=>"946684800"}], ['sec2date-0', "-d '1970-01-01 UTC 946684800 sec' +'%Y-%m-%d %T %z'", {OUT=>"2000-01-01 00:00:00 +0000"}], ['this-m', "-d '$d0 $t0 this minute' $fmt", {OUT=>"$d0 $t0"}], ['this-h', "-d '$d0 $t0 this hour' $fmt", {OUT=>"$d0 $t0"}], ['this-w', "-d '$d0 $t0 this week' $fmt", {OUT=>"$d0 $t0"}], ['this-mo', "-d '$d0 $t0 this month' $fmt", {OUT=>"$d0 $t0"}], ['this-y', "-d '$d0 $t0 this year' $fmt", {OUT=>"$d0 $t0"}], ['risks-1', "-d 'Nov 10 1996' $fmt", {OUT=>"1996-11-10 00:00:00"}], # This one would pass if TZ (with any, or even no, value) were in # the environment. ['regress-1', "-u -d '1996-11-10 0:00:00 +0' $fmt", {OUT=>"1996-11-10 00:00:00"}, {ENV =>'LANG=C'}], ['datevtime-1', "-d 000909 $fmt", {OUT=>"2000-09-09 00:00:00"}], # test for RFC-822 conformance ['rfc822-1', "-R -d '$d1'", {OUT=>"Sun, 19 Jan 1997 08:17:48 +0000"}, # Solaris 5.9's /bin/sh emits this diagnostic to stderr # if you don't have support for the named locale. {ERR_SUBST => q!s/^couldn't set locale correctly\n//!}, {ENV => 'LC_ALL=de_DE TZ=UTC0'}], # Relative seconds, with time. fixed in 2.0j ['relative-1', "--utc -d '1970-01-01 00:00:00 UTC +961062237 sec' $fmt", {OUT=>"2000-06-15 09:43:57"}], # Relative seconds, no time. ['relative-2', "--utc -d '1970-01-01 UTC +961062237 sec' $fmt", {OUT=>"2000-06-15 09:43:57"}, {ENV => 'TZ=UTC+1'}], # Relative days, no time, across time zones. ['relative-3', "-I -d '2006-04-23 21 days ago'", {OUT=>"2006-04-02"}, {ENV=>'TZ=PST8PDT,M4.1.0,M10.5.0'}], # This would infloop (or appear to) prior to coreutils-4.5.5, # due to a bug in strftime.c. ['wide-fmt', "-d '1999-06-01'", '+%3004Y', {OUT=>'0' x 3000 . "1999"}], # Ensure that we can parse MONTHNAME-DAY-YEAR. ['moname-d-y', '--iso -d May-23-2003', {OUT=>"2003-05-23"}], ['moname-d-y-r', '--rfc-3339=date -d May-23-2003', {OUT=>"2003-05-23"}], ['epoch', '--iso=sec -d @31536000', {OUT=>"1971-01-01T00:00:00+0000"}], ['epoch-r', '--rfc-3339=sec -d @31536000', {OUT=>"1971-01-01 00:00:00+00:00"}], ['ns-10', '--iso=ns', '-d "1969-12-31 13:00:00.00000001-1100"', {OUT=>"1970-01-01T00:00:00,000000010+0000"}], ['ns-10-r', '--rfc-3339=ns', '-d "1969-12-31 13:00:00.00000001-1100"', {OUT=>"1970-01-01 00:00:00.000000010+00:00"}], ['ns-max32', '--iso=ns', '-d "2038-01-19 03:14:07.999999999"', {OUT=>"2038-01-19T03:14:07,999999999+0000"}], ['ns-max32-r', '--rfc-3339=ns', '-d "2038-01-19 03:14:07.999999999"', {OUT=>"2038-01-19 03:14:07.999999999+00:00"}], ['tz-1', '+%:::z', {OUT=>"-12:34:56"}, {ENV=>'TZ=XXX12:34:56'}], ['tz-2', '+%:::z', {OUT=>"+12:34:56"}, {ENV=>'TZ=XXX-12:34:56'}], ['tz-3', '+%::z', {OUT=>"+01:02:03"}, {ENV=>'TZ=XXX-1:02:03'}], ['tz-4', '+%:::z', {OUT=>"+12"}, {ENV=>'TZ=XXX-12'}], ['tz-5', '+%:z', {OUT=>"-00:01"}, {ENV=>'TZ=XXX0:01'}], # Accept %:z with a field width before the ':'. ['tz-5w','+%8:z', {OUT=>"-0000:01"}, {ENV=>'TZ=XXX0:01'}], # Don't recognize %:z with a field width between the ':' and the 'z'. ['tz-5wf', '+%:8z', {OUT=>"%:8z"}, {ENV=>'TZ=XXX0:01'}], ['ns-relative', '--iso=ns', "-d'1970-01-01 00:00:00.1234567 UTC +961062237.987654321 sec'", {OUT=>"2000-06-15T09:43:58,111111021+0000"}], ['ns-relativer', '--rfc-3339=ns', "-d'1970-01-01 00:00:00.1234567 UTC +961062237.987654321 sec'", {OUT=>"2000-06-15 09:43:58.111111021+00:00"}], # Since coreutils/lib/getdate.y revision 1.96 (post-coreutils-5.3.0), # a command like the following would mistakenly exit nonzero with an # 'invalid date ...' diagnostic, but when run in a time zone for # which daylight savings time is in effect for the starting date. # Unfortunately (for ease of testing), if you set TZ at all, this # failure is not triggered, hence the removal of TZ from the environment. ['cross-dst', "-d'2005-03-27 +1 day'", '+%Y', {OUT=>"2005"}, {ENV_DEL => 'TZ'}, ], ['empty-fmt', '+', {OUT=>""}], ['neg-secs', '-d @-22 +%05s', {OUT=>"-0022"}], ['neg-secs2', '-d @-22 +%_5s', {OUT=>" -22"}], # Before today's fix, date would print uninitialized data # to standard output for an out-of-range date: # $ date -d @$(echo 2^56-1|bc) 2> /dev/null | od -a -N3 # 0000000 p 4 6 # 0000003 ['uninit-64', "-d \@$n_seconds", {OUT=>''}, # Use ERR_SUBST to get around fact that the diagnostic # you get on a system with 32-bit time_t is not the same as # the one you get for a system where it's 64 bits wide: # - date: time 72057594037927935 is out of range # + date: invalid date '@72057594037927935' {ERR_SUBST => 's/.*//'}, {ERR => "\n"}, {EXIT => 1}, ], ['fill-1', '-d 1999-12-08 +%_3d', {OUT=>' 8'}], ['fill-2', '-d 1999-12-08 +%03d', {OUT=>'008'}], # Test the combination of the to-upper-case modifier (^) and a conversion # specifier that expands to a string containing lower case characters. ['subfmt-up1', '-d "1999-12-08 7:30" "+%^c"', # Solaris 5.9 prints 'WED DEC 08 07:30:00 1999', while # most others print 'WED DEC 8 07:30:00 1999'. {OUT_SUBST => 's/ [ 0]8.*//'}, {OUT=>'WED DEC'}], ['invalid-high-bit-set', "-d '\xb0'", {ERR => "date: invalid date '\\260'\n"}, {EXIT => 1}, ], ); # Repeat the cross-dst test, using Jan 1, 2005 and every interval from 1..364. foreach my $i (1..364) { push @Tests, ["cross-dst$i", "-d'2005-01-01 +$i day'", '+%Y', {OUT=>"2005"}, {ENV_DEL => 'TZ'}, ]; } # Append "\n" to each OUT=> RHS if the expected exit value is either # zero or not specified (defaults to zero). foreach my $t (@Tests) { my $exit_val; foreach my $e (@$t) { ref $e && ref $e eq 'HASH' && defined $e->{EXIT} and $exit_val = $e->{EXIT}; } foreach my $e (@$t) { ref $e && ref $e eq 'HASH' && defined $e->{OUT} && ! $exit_val and $e->{OUT} .= "\n"; } } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'date'; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tac-2-nonseekable.sh������������������������������������������������������0000775�0000000�0000000�00000001703�12102337340�016170� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that tac works with two or more non-seekable inputs # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tac echo x | tac - - > out 2> err || fail=1 echo x > exp || fail=1 compare exp out || fail=1 compare /dev/null err || fail=1 Exit $fail �������������������������������������������������������������coreutils-8.21/tests/misc/wc-parallel.sh������������������������������������������������������������0000775�0000000�0000000�00000002235�12102337341�015203� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that wc prints counts atomically # so that concurrent processes don't intersperse their output # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ wc (mkdir tmp && cd tmp && seq 2000 | xargs touch) # This will output at least 16KiB per process # and start 3 processes, with 2 running concurrently, # which triggers often on Fedora 11 at least. (find tmp tmp tmp -type f | xargs -n2000 -P2 wc) | sed -n '/0 0 0 /!p' | grep . > /dev/null && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/fold.pl�������������������������������������������������������������������0000775�0000000�0000000�00000002422�12102337340�013722� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise fold. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['s1', '-w2 -s', {IN=>"a\t"}, {OUT=>"a\n\t"}], ['s2', '-w4 -s', {IN=>"abcdef d\n"}, {OUT=>"abcd\nef d\n"}], ['s3', '-w4 -s', {IN=>"a cd fgh\n"}, {OUT=>"a \ncd \nfgh\n"}], ['s4', '-w4 -s', {IN=>"abc ef\n"}, {OUT=>"abc \nef\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'fold'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/printf-hex.sh�������������������������������������������������������������0000775�0000000�0000000�00000001657�12102337340�015072� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure that only two hex. digits are consumed in a \xHHH sequence # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ printf env printf '\x7e3\n' > out || fail=1 cat <<\EOF > exp ~3 EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������coreutils-8.21/tests/misc/basename.pl���������������������������������������������������������������0000775�0000000�0000000�00000006240�12102337340�014553� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test basename. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use File::stat; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $stat_single = stat('/'); my $stat_double = stat('//'); my $double_slash = ($stat_single->dev == $stat_double->dev && $stat_single->ino == $stat_double->ino) ? '/' : '//'; my $prog = 'basename'; my @Tests = ( ['fail-1', {ERR => "$prog: missing operand\n" . "Try '$prog --help' for more information.\n"}, {EXIT => '1'}], ['fail-2', qw(a b c), {ERR => "$prog: extra operand 'c'\n" . "Try '$prog --help' for more information.\n"}, {EXIT => '1'}], ['a', qw(d/f), {OUT => 'f'}], ['b', qw(/d/f), {OUT => 'f'}], ['c', qw(d/f/), {OUT => 'f'}], ['d', qw(d/f//), {OUT => 'f'}], ['e', qw(f), {OUT => 'f'}], ['f', qw(/), {OUT => '/'}], ['g', qw(//), {OUT => "$double_slash"}], ['h', qw(///), {OUT => '/'}], ['i', qw(///a///), {OUT => 'a'}], ['j', qw(''), {OUT => ''}], ['k', qw(aa a), {OUT => 'a'}], ['l', qw(-a a b), {OUT => "a\nb"}], ['m', qw(-s a aa ba ab), {OUT => "a\nb\nab"}], ['n', qw(a-a -a), {OUT => 'a'}], ['1', qw(f.s .s), {OUT => 'f'}], ['2', qw(fs s), {OUT => 'f'}], ['3', qw(fs fs), {OUT => 'fs'}], ['4', qw(fs/ s), {OUT => 'f'}], ['5', qw(dir/file.suf .suf), {OUT => 'file'}], ['6', qw(// /), {OUT => "$double_slash"}], ['7', qw(// //), {OUT => "$double_slash"}], ['8', qw(fs x), {OUT => 'fs'}], ['9', qw(fs ''), {OUT => 'fs'}], ['10', qw(fs/ s/), {OUT => 'fs'}], # Exercise -z option. ['z0', qw(-z a), {OUT => "a\0"}], ['z1', qw(--zero a), {OUT => "a\0"}], ['z2', qw(-za a b), {OUT => "a\0b\0"}], ['z3', qw(-z ba a), {OUT => "b\0"}], ['z4', qw(-z -s a ba), {OUT => "b\0"}], ); # Append a newline to end of each expected 'OUT' string. # Skip -z tests, i.e. those whose 'OUT' string has a trailing '\0'. my $t; foreach $t (@Tests) { my $arg1 = $t->[1]; my $e; foreach $e (@$t) { $e->{OUT} = "$e->{OUT}\n" if ref $e eq 'HASH' and exists $e->{OUT} and not $e->{OUT} =~ /\0$/; } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-owned-by-other.sh������������������������������������������������0000775�0000000�0000000�00000002351�12102337340�017464� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate that "truncate -s0 writable-but-owned-by-other" works. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate require_root_ group_num=$(id -g $NON_ROOT_USERNAME) # Create a file owned by root, and writable by $NON_ROOT_USERNAME. echo > root-owned || framework_failure_ chgrp +$group_num . root-owned || framework_failure_ chmod g+w root-owned # Ensure that the current directory is searchable by $NON_ROOT_USERNAME. chmod g+x . setuidgid $NON_ROOT_USERNAME env PATH="$PATH" truncate -s0 root-owned || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/printf-cov.pl�������������������������������������������������������������0000775�0000000�0000000�00000010244�12102337340�015066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # improve printf.c test coverage # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'printf'; my $try = "Try '$prog --help' for more information.\n"; my $pow_2_31 = 2**31; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['no-args', {EXIT=>1}, {ERR=>"$prog: missing operand\n$try"}], ['no-arg2', '--', {EXIT=>1}, {ERR=>"$prog: missing operand\n$try"}], ['escape-1', q('\a\b\f\n\r\t\v\z\c'), {OUT=>"\a\b\f\n\r\t\x0b\\z"}], ['hex-ucX', '%X 999', {OUT=>"3E7"}], ['hex-ucXw', '%4X 999', {OUT=>" 3E7"}], ['hex-ucXp', '%.4X 999', {OUT=>"03E7"}], ['hex-ucXwp', '%5.4X 999', {OUT=>" 03E7"}], ['hex-vw', '%*X 4 42', {OUT=>" 2A"}], ['hex-vp', '%.*X 4 42', {OUT=>"002A"}], ['hex-vwvp', '%*.*X 3 2 15', {OUT=>" 0F"}], ['b', q('nl\ntab\tx'), {OUT=>"nl\ntab\tx"}], ['c1', '%c 123', {OUT=>"1"}], ['cw', '%\*c 3 123', {OUT=>" 1"}], ['d-ucXwp', '%5.4d 999', {OUT=>" 0999"}], ['d-vw', '%*d 4 42', {OUT=>" 42"}], ['d-vp', '%.*d 4 42', {OUT=>"0042"}], ['d-vwvp', '%*.*d 3 2 15', {OUT=>" 15"}], ['d-neg-prec', '%.*d -3 15', {OUT=>"15"}], ['d-big-prec', "%.*d $pow_2_31 15", # INT_MAX {EXIT=>1}, {ERR=>"$prog: invalid precision: $pow_2_31\n"}], ['d-big-fwidth', "%*d $pow_2_31 15", # INT_MAX {EXIT=>1}, {ERR=>"$prog: invalid field width: $pow_2_31\n"}], ['F', '%F 1', {OUT=>"1.000000"}], ['LF', '%LF 1', {OUT=>"1.000000"}], ['E', '%E 2', {OUT=>"2.000000E+00"}], ['LE', '%LE 2', {OUT=>"2.000000E+00"}], ['s', '%s x', {OUT=>"x"}], ['sw', '%\*s 2 x', {OUT=>" x"}], ['sp', '%.\*s 2 abcd', {OUT=>"ab"}], ['swp', '%\*.\*s 2 2 abcd', {OUT=>"ab"}], ['sw-no-args', '%\*s'], ['sw-no-args2', '%.\*s'], ['G-ucXwp', '%5.4G 3', {OUT=>" 3"}], ['G-vw', '%*G 4 42', {OUT=>" 42"}], ['G-vp', '%.*G 4 42', {OUT=>"42"}], ['G-vwvp', '%*.*G 5 3 15', {OUT=>" 15"}], ['esc', q('\xaa\0377'), {OUT=>"\xaa\0377"}], ['esc-bad-hex', q('\x'), {EXIT=>1}, {ERR=>"$prog: missing hexadecimal number in escape\n"}], # ['u4', q('\u09ac'), {OUT=>"\xe0a6ac"}], ['u-invalid', q('\u0000'), {EXIT=>1}, {ERR=>"$prog: invalid universal character name \\u0000\n"}], ['u-missing', q('\u'), {EXIT=>1}, {ERR=>"$prog: missing hexadecimal number in escape\n"}], ['d-invalid', '%d no-num', {OUT=>'0'}, {EXIT=>1}, # Depending on the strtol implementation we expect one of these: # no-num: Invalid argument (FreeBSD6) # no-num: expected a numeric value (glibc, Solaris 10) {ERR_SUBST => 's/Invalid argument$/expected a numeric value/'}, {ERR=>"$prog: no-num: expected a numeric value\n"}], ['d-bad-suffix', '%d 9z', {OUT=>'9'}, {EXIT=>1}, {ERR=>"$prog: 9z: value not completely converted\n"}], ['d-out-of-range', '%d '.('9'x30), {EXIT=>1}, {OUT=>"inaccurate"}, {OUT_SUBST => 's/\d+/inaccurate/'}, {ERR=>"$prog: 9...9\n"}, {ERR_SUBST => 's/9+.*/9...9/'}], ['excess', 'B 1', {OUT=>'B'}, {ERR=>"$prog: warning: ignoring excess arguments, starting with '1'\n"}], ['percent', '%%', {OUT=>'%'}], ['d-sp', q('% d' 33), {OUT=>' 33'}], ['d-plus', q('%+d' 33), {OUT=>'+33'}], ['d-minus', q('%-d' 33), {OUT=> '33'}], ['d-zero', q('%02d' 1), {OUT=> '01'}], ['d-quote', q("%'d" 3333), {OUT=> '3333'}, {OUT_SUBST => 'tr/3//c'}], ['d-hash', q("%#d" 3333), {EXIT=>1}, {ERR=>"$prog: %#d: invalid conversion specification\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, \$prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/printf-surprise.sh��������������������������������������������������������0000775�0000000�0000000�00000007147�12102337340�016162� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Detect printf(3) failure even when it doesn't set stream error indicator # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. prog=printf . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ printf require_ulimit_ # Up to coreutils-6.9, "printf %.Nf 0" would encounter an ENOMEM internal # error from glibc's printf(3) function whenever N was large relative to # the size of available memory. As of Oct 2007, that internal stream- # related failure was not reflected (for any libc I know of) in the usual # stream error indicator that is tested by ferror. The result was that # while the printf command obviously failed (generated no output), # it mistakenly exited successfully (exit status of 0). # Testing it is tricky, because there is so much variance # in quality for this corner of printf(3) implementations. # Most implementations do attempt to allocate N bytes of storage. # Using the maximum value for N (2^31-1) causes glibc-2.7 to try to # allocate almost 2^64 bytes, while freeBSD 6.1's implementation # correctly outputs almost 2GB worth of 0's, which takes too long. # We want to test implementations that allocate N bytes, but without # triggering the above extremes. # Some other versions of glibc-2.7 have a snprintf function that segfaults # when an internal (technically unnecessary!) memory allocation fails. # The compromise is to limit virtual memory to something reasonable, # and to make an N-byte-allocating-printf require more than that, thus # triggering the printf(3) misbehavior -- which, btw, is required by ISO C99. mkfifo_or_skip_ fifo # Disable MALLOC_PERTURB_, to avoid triggering this bug # http://bugs.debian.org/481543#77 export MALLOC_PERTURB_=0 head -c 10 fifo > out & # Choosing the virtual memory limit, 11000 is enough, but 10000 is too # little and provokes a "memory exhausted" diagnostic on FreeBSD 9.0-p3. ( ulimit -v 15000; env $prog %20000000f 0 2>err-msg > fifo ) exit=$? # Map this longer, and rarer, diagnostic to the common one. # printf: cannot perform formatted output: Cannot allocate memory" \ sed 's/cannot perform .*/write error/' err-msg > k && mv k err-msg err_msg=$(cat err-msg|tr '\n' :) # By some bug, on Solaris 11 (5.11 snv_86), err_msg ends up # containing '1> fifo:printf: write error:'. Recognize that, too. case $err_msg in "$prog: write error:"*) diagnostic=y ;; "1> fifo:$prog: write error:") diagnostic=y ;; '') diagnostic=n ;; *) diagnostic=unexpected ;; esac n_out=$(wc -c < out) case $n_out:$diagnostic:$exit in 10:n:0) ;; # ok, succeeds w/no diagnostic: FreeBSD 6.1 0:y:1) ;; # ok, glibc-2.8 and newer, when printf(3) fails with ENOMEM # With MALLOC_PERTURB_=0, this no longer happens. # *:139) # segfault; known bug at least in debian unstable's libc6 2.7-11 # echo 1>&2 "$0: bug in snprintf causes low-mem use of printf to segfault" # fail=77;; # 10:y) ;; # Fail: doesn't happen: nobody succeeds with a diagnostic # 0:n) ;; # Fail pre-patch: no output, no diag *) fail=1;; esac Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/readlink-root.sh����������������������������������������������������������0000775�0000000�0000000�00000004560�12102337340�015554� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # tests for canonicalize-existing mode (readlink -e) on /. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink stat_single=$(stat -c %d:%i /) || framework_failure_ stat_double=$(stat -c %d:%i //) || framework_failure_ double_slash=// if test x"$stat_single" = x"$stat_double"; then double_slash=/ fi test -d /dev || framework_failure_ ln -s / one || framework_failure_ ln -s // two || framework_failure_ ln -s /// three || framework_failure_ ln -s /./..// one-dots || framework_failure_ ln -s //./..// two-dots || framework_failure_ ln -s ///./..// three-dots || framework_failure_ ln -s /dev one-dev || framework_failure_ ln -s //dev two-dev || framework_failure_ ln -s ///dev three-dev || framework_failure_ cat >exp <<EOF || framework_failure_ / $double_slash / / $double_slash / / $double_slash / / $double_slash / /dev ${double_slash}dev /dev /dev ${double_slash}dev /dev /dev ${double_slash}dev /dev EOF { readlink -e / || fail=1 readlink -e // || fail=1 readlink -e /// || fail=1 readlink -e /.//.. || fail=1 readlink -e //.//.. || fail=1 readlink -e ///.//.. || fail=1 readlink -e one || fail=1 readlink -e two || fail=1 readlink -e three || fail=1 readlink -e one-dots || fail=1 readlink -e two-dots || fail=1 readlink -e three-dots || fail=1 readlink -e one-dev || fail=1 # We know /dev exists, but cannot assume //dev exists readlink -f two-dev || fail=1 readlink -e three-dev || fail=1 readlink -e one/dev || fail=1 readlink -f two/dev || fail=1 readlink -e three/dev || fail=1 readlink -e one-dots/dev || fail=1 readlink -f two-dots/dev || fail=1 readlink -e three-dots/dev || fail=1 } > out compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/factor.pl�����������������������������������������������������������������0000775�0000000�0000000�00000010425�12102337340�014256� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "factor". # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'factor'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['1', '9', {OUT => '3 3'}], ['1a', '7', {OUT => '7'}], ['1b', ' +7', {OUT => '7'}], ['2', '4294967291', {OUT => '4294967291'}], ['3', '4294967292', {OUT => '2 2 3 3 7 11 31 151 331'}], ['4', '4294967293', {OUT => '9241 464773'}], ['a', '4294966201', {OUT => '12197 352133'}], ['b', '4294966339', {OUT => '13187 325697'}], ['c', '4294966631', {OUT => '13729 312839'}], ['d', '4294966457', {OUT => '14891 288427'}], ['e', '4294966759', {OUT => '21649 198391'}], ['f', '4294966573', {OUT => '23071 186163'}], ['g', '4294967101', {OUT => '23603 181967'}], ['h', '4294966519', {OUT => '34583 124193'}], ['i', '4294966561', {OUT => '36067 119083'}], ['j', '4294966901', {OUT => '37747 113783'}], ['k', '4294966691', {OUT => '39241 109451'}], ['l', '4294966969', {OUT => '44201 97169'}], ['m', '4294967099', {OUT => '44483 96553'}], ['n', '4294966271', {OUT => '44617 96263'}], ['o', '4294966789', {OUT => '50411 85199'}], ['p', '4294966189', {OUT => '53197 80737'}], ['q', '4294967213', {OUT => '57139 75167'}], ['s', '4294967071', {OUT => '65521 65551'}], ['t', '4294966194', {OUT => '2 3 3 3 3 3 3 3 53 97 191'}], ['u', '4294966272', {OUT => '2 2 2 2 2 2 2 2 2 2 3 23 89 683'}], ['v', '4294966400', {OUT => '2 2 2 2 2 2 2 5 5 1342177'}], ['w', '4294966464', {OUT => '2 2 2 2 2 2 3 3 3 2485513'}], ['x', '4294966896', {OUT => '2 2 2 2 3 3 3 11 607 1489'}], ['y', '4294966998', {OUT => '2 3 7 3917 26107'}], ['z', '-1', # Map newer glibc diagnostic to expected. # Also map OpenBSD 5.1's "unknown option" to expected "invalid option". {ERR_SUBST => q!s/'1'/1/;s/unknown/invalid/!}, {ERR => "$prog: invalid option -- 1\n" . "Try '$prog --help' for more information.\n"}, {EXIT => 1}], ['cont', 'a 4', {OUT => "4: 2 2\n"}, {ERR => "$prog: 'a' is not a valid positive integer\n"}, {EXIT => 1}], ['bug-2012-a', '465658903', {OUT => '15259 30517'}], ['bug-2012-b', '2242724851', {OUT => '33487 66973'}], ['bug-2012-c', '6635692801', {OUT => '57601 115201'}], ['bug-2012-d', '17709149503', {OUT => '94099 188197'}], ['bug-2012-e', '17754345703', {OUT => '94219 188437'}], ); # If we have GMP support, append tests to exercise it. (system "grep '^#define HAVE_GMP 1' $ENV{CONFIG_HEADER} > /dev/null") == 0 and push (@Tests, ['bug-gmp-2_sup_128', '340282366920938463463374607431768211456', {OUT => '2 'x127 . '2'}], ['bug-gmp-2_sup_256', '115792089237316195423570985008687907853' . '269984665640564039457584007913129639936', {OUT => '2 'x255 . '2'}]); # Prepend the command line argument and append a newline to end # of each expected 'OUT' string. my $t; Test: foreach $t (@Tests) { (my $arg1 = $t->[1]) =~ s| *\+?||; # Don't fiddle with expected OUT string if there's a nonzero exit status. foreach my $e (@$t) { ref $e eq 'HASH' && exists $e->{EXIT} && $e->{EXIT} and next Test; } foreach my $e (@$t) { ref $e eq 'HASH' && exists $e->{OUT} and $e->{OUT} = "$arg1: $e->{OUT}\n" } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-rand.sh��������������������������������������������������������������0000775�0000000�0000000�00000003545�12102337340�014715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that sort --sort-random doesn't sort. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort seq 100 > in || framework_failure_ sort --random-sort in > out || fail=1 # Fail if the input is the same as the output. # This is a probabilistic test :-) # However, the odds of failure are very low: 1 in 100! (~ 1 in 10^158) compare in out > /dev/null && { fail=1; echo "not random?" 1>&2; } # Fail if the sorted output is not the same as the input. sort -n out > out1 compare in out1 || { fail=1; echo "not a permutation" 1>&2; } # If locale is available then use it to find a random non-C locale. if (locale --version) > /dev/null 2>&1; then locale=$(locale -a | sort --random-sort | $AWK '/^.._/{print;exit}') LC_ALL=$locale sort --random-sort in > out1 || fail=1 LC_ALL=$locale sort --random-sort in > out2 || fail=1 # Fail if the output "randomly" is the same twice in a row. compare out1 out2 > /dev/null && { fail=1; echo "not random with LC_ALL=$locale" 1>&2; } # Fail if the sorted output is not the same as the input. sort -n out > out1 compare in out1 || { fail=1; echo "not a permutation with LC_ALL=$locale" 1>&2; } fi Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/truncate-relative.sh������������������������������������������������������0000775�0000000�0000000�00000002111�12102337340�016426� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate truncate relative sizes # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate # mixture of relative modifiers not allowed truncate --size="+>0" file && fail=1 # mixture of relative modifiers not allowed truncate --size=">+0" file && fail=1 # division by zero truncate --size="/0" file && fail=1 # division by zero truncate --size="%0" file && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/ls-misc.pl����������������������������������������������������������������0000775�0000000�0000000�00000032243�12102337340�014351� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; my $prog = 'ls'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $saved_ls_colors; sub push_ls_colors($) { $saved_ls_colors = $ENV{LS_COLORS} || ''; $ENV{LS_COLORS} = $_[0]; } sub restore_ls_colors() { $ENV{LS_COLORS} = $saved_ls_colors; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } # Set up files used by the setuid-etc tests; skip this entire test if # that cannot be done. sub setuid_setup() { my $test = shell_quote "$ENV{abs_top_builddir}/src/test"; system (qq(touch setuid && chmod u+s setuid && $test -u setuid && touch setgid && chmod g+s setgid && $test -g setgid && mkdir sticky && chmod +t sticky && $test -k sticky && mkdir owt && chmod +t,o+w owt && $test -k owt && mkdir owr && chmod o+w owr)) == 0 or CuSkip::skip "$ME: cannot create setuid/setgid/sticky files," . "so can't run this test\n"; } sub mk_file(@) { foreach my $f (@_) { open (F, '>', $f) && close F or die "creating $f: $!\n"; } } sub mkdir_d {mkdir 'd',0755 or die "d: $!\n"} sub rmdir_d {rmdir 'd' or die "d: $!\n"} my $mkdir = {PRE => sub {mkdir_d}}; my $rmdir = {POST => sub {rmdir_d}}; my $mkdir_reg = {PRE => sub {mkdir_d; mk_file 'd/f' }}; my $rmdir_reg = {POST => sub {unlink 'd/f' or die "d/f: $!\n"; rmdir 'd' or die "d: $!\n"}}; my $mkdir2 = {PRE => sub {mkdir 'd',0755 or die "d: $!\n"; mkdir 'd/e',0755 or die "d/e: $!\n" }}; my $rmdir2 = {POST => sub {rmdir 'd/e' or die "d/e: $!\n"; rmdir 'd' or die "d: $!\n" }}; my $target = {PRE => sub { mkdir 'd',0755 or die "d: $!\n"; symlink '.', 'd/X' or die "d/X: $!\n"; push_ls_colors('ln=target') }}; my $target2 = {POST => sub {unlink 'd/X' or die "d/X: $!\n"; rmdir 'd' or die "d: $!\n"; restore_ls_colors }}; my $slink_d = {PRE => sub {symlink '/', 'd' or die "d: $!\n"; push_ls_colors('ln=01;36:di=01;34:or=40;31;01') }}; my $unlink_d = {POST => sub {unlink 'd' or die "d: $!\n"; restore_ls_colors}}; my $mkdir_d_slink = {PRE => sub {mkdir 'd',0755 or die "d: $!\n"; symlink '/', 'd/s' or die "d/s: $!\n" }}; my $rmdir_d_slink = {POST => sub {unlink 'd/s' or die "d/s: $!\n"; rmdir 'd' or die "d: $!\n" }}; sub make_j_d () { mkdir 'j', 0700 or die "creating j: $!\n"; mk_file 'j/d'; chmod 0555, 'j/d' or die "making j/d executable: $!\n"; } my @v1 = (qw(0 9 A Z a z), 'zz~', 'zz', 'zz.~1~', 'zz.0'); my @v_files = ((map { ".$_" } @v1), @v1); my $exe_in_subdir = {PRE => sub { make_j_d (); push_ls_colors('ex=01;32') }}; my $remove_j = {POST => sub {unlink 'j/d' or die "j/d: $!\n"; rmdir 'j' or die "j: $!\n"; restore_ls_colors }}; my $e = "\e[0m"; my $q_bell = {IN => {"q\a" => ''}}; my @Tests = ( # test-name options input expected-output # # quoting tests............................................ ['q-', $q_bell, {OUT => "q\a\n"}, {EXIT => 0}], ['q-N', '-N', $q_bell, {OUT => "q\a\n"}, {ERR => ''}], ['q-q', '-q', $q_bell, {OUT => "q?\n"}], ['q-Q', '-Q', $q_bell, {OUT => "\"q\\a\"\n"}], ['q-lit-q', '--quoting=literal -q', $q_bell, {OUT => "q?\n"}], ['q-qs-lit', '--quoting=literal', $q_bell, {OUT => "q\a\n"}], ['q-qs-sh', '--quoting=shell', $q_bell, {OUT => "q\a\n"}], ['q-qs-sh-a', '--quoting=shell-always', $q_bell, {OUT => "'q\a'\n"}], ['q-qs-c', '--quoting=c', $q_bell, {OUT => "\"q\\a\"\n"}], ['q-qs-esc', '--quoting=escape', $q_bell, {OUT => "q\\a\n"}], ['q-qs-c-1', '--quoting=c', {IN => {"t\004" => ''}}, {OUT => "\"t\\004\"\n"}], ['emptydir', 'd', {OUT => ''}, $mkdir, $rmdir], ['emptydir-x2', 'd d', {OUT => "d:\n\nd:\n"}, $mkdir, $rmdir], ['emptydir-R', '-R d', {OUT => "d:\n"}, $mkdir, $rmdir], # test 'ls -R .' ............................................ ['R-dot', '--ignore="[a-ce-zA-Z]*" -R .', {OUT => ".:\nd\n\n\./d:\n"}, $mkdir, $rmdir], ['slink-dir-F', '-F d', {OUT => "d@\n"}, $slink_d, $unlink_d], ['slink-dir-dF', '-dF d', {OUT => "d@\n"}, $slink_d, $unlink_d], ['slinkdir-dFH', '-dFH d', {OUT => "d/\n"}, $slink_d, $unlink_d], ['slinkdir-dFL', '-dFL d', {OUT => "d/\n"}, $slink_d, $unlink_d], # Test for a bug that was fixed in coreutils-4.5.4. ['sl-F-color', '-F --color=always d', {OUT => "$e\e[01;36md$e\@\n"}, $slink_d, $unlink_d], ['sl-dF-color', '-dF --color=always d', {OUT => "$e\e[01;36md$e\@\n"}, $slink_d, $unlink_d], # A listing with no output should have no color sequences at all. ['no-c-empty', '--color=always d', {OUT => ""}, $mkdir, $rmdir], # A listing with only regular files should have no color sequences at all. ['no-c-reg', '--color=always d', {OUT => "f\n"}, $mkdir_reg, $rmdir_reg], # Test for a bug fixed after coreutils-6.9. ['sl-target', '--color=always d', {OUT => "$e\e[01;34mX$e\n"}, $target, $target2], # Test for another bug fixed after coreutils-6.9. # This one bites only for a system/file system with d_type support. ['sl-dangle', '--color=always d', {OUT => "$e\e[40;31;01mX$e\n"}, {PRE => sub { mkdir 'd',0755 or die "d: $!\n"; symlink 'non-existent', 'd/X' or die "d/X: $!\n"; push_ls_colors('or=40;31;01') }}, {POST => sub {unlink 'd/X' or die "d/X: $!\n"; rmdir 'd' or die "d: $!\n"; restore_ls_colors; }}, ], # Test for a bug fixed after coreutils-8.2. ['sl-dangle2', '-o --time-style=+:TIME: --color=always l', {OUT_SUBST => 's/.*:TIME: //'}, {OUT => "l -> nowhere\n"}, {PRE => sub {symlink 'nowhere', 'l' or die "l: $!\n"; push_ls_colors('ln=target') }}, {POST => sub {unlink 'l' or die "l: $!\n"; restore_ls_colors; }}, ], ['sl-dangle3', '-o --time-style=+:TIME: --color=always l', {OUT_SUBST => 's/.*:TIME: //'}, {OUT => "$e\e[40ml$e -> \e[34mnowhere$e\n"}, {PRE => sub {symlink 'nowhere', 'l' or die "l: $!\n"; push_ls_colors('ln=target:or=40:mi=34:') }}, {POST => sub {unlink 'l' or die "l: $!\n"; restore_ls_colors; }}, ], ['sl-dangle4', '-o --time-style=+:TIME: --color=always l', {OUT_SUBST => 's/.*:TIME: //'}, {OUT => "$e\e[36ml$e -> \e[35mnowhere$e\n"}, {PRE => sub {symlink 'nowhere', 'l' or die "l: $!\n"; push_ls_colors('ln=34:mi=35:or=36:') }}, {POST => sub {unlink 'l' or die "l: $!\n"; restore_ls_colors; }}, ], ['sl-dangle5', '-o --time-style=+:TIME: --color=always l', {OUT_SUBST => 's/.*:TIME: //'}, {OUT => "$e\e[34ml$e -> \e[35mnowhere$e\n"}, {PRE => sub {symlink 'nowhere', 'l' or die "l: $!\n"; push_ls_colors('ln=34:mi=35:') }}, {POST => sub {unlink 'l' or die "l: $!\n"; restore_ls_colors; }}, ], # Test for a bug fixed after coreutils-8.13 # where 'argetm' was errenously printed for dangling links # when ln=target was used in LS_COLORS ['sl-dangle6', '-L --color=always d', {OUT => "s\n"}, {PRE => sub {mkdir 'd',0755 or die "d: $!\n"; symlink 'dangle', 'd/s' or die "d/s: $!\n"; push_ls_colors('ln=target') }}, {POST => sub {unlink 'd/s' or die "d/s: $!\n"; rmdir 'd' or die "d: $!\n"; restore_ls_colors; }}, {ERR => "ls: cannot access d/s: No such file or directory\n"}, {EXIT => 1} ], # Related to the above fix, is this case where # the code simulates "linkok". In this case "linkmode" # should always be zero, and hence not trigger any # issues with type being set to C_LINK ['sl-dangle7', '--color=always d', {OUT => "$e\e[ms$e\n"}, {PRE => sub {mkdir 'd',0755 or die "d: $!\n"; symlink 'dangle', 'd/s' or die "d/s: $!\n"; push_ls_colors('ln=target:or=:ex=:') }}, {POST => sub {unlink 'd/s' or die "d/s: $!\n"; rmdir 'd' or die "d: $!\n"; restore_ls_colors; }}, ], # Another case with simulated "linkok", that does # actually use the value of 'ln' from $LS_COLORS. # This path is not taken though when 'ln=target'. ['sl-dangle8', '--color=always s', {OUT => "$e\e[1;36ms$e\n"}, {PRE => sub {symlink 'dangle', 's' or die "s: $!\n"; push_ls_colors('ln=1;36:or=:') }}, {POST => sub {unlink 's' or die "s: $!\n"; restore_ls_colors; }}, ], # The patch associated with sl-dangle[678] introduced a regression # that was fixed after coreutils-8.19. This edge case triggers when # listing a dir containing dangling symlinks, but with orphans uncolored. # I.E. the same as the previous test, but listing the directory # rather than the symlink directly. ['sl-dangle9', '--color=always d', {OUT => "$e\e[1;36ms$e\n"}, {PRE => sub {mkdir 'd',0755 or die "d: $!\n"; symlink 'dangle', 'd/s' or die "d/s: $!\n"; push_ls_colors('ln=1;36:or=:') }}, {POST => sub {unlink 'd/s' or die "d/s: $!\n"; rmdir 'd' or die "d: $!\n"; restore_ls_colors; }}, ], # Test for a bug that was introduced in coreutils-4.5.4; fixed in 4.5.5. # To demonstrate it, the file in question (with executable bit set) # must not be a command line argument. ['color-exe1', '--color=always j', {OUT => "$e\e[01;32md$e\n"}, $exe_in_subdir, $remove_j], # From Stéphane Chazelas. ['no-a-isdir-b', 'no-dir d', {OUT => "d:\n"}, {ERR => "ls: cannot access no-dir: No such file or directory\n"}, $mkdir, $rmdir, {EXIT => 2}], ['recursive-2', '-R d', {OUT => "d:\ne\n\nd/e:\n"}, $mkdir2, $rmdir2], ['setuid-etc', '-1 -d --color=always owr owt setgid setuid sticky', {OUT => "$e\e[34;42mowr$e\n" . "\e[30;42mowt$e\n" . "\e[30;43msetgid$e\n" . "\e[37;41msetuid$e\n" . "\e[37;44msticky$e\n" }, {POST => sub { unlink qw(setuid setgid); foreach my $dir (qw(owr owt sticky)) {rmdir $dir} }}, ], # For 5.97 and earlier, --file-type acted like --indicator-style=slash. ['file-type', '--file-type d', {OUT => "s@\n"}, $mkdir_d_slink, $rmdir_d_slink], # 7.1 had a regression in how -v -a ordered some files ['version-sort', '-v -A ' . join (' ', @v_files), {OUT => join ("\n", @v_files) . "\n"}, {PRE => sub { mk_file @v_files }}, {POST => sub { unlink @v_files }}, ], # Test for the ls -1U bug fixed in coreutils-7.5. # It is triggered only with -1U and with two or more arguments, # at least one of which is a nonempty directory. ['multi-arg-U1', '-U1 d no-such', {OUT => "d:\nf\n"}, {ERR_SUBST=>'s/ch:.*/ch:/'}, {ERR => "$prog: cannot access no-such:\n"}, $mkdir_reg, $rmdir_reg, {EXIT => 2}, ], ); umask 022; # Start with an unset LS_COLORS environment variable. delete $ENV{LS_COLORS}; my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; setuid_setup; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); $fail and exit 1; # Be careful to use the just-build dircolors. my $env = qx/dircolors -b/; $env =~ s/^LS_COLORS=\'//; $env =~ s/\';.*//sm; $ENV{LS_COLORS} = $env; setuid_setup; $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/csplit-heap.sh������������������������������������������������������������0000775�0000000�0000000�00000001653�12102337340�015213� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that csplit uses a bounded amount of memory # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ csplit require_ulimit_ ( ulimit -v 20000 { yes | head -n2500000; echo n; } | csplit -z - %n%1 ) || fail=1 Exit $fail �������������������������������������������������������������������������������������coreutils-8.21/tests/misc/numfmt.pl�����������������������������������������������������������������0000664�0000000�0000000�00000122351�12106000646�014305� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Basic tests for "numfmt". # Copyright (C) 2012 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'numfmt'; # TODO: add localization tests with "grouping" # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $locale = $ENV{LOCALE_FR_UTF8}; ! defined $locale || $locale eq 'none' and $locale = 'C'; my @Tests = ( ['1', '1234', {OUT => "1234"}], ['2', '--from=si 1K', {OUT => "1000"}], ['3', '--from=iec 1K', {OUT => "1024"}], ['4', '--from=auto 1K', {OUT => "1000"}], ['5', '--from=auto 1Ki', {OUT => "1024"}], ['5.1', '--from=iec-i 1Ki', {OUT => "1024"}], ['6', {IN_PIPE => "1234\n"}, {OUT => "1234"}], ['7', '--from=si', {IN_PIPE => "2K\n"}, {OUT => "2000"}], ['7a', '--invalid=fail', {IN_PIPE => "no_NL"}, {OUT => "no_NL"}, {ERR => "$prog: invalid number: 'no_NL'\n"}, {EXIT => '2'}], ['8', '--to=si 2000', {OUT => "2.0K"}], ['9', '--to=si 2001', {OUT => "2.1K"}], ['10', '--to=si 1999', {OUT => "2.0K"}], ['11', '--to=si --round=down 2001', {OUT => "2.0K"}], ['12', '--to=si --round=down 1999', {OUT => "1.9K"}], ['13', '--to=si --round=up 1901', {OUT => "2.0K"}], ['14', '--to=si --round=down 1901', {OUT => "1.9K"}], ['15', '--to=si --round=nearest 1901', {OUT => "1.9K"}], ['16', '--to=si --round=nearest 1945', {OUT => "1.9K"}], ['17', '--to=si --round=nearest 1955', {OUT => "2.0K"}], ['18', '--to=iec 2048', {OUT => "2.0K"}], ['19', '--to=iec 2049', {OUT => "2.1K"}], ['20', '--to=iec 2047', {OUT => "2.0K"}], ['21', '--to=iec --round=down 2049', {OUT => "2.0K"}], ['22', '--to=iec --round=down 2047', {OUT => "1.9K"}], ['23', '--to=iec --round=up 2040', {OUT => "2.0K"}], ['24', '--to=iec --round=down 2040', {OUT => "1.9K"}], ['25', '--to=iec --round=nearest 1996', {OUT => "1.9K"}], ['26', '--to=iec --round=nearest 1997', {OUT => "2.0K"}], ['27', '--to=iec-i 2048', {OUT => "2.0Ki"}], ['neg-1', '-- -1234', {OUT => "-1234"}], ['neg-2', '--padding=5 -- -1234', {OUT => "-1234"}], ['neg-3', '--padding=6 -- -1234', {OUT => " -1234"}], ['neg-4', '--to=iec -- 9100 -9100', {OUT => "8.9K\n-8.9K"}], ['neg-5', '-- -0.1', {OUT => "-0.1"}], ['neg-6', '-- -0', {OUT => "0"}], ['neg-7', '-- -0.-1', {ERR => "$prog: invalid number: '-0.-1'\n"}, {EXIT => '2'}], ['float-1', '1.1', {OUT => "1.1"}], ['float-2', '1.22', {OUT => "1.22"}], ['float-3', '1.22.', {ERR => "$prog: invalid suffix in input: '1.22.'\n"}, {EXIT => '2'}], ['unit-1', '--from-unit=512 4', {OUT => "2048"}], ['unit-2', '--to-unit=512 2048', {OUT => "4"}], ['unit-3', '--from-unit=512 --from=si 4M', {OUT => "2048000000"}], ['unit-4', '--from-unit=512 --from=iec --to=iec 4M', {OUT => "2.0G"}], ['unit-5', '--from-unit=AA --from=iec --to=iec 4M', {ERR => "$prog: invalid unit size: 'AA'\n"}, {EXIT => '1'}], ['unit-6', '--from-unit=54W --from=iec --to=iec 4M', {ERR => "$prog: invalid unit size: '54W'\n"}, {EXIT => '1'}], # Not fully documented.. "--{from,to}-unit" can accept IEC suffixes ['unit-7', '--from-unit=2K --to=iec 30', {OUT=>"60K"}], ['unit-8', '--from-unit=1234567890123456789012345 --to=iec 30', {ERR => "$prog: invalid unit size: '1234567890123456789012345'\n"}, {EXIT => '1'}], ['unit-9', '--from-unit=0 1', {ERR => "$prog: invalid unit size: '0'\n"}, {EXIT => '1'}], ['unit-10', '--to-unit=0 1', {ERR => "$prog: invalid unit size: '0'\n"}, {EXIT => '1'}], # Test Suffix logic ['suf-1', '4000', {OUT=>'4000'}], ['suf-2', '4Q', {ERR => "$prog: invalid suffix in input: '4Q'\n"}, {EXIT => '2'}], ['suf-2.1', '4M', {ERR => "$prog: rejecting suffix " . "in input: '4M' (consider using --from)\n"}, {EXIT => '2'}], ['suf-3', '--from=si 4M', {OUT=>'4000000'}], ['suf-4', '--from=si 4Q', {ERR => "$prog: invalid suffix in input: '4Q'\n"}, {EXIT => '2'}], ['suf-5', '--from=si 4MQ', {ERR => "$prog: invalid suffix in input '4MQ': 'Q'\n"}, {EXIT => '2'}], ['suf-6', '--from=iec 4M', {OUT=>'4194304'}], ['suf-7', '--from=auto 4M', {OUT=>'4000000'}], ['suf-8', '--from=auto 4Mi', {OUT=>'4194304'}], ['suf-9', '--from=auto 4MiQ', {ERR => "$prog: invalid suffix in input '4MiQ': 'Q'\n"}, {EXIT => '2'}], ['suf-10', '--from=auto 4QiQ', {ERR => "$prog: invalid suffix in input: '4QiQ'\n"}, {EXIT => '2'}], # characters after a white space are OK - printed as-is ['suf-11', '"4 M"', {OUT=>'4 M'}], # Custom suffix ['suf-12', '--suffix=Foo 70Foo', {OUT=>'70Foo'}], ['suf-13', '--suffix=Foo 70', {OUT=>'70Foo'}], ['suf-14', '--suffix=Foo --from=si 70K', {OUT=>'70000Foo'}], ['suf-15', '--suffix=Foo --from=si 70KFoo', {OUT=>'70000Foo'}], ['suf-16', '--suffix=Foo --to=si 7000Foo', {OUT=>'7.0KFoo'}], ['suf-17', '--suffix=Foo --to=si 7000Bar', {ERR => "$prog: invalid suffix in input: '7000Bar'\n"}, {EXIT => '2'}], ['suf-18', '--suffix=Foo --to=si 7000FooF', {ERR => "$prog: invalid suffix in input: '7000FooF'\n"}, {EXIT => '2'}], # space(s) between number and suffix. Note only field 1 is used # by default so specify the NUL delimiter to consider the whole "line". ['suf-19', "-d '' --from=si '4.0 K'", {OUT => "4000"}], ## GROUPING # "C" locale - no grouping (locale-specific tests, below) ['grp-1', '--from=si --grouping 7M', {OUT=>'7000000'}], ['grp-2', '--from=si --to=si --grouping 7M', {ERR => "$prog: grouping cannot be combined with --to\n"}, {EXIT => '1'}], ## Padding ['pad-1', '--padding=10 5', {OUT=>' 5'}], ['pad-2', '--padding=-10 5', {OUT=>'5 '}], ['pad-3', '--padding=A 5', {ERR => "$prog: invalid padding value 'A'\n"}, {EXIT => '1'}], ['pad-3.1', '--padding=0 5', {ERR => "$prog: invalid padding value '0'\n"}, {EXIT => '1'}], ['pad-4', '--padding=10 --to=si 50000', {OUT=>' 50K'}], ['pad-5', '--padding=-10 --to=si 50000', {OUT=>'50K '}], # padding too narrow ['pad-6', '--padding=2 --to=si 1000', {OUT=>'1.0K'}], # Padding + suffix ['pad-7', '--padding=10 --suffix=foo --to=si 50000', {OUT=>' 50Kfoo'}], ['pad-8', '--padding=-10 --suffix=foo --to=si 50000', {OUT=>'50Kfoo '}], # Delimiters ['delim-1', '--delimiter=: --from=auto 40M:', {OUT=>'40000000:'}], ['delim-2', '--delimiter="" --from=auto "40 M"',{OUT=>'40000000'}], ['delim-3', '--delimiter=" " --from=auto "40M Foo"',{OUT=>'40000000 Foo'}], ['delim-4', '--delimiter=: --from=auto 40M:60M', {OUT=>'40000000:60M'}], ['delim-5', '-d: --field=2 --from=auto :40M:60M', {OUT=>':40000000:60M'}], ['delim-6', '--delimiter=: --field 3 --from=auto 40M:60M', {EXIT=>2}, {ERR=>"$prog: input line is too short, no numbers found " . "to convert in field 3\n"}], #Fields ['field-1', '--field A', {ERR => "$prog: invalid field value 'A'\n"}, {EXIT => '1'}], ['field-1.1', '--field -5', {ERR => "$prog: invalid field value '-5'\n"}, {EXIT => '1'}], ['field-2', '--field 2 --from=auto "Hello 40M World 90G"', {OUT=>'Hello 40000000 World 90G'}], ['field-3', '--field 3 --from=auto "Hello 40M World 90G"', {ERR=>"$prog: invalid number: 'World'\n"}, {EXIT => 2},], # Last field - no text after number ['field-4', '--field 4 --from=auto "Hello 40M World 90G"', {OUT=>"Hello 40M World 90000000000"}], # Last field - a delimiter after the number ['field-5', '--field 4 --from=auto "Hello 40M World 90G "', {OUT=>"Hello 40M World 90000000000 "}], # Mix Fields + Delimiters ['field-6', '--delimiter=: --field 2 --from=auto "Hello:40M:World:90G"', {OUT=>"Hello:40000000:World:90G"}], # not enough fields ['field-8', '--field 3 --to=si "Hello World"', {EXIT=>2}, {ERR=>"$prog: input line is too short, no numbers found " . "to convert in field 3\n"}], # Auto-consume white-space, setup auto-padding ['whitespace-1', '--to=si --field 2 "A 500 B"', {OUT=>"A 500 B"}], ['whitespace-2', '--to=si --field 2 "A 5000 B"', {OUT=>"A 5.0K B"}], ['whitespace-3', '--to=si " 500"', {OUT=>" 500"}], ['whitespace-4', '--to=si " 6500"', {OUT=>" 6.5K"}], # NOTE: auto-padding is not enabled if the value is on the first # field and there's no white-space before it. ['whitespace-5', '--to=si "6000000"', {OUT=>"6.0M"}], # but if there is whitespace, assume auto-padding is desired. ['whitespace-6', '--to=si " 6000000"', {OUT=>" 6.0M"}], # auto-padding - lines have same padding-width # (padding_buffer will be alloc'd just once) ['whitespace-7', '--to=si --field 2', {IN_PIPE=>"rootfs 100000\n" . "udevxx 2000000\n"}, {OUT =>"rootfs 100K\n" . "udevxx 2.0M"}], # auto-padding - second line requires a # larger padding (padding-buffer needs to be realloc'd) ['whitespace-8', '--to=si --field 2', {IN_PIPE=>"rootfs 100000\n" . "udev 20000000\n"}, {OUT =>"rootfs 100K\n" . "udev 20M"}], # Corner-cases: # weird mix of identical suffix,delimiters # The priority is: # 1. delimiters (and fields) are parsed (in process_line() # 2. optional custom suffix is removed (in process_suffixed_number()) # 3. Remaining suffixes must be valid SI/IEC (in human_xstrtol()) # custom suffix comes BEFORE SI/IEC suffix, # so these are 40 of "M", not 40,000,000. ['mix-1', '--suffix=M --from=si 40M', {OUT=>"40M"}], # These are fourty-million Ms . ['mix-2', '--suffix=M --from=si 40MM', {OUT=>"40000000M"}], ['mix-3', '--suffix=M --from=auto 40MM', {OUT=>"40000000M"}], ['mix-4', '--suffix=M --from=auto 40MiM', {OUT=>"41943040M"}], ['mix-5', '--suffix=M --to=si --from=si 4MM', {OUT=>"4.0MM"}], # This might be confusing to the user, but it's legit: # The M in the output is the custom suffix, not Mega. ['mix-6', '--suffix=M 40', {OUT=>"40M"}], ['mix-7', '--suffix=M 4000000', {OUT=>"4000000M"}], ['mix-8', '--suffix=M --to=si 4000000', {OUT=>"4.0MM"}], # The output 'M' is the custom suffix. ['mix-10', '--delimiter=M --suffix=M 40', {OUT=>"40M"}], # The INPUT 'M' is a delimiter (delimiters are top priority) # The output contains one M for custom suffix, and one 'M' delimiter. ['mix-11', '--delimiter=M --suffix=M 40M', {OUT=>"40MM"}], # Same as above, the "M" is NOT treated as a mega SI prefix, ['mix-12', '--delimiter=M --from=si --suffix=M 40M', {OUT=>"40MM"}], # The 'M' is treated as a delimiter, and so the input value is '4000' ['mix-13', '--delimiter=M --to=si --from=auto 4000M5000M9000', {OUT=>"4.0KM5000M9000"}], # 'M' is the delimiter, so the second input field is '5000' ['mix-14', '--delimiter=M --field 2 --from=auto --to=si 4000M5000M9000', {OUT=>"4000M5.0KM9000"}], ## Header testing # header - silently ignored with command line parameters ['header-1', '--header --to=iec 4096', {OUT=>"4.0K"}], # header warning with --debug ['header-2', '--debug --header --to=iec 4096', {OUT=>"4.0K"}, {ERR=>"$prog: --header ignored with command-line input\n"}], ['header-3', '--header=A', {ERR=>"$prog: invalid header value 'A'\n"}, {EXIT => 1},], ['header-4', '--header=0', {ERR=>"$prog: invalid header value '0'\n"}, {EXIT => 1},], ['header-5', '--header=-6', {ERR=>"$prog: invalid header value '-6'\n"}, {EXIT => 1},], ['header-6', '--debug --header --to=iec', {IN_PIPE=>"size\n5000\n90000\n"}, {OUT=>"size\n4.9K\n88K"}], ['header-7', '--debug --header=3 --to=iec', {IN_PIPE=>"hello\nworld\nsize\n5000\n90000\n"}, {OUT=>"hello\nworld\nsize\n4.9K\n88K"}], # header, but no actual content ['header-8', '--header=2 --to=iec', {IN_PIPE=>"hello\nworld\n"}, {OUT=>"hello\nworld"}], # not enough header lines ['header-9', '--header=3 --to=iec', {IN_PIPE=>"hello\nworld\n"}, {OUT=>"hello\nworld"}], ## human_strtod testing # NO_DIGITS_FOUND ['strtod-1', '--from=si "foo"', {ERR=>"$prog: invalid number: 'foo'\n"}, {EXIT=> 2}], ['strtod-2', '--from=si ""', {ERR=>"$prog: invalid number: ''\n"}, {EXIT=> 2}], # INTEGRAL_OVERFLOW ['strtod-3', '--from=si "1234567890123456789012345678901234567890'. '1234567890123456789012345678901234567890"', {ERR=>"$prog: value too large to be converted: '" . "1234567890123456789012345678901234567890" . "1234567890123456789012345678901234567890'\n", }, {EXIT=> 2}], # FRACTION_NO_DIGITS_FOUND ['strtod-5', '--from=si 12.', {ERR=>"$prog: invalid number: '12.'\n"}, {EXIT=>2}], ['strtod-6', '--from=si 12.K', {ERR=>"$prog: invalid number: '12.K'\n"}, {EXIT=>2}], # whitespace is not allowed after decimal-point ['strtod-6.1', '--from=si --delimiter=, "12. 2"', {ERR=>"$prog: invalid number: '12. 2'\n"}, {EXIT=>2}], # FRACTION_OVERFLOW ['strtod-7', '--from=si "12.1234567890123456789012345678901234567890'. '1234567890123456789012345678901234567890"', {ERR=>"$prog: value too large to be converted: '" . "12.1234567890123456789012345678901234567890" . "1234567890123456789012345678901234567890'\n", }, {EXIT=> 2}], # INVALID_SUFFIX ['strtod-9', '--from=si 12.2Q', {ERR=>"$prog: invalid suffix in input: '12.2Q'\n"}, {EXIT=>2}], # VALID_BUT_FORBIDDEN_SUFFIX ['strtod-10', '12M', {ERR => "$prog: rejecting suffix " . "in input: '12M' (consider using --from)\n"}, {EXIT=>2}], # MISSING_I_SUFFIX ['strtod-11', '--from=iec-i 12M', {ERR => "$prog: missing 'i' suffix in input: " . "'12M' (e.g Ki/Mi/Gi)\n"}, {EXIT=>2}], # # Test double_to_human() # # 1K and smaller ['dbl-to-human-1','--to=si 800', {OUT=>"800"}], ['dbl-to-human-2','--to=si 0', {OUT=>"0"}], ['dbl-to-human-2.1','--to=si 999', {OUT=>"999"}], ['dbl-to-human-2.2','--to=si 1000', {OUT=>"1.0K"}], #NOTE: the following are consistent with "ls -lh" output ['dbl-to-human-2.3','--to=iec 999', {OUT=>"999"}], ['dbl-to-human-2.4','--to=iec 1023', {OUT=>"1023"}], ['dbl-to-human-2.5','--to=iec 1024', {OUT=>"1.0K"}], ['dbl-to-human-2.6','--to=iec 1025', {OUT=>"1.1K"}], ['dbl-to-human-2.7','--to=iec 0', {OUT=>"0"}], # no "i" suffix if output has no suffix ['dbl-to-human-2.8','--to=iec-i 0', {OUT=>"0"}], # values resulting in "N.Nx" output ['dbl-to-human-3','--to=si 8000', {OUT=>"8.0K"}], ['dbl-to-human-3.1','--to=si 8001', {OUT=>"8.1K"}], ['dbl-to-human-4','--to=si --round=down 8001', {OUT=>"8.0K"}], ['dbl-to-human-5','--to=si --round=down 3500', {OUT=>"3.5K"}], ['dbl-to-human-6','--to=si --round=nearest 3500', {OUT=>"3.5K"}], ['dbl-to-human-7','--to=si --round=up 3500', {OUT=>"3.5K"}], ['dbl-to-human-8','--to=si --round=down 3501', {OUT=>"3.5K"}], ['dbl-to-human-9','--to=si --round=nearest 3501', {OUT=>"3.5K"}], ['dbl-to-human-10','--to=si --round=up 3501', {OUT=>"3.6K"}], ['dbl-to-human-11','--to=si --round=nearest 3550', {OUT=>"3.6K"}], ['dbl-to-human-12','--to=si --from=si 999.89K', {OUT=>"1.0M"}], ['dbl-to-human-13','--to=si --from=si 9.9K', {OUT=>"9.9K"}], ['dbl-to-human-14','--to=si 9900', {OUT=>"9.9K"}], ['dbl-to-human-15','--to=iec --from=si 3.3K', {OUT=>"3.3K"}], ['dbl-to-human-16','--to=iec --round=down --from=si 3.3K', {OUT=>"3.2K"}], # values resulting in 'NNx' output ['dbl-to-human-17','--to=si 9999', {OUT=>"10K"}], ['dbl-to-human-18','--to=si --round=down 35000', {OUT=>"35K"}], ['dbl-to-human-19','--to=iec 35000', {OUT=>"35K"}], ['dbl-to-human-20','--to=iec --round=down 35000', {OUT=>"34K"}], ['dbl-to-human-21','--to=iec 35000000', {OUT=>"34M"}], ['dbl-to-human-22','--to=iec --round=down 35000000', {OUT=>"33M"}], ['dbl-to-human-23','--to=si 35000001', {OUT=>"36M"}], ['dbl-to-human-24','--to=si --from=si 9.99M', {OUT=>"10M"}], ['dbl-to-human-25','--to=si --from=iec 9.99M', {OUT=>"11M"}], ['dbl-to-human-25.1','--to=iec 99999', {OUT=>"98K"}], # values resulting in 'NNNx' output ['dbl-to-human-26','--to=si 999000000000', {OUT=>"999G"}], ['dbl-to-human-27','--to=iec 999000000000', {OUT=>"931G"}], ['dbl-to-human-28','--to=si 123600000000000', {OUT=>"124T"}], ['dbl-to-human-29','--to=si 998123', {OUT=>"999K"}], ['dbl-to-human-30','--to=si --round=nearest 998123', {OUT=>"998K"}], ['dbl-to-human-31','--to=si 99999', {OUT=>"100K"}], ['dbl-to-human-32','--to=iec 102399', {OUT=>"100K"}], ['dbl-to-human-33','--to=iec-i 102399', {OUT=>"100Ki"}], # Default --round=from-zero ['round-1','--to-unit=1024 -- 6000 -6000', {OUT=>"6\n-6"}], ['round-2','--to-unit=1024 -- 6000.0 -6000.0', {OUT=>"5.9\n-5.9"}], ['round-3','--to-unit=1024 -- 6000.00 -6000.00', {OUT=>"5.86\n-5.86"}], ['round-4','--to-unit=1024 -- 6000.000 -6000.000', {OUT=>"5.860\n-5.860"}], ['round-5','--to-unit=1024 -- 6000.0000 -6000.0000', {OUT=>"5.8594\n-5.8594"}], # --round=up ['round-1-up','--round=up --to-unit=1024 -- 6000 -6000', {OUT=>"6\n-5"}], ['round-2-up','--round=up --to-unit=1024 -- 6000.0 -6000.0', {OUT=>"5.9\n-5.8"}], ['round-3-up','--round=up --to-unit=1024 -- 6000.00 -6000.00', {OUT=>"5.86\n-5.85"}], ['round-4-up','--round=up --to-unit=1024 -- 6000.000 -6000.000', {OUT=>"5.860\n-5.859"}], ['round-5-up','--round=up --to-unit=1024 -- 6000.0000 -6000.0000', {OUT=>"5.8594\n-5.8593"}], # --round=down ['round-1-down','--round=down --to-unit=1024 -- 6000 -6000', {OUT=>"5\n-6"}], ['round-2-down','--round=down --to-unit=1024 -- 6000.0 -6000.0', {OUT=>"5.8\n-5.9"}], ['round-3-down','--round=down --to-unit=1024 -- 6000.00 -6000.00', {OUT=>"5.85\n-5.86"}], ['round-4-down','--round=down --to-unit=1024 -- 6000.000 -6000.000', {OUT=>"5.859\n-5.860"}], ['round-5-down','--round=down --to-unit=1024 -- 6000.0000 -6000.0000', {OUT=>"5.8593\n-5.8594"}], # --round=towards-zero ['round-1-to-zero','--ro=towards-zero --to-u=1024 -- 6000 -6000', {OUT=>"5\n-5"}], ['round-2-to-zero','--ro=towards-zero --to-u=1024 -- 6000.0 -6000.0', {OUT=>"5.8\n-5.8"}], ['round-3-to-zero','--ro=towards-zero --to-u=1024 -- 6000.00 -6000.00', {OUT=>"5.85\n-5.85"}], ['round-4-to-zero','--ro=towards-zero --to-u=1024 -- 6000.000 -6000.000', {OUT=>"5.859\n-5.859"}], ['round-5-to-zero','--ro=towards-zero --to-u=1024 -- 6000.0000 -6000.0000', {OUT=>"5.8593\n-5.8593"}], # --round=nearest ['round-1-near','--ro=nearest --to-u=1024 -- 6000 -6000', {OUT=>"6\n-6"}], ['round-2-near','--ro=nearest --to-u=1024 -- 6000.0 -6000.0', {OUT=>"5.9\n-5.9"}], ['round-3-near','--ro=nearest --to-u=1024 -- 6000.00 -6000.00', {OUT=>"5.86\n-5.86"}], ['round-4-near','--ro=nearest --to-u=1024 -- 6000.000 -6000.000', {OUT=>"5.859\n-5.859"}], ['round-5-near','--ro=nearest --to-u=1024 -- 6000.0000 -6000.0000', {OUT=>"5.8594\n-5.8594"}], # Large Values ['large-1','1000000000000000', {OUT=>"1000000000000000"}], # 18 digits is OK ['large-2','1000000000000000000', {OUT=>"1000000000000000000"}], # 19 digits is too much (without output scaling) ['large-3','10000000000000000000', {ERR => "$prog: value too large to be printed: '1e+19' " . "(consider using --to)\n"}, {EXIT=>2}], # Test input: # Up to 27 digits is OK. ['large-3.1', '--to=si 1', {OUT=> "1"}], ['large-3.2', '--to=si 10', {OUT=> "10"}], ['large-3.3', '--to=si 100', {OUT=> "100"}], ['large-3.4', '--to=si 1000', {OUT=>"1.0K"}], ['large-3.5', '--to=si 10000', {OUT=> "10K"}], ['large-3.6', '--to=si 100000', {OUT=>"100K"}], ['large-3.7', '--to=si 1000000', {OUT=>"1.0M"}], ['large-3.8', '--to=si 10000000', {OUT=> "10M"}], ['large-3.9', '--to=si 100000000', {OUT=>"100M"}], ['large-3.10','--to=si 1000000000', {OUT=>"1.0G"}], ['large-3.11','--to=si 10000000000', {OUT=> "10G"}], ['large-3.12','--to=si 100000000000', {OUT=>"100G"}], ['large-3.13','--to=si 1000000000000', {OUT=>"1.0T"}], ['large-3.14','--to=si 10000000000000', {OUT=> "10T"}], ['large-3.15','--to=si 100000000000000', {OUT=>"100T"}], ['large-3.16','--to=si 1000000000000000', {OUT=>"1.0P"}], ['large-3.17','--to=si 10000000000000000', {OUT=> "10P"}], ['large-3.18','--to=si 100000000000000000', {OUT=>"100P"}], ['large-3.19','--to=si 1000000000000000000', {OUT=>"1.0E"}], ['large-3.20','--to=si 10000000000000000000', {OUT=> "10E"}], ['large-3.21','--to=si 210000000000000000000', {OUT=>"210E"}], ['large-3.22','--to=si 3210000000000000000000', {OUT=>"3.3Z"}], ['large-3.23','--to=si 43210000000000000000000', {OUT=> "44Z"}], ['large-3.24','--to=si 543210000000000000000000', {OUT=>"544Z"}], ['large-3.25','--to=si 6543210000000000000000000', {OUT=>"6.6Y"}], ['large-3.26','--to=si 76543210000000000000000000', {OUT=> "77Y"}], ['large-3.27','--to=si 876543210000000000000000000', {OUT=>"877Y"}], # More than 27 digits is not OK ['large-3.28','--to=si 9876543210000000000000000000', {ERR => "$prog: value too large to be converted: " . "'9876543210000000000000000000'\n"}, {EXIT => 2}], # Test Output ['large-4.1', '--from=si 9.7M', {OUT=>"9700000"}], ['large-4.2', '--from=si 10M', {OUT =>"10000000"}], ['large-4.3', '--from=si 200M', {OUT =>"200000000"}], ['large-4.4', '--from=si 3G', {OUT =>"3000000000"}], ['large-4.5', '--from=si 40G', {OUT =>"40000000000"}], ['large-4.6', '--from=si 500G', {OUT =>"500000000000"}], ['large-4.7', '--from=si 6T', {OUT =>"6000000000000"}], ['large-4.8', '--from=si 70T', {OUT =>"70000000000000"}], ['large-4.9', '--from=si 800T', {OUT =>"800000000000000"}], ['large-4.10','--from=si 9P', {OUT =>"9000000000000000"}], ['large-4.11','--from=si 10P', {OUT =>"10000000000000000"}], ['large-4.12','--from=si 200P', {OUT =>"200000000000000000"}], ['large-4.13','--from=si 3E', {OUT =>"3000000000000000000"}], # More than 18 digits of output without scaling - no good. ['large-4.14','--from=si 40E', {ERR => "$prog: value too large to be printed: '4e+19' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.15','--from=si 500E', {ERR => "$prog: value too large to be printed: '5e+20' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.16','--from=si 6Z', {ERR => "$prog: value too large to be printed: '6e+21' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.17','--from=si 70Z', {ERR => "$prog: value too large to be printed: '7e+22' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.18','--from=si 800Z', {ERR => "$prog: value too large to be printed: '8e+23' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.19','--from=si 9Y', {ERR => "$prog: value too large to be printed: '9e+24' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.20','--from=si 10Y', {ERR => "$prog: value too large to be printed: '1e+25' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-4.21','--from=si 200Y', {ERR => "$prog: value too large to be printed: '2e+26' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-5.1','--to=si 1000000000000000000', {OUT=>"1.0E"}], ['large-5','--from=si --to=si 2E', {OUT=>"2.0E"}], ['large-6','--from=si --to=si 3.4Z', {OUT=>"3.4Z"}], ['large-7','--from=si --to=si 80Y', {OUT=>"80Y"}], ['large-8','--from=si --to=si 9000Z', {OUT=>"9.0Y"}], ['large-10','--from=si --to=si 999Y', {OUT=>"999Y"}], ['large-11','--from=si --to=iec 999Y', {OUT=>"827Y"}], ['large-12','--from=si --round=down --to=iec 999Y', {OUT=>"826Y"}], # units can also affect the output ['large-13','--from=si --from-unit=1000000 9P', {ERR => "$prog: value too large to be printed: '9e+21' " . "(consider using --to)\n"}, {EXIT => 2}], ['large-13.1','--from=si --from-unit=1000000 --to=si 9P', {OUT=>"9.0Z"}], # Numbers>999Y are never acceptable, regardless of scaling ['large-14','--from=si --to=si 999Y', {OUT=>"999Y"}], ['large-14.1','--from=si --to=si 1000Y', {ERR => "$prog: value too large to be printed: '1e+27' " . "(cannot handle values > 999Y)\n"}, {EXIT => 2}], ['large-14.2','--from=si --to=si --from-unit=10000 1Y', {ERR => "$prog: value too large to be printed: '1e+28' " . "(cannot handle values > 999Y)\n"}, {EXIT => 2}], # debug warnings ['debug-1', '--debug 4096', {OUT=>"4096"}, {ERR=>"$prog: no conversion option specified\n"}], # '--padding' is a valid conversion option - no warning should be printed ['debug-1.1', '--debug --padding 10 4096', {OUT=>" 4096"}], ['debug-2', '--debug --grouping --from=si 4.0K', {OUT=>"4000"}, {ERR=>"$prog: grouping has no effect in this locale\n"}], ['debug-4', '--to=si --debug 12345678901234567890', {OUT=>"13E"}, {ERR=>"$prog: large input value '12345678901234567890':" . " possible precision loss\n"}], ['debug-5', '--to=si --from=si --debug 1.12345678901234567890Y', {OUT=>"1.2Y"}, {ERR=>"$prog: large input value '1.12345678901234567890Y':" . " possible precision loss\n"}], # dev-debug messages - the actual messages don't matter # just ensure the program works, and for code coverage testing. ['devdebug-1', '---debug --from=si 4.9K', {OUT=>"4900"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-2', '---debug 4900', {OUT=>"4900"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-3', '---debug --from=auto 4Mi', {OUT=>"4194304"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-4', '---debug --to=si 4000000', {OUT=>"4.0M"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-5', '---debug --to=si --padding=5 4000000', {OUT=>" 4.0M"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-6', '---debug --suffix=Foo 1234Foo', {OUT=>"1234Foo"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-7', '---debug --suffix=Foo 1234', {OUT=>"1234Foo"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-9', '---debug --grouping 10000', {OUT=>"10000"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-10', '---debug --format %f 10000', {OUT=>"10000"}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-11', '---debug --format "%\'-10f" 10000',{OUT=>"10000 "}, {ERR=>""}, {ERR_SUBST=>"s/.*//msg"}], ['devdebug-12', '---debug --field 2 A',{OUT=>""}, {ERR=>""}, {EXIT=>2}, {ERR_SUBST=>"s/.*//msg"}], # Invalid parameters ['help-1', '--foobar', {ERR=>"$prog: unrecognized option '--foobar'\n" . "Try '$prog --help' for more information.\n"}, {EXIT=>1}], ## Format string - check error detection ['fmt-err-1', '--format ""', {ERR=>"$prog: format '' has no % directive\n"}, {EXIT=>1}], ['fmt-err-2', '--format "hello"', {ERR=>"$prog: format 'hello' has no % directive\n"}, {EXIT=>1}], ['fmt-err-3', '--format "hello%"', {ERR=>"$prog: format 'hello%' ends in %\n"}, {EXIT=>1}], ['fmt-err-4', '--format "%d"', {ERR=>"$prog: invalid format '%d', " . "directive must be %['][-][N]f\n"}, {EXIT=>1}], ['fmt-err-5', '--format "% -43 f"', {ERR=>"$prog: invalid format '% -43 f', " . "directive must be %['][-][N]f\n"}, {EXIT=>1}], ['fmt-err-6', '--format "%f %f"', {ERR=>"$prog: format '%f %f' has too many % directives\n"}, {EXIT=>1}], ['fmt-err-7', '--format "%123456789012345678901234567890f"', {ERR=>"$prog: invalid format '%123456789012345678901234567890f'". " (width overflow)\n"}, {EXIT=>1}], ['fmt-err-8', '--format "%f" --padding 20', {ERR=>"$prog: --padding cannot be combined with --format\n"}, {EXIT=>1}], ['fmt-err-9', '--format "%f" --grouping', {ERR=>"$prog: --grouping cannot be combined with --format\n"}, {EXIT=>1}], ['fmt-err-10', '--format "%\'f" --to=si', {ERR=>"$prog: grouping cannot be combined with --to\n"}, {EXIT=>1}], ['fmt-err-11', '--debug --format "%\'f" 5000', {OUT=>"5000"}, {ERR=>"$prog: grouping has no effect in this locale\n"}], ## Format string - check some corner cases ['fmt-1', '--format "%% %f" 5000', {OUT=>"%%5000"}], ['fmt-2', '--format "%f %%" 5000', {OUT=>"5000 %%"}], ['fmt-3', '--format "--%f--" 5000000', {OUT=>"--5000000--"}], ['fmt-4', '--format "--%f--" --to=si 5000000', {OUT=>"--5.0M--"}], ['fmt-5', '--format "--%10f--" --to=si 5000000',{OUT=>"-- 5.0M--"}], ['fmt-6', '--format "--%-10f--" --to=si 5000000',{OUT=>"--5.0M --"}], ['fmt-7', '--format "--%10f--" 5000000',{OUT=>"-- 5000000--"}], ['fmt-8', '--format "--%-10f--" 5000000',{OUT=>"--5000000 --"}], # too-short width ['fmt-9', '--format "--%5f--" 5000000',{OUT=>"--5000000--"}], # Format + Suffix ['fmt-10', '--format "--%10f--" --suffix Foo 50', {OUT=>"-- 50Foo--"}], ['fmt-11', '--format "--%-10f--" --suffix Foo 50',{OUT=>"--50Foo --"}], # Grouping in C locale - no grouping effect ['fmt-12', '--format "%\'f" 50000',{OUT=>"50000"}], ['fmt-13', '--format "%\'10f" 50000', {OUT=>" 50000"}], ['fmt-14', '--format "%\'-10f" 50000',{OUT=>"50000 "}], # Very large format strings ['fmt-15', '--format "--%100000f--" --to=si 4200', {OUT=>"--" . " " x 99996 . "4.2K--" }], ## Check all errors again, this time with --invalid=fail ## Input will be printed without conversion, ## and exit code will be 2 ['ign-err-1', '--invalid=fail 4Q', {ERR => "$prog: invalid suffix in input: '4Q'\n"}, {OUT => "4Q\n"}, {EXIT => 2}], ['ign-err-2', '--invalid=fail 4M', {ERR => "$prog: rejecting suffix " . "in input: '4M' (consider using --from)\n"}, {OUT => "4M\n"}, {EXIT => 2}], ['ign-err-3', '--invalid=fail --from=si 4MQ', {ERR => "$prog: invalid suffix in input '4MQ': 'Q'\n"}, {OUT => "4MQ\n"}, {EXIT => 2}], ['ign-err-4', '--invalid=fail --suffix=Foo --to=si 7000FooF', {ERR => "$prog: invalid suffix in input: '7000FooF'\n"}, {OUT => "7000FooF\n"}, {EXIT => 2}], ['ign-err-5','--invalid=fail --field 3 --from=auto "Hello 40M World 90G"', {ERR => "$prog: invalid number: 'World'\n"}, {OUT => "Hello 40M World 90G\n"}, {EXIT => 2}], ['ign-err-6', '--invalid=fail --field 3 --to=si "Hello World"', {ERR => "$prog: input line is too short, no numbers found " . "to convert in field 3\n"}, {OUT => "Hello World\n"}, {EXIT => 2}], ['ign-err-7', '--invalid=fail --from=si "foo"', {ERR => "$prog: invalid number: 'foo'\n"}, {OUT => "foo\n"}, {EXIT=> 2}], ['ign-err-8', '--invalid=fail 12M', {ERR => "$prog: rejecting suffix " . "in input: '12M' (consider using --from)\n"}, {OUT => "12M\n"}, {EXIT => 2}], ['ign-err-9', '--invalid=fail --from=iec-i 12M', {ERR => "$prog: missing 'i' suffix in input: " . "'12M' (e.g Ki/Mi/Gi)\n"}, {OUT => "12M\n"}, {EXIT=>2}], ['ign-err-10','--invalid=fail 10000000000000000000', {ERR => "$prog: value too large to be printed: '1e+19' " . "(consider using --to)\n"}, {OUT => "10000000000000000000\n"}, {EXIT=>2}], ['ign-err-11','--invalid=fail --to=si 9876543210000000000000000000', {ERR => "$prog: value too large to be converted: " . "'9876543210000000000000000000'\n"}, {OUT => "9876543210000000000000000000\n"}, {EXIT => 2}], ## Ignore Errors with multiple conversions ['ign-err-m1', '--invalid=ignore --to=si 1000 2000 bad 3000', {OUT => "1.0K\n2.0K\nbad\n3.0K"}, {EXIT => 0}], ['ign-err-m1.1', '--invalid=ignore --to=si', {IN_PIPE => "1000\n2000\nbad\n3000\n"}, {OUT => "1.0K\n2.0K\nbad\n3.0K"}, {EXIT => 0}], ['ign-err-m1.3', '--invalid=fail --debug --to=si 1000 2000 3000', {OUT => "1.0K\n2.0K\n3.0K"}, {EXIT => 0}], ['ign-err-m2', '--invalid=fail --to=si 1000 Foo 3000', {OUT => "1.0K\nFoo\n3.0K\n"}, {ERR => "$prog: invalid number: 'Foo'\n"}, {EXIT => 2}], ['ign-err-m2.1', '--invalid=warn --to=si', {IN_PIPE => "1000\nFoo\n3000\n"}, {OUT => "1.0K\nFoo\n3.0K"}, {ERR => "$prog: invalid number: 'Foo'\n"}, {EXIT => 0}], # --debug will trigger a final warning at EOF ['ign-err-m2.2', '--invalid=fail --debug --to=si 1000 Foo 3000', {OUT => "1.0K\nFoo\n3.0K\n"}, {ERR => "$prog: invalid number: 'Foo'\n" . "$prog: failed to convert some of the input numbers\n"}, {EXIT => 2}], ['ign-err-m3', '--invalid=fail --field 2 --from=si --to=iec', {IN_PIPE => "A 1K x\nB 2M y\nC 3G z\n"}, {OUT => "A 1000 x\nB 2.0M y\nC 2.8G z"}, {EXIT => 0}], # invalid input on one of the fields ['ign-err-m3.1', '--invalid=fail --field 2 --from=si --to=iec', {IN_PIPE => "A 1K x\nB Foo y\nC 3G z\n"}, {OUT => "A 1000 x\nB Foo y\nC 2.8G z\n"}, {ERR => "$prog: invalid number: 'Foo'\n"}, {EXIT => 2}], # one of the lines is too short ['ign-err-m3.2', '--invalid=fail --field 2 --from=si --to=iec', {IN_PIPE => "A 1K x\nB\nC 3G z\n"}, {OUT => "A 1000 x\nB\nC 2.8G z\n"}, {ERR => "$prog: input line is too short, no numbers found " . "to convert in field 2\n"}, {EXIT => 2}], ); my @Locale_Tests = ( # Locale that supports grouping, but without '--grouping' parameter ['lcl-grp-1', '--from=si 7M', {OUT=>"7000000"}, {ENV=>"LC_ALL=$locale"}], # Locale with grouping ['lcl-grp-2', '--from=si --grouping 7M', {OUT=>"7 000 000"}, {ENV=>"LC_ALL=$locale"}], # Locale with grouping and debug - no debug warning message ['lcl-grp-3', '--from=si --debug --grouping 7M', {OUT=>"7 000 000"}, {ENV=>"LC_ALL=$locale"}], # Input with locale'd decimal-point ['lcl-stdtod-1', '--from=si 12,2K', {OUT=>"12200"}, {ENV=>"LC_ALL=$locale"}], ['lcl-dbl-to-human-1', '--to=si 1100', {OUT=>"1,1K"}, {ENV=>"LC_ALL=$locale"}], # Format + Grouping ['lcl-fmt-1', '--format "%\'f" 50000',{OUT=>"50 000"}, {ENV=>"LC_ALL=$locale"}], ['lcl-fmt-2', '--format "--%\'10f--" 50000', {OUT=>"-- 50 000--"}, {ENV=>"LC_ALL=$locale"}], ['lcl-fmt-3', '--format "--%\'-10f--" 50000',{OUT=>"--50 000 --"}, {ENV=>"LC_ALL=$locale"}], ['lcl-fmt-4', '--format "--%-10f--" --to=si 5000000', {OUT=>"--5,0M --"}, {ENV=>"LC_ALL=$locale"}], ); if ($locale ne 'C') { # Reset locale to 'C' if LOCALE_FR_UTF8 doesn't output as expected # as determined by the separate printf program. open(LOC_NUM, "LC_ALL=$locale printf \"%'d\" 1234|") or die "Can't fork command: $!"; my $loc_num = <LOC_NUM>; close(LOC_NUM) || die "Failed to read grouped number from printf"; if ($loc_num ne '1 234') { warn "skipping locale grouping tests as 1234 groups like $loc_num\n"; $locale = 'C'; } } push @Tests, @Locale_Tests if $locale ne 'C'; ## Check all valid/invalid suffixes foreach my $suf ( 'A' .. 'Z', 'a' .. 'z' ) { if ( $suf =~ /^[KMGTPEZY]$/ ) { push @Tests, ["auto-suf-si-$suf","--from=si --to=si 1$suf", {OUT=>"1.0$suf"}]; push @Tests, ["auto-suf-iec-$suf","--from=iec --to=iec 1$suf", {OUT=>"1.0$suf"}]; push @Tests, ["auto-suf-auto-$suf","--from=auto --to=iec 1${suf}i", {OUT=>"1.0$suf"}]; push @Tests, ["auto-suf-iec-to-ieci-$suf","--from=iec --to=iec-i 1${suf}", {OUT=>"1.0${suf}i"}]; push @Tests, ["auto-suf-ieci-to-iec-$suf", "--from=iec-i --to=iec 1${suf}i",{OUT=>"1.0${suf}"}]; } else { push @Tests, ["auto-suf-si-$suf","--from=si --to=si 1$suf", {ERR=>"$prog: invalid suffix in input: '1${suf}'\n"}, {EXIT=>2}]; } } # Prepend the command line argument and append a newline to end # of each expected 'OUT' string. my $t; Test: foreach $t (@Tests) { # Don't fiddle with expected OUT string if there's a nonzero exit status. foreach my $e (@$t) { ref $e eq 'HASH' && exists $e->{EXIT} && $e->{EXIT} and next Test; } foreach my $e (@$t) { ref $e eq 'HASH' && exists $e->{OUT} and $e->{OUT} .= "\n" } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/expand.pl�����������������������������������������������������������������0000775�0000000�0000000�00000002440�12102337340�014255� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise expand. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['t1', '--tabs=3', {IN=>"a\tb"}, {OUT=>"a b"}], ['t2', '--tabs=3,6,9', {IN=>"a\tb\tc\td\te"}, {OUT=>"a b c d e"}], ['i1', '--tabs=3 -i', {IN=>"\ta\tb"}, {OUT=>" a\tb"}], ['i2', '--tabs=3 -i', {IN=>" \ta\tb"}, {OUT=>" a\tb"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'expand'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tty-eof.pl����������������������������������������������������������������0000775�0000000�0000000�00000005757�12102337340�014403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test whether programs exit upon a single EOF from a tty. # Ensure that e.g., cat exits upon a single EOF (^D) from a tty. # Do the same for all programs that can read stdin, # require no arguments and that write to standard output. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; # Some older versions of Expect.pm (e.g. 1.07) lack the log_user method, # so check for that, too. eval { require Expect; Expect->require_version('1.11') }; $@ and CuSkip::skip "$ME: this script requires Perl's Expect package >=1.11\n"; { my $fail = 0; my @stdin_reading_commands = qw( base64 cat cksum dd expand fmt fold head md5sum nl od paste pr ptx sha1sum sha224sum sha256sum sha384sum sha512sum shuf sort sum tac tail tee tsort unexpand uniq wc ); my $stderr = 'tty-eof.err'; foreach my $cmd ((@stdin_reading_commands), 'cut -f2') { my $exp = new Expect; $exp->log_user(0); $exp->spawn("$cmd 2> $stderr") or (warn "$ME: cannot run '$cmd': $!\n"), $fail=1, next; # No input for cut -f2. $cmd =~ /^cut/ or $exp->send("a b\n"); $exp->send("\cD"); # This is Control-D. FIXME: what if that's not EOF? $exp->expect (0, '-re', "^a b\\r?\$"); my $found = $exp->expect (1, '-re', "^.+\$"); $found and warn "F: $found: " . $exp->exp_match () . "\n"; $exp->expect(10, 'eof'); # Expect no output from cut, since we gave it no input. defined $found || $cmd =~ /^cut/ or (warn "$ME: $cmd didn't produce expected output\n"), $fail=1, next; defined $exp->exitstatus or (warn "$ME: $cmd didn't exit after ^D from standard input\n"), $fail=1, next; my $s = $exp->exitstatus; $s == 0 or (warn "$ME: $cmd exited with status $s (expected 0)\n"), $fail=1; $exp->hard_close(); # dd normally writes to stderr. If it exits successfully, we're done. $cmd eq 'dd' && $s == 0 and next; if (-s $stderr) { warn "$ME: $cmd wrote to stderr:\n"; system "cat $stderr"; $fail = 1; } } continue { unlink $stderr or warn "$ME: failed to remove stderr file from $cmd, $stderr: $!\n"; } exit $fail } �����������������coreutils-8.21/tests/misc/join.pl�������������������������������������������������������������������0000775�0000000�0000000�00000025613�12102337340�013744� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test join. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'join'; my $delim = chr 0247; sub t_subst ($) { (my $s = $_[0]) =~ s/:/$delim/g; return $s; } my @tv = ( # test name # flags file-1 file-2 expected output expected return code # ['1a', '-a1', ["a 1\n", "b\n"], "a 1\n", 0], ['1b', '-a2', ["a 1\n", "b\n"], "b\n", 0], # Got "\n" ['1c', '-a1 -a2', ["a 1\n", "b\n"], "a 1\nb\n", 0], # Got "a 1\n\n" ['1d', '-a1', ["a 1\nb\n", "b\n"], "a 1\nb\n", 0], ['1e', '-a2', ["a 1\nb\n", "b\n"], "b\n", 0], ['1f', '-a2', ["b\n", "a\nb\n"], "a\nb\n", 0], ['2a', '-a1 -e .', ["a\nb\nc\n", "a x y\nb\nc\n"], "a x y\nb\nc\n", 0], ['2b', '-a1 -e . -o 2.1,2.2,2.3', ["a\nb\nc\n", "a x y\nb\nc\n"], "a x y\nb . .\nc . .\n", 0], ['2c', '-a1 -e . -o 2.1,2.2,2.3', ["a\nb\nc\nd\n", "a x y\nb\nc\n"], "a x y\nb . .\nc . .\n. . .\n", 0], ['3a', '-t:', ["a:1\nb:1\n", "a:2:\nb:2:\n"], "a:1:2:\nb:1:2:\n", 0], # operate on whole line (as sort does by default) ['3b', '-t ""', ["a 1\nb 1\n", "a 1\nb 2\n"], "a 1\n", 0], # use NUL as the field delimiter ['3c', '-t "\\0"', ["a\0a\n", "a\0b\n"], "a\0a\0b\n", 0], # Just like -a1 and -a2 when there are no pairable lines ['4a', '-v 1', ["a 1\n", "b\n"], "a 1\n", 0], ['4b', '-v 2', ["a 1\n", "b\n"], "b\n", 0], ['4c', '-v 1', ["a 1\nb\n", "b\n"], "a 1\n", 0], ['4d', '-v 2', ["a 1\nb\n", "b\n"], "", 0], ['4e', '-v 2', ["b\n", "a 1\nb\n"], "a 1\n", 0], ['5a', '-a1 -e - -o 1.1,2.2', ["a 1\nb 2\n", "a 11\nb\n"], "a 11\nb -\n", 0], ['5b', '-a1 -e - -o 1.1,2.2', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\nfeb 15"], "apr 06\naug 14\ndec -\nfeb 15\n", 0], ['5c', '-a1 -e - -o 1.1,2.2', ["aug 20\ndec 18\n", "aug 14\ndate\nfeb 15"], "aug 14\ndec -\n", 0], ['5d', '-a1 -e - -o 1.1,2.2', ["dec 18\n", ""], "dec -\n", 0], ['5e', '-a2 -e - -o 1.1,2.2', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\nfeb 15\n"], "apr 06\naug 14\n- -\nfeb 15\n", 0], ['5f', '-a2 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\nfeb 15\n"], "06 apr\n14 aug\n- -\n15 feb\n", 0], ['5g', '-a1 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\nfeb 15\n"], "06 apr\n14 aug\n- dec\n15 feb\n", 0], ['5h', '-a1 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\n"], "06 apr\n14 aug\n- dec\n- feb\n", 0], ['5i', '-a1 -e - -o 1.1,2.2', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\n"], "apr 06\naug 14\ndec -\nfeb -\n", 0], ['5j', '-a2 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\n"], "06 apr\n14 aug\n- -\n", 0], ['5k', '-a2 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\nfeb 05\n", "apr 06\naug 14\ndate\n"], "06 apr\n14 aug\n- -\n", 0], ['5l', '-a1 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\n", "apr 06\naug 14\ndate\nfeb 15\n"], "06 apr\n14 aug\n- dec\n", 0], ['5m', '-a2 -e - -o 2.2,1.1', ["apr 15\naug 20\ndec 18\n", "apr 06\naug 14\ndate\nfeb 15\n"], "06 apr\n14 aug\n- -\n15 -\n", 0], ['6a', '-e -', ["a 1\nb 2\nd 4\n", "a 21\nb 22\nc 23\nf 26\n"], "a 1 21\nb 2 22\n", 0], ['6b', '-a1 -e -', ["a 1\nb 2\nd 4\n", "a 21\nb 22\nc 23\nf 26\n"], "a 1 21\nb 2 22\nd 4\n", 0], ['6c', '-a1 -e -', ["a 21\nb 22\nc 23\nf 26\n", "a 1\nb 2\nd 4\n"], "a 21 1\nb 22 2\nc 23\nf 26\n", 0], ['7a', '-a1 -e . -o 2.7', ["a\nb\nc\n", "a x y\nb\nc\n"], ".\n.\n.\n", 0], ['8a', '-a1 -e . -o 0,1.2', ["a\nb\nc\nd G\n", "a x y\nb\nc\ne\n"], "a .\nb .\nc .\nd G\n", 0], ['8b', '-a1 -a2 -e . -o 0,1.2', ["a\nb\nc\nd G\n", "a x y\nb\nc\ne\n"], "a .\nb .\nc .\nd G\ne .\n", 0], # From David Dyck ['9a', '', [" a 1\n b 2\n", " a Y\n b Z\n"], "a 1 Y\nb 2 Z\n", 0], # -o 'auto' ['10a', '-a1 -a2 -e . -o auto', ["a 1 2\nb 1\nd 1 2\n", "a 3 4\nb 3 4\nc 3 4\n"], "a 1 2 3 4\nb 1 . 3 4\nc . . 3 4\nd 1 2 . .\n", 0], ['10b', '-a1 -a2 -j3 -e . -o auto', ["a 1 2\nb 1\nd 1 2\n", "a 3 4\nb 3 4\nc 3 4\n"], "2 a 1 . .\n. b 1 . .\n2 d 1 . .\n4 . . a 3\n4 . . b 3\n4 . . c 3\n"], ['10c', '-a1 -1 1 -2 4 -e. -o auto', ["a 1 2\nb 1\nd 1 2\n", "a 3 4\nb 3 4\nc 3 4\n"], "a 1 2 . . .\nb 1 . . . .\nd 1 2 . . .\n"], ['10d', '-a2 -1 1 -2 4 -e. -o auto', ["a 1 2\nb 1\nd 1 2\n", "a 3 4\nb 3 4\nc 3 4\n"], ". . . a 3 4\n. . . b 3 4\n. . . c 3 4\n"], ['10e', '-o auto', ["a 1 2\nb 1 2 discard\n", "a 3 4\nb 3 4 discard\n"], "a 1 2 3 4\nb 1 2 3 4\n"], ['10f', '-t, -o auto', ["a,1,,2\nb,1,2\n", "a,3,4\nb,3,4\n"], "a,1,,2,3,4\nb,1,2,,3,4\n"], # For -v2, print the match field correctly with the default output format, # when that match field is different between file 1 and file 2. Fixed in 8.10 ['v2-order', '-v2 -2 2', ["", "2 1\n"], "1 2\n", 0], # From Tim Smithers: fixed in 1.22l ['trailing-sp', '-t: -1 1 -2 1', ["a:x \n", "a:y \n"], "a:x :y \n", 0], # From Paul Eggert: fixed in 1.22n ['sp-vs-blank', '', ["\f 1\n", "\f 2\n"], "\f 1 2\n", 0], # From Paul Eggert: fixed in 1.22n (this would fail on Solaris7, # with LC_ALL set to en_US). # Unfortunately, that Solaris7's en_US locale folds case (making # the first input file sorted) is not portable, so this test would # fail on e.g. Linux systems, because the input to join isn't sorted. # ['lc-collate', '', ["a 1a\nB 1B\n", "B 2B\n"], "B 1B 2B\n", 0], # Based on a report from Antonio Rendas. Fixed in 2.0.9. ['8-bit-t', t_subst "-t:", [t_subst "a:1\nb:1\n", t_subst "a:2:\nb:2:\n"], t_subst "a:1:2:\nb:1:2:\n", 0], # fields > SIZE_MAX are silently interpreted as SIZE_MAX ['bigfield1', "-1 $limits->{UINTMAX_OFLOW} -2 2", ["a\n", "b\n"], " a b\n", 0], ['bigfield2', "-1 $limits->{SIZE_OFLOW} -2 2", ["a\n", "b\n"], " a b\n", 0], # FIXME: change this to ensure the diagnostic makes sense ['invalid-j', '-j x', {}, "", 1, "$prog: invalid field number: 'x'\n"], # With ordering check, inputs in order ['chkodr-1', '--check-order', [" a 1\n b 2\n", " a Y\n b Z\n"], "a 1 Y\nb 2 Z\n", 0], # Without check, inputs in order ['chkodr-2', '--nocheck-order', [" a 1\n b 2\n", " a Y\n b Z\n"], "a 1 Y\nb 2 Z\n", 0], # Without check, both inputs out of order (in fact, in reverse order) # but all pairable. Support for this is a GNU extension. ['chkodr-3', '--nocheck-order', [" b 1\n a 2\n", " b Y\n a Z\n"], "b 1 Y\na 2 Z\n", 0], # The extension should work without --nocheck-order, since that is the # default. ['chkodr-4', '', [" b 1\n a 2\n", " b Y\n a Z\n"], "b 1 Y\na 2 Z\n", 0], # With check, both inputs out of order (in fact, in reverse order) ['chkodr-5', '--check-order', [" b 1\n a 2\n", " b Y\n a Z\n"], "", 1, "$prog: chkodr-5.1:2: is not sorted: a 2\n"], # Similar, but with only file 2 not sorted. ['chkodr-5b', '--check-order', [" a 2\n b 1\n", " b Y\n a Z\n"], "", 1, "$prog: chkodr-5b.2:2: is not sorted: a Z\n"], # Similar, but with the offending line having length 0 (excluding newline). ['chkodr-5c', '--check-order', [" a 2\n b 1\n", " b Y\n\n"], "", 1, "$prog: chkodr-5c.2:2: is not sorted: \n"], # Similar, but elicit a warning for each input file (without --check-order). ['chkodr-5d', '', ["a\nx\n\n", "b\ny\n\n"], "", 1, "$prog: chkodr-5d.1:3: is not sorted: \n" . "$prog: chkodr-5d.2:3: is not sorted: \n"], # Similar, but make it so each offending line has no newline. ['chkodr-5e', '', ["a\nx\no", "b\ny\np"], "", 1, "$prog: chkodr-5e.1:3: is not sorted: o\n" . "$prog: chkodr-5e.2:3: is not sorted: p\n"], # Without order check, both inputs out of order and some lines # unpairable. This is NOT supported by the GNU extension. All that # we really care about for this test is that the return status is # zero, since that is the only way to actually verify that the # --nocheck-order option had any effect. We don't actually want to # guarantee that join produces this output on stdout. ['chkodr-6', '--nocheck-order', [" b 1\n a 2\n", " b Y\n c Z\n"], "b 1 Y\n", 0], # Before 6.10.143, this would mistakenly fail with the diagnostic: # join: File 1 is not in sorted order ['chkodr-7', '-12', ["2 a\n1 b\n", "2 c\n1 d"], "", 0], # After 8.9, join doesn't report disorder by default # when comparing against an empty input file. ['chkodr-8', '', ["2 a\n1 b\n", ""], "", 0], # Test '--header' feature ['header-1', '--header', [ "ID Name\n1 A\n2 B\n", "ID Color\n1 red\n"], "ID Name Color\n1 A red\n", 0], # '--header' with '--check-order' : The header line is out-of-order but the # actual data is in order. This join should succeed. ['header-2', '--header --check-order', ["ID Name\n1 A\n2 B\n", "ID Color\n2 green\n"], "ID Name Color\n2 B green\n", 0], # '--header' with '--check-order' : The header line is out-of-order AND the # actual data out-of-order. This join should fail. ['header-3', '--header --check-order', ["ID Name\n2 B\n1 A\n", "ID Color\n2 blue\n"], "ID Name Color\n", 1, "$prog: header-3.1:3: is not sorted: 1 A\n"], # '--header' with specific output format '-o'. # output header line should respect the requested format ['header-4', '--header -o "0,1.3,2.2"', ["ID Group Name\n1 Foo A\n2 Bar B\n", "ID Color\n2 blue\n"], "ID Name Color\n2 B blue\n", 0], # '--header' always outputs headers from the first file # even if the headers from the second file don't match ['header-5', '--header', [ "ID1 Name\n1 A\n2 B\n", "ID2 Color\n1 red\n"], "ID1 Name Color\n1 A red\n", 0], # '--header' doesn't check order of a header # even if there is no header in the second file ['header-6', '--header -a1', [ "ID1 Name\n1 A\n", ""], "ID1 Name\n1 A\n", 0], ); # Convert the above old-style test vectors to the newer # format used by Coreutils.pm. my @Tests; foreach my $t (@tv) { my ($test_name, $flags, $in, $exp, $ret, $err_msg) = @$t; my $new_ent = [$test_name, $flags]; if (!ref $in) { push @$new_ent, {IN=>$in}; } elsif (ref $in eq 'HASH') { # ignore } else { foreach my $e (@$in) { push @$new_ent, {IN=>$e}; } } push @$new_ent, {OUT=>$exp}; $ret and push @$new_ent, {EXIT=>$ret}, {ERR=>$err_msg}; push @Tests, $new_ent; } @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/md5sum-bsd.sh�������������������������������������������������������������0000775�0000000�0000000�00000005343�12102337340�014762� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # 'md5sum' tests for generation and checking of # BSD traditional and alternate formats (md5 [-r]) # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ md5sum ## BSD alternate format tests ## # Ensure we can --check BSD alternate format. # Note we start this list with a name # that's unambiguous in BSD format. # I.E. one not starting with ' ' or '*' for i in 'a' ' b' '*c' 'dd' ' '; do echo "$i" > "$i" md5sum "$i" >> check.md5sum done sed 's/ / /' check.md5sum > check.md5 # Note only a single format is supported per run md5sum --strict -c check.md5sum || fail=1 md5sum --strict -c check.md5 || fail=1 # If we skip the first entry in the BSD format checksums # then it'll be detected as standard format and error. # This unlikely caveat was thought better than mandating # an option to avoid the ambiguity. tail -n+2 check.md5 | md5sum --strict -c && fail=1 ## BSD traditional format tests (--tag option) ## # Ensure --tag and --check are mutually exclusive md5sum --tag --check /dev/null && fail=1 # Ensure --tag and --text are mutually exclusive # We don't support --text with BSD tradition format, # as that would complicate the output format, # while providing little benefit over --text processing # available with the default md5sum output format. md5sum --tag --text /dev/null && fail=1 # Ensure we can --check BSD traditional format we produce rm check.md5 for i in 'a' ' b' '*c' 'dd' ' '; do echo "$i" > "$i" md5sum --tag "$i" >> check.md5 done md5sum --strict -c check.md5 || fail=1 # Ensure we can --check BSD traditional format we produce # with the GNU extension of escaped newlines nl=' ' tab=' ' rm check.md5 for i in 'a\b' 'a\' "a${nl}b" "a${tab}b"; do :> "$i" md5sum --tag "$i" >> check.md5 done md5sum --strict -c check.md5 || fail=1 # Ensure BSD traditional format with GNU extension escapes # is in the expected format ex_file='test \\file' ex_output='\MD5 (test\n\\\\file) = d41d8cd98f00b204e9800998ecf8427e' touch "$ex_file" printf "%s\n" "$ex_output" > exp md5sum --tag "$ex_file" > out compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/false-status.sh�����������������������������������������������������������0000775�0000000�0000000�00000001630�12102337340�015410� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that false exits nonzero even with --help or --version # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ false false --version > /dev/null && fail=1 false --help > /dev/null && fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/timeout-blocked.pl��������������������������������������������������������0000775�0000000�0000000�00000002746�12102337340�016076� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test that timeout handles blocked SIGALRM from its parent. # Copyright (C) 2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; eval { require POSIX; }; $@ and CuSkip::skip "$ME: this script requires Perl's POSIX module\n"; use POSIX qw(:signal_h); my $sigset = POSIX::SigSet->new(SIGALRM); # define the signals to block my $old_sigset = POSIX::SigSet->new; # where the old sigmask will be kept unless (defined sigprocmask(SIG_BLOCK, $sigset, $old_sigset)) { CuSkip::skip "$ME: sigprocmask failed; skipped"; } my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} # ['block-alrm', ".1 sleep 10", {EXIT => 124}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'timeout'; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������coreutils-8.21/tests/misc/sort-u-FMR.sh�������������������������������������������������������������0000775�0000000�0000000�00000001760�12102337340�014654� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Before 8.19, this would trigger a free-memory read. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort require_valgrind_ { echo 0; printf '%0900d\n' 1; } > in || framework_failure_ valgrind --error-exitcode=1 sort --p=1 -S32b -u in > out || fail=1 compare in out || fail=1 Exit $fail ����������������coreutils-8.21/tests/misc/sort-benchmark-random.sh��������������������������������������������������0000775�0000000�0000000�00000002564�12102337340�017201� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Benchmark sort on randomly generated data. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Written by Glen Lenker. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort very_expensive_ perl -e ' my $num_lines = 500000; my $length = 100; for (my $i=0; $i < $num_lines; $i++) { for (my $j=0; $j < $length; $j++) { printf "%c", 32 + rand(94); } print "\n"; }' > in || framework_failure_ # We need to generate a lot of data for sort to show a noticeable # improvement in performance. Sorting it in PERL may take awhile. perl -e ' open (FILE, "<in"); my @list = <FILE>; print sort(@list); close (FILE); ' > exp || framework_failure_ time sort in > out || fail=1 compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/dircolors.pl��������������������������������������������������������������0000775�0000000�0000000�00000003040�12102337340�014773� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Simple dircolors tests. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['a', '-b', {IN => {k => "exec\n"}}, {ERR => "dircolors: k:1: invalid line; missing second token\n"}, {EXIT => 1}], ['quote', '-b', {IN => "exec 'echo Hello;:'\n"}, {OUT => "LS_COLORS='ex='\\''echo Hello;\\:'\\'':';\n" . "export LS_COLORS\n"}], ['other-wr', '-b', {IN => "owt 40;33\n"}, {OUT => "LS_COLORS='tw=40;33:';\nexport LS_COLORS\n"}], # CAREFUL: always specify the -b option, unless explicitly testing # for csh syntax output. ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'dircolors'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/wc-files0.sh��������������������������������������������������������������0000775�0000000�0000000�00000002406�12102337341�014571� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that wc's new --files0-from option works. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ wc echo 2 > 2b || framework_failure_ echo 2 words > 2w || framework_failure_ printf '2b\n2w\n' |tr '\n' '\0' > names || framework_failure_ wc --files0-from=names > out || fail=1 cat <<\EOF > exp || fail=1 1 1 2 2b 1 2 8 2w 2 3 10 total EOF compare exp out || fail=1 if test "$fail" = ''; then # Repeat the above test, but read the file name list from stdin. rm -f out wc --files0-from=- < names > out || fail=1 compare exp out || fail=1 fi Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/pwd-long.sh���������������������������������������������������������������0000775�0000000�0000000�00000007227�12102337340�014534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # -*- perl -*- # Ensure that pwd works even when run from a very deep directory. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ pwd require_readable_root_ require_perl_ ARGV_0=$0 export ARGV_0 # Don't use CuTmpdir here, since File::Temp's use of rmtree can't # remove the deep tree we create. $PERL -Tw -I"$abs_srcdir/tests" -MCuSkip -- - <<\EOF # Show that pwd works even when the length of the resulting # directory name is longer than PATH_MAX. use strict; (my $ME = $ENV{ARGV_0}) =~ s|.*/||; sub normalize_to_cwd_relative ($$$) { my ($dir, $dev, $ino) = @_; my $slash = -1; my $next_slash; while (1) { $slash = index $dir, '/', $slash + 1; $slash <= -1 and die "$ME: $dir does not contain old CWD\n"; my $dir_prefix = $slash ? substr ($dir, 0, $slash) : '/'; my ($d, $i) = (stat $dir_prefix)[0, 1]; defined $d && defined $i or die "$ME: $dir_prefix: stat failed: $!\n"; $d eq $dev && $i eq $ino and return substr $dir, $slash + 1; } } # Set up a safe, well-known environment delete @ENV{qw(BASH_ENV CDPATH ENV)}; $ENV{IFS} = ''; # Taint checking requires a sanitized $PATH. This script performs no $PATH # search, so on most Unix-based systems, it is fine simply to clear $ENV{PATH}. # However, on Cygwin, it's used to find cygwin1.dll, so set it. $ENV{PATH} = '/bin:/usr/bin'; # Save CWD's device and inode numbers. my ($dev, $ino) = (stat '.')[0, 1]; # Construct the expected "."-relative part of pwd's output. my $z = 'z' x 31; my $n = 256; my $expected = "/$z" x $n; # Remove the leading "/". substr ($expected, 0, 1) = ''; my $i = 0; do { mkdir $z, 0700 or CuSkip::skip "$ME: skipping this test; cannot create long " . "directory name at depth $i: $!\n"; chdir $z } until (++$i == $n); my $abs_top_builddir = $ENV{abs_top_builddir}; $abs_top_builddir or die "$ME: envvar abs_top_builddir not defined\n"; my $build_src_dir = "$abs_top_builddir/src"; $build_src_dir =~ m!^([-+.:/\w]+)$! or CuSkip::skip "$ME: skipping this test; odd build source directory name:\n" . "$build_src_dir\n"; $build_src_dir = $1; my $pwd_binary = "$build_src_dir/pwd"; -x $pwd_binary or die "$ME: $pwd_binary is not an executable file\n"; chomp (my $actual = qx!$pwd_binary!); # Convert the absolute name from pwd into a $CWD-relative name. # This is necessary in order to avoid a spurious failure when run # from a directory in a bind-mounted partition. What happens is # pwd reads a ".." that contains two or more entries with identical # dev,ino that match the ones we're looking for, and it chooses a # name that does not correspond to the one already recorded in $CWD. $actual = normalize_to_cwd_relative $actual, $dev, $ino; if ($expected ne $actual) { my $e_len = length $expected; my $a_len = length $actual; warn "expected len: $e_len\n"; warn "actual len: $a_len\n"; warn "expected: $expected\n"; warn "actual: $actual\n"; exit 1; } EOF fail=$? Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-NaN-infloop.sh�������������������������������������������������������0000775�0000000�0000000�00000001677�12102337340�016115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise the NaN-infloop bug in coreutils-8.13 # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort echo nan > F || fail=1 printf 'nan\nnan\n' > exp || fail=1 timeout 10 sort -g -m F F > out || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������coreutils-8.21/tests/misc/truncate-no-create-missing.sh���������������������������������������������0000775�0000000�0000000�00000001633�12102337340�020147� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that truncate -c no-such-file doesn't fail. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ truncate # truncate -c no-such-file should not fail. truncate -s0 -c no-such-file || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tsort.pl������������������������������������������������������������������0000775�0000000�0000000�00000004511�12102337340�014152� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "tsort". # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ['cycle-1', {IN => {f => "t b\nt s\ns t\n"}}, {OUT => "s\nt\nb\n"}, {EXIT => 1}, {ERR => "tsort: f: input contains a loop:\ntsort: s\ntsort: t\n"} ], ['cycle-2', {IN => {f => "t x\nt s\ns t\n"}}, {OUT => "s\nt\nx\n"}, {EXIT => 1}, {ERR => "tsort: f: input contains a loop:\ntsort: s\ntsort: t\n"} ], ['posix-1', {IN => "a b c c d e\ng g\nf g e f\nh h\n"}, {OUT => "a\nc\nd\nh\nb\ne\nf\ng\n"}], ['posix-2', {IN => "b a\nd c\nz h x h r h\n"}, {OUT => "b\nd\nr\nx\nz\na\nc\nh\n"}], ['linear-1', {IN => "a b b c c d d e e f f g\n"}, {OUT => "a\nb\nc\nd\ne\nf\ng\n"}], ['tree-1', {IN => "a b b c c d d e e f f g\nc x x y y z\n"}, {OUT => "a\nb\nc\nx\nd\ny\ne\nz\nf\ng\n"}], ['tree-2', {IN => "a b b c c d d e e f f g\nc x x y y z\nf r r s s t\n"}, {OUT => "a\nb\nc\nx\nd\ny\ne\nz\nf\nr\ng\ns\nt\n"}], # Before coreutils-5.0.1, given an odd number of input tokens, # tsort would accept that and treat the input as if an additional # copy of the final token were appended. ['odd', {IN => "a\n"}, {EXIT => 1}, {ERR => "tsort: odd.1: input contains an odd number of tokens\n"}], ['only-one', {IN => {f => ""}}, {IN => {g => ""}}, {EXIT => 1}, {ERR => "tsort: extra operand 'g'\n" . "Try 'tsort --help' for more information.\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'tsort'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/head-elide-tail.pl��������������������������������������������������������0000775�0000000�0000000�00000007312�12102337340�015711� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise head's --bytes=-N option. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; $ENV{PROG} = 'head'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # This should match the definition in head.c. my $READ_BUFSIZE = 8192; my @Tests = ( # Elide the exact size of the file. ['elide-b1', "--bytes=-2", {IN=>"a\n"}, {OUT=>''}], # Elide more than the size of the file. ['elide-b2', "--bytes=-2", {IN=>"a"}, {OUT=>''}], # Leave just one byte. ['elide-b3', "--bytes=-2", {IN=>"abc"}, {OUT=>'a'}], # Make it so the elided bytes straddle the end of the first # $READ_BUFSIZE block. ['elide-b4', "--bytes=-2", {IN=> 'a' x ($READ_BUFSIZE-3) . "\nbcd"}, {OUT=>'a' x ($READ_BUFSIZE-3) . "\nb"}], # Make it so the elided bytes straddle the end of the 2nd # $READ_BUFSIZE block. ['elide-b5', "--bytes=-2", {IN=> 'a' x (2 * $READ_BUFSIZE - 2) . 'bcd'}, {OUT=>'a' x (2 * $READ_BUFSIZE - 2) . 'b'}], ['elide-l0', "--lines=-1", {IN=>''}, {OUT=>''}], ['elide-l1', "--lines=-1", {IN=>"a\n"}, {OUT=>''}], ['elide-l2', "--lines=-1", {IN=>"a"}, {OUT=>''}], ['elide-l3', "--lines=-1", {IN=>"a\nb"}, {OUT=>"a\n"}], ['elide-l4', "--lines=-1", {IN=>"a\nb\n"}, {OUT=>"a\n"}], ); if ($ENV{RUN_EXPENSIVE_TESTS}) { # Brute force: use all combinations of file sizes [0..20] and # number of bytes to elide [0..20]. For better coverage, recompile # head with -DHEAD_TAIL_PIPE_READ_BUFSIZE=4 and # -DHEAD_TAIL_PIPE_BYTECOUNT_THRESHOLD=8 my $s = "abcdefghijklmnopqrst"; for my $file_size (0..20) { for my $n_elide (0..20) { my $input = substr $s, 0, $file_size; my $out_len = $n_elide < $file_size ? $file_size - $n_elide : 0; my $output = substr $input, 0, $out_len; my $t = ["elideb$file_size-$n_elide", "--bytes=-$n_elide", {IN=>$input}, {OUT=>$output}]; push @Tests, $t; my @u = @$t; # Insert the ---presume-input-pipe option. $u[0] .= 'p'; $u[1] .= ' ---presume-input-pipe'; push @Tests, \@u; } } $s =~ s/(.)/$1\n/g; for my $file_size (0..20) { for my $n_elide (0..20) { my $input = substr $s, 0, 2 * $file_size; my $out_len = $n_elide < $file_size ? $file_size - $n_elide : 0; my $output = substr $input, 0, 2 * $out_len; my $t = ["elidel$file_size-$n_elide", "--lines=-$n_elide", {IN=>$input}, {OUT=>$output}]; push @Tests, $t; my @u = @$t; # Insert the ---presume-input-pipe option. $u[0] .= 'p'; $u[1] .= ' ---presume-input-pipe'; push @Tests, \@u; } } } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/cut.pl��������������������������������������������������������������������0000775�0000000�0000000�00000025565�12104043357�013612� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "cut". # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $mb_locale = $ENV{LOCALE_FR_UTF8}; ! defined $mb_locale || $mb_locale eq 'none' and $mb_locale = 'C'; my $prog = 'cut'; my $try = "Try '$prog --help' for more information.\n"; my $from_1 = "$prog: fields and positions are numbered from 1\n$try"; my $inval = "$prog: invalid byte, character or field list\n$try"; my $no_endpoint = "$prog: invalid range with no endpoint: -\n$try"; my $nofield = "$prog: an input delimiter may be specified only when " . "operating on fields\n$try"; my @Tests = ( # Provoke a double-free in cut from coreutils-6.7. ['dbl-free', '-f2-', {IN=>{f=>'x'}}, {IN=>{g=>'y'}}, {OUT=>"x\ny\n"}], # This failed (as it should) even before coreutils-6.9.90, # but cut from 6.9.90 produces a more useful diagnostic. ['zero-1', '-b0', {ERR=>$from_1}, {EXIT => 1} ], # Up to coreutils-6.9, specifying a range of 0-2 was not an error. # It was treated just like "-2". ['zero-2', '-f0-2', {ERR=>$from_1}, {EXIT => 1} ], # Up to coreutils-8.20, specifying a range of 0- was not an error. ['zero-3b', '-b0-', {ERR=>$from_1}, {EXIT => 1} ], ['zero-3c', '-c0-', {ERR=>$from_1}, {EXIT => 1} ], ['zero-3f', '-f0-', {ERR=>$from_1}, {EXIT => 1} ], ['1', '-d:', '-f1,3-', {IN=>"a:b:c\n"}, {OUT=>"a:c\n"}], ['2', '-d:', '-f1,3-', {IN=>"a:b:c\n"}, {OUT=>"a:c\n"}], ['3', qw(-d: -f2-), {IN=>"a:b:c\n"}, {OUT=>"b:c\n"}], ['4', qw(-d: -f4), {IN=>"a:b:c\n"}, {OUT=>"\n"}], ['5', qw(-d: -f4), {IN=>""}, {OUT=>""}], ['6', '-c4', {IN=>"123\n"}, {OUT=>"\n"}], ['7', '-c4', {IN=>"123"}, {OUT=>"\n"}], ['8', '-c4', {IN=>"123\n1"}, {OUT=>"\n\n"}], ['9', '-c4', {IN=>""}, {OUT=>""}], ['a', qw(-s -d:), '-f3-', {IN=>"a:b:c\n"}, {OUT=>"c\n"}], ['b', qw(-s -d:), '-f2,3', {IN=>"a:b:c\n"}, {OUT=>"b:c\n"}], ['c', qw(-s -d:), '-f1,3', {IN=>"a:b:c\n"}, {OUT=>"a:c\n"}], # Trailing colon should not be output ['d', qw(-s -d:), '-f1,3', {IN=>"a:b:c:\n"}, {OUT=>"a:c\n"}], ['e', qw(-s -d:), '-f3-', {IN=>"a:b:c:\n"}, {OUT=>"c:\n"}], ['f', qw(-s -d:), '-f3-4', {IN=>"a:b:c:\n"}, {OUT=>"c:\n"}], ['g', qw(-s -d:), '-f3,4', {IN=>"a:b:c:\n"}, {OUT=>"c:\n"}], # Make sure -s suppresses non-delimited lines ['h', qw(-s -d:), '-f2,3', {IN=>"abc\n"}, {OUT=>""}], # ['i', qw(-d: -f1-3), {IN=>":::\n"}, {OUT=>"::\n"}], ['j', qw(-d: -f1-4), {IN=>":::\n"}, {OUT=>":::\n"}], ['k', qw(-d: -f2-3), {IN=>":::\n"}, {OUT=>":\n"}], ['l', qw(-d: -f2-4), {IN=>":::\n"}, {OUT=>"::\n"}], ['m', qw(-s -d: -f1-3), {IN=>":::\n"}, {OUT=>"::\n"}], ['n', qw(-s -d: -f1-4), {IN=>":::\n"}, {OUT=>":::\n"}], ['o', qw(-s -d: -f2-3), {IN=>":::\n"}, {OUT=>":\n"}], ['p', qw(-s -d: -f2-4), {IN=>":::\n"}, {OUT=>"::\n"}], ['q', qw(-s -d: -f2-4), {IN=>":::\n:\n"}, {OUT=>"::\n\n"}], ['r', qw(-s -d: -f2-4), {IN=>":::\n:1\n"}, {OUT=>"::\n1\n"}], ['s', qw(-s -d: -f1-4), {IN=>":::\n:a\n"}, {OUT=>":::\n:a\n"}], ['t', qw(-s -d: -f3-), {IN=>":::\n:1\n"}, {OUT=>":\n\n"}], # Make sure it handles empty input properly, with and without -s. ['u', qw(-s -f3-), {IN=>""}, {OUT=>""}], ['v', '-f3-', {IN=>""}, {OUT=>""}], # Make sure it handles empty input properly. ['w', qw(-b 1), {IN=>""}, {OUT=>""}], ['x', qw(-s -d: -f2-4), {IN=>":\n"}, {OUT=>"\n"}], # Errors # -s may be used only with -f ['y', qw(-s -b4), {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>"$prog: suppressing non-delimited lines makes sense\n" . "\tonly when operating on fields\n$try"}], # You must specify bytes or fields (or chars) ['z', '', {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>"$prog: you must specify a list of bytes, characters, or fields\n$try"} ], # Empty field list ['empty-fl', qw(-f ''), {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>$from_1}], # Missing field list ['missing-fl', qw(-f --), {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>$inval}], # Empty byte list ['empty-bl', qw(-b ''), {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>$from_1}], # Missing byte list ['missing-bl', qw(-b --), {IN=>":\n"}, {OUT=>""}, {EXIT=>1}, {ERR=>$inval}], # This test fails with cut from textutils-1.22. ['empty-f1', '-f1', {IN=>""}, {OUT=>""}], ['empty-f2', '-f2', {IN=>""}, {OUT=>""}], ['o-delim', qw(-d: --out=_), '-f2,3', {IN=>"a:b:c\n"}, {OUT=>"b_c\n"}], ['nul-idelim', qw(-d '' --out=_), '-f2,3', {IN=>"a\0b\0c\n"}, {OUT=>"b_c\n"}], ['nul-odelim', qw(-d: --out=), '-f2,3', {IN=>"a:b:c\n"}, {OUT=>"b\0c\n"}], ['multichar-od', qw(-d: --out=_._), '-f2,3', {IN=>"a:b:c\n"}, {OUT=>"b_._c\n"}], # Ensure delim is not allowed without a field # Prior to 8.21, a NUL delim was allowed without a field ['delim-no-field1', qw(-d ''), '-b1', {EXIT=>1}, {ERR=>$nofield}], ['delim-no-field2', qw(-d:), '-b1', {EXIT=>1}, {ERR=>$nofield}], # Prior to 1.22i, you couldn't use a delimiter that would sign-extend. ['8bit-delim', '-d', "\255", '--out=_', '-f2,3', {IN=>"a\255b\255c\n"}, {OUT=>"b_c\n"}], # newline processing for fields ['newline-1', '-f1-', {IN=>"a\nb"}, {OUT=>"a\nb\n"}], ['newline-2', '-f1-', {IN=>""}, {OUT=>""}], ['newline-3', '-d:', '-f1', {IN=>"a:1\nb:2\n"}, {OUT=>"a\nb\n"}], ['newline-4', '-d:', '-f1', {IN=>"a:1\nb:2"}, {OUT=>"a\nb\n"}], ['newline-5', '-d:', '-f2', {IN=>"a:1\nb:2\n"}, {OUT=>"1\n2\n"}], ['newline-6', '-d:', '-f2', {IN=>"a:1\nb:2"}, {OUT=>"1\n2\n"}], ['newline-7', '-s', '-d:', '-f1', {IN=>"a:1\nb:2"}, {OUT=>"a\nb\n"}], ['newline-8', '-s', '-d:', '-f1', {IN=>"a:1\nb:2\n"}, {OUT=>"a\nb\n"}], ['newline-9', '-s', '-d:', '-f1', {IN=>"a1\nb2"}, {OUT=>""}], ['newline-10', '-s', '-d:', '-f1,2', {IN=>"a:1\nb:2"}, {OUT=>"a:1\nb:2\n"}], ['newline-11', '-s', '-d:', '-f1,2', {IN=>"a:1\nb:2\n"}, {OUT=>"a:1\nb:2\n"}], ['newline-12', '-s', '-d:', '-f1', {IN=>"a:1\nb:"}, {OUT=>"a\nb\n"}], ['newline-13', '-d:', '-f1-', {IN=>"a1:\n:"}, {OUT=>"a1:\n:\n"}], # newline processing for fields when -d == '\n' ['newline-14', "-d'\n'", '-f1', {IN=>"a:1\nb:"}, {OUT=>"a:1\nb:\n"}], ['newline-15', '-s', "-d'\n'", '-f1', {IN=>"a:1\nb:"}, {OUT=>"a:1\n"}], ['newline-16', '-s', "-d'\n'", '-f2', {IN=>"\nb"}, {OUT=>""}], ['newline-17', '-s', "-d'\n'", '-f1', {IN=>"\nb"}, {OUT=>"\n"}], ['newline-18', "-d'\n'", '-f2', {IN=>"\nb"}, {OUT=>"\nb\n"}], ['newline-19', "-d'\n'", '-f1', {IN=>"\nb"}, {OUT=>"\nb\n"}], ['newline-20', '-s', "-d'\n'", '-f1-', {IN=>"\n"}, {OUT=>"\n"}], ['newline-21', '-s', "-d'\n'", '-f1-', {IN=>"\nb"}, {OUT=>"\n"}], ['newline-22', "-d'\n'", '-f1-', {IN=>"\nb"}, {OUT=>"\nb\n"}], # New functionality: ['out-delim1', '-c1-3,5-', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"abc:efg\n"}], # A totally overlapped field shouldn't change anything: ['out-delim2', '-c1-3,2,5-', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"abc:efg\n"}], # Partial overlap: index '2' is not at the start of a range. ['out-delim3', '-c1-3,2-4,6', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"abcd:f\n"}], ['out-delim3a', '-c1-3,2-4,6-', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"abcd:fg\n"}], # Ensure that the following two commands produce the same output. # Before an off-by-1 fix, the output from the former would not contain a ':'. ['out-delim4', '-c4-,2-3', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"bc:defg\n"}], ['out-delim5', '-c2-3,4-', '--output-d=:', {IN=>"abcdefg\n"}, {OUT=>"bc:defg\n"}], # This test would fail for cut from coreutils-5.0.1 and earlier. ['out-delim6', '-c2,1-3', '--output-d=:', {IN=>"abc\n"}, {OUT=>"abc\n"}], # ['od-abut', '-b1-2,3-4', '--output-d=:', {IN=>"abcd\n"}, {OUT=>"ab:cd\n"}], ['od-overlap', '-b1-2,2', '--output-d=:', {IN=>"abc\n"}, {OUT=>"ab\n"}], ['od-overlap2', '-b1-2,2-', '--output-d=:', {IN=>"abc\n"}, {OUT=>"abc\n"}], ['od-overlap3', '-b1-3,2-', '--output-d=:', {IN=>"abcd\n"}, {OUT=>"abcd\n"}], ['od-overlap4', '-b1-3,2-3', '--output-d=:', {IN=>"abcd\n"}, {OUT=>"abc\n"}], ['od-overlap5', '-b1-3,1-4', '--output-d=:', {IN=>"abcde\n"}, {OUT=>"abcd\n"}], # None of the following invalid ranges provoked an error up to coreutils-6.9. ['inval1', qw(-f 2-0), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>"$prog: invalid decreasing range\n$try"}], ['inval2', qw(-f -), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}], ['inval3', '-f', '4,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}], ['inval4', '-f', '1-2,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}], ['inval5', '-f', '1-,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}], ['inval6', '-f', '-1,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}], # This would evoke a segfault from 5.3.0..8.10 ['big-unbounded-b', '--output-d=:', '-b1234567890-', {IN=>''}, {OUT=>''}], ['big-unbounded-b2a', '--output-d=:', '-b1,9-', {IN=>'123456789'}, {OUT=>"1:9\n"}], ['big-unbounded-b2b', '--output-d=:', '-b1,1234567890-', {IN=>''}, {OUT=>''}], ['big-unbounded-c', '--output-d=:', '-c1234567890-', {IN=>''}, {OUT=>''}], ['big-unbounded-f', '--output-d=:', '-f1234567890-', {IN=>''}, {OUT=>''}], ['overlapping-unbounded-1', '-b3-,2-', {IN=>"1234\n"}, {OUT=>"234\n"}], ['overlapping-unbounded-2', '-b2-,3-', {IN=>"1234\n"}, {OUT=>"234\n"}], # When printing output delimiters, and with one or more ranges subsumed # by a to-EOL range, cut 8.20 and earlier would print extraneous delimiters. ['EOL-subsumed-1', '--output-d=: -b2-,3,4-4,5', {IN=>"123456\n"}, {OUT=>"23456\n"}], ['EOL-subsumed-2', '--output-d=: -b3,4-4,5,2-', {IN=>"123456\n"}, {OUT=>"23456\n"}], ['EOL-subsumed-3', '--complement -b3,4-4,5,2-', {IN=>"123456\n"}, {OUT=>"1\n"}], ); if ($mb_locale ne 'C') { # Duplicate each test vector, appending "-mb" to the test name and # inserting {ENV => "LC_ALL=$mb_locale"} in the copy, so that we # provide coverage for the distro-added multi-byte code paths. my @new; foreach my $t (@Tests) { my @new_t = @$t; my $test_name = shift @new_t; push @new, ["$test_name-mb", @new_t, {ENV => "LC_ALL=$mb_locale"}]; } push @Tests, @new; } @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sum-sysv.sh���������������������������������������������������������������0000775�0000000�0000000�00000002751�12102337340�014610� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure 'sum -s' works for input whose sum of bytes is larger than 2^32 # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Avoid a problem when run in a UTF-8 locale. # Otherwise, Perl would try to (and fail to) interpret # each string below as a sequence of multi-byte characters. LC_ALL=C export LC_ALL . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sum require_perl_ # FYI, 16843009 is floor (2^32 / 255). # aka: perl -e 'print chr(255) x 16843009' $PERL -e '$s = chr(255) x 65537; foreach (1..257) {print $s}' \ | sum -s > out || fail=1 cat > exp <<\EOF 65535 32897 EOF compare exp out || fail=1 rm -f out exp # aka: perl -e 'print chr(255) x 16843010' $PERL -e '$s = chr(255) x 65537; foreach (1..257) {print $s}; print chr(255)' \ | sum -s > out || fail=1 cat > exp <<\EOF 254 32897 EOF compare exp out || fail=1 Exit $fail �����������������������coreutils-8.21/tests/misc/close-stdout.sh�����������������������������������������������������������0000775�0000000�0000000�00000004467�12102337340�015435� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that several programs work fine, even with stdout initially closed. # This is effectively a test of closeout.c's close_stdout function. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rm p=$abs_top_builddir # Ensure these exit successfully, even though stdout is closed, # because they generate no output. touch a cp a b >&- || fail=1 test -f b || fail=1 chmod o-w . >&- || fail=1 ln a c >&- || fail=1 rm c >&- || fail=1 mkdir d >&- || fail=1 mv d e >&- || fail=1 rmdir e >&- || fail=1 touch e >&- || fail=1 sleep 0 >&- || fail=1 "$p/src/true" >&- || fail=1 "$p/src/printf" '' >&- || fail=1 # If >&- works, ensure these fail, because stdout is closed and they # *do* generate output. >&- apparently does not work in HP-UX 11.23. # This test is ineffective unless /dev/stdout also works. if "$p/src/test" -w /dev/stdout >/dev/null && "$p/src/test" ! -w /dev/stdout >&-; then "$p/src/printf" 'foo' >&- 2>/dev/null && fail=1 cp --verbose a b >&- 2>/dev/null && fail=1 rm -Rf tmpfile-?????? || fail=1 mktemp tmpfile-XXXXXX >&- 2>/dev/null && fail=1 mktemp tmpfile-XXXXXX -q >&- 2>/dev/null && fail=1 case $(echo tmpfile-??????) in 'tmpfile-??????') ;; *) fail=1 ;; esac fi # Likewise for /dev/full, if /dev/full works. if test -w /dev/full && test -c /dev/full; then "$p/src/printf" 'foo' >/dev/full 2>/dev/null && fail=1 cp --verbose a b >/dev/full 2>/dev/null && fail=1 rm -Rf tmpdir-?????? || fail=1 mktemp -d tmpdir-XXXXXX >/dev/full 2>/dev/null && fail=1 mktemp -d -q tmpdir-XXXXXX >/dev/full 2>/dev/null && fail=1 case $(echo tmpfile-??????) in 'tmpfile-??????') ;; *) fail=1 ;; esac fi Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/wc-files0-from.pl���������������������������������������������������������0000775�0000000�0000000�00000006111�12102337341�015530� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise wc's --files0-from option. # FIXME: keep this file in sync with tests/du/files0-from. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'wc'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( # invalid extra command line argument ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1}, {ERR => "$prog: extra operand 'no-such'\n" . "file operands cannot be combined with --files0-from\n" . "Try '$prog --help' for more information.\n"} ], # missing input file ['missing', '--files0-from=missing', {EXIT=>1}, {ERR => "$prog: cannot open 'missing' for reading: " . "No such file or directory\n"}], # input file name of '-' ['minus-in-stdin', '--files0-from=-', '<', {IN=>{f=>'-'}}, {EXIT=>1}, {ERR => "$prog: when reading file names from stdin, no file name of" . " '-' allowed\n"}], # empty input, regular file ['empty', '--files0-from=@AUX@', {AUX=>''}], # empty input, from non-regular file ['empty-nonreg', '--files0-from=/dev/null'], # one NUL ['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1}, {ERR => "$prog: -:1: invalid zero-length file name\n"}], # two NULs ['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1}, {OUT=>"0 0 0 total\n"}, {ERR => "$prog: -:1: invalid zero-length file name\n" . "$prog: -:2: invalid zero-length file name\n"}], # one file name, no NUL ['1', '--files0-from=-', '<', {IN=>{f=>"g"}}, {AUX=>{g=>''}}, {OUT=>"0 0 0 g\n"} ], # one file name, with NUL ['1a', '--files0-from=-', '<', {IN=>{f=>"g\0"}}, {AUX=>{g=>''}}, {OUT=>"0 0 0 g\n"} ], # two file names, no final NUL ['2', '--files0-from=-', '<', {IN=>{f=>"g\0g"}}, {AUX=>{g=>''}}, {OUT=>"0 0 0 g\n0 0 0 g\n0 0 0 total\n"} ], # two file names, with final NUL ['2a', '--files0-from=-', '<', {IN=>{f=>"g\0g\0"}}, {AUX=>{g=>''}}, {OUT=>"0 0 0 g\n0 0 0 g\n0 0 0 total\n"} ], # Ensure that $prog processes FILEs following a zero-length name. ['zero-len', '--files0-from=-', '<', {IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}}, {OUT=>"0 0 0 g\n0 0 0 total\n"}, {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/mktemp.pl�����������������������������������������������������������������0000775�0000000�0000000�00000016636�12102337340�014307� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "mktemp". # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; sub check_tmp($$) { my ($file, $file_or_dir) = @_; my (undef, undef, $mode, undef) = stat $file or die "$ME: failed to stat $file: $!\n"; my $required_mode; if ($file_or_dir eq 'D') { -d $file or die "$ME: $file isn't a directory\n"; -x $file or die "$ME: $file isn't owner-searchable\n"; $required_mode = 0700; } elsif ($file_or_dir eq 'F') { -f $file or die "$ME: $file isn't a regular file\n"; $required_mode = 0600; } -r $file or die "$ME: $file isn't owner-readable\n"; -w $file or die "$ME: $file isn't owner-writable\n"; ($mode & 0777) == $required_mode or die "$ME: $file doesn't have required permissions\n"; $file_or_dir eq 'D' and do { rmdir $file or die "$ME: failed to rmdir $file: $!\n" }; $file_or_dir eq 'F' and do { unlink $file or die "$ME: failed to unlink $file: $!\n" }; } # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'mktemp'; my $bad_dir = 'no/such/dir'; my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} # ['too-many', 'a b', {ERR=>"$prog: too many templates\n" . "Try '$prog --help' for more information.\n"}, {EXIT => 1} ], ['too-many-q', '-q a b', {EXIT => 1} ], ['too-few-x', 'foo.XX', {EXIT => 1}, {ERR=>"$prog: too few X's in template 'foo.XX'\n"}], ['too-few-xq', '-q foo.XX', {EXIT => 1} ], ['1f', 'bar.XXXX', {OUT => "bar.ZZZZ\n"}, {OUT_SUBST => 's,\.....$,.ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }} ], ['2f', '-- -XXXX', {OUT => "-ZZZZ\n"}, {OUT_SUBST => 's,-....$,-ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }} ], # Create a temporary directory. ['1d', '-d f.XXXX', {OUT => "f.ZZZZ\n"}, {OUT_SUBST => 's,\.....$,.ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'D'; }} ], # Use a template consisting solely of X's ['1d-allX', '-d XXXX', {OUT => "ZZZZ\n"}, {PRE => sub {mkdir 'XXXX',0755 or die "XXXX: $!\n"}}, {OUT_SUBST => 's,^....$,ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'D'; rmdir 'XXXX' or die "rmdir XXXX: $!\n"; }} ], # Test -u ['uf', '-u f.XXXX', {OUT => "f.ZZZZ\n"}, {OUT_SUBST => 's,\.....$,.ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; -e $f and die "dry-run created file"; }}], ['ud', '-d --dry-run d.XXXX', {OUT => "d.ZZZZ\n"}, {OUT_SUBST => 's,\.....$,.ZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; -e $f and die "dry-run created directory"; }}], # Test bad templates ['invalid-tl', '-t a/bXXXX', {ERR=>"$prog: invalid template, 'a/bXXXX', " . "contains directory separator\n"}, {EXIT => 1} ], ['invalid-t2', '--tmpdir=a /bXXXX', {ERR=>"$prog: invalid template, '/bXXXX'; " . "with --tmpdir, it may not be absolute\n"}, {EXIT => 1} ], # Suffix after X. ['suffix1f', 'aXXXXb', {OUT=>"aZZZZb\n"}, {OUT_SUBST=>'s,a....b,aZZZZb,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], ['suffix1d', '-d aXXXXb', {OUT=>"aZZZZb\n"}, {OUT_SUBST=>'s,a....b,aZZZZb,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'D'; }}], ['suffix1u', '-u aXXXXb', {OUT=>"aZZZZb\n"}, {OUT_SUBST=>'s,a....b,aZZZZb,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; -e $f and die "dry-run created file"; }}], ['suffix2f', 'aXXXXaaXXXXa', {OUT=>"aXXXXaaZZZZa\n"}, {OUT_SUBST=>'s,a....a$,aZZZZa,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], ['suffix2d', '-d --suffix= aXXXXaaXXXX', {OUT=>"aXXXXaaZZZZ\n"}, {OUT_SUBST=>'s,a....$,aZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'D'; }}], ['suffix3f', '--suffix=b aXXXX', {OUT=>"aZZZZb\n"}, {OUT_SUBST=>'s,a....b,aZZZZb,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], ['suffix4f', '--suffix=X aXXXX', {OUT=>"aZZZZX\n"}, {OUT_SUBST=>'s,^a....,aZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], ['suffix5f', '--suffix /b aXXXX', {EXIT=>1}, {ERR=>"$prog: invalid suffix '/b', contains directory separator\n"}], ['suffix6f', 'aXXXX/b', {EXIT=>1}, {ERR=>"$prog: invalid suffix '/b', contains directory separator\n"}], ['suffix6f-q', '-q aXXXX/b', {EXIT=>1}], ['suffix7f', '--suffix= aXXXXb', {EXIT=>1}, {ERR=>"$prog: with --suffix, template 'aXXXXb' must end in X\n"}], ['suffix7f-q', '-q --suffix= aXXXXb', {EXIT=>1}], ['suffix7d', '-d --suffix=aXXXXb ""', {EXIT=>1}, {ERR=>"$prog: with --suffix, template '' must end in X\n"}], ['suffix8f', 'aXXXX --suffix=b', {OUT=>"aZZZZb\n"}, {OUT_SUBST=>'s,^a....,aZZZZ,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], ['suffix9f', 'aXXXX --suffix=b', {EXIT=>1}, {ENV=>"POSIXLY_CORRECT=1"}, {ERR=>"$prog: too many templates\n" . "Try '$prog --help' for more information.\n"}], ['suffix10f', 'aXXb', {EXIT => 1}, {ERR=>"$prog: too few X's in template 'aXXb'\n"}], ['suffix10d', '-d --suffix=X aXX', {EXIT => 1}, {ERR=>"$prog: too few X's in template 'aXXX'\n"}], ['suffix11f', '--suffix=.txt', {OUT=>"./tmp.ZZZZZZZZZZ.txt\n"}, {ENV=>"TMPDIR=."}, {OUT_SUBST=>'s,\..{10}\.,.ZZZZZZZZZZ.,'}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; }}], # Test template with subdirectory ['tmp-w-slash', '--tmpdir=. a/bXXXX', {PRE => sub {mkdir 'a',0755 or die "a: $!\n"}}, {OUT_SUBST => 's,b....$,bZZZZ,'}, {OUT => "./a/bZZZZ\n"}, {POST => sub { my ($f) = @_; defined $f or return; chomp $f; check_tmp $f, 'F'; unlink $f; rmdir 'a' or die "rmdir a: $!\n" }} ], ['pipe-bad-tmpdir', {ENV => "TMPDIR=$bad_dir"}, {ERR_SUBST => "s,($bad_dir/)[^']+': .*,\$1...,"}, {ERR => "$prog: failed to create file via template '$bad_dir/...\n"}, {EXIT => 1}], ['pipe-bad-tmpdir-u', '-u', {OUT => "$bad_dir/tmp.ZZZZZZZZZZ\n"}, {ENV => "TMPDIR=$bad_dir"}, {OUT_SUBST => 's,\..{10}$,.ZZZZZZZZZZ,'}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-debug-keys.sh��������������������������������������������������������0000775�0000000�0000000�00000011314�12102337340�016021� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test annotation of sort keys # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort number() { cat -n | sed 's/^ *//'; } cat <<\EOF > exp 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key ^ no match for key 1 _ 2 _ 33 __ 44 __ 2> ^ no match for key 3>1 _ 1>2 _ 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key ^ no match for key 1 _ 2 _ 33 __ 44 __ 2> ^ no match for key 3>1 _ 1>2 _ 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key 1 ^ no match for key ^ no match for key 44 ^ no match for key 33 ^ no match for key 2 ^ no match for key ^ no match for key 1 _ 2 _ 33 __ 44 __ 2> ^ no match for key 3>1 _ 1>2 _ ^ no match for key JAN ___ FEB ___ FEB ^ no match for key ^ no match for key JAN ^ no match for key JAZZ ^ no match for key ^ no match for key JAN ___ FEB ___ 2>JAZZ ^ no match for key 3> ^ no match for key 4>JAN ___ 1>FEB ___ ^ no match for key JANZ ___ JAN ___ FEB ___ 3> ^ no match for key 2>JANZ ___ 4>JAN ___ 1>FEB ___ 1.2ignore ___ 1.1e4ignore _____ >>a ___ >b __ a ^ no match for key ^ no match for key a _ b _ -3 __ -2 __ -0 __ --Mi-1 ^ no match for key -0 __ 1 _ 1 _ __ 1 _ _ 1 _ 1 _ 1 __ 1 _ 2,5 _ 2.4 ___ 2.,,3 __ 2.4 ___ 2,,3 _ 2.4 ___ 1a _ 2b _ >a _ A>chr10 ^ no match for key B>chr1 ^ no match for key EOF ( for type in n h g; do printf '1\n\n44\n33\n2\n' | sort -s -k2$type --debug printf '1\n\n44\n33\n2\n' | sort -s -k1.3$type --debug printf '1\n\n44\n33\n2\n' | sort -s -k1$type --debug printf '2\n\n1\n' | number | sort -s -k2g --debug done printf 'FEB\n\nJAN\n' | sort -s -k1M --debug printf 'FEB\n\nJAN\n' | sort -s -k2,2M --debug printf 'FEB\nJAZZ\n\nJAN\n' | sort -s -k1M --debug printf 'FEB\nJAZZ\n\nJAN\n' | number | sort -s -k2,2M --debug printf 'FEB\nJANZ\n\nJAN\n' | sort -s -k1M --debug printf 'FEB\nJANZ\n\nJAN\n' | number | sort -s -k2,2M --debug printf ' 1.2ignore\n 1.1e4ignore\n' | sort -s -g --debug printf '\tb\n\t\ta\n' | sort -s -d --debug # ignore = 1 printf 'a\n\n' | sort -s -k2,2 --debug #lena = 0 printf 'b\na\n' | sort -s -k1 --debug #otherwise key compare printf -- '-0\n1\n-2\n--Mi-1\n-3\n-0\n' | sort -s --debug -k1,1h printf ' 1\n1\n' | sort -b --debug printf ' 1\n1\n' | sort -sb --debug printf ' 1\n1\n' | sort --debug # strnumcmp is a bit weird, so we don't match exactly printf '2,5\n2.4\n' | sort -s -k1n --debug printf '2.,,3\n2.4\n' | sort -s -k1n --debug printf '2,,3\n2.4\n' | sort -s -k1n --debug # -z means we convert \0 to \n env printf '1a\x002b\x00' | sort -s -n -z --debug # Check that \0 and \t intermix. printf '\0\ta\n' | sort -s -k2b,2 --debug | tr -d '\0' # Check that key end before key start is not underlined printf 'A\tchr10\nB\tchr1\n' | sort -s -k2.4b,2.3n --debug ) > out compare exp out || fail=1 cat <<\EOF > exp 1²---++3 1,234 Mi _ _________ ________________________ 1²---++3 1,234 Mi _____ ________ _______________________ +1234 1234Gi 1,234M ^ no match for key _____ ^ no match for key ____ ____ _____ _____ _____ ______ ___________________ EOF unset LC_ALL f=$LOCALE_FR_UTF8 : ${LOCALE_FR_UTF8=none} if test "$LOCALE_FR_UTF8" != "none"; then ( echo ' 1²---++3 1,234 Mi' | LC_ALL=C sort --debug -k2g -k1b,1 echo ' 1²---++3 1,234 Mi' | LC_COLLATE=$f LC_CTYPE=$f LC_NUMERIC=$f LC_MESSAGES=C \ sort --debug -k2g -k1b,1 echo '+1234 1234Gi 1,234M' | LC_COLLATE=$f LC_CTYPE=$f LC_NUMERIC=$f LC_MESSAGES=C \ sort --debug -k1,1n -k1,1g \ -k1,1h -k2,2n -k2,2g -k2,2h -k3,3n -k3,3g -k3,3h ) > out compare exp out || fail=1 fi Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/printenv.sh���������������������������������������������������������������0000775�0000000�0000000�00000005301�12102337340�014641� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify behavior of printenv. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ printenv # Without arguments, printenv behaves like env. Some shells provide # printenv as a builtin, so we must invoke it via "env". # But beware of $_, set by many shells to the last command run. # Also, filter out LD_PRELOAD, which is set when running under valgrind. env | grep -Ev '^(_|LD_PRELOAD=)' > exp || framework_failure_ env -- printenv | grep -Ev '^(_|LD_PRELOAD=)' > out || fail=1 compare exp out || fail=1 # POSIX is clear that environ may, but need not be, sorted. # Environment variable values may contain newlines, which cannot be # observed by merely inspecting output from printenv. if env -- printenv | grep '^ENV_TEST' >/dev/null ; then skip_ "environment has potential interference from ENV_TEST*" fi # Printing a single variable's value. env -- printenv ENV_TEST > out test $? = 1 || fail=1 test -s out && fail=1 echo a > exp || framework_failure_ ENV_TEST=a env -- printenv ENV_TEST > out || fail=1 compare exp out || fail=1 # Printing multiple variables. Order follows command line. ENV_TEST1=a ENV_TEST2=b env -- printenv ENV_TEST2 ENV_TEST1 ENV_TEST2 > out \ || fail=1 ENV_TEST1=a ENV_TEST2=b env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 cat <<EOF > exp || framework_failure_ b a b a b EOF compare exp out || fail=1 # Exit status reflects missing variable, but remaining arguments processed. ENV_TEST1=a env -- printenv ENV_TEST2 ENV_TEST1 > out test $? = 1 || fail=1 ENV_TEST1=a env -- printenv ENV_TEST1 ENV_TEST2 >> out test $? = 1 || fail=1 cat <<EOF > exp || framework_failure_ a a EOF compare exp out || fail=1 # Non-standard environment variable name. Shells won't create it, but # env can, and printenv must be able to deal with it. echo b > exp || framework_failure_ env -- -a=b printenv -- -a > out || fail=1 compare exp out || fail=1 # Silently reject invalid env-var names. # Bug present through coreutils 8.0. env a=b=c printenv a=b > out test $? = 1 || fail=1 test -s out && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stty-pairs.sh�������������������������������������������������������������0000775�0000000�0000000�00000003710�12102337340�015115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure stty can parse most of its options - in pairs [expensive]. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stty expensive_ # Make sure there's a tty on stdin. require_controlling_input_terminal_ trap '' TTOU # Ignore SIGTTOU # Get the reversible settings from stty.c. stty_reversible_init_ saved_state=.saved-state stty --save > $saved_state || fail=1 stty $(cat $saved_state) || fail=1 # Build a list of all boolean options stty accepts on this system. # Don't depend on terminal width. Put each option on its own line, # remove all non-boolean ones, remove 'parenb' and 'cread' explicitly, # then remove any leading hyphens. sed_del='/^speed/d;/^rows/d;/^columns/d;/ = /d;s/parenb//;s/cread//' options=$(stty -a | tr -s ';' '\n' | sed "s/^ //;$sed_del;s/-//g") # Take them in pairs, with and without the leading '-'. for opt1 in $options; do for opt2 in $options; do stty $opt1 $opt2 || fail=1 if stty_reversible_query_ "$opt1" ; then stty -$opt1 $opt2 || fail=1 fi if stty_reversible_query_ "$opt2" ; then stty $opt1 -$opt2 || fail=1 fi if stty_reversible_query_ "$opt1" \ && stty_reversible_query_ "$opt2" ; then stty -$opt1 -$opt2 || fail=1 fi done done stty $(cat $saved_state) Exit $fail ��������������������������������������������������������coreutils-8.21/tests/misc/sum.pl��������������������������������������������������������������������0000775�0000000�0000000�00000004612�12102337340�013605� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sum". # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $in_1k = 'a' x 1024; my $in_2k = 'b' x 2048; my @Tests = ( ['1', {IN=> {f=> ''}}, {OUT=>"00000 0\n"}], ['2', {IN=> {f=> 'a'}}, {OUT=>"00097 1\n"}], ['3', {IN=> {f=> 'abc'}}, {OUT=>"16556 1\n"}], ['4', {IN=> {f=> 'message digest'}}, {OUT=>"26423 1\n"}], ['5', {IN=> {f=> 'abcdefghijklmnopqrstuvwxyz'}}, {OUT=>"53553 1\n"}], ['6', {IN=> {f=> join ('', 'A'..'Z', 'a'..'z', '0'..'9')}}, {OUT=>"25587 1\n"}], ['7', {IN=> {f=> '1234567890' x 8}}, {OUT=>"21845 1\n"}], ['a-r-1k', '-r', {IN=> {f=> $in_1k}}, {OUT=>"65409 1\n"}], ['a-s-1k', '-s', {IN=> {f=> $in_1k}}, {OUT=>"33793 2 f\n"}], ['b-r-2k', '-r', {IN=> {f=> $in_2k}}, {OUT=>"65223 2\n"}], ['b-s-2k', '-s', {IN=> {f=> $in_2k}}, {OUT=>"4099 4 f\n"}], ['1s', '-s', {IN=> {f=> ''}}, {OUT=>"0 0 f\n"}], ['2s', '-s', {IN=> {f=> 'a'}}, {OUT=>"97 1 f\n"}], ['3s', '-s', {IN=> {f=> 'abc'}}, {OUT=>"294 1 f\n"}], ['4s', '-s', {IN=> {f=> 'message digest'}}, {OUT=>"1413 1 f\n"}], ['5s', '-s', {IN=> {f=> 'abcdefghijklmnopqrstuvwxyz'}}, {OUT=>"2847 1 f\n"}], ['6s', '-s', {IN=> {f=> join ('', 'A'..'Z', 'a'..'z', '0'..'9')}}, {OUT=>"5387 1 f\n"}], ['7s', '-s', {IN=> {f=> '1234567890' x 8}}, {OUT=>"4200 1 f\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-printf.pl������������������������������������������������������������0000775�0000000�0000000�00000004743�12102337340�015261� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "stat --printf". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $ME = $0) =~ s|.*/||; my $prog = 'stat'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} # ['nl', q!--printf='\n' .!, {OUT=>"\n"}], ['no-nl', "--printf=%n .", {OUT=>"."}], ['pct-and-esc', q!--printf='\0%n\0' .!, {OUT=>"\0.\0"}], ['backslash', q!--printf='\\\\' .!, {OUT=>"\\"}], ['nul', q!--printf='\0' .!, {OUT=>"\0"}], # Don't bother testing \v, since Perl doesn't handle it. ['bel-etc', q!--printf='\a\b\f\n\r\t' .!, {OUT=>"\a\b\f\n\r\t"}], ['octal-1', q!--printf='\012\377' .!, {OUT=>"\012\377"}], ['octal-2', q!--printf='.\012a\377b' .!, {OUT=>".\012a\377b"}], ['hex-1', q!--printf='\x34\xf' .!, {OUT=>"\x34\xf"}], ['hex-2', q!--printf='.\x18p\xfq' .!, {OUT=>".\x18p\x0fq"}], ['hex-3', q!--printf='\x' .!, {OUT=>'x'}, {ERR=>"$prog: warning: unrecognized escape '\\x'\n"}], # With --format, there *is* a trailing newline. ['f-nl', "--format=%n .", {OUT=>".\n"}], ['f-nl2', "--format=%n . .", {OUT=>".\n.\n"}], ['end-pct', "--printf=% .", {OUT=>"%"}], ['pct-pct', "--printf=%% .", {OUT=>"%"}], ['end-bs', "--printf='\\' .", {OUT=>'\\'}, {ERR=>"$prog: warning: backslash at end of format\n"}], ['err-1', "--printf=%9% .", {EXIT => 1}, {ERR=>"$prog: %9%: invalid directive\n"}], ['err-2', "--printf=%9 .", {EXIT => 1}, {ERR=>"$prog: %9: invalid directive\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������coreutils-8.21/tests/misc/date-next-dow.pl����������������������������������������������������������0000775�0000000�0000000�00000004447�12102337340�015467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "date". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; # Export TZ=UTC0 so that zone-dependent strings match. $ENV{TZ} = 'UTC0'; my $now = time; my @d = localtime ($now); my @d_week = localtime ($now + 7 * 24 * 3600); my $wday = $d[6]; my $wday_str = qw(sun mon tue wed thu fri sat)[$wday]; my @Tests = ( # test-name, [option, option, ...] {OUT=>"expected-output"} # # Running "date -d mon +%a" on a Monday must print Mon. ['dow', "-d $wday_str +%a", {OUT => ucfirst $wday_str}], # It had better be the same date, too. ['dow2', "-d $wday_str +%Y-%m-%d", {OUT => strftime("%Y-%m-%d", @d)}], ['next-dow', "-d 'next $wday_str' +%Y-%m-%d", {OUT => strftime("%Y-%m-%d", @d_week)}], ); # Append "\n" to each OUT=> RHS if the expected exit value is either # zero or not specified (defaults to zero). foreach my $t (@Tests) { my $exit_val; foreach my $e (@$t) { ref $e && ref $e eq 'HASH' && defined $e->{EXIT} and $exit_val = $e->{EXIT}; } foreach my $e (@$t) { ref $e && ref $e eq 'HASH' && defined $e->{OUT} && ! $exit_val and $e->{OUT} .= "\n"; } } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'date'; my $fail = run_tests ($ME, $prog, \@Tests, $save_temps, $verbose); # Skip the test if the starting and stopping day numbers differ. my @d_post = localtime (time); $d_post[7] == $d[7] or CuSkip::skip "$ME: test straddled a day boundary; skipped"; exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-merge-fdlimit.sh�����������������������������������������������������0000775�0000000�0000000�00000005462�12102337340�016516� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test whether sort avoids opening more file descriptors than it is # allowed when merging files. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort require_ulimit_ mkdir in err || framework_failure_ for i in $(seq 17); do echo $i >in/$i done seq 17 >some-data # When these tests are run inside the automated testing framework, they # have one less available file descriptor than when run outside the # automated testing framework. If a test with a batch size of b fails # inside the ATF, then the same test with batch size b+1 may pass outside # the ATF but fail inside it. # The default batch size (nmerge) is 16. (ulimit -n 19 \ && sort -m --batch-size=16 in/* 2>err/merge-default-err \ || ! grep "open failed" err/merge-default-err) || fail=1 # If sort opens a file to sort by random hashes of keys, # it needs to consider this file against its limit on open file # descriptors. Test once with the default random source # and once with an explicit source. for randsource in '' --random-source=some-data; do (ulimit -n 20 \ && sort -mR $randsource --batch-size=16 in/* 2>err/merge-random-err \ || ! grep "open failed" err/merge-random-err) || fail=1 done # 'sort -m' should work in a limited file descriptor # environment when the output is repeatedly one of its inputs. # In coreutils 8.7 and earlier, 'sort' would dump core on this test. # # This test uses 'exec' to redirect file descriptors rather than # ordinary redirection on the 'sort' command. This is intended to # work around bugs in OpenBSD /bin/sh, and some other sh variants, # that squirrel away file descriptors before closing them; see # <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00075.html>. # This test finds the bug only with shells that do not close FDs on # exec, and will miss the bug (if present) on other shells, but it's # not easy to fix this without running afoul of the OpenBSD-like sh bugs. (seq 6 && echo 6) >exp || fail=1 echo 6 >out || fail=1 (exec 3<&- 4<&- 5<&- 6</dev/null 7<&6 8<&6 9<&6 && ulimit -n 10 && sort -n -m --batch-size=7 -o out out in/1 in/2 in/3 in/4 in/5 out ) && compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/invalid-opt.pl������������������������������������������������������������0000775�0000000�0000000�00000004730�12102337340�015230� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # exercise the 'invalid option' handling code in each program # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. require 5.003; use strict; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my %exit_status = ( ls => 2, dir => 2, vdir => 2, test => 2, chroot => 125, echo => 0, env => 125, expr => 0, nice => 125, nohup => 125, sort => 2, stdbuf => 125, test => 0, timeout => 125, true => 0, tty => 2, printf => 0, printenv => 2, ); my %expected_out = ( echo => "-/\n", expr => "-/\n", printf => "-/", ); my %expected_err = ( false => '', stty => '', ); my $fail = 0; my @built_programs = split ' ', $ENV{built_programs}; foreach my $prog (@built_programs) { $prog eq '[' and next; my $try = "Try '$prog --help' for more information.\n"; my $x = $exit_status{$prog}; defined $x or $x = 1; my $out = $expected_out{$prog}; defined $out or $out = ''; my $err = $expected_err{$prog}; defined $err or $err = $x == 0 ? '' : "$prog: invalid option -- /\n$try"; # Accommodate different syntax in glibc's getopt # diagnostics by filtering out single quotes. # Also accommodate BSD getopt. my $err_subst = "s,'/',/,; s,unknown,invalid,"; # Depending on how this script is run, stty emits different # diagnostics. Don't bother checking them. $prog eq 'stty' and $err_subst = 's/(.|\n)*//ms'; my @Tests = (["$prog-invalid-opt", '-/', {OUT=>$out}, {ERR_SUBST => $err_subst}, {EXIT=>$x}, {ERR=>$err}]); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $f = run_tests ($prog, \$prog, \@Tests, $save_temps, $verbose); $f and $fail = 1; } exit $fail; ����������������������������������������coreutils-8.21/tests/misc/chroot-fail.sh������������������������������������������������������������0000775�0000000�0000000�00000002605�12102337340�015207� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that internal failure in chroot gives exact status. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chroot # These tests verify exact status of internal failure; since none of # them actually run a command, we don't need root privileges chroot # missing argument test $? = 125 || fail=1 chroot --- / true # unknown option test $? = 125 || fail=1 # chroot("/") succeeds for non-root users on some systems, but not all. if chroot / true ; then chroot / sh -c 'exit 2' # exit status propagation test $? = 2 || fail=1 chroot / . # invalid command test $? = 126 || fail=1 chroot / no_such # no such command test $? = 127 || fail=1 else test $? = 125 || fail=1 fi Exit $fail ���������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/ls-time.sh����������������������������������������������������������������0000775�0000000�0000000�00000010057�12102337340�014352� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test some of ls's sorting options. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls # Avoid any possible glitches due to daylight-saving changes near the # time stamps used during the test. TZ=UTC0 export TZ t1='1998-01-15 21:00' t2='1998-01-15 22:00' t3='1998-01-15 23:00' u1='1998-01-14 11:00' u2='1998-01-14 12:00' u3='1998-01-14 13:00' touch -m -d "$t3" a || framework_failure_ touch -m -d "$t2" b || framework_failure_ touch -m -d "$t1" c || framework_failure_ touch -a -d "$u3" c || framework_failure_ touch -a -d "$u2" b || framework_failure_ # Make sure A has ctime at least 1 second more recent than C's. sleep 2 touch -a -d "$u1" a || framework_failure_ # Updating the atime is usually enough to update the ctime, but on # Solaris 10's tmpfs, ctime is not updated, so force an update here: { ln a a-ctime && rm a-ctime; } || framework_failure_ # A has ctime more recent than C. set $(ls -c a c) test "$*" = 'a c' || fail=1 # Sleep so long in an attempt to avoid spurious failures # due to NFS caching and/or clock skew. sleep 2 # Create a link, updating c's ctime. ln c d || framework_failure_ # Before we go any further, verify that touch's -m option works. set -- $(ls --full -l a) case "$*" in *" $t3:00.000000000 +0000 a") ;; *) # This might be what's making HPUX 11 systems fail this test. cat >&2 << EOF A basic test of touch -m has just failed, so the subsequent tests in this file will not be run. In the output below, the date of last modification for 'a' should have been $t3. EOF ls --full -l a framework_failure_ ;; esac # Ensure that touch's -a option works. set -- $(ls --full -lu a) case "$*" in *" $u1:00.000000000 +0000 a") ;; *) # This might be what's making HPUX 11 systems fail this test. cat >&2 << EOF A fundamental touch -a test has just failed, so the subsequent tests in this file will not be run. In the output below, the date of last access for 'a' should have been $u1. EOF ls --full -lu a Exit 77 ;; esac set $(ls -ut a b c) test "$*" = 'c b a' && : || fail=1 test $fail = 1 && ls -l --full-time --time=access a b c set $(ls -t a b c) test "$*" = 'a b c' && : || fail=1 test $fail = 1 && ls -l --full-time a b c # Now, C should have ctime more recent than A. set $(ls -ct a c) if test "$*" = 'c a'; then : ok else # In spite of documentation, (e.g., stat(2)), neither link nor chmod # update a file's st_ctime on SunOS4.1.4. cat >&2 << \EOF failed ls ctime test -- this failure is expected at least for SunOS4.1.4 and for tmpfs file systems on Solaris 5.5.1. It is also expected to fail on a btrfs file system until http://bugzilla.redhat.com/591068 is addressed. In the output below, 'c' should have had a ctime more recent than that of 'a', but does not. EOF #' ls -ctl --full-time a c fail=1 fi # This check is ineffective if: # en_US locale is not on the system. # The system en_US message catalog has a specific TIME_FMT translation, # which was inadvertently the case between coreutils 8.1 and 8.5 inclusive. if gettext --version >/dev/null 2>&1; then default_tf1='%b %e %Y' en_tf1=$(LC_ALL=en_US gettext coreutils "$default_tf1") if test "$default_tf1" = "$en_tf1"; then LC_ALL=en_US ls -l c >en_output ls -l --time-style=long-iso c >liso_output if compare en_output liso_output; then fail=1 echo "Long ISO TIME_FMT being used for en_US locale." >&2 fi fi fi Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tac.pl��������������������������������������������������������������������0000775�0000000�0000000�00000005545�12102337340�013556� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'tac'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $bad_dir = 'no/such/dir'; # This must be longer than 16KiB to trigger the double free in coreutils-8.5. my $long_line = 'o' x (16 * 1024 + 1); my @Tests = ( ['segfault', '-r', {IN=>"a\n"}, {IN=>"b\n"}, {OUT=>"a\nb\n"}], ['segfault2','-r', {IN=>"a\nb\n"}, {IN=>"1\n2\n"}, {OUT=>"b\na\n2\n1\n"}], ['basic-0', '', {IN=>""}, {OUT=>""}], ['basic-a', '', {IN=>"a"}, {OUT=>"a"}], ['basic-b', '', {IN=>"\n"}, {OUT=>"\n"}], ['basic-c', '', {IN=>"a\n"}, {OUT=>"a\n"}], ['basic-d', '', {IN=>"a\nb"}, {OUT=>"ba\n"}], ['basic-e', '', {IN=>"a\nb\n"}, {OUT=>"b\na\n"}], ['basic-f', '', {IN=>"1234567\n8\n"}, {OUT=>"8\n1234567\n"}], ['basic-g', '', {IN=>"12345678\n9\n"}, {OUT=>"9\n12345678\n"}], ['basic-h', '', {IN=>"123456\n8\n"}, {OUT=>"8\n123456\n"}], ['basic-i', '', {IN=>"12345\n8\n"}, {OUT=>"8\n12345\n"}], ['basic-j', '', {IN=>"1234\n8\n"}, {OUT=>"8\n1234\n"}], ['basic-k', '', {IN=>"123\n8\n"}, {OUT=>"8\n123\n"}], ['opt-b', '-b', {IN=>"\na\nb\nc"}, {OUT=>"\nc\nb\na"}], ['opt-s', '-s:', {IN=>"a:b:c:"}, {OUT=>"c:b:a:"}], ['opt-sb', qw(-s : -b), {IN=>":a:b:c"}, {OUT=>":c:b:a"}], ['opt-r', qw(-r -s '\._+'), {IN=>"1._2.__3.___4._"}, {OUT=>"4._3.___2.__1._"}], ['opt-r2', qw(-r -s '\._+'), {IN=>"a.___b.__1._2.__3.___4._"}, {OUT=>"4._3.___2.__1._b.__a.___"}], # This gave incorrect output (.___4._2.__3._1) with tac-1.22. ['opt-br', qw(-b -r -s '\._+'), {IN=>"._1._2.__3.___4"}, {OUT=>".___4.__3._2._1"}], ['opt-br2', qw(-b -r -s '\._+'), {IN=>".__x.___y.____z._1._2.__3.___4"}, {OUT=>".___4.__3._2._1.____z.___y.__x"}], ['pipe-bad-tmpdir', {ENV => "TMPDIR=$bad_dir"}, {IN_PIPE => "a\n"}, {ERR_SUBST => "s,'$bad_dir': .*,...,"}, {ERR => "$prog: failed to create temporary file in ...\n"}, {EXIT => 1}], # coreutils-8.5's tac would double-free its primary buffer. ['double-free', {IN=>$long_line}, {OUT=>$long_line}], ); @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/chcon-fail.sh�������������������������������������������������������������0000775�0000000�0000000�00000002104�12102337340�014775� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that chcon fails when it should. # These tests don't use any actual SE Linux syscalls. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chcon # neither context nor file chcon 2> /dev/null && fail=1 # No file chcon CON 2> /dev/null && fail=1 # No file touch f chcon --reference=f 2> /dev/null && fail=1 # No file chcon -u anyone 2> /dev/null && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-compress-proc.sh�����������������������������������������������������0000775�0000000�0000000�00000004732�12102337340�016564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test use of compression subprocesses by sort # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort expensive_ seq -w 2000 > exp || fail=1 tac exp > in || fail=1 insize=$(stat -c %s - <in) || fail=1 # This compressor's behavior is adjustable via environment variables. export PRE_COMPRESS= export POST_COMPRESS= cat <<\EOF >compress || framework_failure_ #!/bin/sh eval "$PRE_COMPRESS" tr 41 14 || exit eval "$POST_COMPRESS" EOF chmod +x compress # "Impatient exit" tests # # In these test cases, the biggest compressor (or decompressor) exits # with nonzero status, after sleeping a bit. Until coreutils 8.7 # 'sort' impatiently exited without waiting for its decompression # subprocesses in these cases. Check compression too, while we're here. # for compress_arg in '' '-d' do POST_COMPRESS=' test "X$1" != "X'$compress_arg'" || { test "X$1" = "X" && exec <&1 size=$(stat -c %s -) exec >/dev/null 2>&1 <&1 || exit expr $size "<" '"$insize"' / 2 || { sleep 1; exit 1; } } ' sort --compress-program=./compress -S 1k --batch-size=2 in > out && fail=1 done # "Pre-exec child" test # # Ignore a random child process created before 'sort' was exec'ed. # This bug was also present in coreutils 8.7. # ( (sleep 1; exec false) & PRE_COMPRESS='test -f ok || sleep 2' POST_COMPRESS='touch ok' exec sort --compress-program=./compress -S 1k in >out ) || fail=1 compare exp out || fail=1 test -f ok || fail=1 rm -f ok rm -f compress # If $TMPDIR is relative, give subprocesses time to react when 'sort' exits. # Otherwise, under NFS, when 'sort' unlinks the temp files and they # are renamed to .nfsXXXX instead of being removed, the parent cleanup # of this directory will fail because the files are still open. case $TMPDIR in /*) ;; *) sleep 1;; esac Exit $fail ��������������������������������������coreutils-8.21/tests/misc/id-setgid.sh��������������������������������������������������������������0000775�0000000�0000000�00000002226�12102337340�014650� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that id -G prints the right group when run set-GID. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ id require_root_ g=$(id -u $NON_ROOT_USERNAME) || framework_failure_ # Construct a different group number. gp1=$(expr $g + 1) echo $gp1 > exp || framework_failure_ setuidgid -g $gp1 $NON_ROOT_USERNAME env PATH="$PATH" id -G > out || fail=1 compare exp out || fail=1 # With coreutils-8.16 and earlier, id -G would print both: $gp1 $g Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/md5sum-parallel.sh��������������������������������������������������������0000775�0000000�0000000�00000002266�12102337340�016007� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that md5sum prints each checksum atomically # so that concurrent md5sums don't intersperse their output # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ md5sum (mkdir tmp && cd tmp && seq 500 | xargs touch) # This will output at least 16KiB per process # and start 3 processes, with 2 running concurrently, # which triggers often on Fedora 11 at least. (find tmp tmp tmp -type f | xargs -n500 -P2 md5sum) | sed -n '/[0-9a-f]\{32\} /!p' | grep . > /dev/null && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/chroot-credentials.sh�����������������������������������������������������0000775�0000000�0000000�00000003263�12102337340�016572� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Verify that the credentials are changed correctly. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chroot require_root_ # Verify that root credentials are kept. test $(chroot / whoami) = root || fail=1 test "$(groups)" = "$(chroot / groups)" || fail=1 # Verify that credentials are changed correctly. whoami_after_chroot=$( chroot --userspec=$NON_ROOT_USERNAME:$NON_ROOT_GROUP / whoami ) test "$whoami_after_chroot" != root || fail=1 # Verify that there are no additional groups. id_G_after_chroot=$( chroot --userspec=$NON_ROOT_USERNAME:$NON_ROOT_GROUP \ --groups=$NON_ROOT_GROUP / id -G ) test "$id_G_after_chroot" = $NON_ROOT_GROUP || fail=1 # Verify that when specifying only the user name we get the current # primary group ID. test "$(chroot --userspec=$NON_ROOT_USERNAME / id -g)" = "$(id -g)" \ || fail=1 # Verify that when specifying only a group we get the current user ID test "$(chroot --userspec=:$NON_ROOT_GROUP / id -u)" = "$(id -u)" \ || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-unique-segv.sh�������������������������������������������������������0000775�0000000�0000000�00000002210�12102337340�016225� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # parallel sort with --unique (-u) would segfault # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort grep '^#define HAVE_PTHREAD_T 1' "$CONFIG_HEADER" > /dev/null || skip_ 'requires pthreads' cat <<\EOF > in || framework_failure_ z zzzzzz zzzzzzz zzzzzzz zzzzzzz zzzzzzzzz zzzzzzzzzzz zzzzzzzzzzzz EOF sort --parallel=1 -u in > exp || fail=1 sort --parallel=2 -u -S 10b < in > out || fail=1 compare exp out || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stat-hyphen.sh������������������������������������������������������������0000775�0000000�0000000�00000001753�12102337340�015247� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # demonstrate that stat - works and stat -f - does not. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stat printf -- '-\n' > exp || framework_failure_ touch f || framework_failure_ stat --format=%n - < f > out || fail=1 stat -f - < f && fail=1 compare exp out || fail=1 Exit $fail ���������������������coreutils-8.21/tests/misc/timeout.sh����������������������������������������������������������������0000775�0000000�0000000�00000003564�12102337340�014473� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate timeout basic operation # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ timeout # no timeout timeout 10 true || fail=1 # no timeout (suffix check) timeout 1d true || fail=1 # disabled timeout timeout 0 true || fail=1 # exit status propagation timeout 10 sh -c 'exit 2' test $? = 2 || fail=1 # timeout timeout .1 sleep 10 test $? = 124 || fail=1 # exit status propagation even on timeout timeout --preserve-status .1 sleep 10 # exit status should be 128+TERM test $? = 124 && fail=1 # kill delay. Note once the initial timeout triggers, # the exit status will be 124 even if the command # exits on its own accord. timeout -s0 -k1 .1 sleep 10 test $? = 124 && fail=1 # Ensure 'timeout' is immune to parent's SIGCHLD handler # Use a subshell and an exec to work around a bug in FreeBSD 5.0 /bin/sh. ( # ash doesn't support "trap '' CHLD"; it knows only signal numbers. sig=$("$abs_top_builddir/src/kill" -l CHLD 2>/dev/null) && trap '' $sig exec timeout 10 true ) || fail=1 # Don't be confused when starting off with a child (Bug#9098). out=$(sleep .1 & exec timeout .5 sh -c 'sleep 2; echo foo') status=$? test "$out" = "" && test $status = 124 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/comm.pl�������������������������������������������������������������������0000775�0000000�0000000�00000012256�12102337340�013737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # -*- perl -*- # Test comm # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. require 5.003; use strict; (my $program_name = $0) =~ s|.*/||; my $prog = 'comm'; # Turn off localization of executable's ouput. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @inputs = ({IN=>{a=>"1\n3"}}, {IN=>{b=>"2\n3"}}); my @Tests = ( # basic operation ['basic', @inputs, {OUT=>"1\n\t2\n\t\t3\n"} ], # suppress lines unique to file 1 ['opt-1', '-1', @inputs, {OUT=>"2\n\t3\n"} ], # suppress lines unique to file 2 ['opt-2', '-2', @inputs, {OUT=>"1\n\t3\n"} ], # suppress lines that appear in both files ['opt-3', '-3', @inputs, {OUT=>"1\n\t2\n"} ], # suppress lines unique to file 1 and lines unique to file 2 ['opt-12', '-1', '-2', @inputs, {OUT=>"3\n"} ], # suppress lines unique to file 1 and those that appear in both files ['opt-13', '-1', '-3', @inputs, {OUT=>"2\n"} ], # suppress lines unique to file 2 and those that appear in both files ['opt-23', '-2', '-3', @inputs, {OUT=>"1\n"} ], # suppress all output (really?) ['opt-123', '-1', '-2', '-3', @inputs, {OUT=>""} ], # invalid missing command line argument (1) ['missing-arg1', $inputs[0], {EXIT=>1}, {ERR => "$prog: missing operand after 'a'\n" . "Try '$prog --help' for more information.\n"}], # invalid missing command line argument (both) ['missing-arg2', {EXIT=>1}, {ERR => "$prog: missing operand\n" . "Try '$prog --help' for more information.\n"}], # invalid extra command line argument ['extra-arg', @inputs, 'no-such', {EXIT=>1}, {ERR => "$prog: extra operand 'no-such'\n" . "Try '$prog --help' for more information.\n"}], # out-of-order input ['ooo', {IN=>{a=>"1\n3"}}, {IN=>{b=>"3\n2"}}, {EXIT=>1}, {OUT => "1\n\t\t3\n\t2\n"}, {ERR => "$prog: file 2 is not in sorted order\n"}], # out-of-order input, fatal ['ooo2', '--check-order', {IN=>{a=>"1\n3"}}, {IN=>{b=>"3\n2"}}, {EXIT=>1}, {OUT => "1\n\t\t3\n"}, {ERR => "$prog: file 2 is not in sorted order\n"}], # out-of-order input, ignored ['ooo3', '--nocheck-order', {IN=>{a=>"1\n3"}}, {IN=>{b=>"3\n2"}}, {OUT => "1\n\t\t3\n\t2\n"}], # both inputs out-of-order ['ooo4', {IN=>{a=>"3\n1\n0"}}, {IN=>{b=>"3\n2\n0"}}, {EXIT=>1}, {OUT => "\t\t3\n1\n0\n\t2\n\t0\n"}, {ERR => "$prog: file 1 is not in sorted order\n". "$prog: file 2 is not in sorted order\n" }], # both inputs out-of-order on last pair ['ooo5', {IN=>{a=>"3\n1"}}, {IN=>{b=>"3\n2"}}, {EXIT=>1}, {OUT => "\t\t3\n1\n\t2\n"}, {ERR => "$prog: file 1 is not in sorted order\n". "$prog: file 2 is not in sorted order\n" }], # first input out-of-order extended ['ooo5b', {IN=>{a=>"0\n3\n1"}}, {IN=>{b=>"2\n3"}}, {EXIT=>1}, {OUT => "0\n\t2\n\t\t3\n1\n"}, {ERR => "$prog: file 1 is not in sorted order\n"}], # second input out-of-order extended ['ooo5c', {IN=>{a=>"0\n3"}}, {IN=>{b=>"2\n3\n1"}}, {EXIT=>1}, {OUT => "0\n\t2\n\t\t3\n\t1\n"}, {ERR => "$prog: file 2 is not in sorted order\n"}], # both inputs out-of-order, but fully pairable ['ooo6', {IN=>{a=>"2\n1\n0"}}, {IN=>{b=>"2\n1\n0"}}, {EXIT=>0}, {OUT => "\t\t2\n\t\t1\n\t\t0\n"}], # both inputs out-of-order, fully pairable, but forced to fail ['ooo7', '--check-order', {IN=>{a=>"2\n1\n0"}}, {IN=>{b=>"2\n1\n0"}}, {EXIT=>1}, {OUT => "\t\t2\n"}, {ERR => "$prog: file 1 is not in sorted order\n"}], # out-of-order, line 2 is a prefix of line 1 # until coreutils-7.2, this test would fail -- no disorder detected ['ooo-prefix', '--check-order', {IN=>{a=>"Xa\nX\n"}}, {IN=>{b=>""}}, {EXIT=>1}, {OUT => "Xa\n"}, {ERR => "$prog: file 1 is not in sorted order\n"}], # alternate delimiter: ',' ['delim-comma', '--output-delimiter=,', @inputs, {OUT=>"1\n,2\n,,3\n"} ], # two-character alternate delimiter: '++' ['delim-2char', '--output-delimiter=++', @inputs, {OUT=>"1\n++2\n++++3\n"} ], # invalid empty delimiter ['delim-empty', '--output-delimiter=', @inputs, {EXIT=>1}, {ERR => "$prog: empty '--output-delimiter' not allowed\n"}], # invalid dual delimiter ['delim-dual', '--output-delimiter=,', '--output-delimiter=+', @inputs, {EXIT=>1}, {ERR => "$prog: multiple delimiters specified\n"}], # valid dual delimiter specification ['delim-dual2', '--output-delimiter=,', '--output-delimiter=,', @inputs, {OUT=>"1\n,2\n,,3\n"} ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stty.sh�������������������������������������������������������������������0000775�0000000�0000000�00000004610�12104226530�014001� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Make sure stty can parse most of its options. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Make sure there's a tty on stdin. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stty require_controlling_input_terminal_ trap '' TTOU # Ignore SIGTTOU # Get the reversible settings from stty.c. stty_reversible_init_ saved_state=.saved-state stty --save > $saved_state || fail=1 stty $(cat $saved_state) || fail=1 # This would segfault prior to sh-utils-2.0j. stty erase - || fail=1 # These would improperly ignore invalid options through coreutils 5.2.1. stty -F 2>/dev/null && fail=1 stty -raw -F no/such/file 2>/dev/null && fail=1 stty -raw -a 2>/dev/null && fail=1 # Build a list of all boolean options stty accepts on this system. # Don't depend on terminal width. Put each option on its own line, # remove all non-boolean ones, then remove any leading hyphens. sed_del='/^speed/d;/^rows/d;/^columns/d;/ = /d' options=$(stty -a | tr -s ';' '\n' | sed "s/^ //;$sed_del;s/-//g") # Take them one at a time, with and without the leading '-'. for opt in $options; do # 'stty parenb' and 'stty -parenb' fail with this message # stty: standard input: unable to perform all requested operations # on Linux 2.2.0-pre4 kernels. Also since around Linux 2.6.30 # other serial control settings give the same error. So skip them. # Also on ppc*|sparc* glibc platforms 'icanon' gives the same error. # See: http://debbugs.gnu.org/7228#14 case $opt in parenb|parodd|cstopb|crtscts|cdtrdsr|icanon) continue;; esac stty $opt || fail=1 # Likewise, 'stty -cread' would fail, so skip that, too. test $opt = cread && continue if stty_reversible_query_ "$opt" ; then stty -$opt || { fail=1; echo -$opt; } fi done stty $(cat $saved_state) Exit $fail ������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/test-diag.pl��������������������������������������������������������������0000775�0000000�0000000�00000002407�12102337340�014662� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test the diagnostics of "test". # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = "$ENV{abs_top_builddir}/src/test"; my @Tests = ( # In coreutils-5.93, this diagnostic lacked the newline. ['o', '-o arg', {ERR => "test: extra argument '-o'\n"}, {ERR_SUBST => 's!^.*:!test:!'}, {EXIT => 2}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/pwd-option.sh�������������������������������������������������������������0000775�0000000�0000000�00000003632�12102337340�015101� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that pwd options work. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ pwd mkdir -p a/b || framework_failure_ ln -s a/b c || framework_failure_ base=$(env -- pwd) # Remove any logical paths from $PWD. cd "$base" || framework_failure_ test "x$PWD" = "x$base" || framework_failure_ # Enter a logical directory. cd c || framework_failure_ test "x$PWD" = "x$base/c" || skip_ "cd does not properly update \$PWD" env -- pwd -L > out || fail=1 printf %s\\n "$base/c" > exp || fail=1 env -- pwd --logical -P >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 env -- pwd --physical >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 # By default, we use -P unless POSIXLY_CORRECT. env -- pwd >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 env -- POSIXLY_CORRECT=1 pwd >> out || fail=1 printf %s\\n "$base/c" >> exp || fail=1 # Make sure we reject bogus values, and silently fall back to -P. env -- PWD="$PWD/." pwd -L >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 env -- PWD=bogus pwd -L >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 env -- PWD="$base/a/../c" pwd -L >> out || fail=1 printf %s\\n "$base/a/b" >> exp || fail=1 compare exp out || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/shred-exact.sh������������������������������������������������������������0000775�0000000�0000000�00000002121�12102337340�015200� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure that neither --exact nor --zero gobbles a command line argument # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ shred for opt in --exact --zero; do echo a > a || fail=1 echo bb > b || fail=1 echo ccc > c || fail=1 shred --remove $opt a b || fail=1 test -f a && fail=1 test -f b && fail=1 shred --remove $opt c || fail=1 test -f c && fail=1 done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/id-context.sh�������������������������������������������������������������0000775�0000000�0000000�00000002334�12102337340�015055� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "id" outputs SELinux context only without specified user # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ id # Require selinux - when selinux is disabled, id never prints scontext. require_selinux_ # Check without specified user, context string should be present. id | grep context= >/dev/null || fail=1 # Check with specified user, no context string should be present. # But if the current user is nameless, skip this part. id -nu > /dev/null \ && id $(id -nu) | grep context= >/dev/null && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/selinux.sh����������������������������������������������������������������0000775�0000000�0000000�00000003424�12102337340�014467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test SELinux-related options. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ chcon cp ls mv stat require_root_ require_selinux_ skip_if_mcstransd_is_running_ # Create a regular file, dir, fifo. touch f || framework_failure_ mkdir d s1 s2 || framework_failure_ mkfifo_or_skip_ p # special context that works both with and without mcstransd ctx=root:object_r:tmp_t:s0 chcon $ctx f d p || skip_ '"chcon '$ctx' ..." failed' # inspect that context with both ls -Z and stat. for i in d f p; do c=$(ls -dogZ $i|cut -d' ' -f3); test x$c = x$ctx || fail=1 c=$(stat --printf %C $i); test x$c = x$ctx || fail=1 done # ensure that ls -l output includes the ".". c=$(ls -l f|cut -c11); test "$c" = . || fail=1 # Copy each to a new directory and ensure that context is preserved. cp -r --preserve=all d f p s1 || fail=1 for i in d f p; do c=$(stat --printf %C s1/$i); test x$c = x$ctx || fail=1 done # Now, move each to a new directory and ensure that context is preserved. mv d f p s2 || fail=1 for i in d f p; do c=$(stat --printf %C s2/$i); test x$c = x$ctx || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-unique.sh������������������������������������������������������������0000775�0000000�0000000�00000002011�12102337340�015262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test 'sort -u'. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort cat > in <<\EOF 1 2 1 3 EOF cat > exp <<\EOF 1 2 3 EOF for LOC in C "$LOCALE_FR" "$LOCALE_FR_UTF8"; do test -z "$LOC" && continue LC_ALL=$LOC sort -u in > out || { fail=1; break; } compare exp out || { fail=1; break; } done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sha512sum.pl��������������������������������������������������������������0000775�0000000�0000000�00000004507�12102337340�014534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "sha512sum". # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $sha_degenerate = "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"; my @Tests = ( ['s1', {IN=> {f=> ''}}, {OUT=>"$sha_degenerate f\n"}], ['s2', {IN=> {f=> 'a'}}, {OUT=>"1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75 f\n"}], ['s3', {IN=> {f=> 'abc'}}, {OUT=>"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f f\n"}], ['s4', {IN=> {f=> 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'}}, {OUT=>"8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909 f\n"}], ['s8', {IN=> {f=> 'a' x 1000000}}, {OUT=>"e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b f\n"}], ); # Insert the '--text' argument for each test. my $t; foreach $t (@Tests) { splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'sha512sum'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/printf.sh�����������������������������������������������������������������0000775�0000000�0000000�00000006442�12102337340�014305� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # basic tests for printf # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. prog='env printf' . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ printf getlimits_ # Verify the 3 methods of specifying "Escape": test $($prog "\x1b\n\33\n\e\n" | uniq -u) && fail=1 # This would fail (by printing the '--') for printf in sh-utils # and in coreutils 4.5.1. $prog -- 'foo\n' > out || fail=1 cat <<\EOF > exp foo EOF compare exp out || fail=1 rm -f out exp # Until coreutils-4.5.10, this would elicit a segfault. $prog '1 %*sy\n' -3 x > out || fail=1 # Until coreutils 5.2.2, this would succeed. if POSIXLY_CORRECT=1 $prog '2 \x' >/dev/null 2>&1; then fail=1 else echo '2 failed, as expected' >> out fi # Until coreutils-4.5.12, these would fail. $prog '3 \x40\n' >> out || fail=1 POSIXLY_CORRECT=1 \ $prog '4 \x40\n' >> out || fail=1 $prog '5 % +d\n' 234 >> out || fail=1 # This should print "6 !\n", but don't rely on '!' being the # one-byte representation of octal 041. With printf prior to # coreutils-5.0.1, it would print six bytes: "6 \41\n". $prog '6 \41\n' | tr '\41' '!' >> out # Note that as of coreutils-5.0.1, printf with a format of '\0002x' # prints a NUL byte followed by the digit '2' and an 'x'. # By contrast bash's printf outputs the same thing as $(printf '\2x') does. $prog '7 \2y \02y \002y \0002y\n' |tr '\0\2' '*=' >> out $prog '8 %b %b %b %b\n' '\1y' '\01y' '\001y' '\0001y'|tr '\1' = >> out $prog '9 %*dx\n' -2 0 >>out || fail=1 $prog '10 %.*dx\n' $INT_UFLOW 0 >>out || fail=1 $prog '%.*dx\n' $INT_OFLOW 0 >>out 2> /dev/null && fail=1 $prog '11 %*c\n' 2 x >>out || fail=1 $prog '%#d\n' 0 >>out 2> /dev/null && fail=1 $prog '%0s\n' 0 >>out 2> /dev/null && fail=1 $prog '%.9c\n' 0 >>out 2> /dev/null && fail=1 $prog '%'\''s\n' 0 >>out 2> /dev/null && fail=1 cat <<\EOF > exp 1 x y 2 failed, as expected 3 @ 4 @ 5 +234 6 ! 7 =y =y =y *2y 8 =y =y =y =y 9 0 x 10 0x 11 x EOF compare exp out || fail=1 # Verify handling of single quote chars (\' or \") $prog '%d\n' '"a' >out 2>err # valid $prog '%d\n' '"a"' >>out 2>>err # invalid $prog '%d\n' '"' >>out 2>>err # invalid $prog '%d\n' 'a' >>out 2>>err # invalid cat <<EOF > exp 97 97 0 0 EOF # POSIX says strtoimax *may* set errno to EINVAL in the latter # two cases. So far, that happens at least on MacOS X 10.5. # Map that output to the more common expected output. sed 's/: Invalid.*/: expected a numeric value/' err > k && mv k err cat <<EOF > exp_err printf: warning: ": character(s) following character constant have been ignored printf: ": expected a numeric value printf: a: expected a numeric value EOF compare exp out || fail=1 compare exp_err err || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nice.sh�������������������������������������������������������������������0000775�0000000�0000000�00000004640�12102337340�013717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Test "nice". # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nice tests=' 0 empty 10 1 -1 1 2 -12 12 3 -1:-2 2 4 -n:1 1 5 -n:1:-2 2 6 -n:1:-+12 12 7 -2:-n:1 1 8 -2:-n:12 12 9 -+1 1 10 -+12 12 11 -+1:-+12 12 12 -n:+1 1 13 --1:-2 2 14 --1:-2:-13 13 15 --1:-n:2 2 16 --1:-n:2:-3 3 17 --1:-n:2:-13 13 18 -n:-1:-12 12 19 --1:-12 12 NA LAST NA ' set $tests # Require that this test be run at 'nice' level 0. niceness=$(nice) if test "$niceness" = 0; then : ok else skip_ "this test must be run at nice level 0" fi while :; do test_name=$1 args=$2 expected_result=$3 test $args = empty && args='' test x$args = xLAST && break args=$(echo x$args|tr : ' '|sed 's/^x//') if test "$VERBOSE" = yes; then #echo "testing \$(nice $args nice\) = $expected_result ..." echo "test $test_name... " | tr -d '\n' fi test x$(nice $args nice 2> /dev/null) = x$expected_result \ && ok=ok || ok=FAIL fail=1 test "$VERBOSE" = yes && echo $ok shift; shift; shift done # Test negative niceness - command must be run whether or not change happens. if test x$(nice -n -1 nice 2> /dev/null) = x0 ; then # unprivileged user - warn about failure to change nice -n -1 true 2> err || fail=1 test -s err || fail=1 mv err exp || framework_failure_ nice --1 true 2> err || fail=1 compare exp err || fail=1 # Failure to write advisory message is fatal. Buggy through coreutils 8.0. if test -w /dev/full && test -c /dev/full; then nice -n -1 nice > out 2> /dev/full test $? = 125 || fail=1 test -s out && fail=1 fi else # superuser - change succeeds nice -n -1 nice 2> err || fail=1 test -s err && fail=1 test x$(nice -n -1 nice) = x-1 || fail=1 test x$(nice --1 nice) = x-1 || fail=1 fi Exit $fail ������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/pathchk1.sh���������������������������������������������������������������0000775�0000000�0000000�00000002354�12102337340�014504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # pathchk tests # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ pathchk skip_if_root_ touch file || framework_failure_ # This should exit nonzero. Before 2.0.13, it gave a diagnostic, # but exited successfully. pathchk file/x > /dev/null 2>&1 && fail=1 # This should exit nonzero. Through 5.3.0 it exited with status zero. pathchk -p '' > /dev/null 2>&1 && fail=1 # This tests the new -P option. pathchk -P '' > /dev/null 2>&1 && fail=1 pathchk -P -- - > /dev/null 2>&1 && fail=1 pathchk -p -P x/- > /dev/null 2>&1 && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/cut-huge-to-eol-range.sh��������������������������������������������������0000775�0000000�0000000�00000002142�12102337340�017004� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cut does not allocate mem for a range like -b9999999999999- # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cut require_ulimit_ getlimits_ # From coreutils-8.10 through 8.20, this would make cut try to allocate # a 256MiB bit vector. With a 20MB limit on VM, the following would fail. (ulimit -v 20000; : | cut -b$INT_MAX- > err 2>&1) || fail=1 compare /dev/null err || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-compress.sh����������������������������������������������������������0000775�0000000�0000000�00000004302�12102337340�015614� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test use of compression by sort # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort seq -w 2000 > exp || framework_failure_ tac exp > in || framework_failure_ # This should force the use of temp files sort -S 1k in > out || fail=1 compare exp out || fail=1 # Create our own gzip program that will be used as the default cat <<\EOF > gzip || fail=1 #!/bin/sh tr 41 14 touch ok EOF chmod +x gzip # Ensure 'sort' is immune to parent's SIGCHLD handler # Use a subshell and an exec to work around a bug in FreeBSD 5.0 /bin/sh. ( # ash doesn't support "trap '' CHLD"; it knows only signal numbers. sig=$("$abs_top_builddir/src/kill" -l CHLD 2>/dev/null) && trap '' $sig # This should force the use of child processes for "compression" PATH=.:$PATH exec sort -S 1k --compress-program=gzip in > /dev/null ) || fail=1 # This will find our new gzip in PATH PATH=.:$PATH sort -S 1k --compress-program=gzip in > out || fail=1 compare exp out || fail=1 test -f ok || fail=1 rm -f ok # This is to make sure it works with no compression. PATH=.:$PATH sort -S 1k in > out || fail=1 compare exp out || fail=1 test -f ok && fail=1 # This is to make sure we can use something other than gzip mv gzip dzip || fail=1 sort --compress-program=./dzip -S 1k in > out || fail=1 compare exp out || fail=1 test -f ok || fail=1 rm -f ok # Make sure it can find other programs in PATH correctly PATH=.:$PATH sort --compress-program=dzip -S 1k in > out || fail=1 compare exp out || fail=1 test -f ok || fail=1 rm -f dzip ok Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/stdbuf.sh�����������������������������������������������������������������0000775�0000000�0000000�00000007624�12102337340�014275� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise stdbuf functionality # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ stdbuf getlimits_ require_built_ stdbuf # stdbuf fails when the absolute top build dir name contains e.g., # space, TAB, NL lf=' ' case $abs_top_builddir in *[\\\"\#\$\&\'\`$lf\ \ ]*) skip_ "unsafe absolute build directory name: $abs_top_builddir";; esac # Use a fifo rather than a pipe in the tests below # so that the producer (uniq) will wait until the # consumer (dd) opens the fifo therefore increasing # the chance that dd will read the data from each # write separately. mkfifo_or_skip_ fifo # Verify input parameter checking stdbuf -o1 true || fail=1 # verify size syntax stdbuf -oK true || fail=1 # verify size syntax stdbuf -o0 true || fail=1 # verify unbuffered syntax stdbuf -oL true || fail=1 # verify line buffered syntax stdbuf -ol true # Capital 'L' required test $? = 125 || fail=1 # Internal error is a particular status stdbuf -o$SIZE_OFLOW true # size too large test $? = 125 || fail=1 stdbuf -iL true # line buffering stdin disallowed test $? = 125 || fail=1 stdbuf -i0 -o0 -e0 true || fail=1 #check all files stdbuf -o1 . # invalid command test $? = 126 || fail=1 stdbuf -o1 no_such # no such command test $? = 127 || fail=1 # Ensure line buffering stdout takes effect stdbuf_linebuffer() { local delay="$1" printf '1\n' > exp dd count=1 if=fifo > out 2> err & (printf '1\n'; sleep $delay; printf '2\n') | stdbuf -oL uniq > fifo wait # for dd to complete compare exp out } retry_delay_ stdbuf_linebuffer .1 6 || fail=1 stdbuf_unbuffer() { local delay="$1" # Ensure un buffering stdout takes effect printf '1\n' > exp dd count=1 if=fifo > out 2> err & (printf '1\n'; sleep $delay; printf '2\n') | stdbuf -o0 uniq > fifo wait # for dd to complete compare exp out } retry_delay_ stdbuf_unbuffer .1 6 || fail=1 # Ensure un buffering stdin takes effect # The following works for me, but is racy. I.E. we're depending # on dd to run and close the fifo before the second write by uniq. # If we add a sleep, then we're just testing -oL # printf '3\n' > exp # dd count=1 if=fifo > /dev/null 2> err & # printf '1\n\2\n3\n' | (stdbuf -i0 -oL uniq > fifo; cat) > out # wait # for dd to complete # compare exp out || fail=1 # One could remove the need for dd (used to close the fifo to get uniq to quit # early), if head -n1 read stdin char by char. Note uniq | head -c2 doesn't # suffice due to the buffering implicit in the pipe. sed currently does read # stdin char by char, so we can test with 'sed 1q'. However I'm wary about # adding this dependency on a program outside of coreutils. # printf '2\n' > exp # printf '1\n2\n' | (stdbuf -i0 sed 1q >/dev/null; cat) > out # compare exp out || fail=1 # Ensure block buffering stdout takes effect # We don't currently test block buffering failures as # this doesn't work on GLIBC-2.7 or GLIBC-2.9 at least. # stdbuf_blockbuffer() # { # local delay="$1" # # printf '1\n2\n' > exp # dd count=1 if=fifo > out 2> err & # (printf '1\n'; sleep $delay; printf '2\n') | stdbuf -o4 uniq > fifo # wait # for dd to complete # compare exp out # } # # retry_delay_ stdbuf_blockbuffer .1 6 || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-debug-warn.sh��������������������������������������������������������0000775�0000000�0000000�00000006507�12102337340�016025� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test warnings for sort options # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort cat <<\EOF > exp sort: using simple byte comparison sort: key 1 has zero width and will be ignored sort: using simple byte comparison sort: key 1 has zero width and will be ignored sort: using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: using simple byte comparison sort: options '-bghMRrV' are ignored sort: using simple byte comparison sort: options '-bghMRV' are ignored sort: option '-r' only applies to last-resort comparison sort: using simple byte comparison sort: option '-r' only applies to last-resort comparison sort: using simple byte comparison sort: options '-bg' are ignored sort: using simple byte comparison sort: using simple byte comparison sort: option '-b' is ignored sort: using simple byte comparison sort: using simple byte comparison sort: using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: option '-d' is ignored sort: using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: option '-i' is ignored sort: using simple byte comparison sort: using simple byte comparison sort: using simple byte comparison EOF sort -s -k2,1 --debug /dev/null 2>>out sort -s -k2,1n --debug /dev/null 2>>out sort -s -k1,2n --debug /dev/null 2>>out sort -s -rRVMhgb -k1,1n --debug /dev/null 2>>out sort -rRVMhgb -k1,1n --debug /dev/null 2>>out sort -r -k1,1n --debug /dev/null 2>>out sort -gbr -k1,1n -k1,1r --debug /dev/null 2>>out sort -b -k1b,1bn --debug /dev/null 2>>out # no warning sort -b -k1,1bn --debug /dev/null 2>>out sort -b -k1,1bn -k2b,2 --debug /dev/null 2>>out # no warning sort -r -k1,1r --debug /dev/null 2>>out # no warning for redundant options sort -i -k1,1i --debug /dev/null 2>>out # no warning sort -d -k1,1b --debug /dev/null 2>>out sort -i -k1,1d --debug /dev/null 2>>out sort -r --debug /dev/null 2>>out #no warning sort -rM --debug /dev/null 2>>out #no warning sort -rM -k1,1 --debug /dev/null 2>>out #no warning compare exp out || fail=1 cat <<\EOF > exp sort: using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: obsolescent key '+2 -1' used; consider '-k 3,1' instead sort: key 2 has zero width and will be ignored sort: leading blanks are significant in key 2; consider also specifying 'b' sort: option '-b' is ignored sort: option '-r' only applies to last-resort comparison EOF sort --debug -rb -k2n +2.2 -1b /dev/null 2>out compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/realpath.sh���������������������������������������������������������������0000775�0000000�0000000�00000010001�12102337340�014565� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Validate realpath operation # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ realpath stat_single=$(stat -c %d:%i /) || framework_failure_ stat_double=$(stat -c %d:%i //) || framework_failure_ double_slash=// if test x"$stat_single" = x"$stat_double"; then double_slash=/ fi nl=' ' test -d /dev || framework_failure_ # Setup dir, file, symlink structure mkdir -p dir1/dir2 || framework_failure_ ln -s dir1/dir2 ldir2 || framework_failure_ touch dir1/f dir1/dir2/f || framework_failure_ ln -s / one || framework_failure_ ln -s // two || framework_failure_ ln -s /// three || framework_failure_ # Basic operation realpath -Pqz . >/dev/null || fail=1 # Operand is required realpath >/dev/null && fail=1 realpath --relative-base . --relative-to . && fail=1 realpath --relative-base . && fail=1 # -e --relative-* require directories realpath -e --relative-to=dir1/f --relative-base=. . && fail=1 realpath -e --relative-to=dir1/ --relative-base=. . || fail=1 # Note NUL params are unconditionally rejected by canonicalize_filename_mode realpath -m '' && fail=1 realpath --relative-base= --relative-to=. . && fail=1 # symlink resolution this=$(realpath .) test "$(realpath ldir2/..)" = "$this/dir1" || fail=1 test "$(realpath -L ldir2/..)" = "$this" || fail=1 test "$(realpath -s ldir2)" = "$this/ldir2" || fail=1 # relative string handling test $(realpath -m --relative-to=prefix prefixed/1) = '../prefixed/1' || fail=1 test $(realpath -m --relative-to=prefixed prefix/1) = '../prefix/1' || fail=1 test $(realpath -m --relative-to=prefixed prefixed/1) = '1' || fail=1 # Ensure no redundant trailing '/' present, as was the case in v8.15 test $(realpath -sm --relative-to=/usr /) = '..' || fail=1 # Ensure no redundant leading '../' present, as was the case in v8.15 test $(realpath -sm --relative-to=/ /usr) = 'usr' || fail=1 # Ensure --relative-base works out=$(realpath -sm --relative-base=/usr --relative-to=/usr /tmp /usr) || fail=1 test "$out" = "/tmp$nl." || fail=1 out=$(realpath -sm --relative-base=/ --relative-to=/ / /usr) || fail=1 test "$out" = ".${nl}usr" || fail=1 # --relative-to defaults to the value of --relative-base out=$(realpath -sm --relative-base=/usr /tmp /usr) || fail=1 test "$out" = "/tmp$nl." || fail=1 out=$(realpath -sm --relative-base=/ / /usr) || fail=1 test "$out" = ".${nl}usr" || fail=1 # For now, --relative-base must be a prefix of --relative-to, or all output # will be absolute (compare to MacOS 'relpath -d dir start end'). out=$(realpath -sm --relative-base=/usr/local --relative-to=/usr \ /usr /usr/local) || fail=1 test "$out" = "/usr${nl}/usr/local" || fail=1 # Ensure // is handled correctly. test "$(realpath / // ///)" = "/$nl$double_slash$nl/" || fail=1 test "$(realpath one two three)" = "/$nl$double_slash$nl/" || fail=1 out=$(realpath -sm --relative-to=/ / // /dev //dev) || fail=1 if test $double_slash = //; then test "$out" = ".$nl//${nl}dev$nl//dev" || fail=1 else test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1 fi out=$(realpath -sm --relative-to=// / // /dev //dev) || fail=1 if test $double_slash = //; then test "$out" = "/$nl.$nl/dev${nl}dev" || fail=1 else test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1 fi out=$(realpath --relative-base=/ --relative-to=// / //) || fail=1 if test $double_slash = //; then test "$out" = "/$nl//" || fail=1 else test "$out" = ".$nl." || fail=1 fi Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/tee.sh��������������������������������������������������������������������0000775�0000000�0000000�00000002110�12102337340�013544� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test for basic tee functionality. # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ tee echo line >sample || framework_failure_ nums=$(seq 9) || framework_failure_ for n in 0 $nums; do files=$(seq $n) rm -f $files tee $files <sample >out || fail=1 for f in out $files; do compare sample $f || fail=1 done done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nohup.sh������������������������������������������������������������������0000775�0000000�0000000�00000006464�12102337340�014140� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test nohup # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nohup nohup sh -c 'echo stdout; echo stderr 1>&2' 2>err || fail=1 # Be careful. The results of the above nohup command # change depending on whether stdin and stdout are redirected. if test -t 1; then test "$(cat nohup.out)" = stdout || fail=1 if test -t 0; then echo 'nohup: ignoring input and appending output to 'nohup.out'\' else echo 'nohup: appending output to 'nohup.out'\' fi >exp || fail=1 else # Here it should not even exist. test -f nohup.out && fail=1 if test -t 0; then echo 'nohup: ignoring input' >exp else rm -f exp fi || fail=1 fi echo 'stderr' >> exp || fail=1 compare exp err || fail=1 rm -f nohup.out err exp # ---------------------- # Be careful. The results of the following nohup command # change depending on whether stderr is redirected. nohup sh -c 'echo stdout; echo stderr 1>&2' >out || fail=1 if test -t 2; then test "$(cat out|tr '\n' -)" = stdout-stderr- || fail=1 else test "$(cat out|tr '\n' -)" = stdout- || fail=1 fi # It must *not* exist. test -f nohup.out && fail=1 rm -f nohup.out err # ---------------------- # Bug present through coreutils 8.0: failure to print advisory message # to stderr must be fatal. Requires stdout to be terminal. if test -w /dev/full && test -c /dev/full; then ( exec >/dev/tty test -t 1 || exit 0 nohup echo hi 2> /dev/full test $? = 125 || fail=1 test -f nohup.out || fail=1 test -s nohup.out && fail=1 rm -f nohup.out exit $fail ) || fail=1 fi nohup no-such-command 2> err errno=$? if test -t 1; then test $errno = 127 || fail=1 # It must exist. test -f nohup.out || fail=1 # It must be empty. test -s nohup.out && fail=1 fi cat <<\EOF > exp || fail=1 nohup: appending output to 'nohup.out' nohup: cannot run command 'no-such-command': No such file or directory EOF # Disable these comparisons. Too much variation in 2nd line. # compare exp err || fail=1 rm -f nohup.out err exp # ---------------------- touch k; chmod 0 k nohup ./k 2> err errno=$? test $errno = 126 || fail=1 if test -t 1; then # It must exist. test -f nohup.out || fail=1 # It must be empty. test -s nohup.out && fail=1 fi cat <<\EOF > exp || fail=1 nohup: appending output to 'nohup.out' nohup: cannot run command './k': Permission denied EOF # Disable these comparisons. Too much variation in 2nd line. # compare exp err || fail=1 # Make sure it fails with exit status of 125 when given too few arguments, # except that POSIX requires 127 in this case. nohup >/dev/null 2>&1 test $? = 125 || fail=1 POSIXLY_CORRECT=1 nohup >/dev/null 2>&1 test $? = 127 || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/sort-month.sh�������������������������������������������������������������0000775�0000000�0000000�00000002360�12102337340�015110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test sorting of abbreviated months from the locale # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ sort locale --version >/dev/null 2>&1 || skip_ 'The locale utility is not present' # C will be used if the locale is not present for LOC in "$LOCALE_FR" "$LOCALE_FR_UTF8" "ja_JP.utf8"; do mon="$(LC_ALL=$LOC locale abmon 2>/dev/null);" smon=$(LC_ALL=$LOC locale abmon 2>/dev/null | tr ';' '\n' | shuf | nl | LC_ALL=$LOC sort -k2,2M | cut -f2 | tr '\n' ';') test "$mon" = "$smon" || { fail=1; break; } done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/ptx.pl��������������������������������������������������������������������0000775�0000000�0000000�00000002725�12102337340�013617� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $prog = 'ptx'; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my @Tests = ( ["1tok", '-w10', {IN=>"bar\n"}, {OUT=>" bar\n"}], ["2tok", '-w10', {IN=>"foo bar\n"}, {OUT=>" / bar\n foo/\n"}], # with coreutils-6.12 and earlier, this would infloop with -wN, N < 10 ["narrow", '-w2', {IN=>"qux\n"}, {OUT=>" qux\n"}], ["narrow-g", '-g1 -w2', {IN=>"ta\n"}, {OUT=>" ta\n"}], # with coreutils-6.12 and earlier, this would act like "ptx F1 F1" ["2files", '-g1 -w1', {IN=>{F1=>"a"}}, {IN=>{F2=>"b"}}, {OUT=>" a\n b\n"}], ); @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������coreutils-8.21/tests/misc/arch.sh�������������������������������������������������������������������0000775�0000000�0000000�00000001633�12102337340�013715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that arch output is equal to uname -m # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ arch require_built_ arch arch > out || fail=1 uname -m > exp || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/id-groups.sh��������������������������������������������������������������0000775�0000000�0000000�00000001522�12102337340�014706� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that "id" outputs groups for a user # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ id id -G $(id -nu) || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/shred-remove.sh�����������������������������������������������������������0000775�0000000�0000000�00000002350�12102337340�015375� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise a bug that was fixed in shred-4.0l # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ shred skip_if_root_ # The length of the basename is what matters. # In this case, shred would try to rename the file 256^10 times # before terminating. file=0123456789 touch $file || framework_failure_ chmod u-w $file || framework_failure_ # This would take so long that it appears to infloop # when using version from fileutils-4.0k. # When the command completes, expect it to fail. shred -u $file > /dev/null 2>&1 && fail=1 || : Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/unexpand.pl���������������������������������������������������������������0000775�0000000�0000000�00000011042�12102337340�014616� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "unexpand". # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; my $limits = getlimits (); (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'unexpand'; my @Tests = ( ['a1', {IN=> ' 'x 1 ."y\n"}, {OUT=> ' 'x 1 ."y\n"}], ['a2', {IN=> ' 'x 2 ."y\n"}, {OUT=> ' 'x 2 ."y\n"}], ['a3', {IN=> ' 'x 3 ."y\n"}, {OUT=> ' 'x 3 ."y\n"}], ['a4', {IN=> ' 'x 4 ."y\n"}, {OUT=> ' 'x 4 ."y\n"}], ['a5', {IN=> ' 'x 5 ."y\n"}, {OUT=> ' 'x 5 ."y\n"}], ['a6', {IN=> ' 'x 6 ."y\n"}, {OUT=> ' 'x 6 ."y\n"}], ['a7', {IN=> ' 'x 7 ."y\n"}, {OUT=> ' 'x 7 ."y\n"}], ['a8', {IN=> ' 'x 8 ."y\n"}, {OUT=> "\ty\n"}], ['aa-1', '-a', {IN=> 'w'.' 'x 1 ."y\n"}, {OUT=> 'w'.' 'x 1 ."y\n"}], ['aa-2', '-a', {IN=> 'w'.' 'x 2 ."y\n"}, {OUT=> 'w'.' 'x 2 ."y\n"}], ['aa-3', '-a', {IN=> 'w'.' 'x 3 ."y\n"}, {OUT=> 'w'.' 'x 3 ."y\n"}], ['aa-4', '-a', {IN=> 'w'.' 'x 4 ."y\n"}, {OUT=> 'w'.' 'x 4 ."y\n"}], ['aa-5', '-a', {IN=> 'w'.' 'x 5 ."y\n"}, {OUT=> 'w'.' 'x 5 ."y\n"}], ['aa-6', '-a', {IN=> 'w'.' 'x 6 ."y\n"}, {OUT=> 'w'.' 'x 6 ."y\n"}], ['aa-7', '-a', {IN=> 'w'.' 'x 7 ."y\n"}, {OUT=> "w\ty\n"}], ['aa-8', '-a', {IN=> 'w'.' 'x 8 ."y\n"}, {OUT=> "w\t y\n"}], ['b-1', '-t', '2,4', {IN=> " ."}, {OUT=>"\t\t ."}], # These would infloop prior to textutils-2.0d. ['infloop-1', '-t', '1,2', {IN=> " \t\t .\n"}, {OUT=>"\t\t\t .\n"}], ['infloop-2', '-t', '4,5', {IN=> ' 'x4 . "\t\t \n"}, {OUT=>"\t\t\t \n"}], ['infloop-3', '-t', '2,3', {IN=> "x \t\t \n"}, {OUT=>"x\t\t\t \n"}], ['infloop-4', '-t', '1,2', {IN=> " \t\t \n"}, {OUT=>"\t\t\t \n"}], ['c-1', '-t', '1,2', {IN=> "x\t\t .\n"}, {OUT=>"x\t\t .\n"}], # -t implies -a # Feature addition (--first-only) prompted by a report from Jie Xu. ['tabs-1', qw(-t 3), {IN=> " a b\n"}, {OUT=>"\ta\tb\n"}], ['tabs-2', qw(-t 3 --first-only), {IN=> " a b\n"}, {OUT=>"\ta b\n"}], # blanks ['blanks-1', qw(-t 1), {IN=> " b c d\n"}, {OUT=> "\tb\t\tc\t\t\td\n"}], ['blanks-2', qw(-t 1), {IN=> "a \n"}, {OUT=> "a \n"}], ['blanks-3', qw(-t 1), {IN=> "a \n"}, {OUT=> "a\t\t\n"}], ['blanks-4', qw(-t 1), {IN=> "a \n"}, {OUT=> "a\t\t\t\n"}], ['blanks-5', qw(-t 1), {IN=> "a "}, {OUT=> "a "}], ['blanks-6', qw(-t 1), {IN=> "a "}, {OUT=> "a\t\t"}], ['blanks-7', qw(-t 1), {IN=> "a "}, {OUT=> "a\t\t\t"}], ['blanks-8', qw(-t 1), {IN=> " a a a\n"}, {OUT=> "\ta a\t\ta\n"}], ['blanks-9', qw(-t 2), {IN=> " a a a\n"}, {OUT=> "\t a\ta\t a\n"}], ['blanks-10', '-t', '3,4', {IN=> "0 2 4 6\t8\n"}, {OUT=> "0 2 4 6\t8\n"}], ['blanks-11', '-t', '3,4', {IN=> " 4\n"}, {OUT=> "\t\t4\n"}], ['blanks-12', '-t', '3,4', {IN=> "01 4\n"}, {OUT=> "01\t\t4\n"}], ['blanks-13', '-t', '3,4', {IN=> "0 4\n"}, {OUT=> "0\t\t4\n"}], # POSIX says spaces should only follow tabs. Also a single # trailing space is not converted to a tab, when before # a field starting with non blanks ['posix-1', '-a', {IN=> "1234567 \t1\n"}, {OUT=>"1234567\t\t1\n"}], ['posix-2', '-a', {IN=> "1234567 \t1\n"}, {OUT=>"1234567\t\t1\n"}], ['posix-3', '-a', {IN=> "1234567 \t1\n"}, {OUT=>"1234567\t\t1\n"}], ['posix-4', '-a', {IN=> "1234567\t1\n"}, {OUT=>"1234567\t1\n"}], ['posix-5', '-a', {IN=> "1234567 1\n"}, {OUT=>"1234567\t 1\n"}], ['posix-6', '-a', {IN=> "1234567 1\n"}, {OUT=>"1234567 1\n"}], # It is debatable whether this test should require an environment # setting of e.g., _POSIX2_VERSION=1. ['obs-ovflo', "-$limits->{UINTMAX_OFLOW}", {IN=>''}, {OUT=>''}, {EXIT => 1}, {ERR => "$prog: tab stop value is too large\n"}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/seq.pl��������������������������������������������������������������������0000775�0000000�0000000�00000015346�12102337340�013577� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test "seq". # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'seq'; my $try_help = "Try '$prog --help' for more information.\n"; my $locale = $ENV{LOCALE_FR_UTF8}; ! defined $locale || $locale eq 'none' and $locale = 'C'; my $p = '9' x 81; (my $q = $p) =~ s/9/0/g; $q = "1$q"; (my $r = $q) =~ s/0$/1/; my @Tests = ( ['onearg-1', qw(10), {OUT => [(1..10)]}], ['onearg-2', qw(-1)], ['empty-rev', qw(1 -1 3)], ['neg-1', qw(-10 10 10), {OUT => [qw(-10 0 10)]}], # ['neg-2', qw(-.1 .1 .11), {OUT => [qw(-0.1 0.0 0.1)]}], ['neg-3', qw(1 -1 0), {OUT => [qw(1 0)]}], ['neg-4', qw(1 -1 -1), {OUT => [qw(1 0 -1)]}], ['float-1', qw(0.8 0.1 0.9), {OUT => [qw(0.8 0.9)]}], ['float-2', qw(0.1 0.99 1.99), {OUT => [qw(0.10 1.09)]}], ['float-3', qw(10.8 0.1 10.95), {OUT => [qw(10.8 10.9)]}], ['float-4', qw(0.1 -0.1 -0.2), {OUT => [qw(0.1 0.0 -0.1 -0.2)]}, {OUT_SUBST => 's,^-0\.0$,0.0,'}, ], ['float-5', qw(0.8 1e-1 0.9), {OUT => [qw(0.8 0.9)]}], # Don't append lots of zeros to that 0.9000...; for example, changing the # number to 0.90000000000000000000 tickles a bug in Solaris 8 strtold # that would cause the test to fail. ['float-6', qw(0.8 0.1 0.9000000000000), {OUT => [qw(0.8 0.9)]}], ['wid-1', qw(.8 1e-2 .81), {OUT => [qw(0.80 0.81)]}], ['wid-2', qw(.89999 1e-7 .8999901), {OUT => [qw(0.8999900 0.8999901)]}], ['eq-wid-1', qw(-w 1 -1 -1), {OUT => [qw(01 00 -1)]}], # Prior to 2.0g, this test would fail on e.g., HPUX systems # because it'd end up using %3.1f as the format instead of %4.1f. ['eq-wid-2', qw(-w -.1 .1 .11),{OUT => [qw(-0.1 00.0 00.1)]}], ['eq-wid-3', qw(-w 1 3.0), {OUT => [qw(1 2 3)]}], ['eq-wid-4', qw(-w .8 1e-2 .81), {OUT => [qw(0.80 0.81)]}], ['eq-wid-5', qw(-w 1 .5 2), {OUT => [qw(1.0 1.5 2.0)]}], ['eq-wid-6', qw(-w +1 2), {OUT => [qw(1 2)]}], ['eq-wid-7', qw(-w " .1" " .1"), {OUT => [qw(0.1)]}], ['eq-wid-8', qw(-w 9 0.5 10), {OUT => [qw(09.0 09.5 10.0)]}], # Prior to 8.21, these tests involving numbers in scentific notation # would fail with misalignment or wrong widths. ['eq-wid-9', qw(-w -1e-3 1), {OUT => [qw(-0.001 00.999)]}], ['eq-wid-10',qw(-w -1e-003 1), {OUT => [qw(-0.001 00.999)]}], ['eq-wid-11',qw(-w -1.e-3 1), {OUT => [qw(-0.001 00.999)]}], ['eq-wid-12',qw(-w -1.0e-4 1), {OUT => [qw(-0.00010 00.99990)]}], ['eq-wid-13',qw(-w 999 1e3), {OUT => [qw(0999 1000)]}], # Prior to 8.21, if the start value hadn't a precision, while step did, # then misalignment would occur if the sequence narrowed. ['eq-wid-14',qw(-w -1 1.0 0), {OUT => [qw(-1.0 00.0)]}], ['eq-wid-15',qw(-w 10 -.1 9.9), {OUT => [qw(10.0 09.9)]}], # Prior to coreutils-4.5.11, some of these were not accepted. ['fmt-1', qw(-f %2.1f 1.5 .5 2),{OUT => [qw(1.5 2.0)]}], ['fmt-2', qw(-f %0.1f 1.5 .5 2),{OUT => [qw(1.5 2.0)]}], ['fmt-3', qw(-f %.1f 1.5 .5 2),{OUT => [qw(1.5 2.0)]}], ['fmt-4', qw(-f %3.0f 1 2), {OUT => [' 1', ' 2']}], ['fmt-5', qw(-f %-3.0f 1 2), {OUT => ['1 ', '2 ']}], ['fmt-6', qw(-f %+3.0f 1 2), {OUT => [' +1', ' +2']}], ['fmt-7', qw(-f %0+3.0f 1 2), {OUT => [qw(+01 +02)]}], ['fmt-8', qw(-f %0+.0f 1 2), {OUT => [qw(+1 +2)]}], ['fmt-9', '-f "% -3.0f"', qw(-1 0), {OUT => ['-1 ', ' 0 ']}], ['fmt-a', '-f "% -.0f"',qw(-1 0), {OUT => ['-1', ' 0']}], ['fmt-b', qw(-f %%%g%% 1), {OUT => ['%1%']}], # In coreutils-[6.0..6.9], this would mistakenly succeed and print "%Lg". ['fmt-c', qw(-f %%g 1), {EXIT => 1}, {ERR => "seq: format '%%g' has no % directive\n"}], # In coreutils-6.9..6.10, this would fail with an erroneous diagnostic: # "seq: memory exhausted". In coreutils-6.0..6.8, it would mistakenly # succeed and print a blank line. ['fmt-eos1', qw(-f % 1), {EXIT => 1}, {ERR => "seq: format '%' ends in %\n"}], ['fmt-eos2', qw(-f %g% 1), {EXIT => 1}, {ERR => "seq: format '%g%' has too many % directives\n"}], ['fmt-d', qw(-f "" 1), {EXIT => 1}, {ERR => "seq: format '' has no % directive\n"}], ['fmt-e', qw(-f %g%g 1), {EXIT => 1}, {ERR => "seq: format '%g%g' has too many % directives\n"}], # With coreutils-6.12 and earlier, with a UTF8 numeric locale that uses # something other than "." as the decimal point, this use of seq would # fail to print the "2,0" endpoint. ['locale-dec-pt', qw(-0.1 0.1 2), {OUT => [qw(-0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0)]}, {ENV => "LC_ALL=$locale"}, {OUT_SUBST => 's/,/./g'}, ], # With coreutils-8.19 and prior, this would infloop. ['long-1', "$p $r", {OUT => [$p, $q, $r]}], # Exercise the code that trims leading zeros. ['long-leading-zeros1', qw(000 2), {OUT => [qw(0 1 2)]}], ['long-leading-zeros2', qw(000 02), {OUT => [qw(0 1 2)]}], ['long-leading-zeros3', qw(00 02), {OUT => [qw(0 1 2)]}], ['long-leading-zeros4', qw(0 02), {OUT => [qw(0 1 2)]}], # Exercise the -s option, which was broken in 8.20 ['sep-1', qw(-s, 1 3), {OUT => [qw(1,2,3)]}], ['sep-2', qw(-s, 1 1), {OUT => [qw(1)]}], ['sep-3', qw(-s,, 1 3), {OUT => [qw(1,,2,,3)]}], # Exercise fast path avoidance logic. # In 8.20 a step value != 1, with positive integer start and end was broken ['not-fast-1', qw(1 3 1), {OUT => [qw(1)]}], ['not-fast-2', qw(1 1 4.2), {OUT => [qw(1 2 3 4)]}], ['not-fast-3', qw(1 1 0)], # Ensure the correct parameters are passed to the fast path ['fast-1', qw(4), {OUT => [qw(1 2 3 4)]}], ['fast-2', qw(1 4), {OUT => [qw(1 2 3 4)]}], ['fast-3', qw(1 1 4), {OUT => [qw(1 2 3 4)]}], ); # Append a newline to each entry in the OUT array. my $t; foreach $t (@Tests) { my $e; foreach $e (@$t) { $e->{OUT} = join ("\n", @{$e->{OUT}}) . "\n" if ref $e eq 'HASH' and exists $e->{OUT}; } } my $save_temps = $ENV{SAVE_TEMPS}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nl.sh���������������������������������������������������������������������0000775�0000000�0000000�00000002211�12102337340�013402� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # exercise nl functionality # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nl echo a | nl > out || fail=1 echo b | nl -s%n >> out || fail=1 echo c | nl -n ln >> out || fail=1 echo d | nl -n rn >> out || fail=1 echo e | nl -n rz >> out || fail=1 echo === >> out printf 'a\n\n' | nl > t || fail=1; cat -A t >> out cat <<\EOF > exp 1 a 1%nb 1 c 1 d 000001 e === 1^Ia$ $ EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/misc/nproc-positive.sh���������������������������������������������������������0000775�0000000�0000000�00000002341�12102337340�015756� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that nproc prints a number > 0 # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ nproc for mode in --all ''; do procs=$(nproc $mode) test "$procs" -gt 0 || fail=1 done for i in -1000 0 1 1000; do procs=$(OMP_NUM_THREADS=$i nproc) test "$procs" -gt 0 || fail=1 done for i in 0 ' 1' 1000; do procs=$(nproc --ignore="$i") test "$procs" -gt 0 || fail=1 done for i in -1 N; do nproc --ignore=$i && fail=1 done procs=$(OMP_NUM_THREADS=42 nproc --ignore=40) test "$procs" -eq 2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/no-perl������������������������������������������������������������������������0000664�0000000�0000000�00000000410�12050450172�012776� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Perl is not available, the test should be considered skipped. # FD 9 should have been opened by the test suite harness, pointing # to the original stderr (usually, the user's terminal). echo "test skipped: no usable version of Perl found" >&9 exit 77 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rmdir/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012706� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rmdir/t-slash.sh���������������������������������������������������������������0000775�0000000�0000000�00000001775�12102337341�014545� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure rmdir -p works on a directory specified with a trailing slash # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rmdir mkdir dir || framework_failure_ # Prior to coreutils-4.5.2, this would fail with the following: # rmdir: 'dir': No such file or directory rmdir -p dir/ || fail=1 Exit $fail ���coreutils-8.21/tests/rmdir/ignore.sh����������������������������������������������������������������0000775�0000000�0000000�00000002144�12102337341�014444� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure rmdir's --ignore-fail-on-non-empty option works # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rmdir cwd=$(pwd) mkdir -p "$cwd/a/b/c" "$cwd/a/x" || framework_failure_ rmdir -p --ignore-fail-on-non-empty "$cwd/a/b/c" || fail=1 # $cwd/a/x should remain test -d "$cwd/a/x" || fail=1 # $cwd/a/b and $cwd/a/b/c should be gone test -d "$cwd/a/b" && fail=1 test -d "$cwd/a/b/c" && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/rmdir/fail-perm.sh�������������������������������������������������������������0000775�0000000�0000000�00000002223�12102337341�015033� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # For unwritable directory 'd', 'rmdir -p d d/e/f' would emit # diagnostics but would not fail. Fixed in 5.1.2. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ rmdir mkdir d d/e d/e/f || framework_failure_ chmod a-w d || framework_failure_ # This rmdir command outputs two diagnostics. # Before coreutils-5.1.2, it would mistakenly exit successfully. # As of coreutils-5.1.2, it fails, as required. rmdir -p d d/e/f 2> /dev/null && fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�013362� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/multi.sh��������������������������������������������������������������0000775�0000000�0000000�00000003173�12102337341�014772� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test multiple argument handling. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink touch regfile || framework_failure_ ln -s regfile link1 || framework_failure_ readlink link1 link1 || fail=1 readlink link1 link2 && fail=1 readlink link1 link2 link1 && fail=1 readlink -m link1 link2 || fail=1 printf '/1\0/1\0' > exp || framework_failure_ readlink -m --zero /1 /1 > out || fail=1 compare exp out || fail=1 # The largely redundant --no-newline option is ignored with multiple args. # Note BSD's readlink suppresses all delimiters, even with multiple args, # but that functionality was not thought useful. readlink -n -m --zero /1 /1 > out || fail=1 compare exp out || fail=1 # Note the edge case that the last xargs run may not have a delimiter rm out || framework_failure_ printf '/1\0/1\0/1' > exp || framework_failure_ printf '/1 /1 /1' | xargs -n2 readlink -n -m --zero >> out || fail=1 compare exp out || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/rl-1.sh���������������������������������������������������������������0000775�0000000�0000000�00000002351�12102337341�014410� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test for readlink mode. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink mkdir subdir || framework_failure_ touch regfile || framework_failure_ ln -s regfile link1 || framework_failure_ ln -s missing link2 || framework_failure_ v=$(readlink link1) || fail=1 test "$v" = regfile || fail=1 v=$(readlink link2) || fail=1 test "$v" = missing || fail=1 v=$(readlink subdir) && fail=1 test -z "$v" || fail=1 v=$(readlink regfile) && fail=1 test -z "$v" || fail=1 v=$(readlink missing) && fail=1 test -z "$v" || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/can-f.sh��������������������������������������������������������������0000775�0000000�0000000�00000010402�12102337341�014615� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # tests for canonicalize mode (readlink -f). # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink pwd=$(pwd) my_pwd=$("$abs_top_builddir/src/pwd") tmp=d mkdir $tmp || framework_failure_ cd $tmp || framework_failure_ mkdir subdir removed || framework_failure_ touch regfile || framework_failure_ ln -s regfile link1 || framework_failure_ ln -s subdir link2 || framework_failure_ ln -s missing link3 || framework_failure_ ln -s subdir/missing link4 || framework_failure_ ln -s link5 link5 || framework_failure_ cd "$pwd/$tmp/removed" || framework_failure_ # Skip this test if the system doesn't let you remove the working directory. if rmdir ../removed 2>/dev/null; then v=$(readlink -e .) && fail=1 test -z "$v" || fail=1 fi cd "$pwd/$tmp" || fail=1 for p in "" "$pwd/$tmp/"; do v=$(readlink -f "${p}regfile") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -f "${p}./regfile/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}regfile/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./regfile/more/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}subdir") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -f "${p}./subdir/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -f "${p}subdir/more") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -f "${p}./subdir/more/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -f "${p}missing") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -f "${p}./missing/") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -f "${p}missing/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./missing/more/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link1") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -f "${p}./link1/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link1/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link1/more/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link2") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -f "${p}./link2/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -f "${p}link2/more") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -f "${p}./link2/more/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -f "${p}link2/more/more2") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link2/more/more2/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link3") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -f "${p}./link3/") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -f "${p}link3/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link3/more/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link4") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing" || fail=1 v=$(readlink -f "${p}./link4/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing" || fail=1 v=$(readlink -f "${p}link4/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link4/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link5") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link5/") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}link5/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -f "${p}./link5/more") && fail=1 test -z "$v" || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/can-m.sh��������������������������������������������������������������0000775�0000000�0000000�00000010521�12102337341�014626� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # tests for canonicalize-missing mode (readlink -m). # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink pwd=$(pwd) my_pwd=$("$abs_top_builddir/src/pwd") tmp=d mkdir $tmp || framework_failure_ cd $tmp || framework_failure_ mkdir subdir removed || framework_failure_ touch regfile || framework_failure_ ln -s regfile link1 || framework_failure_ ln -s subdir link2 || framework_failure_ ln -s missing link3 || framework_failure_ ln -s subdir/missing link4 || framework_failure_ cd "$pwd/$tmp/removed" || framework_failure_ # Skip this test if the system doesn't let you remove the working directory. if rmdir ../removed 2>/dev/null; then v=$(readlink -e .) && fail=1 test -z "$v" || fail=1 fi cd "$pwd/$tmp" || fail=1 for p in "" "$pwd/$tmp/"; do v=$(readlink -m "${p}regfile") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -m "${p}./regfile/") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -m "${p}regfile/more") || fail=1 test "$v" = "$my_pwd/$tmp/regfile/more" || fail=1 v=$(readlink -m "${p}./regfile/more/") || fail=1 test "$v" = "$my_pwd/$tmp/regfile/more" || fail=1 v=$(readlink -m "${p}subdir") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -m "${p}./subdir/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -m "${p}subdir/more") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -m "${p}./subdir/more/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -m "${p}missing") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -m "${p}./missing/") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -m "${p}missing/more") || fail=1 test "$v" = "$my_pwd/$tmp/missing/more" || fail=1 v=$(readlink -m "${p}./missing/more/") || fail=1 test "$v" = "$my_pwd/$tmp/missing/more" || fail=1 v=$(readlink -m "${p}link1") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -m "${p}./link1/") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -m "${p}link1/more") || fail=1 test "$v" = "$my_pwd/$tmp/regfile/more" || fail=1 v=$(readlink -m "${p}./link1/more/") || fail=1 test "$v" = "$my_pwd/$tmp/regfile/more" || fail=1 v=$(readlink -m "${p}link2") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -m "${p}./link2/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -m "${p}link2/more") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -m "${p}./link2/more/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more" || fail=1 v=$(readlink -m "${p}link2/more/more2") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more/more2" || fail=1 v=$(readlink -m "${p}./link2/more/more2/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/more/more2" || fail=1 v=$(readlink -m "${p}link3") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -m "${p}./link3/") || fail=1 test "$v" = "$my_pwd/$tmp/missing" || fail=1 v=$(readlink -m "${p}link3/more") || fail=1 test "$v" = "$my_pwd/$tmp/missing/more" || fail=1 v=$(readlink -m "${p}./link3/more/") || fail=1 test "$v" = "$my_pwd/$tmp/missing/more" || fail=1 v=$(readlink -m "${p}link4") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing" || fail=1 v=$(readlink -m "${p}./link4/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing" || fail=1 v=$(readlink -m "${p}link4/more") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing/more" || fail=1 v=$(readlink -m "${p}./link4/more/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir/missing/more" || fail=1 done Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/readlink/can-e.sh��������������������������������������������������������������0000775�0000000�0000000�00000005501�12102337341�014620� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # tests for canonicalize-existing mode (readlink -e). # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ readlink pwd=$(pwd) my_pwd=$("$abs_top_builddir/src/pwd") tmp=d mkdir $tmp || framework_failure_ cd $tmp || framework_failure_ mkdir subdir removed || framework_failure_ touch regfile || framework_failure_ ln -s regfile link1 || framework_failure_ ln -s subdir link2 || framework_failure_ ln -s missing link3 || framework_failure_ ln -s subdir/missing link4 || framework_failure_ cd "$pwd/$tmp/removed" || framework_failure_ # Skip this test if the system doesn't let you remove the working directory. if rmdir ../removed 2>/dev/null; then v=$(readlink -e .) && fail=1 test -z "$v" || fail=1 fi cd "$pwd/$tmp" || fail=1 for p in "" "$pwd/$tmp/"; do v=$(readlink -e "${p}regfile") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -e "${p}./regfile/") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}subdir") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -e "${p}./subdir/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -e "${p}missing") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}./missing/") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link1") || fail=1 test "$v" = "$my_pwd/$tmp/regfile" || fail=1 v=$(readlink -e "${p}./link1/") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link1/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link2") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -e "${p}./link2/") || fail=1 test "$v" = "$my_pwd/$tmp/subdir" || fail=1 v=$(readlink -e "${p}link2/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link3") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}./link3/") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link3/more") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link4") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}./link4/") && fail=1 test -z "$v" || fail=1 v=$(readlink -e "${p}link4/more") && fail=1 test -z "$v" || fail=1 done Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/d_type-check�������������������������������������������������������������������0000664�0000000�0000000�00000001475�12050450172�013775� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python # Exit 0 if "." has useful d_type information, else 1. # Intended to exit 0 only on Linux/GNU systems. import sys fail = 1 try: import ctypes (DT_UNKNOWN, DT_DIR,) = (0, 4,) class dirent(ctypes.Structure): _fields_ = [ ("d_ino", ctypes.c_long), ("d_off", ctypes.c_long), ("d_reclen", ctypes.c_ushort), ("d_type", ctypes.c_ubyte), ("d_name", ctypes.c_char*256)] direntp = ctypes.POINTER(dirent) # FIXME: find a way to avoid hard-coding libc's so-name. libc = ctypes.cdll.LoadLibrary("libc.so.6") libc.readdir.restype = direntp dirp = libc.opendir(".") if dirp: ep = libc.readdir(dirp) if ep: name = ep.contents.d_name if (name == "." or name == "..") and ep.contents.d_type == DT_DIR: fail = 0 except: pass sys.exit(fail) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/filefrag-extent-compare��������������������������������������������������������0000664�0000000�0000000�00000004627�11760630450�016156� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' & eval 'exec perl -wS "$0" $argv:q' if 0; # Determine whether two files have the same extents by comparing # the logical block numbers and lengths from filefrag -v for each. # Invoke like this: # This helper function, f, extracts logical block number and lengths. # f() { awk '/^ *[0-9]/ {printf "%d %d ",$2,NF<5?$NF:$5} END {print ""}'; } # { filefrag -v j1 | f; filefrag -v j2 | f; } | ./filefrag-extent-compare use warnings; use strict; (my $ME = $0) =~ s|.*/||; my @line = <>; my $n_lines = @line; $n_lines == 2 or die "$ME: expected exactly two input lines; got $n_lines\n"; my @A = split ' ', $line[0]; my @B = split ' ', $line[1]; @A % 2 || @B % 2 and die "$ME: unexpected input: odd number of numbers; expected even\n"; my @a; my @b; foreach my $i (0..@A/2-1) { $a[$i] = { L_BLK => $A[2*$i], LEN => $A[2*$i+1] } }; foreach my $i (0..@B/2-1) { $b[$i] = { L_BLK => $B[2*$i], LEN => $B[2*$i+1] } }; # Merge adjacent extents in array E. sub merge_extents($) { my ($e) = @_; my $i = 0; while (1) { !defined $e->[$i+1] and last; $e->[$i]->{L_BLK} + $e->[$i]->{LEN} != $e->[$i+1]->{L_BLK} and ++$i, next; $e->[$i]->{LEN} += $e->[$i+1]->{LEN}; # Remove $e->[$i+1] splice @$e, $i+1, 1; } } merge_extents \@a; merge_extents \@b; @a == @b or die "$ME: extent counts differ, even after adjustment\n"; my $i = 0; while (defined $a[$i]) { my $start_match = $a[$i]->{L_BLK} == $b[$i]->{L_BLK}; my $len_match = $a[$i]->{LEN} == $b[$i]->{LEN}; if ( ! ($start_match && ($len_match || $i == (@a - 1)))) { # On XFS on Linux kernel 2.6.38, it was seen that the size of the # last extent can vary, and can extend beyond the length of the file. # So we ignore the length of the last extent, because if the # file is the wrong length we'll get failures elsewhere. die "$ME: differing extent:\n" . " [$i]=$a[$i]->{L_BLK} $a[$i]->{LEN}\n" . " [$i]=$b[$i]->{L_BLK} $b[$i]->{LEN}\n"; } $i++; } ### Setup "GNU" style for perl-mode and cperl-mode. ## Local Variables: ## mode: perl ## perl-indent-level: 2 ## perl-continued-statement-offset: 2 ## perl-continued-brace-offset: 0 ## perl-brace-offset: 0 ## perl-brace-imaginary-offset: 0 ## perl-label-offset: -2 ## perl-extra-newline-before-brace: t ## perl-merge-trailing-else: nil ## End: ���������������������������������������������������������������������������������������������������������coreutils-8.21/tests/fiemap-capable�����������������������������������������������������������������0000664�0000000�0000000�00000001000�11760630450�014252� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import struct, fcntl, sys, os def sizeof(t): return struct.calcsize(t) IOCPARM_MASK = 0x7f IOC_OUT = 0x40000000 IOC_IN = 0x80000000 IOC_INOUT = (IOC_IN|IOC_OUT) def _IOWR(x,y,t): return (IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|y) try: fd = os.open (len (sys.argv) == 2 and sys.argv[1] or '.', os.O_RDONLY) struct_fiemap = '=qqllll' FS_IOC_FIEMAP = _IOWR (ord ('f'), 11, struct_fiemap) fcntl.ioctl (fd, FS_IOC_FIEMAP, struct.pack(struct_fiemap, 0,~0,0,0,0,0)) except: sys.exit (1) coreutils-8.21/tests/split/�������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207524�012723� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/guard-input.sh�����������������������������������������������������������0000775�0000000�0000000�00000001773�12102337341�015445� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure split doesn't overwrite input with output. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split seq 10 | tee exp-1 > xaa ln -s xaa in2 ln xaa in3 split -C 6 xaa && fail=1 split -C 6 in2 && fail=1 split -C 6 in3 && fail=1 split -C 6 - < xaa && fail=1 compare exp-1 xaa || fail=1 Exit $fail �����coreutils-8.21/tests/split/filter.sh����������������������������������������������������������������0000775�0000000�0000000�00000004155�12102337341�014470� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise split's new --filter option. # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split xz --version || skip_ "xz (better than gzip/bzip2) required" for total_n_lines in 5 3000 20000; do seq $total_n_lines > in || framework_failure_ for i in 2 51 598; do # Don't create too many files/processes. # Starting 10k (or even "only" 1500) processes would take a long time, # and would provide little added benefit. case $i:$total_n_lines in 2:5);; *) continue;; esac split -l$i --filter='xz -1 > $FILE.xz' in out- || fail=1 xz -dc out-* > out || fail=1 compare in out || fail=1 rm -f out* done rm -f in done # Show how --elide-empty-files works with --filter: # split does not run the command (and effectively elides the file) # only when the output to that command would have been empty. split -e -n 10 --filter='xz > $FILE.xz' /dev/null || fail=1 stat x?? 2>/dev/null && fail=1 # Ensure this invalid combination is flagged split -n 1/2 --filter='true' /dev/null 2>/dev/null && fail=1 # Ensure SIGPIPEs sent by the children don't propagate back # where they would result in a non zero exit from split. yes | head -n200K | split -b1G --filter='head -c1 >/dev/null' || fail=1 # Ensure that endless input is ignored when all filters finish timeout 10 yes | split --filter="head -c1 >/dev/null" -n r/1 || fail=1 timeout 10 split --filter="head -c1 >/dev/null" -n 1 /dev/zero || fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/r-chunk.sh���������������������������������������������������������������0000775�0000000�0000000�00000003737�12102337341�014557� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test splitting into round-robin chunks # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split require_ulimit_ # N can be greater than the file size # in which case no data is extracted, or empty files are written split -n r/10 /dev/null || fail=1 test "$(stat -c %s x* | uniq -c | sed 's/^ *//; s/ /x/')" = "10x0" || fail=1 rm x?? # Ensure --elide-empty-files is honored split -e -n r/10 /dev/null || fail=1 stat x?? 2>/dev/null && fail=1 printf '1\n2\n3\n4\n5\n' > in || framework_failure_ split -n r/3 in > out || fail=1 test -s out && fail=1 split -n r/1/3 in > r1 || fail=1 split -n r/2/3 in > r2 || fail=1 split -n r/3/3 in > r3 || fail=1 printf '1\n4\n' > exp-1 printf '2\n5\n' > exp-2 printf '3\n' > exp-3 compare exp-1 xaa || fail=1 compare exp-2 xab || fail=1 compare exp-3 xac || fail=1 compare exp-1 r1 || fail=1 compare exp-2 r2 || fail=1 compare exp-3 r3 || fail=1 test -f xad && fail=1 # Test input without trailing \n printf '1\n2\n3\n4\n5' | split -n r/2/3 > out printf '2\n5' > exp compare exp out || fail=1 # Ensure we fall back to appending to a file at a time # if we hit the limit for the number of open files. rm x* (ulimit -n 20 && yes | head -n90 | split -n r/30 ) || fail=1 test "$(stat -c %s x* | uniq -c | sed 's/^ *//; s/ /x/')" = "30x6" || fail=1 Exit $fail ���������������������������������coreutils-8.21/tests/split/suffix-length.sh���������������������������������������������������������0000775�0000000�0000000�00000004034�12102337341�015762� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that split -a works. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split a_z='a b c d e f g h i j k l m n o p q r s t u v w x y z' # Generate a 27-byte file printf %s $a_z 0 |tr -d ' ' > in || framework_failure_ files= for i in $a_z; do files="${files}xa$i " done files="${files}xba" for f in $files; do printf "creating file '%s'"'\n' $f done > exp || framework_failure_ echo split: output file suffixes exhausted \ > exp-too-short || framework_failure_ # This should fail. split -b 1 -a 1 in 2> err && fail=1 test -f xa || fail=1 test -f xz || fail=1 test -f xaa && fail=1 test -f xaz && fail=1 rm -f x* compare exp-too-short err || fail=1 # With a longer suffix, it must succeed. split --verbose -b 1 -a 2 in > err || fail=1 compare exp err || fail=1 # Ensure that xbb is *not* created. test -f xbb && fail=1 # Ensure that the 27 others files *were* created, and with expected contents. n=1 for f in $files; do expected_byte=$(cut -b $n in) b=$(cat $f) || fail=1 test "$b" = "$expected_byte" || fail=1 n=$(expr $n + 1) done # Ensure that -a is independent of -[bCl] split -a2 -b1000 < /dev/null || fail=1 split -a2 -l1000 < /dev/null || fail=1 split -a2 -C1000 < /dev/null || fail=1 # Ensure that -a fails early with a -n that is too large rm -f x* split -a2 -n1000 < /dev/null && fail=1 test -f xaa && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/l-chunk.sh���������������������������������������������������������������0000775�0000000�0000000�00000010051�12102337341�014534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test splitting into newline delineated chunks (-n l/...) # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split # invalid number of chunks echo 'split: 1o: invalid number of chunks' > exp split -n l/1o 2>err && fail=1 compare exp err || fail=1 echo "split: '-': cannot determine file size" > exp echo | split -n l/1 2>err && fail=1 compare exp err || fail=1 # N can be greater than the file size # in which case no data is extracted, or empty files are written split -n l/10 /dev/null || fail=1 test "$(stat -c %s x* | uniq -c | sed 's/^ *//; s/ /x/')" = "10x0" || fail=1 rm x?? # Ensure the correct number of files written # even if there is more data than the reported file size split -n l/2 /dev/zero test "$(stat -c %s x* | wc -l)" = '2' || fail=1 rm x?? # Repeat the above, but with 1/2, not l/2: split -n 1/2 /dev/zero || fail=1 # Ensure --elide-empty-files is honored split -e -n l/10 /dev/null || fail=1 stat x?? 2>/dev/null && fail=1 # 80 bytes. ~ transformed to \n below lines=\ 12345~1~12345~1~12345~1~12345~1~12345~~~12345~1~12345~1~12345~1~12345~1~12345~1~ printf "%s" "$lines" | tr '~' '\n' > in || framework_failure_ echo 'split: 16: invalid chunk number' > exp split -n l/16/15 in 2>err && fail=1 compare exp err || fail=1 printf '%s' "\ 14 16 09 15 16 10 14 08 08 10 14 08 08 10 06 08 08 02 06 08 08 02 06 08 08 10 06 08 02 06 08 00 08 02 06 08 02 06 08 00 10 06 00 08 00 02 06 00 02 06 00 08 00 01 07 00 02 06 00 08 00 02 16 " > exp || framework_failure_ sed 's/00 *//g' exp > exp.elide_empty || framework_failure_ DEBUGGING= test "$DEBUGGING" && test "$VERBOSE" && set +x for ELIDE_EMPTY in '' '-e'; do for IO_BLKSIZE in 1 2 5 10 80 100; do : > out test "$DEBUGGING" && printf "\n---io-blk-size=$IO_BLKSIZE $ELIDE_EMPTY\n" for N in 6 8 12 15 22; do rm -f x* if test -z "$ELIDE_EMPTY"; then split ---io-blksize=$IO_BLKSIZE -n l/2/$N in > chunk.k stat x* 2>/dev/null && fail=1 fi split ---io-blksize=$IO_BLKSIZE $ELIDE_EMPTY -n l/$N in echo $(stat -c "%02s" x*) >> out if test -z "$ELIDE_EMPTY"; then compare chunk.k xab || fail=1 fi if test "$DEBUGGING"; then # Output partition pattern size=$(printf "%s" "$lines" | wc -c) chunk_size=$(($size/$N)) end_size=$(($chunk_size + ($size % $N))) { yes "$(printf %${chunk_size}s ])" | head -n$(($N-1)) printf %${end_size}s ] } | tr -d '\n' | sed "s/\\(^.\\{1,$size\\}\\).*/\\1/" echo # Output pattern generated for comparison for s in $(stat -c "%s" x*); do #s=0 transitions are not shown test "$m" = "_" && m=- || m=_ printf "%${s}s" '' | tr ' ' $m done echo # Output lines for reference echo "$lines" fi done test -z "$ELIDE_EMPTY" && EXP=exp || EXP=exp.elide_empty compare out $EXP || fail=1 done done test "$DEBUGGING" && test "$VERBOSE" && set -x # Check extraction of particular chunks : > out printf '1\n12345\n' > exp split -n l/13/15 in > out compare exp out || fail=1 : > out printf '' > exp split -n l/14/15 in > out compare exp out || fail=1 : > out printf '1\n12345\n1\n' > exp split -n l/15/15 in > out compare exp out || fail=1 # test input with no \n at end printf '12\n34\n5' > in printf '5' > exp split -n l/7/7 in > out compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/additional-suffix.sh�����������������������������������������������������0000775�0000000�0000000�00000002331�12102337341�016607� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # show that 'split --additional-suffix=SUFFIX' works. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split printf '1\n2\n3\n4\n5\n' > in || framework_failure_ split --lines=2 --additional-suffix=.txt in > out || fail=1 cat <<\EOF > exp-1 1 2 EOF cat <<\EOF > exp-2 3 4 EOF cat <<\EOF > exp-3 5 EOF compare exp-1 xaa.txt || fail=1 compare exp-2 xab.txt || fail=1 compare exp-3 xac.txt || fail=1 # Additional suffix must not contain slash split --lines=2 --additional-suffix=a/b in 2>/dev/null > out && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/numeric.sh���������������������������������������������������������������0000775�0000000�0000000�00000003251�12102337341�014641� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that split --numeric-suffixes[=from] works. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split # Check default start from 0 printf '1\n2\n3\n4\n5\n' > in || framework_failure_ split --numeric-suffixes --lines=2 in || fail=1 cat <<\EOF > exp-1 1 2 EOF cat <<\EOF > exp-2 3 4 EOF cat <<\EOF > exp-3 5 EOF compare exp-1 x00 || fail=1 compare exp-2 x01 || fail=1 compare exp-3 x02 || fail=1 # Check --numeric-suffixes=X split --numeric-suffixes=1 --lines=2 in || fail=1 cat <<\EOF > exp-1 1 2 EOF cat <<\EOF > exp-2 3 4 EOF cat <<\EOF > exp-3 5 EOF compare exp-1 x01 || fail=1 compare exp-2 x02 || fail=1 compare exp-3 x03 || fail=1 # Check that split failed when suffix length is not large enough for # the numerical suffix start value split -a 3 --numeric-suffixes=1000 in 2> /dev/null && fail=1 # check invalid --numeric-suffixes start values are flagged split --numeric-suffixes=-1 in 2> /dev/null && fail=1 split --numeric-suffixes=one in 2> /dev/null && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/fail.sh������������������������������������������������������������������0000775�0000000�0000000�00000005176�12102337341�014122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # split must fail when given length/count of zero. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split getlimits_ touch in || framework_failure_ split -a 0 in 2> /dev/null || fail=1 split -b 0 in 2> /dev/null && fail=1 split -C 0 in 2> /dev/null && fail=1 split -l 0 in 2> /dev/null && fail=1 split -n 0 in 2> /dev/null && fail=1 split -n 1/0 in 2> /dev/null && fail=1 split -n 0/1 in 2> /dev/null && fail=1 split -n 2/1 in 2> /dev/null && fail=1 # Make sure -C doesn't create empty files. rm -f x?? || fail=1 echo x | split -C 1 || fail=1 test -f xaa && test -f xab || fail=1 test -f xac && fail=1 # Make sure that the obsolete -N notation still works split -1 in 2> /dev/null || fail=1 # Then make sure that -0 evokes a failure. split -0 in 2> /dev/null && fail=1 split --lines=$UINTMAX_MAX in || fail=1 split --bytes=$OFF_T_MAX in || fail=1 split --line-bytes=$OFF_T_OFLOW 2> /dev/null in && fail=1 split --line-bytes=$SIZE_OFLOW 2> /dev/null in && fail=1 if truncate -s$SIZE_OFLOW large; then # Ensure we can split chunks of a large file on 32 bit hosts split --number=$SIZE_OFLOW/$SIZE_OFLOW large >/dev/null || fail=1 fi split --number=r/$UINTMAX_MAX/$UINTMAX_MAX </dev/null >/dev/null || fail=1 split --number=r/$UINTMAX_OFLOW </dev/null 2>/dev/null && fail=1 # Make sure that a huge obsolete option evokes the right failure. split -99999999999999999991 2> out && fail=1 # On losing systems (x86 Solaris 5.9 c89), we get a message like this: # split: line count option -9999999999... is too large # while on most, we get this: # split: line count option -99999999999999999991... is too large # so map them both to -99*. sed 's/99[19]*/99*/' out > out-t mv -f out-t out cat <<\EOF > exp split: line count option -99*... is too large EOF compare exp out || fail=1 # Make sure split fails when it can't read input # (the current directory in this case) if ! cat . >/dev/null; then # can't read() directories split . && fail=1 fi Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/b-chunk.sh���������������������������������������������������������������0000775�0000000�0000000�00000003046�12102337341�014530� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test splitting into 3 chunks # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split # N can be greater than the file size # in which case no data is extracted, or empty files are written split -n 10 /dev/null || fail=1 test "$(stat -c %s x* | uniq -c | sed 's/^ *//; s/ /x/')" = "10x0" || fail=1 rm x?? # Ensure --elide-empty-files is honored split -e -n 10 /dev/null || fail=1 stat x?? 2>/dev/null && fail=1 printf '1\n2\n3\n4\n5\n' > in || framework_failure_ split -n 3 in > out || fail=1 split -n 1/3 in > b1 || fail=1 split -n 2/3 in > b2 || fail=1 split -n 3/3 in > b3 || fail=1 printf '1\n2' > exp-1 printf '\n3\n' > exp-2 printf '4\n5\n' > exp-3 compare exp-1 xaa || fail=1 compare exp-2 xab || fail=1 compare exp-3 xac || fail=1 compare exp-1 b1 || fail=1 compare exp-2 b2 || fail=1 compare exp-3 b3 || fail=1 test -f xad && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/lines.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002106�12102337341�014307� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # show that 'split --lines=2' works. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split printf '1\n2\n3\n4\n5\n' > in || framework_failure_ split --lines=2 in > out || fail=1 cat <<\EOF > exp-1 1 2 EOF cat <<\EOF > exp-2 3 4 EOF cat <<\EOF > exp-3 5 EOF compare exp-1 xaa || fail=1 compare exp-2 xab || fail=1 compare exp-3 xac || fail=1 test -f xad && fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/split/suffix-auto-length.sh����������������������������������������������������0000775�0000000�0000000�00000002673�12102337341�016737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test the suffix auto widening functionality # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ split # ensure this feature is off when start number specified truncate -s12 file.in split file.in -b1 --numeric=89 && fail=1 test "$(ls -1 x* | wc -l)" = 11 || fail=1 rm -f x* # ensure this feature works when no start num specified truncate -s91 file.in for prefix in 'x' 'xx' ''; do for add_suffix in '.txt' ''; do split file.in "$prefix" -b1 --numeric --additional-suffix="$add_suffix" \ || fail=1 test "$(ls -1 $prefix*[0-9]*$add_suffix | wc -l)" = 91 || fail=1 test -e "${prefix}89$add_suffix" || fail=1 test -e "${prefix}9000$add_suffix" || fail=1 rm -f $prefix*[0-9]*$add_suffix done done Exit $fail ���������������������������������������������������������������������coreutils-8.21/tests/factor/������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�013047� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/factor/run.sh������������������������������������������������������������������0000664�0000000�0000000�00000001215�12102337340�014120� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # === THIS IS A __TEMPLATE__ === # Test the factor rewrite. # The test is to run this command # seq $START $END | factor | shasum -c --status <(echo $CKSUM -) # I.e., to ensure that the factorizations of integers $1..$2 # match what we expect. # # See: tests/factor/create-test.sh # Copyright (C) 2012-2013 Free Software Foundation, Inc. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src # Don't run these tests by default. very_expensive_ print_ver_ factor seq sha1sum # Template variables. START=__START__ END=__END__ CKSUM=__CKSUM__ echo "$CKSUM -" > exp f=1 seq $START $END | factor | sha1sum -c --status exp && f=0 Exit $f �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/factor/create-test.sh����������������������������������������������������������0000775�0000000�0000000�00000010271�12102337340�015541� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Create the factor test scripts. # Copyright (C) 2012-2013 Free Software Foundation, Inc. test_name=$1 template=$2 # Extract the test name: remove .sh suffix from the basename. t=`echo "$test_name"|sed 's,.*/,,;s,\.sh$,,'` # prefix of 2^64 p=184467440737 # prefix of 2^96 q=79228162514264337593543 # Each of these numbers has a Pollard rho factor larger than 2^64, # and thus exercises some hard-to-reach code in factor.c. t1=170141183460469225450570946617781744489 t2=170141183460469229545748130981302223887 # Factors of the above: # t1: 9223372036854775421 18446744073709551709 # t2: 9223372036854775643 18446744073709551709 # Each test is a triple: lo, hi, sha1 of result. # The test script, run.sh, runs seq lo hi|factor|sha1sum # and verifies that the actual and expected checksums are the same. # New tests must be added to tests/local.mk (factor_tests), too. case $t in t00) set 0 10000000 a451244522b1b662c86cb3cbb55aee3e085a61a0 ;; t01) set 10000000 20000000 c792a2e02f1c8536b5121f624b04039d20187016 ;; t02) set 20000000 30000000 8115e8dff97d1674134ec054598d939a2a5f6113 ;; t03) set 30000000 40000000 fe7b832c8e0ed55035152c0f9ebd59de73224a60 ;; t04) set 40000000 50000000 b8786d66c432e48bc5b342ee3c6752b7f096f206 ;; t05) set 50000000 60000000 a74fe518c5f79873c2b9016745b88b42c8fd3ede ;; t06) set 60000000 70000000 689bc70d681791e5d1b8ac1316a05d0c4473d6db ;; t07) set 70000000 80000000 d370808f2ab8c865f64c2ff909c5722db5b7d58d ;; t08) set 80000000 90000000 7978aa66bf2bdb446398336ea6f02605e9a77581 ;; t09) set $t1 $t1 4622287c5f040cdb7b3bbe4d19d29a71ab277827 ;; t10) set $t2 $t2 dea308253708b57afad357e8c0d2a111460ef50e ;; t11) set ${p}08551616 ${p}08651615 66c57cd58f4fb572df7f088d17e4f4c1d4f01bb1 ;; t12) set ${p}08651616 ${p}08751615 729228e693b1a568ecc85b199927424c7d16d410 ;; t13) set ${p}08751616 ${p}08851615 5a0c985017c2d285e4698f836f5a059e0b684563 ;; t14) set ${p}08851616 ${p}08951615 0482295c514e371c98ce9fd335deed0c9c44a4f4 ;; t15) set ${p}08951616 ${p}09051615 9c0e1105ac7c45e27e7bbeb5e213f530d2ad1a71 ;; t16) set ${p}09051616 ${p}09151615 604366d2b1d75371d0679e6a68962d66336cd383 ;; t17) set ${p}09151616 ${p}09251615 9192d2bdee930135b28d7160e6d395a7027871da ;; t18) set ${p}09251616 ${p}09351615 bcf56ae55d20d700690cff4d3327b78f83fc01bf ;; t19) set ${p}09351616 ${p}09451615 16b106398749e5f24d278ba7c58229ae43f650ac ;; t20) set ${p}09451616 ${p}09551615 ad2c6ed63525f8e7c83c4c416e7715fa1bebc54c ;; t21) set ${p}09551616 ${p}09651615 2b6f9c11742d9de045515a6627c27a042c49f8ba ;; t22) set ${p}09651616 ${p}09751615 54851acd51c4819beb666e26bc0100dc9adbc310 ;; t23) set ${p}09751616 ${p}09851615 6939c2a7afd2d81f45f818a159b7c5226f83a50b ;; t24) set ${p}09851616 ${p}09951615 0f2c8bc011d2a45e2afa01459391e68873363c6c ;; t25) set ${p}09951616 ${p}10051615 630dc2ad72f4c222bad1405e6c5bea590f92a98c ;; t26) set ${q}940336 ${q}942335 63cbd6313d78247b04d63bbbac50cb8f8d33ff71 ;; t27) set ${q}942336 ${q}944335 0d03d63653767173182491b86fa18f8f680bb036 ;; t28) set ${q}944336 ${q}946335 ca43bd38cd9f97cc5bb63613cb19643578640f0b ;; t29) set ${q}946336 ${q}948335 86d59545a0c13567fa96811821ea5cde950611b1 ;; t30) set ${q}948336 ${q}950335 c3740e702fa9c97e6cf00150860e0b936a141a6b ;; t31) set ${q}950336 ${q}952335 551c3c4c4640d86fda311b5c3006dac45505c0ce ;; t32) set ${q}952336 ${q}954335 b1b0b00463c2f853d70ef9c4f7a96de5cb614156 ;; t33) set ${q}954336 ${q}956335 8938a484a9ef6bb16478091d294fcde9f8ecea69 ;; t34) set ${q}956336 ${q}958335 d1ae6bc712d994f35edf55c785d71ddf31f16535 ;; t35) set ${q}958336 ${q}960335 2374919a89196e1fce93adfe779cb4664556d4b6 ;; t36) set ${q}960336 ${q}962335 569e4363e8d9e8830a187d9ab27365eef08abde1 ;; *) echo "$0: error: unknown test: '$test_name' -> '$t'" >&2 exit 1 ;; esac TEMPLATE="TEST SCRIPT DERIVED FROM THE TEMPLATE $template" # Create the test script from the template for this test # by substituting the START, the END and the CKSUM. exec sed \ -e "s/__START__/$1/" \ -e "s/__END__/$2/" \ -e "s/__CKSUM__/$3/" \ -e "s!__TEMPLATE__!$TEMPLATE!" "$template" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012213� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/i-5.sh����������������������������������������������������������������������0000775�0000000�0000000�00000001741�12102337341�013062� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure 'mv -i dir file' prompts before failing. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir a || framework_failure_ touch b || framework_failure_ # coreutils 6.2 mv would neglect to prompt in this case. echo n | mv -i a b 2>/dev/null || fail=1 Exit $fail �������������������������������coreutils-8.21/tests/mv/dup-source.sh���������������������������������������������������������������0000775�0000000�0000000�00000003643�12102337341�014561� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp merely warns when a non-directory source file is # listed on the command line more than once. fileutils-4.1.1 # made this fail: cp a a d/ # Ensure that mv fails with a similar command. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv skip_if_root_ for i in cp; do # cp may not fail in this case. rm -fr a d; touch a; mkdir d $i a a d/ 2> out || fail=1 rm -fr a d; touch a; mkdir d $i ./a a d/ 2>> out || fail=1 # cp succeeds with --backup=numbered. rm -fr a d; touch a; mkdir d $i --backup=numbered a a d/ 2>> out || fail=1 # But not with plain '--backup' rm -fr a d; touch a; mkdir d $i --backup a a d/ 2>> out && fail=1 cat <<EOF > exp $i: warning: source file 'a' specified more than once $i: warning: source file 'a' specified more than once $i: will not overwrite just-created 'd/a' with 'a' EOF compare exp out || fail=1 done for i in mv; do # But mv *does* fail in this case (it has to). rm -fr a d; touch a; mkdir d $i a a d/ 2> out && fail=1 rm -fr a d; touch a; mkdir d $i ./a a d/ 2>> out && fail=1 cat <<EOF > exp $i: cannot stat 'a': No such file or directory $i: cannot stat 'a': No such file or directory EOF compare exp out || fail=1 done Exit $fail ���������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/force.sh��������������������������������������������������������������������0000775�0000000�0000000�00000002321�12102337341�013561� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # move a file onto itself # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv ff=mvforce ff2=mvforce2 echo force-contents > $ff || framework_failure_ ln $ff $ff2 || framework_failure_ # This mv command should exit nonzero. mv $ff $ff > out 2>&1 && fail=1 cat > exp <<EOF mv: '$ff' and '$ff' are the same file EOF compare exp out || fail=1 test $(cat $ff) = force-contents || fail=1 # This should succeed, even though the source and destination # device and inodes are the same. mv $ff $ff2 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/into-self-2.sh��������������������������������������������������������������0000775�0000000�0000000�00000002661�12102337341�014531� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Force mv to use the copying code. # Consider the case where SRC and DEST are on different # partitions and DEST is a symlink to SRC. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" file="$other_partition_tmpdir/file" symlink=symlink echo whatever > $file || framework_failure_ ln -s $file $symlink || framework_failure_ # This mv command should exit nonzero. mv $symlink $file > out 2>&1 && fail=1 # This should succeed. mv $file $symlink || fail=1 sed \ -e "s,mv:,XXX:," \ -e "s,$file,YYY," \ -e "s,$symlink,ZZZ," \ out > out2 cat > exp <<\EOF XXX: 'ZZZ' and 'YYY' are the same file EOF #' compare exp out2 || fail=1 Exit $fail �������������������������������������������������������������������������������coreutils-8.21/tests/mv/diag.sh���������������������������������������������������������������������0000775�0000000�0000000�00000003005�12102337341�013367� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure we get proper diagnostics: e.g., with --target-dir=d but no args # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv touch f1 || framework_failure_ touch f2 || framework_failure_ touch d || framework_failure_ # These mv commands should all exit nonzero. # Too few args. This first one did fail, but with an incorrect diagnostic # until fileutils-4.0u. mv --target=. >> out 2>&1 && fail=1 mv no-file >> out 2>&1 && fail=1 # Target is not a directory. mv f1 f2 f1 >> out 2>&1 && fail=1 mv --target=f2 f1 >> out 2>&1 && fail=1 cat > exp <<\EOF mv: missing file operand Try 'mv --help' for more information. mv: missing destination file operand after 'no-file' Try 'mv --help' for more information. mv: target 'f1' is not a directory mv: target 'f2' is not a directory EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/sticky-to-xpart.sh����������������������������������������������������������0000775�0000000�0000000�00000004352�12102337341�015553� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # A cross-partition move of a file in a sticky tmpdir and owned by # someone else would evoke an invalid diagnostic: # mv: cannot remove 'x': Operation not permitted # Affects coreutils-6.0-6.9. # Copyright (C) 2007-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv require_root_ cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" # Set up to run a test where non-root user tries to move a root-owned # file from a sticky tmpdir to a directory owned by that user on # a different partition. mkdir t || framework_failure_ chmod a=rwx,o+t t || framework_failure_ echo > t/root-owned || framework_failure_ chmod a+r t/root-owned || framework_failure_ chown "$NON_ROOT_USERNAME" "$other_partition_tmpdir" || framework_failure_ # We have to allow $NON_ROOT_USERNAME access to ".". chmod go+x . || framework_failure_ # Ensure that $NON_ROOT_USERNAME can access the required version of mv. version=$( setuidgid $NON_ROOT_USERNAME env PATH="$PATH" mv --version | sed -n '1s/.* //p' ) case $version in $PACKAGE_VERSION) ;; *) skip_ "cannot access just-built mv as user $NON_ROOT_USERNAME";; esac setuidgid $NON_ROOT_USERNAME env PATH="$PATH" \ mv t/root-owned "$other_partition_tmpdir" 2> out-t && fail=1 # On some systems, we get 'Not owner'. Convert it. # On other systems (HPUX), we get 'Permission denied'. Convert it, too. onp='Operation not permitted' sed "s/Not owner/$onp/;s/Permission denied/$onp/" out-t > out cat <<\EOF > exp mv: cannot remove 't/root-owned': Operation not permitted EOF compare exp out || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/i-1.pl����������������������������������������������������������������������0000775�0000000�0000000�00000002617�12102337341�013062� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Make sure a 'n' reply to 'mv -i...' aborts the move operation. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $test_a = 'a'; my @Tests = ( # Make sure a 'n' reply to 'mv -i...' aborts the move operation. [$test_a, '-i', {IN => {src => "a\n"}}, {IN => {dst => "b\n"}}, '<', {IN => "n\n"}, {ERR => "mv: overwrite 'dst'? "}, {POST => sub { -r 'src' or die "test $test_a failed\n"}}, {EXIT => 0}, ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'mv'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/atomic2.sh������������������������������������������������������������������0000775�0000000�0000000�00000002767�12102337341�014037� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that mv doesn't first unlink a multi-hard-linked destination # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv require_strace_ unlink # Before the fix, mv would unnecessarily unlink the destination symlink: # $ rm -f a b b2; touch a b; ln b b2; strace -e unlink /p/bin/mv a b # unlink("b") = 0 # # With the fix, it doesn't call unlink: # $ rm -f a b b2; touch a b; ln b b2; strace -e unlink ./mv a b # $ touch a b || framework_failure_ ln b b2 || framework_failure_ strace -qe unlink mv a b > out 2>&1 || fail=1 $EGREP 'unlink.*"b"' out && fail=1 # Ensure that the source, "a", is gone. ls -dl a > /dev/null 2>&1 && fail=1 # Ensure that the destination, "b", has link count 1. n_links=$(stat --printf=%h b) || fail=1 test "$n_links" = 1 || fail=1 Exit $fail ���������coreutils-8.21/tests/mv/childproof.sh���������������������������������������������������������������0000775�0000000�0000000�00000004610�12102337341�014617� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that cp/mv/ln don't clobber a just-copied/moved/linked file. # With fileutils-4.1 and earlier, this test would fail for cp and mv. # With coreutils-6.9 and earlier, this test would fail for ln. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv ln skip_if_root_ mkdir a b c || framework_failure_ echo a > a/f || framework_failure_ echo b > b/f || framework_failure_ cp a/f b/f c 2> /dev/null && fail=1 test -f a/f || fail=1 test -f b/f || fail=1 test -f c/f || fail=1 test "$(cat c/f)" = a || fail=1 rm -f c/f # With --backup=numbered, it should succeed cp --backup=numbered a/f b/f c || fail=1 test -f a/f || fail=1 test -f b/f || fail=1 test -f c/f || fail=1 test -f c/f.~1~ || fail=1 rm -f c/f* mv a/f b/f c 2> /dev/null && fail=1 test -f a/f && fail=1 test -f b/f || fail=1 test -f c/f || fail=1 test "$(cat c/f)" = a || fail=1 # Make sure mv still works when moving hard links. # This is where the same_file test is necessary, and why # we save file names in addition to dev/ino. rm -f c/f* b/f touch a/f ln a/f b/g mv a/f b/g c || fail=1 test -f a/f && fail=1 test -f b/g && fail=1 test -f c/f || fail=1 test -f c/g || fail=1 touch a/f b/f b/g mv a/f b/f b/g c 2> /dev/null && fail=1 test -f a/f && fail=1 # a/f should have been moved test -f b/f || fail=1 # b/f should remain test -f b/g && fail=1 # b/g should have been moved test -f c/f || fail=1 test -f c/g || fail=1 # Test ln -f. rm -f a/f b/f c/f echo a > a/f || fail=1 echo b > b/f || fail=1 ln -f a/f b/f c 2> /dev/null && fail=1 # a/f and c/f must be linked test $(stat --format %i a/f) = $(stat --format %i c/f) || fail=1 # b/f and c/f must not be linked test $(stat --format %i b/f) = $(stat --format %i c/f) && fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/into-self-3.sh��������������������������������������������������������������0000775�0000000�0000000�00000002203�12102337341�014522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # move a directory into itself, with a twist # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv dir1=is3-dir1 dir2=is3-dir2 mkdir $dir1 $dir2 || framework_failure_ # This mv command should exit nonzero. mv $dir1 $dir2 $dir2 > out 2>&1 && fail=1 sed \ -e "s,mv:,XXX:,g" \ -e "s,$dir2,ZZZ,g" \ out > out2 cat > exp <<\EOF XXX: cannot move 'ZZZ' to a subdirectory of itself, 'ZZZ/ZZZ' EOF compare exp out2 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/hard-2.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003755�12102337341�013554� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that moving hard-linked arguments onto existing destinations works. # Likewise when using cp --preserve=link. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv skip_if_root_ mkdir dst || framework_failure_ (cd dst && touch a b c) || framework_failure_ touch a || framework_failure_ ln a b || framework_failure_ ln a c || framework_failure_ # ====================================== cp --preserve=link a b c dst || fail=1 # The source files must remain. test -f a || fail=1 test -f b || fail=1 test -f c || fail=1 cd dst # Three destination files must exist. test -f a || fail=1 test -f b || fail=1 test -f c || fail=1 # The three i-node numbers must be the same. ia=$(ls -i a|sed 's/ a//') ib=$(ls -i b|sed 's/ b//') ic=$(ls -i c|sed 's/ c//') test $ia = $ib || fail=1 test $ia = $ic || fail=1 cd .. rm -f dst/[abc] (cd dst && touch a b c) # ====================================== mv a b c dst || fail=1 # The source files must be gone. test -f a && fail=1 test -f b && fail=1 test -f c && fail=1 cd dst # Three destination files must exist. test -f a || fail=1 test -f b || fail=1 test -f c || fail=1 # The three i-node numbers must be the same. ia=$(ls -i a|sed 's/ a//') ib=$(ls -i b|sed 's/ b//') ic=$(ls -i c|sed 's/ c//') test $ia = $ib || fail=1 test $ia = $ic || fail=1 Exit $fail �������������������coreutils-8.21/tests/mv/to-symlink.sh���������������������������������������������������������������0000775�0000000�0000000�00000002663�12102337341�014602� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that the copying code used in an inter-partition # move unlinks a destination symlink before opening it. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" rem_file="$other_partition_tmpdir/file" rem_symlink="$other_partition_tmpdir/symlink" file=to-sym echo local > $file || framework_failure_ echo remote > $rem_file || framework_failure_ ln -s $rem_file $rem_symlink || framework_failure_ # This mv command should succeed, unlinking the symlink # before copying. mv $file $rem_symlink || fail=1 # Make sure $file is gone. test -f $file && fail=1 # Make sure $rem_file is unmodified. test $(cat $rem_file) = remote || fail=1 Exit $fail �����������������������������������������������������������������������������coreutils-8.21/tests/mv/mv-special-1.sh�������������������������������������������������������������0000775�0000000�0000000�00000004437�12102337341�014673� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Test "mv" with special files. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" null=mv-null dir=mv-dir rm -f $null || framework_failure_ mknod $null p || framework_failure_ test -p $null || framework_failure_ mkdir -p $dir/a/b/c $dir/d/e/f || framework_failure_ touch $dir/a/b/c/file1 $dir/d/e/f/file2 || framework_failure_ # We used to... # exit 77 here to indicate that we couldn't run the test. # At least running on SunOS 4.1.4, using a directory NFS mounted # from an OpenBSD system, the above mknod fails. # It's not worth making an exception any more. mv --verbose $null $dir "$other_partition_tmpdir" > out || fail=1 # Make sure the files are gone. test -p $null && fail=1 test -d $dir && fail=1 # Make sure they were moved. test -p "$other_partition_tmpdir/$null" || fail=1 test -d "$other_partition_tmpdir/$dir/a/b/c" || fail=1 # POSIX says rename (A, B) can succeed if A and B are on different file systems, # so ignore chatter about when files are removed and copied rather than renamed. sed " /^removed /d s,$other_partition_tmpdir,XXX, " out | sort > out2 cat <<EOF | sort > exp '$null' -> 'XXX/$null' '$dir' -> 'XXX/$dir' '$dir/a' -> 'XXX/$dir/a' '$dir/a/b' -> 'XXX/$dir/a/b' '$dir/a/b/c' -> 'XXX/$dir/a/b/c' '$dir/a/b/c/file1' -> 'XXX/$dir/a/b/c/file1' '$dir/d' -> 'XXX/$dir/d' '$dir/d/e' -> 'XXX/$dir/d/e' '$dir/d/e/f' -> 'XXX/$dir/d/e/f' '$dir/d/e/f/file2' -> 'XXX/$dir/d/e/f/file2' EOF compare exp out2 || fail=1 # cd "$other_partition_tmpdir" # ls -l -A -R "$other_partition_tmpdir" Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/backup-is-src.sh������������������������������������������������������������0000775�0000000�0000000�00000002517�12102337341�015135� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Force mv to use the copying code. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" a="$other_partition_tmpdir/a" a2="$other_partition_tmpdir/a~" rm -f "$a" "$a2" || framework_failure_ echo a > "$a" || framework_failure_ echo a2 > "$a2" || framework_failure_ # This mv command should exit nonzero. mv --b=simple "$a2" "$a" > out 2>&1 && fail=1 sed \ -e "s,mv:,XXX:," \ -e "s,$a,YYY," \ -e "s,$a2,ZZZ," \ out > out2 cat > exp <<\EOF XXX: backing up 'YYY' would destroy source; 'ZZZ' not moved EOF compare exp out2 || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/hard-4.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002212�12102337341�013541� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that mv removes a in this case: touch a; ln a b; mv a b # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv touch a || framework_failure_ ln a b || framework_failure_ mv a b || fail=1 # In coreutils-5.0 and earlier, a would not be removed. test -r a && fail=1 test -r b || fail=1 # Make sure it works also with --backup. ln b a mv --backup=simple a b || fail=1 test -r a && fail=1 test -r b || fail=1 test -r b~ || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/dir-file.sh�����������������������������������������������������������������0000775�0000000�0000000�00000002066�12102337341�014164� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # mv must fail when src and dest are mismatched directory/non-directory. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir -p dir/file || framework_failure_ > file || framework_failure_ # These should both fail, but until fileutils-4.0q only the second one did. mv dir file > /dev/null 2>&1 && fail=1 mv file dir > /dev/null 2>&1 && fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/perm-1.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002137�12102337341�013571� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that mv gives one diagnostic, not two, when failing # due to lack of permissions # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv skip_if_root_ mkdir -p no-write/dir || framework_failure_ chmod u-w no-write || framework_failure_ mv no-write/dir . > out 2>&1 && fail=1 cat <<\EOF > exp mv: cannot move 'no-write/dir' to './dir': Permission denied EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/symlink-onto-hardlink.sh����������������������������������������������������0000775�0000000�0000000�00000003020�12102337341�016715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mv works with a few symlink-onto-hard-link cases. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv touch f || framework_failure_ ln f h || framework_failure_ ln -s f s || framework_failure_ # Given two links f and h to some important content, and a symlink s to f, # "mv s f" must fail because it might then be hard to find the link, h. # "mv s l" may succeed because then, s (now "l") still points to f. # Of course, if the symlink were being moved into a different destination # directory, things would be very different, and, I suspect, implausible. echo "mv: 's' and 'f' are the same file" > exp || framework_failure_ mv s f > out 2> err && fail=1 compare /dev/null out || fail=1 compare exp err || fail=1 mv s l > out 2> err || fail=1 compare /dev/null out || fail=1 compare /dev/null err || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/acl.sh����������������������������������������������������������������������0000775�0000000�0000000�00000004617�12102337341�013234� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # move files/directories across file system boundaries # and make sure acls are preserved # Copyright (C) 2005-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv getfacl setfacl require_acl_ # Skip this test if cp was built without ACL support: grep '^#define USE_ACL 1' $CONFIG_HEADER > /dev/null || skip_ "insufficient ACL support" cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" touch file || framework_failure_ t1=$other_partition_tmpdir/t1 touch $t1 || framework_failure_ skip_partition=none # Ensure that setfacl and getfacl work on this file system. setfacl -m user:bin:rw- file 2> /dev/null || skip_partition=. # And on the destination file system. setfacl -m user:bin:rw- $t1 || skip_partition=$other_partition_tmpdir acl1=$(getfacl file) || skip_partition=. test $skip_partition != none && skip_ "'$skip_partition' is not on a suitable file system for this test" # move the access acl of a file mv file "$other_partition_tmpdir" || fail=1 acl2=$(cd "$other_partition_tmpdir" && getfacl file) || framework_failure_ test "$acl1" = "$acl2" || fail=1 # move the access acl of a directory mkdir dir || framework_failure_ setfacl -m user:bin:rw- dir || framework_failure_ acl1=$(getfacl dir) || framework_failure_ mv dir "$other_partition_tmpdir" || fail=1 acl2=$(cd "$other_partition_tmpdir" && getfacl dir) || framework_failure_ test "$acl1" = "$acl2" || fail=1 # move the default acl of a directory mkdir dir2 || framework_failure_ setfacl -d -m user:bin:rw- dir2 || framework_failure_ acl1=$(getfacl dir2) || framework_failure_ mv dir2 "$other_partition_tmpdir" || fail=1 acl2=$(cd "$other_partition_tmpdir" && getfacl dir2) || framework_failure_ test "$acl1" = "$acl2" || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/into-self.sh����������������������������������������������������������������0000775�0000000�0000000�00000002745�12102337341�014375� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Demonstrate how mv fails when it tries to move a directory into itself. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv dir=toself-dir file=toself-file rm -rf $dir $file || framework_failure_ mkdir -p $dir/a/b || framework_failure_ touch $file || framework_failure_ # This mv command should fail. mv $dir $file $dir > out 2>&1 && fail=1 sed \ -e "s,mv:,XXX:," \ -e "s,$dir,SRC," \ -e "s,$dir/$dir,DEST," \ out > out2 cat > exp <<\EOF XXX: cannot move 'SRC' to a subdirectory of itself, 'DEST' EOF compare exp out2 || fail=1 # Make sure the file is gone. test -f $file && fail=1 # Make sure the directory is *not* moved. test -d $dir || fail=1 test -d $dir/$dir && fail=1 # Make sure the file has been moved to the right place. test -f $dir/$file || fail=1 Exit $fail ���������������������������coreutils-8.21/tests/mv/no-target-dir.sh������������������������������������������������������������0000775�0000000�0000000�00000003031�12102337341�015136� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that --no-target-directory (-T) works when the destination is # an empty directory. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir -p d/sub empty src d2/sub e2 || framework_failure_ touch f || framework_failure_ # Skip this test if there's an underlying kernel bug. mkdir a b b/a || framework_failure_ mv a b || skip_ "your kernel's rename syscall is buggy" # This should succeed, since both src and dest are directories, # and the dest dir is empty. mv -fT d empty || fail=1 # Ensure that the source, d, is gone. ls -d d > /dev/null 2>&1 && fail=1 # Ensure that the dest dir now has a subdirectory. test -d empty/sub || fail=1 # rename must fail, since the dest is non-empty. mv -fT src d2 2> /dev/null && fail=1 # rename must fail, since the src is not a directory. mv -fT f e2 2> /dev/null && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/part-fail.sh����������������������������������������������������������������0000775�0000000�0000000�00000003335�12102337341�014350� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure we give a sensible diagnostic when a cross-device 'mv' # fails, e.g., because the destination cannot be unlinked. # This is a bit fragile since it relies on the string used # for EPERM: 'permission denied'. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv skip_if_root_ cleanup_() { t=$other_partition_tmpdir; chmod -R 700 "$t"; rm -rf "$t"; } . "$abs_srcdir/tests/other-fs-tmpdir" touch k "$other_partition_tmpdir/k" || framework_failure_ chmod u-w "$other_partition_tmpdir" || framework_failure_ mv -f k "$other_partition_tmpdir" 2> out && fail=1 printf \ "mv: inter-device move failed: '%s' to '%s';"\ ' unable to remove target: Permission denied\n' \ k "$other_partition_tmpdir/k" >exp # On some (less-compliant) systems, we get EPERM in this case. # Accept either diagnostic. cat <<EOF > exp2 mv: cannot move 'k' to '$other_partition_tmpdir/k': Permission denied EOF if cmp out exp >/dev/null 2>&1; then : else if cmp out exp2; then : else fail=1 fi fi test $fail = 1 && compare exp out Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/hard-3.sh�������������������������������������������������������������������0000775�0000000�0000000�00000004471�12102337341�013551� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that using 'cp --preserve=link' to copy hard-linked arguments # onto existing destinations works, even when one of the link operations fails. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This bug was fixed in coreutils-4.5.9. # To exercise this bug is non-trivial: # Set-up requires at least three hard-linked files. In copying them, # while preserving links, the initial copy must succeed, the attempt # to create the second file via 'link' must fail, and the final 'link' # (to create the third) must succeed. Before the corresponding fix, # the first and third destination files would not be linked. # # Note that this is nominally a test of 'cp', yet it is in the tests/mv # directory, because it requires use of the --preserve=link option that # mv enables by default. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp skip_if_root_ mkdir -p x dst/x || framework_failure_ touch dst/x/b || framework_failure_ chmod a-w dst/x touch a || framework_failure_ ln a x/b || framework_failure_ ln a c || framework_failure_ # ====================================== # This must fail -- because x/b cannot be unlinked. cp --preserve=link --parents a x/b c dst 2> /dev/null && fail=1 # Source files must remain. test -f a || fail=1 test -f x/b || fail=1 test -f c || fail=1 cd dst # Three destination files must exist. test -f a || fail=1 test -f x/b || fail=1 test -f c || fail=1 # The i-node numbers of a and c must be the same. ia=$(ls -i a) || fail=1; set x $ia; ia=$2 ic=$(ls -i c) || fail=1; set x $ic; ic=$2 test "$ia" = "$ic" || fail=1 # The i-node number of x/b must be different. ib=$(ls -i x/b) || fail=1; set x $ib; ib=$2 test "$ia" = "$ib" && fail=1 Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/i-3.sh����������������������������������������������������������������������0000775�0000000�0000000�00000003551�12102337341�013061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure that 'mv file unwritable-file' prompts the user # and that 'mv -f file unwritable-file' doesn't. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv require_controlling_input_terminal_ skip_if_root_ trap '' TTIN # Ignore SIGTTIN test "$(uname -s)" = FreeBSD && skip_ "known spurious failure on FreeBSD" touch f g h i || framework_failure_ chmod 0 g i || framework_failure_ ls /dev/stdin >/dev/null 2>&1 \ || skip_ 'there is no /dev/stdin file' # work around a dash bug when redirecting # from symlinked ttys in the background tty=$(readlink -f /dev/stdin) test -r "$tty" 2>&1 \ || skip_ '/dev/stdin is not readable' mv f g < $tty > out 2>&1 & pid=$! # Test for the expected prompt; sleep upon non-match. check_overwrite_prompt() { local delay="$1" case "$(cat out)" in "mv: try to overwrite 'g', overriding mode 0000"*) ;; *) sleep $delay; return 1;; esac } # Wait for up to 12.7 seconds for the expected prompt. retry_delay_ check_overwrite_prompt .1 7 || fail=1 kill $pid mv -f h i > out 2>&1 || fail=1 test -f i || fail=1 test -f h && fail=1 # Make sure there was no prompt. case "$(cat out)" in '') ;; *) fail=1 ;; esac Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/hard-link-1.sh��������������������������������������������������������������0000775�0000000�0000000�00000002466�12102337341�014504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # move a directory containing hard-linked files and # make sure the links are preserved # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" dir=hlink mkdir $dir || framework_failure_ > $dir/a || framework_failure_ ln $dir/a $dir/b || framework_failure_ mv $dir "$other_partition_tmpdir" || fail=1 # Display inode numbers, one per line. ls -1i "$other_partition_tmpdir/$dir" > out || fail=1 # Make sure the inode numbers are the same. a=$(sed -n 's/ a$//p' out) b=$(sed -n 's/ b$//p' out) test "$a" = "$b" || fail=1 Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/dir2dir.sh������������������������������������������������������������������0000775�0000000�0000000�00000002717�12102337341�014033� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that mv prints the right diagnostic for a dir->dir move # where the destination directory is not empty. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir -p a/t b/t || framework_failure_ touch a/t/f || framework_failure_ # Expect this to fail with the expected diagnostic. # For an interim (pre-6.0) release, it would give an erroneous # diagnostic about moving one directory to a subdirectory of itself. mv b/t a 2> out && fail=1 # Accept any of these: EEXIST, ENOTEMPTY, EBUSY. sed 's/: File exists/: Directory not empty/'<out>o1;mv o1 out sed 's/: Device or resource busy/: Directory not empty/'<out>o1;mv o1 out cat <<\EOF > exp || fail=1 mv: cannot move 'b/t' to 'a/t': Directory not empty EOF compare exp out || fail=1 Exit $fail �������������������������������������������������coreutils-8.21/tests/mv/part-hardlink.sh������������������������������������������������������������0000775�0000000�0000000�00000002667�12102337341�015240� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that hard links are preserved when moving between partitions # and when the links are in separate command line arguments. # For additional constraints, see the comment in copy.c. # Before coreutils-5.2.1, this test would fail. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" touch f || framework_failure_ ln f g || framework_failure_ mkdir a b || framework_failure_ touch a/1 || framework_failure_ ln a/1 b/1 || framework_failure_ mv f g "$other_partition_tmpdir" || fail=1 mv a b "$other_partition_tmpdir" || fail=1 cd "$other_partition_tmpdir" set $(ls -Ci f g) test $1 = $3 || fail=1 set $(ls -Ci a/1 b/1) test $1 = $3 || fail=1 Exit $fail �������������������������������������������������������������������������coreutils-8.21/tests/mv/symlink-onto-hardlink-to-self.sh��������������������������������������������0000775�0000000�0000000�00000003604�12102337341�020274� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Demonstrate that when moving a symlink onto a hardlink-to-that-symlink, the # source symlink is removed. Depending on your kernel (e.g., Linux, Solaris, # but not NetBSD), prior to coreutils-8.16, the mv would successfully perform # a no-op. I.e., surprisingly, mv s1 s2 would succeed, yet fail to remove s1. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv # Create a file f, and a symlink s1 to that file. touch f || framework_failure_ ln -s f s2 || framework_failure_ for opt in '' --backup; do # Attempt to create a hard link to that symlink. # On some systems, it's not possible: they create a hard link to the referent. ln s2 s1 || framework_failure_ # If s1 is not a symlink, skip this test. test -h s1 \ || skip_ your kernel or file system cannot create a hard link to a symlink mv $opt s1 s2 > out 2>&1 || fail=1 compare /dev/null out || fail=1 # Ensure that s1 is gone. test -e s1 && fail=1 if test "$opt" = --backup; then # With --backup, ensure that the backup file was created. ref=$(readlink s2~) || fail=1 test "$ref" = f || fail=1 else # Without --backup, ensure there is no backup file. test -e s2~ && fail=1 fi done Exit $fail ����������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/i-link-no.sh����������������������������������������������������������������0000775�0000000�0000000�00000002425�12102337341�014265� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Show that mv doesn't preserve links to files the user has declined to move. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir a b || framework_failure_ echo foo > a/foo || framework_failure_ ln a/foo a/bar || framework_failure_ echo FUBAR > b/FUBAR || framework_failure_ ln b/FUBAR b/bar || framework_failure_ chmod a-w b/bar || framework_failure_ echo n > no || framework_failure_ mv a/bar a/foo b < no > out 2> err || fail=1 touch exp touch exp_err compare exp out || fail=1 compare exp_err err || fail=1 case "$(cat b/foo)" in foo) ;; *) fail=1;; esac Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/hard-verbose.sh�������������������������������������������������������������0000775�0000000�0000000�00000001765�12102337341�015057� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that mv's --verbose options works even in this unusual case # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv touch x || framework_failure_ ln x y || framework_failure_ mv --verbose x y > out || fail=1 cat <<\EOF > exp || fail=1 removed 'x' EOF compare exp out || fail=1 Exit $fail �����������coreutils-8.21/tests/mv/into-self-4.sh��������������������������������������������������������������0000775�0000000�0000000�00000002123�12102337341�014524� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # confirm that 'mv symlink symlink' doesn't remove symlink # Based on an example from David Luyer. # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv touch file || framework_failure_ ln -s file s || framework_failure_ # This must fail. mv s s 2> /dev/null && fail=1 # But the symlink, s, must not be removed. # Before 4.0.36, 's' would have been removed. test -f s || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/part-rename.sh��������������������������������������������������������������0000775�0000000�0000000�00000002151�12102337341�014677� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Moving a directory specified with a trailing slash from one partition to # another, and giving it a different name at the destination would cause mv # to get a failed assertion. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" mkdir foo || framework_failure_ mv foo/ "$other_partition_tmpdir/bar" || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/leak-fd.sh������������������������������������������������������������������0000775�0000000�0000000�00000003230�12102337341�013766� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Exercise mv's file-descriptor-leak bug, reported against coreutils-5.2.1 # and fixed (properly) on 2004-10-21. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # limit so don't run it by default. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv skip_if_root_ cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" # This test is relatively expensive, and might well evoke a # framework-failure on systems with a smaller command-line length expensive_ b="0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z _A _B _C _D _E _F _G _H _I _J _K _L _M _N _O _P _Q _R _S _T _U _V _W _X _Y _Z" for i in $(echo $b); do echo $i for j in $b; do echo $i$j done done > .dirs mkdir $(cat .dirs) || framework_failure_ sed 's,$,/f,' .dirs | xargs touch last_file=$(tail -n1 .dirs)/f test -f $last_file || framework_failure_ mv * "$other_partition_tmpdir" || fail=1 test -f $last_file/f && fail=1 rm .dirs out=$(ls -A) || fail=1 test -z "$out" || fail=1 Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/mv-n.sh���������������������������������������������������������������������0000775�0000000�0000000�00000003451�12102337341�013345� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test whether mv -n works as documented (not overwrite target). # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv # test miscellaneous combinations of -f -i -n parameters touch a b || framework_failure_ echo "'a' -> 'b'" > out_move > out_empty # ask for overwrite, answer no touch a b || framework_failure_ echo n | mv -vi a b 2>/dev/null > out1 || fail=1 compare out1 out_empty || fail=1 # ask for overwrite, answer yes touch a b || framework_failure_ echo y | mv -vi a b 2>/dev/null > out2 || fail=1 compare out2 out_move || fail=1 # -n wins (as the last option) touch a b || framework_failure_ echo y | mv -vin a b 2>/dev/null > out3 || fail=1 compare out3 out_empty || fail=1 # -n wins (as the last option) touch a b || framework_failure_ echo y | mv -vfn a b 2>/dev/null > out4 || fail=1 compare out4 out_empty || fail=1 # -n wins (as the last option) touch a b || framework_failure_ echo y | mv -vifn a b 2>/dev/null > out5 || fail=1 compare out5 out_empty || fail=1 # options --backup and --no-clobber are mutually exclusive touch a || framework_failure_ mv -bn a b 2>/dev/null && fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/update.sh�������������������������������������������������������������������0000775�0000000�0000000�00000003362�12102337341�013753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure --update works as advertised # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv echo old > old || framework_failure_ touch -d yesterday old || framework_failure_ echo new > new || framework_failure_ for interactive in '' -i; do for cp_or_mv in cp mv; do # This is a no-op, with no prompt. # With coreutils-6.9 and earlier, using --update with -i would # mistakenly elicit a prompt. $cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1 test -s out && fail=1 case "$(cat new)" in new) ;; *) fail=1 ;; esac case "$(cat old)" in old) ;; *) fail=1 ;; esac done done # This will actually perform the rename. mv --update new old || fail=1 test -f new && fail=1 case "$(cat old)" in new) ;; *) fail=1 ;; esac # Restore initial conditions. echo old > old || fail=1 touch -d yesterday old || fail=1 echo new > new || fail=1 # This will actually perform the copy. cp --update new old || fail=1 case "$(cat old)" in new) ;; *) fail=1 ;; esac case "$(cat new)" in new) ;; *) fail=1 ;; esac Exit $fail ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/atomic.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002770�12102337341�013747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that mv doesn't first unlink its destination in one particular case # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv require_strace_ unlink # Before the fix, mv would unnecessarily unlink the destination symlink: # $ rm -rf s[12]; ln -s / s1; ln -s /tmp s2 # $ strace -qe unlink /bin/mv -T s1 s2 # unlink("s2") = 0 # # With the fix, it doesn't call unlink: # $ rm -rf s[12]; ln -s / s1; ln -s /tmp s2 # $ strace -qe unlink ./mv -T s1 s2 # $ ln -s t1 s1 || framework_failure_ ln -s t2 s2 || framework_failure_ strace -qe unlink mv -T s1 s2 > out 2>&1 || fail=1 $EGREP 'unlink.*"s1"' out && fail=1 # Ensure that the source, s1, is gone. ls -dl s1 > /dev/null 2>&1 && fail=1 # Ensure that the destination, s2, contains the link from s1. test "$(readlink s2)" = t1 || fail=1 Exit $fail ��������coreutils-8.21/tests/mv/i-2.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002760�12102337341�013061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Test both cp and mv for their behavior with -if and -fi # The standards (POSIX and SuS) dictate annoyingly inconsistent behavior. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv skip_if_root_ for i in a b c d e f g h; do echo $i > $i || framework_failure_ done chmod 0 b d f h || framework_failure_ echo y > y || framework_failure_ mv -if a b || fail=1 mv -fi c d < y >/dev/null 2>&1 || fail=1 # Before 4.0s, this would not prompt. cp -if e f < y > out 2>&1 || fail=1 # Make sure out contains the prompt. case "$(cat out)" in "cp: try to overwrite 'f', overriding mode 0000 (---------)?"*) ;; *) fail=1 ;; esac test -f e || fail=1 test -f f || fail=1 compare e f || fail=1 cp -fi g h < y > out 2>&1 || fail=1 test -f g || fail=1 test -f h || fail=1 compare g h || fail=1 Exit $fail ����������������coreutils-8.21/tests/mv/part-symlink.sh�������������������������������������������������������������0000775�0000000�0000000�00000017561�12102337341�015131� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure cp and mv can handle many combinations of local and # other-partition regular/symlink'd files. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ cp mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" # On NFS on Linux 2.6.9 at least we get: # mv: preserving permissions for 'rem_sl': Operation not supported require_local_dir_ pwd_tmp=$(pwd) # Unset CDPATH. Otherwise, output from the 'cd dir' command # can make this test fail. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Four cases: # local regular file w/symlink on another partition # (loc_reg, rem_sl) # (rem_sl, loc_reg) # local symlink to regular file on another partition # (loc_sl, rem_reg) # (rem_reg, loc_sl) # Exercise those four cases for each of # cp and mv, with lots of combinations of options. exec 1> actual # FIXME: This should be bigger: like more than 8k contents=XYZ loc_reg=loc_reg loc_sl=loc_sl rem_reg=$other_partition_tmpdir/rem_reg rem_sl=$other_partition_tmpdir/rem_sl for copy in cp mv; do for args in \ 'loc_reg rem_sl' \ 'rem_sl loc_reg' \ 'loc_sl rem_reg' \ 'rem_reg loc_sl' \ ; do for options in '' --rem '--rem -d' '--rem -b' -b -bd -d; do case "$options" in *d*|*--rem*) test $copy = mv && continue;; esac rm -rf dir || fail=1 rm -f "$other_partition_tmpdir"/* || fail=1 mkdir dir || fail=1 cd dir || fail=1 case "$args" in *loc_reg*) reg_abs="$(pwd)/$loc_reg" ;; esac case "$args" in *rem_reg*) reg_abs=$rem_reg ;; esac case "$args" in *loc_sl*) slink=$loc_sl ;; esac case "$args" in *rem_sl*) slink=$rem_sl ;; esac echo $contents > "$reg_abs" || fail=1 ln -nsf "$reg_abs" $slink || fail=1 actual_args=$(echo $args|sed 's,^,$,;s/ / $/') actual_args=$(eval echo $actual_args) ( ( # echo 1>&2 cp $options $args $copy $options $actual_args 2>.err copy_status=$? echo $copy_status $copy $options $args # Normalize the program name in the error output, # remove any site-dependent part of other-partition file name, # and put brackets around the output. test -s .err && { echo ' [' | tr -d '\n' sed 's/^[^:][^:]*\(..\):/\1:/;s,'"$other_partition_tmpdir/,," .err | tr -d '\n' echo ']' } # Strip off all but the file names. # Remove any site-dependent part of each file name. ls=$(ls -gG --ignore=.err . \ | sed \ -e '/^total /d' \ -e "s,$other_partition_tmpdir/,," \ -e "s,$pwd_tmp/,," \ -e 's/^[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *//') ls2=$(cd "$other_partition_tmpdir" && ls -gG --ignore=.err . \ | sed \ -e '/^total /d' \ -e "s,$other_partition_tmpdir/,," \ -e "s,$pwd_tmp/,," \ -e 's/^[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* *//') echo " ("$ls") ("$ls2")" # If the command failed, then it must not have changed the files. if test $copy_status != 0; then for f in $actual_args; do test -f $f || { echo " $copy FAILED but removed $f"; continue; } case "$(cat $f)" in "$contents") ;; *) echo " $copy FAILED but modified $f";; esac done fi if test $copy = cp; then # Make sure the original is unchanged and that # the destination is a copy. for f in $actual_args; do if test -f $f; then if test $copy_status != 0; then test fi case "$(cat $f)" in "$contents") ;; *) echo " $copy FAILED";; esac else echo " symlink-loop" fi done fi ) ) | sed 's/ *$//' cd .. done echo done done test $fail = 1 && { (exit 1); exit; } cat <<\EOF > expected 1 cp loc_reg rem_sl [cp: 'loc_reg' and 'rem_sl' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 0 cp --rem loc_reg rem_sl (loc_reg) (rem_sl) 0 cp --rem -d loc_reg rem_sl (loc_reg) (rem_sl) 0 cp --rem -b loc_reg rem_sl (loc_reg) (rem_sl rem_sl~ -> dir/loc_reg) 0 cp -b loc_reg rem_sl (loc_reg) (rem_sl rem_sl~ -> dir/loc_reg) 0 cp -bd loc_reg rem_sl (loc_reg) (rem_sl rem_sl~ -> dir/loc_reg) 1 cp -d loc_reg rem_sl [cp: 'loc_reg' and 'rem_sl' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp --rem rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp --rem -d rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp --rem -b rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp -b rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 0 cp -bd rem_sl loc_reg (loc_reg -> dir/loc_reg loc_reg~) (rem_sl -> dir/loc_reg) symlink-loop symlink-loop 1 cp -d rem_sl loc_reg [cp: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 1 cp loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 1 cp --rem loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 1 cp --rem -d loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 1 cp --rem -b loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 1 cp -b loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 0 cp -bd loc_sl rem_reg (loc_sl -> rem_reg) (rem_reg -> rem_reg rem_reg~) symlink-loop symlink-loop 1 cp -d loc_sl rem_reg [cp: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 1 cp rem_reg loc_sl [cp: 'rem_reg' and 'loc_sl' are the same file] (loc_sl -> rem_reg) (rem_reg) 0 cp --rem rem_reg loc_sl (loc_sl) (rem_reg) 0 cp --rem -d rem_reg loc_sl (loc_sl) (rem_reg) 0 cp --rem -b rem_reg loc_sl (loc_sl loc_sl~ -> rem_reg) (rem_reg) 0 cp -b rem_reg loc_sl (loc_sl loc_sl~ -> rem_reg) (rem_reg) 0 cp -bd rem_reg loc_sl (loc_sl loc_sl~ -> rem_reg) (rem_reg) 1 cp -d rem_reg loc_sl [cp: 'rem_reg' and 'loc_sl' are the same file] (loc_sl -> rem_reg) (rem_reg) 0 mv loc_reg rem_sl () (rem_sl) 0 mv -b loc_reg rem_sl () (rem_sl rem_sl~ -> dir/loc_reg) 1 mv rem_sl loc_reg [mv: 'rem_sl' and 'loc_reg' are the same file] (loc_reg) (rem_sl -> dir/loc_reg) 0 mv -b rem_sl loc_reg (loc_reg -> dir/loc_reg loc_reg~) () 1 mv loc_sl rem_reg [mv: 'loc_sl' and 'rem_reg' are the same file] (loc_sl -> rem_reg) (rem_reg) 0 mv -b loc_sl rem_reg () (rem_reg -> rem_reg rem_reg~) 0 mv rem_reg loc_sl (loc_sl) () 0 mv -b rem_reg loc_sl (loc_sl loc_sl~ -> rem_reg) () EOF # Redirect to stderr, since stdout is already taken. compare expected actual 1>&2 || fail=1 Exit $fail �����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/trailing-slash.sh�����������������������������������������������������������0000775�0000000�0000000�00000004027�12102337341�015411� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # On some operating systems, e.g. SunOS-4.1.1_U1 on sun3x, # rename() doesn't accept trailing slashes. # Also, ensure that "mv dir non-exist-dir/" works. # Also, ensure that "cp dir non-exist-dir/" works. # Copyright (C) 2004-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir foo || framework_failure_ mv foo/ bar || fail=1 # mv and cp would misbehave for coreutils versions [5.3.0..5.97], 6.0 and 6.1 for cmd in mv 'cp -r'; do for opt in '' -T -u; do rm -rf d e || framework_failure_ mkdir d || framework_failure_ $cmd $opt d e/ || fail=1 if test "$cmd" = mv; then test -d d && fail=1 else test -d d || fail=1 fi test -d e || fail=1 done done # We would like the erroneous-looking "mv any non-dir/" to fail, # but with the current implementation, it depends on how the # underlying rename syscall handles the trailing slash. # It does fail, as desired, on recent Linux and Solaris systems. #touch a a2 #mv a a2/ && fail=1 # Test for a cp-specific diagnostic introduced after coreutils-8.7: printf '%s\n' \ "cp: cannot create regular file 'no-such/': Not a directory" \ > expected-err touch b cp b no-such/ 2> err && fail=1 # Map "No such file..." diagnostic to the expected "Not a directory" sed 's/No such file or directory/Not a directory/' err > k && mv k err compare expected-err err || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/partition-perm.sh�����������������������������������������������������������0000775�0000000�0000000�00000002336�12102337341�015443� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure permissions are preserved when moving from one partition to another. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv cleanup_() { rm -rf "$other_partition_tmpdir"; } . "$abs_srcdir/tests/other-fs-tmpdir" : > file chmod a=rwx file umask 077 mv file "$other_partition_tmpdir" test -f file && fail=1 test -f "$other_partition_tmpdir/file" || fail=1 # This would have failed with the mv from fileutils-4.0i. mode=$(ls -l "$other_partition_tmpdir/file" | cut -b-10) test "$mode" = "-rwxrwxrwx" || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/backup-dir.sh���������������������������������������������������������������0000775�0000000�0000000�00000002153�12102337341�014507� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure "mv --verbose --backup" works the same for dirs and non-dirs. # Copyright (C) 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv mkdir A B || framework_failure_ touch X Y || framework_failure_ # Before coreutils-6.2, the " (backup: 'B.~1~')" suffix was not printed. mv --verbose --backup=numbered -T A B > out || fail=1 cat <<\EOF > exp || fail=1 'A' -> 'B' (backup: 'B.~1~') EOF compare exp out || fail=1 Exit $fail ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/mv/i-4.sh����������������������������������������������������������������������0000775�0000000�0000000�00000002656�12102337341�013067� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # make sure 'mv -i a b' does its job with a positive response # Copyright (C) 2001-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv for i in a b; do echo $i > $i || framework_failure_ done echo y > y || framework_failure_ mv -i a b < y >/dev/null 2>&1 || fail=1 # Make sure out contains the prompt. case "$(cat b)" in a) ;; *) fail=1 ;; esac # Ensure that mv -i a b works properly with 'n' and 'y' # responses, even when a and b are hard links to the same file. # This 'n' test would fail (no prompt) for coreutils-5.0.1 through 5.3.0. echo n > n rm -f a b echo a > a ln a b mv -i a b < n >/dev/null 2>&1 || fail=1 test -r a || fail=1 test -r b || fail=1 mv -i a b < y >/dev/null 2>&1 || fail=1 test -r a && fail=1 test -r b || fail=1 Exit $fail ����������������������������������������������������������������������������������coreutils-8.21/tests/dd/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207525�012160� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/direct.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002226�12102337340�013705� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # ensure that dd's oflag=direct works # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd truncate -s 8192 in || framework_failure_ dd if=in oflag=direct of=out 2> /dev/null \ || skip_ 'this file system lacks support for O_DIRECT' truncate -s 511 short || framework_failure_ truncate -s 8191 m1 || framework_failure_ truncate -s 8193 p1 || framework_failure_ for i in short m1 p1; do rm -f out dd if=$i oflag=direct of=out || fail=1 done Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/reblock.sh������������������������������������������������������������������0000775�0000000�0000000�00000003764�12102337340�014064� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test dd reblocking vs. bs= # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd # 2 short reads -> 1 full write + 1 partial write cat <<\EOF > exp-reblock || framework_failure_ 0+2 records in 1+1 records out 4 bytes (4 B) copied EOF # 2 short reads -> 2 partial writes cat <<\EOF > exp-no-reblock || framework_failure_ 0+2 records in 0+2 records out 4 bytes (4 B) copied EOF # Use a fifo rather than a pipe in the tests below # so that the producer (printf subshell) will wait # until the consumer (dd) opens the fifo therefore # increasing the chance that dd will read the data # from each printf separately. mkfifo_or_skip_ dd.fifo dd_reblock_1() { local delay="$1" # ensure that dd reblocks when bs= is not specified dd ibs=3 obs=3 if=dd.fifo > out 2> err& (printf 'ab'; sleep $delay; printf 'cd') > dd.fifo wait #for dd to complete sed 's/,.*//' err > k && mv k err compare exp-reblock err } retry_delay_ dd_reblock_1 .1 6 || fail=1 dd_reblock_2() { local delay="$1" # Demonstrate that bs=N supersedes even following ibs= and obs= settings. dd bs=3 ibs=1 obs=1 if=dd.fifo > out 2> err& (printf 'ab'; sleep $delay; printf 'cd') > dd.fifo wait #for dd to complete sed 's/,.*//' err > k && mv k err compare exp-no-reblock err } retry_delay_ dd_reblock_2 .1 6 || fail=1 Exit $fail ������������coreutils-8.21/tests/dd/skip-seek2.sh���������������������������������������������������������������0000775�0000000�0000000�00000002342�12102337340�014407� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # show how to skip an amount that is smaller than the nominal block size. # There's a more realistic example in the documentation. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd echo LA:3456789abcdef > in || fail=1 (dd bs=1 skip=3 count=0 && dd bs=5) < in > out 2> /dev/null || fail=1 case $(cat out) in 3456789abcdef) ;; *) fail=1 ;; esac echo LA:3456789abcdef > in || fail=1 (dd bs=1 skip=3 count=0 && dd bs=5 count=2) < in > out 2> /dev/null || fail=1 case $(cat out) in 3456789abc) ;; *) fail=1 ;; esac Exit $fail ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/bytes.sh��������������������������������������������������������������������0000775�0000000�0000000�00000003234�12102337340�013561� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd # count_bytes echo 0123456789abcdefghijklm > in || framework_failure_ dd count=14 conv=swab iflag=count_bytes < in > out 2> /dev/null || fail=1 case $(cat out) in 1032547698badc) ;; *) fail=1 ;; esac # skip_bytes echo 0123456789abcdefghijklm > in || framework_failure_ dd skip=10 iflag=skip_bytes < in > out 2> /dev/null || fail=1 case $(cat out) in abcdefghijklm) ;; *) fail=1 ;; esac # skip records and bytes from pipe echo 0123456789abcdefghijklm | dd skip=10 bs=2 iflag=skip_bytes > out 2> /dev/null || fail=1 case $(cat out) in abcdefghijklm) ;; *) fail=1 ;; esac # seek bytes echo abcdefghijklm | dd bs=5 seek=8 oflag=seek_bytes > out 2> /dev/null || fail=1 printf '\0\0\0\0\0\0\0\0abcdefghijklm\n' > expected compare expected out || fail=1 # Just truncation, no I/O dd bs=5 seek=8 oflag=seek_bytes of=out2 count=0 2> /dev/null || fail=1 truncate -s8 expected2 compare expected2 out2 || fail=1 Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/skip-seek-past-dev.sh�������������������������������������������������������0000775�0000000�0000000�00000003642�12102337340�016052� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test diagnostics are printed immediately when seeking beyond device. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd # need write access to local device # (even though we don't actually write anything) require_root_ require_local_dir_ get_device_size() { BLOCKDEV=blockdev $BLOCKDEV -V >/dev/null 2>&1 || BLOCKDEV=/sbin/blockdev $BLOCKDEV --getsize64 "$1" } # Get path to device the current dir is on. # Note df can only get fs size, not device size. device=$(df -P . | tail -n1 | cut -d' ' -f1) || framework_failure_ dev_size=$(get_device_size "$device") || skip_ "failed to determine size of $device" # Don't use shell arithmetic as older versions of dash use longs DEV_OFLOW=$(expr $dev_size + 1) timeout 10 dd bs=1 skip=$DEV_OFLOW count=0 status=noxfer < "$device" 2> err test "$?" = "1" || fail=1 echo "dd: 'standard input': cannot skip: Invalid argument 0+0 records in 0+0 records out" > err_ok || framework_failure_ compare err_ok err || fail=1 timeout 10 dd bs=1 seek=$DEV_OFLOW count=0 status=noxfer > "$device" 2> err test "$?" = "1" || fail=1 echo "dd: 'standard output': cannot seek: Invalid argument 0+0 records in 0+0 records out" > err_ok || framework_failure_ compare err_ok err || fail=1 Exit $fail ����������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/sparse.sh�������������������������������������������������������������������0000775�0000000�0000000�00000004654�12102337340�013737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd require_sparse_support_ # Ensure basic sparse generation works truncate -s1M sparse dd bs=32K if=sparse of=sparse.dd conv=sparse test $(stat -c %s sparse) = $(stat -c %s sparse.dd) || fail=1 # Demonstrate that conv=sparse with oflag=append, # will do ineffective seeks in the output printf 'a\000\000b' > file.in printf 'ab' > exp dd if=file.in bs=1 conv=sparse oflag=append > out compare exp out || fail=1 # Demonstrate conv=sparse with conv=notrunc, # where data in file.out is not overwritten with NULs printf '____' > out printf 'a__b' > exp dd if=file.in bs=1 conv=sparse,notrunc of=out compare exp out || fail=1 # Ensure we fall back to write if seek fails dd if=file.in bs=1 conv=sparse | cat > file.out cmp file.in file.out || fail=1 # Setup for block size tests: create a 3MiB file with a 1MiB # stretch of NUL bytes in the middle. rm -f file.in dd if=/dev/urandom of=file.in bs=1M count=3 iflag=fullblock || fail=1 dd if=/dev/zero of=file.in bs=1M count=1 seek=1 conv=notrunc || fail=1 kb_alloc() { du -k "$1"|cut -f1; } # If our just-created input file appears to be too small, # skip the remaining tests. On at least Solaris 10 with NFS, # file.in is reported to occupy <= 1KiB for about 50 seconds # after its creation. if test $(kb_alloc file.in) -gt 3000; then # Ensure NUL blocks smaller than the block size are not made sparse. # Here, with a 2MiB block size, dd's conv=sparse must *not* introduce a hole. dd if=file.in of=file.out bs=2M conv=sparse test 2500 -lt $(kb_alloc file.out) || fail=1 # Ensure that this 1MiB string of NULs *is* converted to a hole. dd if=file.in of=file.out bs=1M conv=sparse test $(kb_alloc file.out) -lt 2500 || fail=1 fi Exit $fail ������������������������������������������������������������������������������������coreutils-8.21/tests/dd/unblock-sync.sh�������������������������������������������������������������0000775�0000000�0000000�00000001770�12102337340�015045� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure that dd conv=unblock,sync works. # Copyright (C) 2003-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd printf 000100020003xx > in || framework_failure_ dd cbs=4 ibs=4 conv=unblock,sync < in > out 2> /dev/null || fail=1 cat <<\EOF > exp || fail=1 0001 0002 0003 xx EOF compare exp out || fail=1 Exit $fail ��������coreutils-8.21/tests/dd/skip-seek-past-file.sh������������������������������������������������������0000775�0000000�0000000�00000006366�12102337340�016221� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # test diagnostics are printed when seeking too far in seekable files. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd require_sparse_support_ # for 'truncate --size=$OFF_T_MAX' eval $(getlimits) # for OFF_T limits printf "1234" > file || framework_failure_ echo "\ dd: 'standard input': cannot skip to specified offset 0+0 records in 0+0 records out" > skip_err || framework_failure_ # skipping beyond number of blocks in file should issue a warning dd bs=1 skip=5 count=0 status=noxfer < file 2> err || fail=1 compare skip_err err || fail=1 # skipping beyond number of bytes in file should issue a warning dd bs=3 skip=2 count=0 status=noxfer < file 2> err || fail=1 compare skip_err err || fail=1 # skipping beyond number of blocks in pipe should issue a warning cat file | dd bs=1 skip=5 count=0 status=noxfer 2> err || fail=1 compare skip_err err || fail=1 # skipping beyond number of bytes in pipe should issue a warning cat file | dd bs=3 skip=2 count=0 status=noxfer 2> err || fail=1 compare skip_err err || fail=1 # Check seeking beyond file already offset into # skipping beyond number of blocks in file should issue a warning (dd bs=1 skip=1 count=0 2>/dev/null && dd bs=1 skip=4 status=noxfer 2> err) < file || fail=1 compare skip_err err || fail=1 # Check seeking beyond file already offset into # skipping beyond number of bytes in file should issue a warning (dd bs=1 skip=1 count=0 2>/dev/null && dd bs=2 skip=2 status=noxfer 2> err) < file || fail=1 compare skip_err err || fail=1 # seeking beyond end of file is OK dd bs=1 seek=5 count=0 status=noxfer > file 2> err || fail=1 echo "0+0 records in 0+0 records out" > err_ok || framework_failure_ compare err_ok err || fail=1 # skipping > OFF_T_MAX should fail immediately dd bs=1 skip=$OFF_T_OFLOW count=0 status=noxfer < file 2> err && fail=1 # error message should be "... cannot skip: strerror(EOVERFLOW)" grep "cannot skip:" err >/dev/null || fail=1 # skipping > max file size should fail immediately if ! truncate --size=$OFF_T_MAX in 2>/dev/null; then # truncate is to ensure file system doesn't actually support OFF_T_MAX files dd bs=1 skip=$OFF_T_MAX count=0 status=noxfer < file 2> err \ && lseek_ok=yes \ || lseek_ok=no if test $lseek_ok = yes; then # On Solaris 10 at least, lseek(>max file size) succeeds, # so just check for the skip warning. compare skip_err err || fail=1 else # On Linux kernels at least, lseek(>max file size) fails. # error message should be "... cannot skip: strerror(EINVAL)" grep "cannot skip:" err >/dev/null || fail=1 fi fi Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/not-rewound.sh��������������������������������������������������������������0000775�0000000�0000000�00000001756�12102337340�014723� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Make sure dd does the right thing when the input file descriptor # is not rewound. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd echo abcde > in (dd skip=1 count=1 bs=1; dd skip=1 bs=1) < in > out 2> /dev/null || fail=1 case $(cat out) in bde) ;; *) fail=1 ;; esac Exit $fail ������������������coreutils-8.21/tests/dd/nocache.sh������������������������������������������������������������������0000775�0000000�0000000�00000004014�12102337340�014030� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure dd handles the 'nocache' flag # Copyright (C) 2011-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd # This should not call posix_fadvise dd iflag=nocache oflag=nocache if=/dev/null of=/dev/null || fail=1 # We should get an error for trying to process a pipe dd count=0 | dd iflag=nocache count=0 && fail=1 # O_DIRECT is orthogonal to drop cache so mutually exclusive dd iflag=nocache,direct if=/dev/null && fail=1 # The rest ensure that the documented uses cases # proceed without error for f in ifile ofile; do dd if=/dev/zero of=$f conv=fdatasync count=100 || framework_failure_ done # Advise to drop cache for whole file if ! dd if=ifile iflag=nocache count=0 2>err; then # We could check for 'Operation not supported' in err here, # but that was seen to be brittle. HPUX returns ENOTTY for example. # So assume that if this basic operation fails, it's due to lack # of support by the system. warn_ 'skipping part; this file system lacks support for posix_fadvise()' skip=1 fi if test "$skip" != 1; then # Ensure drop cache for whole file dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0 || fail=1 # Drop cache for part of file dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null || fail=1 # Stream data just using readahead cache dd if=ifile of=ofile iflag=nocache oflag=nocache || fail=1 fi Exit $fail ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/stderr.sh�������������������������������������������������������������������0000775�0000000�0000000�00000002730�12102337340�013736� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure dd recognizes failure to write to stderr. # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd p=$abs_top_builddir # Ensure this exits successfully, even though stderr is closed, # because it generates no stderr output. dd --help >/dev/null 2>&- || fail=1 # If 2>&- works, ensure this fails, because stderr is closed and it # *does* generate output. 2>&- apparently does not work in HP-UX 11.23. # This test is ineffective unless /dev/stderr also works. # This exposes a failure present in 6.11 through 7.5. if "$p/src/test" -w /dev/stderr 2>/dev/null && "$p/src/test" ! -w /dev/stderr 2>&-; then : | dd 2>&- && fail=1 fi # Likewise for /dev/full, if /dev/full works. if test -w /dev/full && test -c /dev/full; then : | dd 2>/dev/full && fail=1 fi Exit $fail ����������������������������������������coreutils-8.21/tests/dd/misc.sh���������������������������������������������������������������������0000775�0000000�0000000�00000006441�12102337340�013371� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Ensure dd treats '--' properly. # Also test some flag values. # Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ dd tmp_in=dd-in tmp_in2=dd-in2 tmp_sym=dd-sym tmp_out=dd-out warn=0 echo data > $tmp_in || framework_failure_ ln $tmp_in $tmp_in2 || framework_failure_ ln -s $tmp_in $tmp_sym || framework_failure_ # check status=none suppresses all output to stderr dd status=none if=$tmp_in of=/dev/null 2> err || fail=1 test -s err && fail=1 # check status=none is cumulative with status=noxfer dd status=none status=noxfer if=$tmp_in of=/dev/null 2> err || fail=1 test -s err && fail=1 dd if=$tmp_in of=$tmp_out 2> /dev/null || fail=1 compare $tmp_in $tmp_out || fail=1 rm $tmp_out dd -- if=$tmp_in of=$tmp_out 2> /dev/null || fail=1 compare $tmp_in $tmp_out || fail=1 if dd oflag=append if=$tmp_in of=$tmp_out 2> /dev/null; then compare $tmp_in $tmp_out || fail=1 fi case $(cat /dev/stdin <$tmp_in 2>/dev/null) in (data) rm -f $tmp_out dd if=/dev/stdin of=$tmp_out <$tmp_in || fail=1 compare $tmp_in $tmp_out || fail=1 esac if dd iflag=nofollow if=$tmp_in count=0 2> /dev/null; then dd iflag=nofollow if=$tmp_sym count=0 2> /dev/null && fail=1 fi if dd iflag=directory if=. count=0 2> /dev/null; then dd iflag=directory count=0 <. 2> /dev/null || fail=1 dd iflag=directory count=0 <$tmp_in 2> /dev/null && fail=1 fi old_ls=$(ls -u --full-time $tmp_in) sleep 1 if dd iflag=noatime if=$tmp_in of=$tmp_out 2> /dev/null; then new_ls=$(ls -u --full-time $tmp_in) if test "x$old_ls" != "x$new_ls"; then cat >&2 <<EOF ================================================================= $0: WARNING!!! This operating system has the O_NOATIME file status flag, but it is silently ignored in some cases. Therefore, dd options like iflag=noatime may be silently ignored. ================================================================= EOF warn=77 fi fi if dd oflag=nolinks if=$tmp_in of=$tmp_out 2> /dev/null; then dd iflag=nolinks if=$tmp_in > /dev/null 2>&1 && fail=1 dd iflag=nolinks < $tmp_in > /dev/null 2>&1 && fail=1 dd oflag=nolinks < $tmp_in > $tmp_out 2>&1 || fail=1 fi outbytes=$(echo x | dd bs=3 ibs=10 obs=10 conv=sync 2>/dev/null | wc -c) test "$outbytes" -eq 3 || fail=1 # A delay is required to trigger a failure. # There might be some missed failures but it's unlikely. (echo a; sleep .1; echo b) \ | env LC_ALL=C dd bs=4 status=noxfer iflag=fullblock >out 2>err || fail=1 printf 'a\nb\n' > out_ok || framework_failure_ echo "1+0 records in 1+0 records out" > err_ok || framework_failure_ compare out_ok out || fail=1 compare err_ok err || fail=1 test $fail -eq 0 && fail=$warn Exit $fail �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/skip-seek.pl����������������������������������������������������������������0000775�0000000�0000000�00000005015�12102337340�014326� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test dd's skip and seek options. # Copyright (C) 2000-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $out = 'out'; my @Tests = ( [ 'sk-seek1', qw (bs=1 skip=1 seek=2 conv=notrunc count=3 status=noxfer of=@AUX@ < ), {IN=> '0123456789abcdef'}, {AUX=> 'zyxwvutsrqponmlkji'}, {OUT=> ''}, {ERR=> "3+0 records in\n3+0 records out\n"}, {CMP=> ['zy123utsrqponmlkji', {'@AUX@'=> undef}]}, ], [ 'sk-seek2', qw (bs=5 skip=1 seek=1 conv=notrunc count=1 status=noxfer of=@AUX@ < ), {IN=> '0123456789abcdef'}, {AUX=> 'zyxwvutsrqponmlkji'}, {OUT=> ''}, {ERR=> "1+0 records in\n1+0 records out\n"}, {CMP=> ['zyxwv56789ponmlkji', {'@AUX@'=> undef}]}, ], [ 'sk-seek3', qw (bs=5 skip=1 seek=1 count=1 status=noxfer of=@AUX@ < ), {IN=> '0123456789abcdef'}, {AUX=> 'zyxwvutsrqponmlkji'}, {OUT=> ''}, {ERR=> "1+0 records in\n1+0 records out\n"}, {CMP=> ['zyxwv56789', {'@AUX@'=> undef}]}, ], [ # Before fileutils-4.0.45, the last 10 bytes of output # were these "\0\0\0\0\0\0\0\0 ". 'block-sync-1', qw(ibs=10 cbs=10 status=noxfer), 'conv=block,sync', '<', {IN=> "01234567\nabcdefghijkl\n"}, {OUT=> "01234567 abcdefghij "}, {ERR=> "2+1 records in\n0+1 records out\n1 truncated record\n"}, ], [ # Before coreutils-5.93, this would output just "c\n". 'sk-seek4', qw(bs=1 skip=1 status=noxfer), {IN_PIPE=> "abc\n"}, {OUT=> "bc\n"}, {ERR=> "3+0 records in\n3+0 records out\n"}, ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'dd'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/dd/unblock.pl������������������������������������������������������������������0000775�0000000�0000000�00000003276�12102337340�014077� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Exercise dd's conv=unblock mode # Copyright (C) 2009-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $out = 'out'; my @t = ( # An empty test name signals that these are the arguments to use for the # following tests. ['', [qw (cbs=3 conv=unblock status=noxfer < )]], ['0', '', ''], ['1', "a\n ", "a\n\n\n"], ['2', "a\n ", "a\n\n"], ['3', "a ", "a\n"], ['4', "a \n ", "a \n\n\n"], ['5', "a \n", "a \n\n"], ['6', "a ", "a\n\n"], ['7', "a \n", "a\n\n\n"], ); my @Tests; my $args; foreach my $t (@t) { $t->[0] eq '' and $args = $t->[1], next; push @Tests, [$t->[0], @$args, {IN=>$t->[1]}, {OUT=>$t->[2]}, {ERR_SUBST=>'s/^\d+\+\d+ records (?:in|out)$//'}, {ERR=>"\n\n"}]; } my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = 'dd'; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/GNUmakefile��������������������������������������������������������������������0000664�0000000�0000000�00000001071�12050450172�013555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Provide a compatibility layer so that the commands used before the # conversion of tests/ to non-recursive make still work. To do that, we # must rerun the "make check" from the parent, and with tests/ prefixed # onto any TESTS values. The SUBDIRS=. is to prevent the top-level check # rules from descending into e.g., gnulib-test/. .PHONY: all all: @echo 'tests/GNUmakefile: did you mean to make "check"?' 1>&2 @exit 1 ifeq ($(TESTS),) tests = else tests = TESTS=$(addprefix tests/,$(TESTS)) endif .PHONY: check check: cd .. && $(MAKE) $@ $(tests) SUBDIRS=. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/lang-default�������������������������������������������������������������������0000664�0000000�0000000�00000000506�11624727241�014005� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Set locale-related environment variables so we get consistent # message translations, time formats, sort orderings, etc. LC_ALL=C export LC_ALL unset LANGUAGE NLSPATH # These settings shouldn't matter, but unset them anyway just in case. unset LANG LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/other-fs-tmpdir����������������������������������������������������������������0000664�0000000�0000000�00000003266�12102337341�014462� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Use stat to find a writable directory on a file system different from that # of the current directory. If one is found, create a temporary directory # inside it. # Copyright (C) 1998-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. test "${CANDIDATE_TMP_DIRS+set}" = set \ || CANDIDATE_TMP_DIRS="$TMPDIR /tmp /dev/shm /var/tmp /usr/tmp $HOME" other_partition_tmpdir= dot_mount_point=$(stat -c %d .) for d in $CANDIDATE_TMP_DIRS; do # Skip nonexistent directories. test -d "$d" || continue d_mount_point=$(stat -L -c %d "$d") # Same partition? Skip it. test "x$d_mount_point" = "x$dot_mount_point" && continue # See if we can create a directory in it. if mkdir "$d/tmp$$" > /dev/null 2>&1; then other_partition_tmpdir="$d/tmp$$" break fi done if test -z "$other_partition_tmpdir"; then skip_ \ "requires a writable directory on a different disk partition, and I couldn't find one. I tried these: $CANDIDATE_TMP_DIRS Set your environment variable CANDIDATE_TMP_DIRS to make this test use a different list." fi test "$VERBOSE" = yes && set -x ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207526�012213� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nJml24f-lmlmlo��������������������������������������������������������������0000664�0000000�0000000�00000013644�11624727241�014600� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1<<< -Test: FF's in Text >>> 1<<< -Test: FF's in Text >>> 1::: Test-INPUT: "Without FF set by Hand" ::: 2.2<<< -b -3 / -a -3 / ... >>> 2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 3.3<<< >>> 3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 4.4<<< 123456789 123456789 123456789 12345678 >>> 4<<< 123456789 123456789 123456789 12345678 >>> 4::: Options [+2|+3] [-l 24|17] [-f] ::: 5. 5::: ::: 6.6<<< -Arangements: One Empty Page >>> 6<<< -Arangements: One Empty Page >>> 6::: -------------------------------------------- ::: 7.7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 8.8<<< f\f\n; \f\n\f\n; >>> 8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, ...: ::: 9.9<<< >>> 9<<< >>> 9::: With columns use <= 5 text lines/page, ::: 10.10<<< >>> 10<<< >>> 10::: without -f e.g.: -l 15 = total lines/page, ::: 11.1<<< >>> 1<<< >>> 1::: with -f e.g. : -l 8 -f ::: 12.2<<< >>> 2<<< >>> 2::: ::: 13.3<<< truncation before FF; r_r_o_l-test: >>> 3<<< truncation before FF; r_r_o_l-test: >>> 3::: line truncation before new page; r_r_o_l-test: ::: 14.14<<< 123456789 123456789 123456789 >>> 14<<< 123456789 123456789 123456789 >>> 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 2 15. 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16. 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 17. 7::: 12345678 ::: 18. 8::: 12345678 ::: 19. 9::: 3456789 ab ::: 20. 20::: DEFGHI 123 ::: 21. 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 22. 2::: 12345678 ::: 23. 3::: 12345678 ::: 24. 4::: 12345678 ::: 25. 5::: 12345678 ::: 26. 6::: 12345678 ::: 27. 27::: no truncation before nwe page; (r_l-test): ::: 28. 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 3 29.15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 30.16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 31.7<<< >>> 7<<< >>> 1::: 12345678 ::: 32.8<<< >>> 8<<< >>> 2::: 3456789 abcdefghi ::: 33.9<<< >>> 9<<< >>> 3::: 12345678 ::: 34.20<<< >>> 20<<< >>> 4::: 12345678 ::: 35.1<<< >>> 1<<< >>> 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 36. 6::: 12345678 ::: 37. 7::: 12345678 ::: 38.4<<< >>> 4<<< >>> 8::: 12345678 ::: 39.5<<< >>> 5<<< >>> 9::: 3456789 abcdefghi ::: 40.6<<< >>> 6<<< >>> 40::: DEFGHI 123456789 ::: 41.27<<< truncation before FF; (r_l-test): >>> 27<<< truncation before FF; (r_l-test): >>> 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 42.28<<< trunc 28<<< trunc 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 4 43. 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44. 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 45. 5::: 12345678 ::: 46. 6::: 12345678 ::: 47. 7::: 12345678 ::: 48. 8::: 12345678 ::: 49. 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50. 50::: 12345678 ::: 51. 1::: 12345678 ::: 52. 2::: 12345678 ::: 53. 3::: 12345678 ::: 54. 4::: 12345678 ::: 55. 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56. 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 5 57.29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 58.30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 59.1<<< >>> 1<<< >>> 9::: 12345678 ::: 60.2<<< abcdefghi >>> 2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 61.3<<< >>> 3<<< >>> 1::: ::: 62.4<<< >>> 4<<< >>> 2::: ::: 63.5<<< >>> 5<<< >>> 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: 64.6<<< >>> 6<<< >>> 65.7<<< >>> 7<<< >>> 66.8<<< >>> 8<<< >>> 67.9<<< abcdefghi >>> 9<<< abcdefghi >>> 68.40<<< 123456789 >>> 40<<< 123456789 >>> 69.41<<< XYZXYZXYZ abcabcab >>> 41<<< XYZXYZXYZ abcabcab >>> 70.42<<< 123456789 abcdefghi ABCDEDFHI >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71.43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 72.44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 73.5<<< >>> 5<<< >>> 74.6<<< >>> 6<<< >>> 75.7<<< >>> 7<<< >>> 76.8<<< >>> 8<<< >>> 77.9<<< >>> 9<<< >>> 78.50<<< >>> 50<<< >>> 79.1<<< >>> 1<<< >>> 80.2<<< >>> 2<<< >>> 81.3<<< >>> 3<<< >>> 82.4<<< >>> 4<<< >>> 83.55<<< XYZXYZXYZ abcabcab >>> 55<<< XYZXYZXYZ abcabcab >>> 84.56<<< 123456789 abcdefghi ABCDEDFHI >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 85.57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 86.58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 87.9<<< >>> 9<<< >>> 88.60<<< 123456789 >>> 60<<< 123456789 >>> ��������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn_2e8S-t_tab���������������������������������������������������������������0000664�0000000�0000000�00000000152�11624727241�014371� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1:aaa abcde fg---- 3:ccc abcde fg 2:bbb abcde fg---- 4:ddd abcde fg ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3f-FF����������������������������������������������������������������������0000664�0000000�0000000�00000002727�11624727241�013035� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Te 6 FF-Arangements: One 1 2 Options -b -3 / -a 7 text\f\f\n; text\f\ 2 3 ------------------- 8 \f\f\n; \f\n\f\n; 3 line truncation befor 4 3456789 123456789 123 9 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 30 456789 123456789 xyz 5 40 DEFGHI 123456789 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ 8 3 44 456789 123456789 xyz 9 4 5 50 55 yzxyzxyz XYZXYZXYZ a 6 1 56 456789 123456789 abc 7 2 -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789 58 456789 123456789 xyz �����������������������������������������coreutils-8.21/tests/pr/W35a3l24f-lm����������������������������������������������������������������0000664�0000000�0000000�00000001774�11624727241�013773� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test 2<<< -b -3 3<<< >>> 4<<< 12345 6<<< -Aran 7<<< \f\f\ 8<<< f\f\n 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< trunc 14<<< 1234 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzx 16<<< 1234 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< trun 28<<< trun -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyz 30<<< 1234 1<<< >>> 2<<< abcde 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcde 40<<< 1234 41<<< XYZX 42<<< 1234 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzx 44<<< 1234 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZX 56<<< 1234 -- Date/Time -- x Page 9 57<<< xyzx 58<<< 1234 9<<< >>> 60<<< 1234 ����coreutils-8.21/tests/pr/ml24f-lm-lo�����������������������������������������������������������������0000664�0000000�0000000�00000007756�11624727241�014043� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text 1::: Test-INPUT: "Without FF set b 2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15| 3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15| 4<<< 123456789 123456789 123456789 4::: Options [+2|+3] [-l 24| 5::: ::: 6<<< -Arangements: One Empty Page 6::: ----------------------------- 7<<< \f\f\n; text\f\n\ftext; \f\ft 7::: 789 123456789 123456789 12345 8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, 9<<< >>> 9::: With columns use <= 5 text l 10<<< >>> 10::: without -f e.g.: -l 15 = to 1<<< >>> 1::: with -f e.g. : -l 8 -f :: 2<<< >>> 2::: ::: 3<<< truncation before FF; r_r_o_l 3::: line truncation before new pa 14<<< 123456789 123456789 12345678 14::: 89 123456789 123456789 12345 -- Date/Time -- x Page 2 15::: xyzxyzxyz XYZXYZXYZ abcabcab 16::: 456789 123456789 xyzxyzxyz X 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 ab ::: 20::: DEFGHI 123 ::: 21::: 89 123456789 123456789 12345 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 5::: 12345678 ::: 6::: 12345678 ::: 27::: no truncation before nwe pag 28::: 89 123456789 123456789 12345 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab 29::: xyzxyzxyz XYZXYZXYZ abcabcab 16<<< 123456789 xyzxyzxyz XYZXYZXY 30::: 456789 123456789 xyzxyzxyz X 7<<< >>> 1::: 12345678 ::: 8<<< >>> 2::: 3456789 abcdefghi ::: 9<<< >>> 3::: 12345678 ::: 20<<< >>> 4::: 12345678 ::: 1<<< >>> 35::: 89 123456789 123456789 12345 6::: 12345678 ::: 7::: 12345678 ::: 4<<< >>> 8::: 12345678 ::: 5<<< >>> 9::: 3456789 abcdefghi ::: 6<<< >>> 40::: DEFGHI 123456789 ::: 27<<< truncation before FF; (r_l-t 41::: yzxyzxyz XYZXYZXYZ abcabcab 28<<< trunc 42::: 89 123456789 123456789 12345 -- Date/Time -- x Page 4 43::: xyzxyzxyz XYZXYZXYZ abcabcab 44::: 456789 123456789 xyzxyzxyz X 5::: 12345678 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 49::: 89 123456789 123456789 12345 50::: 12345678 ::: 1::: 12345678 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 55::: yzxyzxyz XYZXYZXYZ abcabcab 56::: 89 123456789 123456789 12345 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab 57::: xyzxyzxyz XYZXYZXYZ abcabcab 30<<< 123456789 xyzxyzxyz XYZXYZXY 58::: 456789 123456789 xyzxyzxyz X 1<<< >>> 9::: 12345678 ::: 2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 3<<< >>> 1::: ::: 4<<< >>> 2::: ::: 5<<< >>> 3::: ------- EOF -------- EOF ---- 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFH -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab 44<<< 123456789 xyzxyzxyz XYZXYZXY 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFH -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab 58<<< 123456789 xyzxyzxyz XYZXYZXY 9<<< >>> 60<<< 123456789 >>> ������������������coreutils-8.21/tests/pr/ml24-t-FF�������������������������������������������������������������������0000664�0000000�0000000�00000006404�11624727241�013376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by 1 FF-Test: FF's in Text 2 Options -b -3 [+2|+3] [-l 15|8] 2 Options -b -3 / -a -3 / ... 3 Options -a -3 [+2|+3] [-l 15|8] 3 ------------------------------- 4 Options [+2|+3] [-l 24|17 4 3456789 123456789 123456789 12345 5 5 3 Columns downwards ..., <= 5 l 6 ------------------------------- 6 FF-Arangements: One Empty Page 7 3456789 123456789 123456789 12345 7 text\f\f\n; text\f\n\ftext; \f\ 8 3 Columns downwards, across, .. 8 \f\f\n; \f\n\f\n; 9 With columns use <= 5 text lin 9 10 without -f e.g.: -l 15 = total 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 1 with -f e.g. : -l 8 -f 1 2 2 3 line truncation before new page; 3 line truncation before FF; r_r_o_ 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before nwe page; ( 28 no trunc -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 1 7 2 3456789 abcdefghi 8 3 9 3456789 ab 4 20 DEFGHI 123 5 1 6 2 7 3 8 4 9 3456789 abcdefghi 5 40 DEFGHI 123456789 6 41 yzxyzxyz XYZXYZXYZ abcabcab 27 no truncation before FF; (r_l-te 42 456789 123456789 abcdefghi ABCDE 28 no trunc -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 9 1 60 DEFGHI 123456789 2 3456789 abcdefghi 1 3 2 4 3 ------- EOF -------- EOF ------- 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3-7l24-FF�����������������������������������������������������������������0000664�0000000�0000000�00000003166�11624727241�013442� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22.2 12345678 23.3 12345678 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28.28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 34.4 12345678 35.5 12345678 36.6 12345678 37.7 12345678 38.8 12345678 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a3l15f-t��������������������������������������������������������������������0000664�0000000�0000000�00000002315�11624727241�013317� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 2 Options -b -3 [+2|+ 3 Options -a -3 [+2|+ 4 Options [+2|+ 5 6 ------------------- 7 3456789 123456789 123 8 3 Columns downwards 9 With columns use < 10 without -f e.g.: - 1 with -f e.g. : - 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ -- Date/Time -- x Page 2 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz -- Date/Time -- x Page 3 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 -- Date/Time -- x Page 4 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W35ml24f-lm-lo��������������������������������������������������������������0000664�0000000�0000000�00000004551�11624727241�014330� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's 1::: Test-INPUT: 2<<< -b -3 / -a 2::: Options -b 3<<< >>> 3::: Options -a 4<<< 123456789 1 4::: Options 5::: ::: 6<<< -Arangement 6::: ----------- 7<<< \f\f\n; tex 7::: 789 1234567 8<<< f\f\n; \f\n 8::: 3 Columns d 9<<< >>> 9::: With column 10<<< >>> 10::: without -f 1<<< >>> 1::: with -f e.g 2<<< >>> 2::: ::: 3<<< truncation 3::: line trunca 14<<< 123456789 14::: 89 1234567 -- Date/Time -- x Page 2 15::: xyzxyzxyz 16::: 456789 123 7::: 12345678 : 8::: 12345678 : 9::: 3456789 ab 20::: DEFGHI 123 21::: 89 1234567 2::: 12345678 : 3::: 12345678 : 4::: 12345678 : 5::: 12345678 : 6::: 12345678 : 27::: no truncat 28::: 89 1234567 -- Date/Time -- x Page 3 15<<< xyzxyzxyz 29::: xyzxyzxyz 16<<< 123456789 30::: 456789 123 7<<< >>> 1::: 12345678 : 8<<< >>> 2::: 3456789 abc 9<<< >>> 3::: 12345678 : 20<<< >>> 4::: 12345678 : 1<<< >>> 35::: 89 1234567 6::: 12345678 : 7::: 12345678 : 4<<< >>> 8::: 12345678 : 5<<< >>> 9::: 3456789 abc 6<<< >>> 40::: DEFGHI 123 27<<< truncation 41::: yzxyzxyz X 28<<< trunc 42::: 89 1234567 -- Date/Time -- x Page 4 43::: xyzxyzxyz 44::: 456789 123 5::: 12345678 : 6::: 12345678 : 7::: 12345678 : 8::: 12345678 : 49::: 89 1234567 50::: 12345678 1::: 12345678 : 2::: 12345678 : 3::: 12345678 : 4::: 12345678 : 55::: yzxyzxyz X 56::: 89 1234567 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XY 57::: xyzxyzxyz 30<<< 123456789 58::: 456789 123 1<<< >>> 9::: 12345678 : 2<<< abcdefghi 60::: DEFGHI 123 3<<< >>> 1::: ::: 4<<< >>> 2::: ::: 5<<< >>> 3::: ------- EOF 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi 40<<< 123456789 41<<< XYZXYZXYZ 42<<< 123456789 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz 44<<< 123456789 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ 56<<< 123456789 -- Date/Time -- x Page 9 57<<< xyzxyzxyz 58<<< 123456789 9<<< >>> 60<<< 123456789 �������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3l15f-t��������������������������������������������������������������������0000664�0000000�0000000�00000002330�11624727241�013315� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 6 ------------------- 1 with -f e.g. : - 2 Options -b -3 [+2|+ 7 3456789 123456789 123 2 3 Options -a -3 [+2|+ 8 3 Columns downwards 3 line truncation befor 4 Options [+2|+ 9 With columns use < 14 456789 123456789 123 5 10 without -f e.g.: - 15 xyzxyzxyz XYZXYZXYZ -- Date/Time -- x Page 2 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 30 456789 123456789 xyz -- Date/Time -- x Page 3 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 44 456789 123456789 xyz 5 40 DEFGHI 123456789 5 -- Date/Time -- x Page 4 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 8 3 58 456789 123456789 xyz 9 4 9 50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/FFtn������������������������������������������������������������������������0000664�0000000�0000000�00000004572�11624727241�012727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3b3l15-t��������������������������������������������������������������������0000664�0000000�0000000�00000001155�11624727241�013236� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 44 456789 123456789 xyz 5 40 DEFGHI 123456789 5 -- Date/Time -- x Page 4 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 8 3 58 456789 123456789 xyz 9 4 9 50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn��������������������������������������������������������������������������0000664�0000000�0000000�00000004623�11624727241�012510� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 Test-INPUT: "Without FF set by Hand" V 2 Options -b -3 [+2|+3] [-l 15|8] [-f] 3 Options -a -3 [+2|+3] [-l 15|8] [-f] 4 Options [+2|+3] [-l 24|17] [-f] 5 6 -------------------------------------------- 7 3456789 123456789 123456789 123456789 12345678 8 3 Columns downwards, across, ...: 9 With columns use <= 5 text lines/page, 10 without -f e.g.: -l 15 = total lines/page, 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before nwe page; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- �������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3l24f-0FF�����������������������������������������������������������������0000664�0000000�0000000�00000003352�11624727241�013521� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1.1 FF-Test: FF's at Start of File V 2.2 Options -b -3 / -a -3 / ... 3.3 -------------------------------------------- 4.4 3456789 123456789 123456789 123456789 12345678 5.5 3 Columns downwards ..., <= 5 lines per page 6.6 FF-Arangements: Empty Pages at start 7.7 \ftext; \f\ntext; 8.8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9.9 3456789 123456789 123456789 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 11.1 12345678 12.2 12345678 13.3 line truncation before FF; r_r_o_l-test: 14.14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22.2 12345678 23.3 12345678 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28.28 no trunc -- Date/Time -- x Page 6 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml24f-t-0F������������������������������������������������������������������0000664�0000000�0000000�00000004566�11624727241�013525� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by 2 Options -b -3 [+2|+3] [-l 15|8] 3 Options -a -3 [+2|+3] [-l 15|8] 4 Options [+2|+3] [-l 24|17 5 6 ------------------------------- 7 3456789 123456789 123456789 12345 8 3 Columns downwards, across, .. 9 With columns use <= 5 text lin 10 without -f e.g.: -l 15 = total 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 1 FF-Test: FF's at Start of File 16 456789 123456789 xyzxyzxyz XYZXY 2 Options -b -3 / -a -3 / ... 7 3 ------------------------------- 8 4 3456789 123456789 123456789 12345 9 3456789 ab 5 3 Columns downwards ..., <= 5 l 20 DEFGHI 123 6 FF-Arangements: Empty Pages at 1 7 \ftext; \f\ntext; 2 8 \f\ftext; \f\f\ntext; \f\n\ftex 3 9 3456789 123456789 123456789 4 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 5 1 6 2 27 no truncation before nwe page; ( 3 line truncation before FF; r_r_o_ 28 no trunc 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 5 7 6 8 7 9 3456789 ab 8 20 DEFGHI 123 9 1 50 2 1 3 2 4 3 5 4 6 55 yzxyzxyz XYZXYZXYZ abcabcab 27 no truncation before FF; (r_l-te 56 456789 123456789 abcdefghi ABCDE 28 no trunc -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 9 1 60 DEFGHI 123456789 2 3456789 abcdefghi 1 3 2 3 ------- EOF -------- EOF ------- ������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3l24f-lm�������������������������������������������������������������������0000664�0000000�0000000�00000003163�11624727241�013467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Te 6<<< -Arangements: One 1<<< >>> 2<<< -b -3 / -a -3 / . 7<<< \f\f\n; text\f\n\ 2<<< >>> 3<<< >>> 8<<< f\f\n; \f\n\f\n; 3<<< truncation before 4<<< 123456789 1234567 9<<< >>> 14<<< 123456789 123456 10<<< >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZ 20<<< >>> 5<<< >>> 16<<< 123456789 xyzxyz 1<<< >>> 6<<< >>> 7<<< >>> 27<<< truncation befor 8<<< >>> 28<<< trunc 9<<< >>> 4<<< >>> -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXY 4<<< >>> 9<<< abcdefghi >>> 30<<< 123456789 xyzxyz 5<<< >>> 40<<< 123456789 >>> 1<<< >>> 6<<< >>> 41<<< XYZXYZXYZ abcabc 2<<< abcdefghi >>> 7<<< >>> 42<<< 123456789 abcdef 3<<< >>> 8<<< >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZ 8<<< >>> 3<<< >>> 44<<< 123456789 xyzxyz 9<<< >>> 4<<< >>> 5<<< >>> 50<<< >>> 55<<< XYZXYZXYZ abcabc 6<<< >>> 1<<< >>> 56<<< 123456789 abcdef 7<<< >>> 2<<< >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZ 9<<< >>> 60<<< 123456789 >>> 58<<< 123456789 xyzxyz �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2-S_f-t_notab���������������������������������������������������������������0000664�0000000�0000000�00000000402�11624727241�014350� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-xyzzz:dddd.bcde-fghijklmn-opqrstuvw-xyzzz bbbb.bcde-fghijklmn-opqrstuvw-xyzzz:eeee.bcde-fghijklmn-opqrstuvw-xyzzz cccc.bcde-fghijklmn-opqrstuvw-xyzzz ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/0FFt������������������������������������������������������������������������0000664�0000000�0000000�00000002464�11624727241�012627� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3a3Sl24f-tn����������������������������������������������������������������0000664�0000000�0000000�00000002231�11760630450�014053� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "With:--:2 Options -b -3 [+2:--:3 Options -a -3 [+2 4 Options [+2:--:5 :--:6 ----------------- 7 3456789 123456789 1:--:8 3 Columns downwar:--:9 With columns use 10 without -f e.g.: :--:1 with -f e.g. : :--:2 3 line truncation bef:--:14 456789 123456789 1:--:15 xyzxyzxyz XYZXYZXY 16 456789 123456789 x:--:7 :--:8 9 3456789 ab :--:20 DEFGHI 123 :--:1 2 :--:3 :--:4 5 :--:6 :--:27 no truncation befo 28 no trunc :--:29 xyzxyzxyz XYZXYZXY:--:30 456789 123456789 x 1 :--:2 3456789 abcdefghi :--:3 4 :--:5 :--:6 7 :--:8 :--:9 3456789 abcdefghi 40 DEFGHI 123456789 :--:41 yzxyzxyz XYZXYZXYZ:--:42 456789 123456789 a -- Date/Time -- x Page 2 43 xyzxyzxyz XYZXYZXY:--:44 456789 123456789 x:--:5 6 :--:7 :--:8 9 :--:50 :--:1 2 :--:3 :--:4 55 yzxyzxyz XYZXYZXYZ:--:56 456789 123456789 a:--:57 xyzxyzxyz XYZXYZXY 58 456789 123456789 x:--:9 :--:60 DEFGHI 123456789 1 :--:2 :--:3 ------- EOF ------ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/loli������������������������������������������������������������������������0000664�0000000�0000000�00000004611�11624727241�013023� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1::: Test-INPUT: "Without FF set by Hand" ::: 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 4::: Options [+2|+3] [-l 24|17] [-f] ::: 5::: ::: 6::: -------------------------------------------- ::: 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 8::: 3 Columns downwards, across, ...: ::: 9::: With columns use <= 5 text lines/page, ::: 10::: without -f e.g.: -l 15 = total lines/page, ::: 1::: with -f e.g. : -l 8 -f ::: 2::: ::: 3::: line truncation before new page; r_r_o_l-test: ::: 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 ab ::: 20::: DEFGHI 123 ::: 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 5::: 12345678 ::: 6::: 12345678 ::: 27::: no truncation before nwe page; (r_l-test): ::: 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 1::: 12345678 ::: 2::: 3456789 abcdefghi ::: 3::: 12345678 ::: 4::: 12345678 ::: 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 abcdefghi ::: 40::: DEFGHI 123456789 ::: 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 5::: 12345678 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50::: 12345678 ::: 1::: 12345678 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 9::: 12345678 ::: 60::: DEFGHI 123456789 ::: 1::: ::: 2::: ::: 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: �����������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3b3l24f-tn�����������������������������������������������������������������0000664�0000000�0000000�00000002167�11760630450�013741� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 15 xyzxyzxyz XYZXYZXYZ 29 xyzxyzxyz XYZXYZXYZ 2 Options -b -3 [+2|+ 16 456789 123456789 xyz 30 456789 123456789 xyz 3 Options -a -3 [+2|+ 7 1 4 Options [+2|+ 8 2 3456789 abcdefghi 5 9 3456789 ab 3 6 ------------------- 20 DEFGHI 123 4 7 3456789 123456789 123 1 5 8 3 Columns downwards 2 6 9 With columns use < 3 7 10 without -f e.g.: - 4 8 1 with -f e.g. : - 5 9 3456789 abcdefghi 2 6 40 DEFGHI 123456789 3 line truncation befor 27 no truncation before 41 yzxyzxyz XYZXYZXYZ a 14 456789 123456789 123 28 no trunc 42 456789 123456789 abc -- Date/Time -- x Page 2 43 xyzxyzxyz XYZXYZXYZ 50 57 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 1 58 456789 123456789 xyz 5 2 9 6 3 60 DEFGHI 123456789 7 4 1 8 55 yzxyzxyz XYZXYZXYZ a 2 9 56 456789 123456789 abc 3 ------- EOF -------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3ml20f-bl-FF��������������������������������������������������������������0000664�0000000�0000000�00000005662�11624727241�014213� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZ 16 456789 123456789 xyzxyzxyz XYZ 17.7 7 18.8 8 19.9 3456789 ab 9 3456789 ab 20.20 DEFGHI 123 20 DEFGHI 123 21.1 1 22. 2 23. 3 24.4 4 -- Date/Time -- x Page 5 25.5 5 26.6 6 27.27 no truncation before FF; (r_l- 27 no truncation before FF; (r_l- 28. 28 no trunc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZ 30 456789 123456789 xyzxyzxyz XYZ 31.1 1 32.2 3456789 abcdefghi 2 3456789 abcdefghi 33.3 3 34.4 4 35. 5 36.6 6 37.7 7 38.8 8 -- Date/Time -- x Page 8 39.9 3456789 abcdefghi 9 3456789 abcdefghi 40.40 DEFGHI 123456789 40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABC 42 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZ 44 456789 123456789 xyzxyzxyz XYZ 45.5 5 46.6 6 47.7 7 48.8 8 49.9 9 50.50 50 51.1 1 52. 2 -- Date/Time -- x Page 12 53. 3 54. 4 55.55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABC 56 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 13 57. 57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XYZ 58 456789 123456789 xyzxyzxyz XYZ 59.9 9 60.60 DEFGHI 123456789 60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab 62.62 456789 123456789 abcdefghi ABC 63.63 xyzxyzxyz XYZXYZXYZ abcabcab 64.64 456789 123456789 xyzxyzxyz XYZ 65.5 66.6 -- Date/Time -- x Page 14 67.7 68.8 69.9 70.70 456789 123456789 abcdefghi AB 71.1 72. 73. 74. 75.74 yzxyzxyz XYZXYZXYZ abcabcab 76.75 456789 123456789 abcdefghi ABC ������������������������������������������������������������������������������coreutils-8.21/tests/pr/a3f-0FF���������������������������������������������������������������������0000664�0000000�0000000�00000001712�11624727241�013105� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 1 FF-Test: FF's at St 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: Emp 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntex 9 3456789 123456789 123 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc -- Date/Time -- x Page 6 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 ������������������������������������������������������coreutils-8.21/tests/pr/tt-FF�����������������������������������������������������������������������0000664�0000000�0000000�00000004562�11624727241�013011� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3ml24-t���������������������������������������������������������������������0000664�0000000�0000000�00000002617�11624727241�013172� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 1 1 2 2 3 ------- EOF -------- EOF ------- 3 ------- EOF -------- EOF ------- �����������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tb3-0FF���������������������������������������������������������������������0000664�0000000�0000000�00000000771�11624727241�013130� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi �������coreutils-8.21/tests/pr/l24f-t����������������������������������������������������������������������0000664�0000000�0000000�00000005431�11624727241�013075� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by Hand" V 2 Options -b -3 [+2|+3] [-l 15|8] [-f] 3 Options -a -3 [+2|+3] [-l 15|8] [-f] 4 Options [+2|+3] [-l 24|17] [-f] 5 6 -------------------------------------------- 7 3456789 123456789 123456789 123456789 12345678 8 3 Columns downwards, across, ...: 9 With columns use <= 5 text lines/page, 10 without -f e.g.: -l 15 = total lines/page, 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before nwe page; (r_l-test): 28 no trunc -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W26l24f-ll������������������������������������������������������������������0000664�0000000�0000000�00000002373�11624727241�013542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text 2<<< -b -3 / -a -3 / ... 3<<< >>> 4<<< 123456789 123456789 6<<< -Arangements: One Em 7<<< \f\f\n; text\f\n\fte 8<<< f\f\n; \f\n\f\n; >> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF 14<<< 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ 16<<< 123456789 xyzxyzxyz 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before F 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ a 30<<< 123456789 xyzxyzxyz 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab 42<<< 123456789 abcdefghi -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ 44<<< 123456789 xyzxyzxyz 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab 56<<< 123456789 abcdefghi -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ 58<<< 123456789 xyzxyzxyz 9<<< >>> 60<<< 123456789 >>> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2f-t_notab������������������������������������������������������������������0000664�0000000�0000000�00000000402�11624727241�014011� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-xyzzz dddd.bcde-fghijklmn-opqrstuvw-xyzzz bbbb.bcde-fghijklmn-opqrstuvw-xyzzz eeee.bcde-fghijklmn-opqrstuvw-xyzzz cccc.bcde-fghijklmn-opqrstuvw-xyzzz ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2s_w60f-t_nota��������������������������������������������������������������0000664�0000000�0000000�00000000330�11624727241�014526� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw:dddd.bcde-fghijklmn-opqrstuvw bbbb.bcde-fghijklmn-opqrstuvw:eeee.bcde-fghijklmn-opqrstuvw cccc.bcde-fghijklmn-opqrstuvw ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/t_tab_����������������������������������������������������������������������0000664�0000000�0000000�00000000170�11624727241�013310� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaa:abcde fghijklmnopqrstuvw bbb:abcde fghijklmnopqrstuvw ccc abcde fghijklmnopqrstuvw ddd abcde fghijklmnopqrstuvw ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tb3-FF����������������������������������������������������������������������0000664�0000000�0000000�00000001435�11624727241�013046� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Te 6 FF-Arangements: One 1 2 Options -b -3 / -a 7 text\f\f\n; text\f\ 2 3 ------------------- 8 \f\f\n; \f\n\f\n; 3 line truncation befor 4 3456789 123456789 123 9 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 30 456789 123456789 xyz 5 40 DEFGHI 123456789 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 8 3 44 456789 123456789 xyz 9 4 5 50 55 yzxyzxyz XYZXYZXYZ a 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789 58 456789 123456789 xyz �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b2l17-FF��������������������������������������������������������������������0000664�0000000�0000000�00000003531�11624727241�013204� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 8 \f\f\n; \f\n\f\n; 2 Options -b -3 / -a -3 / ... 9 3 ------------------------------- 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 4 3456789 123456789 123456789 12345 1 5 3 Columns downwards ..., <= 5 l 2 6 FF-Arangements: One Empty Page 3 line truncation before FF; r_r_o_ 7 text\f\f\n; text\f\n\ftext; \f\ 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 2 16 456789 123456789 xyzxyzxyz XYZXY 3 7 4 8 5 9 3456789 ab 6 20 DEFGHI 123 27 no truncation before FF; (r_l-te 1 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 6 30 456789 123456789 xyzxyzxyz XYZXY 7 1 8 2 3456789 abcdefghi 9 3456789 abcdefghi 3 40 DEFGHI 123456789 4 41 yzxyzxyz XYZXYZXYZ abcabcab 5 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 50 44 456789 123456789 xyzxyzxyz XYZXY 1 5 2 6 3 7 4 8 55 yzxyzxyz XYZXYZXYZ abcabcab 9 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 9 58 456789 123456789 xyzxyzxyz XYZXY 60 DEFGHI 123456789 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2-Sf-t_notab����������������������������������������������������������������0000664�0000000�0000000�00000000405�11624727241�014214� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzdddd.bcde-fghijklmn-opqrstuvw-xyzzzz bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzeeee.bcde-fghijklmn-opqrstuvw-xyzzzz cccc.bcde-fghijklmn-opqrstuvw-xyzzzz �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tta3-0FF��������������������������������������������������������������������0000664�0000000�0000000�00000000763�11624727241�013314� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's at St 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: Emp 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntex 9 3456789 123456789 123 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 �������������coreutils-8.21/tests/pr/a3l24f-lm�������������������������������������������������������������������0000664�0000000�0000000�00000003155�11624727241�013467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Te 2<<< -b -3 / -a -3 / . 3<<< >>> 4<<< 123456789 1234567 6<<< -Arangements: One 7<<< \f\f\n; text\f\n\ 8<<< f\f\n; \f\n\f\n; 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before 14<<< 123456789 123456 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZ 16<<< 123456789 xyzxyz 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation befor 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXY 30<<< 123456789 xyzxyz 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabc 42<<< 123456789 abcdef -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZ 44<<< 123456789 xyzxyz 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabc 56<<< 123456789 abcdef -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZ 58<<< 123456789 xyzxyz 9<<< >>> 60<<< 123456789 >>> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml24-bl-FF����������������������������������������������������������������0000664�0000000�0000000�00000007157�11624727241�014037� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 FF-Test: FF's in Text :--:1 FF-Test: FF's in Text 2.2 Options -n; :--:2 Options -b -3 / -a -3 / ... 3.3 numbering lines with skiped :--:3 ---------------------------- 4.4 numbering blanc lines (no. 5:--:4 3456789 123456789 123456789 12 5. :--:5 3 Columns downwards ..., <= 6.6 3456789 123456789 123456789 12:--:6 FF-Arangements: One Empty Pa 7.7 3 Columns downwards ..., <= :--:7 text\f\f\n; text\f\n\ftext; 8.8 :--:8 \f\f\n; \f\n\f\n; 9.9 :--:9 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz12:--:10 zzzzzzzzzzzzzzzzzzzzzzzzzz12 11.1 :--:1 12. :--:2 13. :--:3 line truncation before FF; r_r 14.14 456789 123456789 123456789 12:--:14 456789 123456789 123456789 12 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab :--:15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XY:--:16 456789 123456789 xyzxyzxyz XY 17.7 :--:7 18.8 :--:8 19.9 3456789 ab :--:9 3456789 ab 20.20 DEFGHI 123 :--:20 DEFGHI 123 21.1 :--:1 22. :--:2 23. :--:3 24.4 :--:4 25.5 :--:5 26.6 :--:6 27.27 no truncation before FF; (r_l:--:27 no truncation before FF; (r_l 28. :--:28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab :--:29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XY:--:30 456789 123456789 xyzxyzxyz XY 31.1 :--:1 32.2 3456789 abcdefghi :--:2 3456789 abcdefghi 33.3 :--:3 34.4 :--:4 35. :--:5 36.6 :--:6 37.7 :--:7 38.8 :--:8 39.9 3456789 abcdefghi :--:9 3456789 abcdefghi 40.40 DEFGHI 123456789 :--:40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab :--:41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi AB:--:42 456789 123456789 abcdefghi AB -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab :--:43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XY:--:44 456789 123456789 xyzxyzxyz XY 45.5 :--:5 46.6 :--:6 47.7 :--:7 48.8 :--:8 49.9 :--:9 50.50 :--:50 51.1 :--:1 52. :--:2 53. :--:3 54. :--:4 55.55 yzxyzxyz XYZXYZXYZ abcabcab :--:55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi AB:--:56 456789 123456789 abcdefghi AB -- Date/Time -- x Page 9 57. :--:57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XY:--:58 456789 123456789 xyzxyzxyz XY 59.9 :--:9 60.60 DEFGHI 123456789 :--:60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab :--: 62.62 456789 123456789 abcdefghi AB:--: 63.63 xyzxyzxyz XYZXYZXYZ abcabcab :--: 64.64 456789 123456789 xyzxyzxyz XY:--: 65.5 :--: 66.6 :--: 67.7 :--: 68.8 :--: 69.9 :--: 70.70 456789 123456789 abcdefghi A:--: -- Date/Time -- x Page 10 71.1 :--: 72. :--: 73. :--: 74. :--: 75.74 yzxyzxyz XYZXYZXYZ abcabcab :--: 76.75 456789 123456789 abcdefghi AB �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tne8o3-t_tab����������������������������������������������������������������0000664�0000000�0000000�00000000320�11624727241�014264� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 aaa abcde fghijklmnopqrstuvw 2 bbb abcde fghijklmnopqrstuvw 3 ccc abcde fghijklmnopqrstuvw 4 ddd abcde fghijklmnopqrstuvw ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml24-t-tFFFF��������������������������������������������������������������0000664�0000000�0000000�00000011656�11624727241�014304� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT:--:1 Test-INPUT:--:1 FF-Test: F:--:1 FF-Test: F 2.2 Options -b:--:2 Options -b:--:2 Options -b:--:2 Options -b 3.3 Options -a:--:3 Options -a:--:3 ----------:--:3 ---------- 4.4 Options :--:4 Options :--:4 3456789 1234:--:4 3456789 1234 5.5 :--:5 :--:5 3 Columns :--:5 3 Columns 6.6 ----------:--:6 ----------:--:6 FF-Arangem:--:6 FF-Arangem 7.7 3456789 1234:--:7 3456789 1234:--:7 text\f\f\n:--:7 text\f\f\n 8.8 3 Columns :--:8 3 Columns :--:8 \f\f\n; \f:--:8 \f\f\n; \f 9.9 With colum:--:9 With colum:--:9 :--:9 10.10 without -f:--:10 without -f:--:10 zzzzzzzzzz:--:10 zzzzzzzzzz 11.1 with -f e.:--:1 with -f e.:--:1 :--:1 12.2 :--:2 :--:2 :--:2 13.3 line truncat:--:3 line truncat:--:3 line truncat:--:3 line truncat 14.14 456789 1234:--:14 456789 1234:--:14 456789 1234:--:14 456789 1234 -- Date/Time -- x Page 2 15.15 xyzxyzxyz X:--:15 xyzxyzxyz X:--: :--: 16.16 456789 1234:--:16 456789 1234:--: :--: 17.7 :--:7 :--: :--: 18.8 :--:8 :--: :--: 19.9 3456789 ab :--:9 3456789 ab :--: :--: 20.20 DEFGHI 123 :--:20 DEFGHI 123 :--: :--: 21.1 :--:1 :--: :--: 22.2 :--:2 :--: :--: 23.3 :--:3 :--: :--: 24.4 :--:4 :--: :--: 25.5 :--:5 :--: :--: 26.6 :--:6 :--: :--: 27.27 no truncati:--:27 no truncati:--: :--: 28.28 no trunc :--:28 no trunc :--: :--: -- Date/Time -- x Page 3 29.29 xyzxyzxyz X:--:29 xyzxyzxyz X:--:15 xyzxyzxyz X:--:15 xyzxyzxyz X 30.30 456789 1234:--:30 456789 1234:--:16 456789 1234:--:16 456789 1234 31.1 :--:1 :--:7 :--:7 32.2 3456789 abcd:--:2 3456789 abcd:--:8 :--:8 33.3 :--:3 :--:9 3456789 ab :--:9 3456789 ab 34.4 :--:4 :--:20 DEFGHI 123 :--:20 DEFGHI 123 35.5 :--:5 :--:1 :--:1 36.6 :--:6 :--:2 :--:2 37.7 :--:7 :--:3 :--:3 38.8 :--:8 :--:4 :--:4 39.9 3456789 abcd:--:9 3456789 abcd:--:5 :--:5 40.40 DEFGHI 1234:--:40 DEFGHI 1234:--:6 :--:6 41.41 yzxyzxyz XY:--:41 yzxyzxyz XY:--:27 no truncati:--:27 no truncati 42.42 456789 1234:--:42 456789 1234:--:28 no trunc :--:28 no trunc -- Date/Time -- x Page 4 43.43 xyzxyzxyz X:--:43 xyzxyzxyz X:--: :--: 44.44 456789 1234:--:44 456789 1234:--: :--: 45.5 :--:5 :--: :--: 46.6 :--:6 :--: :--: 47.7 :--:7 :--: :--: 48.8 :--:8 :--: :--: 49.9 :--:9 :--: :--: 50.50 :--:50 :--: :--: 51.1 :--:1 :--: :--: 52.2 :--:2 :--: :--: 53.3 :--:3 :--: :--: 54.4 :--:4 :--: :--: 55.55 yzxyzxyz XY:--:55 yzxyzxyz XY:--: :--: 56.56 456789 1234:--:56 456789 1234:--: :--: -- Date/Time -- x Page 5 57.57 xyzxyzxyz X:--:57 xyzxyzxyz X:--:29 xyzxyzxyz X:--:29 xyzxyzxyz X 58.58 456789 1234:--:58 456789 1234:--:30 456789 1234:--:30 456789 1234 59.9 :--:9 :--:1 :--:1 60.60 DEFGHI 1234:--:60 DEFGHI 1234:--:2 3456789 abcd:--:2 3456789 abcd 61.1 :--:1 :--:3 :--:3 62.2 :--:2 :--:4 :--:4 63.3 ------- EOF:--:3 ------- EOF:--:5 :--:5 64. :--: :--:6 :--:6 65. :--: :--:7 :--:7 66. :--: :--:8 :--:8 67. :--: :--:9 3456789 abcd:--:9 3456789 abcd 68. :--: :--:40 DEFGHI 1234:--:40 DEFGHI 1234 69. :--: :--:41 yzxyzxyz XY:--:41 yzxyzxyz XY 70. :--: :--:42 456789 1234:--:42 456789 1234 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71. :--: :--:43 xyzxyzxyz X:--:43 xyzxyzxyz X 72. :--: :--:44 456789 1234:--:44 456789 1234 73. :--: :--:5 :--:5 74. :--: :--:6 :--:6 75. :--: :--:7 :--:7 76. :--: :--:8 :--:8 77. :--: :--:9 :--:9 78. :--: :--:50 :--:50 79. :--: :--:1 :--:1 80. :--: :--:2 :--:2 81. :--: :--:3 :--:3 82. :--: :--:4 :--:4 83. :--: :--:55 yzxyzxyz XY:--:55 yzxyzxyz XY 84. :--: :--:56 456789 1234:--:56 456789 1234 -- Date/Time -- x Page 9 85. :--: :--:57 xyzxyzxyz X:--:57 xyzxyzxyz X 86. :--: :--:58 456789 1234:--:58 456789 1234 87. :--: :--:9 :--:9 88. :--: :--:60 DEFGHI 1234:--:60 DEFGHI 1234 ����������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn2e8-t_tab�����������������������������������������������������������������0000664�0000000�0000000�00000000140�11624727241�014104� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 aaa abcde fgh 3 ccc abcde fgh 2 bbb abcde fgh 4 ddd abcde fgh ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a2l17-FF��������������������������������������������������������������������0000664�0000000�0000000�00000003556�11624727241�013212� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 2 Options -b -3 / -a -3 / ... 3 ------------------------------- 4 3456789 123456789 123456789 12345 5 3 Columns downwards ..., <= 5 l 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 1 2 3 line truncation before FF; r_r_o_ 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before FF; (r_l-te 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3l24f-bl������������������������������������������������������������������0000664�0000000�0000000�00000005625�11624727241�013550� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22. 23. 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28. -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 34.4 12345678 35. 36.6 12345678 37.7 12345678 38.8 12345678 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.5 12345678 46.6 12345678 47.7 12345678 48.8 12345678 49.9 12345678 50.50 12345678 51.1 12345678 52. 53. 54. 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57. 58.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.9 12345678 60.60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab 62.62 456789 123456789 abcdefghi ABCDEDFHI 63.63 xyzxyzxyz XYZXYZXYZ abcabcab 64.64 456789 123456789 xyzxyzxyz XYZXYZXYZ 65.5 12345678 66.6 12345678 67.7 12345678 68.8 12345678 69.9 12345678 70.70 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 10 71.1 12345678 72. 73. 74. 75.74 yzxyzxyz XYZXYZXYZ abcabcab 76.75 456789 123456789 abcdefghi ABCDEDFHI �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/t_notab���������������������������������������������������������������������0000664�0000000�0000000�00000000625�11624727241�013513� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccc.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-cccccccccccccccccccccccccccccccccccccccc dddd.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-dddddddddddddddddddddddddddddddddddddddd eeee.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/t_tab�����������������������������������������������������������������������0000664�0000000�0000000�00000000170�11624727241�013151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aaa abcde fghijklmnopqrstuvw bbb abcde fghijklmnopqrstuvw ccc abcde fghijklmnopqrstuvw ddd abcde fghijklmnopqrstuvw ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ta3-0FF���������������������������������������������������������������������0000664�0000000�0000000�00000000770�11624727241�013126� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at St 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: Emp 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntex 9 3456789 123456789 123 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 ��������coreutils-8.21/tests/pr/b3f-0FF���������������������������������������������������������������������0000664�0000000�0000000�00000001713�11624727241�013107� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 6 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi �����������������������������������������������������coreutils-8.21/tests/pr/n+6a2l17-FF�����������������������������������������������������������������0000664�0000000�0000000�00000001270�11624727241�013520� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz X 45.5 46.6 47.7 48.8 49.9 50.50 51.1 52.2 53.3 54.4 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi A -- Date/Time -- x Page 9 57.57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz X 59.9 60.60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/4-7l24-FF�������������������������������������������������������������������0000664�0000000�0000000�00000001625�11624727241�013210� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3Jml24f-lm-lo��������������������������������������������������������������0000664�0000000�0000000�00000011216�11760630450�014375� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 1::: Test-INPUT: "Without FF set by Hand" ::: 2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 4<<< 123456789 123456789 123456789 12345678 >>> 4::: Options [+2|+3] [-l 24|17] [-f] ::: 5::: ::: 6<<< -Arangements: One Empty Page >>> 6::: -------------------------------------------- ::: 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, ...: ::: 9<<< >>> 9::: With columns use <= 5 text lines/page, ::: 10<<< >>> 10::: without -f e.g.: -l 15 = total lines/page, ::: 1<<< >>> 1::: with -f e.g. : -l 8 -f ::: 2<<< >>> 2::: ::: 3<<< truncation before FF; r_r_o_l-test: >>> 3::: line truncation before new page; r_r_o_l-test: ::: 14<<< 123456789 123456789 123456789 >>> 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 2 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 ab ::: 20::: DEFGHI 123 ::: 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 5::: 12345678 ::: 6::: 12345678 ::: 27::: no truncation before nwe page; (r_l-test): ::: 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7<<< >>> 1::: 12345678 ::: 8<<< >>> 2::: 3456789 abcdefghi ::: 9<<< >>> 3::: 12345678 ::: 20<<< >>> 4::: 12345678 ::: 1<<< >>> 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 6::: 12345678 ::: 7::: 12345678 ::: 4<<< >>> 8::: 12345678 ::: 5<<< >>> 9::: 3456789 abcdefghi ::: 6<<< >>> 40::: DEFGHI 123456789 ::: 27<<< truncation before FF; (r_l-test): >>> 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 28<<< trunc 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 4 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 5::: 12345678 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50::: 12345678 ::: 1::: 12345678 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 1<<< >>> 9::: 12345678 ::: 2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 3<<< >>> 1::: ::: 4<<< >>> 2::: ::: 5<<< >>> 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3-FF������������������������������������������������������������������������0000664�0000000�0000000�00000005341�11624727241�012520� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nl24f-bl��������������������������������������������������������������������0000664�0000000�0000000�00000006772�11624727241�013416� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 FF-Test: FF's in Text V 2.2 Options -n; 3.3 numbering lines with skiped pages; 4.4 numbering blanc lines (no. 5,12,13,23,28) 5. 6.6 3456789 123456789 123456789 123456789 12345678 7.7 3 Columns downwards ..., <= 5 lines per page 8.8 9.9 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 11.1 12345678 12. 13. 14.14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22. 23. 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28. -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 34.4 12345678 35. 36.6 12345678 37.7 12345678 38.8 12345678 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.5 12345678 46.6 12345678 47.7 12345678 48.8 12345678 49.9 12345678 50.50 12345678 51.1 12345678 52. 53. 54. 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57. 58.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.9 12345678 60.60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab 62.62 456789 123456789 abcdefghi ABCDEDFHI 63.63 xyzxyzxyz XYZXYZXYZ abcabcab 64.64 456789 123456789 xyzxyzxyz XYZXYZXYZ 65.5 12345678 66.6 12345678 67.7 12345678 68.8 12345678 69.9 12345678 70.70 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 10 71.1 12345678 72. 73. 74. 75.74 yzxyzxyz XYZXYZXYZ abcabcab 76.75 456789 123456789 abcdefghi ABCDEDFHI ������coreutils-8.21/tests/pr/Jml24f-lm-lo����������������������������������������������������������������0000664�0000000�0000000�00000010506�11624727241�014140� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 1::: Test-INPUT: "Without FF set by Hand" ::: 2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 4<<< 123456789 123456789 123456789 12345678 >>> 4::: Options [+2|+3] [-l 24|17] [-f] ::: 5::: ::: 6<<< -Arangements: One Empty Page >>> 6::: -------------------------------------------- ::: 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, ...: ::: 9<<< >>> 9::: With columns use <= 5 text lines/page, ::: 10<<< >>> 10::: without -f e.g.: -l 15 = total lines/page, ::: 1<<< >>> 1::: with -f e.g. : -l 8 -f ::: 2<<< >>> 2::: ::: 3<<< truncation before FF; r_r_o_l-test: >>> 3::: line truncation before new page; r_r_o_l-test: ::: 14<<< 123456789 123456789 123456789 >>> 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 2 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 ab ::: 20::: DEFGHI 123 ::: 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 5::: 12345678 ::: 6::: 12345678 ::: 27::: no truncation before nwe page; (r_l-test): ::: 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7<<< >>> 1::: 12345678 ::: 8<<< >>> 2::: 3456789 abcdefghi ::: 9<<< >>> 3::: 12345678 ::: 20<<< >>> 4::: 12345678 ::: 1<<< >>> 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 6::: 12345678 ::: 7::: 12345678 ::: 4<<< >>> 8::: 12345678 ::: 5<<< >>> 9::: 3456789 abcdefghi ::: 6<<< >>> 40::: DEFGHI 123456789 ::: 27<<< truncation before FF; (r_l-test): >>> 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 28<<< trunc 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 4 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 5::: 12345678 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50::: 12345678 ::: 1::: 12345678 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 1<<< >>> 9::: 12345678 ::: 2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 3<<< >>> 1::: ::: 4<<< >>> 2::: ::: 5<<< >>> 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3mSnl24fbltn���������������������������������������������������������������0000664�0000000�0000000�00000010555�11760630450�014433� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 FF-Test: FF's in Text :--:1 Test-INPUT: "Without FF set 2.2 Options -n; :--:2 Options -b -3 [+2|+3] [-l 1 3.3 numbering lines with skiped:--:3 Options -a -3 [+2|+3] [-l 1 4.4 numbering blanc lines (no. :--:4 Options [+2|+3] [-l 2 5. :--:5 6.6 3456789 123456789 123456789 1:--:6 --------------------------- 7.7 3 Columns downwards ..., <=:--:7 3456789 123456789 123456789 1 8.8 :--:8 3 Columns downwards, across 9.9 :--:9 With columns use <= 5 text 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz1:--:10 without -f e.g.: -l 15 = t 11.1 :--:1 with -f e.g. : -l 8 -f 12. :--:2 13. :--:3 line truncation before new pa 14.14 456789 123456789 123456789 1:--:14 456789 123456789 123456789 1 -- Date/Time -- x Page 2 15. :--:15 xyzxyzxyz XYZXYZXYZ abcabcab 16. :--:16 456789 123456789 xyzxyzxyz X 17. :--:7 18. :--:8 19. :--:9 3456789 ab 20. :--:20 DEFGHI 123 21. :--:1 22. :--:2 23. :--:3 24. :--:4 25. :--:5 26. :--:6 27. :--:27 no truncation before nwe pag 28. :--:28 no trunc -- Date/Time -- x Page 3 29.15 xyzxyzxyz XYZXYZXYZ abcabcab:--:29 xyzxyzxyz XYZXYZXYZ abcabcab 30.16 456789 123456789 xyzxyzxyz X:--:30 456789 123456789 xyzxyzxyz X 31.7 :--:1 32.8 :--:2 3456789 abcdefghi 33.9 3456789 ab :--:3 34.20 DEFGHI 123 :--:4 35.1 :--:5 36. :--:6 37. :--:7 38.4 :--:8 39.5 :--:9 3456789 abcdefghi 40.6 :--:40 DEFGHI 123456789 41.27 no truncation before FF; (r_:--:41 yzxyzxyz XYZXYZXYZ abcabcab 42. :--:42 456789 123456789 abcdefghi A -- Date/Time -- x Page 4 43. :--:43 xyzxyzxyz XYZXYZXYZ abcabcab 44. :--:44 456789 123456789 xyzxyzxyz X 45. :--:5 46. :--:6 47. :--:7 48. :--:8 49. :--:9 50. :--:50 51. :--:1 52. :--:2 53. :--:3 54. :--:4 55. :--:55 yzxyzxyz XYZXYZXYZ abcabcab 56. :--:56 456789 123456789 abcdefghi A -- Date/Time -- x Page 5 57.29 xyzxyzxyz XYZXYZXYZ abcabcab:--:57 xyzxyzxyz XYZXYZXYZ abcabcab 58.30 456789 123456789 xyzxyzxyz X:--:58 456789 123456789 xyzxyzxyz X 59.1 :--:9 60.2 3456789 abcdefghi :--:60 DEFGHI 123456789 61.3 :--:1 62.4 :--:2 63. :--:3 ------- EOF -------- EOF --- 64.6 :--: 65.7 :--: 66.8 :--: 67.9 3456789 abcdefghi :--: 68.40 DEFGHI 123456789 :--: 69.41 yzxyzxyz XYZXYZXYZ abcabcab :--: 70.42 456789 123456789 abcdefghi A -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71.43 xyzxyzxyz XYZXYZXYZ abcabcab:--: 72.44 456789 123456789 xyzxyzxyz X:--: 73.5 :--: 74.6 :--: 75.7 :--: 76.8 :--: 77.9 :--: 78.50 :--: 79.1 :--: 80. :--: 81. :--: 82. :--: 83.55 yzxyzxyz XYZXYZXYZ abcabcab :--: 84.56 456789 123456789 abcdefghi A -- Date/Time -- x Page 9 85. :--: 86.58 456789 123456789 xyzxyzxyz X:--: 87.9 :--: 88.60 DEFGHI 123456789 :--: 89.61 yzxyzxyz XYZXYZXYZ abcabcab :--: 90.62 456789 123456789 abcdefghi A:--: 91.63 xyzxyzxyz XYZXYZXYZ abcabcab:--: 92.64 456789 123456789 xyzxyzxyz X:--: 93.5 :--: 94.6 :--: 95.7 :--: 96.8 :--: 97.9 :--: 98.70 456789 123456789 abcdefghi :--: -- Date/Time -- x Page 10 99.1 :--: 100. :--: 101. :--: 102. :--: 103.74 yzxyzxyz XYZXYZXYZ abcabcab :--: 104.75 456789 123456789 abcdefghi A ���������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3-5l24f-t�������������������������������������������������������������������0000664�0000000�0000000�00000003111�11624727241�013313� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+2l24f-bl������������������������������������������������������������������0000664�0000000�0000000�00000005744�11624727241�013551� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22. 23. 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28. -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 34.4 12345678 35. 36.6 12345678 37.7 12345678 38.8 12345678 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.5 12345678 46.6 12345678 47.7 12345678 48.8 12345678 49.9 12345678 50.50 12345678 51.1 12345678 52. 53. 54. 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57. 58.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.9 12345678 60.60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab 62.62 456789 123456789 abcdefghi ABCDEDFHI 63.63 xyzxyzxyz XYZXYZXYZ abcabcab 64.64 456789 123456789 xyzxyzxyz XYZXYZXYZ 65.5 12345678 66.6 12345678 67.7 12345678 68.8 12345678 69.9 12345678 70.70 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 10 71.1 12345678 72. 73. 74. 75.74 yzxyzxyz XYZXYZXYZ abcabcab 76.75 456789 123456789 abcdefghi ABCDEDFHI ����������������������������coreutils-8.21/tests/pr/0FFnt�����������������������������������������������������������������������0000664�0000000�0000000�00000002465�11624727241�013006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml24-FF���������������������������������������������������������������������0000664�0000000�0000000�00000005742�11624727241�013141� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 1 FF-Test: FF's in Text 2 Options -b -3 / -a -3 / ... 2 Options -b -3 / -a -3 / ... 3 ------------------------------- 3 ------------------------------- 4 3456789 123456789 123456789 12345 4 3456789 123456789 123456789 12345 5 3 Columns downwards ..., <= 5 l 5 3 Columns downwards ..., <= 5 l 6 FF-Arangements: One Empty Page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ 7 text\f\f\n; text\f\n\ftext; \f\ 8 \f\f\n; \f\n\f\n; 8 \f\f\n; \f\n\f\n; 9 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 1 1 2 2 3 line truncation before FF; r_r_o_ 3 line truncation before FF; r_r_o_ 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 7 7 8 8 9 3456789 ab 9 3456789 ab 20 DEFGHI 123 20 DEFGHI 123 1 1 2 2 3 3 4 4 5 5 6 6 27 no truncation before FF; (r_l-te 27 no truncation before FF; (r_l-te 28 no trunc 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 ������������������������������coreutils-8.21/tests/pr/W28l24f-ll������������������������������������������������������������������0000664�0000000�0000000�00000002466�11624727241�013547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text 2<<< -b -3 / -a -3 / ... > 3<<< >>> 4<<< 123456789 123456789 12 6<<< -Arangements: One Empt 7<<< \f\f\n; text\f\n\ftext 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; 14<<< 123456789 123456789 1 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ a 16<<< 123456789 xyzxyzxyz X 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abc 30<<< 123456789 xyzxyzxyz X 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab 42<<< 123456789 abcdefghi A -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ a 44<<< 123456789 xyzxyzxyz X 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab > 56<<< 123456789 abcdefghi A -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ a 58<<< 123456789 xyzxyzxyz X 9<<< >>> 60<<< 123456789 >>> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml20-t-t-FF���������������������������������������������������������������0000664�0000000�0000000�00000010567�11624727241�014141� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT: "Wit:--:1 Test-INPUT: "Wit:--:1 FF-Test: FF's in 2.2 Options -b -3 [+:--:2 Options -b -3 [+:--:2 Options -b -3 / 3.3 Options -a -3 [+:--:3 Options -a -3 [+:--:3 ---------------- 4.4 Options [+:--:4 Options [+:--:4 3456789 123456789 5.5 :--:5 :--:5 3 Columns downwa 6.6 ----------------:--:6 ----------------:--:6 FF-Arangements: 7.7 3456789 123456789 :--:7 3456789 123456789 :--:7 text\f\f\n; text 8.8 3 Columns downwa:--:8 3 Columns downwa:--:8 \f\f\n; \f\n\f\n 9.9 With columns use:--:9 With columns use:--:9 10.10 without -f e.g.::--:10 without -f e.g.::--:10 zzzzzzzzzzzzzzzz -- Date/Time -- x Page 2 11.1 with -f e.g. ::--:1 with -f e.g. ::--:1 12.2 :--:2 :--:2 13.3 line truncation be:--:3 line truncation be:--:3 line truncation be 14.14 456789 123456789 :--:14 456789 123456789 :--:14 456789 123456789 15.15 xyzxyzxyz XYZXYZX:--:15 xyzxyzxyz XYZXYZX:--: 16.16 456789 123456789 :--:16 456789 123456789 :--: 17.7 :--:7 :--: 18.8 :--:8 :--: 19.9 3456789 ab :--:9 3456789 ab :--: 20.20 DEFGHI 123 :--:20 DEFGHI 123 :--: -- Date/Time -- x Page 3 21.1 :--:1 :--: 22.2 :--:2 :--: 23.3 :--:3 :--: 24.4 :--:4 :--: 25.5 :--:5 :--: 26.6 :--:6 :--: 27.27 no truncation bef:--:27 no truncation bef:--: 28.28 no trunc :--:28 no trunc :--: 29.29 xyzxyzxyz XYZXYZX:--:29 xyzxyzxyz XYZXYZX:--: 30.30 456789 123456789 :--:30 456789 123456789 :--: -- Date/Time -- x Page 4 31.1 :--:1 :--:15 xyzxyzxyz XYZXYZX 32.2 3456789 abcdefghi :--:2 3456789 abcdefghi :--:16 456789 123456789 33.3 :--:3 :--:7 34.4 :--:4 :--:8 35.5 :--:5 :--:9 3456789 ab 36.6 :--:6 :--:20 DEFGHI 123 37.7 :--:7 :--:1 38.8 :--:8 :--:2 39.9 3456789 abcdefghi :--:9 3456789 abcdefghi :--:3 40.40 DEFGHI 123456789 :--:40 DEFGHI 123456789 :--:4 -- Date/Time -- x Page 5 41.41 yzxyzxyz XYZXYZXY:--:41 yzxyzxyz XYZXYZXY:--:5 42.42 456789 123456789 :--:42 456789 123456789 :--:6 43.43 xyzxyzxyz XYZXYZX:--:43 xyzxyzxyz XYZXYZX:--:27 no truncation bef 44.44 456789 123456789 :--:44 456789 123456789 :--:28 no trunc 45.5 :--:5 :--: 46.6 :--:6 :--: 47.7 :--:7 :--: 48.8 :--:8 :--: 49.9 :--:9 :--: 50.50 :--:50 :--: -- Date/Time -- x Page 6 51.1 :--:1 :--: 52.2 :--:2 :--: 53.3 :--:3 :--: 54.4 :--:4 :--: 55.55 yzxyzxyz XYZXYZXY:--:55 yzxyzxyz XYZXYZXY:--: 56.56 456789 123456789 :--:56 456789 123456789 :--: 57.57 xyzxyzxyz XYZXYZX:--:57 xyzxyzxyz XYZXYZX:--: 58.58 456789 123456789 :--:58 456789 123456789 :--: 59.9 :--:9 :--: 60.60 DEFGHI 123456789 :--:60 DEFGHI 123456789 :--: -- Date/Time -- x Page 7 61.1 :--:1 :--:29 xyzxyzxyz XYZXYZX 62.2 :--:2 :--:30 456789 123456789 63.3 ------- EOF -----:--:3 ------- EOF -----:--:1 64. :--: :--:2 3456789 abcdefghi 65. :--: :--:3 66. :--: :--:4 67. :--: :--:5 68. :--: :--:6 69. :--: :--:7 70. :--: :--:8 -- Date/Time -- x Page 8 71. :--: :--:9 3456789 abcdefghi 72. :--: :--:40 DEFGHI 123456789 73. :--: :--:41 yzxyzxyz XYZXYZXY 74. :--: :--:42 456789 123456789 -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 75. :--: :--:43 xyzxyzxyz XYZXYZX 76. :--: :--:44 456789 123456789 77. :--: :--:5 78. :--: :--:6 79. :--: :--:7 80. :--: :--:8 81. :--: :--:9 82. :--: :--:50 83. :--: :--:1 84. :--: :--:2 -- Date/Time -- x Page 12 85. :--: :--:3 86. :--: :--:4 87. :--: :--:55 yzxyzxyz XYZXYZXY 88. :--: :--:56 456789 123456789 -- Date/Time -- x Page 13 89. :--: :--:57 xyzxyzxyz XYZXYZX 90. :--: :--:58 456789 123456789 91. :--: :--:9 92. :--: :--:60 DEFGHI 123456789 �����������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tFnFt�����������������������������������������������������������������������0000664�0000000�0000000�00000004575�11624727241�013116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 �����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn_2e8-t_tab����������������������������������������������������������������0000664�0000000�0000000�00000000134�11624727241�014246� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1:aaa abcde fgh 3:ccc abcde fgh 2:bbb abcde fgh 4:ddd abcde fgh ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/Jb3l24f-lm������������������������������������������������������������������0000664�0000000�0000000�00000003627�11624727241�013606� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 6<<< -Arangements: One Empty Page >>> 1<<< >>> 2<<< -b -3 / -a -3 / ... >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 2<<< >>> 3<<< >>> 8<<< f\f\n; \f\n\f\n; >>> 3<<< truncation before FF; r_r_o_l-test: >>> 4<<< 123456789 123456789 123456789 12345678 >>> 9<<< >>> 14<<< 123456789 123456789 123456789 >>> 10<<< >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 20<<< >>> 5<<< >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 6<<< >>> 7<<< >>> 27<<< truncation before FF; (r_l-test): >>> 8<<< >>> 28<<< trunc 9<<< >>> 4<<< >>> -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 4<<< >>> 9<<< abcdefghi >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 40<<< 123456789 >>> 1<<< >>> 6<<< >>> 41<<< XYZXYZXYZ abcabcab >>> 2<<< abcdefghi >>> 7<<< >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> 3<<< >>> 8<<< >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 8<<< >>> 3<<< >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 4<<< >>> 5<<< >>> 50<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 6<<< >>> 1<<< >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> 7<<< >>> 2<<< >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 9<<< >>> 60<<< 123456789 >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> ���������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3ml24-t-FF������������������������������������������������������������������0000664�0000000�0000000�00000004103�11624727241�013453� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 1 7 2 3456789 abcdefghi 8 3 9 3456789 ab 4 20 DEFGHI 123 5 1 6 2 7 3 8 4 9 3456789 abcdefghi 5 40 DEFGHI 123456789 6 41 yzxyzxyz XYZXYZXYZ abcabcab 27 no truncation before FF; (r_l-te 42 456789 123456789 abcdefghi ABCDE 28 no trunc -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 9 1 60 DEFGHI 123456789 2 3456789 abcdefghi 1 3 2 4 3 ------- EOF -------- EOF ------- 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ttb3-0FF��������������������������������������������������������������������0000664�0000000�0000000�00000000764�11624727241�013316� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi ������������coreutils-8.21/tests/pr/3b2l17-FF�������������������������������������������������������������������0000664�0000000�0000000�00000002463�11624727241�013272� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 2 16 456789 123456789 xyzxyzxyz XYZXY 3 7 4 8 5 9 3456789 ab 6 20 DEFGHI 123 27 no truncation before FF; (r_l-te 1 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 6 30 456789 123456789 xyzxyzxyz XYZXY 7 1 8 2 3456789 abcdefghi 9 3456789 abcdefghi 3 40 DEFGHI 123456789 4 41 yzxyzxyz XYZXYZXYZ abcabcab 5 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 50 44 456789 123456789 xyzxyzxyz XYZXY 1 5 2 6 3 7 4 8 55 yzxyzxyz XYZXYZXYZ abcabcab 9 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 9 58 456789 123456789 xyzxyzxyz XYZXY 60 DEFGHI 123456789 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+2l24f-0FF�����������������������������������������������������������������0000664�0000000�0000000�00000003471�11624727241�013522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 1.1 FF-Test: FF's at Start of File V 2.2 Options -b -3 / -a -3 / ... 3.3 -------------------------------------------- 4.4 3456789 123456789 123456789 123456789 12345678 5.5 3 Columns downwards ..., <= 5 lines per page 6.6 FF-Arangements: Empty Pages at start 7.7 \ftext; \f\ntext; 8.8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9.9 3456789 123456789 123456789 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 11.1 12345678 12.2 12345678 13.3 line truncation before FF; r_r_o_l-test: 14.14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22.2 12345678 23.3 12345678 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28.28 no trunc -- Date/Time -- x Page 6 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.1 12345678 32.2 3456789 abcdefghi 33.3 12345678 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3ml24f-bl-tn���������������������������������������������������������������0000664�0000000�0000000�00000010141�11760630450�014253� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 1 Test-INPUT: "Without FF set by 2 Options -n; 2 Options -b -3 [+2|+3] [-l 15|8] 3 numbering lines with skiped pag 3 Options -a -3 [+2|+3] [-l 15|8] 4 numbering blanc lines (no. 5,12 4 Options [+2|+3] [-l 24|17 5 6 3456789 123456789 123456789 12345 6 ------------------------------- 7 3 Columns downwards ..., <= 5 l 7 3456789 123456789 123456789 12345 8 8 3 Columns downwards, across, .. 9 9 With columns use <= 5 text lin 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 10 without -f e.g.: -l 15 = total 1 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before nwe page; ( 28 no trunc -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 7 1 8 2 3456789 abcdefghi 9 3456789 ab 3 20 DEFGHI 123 4 1 5 6 7 4 8 5 9 3456789 abcdefghi 6 40 DEFGHI 123456789 27 no truncation before FF; (r_l-te 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 1 9 2 3456789 abcdefghi 60 DEFGHI 123456789 3 1 4 2 3 ------- EOF -------- EOF ------- 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 61 yzxyzxyz XYZXYZXYZ abcabcab 62 456789 123456789 abcdefghi ABCDE 63 xyzxyzxyz XYZXYZXYZ abcabcab 64 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 70 456789 123456789 abcdefghi ABCD -- Date/Time -- x Page 10 1 74 yzxyzxyz XYZXYZXYZ abcabcab 75 456789 123456789 abcdefghi ABCDE �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/0Fnt������������������������������������������������������������������������0000664�0000000�0000000�00000002464�11624727241�012677� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml20-FF-t�������������������������������������������������������������������0000664�0000000�0000000�00000007210�11624727241�013366� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 1 Test-INPUT: "Without FF set by 2 Options -b -3 / -a -3 / ... 2 Options -b -3 [+2|+3] [-l 15|8] 3 ------------------------------- 3 Options -a -3 [+2|+3] [-l 15|8] 4 3456789 123456789 123456789 12345 4 Options [+2|+3] [-l 24|17 5 3 Columns downwards ..., <= 5 l 5 6 FF-Arangements: One Empty Page 6 ------------------------------- 7 text\f\f\n; text\f\n\ftext; \f\ 7 3456789 123456789 123456789 12345 8 \f\f\n; \f\n\f\n; 8 3 Columns downwards, across, .. 9 9 With columns use <= 5 text lin 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 10 without -f e.g.: -l 15 = total -- Date/Time -- x Page 2 1 1 with -f e.g. : -l 8 -f 2 2 3 line truncation before FF; r_r_o_ 3 line truncation before new page; 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 -- Date/Time -- x Page 3 1 2 3 4 5 6 27 no truncation before nwe page; ( 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 1 16 456789 123456789 xyzxyzxyz XYZXY 2 3456789 abcdefghi 7 3 8 4 9 3456789 ab 5 20 DEFGHI 123 6 1 7 2 8 3 9 3456789 abcdefghi 4 40 DEFGHI 123456789 -- Date/Time -- x Page 5 5 41 yzxyzxyz XYZXYZXYZ abcabcab 6 42 456789 123456789 abcdefghi ABCDE 27 no truncation before FF; (r_l-te 43 xyzxyzxyz XYZXYZXYZ abcabcab 28 no trunc 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 -- Date/Time -- x Page 6 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 -- Date/Time -- x Page 7 29 xyzxyzxyz XYZXYZXYZ abcabcab 1 30 456789 123456789 xyzxyzxyz XYZXY 2 1 3 ------- EOF -------- EOF ------- 2 3456789 abcdefghi 3 4 5 6 7 8 -- Date/Time -- x Page 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 -- Date/Time -- x Page 12 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 13 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3ml24f-tn-bl��������������������������������������������������������������0000664�0000000�0000000�00000005446�11624727241�014345� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XYZ 16 456789 123456789 xyzxyzxyz XYZ 31.1 7 32.2 3456789 abcdefghi 8 33.3 9 3456789 ab 34.4 20 DEFGHI 123 35.5 1 36.6 37.7 38.8 4 39.9 3456789 abcdefghi 5 40.40 DEFGHI 123456789 6 41.41 yzxyzxyz XYZXYZXYZ abcabcab 27 no truncation before FF; (r_l- 42.42 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 4 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZ 45.5 46.6 47.7 48.8 49.9 50.50 51.1 52.2 53.3 54.4 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 5 57.57 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XYZ 30 456789 123456789 xyzxyzxyz XYZ 59.9 1 60.60 DEFGHI 123456789 2 3456789 abcdefghi 61.1 3 62.2 4 63.3 ------- EOF -------- EOF ----- 64. 6 65. 7 66. 8 67. 9 3456789 abcdefghi 68. 40 DEFGHI 123456789 69. 41 yzxyzxyz XYZXYZXYZ abcabcab 70. 42 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71. 43 xyzxyzxyz XYZXYZXYZ abcabcab 72. 44 456789 123456789 xyzxyzxyz XYZ 73. 5 74. 6 75. 7 76. 8 77. 9 78. 50 79. 1 80. 81. 82. 83. 55 yzxyzxyz XYZXYZXYZ abcabcab 84. 56 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 9 85. 86. 58 456789 123456789 xyzxyzxyz XYZ 87. 9 88. 60 DEFGHI 123456789 89. 61 yzxyzxyz XYZXYZXYZ abcabcab 90. 62 456789 123456789 abcdefghi ABC 91. 63 xyzxyzxyz XYZXYZXYZ abcabcab 92. 64 456789 123456789 xyzxyzxyz XYZ 93. 5 94. 6 95. 7 96. 8 97. 9 98. 70 456789 123456789 abcdefghi AB -- Date/Time -- x Page 10 99. 1 100. 101. 102. 103. 74 yzxyzxyz XYZXYZXYZ abcabcab 104. 75 456789 123456789 abcdefghi ABC ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3-0F�����������������������������������������������������������������������0000664�0000000�0000000�00000002232�11624727241�012630� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3mSl24f-bl-tn��������������������������������������������������������������0000664�0000000�0000000�00000010430�11760630450�014377� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text :--:1 Test-INPUT: "Without FF set by 2 Options -n; :--:2 Options -b -3 [+2|+3] [-l 15|8 3 numbering lines with skiped pa:--:3 Options -a -3 [+2|+3] [-l 15|8 4 numbering blanc lines (no. 5,1:--:4 Options [+2|+3] [-l 24|1 :--:5 6 3456789 123456789 123456789 1234:--:6 ------------------------------ 7 3 Columns downwards ..., <= 5 :--:7 3456789 123456789 123456789 1234 8 :--:8 3 Columns downwards, across, . 9 :--:9 With columns use <= 5 text li 10 zzzzzzzzzzzzzzzzzzzzzzzzzz1234:--:10 without -f e.g.: -l 15 = tota 1 :--:1 with -f e.g. : -l 8 -f :--:2 :--:3 line truncation before new page; 14 456789 123456789 123456789 1234:--:14 456789 123456789 123456789 1234 -- Date/Time -- x Page 2 :--:15 xyzxyzxyz XYZXYZXYZ abcabcab :--:16 456789 123456789 xyzxyzxyz XYZX :--:7 :--:8 :--:9 3456789 ab :--:20 DEFGHI 123 :--:1 :--:2 :--:3 :--:4 :--:5 :--:6 :--:27 no truncation before nwe page; :--:28 no trunc -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab :--:29 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZX:--:30 456789 123456789 xyzxyzxyz XYZX 7 :--:1 8 :--:2 3456789 abcdefghi 9 3456789 ab :--:3 20 DEFGHI 123 :--:4 1 :--:5 :--:6 :--:7 4 :--:8 5 :--:9 3456789 abcdefghi 6 :--:40 DEFGHI 123456789 27 no truncation before FF; (r_l-t:--:41 yzxyzxyz XYZXYZXYZ abcabcab :--:42 456789 123456789 abcdefghi ABCD -- Date/Time -- x Page 4 :--:43 xyzxyzxyz XYZXYZXYZ abcabcab :--:44 456789 123456789 xyzxyzxyz XYZX :--:5 :--:6 :--:7 :--:8 :--:9 :--:50 :--:1 :--:2 :--:3 :--:4 :--:55 yzxyzxyz XYZXYZXYZ abcabcab :--:56 456789 123456789 abcdefghi ABCD -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab :--:57 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZX:--:58 456789 123456789 xyzxyzxyz XYZX 1 :--:9 2 3456789 abcdefghi :--:60 DEFGHI 123456789 3 :--:1 4 :--:2 :--:3 ------- EOF -------- EOF ------ 6 :--: 7 :--: 8 :--: 9 3456789 abcdefghi :--: 40 DEFGHI 123456789 :--: 41 yzxyzxyz XYZXYZXYZ abcabcab :--: 42 456789 123456789 abcdefghi ABCD -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab :--: 44 456789 123456789 xyzxyzxyz XYZX:--: 5 :--: 6 :--: 7 :--: 8 :--: 9 :--: 50 :--: 1 :--: :--: :--: :--: 55 yzxyzxyz XYZXYZXYZ abcabcab :--: 56 456789 123456789 abcdefghi ABCD -- Date/Time -- x Page 9 :--: 58 456789 123456789 xyzxyzxyz XYZX:--: 9 :--: 60 DEFGHI 123456789 :--: 61 yzxyzxyz XYZXYZXYZ abcabcab :--: 62 456789 123456789 abcdefghi ABCD:--: 63 xyzxyzxyz XYZXYZXYZ abcabcab :--: 64 456789 123456789 xyzxyzxyz XYZX:--: 5 :--: 6 :--: 7 :--: 8 :--: 9 :--: 70 456789 123456789 abcdefghi ABC:--: -- Date/Time -- x Page 10 1 :--: :--: :--: :--: 74 yzxyzxyz XYZXYZXYZ abcabcab :--: 75 456789 123456789 abcdefghi ABCD ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3b3l15f-t�������������������������������������������������������������������0000664�0000000�0000000�00000001135�11624727241�013402� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 44 456789 123456789 xyz 5 40 DEFGHI 123456789 5 -- Date/Time -- x Page 4 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 8 3 58 456789 123456789 xyz 9 4 9 50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W35b3l24f-lm����������������������������������������������������������������0000664�0000000�0000000�00000002001�11624727241�013754� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test 6<<< -Aran 1<<< >>> 2<<< -b -3 7<<< \f\f\ 2<<< >>> 3<<< >>> 8<<< f\f\n 3<<< trunc 4<<< 12345 9<<< >>> 14<<< 1234 10<<< >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzx 20<<< >>> 5<<< >>> 16<<< 1234 1<<< >>> 6<<< >>> 7<<< >>> 27<<< trun 8<<< >>> 28<<< trun 9<<< >>> 4<<< >>> -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyz 4<<< >>> 9<<< abcde 30<<< 1234 5<<< >>> 40<<< 1234 1<<< >>> 6<<< >>> 41<<< XYZX 2<<< abcde 7<<< >>> 42<<< 1234 3<<< >>> 8<<< >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzx 8<<< >>> 3<<< >>> 44<<< 1234 9<<< >>> 4<<< >>> 5<<< >>> 50<<< >>> 55<<< XYZX 6<<< >>> 1<<< >>> 56<<< 1234 7<<< >>> 2<<< >>> -- Date/Time -- x Page 9 57<<< xyzx 9<<< >>> 60<<< 1234 58<<< 1234 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/Ja3l24f-lm������������������������������������������������������������������0000664�0000000�0000000�00000003642�11624727241�013602� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 12345678 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ����������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/FnFn������������������������������������������������������������������������0000664�0000000�0000000�00000004602�11624727241�012713� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3b3Sl24f-tn����������������������������������������������������������������0000664�0000000�0000000�00000002243�11760630450�014057� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "With:--:15 xyzxyzxyz XYZXYZXY:--:29 xyzxyzxyz XYZXYZXY 2 Options -b -3 [+2:--:16 456789 123456789 x:--:30 456789 123456789 x 3 Options -a -3 [+2:--:7 :--:1 4 Options [+2:--:8 :--:2 3456789 abcdefghi 5 :--:9 3456789 ab :--:3 6 -----------------:--:20 DEFGHI 123 :--:4 7 3456789 123456789 1:--:1 :--:5 8 3 Columns downwar:--:2 :--:6 9 With columns use :--:3 :--:7 10 without -f e.g.: :--:4 :--:8 1 with -f e.g. : :--:5 :--:9 3456789 abcdefghi 2 :--:6 :--:40 DEFGHI 123456789 3 line truncation bef:--:27 no truncation befo:--:41 yzxyzxyz XYZXYZXYZ 14 456789 123456789 1:--:28 no trunc :--:42 456789 123456789 a -- Date/Time -- x Page 2 43 xyzxyzxyz XYZXYZXY:--:50 :--:57 xyzxyzxyz XYZXYZXY 44 456789 123456789 x:--:1 :--:58 456789 123456789 x 5 :--:2 :--:9 6 :--:3 :--:60 DEFGHI 123456789 7 :--:4 :--:1 8 :--:55 yzxyzxyz XYZXYZXYZ:--:2 9 :--:56 456789 123456789 a:--:3 ------- EOF ------ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ta3-FF����������������������������������������������������������������������0000664�0000000�0000000�00000001424�11624727241�013043� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Te 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: One 7 text\f\f\n; text\f\ 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3a2l17-FF�������������������������������������������������������������������0000664�0000000�0000000�00000002503�11624727241�013264� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before FF; (r_l-te 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3b3f-FF���������������������������������������������������������������������0000664�0000000�0000000�00000002055�11624727241�013112� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 30 456789 123456789 xyz 5 40 DEFGHI 123456789 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ 8 3 44 456789 123456789 xyz 9 4 5 50 55 yzxyzxyz XYZXYZXYZ a 6 1 56 456789 123456789 abc 7 2 -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789 58 456789 123456789 xyz �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tt-t������������������������������������������������������������������������0000664�0000000�0000000�00000004623�11624727241�012757� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 Test-INPUT: "Without FF set by Hand" V 2 Options -b -3 [+2|+3] [-l 15|8] [-f] 3 Options -a -3 [+2|+3] [-l 15|8] [-f] 4 Options [+2|+3] [-l 24|17] [-f] 5 6 -------------------------------------------- 7 3456789 123456789 123456789 123456789 12345678 8 3 Columns downwards, across, ...: 9 With columns use <= 5 text lines/page, 10 without -f e.g.: -l 15 = total lines/page, 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before nwe page; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- �������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml20-t-tFFFF��������������������������������������������������������������0000664�0000000�0000000�00000012556�11624727241�014300� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT:--:1 Test-INPUT:--:1 FF-Test: F:--:1 FF-Test: F 2.2 Options -b:--:2 Options -b:--:2 Options -b:--:2 Options -b 3.3 Options -a:--:3 Options -a:--:3 ----------:--:3 ---------- 4.4 Options :--:4 Options :--:4 3456789 1234:--:4 3456789 1234 5.5 :--:5 :--:5 3 Columns :--:5 3 Columns 6.6 ----------:--:6 ----------:--:6 FF-Arangem:--:6 FF-Arangem 7.7 3456789 1234:--:7 3456789 1234:--:7 text\f\f\n:--:7 text\f\f\n 8.8 3 Columns :--:8 3 Columns :--:8 \f\f\n; \f:--:8 \f\f\n; \f 9.9 With colum:--:9 With colum:--:9 :--:9 10.10 without -f:--:10 without -f:--:10 zzzzzzzzzz:--:10 zzzzzzzzzz -- Date/Time -- x Page 2 11.1 with -f e.:--:1 with -f e.:--:1 :--:1 12.2 :--:2 :--:2 :--:2 13.3 line truncat:--:3 line truncat:--:3 line truncat:--:3 line truncat 14.14 456789 1234:--:14 456789 1234:--:14 456789 1234:--:14 456789 1234 15.15 xyzxyzxyz X:--:15 xyzxyzxyz X:--: :--: 16.16 456789 1234:--:16 456789 1234:--: :--: 17.7 :--:7 :--: :--: 18.8 :--:8 :--: :--: 19.9 3456789 ab :--:9 3456789 ab :--: :--: 20.20 DEFGHI 123 :--:20 DEFGHI 123 :--: :--: -- Date/Time -- x Page 3 21.1 :--:1 :--: :--: 22.2 :--:2 :--: :--: 23.3 :--:3 :--: :--: 24.4 :--:4 :--: :--: 25.5 :--:5 :--: :--: 26.6 :--:6 :--: :--: 27.27 no truncati:--:27 no truncati:--: :--: 28.28 no trunc :--:28 no trunc :--: :--: 29.29 xyzxyzxyz X:--:29 xyzxyzxyz X:--: :--: 30.30 456789 1234:--:30 456789 1234:--: :--: -- Date/Time -- x Page 4 31.1 :--:1 :--:15 xyzxyzxyz X:--:15 xyzxyzxyz X 32.2 3456789 abcd:--:2 3456789 abcd:--:16 456789 1234:--:16 456789 1234 33.3 :--:3 :--:7 :--:7 34.4 :--:4 :--:8 :--:8 35.5 :--:5 :--:9 3456789 ab :--:9 3456789 ab 36.6 :--:6 :--:20 DEFGHI 123 :--:20 DEFGHI 123 37.7 :--:7 :--:1 :--:1 38.8 :--:8 :--:2 :--:2 39.9 3456789 abcd:--:9 3456789 abcd:--:3 :--:3 40.40 DEFGHI 1234:--:40 DEFGHI 1234:--:4 :--:4 -- Date/Time -- x Page 5 41.41 yzxyzxyz XY:--:41 yzxyzxyz XY:--:5 :--:5 42.42 456789 1234:--:42 456789 1234:--:6 :--:6 43.43 xyzxyzxyz X:--:43 xyzxyzxyz X:--:27 no truncati:--:27 no truncati 44.44 456789 1234:--:44 456789 1234:--:28 no trunc :--:28 no trunc 45.5 :--:5 :--: :--: 46.6 :--:6 :--: :--: 47.7 :--:7 :--: :--: 48.8 :--:8 :--: :--: 49.9 :--:9 :--: :--: 50.50 :--:50 :--: :--: -- Date/Time -- x Page 6 51.1 :--:1 :--: :--: 52.2 :--:2 :--: :--: 53.3 :--:3 :--: :--: 54.4 :--:4 :--: :--: 55.55 yzxyzxyz XY:--:55 yzxyzxyz XY:--: :--: 56.56 456789 1234:--:56 456789 1234:--: :--: 57.57 xyzxyzxyz X:--:57 xyzxyzxyz X:--: :--: 58.58 456789 1234:--:58 456789 1234:--: :--: 59.9 :--:9 :--: :--: 60.60 DEFGHI 1234:--:60 DEFGHI 1234:--: :--: -- Date/Time -- x Page 7 61.1 :--:1 :--:29 xyzxyzxyz X:--:29 xyzxyzxyz X 62.2 :--:2 :--:30 456789 1234:--:30 456789 1234 63.3 ------- EOF:--:3 ------- EOF:--:1 :--:1 64. :--: :--:2 3456789 abcd:--:2 3456789 abcd 65. :--: :--:3 :--:3 66. :--: :--:4 :--:4 67. :--: :--:5 :--:5 68. :--: :--:6 :--:6 69. :--: :--:7 :--:7 70. :--: :--:8 :--:8 -- Date/Time -- x Page 8 71. :--: :--:9 3456789 abcd:--:9 3456789 abcd 72. :--: :--:40 DEFGHI 1234:--:40 DEFGHI 1234 73. :--: :--:41 yzxyzxyz XY:--:41 yzxyzxyz XY 74. :--: :--:42 456789 1234:--:42 456789 1234 -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 75. :--: :--:43 xyzxyzxyz X:--:43 xyzxyzxyz X 76. :--: :--:44 456789 1234:--:44 456789 1234 77. :--: :--:5 :--:5 78. :--: :--:6 :--:6 79. :--: :--:7 :--:7 80. :--: :--:8 :--:8 81. :--: :--:9 :--:9 82. :--: :--:50 :--:50 83. :--: :--:1 :--:1 84. :--: :--:2 :--:2 -- Date/Time -- x Page 12 85. :--: :--:3 :--:3 86. :--: :--:4 :--:4 87. :--: :--:55 yzxyzxyz XY:--:55 yzxyzxyz XY 88. :--: :--:56 456789 1234:--:56 456789 1234 -- Date/Time -- x Page 13 89. :--: :--:57 xyzxyzxyz X:--:57 xyzxyzxyz X 90. :--: :--:58 456789 1234:--:58 456789 1234 91. :--: :--:9 :--:9 92. :--: :--:60 DEFGHI 1234:--:60 DEFGHI 1234 ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3b3Snl24f-tn���������������������������������������������������������������0000664�0000000�0000000�00000002460�11760630450�014236� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT::--: 15.15 xyzxyzxyz XY:--: 29.29 xyzxyzxyz XY 2.2 Options -b :--: 16.16 456789 12345:--: 30.30 456789 12345 3.3 Options -a :--: 17.7 :--: 31.1 4.4 Options :--: 18.8 :--: 32.2 3456789 abcde 5.5 :--: 19.9 3456789 ab :--: 33.3 6.6 -----------:--: 20.20 DEFGHI 123 :--: 34.4 7.7 3456789 12345:--: 21.1 :--: 35.5 8.8 3 Columns d:--: 22.2 :--: 36.6 9.9 With column:--: 23.3 :--: 37.7 10.10 without -f :--: 24.4 :--: 38.8 11.1 with -f e.g:--: 25.5 :--: 39.9 3456789 abcde 12.2 :--: 26.6 :--: 40.40 DEFGHI 12345 13.3 line truncati:--: 27.27 no truncatio:--: 41.41 yzxyzxyz XYZ 14.14 456789 12345:--: 28.28 no trunc :--: 42.42 456789 12345 -- Date/Time -- x Page 2 43.43 xyzxyzxyz XY:--: 50.50 :--: 57.57 xyzxyzxyz XY 44.44 456789 12345:--: 51.1 :--: 58.58 456789 12345 45.5 :--: 52.2 :--: 59.9 46.6 :--: 53.3 :--: 60.60 DEFGHI 12345 47.7 :--: 54.4 :--: 61.1 48.8 :--: 55.55 yzxyzxyz XYZ:--: 62.2 49.9 :--: 56.56 456789 12345:--: 63.3 ------- EOF ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/t-t�������������������������������������������������������������������������0000664�0000000�0000000�00000004623�11624727241�012573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 Test-INPUT: "Without FF set by Hand" V 2 Options -b -3 [+2|+3] [-l 15|8] [-f] 3 Options -a -3 [+2|+3] [-l 15|8] [-f] 4 Options [+2|+3] [-l 24|17] [-f] 5 6 -------------------------------------------- 7 3456789 123456789 123456789 123456789 12345678 8 3 Columns downwards, across, ...: 9 With columns use <= 5 text lines/page, 10 without -f e.g.: -l 15 = total lines/page, 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before nwe page; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- �������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tFFt-lm���������������������������������������������������������������������0000664�0000000�0000000�00000002373�11624727241�013340� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 12345678 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/0FnFt�����������������������������������������������������������������������0000664�0000000�0000000�00000002465�11624727241�013006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3l15-t���������������������������������������������������������������������0000664�0000000�0000000�00000002360�11624727241�013152� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 6 ------------------- 1 with -f e.g. : - 2 Options -b -3 [+2|+ 7 3456789 123456789 123 2 3 Options -a -3 [+2|+ 8 3 Columns downwards 3 line truncation befor 4 Options [+2|+ 9 With columns use < 14 456789 123456789 123 5 10 without -f e.g.: - 15 xyzxyzxyz XYZXYZXYZ -- Date/Time -- x Page 2 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 30 456789 123456789 xyz -- Date/Time -- x Page 3 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 44 456789 123456789 xyz 5 40 DEFGHI 123456789 5 -- Date/Time -- x Page 4 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 8 3 58 456789 123456789 xyz 9 4 9 50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/l24-t�����������������������������������������������������������������������0000664�0000000�0000000�00000005464�11624727241�012735� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by Hand" V 2 Options -b -3 [+2|+3] [-l 15|8] [-f] 3 Options -a -3 [+2|+3] [-l 15|8] [-f] 4 Options [+2|+3] [-l 24|17] [-f] 5 6 -------------------------------------------- 7 3456789 123456789 123456789 123456789 12345678 8 3 Columns downwards, across, ...: 9 With columns use <= 5 text lines/page, 10 without -f e.g.: -l 15 = total lines/page, 1 with -f e.g. : -l 8 -f 2 3 line truncation before new page; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before nwe page; (r_l-test): 28 no trunc -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W35Jb3l24f-lm���������������������������������������������������������������0000664�0000000�0000000�00000003112�11624727241�014072� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 6<<< -Arangements: One Empty Page >>> 1<<< >>> 2<<< -b -3 / -a -3 / ... >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 2<<< >>> 3<<< >>> 8<<< f\f\n; \f\n\f\n; >>> 3<<< truncation before FF; r_r_o_l-test: >>> 4<<< 123456789 123456789 123456789 12345678 >>> 9<<< >>> 14<<< 123456789 123456789 123456789 >>> 10<<< >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 20<<< >>> 5<<< >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 6<<< >>> 7<<< >>> 27<<< truncation before FF; (r_l-test): >>> 8<<< >>> 28<<< trunc 9<<< >>> 4<<< >>> -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 4<<< >>> 9<<< abcdefghi >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 40<<< 123456789 >>> 1<<< >>> 6<<< >>> 41<<< XYZXYZXYZ abcabcab >>> 2<<< abcdefghi >>> 7<<< >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> 3<<< >>> 8<<< >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 8<<< >>> 3<<< >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 4<<< >>> 5<<< >>> 50<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 6<<< >>> 1<<< >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> 7<<< >>> 2<<< >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 9<<< >>> 60<<< 123456789 >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tta3-FF���������������������������������������������������������������������0000664�0000000�0000000�00000001414�11624727241�013226� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Te 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: One 7 text\f\f\n; text\f\ 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tne8-t_tab������������������������������������������������������������������0000664�0000000�0000000�00000000304�11624727241�014024� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 aaa abcde fghijklmnopqrstuvw 2 bbb abcde fghijklmnopqrstuvw 3 ccc abcde fghijklmnopqrstuvw 4 ddd abcde fghijklmnopqrstuvw ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml24f-0F��������������������������������������������������������������������0000664�0000000�0000000�00000003445�11624727241�013257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at Start of File 1 FF-Test: FF's at Start of File 2 Options -b -3 / -a -3 / ... 2 Options -b -3 / -a -3 / ... 3 ------------------------------- 3 ------------------------------- 4 3456789 123456789 123456789 12345 4 3456789 123456789 123456789 12345 5 3 Columns downwards ..., <= 5 l 5 3 Columns downwards ..., <= 5 l 6 FF-Arangements: Empty Pages at 6 FF-Arangements: Empty Pages at 7 \ftext; \f\ntext; 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftex 8 \f\ftext; \f\f\ntext; \f\n\ftex 9 3456789 123456789 123456789 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 1 1 2 2 3 line truncation before FF; r_r_o_ 3 line truncation before FF; r_r_o_ 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 7 7 8 8 9 3456789 ab 9 3456789 ab 20 DEFGHI 123 20 DEFGHI 123 1 1 2 2 3 3 4 4 5 5 6 6 27 no truncation before FF; (r_l-te 27 no truncation before FF; (r_l-te 28 no trunc 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+4-8a2l17-FF���������������������������������������������������������������0000664�0000000�0000000�00000001702�11624727241�013663� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz X 31.1 32.2 3456789 abcdefghi 33.3 34.4 35.5 36.6 37.7 38.8 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi A -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz X 45.5 46.6 47.7 48.8 49.9 50.50 51.1 52.2 53.3 54.4 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi A ��������������������������������������������������������������coreutils-8.21/tests/pr/w72l24f-ll������������������������������������������������������������������0000664�0000000�0000000�00000003730�11624727241�013601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 123456789 123456789 123456789 123456789 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ����������������������������������������coreutils-8.21/tests/pr/FFn�������������������������������������������������������������������������0000664�0000000�0000000�00000004576�11624727241�012547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W35Jml24f-lmlo��������������������������������������������������������������0000664�0000000�0000000�00000007771�11624727241�014374� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 1::: Test-INPUT: "Without FF set by Hand" ::: 2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 4<<< 123456789 123456789 123456789 12345678 >>> 4::: Options [+2|+3] [-l 24|17] [-f] ::: 5::: ::: 6<<< -Arangements: One Empty Page >>> 6::: -------------------------------------------- ::: 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, ...: ::: 9<<< >>> 9::: With columns use <= 5 text lines/page, ::: 10<<< >>> 10::: without -f e.g.: -l 15 = total lines/page, ::: 1<<< >>> 1::: with -f e.g. : -l 8 -f ::: 2<<< >>> 2::: ::: 3<<< truncation before FF; r_r_o_l-test: >>> 3::: line truncation before new page; r_r_o_l-test: ::: 14<<< 123456789 123456789 123456789 >>> 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 2 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7::: 12345678 ::: 8::: 12345678 ::: 9::: 3456789 ab ::: 20::: DEFGHI 123 ::: 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 5::: 12345678 ::: 6::: 12345678 ::: 27::: no truncation before nwe page; (r_l-test): ::: 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 7<<< >>> 1::: 12345678 ::: 8<<< >>> 2::: 3456789 abcdefghi ::: 9<<< >>> 3::: 12345678 ::: 20<<< >>> 4::: 12345678 ::: 1<<< >>> 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 6::: 12345678 ::: 7::: 12345678 ::: 4<<< >>> 8::: 12345678 ::: 5<<< >>> 9::: 3456789 abcdefghi ::: 6<<< >>> 40::: DEFGHI 123456789 ::: 27<<< truncation before FF; (r_l-test): >>> 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 28<<< trunc 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 4 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 5::: 12345678 ::: 6::: 12345678 ::: 7::: 12345678 ::: 8::: 12345678 ::: 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50::: 12345678 ::: 1::: 12345678 ::: 2::: 12345678 ::: 3::: 12345678 ::: 4::: 12345678 ::: 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 1<<< >>> 9::: 12345678 ::: 2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 3<<< >>> 1::: ::: 4<<< >>> 2::: ::: 5<<< >>> 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> �������coreutils-8.21/tests/pr/tt-0FF����������������������������������������������������������������������0000664�0000000�0000000�00000002455�11624727241�013070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3ml24f-t��������������������������������������������������������������������0000664�0000000�0000000�00000002574�11624727241�013342� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 1 1 2 2 3 ------- EOF -------- EOF ------- 3 ------- EOF -------- EOF ------- ������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nN15l24f-bl�����������������������������������������������������������������0000664�0000000�0000000�00000006772�11624727241�013702� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 15.1 FF-Test: FF's in Text V 16.2 Options -n; 17.3 numbering lines with skiped pages; 18.4 numbering blanc lines (no. 5,12,13,23,28) 19. 20.6 3456789 123456789 123456789 123456789 12345678 21.7 3 Columns downwards ..., <= 5 lines per page 22.8 23.9 24.10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 25.1 12345678 26. 27. 28.14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 29.15 xyzxyzxyz XYZXYZXYZ abcabcab 30.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.7 12345678 32.8 12345678 33.9 3456789 ab 34.20 DEFGHI 123 35.1 12345678 36. 37. 38.4 12345678 39.5 12345678 40.6 12345678 41.27 no truncation before FF; (r_l-test): 42. -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 43.29 xyzxyzxyz XYZXYZXYZ abcabcab 44.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.1 12345678 46.2 3456789 abcdefghi 47.3 12345678 48.4 12345678 49. 50.6 12345678 51.7 12345678 52.8 12345678 53.9 3456789 abcdefghi 54.40 DEFGHI 123456789 55.41 yzxyzxyz XYZXYZXYZ abcabcab 56.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 57.43 xyzxyzxyz XYZXYZXYZ abcabcab 58.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.5 12345678 60.6 12345678 61.7 12345678 62.8 12345678 63.9 12345678 64.50 12345678 65.1 12345678 66. 67. 68. 69.55 yzxyzxyz XYZXYZXYZ abcabcab 70.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 71. 72.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 73.9 12345678 74.60 DEFGHI 123456789 75.61 yzxyzxyz XYZXYZXYZ abcabcab 76.62 456789 123456789 abcdefghi ABCDEDFHI 77.63 xyzxyzxyz XYZXYZXYZ abcabcab 78.64 456789 123456789 xyzxyzxyz XYZXYZXYZ 79.5 12345678 80.6 12345678 81.7 12345678 82.8 12345678 83.9 12345678 84.70 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 10 85.1 12345678 86. 87. 88. 89.74 yzxyzxyz XYZXYZXYZ abcabcab 90.75 456789 123456789 abcdefghi ABCDEDFHI ������coreutils-8.21/tests/pr/n+6b3l13f-FF����������������������������������������������������������������0000664�0000000�0000000�00000002110�11624727241�013656� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 29.29 xyzxyzxyz XYZXYZ 32.2 3456789 abcdefghi 35.5 30.30 456789 123456789 33.3 36.6 31.1 34.4 37.7 -- Date/Time -- x Page 8 38.8 40.40 DEFGHI 123456789 42.42 456789 123456789 39.9 3456789 abcdefghi 41.41 yzxyzxyz XYZXYZX -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43.43 xyzxyzxyz XYZXYZ 46.6 49.9 44.44 456789 123456789 47.7 50.50 45.5 48.8 51.1 -- Date/Time -- x Page 12 52.2 54.4 56.56 456789 123456789 53.3 55.55 yzxyzxyz XYZXYZX -- Date/Time -- x Page 13 57.57 xyzxyzxyz XYZXYZ 59.9 60.60 DEFGHI 123456789 58.58 456789 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W-72l24f-ll�����������������������������������������������������������������0000664�0000000�0000000�00000003720�11624727241�013615� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 123456789 123456789 123456789 123456 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ������������������������������������������������coreutils-8.21/tests/pr/n+4b2l17f-0FF���������������������������������������������������������������0000664�0000000�0000000�00000001105�11624727241�013742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 22.2 16.16 456789 123456789 xyzxyzxyz X 23.3 17.7 24.4 18.8 25.5 19.9 3456789 ab 26.6 20.20 DEFGHI 123 27.27 no truncation before FF; (r_ 21.1 28.28 no trunc -- Date/Time -- x Page 6 29.29 xyzxyzxyz XYZXYZXYZ abcabcab 32.2 3456789 abcdefghi 30.30 456789 123456789 xyzxyzxyz X 33.3 31.1 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/4l24-FF���������������������������������������������������������������������0000664�0000000�0000000�00000003512�11624727241�013041� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tFFt-ll���������������������������������������������������������������������0000664�0000000�0000000�00000002432�11624727241�013333� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 123456789 123456789 123456789 123456789 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/o3a3l24f-tn�����������������������������������������������������������������0000664�0000000�0000000�00000002175�11760630450�013737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 2 Options -b -3 [+2|+ 3 Options -a -3 [+2|+ 4 Options [+2|+ 5 6 ------------------- 7 3456789 123456789 123 8 3 Columns downwards 9 With columns use < 10 without -f e.g.: - 1 with -f e.g. : - 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc -- Date/Time -- x Page 2 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 1 2 3 ------- EOF -------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tt-bl�����������������������������������������������������������������������0000664�0000000�0000000�00000004672�11624727241�013115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -n; 3 numbering lines with skiped pages; 4 numbering blanc lines (no. 5,12,13,23,28) 6 3456789 123456789 123456789 123456789 12345678 7 3 Columns downwards ..., <= 5 lines per page 8 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 61 yzxyzxyz XYZXYZXYZ abcabcab 62 456789 123456789 abcdefghi ABCDEDFHI 63 xyzxyzxyz XYZXYZXYZ abcabcab 64 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 70 456789 123456789 abcdefghi ABCDEDFHI 1 12345678 74 yzxyzxyz XYZXYZXYZ abcabcab 75 456789 123456789 abcdefghi ABCDEDFHI ����������������������������������������������������������������������coreutils-8.21/tests/pr/3l24f-t���������������������������������������������������������������������0000664�0000000�0000000�00000003111�11624727241�013151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml20-bl-FF����������������������������������������������������������������0000664�0000000�0000000�00000007647�11624727241�014037� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 FF-Test: FF's in Text :--:1 FF-Test: FF's in Text 2.2 Options -n; :--:2 Options -b -3 / -a -3 / ... 3.3 numbering lines with skiped :--:3 ---------------------------- 4.4 numbering blanc lines (no. 5:--:4 3456789 123456789 123456789 12 5. :--:5 3 Columns downwards ..., <= 6.6 3456789 123456789 123456789 12:--:6 FF-Arangements: One Empty Pa 7.7 3 Columns downwards ..., <= :--:7 text\f\f\n; text\f\n\ftext; 8.8 :--:8 \f\f\n; \f\n\f\n; 9.9 :--:9 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz12:--:10 zzzzzzzzzzzzzzzzzzzzzzzzzz12 -- Date/Time -- x Page 2 11.1 :--:1 12. :--:2 13. :--:3 line truncation before FF; r_r 14.14 456789 123456789 123456789 12:--:14 456789 123456789 123456789 12 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15.15 xyzxyzxyz XYZXYZXYZ abcabcab :--:15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XY:--:16 456789 123456789 xyzxyzxyz XY 17.7 :--:7 18.8 :--:8 19.9 3456789 ab :--:9 3456789 ab 20.20 DEFGHI 123 :--:20 DEFGHI 123 21.1 :--:1 22. :--:2 23. :--:3 24.4 :--:4 -- Date/Time -- x Page 5 25.5 :--:5 26.6 :--:6 27.27 no truncation before FF; (r_l:--:27 no truncation before FF; (r_l 28. :--:28 no trunc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 29.29 xyzxyzxyz XYZXYZXYZ abcabcab :--:29 xyzxyzxyz XYZXYZXYZ abcabcab 30.30 456789 123456789 xyzxyzxyz XY:--:30 456789 123456789 xyzxyzxyz XY 31.1 :--:1 32.2 3456789 abcdefghi :--:2 3456789 abcdefghi 33.3 :--:3 34.4 :--:4 35. :--:5 36.6 :--:6 37.7 :--:7 38.8 :--:8 -- Date/Time -- x Page 8 39.9 3456789 abcdefghi :--:9 3456789 abcdefghi 40.40 DEFGHI 123456789 :--:40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab :--:41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi AB:--:42 456789 123456789 abcdefghi AB -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43.43 xyzxyzxyz XYZXYZXYZ abcabcab :--:43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XY:--:44 456789 123456789 xyzxyzxyz XY 45.5 :--:5 46.6 :--:6 47.7 :--:7 48.8 :--:8 49.9 :--:9 50.50 :--:50 51.1 :--:1 52. :--:2 -- Date/Time -- x Page 12 53. :--:3 54. :--:4 55.55 yzxyzxyz XYZXYZXYZ abcabcab :--:55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi AB:--:56 456789 123456789 abcdefghi AB -- Date/Time -- x Page 13 57. :--:57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XY:--:58 456789 123456789 xyzxyzxyz XY 59.9 :--:9 60.60 DEFGHI 123456789 :--:60 DEFGHI 123456789 61.61 yzxyzxyz XYZXYZXYZ abcabcab :--: 62.62 456789 123456789 abcdefghi AB:--: 63.63 xyzxyzxyz XYZXYZXYZ abcabcab :--: 64.64 456789 123456789 xyzxyzxyz XY:--: 65.5 :--: 66.6 :--: -- Date/Time -- x Page 14 67.7 :--: 68.8 :--: 69.9 :--: 70.70 456789 123456789 abcdefghi A:--: 71.1 :--: 72. :--: 73. :--: 74. :--: 75.74 yzxyzxyz XYZXYZXYZ abcabcab :--: 76.75 456789 123456789 abcdefghi AB �����������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tFFt-bl���������������������������������������������������������������������0000664�0000000�0000000�00000004701�11624727241�013322� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -n; 3 numbering lines with skiped pages; 4 numbering blanc lines (no. 5,12,13,23,28) 6 3456789 123456789 123456789 123456789 12345678 7 3 Columns downwards ..., <= 5 lines per page 8 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 61 yzxyzxyz XYZXYZXYZ abcabcab 62 456789 123456789 abcdefghi ABCDEDFHI 63 xyzxyzxyz XYZXYZXYZ abcabcab 64 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 70 456789 123456789 abcdefghi ABCDEDFHI 1 12345678 74 yzxyzxyz XYZXYZXYZ abcabcab 75 456789 123456789 abcdefghi ABCDEDFHI ���������������������������������������������������������������coreutils-8.21/tests/pr/3a3f-0F���������������������������������������������������������������������0000664�0000000�0000000�00000000673�11624727241�013067� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 ���������������������������������������������������������������������coreutils-8.21/tests/pr/0F��������������������������������������������������������������������������0000664�0000000�0000000�00000003676�11624727241�012343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ������������������������������������������������������������������coreutils-8.21/tests/pr/0Ft�������������������������������������������������������������������������0000664�0000000�0000000�00000002463�11624727241�012520� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b3f-0F����������������������������������������������������������������������0000664�0000000�0000000�00000001574�11624727241�013006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi ������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml24-t����������������������������������������������������������������������0000664�0000000�0000000�00000005426�11624727241�013110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by 1 Test-INPUT: "Without FF set by 2 Options -b -3 [+2|+3] [-l 15|8] 2 Options -b -3 [+2|+3] [-l 15|8] 3 Options -a -3 [+2|+3] [-l 15|8] 3 Options -a -3 [+2|+3] [-l 15|8] 4 Options [+2|+3] [-l 24|17 4 Options [+2|+3] [-l 24|17 5 5 6 ------------------------------- 6 ------------------------------- 7 3456789 123456789 123456789 12345 7 3456789 123456789 123456789 12345 8 3 Columns downwards, across, .. 8 3 Columns downwards, across, .. 9 With columns use <= 5 text lin 9 With columns use <= 5 text lin 10 without -f e.g.: -l 15 = total 10 without -f e.g.: -l 15 = total 1 with -f e.g. : -l 8 -f 1 with -f e.g. : -l 8 -f 2 2 3 line truncation before new page; 3 line truncation before new page; 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 7 7 8 8 9 3456789 ab 9 3456789 ab 20 DEFGHI 123 20 DEFGHI 123 1 1 2 2 3 3 4 4 5 5 6 6 27 no truncation before nwe page; ( 27 no truncation before nwe page; ( 28 no trunc 28 no trunc -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 1 1 2 2 3 ------- EOF -------- EOF ------- 3 ------- EOF -------- EOF ------- ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2sw60f-t_notab��������������������������������������������������������������0000664�0000000�0000000�00000000333�11624727241�014534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-dddd.bcde-fghijklmn-opqrstuvw- bbbb.bcde-fghijklmn-opqrstuvw-eeee.bcde-fghijklmn-opqrstuvw- cccc.bcde-fghijklmn-opqrstuvw- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ttb3-FF���������������������������������������������������������������������0000664�0000000�0000000�00000001425�11624727241�013231� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Te 6 FF-Arangements: One 1 2 Options -b -3 / -a 7 text\f\f\n; text\f\ 2 3 ------------------- 8 \f\f\n; \f\n\f\n; 3 line truncation befor 4 3456789 123456789 123 9 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi 30 456789 123456789 xyz 5 40 DEFGHI 123456789 1 6 41 yzxyzxyz XYZXYZXYZ a 2 3456789 abcdefghi 7 42 456789 123456789 abc 3 8 43 xyzxyzxyz XYZXYZXYZ 8 3 44 456789 123456789 xyz 9 4 5 50 55 yzxyzxyz XYZXYZXYZ a 6 1 56 456789 123456789 abc 7 2 57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789 58 456789 123456789 xyz �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nJml24f-lmlolm��������������������������������������������������������������0000664�0000000�0000000�00000013654�11624727241�014601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1<<< -Test: FF's in Text >>> 1::: Test-INPUT: "Without FF set by Hand" ::: 1<<< -Test: FF's in Text >>> 2.2<<< -b -3 / -a -3 / ... >>> 2::: Options -b -3 [+2|+3] [-l 15|8] [-f] ::: 2<<< -b -3 / -a -3 / ... >>> 3.3<<< >>> 3::: Options -a -3 [+2|+3] [-l 15|8] [-f] ::: 3<<< >>> 4.4<<< 123456789 123456789 123456789 12345678 >>> 4::: Options [+2|+3] [-l 24|17] [-f] ::: 4<<< 123456789 123456789 123456789 12345678 >>> 5. 5::: ::: 6.6<<< -Arangements: One Empty Page >>> 6::: -------------------------------------------- ::: 6<<< -Arangements: One Empty Page >>> 7.7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 7::: 789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8.8<<< f\f\n; \f\n\f\n; >>> 8::: 3 Columns downwards, across, ...: ::: 8<<< f\f\n; \f\n\f\n; >>> 9.9<<< >>> 9::: With columns use <= 5 text lines/page, ::: 9<<< >>> 10.10<<< >>> 10::: without -f e.g.: -l 15 = total lines/page, ::: 10<<< >>> 11.1<<< >>> 1::: with -f e.g. : -l 8 -f ::: 1<<< >>> 12.2<<< >>> 2::: ::: 2<<< >>> 13.3<<< truncation before FF; r_r_o_l-test: >>> 3::: line truncation before new page; r_r_o_l-test: ::: 3<<< truncation before FF; r_r_o_l-test: >>> 14.14<<< 123456789 123456789 123456789 >>> 14::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 15. 15::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 16. 16::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 17. 7::: 12345678 ::: 18. 8::: 12345678 ::: 19. 9::: 3456789 ab ::: 20. 20::: DEFGHI 123 ::: 21. 21::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 22. 2::: 12345678 ::: 23. 3::: 12345678 ::: 24. 4::: 12345678 ::: 25. 5::: 12345678 ::: 26. 6::: 12345678 ::: 27. 27::: no truncation before nwe page; (r_l-test): ::: 28. 28::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 3 29.15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 29::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 30.16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 30::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 31.7<<< >>> 1::: 12345678 ::: 7<<< >>> 32.8<<< >>> 2::: 3456789 abcdefghi ::: 8<<< >>> 33.9<<< >>> 3::: 12345678 ::: 9<<< >>> 34.20<<< >>> 4::: 12345678 ::: 20<<< >>> 35.1<<< >>> 35::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 1<<< >>> 36. 6::: 12345678 ::: 37. 7::: 12345678 ::: 38.4<<< >>> 8::: 12345678 ::: 4<<< >>> 39.5<<< >>> 9::: 3456789 abcdefghi ::: 5<<< >>> 40.6<<< >>> 40::: DEFGHI 123456789 ::: 6<<< >>> 41.27<<< truncation before FF; (r_l-test): >>> 41::: yzxyzxyz XYZXYZXYZ abcabcab ::: 27<<< truncation before FF; (r_l-test): >>> 42.28<<< trunc 42::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 28<<< trunc -- Date/Time -- x Page 4 43. 43::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 44. 44::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 45. 5::: 12345678 ::: 46. 6::: 12345678 ::: 47. 7::: 12345678 ::: 48. 8::: 12345678 ::: 49. 49::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: 50. 50::: 12345678 ::: 51. 1::: 12345678 ::: 52. 2::: 12345678 ::: 53. 3::: 12345678 ::: 54. 4::: 12345678 ::: 55. 55::: yzxyzxyz XYZXYZXYZ abcabcab ::: 56. 56::: 89 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 ::: -- Date/Time -- x Page 5 57.29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 57::: xyzxyzxyz XYZXYZXYZ abcabcab ::: 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 58.30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58::: 456789 123456789 xyzxyzxyz XYZXYZXYZ ::: 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 59.1<<< >>> 9::: 12345678 ::: 1<<< >>> 60.2<<< abcdefghi >>> 60::: DEFGHI 123456789 ::: 2<<< abcdefghi >>> 61.3<<< >>> 1::: ::: 3<<< >>> 62.4<<< >>> 2::: ::: 4<<< >>> 63.5<<< >>> 3::: ------- EOF -------- EOF -------- EOF ------- EOF ------- EOF ------- EOF ::: 5<<< >>> 64.6<<< >>> 6<<< >>> 65.7<<< >>> 7<<< >>> 66.8<<< >>> 8<<< >>> 67.9<<< abcdefghi >>> 9<<< abcdefghi >>> 68.40<<< 123456789 >>> 40<<< 123456789 >>> 69.41<<< XYZXYZXYZ abcabcab >>> 41<<< XYZXYZXYZ abcabcab >>> 70.42<<< 123456789 abcdefghi ABCDEDFHI >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71.43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 72.44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 73.5<<< >>> 5<<< >>> 74.6<<< >>> 6<<< >>> 75.7<<< >>> 7<<< >>> 76.8<<< >>> 8<<< >>> 77.9<<< >>> 9<<< >>> 78.50<<< >>> 50<<< >>> 79.1<<< >>> 1<<< >>> 80.2<<< >>> 2<<< >>> 81.3<<< >>> 3<<< >>> 82.4<<< >>> 4<<< >>> 83.55<<< XYZXYZXYZ abcabcab >>> 55<<< XYZXYZXYZ abcabcab >>> 84.56<<< 123456789 abcdefghi ABCDEDFHI >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 85.57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 86.58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 87.9<<< >>> 9<<< >>> 88.60<<< 123456789 >>> 60<<< 123456789 >>> ������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3a3l15-t��������������������������������������������������������������������0000664�0000000�0000000�00000001145�11624727241�013234� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 -- Date/Time -- x Page 4 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W20l24f-ll������������������������������������������������������������������0000664�0000000�0000000�00000002151�11624727241�013526� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in 2<<< -b -3 / -a -3 3<<< >>> 4<<< 123456789 1234 6<<< -Arangements: 7<<< \f\f\n; text\f 8<<< f\f\n; \f\n\f\ 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation bef 14<<< 123456789 123 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZ 16<<< 123456789 xyz 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation be 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXY 30<<< 123456789 xyz 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >> 41<<< XYZXYZXYZ abc 42<<< 123456789 abc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZ 44<<< 123456789 xyz 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abc 56<<< 123456789 abc -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZ 58<<< 123456789 xyz 9<<< >>> 60<<< 123456789 >> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn2e8o3-t_tab���������������������������������������������������������������0000664�0000000�0000000�00000000200�11624727241�014343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 aaa abcde fgh 3 ccc abcde fgh 2 bbb abcde fgh 4 ddd abcde fgh ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+5-8b3l17f-FF��������������������������������������������������������������0000664�0000000�0000000�00000001303�11624727241�014031� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 5 29.29 xyzxyzxyz XYZXYZ 34.4 39.9 3456789 abcdefghi 30.30 456789 123456789 35.5 40.40 DEFGHI 123456789 31.1 36.6 41.41 yzxyzxyz XYZXYZX 32.2 3456789 abcdefghi 37.7 42.42 456789 123456789 33.3 38.8 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZ 48.8 53.3 44.44 456789 123456789 49.9 54.4 45.5 50.50 55.55 yzxyzxyz XYZXYZX 46.6 51.1 56.56 456789 123456789 47.7 52.2 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3a3l15f-t�������������������������������������������������������������������0000664�0000000�0000000�00000001125�11624727241�013400� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 -- Date/Time -- x Page 4 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W27l24f-ll������������������������������������������������������������������0000664�0000000�0000000�00000002431�11624727241�013536� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text 2<<< -b -3 / -a -3 / ... 3<<< >>> 4<<< 123456789 123456789 1 6<<< -Arangements: One Emp 7<<< \f\f\n; text\f\n\ftex 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; 14<<< 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ 16<<< 123456789 xyzxyzxyz 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ ab 30<<< 123456789 xyzxyzxyz 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab 42<<< 123456789 abcdefghi -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ 44<<< 123456789 xyzxyzxyz 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab 56<<< 123456789 abcdefghi -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ 58<<< 123456789 xyzxyzxyz 9<<< >>> 60<<< 123456789 >>> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/l24-FF����������������������������������������������������������������������0000664�0000000�0000000�00000006226�11624727241�012762� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3-0F������������������������������������������������������������������������0000664�0000000�0000000�00000002150�11624727241�012465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/FF��������������������������������������������������������������������������0000664�0000000�0000000�00000007020�11624727241�012354� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/pr-tests.pl�����������������������������������������������������������������0000775�0000000�0000000�00000053540�12102337341�014255� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/perl # Test pr. # Copyright (C) 2008-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; # Turn off localization of executable's output. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $prog = 'pr'; my @tv = ( # -b option is no longer an official option. But it's still working to # get a downward compatibility. Now (version 1.19m or newer) -COLUMN # only is equivalent to -b -COLUMN. # # test_name options input-file-name(s) expected-output-group-file-name # expected-return-code # ------------------------------------------------------------------------- # Following tests with "FF set" don't contain a complete set of all # combinations of options and FF-arrangements # # One FF at start of file (one empty page) # ['1a', '', [\'0Ft'], [\'0F'], 0], ['1b', '', [\'0Fnt'], [\'0F'], 0], ['1c', '+3', [\'0Ft'], [\'3-0F'], 0], ['1d', '+3 -f', [\'0Ft'], [\'3f-0F'], 0], ['1e', '-a -3', [\'0Ft'], [\'a3-0F'], 0], ['1f', '-a -3 -f', [\'0Ft'], [\'a3f-0F'], 0], ['1g', '-a -3 -f', [\'0Fnt'], [\'a3f-0F'], 0], ['1h', '+3 -a -3 -f', [\'0Ft'], [\'3a3f-0F'], 0], ['1i', '-b -3', [\'0Ft'], [\'b3-0F'], 0], ['1j', '-b -3 -f', [\'0Ft'], [\'b3f-0F'], 0], ['1k', '-b -3 -f', [\'0Fnt'], [\'b3f-0F'], 0], ['1l', '+3 -b -3 -f', [\'0Ft'], [\'3b3f-0F'], 0], # Two FF at start of file (two empty page) ['2a', '', [\'0FFt'], [\'0FF'], 0], ['2b', '', [\'0FnFnt'], [\'0FF'], 0], ['2c', '-a -3 -f', [\'0FFt'], [\'a3f-0FF'], 0], ['2d', '-a -3 -f', [\'0FFnt'], [\'a3f-0FF'], 0], ['2e', '-b -3 -f', [\'0FFt'], [\'b3f-0FF'], 0], ['2f', '-b -3 -f', [\'0FFnt'], [\'b3f-0FF'], 0], ['2g', '-b -3 -f', [\'0FnFt'], [\'b3f-0FF'], 0], ['2h', '-b -3 -f', [\'0FnFnt'], [\'b3f-0FF'], 0], ['2i', '+3 -b -3 -f', [\'0FFt'], [\'3b3f-0FF'], 0], ['2j', '+3 -b -3 -f', [\'0FFnt'], [\'3b3f-0FF'], 0], # # FFs in text (none / one / two empty page(s)) ['3a', '', [\'FFn'], [\'FF'], 0], ['3b', '', [\'FnFn'], [\'FF'], 0], ['3c', '+3', [\'FFn'], [\'3-FF'], 0], ['3d', '+3 -f', [\'FFn'], [\'3f-FF'], 0], ['3e', '-a -3 -f', [\'FFn'], [\'a3f-FF'], 0], ['3f', '-a -3 -f', [\'FFtn'], [\'a3f-FF'], 0], ['3g', '-b -3 -f', [\'FFn'], [\'b3f-FF'], 0], ['3h', '-b -3 -f', [\'FFtn'], [\'b3f-FF'], 0], ['3i', '-b -3 -f', [\'FnFn'], [\'b3f-FF'], 0], ['3j', '-b -3 -f', [\'tFFn'], [\'b3f-FF'], 0], ['3k', '-b -3 -f', [\'tFnFt'], [\'b3f-FF'], 0], ['3l', '+3 -b -3 -f', [\'FFn'], [\'3b3f-FF'], 0], ['3m', '+3 -b -3 -f', [\'FFtn'], [\'3b3f-FF'], 0], # A full page printed (lines_left_on_page = 0) without a FF found. # Avoid an extra empty page if a FF follows in the next input line. ['3la', '-l 24', [\'FFn'], [\'l24-FF'], 0], ['3lb', '-l 24', [\'FFtn'], [\'l24-FF'], 0], ['3lc', '-l 24', [\'FnFn'], [\'l24-FF'], 0], ['3ld', '-l 24', [\'tFFn'], [\'l24-FF'], 0], ['3le', '-l 24', [\'tFnFt'], [\'l24-FF'], 0], ['3lf', '-l 24', [\'tFFt'], [\'l24-FF'], 0], ['3aa', '-a -2 -l 17', [\'FFn'], [\'a2l17-FF'], 0], ['3ab', '-a -2 -l 17', [\'FFtn'], [\'a2l17-FF'], 0], ['3ac', '-a -2 -l 17', [\'FnFn'], [\'a2l17-FF'], 0], ['3ad', '-a -2 -l 17', [\'tFFn'], [\'a2l17-FF'], 0], ['3ae', '-a -2 -l 17', [\'tFnFt'], [\'a2l17-FF'], 0], ['3af', '-a -2 -l 17', [\'tFFt'], [\'a2l17-FF'], 0], ['3ag', '-a -2 -l 15', [\'FFn'], [\'a2l15-FF'], 0], ['3ah', '-a -2 -l 15', [\'FFtn'], [\'a2l15-FF'], 0], ['3ai', '-a -2 -l 15', [\'FnFn'], [\'a2l15-FF'], 0], ['3aj', '-a -2 -l 15', [\'tFFn'], [\'a2l15-FF'], 0], ['3ak', '-a -2 -l 15', [\'tFnFt'], [\'a2l15-FF'], 0], ['3ba', '-b -2 -l 17', [\'FFn'], [\'b2l17-FF'], 0], ['3bb', '-b -2 -l 17', [\'FFtn'], [\'b2l17-FF'], 0], ['3bc', '-b -2 -l 17', [\'FnFn'], [\'b2l17-FF'], 0], ['3bd', '-b -2 -l 17', [\'tFFn'], [\'b2l17-FF'], 0], ['3be', '-b -2 -l 17', [\'tFnFt'], [\'b2l17-FF'], 0], ['3bf', '-b -2 -l 17', [\'tFFt'], [\'b2l17-FF'], 0], ['3bg', '-b -2 -l 15', [\'FFn'], [\'b2l15-FF'], 0], ['3bh', '-b -2 -l 15', [\'FFtn'], [\'b2l15-FF'], 0], ['3bi', '-b -2 -l 15', [\'FnFn'], [\'b2l15-FF'], 0], ['3bj', '-b -2 -l 15', [\'tFFn'], [\'b2l15-FF'], 0], ['3bk', '-b -2 -l 15', [\'tFnFt'], [\'b2l15-FF'], 0], ['3Pa', '+4 -l 24', [\'FFn'], [\'4l24-FF'], 0], ['3Pb', '+4 -l 24', [\'FFtn'], [\'4l24-FF'], 0], ['3Pc', '+4 -l 24', [\'FnFn'], [\'4l24-FF'], 0], ['3Pd', '+4 -l 24', [\'tFFn'], [\'4l24-FF'], 0], ['3Pe', '+4 -l 24', [\'tFnFt'], [\'4l24-FF'], 0], ['3Pf', '+4 -l 24', [\'tFFt'], [\'4l24-FF'], 0], ['3Pg', '+4:7 -l 24', [\'tFFt'], [\'4-7l24-FF'], 0], ['3Paa', '+3 -a -2 -l 17', [\'FFn'], [\'3a2l17-FF'], 0], ['3Pab', '+3 -a -2 -l 17', [\'FFtn'], [\'3a2l17-FF'], 0], ['3Pac', '+3 -a -2 -l 17', [\'FnFn'], [\'3a2l17-FF'], 0], ['3Pad', '+3 -a -2 -l 17', [\'tFFn'], [\'3a2l17-FF'], 0], ['3Pae', '+3 -a -2 -l 17', [\'tFnFt'], [\'3a2l17-FF'], 0], ['3Paf', '+3 -a -2 -l 17', [\'tFFt'], [\'3a2l17-FF'], 0], ['3Pba', '+3 -b -2 -l 17', [\'FFn'], [\'3b2l17-FF'], 0], ['3Pbb', '+3 -b -2 -l 17', [\'FFtn'], [\'3b2l17-FF'], 0], ['3Pbc', '+3 -b -2 -l 17', [\'FnFn'], [\'3b2l17-FF'], 0], ['3Pbd', '+3 -b -2 -l 17', [\'tFFn'], [\'3b2l17-FF'], 0], ['3Pbe', '+3 -b -2 -l 17', [\'tFnFt'], [\'3b2l17-FF'], 0], ['3Pbf', '+3 -b -2 -l 17', [\'tFFt'], [\'3b2l17-FF'], 0], # # Without "FF set by hand" ['4a', '-l 24', [\'tn'], [\'l24-t'], 0], ['4b', '-l 24 -f', [\'tn'], [\'l24f-t'], 0], ['4c', '+3 -l 24', [\'tn'], [\'3l24-t'], 0], ['4d', '+3 -l 24 -f', [\'tn'], [\'3l24f-t'], 0], ['4e', '+3:5 -l 24 -f', [\'tn'], [\'3-5l24f-t'], 0], ['4f', '-a -3 -l 15', [\'tn'], [\'a3l15-t'], 0], ['4g', '-a -3 -l 15 -f', [\'tn'], [\'a3l15f-t'], 0], ['4h', '+3 -a -3 -l 15', [\'tn'], [\'3a3l15-t'], 0], ['4i', '+3 -a -3 -l 15 -f', [\'tn'], [\'3a3l15f-t'], 0], ['4j', '-b -3 -l 15', [\'tn'], [\'b3l15-t'], 0], ['4k', '-b -3 -l 15 -f', [\'tn'], [\'b3l15f-t'], 0], ['4l', '+3 -b -3 -l 15', [\'tn'], [\'3b3l15-t'], 0], ['4m', '+3 -b -3 -l 15 -f', [\'tn'], [\'3b3l15f-t'], 0], # # Merge input files (-m option) ['5a', '-m -l 24', [\'tn', \'tn'], [\'ml24-t'], 0], ['5b', '-m -l 24 -f', [\'tn', \'tn'], [\'ml24f-t'], 0], ['5c', '+3 -m -l 24', [\'tn', \'tn'], [\'3ml24-t'], 0], ['5d', '+3 -m -l 24 -f', [\'tn', \'tn'], [\'3ml24f-t'], 0], ['5e', '-m -l 24 -f', [\'0Ft', \'0Ft'], [\'ml24f-0F'], 0], ['5f', '-m -l 24 -f', [\'0Ft', \'0Fnt'], [\'ml24f-0F'], 0], ['5g', '-m -l 24 -f', [\'tn', \'0Ft'], [\'ml24f-t-0F'], 0], # A full page printed (lines_left_on_page = 0) without a FF found. # Avoid an extra empty page if a FF follows in the next input line. ['5ma', '-m -l 24', [\'tFFn', \'tFnFt'], [\'ml24-FF'], 0], ['5mb', '-m -l 24', [\'tFFn', \'FFn'], [\'ml24-FF'], 0], ['5mc', '-m -l 24', [\'tn', \'FFn'], [\'ml24-t-FF'], 0], ['5md', '-m -l 20', [\'FFn', \'tn'], [\'ml20-FF-t'], 0], ['5Pma', '+3 -m -l 24', [\'FFn', \'FnFn'], [\'3ml24-FF'], 0], ['5Pmb', '+3 -m -l 24', [\'tFFn', \'FFn'], [\'3ml24-FF'], 0], ['5Pmc', '+3 -m -l 24', [\'tn', \'FFn'], [\'3ml24-t-FF'], 0], # # Do not print header and footer but retain "FF set by Hand" # (-t option) ['6a', '-t -l 24', [\'tn'], [\'t-t'], 0], ['6b', '-t -l 24 -f', [\'tn'], [\'t-t'], 0], ['6c', '-t -l 24 -f', [\'tFFt-bl'], [\'t-bl'], 0], ['6d', '-t -l 24', [\'0FnFnt'], [\'t-0FF'], 0], ['6e', '-t -l 24', [\'FFn'], [\'t-FF'], 0], ['6f', '-t -l 24', [\'FnFn'], [\'t-FF'], 0], ['6g', '-t -l 24 -f', [\'FFn'], [\'t-FF'], 0], ['6aa', '-t -a -3', [\'0FnFnt'], [\'ta3-0FF'], 0], ['6ab', '-t -a -3', [\'FFn'], [\'ta3-FF'], 0], ['6ac', '-t -a -3 -l 24', [\'FnFn'], [\'ta3-FF'], 0], ['6ba', '-t -b -3', [\'0FnFnt'], [\'tb3-0FF'], 0], ['6bb', '-t -b -3', [\'FFn'], [\'tb3-FF'], 0], ['6bc', '-t -b -3 -l 24', [\'FnFn'], [\'tb3-FF'], 0], # # Do not print header and footer nor "FF set by Hand" (-T option) ['7a', '-T -l 24', [\'tn'], [\'tt-t'], 0], ['7b', '-T -l 24 -f', [\'tn'], [\'tt-t'], 0], ['7c', '-T -l 24 -f', [\'tFFt-bl'], [\'tt-bl'], 0], ['7d', '-T -l 24', [\'0FnFnt'], [\'tt-0FF'], 0], ['7e', '-T -l 24', [\'FFn'], [\'tt-FF'], 0], ['7f', '-T -l 24', [\'FnFn'], [\'tt-FF'], 0], ['7g', '-T -l 24 -f', [\'FFn'], [\'tt-FF'], 0], ['7aa', '-T -a -3', [\'0FnFnt'], [\'tta3-0FF'], 0], ['7ab', '-T -a -3', [\'FFn'], [\'tta3-FF'], 0], ['7ac', '-T -a -3 -l 24', [\'FnFn'], [\'tta3-FF'], 0], ['7ba', '-T -b -3', [\'0FnFnt'], [\'ttb3-0FF'], 0], ['7bb', '-T -b -3', [\'FFn'], [\'ttb3-FF'], 0], ['7bc', '-T -b -3 -l 24', [\'FnFn'], [\'ttb3-FF'], 0], # # lhs-truncation of header # pr-1.19m: Text line truncation only with column output # # numbering lines (-n -N option) # skip pages (+FIRST_PAGE[:LAST_PAGE] option) ['9a', '-n.3 -l 24 -f', [\'tFFt-bl'], [\'nl24f-bl'], 0], ['9b', '-n.3 -N 15 -l 24 -f', [\'tFFt-bl'], [\'nN15l24f-bl'], 0], ['9Pa', '-n.3 +2 -l 24 -f', [\'tFFt-bl'], [\'n+2l24f-bl'], 0], ['9Pb', '-n.3 +3 -l 24 -f', [\'tFFt-bl'], [\'n+3l24f-bl'], 0], ['9Pc', '-n.3 -N 1 +3 -l 24 -f', [\'tFFt-bl'], [\'nN1+3l24f-bl'], 0], ['9Pe', '-n.3 +2 -l 24 -f', [\'0FFt'], [\'n+2l24f-0FF'], 0], ['9Pf', '-n.3 +2 -l 24 -f', [\'0FFnt'], [\'n+2l24f-0FF'], 0], ['9Pg', '-n.3 +2 -l 24 -f', [\'0FnFt'], [\'n+2l24f-0FF'], 0], ['9Ph', '-n.3 +2 -l 24 -f', [\'0FnFnt'], [\'n+2l24f-0FF'], 0], ['9Pi', '-n.3 +2:5 -l 24 -f', [\'0FFt'], [\'n+2-5l24f-0FF'], 0], ['9Pj', '-n.3 +3 -l 24 -f', [\'0FFt'], [\'n+3l24f-0FF'], 0], ['9Pk', '-n.3 +3 -l 24 -f', [\'0FFnt'], [\'n+3l24f-0FF'], 0], ['9Pl', '-n.3 +3 -l 24 -f', [\'0FnFt'], [\'n+3l24f-0FF'], 0], ['9Pm', '-n.3 +3 -l 24 -f', [\'0FnFnt'], [\'n+3l24f-0FF'], 0], ['9Pn', '-n.3 +7 -l 24', [\'FFn'], [\'n+7l24-FF'], 0], ['9Po', '-n.3 +7 -l 24', [\'FFtn'], [\'n+7l24-FF'], 0], ['9Pp', '-n.3 +7 -l 24', [\'FnFn'], [\'n+7l24-FF'], 0], ['9Pq', '-n.3 +3:7 -l 24', [\'FnFn'], [\'n+3-7l24-FF'], 0], ['9Pr', '-n.3 +8 -l 20', [\'tFFn'], [\'n+8l20-FF'], 0], ['9Ps', '-n.3 +8 -l 20', [\'tFnFt'], [\'n+8l20-FF'], 0], ['9Pt', '-n.3 +8 -l 20', [\'tFFt'], [\'n+8l20-FF'], 0], ['9Paa', '-n.3 +5 -a -3 -l 13 -f', [\'0FFt'], [\'n+5a3l13f-0FF'], 0], ['9Pab', '-n.3 +5 -a -3 -l 13 -f', [\'0FFnt'], [\'n+5a3l13f-0FF'], 0], ['9Pac', '-n.3 +5 -a -3 -l 13 -f', [\'0FnFt'], [\'n+5a3l13f-0FF'], 0], ['9Pad', '-n.3 +5 -a -3 -l 13 -f', [\'0FnFnt'], [\'n+5a3l13f-0FF'], 0], ['9Pae', '-n.3 +6 -a -2 -l 17', [\'FFn'], [\'n+6a2l17-FF'], 0], ['9Paf', '-n.3 +6 -a -2 -l 17', [\'FFtn'], [\'n+6a2l17-FF'], 0], ['9Pag', '-n.3 +6 -a -2 -l 17', [\'FnFn'], [\'n+6a2l17-FF'], 0], ['9Pah', '-n.3 +6 -a -2 -l 17', [\'tFFn'], [\'n+6a2l17-FF'], 0], ['9Pai', '-n.3 +6 -a -2 -l 17', [\'tFnFt'], [\'n+6a2l17-FF'], 0], ['9Paj', '-n.3 +6 -a -2 -l 17', [\'tFFt'], [\'n+6a2l17-FF'], 0], ['9Pak', '-n.3 +4:8 -a -2 -l 17', [\'tFFt'], [\'n+4-8a2l17-FF'], 0], ['9Pba', '-n.3 +4 -b -2 -l 17 -f', [\'0FFt'], [\'n+4b2l17f-0FF'], 0], ['9Pbb', '-n.3 +4 -b -2 -l 17 -f', [\'0FFnt'], [\'n+4b2l17f-0FF'], 0], ['9Pbc', '-n.3 +4 -b -2 -l 17 -f', [\'0FnFt'], [\'n+4b2l17f-0FF'], 0], ['9Pbd', '-n.3 +4 -b -2 -l 17 -f', [\'0FnFnt'], [\'n+4b2l17f-0FF'], 0], ['9Pbe', '-n.3 +6 -b -3 -l 13 -f', [\'FFn'], [\'n+6b3l13f-FF'], 0], ['9Pbf', '-n.3 +6 -b -3 -l 13 -f', [\'FFtn'], [\'n+6b3l13f-FF'], 0], ['9Pbg', '-n.3 +6 -b -3 -l 13 -f', [\'FnFn'], [\'n+6b3l13f-FF'], 0], ['9Pbh', '-n.3 +6 -b -3 -l 13 -f', [\'tFFn'], [\'n+6b3l13f-FF'], 0], ['9Pbi', '-n.3 +6 -b -3 -l 13 -f', [\'tFnFt'], [\'n+6b3l13f-FF'], 0], ['9Pbj', '-n.3 +6 -b -3 -l 13 -f', [\'tFFt'], [\'n+6b3l13f-FF'], 0], ['9Pbk', '-n.3 +5:8 -b -3 -l 17 -f', [\'FnFn'], [\'n+5-8b3l17f-FF'], 0], ['9Pma', '-n.3 +3 -m -l 20 -f', [\'tFFt-bl', \'FnFn'], [\'n+3ml20f-bl-FF'], 0], ['9Pmb', '-n.3 +3 -m -l 24 -f', [\'tFFt-bl', \'tn'], [\'n+3ml24f-bl-tn'], 0], ['9Pmc', '-n.3 +3 -m -l 24 -f', [\'tn', \'tFFt-bl'], [\'n+3ml24f-tn-bl'], 0], # # line truncation column alignment; header line truncation # -w/W PAGE_WIDTH [-J] options ['10wa', '-W 72 -J -l24 -f', [\'tFFt-ll'], [\'W72Jl24f-ll'], 0], ['10wb', '-w 72 -J -l24 -f', [\'tFFt-ll'], [\'W72Jl24f-ll'], 0], ['10wc', '-W 72 -l24 -f', [\'tFFt-ll'], [\'W-72l24f-ll'], 0], ['10wd', '-w 72 -l24 -f', [\'tFFt-ll'], [\'w72l24f-ll'], 0], ['10we', '-W 28 -l24 -f', [\'tFFt-ll'], [\'W28l24f-ll'], 0], ['10wf', '-W 27 -l24 -f', [\'tFFt-ll'], [\'W27l24f-ll'], 0], ['10wg', '-W 26 -l24 -f', [\'tFFt-ll'], [\'W26l24f-ll'], 0], ['10wh', '-W 20 -l24 -f', [\'tFFt-ll'], [\'W20l24f-ll'], 0], ['10ma', '-m -l 24 -f', [\'tFFt-lm', \'loli'], [\'ml24f-lm-lo'], 0], ['10mb', '-W 35 -m -l 24 -f', [\'tFFt-lm', \'loli'], [\'W35ml24f-lm-lo'], 0], ['10mc', '-w 35 -m -l 24 -f', [\'tFFt-lm', \'loli'], [\'W35ml24f-lm-lo'], 0], ['10md', '-J -m -l 24 -f', [\'tFFt-lm', \'loli'], [\'Jml24f-lm-lo'], 0], ['10me', '-W 35 -J -m -l 24 -f', [\'tFFt-lm', \'loli'], [\'W35Jml24f-lmlo'], 0], ['10mf', '-w 35 -J -m -l 24 -f', [\'tFFt-lm', \'loli'], [\'W35Jml24f-lmlo'], 0], ['10mg', '-n.3 -J -m -l 24 -f', [\'tFFt-lm', \'tFFt-lm', \'loli'], [\'nJml24f-lmlmlo'], 0], ['10mh', '-n.3 -J -m -l 24 -f', [\'tFFt-lm', \'loli', \'tFFt-lm'], [\'nJml24f-lmlolm'], 0], ['10aa', '-a -3 -l 24 -f', [\'tFFt-lm'], [\'a3l24f-lm'], 0], ['10ab', '-W 35 -a -3 -l 24 -f', [\'tFFt-lm'], [\'W35a3l24f-lm'], 0], ['10ac', '-J -a -3 -l 24 -f', [\'tFFt-lm'], [\'Ja3l24f-lm'], 0], ['10ad', '-W 35 -J -a -3 -l 24 -f', [\'tFFt-lm'], [\'W35Ja3l24f-lm'], 0], ['10ba', '-b -3 -l 24 -f', [\'tFFt-lm'], [\'b3l24f-lm'], 0], ['10bb', '-W 35 -b -3 -l 24 -f', [\'tFFt-lm'], [\'W35b3l24f-lm'], 0], ['10bc', '-J -b -3 -l 24 -f', [\'tFFt-lm'], [\'Jb3l24f-lm'], 0], ['10bd', '-W 35 -J -b -3 -l 24 -f', [\'tFFt-lm'], [\'W35Jb3l24f-lm'], 0], # # merge files (-m option) use separator string (-S option) ['11sa', '-n.3 -S:--: -m -l 20 -f', [\'tFFt-bl', \'FnFn'], [\'nSml20-bl-FF'], 0], ['11sb', '-n.3 -S:--: -m -l 24 -f', [\'tFFt-bl', \'FnFn'], [\'nSml24-bl-FF'], 0], ['11se', '-n.3 -S:--: -m -l 20 -f', [\'tn', \'tn', \'FnFn'], [\'nSml20-t-t-FF'], 0], ['11sf', '-n.3 -S:--: -m -l 24 -f', [\'tn', \'tn', \'FnFn'], [\'nSml24-t-t-FF'], 0], ['11sg', '-n.3 -S:--: -m -l 20 -f', [\'tn', \'tn', \'FnFn', \'FnFn'], [\'nSml20-t-tFFFF'], 0], ['11sh', '-n.3 -S:--: -m -l 24 -f', [\'tn', \'tn', \'FnFn', \'FnFn'], [\'nSml24-t-tFFFF'], 0], # # left margin (-o option) and separator string (-S option) ['12aa', '-o3 -a -3 -l24 -f', [\'tn'], [\'o3a3l24f-tn'], 0], ['12ab', '-o3 -a -3 -S:--: -l24 -f', [\'tn'], [\'o3a3Sl24f-tn'], 0], ['12ac', '-o3 -a -3 -S:--: -n. -l24 -f', [\'tn'], [\'o3a3Snl24f-tn'], 0], ['12ba', '-o3 -b -3 -l24 -f', [\'tn'], [\'o3b3l24f-tn'], 0], ['12bb', '-o3 -b -3 -S:--: -l24 -f', [\'tn'], [\'o3b3Sl24f-tn'], 0], ['12bc', '-o3 -b -3 -S:--: -n. -l24 -f', [\'tn'], [\'o3b3Snl24f-tn'], 0], ['12ma', '-o3 -m -l24 -f', [\'tFFt-bl', \'tn'], [\'o3ml24f-bl-tn'], 0], ['12mb', '-o3 -m -S:--: -l24 -f', [\'tFFt-bl', \'tn'], [\'o3mSl24f-bl-tn'], 0], ['12mc', '-o3 -m -S:--: -n. -l24 -f', [\'tFFt-bl', \'tn'], [\'o3mSnl24fbltn'], 0], ['12md', '-o3 -J -m -l24 -f', [\'tFFt-lm', \'loli'], [\'o3Jml24f-lm-lo'], 0], # # # Single column output: POSIX compliant, adapt other UNIXes (SunOS.5.5.1 e.g.) # number-separator TAB always an output TAB --> varying number/text-spacing ['13a', '-t -n -e8', [\'t_tab'], [\'tne8-t_tab'], 0], ['13b', '-t -n -e8 -o3', [\'t_tab'], [\'tne8o3-t_tab'], 0], # # POSIX compliant: multi-columns of equal width (unlike SunOS.5.5.1 e.g.) # text-tab handling ['13ba', '-t -n -2 -e8', [\'t_tab'], [\'tn2e8-t_tab'], 0], ['13bb', '-t -n: -2 -e8', [\'t_tab'], [\'tn_2e8-t_tab'], 0], ['13bc', '-t -n: -2 -e8 -S----', [\'t_tab'], [\'tn_2e8S-t_tab'], 0], ['13bd', '-t -n -2 -e8 -o3', [\'t_tab'], [\'tn2e8o3-t_tab'], 0], # number-separator TAB not treated as input text-tab, no '-e' expansion ['13be', '-t -n -2 -e5 -o3', [\'t_tab'], [\'tn2e5o3-t_tab'], 0], # input-tab-char ':' not equal default (text) TABs ['13bf', '-t -n -2 -e:8', [\'t_tab_'], [\'tn2e8-t_tab'], 0], # # options -w/-s: POSIX-compliant, means adapting the interference of -w/-s # with multi-column output from other UNIXes (SunOS e.g.); # columns, truncated = 72 / separator = space : ['14a', '-2 -f', [\'t_notab'], [\'2f-t_notab'], 0], # full lines, no truncation / separator = TAB : ['14b', '-2 -s -f', [\'t_notab'], [\'2sf-t_notab'], 0], # full lines, no truncation / separator = ':' : ['14c', '-2 -s: -f', [\'t_notab'], [\'2s_f-t_notab'], 0], # columns, truncated = 60 / separator = space : ['14d', '-2 -w60 -f', [\'t_notab'], [\'2w60f-t_notab'], 0], # columns, truncated = 60 / no separator (SunOS-BUG: line width to small): ['14e', '-2 -s -w60 -f', [\'t_notab'], [\'2sw60f-t_notab'], 0], # columns, truncated = 60 / separator = ':' (HP-UX.10.20-2-BUG: # ':' missing with -m option): ['14f', '-2 -s: -w60 -f', [\'t_notab'], [\'2s_w60f-t_nota'], 0], # # new long-options -W/-S/-J disentangle those options (see also No.'10*') # columns, truncated = 72 / no separator : ['14g', '-2 -S -f', [\'t_notab'], [\'2-Sf-t_notab'], 0], # full lines, no truncation / separator = TAB : (Input: -S"<TAB>") ['14h', '-2 -S" " -J -f', [\'t_notab'], [\'2sf-t_notab'], 0], # columns, truncated = 72 / separator ':' : ['14i', '-2 -S: -f', [\'t_notab'], [\'2-S_f-t_notab'], 0], # full lines, no truncation / separator = ':' : ['14j', '-2 -S: -J -f', [\'t_notab'], [\'2s_f-t_notab'], 0], # columns, truncated = 60 / separator = space: ['14k', '-2 -W60 -f', [\'t_notab'], [\'2w60f-t_notab'], 0], # columns, truncated = 60 / no separator : ['14l', '-2 -S -W60 -f', [\'t_notab'], [\'2sw60f-t_notab'], 0], # columns, truncated = 60 / separator = ':' : ['14m', '-2 -S: -W60 -f', [\'t_notab'], [\'2s_w60f-t_nota'], 0], # # Tabify multiple spaces, -i option # number of input spaces between a and b must not change; be careful # comparing with other UNIXes (some other SunOS examples are OK !?) # SunOS.5.5.1-BUG: 8 input spaces --> 11 output spaces between a and b; ['i-opt-a', '-tn -i5 -h ""', "a b\n", " 1 a b\n", 0], # SunOS.5.5.1-BUG: 8 input spaces --> 9 output spaces between a and b; ['i-opt-b', '-tn -i5 -o9 -h ""', "a b\n", " 1 a b\n", 0], # # line number overflow not allowed: cut off leading digits; # don't adapt other UNIXes, no real standard to follow, a consequent # programming of column handling may change the GNU pr concept. ['ncut-a', '-tn2 -N98', "y\ny\ny\ny\ny\n", "98 y\n99 y\n00 y\n01 y\n02 y\n", 0], ['ncut-b', '-tn:2 -N98', "y\ny\ny\ny\ny\n", "98:y\n99:y\n00:y\n01:y\n02:y\n", 0], ['margin-0', '-o 0', '', '', 0], # BUG fixed: that leading space on 3rd line of output should not be there ['dbl-sp-a', '-d -l 14 -h ""', "1\n2\n", "\n\n-- Date/Time -- " . "Page 1\n\n\n1\n\n2\n\n\n\n\n\n\n", 0], # This test failed with 1.22e and earlier. ['dbl-sp-b', '-d -t', "1\n2\n", "1\n\n2\n\n", 0], # This test would segfault with 2.0f and earlier. ['narrow-1', '-W1 -t', "12345\n", "1\n", 0], # This test would fail with textutils-2.1 and earlier. ['col-last', '-W3 -t2', "a\nb\nc\n", "a c\nb\n", 0], # Make sure that -02 is treated just like -2. ['col-02', '-W3 -t -02', "a\nb\nc\n", "a c\nb\n", 0], # The -2 must override preceding column-count-specifying options. ['col-2', '-W3 -t -4 --columns=1 -2', "a\nb\nc\n", "a c\nb\n", 0], # The --columns=2 must override preceding column-count-specifying options. ['col-long', '-W3 -t -1 --columns=2', "a\nb\nc\n", "a c\nb\n", 0], # Make sure these fail. ['col-0', '-0', '', '', 1, "$prog: invalid number of columns: '0'\n"], ['col-inval', '-'.'9'x100, '', '', 1, "$prog: invalid number of columns: '". ('9'x100) ."'\n"], # Before coreutils-5.3.1, --pages=1:-1 would be treated like # --pages=1:18446744073709551615. ['neg-page', '--pages=1:-1', '', '', 1, "$prog: invalid --pages argument '1:-1'\n"], # Up to coreutils-6.10, this would cause pr to decrement its # internal "input_position" below zero and sometimes segfault. ['neg-inp-pos1', '-t -e', "\b\b\b\b\b\b\tx\n", " x\n", 0], # NB: while there are 4 backspaces in the input, there are only 3 in the output ['neg-inp-pos2', '-t -e', "abc\b\b\b\b\tx", "abc\b\b\b x\n", 0], # This would clobber so much of the heap, it'd segfault or abort every time. ['smash-heap', '-t -e300', "a".("\b"x50)."\t", "a\b".(" "x300)."\n", 0], ['smash-heap8', '-t -e', "a".("\b"x50)."\t", "a\b".(" "x 8)."\n", 0], # Before coreutils-8.13 page numbers were not handled correctly when # headers were not printed (when -l <= 10 or -t or -T specified) ['page-range', '+1:1 -2 -l1 -s" "', "a\nb\nc\n", "a b\n", 0], # This padded with zeros before coreutils-8.21 ['padding1', '-t -n,15', "1\n", (" "x 14)."1,1\n", 0], # This crashed with divide by zero before coreutils-8.21 ['padding2', '-t -n,64', "1\n", (" "x 63)."1,1\n", 0], # Ensure we handle buffer truncation correctly ['padding3', '-t -N1000000 -n,1', "1\n", "0,1\n", 0], ); # Convert the above old-style test vectors to the newer # format used by Coreutils.pm. my $pfx = "$ENV{abs_srcdir}/tests/pr"; # Normalize otherwise-variable output page headers. my $common_option_prefix = '--date-format="-- Date/Time --" -h x'; my @Tests; foreach my $t (@tv) { my ($test_name, $flags, $in, $exp, $ret, $err_msg) = @$t; my $new_ent = [$test_name, $common_option_prefix, $flags]; if (!ref $in) { push @$new_ent, {IN=>$in}; } else { foreach my $e (@$in) { my $file_name = $$e; push @$new_ent, {IN=>{"$pfx/$file_name"=>undef}}; } } if (!ref $exp) { push @$new_ent, {OUT=>$exp}; } else { foreach my $e (@$exp) { my $file_name = $$e; push @$new_ent, {OUT=>{"$pfx/$file_name"=>undef}}; } } $ret and push @$new_ent, {EXIT=>$ret}, {ERR=>$err_msg}; push @Tests, $new_ent; } # Exercise a bug with pr -m -s (commit 553d347) push @Tests, ['merge-w-tabs', '-m -s -t', {IN=>{1=>"a\tb\tc\n"}}, {IN=>{2=>"m\tn\to\n"}}, {IN=>{3=>"x\ty\tz\n"}}, {OUT=>join("\t", qw(a b c m n o x y z)) . "\n"} ]; @Tests = triple_test \@Tests; my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose); exit $fail; ����������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+2-5l24f-0FF���������������������������������������������������������������0000664�0000000�0000000�00000003031�11624727241�013654� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 1.1 FF-Test: FF's at Start of File V 2.2 Options -b -3 / -a -3 / ... 3.3 -------------------------------------------- 4.4 3456789 123456789 123456789 123456789 12345678 5.5 3 Columns downwards ..., <= 5 lines per page 6.6 FF-Arangements: Empty Pages at start 7.7 \ftext; \f\ntext; 8.8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9.9 3456789 123456789 123456789 10.10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 11.1 12345678 12.2 12345678 13.3 line truncation before FF; r_r_o_l-test: 14.14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.7 12345678 18.8 12345678 19.9 3456789 ab 20.20 DEFGHI 123 21.1 12345678 22.2 12345678 23.3 12345678 24.4 12345678 25.5 12345678 26.6 12345678 27.27 no truncation before FF; (r_l-test): 28.28 no trunc �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+3ml24f-bl-tn��������������������������������������������������������������0000664�0000000�0000000�00000005336�11624727241�014343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15.15 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 16.16 456789 123456789 xyzxyzxyz XYZ 30 456789 123456789 xyzxyzxyz XYZ 17.7 1 18.8 2 3456789 abcdefghi 19.9 3456789 ab 3 20.20 DEFGHI 123 4 21.1 5 22. 6 23. 7 24.4 8 25.5 9 3456789 abcdefghi 26.6 40 DEFGHI 123456789 27.27 no truncation before FF; (r_l- 41 yzxyzxyz XYZXYZXYZ abcabcab 28. 42 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 4 29. 43 xyzxyzxyz XYZXYZXYZ abcabcab 30. 44 456789 123456789 xyzxyzxyz XYZ 31. 5 32. 6 33. 7 34. 8 35. 9 36. 50 37. 1 38. 2 39. 3 40. 4 41. 55 yzxyzxyz XYZXYZXYZ abcabcab 42. 56 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 5 43.29 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 44.30 456789 123456789 xyzxyzxyz XYZ 58 456789 123456789 xyzxyzxyz XYZ 45.1 9 46.2 3456789 abcdefghi 60 DEFGHI 123456789 47.3 1 48.4 2 49. 3 ------- EOF -------- EOF ----- 50.6 51.7 52.8 53.9 3456789 abcdefghi 54.40 DEFGHI 123456789 55.41 yzxyzxyz XYZXYZXYZ abcabcab 56.42 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 57.43 xyzxyzxyz XYZXYZXYZ abcabcab 58.44 456789 123456789 xyzxyzxyz XYZ 59.5 60.6 61.7 62.8 63.9 64.50 65.1 66. 67. 68. 69.55 yzxyzxyz XYZXYZXYZ abcabcab 70.56 456789 123456789 abcdefghi ABC -- Date/Time -- x Page 9 71. 72.58 456789 123456789 xyzxyzxyz XYZ 73.9 74.60 DEFGHI 123456789 75.61 yzxyzxyz XYZXYZXYZ abcabcab 76.62 456789 123456789 abcdefghi ABC 77.63 xyzxyzxyz XYZXYZXYZ abcabcab 78.64 456789 123456789 xyzxyzxyz XYZ 79.5 80.6 81.7 82.8 83.9 84.70 456789 123456789 abcdefghi AB -- Date/Time -- x Page 10 85.1 86. 87. 88. 89.74 yzxyzxyz XYZXYZXYZ abcabcab 90.75 456789 123456789 abcdefghi ABC ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+7l24-FF�������������������������������������������������������������������0000664�0000000�0000000�00000002135�11624727241�013275� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.5 12345678 46.6 12345678 47.7 12345678 48.8 12345678 49.9 12345678 50.50 12345678 51.1 12345678 52.2 12345678 53.3 12345678 54.4 12345678 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57.57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.9 12345678 60.60 DEFGHI 123456789 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W72Jl24f-ll�����������������������������������������������������������������0000664�0000000�0000000�00000003730�11624727241�013653� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 123456789 123456789 123456789 123456789 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> ����������������������������������������coreutils-8.21/tests/pr/nN1+3l24f-bl����������������������������������������������������������������0000664�0000000�0000000�00000005625�11624727241�013747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1.15 xyzxyzxyz XYZXYZXYZ abcabcab 2.16 456789 123456789 xyzxyzxyz XYZXYZXYZ 3.7 12345678 4.8 12345678 5.9 3456789 ab 6.20 DEFGHI 123 7.1 12345678 8. 9. 10.4 12345678 11.5 12345678 12.6 12345678 13.27 no truncation before FF; (r_l-test): 14. -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15.29 xyzxyzxyz XYZXYZXYZ abcabcab 16.30 456789 123456789 xyzxyzxyz XYZXYZXYZ 17.1 12345678 18.2 3456789 abcdefghi 19.3 12345678 20.4 12345678 21. 22.6 12345678 23.7 12345678 24.8 12345678 25.9 3456789 abcdefghi 26.40 DEFGHI 123456789 27.41 yzxyzxyz XYZXYZXYZ abcabcab 28.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 29.43 xyzxyzxyz XYZXYZXYZ abcabcab 30.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 31.5 12345678 32.6 12345678 33.7 12345678 34.8 12345678 35.9 12345678 36.50 12345678 37.1 12345678 38. 39. 40. 41.55 yzxyzxyz XYZXYZXYZ abcabcab 42.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 43. 44.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.9 12345678 46.60 DEFGHI 123456789 47.61 yzxyzxyz XYZXYZXYZ abcabcab 48.62 456789 123456789 abcdefghi ABCDEDFHI 49.63 xyzxyzxyz XYZXYZXYZ abcabcab 50.64 456789 123456789 xyzxyzxyz XYZXYZXYZ 51.5 12345678 52.6 12345678 53.7 12345678 54.8 12345678 55.9 12345678 56.70 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 10 57.1 12345678 58. 59. 60. 61.74 yzxyzxyz XYZXYZXYZ abcabcab 62.75 456789 123456789 abcdefghi ABCDEDFHI �����������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3b3f-0F���������������������������������������������������������������������0000664�0000000�0000000�00000000676�11624727241�013073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi ������������������������������������������������������������������coreutils-8.21/tests/pr/t-bl������������������������������������������������������������������������0000664�0000000�0000000�00000004703�11624727241�012724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -n; 3 numbering lines with skiped pages; 4 numbering blanc lines (no. 5,12,13,23,28) 6 3456789 123456789 123456789 123456789 12345678 7 3 Columns downwards ..., <= 5 lines per page 8 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 61 yzxyzxyz XYZXYZXYZ abcabcab 62 456789 123456789 abcdefghi ABCDEDFHI 63 xyzxyzxyz XYZXYZXYZ abcabcab 64 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 70 456789 123456789 abcdefghi ABCDEDFHI 1 12345678 74 yzxyzxyz XYZXYZXYZ abcabcab 75 456789 123456789 abcdefghi ABCDEDFHI �������������������������������������������������������������coreutils-8.21/tests/pr/3f-FF�����������������������������������������������������������������������0000664�0000000�0000000�00000004556�11624727241�012675� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a3f-FF����������������������������������������������������������������������0000664�0000000�0000000�00000002716�11624727241�013032� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Te 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: One 7 text\f\f\n; text\f\ 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 ��������������������������������������������������coreutils-8.21/tests/pr/t-FF������������������������������������������������������������������������0000664�0000000�0000000�00000004572�11624727241�012626� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a3f-0F����������������������������������������������������������������������0000664�0000000�0000000�00000001573�11624727241�013004� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at St 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: Emp 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntex 9 3456789 123456789 123 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 �������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/0FF�������������������������������������������������������������������������0000664�0000000�0000000�00000004110�11624727241�012431� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 6 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/b2l15-FF��������������������������������������������������������������������0000664�0000000�0000000�00000004251�11624727241�013202� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 6 FF-Arangements: One Empty Page 2 Options -b -3 / -a -3 / ... 7 text\f\f\n; text\f\n\ftext; \f\ 3 ------------------------------- 8 \f\f\n; \f\n\f\n; 4 3456789 123456789 123456789 12345 9 5 3 Columns downwards ..., <= 5 l 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 -- Date/Time -- x Page 2 1 3 line truncation before FF; r_r_o_ 2 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 20 DEFGHI 123 16 456789 123456789 xyzxyzxyz XYZXY 1 7 2 8 3 9 3456789 ab 4 -- Date/Time -- x Page 5 5 27 no truncation before FF; (r_l-te 6 28 no trunc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 29 xyzxyzxyz XYZXYZXYZ abcabcab 4 30 456789 123456789 xyzxyzxyz XYZXY 5 1 6 2 3456789 abcdefghi 7 3 8 -- Date/Time -- x Page 8 9 3456789 abcdefghi 41 yzxyzxyz XYZXYZXYZ abcabcab 40 DEFGHI 123456789 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43 xyzxyzxyz XYZXYZXYZ abcabcab 8 44 456789 123456789 xyzxyzxyz XYZXY 9 5 50 6 1 7 2 -- Date/Time -- x Page 12 3 55 yzxyzxyz XYZXYZXYZ abcabcab 4 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 13 57 xyzxyzxyz XYZXYZXYZ abcabcab 9 58 456789 123456789 xyzxyzxyz XYZXY 60 DEFGHI 123456789 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a3l15-t���������������������������������������������������������������������0000664�0000000�0000000�00000002345�11624727241�013154� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Withou 2 Options -b -3 [+2|+ 3 Options -a -3 [+2|+ 4 Options [+2|+ 5 6 ------------------- 7 3456789 123456789 123 8 3 Columns downwards 9 With columns use < 10 without -f e.g.: - 1 with -f e.g. : - 2 3 line truncation befor 14 456789 123456789 123 15 xyzxyzxyz XYZXYZXYZ -- Date/Time -- x Page 2 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz -- Date/Time -- x Page 3 1 2 3456789 abcdefghi 3 4 5 6 7 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc 43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5 -- Date/Time -- x Page 4 6 7 8 9 50 1 2 3 4 55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ 58 456789 123456789 xyz 9 60 DEFGHI 123456789 -- Date/Time -- x Page 5 1 2 3 ------- EOF -------- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/ml24f-t���������������������������������������������������������������������0000664�0000000�0000000�00000005373�11624727241�013257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 Test-INPUT: "Without FF set by 1 Test-INPUT: "Without FF set by 2 Options -b -3 [+2|+3] [-l 15|8] 2 Options -b -3 [+2|+3] [-l 15|8] 3 Options -a -3 [+2|+3] [-l 15|8] 3 Options -a -3 [+2|+3] [-l 15|8] 4 Options [+2|+3] [-l 24|17 4 Options [+2|+3] [-l 24|17 5 5 6 ------------------------------- 6 ------------------------------- 7 3456789 123456789 123456789 12345 7 3456789 123456789 123456789 12345 8 3 Columns downwards, across, .. 8 3 Columns downwards, across, .. 9 With columns use <= 5 text lin 9 With columns use <= 5 text lin 10 without -f e.g.: -l 15 = total 10 without -f e.g.: -l 15 = total 1 with -f e.g. : -l 8 -f 1 with -f e.g. : -l 8 -f 2 2 3 line truncation before new page; 3 line truncation before new page; 14 456789 123456789 123456789 12345 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 2 15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 7 7 8 8 9 3456789 ab 9 3456789 ab 20 DEFGHI 123 20 DEFGHI 123 1 1 2 2 3 3 4 4 5 5 6 6 27 no truncation before nwe page; ( 27 no truncation before nwe page; ( 28 no trunc 28 no trunc -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 1 1 2 2 3 ------- EOF -------- EOF ------- 3 ------- EOF -------- EOF ------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3l24-t����������������������������������������������������������������������0000664�0000000�0000000�00000003134�11624727241�013010� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 4 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 5 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 1 2 3 ------- EOF -------- EOF -------- EOF ------- ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tn2e5o3-t_tab���������������������������������������������������������������0000664�0000000�0000000�00000000176�11624727241�014354� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 aaa abcde fghij 3 ccc abcde fghij 2 bbb abcde fghij 4 ddd abcde fghij ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/W35Ja3l24f-lm���������������������������������������������������������������0000664�0000000�0000000�00000003125�11624727241�014075� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>> 4<<< 123456789 123456789 123456789 12345678 >>> 6<<< -Arangements: One Empty Page >>> 7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>> 10<<< >>> 1<<< >>> 2<<< >>> 3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>> -- Date/Time -- x Page 2 -- Date/Time -- x Page 3 15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>> 8<<< >>> 9<<< >>> 20<<< >>> 1<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 27<<< truncation before FF; (r_l-test): >>> 28<<< trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>> 2<<< abcdefghi >>> 3<<< >>> 4<<< >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>> 41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>> 6<<< >>> 7<<< >>> 8<<< >>> 9<<< >>> 50<<< >>> 1<<< >>> 2<<< >>> 3<<< >>> 4<<< >>> 55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>> -- Date/Time -- x Page 9 57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>> 60<<< 123456789 >>> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/0FnFnt����������������������������������������������������������������������0000664�0000000�0000000�00000002466�11624727241�013165� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/a2l15-FF��������������������������������������������������������������������0000664�0000000�0000000�00000004270�11624727241�013202� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1 FF-Test: FF's in Text 2 Options -b -3 / -a -3 / ... 3 ------------------------------- 4 3456789 123456789 123456789 12345 5 3 Columns downwards ..., <= 5 l 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz12345 -- Date/Time -- x Page 2 1 2 3 line truncation before FF; r_r_o_ 14 456789 123456789 123456789 12345 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 -- Date/Time -- x Page 5 5 6 27 no truncation before FF; (r_l-te 28 no trunc -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 1 2 3456789 abcdefghi 3 4 5 6 7 8 -- Date/Time -- x Page 8 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 5 6 7 8 9 50 1 2 -- Date/Time -- x Page 12 3 4 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 13 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 9 60 DEFGHI 123456789 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3ml24-FF��������������������������������������������������������������������0000664�0000000�0000000�00000004062�11624727241�013216� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY 16 456789 123456789 xyzxyzxyz XYZXY 7 7 8 8 9 3456789 ab 9 3456789 ab 20 DEFGHI 123 20 DEFGHI 123 1 1 2 2 3 3 4 4 5 5 6 6 27 no truncation before FF; (r_l-te 27 no truncation before FF; (r_l-te 28 no trunc 28 no trunc -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY 30 456789 123456789 xyzxyzxyz XYZXY 1 1 2 3456789 abcdefghi 2 3456789 abcdefghi 3 3 4 4 5 5 6 6 7 7 8 8 9 3456789 abcdefghi 9 3456789 abcdefghi 40 DEFGHI 123456789 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY 44 456789 123456789 xyzxyzxyz XYZXY 5 5 6 6 7 7 8 8 9 9 50 50 1 1 2 2 3 3 4 4 55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE -- Date/Time -- x Page 9 57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY 58 456789 123456789 xyzxyzxyz XYZXY 9 9 60 DEFGHI 123456789 60 DEFGHI 123456789 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/t-0FF�����������������������������������������������������������������������0000664�0000000�0000000�00000002462�11624727241�012702� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 1 FF-Test: FF's at Start of File V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: Empty Pages at start 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntext; \f\n\ftext; \f\n\f\n; 9 3456789 123456789 123456789 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/tFFt������������������������������������������������������������������������0000664�0000000�0000000�00000004566�11624727241�012740� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3f-0F�����������������������������������������������������������������������0000664�0000000�0000000�00000001710�11624727241�012634� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 ��������������������������������������������������������coreutils-8.21/tests/pr/a3-0F�����������������������������������������������������������������������0000664�0000000�0000000�00000002231�11624727241�012626� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 -- Date/Time -- x Page 2 1 FF-Test: FF's at St 2 Options -b -3 / -a 3 ------------------- 4 3456789 123456789 123 5 3 Columns downwards 6 FF-Arangements: Emp 7 \ftext; \f\ntext; 8 \f\ftext; \f\f\ntex 9 3456789 123456789 123 10 zzzzzzzzzzzzzzzzzzz 1 2 3 line truncation befor 14 456789 123456789 123 -- Date/Time -- x Page 3 -- Date/Time -- x Page 4 15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7 8 9 3456789 ab 20 DEFGHI 123 1 2 3 4 5 6 27 no truncation before 28 no trunc -- Date/Time -- x Page 5 29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1 2 3456789 abcdefghi 3 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/nSml24-t-t-FF���������������������������������������������������������������0000664�0000000�0000000�00000007763�11624727241�014151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT: "Wit:--:1 Test-INPUT: "Wit:--:1 FF-Test: FF's in 2.2 Options -b -3 [+:--:2 Options -b -3 [+:--:2 Options -b -3 / 3.3 Options -a -3 [+:--:3 Options -a -3 [+:--:3 ---------------- 4.4 Options [+:--:4 Options [+:--:4 3456789 123456789 5.5 :--:5 :--:5 3 Columns downwa 6.6 ----------------:--:6 ----------------:--:6 FF-Arangements: 7.7 3456789 123456789 :--:7 3456789 123456789 :--:7 text\f\f\n; text 8.8 3 Columns downwa:--:8 3 Columns downwa:--:8 \f\f\n; \f\n\f\n 9.9 With columns use:--:9 With columns use:--:9 10.10 without -f e.g.::--:10 without -f e.g.::--:10 zzzzzzzzzzzzzzzz 11.1 with -f e.g. ::--:1 with -f e.g. ::--:1 12.2 :--:2 :--:2 13.3 line truncation be:--:3 line truncation be:--:3 line truncation be 14.14 456789 123456789 :--:14 456789 123456789 :--:14 456789 123456789 -- Date/Time -- x Page 2 15.15 xyzxyzxyz XYZXYZX:--:15 xyzxyzxyz XYZXYZX:--: 16.16 456789 123456789 :--:16 456789 123456789 :--: 17.7 :--:7 :--: 18.8 :--:8 :--: 19.9 3456789 ab :--:9 3456789 ab :--: 20.20 DEFGHI 123 :--:20 DEFGHI 123 :--: 21.1 :--:1 :--: 22.2 :--:2 :--: 23.3 :--:3 :--: 24.4 :--:4 :--: 25.5 :--:5 :--: 26.6 :--:6 :--: 27.27 no truncation bef:--:27 no truncation bef:--: 28.28 no trunc :--:28 no trunc :--: -- Date/Time -- x Page 3 29.29 xyzxyzxyz XYZXYZX:--:29 xyzxyzxyz XYZXYZX:--:15 xyzxyzxyz XYZXYZX 30.30 456789 123456789 :--:30 456789 123456789 :--:16 456789 123456789 31.1 :--:1 :--:7 32.2 3456789 abcdefghi :--:2 3456789 abcdefghi :--:8 33.3 :--:3 :--:9 3456789 ab 34.4 :--:4 :--:20 DEFGHI 123 35.5 :--:5 :--:1 36.6 :--:6 :--:2 37.7 :--:7 :--:3 38.8 :--:8 :--:4 39.9 3456789 abcdefghi :--:9 3456789 abcdefghi :--:5 40.40 DEFGHI 123456789 :--:40 DEFGHI 123456789 :--:6 41.41 yzxyzxyz XYZXYZXY:--:41 yzxyzxyz XYZXYZXY:--:27 no truncation bef 42.42 456789 123456789 :--:42 456789 123456789 :--:28 no trunc -- Date/Time -- x Page 4 43.43 xyzxyzxyz XYZXYZX:--:43 xyzxyzxyz XYZXYZX:--: 44.44 456789 123456789 :--:44 456789 123456789 :--: 45.5 :--:5 :--: 46.6 :--:6 :--: 47.7 :--:7 :--: 48.8 :--:8 :--: 49.9 :--:9 :--: 50.50 :--:50 :--: 51.1 :--:1 :--: 52.2 :--:2 :--: 53.3 :--:3 :--: 54.4 :--:4 :--: 55.55 yzxyzxyz XYZXYZXY:--:55 yzxyzxyz XYZXYZXY:--: 56.56 456789 123456789 :--:56 456789 123456789 :--: -- Date/Time -- x Page 5 57.57 xyzxyzxyz XYZXYZX:--:57 xyzxyzxyz XYZXYZX:--:29 xyzxyzxyz XYZXYZX 58.58 456789 123456789 :--:58 456789 123456789 :--:30 456789 123456789 59.9 :--:9 :--:1 60.60 DEFGHI 123456789 :--:60 DEFGHI 123456789 :--:2 3456789 abcdefghi 61.1 :--:1 :--:3 62.2 :--:2 :--:4 63.3 ------- EOF -----:--:3 ------- EOF -----:--:5 64. :--: :--:6 65. :--: :--:7 66. :--: :--:8 67. :--: :--:9 3456789 abcdefghi 68. :--: :--:40 DEFGHI 123456789 69. :--: :--:41 yzxyzxyz XYZXYZXY 70. :--: :--:42 456789 123456789 -- Date/Time -- x Page 6 -- Date/Time -- x Page 7 -- Date/Time -- x Page 8 71. :--: :--:43 xyzxyzxyz XYZXYZX 72. :--: :--:44 456789 123456789 73. :--: :--:5 74. :--: :--:6 75. :--: :--:7 76. :--: :--:8 77. :--: :--:9 78. :--: :--:50 79. :--: :--:1 80. :--: :--:2 81. :--: :--:3 82. :--: :--:4 83. :--: :--:55 yzxyzxyz XYZXYZXY 84. :--: :--:56 456789 123456789 -- Date/Time -- x Page 9 85. :--: :--:57 xyzxyzxyz XYZXYZX 86. :--: :--:58 456789 123456789 87. :--: :--:9 88. :--: :--:60 DEFGHI 123456789 �������������coreutils-8.21/tests/pr/2s_f-t_notab����������������������������������������������������������������0000664�0000000�0000000�00000000743�11624727241�014343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:dddd.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-dddddddddddddddddddddddddddddddddddddddd bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb:eeee.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee cccc.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-cccccccccccccccccccccccccccccccccccccccc �����������������������������coreutils-8.21/tests/pr/tFFn������������������������������������������������������������������������0000664�0000000�0000000�00000004572�11624727241�012727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 FF-Test: FF's in Text V 2 Options -b -3 / -a -3 / ... 3 -------------------------------------------- 4 3456789 123456789 123456789 123456789 12345678 5 3 Columns downwards ..., <= 5 lines per page 6 FF-Arangements: One Empty Page 7 text\f\f\n; text\f\n\ftext; \f\ftext; 8 \f\f\n; \f\n\f\n; 9 10 zzzzzzzzzzzzzzzzzzzzzzzzzz123456789 1 12345678 2 12345678 3 line truncation before FF; r_r_o_l-test: 14 456789 123456789 123456789 123456789 15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXYZXYZ 7 12345678 8 12345678 9 3456789 ab 20 DEFGHI 123 1 12345678 2 12345678 3 12345678 4 12345678 5 12345678 6 12345678 27 no truncation before FF; (r_l-test): 28 no trunc 29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXYZXYZ 1 12345678 2 3456789 abcdefghi 3 12345678 4 12345678 5 12345678 6 12345678 7 12345678 8 12345678 9 3456789 abcdefghi 40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ abcabcab 42 456789 123456789 abcdefghi ABCDEDFHI 43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXYZXYZ 5 12345678 6 12345678 7 12345678 8 12345678 9 12345678 50 12345678 1 12345678 2 12345678 3 12345678 4 12345678 55 yzxyzxyz XYZXYZXYZ abcabcab 56 456789 123456789 abcdefghi ABCDEDFHI 57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXYZXYZ 9 12345678 60 DEFGHI 123456789 ��������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/2w60f-t_notab���������������������������������������������������������������0000664�0000000�0000000�00000000330�11624727241�014346� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw dddd.bcde-fghijklmn-opqrstuvw bbbb.bcde-fghijklmn-opqrstuvw eeee.bcde-fghijklmn-opqrstuvw cccc.bcde-fghijklmn-opqrstuvw ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+5a3l13f-0FF���������������������������������������������������������������0000664�0000000�0000000�00000001102�11624727241�013734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 5 -- Date/Time -- x Page 6 15.15 xyzxyzxyz XYZXYZ 16.16 456789 123456789 17.7 18.8 19.9 3456789 ab 20.20 DEFGHI 123 21.1 22.2 23.3 -- Date/Time -- x Page 7 24.4 25.5 26.6 27.27 no truncation be 28.28 no trunc -- Date/Time -- x Page 8 29.29 xyzxyzxyz XYZXYZ 30.30 456789 123456789 31.1 32.2 3456789 abcdefghi 33.3 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/n+8l20-FF�������������������������������������������������������������������0000664�0000000�0000000�00000002741�11624727241�013275� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 8 39.9 3456789 abcdefghi 40.40 DEFGHI 123456789 41.41 yzxyzxyz XYZXYZXYZ abcabcab 42.42 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 9 -- Date/Time -- x Page 10 -- Date/Time -- x Page 11 43.43 xyzxyzxyz XYZXYZXYZ abcabcab 44.44 456789 123456789 xyzxyzxyz XYZXYZXYZ 45.5 12345678 46.6 12345678 47.7 12345678 48.8 12345678 49.9 12345678 50.50 12345678 51.1 12345678 52.2 12345678 -- Date/Time -- x Page 12 53.3 12345678 54.4 12345678 55.55 yzxyzxyz XYZXYZXYZ abcabcab 56.56 456789 123456789 abcdefghi ABCDEDFHI -- Date/Time -- x Page 13 57.57 xyzxyzxyz XYZXYZXYZ abcabcab 58.58 456789 123456789 xyzxyzxyz XYZXYZXYZ 59.9 12345678 60.60 DEFGHI 123456789 �������������������������������coreutils-8.21/tests/pr/2sf-t_notab�����������������������������������������������������������������0000664�0000000�0000000�00000000743�11624727241�014204� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa dddd.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-dddddddddddddddddddddddddddddddddddddddd bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeee.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee cccc.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-cccccccccccccccccccccccccccccccccccccccc �����������������������������coreutils-8.21/tests/pr/o3a3Snl24f-tn���������������������������������������������������������������0000664�0000000�0000000�00000002442�11760630450�014235� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 1 1.1 Test-INPUT::--: 2.2 Options -b :--: 3.3 Options -a 4.4 Options :--: 5.5 :--: 6.6 ----------- 7.7 3456789 12345:--: 8.8 3 Columns d:--: 9.9 With column 10.10 without -f :--: 11.1 with -f e.g:--: 12.2 13.3 line truncati:--: 14.14 456789 12345:--: 15.15 xyzxyzxyz XY 16.16 456789 12345:--: 17.7 :--: 18.8 19.9 3456789 ab :--: 20.20 DEFGHI 123 :--: 21.1 22.2 :--: 23.3 :--: 24.4 25.5 :--: 26.6 :--: 27.27 no truncatio 28.28 no trunc :--: 29.29 xyzxyzxyz XY:--: 30.30 456789 12345 31.1 :--: 32.2 3456789 abcde:--: 33.3 34.4 :--: 35.5 :--: 36.6 37.7 :--: 38.8 :--: 39.9 3456789 abcde 40.40 DEFGHI 12345:--: 41.41 yzxyzxyz XYZ:--: 42.42 456789 12345 -- Date/Time -- x Page 2 43.43 xyzxyzxyz XY:--: 44.44 456789 12345:--: 45.5 46.6 :--: 47.7 :--: 48.8 49.9 :--: 50.50 :--: 51.1 52.2 :--: 53.3 :--: 54.4 55.55 yzxyzxyz XYZ:--: 56.56 456789 12345:--: 57.57 xyzxyzxyz XY 58.58 456789 12345:--: 59.9 :--: 60.60 DEFGHI 12345 61.1 :--: 62.2 :--: 63.3 ------- EOF ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/tests/pr/3b3f-0FF��������������������������������������������������������������������0000664�0000000�0000000�00000001455�11624727241�013175� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ -- Date/Time -- x Page 3 1 FF-Test: FF's at St 6 FF-Arangements: Emp 1 2 Options -b -3 / -a 7 \ftext; \f\ntext; 2 3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor 4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123 5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz -- Date/Time -- x Page 4 -- Date/Time -- x Page 5 15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5 16 456789 123456789 xyz 1 6 7 2 27 no truncation before 8 3 28 no trunc 9 3456789 ab 4 -- Date/Time -- x Page 6 29 xyzxyzxyz XYZXYZXYZ 1 3 30 456789 123456789 xyz 2 3456789 abcdefghi �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/.tarball-version���������������������������������������������������������������������0000664�0000000�0000000�00000000005�12107207542�013446� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������8.21 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/THANKS.in����������������������������������������������������������������������������0000664�0000000�0000000�00000111147�12100644007�011665� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������These people have contributed to the GNU coreutils (formerly, the fileutils, textutils, and/or sh-utils packages). Some have reported problems, others have contributed improvements to the documentation, actual code, and even complete programs. Those contributions are described in the version control logs and ChangeLog files. If your name has been left out, if you'd rather not be listed, or if you'd prefer a different address be used, please send a note to the bug-report mailing list (as seen at end of e.g., cp --help). ## ## There is no need to list here any name that appears as an Author in ## "git log" output. Those are automatically added when this template ## is used to generate the THANKS file. Note that numerous people listed ## here would have been listed as commit authors if we had been using git ## for version control when they contributed. ??? kytek@cybercomm.net A Costa agcosta@gis.net Aaron Davies aaron.davies@gmail.com Aaron Hawley ashawley@uvm.edu Achim Blumensath blume@corona.oche.de Adam Jimerson vendion@charter.net Adam Klein aklein@debian.org Adam Sampson ats@offog.org Adrian Bunk bunk@stusta.de AIDA Shinra shinra@j10n.org Akim Demaille demaille@inf.enst.fr Alain Magloire alain@qnx.com Alan Iwi iwi@atm.ox.ac.uk Alan Jenkins alan-jenkins@tuffmail.co.uk Albert Chin-A-Young china@thewrittenword.com Albert Hopkins ahopkins@dynacare.com Alberto Accomazzi alberto@cfa0.harvard.edu aldomel aldomel@ix.netcom.com Alen Muzinic zveki@fly.cc.fer.hr Alexander Nguyen vinh@seas.ucla.edu Alexander V. Lukyanov lav@netis.ru Allen Hewes allen@decisiv.net Axel Dörfler axeld@pinc-software.de Alexandre Duret-Lutz duret_g@epita.fr Alexey Solovyov alekso@math.uu.se Alexey Vyskubov alexey@pippuri.mawhrin.net Alfred M. Szmidt ams@kemisten.nu Ambrose Feinstein ambrose@google.com Amr Ali amr.ali.cc@gmail.com Anders Kaseorg andersk@mit.edu Andi Kleen freitag@alancoxonachip.com Andre Novaes Cunha Andre.Cunha@br.global-one.net Andreas Frische andreasfrische@gmail.com Andreas Gruenbacher ag@bestbits.at Andreas Jaeger jaeger@gnu.org Andreas Luik luik@isa.de Andreas Stolcke stolcke@ICSI.Berkeley.EDU Andrei Gaponenko andr@triumf.ca Andres Soolo andres@soolo.matti.ee Andrew Burgess aab@cichlid.com Andrew Dalke dalke@bioreason.com Andrew Fabbro andrew@fabbro.org Andrew Pham andpha@us.ibm.com Andrew Tridgell tridge@samba.org Andrey Borzenkov arvidjaar@mail.ru Andries Brouwer Andries.Brouwer@cwi.nl Andy Longton alongton@metamark.com Anoop Sharma sendtoanoop@gmail.com Anthony Thyssen anthony@griffith.edu.au Antonio Rendas ajrendas@yahoo.com Ariel Faigon ariel@cthulhu.engr.sgi.com Arjan Opmeer arjan.opmeer@gmail.com Arkadiusz Miśkiewicz arekm@maven.pl Arne Henrik Juul arnej@imf.unit.no Arnold Robbins arnold@skeeve.com Arthur Pool pool@commerce.uq.edu.au Arun Sharma arun.sharma@intel.com Arvind Autar Autar022@planet.nl Augey Mikus mikus@dqc.org Austin Donnelly Austin.Donnelly@cl.cam.ac.uk Axel Kittenberger Anshil@gmx.net Barry Kelly http://barrkel.blogspot.com/ Bauke Jan Douma bjdouma@xs4all.nl Ben Elliston bje@air.net.au Ben Harris bjh21@netbsd.org Ben Walton bwalton@artsci.utoronto.ca Bengt Martensson bengt@mathematik.uni-Bremen.de Benjamin Cutler cutlerbc@simla.colostate.edu Bernard Giroud bernard.giroud@creditlyonnais.ch Bernd Eckenfels ecki@debian.org Bernd Leibing bernd.leibing@rz.uni-ulm.de Bernd Melchers melchers@cis.fu-berlin.de Bernhard Baehr bernhard.baehr@gmx.de Bernhard Gabler bernhard@uni-koblenz.de Bernhard Rosenkraenzer bero@redhat.de Bert Deknuydt Bert.Deknuydt@esat.kuleuven.ac.be Bert Wesarg bert.wesarg@googlemail.com Bill Brelsford wb@k2di.net Bill Peters peters@gaffel.as.arizona.edu Bjorn Helgaas helgaas@rsn.hp.com Bob McCracken kerouac@ravenet.com Branden Robinson branden@necrotic.deadbeast.net Brendan O'Dea bod@compusol.com.au Brian Kimball bfk@footbag.org Brian M. Carlson sandals@crustytoothpaste.ath.cx Brian Silverman bsilverman@conceptxdesign.com Brian Youmans 3diff@gnu.org Britton Leo Kerin fsblk@aurora.uaf.edu Bruce Robertson brucer@theodolite.dyndns.org Brynnen Owen owen@illinois.edu Carl Johnson carlj@cjlinux.home.org Carl Lowenstein cdl@mpl.UCSD.EDU Carl Roth roth@urs.us Carlos Canau Carlos.Canau@relay.puug.pt Charles Karney karney@pppl.gov Charles Randall crandall@matchlogic.com Chas. Owens chas.owens@gmail.com Chip Salzenberg chip@valinux.com Chris Clayton chris2553@googlemail.com Chris Faylor cgf@cygnus.com Chris J. Bednar cjb@AdvancedDataSolutions.com Chris Jones cjns1989@gmail.com Chris Lesniewski ctl@mit.edu Chris Sylvain csylvain@umm.edu Chris Yeo cyeo@biking.org Christi Alice Scarborough christi@chiark.greenend.org.uk Christian Harkort christian.harkort@web.de Christian Jullien eligis@orange.fr Christian Krackowizer ckrackowiz@std.schuler-ag.com Christian Rose menthos@menthos.com Christian von Roques roques@pond.sub.org Christophe LYON christophe.lyon@st.com Chuck Hedrick hedrick@klinzhai.rutgers.edu Chusslove Illich caslav.ilic@gmx.net Clark Morgan cmorgan@aracnet.com Clement Wang clem.wang@overture.com Colin Plumb colin@nyx.net Collin Rogowski collin@rogowski.de Cray-Cyber Project http://www.cray-cyber.org Cristian Cadar cristic@stanford.edu Cyril Bouthors cyril@bouthors.org Dale Scheetz dwarf@polaris.net Dameon G. Rogers dgr03@uark.edu Dan Hagerty hag@gnu.ai.it.edu Dan Pascu dan@services.iiruc.ro Daniel Bergstrom noa@melody.se Daniel P. Berrangé berrange@redhat.com Daniel Stavrovski d@stavrovski.net Daniel Tschinder daniel.tschinder@project-a.com Dániel Varga danielv@axelero.hu Danny Levinson danny.levinson@overture.com Darrel Francis d.francis@cheerful.com Darren Salt ds@youmustbejoking.demon.co.uk Dave Beckett dajobe@dajobe.org David Alan Gilbert gilbertd@treblig.org David Diggles david.diggles@dnrm.qld.gov.au David Dyck dcd@tc.fluke.COM David Eisner cradle@umd.edu David Flynn dav@chess.plus.com David Gast dgast@csulb.edu David Godfrey dave@delta.demon.co.uk David Luyer david_luyer@pacific.net.au David Madore david.madore@ens.fr David Malone dwmalone@cnri.dit.ie David Matei matei@cs.toronto.edu Davide Canova kc.canova@gmail.com Dawson Engler engler@stanford.edu Dean Gaudet dean-savannah@arctic.org Deepak Goel deego@gnufans.org Denis Excoffier denis.excoffier@airbus.com Denis McKeon dmckeon@swcp.com Dennis Henriksen opus@flamingo.osrl.dk Dennis Clarke dclarke@blastwave.org Dennis Smit ds@nerds-incorporated.org Derek Clegg dclegg@next.com Dick Streefland dick_streefland@tasking.com Dirk Lattermann dlatt@t-online.de Dirk-Jan Faber djfaber@snow.nl Dmitry Rutsky rutsky@school.ioffe.rssi.ru Don Parsons dparsons@synapse.kent.edu Donni Erpel donald@appc11.gsi.de Doug Coleman coleman@iarc1.ece.utexas.edu Doug McLaren dougmc@comco.com Dragos Harabor dharabor@us.oracle.com Duncan Roe duncanr@optimation.com.au Edward Schwartz edmcman@cmu.edu Edward Welbourne eddy@opera.com Edzer Pebesma Edzer.Pebesma@rivm.nl Egmont Koblinger egmont@uhulinux.hu Eirik Fuller eirik@hackrat.com Eivind eivindt@multinet.no Elbert Pol elbert.pol@gmail.com Eli Zaretskii eliz@is.elta.co.il Emile LeBlanc leblanc@math.toronto.edu Emmanuel Lacour elacour@home-dn.net Eric Backus ericb@lsid.hp.com Eric G. Miller egm2@jps.net Eric Pemente pemente@northpark.edu Eric S. Raymond esr@snark.thyrsus.com Erik Bennett bennett@cvo.oneworld.com Erik Corry erik@kroete2.freinet.de Felix Lee flee@teleport.com Felix Rauch Valenti frauch@cse.unsw.edu.au Ferdinand fw@scenic.mine.nu Filipus Klutiero chealer@gmail.com Fletcher Mattox fletcher@cs.utexas.edu Florent Bayle florent@sarcelle.net Florian Schlichting fschlich@cis.fu-berlin.de Florin Iucha fiucha@hsys.mic.ro Francesco Montorsi fr_m@hotmail.com François Pinard pinard@iro.umontreal.ca Frank Adler fadler@allesklar.de Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU Fred Fish fnf@ninemoons.com Frédéric L. W. Meunier 0@pervalidus.net Frederik Eaton frederik@caltech.edu Gabor Z. Papp gzp@gzp.org.hu Gaël Quéri gqueri@mail.dotcom.fr Galen Hazelwood galenh@micron.net Gary Anderson ganderson@clark.net Gary Johnson garyjohn@spk.agilent.com Gary V. Vaughan gary@gnu.org Gaute Hvoslef Kvalnes gaute@verdsveven.com Geoff Collyer geoff at collyer.net Geoff Kuenning geoff@cs.hmc.edu Geoff Odhner geoff@franklin.com Geoff Whale geoffw@cse.unsw.EDU.AU Gerald Pfeifer gerald@pfeifer.com Gerhard Poul gpoul@gnu.org Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp Glen Lenker glen.lenker@gmail.com Göran Uddeborg goeran@uddeborg.se Guochun Shi gshi@ncsa.uiuc.edu GOTO Masanori gotom@debian.or.jp Greg Louis glouis@dynamicro.on.ca Greg McGary gkm@gnu.org Greg Metcalfe metcalfegreg@qwest.net Greg Schafer gschafer@zip.com.au Greg Troxel gdt@bbn.com Greg Wooledge gawooledge@sherwin.com Gregory Leblanc gleblanc@cu-portland.edu Guido Leenders guido.leenders@invantive.com Guntram Blohm Extern.Guntram.Blohm@AUDI.DE H. J. Lu hjl@valinux.com Hans Ginzel hans@matfyz.cz Hans Lermen lermen@fgan.de Hans Verkuil hans@wyst.hobby.nl Harald Dunkel harald.dunkel@t-online.de Harry Liu rliu@lek.ugcs.caltech.edu Harti Brandt brandt@fokus.fraunhofer.de Harvey Eneman Harvey.Eneman@oracle.com Heiko Marr h.marr@webmasters.de Helen Faulkner helen_ml_faulkner@yahoo.co.uk Herbert Xu herbert@gondor.apana.org.au Holger Berger hberger@ess.nec.de Hon-Yin Kok hkok@yoda.unl.edu Hugh Daniel hugh@xanadu.com Ian Bruce ian.bruce@myrealbox.com Iain Calder ic56@rogers.com Ian Jackson ijackson@chiark.greenend.org.uk Ian Kent ikent@redhat.com Ian Lance Taylor ian@cygnus.com Ian Turner vectro@pipeline.com Iida Yosiaki iida@gnu.org Ilya N. Golubev gin@mo.msk.ru Ingo Saitz ingo@debian.org Ivan Labath labath3@st.fmph.uniba.sk Ivo Timmermans ivo@debian.org Jacky Fong jacky.fong@utoronto.ca James james@albion.glarp.com James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk James Lemley James.Lemley@acxiom.com James Hunt jamesodhunt@hotmail.com James Ralston ralston@pobox.com James Sneeringer jvs@ocslink.com James Tanis jtt@soscorp.com Jamie Lokier jamie@imbolc.ucc.ie Jamie McClelland jm@mayfirst.org Jan Engelhardt jengelh@medozas.de Jan Fedak J.Fedak@sh.cvut.cz Jan Moringen jan.moringen@uni-bielefeld.de Jan Nieuwenhuizen janneke@gnu.org Jan-Pawel Wrozstinski jpwroz@gmail.com Janos Farkas chexum@shadow.banki.hu Jari Aalto jari.aalto@cante.net Jarkko Hietaniemi jhi@epsilon.hut.fi Jarod Wilson jwilson@redhat.com Jean Charles Delepine delepine@u-picardie.fr Jean-Pierre Tosoni jpt.7196@gmail.com Jeff Moore jbm@mordor.com Jeff Sheinberg jeff@bsrd.net Jens Elkner elkner@imsgroup.de Jens Schmidt jms@jsds.hamburg.com Jeph Cowan jeph@ucar.edu Jeremy Maitin-Shepard jbms@cmu.edu Jérémy Magrin jeremy.magrin@epitech.eu Jerome Abela abela@hsc.fr Jérôme Zago bug-coreutils-ml@agt-the-walker.net Jesse Kornblum kornblum@usna.edu Jesse Thilo jgt2@eecs.lehigh.edu Jie Xu xuj@iag.net Jim Blandy jimb@cyclic.com Jim Dennis jimd@starshine.org Joakim Rosqvist dvljrt@cs.umu.se Jochen Hein jochen@jochen.org Joe Orton joe@manyfish.co.uk Joerg Sonnenberger joerg@britannica.bec.de Joey Hess joeyh@debian.org Johan Boule bohan@bohan.dyndns.org Johan Danielsson joda@pdc.kth.se John Bley jbb6@acpub.duke.edu John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th John Gotts jgotts@umich.edu John Kendall kendall@capps.com John Kodis kodis@acm.org John Murphy jam@philabs.research.philips.com John Roll john@panic.harvard.edu John Salmon johns@mullet.anu.edu.au John Stanley johnstops@verizon.net John Summerfield summer@OS2.ami.com.au Jon Peatfield J.S.Peatfield@damtp.cam.ac.uk Joost van Baal joostvb@xs4all.nl Jordi Pujol jordipujolp@gmail.com Jorge Stolfi stolfi@ic.unicamp.br Joseph S. Myers jsm28@cam.ac.uk Josh Triplett josh@freedesktop.org Joshua Hudson joshudson@gmail.com Josselin Mouette joss@debian.org Juan F. Codagnone juam@arnet.com.ar Juan M. Guerrero st001906@hrz1.hrz.tu-darmstadt.de Julian Bradfield jcb@inf.ed.ac.uk Jungshik Shin jshin@pantheon.yale.edu Jürgen Fluk louis@dachau.marco.de Juraj Marko jmarko@redhat.com Jurriaan thunder7@xs4all.nl Justin Pryzby justinpryzby@users.sourceforge.net jvogel jvogel@linkny.com Kai Henningsen kai@debian.org Kai-Uwe Rommel rommel@informatik.tu-muenchen.de Kalle Olavi Niemitalo kon@iki.fi Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu Karl Eichwalder keichwa@gmx.net Karl-Michael Schneider schneide@phil.uni-passau.de Karsten Thygesen karthy@kom.auc.dk Kaveh R. Ghazi ghazi@caip.rutgers.edu Keith M. Briggs keith.briggs@bt.com Keith Owens kaos@audio.apana.org.au Keith Thompson kst@cts.com Ken Pizzini kenp@halcyon.com Kevin Mudrick kmudrick@healthmarketscience.com Kirk Kelsey kirk.kelsey@0x4b.net Konrad Wróblewski coni@o2.pl Kristin E Thomas kristint@us.ibm.com Kjetil Torgrim Homme kjetilho@ifi.uio.no Kristoffer Rose kris@diku.dk Ladislav Hagara ladislav.hagara@unob.cz Larry McVoy lm@sgi.com Lars Hecking lhecking@nmrc.ucc.ie Leah Q eequor@earthlink.net Lehti Rami rammer@cs.tut.fi Leonard N. Zubkoff lnz@dandelion.com Leonardo Milano lmilano@udel.edu Lluís Batlle viriketo@gmail.com Lorne Baker lbaker@nitro.avint.net Luke Hassell lukehassell@yahoo.com Luke Kendall lukekendall@optushome.com.au M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp Maciej Kwapulinski pikpok@univ.gda.pl Manas Garg manas@cygsoft.com Manfred Hollstein manfred@s-direktnet.de Марк Коренберг socketpair@gmail.com Marc Boucher marc@mbsi.ca Marc Haber mh+debian-bugs@zugschlus.de Marc Mengel mengel@fnal.gov Marc Lehman schmorp@schmorp.de Marc Olzheim marcolz@stack.nl Marcel Böhme http://www.comp.nus.edu.sg/~mboehme Marco Franzen Marco.Franzen@Thyron.com Marcus Brinkmann http://www.marcus-brinkmann.de Marcus Daniels marcus@ee.pdx.edu Mark A. Thomas thommark@access.digex.net Mark Conty Mark_Conty@cargill.com Mark D. Roth roth@uiuc.edu Mark Funkenhauser mfunkenhauser@rogers.com Mark Harris mark@monitor.designacc.com Mark Hewitt mhewitt@armature.com Mark Hounschell markh@compro.net Mark Hubbart discord@mac.com Mark Kettenis kettenis@phys.uva.nl Mark Melahn mmelahn@gmail.com Mark Nudelman marknu@flash.net Mark W. Eichin eichin@cygnus.com Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de Martin martin@dresden.nacamar.de Martin Buck martin.buck@ascom.ch Martin Gallant martyg@goodbit.net Martin Hippe martin.hippe@schlund.de Martin Jacobs martin.jacobs@arcor.de Martin Michlmayr tbm@cyrius.com Martin Mitchell martin@debian.org Martin P.J. Zinser zinser@decus.de Marty Leisner leisner@sdsp.mc.xerox.com Masami Takikawa takikawm@CS.ORST.EDU Mate Wierdl mw@moni.msci.memphis.edu Matej Vela mvela@public.srce.hr Matias A. Fonzo selk@dragora.org Matt Kraai kraai@ftbfs.org Matt McCutchen matt@mattmccutchen.net Matt Perry matt@primefactor.com Matt Pham mattvpham@gmail.com Matt Schalit mschalit@pacbell.net Matt Swift swift@alum.mit.edu Matthew Arnison maffew@cat.org.au Matthew M. Boedicker matthewm@boedicker.org Matthew Braun matthew@ans.net Matthew Clarke Matthew_Clarke@mindlink.bc.ca Matthew S. Levine mslevine@theory.lcs.mit.edu Matthew Smith matts@bluesguitar.org Matthew Swift swift@alum.mit.edu Matthias Urlichs smurf@noris.de Matti Aarnio matti.aarnio@zmailer.org Mathias Brodala info@noctus.net Mattias Wadenstein maswan@acc.umu.se Max Chang maxchang@ucla.edu Meelis Roos mroos@tartu.cyber.ee Michael michael@aplatform.com Michael ??? michael@roka.net Michael Bacarella mbac@netgraft.com Michael Deutschmann michael@talamasca.ocis.net Michael Elizabeth Chastain mec.gnu@mindspring.com Michael Gaughen mgaughen@polyserve.com Michael Hasselberg mikelh@zonta.ping.de Michael Hohn hohn@math.utah.edu Michael J. Croghan mcroghan@usatoday.com Michael J. Daniel michael.j.daniel@comcast.net Michael McFarland sidlon@yahoo.com Michael McLagan mmclagan@invlogic.com Michael Mol mikemol@gmail.com Michael Piefel piefel@informatik.hu-berlin.de Michael Price mprice@atl.lmco.com Michael Steffens michael.steffens@s.netic.de Michael Stummvoll michael@stummi.org Michael Stutz stutz@dsl.org Michael van Elst mlelstv@dev.de.cw.net Michael Veksler mveksler@techunix.technion.ac.il Michail Litvak mci@owl.openwall.com Michal Politowski mpol@charybda.icm.edu.pl Michal Svec msvec@suse.cz Michel Robitaille robitail@IRO.UMontreal.CA Michiel Bacchiani bacchian@raven.bu.edu Mike Castle dalgoda@ix.netcom.com Mike Coleman mkc@mathdogs.com Mike Jetzer mjetzer@mke.catalystwms.com Mikko Tuumanen m@sorvankyla.yok.utu.fi Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz Miles Bader miles@gnu.ai.mit.edu Minh Tran-Le tranle@intellicorp.com Morten Welinder terra@diku.dk Nao Nishijima nao.nishijima.xt@hitachi.com Neal H Walfield neal@cs.uml.edu Neil F. Brown neilb@suse.de Nelson H. F. Beebe beebe@math.utah.edu Nick Estes debian@nickstoys.com Nick Graham nick.d.graham@gmail.com Nick Lawes nlawes@silverplatter.com Nickolai Zeldovich nickolai@cs.stanford.edu Nicolas François nicolas.francois@centraliens.net Niklas Edmundsson nikke@acc.umu.se Nikola Milutinovic Nikola.Milutinovic@ev.co.yu Nikolaus Rath Nikolaus@rath.org Nima Nikzad nnikzad@ucla.edu Noah Friedman friedman@splode.com Noel Cragg noel@red-bean.com Norbert Kiesel nkiesel@tbdnetworks.com Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu Olav Morkrid olav@funcom.com Ole Laursen olau@hardworking.dk Oliver Kiddle okiddle@yahoo.co.uk Olivier Fourdan ofourdan@redhat.com Ørn E. Hansen oehansen@daimi.aau.dk Oskar Liljeblad osk@hem.passagen.se Otavio Salvador otavio@ossystems.com.br Patrick Mauritz oxygene@studentenbude.ath.cx Paul D. Smith psmith@gnu.org Paul Ghaleb paul.ghaleb@st.com Paul Jarc prj@po.cwru.edu Paul Marinescu paul.marinescu@imperial.ac.uk Paul Nevai nevai@ops.mps.ohio-state.edu Paul Sauer paul@alexa.com Paul Slootman paul@debian.org Paul Townsend aab@purdue.edu Paul Worrall paul@basilisk.uklinux.net Pawel Prokop pablo@wizard.ae.krakow.pl Peng Yu pengyu.ut@gmail.com Per Cederqvist ceder@lysator.liu.se Per Kristian Hove perhov@math.ntnu.no Per Starbäck starback@stp.lingfil.uu.se Peter Breitenlohner peb@mppmu.mpg.de Peter Dyballa peter_dyballa@web.de Peter Eriksson peter@ifm.liu.se Peter Evans peter@ixp.jp Peter Horst peter@ointment.org Peter Moulder reiter@netspace.net.au Peter Samuelson psamuels@sampo.creighton.edu Peter Seebach seebs@taniemarie.solon.com Petr Pisar petr.pisar@atlas.cz Petr Uzel petr.uzel@suse.cz Petter Reinholdtsen pere@hungry.com Phelippe Neveu pneveu@pcigeomatics.com Phil Richards phil.richards@vf.vodafone.co.uk Philippe De Muyter phdm@macqel.be Philippe Schnoebelen Philippe.Schnoebelen@imag.fr Phillip Jones mouse@datastacks.com Philipp Gortan gortan@gmail.com Philipp Thomas pth@suse.de Piergiorgio Sartor sartor@sony.de Pieter Bowman bowman@math.utah.edu Piotr Gackiewicz gacek@intertele.pl Piotr Kwapulinski kwap@univ.gda.pl Prashant TR tr@eth.net Priit Jõerüüt jemm4jemm@yahoo.com Primoz PETERLIN primozz.peterlin@gmail.com Raimonds Miltins raimonds@pro-9.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE Ralf W. Stephan stephan@tmt.de Ralph Loader loader@maths.ox.ac.uk Rasmus Borup Hansen rbh@intomics.com Raul Miller moth@magenta.com Raúl Núñez de Arenas Coronado raul@pleyades.net Richard A Downing richard.downing@bcs.org.uk Richard Braakman dark@xs4all.nl Richard Dawe rich@phekda.freeserve.co.uk Richard J. Rauenzahn rrauenza@hairball.cup.hp.com Richard Neill rn214@hermes.cam.ac.uk Richard Sharman rsharman@magmacom.com Rick Sladkey jrs@world.std.com Rick Stanley rstanley@rsiny.com Rik Faith faith@cs.unc.edu Risto Kankkunen kankkune@lingsoft.fi Rob Wortman wyrm@haell.com Robert H. de Vries robert@and.nl Robert Lindgren robert@orcafat.com Robert Millan zeratul2@wanadoo.es Robert Schwebel r.schwebel@pengutronix.de Robin H. Johnson robbat2@gentoo.org Rogier Wolff R.E.Wolff@BitWizard.nl Roland Huebner ro-huebner@gmx.de Roland Turner raz.tah.bet@raz.cx Ronald F. Guilmette rfg@netcom.com Ross Alexander r.alexander@auckland.ac.nz Ross Paterson rap@doc.ic.ac.uk Ross Ridge rridge@calum.csclub.uwaterloo.ca Rudolf Kastl rkastl@redhat.com Sahil Amoli sahilamoli@gmail.com Sami Farin sfarin@ratol.fi Samuel Tardieu sam@rfc1149.net Samuel Thibault samuel.thibault@ens-lyon.org Samuli Karkkainen Samuli.Karkkainen@hut.fi Sander van Malssen svm@kozmix.ow.nl Santiago Vila Doncel sanvila@unex.es Savochkin Andrey Vladimirovich saw@msu.ru Scott Harrison scott.gnu.2009@scottrix.co.uk Scott Lurndal slurn@griffin.engr.sgi.com Sébastien Maret smaret@umich.edu Sergei Steshenko sergstesh@yahoo.com Sergey Vlasov vsu@altlinux.org Shing-Shong Shei shei@cs.indiana.edu Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de Solar Designer solar@owl.openwall.com Stanislav Ievlev inger@altlinux.ru Stavros Passas stabat@ics.forth.gr Stefan Vargyas stvar@yahoo.com Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr Stephen Depooter sbdep@myrealbox.com Stephen Eglen eglen@pcg.wustl.edu Stephen Gildea gildea@stop.mail-abuse.org Stephen Smoogen smooge@mindspring.com Steve McConnel steve@acadcomp.sil.org Steve McIntyre steve@einval.com Steve Ward planet36@gmail.com Steven Drake sbd@users.sourceforge.net Steven G. Johnson stevenj@alum.mit.edu Steven Mocking ufo@quicknet.nl Steven Parkes smparkes@smparkes.net Steven Schveighoffer schveiguy@yahoo.com Steven P Watson steven@magelico.net Stuart Citrin ctrn3e8@gmail.com Stuart Kemp skemp@peter.bmc.com Stuart Shelton stuart@shelton.me Sven Breuner sven.breuner@itwm.fraunhofer.de Szakacsits Szabolcs szaka@sienet.hu Tadayoshi Funaba tadf@kt.rim.or.jp TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp Theodore Ts'o tytso@rsts-11.mit.edu The Wanderer inverseparadox@comcast.net Thomas Bushnell thomas@gnu.ai.mit.edu Thomas Goerlich thomas@schnappmatik.de Thomas Hood jdthood@yahoo.co.uk Thomas Luzat thomas@luzat.com Thomas M.Ott thmo-13@gmx.de Thomas Quinot thomas@Cuivre.FR.EU.ORG Thomas Schwinge tschwinge@gnu.org Thomas Wolff mined@towo.net Tim J. Robbins tjr@FreeBSD.org Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu Tim Ryan Tim_Ryan@bnz.co.nz Tim Smithers mouse@dmouse.com.au Tim Underwood timunderwood@gmail.com Tim Waugh twaugh@redhat Toby Peterson toby@opendarwin.org Todd A. Jacobs tjacobs@codegnome.org Tom Fitzhenry tom@tom-fitzhenry.me.uk Tom Haynes thomas@netapp.com Tom Quinn trq@dionysos.thphys.ox.ac.uk Tomas Pospisek tpo@sourcepole.ch Tommi Kyntola tkyntola@cc.hut.fi Ton Hospel thospel@mail.dma.be Ton Nijkes ton@murphy.nl Tony Kocurko akocurko@mun.ca Tony Leneis tony@plaza.ds.adp.com Tony Robinson ajr@eng.cam.ac.uk Toomas Soome Toomas.Soome@Elion.ee Toralf Förster toralf.foerster@gmx.de Torbjorn Lindgren tl@funcom.no Torsten Landschoff torsten@pclab.ifg.uni-kiel.de Travis Gummels tgummels@redhat.com Tristan Miller psychonaut@nothingisreal.com Tzvi Rotshtein tzvi.ro@gmail.com Ulrich Drepper drepper@gnu.org Ulrich Hermisson ulrich_hermisson@hotmail.com Urs Thuermann urs@isnogud.escape.de Uwe H. Steinfeld usteinfeld@gmx.net Vesselin Atanasov vesselin@bgnet.bg Ville Skyttä ville.skytta@iki.fi Vin Shelton acs@alumni.princeton.edu Vincent Lefevre vincent@vinc17.org Vineet Chadha chadha@acis.ufl.edu Vitali Lovich vlovich@gmail.com Vitaly A. Ostanin vyt@altlinux.org Vito Caputo vcaputo@pengaru.com Vlada Macek tuttle@bbs.fsik.cvut.cz Volker Borchert bt@teknon.de Volker Paul vpaul@dohle.com Wartan Hachaturow wart@tepkom.ru Wayne Stewart wstewa@atl.com Wenjun Zheng zwj@yahoo.com Werner Almesberger Werner.Almesberger@epfl.ch Wichert Akkerman wichert@cistron.nl Will Edgington wedgingt@acm.org William Bader william@nscs.fast.net William Dowling will@franklin.com William Lewis wiml@omnigroup.com wiregauze wiregauze@yahoo.com Wis Macomson wis.macomson@intel.com Wojciech Purczynski cliph@isec.pl Wolfram Kleff kleff@cs.uni-bonn.de Won-kyu Park wkpark@chem.skku.ac.kr Xu Zhongxing xu_zhong_xing@163.com Yang Ren ryang@redhat.com Yanko Kaneti yaneti@declera.com Yann Dirson dirson@debian.org Yutaka Amanai yasai-itame1942@jade.plala.or.jp ;; Local Variables: ;; coding: utf-8 ;; End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/GNUmakefile��������������������������������������������������������������������������0000664�0000000�0000000�00000010735�12107204373�012425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Having a separate GNUmakefile lets me 'include' the dynamically # generated rules created via cfg.mk (package-local configuration) # as well as maint.mk (generic maintainer rules). # This makefile is used only if you run GNU Make. # It is necessary if you want to build targets usually of interest # only to the maintainer. # Copyright (C) 2001, 2003, 2006-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # If the user runs GNU make but has not yet run ./configure, # give them a diagnostic. _gl-Makefile := $(wildcard [M]akefile) ifneq ($(_gl-Makefile),) # Make tar archive easier to reproduce. export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner # Allow the user to add to this in the Makefile. ALL_RECURSIVE_TARGETS = include Makefile # Some projects override e.g., _autoreconf here. -include $(srcdir)/cfg.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf -v include $(srcdir)/maint.mk # Ensure that $(VERSION) is up to date for dist-related targets, but not # for others: rerunning autoreconf and recompiling everything isn't cheap. _have-git-version-gen := \ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) _is-dist-target ?= $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) ifneq (,$(_is-dist-target)$(_is-install-target)) _curr-ver := $(shell cd $(srcdir) \ && $(_build-aux)/git-version-gen \ .tarball-version \ $(git-version-gen-tag-sed-script)) ifneq ($(_curr-ver),$(VERSION)) ifeq ($(_curr-ver),UNKNOWN) $(info WARNING: unable to verify if $(VERSION) is the correct version) else ifneq (,$(_is-install-target)) # GNU Coding Standards state that 'make install' should not cause # recompilation after 'make all'. But as long as changing the version # string alters config.h, the cost of having 'make all' always have an # up-to-date version is prohibitive. So, as a compromise, we merely # warn when installing a version string that is out of date; the user # should run 'autoreconf' (or something like 'make distcheck') to # fix the version, 'make all' to propagate it, then 'make install'. $(info WARNING: version string $(VERSION) is out of date;) $(info run '$(MAKE) _version' to fix it) else $(info INFO: running autoreconf for new version string: $(_curr-ver)) GNUmakefile: _version touch GNUmakefile endif endif endif endif endif .PHONY: _version _version: cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) $(MAKE) $(AM_MAKEFLAGS) Makefile else .DEFAULT_GOAL := abort-due-to-no-makefile srcdir = . # The package can override .DEFAULT_GOAL to run actions like autoreconf. -include ./cfg.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf -v include ./maint.mk ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) $(MAKECMDGOALS): abort-due-to-no-makefile endif abort-due-to-no-makefile: @echo There seems to be no Makefile in this directory. 1>&2 @echo "You must run ./configure before running 'make'." 1>&2 @exit 1 endif # Tell version 3.79 and up of GNU make to not build goals in this # directory in parallel, in case someone tries to build multiple # targets, and one of them can cause a recursive target to be invoked. # Only set this if Automake doesn't provide it. AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ dist distcheck tags ctags ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) ifneq ($(word 2, $(MAKECMDGOALS)), ) ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) .NOTPARALLEL: endif endif �����������������������������������coreutils-8.21/AUTHORS������������������������������������������������������������������������������0000664�0000000�0000000�00000007125�12104210261�011410� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Here are the names of the programs in this package, each followed by the name(s) of its author(s). arch: David MacKenzie, Karel Zak base64: Simon Josefsson basename: David MacKenzie cat: Torbjörn Granlund, Richard M. Stallman chcon: Russell Coker, Jim Meyering chgrp: David MacKenzie, Jim Meyering chmod: David MacKenzie, Jim Meyering chown: David MacKenzie, Jim Meyering chroot: Roland McGrath cksum: Q. Frank Xia comm: Richard M. Stallman, David MacKenzie cp: Torbjörn Granlund, David MacKenzie, Jim Meyering csplit: Stuart Kemp, David MacKenzie cut: David M. Ihnat, David MacKenzie, Jim Meyering date: David MacKenzie dd: Paul Rubin, David MacKenzie, Stuart Kemp df: Torbjörn Granlund, David MacKenzie, Paul Eggert dir: Richard M. Stallman, David MacKenzie dircolors: H. Peter Anvin dirname: David MacKenzie, Jim Meyering du: Torbjörn Granlund, David MacKenzie, Paul Eggert, Jim Meyering echo: Brian Fox, Chet Ramey env: Richard Mlynarik, David MacKenzie expand: David MacKenzie expr: Mike Parker, James Youngman, Paul Eggert factor: Paul Rubin, Torbjörn Granlund, Niels Möller false: Jim Meyering fmt: Ross Paterson fold: David MacKenzie ginstall: David MacKenzie groups: David MacKenzie, James Youngman head: David MacKenzie, Jim Meyering hostid: Jim Meyering hostname: Jim Meyering id: Arnold Robbins, David MacKenzie join: Mike Haertel kill: Paul Eggert link: Michael Stone ln: Mike Parker, David MacKenzie logname: FIXME: unknown ls: Richard M. Stallman, David MacKenzie md5sum: Ulrich Drepper, Scott Miller, David Madore mkdir: David MacKenzie mkfifo: David MacKenzie mknod: David MacKenzie mktemp: Jim Meyering, Eric Blake mv: Mike Parker, David MacKenzie, Jim Meyering nice: David MacKenzie nl: Scott Bartram, David MacKenzie nohup: Jim Meyering nproc: Giuseppe Scrivano numfmt: Assaf Gordon od: Jim Meyering paste: David M. Ihnat, David MacKenzie pathchk: Paul Eggert, David MacKenzie, Jim Meyering pinky: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi pr: Pete TerMaat, Roland Huebner printenv: David MacKenzie, Richard Mlynarik printf: David MacKenzie ptx: François Pinard pwd: Jim Meyering readlink: Dmitry V. Levin realpath: Pádraig Brady rm: Paul Rubin, David MacKenzie, Richard M. Stallman, Jim Meyering rmdir: David MacKenzie runcon: Russell Coker seq: Ulrich Drepper sha1sum: Ulrich Drepper, Scott Miller, David Madore sha224sum: Ulrich Drepper, Scott Miller, David Madore sha256sum: Ulrich Drepper, Scott Miller, David Madore sha384sum: Ulrich Drepper, Scott Miller, David Madore sha512sum: Ulrich Drepper, Scott Miller, David Madore shred: Colin Plumb shuf: Paul Eggert sleep: Jim Meyering, Paul Eggert sort: Mike Haertel, Paul Eggert split: Torbjörn Granlund, Richard M. Stallman stat: Michael Meskes stdbuf: Pádraig Brady stty: David MacKenzie sum: Kayvan Aghaiepour, David MacKenzie sync: Jim Meyering tac: Jay Lepreau, David MacKenzie tail: Paul Rubin, David MacKenzie, Ian Lance Taylor, Jim Meyering tee: Mike Parker, Richard M. Stallman, David MacKenzie test: Kevin Braunsdorf, Matthew Bradburn timeout: Pádraig Brady touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith tr: Jim Meyering true: Jim Meyering truncate: Pádraig Brady tsort: Mark Kettenis tty: David MacKenzie uname: David MacKenzie unexpand: David MacKenzie uniq: Richard M. Stallman, David MacKenzie unlink: Michael Stone uptime: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi users: Joseph Arceneaux, David MacKenzie vdir: Richard M. Stallman, David MacKenzie wc: Paul Rubin, David MacKenzie who: Joseph Arceneaux, David MacKenzie, Michael Stone whoami: Richard Mlynarik yes: David MacKenzie ;; Local Variables: ;; coding: utf-8 ;; End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/THANKStt.in��������������������������������������������������������������������������0000664�0000000�0000000�00000000171�11624727241�012243� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������The following teams have translated the many diagnostics of this package into many different languages. Thank you! --- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/ABOUT-NLS����������������������������������������������������������������������������0000664�0000000�0000000�00000267133�11624730202�011606� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. 1.1 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. Installers may use special options at configuration time for changing the default behaviour. The command: ./configure --disable-nls will _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl' library and will decide to use it. If not, you may have to to use the `--with-libintl-prefix' option to tell `configure' where to look for it. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.2 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.3 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.4 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of June 2010. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca +--------------------------------------------------+ a2ps | [] [] | aegis | | ant-phone | | anubis | | aspell | [] [] | bash | | bfd | | bibshelf | [] | binutils | | bison | | bison-runtime | [] | bluez-pin | [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] [] | cpio | | cppi | | cpplib | [] | cryptsetup | | dfarc | | dialog | [] [] | dico | | diffutils | [] | dink | | doodle | | e2fsprogs | [] | enscript | [] | exif | | fetchmail | [] | findutils | [] | flex | [] | freedink | | gas | | gawk | [] [] | gcal | [] | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] [] | gettext-tools | [] [] | gip | [] | gjay | | gliv | [] | glunarclock | [] [] | gnubiff | | gnucash | [] | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | | gold | | gpe-aerial | | gpe-beam | | gpe-bluetooth | | gpe-calendar | | gpe-clock | [] | gpe-conf | | gpe-contacts | | gpe-edit | | gpe-filemanager | | gpe-go | | gpe-login | | gpe-ownerinfo | [] | gpe-package | | gpe-sketchbook | | gpe-su | [] | gpe-taskmanager | [] | gpe-timesheet | [] | gpe-today | [] | gpe-todo | | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | [] [] | gsasl | | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] [] [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] [] | gutenprint | | hello | [] | help2man | | hylafax | | idutils | | indent | [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | | iso_639 | [] [] [] [] | iso_639_3 | | jwhois | | kbd | | keytouch | [] | keytouch-editor | | keytouch-keyboa... | [] | klavaro | [] | latrine | | ld | [] | leafpad | [] [] | libc | [] [] | libexif | () | libextractor | | libgnutls | | libgpewidget | | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | [] | libidn | | lifelines | | liferea | [] [] | lilypond | | linkdr | [] | lordsawar | | lprng | | lynx | [] | m4 | | mailfromd | | mailutils | | make | | man-db | | man-db-manpages | | minicom | | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | | psmisc | | pspp | [] | pwdutils | | radius | [] | recode | [] [] | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] [] | sed | [] [] | sharutils | [] [] | shishi | | skencil | | solfege | | solfege-manual | | soundtracker | | sp | | sysstat | | tar | [] | texinfo | | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] [] | wyslij-po | | xchat | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] | +--------------------------------------------------+ af am an ar as ast az be be@latin bg bn_IN bs ca 6 0 1 2 3 19 1 10 3 28 3 1 38 crh cs da de el en en_GB en_ZA eo es et eu fa +-------------------------------------------------+ a2ps | [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] () | anubis | [] [] | aspell | [] [] [] [] [] | bash | [] [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] | bison | [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] | bombono-dvd | [] | buzztard | [] [] [] | cflow | [] [] | clisp | [] [] [] [] | coreutils | [] [] [] [] | cpio | | cppi | | cpplib | [] [] [] | cryptsetup | [] | dfarc | [] [] [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] | dink | [] [] [] | doodle | [] | e2fsprogs | [] [] [] | enscript | [] [] [] | exif | () [] [] | fetchmail | [] [] () [] [] [] | findutils | [] [] [] | flex | [] [] | freedink | [] [] [] | gas | [] | gawk | [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] [] | gettext-tools | [] [] [] | gip | [] [] [] [] | gjay | [] | gliv | [] [] [] | glunarclock | [] [] | gnubiff | () | gnucash | [] () () () () | gnuedu | [] [] | gnulib | [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] | gpe-aerial | [] [] [] [] | gpe-beam | [] [] [] [] | gpe-bluetooth | [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] [] [] | gpe-edit | [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] | gpe-package | [] [] [] | gpe-sketchbook | [] [] [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] [] | gphoto2 | [] [] () [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] | grub | [] [] | gsasl | [] | gss | | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] () [] | gtkam | [] [] () [] [] | gtkorphan | [] [] [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] [] [] | hello | [] [] [] [] | help2man | [] | hylafax | [] [] | idutils | [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | [] () [] [] | iso_3166 | [] [] [] [] () [] [] [] () | iso_3166_2 | () | iso_4217 | [] [] [] () [] [] | iso_639 | [] [] [] [] () [] [] | iso_639_3 | [] | jwhois | [] | kbd | [] [] [] [] [] | keytouch | [] [] | keytouch-editor | [] [] | keytouch-keyboa... | [] | klavaro | [] [] [] [] | latrine | [] () | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] () | libextractor | | libgnutls | [] | libgpewidget | [] [] | libgpg-error | [] [] | libgphoto2 | [] () | libgphoto2_port | [] () [] | libgsasl | | libiconv | [] [] [] [] [] | libidn | [] [] [] | lifelines | [] () | liferea | [] [] [] [] [] | lilypond | [] [] [] | linkdr | [] [] [] | lordsawar | [] | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] [] | man-db | | man-db-manpages | | minicom | [] [] [] [] | mkisofs | | myserver | | nano | [] [] [] | opcodes | [] [] | parted | [] [] | pies | | popt | [] [] [] [] [] | psmisc | [] [] [] | pspp | [] | pwdutils | [] | radius | [] | recode | [] [] [] [] [] [] | rosegarden | () () () | rpm | [] [] [] | rush | | sarg | | screem | | scrollkeeper | [] [] [] [] [] | sed | [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | | skencil | [] () [] | solfege | [] [] [] | solfege-manual | [] [] | soundtracker | [] [] [] | sp | [] | sysstat | [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] | tin | [] [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] | vice | () () | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] | wget | [] [] [] | wyslij-po | | xchat | [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] | +-------------------------------------------------+ crh cs da de el en en_GB en_ZA eo es et eu fa 5 64 105 117 18 1 8 0 28 89 18 19 0 fi fr ga gl gu he hi hr hu hy id is it ja ka kn +----------------------------------------------------+ a2ps | [] [] [] [] | aegis | [] [] | ant-phone | [] [] | anubis | [] [] [] [] | aspell | [] [] [] [] | bash | [] [] [] [] | bfd | [] [] [] | bibshelf | [] [] [] [] [] | binutils | [] [] [] | bison | [] [] [] [] | bison-runtime | [] [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] | bombono-dvd | [] | buzztard | [] | cflow | [] [] [] | clisp | [] | coreutils | [] [] [] [] [] | cpio | [] [] [] [] | cppi | [] [] | cpplib | [] [] [] | cryptsetup | [] [] [] | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] [] [] | dink | [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] | freedink | [] [] [] | gas | [] [] | gawk | [] [] [] [] () [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] [] [] | gjay | [] | gliv | [] () | glunarclock | [] [] [] [] | gnubiff | () [] () | gnucash | () () () () () [] | gnuedu | [] [] | gnulib | [] [] [] [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] [] | gpe-aerial | [] [] [] | gpe-beam | [] [] [] [] | gpe-bluetooth | [] [] [] [] | gpe-calendar | [] [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] [] [] | gpe-contacts | [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] [] | gpe-go | [] [] [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] [] [] | gpe-sketchbook | [] [] [] [] | gpe-su | [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] | gpe-todo | [] [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] [] | grub | [] [] [] [] | gsasl | [] [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] [] | gtkorphan | [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] | gutenprint | [] [] [] [] | hello | [] [] [] | help2man | [] [] | hylafax | [] | idutils | [] [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] | iso_15924 | [] () [] [] | iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | () [] [] [] | iso_4217 | [] () [] [] [] [] | iso_639 | [] () [] [] [] [] [] [] [] | iso_639_3 | () [] [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] [] [] [] [] [] | keytouch-editor | [] [] [] [] [] | keytouch-keyboa... | [] [] [] [] [] | klavaro | [] [] | latrine | [] [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] [] () | libc | [] [] [] [] [] | libexif | [] | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] [] | libidn | [] [] [] [] | lifelines | () | liferea | [] [] [] [] | lilypond | [] [] | linkdr | [] [] [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] [] [] | m4 | [] [] [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] [] | man-db | [] [] | man-db-manpages | [] | minicom | [] [] [] [] [] | mkisofs | [] [] [] [] | myserver | | nano | [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pies | | popt | [] [] [] [] [] [] [] [] [] | psmisc | [] [] [] | pspp | | pwdutils | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rosegarden | () () () () () | rpm | [] [] | rush | | sarg | [] | screem | [] [] | scrollkeeper | [] [] [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] | shishi | [] | skencil | [] | solfege | [] [] [] [] | solfege-manual | [] [] | soundtracker | [] [] | sp | [] () | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux-ng | [] [] [] [] [] [] | vice | () () () | vmm | [] | vorbis-tools | [] | wastesedge | () () | wdiff | [] | wget | [] [] [] [] [] [] [] [] | wyslij-po | [] [] [] | xchat | [] [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] | +----------------------------------------------------+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4 ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne +-----------------------------------------------+ a2ps | [] | aegis | | ant-phone | | anubis | [] [] | aspell | [] | bash | | bfd | | bibshelf | [] [] | binutils | | bison | [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] | cpio | | cppi | | cpplib | | cryptsetup | | dfarc | [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] | dink | | doodle | | e2fsprogs | | enscript | | exif | [] | fetchmail | | findutils | | flex | | freedink | [] | gas | | gawk | | gcal | | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] | gettext-tools | [] | gip | [] [] | gjay | | gliv | | glunarclock | [] | gnubiff | | gnucash | () () () () | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | [] | gold | | gpe-aerial | [] | gpe-beam | [] | gpe-bluetooth | [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] | gpe-contacts | [] [] | gpe-edit | [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] | gpe-timesheet | [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | | gsasl | | gss | | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | | gtick | | gtkam | [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | | hello | [] [] [] | help2man | | hylafax | | idutils | | indent | | iso_15924 | [] [] | iso_3166 | [] [] () [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] | iso_639 | [] [] | iso_639_3 | [] | jwhois | [] | kbd | | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | klavaro | [] | latrine | [] | ld | | leafpad | [] [] [] | libc | [] | libexif | | libextractor | | libgnutls | [] | libgpewidget | [] [] | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | | libidn | | lifelines | | liferea | | lilypond | | linkdr | | lordsawar | | lprng | | lynx | | m4 | | mailfromd | | mailutils | | make | [] | man-db | | man-db-manpages | | minicom | [] | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | [] [] [] | psmisc | | pspp | | pwdutils | | radius | | recode | | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] | sed | | sharutils | | shishi | | skencil | | solfege | [] | solfege-manual | | soundtracker | | sp | | sysstat | [] | tar | [] | texinfo | [] | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] | wyslij-po | | xchat | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +-----------------------------------------------+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1 nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr +---------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] [] | anubis | [] [] [] | aspell | [] [] [] [] [] | bash | [] [] | bfd | [] | bibshelf | [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] | bombono-dvd | [] () | buzztard | [] [] | cflow | [] | clisp | [] [] | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cppi | [] | cpplib | [] | cryptsetup | [] | dfarc | [] | dialog | [] [] [] [] | dico | [] | diffutils | [] [] [] [] [] [] | dink | () | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | exif | [] [] [] () [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] [] | freedink | [] [] | gas | | gawk | [] [] [] [] | gcal | | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] | gip | [] [] [] [] [] | gjay | | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] | gnubiff | [] () | gnucash | [] () () () | gnuedu | [] | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gnutls | [] [] | gold | | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-bluetooth | [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] [] | gphoto2 | [] [] [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | grub | [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] | gst-plugins-bad | [] [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | gutenprint | [] [] | hello | [] [] [] [] | help2man | [] [] | hylafax | [] | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | [] [] [] [] | iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | iso_3166_2 | [] [] [] | iso_4217 | [] [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] [] [] | keytouch-editor | [] [] [] | keytouch-keyboa... | [] [] [] | klavaro | [] [] | latrine | [] [] | ld | | leafpad | [] [] [] [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] () [] | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] | libgphoto2_port | [] [] [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] | lifelines | [] [] | liferea | [] [] [] [] [] () () [] | lilypond | [] | linkdr | [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] | make | [] [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | | nano | [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | pies | [] | popt | [] [] [] [] | psmisc | [] [] [] | pspp | [] [] | pwdutils | [] | radius | [] [] [] | recode | [] [] [] [] [] [] [] [] | rosegarden | () () | rpm | [] [] [] | rush | [] [] | sarg | | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] [] [] [] | solfege-manual | [] [] [] | soundtracker | [] | sp | | sysstat | [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] [] | vice | [] | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] | wget | [] [] [] [] [] [] [] | wyslij-po | [] [] [] | xchat | [] [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +---------------------------------------------------+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37 sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW +---------------------------------------------------+ a2ps | [] [] [] [] [] | 27 aegis | [] | 9 ant-phone | [] [] [] [] | 9 anubis | [] [] [] [] | 15 aspell | [] [] [] | 20 bash | [] [] [] | 12 bfd | [] | 6 bibshelf | [] [] [] | 16 binutils | [] [] | 8 bison | [] [] | 12 bison-runtime | [] [] [] [] [] [] | 29 bluez-pin | [] [] [] [] [] [] [] [] | 37 bombono-dvd | [] | 4 buzztard | [] | 7 cflow | [] [] [] | 9 clisp | | 10 coreutils | [] [] [] [] | 22 cpio | [] [] [] [] [] [] | 13 cppi | [] [] | 5 cpplib | [] [] [] [] [] [] | 14 cryptsetup | [] [] | 7 dfarc | [] | 9 dialog | [] [] [] [] [] [] [] | 30 dico | [] | 2 diffutils | [] [] [] [] [] [] | 30 dink | | 4 doodle | [] [] | 7 e2fsprogs | [] [] [] | 11 enscript | [] [] [] [] | 17 exif | [] [] [] | 16 fetchmail | [] [] [] | 17 findutils | [] [] [] [] [] | 20 flex | [] [] [] [] | 15 freedink | [] | 10 gas | [] | 4 gawk | [] [] [] [] | 18 gcal | [] [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] [] | 34 gettext-runtime | [] [] [] [] [] [] [] | 29 gettext-tools | [] [] [] [] [] [] | 22 gip | [] [] [] [] | 22 gjay | [] | 3 gliv | [] [] [] | 14 glunarclock | [] [] [] [] [] | 19 gnubiff | [] [] | 4 gnucash | () [] () [] () | 10 gnuedu | [] [] | 7 gnulib | [] [] [] [] | 16 gnunet | [] | 1 gnunet-gtk | [] [] [] | 5 gnutls | [] [] [] | 10 gold | [] | 4 gpe-aerial | [] [] [] | 18 gpe-beam | [] [] [] | 19 gpe-bluetooth | [] [] [] | 13 gpe-calendar | [] [] [] [] | 12 gpe-clock | [] [] [] [] [] | 28 gpe-conf | [] [] [] [] | 20 gpe-contacts | [] [] [] | 17 gpe-edit | [] [] [] | 12 gpe-filemanager | [] [] [] [] | 16 gpe-go | [] [] [] [] [] | 25 gpe-login | [] [] [] | 11 gpe-ownerinfo | [] [] [] [] [] | 25 gpe-package | [] [] [] | 13 gpe-sketchbook | [] [] [] | 20 gpe-su | [] [] [] [] [] | 30 gpe-taskmanager | [] [] [] [] [] | 29 gpe-timesheet | [] [] [] [] [] | 25 gpe-today | [] [] [] [] [] [] | 30 gpe-todo | [] [] [] [] | 17 gphoto2 | [] [] [] [] [] | 24 gprof | [] [] [] | 15 gpsdrive | [] [] [] | 11 gramadoir | [] [] [] | 11 grep | [] [] [] | 10 grub | [] [] [] | 14 gsasl | [] [] [] [] | 14 gss | [] [] [] | 11 gst-plugins-bad | [] [] [] [] | 26 gst-plugins-base | [] [] [] [] [] | 24 gst-plugins-good | [] [] [] [] | 24 gst-plugins-ugly | [] [] [] [] [] | 29 gstreamer | [] [] [] [] | 22 gtick | [] [] [] | 13 gtkam | [] [] [] | 20 gtkorphan | [] [] [] | 14 gtkspell | [] [] [] [] [] [] [] [] [] | 45 gutenprint | [] | 10 hello | [] [] [] [] [] [] | 21 help2man | [] [] | 7 hylafax | [] | 5 idutils | [] [] [] [] | 17 indent | [] [] [] [] [] [] | 30 iso_15924 | () [] () [] [] | 16 iso_3166 | [] [] () [] [] () [] [] [] () | 53 iso_3166_2 | () [] () [] | 9 iso_4217 | [] () [] [] () [] [] | 26 iso_639 | [] [] [] () [] () [] [] [] [] | 38 iso_639_3 | [] () | 8 jwhois | [] [] [] [] [] | 16 kbd | [] [] [] [] [] | 15 keytouch | [] [] [] | 16 keytouch-editor | [] [] [] | 14 keytouch-keyboa... | [] [] [] | 14 klavaro | [] | 11 latrine | [] [] [] | 10 ld | [] [] [] [] | 11 leafpad | [] [] [] [] [] [] | 33 libc | [] [] [] [] [] | 21 libexif | [] () | 7 libextractor | [] | 1 libgnutls | [] [] [] | 9 libgpewidget | [] [] [] | 14 libgpg-error | [] [] [] | 9 libgphoto2 | [] [] | 8 libgphoto2_port | [] [] [] [] | 14 libgsasl | [] [] [] | 13 libiconv | [] [] [] [] | 21 libidn | () [] [] | 11 lifelines | [] | 4 liferea | [] [] [] | 21 lilypond | [] | 7 linkdr | [] [] [] [] [] | 17 lordsawar | | 1 lprng | [] | 3 lynx | [] [] [] [] | 17 m4 | [] [] [] [] | 19 mailfromd | [] [] | 3 mailutils | [] | 5 make | [] [] [] [] | 21 man-db | [] [] [] | 8 man-db-manpages | | 4 minicom | [] [] | 16 mkisofs | [] [] | 9 myserver | | 0 nano | [] [] [] [] | 21 opcodes | [] [] [] | 11 parted | [] [] [] [] [] | 15 pies | [] [] | 3 popt | [] [] [] [] [] [] | 27 psmisc | [] [] | 11 pspp | | 4 pwdutils | [] [] | 6 radius | [] [] | 9 recode | [] [] [] [] | 28 rosegarden | () | 0 rpm | [] [] [] | 11 rush | [] [] | 4 sarg | | 1 screem | [] | 3 scrollkeeper | [] [] [] [] [] | 27 sed | [] [] [] [] [] | 30 sharutils | [] [] [] [] [] | 22 shishi | [] | 3 skencil | [] [] | 7 solfege | [] [] [] [] | 16 solfege-manual | [] | 8 soundtracker | [] [] [] | 9 sp | [] | 3 sysstat | [] [] | 15 tar | [] [] [] [] [] [] | 23 texinfo | [] [] [] [] [] | 17 tin | | 4 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux-ng | [] [] [] [] | 20 vice | () () | 1 vmm | [] | 4 vorbis-tools | [] | 6 wastesedge | | 2 wdiff | [] [] | 7 wget | [] [] [] [] [] | 26 wyslij-po | [] [] | 8 xchat | [] [] [] [] [] [] | 36 xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63 xkeyboard-config | [] [] [] | 22 +---------------------------------------------------+ 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If June 2010 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.5 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/Makefile.am��������������������������������������������������������������������������0000664�0000000�0000000�00000014312�12102337340�012376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Make coreutils. -*-Makefile-*- # Copyright (C) 1990-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. ALL_RECURSIVE_TARGETS = SUBDIRS = po . gnulib-tests changelog_etc = \ ChangeLog-2005 \ ChangeLog-2006 \ ChangeLog-2007 \ ChangeLog-2008 \ build-aux/ChangeLog-2007 \ doc/ChangeLog-2007 \ lib/ChangeLog-2007 \ m4/ChangeLog-2007 \ old/fileutils/ChangeLog \ old/fileutils/ChangeLog-1997 \ old/fileutils/NEWS \ old/sh-utils/ChangeLog \ old/sh-utils/ChangeLog.0 \ old/sh-utils/NEWS \ old/textutils/ChangeLog \ old/textutils/NEWS \ po/ChangeLog-2007 EXTRA_DIST = \ $(changelog_etc) \ .mailmap \ .prev-version \ .version \ .vg-suppressions \ THANKS.in \ THANKS-to-translators \ THANKStt.in \ bootstrap \ bootstrap.conf \ build-aux/gen-lists-of-programs.sh \ cfg.mk \ dist-check.mk \ maint.mk \ tests/GNUmakefile \ thanks-gen gen_progs_lists = $(top_srcdir)/build-aux/gen-lists-of-programs.sh # Keep these in sync with bootstrap.conf:bootstrap_post_import_hook(). # Use '$(top_srcdir)/m4' and '$(srcdir)/src' for the benefit of non-GNU # makes: it is with those directories that 'cu-progs.m4' and 'cu-progs.mk' # appear in our dependencies. $(top_srcdir)/m4/cu-progs.m4: $(gen_progs_lists) $(AM_V_GEN)rm -f $@ $@-t \ && $(SHELL) $(gen_progs_lists) --autoconf >$@-t \ && chmod a-w $@-t && mv -f $@-t $@ $(srcdir)/src/cu-progs.mk: $(gen_progs_lists) $(AM_V_GEN)rm -f $@ $@-t \ && $(SHELL) $(gen_progs_lists) --automake >$@-t \ && chmod a-w $@-t && mv -f $@-t $@ ACLOCAL_AMFLAGS = -I m4 # Shortcut targets to make it easier to run (very) expensive tests. check-expensive: $(MAKE) check RUN_EXPENSIVE_TESTS=yes check-very-expensive: $(MAKE) check-expensive RUN_VERY_EXPENSIVE_TESTS=yes # Just prior to distribution, ... # transform the automake-generated rule that runs 'rm -f rm'. # On some systems, that command would fail with a diagnostic like # "rm: cannot unlink 'rm': Text file busy" when '.' appears so early # in the shell's search path that running 'rm' would run the 'rm' # executable in the current directory. # Similarly, adjust the clean-binPROGRAMS rule. rm_subst = \ s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1! BUILT_SOURCES = .version .version: $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@ # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. dist-hook: gen-ChangeLog $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version $(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in gen_start_date = 2008-02-08 .PHONY: gen-ChangeLog gen-ChangeLog: $(AM_V_GEN)if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --amend=$(srcdir)/build-aux/git-log-fix \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi ALL_RECURSIVE_TARGETS += distcheck-hook distcheck-hook: check-ls-dircolors $(MAKE) my-distcheck $(MAKE) taint-distcheck DISTCLEANFILES = VERSION MAINTAINERCLEANFILES = THANKS-to-translators THANKS-to-translators: po/LINGUAS THANKStt.in $(AM_V_GEN)( \ cat $(srcdir)/THANKStt.in; \ for lang in `cat $(srcdir)/po/LINGUAS`; do \ echo http://translationproject.org/team/$$lang.html; \ done; \ ) > $@-tmp && mv $@-tmp $@ # Ensure that the sets of two-letter codes in ls.c and dircolors.c # remain in sync. .PHONY: check-ls-dircolors check-ls-dircolors: $(AM_V_GEN)dc=$$(sed -n '/static.*ls_codes\[/,/};'/p \ $(srcdir)/src/dircolors.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ ls=$$(sed -n '/static.*indicator_name\[/,/};'/\p \ $(srcdir)/src/ls.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ test "$$dc" = "$$ls" # Sort in traditional ASCII order, regardless of the current locale; # otherwise we may get into trouble with distinct strings that the # current locale considers to be equal. ASSORT = LC_ALL=C sort # Extract all lines up to the first one starting with "##". prologue = perl -ne '/^\#\#/ and exit; print' $(srcdir)/THANKS.in THANKS: THANKS.in Makefile.am .mailmap thanks-gen .version $(AM_V_GEN)rm -f $@-t $@; \ { \ $(prologue); echo; \ { perl -ne '/^$$/.../^$$/ and print' $(srcdir)/THANKS.in \ | grep -v '^$$' | perl -pe 's/ +/\0/'; \ git log --pretty=format:'%aN%x00%aE' \ | $(ASSORT) -u; \ } | $(srcdir)/thanks-gen \ | LC_ALL=en_US.UTF-8 sort -f; \ echo; \ printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ } > $@-t && chmod a-w $@-t && mv $@-t $@ # Some of our git hook scripts are supposed to be identical to git's samples. # See if they are still in sync. .PHONY: check-git-hook-script-sync check-git-hook-script-sync: @fail=0; \ t=$$(mktemp -d) \ && cd $$t && git init -q && cd .git/hooks \ && for i in pre-commit pre-applypatch applypatch-msg; do \ diff $(abs_top_srcdir)/scripts/git-hooks/$$i $$i.sample \ || fail=1; \ done; \ rm -rf $$t; \ test $$fail = 0 noinst_LIBRARIES = MOSTLYCLEANFILES = CLEANFILES = MOSTLYCLEANDIRS = AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src include $(top_srcdir)/lib/local.mk include $(top_srcdir)/src/local.mk include $(top_srcdir)/doc/local.mk include $(top_srcdir)/man/local.mk include $(top_srcdir)/tests/local.mk ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/THANKS-to-translators����������������������������������������������������������������0000664�0000000�0000000�00000003620�12107176261�014257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������The following teams have translated the many diagnostics of this package into many different languages. Thank you! --- http://translationproject.org/team/af.html http://translationproject.org/team/be.html http://translationproject.org/team/bg.html http://translationproject.org/team/ca.html http://translationproject.org/team/cs.html http://translationproject.org/team/da.html http://translationproject.org/team/de.html http://translationproject.org/team/el.html http://translationproject.org/team/eo.html http://translationproject.org/team/es.html http://translationproject.org/team/et.html http://translationproject.org/team/eu.html http://translationproject.org/team/fi.html http://translationproject.org/team/fr.html http://translationproject.org/team/ga.html http://translationproject.org/team/gl.html http://translationproject.org/team/hr.html http://translationproject.org/team/hu.html http://translationproject.org/team/ia.html http://translationproject.org/team/id.html http://translationproject.org/team/it.html http://translationproject.org/team/ja.html http://translationproject.org/team/kk.html http://translationproject.org/team/ko.html http://translationproject.org/team/lg.html http://translationproject.org/team/lt.html http://translationproject.org/team/ms.html http://translationproject.org/team/nb.html http://translationproject.org/team/nl.html http://translationproject.org/team/pl.html http://translationproject.org/team/pt.html http://translationproject.org/team/pt_BR.html http://translationproject.org/team/ro.html http://translationproject.org/team/ru.html http://translationproject.org/team/sk.html http://translationproject.org/team/sl.html http://translationproject.org/team/sv.html http://translationproject.org/team/tr.html http://translationproject.org/team/uk.html http://translationproject.org/team/vi.html http://translationproject.org/team/zh_CN.html http://translationproject.org/team/zh_TW.html ����������������������������������������������������������������������������������������������������������������coreutils-8.21/init.cfg�����������������������������������������������������������������������������0000664�0000000�0000000�00000037451�12102337340�011777� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is sourced by init.sh, *before* its initialization. # Copyright (C) 2010-2013 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # This goes hand in hand with the "exec 9>&2;" in tests/Makefile.am's # TESTS_ENVIRONMENT definition. stderr_fileno_=9 # Having an unsearchable directory in PATH causes execve to fail with EACCES # when applied to an unresolvable program name, contrary to the desired ENOENT. # Avoid the problem by rewriting PATH to exclude unsearchable directories. # Also, if PATH lacks /sbin and/or /usr/sbin, append it/them. sanitize_path_() { # FIXME: remove double quotes around $IFS when all tests use init.sh. # They constitute a work-around for a bug in FreeBSD 8.1's /bin/sh. local saved_IFS="$IFS" IFS=: set -- $PATH IFS=$saved_IFS local d d1 local colon= local new_path= for d in "$@"; do test -z "$d" && d1=. || d1=$d if ls -d "$d1/." > /dev/null 2>&1; then new_path="$new_path$colon$d" colon=':' fi done for d in /sbin /usr/sbin ; do case ":$new_path:" in *:$d:*) ;; *) new_path="$new_path:$d" ;; esac done PATH=$new_path export PATH } getlimits_() { eval $(getlimits) test "$INT_MAX" || fatal_ "running getlimits" } require_acl_() { getfacl --version < /dev/null > /dev/null 2>&1 \ && setfacl --version < /dev/null > /dev/null 2>&1 \ || skip_ "This test requires getfacl and setfacl." id -u bin > /dev/null 2>&1 \ || skip_ "This test requires a local user named bin." } is_local_dir_() { test $# = 1 || framework_failure_ df --local "$1" >/dev/null 2>&1 } require_mount_list_() { local mount_list_fail='cannot read table of mounted file systems' df 2>&1 | grep -F "$mount_list_fail" >/dev/null && skip_ "$mount_list_fail" } require_local_dir_() { require_mount_list_ is_local_dir_ . || skip_ "This test must be run on a local file system." } # Skip this test if we're not in SELinux "enforcing" mode. require_selinux_enforcing_() { test "$(getenforce)" = Enforcing \ || skip_ "This test is useful only with SELinux in Enforcing mode." } require_openat_support_() { # Skip this test if your system has neither the openat-style functions # nor /proc/self/fd support with which to emulate them. test -z "$CONFIG_HEADER" \ && skip_ 'internal error: CONFIG_HEADER not defined' _skip=yes grep '^#define HAVE_OPENAT' "$CONFIG_HEADER" > /dev/null && _skip=no test -d /proc/self/fd && _skip=no if test $_skip = yes; then skip_ 'this system lacks openat support' fi } require_ulimit_() { local ulimit_works=yes # Expect to be able to exec a program in 10MiB of virtual memory, # (10MiB is usually plenty, but valgrind-wrapped date requires 19000KiB, # so allow more in that case) # but not in 20KiB. I chose "date". It must not be a shell built-in # function, so you can't use echo, printf, true, etc. # Of course, in coreutils, I could use $top_builddir/src/true, # but this should be able to work for other projects, too. local vm case $(printenv LD_PRELOAD) in */valgrind/*) vm=22000;; *) vm=10000;; esac ( ulimit -v $vm; date ) > /dev/null 2>&1 || ulimit_works=no ( ulimit -v 20; date ) > /dev/null 2>&1 && ulimit_works=no test $ulimit_works = no \ && skip_ "this shell lacks ulimit support" } require_readable_root_() { test -r / || skip_ "/ is not readable" } # Skip the current test if strace is not available or doesn't work # with the named syscall. Usage: require_strace_ unlink require_strace_() { test $# = 1 || framework_failure_ strace -V < /dev/null > /dev/null 2>&1 || skip_ 'no strace program' strace -qe "$1" echo > /dev/null 2>&1 || skip_ 'strace -qe "'"$1"'" does not work' # On some linux/sparc64 systems, strace works fine on 32-bit executables, # but prints only one line of output for every 64-bit executable. strace -o log-help ls --help >/dev/null || framework_failure_ n_lines_help=$(wc -l < log-help) rm -f log-help if test $n_lines_help = 0 || test $n_lines_help = 1; then skip_ 'strace produces no more than one line of output' fi } # Skip the current test if valgrind doesn't work, # which could happen if not installed, # or hasn't support for the built architecture, # or hasn't appropriate error suppressions installed etc. require_valgrind_() { valgrind --error-exitcode=1 true 2>/dev/null || skip_ "requires a working valgrind" } require_setfacl_() { setfacl -m user::rwx . \ || skip_ "setfacl does not work on the current file system" } # Require a controlling input 'terminal'. require_controlling_input_terminal_() { tty -s || have_input_tty=no test -t 0 || have_input_tty=no if test "$have_input_tty" = no; then skip_ 'requires controlling input terminal This test must have a controlling input "terminal", so it may not be run via "batch", "at", or "ssh". On some systems, it may not even be run in the background.' fi } require_built_() { skip_=no for i in "$@"; do case " $built_programs " in *" $i "*) ;; *) echo "$i: not built" 1>&2; skip_=yes ;; esac done test $skip_ = yes && skip_ "required program(s) not built" } require_file_system_bytes_free_() { local req=$1 local expr=$(stat -f --printf "$req / %S <= %a" .) $AWK "BEGIN{ exit !($expr) }" \ || skip_ "this test needs at least $req bytes of free space" } uid_is_privileged_() { # Make sure id -u succeeds. my_uid=$(id -u) \ || { echo "$0: cannot run 'id -u'" 1>&2; return 1; } # Make sure it gives valid output. case $my_uid in 0) ;; *[!0-9]*) echo "$0: invalid output ('$my_uid') from 'id -u'" 1>&2 return 1 ;; *) return 1 ;; esac } get_process_status_() { sed -n '/^State:[ ]*\([[:alpha:]]\).*/s//\1/p' /proc/$1/status } # Convert an ls-style permission string, like drwxr----x and -rw-r-x-wx # to the equivalent chmod --mode (-m) argument, (=,u=rwx,g=r,o=x and # =,u=rw,g=rx,o=wx). Ignore ACLs. rwx_to_mode_() { case $# in 1) rwx=$1;; *) echo "$0: wrong number of arguments" 1>&2 echo "Usage: $0 ls-style-mode-string" 1>&2 return;; esac case $rwx in [ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-]) ;; [ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-][+.]) ;; *) echo "$0: invalid mode string: $rwx" 1>&2; return;; esac # Perform these conversions: # S s # s xs # T t # t xt # The 'T' and 't' ones are only valid for 'other'. s='s/S/@/;s/s/x@/;s/@/s/' t='s/T/@/;s/t/x@/;s/@/t/' u=$(echo $rwx|sed 's/^.\(...\).*/,u=\1/;s/-//g;s/^,u=$//;'$s) g=$(echo $rwx|sed 's/^....\(...\).*/,g=\1/;s/-//g;s/^,g=$//;'$s) o=$(echo $rwx|sed 's/^.......\(...\).*/,o=\1/;s/-//g;s/^,o=$//;'$s';'$t) echo "=$u$g$o" } # Set the global variable stty_reversible_ to a space-separated list of the # reversible settings from stty.c. stty_reversible_ also starts and ends # with a space. stty_reversible_init_() { # Pad start with one space for the first option to match in query function. stty_reversible_=' '$(perl -lne '/^ *{"(.*?)",.*\bREV\b/ and print $1' \ "$abs_top_srcdir"/src/stty.c | tr '\n' ' ') # Ensure that there are at least 62, i.e., so we're alerted if # reformatting the source empties the list. test 62 -le $(echo "$stty_reversible_"|wc -w) \ || framework_failure_ "too few reversible settings" } # Test whether $1 is one of stty's reversible options. stty_reversible_query_() { case $stty_reversible_ in '') framework_failure_ "stty_reversible_init_() not called?";; *" $1 "*) return 0;; *) return 1;; esac } skip_if_() { case $1 in root) skip_ must be run as root ;; non-root) skip_ must be run as non-root ;; *) ;; # FIXME? esac } require_selinux_() { # When in a chroot of an SELinux-enabled system, but with a mock-simulated # SELinux-*disabled* system, recognize that SELinux is disabled system wide: grep 'selinuxfs$' /proc/filesystems > /dev/null \ || skip_ "this system lacks SELinux support" # Independent of whether SELinux is enabled system-wide, # the current file system may lack SELinux support. case $(ls -Zd .) in '? .'|'unlabeled .') skip_ "this system (or maybe just" \ "the current file system) lacks SELinux support" ;; esac } very_expensive_() { if test "$RUN_VERY_EXPENSIVE_TESTS" != yes; then skip_ 'very expensive: disabled by default This test is very expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_VERY_EXPENSIVE_TESTS environment variable set to yes. E.g., env RUN_VERY_EXPENSIVE_TESTS=yes make check or use the shortcut target of the toplevel Makefile, make check-very-expensive ' fi } expensive_() { if test "$RUN_EXPENSIVE_TESTS" != yes; then skip_ 'expensive: disabled by default This test is relatively expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_EXPENSIVE_TESTS environment variable set to yes. E.g., env RUN_EXPENSIVE_TESTS=yes make check or use the shortcut target of the toplevel Makefile, make check-expensive ' fi } # Test whether we can run our just-built rm setuidgid-to-root, # i.e., that $NON_ROOT_USERNAME has access to the build directory. setuidgid_has_perm_() { local rm_version=$( setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm --version | sed -n '1s/.* //p' ) case ":$rm_version:" in :$PACKAGE_VERSION:) ;; *) return 1;; esac } require_root_() { uid_is_privileged_ || skip_ "must be run as root" NON_ROOT_USERNAME=${NON_ROOT_USERNAME=nobody} NON_ROOT_GROUP=${NON_ROOT_GROUP=$(id -g $NON_ROOT_USERNAME)} # When the current test invokes setuidgid, call setuidgid_has_perm_ # to check for a common problem. grep '^[ ]*setuidgid' "../$0" \ && { setuidgid_has_perm_ \ || skip_ "user $NON_ROOT_USERNAME lacks execute permissions"; } } skip_if_root_() { uid_is_privileged_ && skip_ "must be run as non-root"; } # Set 'groups' to a space-separated list of at least two groups # of which the user is a member. require_membership_in_two_groups_() { test $# = 0 || framework_failure_ groups=${COREUTILS_GROUPS-$( (id -G || /usr/xpg4/bin/id -G) 2>/dev/null)} case "$groups" in *' '*) ;; *) skip_ 'requires membership in two groups this test requires that you be a member of more than one group, but running 'id -G'\'' either failed or found just one. If you really are a member of at least two groups, then rerun this test with COREUTILS_GROUPS set in your environment to the space-separated list of group names or numbers. E.g., env COREUTILS_GROUPS='\''users cdrom'\'' make check ' ;; esac } # Is /proc/$PID/status supported? require_proc_pid_status_() { sleep 2 & local pid=$! sleep .5 grep '^State:[ ]*[S]' /proc/$pid/status > /dev/null 2>&1 || skip_ "/proc/$pid/status: missing or 'different'" kill $pid } # Return nonzero if the specified path is on a file system for # which FIEMAP support exists. Note some file systems (like ext3 and btrfs) # only support FIEMAP for files, not directories. fiemap_capable_() { if ! python < /dev/null; then warn_ 'fiemap_capable_: python missing: assuming not fiemap capable' return 1 fi python "$abs_srcdir"/tests/fiemap-capable "$@" } # Skip the current test if "." lacks d_type support. require_dirent_d_type_() { python < /dev/null \ || skip_ python missing: assuming no d_type support # Manually exclude xfs, since the test would mistakenly report # that it has d_type support: d_type == DT_DIR for "." and "..", # but DT_UNKNOWN for all other types. df -x xfs . > /dev/null 2>&1 \ || skip_ requires d_type support python "$abs_srcdir"/tests/d_type-check \ || skip_ requires d_type support } # Skip the current test if we lack Perl. require_perl_() { : ${PERL=perl} $PERL -e 'use warnings' > /dev/null 2>&1 \ || skip_ 'configure did not find a usable version of Perl' } # Does the current (working-dir) file system support sparse files? require_sparse_support_() { test $# = 0 || framework_failure_ # Test whether we can create a sparse file. # For example, on Darwin6.5 with a file system of type hfs, it's not possible. # NTFS requires 128K before a hole appears in a sparse file. t=sparse.$$ dd bs=1 seek=128K of=$t < /dev/null 2> /dev/null set x $(du -sk $t) kb_size=$2 rm -f $t if test $kb_size -ge 128; then skip_ 'this file system does not support sparse files' fi } mkfifo_or_skip_() { test $# = 1 || framework_failure_ if ! mkfifo "$1"; then # Make an exception of this case -- usually we interpret framework-creation # failure as a test failure. However, in this case, when running on a SunOS # system using a disk NFS mounted from OpenBSD, the above fails like this: # mkfifo: cannot make fifo 'fifo-10558': Not owner skip_ 'unable to create a fifo' fi } # Disable the current test if the working directory seems to have # the setgid bit set. skip_if_setgid_() { setgid_tmpdir=setgid-$$ (umask 77; mkdir $setgid_tmpdir) perms=$(stat --printf %A $setgid_tmpdir) rmdir $setgid_tmpdir case $perms in drwx------);; drwxr-xr-x);; # Windows98 + DJGPP 2.03 *) skip_ 'this directory has the setgid bit set';; esac } skip_if_mcstransd_is_running_() { test $# = 0 || framework_failure_ # When mcstransd is running, you'll see only the 3-component # version of file-system context strings. Detect that, # and if it's running, skip this test. __ctx=$(stat --printf='%C\n' .) || framework_failure_ case $__ctx in *:*:*:*) ;; # four components is ok *) # anything else probably means mcstransd is running skip_ "unexpected context '$__ctx'; turn off mcstransd" ;; esac } # Skip the current test if umask doesn't work as usual. # This test should be run in the temporary directory that ends # up being removed via the trap commands. working_umask_or_skip_() { umask 022 touch file1 file2 chmod 644 file2 perms=$(ls -l file1 file2 | sed 's/ .*//' | uniq) rm -f file1 file2 case $perms in *' '*) skip_ 'your build directory has unusual umask semantics' esac } # Retry a function requiring a sufficient delay to _pass_ # using a truncated exponential backoff method. # Example: retry_delay_ dd_reblock_1 .1 6 # This example will call the dd_reblock_1 function with # an initial delay of .1 second and call it at most 6 times # with a max delay of 3.2s (doubled each time), or a total of 6.3s # Note ensure you do _not_ quote the parameter to GNU sleep in # your function, as it may contain separate values that sleep # needs to accumulate. retry_delay_() { local test_func=$1 local init_delay=$2 local max_n_tries=$3 local attempt=1 local num_sleeps=$attempt local time_fail while test $attempt -le $max_n_tries; do local delay=$($AWK -v n=$num_sleeps -v s="$init_delay" \ 'BEGIN { print s * n }') "$test_func" "$delay" && { time_fail=0; break; } || time_fail=1 attempt=$(expr $attempt + 1) num_sleeps=$(expr $num_sleeps '*' 2) done test "$time_fail" = 0 } # Call this with a list of programs under test immediately after # sourcing init.sh. print_ver_() { if test "$VERBOSE" = yes; then local i for i in $*; do env $i --version done fi } # Are we running on GNU/Hurd? require_gnu_() { test "$(uname)" = GNU \ || skip_ 'not running on GNU/Hurd' } sanitize_path_ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/���������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207523�011173� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/linkat.c�������������������������������������������������������������������������0000664�0000000�0000000�00000021172�12071024546�012546� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create a hard link relative to open directories. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <limits.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include "areadlink.h" #include "dirname.h" #include "filenamecat.h" #include "openat-priv.h" #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #ifndef MAXSYMLINKS # ifdef SYMLOOP_MAX # define MAXSYMLINKS SYMLOOP_MAX # else # define MAXSYMLINKS 20 # endif #endif #if !HAVE_LINKAT /* Create a link. If FILE1 is a symlink, either create a hardlink to that symlink, or fake it by creating an identical symlink. */ # if LINK_FOLLOWS_SYMLINKS == 0 # define link_immediate link # else static int link_immediate (char const *file1, char const *file2) { char *target = areadlink (file1); if (target) { /* A symlink cannot be modified in-place. Therefore, creating an identical symlink behaves like a hard link to a symlink, except for incorrect st_ino and st_nlink. However, we must be careful of EXDEV. */ struct stat st1; struct stat st2; char *dir = mdir_name (file2); if (!dir) { free (target); errno = ENOMEM; return -1; } if (lstat (file1, &st1) == 0 && stat (dir, &st2) == 0) { if (st1.st_dev == st2.st_dev) { int result = symlink (target, file2); int saved_errno = errno; free (target); free (dir); errno = saved_errno; return result; } free (target); free (dir); errno = EXDEV; return -1; } free (target); free (dir); } if (errno == ENOMEM) return -1; return link (file1, file2); } # endif /* LINK_FOLLOWS_SYMLINKS == 0 */ /* Create a link. If FILE1 is a symlink, create a hardlink to the canonicalized file. */ # if 0 < LINK_FOLLOWS_SYMLINKS # define link_follow link # else static int link_follow (char const *file1, char const *file2) { char *name = (char *) file1; char *target; int result; int i = MAXSYMLINKS; /* Using realpath or canonicalize_file_name is too heavy-handed: we don't need an absolute name, and we don't need to resolve intermediate symlinks, just the basename of each iteration. */ while (i-- && (target = areadlink (name))) { if (IS_ABSOLUTE_FILE_NAME (target)) { if (name != file1) free (name); name = target; } else { char *dir = mdir_name (name); if (name != file1) free (name); if (!dir) { free (target); errno = ENOMEM; return -1; } name = mfile_name_concat (dir, target, NULL); free (dir); free (target); if (!name) { errno = ENOMEM; return -1; } } } if (i < 0) { target = NULL; errno = ELOOP; } if (!target && errno != EINVAL) { if (name != file1) { int saved_errno = errno; free (name); errno = saved_errno; } return -1; } result = link (name, file2); if (name != file1) { int saved_errno = errno; free (name); errno = saved_errno; } return result; } # endif /* 0 < LINK_FOLLOWS_SYMLINKS */ /* On Solaris, link() doesn't follow symlinks by default, but does so as soon as a library or executable takes part in the program that has been compiled with "c99" or "cc -xc99=all" or "cc ... /usr/lib/values-xpg4.o ...". */ # if LINK_FOLLOWS_SYMLINKS == -1 /* Reduce the penalty of link_immediate and link_follow by incorporating the knowledge that link()'s behaviour depends on the __xpg4 variable. */ extern int __xpg4; static int solaris_optimized_link_immediate (char const *file1, char const *file2) { if (__xpg4 == 0) return link (file1, file2); return link_immediate (file1, file2); } static int solaris_optimized_link_follow (char const *file1, char const *file2) { if (__xpg4 != 0) return link (file1, file2); return link_follow (file1, file2); } # define link_immediate solaris_optimized_link_immediate # define link_follow solaris_optimized_link_follow # endif /* Create a link to FILE1, in the directory open on descriptor FD1, to FILE2, in the directory open on descriptor FD2. If FILE1 is a symlink, FLAG controls whether to dereference FILE1 first. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then rename/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ int linkat (int fd1, char const *file1, int fd2, char const *file2, int flag) { if (flag & ~AT_SYMLINK_FOLLOW) { errno = EINVAL; return -1; } return at_func2 (fd1, file1, fd2, file2, flag ? link_follow : link_immediate); } #else /* HAVE_LINKAT */ # undef linkat /* Create a link. If FILE1 is a symlink, create a hardlink to the canonicalized file. */ static int linkat_follow (int fd1, char const *file1, int fd2, char const *file2) { char *name = (char *) file1; char *target; int result; int i = MAXSYMLINKS; /* There is no realpathat. */ while (i-- && (target = areadlinkat (fd1, name))) { if (IS_ABSOLUTE_FILE_NAME (target)) { if (name != file1) free (name); name = target; } else { char *dir = mdir_name (name); if (name != file1) free (name); if (!dir) { free (target); errno = ENOMEM; return -1; } name = mfile_name_concat (dir, target, NULL); free (dir); free (target); if (!name) { errno = ENOMEM; return -1; } } } if (i < 0) { target = NULL; errno = ELOOP; } if (!target && errno != EINVAL) { if (name != file1) { int saved_errno = errno; free (name); errno = saved_errno; } return -1; } result = linkat (fd1, name, fd2, file2, 0); if (name != file1) { int saved_errno = errno; free (name); errno = saved_errno; } return result; } /* Like linkat, but guarantee that AT_SYMLINK_FOLLOW works even on older Linux kernels. */ int rpl_linkat (int fd1, char const *file1, int fd2, char const *file2, int flag) { if (flag & ~AT_SYMLINK_FOLLOW) { errno = EINVAL; return -1; } # if LINKAT_TRAILING_SLASH_BUG /* Reject trailing slashes on non-directories. */ { size_t len1 = strlen (file1); size_t len2 = strlen (file2); if ((len1 && file1[len1 - 1] == '/') || (len2 && file2[len2 - 1] == '/')) { /* Let linkat() decide whether hard-linking directories is legal. If fstatat() fails, then linkat() should fail for the same reason; if fstatat() succeeds, require a directory. */ struct stat st; if (fstatat (fd1, file1, &st, flag ? 0 : AT_SYMLINK_NOFOLLOW)) return -1; if (!S_ISDIR (st.st_mode)) { errno = ENOTDIR; return -1; } } } # endif if (!flag) return linkat (fd1, file1, fd2, file2, flag); /* Cache the information on whether the system call really works. */ { static int have_follow_really; /* 0 = unknown, 1 = yes, -1 = no */ if (0 <= have_follow_really) { int result = linkat (fd1, file1, fd2, file2, flag); if (!(result == -1 && errno == EINVAL)) { have_follow_really = 1; return result; } have_follow_really = -1; } } return linkat_follow (fd1, file1, fd2, file2); } #endif /* HAVE_LINKAT */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/selinux-at.c���������������������������������������������������������������������0000664�0000000�0000000�00000004323�12071024546�013354� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* openat-style fd-relative functions for SE Linux Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include "selinux-at.h" #include "openat.h" #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "save-cwd.h" #include "openat-priv.h" #define AT_FUNC_NAME getfileconat #define AT_FUNC_F1 getfilecon #define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t *con #define AT_FUNC_POST_FILE_ARGS , con #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS #define AT_FUNC_NAME lgetfileconat #define AT_FUNC_F1 lgetfilecon #define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t *con #define AT_FUNC_POST_FILE_ARGS , con #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS #define AT_FUNC_NAME setfileconat #define AT_FUNC_F1 setfilecon #define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t con #define AT_FUNC_POST_FILE_ARGS , con #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS #define AT_FUNC_NAME lsetfileconat #define AT_FUNC_F1 lsetfilecon #define AT_FUNC_POST_FILE_PARAM_DECLS , security_context_t con #define AT_FUNC_POST_FILE_ARGS , con #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fd-safer.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003002�12071024546�012743� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return a safer copy of a file descriptor. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "unistd-safer.h" #include <errno.h> #include <unistd.h> /* Return FD, unless FD would be a copy of standard input, output, or error; in that case, return a duplicate of FD, closing FD. On failure to duplicate, close FD, set errno, and return -1. Preserve errno if FD is negative, so that the caller can always inspect errno when the returned value is negative. This function is usefully wrapped around functions that return file descriptors, e.g., fd_safer (open ("file", O_RDONLY)). */ int fd_safer (int fd) { if (STDIN_FILENO <= fd && fd <= STDERR_FILENO) { int f = dup_safer (fd); int e = errno; close (fd); errno = e; fd = f; } return fd; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistd.c�������������������������������������������������������������������������0000664�0000000�0000000�00000000124�12071024546�012564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE #include "unistd.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memcoll.h������������������������������������������������������������������������0000664�0000000�0000000�00000001760�12071024546�012722� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Locale-specific memory comparison. Copyright (C) 1999, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Contributed by Paul Eggert <eggert@twinsun.com>. */ #ifndef MEMCOLL_H_ # define MEMCOLL_H_ 1 # include <stddef.h> int memcoll (char *, size_t, char *, size_t); int memcoll0 (char const *, size_t, char const *, size_t); #endif /* MEMCOLL_H_ */ ����������������coreutils-8.21/lib/argmatch.h�����������������������������������������������������������������������0000664�0000000�0000000�00000007600�12071024545�013056� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* argmatch.h -- definitions and prototypes for argmatch.c Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@ai.mit.edu> Modified by Akim Demaille <demaille@inf.enst.fr> */ #ifndef ARGMATCH_H_ # define ARGMATCH_H_ 1 # include <stddef.h> # include "verify.h" # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) /* Assert there are as many real arguments as there are values (argument list ends with a NULL guard). */ # define ARGMATCH_VERIFY(Arglist, Vallist) \ verify (ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1) /* Return the index of the element of ARGLIST (NULL terminated) that matches with ARG. If VALLIST is not NULL, then use it to resolve false ambiguities (i.e., different matches of ARG but corresponding to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE; # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which in turn defaults to 'exit (exit_failure)'. */ typedef void (*argmatch_exit_fn) (void); extern argmatch_exit_fn argmatch_die; /* Report on stderr why argmatch failed. Report correct values. */ void argmatch_invalid (char const *context, char const *value, ptrdiff_t problem); /* Left for compatibility with the old name invalid_arg */ # define invalid_arg(Context, Value, Problem) \ argmatch_invalid (Context, Value, Problem) /* Report on stderr the list of possible arguments. */ void argmatch_valid (char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH_VALID(Arglist, Vallist) \ argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* Same as argmatch, but upon failure, report an explanation of the failure, and exit using the function EXIT_FN. */ ptrdiff_t __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, char const *vallist, size_t valsize, argmatch_exit_fn exit_fn); /* Programmer friendly interface to __xargmatch_internal. */ # define XARGMATCH(Context, Arg, Arglist, Vallist) \ ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \ (char const *) (Vallist), \ sizeof *(Vallist), \ argmatch_die)]) /* Convert a value into a corresponding argument. */ char const *argmatch_to_argument (char const *value, char const *const *arglist, char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE; # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ (char const *) (Vallist), sizeof *(Vallist)) #endif /* ARGMATCH_H_ */ ��������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wcrtomb.c������������������������������������������������������������������������0000664�0000000�0000000�00000002715�12071024546�012743� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert wide character to multibyte character. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #include <errno.h> #include <stdlib.h> size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps) { /* This implementation of wcrtomb on top of wctomb() supports only stateless encodings. ps must be in the initial state. */ if (ps != NULL && !mbsinit (ps)) { errno = EINVAL; return (size_t)(-1); } if (s == NULL) /* We know the NUL wide character corresponds to the NUL character. */ return 1; else { int ret = wctomb (s, wc); if (ret >= 0) return ret; else { errno = EILSEQ; return (size_t)(-1); } } } ���������������������������������������������������coreutils-8.21/lib/mbsstr.c�������������������������������������������������������������������������0000664�0000000�0000000�00000033622�12071024546�012601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Searching in a string. Copyright (C) 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2005. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> #include <stdbool.h> #include <stddef.h> /* for NULL, in case a nonstandard string.h lacks it */ #include "malloca.h" #include "mbuiter.h" /* Knuth-Morris-Pratt algorithm. */ #define UNIT unsigned char #define CANON_ELEMENT(c) c #include "str-kmp.h" /* Knuth-Morris-Pratt algorithm. See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm Return a boolean indicating success: Return true and set *RESULTP if the search was completed. Return false if it was aborted because not enough memory was available. */ static bool knuth_morris_pratt_multibyte (const char *haystack, const char *needle, const char **resultp) { size_t m = mbslen (needle); mbchar_t *needle_mbchars; size_t *table; /* Allocate room for needle_mbchars and the table. */ char *memory = (char *) nmalloca (m, sizeof (mbchar_t) + sizeof (size_t)); if (memory == NULL) return false; needle_mbchars = (mbchar_t *) memory; table = (size_t *) (memory + m * sizeof (mbchar_t)); /* Fill needle_mbchars. */ { mbui_iterator_t iter; size_t j; j = 0; for (mbui_init (iter, needle); mbui_avail (iter); mbui_advance (iter), j++) mb_copy (&needle_mbchars[j], &mbui_cur (iter)); } /* Fill the table. For 0 < i < m: 0 < table[i] <= i is defined such that forall 0 < x < table[i]: needle[x..i-1] != needle[0..i-1-x], and table[i] is as large as possible with this property. This implies: 1) For 0 < i < m: If table[i] < i, needle[table[i]..i-1] = needle[0..i-1-table[i]]. 2) For 0 < i < m: rhaystack[0..i-1] == needle[0..i-1] and exists h, i <= h < m: rhaystack[h] != needle[h] implies forall 0 <= x < table[i]: rhaystack[x..x+m-1] != needle[0..m-1]. table[0] remains uninitialized. */ { size_t i, j; /* i = 1: Nothing to verify for x = 0. */ table[1] = 1; j = 0; for (i = 2; i < m; i++) { /* Here: j = i-1 - table[i-1]. The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < table[i-1], by induction. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ mbchar_t *b = &needle_mbchars[i - 1]; for (;;) { /* Invariants: The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < i-1-j. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ if (mb_equal (*b, needle_mbchars[j])) { /* Set table[i] := i-1-j. */ table[i] = i - ++j; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for x = i-1-j, because needle[i-1] != needle[j] = needle[i-1-x]. */ if (j == 0) { /* The inequality holds for all possible x. */ table[i] = i; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for i-1-j < x < i-1-j+table[j], because for these x: needle[x..i-2] = needle[x-(i-1-j)..j-1] != needle[0..j-1-(x-(i-1-j))] (by definition of table[j]) = needle[0..i-2-x], hence needle[x..i-1] != needle[0..i-1-x]. Furthermore needle[i-1-j+table[j]..i-2] = needle[table[j]..j-1] = needle[0..j-1-table[j]] (by definition of table[j]). */ j = j - table[j]; } /* Here: j = i - table[i]. */ } } /* Search, using the table to accelerate the processing. */ { size_t j; mbui_iterator_t rhaystack; mbui_iterator_t phaystack; *resultp = NULL; j = 0; mbui_init (rhaystack, haystack); mbui_init (phaystack, haystack); /* Invariant: phaystack = rhaystack + j. */ while (mbui_avail (phaystack)) if (mb_equal (needle_mbchars[j], mbui_cur (phaystack))) { j++; mbui_advance (phaystack); if (j == m) { /* The entire needle has been found. */ *resultp = mbui_cur_ptr (rhaystack); break; } } else if (j > 0) { /* Found a match of needle[0..j-1], mismatch at needle[j]. */ size_t count = table[j]; j -= count; for (; count > 0; count--) { if (!mbui_avail (rhaystack)) abort (); mbui_advance (rhaystack); } } else { /* Found a mismatch at needle[0] already. */ if (!mbui_avail (rhaystack)) abort (); mbui_advance (rhaystack); mbui_advance (phaystack); } } freea (memory); return true; } /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. */ char * mbsstr (const char *haystack, const char *needle) { /* Be careful not to look at the entire extent of haystack or needle until needed. This is useful because of these two cases: - haystack may be very long, and a match of needle found early, - needle may be very long, and not even a short initial segment of needle may be found in haystack. */ if (MB_CUR_MAX > 1) { mbui_iterator_t iter_needle; mbui_init (iter_needle, needle); if (mbui_avail (iter_needle)) { /* Minimizing the worst-case complexity: Let n = mbslen(haystack), m = mbslen(needle). The naïve algorithm is O(n*m) worst-case. The Knuth-Morris-Pratt algorithm is O(n) worst-case but it needs a memory allocation. To achieve linear complexity and yet amortize the cost of the memory allocation, we activate the Knuth-Morris-Pratt algorithm only once the naïve algorithm has already run for some time; more precisely, when - the outer loop count is >= 10, - the average number of comparisons per outer loop is >= 5, - the total number of comparisons is >= m. But we try it only once. If the memory allocation attempt failed, we don't retry it. */ bool try_kmp = true; size_t outer_loop_count = 0; size_t comparison_count = 0; size_t last_ccount = 0; /* last comparison count */ mbui_iterator_t iter_needle_last_ccount; /* = needle + last_ccount */ mbui_iterator_t iter_haystack; mbui_init (iter_needle_last_ccount, needle); mbui_init (iter_haystack, haystack); for (;; mbui_advance (iter_haystack)) { if (!mbui_avail (iter_haystack)) /* No match. */ return NULL; /* See whether it's advisable to use an asymptotically faster algorithm. */ if (try_kmp && outer_loop_count >= 10 && comparison_count >= 5 * outer_loop_count) { /* See if needle + comparison_count now reaches the end of needle. */ size_t count = comparison_count - last_ccount; for (; count > 0 && mbui_avail (iter_needle_last_ccount); count--) mbui_advance (iter_needle_last_ccount); last_ccount = comparison_count; if (!mbui_avail (iter_needle_last_ccount)) { /* Try the Knuth-Morris-Pratt algorithm. */ const char *result; bool success = knuth_morris_pratt_multibyte (haystack, needle, &result); if (success) return (char *) result; try_kmp = false; } } outer_loop_count++; comparison_count++; if (mb_equal (mbui_cur (iter_haystack), mbui_cur (iter_needle))) /* The first character matches. */ { mbui_iterator_t rhaystack; mbui_iterator_t rneedle; memcpy (&rhaystack, &iter_haystack, sizeof (mbui_iterator_t)); mbui_advance (rhaystack); mbui_init (rneedle, needle); if (!mbui_avail (rneedle)) abort (); mbui_advance (rneedle); for (;; mbui_advance (rhaystack), mbui_advance (rneedle)) { if (!mbui_avail (rneedle)) /* Found a match. */ return (char *) mbui_cur_ptr (iter_haystack); if (!mbui_avail (rhaystack)) /* No match. */ return NULL; comparison_count++; if (!mb_equal (mbui_cur (rhaystack), mbui_cur (rneedle))) /* Nothing in this round. */ break; } } } } else return (char *) haystack; } else { if (*needle != '\0') { /* Minimizing the worst-case complexity: Let n = strlen(haystack), m = strlen(needle). The naïve algorithm is O(n*m) worst-case. The Knuth-Morris-Pratt algorithm is O(n) worst-case but it needs a memory allocation. To achieve linear complexity and yet amortize the cost of the memory allocation, we activate the Knuth-Morris-Pratt algorithm only once the naïve algorithm has already run for some time; more precisely, when - the outer loop count is >= 10, - the average number of comparisons per outer loop is >= 5, - the total number of comparisons is >= m. But we try it only once. If the memory allocation attempt failed, we don't retry it. */ bool try_kmp = true; size_t outer_loop_count = 0; size_t comparison_count = 0; size_t last_ccount = 0; /* last comparison count */ const char *needle_last_ccount = needle; /* = needle + last_ccount */ /* Speed up the following searches of needle by caching its first character. */ char b = *needle++; for (;; haystack++) { if (*haystack == '\0') /* No match. */ return NULL; /* See whether it's advisable to use an asymptotically faster algorithm. */ if (try_kmp && outer_loop_count >= 10 && comparison_count >= 5 * outer_loop_count) { /* See if needle + comparison_count now reaches the end of needle. */ if (needle_last_ccount != NULL) { needle_last_ccount += strnlen (needle_last_ccount, comparison_count - last_ccount); if (*needle_last_ccount == '\0') needle_last_ccount = NULL; last_ccount = comparison_count; } if (needle_last_ccount == NULL) { /* Try the Knuth-Morris-Pratt algorithm. */ const unsigned char *result; bool success = knuth_morris_pratt ((const unsigned char *) haystack, (const unsigned char *) (needle - 1), strlen (needle - 1), &result); if (success) return (char *) result; try_kmp = false; } } outer_loop_count++; comparison_count++; if (*haystack == b) /* The first character matches. */ { const char *rhaystack = haystack + 1; const char *rneedle = needle; for (;; rhaystack++, rneedle++) { if (*rneedle == '\0') /* Found a match. */ return (char *) haystack; if (*rhaystack == '\0') /* No match. */ return NULL; comparison_count++; if (*rhaystack != *rneedle) /* Nothing in this round. */ break; } } } } else return (char *) haystack; } } ��������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xnanosleep.c���������������������������������������������������������������������0000664�0000000�0000000�00000003727�12071024546�013446� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xnanosleep.c -- a more convenient interface to nanosleep Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Mostly written (for sleep.c) by Paul Eggert. Factored out (creating this file) by Jim Meyering. */ #include <config.h> #include "xnanosleep.h" #include <timespec.h> #include <errno.h> #include <time.h> /* Sleep until the time (call it WAKE_UP_TIME) specified as SECONDS seconds after the time this function is called. SECONDS must be non-negative. If SECONDS is so large that it is not representable as a 'struct timespec', then use the maximum value for that interval. Return -1 on failure (setting errno), 0 on success. */ int xnanosleep (double seconds) { struct timespec ts_sleep = dtotimespec (seconds); for (;;) { /* Linux-2.6.8.1's nanosleep returns -1, but doesn't set errno when resumed after being suspended. Earlier versions would set errno to EINTR. nanosleep from linux-2.6.10, as well as implementations by (all?) other vendors, doesn't return -1 in that case; either it continues sleeping (if time remains) or it returns zero (if the wake-up time has passed). */ errno = 0; if (nanosleep (&ts_sleep, NULL) == 0) break; if (errno != EINTR && errno != 0) return -1; } return 0; } �����������������������������������������coreutils-8.21/lib/fsusage.h������������������������������������������������������������������������0000664�0000000�0000000�00000002755�12071024546�012734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fsusage.h -- declarations for file system space usage info Copyright (C) 1991-1992, 1997, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Space usage statistics for a file system. Blocks are 512-byte. */ #if !defined FSUSAGE_H_ # define FSUSAGE_H_ # include <stdint.h> # include <stdbool.h> struct fs_usage { uintmax_t fsu_blocksize; /* Size of a block. */ uintmax_t fsu_blocks; /* Total blocks. */ uintmax_t fsu_bfree; /* Free blocks available to superuser. */ uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */ bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */ uintmax_t fsu_files; /* Total file nodes. */ uintmax_t fsu_ffree; /* Free file nodes. */ }; int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); #endif �������������������coreutils-8.21/lib/langinfo.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000012075�12071561010�013465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for and wrapper around <langinfo.h>. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* * POSIX <langinfo.h> for platforms that lack it or have an incomplete one. * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html> */ #ifndef _@GUARD_PREFIX@_LANGINFO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_LANGINFO_H@ # @INCLUDE_NEXT@ @NEXT_LANGINFO_H@ #endif #ifndef _@GUARD_PREFIX@_LANGINFO_H #define _@GUARD_PREFIX@_LANGINFO_H #if !@HAVE_LANGINFO_H@ /* A platform that lacks <langinfo.h>. */ /* Assume that it also lacks <nl_types.h> and the nl_item type. */ # if !GNULIB_defined_nl_item typedef int nl_item; # define GNULIB_defined_nl_item 1 # endif /* nl_langinfo items of the LC_CTYPE category */ # define CODESET 10000 /* nl_langinfo items of the LC_NUMERIC category */ # define RADIXCHAR 10001 # define THOUSEP 10002 /* nl_langinfo items of the LC_TIME category */ # define D_T_FMT 10003 # define D_FMT 10004 # define T_FMT 10005 # define T_FMT_AMPM 10006 # define AM_STR 10007 # define PM_STR 10008 # define DAY_1 10009 # define DAY_2 (DAY_1 + 1) # define DAY_3 (DAY_1 + 2) # define DAY_4 (DAY_1 + 3) # define DAY_5 (DAY_1 + 4) # define DAY_6 (DAY_1 + 5) # define DAY_7 (DAY_1 + 6) # define ABDAY_1 10016 # define ABDAY_2 (ABDAY_1 + 1) # define ABDAY_3 (ABDAY_1 + 2) # define ABDAY_4 (ABDAY_1 + 3) # define ABDAY_5 (ABDAY_1 + 4) # define ABDAY_6 (ABDAY_1 + 5) # define ABDAY_7 (ABDAY_1 + 6) # define MON_1 10023 # define MON_2 (MON_1 + 1) # define MON_3 (MON_1 + 2) # define MON_4 (MON_1 + 3) # define MON_5 (MON_1 + 4) # define MON_6 (MON_1 + 5) # define MON_7 (MON_1 + 6) # define MON_8 (MON_1 + 7) # define MON_9 (MON_1 + 8) # define MON_10 (MON_1 + 9) # define MON_11 (MON_1 + 10) # define MON_12 (MON_1 + 11) # define ABMON_1 10035 # define ABMON_2 (ABMON_1 + 1) # define ABMON_3 (ABMON_1 + 2) # define ABMON_4 (ABMON_1 + 3) # define ABMON_5 (ABMON_1 + 4) # define ABMON_6 (ABMON_1 + 5) # define ABMON_7 (ABMON_1 + 6) # define ABMON_8 (ABMON_1 + 7) # define ABMON_9 (ABMON_1 + 8) # define ABMON_10 (ABMON_1 + 9) # define ABMON_11 (ABMON_1 + 10) # define ABMON_12 (ABMON_1 + 11) # define ERA 10047 # define ERA_D_FMT 10048 # define ERA_D_T_FMT 10049 # define ERA_T_FMT 10050 # define ALT_DIGITS 10051 /* nl_langinfo items of the LC_MONETARY category */ # define CRNCYSTR 10052 /* nl_langinfo items of the LC_MESSAGES category */ # define YESEXPR 10053 # define NOEXPR 10054 #else /* A platform that has <langinfo.h>. */ # if !@HAVE_LANGINFO_CODESET@ # define CODESET 10000 # define GNULIB_defined_CODESET 1 # endif # if !@HAVE_LANGINFO_T_FMT_AMPM@ # define T_FMT_AMPM 10006 # define GNULIB_defined_T_FMT_AMPM 1 # endif # if !@HAVE_LANGINFO_ERA@ # define ERA 10047 # define ERA_D_FMT 10048 # define ERA_D_T_FMT 10049 # define ERA_T_FMT 10050 # define ALT_DIGITS 10051 # define GNULIB_defined_ERA 1 # endif # if !@HAVE_LANGINFO_YESEXPR@ # define YESEXPR 10053 # define NOEXPR 10054 # define GNULIB_defined_YESEXPR 1 # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ /* Return a piece of locale dependent information. Note: The difference between nl_langinfo (CODESET) and locale_charset () is that the latter normalizes the encoding names to GNU conventions. */ #if @GNULIB_NL_LANGINFO@ # if @REPLACE_NL_LANGINFO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef nl_langinfo # define nl_langinfo rpl_nl_langinfo # endif _GL_FUNCDECL_RPL (nl_langinfo, char *, (nl_item item)); _GL_CXXALIAS_RPL (nl_langinfo, char *, (nl_item item)); # else # if !@HAVE_NL_LANGINFO@ _GL_FUNCDECL_SYS (nl_langinfo, char *, (nl_item item)); # endif _GL_CXXALIAS_SYS (nl_langinfo, char *, (nl_item item)); # endif _GL_CXXALIASWARN (nl_langinfo); #elif defined GNULIB_POSIXCHECK # undef nl_langinfo # if HAVE_RAW_DECL_NL_LANGINFO _GL_WARN_ON_USE (nl_langinfo, "nl_langinfo is not portable - " "use gnulib module nl_langinfo for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_LANGINFO_H */ #endif /* _@GUARD_PREFIX@_LANGINFO_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getpass.c������������������������������������������������������������������������0000664�0000000�0000000�00000012140�12071561010�012715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1992-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif #include "getpass.h" #include <stdio.h> #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) # include <stdbool.h> # if HAVE_DECL___FSETLOCKING && HAVE___FSETLOCKING # if HAVE_STDIO_EXT_H # include <stdio_ext.h> # endif # else # define __fsetlocking(stream, type) /* empty */ # endif # if HAVE_TERMIOS_H # include <termios.h> # endif # if USE_UNLOCKED_IO # include "unlocked-io.h" # else # if !HAVE_DECL_FFLUSH_UNLOCKED # undef fflush_unlocked # define fflush_unlocked(x) fflush (x) # endif # if !HAVE_DECL_FLOCKFILE # undef flockfile # define flockfile(x) ((void) 0) # endif # if !HAVE_DECL_FUNLOCKFILE # undef funlockfile # define funlockfile(x) ((void) 0) # endif # if !HAVE_DECL_FPUTS_UNLOCKED # undef fputs_unlocked # define fputs_unlocked(str,stream) fputs (str, stream) # endif # if !HAVE_DECL_PUTC_UNLOCKED # undef putc_unlocked # define putc_unlocked(c,stream) putc (c, stream) # endif # endif /* It is desirable to use this bit on systems that have it. The only bit of terminal state we want to twiddle is echoing, which is done in software; there is no need to change the state of the terminal hardware. */ # ifndef TCSASOFT # define TCSASOFT 0 # endif static void call_fclose (void *arg) { if (arg != NULL) fclose (arg); } char * getpass (const char *prompt) { FILE *tty; FILE *in, *out; struct termios s, t; bool tty_changed = false; static char *buf; static size_t bufsize; ssize_t nread; /* Try to write to and read from the terminal if we can. If we can't open the terminal, use stderr and stdin. */ tty = fopen ("/dev/tty", "w+"); if (tty == NULL) { in = stdin; out = stderr; } else { /* We do the locking ourselves. */ __fsetlocking (tty, FSETLOCKING_BYCALLER); out = in = tty; } flockfile (out); /* Turn echoing off if it is on now. */ # if HAVE_TCGETATTR if (tcgetattr (fileno (in), &t) == 0) { /* Save the old one. */ s = t; /* Tricky, tricky. */ t.c_lflag &= ~(ECHO | ISIG); tty_changed = (tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &t) == 0); } # endif /* Write the prompt. */ fputs_unlocked (prompt, out); fflush_unlocked (out); /* Read the password. */ nread = getline (&buf, &bufsize, in); /* According to the C standard, input may not be followed by output on the same stream without an intervening call to a file positioning function. Suppose in == out; then without this fseek call, on Solaris, HP-UX, AIX, OSF/1, the previous input gets echoed, whereas on IRIX, the following newline is not output as it should be. POSIX imposes similar restrictions if fileno (in) == fileno (out). The POSIX restrictions are tricky and change from POSIX version to POSIX version, so play it safe and invoke fseek even if in != out. */ fseeko (out, 0, SEEK_CUR); if (buf != NULL) { if (nread < 0) buf[0] = '\0'; else if (buf[nread - 1] == '\n') { /* Remove the newline. */ buf[nread - 1] = '\0'; if (tty_changed) { /* Write the newline that was not echoed. */ putc_unlocked ('\n', out); } } } /* Restore the original setting. */ # if HAVE_TCSETATTR if (tty_changed) tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &s); # endif funlockfile (out); call_fclose (tty); return buf; } #else /* W32 native */ /* Windows implementation by Martin Lambers <marlam@marlam.de>, improved by Simon Josefsson. */ /* For PASS_MAX. */ # include <limits.h> /* For _getch(). */ # include <conio.h> /* For strdup(). */ # include <string.h> # ifndef PASS_MAX # define PASS_MAX 512 # endif char * getpass (const char *prompt) { char getpassbuf[PASS_MAX + 1]; size_t i = 0; int c; if (prompt) { fputs (prompt, stderr); fflush (stderr); } for (;;) { c = _getch (); if (c == '\r') { getpassbuf[i] = '\0'; break; } else if (i < PASS_MAX) { getpassbuf[i++] = c; } if (i >= PASS_MAX) { getpassbuf[i] = '\0'; break; } } if (prompt) { fputs ("\r\n", stderr); fflush (stderr); } return strdup (getpassbuf); } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/posixtm.c������������������������������������������������������������������������0000664�0000000�0000000�00000012667�12071024546�013000� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Parse dates for touch and date. Copyright (C) 1989-1991, 1998, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Yacc-based version written by Jim Kingdon and David MacKenzie. Rewritten by Jim Meyering. */ #include <config.h> #include "posixtm.h" #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <string.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* POSIX requires: touch -t [[CC]YY]mmddhhmm[.ss] FILE... 8, 10, or 12 digits, followed by optional .ss (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS) touch mmddhhmm[YY] FILE... (obsoleted by POSIX 1003.1-2001) 8 or 10 digits, YY (if present) must be in the range 69-99 (PDS_TRAILING_YEAR | PDS_PRE_2000) date mmddhhmm[[CC]YY] 8, 10, or 12 digits (PDS_TRAILING_YEAR | PDS_CENTURY) */ static int year (struct tm *tm, const int *digit_pair, size_t n, unsigned int syntax_bits) { switch (n) { case 1: tm->tm_year = *digit_pair; /* Deduce the century based on the year. POSIX requires that 00-68 be interpreted as 2000-2068, and that 69-99 be interpreted as 1969-1999. */ if (digit_pair[0] <= 68) { if (syntax_bits & PDS_PRE_2000) return 1; tm->tm_year += 100; } break; case 2: if (! (syntax_bits & PDS_CENTURY)) return 1; tm->tm_year = digit_pair[0] * 100 + digit_pair[1] - 1900; break; case 0: { time_t now; struct tm *tmp; /* Use current year. */ time (&now); tmp = localtime (&now); if (! tmp) return 1; tm->tm_year = tmp->tm_year; } break; default: abort (); } return 0; } static int posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits) { const char *dot = NULL; int pair[6]; int *p; size_t i; size_t s_len = strlen (s); size_t len = (((syntax_bits & PDS_SECONDS) && (dot = strchr (s, '.'))) ? (size_t) (dot - s) : s_len); if (len != 8 && len != 10 && len != 12) return 1; if (dot) { if (!(syntax_bits & PDS_SECONDS)) return 1; if (s_len - len != 3) return 1; } for (i = 0; i < len; i++) if (!ISDIGIT (s[i])) return 1; len /= 2; for (i = 0; i < len; i++) pair[i] = 10 * (s[2*i] - '0') + s[2*i + 1] - '0'; p = pair; if (syntax_bits & PDS_LEADING_YEAR) { if (year (tm, p, len - 4, syntax_bits)) return 1; p += len - 4; len = 4; } /* Handle 8 digits worth of 'MMDDhhmm'. */ tm->tm_mon = *p++ - 1; tm->tm_mday = *p++; tm->tm_hour = *p++; tm->tm_min = *p++; len -= 4; /* Handle any trailing year. */ if (syntax_bits & PDS_TRAILING_YEAR) { if (year (tm, p, len, syntax_bits)) return 1; } /* Handle seconds. */ if (!dot) { tm->tm_sec = 0; } else { int seconds; ++dot; if (!ISDIGIT (dot[0]) || !ISDIGIT (dot[1])) return 1; seconds = 10 * (dot[0] - '0') + dot[1] - '0'; tm->tm_sec = seconds; } return 0; } /* Parse a POSIX-style date, returning true if successful. */ bool posixtime (time_t *p, const char *s, unsigned int syntax_bits) { struct tm tm0; struct tm tm1; struct tm const *tm; time_t t; if (posix_time_parse (&tm0, s, syntax_bits)) return false; tm1 = tm0; tm1.tm_isdst = -1; t = mktime (&tm1); if (t != (time_t) -1) tm = &tm1; else { /* mktime returns -1 for errors, but -1 is also a valid time_t value. Check whether an error really occurred. */ tm = localtime (&t); if (! tm) return false; } /* Reject dates like "September 31" and times like "25:61". Do not reject times that specify "60" as the number of seconds. */ if ((tm0.tm_year ^ tm->tm_year) | (tm0.tm_mon ^ tm->tm_mon) | (tm0.tm_mday ^ tm->tm_mday) | (tm0.tm_hour ^ tm->tm_hour) | (tm0.tm_min ^ tm->tm_min) | (tm0.tm_sec ^ tm->tm_sec)) { /* Any mismatch without 60 in the tm_sec field is invalid. */ if (tm0.tm_sec != 60) return false; { /* Allow times like 01:35:60 or 23:59:60. */ time_t dummy; char buf[16]; char *b = stpcpy (buf, s); strcpy (b - 2, "59"); if (!posixtime (&dummy, buf, syntax_bits)) return false; } } *p = t; return true; } �������������������������������������������������������������������������coreutils-8.21/lib/obstack.c������������������������������������������������������������������������0000664�0000000�0000000�00000034051�12071024546�012712� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* obstack.c - subroutines used implicitly by object stack macros Copyright (C) 1988-1994, 1996-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef _LIBC # include <obstack.h> # include <shlib-compat.h> #else # include <config.h> # include "obstack.h" #endif /* NOTE BEFORE MODIFYING THIS FILE: This version number must be incremented whenever callers compiled using an old obstack.h can no longer properly call the functions in this obstack.c. */ #define OBSTACK_INTERFACE_VERSION 1 /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and the installed library supports the same library interface we do. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand 'configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 # include <gnu-versions.h> # if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION # define ELIDE_CODE # endif #endif #include <stddef.h> #ifndef ELIDE_CODE # include <stdint.h> /* Determine default alignment. */ union fooround { uintmax_t i; long double d; void *p; }; struct fooalign { char c; union fooround u; }; /* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. But in fact it might be less smart and round addresses to as much as DEFAULT_ROUNDING. So we prepare for it to do that. */ enum { DEFAULT_ALIGNMENT = offsetof (struct fooalign, u), DEFAULT_ROUNDING = sizeof (union fooround) }; /* When we copy a long block of data, this is the unit to do it with. On some machines, copying successive ints does not work; in such a case, redefine COPYING_UNIT to 'long' (if that works) or 'char' as a last resort. */ # ifndef COPYING_UNIT # define COPYING_UNIT int # endif /* The functions allocating more room by calling 'obstack_chunk_alloc' jump to the handler pointed to by 'obstack_alloc_failed_handler'. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. This variable by default points to the internal function 'print_and_abort'. */ static _Noreturn void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; /* Exit value used when 'print_and_abort' is used. */ # include <stdlib.h> # ifdef _LIBC int obstack_exit_failure = EXIT_FAILURE; # else # include "exitfail.h" # define obstack_exit_failure exit_failure # endif # ifdef _LIBC # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) /* A looong time ago (before 1994, anyway; we're not sure) this global variable was used by non-GNU-C macros to avoid multiple evaluation. The GNU C library still exports it because somebody might use it. */ struct obstack *_obstack_compat; compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); # endif # endif /* Define a macro that either calls functions with the traditional malloc/free calling interface, or calls functions with the mmalloc/mfree interface (that adds an extra first argument), based on the state of use_extra_arg. For free, do not use ?:, since some compilers, like the MIPS compilers, do not allow (expr) ? void : void. */ # define CALL_CHUNKFUN(h, size) \ (((h) -> use_extra_arg) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) # define CALL_FREEFUN(h, old_chunk) \ do { \ if ((h) -> use_extra_arg) \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ else \ (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ } while (0) /* Initialize an obstack H for use. Specify chunk size SIZE (0 means default). Objects start on multiples of ALIGNMENT (0 means use default). CHUNKFUN is the function to use to allocate chunks, and FREEFUN the function to free them. Return nonzero if successful, calls obstack_alloc_failed_handler if allocation fails. */ int _obstack_begin (struct obstack *h, int size, int alignment, void *(*chunkfun) (long), void (*freefun) (void *)) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->use_extra_arg = 0; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } int _obstack_begin_1 (struct obstack *h, int size, int alignment, void *(*chunkfun) (void *, long), void (*freefun) (void *, void *), void *arg) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->extra_arg = arg; h->use_extra_arg = 1; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } /* Allocate a new current chunk for the obstack *H on the assumption that LENGTH bytes need to be added to the current object, or a new object of length LENGTH allocated. Copies any partial object from the end of the old chunk to the beginning of the new one. */ void _obstack_newchunk (struct obstack *h, int length) { register struct _obstack_chunk *old_chunk = h->chunk; register struct _obstack_chunk *new_chunk; register long new_size; register long obj_size = h->next_free - h->object_base; register long i; long already; char *object_base; /* Compute size for new chunk. */ new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100; if (new_size < h->chunk_size) new_size = h->chunk_size; /* Allocate and initialize the new chunk. */ new_chunk = CALL_CHUNKFUN (h, new_size); if (!new_chunk) (*obstack_alloc_failed_handler) (); h->chunk = new_chunk; new_chunk->prev = old_chunk; new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size; /* Compute an aligned object_base in the new chunk */ object_base = __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask); /* Move the existing object to the new chunk. Word at a time is fast and is safe if the object is sufficiently aligned. */ if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT) { for (i = obj_size / sizeof (COPYING_UNIT) - 1; i >= 0; i--) ((COPYING_UNIT *)object_base)[i] = ((COPYING_UNIT *)h->object_base)[i]; /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT, but that can cross a page boundary on a machine which does not do strict alignment for COPYING_UNITS. */ already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT); } else already = 0; /* Copy remaining bytes one by one. */ for (i = already; i < obj_size; i++) object_base[i] = h->object_base[i]; /* If the object just copied was the only data in OLD_CHUNK, free that chunk and remove it from the chain. But not if that chunk might contain an empty object. */ if (! h->maybe_empty_object && (h->object_base == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents, h->alignment_mask))) { new_chunk->prev = old_chunk->prev; CALL_FREEFUN (h, old_chunk); } h->object_base = object_base; h->next_free = h->object_base + obj_size; /* The new chunk certainly contains no empty object yet. */ h->maybe_empty_object = 0; } # ifdef _LIBC libc_hidden_def (_obstack_newchunk) # endif /* Return nonzero if object OBJ has been allocated from obstack H. This is here for debugging. If you use it in a program, you are probably losing. */ /* Suppress -Wmissing-prototypes warning. We don't want to declare this in obstack.h because it is just for debugging. */ int _obstack_allocated_p (struct obstack *h, void *obj); int _obstack_allocated_p (struct obstack *h, void *obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = (h)->chunk; /* We use >= rather than > since the object cannot be exactly at the beginning of the chunk but might be an empty object exactly at the end of an adjacent chunk. */ while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj)) { plp = lp->prev; lp = plp; } return lp != 0; } /* Free objects in obstack H, including OBJ and everything allocate more recently than OBJ. If OBJ is zero, free everything in H. */ # undef obstack_free void __obstack_free (struct obstack *h, void *obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. But there can be an empty object at that address at the end of another chunk. */ while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj)) { plp = lp->prev; CALL_FREEFUN (h, lp); lp = plp; /* If we switch chunks, we can't tell whether the new current chunk contains an empty object, so assume that it may. */ h->maybe_empty_object = 1; } if (lp) { h->object_base = h->next_free = (char *) (obj); h->chunk_limit = lp->limit; h->chunk = lp; } else if (obj != 0) /* obj is not in any of the chunks! */ abort (); } # ifdef _LIBC /* Older versions of libc used a function _obstack_free intended to be called by non-GCC compilers. */ strong_alias (obstack_free, _obstack_free) # endif int _obstack_memory_used (struct obstack *h) { register struct _obstack_chunk* lp; register int nbytes = 0; for (lp = h->chunk; lp != 0; lp = lp->prev) { nbytes += lp->limit - (char *) lp; } return nbytes; } /* Define the error handler. */ # ifdef _LIBC # include <libintl.h> # else # include "gettext.h" # endif # ifndef _ # define _(msgid) gettext (msgid) # endif # ifdef _LIBC # include <libio/iolibio.h> # endif static _Noreturn void print_and_abort (void) { /* Don't change any of these strings. Yes, it would be possible to add the newline to the string and use fputs or so. But this must not happen because the "memory exhausted" message appears in other places like this and the translation should be reused instead of creating a very similar string which requires a separate translation. */ # ifdef _LIBC (void) __fxprintf (NULL, "%s\n", _("memory exhausted")); # else fprintf (stderr, "%s\n", _("memory exhausted")); # endif exit (obstack_exit_failure); } #endif /* !ELIDE_CODE */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gettime.c������������������������������������������������������������������������0000664�0000000�0000000�00000002315�12071024546�012720� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* gettime -- get the system clock Copyright (C) 2002, 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "timespec.h" #include <sys/time.h> /* Get the system time into *TS. */ void gettime (struct timespec *ts) { #if HAVE_NANOTIME nanotime (ts); #else # if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME if (clock_gettime (CLOCK_REALTIME, ts) == 0) return; # endif { struct timeval tv; gettimeofday (&tv, NULL); ts->tv_sec = tv.tv_sec; ts->tv_nsec = tv.tv_usec * 1000; } #endif } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/opendir.c������������������������������������������������������������������������0000664�0000000�0000000�00000006521�12071024546�012725� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Start reading the entries of a directory. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <dirent.h> #include <errno.h> #include <stddef.h> #if HAVE_OPENDIR /* Override opendir(), to keep track of the open file descriptors. Needed because there is a function dirfd(). */ #else # include <stdlib.h> # include "dirent-private.h" # include "filename.h" #endif #if REPLACE_FCHDIR # include <unistd.h> #endif DIR * opendir (const char *dir_name) { #if HAVE_OPENDIR # undef opendir DIR *dirp; dirp = opendir (dir_name); if (dirp == NULL) return NULL; #else char dir_name_mask[MAX_PATH + 1 + 1 + 1]; int status; HANDLE current; WIN32_FIND_DATA entry; struct gl_directory *dirp; if (dir_name[0] == '\0') { errno = ENOENT; return NULL; } /* Make the dir_name absolute, so that we continue reading the same directory if the current directory changed between this opendir() call and a subsequent rewinddir() call. */ if (!GetFullPathName (dir_name, MAX_PATH, dir_name_mask, NULL)) { errno = EINVAL; return NULL; } /* Append the mask. "*" and "*.*" appear to be equivalent. */ { char *p; p = dir_name_mask + strlen (dir_name_mask); if (p > dir_name_mask && !ISSLASH (p[-1])) *p++ = '\\'; *p++ = '*'; *p = '\0'; } /* Start searching the directory. */ status = -1; current = FindFirstFile (dir_name_mask, &entry); if (current == INVALID_HANDLE_VALUE) { switch (GetLastError ()) { case ERROR_FILE_NOT_FOUND: status = -2; break; case ERROR_PATH_NOT_FOUND: errno = ENOENT; return NULL; case ERROR_DIRECTORY: errno = ENOTDIR; return NULL; case ERROR_ACCESS_DENIED: errno = EACCES; return NULL; default: errno = EIO; return NULL; } } /* Allocate the result. */ dirp = (struct gl_directory *) malloc (offsetof (struct gl_directory, dir_name_mask[0]) + strlen (dir_name_mask) + 1); if (dirp == NULL) { if (current != INVALID_HANDLE_VALUE) FindClose (current); errno = ENOMEM; return NULL; } dirp->status = status; dirp->current = current; if (status == -1) memcpy (&dirp->entry, &entry, sizeof (WIN32_FIND_DATA)); strcpy (dirp->dir_name_mask, dir_name_mask); #endif #if REPLACE_FCHDIR { int fd = dirfd (dirp); if (0 <= fd && _gl_register_fd (fd, dir_name) != fd) { int saved_errno = errno; closedir (dirp); errno = saved_errno; return NULL; } } #endif return dirp; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xnanosleep.h���������������������������������������������������������������������0000664�0000000�0000000�00000000031�11624727635�013450� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������int xnanosleep (double); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strtoull.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002016�12071024546�013150� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Function to parse an 'unsigned long long int' from text. Copyright (C) 1995-1997, 1999, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define QUAD 1 #include "strtoul.c" #ifdef _LIBC strong_alias (__strtoull_internal, __strtouq_internal) weak_alias (strtoull, strtouq) #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fdatasync.c����������������������������������������������������������������������0000664�0000000�0000000�00000001653�12071561007�013240� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emulate fdatasync on platforms that lack it. Copyright (C) 2011-2013 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <unistd.h> int fdatasync (int fd) { /* This does more work than strictly necessary, but is the best we can do portably. */ return fsync (fd); } �������������������������������������������������������������������������������������coreutils-8.21/lib/printf-frexp.h�������������������������������������������������������������������0000664�0000000�0000000�00000002060�12071024546�013710� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a double into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Write a finite, positive number x as x = mantissa * 2^exp where exp >= DBL_MIN_EXP - 1, mantissa < 2.0, if x is not a denormalized number then mantissa >= 1.0. Store exp in *EXPPTR and return mantissa. */ extern double printf_frexp (double x, int *expptr); ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fchown-stub.c��������������������������������������������������������������������0000664�0000000�0000000�00000000465�11777552746�013551� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #include <sys/types.h> #include <errno.h> /* A trivial substitute for 'fchown'. DJGPP 2.03 and earlier (and perhaps later) don't have 'fchown', so we pretend no-one has permission for this operation. */ int fchown (int fd, uid_t uid, gid_t gid) { errno = EPERM; return -1; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/nl_langinfo.c��������������������������������������������������������������������0000664�0000000�0000000�00000015037�12071024546�013555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* nl_langinfo() replacement: query locale dependent information. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <langinfo.h> #if REPLACE_NL_LANGINFO /* Override nl_langinfo with support for added nl_item values. */ # include <locale.h> # include <string.h> # undef nl_langinfo char * rpl_nl_langinfo (nl_item item) { switch (item) { # if GNULIB_defined_CODESET case CODESET: { const char *locale; static char buf[2 + 10 + 1]; locale = setlocale (LC_CTYPE, NULL); if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } return ""; } # endif # if GNULIB_defined_T_FMT_AMPM case T_FMT_AMPM: return "%I:%M:%S %p"; # endif # if GNULIB_defined_ERA case ERA: /* The format is not standardized. In glibc it is a sequence of strings of the form "direction:offset:start_date:end_date:era_name:era_format" with an empty string at the end. */ return ""; case ERA_D_FMT: /* The %Ex conversion in strftime behaves like %x if the locale does not have an alternative time format. */ item = D_FMT; break; case ERA_D_T_FMT: /* The %Ec conversion in strftime behaves like %c if the locale does not have an alternative time format. */ item = D_T_FMT; break; case ERA_T_FMT: /* The %EX conversion in strftime behaves like %X if the locale does not have an alternative time format. */ item = T_FMT; break; case ALT_DIGITS: /* The format is not standardized. In glibc it is a sequence of 10 strings, appended in memory. */ return "\0\0\0\0\0\0\0\0\0\0"; # endif # if GNULIB_defined_YESEXPR || !FUNC_NL_LANGINFO_YESEXPR_WORKS case YESEXPR: return "^[yY]"; case NOEXPR: return "^[nN]"; # endif default: break; } return nl_langinfo (item); } #else /* Provide nl_langinfo from scratch. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows platforms. */ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> # include <stdio.h> # else /* An old Unix platform without locales, such as Linux libc5 or BeOS. */ # endif # include <locale.h> char * nl_langinfo (nl_item item) { switch (item) { /* nl_langinfo items of the LC_CTYPE category */ case CODESET: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { static char buf[2 + 10 + 1]; /* The Windows API has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); return buf; } # elif defined __BEOS__ return "UTF-8"; # else return "ISO-8859-1"; # endif /* nl_langinfo items of the LC_NUMERIC category */ case RADIXCHAR: return localeconv () ->decimal_point; case THOUSEP: return localeconv () ->thousands_sep; /* nl_langinfo items of the LC_TIME category. TODO: Really use the locale. */ case D_T_FMT: case ERA_D_T_FMT: return "%a %b %e %H:%M:%S %Y"; case D_FMT: case ERA_D_FMT: return "%m/%d/%y"; case T_FMT: case ERA_T_FMT: return "%H:%M:%S"; case T_FMT_AMPM: return "%I:%M:%S %p"; case AM_STR: return "AM"; case PM_STR: return "PM"; case DAY_1: return "Sunday"; case DAY_2: return "Monday"; case DAY_3: return "Tuesday"; case DAY_4: return "Wednesday"; case DAY_5: return "Thursday"; case DAY_6: return "Friday"; case DAY_7: return "Saturday"; case ABDAY_1: return "Sun"; case ABDAY_2: return "Mon"; case ABDAY_3: return "Tue"; case ABDAY_4: return "Wed"; case ABDAY_5: return "Thu"; case ABDAY_6: return "Fri"; case ABDAY_7: return "Sat"; case MON_1: return "January"; case MON_2: return "February"; case MON_3: return "March"; case MON_4: return "April"; case MON_5: return "May"; case MON_6: return "June"; case MON_7: return "July"; case MON_8: return "August"; case MON_9: return "September"; case MON_10: return "October"; case MON_11: return "November"; case MON_12: return "December"; case ABMON_1: return "Jan"; case ABMON_2: return "Feb"; case ABMON_3: return "Mar"; case ABMON_4: return "Apr"; case ABMON_5: return "May"; case ABMON_6: return "Jun"; case ABMON_7: return "Jul"; case ABMON_8: return "Aug"; case ABMON_9: return "Sep"; case ABMON_10: return "Oct"; case ABMON_11: return "Nov"; case ABMON_12: return "Dec"; case ERA: return ""; case ALT_DIGITS: return "\0\0\0\0\0\0\0\0\0\0"; /* nl_langinfo items of the LC_MONETARY category TODO: Really use the locale. */ case CRNCYSTR: return "-"; /* nl_langinfo items of the LC_MESSAGES category TODO: Really use the locale. */ case YESEXPR: return "^[yY]"; case NOEXPR: return "^[nN]"; default: return ""; } } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/pthread.c������������������������������������������������������������������������0000664�0000000�0000000�00000000126�12071024546�012707� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_PTHREAD_INLINE _GL_EXTERN_INLINE #include "pthread.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/vprintf.c������������������������������������������������������������������������0000664�0000000�0000000�00000002056�12071561015�012751� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to a stream. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if 1 # include <config.h> #endif /* Specification. */ #include <stdio.h> #include <stdarg.h> /* Print formatted output to standard output. Return string length of formatted string. On error, return a negative value. */ int vprintf (const char *format, va_list args) { return vfprintf (stdout, format, args); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fseterr.h������������������������������������������������������������������������0000664�0000000�0000000�00000002352�12071024546�012742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set the error indicator of a stream. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _FSETERR_H #define _FSETERR_H #include <stdio.h> /* Set the error indicator of the stream FP. The "error indicator" is set when an I/O operation on the stream fails, and is cleared (together with the "end-of-file" indicator) by clearerr (FP). */ #if HAVE___FSETERR /* musl libc */ # include <stdio_ext.h> # define fseterr(fp) __fseterr (fp) #else # ifdef __cplusplus extern "C" { # endif extern void fseterr (FILE *fp); # ifdef __cplusplus } # endif #endif #endif /* _FSETERR_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rawmemchr.valgrind���������������������������������������������������������������0000664�0000000�0000000�00000000403�11624727634�014642� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Suppress a valgrind message about use of uninitialized memory in rawmemchr(). # This use is OK because it provides only a speedup. { rawmemchr-value4 Memcheck:Value4 fun:rawmemchr } { rawmemchr-value8 Memcheck:Value8 fun:rawmemchr } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/argmatch.c�����������������������������������������������������������������������0000664�0000000�0000000�00000017246�12071024545�013060� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* argmatch.c -- find a match for a string in an array Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@ai.mit.edu> Modified by Akim Demaille <demaille@inf.enst.fr> */ #include <config.h> /* Specification. */ #include "argmatch.h" #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "quotearg.h" #include "quote.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* When reporting an invalid argument, show nonprinting characters by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use literal_quoting_style. */ #ifndef ARGMATCH_QUOTING_STYLE # define ARGMATCH_QUOTING_STYLE locale_quoting_style #endif /* Non failing version of argmatch call this function after failing. */ #ifndef ARGMATCH_DIE # include "exitfail.h" # define ARGMATCH_DIE exit (exit_failure) #endif #ifdef ARGMATCH_DIE_DECL ARGMATCH_DIE_DECL; #endif static void __argmatch_die (void) { ARGMATCH_DIE; } /* Used by XARGMATCH and XARGCASEMATCH. See description in argmatch.h. Default to __argmatch_die, but allow caller to change this at run-time. */ argmatch_exit_fn argmatch_die = __argmatch_die; /* If ARG is an unambiguous match for an element of the NULL-terminated array ARGLIST, return the index in ARGLIST of the matched element, else -1 if it does not match any element or -2 if it is ambiguous (is a prefix of more than one element). If VALLIST is none null, use it to resolve ambiguities limited to synonyms, i.e., for "yes", "yop" -> 0 "no", "nope" -> 1 "y" is a valid argument, for 0, and "n" for 1. */ ptrdiff_t argmatch (const char *arg, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; /* Temporary index in ARGLIST. */ size_t arglen; /* Length of ARG. */ ptrdiff_t matchind = -1; /* Index of first nonexact match. */ bool ambiguous = false; /* If true, multiple nonexact match(es). */ arglen = strlen (arg); /* Test all elements for either exact match or abbreviated matches. */ for (i = 0; arglist[i]; i++) { if (!strncmp (arglist[i], arg, arglen)) { if (strlen (arglist[i]) == arglen) /* Exact match found. */ return i; else if (matchind == -1) /* First nonexact match found. */ matchind = i; else { /* Second nonexact match found. */ if (vallist == NULL || memcmp (vallist + valsize * matchind, vallist + valsize * i, valsize)) { /* There is a real ambiguity, or we could not disambiguate. */ ambiguous = true; } } } } if (ambiguous) return -2; else return matchind; } /* Error reporting for argmatch. CONTEXT is a description of the type of entity that was being matched. VALUE is the invalid value that was given. PROBLEM is the return value from argmatch. */ void argmatch_invalid (const char *context, const char *value, ptrdiff_t problem) { char const *format = (problem == -1 ? _("invalid argument %s for %s") : _("ambiguous argument %s for %s")); error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value), quote_n (1, context)); } /* List the valid arguments for argmatch. ARGLIST is the same as in argmatch. VALLIST is a pointer to an array of values. VALSIZE is the size of the elements of VALLIST */ void argmatch_valid (const char *const *arglist, const char *vallist, size_t valsize) { size_t i; const char *last_val = NULL; /* We try to put synonyms on the same line. The assumption is that synonyms follow each other */ fputs (_("Valid arguments are:"), stderr); for (i = 0; arglist[i]; i++) if ((i == 0) || memcmp (last_val, vallist + valsize * i, valsize)) { fprintf (stderr, "\n - %s", quote (arglist[i])); last_val = vallist + valsize * i; } else { fprintf (stderr, ", %s", quote (arglist[i])); } putc ('\n', stderr); } /* Never failing versions of the previous functions. CONTEXT is the context for which argmatch is called (e.g., "--version-control", or "$VERSION_CONTROL" etc.). Upon failure, calls the (supposed never to return) function EXIT_FN. */ ptrdiff_t __xargmatch_internal (const char *context, const char *arg, const char *const *arglist, const char *vallist, size_t valsize, argmatch_exit_fn exit_fn) { ptrdiff_t res = argmatch (arg, arglist, vallist, valsize); if (res >= 0) /* Success. */ return res; /* We failed. Explain why. */ argmatch_invalid (context, arg, res); argmatch_valid (arglist, vallist, valsize); (*exit_fn) (); return -1; /* To please the compilers. */ } /* Look for VALUE in VALLIST, an array of objects of size VALSIZE and return the first corresponding argument in ARGLIST */ const char * argmatch_to_argument (const char *value, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; for (i = 0; arglist[i]; i++) if (!memcmp (value, vallist + valsize * i, valsize)) return arglist[i]; return NULL; } #ifdef TEST /* * Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu> */ char *program_name; /* When to make backup files. */ enum backup_type { /* Never make backups. */ no_backups, /* Make simple backups of every file. */ simple_backups, /* Make numbered backups of files that already have numbered backups, and simple backups of the others. */ numbered_existing_backups, /* Make numbered backups of every file. */ numbered_backups }; /* Two tables describing arguments (keys) and their corresponding values */ static const char *const backup_args[] = { "no", "none", "off", "simple", "never", "existing", "nil", "numbered", "t", 0 }; static const enum backup_type backup_vals[] = { no_backups, no_backups, no_backups, simple_backups, simple_backups, numbered_existing_backups, numbered_existing_backups, numbered_backups, numbered_backups }; int main (int argc, const char *const *argv) { const char *cp; enum backup_type backup_type = no_backups; program_name = (char *) argv[0]; if (argc > 2) { fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name); exit (1); } if ((cp = getenv ("VERSION_CONTROL"))) backup_type = XARGMATCH ("$VERSION_CONTROL", cp, backup_args, backup_vals); if (argc == 2) backup_type = XARGMATCH (program_name, argv[1], backup_args, backup_vals); printf ("The version control is '%s'\n", ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals)); return 0; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isnanf-nolibm.h������������������������������������������������������������������0000664�0000000�0000000�00000002701�12071024546�014022� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if HAVE_ISNANF_IN_LIBC /* Get declaration of isnan macro or (older) isnanf function. */ # include <math.h> # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) # elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) # else /* Get declaration of isnanf(), if not declared in <math.h>. */ # if defined __sgi /* We can't include <ieeefp.h>, because it conflicts with our definition of isnand. Therefore declare isnanf separately. */ extern int isnanf (float x); # endif # endif #else /* Test whether X is a NaN. */ # undef isnanf # define isnanf rpl_isnanf extern int isnanf (float x); #endif ���������������������������������������������������������������coreutils-8.21/lib/long-options.h�������������������������������������������������������������������0000664�0000000�0000000�00000002231�12071024546�013714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* long-options.h -- declaration for --help- and --version-handling function. Copyright (C) 1993-1994, 1998-1999, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ void parse_long_options (int _argc, char **_argv, const char *_command_name, const char *_package, const char *_version, void (*_usage) (int), /* const char *author1, ...*/ ...); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/file-type.h����������������������������������������������������������������������0000664�0000000�0000000�00000002000�12071024546�013154� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return a string describing the type of a file. Copyright (C) 1993-1994, 2001-2002, 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Jim Meyering. */ #ifndef FILE_TYPE_H # define FILE_TYPE_H 1 # include <sys/types.h> # include <sys/stat.h> char const *file_type (struct stat const *) _GL_ATTRIBUTE_PURE; #endif /* FILE_TYPE_H */ coreutils-8.21/lib/bitrotate.h����������������������������������������������������������������������0000664�0000000�0000000�00000010454�12071024545�013266� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bitrotate.h - Rotate bits in integers Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Simon Josefsson <simon@josefsson.org>, 2008. */ #ifndef _GL_BITROTATE_H #define _GL_BITROTATE_H #include <limits.h> #include <stdint.h> #include <sys/types.h> _GL_INLINE_HEADER_BEGIN #ifndef BITROTATE_INLINE # define BITROTATE_INLINE _GL_INLINE #endif #ifdef UINT64_MAX /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 63 inclusive. */ BITROTATE_INLINE uint64_t rotl64 (uint64_t x, int n) { return ((x << n) | (x >> (64 - n))) & UINT64_MAX; } /* Given an unsigned 64-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 63 inclusive.*/ BITROTATE_INLINE uint64_t rotr64 (uint64_t x, int n) { return ((x >> n) | (x << (64 - n))) & UINT64_MAX; } #endif /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and 31 inclusive. */ BITROTATE_INLINE uint32_t rotl32 (uint32_t x, int n) { return ((x << n) | (x >> (32 - n))) & UINT32_MAX; } /* Given an unsigned 32-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to 31 inclusive.*/ BITROTATE_INLINE uint32_t rotr32 (uint32_t x, int n) { return ((x >> n) | (x << (32 - n))) & UINT32_MAX; } /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 and (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ BITROTATE_INLINE size_t rotl_sz (size_t x, int n) { return ((x << n) | (x >> ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; } /* Given a size_t argument X, return the value corresponding to rotating the bits N steps to the right. N must be between 1 to (CHAR_BIT * sizeof (size_t) - 1) inclusive. */ BITROTATE_INLINE size_t rotr_sz (size_t x, int n) { return ((x >> n) | (x << ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX; } /* Given an unsigned 16-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 to 15 inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ BITROTATE_INLINE uint16_t rotl16 (uint16_t x, int n) { return ((x << n) | (x >> (16 - n))) & UINT16_MAX; } /* Given an unsigned 16-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be in 1 to 15 inclusive, but on most relevant targets N can also be 0 and 16 because 'int' is at least 32 bits and the arguments must widen before shifting. */ BITROTATE_INLINE uint16_t rotr16 (uint16_t x, int n) { return ((x >> n) | (x << (16 - n))) & UINT16_MAX; } /* Given an unsigned 8-bit argument X, return the value corresponding to rotating the bits N steps to the left. N must be between 1 to 7 inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ BITROTATE_INLINE uint8_t rotl8 (uint8_t x, int n) { return ((x << n) | (x >> (8 - n))) & UINT8_MAX; } /* Given an unsigned 8-bit argument X, return the value corresponding to rotating the bits N steps to the right. N must be in 1 to 7 inclusive, but on most relevant targets N can also be 0 and 8 because 'int' is at least 32 bits and the arguments must widen before shifting. */ BITROTATE_INLINE uint8_t rotr8 (uint8_t x, int n) { return ((x >> n) | (x << (8 - n))) & UINT8_MAX; } _GL_INLINE_HEADER_END #endif /* _GL_BITROTATE_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stat-time.c����������������������������������������������������������������������0000664�0000000�0000000�00000000132�12010513757�013164� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE #include "stat-time.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fflush.c�������������������������������������������������������������������������0000664�0000000�0000000�00000016473�12071024546�012563� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fflush.c -- allow flushing input streams Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> /* Specification. */ #include <stdio.h> #include <errno.h> #include <unistd.h> #include "freading.h" #include "stdio-impl.h" #include "unused-parameter.h" #undef fflush #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ static void clear_ungetc_buffer_preserving_position (FILE *fp) { if (fp->_flags & _IO_IN_BACKUP) /* _IO_free_backup_area is a bit complicated. Simply call fseek. */ fseeko (fp, 0, SEEK_CUR); } #else /* Clear the stream's ungetc buffer. May modify the value of ftello (fp). */ static void clear_ungetc_buffer (FILE *fp) { # if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ if (HASUB (fp)) { fp_->_p += fp_->_r; fp_->_r = 0; } # elif defined __EMX__ /* emx+gcc */ if (fp->_ungetc_count > 0) { fp->_ungetc_count = 0; fp->_rcount = - fp->_rcount; } # elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ /* Nothing to do. */ # else /* other implementations */ fseeko (fp, 0, SEEK_CUR); # endif } #endif #if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) # if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ static int disable_seek_optimization (FILE *fp) { int saved_flags = fp_->_flags & (__SOPT | __SNPT); fp_->_flags = (fp_->_flags & ~__SOPT) | __SNPT; return saved_flags; } static void restore_seek_optimization (FILE *fp, int saved_flags) { fp_->_flags = (fp_->_flags & ~(__SOPT | __SNPT)) | saved_flags; } # else static void update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER, off_t pos _GL_UNUSED_PARAMETER) { # if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __CYGWIN__ /* fp_->_offset is typed as an integer. */ fp_->_offset = pos; # else /* fp_->_offset is an fpos_t. */ /* Use a union, since on NetBSD, the compilation flags determine whether fpos_t is typedef'd to off_t or a struct containing a single off_t member. */ union { fpos_t f; off_t o; } u; u.o = pos; fp_->_offset = u.f; # endif fp_->_flags |= __SOFF; # endif } # endif #endif /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. */ int rpl_fflush (FILE *stream) { /* When stream is NULL, POSIX and C99 only require flushing of "output streams and update streams in which the most recent operation was not input", and all implementations do this. When stream is "an output stream or an update stream in which the most recent operation was not input", POSIX and C99 requires that fflush writes out any buffered data, and all implementations do this. When stream is, however, an input stream or an update stream in which the most recent operation was input, C99 specifies nothing, and POSIX only specifies behavior if the stream is seekable. mingw, in particular, drops the input buffer, leaving the file descriptor positioned at the end of the input buffer. I.e. ftell (stream) is lost. We don't want to call the implementation's fflush in this case. We test ! freading (stream) here, rather than fwriting (stream), because what we need to know is whether the stream holds a "read buffer", and on mingw this is indicated by _IOREAD, regardless of _IOWRT. */ if (stream == NULL || ! freading (stream)) return fflush (stream); #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ clear_ungetc_buffer_preserving_position (stream); return fflush (stream); #else { /* Notes about the file-position indicator: 1) The file position indicator is incremented by fgetc() and decremented by ungetc(): <http://www.opengroup.org/susv3/functions/fgetc.html> "... the fgetc() function shall ... advance the associated file position indicator for the stream ..." <http://www.opengroup.org/susv3/functions/ungetc.html> "The file-position indicator is decremented by each successful call to ungetc()..." 2) <http://www.opengroup.org/susv3/functions/ungetc.html> says: "The value of the file-position indicator for the stream after reading or discarding all pushed-back bytes shall be the same as it was before the bytes were pushed back." Here we are discarding all pushed-back bytes. But more specifically, 3) <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> says: "[After fflush(),] the file offset of the underlying open file description shall be set to the file position of the stream, and any characters pushed back onto the stream by ungetc() ... shall be discarded." */ /* POSIX does not specify fflush behavior for non-seekable input streams. Some implementations purge unread data, some return EBADF, some do nothing. */ off_t pos = ftello (stream); if (pos == -1) { errno = EBADF; return EOF; } /* Clear the ungetc buffer. */ clear_ungetc_buffer (stream); /* To get here, we must be flushing a seekable input stream, so the semantics of fpurge are now appropriate to clear the buffer. To avoid losing data, the lseek is also necessary. */ { int result = fpurge (stream); if (result != 0) return result; } # if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ { /* Disable seek optimization for the next fseeko call. This tells the following fseeko call to seek to the desired position directly, rather than to seek to a block-aligned boundary. */ int saved_flags = disable_seek_optimization (stream); int result = fseeko (stream, pos, SEEK_SET); restore_seek_optimization (stream, saved_flags); return result; } # else pos = lseek (fileno (stream), pos, SEEK_SET); if (pos == -1) return EOF; /* After a successful lseek, update the file descriptor's position cache in the stream. */ update_fpos_cache (stream, pos); return 0; # endif } #endif } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strerror-override.h��������������������������������������������������������������0000664�0000000�0000000�00000003717�12071024546�014775� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* strerror-override.h --- POSIX compatible system error routine Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _GL_STRERROR_OVERRIDE_H # define _GL_STRERROR_OVERRIDE_H # include <errno.h> # include <stddef.h> /* Reasonable buffer size that should never trigger ERANGE; if this proves too small, we intentionally abort(), to remind us to fix this value. */ # define STACKBUF_LEN 256 /* If ERRNUM maps to an errno value defined by gnulib, return a string describing the error. Otherwise return NULL. */ # if REPLACE_STRERROR_0 \ || GNULIB_defined_ESOCK \ || GNULIB_defined_ESTREAMS \ || GNULIB_defined_EWINSOCK \ || GNULIB_defined_ENOMSG \ || GNULIB_defined_EIDRM \ || GNULIB_defined_ENOLINK \ || GNULIB_defined_EPROTO \ || GNULIB_defined_EMULTIHOP \ || GNULIB_defined_EBADMSG \ || GNULIB_defined_EOVERFLOW \ || GNULIB_defined_ENOTSUP \ || GNULIB_defined_ENETRESET \ || GNULIB_defined_ECONNABORTED \ || GNULIB_defined_ESTALE \ || GNULIB_defined_EDQUOT \ || GNULIB_defined_ECANCELED \ || GNULIB_defined_EOWNERDEAD \ || GNULIB_defined_ENOTRECOVERABLE \ || GNULIB_defined_EILSEQ extern const char *strerror_override (int errnum); # else # define strerror_override(ignored) NULL # endif #endif /* _GL_STRERROR_OVERRIDE_H */ �������������������������������������������������coreutils-8.21/lib/size_max.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002211�12071561013�013074� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* size_max.h -- declare SIZE_MAX through system headers Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef GNULIB_SIZE_MAX_H #define GNULIB_SIZE_MAX_H /* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */ # include <limits.h> /* Get SIZE_MAX declaration on systems like glibc 2. */ # if HAVE_STDINT_H # include <stdint.h> # endif /* On systems where these include files don't define it, SIZE_MAX is defined in config.h. */ #endif /* GNULIB_SIZE_MAX_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/time.in.h������������������������������������������������������������������������0000664�0000000�0000000�00000021514�12071561014�012630� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A more-standard <time.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* Don't get in the way of glibc when it includes time.h merely to declare a few standard symbols, rather than to declare all the symbols. Also, Solaris 8 <time.h> eventually includes itself recursively; if that is happening, just include the system <time.h> without adding our own declarations. */ #if (defined __need_time_t || defined __need_clock_t \ || defined __need_timespec \ || defined _@GUARD_PREFIX@_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ #else # define _@GUARD_PREFIX@_TIME_H # @INCLUDE_NEXT@ @NEXT_TIME_H@ /* NetBSD 5.0 mis-defines NULL. */ # include <stddef.h> /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). Or they define it with the wrong member names or define it in <sys/time.h> (e.g., FreeBSD circa 1997). Stock Mingw does not define it, but the pthreads-win32 library defines it in <pthread.h>. */ # if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ # if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ # include <sys/time.h> # elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ # include <pthread.h> /* The pthreads-win32 <pthread.h> also defines a couple of broken macros. */ # undef asctime_r # undef ctime_r # undef gmtime_r # undef localtime_r # undef rand_r # undef strtok_r # else # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_struct_timespec # undef timespec # define timespec rpl_timespec struct timespec { time_t tv_sec; long int tv_nsec; }; # define GNULIB_defined_struct_timespec 1 # endif # ifdef __cplusplus } # endif # endif # endif # if !GNULIB_defined_struct_time_t_must_be_integral /* Per http://austingroupbugs.net/view.php?id=327, POSIX requires time_t to be an integer type, even though C99 permits floating point. We don't know of any implementation that uses floating point, and it is much easier to write code that doesn't have to worry about that corner case, so we force the issue. */ struct __time_t_must_be_integral { unsigned int __floating_time_t_unsupported : (time_t) 1; }; # define GNULIB_defined_struct_time_t_must_be_integral 1 # endif /* Sleep for at least RQTP seconds unless interrupted, If interrupted, return -1 and store the remaining time into RMTP. See <http://www.opengroup.org/susv3xsh/nanosleep.html>. */ # if @GNULIB_NANOSLEEP@ # if @REPLACE_NANOSLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define nanosleep rpl_nanosleep # endif _GL_FUNCDECL_RPL (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp)); # else # if ! @HAVE_NANOSLEEP@ _GL_FUNCDECL_SYS (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp)); # endif _GL_CXXALIASWARN (nanosleep); # endif /* Return the 'time_t' representation of TP and normalize TP. */ # if @GNULIB_MKTIME@ # if @REPLACE_MKTIME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mktime rpl_mktime # endif _GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp)); # else _GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp)); # endif _GL_CXXALIASWARN (mktime); # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See <http://www.opengroup.org/susv3xsh/localtime_r.html> and <http://www.opengroup.org/susv3xsh/gmtime_r.html>. */ # if @GNULIB_TIME_R@ # if @REPLACE_LOCALTIME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef localtime_r # define localtime_r rpl_localtime_r # endif _GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # else # if ! @HAVE_DECL_LOCALTIME_R@ _GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # endif # if @HAVE_DECL_LOCALTIME_R@ _GL_CXXALIASWARN (localtime_r); # endif # if @REPLACE_LOCALTIME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gmtime_r # define gmtime_r rpl_gmtime_r # endif _GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # else # if ! @HAVE_DECL_LOCALTIME_R@ _GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer, struct tm *restrict __result)); # endif # if @HAVE_DECL_LOCALTIME_R@ _GL_CXXALIASWARN (gmtime_r); # endif # endif /* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store the resulting broken-down time into TM. See <http://www.opengroup.org/susv3xsh/strptime.html>. */ # if @GNULIB_STRPTIME@ # if ! @HAVE_STRPTIME@ _GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm)); _GL_CXXALIASWARN (strptime); # endif /* Convert TM to a time_t value, assuming UTC. */ # if @GNULIB_TIMEGM@ # if @REPLACE_TIMEGM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef timegm # define timegm rpl_timegm # endif _GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm)); # else # if ! @HAVE_TIMEGM@ _GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm)); # endif _GL_CXXALIASWARN (timegm); # endif /* Encourage applications to avoid unsafe functions that can overrun buffers when given outlandish struct tm values. Portable applications should use strftime (or even sprintf) instead. */ # if defined GNULIB_POSIXCHECK # undef asctime _GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef asctime_r _GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef ctime _GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif # if defined GNULIB_POSIXCHECK # undef ctime_r _GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); # endif #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sockets.c������������������������������������������������������������������������0000664�0000000�0000000�00000010015�12071024546�012731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sockets.c --- wrappers for Windows socket functions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Simon Josefsson */ #include <config.h> /* Specification. */ #include "sockets.h" #if WINDOWS_SOCKETS /* This includes winsock2.h on MinGW. */ # include <sys/socket.h> # include "fd-hook.h" # include "msvc-nothrow.h" /* Get set_winsock_errno, FD_TO_SOCKET etc. */ # include "w32sock.h" static int close_fd_maybe_socket (const struct fd_hook *remaining_list, gl_close_fn primary, int fd) { /* Note about multithread-safety: There is a race condition where, between our calls to closesocket() and the primary close(), some other thread could make system calls that allocate precisely the same HANDLE value as sock; then the primary close() would call CloseHandle() on it. */ SOCKET sock; WSANETWORKEVENTS ev; /* Test whether fd refers to a socket. */ sock = FD_TO_SOCKET (fd); ev.lNetworkEvents = 0xDEADBEEF; WSAEnumNetworkEvents (sock, NULL, &ev); if (ev.lNetworkEvents != 0xDEADBEEF) { /* fd refers to a socket. */ /* FIXME: other applications, like squid, use an undocumented _free_osfhnd free function. But this is not enough: The 'osfile' flags for fd also needs to be cleared, but it is hard to access it. Instead, here we just close twice the file descriptor. */ if (closesocket (sock)) { set_winsock_errno (); return -1; } else { /* This call frees the file descriptor and does a CloseHandle ((HANDLE) _get_osfhandle (fd)), which fails. */ _close (fd); return 0; } } else /* Some other type of file descriptor. */ return execute_close_hooks (remaining_list, primary, fd); } static int ioctl_fd_maybe_socket (const struct fd_hook *remaining_list, gl_ioctl_fn primary, int fd, int request, void *arg) { SOCKET sock; WSANETWORKEVENTS ev; /* Test whether fd refers to a socket. */ sock = FD_TO_SOCKET (fd); ev.lNetworkEvents = 0xDEADBEEF; WSAEnumNetworkEvents (sock, NULL, &ev); if (ev.lNetworkEvents != 0xDEADBEEF) { /* fd refers to a socket. */ if (ioctlsocket (sock, request, arg) < 0) { set_winsock_errno (); return -1; } else return 0; } else /* Some other type of file descriptor. */ return execute_ioctl_hooks (remaining_list, primary, fd, request, arg); } static struct fd_hook fd_sockets_hook; static int initialized_sockets_version /* = 0 */; #endif /* WINDOWS_SOCKETS */ int gl_sockets_startup (int version _GL_UNUSED) { #if WINDOWS_SOCKETS if (version > initialized_sockets_version) { WSADATA data; int err; err = WSAStartup (version, &data); if (err != 0) return 1; if (data.wVersion < version) return 2; if (initialized_sockets_version == 0) register_fd_hook (close_fd_maybe_socket, ioctl_fd_maybe_socket, &fd_sockets_hook); initialized_sockets_version = version; } #endif return 0; } int gl_sockets_cleanup (void) { #if WINDOWS_SOCKETS int err; initialized_sockets_version = 0; unregister_fd_hook (&fd_sockets_hook); err = WSACleanup (); if (err != 0) return 1; #endif return 0; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fcntl.c��������������������������������������������������������������������������0000664�0000000�0000000�00000023001�12071024546�012363� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide file descriptor control. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake <ebb9@byu.net>. */ #include <config.h> /* Specification. */ #include <fcntl.h> #include <errno.h> #include <limits.h> #include <stdarg.h> #include <unistd.h> #if !HAVE_FCNTL # define rpl_fcntl fcntl #endif #undef fcntl #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" /* Upper bound on getdtablesize(). See lib/getdtablesize.c. */ # define OPEN_MAX_MAX 0x10000 /* Duplicate OLDFD into the first available slot of at least NEWFD, which must be positive, with FLAGS determining whether the duplicate will be inheritable. */ static int dupfd (int oldfd, int newfd, int flags) { /* Mingw has no way to create an arbitrary fd. Iterate until all file descriptors less than newfd are filled up. */ HANDLE curr_process = GetCurrentProcess (); HANDLE old_handle = (HANDLE) _get_osfhandle (oldfd); unsigned char fds_to_close[OPEN_MAX_MAX / CHAR_BIT]; unsigned int fds_to_close_bound = 0; int result; BOOL inherit = flags & O_CLOEXEC ? FALSE : TRUE; int mode; if (newfd < 0 || getdtablesize () <= newfd) { errno = EINVAL; return -1; } if (old_handle == INVALID_HANDLE_VALUE || (mode = setmode (oldfd, O_BINARY)) == -1) { /* oldfd is not open, or is an unassigned standard file descriptor. */ errno = EBADF; return -1; } setmode (oldfd, mode); flags |= mode; for (;;) { HANDLE new_handle; int duplicated_fd; unsigned int index; if (!DuplicateHandle (curr_process, /* SourceProcessHandle */ old_handle, /* SourceHandle */ curr_process, /* TargetProcessHandle */ (PHANDLE) &new_handle, /* TargetHandle */ (DWORD) 0, /* DesiredAccess */ inherit, /* InheritHandle */ DUPLICATE_SAME_ACCESS)) /* Options */ { /* TODO: Translate GetLastError () into errno. */ errno = EMFILE; result = -1; break; } duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags); if (duplicated_fd < 0) { CloseHandle (new_handle); errno = EMFILE; result = -1; break; } if (newfd <= duplicated_fd) { result = duplicated_fd; break; } /* Set the bit duplicated_fd in fds_to_close[]. */ index = (unsigned int) duplicated_fd / CHAR_BIT; if (fds_to_close_bound <= index) { if (sizeof fds_to_close <= index) /* Need to increase OPEN_MAX_MAX. */ abort (); memset (fds_to_close + fds_to_close_bound, '\0', index + 1 - fds_to_close_bound); fds_to_close_bound = index + 1; } fds_to_close[index] |= 1 << ((unsigned int) duplicated_fd % CHAR_BIT); } /* Close the previous fds that turned out to be too small. */ { int saved_errno = errno; unsigned int duplicated_fd; for (duplicated_fd = 0; duplicated_fd < fds_to_close_bound * CHAR_BIT; duplicated_fd++) if ((fds_to_close[duplicated_fd / CHAR_BIT] >> (duplicated_fd % CHAR_BIT)) & 1) close (duplicated_fd); errno = saved_errno; } # if REPLACE_FCHDIR if (0 <= result) result = _gl_register_dup (oldfd, result); # endif return result; } #endif /* W32 */ /* Perform the specified ACTION on the file descriptor FD, possibly using the argument ARG further described below. This replacement handles the following actions, and forwards all others on to the native fcntl. An unrecognized ACTION returns -1 with errno set to EINVAL. F_DUPFD - duplicate FD, with int ARG being the minimum target fd. If successful, return the duplicate, which will be inheritable; otherwise return -1 and set errno. F_DUPFD_CLOEXEC - duplicate FD, with int ARG being the minimum target fd. If successful, return the duplicate, which will not be inheritable; otherwise return -1 and set errno. F_GETFD - ARG need not be present. If successful, return a non-negative value containing the descriptor flags of FD (only FD_CLOEXEC is portable, but other flags may be present); otherwise return -1 and set errno. */ int rpl_fcntl (int fd, int action, /* arg */...) { va_list arg; int result = -1; va_start (arg, action); switch (action) { #if !HAVE_FCNTL case F_DUPFD: { int target = va_arg (arg, int); result = dupfd (fd, target, 0); break; } #elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR case F_DUPFD: { int target = va_arg (arg, int); /* Detect invalid target; needed for cygwin 1.5.x. */ if (target < 0 || getdtablesize () <= target) errno = EINVAL; else { /* Haiku alpha 2 loses fd flags on original. */ int flags = fcntl (fd, F_GETFD); if (flags < 0) { result = -1; break; } result = fcntl (fd, action, target); if (0 <= result && fcntl (fd, F_SETFD, flags) == -1) { int saved_errno = errno; close (result); result = -1; errno = saved_errno; } # if REPLACE_FCHDIR if (0 <= result) result = _gl_register_dup (fd, result); # endif } break; } /* F_DUPFD */ #endif /* FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR */ case F_DUPFD_CLOEXEC: { int target = va_arg (arg, int); #if !HAVE_FCNTL result = dupfd (fd, target, O_CLOEXEC); break; #else /* HAVE_FCNTL */ /* Try the system call first, if the headers claim it exists (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we may be running with a glibc that has the macro but with an older kernel that does not support it. Cache the information on whether the system call really works, but avoid caching failure if the corresponding F_DUPFD fails for any reason. 0 = unknown, 1 = yes, -1 = no. */ static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0; if (0 <= have_dupfd_cloexec) { result = fcntl (fd, action, target); if (0 <= result || errno != EINVAL) { have_dupfd_cloexec = 1; # if REPLACE_FCHDIR if (0 <= result) result = _gl_register_dup (fd, result); # endif } else { result = rpl_fcntl (fd, F_DUPFD, target); if (result < 0) break; have_dupfd_cloexec = -1; } } else result = rpl_fcntl (fd, F_DUPFD, target); if (0 <= result && have_dupfd_cloexec == -1) { int flags = fcntl (result, F_GETFD); if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1) { int saved_errno = errno; close (result); errno = saved_errno; result = -1; } } break; #endif /* HAVE_FCNTL */ } /* F_DUPFD_CLOEXEC */ #if !HAVE_FCNTL case F_GETFD: { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ HANDLE handle = (HANDLE) _get_osfhandle (fd); DWORD flags; if (handle == INVALID_HANDLE_VALUE || GetHandleInformation (handle, &flags) == 0) errno = EBADF; else result = (flags & HANDLE_FLAG_INHERIT) ? 0 : FD_CLOEXEC; # else /* !W32 */ /* Use dup2 to reject invalid file descriptors. No way to access this information, so punt. */ if (0 <= dup2 (fd, fd)) result = 0; # endif /* !W32 */ break; } /* F_GETFD */ #endif /* !HAVE_FCNTL */ /* Implementing F_SETFD on mingw is not trivial - there is no API for changing the O_NOINHERIT bit on an fd, and merely changing the HANDLE_FLAG_INHERIT bit on the underlying handle can lead to odd state. It may be possible by duplicating the handle, using _open_osfhandle with the right flags, then using dup2 to move the duplicate onto the original, but that is not supported for now. */ default: { #if HAVE_FCNTL void *p = va_arg (arg, void *); result = fcntl (fd, action, p); #else errno = EINVAL; #endif break; } } va_end (arg); return result; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/signal.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000033504�12071024546�013155� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <signal.h>. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_sig_atomic_t || defined __need_sigset_t || defined _GL_ALREADY_INCLUDING_SIGNAL_H || (defined _SIGNAL_H && !defined __SIZEOF_PTHREAD_MUTEX_T) /* Special invocation convention: - Inside glibc header files. - On glibc systems we have a sequence of nested includes <signal.h> -> <ucontext.h> -> <signal.h>. In this situation, the functions are not yet declared, therefore we cannot provide the C++ aliases. - On glibc systems with GCC 4.3 we have a sequence of nested includes <csignal> -> </usr/include/signal.h> -> <sys/ucontext.h> -> <signal.h>. In this situation, some of the functions are not yet declared, therefore we cannot provide the C++ aliases. */ # @INCLUDE_NEXT@ @NEXT_SIGNAL_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _GL_ALREADY_INCLUDING_SIGNAL_H /* Define pid_t, uid_t. Also, mingw defines sigset_t not in <signal.h>, but in <sys/types.h>. On Solaris 10, <signal.h> includes <sys/types.h>, which eventually includes us; so include <sys/types.h> now, before the second inclusion guard. */ #include <sys/types.h> /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SIGNAL_H@ #undef _GL_ALREADY_INCLUDING_SIGNAL_H #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _@GUARD_PREFIX@_SIGNAL_H /* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare pthread_sigmask in <pthread.h>, not in <signal.h>. But avoid namespace pollution on glibc systems.*/ #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ && ((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined __osf__ || defined __sun) \ && ! defined __GLIBC__ # include <pthread.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* On AIX, sig_atomic_t already includes volatile. C99 requires that 'volatile sig_atomic_t' ignore the extra modifier, but C89 did not. Hence, redefine this to a non-volatile type as needed. */ #if ! @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ # if !GNULIB_defined_sig_atomic_t typedef int rpl_sig_atomic_t; # undef sig_atomic_t # define sig_atomic_t rpl_sig_atomic_t # define GNULIB_defined_sig_atomic_t 1 # endif #endif /* A set or mask of signals. */ #if !@HAVE_SIGSET_T@ # if !GNULIB_defined_sigset_t typedef unsigned int sigset_t; # define GNULIB_defined_sigset_t 1 # endif #endif /* Define sighandler_t, the type of signal handlers. A GNU extension. */ #if !@HAVE_SIGHANDLER_T@ # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_sighandler_t typedef void (*sighandler_t) (int); # define GNULIB_defined_sighandler_t 1 # endif # ifdef __cplusplus } # endif #endif #if @GNULIB_SIGNAL_H_SIGPIPE@ # ifndef SIGPIPE /* Define SIGPIPE to a value that does not overlap with other signals. */ # define SIGPIPE 13 # define GNULIB_defined_SIGPIPE 1 /* To actually use SIGPIPE, you also need the gnulib modules 'sigprocmask', 'write', 'stdio'. */ # endif #endif /* Maximum signal number + 1. */ #ifndef NSIG # if defined __TANDEM # define NSIG 32 # endif #endif #if @GNULIB_PTHREAD_SIGMASK@ # if @REPLACE_PTHREAD_SIGMASK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pthread_sigmask # define pthread_sigmask rpl_pthread_sigmask # endif _GL_FUNCDECL_RPL (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); _GL_CXXALIAS_RPL (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); # else # if !@HAVE_PTHREAD_SIGMASK@ _GL_FUNCDECL_SYS (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); # endif _GL_CXXALIAS_SYS (pthread_sigmask, int, (int how, const sigset_t *new_mask, sigset_t *old_mask)); # endif _GL_CXXALIASWARN (pthread_sigmask); #elif defined GNULIB_POSIXCHECK # undef pthread_sigmask # if HAVE_RAW_DECL_PTHREAD_SIGMASK _GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - " "use gnulib module pthread_sigmask for portability"); # endif #endif #if @GNULIB_RAISE@ # if @REPLACE_RAISE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef raise # define raise rpl_raise # endif _GL_FUNCDECL_RPL (raise, int, (int sig)); _GL_CXXALIAS_RPL (raise, int, (int sig)); # else # if !@HAVE_RAISE@ _GL_FUNCDECL_SYS (raise, int, (int sig)); # endif _GL_CXXALIAS_SYS (raise, int, (int sig)); # endif _GL_CXXALIASWARN (raise); #elif defined GNULIB_POSIXCHECK # undef raise /* Assume raise is always declared. */ _GL_WARN_ON_USE (raise, "raise can crash on native Windows - " "use gnulib module raise for portability"); #endif #if @GNULIB_SIGPROCMASK@ # if !@HAVE_POSIX_SIGNALBLOCKING@ # ifndef GNULIB_defined_signal_blocking # define GNULIB_defined_signal_blocking 1 # endif /* Maximum signal number + 1. */ # ifndef NSIG # define NSIG 32 # endif /* This code supports only 32 signals. */ # if !GNULIB_defined_verify_NSIG_constraint typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1]; # define GNULIB_defined_verify_NSIG_constraint 1 # endif # endif /* Test whether a given signal is contained in a signal set. */ # if @HAVE_POSIX_SIGNALBLOCKING@ /* This function is defined as a macro on Mac OS X. */ # if defined __cplusplus && defined GNULIB_NAMESPACE # undef sigismember # endif # else _GL_FUNCDECL_SYS (sigismember, int, (const sigset_t *set, int sig) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigismember, int, (const sigset_t *set, int sig)); _GL_CXXALIASWARN (sigismember); /* Initialize a signal set to the empty set. */ # if @HAVE_POSIX_SIGNALBLOCKING@ /* This function is defined as a macro on Mac OS X. */ # if defined __cplusplus && defined GNULIB_NAMESPACE # undef sigemptyset # endif # else _GL_FUNCDECL_SYS (sigemptyset, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigemptyset, int, (sigset_t *set)); _GL_CXXALIASWARN (sigemptyset); /* Add a signal to a signal set. */ # if @HAVE_POSIX_SIGNALBLOCKING@ /* This function is defined as a macro on Mac OS X. */ # if defined __cplusplus && defined GNULIB_NAMESPACE # undef sigaddset # endif # else _GL_FUNCDECL_SYS (sigaddset, int, (sigset_t *set, int sig) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigaddset, int, (sigset_t *set, int sig)); _GL_CXXALIASWARN (sigaddset); /* Remove a signal from a signal set. */ # if @HAVE_POSIX_SIGNALBLOCKING@ /* This function is defined as a macro on Mac OS X. */ # if defined __cplusplus && defined GNULIB_NAMESPACE # undef sigdelset # endif # else _GL_FUNCDECL_SYS (sigdelset, int, (sigset_t *set, int sig) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigdelset, int, (sigset_t *set, int sig)); _GL_CXXALIASWARN (sigdelset); /* Fill a signal set with all possible signals. */ # if @HAVE_POSIX_SIGNALBLOCKING@ /* This function is defined as a macro on Mac OS X. */ # if defined __cplusplus && defined GNULIB_NAMESPACE # undef sigfillset # endif # else _GL_FUNCDECL_SYS (sigfillset, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigfillset, int, (sigset_t *set)); _GL_CXXALIASWARN (sigfillset); /* Return the set of those blocked signals that are pending. */ # if !@HAVE_POSIX_SIGNALBLOCKING@ _GL_FUNCDECL_SYS (sigpending, int, (sigset_t *set) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (sigpending, int, (sigset_t *set)); _GL_CXXALIASWARN (sigpending); /* If OLD_SET is not NULL, put the current set of blocked signals in *OLD_SET. Then, if SET is not NULL, affect the current set of blocked signals by combining it with *SET as indicated in OPERATION. In this implementation, you are not allowed to change a signal handler while the signal is blocked. */ # if !@HAVE_POSIX_SIGNALBLOCKING@ # define SIG_BLOCK 0 /* blocked_set = blocked_set | *set; */ # define SIG_SETMASK 1 /* blocked_set = *set; */ # define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */ _GL_FUNCDECL_SYS (sigprocmask, int, (int operation, const sigset_t *set, sigset_t *old_set)); # endif _GL_CXXALIAS_SYS (sigprocmask, int, (int operation, const sigset_t *set, sigset_t *old_set)); _GL_CXXALIASWARN (sigprocmask); /* Install the handler FUNC for signal SIG, and return the previous handler. */ # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_function_taking_int_returning_void_t typedef void (*_gl_function_taking_int_returning_void_t) (int); # define GNULIB_defined_function_taking_int_returning_void_t 1 # endif # ifdef __cplusplus } # endif # if !@HAVE_POSIX_SIGNALBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define signal rpl_signal # endif _GL_FUNCDECL_RPL (signal, _gl_function_taking_int_returning_void_t, (int sig, _gl_function_taking_int_returning_void_t func)); _GL_CXXALIAS_RPL (signal, _gl_function_taking_int_returning_void_t, (int sig, _gl_function_taking_int_returning_void_t func)); # else _GL_CXXALIAS_SYS (signal, _gl_function_taking_int_returning_void_t, (int sig, _gl_function_taking_int_returning_void_t func)); # endif _GL_CXXALIASWARN (signal); # if !@HAVE_POSIX_SIGNALBLOCKING@ && GNULIB_defined_SIGPIPE /* Raise signal SIGPIPE. */ _GL_EXTERN_C int _gl_raise_SIGPIPE (void); # endif #elif defined GNULIB_POSIXCHECK # undef sigaddset # if HAVE_RAW_DECL_SIGADDSET _GL_WARN_ON_USE (sigaddset, "sigaddset is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigdelset # if HAVE_RAW_DECL_SIGDELSET _GL_WARN_ON_USE (sigdelset, "sigdelset is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigemptyset # if HAVE_RAW_DECL_SIGEMPTYSET _GL_WARN_ON_USE (sigemptyset, "sigemptyset is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigfillset # if HAVE_RAW_DECL_SIGFILLSET _GL_WARN_ON_USE (sigfillset, "sigfillset is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigismember # if HAVE_RAW_DECL_SIGISMEMBER _GL_WARN_ON_USE (sigismember, "sigismember is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigpending # if HAVE_RAW_DECL_SIGPENDING _GL_WARN_ON_USE (sigpending, "sigpending is unportable - " "use the gnulib module sigprocmask for portability"); # endif # undef sigprocmask # if HAVE_RAW_DECL_SIGPROCMASK _GL_WARN_ON_USE (sigprocmask, "sigprocmask is unportable - " "use the gnulib module sigprocmask for portability"); # endif #endif /* @GNULIB_SIGPROCMASK@ */ #if @GNULIB_SIGACTION@ # if !@HAVE_SIGACTION@ # if !@HAVE_SIGINFO_T@ # if !GNULIB_defined_siginfo_types /* Present to allow compilation, but unsupported by gnulib. */ union sigval { int sival_int; void *sival_ptr; }; /* Present to allow compilation, but unsupported by gnulib. */ struct siginfo_t { int si_signo; int si_code; int si_errno; pid_t si_pid; uid_t si_uid; void *si_addr; int si_status; long si_band; union sigval si_value; }; typedef struct siginfo_t siginfo_t; # define GNULIB_defined_siginfo_types 1 # endif # endif /* !@HAVE_SIGINFO_T@ */ /* We assume that platforms which lack the sigaction() function also lack the 'struct sigaction' type, and vice versa. */ # if !GNULIB_defined_struct_sigaction struct sigaction { union { void (*_sa_handler) (int); /* Present to allow compilation, but unsupported by gnulib. POSIX says that implementations may, but not must, make sa_sigaction overlap with sa_handler, but we know of no implementation where they do not overlap. */ void (*_sa_sigaction) (int, siginfo_t *, void *); } _sa_func; sigset_t sa_mask; /* Not all POSIX flags are supported. */ int sa_flags; }; # define sa_handler _sa_func._sa_handler # define sa_sigaction _sa_func._sa_sigaction /* Unsupported flags are not present. */ # define SA_RESETHAND 1 # define SA_NODEFER 2 # define SA_RESTART 4 # define GNULIB_defined_struct_sigaction 1 # endif _GL_FUNCDECL_SYS (sigaction, int, (int, const struct sigaction *restrict, struct sigaction *restrict)); # elif !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ # define sa_sigaction sa_handler # endif /* !@HAVE_SIGACTION@, !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ */ _GL_CXXALIAS_SYS (sigaction, int, (int, const struct sigaction *restrict, struct sigaction *restrict)); _GL_CXXALIASWARN (sigaction); #elif defined GNULIB_POSIXCHECK # undef sigaction # if HAVE_RAW_DECL_SIGACTION _GL_WARN_ON_USE (sigaction, "sigaction is unportable - " "use the gnulib module sigaction for portability"); # endif #endif /* Some systems don't have SA_NODEFER. */ #ifndef SA_NODEFER # define SA_NODEFER 0 #endif #endif /* _@GUARD_PREFIX@_SIGNAL_H */ #endif /* _@GUARD_PREFIX@_SIGNAL_H */ #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/closein.c������������������������������������������������������������������������0000664�0000000�0000000�00000007500�12071024546�012717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Close standard input, rewinding seekable stdin if necessary. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "closein.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> #include <unistd.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "close-stream.h" #include "closeout.h" #include "error.h" #include "exitfail.h" #include "freadahead.h" #include "quotearg.h" static const char *file_name; /* Set the file name to be reported in the event an error is detected on stdin by close_stdin. See also close_stdout_set_file_name, if an error is detected when closing stdout. */ void close_stdin_set_file_name (const char *file) { file_name = file; } /* Close standard input, rewinding any unused input if stdin is seekable. On error, issue a diagnostic and _exit with status 'exit_failure'. Then call close_stdout. Most programs can get by with close_stdout. close_stdin is only needed when a program wants to guarantee that partially read input from seekable stdin is not consumed, for any subsequent clients. For example, POSIX requires that these two commands behave alike: (sed -ne 1q; cat) < file tail -n +2 file Since close_stdin is commonly registered via 'atexit', POSIX and the C standard both say that it should not call 'exit', because the behavior is undefined if 'exit' is called more than once. So it calls '_exit' instead of 'exit'. If close_stdin is registered via atexit before other functions are registered, the other functions can act before this _exit is invoked. Applications that use close_stdout should flush any streams other than stdin, stdout, and stderr before exiting, since the call to _exit will bypass other buffer flushing. Applications should be flushing and closing other streams anyway, to check for I/O errors. Also, applications should not use tmpfile, since _exit can bypass the removal of these files. It's important to detect such failures and exit nonzero because many tools (most notably 'make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void close_stdin (void) { bool fail = false; /* There is no need to flush stdin if we can determine quickly that stdin's input buffer is empty; in this case we know that if stdin is seekable, (fseeko (stdin, 0, SEEK_CUR), ftello (stdin)) == lseek (0, 0, SEEK_CUR). */ if (freadahead (stdin) > 0) { /* Only attempt flush if stdin is seekable, as fflush is entitled to fail on non-seekable streams. */ if (fseeko (stdin, 0, SEEK_CUR) == 0 && fflush (stdin) != 0) fail = true; } if (close_stream (stdin) != 0) fail = true; if (fail) { /* Report failure, but defer exit until after closing stdout, since the failure report should still be flushed. */ char const *close_error = _("error closing file"); if (file_name) error (0, errno, "%s: %s", quotearg_colon (file_name), close_error); else error (0, errno, "%s", close_error); } close_stdout (); if (fail) _exit (exit_failure); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/utimens.h������������������������������������������������������������������������0000664�0000000�0000000�00000002723�12071024546�012756� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set file access and modification times. Copyright 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <time.h> int fdutimens (int, char const *, struct timespec const [2]); int utimens (char const *, struct timespec const [2]); int lutimens (char const *, struct timespec const [2]); #if GNULIB_FDUTIMENSAT # include <fcntl.h> # include <sys/stat.h> _GL_INLINE_HEADER_BEGIN #ifndef _GL_UTIMENS_INLINE # define _GL_UTIMENS_INLINE _GL_INLINE #endif int fdutimensat (int fd, int dir, char const *name, struct timespec const [2], int atflag); /* Using this function makes application code slightly more readable. */ _GL_UTIMENS_INLINE int lutimensat (int dir, char const *file, struct timespec const times[2]) { return utimensat (dir, file, times, AT_SYMLINK_NOFOLLOW); } _GL_INLINE_HEADER_END #endif ���������������������������������������������coreutils-8.21/lib/getpagesize.c��������������������������������������������������������������������0000664�0000000�0000000�00000002274�12071024546�013575� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getpagesize emulation for systems where it cannot be done in a C macro. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible and Martin Lambers. */ #include <config.h> /* Specification. */ #include <unistd.h> /* This implementation is only for native Windows systems. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include <windows.h> int getpagesize (void) { SYSTEM_INFO system_info; GetSystemInfo (&system_info); return system_info.dwPageSize; } #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtoumax.c���������������������������������������������������������������������0000664�0000000�0000000�00000000252�11624727635�013532� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define __strtol strtoumax #define __strtol_t uintmax_t #define __xstrtol xstrtoumax #define STRTOL_T_MINIMUM 0 #define STRTOL_T_MAXIMUM UINTMAX_MAX #include "xstrtol.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/posixver.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002647�12071024546�013151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Which POSIX version to conform to, for utilities. Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "posixver.h" #include <limits.h> #include <stdlib.h> #include <unistd.h> #ifndef _POSIX2_VERSION # define _POSIX2_VERSION 0 #endif #ifndef DEFAULT_POSIX2_VERSION # define DEFAULT_POSIX2_VERSION _POSIX2_VERSION #endif /* The POSIX version that utilities should conform to. The default is specified by the system. */ int posix2_version (void) { long int v = DEFAULT_POSIX2_VERSION; char const *s = getenv ("_POSIX2_VERSION"); if (s && *s) { char *e; long int i = strtol (s, &e, 10); if (! *e) v = i; } return v < INT_MIN ? INT_MIN : v < INT_MAX ? v : INT_MAX; } �����������������������������������������������������������������������������������������coreutils-8.21/lib/base64.h�������������������������������������������������������������������������0000664�0000000�0000000�00000004244�12071561006�012353� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* base64.h -- Encode binary data using printable characters. Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef BASE64_H # define BASE64_H /* Get size_t. */ # include <stddef.h> /* Get bool. */ # include <stdbool.h> # ifdef __cplusplus extern "C" { # endif /* This uses that the expression (n+(k-1))/k means the smallest integer >= n/k, i.e., the ceiling of n/k. */ # define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4) struct base64_decode_context { unsigned int i; char buf[4]; }; extern bool isbase64 (char ch) _GL_ATTRIBUTE_CONST; extern void base64_encode (const char *restrict in, size_t inlen, char *restrict out, size_t outlen); extern size_t base64_encode_alloc (const char *in, size_t inlen, char **out); extern void base64_decode_ctx_init (struct base64_decode_context *ctx); extern bool base64_decode_ctx (struct base64_decode_context *ctx, const char *restrict in, size_t inlen, char *restrict out, size_t *outlen); extern bool base64_decode_alloc_ctx (struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen); #define base64_decode(in, inlen, out, outlen) \ base64_decode_ctx (NULL, in, inlen, out, outlen) #define base64_decode_alloc(in, inlen, out, outlen) \ base64_decode_alloc_ctx (NULL, in, inlen, out, outlen) # ifdef __cplusplus } # endif #endif /* BASE64_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/timespec.h�����������������������������������������������������������������������0000664�0000000�0000000�00000006221�12071024546�013100� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* timespec -- System time interface Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if ! defined TIMESPEC_H # define TIMESPEC_H # include <time.h> _GL_INLINE_HEADER_BEGIN #ifndef _GL_TIMESPEC_INLINE # define _GL_TIMESPEC_INLINE _GL_INLINE #endif /* Return negative, zero, positive if A < B, A == B, A > B, respectively. For each time stamp T, this code assumes that either: * T.tv_nsec is in the range 0..999999999; or * T.tv_sec corresponds to a valid leap second on a host that supports leap seconds, and T.tv_nsec is in the range 1000000000..1999999999; or * T.tv_sec is the minimum time_t value and T.tv_nsec is -1; or T.tv_sec is the maximum time_t value and T.tv_nsec is 2000000000. This allows for special struct timespec values that are less or greater than all possible valid time stamps. In all these cases, it is safe to subtract two tv_nsec values and convert the result to integer without worrying about overflow on any platform of interest to the GNU project, since all such platforms have 32-bit int or wider. Replacing "(int) (a.tv_nsec - b.tv_nsec)" with something like "a.tv_nsec < b.tv_nsec ? -1 : a.tv_nsec > b.tv_nsec" would cause this function to work in some cases where the above assumption is violated, but not in all cases (e.g., a.tv_sec==1, a.tv_nsec==-2, b.tv_sec==0, b.tv_nsec==999999999) and is arguably not worth the extra instructions. Using a subtraction has the advantage of detecting some invalid cases on platforms that detect integer overflow. The (int) cast avoids a gcc -Wconversion warning. */ _GL_TIMESPEC_INLINE int timespec_cmp (struct timespec a, struct timespec b) { return (a.tv_sec < b.tv_sec ? -1 : a.tv_sec > b.tv_sec ? 1 : (int) (a.tv_nsec - b.tv_nsec)); } /* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be nonnegative. */ _GL_TIMESPEC_INLINE int timespec_sign (struct timespec a) { return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec; } struct timespec timespec_add (struct timespec, struct timespec) _GL_ATTRIBUTE_CONST; struct timespec timespec_sub (struct timespec, struct timespec) _GL_ATTRIBUTE_CONST; struct timespec dtotimespec (double) _GL_ATTRIBUTE_CONST; /* Return an approximation to A, of type 'double'. */ _GL_TIMESPEC_INLINE double timespectod (struct timespec a) { return a.tv_sec + a.tv_nsec / 1e9; } void gettime (struct timespec *); int settime (struct timespec const *); _GL_INLINE_HEADER_END #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/pipe.h���������������������������������������������������������������������������0000664�0000000�0000000�00000000116�11624727634�012234� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Obsolete; consider using spawn-pipe.h instead. */ #include "spawn-pipe.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/umaxtostr.c����������������������������������������������������������������������0000664�0000000�0000000�00000000113�11624727634�013335� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define anytostr umaxtostr #define inttype uintmax_t #include "anytostr.c" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/userspec.c�����������������������������������������������������������������������0000664�0000000�0000000�00000017573�12071024546�013127� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* userspec.c -- Parse a user and group string. Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */ #include <config.h> /* Specification. */ #include "userspec.h" #include <stdbool.h> #include <stdio.h> #include <sys/types.h> #include <pwd.h> #include <grp.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #include <limits.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include "intprops.h" #include "inttostr.h" #include "xalloc.h" #include "xstrtol.h" #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #ifndef HAVE_ENDGRENT # define endgrent() ((void) 0) #endif #ifndef HAVE_ENDPWENT # define endpwent() ((void) 0) #endif #ifndef UID_T_MAX # define UID_T_MAX TYPE_MAXIMUM (uid_t) #endif #ifndef GID_T_MAX # define GID_T_MAX TYPE_MAXIMUM (gid_t) #endif /* MAXUID may come from limits.h or sys/params.h. */ #ifndef MAXUID # define MAXUID UID_T_MAX #endif #ifndef MAXGID # define MAXGID GID_T_MAX #endif #ifdef __DJGPP__ /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ # define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Return true if STR represents an unsigned decimal integer. */ static bool is_number (const char *str) { do { if (!ISDIGIT (*str)) return false; } while (*++str); return true; } #endif static char const * parse_with_separator (char const *spec, char const *separator, uid_t *uid, gid_t *gid, char **username, char **groupname) { static const char *E_invalid_user = N_("invalid user"); static const char *E_invalid_group = N_("invalid group"); static const char *E_bad_spec = N_("invalid spec"); const char *error_msg; struct passwd *pwd; struct group *grp; char *u; char const *g; char *gname = NULL; uid_t unum = *uid; gid_t gnum = *gid; error_msg = NULL; *username = *groupname = NULL; /* Set U and G to nonzero length strings corresponding to user and group specifiers or to NULL. If U is not NULL, it is a newly allocated string. */ u = NULL; if (separator == NULL) { if (*spec) u = xstrdup (spec); } else { size_t ulen = separator - spec; if (ulen != 0) { u = xmemdup (spec, ulen + 1); u[ulen] = '\0'; } } g = (separator == NULL || *(separator + 1) == '\0' ? NULL : separator + 1); #ifdef __DJGPP__ /* Pretend that we are the user U whose group is G. This makes pwd and grp functions "know" about the UID and GID of these. */ if (u && !is_number (u)) setenv ("USER", u, 1); if (g && !is_number (g)) setenv ("GROUP", g, 1); #endif if (u != NULL) { /* If it starts with "+", skip the look-up. */ pwd = (*u == '+' ? NULL : getpwnam (u)); if (pwd == NULL) { bool use_login_group = (separator != NULL && g == NULL); if (use_login_group) { /* If there is no group, then there may not be a trailing ":", either. */ error_msg = E_bad_spec; } else { unsigned long int tmp; if (xstrtoul (u, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXUID && (uid_t) tmp != (uid_t) -1) unum = tmp; else error_msg = E_invalid_user; } } else { unum = pwd->pw_uid; if (g == NULL && separator != NULL) { /* A separator was given, but a group was not specified, so get the login group. */ char buf[INT_BUFSIZE_BOUND (uintmax_t)]; gnum = pwd->pw_gid; grp = getgrgid (gnum); gname = xstrdup (grp ? grp->gr_name : umaxtostr (gnum, buf)); endgrent (); } } endpwent (); } if (g != NULL && error_msg == NULL) { /* Explicit group. */ /* If it starts with "+", skip the look-up. */ grp = (*g == '+' ? NULL : getgrnam (g)); if (grp == NULL) { unsigned long int tmp; if (xstrtoul (g, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXGID && (gid_t) tmp != (gid_t) -1) gnum = tmp; else error_msg = E_invalid_group; } else gnum = grp->gr_gid; endgrent (); /* Save a file descriptor. */ gname = xstrdup (g); } if (error_msg == NULL) { *uid = unum; *gid = gnum; *username = u; *groupname = gname; u = NULL; } else free (gname); free (u); return _(error_msg); } /* Extract from SPEC, which has the form "[user][:.][group]", a USERNAME, UID U, GROUPNAME, and GID G. Either user or group, or both, must be present. If the group is omitted but the separator is given, use the given user's login group. If SPEC contains a ':', then use that as the separator, ignoring any '.'s. If there is no ':', but there is a '.', then first look up the entire SPEC as a login name. If that look-up fails, then try again interpreting the '.' as a separator. USERNAME and GROUPNAME will be in newly malloc'd memory. Either one might be NULL instead, indicating that it was not given and the corresponding numeric ID was left unchanged. Return NULL if successful, a static error message string if not. */ char const * parse_user_spec (char const *spec, uid_t *uid, gid_t *gid, char **username, char **groupname) { char const *colon = strchr (spec, ':'); char const *error_msg = parse_with_separator (spec, colon, uid, gid, username, groupname); if (!colon && error_msg) { /* If there's no colon but there is a dot, and if looking up the whole spec failed (i.e., the spec is not an owner name that includes a dot), then try again, but interpret the dot as a separator. This is a compatible extension to POSIX, since the POSIX-required behavior is always tried first. */ char const *dot = strchr (spec, '.'); if (dot && ! parse_with_separator (spec, dot, uid, gid, username, groupname)) error_msg = NULL; } return error_msg; } #ifdef TEST # define NULL_CHECK(s) ((s) == NULL ? "(null)" : (s)) int main (int argc, char **argv) { int i; for (i = 1; i < argc; i++) { const char *e; char *username, *groupname; uid_t uid; gid_t gid; char *tmp; tmp = strdup (argv[i]); e = parse_user_spec (tmp, &uid, &gid, &username, &groupname); free (tmp); printf ("%s: %lu %lu %s %s %s\n", argv[i], (unsigned long int) uid, (unsigned long int) gid, NULL_CHECK (username), NULL_CHECK (groupname), NULL_CHECK (e)); } exit (0); } #endif /* Local Variables: indent-tabs-mode: nil End: */ �������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getndelim2.h���������������������������������������������������������������������0000664�0000000�0000000�00000003510�12071024546�013317� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters, with bounded memory allocation. Copyright (C) 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef GETNDELIM2_H #define GETNDELIM2_H 1 #include <stdio.h> #include <sys/types.h> #define GETNLINE_NO_LIMIT ((size_t) -1) /* Read into a buffer *LINEPTR returned from malloc (or NULL), pointing to *LINESIZE bytes of space. Store the input bytes starting at *LINEPTR + OFFSET, and null-terminate them. Reallocate the buffer as necessary, but if NMAX is not GETNLINE_NO_LIMIT then do not allocate more than NMAX bytes; if the line is longer than that, read and discard the extra bytes. Stop reading after the first occurrence of DELIM1 or DELIM2, whichever comes first; a delimiter equal to EOF stands for no delimiter. Read the input bytes from STREAM. Return the number of bytes read and stored at *LINEPTR + OFFSET (not including the NUL terminator), or -1 on error or EOF. */ extern ssize_t getndelim2 (char **lineptr, size_t *linesize, size_t offset, size_t nmax, int delim1, int delim2, FILE *stream); #endif /* GETNDELIM2_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hash.c���������������������������������������������������������������������������0000664�0000000�0000000�00000115175�12071024546�012216� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hash - hashing table processing. Copyright (C) 1998-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Jim Meyering, 1992. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* A generic hash table package. */ /* Define USE_OBSTACK to 1 if you want the allocator to use obstacks instead of malloc. If you change USE_OBSTACK, you have to recompile! */ #include <config.h> #include "hash.h" #include "bitrotate.h" #include "xalloc-oversized.h" #include <stdint.h> #include <stdio.h> #include <stdlib.h> #if USE_OBSTACK # include "obstack.h" # ifndef obstack_chunk_alloc # define obstack_chunk_alloc malloc # endif # ifndef obstack_chunk_free # define obstack_chunk_free free # endif #endif struct hash_entry { void *data; struct hash_entry *next; }; struct hash_table { /* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1, for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets are not empty, there are N_ENTRIES active entries in the table. */ struct hash_entry *bucket; struct hash_entry const *bucket_limit; size_t n_buckets; size_t n_buckets_used; size_t n_entries; /* Tuning arguments, kept in a physically separate structure. */ const Hash_tuning *tuning; /* Three functions are given to 'hash_initialize', see the documentation block for this function. In a word, HASHER randomizes a user entry into a number up from 0 up to some maximum minus 1; COMPARATOR returns true if two user entries compare equally; and DATA_FREER is the cleanup function for a user entry. */ Hash_hasher hasher; Hash_comparator comparator; Hash_data_freer data_freer; /* A linked list of freed struct hash_entry structs. */ struct hash_entry *free_entry_list; #if USE_OBSTACK /* Whenever obstacks are used, it is possible to allocate all overflowed entries into a single stack, so they all can be freed in a single operation. It is not clear if the speedup is worth the trouble. */ struct obstack entry_stack; #endif }; /* A hash table contains many internal entries, each holding a pointer to some user-provided data (also called a user entry). An entry indistinctly refers to both the internal entry and its associated user entry. A user entry contents may be hashed by a randomization function (the hashing function, or just "hasher" for short) into a number (or "slot") between 0 and the current table size. At each slot position in the hash table, starts a linked chain of entries for which the user data all hash to this slot. A bucket is the collection of all entries hashing to the same slot. A good "hasher" function will distribute entries rather evenly in buckets. In the ideal case, the length of each bucket is roughly the number of entries divided by the table size. Finding the slot for a data is usually done in constant time by the "hasher", and the later finding of a precise entry is linear in time with the size of the bucket. Consequently, a larger hash table size (that is, a larger number of buckets) is prone to yielding shorter chains, *given* the "hasher" function behaves properly. Long buckets slow down the lookup algorithm. One might use big hash table sizes in hope to reduce the average length of buckets, but this might become inordinate, as unused slots in the hash table take some space. The best bet is to make sure you are using a good "hasher" function (beware that those are not that easy to write! :-), and to use a table size larger than the actual number of entries. */ /* If an insertion makes the ratio of nonempty buckets to table size larger than the growth threshold (a number between 0.0 and 1.0), then increase the table size by multiplying by the growth factor (a number greater than 1.0). The growth threshold defaults to 0.8, and the growth factor defaults to 1.414, meaning that the table will have doubled its size every second time 80% of the buckets get used. */ #define DEFAULT_GROWTH_THRESHOLD 0.8f #define DEFAULT_GROWTH_FACTOR 1.414f /* If a deletion empties a bucket and causes the ratio of used buckets to table size to become smaller than the shrink threshold (a number between 0.0 and 1.0), then shrink the table by multiplying by the shrink factor (a number greater than the shrink threshold but smaller than 1.0). The shrink threshold and factor default to 0.0 and 1.0, meaning that the table never shrinks. */ #define DEFAULT_SHRINK_THRESHOLD 0.0f #define DEFAULT_SHRINK_FACTOR 1.0f /* Use this to initialize or reset a TUNING structure to some sensible values. */ static const Hash_tuning default_tuning = { DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR, DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR, false }; /* Information and lookup. */ /* The following few functions provide information about the overall hash table organization: the number of entries, number of buckets and maximum length of buckets. */ /* Return the number of buckets in the hash table. The table size, the total number of buckets (used plus unused), or the maximum number of slots, are the same quantity. */ size_t hash_get_n_buckets (const Hash_table *table) { return table->n_buckets; } /* Return the number of slots in use (non-empty buckets). */ size_t hash_get_n_buckets_used (const Hash_table *table) { return table->n_buckets_used; } /* Return the number of active entries. */ size_t hash_get_n_entries (const Hash_table *table) { return table->n_entries; } /* Return the length of the longest chain (bucket). */ size_t hash_get_max_bucket_length (const Hash_table *table) { struct hash_entry const *bucket; size_t max_bucket_length = 0; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry const *cursor = bucket; size_t bucket_length = 1; while (cursor = cursor->next, cursor) bucket_length++; if (bucket_length > max_bucket_length) max_bucket_length = bucket_length; } } return max_bucket_length; } /* Do a mild validation of a hash table, by traversing it and checking two statistics. */ bool hash_table_ok (const Hash_table *table) { struct hash_entry const *bucket; size_t n_buckets_used = 0; size_t n_entries = 0; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry const *cursor = bucket; /* Count bucket head. */ n_buckets_used++; n_entries++; /* Count bucket overflow. */ while (cursor = cursor->next, cursor) n_entries++; } } if (n_buckets_used == table->n_buckets_used && n_entries == table->n_entries) return true; return false; } void hash_print_statistics (const Hash_table *table, FILE *stream) { size_t n_entries = hash_get_n_entries (table); size_t n_buckets = hash_get_n_buckets (table); size_t n_buckets_used = hash_get_n_buckets_used (table); size_t max_bucket_length = hash_get_max_bucket_length (table); fprintf (stream, "# entries: %lu\n", (unsigned long int) n_entries); fprintf (stream, "# buckets: %lu\n", (unsigned long int) n_buckets); fprintf (stream, "# buckets used: %lu (%.2f%%)\n", (unsigned long int) n_buckets_used, (100.0 * n_buckets_used) / n_buckets); fprintf (stream, "max bucket length: %lu\n", (unsigned long int) max_bucket_length); } /* Hash KEY and return a pointer to the selected bucket. If TABLE->hasher misbehaves, abort. */ static struct hash_entry * safe_hasher (const Hash_table *table, const void *key) { size_t n = table->hasher (key, table->n_buckets); if (! (n < table->n_buckets)) abort (); return table->bucket + n; } /* If ENTRY matches an entry already in the hash table, return the entry from the table. Otherwise, return NULL. */ void * hash_lookup (const Hash_table *table, const void *entry) { struct hash_entry const *bucket = safe_hasher (table, entry); struct hash_entry const *cursor; if (bucket->data == NULL) return NULL; for (cursor = bucket; cursor; cursor = cursor->next) if (entry == cursor->data || table->comparator (entry, cursor->data)) return cursor->data; return NULL; } /* Walking. */ /* The functions in this page traverse the hash table and process the contained entries. For the traversal to work properly, the hash table should not be resized nor modified while any particular entry is being processed. In particular, entries should not be added, and an entry may be removed only if there is no shrink threshold and the entry being removed has already been passed to hash_get_next. */ /* Return the first data in the table, or NULL if the table is empty. */ void * hash_get_first (const Hash_table *table) { struct hash_entry const *bucket; if (table->n_entries == 0) return NULL; for (bucket = table->bucket; ; bucket++) if (! (bucket < table->bucket_limit)) abort (); else if (bucket->data) return bucket->data; } /* Return the user data for the entry following ENTRY, where ENTRY has been returned by a previous call to either 'hash_get_first' or 'hash_get_next'. Return NULL if there are no more entries. */ void * hash_get_next (const Hash_table *table, const void *entry) { struct hash_entry const *bucket = safe_hasher (table, entry); struct hash_entry const *cursor; /* Find next entry in the same bucket. */ cursor = bucket; do { if (cursor->data == entry && cursor->next) return cursor->next->data; cursor = cursor->next; } while (cursor != NULL); /* Find first entry in any subsequent bucket. */ while (++bucket < table->bucket_limit) if (bucket->data) return bucket->data; /* None found. */ return NULL; } /* Fill BUFFER with pointers to active user entries in the hash table, then return the number of pointers copied. Do not copy more than BUFFER_SIZE pointers. */ size_t hash_get_entries (const Hash_table *table, void **buffer, size_t buffer_size) { size_t counter = 0; struct hash_entry const *bucket; struct hash_entry const *cursor; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) { if (counter >= buffer_size) return counter; buffer[counter++] = cursor->data; } } } return counter; } /* Call a PROCESSOR function for each entry of a hash table, and return the number of entries for which the processor function returned success. A pointer to some PROCESSOR_DATA which will be made available to each call to the processor function. The PROCESSOR accepts two arguments: the first is the user entry being walked into, the second is the value of PROCESSOR_DATA as received. The walking continue for as long as the PROCESSOR function returns nonzero. When it returns zero, the walking is interrupted. */ size_t hash_do_for_each (const Hash_table *table, Hash_processor processor, void *processor_data) { size_t counter = 0; struct hash_entry const *bucket; struct hash_entry const *cursor; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) { if (! processor (cursor->data, processor_data)) return counter; counter++; } } } return counter; } /* Allocation and clean-up. */ /* Return a hash index for a NUL-terminated STRING between 0 and N_BUCKETS-1. This is a convenience routine for constructing other hashing functions. */ #if USE_DIFF_HASH /* About hashings, Paul Eggert writes to me (FP), on 1994-01-01: "Please see B. J. McKenzie, R. Harries & T. Bell, Selecting a hashing algorithm, Software--practice & experience 20, 2 (Feb 1990), 209-224. Good hash algorithms tend to be domain-specific, so what's good for [diffutils'] io.c may not be good for your application." */ size_t hash_string (const char *string, size_t n_buckets) { # define HASH_ONE_CHAR(Value, Byte) \ ((Byte) + rotl_sz (Value, 7)) size_t value = 0; unsigned char ch; for (; (ch = *string); string++) value = HASH_ONE_CHAR (value, ch); return value % n_buckets; # undef HASH_ONE_CHAR } #else /* not USE_DIFF_HASH */ /* This one comes from 'recode', and performs a bit better than the above as per a few experiments. It is inspired from a hashing routine found in the very old Cyber 'snoop', itself written in typical Greg Mansfield style. (By the way, what happened to this excellent man? Is he still alive?) */ size_t hash_string (const char *string, size_t n_buckets) { size_t value = 0; unsigned char ch; for (; (ch = *string); string++) value = (value * 31 + ch) % n_buckets; return value; } #endif /* not USE_DIFF_HASH */ /* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd number at least equal to 11. */ static bool _GL_ATTRIBUTE_CONST is_prime (size_t candidate) { size_t divisor = 3; size_t square = divisor * divisor; while (square < candidate && (candidate % divisor)) { divisor++; square += 4 * divisor; divisor++; } return (candidate % divisor ? true : false); } /* Round a given CANDIDATE number up to the nearest prime, and return that prime. Primes lower than 10 are merely skipped. */ static size_t _GL_ATTRIBUTE_CONST next_prime (size_t candidate) { /* Skip small primes. */ if (candidate < 10) candidate = 10; /* Make it definitely odd. */ candidate |= 1; while (SIZE_MAX != candidate && !is_prime (candidate)) candidate += 2; return candidate; } void hash_reset_tuning (Hash_tuning *tuning) { *tuning = default_tuning; } /* If the user passes a NULL hasher, we hash the raw pointer. */ static size_t raw_hasher (const void *data, size_t n) { /* When hashing unique pointers, it is often the case that they were generated by malloc and thus have the property that the low-order bits are 0. As this tends to give poorer performance with small tables, we rotate the pointer value before performing division, in an attempt to improve hash quality. */ size_t val = rotr_sz ((size_t) data, 3); return val % n; } /* If the user passes a NULL comparator, we use pointer comparison. */ static bool raw_comparator (const void *a, const void *b) { return a == b; } /* For the given hash TABLE, check the user supplied tuning structure for reasonable values, and return true if there is no gross error with it. Otherwise, definitively reset the TUNING field to some acceptable default in the hash table (that is, the user loses the right of further modifying tuning arguments), and return false. */ static bool check_tuning (Hash_table *table) { const Hash_tuning *tuning = table->tuning; float epsilon; if (tuning == &default_tuning) return true; /* Be a bit stricter than mathematics would require, so that rounding errors in size calculations do not cause allocations to fail to grow or shrink as they should. The smallest allocation is 11 (due to next_prime's algorithm), so an epsilon of 0.1 should be good enough. */ epsilon = 0.1f; if (epsilon < tuning->growth_threshold && tuning->growth_threshold < 1 - epsilon && 1 + epsilon < tuning->growth_factor && 0 <= tuning->shrink_threshold && tuning->shrink_threshold + epsilon < tuning->shrink_factor && tuning->shrink_factor <= 1 && tuning->shrink_threshold + epsilon < tuning->growth_threshold) return true; table->tuning = &default_tuning; return false; } /* Compute the size of the bucket array for the given CANDIDATE and TUNING, or return 0 if there is no possible way to allocate that many entries. */ static size_t _GL_ATTRIBUTE_PURE compute_bucket_size (size_t candidate, const Hash_tuning *tuning) { if (!tuning->is_n_buckets) { float new_candidate = candidate / tuning->growth_threshold; if (SIZE_MAX <= new_candidate) return 0; candidate = new_candidate; } candidate = next_prime (candidate); if (xalloc_oversized (candidate, sizeof (struct hash_entry *))) return 0; return candidate; } /* Allocate and return a new hash table, or NULL upon failure. The initial number of buckets is automatically selected so as to _guarantee_ that you may insert at least CANDIDATE different user entries before any growth of the hash table size occurs. So, if have a reasonably tight a-priori upper bound on the number of entries you intend to insert in the hash table, you may save some table memory and insertion time, by specifying it here. If the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE argument has its meaning changed to the wanted number of buckets. TUNING points to a structure of user-supplied values, in case some fine tuning is wanted over the default behavior of the hasher. If TUNING is NULL, the default tuning parameters are used instead. If TUNING is provided but the values requested are out of bounds or might cause rounding errors, return NULL. The user-supplied HASHER function, when not NULL, accepts two arguments ENTRY and TABLE_SIZE. It computes, by hashing ENTRY contents, a slot number for that entry which should be in the range 0..TABLE_SIZE-1. This slot number is then returned. The user-supplied COMPARATOR function, when not NULL, accepts two arguments pointing to user data, it then returns true for a pair of entries that compare equal, or false otherwise. This function is internally called on entries which are already known to hash to the same bucket index, but which are distinct pointers. The user-supplied DATA_FREER function, when not NULL, may be later called with the user data as an argument, just before the entry containing the data gets freed. This happens from within 'hash_free' or 'hash_clear'. You should specify this function only if you want these functions to free all of your 'data' data. This is typically the case when your data is simply an auxiliary struct that you have malloc'd to aggregate several values. */ Hash_table * hash_initialize (size_t candidate, const Hash_tuning *tuning, Hash_hasher hasher, Hash_comparator comparator, Hash_data_freer data_freer) { Hash_table *table; if (hasher == NULL) hasher = raw_hasher; if (comparator == NULL) comparator = raw_comparator; table = malloc (sizeof *table); if (table == NULL) return NULL; if (!tuning) tuning = &default_tuning; table->tuning = tuning; if (!check_tuning (table)) { /* Fail if the tuning options are invalid. This is the only occasion when the user gets some feedback about it. Once the table is created, if the user provides invalid tuning options, we silently revert to using the defaults, and ignore further request to change the tuning options. */ goto fail; } table->n_buckets = compute_bucket_size (candidate, tuning); if (!table->n_buckets) goto fail; table->bucket = calloc (table->n_buckets, sizeof *table->bucket); if (table->bucket == NULL) goto fail; table->bucket_limit = table->bucket + table->n_buckets; table->n_buckets_used = 0; table->n_entries = 0; table->hasher = hasher; table->comparator = comparator; table->data_freer = data_freer; table->free_entry_list = NULL; #if USE_OBSTACK obstack_init (&table->entry_stack); #endif return table; fail: free (table); return NULL; } /* Make all buckets empty, placing any chained entries on the free list. Apply the user-specified function data_freer (if any) to the datas of any affected entries. */ void hash_clear (Hash_table *table) { struct hash_entry *bucket; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry *cursor; struct hash_entry *next; /* Free the bucket overflow. */ for (cursor = bucket->next; cursor; cursor = next) { if (table->data_freer) table->data_freer (cursor->data); cursor->data = NULL; next = cursor->next; /* Relinking is done one entry at a time, as it is to be expected that overflows are either rare or short. */ cursor->next = table->free_entry_list; table->free_entry_list = cursor; } /* Free the bucket head. */ if (table->data_freer) table->data_freer (bucket->data); bucket->data = NULL; bucket->next = NULL; } } table->n_buckets_used = 0; table->n_entries = 0; } /* Reclaim all storage associated with a hash table. If a data_freer function has been supplied by the user when the hash table was created, this function applies it to the data of each entry before freeing that entry. */ void hash_free (Hash_table *table) { struct hash_entry *bucket; struct hash_entry *cursor; struct hash_entry *next; /* Call the user data_freer function. */ if (table->data_freer && table->n_entries) { for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) table->data_freer (cursor->data); } } } #if USE_OBSTACK obstack_free (&table->entry_stack, NULL); #else /* Free all bucket overflowed entries. */ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { for (cursor = bucket->next; cursor; cursor = next) { next = cursor->next; free (cursor); } } /* Also reclaim the internal list of previously freed entries. */ for (cursor = table->free_entry_list; cursor; cursor = next) { next = cursor->next; free (cursor); } #endif /* Free the remainder of the hash table structure. */ free (table->bucket); free (table); } /* Insertion and deletion. */ /* Get a new hash entry for a bucket overflow, possibly by recycling a previously freed one. If this is not possible, allocate a new one. */ static struct hash_entry * allocate_entry (Hash_table *table) { struct hash_entry *new; if (table->free_entry_list) { new = table->free_entry_list; table->free_entry_list = new->next; } else { #if USE_OBSTACK new = obstack_alloc (&table->entry_stack, sizeof *new); #else new = malloc (sizeof *new); #endif } return new; } /* Free a hash entry which was part of some bucket overflow, saving it for later recycling. */ static void free_entry (Hash_table *table, struct hash_entry *entry) { entry->data = NULL; entry->next = table->free_entry_list; table->free_entry_list = entry; } /* This private function is used to help with insertion and deletion. When ENTRY matches an entry in the table, return a pointer to the corresponding user data and set *BUCKET_HEAD to the head of the selected bucket. Otherwise, return NULL. When DELETE is true and ENTRY matches an entry in the table, unlink the matching entry. */ static void * hash_find_entry (Hash_table *table, const void *entry, struct hash_entry **bucket_head, bool delete) { struct hash_entry *bucket = safe_hasher (table, entry); struct hash_entry *cursor; *bucket_head = bucket; /* Test for empty bucket. */ if (bucket->data == NULL) return NULL; /* See if the entry is the first in the bucket. */ if (entry == bucket->data || table->comparator (entry, bucket->data)) { void *data = bucket->data; if (delete) { if (bucket->next) { struct hash_entry *next = bucket->next; /* Bump the first overflow entry into the bucket head, then save the previous first overflow entry for later recycling. */ *bucket = *next; free_entry (table, next); } else { bucket->data = NULL; } } return data; } /* Scan the bucket overflow. */ for (cursor = bucket; cursor->next; cursor = cursor->next) { if (entry == cursor->next->data || table->comparator (entry, cursor->next->data)) { void *data = cursor->next->data; if (delete) { struct hash_entry *next = cursor->next; /* Unlink the entry to delete, then save the freed entry for later recycling. */ cursor->next = next->next; free_entry (table, next); } return data; } } /* No entry found. */ return NULL; } /* Internal helper, to move entries from SRC to DST. Both tables must share the same free entry list. If SAFE, only move overflow entries, saving bucket heads for later, so that no allocations will occur. Return false if the free entry list is exhausted and an allocation fails. */ static bool transfer_entries (Hash_table *dst, Hash_table *src, bool safe) { struct hash_entry *bucket; struct hash_entry *cursor; struct hash_entry *next; for (bucket = src->bucket; bucket < src->bucket_limit; bucket++) if (bucket->data) { void *data; struct hash_entry *new_bucket; /* Within each bucket, transfer overflow entries first and then the bucket head, to minimize memory pressure. After all, the only time we might allocate is when moving the bucket head, but moving overflow entries first may create free entries that can be recycled by the time we finally get to the bucket head. */ for (cursor = bucket->next; cursor; cursor = next) { data = cursor->data; new_bucket = safe_hasher (dst, data); next = cursor->next; if (new_bucket->data) { /* Merely relink an existing entry, when moving from a bucket overflow into a bucket overflow. */ cursor->next = new_bucket->next; new_bucket->next = cursor; } else { /* Free an existing entry, when moving from a bucket overflow into a bucket header. */ new_bucket->data = data; dst->n_buckets_used++; free_entry (dst, cursor); } } /* Now move the bucket head. Be sure that if we fail due to allocation failure that the src table is in a consistent state. */ data = bucket->data; bucket->next = NULL; if (safe) continue; new_bucket = safe_hasher (dst, data); if (new_bucket->data) { /* Allocate or recycle an entry, when moving from a bucket header into a bucket overflow. */ struct hash_entry *new_entry = allocate_entry (dst); if (new_entry == NULL) return false; new_entry->data = data; new_entry->next = new_bucket->next; new_bucket->next = new_entry; } else { /* Move from one bucket header to another. */ new_bucket->data = data; dst->n_buckets_used++; } bucket->data = NULL; src->n_buckets_used--; } return true; } /* For an already existing hash table, change the number of buckets through specifying CANDIDATE. The contents of the hash table are preserved. The new number of buckets is automatically selected so as to _guarantee_ that the table may receive at least CANDIDATE different user entries, including those already in the table, before any other growth of the hash table size occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the exact number of buckets desired. Return true iff the rehash succeeded. */ bool hash_rehash (Hash_table *table, size_t candidate) { Hash_table storage; Hash_table *new_table; size_t new_size = compute_bucket_size (candidate, table->tuning); if (!new_size) return false; if (new_size == table->n_buckets) return true; new_table = &storage; new_table->bucket = calloc (new_size, sizeof *new_table->bucket); if (new_table->bucket == NULL) return false; new_table->n_buckets = new_size; new_table->bucket_limit = new_table->bucket + new_size; new_table->n_buckets_used = 0; new_table->n_entries = 0; new_table->tuning = table->tuning; new_table->hasher = table->hasher; new_table->comparator = table->comparator; new_table->data_freer = table->data_freer; /* In order for the transfer to successfully complete, we need additional overflow entries when distinct buckets in the old table collide into a common bucket in the new table. The worst case possible is a hasher that gives a good spread with the old size, but returns a constant with the new size; if we were to guarantee table->n_buckets_used-1 free entries in advance, then the transfer would be guaranteed to not allocate memory. However, for large tables, a guarantee of no further allocation introduces a lot of extra memory pressure, all for an unlikely corner case (most rehashes reduce, rather than increase, the number of overflow entries needed). So, we instead ensure that the transfer process can be reversed if we hit a memory allocation failure mid-transfer. */ /* Merely reuse the extra old space into the new table. */ #if USE_OBSTACK new_table->entry_stack = table->entry_stack; #endif new_table->free_entry_list = table->free_entry_list; if (transfer_entries (new_table, table, false)) { /* Entries transferred successfully; tie up the loose ends. */ free (table->bucket); table->bucket = new_table->bucket; table->bucket_limit = new_table->bucket_limit; table->n_buckets = new_table->n_buckets; table->n_buckets_used = new_table->n_buckets_used; table->free_entry_list = new_table->free_entry_list; /* table->n_entries and table->entry_stack already hold their value. */ return true; } /* We've allocated new_table->bucket (and possibly some entries), exhausted the free list, and moved some but not all entries into new_table. We must undo the partial move before returning failure. The only way to get into this situation is if new_table uses fewer buckets than the old table, so we will reclaim some free entries as overflows in the new table are put back into distinct buckets in the old table. There are some pathological cases where a single pass through the table requires more intermediate overflow entries than using two passes. Two passes give worse cache performance and takes longer, but at this point, we're already out of memory, so slow and safe is better than failure. */ table->free_entry_list = new_table->free_entry_list; if (! (transfer_entries (table, new_table, true) && transfer_entries (table, new_table, false))) abort (); /* table->n_entries already holds its value. */ free (new_table->bucket); return false; } /* Insert ENTRY into hash TABLE if there is not already a matching entry. Return -1 upon memory allocation failure. Return 1 if insertion succeeded. Return 0 if there is already a matching entry in the table, and in that case, if MATCHED_ENT is non-NULL, set *MATCHED_ENT to that entry. This interface is easier to use than hash_insert when you must distinguish between the latter two cases. More importantly, hash_insert is unusable for some types of ENTRY values. When using hash_insert, the only way to distinguish those cases is to compare the return value and ENTRY. That works only when you can have two different ENTRY values that point to data that compares "equal". Thus, when the ENTRY value is a simple scalar, you must use hash_insert_if_absent. ENTRY must not be NULL. */ int hash_insert_if_absent (Hash_table *table, void const *entry, void const **matched_ent) { void *data; struct hash_entry *bucket; /* The caller cannot insert a NULL entry, since hash_lookup returns NULL to indicate "not found", and hash_find_entry uses "bucket->data == NULL" to indicate an empty bucket. */ if (! entry) abort (); /* If there's a matching entry already in the table, return that. */ if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL) { if (matched_ent) *matched_ent = data; return 0; } /* If the growth threshold of the buckets in use has been reached, increase the table size and rehash. There's no point in checking the number of entries: if the hashing function is ill-conditioned, rehashing is not likely to improve it. */ if (table->n_buckets_used > table->tuning->growth_threshold * table->n_buckets) { /* Check more fully, before starting real work. If tuning arguments became invalid, the second check will rely on proper defaults. */ check_tuning (table); if (table->n_buckets_used > table->tuning->growth_threshold * table->n_buckets) { const Hash_tuning *tuning = table->tuning; float candidate = (tuning->is_n_buckets ? (table->n_buckets * tuning->growth_factor) : (table->n_buckets * tuning->growth_factor * tuning->growth_threshold)); if (SIZE_MAX <= candidate) return -1; /* If the rehash fails, arrange to return NULL. */ if (!hash_rehash (table, candidate)) return -1; /* Update the bucket we are interested in. */ if (hash_find_entry (table, entry, &bucket, false) != NULL) abort (); } } /* ENTRY is not matched, it should be inserted. */ if (bucket->data) { struct hash_entry *new_entry = allocate_entry (table); if (new_entry == NULL) return -1; /* Add ENTRY in the overflow of the bucket. */ new_entry->data = (void *) entry; new_entry->next = bucket->next; bucket->next = new_entry; table->n_entries++; return 1; } /* Add ENTRY right in the bucket head. */ bucket->data = (void *) entry; table->n_entries++; table->n_buckets_used++; return 1; } /* hash_insert0 is the deprecated name for hash_insert_if_absent. . */ int hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent) { return hash_insert_if_absent (table, entry, matched_ent); } /* If ENTRY matches an entry already in the hash table, return the pointer to the entry from the table. Otherwise, insert ENTRY and return ENTRY. Return NULL if the storage required for insertion cannot be allocated. This implementation does not support duplicate entries or insertion of NULL. */ void * hash_insert (Hash_table *table, void const *entry) { void const *matched_ent; int err = hash_insert_if_absent (table, entry, &matched_ent); return (err == -1 ? NULL : (void *) (err == 0 ? matched_ent : entry)); } /* If ENTRY is already in the table, remove it and return the just-deleted data (the user may want to deallocate its storage). If ENTRY is not in the table, don't modify the table and return NULL. */ void * hash_delete (Hash_table *table, const void *entry) { void *data; struct hash_entry *bucket; data = hash_find_entry (table, entry, &bucket, true); if (!data) return NULL; table->n_entries--; if (!bucket->data) { table->n_buckets_used--; /* If the shrink threshold of the buckets in use has been reached, rehash into a smaller table. */ if (table->n_buckets_used < table->tuning->shrink_threshold * table->n_buckets) { /* Check more fully, before starting real work. If tuning arguments became invalid, the second check will rely on proper defaults. */ check_tuning (table); if (table->n_buckets_used < table->tuning->shrink_threshold * table->n_buckets) { const Hash_tuning *tuning = table->tuning; size_t candidate = (tuning->is_n_buckets ? table->n_buckets * tuning->shrink_factor : (table->n_buckets * tuning->shrink_factor * tuning->growth_threshold)); if (!hash_rehash (table, candidate)) { /* Failure to allocate memory in an attempt to shrink the table is not fatal. But since memory is low, we can at least be kind and free any spare entries, rather than keeping them tied up in the free entry list. */ #if ! USE_OBSTACK struct hash_entry *cursor = table->free_entry_list; struct hash_entry *next; while (cursor) { next = cursor->next; free (cursor); cursor = next; } table->free_entry_list = NULL; #endif } } } } return data; } /* Testing. */ #if TESTING void hash_print (const Hash_table *table) { struct hash_entry *bucket = (struct hash_entry *) table->bucket; for ( ; bucket < table->bucket_limit; bucket++) { struct hash_entry *cursor; if (bucket) printf ("%lu:\n", (unsigned long int) (bucket - table->bucket)); for (cursor = bucket; cursor; cursor = cursor->next) { char const *s = cursor->data; /* FIXME */ if (s) printf (" %s\n", s); } } } #endif /* TESTING */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdbool.in.h���������������������������������������������������������������������0000664�0000000�0000000�00000011772�12071561013�013344� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <haible@clisp.cons.org>, 2001. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _GL_STDBOOL_H #define _GL_STDBOOL_H /* ISO C 99 <stdbool.h> for platforms that lack it. */ /* Usage suggestions: Programs that use <stdbool.h> should be aware of some limitations and standards compliance issues. Standards compliance: - <stdbool.h> must be #included before 'bool', 'false', 'true' can be used. - You cannot assume that sizeof (bool) == 1. - Programs should not undefine the macros bool, true, and false, as C99 lists that as an "obsolescent feature". Limitations of this substitute, when used in a C89 environment: - <stdbool.h> must be #included before the '_Bool' type can be used. - You cannot assume that _Bool is a typedef; it might be a macro. - Bit-fields of type 'bool' are not supported. Portable code should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - In C99, casts and automatic conversions to '_Bool' or 'bool' are performed in such a way that every nonzero value gets converted to 'true', and zero gets converted to 'false'. This doesn't work with this substitute. With this substitute, only the values 0 and 1 give the expected result when converted to _Bool' or 'bool'. - C99 allows the use of (_Bool)0.0 in constant expressions, but this substitute cannot always provide this property. Also, it is suggested that programs use 'bool' rather than '_Bool'; this isn't required, but 'bool' is more common. */ /* 7.16. Boolean type and values */ /* BeOS <sys/socket.h> already #defines false 0, true 1. We use the same definitions below, but temporarily we have to #undef them. */ #if defined __BEOS__ && !defined __HAIKU__ # include <OS.h> /* defines bool but not _Bool */ # undef false # undef true #endif #ifdef __cplusplus # define _Bool bool # define bool bool #else # if defined __BEOS__ && !defined __HAIKU__ /* A compiler known to have 'bool'. */ /* If the compiler already has both 'bool' and '_Bool', we can assume they are the same types. */ # if !@HAVE__BOOL@ typedef bool _Bool; # endif # else # if !defined __GNUC__ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html Similar bugs are likely with other compilers as well; this file wouldn't be used if <stdbool.h> was working. So we override the _Bool type. If !@HAVE__BOOL@: Need to define _Bool ourselves. As 'signed char' or as an enum type? Use of a typedef, with SunPRO C, leads to a stupid "warning: _Bool is a keyword in ISO C99". Use of an enum type, with IRIX cc, leads to a stupid "warning(1185): enumerated type mixed with another type". Even the existence of an enum type, without a typedef, "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. The only benefit of the enum, debuggability, is not important with these compilers. So use 'signed char' and no enum. */ # define _Bool signed char # else /* With this compiler, trust the _Bool type if the compiler has it. */ # if !@HAVE__BOOL@ /* For the sake of symbolic names in gdb, define true and false as enum constants, not only as macros. It is tempting to write typedef enum { false = 0, true = 1 } _Bool; so that gdb prints values of type 'bool' symbolically. But then values of type '_Bool' might promote to 'int' or 'unsigned int' (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' (see ISO C 99 6.3.1.1.(2)). So add a negative value to the enum; this ensures that '_Bool' promotes to 'int'. */ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; # endif # endif # endif # define bool _Bool #endif /* The other macros must be usable in preprocessor directives. */ #ifdef __cplusplus # define false false # define true true #else # define false 0 # define true 1 #endif #define __bool_true_false_are_defined 1 #endif /* _GL_STDBOOL_H */ ������coreutils-8.21/lib/malloc.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002732�12071561010�012524� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* malloc() function that is glibc compatible. Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Bruno Haible */ #define _GL_USE_STDLIB_ALLOC 1 #include <config.h> /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #ifdef malloc # define NEED_MALLOC_GNU 1 # undef malloc /* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ #elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU # define NEED_MALLOC_GNU 1 #endif #include <stdlib.h> #include <errno.h> /* Allocate an N-byte block of memory from the heap. If N is zero, allocate a 1-byte block. */ void * rpl_malloc (size_t n) { void *result; #if NEED_MALLOC_GNU if (n == 0) n = 1; #endif result = malloc (n); #if !HAVE_MALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } ��������������������������������������coreutils-8.21/lib/strtoumax.c����������������������������������������������������������������������0000664�0000000�0000000�00000000052�11624727634�013337� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define UNSIGNED 1 #include "strtoimax.c" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsrtowcs-impl.h�����������������������������������������������������������������0000664�0000000�0000000�00000007133�12071024546�014254� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string to wide string. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) { if (ps == NULL) ps = &_gl_mbsrtowcs_state; { const char *src = *srcp; if (dest != NULL) { wchar_t *destptr = dest; for (; len > 0; destptr++, len--) { size_t src_avail; size_t ret; /* An optimized variant of src_avail = strnlen1 (src, MB_LEN_MAX); */ if (src[0] == '\0') src_avail = 1; else if (src[1] == '\0') src_avail = 2; else if (src[2] == '\0') src_avail = 3; else if (MB_LEN_MAX <= 4 || src[3] == '\0') src_avail = 4; else src_avail = 4 + strnlen1 (src + 4, MB_LEN_MAX - 4); /* Parse the next multibyte character. */ ret = mbrtowc (destptr, src, src_avail, ps); if (ret == (size_t)(-2)) /* Encountered a multibyte character that extends past a '\0' byte or that is longer than MB_LEN_MAX bytes. Cannot happen. */ abort (); if (ret == (size_t)(-1)) goto bad_input; if (ret == 0) { src = NULL; /* Here mbsinit (ps). */ break; } src += ret; } *srcp = src; return destptr - dest; } else { /* Ignore dest and len, don't store *srcp at the end, and don't clobber *ps. */ mbstate_t state = *ps; size_t totalcount = 0; for (;; totalcount++) { size_t src_avail; size_t ret; /* An optimized variant of src_avail = strnlen1 (src, MB_LEN_MAX); */ if (src[0] == '\0') src_avail = 1; else if (src[1] == '\0') src_avail = 2; else if (src[2] == '\0') src_avail = 3; else if (MB_LEN_MAX <= 4 || src[3] == '\0') src_avail = 4; else src_avail = 4 + strnlen1 (src + 4, MB_LEN_MAX - 4); /* Parse the next multibyte character. */ ret = mbrtowc (NULL, src, src_avail, &state); if (ret == (size_t)(-2)) /* Encountered a multibyte character that extends past a '\0' byte or that is longer than MB_LEN_MAX bytes. Cannot happen. */ abort (); if (ret == (size_t)(-1)) goto bad_input2; if (ret == 0) { /* Here mbsinit (&state). */ break; } src += ret; } return totalcount; } bad_input: *srcp = src; bad_input2: errno = EILSEQ; return (size_t)(-1); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sig-handler.h��������������������������������������������������������������������0000664�0000000�0000000�00000003434�12071024546�013467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convenience declarations when working with <signal.h>. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _GL_SIG_HANDLER_H #define _GL_SIG_HANDLER_H #include <signal.h> _GL_INLINE_HEADER_BEGIN #ifndef SIG_HANDLER_INLINE # define SIG_HANDLER_INLINE _GL_INLINE #endif /* Convenience type when working with signal handlers. */ typedef void (*sa_handler_t) (int); /* Return the handler of a signal, as a sa_handler_t value regardless of its true type. The resulting function can be compared to special values like SIG_IGN but it is not portable to call it. */ SIG_HANDLER_INLINE sa_handler_t get_handler (struct sigaction const *a) { #ifdef SA_SIGINFO /* POSIX says that special values like SIG_IGN can only occur when action.sa_flags does not contain SA_SIGINFO. But in Linux 2.4, for example, sa_sigaction and sa_handler are aliases and a signal is ignored if sa_sigaction (after casting) equals SIG_IGN. So use (and cast) sa_sigaction in that case. */ if (a->sa_flags & SA_SIGINFO) return (sa_handler_t) a->sa_sigaction; #endif return a->sa_handler; } _GL_INLINE_HEADER_END #endif /* _GL_SIG_HANDLER_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unlocked-io.h��������������������������������������������������������������������0000664�0000000�0000000�00000006726�12071024546�013512� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Prefer faster, non-thread-safe stdio functions if available. Copyright (C) 2001-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #ifndef UNLOCKED_IO_H # define UNLOCKED_IO_H 1 /* These are wrappers for functions/macros from the GNU C library, and from other C libraries supporting POSIX's optional thread-safe functions. The standard I/O functions are thread-safe. These *_unlocked ones are more efficient but not thread-safe. That they're not thread-safe is fine since all of the applications in this package are single threaded. Also, some code that is shared with the GNU C library may invoke the *_unlocked functions directly. On hosts that lack those functions, invoke the non-thread-safe versions instead. */ # include <stdio.h> # if HAVE_DECL_CLEARERR_UNLOCKED # undef clearerr # define clearerr(x) clearerr_unlocked (x) # else # define clearerr_unlocked(x) clearerr (x) # endif # if HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(x) feof_unlocked (x) # else # define feof_unlocked(x) feof (x) # endif # if HAVE_DECL_FERROR_UNLOCKED # undef ferror # define ferror(x) ferror_unlocked (x) # else # define ferror_unlocked(x) ferror (x) # endif # if HAVE_DECL_FFLUSH_UNLOCKED # undef fflush # define fflush(x) fflush_unlocked (x) # else # define fflush_unlocked(x) fflush (x) # endif # if HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(x,y,z) fgets_unlocked (x,y,z) # else # define fgets_unlocked(x,y,z) fgets (x,y,z) # endif # if HAVE_DECL_FPUTC_UNLOCKED # undef fputc # define fputc(x,y) fputc_unlocked (x,y) # else # define fputc_unlocked(x,y) fputc (x,y) # endif # if HAVE_DECL_FPUTS_UNLOCKED # undef fputs # define fputs(x,y) fputs_unlocked (x,y) # else # define fputs_unlocked(x,y) fputs (x,y) # endif # if HAVE_DECL_FREAD_UNLOCKED # undef fread # define fread(w,x,y,z) fread_unlocked (w,x,y,z) # else # define fread_unlocked(w,x,y,z) fread (w,x,y,z) # endif # if HAVE_DECL_FWRITE_UNLOCKED # undef fwrite # define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z) # else # define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) # endif # if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc(x) getc_unlocked (x) # else # define getc_unlocked(x) getc (x) # endif # if HAVE_DECL_GETCHAR_UNLOCKED # undef getchar # define getchar() getchar_unlocked () # else # define getchar_unlocked() getchar () # endif # if HAVE_DECL_PUTC_UNLOCKED # undef putc # define putc(x,y) putc_unlocked (x,y) # else # define putc_unlocked(x,y) putc (x,y) # endif # if HAVE_DECL_PUTCHAR_UNLOCKED # undef putchar # define putchar(x) putchar_unlocked (x) # else # define putchar_unlocked(x) putchar (x) # endif # undef flockfile # define flockfile(x) ((void) 0) # undef ftrylockfile # define ftrylockfile(x) 0 # undef funlockfile # define funlockfile(x) ((void) 0) #endif /* UNLOCKED_IO_H */ ������������������������������������������coreutils-8.21/lib/ctype.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003421�12071561006�013014� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A substitute for ISO C99 <ctype.h>, for platforms on which it is incomplete. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible. */ /* * ISO C 99 <ctype.h> for platforms on which it is incomplete. * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html> */ #ifndef _@GUARD_PREFIX@_CTYPE_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* Include the original <ctype.h>. */ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_CTYPE_H@ #ifndef _@GUARD_PREFIX@_CTYPE_H #define _@GUARD_PREFIX@_CTYPE_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Return non-zero if c is a blank, i.e. a space or tab character. */ #if @GNULIB_ISBLANK@ # if !@HAVE_ISBLANK@ _GL_EXTERN_C int isblank (int c); # endif #elif defined GNULIB_POSIXCHECK # undef isblank # if HAVE_RAW_DECL_ISBLANK _GL_WARN_ON_USE (isblank, "isblank is unportable - " "use gnulib module isblank for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_CTYPE_H */ #endif /* _@GUARD_PREFIX@_CTYPE_H */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-frexpl.h������������������������������������������������������������������0000664�0000000�0000000�00000002103�12071024546�014062� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Write a finite, positive number x as x = mantissa * 2^exp where exp >= LDBL_MIN_EXP - 1, mantissa < 2.0, if x is not a denormalized number then mantissa >= 1.0. Store exp in *EXPPTR and return mantissa. */ extern long double printf_frexpl (long double x, int *expptr); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/md5.h����������������������������������������������������������������������������0000664�0000000�0000000�00000010062�12071561011�011743� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declaration of functions and data types used for MD5 sum computing library functions. Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _MD5_H #define _MD5_H 1 #include <stdio.h> #include <stdint.h> #define MD5_DIGEST_SIZE 16 #define MD5_BLOCK_SIZE 64 #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #ifndef __THROW # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () # else # define __THROW # endif #endif #ifndef _LIBC # define __md5_buffer md5_buffer # define __md5_finish_ctx md5_finish_ctx # define __md5_init_ctx md5_init_ctx # define __md5_process_block md5_process_block # define __md5_process_bytes md5_process_bytes # define __md5_read_ctx md5_read_ctx # define __md5_stream md5_stream #endif # ifdef __cplusplus extern "C" { # endif /* Structure to save state of computation between the single steps. */ struct md5_ctx { uint32_t A; uint32_t B; uint32_t C; uint32_t D; uint32_t total[2]; uint32_t buflen; uint32_t buffer[32]; }; /* * The following three functions are build up the low level used in * the functions 'md5_stream' and 'md5_buffer'. */ /* Initialize structure containing state of computation. (RFC 1321, 3.3: Step 3) */ extern void __md5_init_ctx (struct md5_ctx *ctx) __THROW; /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void __md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) __THROW; /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void __md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) __THROW; /* Process the remaining bytes in the buffer and put result from CTX in first 16 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW; /* Put result from CTX in first 16 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW; /* Compute MD5 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ extern int __md5_stream (FILE *stream, void *resblock) __THROW; /* Compute MD5 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_buffer (const char *buffer, size_t len, void *resblock) __THROW; # ifdef __cplusplus } # endif #endif /* md5.h */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/exclude.c������������������������������������������������������������������������0000664�0000000�0000000�00000034056�12071024546�012722� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* exclude.c -- exclude file names Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert <eggert@twinsun.com> and Sergey Poznyakoff <gray@gnu.org>. Thanks to Phil Proudman <phil@proudman51.freeserve.co.uk> for improvement suggestions. */ #include <config.h> #include <stdbool.h> #include <ctype.h> #include <errno.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wctype.h> #include "exclude.h" #include "hash.h" #include "mbuiter.h" #include "fnmatch.h" #include "xalloc.h" #include "verify.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Non-GNU systems lack these options, so we don't need to check them. */ #ifndef FNM_CASEFOLD # define FNM_CASEFOLD 0 #endif #ifndef FNM_EXTMATCH # define FNM_EXTMATCH 0 #endif #ifndef FNM_LEADING_DIR # define FNM_LEADING_DIR 0 #endif verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS) & (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR | FNM_CASEFOLD | FNM_EXTMATCH)) == 0); /* Exclusion patterns are grouped into a singly-linked list of "exclusion segments". Each segment represents a set of patterns that can be matches using the same algorithm. Non-wildcard patterns are kept in hash tables, to speed up searches. Wildcard patterns are stored as arrays of patterns. */ /* An exclude pattern-options pair. The options are fnmatch options ORed with EXCLUDE_* options. */ struct patopts { char const *pattern; int options; }; /* An array of pattern-options pairs. */ struct exclude_pattern { struct patopts *exclude; size_t exclude_alloc; size_t exclude_count; }; enum exclude_type { exclude_hash, /* a hash table of excluded names */ exclude_pattern /* an array of exclude patterns */ }; struct exclude_segment { struct exclude_segment *next; /* next segment in list */ enum exclude_type type; /* type of this segment */ int options; /* common options for this segment */ union { Hash_table *table; /* for type == exclude_hash */ struct exclude_pattern pat; /* for type == exclude_pattern */ } v; }; /* The exclude structure keeps a singly-linked list of exclude segments, maintained in reverse order. */ struct exclude { struct exclude_segment *head; }; /* Return true if STR has or may have wildcards, when matched with OPTIONS. Return false if STR definitely does not have wildcards. */ bool fnmatch_pattern_has_wildcards (const char *str, int options) { while (1) { switch (*str++) { case '\\': str += ! (options & FNM_NOESCAPE) && *str; break; case '+': case '@': case '!': if (options & FNM_EXTMATCH && *str == '(') return true; break; case '?': case '*': case '[': return true; case '\0': return false; } } } static void unescape_pattern (char *str) { char const *q = str; do q += *q == '\\' && q[1]; while ((*str++ = *q++)); } /* Return a newly allocated and empty exclude list. */ struct exclude * new_exclude (void) { return xzalloc (sizeof *new_exclude ()); } /* Calculate the hash of string. */ static size_t string_hasher (void const *data, size_t n_buckets) { char const *p = data; return hash_string (p, n_buckets); } /* Ditto, for case-insensitive hashes */ static size_t string_hasher_ci (void const *data, size_t n_buckets) { char const *p = data; mbui_iterator_t iter; size_t value = 0; for (mbui_init (iter, p); mbui_avail (iter); mbui_advance (iter)) { mbchar_t m = mbui_cur (iter); wchar_t wc; if (m.wc_valid) wc = towlower (m.wc); else wc = *m.ptr; value = (value * 31 + wc) % n_buckets; } return value; } /* compare two strings for equality */ static bool string_compare (void const *data1, void const *data2) { char const *p1 = data1; char const *p2 = data2; return strcmp (p1, p2) == 0; } /* compare two strings for equality, case-insensitive */ static bool string_compare_ci (void const *data1, void const *data2) { char const *p1 = data1; char const *p2 = data2; return mbscasecmp (p1, p2) == 0; } static void string_free (void *data) { free (data); } /* Create new exclude segment of given TYPE and OPTIONS, and attach it to the head of EX. */ static void new_exclude_segment (struct exclude *ex, enum exclude_type type, int options) { struct exclude_segment *sp = xzalloc (sizeof (struct exclude_segment)); sp->type = type; sp->options = options; switch (type) { case exclude_pattern: break; case exclude_hash: sp->v.table = hash_initialize (0, NULL, (options & FNM_CASEFOLD) ? string_hasher_ci : string_hasher, (options & FNM_CASEFOLD) ? string_compare_ci : string_compare, string_free); break; } sp->next = ex->head; ex->head = sp; } /* Free a single exclude segment */ static void free_exclude_segment (struct exclude_segment *seg) { switch (seg->type) { case exclude_pattern: free (seg->v.pat.exclude); break; case exclude_hash: hash_free (seg->v.table); break; } free (seg); } /* Free the storage associated with an exclude list. */ void free_exclude (struct exclude *ex) { struct exclude_segment *seg; for (seg = ex->head; seg; ) { struct exclude_segment *next = seg->next; free_exclude_segment (seg); seg = next; } free (ex); } /* Return zero if PATTERN matches F, obeying OPTIONS, except that (unlike fnmatch) wildcards are disabled in PATTERN. */ static int fnmatch_no_wildcards (char const *pattern, char const *f, int options) { if (! (options & FNM_LEADING_DIR)) return ((options & FNM_CASEFOLD) ? mbscasecmp (pattern, f) : strcmp (pattern, f)); else if (! (options & FNM_CASEFOLD)) { size_t patlen = strlen (pattern); int r = strncmp (pattern, f, patlen); if (! r) { r = f[patlen]; if (r == '/') r = 0; } return r; } else { /* Walk through a copy of F, seeing whether P matches any prefix of F. FIXME: This is an O(N**2) algorithm; it should be O(N). Also, the copy should not be necessary. However, fixing this will probably involve a change to the mbs* API. */ char *fcopy = xstrdup (f); char *p; int r; for (p = fcopy; ; *p++ = '/') { p = strchr (p, '/'); if (p) *p = '\0'; r = mbscasecmp (pattern, fcopy); if (!p || r <= 0) break; } free (fcopy); return r; } } bool exclude_fnmatch (char const *pattern, char const *f, int options) { int (*matcher) (char const *, char const *, int) = (options & EXCLUDE_WILDCARDS ? fnmatch : fnmatch_no_wildcards); bool matched = ((*matcher) (pattern, f, options) == 0); char const *p; if (! (options & EXCLUDE_ANCHORED)) for (p = f; *p && ! matched; p++) if (*p == '/' && p[1] != '/') matched = ((*matcher) (pattern, p + 1, options) == 0); return matched; } /* Return true if the exclude_pattern segment SEG matches F. */ static bool file_pattern_matches (struct exclude_segment const *seg, char const *f) { size_t exclude_count = seg->v.pat.exclude_count; struct patopts const *exclude = seg->v.pat.exclude; size_t i; for (i = 0; i < exclude_count; i++) { char const *pattern = exclude[i].pattern; int options = exclude[i].options; if (exclude_fnmatch (pattern, f, options)) return true; } return false; } /* Return true if the exclude_hash segment SEG matches F. BUFFER is an auxiliary storage of the same length as F (with nul terminator included) */ static bool file_name_matches (struct exclude_segment const *seg, char const *f, char *buffer) { int options = seg->options; Hash_table *table = seg->v.table; do { /* initialize the pattern */ strcpy (buffer, f); while (1) { if (hash_lookup (table, buffer)) return true; if (options & FNM_LEADING_DIR) { char *p = strrchr (buffer, '/'); if (p) { *p = 0; continue; } } break; } if (!(options & EXCLUDE_ANCHORED)) { f = strchr (f, '/'); if (f) f++; } else break; } while (f); return false; } /* Return true if EX excludes F. */ bool excluded_file_name (struct exclude const *ex, char const *f) { struct exclude_segment *seg; bool invert = false; char *filename = NULL; /* If no patterns are given, the default is to include. */ if (!ex->head) return false; /* Scan through the segments, reporting the status of the first match. The segments are in reverse order, so this reports the status of the last match in the original option list. */ for (seg = ex->head; ; seg = seg->next) { if (seg->type == exclude_hash) { if (!filename) filename = xmalloc (strlen (f) + 1); if (file_name_matches (seg, f, filename)) break; } else { if (file_pattern_matches (seg, f)) break; } if (! seg->next) { /* If patterns are given but none match, the default is the opposite of the last segment (i.e., the first in the original option list). For example, in the command 'grep -r --exclude="a*" --include="*b" pat dir', the first option is --exclude so any file name matching neither a* nor *b is included. */ invert = true; break; } } free (filename); return invert ^ ! (seg->options & EXCLUDE_INCLUDE); } /* Append to EX the exclusion PATTERN with OPTIONS. */ void add_exclude (struct exclude *ex, char const *pattern, int options) { struct exclude_segment *seg; if ((options & EXCLUDE_WILDCARDS) && fnmatch_pattern_has_wildcards (pattern, options)) { struct exclude_pattern *pat; struct patopts *patopts; if (! (ex->head && ex->head->type == exclude_pattern && ((ex->head->options & EXCLUDE_INCLUDE) == (options & EXCLUDE_INCLUDE)))) new_exclude_segment (ex, exclude_pattern, options); seg = ex->head; pat = &seg->v.pat; if (pat->exclude_count == pat->exclude_alloc) pat->exclude = x2nrealloc (pat->exclude, &pat->exclude_alloc, sizeof *pat->exclude); patopts = &pat->exclude[pat->exclude_count++]; patopts->pattern = pattern; patopts->options = options; } else { char *str, *p; int exclude_hash_flags = (EXCLUDE_INCLUDE | EXCLUDE_ANCHORED | FNM_LEADING_DIR | FNM_CASEFOLD); if (! (ex->head && ex->head->type == exclude_hash && ((ex->head->options & exclude_hash_flags) == (options & exclude_hash_flags)))) new_exclude_segment (ex, exclude_hash, options); seg = ex->head; str = xstrdup (pattern); if ((options & (EXCLUDE_WILDCARDS | FNM_NOESCAPE)) == EXCLUDE_WILDCARDS) unescape_pattern (str); p = hash_insert (seg->v.table, str); if (p != str) free (str); } } /* Use ADD_FUNC to append to EX the patterns in FILE_NAME, each with OPTIONS. LINE_END terminates each pattern in the file. If LINE_END is a space character, ignore trailing spaces and empty lines in FILE. Return -1 on failure, 0 on success. */ int add_exclude_file (void (*add_func) (struct exclude *, char const *, int), struct exclude *ex, char const *file_name, int options, char line_end) { bool use_stdin = file_name[0] == '-' && !file_name[1]; FILE *in; char *buf = NULL; char *p; char const *pattern; char const *lim; size_t buf_alloc = 0; size_t buf_count = 0; int c; int e = 0; if (use_stdin) in = stdin; else if (! (in = fopen (file_name, "r"))) return -1; while ((c = getc (in)) != EOF) { if (buf_count == buf_alloc) buf = x2realloc (buf, &buf_alloc); buf[buf_count++] = c; } if (ferror (in)) e = errno; if (!use_stdin && fclose (in) != 0) e = errno; buf = xrealloc (buf, buf_count + 1); buf[buf_count] = line_end; lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end); pattern = buf; for (p = buf; p < lim; p++) if (*p == line_end) { char *pattern_end = p; if (isspace ((unsigned char) line_end)) { for (; ; pattern_end--) if (pattern_end == pattern) goto next_pattern; else if (! isspace ((unsigned char) pattern_end[-1])) break; } *pattern_end = '\0'; (*add_func) (ex, pattern, options); next_pattern: pattern = p + 1; } errno = e; return e ? -1 : 0; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/basename.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003345�12071024545�013040� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* basename.c -- return the last element in a file name Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "dirname.h" #include <string.h> #include "xalloc.h" #include "xstrndup.h" char * base_name (char const *name) { char const *base = last_component (name); size_t length; /* If there is no last component, then name is a file system root or the empty string. */ if (! *base) return xstrndup (name, base_len (name)); /* Collapse a sequence of trailing slashes into one. */ length = base_len (base); if (ISSLASH (base[length])) length++; /* On systems with drive letters, "a/b:c" must return "./b:c" rather than "b:c" to avoid confusion with a drive letter. On systems with pure POSIX semantics, this is not an issue. */ if (FILE_SYSTEM_PREFIX_LEN (base)) { char *p = xmalloc (length + 3); p[0] = '.'; p[1] = '/'; memcpy (p + 2, base, length); p[length + 2] = '\0'; return p; } /* Finally, copy the basename. */ return xstrndup (base, length); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hash.h���������������������������������������������������������������������������0000664�0000000�0000000�00000010401�12071024546�012205� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hash - hashing table processing. Copyright (C) 1998-1999, 2001, 2003, 2009-2013 Free Software Foundation, Inc. Written by Jim Meyering <meyering@ascend.com>, 1998. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* A generic hash table package. */ /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use obstacks instead of malloc, and recompile 'hash.c' with same setting. */ #ifndef HASH_H_ # define HASH_H_ # include <stdio.h> # include <stdbool.h> /* The __attribute__ feature is available in gcc versions 2.5 and later. The warn_unused_result attribute appeared first in gcc-3.4.0. */ # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) # define _GL_ATTRIBUTE_WUR __attribute__ ((__warn_unused_result__)) # else # define _GL_ATTRIBUTE_WUR /* empty */ # endif # ifndef _GL_ATTRIBUTE_DEPRECATED /* The __attribute__((__deprecated__)) feature is available in gcc versions 3.1 and newer. */ # if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1) # define _GL_ATTRIBUTE_DEPRECATED /* empty */ # else # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) # endif # endif typedef size_t (*Hash_hasher) (const void *, size_t); typedef bool (*Hash_comparator) (const void *, const void *); typedef void (*Hash_data_freer) (void *); typedef bool (*Hash_processor) (void *, void *); struct hash_tuning { /* This structure is mainly used for 'hash_initialize', see the block documentation of 'hash_reset_tuning' for more complete comments. */ float shrink_threshold; /* ratio of used buckets to trigger a shrink */ float shrink_factor; /* ratio of new smaller size to original size */ float growth_threshold; /* ratio of used buckets to trigger a growth */ float growth_factor; /* ratio of new bigger size to original size */ bool is_n_buckets; /* if CANDIDATE really means table size */ }; typedef struct hash_tuning Hash_tuning; struct hash_table; typedef struct hash_table Hash_table; /* Information and lookup. */ size_t hash_get_n_buckets (const Hash_table *) _GL_ATTRIBUTE_PURE; size_t hash_get_n_buckets_used (const Hash_table *) _GL_ATTRIBUTE_PURE; size_t hash_get_n_entries (const Hash_table *) _GL_ATTRIBUTE_PURE; size_t hash_get_max_bucket_length (const Hash_table *) _GL_ATTRIBUTE_PURE; bool hash_table_ok (const Hash_table *) _GL_ATTRIBUTE_PURE; void hash_print_statistics (const Hash_table *, FILE *); void *hash_lookup (const Hash_table *, const void *); /* Walking. */ void *hash_get_first (const Hash_table *) _GL_ATTRIBUTE_PURE; void *hash_get_next (const Hash_table *, const void *); size_t hash_get_entries (const Hash_table *, void **, size_t); size_t hash_do_for_each (const Hash_table *, Hash_processor, void *); /* Allocation and clean-up. */ size_t hash_string (const char *, size_t) _GL_ATTRIBUTE_PURE; void hash_reset_tuning (Hash_tuning *); Hash_table *hash_initialize (size_t, const Hash_tuning *, Hash_hasher, Hash_comparator, Hash_data_freer) _GL_ATTRIBUTE_WUR; void hash_clear (Hash_table *); void hash_free (Hash_table *); /* Insertion and deletion. */ bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR; void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR; /* Deprecate this interface. It has been renamed to hash_insert_if_absent. */ int hash_insert0 (Hash_table *table, /* FIXME: remove in 2013 */ const void *entry, const void **matched_ent) _GL_ATTRIBUTE_DEPRECATED; int hash_insert_if_absent (Hash_table *table, const void *entry, const void **matched_ent); void *hash_delete (Hash_table *, const void *); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readtokens0.h��������������������������������������������������������������������0000664�0000000�0000000�00000002500�12071024546�013502� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* readtokens0.h -- read NUL-separated tokens from an input stream. Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Jim Meyering. */ #ifndef READTOKENS0_H # define READTOKENS0_H 1 # include <stdio.h> # include <sys/types.h> # include <stdbool.h> # include "obstack.h" struct Tokens { size_t n_tok; char **tok; size_t *tok_len; struct obstack o_data; /* Contains data pointed to by each tok[i]. */ struct obstack o_tok; /* array of pointers to tokens */ struct obstack o_tok_len; /* array of token lengths */ }; void readtokens0_init (struct Tokens *t); void readtokens0_free (struct Tokens *t); bool readtokens0 (FILE *in, struct Tokens *t); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsrtowcs-state.c����������������������������������������������������������������0000664�0000000�0000000�00000003124�12071024546�014422� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string to wide string. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <wchar.h> /* Internal state used by the functions mbsrtowcs() and mbsnrtowcs(). */ mbstate_t _gl_mbsrtowcs_state /* The state must initially be in the "initial state"; so, zero-initialize it. On most systems, putting it into BSS is sufficient. Not so on Mac OS X 10.3, see <http://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00329.html>. When it needs an initializer, use 0 or {0} as initializer? 0 only works when mbstate_t is a scalar type (such as when gnulib defines it, or on AIX, IRIX, mingw). {0} works as an initializer in all cases: for a struct or union type, but also for a scalar type (ISO C 99, 6.7.8.(11)). */ #if defined __ELF__ /* On ELF systems, variables in BSS behave well. */ #else /* Use braces, to be on the safe side. */ = { 0 } #endif ; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fnmatch_loop.c�������������������������������������������������������������������0000664�0000000�0000000�00000131640�12071561007�013735� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1993, 1996-2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Match STRING against the file name pattern PATTERN, returning zero if it matches, nonzero if not. */ static int EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) internal_function; static const CHAR *END (const CHAR *patternp) internal_function; static int internal_function FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) { register const CHAR *p = pattern, *n = string; register UCHAR c; #ifdef _LIBC # if WIDE_CHAR_VERSION const char *collseq = (const char *) _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQWC); # else const UCHAR *collseq = (const UCHAR *) _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQMB); # endif #endif while ((c = *p++) != L_('\0')) { bool new_no_leading_period = false; c = FOLD (c); switch (c) { case L_('?'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } if (n == string_end) return FNM_NOMATCH; else if (*n == L_('/') && (flags & FNM_FILE_NAME)) return FNM_NOMATCH; else if (*n == L_('.') && no_leading_period) return FNM_NOMATCH; break; case L_('\\'): if (!(flags & FNM_NOESCAPE)) { c = *p++; if (c == L_('\0')) /* Trailing \ loses. */ return FNM_NOMATCH; c = FOLD (c); } if (n == string_end || FOLD ((UCHAR) *n) != c) return FNM_NOMATCH; break; case L_('*'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } if (n != string_end && *n == L_('.') && no_leading_period) return FNM_NOMATCH; for (c = *p++; c == L_('?') || c == L_('*'); c = *p++) { if (*p == L_('(') && (flags & FNM_EXTMATCH) != 0) { const CHAR *endp = END (p); if (endp != p) { /* This is a pattern. Skip over it. */ p = endp; continue; } } if (c == L_('?')) { /* A ? needs to match one character. */ if (n == string_end) /* There isn't another character; no match. */ return FNM_NOMATCH; else if (*n == L_('/') && __builtin_expect (flags & FNM_FILE_NAME, 0)) /* A slash does not match a wildcard under FNM_FILE_NAME. */ return FNM_NOMATCH; else /* One character of the string is consumed in matching this ? wildcard, so *??? won't match if there are less than three characters. */ ++n; } } if (c == L_('\0')) /* The wildcard(s) is/are the last element of the pattern. If the name is a file name and contains another slash this means it cannot match, unless the FNM_LEADING_DIR flag is set. */ { int result = (flags & FNM_FILE_NAME) == 0 ? 0 : FNM_NOMATCH; if (flags & FNM_FILE_NAME) { if (flags & FNM_LEADING_DIR) result = 0; else { if (MEMCHR (n, L_('/'), string_end - n) == NULL) result = 0; } } return result; } else { const CHAR *endp; endp = MEMCHR (n, (flags & FNM_FILE_NAME) ? L_('/') : L_('\0'), string_end - n); if (endp == NULL) endp = string_end; if (c == L_('[') || (__builtin_expect (flags & FNM_EXTMATCH, 0) != 0 && (c == L_('@') || c == L_('+') || c == L_('!')) && *p == L_('('))) { int flags2 = ((flags & FNM_FILE_NAME) ? flags : (flags & ~FNM_PERIOD)); bool no_leading_period2 = no_leading_period; for (--p; n < endp; ++n, no_leading_period2 = false) if (FCT (p, n, string_end, no_leading_period2, flags2) == 0) return 0; } else if (c == L_('/') && (flags & FNM_FILE_NAME)) { while (n < string_end && *n != L_('/')) ++n; if (n < string_end && *n == L_('/') && (FCT (p, n + 1, string_end, flags & FNM_PERIOD, flags) == 0)) return 0; } else { int flags2 = ((flags & FNM_FILE_NAME) ? flags : (flags & ~FNM_PERIOD)); int no_leading_period2 = no_leading_period; if (c == L_('\\') && !(flags & FNM_NOESCAPE)) c = *p; c = FOLD (c); for (--p; n < endp; ++n, no_leading_period2 = false) if (FOLD ((UCHAR) *n) == c && (FCT (p, n, string_end, no_leading_period2, flags2) == 0)) return 0; } } /* If we come here no match is possible with the wildcard. */ return FNM_NOMATCH; case L_('['): { /* Nonzero if the sense of the character class is inverted. */ const CHAR *p_init = p; const CHAR *n_init = n; register bool not; CHAR cold; UCHAR fn; if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; if (n == string_end) return FNM_NOMATCH; if (*n == L_('.') && no_leading_period) return FNM_NOMATCH; if (*n == L_('/') && (flags & FNM_FILE_NAME)) /* '/' cannot be matched. */ return FNM_NOMATCH; not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^'))); if (not) ++p; fn = FOLD ((UCHAR) *n); c = *p++; for (;;) { if (!(flags & FNM_NOESCAPE) && c == L_('\\')) { if (*p == L_('\0')) return FNM_NOMATCH; c = FOLD ((UCHAR) *p); ++p; goto normal_bracket; } else if (c == L_('[') && *p == L_(':')) { /* Leave room for the null. */ CHAR str[CHAR_CLASS_MAX_LENGTH + 1]; size_t c1 = 0; #if defined _LIBC || WIDE_CHAR_SUPPORT wctype_t wt; #endif const CHAR *startp = p; for (;;) { if (c1 == CHAR_CLASS_MAX_LENGTH) /* The name is too long and therefore the pattern is ill-formed. */ return FNM_NOMATCH; c = *++p; if (c == L_(':') && p[1] == L_(']')) { p += 2; break; } if (c < L_('a') || c >= L_('z')) { /* This cannot possibly be a character class name. Match it as a normal range. */ p = startp; c = L_('['); goto normal_bracket; } str[c1++] = c; } str[c1] = L_('\0'); #if defined _LIBC || WIDE_CHAR_SUPPORT wt = IS_CHAR_CLASS (str); if (wt == 0) /* Invalid character class name. */ return FNM_NOMATCH; # if defined _LIBC && ! WIDE_CHAR_VERSION /* The following code is glibc specific but does there a good job in speeding up the code since we can avoid the btowc() call. */ if (_ISCTYPE ((UCHAR) *n, wt)) goto matched; # else if (ISWCTYPE (BTOWC ((UCHAR) *n), wt)) goto matched; # endif #else if ((STREQ (str, L_("alnum")) && isalnum ((UCHAR) *n)) || (STREQ (str, L_("alpha")) && isalpha ((UCHAR) *n)) || (STREQ (str, L_("blank")) && isblank ((UCHAR) *n)) || (STREQ (str, L_("cntrl")) && iscntrl ((UCHAR) *n)) || (STREQ (str, L_("digit")) && isdigit ((UCHAR) *n)) || (STREQ (str, L_("graph")) && isgraph ((UCHAR) *n)) || (STREQ (str, L_("lower")) && islower ((UCHAR) *n)) || (STREQ (str, L_("print")) && isprint ((UCHAR) *n)) || (STREQ (str, L_("punct")) && ispunct ((UCHAR) *n)) || (STREQ (str, L_("space")) && isspace ((UCHAR) *n)) || (STREQ (str, L_("upper")) && isupper ((UCHAR) *n)) || (STREQ (str, L_("xdigit")) && isxdigit ((UCHAR) *n))) goto matched; #endif c = *p++; } #ifdef _LIBC else if (c == L_('[') && *p == L_('=')) { UCHAR str[1]; uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; c = *++p; if (c == L_('\0')) { p = startp; c = L_('['); goto normal_bracket; } str[0] = c; c = *++p; if (c != L_('=') || p[1] != L_(']')) { p = startp; c = L_('['); goto normal_bracket; } p += 2; if (nrules == 0) { if ((UCHAR) *n == str[0]) goto matched; } else { const int32_t *table; # if WIDE_CHAR_VERSION const int32_t *weights; const int32_t *extra; # else const unsigned char *weights; const unsigned char *extra; # endif const int32_t *indirect; int32_t idx; const UCHAR *cp = (const UCHAR *) str; /* This #include defines a local function! */ # if WIDE_CHAR_VERSION # include <locale/weightwc.h> # else # include <locale/weight.h> # endif # if WIDE_CHAR_VERSION table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEWC); weights = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTWC); extra = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAWC); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTWC); # else table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); # endif idx = findidx (&cp); if (idx != 0) { /* We found a table entry. Now see whether the character we are currently at has the same equivalence class value. */ int len = weights[idx & 0xffffff]; int32_t idx2; const UCHAR *np = (const UCHAR *) n; idx2 = findidx (&np); if (idx2 != 0 && (idx >> 24) == (idx2 >> 24) && len == weights[idx2 & 0xffffff]) { int cnt = 0; idx &= 0xffffff; idx2 &= 0xffffff; while (cnt < len && (weights[idx + 1 + cnt] == weights[idx2 + 1 + cnt])) ++cnt; if (cnt == len) goto matched; } } } c = *p++; } #endif else if (c == L_('\0')) { /* [ unterminated, treat as normal character. */ p = p_init; n = n_init; c = L_('['); goto normal_match; } else { bool is_range = false; #ifdef _LIBC bool is_seqval = false; if (c == L_('[') && *p == L_('.')) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; size_t c1 = 0; while (1) { c = *++p; if (c == L_('.') && p[1] == L_(']')) { p += 2; break; } if (c == '\0') return FNM_NOMATCH; ++c1; } /* We have to handling the symbols differently in ranges since then the collation sequence is important. */ is_range = *p == L_('-') && p[1] != L_('\0'); if (nrules == 0) { /* There are no names defined in the collation data. Therefore we only accept the trivial names consisting of the character itself. */ if (c1 != 1) return FNM_NOMATCH; if (!is_range && *n == startp[1]) goto matched; cold = startp[1]; c = *p++; } else { int32_t table_size; const int32_t *symb_table; # ifdef WIDE_CHAR_VERSION char str[c1]; size_t strcnt; # else # define str (startp + 1) # endif const unsigned char *extra; int32_t idx; int32_t elem; int32_t second; int32_t hash; # ifdef WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal representation is UCS4. */ for (strcnt = 0; strcnt < c1; ++strcnt) str[strcnt] = startp[1 + strcnt]; # endif table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); /* Locate the character in the hashing table. */ hash = elem_hash (str, c1); idx = 0; elem = hash % table_size; if (symb_table[2 * elem] != 0) { second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash && (c1 == extra[symb_table[2 * elem + 1]]) && memcmp (str, &extra[symb_table[2 * elem + 1] + 1], c1) == 0) { /* Yep, this is the entry. */ idx = symb_table[2 * elem + 1]; idx += 1 + extra[idx]; break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } if (symb_table[2 * elem] != 0) { /* Compare the byte sequence but only if this is not part of a range. */ # ifdef WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; wextra = (int32_t *) &extra[idx + 4]; # endif if (! is_range) { # ifdef WIDE_CHAR_VERSION for (c1 = 0; (int32_t) c1 < wextra[idx]; ++c1) if (n[c1] != wextra[1 + c1]) break; if ((int32_t) c1 == wextra[idx]) goto matched; # else for (c1 = 0; c1 < extra[idx]; ++c1) if (n[c1] != extra[1 + c1]) break; if (c1 == extra[idx]) goto matched; # endif } /* Get the collation sequence value. */ is_seqval = true; # ifdef WIDE_CHAR_VERSION cold = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ idx += 1 + extra[idx]; idx = (idx + 3) & ~4; cold = *((int32_t *) &extra[idx]); # endif c = *p++; } else if (c1 == 1) { /* No valid character. Match it as a single byte. */ if (!is_range && *n == str[0]) goto matched; cold = str[0]; c = *p++; } else return FNM_NOMATCH; } } else # undef str #endif { c = FOLD (c); normal_bracket: /* We have to handling the symbols differently in ranges since then the collation sequence is important. */ is_range = (*p == L_('-') && p[1] != L_('\0') && p[1] != L_(']')); if (!is_range && c == fn) goto matched; #if _LIBC /* This is needed if we goto normal_bracket; from outside of is_seqval's scope. */ is_seqval = false; #endif cold = c; c = *p++; } if (c == L_('-') && *p != L_(']')) { #if _LIBC /* We have to find the collation sequence value for C. Collation sequence is nothing we can regularly access. The sequence value is defined by the order in which the definitions of the collation values for the various characters appear in the source file. A strange concept, nowhere documented. */ uint32_t fcollseq; uint32_t lcollseq; UCHAR cend = *p++; # ifdef WIDE_CHAR_VERSION /* Search in the 'names' array for the characters. */ fcollseq = __collseq_table_lookup (collseq, fn); if (fcollseq == ~((uint32_t) 0)) /* XXX We don't know anything about the character we are supposed to match. This means we are failing. */ goto range_not_matched; if (is_seqval) lcollseq = cold; else lcollseq = __collseq_table_lookup (collseq, cold); # else fcollseq = collseq[fn]; lcollseq = is_seqval ? cold : collseq[(UCHAR) cold]; # endif is_seqval = false; if (cend == L_('[') && *p == L_('.')) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; size_t c1 = 0; while (1) { c = *++p; if (c == L_('.') && p[1] == L_(']')) { p += 2; break; } if (c == '\0') return FNM_NOMATCH; ++c1; } if (nrules == 0) { /* There are no names defined in the collation data. Therefore we only accept the trivial names consisting of the character itself. */ if (c1 != 1) return FNM_NOMATCH; cend = startp[1]; } else { int32_t table_size; const int32_t *symb_table; # ifdef WIDE_CHAR_VERSION char str[c1]; size_t strcnt; # else # define str (startp + 1) # endif const unsigned char *extra; int32_t idx; int32_t elem; int32_t second; int32_t hash; # ifdef WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal representation is UCS4. */ for (strcnt = 0; strcnt < c1; ++strcnt) str[strcnt] = startp[1 + strcnt]; # endif table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); /* Locate the character in the hashing table. */ hash = elem_hash (str, c1); idx = 0; elem = hash % table_size; if (symb_table[2 * elem] != 0) { second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash && (c1 == extra[symb_table[2 * elem + 1]]) && memcmp (str, &extra[symb_table[2 * elem + 1] + 1], c1) == 0) { /* Yep, this is the entry. */ idx = symb_table[2 * elem + 1]; idx += 1 + extra[idx]; break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } if (symb_table[2 * elem] != 0) { /* Compare the byte sequence but only if this is not part of a range. */ # ifdef WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~4; wextra = (int32_t *) &extra[idx + 4]; # endif /* Get the collation sequence value. */ is_seqval = true; # ifdef WIDE_CHAR_VERSION cend = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ idx += 1 + extra[idx]; idx = (idx + 3) & ~4; cend = *((int32_t *) &extra[idx]); # endif } else if (symb_table[2 * elem] != 0 && c1 == 1) { cend = str[0]; c = *p++; } else return FNM_NOMATCH; } # undef str } else { if (!(flags & FNM_NOESCAPE) && cend == L_('\\')) cend = *p++; if (cend == L_('\0')) return FNM_NOMATCH; cend = FOLD (cend); } /* XXX It is not entirely clear to me how to handle characters which are not mentioned in the collation specification. */ if ( # ifdef WIDE_CHAR_VERSION lcollseq == 0xffffffff || # endif lcollseq <= fcollseq) { /* We have to look at the upper bound. */ uint32_t hcollseq; if (is_seqval) hcollseq = cend; else { # ifdef WIDE_CHAR_VERSION hcollseq = __collseq_table_lookup (collseq, cend); if (hcollseq == ~((uint32_t) 0)) { /* Hum, no information about the upper bound. The matching succeeds if the lower bound is matched exactly. */ if (lcollseq != fcollseq) goto range_not_matched; goto matched; } # else hcollseq = collseq[cend]; # endif } if (lcollseq <= hcollseq && fcollseq <= hcollseq) goto matched; } # ifdef WIDE_CHAR_VERSION range_not_matched: # endif #else /* We use a boring value comparison of the character values. This is better than comparing using 'strcoll' since the latter would have surprising and sometimes fatal consequences. */ UCHAR cend = *p++; if (!(flags & FNM_NOESCAPE) && cend == L_('\\')) cend = *p++; if (cend == L_('\0')) return FNM_NOMATCH; /* It is a range. */ if (cold <= fn && fn <= cend) goto matched; #endif c = *p++; } } if (c == L_(']')) break; } if (!not) return FNM_NOMATCH; break; matched: /* Skip the rest of the [...] that already matched. */ do { ignore_next: c = *p++; if (c == L_('\0')) /* [... (unterminated) loses. */ return FNM_NOMATCH; if (!(flags & FNM_NOESCAPE) && c == L_('\\')) { if (*p == L_('\0')) return FNM_NOMATCH; /* XXX 1003.2d11 is unclear if this is right. */ ++p; } else if (c == L_('[') && *p == L_(':')) { int c1 = 0; const CHAR *startp = p; while (1) { c = *++p; if (++c1 == CHAR_CLASS_MAX_LENGTH) return FNM_NOMATCH; if (*p == L_(':') && p[1] == L_(']')) break; if (c < L_('a') || c >= L_('z')) { p = startp; goto ignore_next; } } p += 2; c = *p++; } else if (c == L_('[') && *p == L_('=')) { c = *++p; if (c == L_('\0')) return FNM_NOMATCH; c = *++p; if (c != L_('=') || p[1] != L_(']')) return FNM_NOMATCH; p += 2; c = *p++; } else if (c == L_('[') && *p == L_('.')) { ++p; while (1) { c = *++p; if (c == '\0') return FNM_NOMATCH; if (*p == L_('.') && p[1] == L_(']')) break; } p += 2; c = *p++; } } while (c != L_(']')); if (not) return FNM_NOMATCH; } break; case L_('+'): case L_('@'): case L_('!'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } goto normal_match; case L_('/'): if (NO_LEADING_PERIOD (flags)) { if (n == string_end || c != (UCHAR) *n) return FNM_NOMATCH; new_no_leading_period = true; break; } /* FALLTHROUGH */ default: normal_match: if (n == string_end || c != FOLD ((UCHAR) *n)) return FNM_NOMATCH; } no_leading_period = new_no_leading_period; ++n; } if (n == string_end) return 0; if ((flags & FNM_LEADING_DIR) && n != string_end && *n == L_('/')) /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */ return 0; return FNM_NOMATCH; } static const CHAR * internal_function END (const CHAR *pattern) { const CHAR *p = pattern; while (1) if (*++p == L_('\0')) /* This is an invalid pattern. */ return pattern; else if (*p == L_('[')) { /* Handle brackets special. */ if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; /* Skip the not sign. We have to recognize it because of a possibly following ']'. */ if (*++p == L_('!') || (posixly_correct < 0 && *p == L_('^'))) ++p; /* A leading ']' is recognized as such. */ if (*p == L_(']')) ++p; /* Skip over all characters of the list. */ while (*p != L_(']')) if (*p++ == L_('\0')) /* This is no valid pattern. */ return pattern; } else if ((*p == L_('?') || *p == L_('*') || *p == L_('+') || *p == L_('@') || *p == L_('!')) && p[1] == L_('(')) p = END (p + 1); else if (*p == L_(')')) break; return p + 1; } static int internal_function EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) { const CHAR *startp; size_t level; struct patternlist { struct patternlist *next; CHAR str[1]; } *list = NULL; struct patternlist **lastp = &list; size_t pattern_len = STRLEN (pattern); const CHAR *p; const CHAR *rs; enum { ALLOCA_LIMIT = 8000 }; /* Parse the pattern. Store the individual parts in the list. */ level = 0; for (startp = p = pattern + 1; ; ++p) if (*p == L_('\0')) /* This is an invalid pattern. */ return -1; else if (*p == L_('[')) { /* Handle brackets special. */ if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; /* Skip the not sign. We have to recognize it because of a possibly following ']'. */ if (*++p == L_('!') || (posixly_correct < 0 && *p == L_('^'))) ++p; /* A leading ']' is recognized as such. */ if (*p == L_(']')) ++p; /* Skip over all characters of the list. */ while (*p != L_(']')) if (*p++ == L_('\0')) /* This is no valid pattern. */ return -1; } else if ((*p == L_('?') || *p == L_('*') || *p == L_('+') || *p == L_('@') || *p == L_('!')) && p[1] == L_('(')) /* Remember the nesting level. */ ++level; else if (*p == L_(')')) { if (level-- == 0) { /* This means we found the end of the pattern. */ #define NEW_PATTERN \ struct patternlist *newp; \ size_t plen; \ size_t plensize; \ size_t newpsize; \ \ plen = (opt == L_('?') || opt == L_('@') \ ? pattern_len \ : p - startp + 1UL); \ plensize = plen * sizeof (CHAR); \ newpsize = offsetof (struct patternlist, str) + plensize; \ if ((size_t) -1 / sizeof (CHAR) < plen \ || newpsize < offsetof (struct patternlist, str) \ || ALLOCA_LIMIT <= newpsize) \ return -1; \ newp = (struct patternlist *) alloca (newpsize); \ *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L_('\0'); \ newp->next = NULL; \ *lastp = newp; \ lastp = &newp->next NEW_PATTERN; break; } } else if (*p == L_('|')) { if (level == 0) { NEW_PATTERN; startp = p + 1; } } assert (list != NULL); assert (p[-1] == L_(')')); #undef NEW_PATTERN switch (opt) { case L_('*'): if (FCT (p, string, string_end, no_leading_period, flags) == 0) return 0; /* FALLTHROUGH */ case L_('+'): do { for (rs = string; rs <= string_end; ++rs) /* First match the prefix with the current pattern with the current pattern. */ if (FCT (list->str, string, rs, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0 /* This was successful. Now match the rest with the rest of the pattern. */ && (FCT (p, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0 /* This didn't work. Try the whole pattern. */ || (rs != string && FCT (pattern - 1, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0))) /* It worked. Signal success. */ return 0; } while ((list = list->next) != NULL); /* None of the patterns lead to a match. */ return FNM_NOMATCH; case L_('?'): if (FCT (p, string, string_end, no_leading_period, flags) == 0) return 0; /* FALLTHROUGH */ case L_('@'): do /* I cannot believe it but 'strcat' is actually acceptable here. Match the entire string with the prefix from the pattern list and the rest of the pattern following the pattern list. */ if (FCT (STRCAT (list->str, p), string, string_end, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0) /* It worked. Signal success. */ return 0; while ((list = list->next) != NULL); /* None of the patterns lead to a match. */ return FNM_NOMATCH; case L_('!'): for (rs = string; rs <= string_end; ++rs) { struct patternlist *runp; for (runp = list; runp != NULL; runp = runp->next) if (FCT (runp->str, string, rs, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0) break; /* If none of the patterns matched see whether the rest does. */ if (runp == NULL && (FCT (p, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0)) /* This is successful. */ return 0; } /* None of the patterns together with the rest of the pattern lead to a match. */ return FNM_NOMATCH; default: assert (! "Invalid extended matching operator"); break; } return -1; } #undef FOLD #undef CHAR #undef UCHAR #undef INT #undef FCT #undef EXT #undef END #undef MEMPCPY #undef MEMCHR #undef STRLEN #undef STRCAT #undef L_ #undef BTOWC ������������������������������������������������������������������������������������������������coreutils-8.21/lib/copy-acl.c�����������������������������������������������������������������������0000664�0000000�0000000�00000040624�12071024546�012776� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* copy-acl.c - copy access control list from one file to another file Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ #include <config.h> #include "acl.h" #include "acl-internal.h" #include "gettext.h" #define _(msgid) gettext (msgid) /* Copy access control lists from one file to another. If SOURCE_DESC is a valid file descriptor, use file descriptor operations, else use filename based operations on SRC_NAME. Likewise for DEST_DESC and DST_NAME. If access control lists are not available, fchmod the target file to MODE. Also sets the non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set. Return 0 if successful. Return -2 and set errno for an error relating to the source file. Return -1 and set errno for an error relating to the destination file. */ int qcopy_acl (const char *src_name, int source_desc, const char *dst_name, int dest_desc, mode_t mode) { #if USE_ACL && HAVE_ACL_GET_FILE /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ # if !HAVE_ACL_TYPE_EXTENDED /* Linux, FreeBSD, IRIX, Tru64 */ acl_t acl; int ret; if (HAVE_ACL_GET_FD && source_desc != -1) acl = acl_get_fd (source_desc); else acl = acl_get_file (src_name, ACL_TYPE_ACCESS); if (acl == NULL) { if (ACL_NOT_WELL_SUPPORTED (errno)) return qset_acl (dst_name, dest_desc, mode); else return -2; } if (HAVE_ACL_SET_FD && dest_desc != -1) ret = acl_set_fd (dest_desc, acl); else ret = acl_set_file (dst_name, ACL_TYPE_ACCESS, acl); if (ret != 0) { int saved_errno = errno; if (ACL_NOT_WELL_SUPPORTED (errno) && !acl_access_nontrivial (acl)) { acl_free (acl); return chmod_or_fchmod (dst_name, dest_desc, mode); } else { acl_free (acl); chmod_or_fchmod (dst_name, dest_desc, mode); errno = saved_errno; return -1; } } else acl_free (acl); if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { /* We did not call chmod so far, and either the mode and the ACL are separate or special bits are to be set which don't fit into ACLs. */ if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) return -1; } if (S_ISDIR (mode)) { acl = acl_get_file (src_name, ACL_TYPE_DEFAULT); if (acl == NULL) return -2; if (acl_set_file (dst_name, ACL_TYPE_DEFAULT, acl)) { int saved_errno = errno; acl_free (acl); errno = saved_errno; return -1; } else acl_free (acl); } return 0; # else /* HAVE_ACL_TYPE_EXTENDED */ /* Mac OS X */ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) always return NULL / EINVAL. You have to use acl_get_file (name, ACL_TYPE_EXTENDED) or acl_get_fd (open (name, ...)) to retrieve an ACL. On the other hand, acl_set_file (name, ACL_TYPE_ACCESS, acl) and acl_set_file (name, ACL_TYPE_DEFAULT, acl) have the same effect as acl_set_file (name, ACL_TYPE_EXTENDED, acl): Each of these calls sets the file's ACL. */ acl_t acl; int ret; if (HAVE_ACL_GET_FD && source_desc != -1) acl = acl_get_fd (source_desc); else acl = acl_get_file (src_name, ACL_TYPE_EXTENDED); if (acl == NULL) { if (ACL_NOT_WELL_SUPPORTED (errno)) return qset_acl (dst_name, dest_desc, mode); else return -2; } if (HAVE_ACL_SET_FD && dest_desc != -1) ret = acl_set_fd (dest_desc, acl); else ret = acl_set_file (dst_name, ACL_TYPE_EXTENDED, acl); if (ret != 0) { int saved_errno = errno; if (ACL_NOT_WELL_SUPPORTED (errno) && !acl_extended_nontrivial (acl)) { acl_free (acl); return chmod_or_fchmod (dst_name, dest_desc, mode); } else { acl_free (acl); chmod_or_fchmod (dst_name, dest_desc, mode); errno = saved_errno; return -1; } } else acl_free (acl); /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */ return chmod_or_fchmod (dst_name, dest_desc, mode); # endif #elif USE_ACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions of Unixware. The acl() call returns the access and default ACL both at once. */ # ifdef ACE_GETACL int ace_count; ace_t *ace_entries; # endif int count; aclent_t *entries; int did_chmod; int saved_errno; int ret; # ifdef ACE_GETACL /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 file systems (whereas the other ones are used in UFS file systems). There is an API pathconf (name, _PC_ACL_ENABLED) fpathconf (desc, _PC_ACL_ENABLED) that allows to determine which of the two kinds of ACLs is supported for the given file. But some file systems may implement this call incorrectly, so better not use it. When fetching the source ACL, we simply fetch both ACL types. When setting the destination ACL, we try either ACL types, assuming that the kernel will translate the ACL from one form to the other. (See in <http://docs.sun.com/app/docs/doc/819-2241/6n4huc7ia?l=en&a=view> the description of ENOTSUP.) */ for (;;) { ace_count = (source_desc != -1 ? facl (source_desc, ACE_GETACLCNT, 0, NULL) : acl (src_name, ACE_GETACLCNT, 0, NULL)); if (ace_count < 0) { if (errno == ENOSYS || errno == EINVAL) { ace_count = 0; ace_entries = NULL; break; } else return -2; } if (ace_count == 0) { ace_entries = NULL; break; } ace_entries = (ace_t *) malloc (ace_count * sizeof (ace_t)); if (ace_entries == NULL) { errno = ENOMEM; return -2; } ret = (source_desc != -1 ? facl (source_desc, ACE_GETACL, ace_count, ace_entries) : acl (src_name, ACE_GETACL, ace_count, ace_entries)); if (ret < 0) { free (ace_entries); if (errno == ENOSYS || errno == EINVAL) { ace_count = 0; ace_entries = NULL; break; } else return -2; } if (ret == ace_count) break; /* Huh? The number of ACL entries changed since the last call. Repeat. */ } # endif for (;;) { count = (source_desc != -1 ? facl (source_desc, GETACLCNT, 0, NULL) : acl (src_name, GETACLCNT, 0, NULL)); if (count < 0) { if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP) { count = 0; entries = NULL; break; } else return -2; } if (count == 0) { entries = NULL; break; } entries = (aclent_t *) malloc (count * sizeof (aclent_t)); if (entries == NULL) { errno = ENOMEM; return -2; } if ((source_desc != -1 ? facl (source_desc, GETACL, count, entries) : acl (src_name, GETACL, count, entries)) == count) break; /* Huh? The number of ACL entries changed since the last call. Repeat. */ } /* Is there an ACL of either kind? */ # ifdef ACE_GETACL if (ace_count == 0) # endif if (count == 0) return qset_acl (dst_name, dest_desc, mode); did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */ saved_errno = 0; /* the first non-ignorable error code */ if (!MODE_INSIDE_ACL) { /* On Cygwin, it is necessary to call chmod before acl, because chmod can change the contents of the ACL (in ways that don't change the allowed accesses, but still visible). */ if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) saved_errno = errno; did_chmod = 1; } /* If both ace_entries and entries are available, try SETACL before ACE_SETACL, because SETACL cannot fail with ENOTSUP whereas ACE_SETACL can. */ if (count > 0) { ret = (dest_desc != -1 ? facl (dest_desc, SETACL, count, entries) : acl (dst_name, SETACL, count, entries)); if (ret < 0 && saved_errno == 0) { saved_errno = errno; if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) && !acl_nontrivial (count, entries)) saved_errno = 0; } else did_chmod = 1; } free (entries); # ifdef ACE_GETACL if (ace_count > 0) { ret = (dest_desc != -1 ? facl (dest_desc, ACE_SETACL, ace_count, ace_entries) : acl (dst_name, ACE_SETACL, ace_count, ace_entries)); if (ret < 0 && saved_errno == 0) { saved_errno = errno; if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP) && !acl_ace_nontrivial (ace_count, ace_entries)) saved_errno = 0; } } free (ace_entries); # endif if (MODE_INSIDE_ACL && did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0)) { /* We did not call chmod so far, and either the mode and the ACL are separate or special bits are to be set which don't fit into ACLs. */ if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) { if (saved_errno == 0) saved_errno = errno; } } if (saved_errno) { errno = saved_errno; return -1; } return 0; #elif USE_ACL && HAVE_GETACL /* HP-UX */ struct acl_entry entries[NACLENTRIES]; int count; # if HAVE_ACLV_H struct acl aclv_entries[NACLVENTRIES]; int aclv_count; # endif int did_chmod; int saved_errno; int ret; count = (source_desc != -1 ? fgetacl (source_desc, NACLENTRIES, entries) : getacl (src_name, NACLENTRIES, entries)); if (count < 0) { if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) count = 0; else return -2; } else if (count > 0) { if (count > NACLENTRIES) /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); } # if HAVE_ACLV_H aclv_count = acl ((char *) src_name, ACL_GET, NACLVENTRIES, aclv_entries); if (aclv_count < 0) { if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) count = 0; else return -2; } else if (aclv_count > 0) { if (aclv_count > NACLVENTRIES) /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); } # endif if (count == 0) # if HAVE_ACLV_H if (aclv_count == 0) # endif return qset_acl (dst_name, dest_desc, mode); did_chmod = 0; /* set to 1 once the mode bits in 0777 have been set */ saved_errno = 0; /* the first non-ignorable error code */ if (count > 0) { ret = (dest_desc != -1 ? fsetacl (dest_desc, count, entries) : setacl (dst_name, count, entries)); if (ret < 0 && saved_errno == 0) { saved_errno = errno; if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) { struct stat source_statbuf; if ((source_desc != -1 ? fstat (source_desc, &source_statbuf) : stat (src_name, &source_statbuf)) == 0) { if (!acl_nontrivial (count, entries, &source_statbuf)) saved_errno = 0; } else saved_errno = errno; } } else did_chmod = 1; } # if HAVE_ACLV_H if (aclv_count > 0) { ret = acl ((char *) dst_name, ACL_SET, aclv_count, aclv_entries); if (ret < 0 && saved_errno == 0) { saved_errno = errno; if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) { if (!aclv_nontrivial (aclv_count, aclv_entries)) saved_errno = 0; } } else did_chmod = 1; } # endif if (did_chmod <= ((mode & (S_ISUID | S_ISGID | S_ISVTX)) ? 1 : 0)) { /* We did not call chmod so far, and special bits are to be set which don't fit into ACLs. */ if (chmod_or_fchmod (dst_name, dest_desc, mode) != 0) { if (saved_errno == 0) saved_errno = errno; } } if (saved_errno) { errno = saved_errno; return -1; } return 0; #elif USE_ACL && HAVE_ACLX_GET && 0 /* AIX */ /* TODO */ #elif USE_ACL && HAVE_STATACL /* older AIX */ union { struct acl a; char room[4096]; } u; int ret; if ((source_desc != -1 ? fstatacl (source_desc, STX_NORMAL, &u.a, sizeof (u)) : statacl (src_name, STX_NORMAL, &u.a, sizeof (u))) < 0) return -2; ret = (dest_desc != -1 ? fchacl (dest_desc, &u.a, u.a.acl_len) : chacl (dst_name, &u.a, u.a.acl_len)); if (ret < 0) { int saved_errno = errno; chmod_or_fchmod (dst_name, dest_desc, mode); errno = saved_errno; return -1; } /* No need to call chmod_or_fchmod at this point, since the mode bits S_ISUID, S_ISGID, S_ISVTX are also stored in the ACL. */ return 0; #elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ struct acl entries[NACLENTRIES]; int count; int ret; count = acl ((char *) src_name, ACL_GET, NACLENTRIES, entries); if (count < 0) { if (0) count = 0; else return -2; } else if (count > 0) { if (count > NACLENTRIES) /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); } if (count == 0) return qset_acl (dst_name, dest_desc, mode); ret = acl ((char *) dst_name, ACL_SET, count, entries); if (ret < 0) { int saved_errno = errno; if (0) { if (!acl_nontrivial (count, entries)) return chmod_or_fchmod (dst_name, dest_desc, mode); } chmod_or_fchmod (dst_name, dest_desc, mode); errno = saved_errno; return -1; } if (mode & (S_ISUID | S_ISGID | S_ISVTX)) { /* We did not call chmod so far, and either the mode and the ACL are separate or special bits are to be set which don't fit into ACLs. */ return chmod_or_fchmod (dst_name, dest_desc, mode); } return 0; #else return qset_acl (dst_name, dest_desc, mode); #endif } /* Copy access control lists from one file to another. If SOURCE_DESC is a valid file descriptor, use file descriptor operations, else use filename based operations on SRC_NAME. Likewise for DEST_DESC and DST_NAME. If access control lists are not available, fchmod the target file to MODE. Also sets the non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set. Return 0 if successful, otherwise output a diagnostic and return a negative error code. */ int copy_acl (const char *src_name, int source_desc, const char *dst_name, int dest_desc, mode_t mode) { int ret = qcopy_acl (src_name, source_desc, dst_name, dest_desc, mode); switch (ret) { case -2: error (0, errno, "%s", quote (src_name)); break; case -1: error (0, errno, _("preserving permissions for %s"), quote (dst_name)); break; default: break; } return ret; } ������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mktime.c�������������������������������������������������������������������������0000664�0000000�0000000�00000055622�12071561011�012552� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert a 'struct tm' to a time_t value. Copyright (C) 1993-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Eggert <eggert@twinsun.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ /* Define this to have a standalone program to test this implementation of mktime. */ /* #define DEBUG 1 */ #ifndef _LIBC # include <config.h> #endif /* Assume that leap seconds are possible, unless told otherwise. If the host has a 'zic' command with a '-L leapsecondfilename' option, then it supports leap seconds; otherwise it probably doesn't. */ #ifndef LEAP_SECONDS_POSSIBLE # define LEAP_SECONDS_POSSIBLE 1 #endif #include <time.h> #include <limits.h> #include <string.h> /* For the real memcpy prototype. */ #if DEBUG # include <stdio.h> # include <stdlib.h> /* Make it work even if the system's libc has its own mktime routine. */ # undef mktime # define mktime my_mktime #endif /* DEBUG */ /* Some of the code in this file assumes that signed integer overflow silently wraps around. This assumption can't easily be programmed around, nor can it be checked for portably at compile-time or easily eliminated at run-time. Define WRAPV to 1 if the assumption is valid and if #pragma GCC optimize ("wrapv") does not trigger GCC bug 51793 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51793>. Otherwise, define it to 0; this forces the use of slower code that, while not guaranteed by the C Standard, works on all production platforms that we know about. */ #ifndef WRAPV # if (((__GNUC__ == 4 && 4 <= __GNUC_MINOR__) || 4 < __GNUC__) \ && defined __GLIBC__) # pragma GCC optimize ("wrapv") # define WRAPV 1 # else # define WRAPV 0 # endif #endif /* Verify a requirement at compile-time (unlike assert, which is runtime). */ #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; } /* A signed type that is at least one bit wider than int. */ #if INT_MAX <= LONG_MAX / 2 typedef long int long_int; #else typedef long long int long_int; #endif verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2); /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ ((-1 >> 1 == -1 \ && (long_int) -1 >> 1 == -1 \ && ((time_t) -1 >> 1 == -1 || ! TYPE_SIGNED (time_t))) \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, or if T is an unsigned integer type. */ #define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) /* True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ #define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) #ifndef TIME_T_MIN # define TIME_T_MIN TYPE_MINIMUM (time_t) #endif #ifndef TIME_T_MAX # define TIME_T_MAX TYPE_MAXIMUM (time_t) #endif #define TIME_T_MIDPOINT (SHR (TIME_T_MIN + TIME_T_MAX, 1) + 1) verify (time_t_is_integer, TYPE_IS_INTEGER (time_t)); verify (twos_complement_arithmetic, (TYPE_TWOS_COMPLEMENT (int) && TYPE_TWOS_COMPLEMENT (long_int) && TYPE_TWOS_COMPLEMENT (time_t))); #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0); /* Return 1 if YEAR + TM_YEAR_BASE is a leap year. */ static int leapyear (long_int year) { /* Don't add YEAR to TM_YEAR_BASE, as that might overflow. Also, work even if YEAR is negative. */ return ((year & 3) == 0 && (year % 100 != 0 || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3))); } /* How many days come before each month (0-12). */ #ifndef _LIBC static #endif const unsigned short int __mon_yday[2][13] = { /* Normal years. */ { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, /* Leap years. */ { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 } }; #ifndef _LIBC /* Portable standalone applications should supply a <time.h> that declares a POSIX-compliant localtime_r, for the benefit of older implementations that lack localtime_r or have a nonstandard one. See the gnulib time_r module for one way to implement this. */ # undef __localtime_r # define __localtime_r localtime_r # define __mktime_internal mktime_internal # include "mktime-internal.h" #endif /* Return 1 if the values A and B differ according to the rules for tm_isdst: A and B differ if one is zero and the other positive. */ static int isdst_differ (int a, int b) { return (!a != !b) && (0 <= a) && (0 <= b); } /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) - (YEAR0-YDAY0 HOUR0:MIN0:SEC0) in seconds, assuming that the clocks were not adjusted between the time stamps. The YEAR values uses the same numbering as TP->tm_year. Values need not be in the usual range. However, YEAR1 must not be less than 2 * INT_MIN or greater than 2 * INT_MAX. The result may overflow. It is the caller's responsibility to detect overflow. */ static time_t ydhms_diff (long_int year1, long_int yday1, int hour1, int min1, int sec1, int year0, int yday0, int hour0, int min0, int sec0) { verify (C99_integer_division, -1 / 2 == 0); /* Compute intervening leap days correctly even if year is negative. Take care to avoid integer overflow here. */ int a4 = SHR (year1, 2) + SHR (TM_YEAR_BASE, 2) - ! (year1 & 3); int b4 = SHR (year0, 2) + SHR (TM_YEAR_BASE, 2) - ! (year0 & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); /* Compute the desired time in time_t precision. Overflow might occur here. */ time_t tyear1 = year1; time_t years = tyear1 - year0; time_t days = 365 * years + yday1 - yday0 + intervening_leap_days; time_t hours = 24 * days + hour1 - hour0; time_t minutes = 60 * hours + min1 - min0; time_t seconds = 60 * minutes + sec1 - sec0; return seconds; } /* Return the average of A and B, even if A + B would overflow. */ static time_t time_t_avg (time_t a, time_t b) { return SHR (a, 1) + SHR (b, 1) + (a & b & 1); } /* Return 1 if A + B does not overflow. If time_t is unsigned and if B's top bit is set, assume that the sum represents A - -B, and return 1 if the subtraction does not wrap around. */ static int time_t_add_ok (time_t a, time_t b) { if (! TYPE_SIGNED (time_t)) { time_t sum = a + b; return (sum < a) == (TIME_T_MIDPOINT <= b); } else if (WRAPV) { time_t sum = a + b; return (sum < a) == (b < 0); } else { time_t avg = time_t_avg (a, b); return TIME_T_MIN / 2 <= avg && avg <= TIME_T_MAX / 2; } } /* Return 1 if A + B does not overflow. */ static int time_t_int_add_ok (time_t a, int b) { verify (int_no_wider_than_time_t, INT_MAX <= TIME_T_MAX); if (WRAPV) { time_t sum = a + b; return (sum < a) == (b < 0); } else { int a_odd = a & 1; time_t avg = SHR (a, 1) + (SHR (b, 1) + (a_odd & b)); return TIME_T_MIN / 2 <= avg && avg <= TIME_T_MAX / 2; } } /* Return a time_t value corresponding to (YEAR-YDAY HOUR:MIN:SEC), assuming that *T corresponds to *TP and that no clock adjustments occurred between *TP and the desired time. If TP is null, return a value not equal to *T; this avoids false matches. If overflow occurs, yield the minimal or maximal value, except do not yield a value equal to *T. */ static time_t guess_time_tm (long_int year, long_int yday, int hour, int min, int sec, const time_t *t, const struct tm *tp) { if (tp) { time_t d = ydhms_diff (year, yday, hour, min, sec, tp->tm_year, tp->tm_yday, tp->tm_hour, tp->tm_min, tp->tm_sec); if (time_t_add_ok (*t, d)) return *t + d; } /* Overflow occurred one way or another. Return the nearest result that is actually in range, except don't report a zero difference if the actual difference is nonzero, as that would cause a false match; and don't oscillate between two values, as that would confuse the spring-forward gap detector. */ return (*t < TIME_T_MIDPOINT ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN) : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX)); } /* Use CONVERT to convert *T to a broken down time in *TP. If *T is out of range for conversion, adjust it so that it is the nearest in-range value and then convert that. */ static struct tm * ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), time_t *t, struct tm *tp) { struct tm *r = convert (t, tp); if (!r && *t) { time_t bad = *t; time_t ok = 0; /* BAD is a known unconvertible time_t, and OK is a known good one. Use binary search to narrow the range between BAD and OK until they differ by 1. */ while (bad != ok + (bad < 0 ? -1 : 1)) { time_t mid = *t = time_t_avg (ok, bad); r = convert (t, tp); if (r) ok = mid; else bad = mid; } if (!r && ok) { /* The last conversion attempt failed; revert to the most recent successful attempt. */ *t = ok; r = convert (t, tp); } } return r; } /* Convert *TP to a time_t value, inverting the monotonic and mostly-unit-linear conversion function CONVERT. Use *OFFSET to keep track of a guess at the offset of the result, compared to what the result would be for UTC without leap seconds. If *OFFSET's guess is correct, only one CONVERT call is needed. This function is external because it is used also by timegm.c. */ time_t __mktime_internal (struct tm *tp, struct tm *(*convert) (const time_t *, struct tm *), time_t *offset) { time_t t, gt, t0, t1, t2; struct tm tm; /* The maximum number of probes (calls to CONVERT) should be enough to handle any combinations of time zone rule changes, solar time, leap seconds, and oscillations around a spring-forward gap. POSIX.1 prohibits leap seconds, but some hosts have them anyway. */ int remaining_probes = 6; /* Time requested. Copy it in case CONVERT modifies *TP; this can occur if TP is localtime's returned value and CONVERT is localtime. */ int sec = tp->tm_sec; int min = tp->tm_min; int hour = tp->tm_hour; int mday = tp->tm_mday; int mon = tp->tm_mon; int year_requested = tp->tm_year; int isdst = tp->tm_isdst; /* 1 if the previous probe was DST. */ int dst2; /* Ensure that mon is in range, and set year accordingly. */ int mon_remainder = mon % 12; int negative_mon_remainder = mon_remainder < 0; int mon_years = mon / 12 - negative_mon_remainder; long_int lyear_requested = year_requested; long_int year = lyear_requested + mon_years; /* The other values need not be in range: the remaining code handles minor overflows correctly, assuming int and time_t arithmetic wraps around. Major overflows are caught at the end. */ /* Calculate day of year from year, month, and day of month. The result need not be in range. */ int mon_yday = ((__mon_yday[leapyear (year)] [mon_remainder + 12 * negative_mon_remainder]) - 1); long_int lmday = mday; long_int yday = mon_yday + lmday; time_t guessed_offset = *offset; int sec_requested = sec; if (LEAP_SECONDS_POSSIBLE) { /* Handle out-of-range seconds specially, since ydhms_tm_diff assumes every minute has 60 seconds. */ if (sec < 0) sec = 0; if (59 < sec) sec = 59; } /* Invert CONVERT by probing. First assume the same offset as last time. */ t0 = ydhms_diff (year, yday, hour, min, sec, EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset); if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3) { /* time_t isn't large enough to rule out overflows, so check for major overflows. A gross check suffices, since if t0 has overflowed, it is off by a multiple of TIME_T_MAX - TIME_T_MIN + 1. So ignore any component of the difference that is bounded by a small value. */ /* Approximate log base 2 of the number of time units per biennium. A biennium is 2 years; use this unit instead of years to avoid integer overflow. For example, 2 average Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds, which is 63113904 seconds, and rint (log2 (63113904)) is 26. */ int ALOG2_SECONDS_PER_BIENNIUM = 26; int ALOG2_MINUTES_PER_BIENNIUM = 20; int ALOG2_HOURS_PER_BIENNIUM = 14; int ALOG2_DAYS_PER_BIENNIUM = 10; int LOG2_YEARS_PER_BIENNIUM = 1; int approx_requested_biennia = (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM) - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM) + SHR (mday, ALOG2_DAYS_PER_BIENNIUM) + SHR (hour, ALOG2_HOURS_PER_BIENNIUM) + SHR (min, ALOG2_MINUTES_PER_BIENNIUM) + (LEAP_SECONDS_POSSIBLE ? 0 : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM))); int approx_biennia = SHR (t0, ALOG2_SECONDS_PER_BIENNIUM); int diff = approx_biennia - approx_requested_biennia; int approx_abs_diff = diff < 0 ? -1 - diff : diff; /* IRIX 4.0.5 cc miscalculates TIME_T_MIN / 3: it erroneously gives a positive value of 715827882. Setting a variable first then doing math on it seems to work. (ghazi@caip.rutgers.edu) */ time_t time_t_max = TIME_T_MAX; time_t time_t_min = TIME_T_MIN; time_t overflow_threshold = (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM; if (overflow_threshold < approx_abs_diff) { /* Overflow occurred. Try repairing it; this might work if the time zone offset is enough to undo the overflow. */ time_t repaired_t0 = -1 - t0; approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM); diff = approx_biennia - approx_requested_biennia; approx_abs_diff = diff < 0 ? -1 - diff : diff; if (overflow_threshold < approx_abs_diff) return -1; guessed_offset += repaired_t0 - t0; t0 = repaired_t0; } } /* Repeatedly use the error to improve the guess. */ for (t = t1 = t2 = t0, dst2 = 0; (gt = guess_time_tm (year, yday, hour, min, sec, &t, ranged_convert (convert, &t, &tm)), t != gt); t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0) if (t == t1 && t != t2 && (tm.tm_isdst < 0 || (isdst < 0 ? dst2 <= (tm.tm_isdst != 0) : (isdst != 0) != (tm.tm_isdst != 0)))) /* We can't possibly find a match, as we are oscillating between two values. The requested time probably falls within a spring-forward gap of size GT - T. Follow the common practice in this case, which is to return a time that is GT - T away from the requested time, preferring a time whose tm_isdst differs from the requested value. (If no tm_isdst was requested and only one of the two values has a nonzero tm_isdst, prefer that value.) In practice, this is more useful than returning -1. */ goto offset_found; else if (--remaining_probes == 0) return -1; /* We have a match. Check whether tm.tm_isdst has the requested value, if any. */ if (isdst_differ (isdst, tm.tm_isdst)) { /* tm.tm_isdst has the wrong value. Look for a neighboring time with the right value, and use its UTC offset. Heuristic: probe the adjacent timestamps in both directions, looking for the desired isdst. This should work for all real time zone histories in the tz database. */ /* Distance between probes when looking for a DST boundary. In tzdata2003a, the shortest period of DST is 601200 seconds (e.g., America/Recife starting 2000-10-08 01:00), and the shortest period of non-DST surrounded by DST is 694800 seconds (Africa/Tunis starting 1943-04-17 01:00). Use the minimum of these two values, so we don't miss these short periods when probing. */ int stride = 601200; /* The longest period of DST in tzdata2003a is 536454000 seconds (e.g., America/Jujuy starting 1946-10-01 01:00). The longest period of non-DST is much longer, but it makes no real sense to search for more than a year of non-DST, so use the DST max. */ int duration_max = 536454000; /* Search in both directions, so the maximum distance is half the duration; add the stride to avoid off-by-1 problems. */ int delta_bound = duration_max / 2 + stride; int delta, direction; for (delta = stride; delta < delta_bound; delta += stride) for (direction = -1; direction <= 1; direction += 2) if (time_t_int_add_ok (t, delta * direction)) { time_t ot = t + delta * direction; struct tm otm; ranged_convert (convert, &ot, &otm); if (! isdst_differ (isdst, otm.tm_isdst)) { /* We found the desired tm_isdst. Extrapolate back to the desired time. */ t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm); ranged_convert (convert, &t, &tm); goto offset_found; } } } offset_found: *offset = guessed_offset + t - t0; if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec) { /* Adjust time to reflect the tm_sec requested, not the normalized value. Also, repair any damage from a false match due to a leap second. */ int sec_adjustment = (sec == 0 && tm.tm_sec == 60) - sec; if (! time_t_int_add_ok (t, sec_requested)) return -1; t1 = t + sec_requested; if (! time_t_int_add_ok (t1, sec_adjustment)) return -1; t2 = t1 + sec_adjustment; if (! convert (&t2, &tm)) return -1; t = t2; } *tp = tm; return t; } /* FIXME: This should use a signed type wide enough to hold any UTC offset in seconds. 'int' should be good enough for GNU code. We can't fix this unilaterally though, as other modules invoke __mktime_internal. */ static time_t localtime_offset; /* Convert *TP to a time_t value. */ time_t mktime (struct tm *tp) { #ifdef _LIBC /* POSIX.1 8.1.1 requires that whenever mktime() is called, the time zone names contained in the external variable 'tzname' shall be set as if the tzset() function had been called. */ __tzset (); #endif return __mktime_internal (tp, __localtime_r, &localtime_offset); } #ifdef weak_alias weak_alias (mktime, timelocal) #endif #ifdef _LIBC libc_hidden_def (mktime) libc_hidden_weak (timelocal) #endif #if DEBUG static int not_equal_tm (const struct tm *a, const struct tm *b) { return ((a->tm_sec ^ b->tm_sec) | (a->tm_min ^ b->tm_min) | (a->tm_hour ^ b->tm_hour) | (a->tm_mday ^ b->tm_mday) | (a->tm_mon ^ b->tm_mon) | (a->tm_year ^ b->tm_year) | (a->tm_yday ^ b->tm_yday) | isdst_differ (a->tm_isdst, b->tm_isdst)); } static void print_tm (const struct tm *tp) { if (tp) printf ("%04d-%02d-%02d %02d:%02d:%02d yday %03d wday %d isdst %d", tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec, tp->tm_yday, tp->tm_wday, tp->tm_isdst); else printf ("0"); } static int check_result (time_t tk, struct tm tmk, time_t tl, const struct tm *lt) { if (tk != tl || !lt || not_equal_tm (&tmk, lt)) { printf ("mktime ("); print_tm (lt); printf (")\nyields ("); print_tm (&tmk); printf (") == %ld, should be %ld\n", (long int) tk, (long int) tl); return 1; } return 0; } int main (int argc, char **argv) { int status = 0; struct tm tm, tmk, tml; struct tm *lt; time_t tk, tl, tl1; char trailer; if ((argc == 3 || argc == 4) && (sscanf (argv[1], "%d-%d-%d%c", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer) == 3) && (sscanf (argv[2], "%d:%d:%d%c", &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer) == 3)) { tm.tm_year -= TM_YEAR_BASE; tm.tm_mon--; tm.tm_isdst = argc == 3 ? -1 : atoi (argv[3]); tmk = tm; tl = mktime (&tmk); lt = localtime (&tl); if (lt) { tml = *lt; lt = &tml; } printf ("mktime returns %ld == ", (long int) tl); print_tm (&tmk); printf ("\n"); status = check_result (tl, tmk, tl, lt); } else if (argc == 4 || (argc == 5 && strcmp (argv[4], "-") == 0)) { time_t from = atol (argv[1]); time_t by = atol (argv[2]); time_t to = atol (argv[3]); if (argc == 4) for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) { lt = localtime (&tl); if (lt) { tmk = tml = *lt; tk = mktime (&tmk); status |= check_result (tk, tmk, tl, &tml); } else { printf ("localtime (%ld) yields 0\n", (long int) tl); status = 1; } tl1 = tl + by; if ((tl1 < tl) != (by < 0)) break; } else for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) { /* Null benchmark. */ lt = localtime (&tl); if (lt) { tmk = tml = *lt; tk = tl; status |= check_result (tk, tmk, tl, &tml); } else { printf ("localtime (%ld) yields 0\n", (long int) tl); status = 1; } tl1 = tl + by; if ((tl1 < tl) != (by < 0)) break; } } else printf ("Usage:\ \t%s YYYY-MM-DD HH:MM:SS [ISDST] # Test given time.\n\ \t%s FROM BY TO # Test values FROM, FROM+BY, ..., TO.\n\ \t%s FROM BY TO - # Do not test those values (for benchmark).\n", argv[0], argv[0], argv[0]); return status; } #endif /* DEBUG */ /* Local Variables: compile-command: "gcc -DDEBUG -I. -Wall -W -O2 -g mktime.c -o mktime" End: */ ��������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mknod.c��������������������������������������������������������������������������0000664�0000000�0000000�00000004132�12071024546�012371� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create a device inode. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <sys/stat.h> #include <errno.h> #include <string.h> #if !HAVE_MKNOD /* Mingw lacks mknod; always fail with ENOSYS. */ int mknod (char const *name _GL_UNUSED, mode_t mode _GL_UNUSED, dev_t dev _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_MKNOD */ # undef mknod /* Create a file system node FILE, with access permissions and file type in MODE, and device type in DEV. Usually, non-root applications can only create named fifos (mode includes S_IFIFO), with DEV set to 0. Also work around trailing slash bugs. */ int rpl_mknod (char const *name, mode_t mode, dev_t dev) { # if MKFIFO_TRAILING_SLASH_BUG /* Trailing slash only makes sense for directories. Of course, using mknod to create a directory is not very portable, so it may still fail later on. */ if (!S_ISDIR (mode)) { size_t len = strlen (name); if (len && name[len - 1] == '/') { struct stat st; if (stat (name, &st) == 0) errno = EEXIST; return -1; } } # endif # if MKNOD_FIFO_BUG /* POSIX requires mknod to create fifos for non-privileged processes, but BSD implementations fail with EPERM. */ if (S_ISFIFO (mode) && dev == 0) return mkfifo (name, mode & ~S_IFIFO); # endif return mknod (name, mode, dev); } #endif /* HAVE_MKNOD */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strdup.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002470�12071561013�012600� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif /* Get specification. */ #include <string.h> #include <stdlib.h> #undef __strdup #ifdef _LIBC # undef strdup #endif #ifndef weak_alias # define __strdup strdup #endif /* Duplicate S, returning an identical malloc'd string. */ char * __strdup (const char *s) { size_t len = strlen (s) + 1; void *new = malloc (len); if (new == NULL) return NULL; return (char *) memcpy (new, s, len); } #ifdef libc_hidden_def libc_hidden_def (__strdup) #endif #ifdef weak_alias weak_alias (__strdup, strdup) #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sig2str.c������������������������������������������������������������������������0000664�0000000�0000000�00000016001�12071024546�012654� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sig2str.c -- convert between signal names and numbers Copyright (C) 2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include <limits.h> #include <signal.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include "sig2str.h" #ifndef SIGRTMIN # define SIGRTMIN 0 # undef SIGRTMAX #endif #ifndef SIGRTMAX # define SIGRTMAX (SIGRTMIN - 1) #endif #define NUMNAME(name) { SIG##name, #name } /* Signal names and numbers. Put the preferred name first. */ static struct numname { int num; char const name[8]; } numname_table[] = { /* Signals required by POSIX 1003.1-2001 base, listed in traditional numeric order where possible. */ #ifdef SIGHUP NUMNAME (HUP), #endif #ifdef SIGINT NUMNAME (INT), #endif #ifdef SIGQUIT NUMNAME (QUIT), #endif #ifdef SIGILL NUMNAME (ILL), #endif #ifdef SIGTRAP NUMNAME (TRAP), #endif #ifdef SIGABRT NUMNAME (ABRT), #endif #ifdef SIGFPE NUMNAME (FPE), #endif #ifdef SIGKILL NUMNAME (KILL), #endif #ifdef SIGSEGV NUMNAME (SEGV), #endif /* On Haiku, SIGSEGV == SIGBUS, but we prefer SIGSEGV to match strsignal.c output, so SIGBUS must be listed second. */ #ifdef SIGBUS NUMNAME (BUS), #endif #ifdef SIGPIPE NUMNAME (PIPE), #endif #ifdef SIGALRM NUMNAME (ALRM), #endif #ifdef SIGTERM NUMNAME (TERM), #endif #ifdef SIGUSR1 NUMNAME (USR1), #endif #ifdef SIGUSR2 NUMNAME (USR2), #endif #ifdef SIGCHLD NUMNAME (CHLD), #endif #ifdef SIGURG NUMNAME (URG), #endif #ifdef SIGSTOP NUMNAME (STOP), #endif #ifdef SIGTSTP NUMNAME (TSTP), #endif #ifdef SIGCONT NUMNAME (CONT), #endif #ifdef SIGTTIN NUMNAME (TTIN), #endif #ifdef SIGTTOU NUMNAME (TTOU), #endif /* Signals required by POSIX 1003.1-2001 with the XSI extension. */ #ifdef SIGSYS NUMNAME (SYS), #endif #ifdef SIGPOLL NUMNAME (POLL), #endif #ifdef SIGVTALRM NUMNAME (VTALRM), #endif #ifdef SIGPROF NUMNAME (PROF), #endif #ifdef SIGXCPU NUMNAME (XCPU), #endif #ifdef SIGXFSZ NUMNAME (XFSZ), #endif /* Unix Version 7. */ #ifdef SIGIOT NUMNAME (IOT), /* Older name for ABRT. */ #endif #ifdef SIGEMT NUMNAME (EMT), #endif /* USG Unix. */ #ifdef SIGPHONE NUMNAME (PHONE), #endif #ifdef SIGWIND NUMNAME (WIND), #endif /* Unix System V. */ #ifdef SIGCLD NUMNAME (CLD), #endif #ifdef SIGPWR NUMNAME (PWR), #endif /* GNU/Linux 2.2 and Solaris 8. */ #ifdef SIGCANCEL NUMNAME (CANCEL), #endif #ifdef SIGLWP NUMNAME (LWP), #endif #ifdef SIGWAITING NUMNAME (WAITING), #endif #ifdef SIGFREEZE NUMNAME (FREEZE), #endif #ifdef SIGTHAW NUMNAME (THAW), #endif #ifdef SIGLOST NUMNAME (LOST), #endif #ifdef SIGWINCH NUMNAME (WINCH), #endif /* GNU/Linux 2.2. */ #ifdef SIGINFO NUMNAME (INFO), #endif #ifdef SIGIO NUMNAME (IO), #endif #ifdef SIGSTKFLT NUMNAME (STKFLT), #endif /* AIX 5L. */ #ifdef SIGDANGER NUMNAME (DANGER), #endif #ifdef SIGGRANT NUMNAME (GRANT), #endif #ifdef SIGMIGRATE NUMNAME (MIGRATE), #endif #ifdef SIGMSG NUMNAME (MSG), #endif #ifdef SIGPRE NUMNAME (PRE), #endif #ifdef SIGRETRACT NUMNAME (RETRACT), #endif #ifdef SIGSAK NUMNAME (SAK), #endif #ifdef SIGSOUND NUMNAME (SOUND), #endif /* Older AIX versions. */ #ifdef SIGALRM1 NUMNAME (ALRM1), /* unknown; taken from Bash 2.05 */ #endif #ifdef SIGKAP NUMNAME (KAP), /* Older name for SIGGRANT. */ #endif #ifdef SIGVIRT NUMNAME (VIRT), /* unknown; taken from Bash 2.05 */ #endif #ifdef SIGWINDOW NUMNAME (WINDOW), /* Older name for SIGWINCH. */ #endif /* BeOS */ #ifdef SIGKILLTHR NUMNAME (KILLTHR), #endif /* Older HP-UX versions. */ #ifdef SIGDIL NUMNAME (DIL), #endif /* Korn shell and Bash, of uncertain vintage. */ { 0, "EXIT" } }; #define NUMNAME_ENTRIES (sizeof numname_table / sizeof numname_table[0]) /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Convert the signal name SIGNAME to a signal number. Return the signal number if successful, -1 otherwise. */ static int str2signum (char const *signame) { if (ISDIGIT (*signame)) { char *endp; long int n = strtol (signame, &endp, 10); if (! *endp && n <= SIGNUM_BOUND) return n; } else { unsigned int i; for (i = 0; i < NUMNAME_ENTRIES; i++) if (strcmp (numname_table[i].name, signame) == 0) return numname_table[i].num; { char *endp; int rtmin = SIGRTMIN; int rtmax = SIGRTMAX; if (0 < rtmin && strncmp (signame, "RTMIN", 5) == 0) { long int n = strtol (signame + 5, &endp, 10); if (! *endp && 0 <= n && n <= rtmax - rtmin) return rtmin + n; } else if (0 < rtmax && strncmp (signame, "RTMAX", 5) == 0) { long int n = strtol (signame + 5, &endp, 10); if (! *endp && rtmin - rtmax <= n && n <= 0) return rtmax + n; } } } return -1; } /* Convert the signal name SIGNAME to the signal number *SIGNUM. Return 0 if successful, -1 otherwise. */ int str2sig (char const *signame, int *signum) { *signum = str2signum (signame); return *signum < 0 ? -1 : 0; } /* Convert SIGNUM to a signal name in SIGNAME. SIGNAME must point to a buffer of at least SIG2STR_MAX bytes. Return 0 if successful, -1 otherwise. */ int sig2str (int signum, char *signame) { unsigned int i; for (i = 0; i < NUMNAME_ENTRIES; i++) if (numname_table[i].num == signum) { strcpy (signame, numname_table[i].name); return 0; } { int rtmin = SIGRTMIN; int rtmax = SIGRTMAX; if (! (rtmin <= signum && signum <= rtmax)) return -1; if (signum <= rtmin + (rtmax - rtmin) / 2) { int delta = signum - rtmin; sprintf (signame, delta ? "RTMIN+%d" : "RTMIN", delta); } else { int delta = rtmax - signum; sprintf (signame, delta ? "RTMAX-%d" : "RTMAX", delta); } return 0; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-hpux.gperf������������������������������������������������������������0000664�0000000�0000000�00000002142�11624727634�015275� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������struct mapping { int standard_name; const char vendor_name[9 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On HP-UX 11.11, look in /usr/lib/nls/iconv. ISO-8859-1, "iso88591" ISO-8859-2, "iso88592" ISO-8859-5, "iso88595" ISO-8859-6, "iso88596" ISO-8859-7, "iso88597" ISO-8859-8, "iso88598" ISO-8859-9, "iso88599" ISO-8859-15, "iso885915" CP437, "cp437" CP775, "cp775" CP850, "cp850" CP852, "cp852" CP855, "cp855" CP857, "cp857" CP861, "cp861" CP862, "cp862" CP864, "cp864" CP865, "cp865" CP866, "cp866" CP869, "cp869" CP874, "cp874" CP1250, "cp1250" CP1251, "cp1251" CP1252, "cp1252" CP1253, "cp1253" CP1254, "cp1254" CP1255, "cp1255" CP1256, "cp1256" CP1257, "cp1257" CP1258, "cp1258" HP-ROMAN8, "roman8" HP-ARABIC8, "arabic8" HP-GREEK8, "greek8" HP-HEBREW8, "hebrew8" HP-TURKISH8, "turkish8" HP-KANA8, "kana8" TIS-620, "tis620" GB2312, "hp15CN" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" BIG5, "big5" SHIFT_JIS, "sjis" UTF-8, "utf8" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_uio.in.h���������������������������������������������������������������������0000664�0000000�0000000�00000003174�12071561014�013366� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for <sys/uio.h>. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ # endif @PRAGMA_COLUMNS@ #ifndef _@GUARD_PREFIX@_SYS_UIO_H #if @HAVE_SYS_UIO_H@ /* On OpenBSD 4.4, <sys/uio.h> assumes prior inclusion of <sys/types.h>. */ # include <sys/types.h> /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_UIO_H@ #endif #ifndef _@GUARD_PREFIX@_SYS_UIO_H #define _@GUARD_PREFIX@_SYS_UIO_H #if !@HAVE_SYS_UIO_H@ /* A platform that lacks <sys/uio.h>. */ /* Get 'size_t' and 'ssize_t'. */ # include <sys/types.h> # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_struct_iovec /* All known platforms that lack <sys/uio.h> also lack any declaration of struct iovec in any other header. */ struct iovec { void *iov_base; size_t iov_len; }; # define GNULIB_defined_struct_iovec 1 # endif # ifdef __cplusplus } # endif #endif #endif /* _@GUARD_PREFIX@_SYS_UIO_H */ #endif /* _@GUARD_PREFIX@_SYS_UIO_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freadseek.c����������������������������������������������������������������������0000664�0000000�0000000�00000010475�12071024546�013221� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Skipping input from a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "freadseek.h" #include <stdlib.h> #include <unistd.h> #include "freadahead.h" #include "freadptr.h" #include "stdio-impl.h" /* Increment the in-memory pointer. INCREMENT must be at most the buffer size returned by freadptr(). This is very cheap (no system calls). */ static void freadptrinc (FILE *fp, size_t increment) { /* Keep this code in sync with freadptr! */ #if HAVE___FREADPTRINC /* musl libc */ __freadptrinc (fp, increment); #elif defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_IO_read_ptr += increment; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ fp_->_p += increment; fp_->_r -= increment; #elif defined __EMX__ /* emx+gcc */ fp->_ptr += increment; fp->_rcount -= increment; #elif defined __minix /* Minix */ fp_->_ptr += increment; fp_->_count -= increment; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp_->_ptr += increment; fp_->_cnt -= increment; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS fp->__bufpos += increment; # else abort (); # endif #elif defined __QNX__ /* QNX */ fp->_Next += increment; #elif defined __MINT__ /* Atari FreeMiNT */ fp->__bufp += increment; #elif defined EPLAN9 /* Plan9 */ fp->rp += increment; #elif defined SLOW_BUT_NO_HACKS /* users can define this */ #else #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report this to bug-gnulib." #endif } int freadseek (FILE *fp, size_t offset) { size_t total_buffered; int fd; if (offset == 0) return 0; /* Seek over the already read and buffered input as quickly as possible, without doing any system calls. */ total_buffered = freadahead (fp); /* This loop is usually executed at most twice: once for ungetc buffer (if present) and once for the main buffer. */ while (total_buffered > 0) { size_t buffered; if (freadptr (fp, &buffered) != NULL && buffered > 0) { size_t increment = (buffered < offset ? buffered : offset); freadptrinc (fp, increment); offset -= increment; if (offset == 0) return 0; total_buffered -= increment; if (total_buffered == 0) break; } /* Read one byte. If we were reading from the ungetc buffer, this switches the stream back to the main buffer. */ if (fgetc (fp) == EOF) goto eof; offset--; if (offset == 0) return 0; total_buffered--; } /* Test whether the stream is seekable or not. */ fd = fileno (fp); if (fd >= 0 && lseek (fd, 0, SEEK_CUR) >= 0) { /* FP refers to a regular file. fseek is most efficient in this case. */ return fseeko (fp, offset, SEEK_CUR); } else { /* FP is a non-seekable stream, possibly not even referring to a file descriptor. Read OFFSET bytes explicitly and discard them. */ char buf[4096]; do { size_t count = (sizeof (buf) < offset ? sizeof (buf) : offset); if (fread (buf, 1, count, fp) < count) goto eof; offset -= count; } while (offset > 0); return 0; } eof: /* EOF, or error before or while reading. */ if (ferror (fp)) return EOF; else /* Encountered EOF. */ return 0; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/btowc.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002107�12071024545�012376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert unibyte character to wide character. Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #include <stdio.h> #include <stdlib.h> wint_t btowc (int c) { if (c != EOF) { char buf[1]; wchar_t wc; buf[0] = c; if (mbtowc (&wc, buf, 1) >= 0) return wc; } return WEOF; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regex.h��������������������������������������������������������������������������0000664�0000000�0000000�00000060577�12071561013�012412� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Definitions for data structures and routines for the regular expression library. Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _REGEX_H #define _REGEX_H 1 #include <sys/types.h> /* Allow the use in C++ code. */ #ifdef __cplusplus extern "C" { #endif /* Define __USE_GNU to declare GNU extensions that violate the POSIX name space rules. */ #ifdef _GNU_SOURCE # define __USE_GNU 1 #endif #ifdef _REGEX_LARGE_OFFSETS /* Use types and values that are wide enough to represent signed and unsigned byte offsets in memory. This currently works only when the regex code is used outside of the GNU C library; it is not yet supported within glibc itself, and glibc users should not define _REGEX_LARGE_OFFSETS. */ /* The type of nonnegative object indexes. Traditionally, GNU regex uses 'int' for these. Code that uses __re_idx_t should work regardless of whether the type is signed. */ typedef size_t __re_idx_t; /* The type of object sizes. */ typedef size_t __re_size_t; /* The type of object sizes, in places where the traditional code uses unsigned long int. */ typedef size_t __re_long_size_t; #else /* The traditional GNU regex implementation mishandles strings longer than INT_MAX. */ typedef int __re_idx_t; typedef unsigned int __re_size_t; typedef unsigned long int __re_long_size_t; #endif /* The following two types have to be signed and unsigned integer type wide enough to hold a value of a pointer. For most ANSI compilers ptrdiff_t and size_t should be likely OK. Still size of these two types is 2 for Microsoft C. Ugh... */ typedef long int s_reg_t; typedef unsigned long int active_reg_t; /* The following bits are used to determine the regexp syntax we recognize. The set/not-set meanings are chosen so that Emacs syntax remains the value 0. The bits are given in alphabetical order, and the definitions shifted by one from the previous bit; thus, when we add or remove a bit, only one other definition need change. */ typedef unsigned long int reg_syntax_t; #ifdef __USE_GNU /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ # define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) /* If this bit is not set, then + and ? are operators, and \+ and \? are literals. If set, then \+ and \? are operators and + and ? are literals. */ # define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) /* If this bit is set, then character classes are supported. They are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */ # define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) /* If this bit is set, then ^ and $ are always anchors (outside bracket expressions, of course). If this bit is not set, then it depends: ^ is an anchor if it is at the beginning of a regular expression or after an open-group or an alternation operator; $ is an anchor if it is at the end of a regular expression, or before a close-group or an alternation operator. This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because POSIX draft 11.2 says that * etc. in leading positions is undefined. We already implemented a previous draft which made those constructs invalid, though, so we haven't changed the code back. */ # define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) /* If this bit is set, then special characters are always special regardless of where they are in the pattern. If this bit is not set, then special characters are special only in some contexts; otherwise they are ordinary. Specifically, * + ? and intervals are only special when not after the beginning, open-group, or alternation operator. */ # define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) /* If this bit is set, then *, +, ?, and { cannot be first in an re or immediately after an alternation or begin-group operator. */ # define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) /* If this bit is set, then . matches newline. If not set, then it doesn't. */ # define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) /* If this bit is set, then . doesn't match NUL. If not set, then it does. */ # define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) /* If this bit is set, nonmatching lists [^...] do not match newline. If not set, they do. */ # define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) /* If this bit is set, either \{...\} or {...} defines an interval, depending on RE_NO_BK_BRACES. If not set, \{, \}, {, and } are literals. */ # define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) /* If this bit is set, +, ? and | aren't recognized as operators. If not set, they are. */ # define RE_LIMITED_OPS (RE_INTERVALS << 1) /* If this bit is set, newline is an alternation operator. If not set, newline is literal. */ # define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) /* If this bit is set, then '{...}' defines an interval, and \{ and \} are literals. If not set, then '\{...\}' defines an interval. */ # define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. If not set, \(...\) defines a group, and ( and ) are literals. */ # define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) /* If this bit is set, then \<digit> matches <digit>. If not set, then \<digit> is a back-reference. */ # define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) /* If this bit is set, then | is an alternation operator, and \| is literal. If not set, then \| is an alternation operator, and | is literal. */ # define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) /* If this bit is set, then an ending range point collating higher than the starting range point, as in [z-a], is invalid. If not set, then when ending range point collates higher than the starting range point, the range is ignored. */ # define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) /* If this bit is set, then an unmatched ) is ordinary. If not set, then an unmatched ) is invalid. */ # define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) /* If this bit is set, succeed as soon as we match the whole pattern, without further backtracking. */ # define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) /* If this bit is set, do not process the GNU regex operators. If not set, then the GNU regex operators are recognized. */ # define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) /* If this bit is set, turn on internal regex debugging. If not set, and debugging was on, turn it off. This only works if regex.c is compiled -DDEBUG. We define this bit always, so that all that's needed to turn on debugging is to recompile regex.c; the calling code can always have this bit set, and it won't affect anything in the normal case. */ # define RE_DEBUG (RE_NO_GNU_OPS << 1) /* If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the ERE 'a{1' is treated as 'a\{1'. */ # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) /* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only for ^, because it is difficult to scan the regex backwards to find whether ^ should be special. */ # define RE_CARET_ANCHORS_HERE (RE_ICASE << 1) /* If this bit is set, then \{ cannot be first in a regex or immediately after an alternation, open-group or \} operator. */ # define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1) /* If this bit is set, then no_sub will be set to 1 during re_compile_pattern. */ # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) #endif /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; #ifdef __USE_GNU /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ /* [[[begin syntaxes]]] */ # define RE_SYNTAX_EMACS 0 # define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ | RE_CHAR_CLASSES \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) # define RE_SYNTAX_GNU_AWK \ ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ | RE_INVALID_INTERVAL_ORD) \ & ~(RE_DOT_NOT_NULL | RE_CONTEXT_INDEP_OPS \ | RE_CONTEXT_INVALID_OPS )) # define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ | RE_INTERVALS | RE_NO_GNU_OPS \ | RE_INVALID_INTERVAL_ORD) # define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) # define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) # define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ | RE_INVALID_INTERVAL_ORD) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC # define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ # define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) # define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ # define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) # define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is removed and RE_NO_BK_REFS is added. */ # define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ /* Maximum number of duplicates an interval can allow. POSIX-conforming systems might define this in <limits.h>, but we want our value, so remove any previous define. */ # ifdef _REGEX_INCLUDE_LIMITS_H # include <limits.h> # endif # ifdef RE_DUP_MAX # undef RE_DUP_MAX # endif /* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored the counter as a 2-byte signed integer. This is no longer true, so RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to ((SIZE_MAX - 9) / 10) if _REGEX_LARGE_OFFSETS is defined. However, there would be a huge performance problem if someone actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains its historical value. */ # define RE_DUP_MAX (0x7fff) #endif /* POSIX 'cflags' bits (i.e., information for 'regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ #define REG_EXTENDED 1 /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ #define REG_ICASE (1 << 1) /* If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. */ #define REG_NEWLINE (1 << 2) /* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (1 << 3) /* POSIX 'eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. */ #define REG_NOTBOL 1 /* Like REG_NOTBOL, except for the end-of-line. */ #define REG_NOTEOL (1 << 1) /* Use PMATCH[0] to delimit the start and end of the search in the buffer. */ #define REG_STARTEND (1 << 2) /* If any error codes are removed, changed, or added, update the '__re_error_msgid' table in regcomp.c. */ typedef enum { _REG_ENOSYS = -1, /* This will never happen for this implementation. */ _REG_NOERROR = 0, /* Success. */ _REG_NOMATCH, /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ _REG_BADPAT, /* Invalid pattern. */ _REG_ECOLLATE, /* Invalid collating element. */ _REG_ECTYPE, /* Invalid character class name. */ _REG_EESCAPE, /* Trailing backslash. */ _REG_ESUBREG, /* Invalid back reference. */ _REG_EBRACK, /* Unmatched left bracket. */ _REG_EPAREN, /* Parenthesis imbalance. */ _REG_EBRACE, /* Unmatched \{. */ _REG_BADBR, /* Invalid contents of \{\}. */ _REG_ERANGE, /* Invalid range end. */ _REG_ESPACE, /* Ran out of memory. */ _REG_BADRPT, /* No preceding re for repetition op. */ /* Error codes we've added. */ _REG_EEND, /* Premature end. */ _REG_ESIZE, /* Too large (e.g., repeat count too large). */ _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; #if defined _XOPEN_SOURCE || defined __USE_XOPEN2K # define REG_ENOSYS _REG_ENOSYS #endif #define REG_NOERROR _REG_NOERROR #define REG_NOMATCH _REG_NOMATCH #define REG_BADPAT _REG_BADPAT #define REG_ECOLLATE _REG_ECOLLATE #define REG_ECTYPE _REG_ECTYPE #define REG_EESCAPE _REG_EESCAPE #define REG_ESUBREG _REG_ESUBREG #define REG_EBRACK _REG_EBRACK #define REG_EPAREN _REG_EPAREN #define REG_EBRACE _REG_EBRACE #define REG_BADBR _REG_BADBR #define REG_ERANGE _REG_ERANGE #define REG_ESPACE _REG_ESPACE #define REG_BADRPT _REG_BADRPT #define REG_EEND _REG_EEND #define REG_ESIZE _REG_ESIZE #define REG_ERPAREN _REG_ERPAREN /* This data structure represents a compiled pattern. Before calling the pattern compiler, the fields 'buffer', 'allocated', 'fastmap', and 'translate' can be set. After the pattern has been compiled, the fields 're_nsub', 'not_bol' and 'not_eol' are available. All other fields are private to the regex routines. */ #ifndef RE_TRANSLATE_TYPE # define __RE_TRANSLATE_TYPE unsigned char * # ifdef __USE_GNU # define RE_TRANSLATE_TYPE __RE_TRANSLATE_TYPE # endif #endif #ifdef __USE_GNU # define __REPB_PREFIX(name) name #else # define __REPB_PREFIX(name) __##name #endif struct re_pattern_buffer { /* Space that holds the compiled pattern. The type 'struct re_dfa_t' is private and is not declared here. */ struct re_dfa_t *__REPB_PREFIX(buffer); /* Number of bytes to which 'buffer' points. */ __re_long_size_t __REPB_PREFIX(allocated); /* Number of bytes actually used in 'buffer'. */ __re_long_size_t __REPB_PREFIX(used); /* Syntax setting with which the pattern was compiled. */ reg_syntax_t __REPB_PREFIX(syntax); /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ char *__REPB_PREFIX(fastmap); /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ __RE_TRANSLATE_TYPE __REPB_PREFIX(translate); /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in 're_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely perfectly; see 're_compile_fastmap' (the "duplicate" case). */ unsigned __REPB_PREFIX(can_be_null) : 1; /* If REGS_UNALLOCATED, allocate space in the 'regs' structure for 'max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ #ifdef __USE_GNU # define REGS_UNALLOCATED 0 # define REGS_REALLOCATE 1 # define REGS_FIXED 2 #endif unsigned __REPB_PREFIX(regs_allocated) : 2; /* Set to zero when 're_compile_pattern' compiles a pattern; set to one by 're_compile_fastmap' if it updates the fastmap. */ unsigned __REPB_PREFIX(fastmap_accurate) : 1; /* If set, 're_match_2' does not return information about subexpressions. */ unsigned __REPB_PREFIX(no_sub) : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ unsigned __REPB_PREFIX(not_bol) : 1; /* Similarly for an end-of-line anchor. */ unsigned __REPB_PREFIX(not_eol) : 1; /* If true, an anchor at a newline matches. */ unsigned __REPB_PREFIX(newline_anchor) : 1; }; typedef struct re_pattern_buffer regex_t; /* Type for byte offsets within the string. POSIX mandates this. */ #ifdef _REGEX_LARGE_OFFSETS /* POSIX 1003.1-2008 requires that regoff_t be at least as wide as ptrdiff_t and ssize_t. We don't know of any hosts where ptrdiff_t is wider than ssize_t, so ssize_t is safe. */ typedef ssize_t regoff_t; #else /* The traditional GNU regex implementation mishandles strings longer than INT_MAX. */ typedef int regoff_t; #endif #ifdef __USE_GNU /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { __re_size_t num_regs; regoff_t *start; regoff_t *end; }; /* If 'regs_allocated' is REGS_UNALLOCATED in the pattern buffer, 're_match_2' returns information about at least this many registers the first time a 'regs' structure is passed. */ # ifndef RE_NREGS # define RE_NREGS 30 # endif #endif /* POSIX specification for registers. Aside from the different names than 're_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { regoff_t rm_so; /* Byte offset from string's start to substring's start. */ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ } regmatch_t; /* Declarations for routines. */ #ifdef __USE_GNU /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the 're_syntax_options' variable. */ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); /* Compile the regular expression PATTERN, with length LENGTH and syntax given by the global 're_syntax_options', into the buffer BUFFER. Return NULL if successful, and an error string if not. To free the allocated storage, you must call 'regfree' on BUFFER. Note that the translate table must either have been initialised by 'regcomp', with a malloc'ed value, or set to NULL before calling 'regfree'. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer); /* Compile a fastmap for the compiled pattern in BUFFER; used to accelerate searches. Return 0 if successful and -2 if was an internal error. */ extern int re_compile_fastmap (struct re_pattern_buffer *__buffer); /* Search in the string STRING (with length LENGTH) for the pattern compiled into BUFFER. Start searching at position START, for RANGE characters. Return the starting position of the match, -1 for no match, or -2 for an internal error. Also return register information in REGS (if REGS and BUFFER->no_sub are nonzero). */ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, regoff_t __range, struct re_registers *__regs); /* Like 're_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, regoff_t __range, struct re_registers *__regs, __re_idx_t __stop); /* Like 're_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, struct re_registers *__regs); /* Relates to 're_match' as 're_search_2' relates to 're_search'. */ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, struct re_registers *__regs, __re_idx_t __stop); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated with malloc, and must each be at least 'NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using BUFFER will allocate its own register data, without freeing the old data. */ extern void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, __re_size_t __num_regs, regoff_t *__starts, regoff_t *__ends); #endif /* Use GNU */ #if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD) # ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); extern int re_exec (const char *); # endif #endif /* GCC 2.95 and later have "__restrict"; C99 compilers have "restrict", and "configure" may have defined "restrict". Other compilers use __restrict, __restrict__, and _Restrict, and 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ # if 199901L <= __STDC_VERSION__ # define _Restrict_ restrict # elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) # define _Restrict_ __restrict # else # define _Restrict_ # endif #endif /* gcc 3.1 and up support the [restrict] syntax. Don't trust sys/cdefs.h's definition of __restrict_arr, though, as it mishandles gcc -ansi -pedantic. */ #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ && !defined __STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ # endif #endif /* POSIX compatibility. */ extern int regcomp (regex_t *_Restrict_ __preg, const char *_Restrict_ __pattern, int __cflags); extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __string, size_t __nmatch, regmatch_t __pmatch[_Restrict_arr_], int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, char *_Restrict_ __errbuf, size_t __errbuf_size); extern void regfree (regex_t *__preg); #ifdef __cplusplus } #endif /* C++ */ #endif /* regex.h */ ���������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ldtoastr.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000046�11624727634�013130� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define LENGTH 3 #include "ftoastr.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/chown.c��������������������������������������������������������������������������0000664�0000000�0000000�00000010646�12071024546�012406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide consistent interface to chown for systems that don't interpret an ID of -1 as meaning "don't change the corresponding ID". Copyright (C) 1997, 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <string.h> #include <sys/stat.h> #if !HAVE_CHOWN /* Simple stub that always fails with ENOSYS, for mingw. */ int chown (const char *file _GL_UNUSED, uid_t uid _GL_UNUSED, gid_t gid _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_CHOWN */ /* Below we refer to the system's chown(). */ # undef chown /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ # undef open # undef close /* Provide a more-closely POSIX-conforming version of chown on systems with one or both of the following problems: - chown doesn't treat an ID of -1 as meaning "don't change the corresponding ID". - chown doesn't dereference symlinks. */ int rpl_chown (const char *file, uid_t uid, gid_t gid) { struct stat st; bool stat_valid = false; int result; # if CHOWN_CHANGE_TIME_BUG if (gid != (gid_t) -1 || uid != (uid_t) -1) { if (stat (file, &st)) return -1; stat_valid = true; } # endif # if CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE if (gid == (gid_t) -1 || uid == (uid_t) -1) { /* Stat file to get id(s) that should remain unchanged. */ if (!stat_valid && stat (file, &st)) return -1; if (gid == (gid_t) -1) gid = st.st_gid; if (uid == (uid_t) -1) uid = st.st_uid; } # endif # if CHOWN_MODIFIES_SYMLINK { /* Handle the case in which the system-supplied chown function does *not* follow symlinks. Instead, it changes permissions on the symlink itself. To work around that, we open the file (but this can fail due to lack of read or write permission) and use fchown on the resulting descriptor. */ int open_flags = O_NONBLOCK | O_NOCTTY; int fd = open (file, O_RDONLY | open_flags); if (0 <= fd || (errno == EACCES && 0 <= (fd = open (file, O_WRONLY | open_flags)))) { int saved_errno; bool fchown_socket_failure; result = fchown (fd, uid, gid); saved_errno = errno; /* POSIX says fchown can fail with errno == EINVAL on sockets and pipes, so fall back on chown in that case. */ fchown_socket_failure = (result != 0 && saved_errno == EINVAL && fstat (fd, &st) == 0 && (S_ISFIFO (st.st_mode) || S_ISSOCK (st.st_mode))); close (fd); if (! fchown_socket_failure) { errno = saved_errno; return result; } } else if (errno != EACCES) return -1; } # endif # if CHOWN_TRAILING_SLASH_BUG if (!stat_valid) { size_t len = strlen (file); if (len && file[len - 1] == '/' && stat (file, &st)) return -1; } # endif result = chown (file, uid, gid); # if CHOWN_CHANGE_TIME_BUG if (result == 0 && stat_valid && (uid == st.st_uid || uid == (uid_t) -1) && (gid == st.st_gid || gid == (gid_t) -1)) { /* No change in ownership, but at least one argument was not -1, so we are required to update ctime. Since chown succeeded, we assume that chmod will do likewise. Fortunately, on all known systems where a 'no-op' chown skips the ctime update, a 'no-op' chmod still does the trick. */ result = chmod (file, st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)); } # endif return result; } #endif /* HAVE_CHOWN */ ������������������������������������������������������������������������������������������coreutils-8.21/lib/trim.h���������������������������������������������������������������������������0000664�0000000�0000000�00000002255�12071024546�012245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Removes leading and/or trailing whitespaces Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Davide Angelocola <davide.angelocola@gmail.com> */ /* Trim mode. */ #define TRIM_TRAILING 0 #define TRIM_LEADING 1 #define TRIM_BOTH 2 /* Removes trailing and leading whitespaces. */ #define trim(s) trim2(s, TRIM_BOTH) /* Removes trailing whitespaces. */ #define trim_trailing(s) trim2(s, TRIM_TRAILING) /* Removes leading whitespaces. */ #define trim_leading(s) trim2(s, TRIM_LEADING) char *trim2 (const char *, int); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xvasprintf.c���������������������������������������������������������������������0000664�0000000�0000000�00000005306�12071024546�013471� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* vasprintf and asprintf with out-of-memory checking. Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "xvasprintf.h" #include <errno.h> #include <limits.h> #include <string.h> #include <stdio.h> #include "xalloc.h" /* Checked size_t computations. */ #include "xsize.h" static char * xstrcat (size_t argcount, va_list args) { char *result; va_list ap; size_t totalsize; size_t i; char *p; /* Determine the total size. */ totalsize = 0; va_copy (ap, args); for (i = argcount; i > 0; i--) { const char *next = va_arg (ap, const char *); totalsize = xsum (totalsize, strlen (next)); } va_end (ap); /* Test for overflow in the summing pass above or in (totalsize + 1) below. Also, don't return a string longer than INT_MAX, for consistency with vasprintf(). */ if (totalsize == SIZE_MAX || totalsize > INT_MAX) { errno = EOVERFLOW; return NULL; } /* Allocate and fill the result string. */ result = XNMALLOC (totalsize + 1, char); p = result; for (i = argcount; i > 0; i--) { const char *next = va_arg (args, const char *); size_t len = strlen (next); memcpy (p, next, len); p += len; } *p = '\0'; return result; } char * xvasprintf (const char *format, va_list args) { char *result; /* Recognize the special case format = "%s...%s". It is a frequently used idiom for string concatenation and needs to be fast. We don't want to have a separate function xstrcat() for this purpose. */ { size_t argcount = 0; const char *f; for (f = format;;) { if (*f == '\0') /* Recognized the special case of string concatenation. */ return xstrcat (argcount, args); if (*f != '%') break; f++; if (*f != 's') break; f++; argcount++; } } if (vasprintf (&result, format, args) < 0) { if (errno == ENOMEM) xalloc_die (); return NULL; } return result; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-args.h��������������������������������������������������������������������0000664�0000000�0000000�00000007533�12071561012�013524� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be declared. STATIC Set to 'static' to declare the function static. */ /* Default parameters. */ #ifndef PRINTF_FETCHARGS # define PRINTF_FETCHARGS printf_fetchargs #endif /* Get size_t. */ #include <stddef.h> /* Get wchar_t. */ #if HAVE_WCHAR_T # include <stddef.h> #endif /* Get wint_t. */ #if HAVE_WINT_T # include <wchar.h> #endif /* Get va_list. */ #include <stdarg.h> /* Argument types */ typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, #if HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif TYPE_DOUBLE, TYPE_LONGDOUBLE, TYPE_CHAR, #if HAVE_WINT_T TYPE_WIDE_CHAR, #endif TYPE_STRING, #if HAVE_WCHAR_T TYPE_WIDE_STRING, #endif TYPE_POINTER, TYPE_COUNT_SCHAR_POINTER, TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #if HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ , TYPE_U8_STRING , TYPE_U16_STRING , TYPE_U32_STRING #endif } arg_type; /* Polymorphic argument */ typedef struct { arg_type type; union { signed char a_schar; unsigned char a_uchar; short a_short; unsigned short a_ushort; int a_int; unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; #if HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif float a_float; double a_double; long double a_longdouble; int a_char; #if HAVE_WINT_T wint_t a_wide_char; #endif const char* a_string; #if HAVE_WCHAR_T const wchar_t* a_wide_string; #endif void* a_pointer; signed char * a_count_schar_pointer; short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; #if HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ const uint8_t * a_u8_string; const uint16_t * a_u16_string; const uint32_t * a_u32_string; #endif } a; } argument; /* Number of directly allocated arguments (no malloc() needed). */ #define N_DIRECT_ALLOC_ARGUMENTS 7 typedef struct { size_t count; argument *arg; argument direct_alloc_arg[N_DIRECT_ALLOC_ARGUMENTS]; } arguments; /* Fetch the arguments, putting them into a. */ #ifdef STATIC STATIC #else extern #endif int PRINTF_FETCHARGS (va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_time.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000016056�12104756365�013547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a more complete sys/time.h. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef _@GUARD_PREFIX@_SYS_TIME_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ #endif #ifndef _@GUARD_PREFIX@_SYS_TIME_H #define _@GUARD_PREFIX@_SYS_TIME_H #if ! @HAVE_SYS_TIME_H@ # include <time.h> #endif /* On native Windows with MSVC, get the 'struct timeval' type. Also, on native Windows with a 64-bit time_t, where we are overriding the 'struct timeval' type, get all declarations of system functions whose signature contains 'struct timeval'. */ #if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H # define _GL_INCLUDING_WINSOCK2_H # include <winsock2.h> # undef _GL_INCLUDING_WINSOCK2_H #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #ifdef __cplusplus extern "C" { #endif #if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ # if @REPLACE_STRUCT_TIMEVAL@ # define timeval rpl_timeval # endif # if !GNULIB_defined_struct_timeval struct timeval { time_t tv_sec; long int tv_usec; }; # define GNULIB_defined_struct_timeval 1 # endif #endif #ifdef __cplusplus } #endif #if @GNULIB_GETTIMEOFDAY@ # if @REPLACE_GETTIMEOFDAY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gettimeofday # define gettimeofday rpl_gettimeofday # endif _GL_FUNCDECL_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (gettimeofday, int, (struct timeval *restrict, void *restrict)); # else # if !@HAVE_GETTIMEOFDAY@ _GL_FUNCDECL_SYS (gettimeofday, int, (struct timeval *restrict, void *restrict) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on glibc systems, by default, the second argument is struct timezone *. */ _GL_CXXALIAS_SYS_CAST (gettimeofday, int, (struct timeval *restrict, void *restrict)); # endif _GL_CXXALIASWARN (gettimeofday); #elif defined GNULIB_POSIXCHECK # undef gettimeofday # if HAVE_RAW_DECL_GETTIMEOFDAY _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " "use gnulib module gettimeofday for portability"); # endif #endif /* Hide some function declarations from <winsock2.h>. */ #if defined _MSC_VER && @HAVE_WINSOCK2_H@ # if !defined _@GUARD_PREFIX@_UNISTD_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close close_used_without_including_unistd_h # else _GL_WARN_ON_USE (close, "close() used without including <unistd.h>"); # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname gethostname_used_without_including_unistd_h # else _GL_WARN_ON_USE (gethostname, "gethostname() used without including <unistd.h>"); # endif # endif # if !defined _@GUARD_PREFIX@_SYS_SOCKET_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef socket # define socket socket_used_without_including_sys_socket_h # undef connect # define connect connect_used_without_including_sys_socket_h # undef accept # define accept accept_used_without_including_sys_socket_h # undef bind # define bind bind_used_without_including_sys_socket_h # undef getpeername # define getpeername getpeername_used_without_including_sys_socket_h # undef getsockname # define getsockname getsockname_used_without_including_sys_socket_h # undef getsockopt # define getsockopt getsockopt_used_without_including_sys_socket_h # undef listen # define listen listen_used_without_including_sys_socket_h # undef recv # define recv recv_used_without_including_sys_socket_h # undef send # define send send_used_without_including_sys_socket_h # undef recvfrom # define recvfrom recvfrom_used_without_including_sys_socket_h # undef sendto # define sendto sendto_used_without_including_sys_socket_h # undef setsockopt # define setsockopt setsockopt_used_without_including_sys_socket_h # undef shutdown # define shutdown shutdown_used_without_including_sys_socket_h # else _GL_WARN_ON_USE (socket, "socket() used without including <sys/socket.h>"); _GL_WARN_ON_USE (connect, "connect() used without including <sys/socket.h>"); _GL_WARN_ON_USE (accept, "accept() used without including <sys/socket.h>"); _GL_WARN_ON_USE (bind, "bind() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getpeername, "getpeername() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockname, "getsockname() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockopt, "getsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (listen, "listen() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recv, "recv() used without including <sys/socket.h>"); _GL_WARN_ON_USE (send, "send() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recvfrom, "recvfrom() used without including <sys/socket.h>"); _GL_WARN_ON_USE (sendto, "sendto() used without including <sys/socket.h>"); _GL_WARN_ON_USE (setsockopt, "setsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (shutdown, "shutdown() used without including <sys/socket.h>"); # endif # endif # if !defined _@GUARD_PREFIX@_SYS_SELECT_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef select # define select select_used_without_including_sys_select_h # else _GL_WARN_ON_USE (select, "select() used without including <sys/select.h>"); # endif # endif #endif #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/md5.c����������������������������������������������������������������������������0000664�0000000�0000000�00000035565�12071561011�011755� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Functions to compute MD5 message digest of files or memory blocks. according to the definition of MD5 in RFC 1321 from April 1992. Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. */ #include <config.h> #include "md5.h" #include <stdalign.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef _LIBC # include <endian.h> # if __BYTE_ORDER == __BIG_ENDIAN # define WORDS_BIGENDIAN 1 # endif /* We need to keep the namespace clean so define the MD5 function protected using leading __ . */ # define md5_init_ctx __md5_init_ctx # define md5_process_block __md5_process_block # define md5_process_bytes __md5_process_bytes # define md5_finish_ctx __md5_finish_ctx # define md5_read_ctx __md5_read_ctx # define md5_stream __md5_stream # define md5_buffer __md5_buffer #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #else # define SWAP(n) (n) #endif #define BLOCKSIZE 32768 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. (RFC 1321, 3.1: Step 1) */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Initialize structure containing state of computation. (RFC 1321, 3.3: Step 3) */ void md5_init_ctx (struct md5_ctx *ctx) { ctx->A = 0x67452301; ctx->B = 0xefcdab89; ctx->C = 0x98badcfe; ctx->D = 0x10325476; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the 4 byte value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 16 bytes following RESBUF. The result must be in little endian byte order. */ void * md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) { char *r = resbuf; set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ void * md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) { /* Take yet unprocessed bytes into account. */ uint32_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. */ ctx->buffer[size - 2] = SWAP (ctx->total[0] << 3); ctx->buffer[size - 1] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ md5_process_block (ctx->buffer, size * 4, ctx); return md5_read_ctx (ctx, resbuf); } /* Compute MD5 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ int md5_stream (FILE *stream, void *resblock) { struct md5_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ md5_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ md5_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block: /* Process any remaining bytes. */ if (sum > 0) md5_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ md5_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* Compute MD5 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * md5_buffer (const char *buffer, size_t len, void *resblock) { struct md5_ctx ctx; /* Initialize the computation context. */ md5_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ md5_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return md5_finish_ctx (&ctx, resblock); } void md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { md5_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { md5_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* These are the four functions used in the four steps of the MD5 algorithm and defined in the RFC 1321. The first function is a little bit optimized (as found in Colin Plumbs public domain implementation). */ /* #define FF(b, c, d) ((b & c) | (~b & d)) */ #define FF(b, c, d) (d ^ (b & (c ^ d))) #define FG(b, c, d) FF (d, b, c) #define FH(b, c, d) (b ^ c ^ d) #define FI(b, c, d) (c ^ (b | ~d)) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. */ void md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) { uint32_t correct_words[16]; const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t A = ctx->A; uint32_t B = ctx->B; uint32_t C = ctx->C; uint32_t D = ctx->D; uint32_t lolen = len; /* First increment the byte count. RFC 1321 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += lolen; ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen); /* Process all bytes in the buffer with 64 bytes in each round of the loop. */ while (words < endp) { uint32_t *cwp = correct_words; uint32_t A_save = A; uint32_t B_save = B; uint32_t C_save = C; uint32_t D_save = D; /* First round: using the given function, the context and a constant the next context is computed. Because the algorithms processing unit is a 32-bit word and it is determined to work on words in little endian byte order we perhaps have to change the byte order before the computation. To reduce the work for the next steps we store the swapped words in the array CORRECT_WORDS. */ #define OP(a, b, c, d, s, T) \ do \ { \ a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ ++words; \ CYCLIC (a, s); \ a += b; \ } \ while (0) /* It is unfortunate that C does not provide an operator for cyclic rotation. Hope the C compiler is smart enough. */ #define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) /* Before we start, one word to the strange constants. They are defined in RFC 1321 as T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 Here is an equivalent invocation using Perl: perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}' */ /* Round 1. */ OP (A, B, C, D, 7, 0xd76aa478); OP (D, A, B, C, 12, 0xe8c7b756); OP (C, D, A, B, 17, 0x242070db); OP (B, C, D, A, 22, 0xc1bdceee); OP (A, B, C, D, 7, 0xf57c0faf); OP (D, A, B, C, 12, 0x4787c62a); OP (C, D, A, B, 17, 0xa8304613); OP (B, C, D, A, 22, 0xfd469501); OP (A, B, C, D, 7, 0x698098d8); OP (D, A, B, C, 12, 0x8b44f7af); OP (C, D, A, B, 17, 0xffff5bb1); OP (B, C, D, A, 22, 0x895cd7be); OP (A, B, C, D, 7, 0x6b901122); OP (D, A, B, C, 12, 0xfd987193); OP (C, D, A, B, 17, 0xa679438e); OP (B, C, D, A, 22, 0x49b40821); /* For the second to fourth round we have the possibly swapped words in CORRECT_WORDS. Redefine the macro to take an additional first argument specifying the function to use. */ #undef OP #define OP(f, a, b, c, d, k, s, T) \ do \ { \ a += f (b, c, d) + correct_words[k] + T; \ CYCLIC (a, s); \ a += b; \ } \ while (0) /* Round 2. */ OP (FG, A, B, C, D, 1, 5, 0xf61e2562); OP (FG, D, A, B, C, 6, 9, 0xc040b340); OP (FG, C, D, A, B, 11, 14, 0x265e5a51); OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); OP (FG, A, B, C, D, 5, 5, 0xd62f105d); OP (FG, D, A, B, C, 10, 9, 0x02441453); OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); OP (FG, D, A, B, C, 14, 9, 0xc33707d6); OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); OP (FG, B, C, D, A, 8, 20, 0x455a14ed); OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); OP (FG, C, D, A, B, 7, 14, 0x676f02d9); OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); /* Round 3. */ OP (FH, A, B, C, D, 5, 4, 0xfffa3942); OP (FH, D, A, B, C, 8, 11, 0x8771f681); OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); OP (FH, B, C, D, A, 14, 23, 0xfde5380c); OP (FH, A, B, C, D, 1, 4, 0xa4beea44); OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); OP (FH, B, C, D, A, 6, 23, 0x04881d05); OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); /* Round 4. */ OP (FI, A, B, C, D, 0, 6, 0xf4292244); OP (FI, D, A, B, C, 7, 10, 0x432aff97); OP (FI, C, D, A, B, 14, 15, 0xab9423a7); OP (FI, B, C, D, A, 5, 21, 0xfc93a039); OP (FI, A, B, C, D, 12, 6, 0x655b59c3); OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); OP (FI, C, D, A, B, 10, 15, 0xffeff47d); OP (FI, B, C, D, A, 1, 21, 0x85845dd1); OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); OP (FI, C, D, A, B, 6, 15, 0xa3014314); OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); OP (FI, A, B, C, D, 4, 6, 0xf7537e82); OP (FI, D, A, B, C, 11, 10, 0xbd3af235); OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); OP (FI, B, C, D, A, 9, 21, 0xeb86d391); /* Add the starting values of the context. */ A += A_save; B += B_save; C += C_save; D += D_save; } /* Put checksum in context given as argument. */ ctx->A = A; ctx->B = B; ctx->C = C; ctx->D = D; } �������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbslen.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002405�12071024546�012542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Counting the multibyte characters in a string. Copyright (C) 2007-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2007. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> #include <stdlib.h> #include "mbuiter.h" /* Return the number of multibyte characters in the character string STRING. */ size_t mbslen (const char *string) { if (MB_CUR_MAX > 1) { size_t count; mbui_iterator_t iter; count = 0; for (mbui_init (iter, string); mbui_avail (iter); mbui_advance (iter)) count++; return count; } else return strlen (string); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnumcmp.h����������������������������������������������������������������������0000664�0000000�0000000�00000000165�12050450171�013312� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������int strintcmp (char const *, char const *) _GL_ATTRIBUTE_PURE; int strnumcmp (char const *, char const *, int, int); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/write.c��������������������������������������������������������������������������0000664�0000000�0000000�00000012011�12071024546�012406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* POSIX compatible write() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> /* On native Windows platforms, SIGPIPE does not exist. When write() is called on a pipe with no readers, WriteFile() fails with error GetLastError() = ERROR_NO_DATA, and write() in consequence fails with error EINVAL. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include <errno.h> # include <signal.h> # include <io.h> # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> # include "msvc-inval.h" # include "msvc-nothrow.h" # undef write # if HAVE_MSVC_INVALID_PARAMETER_HANDLER static ssize_t write_nothrow (int fd, const void *buf, size_t count) { ssize_t result; TRY_MSVC_INVAL { result = write (fd, buf, count); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } # else # define write_nothrow write # endif ssize_t rpl_write (int fd, const void *buf, size_t count) { for (;;) { ssize_t ret = write_nothrow (fd, buf, count); if (ret < 0) { # if GNULIB_NONBLOCKING if (errno == ENOSPC) { HANDLE h = (HANDLE) _get_osfhandle (fd); if (GetFileType (h) == FILE_TYPE_PIPE) { /* h is a pipe or socket. */ DWORD state; if (GetNamedPipeHandleState (h, &state, NULL, NULL, NULL, NULL, 0) && (state & PIPE_NOWAIT) != 0) { /* h is a pipe in non-blocking mode. We can get here in four situations: 1. When the pipe buffer is full. 2. When count <= pipe_buf_size and the number of free bytes in the pipe buffer is < count. 3. When count > pipe_buf_size and the number of free bytes in the pipe buffer is > 0, < pipe_buf_size. 4. When count > pipe_buf_size and the pipe buffer is entirely empty. The cases 1 and 2 are POSIX compliant. In cases 3 and 4 POSIX specifies that write() must split the request and succeed with a partial write. We fix case 4. We don't fix case 3 because it is not essential for programs. */ DWORD out_size; /* size of the buffer for outgoing data */ DWORD in_size; /* size of the buffer for incoming data */ if (GetNamedPipeInfo (h, NULL, &out_size, &in_size, NULL)) { size_t reduced_count = count; /* In theory we need only one of out_size, in_size. But I don't know which of the two. The description is ambiguous. */ if (out_size != 0 && out_size < reduced_count) reduced_count = out_size; if (in_size != 0 && in_size < reduced_count) reduced_count = in_size; if (reduced_count < count) { /* Attempt to write only the first part. */ count = reduced_count; continue; } } /* Change errno from ENOSPC to EAGAIN. */ errno = EAGAIN; } } } else # endif { # if GNULIB_SIGPIPE if (GetLastError () == ERROR_NO_DATA && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE) { /* Try to raise signal SIGPIPE. */ raise (SIGPIPE); /* If it is currently blocked or ignored, change errno from EINVAL to EPIPE. */ errno = EPIPE; } # endif } } return ret; } } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/buffer-lcm.h���������������������������������������������������������������������0000664�0000000�0000000�00000000124�12050450171�013277� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stddef.h> size_t buffer_lcm (size_t, size_t, size_t) _GL_ATTRIBUTE_CONST; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_resource.in.h����������������������������������������������������������������0000664�0000000�0000000�00000005557�12071561014�014430� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for <sys/resource.h>. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ # endif @PRAGMA_COLUMNS@ #ifndef _@GUARD_PREFIX@_SYS_RESOURCE_H #if @HAVE_SYS_RESOURCE_H@ /* On FreeBSD 5.0, <sys/resource.h> assumes prior inclusion of <sys/types.h> and <sys/time.h>. */ # include <sys/types.h> # include <sys/time.h> /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_RESOURCE_H@ #endif #ifndef _@GUARD_PREFIX@_SYS_RESOURCE_H #define _@GUARD_PREFIX@_SYS_RESOURCE_H #if !@HAVE_SYS_RESOURCE_H@ /* A platform that lacks <sys/resource.h>. */ /* Get 'struct timeval'. */ # include <sys/time.h> /* Define the RUSAGE_* constants. */ # define RUSAGE_SELF 0 # define RUSAGE_CHILDREN -1 # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_struct_rusage /* All known platforms that lack <sys/resource.h> also lack any declaration of struct rusage in any other header. */ struct rusage { struct timeval ru_utime; /* CPU time used in user mode */ struct timeval ru_stime; /* CPU time used in system mode (kernel) */ long ru_maxrss; long ru_ixrss; long ru_idrss; long ru_isrss; long ru_minflt; long ru_majflt; long ru_nswap; long ru_inblock; long ru_oublock; long ru_msgsnd; long ru_msgrcv; long ru_nsignals; long ru_nvcsw; long ru_nivcsw; }; # define GNULIB_defined_struct_rusage 1 # endif # ifdef __cplusplus } # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ #if @GNULIB_GETRUSAGE@ # if !@HAVE_GETRUSAGE@ _GL_FUNCDECL_SYS (getrusage, int, (int who, struct rusage *usage_p) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (getrusage, int, (int who, struct rusage *usage_p)); _GL_CXXALIASWARN (getrusage); #elif defined GNULIB_POSIXCHECK # undef getrusage # if HAVE_RAW_DECL_GETRUSAGE _GL_WARN_ON_USE (getrusage, "getrusage is unportable - " "use gnulib module getrusage for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SYS_RESOURCE_H */ #endif /* _@GUARD_PREFIX@_SYS_RESOURCE_H */ �������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/putenv.c�������������������������������������������������������������������������0000664�0000000�0000000�00000006274�12071024546�012613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdlib.h> #include <stddef.h> /* Include errno.h *after* sys/types.h to work around header problems on AIX 3.2.5. */ #include <errno.h> #ifndef __set_errno # define __set_errno(ev) ((errno) = (ev)) #endif #include <string.h> #include <unistd.h> #if _LIBC # if HAVE_GNU_LD # define environ __environ # else extern char **environ; # endif #endif #if _LIBC /* This lock protects against simultaneous modifications of 'environ'. */ # include <bits/libc-lock.h> __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif static int _unsetenv (const char *name) { size_t len; char **ep; if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) { __set_errno (EINVAL); return -1; } len = strlen (name); LOCK; ep = environ; while (*ep != NULL) if (!strncmp (*ep, name, len) && (*ep)[len] == '=') { /* Found it. Remove this pointer by moving later ones back. */ char **dp = ep; do dp[0] = dp[1]; while (*dp++); /* Continue the loop in case NAME appears again. */ } else ++ep; UNLOCK; return 0; } /* Put STRING, which is of the form "NAME=VALUE", in the environment. If STRING contains no '=', then remove STRING from the environment. */ int putenv (char *string) { const char *const name_end = strchr (string, '='); register size_t size; register char **ep; if (name_end == NULL) { /* Remove the variable from the environment. */ return _unsetenv (string); } size = 0; for (ep = environ; *ep != NULL; ++ep) if (!strncmp (*ep, string, name_end - string) && (*ep)[name_end - string] == '=') break; else ++size; if (*ep == NULL) { static char **last_environ = NULL; char **new_environ = (char **) malloc ((size + 2) * sizeof (char *)); if (new_environ == NULL) return -1; (void) memcpy ((void *) new_environ, (void *) environ, size * sizeof (char *)); new_environ[size] = (char *) string; new_environ[size + 1] = NULL; free (last_environ); last_environ = new_environ; environ = new_environ; } else *ep = string; return 0; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readtokens.h���������������������������������������������������������������������0000664�0000000�0000000�00000002521�12071024546�013425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* readtokens.h -- Functions for reading tokens from an input stream. Copyright (C) 1990-1991, 1999, 2001-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Jim Meyering. */ #ifndef READTOKENS_H # define READTOKENS_H # include <stdio.h> struct tokenbuffer { size_t size; char *buffer; }; typedef struct tokenbuffer token_buffer; void init_tokenbuffer (token_buffer *tokenbuffer); size_t readtoken (FILE *stream, const char *delim, size_t n_delim, token_buffer *tokenbuffer); size_t readtokens (FILE *stream, size_t projected_n_tokens, const char *delim, size_t n_delim, char ***tokens_out, size_t **token_lengths); #endif /* not READTOKENS_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strchrnul.c����������������������������������������������������������������������0000664�0000000�0000000�00000013015�12071024546�013305� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Searching in a string. Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> /* Find the first occurrence of C in S or the final NUL byte. */ char * strchrnul (const char *s, int c_in) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned char c; c = (unsigned char) c_in; if (!c) return rawmemchr (s, 0); /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; (size_t) char_ptr % sizeof (longword) != 0; ++char_ptr) if (!*char_ptr || *char_ptr == c) return (char *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to NUL or c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 or longword2 is zero. Let's consider longword1. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. The test whether any byte in longword1 or longword2 is zero is equivalent to testing whether tmp1 is nonzero or tmp2 is nonzero. We can combine this into a single test, whether (tmp1 | tmp2) is nonzero. This test can read more than one byte beyond the end of a string, depending on where the terminating NUL is encountered. However, this is considered safe since the initialization phase ensured that the read will be aligned, therefore, the read will not cross page boundaries and will not cause a fault. */ while (1) { longword longword1 = *longword_ptr ^ repeated_c; longword longword2 = *longword_ptr; if (((((longword1 - repeated_one) & ~longword1) | ((longword2 - repeated_one) & ~longword2)) & (repeated_one << 7)) != 0) break; longword_ptr++; } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that one of the sizeof (longword) bytes starting at char_ptr is == 0 or == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ char_ptr = (unsigned char *) longword_ptr; while (*char_ptr && (*char_ptr != c)) char_ptr++; return (char *) char_ptr; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rand-isaac.c���������������������������������������������������������������������0000664�0000000�0000000�00000022731�12102337340�013262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Bob Jenkins's cryptographic random number generators, ISAAC and ISAAC64. Copyright (C) 1999-2013 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999 Colin Plumb. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Colin Plumb and Paul Eggert. */ /* * -------------------------------------------------------------------- * We need a source of random numbers for some data. * Cryptographically secure is desirable, but it's not life-or-death * so I can be a little bit experimental in the choice of RNGs here. * * This generator is based somewhat on RC4, but has analysis * <http://burtleburtle.net/bob/rand/isaacafa.html> * pointing to it actually being better. I like it because it's nice * and fast, and because the author did good work analyzing it. * -------------------------------------------------------------------- */ #include <config.h> #include "rand-isaac.h" #include <limits.h> /* The minimum of two sizes A and B. */ static inline size_t min (size_t a, size_t b) { return (a < b ? a : b); } /* A if 32-bit ISAAC, B if 64-bit. This is a macro, not an inline function, to prevent undefined behavior if the unused argument shifts by more than a word width. */ #define IF32(a, b) (ISAAC_BITS == 32 ? (a) : (b)) /* Discard bits outside the desired range. On typical machines, any decent compiler should optimize this function call away to nothing. But machines with pad bits in integers may need to do more work. */ static inline isaac_word just (isaac_word a) { isaac_word desired_bits = ((isaac_word) 1 << 1 << (ISAAC_BITS - 1)) - 1; return a & desired_bits; } /* The index operation. On typical machines whose words are exactly the right size, this is optimized to a mask, an addition, and an indirect load. Atypical machines need more work. */ static inline isaac_word ind (isaac_word const *m, isaac_word x) { return (sizeof *m * CHAR_BIT == ISAAC_BITS ? (* (isaac_word *) ((char *) m + (x & ((ISAAC_WORDS - 1) * sizeof *m)))) : m[(x / (ISAAC_BITS / CHAR_BIT)) & (ISAAC_WORDS - 1)]); } /* Use and update *S to generate random data to fill RESULT. */ void isaac_refill (struct isaac_state *s, isaac_word result[ISAAC_WORDS]) { /* Caches of S->a and S->b. */ isaac_word a = s->a; isaac_word b = s->b + (++s->c); /* Pointers into state array and into result. */ isaac_word *m = s->m; isaac_word *r = result; enum { HALF = ISAAC_WORDS / 2 }; /* The central step. S->m is the whole state array, while M is a pointer to the current word. OFF is the offset from M to the word ISAAC_WORDS/2 words away in the SM array, i.e. +/- ISAAC_WORDS/2. A and B are state variables, and R the result. This updates A, B, M[I], and R[I]. */ #define ISAAC_STEP(i, off, mix) \ { \ isaac_word x, y; \ a = (IF32 (a, 0) ^ (mix)) + m[off + (i)]; \ x = m[i]; \ m[i] = y = ind (s->m, x) + a + b; \ r[i] = b = just (ind (s->m, y >> ISAAC_WORDS_LOG) + x); \ } do { ISAAC_STEP (0, HALF, IF32 ( a << 13, ~ (a ^ (a << 21)))); ISAAC_STEP (1, HALF, IF32 (just (a) >> 6, a ^ (just (a) >> 5))); ISAAC_STEP (2, HALF, IF32 ( a << 2, a ^ ( a << 12))); ISAAC_STEP (3, HALF, IF32 (just (a) >> 16, a ^ (just (a) >> 33))); r += 4; } while ((m += 4) < s->m + HALF); do { ISAAC_STEP (0, -HALF, IF32 ( a << 13, ~ (a ^ (a << 21)))); ISAAC_STEP (1, -HALF, IF32 (just (a) >> 6, a ^ (just (a) >> 5))); ISAAC_STEP (2, -HALF, IF32 ( a << 2, a ^ ( a << 12))); ISAAC_STEP (3, -HALF, IF32 (just (a) >> 16, a ^ (just (a) >> 33))); r += 4; } while ((m += 4) < s->m + ISAAC_WORDS); s->a = a; s->b = b; } /* * The basic seed-scrambling step for initialization, based on Bob * Jenkins' 256-bit hash. */ #if ISAAC_BITS == 32 #define mix(a, b, c, d, e, f, g, h) \ { \ a ^= b << 11; d += a; \ b += c; b ^= just (c) >> 2; e += b; \ c += d; c ^= d << 8; f += c; \ d += e; d ^= just (e) >> 16; g += d; \ e += f; e ^= f << 10; h += e; \ f += g; f ^= just (g) >> 4; a += f; \ g += h; g ^= h << 8; b += g; \ h += a; h ^= just (a) >> 9; c += h; \ a += b; \ } #else #define mix(a, b, c, d, e, f, g, h) \ { \ a -= e; f ^= just (h) >> 9; h += a; \ b -= f; g ^= a << 9; a += b; \ c -= g; h ^= just (b) >> 23; b += c; \ d -= h; a ^= c << 15; c += d; \ e -= a; b ^= just (d) >> 14; d += e; \ f -= b; c ^= e << 20; e += f; \ g -= c; d ^= just (f) >> 17; f += g; \ h -= d; e ^= g << 14; g += h; \ } #endif /* The basic ISAAC initialization pass. */ #define ISAAC_MIX(s, a, b, c, d, e, f, g, h, seed) \ { \ int i; \ \ for (i = 0; i < ISAAC_WORDS; i += 8) \ { \ a += seed[i]; \ b += seed[i + 1]; \ c += seed[i + 2]; \ d += seed[i + 3]; \ e += seed[i + 4]; \ f += seed[i + 5]; \ g += seed[i + 6]; \ h += seed[i + 7]; \ mix (a, b, c, d, e, f, g, h); \ s->m[i] = a; \ s->m[i + 1] = b; \ s->m[i + 2] = c; \ s->m[i + 3] = d; \ s->m[i + 4] = e; \ s->m[i + 5] = f; \ s->m[i + 6] = g; \ s->m[i + 7] = h; \ } \ } #if 0 /* Provided for reference only; not used in this code */ /* * Initialize the ISAAC RNG with the given seed material. * Its size MUST be a multiple of ISAAC_BYTES, and may be * stored in the s->m array. * * This is a generalization of the original ISAAC initialization code * to support larger seed sizes. For seed sizes of 0 and ISAAC_BYTES, * it is identical. */ static void isaac_init (struct isaac_state *s, isaac_word const *seed, size_t seedsize) { isaac_word a, b, c, d, e, f, g, h; a = b = c = d = e = f = g = h = /* the golden ratio */ IF32 (UINT32_C (0x9e3779b9), UINT64_C (0x9e3779b97f4a7c13)); for (int i = 0; i < 4; i++) /* scramble it */ mix (a, b, c, d, e, f, g, h); s->a = s->b = s->c = 0; if (seedsize) { /* First pass (as in reference ISAAC code) */ ISAAC_MIX (s, a, b, c, d, e, f, g, h, seed); /* Second and subsequent passes (extension to ISAAC) */ while (seedsize -= ISAAC_BYTES) { seed += ISAAC_WORDS; for (i = 0; i < ISAAC_WORDS; i++) s->m[i] += seed[i]; ISAAC_MIX (s, a, b, c, d, e, f, g, h, s->m); } } else { /* The no seed case (as in reference ISAAC code) */ for (i = 0; i < ISAAC_WORDS; i++) s->m[i] = 0; } /* Final pass */ ISAAC_MIX (s, a, b, c, d, e, f, g, h, s->m); } #endif /* Initialize *S to a somewhat-random value, derived from a seed stored in S->m. */ void isaac_seed (struct isaac_state *s) { isaac_word a = IF32 (UINT32_C (0x1367df5a), UINT64_C (0x647c4677a2884b7c)); isaac_word b = IF32 (UINT32_C (0x95d90059), UINT64_C (0xb9f8b322c73ac862)); isaac_word c = IF32 (UINT32_C (0xc3163e4b), UINT64_C (0x8c0ea5053d4712a0)); isaac_word d = IF32 (UINT32_C (0x0f421ad8), UINT64_C (0xb29b2e824a595524)); isaac_word e = IF32 (UINT32_C (0xd92a4a78), UINT64_C (0x82f053db8355e0ce)); isaac_word f = IF32 (UINT32_C (0xa51a3c49), UINT64_C (0x48fe4a0fa5a09315)); isaac_word g = IF32 (UINT32_C (0xc4efea1b), UINT64_C (0xae985bf2cbfc89ed)); isaac_word h = IF32 (UINT32_C (0x30609119), UINT64_C (0x98f5704f6c44c0ab)); #if 0 /* The initialization of a through h is a precomputed form of: */ a = b = c = d = e = f = g = h = /* the golden ratio */ IF32 (UINT32_C (0x9e3779b9), UINT64_C (0x9e3779b97f4a7c13)); for (int i = 0; i < 4; i++) /* scramble it */ mix (a, b, c, d, e, f, g, h); #endif /* Mix S->m so that every part of the seed affects every part of the state. */ ISAAC_MIX (s, a, b, c, d, e, f, g, h, s->m); ISAAC_MIX (s, a, b, c, d, e, f, g, h, s->m); s->a = s->b = s->c = 0; } ���������������������������������������coreutils-8.21/lib/hash-pjw.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002132�12071024546�013005� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hash-pjw.h -- declaration for a simple hash function Copyright (C) 2001, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> /* Compute a hash code for a NUL-terminated string starting at X, and return the hash code modulo TABLESIZE. The result is platform dependent: it depends on the size of the 'size_t' type and on the signedness of the 'char' type. */ extern size_t hash_pjw (void const *x, size_t tablesize) _GL_ATTRIBUTE_PURE; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memcmp2.h������������������������������������������������������������������������0000664�0000000�0000000�00000002420�12071561011�012615� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compare two memory areas with possibly different lengths. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef MEMCMP2_H #define MEMCMP2_H #include <stddef.h> #ifdef __cplusplus extern "C" { #endif /* Compare the memory regions S1 = [s1..s1+N1-1], S2 = [s2..s2+n2-1], lexicographically. This function's result is locale independent, unlike memcoll()'s. Return a negative number if S1 < S2, a positive number if S1 > S2, or 0 if S1 and S2 have the same contents. */ extern int memcmp2 (const char *s1, size_t n1, const char *s2, size_t n2) _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } #endif #endif /* MEMCMP2_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xalloc-die.c���������������������������������������������������������������������0000664�0000000�0000000�00000002434�12071024546�013305� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Report a memory allocation failure and exit. Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "xalloc.h" #include <stdlib.h> #include "error.h" #include "exitfail.h" #include "gettext.h" #define _(msgid) gettext (msgid) void xalloc_die (void) { error (exit_failure, 0, "%s", _("memory exhausted")); /* _Noreturn cannot be given to error, since it may return if its first argument is 0. To help compilers understand the xalloc_die does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ abort (); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/acl-internal.h�������������������������������������������������������������������0000664�0000000�0000000�00000020241�12071024545�013635� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Internal implementation of access control lists. Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ #include "acl.h" #include <stdbool.h> #include <stdlib.h> /* All systems define the ACL related API in <sys/acl.h>. */ #if HAVE_SYS_ACL_H # include <sys/acl.h> #endif #if defined HAVE_FACL && ! defined GETACLCNT && defined ACL_CNT # define GETACLCNT ACL_CNT #endif /* On Linux, additional ACL related API is available in <acl/libacl.h>. */ #ifdef HAVE_ACL_LIBACL_H # include <acl/libacl.h> #endif /* On HP-UX >= 11.11, additional ACL API is available in <aclv.h>. */ #if HAVE_ACLV_H # include <sys/types.h> # include <aclv.h> /* HP-UX 11.11 lacks these declarations. */ extern int acl (char *, int, int, struct acl *); extern int aclsort (int, int, struct acl *); #endif #include "error.h" #include "quote.h" #include <errno.h> #ifndef ENOSYS # define ENOSYS (-1) #endif #ifndef ENOTSUP # define ENOTSUP (-1) #endif #include <limits.h> #ifndef MIN # define MIN(a,b) ((a) < (b) ? (a) : (b)) #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #ifndef HAVE_FCHMOD # define HAVE_FCHMOD false # define fchmod(fd, mode) (-1) #endif /* Recognize some common errors such as from an NFS mount that does not support ACLs, even when local drives do. */ #if defined __APPLE__ && defined __MACH__ /* Mac OS X */ # define ACL_NOT_WELL_SUPPORTED(Err) \ ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == ENOENT) #elif defined EOPNOTSUPP /* Tru64 NFS */ # define ACL_NOT_WELL_SUPPORTED(Err) \ ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == EOPNOTSUPP) #else # define ACL_NOT_WELL_SUPPORTED(Err) \ ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY) #endif _GL_INLINE_HEADER_BEGIN #ifndef ACL_INTERNAL_INLINE # define ACL_INTERNAL_INLINE _GL_INLINE #endif #if USE_ACL # if HAVE_ACL_GET_FILE /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ # ifndef MIN_ACL_ENTRIES # define MIN_ACL_ENTRIES 4 # endif /* POSIX 1003.1e (draft 17) */ # ifdef HAVE_ACL_GET_FD /* Most platforms have a 1-argument acl_get_fd, only OSF/1 has a 2-argument macro(!). */ # if HAVE_ACL_FREE_TEXT /* OSF/1 */ ACL_INTERNAL_INLINE acl_t rpl_acl_get_fd (int fd) { return acl_get_fd (fd, ACL_TYPE_ACCESS); } # undef acl_get_fd # define acl_get_fd rpl_acl_get_fd # endif # else # define HAVE_ACL_GET_FD false # undef acl_get_fd # define acl_get_fd(fd) (NULL) # endif /* POSIX 1003.1e (draft 17) */ # ifdef HAVE_ACL_SET_FD /* Most platforms have a 2-argument acl_set_fd, only OSF/1 has a 3-argument macro(!). */ # if HAVE_ACL_FREE_TEXT /* OSF/1 */ ACL_INTERNAL_INLINE int rpl_acl_set_fd (int fd, acl_t acl) { return acl_set_fd (fd, ACL_TYPE_ACCESS, acl); } # undef acl_set_fd # define acl_set_fd rpl_acl_set_fd # endif # else # define HAVE_ACL_SET_FD false # undef acl_set_fd # define acl_set_fd(fd, acl) (-1) # endif /* POSIX 1003.1e (draft 13) */ # if ! HAVE_ACL_FREE_TEXT # define acl_free_text(buf) acl_free (buf) # endif /* Linux-specific */ # ifndef HAVE_ACL_EXTENDED_FILE # define HAVE_ACL_EXTENDED_FILE false # define acl_extended_file(name) (-1) # endif /* Linux-specific */ # ifndef HAVE_ACL_FROM_MODE # define HAVE_ACL_FROM_MODE false # define acl_from_mode(mode) (NULL) # endif /* Set to 1 if a file's mode is implicit by the ACL. Set to 0 if a file's mode is stored independently from the ACL. */ # if (HAVE_ACL_COPY_EXT_NATIVE && HAVE_ACL_CREATE_ENTRY_NP) || defined __sgi /* Mac OS X, IRIX */ # define MODE_INSIDE_ACL 0 # else # define MODE_INSIDE_ACL 1 # endif /* Return the number of entries in ACL. Return -1 and set errno upon failure to determine it. */ /* Define a replacement for acl_entries if needed. (Only Linux has it.) */ # if !HAVE_ACL_ENTRIES # define acl_entries rpl_acl_entries extern int acl_entries (acl_t); # endif # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ /* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. Return 1 if the given ACL is non-trivial. Return 0 if it is trivial. */ extern int acl_extended_nontrivial (acl_t); # else /* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. Return -1 and set errno upon failure to determine it. */ extern int acl_access_nontrivial (acl_t); # endif # elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ /* Set to 1 if a file's mode is implicit by the ACL. Set to 0 if a file's mode is stored independently from the ACL. */ # if defined __CYGWIN__ /* Cygwin */ # define MODE_INSIDE_ACL 0 # else /* Solaris */ # define MODE_INSIDE_ACL 1 # endif /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_nontrivial (int count, aclent_t *entries); # ifdef ACE_GETACL /* Solaris 10 */ /* Test an ACL retrieved with ACE_GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_ace_nontrivial (int count, ace_t *entries); /* Definitions for when the built executable is executed on Solaris 10 (newer version) or Solaris 11. */ /* For a_type. */ # define OLD_ALLOW 0 # define OLD_DENY 1 # define NEW_ACE_ACCESS_ALLOWED_ACE_TYPE 0 /* replaces ALLOW */ # define NEW_ACE_ACCESS_DENIED_ACE_TYPE 1 /* replaces DENY */ /* For a_flags. */ # define OLD_ACE_OWNER 0x0100 # define OLD_ACE_GROUP 0x0200 # define OLD_ACE_OTHER 0x0400 # define NEW_ACE_OWNER 0x1000 # define NEW_ACE_GROUP 0x2000 # define NEW_ACE_IDENTIFIER_GROUP 0x0040 # define NEW_ACE_EVERYONE 0x4000 /* For a_access_mask. */ # define NEW_ACE_READ_DATA 0x001 /* corresponds to 'r' */ # define NEW_ACE_WRITE_DATA 0x002 /* corresponds to 'w' */ # define NEW_ACE_APPEND_DATA 0x004 # define NEW_ACE_READ_NAMED_ATTRS 0x008 # define NEW_ACE_WRITE_NAMED_ATTRS 0x010 # define NEW_ACE_EXECUTE 0x020 # define NEW_ACE_DELETE_CHILD 0x040 # define NEW_ACE_READ_ATTRIBUTES 0x080 # define NEW_ACE_WRITE_ATTRIBUTES 0x100 # define NEW_ACE_DELETE 0x10000 # define NEW_ACE_READ_ACL 0x20000 # define NEW_ACE_WRITE_ACL 0x40000 # define NEW_ACE_WRITE_OWNER 0x80000 # define NEW_ACE_SYNCHRONIZE 0x100000 # endif # elif HAVE_GETACL /* HP-UX */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb); # if HAVE_ACLV_H /* HP-UX >= 11.11 */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int aclv_nontrivial (int count, struct acl *entries); # endif # elif HAVE_ACLX_GET && 0 /* AIX */ /* TODO */ # elif HAVE_STATACL /* older AIX */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_nontrivial (struct acl *a); # elif HAVE_ACLSORT /* NonStop Kernel */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ extern int acl_nontrivial (int count, struct acl *entries); # endif #endif _GL_INLINE_HEADER_END ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/allocator.h����������������������������������������������������������������������0000664�0000000�0000000�00000004234�12071024545�013250� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Memory allocators such as malloc+free. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef _GL_ALLOCATOR_H #define _GL_ALLOCATOR_H #include <stddef.h> /* An object describing a memory allocator family. */ struct allocator { /* Do not use GCC attributes such as __attribute__ ((malloc)) with the function types pointed at by these members, because these attributes do not work with pointers to functions. See <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00007.html>. */ /* Call ALLOCATE to allocate memory, like 'malloc'. On failure ALLOCATE should return NULL, though not necessarily set errno. When given a zero size it may return NULL even if successful. */ void *(*allocate) (size_t); /* If nonnull, call REALLOCATE to reallocate memory, like 'realloc'. On failure REALLOCATE should return NULL, though not necessarily set errno. When given a zero size it may return NULL even if successful. */ void *(*reallocate) (void *, size_t); /* Call FREE to free memory, like 'free'. */ void (*free) (void *); /* If nonnull, call DIE (SIZE) if MALLOC (SIZE) or REALLOC (..., SIZE) fails. DIE should not return. SIZE should equal SIZE_MAX if size_t overflow was detected while calculating sizes to be passed to MALLOC or REALLOC. */ void (*die) (size_t); }; /* An allocator using the stdlib functions and a null DIE function. */ extern struct allocator const stdlib_allocator; #endif /* _GL_ALLOCATOR_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/str-two-way.h��������������������������������������������������������������������0000664�0000000�0000000�00000042165�12071561013�013506� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Byte-wise substring search, using the Two-Way algorithm. Copyright (C) 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Eric Blake <ebb9@byu.net>, 2008. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Before including this file, you need to include <config.h> and <string.h>, and define: RESULT_TYPE A macro that expands to the return type. AVAILABLE(h, h_l, j, n_l) A macro that returns nonzero if there are at least N_L bytes left starting at H[J]. H is 'unsigned char *', H_L, J, and N_L are 'size_t'; H_L is an lvalue. For NUL-terminated searches, H_L can be modified each iteration to avoid having to compute the end of H up front. For case-insensitivity, you may optionally define: CMP_FUNC(p1, p2, l) A macro that returns 0 iff the first L characters of P1 and P2 are equal. CANON_ELEMENT(c) A macro that canonicalizes an element right after it has been fetched from one of the two strings. The argument is an 'unsigned char'; the result must be an 'unsigned char' as well. This file undefines the macros documented above, and defines LONG_NEEDLE_THRESHOLD. */ #include <limits.h> #include <stdint.h> /* We use the Two-Way string matching algorithm (also known as Chrochemore-Perrin), which guarantees linear complexity with constant space. Additionally, for long needles, we also use a bad character shift table similar to the Boyer-Moore algorithm to achieve improved (potentially sub-linear) performance. See http://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260, http://en.wikipedia.org/wiki/Boyer-Moore_string_search_algorithm, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.6641&rep=rep1&type=pdf */ /* Point at which computing a bad-byte shift table is likely to be worthwhile. Small needles should not compute a table, since it adds (1 << CHAR_BIT) + NEEDLE_LEN computations of preparation for a speedup no greater than a factor of NEEDLE_LEN. The larger the needle, the better the potential performance gain. On the other hand, on non-POSIX systems with CHAR_BIT larger than eight, the memory required for the table is prohibitive. */ #if CHAR_BIT < 10 # define LONG_NEEDLE_THRESHOLD 32U #else # define LONG_NEEDLE_THRESHOLD SIZE_MAX #endif #ifndef MAX # define MAX(a, b) ((a < b) ? (b) : (a)) #endif #ifndef CANON_ELEMENT # define CANON_ELEMENT(c) c #endif #ifndef CMP_FUNC # define CMP_FUNC memcmp #endif /* Perform a critical factorization of NEEDLE, of length NEEDLE_LEN. Return the index of the first byte in the right half, and set *PERIOD to the global period of the right half. The global period of a string is the smallest index (possibly its length) at which all remaining bytes in the string are repetitions of the prefix (the last repetition may be a subset of the prefix). When NEEDLE is factored into two halves, a local period is the length of the smallest word that shares a suffix with the left half and shares a prefix with the right half. All factorizations of a non-empty NEEDLE have a local period of at least 1 and no greater than NEEDLE_LEN. A critical factorization has the property that the local period equals the global period. All strings have at least one critical factorization with the left half smaller than the global period. And while some strings have more than one critical factorization, it is provable that with an ordered alphabet, at least one of the critical factorizations corresponds to a maximal suffix. Given an ordered alphabet, a critical factorization can be computed in linear time, with 2 * NEEDLE_LEN comparisons, by computing the shorter of two ordered maximal suffixes. The ordered maximal suffixes are determined by lexicographic comparison while tracking periodicity. */ static size_t critical_factorization (const unsigned char *needle, size_t needle_len, size_t *period) { /* Index of last byte of left half, or SIZE_MAX. */ size_t max_suffix, max_suffix_rev; size_t j; /* Index into NEEDLE for current candidate suffix. */ size_t k; /* Offset into current period. */ size_t p; /* Intermediate period. */ unsigned char a, b; /* Current comparison bytes. */ /* Special case NEEDLE_LEN of 1 or 2 (all callers already filtered out 0-length needles. */ if (needle_len < 3) { *period = 1; return needle_len - 1; } /* Invariants: 0 <= j < NEEDLE_LEN - 1 -1 <= max_suffix{,_rev} < j (treating SIZE_MAX as if it were signed) min(max_suffix, max_suffix_rev) < global period of NEEDLE 1 <= p <= global period of NEEDLE p == global period of the substring NEEDLE[max_suffix{,_rev}+1...j] 1 <= k <= p */ /* Perform lexicographic search. */ max_suffix = SIZE_MAX; j = 0; k = p = 1; while (j + k < needle_len) { a = CANON_ELEMENT (needle[j + k]); b = CANON_ELEMENT (needle[max_suffix + k]); if (a < b) { /* Suffix is smaller, period is entire prefix so far. */ j += k; k = 1; p = j - max_suffix; } else if (a == b) { /* Advance through repetition of the current period. */ if (k != p) ++k; else { j += p; k = 1; } } else /* b < a */ { /* Suffix is larger, start over from current location. */ max_suffix = j++; k = p = 1; } } *period = p; /* Perform reverse lexicographic search. */ max_suffix_rev = SIZE_MAX; j = 0; k = p = 1; while (j + k < needle_len) { a = CANON_ELEMENT (needle[j + k]); b = CANON_ELEMENT (needle[max_suffix_rev + k]); if (b < a) { /* Suffix is smaller, period is entire prefix so far. */ j += k; k = 1; p = j - max_suffix_rev; } else if (a == b) { /* Advance through repetition of the current period. */ if (k != p) ++k; else { j += p; k = 1; } } else /* a < b */ { /* Suffix is larger, start over from current location. */ max_suffix_rev = j++; k = p = 1; } } /* Choose the shorter suffix. Return the index of the first byte of the right half, rather than the last byte of the left half. For some examples, 'banana' has two critical factorizations, both exposed by the two lexicographic extreme suffixes of 'anana' and 'nana', where both suffixes have a period of 2. On the other hand, with 'aab' and 'bba', both strings have a single critical factorization of the last byte, with the suffix having a period of 1. While the maximal lexicographic suffix of 'aab' is 'b', the maximal lexicographic suffix of 'bba' is 'ba', which is not a critical factorization. Conversely, the maximal reverse lexicographic suffix of 'a' works for 'bba', but not 'ab' for 'aab'. The shorter suffix of the two will always be a critical factorization. */ if (max_suffix_rev + 1 < max_suffix + 1) return max_suffix + 1; *period = p; return max_suffix_rev + 1; } /* Return the first location of non-empty NEEDLE within HAYSTACK, or NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This method is optimized for NEEDLE_LEN < LONG_NEEDLE_THRESHOLD. Performance is guaranteed to be linear, with an initialization cost of 2 * NEEDLE_LEN comparisons. If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ static RETURN_TYPE two_way_short_needle (const unsigned char *haystack, size_t haystack_len, const unsigned char *needle, size_t needle_len) { size_t i; /* Index into current byte of NEEDLE. */ size_t j; /* Index into current window of HAYSTACK. */ size_t period; /* The period of the right half of needle. */ size_t suffix; /* The index of the right half of needle. */ /* Factor the needle into two halves, such that the left half is smaller than the global period, and the right half is periodic (with a period as large as NEEDLE_LEN - suffix). */ suffix = critical_factorization (needle, needle_len, &period); /* Perform the search. Each iteration compares the right half first. */ if (CMP_FUNC (needle, needle + period, suffix) == 0) { /* Entire needle is periodic; a mismatch in the left half can only advance by the period, so use memory to avoid rescanning known occurrences of the period in the right half. */ size_t memory = 0; j = 0; while (AVAILABLE (haystack, haystack_len, j, needle_len)) { /* Scan for matches in right half. */ i = MAX (suffix, memory); while (i < needle_len && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) ++i; if (needle_len <= i) { /* Scan for matches in left half. */ i = suffix - 1; while (memory < i + 1 && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) --i; if (i + 1 < memory + 1) return (RETURN_TYPE) (haystack + j); /* No match, so remember how many repetitions of period on the right half were scanned. */ j += period; memory = needle_len - period; } else { j += i - suffix + 1; memory = 0; } } } else { /* The two halves of needle are distinct; no extra memory is required, and any mismatch results in a maximal shift. */ period = MAX (suffix, needle_len - suffix) + 1; j = 0; while (AVAILABLE (haystack, haystack_len, j, needle_len)) { /* Scan for matches in right half. */ i = suffix; while (i < needle_len && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) ++i; if (needle_len <= i) { /* Scan for matches in left half. */ i = suffix - 1; while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) --i; if (i == SIZE_MAX) return (RETURN_TYPE) (haystack + j); j += period; } else j += i - suffix + 1; } } return NULL; } /* Return the first location of non-empty NEEDLE within HAYSTACK, or NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This method is optimized for LONG_NEEDLE_THRESHOLD <= NEEDLE_LEN. Performance is guaranteed to be linear, with an initialization cost of 3 * NEEDLE_LEN + (1 << CHAR_BIT) operations. If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and sublinear performance O(HAYSTACK_LEN / NEEDLE_LEN) is possible. If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and sublinear performance is not possible. */ static RETURN_TYPE two_way_long_needle (const unsigned char *haystack, size_t haystack_len, const unsigned char *needle, size_t needle_len) { size_t i; /* Index into current byte of NEEDLE. */ size_t j; /* Index into current window of HAYSTACK. */ size_t period; /* The period of the right half of needle. */ size_t suffix; /* The index of the right half of needle. */ size_t shift_table[1U << CHAR_BIT]; /* See below. */ /* Factor the needle into two halves, such that the left half is smaller than the global period, and the right half is periodic (with a period as large as NEEDLE_LEN - suffix). */ suffix = critical_factorization (needle, needle_len, &period); /* Populate shift_table. For each possible byte value c, shift_table[c] is the distance from the last occurrence of c to the end of NEEDLE, or NEEDLE_LEN if c is absent from the NEEDLE. shift_table[NEEDLE[NEEDLE_LEN - 1]] contains the only 0. */ for (i = 0; i < 1U << CHAR_BIT; i++) shift_table[i] = needle_len; for (i = 0; i < needle_len; i++) shift_table[CANON_ELEMENT (needle[i])] = needle_len - i - 1; /* Perform the search. Each iteration compares the right half first. */ if (CMP_FUNC (needle, needle + period, suffix) == 0) { /* Entire needle is periodic; a mismatch in the left half can only advance by the period, so use memory to avoid rescanning known occurrences of the period in the right half. */ size_t memory = 0; size_t shift; j = 0; while (AVAILABLE (haystack, haystack_len, j, needle_len)) { /* Check the last byte first; if it does not match, then shift to the next possible match location. */ shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; if (0 < shift) { if (memory && shift < period) { /* Since needle is periodic, but the last period has a byte out of place, there can be no match until after the mismatch. */ shift = needle_len - period; } memory = 0; j += shift; continue; } /* Scan for matches in right half. The last byte has already been matched, by virtue of the shift table. */ i = MAX (suffix, memory); while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) ++i; if (needle_len - 1 <= i) { /* Scan for matches in left half. */ i = suffix - 1; while (memory < i + 1 && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) --i; if (i + 1 < memory + 1) return (RETURN_TYPE) (haystack + j); /* No match, so remember how many repetitions of period on the right half were scanned. */ j += period; memory = needle_len - period; } else { j += i - suffix + 1; memory = 0; } } } else { /* The two halves of needle are distinct; no extra memory is required, and any mismatch results in a maximal shift. */ size_t shift; period = MAX (suffix, needle_len - suffix) + 1; j = 0; while (AVAILABLE (haystack, haystack_len, j, needle_len)) { /* Check the last byte first; if it does not match, then shift to the next possible match location. */ shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])]; if (0 < shift) { j += shift; continue; } /* Scan for matches in right half. The last byte has already been matched, by virtue of the shift table. */ i = suffix; while (i < needle_len - 1 && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) ++i; if (needle_len - 1 <= i) { /* Scan for matches in left half. */ i = suffix - 1; while (i != SIZE_MAX && (CANON_ELEMENT (needle[i]) == CANON_ELEMENT (haystack[i + j]))) --i; if (i == SIZE_MAX) return (RETURN_TYPE) (haystack + j); j += period; } else j += i - suffix + 1; } } return NULL; } #undef AVAILABLE #undef CANON_ELEMENT #undef CMP_FUNC #undef MAX #undef RETURN_TYPE �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xsize.h��������������������������������������������������������������������������0000664�0000000�0000000�00000006736�12071561015�012441� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xsize.h -- Checked size_t computations. Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _XSIZE_H #define _XSIZE_H /* Get size_t. */ #include <stddef.h> /* Get SIZE_MAX. */ #include <limits.h> #if HAVE_STDINT_H # include <stdint.h> #endif _GL_INLINE_HEADER_BEGIN #ifndef XSIZE_INLINE # define XSIZE_INLINE _GL_INLINE #endif /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). These computations can lead to overflow. When this happens, malloc() returns a piece of memory that is way too small, and the program then crashes while attempting to fill the memory. To avoid this, the functions and macros in this file check for overflow. The convention is that SIZE_MAX represents overflow. malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc implementation that uses mmap --, it's recommended to use size_overflow_p() or size_in_bounds_p() before invoking malloc(). The example thus becomes: size_t size = xsum (header_size, xtimes (n, element_size)); void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); */ /* Convert an arbitrary value >= 0 to type size_t. */ #define xcast_size_t(N) \ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum (size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } /* Sum of three sizes, with overflow check. */ XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum3 (size_t size1, size_t size2, size_t size3) { return xsum (xsum (size1, size2), size3); } /* Sum of four sizes, with overflow check. */ XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) { return xsum (xsum (xsum (size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ XSIZE_INLINE size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xmax (size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2); } /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. This is a macro, not a function, so that it works correctly even when N is of a wider type and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) /* Check for overflow. */ #define size_overflow_p(SIZE) \ ((SIZE) == SIZE_MAX) /* Check against overflow. */ #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) _GL_INLINE_HEADER_END #endif /* _XSIZE_H */ ����������������������������������coreutils-8.21/lib/w32spawn.h�����������������������������������������������������������������������0000664�0000000�0000000�00000016352�12071024546�012761� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Auxiliary functions for the creation of subprocesses. Native Windows API. Copyright (C) 2001, 2003-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Get declarations of the native Windows API functions. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> /* Get _open_osfhandle(). */ #include <io.h> #include <stdbool.h> #include <string.h> #include <unistd.h> #include <errno.h> /* Get _get_osfhandle(). */ #include "msvc-nothrow.h" #include "cloexec.h" #include "xalloc.h" /* Duplicates a file handle, making the copy uninheritable. Returns -1 for a file handle that is equivalent to closed. */ static int dup_noinherit (int fd) { fd = dup_cloexec (fd); if (fd < 0 && errno == EMFILE) error (EXIT_FAILURE, errno, _("_open_osfhandle failed")); return fd; } /* Returns a file descriptor equivalent to FD, except that the resulting file descriptor is none of STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO. FD must be open and non-inheritable. The result will be non-inheritable as well. If FD < 0, FD itself is returned. */ static int fd_safer_noinherit (int fd) { if (STDIN_FILENO <= fd && fd <= STDERR_FILENO) { /* The recursion depth is at most 3. */ int nfd = fd_safer_noinherit (dup_noinherit (fd)); int saved_errno = errno; close (fd); errno = saved_errno; return nfd; } return fd; } /* Duplicates a file handle, making the copy uninheritable and ensuring the result is none of STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO. Returns -1 for a file handle that is equivalent to closed. */ static int dup_safer_noinherit (int fd) { return fd_safer_noinherit (dup_noinherit (fd)); } /* Undoes the effect of TEMPFD = dup_safer_noinherit (ORIGFD); */ static void undup_safer_noinherit (int tempfd, int origfd) { if (tempfd >= 0) { if (dup2 (tempfd, origfd) < 0) error (EXIT_FAILURE, errno, _("cannot restore fd %d: dup2 failed"), origfd); close (tempfd); } else { /* origfd was closed or open to no handle at all. Set it to a closed state. This is (nearly) equivalent to the original state. */ close (origfd); } } /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Windows CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" - '*', '?' characters may get expanded through wildcard expansion in the callee: By default, in the callee, the initialization code before main() takes the result of GetCommandLine(), wildcard-expands it, and passes it to main(). The exceptions to this rule are: - programs that inspect GetCommandLine() and ignore argv, - mingw programs that have a global variable 'int _CRT_glob = 0;', - Cygwin programs, when invoked from a Cygwin program. */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037*?" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" static char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XNMALLOC (1 + argc + 1, char *); /* Add an element upfront that can be used when argv[0] turns out to be a script, not a program. On Unix, this would be "/bin/sh". On native Windows, "sh" is actually "sh.exe". We have to omit the directory part and rely on the search in PATH, because the mingw "mount points" are not visible inside Windows CreateProcess(). */ *new_argv++ = "sh.exe"; /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { bool quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = (char *) xmalloc (length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mempcpy.c������������������������������������������������������������������������0000664�0000000�0000000�00000002002�12071561011�012716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copy memory area and return pointer after last written byte. Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ void * mempcpy (void *dest, const void *src, size_t n) { return (char *) memcpy (dest, src, n) + n; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xsize.c��������������������������������������������������������������������������0000664�0000000�0000000�00000000116�12041503563�012417� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define XSIZE_INLINE _GL_EXTERN_INLINE #include "xsize.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/statat.c�������������������������������������������������������������������������0000664�0000000�0000000�00000000120�12100637437�012554� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define STATAT_INLINE _GL_EXTERN_INLINE #include "openat.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filenamecat.h��������������������������������������������������������������������0000664�0000000�0000000�00000002044�12071024546�013536� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Concatenate two arbitrary file names. Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #if GNULIB_FILENAMECAT char *file_name_concat (char const *dir, char const *base, char **base_in_result); #endif char *mfile_name_concat (char const *dir, char const *base, char **base_in_result); ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/lchown.c�������������������������������������������������������������������������0000664�0000000�0000000�00000005756�12071024546�012570� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a stub lchown function for systems that lack it. Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <unistd.h> #include <errno.h> #include <stdbool.h> #include <string.h> #include <sys/stat.h> #if !HAVE_LCHOWN /* If the system chown does not follow symlinks, we don't want it replaced by gnulib's chown, which does follow symlinks. */ # if CHOWN_MODIFIES_SYMLINK # undef chown # endif /* Work just like chown, except when FILE is a symbolic link. In that case, set errno to EOPNOTSUPP and return -1. But if autoconf tests determined that chown modifies symlinks, then just call chown. */ int lchown (const char *file, uid_t uid, gid_t gid) { # if HAVE_CHOWN # if ! CHOWN_MODIFIES_SYMLINK struct stat stats; if (lstat (file, &stats) == 0 && S_ISLNK (stats.st_mode)) { errno = EOPNOTSUPP; return -1; } # endif return chown (file, uid, gid); # else /* !HAVE_CHOWN */ errno = ENOSYS; return -1; # endif } #else /* HAVE_LCHOWN */ # undef lchown /* Work around trailing slash bugs in lchown. */ int rpl_lchown (const char *file, uid_t uid, gid_t gid) { bool stat_valid = false; int result; # if CHOWN_CHANGE_TIME_BUG struct stat st; if (gid != (gid_t) -1 || uid != (uid_t) -1) { if (lstat (file, &st)) return -1; stat_valid = true; if (!S_ISLNK (st.st_mode)) return chown (file, uid, gid); } # endif # if CHOWN_TRAILING_SLASH_BUG if (!stat_valid) { size_t len = strlen (file); if (len && file[len - 1] == '/') return chown (file, uid, gid); } # endif result = lchown (file, uid, gid); # if CHOWN_CHANGE_TIME_BUG && HAVE_LCHMOD if (result == 0 && stat_valid && (uid == st.st_uid || uid == (uid_t) -1) && (gid == st.st_gid || gid == (gid_t) -1)) { /* No change in ownership, but at least one argument was not -1, so we are required to update ctime. Since lchown succeeded, we assume that lchmod will do likewise. But if the system lacks lchmod and lutimes, we are out of luck. Oh well. */ result = lchmod (file, st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)); } # endif return result; } #endif /* HAVE_LCHOWN */ ������������������coreutils-8.21/lib/iconv.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000006744�12071561010�013014� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <iconv.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_ICONV_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_ICONV_H@ #ifndef _@GUARD_PREFIX@_ICONV_H #define _@GUARD_PREFIX@_ICONV_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #if @GNULIB_ICONV@ # if @REPLACE_ICONV_OPEN@ /* An iconv_open wrapper that supports the IANA standardized encoding names ("ISO-8859-1" etc.) as far as possible. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iconv_open rpl_iconv_open # endif _GL_FUNCDECL_RPL (iconv_open, iconv_t, (const char *tocode, const char *fromcode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (iconv_open, iconv_t, (const char *tocode, const char *fromcode)); # else _GL_CXXALIAS_SYS (iconv_open, iconv_t, (const char *tocode, const char *fromcode)); # endif _GL_CXXALIASWARN (iconv_open); #endif #if @REPLACE_ICONV_UTF@ /* Special constants for supporting UTF-{16,32}{BE,LE} encodings. Not public. */ # define _ICONV_UTF8_UTF16BE (iconv_t)(-161) # define _ICONV_UTF8_UTF16LE (iconv_t)(-162) # define _ICONV_UTF8_UTF32BE (iconv_t)(-163) # define _ICONV_UTF8_UTF32LE (iconv_t)(-164) # define _ICONV_UTF16BE_UTF8 (iconv_t)(-165) # define _ICONV_UTF16LE_UTF8 (iconv_t)(-166) # define _ICONV_UTF32BE_UTF8 (iconv_t)(-167) # define _ICONV_UTF32LE_UTF8 (iconv_t)(-168) #endif #if @GNULIB_ICONV@ # if @REPLACE_ICONV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iconv rpl_iconv # endif _GL_FUNCDECL_RPL (iconv, size_t, (iconv_t cd, @ICONV_CONST@ char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)); _GL_CXXALIAS_RPL (iconv, size_t, (iconv_t cd, @ICONV_CONST@ char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)); # else _GL_CXXALIAS_SYS (iconv, size_t, (iconv_t cd, @ICONV_CONST@ char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)); # endif _GL_CXXALIASWARN (iconv); # ifndef ICONV_CONST # define ICONV_CONST @ICONV_CONST@ # endif #endif #if @GNULIB_ICONV@ # if @REPLACE_ICONV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iconv_close rpl_iconv_close # endif _GL_FUNCDECL_RPL (iconv_close, int, (iconv_t cd)); _GL_CXXALIAS_RPL (iconv_close, int, (iconv_t cd)); # else _GL_CXXALIAS_SYS (iconv_close, int, (iconv_t cd)); # endif _GL_CXXALIASWARN (iconv_close); #endif #endif /* _@GUARD_PREFIX@_ICONV_H */ #endif /* _@GUARD_PREFIX@_ICONV_H */ ����������������������������coreutils-8.21/lib/closein.h������������������������������������������������������������������������0000664�0000000�0000000�00000001726�12071024546�012730� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Close standard input, rewinding seekable stdin if necessary. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _GL_CLOSEIN_H # define _GL_CLOSEIN_H 1 # ifdef __cplusplus extern "C" { # endif void close_stdin_set_file_name (const char *file); void close_stdin (void); # ifdef __cplusplus } # endif #endif ������������������������������������������coreutils-8.21/lib/chdir-long.c���������������������������������������������������������������������0000664�0000000�0000000�00000015343�12071024546�013315� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide a chdir function that tries not to fail due to ENAMETOOLONG Copyright (C) 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include "chdir-long.h" #include <assert.h> #include <errno.h> #include <fcntl.h> #include <stdlib.h> #include <stdbool.h> #include <string.h> #include <stdio.h> #ifndef PATH_MAX # error "compile this file only if your system defines PATH_MAX" #endif /* The results of openat() in this file are not leaked to any single-threaded code that could use stdio. FIXME - if the kernel ever adds support for multi-thread safety for avoiding standard fds, then we should use openat_safer. */ struct cd_buf { int fd; }; static void cdb_init (struct cd_buf *cdb) { cdb->fd = AT_FDCWD; } static int cdb_fchdir (struct cd_buf const *cdb) { return fchdir (cdb->fd); } static void cdb_free (struct cd_buf const *cdb) { if (0 <= cdb->fd) { bool close_fail = close (cdb->fd); assert (! close_fail); } } /* Given a file descriptor of an open directory (or AT_FDCWD), CDB->fd, try to open the CDB->fd-relative directory, DIR. If the open succeeds, update CDB->fd with the resulting descriptor, close the incoming file descriptor, and return zero. Upon failure, return -1 and set errno. */ static int cdb_advance_fd (struct cd_buf *cdb, char const *dir) { int new_fd = openat (cdb->fd, dir, O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); if (new_fd < 0) return -1; cdb_free (cdb); cdb->fd = new_fd; return 0; } /* Return a pointer to the first non-slash in S. */ static char * _GL_ATTRIBUTE_PURE find_non_slash (char const *s) { size_t n_slash = strspn (s, "/"); return (char *) s + n_slash; } /* This is a function much like chdir, but without the PATH_MAX limitation on the length of the directory name. A significant difference is that it must be able to modify (albeit only temporarily) the directory name. It handles an arbitrarily long directory name by operating on manageable portions of the name. On systems without the openat syscall, this means changing the working directory to more and more "distant" points along the long directory name and then restoring the working directory. If any of those attempts to save or restore the working directory fails, this function exits nonzero. Note that this function may still fail with errno == ENAMETOOLONG, but only if the specified directory name contains a component that is long enough to provoke such a failure all by itself (e.g. if the component has length PATH_MAX or greater on systems that define PATH_MAX). */ int chdir_long (char *dir) { int e = chdir (dir); if (e == 0 || errno != ENAMETOOLONG) return e; { size_t len = strlen (dir); char *dir_end = dir + len; struct cd_buf cdb; size_t n_leading_slash; cdb_init (&cdb); /* If DIR is the empty string, then the chdir above must have failed and set errno to ENOENT. */ assert (0 < len); assert (PATH_MAX <= len); /* Count leading slashes. */ n_leading_slash = strspn (dir, "/"); /* Handle any leading slashes as well as any name that matches the regular expression, m!^//hostname[/]*! . Handling this prefix separately usually results in a single additional cdb_advance_fd call, but it's worthwhile, since it makes the code in the following loop cleaner. */ if (n_leading_slash == 2) { int err; /* Find next slash. We already know that dir[2] is neither a slash nor '\0'. */ char *slash = memchr (dir + 3, '/', dir_end - (dir + 3)); if (slash == NULL) { errno = ENAMETOOLONG; return -1; } *slash = '\0'; err = cdb_advance_fd (&cdb, dir); *slash = '/'; if (err != 0) goto Fail; dir = find_non_slash (slash + 1); } else if (n_leading_slash) { if (cdb_advance_fd (&cdb, "/") != 0) goto Fail; dir += n_leading_slash; } assert (*dir != '/'); assert (dir <= dir_end); while (PATH_MAX <= dir_end - dir) { int err; /* Find a slash that is PATH_MAX or fewer bytes away from dir. I.e. see if there is a slash that will give us a name of length PATH_MAX-1 or less. */ char *slash = memrchr (dir, '/', PATH_MAX); if (slash == NULL) { errno = ENAMETOOLONG; return -1; } *slash = '\0'; assert (slash - dir < PATH_MAX); err = cdb_advance_fd (&cdb, dir); *slash = '/'; if (err != 0) goto Fail; dir = find_non_slash (slash + 1); } if (dir < dir_end) { if (cdb_advance_fd (&cdb, dir) != 0) goto Fail; } if (cdb_fchdir (&cdb) != 0) goto Fail; cdb_free (&cdb); return 0; Fail: { int saved_errno = errno; cdb_free (&cdb); errno = saved_errno; return -1; } } } #if TEST_CHDIR # include "closeout.h" # include "error.h" char *program_name; int main (int argc, char *argv[]) { char *line = NULL; size_t n = 0; int len; program_name = argv[0]; atexit (close_stdout); len = getline (&line, &n, stdin); if (len < 0) { int saved_errno = errno; if (feof (stdin)) exit (0); error (EXIT_FAILURE, saved_errno, "reading standard input"); } else if (len == 0) exit (0); if (line[len-1] == '\n') line[len-1] = '\0'; if (chdir_long (line) != 0) error (EXIT_FAILURE, errno, "chdir_long failed: %s", line); if (argc <= 1) { /* Using 'pwd' here makes sense only if it is a robust implementation, like the one in coreutils after the 2004-04-19 changes. */ char const *cmd = "pwd"; execlp (cmd, (char *) NULL); error (EXIT_FAILURE, errno, "%s", cmd); } fclose (stdin); fclose (stderr); exit (EXIT_SUCCESS); } #endif /* Local Variables: compile-command: "gcc -DTEST_CHDIR=1 -g -O -W -Wall chdir-long.c libcoreutils.a" End: */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fnmatch.c������������������������������������������������������������������������0000664�0000000�0000000�00000026226�12071561007�012707� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1993, 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif /* Enable GNU extensions in fnmatch.h. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #if ! defined __builtin_expect && __GNUC__ < 3 # define __builtin_expect(expr, expected) (expr) #endif #include <fnmatch.h> #include <alloca.h> #include <assert.h> #include <ctype.h> #include <errno.h> #include <stddef.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #define WIDE_CHAR_SUPPORT \ (HAVE_WCTYPE_H && HAVE_BTOWC && HAVE_ISWCTYPE \ && HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY)) /* For platform which support the ISO C amendment 1 functionality we support user defined character classes. */ #if defined _LIBC || WIDE_CHAR_SUPPORT # include <wctype.h> # include <wchar.h> #endif /* We need some of the locale data (the collation sequence information) but there is no interface to get this information in general. Therefore we support a correct implementation only in glibc. */ #ifdef _LIBC # include "../locale/localeinfo.h" # include "../locale/elem-hash.h" # include "../locale/coll-lookup.h" # include <shlib-compat.h> # define CONCAT(a,b) __CONCAT(a,b) # define mbsrtowcs __mbsrtowcs # define fnmatch __fnmatch extern int fnmatch (const char *pattern, const char *string, int flags); #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif /* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set. */ #define NO_LEADING_PERIOD(flags) \ ((flags & (FNM_FILE_NAME | FNM_PERIOD)) == (FNM_FILE_NAME | FNM_PERIOD)) /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and have not detected a bug in the library. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand 'configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU # if ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK)) # define isblank(c) ((c) == ' ' || (c) == '\t') # endif # define STREQ(s1, s2) (strcmp (s1, s2) == 0) # if defined _LIBC || WIDE_CHAR_SUPPORT /* The GNU C library provides support for user-defined character classes and the functions from ISO C amendment 1. */ # ifdef CHARCLASS_NAME_MAX # define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX # else /* This shouldn't happen but some implementation might still have this problem. Use a reasonable default value. */ # define CHAR_CLASS_MAX_LENGTH 256 # endif # ifdef _LIBC # define IS_CHAR_CLASS(string) __wctype (string) # else # define IS_CHAR_CLASS(string) wctype (string) # endif # ifdef _LIBC # define ISWCTYPE(WC, WT) __iswctype (WC, WT) # else # define ISWCTYPE(WC, WT) iswctype (WC, WT) # endif # if (HAVE_MBSTATE_T && HAVE_MBSRTOWCS) || _LIBC /* In this case we are implementing the multibyte character handling. */ # define HANDLE_MULTIBYTE 1 # endif # else # define CHAR_CLASS_MAX_LENGTH 6 /* Namely, 'xdigit'. */ # define IS_CHAR_CLASS(string) \ (STREQ (string, "alpha") || STREQ (string, "upper") \ || STREQ (string, "lower") || STREQ (string, "digit") \ || STREQ (string, "alnum") || STREQ (string, "xdigit") \ || STREQ (string, "space") || STREQ (string, "print") \ || STREQ (string, "punct") || STREQ (string, "graph") \ || STREQ (string, "cntrl") || STREQ (string, "blank")) # endif /* Avoid depending on library functions or files whose names are inconsistent. */ /* Global variable. */ static int posixly_correct; # ifndef internal_function /* Inside GNU libc we mark some function in a special way. In other environments simply ignore the marking. */ # define internal_function # endif /* Note that this evaluates C many times. */ # define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c)) # define CHAR char # define UCHAR unsigned char # define INT int # define FCT internal_fnmatch # define EXT ext_match # define END end_pattern # define L_(CS) CS # ifdef _LIBC # define BTOWC(C) __btowc (C) # else # define BTOWC(C) btowc (C) # endif # define STRLEN(S) strlen (S) # define STRCAT(D, S) strcat (D, S) # ifdef _LIBC # define MEMPCPY(D, S, N) __mempcpy (D, S, N) # else # if HAVE_MEMPCPY # define MEMPCPY(D, S, N) mempcpy (D, S, N) # else # define MEMPCPY(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N))) # endif # endif # define MEMCHR(S, C, N) memchr (S, C, N) # include "fnmatch_loop.c" # if HANDLE_MULTIBYTE # define FOLD(c) ((flags & FNM_CASEFOLD) ? towlower (c) : (c)) # define CHAR wchar_t # define UCHAR wint_t # define INT wint_t # define FCT internal_fnwmatch # define EXT ext_wmatch # define END end_wpattern # define L_(CS) L##CS # define BTOWC(C) (C) # ifdef _LIBC # define STRLEN(S) __wcslen (S) # define STRCAT(D, S) __wcscat (D, S) # define MEMPCPY(D, S, N) __wmempcpy (D, S, N) # else # define STRLEN(S) wcslen (S) # define STRCAT(D, S) wcscat (D, S) # if HAVE_WMEMPCPY # define MEMPCPY(D, S, N) wmempcpy (D, S, N) # else # define MEMPCPY(D, S, N) (wmemcpy (D, S, N) + (N)) # endif # endif # define MEMCHR(S, C, N) wmemchr (S, C, N) # define WIDE_CHAR_VERSION 1 # undef IS_CHAR_CLASS /* We have to convert the wide character string in a multibyte string. But we know that the character class names consist of alphanumeric characters from the portable character set, and since the wide character encoding for a member of the portable character set is the same code point as its single-byte encoding, we can use a simplified method to convert the string to a multibyte character string. */ static wctype_t is_char_class (const wchar_t *wcs) { char s[CHAR_CLASS_MAX_LENGTH + 1]; char *cp = s; do { /* Test for a printable character from the portable character set. */ # ifdef _LIBC if (*wcs < 0x20 || *wcs > 0x7e || *wcs == 0x24 || *wcs == 0x40 || *wcs == 0x60) return (wctype_t) 0; # else switch (*wcs) { case L' ': case L'!': case L'"': case L'#': case L'%': case L'&': case L'\'': case L'(': case L')': case L'*': case L'+': case L',': case L'-': case L'.': case L'/': case L'0': case L'1': case L'2': case L'3': case L'4': case L'5': case L'6': case L'7': case L'8': case L'9': case L':': case L';': case L'<': case L'=': case L'>': case L'?': case L'A': case L'B': case L'C': case L'D': case L'E': case L'F': case L'G': case L'H': case L'I': case L'J': case L'K': case L'L': case L'M': case L'N': case L'O': case L'P': case L'Q': case L'R': case L'S': case L'T': case L'U': case L'V': case L'W': case L'X': case L'Y': case L'Z': case L'[': case L'\\': case L']': case L'^': case L'_': case L'a': case L'b': case L'c': case L'd': case L'e': case L'f': case L'g': case L'h': case L'i': case L'j': case L'k': case L'l': case L'm': case L'n': case L'o': case L'p': case L'q': case L'r': case L's': case L't': case L'u': case L'v': case L'w': case L'x': case L'y': case L'z': case L'{': case L'|': case L'}': case L'~': break; default: return (wctype_t) 0; } # endif /* Avoid overrunning the buffer. */ if (cp == s + CHAR_CLASS_MAX_LENGTH) return (wctype_t) 0; *cp++ = (char) *wcs++; } while (*wcs != L'\0'); *cp = '\0'; # ifdef _LIBC return __wctype (s); # else return wctype (s); # endif } # define IS_CHAR_CLASS(string) is_char_class (string) # include "fnmatch_loop.c" # endif int fnmatch (const char *pattern, const char *string, int flags) { # if HANDLE_MULTIBYTE # define ALLOCA_LIMIT 2000 if (__builtin_expect (MB_CUR_MAX, 1) != 1) { mbstate_t ps; size_t patsize; size_t strsize; size_t totsize; wchar_t *wpattern; wchar_t *wstring; int res; /* Calculate the size needed to convert the strings to wide characters. */ memset (&ps, '\0', sizeof (ps)); patsize = mbsrtowcs (NULL, &pattern, 0, &ps) + 1; if (__builtin_expect (patsize != 0, 1)) { assert (mbsinit (&ps)); strsize = mbsrtowcs (NULL, &string, 0, &ps) + 1; if (__builtin_expect (strsize != 0, 1)) { assert (mbsinit (&ps)); totsize = patsize + strsize; if (__builtin_expect (! (patsize <= totsize && totsize <= SIZE_MAX / sizeof (wchar_t)), 0)) { errno = ENOMEM; return -1; } /* Allocate room for the wide characters. */ if (__builtin_expect (totsize < ALLOCA_LIMIT, 1)) wpattern = (wchar_t *) alloca (totsize * sizeof (wchar_t)); else { wpattern = malloc (totsize * sizeof (wchar_t)); if (__builtin_expect (! wpattern, 0)) { errno = ENOMEM; return -1; } } wstring = wpattern + patsize; /* Convert the strings into wide characters. */ mbsrtowcs (wpattern, &pattern, patsize, &ps); assert (mbsinit (&ps)); mbsrtowcs (wstring, &string, strsize, &ps); res = internal_fnwmatch (wpattern, wstring, wstring + strsize - 1, flags & FNM_PERIOD, flags); if (__builtin_expect (! (totsize < ALLOCA_LIMIT), 0)) free (wpattern); return res; } } } # endif /* HANDLE_MULTIBYTE */ return internal_fnmatch (pattern, string, string + strlen (string), flags & FNM_PERIOD, flags); } # ifdef _LIBC # undef fnmatch versioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3); # if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_3) strong_alias (__fnmatch, __fnmatch_old) compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0); # endif libc_hidden_ver (__fnmatch, fnmatch) # endif #endif /* _LIBC or not __GNU_LIBRARY__. */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/obstack.h������������������������������������������������������������������������0000664�0000000�0000000�00000061247�12071024546�012726� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* obstack.h - object stack macros Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Summary: All the apparent functions defined here are macros. The idea is that you would use these pre-tested macros to solve a very specific set of problems, and they would run fast. Caution: no side-effects in arguments please!! They may be evaluated MANY times!! These macros operate a stack of objects. Each object starts life small, and may grow to maturity. (Consider building a word syllable by syllable.) An object can move while it is growing. Once it has been "finished" it never changes address again. So the "top of the stack" is typically an immature growing object, while the rest of the stack is of mature, fixed size and fixed address objects. These routines grab large chunks of memory, using a function you supply, called 'obstack_chunk_alloc'. On occasion, they free chunks, by calling 'obstack_chunk_free'. You must define them and declare them before using any obstack macros. Each independent stack is represented by a 'struct obstack'. Each of the obstack macros expects a pointer to such a structure as the first argument. One motivation for this package is the problem of growing char strings in symbol tables. Unless you are "fascist pig with a read-only mind" --Gosper's immortal quote from HAKMEM item 154, out of context--you would not like to put any arbitrary upper limit on the length of your symbols. In practice this often means you will build many short symbols and a few long symbols. At the time you are reading a symbol you don't know how long it is. One traditional method is to read a symbol into a buffer, realloc()ating the buffer every time you try to read a symbol that is longer than the buffer. This is beaut, but you still will want to copy the symbol from the buffer to a more permanent symbol-table entry say about half the time. With obstacks, you can work differently. Use one obstack for all symbol names. As you read a symbol, grow the name in the obstack gradually. When the name is complete, finalize it. Then, if the symbol exists already, free the newly read name. The way we do this is to take a large chunk, allocating memory from low addresses. When you want to build a symbol in the chunk you just add chars above the current "high water mark" in the chunk. When you have finished adding chars, because you got to the end of the symbol, you know how long the chars are, and you can create a new object. Mostly the chars will not burst over the highest address of the chunk, because you would typically expect a chunk to be (say) 100 times as long as an average object. In case that isn't clear, when we have enough chars to make up the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) so we just point to it where it lies. No moving of chars is needed and this is the second win: potentially long strings need never be explicitly shuffled. Once an object is formed, it does not change its address during its lifetime. When the chars burst over a chunk boundary, we allocate a larger chunk, and then copy the partly formed object from the end of the old chunk to the beginning of the new larger chunk. We then carry on accreting characters to the end of the object as we normally would. A special macro is provided to add a single char at a time to a growing object. This allows the use of register variables, which break the ordinary 'growth' macro. Summary: We allocate large chunks. We carve out one object at a time from the current chunk. Once carved, an object never moves. We are free to append data of any size to the currently growing object. Exactly one object is growing in an obstack at any one time. You can run one obstack per control block. You may have as many control blocks as you dare. Because of the way we do it, you can "unwind" an obstack back to a previous state. (You may remove objects much as you would with a stack.) */ /* Don't do the contents of this file more than once. */ #ifndef _OBSTACK_H #define _OBSTACK_H 1 /* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is defined, as with GNU C, use that; that way we don't pollute the namespace with <stddef.h>'s symbols. Otherwise, include <stddef.h> and use ptrdiff_t. */ #ifdef __PTRDIFF_TYPE__ # define PTR_INT_TYPE __PTRDIFF_TYPE__ #else # include <stddef.h> # define PTR_INT_TYPE ptrdiff_t #endif /* If B is the base of an object addressed by P, return the result of aligning P to the next multiple of A + 1. B and P must be of type char *. A + 1 must be a power of 2. */ #define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A))) /* Similar to _BPTR_ALIGN (B, P, A), except optimize the common case where pointers can be converted to integers, aligned as integers, and converted back again. If PTR_INT_TYPE is narrower than a pointer (e.g., the AS/400), play it safe and compute the alignment relative to B. Otherwise, use the faster strategy of computing the alignment relative to 0. */ #define __PTR_ALIGN(B, P, A) \ __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \ P, A) #include <string.h> #ifdef __cplusplus extern "C" { #endif struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ struct _obstack_chunk *prev; /* address of prior chunk or NULL */ char contents[4]; /* objects begin here */ }; struct obstack /* control current object in current chunk */ { long chunk_size; /* preferred size to allocate chunks in */ struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */ char *object_base; /* address of object we are building */ char *next_free; /* where to add next char to current object */ char *chunk_limit; /* address of char after current chunk */ union { PTR_INT_TYPE tempint; void *tempptr; } temp; /* Temporary for some macros. */ int alignment_mask; /* Mask of alignment for each object. */ /* These prototypes vary based on 'use_extra_arg', and we use casts to the prototypeless function type in all assignments, but having prototypes here quiets -Wstrict-prototypes. */ struct _obstack_chunk *(*chunkfun) (void *, long); void (*freefun) (void *, struct _obstack_chunk *); void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */ unsigned maybe_empty_object:1;/* There is a possibility that the current chunk contains a zero-length object. This prevents freeing the chunk if we allocate a bigger chunk to replace it. */ unsigned alloc_failed:1; /* No longer used, as we now call the failed handler on error, but retained for binary compatibility. */ }; /* Declare the external functions we use; they are in obstack.c. */ extern void _obstack_newchunk (struct obstack *, int); extern int _obstack_begin (struct obstack *, int, int, void *(*) (long), void (*) (void *)); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (void *, long), void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); /* The default name of the function for freeing a chunk is 'obstack_free', but gnulib users can override this by defining '__obstack_free'. */ #ifndef __obstack_free # define __obstack_free obstack_free #endif extern void __obstack_free (struct obstack *obstack, void *block); /* Error handler called when 'obstack_chunk_alloc' failed to allocate more memory. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. The default action is to print a message and abort. */ extern void (*obstack_alloc_failed_handler) (void); /* Exit value used when 'print_and_abort' is used. */ extern int obstack_exit_failure; /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object because a new chunk might be needed to hold the final size. */ #define obstack_base(h) ((void *) (h)->object_base) /* Size for allocating ordinary chunks. */ #define obstack_chunk_size(h) ((h)->chunk_size) /* Pointer to next byte not yet allocated in current chunk. */ #define obstack_next_free(h) ((h)->next_free) /* Mask specifying low bits that should be clear in address of an object. */ #define obstack_alignment_mask(h) ((h)->alignment_mask) /* To prevent prototype warnings provide complete argument list. */ #define obstack_init(h) \ _obstack_begin ((h), 0, 0, \ (void *(*) (long)) obstack_chunk_alloc, \ (void (*) (void *)) obstack_chunk_free) #define obstack_begin(h, size) \ _obstack_begin ((h), (size), 0, \ (void *(*) (long)) obstack_chunk_alloc, \ (void (*) (void *)) obstack_chunk_free) #define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ _obstack_begin ((h), (size), (alignment), \ (void *(*) (long)) (chunkfun), \ (void (*) (void *)) (freefun)) #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ (void *(*) (void *, long)) (chunkfun), \ (void (*) (void *, void *)) (freefun), (arg)) #define obstack_chunkfun(h, newchunkfun) \ ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) #define obstack_freefun(h, newfreefun) \ ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) #define obstack_memory_used(h) _obstack_memory_used (h) #if defined __GNUC__ /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and does not implement __extension__. But that compiler doesn't define __GNUC_MINOR__. */ # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) # define __extension__ # endif /* For GNU C, if not -traditional, we can define these macros to compute all args only once without using a global variable. Also, we can avoid using the 'temp' slot, to make faster code. */ # define obstack_object_size(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->next_free - __o->object_base); }) # define obstack_room(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->chunk_limit - __o->next_free); }) # define obstack_make_room(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ (void) 0; }) # define obstack_empty_p(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (__o->chunk->prev == 0 \ && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ __o->chunk->contents, \ __o->alignment_mask)); }) # define obstack_grow(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len > __o->chunk_limit) \ _obstack_newchunk (__o, __len); \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ (void) 0; }) # define obstack_grow0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, __len + 1); \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ *(__o->next_free)++ = 0; \ (void) 0; }) # define obstack_1grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, 1); \ obstack_1grow_fast (__o, datum); \ (void) 0; }) /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ # define obstack_ptr_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (void *)); \ obstack_ptr_grow_fast (__o, datum); }) \ # define obstack_int_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (int) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (int)); \ obstack_int_grow_fast (__o, datum); }) # define obstack_ptr_grow_fast(OBSTACK,aptr) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(const void **) __o1->next_free = (aptr); \ __o1->next_free += sizeof (const void *); \ (void) 0; }) # define obstack_int_grow_fast(OBSTACK,aint) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(int *) __o1->next_free = (aint); \ __o1->next_free += sizeof (int); \ (void) 0; }) # define obstack_blank(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ obstack_blank_fast (__o, __len); \ (void) 0; }) # define obstack_alloc(OBSTACK,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_blank (__h, (length)); \ obstack_finish (__h); }) # define obstack_copy(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow (__h, (where), (length)); \ obstack_finish (__h); }) # define obstack_copy0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow0 (__h, (where), (length)); \ obstack_finish (__h); }) /* The local variable is named __o1 to avoid a name conflict when obstack_blank is called. */ # define obstack_finish(OBSTACK) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ void *__value = (void *) __o1->object_base; \ if (__o1->next_free == __value) \ __o1->maybe_empty_object = 1; \ __o1->next_free \ = __PTR_ALIGN (__o1->object_base, __o1->next_free, \ __o1->alignment_mask); \ if (__o1->next_free - (char *)__o1->chunk \ > __o1->chunk_limit - (char *)__o1->chunk) \ __o1->next_free = __o1->chunk_limit; \ __o1->object_base = __o1->next_free; \ __value; }) # define obstack_free(OBSTACK, OBJ) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ void *__obj = (OBJ); \ if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \ __o->next_free = __o->object_base = (char *)__obj; \ else (__obstack_free) (__o, __obj); }) #else /* not __GNUC__ */ # define obstack_object_size(h) \ (unsigned) ((h)->next_free - (h)->object_base) # define obstack_room(h) \ (unsigned) ((h)->chunk_limit - (h)->next_free) # define obstack_empty_p(h) \ ((h)->chunk->prev == 0 \ && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ (h)->chunk->contents, \ (h)->alignment_mask)) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions in the arms of the conditional expression. Casting the third operand to void was tried before, but some compilers won't accept it. */ # define obstack_make_room(h,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0)) # define obstack_grow(h,where,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ memcpy ((h)->next_free, where, (h)->temp.tempint), \ (h)->next_free += (h)->temp.tempint) # define obstack_grow0(h,where,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0), \ memcpy ((h)->next_free, where, (h)->temp.tempint), \ (h)->next_free += (h)->temp.tempint, \ *((h)->next_free)++ = 0) # define obstack_1grow(h,datum) \ ( (((h)->next_free + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), 1), 0) : 0), \ obstack_1grow_fast (h, datum)) # define obstack_ptr_grow(h,datum) \ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ obstack_ptr_grow_fast (h, datum)) # define obstack_int_grow(h,datum) \ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ obstack_int_grow_fast (h, datum)) # define obstack_ptr_grow_fast(h,aptr) \ (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) # define obstack_int_grow_fast(h,aint) \ (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint)) # define obstack_blank(h,length) \ ( (h)->temp.tempint = (length), \ (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ obstack_blank_fast (h, (h)->temp.tempint)) # define obstack_alloc(h,length) \ (obstack_blank ((h), (length)), obstack_finish ((h))) # define obstack_copy(h,where,length) \ (obstack_grow ((h), (where), (length)), obstack_finish ((h))) # define obstack_copy0(h,where,length) \ (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) # define obstack_finish(h) \ ( ((h)->next_free == (h)->object_base \ ? (((h)->maybe_empty_object = 1), 0) \ : 0), \ (h)->temp.tempptr = (h)->object_base, \ (h)->next_free \ = __PTR_ALIGN ((h)->object_base, (h)->next_free, \ (h)->alignment_mask), \ (((h)->next_free - (char *) (h)->chunk \ > (h)->chunk_limit - (char *) (h)->chunk) \ ? ((h)->next_free = (h)->chunk_limit) : 0), \ (h)->object_base = (h)->next_free, \ (h)->temp.tempptr) # define obstack_free(h,obj) \ ( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \ ((((h)->temp.tempint > 0 \ && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp.tempint + (char *) (h)->chunk) \ : (((__obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0))) #endif /* not __GNUC__ */ #ifdef __cplusplus } /* C++ */ #endif #endif /* obstack.h */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdio--.h������������������������������������������������������������������������0000664�0000000�0000000�00000002206�12071024546�012542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like stdio.h, but redefine some names to avoid glitches. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <stdio.h> #include "stdio-safer.h" #if GNULIB_FOPEN_SAFER # undef fopen # define fopen fopen_safer #endif #if GNULIB_FREOPEN_SAFER # undef freopen # define freopen freopen_safer #endif #if GNULIB_TMPFILE_SAFER # undef tmpfile # define tmpfile tmpfile_safer #endif #if GNULIB_POPEN_SAFER # undef popen # define popen popen_safer #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getcwd-lgpl.c��������������������������������������������������������������������0000664�0000000�0000000�00000006042�12071024546�013474� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2011-2013 Free Software Foundation, Inc. This file is part of gnulib. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification */ #include <unistd.h> #include <errno.h> #include <string.h> #if GNULIB_GETCWD /* Favor GPL getcwd.c if both getcwd and getcwd-lgpl modules are in use. */ typedef int dummy; #else /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined (perhaps because the absolute name was longer than PATH_MAX, or because of missing read/search permissions on parent directories) or SIZE was too small. If successful, returns BUF. If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ # undef getcwd char * rpl_getcwd (char *buf, size_t size) { char *ptr; char *result; /* Handle single size operations. */ if (buf) { if (!size) { errno = EINVAL; return NULL; } return getcwd (buf, size); } if (size) { buf = malloc (size); if (!buf) { errno = ENOMEM; return NULL; } result = getcwd (buf, size); if (!result) { int saved_errno = errno; free (buf); errno = saved_errno; } return result; } /* Flexible sizing requested. Avoid over-allocation for the common case of a name that fits within a 4k page, minus some space for local variables, to be sure we don't skip over a guard page. */ { char tmp[4032]; size = sizeof tmp; ptr = getcwd (tmp, size); if (ptr) { result = strdup (ptr); if (!result) errno = ENOMEM; return result; } if (errno != ERANGE) return NULL; } /* My what a large directory name we have. */ do { size <<= 1; ptr = realloc (buf, size); if (ptr == NULL) { free (buf); errno = ENOMEM; return NULL; } buf = ptr; result = getcwd (buf, size); } while (!result && errno == ERANGE); if (!result) { int saved_errno = errno; free (buf); errno = saved_errno; } else { /* Trim to fit, if possible. */ result = realloc (buf, strlen (buf) + 1); if (!result) result = buf; } return result; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rename.c�������������������������������������������������������������������������0000664�0000000�0000000�00000032046�12071024546�012535� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around rename bugs in some systems. Copyright (C) 2001-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Volker Borchert, Eric Blake. */ #include <config.h> #include <stdio.h> #undef rename #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* The mingw rename has problems with trailing slashes; it also requires use of native Windows calls to allow atomic renames over existing files. */ # include <errno.h> # include <stdbool.h> # include <stdlib.h> # include <sys/stat.h> # include <unistd.h> # define WIN32_LEAN_AND_MEAN # include <windows.h> # include "dirname.h" /* Rename the file SRC to DST. This replacement is necessary on Windows, on which the system rename function will not replace an existing DST. */ int rpl_rename (char const *src, char const *dst) { int error; size_t src_len = strlen (src); size_t dst_len = strlen (dst); char *src_base = last_component (src); char *dst_base = last_component (dst); bool src_slash; bool dst_slash; bool dst_exists; struct stat src_st; struct stat dst_st; /* Filter out dot as last component. */ if (!src_len || !dst_len) { errno = ENOENT; return -1; } if (*src_base == '.') { size_t len = base_len (src_base); if (len == 1 || (len == 2 && src_base[1] == '.')) { errno = EINVAL; return -1; } } if (*dst_base == '.') { size_t len = base_len (dst_base); if (len == 1 || (len == 2 && dst_base[1] == '.')) { errno = EINVAL; return -1; } } /* Presence of a trailing slash requires directory semantics. If the source does not exist, or if the destination cannot be turned into a directory, give up now. Otherwise, strip trailing slashes before calling rename. There are no symlinks on mingw, so stat works instead of lstat. */ src_slash = ISSLASH (src[src_len - 1]); dst_slash = ISSLASH (dst[dst_len - 1]); if (stat (src, &src_st)) return -1; if (stat (dst, &dst_st)) { if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash)) return -1; dst_exists = false; } else { if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode)) { errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR; return -1; } dst_exists = true; } /* There are no symlinks, so if a file existed with a trailing slash, it must be a directory, and we don't have to worry about stripping strip trailing slash. However, mingw refuses to replace an existing empty directory, so we have to help it out. And canonicalize_file_name is not yet ported to mingw; however, for directories, getcwd works as a viable alternative. Ensure that we can get back to where we started before using it; later attempts to return are fatal. Note that we can end up losing a directory if rename then fails, but it was empty, so not much damage was done. */ if (dst_exists && S_ISDIR (dst_st.st_mode)) { char *cwd = getcwd (NULL, 0); char *src_temp; char *dst_temp; if (!cwd || chdir (cwd)) return -1; if (IS_ABSOLUTE_FILE_NAME (src)) { dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0); src_temp = chdir (src) ? NULL : getcwd (NULL, 0); } else { src_temp = chdir (src) ? NULL : getcwd (NULL, 0); if (!IS_ABSOLUTE_FILE_NAME (dst) && chdir (cwd)) abort (); dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0); } if (chdir (cwd)) abort (); free (cwd); if (!src_temp || !dst_temp) { free (src_temp); free (dst_temp); errno = ENOMEM; return -1; } src_len = strlen (src_temp); if (strncmp (src_temp, dst_temp, src_len) == 0 && (ISSLASH (dst_temp[src_len]) || dst_temp[src_len] == '\0')) { error = dst_temp[src_len]; free (src_temp); free (dst_temp); if (error) { errno = EINVAL; return -1; } return 0; } if (rmdir (dst)) { error = errno; free (src_temp); free (dst_temp); errno = error; return -1; } free (src_temp); free (dst_temp); } /* MoveFileEx works if SRC is a directory without any flags, but fails with MOVEFILE_REPLACE_EXISTING, so try without flags first. Thankfully, MoveFileEx handles hard links correctly, even though rename() does not. */ if (MoveFileEx (src, dst, 0)) return 0; /* Retry with MOVEFILE_REPLACE_EXISTING if the move failed due to the destination already existing. */ error = GetLastError (); if (error == ERROR_FILE_EXISTS || error == ERROR_ALREADY_EXISTS) { if (MoveFileEx (src, dst, MOVEFILE_REPLACE_EXISTING)) return 0; error = GetLastError (); } switch (error) { case ERROR_FILE_NOT_FOUND: case ERROR_PATH_NOT_FOUND: case ERROR_BAD_PATHNAME: case ERROR_DIRECTORY: errno = ENOENT; break; case ERROR_ACCESS_DENIED: case ERROR_SHARING_VIOLATION: errno = EACCES; break; case ERROR_OUTOFMEMORY: errno = ENOMEM; break; case ERROR_CURRENT_DIRECTORY: errno = EBUSY; break; case ERROR_NOT_SAME_DEVICE: errno = EXDEV; break; case ERROR_WRITE_PROTECT: errno = EROFS; break; case ERROR_WRITE_FAULT: case ERROR_READ_FAULT: case ERROR_GEN_FAILURE: errno = EIO; break; case ERROR_HANDLE_DISK_FULL: case ERROR_DISK_FULL: case ERROR_DISK_TOO_FRAGMENTED: errno = ENOSPC; break; case ERROR_FILE_EXISTS: case ERROR_ALREADY_EXISTS: errno = EEXIST; break; case ERROR_BUFFER_OVERFLOW: case ERROR_FILENAME_EXCED_RANGE: errno = ENAMETOOLONG; break; case ERROR_INVALID_NAME: case ERROR_DELETE_PENDING: errno = EPERM; /* ? */ break; # ifndef ERROR_FILE_TOO_LARGE /* This value is documented but not defined in all versions of windows.h. */ # define ERROR_FILE_TOO_LARGE 223 # endif case ERROR_FILE_TOO_LARGE: errno = EFBIG; break; default: errno = EINVAL; break; } return -1; } #else /* ! W32 platform */ # include <errno.h> # include <stdio.h> # include <stdlib.h> # include <string.h> # include <sys/stat.h> # include <unistd.h> # include "dirname.h" # include "same-inode.h" /* Rename the file SRC to DST, fixing any trailing slash bugs. */ int rpl_rename (char const *src, char const *dst) { size_t src_len = strlen (src); size_t dst_len = strlen (dst); char *src_temp = (char *) src; char *dst_temp = (char *) dst; bool src_slash; bool dst_slash; bool dst_exists; int ret_val = -1; int rename_errno = ENOTDIR; struct stat src_st; struct stat dst_st; if (!src_len || !dst_len) return rename (src, dst); /* Let strace see the ENOENT failure. */ # if RENAME_DEST_EXISTS_BUG { char *src_base = last_component (src); char *dst_base = last_component (dst); if (*src_base == '.') { size_t len = base_len (src_base); if (len == 1 || (len == 2 && src_base[1] == '.')) { errno = EINVAL; return -1; } } if (*dst_base == '.') { size_t len = base_len (dst_base); if (len == 1 || (len == 2 && dst_base[1] == '.')) { errno = EINVAL; return -1; } } } # endif /* RENAME_DEST_EXISTS_BUG */ src_slash = src[src_len - 1] == '/'; dst_slash = dst[dst_len - 1] == '/'; # if !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG /* If there are no trailing slashes, then trust the native implementation unless we also suspect issues with hard link detection or file/directory conflicts. */ if (!src_slash && !dst_slash) return rename (src, dst); # endif /* !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG */ /* Presence of a trailing slash requires directory semantics. If the source does not exist, or if the destination cannot be turned into a directory, give up now. Otherwise, strip trailing slashes before calling rename. */ if (lstat (src, &src_st)) return -1; if (lstat (dst, &dst_st)) { if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash)) return -1; dst_exists = false; } else { if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode)) { errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR; return -1; } # if RENAME_HARD_LINK_BUG if (SAME_INODE (src_st, dst_st)) return 0; # endif /* RENAME_HARD_LINK_BUG */ dst_exists = true; } # if (RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG \ || RENAME_HARD_LINK_BUG) /* If the only bug was that a trailing slash was allowed on a non-existing file destination, as in Solaris 10, then we've already covered that situation. But if there is any problem with a trailing slash on an existing source or destination, as in Solaris 9, or if a directory can overwrite a symlink, as on Cygwin 1.5, or if directories cannot be created with trailing slash, as on NetBSD 1.6, then we must strip the offending slash and check that we have not encountered a symlink instead of a directory. Stripping a trailing slash interferes with POSIX semantics, where rename behavior on a symlink with a trailing slash operates on the corresponding target directory. We prefer the GNU semantics of rejecting any use of a symlink with trailing slash, but do not enforce them, since Solaris 10 is able to obey POSIX semantics and there might be clients expecting it, as counter-intuitive as those semantics are. Technically, we could also follow the POSIX behavior by chasing a readlink trail, but that is harder to implement. */ if (src_slash) { src_temp = strdup (src); if (!src_temp) { /* Rather than rely on strdup-posix, we set errno ourselves. */ rename_errno = ENOMEM; goto out; } strip_trailing_slashes (src_temp); if (lstat (src_temp, &src_st)) { rename_errno = errno; goto out; } if (S_ISLNK (src_st.st_mode)) goto out; } if (dst_slash) { dst_temp = strdup (dst); if (!dst_temp) { rename_errno = ENOMEM; goto out; } strip_trailing_slashes (dst_temp); if (lstat (dst_temp, &dst_st)) { if (errno != ENOENT) { rename_errno = errno; goto out; } } else if (S_ISLNK (dst_st.st_mode)) goto out; } # endif /* RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG || RENAME_HARD_LINK_BUG */ # if RENAME_DEST_EXISTS_BUG /* Cygwin 1.5 sometimes behaves oddly when moving a non-empty directory on top of an empty one (the old directory name can reappear if the new directory tree is removed). Work around this by removing the target first, but don't remove the target if it is a subdirectory of the source. Note that we can end up losing a directory if rename then fails, but it was empty, so not much damage was done. */ if (dst_exists && S_ISDIR (dst_st.st_mode)) { if (src_st.st_dev != dst_st.st_dev) { rename_errno = EXDEV; goto out; } if (src_temp != src) free (src_temp); src_temp = canonicalize_file_name (src); if (dst_temp != dst) free (dst_temp); dst_temp = canonicalize_file_name (dst); if (!src_temp || !dst_temp) { rename_errno = ENOMEM; goto out; } src_len = strlen (src_temp); if (strncmp (src_temp, dst_temp, src_len) == 0 && dst_temp[src_len] == '/') { rename_errno = EINVAL; goto out; } if (rmdir (dst)) { rename_errno = errno; goto out; } } # endif /* RENAME_DEST_EXISTS_BUG */ ret_val = rename (src_temp, dst_temp); rename_errno = errno; out: if (src_temp != src) free (src_temp); if (dst_temp != dst) free (dst_temp); errno = rename_errno; return ret_val; } #endif /* ! W32 platform */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistd.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000145131�12100641467�013206� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for and wrapper around <unistd.h>. Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_UNISTD_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_UNISTD_H@ # @INCLUDE_NEXT@ @NEXT_UNISTD_H@ #endif /* Get all possible declarations of gethostname(). */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ && !defined _GL_INCLUDING_WINSOCK2_H # define _GL_INCLUDING_WINSOCK2_H # include <winsock2.h> # undef _GL_INCLUDING_WINSOCK2_H #endif #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H #define _@GUARD_PREFIX@_UNISTD_H /* NetBSD 5.0 mis-defines NULL. Also get size_t. */ #include <stddef.h> /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */ /* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */ /* But avoid namespace pollution on glibc systems. */ #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \ || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \ && defined __CYGWIN__)) \ && ! defined __GLIBC__ # include <stdio.h> #endif /* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */ /* But avoid namespace pollution on glibc systems. */ #if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \ && ! defined __GLIBC__ # include <fcntl.h> #endif /* mingw fails to declare _exit in <unistd.h>. */ /* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */ /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */ /* But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # define __need_system_stdlib_h # include <stdlib.h> # undef __need_system_stdlib_h #endif /* Native Windows platforms declare chdir, getcwd, rmdir in <io.h> and/or <direct.h>, not in <unistd.h>. They also declare access(), chmod(), close(), dup(), dup2(), isatty(), lseek(), read(), unlink(), write() in <io.h>. */ #if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \ || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) # include <io.h> /* mingw32, mingw64 */ # include <direct.h> /* mingw64, MSVC 9 */ #elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \ || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \ || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # include <io.h> #endif /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>. NonStop Kernel declares gethostname in <netdb.h>, not in <unistd.h>. */ /* But avoid namespace pollution on glibc systems. */ #if ((@GNULIB_GETDOMAINNAME@ && (defined _AIX || defined __osf__)) \ || (@GNULIB_GETHOSTNAME@ && defined __TANDEM)) \ && !defined __GLIBC__ # include <netdb.h> #endif /* MSVC defines off_t in <sys/types.h>. May also define off_t to a 64-bit type on native Windows. */ #if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@ /* Get off_t. */ # include <sys/types.h> #endif #if (@GNULIB_READ@ || @GNULIB_WRITE@ \ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) /* Get ssize_t. */ # include <sys/types.h> #endif /* Get getopt(), optarg, optind, opterr, optopt. But avoid namespace pollution on glibc systems. */ #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT # include <getopt.h> #endif _GL_INLINE_HEADER_BEGIN #ifndef _GL_UNISTD_INLINE # define _GL_UNISTD_INLINE _GL_INLINE #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Hide some function declarations from <winsock2.h>. */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ # if !defined _@GUARD_PREFIX@_SYS_SOCKET_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef socket # define socket socket_used_without_including_sys_socket_h # undef connect # define connect connect_used_without_including_sys_socket_h # undef accept # define accept accept_used_without_including_sys_socket_h # undef bind # define bind bind_used_without_including_sys_socket_h # undef getpeername # define getpeername getpeername_used_without_including_sys_socket_h # undef getsockname # define getsockname getsockname_used_without_including_sys_socket_h # undef getsockopt # define getsockopt getsockopt_used_without_including_sys_socket_h # undef listen # define listen listen_used_without_including_sys_socket_h # undef recv # define recv recv_used_without_including_sys_socket_h # undef send # define send send_used_without_including_sys_socket_h # undef recvfrom # define recvfrom recvfrom_used_without_including_sys_socket_h # undef sendto # define sendto sendto_used_without_including_sys_socket_h # undef setsockopt # define setsockopt setsockopt_used_without_including_sys_socket_h # undef shutdown # define shutdown shutdown_used_without_including_sys_socket_h # else _GL_WARN_ON_USE (socket, "socket() used without including <sys/socket.h>"); _GL_WARN_ON_USE (connect, "connect() used without including <sys/socket.h>"); _GL_WARN_ON_USE (accept, "accept() used without including <sys/socket.h>"); _GL_WARN_ON_USE (bind, "bind() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getpeername, "getpeername() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockname, "getsockname() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockopt, "getsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (listen, "listen() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recv, "recv() used without including <sys/socket.h>"); _GL_WARN_ON_USE (send, "send() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recvfrom, "recvfrom() used without including <sys/socket.h>"); _GL_WARN_ON_USE (sendto, "sendto() used without including <sys/socket.h>"); _GL_WARN_ON_USE (setsockopt, "setsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (shutdown, "shutdown() used without including <sys/socket.h>"); # endif # endif # if !defined _@GUARD_PREFIX@_SYS_SELECT_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef select # define select select_used_without_including_sys_select_h # else _GL_WARN_ON_USE (select, "select() used without including <sys/select.h>"); # endif # endif #endif /* OS/2 EMX lacks these macros. */ #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* Ensure *_OK macros exist. */ #ifndef F_OK # define F_OK 0 # define X_OK 1 # define W_OK 2 # define R_OK 4 #endif /* Declare overridden functions. */ #if defined GNULIB_POSIXCHECK /* The access() function is a security risk. */ _GL_WARN_ON_USE (access, "the access function is a security risk - " "use the gnulib module faccessat instead"); #endif #if @GNULIB_CHDIR@ _GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1))); _GL_CXXALIASWARN (chdir); #elif defined GNULIB_POSIXCHECK # undef chdir # if HAVE_RAW_DECL_CHDIR _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - " "use gnulib module chdir for portability"); # endif #endif #if @GNULIB_CHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */ # if @REPLACE_CHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef chown # define chown rpl_chown # endif _GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)); # else # if !@HAVE_CHOWN@ _GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)); # endif _GL_CXXALIASWARN (chown); #elif defined GNULIB_POSIXCHECK # undef chown # if HAVE_RAW_DECL_CHOWN _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and " "doesn't treat a uid or gid of -1 on some systems - " "use gnulib module chown for portability"); # endif #endif #if @GNULIB_CLOSE@ # if @REPLACE_CLOSE@ /* Automatically included by modules that need a replacement for close. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close rpl_close # endif _GL_FUNCDECL_RPL (close, int, (int fd)); _GL_CXXALIAS_RPL (close, int, (int fd)); # else _GL_CXXALIAS_SYS (close, int, (int fd)); # endif _GL_CXXALIASWARN (close); #elif @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ # undef close # define close close_used_without_requesting_gnulib_module_close #elif defined GNULIB_POSIXCHECK # undef close /* Assume close is always declared. */ _GL_WARN_ON_USE (close, "close does not portably work on sockets - " "use gnulib module close for portability"); #endif #if @GNULIB_DUP@ # if @REPLACE_DUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup rpl_dup # endif _GL_FUNCDECL_RPL (dup, int, (int oldfd)); _GL_CXXALIAS_RPL (dup, int, (int oldfd)); # else _GL_CXXALIAS_SYS (dup, int, (int oldfd)); # endif _GL_CXXALIASWARN (dup); #elif defined GNULIB_POSIXCHECK # undef dup # if HAVE_RAW_DECL_DUP _GL_WARN_ON_USE (dup, "dup is unportable - " "use gnulib module dup for portability"); # endif #endif #if @GNULIB_DUP2@ /* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if NEWFD = OLDFD, otherwise close NEWFD first if it is open. Return newfd if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */ # if @REPLACE_DUP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup2 rpl_dup2 # endif _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd)); _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd)); # else # if !@HAVE_DUP2@ _GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd)); # endif _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd)); # endif _GL_CXXALIASWARN (dup2); #elif defined GNULIB_POSIXCHECK # undef dup2 # if HAVE_RAW_DECL_DUP2 _GL_WARN_ON_USE (dup2, "dup2 is unportable - " "use gnulib module dup2 for portability"); # endif #endif #if @GNULIB_DUP3@ /* Copy the file descriptor OLDFD into file descriptor NEWFD, with the specified flags. The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>) and O_TEXT, O_BINARY (defined in "binary-io.h"). Close NEWFD first if it is open. Return newfd if successful, otherwise -1 and errno set. See the Linux man page at <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */ # if @HAVE_DUP3@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dup3 rpl_dup3 # endif _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags)); _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags)); # else _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags)); _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags)); # endif _GL_CXXALIASWARN (dup3); #elif defined GNULIB_POSIXCHECK # undef dup3 # if HAVE_RAW_DECL_DUP3 _GL_WARN_ON_USE (dup3, "dup3 is unportable - " "use gnulib module dup3 for portability"); # endif #endif #if @GNULIB_ENVIRON@ # if !@HAVE_DECL_ENVIRON@ /* Set of environment variables and values. An array of strings of the form "VARIABLE=VALUE", terminated with a NULL. */ # if defined __APPLE__ && defined __MACH__ # include <crt_externs.h> # define environ (*_NSGetEnviron ()) # else # ifdef __cplusplus extern "C" { # endif extern char **environ; # ifdef __cplusplus } # endif # endif # endif #elif defined GNULIB_POSIXCHECK # if HAVE_RAW_DECL_ENVIRON _GL_UNISTD_INLINE char *** rpl_environ (void) { return &environ; } _GL_WARN_ON_USE (rpl_environ, "environ is unportable - " "use gnulib module environ for portability"); # undef environ # define environ (*rpl_environ ()) # endif #endif #if @GNULIB_EUIDACCESS@ /* Like access(), except that it uses the effective user id and group id of the current process. */ # if !@HAVE_EUIDACCESS@ _GL_FUNCDECL_SYS (euidaccess, int, (const char *filename, int mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (euidaccess, int, (const char *filename, int mode)); _GL_CXXALIASWARN (euidaccess); # if defined GNULIB_POSIXCHECK /* Like access(), this function is a security risk. */ _GL_WARN_ON_USE (euidaccess, "the euidaccess function is a security risk - " "use the gnulib module faccessat instead"); # endif #elif defined GNULIB_POSIXCHECK # undef euidaccess # if HAVE_RAW_DECL_EUIDACCESS _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - " "use gnulib module euidaccess for portability"); # endif #endif #if @GNULIB_FACCESSAT@ # if !@HAVE_FACCESSAT@ _GL_FUNCDECL_SYS (faccessat, int, (int fd, char const *file, int mode, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (faccessat, int, (int fd, char const *file, int mode, int flag)); _GL_CXXALIASWARN (faccessat); #elif defined GNULIB_POSIXCHECK # undef faccessat # if HAVE_RAW_DECL_FACCESSAT _GL_WARN_ON_USE (faccessat, "faccessat is not portable - " "use gnulib module faccessat for portability"); # endif #endif #if @GNULIB_FCHDIR@ /* Change the process' current working directory to the directory on which the given file descriptor is open. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */ # if ! @HAVE_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); /* Gnulib internal hooks needed to maintain the fchdir metadata. */ _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename) _GL_ARG_NONNULL ((2)); _GL_EXTERN_C void _gl_unregister_fd (int fd); _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd); _GL_EXTERN_C const char *_gl_directory_name (int fd); # else # if !@HAVE_DECL_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); # endif # endif _GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/)); _GL_CXXALIASWARN (fchdir); #elif defined GNULIB_POSIXCHECK # undef fchdir # if HAVE_RAW_DECL_FCHDIR _GL_WARN_ON_USE (fchdir, "fchdir is unportable - " "use gnulib module fchdir for portability"); # endif #endif #if @GNULIB_FCHOWNAT@ # if @REPLACE_FCHOWNAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fchownat # define fchownat rpl_fchownat # endif _GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag)); # else # if !@HAVE_FCHOWNAT@ _GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file, uid_t owner, gid_t group, int flag)); # endif _GL_CXXALIASWARN (fchownat); #elif defined GNULIB_POSIXCHECK # undef fchownat # if HAVE_RAW_DECL_FCHOWNAT _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_FDATASYNC@ /* Synchronize changes to a file. Return 0 if successful, otherwise -1 and errno set. See POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */ # if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ _GL_FUNCDECL_SYS (fdatasync, int, (int fd)); # endif _GL_CXXALIAS_SYS (fdatasync, int, (int fd)); _GL_CXXALIASWARN (fdatasync); #elif defined GNULIB_POSIXCHECK # undef fdatasync # if HAVE_RAW_DECL_FDATASYNC _GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - " "use gnulib module fdatasync for portability"); # endif #endif #if @GNULIB_FSYNC@ /* Synchronize changes, including metadata, to a file. Return 0 if successful, otherwise -1 and errno set. See POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */ # if !@HAVE_FSYNC@ _GL_FUNCDECL_SYS (fsync, int, (int fd)); # endif _GL_CXXALIAS_SYS (fsync, int, (int fd)); _GL_CXXALIASWARN (fsync); #elif defined GNULIB_POSIXCHECK # undef fsync # if HAVE_RAW_DECL_FSYNC _GL_WARN_ON_USE (fsync, "fsync is unportable - " "use gnulib module fsync for portability"); # endif #endif #if @GNULIB_FTRUNCATE@ /* Change the size of the file to which FD is opened to become equal to LENGTH. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */ # if @REPLACE_FTRUNCATE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ftruncate # define ftruncate rpl_ftruncate # endif _GL_FUNCDECL_RPL (ftruncate, int, (int fd, off_t length)); _GL_CXXALIAS_RPL (ftruncate, int, (int fd, off_t length)); # else # if !@HAVE_FTRUNCATE@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); # endif _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length)); # endif _GL_CXXALIASWARN (ftruncate); #elif defined GNULIB_POSIXCHECK # undef ftruncate # if HAVE_RAW_DECL_FTRUNCATE _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " "use gnulib module ftruncate for portability"); # endif #endif #if @GNULIB_GETCWD@ /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Return BUF if successful, or NULL if the directory couldn't be determined or SIZE was too small. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>. Additionally, the gnulib module 'getcwd' guarantees the following GNU extension: If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ # if @REPLACE_GETCWD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getcwd rpl_getcwd # endif _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size)); _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size)); # else /* Need to cast, because on mingw, the second parameter is int size. */ _GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size)); # endif _GL_CXXALIASWARN (getcwd); #elif defined GNULIB_POSIXCHECK # undef getcwd # if HAVE_RAW_DECL_GETCWD _GL_WARN_ON_USE (getcwd, "getcwd is unportable - " "use gnulib module getcwd for portability"); # endif #endif #if @GNULIB_GETDOMAINNAME@ /* Return the NIS domain name of the machine. WARNING! The NIS domain name is unrelated to the fully qualified host name of the machine. It is also unrelated to email addresses. WARNING! The NIS domain name is usually the empty string or "(none)" when not using NIS. Put up to LEN bytes of the NIS domain name into NAME. Null terminate it if the name is shorter than LEN. If the NIS domain name is longer than LEN, set errno = EINVAL and return -1. Return 0 if successful, otherwise set errno and return -1. */ # if @REPLACE_GETDOMAINNAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getdomainname # define getdomainname rpl_getdomainname # endif _GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len)); # else # if !@HAVE_DECL_GETDOMAINNAME@ _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len)); # endif _GL_CXXALIASWARN (getdomainname); #elif defined GNULIB_POSIXCHECK # undef getdomainname # if HAVE_RAW_DECL_GETDOMAINNAME _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - " "use gnulib module getdomainname for portability"); # endif #endif #if @GNULIB_GETDTABLESIZE@ /* Return the maximum number of file descriptors in the current process. In POSIX, this is same as sysconf (_SC_OPEN_MAX). */ # if !@HAVE_GETDTABLESIZE@ _GL_FUNCDECL_SYS (getdtablesize, int, (void)); # endif _GL_CXXALIAS_SYS (getdtablesize, int, (void)); _GL_CXXALIASWARN (getdtablesize); #elif defined GNULIB_POSIXCHECK # undef getdtablesize # if HAVE_RAW_DECL_GETDTABLESIZE _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - " "use gnulib module getdtablesize for portability"); # endif #endif #if @GNULIB_GETGROUPS@ /* Return the supplemental groups that the current process belongs to. It is unspecified whether the effective group id is in the list. If N is 0, return the group count; otherwise, N describes how many entries are available in GROUPS. Return -1 and set errno if N is not 0 and not large enough. Fails with ENOSYS on some systems. */ # if @REPLACE_GETGROUPS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getgroups # define getgroups rpl_getgroups # endif _GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups)); _GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups)); # else # if !@HAVE_GETGROUPS@ _GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups)); # endif _GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups)); # endif _GL_CXXALIASWARN (getgroups); #elif defined GNULIB_POSIXCHECK # undef getgroups # if HAVE_RAW_DECL_GETGROUPS _GL_WARN_ON_USE (getgroups, "getgroups is unportable - " "use gnulib module getgroups for portability"); # endif #endif #if @GNULIB_GETHOSTNAME@ /* Return the standard host name of the machine. WARNING! The host name may or may not be fully qualified. Put up to LEN bytes of the host name into NAME. Null terminate it if the name is shorter than LEN. If the host name is longer than LEN, set errno = EINVAL and return -1. Return 0 if successful, otherwise set errno and return -1. */ # if @UNISTD_H_HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname rpl_gethostname # endif _GL_FUNCDECL_RPL (gethostname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len)); # else # if !@HAVE_GETHOSTNAME@ _GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on Solaris 10 and OSF/1 5.1 systems, the second parameter is int len. */ _GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len)); # endif _GL_CXXALIASWARN (gethostname); #elif @UNISTD_H_HAVE_WINSOCK2_H@ # undef gethostname # define gethostname gethostname_used_without_requesting_gnulib_module_gethostname #elif defined GNULIB_POSIXCHECK # undef gethostname # if HAVE_RAW_DECL_GETHOSTNAME _GL_WARN_ON_USE (gethostname, "gethostname is unportable - " "use gnulib module gethostname for portability"); # endif #endif #if @GNULIB_GETLOGIN@ /* Returns the user's login name, or NULL if it cannot be found. Upon error, returns NULL with errno set. See <http://www.opengroup.org/susv3xsh/getlogin.html>. Most programs don't need to use this function, because the information is available through environment variables: ${LOGNAME-$USER} on Unix platforms, $USERNAME on native Windows platforms. */ # if !@HAVE_GETLOGIN@ _GL_FUNCDECL_SYS (getlogin, char *, (void)); # endif _GL_CXXALIAS_SYS (getlogin, char *, (void)); _GL_CXXALIASWARN (getlogin); #elif defined GNULIB_POSIXCHECK # undef getlogin # if HAVE_RAW_DECL_GETLOGIN _GL_WARN_ON_USE (getlogin, "getlogin is unportable - " "use gnulib module getlogin for portability"); # endif #endif #if @GNULIB_GETLOGIN_R@ /* Copies the user's login name to NAME. The array pointed to by NAME has room for SIZE bytes. Returns 0 if successful. Upon error, an error number is returned, or -1 in the case that the login name cannot be found but no specific error is provided (this case is hopefully rare but is left open by the POSIX spec). See <http://www.opengroup.org/susv3xsh/getlogin.html>. Most programs don't need to use this function, because the information is available through environment variables: ${LOGNAME-$USER} on Unix platforms, $USERNAME on native Windows platforms. */ # if @REPLACE_GETLOGIN_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getlogin_r rpl_getlogin_r # endif _GL_FUNCDECL_RPL (getlogin_r, int, (char *name, size_t size) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (getlogin_r, int, (char *name, size_t size)); # else # if !@HAVE_DECL_GETLOGIN_R@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on Solaris 10 systems, the second argument is int size. */ _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size)); # endif _GL_CXXALIASWARN (getlogin_r); #elif defined GNULIB_POSIXCHECK # undef getlogin_r # if HAVE_RAW_DECL_GETLOGIN_R _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - " "use gnulib module getlogin_r for portability"); # endif #endif #if @GNULIB_GETPAGESIZE@ # if @REPLACE_GETPAGESIZE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getpagesize rpl_getpagesize # endif _GL_FUNCDECL_RPL (getpagesize, int, (void)); _GL_CXXALIAS_RPL (getpagesize, int, (void)); # else # if !@HAVE_GETPAGESIZE@ # if !defined getpagesize /* This is for POSIX systems. */ # if !defined _gl_getpagesize && defined _SC_PAGESIZE # if ! (defined __VMS && __VMS_VER < 70000000) # define _gl_getpagesize() sysconf (_SC_PAGESIZE) # endif # endif /* This is for older VMS. */ # if !defined _gl_getpagesize && defined __VMS # ifdef __ALPHA # define _gl_getpagesize() 8192 # else # define _gl_getpagesize() 512 # endif # endif /* This is for BeOS. */ # if !defined _gl_getpagesize && @HAVE_OS_H@ # include <OS.h> # if defined B_PAGE_SIZE # define _gl_getpagesize() B_PAGE_SIZE # endif # endif /* This is for AmigaOS4.0. */ # if !defined _gl_getpagesize && defined __amigaos4__ # define _gl_getpagesize() 2048 # endif /* This is for older Unix systems. */ # if !defined _gl_getpagesize && @HAVE_SYS_PARAM_H@ # include <sys/param.h> # ifdef EXEC_PAGESIZE # define _gl_getpagesize() EXEC_PAGESIZE # else # ifdef NBPG # ifndef CLSIZE # define CLSIZE 1 # endif # define _gl_getpagesize() (NBPG * CLSIZE) # else # ifdef NBPC # define _gl_getpagesize() NBPC # endif # endif # endif # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getpagesize() _gl_getpagesize () # else # if !GNULIB_defined_getpagesize_function _GL_UNISTD_INLINE int getpagesize () { return _gl_getpagesize (); } # define GNULIB_defined_getpagesize_function 1 # endif # endif # endif # endif /* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */ _GL_CXXALIAS_SYS_CAST (getpagesize, int, (void)); # endif # if @HAVE_DECL_GETPAGESIZE@ _GL_CXXALIASWARN (getpagesize); # endif #elif defined GNULIB_POSIXCHECK # undef getpagesize # if HAVE_RAW_DECL_GETPAGESIZE _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - " "use gnulib module getpagesize for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Return the next valid login shell on the system, or NULL when the end of the list has been reached. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (getusershell, char *, (void)); # endif _GL_CXXALIAS_SYS (getusershell, char *, (void)); _GL_CXXALIASWARN (getusershell); #elif defined GNULIB_POSIXCHECK # undef getusershell # if HAVE_RAW_DECL_GETUSERSHELL _GL_WARN_ON_USE (getusershell, "getusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Rewind to pointer that is advanced at each getusershell() call. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (setusershell, void, (void)); # endif _GL_CXXALIAS_SYS (setusershell, void, (void)); _GL_CXXALIASWARN (setusershell); #elif defined GNULIB_POSIXCHECK # undef setusershell # if HAVE_RAW_DECL_SETUSERSHELL _GL_WARN_ON_USE (setusershell, "setusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_GETUSERSHELL@ /* Free the pointer that is advanced at each getusershell() call and associated resources. */ # if !@HAVE_DECL_GETUSERSHELL@ _GL_FUNCDECL_SYS (endusershell, void, (void)); # endif _GL_CXXALIAS_SYS (endusershell, void, (void)); _GL_CXXALIASWARN (endusershell); #elif defined GNULIB_POSIXCHECK # undef endusershell # if HAVE_RAW_DECL_ENDUSERSHELL _GL_WARN_ON_USE (endusershell, "endusershell is unportable - " "use gnulib module getusershell for portability"); # endif #endif #if @GNULIB_GROUP_MEMBER@ /* Determine whether group id is in calling user's group list. */ # if !@HAVE_GROUP_MEMBER@ _GL_FUNCDECL_SYS (group_member, int, (gid_t gid)); # endif _GL_CXXALIAS_SYS (group_member, int, (gid_t gid)); _GL_CXXALIASWARN (group_member); #elif defined GNULIB_POSIXCHECK # undef group_member # if HAVE_RAW_DECL_GROUP_MEMBER _GL_WARN_ON_USE (group_member, "group_member is unportable - " "use gnulib module group-member for portability"); # endif #endif #if @GNULIB_ISATTY@ # if @REPLACE_ISATTY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef isatty # define isatty rpl_isatty # endif _GL_FUNCDECL_RPL (isatty, int, (int fd)); _GL_CXXALIAS_RPL (isatty, int, (int fd)); # else _GL_CXXALIAS_SYS (isatty, int, (int fd)); # endif _GL_CXXALIASWARN (isatty); #elif defined GNULIB_POSIXCHECK # undef isatty # if HAVE_RAW_DECL_ISATTY _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - " "use gnulib module isatty for portability"); # endif #endif #if @GNULIB_LCHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Do not follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */ # if @REPLACE_LCHOWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lchown # define lchown rpl_lchown # endif _GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)); # else # if !@HAVE_LCHOWN@ _GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)); # endif _GL_CXXALIASWARN (lchown); #elif defined GNULIB_POSIXCHECK # undef lchown # if HAVE_RAW_DECL_LCHOWN _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - " "use gnulib module lchown for portability"); # endif #endif #if @GNULIB_LINK@ /* Create a new hard link for an existing file. Return 0 if successful, otherwise -1 and errno set. See POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */ # if @REPLACE_LINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define link rpl_link # endif _GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2)); # else # if !@HAVE_LINK@ _GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2)); # endif _GL_CXXALIASWARN (link); #elif defined GNULIB_POSIXCHECK # undef link # if HAVE_RAW_DECL_LINK _GL_WARN_ON_USE (link, "link is unportable - " "use gnulib module link for portability"); # endif #endif #if @GNULIB_LINKAT@ /* Create a new hard link for an existing file, relative to two directories. FLAG controls whether symlinks are followed. Return 0 if successful, otherwise -1 and errno set. */ # if @REPLACE_LINKAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef linkat # define linkat rpl_linkat # endif _GL_FUNCDECL_RPL (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag) _GL_ARG_NONNULL ((2, 4))); _GL_CXXALIAS_RPL (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag)); # else # if !@HAVE_LINKAT@ _GL_FUNCDECL_SYS (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag)); # endif _GL_CXXALIASWARN (linkat); #elif defined GNULIB_POSIXCHECK # undef linkat # if HAVE_RAW_DECL_LINKAT _GL_WARN_ON_USE (linkat, "linkat is unportable - " "use gnulib module linkat for portability"); # endif #endif #if @GNULIB_LSEEK@ /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. Return the new offset if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */ # if @REPLACE_LSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lseek rpl_lseek # endif _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence)); _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence)); # else _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence)); # endif _GL_CXXALIASWARN (lseek); #elif defined GNULIB_POSIXCHECK # undef lseek # if HAVE_RAW_DECL_LSEEK _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some " "systems - use gnulib module lseek for portability"); # endif #endif #if @GNULIB_PIPE@ /* Create a pipe, defaulting to O_BINARY mode. Store the read-end as fd[0] and the write-end as fd[1]. Return 0 upon success, or -1 with errno set upon failure. */ # if !@HAVE_PIPE@ _GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (pipe, int, (int fd[2])); _GL_CXXALIASWARN (pipe); #elif defined GNULIB_POSIXCHECK # undef pipe # if HAVE_RAW_DECL_PIPE _GL_WARN_ON_USE (pipe, "pipe is unportable - " "use gnulib module pipe-posix for portability"); # endif #endif #if @GNULIB_PIPE2@ /* Create a pipe, applying the given flags when opening the read-end of the pipe and the write-end of the pipe. The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>) and O_TEXT, O_BINARY (defined in "binary-io.h"). Store the read-end as fd[0] and the write-end as fd[1]. Return 0 upon success, or -1 with errno set upon failure. See also the Linux man page at <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */ # if @HAVE_PIPE2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define pipe2 rpl_pipe2 # endif _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags)); # else _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags)); # endif _GL_CXXALIASWARN (pipe2); #elif defined GNULIB_POSIXCHECK # undef pipe2 # if HAVE_RAW_DECL_PIPE2 _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - " "use gnulib module pipe2 for portability"); # endif #endif #if @GNULIB_PREAD@ /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET. Return the number of bytes placed into BUF if successful, otherwise set errno and return -1. 0 indicates EOF. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */ # if @REPLACE_PREAD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pread # define pread rpl_pread # endif _GL_FUNCDECL_RPL (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset)); # else # if !@HAVE_PREAD@ _GL_FUNCDECL_SYS (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset)); # endif _GL_CXXALIASWARN (pread); #elif defined GNULIB_POSIXCHECK # undef pread # if HAVE_RAW_DECL_PREAD _GL_WARN_ON_USE (pread, "pread is unportable - " "use gnulib module pread for portability"); # endif #endif #if @GNULIB_PWRITE@ /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET. Return the number of bytes written if successful, otherwise set errno and return -1. 0 indicates nothing written. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */ # if @REPLACE_PWRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pwrite # define pwrite rpl_pwrite # endif _GL_FUNCDECL_RPL (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset)); # else # if !@HAVE_PWRITE@ _GL_FUNCDECL_SYS (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset)); # endif _GL_CXXALIASWARN (pwrite); #elif defined GNULIB_POSIXCHECK # undef pwrite # if HAVE_RAW_DECL_PWRITE _GL_WARN_ON_USE (pwrite, "pwrite is unportable - " "use gnulib module pwrite for portability"); # endif #endif #if @GNULIB_READ@ /* Read up to COUNT bytes from file descriptor FD into the buffer starting at BUF. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */ # if @REPLACE_READ@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef read # define read rpl_read # endif _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count)); # else /* Need to cast, because on mingw, the third parameter is unsigned int count and the return type is 'int'. */ _GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count)); # endif _GL_CXXALIASWARN (read); #endif #if @GNULIB_READLINK@ /* Read the contents of the symbolic link FILE and place the first BUFSIZE bytes of it into BUF. Return the number of bytes placed into BUF if successful, otherwise -1 and errno set. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */ # if @REPLACE_READLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define readlink rpl_readlink # endif _GL_FUNCDECL_RPL (readlink, ssize_t, (const char *file, char *buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (readlink, ssize_t, (const char *file, char *buf, size_t bufsize)); # else # if !@HAVE_READLINK@ _GL_FUNCDECL_SYS (readlink, ssize_t, (const char *file, char *buf, size_t bufsize) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (readlink, ssize_t, (const char *file, char *buf, size_t bufsize)); # endif _GL_CXXALIASWARN (readlink); #elif defined GNULIB_POSIXCHECK # undef readlink # if HAVE_RAW_DECL_READLINK _GL_WARN_ON_USE (readlink, "readlink is unportable - " "use gnulib module readlink for portability"); # endif #endif #if @GNULIB_READLINKAT@ # if !@HAVE_READLINKAT@ _GL_FUNCDECL_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (readlinkat, ssize_t, (int fd, char const *file, char *buf, size_t len)); _GL_CXXALIASWARN (readlinkat); #elif defined GNULIB_POSIXCHECK # undef readlinkat # if HAVE_RAW_DECL_READLINKAT _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - " "use gnulib module readlinkat for portability"); # endif #endif #if @GNULIB_RMDIR@ /* Remove the directory DIR. */ # if @REPLACE_RMDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define rmdir rpl_rmdir # endif _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (rmdir, int, (char const *name)); # else _GL_CXXALIAS_SYS (rmdir, int, (char const *name)); # endif _GL_CXXALIASWARN (rmdir); #elif defined GNULIB_POSIXCHECK # undef rmdir # if HAVE_RAW_DECL_RMDIR _GL_WARN_ON_USE (rmdir, "rmdir is unportable - " "use gnulib module rmdir for portability"); # endif #endif #if @GNULIB_SETHOSTNAME@ /* Set the host name of the machine. The host name may or may not be fully qualified. Put LEN bytes of NAME into the host name. Return 0 if successful, otherwise, set errno and return -1. Platforms with no ability to set the hostname return -1 and set errno = ENOSYS. */ # if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@ _GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5 and FreeBSD 6.4 the second parameter is int. On Solaris 11 2011-10, the first parameter is not const. */ _GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len)); _GL_CXXALIASWARN (sethostname); #elif defined GNULIB_POSIXCHECK # undef sethostname # if HAVE_RAW_DECL_SETHOSTNAME _GL_WARN_ON_USE (sethostname, "sethostname is unportable - " "use gnulib module sethostname for portability"); # endif #endif #if @GNULIB_SLEEP@ /* Pause the execution of the current thread for N seconds. Returns the number of seconds left to sleep. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */ # if @REPLACE_SLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sleep # define sleep rpl_sleep # endif _GL_FUNCDECL_RPL (sleep, unsigned int, (unsigned int n)); _GL_CXXALIAS_RPL (sleep, unsigned int, (unsigned int n)); # else # if !@HAVE_SLEEP@ _GL_FUNCDECL_SYS (sleep, unsigned int, (unsigned int n)); # endif _GL_CXXALIAS_SYS (sleep, unsigned int, (unsigned int n)); # endif _GL_CXXALIASWARN (sleep); #elif defined GNULIB_POSIXCHECK # undef sleep # if HAVE_RAW_DECL_SLEEP _GL_WARN_ON_USE (sleep, "sleep is unportable - " "use gnulib module sleep for portability"); # endif #endif #if @GNULIB_SYMLINK@ # if @REPLACE_SYMLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef symlink # define symlink rpl_symlink # endif _GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file)); # else # if !@HAVE_SYMLINK@ _GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file)); # endif _GL_CXXALIASWARN (symlink); #elif defined GNULIB_POSIXCHECK # undef symlink # if HAVE_RAW_DECL_SYMLINK _GL_WARN_ON_USE (symlink, "symlink is not portable - " "use gnulib module symlink for portability"); # endif #endif #if @GNULIB_SYMLINKAT@ # if !@HAVE_SYMLINKAT@ _GL_FUNCDECL_SYS (symlinkat, int, (char const *contents, int fd, char const *file) _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (symlinkat, int, (char const *contents, int fd, char const *file)); _GL_CXXALIASWARN (symlinkat); #elif defined GNULIB_POSIXCHECK # undef symlinkat # if HAVE_RAW_DECL_SYMLINKAT _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - " "use gnulib module symlinkat for portability"); # endif #endif #if @GNULIB_TTYNAME_R@ /* Store at most BUFLEN characters of the pathname of the terminal FD is open on in BUF. Return 0 on success, otherwise an error number. */ # if @REPLACE_TTYNAME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ttyname_r # define ttyname_r rpl_ttyname_r # endif _GL_FUNCDECL_RPL (ttyname_r, int, (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (ttyname_r, int, (int fd, char *buf, size_t buflen)); # else # if !@HAVE_DECL_TTYNAME_R@ _GL_FUNCDECL_SYS (ttyname_r, int, (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (ttyname_r, int, (int fd, char *buf, size_t buflen)); # endif _GL_CXXALIASWARN (ttyname_r); #elif defined GNULIB_POSIXCHECK # undef ttyname_r # if HAVE_RAW_DECL_TTYNAME_R _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - " "use gnulib module ttyname_r for portability"); # endif #endif #if @GNULIB_UNLINK@ # if @REPLACE_UNLINK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unlink # define unlink rpl_unlink # endif _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (unlink, int, (char const *file)); # else _GL_CXXALIAS_SYS (unlink, int, (char const *file)); # endif _GL_CXXALIASWARN (unlink); #elif defined GNULIB_POSIXCHECK # undef unlink # if HAVE_RAW_DECL_UNLINK _GL_WARN_ON_USE (unlink, "unlink is not portable - " "use gnulib module unlink for portability"); # endif #endif #if @GNULIB_UNLINKAT@ # if @REPLACE_UNLINKAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unlinkat # define unlinkat rpl_unlinkat # endif _GL_FUNCDECL_RPL (unlinkat, int, (int fd, char const *file, int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (unlinkat, int, (int fd, char const *file, int flag)); # else # if !@HAVE_UNLINKAT@ _GL_FUNCDECL_SYS (unlinkat, int, (int fd, char const *file, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (unlinkat, int, (int fd, char const *file, int flag)); # endif _GL_CXXALIASWARN (unlinkat); #elif defined GNULIB_POSIXCHECK # undef unlinkat # if HAVE_RAW_DECL_UNLINKAT _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_USLEEP@ /* Pause the execution of the current thread for N microseconds. Returns 0 on completion, or -1 on range error. See the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/usleep.html>. */ # if @REPLACE_USLEEP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef usleep # define usleep rpl_usleep # endif _GL_FUNCDECL_RPL (usleep, int, (useconds_t n)); _GL_CXXALIAS_RPL (usleep, int, (useconds_t n)); # else # if !@HAVE_USLEEP@ _GL_FUNCDECL_SYS (usleep, int, (useconds_t n)); # endif _GL_CXXALIAS_SYS (usleep, int, (useconds_t n)); # endif _GL_CXXALIASWARN (usleep); #elif defined GNULIB_POSIXCHECK # undef usleep # if HAVE_RAW_DECL_USLEEP _GL_WARN_ON_USE (usleep, "usleep is unportable - " "use gnulib module usleep for portability"); # endif #endif #if @GNULIB_WRITE@ /* Write up to COUNT bytes starting at BUF to file descriptor FD. See the POSIX:2008 specification <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */ # if @REPLACE_WRITE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef write # define write rpl_write # endif _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count)); # else /* Need to cast, because on mingw, the third parameter is unsigned int count and the return type is 'int'. */ _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count)); # endif _GL_CXXALIASWARN (write); #endif _GL_INLINE_HEADER_END #endif /* _@GUARD_PREFIX@_UNISTD_H */ #endif /* _@GUARD_PREFIX@_UNISTD_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtod.h������������������������������������������������������������������������0000664�0000000�0000000�00000002227�12071024546�013000� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Error-checking interface to strtod-like functions. Copyright (C) 1996, 1998, 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #ifndef XSTRTOD_H # define XSTRTOD_H 1 # include <stdbool.h> bool xstrtod (const char *str, const char **ptr, double *result, double (*convert) (char const *, char **)); bool xstrtold (const char *str, const char **ptr, long double *result, long double (*convert) (char const *, char **)); #endif /* not XSTRTOD_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnumcmp.c����������������������������������������������������������������������0000664�0000000�0000000�00000002016�12102337340�013302� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compare numeric strings. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "strnumcmp-in.h" /* Externally-visible name for numcompare. */ int _GL_ATTRIBUTE_PURE strnumcmp (char const *a, char const *b, int decimal_point, int thousands_sep) { return numcompare (a, b, decimal_point, thousands_sep); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/striconv.h�����������������������������������������������������������������������0000664�0000000�0000000�00000005500�12071561014�013131� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Charset conversion. Copyright (C) 2001-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _STRICONV_H #define _STRICONV_H #include <stddef.h> #if HAVE_ICONV #include <iconv.h> #endif #ifdef __cplusplus extern "C" { #endif #if HAVE_ICONV /* Convert an entire string from one encoding to another, using iconv. The original string is at [SRC,...,SRC+SRCLEN-1]. The conversion descriptor is passed as CD. *RESULTP and *LENGTH should initially be a scratch buffer and its size, or *RESULTP can initially be NULL. May erase the contents of the memory at *RESULTP. Return value: 0 if successful, otherwise -1 and errno set. If successful: The resulting string is stored in *RESULTP and its length in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is unchanged if no dynamic memory allocation was necessary. */ extern int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp); /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. The conversion descriptor is passed as CD. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * str_cd_iconv (const char *src, iconv_t cd); #endif /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * str_iconv (const char *src, const char *from_codeset, const char *to_codeset); #ifdef __cplusplus } #endif #endif /* _STRICONV_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gnulib.mk������������������������������������������������������������������������0000664�0000000�0000000�00000531301�12107175523�012733� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this file. If not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, # this file may be distributed as part of a program that # contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backupfile base64 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-type fileblocks filemode filenamecat filevercmp fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftello ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc obstack parse-datetime pathmax perl physmem pipe posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at settime sig2str sigaction ssize_t stat-macros stat-size stat-time statat stdbool stdlib-safer stpcpy stpncpy strdup-posix strftime strncat strnumcmp strpbrk strsignal strtod strtoimax strtoumax symlink sys_ioctl sys_resource sys_stat sys_wait termios timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xfreopen xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno MOSTLYCLEANFILES += lib/core lib/*.stackdump noinst_LIBRARIES += lib/libcoreutils.a lib_libcoreutils_a_SOURCES = lib_libcoreutils_a_LIBADD = $(gl_LIBOBJS) lib_libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) EXTRA_lib_libcoreutils_a_SOURCES = ## begin gnulib module acl lib_libcoreutils_a_SOURCES += lib/set-mode-acl.c lib/copy-acl.c lib/file-has-acl.c EXTRA_DIST += lib/acl-internal.h lib/acl.h lib/acl_entries.c EXTRA_lib_libcoreutils_a_SOURCES += lib/acl_entries.c ## end gnulib module acl ## begin gnulib module alignof EXTRA_DIST += lib/alignof.h ## end gnulib module alignof ## begin gnulib module alloca lib_libcoreutils_a_LIBADD += @ALLOCA@ lib_libcoreutils_a_DEPENDENCIES += @ALLOCA@ EXTRA_DIST += lib/alloca.c EXTRA_lib_libcoreutils_a_SOURCES += lib/alloca.c ## end gnulib module alloca ## begin gnulib module alloca-opt BUILT_SOURCES += $(ALLOCA_H) # We need the following in order to create <alloca.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_ALLOCA_H lib/alloca.h: lib/alloca.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/alloca.in.h; \ } > $@-t && \ mv -f $@-t $@ else lib/alloca.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/alloca.h lib/alloca.h-t EXTRA_DIST += lib/alloca.in.h ## end gnulib module alloca-opt ## begin gnulib module allocator lib_libcoreutils_a_SOURCES += lib/allocator.c EXTRA_DIST += lib/allocator.h ## end gnulib module allocator ## begin gnulib module announce-gen EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen ## end gnulib module announce-gen ## begin gnulib module areadlink lib_libcoreutils_a_SOURCES += lib/areadlink.c EXTRA_DIST += lib/areadlink.h ## end gnulib module areadlink ## begin gnulib module areadlink-with-size lib_libcoreutils_a_SOURCES += lib/areadlink-with-size.c EXTRA_DIST += lib/areadlink.h ## end gnulib module areadlink-with-size ## begin gnulib module areadlinkat lib_libcoreutils_a_SOURCES += lib/areadlinkat.c EXTRA_DIST += lib/areadlink.h lib/at-func.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c ## end gnulib module areadlinkat ## begin gnulib module argmatch lib_libcoreutils_a_SOURCES += lib/argmatch.c EXTRA_DIST += lib/argmatch.h ## end gnulib module argmatch ## begin gnulib module argv-iter lib_libcoreutils_a_SOURCES += lib/argv-iter.c lib/argv-iter.h ## end gnulib module argv-iter ## begin gnulib module arpa_inet BUILT_SOURCES += lib/arpa/inet.h # We need the following in order to create <arpa/inet.h> when the system # doesn't have one. lib/arpa/inet.h: lib/arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/arpa $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ -e 's|@''REPLACE_INET_NTOP''@|$(REPLACE_INET_NTOP)|g' \ -e 's|@''REPLACE_INET_PTON''@|$(REPLACE_INET_PTON)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/arpa_inet.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/arpa/inet.h lib/arpa/inet.h-t MOSTLYCLEANDIRS += lib/arpa EXTRA_DIST += lib/arpa_inet.in.h ## end gnulib module arpa_inet ## begin gnulib module at-internal EXTRA_DIST += lib/openat-priv.h lib/openat-proc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/openat-proc.c ## end gnulib module at-internal ## begin gnulib module backupfile lib_libcoreutils_a_SOURCES += lib/backupfile.c EXTRA_DIST += lib/backupfile.h ## end gnulib module backupfile ## begin gnulib module base64 lib_libcoreutils_a_SOURCES += lib/base64.h lib/base64.c ## end gnulib module base64 ## begin gnulib module binary-io lib_libcoreutils_a_SOURCES += lib/binary-io.h lib/binary-io.c ## end gnulib module binary-io ## begin gnulib module bitrotate lib_libcoreutils_a_SOURCES += lib/bitrotate.h lib/bitrotate.c ## end gnulib module bitrotate ## begin gnulib module btowc EXTRA_DIST += lib/btowc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/btowc.c ## end gnulib module btowc ## begin gnulib module buffer-lcm lib_libcoreutils_a_SOURCES += lib/buffer-lcm.c lib/buffer-lcm.h ## end gnulib module buffer-lcm ## begin gnulib module c-ctype lib_libcoreutils_a_SOURCES += lib/c-ctype.h lib/c-ctype.c ## end gnulib module c-ctype ## begin gnulib module c-strcase lib_libcoreutils_a_SOURCES += lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c ## end gnulib module c-strcase ## begin gnulib module c-strcaseeq EXTRA_DIST += lib/c-strcaseeq.h ## end gnulib module c-strcaseeq ## begin gnulib module c-strtod lib_libcoreutils_a_SOURCES += lib/c-strtod.c EXTRA_DIST += lib/c-strtod.h ## end gnulib module c-strtod ## begin gnulib module c-strtold lib_libcoreutils_a_SOURCES += lib/c-strtold.c EXTRA_DIST += lib/c-strtod.c lib/c-strtod.h EXTRA_lib_libcoreutils_a_SOURCES += lib/c-strtod.c ## end gnulib module c-strtold ## begin gnulib module calloc-gnu EXTRA_DIST += lib/calloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/calloc.c ## end gnulib module calloc-gnu ## begin gnulib module calloc-posix EXTRA_DIST += lib/calloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/calloc.c ## end gnulib module calloc-posix ## begin gnulib module canon-host lib_libcoreutils_a_SOURCES += lib/canon-host.c EXTRA_DIST += lib/canon-host.h ## end gnulib module canon-host ## begin gnulib module canonicalize lib_libcoreutils_a_SOURCES += lib/canonicalize.c EXTRA_DIST += lib/canonicalize.h ## end gnulib module canonicalize ## begin gnulib module careadlinkat lib_libcoreutils_a_SOURCES += lib/careadlinkat.c EXTRA_DIST += lib/careadlinkat.h ## end gnulib module careadlinkat ## begin gnulib module chdir-long EXTRA_DIST += lib/chdir-long.c lib/chdir-long.h EXTRA_lib_libcoreutils_a_SOURCES += lib/chdir-long.c ## end gnulib module chdir-long ## begin gnulib module chown EXTRA_DIST += lib/chown.c lib/fchown-stub.c EXTRA_lib_libcoreutils_a_SOURCES += lib/chown.c lib/fchown-stub.c ## end gnulib module chown ## begin gnulib module cloexec lib_libcoreutils_a_SOURCES += lib/cloexec.c EXTRA_DIST += lib/cloexec.h ## end gnulib module cloexec ## begin gnulib module close EXTRA_DIST += lib/close.c EXTRA_lib_libcoreutils_a_SOURCES += lib/close.c ## end gnulib module close ## begin gnulib module close-stream lib_libcoreutils_a_SOURCES += lib/close-stream.c EXTRA_DIST += lib/close-stream.h ## end gnulib module close-stream ## begin gnulib module closedir EXTRA_DIST += lib/closedir.c lib/dirent-private.h EXTRA_lib_libcoreutils_a_SOURCES += lib/closedir.c ## end gnulib module closedir ## begin gnulib module closein lib_libcoreutils_a_SOURCES += lib/closein.c EXTRA_DIST += lib/closein.h ## end gnulib module closein ## begin gnulib module closeout lib_libcoreutils_a_SOURCES += lib/closeout.c EXTRA_DIST += lib/closeout.h ## end gnulib module closeout ## begin gnulib module configmake # Listed in the same order as the GNU makefile conventions, and # provided by autoconf 2.59c+. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. lib/configmake.h: Makefile $(AM_V_GEN)rm -f $@-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t && \ mv -f $@-t $@ BUILT_SOURCES += lib/configmake.h CLEANFILES += lib/configmake.h lib/configmake.h-t ## end gnulib module configmake ## begin gnulib module crypto/md5 lib_libcoreutils_a_SOURCES += lib/md5.c EXTRA_DIST += lib/md5.h ## end gnulib module crypto/md5 ## begin gnulib module crypto/sha1 lib_libcoreutils_a_SOURCES += lib/sha1.c EXTRA_DIST += lib/sha1.h ## end gnulib module crypto/sha1 ## begin gnulib module crypto/sha256 lib_libcoreutils_a_SOURCES += lib/sha256.c EXTRA_DIST += lib/sha256.h ## end gnulib module crypto/sha256 ## begin gnulib module crypto/sha512 lib_libcoreutils_a_SOURCES += lib/sha512.c EXTRA_DIST += lib/sha512.h ## end gnulib module crypto/sha512 ## begin gnulib module ctype BUILT_SOURCES += lib/ctype.h # We need the following in order to create <ctype.h> when the system # doesn't have one that works with the given compiler. lib/ctype.h: lib/ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \ -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \ -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/ctype.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/ctype.h lib/ctype.h-t EXTRA_DIST += lib/ctype.in.h ## end gnulib module ctype ## begin gnulib module cycle-check lib_libcoreutils_a_SOURCES += lib/cycle-check.c EXTRA_DIST += lib/cycle-check.h ## end gnulib module cycle-check ## begin gnulib module dev-ino EXTRA_DIST += lib/dev-ino.h ## end gnulib module dev-ino ## begin gnulib module di-set lib_libcoreutils_a_SOURCES += lib/di-set.c lib/di-set.h ## end gnulib module di-set ## begin gnulib module diacrit lib_libcoreutils_a_SOURCES += lib/diacrit.h lib/diacrit.c ## end gnulib module diacrit ## begin gnulib module dirent BUILT_SOURCES += lib/dirent.h # We need the following in order to create <dirent.h> when the system # doesn't have one that works with the given compiler. lib/dirent.h: lib/dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/dirent.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/dirent.h lib/dirent.h-t EXTRA_DIST += lib/dirent.in.h ## end gnulib module dirent ## begin gnulib module dirent-safer lib_libcoreutils_a_SOURCES += lib/opendir-safer.c EXTRA_DIST += lib/dirent--.h lib/dirent-safer.h ## end gnulib module dirent-safer ## begin gnulib module dirfd EXTRA_DIST += lib/dirfd.c EXTRA_lib_libcoreutils_a_SOURCES += lib/dirfd.c ## end gnulib module dirfd ## begin gnulib module dirname lib_libcoreutils_a_SOURCES += lib/dirname.c lib/basename.c EXTRA_DIST += lib/stripslash.c EXTRA_lib_libcoreutils_a_SOURCES += lib/stripslash.c ## end gnulib module dirname ## begin gnulib module dirname-lgpl lib_libcoreutils_a_SOURCES += lib/dirname-lgpl.c lib/basename-lgpl.c lib/stripslash.c EXTRA_DIST += lib/dirname.h ## end gnulib module dirname-lgpl ## begin gnulib module do-release-commit-and-tag EXTRA_DIST += $(top_srcdir)/build-aux/do-release-commit-and-tag ## end gnulib module do-release-commit-and-tag ## begin gnulib module dosname EXTRA_DIST += lib/dosname.h ## end gnulib module dosname ## begin gnulib module dtoastr lib_libcoreutils_a_SOURCES += lib/dtoastr.c EXTRA_DIST += lib/ftoastr.c lib/ftoastr.h EXTRA_lib_libcoreutils_a_SOURCES += lib/ftoastr.c ## end gnulib module dtoastr ## begin gnulib module dtotimespec lib_libcoreutils_a_SOURCES += lib/dtotimespec.c ## end gnulib module dtotimespec ## begin gnulib module dup EXTRA_DIST += lib/dup.c EXTRA_lib_libcoreutils_a_SOURCES += lib/dup.c ## end gnulib module dup ## begin gnulib module dup2 EXTRA_DIST += lib/dup2.c EXTRA_lib_libcoreutils_a_SOURCES += lib/dup2.c ## end gnulib module dup2 ## begin gnulib module errno BUILT_SOURCES += $(ERRNO_H) # We need the following in order to create <errno.h> when the system # doesn't have one that is POSIX compliant. if GL_GENERATE_ERRNO_H lib/errno.h: lib/errno.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ < $(top_srcdir)/lib/errno.in.h; \ } > $@-t && \ mv $@-t $@ else lib/errno.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/errno.h lib/errno.h-t EXTRA_DIST += lib/errno.in.h ## end gnulib module errno ## begin gnulib module error EXTRA_DIST += lib/error.c lib/error.h EXTRA_lib_libcoreutils_a_SOURCES += lib/error.c ## end gnulib module error ## begin gnulib module euidaccess EXTRA_DIST += lib/euidaccess.c EXTRA_lib_libcoreutils_a_SOURCES += lib/euidaccess.c ## end gnulib module euidaccess ## begin gnulib module exclude lib_libcoreutils_a_SOURCES += lib/exclude.c EXTRA_DIST += lib/exclude.h ## end gnulib module exclude ## begin gnulib module exitfail lib_libcoreutils_a_SOURCES += lib/exitfail.c EXTRA_DIST += lib/exitfail.h ## end gnulib module exitfail ## begin gnulib module faccessat EXTRA_DIST += lib/at-func.c lib/faccessat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/faccessat.c ## end gnulib module faccessat ## begin gnulib module fadvise lib_libcoreutils_a_SOURCES += lib/fadvise.c lib/fadvise.h ## end gnulib module fadvise ## begin gnulib module fatal-signal lib_libcoreutils_a_SOURCES += lib/fatal-signal.h lib/fatal-signal.c ## end gnulib module fatal-signal ## begin gnulib module fchdir EXTRA_DIST += lib/fchdir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fchdir.c ## end gnulib module fchdir ## begin gnulib module fchmodat lib_libcoreutils_a_SOURCES += lib/chmodat.c EXTRA_DIST += lib/at-func.c lib/fchmodat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/fchmodat.c ## end gnulib module fchmodat ## begin gnulib module fchownat lib_libcoreutils_a_SOURCES += lib/chownat.c EXTRA_DIST += lib/at-func.c lib/fchownat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/fchownat.c ## end gnulib module fchownat ## begin gnulib module fclose EXTRA_DIST += lib/fclose.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fclose.c ## end gnulib module fclose ## begin gnulib module fcntl EXTRA_DIST += lib/fcntl.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fcntl.c ## end gnulib module fcntl ## begin gnulib module fcntl-h BUILT_SOURCES += lib/fcntl.h # We need the following in order to create <fcntl.h> when the system # doesn't have one that works with the given compiler. lib/fcntl.h: lib/fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/fcntl.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/fcntl.h lib/fcntl.h-t EXTRA_DIST += lib/fcntl.in.h ## end gnulib module fcntl-h ## begin gnulib module fcntl-safer lib_libcoreutils_a_SOURCES += lib/creat-safer.c lib/open-safer.c EXTRA_DIST += lib/fcntl--.h lib/fcntl-safer.h ## end gnulib module fcntl-safer ## begin gnulib module fd-hook lib_libcoreutils_a_SOURCES += lib/fd-hook.c EXTRA_DIST += lib/fd-hook.h ## end gnulib module fd-hook ## begin gnulib module fd-reopen lib_libcoreutils_a_SOURCES += lib/fd-reopen.c lib/fd-reopen.h ## end gnulib module fd-reopen ## begin gnulib module fd-safer-flag lib_libcoreutils_a_SOURCES += lib/fd-safer-flag.c lib/dup-safer-flag.c ## end gnulib module fd-safer-flag ## begin gnulib module fdatasync EXTRA_DIST += lib/fdatasync.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fdatasync.c ## end gnulib module fdatasync ## begin gnulib module fdopen EXTRA_DIST += lib/fdopen.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fdopen.c ## end gnulib module fdopen ## begin gnulib module fdopendir EXTRA_DIST += lib/fdopendir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fdopendir.c ## end gnulib module fdopendir ## begin gnulib module fdutimensat lib_libcoreutils_a_SOURCES += lib/fdutimensat.c EXTRA_DIST += lib/utimens.h ## end gnulib module fdutimensat ## begin gnulib module fflush EXTRA_DIST += lib/fflush.c lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fflush.c ## end gnulib module fflush ## begin gnulib module file-set lib_libcoreutils_a_SOURCES += lib/file-set.c EXTRA_DIST += lib/file-set.h ## end gnulib module file-set ## begin gnulib module file-type lib_libcoreutils_a_SOURCES += lib/file-type.c EXTRA_DIST += lib/file-type.h ## end gnulib module file-type ## begin gnulib module fileblocks EXTRA_DIST += lib/fileblocks.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fileblocks.c ## end gnulib module fileblocks ## begin gnulib module filemode lib_libcoreutils_a_SOURCES += lib/filemode.c EXTRA_DIST += lib/filemode.h ## end gnulib module filemode ## begin gnulib module filename EXTRA_DIST += lib/filename.h ## end gnulib module filename ## begin gnulib module filenamecat lib_libcoreutils_a_SOURCES += lib/filenamecat.c ## end gnulib module filenamecat ## begin gnulib module filenamecat-lgpl lib_libcoreutils_a_SOURCES += lib/filenamecat-lgpl.c EXTRA_DIST += lib/filenamecat.h ## end gnulib module filenamecat-lgpl ## begin gnulib module filevercmp lib_libcoreutils_a_SOURCES += lib/filevercmp.c EXTRA_DIST += lib/filevercmp.h ## end gnulib module filevercmp ## begin gnulib module float BUILT_SOURCES += $(FLOAT_H) # We need the following in order to create <float.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_FLOAT_H lib/float.h: lib/float.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ < $(top_srcdir)/lib/float.in.h; \ } > $@-t && \ mv $@-t $@ else lib/float.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/float.h lib/float.h-t EXTRA_DIST += lib/float.c lib/float.in.h lib/itold.c EXTRA_lib_libcoreutils_a_SOURCES += lib/float.c lib/itold.c ## end gnulib module float ## begin gnulib module fnmatch BUILT_SOURCES += $(FNMATCH_H) # We need the following in order to create <fnmatch.h> when the system # doesn't have one that supports the required API. if GL_GENERATE_FNMATCH_H lib/fnmatch.h: lib/fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(top_srcdir)/lib/fnmatch.in.h; \ } > $@-t && \ mv -f $@-t $@ else lib/fnmatch.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/fnmatch.h lib/fnmatch.h-t EXTRA_DIST += lib/fnmatch.c lib/fnmatch.in.h lib/fnmatch_loop.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fnmatch.c lib/fnmatch_loop.c ## end gnulib module fnmatch ## begin gnulib module fopen EXTRA_DIST += lib/fopen.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fopen.c ## end gnulib module fopen ## begin gnulib module fopen-safer lib_libcoreutils_a_SOURCES += lib/fopen-safer.c EXTRA_DIST += lib/stdio--.h lib/stdio-safer.h ## end gnulib module fopen-safer ## begin gnulib module fpending EXTRA_DIST += lib/fpending.c lib/fpending.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fpending.c ## end gnulib module fpending ## begin gnulib module fprintftime lib_libcoreutils_a_SOURCES += lib/fprintftime.c EXTRA_DIST += lib/fprintftime.h ## end gnulib module fprintftime ## begin gnulib module fpucw EXTRA_DIST += lib/fpucw.h ## end gnulib module fpucw ## begin gnulib module fpurge EXTRA_DIST += lib/fpurge.c lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fpurge.c ## end gnulib module fpurge ## begin gnulib module freadahead EXTRA_DIST += lib/freadahead.c lib/freadahead.h lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/freadahead.c ## end gnulib module freadahead ## begin gnulib module freading lib_libcoreutils_a_SOURCES += lib/freading.c EXTRA_DIST += lib/freading.h lib/stdio-impl.h ## end gnulib module freading ## begin gnulib module freadptr EXTRA_DIST += lib/freadptr.c lib/freadptr.h lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/freadptr.c ## end gnulib module freadptr ## begin gnulib module freadseek lib_libcoreutils_a_SOURCES += lib/freadseek.c EXTRA_DIST += lib/freadseek.h lib/stdio-impl.h ## end gnulib module freadseek ## begin gnulib module freopen EXTRA_DIST += lib/freopen.c EXTRA_lib_libcoreutils_a_SOURCES += lib/freopen.c ## end gnulib module freopen ## begin gnulib module freopen-safer lib_libcoreutils_a_SOURCES += lib/freopen-safer.c EXTRA_DIST += lib/stdio--.h lib/stdio-safer.h ## end gnulib module freopen-safer ## begin gnulib module frexp-nolibm EXTRA_DIST += lib/frexp.c EXTRA_lib_libcoreutils_a_SOURCES += lib/frexp.c ## end gnulib module frexp-nolibm ## begin gnulib module frexpl-nolibm EXTRA_DIST += lib/frexp.c lib/frexpl.c EXTRA_lib_libcoreutils_a_SOURCES += lib/frexp.c lib/frexpl.c ## end gnulib module frexpl-nolibm ## begin gnulib module fseek EXTRA_DIST += lib/fseek.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fseek.c ## end gnulib module fseek ## begin gnulib module fseeko EXTRA_DIST += lib/fseeko.c lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fseeko.c ## end gnulib module fseeko ## begin gnulib module fseterr EXTRA_DIST += lib/fseterr.c lib/fseterr.h lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fseterr.c ## end gnulib module fseterr ## begin gnulib module fstat EXTRA_DIST += lib/fstat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fstat.c ## end gnulib module fstat ## begin gnulib module fstatat EXTRA_DIST += lib/at-func.c lib/fstatat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/fstatat.c ## end gnulib module fstatat ## begin gnulib module fsusage EXTRA_DIST += lib/fsusage.c lib/fsusage.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fsusage.c ## end gnulib module fsusage ## begin gnulib module fsync EXTRA_DIST += lib/fsync.c EXTRA_lib_libcoreutils_a_SOURCES += lib/fsync.c ## end gnulib module fsync ## begin gnulib module ftell EXTRA_DIST += lib/ftell.c EXTRA_lib_libcoreutils_a_SOURCES += lib/ftell.c ## end gnulib module ftell ## begin gnulib module ftello EXTRA_DIST += lib/ftello.c lib/stdio-impl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/ftello.c ## end gnulib module ftello ## begin gnulib module ftoastr lib_libcoreutils_a_SOURCES += lib/ftoastr.c EXTRA_DIST += lib/ftoastr.h ## end gnulib module ftoastr ## begin gnulib module ftruncate EXTRA_DIST += lib/ftruncate.c EXTRA_lib_libcoreutils_a_SOURCES += lib/ftruncate.c ## end gnulib module ftruncate ## begin gnulib module fts EXTRA_DIST += lib/fts-cycle.c lib/fts.c lib/fts_.h EXTRA_lib_libcoreutils_a_SOURCES += lib/fts-cycle.c lib/fts.c ## end gnulib module fts ## begin gnulib module full-read lib_libcoreutils_a_SOURCES += lib/full-read.h lib/full-read.c EXTRA_DIST += lib/full-write.c EXTRA_lib_libcoreutils_a_SOURCES += lib/full-write.c ## end gnulib module full-read ## begin gnulib module full-write lib_libcoreutils_a_SOURCES += lib/full-write.h lib/full-write.c ## end gnulib module full-write ## begin gnulib module futimens EXTRA_DIST += lib/futimens.c EXTRA_lib_libcoreutils_a_SOURCES += lib/futimens.c ## end gnulib module futimens ## begin gnulib module gendocs EXTRA_DIST += $(top_srcdir)/build-aux/gendocs.sh ## end gnulib module gendocs ## begin gnulib module getaddrinfo EXTRA_DIST += lib/gai_strerror.c lib/getaddrinfo.c EXTRA_lib_libcoreutils_a_SOURCES += lib/gai_strerror.c lib/getaddrinfo.c ## end gnulib module getaddrinfo ## begin gnulib module getcwd EXTRA_DIST += lib/getcwd.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getcwd.c ## end gnulib module getcwd ## begin gnulib module getcwd-lgpl EXTRA_DIST += lib/getcwd-lgpl.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getcwd-lgpl.c ## end gnulib module getcwd-lgpl ## begin gnulib module getdelim EXTRA_DIST += lib/getdelim.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getdelim.c ## end gnulib module getdelim ## begin gnulib module getdtablesize EXTRA_DIST += lib/getdtablesize.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getdtablesize.c ## end gnulib module getdtablesize ## begin gnulib module getgroups EXTRA_DIST += lib/getgroups.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getgroups.c ## end gnulib module getgroups ## begin gnulib module gethostname EXTRA_DIST += lib/gethostname.c lib/w32sock.h EXTRA_lib_libcoreutils_a_SOURCES += lib/gethostname.c ## end gnulib module gethostname ## begin gnulib module gethrxtime lib_libcoreutils_a_SOURCES += lib/gethrxtime.c lib/xtime.c EXTRA_DIST += lib/gethrxtime.h lib/xtime.h ## end gnulib module gethrxtime ## begin gnulib module getline EXTRA_DIST += lib/getline.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getline.c ## end gnulib module getline ## begin gnulib module getloadavg EXTRA_DIST += lib/getloadavg.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getloadavg.c ## end gnulib module getloadavg ## begin gnulib module getlogin EXTRA_DIST += lib/getlogin.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getlogin.c ## end gnulib module getlogin ## begin gnulib module getndelim2 lib_libcoreutils_a_SOURCES += lib/getndelim2.c EXTRA_DIST += lib/getndelim2.h ## end gnulib module getndelim2 ## begin gnulib module getopt-posix BUILT_SOURCES += $(GETOPT_H) # We need the following in order to create <getopt.h> when the system # doesn't have one that works with the given compiler. lib/getopt.h: lib/getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(top_srcdir)/lib/getopt.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/getopt.h lib/getopt.h-t EXTRA_DIST += lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h EXTRA_lib_libcoreutils_a_SOURCES += lib/getopt.c lib/getopt1.c ## end gnulib module getopt-posix ## begin gnulib module getpagesize EXTRA_DIST += lib/getpagesize.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getpagesize.c ## end gnulib module getpagesize ## begin gnulib module getpass-gnu EXTRA_DIST += lib/getpass.c lib/getpass.h EXTRA_lib_libcoreutils_a_SOURCES += lib/getpass.c ## end gnulib module getpass-gnu ## begin gnulib module gettext-h lib_libcoreutils_a_SOURCES += lib/gettext.h ## end gnulib module gettext-h ## begin gnulib module gettime lib_libcoreutils_a_SOURCES += lib/gettime.c ## end gnulib module gettime ## begin gnulib module gettimeofday EXTRA_DIST += lib/gettimeofday.c EXTRA_lib_libcoreutils_a_SOURCES += lib/gettimeofday.c ## end gnulib module gettimeofday ## begin gnulib module getugroups lib_libcoreutils_a_SOURCES += lib/getugroups.c EXTRA_DIST += lib/getugroups.h ## end gnulib module getugroups ## begin gnulib module getusershell EXTRA_DIST += lib/getusershell.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getusershell.c ## end gnulib module getusershell ## begin gnulib module git-version-gen EXTRA_DIST += $(top_srcdir)/build-aux/git-version-gen ## end gnulib module git-version-gen ## begin gnulib module gitlog-to-changelog EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog ## end gnulib module gitlog-to-changelog ## begin gnulib module gnu-make ##Sample usage of gnu-make module: #if GNU_MAKE # [nicer features that work only with GNU Make] #else # [fallback features that work in any 'make' implementation; see # http://www.opengroup.org/susv3/utilities/make.html # for the 2004 POSIX specification] #endif ## end gnulib module gnu-make ## begin gnulib module gnu-web-doc-update EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update ## end gnulib module gnu-web-doc-update ## begin gnulib module gnumakefile distclean-local: clean-GNUmakefile clean-GNUmakefile: test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile EXTRA_DIST += $(top_srcdir)/GNUmakefile ## end gnulib module gnumakefile ## begin gnulib module gnupload EXTRA_DIST += $(top_srcdir)/build-aux/gnupload ## end gnulib module gnupload ## begin gnulib module gperf GPERF = gperf ## end gnulib module gperf ## begin gnulib module group-member EXTRA_DIST += lib/group-member.c EXTRA_lib_libcoreutils_a_SOURCES += lib/group-member.c ## end gnulib module group-member ## begin gnulib module hard-locale lib_libcoreutils_a_SOURCES += lib/hard-locale.c EXTRA_DIST += lib/hard-locale.h ## end gnulib module hard-locale ## begin gnulib module hash lib_libcoreutils_a_SOURCES += lib/hash.c EXTRA_DIST += lib/hash.h ## end gnulib module hash ## begin gnulib module hash-pjw lib_libcoreutils_a_SOURCES += lib/hash-pjw.h lib/hash-pjw.c ## end gnulib module hash-pjw ## begin gnulib module hash-triple lib_libcoreutils_a_SOURCES += lib/hash-triple.c EXTRA_DIST += lib/hash-triple.h ## end gnulib module hash-triple ## begin gnulib module havelib EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module havelib ## begin gnulib module heap lib_libcoreutils_a_SOURCES += lib/heap.c lib/heap.h ## end gnulib module heap ## begin gnulib module human lib_libcoreutils_a_SOURCES += lib/human.c EXTRA_DIST += lib/human.h ## end gnulib module human ## begin gnulib module i-ring lib_libcoreutils_a_SOURCES += lib/i-ring.c EXTRA_DIST += lib/i-ring.h ## end gnulib module i-ring ## begin gnulib module iconv-h BUILT_SOURCES += $(ICONV_H) # We need the following in order to create <iconv.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_ICONV_H lib/iconv.h: lib/iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/iconv.in.h; \ } > $@-t && \ mv $@-t $@ else lib/iconv.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/iconv.h lib/iconv.h-t EXTRA_DIST += lib/iconv.in.h ## end gnulib module iconv-h ## begin gnulib module iconv_open lib/iconv_open-aix.h: lib/iconv_open-aix.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-aix.gperf > $(top_srcdir)/lib/iconv_open-aix.h-t mv $(top_srcdir)/lib/iconv_open-aix.h-t $(top_srcdir)/lib/iconv_open-aix.h lib/iconv_open-hpux.h: lib/iconv_open-hpux.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-hpux.gperf > $(top_srcdir)/lib/iconv_open-hpux.h-t mv $(top_srcdir)/lib/iconv_open-hpux.h-t $(top_srcdir)/lib/iconv_open-hpux.h lib/iconv_open-irix.h: lib/iconv_open-irix.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-irix.gperf > $(top_srcdir)/lib/iconv_open-irix.h-t mv $(top_srcdir)/lib/iconv_open-irix.h-t $(top_srcdir)/lib/iconv_open-irix.h lib/iconv_open-osf.h: lib/iconv_open-osf.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-osf.gperf > $(top_srcdir)/lib/iconv_open-osf.h-t mv $(top_srcdir)/lib/iconv_open-osf.h-t $(top_srcdir)/lib/iconv_open-osf.h lib/iconv_open-solaris.h: lib/iconv_open-solaris.gperf $(GPERF) -m 10 $(top_srcdir)/lib/iconv_open-solaris.gperf > $(top_srcdir)/lib/iconv_open-solaris.h-t mv $(top_srcdir)/lib/iconv_open-solaris.h-t $(top_srcdir)/lib/iconv_open-solaris.h BUILT_SOURCES += lib/iconv_open-aix.h lib/iconv_open-hpux.h lib/iconv_open-irix.h lib/iconv_open-osf.h lib/iconv_open-solaris.h MOSTLYCLEANFILES += lib/iconv_open-aix.h-t lib/iconv_open-hpux.h-t lib/iconv_open-irix.h-t lib/iconv_open-osf.h-t lib/iconv_open-solaris.h-t MAINTAINERCLEANFILES += lib/iconv_open-aix.h lib/iconv_open-hpux.h lib/iconv_open-irix.h lib/iconv_open-osf.h lib/iconv_open-solaris.h EXTRA_DIST += lib/iconv_open-aix.h lib/iconv_open-hpux.h lib/iconv_open-irix.h lib/iconv_open-osf.h lib/iconv_open-solaris.h EXTRA_DIST += lib/iconv.c lib/iconv_close.c lib/iconv_open-aix.gperf lib/iconv_open-hpux.gperf lib/iconv_open-irix.gperf lib/iconv_open-osf.gperf lib/iconv_open-solaris.gperf lib/iconv_open.c EXTRA_lib_libcoreutils_a_SOURCES += lib/iconv.c lib/iconv_close.c lib/iconv_open.c ## end gnulib module iconv_open ## begin gnulib module idcache lib_libcoreutils_a_SOURCES += lib/idcache.c EXTRA_DIST += lib/idcache.h ## end gnulib module idcache ## begin gnulib module ignore-value EXTRA_DIST += lib/ignore-value.h ## end gnulib module ignore-value ## begin gnulib module inet_ntop EXTRA_DIST += lib/inet_ntop.c EXTRA_lib_libcoreutils_a_SOURCES += lib/inet_ntop.c ## end gnulib module inet_ntop ## begin gnulib module ino-map lib_libcoreutils_a_SOURCES += lib/ino-map.c lib/ino-map.h ## end gnulib module ino-map ## begin gnulib module intprops EXTRA_DIST += lib/intprops.h ## end gnulib module intprops ## begin gnulib module inttostr lib_libcoreutils_a_SOURCES += \ lib/imaxtostr.c \ lib/inttostr.c \ lib/offtostr.c \ lib/uinttostr.c \ lib/umaxtostr.c EXTRA_DIST += lib/anytostr.c lib/inttostr.h EXTRA_lib_libcoreutils_a_SOURCES += lib/anytostr.c ## end gnulib module inttostr ## begin gnulib module inttypes-incomplete BUILT_SOURCES += lib/inttypes.h # We need the following in order to create <inttypes.h> when the system # doesn't have one that works with the given compiler. lib/inttypes.h: lib/inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/inttypes.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/inttypes.h lib/inttypes.h-t EXTRA_DIST += lib/inttypes.in.h ## end gnulib module inttypes-incomplete ## begin gnulib module isapipe EXTRA_DIST += lib/isapipe.c lib/isapipe.h EXTRA_lib_libcoreutils_a_SOURCES += lib/isapipe.c ## end gnulib module isapipe ## begin gnulib module isatty EXTRA_DIST += lib/isatty.c EXTRA_lib_libcoreutils_a_SOURCES += lib/isatty.c ## end gnulib module isatty ## begin gnulib module isblank EXTRA_DIST += lib/isblank.c EXTRA_lib_libcoreutils_a_SOURCES += lib/isblank.c ## end gnulib module isblank ## begin gnulib module isnand-nolibm EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnand-nolibm.h lib/isnand.c EXTRA_lib_libcoreutils_a_SOURCES += lib/isnan.c lib/isnand.c ## end gnulib module isnand-nolibm ## begin gnulib module isnanf-nolibm EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanf-nolibm.h lib/isnanf.c EXTRA_lib_libcoreutils_a_SOURCES += lib/isnan.c lib/isnanf.c ## end gnulib module isnanf-nolibm ## begin gnulib module isnanl-nolibm EXTRA_DIST += lib/float+.h lib/isnan.c lib/isnanl-nolibm.h lib/isnanl.c EXTRA_lib_libcoreutils_a_SOURCES += lib/isnan.c lib/isnanl.c ## end gnulib module isnanl-nolibm ## begin gnulib module iswblank EXTRA_DIST += lib/iswblank.c EXTRA_lib_libcoreutils_a_SOURCES += lib/iswblank.c ## end gnulib module iswblank ## begin gnulib module langinfo BUILT_SOURCES += lib/langinfo.h # We need the following in order to create an empty placeholder for # <langinfo.h> when the system doesn't have one. lib/langinfo.h: lib/langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \ -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \ -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/langinfo.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/langinfo.h lib/langinfo.h-t EXTRA_DIST += lib/langinfo.in.h ## end gnulib module langinfo ## begin gnulib module lchown EXTRA_DIST += lib/lchown.c EXTRA_lib_libcoreutils_a_SOURCES += lib/lchown.c ## end gnulib module lchown ## begin gnulib module ldtoastr lib_libcoreutils_a_SOURCES += lib/ldtoastr.c EXTRA_DIST += lib/ftoastr.c lib/ftoastr.h EXTRA_lib_libcoreutils_a_SOURCES += lib/ftoastr.c ## end gnulib module ldtoastr ## begin gnulib module linebuffer lib_libcoreutils_a_SOURCES += lib/linebuffer.h lib/linebuffer.c ## end gnulib module linebuffer ## begin gnulib module link EXTRA_DIST += lib/link.c EXTRA_lib_libcoreutils_a_SOURCES += lib/link.c ## end gnulib module link ## begin gnulib module linkat EXTRA_DIST += lib/at-func2.c lib/linkat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func2.c lib/linkat.c ## end gnulib module linkat ## begin gnulib module localcharset lib_libcoreutils_a_SOURCES += lib/localcharset.h lib/localcharset.c # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: lib/charset.alias lib/ref-add.sed lib/ref-del.sed charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp install-exec-local: install-exec-localcharset install-exec-localcharset: all-local if test $(GLIBC21) = no; then \ case '$(host_os)' in \ darwin[56]*) \ need_charset_alias=true ;; \ darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ esac ; \ else \ need_charset_alias=false ; \ fi ; \ if $$need_charset_alias; then \ $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ fi ; \ if test -f $(charset_alias); then \ sed -f lib/ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if $$need_charset_alias; then \ sed -f lib/ref-add.sed lib/charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: uninstall-localcharset uninstall-localcharset: all-local if test -f $(charset_alias); then \ sed -f lib/ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi lib/charset.alias: lib/config.charset $(AM_V_GEN)rm -f $@-t $@ && \ $(SHELL) $(top_srcdir)/lib/config.charset '$(host)' > $@-t && \ mv $@-t $@ # SUFFIXES += .sed .sin .sin.sed: $(AM_V_GEN)rm -f $@-t $@ && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > $@-t && \ mv $@-t $@ CLEANFILES += lib/charset.alias lib/ref-add.sed lib/ref-del.sed EXTRA_DIST += lib/config.charset lib/ref-add.sin lib/ref-del.sin ## end gnulib module localcharset ## begin gnulib module locale BUILT_SOURCES += lib/locale.h # We need the following in order to create <locale.h> when the system # doesn't have one that provides all definitions. lib/locale.h: lib/locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \ -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/locale.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/locale.h lib/locale.h-t EXTRA_DIST += lib/locale.in.h ## end gnulib module locale ## begin gnulib module localeconv EXTRA_DIST += lib/localeconv.c EXTRA_lib_libcoreutils_a_SOURCES += lib/localeconv.c ## end gnulib module localeconv ## begin gnulib module lock lib_libcoreutils_a_SOURCES += lib/glthread/lock.h lib/glthread/lock.c ## end gnulib module lock ## begin gnulib module long-options lib_libcoreutils_a_SOURCES += lib/long-options.c EXTRA_DIST += lib/long-options.h ## end gnulib module long-options ## begin gnulib module lseek EXTRA_DIST += lib/lseek.c EXTRA_lib_libcoreutils_a_SOURCES += lib/lseek.c ## end gnulib module lseek ## begin gnulib module lstat EXTRA_DIST += lib/lstat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/lstat.c ## end gnulib module lstat ## begin gnulib module maintainer-makefile EXTRA_DIST += $(top_srcdir)/maint.mk ## end gnulib module maintainer-makefile ## begin gnulib module malloc-gnu EXTRA_DIST += lib/malloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/malloc.c ## end gnulib module malloc-gnu ## begin gnulib module malloc-posix EXTRA_DIST += lib/malloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/malloc.c ## end gnulib module malloc-posix ## begin gnulib module malloca lib_libcoreutils_a_SOURCES += lib/malloca.c EXTRA_DIST += lib/malloca.h lib/malloca.valgrind ## end gnulib module malloca ## begin gnulib module math BUILT_SOURCES += lib/math.h lib_libcoreutils_a_SOURCES += lib/math.c # We need the following in order to create <math.h> when the system # doesn't have one that works with the given compiler. lib/math.h: lib/math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \ -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \ -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \ -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \ -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \ -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \ -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \ -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \ -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \ -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \ -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \ -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \ -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \ -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \ -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \ -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \ -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \ -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \ -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \ -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \ -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \ -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \ -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \ -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \ -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \ -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \ -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \ -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \ -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \ -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \ -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \ -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \ -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \ -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \ -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \ -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \ -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \ -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \ -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \ -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \ -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \ -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \ -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \ -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \ -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \ < $(top_srcdir)/lib/math.in.h | \ sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \ -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \ -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \ -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \ -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \ -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \ -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \ -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \ -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \ -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \ -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \ -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \ -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \ -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \ -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \ -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \ -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \ -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \ -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \ -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \ -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \ -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \ -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \ -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \ -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \ -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \ -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \ -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \ -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \ -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \ -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \ -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \ -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \ -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \ -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \ -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \ -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \ -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \ -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \ -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \ -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \ -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \ -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \ -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \ -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \ -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \ -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \ -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \ -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \ -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \ -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \ | \ sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \ -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \ -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \ -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \ -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \ -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \ -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \ -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \ -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \ -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \ -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \ -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \ -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \ -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \ -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \ -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \ -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \ -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \ -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \ -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \ -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \ -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \ -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \ -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \ -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \ -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \ -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \ -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \ -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \ -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \ -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \ -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \ -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \ -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \ -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \ -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \ -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \ -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \ -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \ -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \ -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \ -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \ -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \ -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \ -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \ -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \ -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \ -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \ -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \ -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \ -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \ -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \ -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \ -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \ -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \ -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \ -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \ -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \ -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \ -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \ -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \ -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \ -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \ -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \ -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \ -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \ -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \ -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \ -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \ -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \ -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \ -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \ -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \ -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \ -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \ -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \ -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \ -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \ -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \ -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \ -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \ -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \ | \ sed -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \ -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \ -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \ -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \ -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \ -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \ -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \ -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \ -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \ -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \ -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \ -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \ -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \ -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \ -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \ -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \ -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \ -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \ -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \ -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \ -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \ -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \ -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \ -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \ -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \ -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \ -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \ -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \ -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \ -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \ -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \ -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \ -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \ -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \ -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \ -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \ -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \ -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \ -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \ -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \ -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \ -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \ -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \ -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \ -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \ -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \ -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \ -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/math.h lib/math.h-t EXTRA_DIST += lib/math.in.h ## end gnulib module math ## begin gnulib module mbchar lib_libcoreutils_a_SOURCES += lib/mbchar.c EXTRA_DIST += lib/mbchar.h ## end gnulib module mbchar ## begin gnulib module mbiter lib_libcoreutils_a_SOURCES += lib/mbiter.h lib/mbiter.c ## end gnulib module mbiter ## begin gnulib module mbrlen EXTRA_DIST += lib/mbrlen.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mbrlen.c ## end gnulib module mbrlen ## begin gnulib module mbrtowc EXTRA_DIST += lib/mbrtowc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mbrtowc.c ## end gnulib module mbrtowc ## begin gnulib module mbsalign lib_libcoreutils_a_SOURCES += lib/mbsalign.c lib/mbsalign.h ## end gnulib module mbsalign ## begin gnulib module mbscasecmp lib_libcoreutils_a_SOURCES += lib/mbscasecmp.c ## end gnulib module mbscasecmp ## begin gnulib module mbsinit EXTRA_DIST += lib/mbsinit.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mbsinit.c ## end gnulib module mbsinit ## begin gnulib module mbslen lib_libcoreutils_a_SOURCES += lib/mbslen.c ## end gnulib module mbslen ## begin gnulib module mbsrtowcs EXTRA_DIST += lib/mbsrtowcs-impl.h lib/mbsrtowcs-state.c lib/mbsrtowcs.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mbsrtowcs-state.c lib/mbsrtowcs.c ## end gnulib module mbsrtowcs ## begin gnulib module mbsstr lib_libcoreutils_a_SOURCES += lib/mbsstr.c EXTRA_DIST += lib/str-kmp.h ## end gnulib module mbsstr ## begin gnulib module mbswidth lib_libcoreutils_a_SOURCES += lib/mbswidth.h lib/mbswidth.c ## end gnulib module mbswidth ## begin gnulib module mbtowc EXTRA_DIST += lib/mbtowc-impl.h lib/mbtowc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mbtowc.c ## end gnulib module mbtowc ## begin gnulib module mbuiter lib_libcoreutils_a_SOURCES += lib/mbuiter.h lib/mbuiter.c ## end gnulib module mbuiter ## begin gnulib module memcasecmp lib_libcoreutils_a_SOURCES += lib/memcasecmp.c EXTRA_DIST += lib/memcasecmp.h ## end gnulib module memcasecmp ## begin gnulib module memchr EXTRA_DIST += lib/memchr.c lib/memchr.valgrind EXTRA_lib_libcoreutils_a_SOURCES += lib/memchr.c ## end gnulib module memchr ## begin gnulib module memchr2 lib_libcoreutils_a_SOURCES += lib/memchr2.h lib/memchr2.c EXTRA_DIST += lib/memchr2.valgrind ## end gnulib module memchr2 ## begin gnulib module memcmp2 lib_libcoreutils_a_SOURCES += lib/memcmp2.c EXTRA_DIST += lib/memcmp2.h ## end gnulib module memcmp2 ## begin gnulib module memcoll lib_libcoreutils_a_SOURCES += lib/memcoll.c EXTRA_DIST += lib/memcoll.h ## end gnulib module memcoll ## begin gnulib module mempcpy EXTRA_DIST += lib/mempcpy.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mempcpy.c ## end gnulib module mempcpy ## begin gnulib module memrchr EXTRA_DIST += lib/memrchr.c EXTRA_lib_libcoreutils_a_SOURCES += lib/memrchr.c ## end gnulib module memrchr ## begin gnulib module mgetgroups lib_libcoreutils_a_SOURCES += lib/mgetgroups.c EXTRA_DIST += lib/mgetgroups.h ## end gnulib module mgetgroups ## begin gnulib module mkancesdirs lib_libcoreutils_a_SOURCES += lib/mkancesdirs.c EXTRA_DIST += lib/mkancesdirs.h ## end gnulib module mkancesdirs ## begin gnulib module mkdir EXTRA_DIST += lib/mkdir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mkdir.c ## end gnulib module mkdir ## begin gnulib module mkdir-p lib_libcoreutils_a_SOURCES += lib/dirchownmod.c lib/mkdir-p.c EXTRA_DIST += lib/dirchownmod.h lib/mkdir-p.h ## end gnulib module mkdir-p ## begin gnulib module mkfifo EXTRA_DIST += lib/mkfifo.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mkfifo.c ## end gnulib module mkfifo ## begin gnulib module mknod EXTRA_DIST += lib/mknod.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mknod.c ## end gnulib module mknod ## begin gnulib module mkstemp EXTRA_DIST += lib/mkstemp.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mkstemp.c ## end gnulib module mkstemp ## begin gnulib module mktime EXTRA_DIST += lib/mktime-internal.h lib/mktime.c EXTRA_lib_libcoreutils_a_SOURCES += lib/mktime.c ## end gnulib module mktime ## begin gnulib module modechange lib_libcoreutils_a_SOURCES += lib/modechange.c EXTRA_DIST += lib/modechange.h ## end gnulib module modechange ## begin gnulib module mountlist EXTRA_DIST += lib/mountlist.c lib/mountlist.h EXTRA_lib_libcoreutils_a_SOURCES += lib/mountlist.c ## end gnulib module mountlist ## begin gnulib module mpsort lib_libcoreutils_a_SOURCES += lib/mpsort.c EXTRA_DIST += lib/mpsort.h ## end gnulib module mpsort ## begin gnulib module msvc-inval EXTRA_DIST += lib/msvc-inval.c lib/msvc-inval.h EXTRA_lib_libcoreutils_a_SOURCES += lib/msvc-inval.c ## end gnulib module msvc-inval ## begin gnulib module msvc-nothrow EXTRA_DIST += lib/msvc-nothrow.c lib/msvc-nothrow.h EXTRA_lib_libcoreutils_a_SOURCES += lib/msvc-nothrow.c ## end gnulib module msvc-nothrow ## begin gnulib module nanosleep EXTRA_DIST += lib/nanosleep.c EXTRA_lib_libcoreutils_a_SOURCES += lib/nanosleep.c ## end gnulib module nanosleep ## begin gnulib module netdb BUILT_SOURCES += lib/netdb.h # We need the following in order to create <netdb.h> when the system # doesn't have one that works with the given compiler. lib/netdb.h: lib/netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ -e 's/@''GNULIB_GETADDRINFO''@/$(GNULIB_GETADDRINFO)/g' \ -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ -e 's|@''HAVE_DECL_GETADDRINFO''@|$(HAVE_DECL_GETADDRINFO)|g' \ -e 's|@''HAVE_DECL_GETNAMEINFO''@|$(HAVE_DECL_GETNAMEINFO)|g' \ -e 's|@''REPLACE_GAI_STRERROR''@|$(REPLACE_GAI_STRERROR)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/netdb.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/netdb.h lib/netdb.h-t EXTRA_DIST += lib/netdb.in.h ## end gnulib module netdb ## begin gnulib module netinet_in BUILT_SOURCES += $(NETINET_IN_H) # We need the following in order to create <netinet/in.h> when the system # doesn't have one. if GL_GENERATE_NETINET_IN_H lib/netinet/in.h: lib/netinet_in.in.h $(top_builddir)/config.status $(AM_V_at)$(MKDIR_P) lib/netinet $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ < $(top_srcdir)/lib/netinet_in.in.h; \ } > $@-t && \ mv $@-t $@ else lib/netinet/in.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/netinet/in.h lib/netinet/in.h-t MOSTLYCLEANDIRS += lib/netinet EXTRA_DIST += lib/netinet_in.in.h ## end gnulib module netinet_in ## begin gnulib module nl_langinfo EXTRA_DIST += lib/nl_langinfo.c EXTRA_lib_libcoreutils_a_SOURCES += lib/nl_langinfo.c ## end gnulib module nl_langinfo ## begin gnulib module non-recursive-gnulib-prefix-hack EXTRA_DIST += $(top_srcdir)/build-aux/prefix-gnulib-mk ## end gnulib module non-recursive-gnulib-prefix-hack ## begin gnulib module nproc lib_libcoreutils_a_SOURCES += lib/nproc.c EXTRA_DIST += lib/nproc.h ## end gnulib module nproc ## begin gnulib module obstack EXTRA_DIST += lib/obstack.c lib/obstack.h EXTRA_lib_libcoreutils_a_SOURCES += lib/obstack.c ## end gnulib module obstack ## begin gnulib module open EXTRA_DIST += lib/open.c EXTRA_lib_libcoreutils_a_SOURCES += lib/open.c ## end gnulib module open ## begin gnulib module openat EXTRA_DIST += lib/openat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/openat.c ## end gnulib module openat ## begin gnulib module openat-die lib_libcoreutils_a_SOURCES += lib/openat-die.c ## end gnulib module openat-die ## begin gnulib module openat-h EXTRA_DIST += lib/openat.h ## end gnulib module openat-h ## begin gnulib module openat-safer lib_libcoreutils_a_SOURCES += lib/openat-safer.c EXTRA_DIST += lib/fcntl--.h lib/fcntl-safer.h ## end gnulib module openat-safer ## begin gnulib module opendir EXTRA_DIST += lib/dirent-private.h lib/opendir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/opendir.c ## end gnulib module opendir ## begin gnulib module parse-datetime # This rule overrides the Automake generated .y.c rule, to ensure that the # parse-datetime.c file gets generated in the source directory, not in the # build directory. lib/parse-datetime.c: lib/parse-datetime.y $(AM_V_GEN)$(SHELL) $(YLWRAP) $(top_srcdir)/lib/parse-datetime.y \ y.tab.c parse-datetime.c \ y.tab.h parse-datetime.h \ y.output parse-datetime.output \ -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \ mv parse-datetime.c parse-datetime.c-t && \ mv parse-datetime.c-t $(top_srcdir)/lib/parse-datetime.c lib_libcoreutils_a_SOURCES += lib/parse-datetime.y BUILT_SOURCES += lib/parse-datetime.c MOSTLYCLEANFILES += lib/parse-datetime.c-t MAINTAINERCLEANFILES += lib/parse-datetime.c EXTRA_DIST += lib/parse-datetime.c EXTRA_DIST += lib/parse-datetime.h ## end gnulib module parse-datetime ## begin gnulib module pathmax EXTRA_DIST += lib/pathmax.h ## end gnulib module pathmax ## begin gnulib module physmem lib_libcoreutils_a_SOURCES += lib/physmem.c EXTRA_DIST += lib/physmem.h ## end gnulib module physmem ## begin gnulib module pipe EXTRA_DIST += lib/pipe.h ## end gnulib module pipe ## begin gnulib module pipe2 lib_libcoreutils_a_SOURCES += lib/pipe2.c ## end gnulib module pipe2 ## begin gnulib module pipe2-safer lib_libcoreutils_a_SOURCES += lib/pipe2-safer.c ## end gnulib module pipe2-safer ## begin gnulib module posix-shell ##Sample usage of posix-shell module: #script: script.in # rm -f $@-t $@ # sed -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \ # -e 's#@''POSIX_SHELL''@#$(POSIX_SHELL)#g' \ # -e $(top_srcdir)/lib/$@.in >$@-t # chmod a+x $@-t # mv $@-t $@ #EXTRA_DIST += script.in #MOSTLYCLEANFILES += script script-t ## end gnulib module posix-shell ## begin gnulib module posix_spawn-internal EXTRA_DIST += lib/spawn_int.h lib/spawni.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawni.c ## end gnulib module posix_spawn-internal ## begin gnulib module posix_spawn_file_actions_addclose EXTRA_DIST += lib/spawn_faction_addclose.c lib/spawn_int.h EXTRA_lib_libcoreutils_a_SOURCES += lib/spawn_faction_addclose.c ## end gnulib module posix_spawn_file_actions_addclose ## begin gnulib module posix_spawn_file_actions_adddup2 EXTRA_DIST += lib/spawn_faction_adddup2.c lib/spawn_int.h EXTRA_lib_libcoreutils_a_SOURCES += lib/spawn_faction_adddup2.c ## end gnulib module posix_spawn_file_actions_adddup2 ## begin gnulib module posix_spawn_file_actions_addopen EXTRA_DIST += lib/spawn_faction_addopen.c lib/spawn_int.h EXTRA_lib_libcoreutils_a_SOURCES += lib/spawn_faction_addopen.c ## end gnulib module posix_spawn_file_actions_addopen ## begin gnulib module posix_spawn_file_actions_destroy EXTRA_DIST += lib/spawn_faction_destroy.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawn_faction_destroy.c ## end gnulib module posix_spawn_file_actions_destroy ## begin gnulib module posix_spawn_file_actions_init EXTRA_DIST += lib/spawn_faction_init.c lib/spawn_int.h EXTRA_lib_libcoreutils_a_SOURCES += lib/spawn_faction_init.c ## end gnulib module posix_spawn_file_actions_init ## begin gnulib module posix_spawnattr_destroy EXTRA_DIST += lib/spawnattr_destroy.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawnattr_destroy.c ## end gnulib module posix_spawnattr_destroy ## begin gnulib module posix_spawnattr_init EXTRA_DIST += lib/spawnattr_init.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawnattr_init.c ## end gnulib module posix_spawnattr_init ## begin gnulib module posix_spawnattr_setflags EXTRA_DIST += lib/spawnattr_setflags.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawnattr_setflags.c ## end gnulib module posix_spawnattr_setflags ## begin gnulib module posix_spawnattr_setsigmask EXTRA_DIST += lib/spawnattr_setsigmask.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawnattr_setsigmask.c ## end gnulib module posix_spawnattr_setsigmask ## begin gnulib module posix_spawnp EXTRA_DIST += lib/spawnp.c EXTRA_lib_libcoreutils_a_SOURCES += lib/spawnp.c ## end gnulib module posix_spawnp ## begin gnulib module posixtm lib_libcoreutils_a_SOURCES += lib/posixtm.c EXTRA_DIST += lib/posixtm.h ## end gnulib module posixtm ## begin gnulib module posixver lib_libcoreutils_a_SOURCES += lib/posixver.c EXTRA_DIST += lib/posixver.h ## end gnulib module posixver ## begin gnulib module printf-frexp lib_libcoreutils_a_SOURCES += lib/printf-frexp.c EXTRA_DIST += lib/printf-frexp.h ## end gnulib module printf-frexp ## begin gnulib module printf-frexpl lib_libcoreutils_a_SOURCES += lib/printf-frexpl.c EXTRA_DIST += lib/printf-frexp.c lib/printf-frexpl.h EXTRA_lib_libcoreutils_a_SOURCES += lib/printf-frexp.c ## end gnulib module printf-frexpl ## begin gnulib module priv-set lib_libcoreutils_a_SOURCES += lib/priv-set.c EXTRA_DIST += lib/priv-set.h ## end gnulib module priv-set ## begin gnulib module progname lib_libcoreutils_a_SOURCES += lib/progname.h lib/progname.c ## end gnulib module progname ## begin gnulib module propername lib_libcoreutils_a_SOURCES += lib/propername.h lib/propername.c ## end gnulib module propername ## begin gnulib module pthread BUILT_SOURCES += $(PTHREAD_H) # We need the following in order to create <pthread.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_PTHREAD_H lib/pthread.h: lib/pthread.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_PTHREAD_H''@|$(HAVE_PTHREAD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_PTHREAD_H''@|$(NEXT_PTHREAD_H)|g' \ -e 's|@''HAVE_PTHREAD_T''@|$(HAVE_PTHREAD_T)|g' \ -e 's|@''HAVE_PTHREAD_SPINLOCK_T''@|$(HAVE_PTHREAD_SPINLOCK_T)|g' \ < $(top_srcdir)/lib/pthread.in.h; \ } > $@-t && \ mv $@-t $@ else lib/pthread.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/pthread.h lib/pthread.h-t EXTRA_DIST += lib/pthread.c lib/pthread.in.h EXTRA_lib_libcoreutils_a_SOURCES += lib/pthread.c ## end gnulib module pthread ## begin gnulib module putenv EXTRA_DIST += lib/putenv.c EXTRA_lib_libcoreutils_a_SOURCES += lib/putenv.c ## end gnulib module putenv ## begin gnulib module quote EXTRA_DIST += lib/quote.h ## end gnulib module quote ## begin gnulib module quotearg lib_libcoreutils_a_SOURCES += lib/quotearg.c EXTRA_DIST += lib/quote.h lib/quotearg.h ## end gnulib module quotearg ## begin gnulib module raise EXTRA_DIST += lib/raise.c EXTRA_lib_libcoreutils_a_SOURCES += lib/raise.c ## end gnulib module raise ## begin gnulib module randint lib_libcoreutils_a_SOURCES += lib/randint.c lib/randint.h ## end gnulib module randint ## begin gnulib module randperm lib_libcoreutils_a_SOURCES += lib/randperm.c lib/randperm.h ## end gnulib module randperm ## begin gnulib module randread lib_libcoreutils_a_SOURCES += lib/randread.c lib/randread.h lib/rand-isaac.c lib/rand-isaac.h ## end gnulib module randread ## begin gnulib module rawmemchr EXTRA_DIST += lib/rawmemchr.c lib/rawmemchr.valgrind EXTRA_lib_libcoreutils_a_SOURCES += lib/rawmemchr.c ## end gnulib module rawmemchr ## begin gnulib module read EXTRA_DIST += lib/read.c EXTRA_lib_libcoreutils_a_SOURCES += lib/read.c ## end gnulib module read ## begin gnulib module read-file lib_libcoreutils_a_SOURCES += lib/read-file.c EXTRA_DIST += lib/read-file.h ## end gnulib module read-file ## begin gnulib module readdir EXTRA_DIST += lib/dirent-private.h lib/readdir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/readdir.c ## end gnulib module readdir ## begin gnulib module readlink EXTRA_DIST += lib/readlink.c EXTRA_lib_libcoreutils_a_SOURCES += lib/readlink.c ## end gnulib module readlink ## begin gnulib module readlinkat EXTRA_DIST += lib/at-func.c lib/readlinkat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/readlinkat.c ## end gnulib module readlinkat ## begin gnulib module readtokens lib_libcoreutils_a_SOURCES += lib/readtokens.c EXTRA_DIST += lib/readtokens.h ## end gnulib module readtokens ## begin gnulib module readtokens0 lib_libcoreutils_a_SOURCES += lib/readtokens0.h lib/readtokens0.c ## end gnulib module readtokens0 ## begin gnulib module readutmp EXTRA_DIST += lib/readutmp.c lib/readutmp.h EXTRA_lib_libcoreutils_a_SOURCES += lib/readutmp.c ## end gnulib module readutmp ## begin gnulib module realloc-gnu EXTRA_DIST += lib/realloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/realloc.c ## end gnulib module realloc-gnu ## begin gnulib module realloc-posix EXTRA_DIST += lib/realloc.c EXTRA_lib_libcoreutils_a_SOURCES += lib/realloc.c ## end gnulib module realloc-posix ## begin gnulib module regex EXTRA_DIST += lib/regcomp.c lib/regex.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c EXTRA_lib_libcoreutils_a_SOURCES += lib/regcomp.c lib/regex.c lib/regex_internal.c lib/regexec.c ## end gnulib module regex ## begin gnulib module remove EXTRA_DIST += lib/remove.c EXTRA_lib_libcoreutils_a_SOURCES += lib/remove.c ## end gnulib module remove ## begin gnulib module rename EXTRA_DIST += lib/rename.c EXTRA_lib_libcoreutils_a_SOURCES += lib/rename.c ## end gnulib module rename ## begin gnulib module rewinddir EXTRA_DIST += lib/dirent-private.h lib/rewinddir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/rewinddir.c ## end gnulib module rewinddir ## begin gnulib module rmdir EXTRA_DIST += lib/rmdir.c EXTRA_lib_libcoreutils_a_SOURCES += lib/rmdir.c ## end gnulib module rmdir ## begin gnulib module root-dev-ino lib_libcoreutils_a_SOURCES += lib/root-dev-ino.c lib/root-dev-ino.h ## end gnulib module root-dev-ino ## begin gnulib module root-uid EXTRA_DIST += lib/root-uid.h ## end gnulib module root-uid ## begin gnulib module rpmatch EXTRA_DIST += lib/rpmatch.c EXTRA_lib_libcoreutils_a_SOURCES += lib/rpmatch.c ## end gnulib module rpmatch ## begin gnulib module safe-read lib_libcoreutils_a_SOURCES += lib/safe-read.c EXTRA_DIST += lib/safe-read.h ## end gnulib module safe-read ## begin gnulib module safe-write lib_libcoreutils_a_SOURCES += lib/safe-write.c EXTRA_DIST += lib/safe-read.c lib/safe-write.h EXTRA_lib_libcoreutils_a_SOURCES += lib/safe-read.c ## end gnulib module safe-write ## begin gnulib module same lib_libcoreutils_a_SOURCES += lib/same.c EXTRA_DIST += lib/same.h ## end gnulib module same ## begin gnulib module same-inode EXTRA_DIST += lib/same-inode.h ## end gnulib module same-inode ## begin gnulib module save-cwd lib_libcoreutils_a_SOURCES += lib/save-cwd.c EXTRA_DIST += lib/save-cwd.h ## end gnulib module save-cwd ## begin gnulib module savedir lib_libcoreutils_a_SOURCES += lib/savedir.c EXTRA_DIST += lib/savedir.h ## end gnulib module savedir ## begin gnulib module savewd lib_libcoreutils_a_SOURCES += lib/savewd.h lib/savewd.c ## end gnulib module savewd ## begin gnulib module sched BUILT_SOURCES += $(SCHED_H) # We need the following in order to create a replacement for <sched.h> when # the system doesn't have one. if GL_GENERATE_SCHED_H lib/sched.h: lib/sched.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SCHED_H''@|$(HAVE_SCHED_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SCHED_H''@|$(NEXT_SCHED_H)|g' \ -e 's|@''HAVE_STRUCT_SCHED_PARAM''@|$(HAVE_STRUCT_SCHED_PARAM)|g' \ < $(top_srcdir)/lib/sched.in.h; \ } > $@-t && \ mv $@-t $@ else lib/sched.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/sched.h lib/sched.h-t EXTRA_DIST += lib/sched.in.h ## end gnulib module sched ## begin gnulib module select EXTRA_DIST += lib/select.c EXTRA_lib_libcoreutils_a_SOURCES += lib/select.c ## end gnulib module select ## begin gnulib module selinux-at EXTRA_DIST += lib/at-func.c lib/selinux-at.c lib/selinux-at.h EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/selinux-at.c ## end gnulib module selinux-at ## begin gnulib module selinux-h lib_libcoreutils_a_SOURCES += lib/se-context.in.h lib/se-selinux.in.h lib/se-context.c lib/se-selinux.c BUILT_SOURCES += lib/selinux/selinux.h lib/selinux/selinux.h: lib/se-selinux.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) $(AM_V_at)$(MKDIR_P) lib/selinux $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SELINUX_SELINUX_H''@|$(NEXT_SELINUX_SELINUX_H)|g' \ -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ < $(top_srcdir)/lib/se-selinux.in.h; \ } > $@-t && \ chmod a-x $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/selinux/selinux.h lib/selinux/selinux.h-t BUILT_SOURCES += $(SELINUX_CONTEXT_H) if GL_GENERATE_SELINUX_CONTEXT_H lib/selinux/context.h: lib/se-context.in.h $(top_builddir)/config.status $(UNUSED_PARAMETER_H) $(AM_V_at)$(MKDIR_P) lib/selinux $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e '/definition of _GL_UNUSED_PARAMETER/r $(UNUSED_PARAMETER_H)' \ < $(top_srcdir)/lib/se-context.in.h; \ } > $@-t && \ chmod a-x $@-t && \ mv $@-t $@ else lib/selinux/context.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/selinux/context.h lib/selinux/context.h-t MOSTLYCLEANDIRS += lib/selinux EXTRA_DIST += lib/getfilecon.c EXTRA_lib_libcoreutils_a_SOURCES += lib/getfilecon.c ## end gnulib module selinux-h ## begin gnulib module setenv EXTRA_DIST += lib/setenv.c EXTRA_lib_libcoreutils_a_SOURCES += lib/setenv.c ## end gnulib module setenv ## begin gnulib module settime lib_libcoreutils_a_SOURCES += lib/settime.c ## end gnulib module settime ## begin gnulib module sig2str EXTRA_DIST += lib/sig2str.c lib/sig2str.h EXTRA_lib_libcoreutils_a_SOURCES += lib/sig2str.c ## end gnulib module sig2str ## begin gnulib module sigaction lib_libcoreutils_a_SOURCES += lib/sig-handler.c EXTRA_DIST += lib/sig-handler.h lib/sigaction.c EXTRA_lib_libcoreutils_a_SOURCES += lib/sigaction.c ## end gnulib module sigaction ## begin gnulib module signal-h BUILT_SOURCES += lib/signal.h # We need the following in order to create <signal.h> when the system # doesn't have a complete one. lib/signal.h: lib/signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \ -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \ -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \ -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \ -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \ -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \ -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \ -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \ -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/signal.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/signal.h lib/signal.h-t EXTRA_DIST += lib/signal.in.h ## end gnulib module signal-h ## begin gnulib module signbit EXTRA_DIST += lib/float+.h lib/signbitd.c lib/signbitf.c lib/signbitl.c EXTRA_lib_libcoreutils_a_SOURCES += lib/signbitd.c lib/signbitf.c lib/signbitl.c ## end gnulib module signbit ## begin gnulib module sigprocmask EXTRA_DIST += lib/sigprocmask.c EXTRA_lib_libcoreutils_a_SOURCES += lib/sigprocmask.c ## end gnulib module sigprocmask ## begin gnulib module size_max lib_libcoreutils_a_SOURCES += lib/size_max.h ## end gnulib module size_max ## begin gnulib module snippet/_Noreturn # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all Makefile.am that # need it. This is ensured by the applicability 'all' defined above. _NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h ## end gnulib module snippet/_Noreturn ## begin gnulib module snippet/arg-nonnull # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += lib/arg-nonnull.h # The arg-nonnull.h that gets inserted into generated .h files is the same as # build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut # off. lib/arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_ARG_NONNULL/,$$p' \ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/arg-nonnull.h lib/arg-nonnull.h-t ARG_NONNULL_H=lib/arg-nonnull.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h ## end gnulib module snippet/arg-nonnull ## begin gnulib module snippet/c++defs # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += lib/c++defs.h # The c++defs.h that gets inserted into generated .h files is the same as # build-aux/snippet/c++defs.h, except that it has the copyright header cut off. lib/c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/_GL_CXXDEFS/,$$p' \ < $(top_srcdir)/build-aux/snippet/c++defs.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/c++defs.h lib/c++defs.h-t CXXDEFS_H=lib/c++defs.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h ## end gnulib module snippet/c++defs ## begin gnulib module snippet/unused-parameter # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. BUILT_SOURCES += lib/unused-parameter.h # The unused-parameter.h that gets inserted into generated .h files is the same # as build-aux/snippet/unused-parameter.h, except that it has the copyright # header cut off. lib/unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/unused-parameter.h lib/unused-parameter.h-t UNUSED_PARAMETER_H=lib/unused-parameter.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h ## end gnulib module snippet/unused-parameter ## begin gnulib module snippet/warn-on-use BUILT_SOURCES += lib/warn-on-use.h # The warn-on-use.h that gets inserted into generated .h files is the same as # build-aux/snippet/warn-on-use.h, except that it has the copyright header cut # off. lib/warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h $(AM_V_GEN)rm -f $@-t $@ && \ sed -n -e '/^.ifndef/,$$p' \ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/warn-on-use.h lib/warn-on-use.h-t WARN_ON_USE_H=lib/warn-on-use.h EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h ## end gnulib module snippet/warn-on-use ## begin gnulib module snprintf EXTRA_DIST += lib/snprintf.c EXTRA_lib_libcoreutils_a_SOURCES += lib/snprintf.c ## end gnulib module snprintf ## begin gnulib module sockets lib_libcoreutils_a_SOURCES += lib/sockets.h lib/sockets.c EXTRA_DIST += lib/w32sock.h ## end gnulib module sockets ## begin gnulib module spawn BUILT_SOURCES += lib/spawn.h # We need the following in order to create a replacement for <spawn.h> when # the system doesn't have one. lib/spawn.h: lib/spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SPAWN_H''@|$(HAVE_SPAWN_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SPAWN_H''@|$(NEXT_SPAWN_H)|g' \ -e 's/@''GNULIB_POSIX_SPAWN''@/$(GNULIB_POSIX_SPAWN)/g' \ -e 's/@''GNULIB_POSIX_SPAWNP''@/$(GNULIB_POSIX_SPAWNP)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)/g' \ -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_INIT''@/$(GNULIB_POSIX_SPAWNATTR_INIT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_GETFLAGS)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_SETFLAGS)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_GETPGROUP)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_SETPGROUP)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGMASK)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGMASK)/g' \ -e 's/@''GNULIB_POSIX_SPAWNATTR_DESTROY''@/$(GNULIB_POSIX_SPAWNATTR_DESTROY)/g' \ -e 's|@''HAVE_POSIX_SPAWN''@|$(HAVE_POSIX_SPAWN)|g' \ -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|$(HAVE_POSIX_SPAWNATTR_T)|g' \ -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_T)|g' \ -e 's|@''REPLACE_POSIX_SPAWN''@|$(REPLACE_POSIX_SPAWN)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)|g' \ -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/spawn.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/spawn.h lib/spawn.h-t EXTRA_DIST += lib/spawn.in.h ## end gnulib module spawn ## begin gnulib module spawn-pipe lib_libcoreutils_a_SOURCES += lib/spawn-pipe.h lib/spawn-pipe.c lib/w32spawn.h ## end gnulib module spawn-pipe ## begin gnulib module stat EXTRA_DIST += lib/stat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/stat.c ## end gnulib module stat ## begin gnulib module stat-macros EXTRA_DIST += lib/stat-macros.h ## end gnulib module stat-macros ## begin gnulib module stat-size EXTRA_DIST += lib/stat-size.h ## end gnulib module stat-size ## begin gnulib module stat-time lib_libcoreutils_a_SOURCES += lib/stat-time.c EXTRA_DIST += lib/stat-time.h ## end gnulib module stat-time ## begin gnulib module statat lib_libcoreutils_a_SOURCES += lib/statat.c ## end gnulib module statat ## begin gnulib module stdalign BUILT_SOURCES += $(STDALIGN_H) # We need the following in order to create <stdalign.h> when the system # doesn't have one that works. if GL_GENERATE_STDALIGN_H lib/stdalign.h: lib/stdalign.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/stdalign.in.h; \ } > $@-t && \ mv $@-t $@ else lib/stdalign.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/stdalign.h lib/stdalign.h-t EXTRA_DIST += lib/stdalign.in.h ## end gnulib module stdalign ## begin gnulib module stdarg BUILT_SOURCES += $(STDARG_H) # We need the following in order to create <stdarg.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_STDARG_H lib/stdarg.h: lib/stdarg.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(top_srcdir)/lib/stdarg.in.h; \ } > $@-t && \ mv $@-t $@ else lib/stdarg.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/stdarg.h lib/stdarg.h-t EXTRA_DIST += lib/stdarg.in.h ## end gnulib module stdarg ## begin gnulib module stdbool BUILT_SOURCES += $(STDBOOL_H) # We need the following in order to create <stdbool.h> when the system # doesn't have one that works. if GL_GENERATE_STDBOOL_H lib/stdbool.h: lib/stdbool.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(top_srcdir)/lib/stdbool.in.h; \ } > $@-t && \ mv $@-t $@ else lib/stdbool.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/stdbool.h lib/stdbool.h-t EXTRA_DIST += lib/stdbool.in.h ## end gnulib module stdbool ## begin gnulib module stddef BUILT_SOURCES += $(STDDEF_H) # We need the following in order to create <stddef.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_STDDEF_H lib/stddef.h: lib/stddef.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ < $(top_srcdir)/lib/stddef.in.h; \ } > $@-t && \ mv $@-t $@ else lib/stddef.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/stddef.h lib/stddef.h-t EXTRA_DIST += lib/stddef.in.h ## end gnulib module stddef ## begin gnulib module stdint BUILT_SOURCES += $(STDINT_H) # We need the following in order to create <stdint.h> when the system # doesn't have one that works with the given compiler. if GL_GENERATE_STDINT_H lib/stdint.h: lib/stdint.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ < $(top_srcdir)/lib/stdint.in.h; \ } > $@-t && \ mv $@-t $@ else lib/stdint.h: $(top_builddir)/config.status rm -f $@ endif MOSTLYCLEANFILES += lib/stdint.h lib/stdint.h-t EXTRA_DIST += lib/stdint.in.h ## end gnulib module stdint ## begin gnulib module stdio BUILT_SOURCES += lib/stdio.h # We need the following in order to create <stdio.h> when the system # doesn't have one that works with the given compiler. lib/stdio.h: lib/stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ < $(top_srcdir)/lib/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \ -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \ -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/stdio.h lib/stdio.h-t EXTRA_DIST += lib/stdio.in.h ## end gnulib module stdio ## begin gnulib module stdlib BUILT_SOURCES += lib/stdlib.h # We need the following in order to create <stdlib.h> when the system # doesn't have one that works with the given compiler. lib/stdlib.h: lib/stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ < $(top_srcdir)/lib/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \ -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/stdlib.h lib/stdlib.h-t EXTRA_DIST += lib/stdlib.in.h ## end gnulib module stdlib ## begin gnulib module stdlib-safer lib_libcoreutils_a_SOURCES += lib/mkstemp-safer.c EXTRA_DIST += lib/stdlib--.h lib/stdlib-safer.h ## end gnulib module stdlib-safer ## begin gnulib module stpcpy EXTRA_DIST += lib/stpcpy.c EXTRA_lib_libcoreutils_a_SOURCES += lib/stpcpy.c ## end gnulib module stpcpy ## begin gnulib module stpncpy EXTRA_DIST += lib/stpncpy.c EXTRA_lib_libcoreutils_a_SOURCES += lib/stpncpy.c ## end gnulib module stpncpy ## begin gnulib module strchrnul EXTRA_DIST += lib/strchrnul.c lib/strchrnul.valgrind EXTRA_lib_libcoreutils_a_SOURCES += lib/strchrnul.c ## end gnulib module strchrnul ## begin gnulib module strdup-posix EXTRA_DIST += lib/strdup.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strdup.c ## end gnulib module strdup-posix ## begin gnulib module streq EXTRA_DIST += lib/streq.h ## end gnulib module streq ## begin gnulib module strerror EXTRA_DIST += lib/strerror.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strerror.c ## end gnulib module strerror ## begin gnulib module strerror-override EXTRA_DIST += lib/strerror-override.c lib/strerror-override.h EXTRA_lib_libcoreutils_a_SOURCES += lib/strerror-override.c ## end gnulib module strerror-override ## begin gnulib module strftime lib_libcoreutils_a_SOURCES += lib/strftime.c EXTRA_DIST += lib/strftime.h ## end gnulib module strftime ## begin gnulib module striconv lib_libcoreutils_a_SOURCES += lib/striconv.h lib/striconv.c if GL_COND_LIBTOOL endif ## end gnulib module striconv ## begin gnulib module string BUILT_SOURCES += lib/string.h # We need the following in order to create <string.h> when the system # doesn't have one that works with the given compiler. lib/string.h: lib/string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ < $(top_srcdir)/lib/string.in.h | \ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ < $(top_srcdir)/lib/string.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/string.h lib/string.h-t EXTRA_DIST += lib/string.in.h ## end gnulib module string ## begin gnulib module strncat EXTRA_DIST += lib/strncat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strncat.c ## end gnulib module strncat ## begin gnulib module strndup EXTRA_DIST += lib/strndup.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strndup.c ## end gnulib module strndup ## begin gnulib module strnlen EXTRA_DIST += lib/strnlen.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strnlen.c ## end gnulib module strnlen ## begin gnulib module strnlen1 lib_libcoreutils_a_SOURCES += lib/strnlen1.h lib/strnlen1.c ## end gnulib module strnlen1 ## begin gnulib module strnumcmp lib_libcoreutils_a_SOURCES += lib/strintcmp.c lib/strnumcmp.c lib/strnumcmp.h EXTRA_DIST += lib/strnumcmp-in.h ## end gnulib module strnumcmp ## begin gnulib module strpbrk EXTRA_DIST += lib/strpbrk.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strpbrk.c ## end gnulib module strpbrk ## begin gnulib module strsignal EXTRA_DIST += lib/siglist.h lib/strsignal.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strsignal.c ## end gnulib module strsignal ## begin gnulib module strstr-simple EXTRA_DIST += lib/str-two-way.h lib/strstr.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strstr.c ## end gnulib module strstr-simple ## begin gnulib module strtod EXTRA_DIST += lib/strtod.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strtod.c ## end gnulib module strtod ## begin gnulib module strtoimax EXTRA_DIST += lib/strtoimax.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strtoimax.c ## end gnulib module strtoimax ## begin gnulib module strtoll EXTRA_DIST += lib/strtol.c lib/strtoll.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strtol.c lib/strtoll.c ## end gnulib module strtoll ## begin gnulib module strtoull EXTRA_DIST += lib/strtol.c lib/strtoul.c lib/strtoull.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strtol.c lib/strtoul.c lib/strtoull.c ## end gnulib module strtoull ## begin gnulib module strtoumax EXTRA_DIST += lib/strtoimax.c lib/strtoumax.c EXTRA_lib_libcoreutils_a_SOURCES += lib/strtoimax.c lib/strtoumax.c ## end gnulib module strtoumax ## begin gnulib module symlink EXTRA_DIST += lib/symlink.c EXTRA_lib_libcoreutils_a_SOURCES += lib/symlink.c ## end gnulib module symlink ## begin gnulib module sys_ioctl BUILT_SOURCES += lib/sys/ioctl.h # We need the following in order to create <sys/ioctl.h> when the system # does not have a complete one. lib/sys/ioctl.h: lib/sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \ -e 's/@''GNULIB_IOCTL''@/$(GNULIB_IOCTL)/g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e 's|@''REPLACE_IOCTL''@|$(REPLACE_IOCTL)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_ioctl.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/ioctl.h lib/sys/ioctl.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_ioctl.in.h ## end gnulib module sys_ioctl ## begin gnulib module sys_resource BUILT_SOURCES += lib/sys/resource.h # We need the following in order to create <sys/resource.h> when the system # doesn't have one. lib/sys/resource.h: lib/sys_resource.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_RESOURCE_H''@|$(NEXT_SYS_RESOURCE_H)|g' \ -e 's|@''HAVE_SYS_RESOURCE_H''@|$(HAVE_SYS_RESOURCE_H)|g' \ -e 's/@''GNULIB_GETRUSAGE''@/$(GNULIB_GETRUSAGE)/g' \ -e 's/@''HAVE_GETRUSAGE''@/$(HAVE_GETRUSAGE)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_resource.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/sys/resource.h lib/sys/resource.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_resource.in.h ## end gnulib module sys_resource ## begin gnulib module sys_select BUILT_SOURCES += lib/sys/select.h # We need the following in order to create <sys/select.h> when the system # doesn't have one that works with the given compiler. lib/sys/select.h: lib/sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ -e 's|@''REPLACE_SELECT''@|$(REPLACE_SELECT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_select.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/select.h lib/sys/select.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_select.in.h ## end gnulib module sys_select ## begin gnulib module sys_socket BUILT_SOURCES += lib/sys/socket.h lib_libcoreutils_a_SOURCES += lib/sys_socket.c # We need the following in order to create <sys/socket.h> when the system # doesn't have one that works with the given compiler. lib/sys/socket.h: lib/sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY''@|$(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY)|g' \ -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \ -e 's|@''HAVE_ACCEPT4''@|$(HAVE_ACCEPT4)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_socket.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/sys/socket.h lib/sys/socket.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_socket.in.h ## end gnulib module sys_socket ## begin gnulib module sys_stat BUILT_SOURCES += lib/sys/stat.h # We need the following in order to create <sys/stat.h> when the system # has one that is incomplete. lib/sys/stat.h: lib/sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_stat.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/stat.h lib/sys/stat.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_stat.in.h ## end gnulib module sys_stat ## begin gnulib module sys_time BUILT_SOURCES += lib/sys/time.h # We need the following in order to create <sys/time.h> when the system # doesn't have one that works with the given compiler. lib/sys/time.h: lib/sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_time.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/time.h lib/sys/time.h-t EXTRA_DIST += lib/sys_time.in.h ## end gnulib module sys_time ## begin gnulib module sys_types BUILT_SOURCES += lib/sys/types.h # We need the following in order to create <sys/types.h> when the system # doesn't have one that works with the given compiler. lib/sys/types.h: lib/sys_types.in.h $(top_builddir)/config.status $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ < $(top_srcdir)/lib/sys_types.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/types.h lib/sys/types.h-t EXTRA_DIST += lib/sys_types.in.h ## end gnulib module sys_types ## begin gnulib module sys_uio BUILT_SOURCES += lib/sys/uio.h # We need the following in order to create <sys/uio.h> when the system # doesn't have one that works with the given compiler. lib/sys/uio.h: lib/sys_uio.in.h $(top_builddir)/config.status $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ < $(top_srcdir)/lib/sys_uio.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/sys/uio.h lib/sys/uio.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_uio.in.h ## end gnulib module sys_uio ## begin gnulib module sys_utsname BUILT_SOURCES += lib/sys/utsname.h # We need the following in order to create <sys/utsname.h> when the system # does not have one. lib/sys/utsname.h: lib/sys_utsname.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_UTSNAME_H''@/$(HAVE_SYS_UTSNAME_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_UTSNAME_H''@|$(NEXT_SYS_UTSNAME_H)|g' \ -e 's/@''GNULIB_UNAME''@/$(GNULIB_UNAME)/g' \ -e 's|@''HAVE_STRUCT_UTSNAME''@|$(HAVE_STRUCT_UTSNAME)|g' \ -e 's|@''HAVE_UNAME''@|$(HAVE_UNAME)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_utsname.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/utsname.h lib/sys/utsname.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_utsname.in.h ## end gnulib module sys_utsname ## begin gnulib module sys_wait BUILT_SOURCES += lib/sys/wait.h # We need the following in order to create <sys/wait.h> when the system # has one that is incomplete. lib/sys/wait.h: lib/sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_at)$(MKDIR_P) lib/sys $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_WAIT_H''@|$(NEXT_SYS_WAIT_H)|g' \ -e 's/@''GNULIB_WAITPID''@/$(GNULIB_WAITPID)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/sys_wait.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/sys/wait.h lib/sys/wait.h-t MOSTLYCLEANDIRS += lib/sys EXTRA_DIST += lib/sys_wait.in.h ## end gnulib module sys_wait ## begin gnulib module tempname lib_libcoreutils_a_SOURCES += lib/tempname.c EXTRA_DIST += lib/tempname.h ## end gnulib module tempname ## begin gnulib module termios BUILT_SOURCES += lib/termios.h # We need the following in order to create <termios.h> when the system # version does not have all declarations. lib/termios.h: lib/termios.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TERMIOS_H''@|$(NEXT_TERMIOS_H)|g' \ -e 's/@''GNULIB_TCGETSID''@/$(GNULIB_TCGETSID)/g' \ -e 's|@''HAVE_DECL_TCGETSID''@|$(HAVE_DECL_TCGETSID)|g' \ -e 's|@''HAVE_TERMIOS_H''@|$(HAVE_TERMIOS_H)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/termios.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/termios.h lib/termios.h-t EXTRA_DIST += lib/termios.in.h ## end gnulib module termios ## begin gnulib module threadlib lib_libcoreutils_a_SOURCES += lib/glthread/threadlib.c EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module threadlib ## begin gnulib module time BUILT_SOURCES += lib/time.h # We need the following in order to create <time.h> when the system # doesn't have one that works with the given compiler. lib/time.h: lib/time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/time.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/time.h lib/time.h-t EXTRA_DIST += lib/time.in.h ## end gnulib module time ## begin gnulib module time_r EXTRA_DIST += lib/time_r.c EXTRA_lib_libcoreutils_a_SOURCES += lib/time_r.c ## end gnulib module time_r ## begin gnulib module timespec lib_libcoreutils_a_SOURCES += lib/timespec.c EXTRA_DIST += lib/timespec.h ## end gnulib module timespec ## begin gnulib module tls lib_libcoreutils_a_SOURCES += lib/glthread/tls.h lib/glthread/tls.c ## end gnulib module tls ## begin gnulib module trim lib_libcoreutils_a_SOURCES += lib/trim.c EXTRA_DIST += lib/trim.h ## end gnulib module trim ## begin gnulib module u64 lib_libcoreutils_a_SOURCES += lib/u64.c EXTRA_DIST += lib/u64.h ## end gnulib module u64 ## begin gnulib module uname EXTRA_DIST += lib/uname.c EXTRA_lib_libcoreutils_a_SOURCES += lib/uname.c ## end gnulib module uname ## begin gnulib module unicodeio lib_libcoreutils_a_SOURCES += lib/unicodeio.h lib/unicodeio.c ## end gnulib module unicodeio ## begin gnulib module unistd BUILT_SOURCES += lib/unistd.h lib_libcoreutils_a_SOURCES += lib/unistd.c # We need the following in order to create an empty placeholder for # <unistd.h> when the system doesn't have one. lib/unistd.h: lib/unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ < $(top_srcdir)/lib/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \ -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ | \ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/unistd.h lib/unistd.h-t EXTRA_DIST += lib/unistd.in.h ## end gnulib module unistd ## begin gnulib module unistd-safer lib_libcoreutils_a_SOURCES += lib/dup-safer.c lib/fd-safer.c lib/pipe-safer.c EXTRA_DIST += lib/unistd--.h lib/unistd-safer.h ## end gnulib module unistd-safer ## begin gnulib module unistr/base BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H) lib/unistr.h: lib/unistr.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/unistr.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/unistr.h lib/unistr.h-t EXTRA_DIST += lib/unistr.in.h ## end gnulib module unistr/base ## begin gnulib module unistr/u8-mbtoucr if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR lib_libcoreutils_a_SOURCES += lib/unistr/u8-mbtoucr.c endif ## end gnulib module unistr/u8-mbtoucr ## begin gnulib module unistr/u8-uctomb if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB lib_libcoreutils_a_SOURCES += lib/unistr/u8-uctomb.c lib/unistr/u8-uctomb-aux.c endif ## end gnulib module unistr/u8-uctomb ## begin gnulib module unitypes BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H) lib/unitypes.h: lib/unitypes.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/unitypes.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/unitypes.h lib/unitypes.h-t EXTRA_DIST += lib/unitypes.in.h ## end gnulib module unitypes ## begin gnulib module uniwidth/base BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) lib/uniwidth.h: lib/uniwidth.in.h $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(top_srcdir)/lib/uniwidth.in.h; \ } > $@-t && \ mv -f $@-t $@ MOSTLYCLEANFILES += lib/uniwidth.h lib/uniwidth.h-t EXTRA_DIST += lib/localcharset.h lib/uniwidth.in.h ## end gnulib module uniwidth/base ## begin gnulib module uniwidth/width if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH lib_libcoreutils_a_SOURCES += lib/uniwidth/width.c endif EXTRA_DIST += lib/uniwidth/cjk.h ## end gnulib module uniwidth/width ## begin gnulib module unlink EXTRA_DIST += lib/unlink.c EXTRA_lib_libcoreutils_a_SOURCES += lib/unlink.c ## end gnulib module unlink ## begin gnulib module unlinkat EXTRA_DIST += lib/at-func.c lib/unlinkat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/unlinkat.c ## end gnulib module unlinkat ## begin gnulib module unlocked-io EXTRA_DIST += lib/unlocked-io.h ## end gnulib module unlocked-io ## begin gnulib module unsetenv EXTRA_DIST += lib/unsetenv.c EXTRA_lib_libcoreutils_a_SOURCES += lib/unsetenv.c ## end gnulib module unsetenv ## begin gnulib module update-copyright EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright ## end gnulib module update-copyright ## begin gnulib module useless-if-before-free EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free ## end gnulib module useless-if-before-free ## begin gnulib module userspec lib_libcoreutils_a_SOURCES += lib/userspec.c EXTRA_DIST += lib/userspec.h ## end gnulib module userspec ## begin gnulib module utimecmp lib_libcoreutils_a_SOURCES += lib/utimecmp.c EXTRA_DIST += lib/utimecmp.h ## end gnulib module utimecmp ## begin gnulib module utimens lib_libcoreutils_a_SOURCES += lib/utimens.c EXTRA_DIST += lib/utimens.h ## end gnulib module utimens ## begin gnulib module utimensat EXTRA_DIST += lib/at-func.c lib/utimensat.c EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func.c lib/utimensat.c ## end gnulib module utimensat ## begin gnulib module vasnprintf EXTRA_DIST += lib/asnprintf.c lib/float+.h lib/printf-args.c lib/printf-args.h lib/printf-parse.c lib/printf-parse.h lib/vasnprintf.c lib/vasnprintf.h EXTRA_lib_libcoreutils_a_SOURCES += lib/asnprintf.c lib/printf-args.c lib/printf-parse.c lib/vasnprintf.c ## end gnulib module vasnprintf ## begin gnulib module vasprintf EXTRA_DIST += lib/asprintf.c lib/vasprintf.c EXTRA_lib_libcoreutils_a_SOURCES += lib/asprintf.c lib/vasprintf.c ## end gnulib module vasprintf ## begin gnulib module vc-list-files EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files ## end gnulib module vc-list-files ## begin gnulib module verify EXTRA_DIST += lib/verify.h ## end gnulib module verify ## begin gnulib module verror lib_libcoreutils_a_SOURCES += lib/verror.h lib/verror.c ## end gnulib module verror ## begin gnulib module version-etc lib_libcoreutils_a_SOURCES += lib/version-etc.h lib/version-etc.c ## end gnulib module version-etc ## begin gnulib module version-etc-fsf lib_libcoreutils_a_SOURCES += lib/version-etc-fsf.c ## end gnulib module version-etc-fsf ## begin gnulib module vfprintf-posix EXTRA_DIST += lib/vfprintf.c EXTRA_lib_libcoreutils_a_SOURCES += lib/vfprintf.c ## end gnulib module vfprintf-posix ## begin gnulib module vprintf-posix EXTRA_DIST += lib/vprintf.c EXTRA_lib_libcoreutils_a_SOURCES += lib/vprintf.c ## end gnulib module vprintf-posix ## begin gnulib module wait-process lib_libcoreutils_a_SOURCES += lib/wait-process.h lib/wait-process.c ## end gnulib module wait-process ## begin gnulib module waitpid EXTRA_DIST += lib/waitpid.c EXTRA_lib_libcoreutils_a_SOURCES += lib/waitpid.c ## end gnulib module waitpid ## begin gnulib module wchar BUILT_SOURCES += lib/wchar.h # We need the following in order to create <wchar.h> when the system # version does not work standalone. lib/wchar.h: lib/wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ < $(top_srcdir)/lib/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/wchar.h lib/wchar.h-t EXTRA_DIST += lib/wchar.in.h ## end gnulib module wchar ## begin gnulib module wcrtomb EXTRA_DIST += lib/wcrtomb.c EXTRA_lib_libcoreutils_a_SOURCES += lib/wcrtomb.c ## end gnulib module wcrtomb ## begin gnulib module wcswidth EXTRA_DIST += lib/wcswidth-impl.h lib/wcswidth.c EXTRA_lib_libcoreutils_a_SOURCES += lib/wcswidth.c ## end gnulib module wcswidth ## begin gnulib module wctype-h BUILT_SOURCES += lib/wctype.h lib_libcoreutils_a_SOURCES += lib/wctype-h.c # We need the following in order to create <wctype.h> when the system # doesn't have one that works with the given compiler. lib/wctype.h: lib/wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ -e 's/@''HAVE_WCTRANS_T''@/$(HAVE_WCTRANS_T)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(top_srcdir)/lib/wctype.in.h; \ } > $@-t && \ mv $@-t $@ MOSTLYCLEANFILES += lib/wctype.h lib/wctype.h-t EXTRA_DIST += lib/wctype.in.h ## end gnulib module wctype-h ## begin gnulib module wcwidth EXTRA_DIST += lib/wcwidth.c EXTRA_lib_libcoreutils_a_SOURCES += lib/wcwidth.c ## end gnulib module wcwidth ## begin gnulib module write EXTRA_DIST += lib/write.c EXTRA_lib_libcoreutils_a_SOURCES += lib/write.c ## end gnulib module write ## begin gnulib module write-any-file lib_libcoreutils_a_SOURCES += lib/write-any-file.c EXTRA_DIST += lib/write-any-file.h ## end gnulib module write-any-file ## begin gnulib module xalloc lib_libcoreutils_a_SOURCES += lib/xmalloc.c EXTRA_DIST += lib/xalloc.h ## end gnulib module xalloc ## begin gnulib module xalloc-die lib_libcoreutils_a_SOURCES += lib/xalloc-die.c ## end gnulib module xalloc-die ## begin gnulib module xalloc-oversized EXTRA_DIST += lib/xalloc-oversized.h ## end gnulib module xalloc-oversized ## begin gnulib module xfreopen lib_libcoreutils_a_SOURCES += lib/xfreopen.c lib/xfreopen.h ## end gnulib module xfreopen ## begin gnulib module xfts lib_libcoreutils_a_SOURCES += lib/xfts.c lib/xfts.h ## end gnulib module xfts ## begin gnulib module xgetcwd lib_libcoreutils_a_SOURCES += lib/xgetcwd.c EXTRA_DIST += lib/xgetcwd.h ## end gnulib module xgetcwd ## begin gnulib module xgetgroups lib_libcoreutils_a_SOURCES += lib/xgetgroups.c ## end gnulib module xgetgroups ## begin gnulib module xgethostname lib_libcoreutils_a_SOURCES += lib/xgethostname.h lib/xgethostname.c ## end gnulib module xgethostname ## begin gnulib module xmemcoll lib_libcoreutils_a_SOURCES += lib/xmemcoll.h lib/xmemcoll.c ## end gnulib module xmemcoll ## begin gnulib module xnanosleep lib_libcoreutils_a_SOURCES += lib/xnanosleep.c EXTRA_DIST += lib/xnanosleep.h ## end gnulib module xnanosleep ## begin gnulib module xprintf lib_libcoreutils_a_SOURCES += lib/xprintf.h lib/xprintf.c ## end gnulib module xprintf ## begin gnulib module xreadlink lib_libcoreutils_a_SOURCES += lib/xreadlink.c EXTRA_DIST += lib/xreadlink.h ## end gnulib module xreadlink ## begin gnulib module xsize lib_libcoreutils_a_SOURCES += lib/xsize.h lib/xsize.c ## end gnulib module xsize ## begin gnulib module xstriconv lib_libcoreutils_a_SOURCES += lib/xstriconv.h lib/xstriconv.c ## end gnulib module xstriconv ## begin gnulib module xstrndup lib_libcoreutils_a_SOURCES += lib/xstrndup.h lib/xstrndup.c ## end gnulib module xstrndup ## begin gnulib module xstrtod lib_libcoreutils_a_SOURCES += lib/xstrtod.c EXTRA_DIST += lib/xstrtod.h ## end gnulib module xstrtod ## begin gnulib module xstrtoimax lib_libcoreutils_a_SOURCES += lib/xstrtoimax.c ## end gnulib module xstrtoimax ## begin gnulib module xstrtol lib_libcoreutils_a_SOURCES += lib/xstrtol.c lib/xstrtoul.c lib/xstrtol-error.c EXTRA_DIST += lib/xstrtol.h ## end gnulib module xstrtol ## begin gnulib module xstrtold lib_libcoreutils_a_SOURCES += lib/xstrtold.c EXTRA_DIST += lib/xstrtod.c lib/xstrtod.h EXTRA_lib_libcoreutils_a_SOURCES += lib/xstrtod.c ## end gnulib module xstrtold ## begin gnulib module xstrtoumax lib_libcoreutils_a_SOURCES += lib/xstrtoumax.c ## end gnulib module xstrtoumax ## begin gnulib module xvasprintf lib_libcoreutils_a_SOURCES += lib/xvasprintf.h lib/xvasprintf.c lib/xasprintf.c EXTRA_DIST += lib/xalloc.h ## end gnulib module xvasprintf ## begin gnulib module yesno lib_libcoreutils_a_SOURCES += lib/yesno.c EXTRA_DIST += lib/yesno.h ## end gnulib module yesno mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/version-etc-fsf.c����������������������������������������������������������������0000664�0000000�0000000�00000002202�12071024546�014267� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Variable with FSF copyright information, for version-etc. Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> /* Specification. */ #include "version-etc.h" /* Default copyright goes to the FSF. */ const char version_etc_copyright[] = /* Do *not* mark this string for translation. %s is a copyright symbol suitable for this locale, and %d is the copyright year. */ "Copyright %s %d Free Software Foundation, Inc."; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fts_.h���������������������������������������������������������������������������0000664�0000000�0000000�00000031624�12071024546�012227� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Traverse a file hierarchy. Copyright (C) 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 */ #ifndef _FTS_H # define _FTS_H 1 # ifdef _LIBC # include <features.h> # else # undef __THROW # define __THROW # undef __BEGIN_DECLS # undef __END_DECLS # ifdef __cplusplus # define __BEGIN_DECLS extern "C" { # define __END_DECLS } # else # define __BEGIN_DECLS # define __END_DECLS # endif # endif # include <stddef.h> # include <sys/types.h> # include <dirent.h> # include <sys/stat.h> # include "i-ring.h" typedef struct { struct _ftsent *fts_cur; /* current node */ struct _ftsent *fts_child; /* linked list of children */ struct _ftsent **fts_array; /* sort array */ dev_t fts_dev; /* starting device # */ char *fts_path; /* file name for this descent */ int fts_rfd; /* fd for root */ int fts_cwd_fd; /* the file descriptor on which the virtual cwd is open, or AT_FDCWD */ size_t fts_pathlen; /* sizeof(path) */ size_t fts_nitems; /* elements in the sort array */ int (*fts_compar) (struct _ftsent const **, struct _ftsent const **); /* compare fn */ # define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */ # define FTS_LOGICAL 0x0002 /* logical walk */ # define FTS_NOCHDIR 0x0004 /* don't change directories */ # define FTS_NOSTAT 0x0008 /* don't get stat info */ # define FTS_PHYSICAL 0x0010 /* physical walk */ # define FTS_SEEDOT 0x0020 /* return dot and dot-dot */ # define FTS_XDEV 0x0040 /* don't cross devices */ # define FTS_WHITEOUT 0x0080 /* return whiteout information */ /* There are two ways to detect cycles. The lazy way (which works only with FTS_PHYSICAL), with which one may process a directory that is a part of the cycle several times before detecting the cycle. The "tight" way, whereby fts uses more memory (proportional to number of "active" directories, aka distance from root of current tree to current directory -- see active_dir_ht) to detect any cycle right away. For example, du must use this option to avoid counting disk space in a cycle multiple times, but chown -R need not. The default is to use the constant-memory lazy way, when possible (see below). However, with FTS_LOGICAL (when following symlinks, e.g., chown -L) using lazy cycle detection is inadequate. For example, traversing a directory containing a symbolic link to a peer directory, it is possible to encounter the same directory twice even though there is no cycle: dir ... slink -> dir So, when FTS_LOGICAL is selected, we have to use a different mode of cycle detection: FTS_TIGHT_CYCLE_CHECK. */ # define FTS_TIGHT_CYCLE_CHECK 0x0100 /* Use this flag to enable semantics with which the parent application may be made both more efficient and more robust. Whereas the default is to visit each directory in a recursive traversal (via chdir), using this flag makes it so the initial working directory is never changed. Instead, these functions perform the traversal via a virtual working directory, maintained through the file descriptor member, fts_cwd_fd. */ # define FTS_CWDFD 0x0200 /* Historically, for each directory that fts initially encounters, it would open it, read all entries, and stat each entry, storing the results, and then it would process the first entry. But that behavior is bad for locality of reference, and also causes trouble with inode-simulating file systems like FAT, CIFS, FUSE-based ones, etc., when entries from their name/inode cache are flushed too early. Use this flag to make fts_open and fts_read defer the stat/lstat/fststat of each entry until it is actually processed. However, note that if you use this option and also specify a comparison function, that function may not examine any data via fts_statp. However, when fts_statp->st_mode is nonzero, the S_IFMT type bits are valid, with mapped dirent.d_type data. Of course, that happens only on file systems that provide useful dirent.d_type data. */ # define FTS_DEFER_STAT 0x0400 # define FTS_NOATIME 0x0800 /* use O_NOATIME during traversal */ /* Use this flag to disable stripping of trailing slashes from input path names during fts_open initialization. */ # define FTS_VERBATIM 0x1000 # define FTS_OPTIONMASK 0x1fff /* valid user option mask */ # define FTS_NAMEONLY 0x2000 /* (private) child names only */ # define FTS_STOP 0x4000 /* (private) unrecoverable error */ int fts_options; /* fts_open options, global flags */ /* Map a directory's device number to a boolean. The boolean is true if for that file system (type determined by a single fstatfs call per FS) st_nlink can be used to calculate the number of sub-directory entries in a directory. Using this table is an optimization that permits us to look up file system type on a per-inode basis at the minimal cost of calling fstatfs only once per traversed device. */ struct hash_table *fts_leaf_optimization_works_ht; union { /* This data structure is used if FTS_TIGHT_CYCLE_CHECK is specified. It records the directories between a starting point and the current directory. I.e., a directory is recorded here IFF we have visited it once, but we have not yet completed processing of all its entries. Every time we visit a new directory, we add that directory to this set. When we finish with a directory (usually by visiting it a second time), we remove it from this set. Each entry in this data structure is a device/inode pair. This data structure is used to detect directory cycles efficiently and promptly even when the depth of a hierarchy is in the tens of thousands. */ struct hash_table *ht; /* FIXME: rename these two members to have the fts_ prefix */ /* This data structure uses a lazy cycle-detection algorithm, as done by rm via cycle-check.c. It's the default, but it's not appropriate for programs like du. */ struct cycle_check_state *state; } fts_cycle; /* A stack of the file descriptors corresponding to the most-recently traversed parent directories. Currently used only in FTS_CWDFD mode. */ I_ring fts_fd_ring; } FTS; typedef struct _ftsent { struct _ftsent *fts_cycle; /* cycle node */ struct _ftsent *fts_parent; /* parent directory */ struct _ftsent *fts_link; /* next file in directory */ DIR *fts_dirp; /* Dir pointer for any directory containing more entries than we read at one time. */ long fts_number; /* local numeric value */ void *fts_pointer; /* local address value */ char *fts_accpath; /* access file name */ char *fts_path; /* root name; == fts_fts->fts_path */ int fts_errno; /* errno for this node */ int fts_symfd; /* fd for symlink */ size_t fts_pathlen; /* strlen(fts_path) */ FTS *fts_fts; /* the file hierarchy itself */ # define FTS_ROOTPARENTLEVEL (-1) # define FTS_ROOTLEVEL 0 ptrdiff_t fts_level; /* depth (-1 to N) */ size_t fts_namelen; /* strlen(fts_name) */ nlink_t fts_n_dirs_remaining; /* count down from st_nlink */ # define FTS_D 1 /* preorder directory */ # define FTS_DC 2 /* directory that causes cycles */ # define FTS_DEFAULT 3 /* none of the above */ # define FTS_DNR 4 /* unreadable directory */ # define FTS_DOT 5 /* dot or dot-dot */ # define FTS_DP 6 /* postorder directory */ # define FTS_ERR 7 /* error; errno is set */ # define FTS_F 8 /* regular file */ # define FTS_INIT 9 /* initialized only */ # define FTS_NS 10 /* stat(2) failed */ # define FTS_NSOK 11 /* no stat(2) requested */ # define FTS_SL 12 /* symbolic link */ # define FTS_SLNONE 13 /* symbolic link without target */ # define FTS_W 14 /* whiteout object */ unsigned short int fts_info; /* user flags for FTSENT structure */ # define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ # define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ unsigned short int fts_flags; /* private flags for FTSENT structure */ # define FTS_AGAIN 1 /* read node again */ # define FTS_FOLLOW 2 /* follow symbolic link */ # define FTS_NOINSTR 3 /* no instructions */ # define FTS_SKIP 4 /* discard node */ unsigned short int fts_instr; /* fts_set() instructions */ struct stat fts_statp[1]; /* stat(2) information */ char fts_name[1]; /* file name */ } FTSENT; #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #if __GNUC_PREREQ (3,4) # undef __attribute_warn_unused_result__ # define __attribute_warn_unused_result__ \ __attribute__ ((__warn_unused_result__)) #else # define __attribute_warn_unused_result__ /* empty */ #endif __BEGIN_DECLS FTSENT *fts_children (FTS *, int) __THROW __attribute_warn_unused_result__; int fts_close (FTS *) __THROW __attribute_warn_unused_result__; FTS *fts_open (char * const *, int, int (*)(const FTSENT **, const FTSENT **)) __THROW __attribute_warn_unused_result__; FTSENT *fts_read (FTS *) __THROW __attribute_warn_unused_result__; int fts_set (FTS *, FTSENT *, int) __THROW; __END_DECLS #endif /* fts.h */ ������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getopt1.c������������������������������������������������������������������������0000664�0000000�0000000�00000010552�12071024546�012647� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef _LIBC # include <getopt.h> #else # include <config.h> # include "getopt.h" #endif #include "getopt_int.h" #include <stdio.h> /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ #include <stdlib.h> #endif #ifndef NULL #define NULL 0 #endif int getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 0, 0); } int _getopt_long_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 0, d, 0); } /* Like getopt_long, but '-' as well as '--' can indicate a long option. If an option that starts with '-' (not '--') doesn't match a long option, but does match a short option, it is parsed as a short option instead. */ int getopt_long_only (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 1, 0); } int _getopt_long_only_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 1, d, 0); } #ifdef TEST #include <stdio.h> int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static const struct option long_options[] = { {"add", 1, 0, 0}, {"append", 0, 0, 0}, {"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, {"create", 0, 0, 0}, {"file", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "abc:d:0123456789", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value '%s'\n", optarg); break; case 'd': printf ("option d with value '%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ ������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/itold.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002010�12071024546�012365� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Replacement for 'int' to 'long double' conversion routine. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <float.h> void _Qp_itoq (long double *result, int a) { /* Convert from 'int' to 'double', then from 'double' to 'long double'. */ *result = (double) a; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xreadlink.c����������������������������������������������������������������������0000664�0000000�0000000�00000002700�12071024546�013241� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net> and Bruno Haible <bruno@clisp.org>. */ #include <config.h> /* Specification. */ #include "xreadlink.h" #include <errno.h> #include "areadlink.h" #include "xalloc.h" /* Call readlink to get the symbolic link value of FILENAME. Return a pointer to that NUL-terminated string in malloc'd storage. If readlink fails, return NULL and set errno. If realloc fails, or if the link value is longer than SIZE_MAX :-), give a diagnostic and exit. */ char * xreadlink (char const *filename) { char *result = areadlink (filename); if (result == NULL && errno == ENOMEM) xalloc_die (); return result; } ����������������������������������������������������������������coreutils-8.21/lib/anytostr.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003026�12071024545�013144� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* anytostr.c -- convert integers to printable strings Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert */ /* Tell gcc not to warn about the (i < 0) test, below. */ #if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wtype-limits" #endif #include <config.h> #include "inttostr.h" /* Convert I to a printable string in BUF, which must be at least INT_BUFSIZE_BOUND (INTTYPE) bytes long. Return the address of the printable string, which need not start at BUF. */ char * __attribute_warn_unused_result__ anytostr (inttype i, char *buf) { char *p = buf + INT_STRLEN_BOUND (inttype); *p = 0; if (i < 0) { do *--p = '0' - i % 10; while ((i /= 10) != 0); *--p = '-'; } else { do *--p = '0' + i % 10; while ((i /= 10) != 0); } return p; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xfreopen.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000125�11624727635�013126� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdio.h> void xfreopen (char const *filename, char const *mode, FILE *fp); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ino-map.h������������������������������������������������������������������������0000664�0000000�0000000�00000001001�11624727634�012631� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef _GL_INO_MAP_H # define _GL_INO_MAP_H # include <sys/types.h> # undef _GL_ATTRIBUTE_NONNULL # if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || 3 < __GNUC__ # define _GL_ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) # else # define _GL_ATTRIBUTE_NONNULL(m) # endif # define INO_MAP_INSERT_FAILURE ((size_t) -1) struct ino_map *ino_map_alloc (size_t); void ino_map_free (struct ino_map *) _GL_ATTRIBUTE_NONNULL (1); size_t ino_map_insert (struct ino_map *, ino_t) _GL_ATTRIBUTE_NONNULL (1); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isapipe.h������������������������������������������������������������������������0000664�0000000�0000000�00000000205�11624727634�012730� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Whether pipes are FIFOs; -1 if not known. */ #ifndef HAVE_FIFO_PIPES # define HAVE_FIFO_PIPES (-1) #endif int isapipe (int fd); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filenamecat-lgpl.c���������������������������������������������������������������0000664�0000000�0000000�00000005442�12071024546�014472� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Concatenate two arbitrary file names. Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> /* Specification. */ #include "filenamecat.h" #include <stdlib.h> #include <string.h> #include "dirname.h" #if ! HAVE_MEMPCPY && ! defined mempcpy # define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N))) #endif /* Return the longest suffix of F that is a relative file name. If it has no such suffix, return the empty string. */ static char const * _GL_ATTRIBUTE_PURE longest_relative_suffix (char const *f) { for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++) continue; return f; } /* Concatenate two file name components, DIR and ABASE, in newly-allocated storage and return the result. The resulting file name F is such that the commands "ls F" and "(cd DIR; ls BASE)" refer to the same file, where BASE is ABASE with any file system prefixes and leading separators removed. Arrange for a directory separator if necessary between DIR and BASE in the result, removing any redundant separators. In any case, if BASE_IN_RESULT is non-NULL, set *BASE_IN_RESULT to point to the copy of ABASE in the returned concatenation. However, if ABASE begins with more than one slash, set *BASE_IN_RESULT to point to the sole corresponding slash that is copied into the result buffer. Return NULL if malloc fails. */ char * mfile_name_concat (char const *dir, char const *abase, char **base_in_result) { char const *dirbase = last_component (dir); size_t dirbaselen = base_len (dirbase); size_t dirlen = dirbase - dir + dirbaselen; size_t needs_separator = (dirbaselen && ! ISSLASH (dirbase[dirbaselen - 1])); char const *base = longest_relative_suffix (abase); size_t baselen = strlen (base); char *p_concat = malloc (dirlen + needs_separator + baselen + 1); char *p; if (p_concat == NULL) return NULL; p = mempcpy (p_concat, dir, dirlen); *p = DIRECTORY_SEPARATOR; p += needs_separator; if (base_in_result) *base_in_result = p - IS_ABSOLUTE_FILE_NAME (abase); p = mempcpy (p, base, baselen); *p = '\0'; return p_concat; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fpending.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002045�12071024546�013054� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fpending.c -- return the number of pending output bytes on a stream Copyright (C) 2000, 2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "fpending.h" /* Return the number of pending (aka buffered, unflushed) bytes on the stream, FP, that is open for writing. */ size_t __fpending (FILE *fp) { return PENDING_OUTPUT_N_BYTES; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirent--.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001547�12071024546�012714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like dirent.h, but redefine some names to avoid glitches. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include "dirent-safer.h" #undef opendir #define opendir opendir_safer ���������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freopen.c������������������������������������������������������������������������0000664�0000000�0000000�00000003324�12071024546�012721� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Open a stream to a file. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ /* If the user's config.h happens to include <stdio.h>, let it include only the system's <stdio.h> here, so that orig_freopen doesn't recurse to rpl_freopen. */ #define __need_FILE #include <config.h> /* Get the original definition of freopen. It might be defined as a macro. */ #include <stdio.h> #undef __need_FILE static FILE * orig_freopen (const char *filename, const char *mode, FILE *stream) { return freopen (filename, mode, stream); } /* Specification. */ /* Write "stdio.h" here, not <stdio.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <stdio.h> above. */ #include "stdio.h" #include <string.h> FILE * rpl_freopen (const char *filename, const char *mode, FILE *stream) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ if (filename != NULL && strcmp (filename, "/dev/null") == 0) filename = "NUL"; #endif return orig_freopen (filename, mode, stream); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getpass.h������������������������������������������������������������������������0000664�0000000�0000000�00000002111�12071561010�012717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getpass.h -- Read a password of arbitrary length from /dev/tty or stdin. Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. Contributed by Simon Josefsson <jas@extundo.com>, 2004. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef GETPASS_H # define GETPASS_H /* Get getpass declaration, if available. */ # include <unistd.h> # if !HAVE_DECL_GETPASS /* Read a password of arbitrary length from /dev/tty or stdin. */ char *getpass (const char *prompt); # endif #endif /* GETPASS_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/file-type.c����������������������������������������������������������������������0000664�0000000�0000000�00000003553�12071024546�013165� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return a string describing the type of a file. Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "file-type.h" #include <gettext.h> #define _(text) gettext (text) char const * file_type (struct stat const *st) { /* See POSIX 1003.1-2001 XCU Table 4-8 lines 17093-17107 for some of these formats. To keep diagnostics grammatical in English, the returned string must start with a consonant. */ if (S_ISREG (st->st_mode)) return st->st_size == 0 ? _("regular empty file") : _("regular file"); if (S_ISDIR (st->st_mode)) return _("directory"); if (S_ISBLK (st->st_mode)) return _("block special file"); if (S_ISCHR (st->st_mode)) return _("character special file"); if (S_ISFIFO (st->st_mode)) return _("fifo"); if (S_ISLNK (st->st_mode)) return _("symbolic link"); if (S_ISSOCK (st->st_mode)) return _("socket"); if (S_TYPEISMQ (st)) return _("message queue"); if (S_TYPEISSEM (st)) return _("semaphore"); if (S_TYPEISSHM (st)) return _("shared memory object"); if (S_TYPEISTMO (st)) return _("typed memory object"); return _("weird file"); } �����������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/quotearg.c�����������������������������������������������������������������������0000664�0000000�0000000�00000075133�12071024546�013121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* quotearg.c - quote arguments for output Copyright (C) 1998-2002, 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert <eggert@twinsun.com> */ /* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that the quoting_options_from_style function might be candidate for attribute 'pure' */ #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" #endif #include <config.h> #include "quotearg.h" #include "quote.h" #include "xalloc.h" #include "c-strcaseeq.h" #include "localcharset.h" #include <ctype.h> #include <errno.h> #include <limits.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #include <wchar.h> #include <wctype.h> #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #define INT_BITS (sizeof (int) * CHAR_BIT) struct quoting_options { /* Basic quoting style. */ enum quoting_style style; /* Additional flags. Bitwise combination of enum quoting_flags. */ int flags; /* Quote the characters indicated by this bit vector even if the quoting style would not normally require them to be quoted. */ unsigned int quote_these_too[(UCHAR_MAX / INT_BITS) + 1]; /* The left quote for custom_quoting_style. */ char const *left_quote; /* The right quote for custom_quoting_style. */ char const *right_quote; }; /* Names of quoting styles. */ char const *const quoting_style_args[] = { "literal", "shell", "shell-always", "c", "c-maybe", "escape", "locale", "clocale", 0 }; /* Correspondences to quoting style names. */ enum quoting_style const quoting_style_vals[] = { literal_quoting_style, shell_quoting_style, shell_always_quoting_style, c_quoting_style, c_maybe_quoting_style, escape_quoting_style, locale_quoting_style, clocale_quoting_style }; /* The default quoting options. */ static struct quoting_options default_quoting_options; /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options * clone_quoting_options (struct quoting_options *o) { int e = errno; struct quoting_options *p = xmemdup (o ? o : &default_quoting_options, sizeof *o); errno = e; return p; } /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o) { return (o ? o : &default_quoting_options)->style; } /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s) { (o ? o : &default_quoting_options)->style = s; } /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). */ int set_char_quoting (struct quoting_options *o, char c, int i) { unsigned char uc = c; unsigned int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS; int shift = uc % INT_BITS; int r = (*p >> shift) & 1; *p ^= ((i & 1) ^ r) << shift; return r; } /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i) { int r; if (!o) o = &default_quoting_options; r = o->flags; o->flags = i; return r; } void set_custom_quoting (struct quoting_options *o, char const *left_quote, char const *right_quote) { if (!o) o = &default_quoting_options; o->style = custom_quoting_style; if (!left_quote || !right_quote) abort (); o->left_quote = left_quote; o->right_quote = right_quote; } /* Return quoting options for STYLE, with no extra quoting. */ static struct quoting_options /* NOT PURE!! */ quoting_options_from_style (enum quoting_style style) { struct quoting_options o = { 0, 0, { 0 }, NULL, NULL }; if (style == custom_quoting_style) abort (); o.style = style; return o; } /* MSGID approximates a quotation mark. Return its translation if it has one; otherwise, return either it or "\"", depending on S. S is either clocale_quoting_style or locale_quoting_style. */ static char const * gettext_quote (char const *msgid, enum quoting_style s) { char const *translation = _(msgid); char const *locale_code; if (translation != msgid) return translation; /* For UTF-8 and GB-18030, use single quotes U+2018 and U+2019. Here is a list of other locales that include U+2018 and U+2019: ISO-8859-7 0xA1 KOI8-T 0x91 CP869 0x8B CP874 0x91 CP932 0x81 0x65 CP936 0xA1 0xAE CP949 0xA1 0xAE CP950 0xA1 0xA5 CP1250 0x91 CP1251 0x91 CP1252 0x91 CP1253 0x91 CP1254 0x91 CP1255 0x91 CP1256 0x91 CP1257 0x91 EUC-JP 0xA1 0xC6 EUC-KR 0xA1 0xAE EUC-TW 0xA1 0xE4 BIG5 0xA1 0xA5 BIG5-HKSCS 0xA1 0xA5 EUC-CN 0xA1 0xAE GBK 0xA1 0xAE Georgian-PS 0x91 PT154 0x91 None of these is still in wide use; using iconv is overkill. */ locale_code = locale_charset (); if (STRCASEEQ (locale_code, "UTF-8", 'U','T','F','-','8',0,0,0,0)) return msgid[0] == '`' ? "\xe2\x80\x98": "\xe2\x80\x99"; if (STRCASEEQ (locale_code, "GB18030", 'G','B','1','8','0','3','0',0,0)) return msgid[0] == '`' ? "\xa1\ae": "\xa1\xaf"; return (s == clocale_quoting_style ? "\"" : "'"); } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using QUOTING_STYLE, FLAGS, and QUOTE_THESE_TOO to control quoting. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG, ARGSIZE, O), except it breaks O into its component pieces and is not careful about errno. */ static size_t quotearg_buffer_restyled (char *buffer, size_t buffersize, char const *arg, size_t argsize, enum quoting_style quoting_style, int flags, unsigned int const *quote_these_too, char const *left_quote, char const *right_quote) { size_t i; size_t len = 0; char const *quote_string = 0; size_t quote_string_len = 0; bool backslash_escapes = false; bool unibyte_locale = MB_CUR_MAX == 1; bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0; #define STORE(c) \ do \ { \ if (len < buffersize) \ buffer[len] = (c); \ len++; \ } \ while (0) switch (quoting_style) { case c_maybe_quoting_style: quoting_style = c_quoting_style; elide_outer_quotes = true; /* Fall through. */ case c_quoting_style: if (!elide_outer_quotes) STORE ('"'); backslash_escapes = true; quote_string = "\""; quote_string_len = 1; break; case escape_quoting_style: backslash_escapes = true; elide_outer_quotes = false; break; case locale_quoting_style: case clocale_quoting_style: case custom_quoting_style: { if (quoting_style != custom_quoting_style) { /* TRANSLATORS: Get translations for open and closing quotation marks. The message catalog should translate "`" to a left quotation mark suitable for the locale, and similarly for "'". For example, a French Unicode local should translate these to U+00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK), respectively. If the catalog has no translation, we will try to use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the current locale is not Unicode, locale_quoting_style will quote 'like this', and clocale_quoting_style will quote "like this". You should always include translations for "`" and "'" even if U+2018 and U+2019 are appropriate for your locale. If you don't know what to put here, please see <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages> and use glyphs suitable for your language. */ left_quote = gettext_quote (N_("`"), quoting_style); right_quote = gettext_quote (N_("'"), quoting_style); } if (!elide_outer_quotes) for (quote_string = left_quote; *quote_string; quote_string++) STORE (*quote_string); backslash_escapes = true; quote_string = right_quote; quote_string_len = strlen (quote_string); } break; case shell_quoting_style: quoting_style = shell_always_quoting_style; elide_outer_quotes = true; /* Fall through. */ case shell_always_quoting_style: if (!elide_outer_quotes) STORE ('\''); quote_string = "'"; quote_string_len = 1; break; case literal_quoting_style: elide_outer_quotes = false; break; default: abort (); } for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++) { unsigned char c; unsigned char esc; bool is_right_quote = false; if (backslash_escapes && quote_string_len && i + quote_string_len <= argsize && memcmp (arg + i, quote_string, quote_string_len) == 0) { if (elide_outer_quotes) goto force_outer_quoting_style; is_right_quote = true; } c = arg[i]; switch (c) { case '\0': if (backslash_escapes) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); /* If quote_string were to begin with digits, we'd need to test for the end of the arg as well. However, it's hard to imagine any locale that would use digits in quotes, and set_custom_quoting is documented not to accept them. */ if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9') { STORE ('0'); STORE ('0'); } c = '0'; /* We don't have to worry that this last '0' will be backslash-escaped because, again, quote_string should not start with it and because quote_these_too is documented as not accepting it. */ } else if (flags & QA_ELIDE_NULL_BYTES) continue; break; case '?': switch (quoting_style) { case shell_always_quoting_style: if (elide_outer_quotes) goto force_outer_quoting_style; break; case c_quoting_style: if ((flags & QA_SPLIT_TRIGRAPHS) && i + 2 < argsize && arg[i + 1] == '?') switch (arg[i + 2]) { case '!': case '\'': case '(': case ')': case '-': case '/': case '<': case '=': case '>': /* Escape the second '?' in what would otherwise be a trigraph. */ if (elide_outer_quotes) goto force_outer_quoting_style; c = arg[i + 2]; i += 2; STORE ('?'); STORE ('"'); STORE ('"'); STORE ('?'); break; default: break; } break; default: break; } break; case '\a': esc = 'a'; goto c_escape; case '\b': esc = 'b'; goto c_escape; case '\f': esc = 'f'; goto c_escape; case '\n': esc = 'n'; goto c_and_shell_escape; case '\r': esc = 'r'; goto c_and_shell_escape; case '\t': esc = 't'; goto c_and_shell_escape; case '\v': esc = 'v'; goto c_escape; case '\\': esc = c; /* No need to escape the escape if we are trying to elide outer quotes and nothing else is problematic. */ if (backslash_escapes && elide_outer_quotes && quote_string_len) goto store_c; c_and_shell_escape: if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; /* Fall through. */ c_escape: if (backslash_escapes) { c = esc; goto store_escape; } break; case '{': case '}': /* sometimes special if isolated */ if (! (argsize == SIZE_MAX ? arg[1] == '\0' : argsize == 1)) break; /* Fall through. */ case '#': case '~': if (i != 0) break; /* Fall through. */ case ' ': case '!': /* special in bash */ case '"': case '$': case '&': case '(': case ')': case '*': case ';': case '<': case '=': /* sometimes special in 0th or (with "set -k") later args */ case '>': case '[': case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */ case '`': case '|': /* A shell special character. In theory, '$' and '`' could be the first bytes of multibyte characters, which means we should check them with mbrtowc, but in practice this doesn't happen so it's not worth worrying about. */ if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; break; case '\'': if (quoting_style == shell_always_quoting_style) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\''); STORE ('\\'); STORE ('\''); } break; case '%': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case ']': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': /* These characters don't cause problems, no matter what the quoting style is. They cannot start multibyte sequences. A digit or a special letter would cause trouble if it appeared at the beginning of quote_string because we'd then escape by prepending a backslash. However, it's hard to imagine any locale that would use digits or letters as quotes, and set_custom_quoting is documented not to accept them. Also, a digit or a special letter would cause trouble if it appeared in quote_these_too, but that's also documented as not accepting them. */ break; default: /* If we have a multibyte sequence, copy it until we reach its end, find an error, or come back to the initial shift state. For C-like styles, if the sequence has unprintable characters, escape the whole sequence, since we can't easily escape single characters within it. */ { /* Length of multibyte sequence found so far. */ size_t m; bool printable; if (unibyte_locale) { m = 1; printable = isprint (c) != 0; } else { mbstate_t mbstate; memset (&mbstate, 0, sizeof mbstate); m = 0; printable = true; if (argsize == SIZE_MAX) argsize = strlen (arg); do { wchar_t w; size_t bytes = mbrtowc (&w, &arg[i + m], argsize - (i + m), &mbstate); if (bytes == 0) break; else if (bytes == (size_t) -1) { printable = false; break; } else if (bytes == (size_t) -2) { printable = false; while (i + m < argsize && arg[i + m]) m++; break; } else { /* Work around a bug with older shells that "see" a '\' that is really the 2nd byte of a multibyte character. In practice the problem is limited to ASCII chars >= '@' that are shell special chars. */ if ('[' == 0x5b && elide_outer_quotes && quoting_style == shell_always_quoting_style) { size_t j; for (j = 1; j < bytes; j++) switch (arg[i + m + j]) { case '[': case '\\': case '^': case '`': case '|': goto force_outer_quoting_style; default: break; } } if (! iswprint (w)) printable = false; m += bytes; } } while (! mbsinit (&mbstate)); } if (1 < m || (backslash_escapes && ! printable)) { /* Output a multibyte sequence, or an escaped unprintable unibyte character. */ size_t ilim = i + m; for (;;) { if (backslash_escapes && ! printable) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); STORE ('0' + (c >> 6)); STORE ('0' + ((c >> 3) & 7)); c = '0' + (c & 7); } else if (is_right_quote) { STORE ('\\'); is_right_quote = false; } if (ilim <= i + 1) break; STORE (c); c = arg[++i]; } goto store_c; } } } if (! ((backslash_escapes || elide_outer_quotes) && quote_these_too && quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))) && !is_right_quote) goto store_c; store_escape: if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); store_c: STORE (c); } if (len == 0 && quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; if (quote_string && !elide_outer_quotes) for (; *quote_string; quote_string++) STORE (*quote_string); if (len < buffersize) buffer[len] = '\0'; return len; force_outer_quoting_style: /* Don't reuse quote_these_too, since the addition of outer quotes sufficiently quotes the specified characters. */ return quotearg_buffer_restyled (buffer, buffersize, arg, argsize, quoting_style, flags & ~QA_ELIDE_OUTER_QUOTES, NULL, left_quote, right_quote); } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. */ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize, p->style, p->flags, p->quote_these_too, p->left_quote, p->right_quote); errno = e; return r; } /* Equivalent to quotearg_alloc (ARG, ARGSIZE, NULL, O). */ char * quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o) { return quotearg_alloc_mem (arg, argsize, NULL, o); } /* Like quotearg_buffer (..., ARG, ARGSIZE, O), except return newly allocated storage containing the quoted string, and store the resulting size into *SIZE, if non-NULL. The result can contain embedded null bytes only if ARGSIZE is not SIZE_MAX, SIZE is not NULL, and set_quoting_flags has not set the null byte elision flag. */ char * quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; /* Elide embedded null bytes if we can't return a size. */ int flags = p->flags | (size ? 0 : QA_ELIDE_NULL_BYTES); size_t bufsize = quotearg_buffer_restyled (0, 0, arg, argsize, p->style, flags, p->quote_these_too, p->left_quote, p->right_quote) + 1; char *buf = xcharalloc (bufsize); quotearg_buffer_restyled (buf, bufsize, arg, argsize, p->style, flags, p->quote_these_too, p->left_quote, p->right_quote); errno = e; if (size) *size = bufsize - 1; return buf; } /* A storage slot with size and pointer to a value. */ struct slotvec { size_t size; char *val; }; /* Preallocate a slot 0 buffer, so that the caller can always quote one small component of a "memory exhausted" message in slot 0. */ static char slot0[256]; static unsigned int nslots = 1; static struct slotvec slotvec0 = {sizeof slot0, slot0}; static struct slotvec *slotvec = &slotvec0; void quotearg_free (void) { struct slotvec *sv = slotvec; unsigned int i; for (i = 1; i < nslots; i++) free (sv[i].val); if (sv[0].val != slot0) { free (sv[0].val); slotvec0.size = sizeof slot0; slotvec0.val = slot0; } if (sv != &slotvec0) { free (sv); slotvec = &slotvec0; } nslots = 1; } /* Use storage slot N to return a quoted version of argument ARG. ARG is of size ARGSIZE, but if that is SIZE_MAX, ARG is a null-terminated string. OPTIONS specifies the quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. N is deliberately declared with type "int" to allow for future extensions (using negative values). */ static char * quotearg_n_options (int n, char const *arg, size_t argsize, struct quoting_options const *options) { int e = errno; unsigned int n0 = n; struct slotvec *sv = slotvec; if (n < 0) abort (); if (nslots <= n0) { /* FIXME: technically, the type of n1 should be 'unsigned int', but that evokes an unsuppressible warning from gcc-4.0.1 and older. If gcc ever provides an option to suppress that warning, revert to the original type, so that the test in xalloc_oversized is once again performed only at compile time. */ size_t n1 = n0 + 1; bool preallocated = (sv == &slotvec0); if (xalloc_oversized (n1, sizeof *sv)) xalloc_die (); slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv); if (preallocated) *sv = slotvec0; memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv); nslots = n1; } { size_t size = sv[n].size; char *val = sv[n].val; /* Elide embedded null bytes since we don't return a size. */ int flags = options->flags | QA_ELIDE_NULL_BYTES; size_t qsize = quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too, options->left_quote, options->right_quote); if (size <= qsize) { sv[n].size = size = qsize + 1; if (val != slot0) free (val); sv[n].val = val = xcharalloc (size); quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too, options->left_quote, options->right_quote); } errno = e; return val; } } char * quotearg_n (int n, char const *arg) { return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options); } char * quotearg_n_mem (int n, char const *arg, size_t argsize) { return quotearg_n_options (n, arg, argsize, &default_quoting_options); } char * quotearg (char const *arg) { return quotearg_n (0, arg); } char * quotearg_mem (char const *arg, size_t argsize) { return quotearg_n_mem (0, arg, argsize); } char * quotearg_n_style (int n, enum quoting_style s, char const *arg) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, SIZE_MAX, &o); } char * quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, argsize, &o); } char * quotearg_style (enum quoting_style s, char const *arg) { return quotearg_n_style (0, s, arg); } char * quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize) { return quotearg_n_style_mem (0, s, arg, argsize); } char * quotearg_char_mem (char const *arg, size_t argsize, char ch) { struct quoting_options options; options = default_quoting_options; set_char_quoting (&options, ch, 1); return quotearg_n_options (0, arg, argsize, &options); } char * quotearg_char (char const *arg, char ch) { return quotearg_char_mem (arg, SIZE_MAX, ch); } char * quotearg_colon (char const *arg) { return quotearg_char (arg, ':'); } char * quotearg_colon_mem (char const *arg, size_t argsize) { return quotearg_char_mem (arg, argsize, ':'); } char * quotearg_n_custom (int n, char const *left_quote, char const *right_quote, char const *arg) { return quotearg_n_custom_mem (n, left_quote, right_quote, arg, SIZE_MAX); } char * quotearg_n_custom_mem (int n, char const *left_quote, char const *right_quote, char const *arg, size_t argsize) { struct quoting_options o = default_quoting_options; set_custom_quoting (&o, left_quote, right_quote); return quotearg_n_options (n, arg, argsize, &o); } char * quotearg_custom (char const *left_quote, char const *right_quote, char const *arg) { return quotearg_n_custom (0, left_quote, right_quote, arg); } char * quotearg_custom_mem (char const *left_quote, char const *right_quote, char const *arg, size_t argsize) { return quotearg_n_custom_mem (0, left_quote, right_quote, arg, argsize); } /* The quoting option used by the functions of quote.h. */ struct quoting_options quote_quoting_options = { locale_quoting_style, 0, { 0 }, NULL, NULL }; char const * quote_n_mem (int n, char const *arg, size_t argsize) { return quotearg_n_options (n, arg, argsize, "e_quoting_options); } char const * quote_mem (char const *arg, size_t argsize) { return quote_n_mem (0, arg, argsize); } char const * quote_n (int n, char const *arg) { return quote_n_mem (n, arg, SIZE_MAX); } char const * quote (char const *arg) { return quote_n (0, arg); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memcoll.c������������������������������������������������������������������������0000664�0000000�0000000�00000006420�12071024546�012713� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Locale-specific memory comparison. Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Contributed by Paul Eggert <eggert@twinsun.com>. */ #include <config.h> #include "memcoll.h" #include <errno.h> #include <stdlib.h> #include <string.h> /* Compare S1 (with size S1SIZE) and S2 (with length S2SIZE) according to the LC_COLLATE locale. S1 and S2 are both blocks of memory with nonzero sizes, and the last byte in each block must be a null byte. Set errno to an error number if there is an error, and to zero otherwise. */ static int strcoll_loop (char const *s1, size_t s1size, char const *s2, size_t s2size) { int diff; while (! (errno = 0, (diff = strcoll (s1, s2)) || errno)) { /* strcoll found no difference, but perhaps it was fooled by NUL characters in the data. Work around this problem by advancing past the NUL chars. */ size_t size1 = strlen (s1) + 1; size_t size2 = strlen (s2) + 1; s1 += size1; s2 += size2; s1size -= size1; s2size -= size2; if (s1size == 0) return - (s2size != 0); if (s2size == 0) return 1; } return diff; } /* Compare S1 (with length S1LEN) and S2 (with length S2LEN) according to the LC_COLLATE locale. S1 and S2 do not overlap, and are not adjacent. Perhaps temporarily modify the bytes after S1 and S2, but restore their original contents before returning. Set errno to an error number if there is an error, and to zero otherwise. */ int memcoll (char *s1, size_t s1len, char *s2, size_t s2len) { int diff; /* strcoll is slow on many platforms, so check for the common case where the arguments are bytewise equal. Otherwise, walk through the buffers using strcoll on each substring. */ if (s1len == s2len && memcmp (s1, s2, s1len) == 0) { errno = 0; diff = 0; } else { char n1 = s1[s1len]; char n2 = s2[s2len]; s1[s1len] = '\0'; s2[s2len] = '\0'; diff = strcoll_loop (s1, s1len + 1, s2, s2len + 1); s1[s1len] = n1; s2[s2len] = n2; } return diff; } /* Compare S1 (a memory block of size S1SIZE, with a NUL as last byte) and S2 (a memory block of size S2SIZE, with a NUL as last byte) according to the LC_COLLATE locale. S1SIZE and S2SIZE must be > 0. Set errno to an error number if there is an error, and to zero otherwise. */ int memcoll0 (char const *s1, size_t s1size, char const *s2, size_t s2size) { if (s1size == s2size && memcmp (s1, s2, s1size) == 0) { errno = 0; return 0; } else return strcoll_loop (s1, s1size, s2, s2size); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/se-selinux.c���������������������������������������������������������������������0000664�0000000�0000000�00000000135�12071024546�013354� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define SE_SELINUX_INLINE _GL_EXTERN_INLINE #include <selinux/selinux.h> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strndup.c������������������������������������������������������������������������0000664�0000000�0000000�00000002024�12071561014�012752� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A replacement function, for systems that lack strndup. Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <string.h> #include <stdlib.h> char * strndup (char const *s, size_t n) { size_t len = strnlen (s, n); char *new = malloc (len + 1); if (new == NULL) return NULL; new[len] = '\0'; return memcpy (new, s, len); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getusershell.c�������������������������������������������������������������������0000664�0000000�0000000�00000010261�12071024546�013767� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getusershell.c -- Return names of valid user shells. Copyright (C) 1991, 1997, 2000-2001, 2003-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@gnu.ai.mit.edu> */ #include <config.h> /* Specification. */ #include <unistd.h> #ifndef SHELLS_FILE # ifndef __DJGPP__ /* File containing a list of nonrestricted shells, one per line. */ # define SHELLS_FILE "/etc/shells" # else /* This is a horrible kludge. Isn't there a better way? */ # define SHELLS_FILE "/dev/env/DJDIR/etc/shells" # endif #endif #include <stdlib.h> #include <ctype.h> #include "stdio--.h" #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif static size_t readname (char **, size_t *, FILE *); #if ! defined ADDITIONAL_DEFAULT_SHELLS && defined __MSDOS__ # define ADDITIONAL_DEFAULT_SHELLS \ "c:/dos/command.com", "c:/windows/command.com", "c:/command.com", #else # define ADDITIONAL_DEFAULT_SHELLS /* empty */ #endif /* List of shells to use if the shells file is missing. */ static char const* const default_shells[] = { ADDITIONAL_DEFAULT_SHELLS "/bin/sh", "/bin/csh", "/usr/bin/sh", "/usr/bin/csh", NULL }; /* Index of the next shell in 'default_shells' to return. 0 means we are not using 'default_shells'. */ static size_t default_index = 0; /* Input stream from the shells file. */ static FILE *shellstream = NULL; /* Line of input from the shells file. */ static char *line = NULL; /* Number of bytes allocated for 'line'. */ static size_t line_size = 0; /* Return an entry from the shells file, ignoring comment lines. If the file doesn't exist, use the list in DEFAULT_SHELLS (above). In any case, the returned string is in memory allocated through malloc. Return NULL if there are no more entries. */ char * getusershell (void) { if (default_index > 0) { if (default_shells[default_index]) /* Not at the end of the list yet. */ return xstrdup (default_shells[default_index++]); return NULL; } if (shellstream == NULL) { shellstream = fopen (SHELLS_FILE, "r"); if (shellstream == NULL) { /* No shells file. Use the default list. */ default_index = 1; return xstrdup (default_shells[0]); } } while (readname (&line, &line_size, shellstream)) { if (*line != '#') return line; } return NULL; /* End of file. */ } /* Rewind the shells file. */ void setusershell (void) { default_index = 0; if (shellstream) rewind (shellstream); } /* Close the shells file. */ void endusershell (void) { if (shellstream) { fclose (shellstream); shellstream = NULL; } } /* Read a line from STREAM, removing any newline at the end. Place the result in *NAME, which is malloc'd and/or realloc'd as necessary and can start out NULL, and whose size is passed and returned in *SIZE. Return the number of bytes placed in *NAME if some nonempty sequence was found, otherwise 0. */ static size_t readname (char **name, size_t *size, FILE *stream) { int c; size_t name_index = 0; /* Skip blank space. */ while ((c = getc (stream)) != EOF && isspace (c)) /* Do nothing. */ ; for (;;) { if (*size <= name_index) *name = x2nrealloc (*name, size, sizeof **name); if (c == EOF || isspace (c)) break; (*name)[name_index++] = c; c = getc (stream); } (*name)[name_index] = '\0'; return name_index; } #ifdef TEST int main (void) { char *s; while (s = getusershell ()) puts (s); exit (0); } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/utimecmp.c�����������������������������������������������������������������������0000664�0000000�0000000�00000031456�12071024546�013115� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* utimecmp.c -- compare file time stamps Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "utimecmp.h" #include <limits.h> #include <stdbool.h> #include <stdint.h> #include <stdlib.h> #include <time.h> #include <unistd.h> #include "hash.h" #include "intprops.h" #include "stat-time.h" #include "utimens.h" #include "verify.h" #ifndef MAX # define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif #define BILLION (1000 * 1000 * 1000) /* Best possible resolution that utimens can set and stat can return, due to system-call limitations. It must be a power of 10 that is no greater than 1 billion. */ #if HAVE_UTIMENSAT enum { SYSCALL_RESOLUTION = 1 }; #elif ((HAVE_FUTIMESAT || HAVE_WORKING_UTIMES) \ && (defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_ATIMENSEC \ || defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_SPARE1)) enum { SYSCALL_RESOLUTION = 1000 }; #else enum { SYSCALL_RESOLUTION = BILLION }; #endif /* Describe a file system and its time stamp resolution in nanoseconds. */ struct fs_res { /* Device number of file system. */ dev_t dev; /* An upper bound on the time stamp resolution of this file system, ignoring any resolution that cannot be set via utimens. It is represented by an integer count of nanoseconds. It must be either 2 billion, or a power of 10 that is no greater than a billion and is no less than SYSCALL_RESOLUTION. */ int resolution; /* True if RESOLUTION is known to be exact, and is not merely an upper bound on the true resolution. */ bool exact; }; /* Hash some device info. */ static size_t dev_info_hash (void const *x, size_t table_size) { struct fs_res const *p = x; /* Beware signed arithmetic gotchas. */ if (TYPE_SIGNED (dev_t) && SIZE_MAX < MAX (INT_MAX, TYPE_MAXIMUM (dev_t))) { uintmax_t dev = p->dev; return dev % table_size; } return p->dev % table_size; } /* Compare two dev_info structs. */ static bool dev_info_compare (void const *x, void const *y) { struct fs_res const *a = x; struct fs_res const *b = y; return a->dev == b->dev; } /* Return -1, 0, 1 based on whether the destination file (with name DST_NAME and status DST_STAT) is older than SRC_STAT, the same age as SRC_STAT, or newer than SRC_STAT, respectively. DST_NAME may be NULL if OPTIONS is 0. If OPTIONS & UTIMECMP_TRUNCATE_SOURCE, do the comparison after SRC is converted to the destination's timestamp resolution as filtered through utimens. In this case, return -2 if the exact answer cannot be determined; this can happen only if the time stamps are very close and there is some trouble accessing the file system (e.g., the user does not have permission to futz with the destination's time stamps). */ int utimecmp (char const *dst_name, struct stat const *dst_stat, struct stat const *src_stat, int options) { /* Things to watch out for: The code uses a static hash table internally and is not safe in the presence of signals, multiple threads, etc. However, memory pressure that prevents use of the hash table is not fatal - we just fall back to redoing the computations on every call in that case. int and long int might be 32 bits. Many of the calculations store numbers up to 2 billion, and multiply by 10; they have to avoid multiplying 2 billion by 10, as this exceeds 32-bit capabilities. time_t might be unsigned. */ verify (TYPE_IS_INTEGER (time_t)); verify (TYPE_TWOS_COMPLEMENT (int)); /* Destination and source time stamps. */ time_t dst_s = dst_stat->st_mtime; time_t src_s = src_stat->st_mtime; int dst_ns = get_stat_mtime_ns (dst_stat); int src_ns = get_stat_mtime_ns (src_stat); if (options & UTIMECMP_TRUNCATE_SOURCE) { /* Look up the time stamp resolution for the destination device. */ /* Hash table for caching information learned about devices. */ static Hash_table *ht; /* Information about the destination file system. */ static struct fs_res *new_dst_res; struct fs_res *dst_res = NULL; struct fs_res tmp_dst_res; /* Time stamp resolution in nanoseconds. */ int res; /* Quick exit, if possible. Since the worst resolution is 2 seconds, anything that differs by more than that does not needs source truncation. */ if (dst_s == src_s && dst_ns == src_ns) return 0; if (dst_s <= src_s - 2) return -1; if (src_s <= dst_s - 2) return 1; /* Try to do a hash lookup, but fall back to stack variables and recomputation on low memory situations. */ if (! ht) ht = hash_initialize (16, NULL, dev_info_hash, dev_info_compare, free); if (ht) { if (! new_dst_res) { new_dst_res = malloc (sizeof *new_dst_res); if (!new_dst_res) goto low_memory; new_dst_res->resolution = 2 * BILLION; new_dst_res->exact = false; } new_dst_res->dev = dst_stat->st_dev; dst_res = hash_insert (ht, new_dst_res); if (! dst_res) goto low_memory; if (dst_res == new_dst_res) { /* NEW_DST_RES is now in use in the hash table, so allocate a new entry next time. */ new_dst_res = NULL; } } else { low_memory: if (ht) { tmp_dst_res.dev = dst_stat->st_dev; dst_res = hash_lookup (ht, &tmp_dst_res); } if (!dst_res) { dst_res = &tmp_dst_res; dst_res->resolution = 2 * BILLION; dst_res->exact = false; } } res = dst_res->resolution; #ifdef _PC_TIMESTAMP_RESOLUTION /* If the system will tell us the resolution, we're set! */ if (! dst_res->exact) { res = pathconf (dst_name, _PC_TIMESTAMP_RESOLUTION); if (0 < res) { dst_res->resolution = res; dst_res->exact = true; } } #endif if (! dst_res->exact) { /* This file system's resolution is not known exactly. Deduce it, and store the result in the hash table. */ time_t dst_a_s = dst_stat->st_atime; time_t dst_c_s = dst_stat->st_ctime; time_t dst_m_s = dst_s; int dst_a_ns = get_stat_atime_ns (dst_stat); int dst_c_ns = get_stat_ctime_ns (dst_stat); int dst_m_ns = dst_ns; /* Set RES to an upper bound on the file system resolution (after truncation due to SYSCALL_RESOLUTION) by inspecting the atime, ctime and mtime of the existing destination. We don't know of any file system that stores atime or ctime with a higher precision than mtime, so it's valid to look at them too. */ { bool odd_second = (dst_a_s | dst_c_s | dst_m_s) & 1; if (SYSCALL_RESOLUTION == BILLION) { if (odd_second | dst_a_ns | dst_c_ns | dst_m_ns) res = BILLION; } else { int a = dst_a_ns; int c = dst_c_ns; int m = dst_m_ns; /* Write it this way to avoid mistaken GCC warning about integer overflow in constant expression. */ int SR10 = SYSCALL_RESOLUTION; SR10 *= 10; if ((a % SR10 | c % SR10 | m % SR10) != 0) res = SYSCALL_RESOLUTION; else for (res = SR10, a /= SR10, c /= SR10, m /= SR10; (res < dst_res->resolution && (a % 10 | c % 10 | m % 10) == 0); res *= 10, a /= 10, c /= 10, m /= 10) if (res == BILLION) { if (! odd_second) res *= 2; break; } } dst_res->resolution = res; } if (SYSCALL_RESOLUTION < res) { struct timespec timespec[2]; struct stat dst_status; /* Ignore source time stamp information that must necessarily be lost when filtered through utimens. */ src_ns -= src_ns % SYSCALL_RESOLUTION; /* If the time stamps disagree widely enough, there's no need to interrogate the file system to deduce the exact time stamp resolution; return the answer directly. */ { time_t s = src_s & ~ (res == 2 * BILLION); if (src_s < dst_s || (src_s == dst_s && src_ns <= dst_ns)) return 1; if (dst_s < s || (dst_s == s && dst_ns < src_ns - src_ns % res)) return -1; } /* Determine the actual time stamp resolution for the destination file system (after truncation due to SYSCALL_RESOLUTION) by setting the access time stamp of the destination to the existing access time, except with trailing nonzero digits. */ timespec[0].tv_sec = dst_a_s; timespec[0].tv_nsec = dst_a_ns; timespec[1].tv_sec = dst_m_s | (res == 2 * BILLION); timespec[1].tv_nsec = dst_m_ns + res / 9; /* Set the modification time. But don't try to set the modification time of symbolic links; on many hosts this sets the time of the pointed-to file. */ if ((S_ISLNK (dst_stat->st_mode) ? lutimens (dst_name, timespec) : utimens (dst_name, timespec)) != 0) return -2; /* Read the modification time that was set. */ { int stat_result = (S_ISLNK (dst_stat->st_mode) ? lstat (dst_name, &dst_status) : stat (dst_name, &dst_status)); if (stat_result | (dst_status.st_mtime ^ dst_m_s) | (get_stat_mtime_ns (&dst_status) ^ dst_m_ns)) { /* The modification time changed, or we can't tell whether it changed. Change it back as best we can. */ timespec[1].tv_sec = dst_m_s; timespec[1].tv_nsec = dst_m_ns; if (S_ISLNK (dst_stat->st_mode)) lutimens (dst_name, timespec); else utimens (dst_name, timespec); } if (stat_result != 0) return -2; } /* Determine the exact resolution from the modification time that was read back. */ { int old_res = res; int a = (BILLION * (dst_status.st_mtime & 1) + get_stat_mtime_ns (&dst_status)); res = SYSCALL_RESOLUTION; for (a /= res; a % 10 == 0; a /= 10) { if (res == BILLION) { res *= 2; break; } res *= 10; if (res == old_res) break; } } } dst_res->resolution = res; dst_res->exact = true; } /* Truncate the source's time stamp according to the resolution. */ src_s &= ~ (res == 2 * BILLION); src_ns -= src_ns % res; } /* Compare the time stamps and return -1, 0, 1 accordingly. */ return (dst_s < src_s ? -1 : dst_s > src_s ? 1 : dst_ns < src_ns ? -1 : dst_ns > src_ns); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/error.h��������������������������������������������������������������������������0000664�0000000�0000000�00000004746�12071024546�012432� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declaration for error-reporting function Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _ERROR_H #define _ERROR_H 1 /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif #ifdef __cplusplus extern "C" { #endif /* Print a message with 'fprintf (stderr, FORMAT, ...)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with 'exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4)); extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6)); /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ extern void (*error_print_progname) (void); /* This variable is incremented each time 'error' is called. */ extern unsigned int error_message_count; /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ extern int error_one_per_line; #ifdef __cplusplus } #endif #endif /* error.h */ ��������������������������coreutils-8.21/lib/heap.h���������������������������������������������������������������������������0000664�0000000�0000000�00000002137�12102337340�012200� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Barebones heap implementation supporting only insert and pop. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Full implementation: GDSL (http://gna.org/projects/gdsl/) by Nicolas Darnis <ndarnis@free.fr>. Adapted by Gene Auyeung. */ #include <stddef.h> struct heap *heap_alloc (int (*) (void const *, void const *), size_t); void heap_free (struct heap *); int heap_insert (struct heap *heap, void *item); void *heap_remove_top (struct heap *heap); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fd-safer-flag.c������������������������������������������������������������������0000664�0000000�0000000�00000003351�12071024546�013661� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Adjust a file descriptor result so that it avoids clobbering STD{IN,OUT,ERR}_FILENO, with specific flags. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Eric Blake. */ #include <config.h> /* Specification. */ #include "unistd-safer.h" #include <errno.h> #include <unistd.h> /* Return FD, unless FD would be a copy of standard input, output, or error; in that case, return a duplicate of FD, closing FD. If FLAG contains O_CLOEXEC, the returned FD will have close-on-exec semantics. On failure to duplicate, close FD, set errno, and return -1. Preserve errno if FD is negative, so that the caller can always inspect errno when the returned value is negative. This function is usefully wrapped around functions that return file descriptors, e.g., fd_safer_flag (open ("file", O_RDONLY | flag), flag). */ int fd_safer_flag (int fd, int flag) { if (STDIN_FILENO <= fd && fd <= STDERR_FILENO) { int f = dup_safer_flag (fd, flag); int e = errno; close (fd); errno = e; fd = f; } return fd; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readutmp.c�����������������������������������������������������������������������0000664�0000000�0000000�00000010067�12071024546�013106� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* GNU's read utmp module. Copyright (C) 1992-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by jla; revised by djm */ #include <config.h> #include "readutmp.h" #include <errno.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <signal.h> #include <stdbool.h> #include <string.h> #include <stdlib.h> #include <stdint.h> #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Copy UT->ut_name into storage obtained from malloc. Then remove any trailing spaces from the copy, NUL terminate it, and return the copy. */ char * extract_trimmed_name (const STRUCT_UTMP *ut) { char *p, *trimmed_name; trimmed_name = xmalloc (sizeof (UT_USER (ut)) + 1); strncpy (trimmed_name, UT_USER (ut), sizeof (UT_USER (ut))); /* Append a trailing NUL. Some systems pad names shorter than the maximum with spaces, others pad with NULs. Remove any trailing spaces. */ trimmed_name[sizeof (UT_USER (ut))] = '\0'; for (p = trimmed_name + strlen (trimmed_name); trimmed_name < p && p[-1] == ' '; *--p = '\0') continue; return trimmed_name; } /* Is the utmp entry U desired by the user who asked for OPTIONS? */ static bool desirable_utmp_entry (STRUCT_UTMP const *u, int options) { bool user_proc = IS_USER_PROCESS (u); if ((options & READ_UTMP_USER_PROCESS) && !user_proc) return false; if ((options & READ_UTMP_CHECK_PIDS) && user_proc && 0 < UT_PID (u) && (kill (UT_PID (u), 0) < 0 && errno == ESRCH)) return false; return true; } /* Read the utmp entries corresponding to file FILE into freshly- malloc'd storage, set *UTMP_BUF to that pointer, set *N_ENTRIES to the number of entries, and return zero. If there is any error, return -1, setting errno, and don't modify the parameters. If OPTIONS & READ_UTMP_CHECK_PIDS is nonzero, omit entries whose process-IDs do not currently exist. */ #ifdef UTMP_NAME_FUNCTION int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { size_t n_read = 0; size_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; STRUCT_UTMP *u; /* Ignore the return value for now. Solaris' utmpname returns 1 upon success -- which is contrary to what the GNU libc version does. In addition, older GNU libc versions are actually void. */ UTMP_NAME_FUNCTION (file); SET_UTMP_ENT (); while ((u = GET_UTMP_ENT ()) != NULL) if (desirable_utmp_entry (u, options)) { if (n_read == n_alloc) utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); utmp[n_read++] = *u; } END_UTMP_ENT (); *n_entries = n_read; *utmp_buf = utmp; return 0; } #else int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { size_t n_read = 0; size_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; int saved_errno; FILE *f = fopen (file, "r"); if (! f) return -1; for (;;) { if (n_read == n_alloc) utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); if (fread (&utmp[n_read], sizeof utmp[n_read], 1, f) == 0) break; n_read += desirable_utmp_entry (&utmp[n_read], options); } saved_errno = ferror (f) ? errno : 0; if (fclose (f) != 0) saved_errno = errno; if (saved_errno != 0) { free (utmp); errno = saved_errno; return -1; } *n_entries = n_read; *utmp_buf = utmp; return 0; } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memchr2.c������������������������������������������������������������������������0000664�0000000�0000000�00000014412�12071024546�012620� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented in glibc by Roland McGrath (roland@ai.mit.edu). Extension to memchr2 implemented by Eric Blake (ebb9@byu.net). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "memchr2.h" #include <limits.h> #include <stdint.h> #include <string.h> /* Return the first address of either C1 or C2 (treated as unsigned char) that occurs within N bytes of the memory region S. If neither byte appears, return NULL. */ void * memchr2 (void const *s, int c1_in, int c2_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c1; longword repeated_c2; unsigned char c1; unsigned char c2; c1 = (unsigned char) c1_in; c2 = (unsigned char) c2_in; if (c1 == c2) return memchr (s, c1, n); /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n, ++char_ptr) if (*char_ptr == c1 || *char_ptr == c2) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c1 has c1 in every byte. repeated_c2 has c2 in every byte. */ repeated_one = 0x01010101; repeated_c1 = c1 | (c1 << 8); repeated_c2 = c2 | (c2 << 8); repeated_c1 |= repeated_c1 << 16; repeated_c2 |= repeated_c2 << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c1 |= repeated_c1 << 31 << 1; repeated_c2 |= repeated_c2 << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c1 |= repeated_c1 << i; repeated_c2 |= repeated_c2 << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c1 or c2. We first use an xor with repeated_c1 and repeated_c2, respectively. This reduces the task to testing whether *any of the four* bytes in longword1 or longword2 is zero. Let's consider longword1. We compute tmp1 = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp1 is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. Similarly, we compute tmp2 = ((longword2 - repeated_one) & ~longword2) & (repeated_one << 7). The test whether any byte in longword1 or longword2 is zero is equivalent to testing whether tmp1 is nonzero or tmp2 is nonzero. We can combine this into a single test, whether (tmp1 | tmp2) is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *longword_ptr ^ repeated_c1; longword longword2 = *longword_ptr ^ repeated_c2; if (((((longword1 - repeated_one) & ~longword1) | ((longword2 - repeated_one) & ~longword2)) & (repeated_one << 7)) != 0) break; longword_ptr++; n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c1 or == c2. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the (tmp1 | tmp2) result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ for (; n > 0; --n, ++char_ptr) { if (*char_ptr == c1 || *char_ptr == c2) return (void *) char_ptr; } return NULL; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/w32sock.h������������������������������������������������������������������������0000664�0000000�0000000�00000006341�12071024546�012565� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* w32sock.h --- internal auxiliary functions for Windows socket functions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paolo Bonzini */ #include <errno.h> /* Get O_RDWR and O_BINARY. */ #include <fcntl.h> /* Get _open_osfhandle(). */ #include <io.h> /* Get _get_osfhandle(). */ #include "msvc-nothrow.h" #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) #define SOCKET_TO_FD(fh) (_open_osfhandle ((intptr_t) (fh), O_RDWR | O_BINARY)) static inline void set_winsock_errno (void) { int err = WSAGetLastError (); /* Map some WSAE* errors to the runtime library's error codes. */ switch (err) { case WSA_INVALID_HANDLE: errno = EBADF; break; case WSA_NOT_ENOUGH_MEMORY: errno = ENOMEM; break; case WSA_INVALID_PARAMETER: errno = EINVAL; break; case WSAENAMETOOLONG: errno = ENAMETOOLONG; break; case WSAENOTEMPTY: errno = ENOTEMPTY; break; case WSAEWOULDBLOCK: errno = EWOULDBLOCK; break; case WSAEINPROGRESS: errno = EINPROGRESS; break; case WSAEALREADY: errno = EALREADY; break; case WSAENOTSOCK: errno = ENOTSOCK; break; case WSAEDESTADDRREQ: errno = EDESTADDRREQ; break; case WSAEMSGSIZE: errno = EMSGSIZE; break; case WSAEPROTOTYPE: errno = EPROTOTYPE; break; case WSAENOPROTOOPT: errno = ENOPROTOOPT; break; case WSAEPROTONOSUPPORT: errno = EPROTONOSUPPORT; break; case WSAEOPNOTSUPP: errno = EOPNOTSUPP; break; case WSAEAFNOSUPPORT: errno = EAFNOSUPPORT; break; case WSAEADDRINUSE: errno = EADDRINUSE; break; case WSAEADDRNOTAVAIL: errno = EADDRNOTAVAIL; break; case WSAENETDOWN: errno = ENETDOWN; break; case WSAENETUNREACH: errno = ENETUNREACH; break; case WSAENETRESET: errno = ENETRESET; break; case WSAECONNABORTED: errno = ECONNABORTED; break; case WSAECONNRESET: errno = ECONNRESET; break; case WSAENOBUFS: errno = ENOBUFS; break; case WSAEISCONN: errno = EISCONN; break; case WSAENOTCONN: errno = ENOTCONN; break; case WSAETIMEDOUT: errno = ETIMEDOUT; break; case WSAECONNREFUSED: errno = ECONNREFUSED; break; case WSAELOOP: errno = ELOOP; break; case WSAEHOSTUNREACH: errno = EHOSTUNREACH; break; default: errno = (err > 10000 && err < 10025) ? err - 10000 : err; break; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rmdir.c��������������������������������������������������������������������������0000664�0000000�0000000�00000003034�12071024546�012376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around rmdir bugs. Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <unistd.h> #include <errno.h> #include <string.h> #include "dosname.h" #undef rmdir /* Remove directory DIR. Return 0 if successful, -1 if not. */ int rpl_rmdir (char const *dir) { /* Work around cygwin 1.5.x bug where rmdir("dir/./") succeeds. */ size_t len = strlen (dir); int result; while (len && ISSLASH (dir[len - 1])) len--; if (len && dir[len - 1] == '.' && (1 == len || ISSLASH (dir[len - 2]))) { errno = EINVAL; return -1; } result = rmdir (dir); /* Work around mingw bug, where rmdir("file/") fails with EINVAL instead of ENOTDIR. We've already filtered out trailing ., the only reason allowed by POSIX for EINVAL. */ if (result == -1 && errno == EINVAL) errno = ENOTDIR; return result; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/write-any-file.h�����������������������������������������������������������������0000664�0000000�0000000�00000000065�11624727635�014137� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdbool.h> bool can_write_any_file (void); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filenamecat.c��������������������������������������������������������������������0000664�0000000�0000000�00000002422�12071024546�013531� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Concatenate two arbitrary file names. Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> /* Specification. */ #include "filenamecat.h" #include <stdlib.h> #include <string.h> #include "xalloc.h" /* Just like mfile_name_concat (filenamecat-lgpl.c), except, rather than returning NULL upon malloc failure, here, we report the "memory exhausted" condition and exit. */ char * file_name_concat (char const *dir, char const *abase, char **base_in_result) { char *p = mfile_name_concat (dir, abase, base_in_result); if (p == NULL) xalloc_die (); return p; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkancesdirs.c��������������������������������������������������������������������0000664�0000000�0000000�00000012453�12071024546�013571� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Make a file's ancestor directories. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "mkancesdirs.h" #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> #include "dirname.h" #include "savewd.h" /* Ensure that the ancestor directories of FILE exist, using an algorithm that should work even if two processes execute this function in parallel. Modify FILE as necessary to access the ancestor directories, but restore FILE to an equivalent value if successful. WD points to the working directory, using the conventions of savewd. Create any ancestor directories that don't already exist, by invoking MAKE_DIR (FILE, COMPONENT, MAKE_DIR_ARG). This function should return 0 if successful and the resulting directory is readable, 1 if successful but the resulting directory might not be readable, -1 (setting errno) otherwise. If COMPONENT is relative, it is relative to the temporary working directory, which may differ from *WD. Ordinarily MAKE_DIR is executed with the working directory changed to reflect the already-made prefix, and mkancesdirs returns with the working directory changed a prefix of FILE. However, if the initial working directory cannot be saved in a file descriptor, MAKE_DIR is invoked in a subprocess and this function returns in both the parent and child process, so the caller should not assume any changed state survives other than the EXITMAX component of WD, and the caller should take care that the parent does not attempt to do the work that the child is doing. If successful and if this process can go ahead and create FILE, return the length of the prefix of FILE that has already been made. If successful so far but a child process is doing the actual work, return -2. If unsuccessful, return -1 and set errno. */ ptrdiff_t mkancesdirs (char *file, struct savewd *wd, int (*make_dir) (char const *, char const *, void *), void *make_dir_arg) { /* Address of the previous directory separator that follows an ordinary byte in a file name in the left-to-right scan, or NULL if no such separator precedes the current location P. */ char *sep = NULL; /* Address of the leftmost file name component that has not yet been processed. */ char *component = file; char *p = file + FILE_SYSTEM_PREFIX_LEN (file); char c; bool made_dir = false; /* Scan forward through FILE, creating and chdiring into directories along the way. Try MAKE_DIR before chdir, so that the procedure works even when two or more processes are executing it in parallel. Isolate each file name component by having COMPONENT point to its start and SEP point just after its end. */ while ((c = *p++)) if (ISSLASH (*p)) { if (! ISSLASH (c)) sep = p; } else if (ISSLASH (c) && *p && sep) { /* Don't bother to make or test for "." since it does not affect the algorithm. */ if (! (sep - component == 1 && component[0] == '.')) { int make_dir_errno = 0; int savewd_chdir_options = 0; int chdir_result; /* Temporarily modify FILE to isolate this file name component. */ *sep = '\0'; /* Invoke MAKE_DIR on this component, except don't bother with ".." since it must exist if its "parent" does. */ if (sep - component == 2 && component[0] == '.' && component[1] == '.') made_dir = false; else switch (make_dir (file, component, make_dir_arg)) { case -1: make_dir_errno = errno; break; case 0: savewd_chdir_options |= SAVEWD_CHDIR_READABLE; /* Fall through. */ case 1: made_dir = true; break; } if (made_dir) savewd_chdir_options |= SAVEWD_CHDIR_NOFOLLOW; chdir_result = savewd_chdir (wd, component, savewd_chdir_options, NULL); /* Undo the temporary modification to FILE, unless there was a failure. */ if (chdir_result != -1) *sep = '/'; if (chdir_result != 0) { if (make_dir_errno != 0 && errno == ENOENT) errno = make_dir_errno; return chdir_result; } } component = p; } return component - file; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/closeout.c�����������������������������������������������������������������������0000664�0000000�0000000�00000010661�12071024546�013122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Close standard output and standard error, exiting with a diagnostic on error. Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "closeout.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> #include <unistd.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "close-stream.h" #include "error.h" #include "exitfail.h" #include "quotearg.h" static const char *file_name; /* Set the file name to be reported in the event an error is detected by close_stdout. */ void close_stdout_set_file_name (const char *file) { file_name = file; } static bool ignore_EPIPE /* = false */; /* Specify the reaction to an EPIPE error during the closing of stdout: - If ignore = true, it shall be ignored. - If ignore = false, it shall evoke a diagnostic, along with a nonzero exit status. The default is ignore = false. This setting matters only if the SIGPIPE signal is ignored (i.e. its handler set to SIG_IGN) or blocked. Only particular programs need to temporarily ignore SIGPIPE. If SIGPIPE is ignored or blocked because it was ignored or blocked in the parent process when it created the child process, it usually is a bug in the parent process: It is bad practice to have SIGPIPE ignored or blocked while creating a child process. EPIPE occurs when writing to a pipe or socket that has no readers now, when SIGPIPE is ignored or blocked. The ignore = false setting is suitable for a scenario where it is normally guaranteed that the pipe writer terminates before the pipe reader. In this case, an EPIPE is an indication of a premature termination of the pipe reader and should lead to a diagnostic and a nonzero exit status. The ignore = true setting is suitable for a scenario where you don't know ahead of time whether the pipe writer or the pipe reader will terminate first. In this case, an EPIPE is an indication that the pipe writer can stop doing useless write() calls; this is what close_stdout does anyway. EPIPE is part of the normal pipe/socket shutdown protocol in this case, and should not lead to a diagnostic message. */ void close_stdout_set_ignore_EPIPE (bool ignore) { ignore_EPIPE = ignore; } /* Close standard output. On error, issue a diagnostic and _exit with status 'exit_failure'. Also close standard error. On error, _exit with status 'exit_failure'. Since close_stdout is commonly registered via 'atexit', POSIX and the C standard both say that it should not call 'exit', because the behavior is undefined if 'exit' is called more than once. So it calls '_exit' instead of 'exit'. If close_stdout is registered via atexit before other functions are registered, the other functions can act before this _exit is invoked. Applications that use close_stdout should flush any streams other than stdout and stderr before exiting, since the call to _exit will bypass other buffer flushing. Applications should be flushing and closing other streams anyway, to check for I/O errors. Also, applications should not use tmpfile, since _exit can bypass the removal of these files. It's important to detect such failures and exit nonzero because many tools (most notably 'make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void close_stdout (void) { if (close_stream (stdout) != 0 && !(ignore_EPIPE && errno == EPIPE)) { char const *write_error = _("write error"); if (file_name) error (0, errno, "%s: %s", quotearg_colon (file_name), write_error); else error (0, errno, "%s", write_error); _exit (exit_failure); } if (close_stream (stderr) != 0) _exit (exit_failure); } �������������������������������������������������������������������������������coreutils-8.21/lib/stdlib.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000077361�12100637437�013174� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <stdlib.h>. Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_system_stdlib_h || defined __need_malloc_and_calloc /* Special invocation conventions inside some gnulib header files, and inside some glibc header files, respectively. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_STDLIB_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #ifndef _@GUARD_PREFIX@_STDLIB_H #define _@GUARD_PREFIX@_STDLIB_H /* NetBSD 5.0 mis-defines NULL. */ #include <stddef.h> /* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */ #if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS # include <sys/wait.h> #endif /* Solaris declares getloadavg() in <sys/loadavg.h>. */ #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@ # include <sys/loadavg.h> #endif /* Native Windows platforms declare mktemp() in <io.h>. */ #if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # include <io.h> #endif #if @GNULIB_RANDOM_R@ /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included from <stdlib.h> if _REENTRANT is defined. Include it whenever we need 'struct random_data'. */ # if @HAVE_RANDOM_H@ # include <random.h> # endif # if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@ # include <stdint.h> # endif # if !@HAVE_STRUCT_RANDOM_DATA@ /* Define 'struct random_data'. But allow multiple gnulib generated <stdlib.h> replacements to coexist. */ # if !GNULIB_defined_struct_random_data struct random_data { int32_t *fptr; /* Front pointer. */ int32_t *rptr; /* Rear pointer. */ int32_t *state; /* Array of state values. */ int rand_type; /* Type of random number generator. */ int rand_deg; /* Degree of random number generator. */ int rand_sep; /* Distance between front and rear. */ int32_t *end_ptr; /* Pointer behind state table. */ }; # define GNULIB_defined_struct_random_data 1 # endif # endif #endif #if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) /* On Mac OS X 10.3, only <unistd.h> declares mkstemp. */ /* On Mac OS X 10.5, only <unistd.h> declares mkstemps. */ /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */ /* But avoid namespace pollution on glibc systems and native Windows. */ # include <unistd.h> #endif /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* The definition of _Noreturn is copied here. */ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Some systems do not define EXIT_*, despite otherwise supporting C89. */ #ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 #endif /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere with proper operation of xargs. */ #ifndef EXIT_FAILURE # define EXIT_FAILURE 1 #elif EXIT_FAILURE != 1 # undef EXIT_FAILURE # define EXIT_FAILURE 1 #endif #if @GNULIB__EXIT@ /* Terminate the current process with the given return code, without running the 'atexit' handlers. */ # if !@HAVE__EXIT@ _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status)); # endif _GL_CXXALIAS_SYS (_Exit, void, (int status)); _GL_CXXALIASWARN (_Exit); #elif defined GNULIB_POSIXCHECK # undef _Exit # if HAVE_RAW_DECL__EXIT _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " "use gnulib module _Exit for portability"); # endif #endif #if @GNULIB_ATOLL@ /* Parse a signed decimal integer. Returns the value of the integer. Errors are not detected. */ # if !@HAVE_ATOLL@ _GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (atoll, long long, (const char *string)); _GL_CXXALIASWARN (atoll); #elif defined GNULIB_POSIXCHECK # undef atoll # if HAVE_RAW_DECL_ATOLL _GL_WARN_ON_USE (atoll, "atoll is unportable - " "use gnulib module atoll for portability"); # endif #endif #if @GNULIB_CALLOC_POSIX@ # if @REPLACE_CALLOC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef calloc # define calloc rpl_calloc # endif _GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size)); _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size)); # else _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); # endif _GL_CXXALIASWARN (calloc); #elif defined GNULIB_POSIXCHECK # undef calloc /* Assume calloc is always declared. */ _GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - " "use gnulib module calloc-posix for portability"); #endif #if @GNULIB_CANONICALIZE_FILE_NAME@ # if @REPLACE_CANONICALIZE_FILE_NAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define canonicalize_file_name rpl_canonicalize_file_name # endif _GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name)); # else # if !@HAVE_CANONICALIZE_FILE_NAME@ _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); # endif _GL_CXXALIASWARN (canonicalize_file_name); #elif defined GNULIB_POSIXCHECK # undef canonicalize_file_name # if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME _GL_WARN_ON_USE (canonicalize_file_name, "canonicalize_file_name is unportable - " "use gnulib module canonicalize-lgpl for portability"); # endif #endif #if @GNULIB_GETLOADAVG@ /* Store max(NELEM,3) load average numbers in LOADAVG[]. The three numbers are the load average of the last 1 minute, the last 5 minutes, and the last 15 minutes, respectively. LOADAVG is an array of NELEM numbers. */ # if !@HAVE_DECL_GETLOADAVG@ _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem)); _GL_CXXALIASWARN (getloadavg); #elif defined GNULIB_POSIXCHECK # undef getloadavg # if HAVE_RAW_DECL_GETLOADAVG _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - " "use gnulib module getloadavg for portability"); # endif #endif #if @GNULIB_GETSUBOPT@ /* Assuming *OPTIONP is a comma separated list of elements of the form "token" or "token=value", getsubopt parses the first of these elements. If the first element refers to a "token" that is member of the given NULL-terminated array of tokens: - It replaces the comma with a NUL byte, updates *OPTIONP to point past the first option and the comma, sets *VALUEP to the value of the element (or NULL if it doesn't contain an "=" sign), - It returns the index of the "token" in the given array of tokens. Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. For more details see the POSIX:2001 specification. http://www.opengroup.org/susv3xsh/getsubopt.html */ # if !@HAVE_GETSUBOPT@ _GL_FUNCDECL_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep)); _GL_CXXALIASWARN (getsubopt); #elif defined GNULIB_POSIXCHECK # undef getsubopt # if HAVE_RAW_DECL_GETSUBOPT _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - " "use gnulib module getsubopt for portability"); # endif #endif #if @GNULIB_GRANTPT@ /* Change the ownership and access permission of the slave side of the pseudo-terminal whose master side is specified by FD. */ # if !@HAVE_GRANTPT@ _GL_FUNCDECL_SYS (grantpt, int, (int fd)); # endif _GL_CXXALIAS_SYS (grantpt, int, (int fd)); _GL_CXXALIASWARN (grantpt); #elif defined GNULIB_POSIXCHECK # undef grantpt # if HAVE_RAW_DECL_GRANTPT _GL_WARN_ON_USE (grantpt, "grantpt is not portable - " "use gnulib module grantpt for portability"); # endif #endif /* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not rely on GNU or POSIX semantics for malloc and realloc (for example, by never specifying a zero size), so it does not need malloc or realloc to be redefined. */ #if @GNULIB_MALLOC_POSIX@ # if @REPLACE_MALLOC@ # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ || _GL_USE_STDLIB_ALLOC) # undef malloc # define malloc rpl_malloc # endif _GL_FUNCDECL_RPL (malloc, void *, (size_t size)); _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); # else _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif _GL_CXXALIASWARN (malloc); #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef malloc /* Assume malloc is always declared. */ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " "use gnulib module malloc-posix for portability"); #endif /* Convert a multibyte character to a wide character. */ #if @GNULIB_MBTOWC@ # if @REPLACE_MBTOWC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbtowc # define mbtowc rpl_mbtowc # endif _GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); _GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); # else _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); # endif _GL_CXXALIASWARN (mbtowc); #endif #if @GNULIB_MKDTEMP@ /* Create a unique temporary directory from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the directory name unique. Returns TEMPLATE, or a null pointer if it cannot get a unique name. The directory is created mode 700. */ # if !@HAVE_MKDTEMP@ _GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/)); _GL_CXXALIASWARN (mkdtemp); #elif defined GNULIB_POSIXCHECK # undef mkdtemp # if HAVE_RAW_DECL_MKDTEMP _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - " "use gnulib module mkdtemp for portability"); # endif #endif #if @GNULIB_MKOSTEMP@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>) and O_TEXT, O_BINARY (defined in "binary-io.h"). The file is then created, with the specified flags, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKOSTEMP@ _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)); _GL_CXXALIASWARN (mkostemp); #elif defined GNULIB_POSIXCHECK # undef mkostemp # if HAVE_RAW_DECL_MKOSTEMP _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - " "use gnulib module mkostemp for portability"); # endif #endif #if @GNULIB_MKOSTEMPS@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE before a suffix of length SUFFIXLEN must be "XXXXXX"; they are replaced with a string that makes the file name unique. The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>) and O_TEXT, O_BINARY (defined in "binary-io.h"). The file is then created, with the specified flags, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKOSTEMPS@ _GL_FUNCDECL_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/)); _GL_CXXALIASWARN (mkostemps); #elif defined GNULIB_POSIXCHECK # undef mkostemps # if HAVE_RAW_DECL_MKOSTEMPS _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - " "use gnulib module mkostemps for portability"); # endif #endif #if @GNULIB_MKSTEMP@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. The file is then created, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if @REPLACE_MKSTEMP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mkstemp rpl_mkstemp # endif _GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/)); # else # if ! @HAVE_MKSTEMP@ _GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/)); # endif _GL_CXXALIASWARN (mkstemp); #elif defined GNULIB_POSIXCHECK # undef mkstemp # if HAVE_RAW_DECL_MKSTEMP _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - " "use gnulib module mkstemp for portability"); # endif #endif #if @GNULIB_MKSTEMPS@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE prior to a suffix of length SUFFIXLEN must be "XXXXXX"; they are replaced with a string that makes the file name unique. The file is then created, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # if !@HAVE_MKSTEMPS@ _GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)); _GL_CXXALIASWARN (mkstemps); #elif defined GNULIB_POSIXCHECK # undef mkstemps # if HAVE_RAW_DECL_MKSTEMPS _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - " "use gnulib module mkstemps for portability"); # endif #endif #if @GNULIB_POSIX_OPENPT@ /* Return an FD open to the master side of a pseudo-terminal. Flags should include O_RDWR, and may also include O_NOCTTY. */ # if !@HAVE_POSIX_OPENPT@ _GL_FUNCDECL_SYS (posix_openpt, int, (int flags)); # endif _GL_CXXALIAS_SYS (posix_openpt, int, (int flags)); _GL_CXXALIASWARN (posix_openpt); #elif defined GNULIB_POSIXCHECK # undef posix_openpt # if HAVE_RAW_DECL_POSIX_OPENPT _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - " "use gnulib module posix_openpt for portability"); # endif #endif #if @GNULIB_PTSNAME@ /* Return the pathname of the pseudo-terminal slave associated with the master FD is open on, or NULL on errors. */ # if @REPLACE_PTSNAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ptsname # define ptsname rpl_ptsname # endif _GL_FUNCDECL_RPL (ptsname, char *, (int fd)); _GL_CXXALIAS_RPL (ptsname, char *, (int fd)); # else # if !@HAVE_PTSNAME@ _GL_FUNCDECL_SYS (ptsname, char *, (int fd)); # endif _GL_CXXALIAS_SYS (ptsname, char *, (int fd)); # endif _GL_CXXALIASWARN (ptsname); #elif defined GNULIB_POSIXCHECK # undef ptsname # if HAVE_RAW_DECL_PTSNAME _GL_WARN_ON_USE (ptsname, "ptsname is not portable - " "use gnulib module ptsname for portability"); # endif #endif #if @GNULIB_PTSNAME_R@ /* Set the pathname of the pseudo-terminal slave associated with the master FD is open on and return 0, or set errno and return non-zero on errors. */ # if @REPLACE_PTSNAME_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ptsname_r # define ptsname_r rpl_ptsname_r # endif _GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); _GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len)); # else # if !@HAVE_PTSNAME_R@ _GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); # endif _GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len)); # endif _GL_CXXALIASWARN (ptsname_r); #elif defined GNULIB_POSIXCHECK # undef ptsname_r # if HAVE_RAW_DECL_PTSNAME_R _GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - " "use gnulib module ptsname_r for portability"); # endif #endif #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putenv # define putenv rpl_putenv # endif _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (putenv, int, (char *string)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif _GL_CXXALIASWARN (putenv); #endif #if @GNULIB_RANDOM_R@ # if !@HAVE_RANDOM_R@ # ifndef RAND_MAX # define RAND_MAX 2147483647 # endif # endif #endif #if @GNULIB_RANDOM@ # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (random, long, (void)); # endif _GL_CXXALIAS_SYS (random, long, (void)); _GL_CXXALIASWARN (random); #elif defined GNULIB_POSIXCHECK # undef random # if HAVE_RAW_DECL_RANDOM _GL_WARN_ON_USE (random, "random is unportable - " "use gnulib module random for portability"); # endif #endif #if @GNULIB_RANDOM@ # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed)); # endif _GL_CXXALIAS_SYS (srandom, void, (unsigned int seed)); _GL_CXXALIASWARN (srandom); #elif defined GNULIB_POSIXCHECK # undef srandom # if HAVE_RAW_DECL_SRANDOM _GL_WARN_ON_USE (srandom, "srandom is unportable - " "use gnulib module random for portability"); # endif #endif #if @GNULIB_RANDOM@ # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (initstate, char *, (unsigned int seed, char *buf, size_t buf_size) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (initstate, char *, (unsigned int seed, char *buf, size_t buf_size)); _GL_CXXALIASWARN (initstate); #elif defined GNULIB_POSIXCHECK # undef initstate # if HAVE_RAW_DECL_INITSTATE_R _GL_WARN_ON_USE (initstate, "initstate is unportable - " "use gnulib module random for portability"); # endif #endif #if @GNULIB_RANDOM@ # if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (setstate, char *, (char *arg_state)); _GL_CXXALIASWARN (setstate); #elif defined GNULIB_POSIXCHECK # undef setstate # if HAVE_RAW_DECL_SETSTATE_R _GL_WARN_ON_USE (setstate, "setstate is unportable - " "use gnulib module random for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if @REPLACE_RANDOM_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef random_r # define random_r rpl_random_r # endif _GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result)); # else # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result)); # endif _GL_CXXALIASWARN (random_r); #elif defined GNULIB_POSIXCHECK # undef random_r # if HAVE_RAW_DECL_RANDOM_R _GL_WARN_ON_USE (random_r, "random_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if @REPLACE_RANDOM_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef srandom_r # define srandom_r rpl_srandom_r # endif _GL_FUNCDECL_RPL (srandom_r, int, (unsigned int seed, struct random_data *rand_state) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (srandom_r, int, (unsigned int seed, struct random_data *rand_state)); # else # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (srandom_r, int, (unsigned int seed, struct random_data *rand_state)); # endif _GL_CXXALIASWARN (srandom_r); #elif defined GNULIB_POSIXCHECK # undef srandom_r # if HAVE_RAW_DECL_SRANDOM_R _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if @REPLACE_RANDOM_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef initstate_r # define initstate_r rpl_initstate_r # endif _GL_FUNCDECL_RPL (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state) _GL_ARG_NONNULL ((2, 4))); _GL_CXXALIAS_RPL (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state)); # else # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (initstate_r, int, (unsigned int seed, char *buf, size_t buf_size, struct random_data *rand_state)); # endif _GL_CXXALIASWARN (initstate_r); #elif defined GNULIB_POSIXCHECK # undef initstate_r # if HAVE_RAW_DECL_INITSTATE_R _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_RANDOM_R@ # if @REPLACE_RANDOM_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef setstate_r # define setstate_r rpl_setstate_r # endif _GL_FUNCDECL_RPL (setstate_r, int, (char *arg_state, struct random_data *rand_state) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (setstate_r, int, (char *arg_state, struct random_data *rand_state)); # else # if !@HAVE_RANDOM_R@ _GL_FUNCDECL_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (setstate_r, int, (char *arg_state, struct random_data *rand_state)); # endif _GL_CXXALIASWARN (setstate_r); #elif defined GNULIB_POSIXCHECK # undef setstate_r # if HAVE_RAW_DECL_SETSTATE_R _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " "use gnulib module random_r for portability"); # endif #endif #if @GNULIB_REALLOC_POSIX@ # if @REPLACE_REALLOC@ # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ || _GL_USE_STDLIB_ALLOC) # undef realloc # define realloc rpl_realloc # endif _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size)); _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); # else _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif _GL_CXXALIASWARN (realloc); #elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef realloc /* Assume realloc is always declared. */ _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - " "use gnulib module realloc-posix for portability"); #endif #if @GNULIB_REALPATH@ # if @REPLACE_REALPATH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define realpath rpl_realpath # endif _GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved)); # else # if !@HAVE_REALPATH@ _GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved)); # endif _GL_CXXALIASWARN (realpath); #elif defined GNULIB_POSIXCHECK # undef realpath # if HAVE_RAW_DECL_REALPATH _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module " "canonicalize or canonicalize-lgpl for portability"); # endif #endif #if @GNULIB_RPMATCH@ /* Test a user response to a question. Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ # if !@HAVE_RPMATCH@ _GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (rpmatch, int, (const char *response)); _GL_CXXALIASWARN (rpmatch); #elif defined GNULIB_POSIXCHECK # undef rpmatch # if HAVE_RAW_DECL_RPMATCH _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - " "use gnulib module rpmatch for portability"); # endif #endif #if @GNULIB_SETENV@ /* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */ # if @REPLACE_SETENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef setenv # define setenv rpl_setenv # endif _GL_FUNCDECL_RPL (setenv, int, (const char *name, const char *value, int replace) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (setenv, int, (const char *name, const char *value, int replace)); # else # if !@HAVE_DECL_SETENV@ _GL_FUNCDECL_SYS (setenv, int, (const char *name, const char *value, int replace) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (setenv, int, (const char *name, const char *value, int replace)); # endif # if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@) _GL_CXXALIASWARN (setenv); # endif #elif defined GNULIB_POSIXCHECK # undef setenv # if HAVE_RAW_DECL_SETENV _GL_WARN_ON_USE (setenv, "setenv is unportable - " "use gnulib module setenv for portability"); # endif #endif #if @GNULIB_STRTOD@ /* Parse a double from STRING, updating ENDP if appropriate. */ # if @REPLACE_STRTOD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strtod rpl_strtod # endif _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp)); # else # if !@HAVE_STRTOD@ _GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp)); # endif _GL_CXXALIASWARN (strtod); #elif defined GNULIB_POSIXCHECK # undef strtod # if HAVE_RAW_DECL_STRTOD _GL_WARN_ON_USE (strtod, "strtod is unportable - " "use gnulib module strtod for portability"); # endif #endif #if @GNULIB_STRTOLL@ /* Parse a signed integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, it may be decimal or octal (with prefix "0") or hexadecimal (with prefix "0x"). If ENDPTR is not NULL, the address of the first byte after the integer is stored in *ENDPTR. Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set to ERANGE. */ # if !@HAVE_STRTOLL@ _GL_FUNCDECL_SYS (strtoll, long long, (const char *string, char **endptr, int base) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoll, long long, (const char *string, char **endptr, int base)); _GL_CXXALIASWARN (strtoll); #elif defined GNULIB_POSIXCHECK # undef strtoll # if HAVE_RAW_DECL_STRTOLL _GL_WARN_ON_USE (strtoll, "strtoll is unportable - " "use gnulib module strtoll for portability"); # endif #endif #if @GNULIB_STRTOULL@ /* Parse an unsigned integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, it may be decimal or octal (with prefix "0") or hexadecimal (with prefix "0x"). If ENDPTR is not NULL, the address of the first byte after the integer is stored in *ENDPTR. Upon overflow, the return value is ULLONG_MAX, and errno is set to ERANGE. */ # if !@HAVE_STRTOULL@ _GL_FUNCDECL_SYS (strtoull, unsigned long long, (const char *string, char **endptr, int base) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoull, unsigned long long, (const char *string, char **endptr, int base)); _GL_CXXALIASWARN (strtoull); #elif defined GNULIB_POSIXCHECK # undef strtoull # if HAVE_RAW_DECL_STRTOULL _GL_WARN_ON_USE (strtoull, "strtoull is unportable - " "use gnulib module strtoull for portability"); # endif #endif #if @GNULIB_UNLOCKPT@ /* Unlock the slave side of the pseudo-terminal whose master side is specified by FD, so that it can be opened. */ # if !@HAVE_UNLOCKPT@ _GL_FUNCDECL_SYS (unlockpt, int, (int fd)); # endif _GL_CXXALIAS_SYS (unlockpt, int, (int fd)); _GL_CXXALIASWARN (unlockpt); #elif defined GNULIB_POSIXCHECK # undef unlockpt # if HAVE_RAW_DECL_UNLOCKPT _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - " "use gnulib module unlockpt for portability"); # endif #endif #if @GNULIB_UNSETENV@ /* Remove the variable NAME from the environment. */ # if @REPLACE_UNSETENV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef unsetenv # define unsetenv rpl_unsetenv # endif _GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (unsetenv, int, (const char *name)); # else # if !@HAVE_DECL_UNSETENV@ _GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (unsetenv, int, (const char *name)); # endif # if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@) _GL_CXXALIASWARN (unsetenv); # endif #elif defined GNULIB_POSIXCHECK # undef unsetenv # if HAVE_RAW_DECL_UNSETENV _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - " "use gnulib module unsetenv for portability"); # endif #endif /* Convert a wide character to a multibyte character. */ #if @GNULIB_WCTOMB@ # if @REPLACE_WCTOMB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wctomb # define wctomb rpl_wctomb # endif _GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc)); _GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc)); # else _GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc)); # endif _GL_CXXALIASWARN (wctomb); #endif #endif /* _@GUARD_PREFIX@_STDLIB_H */ #endif /* _@GUARD_PREFIX@_STDLIB_H */ #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fatal-signal.c�������������������������������������������������������������������0000664�0000000�0000000�00000017224�12071024546�013631� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emergency actions in case of a fatal signal. Copyright (C) 2003-2004, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "fatal-signal.h" #include <stdbool.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> #include "sig-handler.h" #include "xalloc.h" #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) /* ========================================================================= */ /* The list of fatal signals. These are those signals whose default action is to terminate the process without a core dump, except SIGKILL - because it cannot be caught, SIGALRM SIGUSR1 SIGUSR2 SIGPOLL SIGIO SIGLOST - because applications often use them for their own purpose, SIGPROF SIGVTALRM - because they are used for profiling, SIGSTKFLT - because it is more similar to SIGFPE, SIGSEGV, SIGBUS, SIGSYS - because it is more similar to SIGABRT, SIGSEGV, SIGPWR - because it of too special use, SIGRTMIN...SIGRTMAX - because they are reserved for application use. plus SIGXCPU, SIGXFSZ - because they are quite similar to SIGTERM. */ static int fatal_signals[] = { /* ISO C 99 signals. */ #ifdef SIGINT SIGINT, #endif #ifdef SIGTERM SIGTERM, #endif /* POSIX:2001 signals. */ #ifdef SIGHUP SIGHUP, #endif #ifdef SIGPIPE SIGPIPE, #endif /* BSD signals. */ #ifdef SIGXCPU SIGXCPU, #endif #ifdef SIGXFSZ SIGXFSZ, #endif /* Native Windows signals. */ #ifdef SIGBREAK SIGBREAK, #endif 0 }; #define num_fatal_signals (SIZEOF (fatal_signals) - 1) /* Eliminate signals whose signal handler is SIG_IGN. */ static void init_fatal_signals (void) { static bool fatal_signals_initialized = false; if (!fatal_signals_initialized) { size_t i; for (i = 0; i < num_fatal_signals; i++) { struct sigaction action; if (sigaction (fatal_signals[i], NULL, &action) >= 0 && get_handler (&action) == SIG_IGN) fatal_signals[i] = -1; } fatal_signals_initialized = true; } } /* ========================================================================= */ typedef void (*action_t) (void); /* Type of an entry in the actions array. The 'action' field is accessed from within the fatal_signal_handler(), therefore we mark it as 'volatile'. */ typedef struct { volatile action_t action; } actions_entry_t; /* The registered cleanup actions. */ static actions_entry_t static_actions[32]; static actions_entry_t * volatile actions = static_actions; static sig_atomic_t volatile actions_count = 0; static size_t actions_allocated = SIZEOF (static_actions); /* The saved signal handlers. Size 32 would not be sufficient: On HP-UX, SIGXCPU = 33, SIGXFSZ = 34. */ static struct sigaction saved_sigactions[64]; /* Uninstall the handlers. */ static void uninstall_handlers (void) { size_t i; for (i = 0; i < num_fatal_signals; i++) if (fatal_signals[i] >= 0) { int sig = fatal_signals[i]; if (saved_sigactions[sig].sa_handler == SIG_IGN) saved_sigactions[sig].sa_handler = SIG_DFL; sigaction (sig, &saved_sigactions[sig], NULL); } } /* The signal handler. It gets called asynchronously. */ static void fatal_signal_handler (int sig) { for (;;) { /* Get the last registered cleanup action, in a reentrant way. */ action_t action; size_t n = actions_count; if (n == 0) break; n--; actions_count = n; action = actions[n].action; /* Execute the action. */ action (); } /* Now execute the signal's default action. If the signal being delivered was blocked, the re-raised signal would be delivered when this handler returns. But the way we install this handler, no signal is blocked, and the re-raised signal is delivered already during raise(). */ uninstall_handlers (); raise (sig); } /* Install the handlers. */ static void install_handlers (void) { size_t i; struct sigaction action; action.sa_handler = &fatal_signal_handler; /* If we get a fatal signal while executing fatal_signal_handler, enter fatal_signal_handler recursively, since it is reentrant. Hence no SA_RESETHAND. */ action.sa_flags = SA_NODEFER; sigemptyset (&action.sa_mask); for (i = 0; i < num_fatal_signals; i++) if (fatal_signals[i] >= 0) { int sig = fatal_signals[i]; if (!(sig < sizeof (saved_sigactions) / sizeof (saved_sigactions[0]))) abort (); sigaction (sig, &action, &saved_sigactions[sig]); } } /* Register a cleanup function to be executed when a catchable fatal signal occurs. */ void at_fatal_signal (action_t action) { static bool cleanup_initialized = false; if (!cleanup_initialized) { init_fatal_signals (); install_handlers (); cleanup_initialized = true; } if (actions_count == actions_allocated) { /* Extend the actions array. Note that we cannot use xrealloc(), because then the cleanup() function could access an already deallocated array. */ actions_entry_t *old_actions = actions; size_t old_actions_allocated = actions_allocated; size_t new_actions_allocated = 2 * actions_allocated; actions_entry_t *new_actions = XNMALLOC (new_actions_allocated, actions_entry_t); size_t k; /* Don't use memcpy() here, because memcpy takes non-volatile arguments and is therefore not guaranteed to complete all memory stores before the next statement. */ for (k = 0; k < old_actions_allocated; k++) new_actions[k] = old_actions[k]; actions = new_actions; actions_allocated = new_actions_allocated; /* Now we can free the old actions array. */ if (old_actions != static_actions) free (old_actions); } /* The two uses of 'volatile' in the types above (and ISO C 99 section 5.1.2.3.(5)) ensure that we increment the actions_count only after the new action has been written to the memory location actions[actions_count]. */ actions[actions_count].action = action; actions_count++; } /* ========================================================================= */ static sigset_t fatal_signal_set; static void init_fatal_signal_set (void) { static bool fatal_signal_set_initialized = false; if (!fatal_signal_set_initialized) { size_t i; init_fatal_signals (); sigemptyset (&fatal_signal_set); for (i = 0; i < num_fatal_signals; i++) if (fatal_signals[i] >= 0) sigaddset (&fatal_signal_set, fatal_signals[i]); fatal_signal_set_initialized = true; } } /* Temporarily delay the catchable fatal signals. */ void block_fatal_signals (void) { init_fatal_signal_set (); sigprocmask (SIG_BLOCK, &fatal_signal_set, NULL); } /* Stop delaying the catchable fatal signals. */ void unblock_fatal_signals (void) { init_fatal_signal_set (); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dev-ino.h������������������������������������������������������������������������0000664�0000000�0000000�00000000224�11624727634�012640� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef DEV_INO_H # define DEV_INO_H 1 # include <sys/types.h> # include <sys/stat.h> struct dev_ino { ino_t st_ino; dev_t st_dev; }; #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rewinddir.c����������������������������������������������������������������������0000664�0000000�0000000�00000002666�12071024546�013262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Restart reading the entries of a directory from the beginning. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <dirent.h> #include <errno.h> #include "dirent-private.h" void rewinddir (DIR *dirp) { /* Like in closedir(). */ if (dirp->current != INVALID_HANDLE_VALUE) FindClose (dirp->current); /* Like in opendir(). */ dirp->status = -1; dirp->current = FindFirstFile (dirp->dir_name_mask, &dirp->entry); if (dirp->current == INVALID_HANDLE_VALUE) { switch (GetLastError ()) { case ERROR_FILE_NOT_FOUND: dirp->status = -2; break; default: /* Save the error code for the next readdir() call. */ dirp->status = ENOENT; break; } } } ��������������������������������������������������������������������������coreutils-8.21/lib/fts.c����������������������������������������������������������������������������0000664�0000000�0000000�00000221020�12071024546�012052� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Traverse a file hierarchy. Copyright (C) 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /*- * Copyright (c) 1990, 1993, 1994 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include <config.h> #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94"; #endif /* LIBC_SCCS and not lint */ #include "fts_.h" #if HAVE_SYS_PARAM_H || defined _LIBC # include <sys/param.h> #endif #ifdef _LIBC # include <include/sys/stat.h> #else # include <sys/stat.h> #endif #include <fcntl.h> #include <errno.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #if ! _LIBC # include "fcntl--.h" # include "dirent--.h" # include "unistd--.h" /* FIXME - use fcntl(F_DUPFD_CLOEXEC)/openat(O_CLOEXEC) once they are supported. */ # include "cloexec.h" # include "openat.h" # include "same-inode.h" #endif #include <dirent.h> #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dirent) strlen ((dirent)->d_name) #endif #if HAVE_STRUCT_DIRENT_D_TYPE /* True if the type of the directory entry D is known. */ # define DT_IS_KNOWN(d) ((d)->d_type != DT_UNKNOWN) /* True if the type of the directory entry D must be T. */ # define DT_MUST_BE(d, t) ((d)->d_type == (t)) # define D_TYPE(d) ((d)->d_type) #else # define DT_IS_KNOWN(d) false # define DT_MUST_BE(d, t) false # define D_TYPE(d) DT_UNKNOWN # undef DT_UNKNOWN # define DT_UNKNOWN 0 /* Any nonzero values will do here, so long as they're distinct. Undef any existing macros out of the way. */ # undef DT_BLK # undef DT_CHR # undef DT_DIR # undef DT_FIFO # undef DT_LNK # undef DT_REG # undef DT_SOCK # define DT_BLK 1 # define DT_CHR 2 # define DT_DIR 3 # define DT_FIFO 4 # define DT_LNK 5 # define DT_REG 6 # define DT_SOCK 7 #endif #ifndef S_IFLNK # define S_IFLNK 0 #endif #ifndef S_IFSOCK # define S_IFSOCK 0 #endif enum { NOT_AN_INODE_NUMBER = 0 }; #ifdef D_INO_IN_DIRENT # define D_INO(dp) (dp)->d_ino #else /* Some systems don't have inodes, so fake them to avoid lots of ifdefs. */ # define D_INO(dp) NOT_AN_INODE_NUMBER #endif /* If possible (see max_entries, below), read no more than this many directory entries at a time. Without this limit (i.e., when using non-NULL fts_compar), processing a directory with 4,000,000 entries requires ~1GiB of memory, and handling 64M entries would require 16GiB of memory. */ #ifndef FTS_MAX_READDIR_ENTRIES # define FTS_MAX_READDIR_ENTRIES 100000 #endif /* If there are more than this many entries in a directory, and the conditions mentioned below are satisfied, then sort the entries on inode number before any further processing. */ #ifndef FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD # define FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD 10000 #endif enum { _FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD = FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD }; enum Fts_stat { FTS_NO_STAT_REQUIRED = 1, FTS_STAT_REQUIRED = 2 }; #ifdef _LIBC # undef close # define close __close # undef closedir # define closedir __closedir # undef fchdir # define fchdir __fchdir # undef open # define open __open # undef readdir # define readdir __readdir #else # undef internal_function # define internal_function /* empty */ #endif #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif /* If this host provides the openat function, then we can avoid attempting to open "." in some initialization code below. */ #ifdef HAVE_OPENAT # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 #endif #ifdef NDEBUG # define fts_assert(expr) ((void) 0) #else # define fts_assert(expr) \ do \ { \ if (!(expr)) \ abort (); \ } \ while (false) #endif static FTSENT *fts_alloc (FTS *, const char *, size_t) internal_function; static FTSENT *fts_build (FTS *, int) internal_function; static void fts_lfree (FTSENT *) internal_function; static void fts_load (FTS *, FTSENT *) internal_function; static size_t fts_maxarglen (char * const *) internal_function; static void fts_padjust (FTS *, FTSENT *) internal_function; static bool fts_palloc (FTS *, size_t) internal_function; static FTSENT *fts_sort (FTS *, FTSENT *, size_t) internal_function; static unsigned short int fts_stat (FTS *, FTSENT *, bool) internal_function; static int fts_safe_changedir (FTS *, FTSENT *, int, const char *) internal_function; #include "fts-cycle.c" #ifndef MAX # define MAX(a,b) ((a) > (b) ? (a) : (b)) #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) #define STREQ(a, b) (strcmp (a, b) == 0) #define CLR(opt) (sp->fts_options &= ~(opt)) #define ISSET(opt) (sp->fts_options & (opt)) #define SET(opt) (sp->fts_options |= (opt)) /* FIXME: FTS_NOCHDIR is now misnamed. Call it FTS_USE_FULL_RELATIVE_FILE_NAMES instead. */ #define FCHDIR(sp, fd) \ (!ISSET(FTS_NOCHDIR) && (ISSET(FTS_CWDFD) \ ? (cwd_advance_fd ((sp), (fd), true), 0) \ : fchdir (fd))) /* fts_build flags */ /* FIXME: make this an enum */ #define BCHILD 1 /* fts_children */ #define BNAMES 2 /* fts_children, names only */ #define BREAD 3 /* fts_read */ #if FTS_DEBUG # include <inttypes.h> # include <stdint.h> # include <stdio.h> # include "getcwdat.h" bool fts_debug = false; # define Dprintf(x) do { if (fts_debug) printf x; } while (false) #else # define Dprintf(x) # define fd_ring_check(x) # define fd_ring_print(a, b, c) #endif #define LEAVE_DIR(Fts, Ent, Tag) \ do \ { \ Dprintf ((" %s-leaving: %s\n", Tag, (Ent)->fts_path)); \ leave_dir (Fts, Ent); \ fd_ring_check (Fts); \ } \ while (false) static void fd_ring_clear (I_ring *fd_ring) { while ( ! i_ring_empty (fd_ring)) { int fd = i_ring_pop (fd_ring); if (0 <= fd) close (fd); } } /* Overload the fts_statp->st_size member (otherwise unused, when fts_info is FTS_NSOK) to indicate whether fts_read should stat this entry or not. */ static void fts_set_stat_required (FTSENT *p, bool required) { fts_assert (p->fts_info == FTS_NSOK); p->fts_statp->st_size = (required ? FTS_STAT_REQUIRED : FTS_NO_STAT_REQUIRED); } /* file-descriptor-relative opendir. */ /* FIXME: if others need this function, move it into lib/openat.c */ static DIR * internal_function opendirat (int fd, char const *dir, int extra_flags, int *pdir_fd) { int new_fd = openat (fd, dir, (O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK | extra_flags)); DIR *dirp; if (new_fd < 0) return NULL; set_cloexec_flag (new_fd, true); dirp = fdopendir (new_fd); if (dirp) *pdir_fd = new_fd; else { int saved_errno = errno; close (new_fd); errno = saved_errno; } return dirp; } /* Virtual fchdir. Advance SP's working directory file descriptor, SP->fts_cwd_fd, to FD, and push the previous value onto the fd_ring. CHDIR_DOWN_ONE is true if FD corresponds to an entry in the directory open on sp->fts_cwd_fd; i.e., to move the working directory one level down. */ static void internal_function cwd_advance_fd (FTS *sp, int fd, bool chdir_down_one) { int old = sp->fts_cwd_fd; fts_assert (old != fd || old == AT_FDCWD); if (chdir_down_one) { /* Push "old" onto the ring. If the displaced file descriptor is non-negative, close it. */ int prev_fd_in_slot = i_ring_push (&sp->fts_fd_ring, old); fd_ring_print (sp, stderr, "post-push"); if (0 <= prev_fd_in_slot) close (prev_fd_in_slot); /* ignore any close failure */ } else if ( ! ISSET (FTS_NOCHDIR)) { if (0 <= old) close (old); /* ignore any close failure */ } sp->fts_cwd_fd = fd; } /* Restore the initial, pre-traversal, "working directory". In FTS_CWDFD mode, we merely call cwd_advance_fd, otherwise, we may actually change the working directory. Return 0 upon success. Upon failure, set errno and return nonzero. */ static int restore_initial_cwd (FTS *sp) { int fail = FCHDIR (sp, ISSET (FTS_CWDFD) ? AT_FDCWD : sp->fts_rfd); fd_ring_clear (&(sp->fts_fd_ring)); return fail; } /* Open the directory DIR if possible, and return a file descriptor. Return -1 and set errno on failure. It doesn't matter whether the file descriptor has read or write access. */ static int internal_function diropen (FTS const *sp, char const *dir) { int open_flags = (O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK | (ISSET (FTS_PHYSICAL) ? O_NOFOLLOW : 0) | (ISSET (FTS_NOATIME) ? O_NOATIME : 0)); int fd = (ISSET (FTS_CWDFD) ? openat (sp->fts_cwd_fd, dir, open_flags) : open (dir, open_flags)); if (0 <= fd) set_cloexec_flag (fd, true); return fd; } FTS * fts_open (char * const *argv, register int options, int (*compar) (FTSENT const **, FTSENT const **)) { register FTS *sp; register FTSENT *p, *root; register size_t nitems; FTSENT *parent = NULL; FTSENT *tmp = NULL; /* pacify gcc */ bool defer_stat; /* Options check. */ if (options & ~FTS_OPTIONMASK) { __set_errno (EINVAL); return (NULL); } if ((options & FTS_NOCHDIR) && (options & FTS_CWDFD)) { __set_errno (EINVAL); return (NULL); } if ( ! (options & (FTS_LOGICAL | FTS_PHYSICAL))) { __set_errno (EINVAL); return (NULL); } /* Allocate/initialize the stream */ if ((sp = malloc(sizeof(FTS))) == NULL) return (NULL); memset(sp, 0, sizeof(FTS)); sp->fts_compar = compar; sp->fts_options = options; /* Logical walks turn on NOCHDIR; symbolic links are too hard. */ if (ISSET(FTS_LOGICAL)) { SET(FTS_NOCHDIR); CLR(FTS_CWDFD); } /* Initialize fts_cwd_fd. */ sp->fts_cwd_fd = AT_FDCWD; if ( ISSET(FTS_CWDFD) && ! HAVE_OPENAT_SUPPORT) { /* While it isn't technically necessary to open "." this early, doing it here saves us the trouble of ensuring later (where it'd be messier) that "." can in fact be opened. If not, revert to FTS_NOCHDIR mode. */ int fd = open (".", O_SEARCH | (ISSET (FTS_NOATIME) ? O_NOATIME : 0)); if (fd < 0) { /* Even if "." is unreadable, don't revert to FTS_NOCHDIR mode on systems like Linux+PROC_FS, where our openat emulation is good enough. Note: on a system that emulates openat via /proc, this technique can still fail, but only in extreme conditions, e.g., when the working directory cannot be saved (i.e. save_cwd fails) -- and that happens on Linux only when "." is unreadable and the CWD would be longer than PATH_MAX. FIXME: once Linux kernel openat support is well established, replace the above open call and this entire if/else block with the body of the if-block below. */ if ( openat_needs_fchdir ()) { SET(FTS_NOCHDIR); CLR(FTS_CWDFD); } } else { close (fd); } } /* * Start out with 1K of file name space, and enough, in any case, * to hold the user's file names. */ #ifndef MAXPATHLEN # define MAXPATHLEN 1024 #endif { size_t maxarglen = fts_maxarglen(argv); if (! fts_palloc(sp, MAX(maxarglen, MAXPATHLEN))) goto mem1; } /* Allocate/initialize root's parent. */ if (*argv != NULL) { if ((parent = fts_alloc(sp, "", 0)) == NULL) goto mem2; parent->fts_level = FTS_ROOTPARENTLEVEL; } /* The classic fts implementation would call fts_stat with a new entry for each iteration of the loop below. If the comparison function is not specified or if the FTS_DEFER_STAT option is in effect, don't stat any entry in this loop. This is an attempt to minimize the interval between the initial stat/lstat/fstatat and the point at which a directory argument is first opened. This matters for any directory command line argument that resides on a file system without genuine i-nodes. If you specify FTS_DEFER_STAT along with a comparison function, that function must not access any data via the fts_statp pointer. */ defer_stat = (compar == NULL || ISSET(FTS_DEFER_STAT)); /* Allocate/initialize root(s). */ for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) { /* *Do* allow zero-length file names. */ size_t len = strlen(*argv); if ( ! (options & FTS_VERBATIM)) { /* If there are two or more trailing slashes, trim all but one, but don't change "//" to "/", and do map "///" to "/". */ char const *v = *argv; if (2 < len && v[len - 1] == '/') while (1 < len && v[len - 2] == '/') --len; } if ((p = fts_alloc(sp, *argv, len)) == NULL) goto mem3; p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; p->fts_accpath = p->fts_name; /* Even when defer_stat is true, be sure to stat the first command line argument, since fts_read (at least with FTS_XDEV) requires that. */ if (defer_stat && root != NULL) { p->fts_info = FTS_NSOK; fts_set_stat_required(p, true); } else { p->fts_info = fts_stat(sp, p, false); } /* * If comparison routine supplied, traverse in sorted * order; otherwise traverse in the order specified. */ if (compar) { p->fts_link = root; root = p; } else { p->fts_link = NULL; if (root == NULL) tmp = root = p; else { tmp->fts_link = p; tmp = p; } } } if (compar && nitems > 1) root = fts_sort(sp, root, nitems); /* * Allocate a dummy pointer and make fts_read think that we've just * finished the node before the root(s); set p->fts_info to FTS_INIT * so that everything about the "current" node is ignored. */ if ((sp->fts_cur = fts_alloc(sp, "", 0)) == NULL) goto mem3; sp->fts_cur->fts_link = root; sp->fts_cur->fts_info = FTS_INIT; if (! setup_dir (sp)) goto mem3; /* * If using chdir(2), grab a file descriptor pointing to dot to ensure * that we can get back here; this could be avoided for some file names, * but almost certainly not worth the effort. Slashes, symbolic links, * and ".." are all fairly nasty problems. Note, if we can't get the * descriptor we run anyway, just more slowly. */ if (!ISSET(FTS_NOCHDIR) && !ISSET(FTS_CWDFD) && (sp->fts_rfd = diropen (sp, ".")) < 0) SET(FTS_NOCHDIR); i_ring_init (&sp->fts_fd_ring, -1); return (sp); mem3: fts_lfree(root); free(parent); mem2: free(sp->fts_path); mem1: free(sp); return (NULL); } static void internal_function fts_load (FTS *sp, register FTSENT *p) { register size_t len; register char *cp; /* * Load the stream structure for the next traversal. Since we don't * actually enter the directory until after the preorder visit, set * the fts_accpath field specially so the chdir gets done to the right * place and the user can access the first node. From fts_open it's * known that the file name will fit. */ len = p->fts_pathlen = p->fts_namelen; memmove(sp->fts_path, p->fts_name, len + 1); if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { len = strlen(++cp); memmove(p->fts_name, cp, len + 1); p->fts_namelen = len; } p->fts_accpath = p->fts_path = sp->fts_path; } int fts_close (FTS *sp) { register FTSENT *freep, *p; int saved_errno = 0; /* * This still works if we haven't read anything -- the dummy structure * points to the root list, so we step through to the end of the root * list which has a valid parent pointer. */ if (sp->fts_cur) { for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { freep = p; p = p->fts_link != NULL ? p->fts_link : p->fts_parent; free(freep); } free(p); } /* Free up child linked list, sort array, file name buffer. */ if (sp->fts_child) fts_lfree(sp->fts_child); free(sp->fts_array); free(sp->fts_path); if (ISSET(FTS_CWDFD)) { if (0 <= sp->fts_cwd_fd) if (close (sp->fts_cwd_fd)) saved_errno = errno; } else if (!ISSET(FTS_NOCHDIR)) { /* Return to original directory, save errno if necessary. */ if (fchdir(sp->fts_rfd)) saved_errno = errno; /* If close fails, record errno only if saved_errno is zero, so that we report the probably-more-meaningful fchdir errno. */ if (close (sp->fts_rfd)) if (saved_errno == 0) saved_errno = errno; } fd_ring_clear (&sp->fts_fd_ring); if (sp->fts_leaf_optimization_works_ht) hash_free (sp->fts_leaf_optimization_works_ht); free_dir (sp); /* Free up the stream pointer. */ free(sp); /* Set errno and return. */ if (saved_errno) { __set_errno (saved_errno); return (-1); } return (0); } #if defined __linux__ \ && HAVE_SYS_VFS_H && HAVE_FSTATFS && HAVE_STRUCT_STATFS_F_TYPE # include <sys/vfs.h> /* Linux-specific constants from coreutils' src/fs.h */ # define S_MAGIC_TMPFS 0x1021994 # define S_MAGIC_NFS 0x6969 # define S_MAGIC_REISERFS 0x52654973 # define S_MAGIC_PROC 0x9FA0 /* Return false if it is easy to determine the file system type of the directory on which DIR_FD is open, and sorting dirents on inode numbers is known not to improve traversal performance with that type of file system. Otherwise, return true. */ static bool dirent_inode_sort_may_be_useful (int dir_fd) { /* Skip the sort only if we can determine efficiently that skipping it is the right thing to do. The cost of performing an unnecessary sort is negligible, while the cost of *not* performing it can be O(N^2) with a very large constant. */ struct statfs fs_buf; /* If fstatfs fails, assume sorting would be useful. */ if (fstatfs (dir_fd, &fs_buf) != 0) return true; /* FIXME: what about when f_type is not an integral type? deal with that if/when it's encountered. */ switch (fs_buf.f_type) { case S_MAGIC_TMPFS: case S_MAGIC_NFS: /* On a file system of any of these types, sorting is unnecessary, and hence wasteful. */ return false; default: return true; } } /* Given a file descriptor DIR_FD open on a directory D, return true if it is valid to apply the leaf-optimization technique of counting directories in D via stat.st_nlink. */ static bool leaf_optimization_applies (int dir_fd) { struct statfs fs_buf; /* If fstatfs fails, assume we can't use the optimization. */ if (fstatfs (dir_fd, &fs_buf) != 0) return false; /* FIXME: do we need to detect AFS mount points? I doubt it, unless fstatfs can report S_MAGIC_REISERFS for such a directory. */ switch (fs_buf.f_type) { /* List here the file system types that lack usable dirent.d_type info, yet for which the optimization does apply. */ case S_MAGIC_REISERFS: return true; case S_MAGIC_PROC: /* Explicitly listing this or any other file system type for which the optimization is not applicable is not necessary, but we leave it here to document the risk. Per http://bugs.debian.org/143111, /proc may have bogus stat.st_nlink values. */ /* fall through */ default: return false; } } #else static bool dirent_inode_sort_may_be_useful (int dir_fd _GL_UNUSED) { return true; } static bool leaf_optimization_applies (int dir_fd _GL_UNUSED) { return false; } #endif /* link-count-optimization entry: map a stat.st_dev number to a boolean: leaf_optimization_works */ struct LCO_ent { dev_t st_dev; bool opt_ok; }; /* Use a tiny initial size. If a traversal encounters more than a few devices, the cost of growing/rehashing this table will be rendered negligible by the number of inodes processed. */ enum { LCO_HT_INITIAL_SIZE = 13 }; static size_t LCO_hash (void const *x, size_t table_size) { struct LCO_ent const *ax = x; return (uintmax_t) ax->st_dev % table_size; } static bool LCO_compare (void const *x, void const *y) { struct LCO_ent const *ax = x; struct LCO_ent const *ay = y; return ax->st_dev == ay->st_dev; } /* Ask the same question as leaf_optimization_applies, but query the cache first (FTS.fts_leaf_optimization_works_ht), and if necessary, update that cache. */ static bool link_count_optimize_ok (FTSENT const *p) { FTS *sp = p->fts_fts; Hash_table *h = sp->fts_leaf_optimization_works_ht; struct LCO_ent tmp; struct LCO_ent *ent; bool opt_ok; struct LCO_ent *t2; /* If we're not in CWDFD mode, don't bother with this optimization, since the caller is not serious about performance. */ if (!ISSET(FTS_CWDFD)) return false; /* map st_dev to the boolean, leaf_optimization_works */ if (h == NULL) { h = sp->fts_leaf_optimization_works_ht = hash_initialize (LCO_HT_INITIAL_SIZE, NULL, LCO_hash, LCO_compare, free); if (h == NULL) return false; } tmp.st_dev = p->fts_statp->st_dev; ent = hash_lookup (h, &tmp); if (ent) return ent->opt_ok; /* Look-up failed. Query directly and cache the result. */ t2 = malloc (sizeof *t2); if (t2 == NULL) return false; /* Is it ok to perform the optimization in the dir, FTS_CWD_FD? */ opt_ok = leaf_optimization_applies (sp->fts_cwd_fd); t2->opt_ok = opt_ok; t2->st_dev = p->fts_statp->st_dev; ent = hash_insert (h, t2); if (ent == NULL) { /* insertion failed */ free (t2); return false; } fts_assert (ent == t2); return opt_ok; } /* * Special case of "/" at the end of the file name so that slashes aren't * appended which would cause file names to be written as "....//foo". */ #define NAPPEND(p) \ (p->fts_path[p->fts_pathlen - 1] == '/' \ ? p->fts_pathlen - 1 : p->fts_pathlen) FTSENT * fts_read (register FTS *sp) { register FTSENT *p, *tmp; register unsigned short int instr; register char *t; /* If finished or unrecoverable error, return NULL. */ if (sp->fts_cur == NULL || ISSET(FTS_STOP)) return (NULL); /* Set current node pointer. */ p = sp->fts_cur; /* Save and zero out user instructions. */ instr = p->fts_instr; p->fts_instr = FTS_NOINSTR; /* Any type of file may be re-visited; re-stat and re-turn. */ if (instr == FTS_AGAIN) { p->fts_info = fts_stat(sp, p, false); return (p); } Dprintf (("fts_read: p=%s\n", p->fts_info == FTS_INIT ? "" : p->fts_path)); /* * Following a symlink -- SLNONE test allows application to see * SLNONE and recover. If indirecting through a symlink, have * keep a pointer to current location. If unable to get that * pointer, follow fails. */ if (instr == FTS_FOLLOW && (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { p->fts_info = fts_stat(sp, p, true); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = diropen (sp, ".")) < 0) { p->fts_errno = errno; p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } goto check_for_dir; } /* Directory in pre-order. */ if (p->fts_info == FTS_D) { /* If skipped or crossed mount point, do post-order visit. */ if (instr == FTS_SKIP || (ISSET(FTS_XDEV) && p->fts_statp->st_dev != sp->fts_dev)) { if (p->fts_flags & FTS_SYMFOLLOW) (void)close(p->fts_symfd); if (sp->fts_child) { fts_lfree(sp->fts_child); sp->fts_child = NULL; } p->fts_info = FTS_DP; LEAVE_DIR (sp, p, "1"); return (p); } /* Rebuild if only read the names and now traversing. */ if (sp->fts_child != NULL && ISSET(FTS_NAMEONLY)) { CLR(FTS_NAMEONLY); fts_lfree(sp->fts_child); sp->fts_child = NULL; } /* * Cd to the subdirectory. * * If have already read and now fail to chdir, whack the list * to make the names come out right, and set the parent errno * so the application will eventually get an error condition. * Set the FTS_DONTCHDIR flag so that when we logically change * directories back to the parent we don't do a chdir. * * If haven't read do so. If the read fails, fts_build sets * FTS_STOP or the fts_info field of the node. */ if (sp->fts_child != NULL) { if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) { p->fts_errno = errno; p->fts_flags |= FTS_DONTCHDIR; for (p = sp->fts_child; p != NULL; p = p->fts_link) p->fts_accpath = p->fts_parent->fts_accpath; } } else if ((sp->fts_child = fts_build(sp, BREAD)) == NULL) { if (ISSET(FTS_STOP)) return (NULL); /* If fts_build's call to fts_safe_changedir failed because it was not able to fchdir into a subdirectory, tell the caller. */ if (p->fts_errno && p->fts_info != FTS_DNR) p->fts_info = FTS_ERR; LEAVE_DIR (sp, p, "2"); return (p); } p = sp->fts_child; sp->fts_child = NULL; goto name; } /* Move to the next node on this level. */ next: tmp = p; /* If we have so many directory entries that we're reading them in batches, and we've reached the end of the current batch, read in a new batch. */ if (p->fts_link == NULL && p->fts_parent->fts_dirp) { p = tmp->fts_parent; sp->fts_cur = p; sp->fts_path[p->fts_pathlen] = '\0'; if ((p = fts_build (sp, BREAD)) == NULL) { if (ISSET(FTS_STOP)) return NULL; goto cd_dot_dot; } free(tmp); goto name; } if ((p = p->fts_link) != NULL) { sp->fts_cur = p; free(tmp); /* * If reached the top, return to the original directory (or * the root of the tree), and load the file names for the next * root. */ if (p->fts_level == FTS_ROOTLEVEL) { if (restore_initial_cwd(sp)) { SET(FTS_STOP); return (NULL); } free_dir(sp); fts_load(sp, p); setup_dir(sp); goto check_for_dir; } /* * User may have called fts_set on the node. If skipped, * ignore. If followed, get a file descriptor so we can * get back if necessary. */ if (p->fts_instr == FTS_SKIP) goto next; if (p->fts_instr == FTS_FOLLOW) { p->fts_info = fts_stat(sp, p, true); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = diropen (sp, ".")) < 0) { p->fts_errno = errno; p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } p->fts_instr = FTS_NOINSTR; } name: t = sp->fts_path + NAPPEND(p->fts_parent); *t++ = '/'; memmove(t, p->fts_name, p->fts_namelen + 1); check_for_dir: sp->fts_cur = p; if (p->fts_info == FTS_NSOK) { if (p->fts_statp->st_size == FTS_STAT_REQUIRED) { FTSENT *parent = p->fts_parent; if (FTS_ROOTLEVEL < p->fts_level /* ->fts_n_dirs_remaining is not valid for command-line-specified names. */ && parent->fts_n_dirs_remaining == 0 && ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL) && link_count_optimize_ok (parent)) { /* nothing more needed */ } else { p->fts_info = fts_stat(sp, p, false); if (S_ISDIR(p->fts_statp->st_mode) && p->fts_level != FTS_ROOTLEVEL && parent->fts_n_dirs_remaining) parent->fts_n_dirs_remaining--; } } else fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED); } if (p->fts_info == FTS_D) { /* Now that P->fts_statp is guaranteed to be valid, if this is a command-line directory, record its device number, to be used for FTS_XDEV. */ if (p->fts_level == FTS_ROOTLEVEL) sp->fts_dev = p->fts_statp->st_dev; Dprintf ((" entering: %s\n", p->fts_path)); if (! enter_dir (sp, p)) { __set_errno (ENOMEM); return NULL; } } return p; } cd_dot_dot: /* Move up to the parent node. */ p = tmp->fts_parent; sp->fts_cur = p; free(tmp); if (p->fts_level == FTS_ROOTPARENTLEVEL) { /* * Done; free everything up and set errno to 0 so the user * can distinguish between error and EOF. */ free(p); __set_errno (0); return (sp->fts_cur = NULL); } fts_assert (p->fts_info != FTS_NSOK); /* NUL terminate the file name. */ sp->fts_path[p->fts_pathlen] = '\0'; /* * Return to the parent directory. If at a root node, restore * the initial working directory. If we came through a symlink, * go back through the file descriptor. Otherwise, move up * one level, via "..". */ if (p->fts_level == FTS_ROOTLEVEL) { if (restore_initial_cwd(sp)) { p->fts_errno = errno; SET(FTS_STOP); } } else if (p->fts_flags & FTS_SYMFOLLOW) { if (FCHDIR(sp, p->fts_symfd)) { int saved_errno = errno; (void)close(p->fts_symfd); __set_errno (saved_errno); p->fts_errno = errno; SET(FTS_STOP); } (void)close(p->fts_symfd); } else if (!(p->fts_flags & FTS_DONTCHDIR) && fts_safe_changedir(sp, p->fts_parent, -1, "..")) { p->fts_errno = errno; SET(FTS_STOP); } p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; if (p->fts_errno == 0) LEAVE_DIR (sp, p, "3"); return ISSET(FTS_STOP) ? NULL : p; } /* * Fts_set takes the stream as an argument although it's not used in this * implementation; it would be necessary if anyone wanted to add global * semantics to fts using fts_set. An error return is allowed for similar * reasons. */ /* ARGSUSED */ int fts_set(FTS *sp _GL_UNUSED, FTSENT *p, int instr) { if (instr != 0 && instr != FTS_AGAIN && instr != FTS_FOLLOW && instr != FTS_NOINSTR && instr != FTS_SKIP) { __set_errno (EINVAL); return (1); } p->fts_instr = instr; return (0); } FTSENT * fts_children (register FTS *sp, int instr) { register FTSENT *p; int fd; if (instr != 0 && instr != FTS_NAMEONLY) { __set_errno (EINVAL); return (NULL); } /* Set current node pointer. */ p = sp->fts_cur; /* * Errno set to 0 so user can distinguish empty directory from * an error. */ __set_errno (0); /* Fatal errors stop here. */ if (ISSET(FTS_STOP)) return (NULL); /* Return logical hierarchy of user's arguments. */ if (p->fts_info == FTS_INIT) return (p->fts_link); /* * If not a directory being visited in pre-order, stop here. Could * allow FTS_DNR, assuming the user has fixed the problem, but the * same effect is available with FTS_AGAIN. */ if (p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) return (NULL); /* Free up any previous child list. */ if (sp->fts_child != NULL) fts_lfree(sp->fts_child); if (instr == FTS_NAMEONLY) { SET(FTS_NAMEONLY); instr = BNAMES; } else instr = BCHILD; /* * If using chdir on a relative file name and called BEFORE fts_read * does its chdir to the root of a traversal, we can lose -- we need to * chdir into the subdirectory, and we don't know where the current * directory is, so we can't get back so that the upcoming chdir by * fts_read will work. */ if (p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || ISSET(FTS_NOCHDIR)) return (sp->fts_child = fts_build(sp, instr)); if ((fd = diropen (sp, ".")) < 0) return (sp->fts_child = NULL); sp->fts_child = fts_build(sp, instr); if (ISSET(FTS_CWDFD)) { cwd_advance_fd (sp, fd, true); } else { if (fchdir(fd)) { int saved_errno = errno; close (fd); __set_errno (saved_errno); return NULL; } close (fd); } return (sp->fts_child); } /* A comparison function to sort on increasing inode number. For some file system types, sorting either way makes a huge performance difference for a directory with very many entries, but sorting on increasing values is slightly better than sorting on decreasing values. The difference is in the 5% range. */ static int fts_compare_ino (struct _ftsent const **a, struct _ftsent const **b) { return (a[0]->fts_statp->st_ino < b[0]->fts_statp->st_ino ? -1 : b[0]->fts_statp->st_ino < a[0]->fts_statp->st_ino ? 1 : 0); } /* Map the dirent.d_type value, DTYPE, to the corresponding stat.st_mode S_IF* bit and set ST.st_mode, thus clearing all other bits in that field. */ static void set_stat_type (struct stat *st, unsigned int dtype) { mode_t type; switch (dtype) { case DT_BLK: type = S_IFBLK; break; case DT_CHR: type = S_IFCHR; break; case DT_DIR: type = S_IFDIR; break; case DT_FIFO: type = S_IFIFO; break; case DT_LNK: type = S_IFLNK; break; case DT_REG: type = S_IFREG; break; case DT_SOCK: type = S_IFSOCK; break; default: type = 0; } st->st_mode = type; } #define closedir_and_clear(dirp) \ do \ { \ closedir (dirp); \ dirp = NULL; \ } \ while (0) #define fts_opendir(file, Pdir_fd) \ opendirat((! ISSET(FTS_NOCHDIR) && ISSET(FTS_CWDFD) \ ? sp->fts_cwd_fd : AT_FDCWD), \ file, \ (((ISSET(FTS_PHYSICAL) \ && ! (ISSET(FTS_COMFOLLOW) \ && cur->fts_level == FTS_ROOTLEVEL)) \ ? O_NOFOLLOW : 0) \ | (ISSET (FTS_NOATIME) ? O_NOATIME : 0)), \ Pdir_fd) /* * This is the tricky part -- do not casually change *anything* in here. The * idea is to build the linked list of entries that are used by fts_children * and fts_read. There are lots of special cases. * * The real slowdown in walking the tree is the stat calls. If FTS_NOSTAT is * set and it's a physical walk (so that symbolic links can't be directories), * we can do things quickly. First, if it's a 4.4BSD file system, the type * of the file is in the directory entry. Otherwise, we assume that the number * of subdirectories in a node is equal to the number of links to the parent. * The former skips all stat calls. The latter skips stat calls in any leaf * directories and for any files after the subdirectories in the directory have * been found, cutting the stat calls by about 2/3. */ static FTSENT * internal_function fts_build (register FTS *sp, int type) { register FTSENT *p, *head; register size_t nitems; FTSENT *tail; void *oldaddr; int saved_errno; bool descend; bool doadjust; ptrdiff_t level; nlink_t nlinks; bool nostat; size_t len, maxlen, new_len; char *cp; int dir_fd; FTSENT *cur = sp->fts_cur; bool continue_readdir = !!cur->fts_dirp; /* When cur->fts_dirp is non-NULL, that means we should continue calling readdir on that existing DIR* pointer rather than opening a new one. */ if (continue_readdir) { DIR *dp = cur->fts_dirp; dir_fd = dirfd (dp); if (dir_fd < 0) { closedir_and_clear (cur->fts_dirp); if (type == BREAD) { cur->fts_info = FTS_DNR; cur->fts_errno = errno; } return NULL; } } else { /* Open the directory for reading. If this fails, we're done. If being called from fts_read, set the fts_info field. */ if ((cur->fts_dirp = fts_opendir(cur->fts_accpath, &dir_fd)) == NULL) { if (type == BREAD) { cur->fts_info = FTS_DNR; cur->fts_errno = errno; } return NULL; } /* Rather than calling fts_stat for each and every entry encountered in the readdir loop (below), stat each directory only right after opening it. */ if (cur->fts_info == FTS_NSOK) cur->fts_info = fts_stat(sp, cur, false); else if (sp->fts_options & FTS_TIGHT_CYCLE_CHECK) { /* Now read the stat info again after opening a directory to reveal eventual changes caused by a submount triggered by the traversal. But do it only for utilities which use FTS_TIGHT_CYCLE_CHECK. Therefore, only find and du benefit/suffer from this feature for now. */ LEAVE_DIR (sp, cur, "4"); fts_stat (sp, cur, false); if (! enter_dir (sp, cur)) { __set_errno (ENOMEM); return NULL; } } } /* Maximum number of readdir entries to read at one time. This limitation is to avoid reading millions of entries into memory at once. When an fts_compar function is specified, we have no choice: we must read all entries into memory before calling that function. But when no such function is specified, we can read entries in batches that are large enough to help us with inode- sorting, yet not so large that we risk exhausting memory. */ size_t max_entries = (sp->fts_compar == NULL ? FTS_MAX_READDIR_ENTRIES : SIZE_MAX); /* * Nlinks is the number of possible entries of type directory in the * directory if we're cheating on stat calls, 0 if we're not doing * any stat calls at all, (nlink_t) -1 if we're statting everything. */ if (type == BNAMES) { nlinks = 0; /* Be quiet about nostat, GCC. */ nostat = false; } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { nlinks = (cur->fts_statp->st_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2)); nostat = true; } else { nlinks = -1; nostat = false; } /* * If we're going to need to stat anything or we want to descend * and stay in the directory, chdir. If this fails we keep going, * but set a flag so we don't chdir after the post-order visit. * We won't be able to stat anything, but we can still return the * names themselves. Note, that since fts_read won't be able to * chdir into the directory, it will have to return different file * names than before, i.e. "a/b" instead of "b". Since the node * has already been visited in pre-order, have to wait until the * post-order visit to return the error. There is a special case * here, if there was nothing to stat then it's not an error to * not be able to stat. This is all fairly nasty. If a program * needed sorted entries or stat information, they had better be * checking FTS_NS on the returned nodes. */ if (continue_readdir) { /* When resuming a short readdir run, we already have the required dirp and dir_fd. */ descend = true; } else if (nlinks || type == BREAD) { if (ISSET(FTS_CWDFD)) { dir_fd = dup (dir_fd); if (0 <= dir_fd) set_cloexec_flag (dir_fd, true); } if (dir_fd < 0 || fts_safe_changedir(sp, cur, dir_fd, NULL)) { if (nlinks && type == BREAD) cur->fts_errno = errno; cur->fts_flags |= FTS_DONTCHDIR; descend = false; closedir_and_clear(cur->fts_dirp); if (ISSET(FTS_CWDFD) && 0 <= dir_fd) close (dir_fd); cur->fts_dirp = NULL; } else descend = true; } else descend = false; /* * Figure out the max file name length that can be stored in the * current buffer -- the inner loop allocates more space as necessary. * We really wouldn't have to do the maxlen calculations here, we * could do them in fts_read before returning the name, but it's a * lot easier here since the length is part of the dirent structure. * * If not changing directories set a pointer so that can just append * each new component into the file name. */ len = NAPPEND(cur); if (ISSET(FTS_NOCHDIR)) { cp = sp->fts_path + len; *cp++ = '/'; } else { /* GCC, you're too verbose. */ cp = NULL; } len++; maxlen = sp->fts_pathlen - len; level = cur->fts_level + 1; /* Read the directory, attaching each entry to the "link" pointer. */ doadjust = false; head = NULL; tail = NULL; nitems = 0; while (cur->fts_dirp) { bool is_dir; struct dirent *dp = readdir(cur->fts_dirp); if (dp == NULL) break; if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name)) continue; if ((p = fts_alloc (sp, dp->d_name, _D_EXACT_NAMLEN (dp))) == NULL) goto mem1; if (_D_EXACT_NAMLEN (dp) >= maxlen) { /* include space for NUL */ oldaddr = sp->fts_path; if (! fts_palloc(sp, _D_EXACT_NAMLEN (dp) + len + 1)) { /* * No more memory. Save * errno, free up the current structure and the * structures already allocated. */ mem1: saved_errno = errno; free(p); fts_lfree(head); closedir_and_clear(cur->fts_dirp); cur->fts_info = FTS_ERR; SET(FTS_STOP); __set_errno (saved_errno); return (NULL); } /* Did realloc() change the pointer? */ if (oldaddr != sp->fts_path) { doadjust = true; if (ISSET(FTS_NOCHDIR)) cp = sp->fts_path + len; } maxlen = sp->fts_pathlen - len; } new_len = len + _D_EXACT_NAMLEN (dp); if (new_len < len) { /* * In the unlikely event that we would end up * with a file name longer than SIZE_MAX, free up * the current structure and the structures already * allocated, then error out with ENAMETOOLONG. */ free(p); fts_lfree(head); closedir_and_clear(cur->fts_dirp); cur->fts_info = FTS_ERR; SET(FTS_STOP); __set_errno (ENAMETOOLONG); return (NULL); } p->fts_level = level; p->fts_parent = sp->fts_cur; p->fts_pathlen = new_len; /* Store dirent.d_ino, in case we need to sort entries before processing them. */ p->fts_statp->st_ino = D_INO (dp); /* Build a file name for fts_stat to stat. */ if (ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; memmove(cp, p->fts_name, p->fts_namelen + 1); } else p->fts_accpath = p->fts_name; if (sp->fts_compar == NULL || ISSET(FTS_DEFER_STAT)) { /* Record what fts_read will have to do with this entry. In many cases, it will simply fts_stat it, but we can take advantage of any d_type information to optimize away the unnecessary stat calls. I.e., if FTS_NOSTAT is in effect and we're not following symlinks (FTS_PHYSICAL) and d_type indicates this is *not* a directory, then we won't have to stat it at all. If it *is* a directory, then (currently) we stat it regardless, in order to get device and inode numbers. Some day we might optimize that away, too, for directories where d_ino is known to be valid. */ bool skip_stat = (ISSET(FTS_PHYSICAL) && ISSET(FTS_NOSTAT) && DT_IS_KNOWN(dp) && ! DT_MUST_BE(dp, DT_DIR)); p->fts_info = FTS_NSOK; /* Propagate dirent.d_type information back to caller, when possible. */ set_stat_type (p->fts_statp, D_TYPE (dp)); fts_set_stat_required(p, !skip_stat); is_dir = (ISSET(FTS_PHYSICAL) && DT_MUST_BE(dp, DT_DIR)); } else { p->fts_info = fts_stat(sp, p, false); is_dir = (p->fts_info == FTS_D || p->fts_info == FTS_DC || p->fts_info == FTS_DOT); } /* Decrement link count if applicable. */ if (nlinks > 0 && is_dir) nlinks -= nostat; /* We walk in directory order so "ls -f" doesn't get upset. */ p->fts_link = NULL; if (head == NULL) head = tail = p; else { tail->fts_link = p; tail = p; } ++nitems; if (max_entries <= nitems) { /* When there are too many dir entries, leave fts_dirp open, so that a subsequent fts_read can take up where we leave off. */ goto break_without_closedir; } } if (cur->fts_dirp) closedir_and_clear(cur->fts_dirp); break_without_closedir: /* * If realloc() changed the address of the file name, adjust the * addresses for the rest of the tree and the dir list. */ if (doadjust) fts_padjust(sp, head); /* * If not changing directories, reset the file name back to original * state. */ if (ISSET(FTS_NOCHDIR)) { if (len == sp->fts_pathlen || nitems == 0) --cp; *cp = '\0'; } /* * If descended after called from fts_children or after called from * fts_read and nothing found, get back. At the root level we use * the saved fd; if one of fts_open()'s arguments is a relative name * to an empty directory, we wind up here with no other way back. If * can't get back, we're done. */ if (!continue_readdir && descend && (type == BCHILD || !nitems) && (cur->fts_level == FTS_ROOTLEVEL ? restore_initial_cwd(sp) : fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) { cur->fts_info = FTS_ERR; SET(FTS_STOP); fts_lfree(head); return (NULL); } /* If didn't find anything, return NULL. */ if (!nitems) { if (type == BREAD) cur->fts_info = FTS_DP; fts_lfree(head); return (NULL); } /* If there are many entries, no sorting function has been specified, and this file system is of a type that may be slow with a large number of entries, then sort the directory entries on increasing inode numbers. */ if (nitems > _FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD && !sp->fts_compar && ISSET (FTS_CWDFD) && dirent_inode_sort_may_be_useful (sp->fts_cwd_fd)) { sp->fts_compar = fts_compare_ino; head = fts_sort (sp, head, nitems); sp->fts_compar = NULL; } /* Sort the entries. */ if (sp->fts_compar && nitems > 1) head = fts_sort(sp, head, nitems); return (head); } #if FTS_DEBUG /* Walk ->fts_parent links starting at E_CURR, until the root of the current hierarchy. There should be a directory with dev/inode matching those of AD. If not, print a lot of diagnostics. */ static void find_matching_ancestor (FTSENT const *e_curr, struct Active_dir const *ad) { FTSENT const *ent; for (ent = e_curr; ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent) { if (ad->ino == ent->fts_statp->st_ino && ad->dev == ent->fts_statp->st_dev) return; } printf ("ERROR: tree dir, %s, not active\n", ad->fts_ent->fts_accpath); printf ("active dirs:\n"); for (ent = e_curr; ent->fts_level >= FTS_ROOTLEVEL; ent = ent->fts_parent) printf (" %s(%"PRIuMAX"/%"PRIuMAX") to %s(%"PRIuMAX"/%"PRIuMAX")...\n", ad->fts_ent->fts_accpath, (uintmax_t) ad->dev, (uintmax_t) ad->ino, ent->fts_accpath, (uintmax_t) ent->fts_statp->st_dev, (uintmax_t) ent->fts_statp->st_ino); } void fts_cross_check (FTS const *sp) { FTSENT const *ent = sp->fts_cur; FTSENT const *t; if ( ! ISSET (FTS_TIGHT_CYCLE_CHECK)) return; Dprintf (("fts-cross-check cur=%s\n", ent->fts_path)); /* Make sure every parent dir is in the tree. */ for (t = ent->fts_parent; t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent) { struct Active_dir ad; ad.ino = t->fts_statp->st_ino; ad.dev = t->fts_statp->st_dev; if ( ! hash_lookup (sp->fts_cycle.ht, &ad)) printf ("ERROR: active dir, %s, not in tree\n", t->fts_path); } /* Make sure every dir in the tree is an active dir. But ENT is not necessarily a directory. If so, just skip this part. */ if (ent->fts_parent->fts_level >= FTS_ROOTLEVEL && (ent->fts_info == FTS_DP || ent->fts_info == FTS_D)) { struct Active_dir *ad; for (ad = hash_get_first (sp->fts_cycle.ht); ad != NULL; ad = hash_get_next (sp->fts_cycle.ht, ad)) { find_matching_ancestor (ent, ad); } } } static bool same_fd (int fd1, int fd2) { struct stat sb1, sb2; return (fstat (fd1, &sb1) == 0 && fstat (fd2, &sb2) == 0 && SAME_INODE (sb1, sb2)); } static void fd_ring_print (FTS const *sp, FILE *stream, char const *msg) { I_ring const *fd_ring = &sp->fts_fd_ring; unsigned int i = fd_ring->fts_front; char *cwd = getcwdat (sp->fts_cwd_fd, NULL, 0); fprintf (stream, "=== %s ========== %s\n", msg, cwd); free (cwd); if (i_ring_empty (fd_ring)) return; while (true) { int fd = fd_ring->fts_fd_ring[i]; if (fd < 0) fprintf (stream, "%d: %d:\n", i, fd); else { char *wd = getcwdat (fd, NULL, 0); fprintf (stream, "%d: %d: %s\n", i, fd, wd); free (wd); } if (i == fd_ring->fts_back) break; i = (i + I_RING_SIZE - 1) % I_RING_SIZE; } } /* Ensure that each file descriptor on the fd_ring matches a parent, grandparent, etc. of the current working directory. */ static void fd_ring_check (FTS const *sp) { if (!fts_debug) return; /* Make a writable copy. */ I_ring fd_w = sp->fts_fd_ring; int cwd_fd = sp->fts_cwd_fd; cwd_fd = dup (cwd_fd); char *dot = getcwdat (cwd_fd, NULL, 0); error (0, 0, "===== check ===== cwd: %s", dot); free (dot); while ( ! i_ring_empty (&fd_w)) { int fd = i_ring_pop (&fd_w); if (0 <= fd) { int parent_fd = openat (cwd_fd, "..", O_SEARCH | O_NOATIME); if (parent_fd < 0) { // Warn? break; } if (!same_fd (fd, parent_fd)) { char *cwd = getcwdat (fd, NULL, 0); error (0, errno, "ring : %s", cwd); char *c2 = getcwdat (parent_fd, NULL, 0); error (0, errno, "parent: %s", c2); free (cwd); free (c2); fts_assert (0); } close (cwd_fd); cwd_fd = parent_fd; } } close (cwd_fd); } #endif static unsigned short int internal_function fts_stat(FTS *sp, register FTSENT *p, bool follow) { struct stat *sbp = p->fts_statp; int saved_errno; if (p->fts_level == FTS_ROOTLEVEL && ISSET(FTS_COMFOLLOW)) follow = true; /* * If doing a logical walk, or application requested FTS_FOLLOW, do * a stat(2). If that fails, check for a non-existent symlink. If * fail, set the errno from the stat call. */ if (ISSET(FTS_LOGICAL) || follow) { if (stat(p->fts_accpath, sbp)) { saved_errno = errno; if (errno == ENOENT && lstat(p->fts_accpath, sbp) == 0) { __set_errno (0); return (FTS_SLNONE); } p->fts_errno = saved_errno; goto err; } } else if (fstatat(sp->fts_cwd_fd, p->fts_accpath, sbp, AT_SYMLINK_NOFOLLOW)) { p->fts_errno = errno; err: memset(sbp, 0, sizeof(struct stat)); return (FTS_NS); } if (S_ISDIR(sbp->st_mode)) { p->fts_n_dirs_remaining = (sbp->st_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2)); if (ISDOT(p->fts_name)) { /* Command-line "." and ".." are real directories. */ return (p->fts_level == FTS_ROOTLEVEL ? FTS_D : FTS_DOT); } return (FTS_D); } if (S_ISLNK(sbp->st_mode)) return (FTS_SL); if (S_ISREG(sbp->st_mode)) return (FTS_F); return (FTS_DEFAULT); } static int fts_compar (void const *a, void const *b) { /* Convert A and B to the correct types, to pacify the compiler, and for portability to bizarre hosts where "void const *" and "FTSENT const **" differ in runtime representation. The comparison function cannot modify *a and *b, but there is no compile-time check for this. */ FTSENT const **pa = (FTSENT const **) a; FTSENT const **pb = (FTSENT const **) b; return pa[0]->fts_fts->fts_compar (pa, pb); } static FTSENT * internal_function fts_sort (FTS *sp, FTSENT *head, register size_t nitems) { register FTSENT **ap, *p; /* On most modern hosts, void * and FTSENT ** have the same run-time representation, and one can convert sp->fts_compar to the type qsort expects without problem. Use the heuristic that this is OK if the two pointer types are the same size, and if converting FTSENT ** to long int is the same as converting FTSENT ** to void * and then to long int. This heuristic isn't valid in general but we don't know of any counterexamples. */ FTSENT *dummy; int (*compare) (void const *, void const *) = ((sizeof &dummy == sizeof (void *) && (long int) &dummy == (long int) (void *) &dummy) ? (int (*) (void const *, void const *)) sp->fts_compar : fts_compar); /* * Construct an array of pointers to the structures and call qsort(3). * Reassemble the array in the order returned by qsort. If unable to * sort for memory reasons, return the directory entries in their * current order. Allocate enough space for the current needs plus * 40 so don't realloc one entry at a time. */ if (nitems > sp->fts_nitems) { FTSENT **a; sp->fts_nitems = nitems + 40; if (SIZE_MAX / sizeof *a < sp->fts_nitems || ! (a = realloc (sp->fts_array, sp->fts_nitems * sizeof *a))) { free(sp->fts_array); sp->fts_array = NULL; sp->fts_nitems = 0; return (head); } sp->fts_array = a; } for (ap = sp->fts_array, p = head; p; p = p->fts_link) *ap++ = p; qsort((void *)sp->fts_array, nitems, sizeof(FTSENT *), compare); for (head = *(ap = sp->fts_array); --nitems; ++ap) ap[0]->fts_link = ap[1]; ap[0]->fts_link = NULL; return (head); } static FTSENT * internal_function fts_alloc (FTS *sp, const char *name, register size_t namelen) { register FTSENT *p; size_t len; /* * The file name is a variable length array. Allocate the FTSENT * structure and the file name in one chunk. */ len = sizeof(FTSENT) + namelen; if ((p = malloc(len)) == NULL) return (NULL); /* Copy the name and guarantee NUL termination. */ memcpy(p->fts_name, name, namelen); p->fts_name[namelen] = '\0'; p->fts_namelen = namelen; p->fts_fts = sp; p->fts_path = sp->fts_path; p->fts_errno = 0; p->fts_dirp = NULL; p->fts_flags = 0; p->fts_instr = FTS_NOINSTR; p->fts_number = 0; p->fts_pointer = NULL; return (p); } static void internal_function fts_lfree (register FTSENT *head) { register FTSENT *p; /* Free a linked list of structures. */ while ((p = head)) { head = head->fts_link; if (p->fts_dirp) closedir (p->fts_dirp); free(p); } } /* * Allow essentially unlimited file name lengths; find, rm, ls should * all work on any tree. Most systems will allow creation of file * names much longer than MAXPATHLEN, even though the kernel won't * resolve them. Add the size (not just what's needed) plus 256 bytes * so don't realloc the file name 2 bytes at a time. */ static bool internal_function fts_palloc (FTS *sp, size_t more) { char *p; size_t new_len = sp->fts_pathlen + more + 256; /* * See if fts_pathlen would overflow. */ if (new_len < sp->fts_pathlen) { free(sp->fts_path); sp->fts_path = NULL; __set_errno (ENAMETOOLONG); return false; } sp->fts_pathlen = new_len; p = realloc(sp->fts_path, sp->fts_pathlen); if (p == NULL) { free(sp->fts_path); sp->fts_path = NULL; return false; } sp->fts_path = p; return true; } /* * When the file name is realloc'd, have to fix all of the pointers in * structures already returned. */ static void internal_function fts_padjust (FTS *sp, FTSENT *head) { FTSENT *p; char *addr = sp->fts_path; #define ADJUST(p) do { \ if ((p)->fts_accpath != (p)->fts_name) { \ (p)->fts_accpath = \ (char *)addr + ((p)->fts_accpath - (p)->fts_path); \ } \ (p)->fts_path = addr; \ } while (0) /* Adjust the current set of children. */ for (p = sp->fts_child; p; p = p->fts_link) ADJUST(p); /* Adjust the rest of the tree, including the current level. */ for (p = head; p->fts_level >= FTS_ROOTLEVEL;) { ADJUST(p); p = p->fts_link ? p->fts_link : p->fts_parent; } } static size_t internal_function _GL_ATTRIBUTE_PURE fts_maxarglen (char * const *argv) { size_t len, max; for (max = 0; *argv; ++argv) if ((len = strlen(*argv)) > max) max = len; return (max + 1); } /* * Change to dir specified by fd or file name without getting * tricked by someone changing the world out from underneath us. * Assumes p->fts_statp->st_dev and p->fts_statp->st_ino are filled in. * If FD is non-negative, expect it to be used after this function returns, * and to be closed eventually. So don't pass e.g., 'dirfd(dirp)' and then * do closedir(dirp), because that would invalidate the saved FD. * Upon failure, close FD immediately and return nonzero. */ static int internal_function fts_safe_changedir (FTS *sp, FTSENT *p, int fd, char const *dir) { int ret; bool is_dotdot = dir && STREQ (dir, ".."); int newfd; /* This clause handles the unusual case in which FTS_NOCHDIR is specified, along with FTS_CWDFD. In that case, there is no need to change even the virtual cwd file descriptor. However, if FD is non-negative, we do close it here. */ if (ISSET (FTS_NOCHDIR)) { if (ISSET (FTS_CWDFD) && 0 <= fd) close (fd); return 0; } if (fd < 0 && is_dotdot && ISSET (FTS_CWDFD)) { /* When possible, skip the diropen and subsequent fstat+dev/ino comparison. I.e., when changing to parent directory (chdir ("..")), use a file descriptor from the ring and save the overhead of diropen+fstat, as well as avoiding failure when we lack "x" access to the virtual cwd. */ if ( ! i_ring_empty (&sp->fts_fd_ring)) { int parent_fd; fd_ring_print (sp, stderr, "pre-pop"); parent_fd = i_ring_pop (&sp->fts_fd_ring); is_dotdot = true; if (0 <= parent_fd) { fd = parent_fd; dir = NULL; } } } newfd = fd; if (fd < 0 && (newfd = diropen (sp, dir)) < 0) return -1; /* The following dev/inode check is necessary if we're doing a "logical" traversal (through symlinks, a la chown -L), if the system lacks O_NOFOLLOW support, or if we're changing to ".." (but not via a popped file descriptor). When changing to the name "..", O_NOFOLLOW can't help. In general, when the target is not "..", diropen's use of O_NOFOLLOW ensures we don't mistakenly follow a symlink, so we can avoid the expense of this fstat. */ if (ISSET(FTS_LOGICAL) || ! HAVE_WORKING_O_NOFOLLOW || (dir && STREQ (dir, ".."))) { struct stat sb; if (fstat(newfd, &sb)) { ret = -1; goto bail; } if (p->fts_statp->st_dev != sb.st_dev || p->fts_statp->st_ino != sb.st_ino) { __set_errno (ENOENT); /* disinformation */ ret = -1; goto bail; } } if (ISSET(FTS_CWDFD)) { cwd_advance_fd (sp, newfd, ! is_dotdot); return 0; } ret = fchdir(newfd); bail: if (fd < 0) { int oerrno = errno; (void)close(newfd); __set_errno (oerrno); } return ret; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wait-process.c�������������������������������������������������������������������0000664�0000000�0000000�00000026074�12071024546�013712� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Waiting for a subprocess to finish. Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <haible@clisp.cons.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "wait-process.h" #include <errno.h> #include <stdlib.h> #include <string.h> #include <signal.h> #include <sys/types.h> #include <sys/wait.h> #include "error.h" #include "fatal-signal.h" #include "xalloc.h" #include "gettext.h" #define _(str) gettext (str) #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) #if defined _MSC_VER || defined __MINGW32__ #define WIN32_LEAN_AND_MEAN #include <windows.h> /* The return value of spawnvp() is really a process handle as returned by CreateProcess(). Therefore we can kill it using TerminateProcess. */ #define kill(pid,sig) TerminateProcess ((HANDLE) (pid), sig) #endif /* Type of an entry in the slaves array. The 'used' bit determines whether this entry is currently in use. (If pid_t was an atomic type like sig_atomic_t, we could just set the 'child' field to 0 when unregistering a slave process, and wouldn't need the 'used' field.) The 'used' and 'child' fields are accessed from within the cleanup_slaves() action, therefore we mark them as 'volatile'. */ typedef struct { volatile sig_atomic_t used; volatile pid_t child; } slaves_entry_t; /* The registered slave subprocesses. */ static slaves_entry_t static_slaves[32]; static slaves_entry_t * volatile slaves = static_slaves; static sig_atomic_t volatile slaves_count = 0; static size_t slaves_allocated = SIZEOF (static_slaves); /* The termination signal for slave subprocesses. 2003-10-07: Terminator becomes Governator. */ #ifdef SIGHUP # define TERMINATOR SIGHUP #else # define TERMINATOR SIGTERM #endif /* The cleanup action. It gets called asynchronously. */ static void cleanup_slaves (void) { for (;;) { /* Get the last registered slave. */ size_t n = slaves_count; if (n == 0) break; n--; slaves_count = n; /* Skip unused entries in the slaves array. */ if (slaves[n].used) { pid_t slave = slaves[n].child; /* Kill the slave. */ kill (slave, TERMINATOR); } } } /* Register a subprocess as being a slave process. This means that the subprocess will be terminated when its creator receives a catchable fatal signal or exits normally. Registration ends when wait_subprocess() notices that the subprocess has exited. */ void register_slave_subprocess (pid_t child) { static bool cleanup_slaves_registered = false; if (!cleanup_slaves_registered) { atexit (cleanup_slaves); at_fatal_signal (cleanup_slaves); cleanup_slaves_registered = true; } /* Try to store the new slave in an unused entry of the slaves array. */ { slaves_entry_t *s = slaves; slaves_entry_t *s_end = s + slaves_count; for (; s < s_end; s++) if (!s->used) { /* The two uses of 'volatile' in the slaves_entry_t type above (and ISO C 99 section 5.1.2.3.(5)) ensure that we mark the entry as used only after the child pid has been written to the memory location s->child. */ s->child = child; s->used = 1; return; } } if (slaves_count == slaves_allocated) { /* Extend the slaves array. Note that we cannot use xrealloc(), because then the cleanup_slaves() function could access an already deallocated array. */ slaves_entry_t *old_slaves = slaves; size_t new_slaves_allocated = 2 * slaves_allocated; slaves_entry_t *new_slaves = (slaves_entry_t *) malloc (new_slaves_allocated * sizeof (slaves_entry_t)); if (new_slaves == NULL) { /* xalloc_die() will call exit() which will invoke cleanup_slaves(). Additionally we need to kill child, because it's not yet among the slaves list. */ kill (child, TERMINATOR); xalloc_die (); } memcpy (new_slaves, old_slaves, slaves_allocated * sizeof (slaves_entry_t)); slaves = new_slaves; slaves_allocated = new_slaves_allocated; /* Now we can free the old slaves array. */ if (old_slaves != static_slaves) free (old_slaves); } /* The three uses of 'volatile' in the types above (and ISO C 99 section 5.1.2.3.(5)) ensure that we increment the slaves_count only after the new slave and its 'used' bit have been written to the memory locations that make up slaves[slaves_count]. */ slaves[slaves_count].child = child; slaves[slaves_count].used = 1; slaves_count++; } /* Unregister a child from the list of slave subprocesses. */ static void unregister_slave_subprocess (pid_t child) { /* The easiest way to remove an entry from a list that can be used by an asynchronous signal handler is just to mark it as unused. For this, we rely on sig_atomic_t. */ slaves_entry_t *s = slaves; slaves_entry_t *s_end = s + slaves_count; for (; s < s_end; s++) if (s->used && s->child == child) s->used = 0; } /* Wait for a subprocess to finish. Return its exit code. If it didn't terminate correctly, exit if exit_on_error is true, otherwise return 127. */ int wait_subprocess (pid_t child, const char *progname, bool ignore_sigpipe, bool null_stderr, bool slave_process, bool exit_on_error, int *termsigp) { #if HAVE_WAITID && defined WNOWAIT && 0 /* Commented out because waitid() without WEXITED and with WNOWAIT doesn't work: On Solaris 7 and OSF/1 4.0, it returns -1 and sets errno = ECHILD, and on HP-UX 10.20 it just hangs. */ /* Use of waitid() with WNOWAIT avoids a race condition: If slave_process is true, and this process sleeps a very long time between the return from waitpid() and the execution of unregister_slave_subprocess(), and meanwhile another process acquires the same PID as child, and then - still before unregister_slave_subprocess() - this process gets a fatal signal, it would kill the other totally unrelated process. */ siginfo_t info; if (termsigp != NULL) *termsigp = 0; for (;;) { if (waitid (P_PID, child, &info, WEXITED | (slave_process ? WNOWAIT : 0)) < 0) { # ifdef EINTR if (errno == EINTR) continue; # endif if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, errno, _("%s subprocess"), progname); return 127; } /* info.si_code is set to one of CLD_EXITED, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED. Loop until the program terminates. */ if (info.si_code == CLD_EXITED || info.si_code == CLD_KILLED || info.si_code == CLD_DUMPED) break; } /* The child process has exited or was signalled. */ if (slave_process) { /* Unregister the child from the list of slave subprocesses, so that later, when we exit, we don't kill a totally unrelated process which may have acquired the same pid. */ unregister_slave_subprocess (child); /* Now remove the zombie from the process list. */ for (;;) { if (waitid (P_PID, child, &info, WEXITED) < 0) { # ifdef EINTR if (errno == EINTR) continue; # endif if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, errno, _("%s subprocess"), progname); return 127; } break; } } switch (info.si_code) { case CLD_KILLED: case CLD_DUMPED: if (termsigp != NULL) *termsigp = info.si_status; /* TODO: or info.si_signo? */ # ifdef SIGPIPE if (info.si_status == SIGPIPE && ignore_sigpipe) return 0; # endif if (exit_on_error || (!null_stderr && termsigp == NULL)) error (exit_on_error ? EXIT_FAILURE : 0, 0, _("%s subprocess got fatal signal %d"), progname, info.si_status); return 127; case CLD_EXITED: if (info.si_status == 127) { if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, 0, _("%s subprocess failed"), progname); return 127; } return info.si_status; default: abort (); } #else /* waitpid() is just as portable as wait() nowadays. */ int status; if (termsigp != NULL) *termsigp = 0; status = 0; for (;;) { int result = waitpid (child, &status, 0); if (result != child) { # ifdef EINTR if (errno == EINTR) continue; # endif # if 0 /* defined ECHILD */ if (errno == ECHILD) { /* Child process nonexistent?! Assume it terminated successfully. */ status = 0; break; } # endif if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, errno, _("%s subprocess"), progname); return 127; } /* One of WIFSIGNALED (status), WIFEXITED (status), WIFSTOPPED (status) must always be true, since we did not specify WCONTINUED in the waitpid() call. Loop until the program terminates. */ if (!WIFSTOPPED (status)) break; } /* The child process has exited or was signalled. */ if (slave_process) /* Unregister the child from the list of slave subprocesses, so that later, when we exit, we don't kill a totally unrelated process which may have acquired the same pid. */ unregister_slave_subprocess (child); if (WIFSIGNALED (status)) { if (termsigp != NULL) *termsigp = WTERMSIG (status); # ifdef SIGPIPE if (WTERMSIG (status) == SIGPIPE && ignore_sigpipe) return 0; # endif if (exit_on_error || (!null_stderr && termsigp == NULL)) error (exit_on_error ? EXIT_FAILURE : 0, 0, _("%s subprocess got fatal signal %d"), progname, (int) WTERMSIG (status)); return 127; } if (!WIFEXITED (status)) abort (); if (WEXITSTATUS (status) == 127) { if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, 0, _("%s subprocess failed"), progname); return 127; } return WEXITSTATUS (status); #endif } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstriconv.h����������������������������������������������������������������������0000664�0000000�0000000�00000006056�12071024546�013334� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Charset conversion with out-of-memory checking. Copyright (C) 2001-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _XSTRICONV_H #define _XSTRICONV_H #include <stddef.h> #if HAVE_ICONV #include <iconv.h> #endif #ifdef __cplusplus extern "C" { #endif #if HAVE_ICONV /* Convert an entire string from one encoding to another, using iconv. The original string is at [SRC,...,SRC+SRCLEN-1]. The conversion descriptor is passed as CD. *RESULTP and *LENGTH should initially be a scratch buffer and its size, or *RESULTP can initially be NULL. May erase the contents of the memory at *RESULTP. Upon memory allocation failure, report the error and exit. Return value: 0 if successful, otherwise -1 and errno set. If successful: The resulting string is stored in *RESULTP and its length in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is unchanged if no dynamic memory allocation was necessary. */ extern int xmem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp); /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. The conversion descriptor is passed as CD. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Upon memory allocation failure, report the error and exit. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * xstr_cd_iconv (const char *src, iconv_t cd); #endif /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Upon memory allocation failure, report the error and exit. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * xstr_iconv (const char *src, const char *from_codeset, const char *to_codeset); #ifdef __cplusplus } #endif #endif /* _XSTRICONV_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/utimecmp.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002234�12071024546�013112� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* utimecmp.h -- compare file time stamps Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef UTIMECMP_H #define UTIMECMP_H 1 #include <sys/types.h> #include <sys/stat.h> /* Options for utimecmp. */ enum { /* Before comparing, truncate the source time stamp to the resolution of the destination file system and to the resolution of utimens. */ UTIMECMP_TRUNCATE_SOURCE = 1 }; int utimecmp (char const *, struct stat const *, struct stat const *, int); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/version-etc.c��������������������������������������������������������������������0000664�0000000�0000000�00000021765�12071024546�013532� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Print --version and bug-reporting information in a consistent format. Copyright (C) 1999-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> /* Specification. */ #include "version-etc.h" #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #include "gettext.h" #define _(msgid) gettext (msgid) /* If you use AM_INIT_AUTOMAKE's no-define option, PACKAGE is not defined. Use PACKAGE_TARNAME instead. */ #if ! defined PACKAGE && defined PACKAGE_TARNAME # define PACKAGE PACKAGE_TARNAME #endif enum { COPYRIGHT_YEAR = 2013 }; /* The three functions below display the --version information the standard way. If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The functions differ in the way they are passed author names. */ /* Display the --version information the standard way. Author names are given in the array AUTHORS. N_AUTHORS is the number of elements in the array. */ void version_etc_arn (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors, size_t n_authors) { if (command_name) fprintf (stream, "%s (%s) %s\n", command_name, package, version); else fprintf (stream, "%s %s\n", package, version); #ifdef PACKAGE_PACKAGER # ifdef PACKAGE_PACKAGER_VERSION fprintf (stream, _("Packaged by %s (%s)\n"), PACKAGE_PACKAGER, PACKAGE_PACKAGER_VERSION); # else fprintf (stream, _("Packaged by %s\n"), PACKAGE_PACKAGER); # endif #endif /* TRANSLATORS: Translate "(C)" to the copyright symbol (C-in-a-circle), if this symbol is available in the user's locale. Otherwise, do not translate "(C)"; leave it as-is. */ fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR); fputs (_("\ \n\ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n\ \n\ "), stream); switch (n_authors) { case 0: /* The caller must provide at least one author name. */ abort (); case 1: /* TRANSLATORS: %s denotes an author name. */ fprintf (stream, _("Written by %s.\n"), authors[0]); break; case 2: /* TRANSLATORS: Each %s denotes an author name. */ fprintf (stream, _("Written by %s and %s.\n"), authors[0], authors[1]); break; case 3: /* TRANSLATORS: Each %s denotes an author name. */ fprintf (stream, _("Written by %s, %s, and %s.\n"), authors[0], authors[1], authors[2]); break; case 4: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"), authors[0], authors[1], authors[2], authors[3]); break; case 5: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4]); break; case 6: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5]); break; case 7: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6]); break; case 8: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\nand %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7]); break; case 9: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, and %s.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7], authors[8]); break; default: /* 10 or more authors. Use an abbreviation, since the human reader will probably not want to read the entire list anyway. */ /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ fprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, %s, and others.\n"), authors[0], authors[1], authors[2], authors[3], authors[4], authors[5], authors[6], authors[7], authors[8]); break; } } /* Display the --version information the standard way. See the initial comment to this module, for more information. Author names are given in the NULL-terminated array AUTHORS. */ void version_etc_ar (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors) { size_t n_authors; for (n_authors = 0; authors[n_authors]; n_authors++) ; version_etc_arn (stream, command_name, package, version, authors, n_authors); } /* Display the --version information the standard way. See the initial comment to this module, for more information. Author names are given in the NULL-terminated va_list AUTHORS. */ void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors) { size_t n_authors; const char *authtab[10]; for (n_authors = 0; n_authors < 10 && (authtab[n_authors] = va_arg (authors, const char *)) != NULL; n_authors++) ; version_etc_arn (stream, command_name, package, version, authtab, n_authors); } /* Display the --version information the standard way. If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The authors names are passed as separate arguments, with an additional NULL argument at the end. */ void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ...*/ ...) { va_list authors; va_start (authors, version); version_etc_va (stream, command_name, package, version, authors); va_end (authors); } void emit_bug_reporting_address (void) { /* TRANSLATORS: The placeholder indicates the bug-reporting address for this package. Please add _another line_ saying "Report translation bugs to <...>\n" with the address for translation bugs (typically your translation team's web or email address). */ printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT); #ifdef PACKAGE_PACKAGER_BUG_REPORTS printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER, PACKAGE_PACKAGER_BUG_REPORTS); #endif #ifdef PACKAGE_URL printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); #else printf (_("%s home page: <http://www.gnu.org/software/%s/>\n"), PACKAGE_NAME, PACKAGE); #endif fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>\n"), stdout); } �����������coreutils-8.21/lib/dup2.c���������������������������������������������������������������������������0000664�0000000�0000000�00000007165�12071024546�012144� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Duplicate an open file descriptor to a specified file descriptor. Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Paul Eggert */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include <fcntl.h> #if HAVE_DUP2 # undef dup2 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> # include "msvc-inval.h" /* Get _get_osfhandle. */ # include "msvc-nothrow.h" static int ms_windows_dup2 (int fd, int desired_fd) { int result; /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open, dup2 (fd, fd) returns 0, but all further attempts to use fd in future dup2 calls will hang. */ if (fd == desired_fd) { if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } return fd; } /* Wine 1.0.1 return 0 when desired_fd is negative but not -1: http://bugs.winehq.org/show_bug.cgi?id=21289 */ if (desired_fd < 0) { errno = EBADF; return -1; } TRY_MSVC_INVAL { result = dup2 (fd, desired_fd); } CATCH_MSVC_INVAL { errno = EBADF; result = -1; } DONE_MSVC_INVAL; if (result == 0) result = desired_fd; return result; } # define dup2 ms_windows_dup2 # endif int rpl_dup2 (int fd, int desired_fd) { int result; # ifdef F_GETFL /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF. On Cygwin 1.5.x, dup2 (1, 1) returns 0. On Cygwin 1.7.17, dup2 (1, -1) dumps core. On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */ if (desired_fd < 0) fd = desired_fd; if (fd == desired_fd) return fcntl (fd, F_GETFL) == -1 ? -1 : fd; # endif result = dup2 (fd, desired_fd); /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */ if (result == -1 && errno == EMFILE) errno = EBADF; # if REPLACE_FCHDIR if (fd != desired_fd && result != -1) result = _gl_register_dup (fd, result); # endif return result; } #else /* !HAVE_DUP2 */ /* On older platforms, dup2 did not exist. */ # ifndef F_DUPFD static int dupfd (int fd, int desired_fd) { int duplicated_fd = dup (fd); if (duplicated_fd < 0 || duplicated_fd == desired_fd) return duplicated_fd; else { int r = dupfd (fd, desired_fd); int e = errno; close (duplicated_fd); errno = e; return r; } } # endif int dup2 (int fd, int desired_fd) { int result = fcntl (fd, F_GETFL) < 0 ? -1 : fd; if (result == -1 || fd == desired_fd) return result; close (desired_fd); # ifdef F_DUPFD result = fcntl (fd, F_DUPFD, desired_fd); # if REPLACE_FCHDIR if (0 <= result) result = _gl_register_dup (fd, result); # endif # else result = dupfd (fd, desired_fd); # endif if (result == -1 && (errno == EMFILE || errno == EINVAL)) errno = EBADF; return result; } #endif /* !HAVE_DUP2 */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/lseek.c��������������������������������������������������������������������������0000664�0000000�0000000�00000003433�12071561010�012357� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An lseek() function that detects pipes. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ /* Get GetFileType. */ # include <windows.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" #else # include <sys/stat.h> #endif #include <errno.h> #undef lseek off_t rpl_lseek (int fd, off_t offset, int whence) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (GetFileType (h) != FILE_TYPE_DISK) { errno = ESPIPE; return -1; } #else /* BeOS lseek mistakenly succeeds on pipes... */ struct stat statbuf; if (fstat (fd, &statbuf) < 0) return -1; if (!S_ISREG (statbuf.st_mode)) { errno = ESPIPE; return -1; } #endif #if _GL_WINDOWS_64_BIT_OFF_T return _lseeki64 (fd, offset, whence); #else return lseek (fd, offset, whence); #endif } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/propername.h���������������������������������������������������������������������0000664�0000000�0000000�00000007234�12071024546�013444� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Localization of proper names. Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2006. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* INTRODUCTION What do Torbjörn Granlund (coreutils) François Pinard (coreutils) Danilo Šegan (gettext) have in common? A non-ASCII name. This causes trouble in the --version output. The simple "solution", unfortunately mutilates the name. $ du --version| grep Granlund Écrit par Torbjorn Granlund, David MacKenzie, Paul Eggert et Jim Meyering. $ ptx --version| grep Pinard Écrit par F. Pinard. What is desirable, is to print the full name if the output character set allows it, and the ASCIIfied name only as a fallback. $ recode-sr-latin --version ... Written by Danilo Šegan and Bruno Haible. $ LC_ALL=C recode-sr-latin --version ... Written by Danilo Segan and Bruno Haible. The 'propername' module does exactly this. Plus, for languages that use a different writing system than the Latin alphabet, it allows a translator to write the name using that different writing system. In that case the output will look like this: <translated name> (<original name in English>) To use the 'propername' module is done in three simple steps: 1) Add it to the list of gnulib modules to import, 2) Change the arguments of version_etc, from from "Paul Eggert" to proper_name ("Paul Eggert") from "Torbjorn Granlund" to proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund") from "F. Pinard" to proper_name_utf8 ("Franc,ois Pinard", "Fran\303\247ois Pinard") (Optionally, here you can also add / * TRANSLATORS: ... * / comments explaining how the name is written or pronounced.) 3) If you are using GNU gettext version 0.16.1 or older, in po/Makevars, in the definition of the XGETTEXT_OPTIONS variable, add: --keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."' --keyword='proper_name_utf8:1,"This is a proper name. See the gettext manual, section Names."' This specifies automatic comments for the translator. (Requires xgettext >= 0.15. The double-quotes inside the quoted string are on purpose: they are part of the --keyword argument syntax.) */ #ifndef _PROPERNAME_H #define _PROPERNAME_H #ifdef __cplusplus extern "C" { #endif /* Return the localization of NAME. NAME is written in ASCII. */ extern const char * proper_name (const char *name) /* NOT attribute const */; /* Return the localization of a name whose original writing is not ASCII. NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal escape sequences. NAME_ASCII is a fallback written only with ASCII characters. */ extern const char * proper_name_utf8 (const char *name_ascii, const char *name_utf8); #ifdef __cplusplus } #endif #endif /* _PROPERNAME_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/math.in.h������������������������������������������������������������������������0000664�0000000�0000000�00000177646�12071024546�012651� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <math.h>. Copyright (C) 2002-2003, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_MATH_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ #ifndef _@GUARD_PREFIX@_MATH_H #define _@GUARD_PREFIX@_MATH_H _GL_INLINE_HEADER_BEGIN #ifndef _GL_MATH_INLINE # define _GL_MATH_INLINE _GL_INLINE #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #ifdef __cplusplus /* Helper macros to define type-generic function FUNC as overloaded functions, rather than as macros like in C. POSIX declares these with an argument of real-floating (that is, one of float, double, or long double). */ # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \ static inline int \ _gl_cxx_ ## func ## f (float f) \ { \ return func (f); \ } \ static inline int \ _gl_cxx_ ## func ## d (double d) \ { \ return func (d); \ } \ static inline int \ _gl_cxx_ ## func ## l (long double l) \ { \ return func (l); \ } # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ inline int \ func (float f) \ { \ return _gl_cxx_ ## func ## f (f); \ } \ inline int \ func (double d) \ { \ return _gl_cxx_ ## func ## d (d); \ } \ inline int \ func (long double l) \ { \ return _gl_cxx_ ## func ## l (l); \ } #endif /* Helper macros to define a portability warning for the classification macro FUNC called with VALUE. POSIX declares the classification macros with an argument of real-floating (that is, one of float, double, or long double). */ #define _GL_WARN_REAL_FLOATING_DECL(func) \ _GL_MATH_INLINE int \ rpl_ ## func ## f (float f) \ { \ return func (f); \ } \ _GL_MATH_INLINE int \ rpl_ ## func ## d (double d) \ { \ return func (d); \ } \ _GL_MATH_INLINE int \ rpl_ ## func ## l (long double l) \ { \ return func (l); \ } \ _GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \ "use gnulib module " #func " for portability"); \ _GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \ "use gnulib module " #func " for portability"); \ _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ "use gnulib module " #func " for portability") #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ : rpl_ ## func ## l (value)) #if @REPLACE_ITOLD@ /* Pull in a function that fixes the 'int' to 'long double' conversion of glibc 2.7. */ _GL_EXTERN_C void _Qp_itoq (long double *, int); static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq; #endif /* POSIX allows platforms that don't support NAN. But all major machines in the past 15 years have supported something close to IEEE NaN, so we define this unconditionally. We also must define it on platforms like Solaris 10, where NAN is present but defined as a function pointer rather than a floating point constant. */ #if !defined NAN || @REPLACE_NAN@ # if !GNULIB_defined_NAN # undef NAN /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke on the expression 0.0 / 0.0. */ # if defined __DECC || defined _MSC_VER _GL_MATH_INLINE float _NaN () { static float zero = 0.0f; return zero / zero; } # define NAN (_NaN()) # else # define NAN (0.0f / 0.0f) # endif # define GNULIB_defined_NAN 1 # endif #endif /* Solaris 10 defines HUGE_VAL, but as a function pointer rather than a floating point constant. */ #if @REPLACE_HUGE_VAL@ # undef HUGE_VALF # define HUGE_VALF (1.0f / 0.0f) # undef HUGE_VAL # define HUGE_VAL (1.0 / 0.0) # undef HUGE_VALL # define HUGE_VALL (1.0L / 0.0L) #endif /* HUGE_VALF is a 'float' Infinity. */ #ifndef HUGE_VALF # if defined _MSC_VER /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */ # define HUGE_VALF (1e25f * 1e25f) # else # define HUGE_VALF (1.0f / 0.0f) # endif #endif /* HUGE_VAL is a 'double' Infinity. */ #ifndef HUGE_VAL # if defined _MSC_VER /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */ # define HUGE_VAL (1e250 * 1e250) # else # define HUGE_VAL (1.0 / 0.0) # endif #endif /* HUGE_VALL is a 'long double' Infinity. */ #ifndef HUGE_VALL # if defined _MSC_VER /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */ # define HUGE_VALL (1e250L * 1e250L) # else # define HUGE_VALL (1.0L / 0.0L) # endif #endif /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */ #if !(defined FP_ILOGB0 && defined FP_ILOGBNAN) # if defined __NetBSD__ || defined __sgi /* NetBSD, IRIX 6.5: match what ilogb() does */ # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */ # elif defined _AIX /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */ # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ # define FP_ILOGBNAN 2147483647 /* INT_MAX */ # elif defined __sun /* Solaris 9: match what ilogb() does */ # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */ # define FP_ILOGBNAN 2147483647 /* INT_MAX */ # else /* Gnulib defined values. */ # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */ # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */ # endif #endif #if @GNULIB_ACOSF@ # if !@HAVE_ACOSF@ # undef acosf _GL_FUNCDECL_SYS (acosf, float, (float x)); # endif _GL_CXXALIAS_SYS (acosf, float, (float x)); _GL_CXXALIASWARN (acosf); #elif defined GNULIB_POSIXCHECK # undef acosf # if HAVE_RAW_DECL_ACOSF _GL_WARN_ON_USE (acosf, "acosf is unportable - " "use gnulib module acosf for portability"); # endif #endif #if @GNULIB_ACOSL@ # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@ # undef acosl _GL_FUNCDECL_SYS (acosl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (acosl, long double, (long double x)); _GL_CXXALIASWARN (acosl); #elif defined GNULIB_POSIXCHECK # undef acosl # if HAVE_RAW_DECL_ACOSL _GL_WARN_ON_USE (acosl, "acosl is unportable - " "use gnulib module acosl for portability"); # endif #endif #if @GNULIB_ASINF@ # if !@HAVE_ASINF@ # undef asinf _GL_FUNCDECL_SYS (asinf, float, (float x)); # endif _GL_CXXALIAS_SYS (asinf, float, (float x)); _GL_CXXALIASWARN (asinf); #elif defined GNULIB_POSIXCHECK # undef asinf # if HAVE_RAW_DECL_ASINF _GL_WARN_ON_USE (asinf, "asinf is unportable - " "use gnulib module asinf for portability"); # endif #endif #if @GNULIB_ASINL@ # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@ # undef asinl _GL_FUNCDECL_SYS (asinl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (asinl, long double, (long double x)); _GL_CXXALIASWARN (asinl); #elif defined GNULIB_POSIXCHECK # undef asinl # if HAVE_RAW_DECL_ASINL _GL_WARN_ON_USE (asinl, "asinl is unportable - " "use gnulib module asinl for portability"); # endif #endif #if @GNULIB_ATANF@ # if !@HAVE_ATANF@ # undef atanf _GL_FUNCDECL_SYS (atanf, float, (float x)); # endif _GL_CXXALIAS_SYS (atanf, float, (float x)); _GL_CXXALIASWARN (atanf); #elif defined GNULIB_POSIXCHECK # undef atanf # if HAVE_RAW_DECL_ATANF _GL_WARN_ON_USE (atanf, "atanf is unportable - " "use gnulib module atanf for portability"); # endif #endif #if @GNULIB_ATANL@ # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@ # undef atanl _GL_FUNCDECL_SYS (atanl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (atanl, long double, (long double x)); _GL_CXXALIASWARN (atanl); #elif defined GNULIB_POSIXCHECK # undef atanl # if HAVE_RAW_DECL_ATANL _GL_WARN_ON_USE (atanl, "atanl is unportable - " "use gnulib module atanl for portability"); # endif #endif #if @GNULIB_ATAN2F@ # if !@HAVE_ATAN2F@ # undef atan2f _GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); # endif _GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); _GL_CXXALIASWARN (atan2f); #elif defined GNULIB_POSIXCHECK # undef atan2f # if HAVE_RAW_DECL_ATAN2F _GL_WARN_ON_USE (atan2f, "atan2f is unportable - " "use gnulib module atan2f for portability"); # endif #endif #if @GNULIB_CBRTF@ # if @REPLACE_CBRTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef cbrtf # define cbrtf rpl_cbrtf # endif _GL_FUNCDECL_RPL (cbrtf, float, (float x)); _GL_CXXALIAS_RPL (cbrtf, float, (float x)); # else # if !@HAVE_DECL_CBRTF@ _GL_FUNCDECL_SYS (cbrtf, float, (float x)); # endif _GL_CXXALIAS_SYS (cbrtf, float, (float x)); # endif _GL_CXXALIASWARN (cbrtf); #elif defined GNULIB_POSIXCHECK # undef cbrtf # if HAVE_RAW_DECL_CBRTF _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - " "use gnulib module cbrtf for portability"); # endif #endif #if @GNULIB_CBRT@ # if !@HAVE_CBRT@ _GL_FUNCDECL_SYS (cbrt, double, (double x)); # endif _GL_CXXALIAS_SYS (cbrt, double, (double x)); _GL_CXXALIASWARN (cbrt); #elif defined GNULIB_POSIXCHECK # undef cbrt # if HAVE_RAW_DECL_CBRT _GL_WARN_ON_USE (cbrt, "cbrt is unportable - " "use gnulib module cbrt for portability"); # endif #endif #if @GNULIB_CBRTL@ # if @REPLACE_CBRTL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef cbrtl # define cbrtl rpl_cbrtl # endif _GL_FUNCDECL_RPL (cbrtl, long double, (long double x)); _GL_CXXALIAS_RPL (cbrtl, long double, (long double x)); # else # if !@HAVE_DECL_CBRTL@ _GL_FUNCDECL_SYS (cbrtl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (cbrtl, long double, (long double x)); # endif _GL_CXXALIASWARN (cbrtl); #elif defined GNULIB_POSIXCHECK # undef cbrtl # if HAVE_RAW_DECL_CBRTL _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - " "use gnulib module cbrtl for portability"); # endif #endif #if @GNULIB_CEILF@ # if @REPLACE_CEILF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ceilf # define ceilf rpl_ceilf # endif _GL_FUNCDECL_RPL (ceilf, float, (float x)); _GL_CXXALIAS_RPL (ceilf, float, (float x)); # else # if !@HAVE_DECL_CEILF@ # undef ceilf _GL_FUNCDECL_SYS (ceilf, float, (float x)); # endif _GL_CXXALIAS_SYS (ceilf, float, (float x)); # endif _GL_CXXALIASWARN (ceilf); #elif defined GNULIB_POSIXCHECK # undef ceilf # if HAVE_RAW_DECL_CEILF _GL_WARN_ON_USE (ceilf, "ceilf is unportable - " "use gnulib module ceilf for portability"); # endif #endif #if @GNULIB_CEIL@ # if @REPLACE_CEIL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define ceil rpl_ceil # endif _GL_FUNCDECL_RPL (ceil, double, (double x)); _GL_CXXALIAS_RPL (ceil, double, (double x)); # else _GL_CXXALIAS_SYS (ceil, double, (double x)); # endif _GL_CXXALIASWARN (ceil); #endif #if @GNULIB_CEILL@ # if @REPLACE_CEILL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ceill # define ceill rpl_ceill # endif _GL_FUNCDECL_RPL (ceill, long double, (long double x)); _GL_CXXALIAS_RPL (ceill, long double, (long double x)); # else # if !@HAVE_DECL_CEILL@ # undef ceill _GL_FUNCDECL_SYS (ceill, long double, (long double x)); # endif _GL_CXXALIAS_SYS (ceill, long double, (long double x)); # endif _GL_CXXALIASWARN (ceill); #elif defined GNULIB_POSIXCHECK # undef ceill # if HAVE_RAW_DECL_CEILL _GL_WARN_ON_USE (ceill, "ceill is unportable - " "use gnulib module ceill for portability"); # endif #endif #if @GNULIB_COPYSIGNF@ # if !@HAVE_DECL_COPYSIGNF@ _GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); # endif _GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); _GL_CXXALIASWARN (copysignf); #elif defined GNULIB_POSIXCHECK # undef copysignf # if HAVE_RAW_DECL_COPYSIGNF _GL_WARN_ON_USE (copysignf, "copysignf is unportable - " "use gnulib module copysignf for portability"); # endif #endif #if @GNULIB_COPYSIGN@ # if !@HAVE_COPYSIGN@ _GL_FUNCDECL_SYS (copysign, double, (double x, double y)); # endif _GL_CXXALIAS_SYS (copysign, double, (double x, double y)); _GL_CXXALIASWARN (copysign); #elif defined GNULIB_POSIXCHECK # undef copysign # if HAVE_RAW_DECL_COPYSIGN _GL_WARN_ON_USE (copysign, "copysign is unportable - " "use gnulib module copysign for portability"); # endif #endif #if @GNULIB_COPYSIGNL@ # if !@HAVE_COPYSIGNL@ _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); # endif _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); _GL_CXXALIASWARN (copysignl); #elif defined GNULIB_POSIXCHECK # undef copysignl # if HAVE_RAW_DECL_COPYSIGNL _GL_WARN_ON_USE (copysign, "copysignl is unportable - " "use gnulib module copysignl for portability"); # endif #endif #if @GNULIB_COSF@ # if !@HAVE_COSF@ # undef cosf _GL_FUNCDECL_SYS (cosf, float, (float x)); # endif _GL_CXXALIAS_SYS (cosf, float, (float x)); _GL_CXXALIASWARN (cosf); #elif defined GNULIB_POSIXCHECK # undef cosf # if HAVE_RAW_DECL_COSF _GL_WARN_ON_USE (cosf, "cosf is unportable - " "use gnulib module cosf for portability"); # endif #endif #if @GNULIB_COSL@ # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@ # undef cosl _GL_FUNCDECL_SYS (cosl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (cosl, long double, (long double x)); _GL_CXXALIASWARN (cosl); #elif defined GNULIB_POSIXCHECK # undef cosl # if HAVE_RAW_DECL_COSL _GL_WARN_ON_USE (cosl, "cosl is unportable - " "use gnulib module cosl for portability"); # endif #endif #if @GNULIB_COSHF@ # if !@HAVE_COSHF@ # undef coshf _GL_FUNCDECL_SYS (coshf, float, (float x)); # endif _GL_CXXALIAS_SYS (coshf, float, (float x)); _GL_CXXALIASWARN (coshf); #elif defined GNULIB_POSIXCHECK # undef coshf # if HAVE_RAW_DECL_COSHF _GL_WARN_ON_USE (coshf, "coshf is unportable - " "use gnulib module coshf for portability"); # endif #endif #if @GNULIB_EXPF@ # if !@HAVE_EXPF@ # undef expf _GL_FUNCDECL_SYS (expf, float, (float x)); # endif _GL_CXXALIAS_SYS (expf, float, (float x)); _GL_CXXALIASWARN (expf); #elif defined GNULIB_POSIXCHECK # undef expf # if HAVE_RAW_DECL_EXPF _GL_WARN_ON_USE (expf, "expf is unportable - " "use gnulib module expf for portability"); # endif #endif #if @GNULIB_EXPL@ # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ # undef expl _GL_FUNCDECL_SYS (expl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (expl, long double, (long double x)); _GL_CXXALIASWARN (expl); #elif defined GNULIB_POSIXCHECK # undef expl # if HAVE_RAW_DECL_EXPL _GL_WARN_ON_USE (expl, "expl is unportable - " "use gnulib module expl for portability"); # endif #endif #if @GNULIB_EXP2F@ # if !@HAVE_DECL_EXP2F@ _GL_FUNCDECL_SYS (exp2f, float, (float x)); # endif _GL_CXXALIAS_SYS (exp2f, float, (float x)); _GL_CXXALIASWARN (exp2f); #elif defined GNULIB_POSIXCHECK # undef exp2f # if HAVE_RAW_DECL_EXP2F _GL_WARN_ON_USE (exp2f, "exp2f is unportable - " "use gnulib module exp2f for portability"); # endif #endif #if @GNULIB_EXP2@ # if @REPLACE_EXP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef exp2 # define exp2 rpl_exp2 # endif _GL_FUNCDECL_RPL (exp2, double, (double x)); _GL_CXXALIAS_RPL (exp2, double, (double x)); # else # if !@HAVE_DECL_EXP2@ _GL_FUNCDECL_SYS (exp2, double, (double x)); # endif _GL_CXXALIAS_SYS (exp2, double, (double x)); # endif _GL_CXXALIASWARN (exp2); #elif defined GNULIB_POSIXCHECK # undef exp2 # if HAVE_RAW_DECL_EXP2 _GL_WARN_ON_USE (exp2, "exp2 is unportable - " "use gnulib module exp2 for portability"); # endif #endif #if @GNULIB_EXP2L@ # if @REPLACE_EXP2L@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef exp2l # define exp2l rpl_exp2l # endif _GL_FUNCDECL_RPL (exp2l, long double, (long double x)); _GL_CXXALIAS_RPL (exp2l, long double, (long double x)); # else # if !@HAVE_DECL_EXP2L@ # undef exp2l _GL_FUNCDECL_SYS (exp2l, long double, (long double x)); # endif _GL_CXXALIAS_SYS (exp2l, long double, (long double x)); # endif _GL_CXXALIASWARN (exp2l); #elif defined GNULIB_POSIXCHECK # undef exp2l # if HAVE_RAW_DECL_EXP2L _GL_WARN_ON_USE (exp2l, "exp2l is unportable - " "use gnulib module exp2l for portability"); # endif #endif #if @GNULIB_EXPM1F@ # if @REPLACE_EXPM1F@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef expm1f # define expm1f rpl_expm1f # endif _GL_FUNCDECL_RPL (expm1f, float, (float x)); _GL_CXXALIAS_RPL (expm1f, float, (float x)); # else # if !@HAVE_EXPM1F@ _GL_FUNCDECL_SYS (expm1f, float, (float x)); # endif _GL_CXXALIAS_SYS (expm1f, float, (float x)); # endif _GL_CXXALIASWARN (expm1f); #elif defined GNULIB_POSIXCHECK # undef expm1f # if HAVE_RAW_DECL_EXPM1F _GL_WARN_ON_USE (expm1f, "expm1f is unportable - " "use gnulib module expm1f for portability"); # endif #endif #if @GNULIB_EXPM1@ # if @REPLACE_EXPM1@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef expm1 # define expm1 rpl_expm1 # endif _GL_FUNCDECL_RPL (expm1, double, (double x)); _GL_CXXALIAS_RPL (expm1, double, (double x)); # else # if !@HAVE_EXPM1@ _GL_FUNCDECL_SYS (expm1, double, (double x)); # endif _GL_CXXALIAS_SYS (expm1, double, (double x)); # endif _GL_CXXALIASWARN (expm1); #elif defined GNULIB_POSIXCHECK # undef expm1 # if HAVE_RAW_DECL_EXPM1 _GL_WARN_ON_USE (expm1, "expm1 is unportable - " "use gnulib module expm1 for portability"); # endif #endif #if @GNULIB_EXPM1L@ # if !@HAVE_DECL_EXPM1L@ # undef expm1l _GL_FUNCDECL_SYS (expm1l, long double, (long double x)); # endif _GL_CXXALIAS_SYS (expm1l, long double, (long double x)); _GL_CXXALIASWARN (expm1l); #elif defined GNULIB_POSIXCHECK # undef expm1l # if HAVE_RAW_DECL_EXPM1L _GL_WARN_ON_USE (expm1l, "expm1l is unportable - " "use gnulib module expm1l for portability"); # endif #endif #if @GNULIB_FABSF@ # if !@HAVE_FABSF@ # undef fabsf _GL_FUNCDECL_SYS (fabsf, float, (float x)); # endif _GL_CXXALIAS_SYS (fabsf, float, (float x)); _GL_CXXALIASWARN (fabsf); #elif defined GNULIB_POSIXCHECK # undef fabsf # if HAVE_RAW_DECL_FABSF _GL_WARN_ON_USE (fabsf, "fabsf is unportable - " "use gnulib module fabsf for portability"); # endif #endif #if @GNULIB_FABSL@ # if @REPLACE_FABSL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fabsl # define fabsl rpl_fabsl # endif _GL_FUNCDECL_RPL (fabsl, long double, (long double x)); _GL_CXXALIAS_RPL (fabsl, long double, (long double x)); # else # if !@HAVE_FABSL@ # undef fabsl _GL_FUNCDECL_SYS (fabsl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (fabsl, long double, (long double x)); # endif _GL_CXXALIASWARN (fabsl); #elif defined GNULIB_POSIXCHECK # undef fabsl # if HAVE_RAW_DECL_FABSL _GL_WARN_ON_USE (fabsl, "fabsl is unportable - " "use gnulib module fabsl for portability"); # endif #endif #if @GNULIB_FLOORF@ # if @REPLACE_FLOORF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef floorf # define floorf rpl_floorf # endif _GL_FUNCDECL_RPL (floorf, float, (float x)); _GL_CXXALIAS_RPL (floorf, float, (float x)); # else # if !@HAVE_DECL_FLOORF@ # undef floorf _GL_FUNCDECL_SYS (floorf, float, (float x)); # endif _GL_CXXALIAS_SYS (floorf, float, (float x)); # endif _GL_CXXALIASWARN (floorf); #elif defined GNULIB_POSIXCHECK # undef floorf # if HAVE_RAW_DECL_FLOORF _GL_WARN_ON_USE (floorf, "floorf is unportable - " "use gnulib module floorf for portability"); # endif #endif #if @GNULIB_FLOOR@ # if @REPLACE_FLOOR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define floor rpl_floor # endif _GL_FUNCDECL_RPL (floor, double, (double x)); _GL_CXXALIAS_RPL (floor, double, (double x)); # else _GL_CXXALIAS_SYS (floor, double, (double x)); # endif _GL_CXXALIASWARN (floor); #endif #if @GNULIB_FLOORL@ # if @REPLACE_FLOORL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef floorl # define floorl rpl_floorl # endif _GL_FUNCDECL_RPL (floorl, long double, (long double x)); _GL_CXXALIAS_RPL (floorl, long double, (long double x)); # else # if !@HAVE_DECL_FLOORL@ # undef floorl _GL_FUNCDECL_SYS (floorl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (floorl, long double, (long double x)); # endif _GL_CXXALIASWARN (floorl); #elif defined GNULIB_POSIXCHECK # undef floorl # if HAVE_RAW_DECL_FLOORL _GL_WARN_ON_USE (floorl, "floorl is unportable - " "use gnulib module floorl for portability"); # endif #endif #if @GNULIB_FMAF@ # if @REPLACE_FMAF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fmaf # define fmaf rpl_fmaf # endif _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z)); _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); # else # if !@HAVE_FMAF@ _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); # endif _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); # endif _GL_CXXALIASWARN (fmaf); #elif defined GNULIB_POSIXCHECK # undef fmaf # if HAVE_RAW_DECL_FMAF _GL_WARN_ON_USE (fmaf, "fmaf is unportable - " "use gnulib module fmaf for portability"); # endif #endif #if @GNULIB_FMA@ # if @REPLACE_FMA@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fma # define fma rpl_fma # endif _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z)); _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); # else # if !@HAVE_FMA@ _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); # endif _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); # endif _GL_CXXALIASWARN (fma); #elif defined GNULIB_POSIXCHECK # undef fma # if HAVE_RAW_DECL_FMA _GL_WARN_ON_USE (fma, "fma is unportable - " "use gnulib module fma for portability"); # endif #endif #if @GNULIB_FMAL@ # if @REPLACE_FMAL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fmal # define fmal rpl_fmal # endif _GL_FUNCDECL_RPL (fmal, long double, (long double x, long double y, long double z)); _GL_CXXALIAS_RPL (fmal, long double, (long double x, long double y, long double z)); # else # if !@HAVE_FMAL@ # undef fmal _GL_FUNCDECL_SYS (fmal, long double, (long double x, long double y, long double z)); # endif _GL_CXXALIAS_SYS (fmal, long double, (long double x, long double y, long double z)); # endif _GL_CXXALIASWARN (fmal); #elif defined GNULIB_POSIXCHECK # undef fmal # if HAVE_RAW_DECL_FMAL _GL_WARN_ON_USE (fmal, "fmal is unportable - " "use gnulib module fmal for portability"); # endif #endif #if @GNULIB_FMODF@ # if @REPLACE_FMODF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fmodf # define fmodf rpl_fmodf # endif _GL_FUNCDECL_RPL (fmodf, float, (float x, float y)); _GL_CXXALIAS_RPL (fmodf, float, (float x, float y)); # else # if !@HAVE_FMODF@ # undef fmodf _GL_FUNCDECL_SYS (fmodf, float, (float x, float y)); # endif _GL_CXXALIAS_SYS (fmodf, float, (float x, float y)); # endif _GL_CXXALIASWARN (fmodf); #elif defined GNULIB_POSIXCHECK # undef fmodf # if HAVE_RAW_DECL_FMODF _GL_WARN_ON_USE (fmodf, "fmodf is unportable - " "use gnulib module fmodf for portability"); # endif #endif #if @GNULIB_FMOD@ # if @REPLACE_FMOD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fmod # define fmod rpl_fmod # endif _GL_FUNCDECL_RPL (fmod, double, (double x, double y)); _GL_CXXALIAS_RPL (fmod, double, (double x, double y)); # else _GL_CXXALIAS_SYS (fmod, double, (double x, double y)); # endif _GL_CXXALIASWARN (fmod); #elif defined GNULIB_POSIXCHECK # undef fmod # if HAVE_RAW_DECL_FMOD _GL_WARN_ON_USE (fmod, "fmod has portability problems - " "use gnulib module fmod for portability"); # endif #endif #if @GNULIB_FMODL@ # if @REPLACE_FMODL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fmodl # define fmodl rpl_fmodl # endif _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y)); _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y)); # else # if !@HAVE_FMODL@ # undef fmodl _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y)); # endif _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y)); # endif _GL_CXXALIASWARN (fmodl); #elif defined GNULIB_POSIXCHECK # undef fmodl # if HAVE_RAW_DECL_FMODL _GL_WARN_ON_USE (fmodl, "fmodl is unportable - " "use gnulib module fmodl for portability"); # endif #endif /* Write x as x = mantissa * 2^exp where If x finite and nonzero: 0.5 <= |mantissa| < 1.0. If x is zero: mantissa = x, exp = 0. If x is infinite or NaN: mantissa = x, exp unspecified. Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXPF@ # if @REPLACE_FREXPF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef frexpf # define frexpf rpl_frexpf # endif _GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr)); # else # if !@HAVE_FREXPF@ # undef frexpf _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); # endif _GL_CXXALIASWARN (frexpf); #elif defined GNULIB_POSIXCHECK # undef frexpf # if HAVE_RAW_DECL_FREXPF _GL_WARN_ON_USE (frexpf, "frexpf is unportable - " "use gnulib module frexpf for portability"); # endif #endif /* Write x as x = mantissa * 2^exp where If x finite and nonzero: 0.5 <= |mantissa| < 1.0. If x is zero: mantissa = x, exp = 0. If x is infinite or NaN: mantissa = x, exp unspecified. Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXP@ # if @REPLACE_FREXP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define frexp rpl_frexp # endif _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); # else _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); # endif _GL_CXXALIASWARN (frexp); #elif defined GNULIB_POSIXCHECK # undef frexp /* Assume frexp is always declared. */ _GL_WARN_ON_USE (frexp, "frexp is unportable - " "use gnulib module frexp for portability"); #endif /* Write x as x = mantissa * 2^exp where If x finite and nonzero: 0.5 <= |mantissa| < 1.0. If x is zero: mantissa = x, exp = 0. If x is infinite or NaN: mantissa = x, exp unspecified. Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef frexpl # define frexpl rpl_frexpl # endif _GL_FUNCDECL_RPL (frexpl, long double, (long double x, int *expptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr)); #else # if !@HAVE_DECL_FREXPL@ _GL_FUNCDECL_SYS (frexpl, long double, (long double x, int *expptr) _GL_ARG_NONNULL ((2))); # endif # if @GNULIB_FREXPL@ _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr)); # endif #endif #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@) _GL_CXXALIASWARN (frexpl); #endif #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK # undef frexpl # if HAVE_RAW_DECL_FREXPL _GL_WARN_ON_USE (frexpl, "frexpl is unportable - " "use gnulib module frexpl for portability"); # endif #endif /* Return sqrt(x^2+y^2). */ #if @GNULIB_HYPOTF@ # if @REPLACE_HYPOTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef hypotf # define hypotf rpl_hypotf # endif _GL_FUNCDECL_RPL (hypotf, float, (float x, float y)); _GL_CXXALIAS_RPL (hypotf, float, (float x, float y)); # else # if !@HAVE_HYPOTF@ _GL_FUNCDECL_SYS (hypotf, float, (float x, float y)); # endif _GL_CXXALIAS_SYS (hypotf, float, (float x, float y)); # endif _GL_CXXALIASWARN (hypotf); #elif defined GNULIB_POSIXCHECK # undef hypotf # if HAVE_RAW_DECL_HYPOTF _GL_WARN_ON_USE (hypotf, "hypotf is unportable - " "use gnulib module hypotf for portability"); # endif #endif /* Return sqrt(x^2+y^2). */ #if @GNULIB_HYPOT@ # if @REPLACE_HYPOT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef hypot # define hypot rpl_hypot # endif _GL_FUNCDECL_RPL (hypot, double, (double x, double y)); _GL_CXXALIAS_RPL (hypot, double, (double x, double y)); # else _GL_CXXALIAS_SYS (hypot, double, (double x, double y)); # endif _GL_CXXALIASWARN (hypot); #elif defined GNULIB_POSIXCHECK # undef hypot # if HAVE_RAW_DECL_HYPOT _GL_WARN_ON_USE (hypotf, "hypot has portability problems - " "use gnulib module hypot for portability"); # endif #endif /* Return sqrt(x^2+y^2). */ #if @GNULIB_HYPOTL@ # if @REPLACE_HYPOTL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef hypotl # define hypotl rpl_hypotl # endif _GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y)); _GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y)); # else # if !@HAVE_HYPOTL@ _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y)); # endif _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y)); # endif _GL_CXXALIASWARN (hypotl); #elif defined GNULIB_POSIXCHECK # undef hypotl # if HAVE_RAW_DECL_HYPOTL _GL_WARN_ON_USE (hypotl, "hypotl is unportable - " "use gnulib module hypotl for portability"); # endif #endif #if @GNULIB_ILOGBF@ # if @REPLACE_ILOGBF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ilogbf # define ilogbf rpl_ilogbf # endif _GL_FUNCDECL_RPL (ilogbf, int, (float x)); _GL_CXXALIAS_RPL (ilogbf, int, (float x)); # else # if !@HAVE_ILOGBF@ _GL_FUNCDECL_SYS (ilogbf, int, (float x)); # endif _GL_CXXALIAS_SYS (ilogbf, int, (float x)); # endif _GL_CXXALIASWARN (ilogbf); #elif defined GNULIB_POSIXCHECK # undef ilogbf # if HAVE_RAW_DECL_ILOGBF _GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - " "use gnulib module ilogbf for portability"); # endif #endif #if @GNULIB_ILOGB@ # if @REPLACE_ILOGB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ilogb # define ilogb rpl_ilogb # endif _GL_FUNCDECL_RPL (ilogb, int, (double x)); _GL_CXXALIAS_RPL (ilogb, int, (double x)); # else # if !@HAVE_ILOGB@ _GL_FUNCDECL_SYS (ilogb, int, (double x)); # endif _GL_CXXALIAS_SYS (ilogb, int, (double x)); # endif _GL_CXXALIASWARN (ilogb); #elif defined GNULIB_POSIXCHECK # undef ilogb # if HAVE_RAW_DECL_ILOGB _GL_WARN_ON_USE (ilogb, "ilogb is unportable - " "use gnulib module ilogb for portability"); # endif #endif #if @GNULIB_ILOGBL@ # if !@HAVE_ILOGBL@ _GL_FUNCDECL_SYS (ilogbl, int, (long double x)); # endif _GL_CXXALIAS_SYS (ilogbl, int, (long double x)); _GL_CXXALIASWARN (ilogbl); #elif defined GNULIB_POSIXCHECK # undef ilogbl # if HAVE_RAW_DECL_ILOGBL _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - " "use gnulib module ilogbl for portability"); # endif #endif /* Return x * 2^exp. */ #if @GNULIB_LDEXPF@ # if !@HAVE_LDEXPF@ # undef ldexpf _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); # endif _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); _GL_CXXALIASWARN (ldexpf); #elif defined GNULIB_POSIXCHECK # undef ldexpf # if HAVE_RAW_DECL_LDEXPF _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - " "use gnulib module ldexpf for portability"); # endif #endif /* Return x * 2^exp. */ #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ldexpl # define ldexpl rpl_ldexpl # endif _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp)); _GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp)); #else # if !@HAVE_DECL_LDEXPL@ _GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp)); # endif # if @GNULIB_LDEXPL@ _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp)); # endif #endif #if @GNULIB_LDEXPL@ _GL_CXXALIASWARN (ldexpl); #endif #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK # undef ldexpl # if HAVE_RAW_DECL_LDEXPL _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - " "use gnulib module ldexpl for portability"); # endif #endif #if @GNULIB_LOGF@ # if @REPLACE_LOGF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef logf # define logf rpl_logf # endif _GL_FUNCDECL_RPL (logf, float, (float x)); _GL_CXXALIAS_RPL (logf, float, (float x)); # else # if !@HAVE_LOGF@ # undef logf _GL_FUNCDECL_SYS (logf, float, (float x)); # endif _GL_CXXALIAS_SYS (logf, float, (float x)); # endif _GL_CXXALIASWARN (logf); #elif defined GNULIB_POSIXCHECK # undef logf # if HAVE_RAW_DECL_LOGF _GL_WARN_ON_USE (logf, "logf is unportable - " "use gnulib module logf for portability"); # endif #endif #if @GNULIB_LOG@ # if @REPLACE_LOG@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log # define log rpl_log # endif _GL_FUNCDECL_RPL (log, double, (double x)); _GL_CXXALIAS_RPL (log, double, (double x)); # else _GL_CXXALIAS_SYS (log, double, (double x)); # endif _GL_CXXALIASWARN (log); #elif defined GNULIB_POSIXCHECK # undef log # if HAVE_RAW_DECL_LOG _GL_WARN_ON_USE (log, "log has portability problems - " "use gnulib module log for portability"); # endif #endif #if @GNULIB_LOGL@ # if @REPLACE_LOGL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef logl # define logl rpl_logl # endif _GL_FUNCDECL_RPL (logl, long double, (long double x)); _GL_CXXALIAS_RPL (logl, long double, (long double x)); # else # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@ # undef logl _GL_FUNCDECL_SYS (logl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (logl, long double, (long double x)); # endif _GL_CXXALIASWARN (logl); #elif defined GNULIB_POSIXCHECK # undef logl # if HAVE_RAW_DECL_LOGL _GL_WARN_ON_USE (logl, "logl is unportable - " "use gnulib module logl for portability"); # endif #endif #if @GNULIB_LOG10F@ # if @REPLACE_LOG10F@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log10f # define log10f rpl_log10f # endif _GL_FUNCDECL_RPL (log10f, float, (float x)); _GL_CXXALIAS_RPL (log10f, float, (float x)); # else # if !@HAVE_LOG10F@ # undef log10f _GL_FUNCDECL_SYS (log10f, float, (float x)); # endif _GL_CXXALIAS_SYS (log10f, float, (float x)); # endif _GL_CXXALIASWARN (log10f); #elif defined GNULIB_POSIXCHECK # undef log10f # if HAVE_RAW_DECL_LOG10F _GL_WARN_ON_USE (log10f, "log10f is unportable - " "use gnulib module log10f for portability"); # endif #endif #if @GNULIB_LOG10@ # if @REPLACE_LOG10@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log10 # define log10 rpl_log10 # endif _GL_FUNCDECL_RPL (log10, double, (double x)); _GL_CXXALIAS_RPL (log10, double, (double x)); # else _GL_CXXALIAS_SYS (log10, double, (double x)); # endif _GL_CXXALIASWARN (log10); #elif defined GNULIB_POSIXCHECK # undef log10 # if HAVE_RAW_DECL_LOG10 _GL_WARN_ON_USE (log10, "log10 has portability problems - " "use gnulib module log10 for portability"); # endif #endif #if @GNULIB_LOG10L@ # if @REPLACE_LOG10L@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log10l # define log10l rpl_log10l # endif _GL_FUNCDECL_RPL (log10l, long double, (long double x)); _GL_CXXALIAS_RPL (log10l, long double, (long double x)); # else # if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@ # undef log10l _GL_FUNCDECL_SYS (log10l, long double, (long double x)); # endif _GL_CXXALIAS_SYS (log10l, long double, (long double x)); # endif _GL_CXXALIASWARN (log10l); #elif defined GNULIB_POSIXCHECK # undef log10l # if HAVE_RAW_DECL_LOG10L _GL_WARN_ON_USE (log10l, "log10l is unportable - " "use gnulib module log10l for portability"); # endif #endif #if @GNULIB_LOG1PF@ # if @REPLACE_LOG1PF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log1pf # define log1pf rpl_log1pf # endif _GL_FUNCDECL_RPL (log1pf, float, (float x)); _GL_CXXALIAS_RPL (log1pf, float, (float x)); # else # if !@HAVE_LOG1PF@ _GL_FUNCDECL_SYS (log1pf, float, (float x)); # endif _GL_CXXALIAS_SYS (log1pf, float, (float x)); # endif _GL_CXXALIASWARN (log1pf); #elif defined GNULIB_POSIXCHECK # undef log1pf # if HAVE_RAW_DECL_LOG1PF _GL_WARN_ON_USE (log1pf, "log1pf is unportable - " "use gnulib module log1pf for portability"); # endif #endif #if @GNULIB_LOG1P@ # if @REPLACE_LOG1P@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log1p # define log1p rpl_log1p # endif _GL_FUNCDECL_RPL (log1p, double, (double x)); _GL_CXXALIAS_RPL (log1p, double, (double x)); # else # if !@HAVE_LOG1P@ _GL_FUNCDECL_SYS (log1p, double, (double x)); # endif _GL_CXXALIAS_SYS (log1p, double, (double x)); # endif _GL_CXXALIASWARN (log1p); #elif defined GNULIB_POSIXCHECK # undef log1p # if HAVE_RAW_DECL_LOG1P _GL_WARN_ON_USE (log1p, "log1p has portability problems - " "use gnulib module log1p for portability"); # endif #endif #if @GNULIB_LOG1PL@ # if @REPLACE_LOG1PL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log1pl # define log1pl rpl_log1pl # endif _GL_FUNCDECL_RPL (log1pl, long double, (long double x)); _GL_CXXALIAS_RPL (log1pl, long double, (long double x)); # else # if !@HAVE_LOG1PL@ _GL_FUNCDECL_SYS (log1pl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (log1pl, long double, (long double x)); # endif _GL_CXXALIASWARN (log1pl); #elif defined GNULIB_POSIXCHECK # undef log1pl # if HAVE_RAW_DECL_LOG1PL _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - " "use gnulib module log1pl for portability"); # endif #endif #if @GNULIB_LOG2F@ # if @REPLACE_LOG2F@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log2f # define log2f rpl_log2f # endif _GL_FUNCDECL_RPL (log2f, float, (float x)); _GL_CXXALIAS_RPL (log2f, float, (float x)); # else # if !@HAVE_DECL_LOG2F@ # undef log2f _GL_FUNCDECL_SYS (log2f, float, (float x)); # endif _GL_CXXALIAS_SYS (log2f, float, (float x)); # endif _GL_CXXALIASWARN (log2f); #elif defined GNULIB_POSIXCHECK # undef log2f # if HAVE_RAW_DECL_LOG2F _GL_WARN_ON_USE (log2f, "log2f is unportable - " "use gnulib module log2f for portability"); # endif #endif #if @GNULIB_LOG2@ # if @REPLACE_LOG2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log2 # define log2 rpl_log2 # endif _GL_FUNCDECL_RPL (log2, double, (double x)); _GL_CXXALIAS_RPL (log2, double, (double x)); # else # if !@HAVE_DECL_LOG2@ # undef log2 _GL_FUNCDECL_SYS (log2, double, (double x)); # endif _GL_CXXALIAS_SYS (log2, double, (double x)); # endif _GL_CXXALIASWARN (log2); #elif defined GNULIB_POSIXCHECK # undef log2 # if HAVE_RAW_DECL_LOG2 _GL_WARN_ON_USE (log2, "log2 is unportable - " "use gnulib module log2 for portability"); # endif #endif #if @GNULIB_LOG2L@ # if @REPLACE_LOG2L@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef log2l # define log2l rpl_log2l # endif _GL_FUNCDECL_RPL (log2l, long double, (long double x)); _GL_CXXALIAS_RPL (log2l, long double, (long double x)); # else # if !@HAVE_DECL_LOG2L@ _GL_FUNCDECL_SYS (log2l, long double, (long double x)); # endif _GL_CXXALIAS_SYS (log2l, long double, (long double x)); # endif _GL_CXXALIASWARN (log2l); #elif defined GNULIB_POSIXCHECK # undef log2l # if HAVE_RAW_DECL_LOG2L _GL_WARN_ON_USE (log2l, "log2l is unportable - " "use gnulib module log2l for portability"); # endif #endif #if @GNULIB_LOGBF@ # if @REPLACE_LOGBF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef logbf # define logbf rpl_logbf # endif _GL_FUNCDECL_RPL (logbf, float, (float x)); _GL_CXXALIAS_RPL (logbf, float, (float x)); # else # if !@HAVE_LOGBF@ _GL_FUNCDECL_SYS (logbf, float, (float x)); # endif _GL_CXXALIAS_SYS (logbf, float, (float x)); # endif _GL_CXXALIASWARN (logbf); #elif defined GNULIB_POSIXCHECK # undef logbf # if HAVE_RAW_DECL_LOGBF _GL_WARN_ON_USE (logbf, "logbf is unportable - " "use gnulib module logbf for portability"); # endif #endif #if @GNULIB_LOGB@ # if @REPLACE_LOGB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef logb # define logb rpl_logb # endif _GL_FUNCDECL_RPL (logb, double, (double x)); _GL_CXXALIAS_RPL (logb, double, (double x)); # else # if !@HAVE_DECL_LOGB@ _GL_FUNCDECL_SYS (logb, double, (double x)); # endif _GL_CXXALIAS_SYS (logb, double, (double x)); # endif _GL_CXXALIASWARN (logb); #elif defined GNULIB_POSIXCHECK # undef logb # if HAVE_RAW_DECL_LOGB _GL_WARN_ON_USE (logb, "logb is unportable - " "use gnulib module logb for portability"); # endif #endif #if @GNULIB_LOGBL@ # if @REPLACE_LOGBL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef logbl # define logbl rpl_logbl # endif _GL_FUNCDECL_RPL (logbl, long double, (long double x)); _GL_CXXALIAS_RPL (logbl, long double, (long double x)); # else # if !@HAVE_LOGBL@ _GL_FUNCDECL_SYS (logbl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (logbl, long double, (long double x)); # endif _GL_CXXALIASWARN (logbl); #elif defined GNULIB_POSIXCHECK # undef logbl # if HAVE_RAW_DECL_LOGBL _GL_WARN_ON_USE (logbl, "logbl is unportable - " "use gnulib module logbl for portability"); # endif #endif #if @GNULIB_MODFF@ # if @REPLACE_MODFF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef modff # define modff rpl_modff # endif _GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (modff, float, (float x, float *iptr)); # else # if !@HAVE_MODFF@ # undef modff _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); # endif _GL_CXXALIASWARN (modff); #elif defined GNULIB_POSIXCHECK # undef modff # if HAVE_RAW_DECL_MODFF _GL_WARN_ON_USE (modff, "modff is unportable - " "use gnulib module modff for portability"); # endif #endif #if @GNULIB_MODF@ # if @REPLACE_MODF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef modf # define modf rpl_modf # endif _GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr)); # else _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr)); # endif _GL_CXXALIASWARN (modf); #elif defined GNULIB_POSIXCHECK # undef modf # if HAVE_RAW_DECL_MODF _GL_WARN_ON_USE (modf, "modf has portability problems - " "use gnulib module modf for portability"); # endif #endif #if @GNULIB_MODFL@ # if @REPLACE_MODFL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef modfl # define modfl rpl_modfl # endif _GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr)); # else # if !@HAVE_MODFL@ # undef modfl _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr)); # endif _GL_CXXALIASWARN (modfl); #elif defined GNULIB_POSIXCHECK # undef modfl # if HAVE_RAW_DECL_MODFL _GL_WARN_ON_USE (modfl, "modfl is unportable - " "use gnulib module modfl for portability"); # endif #endif #if @GNULIB_POWF@ # if !@HAVE_POWF@ # undef powf _GL_FUNCDECL_SYS (powf, float, (float x, float y)); # endif _GL_CXXALIAS_SYS (powf, float, (float x, float y)); _GL_CXXALIASWARN (powf); #elif defined GNULIB_POSIXCHECK # undef powf # if HAVE_RAW_DECL_POWF _GL_WARN_ON_USE (powf, "powf is unportable - " "use gnulib module powf for portability"); # endif #endif #if @GNULIB_REMAINDERF@ # if @REPLACE_REMAINDERF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef remainderf # define remainderf rpl_remainderf # endif _GL_FUNCDECL_RPL (remainderf, float, (float x, float y)); _GL_CXXALIAS_RPL (remainderf, float, (float x, float y)); # else # if !@HAVE_REMAINDERF@ _GL_FUNCDECL_SYS (remainderf, float, (float x, float y)); # endif _GL_CXXALIAS_SYS (remainderf, float, (float x, float y)); # endif _GL_CXXALIASWARN (remainderf); #elif defined GNULIB_POSIXCHECK # undef remainderf # if HAVE_RAW_DECL_REMAINDERF _GL_WARN_ON_USE (remainderf, "remainderf is unportable - " "use gnulib module remainderf for portability"); # endif #endif #if @GNULIB_REMAINDER@ # if @REPLACE_REMAINDER@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef remainder # define remainder rpl_remainder # endif _GL_FUNCDECL_RPL (remainder, double, (double x, double y)); _GL_CXXALIAS_RPL (remainder, double, (double x, double y)); # else # if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@ _GL_FUNCDECL_SYS (remainder, double, (double x, double y)); # endif _GL_CXXALIAS_SYS (remainder, double, (double x, double y)); # endif _GL_CXXALIASWARN (remainder); #elif defined GNULIB_POSIXCHECK # undef remainder # if HAVE_RAW_DECL_REMAINDER _GL_WARN_ON_USE (remainder, "remainder is unportable - " "use gnulib module remainder for portability"); # endif #endif #if @GNULIB_REMAINDERL@ # if @REPLACE_REMAINDERL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef remainderl # define remainderl rpl_remainderl # endif _GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y)); _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y)); # else # if !@HAVE_DECL_REMAINDERL@ # undef remainderl _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y)); # endif _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y)); # endif _GL_CXXALIASWARN (remainderl); #elif defined GNULIB_POSIXCHECK # undef remainderl # if HAVE_RAW_DECL_REMAINDERL _GL_WARN_ON_USE (remainderl, "remainderl is unportable - " "use gnulib module remainderl for portability"); # endif #endif #if @GNULIB_RINTF@ # if !@HAVE_DECL_RINTF@ _GL_FUNCDECL_SYS (rintf, float, (float x)); # endif _GL_CXXALIAS_SYS (rintf, float, (float x)); _GL_CXXALIASWARN (rintf); #elif defined GNULIB_POSIXCHECK # undef rintf # if HAVE_RAW_DECL_RINTF _GL_WARN_ON_USE (rintf, "rintf is unportable - " "use gnulib module rintf for portability"); # endif #endif #if @GNULIB_RINT@ # if !@HAVE_RINT@ _GL_FUNCDECL_SYS (rint, double, (double x)); # endif _GL_CXXALIAS_SYS (rint, double, (double x)); _GL_CXXALIASWARN (rint); #elif defined GNULIB_POSIXCHECK # undef rint # if HAVE_RAW_DECL_RINT _GL_WARN_ON_USE (rint, "rint is unportable - " "use gnulib module rint for portability"); # endif #endif #if @GNULIB_RINTL@ # if !@HAVE_RINTL@ _GL_FUNCDECL_SYS (rintl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (rintl, long double, (long double x)); _GL_CXXALIASWARN (rintl); #elif defined GNULIB_POSIXCHECK # undef rintl # if HAVE_RAW_DECL_RINTL _GL_WARN_ON_USE (rintl, "rintl is unportable - " "use gnulib module rintl for portability"); # endif #endif #if @GNULIB_ROUNDF@ # if @REPLACE_ROUNDF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef roundf # define roundf rpl_roundf # endif _GL_FUNCDECL_RPL (roundf, float, (float x)); _GL_CXXALIAS_RPL (roundf, float, (float x)); # else # if !@HAVE_DECL_ROUNDF@ _GL_FUNCDECL_SYS (roundf, float, (float x)); # endif _GL_CXXALIAS_SYS (roundf, float, (float x)); # endif _GL_CXXALIASWARN (roundf); #elif defined GNULIB_POSIXCHECK # undef roundf # if HAVE_RAW_DECL_ROUNDF _GL_WARN_ON_USE (roundf, "roundf is unportable - " "use gnulib module roundf for portability"); # endif #endif #if @GNULIB_ROUND@ # if @REPLACE_ROUND@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef round # define round rpl_round # endif _GL_FUNCDECL_RPL (round, double, (double x)); _GL_CXXALIAS_RPL (round, double, (double x)); # else # if !@HAVE_DECL_ROUND@ _GL_FUNCDECL_SYS (round, double, (double x)); # endif _GL_CXXALIAS_SYS (round, double, (double x)); # endif _GL_CXXALIASWARN (round); #elif defined GNULIB_POSIXCHECK # undef round # if HAVE_RAW_DECL_ROUND _GL_WARN_ON_USE (round, "round is unportable - " "use gnulib module round for portability"); # endif #endif #if @GNULIB_ROUNDL@ # if @REPLACE_ROUNDL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef roundl # define roundl rpl_roundl # endif _GL_FUNCDECL_RPL (roundl, long double, (long double x)); _GL_CXXALIAS_RPL (roundl, long double, (long double x)); # else # if !@HAVE_DECL_ROUNDL@ # undef roundl _GL_FUNCDECL_SYS (roundl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (roundl, long double, (long double x)); # endif _GL_CXXALIASWARN (roundl); #elif defined GNULIB_POSIXCHECK # undef roundl # if HAVE_RAW_DECL_ROUNDL _GL_WARN_ON_USE (roundl, "roundl is unportable - " "use gnulib module roundl for portability"); # endif #endif #if @GNULIB_SINF@ # if !@HAVE_SINF@ # undef sinf _GL_FUNCDECL_SYS (sinf, float, (float x)); # endif _GL_CXXALIAS_SYS (sinf, float, (float x)); _GL_CXXALIASWARN (sinf); #elif defined GNULIB_POSIXCHECK # undef sinf # if HAVE_RAW_DECL_SINF _GL_WARN_ON_USE (sinf, "sinf is unportable - " "use gnulib module sinf for portability"); # endif #endif #if @GNULIB_SINL@ # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@ # undef sinl _GL_FUNCDECL_SYS (sinl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (sinl, long double, (long double x)); _GL_CXXALIASWARN (sinl); #elif defined GNULIB_POSIXCHECK # undef sinl # if HAVE_RAW_DECL_SINL _GL_WARN_ON_USE (sinl, "sinl is unportable - " "use gnulib module sinl for portability"); # endif #endif #if @GNULIB_SINHF@ # if !@HAVE_SINHF@ # undef sinhf _GL_FUNCDECL_SYS (sinhf, float, (float x)); # endif _GL_CXXALIAS_SYS (sinhf, float, (float x)); _GL_CXXALIASWARN (sinhf); #elif defined GNULIB_POSIXCHECK # undef sinhf # if HAVE_RAW_DECL_SINHF _GL_WARN_ON_USE (sinhf, "sinhf is unportable - " "use gnulib module sinhf for portability"); # endif #endif #if @GNULIB_SQRTF@ # if !@HAVE_SQRTF@ # undef sqrtf _GL_FUNCDECL_SYS (sqrtf, float, (float x)); # endif _GL_CXXALIAS_SYS (sqrtf, float, (float x)); _GL_CXXALIASWARN (sqrtf); #elif defined GNULIB_POSIXCHECK # undef sqrtf # if HAVE_RAW_DECL_SQRTF _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - " "use gnulib module sqrtf for portability"); # endif #endif #if @GNULIB_SQRTL@ # if @REPLACE_SQRTL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sqrtl # define sqrtl rpl_sqrtl # endif _GL_FUNCDECL_RPL (sqrtl, long double, (long double x)); _GL_CXXALIAS_RPL (sqrtl, long double, (long double x)); # else # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@ # undef sqrtl _GL_FUNCDECL_SYS (sqrtl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (sqrtl, long double, (long double x)); # endif _GL_CXXALIASWARN (sqrtl); #elif defined GNULIB_POSIXCHECK # undef sqrtl # if HAVE_RAW_DECL_SQRTL _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - " "use gnulib module sqrtl for portability"); # endif #endif #if @GNULIB_TANF@ # if !@HAVE_TANF@ # undef tanf _GL_FUNCDECL_SYS (tanf, float, (float x)); # endif _GL_CXXALIAS_SYS (tanf, float, (float x)); _GL_CXXALIASWARN (tanf); #elif defined GNULIB_POSIXCHECK # undef tanf # if HAVE_RAW_DECL_TANF _GL_WARN_ON_USE (tanf, "tanf is unportable - " "use gnulib module tanf for portability"); # endif #endif #if @GNULIB_TANL@ # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@ # undef tanl _GL_FUNCDECL_SYS (tanl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (tanl, long double, (long double x)); _GL_CXXALIASWARN (tanl); #elif defined GNULIB_POSIXCHECK # undef tanl # if HAVE_RAW_DECL_TANL _GL_WARN_ON_USE (tanl, "tanl is unportable - " "use gnulib module tanl for portability"); # endif #endif #if @GNULIB_TANHF@ # if !@HAVE_TANHF@ # undef tanhf _GL_FUNCDECL_SYS (tanhf, float, (float x)); # endif _GL_CXXALIAS_SYS (tanhf, float, (float x)); _GL_CXXALIASWARN (tanhf); #elif defined GNULIB_POSIXCHECK # undef tanhf # if HAVE_RAW_DECL_TANHF _GL_WARN_ON_USE (tanhf, "tanhf is unportable - " "use gnulib module tanhf for portability"); # endif #endif #if @GNULIB_TRUNCF@ # if @REPLACE_TRUNCF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define truncf rpl_truncf # endif _GL_FUNCDECL_RPL (truncf, float, (float x)); _GL_CXXALIAS_RPL (truncf, float, (float x)); # else # if !@HAVE_DECL_TRUNCF@ _GL_FUNCDECL_SYS (truncf, float, (float x)); # endif _GL_CXXALIAS_SYS (truncf, float, (float x)); # endif _GL_CXXALIASWARN (truncf); #elif defined GNULIB_POSIXCHECK # undef truncf # if HAVE_RAW_DECL_TRUNCF _GL_WARN_ON_USE (truncf, "truncf is unportable - " "use gnulib module truncf for portability"); # endif #endif #if @GNULIB_TRUNC@ # if @REPLACE_TRUNC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define trunc rpl_trunc # endif _GL_FUNCDECL_RPL (trunc, double, (double x)); _GL_CXXALIAS_RPL (trunc, double, (double x)); # else # if !@HAVE_DECL_TRUNC@ _GL_FUNCDECL_SYS (trunc, double, (double x)); # endif _GL_CXXALIAS_SYS (trunc, double, (double x)); # endif _GL_CXXALIASWARN (trunc); #elif defined GNULIB_POSIXCHECK # undef trunc # if HAVE_RAW_DECL_TRUNC _GL_WARN_ON_USE (trunc, "trunc is unportable - " "use gnulib module trunc for portability"); # endif #endif #if @GNULIB_TRUNCL@ # if @REPLACE_TRUNCL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef truncl # define truncl rpl_truncl # endif _GL_FUNCDECL_RPL (truncl, long double, (long double x)); _GL_CXXALIAS_RPL (truncl, long double, (long double x)); # else # if !@HAVE_DECL_TRUNCL@ _GL_FUNCDECL_SYS (truncl, long double, (long double x)); # endif _GL_CXXALIAS_SYS (truncl, long double, (long double x)); # endif _GL_CXXALIASWARN (truncl); #elif defined GNULIB_POSIXCHECK # undef truncl # if HAVE_RAW_DECL_TRUNCL _GL_WARN_ON_USE (truncl, "truncl is unportable - " "use gnulib module truncl for portability"); # endif #endif /* Definitions of function-like macros come here, after the function declarations. */ #if @GNULIB_ISFINITE@ # if @REPLACE_ISFINITE@ _GL_EXTERN_C int gl_isfinitef (float x); _GL_EXTERN_C int gl_isfinited (double x); _GL_EXTERN_C int gl_isfinitel (long double x); # undef isfinite # define isfinite(x) \ (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \ sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ gl_isfinitef (x)) # endif # ifdef __cplusplus # ifdef isfinite _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) # undef isfinite _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite) # endif # endif #elif defined GNULIB_POSIXCHECK # if defined isfinite _GL_WARN_REAL_FLOATING_DECL (isfinite); # undef isfinite # define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x) # endif #endif #if @GNULIB_ISINF@ # if @REPLACE_ISINF@ _GL_EXTERN_C int gl_isinff (float x); _GL_EXTERN_C int gl_isinfd (double x); _GL_EXTERN_C int gl_isinfl (long double x); # undef isinf # define isinf(x) \ (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \ sizeof (x) == sizeof (double) ? gl_isinfd (x) : \ gl_isinff (x)) # endif # ifdef __cplusplus # ifdef isinf _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) # undef isinf _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf) # endif # endif #elif defined GNULIB_POSIXCHECK # if defined isinf _GL_WARN_REAL_FLOATING_DECL (isinf); # undef isinf # define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x) # endif #endif #if @GNULIB_ISNANF@ /* Test for NaN for 'float' numbers. */ # if @HAVE_ISNANF@ /* The original <math.h> included above provides a declaration of isnan macro or (older) isnanf function. */ # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) # elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) # endif # else /* Test whether X is a NaN. */ # undef isnanf # define isnanf rpl_isnanf _GL_EXTERN_C int isnanf (float x); # endif #endif #if @GNULIB_ISNAND@ /* Test for NaN for 'double' numbers. This function is a gnulib extension, unlike isnan() which applied only to 'double' numbers earlier but now is a type-generic macro. */ # if @HAVE_ISNAND@ /* The original <math.h> included above provides a declaration of isnan macro. */ # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) # else # undef isnand # define isnand(x) isnan ((double)(x)) # endif # else /* Test whether X is a NaN. */ # undef isnand # define isnand rpl_isnand _GL_EXTERN_C int isnand (double x); # endif #endif #if @GNULIB_ISNANL@ /* Test for NaN for 'long double' numbers. */ # if @HAVE_ISNANL@ /* The original <math.h> included above provides a declaration of isnan macro or (older) isnanl function. */ # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) # elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) # endif # else /* Test whether X is a NaN. */ # undef isnanl # define isnanl rpl_isnanl _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST; # endif #endif /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */ #if @GNULIB_ISNAN@ # if @REPLACE_ISNAN@ /* We can't just use the isnanf macro (e.g.) as exposed by isnanf.h (e.g.) here, because those may end up being macros that recursively expand back to isnan. So use the gnulib replacements for them directly. */ # if @HAVE_ISNANF@ && __GNUC__ >= 4 # define gl_isnan_f(x) __builtin_isnanf ((float)(x)) # else _GL_EXTERN_C int rpl_isnanf (float x); # define gl_isnan_f(x) rpl_isnanf (x) # endif # if @HAVE_ISNAND@ && __GNUC__ >= 4 # define gl_isnan_d(x) __builtin_isnan ((double)(x)) # else _GL_EXTERN_C int rpl_isnand (double x); # define gl_isnan_d(x) rpl_isnand (x) # endif # if @HAVE_ISNANL@ && __GNUC__ >= 4 # define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) # else _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; # define gl_isnan_l(x) rpl_isnanl (x) # endif # undef isnan # define isnan(x) \ (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ gl_isnan_f (x)) # elif __GNUC__ >= 4 # undef isnan # define isnan(x) \ (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \ sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ __builtin_isnanf ((float)(x))) # endif # ifdef __cplusplus # ifdef isnan _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) # undef isnan _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan) # endif # else /* Ensure isnan is a macro. */ # ifndef isnan # define isnan isnan # endif # endif #elif defined GNULIB_POSIXCHECK # if defined isnan _GL_WARN_REAL_FLOATING_DECL (isnan); # undef isnan # define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x) # endif #endif #if @GNULIB_SIGNBIT@ # if @REPLACE_SIGNBIT_USING_GCC@ # undef signbit /* GCC 4.0 and newer provides three built-ins for signbit. */ # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) # endif # if @REPLACE_SIGNBIT@ # undef signbit _GL_EXTERN_C int gl_signbitf (float arg); _GL_EXTERN_C int gl_signbitd (double arg); _GL_EXTERN_C int gl_signbitl (long double arg); # if __GNUC__ >= 2 && !defined __STRICT_ANSI__ # define _GL_NUM_UINT_WORDS(type) \ ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf # define gl_signbitf_OPTIMIZED_MACRO # define gl_signbitf(arg) \ ({ union { float _value; \ unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ } _m; \ _m._value = (arg); \ (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ }) # endif # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd # define gl_signbitd_OPTIMIZED_MACRO # define gl_signbitd(arg) \ ({ union { double _value; \ unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ } _m; \ _m._value = (arg); \ (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ }) # endif # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl # define gl_signbitl_OPTIMIZED_MACRO # define gl_signbitl(arg) \ ({ union { long double _value; \ unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ } _m; \ _m._value = (arg); \ (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ }) # endif # endif # define signbit(x) \ (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ gl_signbitf (x)) # endif # ifdef __cplusplus # ifdef signbit _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) # undef signbit _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) # endif # endif #elif defined GNULIB_POSIXCHECK # if defined signbit _GL_WARN_REAL_FLOATING_DECL (signbit); # undef signbit # define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) # endif #endif _GL_INLINE_HEADER_END #endif /* _@GUARD_PREFIX@_MATH_H */ #endif /* _@GUARD_PREFIX@_MATH_H */ ������������������������������������������������������������������������������������������coreutils-8.21/lib/save-cwd.c�����������������������������������������������������������������������0000664�0000000�0000000�00000006007�12071024546�012775� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* save-cwd.c -- Save and restore current working directory. Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "save-cwd.h" #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include "chdir-long.h" #include "unistd--.h" #include "cloexec.h" #if GNULIB_FCNTL_SAFER # include "fcntl--.h" #else # define GNULIB_FCNTL_SAFER 0 #endif /* Record the location of the current working directory in CWD so that the program may change to other directories and later use restore_cwd to return to the recorded location. This function may allocate space using malloc (via getcwd) or leave a file descriptor open; use free_cwd to perform the necessary free or close. Upon failure, no memory is allocated, any locally opened file descriptors are closed; return non-zero -- in that case, free_cwd need not be called, but doing so is ok. Otherwise, return zero. The _raison d'etre_ for this interface is that the working directory is sometimes inaccessible, and getcwd is not robust or as efficient. So, we prefer to use the open/fchdir approach, but fall back on getcwd if necessary. This module works for most cases with just the getcwd-lgpl module, but to be truly robust, use the getcwd module. Some systems lack fchdir altogether: e.g., OS/2, pre-2001 Cygwin, SCO Xenix. Also, SunOS 4 and Irix 5.3 provide the function, yet it doesn't work for partitions on which auditing is enabled. If you're still using an obsolete system with these problems, please send email to the maintainer of this code. */ int save_cwd (struct saved_cwd *cwd) { cwd->name = NULL; cwd->desc = open (".", O_SEARCH); if (!GNULIB_FCNTL_SAFER) cwd->desc = fd_safer (cwd->desc); if (cwd->desc < 0) { cwd->name = getcwd (NULL, 0); return cwd->name ? 0 : -1; } set_cloexec_flag (cwd->desc, true); return 0; } /* Change to recorded location, CWD, in directory hierarchy. Upon failure, return -1 (errno is set by chdir or fchdir). Upon success, return zero. */ int restore_cwd (const struct saved_cwd *cwd) { if (0 <= cwd->desc) return fchdir (cwd->desc); else return chdir_long (cwd->name); } void free_cwd (struct saved_cwd *cwd) { if (cwd->desc >= 0) close (cwd->desc); free (cwd->name); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/remove.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002776�12071024546�012572� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Remove a file or directory. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <stdio.h> #include <errno.h> #include <unistd.h> #undef remove /* Remove NAME from the file system. This works around C89 platforms that don't handle directories like POSIX requires; it also works around Solaris 9 bugs with trailing slash. */ int rpl_remove (char const *name) { /* It is faster to just try rmdir, and fall back on unlink, than it is to use lstat to see what we are about to remove. Technically, it is more likely that we want unlink, not rmdir, but we cannot guarantee the safety of unlink on directories. Trailing slash bugs are handled by our rmdir and unlink wrappers. */ int result = rmdir (name); if (result && errno == ENOTDIR) result = unlink (name); return result; } ��coreutils-8.21/lib/cloexec.h������������������������������������������������������������������������0000664�0000000�0000000�00000002734�12071024546�012716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* closexec.c - set or clear the close-on-exec descriptor flag Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> /* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. Return 0 on success, or -1 on error with 'errno' set. Note that on MingW, this function does NOT protect DESC from being inherited into spawned children. Instead, either use dup_cloexec followed by closing the original DESC, or use interfaces such as open or pipe2 that accept flags like O_CLOEXEC to create DESC non-inheritable in the first place. */ int set_cloexec_flag (int desc, bool value); /* Duplicates a file handle FD, while marking the copy to be closed prior to exec or spawn. Returns -1 and sets errno if FD could not be duplicated. */ int dup_cloexec (int fd); ������������������������������������coreutils-8.21/lib/malloca.valgrind�����������������������������������������������������������������0000664�0000000�0000000�00000000257�11624727634�014274� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Suppress a valgrind message about use of uninitialized memory in freea(). # This use is OK because it provides only a speedup. { freea Memcheck:Cond fun:freea } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/select.c�������������������������������������������������������������������������0000664�0000000�0000000�00000036007�12071561013�012541� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emulation for select(2) Contributed by Paolo Bonzini. Copyright 2008-2013 Free Software Foundation, Inc. This file is part of gnulib. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <alloca.h> #include <assert.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows. */ #include <sys/types.h> #include <errno.h> #include <limits.h> #include <winsock2.h> #include <windows.h> #include <io.h> #include <stdio.h> #include <conio.h> #include <time.h> /* Get the overridden 'struct timeval'. */ #include <sys/time.h> #include "msvc-nothrow.h" #undef select struct bitset { unsigned char in[FD_SETSIZE / CHAR_BIT]; unsigned char out[FD_SETSIZE / CHAR_BIT]; }; /* Declare data structures for ntdll functions. */ typedef struct _FILE_PIPE_LOCAL_INFORMATION { ULONG NamedPipeType; ULONG NamedPipeConfiguration; ULONG MaximumInstances; ULONG CurrentInstances; ULONG InboundQuota; ULONG ReadDataAvailable; ULONG OutboundQuota; ULONG WriteQuotaAvailable; ULONG NamedPipeState; ULONG NamedPipeEnd; } FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION; typedef struct _IO_STATUS_BLOCK { union { DWORD Status; PVOID Pointer; } u; ULONG_PTR Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; typedef enum _FILE_INFORMATION_CLASS { FilePipeLocalInformation = 24 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; typedef DWORD (WINAPI *PNtQueryInformationFile) (HANDLE, IO_STATUS_BLOCK *, VOID *, ULONG, FILE_INFORMATION_CLASS); #ifndef PIPE_BUF #define PIPE_BUF 512 #endif /* Optimized test whether a HANDLE refers to a console. See <http://lists.gnu.org/archive/html/bug-gnulib/2009-08/msg00065.html>. */ #define IsConsoleHandle(h) (((intptr_t) (h) & 3) == 3) static BOOL IsSocketHandle (HANDLE h) { WSANETWORKEVENTS ev; if (IsConsoleHandle (h)) return FALSE; /* Under Wine, it seems that getsockopt returns 0 for pipes too. WSAEnumNetworkEvents instead distinguishes the two correctly. */ ev.lNetworkEvents = 0xDEADBEEF; WSAEnumNetworkEvents ((SOCKET) h, NULL, &ev); return ev.lNetworkEvents != 0xDEADBEEF; } /* Compute output fd_sets for libc descriptor FD (whose Windows handle is H). */ static int windows_poll_handle (HANDLE h, int fd, struct bitset *rbits, struct bitset *wbits, struct bitset *xbits) { BOOL read, write, except; int i, ret; INPUT_RECORD *irbuffer; DWORD avail, nbuffer; BOOL bRet; IO_STATUS_BLOCK iosb; FILE_PIPE_LOCAL_INFORMATION fpli; static PNtQueryInformationFile NtQueryInformationFile; static BOOL once_only; read = write = except = FALSE; switch (GetFileType (h)) { case FILE_TYPE_DISK: read = TRUE; write = TRUE; break; case FILE_TYPE_PIPE: if (!once_only) { NtQueryInformationFile = (PNtQueryInformationFile) GetProcAddress (GetModuleHandle ("ntdll.dll"), "NtQueryInformationFile"); once_only = TRUE; } if (PeekNamedPipe (h, NULL, 0, NULL, &avail, NULL) != 0) { if (avail) read = TRUE; } else if (GetLastError () == ERROR_BROKEN_PIPE) ; else { /* It was the write-end of the pipe. Check if it is writable. If NtQueryInformationFile fails, optimistically assume the pipe is writable. This could happen on Windows 9x, where NtQueryInformationFile is not available, or if we inherit a pipe that doesn't permit FILE_READ_ATTRIBUTES access on the write end (I think this should not happen since Windows XP SP2; WINE seems fine too). Otherwise, ensure that enough space is available for atomic writes. */ memset (&iosb, 0, sizeof (iosb)); memset (&fpli, 0, sizeof (fpli)); if (!NtQueryInformationFile || NtQueryInformationFile (h, &iosb, &fpli, sizeof (fpli), FilePipeLocalInformation) || fpli.WriteQuotaAvailable >= PIPE_BUF || (fpli.OutboundQuota < PIPE_BUF && fpli.WriteQuotaAvailable == fpli.OutboundQuota)) write = TRUE; } break; case FILE_TYPE_CHAR: write = TRUE; if (!(rbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) break; ret = WaitForSingleObject (h, 0); if (ret == WAIT_OBJECT_0) { if (!IsConsoleHandle (h)) { read = TRUE; break; } nbuffer = avail = 0; bRet = GetNumberOfConsoleInputEvents (h, &nbuffer); /* Screen buffers handles are filtered earlier. */ assert (bRet); if (nbuffer == 0) { except = TRUE; break; } irbuffer = (INPUT_RECORD *) alloca (nbuffer * sizeof (INPUT_RECORD)); bRet = PeekConsoleInput (h, irbuffer, nbuffer, &avail); if (!bRet || avail == 0) { except = TRUE; break; } for (i = 0; i < avail; i++) if (irbuffer[i].EventType == KEY_EVENT) read = TRUE; } break; default: ret = WaitForSingleObject (h, 0); write = TRUE; if (ret == WAIT_OBJECT_0) read = TRUE; break; } ret = 0; if (read && (rbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) { rbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); ret++; } if (write && (wbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) { wbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); ret++; } if (except && (xbits->in[fd / CHAR_BIT] & (1 << (fd & (CHAR_BIT - 1))))) { xbits->out[fd / CHAR_BIT] |= (1 << (fd & (CHAR_BIT - 1))); ret++; } return ret; } int rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *xfds, struct timeval *timeout) #undef timeval { static struct timeval tv0; static HANDLE hEvent; HANDLE h, handle_array[FD_SETSIZE + 2]; fd_set handle_rfds, handle_wfds, handle_xfds; struct bitset rbits, wbits, xbits; unsigned char anyfds_in[FD_SETSIZE / CHAR_BIT]; DWORD ret, wait_timeout, nhandles, nsock, nbuffer; MSG msg; int i, fd, rc; if (nfds > FD_SETSIZE) nfds = FD_SETSIZE; if (!timeout) wait_timeout = INFINITE; else { wait_timeout = timeout->tv_sec * 1000 + timeout->tv_usec / 1000; /* select is also used as a portable usleep. */ if (!rfds && !wfds && !xfds) { Sleep (wait_timeout); return 0; } } if (!hEvent) hEvent = CreateEvent (NULL, FALSE, FALSE, NULL); handle_array[0] = hEvent; nhandles = 1; nsock = 0; /* Copy descriptors to bitsets. At the same time, eliminate bits in the "wrong" direction for console input buffers and screen buffers, because screen buffers are waitable and they will block until a character is available. */ memset (&rbits, 0, sizeof (rbits)); memset (&wbits, 0, sizeof (wbits)); memset (&xbits, 0, sizeof (xbits)); memset (anyfds_in, 0, sizeof (anyfds_in)); if (rfds) for (i = 0; i < rfds->fd_count; i++) { fd = rfds->fd_array[i]; h = (HANDLE) _get_osfhandle (fd); if (IsConsoleHandle (h) && !GetNumberOfConsoleInputEvents (h, &nbuffer)) continue; rbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); } else rfds = (fd_set *) alloca (sizeof (fd_set)); if (wfds) for (i = 0; i < wfds->fd_count; i++) { fd = wfds->fd_array[i]; h = (HANDLE) _get_osfhandle (fd); if (IsConsoleHandle (h) && GetNumberOfConsoleInputEvents (h, &nbuffer)) continue; wbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); } else wfds = (fd_set *) alloca (sizeof (fd_set)); if (xfds) for (i = 0; i < xfds->fd_count; i++) { fd = xfds->fd_array[i]; xbits.in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); anyfds_in[fd / CHAR_BIT] |= 1 << (fd & (CHAR_BIT - 1)); } else xfds = (fd_set *) alloca (sizeof (fd_set)); /* Zero all the fd_sets, including the application's. */ FD_ZERO (rfds); FD_ZERO (wfds); FD_ZERO (xfds); FD_ZERO (&handle_rfds); FD_ZERO (&handle_wfds); FD_ZERO (&handle_xfds); /* Classify handles. Create fd sets for sockets, poll the others. */ for (i = 0; i < nfds; i++) { if ((anyfds_in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) == 0) continue; h = (HANDLE) _get_osfhandle (i); if (!h) { errno = EBADF; return -1; } if (IsSocketHandle (h)) { int requested = FD_CLOSE; /* See above; socket handles are mapped onto select, but we need to map descriptors to handles. */ if (rbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) { requested |= FD_READ | FD_ACCEPT; FD_SET ((SOCKET) h, rfds); FD_SET ((SOCKET) h, &handle_rfds); } if (wbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) { requested |= FD_WRITE | FD_CONNECT; FD_SET ((SOCKET) h, wfds); FD_SET ((SOCKET) h, &handle_wfds); } if (xbits.in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) { requested |= FD_OOB; FD_SET ((SOCKET) h, xfds); FD_SET ((SOCKET) h, &handle_xfds); } WSAEventSelect ((SOCKET) h, hEvent, requested); nsock++; } else { handle_array[nhandles++] = h; /* Poll now. If we get an event, do not wait below. */ if (wait_timeout != 0 && windows_poll_handle (h, i, &rbits, &wbits, &xbits)) wait_timeout = 0; } } /* Place a sentinel at the end of the array. */ handle_array[nhandles] = NULL; restart: if (wait_timeout == 0 || nsock == 0) rc = 0; else { /* See if we need to wait in the loop below. If any select is ready, do MsgWaitForMultipleObjects anyway to dispatch messages, but no need to call select again. */ rc = select (0, &handle_rfds, &handle_wfds, &handle_xfds, &tv0); if (rc == 0) { /* Restore the fd_sets for the other select we do below. */ memcpy (&handle_rfds, rfds, sizeof (fd_set)); memcpy (&handle_wfds, wfds, sizeof (fd_set)); memcpy (&handle_xfds, xfds, sizeof (fd_set)); } else wait_timeout = 0; } for (;;) { ret = MsgWaitForMultipleObjects (nhandles, handle_array, FALSE, wait_timeout, QS_ALLINPUT); if (ret == WAIT_OBJECT_0 + nhandles) { /* new input of some other kind */ BOOL bRet; while ((bRet = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) != 0) { TranslateMessage (&msg); DispatchMessage (&msg); } } else break; } /* If we haven't done it yet, check the status of the sockets. */ if (rc == 0 && nsock > 0) rc = select (0, &handle_rfds, &handle_wfds, &handle_xfds, &tv0); if (nhandles > 1) { /* Count results that are not counted in the return value of select. */ nhandles = 1; for (i = 0; i < nfds; i++) { if ((anyfds_in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) == 0) continue; h = (HANDLE) _get_osfhandle (i); if (h == handle_array[nhandles]) { /* Not a socket. */ nhandles++; windows_poll_handle (h, i, &rbits, &wbits, &xbits); if (rbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1))) || wbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1))) || xbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) rc++; } } if (rc == 0 && wait_timeout == INFINITE) { /* Sleep 1 millisecond to avoid busy wait and retry with the original fd_sets. */ memcpy (&handle_rfds, rfds, sizeof (fd_set)); memcpy (&handle_wfds, wfds, sizeof (fd_set)); memcpy (&handle_xfds, xfds, sizeof (fd_set)); SleepEx (1, TRUE); goto restart; } } /* Now fill in the results. */ FD_ZERO (rfds); FD_ZERO (wfds); FD_ZERO (xfds); nhandles = 1; for (i = 0; i < nfds; i++) { if ((anyfds_in[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) == 0) continue; h = (HANDLE) _get_osfhandle (i); if (h != handle_array[nhandles]) { /* Perform handle->descriptor mapping. */ WSAEventSelect ((SOCKET) h, NULL, 0); if (FD_ISSET (h, &handle_rfds)) FD_SET (i, rfds); if (FD_ISSET (h, &handle_wfds)) FD_SET (i, wfds); if (FD_ISSET (h, &handle_xfds)) FD_SET (i, xfds); } else { /* Not a socket. */ nhandles++; if (rbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) FD_SET (i, rfds); if (wbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) FD_SET (i, wfds); if (xbits.out[i / CHAR_BIT] & (1 << (i & (CHAR_BIT - 1)))) FD_SET (i, xfds); } } return rc; } #else /* ! Native Windows. */ #include <sys/select.h> #include <stddef.h> /* NULL */ #include <errno.h> #include <unistd.h> #undef select int rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *xfds, struct timeval *timeout) { int i; /* FreeBSD 8.2 has a bug: it does not always detect invalid fds. */ if (nfds < 0 || nfds > FD_SETSIZE) { errno = EINVAL; return -1; } for (i = 0; i < nfds; i++) { if (((rfds && FD_ISSET (i, rfds)) || (wfds && FD_ISSET (i, wfds)) || (xfds && FD_ISSET (i, xfds))) && dup2 (i, i) != i) return -1; } /* Interix 3.5 has a bug: it does not support nfds == 0. */ if (nfds == 0) { nfds = 1; rfds = NULL; wfds = NULL; xfds = NULL; } return select (nfds, rfds, wfds, xfds, timeout); } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/u64.c����������������������������������������������������������������������������0000664�0000000�0000000�00000000116�12010513757�011675� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_U64_INLINE _GL_EXTERN_INLINE #include "u64.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/parse-datetime.c�����������������������������������������������������������������0000664�0000000�0000000�00000312721�12107176112�014170� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ /* Line 189 of yacc.c */ #line 1 "parse-datetime.y" /* Parse a string into an internal time stamp. Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Originally written by Steven M. Bellovin <smb@research.att.com> while at the University of North Carolina at Chapel Hill. Later tweaked by a couple of people on Usenet. Completely overhauled by Rich $alz <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990. Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do the right thing about local DST. Also modified by Paul Eggert <eggert@cs.ucla.edu> in February 2004 to support nanosecond-resolution time stamps, and in October 2004 to support TZ strings in dates. */ /* FIXME: Check for arithmetic overflow in all cases, not just some of them. */ #include <config.h> #include "parse-datetime.h" #include "intprops.h" #include "timespec.h" #include "verify.h" /* There's no need to extend the stack, so there's no need to involve alloca. */ #define YYSTACK_USE_ALLOCA 0 /* Tell Bison how much stack space is needed. 20 should be plenty for this grammar, which is not right recursive. Beware setting it too high, since that might cause problems on machines whose implementations have lame stack-overflow checking. */ #define YYMAXDEPTH 20 #define YYINITDEPTH YYMAXDEPTH /* Since the code of parse-datetime.y is not included in the Emacs executable itself, there is no need to #define static in this file. Even if the code were included in the Emacs executable, it probably wouldn't do any harm to #undef it here; this will only cause problems if we try to write to a static variable, which I don't think this code needs to do. */ #ifdef emacs # undef static #endif #include <c-ctype.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "xalloc.h" /* Bison's skeleton tests _STDLIB_H, while some stdlib.h headers use _STDLIB_H_ as witness. Map the latter to the one bison uses. */ /* FIXME: this is temporary. Remove when we have a mechanism to ensure that the version we're using is fixed, too. */ #ifdef _STDLIB_H_ # undef _STDLIB_H # define _STDLIB_H 1 #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 #define HOUR(x) ((x) * 60) /* long_time_t is a signed integer type that contains all time_t values. */ verify (TYPE_IS_INTEGER (time_t)); #if TIME_T_FITS_IN_LONG_INT typedef long int long_time_t; #else typedef time_t long_time_t; #endif /* Convert a possibly-signed character to an unsigned character. This is a bit safer than casting to unsigned char, since it catches some type errors that the cast doesn't. */ static unsigned char to_uchar (char ch) { return ch; } /* Lots of this code assumes time_t and time_t-like values fit into long_time_t. */ verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t)); /* FIXME: It also assumes that signed integer overflow silently wraps around, but this is not true any more with recent versions of GCC 4. */ /* An integer value, and the number of digits in its textual representation. */ typedef struct { bool negative; long int value; size_t digits; } textint; /* An entry in the lexical lookup table. */ typedef struct { char const *name; int type; int value; } table; /* Meridian: am, pm, or 24-hour style. */ enum { MERam, MERpm, MER24 }; enum { BILLION = 1000000000, LOG10_BILLION = 9 }; /* Relative times. */ typedef struct { /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ long int year; long int month; long int day; long int hour; long int minutes; long_time_t seconds; long int ns; } relative_time; #if HAVE_COMPOUND_LITERALS # define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 }) #else static relative_time const RELATIVE_TIME_0; #endif /* Information passed to and from the parser. */ typedef struct { /* The input string remaining to be parsed. */ const char *input; /* N, if this is the Nth Tuesday. */ long int day_ordinal; /* Day of week; Sunday is 0. */ int day_number; /* tm_isdst flag for the local zone. */ int local_isdst; /* Time zone, in minutes east of UTC. */ long int time_zone; /* Style used for time. */ int meridian; /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */ textint year; long int month; long int day; long int hour; long int minutes; struct timespec seconds; /* includes nanoseconds */ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ relative_time rel; /* Presence or counts of nonterminals of various flavors parsed so far. */ bool timespec_seen; bool rels_seen; size_t dates_seen; size_t days_seen; size_t local_zones_seen; size_t dsts_seen; size_t times_seen; size_t zones_seen; /* Table of local time zone abbreviations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; union YYSTYPE; static int yylex (union YYSTYPE *, parser_control *); static int yyerror (parser_control const *, char const *); static long int time_zone_hhmm (parser_control *, textint, long int); /* Extract into *PC any date and time info from a string of digits of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY, YYYY, ...). */ static void digits_to_date_time (parser_control *pc, textint text_int) { if (pc->dates_seen && ! pc->year.digits && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits)) pc->year = text_int; else { if (4 < text_int.digits) { pc->dates_seen++; pc->day = text_int.value % 100; pc->month = (text_int.value / 100) % 100; pc->year.value = text_int.value / 10000; pc->year.digits = text_int.digits - 4; } else { pc->times_seen++; if (text_int.digits <= 2) { pc->hour = text_int.value; pc->minutes = 0; } else { pc->hour = text_int.value / 100; pc->minutes = text_int.value % 100; } pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; } } } /* Increment PC->rel by FACTOR * REL (FACTOR is 1 or -1). */ static void apply_relative_time (parser_control *pc, relative_time rel, int factor) { pc->rel.ns += factor * rel.ns; pc->rel.seconds += factor * rel.seconds; pc->rel.minutes += factor * rel.minutes; pc->rel.hour += factor * rel.hour; pc->rel.day += factor * rel.day; pc->rel.month += factor * rel.month; pc->rel.year += factor * rel.year; pc->rels_seen = true; } /* Set PC-> hour, minutes, seconds and nanoseconds members from arguments. */ static void set_hhmmss (parser_control *pc, long int hour, long int minutes, time_t sec, long int nsec) { pc->hour = hour; pc->minutes = minutes; pc->seconds.tv_sec = sec; pc->seconds.tv_nsec = nsec; } /* Line 189 of yacc.c */ #line 359 "parse-datetime.c" /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { tAGO = 258, tDST = 259, tYEAR_UNIT = 260, tMONTH_UNIT = 261, tHOUR_UNIT = 262, tMINUTE_UNIT = 263, tSEC_UNIT = 264, tDAY_UNIT = 265, tDAY_SHIFT = 266, tDAY = 267, tDAYZONE = 268, tLOCAL_ZONE = 269, tMERIDIAN = 270, tMONTH = 271, tORDINAL = 272, tZONE = 273, tSNUMBER = 274, tUNUMBER = 275, tSDECIMAL_NUMBER = 276, tUDECIMAL_NUMBER = 277 }; #endif /* Tokens. */ #define tAGO 258 #define tDST 259 #define tYEAR_UNIT 260 #define tMONTH_UNIT 261 #define tHOUR_UNIT 262 #define tMINUTE_UNIT 263 #define tSEC_UNIT 264 #define tDAY_UNIT 265 #define tDAY_SHIFT 266 #define tDAY 267 #define tDAYZONE 268 #define tLOCAL_ZONE 269 #define tMERIDIAN 270 #define tMONTH 271 #define tORDINAL 272 #define tZONE 273 #define tSNUMBER 274 #define tUNUMBER 275 #define tSDECIMAL_NUMBER 276 #define tUDECIMAL_NUMBER 277 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 214 of yacc.c */ #line 297 "parse-datetime.y" long int intval; textint textintval; struct timespec timespec; relative_time rel; /* Line 214 of yacc.c */ #line 448 "parse-datetime.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif /* Copy the second part of user declarations. */ /* Line 264 of yacc.c */ #line 460 "parse-datetime.c" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int yyi) #else static int YYID (yyi) int yyi; #endif { return yyi; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 12 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 112 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 28 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 26 /* YYNRULES -- Number of rules. */ #define YYNRULES 91 /* YYNRULES -- Number of states. */ #define YYNSTATES 114 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 277 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 2, 2, 27, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 25, 2, 2, 2, 2, 2, 23, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 24, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 7, 10, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 38, 41, 46, 53, 55, 58, 63, 70, 71, 73, 76, 78, 81, 83, 85, 88, 91, 95, 97, 100, 102, 105, 108, 111, 115, 121, 125, 129, 132, 137, 140, 144, 146, 150, 153, 155, 157, 160, 163, 165, 168, 171, 173, 176, 179, 181, 184, 187, 189, 192, 195, 197, 200, 203, 206, 209, 211, 213, 216, 219, 222, 225, 228, 231, 233, 235, 237, 239, 241, 243, 245, 247, 250, 251 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 29, 0, -1, 30, -1, 31, -1, 23, 48, -1, -1, 31, 32, -1, 33, -1, 35, -1, 39, -1, 40, -1, 42, -1, 41, -1, 44, -1, 51, -1, 52, -1, 34, -1, 43, 24, 36, -1, 20, 15, -1, 20, 25, 20, 15, -1, 20, 25, 20, 25, 50, 15, -1, 36, -1, 20, 38, -1, 20, 25, 20, 37, -1, 20, 25, 20, 25, 50, 37, -1, -1, 38, -1, 19, 53, -1, 14, -1, 14, 4, -1, 18, -1, 24, -1, 18, 46, -1, 24, 46, -1, 18, 19, 53, -1, 13, -1, 18, 4, -1, 12, -1, 12, 26, -1, 17, 12, -1, 20, 12, -1, 20, 27, 20, -1, 20, 27, 20, 27, 20, -1, 20, 16, 19, -1, 16, 19, 19, -1, 16, 20, -1, 16, 20, 26, 20, -1, 20, 16, -1, 20, 16, 20, -1, 43, -1, 20, 19, 19, -1, 45, 3, -1, 45, -1, 47, -1, 17, 5, -1, 20, 5, -1, 5, -1, 17, 6, -1, 20, 6, -1, 6, -1, 17, 10, -1, 20, 10, -1, 10, -1, 17, 7, -1, 20, 7, -1, 7, -1, 17, 8, -1, 20, 8, -1, 8, -1, 17, 9, -1, 20, 9, -1, 21, 9, -1, 22, 9, -1, 9, -1, 46, -1, 19, 5, -1, 19, 6, -1, 19, 10, -1, 19, 7, -1, 19, 8, -1, 19, 9, -1, 11, -1, 49, -1, 50, -1, 21, -1, 19, -1, 22, -1, 20, -1, 20, -1, 20, 46, -1, -1, 25, 20, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 324, 324, 325, 329, 336, 338, 342, 344, 346, 348, 350, 352, 354, 355, 356, 360, 364, 368, 373, 378, 383, 387, 392, 397, 404, 406, 410, 418, 423, 433, 435, 437, 440, 443, 445, 447, 452, 457, 462, 467, 475, 480, 500, 508, 516, 521, 527, 532, 538, 542, 552, 554, 556, 561, 563, 565, 567, 569, 571, 573, 575, 577, 579, 581, 583, 585, 587, 589, 591, 593, 595, 597, 599, 601, 605, 607, 609, 611, 613, 615, 620, 624, 624, 627, 628, 633, 634, 639, 644, 655, 656 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "tAGO", "tDST", "tYEAR_UNIT", "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT", "tDAY_SHIFT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH", "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER", "tUDECIMAL_NUMBER", "'@'", "'T'", "':'", "','", "'/'", "$accept", "spec", "timespec", "items", "item", "datetime", "iso_8601_datetime", "time", "iso_8601_time", "o_zone_offset", "zone_offset", "local_zone", "zone", "day", "date", "iso_8601_date", "rel", "relunit", "relunit_snumber", "dayshift", "seconds", "signed_seconds", "unsigned_seconds", "number", "hybrid", "o_colon_minutes", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 64, 84, 58, 44, 47 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 28, 29, 29, 30, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 34, 35, 35, 35, 35, 36, 36, 36, 37, 37, 38, 39, 39, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 47, 48, 48, 49, 49, 50, 50, 51, 52, 53, 53 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 4, 6, 1, 2, 4, 6, 0, 1, 2, 1, 2, 1, 1, 2, 2, 3, 1, 2, 1, 2, 2, 2, 3, 5, 3, 3, 2, 4, 2, 3, 1, 3, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 5, 0, 0, 2, 3, 85, 87, 84, 86, 4, 82, 83, 1, 56, 59, 65, 68, 73, 62, 81, 37, 35, 28, 0, 0, 30, 0, 88, 0, 0, 31, 6, 7, 16, 8, 21, 9, 10, 12, 11, 49, 13, 52, 74, 53, 14, 15, 38, 29, 0, 45, 54, 57, 63, 66, 69, 60, 39, 36, 90, 32, 75, 76, 78, 79, 80, 77, 55, 58, 64, 67, 70, 61, 40, 18, 47, 90, 0, 0, 22, 89, 71, 72, 33, 0, 51, 44, 0, 0, 34, 43, 48, 50, 27, 25, 41, 0, 17, 46, 91, 19, 90, 0, 23, 26, 0, 0, 25, 42, 25, 20, 24, 0, 25 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 2, 3, 4, 31, 32, 33, 34, 35, 103, 104, 36, 37, 38, 39, 40, 41, 42, 43, 44, 9, 10, 11, 45, 46, 93 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -93 static const yytype_int8 yypact[] = { 38, 27, 77, -93, 46, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, 62, -93, 82, -3, 66, 3, 74, -4, 83, 84, 75, -93, -93, -93, -93, -93, -93, -93, -93, -93, 71, -93, 93, -93, -93, -93, -93, -93, -93, 78, 72, -93, -93, -93, -93, -93, -93, -93, -93, 25, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, 21, 19, 79, 80, -93, -93, -93, -93, -93, 81, -93, -93, 85, 86, -93, -93, -93, -93, -93, -6, 76, 17, -93, -93, -93, -93, 87, 69, -93, -93, 88, 89, -1, -93, 18, -93, -93, 69, 91 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -93, -93, -93, -93, -93, -93, -93, -93, 20, -68, -27, -93, -93, -93, -93, -93, -93, -93, 60, -93, -93, -93, -92, -93, -93, 43 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 79, 67, 68, 69, 70, 71, 72, 58, 73, 100, 107, 74, 75, 101, 110, 76, 49, 50, 101, 102, 113, 77, 59, 78, 61, 62, 63, 64, 65, 66, 61, 62, 63, 64, 65, 66, 101, 101, 92, 111, 90, 91, 106, 112, 88, 111, 5, 6, 7, 8, 88, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 23, 24, 25, 26, 27, 28, 29, 79, 30, 51, 52, 53, 54, 55, 56, 12, 57, 61, 62, 63, 64, 65, 66, 60, 48, 80, 47, 6, 83, 8, 81, 82, 26, 84, 85, 86, 87, 94, 95, 96, 89, 105, 97, 98, 99, 0, 108, 109, 101, 0, 88 }; static const yytype_int8 yycheck[] = { 27, 5, 6, 7, 8, 9, 10, 4, 12, 15, 102, 15, 16, 19, 15, 19, 19, 20, 19, 25, 112, 25, 19, 27, 5, 6, 7, 8, 9, 10, 5, 6, 7, 8, 9, 10, 19, 19, 19, 107, 19, 20, 25, 25, 25, 113, 19, 20, 21, 22, 25, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 16, 17, 18, 19, 20, 21, 22, 96, 24, 5, 6, 7, 8, 9, 10, 0, 12, 5, 6, 7, 8, 9, 10, 25, 4, 27, 26, 20, 30, 22, 9, 9, 19, 24, 3, 19, 26, 20, 20, 20, 59, 27, 84, 20, 20, -1, 20, 20, 19, -1, 25 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 23, 29, 30, 31, 19, 20, 21, 22, 48, 49, 50, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 51, 52, 26, 4, 19, 20, 5, 6, 7, 8, 9, 10, 12, 4, 19, 46, 5, 6, 7, 8, 9, 10, 5, 6, 7, 8, 9, 10, 12, 15, 16, 19, 25, 27, 38, 46, 9, 9, 46, 24, 3, 19, 26, 25, 53, 19, 20, 19, 53, 20, 20, 20, 36, 20, 20, 15, 19, 25, 37, 38, 27, 25, 50, 20, 20, 15, 37, 25, 50 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. However, YYFAIL appears to be in use. Nevertheless, it is formally deprecated in Bison 2.4.2's NEWS entry, where a plan to phase it out is discussed. */ #define YYFAIL goto yyerrlab #if defined YYFAIL /* This is here to suppress warnings from the GCC cpp's -Wunused-macros. Normally we don't worry about that warning, but some users do, and we want to make it easy for users to remove YYFAIL uses, which will produce warnings from Bison 2.5. */ #endif #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (pc, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else # define YYLEX yylex (&yylval, pc) #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pc); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; parser_control *pc; #endif { if (!yyvaluep) return; YYUSE (pc); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep, pc) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; parser_control *pc; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void yy_stack_print (yybottom, yytop) yytype_int16 *yybottom; yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule, parser_control *pc) #else static void yy_reduce_print (yyvsp, yyrule, pc) YYSTYPE *yyvsp; int yyrule; parser_control *pc; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) , pc); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule, pc); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_control *pc) #else static void yydestruct (yymsg, yytype, yyvaluep, pc) const char *yymsg; int yytype; YYSTYPE *yyvaluep; parser_control *pc; #endif { YYUSE (yyvaluep); YYUSE (pc); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (parser_control *pc); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*-------------------------. | yyparse or yypush_parse. | `-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (parser_control *pc) #else int yyparse (pc) parser_control *pc; #endif #endif { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: `yyss': related to states. `yyvs': related to semantic values. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yytoken = 0; yyss = yyssa; yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 4: /* Line 1464 of yacc.c */ #line 330 "parse-datetime.y" { pc->seconds = (yyvsp[(2) - (2)].timespec); pc->timespec_seen = true; } break; case 7: /* Line 1464 of yacc.c */ #line 343 "parse-datetime.y" { pc->times_seen++; pc->dates_seen++; } break; case 8: /* Line 1464 of yacc.c */ #line 345 "parse-datetime.y" { pc->times_seen++; } break; case 9: /* Line 1464 of yacc.c */ #line 347 "parse-datetime.y" { pc->local_zones_seen++; } break; case 10: /* Line 1464 of yacc.c */ #line 349 "parse-datetime.y" { pc->zones_seen++; } break; case 11: /* Line 1464 of yacc.c */ #line 351 "parse-datetime.y" { pc->dates_seen++; } break; case 12: /* Line 1464 of yacc.c */ #line 353 "parse-datetime.y" { pc->days_seen++; } break; case 18: /* Line 1464 of yacc.c */ #line 369 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0); pc->meridian = (yyvsp[(2) - (2)].intval); } break; case 19: /* Line 1464 of yacc.c */ #line 374 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0); pc->meridian = (yyvsp[(4) - (4)].intval); } break; case 20: /* Line 1464 of yacc.c */ #line 379 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec); pc->meridian = (yyvsp[(6) - (6)].intval); } break; case 22: /* Line 1464 of yacc.c */ #line 388 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0); pc->meridian = MER24; } break; case 23: /* Line 1464 of yacc.c */ #line 393 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0); pc->meridian = MER24; } break; case 24: /* Line 1464 of yacc.c */ #line 398 "parse-datetime.y" { set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec); pc->meridian = MER24; } break; case 27: /* Line 1464 of yacc.c */ #line 411 "parse-datetime.y" { pc->zones_seen++; pc->time_zone = time_zone_hhmm (pc, (yyvsp[(1) - (2)].textintval), (yyvsp[(2) - (2)].intval)); } break; case 28: /* Line 1464 of yacc.c */ #line 419 "parse-datetime.y" { pc->local_isdst = (yyvsp[(1) - (1)].intval); pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval)); } break; case 29: /* Line 1464 of yacc.c */ #line 424 "parse-datetime.y" { pc->local_isdst = 1; pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1; } break; case 30: /* Line 1464 of yacc.c */ #line 434 "parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (1)].intval); } break; case 31: /* Line 1464 of yacc.c */ #line 436 "parse-datetime.y" { pc->time_zone = HOUR(7); } break; case 32: /* Line 1464 of yacc.c */ #line 438 "parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (2)].intval); apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); } break; case 33: /* Line 1464 of yacc.c */ #line 441 "parse-datetime.y" { pc->time_zone = HOUR(7); apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); } break; case 34: /* Line 1464 of yacc.c */ #line 444 "parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm (pc, (yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); } break; case 35: /* Line 1464 of yacc.c */ #line 446 "parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; } break; case 36: /* Line 1464 of yacc.c */ #line 448 "parse-datetime.y" { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; } break; case 37: /* Line 1464 of yacc.c */ #line 453 "parse-datetime.y" { pc->day_ordinal = 0; pc->day_number = (yyvsp[(1) - (1)].intval); } break; case 38: /* Line 1464 of yacc.c */ #line 458 "parse-datetime.y" { pc->day_ordinal = 0; pc->day_number = (yyvsp[(1) - (2)].intval); } break; case 39: /* Line 1464 of yacc.c */ #line 463 "parse-datetime.y" { pc->day_ordinal = (yyvsp[(1) - (2)].intval); pc->day_number = (yyvsp[(2) - (2)].intval); } break; case 40: /* Line 1464 of yacc.c */ #line 468 "parse-datetime.y" { pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value; pc->day_number = (yyvsp[(2) - (2)].intval); } break; case 41: /* Line 1464 of yacc.c */ #line 476 "parse-datetime.y" { pc->month = (yyvsp[(1) - (3)].textintval).value; pc->day = (yyvsp[(3) - (3)].textintval).value; } break; case 42: /* Line 1464 of yacc.c */ #line 481 "parse-datetime.y" { /* Interpret as YYYY/MM/DD if the first value has 4 or more digits, otherwise as MM/DD/YY. The goal in recognizing YYYY/MM/DD is solely to support legacy machine-generated dates like those in an RCS log listing. If you want portability, use the ISO 8601 format. */ if (4 <= (yyvsp[(1) - (5)].textintval).digits) { pc->year = (yyvsp[(1) - (5)].textintval); pc->month = (yyvsp[(3) - (5)].textintval).value; pc->day = (yyvsp[(5) - (5)].textintval).value; } else { pc->month = (yyvsp[(1) - (5)].textintval).value; pc->day = (yyvsp[(3) - (5)].textintval).value; pc->year = (yyvsp[(5) - (5)].textintval); } } break; case 43: /* Line 1464 of yacc.c */ #line 501 "parse-datetime.y" { /* e.g. 17-JUN-1992. */ pc->day = (yyvsp[(1) - (3)].textintval).value; pc->month = (yyvsp[(2) - (3)].intval); pc->year.value = -(yyvsp[(3) - (3)].textintval).value; pc->year.digits = (yyvsp[(3) - (3)].textintval).digits; } break; case 44: /* Line 1464 of yacc.c */ #line 509 "parse-datetime.y" { /* e.g. JUN-17-1992. */ pc->month = (yyvsp[(1) - (3)].intval); pc->day = -(yyvsp[(2) - (3)].textintval).value; pc->year.value = -(yyvsp[(3) - (3)].textintval).value; pc->year.digits = (yyvsp[(3) - (3)].textintval).digits; } break; case 45: /* Line 1464 of yacc.c */ #line 517 "parse-datetime.y" { pc->month = (yyvsp[(1) - (2)].intval); pc->day = (yyvsp[(2) - (2)].textintval).value; } break; case 46: /* Line 1464 of yacc.c */ #line 522 "parse-datetime.y" { pc->month = (yyvsp[(1) - (4)].intval); pc->day = (yyvsp[(2) - (4)].textintval).value; pc->year = (yyvsp[(4) - (4)].textintval); } break; case 47: /* Line 1464 of yacc.c */ #line 528 "parse-datetime.y" { pc->day = (yyvsp[(1) - (2)].textintval).value; pc->month = (yyvsp[(2) - (2)].intval); } break; case 48: /* Line 1464 of yacc.c */ #line 533 "parse-datetime.y" { pc->day = (yyvsp[(1) - (3)].textintval).value; pc->month = (yyvsp[(2) - (3)].intval); pc->year = (yyvsp[(3) - (3)].textintval); } break; case 50: /* Line 1464 of yacc.c */ #line 543 "parse-datetime.y" { /* ISO 8601 format. YYYY-MM-DD. */ pc->year = (yyvsp[(1) - (3)].textintval); pc->month = -(yyvsp[(2) - (3)].textintval).value; pc->day = -(yyvsp[(3) - (3)].textintval).value; } break; case 51: /* Line 1464 of yacc.c */ #line 553 "parse-datetime.y" { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), (yyvsp[(2) - (2)].intval)); } break; case 52: /* Line 1464 of yacc.c */ #line 555 "parse-datetime.y" { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); } break; case 53: /* Line 1464 of yacc.c */ #line 557 "parse-datetime.y" { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); } break; case 54: /* Line 1464 of yacc.c */ #line 562 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); } break; case 55: /* Line 1464 of yacc.c */ #line 564 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; case 56: /* Line 1464 of yacc.c */ #line 566 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; } break; case 57: /* Line 1464 of yacc.c */ #line 568 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); } break; case 58: /* Line 1464 of yacc.c */ #line 570 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; case 59: /* Line 1464 of yacc.c */ #line 572 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; } break; case 60: /* Line 1464 of yacc.c */ #line 574 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); } break; case 61: /* Line 1464 of yacc.c */ #line 576 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; case 62: /* Line 1464 of yacc.c */ #line 578 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); } break; case 63: /* Line 1464 of yacc.c */ #line 580 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); } break; case 64: /* Line 1464 of yacc.c */ #line 582 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; case 65: /* Line 1464 of yacc.c */ #line 584 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; } break; case 66: /* Line 1464 of yacc.c */ #line 586 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); } break; case 67: /* Line 1464 of yacc.c */ #line 588 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; case 68: /* Line 1464 of yacc.c */ #line 590 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; } break; case 69: /* Line 1464 of yacc.c */ #line 592 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); } break; case 70: /* Line 1464 of yacc.c */ #line 594 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; case 71: /* Line 1464 of yacc.c */ #line 596 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; case 72: /* Line 1464 of yacc.c */ #line 598 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; case 73: /* Line 1464 of yacc.c */ #line 600 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; } break; case 75: /* Line 1464 of yacc.c */ #line 606 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; case 76: /* Line 1464 of yacc.c */ #line 608 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; case 77: /* Line 1464 of yacc.c */ #line 610 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; case 78: /* Line 1464 of yacc.c */ #line 612 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; case 79: /* Line 1464 of yacc.c */ #line 614 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; case 80: /* Line 1464 of yacc.c */ #line 616 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; case 81: /* Line 1464 of yacc.c */ #line 621 "parse-datetime.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); } break; case 85: /* Line 1464 of yacc.c */ #line 629 "parse-datetime.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; case 87: /* Line 1464 of yacc.c */ #line 635 "parse-datetime.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; case 88: /* Line 1464 of yacc.c */ #line 640 "parse-datetime.y" { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); } break; case 89: /* Line 1464 of yacc.c */ #line 645 "parse-datetime.y" { /* Hybrid all-digit and relative offset, so that we accept e.g., "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ digits_to_date_time (pc, (yyvsp[(1) - (2)].textintval)); apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); } break; case 90: /* Line 1464 of yacc.c */ #line 655 "parse-datetime.y" { (yyval.intval) = -1; } break; case 91: /* Line 1464 of yacc.c */ #line 657 "parse-datetime.y" { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; } break; /* Line 1464 of yacc.c */ #line 2388 "parse-datetime.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pc, YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (pc, yymsg); } else { yyerror (pc, YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pc); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pc); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pc, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pc); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pc); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } /* Line 1684 of yacc.c */ #line 660 "parse-datetime.y" static table const meridian_table[] = { { "AM", tMERIDIAN, MERam }, { "A.M.", tMERIDIAN, MERam }, { "PM", tMERIDIAN, MERpm }, { "P.M.", tMERIDIAN, MERpm }, { NULL, 0, 0 } }; static table const dst_table[] = { { "DST", tDST, 0 } }; static table const month_and_day_table[] = { { "JANUARY", tMONTH, 1 }, { "FEBRUARY", tMONTH, 2 }, { "MARCH", tMONTH, 3 }, { "APRIL", tMONTH, 4 }, { "MAY", tMONTH, 5 }, { "JUNE", tMONTH, 6 }, { "JULY", tMONTH, 7 }, { "AUGUST", tMONTH, 8 }, { "SEPTEMBER",tMONTH, 9 }, { "SEPT", tMONTH, 9 }, { "OCTOBER", tMONTH, 10 }, { "NOVEMBER", tMONTH, 11 }, { "DECEMBER", tMONTH, 12 }, { "SUNDAY", tDAY, 0 }, { "MONDAY", tDAY, 1 }, { "TUESDAY", tDAY, 2 }, { "TUES", tDAY, 2 }, { "WEDNESDAY",tDAY, 3 }, { "WEDNES", tDAY, 3 }, { "THURSDAY", tDAY, 4 }, { "THUR", tDAY, 4 }, { "THURS", tDAY, 4 }, { "FRIDAY", tDAY, 5 }, { "SATURDAY", tDAY, 6 }, { NULL, 0, 0 } }; static table const time_units_table[] = { { "YEAR", tYEAR_UNIT, 1 }, { "MONTH", tMONTH_UNIT, 1 }, { "FORTNIGHT",tDAY_UNIT, 14 }, { "WEEK", tDAY_UNIT, 7 }, { "DAY", tDAY_UNIT, 1 }, { "HOUR", tHOUR_UNIT, 1 }, { "MINUTE", tMINUTE_UNIT, 1 }, { "MIN", tMINUTE_UNIT, 1 }, { "SECOND", tSEC_UNIT, 1 }, { "SEC", tSEC_UNIT, 1 }, { NULL, 0, 0 } }; /* Assorted relative-time words. */ static table const relative_time_table[] = { { "TOMORROW", tDAY_SHIFT, 1 }, { "YESTERDAY",tDAY_SHIFT, -1 }, { "TODAY", tDAY_SHIFT, 0 }, { "NOW", tDAY_SHIFT, 0 }, { "LAST", tORDINAL, -1 }, { "THIS", tORDINAL, 0 }, { "NEXT", tORDINAL, 1 }, { "FIRST", tORDINAL, 1 }, /*{ "SECOND", tORDINAL, 2 }, */ { "THIRD", tORDINAL, 3 }, { "FOURTH", tORDINAL, 4 }, { "FIFTH", tORDINAL, 5 }, { "SIXTH", tORDINAL, 6 }, { "SEVENTH", tORDINAL, 7 }, { "EIGHTH", tORDINAL, 8 }, { "NINTH", tORDINAL, 9 }, { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, { "AGO", tAGO, -1 }, { "HENCE", tAGO, 1 }, { NULL, 0, 0 } }; /* The universal time zone table. These labels can be used even for time stamps that would not otherwise be valid, e.g., GMT time stamps in London during summer. */ static table const universal_time_zone_table[] = { { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ { "UTC", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* The time zone table. This table is necessarily incomplete, as time zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on parse_datetime to handle arbitrary time zone abbreviations; use numeric abbreviations like "-0500" instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */ { "CET", tZONE, HOUR ( 1) }, /* Central European */ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */ { "MET", tZONE, HOUR ( 1) }, /* Middle European */ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */ { "GST", tZONE, HOUR (10) }, /* Guam Standard */ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */ { NULL, 0, 0 } }; /* Military time zone table. Note 'T' is a special case, as it is used as the separator in ISO 8601 date and time of day representation. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, { "B", tZONE, -HOUR ( 2) }, { "C", tZONE, -HOUR ( 3) }, { "D", tZONE, -HOUR ( 4) }, { "E", tZONE, -HOUR ( 5) }, { "F", tZONE, -HOUR ( 6) }, { "G", tZONE, -HOUR ( 7) }, { "H", tZONE, -HOUR ( 8) }, { "I", tZONE, -HOUR ( 9) }, { "K", tZONE, -HOUR (10) }, { "L", tZONE, -HOUR (11) }, { "M", tZONE, -HOUR (12) }, { "N", tZONE, HOUR ( 1) }, { "O", tZONE, HOUR ( 2) }, { "P", tZONE, HOUR ( 3) }, { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, { "T", 'T', 0 }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, { "X", tZONE, HOUR (11) }, { "Y", tZONE, HOUR (12) }, { "Z", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* Convert a time zone expressed as HH:MM into an integer count of minutes. If MM is negative, then S is of the form HHMM and needs to be picked apart; otherwise, S is of the form HH. As specified in http://www.opengroup.org/susv3xbd/xbd_chap08.html#tag_08_03, allow only valid TZ range, and consider first two digits as hours, if no minutes specified. */ static long int time_zone_hhmm (parser_control *pc, textint s, long int mm) { long int n_minutes; /* If the length of S is 1 or 2 and no minutes are specified, interpret it as a number of hours. */ if (s.digits <= 2 && mm < 0) s.value *= 100; if (mm < 0) n_minutes = (s.value / 100) * 60 + s.value % 100; else n_minutes = s.value * 60 + (s.negative ? -mm : mm); /* If the absolute number of minutes is larger than 24 hours, arrange to reject it by incrementing pc->zones_seen. Thus, we allow only values in the range UTC-24:00 to UTC+24:00. */ if (24 * 60 < abs (n_minutes)) pc->zones_seen++; return n_minutes; } static int to_hour (long int hours, int meridian) { switch (meridian) { default: /* Pacify GCC. */ case MER24: return 0 <= hours && hours < 24 ? hours : -1; case MERam: return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1; case MERpm: return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1; } } static long int to_year (textint textyear) { long int year = textyear.value; if (year < 0) year = -year; /* XPG4 suggests that years 00-68 map to 2000-2068, and years 69-99 map to 1969-1999. */ else if (textyear.digits == 2) year += year < 69 ? 2000 : 1900; return year; } static table const * _GL_ATTRIBUTE_PURE lookup_zone (parser_control const *pc, char const *name) { table const *tp; for (tp = universal_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; /* Try local zone abbreviations before those in time_zone_table, as the local ones are more likely to be right. */ for (tp = pc->local_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; for (tp = time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; return NULL; } #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. The body of this function is taken directly from the GNU C Library; see src/strftime.c. */ static long int tm_diff (struct tm const *a, struct tm const *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); long int ayear = a->tm_year; long int years = ayear - b->tm_year; long int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ static table const * lookup_word (parser_control const *pc, char *word) { char *p; char *q; size_t wordlen; table const *tp; bool period_found; bool abbrev; /* Make it uppercase. */ for (p = word; *p; p++) { unsigned char ch = *p; *p = c_toupper (ch); } for (tp = meridian_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* See if we have an abbreviation for a month. */ wordlen = strlen (word); abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.'); for (tp = month_and_day_table; tp->name; tp++) if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0) return tp; if ((tp = lookup_zone (pc, word))) return tp; if (strcmp (word, dst_table[0].name) == 0) return dst_table; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Strip off any plural and try the units table again. */ if (word[wordlen - 1] == 'S') { word[wordlen - 1] = '\0'; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */ } for (tp = relative_time_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Military time zones. */ if (wordlen == 1) for (tp = military_table; tp->name; tp++) if (word[0] == tp->name[0]) return tp; /* Drop out any periods and try the time zone table again. */ for (period_found = false, p = q = word; (*p = *q); q++) if (*q == '.') period_found = true; else p++; if (period_found && (tp = lookup_zone (pc, word))) return tp; return NULL; } static int yylex (YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; for (;;) { while (c = *pc->input, c_isspace (c)) pc->input++; if (ISDIGIT (c) || c == '-' || c == '+') { char const *p; int sign; unsigned long int value; if (c == '-' || c == '+') { sign = c == '-' ? -1 : 1; while (c = *++pc->input, c_isspace (c)) continue; if (! ISDIGIT (c)) /* skip the '-' sign */ continue; } else sign = 0; p = pc->input; for (value = 0; ; value *= 10) { unsigned long int value1 = value + (c - '0'); if (value1 < value) return '?'; value = value1; c = *++p; if (! ISDIGIT (c)) break; if (ULONG_MAX / 10 < value) return '?'; } if ((c == '.' || c == ',') && ISDIGIT (p[1])) { time_t s; int ns; int digits; unsigned long int value1; /* Check for overflow when converting value to time_t. */ if (sign < 0) { s = - value; if (0 < s) return '?'; value1 = -s; } else { s = value; if (s < 0) return '?'; value1 = s; } if (value != value1) return '?'; /* Accumulate fraction, to ns precision. */ p++; ns = *p++ - '0'; for (digits = 2; digits <= LOG10_BILLION; digits++) { ns *= 10; if (ISDIGIT (*p)) ns += *p++ - '0'; } /* Skip excess digits, truncating toward -Infinity. */ if (sign < 0) for (; ISDIGIT (*p); p++) if (*p != '0') { ns++; break; } while (ISDIGIT (*p)) p++; /* Adjust to the timespec convention, which is that tv_nsec is always a positive offset even if tv_sec is negative. */ if (sign < 0 && ns) { s--; if (! (s < 0)) return '?'; ns = BILLION - ns; } lvalp->timespec.tv_sec = s; lvalp->timespec.tv_nsec = ns; pc->input = p; return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER; } else { lvalp->textintval.negative = sign < 0; if (sign < 0) { lvalp->textintval.value = - value; if (0 < lvalp->textintval.value) return '?'; } else { lvalp->textintval.value = value; if (lvalp->textintval.value < 0) return '?'; } lvalp->textintval.digits = p - pc->input; pc->input = p; return sign ? tSNUMBER : tUNUMBER; } } if (c_isalpha (c)) { char buff[20]; char *p = buff; table const *tp; do { if (p - buff < sizeof buff - 1) *p++ = c; c = *++pc->input; } while (c_isalpha (c) || c == '.'); *p = '\0'; tp = lookup_word (pc, buff); if (! tp) return '?'; lvalp->intval = tp->value; return tp->type; } if (c != '(') return to_uchar (*pc->input++); count = 0; do { c = *pc->input++; if (c == '\0') return c; if (c == '(') count++; else if (c == ')') count--; } while (count != 0); } } /* Do nothing if the parser reports an error. */ static int yyerror (parser_control const *pc _GL_UNUSED, char const *s _GL_UNUSED) { return 0; } /* If *TM0 is the old and *TM1 is the new value of a struct tm after passing it to mktime, return true if it's OK that mktime returned T. It's not OK if *TM0 has out-of-range members. */ static bool mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t) { if (t == (time_t) -1) { /* Guard against falsely reporting an error when parsing a time stamp that happens to equal (time_t) -1, on a host that supports such a time stamp. */ tm1 = localtime (&t); if (!tm1) return false; } return ! ((tm0->tm_sec ^ tm1->tm_sec) | (tm0->tm_min ^ tm1->tm_min) | (tm0->tm_hour ^ tm1->tm_hour) | (tm0->tm_mday ^ tm1->tm_mday) | (tm0->tm_mon ^ tm1->tm_mon) | (tm0->tm_year ^ tm1->tm_year)); } /* A reasonable upper bound for the size of ordinary TZ strings. Use heap allocation if TZ's length exceeds this. */ enum { TZBUFSIZE = 100 }; /* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated otherwise. */ static char * get_tz (char tzbuf[TZBUFSIZE]) { char *tz = getenv ("TZ"); if (tz) { size_t tzsize = strlen (tz) + 1; tz = (tzsize <= TZBUFSIZE ? memcpy (tzbuf, tz, tzsize) : xmemdup (tz, tzsize)); } return tz; } /* Parse a date/time string, storing the resulting time value into *RESULT. The string itself is pointed to by P. Return true if successful. P can be an incomplete or relative time specification; if so, use *NOW as the basis for the returned time. */ bool parse_datetime (struct timespec *result, char const *p, struct timespec const *now) { time_t Start; long int Start_ns; struct tm const *tmp; struct tm tm; struct tm tm0; parser_control pc; struct timespec gettime_buffer; unsigned char c; bool tz_was_altered = false; char *tz0 = NULL; char tz0buf[TZBUFSIZE]; bool ok = true; if (! now) { gettime (&gettime_buffer); now = &gettime_buffer; } Start = now->tv_sec; Start_ns = now->tv_nsec; tmp = localtime (&now->tv_sec); if (! tmp) return false; while (c = *p, c_isspace (c)) p++; if (strncmp (p, "TZ=\"", 4) == 0) { char const *tzbase = p + 4; size_t tzsize = 1; char const *s; for (s = tzbase; *s; s++, tzsize++) if (*s == '\\') { s++; if (! (*s == '\\' || *s == '"')) break; } else if (*s == '"') { char *z; char *tz1; char tz1buf[TZBUFSIZE]; bool large_tz = TZBUFSIZE < tzsize; bool setenv_ok; /* Free tz0, in case this is the 2nd or subsequent time through. */ free (tz0); tz0 = get_tz (tz0buf); z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf; for (s = tzbase; *s != '"'; s++) *z++ = *(s += *s == '\\'); *z = '\0'; setenv_ok = setenv ("TZ", tz1, 1) == 0; if (large_tz) free (tz1); if (!setenv_ok) goto fail; tz_was_altered = true; p = s + 1; } } /* As documented, be careful to treat the empty string just like a date string of "0". Without this, an empty string would be declared invalid when parsed during a DST transition. */ if (*p == '\0') p = "0"; pc.input = p; pc.year.value = tmp->tm_year; pc.year.value += TM_YEAR_BASE; pc.year.digits = 0; pc.month = tmp->tm_mon + 1; pc.day = tmp->tm_mday; pc.hour = tmp->tm_hour; pc.minutes = tmp->tm_min; pc.seconds.tv_sec = tmp->tm_sec; pc.seconds.tv_nsec = Start_ns; tm.tm_isdst = tmp->tm_isdst; pc.meridian = MER24; pc.rel = RELATIVE_TIME_0; pc.timespec_seen = false; pc.rels_seen = false; pc.dates_seen = 0; pc.days_seen = 0; pc.times_seen = 0; pc.local_zones_seen = 0; pc.dsts_seen = 0; pc.zones_seen = 0; #if HAVE_STRUCT_TM_TM_ZONE pc.local_time_zone_table[0].name = tmp->tm_zone; pc.local_time_zone_table[0].type = tLOCAL_ZONE; pc.local_time_zone_table[0].value = tmp->tm_isdst; pc.local_time_zone_table[1].name = NULL; /* Probe the names used in the next three calendar quarters, looking for a tm_isdst different from the one we already have. */ { int quarter; for (quarter = 1; quarter <= 3; quarter++) { time_t probe = Start + quarter * (90 * 24 * 60 * 60); struct tm const *probe_tm = localtime (&probe); if (probe_tm && probe_tm->tm_zone && probe_tm->tm_isdst != pc.local_time_zone_table[0].value) { { pc.local_time_zone_table[1].name = probe_tm->tm_zone; pc.local_time_zone_table[1].type = tLOCAL_ZONE; pc.local_time_zone_table[1].value = probe_tm->tm_isdst; pc.local_time_zone_table[2].name = NULL; } break; } } } #else #if HAVE_TZNAME { # if !HAVE_DECL_TZNAME extern char *tzname[]; # endif int i; for (i = 0; i < 2; i++) { pc.local_time_zone_table[i].name = tzname[i]; pc.local_time_zone_table[i].type = tLOCAL_ZONE; pc.local_time_zone_table[i].value = i; } pc.local_time_zone_table[i].name = NULL; } #else pc.local_time_zone_table[0].name = NULL; #endif #endif if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { /* This locale uses the same abbreviation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; pc.local_time_zone_table[1].name = NULL; } if (yyparse (&pc) != 0) goto fail; if (pc.timespec_seen) *result = pc.seconds; else { if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen | (pc.local_zones_seen + pc.zones_seen))) goto fail; tm.tm_year = to_year (pc.year) - TM_YEAR_BASE; tm.tm_mon = pc.month - 1; tm.tm_mday = pc.day; if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen)) { tm.tm_hour = to_hour (pc.hour, pc.meridian); if (tm.tm_hour < 0) goto fail; tm.tm_min = pc.minutes; tm.tm_sec = pc.seconds.tv_sec; } else { tm.tm_hour = tm.tm_min = tm.tm_sec = 0; pc.seconds.tv_nsec = 0; } /* Let mktime deduce tm_isdst if we have an absolute time stamp. */ if (pc.dates_seen | pc.days_seen | pc.times_seen) tm.tm_isdst = -1; /* But if the input explicitly specifies local time with or without DST, give mktime that information. */ if (pc.local_zones_seen) tm.tm_isdst = pc.local_isdst; tm0 = tm; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) { if (! pc.zones_seen) goto fail; else { /* Guard against falsely reporting errors near the time_t boundaries when parsing times in other time zones. For example, suppose the input string "1969-12-31 23:00:00 -0100", the current time zone is 8 hours ahead of UTC, and the min time_t value is 1970-01-01 00:00:00 UTC. Then the min localtime value is 1970-01-01 08:00:00, and mktime will therefore fail on 1969-12-31 23:00:00. To work around the problem, set the time zone to 1 hour behind UTC temporarily by setting TZ="XXX1:00" and try mktime again. */ long int time_zone = pc.time_zone; long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone; long int abs_time_zone_hour = abs_time_zone / 60; int abs_time_zone_min = abs_time_zone % 60; char tz1buf[sizeof "XXX+0:00" + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; tz_was_altered = true; tm = tm0; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) goto fail; } } if (pc.days_seen && ! pc.dates_seen) { tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 + 7 * (pc.day_ordinal - (0 < pc.day_ordinal && tm.tm_wday != pc.day_number))); tm.tm_isdst = -1; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* Add relative date. */ if (pc.rel.year | pc.rel.month | pc.rel.day) { int year = tm.tm_year + pc.rel.year; int month = tm.tm_mon + pc.rel.month; int day = tm.tm_mday + pc.rel.day; if (((year < tm.tm_year) ^ (pc.rel.year < 0)) | ((month < tm.tm_mon) ^ (pc.rel.month < 0)) | ((day < tm.tm_mday) ^ (pc.rel.day < 0))) goto fail; tm.tm_year = year; tm.tm_mon = month; tm.tm_mday = day; tm.tm_hour = tm0.tm_hour; tm.tm_min = tm0.tm_min; tm.tm_sec = tm0.tm_sec; tm.tm_isdst = tm0.tm_isdst; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* The only "output" of this if-block is an updated Start value, so this block must follow others that clobber Start. */ if (pc.zones_seen) { long int delta = pc.time_zone * 60; time_t t1; #ifdef HAVE_TM_GMTOFF delta -= tm.tm_gmtoff; #else time_t t = Start; struct tm const *gmt = gmtime (&t); if (! gmt) goto fail; delta -= tm_diff (&tm, gmt); #endif t1 = Start - delta; if ((Start < t1) != (delta < 0)) goto fail; /* time_t overflow */ Start = t1; } /* Add relative hours, minutes, and seconds. On hosts that support leap seconds, ignore the possibility of leap seconds; e.g., "+ 10 minutes" adds 600 seconds, even if one of them is a leap second. Typically this is not what the user wants, but it's too hard to do it the other way, because the time zone indicator must be applied before relative times, and if mktime is applied again the time zone will be lost. */ { long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns; long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION; time_t t0 = Start; long int d1 = 60 * 60 * pc.rel.hour; time_t t1 = t0 + d1; long int d2 = 60 * pc.rel.minutes; time_t t2 = t1 + d2; long_time_t d3 = pc.rel.seconds; long_time_t t3 = t2 + d3; long int d4 = (sum_ns - normalized_ns) / BILLION; long_time_t t4 = t3 + d4; time_t t5 = t4; if ((d1 / (60 * 60) ^ pc.rel.hour) | (d2 / 60 ^ pc.rel.minutes) | ((t1 < t0) ^ (d1 < 0)) | ((t2 < t1) ^ (d2 < 0)) | ((t3 < t2) ^ (d3 < 0)) | ((t4 < t3) ^ (d4 < 0)) | (t5 != t4)) goto fail; result->tv_sec = t5; result->tv_nsec = normalized_ns; } } goto done; fail: ok = false; done: if (tz_was_altered) ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0; if (tz0 != tz0buf) free (tz0); return ok; } #if TEST int main (int ac, char **av) { char buff[BUFSIZ]; printf ("Enter date, or blank line to exit.\n\t> "); fflush (stdout); buff[BUFSIZ - 1] = '\0'; while (fgets (buff, BUFSIZ - 1, stdin) && buff[0]) { struct timespec d; struct tm const *tm; if (! parse_datetime (&d, buff, NULL)) printf ("Bad format - couldn't convert.\n"); else if (! (tm = localtime (&d.tv_sec))) { long int sec = d.tv_sec; printf ("localtime (%ld) failed\n", sec); } else { int ns = d.tv_nsec; printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n", tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, ns); } printf ("\t> "); fflush (stdout); } return 0; } #endif /* TEST */ �����������������������������������������������coreutils-8.21/lib/unistd--.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001743�12071024546�012733� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like unistd.h, but redefine some names to avoid glitches. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <unistd.h> #include "unistd-safer.h" #undef dup #define dup dup_safer #undef pipe #define pipe pipe_safer #if GNULIB_PIPE2_SAFER # undef pipe2 # define pipe2 pipe2_safer #endif �����������������������������coreutils-8.21/lib/sha1.h���������������������������������������������������������������������������0000664�0000000�0000000�00000006076�12071561013�012126� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declarations of functions and data types used for SHA1 sum library functions. Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef SHA1_H # define SHA1_H 1 # include <stdio.h> # include <stdint.h> # ifdef __cplusplus extern "C" { # endif #define SHA1_DIGEST_SIZE 20 /* Structure to save state of computation between the single steps. */ struct sha1_ctx { uint32_t A; uint32_t B; uint32_t C; uint32_t D; uint32_t E; uint32_t total[2]; uint32_t buflen; uint32_t buffer[32]; }; /* Initialize structure containing state of computation. */ extern void sha1_init_ctx (struct sha1_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 20 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf); /* Put result from CTX in first 20 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf); /* Compute SHA1 message digest for bytes read from STREAM. The resulting message digest number will be written into the 20 bytes beginning at RESBLOCK. */ extern int sha1_stream (FILE *stream, void *resblock); /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_buffer (const char *buffer, size_t len, void *resblock); # ifdef __cplusplus } # endif #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unicodeio.c����������������������������������������������������������������������0000664�0000000�0000000�00000015473�12100637437�013253� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Unicode character output to streams with locale dependent encoding. Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <haible@clisp.cons.org>. */ #include <config.h> /* Specification. */ #include "unicodeio.h" #include <stdio.h> #include <string.h> #include <errno.h> #if HAVE_ICONV # include <iconv.h> #endif #include <error.h> #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #include "localcharset.h" #include "unistr.h" /* When we pass a Unicode character to iconv(), we must pass it in a suitable encoding. The standardized Unicode encodings are UTF-8, UCS-2, UCS-4, UTF-16, UTF-16BE, UTF-16LE, UTF-7. UCS-2 supports only characters up to \U0000FFFF. UTF-16 and variants support only characters up to \U0010FFFF. UTF-7 is way too complex and not supported by glibc-2.1. UCS-4 specification leaves doubts about endianness and byte order mark. glibc currently interprets it as big endian without byte order mark, but this is not backed by an RFC. So we use UTF-8. It supports characters up to \U7FFFFFFF and is unambiguously defined. */ /* Luckily, the encoding's name is platform independent. */ #define UTF8_NAME "UTF-8" /* Converts the Unicode character CODE to its multibyte representation in the current locale and calls the SUCCESS callback on the resulting byte sequence. If an error occurs, invokes the FAILURE callback instead, passing it CODE and an English error string. Returns whatever the callback returned. Assumes that the locale doesn't change between two calls. */ long unicode_to_mb (unsigned int code, long (*success) (const char *buf, size_t buflen, void *callback_arg), long (*failure) (unsigned int code, const char *msg, void *callback_arg), void *callback_arg) { static int initialized; static int is_utf8; #if HAVE_ICONV static iconv_t utf8_to_local; #endif char inbuf[6]; int count; if (!initialized) { const char *charset = locale_charset (); is_utf8 = !strcmp (charset, UTF8_NAME); #if HAVE_ICONV if (!is_utf8) { utf8_to_local = iconv_open (charset, UTF8_NAME); if (utf8_to_local == (iconv_t)(-1)) /* For an unknown encoding, assume ASCII. */ utf8_to_local = iconv_open ("ASCII", UTF8_NAME); } #endif initialized = 1; } /* Test whether the utf8_to_local converter is available at all. */ if (!is_utf8) { #if HAVE_ICONV if (utf8_to_local == (iconv_t)(-1)) return failure (code, N_("iconv function not usable"), callback_arg); #else return failure (code, N_("iconv function not available"), callback_arg); #endif } /* Convert the character to UTF-8. */ count = u8_uctomb ((unsigned char *) inbuf, code, sizeof (inbuf)); if (count < 0) return failure (code, N_("character out of range"), callback_arg); #if HAVE_ICONV if (!is_utf8) { char outbuf[25]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; inptr = inbuf; inbytesleft = count; outptr = outbuf; outbytesleft = sizeof (outbuf); /* Convert the character from UTF-8 to the locale's charset. */ res = iconv (utf8_to_local, (ICONV_CONST char **)&inptr, &inbytesleft, &outptr, &outbytesleft); if (inbytesleft > 0 || res == (size_t)(-1) /* Irix iconv() inserts a NUL byte if it cannot convert. */ # if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi) || (res > 0 && code != 0 && outptr - outbuf == 1 && *outbuf == '\0') # endif ) return failure (code, NULL, callback_arg); /* Avoid glibc-2.1 bug and Solaris 7 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) \ && !defined __UCLIBC__) \ || defined __sun) /* Get back to the initial shift state. */ res = iconv (utf8_to_local, NULL, NULL, &outptr, &outbytesleft); if (res == (size_t)(-1)) return failure (code, NULL, callback_arg); # endif return success (outbuf, outptr - outbuf, callback_arg); } #endif /* At this point, is_utf8 is true, so no conversion is needed. */ return success (inbuf, count, callback_arg); } /* Simple success callback that outputs the converted string. The STREAM is passed as callback_arg. */ long fwrite_success_callback (const char *buf, size_t buflen, void *callback_arg) { FILE *stream = (FILE *) callback_arg; /* The return value of fwrite can be ignored here, because under normal conditions (STREAM is an open stream and not wide-character oriented) when fwrite() returns a value != buflen it also sets STREAM's error indicator. */ fwrite (buf, 1, buflen, stream); return 0; } /* Simple failure callback that displays an error and exits. */ static long exit_failure_callback (unsigned int code, const char *msg, void *callback_arg _GL_UNUSED) { if (msg == NULL) error (1, 0, _("cannot convert U+%04X to local character set"), code); else error (1, 0, _("cannot convert U+%04X to local character set: %s"), code, gettext (msg)); return -1; } /* Simple failure callback that displays a fallback representation in plain ASCII, using the same notation as ISO C99 strings. */ static long fallback_failure_callback (unsigned int code, const char *msg _GL_UNUSED, void *callback_arg) { FILE *stream = (FILE *) callback_arg; if (code < 0x10000) fprintf (stream, "\\u%04X", code); else fprintf (stream, "\\U%08X", code); return -1; } /* Outputs the Unicode character CODE to the output stream STREAM. Upon failure, exit if exit_on_error is true, otherwise output a fallback notation. */ void print_unicode_char (FILE *stream, unsigned int code, int exit_on_error) { unicode_to_mb (code, fwrite_success_callback, exit_on_error ? exit_failure_callback : fallback_failure_callback, stream); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strerror.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004043�12071024546�013144� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* strerror.c --- POSIX compatible system error routine Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "intprops.h" #include "strerror-override.h" #include "verify.h" /* Use the system functions, not the gnulib overrides in this file. */ #undef sprintf char * strerror (int n) #undef strerror { static char buf[STACKBUF_LEN]; size_t len; /* Cast away const, due to the historical signature of strerror; callers should not be modifying the string. */ const char *msg = strerror_override (n); if (msg) return (char *) msg; msg = strerror (n); /* Our strerror_r implementation might use the system's strerror buffer, so all other clients of strerror have to see the error copied into a buffer that we manage. This is not thread-safe, even if the system strerror is, but portable programs shouldn't be using strerror if they care about thread-safety. */ if (!msg || !*msg) { static char const fmt[] = "Unknown error %d"; verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n)); sprintf (buf, fmt, n); errno = EINVAL; return buf; } /* Fix STACKBUF_LEN if this ever aborts. */ len = strlen (msg); if (sizeof buf <= len) abort (); return memcpy (buf, msg, len + 1); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-frexp.c�������������������������������������������������������������������0000664�0000000�0000000�00000012316�12071024546�013710� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a double into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if ! defined USE_LONG_DOUBLE # include <config.h> #endif /* Specification. */ #ifdef USE_LONG_DOUBLE # include "printf-frexpl.h" #else # include "printf-frexp.h" #endif #include <float.h> #include <math.h> #ifdef USE_LONG_DOUBLE # include "fpucw.h" #endif /* This file assumes FLT_RADIX = 2. If FLT_RADIX is a power of 2 greater than 2, or not even a power of 2, some rounding errors can occur, so that then the returned mantissa is only guaranteed to be <= 2.0, not < 2.0. */ #ifdef USE_LONG_DOUBLE # define FUNC printf_frexpl # define DOUBLE long double # define MIN_EXP LDBL_MIN_EXP # if HAVE_FREXPL_IN_LIBC && HAVE_LDEXPL_IN_LIBC # define USE_FREXP_LDEXP # define FREXP frexpl # define LDEXP ldexpl # endif # define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING # define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING () # define END_ROUNDING() END_LONG_DOUBLE_ROUNDING () # define L_(literal) literal##L #else # define FUNC printf_frexp # define DOUBLE double # define MIN_EXP DBL_MIN_EXP # if HAVE_FREXP_IN_LIBC && HAVE_LDEXP_IN_LIBC # define USE_FREXP_LDEXP # define FREXP frexp # define LDEXP ldexp # endif # define DECL_ROUNDING # define BEGIN_ROUNDING() # define END_ROUNDING() # define L_(literal) literal #endif DOUBLE FUNC (DOUBLE x, int *expptr) { int exponent; DECL_ROUNDING BEGIN_ROUNDING (); #ifdef USE_FREXP_LDEXP /* frexp and ldexp are usually faster than the loop below. */ x = FREXP (x, &exponent); x = x + x; exponent -= 1; if (exponent < MIN_EXP - 1) { x = LDEXP (x, exponent - (MIN_EXP - 1)); exponent = MIN_EXP - 1; } #else { /* Since the exponent is an 'int', it fits in 64 bits. Therefore the loops are executed no more than 64 times. */ DOUBLE pow2[64]; /* pow2[i] = 2^2^i */ DOUBLE powh[64]; /* powh[i] = 2^-2^i */ int i; exponent = 0; if (x >= L_(1.0)) { /* A nonnegative exponent. */ { DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x >= 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x >= pow2_i) { exponent += (1 << i); x *= powh_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } } /* Here 1.0 <= x < 2^2^i. */ } else { /* A negative exponent. */ { DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x < 1.0, exponent >= MIN_EXP - 1. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (exponent - (1 << i) < MIN_EXP - 1) break; exponent -= (1 << i); x *= pow2_i; if (x >= L_(1.0)) break; pow2[i] = pow2_i; powh[i] = powh_i; } } /* Here either x < 1.0 and exponent - 2^i < MIN_EXP - 1 <= exponent, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ if (x < L_(1.0)) /* Invariants: x * 2^exponent = argument, x < 1.0 and exponent - 2^i < MIN_EXP - 1 <= exponent. */ while (i > 0) { i--; if (exponent - (1 << i) >= MIN_EXP - 1) { exponent -= (1 << i); x *= pow2[i]; if (x >= L_(1.0)) break; } } /* Here either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ } /* Invariants: x * 2^exponent = argument, and either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ while (i > 0) { i--; if (x >= pow2[i]) { exponent += (1 << i); x *= powh[i]; } } /* Here either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2.0 and exponent >= MIN_EXP - 1. */ } #endif END_ROUNDING (); *expptr = exponent; return x; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrndup.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001774�12071024546�013166� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ extern char *xstrndup (const char *string, size_t n); ����coreutils-8.21/lib/safe-write.c���������������������������������������������������������������������0000664�0000000�0000000�00000001452�12071024546�013331� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to write that retries after interrupts. Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define SAFE_WRITE #include "safe-read.c" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isatty.c�������������������������������������������������������������������������0000664�0000000�0000000�00000004035�12071024546�012600� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* isatty() replacement. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> /* This replacement is enabled on native Windows. */ #include <errno.h> /* Get declarations of the Win32 API functions. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include "msvc-inval.h" /* Get _get_osfhandle(). */ #include "msvc-nothrow.h" /* Optimized test whether a HANDLE refers to a console. See <http://lists.gnu.org/archive/html/bug-gnulib/2009-08/msg00065.html>. */ #define IsConsoleHandle(h) (((intptr_t) (h) & 3) == 3) #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int _isatty_nothrow (int fd) { int result; TRY_MSVC_INVAL { result = _isatty (fd); } CATCH_MSVC_INVAL { result = 0; } DONE_MSVC_INVAL; return result; } #else # define _isatty_nothrow _isatty #endif /* Determine whether FD refers to a console device. Return 1 if yes. Return 0 and set errno if no. (ptsname_r relies on the errno value.) */ int isatty (int fd) { HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return 0; } /* _isatty (fd) tests whether GetFileType of the handle is FILE_TYPE_CHAR. But it does not set errno when it returns 0. */ if (_isatty_nothrow (fd)) { if (IsConsoleHandle (h)) return 1; } errno = ENOTTY; return 0; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fseterr.c������������������������������������������������������������������������0000664�0000000�0000000�00000005506�12071024546�012741� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set the error indicator of a stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "fseterr.h" #include <errno.h> #include "stdio-impl.h" void fseterr (FILE *fp) { /* Most systems provide FILE as a struct and the necessary bitmask in <stdio.h>, because they need it for implementing getc() and putc() as fast macros. */ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_flags |= _IO_ERR_SEEN; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ fp_->_flags |= __SERR; #elif defined __EMX__ /* emx+gcc */ fp->_flags |= _IOERR; #elif defined __minix /* Minix */ fp->_flags |= _IOERR; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp_->_flag |= _IOERR; #elif defined __UCLIBC__ /* uClibc */ fp->__modeflags |= __FLAG_ERROR; #elif defined __QNX__ /* QNX */ fp->_Mode |= 0x200 /* _MERR */; #elif defined __MINT__ /* Atari FreeMiNT */ fp->__error = 1; #elif defined EPLAN9 /* Plan9 */ if (fp->state != 0 /* CLOSED */) fp->state = 5 /* ERR */; #elif 0 /* unknown */ /* Portable fallback, based on an idea by Rich Felker. Wow! 6 system calls for something that is just a bit operation! Not activated on any system, because there is no way to repair FP when the sequence of system calls fails, and library code should not call abort(). */ int saved_errno; int fd; int fd2; saved_errno = errno; fflush (fp); fd = fileno (fp); fd2 = dup (fd); if (fd2 >= 0) { close (fd); fputc ('\0', fp); /* This should set the error indicator. */ fflush (fp); /* Or this. */ if (dup2 (fd2, fd) < 0) /* Whee... we botched the stream and now cannot restore it! */ abort (); close (fd2); } errno = saved_errno; #else #error "Please port gnulib fseterr.c to your platform! Look at the definitions of ferror and clearerr on your system, then report this to bug-gnulib." #endif } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirchownmod.c��������������������������������������������������������������������0000664�0000000�0000000�00000011463�12071024546�013603� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Change the ownership and mode bits of a directory. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "dirchownmod.h" #include <errno.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include "stat-macros.h" #ifndef HAVE_FCHMOD # define HAVE_FCHMOD 0 # undef fchmod # define fchmod(fd, mode) (-1) #endif /* Change the ownership and mode bits of a directory. If FD is nonnegative, it should be a file descriptor associated with the directory; close it before returning. DIR is the name of the directory. If MKDIR_MODE is not (mode_t) -1, mkdir (DIR, MKDIR_MODE) has just been executed successfully with umask zero, so DIR should be a directory (not a symbolic link). First, set the file's owner to OWNER and group to GROUP, but leave the owner alone if OWNER is (uid_t) -1, and similarly for GROUP. Then, set the file's mode bits to MODE, except preserve any of the bits that correspond to zero bits in MODE_BITS. In other words, MODE_BITS is a mask that specifies which of the file's mode bits should be set or cleared. MODE should be a subset of MODE_BITS, which in turn should be a subset of CHMOD_MODE_BITS. This implementation assumes the current umask is zero. Return 0 if successful, -1 (setting errno) otherwise. Unsuccessful calls may do the chown but not the chmod. */ int dirchownmod (int fd, char const *dir, mode_t mkdir_mode, uid_t owner, gid_t group, mode_t mode, mode_t mode_bits) { struct stat st; int result = (fd < 0 ? stat (dir, &st) : fstat (fd, &st)); if (result == 0) { mode_t dir_mode = st.st_mode; /* Check whether DIR is a directory. If FD is nonnegative, this check avoids changing the ownership and mode bits of the wrong file in many cases. This doesn't fix all the race conditions, but it is better than nothing. */ if (! S_ISDIR (dir_mode)) { errno = ENOTDIR; result = -1; } else { /* If at least one of the S_IXUGO bits are set, chown might clear the S_ISUID and S_SGID bits. Keep track of any file mode bits whose values are indeterminate due to this issue. */ mode_t indeterminate = 0; /* On some systems, chown clears S_ISUID and S_ISGID, so do chown before chmod. On older System V hosts, ordinary users can give their files away via chown; don't worry about that here, since users shouldn't do that. */ if ((owner != (uid_t) -1 && owner != st.st_uid) || (group != (gid_t) -1 && group != st.st_gid)) { result = (0 <= fd ? fchown (fd, owner, group) : mkdir_mode != (mode_t) -1 ? lchown (dir, owner, group) : chown (dir, owner, group)); /* Either the user cares about an indeterminate bit and it'll be set properly by chmod below, or the user doesn't care and it's OK to use the bit's pre-chown value. So there's no need to re-stat DIR here. */ if (result == 0 && (dir_mode & S_IXUGO)) indeterminate = dir_mode & (S_ISUID | S_ISGID); } /* If the file mode bits might not be right, use chmod to change them. Don't change bits the user doesn't care about. */ if (result == 0 && (((dir_mode ^ mode) | indeterminate) & mode_bits)) { mode_t chmod_mode = mode | (dir_mode & CHMOD_MODE_BITS & ~mode_bits); result = (HAVE_FCHMOD && 0 <= fd ? fchmod (fd, chmod_mode) : mkdir_mode != (mode_t) -1 ? lchmod (dir, chmod_mode) : chmod (dir, chmod_mode)); } } } if (0 <= fd) { if (result == 0) result = close (fd); else { int e = errno; close (fd); errno = e; } } return result; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/yesno.h��������������������������������������������������������������������������0000664�0000000�0000000�00000001457�12071024546�012432� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* declare yesno Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef YESNO_H_ # define YESNO_H_ # include <stdbool.h> bool yesno (void); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fnmatch.in.h���������������������������������������������������������������������0000664�0000000�0000000�00000004622�12071561007�013315� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _FNMATCH_H #define _FNMATCH_H 1 /* The definition of _GL_ARG_NONNULL is copied here. */ #ifdef __cplusplus extern "C" { #endif /* We #undef these before defining them because some losing systems (HP-UX A.08.07 for example) define these in <unistd.h>. */ #undef FNM_PATHNAME #undef FNM_NOESCAPE #undef FNM_PERIOD /* Bits set in the FLAGS argument to 'fnmatch'. */ #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match '/'. */ #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ #define FNM_PERIOD (1 << 2) /* Leading '.' is matched only explicitly. */ #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ # define FNM_LEADING_DIR (1 << 3) /* Ignore '/...' after a match. */ # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ # define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ #endif /* Value returned by 'fnmatch' if STRING does not match PATTERN. */ #define FNM_NOMATCH 1 /* This value is returned if the implementation does not support 'fnmatch'. Since this is not the case here it will never be returned but the conformance test suites still require the symbol to be defined. */ #ifdef _XOPEN_SOURCE # define FNM_NOSYS (-1) #endif /* Match NAME against the file name pattern PATTERN, returning zero if it matches, FNM_NOMATCH if not. */ extern int fnmatch (const char *__pattern, const char *__name, int __flags) _GL_ARG_NONNULL ((1, 2)); #ifdef __cplusplus } #endif #endif /* fnmatch.h */ ��������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/signbitd.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004066�12071024546�013072� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <math.h> #include <string.h> #include "isnand-nolibm.h" #include "float+.h" #ifdef gl_signbitd_OPTIMIZED_MACRO # undef gl_signbitd #endif int gl_signbitd (double arg) { #if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { double value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGN_IN_LIBC return copysign (1.0, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnand (arg)) return 0; if (arg < 0.0) return 1; else if (arg == 0.0) { /* Distinguish 0.0 and -0.0. */ static double plus_zero = 0.0; double arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_DBL) != 0); } else return 0; #endif } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/pipe-safer.c���������������������������������������������������������������������0000664�0000000�0000000�00000002656�12071024546�013325� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke pipe, but avoid some glitches. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "unistd-safer.h" #include <unistd.h> #include <errno.h> /* Like pipe, but ensure that neither of the file descriptors is STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. Fail with ENOSYS on platforms that lack pipe. */ int pipe_safer (int fd[2]) { #if HAVE_PIPE if (pipe (fd) == 0) { int i; for (i = 0; i < 2; i++) { fd[i] = fd_safer (fd[i]); if (fd[i] < 0) { int e = errno; close (fd[1 - i]); errno = e; return -1; } } return 0; } #else errno = ENOSYS; #endif return -1; } ����������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-aix.h�����������������������������������������������������������������0000664�0000000�0000000�00000024061�12107176112�014204� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./lib/iconv_open-aix.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "./lib/iconv_open-aix.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 32 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 44 /* maximum key range = 39, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 4, 25, 0, 11, 24, 9, 17, 3, 14, 21, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 3, 45, 1, 45, 45, 45, 45, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45 }; return len + asso_values[(unsigned char)str[3]+2] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("EUC-TW")]; char stringpool_str7[sizeof("EUC-KR")]; char stringpool_str8[sizeof("CP852")]; char stringpool_str9[sizeof("EUC-JP")]; char stringpool_str10[sizeof("ISO-8859-2")]; char stringpool_str11[sizeof("CP857")]; char stringpool_str12[sizeof("CP850")]; char stringpool_str13[sizeof("ISO-8859-7")]; char stringpool_str14[sizeof("CP932")]; char stringpool_str15[sizeof("GB2312")]; char stringpool_str16[sizeof("BIG5")]; char stringpool_str17[sizeof("CP437")]; char stringpool_str19[sizeof("ISO-8859-5")]; char stringpool_str20[sizeof("ISO-8859-15")]; char stringpool_str21[sizeof("ISO-8859-3")]; char stringpool_str22[sizeof("ISO-8859-13")]; char stringpool_str23[sizeof("CP1046")]; char stringpool_str24[sizeof("ISO-8859-8")]; char stringpool_str25[sizeof("CP856")]; char stringpool_str26[sizeof("CP1125")]; char stringpool_str27[sizeof("ISO-8859-6")]; char stringpool_str28[sizeof("CP865")]; char stringpool_str29[sizeof("CP922")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("ISO-8859-9")]; char stringpool_str33[sizeof("CP943")]; char stringpool_str34[sizeof("ISO-8859-4")]; char stringpool_str35[sizeof("ISO-8859-1")]; char stringpool_str38[sizeof("CP1129")]; char stringpool_str40[sizeof("CP869")]; char stringpool_str41[sizeof("CP1124")]; char stringpool_str44[sizeof("CP861")]; }; static const struct stringpool_t stringpool_contents = { "EUC-TW", "EUC-KR", "CP852", "EUC-JP", "ISO-8859-2", "CP857", "CP850", "ISO-8859-7", "CP932", "GB2312", "BIG5", "CP437", "ISO-8859-5", "ISO-8859-15", "ISO-8859-3", "ISO-8859-13", "CP1046", "ISO-8859-8", "CP856", "CP1125", "ISO-8859-6", "CP865", "CP922", "CP1252", "ISO-8859-9", "CP943", "ISO-8859-4", "ISO-8859-1", "CP1129", "CP869", "CP1124", "CP861" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 43 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"}, #line 42 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"}, #line 25 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"}, #line 41 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"}, #line 14 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"}, #line 27 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"}, #line 24 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"}, #line 19 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"}, #line 33 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"}, #line 40 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"}, #line 44 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"}, #line 23 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"}, {-1}, #line 17 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"}, #line 22 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"}, #line 15 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"}, #line 31 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"}, #line 35 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"}, #line 20 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"}, #line 26 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"}, #line 37 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"}, #line 18 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, #line 29 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"}, #line 32 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"}, #line 39 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"}, #line 21 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"}, {-1}, #line 34 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"}, #line 16 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"}, #line 13 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"}, {-1}, {-1}, #line 38 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"}, {-1}, #line 30 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"}, #line 36 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"}, {-1}, {-1}, #line 28 "./lib/iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freadptr.c�����������������������������������������������������������������������0000664�0000000�0000000�00000007154�12071024546�013077� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "freadptr.h" #include <stdlib.h> #include "stdio-impl.h" const char * freadptr (FILE *fp, size_t *sizep) { size_t size; /* Keep this code in sync with freadahead! */ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ if (fp->_IO_write_ptr > fp->_IO_write_base) return NULL; size = fp->_IO_read_end - fp->_IO_read_ptr; if (size == 0) return NULL; *sizep = size; return (const char *) fp->_IO_read_ptr; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return NULL; size = fp_->_r; if (size == 0) return NULL; *sizep = size; return (const char *) fp_->_p; #elif defined __EMX__ /* emx+gcc */ if ((fp->_flags & _IOWRT) != 0) return NULL; /* Note: fp->_ungetc_count > 0 implies fp->_rcount <= 0, fp->_ungetc_count = 0 implies fp->_rcount >= 0. */ if (fp->_rcount <= 0) return NULL; if (!(fp->_ungetc_count == 0)) abort (); *sizep = fp->_rcount; return fp->_ptr; #elif defined __minix /* Minix */ if ((fp_->_flags & _IOWRITING) != 0) return NULL; size = fp_->_count; if (size == 0) return NULL; *sizep = size; return (const char *) fp_->_ptr; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if ((fp_->_flag & _IOWRT) != 0) return NULL; size = fp_->_cnt; if (size == 0) return NULL; *sizep = size; return (const char *) fp_->_ptr; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) return NULL; size = fp->__bufread - fp->__bufpos; if (size == 0) return NULL; *sizep = size; return (const char *) fp->__bufpos; # else return NULL; # endif #elif defined __QNX__ /* QNX */ if ((fp->_Mode & 0x2000 /* _MWRITE */) != 0) return NULL; /* fp->_Buf <= fp->_Next <= fp->_Rend */ size = fp->_Rend - fp->_Next; if (size == 0) return NULL; *sizep = size; return (const char *) fp->_Next; #elif defined __MINT__ /* Atari FreeMiNT */ if (!fp->__mode.__read) return NULL; size = fp->__get_limit - fp->__bufp; if (size == 0) return NULL; *sizep = size; return fp->__bufp; #elif defined EPLAN9 /* Plan9 */ if (fp->state == 4 /* WR */) return NULL; if (fp->rp >= fp->wp) return NULL; *sizep = fp->wp - fp->rp; return fp->rp; #elif defined SLOW_BUT_NO_HACKS /* users can define this */ /* This implementation is correct on any ANSI C platform. It is just awfully slow. */ return NULL; #else #error "Please port gnulib freadptr.c to your platform! Look at the definition of fflush, fread, getc, getc_unlocked on your system, then report this to bug-gnulib." #endif } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/streq.h��������������������������������������������������������������������������0000664�0000000�0000000�00000007636�12071561013�012433� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Optimized string comparison. Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ #ifndef _GL_STREQ_H #define _GL_STREQ_H #include <string.h> /* STREQ_OPT allows to optimize string comparison with a small literal string. STREQ_OPT (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) is semantically equivalent to strcmp (s, "EUC-KR") == 0 just faster. */ /* Help GCC to generate good code for string comparisons with immediate strings. */ #if defined (__GNUC__) && defined (__OPTIMIZE__) static inline int streq9 (const char *s1, const char *s2) { return strcmp (s1 + 9, s2 + 9) == 0; } static inline int streq8 (const char *s1, const char *s2, char s28) { if (s1[8] == s28) { if (s28 == 0) return 1; else return streq9 (s1, s2); } else return 0; } static inline int streq7 (const char *s1, const char *s2, char s27, char s28) { if (s1[7] == s27) { if (s27 == 0) return 1; else return streq8 (s1, s2, s28); } else return 0; } static inline int streq6 (const char *s1, const char *s2, char s26, char s27, char s28) { if (s1[6] == s26) { if (s26 == 0) return 1; else return streq7 (s1, s2, s27, s28); } else return 0; } static inline int streq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) { if (s1[5] == s25) { if (s25 == 0) return 1; else return streq6 (s1, s2, s26, s27, s28); } else return 0; } static inline int streq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) { if (s1[4] == s24) { if (s24 == 0) return 1; else return streq5 (s1, s2, s25, s26, s27, s28); } else return 0; } static inline int streq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[3] == s23) { if (s23 == 0) return 1; else return streq4 (s1, s2, s24, s25, s26, s27, s28); } else return 0; } static inline int streq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[2] == s22) { if (s22 == 0) return 1; else return streq3 (s1, s2, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[1] == s21) { if (s21 == 0) return 1; else return streq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[0] == s20) { if (s20 == 0) return 1; else return streq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); } else return 0; } #define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) #else #define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ (strcmp (s1, s2) == 0) #endif #endif /* _GL_STREQ_H */ ��������������������������������������������������������������������������������������������������coreutils-8.21/lib/gettimeofday.c�������������������������������������������������������������������0000664�0000000�0000000�00000007751�12071561010�013744� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide gettimeofday for systems that don't have it or for which it's broken. Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> /* Specification. */ #include <sys/time.h> #include <time.h> #if HAVE_SYS_TIMEB_H # include <sys/timeb.h> #endif #if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME /* Work around the bug in some systems whereby gettimeofday clobbers the static buffer that localtime uses for its return value. The gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has this problem. The tzset replacement is necessary for at least Solaris 2.5, 2.5.1, and 2.6. */ static struct tm tm_zero_buffer; static struct tm *localtime_buffer_addr = &tm_zero_buffer; # undef localtime extern struct tm *localtime (time_t const *); # undef gmtime extern struct tm *gmtime (time_t const *); /* This is a wrapper for localtime. It is used only on systems for which gettimeofday clobbers the static buffer used for localtime's result. On the first call, record the address of the static buffer that localtime uses for its result. */ struct tm * rpl_localtime (time_t const *timep) { struct tm *tm = localtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } /* Same as above, since gmtime and localtime use the same buffer. */ struct tm * rpl_gmtime (time_t const *timep) { struct tm *tm = gmtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } #endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */ #if TZSET_CLOBBERS_LOCALTIME # undef tzset extern void tzset (void); /* This is a wrapper for tzset, for systems on which tzset may clobber the static buffer used for localtime's result. */ void rpl_tzset (void) { /* Save and restore the contents of the buffer used for localtime's result around the call to tzset. */ struct tm save = *localtime_buffer_addr; tzset (); *localtime_buffer_addr = save; } #endif /* This is a wrapper for gettimeofday. It is used only on systems that lack this function, or whose implementation of this function causes problems. */ int gettimeofday (struct timeval *restrict tv, void *restrict tz) { #undef gettimeofday #if HAVE_GETTIMEOFDAY # if GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Save and restore the contents of the buffer used for localtime's result around the call to gettimeofday. */ struct tm save = *localtime_buffer_addr; # endif # if defined timeval /* 'struct timeval' overridden by gnulib? */ # undef timeval struct timeval otv; int result = gettimeofday (&otv, (struct timezone *) tz); if (result == 0) { tv->tv_sec = otv.tv_sec; tv->tv_usec = otv.tv_usec; } # else int result = gettimeofday (tv, (struct timezone *) tz); # endif # if GETTIMEOFDAY_CLOBBERS_LOCALTIME *localtime_buffer_addr = save; # endif return result; #else # if HAVE__FTIME struct _timeb timebuf; _ftime (&timebuf); tv->tv_sec = timebuf.time; tv->tv_usec = timebuf.millitm * 1000; # else # if !defined OK_TO_USE_1S_CLOCK # error "Only 1-second nominal clock resolution found. Is that intended?" \ "If so, compile with the -DOK_TO_USE_1S_CLOCK option." # endif tv->tv_sec = time (NULL); tv->tv_usec = 0; # endif return 0; #endif } �����������������������coreutils-8.21/lib/se-context.c���������������������������������������������������������������������0000664�0000000�0000000�00000000135�12071024546�013351� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define SE_CONTEXT_INLINE _GL_EXTERN_INLINE #include <selinux/context.h> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fpucw.h��������������������������������������������������������������������������0000664�0000000�0000000�00000011133�12071024546�012411� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Manipulating the FPU control word. Copyright (C) 2007-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2007. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _FPUCW_H #define _FPUCW_H /* The i386 floating point hardware (the 387 compatible FPU, not the modern SSE/SSE2 hardware) has a controllable rounding precision. It is specified through the 'PC' bits in the FPU control word ('fctrl' register). (See the GNU libc i386 <fpu_control.h> header for details.) On some platforms, such as Linux or Solaris, the default precision setting is set to "extended precision". This means that 'long double' instructions operate correctly, but 'double' computations often produce slightly different results as on strictly IEEE 754 conforming systems. On some platforms, such as NetBSD, the default precision is set to "double precision". This means that 'long double' instructions will operate only as 'double', i.e. lead to wrong results. Similarly on FreeBSD 6.4, at least for the division of 'long double' numbers. The FPU control word is under control of the application, i.e. it is not required to be set either way by the ABI. (In fact, the i386 ABI http://refspecs.freestandards.org/elf/abi386-4.pdf page 3-12 = page 38 is not clear about it. But in any case, gcc treats the control word like a "preserved" register: it emits code that assumes that the control word is preserved across calls, and it restores the control word at the end of functions that modify it.) See Vincent Lefèvre's page http://www.vinc17.org/research/extended.en.html for a good explanation. See http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/0453.html for some argumentation which setting should be the default. */ /* This header file provides the following facilities: fpucw_t integral type holding the value of 'fctrl' FPU_PC_MASK bit mask denoting the precision control FPU_PC_DOUBLE precision control for 53 bits mantissa FPU_PC_EXTENDED precision control for 64 bits mantissa GET_FPUCW () yields the current FPU control word SET_FPUCW (word) sets the FPU control word DECL_LONG_DOUBLE_ROUNDING variable declaration for BEGIN/END_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING () starts a sequence of instructions with 'long double' safe operation precision END_LONG_DOUBLE_ROUNDING () ends a sequence of instructions with 'long double' safe operation precision */ /* Inline assembler like this works only with GNU C. */ #if (defined __i386__ || defined __x86_64__) && defined __GNUC__ typedef unsigned short fpucw_t; /* glibc calls this fpu_control_t */ # define FPU_PC_MASK 0x0300 # define FPU_PC_DOUBLE 0x200 /* glibc calls this _FPU_DOUBLE */ # define FPU_PC_EXTENDED 0x300 /* glibc calls this _FPU_EXTENDED */ # define GET_FPUCW() \ ({ fpucw_t _cw; \ __asm__ __volatile__ ("fnstcw %0" : "=m" (*&_cw)); \ _cw; \ }) # define SET_FPUCW(word) \ (void)({ fpucw_t _ncw = (word); \ __asm__ __volatile__ ("fldcw %0" : : "m" (*&_ncw)); \ }) # define DECL_LONG_DOUBLE_ROUNDING \ fpucw_t oldcw; # define BEGIN_LONG_DOUBLE_ROUNDING() \ (void)(oldcw = GET_FPUCW (), \ SET_FPUCW ((oldcw & ~FPU_PC_MASK) | FPU_PC_EXTENDED)) # define END_LONG_DOUBLE_ROUNDING() \ SET_FPUCW (oldcw) #else typedef unsigned int fpucw_t; # define FPU_PC_MASK 0 # define FPU_PC_DOUBLE 0 # define FPU_PC_EXTENDED 0 # define GET_FPUCW() 0 # define SET_FPUCW(word) (void)(word) # define DECL_LONG_DOUBLE_ROUNDING # define BEGIN_LONG_DOUBLE_ROUNDING() # define END_LONG_DOUBLE_ROUNDING() #endif #endif /* _FPUCW_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gettext.h������������������������������������������������������������������������0000664�0000000�0000000�00000023416�12071561010�012750� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convenience header for conditional use of GNU <libintl.h>. Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include <libintl.h> /* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by the gettext() and ngettext() macros. This is an alternative to calling textdomain(), and is useful for libraries. */ # ifdef DEFAULT_TEXT_DOMAIN # undef gettext # define gettext(Msgid) \ dgettext (DEFAULT_TEXT_DOMAIN, Msgid) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) # endif #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of <locale.h> a NOP. We don't include <libintl.h> as well because people using "gettext.h" will not include <libintl.h>, and also including <libintl.h> would fail on SunOS 4, whereas <locale.h> is OK. */ #if defined(__sun) # include <locale.h> #endif /* Many header files from the libstdc++ coming with g++ 3.3 or newer include <libintl.h>, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of <libintl.h> a NOP. */ #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) # include <cstdlib> # if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H # include <libintl.h> # endif #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # undef gettext # define gettext(Msgid) ((const char *) (Msgid)) # undef dgettext # define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) # undef dcgettext # define dcgettext(Domainname, Msgid, Category) \ ((void) (Category), dgettext (Domainname, Msgid)) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 \ ? ((void) (Msgid2), (const char *) (Msgid1)) \ : ((void) (Msgid1), (const char *) (Msgid2))) # undef dngettext # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) # undef dcngettext # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N)) # undef textdomain # define textdomain(Domainname) ((const char *) (Domainname)) # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) \ ((void) (Domainname), (const char *) (Dirname)) # undef bind_textdomain_codeset # define bind_textdomain_codeset(Domainname, Codeset) \ ((void) (Domainname), (const char *) (Codeset)) #endif /* Prefer gnulib's setlocale override over libintl's setlocale override. */ #ifdef GNULIB_defined_setlocale # undef setlocale # define setlocale rpl_setlocale #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String /* The separator between msgctxt and msgid in a .mo file. */ #define GETTEXT_CONTEXT_GLUE "\004" /* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be short and rarely need to change. The letter 'p' stands for 'particular' or 'special'. */ #ifdef DEFAULT_TEXT_DOMAIN # define pgettext(Msgctxt, Msgid) \ pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #else # define pgettext(Msgctxt, Msgid) \ pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #endif #define dpgettext(Domainname, Msgctxt, Msgid) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) #ifdef DEFAULT_TEXT_DOMAIN # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #else # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #endif #define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * pgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, int category) { const char *translation = dcgettext (domain, msg_ctxt_id, category); if (translation == msg_ctxt_id) return msgid; else return translation; } #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * npgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { const char *translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); if (translation == msg_ctxt_id || translation == msgid_plural) return (n == 1 ? msgid : msgid_plural); else return translation; } /* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID can be arbitrary expressions. But for string literals these macros are less efficient than those above. */ #include <string.h> #if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ /* || __STDC_VERSION__ >= 199901L */ ) # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 #else # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 #endif #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include <stdlib.h> #endif #define pgettext_expr(Msgctxt, Msgid) \ dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcgettext (domain, msg_ctxt_id, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (translation != msg_ctxt_id) return translation; } return msgid; } #define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcnpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (!(translation == msg_ctxt_id || translation == msgid_plural)) return translation; } return (n == 1 ? msgid : msgid_plural); } #endif /* _LIBGETTEXT_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ignore-value.h�������������������������������������������������������������������0000664�0000000�0000000�00000003777�12071024546�013701� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ignore a function return without a compiler warning Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering, Eric Blake and Pádraig Brady. */ /* Use "ignore_value" to avoid a warning when using a function declared with gcc's warn_unused_result attribute, but for which you really do want to ignore the result. Traditionally, people have used a "(void)" cast to indicate that a function's return value is deliberately unused. However, if the function is declared with __attribute__((warn_unused_result)), gcc issues a warning even with the cast. Caution: most of the time, you really should heed gcc's warning, and check the return value. However, in those exceptional cases in which you're sure you know what you're doing, use this function. For the record, here's one of the ignorable warnings: "copy.c:233: warning: ignoring return value of 'fchown', declared with attribute warn_unused_result". */ #ifndef _GL_IGNORE_VALUE_H # define _GL_IGNORE_VALUE_H /* The __attribute__((__warn_unused_result__)) feature is available in gcc versions 3.4 and newer, while the typeof feature has been available since 2.7 at least. */ # if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) # define ignore_value(x) ((void) (x)) # else # define ignore_value(x) (({ __typeof__ (x) __x = (x); (void) __x; })) # endif #endif �coreutils-8.21/lib/vasprintf.c����������������������������������������������������������������������0000664�0000000�0000000�00000002472�12071561015�013277� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to strings. Copyright (C) 1999, 2002, 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #ifdef IN_LIBASPRINTF # include "vasprintf.h" #else # include <stdio.h> #endif #include <errno.h> #include <limits.h> #include <stdlib.h> #include "vasnprintf.h" int vasprintf (char **resultp, const char *format, va_list args) { size_t length; char *result = vasnprintf (NULL, &length, format, args); if (result == NULL) return -1; if (length > INT_MAX) { free (result); errno = EOVERFLOW; return -1; } *resultp = result; /* Return the number of resulting bytes, excluding the trailing NUL. */ return length; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/raise.c��������������������������������������������������������������������������0000664�0000000�0000000�00000003173�12071024546�012370� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a non-threads replacement for the POSIX raise function. Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Bruno Haible */ #include <config.h> /* Specification. */ #include <signal.h> #if HAVE_RAISE /* Native Windows platform. */ # include <errno.h> # include "msvc-inval.h" # undef raise # if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int raise_nothrow (int sig) { int result; TRY_MSVC_INVAL { result = raise (sig); } CATCH_MSVC_INVAL { result = -1; errno = EINVAL; } DONE_MSVC_INVAL; return result; } # else # define raise_nothrow raise # endif #else /* An old Unix platform. */ # include <unistd.h> # define rpl_raise raise #endif int rpl_raise (int sig) { #if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE if (sig == SIGPIPE) return _gl_raise_SIGPIPE (); #endif #if HAVE_RAISE return raise_nothrow (sig); #else return kill (getpid (), sig); #endif } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/inttostr.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000104�11624727634�013155� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define anytostr inttostr #define inttype int #include "anytostr.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fadvise.c������������������������������������������������������������������������0000664�0000000�0000000�00000002133�12102337340�012673� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declare an access pattern hint for files. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "fadvise.h" #include <stdio.h> #include <fcntl.h> #include "ignore-value.h" void fdadvise (int fd, off_t offset, off_t len, fadvice_t advice) { #if HAVE_POSIX_FADVISE ignore_value (posix_fadvise (fd, offset, len, advice)); #endif } void fadvise (FILE *fp, fadvice_t advice) { if (fp) fdadvise (fileno (fp), 0, 0, advice); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/read-file.c����������������������������������������������������������������������0000664�0000000�0000000�00000011643�12071561012�013110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* read-file.c -- read file contents into a string Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson and Bruno Haible. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "read-file.h" /* Get fstat. */ #include <sys/stat.h> /* Get ftello. */ #include <stdio.h> /* Get SIZE_MAX. */ #include <stdint.h> /* Get malloc, realloc, free. */ #include <stdlib.h> /* Get errno. */ #include <errno.h> /* Read a STREAM and return a newly allocated string with the content, and set *LENGTH to the length of the string. The string is zero-terminated, but the terminating zero byte is not counted in *LENGTH. On errors, *LENGTH is undefined, errno preserves the values set by system functions (if any), and NULL is returned. */ char * fread_file (FILE *stream, size_t *length) { char *buf = NULL; size_t alloc = BUFSIZ; /* For a regular file, allocate a buffer that has exactly the right size. This avoids the need to do dynamic reallocations later. */ { struct stat st; if (fstat (fileno (stream), &st) >= 0 && S_ISREG (st.st_mode)) { off_t pos = ftello (stream); if (pos >= 0 && pos < st.st_size) { off_t alloc_off = st.st_size - pos; /* '1' below, accounts for the trailing NUL. */ if (SIZE_MAX - 1 < alloc_off) { errno = ENOMEM; return NULL; } alloc = alloc_off + 1; } } } if (!(buf = malloc (alloc))) return NULL; /* errno is ENOMEM. */ { size_t size = 0; /* number of bytes read so far */ int save_errno; for (;;) { /* This reads 1 more than the size of a regular file so that we get eof immediately. */ size_t requested = alloc - size; size_t count = fread (buf + size, 1, requested, stream); size += count; if (count != requested) { save_errno = errno; if (ferror (stream)) break; /* Shrink the allocated memory if possible. */ if (size < alloc - 1) { char *smaller_buf = realloc (buf, size + 1); if (smaller_buf != NULL) buf = smaller_buf; } buf[size] = '\0'; *length = size; return buf; } { char *new_buf; if (alloc == SIZE_MAX) { save_errno = ENOMEM; break; } if (alloc < SIZE_MAX - alloc / 2) alloc = alloc + alloc / 2; else alloc = SIZE_MAX; if (!(new_buf = realloc (buf, alloc))) { save_errno = errno; break; } buf = new_buf; } } free (buf); errno = save_errno; return NULL; } } static char * internal_read_file (const char *filename, size_t *length, const char *mode) { FILE *stream = fopen (filename, mode); char *out; int save_errno; if (!stream) return NULL; out = fread_file (stream, length); save_errno = errno; if (fclose (stream) != 0) { if (out) { save_errno = errno; free (out); } errno = save_errno; return NULL; } return out; } /* Open and read the contents of FILENAME, and return a newly allocated string with the content, and set *LENGTH to the length of the string. The string is zero-terminated, but the terminating zero byte is not counted in *LENGTH. On errors, *LENGTH is undefined, errno preserves the values set by system functions (if any), and NULL is returned. */ char * read_file (const char *filename, size_t *length) { return internal_read_file (filename, length, "r"); } /* Open (on non-POSIX systems, in binary mode) and read the contents of FILENAME, and return a newly allocated string with the content, and set LENGTH to the length of the string. The string is zero-terminated, but the terminating zero byte is not counted in the LENGTH variable. On errors, *LENGTH is undefined, errno preserves the values set by system functions (if any), and NULL is returned. */ char * read_binary_file (const char *filename, size_t *length) { return internal_read_file (filename, length, "rb"); } ���������������������������������������������������������������������������������������������coreutils-8.21/lib/canonicalize.h�������������������������������������������������������������������0000664�0000000�0000000�00000003364�12071024546�013733� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return the canonical absolute name of a given file. Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef CANONICALIZE_H_ # define CANONICALIZE_H_ #include <stdlib.h> /* for canonicalize_file_name */ #define CAN_MODE_MASK (CAN_EXISTING | CAN_ALL_BUT_LAST | CAN_MISSING) enum canonicalize_mode_t { /* All components must exist. */ CAN_EXISTING = 0, /* All components excluding last one must exist. */ CAN_ALL_BUT_LAST = 1, /* No requirements on components existence. */ CAN_MISSING = 2, /* Don't expand symlinks. */ CAN_NOLINKS = 4 }; typedef enum canonicalize_mode_t canonicalize_mode_t; /* Return the canonical absolute name of file NAME, while treating missing elements according to CAN_MODE. A canonical name does not contain any `.', `..' components nor any repeated file name separators ('/') or, depending on other CAN_MODE flags, symlinks. Whether components must exist or not depends on canonicalize mode. The result is malloc'd. */ char *canonicalize_filename_mode (const char *, canonicalize_mode_t); #endif /* !CANONICALIZE_H_ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fcntl.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000022443�12071024546�013006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like <fcntl.h>, but with non-working flags defined to 0. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Paul Eggert */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_system_fcntl_h /* Special invocation convention. */ /* Needed before <sys/stat.h>. May also define off_t to a 64-bit type on native Windows. */ #include <sys/types.h> /* On some systems other than glibc, <sys/stat.h> is a prerequisite of <fcntl.h>. On glibc systems, we would like to avoid namespace pollution. But on glibc systems, <fcntl.h> includes <sys/stat.h> inside an extern "C" { ... } block, which leads to errors in C++ mode with the overridden <sys/stat.h> from gnulib. These errors are known to be gone with g++ version >= 4.3. */ #if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) # include <sys/stat.h> #endif #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_FCNTL_H /* Needed before <sys/stat.h>. May also define off_t to a 64-bit type on native Windows. */ #include <sys/types.h> /* On some systems other than glibc, <sys/stat.h> is a prerequisite of <fcntl.h>. On glibc systems, we would like to avoid namespace pollution. But on glibc systems, <fcntl.h> includes <sys/stat.h> inside an extern "C" { ... } block, which leads to errors in C++ mode with the overridden <sys/stat.h> from gnulib. These errors are known to be gone with g++ version >= 4.3. */ #if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) # include <sys/stat.h> #endif /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ #ifndef _@GUARD_PREFIX@_FCNTL_H #define _@GUARD_PREFIX@_FCNTL_H #ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ # include <unistd.h> #endif /* Native Windows platforms declare open(), creat() in <io.h>. */ #if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # include <io.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ #if @GNULIB_FCNTL@ # if @REPLACE_FCNTL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fcntl # define fcntl rpl_fcntl # endif _GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...)); _GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...)); # else # if !@HAVE_FCNTL@ _GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...)); # endif _GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...)); # endif _GL_CXXALIASWARN (fcntl); #elif defined GNULIB_POSIXCHECK # undef fcntl # if HAVE_RAW_DECL_FCNTL _GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - " "use gnulib module fcntl for portability"); # endif #endif #if @GNULIB_OPEN@ # if @REPLACE_OPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef open # define open rpl_open # endif _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); # else _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); # endif /* On HP-UX 11, in C++ mode, open() is defined as an inline function with a default argument. _GL_CXXALIASWARN does not work in this case. */ # if !defined __hpux _GL_CXXALIASWARN (open); # endif #elif defined GNULIB_POSIXCHECK # undef open /* Assume open is always declared. */ _GL_WARN_ON_USE (open, "open is not always POSIX compliant - " "use gnulib module open for portability"); #endif #if @GNULIB_OPENAT@ # if @REPLACE_OPENAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef openat # define openat rpl_openat # endif _GL_FUNCDECL_RPL (openat, int, (int fd, char const *file, int flags, /* mode_t mode */ ...) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (openat, int, (int fd, char const *file, int flags, /* mode_t mode */ ...)); # else # if !@HAVE_OPENAT@ _GL_FUNCDECL_SYS (openat, int, (int fd, char const *file, int flags, /* mode_t mode */ ...) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (openat, int, (int fd, char const *file, int flags, /* mode_t mode */ ...)); # endif _GL_CXXALIASWARN (openat); #elif defined GNULIB_POSIXCHECK # undef openat # if HAVE_RAW_DECL_OPENAT _GL_WARN_ON_USE (openat, "openat is not portable - " "use gnulib module openat for portability"); # endif #endif /* Fix up the FD_* macros, only known to be missing on mingw. */ #ifndef FD_CLOEXEC # define FD_CLOEXEC 1 #endif /* Fix up the supported F_* macros. Intentionally leave other F_* macros undefined. Only known to be missing on mingw. */ #ifndef F_DUPFD_CLOEXEC # define F_DUPFD_CLOEXEC 0x40000000 /* Witness variable: 1 if gnulib defined F_DUPFD_CLOEXEC, 0 otherwise. */ # define GNULIB_defined_F_DUPFD_CLOEXEC 1 #else # define GNULIB_defined_F_DUPFD_CLOEXEC 0 #endif #ifndef F_DUPFD # define F_DUPFD 1 #endif #ifndef F_GETFD # define F_GETFD 2 #endif /* Fix up the O_* macros. */ #if !defined O_DIRECT && defined O_DIRECTIO /* Tru64 spells it 'O_DIRECTIO'. */ # define O_DIRECT O_DIRECTIO #endif #if !defined O_CLOEXEC && defined O_NOINHERIT /* Mingw spells it 'O_NOINHERIT'. */ # define O_CLOEXEC O_NOINHERIT #endif #ifndef O_CLOEXEC # define O_CLOEXEC 0 #endif #ifndef O_DIRECT # define O_DIRECT 0 #endif #ifndef O_DIRECTORY # define O_DIRECTORY 0 #endif #ifndef O_DSYNC # define O_DSYNC 0 #endif #ifndef O_EXEC # define O_EXEC O_RDONLY /* This is often close enough in older systems. */ #endif #ifndef O_IGNORE_CTTY # define O_IGNORE_CTTY 0 #endif #ifndef O_NDELAY # define O_NDELAY 0 #endif #ifndef O_NOATIME # define O_NOATIME 0 #endif #ifndef O_NONBLOCK # define O_NONBLOCK O_NDELAY #endif /* If the gnulib module 'nonblocking' is in use, guarantee a working non-zero value of O_NONBLOCK. Otherwise, O_NONBLOCK is defined (above) to O_NDELAY or to 0 as fallback. */ #if @GNULIB_NONBLOCKING@ # if O_NONBLOCK # define GNULIB_defined_O_NONBLOCK 0 # else # define GNULIB_defined_O_NONBLOCK 1 # undef O_NONBLOCK # define O_NONBLOCK 0x40000000 # endif #endif #ifndef O_NOCTTY # define O_NOCTTY 0 #endif #ifndef O_NOFOLLOW # define O_NOFOLLOW 0 #endif #ifndef O_NOLINK # define O_NOLINK 0 #endif #ifndef O_NOLINKS # define O_NOLINKS 0 #endif #ifndef O_NOTRANS # define O_NOTRANS 0 #endif #ifndef O_RSYNC # define O_RSYNC 0 #endif #ifndef O_SEARCH # define O_SEARCH O_RDONLY /* This is often close enough in older systems. */ #endif #ifndef O_SYNC # define O_SYNC 0 #endif #ifndef O_TTY_INIT # define O_TTY_INIT 0 #endif #if ~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) # undef O_ACCMODE # define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) #endif /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in fcntl.h */ #if !defined O_BINARY && defined _O_BINARY /* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #if defined __BEOS__ || defined __HAIKU__ /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif #ifndef O_BINARY # define O_BINARY 0 # define O_TEXT 0 #endif /* Fix up the AT_* macros. */ /* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive. Its value exceeds INT_MAX, so its use as an int doesn't conform to the C standard, and GCC and Sun C complain in some cases. If the bug is present, undef AT_FDCWD here, so it can be redefined below. */ #if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553 # undef AT_FDCWD #endif /* Use the same bit pattern as Solaris 9, but with the proper signedness. The bit pattern is important, in case this actually is Solaris with the above workaround. */ #ifndef AT_FDCWD # define AT_FDCWD (-3041965) #endif /* Use the same values as Solaris 9. This shouldn't matter, but there's no real reason to differ. */ #ifndef AT_SYMLINK_NOFOLLOW # define AT_SYMLINK_NOFOLLOW 4096 #endif #ifndef AT_REMOVEDIR # define AT_REMOVEDIR 1 #endif /* Solaris 9 lacks these two, so just pick unique values. */ #ifndef AT_SYMLINK_FOLLOW # define AT_SYMLINK_FOLLOW 2 #endif #ifndef AT_EACCESS # define AT_EACCESS 4 #endif #endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-parse.c�������������������������������������������������������������������0000664�0000000�0000000�00000053171�12071561012�013674� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. DIRECTIVE Structure denoting a format directive. Depends on CHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on CHAR_T. PRINTF_PARSE Function that parses a format string. Depends on CHAR_T. STATIC Set to 'static' to declare the function static. ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ #ifndef PRINTF_PARSE # include <config.h> #endif /* Specification. */ #ifndef PRINTF_PARSE # include "printf-parse.h" #endif /* Default parameters. */ #ifndef PRINTF_PARSE # define PRINTF_PARSE printf_parse # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives #endif /* Get size_t, NULL. */ #include <stddef.h> /* Get intmax_t. */ #if defined IN_LIBINTL || defined IN_LIBASPRINTF # if HAVE_STDINT_H_WITH_UINTMAX # include <stdint.h> # endif # if HAVE_INTTYPES_H_WITH_UINTMAX # include <inttypes.h> # endif #else # include <stdint.h> #endif /* malloc(), realloc(), free(). */ #include <stdlib.h> /* memcpy(). */ #include <string.h> /* errno. */ #include <errno.h> /* Checked size_t computations. */ #include "xsize.h" #if CHAR_T_ONLY_ASCII /* c_isascii(). */ # include "c-ctype.h" #endif #ifdef STATIC STATIC #endif int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ size_t a_allocated; /* allocated elements of a->arg */ size_t max_width_length = 0; size_t max_precision_length = 0; d->count = 0; d_allocated = N_DIRECT_ALLOC_DIRECTIVES; d->dir = d->direct_alloc_dir; a->count = 0; a_allocated = N_DIRECT_ALLOC_ARGUMENTS; a->arg = a->direct_alloc_arg; #define REGISTER_ARG(_index_,_type_) \ { \ size_t n = (_index_); \ if (n >= a_allocated) \ { \ size_t memory_size; \ argument *memory; \ \ a_allocated = xtimes (a_allocated, 2); \ if (a_allocated <= n) \ a_allocated = xsum (n, 1); \ memory_size = xtimes (a_allocated, sizeof (argument)); \ if (size_overflow_p (memory_size)) \ /* Overflow, would lead to out of memory. */ \ goto out_of_memory; \ memory = (argument *) (a->arg != a->direct_alloc_arg \ ? realloc (a->arg, memory_size) \ : malloc (memory_size)); \ if (memory == NULL) \ /* Out of memory. */ \ goto out_of_memory; \ if (a->arg == a->direct_alloc_arg) \ memcpy (memory, a->arg, a->count * sizeof (argument)); \ a->arg = memory; \ } \ while (a->count <= n) \ a->arg[a->count++].type = TYPE_NONE; \ if (a->arg[n].type == TYPE_NONE) \ a->arg[n].type = (_type_); \ else if (a->arg[n].type != (_type_)) \ /* Ambiguous type for positional argument. */ \ goto error; \ } while (*cp != '\0') { CHAR_T c = *cp++; if (c == '%') { size_t arg_index = ARG_NONE; DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ /* Initialize the next directive. */ dp->dir_start = cp - 1; dp->flags = 0; dp->width_start = NULL; dp->width_end = NULL; dp->width_arg_index = ARG_NONE; dp->precision_start = NULL; dp->precision_end = NULL; dp->precision_arg_index = ARG_NONE; dp->arg_index = ARG_NONE; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; arg_index = n - 1; cp = np + 1; } } /* Read the flags. */ for (;;) { if (*cp == '\'') { dp->flags |= FLAG_GROUP; cp++; } else if (*cp == '-') { dp->flags |= FLAG_LEFT; cp++; } else if (*cp == '+') { dp->flags |= FLAG_SHOWSIGN; cp++; } else if (*cp == ' ') { dp->flags |= FLAG_SPACE; cp++; } else if (*cp == '#') { dp->flags |= FLAG_ALT; cp++; } else if (*cp == '0') { dp->flags |= FLAG_ZERO; cp++; } #if __GLIBC__ >= 2 && !defined __UCLIBC__ else if (*cp == 'I') { dp->flags |= FLAG_LOCALIZED; cp++; } #endif else break; } /* Parse the field width. */ if (*cp == '*') { dp->width_start = cp; cp++; dp->width_end = cp; if (max_width_length < 1) max_width_length = 1; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->width_arg_index = n - 1; cp = np + 1; } } if (dp->width_arg_index == ARG_NONE) { dp->width_arg_index = arg_posn++; if (dp->width_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->width_arg_index, TYPE_INT); } else if (*cp >= '0' && *cp <= '9') { size_t width_length; dp->width_start = cp; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->width_end = cp; width_length = dp->width_end - dp->width_start; if (max_width_length < width_length) max_width_length = width_length; } /* Parse the precision. */ if (*cp == '.') { cp++; if (*cp == '*') { dp->precision_start = cp - 1; cp++; dp->precision_end = cp; if (max_precision_length < 2) max_precision_length = 2; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->precision_arg_index = n - 1; cp = np + 1; } } if (dp->precision_arg_index == ARG_NONE) { dp->precision_arg_index = arg_posn++; if (dp->precision_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->precision_arg_index, TYPE_INT); } else { size_t precision_length; dp->precision_start = cp - 1; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->precision_end = cp; precision_length = dp->precision_end - dp->precision_start; if (max_precision_length < precision_length) max_precision_length = precision_length; } } { arg_type type; /* Parse argument type/size specifiers. */ { int flags = 0; for (;;) { if (*cp == 'h') { flags |= (1 << (flags & 1)); cp++; } else if (*cp == 'L') { flags |= 4; cp++; } else if (*cp == 'l') { flags += 8; cp++; } else if (*cp == 'j') { if (sizeof (intmax_t) > sizeof (long)) { /* intmax_t = long long */ flags += 16; } else if (sizeof (intmax_t) > sizeof (int)) { /* intmax_t = long */ flags += 8; } cp++; } else if (*cp == 'z' || *cp == 'Z') { /* 'z' is standardized in ISO C 99, but glibc uses 'Z' because the warning facility in gcc-2.95.2 understands only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ if (sizeof (size_t) > sizeof (long)) { /* size_t = long long */ flags += 16; } else if (sizeof (size_t) > sizeof (int)) { /* size_t = long */ flags += 8; } cp++; } else if (*cp == 't') { if (sizeof (ptrdiff_t) > sizeof (long)) { /* ptrdiff_t = long long */ flags += 16; } else if (sizeof (ptrdiff_t) > sizeof (int)) { /* ptrdiff_t = long */ flags += 8; } cp++; } #if defined __APPLE__ && defined __MACH__ /* On Mac OS X 10.3, PRIdMAX is defined as "qd". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'q') { if (64 / 8 > sizeof (long)) { /* int64_t = long long */ flags += 16; } else { /* int64_t = long */ flags += 8; } cp++; } #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows, PRIdMAX is defined as "I64d". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') { if (64 / 8 > sizeof (long)) { /* __int64 = long long */ flags += 16; } else { /* __int64 = long */ flags += 8; } cp += 3; } #endif else break; } /* Read the conversion character. */ c = *cp++; switch (c) { case 'd': case 'i': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif /* If 'long long' exists and is the same as 'long', we parse "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) type = TYPE_SCHAR; else if (flags & 1) type = TYPE_SHORT; else type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif /* If 'unsigned long long' exists and is the same as 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) type = TYPE_UCHAR; else if (flags & 1) type = TYPE_USHORT; else type = TYPE_UINT; break; case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': if (flags >= 16 || (flags & 4)) type = TYPE_LONGDOUBLE; else type = TYPE_DOUBLE; break; case 'c': if (flags >= 8) #if HAVE_WINT_T type = TYPE_WIDE_CHAR; #else goto error; #endif else type = TYPE_CHAR; break; #if HAVE_WINT_T case 'C': type = TYPE_WIDE_CHAR; c = 'c'; break; #endif case 's': if (flags >= 8) #if HAVE_WCHAR_T type = TYPE_WIDE_STRING; #else goto error; #endif else type = TYPE_STRING; break; #if HAVE_WCHAR_T case 'S': type = TYPE_WIDE_STRING; c = 's'; break; #endif case 'p': type = TYPE_POINTER; break; case 'n': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif /* If 'long long' exists and is the same as 'long', we parse "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) type = TYPE_COUNT_SCHAR_POINTER; else if (flags & 1) type = TYPE_COUNT_SHORT_POINTER; else type = TYPE_COUNT_INT_POINTER; break; #if ENABLE_UNISTDIO /* The unistdio extensions. */ case 'U': if (flags >= 16) type = TYPE_U32_STRING; else if (flags >= 8) type = TYPE_U16_STRING; else type = TYPE_U8_STRING; break; #endif case '%': type = TYPE_NONE; break; default: /* Unknown conversion character. */ goto error; } } if (type != TYPE_NONE) { dp->arg_index = arg_index; if (dp->arg_index == ARG_NONE) { dp->arg_index = arg_posn++; if (dp->arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->arg_index, type); } dp->conversion = c; dp->dir_end = cp; } d->count++; if (d->count >= d_allocated) { size_t memory_size; DIRECTIVE *memory; d_allocated = xtimes (d_allocated, 2); memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); if (size_overflow_p (memory_size)) /* Overflow, would lead to out of memory. */ goto out_of_memory; memory = (DIRECTIVE *) (d->dir != d->direct_alloc_dir ? realloc (d->dir, memory_size) : malloc (memory_size)); if (memory == NULL) /* Out of memory. */ goto out_of_memory; if (d->dir == d->direct_alloc_dir) memcpy (memory, d->dir, d->count * sizeof (DIRECTIVE)); d->dir = memory; } } #if CHAR_T_ONLY_ASCII else if (!c_isascii (c)) { /* Non-ASCII character. Not supported. */ goto error; } #endif } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; d->max_precision_length = max_precision_length; return 0; error: if (a->arg != a->direct_alloc_arg) free (a->arg); if (d->dir != d->direct_alloc_dir) free (d->dir); errno = EINVAL; return -1; out_of_memory: if (a->arg != a->direct_alloc_arg) free (a->arg); if (d->dir != d->direct_alloc_dir) free (d->dir); errno = ENOMEM; return -1; } #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T_ONLY_ASCII #undef CHAR_T �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/waitpid.c������������������������������������������������������������������������0000664�0000000�0000000�00000001754�12071561015�012726� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Wait for process state change. Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <sys/wait.h> /* Implementation for native Windows systems. */ #include <process.h> /* for _cwait, WAIT_CHILD */ pid_t waitpid (pid_t pid, int *statusp, int options) { return _cwait (statusp, pid, WAIT_CHILD); } ��������������������coreutils-8.21/lib/alloca.c�������������������������������������������������������������������������0000664�0000000�0000000�00000034454�11700563513�012526� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* alloca.c -- allocate automatically reclaimed memory (Mostly) portable public-domain implementation -- D A Gwyn This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so that it is automatically reclaimed upon procedure exit, was inspired by discussions with J. Q. Johnson of Cornell. J.Otto Tennant <jot@cray.com> contributed the Cray support. There are some preprocessor constants that can be defined when compiling for your specific system, for improved efficiency; however, the defaults should be okay. The general concept of this implementation is to keep track of all alloca-allocated blocks, and reclaim any that are found to be deeper in the stack than the current invocation. This heuristic does not reclaim storage as soon as it becomes invalid, but it will do so eventually. As a special case, alloca(0) reclaims storage without allocating any. It is a good idea to use alloca(0) in your main control loop, etc. to force garbage collection. */ #include <config.h> #include <alloca.h> #include <string.h> #include <stdlib.h> #ifdef emacs # include "lisp.h" # include "blockinput.h" # ifdef EMACS_FREE # undef free # define free EMACS_FREE # endif #else # define memory_full() abort () #endif /* If compiling with GCC 2, this file's not needed. */ #if !defined (__GNUC__) || __GNUC__ < 2 /* If someone has defined alloca as a macro, there must be some other way alloca is supposed to work. */ # ifndef alloca # ifdef emacs # ifdef static /* actually, only want this if static is defined as "" -- this is for usg, in which emacs must undefine static in order to make unexec workable */ # ifndef STACK_DIRECTION you lose -- must know STACK_DIRECTION at compile-time /* Using #error here is not wise since this file should work for old and obscure compilers. */ # endif /* STACK_DIRECTION undefined */ # endif /* static */ # endif /* emacs */ /* If your stack is a linked list of frames, you have to provide an "address metric" ADDRESS_FUNCTION macro. */ # if defined (CRAY) && defined (CRAY_STACKSEG_END) long i00afunc (); # define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) # else # define ADDRESS_FUNCTION(arg) &(arg) # endif /* Define STACK_DIRECTION if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ # ifndef STACK_DIRECTION # define STACK_DIRECTION 0 /* Direction unknown. */ # endif # if STACK_DIRECTION != 0 # define STACK_DIR STACK_DIRECTION /* Known at compile-time. */ # else /* STACK_DIRECTION == 0; need run-time code. */ static int stack_dir; /* 1 or -1 once known. */ # define STACK_DIR stack_dir static int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } # endif /* STACK_DIRECTION == 0 */ /* An "alloca header" is used to: (a) chain together all alloca'ed blocks; (b) keep track of stack depth. It is very important that sizeof(header) agree with malloc alignment chunk size. The following default should work okay. */ # ifndef ALIGN_SIZE # define ALIGN_SIZE sizeof(double) # endif typedef union hdr { char align[ALIGN_SIZE]; /* To force sizeof(header). */ struct { union hdr *next; /* For chaining headers. */ char *deep; /* For stack depth measure. */ } h; } header; static header *last_alloca_header = NULL; /* -> last alloca header. */ /* Return a pointer to at least SIZE bytes of storage, which will be automatically reclaimed upon exit from the procedure that called alloca. Originally, this space was supposed to be taken from the current stack frame of the caller, but that method cannot be made to work for some implementations of C, for example under Gould's UTX/32. */ void * alloca (size_t size) { auto char probe; /* Probes stack depth: */ register char *depth = ADDRESS_FUNCTION (probe); # if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ STACK_DIR = find_stack_direction (NULL, (size & 1) + 20); # endif /* Reclaim garbage, defined as all alloca'd storage that was allocated from deeper in the stack than currently. */ { register header *hp; /* Traverses linked list. */ # ifdef emacs BLOCK_INPUT; # endif for (hp = last_alloca_header; hp != NULL;) if ((STACK_DIR > 0 && hp->h.deep > depth) || (STACK_DIR < 0 && hp->h.deep < depth)) { register header *np = hp->h.next; free (hp); /* Collect garbage. */ hp = np; /* -> next header. */ } else break; /* Rest are not deeper. */ last_alloca_header = hp; /* -> last valid storage. */ # ifdef emacs UNBLOCK_INPUT; # endif } if (size == 0) return NULL; /* No allocation required. */ /* Allocate combined header + user data storage. */ { /* Address of header. */ register header *new; size_t combined_size = sizeof (header) + size; if (combined_size < sizeof (header)) memory_full (); new = malloc (combined_size); if (! new) memory_full (); new->h.next = last_alloca_header; new->h.deep = depth; last_alloca_header = new; /* User storage begins just after header. */ return (void *) (new + 1); } } # if defined (CRAY) && defined (CRAY_STACKSEG_END) # ifdef DEBUG_I00AFUNC # include <stdio.h> # endif # ifndef CRAY_STACK # define CRAY_STACK # ifndef CRAY2 /* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ struct stack_control_header { long shgrow:32; /* Number of times stack has grown. */ long shaseg:32; /* Size of increments to stack. */ long shhwm:32; /* High water mark of stack. */ long shsize:32; /* Current size of stack (all segments). */ }; /* The stack segment linkage control information occurs at the high-address end of a stack segment. (The stack grows from low addresses to high addresses.) The initial part of the stack segment linkage control information is 0200 (octal) words. This provides for register storage for the routine which overflows the stack. */ struct stack_segment_linkage { long ss[0200]; /* 0200 overflow words. */ long sssize:32; /* Number of words in this segment. */ long ssbase:32; /* Offset to stack base. */ long:32; long sspseg:32; /* Offset to linkage control of previous segment of stack. */ long:32; long sstcpt:32; /* Pointer to task common address block. */ long sscsnm; /* Private control structure number for microtasking. */ long ssusr1; /* Reserved for user. */ long ssusr2; /* Reserved for user. */ long sstpid; /* Process ID for pid based multi-tasking. */ long ssgvup; /* Pointer to multitasking thread giveup. */ long sscray[7]; /* Reserved for Cray Research. */ long ssa0; long ssa1; long ssa2; long ssa3; long ssa4; long ssa5; long ssa6; long ssa7; long sss0; long sss1; long sss2; long sss3; long sss4; long sss5; long sss6; long sss7; }; # else /* CRAY2 */ /* The following structure defines the vector of words returned by the STKSTAT library routine. */ struct stk_stat { long now; /* Current total stack size. */ long maxc; /* Amount of contiguous space which would be required to satisfy the maximum stack demand to date. */ long high_water; /* Stack high-water mark. */ long overflows; /* Number of stack overflow ($STKOFEN) calls. */ long hits; /* Number of internal buffer hits. */ long extends; /* Number of block extensions. */ long stko_mallocs; /* Block allocations by $STKOFEN. */ long underflows; /* Number of stack underflow calls ($STKRETN). */ long stko_free; /* Number of deallocations by $STKRETN. */ long stkm_free; /* Number of deallocations by $STKMRET. */ long segments; /* Current number of stack segments. */ long maxs; /* Maximum number of stack segments so far. */ long pad_size; /* Stack pad size. */ long current_address; /* Current stack segment address. */ long current_size; /* Current stack segment size. This number is actually corrupted by STKSTAT to include the fifteen word trailer area. */ long initial_address; /* Address of initial segment. */ long initial_size; /* Size of initial segment. */ }; /* The following structure describes the data structure which trails any stack segment. I think that the description in 'asdef' is out of date. I only describe the parts that I am sure about. */ struct stk_trailer { long this_address; /* Address of this block. */ long this_size; /* Size of this block (does not include this trailer). */ long unknown2; long unknown3; long link; /* Address of trailer block of previous segment. */ long unknown5; long unknown6; long unknown7; long unknown8; long unknown9; long unknown10; long unknown11; long unknown12; long unknown13; long unknown14; }; # endif /* CRAY2 */ # endif /* not CRAY_STACK */ # ifdef CRAY2 /* Determine a "stack measure" for an arbitrary ADDRESS. I doubt that "lint" will like this much. */ static long i00afunc (long *address) { struct stk_stat status; struct stk_trailer *trailer; long *block, size; long result = 0; /* We want to iterate through all of the segments. The first step is to get the stack status structure. We could do this more quickly and more directly, perhaps, by referencing the $LM00 common block, but I know that this works. */ STKSTAT (&status); /* Set up the iteration. */ trailer = (struct stk_trailer *) (status.current_address + status.current_size - 15); /* There must be at least one stack segment. Therefore it is a fatal error if "trailer" is null. */ if (trailer == 0) abort (); /* Discard segments that do not contain our argument address. */ while (trailer != 0) { block = (long *) trailer->this_address; size = trailer->this_size; if (block == 0 || size == 0) abort (); trailer = (struct stk_trailer *) trailer->link; if ((block <= address) && (address < (block + size))) break; } /* Set the result to the offset in this segment and add the sizes of all predecessor segments. */ result = address - block; if (trailer == 0) { return result; } do { if (trailer->this_size <= 0) abort (); result += trailer->this_size; trailer = (struct stk_trailer *) trailer->link; } while (trailer != 0); /* We are done. Note that if you present a bogus address (one not in any segment), you will get a different number back, formed from subtracting the address of the first block. This is probably not what you want. */ return (result); } # else /* not CRAY2 */ /* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. Determine the number of the cell within the stack, given the address of the cell. The purpose of this routine is to linearize, in some sense, stack addresses for alloca. */ static long i00afunc (long address) { long stkl = 0; long size, pseg, this_segment, stack; long result = 0; struct stack_segment_linkage *ssptr; /* Register B67 contains the address of the end of the current stack segment. If you (as a subprogram) store your registers on the stack and find that you are past the contents of B67, you have overflowed the segment. B67 also points to the stack segment linkage control area, which is what we are really interested in. */ stkl = CRAY_STACKSEG_END (); ssptr = (struct stack_segment_linkage *) stkl; /* If one subtracts 'size' from the end of the segment, one has the address of the first word of the segment. If this is not the first segment, 'pseg' will be nonzero. */ pseg = ssptr->sspseg; size = ssptr->sssize; this_segment = stkl - size; /* It is possible that calling this routine itself caused a stack overflow. Discard stack segments which do not contain the target address. */ while (!(this_segment <= address && address <= stkl)) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); # endif if (pseg == 0) break; stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; this_segment = stkl - size; } result = address - this_segment; /* If you subtract pseg from the current end of the stack, you get the address of the previous stack segment's end. This seems a little convoluted to me, but I'll bet you save a cycle somewhere. */ while (pseg != 0) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o\n", pseg, size); # endif stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; result += size; } return (result); } # endif /* not CRAY2 */ # endif /* CRAY */ # endif /* no alloca */ #endif /* not GCC 2 */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/nproc.h��������������������������������������������������������������������������0000664�0000000�0000000�00000003310�12071561011�012375� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Detect the number of processors. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Glen Lenker and Bruno Haible. */ /* Allow the use in C++ code. */ #ifdef __cplusplus extern "C" { #endif /* A "processor" in this context means a thread execution unit, that is either - an execution core in a (possibly multi-core) chip, in a (possibly multi- chip) module, in a single computer, or - a thread execution unit inside a core (hyper-threading, see <http://en.wikipedia.org/wiki/Hyper-threading>). Which of the two definitions is used, is unspecified. */ enum nproc_query { NPROC_ALL, /* total number of processors */ NPROC_CURRENT, /* processors available to the current process */ NPROC_CURRENT_OVERRIDABLE /* likewise, but overridable through the OMP_NUM_THREADS environment variable */ }; /* Return the total number of processors. The result is guaranteed to be at least 1. */ extern unsigned long int num_processors (enum nproc_query query); #ifdef __cplusplus } #endif /* C++ */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/config.charset�������������������������������������������������������������������0000664�0000000�0000000�00000055123�12071561006�013740� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, see <http://www.gnu.org/licenses/>. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # (darwin = Mac OS X, woe32 = native Windows) # # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-3 Y glibc solaris cygwin # ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin # ISO-8859-6 Y glibc aix hpux solaris cygwin # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin # ISO-8859-8 Y glibc aix hpux osf solaris cygwin # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin # ISO-8859-13 glibc netbsd openbsd darwin cygwin # ISO-8859-14 glibc cygwin # ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin # KOI8-R Y glibc solaris freebsd netbsd openbsd darwin # KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd openbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix cygwin woe32 dos # CP943 aix # CP949 osf darwin woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1131 darwin # CP1250 woe32 # CP1251 glibc solaris netbsd openbsd darwin cygwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin # BIG5-HKSCS glibc solaris darwin # GBK glibc aix osf solaris darwin cygwin woe32 dos # GB18030 glibc solaris netbsd darwin # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris cygwin # VISCII Y glibc # TCVN5712-1 glibc # ARMSCII-8 glibc darwin # GEORGIAN-PS glibc cygwin # PT154 glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; openbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is # useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. # Then there are also the locales with encodings other than US-ASCII # and UTF-8. These locales can be occasionally useful to users (e.g. # when grepping through ISO-8859-1 encoded text files), when all their # file names are in US-ASCII. echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "KOI8-R KOI8-R" echo "KOI8-U KOI8-U" echo "CP866 CP866" echo "CP949 CP949" echo "CP1131 CP1131" echo "CP1251 CP1251" echo "eucCN GB2312" echo "GB2312 GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "Big5 BIG5" echo "Big5HKSCS BIG5-HKSCS" echo "GBK GBK" echo "GB18030 GB18030" echo "SJIS SHIFT_JIS" echo "ARMSCII-8 ARMSCII-8" echo "PT154 PT154" #echo "ISCII-DEV ?" echo "* UTF-8" ;; beos* | haiku*) # BeOS and Haiku have a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>" echo "# and Bruno Haible <bruno@clisp.org>." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strpbrk.c������������������������������������������������������������������������0000664�0000000�0000000�00000002317�12071561014�012747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1994, 2000, 2002-2003, 2006, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <stddef.h> #include <string.h> #undef strpbrk /* Find the first occurrence in S of any character in ACCEPT. */ char * strpbrk (const char *s, const char *accept) { while (*s != '\0') { const char *a = accept; while (*a != '\0') if (*a++ == *s) return (char *) s; ++s; } return NULL; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/open-safer.c���������������������������������������������������������������������0000664�0000000�0000000�00000002445�12071024546�013325� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke open, but avoid some glitches. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "fcntl-safer.h" #include <fcntl.h> #include <stdarg.h> #include "unistd-safer.h" int open_safer (char const *file, int flags, ...) { mode_t mode = 0; if (flags & O_CREAT) { va_list ap; va_start (ap, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (ap, PROMOTED_MODE_T); va_end (ap); } return fd_safer (open (file, flags, mode)); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirent.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000020704�12071024546�013163� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <dirent.h>. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_DIRENT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_DIRENT_H@ # @INCLUDE_NEXT@ @NEXT_DIRENT_H@ #endif #ifndef _@GUARD_PREFIX@_DIRENT_H #define _@GUARD_PREFIX@_DIRENT_H /* Get ino_t. Needed on some systems, including glibc 2.8. */ #include <sys/types.h> #if !@HAVE_DIRENT_H@ /* Define types DIR and 'struct dirent'. */ # if !GNULIB_defined_struct_dirent struct dirent { char d_type; char d_name[1]; }; /* Possible values for 'd_type'. */ # define DT_UNKNOWN 0 # define DT_FIFO 1 /* FIFO */ # define DT_CHR 2 /* character device */ # define DT_DIR 4 /* directory */ # define DT_BLK 6 /* block device */ # define DT_REG 8 /* regular file */ # define DT_LNK 10 /* symbolic link */ # define DT_SOCK 12 /* socket */ # define DT_WHT 14 /* whiteout */ typedef struct gl_directory DIR; # define GNULIB_defined_struct_dirent 1 # endif #endif /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ #if @GNULIB_OPENDIR@ # if @REPLACE_OPENDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef opendir # define opendir rpl_opendir # endif _GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name)); # else # if !@HAVE_OPENDIR@ _GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name)); # endif _GL_CXXALIASWARN (opendir); #elif defined GNULIB_POSIXCHECK # undef opendir # if HAVE_RAW_DECL_OPENDIR _GL_WARN_ON_USE (opendir, "opendir is not portable - " "use gnulib module opendir for portability"); # endif #endif #if @GNULIB_READDIR@ # if !@HAVE_READDIR@ _GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp)); _GL_CXXALIASWARN (readdir); #elif defined GNULIB_POSIXCHECK # undef readdir # if HAVE_RAW_DECL_READDIR _GL_WARN_ON_USE (readdir, "readdir is not portable - " "use gnulib module readdir for portability"); # endif #endif #if @GNULIB_REWINDDIR@ # if !@HAVE_REWINDDIR@ _GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp)); _GL_CXXALIASWARN (rewinddir); #elif defined GNULIB_POSIXCHECK # undef rewinddir # if HAVE_RAW_DECL_REWINDDIR _GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - " "use gnulib module rewinddir for portability"); # endif #endif #if @GNULIB_CLOSEDIR@ # if @REPLACE_CLOSEDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef closedir # define closedir rpl_closedir # endif _GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (closedir, int, (DIR *dirp)); # else # if !@HAVE_CLOSEDIR@ _GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (closedir, int, (DIR *dirp)); # endif _GL_CXXALIASWARN (closedir); #elif defined GNULIB_POSIXCHECK # undef closedir # if HAVE_RAW_DECL_CLOSEDIR _GL_WARN_ON_USE (closedir, "closedir is not portable - " "use gnulib module closedir for portability"); # endif #endif #if @GNULIB_DIRFD@ /* Return the file descriptor associated with the given directory stream, or -1 if none exists. */ # if @REPLACE_DIRFD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef dirfd # define dirfd rpl_dirfd # endif _GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (dirfd, int, (DIR *)); # else # if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd /* dirfd is defined as a macro and not as a function. Turn it into a function and get rid of the macro. */ static inline int (dirfd) (DIR *dp) { return dirfd (dp); } # undef dirfd # endif # if !(@HAVE_DECL_DIRFD@ || defined dirfd) _GL_FUNCDECL_SYS (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (dirfd, int, (DIR *)); # endif _GL_CXXALIASWARN (dirfd); #elif defined GNULIB_POSIXCHECK # undef dirfd # if HAVE_RAW_DECL_DIRFD _GL_WARN_ON_USE (dirfd, "dirfd is unportable - " "use gnulib module dirfd for portability"); # endif #endif #if @GNULIB_FDOPENDIR@ /* Open a directory stream visiting the given directory file descriptor. Return NULL and set errno if fd is not visiting a directory. On success, this function consumes fd (it will be implicitly closed either by this function or by a subsequent closedir). */ # if @REPLACE_FDOPENDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fdopendir # define fdopendir rpl_fdopendir # endif _GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd)); _GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd)); # else # if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@ _GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd)); # endif _GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd)); # endif _GL_CXXALIASWARN (fdopendir); #elif defined GNULIB_POSIXCHECK # undef fdopendir # if HAVE_RAW_DECL_FDOPENDIR _GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - " "use gnulib module fdopendir for portability"); # endif #endif #if @GNULIB_SCANDIR@ /* Scan the directory DIR, calling FILTER on each directory entry. Entries for which FILTER returns nonzero are individually malloc'd, sorted using qsort with CMP, and collected in a malloc'd array in *NAMELIST. Returns the number of entries selected, or -1 on error. */ # if !@HAVE_SCANDIR@ _GL_FUNCDECL_SYS (scandir, int, (const char *dir, struct dirent ***namelist, int (*filter) (const struct dirent *), int (*cmp) (const struct dirent **, const struct dirent **)) _GL_ARG_NONNULL ((1, 2, 4))); # endif /* Need to cast, because on glibc systems, the fourth parameter is int (*cmp) (const void *, const void *). */ _GL_CXXALIAS_SYS_CAST (scandir, int, (const char *dir, struct dirent ***namelist, int (*filter) (const struct dirent *), int (*cmp) (const struct dirent **, const struct dirent **))); _GL_CXXALIASWARN (scandir); #elif defined GNULIB_POSIXCHECK # undef scandir # if HAVE_RAW_DECL_SCANDIR _GL_WARN_ON_USE (scandir, "scandir is unportable - " "use gnulib module scandir for portability"); # endif #endif #if @GNULIB_ALPHASORT@ /* Compare two 'struct dirent' entries alphabetically. */ # if !@HAVE_ALPHASORT@ _GL_FUNCDECL_SYS (alphasort, int, (const struct dirent **, const struct dirent **) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif /* Need to cast, because on glibc systems, the parameters are (const void *, const void *). */ _GL_CXXALIAS_SYS_CAST (alphasort, int, (const struct dirent **, const struct dirent **)); _GL_CXXALIASWARN (alphasort); #elif defined GNULIB_POSIXCHECK # undef alphasort # if HAVE_RAW_DECL_ALPHASORT _GL_WARN_ON_USE (alphasort, "alphasort is unportable - " "use gnulib module alphasort for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_DIRENT_H */ #endif /* _@GUARD_PREFIX@_DIRENT_H */ ������������������������������������������������������������coreutils-8.21/lib/canon-host.h���������������������������������������������������������������������0000664�0000000�0000000�00000002004�12071024545�013332� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Host name canonicalization Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. Written by Derek Price <derek@ximbiot.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef CANON_HOST_H # define CANON_HOST_H 1 char *canon_host (char const *host); char *canon_host_r (char const *host, int *cherror); const char *ch_strerror (void); # define ch_strerror_r(cherror) gai_strerror (cherror); #endif /* !CANON_HOST_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdlib--.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002101�12071024546�012673� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like stdlib.h, but redefine some names to avoid glitches. Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <stdlib.h> #include "stdlib-safer.h" #undef mkstemp #define mkstemp mkstemp_safer #if GNULIB_MKOSTEMP # define mkostemp mkostemp_safer #endif #if GNULIB_MKOSTEMPS # define mkostemps mkostemps_safer #endif #if GNULIB_MKSTEMPS # define mkstemps mkstemps_safer #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-ctype.h������������������������������������������������������������������������0000664�0000000�0000000�00000022026�12071561006�012631� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Character handling in C locale. These functions work like the corresponding functions in <ctype.h>, except that they have the C (POSIX) locale hardwired, whereas the <ctype.h> functions' behaviour depends on the current locale set via setlocale. Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef C_CTYPE_H #define C_CTYPE_H #include <stdbool.h> #ifdef __cplusplus extern "C" { #endif /* The functions defined in this file assume the "C" locale and a character set without diacritics (ASCII-US or EBCDIC-US or something like that). Even if the "C" locale on a particular system is an extension of the ASCII character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it is ISO-8859-1), the functions in this file recognize only the ASCII characters. */ /* Check whether the ASCII optimizations apply. */ /* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that '0', '1', ..., '9' have consecutive integer values. */ #define C_CTYPE_CONSECUTIVE_DIGITS 1 #if ('A' <= 'Z') \ && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \ && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \ && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \ && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \ && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \ && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \ && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \ && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \ && ('Y' + 1 == 'Z') #define C_CTYPE_CONSECUTIVE_UPPERCASE 1 #endif #if ('a' <= 'z') \ && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \ && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \ && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \ && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \ && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \ && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \ && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \ && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \ && ('y' + 1 == 'z') #define C_CTYPE_CONSECUTIVE_LOWERCASE 1 #endif #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) /* The character set is ASCII or one of its variants or extensions, not EBCDIC. Testing the value of '\n' and '\r' is not relevant. */ #define C_CTYPE_ASCII 1 #endif /* Function declarations. */ /* Unlike the functions in <ctype.h>, which require an argument in the range of the 'unsigned char' type, the functions here operate on values that are in the 'unsigned char' range or in the 'char' range. In other words, when you have a 'char' value, you need to cast it before using it as argument to a <ctype.h> function: const char *s = ...; if (isalpha ((unsigned char) *s)) ... but you don't need to cast it for the functions defined in this file: const char *s = ...; if (c_isalpha (*s)) ... */ extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */ extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST; extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST; extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST; extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST; extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST; extern bool c_islower (int c) _GL_ATTRIBUTE_CONST; extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST; extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST; extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST; extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST; extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST; extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST; extern int c_tolower (int c) _GL_ATTRIBUTE_CONST; extern int c_toupper (int c) _GL_ATTRIBUTE_CONST; #if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS /* ASCII optimizations. */ #undef c_isascii #define c_isascii(c) \ ({ int __c = (c); \ (__c >= 0x00 && __c <= 0x7f); \ }) #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isalnum #define c_isalnum(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \ }) #else #undef c_isalnum #define c_isalnum(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || (__c >= 'A' && __c <= 'Z') \ || (__c >= 'a' && __c <= 'z')); \ }) #endif #endif #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isalpha #define c_isalpha(c) \ ({ int __c = (c); \ ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \ }) #else #undef c_isalpha #define c_isalpha(c) \ ({ int __c = (c); \ ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \ }) #endif #endif #undef c_isblank #define c_isblank(c) \ ({ int __c = (c); \ (__c == ' ' || __c == '\t'); \ }) #if C_CTYPE_ASCII #undef c_iscntrl #define c_iscntrl(c) \ ({ int __c = (c); \ ((__c & ~0x1f) == 0 || __c == 0x7f); \ }) #endif #if C_CTYPE_CONSECUTIVE_DIGITS #undef c_isdigit #define c_isdigit(c) \ ({ int __c = (c); \ (__c >= '0' && __c <= '9'); \ }) #endif #if C_CTYPE_CONSECUTIVE_LOWERCASE #undef c_islower #define c_islower(c) \ ({ int __c = (c); \ (__c >= 'a' && __c <= 'z'); \ }) #endif #if C_CTYPE_ASCII #undef c_isgraph #define c_isgraph(c) \ ({ int __c = (c); \ (__c >= '!' && __c <= '~'); \ }) #endif #if C_CTYPE_ASCII #undef c_isprint #define c_isprint(c) \ ({ int __c = (c); \ (__c >= ' ' && __c <= '~'); \ }) #endif #if C_CTYPE_ASCII #undef c_ispunct #define c_ispunct(c) \ ({ int _c = (c); \ (c_isgraph (_c) && ! c_isalnum (_c)); \ }) #endif #undef c_isspace #define c_isspace(c) \ ({ int __c = (c); \ (__c == ' ' || __c == '\t' \ || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \ }) #if C_CTYPE_CONSECUTIVE_UPPERCASE #undef c_isupper #define c_isupper(c) \ ({ int __c = (c); \ (__c >= 'A' && __c <= 'Z'); \ }) #endif #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isxdigit #define c_isxdigit(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \ }) #else #undef c_isxdigit #define c_isxdigit(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || (__c >= 'A' && __c <= 'F') \ || (__c >= 'a' && __c <= 'f')); \ }) #endif #endif #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #undef c_tolower #define c_tolower(c) \ ({ int __c = (c); \ (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \ }) #undef c_toupper #define c_toupper(c) \ ({ int __c = (c); \ (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \ }) #endif #endif /* optimizing for speed */ #ifdef __cplusplus } #endif #endif /* C_CTYPE_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/acl_entries.c��������������������������������������������������������������������0000664�0000000�0000000�00000004374�12071024545�013560� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return the number of entries in an ACL. Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert and Andreas Gruenbacher. */ #include <config.h> #include "acl-internal.h" /* This file assumes POSIX-draft like ACLs (Linux, FreeBSD, Mac OS X, IRIX, Tru64). */ /* Return the number of entries in ACL. Return -1 and set errno upon failure to determine it. */ int acl_entries (acl_t acl) { int count = 0; if (acl != NULL) { #if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Mac OS X */ # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ /* acl_get_entry returns 0 when it successfully fetches an entry, and -1/EINVAL at the end. */ acl_entry_t ace; int got_one; for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); got_one >= 0; got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) count++; # else /* Linux, FreeBSD */ /* acl_get_entry returns 1 when it successfully fetches an entry, and 0 at the end. */ acl_entry_t ace; int got_one; for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); got_one > 0; got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) count++; if (got_one < 0) return -1; # endif #else /* IRIX, Tru64 */ # if HAVE_ACL_TO_SHORT_TEXT /* IRIX */ /* Don't use acl_get_entry: it is undocumented. */ count = acl->acl_cnt; # endif # if HAVE_ACL_FREE_TEXT /* Tru64 */ /* Don't use acl_get_entry: it takes only one argument and does not work. */ count = acl->acl_num; # endif #endif } return count; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fcntl--.h������������������������������������������������������������������������0000664�0000000�0000000�00000001752�12071024546�012533� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Like fcntl.h, but redefine some names to avoid glitches. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <fcntl.h> #include "fcntl-safer.h" #undef open #define open open_safer #undef creat #define creat creat_safer #if GNULIB_OPENAT_SAFER # undef openat # define openat openat_safer #endif ����������������������coreutils-8.21/lib/mbscasecmp.c���������������������������������������������������������������������0000664�0000000�0000000�00000005504�12071024546�013402� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Case-insensitive string comparison function. Copyright (C) 1998-1999, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2005, based on earlier glibc code. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> #include <ctype.h> #include <limits.h> #include "mbuiter.h" #define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) /* Compare the character strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. Note: This function may, in multibyte locales, return 0 for strings of different lengths! */ int mbscasecmp (const char *s1, const char *s2) { if (s1 == s2) return 0; /* Be careful not to look at the entire extent of s1 or s2 until needed. This is useful because when two strings differ, the difference is most often already in the very few first characters. */ if (MB_CUR_MAX > 1) { mbui_iterator_t iter1; mbui_iterator_t iter2; mbui_init (iter1, s1); mbui_init (iter2, s2); while (mbui_avail (iter1) && mbui_avail (iter2)) { int cmp = mb_casecmp (mbui_cur (iter1), mbui_cur (iter2)); if (cmp != 0) return cmp; mbui_advance (iter1); mbui_advance (iter2); } if (mbui_avail (iter1)) /* s2 terminated before s1. */ return 1; if (mbui_avail (iter2)) /* s1 terminated before s2. */ return -1; return 0; } else { const unsigned char *p1 = (const unsigned char *) s1; const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; do { c1 = TOLOWER (*p1); c2 = TOLOWER (*p2); if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sha256.c�������������������������������������������������������������������������0000664�0000000�0000000�00000042663�12071024546�012304� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sha256.c - Functions to compute SHA256 and SHA224 message digest of files or memory blocks according to the NIST specification FIPS-180-2. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David Madore, considerably copypasting from Scott G. Miller's sha1.c */ #include <config.h> #include "sha256.h" #include <stdalign.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #endif #define BLOCKSIZE 32768 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Takes a pointer to a 256 bit block of data (eight 32 bit ints) and initializes it to the start constants of the SHA256 algorithm. This must be called before using hash in the call to sha256_hash */ void sha256_init_ctx (struct sha256_ctx *ctx) { ctx->state[0] = 0x6a09e667UL; ctx->state[1] = 0xbb67ae85UL; ctx->state[2] = 0x3c6ef372UL; ctx->state[3] = 0xa54ff53aUL; ctx->state[4] = 0x510e527fUL; ctx->state[5] = 0x9b05688cUL; ctx->state[6] = 0x1f83d9abUL; ctx->state[7] = 0x5be0cd19UL; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } void sha224_init_ctx (struct sha256_ctx *ctx) { ctx->state[0] = 0xc1059ed8UL; ctx->state[1] = 0x367cd507UL; ctx->state[2] = 0x3070dd17UL; ctx->state[3] = 0xf70e5939UL; ctx->state[4] = 0xffc00b31UL; ctx->state[5] = 0x68581511UL; ctx->state[6] = 0x64f98fa7UL; ctx->state[7] = 0xbefa4fa4UL; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 32 bytes following RESBUF. The result must be in little endian byte order. */ void * sha256_read_ctx (const struct sha256_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 8; i++) set_uint32 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } void * sha224_read_ctx (const struct sha256_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 7; i++) set_uint32 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ static void sha256_conclude_ctx (struct sha256_ctx *ctx) { /* Take yet unprocessed bytes into account. */ size_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. Use set_uint32 rather than a simple assignment, to avoid risk of unaligned access. */ set_uint32 ((char *) &ctx->buffer[size - 2], SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29))); set_uint32 ((char *) &ctx->buffer[size - 1], SWAP (ctx->total[0] << 3)); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ sha256_process_block (ctx->buffer, size * 4, ctx); } void * sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf) { sha256_conclude_ctx (ctx); return sha256_read_ctx (ctx, resbuf); } void * sha224_finish_ctx (struct sha256_ctx *ctx, void *resbuf) { sha256_conclude_ctx (ctx); return sha224_read_ctx (ctx, resbuf); } /* Compute SHA256 message digest for bytes read from STREAM. The resulting message digest number will be written into the 32 bytes beginning at RESBLOCK. */ int sha256_stream (FILE *stream, void *resblock) { struct sha256_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ sha256_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha256_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha256_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha256_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* FIXME: Avoid code duplication */ int sha224_stream (FILE *stream, void *resblock) { struct sha256_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ sha224_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha256_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha256_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha224_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* Compute SHA512 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha256_buffer (const char *buffer, size_t len, void *resblock) { struct sha256_ctx ctx; /* Initialize the computation context. */ sha256_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha256_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha256_finish_ctx (&ctx, resblock); } void * sha224_buffer (const char *buffer, size_t len, void *resblock) { struct sha256_ctx ctx; /* Initialize the computation context. */ sha224_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha256_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha224_finish_ctx (&ctx, resblock); } void sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { sha256_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { sha256_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { sha256_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { sha256_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between sha1.c and sha256.c --- */ /* SHA256 round constants */ #define K(I) sha256_round_constants[I] static const uint32_t sha256_round_constants[64] = { 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL, }; /* Round functions. */ #define F2(A,B,C) ( ( A & B ) | ( C & ( A | B ) ) ) #define F1(E,F,G) ( G ^ ( E & ( F ^ G ) ) ) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx) { const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t x[16]; uint32_t a = ctx->state[0]; uint32_t b = ctx->state[1]; uint32_t c = ctx->state[2]; uint32_t d = ctx->state[3]; uint32_t e = ctx->state[4]; uint32_t f = ctx->state[5]; uint32_t g = ctx->state[6]; uint32_t h = ctx->state[7]; uint32_t lolen = len; /* First increment the byte count. FIPS PUB 180-2 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += lolen; ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen); #define rol(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) #define S0(x) (rol(x,25)^rol(x,14)^(x>>3)) #define S1(x) (rol(x,15)^rol(x,13)^(x>>10)) #define SS0(x) (rol(x,30)^rol(x,19)^rol(x,10)) #define SS1(x) (rol(x,26)^rol(x,21)^rol(x,7)) #define M(I) ( tm = S1(x[(I-2)&0x0f]) + x[(I-7)&0x0f] \ + S0(x[(I-15)&0x0f]) + x[I&0x0f] \ , x[I&0x0f] = tm ) #define R(A,B,C,D,E,F,G,H,K,M) do { t0 = SS0(A) + F2(A,B,C); \ t1 = H + SS1(E) \ + F1(E,F,G) \ + K \ + M; \ D += t1; H = t0 + t1; \ } while(0) while (words < endp) { uint32_t tm; uint32_t t0, t1; int t; /* FIXME: see sha1.c for a better implementation. */ for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, f, g, h, K( 0), x[ 0] ); R( h, a, b, c, d, e, f, g, K( 1), x[ 1] ); R( g, h, a, b, c, d, e, f, K( 2), x[ 2] ); R( f, g, h, a, b, c, d, e, K( 3), x[ 3] ); R( e, f, g, h, a, b, c, d, K( 4), x[ 4] ); R( d, e, f, g, h, a, b, c, K( 5), x[ 5] ); R( c, d, e, f, g, h, a, b, K( 6), x[ 6] ); R( b, c, d, e, f, g, h, a, K( 7), x[ 7] ); R( a, b, c, d, e, f, g, h, K( 8), x[ 8] ); R( h, a, b, c, d, e, f, g, K( 9), x[ 9] ); R( g, h, a, b, c, d, e, f, K(10), x[10] ); R( f, g, h, a, b, c, d, e, K(11), x[11] ); R( e, f, g, h, a, b, c, d, K(12), x[12] ); R( d, e, f, g, h, a, b, c, K(13), x[13] ); R( c, d, e, f, g, h, a, b, K(14), x[14] ); R( b, c, d, e, f, g, h, a, K(15), x[15] ); R( a, b, c, d, e, f, g, h, K(16), M(16) ); R( h, a, b, c, d, e, f, g, K(17), M(17) ); R( g, h, a, b, c, d, e, f, K(18), M(18) ); R( f, g, h, a, b, c, d, e, K(19), M(19) ); R( e, f, g, h, a, b, c, d, K(20), M(20) ); R( d, e, f, g, h, a, b, c, K(21), M(21) ); R( c, d, e, f, g, h, a, b, K(22), M(22) ); R( b, c, d, e, f, g, h, a, K(23), M(23) ); R( a, b, c, d, e, f, g, h, K(24), M(24) ); R( h, a, b, c, d, e, f, g, K(25), M(25) ); R( g, h, a, b, c, d, e, f, K(26), M(26) ); R( f, g, h, a, b, c, d, e, K(27), M(27) ); R( e, f, g, h, a, b, c, d, K(28), M(28) ); R( d, e, f, g, h, a, b, c, K(29), M(29) ); R( c, d, e, f, g, h, a, b, K(30), M(30) ); R( b, c, d, e, f, g, h, a, K(31), M(31) ); R( a, b, c, d, e, f, g, h, K(32), M(32) ); R( h, a, b, c, d, e, f, g, K(33), M(33) ); R( g, h, a, b, c, d, e, f, K(34), M(34) ); R( f, g, h, a, b, c, d, e, K(35), M(35) ); R( e, f, g, h, a, b, c, d, K(36), M(36) ); R( d, e, f, g, h, a, b, c, K(37), M(37) ); R( c, d, e, f, g, h, a, b, K(38), M(38) ); R( b, c, d, e, f, g, h, a, K(39), M(39) ); R( a, b, c, d, e, f, g, h, K(40), M(40) ); R( h, a, b, c, d, e, f, g, K(41), M(41) ); R( g, h, a, b, c, d, e, f, K(42), M(42) ); R( f, g, h, a, b, c, d, e, K(43), M(43) ); R( e, f, g, h, a, b, c, d, K(44), M(44) ); R( d, e, f, g, h, a, b, c, K(45), M(45) ); R( c, d, e, f, g, h, a, b, K(46), M(46) ); R( b, c, d, e, f, g, h, a, K(47), M(47) ); R( a, b, c, d, e, f, g, h, K(48), M(48) ); R( h, a, b, c, d, e, f, g, K(49), M(49) ); R( g, h, a, b, c, d, e, f, K(50), M(50) ); R( f, g, h, a, b, c, d, e, K(51), M(51) ); R( e, f, g, h, a, b, c, d, K(52), M(52) ); R( d, e, f, g, h, a, b, c, K(53), M(53) ); R( c, d, e, f, g, h, a, b, K(54), M(54) ); R( b, c, d, e, f, g, h, a, K(55), M(55) ); R( a, b, c, d, e, f, g, h, K(56), M(56) ); R( h, a, b, c, d, e, f, g, K(57), M(57) ); R( g, h, a, b, c, d, e, f, K(58), M(58) ); R( f, g, h, a, b, c, d, e, K(59), M(59) ); R( e, f, g, h, a, b, c, d, K(60), M(60) ); R( d, e, f, g, h, a, b, c, K(61), M(61) ); R( c, d, e, f, g, h, a, b, K(62), M(62) ); R( b, c, d, e, f, g, h, a, K(63), M(63) ); a = ctx->state[0] += a; b = ctx->state[1] += b; c = ctx->state[2] += c; d = ctx->state[3] += d; e = ctx->state[4] += e; f = ctx->state[5] += f; g = ctx->state[6] += g; h = ctx->state[7] += h; } } �����������������������������������������������������������������������������coreutils-8.21/lib/nanosleep.c����������������������������������������������������������������������0000664�0000000�0000000�00000017705�12071024546�013257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a replacement for the POSIX nanosleep function. Copyright (C) 1999-2000, 2002, 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Bruno Haible for the native Windows part */ #include <config.h> #include <time.h> #include "intprops.h" #include "sig-handler.h" #include "verify.h" #include <stdbool.h> #include <stdio.h> #include <sys/types.h> #include <sys/select.h> #include <signal.h> #include <sys/time.h> #include <errno.h> #include <unistd.h> enum { BILLION = 1000 * 1000 * 1000 }; #if HAVE_BUG_BIG_NANOSLEEP int nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) # undef nanosleep { /* nanosleep mishandles large sleeps due to internal overflow problems. The worst known case of this is Linux 2.6.9 with glibc 2.3.4, which can't sleep more than 24.85 days (2^31 milliseconds). Similarly, cygwin 1.5.x, which can't sleep more than 49.7 days (2^32 milliseconds). Solve this by breaking the sleep up into smaller chunks. */ if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec) { errno = EINVAL; return -1; } { /* Verify that time_t is large enough. */ verify (TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60); const time_t limit = 24 * 24 * 60 * 60; time_t seconds = requested_delay->tv_sec; struct timespec intermediate; intermediate.tv_nsec = requested_delay->tv_nsec; while (limit < seconds) { int result; intermediate.tv_sec = limit; result = nanosleep (&intermediate, remaining_delay); seconds -= limit; if (result) { if (remaining_delay) remaining_delay->tv_sec += seconds; return result; } intermediate.tv_nsec = 0; } intermediate.tv_sec = seconds; return nanosleep (&intermediate, remaining_delay); } } #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows platforms. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> /* The Windows API function Sleep() has a resolution of about 15 ms and takes at least 5 ms to execute. We use this function for longer time periods. Additionally, we use busy-looping over short time periods, to get a resolution of about 0.01 ms. In order to measure such short timespans, we use the QueryPerformanceCounter() function. */ int nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) { static bool initialized; /* Number of performance counter increments per nanosecond, or zero if it could not be determined. */ static double ticks_per_nanosecond; if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec) { errno = EINVAL; return -1; } /* For requested delays of one second or more, 15ms resolution is sufficient. */ if (requested_delay->tv_sec == 0) { if (!initialized) { /* Initialize ticks_per_nanosecond. */ LARGE_INTEGER ticks_per_second; if (QueryPerformanceFrequency (&ticks_per_second)) ticks_per_nanosecond = (double) ticks_per_second.QuadPart / 1000000000.0; initialized = true; } if (ticks_per_nanosecond) { /* QueryPerformanceFrequency worked. We can use QueryPerformanceCounter. Use a combination of Sleep and busy-looping. */ /* Number of milliseconds to pass to the Sleep function. Since Sleep can take up to 8 ms less or 8 ms more than requested (or maybe more if the system is loaded), we subtract 10 ms. */ int sleep_millis = (int) requested_delay->tv_nsec / 1000000 - 10; /* Determine how many ticks to delay. */ LONGLONG wait_ticks = requested_delay->tv_nsec * ticks_per_nanosecond; /* Start. */ LARGE_INTEGER counter_before; if (QueryPerformanceCounter (&counter_before)) { /* Wait until the performance counter has reached this value. We don't need to worry about overflow, because the performance counter is reset at reboot, and with a frequency of 3.6E6 ticks per second 63 bits suffice for over 80000 years. */ LONGLONG wait_until = counter_before.QuadPart + wait_ticks; /* Use Sleep for the longest part. */ if (sleep_millis > 0) Sleep (sleep_millis); /* Busy-loop for the rest. */ for (;;) { LARGE_INTEGER counter_after; if (!QueryPerformanceCounter (&counter_after)) /* QueryPerformanceCounter failed, but succeeded earlier. Should not happen. */ break; if (counter_after.QuadPart >= wait_until) /* The requested time has elapsed. */ break; } goto done; } } } /* Implementation for long delays and as fallback. */ Sleep (requested_delay->tv_sec * 1000 + requested_delay->tv_nsec / 1000000); done: /* Sleep is not interruptible. So there is no remaining delay. */ if (remaining_delay != NULL) { remaining_delay->tv_sec = 0; remaining_delay->tv_nsec = 0; } return 0; } #else /* Unix platforms lacking nanosleep. */ /* Some systems (MSDOS) don't have SIGCONT. Using SIGTERM here turns the signal-handling code below into a no-op on such systems. */ # ifndef SIGCONT # define SIGCONT SIGTERM # endif static sig_atomic_t volatile suspended; /* Handle SIGCONT. */ static void sighandler (int sig) { suspended = 1; } /* Suspend execution for at least *TS_DELAY seconds. */ static void my_usleep (const struct timespec *ts_delay) { struct timeval tv_delay; tv_delay.tv_sec = ts_delay->tv_sec; tv_delay.tv_usec = (ts_delay->tv_nsec + 999) / 1000; if (tv_delay.tv_usec == 1000000) { if (tv_delay.tv_sec == TYPE_MAXIMUM (time_t)) tv_delay.tv_usec = 1000000 - 1; /* close enough */ else { tv_delay.tv_sec++; tv_delay.tv_usec = 0; } } select (0, NULL, NULL, NULL, &tv_delay); } /* Suspend execution for at least *REQUESTED_DELAY seconds. The *REMAINING_DELAY part isn't implemented yet. */ int nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) { static bool initialized; if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec) { errno = EINVAL; return -1; } /* set up sig handler */ if (! initialized) { struct sigaction oldact; sigaction (SIGCONT, NULL, &oldact); if (get_handler (&oldact) != SIG_IGN) { struct sigaction newact; newact.sa_handler = sighandler; sigemptyset (&newact.sa_mask); newact.sa_flags = 0; sigaction (SIGCONT, &newact, NULL); } initialized = true; } suspended = 0; my_usleep (requested_delay); if (suspended) { /* Calculate time remaining. */ /* FIXME: the code in sleep doesn't use this, so there's no rush to implement it. */ errno = EINTR; } /* FIXME: Restore sig handler? */ return suspended; } #endif �����������������������������������������������������������coreutils-8.21/lib/malloca.c������������������������������������������������������������������������0000664�0000000�0000000�00000011657�12071561011�012674� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Safe automatic memory allocation. Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #define _GL_USE_STDLIB_ALLOC 1 #include <config.h> /* Specification. */ #include "malloca.h" #include <stdint.h> #include "verify.h" /* The speed critical point in this file is freea() applied to an alloca() result: it must be fast, to match the speed of alloca(). The speed of mmalloca() and freea() in the other case are not critical, because they are only invoked for big memory sizes. */ #if HAVE_ALLOCA /* Store the mmalloca() results in a hash table. This is needed to reliably distinguish a mmalloca() result and an alloca() result. Although it is possible that the same pointer is returned by alloca() and by mmalloca() at different times in the same application, it does not lead to a bug in freea(), because: - Before a pointer returned by alloca() can point into malloc()ed memory, the function must return, and once this has happened the programmer must not call freea() on it anyway. - Before a pointer returned by mmalloca() can point into the stack, it must be freed. The only function that can free it is freea(), and when freea() frees it, it also removes it from the hash table. */ #define MAGIC_NUMBER 0x1415fb4a #define MAGIC_SIZE sizeof (int) /* This is how the header info would look like without any alignment considerations. */ struct preliminary_header { void *next; char room[MAGIC_SIZE]; }; /* But the header's size must be a multiple of sa_alignment_max. */ #define HEADER_SIZE \ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; }; verify (HEADER_SIZE == sizeof (struct header)); /* We make the hash table quite big, so that during lookups the probability of empty hash buckets is quite high. There is no need to make the hash table resizable, because when the hash table gets filled so much that the lookup becomes slow, it means that the application has memory leaks. */ #define HASH_TABLE_SIZE 257 static void * mmalloca_results[HASH_TABLE_SIZE]; #endif void * mmalloca (size_t n) { #if HAVE_ALLOCA /* Allocate one more word, that serves as an indicator for malloc()ed memory, so that freea() of an alloca() result is fast. */ size_t nplus = n + HEADER_SIZE; if (nplus >= n) { char *p = (char *) malloc (nplus); if (p != NULL) { size_t slot; p += HEADER_SIZE; /* Put a magic number into the indicator word. */ ((int *) p)[-1] = MAGIC_NUMBER; /* Enter p into the hash table. */ slot = (uintptr_t) p % HASH_TABLE_SIZE; ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot]; mmalloca_results[slot] = p; return p; } } /* Out of memory. */ return NULL; #else # if !MALLOC_0_IS_NONNULL if (n == 0) n = 1; # endif return malloc (n); #endif } #if HAVE_ALLOCA void freea (void *p) { /* mmalloca() may have returned NULL. */ if (p != NULL) { /* Attempt to quickly distinguish the mmalloca() result - which has a magic indicator word - and the alloca() result - which has an uninitialized indicator word. It is for this test that sa_increment additional bytes are allocated in the alloca() case. */ if (((int *) p)[-1] == MAGIC_NUMBER) { /* Looks like a mmalloca() result. To see whether it really is one, perform a lookup in the hash table. */ size_t slot = (uintptr_t) p % HASH_TABLE_SIZE; void **chain = &mmalloca_results[slot]; for (; *chain != NULL;) { if (*chain == p) { /* Found it. Remove it from the hash table and free it. */ char *p_begin = (char *) p - HEADER_SIZE; *chain = ((struct header *) p_begin)->next; free (p_begin); return; } chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next; } } /* At this point, we know it was not a mmalloca() result. */ } } #endif ���������������������������������������������������������������������������������coreutils-8.21/lib/dirname.h������������������������������������������������������������������������0000664�0000000�0000000�00000002651�12071024546�012711� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Take file names apart into directory and base names. Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 # include <stdbool.h> # include <stddef.h> # include "dosname.h" # ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' # endif # ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 # endif # if GNULIB_DIRNAME char *base_name (char const *file); char *dir_name (char const *file); # endif char *mdir_name (char const *file); size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; char *last_component (char const *file) _GL_ATTRIBUTE_PURE; bool strip_trailing_slashes (char *file); #endif /* not DIRNAME_H_ */ ���������������������������������������������������������������������������������������coreutils-8.21/lib/c-strcaseeq.h��������������������������������������������������������������������0000664�0000000�0000000�00000010774�12071561006�013506� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Optimized case-insensitive string comparison in C locale. Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ #include "c-strcase.h" #include "c-ctype.h" /* STRCASEEQ allows to optimize string comparison with a small literal string. STRCASEEQ (s, "UTF-8", 'U','T','F','-','8',0,0,0,0) is semantically equivalent to c_strcasecmp (s, "UTF-8") == 0 just faster. */ /* Help GCC to generate good code for string comparisons with immediate strings. */ #if defined (__GNUC__) && defined (__OPTIMIZE__) /* Case insensitive comparison of ASCII characters. */ # if C_CTYPE_ASCII # define CASEEQ(other,upper) \ (c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper)) # elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE # define CASEEQ(other,upper) \ (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper)) # else # define CASEEQ(other,upper) \ (c_toupper (other) == (upper)) # endif static inline int strcaseeq9 (const char *s1, const char *s2) { return c_strcasecmp (s1 + 9, s2 + 9) == 0; } static inline int strcaseeq8 (const char *s1, const char *s2, char s28) { if (CASEEQ (s1[8], s28)) { if (s28 == 0) return 1; else return strcaseeq9 (s1, s2); } else return 0; } static inline int strcaseeq7 (const char *s1, const char *s2, char s27, char s28) { if (CASEEQ (s1[7], s27)) { if (s27 == 0) return 1; else return strcaseeq8 (s1, s2, s28); } else return 0; } static inline int strcaseeq6 (const char *s1, const char *s2, char s26, char s27, char s28) { if (CASEEQ (s1[6], s26)) { if (s26 == 0) return 1; else return strcaseeq7 (s1, s2, s27, s28); } else return 0; } static inline int strcaseeq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[5], s25)) { if (s25 == 0) return 1; else return strcaseeq6 (s1, s2, s26, s27, s28); } else return 0; } static inline int strcaseeq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[4], s24)) { if (s24 == 0) return 1; else return strcaseeq5 (s1, s2, s25, s26, s27, s28); } else return 0; } static inline int strcaseeq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[3], s23)) { if (s23 == 0) return 1; else return strcaseeq4 (s1, s2, s24, s25, s26, s27, s28); } else return 0; } static inline int strcaseeq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[2], s22)) { if (s22 == 0) return 1; else return strcaseeq3 (s1, s2, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int strcaseeq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[1], s21)) { if (s21 == 0) return 1; else return strcaseeq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int strcaseeq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (CASEEQ (s1[0], s20)) { if (s20 == 0) return 1; else return strcaseeq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); } else return 0; } #define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ strcaseeq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) #else #define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ (c_strcasecmp (s1, s2) == 0) #endif ����coreutils-8.21/lib/sig-handler.c��������������������������������������������������������������������0000664�0000000�0000000�00000000132�12071024546�013452� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define SIG_HANDLER_INLINE _GL_EXTERN_INLINE #include "sig-handler.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/progname.c�����������������������������������������������������������������������0000664�0000000�0000000�00000006150�12071024546�013073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Program name management. Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #undef ENABLE_RELOCATABLE /* avoid defining set_program_name as a macro */ #include "progname.h" #include <errno.h> /* get program_invocation_name declaration */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* String containing name the program is called with. To be initialized by main(). */ const char *program_name = NULL; /* Set program_name, based on argv[0]. argv0 must be a string allocated with indefinite extent, and must not be modified after this call. */ void set_program_name (const char *argv0) { /* libtool creates a temporary executable whose name is sometimes prefixed with "lt-" (depends on the platform). It also makes argv[0] absolute. But the name of the temporary executable is a detail that should not be visible to the end user and to the test suite. Remove this "<dirname>/.libs/" or "<dirname>/.libs/lt-" prefix here. */ const char *slash; const char *base; /* Sanity check. POSIX requires the invoking process to pass a non-NULL argv[0]. */ if (argv0 == NULL) { /* It's a bug in the invoking program. Help diagnosing it. */ fputs ("A NULL argv[0] was passed through an exec system call.\n", stderr); abort (); } slash = strrchr (argv0, '/'); base = (slash != NULL ? slash + 1 : argv0); if (base - argv0 >= 7 && strncmp (base - 7, "/.libs/", 7) == 0) { argv0 = base; if (strncmp (base, "lt-", 3) == 0) { argv0 = base + 3; /* On glibc systems, remove the "lt-" prefix from the variable program_invocation_short_name. */ #if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME program_invocation_short_name = (char *) argv0; #endif } } /* But don't strip off a leading <dirname>/ in general, because when the user runs /some/hidden/place/bin/cp foo foo he should get the error message /some/hidden/place/bin/cp: `foo' and `foo' are the same file not cp: `foo' and `foo' are the same file */ program_name = argv0; /* On glibc systems, the error() function comes from libc and uses the variable program_invocation_name, not program_name. So set this variable as well. */ #if HAVE_DECL_PROGRAM_INVOCATION_NAME program_invocation_name = (char *) argv0; #endif } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/asnprintf.c����������������������������������������������������������������������0000664�0000000�0000000�00000002046�12071561006�013264� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to strings. Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "vasnprintf.h" #include <stdarg.h> char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) { va_list args; char *result; va_start (args, format); result = vasnprintf (resultbuf, lengthp, format, args); va_end (args); return result; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/openat-die.c���������������������������������������������������������������������0000664�0000000�0000000�00000003461�12071024546�013312� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Report a save- or restore-cwd failure in our openat replacement and then exit. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "openat.h" #include <stdlib.h> #ifndef GNULIB_LIBPOSIX # include "error.h" #endif #include "exitfail.h" #include "gettext.h" #define _(msgid) gettext (msgid) void openat_save_fail (int errnum) { #ifndef GNULIB_LIBPOSIX error (exit_failure, errnum, _("unable to record current working directory")); #endif /* _Noreturn cannot be applied to error, since it returns when its first argument is 0. To help compilers understand that this function does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ abort (); } /* Exit with an error about failure to restore the working directory during an openat emulation. The caller must ensure that fd 2 is not a just-opened fd, even when openat_safer is not in use. */ void openat_restore_fail (int errnum) { #ifndef GNULIB_LIBPOSIX error (exit_failure, errnum, _("failed to return to initial working directory")); #endif /* As above. */ abort (); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtold.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000044�11624727635�013156� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define LONG 1 #include "xstrtod.c" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/full-read.h����������������������������������������������������������������������0000664�0000000�0000000�00000002172�12071024546�013143� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to read() that reads all it is asked to read. Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, read to the Free Software Foundation, along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> /* Read COUNT bytes at BUF to descriptor FD, retrying if interrupted or if partial reads occur. Return the number of bytes successfully read, setting errno if that is less than COUNT. errno = 0 means EOF. */ extern size_t full_read (int fd, void *buf, size_t count); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filename.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003652�12071024546�013054� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Basic filename support macros. Copyright (C) 2001-2004, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _FILENAME_H #define _FILENAME_H #ifdef __cplusplus extern "C" { #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif #ifdef __cplusplus } #endif #endif /* _FILENAME_H */ ��������������������������������������������������������������������������������������coreutils-8.21/lib/ftoastr.c������������������������������������������������������������������������0000664�0000000�0000000�00000010124�12071024546�012741� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* floating point to accurate string Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ /* This code can misbehave on some buggy or older platforms, when operating on arguments on floating types other than 'double', or when given unusual combinations of options. Gnulib's snprintf-posix module works around many of these problems. This code relies on sprintf, strtod, etc. operating accurately; otherwise, the resulting strings could be inaccurate or too long. */ #include <config.h> #include "ftoastr.h" #include <float.h> #include <stdio.h> #include <stdlib.h> #if LENGTH == 3 # define FLOAT long double # define FLOAT_DIG LDBL_DIG # define FLOAT_MIN LDBL_MIN # define FLOAT_PREC_BOUND _GL_LDBL_PREC_BOUND # define FTOASTR ldtoastr # if HAVE_C99_STRTOLD # define STRTOF strtold # endif #elif LENGTH == 2 # define FLOAT double # define FLOAT_DIG DBL_DIG # define FLOAT_MIN DBL_MIN # define FLOAT_PREC_BOUND _GL_DBL_PREC_BOUND # define FTOASTR dtoastr #else # define LENGTH 1 # define FLOAT float # define FLOAT_DIG FLT_DIG # define FLOAT_MIN FLT_MIN # define FLOAT_PREC_BOUND _GL_FLT_PREC_BOUND # define FTOASTR ftoastr # if HAVE_STRTOF # define STRTOF strtof # endif #endif /* On pre-C99 hosts, approximate strtof and strtold with strtod. This may generate one or two extra digits, but that's better than not working at all. */ #ifndef STRTOF # define STRTOF strtod #endif /* On hosts where it's not known that snprintf works, use sprintf to implement the subset needed here. Typically BUFSIZE is big enough and there's little or no performance hit. */ #if ! GNULIB_SNPRINTF # undef snprintf # define snprintf ftoastr_snprintf static int ftoastr_snprintf (char *buf, size_t bufsize, char const *format, int width, int prec, FLOAT x) { char width_0_buffer[LENGTH == 1 ? FLT_BUFSIZE_BOUND : LENGTH == 2 ? DBL_BUFSIZE_BOUND : LDBL_BUFSIZE_BOUND]; int n = width; if (bufsize < sizeof width_0_buffer) { n = sprintf (width_0_buffer, format, 0, prec, x); if (n < 0) return n; if (n < width) n = width; } if (n < bufsize) n = sprintf (buf, format, width, prec, x); return n; } #endif int FTOASTR (char *buf, size_t bufsize, int flags, int width, FLOAT x) { /* The following method is simple but slow. For ideas about speeding things up, please see: Florian Loitsch, Printing floating-point numbers quickly and accurately with integers. ACM SIGPLAN notices 46, 6 (June 2010), 233-243 <http://dx.doi.org/10.1145/1809028.1806623>; also see the 2010-03-21 draft <http://florian.loitsch.com/tmp/article.pdf>. */ char format[sizeof "%-+ 0*.*Lg"]; FLOAT abs_x = x < 0 ? -x : x; int prec; char *p = format; *p++ = '%'; /* Support flags that generate output parsable by strtof. */ *p = '-'; p += (flags & FTOASTR_LEFT_JUSTIFY ) != 0; *p = '+'; p += (flags & FTOASTR_ALWAYS_SIGNED ) != 0; *p = ' '; p += (flags & FTOASTR_SPACE_POSITIVE) != 0; *p = '0'; p += (flags & FTOASTR_ZERO_PAD ) != 0; *p++ = '*'; *p++ = '.'; *p++ = '*'; *p = 'L'; p += 2 < LENGTH; *p++ = flags & FTOASTR_UPPER_E ? 'G' : 'g'; *p = '\0'; for (prec = abs_x < FLOAT_MIN ? 1 : FLOAT_DIG; ; prec++) { int n = snprintf (buf, bufsize, format, width, prec, x); if (n < 0 || FLOAT_PREC_BOUND <= prec || (n < bufsize && STRTOF (buf, NULL) == x)) return n; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-aix.gperf�������������������������������������������������������������0000664�0000000�0000000�00000001724�11624727634�015077� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On AIX 5.1, look in /usr/lib/nls/loc/uconvTable. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" CP437, "IBM-437" CP850, "IBM-850" CP852, "IBM-852" CP856, "IBM-856" CP857, "IBM-857" CP861, "IBM-861" CP865, "IBM-865" CP869, "IBM-869" ISO-8859-13, "IBM-921" CP922, "IBM-922" CP932, "IBM-932" CP943, "IBM-943" CP1046, "IBM-1046" CP1124, "IBM-1124" CP1125, "IBM-1125" CP1129, "IBM-1129" CP1252, "IBM-1252" GB2312, "IBM-eucCN" EUC-JP, "IBM-eucJP" EUC-KR, "IBM-eucKR" EUC-TW, "IBM-eucTW" BIG5, "big5" ��������������������������������������������coreutils-8.21/lib/file-has-acl.c�������������������������������������������������������������������0000664�0000000�0000000�00000067117�12071024546�013522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test whether a file has a nontrivial access control list. Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert, Andreas Grünbacher, and Bruno Haible. */ /* Without this pragma, gcc 4.7.0 20120126 may suggest that the file_has_acl function might be candidate for attribute 'const' */ #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=const" #endif #include <config.h> #include "acl.h" #include "acl-internal.h" #if USE_ACL && HAVE_ACL_GET_FILE # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ /* ACL is an ACL, from a file, stored as type ACL_TYPE_EXTENDED. Return 1 if the given ACL is non-trivial. Return 0 if it is trivial. */ int acl_extended_nontrivial (acl_t acl) { /* acl is non-trivial if it is non-empty. */ return (acl_entries (acl) > 0); } # else /* Linux, FreeBSD, IRIX, Tru64 */ /* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS. Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. Return -1 and set errno upon failure to determine it. */ int acl_access_nontrivial (acl_t acl) { /* acl is non-trivial if it has some entries other than for "user::", "group::", and "other::". Normally these three should be present at least, allowing us to write return (3 < acl_entries (acl)); but the following code is more robust. */ # if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */ acl_entry_t ace; int got_one; for (got_one = acl_get_entry (acl, ACL_FIRST_ENTRY, &ace); got_one > 0; got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace)) { acl_tag_t tag; if (acl_get_tag_type (ace, &tag) < 0) return -1; if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) return 1; } return got_one; # else /* IRIX, Tru64 */ # if HAVE_ACL_TO_SHORT_TEXT /* IRIX */ /* Don't use acl_get_entry: it is undocumented. */ int count = acl->acl_cnt; int i; for (i = 0; i < count; i++) { acl_entry_t ace = &acl->acl_entry[i]; acl_tag_t tag = ace->ae_tag; if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER_OBJ)) return 1; } return 0; # endif # if HAVE_ACL_FREE_TEXT /* Tru64 */ /* Don't use acl_get_entry: it takes only one argument and does not work. */ int count = acl->acl_num; acl_entry_t ace; for (ace = acl->acl_first; count > 0; ace = ace->next, count--) { acl_tag_t tag; acl_perm_t perm; tag = ace->entry->acl_type; if (!(tag == ACL_USER_OBJ || tag == ACL_GROUP_OBJ || tag == ACL_OTHER)) return 1; perm = ace->entry->acl_perm; /* On Tru64, perm can also contain non-standard bits such as PERM_INSERT, PERM_DELETE, PERM_MODIFY, PERM_LOOKUP, ... */ if ((perm & ~(ACL_READ | ACL_WRITE | ACL_EXECUTE)) != 0) return 1; } return 0; # endif # endif } # endif #elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ /* Test an ACL retrieved with GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_nontrivial (int count, aclent_t *entries) { int i; for (i = 0; i < count; i++) { aclent_t *ace = &entries[i]; /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). We don't need to check ace->a_id in these cases. */ if (!(ace->a_type == USER_OBJ || ace->a_type == GROUP_OBJ || ace->a_type == OTHER_OBJ /* Note: Cygwin does not return a CLASS_OBJ ("mask:") entry sometimes. */ || ace->a_type == CLASS_OBJ)) return 1; } return 0; } # ifdef ACE_GETACL /* A shortcut for a bitmask. */ # define NEW_ACE_WRITEA_DATA (NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA) /* Test an ACL retrieved with ACE_GETACL. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_ace_nontrivial (int count, ace_t *entries) { int i; /* The flags in the ace_t structure changed in a binary incompatible way when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15. How to distinguish the two conventions at runtime? In the old convention, usually three ACEs have a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new convention, these values are not used. */ int old_convention = 0; for (i = 0; i < count; i++) if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) { old_convention = 1; break; } if (old_convention) /* Running on Solaris 10. */ for (i = 0; i < count; i++) { ace_t *ace = &entries[i]; /* Note: If ace->a_flags = ACE_OWNER, ace->a_who is the st_uid from stat(). If ace->a_flags = ACE_GROUP, ace->a_who is the st_gid from stat(). We don't need to check ace->a_who in these cases. */ if (!(ace->a_type == OLD_ALLOW && (ace->a_flags == OLD_ACE_OWNER || ace->a_flags == OLD_ACE_GROUP || ace->a_flags == OLD_ACE_OTHER))) return 1; } else { /* Running on Solaris 10 (newer version) or Solaris 11. */ unsigned int access_masks[6] = { 0, /* owner@ deny */ 0, /* owner@ allow */ 0, /* group@ deny */ 0, /* group@ allow */ 0, /* everyone@ deny */ 0 /* everyone@ allow */ }; for (i = 0; i < count; i++) { ace_t *ace = &entries[i]; unsigned int index1; unsigned int index2; if (ace->a_type == NEW_ACE_ACCESS_ALLOWED_ACE_TYPE) index1 = 1; else if (ace->a_type == NEW_ACE_ACCESS_DENIED_ACE_TYPE) index1 = 0; else return 1; if (ace->a_flags == NEW_ACE_OWNER) index2 = 0; else if (ace->a_flags == (NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP)) index2 = 2; else if (ace->a_flags == NEW_ACE_EVERYONE) index2 = 4; else return 1; access_masks[index1 + index2] |= ace->a_access_mask; } /* The same bit shouldn't be both allowed and denied. */ if (access_masks[0] & access_masks[1]) return 1; if (access_masks[2] & access_masks[3]) return 1; if (access_masks[4] & access_masks[5]) return 1; /* Check minimum masks. */ if ((NEW_ACE_WRITE_NAMED_ATTRS | NEW_ACE_WRITE_ATTRIBUTES | NEW_ACE_WRITE_ACL | NEW_ACE_WRITE_OWNER) & ~ access_masks[1]) return 1; access_masks[1] &= ~(NEW_ACE_WRITE_NAMED_ATTRS | NEW_ACE_WRITE_ATTRIBUTES | NEW_ACE_WRITE_ACL | NEW_ACE_WRITE_OWNER); if ((NEW_ACE_READ_NAMED_ATTRS | NEW_ACE_READ_ATTRIBUTES | NEW_ACE_READ_ACL | NEW_ACE_SYNCHRONIZE) & ~ access_masks[5]) return 1; access_masks[5] &= ~(NEW_ACE_READ_NAMED_ATTRS | NEW_ACE_READ_ATTRIBUTES | NEW_ACE_READ_ACL | NEW_ACE_SYNCHRONIZE); /* Check the allowed or denied bits. */ switch ((access_masks[0] | access_masks[1]) & ~(NEW_ACE_READ_NAMED_ATTRS | NEW_ACE_READ_ATTRIBUTES | NEW_ACE_READ_ACL | NEW_ACE_SYNCHRONIZE)) { case 0: case NEW_ACE_READ_DATA: case NEW_ACE_WRITEA_DATA: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: case NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: break; default: return 1; } switch ((access_masks[2] | access_masks[3]) & ~(NEW_ACE_READ_NAMED_ATTRS | NEW_ACE_READ_ATTRIBUTES | NEW_ACE_READ_ACL | NEW_ACE_SYNCHRONIZE)) { case 0: case NEW_ACE_READ_DATA: case NEW_ACE_WRITEA_DATA: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: case NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: break; default: return 1; } switch ((access_masks[4] | access_masks[5]) & ~(NEW_ACE_WRITE_NAMED_ATTRS | NEW_ACE_WRITE_ATTRIBUTES | NEW_ACE_WRITE_ACL | NEW_ACE_WRITE_OWNER)) { case 0: case NEW_ACE_READ_DATA: case NEW_ACE_WRITEA_DATA: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA: case NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_EXECUTE: case NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: case NEW_ACE_READ_DATA | NEW_ACE_WRITEA_DATA | NEW_ACE_EXECUTE: break; default: return 1; } /* Check that the NEW_ACE_WRITE_DATA and NEW_ACE_APPEND_DATA bits are either both allowed or both denied. */ if (((access_masks[0] & NEW_ACE_WRITE_DATA) != 0) != ((access_masks[0] & NEW_ACE_APPEND_DATA) != 0)) return 1; if (((access_masks[2] & NEW_ACE_WRITE_DATA) != 0) != ((access_masks[2] & NEW_ACE_APPEND_DATA) != 0)) return 1; if (((access_masks[4] & NEW_ACE_WRITE_DATA) != 0) != ((access_masks[4] & NEW_ACE_APPEND_DATA) != 0)) return 1; } return 0; } # endif #elif USE_ACL && HAVE_GETACL /* HP-UX */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_nontrivial (int count, struct acl_entry *entries, struct stat *sb) { int i; for (i = 0; i < count; i++) { struct acl_entry *ace = &entries[i]; if (!((ace->uid == sb->st_uid && ace->gid == ACL_NSGROUP) || (ace->uid == ACL_NSUSER && ace->gid == sb->st_gid) || (ace->uid == ACL_NSUSER && ace->gid == ACL_NSGROUP))) return 1; } return 0; } # if HAVE_ACLV_H /* HP-UX >= 11.11 */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int aclv_nontrivial (int count, struct acl *entries) { int i; for (i = 0; i < count; i++) { struct acl *ace = &entries[i]; /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). We don't need to check ace->a_id in these cases. */ if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ || ace->a_type == CLASS_OBJ || ace->a_type == OTHER_OBJ)) return 1; } return 0; } # endif #elif USE_ACL && (HAVE_ACLX_GET || HAVE_STATACL) /* AIX */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_nontrivial (struct acl *a) { /* The normal way to iterate through an ACL is like this: struct acl_entry *ace; for (ace = a->acl_ext; ace != acl_last (a); ace = acl_nxt (ace)) { struct ace_id *aei; switch (ace->ace_type) { case ACC_PERMIT: case ACC_DENY: case ACC_SPECIFY: ...; } for (aei = ace->ace_id; aei != id_last (ace); aei = id_nxt (aei)) ... } */ return (acl_last (a) != a->acl_ext ? 1 : 0); } # if HAVE_ACLX_GET && defined ACL_AIX_WIP /* newer AIX */ /* Return 1 if the given ACL is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_nfs4_nontrivial (nfs4_acl_int_t *a) { # if 1 /* let's try this first */ return (a->aclEntryN > 0 ? 1 : 0); # else int count = a->aclEntryN; int i; for (i = 0; i < count; i++) { nfs4_ace_int_t *ace = &a->aclEntry[i]; if (!((ace->flags & ACE4_ID_SPECIAL) != 0 && (ace->aceWho.special_whoid == ACE4_WHO_OWNER || ace->aceWho.special_whoid == ACE4_WHO_GROUP || ace->aceWho.special_whoid == ACE4_WHO_EVERYONE) && ace->aceType == ACE4_ACCESS_ALLOWED_ACE_TYPE && ace->aceFlags == 0 && (ace->aceMask & ~(ACE4_READ_DATA | ACE4_LIST_DIRECTORY | ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_EXECUTE)) == 0)) return 1; } return 0; # endif } # endif #elif USE_ACL && HAVE_ACLSORT /* NonStop Kernel */ /* Test an ACL retrieved with ACL_GET. Return 1 if the given ACL, consisting of COUNT entries, is non-trivial. Return 0 if it is trivial, i.e. equivalent to a simple stat() mode. */ int acl_nontrivial (int count, struct acl *entries) { int i; for (i = 0; i < count; i++) { struct acl *ace = &entries[i]; /* Note: If ace->a_type = USER_OBJ, ace->a_id is the st_uid from stat(). If ace->a_type = GROUP_OBJ, ace->a_id is the st_gid from stat(). We don't need to check ace->a_id in these cases. */ if (!(ace->a_type == USER_OBJ /* no need to check ace->a_id here */ || ace->a_type == GROUP_OBJ /* no need to check ace->a_id here */ || ace->a_type == CLASS_OBJ || ace->a_type == OTHER_OBJ)) return 1; } return 0; } #endif /* Return 1 if NAME has a nontrivial access control list, 0 if NAME only has no or a base access control list, and -1 (setting errno) on error. SB must be set to the stat buffer of NAME, obtained through stat() or lstat(). */ int file_has_acl (char const *name, struct stat const *sb) { #if USE_ACL if (! S_ISLNK (sb->st_mode)) { # if HAVE_ACL_GET_FILE /* POSIX 1003.1e (draft 17 -- abandoned) specific version. */ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ int ret; if (HAVE_ACL_EXTENDED_FILE) /* Linux */ { /* On Linux, acl_extended_file is an optimized function: It only makes two calls to getxattr(), one for ACL_TYPE_ACCESS, one for ACL_TYPE_DEFAULT. */ ret = acl_extended_file (name); } else /* FreeBSD, Mac OS X, IRIX, Tru64 */ { # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) always return NULL / EINVAL. There is no point in making these two useless calls. The real ACL is retrieved through acl_get_file (name, ACL_TYPE_EXTENDED). */ acl_t acl = acl_get_file (name, ACL_TYPE_EXTENDED); if (acl) { ret = acl_extended_nontrivial (acl); acl_free (acl); } else ret = -1; # else /* FreeBSD, IRIX, Tru64 */ acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS); if (acl) { int saved_errno; ret = acl_access_nontrivial (acl); saved_errno = errno; acl_free (acl); errno = saved_errno; # if HAVE_ACL_FREE_TEXT /* Tru64 */ /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always returns NULL with errno not set. There is no point in making this call. */ # else /* FreeBSD, IRIX */ /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory either both succeed or both fail; it depends on the file system. Therefore there is no point in making the second call if the first one already failed. */ if (ret == 0 && S_ISDIR (sb->st_mode)) { acl = acl_get_file (name, ACL_TYPE_DEFAULT); if (acl) { ret = (0 < acl_entries (acl)); acl_free (acl); } else ret = -1; } # endif } else ret = -1; # endif } if (ret < 0) return ACL_NOT_WELL_SUPPORTED (errno) ? 0 : -1; return ret; # elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ # if defined ACL_NO_TRIVIAL /* Solaris 10 (newer version), which has additional API declared in <sys/acl.h> (acl_t) and implemented in libsec (acl_set, acl_trivial, acl_fromtext, ...). */ return acl_trivial (name); # else /* Solaris, Cygwin, general case */ /* Solaris 2.5 through Solaris 10, Cygwin, and contemporaneous versions of Unixware. The acl() call returns the access and default ACL both at once. */ { /* Initially, try to read the entries into a stack-allocated buffer. Use malloc if it does not fit. */ enum { alloc_init = 4000 / sizeof (aclent_t), /* >= 3 */ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (aclent_t)) }; aclent_t buf[alloc_init]; size_t alloc = alloc_init; aclent_t *entries = buf; aclent_t *malloced = NULL; int count; for (;;) { count = acl (name, GETACL, alloc, entries); if (count < 0 && errno == ENOSPC) { /* Increase the size of the buffer. */ free (malloced); if (alloc > alloc_max / 2) { errno = ENOMEM; return -1; } alloc = 2 * alloc; /* <= alloc_max */ entries = malloced = (aclent_t *) malloc (alloc * sizeof (aclent_t)); if (entries == NULL) { errno = ENOMEM; return -1; } continue; } break; } if (count < 0) { if (errno == ENOSYS || errno == ENOTSUP) ; else { int saved_errno = errno; free (malloced); errno = saved_errno; return -1; } } else if (count == 0) ; else { /* Don't use MIN_ACL_ENTRIES: It's set to 4 on Cygwin, but Cygwin returns only 3 entries for files with no ACL. But this is safe: If there are more than 4 entries, there cannot be only the "user::", "group::", "other:", and "mask:" entries. */ if (count > 4) { free (malloced); return 1; } if (acl_nontrivial (count, entries)) { free (malloced); return 1; } } free (malloced); } # ifdef ACE_GETACL /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 file systems (whereas the other ones are used in UFS file systems). */ { /* Initially, try to read the entries into a stack-allocated buffer. Use malloc if it does not fit. */ enum { alloc_init = 4000 / sizeof (ace_t), /* >= 3 */ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t)) }; ace_t buf[alloc_init]; size_t alloc = alloc_init; ace_t *entries = buf; ace_t *malloced = NULL; int count; for (;;) { count = acl (name, ACE_GETACL, alloc, entries); if (count < 0 && errno == ENOSPC) { /* Increase the size of the buffer. */ free (malloced); if (alloc > alloc_max / 2) { errno = ENOMEM; return -1; } alloc = 2 * alloc; /* <= alloc_max */ entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t)); if (entries == NULL) { errno = ENOMEM; return -1; } continue; } break; } if (count < 0) { if (errno == ENOSYS || errno == EINVAL) ; else { int saved_errno = errno; free (malloced); errno = saved_errno; return -1; } } else if (count == 0) ; else { /* In the old (original Solaris 10) convention: If there are more than 3 entries, there cannot be only the ACE_OWNER, ACE_GROUP, ACE_OTHER entries. In the newer Solaris 10 and Solaris 11 convention: If there are more than 6 entries, there cannot be only the ACE_OWNER, ACE_GROUP, ACE_EVERYONE entries, each once with NEW_ACE_ACCESS_ALLOWED_ACE_TYPE and once with NEW_ACE_ACCESS_DENIED_ACE_TYPE. */ if (count > 6) { free (malloced); return 1; } if (acl_ace_nontrivial (count, entries)) { free (malloced); return 1; } } free (malloced); } # endif return 0; # endif # elif HAVE_GETACL /* HP-UX */ { struct acl_entry entries[NACLENTRIES]; int count; count = getacl (name, NACLENTRIES, entries); if (count < 0) { /* ENOSYS is seen on newer HP-UX versions. EOPNOTSUPP is typically seen on NFS mounts. ENOTSUP was seen on Quantum StorNext file systems (cvfs). */ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP) ; else return -1; } else if (count == 0) return 0; else /* count > 0 */ { if (count > NACLENTRIES) /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); /* If there are more than 3 entries, there cannot be only the (uid,%), (%,gid), (%,%) entries. */ if (count > 3) return 1; { struct stat statbuf; if (stat (name, &statbuf) < 0) return -1; return acl_nontrivial (count, entries, &statbuf); } } } # if HAVE_ACLV_H /* HP-UX >= 11.11 */ { struct acl entries[NACLVENTRIES]; int count; count = acl ((char *) name, ACL_GET, NACLVENTRIES, entries); if (count < 0) { /* EOPNOTSUPP is seen on NFS in HP-UX 11.11, 11.23. EINVAL is seen on NFS in HP-UX 11.31. */ if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) ; else return -1; } else if (count == 0) return 0; else /* count > 0 */ { if (count > NACLVENTRIES) /* If NACLVENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); /* If there are more than 4 entries, there cannot be only the four base ACL entries. */ if (count > 4) return 1; return aclv_nontrivial (count, entries); } } # endif # elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */ acl_type_t type; char aclbuf[1024]; void *acl = aclbuf; size_t aclsize = sizeof (aclbuf); mode_t mode; for (;;) { /* The docs say that type being 0 is equivalent to ACL_ANY, but it is not true, in AIX 5.3. */ type.u64 = ACL_ANY; if (aclx_get (name, 0, &type, aclbuf, &aclsize, &mode) >= 0) break; if (errno == ENOSYS) return 0; if (errno != ENOSPC) { if (acl != aclbuf) { int saved_errno = errno; free (acl); errno = saved_errno; } return -1; } aclsize = 2 * aclsize; if (acl != aclbuf) free (acl); acl = malloc (aclsize); if (acl == NULL) { errno = ENOMEM; return -1; } } if (type.u64 == ACL_AIXC) { int result = acl_nontrivial ((struct acl *) acl); if (acl != aclbuf) free (acl); return result; } else if (type.u64 == ACL_NFS4) { int result = acl_nfs4_nontrivial ((nfs4_acl_int_t *) acl); if (acl != aclbuf) free (acl); return result; } else { /* A newer type of ACL has been introduced in the system. We should better support it. */ if (acl != aclbuf) free (acl); errno = EINVAL; return -1; } # elif HAVE_STATACL /* older AIX */ union { struct acl a; char room[4096]; } u; if (statacl (name, STX_NORMAL, &u.a, sizeof (u)) < 0) return -1; return acl_nontrivial (&u.a); # elif HAVE_ACLSORT /* NonStop Kernel */ { struct acl entries[NACLENTRIES]; int count; count = acl ((char *) name, ACL_GET, NACLENTRIES, entries); if (count < 0) { if (errno == ENOSYS || errno == ENOTSUP) ; else return -1; } else if (count == 0) return 0; else /* count > 0 */ { if (count > NACLENTRIES) /* If NACLENTRIES cannot be trusted, use dynamic memory allocation. */ abort (); /* If there are more than 4 entries, there cannot be only the four base ACL entries. */ if (count > 4) return 1; return acl_nontrivial (count, entries); } } # endif } #endif return 0; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/i-ring.c�������������������������������������������������������������������������0000664�0000000�0000000�00000003410�12071024546�012444� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* a simple ring buffer Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include "i-ring.h" #include <stdlib.h> void i_ring_init (I_ring *ir, int default_val) { int i; ir->ir_empty = true; ir->ir_front = 0; ir->ir_back = 0; for (i = 0; i < I_RING_SIZE; i++) ir->ir_data[i] = default_val; ir->ir_default_val = default_val; } bool i_ring_empty (I_ring const *ir) { return ir->ir_empty; } int i_ring_push (I_ring *ir, int val) { unsigned int dest_idx = (ir->ir_front + !ir->ir_empty) % I_RING_SIZE; int old_val = ir->ir_data[dest_idx]; ir->ir_data[dest_idx] = val; ir->ir_front = dest_idx; if (dest_idx == ir->ir_back) ir->ir_back = (ir->ir_back + !ir->ir_empty) % I_RING_SIZE; ir->ir_empty = false; return old_val; } int i_ring_pop (I_ring *ir) { int top_val; if (i_ring_empty (ir)) abort (); top_val = ir->ir_data[ir->ir_front]; ir->ir_data[ir->ir_front] = ir->ir_default_val; if (ir->ir_front == ir->ir_back) ir->ir_empty = true; else ir->ir_front = ((ir->ir_front + I_RING_SIZE - 1) % I_RING_SIZE); return top_val; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hard-locale.h��������������������������������������������������������������������0000664�0000000�0000000�00000001571�12071024546�013445� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether a locale is hard. Copyright (C) 1999, 2003-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef HARD_LOCALE_H_ # define HARD_LOCALE_H_ 1 # include <stdbool.h> bool hard_locale (int); #endif /* HARD_LOCALE_H_ */ ���������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hash-pjw.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002335�12071024546�013005� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hash-pjw.c -- compute a hash value from a NUL-terminated string. Copyright (C) 2001, 2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "hash-pjw.h" #include <limits.h> #define SIZE_BITS (sizeof (size_t) * CHAR_BIT) /* A hash function for NUL-terminated char* strings using the method described by Bruno Haible. See http://www.haible.de/bruno/hashfunc.html. */ size_t hash_pjw (const void *x, size_t tablesize) { const char *s; size_t h = 0; for (s = x; *s; s++) h = *s + ((h << 9) | (h >> (SIZE_BITS - 9))); return h % tablesize; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/cloexec.c������������������������������������������������������������������������0000664�0000000�0000000�00000004427�12071024546�012712� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* closexec.c - set or clear the close-on-exec descriptor flag Copyright (C) 1991, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. The code is taken from glibc/manual/llio.texi */ #include <config.h> #include "cloexec.h" #include <errno.h> #include <fcntl.h> #include <unistd.h> /* Set the 'FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. Return 0 on success, or -1 on error with 'errno' set. Note that on MingW, this function does NOT protect DESC from being inherited into spawned children. Instead, either use dup_cloexec followed by closing the original DESC, or use interfaces such as open or pipe2 that accept flags like O_CLOEXEC to create DESC non-inheritable in the first place. */ int set_cloexec_flag (int desc, bool value) { #ifdef F_SETFD int flags = fcntl (desc, F_GETFD, 0); if (0 <= flags) { int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC); if (flags == newflags || fcntl (desc, F_SETFD, newflags) != -1) return 0; } return -1; #else /* !F_SETFD */ /* Use dup2 to reject invalid file descriptors; the cloexec flag will be unaffected. */ if (desc < 0) { errno = EBADF; return -1; } if (dup2 (desc, desc) < 0) /* errno is EBADF here. */ return -1; /* There is nothing we can do on this kind of platform. Punt. */ return 0; #endif /* !F_SETFD */ } /* Duplicates a file handle FD, while marking the copy to be closed prior to exec or spawn. Returns -1 and sets errno if FD could not be duplicated. */ int dup_cloexec (int fd) { return fcntl (fd, F_DUPFD_CLOEXEC, 0); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ref-add.sin����������������������������������������������������������������������0000664�0000000�0000000�00000001752�12071561012�013131� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Add this package to a list of references stored in a text file. # # Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, see <http://www.gnu.org/licenses/>. # # Written by Bruno Haible <haible@clisp.cons.org>. # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } ����������������������coreutils-8.21/lib/strerror-override.c��������������������������������������������������������������0000664�0000000�0000000�00000021465�12071024546�014770� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* strerror-override.c --- POSIX compatible system error routine Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2010. */ #include <config.h> #include "strerror-override.h" #include <errno.h> #if GNULIB_defined_EWINSOCK /* native Windows platforms */ # if HAVE_WINSOCK2_H # include <winsock2.h> # endif #endif /* If ERRNUM maps to an errno value defined by gnulib, return a string describing the error. Otherwise return NULL. */ const char * strerror_override (int errnum) { /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ switch (errnum) { #if REPLACE_STRERROR_0 case 0: return "Success"; #endif #if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */ case EINPROGRESS: return "Operation now in progress"; case EALREADY: return "Operation already in progress"; case ENOTSOCK: return "Socket operation on non-socket"; case EDESTADDRREQ: return "Destination address required"; case EMSGSIZE: return "Message too long"; case EPROTOTYPE: return "Protocol wrong type for socket"; case ENOPROTOOPT: return "Protocol not available"; case EPROTONOSUPPORT: return "Protocol not supported"; case EOPNOTSUPP: return "Operation not supported"; case EAFNOSUPPORT: return "Address family not supported by protocol"; case EADDRINUSE: return "Address already in use"; case EADDRNOTAVAIL: return "Cannot assign requested address"; case ENETDOWN: return "Network is down"; case ENETUNREACH: return "Network is unreachable"; case ECONNRESET: return "Connection reset by peer"; case ENOBUFS: return "No buffer space available"; case EISCONN: return "Transport endpoint is already connected"; case ENOTCONN: return "Transport endpoint is not connected"; case ETIMEDOUT: return "Connection timed out"; case ECONNREFUSED: return "Connection refused"; case ELOOP: return "Too many levels of symbolic links"; case EHOSTUNREACH: return "No route to host"; case EWOULDBLOCK: return "Operation would block"; #endif #if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */ case ETXTBSY: return "Text file busy"; case ENODATA: return "No data available"; case ENOSR: return "Out of streams resources"; case ENOSTR: return "Device not a stream"; case ETIME: return "Timer expired"; case EOTHER: return "Other error"; #endif #if GNULIB_defined_EWINSOCK /* native Windows platforms */ case ESOCKTNOSUPPORT: return "Socket type not supported"; case EPFNOSUPPORT: return "Protocol family not supported"; case ESHUTDOWN: return "Cannot send after transport endpoint shutdown"; case ETOOMANYREFS: return "Too many references: cannot splice"; case EHOSTDOWN: return "Host is down"; case EPROCLIM: return "Too many processes"; case EUSERS: return "Too many users"; case EDQUOT: return "Disk quota exceeded"; case ESTALE: return "Stale NFS file handle"; case EREMOTE: return "Object is remote"; # if HAVE_WINSOCK2_H /* WSA_INVALID_HANDLE maps to EBADF */ /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ /* WSA_INVALID_PARAMETER maps to EINVAL */ case WSA_OPERATION_ABORTED: return "Overlapped operation aborted"; case WSA_IO_INCOMPLETE: return "Overlapped I/O event object not in signaled state"; case WSA_IO_PENDING: return "Overlapped operations will complete later"; /* WSAEINTR maps to EINTR */ /* WSAEBADF maps to EBADF */ /* WSAEACCES maps to EACCES */ /* WSAEFAULT maps to EFAULT */ /* WSAEINVAL maps to EINVAL */ /* WSAEMFILE maps to EMFILE */ /* WSAEWOULDBLOCK maps to EWOULDBLOCK */ /* WSAEINPROGRESS maps to EINPROGRESS */ /* WSAEALREADY maps to EALREADY */ /* WSAENOTSOCK maps to ENOTSOCK */ /* WSAEDESTADDRREQ maps to EDESTADDRREQ */ /* WSAEMSGSIZE maps to EMSGSIZE */ /* WSAEPROTOTYPE maps to EPROTOTYPE */ /* WSAENOPROTOOPT maps to ENOPROTOOPT */ /* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */ /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */ /* WSAEOPNOTSUPP maps to EOPNOTSUPP */ /* WSAEPFNOSUPPORT is EPFNOSUPPORT */ /* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */ /* WSAEADDRINUSE maps to EADDRINUSE */ /* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */ /* WSAENETDOWN maps to ENETDOWN */ /* WSAENETUNREACH maps to ENETUNREACH */ /* WSAENETRESET maps to ENETRESET */ /* WSAECONNABORTED maps to ECONNABORTED */ /* WSAECONNRESET maps to ECONNRESET */ /* WSAENOBUFS maps to ENOBUFS */ /* WSAEISCONN maps to EISCONN */ /* WSAENOTCONN maps to ENOTCONN */ /* WSAESHUTDOWN is ESHUTDOWN */ /* WSAETOOMANYREFS is ETOOMANYREFS */ /* WSAETIMEDOUT maps to ETIMEDOUT */ /* WSAECONNREFUSED maps to ECONNREFUSED */ /* WSAELOOP maps to ELOOP */ /* WSAENAMETOOLONG maps to ENAMETOOLONG */ /* WSAEHOSTDOWN is EHOSTDOWN */ /* WSAEHOSTUNREACH maps to EHOSTUNREACH */ /* WSAENOTEMPTY maps to ENOTEMPTY */ /* WSAEPROCLIM is EPROCLIM */ /* WSAEUSERS is EUSERS */ /* WSAEDQUOT is EDQUOT */ /* WSAESTALE is ESTALE */ /* WSAEREMOTE is EREMOTE */ case WSASYSNOTREADY: return "Network subsystem is unavailable"; case WSAVERNOTSUPPORTED: return "Winsock.dll version out of range"; case WSANOTINITIALISED: return "Successful WSAStartup not yet performed"; case WSAEDISCON: return "Graceful shutdown in progress"; case WSAENOMORE: case WSA_E_NO_MORE: return "No more results"; case WSAECANCELLED: case WSA_E_CANCELLED: return "Call was canceled"; case WSAEINVALIDPROCTABLE: return "Procedure call table is invalid"; case WSAEINVALIDPROVIDER: return "Service provider is invalid"; case WSAEPROVIDERFAILEDINIT: return "Service provider failed to initialize"; case WSASYSCALLFAILURE: return "System call failure"; case WSASERVICE_NOT_FOUND: return "Service not found"; case WSATYPE_NOT_FOUND: return "Class type not found"; case WSAEREFUSED: return "Database query was refused"; case WSAHOST_NOT_FOUND: return "Host not found"; case WSATRY_AGAIN: return "Nonauthoritative host not found"; case WSANO_RECOVERY: return "Nonrecoverable error"; case WSANO_DATA: return "Valid name, no data record of requested type"; /* WSA_QOS_* omitted */ # endif #endif #if GNULIB_defined_ENOMSG case ENOMSG: return "No message of desired type"; #endif #if GNULIB_defined_EIDRM case EIDRM: return "Identifier removed"; #endif #if GNULIB_defined_ENOLINK case ENOLINK: return "Link has been severed"; #endif #if GNULIB_defined_EPROTO case EPROTO: return "Protocol error"; #endif #if GNULIB_defined_EMULTIHOP case EMULTIHOP: return "Multihop attempted"; #endif #if GNULIB_defined_EBADMSG case EBADMSG: return "Bad message"; #endif #if GNULIB_defined_EOVERFLOW case EOVERFLOW: return "Value too large for defined data type"; #endif #if GNULIB_defined_ENOTSUP case ENOTSUP: return "Not supported"; #endif #if GNULIB_defined_ENETRESET case ENETRESET: return "Network dropped connection on reset"; #endif #if GNULIB_defined_ECONNABORTED case ECONNABORTED: return "Software caused connection abort"; #endif #if GNULIB_defined_ESTALE case ESTALE: return "Stale NFS file handle"; #endif #if GNULIB_defined_EDQUOT case EDQUOT: return "Disk quota exceeded"; #endif #if GNULIB_defined_ECANCELED case ECANCELED: return "Operation canceled"; #endif #if GNULIB_defined_EOWNERDEAD case EOWNERDEAD: return "Owner died"; #endif #if GNULIB_defined_ENOTRECOVERABLE case ENOTRECOVERABLE: return "State not recoverable"; #endif #if GNULIB_defined_EILSEQ case EILSEQ: return "Invalid or incomplete multibyte or wide character"; #endif default: return NULL; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open.c���������������������������������������������������������������������0000664�0000000�0000000�00000012676�12071561010�013424� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Character set conversion. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <iconv.h> #include <errno.h> #include <string.h> #include "c-ctype.h" #include "c-strcase.h" #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) /* Namespace cleanliness. */ #define mapping_lookup rpl_iconv_open_mapping_lookup /* The macro ICONV_FLAVOR is defined to one of these or undefined. */ #define ICONV_FLAVOR_AIX "iconv_open-aix.h" #define ICONV_FLAVOR_HPUX "iconv_open-hpux.h" #define ICONV_FLAVOR_IRIX "iconv_open-irix.h" #define ICONV_FLAVOR_OSF "iconv_open-osf.h" #define ICONV_FLAVOR_SOLARIS "iconv_open-solaris.h" #ifdef ICONV_FLAVOR # include ICONV_FLAVOR #endif iconv_t rpl_iconv_open (const char *tocode, const char *fromcode) #undef iconv_open { char fromcode_upper[32]; char tocode_upper[32]; char *fromcode_upper_end; char *tocode_upper_end; #if REPLACE_ICONV_UTF /* Special handling of conversion between UTF-8 and UTF-{16,32}{BE,LE}. Do this here, before calling the real iconv_open(), because OSF/1 5.1 iconv() to these encoding inserts a BOM, which is wrong. We do not need to handle conversion between arbitrary encodings and UTF-{16,32}{BE,LE}, because the 'striconveh' module implements two-step conversion through UTF-8. The _ICONV_* constants are chosen to be disjoint from any iconv_t returned by the system's iconv_open() functions. Recall that iconv_t is a scalar type. */ if (c_toupper (fromcode[0]) == 'U' && c_toupper (fromcode[1]) == 'T' && c_toupper (fromcode[2]) == 'F' && fromcode[3] == '-') { if (c_toupper (tocode[0]) == 'U' && c_toupper (tocode[1]) == 'T' && c_toupper (tocode[2]) == 'F' && tocode[3] == '-') { if (strcmp (fromcode + 4, "8") == 0) { if (c_strcasecmp (tocode + 4, "16BE") == 0) return _ICONV_UTF8_UTF16BE; if (c_strcasecmp (tocode + 4, "16LE") == 0) return _ICONV_UTF8_UTF16LE; if (c_strcasecmp (tocode + 4, "32BE") == 0) return _ICONV_UTF8_UTF32BE; if (c_strcasecmp (tocode + 4, "32LE") == 0) return _ICONV_UTF8_UTF32LE; } else if (strcmp (tocode + 4, "8") == 0) { if (c_strcasecmp (fromcode + 4, "16BE") == 0) return _ICONV_UTF16BE_UTF8; if (c_strcasecmp (fromcode + 4, "16LE") == 0) return _ICONV_UTF16LE_UTF8; if (c_strcasecmp (fromcode + 4, "32BE") == 0) return _ICONV_UTF32BE_UTF8; if (c_strcasecmp (fromcode + 4, "32LE") == 0) return _ICONV_UTF32LE_UTF8; } } } #endif /* Do *not* add special support for 8-bit encodings like ASCII or ISO-8859-1 here. This would lead to programs that work in some locales (such as the "C" or "en_US" locales) but do not work in East Asian locales. It is better if programmers make their programs depend on GNU libiconv (except on glibc systems), e.g. by using the AM_ICONV macro and documenting the dependency in an INSTALL or DEPENDENCIES file. */ /* Try with the original names first. This covers the case when fromcode or tocode is a lowercase encoding name that is understood by the system's iconv_open but not listed in our mappings table. */ { iconv_t cd = iconv_open (tocode, fromcode); if (cd != (iconv_t)(-1)) return cd; } /* Convert the encodings to upper case, because 1. in the arguments of iconv_open() on AIX, HP-UX, and OSF/1 the case matters, 2. it makes searching in the table faster. */ { const char *p = fromcode; char *q = fromcode_upper; while ((*q = c_toupper (*p)) != '\0') { p++; q++; if (q == &fromcode_upper[SIZEOF (fromcode_upper)]) { errno = EINVAL; return (iconv_t)(-1); } } fromcode_upper_end = q; } { const char *p = tocode; char *q = tocode_upper; while ((*q = c_toupper (*p)) != '\0') { p++; q++; if (q == &tocode_upper[SIZEOF (tocode_upper)]) { errno = EINVAL; return (iconv_t)(-1); } } tocode_upper_end = q; } #ifdef ICONV_FLAVOR /* Apply the mappings. */ { const struct mapping *m = mapping_lookup (fromcode_upper, fromcode_upper_end - fromcode_upper); fromcode = (m != NULL ? m->vendor_name : fromcode_upper); } { const struct mapping *m = mapping_lookup (tocode_upper, tocode_upper_end - tocode_upper); tocode = (m != NULL ? m->vendor_name : tocode_upper); } #else fromcode = fromcode_upper; tocode = tocode_upper; #endif return iconv_open (tocode, fromcode); } ������������������������������������������������������������������coreutils-8.21/lib/diacrit.h������������������������������������������������������������������������0000664�0000000�0000000�00000002432�12071024546�012706� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Diacritics processing for a few character codes. Copyright (C) 1990-1993, 2009-2013 Free Software Foundation, Inc. François Pinard <pinard@iro.umontreal.ca>, 1988. All this file is a temporary hack, waiting for locales in GNU. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ extern const char diacrit_base[]; /* characters without diacritics */ extern const char diacrit_diac[]; /* diacritic code for each character */ /* Returns CHAR without its diacritic. CHAR is known to be alphabetic. */ #define tobase(Char) (diacrit_base[(unsigned char) (Char)]) /* Returns a diacritic code for CHAR. CHAR is known to be alphabetic. */ #define todiac(Char) (diacrit_diac[(unsigned char) (Char)]) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/uinttostr.c����������������������������������������������������������������������0000664�0000000�0000000�00000000116�11624727634�013345� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define anytostr uinttostr #define inttype unsigned int #include "anytostr.c" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-irix.gperf������������������������������������������������������������0000664�0000000�0000000�00000001364�11624727634�015271� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On IRIX 6.5, look in /usr/lib/iconv and /usr/lib/international/encodings. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" KOI8-R, "KOI8" CP855, "DOS855" CP1251, "WIN1251" GB2312, "eucCN" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" SHIFT_JIS, "sjis" TIS-620, "TIS620" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fprintftime.c��������������������������������������������������������������������0000664�0000000�0000000�00000000054�11624727634�013622� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define FPRINTFTIME 1 #include "strftime.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-frexpl.c������������������������������������������������������������������0000664�0000000�0000000�00000002100�12071024546�014052� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Specification. */ # include "printf-frexpl.h" # include "printf-frexp.h" long double printf_frexpl (long double x, int *expptr) { return printf_frexp (x, expptr); } #else # define USE_LONG_DOUBLE # include "printf-frexp.c" #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbtowc-impl.h��������������������������������������������������������������������0000664�0000000�0000000�00000002626�12071024546�013526� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert multibyte character to wide character. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* We don't need a static internal state, because the encoding is not state dependent, and when mbrtowc returns (size_t)(-2). we throw the result away. */ int mbtowc (wchar_t *pwc, const char *s, size_t n) { if (s == NULL) return 0; else { mbstate_t state; wchar_t wc; size_t result; memset (&state, 0, sizeof (mbstate_t)); result = mbrtowc (&wc, s, n, &state); if (result == (size_t)-1 || result == (size_t)-2) { errno = EILSEQ; return -1; } if (pwc != NULL) *pwc = wc; return (wc == 0 ? 0 : result); } } ����������������������������������������������������������������������������������������������������������coreutils-8.21/lib/binary-io.h����������������������������������������������������������������������0000664�0000000�0000000�00000004554�12071024545�013166� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Binary mode I/O. Copyright (C) 2001, 2003, 2005, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _BINARY_H #define _BINARY_H /* For systems that distinguish between text and binary I/O. O_BINARY is guaranteed by the gnulib <fcntl.h>. */ #include <fcntl.h> /* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...', so we include it here first. */ #include <stdio.h> _GL_INLINE_HEADER_BEGIN #ifndef BINARY_IO_INLINE # define BINARY_IO_INLINE _GL_INLINE #endif /* set_binary_mode (fd, mode) sets the binary/text I/O mode of file descriptor fd to the given mode (must be O_BINARY or O_TEXT) and returns the previous mode. */ #if O_BINARY # if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__ # include <io.h> /* declares setmode() */ # define set_binary_mode setmode # else # define set_binary_mode _setmode # undef fileno # define fileno _fileno # endif #else /* On reasonable systems, binary I/O is the only choice. */ /* Use a function rather than a macro, to avoid gcc warnings "warning: statement with no effect". */ BINARY_IO_INLINE int set_binary_mode (int fd, int mode) { (void) fd; (void) mode; return O_BINARY; } #endif /* SET_BINARY (fd); changes the file descriptor fd to perform binary I/O. */ #ifdef __DJGPP__ # include <unistd.h> /* declares isatty() */ /* Avoid putting stdin/stdout in binary mode if it is connected to the console, because that would make it impossible for the user to interrupt the program through Ctrl-C or Ctrl-Break. */ # define SET_BINARY(fd) ((void) (!isatty (fd) ? (set_binary_mode (fd, O_BINARY), 0) : 0)) #else # define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY)) #endif _GL_INLINE_HEADER_END #endif /* _BINARY_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/arpa_inet.in.h�������������������������������������������������������������������0000664�0000000�0000000�00000011433�12071561006�013634� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <arpa/inet.h>. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_ARPA_INET_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if @HAVE_FEATURES_H@ # include <features.h> /* for __GLIBC__ */ #endif /* Gnulib's sys/socket.h is responsible for defining socklen_t (used below) and for pulling in winsock2.h etc. under MinGW. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include <sys/socket.h> #endif /* On NonStop Kernel, inet_ntop and inet_pton are declared in <netdb.h>. But avoid namespace pollution on glibc systems. */ #if defined __TANDEM && !defined __GLIBC__ # include <netdb.h> #endif #if @HAVE_ARPA_INET_H@ /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_ARPA_INET_H@ #endif #ifndef _@GUARD_PREFIX@_ARPA_INET_H #define _@GUARD_PREFIX@_ARPA_INET_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #if @GNULIB_INET_NTOP@ /* Converts an internet address from internal format to a printable, presentable format. AF is an internet address family, such as AF_INET or AF_INET6. SRC points to a 'struct in_addr' (for AF_INET) or 'struct in6_addr' (for AF_INET6). DST points to a buffer having room for CNT bytes. The printable representation of the address (in numeric form, not surrounded by [...], no reverse DNS is done) is placed in DST, and DST is returned. If an error occurs, the return value is NULL and errno is set. If CNT bytes are not sufficient to hold the result, the return value is NULL and errno is set to ENOSPC. A good value for CNT is 46. For more details, see the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/inet_ntop.html>. */ # if @REPLACE_INET_NTOP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef inet_ntop # define inet_ntop rpl_inet_ntop # endif _GL_FUNCDECL_RPL (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt)); # else # if !@HAVE_DECL_INET_NTOP@ _GL_FUNCDECL_SYS (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt) _GL_ARG_NONNULL ((2, 3))); # endif /* Need to cast, because on NonStop Kernel, the fourth parameter is size_t cnt. */ _GL_CXXALIAS_SYS_CAST (inet_ntop, const char *, (int af, const void *restrict src, char *restrict dst, socklen_t cnt)); # endif _GL_CXXALIASWARN (inet_ntop); #elif defined GNULIB_POSIXCHECK # undef inet_ntop # if HAVE_RAW_DECL_INET_NTOP _GL_WARN_ON_USE (inet_ntop, "inet_ntop is unportable - " "use gnulib module inet_ntop for portability"); # endif #endif #if @GNULIB_INET_PTON@ # if @REPLACE_INET_PTON@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef inet_pton # define inet_pton rpl_inet_pton # endif _GL_FUNCDECL_RPL (inet_pton, int, (int af, const char *restrict src, void *restrict dst) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (inet_pton, int, (int af, const char *restrict src, void *restrict dst)); # else # if !@HAVE_DECL_INET_PTON@ _GL_FUNCDECL_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (inet_pton, int, (int af, const char *restrict src, void *restrict dst)); # endif _GL_CXXALIASWARN (inet_pton); #elif defined GNULIB_POSIXCHECK # undef inet_pton # if HAVE_RAW_DECL_INET_PTON _GL_WARN_ON_USE (inet_pton, "inet_pton is unportable - " "use gnulib module inet_pton for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_ARPA_INET_H */ #endif /* _@GUARD_PREFIX@_ARPA_INET_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rand-isaac.h���������������������������������������������������������������������0000664�0000000�0000000�00000004150�12102337340�013262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Bob Jenkins's cryptographic random number generators, ISAAC and ISAAC64. Copyright (C) 1999-2013 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999 Colin Plumb. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Colin Plumb and Paul Eggert. */ #ifndef _GL_RAND_ISAAC_H #define _GL_RAND_ISAAC_H #include <stddef.h> #include <stdint.h> /* Log base 2 of the number of useful bits in an ISAAC word. It must be either 5 or 6. By default, this uses a value that should be faster for this architecture. */ #ifndef ISAAC_BITS_LOG #if SIZE_MAX >> 31 >> 31 < 3 /* SIZE_MAX < 2**64 - 1 */ #define ISAAC_BITS_LOG 5 #else #define ISAAC_BITS_LOG 6 #endif #endif /* The number of bits in an ISAAC word. */ #define ISAAC_BITS (1 << ISAAC_BITS_LOG) #if ISAAC_BITS == 32 typedef uint_least32_t isaac_word; #else typedef uint_least64_t isaac_word; #endif /* Size of the state tables to use. ISAAC_WORDS_LOG should be at least 3, and smaller values give less security. */ #define ISAAC_WORDS_LOG 8 #define ISAAC_WORDS (1 << ISAAC_WORDS_LOG) #define ISAAC_BYTES (ISAAC_WORDS * sizeof (isaac_word)) /* State variables for the random number generator. The M member should be seeded with nonce data before calling isaac_seed. The other members are private. */ struct isaac_state { isaac_word m[ISAAC_WORDS]; /* Main state array */ isaac_word a, b, c; /* Extra variables */ }; void isaac_seed (struct isaac_state *); void isaac_refill (struct isaac_state *, isaac_word[ISAAC_WORDS]); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/inttostr.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003202�12071024546�013151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* inttostr.h -- convert integers to printable strings Copyright (C) 2001-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert */ #include <stdint.h> #include <sys/types.h> #include "intprops.h" #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #if __GNUC_PREREQ (3,4) # undef __attribute_warn_unused_result__ # define __attribute_warn_unused_result__ \ __attribute__ ((__warn_unused_result__)) #else # define __attribute_warn_unused_result__ /* empty */ #endif char *imaxtostr (intmax_t, char *) __attribute_warn_unused_result__; char *inttostr (int, char *) __attribute_warn_unused_result__; char *offtostr (off_t, char *) __attribute_warn_unused_result__; char *uinttostr (unsigned int, char *) __attribute_warn_unused_result__; char *umaxtostr (uintmax_t, char *) __attribute_warn_unused_result__; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/i-ring.h�������������������������������������������������������������������������0000664�0000000�0000000�00000003173�12071024546�012457� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* definitions for a simple ring buffer Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> #include "verify.h" enum { I_RING_SIZE = 4 }; verify (1 <= I_RING_SIZE); /* When ir_empty is true, the ring is empty. Otherwise, ir_data[B..F] are defined, where B..F is the contiguous range of indices, modulo I_RING_SIZE, from back to front, inclusive. Undefined elements of ir_data are always set to ir_default_val. Popping from an empty ring aborts. Pushing onto a full ring returns the displaced value. An empty ring has F==B and ir_empty == true. A ring with one entry still has F==B, but now ir_empty == false. */ struct I_ring { int ir_data[I_RING_SIZE]; int ir_default_val; unsigned int ir_front; unsigned int ir_back; bool ir_empty; }; typedef struct I_ring I_ring; void i_ring_init (I_ring *ir, int ir_default_val); int i_ring_push (I_ring *ir, int val); int i_ring_pop (I_ring *ir); bool i_ring_empty (I_ring const *ir) _GL_ATTRIBUTE_PURE; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/chownat.c������������������������������������������������������������������������0000664�0000000�0000000�00000000122�12041503563�012715� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define FCHOWNAT_INLINE _GL_EXTERN_INLINE #include "openat.h" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memcasecmp.c���������������������������������������������������������������������0000664�0000000�0000000�00000002675�12071024546�013405� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Case-insensitive buffer comparator. Copyright (C) 1996-1997, 2000, 2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "memcasecmp.h" #include <ctype.h> #include <limits.h> /* Like memcmp, but ignore differences in case. Convert to upper case (not lower) before comparing so that join -i works with sort -f. */ int memcasecmp (const void *vs1, const void *vs2, size_t n) { size_t i; char const *s1 = vs1; char const *s2 = vs2; for (i = 0; i < n; i++) { unsigned char u1 = s1[i]; unsigned char u2 = s2[i]; int U1 = toupper (u1); int U2 = toupper (u2); int diff = (UCHAR_MAX <= INT_MAX ? U1 - U2 : U1 < U2 ? -1 : U2 < U1); if (diff) return diff; } return 0; } �������������������������������������������������������������������coreutils-8.21/lib/xtime.c��������������������������������������������������������������������������0000664�0000000�0000000�00000000116�12071024546�012405� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define XTIME_INLINE _GL_EXTERN_INLINE #include "xtime.h" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/msvc-inval.h���������������������������������������������������������������������0000664�0000000�0000000�00000021135�12071561011�013340� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invalid parameter handler for MSVC runtime libraries. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _MSVC_INVAL_H #define _MSVC_INVAL_H /* With MSVC runtime libraries with the "invalid parameter handler" concept, functions like fprintf(), dup2(), or close() crash when the caller passes an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) instead. This file defines macros that turn such an invalid parameter notification into a non-local exit. An error code can then be produced at the target of this exit. You can thus write code like TRY_MSVC_INVAL { <Code that can trigger an invalid parameter notification but does not do 'return', 'break', 'continue', nor 'goto'.> } CATCH_MSVC_INVAL { <Code that handles an invalid parameter notification but does not do 'return', 'break', 'continue', nor 'goto'.> } DONE_MSVC_INVAL; This entire block expands to a single statement. The handling of invalid parameters can be done in three ways: * The default way, which is reasonable for programs (not libraries): AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [DEFAULT_HANDLING]) * The way for libraries that make "hairy" calls (like close(-1), or fclose(fp) where fileno(fp) is closed, or simply getdtablesize()): AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [HAIRY_LIBRARY_HANDLING]) * The way for libraries that make no "hairy" calls: AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING]) */ #define DEFAULT_HANDLING 0 #define HAIRY_LIBRARY_HANDLING 1 #define SANE_LIBRARY_HANDLING 2 #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) /* A native Windows platform with the "invalid parameter handler" concept, and either DEFAULT_HANDLING or HAIRY_LIBRARY_HANDLING. */ # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING /* Default handling. */ # ifdef __cplusplus extern "C" { # endif /* Ensure that the invalid parameter handler in installed that just returns. Because we assume no other part of the program installs a different invalid parameter handler, this solution is multithread-safe. */ extern void gl_msvc_inval_ensure_handler (void); # ifdef __cplusplus } # endif # define TRY_MSVC_INVAL \ do \ { \ gl_msvc_inval_ensure_handler (); \ if (1) # define CATCH_MSVC_INVAL \ else # define DONE_MSVC_INVAL \ } \ while (0) # else /* Handling for hairy libraries. */ # include <excpt.h> /* Gnulib can define its own status codes, as described in the page "Raising Software Exceptions" on microsoft.com <http://msdn.microsoft.com/en-us/library/het71c37.aspx>. Our status codes are composed of - 0xE0000000, mandatory for all user-defined status codes, - 0x474E550, a API identifier ("GNU"), - 0, 1, 2, ..., used to distinguish different status codes from the same API. */ # define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0) # if defined _MSC_VER /* A compiler that supports __try/__except, as described in the page "try-except statement" on microsoft.com <http://msdn.microsoft.com/en-us/library/s58ftw19.aspx>. With __try/__except, we can use the multithread-safe exception handling. */ # ifdef __cplusplus extern "C" { # endif /* Ensure that the invalid parameter handler in installed that raises a software exception with code STATUS_GNULIB_INVALID_PARAMETER. Because we assume no other part of the program installs a different invalid parameter handler, this solution is multithread-safe. */ extern void gl_msvc_inval_ensure_handler (void); # ifdef __cplusplus } # endif # define TRY_MSVC_INVAL \ do \ { \ gl_msvc_inval_ensure_handler (); \ __try # define CATCH_MSVC_INVAL \ __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER \ ? EXCEPTION_EXECUTE_HANDLER \ : EXCEPTION_CONTINUE_SEARCH) # define DONE_MSVC_INVAL \ } \ while (0) # else /* Any compiler. We can only use setjmp/longjmp. */ # include <setjmp.h> # ifdef __cplusplus extern "C" { # endif struct gl_msvc_inval_per_thread { /* The restart that will resume execution at the code between CATCH_MSVC_INVAL and DONE_MSVC_INVAL. It is enabled only between TRY_MSVC_INVAL and CATCH_MSVC_INVAL. */ jmp_buf restart; /* Tells whether the contents of restart is valid. */ int restart_valid; }; /* Ensure that the invalid parameter handler in installed that passes control to the gl_msvc_inval_restart if it is valid, or raises a software exception with code STATUS_GNULIB_INVALID_PARAMETER otherwise. Because we assume no other part of the program installs a different invalid parameter handler, this solution is multithread-safe. */ extern void gl_msvc_inval_ensure_handler (void); /* Return a pointer to the per-thread data for the current thread. */ extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (void); # ifdef __cplusplus } # endif # define TRY_MSVC_INVAL \ do \ { \ struct gl_msvc_inval_per_thread *msvc_inval_current; \ gl_msvc_inval_ensure_handler (); \ msvc_inval_current = gl_msvc_inval_current (); \ /* First, initialize gl_msvc_inval_restart. */ \ if (setjmp (msvc_inval_current->restart) == 0) \ { \ /* Then, mark it as valid. */ \ msvc_inval_current->restart_valid = 1; # define CATCH_MSVC_INVAL \ /* Execution completed. \ Mark gl_msvc_inval_restart as invalid. */ \ msvc_inval_current->restart_valid = 0; \ } \ else \ { \ /* Execution triggered an invalid parameter notification. \ Mark gl_msvc_inval_restart as invalid. */ \ msvc_inval_current->restart_valid = 0; # define DONE_MSVC_INVAL \ } \ } \ while (0) # endif # endif #else /* A platform that does not need to the invalid parameter handler, or when SANE_LIBRARY_HANDLING is desired. */ /* The braces here avoid GCC warnings like "warning: suggest explicit braces to avoid ambiguous 'else'". */ # define TRY_MSVC_INVAL \ do \ { \ if (1) # define CATCH_MSVC_INVAL \ else # define DONE_MSVC_INVAL \ } \ while (0) #endif #endif /* _MSVC_INVAL_H */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/savedir.h������������������������������������������������������������������������0000664�0000000�0000000�00000002010�12071024546�012714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Save the list of files in a directory in a string. Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */ #ifndef _GL_SAVEDIR_H #define _GL_SAVEDIR_H #include <dirent.h> char *streamsavedir (DIR *dirp); char *savedir (char const *dir); char *fdsavedir (int fd); /* deprecated */ #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/signbitl.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004142�12071024546�013075� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <math.h> #include <string.h> #include "isnanl-nolibm.h" #include "float+.h" #ifdef gl_signbitl_OPTIMIZED_MACRO # undef gl_signbitl #endif int gl_signbitl (long double arg) { #if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { long double value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGNL_IN_LIBC return copysignl (1.0L, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnanl (arg)) return 0; if (arg < 0.0L) return 1; else if (arg == 0.0L) { /* Distinguish 0.0L and -0.0L. */ static long double plus_zero = 0.0L; long double arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_LDBL) != 0); } else return 0; #endif } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fpurge.c�������������������������������������������������������������������������0000664�0000000�0000000�00000011424�12071024546�012553� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Flushing buffers of a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> #if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7 */ # include <stdio_ext.h> #endif #include <stdlib.h> #include "stdio-impl.h" int fpurge (FILE *fp) { #if HAVE___FPURGE /* glibc >= 2.2, Haiku, Solaris >= 7, musl libc */ __fpurge (fp); /* The __fpurge function does not have a return value. */ return 0; #elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin 1.7 */ /* Call the system's fpurge function. */ # undef fpurge # if !HAVE_DECL_FPURGE extern int fpurge (FILE *); # endif int result = fpurge (fp); # if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ if (result == 0) /* Correct the invariants that fpurge broke. <stdio.h> on BSD systems says: "The following always hold: if _flags & __SRD, _w is 0." If this invariant is not fulfilled and the stream is read-write but currently reading, subsequent putc or fputc calls will write directly into the buffer, although they shouldn't be allowed to. */ if ((fp_->_flags & __SRD) != 0) fp_->_w = 0; # endif return result; #else /* Most systems provide FILE as a struct and the necessary bitmask in <stdio.h>, because they need it for implementing getc() and putc() as fast macros. */ # if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_IO_read_end = fp->_IO_read_ptr; fp->_IO_write_ptr = fp->_IO_write_base; /* Avoid memory leak when there is an active ungetc buffer. */ if (fp->_IO_save_base != NULL) { free (fp->_IO_save_base); fp->_IO_save_base = NULL; } return 0; # elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ fp_->_p = fp_->_bf._base; fp_->_r = 0; fp_->_w = ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ ? fp_->_bf._size : 0); /* Avoid memory leak when there is an active ungetc buffer. */ if (fp_ub._base != NULL) { if (fp_ub._base != fp_->_ubuf) free (fp_ub._base); fp_ub._base = NULL; } return 0; # elif defined __EMX__ /* emx+gcc */ fp->_ptr = fp->_buffer; fp->_rcount = 0; fp->_wcount = 0; fp->_ungetc_count = 0; return 0; # elif defined __minix /* Minix */ fp->_ptr = fp->_buf; if (fp->_ptr != NULL) fp->_count = 0; return 0; # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp->_ptr = fp->_base; if (fp->_ptr != NULL) fp->_cnt = 0; return 0; # elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) fp->__bufpos = fp->__bufstart; else if (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) fp->__bufpos = fp->__bufread; # endif return 0; # elif defined __QNX__ /* QNX */ fp->_Rback = fp->_Back + sizeof (fp->_Back); fp->_Rsave = NULL; if (fp->_Mode & 0x2000 /* _MWRITE */) /* fp->_Buf <= fp->_Next <= fp->_Wend */ fp->_Next = fp->_Buf; else /* fp->_Buf <= fp->_Next <= fp->_Rend */ fp->_Rend = fp->_Next; return 0; # elif defined __MINT__ /* Atari FreeMiNT */ if (fp->__pushed_back) { fp->__bufp = fp->__pushback_bufp; fp->__pushed_back = 0; } /* Preserve the current file position. */ if (fp->__target != -1) fp->__target += fp->__bufp - fp->__buffer; fp->__bufp = fp->__buffer; /* Nothing in the buffer, next getc is nontrivial. */ fp->__get_limit = fp->__bufp; /* Nothing in the buffer, next putc is nontrivial. */ fp->__put_limit = fp->__buffer; return 0; # elif defined EPLAN9 /* Plan9 */ fp->rp = fp->wp = fp->lp = fp->buf; return 0; # else # error "Please port gnulib fpurge.c to your platform! Look at the definitions of fflush, setvbuf and ungetc on your system, then report this to bug-gnulib." # endif #endif } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fopen.c��������������������������������������������������������������������������0000664�0000000�0000000�00000006645�12071024546�012403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Open a stream to a file. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ /* If the user's config.h happens to include <stdio.h>, let it include only the system's <stdio.h> here, so that orig_fopen doesn't recurse to rpl_fopen. */ #define __need_FILE #include <config.h> /* Get the original definition of fopen. It might be defined as a macro. */ #include <stdio.h> #undef __need_FILE static FILE * orig_fopen (const char *filename, const char *mode) { return fopen (filename, mode); } /* Specification. */ /* Write "stdio.h" here, not <stdio.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <stdio.h> above. */ #include "stdio.h" #include <errno.h> #include <fcntl.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> FILE * rpl_fopen (const char *filename, const char *mode) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ if (strcmp (filename, "/dev/null") == 0) filename = "NUL"; #endif #if FOPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and a mode that requires write access is specified, then fail. Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html> says that "A pathname that contains at least one non-slash character and that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname." and "The special filename dot shall refer to the directory specified by its predecessor." If the named file already exists as a directory, then if a mode that requires write access is specified, fopen() must fail because POSIX <http://www.opengroup.org/susv3/functions/fopen.html> says that it fails with errno = EISDIR in this case. If the named file does not exist or does not name a directory, then fopen() must fail since the file does not contain a '.' directory. */ { size_t len = strlen (filename); if (len > 0 && filename[len - 1] == '/') { int fd; struct stat statbuf; FILE *fp; if (mode[0] == 'w' || mode[0] == 'a') { errno = EISDIR; return NULL; } fd = open (filename, O_RDONLY); if (fd < 0) return NULL; if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) { close (fd); errno = ENOTDIR; return NULL; } fp = fdopen (fd, mode); if (fp == NULL) { int saved_errno = errno; close (fd); errno = saved_errno; } return fp; } } # endif return orig_fopen (filename, mode); } �������������������������������������������������������������������������������������������coreutils-8.21/lib/xgethostname.h�������������������������������������������������������������������0000664�0000000�0000000�00000000033�11624727635�014004� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������char *xgethostname (void); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isnanl.c�������������������������������������������������������������������������0000664�0000000�0000000�00000001525�12071024546�012550� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ #define USE_LONG_DOUBLE #include "isnan.c" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unicodeio.h����������������������������������������������������������������������0000664�0000000�0000000�00000004155�12071024546�013251� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Unicode character output to streams with locale dependent encoding. Copyright (C) 2000-2003, 2005, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef UNICODEIO_H # define UNICODEIO_H # include <stddef.h> # include <stdio.h> /* Converts the Unicode character CODE to its multibyte representation in the current locale and calls the SUCCESS callback on the resulting byte sequence. If an error occurs, invokes the FAILURE callback instead, passing it CODE and an English error string. Returns whatever the callback returned. Assumes that the locale doesn't change between two calls. */ extern long unicode_to_mb (unsigned int code, long (*success) (const char *buf, size_t buflen, void *callback_arg), long (*failure) (unsigned int code, const char *msg, void *callback_arg), void *callback_arg); /* Outputs the Unicode character CODE to the output stream STREAM. Upon failure, exit if exit_on_error is true, otherwise output a fallback notation. */ extern void print_unicode_char (FILE *stream, unsigned int code, int exit_on_error); /* Simple success callback that outputs the converted string. The STREAM is passed as callback_arg. */ extern long fwrite_success_callback (const char *buf, size_t buflen, void *callback_arg); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsalign.c�����������������������������������������������������������������������0000664�0000000�0000000�00000017074�12102337340�013060� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Align/Truncate a string in a given screen width Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Pádraig Brady. */ #include <config.h> #include "mbsalign.h" #include <stdlib.h> #include <string.h> #include <stdio.h> #include <stdint.h> #include <stdbool.h> #include <limits.h> #include <wchar.h> #include <wctype.h> #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif /* Replace non printable chars. Note \t and \n etc. are non printable. Return 1 if replacement made, 0 otherwise. */ static bool wc_ensure_printable (wchar_t *wchars) { bool replaced = false; wchar_t *wc = wchars; while (*wc) { if (!iswprint ((wint_t) *wc)) { *wc = 0xFFFD; /* L'\uFFFD' (replacement char) */ replaced = true; } wc++; } return replaced; } /* Truncate wchar string to width cells. * Returns number of cells used. */ static size_t wc_truncate (wchar_t *wc, size_t width) { size_t cells = 0; int next_cells = 0; while (*wc) { next_cells = wcwidth (*wc); if (next_cells == -1) /* non printable */ { *wc = 0xFFFD; /* L'\uFFFD' (replacement char) */ next_cells = 1; } if (cells + next_cells > width) break; cells += next_cells; wc++; } *wc = L'\0'; return cells; } /* Write N_SPACES space characters to DEST while ensuring nothing is written beyond DEST_END. A terminating NUL is always added to DEST. A pointer to the terminating NUL is returned. */ static char* mbs_align_pad (char *dest, const char* dest_end, size_t n_spaces) { /* FIXME: Should we pad with "figure space" (\u2007) if non ascii data present? */ while (n_spaces-- && (dest < dest_end)) *dest++ = ' '; *dest = '\0'; return dest; } /* Align a string, SRC, in a field of *WIDTH columns, handling multi-byte characters; write the result into the DEST_SIZE-byte buffer, DEST. ALIGNMENT specifies whether to left- or right-justify or to center. If SRC requires more than *WIDTH columns, truncate it to fit. When centering, the number of trailing spaces may be one less than the number of leading spaces. Return the length in bytes required for the final result, not counting the trailing NUL. A return value of DEST_SIZE or larger means there wasn't enough space. DEST will be NUL terminated in any case. Return SIZE_MAX upon error (invalid multi-byte sequence in SRC, or malloc failure), unless MBA_UNIBYTE_FALLBACK is specified. Update *WIDTH to indicate how many columns were used before padding. */ size_t mbsalign (const char *src, char *dest, size_t dest_size, size_t *width, mbs_align_t align, int flags) { size_t ret = SIZE_MAX; size_t src_size = strlen (src) + 1; char *newstr = NULL; wchar_t *str_wc = NULL; const char *str_to_print = src; size_t n_cols = src_size - 1; size_t n_used_bytes = n_cols; /* Not including NUL */ size_t n_spaces = 0; bool conversion = false; bool wc_enabled = false; /* In multi-byte locales convert to wide characters to allow easy truncation. Also determine number of screen columns used. */ if (!(flags & MBA_UNIBYTE_ONLY) && MB_CUR_MAX > 1) { size_t src_chars = mbstowcs (NULL, src, 0); if (src_chars == SIZE_MAX) { if (flags & MBA_UNIBYTE_FALLBACK) goto mbsalign_unibyte; else goto mbsalign_cleanup; } src_chars += 1; /* make space for NUL */ str_wc = malloc (src_chars * sizeof (wchar_t)); if (str_wc == NULL) { if (flags & MBA_UNIBYTE_FALLBACK) goto mbsalign_unibyte; else goto mbsalign_cleanup; } if (mbstowcs (str_wc, src, src_chars) != 0) { str_wc[src_chars - 1] = L'\0'; wc_enabled = true; conversion = wc_ensure_printable (str_wc); n_cols = wcswidth (str_wc, src_chars); } } /* If we transformed or need to truncate the source string then create a modified copy of it. */ if (wc_enabled && (conversion || (n_cols > *width))) { if (conversion) { /* May have increased the size by converting \t to \uFFFD for example. */ src_size = wcstombs (NULL, str_wc, 0) + 1; } newstr = malloc (src_size); if (newstr == NULL) { if (flags & MBA_UNIBYTE_FALLBACK) goto mbsalign_unibyte; else goto mbsalign_cleanup; } str_to_print = newstr; n_cols = wc_truncate (str_wc, *width); n_used_bytes = wcstombs (newstr, str_wc, src_size); } mbsalign_unibyte: if (n_cols > *width) /* Unibyte truncation required. */ { n_cols = *width; n_used_bytes = n_cols; } if (*width > n_cols) /* Padding required. */ n_spaces = *width - n_cols; /* indicate to caller how many cells needed (not including padding). */ *width = n_cols; { size_t start_spaces, end_spaces; switch (align) { case MBS_ALIGN_LEFT: start_spaces = 0; end_spaces = n_spaces; break; case MBS_ALIGN_RIGHT: start_spaces = n_spaces; end_spaces = 0; break; case MBS_ALIGN_CENTER: default: start_spaces = n_spaces / 2 + n_spaces % 2; end_spaces = n_spaces / 2; break; } if (flags & MBA_NO_LEFT_PAD) start_spaces = 0; if (flags & MBA_NO_RIGHT_PAD) end_spaces = 0; /* Write as much NUL terminated output to DEST as possible. */ if (dest_size != 0) { size_t space_left; char *dest_end = dest + dest_size - 1; dest = mbs_align_pad (dest, dest_end, start_spaces); space_left = dest_end - dest; dest = mempcpy (dest, str_to_print, MIN (n_used_bytes, space_left)); mbs_align_pad (dest, dest_end, end_spaces); } /* indicate to caller how many bytes needed (not including NUL). */ ret = n_used_bytes + ((start_spaces + end_spaces) * 1); } mbsalign_cleanup: free (str_wc); free (newstr); return ret; } /* A wrapper around mbsalign() to dynamically allocate the minimum amount of memory to store the result. Return NULL on failure. */ char * ambsalign (const char *src, size_t *width, mbs_align_t align, int flags) { size_t orig_width = *width; size_t size = *width; /* Start with enough for unibyte mode. */ size_t req = size; char *buf = NULL; while (req >= size) { char *nbuf; size = req + 1; /* Space for NUL. */ nbuf = realloc (buf, size); if (nbuf == NULL) { free (buf); buf = NULL; break; } buf = nbuf; *width = orig_width; req = mbsalign (src, buf, size, width, align, flags); if (req == SIZE_MAX) { free (buf); buf = NULL; break; } } return buf; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/di-set.h�������������������������������������������������������������������������0000664�0000000�0000000�00000001046�11624727634�012467� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef _GL_DI_SET_H # define _GL_DI_SET_H # include <sys/types.h> # undef _GL_ATTRIBUTE_NONNULL # if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || 3 < __GNUC__ # define _GL_ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) # else # define _GL_ATTRIBUTE_NONNULL(m) # endif struct di_set *di_set_alloc (void); int di_set_insert (struct di_set *, dev_t, ino_t) _GL_ATTRIBUTE_NONNULL (1); void di_set_free (struct di_set *) _GL_ATTRIBUTE_NONNULL (1); int di_set_lookup (struct di_set *dis, dev_t dev, ino_t ino) _GL_ATTRIBUTE_NONNULL (1); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtoul.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000254�11624727635�013202� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define __strtol strtoul #define __strtol_t unsigned long int #define __xstrtol xstrtoul #define STRTOL_T_MINIMUM 0 #define STRTOL_T_MAXIMUM ULONG_MAX #include "xstrtol.c" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/userspec.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000324�11624727635�013132� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef USERSPEC_H # define USERSPEC_H 1 # include <sys/types.h> const char * parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, char **username_arg, char **groupname_arg); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/canonicalize.c�������������������������������������������������������������������0000664�0000000�0000000�00000024475�12071024546�013734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Return the canonical absolute name of a given file. Copyright (C) 1996-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "canonicalize.h" #include <errno.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include <unistd.h> #include "areadlink.h" #include "file-set.h" #include "hash-triple.h" #include "pathmax.h" #include "xalloc.h" #include "xgetcwd.h" #include "dosname.h" #define MULTIPLE_BITS_SET(i) (((i) & ((i) - 1)) != 0) /* In this file, we cannot handle file names longer than PATH_MAX. On systems with no file name length limit, use a fallback. */ #ifndef PATH_MAX # define PATH_MAX 8192 #endif #ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 #endif #if ISSLASH ('\\') # define SLASHES "/\\" #else # define SLASHES "/" #endif #if !((HAVE_CANONICALIZE_FILE_NAME && FUNC_REALPATH_WORKS) \ || GNULIB_CANONICALIZE_LGPL) /* Return the canonical absolute name of file NAME. A canonical name does not contain any ".", ".." components nor any repeated file name separators ('/') or symlinks. All components must exist. The result is malloc'd. */ char * canonicalize_file_name (const char *name) { return canonicalize_filename_mode (name, CAN_EXISTING); } #endif /* !HAVE_CANONICALIZE_FILE_NAME */ /* Return true if we've already seen the triple, <FILENAME, dev, ino>. If *HT is not initialized, initialize it. */ static bool seen_triple (Hash_table **ht, char const *filename, struct stat const *st) { if (*ht == NULL) { size_t initial_capacity = 7; *ht = hash_initialize (initial_capacity, NULL, triple_hash, triple_compare_ino_str, triple_free); if (*ht == NULL) xalloc_die (); } if (seen_file (*ht, filename, st)) return true; record_file (*ht, filename, st); return false; } /* Return the canonical absolute name of file NAME, while treating missing elements according to CAN_MODE. A canonical name does not contain any ".", ".." components nor any repeated file name separators ('/') or, depending on other CAN_MODE flags, symlinks. Whether components must exist or not depends on canonicalize mode. The result is malloc'd. */ char * canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode) { char *rname, *dest, *extra_buf = NULL; char const *start; char const *end; char const *rname_limit; size_t extra_len = 0; Hash_table *ht = NULL; int saved_errno; int can_flags = can_mode & ~CAN_MODE_MASK; bool logical = can_flags & CAN_NOLINKS; size_t prefix_len; can_mode &= CAN_MODE_MASK; if (MULTIPLE_BITS_SET (can_mode)) { errno = EINVAL; return NULL; } if (name == NULL) { errno = EINVAL; return NULL; } if (name[0] == '\0') { errno = ENOENT; return NULL; } /* This is always zero for Posix hosts, but can be 2 for MS-Windows and MS-DOS X:/foo/bar file names. */ prefix_len = FILE_SYSTEM_PREFIX_LEN (name); if (!IS_ABSOLUTE_FILE_NAME (name)) { rname = xgetcwd (); if (!rname) return NULL; dest = strchr (rname, '\0'); if (dest - rname < PATH_MAX) { char *p = xrealloc (rname, PATH_MAX); dest = p + (dest - rname); rname = p; rname_limit = rname + PATH_MAX; } else { rname_limit = dest; } start = name; prefix_len = FILE_SYSTEM_PREFIX_LEN (rname); } else { rname = xmalloc (PATH_MAX); rname_limit = rname + PATH_MAX; dest = rname; if (prefix_len) { memcpy (rname, name, prefix_len); dest += prefix_len; } *dest++ = '/'; if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { if (ISSLASH (name[1]) && !ISSLASH (name[2]) && !prefix_len) *dest++ = '/'; *dest = '\0'; } start = name + prefix_len; } for ( ; *start; start = end) { /* Skip sequence of multiple file name separators. */ while (ISSLASH (*start)) ++start; /* Find end of component. */ for (end = start; *end && !ISSLASH (*end); ++end) /* Nothing. */; if (end - start == 0) break; else if (end - start == 1 && start[0] == '.') /* nothing */; else if (end - start == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ if (dest > rname + prefix_len + 1) for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; } else { struct stat st; if (!ISSLASH (dest[-1])) *dest++ = '/'; if (dest + (end - start) >= rname_limit) { ptrdiff_t dest_offset = dest - rname; size_t new_size = rname_limit - rname; if (end - start + 1 > PATH_MAX) new_size += end - start + 1; else new_size += PATH_MAX; rname = xrealloc (rname, new_size); rname_limit = rname + new_size; dest = rname + dest_offset; } dest = memcpy (dest, start, end - start); dest += end - start; *dest = '\0'; if (logical && (can_mode == CAN_MISSING)) { /* Avoid the stat in this case as it's inconsequential. i.e. we're neither resolving symlinks or testing component existence. */ st.st_mode = 0; } else if ((logical ? stat (rname, &st) : lstat (rname, &st)) != 0) { saved_errno = errno; if (can_mode == CAN_EXISTING) goto error; if (can_mode == CAN_ALL_BUT_LAST) { if (end[strspn (end, SLASHES)] || saved_errno != ENOENT) goto error; continue; } st.st_mode = 0; } if (S_ISLNK (st.st_mode)) { char *buf; size_t n, len; /* Detect loops. We cannot use the cycle-check module here, since it's actually possible to encounter the same symlink more than once in a given traversal. However, encountering the same symlink,NAME pair twice does indicate a loop. */ if (seen_triple (&ht, name, &st)) { if (can_mode == CAN_MISSING) continue; saved_errno = ELOOP; goto error; } buf = areadlink_with_size (rname, st.st_size); if (!buf) { if (can_mode == CAN_MISSING && errno != ENOMEM) continue; saved_errno = errno; goto error; } n = strlen (buf); len = strlen (end); if (!extra_len) { extra_len = ((n + len + 1) > PATH_MAX) ? (n + len + 1) : PATH_MAX; extra_buf = xmalloc (extra_len); } else if ((n + len + 1) > extra_len) { extra_len = n + len + 1; extra_buf = xrealloc (extra_buf, extra_len); } /* Careful here, end may be a pointer into extra_buf... */ memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); if (IS_ABSOLUTE_FILE_NAME (buf)) { size_t pfxlen = FILE_SYSTEM_PREFIX_LEN (buf); if (pfxlen) memcpy (rname, buf, pfxlen); dest = rname + pfxlen; *dest++ = '/'; /* It's an absolute symlink */ if (DOUBLE_SLASH_IS_DISTINCT_ROOT) { if (ISSLASH (buf[1]) && !ISSLASH (buf[2]) && !pfxlen) *dest++ = '/'; *dest = '\0'; } /* Install the new prefix to be in effect hereafter. */ prefix_len = pfxlen; } else { /* Back up to previous component, ignore if at root already: */ if (dest > rname + prefix_len + 1) for (--dest; dest > rname && !ISSLASH (dest[-1]); --dest) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && ISSLASH (*dest) && !ISSLASH (dest[1]) && !prefix_len) dest++; } free (buf); } else { if (!S_ISDIR (st.st_mode) && *end && (can_mode != CAN_MISSING)) { saved_errno = ENOTDIR; goto error; } } } } if (dest > rname + prefix_len + 1 && ISSLASH (dest[-1])) --dest; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && !prefix_len && ISSLASH (*dest) && !ISSLASH (dest[1])) dest++; *dest = '\0'; if (rname_limit != dest + 1) rname = xrealloc (rname, dest - rname + 1); free (extra_buf); if (ht) hash_free (ht); return rname; error: free (extra_buf); free (rname); if (ht) hash_free (ht); errno = saved_errno; return NULL; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsrtowcs.c����������������������������������������������������������������������0000664�0000000�0000000�00000001756�12071024546�013315� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string to wide string. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #include <errno.h> #include <limits.h> #include <stdlib.h> #include "strnlen1.h" extern mbstate_t _gl_mbsrtowcs_state; #include "mbsrtowcs-impl.h" ������������������coreutils-8.21/lib/fileblocks.c���������������������������������������������������������������������0000664�0000000�0000000�00000004034�12071024546�013377� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert file size to number of blocks on System V-like machines. Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Brian L. Matthews, blm@6sceng.UUCP. */ #include <config.h> #include <sys/types.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if !HAVE_STRUCT_STAT_ST_BLOCKS && !defined _POSIX_SOURCE && defined BSIZE # include <unistd.h> # ifndef NINDIR # if defined __DJGPP__ typedef long daddr_t; /* for disk address */ # endif /* Some SysV's, like Irix, seem to lack this. Hope it's correct. */ /* Number of inode pointers per indirect block. */ # define NINDIR (BSIZE / sizeof (daddr_t)) # endif /* !NINDIR */ /* Number of direct block addresses in an inode. */ # define NDIR 10 /* Return the number of 512-byte blocks in a file of SIZE bytes. */ off_t st_blocks (off_t size) { off_t datablks = size / 512 + (size % 512 != 0); off_t indrblks = 0; if (datablks > NDIR) { indrblks = (datablks - NDIR - 1) / NINDIR + 1; if (datablks > NDIR + NINDIR) { indrblks += (datablks - NDIR - NINDIR - 1) / (NINDIR * NINDIR) + 1; if (datablks > NDIR + NINDIR + NINDIR * NINDIR) indrblks++; } } return datablks + indrblks; } #else /* This declaration is solely to ensure that after preprocessing this file is never empty. */ typedef int textutils_fileblocks_unused; #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkancesdirs.h��������������������������������������������������������������������0000664�0000000�0000000�00000000241�11624727634�013601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stddef.h> struct savewd; ptrdiff_t mkancesdirs (char *, struct savewd *, int (*) (char const *, char const *, void *), void *); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fdopen.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002727�12071024546�012544� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Open a stream with a given file descriptor. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> #include <errno.h> #if HAVE_MSVC_INVALID_PARAMETER_HANDLER # include "msvc-inval.h" #endif #undef fdopen #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static FILE * fdopen_nothrow (int fd, const char *mode) { FILE *result; TRY_MSVC_INVAL { result = fdopen (fd, mode); } CATCH_MSVC_INVAL { result = NULL; } DONE_MSVC_INVAL; return result; } #else # define fdopen_nothrow fdopen #endif FILE * rpl_fdopen (int fd, const char *mode) { int saved_errno = errno; FILE *fp; errno = 0; fp = fdopen_nothrow (fd, mode); if (fp == NULL) { if (errno == 0) errno = EBADF; } else errno = saved_errno; return fp; } �����������������������������������������coreutils-8.21/lib/fatal-signal.h�������������������������������������������������������������������0000664�0000000�0000000�00000006403�12071024546�013633� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emergency actions in case of a fatal signal. Copyright (C) 2003-2004, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef __cplusplus extern "C" { #endif /* It is often useful to do some cleanup action when a usually fatal signal terminates the process, like removing a temporary file or killing a subprocess that may be stuck waiting for a device, pipe or network input. Such signals are SIGHUP, SIGINT, SIGPIPE, SIGTERM, and possibly others. The limitation of this facility is that it cannot work for SIGKILL. Signals with a SIG_IGN handler are considered to be non-fatal. The functions in this file assume that when a SIG_IGN handler is installed for a signal, it was installed before any functions in this file were called and it stays so for the whole lifetime of the process. */ /* Register a cleanup function to be executed when a catchable fatal signal occurs. Restrictions for the cleanup function: - The cleanup function can do all kinds of system calls. - It can also access application dependent memory locations and data structures provided they are in a consistent state. One way to ensure this is through block_fatal_signals()/unblock_fatal_signals(), see below. Another - more tricky - way to ensure this is the careful use of 'volatile'. However, - malloc() and similarly complex facilities are not safe to be called because they are not guaranteed to be in a consistent state. - Also, the cleanup function must not block the catchable fatal signals and leave them blocked upon return. The cleanup function is executed asynchronously. It is unspecified whether during its execution the catchable fatal signals are blocked or not. */ extern void at_fatal_signal (void (*function) (void)); /* Sometimes it is necessary to block the usually fatal signals while the data structures being accessed by the cleanup action are being built or reorganized. This is the case, for example, when a temporary file or directory is created through mkstemp() or mkdtemp(), because these functions create the temporary file or directory _before_ returning its name to the application. */ /* Temporarily delay the catchable fatal signals. The signals will be blocked (= delayed) until the next call to unblock_fatal_signals(). If the signals are already blocked, a further call to block_fatal_signals() has no effect. */ extern void block_fatal_signals (void); /* Stop delaying the catchable fatal signals. */ extern void unblock_fatal_signals (void); #ifdef __cplusplus } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/pipe2-safer.c��������������������������������������������������������������������0000664�0000000�0000000�00000002710�12071024546�013376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke pipe2, but avoid some glitches. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> /* Specification. */ #include "unistd-safer.h" #include <unistd.h> #include <errno.h> /* Like pipe2, but ensure that neither of the file descriptors is STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int pipe2_safer (int fd[2], int flags) { /* This is a generalization of the pipe_safer implementation. */ if (pipe2 (fd, flags) == 0) { int i; for (i = 0; i < 2; i++) { fd[i] = fd_safer_flag (fd[i], flags); if (fd[i] < 0) { int e = errno; close (fd[1 - i]); errno = e; return -1; } } return 0; } return -1; } ��������������������������������������������������������coreutils-8.21/lib/memcmp2.c������������������������������������������������������������������������0000664�0000000�0000000�00000002105�12071561011�012610� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compare two memory areas with possibly different lengths. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "memcmp2.h" #include <string.h> int memcmp2 (const char *s1, size_t n1, const char *s2, size_t n2) { int cmp = memcmp (s1, s2, n1 <= n2 ? n1 : n2); if (cmp == 0) { if (n1 < n2) cmp = -1; else if (n1 > n2) cmp = 1; } return cmp; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fseeko.c�������������������������������������������������������������������������0000664�0000000�0000000�00000012530�12071561007�012534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An fseeko() function that, together with fflush(), is POSIX compliant. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> /* Get off_t and lseek. */ #include <unistd.h> #include "stdio-impl.h" int fseeko (FILE *fp, off_t offset, int whence) #undef fseeko #if !HAVE_FSEEKO # undef fseek # define fseeko fseek #endif #if _GL_WINDOWS_64_BIT_OFF_T # undef fseeko # if HAVE__FSEEKI64 /* msvc, mingw64 */ # define fseeko _fseeki64 # else /* mingw */ # define fseeko fseeko64 # endif #endif { #if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ if (lseek (fileno (fp), 0, SEEK_CUR) == -1) return EOF; #endif /* These tests are based on fpurge.c. */ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ if (fp->_IO_read_end == fp->_IO_read_ptr && fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_save_base == NULL) #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit mode; but has an fseeko that requires 64-bit mode. */ FILE *tmp = fopen ("/dev/null", "r"); if (!tmp) return -1; fp->_flags |= __SL64; fp->_seek64 = tmp->_seek64; fclose (tmp); } # endif if (fp_->_p == fp_->_bf._base && fp_->_r == 0 && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ ? fp_->_bf._size : 0) && fp_ub._base == NULL) #elif defined __EMX__ /* emx+gcc */ if (fp->_ptr == fp->_buffer && fp->_rcount == 0 && fp->_wcount == 0 && fp->_ungetc_count == 0) #elif defined __minix /* Minix */ if (fp_->_ptr == fp_->_buf && (fp_->_ptr == NULL || fp_->_count == 0)) #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) #elif defined __UCLIBC__ /* uClibc */ if (((fp->__modeflags & __FLAG_WRITING) == 0 || fp->__bufpos == fp->__bufstart) && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 || fp->__bufpos == fp->__bufread)) #elif defined __QNX__ /* QNX */ if ((fp->_Mode & 0x2000 /* _MWRITE */ ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend) && fp->_Rback == fp->_Back + sizeof (fp->_Back) && fp->_Rsave == NULL) #elif defined __MINT__ /* Atari FreeMiNT */ if (fp->__bufp == fp->__buffer && fp->__get_limit == fp->__bufp && fp->__put_limit == fp->__bufp && !fp->__pushed_back) #elif defined EPLAN9 /* Plan9 */ if (fp->rp == fp->buf && fp->wp == fp->buf) #else #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." #endif { /* We get here when an fflush() call immediately preceded this one (or if ftell() has created buffers but no I/O has occurred on a newly-opened stream). We know there are no buffers. */ off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ fp_->_flags &= ~__SOFF; #endif return -1; } #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_flags &= ~_IO_EOF_SEEN; fp->_offset = pos; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __CYGWIN__ /* fp_->_offset is typed as an integer. */ fp_->_offset = pos; # else /* fp_->_offset is an fpos_t. */ { /* Use a union, since on NetBSD, the compilation flags determine whether fpos_t is typedef'd to off_t or a struct containing a single off_t member. */ union { fpos_t f; off_t o; } u; u.o = pos; fp_->_offset = u.f; } # endif fp_->_flags |= __SOFF; fp_->_flags &= ~__SEOF; #elif defined __EMX__ /* emx+gcc */ fp->_flags &= ~_IOEOF; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp->_flag &= ~_IOEOF; #elif defined __MINT__ /* Atari FreeMiNT */ fp->__offset = pos; fp->__eof = 0; #endif return 0; } return fseeko (fp, offset, whence); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbrlen.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002017�12071024546�012540� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Recognize multibyte character. Copyright (C) 1999-2000, 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> static mbstate_t internal_state; size_t mbrlen (const char *s, size_t n, mbstate_t *ps) { if (ps == NULL) ps = &internal_state; return mbrtowc (NULL, s, n, ps); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtod.c������������������������������������������������������������������������0000664�0000000�0000000�00000004012�12071024546�012765� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* error-checking interface to strtod-like functions Copyright (C) 1996, 1999-2000, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "xstrtod.h" #include <errno.h> #include <limits.h> #include <stdio.h> #if LONG # define XSTRTOD xstrtold # define DOUBLE long double #else # define XSTRTOD xstrtod # define DOUBLE double #endif /* An interface to a string-to-floating-point conversion function that encapsulates all the error checking one should usually perform. Like strtod/strtold, but upon successful conversion put the result in *RESULT and return true. Return false and don't modify *RESULT upon any failure. CONVERT specifies the conversion function, e.g., strtod itself. */ bool XSTRTOD (char const *str, char const **ptr, DOUBLE *result, DOUBLE (*convert) (char const *, char **)) { DOUBLE val; char *terminator; bool ok = true; errno = 0; val = convert (str, &terminator); /* Having a non-zero terminator is an error only when PTR is NULL. */ if (terminator == str || (ptr == NULL && *terminator != '\0')) ok = false; else { /* Allow underflow (in which case CONVERT returns zero), but flag overflow as an error. */ if (val != 0 && errno == ERANGE) ok = false; } if (ptr != NULL) *ptr = terminator; *result = val; return ok; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xgethostname.c�������������������������������������������������������������������0000664�0000000�0000000�00000004133�12071024546�013770� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xgethostname.c -- return current hostname with unlimited length Copyright (C) 1992, 1996, 2000-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> /* Specification. */ #include "xgethostname.h" #include <stdlib.h> #include <errno.h> #include <unistd.h> #include "xalloc.h" #ifndef INITIAL_HOSTNAME_LENGTH # define INITIAL_HOSTNAME_LENGTH 34 #endif /* Return the current hostname in malloc'd storage. If malloc fails, exit. Upon any other failure, return NULL and set errno. */ char * xgethostname (void) { char *hostname = NULL; size_t size = INITIAL_HOSTNAME_LENGTH; while (1) { /* Use SIZE_1 here rather than SIZE to work around the bug in SunOS 5.5's gethostname whereby it NUL-terminates HOSTNAME even when the name is as long as the supplied buffer. */ size_t size_1; hostname = x2realloc (hostname, &size); size_1 = size - 1; hostname[size_1 - 1] = '\0'; errno = 0; if (gethostname (hostname, size_1) == 0) { if (! hostname[size_1 - 1]) break; } else if (errno != 0 && errno != ENAMETOOLONG && errno != EINVAL /* OSX/Darwin does this when the buffer is not large enough */ && errno != ENOMEM) { int saved_errno = errno; free (hostname); errno = saved_errno; return NULL; } } return hostname; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/float.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002504�12071024546�012367� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Auxiliary definitions for <float.h>. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <float.h> #if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ const union gl_long_double_union gl_LDBL_MAX = { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } }; #elif defined __i386__ const union gl_long_double_union gl_LDBL_MAX = { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } }; #else /* This declaration is solely to ensure that after preprocessing this file is never empty. */ typedef int dummy; #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stat.c���������������������������������������������������������������������������0000664�0000000�0000000�00000010666�12071024546�012245� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around platform bugs in stat. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ /* If the user's config.h happens to include <sys/stat.h>, let it include only the system's <sys/stat.h> here, so that orig_stat doesn't recurse to rpl_stat. */ #define __need_system_sys_stat_h #include <config.h> /* Get the original definition of stat. It might be defined as a macro. */ #include <sys/types.h> #include <sys/stat.h> #undef __need_system_sys_stat_h #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # if _GL_WINDOWS_64_BIT_ST_SIZE # undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ # define stat _stati64 # define REPLACE_FUNC_STAT_DIR 1 # undef REPLACE_FUNC_STAT_FILE # elif REPLACE_FUNC_STAT_FILE /* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a. Bypass it. */ # define stat _stat # define REPLACE_FUNC_STAT_DIR 1 # undef REPLACE_FUNC_STAT_FILE # endif #endif static int orig_stat (const char *filename, struct stat *buf) { return stat (filename, buf); } /* Specification. */ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ #include "sys/stat.h" #include <errno.h> #include <limits.h> #include <stdbool.h> #include <string.h> #include "dosname.h" #include "verify.h" #if REPLACE_FUNC_STAT_DIR # include "pathmax.h" /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also have a constant PATH_MAX. */ # ifndef PATH_MAX # error "Please port this replacement to your platform" # endif #endif /* Store information about NAME into ST. Work around bugs with trailing slashes. Mingw has other bugs (such as st_ino always being 0 on success) which this wrapper does not work around. But at least this implementation provides the ability to emulate fchdir correctly. */ int rpl_stat (char const *name, struct stat *st) { int result = orig_stat (name, st); #if REPLACE_FUNC_STAT_FILE /* Solaris 9 mistakenly succeeds when given a non-directory with a trailing slash. */ if (result == 0 && !S_ISDIR (st->st_mode)) { size_t len = strlen (name); if (ISSLASH (name[len - 1])) { errno = ENOTDIR; return -1; } } #endif /* REPLACE_FUNC_STAT_FILE */ #if REPLACE_FUNC_STAT_DIR if (result == -1 && errno == ENOENT) { /* Due to mingw's oddities, there are some directories (like c:\) where stat() only succeeds with a trailing slash, and other directories (like c:\windows) where stat() only succeeds without a trailing slash. But we want the two to be synonymous, since chdir() manages either style. Likewise, Mingw also reports ENOENT for names longer than PATH_MAX, when we want ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR. Fortunately, mingw PATH_MAX is small enough for stack allocation. */ char fixed_name[PATH_MAX + 1] = {0}; size_t len = strlen (name); bool check_dir = false; verify (PATH_MAX <= 4096); if (PATH_MAX <= len) errno = ENAMETOOLONG; else if (len) { strcpy (fixed_name, name); if (ISSLASH (fixed_name[len - 1])) { check_dir = true; while (len && ISSLASH (fixed_name[len - 1])) fixed_name[--len] = '\0'; if (!len) fixed_name[0] = '/'; } else fixed_name[len++] = '/'; result = orig_stat (fixed_name, st); if (result == 0 && check_dir && !S_ISDIR (st->st_mode)) { result = -1; errno = ENOTDIR; } } } #endif /* REPLACE_FUNC_STAT_DIR */ return result; } ��������������������������������������������������������������������������coreutils-8.21/lib/file-set.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000663�11624727634�013016� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <sys/types.h> #include <sys/stat.h> #include <stdbool.h> #include "hash.h" extern void record_file (Hash_table *ht, char const *file, struct stat const *stats) #if defined __GNUC__ && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3) __attribute__ ((nonnull (2, 3))) #endif ; extern bool seen_file (Hash_table const *ht, char const *file, struct stat const *stats); �����������������������������������������������������������������������������coreutils-8.21/lib/heap.c���������������������������������������������������������������������������0000664�0000000�0000000�00000007104�12102337340�012172� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Barebones heap implementation supporting only insert and pop. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Full implementation: GDSL (http://gna.org/projects/gdsl/) by Nicolas Darnis <ndarnis@free.fr>. */ #include <config.h> #include "heap.h" #include "stdlib--.h" #include "xalloc.h" static int heap_default_compare (void const *, void const *); static size_t heapify_down (void **, size_t, size_t, int (*) (void const *, void const *)); static void heapify_up (void **, size_t, int (*) (void const *, void const *)); struct heap { void **array; /* array[0] is not used */ size_t capacity; /* Array size */ size_t count; /* Used as index to last element. Also is num of items. */ int (*compare) (void const *, void const *); }; /* Allocate memory for the heap. */ struct heap * heap_alloc (int (*compare) (void const *, void const *), size_t n_reserve) { struct heap *heap = xmalloc (sizeof *heap); if (n_reserve == 0) n_reserve = 1; heap->array = xnmalloc (n_reserve, sizeof *(heap->array)); heap->array[0] = NULL; heap->capacity = n_reserve; heap->count = 0; heap->compare = compare ? compare : heap_default_compare; return heap; } static int heap_default_compare (void const *a, void const *b) { return 0; } void heap_free (struct heap *heap) { free (heap->array); free (heap); } /* Insert element into heap. */ int heap_insert (struct heap *heap, void *item) { if (heap->capacity - 1 <= heap->count) heap->array = x2nrealloc (heap->array, &heap->capacity, sizeof *(heap->array)); heap->array[++heap->count] = item; heapify_up (heap->array, heap->count, heap->compare); return 0; } /* Pop top element off heap. */ void * heap_remove_top (struct heap *heap) { void *top; if (heap->count == 0) return NULL; top = heap->array[1]; heap->array[1] = heap->array[heap->count--]; heapify_down (heap->array, heap->count, 1, heap->compare); return top; } /* Move element down into appropriate position in heap. */ static size_t heapify_down (void **array, size_t count, size_t initial, int (*compare) (void const *, void const *)) { void *element = array[initial]; size_t parent = initial; while (parent <= count / 2) { size_t child = 2 * parent; if (child < count && compare (array[child], array[child+1]) < 0) child++; if (compare (array[child], element) <= 0) break; array[parent] = array[child]; parent = child; } array[parent] = element; return parent; } /* Move element up into appropriate position in heap. */ static void heapify_up (void **array, size_t count, int (*compare) (void const *, void const *)) { size_t k = count; void *new_element = array[k]; while (k != 1 && compare (array[k/2], new_element) <= 0) { array[k] = array[k/2]; k /= 2; } array[k] = new_element; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstriconv.c����������������������������������������������������������������������0000664�0000000�0000000�00000003117�12071024546�013322� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Charset conversion with out-of-memory checking. Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "xstriconv.h" #include <errno.h> #include "striconv.h" #include "xalloc.h" #if HAVE_ICONV int xmem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp) { int retval = mem_cd_iconv (src, srclen, cd, resultp, lengthp); if (retval < 0 && errno == ENOMEM) xalloc_die (); return retval; } char * xstr_cd_iconv (const char *src, iconv_t cd) { char *result = str_cd_iconv (src, cd); if (result == NULL && errno == ENOMEM) xalloc_die (); return result; } #endif char * xstr_iconv (const char *src, const char *from_codeset, const char *to_codeset) { char *result = str_iconv (src, from_codeset, to_codeset); if (result == NULL && errno == ENOMEM) xalloc_die (); return result; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/verror.h�������������������������������������������������������������������������0000664�0000000�0000000�00000003775�12071024546�012621� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declaration for va_list error-reporting function Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _VERROR_H #define _VERROR_H 1 #include <stdarg.h> #include "error.h" /* for _GL_ATTRIBUTE_FORMAT */ #ifdef __cplusplus extern "C" { #endif /* Print a message with 'vfprintf (stderr, FORMAT, ARGS)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with 'exit (STATUS)'. Use the globals error_print_progname and error_message_count similarly to error(). */ extern void verror (int __status, int __errnum, const char *__format, va_list __args) _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 0)); /* Print a message with 'vfprintf (stderr, FORMAT, ARGS)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with 'exit (STATUS)'. If FNAME is not NULL, prepend the message with "FNAME:LINENO:". Use the globals error_print_progname, error_message_count, and error_one_per_line similarly to error_at_line(). */ extern void verror_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, va_list __args) _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 0)); #ifdef __cplusplus } #endif #endif /* verror.h */ ���coreutils-8.21/lib/c-strtod.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003506�12071024545�013030� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string to double, using the C locale. Copyright (C) 2003-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Parse the initial portion of the string pointed to by NPTR as a floating- point number (in decimal or hexadecimal notation), like in the C locale: accepting only the ASCII digits '0'..'9', and only '.' as decimal point character. If ENDPTR is not NULL, set *ENDPTR to point to the first byte beyond the parsed number or to NPTR if the string does not start with a parsable number. Return value: - If successful, return the value as a double or 'long double', respectively, and don't modify errno. - In case of overflow, return ±HUGE_VAL or ±HUGE_VALL, respectively, and set errno to ERANGE. - In case of underflow, return a value very near to 0 and set errno to ERANGE. - If the string does not start with a number at all, return 0 (and recall that if ENDPTR != NULL, *ENDPTR is set to NPTR), and maybe set errno to EINVAL. - In case of other error, return 0 and set errno, for example to ENOMEM. */ extern double c_strtod (char const *nptr, char **endptr); extern long double c_strtold (char const *nptr, char **endptr); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/set-mode-acl.c�������������������������������������������������������������������0000664�0000000�0000000�00000053362�12071024546�013544� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* set-mode-acl.c - set access control list equivalent to a mode Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert and Andreas Gruenbacher, and Bruno Haible. */ #include <config.h> #define ACL_INTERNAL_INLINE _GL_EXTERN_INLINE #include "acl.h" #include "acl-internal.h" #include "gettext.h" #define _(msgid) gettext (msgid) /* If DESC is a valid file descriptor use fchmod to change the file's mode to MODE on systems that have fchown. On systems that don't have fchown and if DESC is invalid, use chown on NAME instead. Return 0 if successful. Return -1 and set errno upon failure. */ int chmod_or_fchmod (const char *name, int desc, mode_t mode) { if (HAVE_FCHMOD && desc != -1) return fchmod (desc, mode); else return chmod (name, mode); } /* Set the access control lists of a file. If DESC is a valid file descriptor, use file descriptor operations where available, else use filename based operations on NAME. If access control lists are not available, fchmod the target file to MODE. Also sets the non-permission bits of the destination file (S_ISUID, S_ISGID, S_ISVTX) to those from MODE if any are set. Return 0 if successful. Return -1 and set errno upon failure. */ int qset_acl (char const *name, int desc, mode_t mode) { #if USE_ACL # if HAVE_ACL_GET_FILE /* POSIX 1003.1e draft 17 (abandoned) specific version. */ /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */ # if !HAVE_ACL_TYPE_EXTENDED /* Linux, FreeBSD, IRIX, Tru64 */ /* We must also have acl_from_text and acl_delete_def_file. (acl_delete_def_file could be emulated with acl_init followed by acl_set_file, but acl_set_file with an empty acl is unspecified.) */ # ifndef HAVE_ACL_FROM_TEXT # error Must have acl_from_text (see POSIX 1003.1e draft 17). # endif # ifndef HAVE_ACL_DELETE_DEF_FILE # error Must have acl_delete_def_file (see POSIX 1003.1e draft 17). # endif acl_t acl; int ret; if (HAVE_ACL_FROM_MODE) /* Linux */ { acl = acl_from_mode (mode); if (!acl) return -1; } else /* FreeBSD, IRIX, Tru64 */ { /* If we were to create the ACL using the functions acl_init(), acl_create_entry(), acl_set_tag_type(), acl_set_qualifier(), acl_get_permset(), acl_clear_perm[s](), acl_add_perm(), we would need to create a qualifier. I don't know how to do this. So create it using acl_from_text(). */ # if HAVE_ACL_FREE_TEXT /* Tru64 */ char acl_text[] = "u::---,g::---,o::---,"; # else /* FreeBSD, IRIX */ char acl_text[] = "u::---,g::---,o::---"; # endif if (mode & S_IRUSR) acl_text[ 3] = 'r'; if (mode & S_IWUSR) acl_text[ 4] = 'w'; if (mode & S_IXUSR) acl_text[ 5] = 'x'; if (mode & S_IRGRP) acl_text[10] = 'r'; if (mode & S_IWGRP) acl_text[11] = 'w'; if (mode & S_IXGRP) acl_text[12] = 'x'; if (mode & S_IROTH) acl_text[17] = 'r'; if (mode & S_IWOTH) acl_text[18] = 'w'; if (mode & S_IXOTH) acl_text[19] = 'x'; acl = acl_from_text (acl_text); if (!acl) return -1; } if (HAVE_ACL_SET_FD && desc != -1) ret = acl_set_fd (desc, acl); else ret = acl_set_file (name, ACL_TYPE_ACCESS, acl); if (ret != 0) { int saved_errno = errno; acl_free (acl); if (ACL_NOT_WELL_SUPPORTED (errno)) return chmod_or_fchmod (name, desc, mode); else { errno = saved_errno; return -1; } } else acl_free (acl); if (S_ISDIR (mode) && acl_delete_def_file (name)) return -1; if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { /* We did not call chmod so far, and either the mode and the ACL are separate or special bits are to be set which don't fit into ACLs. */ return chmod_or_fchmod (name, desc, mode); } return 0; # else /* HAVE_ACL_TYPE_EXTENDED */ /* Mac OS X */ /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS) and acl_get_file (name, ACL_TYPE_DEFAULT) always return NULL / EINVAL. You have to use acl_get_file (name, ACL_TYPE_EXTENDED) or acl_get_fd (open (name, ...)) to retrieve an ACL. On the other hand, acl_set_file (name, ACL_TYPE_ACCESS, acl) and acl_set_file (name, ACL_TYPE_DEFAULT, acl) have the same effect as acl_set_file (name, ACL_TYPE_EXTENDED, acl): Each of these calls sets the file's ACL. */ acl_t acl; int ret; /* Remove the ACL if the file has ACLs. */ if (HAVE_ACL_GET_FD && desc != -1) acl = acl_get_fd (desc); else acl = acl_get_file (name, ACL_TYPE_EXTENDED); if (acl) { acl_free (acl); acl = acl_init (0); if (acl) { if (HAVE_ACL_SET_FD && desc != -1) ret = acl_set_fd (desc, acl); else ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl); if (ret != 0) { int saved_errno = errno; acl_free (acl); if (ACL_NOT_WELL_SUPPORTED (saved_errno)) return chmod_or_fchmod (name, desc, mode); else { errno = saved_errno; return -1; } } acl_free (acl); } } /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly. */ return chmod_or_fchmod (name, desc, mode); # endif # elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */ int done_setacl = 0; # ifdef ACE_GETACL /* Solaris also has a different variant of ACLs, used in ZFS and NFSv4 file systems (whereas the other ones are used in UFS file systems). */ /* The flags in the ace_t structure changed in a binary incompatible way when ACL_NO_TRIVIAL etc. were introduced in <sys/acl.h> version 1.15. How to distinguish the two conventions at runtime? We fetch the existing ACL. In the old convention, usually three ACEs have a_flags = ACE_OWNER / ACE_GROUP / ACE_OTHER, in the range 0x0100..0x0400. In the new convention, these values are not used. */ int convention; { /* Initially, try to read the entries into a stack-allocated buffer. Use malloc if it does not fit. */ enum { alloc_init = 4000 / sizeof (ace_t), /* >= 3 */ alloc_max = MIN (INT_MAX, SIZE_MAX / sizeof (ace_t)) }; ace_t buf[alloc_init]; size_t alloc = alloc_init; ace_t *entries = buf; ace_t *malloced = NULL; int count; for (;;) { count = (desc != -1 ? facl (desc, ACE_GETACL, alloc, entries) : acl (name, ACE_GETACL, alloc, entries)); if (count < 0 && errno == ENOSPC) { /* Increase the size of the buffer. */ free (malloced); if (alloc > alloc_max / 2) { errno = ENOMEM; return -1; } alloc = 2 * alloc; /* <= alloc_max */ entries = malloced = (ace_t *) malloc (alloc * sizeof (ace_t)); if (entries == NULL) { errno = ENOMEM; return -1; } continue; } break; } if (count <= 0) convention = -1; else { int i; convention = 0; for (i = 0; i < count; i++) if (entries[i].a_flags & (OLD_ACE_OWNER | OLD_ACE_GROUP | OLD_ACE_OTHER)) { convention = 1; break; } } free (malloced); } if (convention >= 0) { ace_t entries[6]; int count; int ret; if (convention) { /* Running on Solaris 10. */ entries[0].a_type = OLD_ALLOW; entries[0].a_flags = OLD_ACE_OWNER; entries[0].a_who = 0; /* irrelevant */ entries[0].a_access_mask = (mode >> 6) & 7; entries[1].a_type = OLD_ALLOW; entries[1].a_flags = OLD_ACE_GROUP; entries[1].a_who = 0; /* irrelevant */ entries[1].a_access_mask = (mode >> 3) & 7; entries[2].a_type = OLD_ALLOW; entries[2].a_flags = OLD_ACE_OTHER; entries[2].a_who = 0; entries[2].a_access_mask = mode & 7; count = 3; } else { /* Running on Solaris 10 (newer version) or Solaris 11. The details here were found through "/bin/ls -lvd somefiles". */ entries[0].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; entries[0].a_flags = NEW_ACE_OWNER; entries[0].a_who = 0; /* irrelevant */ entries[0].a_access_mask = 0; entries[1].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; entries[1].a_flags = NEW_ACE_OWNER; entries[1].a_who = 0; /* irrelevant */ entries[1].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS | NEW_ACE_WRITE_ATTRIBUTES | NEW_ACE_WRITE_ACL | NEW_ACE_WRITE_OWNER; if (mode & 0400) entries[1].a_access_mask |= NEW_ACE_READ_DATA; else entries[0].a_access_mask |= NEW_ACE_READ_DATA; if (mode & 0200) entries[1].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; else entries[0].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; if (mode & 0100) entries[1].a_access_mask |= NEW_ACE_EXECUTE; else entries[0].a_access_mask |= NEW_ACE_EXECUTE; entries[2].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; entries[2].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; entries[2].a_who = 0; /* irrelevant */ entries[2].a_access_mask = 0; entries[3].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; entries[3].a_flags = NEW_ACE_GROUP | NEW_ACE_IDENTIFIER_GROUP; entries[3].a_who = 0; /* irrelevant */ entries[3].a_access_mask = 0; if (mode & 0040) entries[3].a_access_mask |= NEW_ACE_READ_DATA; else entries[2].a_access_mask |= NEW_ACE_READ_DATA; if (mode & 0020) entries[3].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; else entries[2].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; if (mode & 0010) entries[3].a_access_mask |= NEW_ACE_EXECUTE; else entries[2].a_access_mask |= NEW_ACE_EXECUTE; entries[4].a_type = NEW_ACE_ACCESS_DENIED_ACE_TYPE; entries[4].a_flags = NEW_ACE_EVERYONE; entries[4].a_who = 0; entries[4].a_access_mask = NEW_ACE_WRITE_NAMED_ATTRS | NEW_ACE_WRITE_ATTRIBUTES | NEW_ACE_WRITE_ACL | NEW_ACE_WRITE_OWNER; entries[5].a_type = NEW_ACE_ACCESS_ALLOWED_ACE_TYPE; entries[5].a_flags = NEW_ACE_EVERYONE; entries[5].a_who = 0; entries[5].a_access_mask = NEW_ACE_READ_NAMED_ATTRS | NEW_ACE_READ_ATTRIBUTES | NEW_ACE_READ_ACL | NEW_ACE_SYNCHRONIZE; if (mode & 0004) entries[5].a_access_mask |= NEW_ACE_READ_DATA; else entries[4].a_access_mask |= NEW_ACE_READ_DATA; if (mode & 0002) entries[5].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; else entries[4].a_access_mask |= NEW_ACE_WRITE_DATA | NEW_ACE_APPEND_DATA; if (mode & 0001) entries[5].a_access_mask |= NEW_ACE_EXECUTE; else entries[4].a_access_mask |= NEW_ACE_EXECUTE; count = 6; } if (desc != -1) ret = facl (desc, ACE_SETACL, count, entries); else ret = acl (name, ACE_SETACL, count, entries); if (ret < 0 && errno != EINVAL && errno != ENOTSUP) { if (errno == ENOSYS) return chmod_or_fchmod (name, desc, mode); return -1; } if (ret == 0) done_setacl = 1; } # endif if (!done_setacl) { aclent_t entries[3]; int ret; entries[0].a_type = USER_OBJ; entries[0].a_id = 0; /* irrelevant */ entries[0].a_perm = (mode >> 6) & 7; entries[1].a_type = GROUP_OBJ; entries[1].a_id = 0; /* irrelevant */ entries[1].a_perm = (mode >> 3) & 7; entries[2].a_type = OTHER_OBJ; entries[2].a_id = 0; entries[2].a_perm = mode & 7; if (desc != -1) ret = facl (desc, SETACL, sizeof (entries) / sizeof (aclent_t), entries); else ret = acl (name, SETACL, sizeof (entries) / sizeof (aclent_t), entries); if (ret < 0) { if (errno == ENOSYS || errno == EOPNOTSUPP) return chmod_or_fchmod (name, desc, mode); return -1; } } if (!MODE_INSIDE_ACL || (mode & (S_ISUID | S_ISGID | S_ISVTX))) { /* We did not call chmod so far, so the special bits have not yet been set. */ return chmod_or_fchmod (name, desc, mode); } return 0; # elif HAVE_GETACL /* HP-UX */ struct stat statbuf; int ret; if (desc != -1) ret = fstat (desc, &statbuf); else ret = stat (name, &statbuf); if (ret < 0) return -1; { struct acl_entry entries[3]; entries[0].uid = statbuf.st_uid; entries[0].gid = ACL_NSGROUP; entries[0].mode = (mode >> 6) & 7; entries[1].uid = ACL_NSUSER; entries[1].gid = statbuf.st_gid; entries[1].mode = (mode >> 3) & 7; entries[2].uid = ACL_NSUSER; entries[2].gid = ACL_NSGROUP; entries[2].mode = mode & 7; if (desc != -1) ret = fsetacl (desc, sizeof (entries) / sizeof (struct acl_entry), entries); else ret = setacl (name, sizeof (entries) / sizeof (struct acl_entry), entries); } if (ret < 0) { if (!(errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)) return -1; # if HAVE_ACLV_H /* HP-UX >= 11.11 */ { struct acl entries[4]; entries[0].a_type = USER_OBJ; entries[0].a_id = 0; /* irrelevant */ entries[0].a_perm = (mode >> 6) & 7; entries[1].a_type = GROUP_OBJ; entries[1].a_id = 0; /* irrelevant */ entries[1].a_perm = (mode >> 3) & 7; entries[2].a_type = CLASS_OBJ; entries[2].a_id = 0; entries[2].a_perm = (mode >> 3) & 7; entries[3].a_type = OTHER_OBJ; entries[3].a_id = 0; entries[3].a_perm = mode & 7; ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries); if (ret > 0) abort (); if (ret < 0) { if (0) return chmod_or_fchmod (name, desc, mode); return -1; } ret = acl ((char *) name, ACL_SET, sizeof (entries) / sizeof (struct acl), entries); if (ret < 0) { if (errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL) return chmod_or_fchmod (name, desc, mode); return -1; } } # else return chmod_or_fchmod (name, desc, mode); # endif } if (mode & (S_ISUID | S_ISGID | S_ISVTX)) { /* We did not call chmod so far, so the special bits have not yet been set. */ return chmod_or_fchmod (name, desc, mode); } return 0; # elif HAVE_ACLX_GET && defined ACL_AIX_WIP /* AIX */ acl_type_list_t types; size_t types_size = sizeof (types); acl_type_t type; if (aclx_gettypes (name, &types, &types_size) < 0 || types.num_entries == 0) return chmod_or_fchmod (name, desc, mode); /* XXX Do we need to clear all types of ACLs for the given file, or is it sufficient to clear the first one? */ type = types.entries[0]; if (type.u64 == ACL_AIXC) { union { struct acl a; char room[128]; } u; int ret; u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */ u.a.acl_mode = mode & ~(S_IXACL | 0777); u.a.u_access = (mode >> 6) & 7; u.a.g_access = (mode >> 3) & 7; u.a.o_access = mode & 7; if (desc != -1) ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, type, &u.a, u.a.acl_len, mode); else ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, type, &u.a, u.a.acl_len, mode); if (!(ret < 0 && errno == ENOSYS)) return ret; } else if (type.u64 == ACL_NFS4) { union { nfs4_acl_int_t a; char room[128]; } u; nfs4_ace_int_t *ace; int ret; u.a.aclVersion = NFS4_ACL_INT_STRUCT_VERSION; u.a.aclEntryN = 0; ace = &u.a.aclEntry[0]; { ace->flags = ACE4_ID_SPECIAL; ace->aceWho.special_whoid = ACE4_WHO_OWNER; ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; ace->aceFlags = 0; ace->aceMask = (mode & 0400 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) | (mode & 0200 ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA | ACE4_ADD_SUBDIRECTORY : 0) | (mode & 0100 ? ACE4_EXECUTE : 0); ace->aceWhoString[0] = '\0'; ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; u.a.aclEntryN++; } { ace->flags = ACE4_ID_SPECIAL; ace->aceWho.special_whoid = ACE4_WHO_GROUP; ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; ace->aceFlags = 0; ace->aceMask = (mode & 0040 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) | (mode & 0020 ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA | ACE4_ADD_SUBDIRECTORY : 0) | (mode & 0010 ? ACE4_EXECUTE : 0); ace->aceWhoString[0] = '\0'; ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; u.a.aclEntryN++; } { ace->flags = ACE4_ID_SPECIAL; ace->aceWho.special_whoid = ACE4_WHO_EVERYONE; ace->aceType = ACE4_ACCESS_ALLOWED_ACE_TYPE; ace->aceFlags = 0; ace->aceMask = (mode & 0004 ? ACE4_READ_DATA | ACE4_LIST_DIRECTORY : 0) | (mode & 0002 ? ACE4_WRITE_DATA | ACE4_ADD_FILE | ACE4_APPEND_DATA | ACE4_ADD_SUBDIRECTORY : 0) | (mode & 0001 ? ACE4_EXECUTE : 0); ace->aceWhoString[0] = '\0'; ace->entryLen = (char *) &ace->aceWhoString[4] - (char *) ace; ace = (nfs4_ace_int_t *) (char *) &ace->aceWhoString[4]; u.a.aclEntryN++; } u.a.aclLength = (char *) ace - (char *) &u.a; if (desc != -1) ret = aclx_fput (desc, SET_ACL | SET_MODE_S_BITS, type, &u.a, u.a.aclLength, mode); else ret = aclx_put (name, SET_ACL | SET_MODE_S_BITS, type, &u.a, u.a.aclLength, mode); if (!(ret < 0 && errno == ENOSYS)) return ret; } return chmod_or_fchmod (name, desc, mode); # elif HAVE_STATACL /* older AIX */ union { struct acl a; char room[128]; } u; int ret; u.a.acl_len = (char *) &u.a.acl_ext[0] - (char *) &u.a; /* no entries */ u.a.acl_mode = mode & ~(S_IXACL | 0777); u.a.u_access = (mode >> 6) & 7; u.a.g_access = (mode >> 3) & 7; u.a.o_access = mode & 7; if (desc != -1) ret = fchacl (desc, &u.a, u.a.acl_len); else ret = chacl (name, &u.a, u.a.acl_len); if (ret < 0 && errno == ENOSYS) return chmod_or_fchmod (name, desc, mode); return ret; # elif HAVE_ACLSORT /* NonStop Kernel */ struct acl entries[4]; int ret; entries[0].a_type = USER_OBJ; entries[0].a_id = 0; /* irrelevant */ entries[0].a_perm = (mode >> 6) & 7; entries[1].a_type = GROUP_OBJ; entries[1].a_id = 0; /* irrelevant */ entries[1].a_perm = (mode >> 3) & 7; entries[2].a_type = CLASS_OBJ; entries[2].a_id = 0; entries[2].a_perm = (mode >> 3) & 7; entries[3].a_type = OTHER_OBJ; entries[3].a_id = 0; entries[3].a_perm = mode & 7; ret = aclsort (sizeof (entries) / sizeof (struct acl), 1, entries); if (ret > 0) abort (); if (ret < 0) { if (0) return chmod_or_fchmod (name, desc, mode); return -1; } ret = acl ((char *) name, ACL_SET, sizeof (entries) / sizeof (struct acl), entries); if (ret < 0) { if (0) return chmod_or_fchmod (name, desc, mode); return -1; } if (mode & (S_ISUID | S_ISGID | S_ISVTX)) { /* We did not call chmod so far, so the special bits have not yet been set. */ return chmod_or_fchmod (name, desc, mode); } return 0; # else /* Unknown flavor of ACLs */ return chmod_or_fchmod (name, desc, mode); # endif #else /* !USE_ACL */ return chmod_or_fchmod (name, desc, mode); #endif } /* As with qset_acl, but also output a diagnostic on failure. */ int set_acl (char const *name, int desc, mode_t mode) { int ret = qset_acl (name, desc, mode); if (ret != 0) error (0, errno, _("setting permissions for %s"), quote (name)); return ret; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dup-safer.c����������������������������������������������������������������������0000664�0000000�0000000�00000002026�12071024546�013147� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke dup, but avoid some glitches. Copyright (C) 2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "unistd-safer.h" #include <fcntl.h> #include <unistd.h> /* Like dup, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int dup_safer (int fd) { return fcntl (fd, F_DUPFD, STDERR_FILENO + 1); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/full-write.c���������������������������������������������������������������������0000664�0000000�0000000�00000004361�12071024546�013357� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to read and write that retries (if necessary) until complete. Copyright (C) 1993-1994, 1997-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #ifdef FULL_READ # include "full-read.h" #else # include "full-write.h" #endif #include <errno.h> #ifdef FULL_READ # include "safe-read.h" # define safe_rw safe_read # define full_rw full_read # undef const # define const /* empty */ #else # include "safe-write.h" # define safe_rw safe_write # define full_rw full_write #endif #ifdef FULL_READ /* Set errno to zero upon EOF. */ # define ZERO_BYTE_TRANSFER_ERRNO 0 #else /* Some buggy drivers return 0 when one tries to write beyond a device's end. (Example: Linux 1.2.13 on /dev/fd0.) Set errno to ENOSPC so they get a sensible diagnostic. */ # define ZERO_BYTE_TRANSFER_ERRNO ENOSPC #endif /* Write(read) COUNT bytes at BUF to(from) descriptor FD, retrying if interrupted or if a partial write(read) occurs. Return the number of bytes transferred. When writing, set errno if fewer than COUNT bytes are written. When reading, if fewer than COUNT bytes are read, you must examine errno to distinguish failure from EOF (errno == 0). */ size_t full_rw (int fd, const void *buf, size_t count) { size_t total = 0; const char *ptr = (const char *) buf; while (count > 0) { size_t n_rw = safe_rw (fd, ptr, count); if (n_rw == (size_t) -1) break; if (n_rw == 0) { errno = ZERO_BYTE_TRANSFER_ERRNO; break; } total += n_rw; ptr += n_rw; count -= n_rw; } return total; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fts-cycle.c����������������������������������������������������������������������0000664�0000000�0000000�00000010265�12071024546�013156� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Detect cycles in file tree walks. Copyright (C) 2003-2006, 2009-2013 Free Software Foundation, Inc. Written by Jim Meyering. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "cycle-check.h" #include "hash.h" /* Use each of these to map a device/inode pair to an FTSENT. */ struct Active_dir { dev_t dev; ino_t ino; FTSENT *fts_ent; }; static bool AD_compare (void const *x, void const *y) { struct Active_dir const *ax = x; struct Active_dir const *ay = y; return ax->ino == ay->ino && ax->dev == ay->dev; } static size_t AD_hash (void const *x, size_t table_size) { struct Active_dir const *ax = x; return (uintmax_t) ax->ino % table_size; } /* Set up the cycle-detection machinery. */ static bool setup_dir (FTS *fts) { if (fts->fts_options & (FTS_TIGHT_CYCLE_CHECK | FTS_LOGICAL)) { enum { HT_INITIAL_SIZE = 31 }; fts->fts_cycle.ht = hash_initialize (HT_INITIAL_SIZE, NULL, AD_hash, AD_compare, free); if (! fts->fts_cycle.ht) return false; } else { fts->fts_cycle.state = malloc (sizeof *fts->fts_cycle.state); if (! fts->fts_cycle.state) return false; cycle_check_init (fts->fts_cycle.state); } return true; } /* Enter a directory during a file tree walk. */ static bool enter_dir (FTS *fts, FTSENT *ent) { if (fts->fts_options & (FTS_TIGHT_CYCLE_CHECK | FTS_LOGICAL)) { struct stat const *st = ent->fts_statp; struct Active_dir *ad = malloc (sizeof *ad); struct Active_dir *ad_from_table; if (!ad) return false; ad->dev = st->st_dev; ad->ino = st->st_ino; ad->fts_ent = ent; /* See if we've already encountered this directory. This can happen when following symlinks as well as with a corrupted directory hierarchy. */ ad_from_table = hash_insert (fts->fts_cycle.ht, ad); if (ad_from_table != ad) { free (ad); if (!ad_from_table) return false; /* There was an entry with matching dev/inode already in the table. Record the fact that we've found a cycle. */ ent->fts_cycle = ad_from_table->fts_ent; ent->fts_info = FTS_DC; } } else { if (cycle_check (fts->fts_cycle.state, ent->fts_statp)) { /* FIXME: setting fts_cycle like this isn't proper. To do what the documentation requires, we'd have to go around the cycle again and find the right entry. But no callers in coreutils use the fts_cycle member. */ ent->fts_cycle = ent; ent->fts_info = FTS_DC; } } return true; } /* Leave a directory during a file tree walk. */ static void leave_dir (FTS *fts, FTSENT *ent) { struct stat const *st = ent->fts_statp; if (fts->fts_options & (FTS_TIGHT_CYCLE_CHECK | FTS_LOGICAL)) { struct Active_dir obj; void *found; obj.dev = st->st_dev; obj.ino = st->st_ino; found = hash_delete (fts->fts_cycle.ht, &obj); if (!found) abort (); free (found); } else { FTSENT *parent = ent->fts_parent; if (parent != NULL && 0 <= parent->fts_level) CYCLE_CHECK_REFLECT_CHDIR_UP (fts->fts_cycle.state, *(parent->fts_statp), *st); } } /* Free any memory used for cycle detection. */ static void free_dir (FTS *sp) { if (sp->fts_options & (FTS_TIGHT_CYCLE_CHECK | FTS_LOGICAL)) { if (sp->fts_cycle.ht) hash_free (sp->fts_cycle.ht); } else free (sp->fts_cycle.state); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/siglist.h������������������������������������������������������������������������0000664�0000000�0000000�00000007415�12071024546�012753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Canonical list of all signal names. Copyright (C) 1996-1999, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* This file should be usable for any platform, since it just associates the SIG* macros with text names and descriptions. The actual values come from <bits/signum.h> (via <signal.h>). For any signal macros do not exist on every platform, we can use #ifdef tests here and still use this single common file for all platforms. */ /* This file is included multiple times. */ /* Duplicate values (such as SIGBUS==SIGSEGV on Haiku) favor the last list entry. */ /* Standard signals */ #ifdef SIGHUP init_sig (SIGHUP, "HUP", N_("Hangup")) #endif #ifdef SIGINT init_sig (SIGINT, "INT", N_("Interrupt")) #endif #ifdef SIGQUIT init_sig (SIGQUIT, "QUIT", N_("Quit")) #endif #ifdef SIGILL init_sig (SIGILL, "ILL", N_("Illegal instruction")) #endif #ifdef SIGTRAP init_sig (SIGTRAP, "TRAP", N_("Trace/breakpoint trap")) #endif #ifdef SIGABRT init_sig (SIGABRT, "ABRT", N_("Aborted")) #endif #ifdef SIGFPE init_sig (SIGFPE, "FPE", N_("Floating point exception")) #endif #ifdef SIGKILL init_sig (SIGKILL, "KILL", N_("Killed")) #endif #ifdef SIGBUS init_sig (SIGBUS, "BUS", N_("Bus error")) #endif #ifdef SIGSEGV init_sig (SIGSEGV, "SEGV", N_("Segmentation fault")) #endif #ifdef SIGPIPE init_sig (SIGPIPE, "PIPE", N_("Broken pipe")) #endif #ifdef SIGALRM init_sig (SIGALRM, "ALRM", N_("Alarm clock")) #endif #ifdef SIGTERM init_sig (SIGTERM, "TERM", N_("Terminated")) #endif #ifdef SIGURG init_sig (SIGURG, "URG", N_("Urgent I/O condition")) #endif #ifdef SIGSTOP init_sig (SIGSTOP, "STOP", N_("Stopped (signal)")) #endif #ifdef SIGTSTP init_sig (SIGTSTP, "TSTP", N_("Stopped")) #endif #ifdef SIGCONT init_sig (SIGCONT, "CONT", N_("Continued")) #endif #ifdef SIGCHLD init_sig (SIGCHLD, "CHLD", N_("Child exited")) #endif #ifdef SIGTTIN init_sig (SIGTTIN, "TTIN", N_("Stopped (tty input)")) #endif #ifdef SIGTTOU init_sig (SIGTTOU, "TTOU", N_("Stopped (tty output)")) #endif #ifdef SIGIO init_sig (SIGIO, "IO", N_("I/O possible")) #endif #ifdef SIGXCPU init_sig (SIGXCPU, "XCPU", N_("CPU time limit exceeded")) #endif #ifdef SIGXFSZ init_sig (SIGXFSZ, "XFSZ", N_("File size limit exceeded")) #endif #ifdef SIGVTALRM init_sig (SIGVTALRM, "VTALRM", N_("Virtual timer expired")) #endif #ifdef SIGPROF init_sig (SIGPROF, "PROF", N_("Profiling timer expired")) #endif #ifdef SIGWINCH init_sig (SIGWINCH, "WINCH", N_("Window changed")) #endif #ifdef SIGUSR1 init_sig (SIGUSR1, "USR1", N_("User defined signal 1")) #endif #ifdef SIGUSR2 init_sig (SIGUSR2, "USR2", N_("User defined signal 2")) #endif /* Variations */ #ifdef SIGEMT init_sig (SIGEMT, "EMT", N_("EMT trap")) #endif #ifdef SIGSYS init_sig (SIGSYS, "SYS", N_("Bad system call")) #endif #ifdef SIGSTKFLT init_sig (SIGSTKFLT, "STKFLT", N_("Stack fault")) #endif #ifdef SIGINFO init_sig (SIGINFO, "INFO", N_("Information request")) #elif defined(SIGPWR) && (!defined(SIGLOST) || (SIGPWR != SIGLOST)) init_sig (SIGPWR, "PWR", N_("Power failure")) #endif #ifdef SIGLOST init_sig (SIGLOST, "LOST", N_("Resource lost")) #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/uname.c��������������������������������������������������������������������������0000664�0000000�0000000�00000021026�12071024546�012367� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* uname replacement. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <sys/utsname.h> /* This file provides an implementation only for the native Windows API. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <windows.h> /* Mingw headers don't have all the platform codes. */ #ifndef VER_PLATFORM_WIN32_CE # define VER_PLATFORM_WIN32_CE 3 #endif /* Some headers don't have all the processor architecture codes. */ #ifndef PROCESSOR_ARCHITECTURE_AMD64 # define PROCESSOR_ARCHITECTURE_AMD64 9 #endif #ifndef PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 # define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10 #endif /* Mingw headers don't have the latest processor codes. */ #ifndef PROCESSOR_AMD_X8664 # define PROCESSOR_AMD_X8664 8664 #endif int uname (struct utsname *buf) { OSVERSIONINFO version; OSVERSIONINFOEX versionex; BOOL have_versionex; /* indicates whether versionex is filled */ const char *super_version; /* Preparation: Fill version and, if possible, also versionex. But try to call GetVersionEx only once in the common case. */ versionex.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); have_versionex = GetVersionEx ((OSVERSIONINFO *) &versionex); if (have_versionex) { /* We know that OSVERSIONINFO is a subset of OSVERSIONINFOEX. */ memcpy (&version, &versionex, sizeof (OSVERSIONINFO)); } else { version.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); if (!GetVersionEx (&version)) abort (); } /* Fill in nodename. */ if (gethostname (buf->nodename, sizeof (buf->nodename)) < 0) strcpy (buf->nodename, "localhost"); /* Determine major-major Windows version. */ if (version.dwPlatformId == VER_PLATFORM_WIN32_NT) { /* Windows NT or newer. */ super_version = "NT"; } else if (version.dwPlatformId == VER_PLATFORM_WIN32_CE) { /* Windows CE or Embedded CE. */ super_version = "CE"; } else if (version.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { /* Windows 95/98/ME. */ switch (version.dwMinorVersion) { case 0: super_version = "95"; break; case 10: super_version = "98"; break; case 90: super_version = "ME"; break; default: super_version = ""; break; } } else super_version = ""; /* Fill in sysname. */ #ifdef __MINGW32__ /* Returns a string compatible with the MSYS uname.exe program, so that no further changes are needed to GNU config.guess. For example, $ ./uname.exe -s => MINGW32_NT-5.1 */ sprintf (buf->sysname, "MINGW32_%s-%u.%u", super_version, (unsigned int) version.dwMajorVersion, (unsigned int) version.dwMinorVersion); #else sprintf (buf->sysname, "Windows%s", super_version); #endif /* Fill in release, version. */ /* The MSYS uname.exe programs uses strings from a modified Cygwin runtime: $ ./uname.exe -r => 1.0.11(0.46/3/2) $ ./uname.exe -v => 2008-08-25 23:40 There is no point in imitating this behaviour. */ if (version.dwPlatformId == VER_PLATFORM_WIN32_NT) { /* Windows NT or newer. */ struct windows_version { int major; int minor; unsigned int server_offset; const char *name; }; /* Storing the workstation and server version names in a single stream does not waste memory when they are the same. These macros abstract the representation. VERSION1 is used if version.wProductType does not matter, VERSION2 if it does. */ #define VERSION1(major, minor, name) \ { major, minor, 0, name } #define VERSION2(major, minor, workstation, server) \ { major, minor, sizeof workstation, workstation "\0" server } static const struct windows_version versions[] = { VERSION2 (3, -1, "Windows NT Workstation", "Windows NT Server"), VERSION2 (4, -1, "Windows NT Workstation", "Windows NT Server"), VERSION1 (5, 0, "Windows 2000"), VERSION1 (5, 1, "Windows XP"), VERSION1 (5, 2, "Windows Server 2003"), VERSION2 (6, 0, "Windows Vista", "Windows Server 2008"), VERSION2 (6, 1, "Windows 7", "Windows Server 2008 R2"), VERSION2 (-1, -1, "Windows", "Windows Server") }; const char *base; const struct windows_version *v = versions; /* Find a version that matches ours. The last element is a wildcard that always ends the loop. */ while ((v->major != version.dwMajorVersion && v->major != -1) || (v->minor != version.dwMinorVersion && v->minor != -1)) v++; if (have_versionex && versionex.wProductType != VER_NT_WORKSTATION) base = v->name + v->server_offset; else base = v->name; if (v->major == -1 || v->minor == -1) sprintf (buf->release, "%s %u.%u", base, (unsigned int) version.dwMajorVersion, (unsigned int) version.dwMinorVersion); else strcpy (buf->release, base); } else if (version.dwPlatformId == VER_PLATFORM_WIN32_CE) { /* Windows CE or Embedded CE. */ sprintf (buf->release, "Windows CE %u.%u", (unsigned int) version.dwMajorVersion, (unsigned int) version.dwMinorVersion); } else { /* Windows 95/98/ME. */ sprintf (buf->release, "Windows %s", super_version); } strcpy (buf->version, version.szCSDVersion); /* Fill in machine. */ { SYSTEM_INFO info; GetSystemInfo (&info); /* Check for Windows NT or CE, since the info.wProcessorLevel is garbage on Windows 95. */ if (version.dwPlatformId == VER_PLATFORM_WIN32_NT || version.dwPlatformId == VER_PLATFORM_WIN32_CE) { /* Windows NT or newer, or Windows CE or Embedded CE. */ switch (info.wProcessorArchitecture) { case PROCESSOR_ARCHITECTURE_AMD64: strcpy (buf->machine, "x86_64"); break; case PROCESSOR_ARCHITECTURE_IA64: strcpy (buf->machine, "ia64"); break; case PROCESSOR_ARCHITECTURE_INTEL: strcpy (buf->machine, "i386"); if (info.wProcessorLevel >= 3) buf->machine[1] = '0' + (info.wProcessorLevel <= 6 ? info.wProcessorLevel : 6); break; case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: strcpy (buf->machine, "i686"); break; case PROCESSOR_ARCHITECTURE_MIPS: strcpy (buf->machine, "mips"); break; case PROCESSOR_ARCHITECTURE_ALPHA: case PROCESSOR_ARCHITECTURE_ALPHA64: strcpy (buf->machine, "alpha"); break; case PROCESSOR_ARCHITECTURE_PPC: strcpy (buf->machine, "powerpc"); break; case PROCESSOR_ARCHITECTURE_SHX: strcpy (buf->machine, "sh"); break; case PROCESSOR_ARCHITECTURE_ARM: strcpy (buf->machine, "arm"); break; default: strcpy (buf->machine, "unknown"); break; } } else { /* Windows 95/98/ME. */ switch (info.dwProcessorType) { case PROCESSOR_AMD_X8664: strcpy (buf->machine, "x86_64"); break; case PROCESSOR_INTEL_IA64: strcpy (buf->machine, "ia64"); break; default: if (info.dwProcessorType % 100 == 86) sprintf (buf->machine, "i%u", (unsigned int) info.dwProcessorType); else strcpy (buf->machine, "unknown"); break; } } } return 0; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stat-time.h����������������������������������������������������������������������0000664�0000000�0000000�00000013225�12071024546�013200� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* stat-related time functions. Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef STAT_TIME_H #define STAT_TIME_H 1 #include <sys/stat.h> #include <time.h> _GL_INLINE_HEADER_BEGIN #ifndef _GL_STAT_TIME_INLINE # define _GL_STAT_TIME_INLINE _GL_INLINE #endif /* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST, ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST, if available. ST_XTIM can be st_atim, st_ctim, st_mtim, or st_birthtim for access, status change, data modification, or birth (creation) time respectively. These macros are private to stat-time.h. */ #if defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC # ifdef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC # define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim) # else # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec) # endif #elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC # define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec) #elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim##ensec) #elif defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.st__tim.tv_nsec) #endif /* Return the nanosecond component of *ST's access time. */ _GL_STAT_TIME_INLINE long int get_stat_atime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_atim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_atim); # else return 0; # endif } /* Return the nanosecond component of *ST's status change time. */ _GL_STAT_TIME_INLINE long int get_stat_ctime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_ctim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_ctim); # else return 0; # endif } /* Return the nanosecond component of *ST's data modification time. */ _GL_STAT_TIME_INLINE long int get_stat_mtime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_mtim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_mtim); # else return 0; # endif } /* Return the nanosecond component of *ST's birth time. */ _GL_STAT_TIME_INLINE long int get_stat_birthtime_ns (struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC return STAT_TIMESPEC (st, st_birthtim).tv_nsec; # elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC return STAT_TIMESPEC_NS (st, st_birthtim); # else /* Avoid a "parameter unused" warning. */ (void) st; return 0; # endif } /* Return *ST's access time. */ _GL_STAT_TIME_INLINE struct timespec get_stat_atime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_atim); #else struct timespec t; t.tv_sec = st->st_atime; t.tv_nsec = get_stat_atime_ns (st); return t; #endif } /* Return *ST's status change time. */ _GL_STAT_TIME_INLINE struct timespec get_stat_ctime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_ctim); #else struct timespec t; t.tv_sec = st->st_ctime; t.tv_nsec = get_stat_ctime_ns (st); return t; #endif } /* Return *ST's data modification time. */ _GL_STAT_TIME_INLINE struct timespec get_stat_mtime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_mtim); #else struct timespec t; t.tv_sec = st->st_mtime; t.tv_nsec = get_stat_mtime_ns (st); return t; #endif } /* Return *ST's birth time, if available; otherwise return a value with tv_sec and tv_nsec both equal to -1. */ _GL_STAT_TIME_INLINE struct timespec get_stat_birthtime (struct stat const *st) { struct timespec t; #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC) t = STAT_TIMESPEC (st, st_birthtim); #elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC t.tv_sec = st->st_birthtime; t.tv_nsec = st->st_birthtimensec; #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows platforms (but not Cygwin) put the "file creation time" in st_ctime (!). See <http://msdn2.microsoft.com/de-de/library/14h5k7ff(VS.80).aspx>. */ t.tv_sec = st->st_ctime; t.tv_nsec = 0; #else /* Birth time is not supported. */ t.tv_sec = -1; t.tv_nsec = -1; /* Avoid a "parameter unused" warning. */ (void) st; #endif #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC) /* FreeBSD and NetBSD sometimes signal the absence of knowledge by using zero. Attempt to work around this problem. Alas, this can report failure even for valid time stamps. Also, NetBSD sometimes returns junk in the birth time fields; work around this bug if it is detected. */ if (! (t.tv_sec && 0 <= t.tv_nsec && t.tv_nsec < 1000000000)) { t.tv_sec = -1; t.tv_nsec = -1; } #endif return t; } _GL_INLINE_HEADER_END #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/exitfail.c�����������������������������������������������������������������������0000664�0000000�0000000�00000001533�12071024546�013070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Failure exit status Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "exitfail.h" #include <stdlib.h> int volatile exit_failure = EXIT_FAILURE; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/modechange.h���������������������������������������������������������������������0000664�0000000�0000000�00000002126�12071024546�013361� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* modechange.h -- definitions for file mode manipulation Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if ! defined MODECHANGE_H_ # define MODECHANGE_H_ # include <stdbool.h> # include <sys/types.h> struct mode_change *mode_compile (const char *); struct mode_change *mode_create_from_ref (const char *); mode_t mode_adjust (mode_t, bool, mode_t, struct mode_change const *, mode_t *); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xasprintf.c����������������������������������������������������������������������0000664�0000000�0000000�00000002013�12071024546�013273� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* vasprintf and asprintf with out-of-memory checking. Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "xvasprintf.h" char * xasprintf (const char *format, ...) { va_list args; char *result; va_start (args, format); result = xvasprintf (format, args); va_end (args); return result; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn-pipe.c���������������������������������������������������������������������0000664�0000000�0000000�00000034745�12071024546�013361� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Creation of subprocesses, communicating via pipes. Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <haible@clisp.cons.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "spawn-pipe.h" #include <errno.h> #include <fcntl.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> #include "error.h" #include "fatal-signal.h" #include "unistd-safer.h" #include "wait-process.h" #include "gettext.h" #define _(str) gettext (str) #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ # include <process.h> # include "w32spawn.h" #else /* Unix API. */ # include <spawn.h> #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close #ifdef EINTR /* EINTR handling for close(). These functions can return -1/EINTR even though we don't have any signal handlers set up, namely when we get interrupted via SIGSTOP. */ static int nonintr_close (int fd) { int retval; do retval = close (fd); while (retval < 0 && errno == EINTR); return retval; } #define close nonintr_close #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ static int nonintr_open (const char *pathname, int oflag, mode_t mode) { int retval; do retval = open (pathname, oflag, mode); while (retval < 0 && errno == EINTR); return retval; } # undef open /* avoid warning on VMS */ # define open nonintr_open #endif #endif /* Open a pipe connected to a child process. * * write system read * parent -> fd[1] -> STDIN_FILENO -> child if pipe_stdin * parent <- fd[0] <- STDOUT_FILENO <- child if pipe_stdout * read system write * * At least one of pipe_stdin, pipe_stdout must be true. * pipe_stdin and prog_stdin together determine the child's standard input. * pipe_stdout and prog_stdout together determine the child's standard output. * If pipe_stdin is true, prog_stdin is ignored. * If pipe_stdout is true, prog_stdout is ignored. */ static pid_t create_pipe (const char *progname, const char *prog_path, char **prog_argv, bool pipe_stdin, bool pipe_stdout, const char *prog_stdin, const char *prog_stdout, bool null_stderr, bool slave_process, bool exit_on_error, int fd[2]) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. This uses _pipe(), dup2(), and spawnv(). It could also be implemented using the low-level functions CreatePipe(), DuplicateHandle(), CreateProcess() and _open_osfhandle(); see the GNU make and GNU clisp and cvs source code. */ int ifd[2]; int ofd[2]; int orig_stdin; int orig_stdout; int orig_stderr; int child; int nulloutfd; int stdinfd; int stdoutfd; int saved_errno; /* FIXME: Need to free memory allocated by prepare_spawn. */ prog_argv = prepare_spawn (prog_argv); if (pipe_stdout) if (pipe2_safer (ifd, O_BINARY | O_CLOEXEC) < 0) error (EXIT_FAILURE, errno, _("cannot create pipe")); if (pipe_stdin) if (pipe2_safer (ofd, O_BINARY | O_CLOEXEC) < 0) error (EXIT_FAILURE, errno, _("cannot create pipe")); /* Data flow diagram: * * write system read * parent -> ofd[1] -> ofd[0] -> child if pipe_stdin * parent <- ifd[0] <- ifd[1] <- child if pipe_stdout * read system write * */ /* Save standard file handles of parent process. */ if (pipe_stdin || prog_stdin != NULL) orig_stdin = dup_safer_noinherit (STDIN_FILENO); if (pipe_stdout || prog_stdout != NULL) orig_stdout = dup_safer_noinherit (STDOUT_FILENO); if (null_stderr) orig_stderr = dup_safer_noinherit (STDERR_FILENO); child = -1; /* Create standard file handles of child process. */ nulloutfd = -1; stdinfd = -1; stdoutfd = -1; if ((!pipe_stdin || dup2 (ofd[0], STDIN_FILENO) >= 0) && (!pipe_stdout || dup2 (ifd[1], STDOUT_FILENO) >= 0) && (!null_stderr || ((nulloutfd = open ("NUL", O_RDWR, 0)) >= 0 && (nulloutfd == STDERR_FILENO || (dup2 (nulloutfd, STDERR_FILENO) >= 0 && close (nulloutfd) >= 0)))) && (pipe_stdin || prog_stdin == NULL || ((stdinfd = open (prog_stdin, O_RDONLY, 0)) >= 0 && (stdinfd == STDIN_FILENO || (dup2 (stdinfd, STDIN_FILENO) >= 0 && close (stdinfd) >= 0)))) && (pipe_stdout || prog_stdout == NULL || ((stdoutfd = open (prog_stdout, O_WRONLY, 0)) >= 0 && (stdoutfd == STDOUT_FILENO || (dup2 (stdoutfd, STDOUT_FILENO) >= 0 && close (stdoutfd) >= 0))))) /* The child process doesn't inherit ifd[0], ifd[1], ofd[0], ofd[1], but it inherits all open()ed or dup2()ed file handles (which is what we want in the case of STD*_FILENO). */ /* Use spawnvpe and pass the environment explicitly. This is needed if the program has modified the environment using putenv() or [un]setenv(). On Windows, programs have two environments, one in the "environment block" of the process and managed through SetEnvironmentVariable(), and one inside the process, in the location retrieved by the 'environ' macro. When using spawnvp() without 'e', the child process inherits a copy of the environment block - ignoring the effects of putenv() and [un]setenv(). */ { child = spawnvpe (P_NOWAIT, prog_path, (const char **) prog_argv, (const char **) environ); if (child < 0 && errno == ENOEXEC) { /* prog is not a native executable. Try to execute it as a shell script. Note that prepare_spawn() has already prepended a hidden element "sh.exe" to prog_argv. */ --prog_argv; child = spawnvpe (P_NOWAIT, prog_argv[0], (const char **) prog_argv, (const char **) environ); } } if (child == -1) saved_errno = errno; if (stdinfd >= 0) close (stdinfd); if (stdoutfd >= 0) close (stdoutfd); if (nulloutfd >= 0) close (nulloutfd); /* Restore standard file handles of parent process. */ if (null_stderr) undup_safer_noinherit (orig_stderr, STDERR_FILENO); if (pipe_stdout || prog_stdout != NULL) undup_safer_noinherit (orig_stdout, STDOUT_FILENO); if (pipe_stdin || prog_stdin != NULL) undup_safer_noinherit (orig_stdin, STDIN_FILENO); if (pipe_stdin) close (ofd[0]); if (pipe_stdout) close (ifd[1]); if (child == -1) { if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, saved_errno, _("%s subprocess failed"), progname); if (pipe_stdout) close (ifd[0]); if (pipe_stdin) close (ofd[1]); errno = saved_errno; return -1; } if (pipe_stdout) fd[0] = ifd[0]; if (pipe_stdin) fd[1] = ofd[1]; return child; #else /* Unix API. */ int ifd[2]; int ofd[2]; sigset_t blocked_signals; posix_spawn_file_actions_t actions; bool actions_allocated; posix_spawnattr_t attrs; bool attrs_allocated; int err; pid_t child; if (pipe_stdout) if (pipe_safer (ifd) < 0) error (EXIT_FAILURE, errno, _("cannot create pipe")); if (pipe_stdin) if (pipe_safer (ofd) < 0) error (EXIT_FAILURE, errno, _("cannot create pipe")); /* Data flow diagram: * * write system read * parent -> ofd[1] -> ofd[0] -> child if pipe_stdin * parent <- ifd[0] <- ifd[1] <- child if pipe_stdout * read system write * */ if (slave_process) { sigprocmask (SIG_SETMASK, NULL, &blocked_signals); block_fatal_signals (); } actions_allocated = false; attrs_allocated = false; if ((err = posix_spawn_file_actions_init (&actions)) != 0 || (actions_allocated = true, (pipe_stdin && (err = posix_spawn_file_actions_adddup2 (&actions, ofd[0], STDIN_FILENO)) != 0) || (pipe_stdout && (err = posix_spawn_file_actions_adddup2 (&actions, ifd[1], STDOUT_FILENO)) != 0) || (pipe_stdin && (err = posix_spawn_file_actions_addclose (&actions, ofd[0])) != 0) || (pipe_stdout && (err = posix_spawn_file_actions_addclose (&actions, ifd[1])) != 0) || (pipe_stdin && (err = posix_spawn_file_actions_addclose (&actions, ofd[1])) != 0) || (pipe_stdout && (err = posix_spawn_file_actions_addclose (&actions, ifd[0])) != 0) || (null_stderr && (err = posix_spawn_file_actions_addopen (&actions, STDERR_FILENO, "/dev/null", O_RDWR, 0)) != 0) || (!pipe_stdin && prog_stdin != NULL && (err = posix_spawn_file_actions_addopen (&actions, STDIN_FILENO, prog_stdin, O_RDONLY, 0)) != 0) || (!pipe_stdout && prog_stdout != NULL && (err = posix_spawn_file_actions_addopen (&actions, STDOUT_FILENO, prog_stdout, O_WRONLY, 0)) != 0) || (slave_process && ((err = posix_spawnattr_init (&attrs)) != 0 || (attrs_allocated = true, (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0))) || (err = posix_spawnp (&child, prog_path, &actions, attrs_allocated ? &attrs : NULL, prog_argv, environ)) != 0)) { if (actions_allocated) posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); if (slave_process) unblock_fatal_signals (); if (exit_on_error || !null_stderr) error (exit_on_error ? EXIT_FAILURE : 0, err, _("%s subprocess failed"), progname); if (pipe_stdout) { close (ifd[0]); close (ifd[1]); } if (pipe_stdin) { close (ofd[0]); close (ofd[1]); } errno = err; return -1; } posix_spawn_file_actions_destroy (&actions); if (attrs_allocated) posix_spawnattr_destroy (&attrs); if (slave_process) { register_slave_subprocess (child); unblock_fatal_signals (); } if (pipe_stdin) close (ofd[0]); if (pipe_stdout) close (ifd[1]); if (pipe_stdout) fd[0] = ifd[0]; if (pipe_stdin) fd[1] = ofd[1]; return child; #endif } /* Open a bidirectional pipe. * * write system read * parent -> fd[1] -> STDIN_FILENO -> child * parent <- fd[0] <- STDOUT_FILENO <- child * read system write * */ pid_t create_pipe_bidi (const char *progname, const char *prog_path, char **prog_argv, bool null_stderr, bool slave_process, bool exit_on_error, int fd[2]) { pid_t result = create_pipe (progname, prog_path, prog_argv, true, true, NULL, NULL, null_stderr, slave_process, exit_on_error, fd); return result; } /* Open a pipe for input from a child process. * The child's stdin comes from a file. * * read system write * parent <- fd[0] <- STDOUT_FILENO <- child * */ pid_t create_pipe_in (const char *progname, const char *prog_path, char **prog_argv, const char *prog_stdin, bool null_stderr, bool slave_process, bool exit_on_error, int fd[1]) { int iofd[2]; pid_t result = create_pipe (progname, prog_path, prog_argv, false, true, prog_stdin, NULL, null_stderr, slave_process, exit_on_error, iofd); if (result != -1) fd[0] = iofd[0]; return result; } /* Open a pipe for output to a child process. * The child's stdout goes to a file. * * write system read * parent -> fd[0] -> STDIN_FILENO -> child * */ pid_t create_pipe_out (const char *progname, const char *prog_path, char **prog_argv, const char *prog_stdout, bool null_stderr, bool slave_process, bool exit_on_error, int fd[1]) { int iofd[2]; pid_t result = create_pipe (progname, prog_path, prog_argv, true, false, NULL, prog_stdout, null_stderr, slave_process, exit_on_error, iofd); if (result != -1) fd[0] = iofd[1]; return result; } ���������������������������coreutils-8.21/lib/mbuiter.c������������������������������������������������������������������������0000664�0000000�0000000�00000000122�12041503563�012721� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define MBUITER_INLINE _GL_EXTERN_INLINE #include "mbuiter.h" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isnan.c��������������������������������������������������������������������������0000664�0000000�0000000�00000014364�12071024546�012401� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ #include <config.h> /* Specification. */ #ifdef USE_LONG_DOUBLE /* Specification found in math.h or isnanl-nolibm.h. */ extern int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; #elif ! defined USE_FLOAT /* Specification found in math.h or isnand-nolibm.h. */ extern int rpl_isnand (double x); #else /* defined USE_FLOAT */ /* Specification found in math.h or isnanf-nolibm.h. */ extern int rpl_isnanf (float x); #endif #include <float.h> #include <string.h> #include "float+.h" #ifdef USE_LONG_DOUBLE # define FUNC rpl_isnanl # define DOUBLE long double # define MAX_EXP LDBL_MAX_EXP # define MIN_EXP LDBL_MIN_EXP # if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD LDBL_EXPBIT0_WORD # define EXPBIT0_BIT LDBL_EXPBIT0_BIT # endif # define SIZE SIZEOF_LDBL # define L_(literal) literal##L #elif ! defined USE_FLOAT # define FUNC rpl_isnand # define DOUBLE double # define MAX_EXP DBL_MAX_EXP # define MIN_EXP DBL_MIN_EXP # if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD DBL_EXPBIT0_WORD # define EXPBIT0_BIT DBL_EXPBIT0_BIT # endif # define SIZE SIZEOF_DBL # define L_(literal) literal #else /* defined USE_FLOAT */ # define FUNC rpl_isnanf # define DOUBLE float # define MAX_EXP FLT_MAX_EXP # define MIN_EXP FLT_MIN_EXP # if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD FLT_EXPBIT0_WORD # define EXPBIT0_BIT FLT_EXPBIT0_BIT # endif # define SIZE SIZEOF_FLT # define L_(literal) literal##f #endif #define EXP_MASK ((MAX_EXP - MIN_EXP) | 7) #define NWORDS \ ((sizeof (DOUBLE) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { DOUBLE value; unsigned int word[NWORDS]; } memory_double; int FUNC (DOUBLE x) { #ifdef KNOWN_EXPBIT0_LOCATION # if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Special CPU dependent code is needed to treat bit patterns outside the IEEE 754 specification (such as Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals) as NaNs. These bit patterns are: - exponent = 0x0001..0x7FFF, mantissa bit 63 = 0, - exponent = 0x0000, mantissa bit 63 = 1. The NaN bit pattern is: - exponent = 0x7FFF, mantissa >= 0x8000000000000001. */ memory_double m; unsigned int exponent; m.value = x; exponent = (m.word[EXPBIT0_WORD] >> EXPBIT0_BIT) & EXP_MASK; # ifdef WORDS_BIGENDIAN /* Big endian: EXPBIT0_WORD = 0, EXPBIT0_BIT = 16. */ if (exponent == 0) return 1 & (m.word[0] >> 15); else if (exponent == EXP_MASK) return (((m.word[0] ^ 0x8000U) << 16) | m.word[1] | (m.word[2] >> 16)) != 0; else return 1 & ~(m.word[0] >> 15); # else /* Little endian: EXPBIT0_WORD = 2, EXPBIT0_BIT = 0. */ if (exponent == 0) return (m.word[1] >> 31); else if (exponent == EXP_MASK) return ((m.word[1] ^ 0x80000000U) | m.word[0]) != 0; else return (m.word[1] >> 31) ^ 1; # endif # else /* Be careful to not do any floating-point operation on x, such as x == x, because x may be a signaling NaN. */ # if defined __SUNPRO_C || defined __ICC || defined _MSC_VER \ || defined __DECC || defined __TINYC__ \ || (defined __sgi && !defined __GNUC__) /* The Sun C 5.0, Intel ICC 10.0, Microsoft Visual C/C++ 9.0, Compaq (ex-DEC) 6.4, and TinyCC compilers don't recognize the initializers as constant expressions. The Compaq compiler also fails when constant-folding 0.0 / 0.0 even when constant-folding is not required. The Microsoft Visual C/C++ compiler also fails when constant-folding 1.0 / 0.0 even when constant-folding is not required. The SGI MIPSpro C compiler complains about "floating-point operation result is out of range". */ static DOUBLE zero = L_(0.0); memory_double nan; DOUBLE plus_inf = L_(1.0) / zero; DOUBLE minus_inf = -L_(1.0) / zero; nan.value = zero / zero; # else static memory_double nan = { L_(0.0) / L_(0.0) }; static DOUBLE plus_inf = L_(1.0) / L_(0.0); static DOUBLE minus_inf = -L_(1.0) / L_(0.0); # endif { memory_double m; /* A NaN can be recognized through its exponent. But exclude +Infinity and -Infinity, which have the same exponent. */ m.value = x; if (((m.word[EXPBIT0_WORD] ^ nan.word[EXPBIT0_WORD]) & (EXP_MASK << EXPBIT0_BIT)) == 0) return (memcmp (&m.value, &plus_inf, SIZE) != 0 && memcmp (&m.value, &minus_inf, SIZE) != 0); else return 0; } # endif #else /* The configuration did not find sufficient information. Give up about the signaling NaNs, handle only the quiet NaNs. */ if (x == x) { # if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Detect any special bit patterns that pass ==; see comment above. */ memory_double m1; memory_double m2; memset (&m1.value, 0, SIZE); memset (&m2.value, 0, SIZE); m1.value = x; m2.value = x + (x ? 0.0L : -0.0L); if (memcmp (&m1.value, &m2.value, SIZE) != 0) return 1; # endif return 0; } else return 1; #endif } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbuiter.h������������������������������������������������������������������������0000664�0000000�0000000�00000017403�12071024546�012742� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Iterating through multibyte strings: macros for multi-byte encodings. Copyright (C) 2001, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ /* The macros in this file implement forward iteration through a multi-byte string, without knowing its length a-priori. With these macros, an iteration loop that looks like char *iter; for (iter = buf; *iter != '\0'; iter++) { do_something (*iter); } becomes mbui_iterator_t iter; for (mbui_init (iter, buf); mbui_avail (iter); mbui_advance (iter)) { do_something (mbui_cur_ptr (iter), mb_len (mbui_cur (iter))); } The benefit of these macros over plain use of mbrtowc is: - Handling of invalid multibyte sequences is possible without making the code more complicated, while still preserving the invalid multibyte sequences. Compared to mbiter.h, the macros here don't need to know the string's length a-priori. The downside is that at each step, the look-ahead that guards against overrunning the terminating '\0' is more expensive. The mbui_* macros are therefore suitable when there is a high probability that only the first few multibyte characters need to be inspected. Whereas the mbi_* macros are better if usually the iteration runs through the entire string. mbui_iterator_t is a type usable for variable declarations. mbui_init (iter, startptr) initializes the iterator, starting at startptr. mbui_avail (iter) returns true if there are more multibyte characters available before the end of string is reached. In this case, mbui_cur (iter) is initialized to the next multibyte character. mbui_advance (iter) advances the iterator by one multibyte character. mbui_cur (iter) returns the current multibyte character, of type mbchar_t. All the macros defined in mbchar.h can be used on it. mbui_cur_ptr (iter) return a pointer to the beginning of the current multibyte character. mbui_reloc (iter, ptrdiff) relocates iterator when the string is moved by ptrdiff bytes. mbui_copy (&destiter, &srciter) copies srciter to destiter. Here are the function prototypes of the macros. extern void mbui_init (mbui_iterator_t iter, const char *startptr); extern bool mbui_avail (mbui_iterator_t iter); extern void mbui_advance (mbui_iterator_t iter); extern mbchar_t mbui_cur (mbui_iterator_t iter); extern const char * mbui_cur_ptr (mbui_iterator_t iter); extern void mbui_reloc (mbui_iterator_t iter, ptrdiff_t ptrdiff); extern void mbui_copy (mbui_iterator_t *new, const mbui_iterator_t *old); */ #ifndef _MBUITER_H #define _MBUITER_H 1 #include <assert.h> #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stdio.h> #include <time.h> #include <wchar.h> #include "mbchar.h" #include "strnlen1.h" _GL_INLINE_HEADER_BEGIN #ifndef MBUITER_INLINE # define MBUITER_INLINE _GL_INLINE #endif struct mbuiter_multi { bool in_shift; /* true if next byte may not be interpreted as ASCII */ mbstate_t state; /* if in_shift: current shift state */ bool next_done; /* true if mbui_avail has already filled the following */ struct mbchar cur; /* the current character: const char *cur.ptr pointer to current character The following are only valid after mbui_avail. size_t cur.bytes number of bytes of current character bool cur.wc_valid true if wc is a valid wide character wchar_t cur.wc if wc_valid: the current character */ }; MBUITER_INLINE void mbuiter_multi_next (struct mbuiter_multi *iter) { if (iter->next_done) return; if (iter->in_shift) goto with_shift; /* Handle most ASCII characters quickly, without calling mbrtowc(). */ if (is_basic (*iter->cur.ptr)) { /* These characters are part of the basic character set. ISO C 99 guarantees that their wide character code is identical to their char code. */ iter->cur.bytes = 1; iter->cur.wc = *iter->cur.ptr; iter->cur.wc_valid = true; } else { assert (mbsinit (&iter->state)); iter->in_shift = true; with_shift: iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr, strnlen1 (iter->cur.ptr, MB_CUR_MAX), &iter->state); if (iter->cur.bytes == (size_t) -1) { /* An invalid multibyte sequence was encountered. */ iter->cur.bytes = 1; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not very important; the string is bogus anyway. */ } else if (iter->cur.bytes == (size_t) -2) { /* An incomplete multibyte character at the end. */ iter->cur.bytes = strlen (iter->cur.ptr); iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not important; the string end is reached anyway. */ } else { if (iter->cur.bytes == 0) { /* A null wide character was encountered. */ iter->cur.bytes = 1; assert (*iter->cur.ptr == '\0'); assert (iter->cur.wc == 0); } iter->cur.wc_valid = true; /* When in the initial state, we can go back treating ASCII characters more quickly. */ if (mbsinit (&iter->state)) iter->in_shift = false; } } iter->next_done = true; } MBUITER_INLINE void mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff) { iter->cur.ptr += ptrdiff; } MBUITER_INLINE void mbuiter_multi_copy (struct mbuiter_multi *new_iter, const struct mbuiter_multi *old_iter) { if ((new_iter->in_shift = old_iter->in_shift)) memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t)); else memset (&new_iter->state, 0, sizeof (mbstate_t)); new_iter->next_done = old_iter->next_done; mb_copy (&new_iter->cur, &old_iter->cur); } /* Iteration macros. */ typedef struct mbuiter_multi mbui_iterator_t; #define mbui_init(iter, startptr) \ ((iter).cur.ptr = (startptr), \ (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \ (iter).next_done = false) #define mbui_avail(iter) \ (mbuiter_multi_next (&(iter)), !mb_isnul ((iter).cur)) #define mbui_advance(iter) \ ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false) /* Access to the current character. */ #define mbui_cur(iter) (iter).cur #define mbui_cur_ptr(iter) (iter).cur.ptr /* Relocation. */ #define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff) /* Copying an iterator. */ #define mbui_copy mbuiter_multi_copy _GL_INLINE_HEADER_END #endif /* _MBUITER_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sigprocmask.c��������������������������������������������������������������������0000664�0000000�0000000�00000020627�12071024546�013612� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* POSIX compatible signal blocking. Copyright (C) 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2006. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <signal.h> #include <errno.h> #include <stdint.h> #include <stdlib.h> #if HAVE_MSVC_INVALID_PARAMETER_HANDLER # include "msvc-inval.h" #endif /* We assume that a platform without POSIX signal blocking functions also does not have the POSIX sigaction() function, only the signal() function. We also assume signal() has SysV semantics, where any handler is uninstalled prior to being invoked. This is true for native Windows platforms. */ /* We use raw signal(), but also provide a wrapper rpl_signal() so that applications can query or change a blocked signal. */ #undef signal /* Provide invalid signal numbers as fallbacks if the uncatchable signals are not defined. */ #ifndef SIGKILL # define SIGKILL (-1) #endif #ifndef SIGSTOP # define SIGSTOP (-1) #endif /* On native Windows, as of 2008, the signal SIGABRT_COMPAT is an alias for the signal SIGABRT. Only one signal handler is stored for both SIGABRT and SIGABRT_COMPAT. SIGABRT_COMPAT is not a signal of its own. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef SIGABRT_COMPAT # define SIGABRT_COMPAT 6 #endif #ifdef SIGABRT_COMPAT # define SIGABRT_COMPAT_MASK (1U << SIGABRT_COMPAT) #else # define SIGABRT_COMPAT_MASK 0 #endif typedef void (*handler_t) (int); #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static handler_t signal_nothrow (int sig, handler_t handler) { handler_t result; TRY_MSVC_INVAL { result = signal (sig, handler); } CATCH_MSVC_INVAL { result = SIG_ERR; errno = EINVAL; } DONE_MSVC_INVAL; return result; } # define signal signal_nothrow #endif /* Handling of gnulib defined signals. */ #if GNULIB_defined_SIGPIPE static handler_t SIGPIPE_handler = SIG_DFL; #endif #if GNULIB_defined_SIGPIPE static handler_t ext_signal (int sig, handler_t handler) { switch (sig) { case SIGPIPE: { handler_t old_handler = SIGPIPE_handler; SIGPIPE_handler = handler; return old_handler; } default: /* System defined signal */ return signal (sig, handler); } } # undef signal # define signal ext_signal #endif int sigismember (const sigset_t *set, int sig) { if (sig >= 0 && sig < NSIG) { #ifdef SIGABRT_COMPAT if (sig == SIGABRT_COMPAT) sig = SIGABRT; #endif return (*set >> sig) & 1; } else return 0; } int sigemptyset (sigset_t *set) { *set = 0; return 0; } int sigaddset (sigset_t *set, int sig) { if (sig >= 0 && sig < NSIG) { #ifdef SIGABRT_COMPAT if (sig == SIGABRT_COMPAT) sig = SIGABRT; #endif *set |= 1U << sig; return 0; } else { errno = EINVAL; return -1; } } int sigdelset (sigset_t *set, int sig) { if (sig >= 0 && sig < NSIG) { #ifdef SIGABRT_COMPAT if (sig == SIGABRT_COMPAT) sig = SIGABRT; #endif *set &= ~(1U << sig); return 0; } else { errno = EINVAL; return -1; } } int sigfillset (sigset_t *set) { *set = ((2U << (NSIG - 1)) - 1) & ~ SIGABRT_COMPAT_MASK; return 0; } /* Set of currently blocked signals. */ static volatile sigset_t blocked_set /* = 0 */; /* Set of currently blocked and pending signals. */ static volatile sig_atomic_t pending_array[NSIG] /* = { 0 } */; /* Signal handler that is installed for blocked signals. */ static void blocked_handler (int sig) { /* Reinstall the handler, in case the signal occurs multiple times while blocked. There is an inherent race where an asynchronous signal in between when the kernel uninstalled the handler and when we reinstall it will trigger the default handler; oh well. */ signal (sig, blocked_handler); if (sig >= 0 && sig < NSIG) pending_array[sig] = 1; } int sigpending (sigset_t *set) { sigset_t pending = 0; int sig; for (sig = 0; sig < NSIG; sig++) if (pending_array[sig]) pending |= 1U << sig; *set = pending; return 0; } /* The previous signal handlers. Only the array elements corresponding to blocked signals are relevant. */ static volatile handler_t old_handlers[NSIG]; int sigprocmask (int operation, const sigset_t *set, sigset_t *old_set) { if (old_set != NULL) *old_set = blocked_set; if (set != NULL) { sigset_t new_blocked_set; sigset_t to_unblock; sigset_t to_block; switch (operation) { case SIG_BLOCK: new_blocked_set = blocked_set | *set; break; case SIG_SETMASK: new_blocked_set = *set; break; case SIG_UNBLOCK: new_blocked_set = blocked_set & ~*set; break; default: errno = EINVAL; return -1; } to_unblock = blocked_set & ~new_blocked_set; to_block = new_blocked_set & ~blocked_set; if (to_block != 0) { int sig; for (sig = 0; sig < NSIG; sig++) if ((to_block >> sig) & 1) { pending_array[sig] = 0; if ((old_handlers[sig] = signal (sig, blocked_handler)) != SIG_ERR) blocked_set |= 1U << sig; } } if (to_unblock != 0) { sig_atomic_t received[NSIG]; int sig; for (sig = 0; sig < NSIG; sig++) if ((to_unblock >> sig) & 1) { if (signal (sig, old_handlers[sig]) != blocked_handler) /* The application changed a signal handler while the signal was blocked, bypassing our rpl_signal replacement. We don't support this. */ abort (); received[sig] = pending_array[sig]; blocked_set &= ~(1U << sig); pending_array[sig] = 0; } else received[sig] = 0; for (sig = 0; sig < NSIG; sig++) if (received[sig]) raise (sig); } } return 0; } /* Install the handler FUNC for signal SIG, and return the previous handler. */ handler_t rpl_signal (int sig, handler_t handler) { /* We must provide a wrapper, so that a user can query what handler they installed even if that signal is currently blocked. */ if (sig >= 0 && sig < NSIG && sig != SIGKILL && sig != SIGSTOP && handler != SIG_ERR) { #ifdef SIGABRT_COMPAT if (sig == SIGABRT_COMPAT) sig = SIGABRT; #endif if (blocked_set & (1U << sig)) { /* POSIX states that sigprocmask and signal are both async-signal-safe. This is not true of our implementation - there is a slight data race where an asynchronous interrupt on signal A can occur after we install blocked_handler but before we have updated old_handlers for signal B, such that handler A can see stale information if it calls signal(B). Oh well - signal handlers really shouldn't try to manipulate the installed handlers of unrelated signals. */ handler_t result = old_handlers[sig]; old_handlers[sig] = handler; return result; } else return signal (sig, handler); } else { errno = EINVAL; return SIG_ERR; } } #if GNULIB_defined_SIGPIPE /* Raise the signal SIGPIPE. */ int _gl_raise_SIGPIPE (void) { if (blocked_set & (1U << SIGPIPE)) pending_array[SIGPIPE] = 1; else { handler_t handler = SIGPIPE_handler; if (handler == SIG_DFL) exit (128 + SIGPIPE); else if (handler != SIG_IGN) (*handler) (SIGPIPE); } return 0; } #endif ���������������������������������������������������������������������������������������������������������coreutils-8.21/lib/careadlinkat.h�������������������������������������������������������������������0000664�0000000�0000000�00000005416�12071024546�013716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Read symbolic links into a buffer without size limitation, relative to fd. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #ifndef _GL_CAREADLINKAT_H #define _GL_CAREADLINKAT_H #include <fcntl.h> #include <unistd.h> struct allocator; /* Assuming the current directory is FD, get the symbolic link value of FILENAME as a null-terminated string and put it into a buffer. If FD is AT_FDCWD, FILENAME is interpreted relative to the current working directory, as in openat. If the link is small enough to fit into BUFFER put it there. BUFFER's size is BUFFER_SIZE, and BUFFER can be null if BUFFER_SIZE is zero. If the link is not small, put it into a dynamically allocated buffer managed by ALLOC. It is the caller's responsibility to free the returned value if it is nonnull and is not BUFFER. The PREADLINKAT function specifies how to read links. It operates like POSIX readlinkat() <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html> but can assume that its first argument is the same as FD. If successful, return the buffer address; otherwise return NULL and set errno. */ char *careadlinkat (int fd, char const *filename, char *buffer, size_t buffer_size, struct allocator const *alloc, ssize_t (*preadlinkat) (int, char const *, char *, size_t)); /* Suitable values for careadlinkat's FD and PREADLINKAT arguments, when doing a plain readlink: Pass FD = AT_FDCWD and PREADLINKAT = careadlinkatcwd. */ #if HAVE_READLINKAT /* AT_FDCWD is declared in <fcntl.h>. */ #else /* Define AT_FDCWD independently, so that the careadlinkat module does not depend on the fcntl-h module. The value does not matter, since careadlinkatcwd ignores it, but we might as well use the same value as fcntl-h. */ # ifndef AT_FDCWD # define AT_FDCWD (-3041965) # endif #endif ssize_t careadlinkatcwd (int fd, char const *filename, char *buffer, size_t buffer_size); #endif /* _GL_CAREADLINKAT_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbchar.h�������������������������������������������������������������������������0000664�0000000�0000000�00000033304�12071024546�012525� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Multibyte character data type. Copyright (C) 2001, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ /* A multibyte character is a short subsequence of a char* string, representing a single wide character. We use multibyte characters instead of wide characters because of the following goals: 1) correct multibyte handling, i.e. operate according to the LC_CTYPE locale, 2) ease of maintenance, i.e. the maintainer needs not know all details of the ISO C 99 standard, 3) don't fail grossly if the input is not in the encoding set by the locale, because often different encodings are in use in the same countries (ISO-8859-1/UTF-8, EUC-JP/Shift_JIS, ...), 4) fast in the case of ASCII characters, 5) portability, i.e. don't make unportable assumptions about wchar_t. Multibyte characters are only accessed through the mb* macros. mb_ptr (mbc) return a pointer to the beginning of the multibyte sequence. mb_len (mbc) returns the number of bytes occupied by the multibyte sequence. Always > 0. mb_iseq (mbc, sc) returns true if mbc is the standard ASCII character sc. mb_isnul (mbc) returns true if mbc is the nul character. mb_cmp (mbc1, mbc2) returns a positive, zero, or negative value depending on whether mbc1 sorts after, same or before mbc2. mb_casecmp (mbc1, mbc2) returns a positive, zero, or negative value depending on whether mbc1 sorts after, same or before mbc2, modulo upper/lowercase conversion. mb_equal (mbc1, mbc2) returns true if mbc1 and mbc2 are equal. mb_caseequal (mbc1, mbc2) returns true if mbc1 and mbc2 are equal modulo upper/lowercase conversion. mb_isalnum (mbc) returns true if mbc is alphanumeric. mb_isalpha (mbc) returns true if mbc is alphabetic. mb_isascii(mbc) returns true if mbc is plain ASCII. mb_isblank (mbc) returns true if mbc is a blank. mb_iscntrl (mbc) returns true if mbc is a control character. mb_isdigit (mbc) returns true if mbc is a decimal digit. mb_isgraph (mbc) returns true if mbc is a graphic character. mb_islower (mbc) returns true if mbc is lowercase. mb_isprint (mbc) returns true if mbc is a printable character. mb_ispunct (mbc) returns true if mbc is a punctuation character. mb_isspace (mbc) returns true if mbc is a space character. mb_isupper (mbc) returns true if mbc is uppercase. mb_isxdigit (mbc) returns true if mbc is a hexadecimal digit. mb_width (mbc) returns the number of columns on the output device occupied by mbc. Always >= 0. mb_putc (mbc, stream) outputs mbc on stream, a byte oriented FILE stream opened for output. mb_setascii (&mbc, sc) assigns the standard ASCII character sc to mbc. mb_copy (&destmbc, &srcmbc) copies srcmbc to destmbc. Here are the function prototypes of the macros. extern const char * mb_ptr (const mbchar_t mbc); extern size_t mb_len (const mbchar_t mbc); extern bool mb_iseq (const mbchar_t mbc, char sc); extern bool mb_isnul (const mbchar_t mbc); extern int mb_cmp (const mbchar_t mbc1, const mbchar_t mbc2); extern int mb_casecmp (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_equal (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_caseequal (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_isalnum (const mbchar_t mbc); extern bool mb_isalpha (const mbchar_t mbc); extern bool mb_isascii (const mbchar_t mbc); extern bool mb_isblank (const mbchar_t mbc); extern bool mb_iscntrl (const mbchar_t mbc); extern bool mb_isdigit (const mbchar_t mbc); extern bool mb_isgraph (const mbchar_t mbc); extern bool mb_islower (const mbchar_t mbc); extern bool mb_isprint (const mbchar_t mbc); extern bool mb_ispunct (const mbchar_t mbc); extern bool mb_isspace (const mbchar_t mbc); extern bool mb_isupper (const mbchar_t mbc); extern bool mb_isxdigit (const mbchar_t mbc); extern int mb_width (const mbchar_t mbc); extern void mb_putc (const mbchar_t mbc, FILE *stream); extern void mb_setascii (mbchar_t *new, char sc); extern void mb_copy (mbchar_t *new, const mbchar_t *old); */ #ifndef _MBCHAR_H #define _MBCHAR_H 1 #include <stdbool.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stdio.h> #include <time.h> #include <wchar.h> #include <wctype.h> _GL_INLINE_HEADER_BEGIN #ifndef MBCHAR_INLINE # define MBCHAR_INLINE _GL_INLINE #endif #define MBCHAR_BUF_SIZE 24 struct mbchar { const char *ptr; /* pointer to current character */ size_t bytes; /* number of bytes of current character, > 0 */ bool wc_valid; /* true if wc is a valid wide character */ wchar_t wc; /* if wc_valid: the current character */ char buf[MBCHAR_BUF_SIZE]; /* room for the bytes, used for file input only */ }; /* EOF (not a real character) is represented with bytes = 0 and wc_valid = false. */ typedef struct mbchar mbchar_t; /* Access the current character. */ #define mb_ptr(mbc) ((mbc).ptr) #define mb_len(mbc) ((mbc).bytes) /* Comparison of characters. */ #define mb_iseq(mbc, sc) ((mbc).wc_valid && (mbc).wc == (sc)) #define mb_isnul(mbc) ((mbc).wc_valid && (mbc).wc == 0) #define mb_cmp(mbc1, mbc2) \ ((mbc1).wc_valid \ ? ((mbc2).wc_valid \ ? (int) (mbc1).wc - (int) (mbc2).wc \ : -1) \ : ((mbc2).wc_valid \ ? 1 \ : (mbc1).bytes == (mbc2).bytes \ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \ : (mbc1).bytes < (mbc2).bytes \ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1))) #define mb_casecmp(mbc1, mbc2) \ ((mbc1).wc_valid \ ? ((mbc2).wc_valid \ ? (int) towlower ((mbc1).wc) - (int) towlower ((mbc2).wc) \ : -1) \ : ((mbc2).wc_valid \ ? 1 \ : (mbc1).bytes == (mbc2).bytes \ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \ : (mbc1).bytes < (mbc2).bytes \ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1))) #define mb_equal(mbc1, mbc2) \ ((mbc1).wc_valid && (mbc2).wc_valid \ ? (mbc1).wc == (mbc2).wc \ : (mbc1).bytes == (mbc2).bytes \ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0) #define mb_caseequal(mbc1, mbc2) \ ((mbc1).wc_valid && (mbc2).wc_valid \ ? towlower ((mbc1).wc) == towlower ((mbc2).wc) \ : (mbc1).bytes == (mbc2).bytes \ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0) /* <ctype.h>, <wctype.h> classification. */ #define mb_isascii(mbc) \ ((mbc).wc_valid && (mbc).wc >= 0 && (mbc).wc <= 127) #define mb_isalnum(mbc) ((mbc).wc_valid && iswalnum ((mbc).wc)) #define mb_isalpha(mbc) ((mbc).wc_valid && iswalpha ((mbc).wc)) #define mb_isblank(mbc) ((mbc).wc_valid && iswblank ((mbc).wc)) #define mb_iscntrl(mbc) ((mbc).wc_valid && iswcntrl ((mbc).wc)) #define mb_isdigit(mbc) ((mbc).wc_valid && iswdigit ((mbc).wc)) #define mb_isgraph(mbc) ((mbc).wc_valid && iswgraph ((mbc).wc)) #define mb_islower(mbc) ((mbc).wc_valid && iswlower ((mbc).wc)) #define mb_isprint(mbc) ((mbc).wc_valid && iswprint ((mbc).wc)) #define mb_ispunct(mbc) ((mbc).wc_valid && iswpunct ((mbc).wc)) #define mb_isspace(mbc) ((mbc).wc_valid && iswspace ((mbc).wc)) #define mb_isupper(mbc) ((mbc).wc_valid && iswupper ((mbc).wc)) #define mb_isxdigit(mbc) ((mbc).wc_valid && iswxdigit ((mbc).wc)) /* Extra <wchar.h> function. */ /* Unprintable characters appear as a small box of width 1. */ #define MB_UNPRINTABLE_WIDTH 1 MBCHAR_INLINE int mb_width_aux (wint_t wc) { int w = wcwidth (wc); /* For unprintable characters, arbitrarily return 0 for control characters and MB_UNPRINTABLE_WIDTH otherwise. */ return (w >= 0 ? w : iswcntrl (wc) ? 0 : MB_UNPRINTABLE_WIDTH); } #define mb_width(mbc) \ ((mbc).wc_valid ? mb_width_aux ((mbc).wc) : MB_UNPRINTABLE_WIDTH) /* Output. */ #define mb_putc(mbc, stream) fwrite ((mbc).ptr, 1, (mbc).bytes, (stream)) /* Assignment. */ #define mb_setascii(mbc, sc) \ ((mbc)->ptr = (mbc)->buf, (mbc)->bytes = 1, (mbc)->wc_valid = 1, \ (mbc)->wc = (mbc)->buf[0] = (sc)) /* Copying a character. */ MBCHAR_INLINE void mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc) { if (old_mbc->ptr == &old_mbc->buf[0]) { memcpy (&new_mbc->buf[0], &old_mbc->buf[0], old_mbc->bytes); new_mbc->ptr = &new_mbc->buf[0]; } else new_mbc->ptr = old_mbc->ptr; new_mbc->bytes = old_mbc->bytes; if ((new_mbc->wc_valid = old_mbc->wc_valid)) new_mbc->wc = old_mbc->wc; } /* is_basic(c) tests whether the single-byte character c is in the ISO C "basic character set". This is a convenience function, and is in this file only to share code between mbiter_multi.h and mbfile_multi.h. */ #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) /* The character set is ISO-646, not EBCDIC. */ # define IS_BASIC_ASCII 1 extern const unsigned int is_basic_table[]; MBCHAR_INLINE bool is_basic (char c) { return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31)) & 1; } #else MBCHAR_INLINE bool is_basic (char c) { switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } } #endif _GL_INLINE_HEADER_END #endif /* _MBCHAR_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/vfprintf.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003263�12071561015�013120� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to a stream. Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if 1 # include <config.h> #endif /* Specification. */ #include <stdio.h> #include <errno.h> #include <limits.h> #include <stdarg.h> #include <stdlib.h> #include "fseterr.h" #include "vasnprintf.h" /* Print formatted output to the stream FP. Return string length of formatted string. On error, return a negative value. */ int vfprintf (FILE *fp, const char *format, va_list args) { char buf[2000]; char *output; size_t len; size_t lenbuf = sizeof (buf); output = vasnprintf (buf, &lenbuf, format, args); len = lenbuf; if (!output) { fseterr (fp); return -1; } if (fwrite (output, 1, len, fp) < len) { if (output != buf) { int saved_errno = errno; free (output); errno = saved_errno; } return -1; } if (output != buf) free (output); if (len > INT_MAX) { errno = EOVERFLOW; fseterr (fp); return -1; } return len; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fstat.c��������������������������������������������������������������������������0000664�0000000�0000000�00000004605�12071024546�012407� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fstat() replacement. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* If the user's config.h happens to include <sys/stat.h>, let it include only the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to rpl_fstat. */ #define __need_system_sys_stat_h #include <config.h> /* Get the original definition of fstat. It might be defined as a macro. */ #include <sys/types.h> #include <sys/stat.h> #if _GL_WINDOWS_64_BIT_ST_SIZE # undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ # define stat _stati64 # undef fstat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */ # define fstat _fstati64 #endif #undef __need_system_sys_stat_h static int orig_fstat (int fd, struct stat *buf) { return fstat (fd, buf); } /* Specification. */ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ #include "sys/stat.h" #include <errno.h> #include <unistd.h> #if HAVE_MSVC_INVALID_PARAMETER_HANDLER # include "msvc-inval.h" #endif #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int fstat_nothrow (int fd, struct stat *buf) { int result; TRY_MSVC_INVAL { result = orig_fstat (fd, buf); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } #else # define fstat_nothrow orig_fstat #endif int rpl_fstat (int fd, struct stat *buf) { #if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY /* Handle the case when rpl_open() used a dummy file descriptor to work around an open() that can't normally visit directories. */ const char *name = _gl_directory_name (fd); if (name != NULL) return stat (name, buf); #endif return fstat_nothrow (fd, buf); } ���������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/openat-proc.c��������������������������������������������������������������������0000664�0000000�0000000�00000007363�12071024546�013521� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create /proc/self/fd-related names for subfiles of open directories. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "openat-priv.h" #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include "intprops.h" /* The results of open() in this file are not used with fchdir, and we do not leak fds to any single-threaded code that could use stdio, therefore save some unnecessary work in fchdir.c. FIXME - if the kernel ever adds support for multi-thread safety for avoiding standard fds, then we should use open_safer. */ #undef open #undef close #define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s" #define PROC_SELF_FD_NAME_SIZE_BOUND(len) \ (sizeof PROC_SELF_FD_FORMAT - sizeof "%d%s" \ + INT_STRLEN_BOUND (int) + (len) + 1) /* Set BUF to the expansion of PROC_SELF_FD_FORMAT, using FD and FILE respectively for %d and %s. If successful, return BUF if the result fits in BUF, dynamically allocated memory otherwise. But return NULL if /proc is not reliable, either because the operating system support is lacking or because memory is low. */ char * openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) { static int proc_status = 0; /* Make sure the caller gets ENOENT when appropriate. */ if (!*file) { buf[0] = '\0'; return buf; } if (! proc_status) { /* Set PROC_STATUS to a positive value if /proc/self/fd is reliable, and a negative value otherwise. Solaris 10 /proc/self/fd mishandles "..", and any file name might expand to ".." after symbolic link expansion, so avoid /proc/self/fd if it mishandles "..". Solaris 10 has openat, but this problem is exhibited on code that built on Solaris 8 and running on Solaris 10. */ int proc_self_fd = open ("/proc/self/fd", O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); if (proc_self_fd < 0) proc_status = -1; else { /* Detect whether /proc/self/fd/%i/../fd exists, where %i is the number of a file descriptor open on /proc/self/fd. On Linux, that name resolves to /proc/self/fd, which was opened above. However, on Solaris, it may resolve to /proc/self/fd/fd, which cannot exist, since all names in /proc/self/fd are numeric. */ char dotdot_buf[PROC_SELF_FD_NAME_SIZE_BOUND (sizeof "../fd" - 1)]; sprintf (dotdot_buf, PROC_SELF_FD_FORMAT, proc_self_fd, "../fd"); proc_status = access (dotdot_buf, F_OK) ? -1 : 1; close (proc_self_fd); } } if (proc_status < 0) return NULL; else { size_t bufsize = PROC_SELF_FD_NAME_SIZE_BOUND (strlen (file)); char *result = buf; if (OPENAT_BUFFER_SIZE < bufsize) { result = malloc (bufsize); if (! result) return NULL; } sprintf (result, PROC_SELF_FD_FORMAT, fd, file); return result; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnumcmp-in.h�������������������������������������������������������������������0000664�0000000�0000000�00000015321�12102337340�013716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compare numeric strings. This is an internal include file. Copyright (C) 1988-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Mike Haertel. */ #ifndef STRNUMCMP_IN_H # define STRNUMCMP_IN_H 1 # include "strnumcmp.h" # include <stddef.h> # define NEGATION_SIGN '-' # define NUMERIC_ZERO '0' /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of 'digit' even when the host does not conform to POSIX. */ # define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Compare strings A and B containing decimal fractions < 1. DECIMAL_POINT is the decimal point. Each string should begin with a decimal point followed immediately by the digits of the fraction. Strings not of this form are treated as zero. */ /* The goal here, is to take two numbers a and b... compare these in parallel. Instead of converting each, and then comparing the outcome. Most likely stopping the comparison before the conversion is complete. The algorithm used, in the old "sort" utility: Algorithm: fraccompare Action : compare two decimal fractions accepts : char *a, char *b returns : -1 if a<b, 0 if a=b, 1 if a>b. implement: if *a == decimal_point AND *b == decimal_point find first character different in a and b. if both are digits, return the difference *a - *b. if *a is a digit skip past zeros if digit return 1, else 0 if *b is a digit skip past zeros if digit return -1, else 0 if *a is a decimal_point skip past decimal_point and zeros if digit return 1, else 0 if *b is a decimal_point skip past decimal_point and zeros if digit return -1, else 0 return 0 */ static inline int _GL_ATTRIBUTE_PURE fraccompare (char const *a, char const *b, char decimal_point) { if (*a == decimal_point && *b == decimal_point) { while (*++a == *++b) if (! ISDIGIT (*a)) return 0; if (ISDIGIT (*a) && ISDIGIT (*b)) return *a - *b; if (ISDIGIT (*a)) goto a_trailing_nonzero; if (ISDIGIT (*b)) goto b_trailing_nonzero; return 0; } else if (*a++ == decimal_point) { a_trailing_nonzero: while (*a == NUMERIC_ZERO) a++; return ISDIGIT (*a); } else if (*b++ == decimal_point) { b_trailing_nonzero: while (*b == NUMERIC_ZERO) b++; return - ISDIGIT (*b); } return 0; } /* Compare strings A and B as numbers without explicitly converting them to machine numbers, to avoid overflow problems and perhaps improve performance. DECIMAL_POINT is the decimal point and THOUSANDS_SEP the thousands separator. A DECIMAL_POINT of -1 causes comparisons to act as if there is no decimal point character, and likewise for THOUSANDS_SEP. */ static inline int _GL_ATTRIBUTE_PURE numcompare (char const *a, char const *b, int decimal_point, int thousands_sep) { unsigned char tmpa = *a; unsigned char tmpb = *b; int tmp; size_t log_a; size_t log_b; if (tmpa == NEGATION_SIGN) { do tmpa = *++a; while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep); if (tmpb != NEGATION_SIGN) { if (tmpa == decimal_point) do tmpa = *++a; while (tmpa == NUMERIC_ZERO); if (ISDIGIT (tmpa)) return -1; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep) tmpb = *++b; if (tmpb == decimal_point) do tmpb = *++b; while (tmpb == NUMERIC_ZERO); return - ISDIGIT (tmpb); } do tmpb = *++b; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep); while (tmpa == tmpb && ISDIGIT (tmpa)) { do tmpa = *++a; while (tmpa == thousands_sep); do tmpb = *++b; while (tmpb == thousands_sep); } if ((tmpa == decimal_point && !ISDIGIT (tmpb)) || (tmpb == decimal_point && !ISDIGIT (tmpa))) return fraccompare (b, a, decimal_point); tmp = tmpb - tmpa; for (log_a = 0; ISDIGIT (tmpa); ++log_a) do tmpa = *++a; while (tmpa == thousands_sep); for (log_b = 0; ISDIGIT (tmpb); ++log_b) do tmpb = *++b; while (tmpb == thousands_sep); if (log_a != log_b) return log_a < log_b ? 1 : -1; if (!log_a) return 0; return tmp; } else if (tmpb == NEGATION_SIGN) { do tmpb = *++b; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep); if (tmpb == decimal_point) do tmpb = *++b; while (tmpb == NUMERIC_ZERO); if (ISDIGIT (tmpb)) return 1; while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep) tmpa = *++a; if (tmpa == decimal_point) do tmpa = *++a; while (tmpa == NUMERIC_ZERO); return ISDIGIT (tmpa); } else { while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep) tmpa = *++a; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep) tmpb = *++b; while (tmpa == tmpb && ISDIGIT (tmpa)) { do tmpa = *++a; while (tmpa == thousands_sep); do tmpb = *++b; while (tmpb == thousands_sep); } if ((tmpa == decimal_point && !ISDIGIT (tmpb)) || (tmpb == decimal_point && !ISDIGIT (tmpa))) return fraccompare (a, b, decimal_point); tmp = tmpa - tmpb; for (log_a = 0; ISDIGIT (tmpa); ++log_a) do tmpa = *++a; while (tmpa == thousands_sep); for (log_b = 0; ISDIGIT (tmpb); ++log_b) do tmpb = *++b; while (tmpb == thousands_sep); if (log_a != log_b) return log_a < log_b ? -1 : 1; if (!log_a) return 0; return tmp; } } #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/alignof.h������������������������������������������������������������������������0000664�0000000�0000000�00000004101�12071561006�012676� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine alignment of types. Copyright (C) 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _ALIGNOF_H #define _ALIGNOF_H #include <stddef.h> /* alignof_slot (TYPE) Determine the alignment of a structure slot (field) of a given type, at compile time. Note that the result depends on the ABI. This is the same as alignof (TYPE) and _Alignof (TYPE), defined in <stdalign.h> if __alignof_is_defined is 1. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __cplusplus template <class type> struct alignof_helper { char __slot1; type __slot2; }; # define alignof_slot(type) offsetof (alignof_helper<type>, __slot2) #else # define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif /* alignof_type (TYPE) Determine the good alignment of an object of the given type at compile time. Note that this is not necessarily the same as alignof_slot(type). For example, with GNU C on x86 platforms: alignof_type(double) = 8, but - when -malign-double is not specified: alignof_slot(double) = 4, - when -malign-double is specified: alignof_slot(double) = 8. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __GNUC__ # define alignof_type __alignof__ #else # define alignof_type alignof_slot #endif #endif /* _ALIGNOF_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fdopendir.c����������������������������������������������������������������������0000664�0000000�0000000�00000013135�12071024546�013236� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide a replacement fdopendir function Copyright (C) 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <dirent.h> #include <stdlib.h> #include <unistd.h> #if !HAVE_FDOPENDIR # include "openat.h" # include "openat-priv.h" # include "save-cwd.h" # if GNULIB_DIRENT_SAFER # include "dirent--.h" # endif # ifndef REPLACE_FCHDIR # define REPLACE_FCHDIR 0 # endif static DIR *fdopendir_with_dup (int, int, struct saved_cwd const *); static DIR *fd_clone_opendir (int, struct saved_cwd const *); /* Replacement for POSIX fdopendir. First, try to simulate it via opendir ("/proc/self/fd/..."). Failing that, simulate it by using fchdir metadata, or by doing save_cwd/fchdir/opendir(".")/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. If successful, the resulting stream is based on FD in implementations where streams are based on file descriptors and in applications where no other thread or signal handler allocates or frees file descriptors. In other cases, consult dirfd on the result to find out whether FD is still being used. Otherwise, this function works just like POSIX fdopendir. W A R N I N G: Unlike other fd-related functions, this one places constraints on FD. If this function returns successfully, FD is under control of the dirent.h system, and the caller should not close or modify the state of FD other than by the dirent.h functions. */ DIR * fdopendir (int fd) { DIR *dir = fdopendir_with_dup (fd, -1, NULL); if (! REPLACE_FCHDIR && ! dir) { int saved_errno = errno; if (EXPECTED_ERRNO (saved_errno)) { struct saved_cwd cwd; if (save_cwd (&cwd) != 0) openat_save_fail (errno); dir = fdopendir_with_dup (fd, -1, &cwd); saved_errno = errno; free_cwd (&cwd); errno = saved_errno; } } return dir; } /* Like fdopendir, except that if OLDER_DUPFD is not -1, it is known to be a dup of FD which is less than FD - 1 and which will be closed by the caller and not otherwise used by the caller. This function makes sure that FD is closed and all file descriptors less than FD are open, and then calls fd_clone_opendir on a dup of FD. That way, barring race conditions, fd_clone_opendir returns a stream whose file descriptor is FD. If REPLACE_CHDIR or CWD is null, use opendir ("/proc/self/fd/...", falling back on fchdir metadata. Otherwise, CWD is a saved version of the working directory; use fchdir/opendir(".")/restore_cwd(CWD). */ static DIR * fdopendir_with_dup (int fd, int older_dupfd, struct saved_cwd const *cwd) { int dupfd = dup (fd); if (dupfd < 0 && errno == EMFILE) dupfd = older_dupfd; if (dupfd < 0) return NULL; else { DIR *dir; int saved_errno; if (dupfd < fd - 1 && dupfd != older_dupfd) { dir = fdopendir_with_dup (fd, dupfd, cwd); saved_errno = errno; } else { close (fd); dir = fd_clone_opendir (dupfd, cwd); saved_errno = errno; if (! dir) { int fd1 = dup (dupfd); if (fd1 != fd) openat_save_fail (fd1 < 0 ? errno : EBADF); } } if (dupfd != older_dupfd) close (dupfd); errno = saved_errno; return dir; } } /* Like fdopendir, except the result controls a clone of FD. It is the caller's responsibility both to close FD and (if the result is not null) to closedir the result. */ static DIR * fd_clone_opendir (int fd, struct saved_cwd const *cwd) { if (REPLACE_FCHDIR || ! cwd) { DIR *dir = NULL; int saved_errno = EOPNOTSUPP; char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, "."); if (proc_file) { dir = opendir (proc_file); saved_errno = errno; if (proc_file != buf) free (proc_file); } # if REPLACE_FCHDIR if (! dir && EXPECTED_ERRNO (saved_errno)) { char const *name = _gl_directory_name (fd); return (name ? opendir (name) : NULL); } # endif errno = saved_errno; return dir; } else { if (fchdir (fd) != 0) return NULL; else { DIR *dir = opendir ("."); int saved_errno = errno; if (restore_cwd (cwd) != 0) openat_restore_fail (errno); errno = saved_errno; return dir; } } } #else /* HAVE_FDOPENDIR */ # include <errno.h> # include <sys/stat.h> # undef fdopendir /* Like fdopendir, but work around GNU/Hurd bug by validating FD. */ DIR * rpl_fdopendir (int fd) { struct stat st; if (fstat (fd, &st)) return NULL; if (!S_ISDIR (st.st_mode)) { errno = ENOTDIR; return NULL; } return fdopendir (fd); } #endif /* HAVE_FDOPENDIR */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hash-triple.h��������������������������������������������������������������������0000664�0000000�0000000�00000001137�11700563513�013510� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef HASH_TRIPLE_H #define HASH_TRIPLE_H #include <sys/types.h> #include <sys/stat.h> #include <stdbool.h> /* Describe a just-created or just-renamed destination file. */ struct F_triple { char *name; ino_t st_ino; dev_t st_dev; }; extern size_t triple_hash (void const *x, size_t table_size) _GL_ATTRIBUTE_PURE; extern size_t triple_hash_no_name (void const *x, size_t table_size) _GL_ATTRIBUTE_PURE; extern bool triple_compare (void const *x, void const *y); extern bool triple_compare_ino_str (void const *x, void const *y) _GL_ATTRIBUTE_PURE; extern void triple_free (void *x); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sha512.h�������������������������������������������������������������������������0000664�0000000�0000000�00000007062�12071024546�012276� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declarations of functions and data types used for SHA512 and SHA384 sum library functions. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef SHA512_H # define SHA512_H 1 # include <stdio.h> # include "u64.h" # ifdef __cplusplus extern "C" { # endif /* Structure to save state of computation between the single steps. */ struct sha512_ctx { u64 state[8]; u64 total[2]; size_t buflen; u64 buffer[32]; }; enum { SHA384_DIGEST_SIZE = 384 / 8 }; enum { SHA512_DIGEST_SIZE = 512 / 8 }; /* Initialize structure containing state of computation. */ extern void sha512_init_ctx (struct sha512_ctx *ctx); extern void sha384_init_ctx (struct sha512_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 128!!! */ extern void sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 128. */ extern void sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 64 (48) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf); extern void *sha384_finish_ctx (struct sha512_ctx *ctx, void *resbuf); /* Put result from CTX in first 64 (48) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 32 bits value. */ extern void *sha512_read_ctx (const struct sha512_ctx *ctx, void *resbuf); extern void *sha384_read_ctx (const struct sha512_ctx *ctx, void *resbuf); /* Compute SHA512 (SHA384) message digest for bytes read from STREAM. The resulting message digest number will be written into the 64 (48) bytes beginning at RESBLOCK. */ extern int sha512_stream (FILE *stream, void *resblock); extern int sha384_stream (FILE *stream, void *resblock); /* Compute SHA512 (SHA384) message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha512_buffer (const char *buffer, size_t len, void *resblock); extern void *sha384_buffer (const char *buffer, size_t len, void *resblock); # ifdef __cplusplus } # endif #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xvasprintf.h���������������������������������������������������������������������0000664�0000000�0000000�00000004074�12071024546�013477� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* vasprintf and asprintf with out-of-memory checking. Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _XVASPRINTF_H #define _XVASPRINTF_H /* Get va_list. */ #include <stdarg.h> /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(), and return it. Upon [ENOMEM] memory allocation error, call xalloc_die. On some other error - [EOVERFLOW] resulting string length is > INT_MAX, - [EINVAL] invalid format string, - [EILSEQ] error during conversion between wide and multibyte characters, return NULL. */ extern char *xasprintf (const char *format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 2)); extern char *xvasprintf (const char *format, va_list args) _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 0)); #ifdef __cplusplus } #endif #endif /* _XVASPRINTF_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnlen.c������������������������������������������������������������������������0000664�0000000�0000000�00000002164�12071561014�012745� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Find the length of STRING, but scan at most MAXLEN characters. Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <string.h> /* Find the length of STRING, but scan at most MAXLEN characters. If no '\0' terminator is found in that many characters, return MAXLEN. */ size_t strnlen (const char *string, size_t maxlen) { const char *end = memchr (string, '\0', maxlen); return end ? (size_t) (end - string) : maxlen; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rpmatch.c������������������������������������������������������������������������0000664�0000000�0000000�00000013667�12071024546�012734� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether string value is affirmation or negative response according to current locale's data. Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdlib.h> #include <stdbool.h> #include <stddef.h> #if ENABLE_NLS # include <sys/types.h> # include <limits.h> # include <string.h> # if HAVE_LANGINFO_YESEXPR # include <langinfo.h> # endif # include <regex.h> # include "gettext.h" # define _(msgid) gettext (msgid) # define N_(msgid) gettext_noop (msgid) # if HAVE_LANGINFO_YESEXPR /* Return the localized regular expression pattern corresponding to ENGLISH_PATTERN. NL_INDEX can be used with nl_langinfo. The resulting string may only be used until the next nl_langinfo call. */ static const char * localized_pattern (const char *english_pattern, nl_item nl_index, bool posixly_correct) { const char *translated_pattern; /* We prefer to get the patterns from a PO file. It would be possible to always use nl_langinfo (YESEXPR) instead of _("^[yY]"), and nl_langinfo (NOEXPR) instead of _("^[nN]"), if we could assume that the system's locale support is good. But this is not the case e.g. on Cygwin. The localizations of gnulib.pot are of better quality in general. Also, if we use locale info from non-free systems that don't have a 'localedef' command, we deprive the users of the freedom to localize this pattern for their preferred language. But some programs, such as 'cp', 'mv', 'rm', 'find', 'xargs', are specified by POSIX to use nl_langinfo (YESEXPR). We implement this behaviour if POSIXLY_CORRECT is set, for the sake of these programs. */ /* If the user wants strict POSIX compliance, use nl_langinfo. */ if (posixly_correct) { translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; } /* Look in the gnulib message catalog. */ translated_pattern = _(english_pattern); if (translated_pattern == english_pattern) { /* The gnulib message catalog provides no translation. Try the system's message catalog. */ translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; /* Fall back to English. */ translated_pattern = english_pattern; } return translated_pattern; } # else # define localized_pattern(english_pattern,nl_index,posixly_correct) \ _(english_pattern) # endif static int try (const char *response, const char *pattern, char **lastp, regex_t *re) { if (*lastp == NULL || strcmp (pattern, *lastp) != 0) { char *safe_pattern; /* The pattern has changed. */ if (*lastp != NULL) { /* Free the old compiled pattern. */ regfree (re); free (*lastp); *lastp = NULL; } /* Put the PATTERN into safe memory before calling regcomp. (regcomp may call nl_langinfo, overwriting PATTERN's storage. */ safe_pattern = strdup (pattern); if (safe_pattern == NULL) return -1; /* Compile the pattern and cache it for future runs. */ if (regcomp (re, safe_pattern, REG_EXTENDED) != 0) return -1; *lastp = safe_pattern; } /* See if the regular expression matches RESPONSE. */ return regexec (re, response, 0, NULL, 0) == 0; } #endif int rpmatch (const char *response) { #if ENABLE_NLS /* Match against one of the response patterns, compiling the pattern first if necessary. */ /* We cache the response patterns and compiled regexps here. */ static char *last_yesexpr, *last_noexpr; static regex_t cached_yesre, cached_nore; # if HAVE_LANGINFO_YESEXPR bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); # endif const char *yesexpr, *noexpr; int result; /* TRANSLATORS: A regular expression testing for an affirmative answer (english: "yes"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^yesexpr=' */ yesexpr = localized_pattern (N_("^[yY]"), YESEXPR, posixly_correct); result = try (response, yesexpr, &last_yesexpr, &cached_yesre); if (result < 0) return -1; if (result) return 1; /* TRANSLATORS: A regular expression testing for a negative answer (english: "no"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^noexpr=' */ noexpr = localized_pattern (N_("^[nN]"), NOEXPR, posixly_correct); result = try (response, noexpr, &last_noexpr, &cached_nore); if (result < 0) return -1; if (result) return 0; return -1; #else /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */ return (*response == 'y' || *response == 'Y' ? 1 : *response == 'n' || *response == 'N' ? 0 : -1); #endif } �������������������������������������������������������������������������coreutils-8.21/lib/getndelim2.c���������������������������������������������������������������������0000664�0000000�0000000�00000014010�12071024546�013307� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters, with bounded memory allocation. Copyright (C) 1993, 1996-1998, 2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Originally written by Jan Brittenson, bson@gnu.ai.mit.edu. */ #include <config.h> #include "getndelim2.h" #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include <string.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #if !HAVE_FLOCKFILE # undef flockfile # define flockfile(x) ((void) 0) #endif #if !HAVE_FUNLOCKFILE # undef funlockfile # define funlockfile(x) ((void) 0) #endif #include <limits.h> #include <stdint.h> #include "freadptr.h" #include "freadseek.h" #include "memchr2.h" #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif /* Use this to suppress gcc's "...may be used before initialized" warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif /* The maximum value that getndelim2 can return without suffering from overflow problems, either internally (because of pointer subtraction overflow) or due to the API (because of ssize_t). */ #define GETNDELIM2_MAXIMUM (PTRDIFF_MAX < SSIZE_MAX ? PTRDIFF_MAX : SSIZE_MAX) /* Try to add at least this many bytes when extending the buffer. MIN_CHUNK must be no greater than GETNDELIM2_MAXIMUM. */ #define MIN_CHUNK 64 ssize_t getndelim2 (char **lineptr, size_t *linesize, size_t offset, size_t nmax, int delim1, int delim2, FILE *stream) { size_t nbytes_avail; /* Allocated but unused bytes in *LINEPTR. */ char *read_pos; /* Where we're reading into *LINEPTR. */ ssize_t bytes_stored = -1; char *ptr = *lineptr; size_t size = *linesize; bool found_delimiter; if (!ptr) { size = nmax < MIN_CHUNK ? nmax : MIN_CHUNK; ptr = malloc (size); if (!ptr) return -1; } if (size < offset) goto done; nbytes_avail = size - offset; read_pos = ptr + offset; if (nbytes_avail == 0 && nmax <= size) goto done; /* Normalize delimiters, since memchr2 doesn't handle EOF. */ if (delim1 == EOF) delim1 = delim2; else if (delim2 == EOF) delim2 = delim1; flockfile (stream); found_delimiter = false; do { /* Here always ptr + size == read_pos + nbytes_avail. Also nbytes_avail > 0 || size < nmax. */ int c IF_LINT (= 0); const char *buffer; size_t buffer_len; buffer = freadptr (stream, &buffer_len); if (buffer) { if (delim1 != EOF) { const char *end = memchr2 (buffer, delim1, delim2, buffer_len); if (end) { buffer_len = end - buffer + 1; found_delimiter = true; } } } else { c = getc (stream); if (c == EOF) { /* Return partial line, if any. */ if (read_pos == ptr) goto unlock_done; else break; } if (c == delim1 || c == delim2) found_delimiter = true; buffer_len = 1; } /* We always want at least one byte left in the buffer, since we always (unless we get an error while reading the first byte) NUL-terminate the line buffer. */ if (nbytes_avail < buffer_len + 1 && size < nmax) { /* Grow size proportionally, not linearly, to avoid O(n^2) running time. */ size_t newsize = size < MIN_CHUNK ? size + MIN_CHUNK : 2 * size; char *newptr; /* Increase newsize so that it becomes >= (read_pos - ptr) + buffer_len. */ if (newsize - (read_pos - ptr) < buffer_len + 1) newsize = (read_pos - ptr) + buffer_len + 1; /* Respect nmax. This handles possible integer overflow. */ if (! (size < newsize && newsize <= nmax)) newsize = nmax; if (GETNDELIM2_MAXIMUM < newsize - offset) { size_t newsizemax = offset + GETNDELIM2_MAXIMUM + 1; if (size == newsizemax) goto unlock_done; newsize = newsizemax; } nbytes_avail = newsize - (read_pos - ptr); newptr = realloc (ptr, newsize); if (!newptr) goto unlock_done; ptr = newptr; size = newsize; read_pos = size - nbytes_avail + ptr; } /* Here, if size < nmax, nbytes_avail >= buffer_len + 1. If size == nmax, nbytes_avail > 0. */ if (1 < nbytes_avail) { size_t copy_len = nbytes_avail - 1; if (buffer_len < copy_len) copy_len = buffer_len; if (buffer) memcpy (read_pos, buffer, copy_len); else *read_pos = c; read_pos += copy_len; nbytes_avail -= copy_len; } /* Here still nbytes_avail > 0. */ if (buffer && freadseek (stream, buffer_len)) goto unlock_done; } while (!found_delimiter); /* Done - NUL terminate and return the number of bytes read. At this point we know that nbytes_avail >= 1. */ *read_pos = '\0'; bytes_stored = read_pos - (ptr + offset); unlock_done: funlockfile (stream); done: *lineptr = ptr; *linesize = size; return bytes_stored ? bytes_stored : -1; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randint.h������������������������������������������������������������������������0000664�0000000�0000000�00000003201�12102337340�012713� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate random integers. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef RANDINT_H # define RANDINT_H 1 # include <stdint.h> # include "randread.h" /* An unsigned integer type, used for random integers, and its maximum value. */ typedef uintmax_t randint; # define RANDINT_MAX UINTMAX_MAX struct randint_source; struct randint_source *randint_new (struct randread_source *); struct randint_source *randint_all_new (char const *, size_t); struct randread_source *randint_get_source (struct randint_source const *) _GL_ATTRIBUTE_PURE; randint randint_genmax (struct randint_source *, randint genmax); /* Consume random data from *S to generate a random number in the range 0 .. CHOICES-1. CHOICES must be nonzero. */ static inline randint randint_choose (struct randint_source *s, randint choices) { return randint_genmax (s, choices - 1); } void randint_free (struct randint_source *); int randint_all_free (struct randint_source *); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/areadlink.c����������������������������������������������������������������������0000664�0000000�0000000�00000002702�12071024545�013213� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage Unlike xreadlink and xreadlink_with_size, don't ever call exit. Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net> and Bruno Haible <bruno@clisp.org>. */ #include <config.h> /* Specification. */ #include "areadlink.h" #include "careadlinkat.h" /* Call readlink to get the symbolic link value of FILENAME. Return a pointer to that NUL-terminated string in malloc'd storage. If readlink fails, return NULL and set errno. If allocation fails, or if the link value is longer than SIZE_MAX :-), return NULL and set errno to ENOMEM. */ char * areadlink (char const *filename) { return careadlinkat (AT_FDCWD, filename, NULL, 0, NULL, careadlinkatcwd); } ��������������������������������������������������������������coreutils-8.21/lib/fcntl-safer.h��������������������������������������������������������������������0000664�0000000�0000000�00000001733�12071024546�013476� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke fcntl-like functions, but avoid some glitches. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <sys/types.h> int open_safer (char const *, int, ...); int creat_safer (char const *, mode_t); #if GNULIB_OPENAT_SAFER int openat_safer (int, char const *, int, ...); #endif �������������������������������������coreutils-8.21/lib/xfts.c���������������������������������������������������������������������������0000664�0000000�0000000�00000004402�12102337340�012237� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xfts.c -- a wrapper for fts_open Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include <stdbool.h> #include <stdlib.h> #include <errno.h> #include <assert.h> #include "xalloc.h" #include "xfts.h" /* Fail with a proper diagnostic if fts_open fails. */ FTS * xfts_open (char * const *argv, int options, int (*compar) (const FTSENT **, const FTSENT **)) { FTS *fts = fts_open (argv, options | FTS_CWDFD, compar); if (fts == NULL) { /* This can fail in two ways: out of memory or with errno==EINVAL, which indicates it was called with invalid bit_flags. */ assert (errno != EINVAL); xalloc_die (); } return fts; } /* When fts_read returns FTS_DC to indicate a directory cycle, it may or may not indicate a real problem. When a program like chgrp performs a recursive traversal that requires traversing symbolic links, it is *not* a problem. However, when invoked with "-P -R", it deserves a warning. The fts_options member records the options that control this aspect of fts's behavior, so test that. */ bool cycle_warning_required (FTS const *fts, FTSENT const *ent) { #define ISSET(Fts,Opt) ((Fts)->fts_options & (Opt)) /* When dereferencing no symlinks, or when dereferencing only those listed on the command line and we're not processing a command-line argument, then a cycle is a serious problem. */ return ((ISSET (fts, FTS_PHYSICAL) && !ISSET (fts, FTS_COMFOLLOW)) || (ISSET (fts, FTS_PHYSICAL) && ISSET (fts, FTS_COMFOLLOW) && ent->fts_level != FTS_ROOTLEVEL)); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/close.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002707�12071024546�012374� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* close replacement. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include "fd-hook.h" #include "msvc-inval.h" #undef close #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int close_nothrow (int fd) { int result; TRY_MSVC_INVAL { result = close (fd); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } #else # define close_nothrow close #endif /* Override close() to call into other gnulib modules. */ int rpl_close (int fd) { #if WINDOWS_SOCKETS int retval = execute_all_close_hooks (close_nothrow, fd); #else int retval = close_nothrow (fd); #endif #if REPLACE_FCHDIR if (retval >= 0) _gl_unregister_fd (fd); #endif return retval; } ���������������������������������������������������������coreutils-8.21/lib/fadvise.h������������������������������������������������������������������������0000664�0000000�0000000�00000005236�12102337340�012707� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declare an access pattern hint for files. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <stdio.h> #include <fcntl.h> #include <sys/types.h> /* There are a few hints one can provide, which have the following characteristics on Linux 2.6.31 at least. POSIX_FADV_SEQUENTIAL Doubles the size of read ahead done for file POSIX_FADV_WILLNEED _synchronously_ prepopulate the buffer cache with the file POSIX_FADV_NOREUSE Could lower priority of data in buffer caches, but currently does nothing. POSIX_FADV_DONTNEED Drop the file from cache. Note this is automatically done when files are unlinked. We use this enum "type" both to make it explicit that these options are mutually exclusive, and to discourage the passing of the possibly undefined POSIX_FADV_... values. Note we could #undef the POSIX_FADV_ values, but that would preclude using the posix_fadvise() function with its standard constants. Using posix_fadvise() might be required if the return value is needed, but it must be guarded by appropriate #ifdefs. */ #if HAVE_POSIX_FADVISE typedef enum { FADVISE_NORMAL = POSIX_FADV_NORMAL, FADVISE_SEQUENTIAL = POSIX_FADV_SEQUENTIAL, FADVISE_NOREUSE = POSIX_FADV_NOREUSE, FADVISE_DONTNEED = POSIX_FADV_DONTNEED, FADVISE_WILLNEED = POSIX_FADV_WILLNEED, FADVISE_RANDOM = POSIX_FADV_RANDOM, } fadvice_t; #else typedef enum { FADVISE_NORMAL, FADVISE_SEQUENTIAL, FADVISE_NOREUSE, FADVISE_DONTNEED, FADVISE_WILLNEED, FADVISE_RANDOM, } fadvice_t; #endif /* We ignore any errors as these hints are only advisory. There is the chance one can pass invalid ADVICE, which will not be indicated, but given the simplicity of the interface this is unlikely. Also not returning errors allows the unconditional passing of descriptors to non standard files, which will just be ignored if unsupported. */ void fdadvise (int fd, off_t offset, off_t len, fadvice_t advice); void fadvise (FILE *fp, fadvice_t advice); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/argv-iter.c����������������������������������������������������������������������0000664�0000000�0000000�00000004723�12071024545�013166� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Iterate over arguments from argv or --files0-from=FILE Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "argv-iter.h" #include <stdlib.h> #include <string.h> struct argv_iterator { /* Test FP to determine whether in read-mode or argv-mode. */ /* file-mode: fp records position */ FILE *fp; size_t item_idx; char *tok; size_t buf_len; /* argv-mode: record just argv and current pointer */ char **arg_list; char **p; }; struct argv_iterator * argv_iter_init_argv (char **argv) { struct argv_iterator *ai = malloc (sizeof *ai); if (!ai) return NULL; ai->fp = NULL; ai->arg_list = argv; ai->p = argv; return ai; } /* Initialize to read from the stream, FP. The input is expected to contain a list of NUL-delimited tokens. */ struct argv_iterator * argv_iter_init_stream (FILE *fp) { struct argv_iterator *ai = malloc (sizeof *ai); if (!ai) return NULL; ai->fp = fp; ai->tok = NULL; ai->buf_len = 0; ai->item_idx = 0; ai->arg_list = NULL; return ai; } char * argv_iter (struct argv_iterator *ai, enum argv_iter_err *err) { if (ai->fp) { ssize_t len = getdelim (&ai->tok, &ai->buf_len, '\0', ai->fp); if (len < 0) { *err = feof (ai->fp) ? AI_ERR_EOF : AI_ERR_READ; return NULL; } *err = AI_ERR_OK; ai->item_idx++; return ai->tok; } else { if (*(ai->p) == NULL) { *err = AI_ERR_EOF; return NULL; } else { *err = AI_ERR_OK; return *(ai->p++); } } } size_t argv_iter_n_args (struct argv_iterator const *ai) { return ai->fp ? ai->item_idx : ai->p - ai->arg_list; } void argv_iter_free (struct argv_iterator *ai) { if (ai->fp) free (ai->tok); free (ai); } ���������������������������������������������coreutils-8.21/lib/strchrnul.valgrind���������������������������������������������������������������0000664�0000000�0000000�00000000403�11624727634�014701� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Suppress a valgrind message about use of uninitialized memory in strchrnul(). # This use is OK because it provides only a speedup. { strchrnul-value4 Memcheck:Value4 fun:strchrnul } { strchrnul-value8 Memcheck:Value8 fun:strchrnul } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getlogin.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002322�12071024546�013070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a working getlogin for systems which lack it. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible, 2010. */ #include <config.h> /* Specification. */ #include <unistd.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include <windows.h> #endif char * getlogin (void) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ static char login_name[1024]; DWORD sz = sizeof (login_name); if (GetUserName (login_name, &sz)) return login_name; #endif return NULL; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/priv-set.c�����������������������������������������������������������������������0000664�0000000�0000000�00000006663�12071024546�013045� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Query, remove, or restore a Solaris privilege. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by David Bartley. */ #include <config.h> #define PRIV_SET_INLINE _GL_EXTERN_INLINE #include "priv-set.h" #if HAVE_GETPPRIV && HAVE_PRIV_H # include <errno.h> # include <stdbool.h> # include <priv.h> /* Holds a (cached) copy of the effective set. */ static priv_set_t *eff_set; /* Holds a set of privileges that we have removed. */ static priv_set_t *rem_set; static bool initialized; static int priv_set_initialize (void) { if (! initialized) { eff_set = priv_allocset (); if (!eff_set) { return -1; } rem_set = priv_allocset (); if (!rem_set) { priv_freeset (eff_set); return -1; } if (getppriv (PRIV_EFFECTIVE, eff_set) != 0) { priv_freeset (eff_set); priv_freeset (rem_set); return -1; } priv_emptyset (rem_set); initialized = true; } return 0; } /* Check if priv is in the effective set. Returns 1 if priv is a member and 0 if not. Returns -1 on error with errno set appropriately. */ int priv_set_ismember (const char *priv) { if (! initialized && priv_set_initialize () != 0) return -1; return priv_ismember (eff_set, priv); } /* Try to remove priv from the effective set. Returns 0 if priv was removed. Returns -1 on error with errno set appropriately. */ int priv_set_remove (const char *priv) { if (! initialized && priv_set_initialize () != 0) return -1; if (priv_ismember (eff_set, priv)) { /* priv_addset/priv_delset can only fail if priv is invalid, which is checked above by the priv_ismember call. */ priv_delset (eff_set, priv); if (setppriv (PRIV_SET, PRIV_EFFECTIVE, eff_set) != 0) { priv_addset (eff_set, priv); return -1; } priv_addset (rem_set, priv); } else { errno = EINVAL; return -1; } return 0; } /* Try to restore priv to the effective set. Returns 0 if priv was re-added to the effective set (after being previously removed by a call to priv_set_remove). Returns -1 on error with errno set appropriately. */ int priv_set_restore (const char *priv) { if (! initialized && priv_set_initialize () != 0) return -1; if (priv_ismember (rem_set, priv)) { /* priv_addset/priv_delset can only fail if priv is invalid, which is checked above by the priv_ismember call. */ priv_addset (eff_set, priv); if (setppriv (PRIV_SET, PRIV_EFFECTIVE, eff_set) != 0) { priv_delset (eff_set, priv); return -1; } priv_delset (rem_set, priv); } else { errno = EINVAL; return -1; } return 0; } #endif �����������������������������������������������������������������������������coreutils-8.21/lib/freadahead.h���������������������������������������������������������������������0000664�0000000�0000000�00000002711�12071024546�013333� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> #include <stdio.h> /* Assuming the stream STREAM is open for reading: Return the number of bytes waiting in the input buffer of STREAM. This includes both the bytes that have been read from the underlying input source and the bytes that have been pushed back through 'ungetc'. If this number is 0 and the stream is not currently writing, fflush (STREAM) is known to be a no-op. STREAM must not be wide-character oriented. */ #if HAVE___FREADAHEAD /* musl libc */ # include <stdio_ext.h> # define freadahead(stream) __freadahead (stream) #else # ifdef __cplusplus extern "C" { # endif extern size_t freadahead (FILE *stream) _GL_ATTRIBUTE_PURE; # ifdef __cplusplus } # endif #endif �������������������������������������������������������coreutils-8.21/lib/stdio.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000140420�12100641466�013015� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <stdio.h>. Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H /* Special invocation convention: - Inside glibc header files. - On OSF/1 5.1 we have a sequence of nested includes <stdio.h> -> <getopt.h> -> <ctype.h> -> <sys/localedef.h> -> <sys/lc_core.h> -> <nl_types.h> -> <mesg.h> -> <stdio.h>. In this situation, the functions are not yet declared, therefore we cannot provide the C++ aliases. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_STDIO_H #define _GL_ALREADY_INCLUDING_STDIO_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #undef _GL_ALREADY_INCLUDING_STDIO_H #ifndef _@GUARD_PREFIX@_STDIO_H #define _@GUARD_PREFIX@_STDIO_H /* Get va_list. Needed on many systems, including glibc 2.8. */ #include <stdarg.h> #include <stddef.h> /* Get off_t and ssize_t. Needed on many systems, including glibc 2.8 and eglibc 2.11.2. May also define off_t to a 64-bit type on native Windows. */ #include <sys/types.h> /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif /* _GL_ATTRIBUTE_FORMAT_PRINTF indicates to GCC that the function takes a format string and arguments, where the format string directives are the ones standardized by ISO C99 and POSIX. */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) # define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument)) #else # define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) #endif /* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF, except that it indicates to GCC that the supported format string directives are the ones of the system printf(), rather than the ones standardized by ISO C99 and POSIX. */ #define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument)) /* _GL_ATTRIBUTE_FORMAT_SCANF indicates to GCC that the function takes a format string and arguments, where the format string directives are the ones standardized by ISO C99 and POSIX. */ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) # define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument)) #else # define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) #endif /* _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_SCANF, except that it indicates to GCC that the supported format string directives are the ones of the system scanf(), rather than the ones standardized by ISO C99 and POSIX. */ #define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument)) /* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>. */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \ && ! defined __GLIBC__ # include <unistd.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Macros for stringification. */ #define _GL_STDIO_STRINGIZE(token) #token #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token) #if @GNULIB_DPRINTF@ # if @REPLACE_DPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define dprintf rpl_dprintf # endif _GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...)); # else # if !@HAVE_DPRINTF@ _GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...)); # endif _GL_CXXALIASWARN (dprintf); #elif defined GNULIB_POSIXCHECK # undef dprintf # if HAVE_RAW_DECL_DPRINTF _GL_WARN_ON_USE (dprintf, "dprintf is unportable - " "use gnulib module dprintf for portability"); # endif #endif #if @GNULIB_FCLOSE@ /* Close STREAM and its underlying file descriptor. */ # if @REPLACE_FCLOSE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fclose rpl_fclose # endif _GL_FUNCDECL_RPL (fclose, int, (FILE *stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fclose, int, (FILE *stream)); # else _GL_CXXALIAS_SYS (fclose, int, (FILE *stream)); # endif _GL_CXXALIASWARN (fclose); #elif defined GNULIB_POSIXCHECK # undef fclose /* Assume fclose is always declared. */ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - " "use gnulib module fclose for portable POSIX compliance"); #endif #if @GNULIB_FDOPEN@ # if @REPLACE_FDOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fdopen # define fdopen rpl_fdopen # endif _GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); # else _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); # endif _GL_CXXALIASWARN (fdopen); #elif defined GNULIB_POSIXCHECK # undef fdopen /* Assume fdopen is always declared. */ _GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - " "use gnulib module fdopen for portability"); #endif #if @GNULIB_FFLUSH@ /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. Note! LOSS OF DATA can occur if fflush is applied on an input stream that is _not_seekable_ or on an update stream that is _not_seekable_ and in which the most recent operation was input. Seekability can be tested with lseek(fileno(fp),0,SEEK_CUR). */ # if @REPLACE_FFLUSH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fflush rpl_fflush # endif _GL_FUNCDECL_RPL (fflush, int, (FILE *gl_stream)); _GL_CXXALIAS_RPL (fflush, int, (FILE *gl_stream)); # else _GL_CXXALIAS_SYS (fflush, int, (FILE *gl_stream)); # endif _GL_CXXALIASWARN (fflush); #elif defined GNULIB_POSIXCHECK # undef fflush /* Assume fflush is always declared. */ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " "use gnulib module fflush for portable POSIX compliance"); #endif #if @GNULIB_FGETC@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fgetc # define fgetc rpl_fgetc # endif _GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fgetc, int, (FILE *stream)); # else _GL_CXXALIAS_SYS (fgetc, int, (FILE *stream)); # endif _GL_CXXALIASWARN (fgetc); #endif #if @GNULIB_FGETS@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fgets # define fgets rpl_fgets # endif _GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream) _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream)); # else _GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream)); # endif _GL_CXXALIASWARN (fgets); #endif #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fopen # define fopen rpl_fopen # endif _GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode)); # else _GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode)); # endif _GL_CXXALIASWARN (fopen); #elif defined GNULIB_POSIXCHECK # undef fopen /* Assume fopen is always declared. */ _GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - " "use gnulib module fopen for portability"); #endif #if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@ # if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \ || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fprintf rpl_fprintf # endif # define GNULIB_overrides_fprintf 1 # if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); # else _GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...)); # else _GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...)); # endif _GL_CXXALIASWARN (fprintf); #endif #if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_fprintf # undef fprintf # endif /* Assume fprintf is always declared. */ _GL_WARN_ON_USE (fprintf, "fprintf is not always POSIX compliant - " "use gnulib module fprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_FPURGE@ /* Discard all pending buffered I/O data on STREAM. STREAM must not be wide-character oriented. When discarding pending output, the file position is set back to where it was before the write calls. When discarding pending input, the file position is advanced to match the end of the previously read input. Return 0 if successful. Upon error, return -1 and set errno. */ # if @REPLACE_FPURGE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define fpurge rpl_fpurge # endif _GL_FUNCDECL_RPL (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fpurge, int, (FILE *gl_stream)); # else # if !@HAVE_DECL_FPURGE@ _GL_FUNCDECL_SYS (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (fpurge, int, (FILE *gl_stream)); # endif _GL_CXXALIASWARN (fpurge); #elif defined GNULIB_POSIXCHECK # undef fpurge # if HAVE_RAW_DECL_FPURGE _GL_WARN_ON_USE (fpurge, "fpurge is not always present - " "use gnulib module fpurge for portability"); # endif #endif #if @GNULIB_FPUTC@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputc # define fputc rpl_fputc # endif _GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fputc, int, (int c, FILE *stream)); # else _GL_CXXALIAS_SYS (fputc, int, (int c, FILE *stream)); # endif _GL_CXXALIASWARN (fputc); #endif #if @GNULIB_FPUTS@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fputs # define fputs rpl_fputs # endif _GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream)); # else _GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream)); # endif _GL_CXXALIASWARN (fputs); #endif #if @GNULIB_FREAD@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fread # define fread rpl_fread # endif _GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream) _GL_ARG_NONNULL ((4))); _GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); # else _GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)); # endif _GL_CXXALIASWARN (fread); #endif #if @GNULIB_FREOPEN@ # if @REPLACE_FREOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef freopen # define freopen rpl_freopen # endif _GL_FUNCDECL_RPL (freopen, FILE *, (const char *filename, const char *mode, FILE *stream) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (freopen, FILE *, (const char *filename, const char *mode, FILE *stream)); # else _GL_CXXALIAS_SYS (freopen, FILE *, (const char *filename, const char *mode, FILE *stream)); # endif _GL_CXXALIASWARN (freopen); #elif defined GNULIB_POSIXCHECK # undef freopen /* Assume freopen is always declared. */ _GL_WARN_ON_USE (freopen, "freopen on native Windows platforms is not POSIX compliant - " "use gnulib module freopen for portability"); #endif #if @GNULIB_FSCANF@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fscanf # define fscanf rpl_fscanf # endif _GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...)); # else _GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...)); # endif _GL_CXXALIASWARN (fscanf); #endif /* Set up the following warnings, based on which modules are in use. GNU Coding Standards discourage the use of fseek, since it imposes an arbitrary limitation on some 32-bit hosts. Remember that the fseek module depends on the fseeko module, so we only have three cases to consider: 1. The developer is not using either module. Issue a warning under GNULIB_POSIXCHECK for both functions, to remind them that both functions have bugs on some systems. _GL_NO_LARGE_FILES has no impact on this warning. 2. The developer is using both modules. They may be unaware of the arbitrary limitations of fseek, so issue a warning under GNULIB_POSIXCHECK. On the other hand, they may be using both modules intentionally, so the developer can define _GL_NO_LARGE_FILES in the compilation units where the use of fseek is safe, to silence the warning. 3. The developer is using the fseeko module, but not fseek. Gnulib guarantees that fseek will still work around platform bugs in that case, but we presume that the developer is aware of the pitfalls of fseek and was trying to avoid it, so issue a warning even when GNULIB_POSIXCHECK is undefined. Again, _GL_NO_LARGE_FILES can be defined to silence the warning in particular compilation units. In C++ compilations with GNULIB_NAMESPACE, in order to avoid that fseek gets defined as a macro, it is recommended that the developer uses the fseek module, even if he is not calling the fseek function. Most gnulib clients that perform stream operations should fall into category 3. */ #if @GNULIB_FSEEK@ # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES # define _GL_FSEEK_WARN /* Category 2, above. */ # undef fseek # endif # if @REPLACE_FSEEK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fseek # define fseek rpl_fseek # endif _GL_FUNCDECL_RPL (fseek, int, (FILE *fp, long offset, int whence) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fseek, int, (FILE *fp, long offset, int whence)); # else _GL_CXXALIAS_SYS (fseek, int, (FILE *fp, long offset, int whence)); # endif _GL_CXXALIASWARN (fseek); #endif #if @GNULIB_FSEEKO@ # if !@GNULIB_FSEEK@ && !defined _GL_NO_LARGE_FILES # define _GL_FSEEK_WARN /* Category 3, above. */ # undef fseek # endif # if @REPLACE_FSEEKO@ /* Provide an fseeko function that is aware of a preceding fflush(), and which detects pipes. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fseeko # define fseeko rpl_fseeko # endif _GL_FUNCDECL_RPL (fseeko, int, (FILE *fp, off_t offset, int whence) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence)); # else # if ! @HAVE_DECL_FSEEKO@ _GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)); # endif _GL_CXXALIASWARN (fseeko); #elif defined GNULIB_POSIXCHECK # define _GL_FSEEK_WARN /* Category 1, above. */ # undef fseek # undef fseeko # if HAVE_RAW_DECL_FSEEKO _GL_WARN_ON_USE (fseeko, "fseeko is unportable - " "use gnulib module fseeko for portability"); # endif #endif #ifdef _GL_FSEEK_WARN # undef _GL_FSEEK_WARN /* Here, either fseek is undefined (but C89 guarantees that it is declared), or it is defined as rpl_fseek (declared above). */ _GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than 4 GB " "on 32-bit platforms - " "use fseeko function for handling of large files"); #endif /* ftell, ftello. See the comments on fseek/fseeko. */ #if @GNULIB_FTELL@ # if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES # define _GL_FTELL_WARN /* Category 2, above. */ # undef ftell # endif # if @REPLACE_FTELL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ftell # define ftell rpl_ftell # endif _GL_FUNCDECL_RPL (ftell, long, (FILE *fp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (ftell, long, (FILE *fp)); # else _GL_CXXALIAS_SYS (ftell, long, (FILE *fp)); # endif _GL_CXXALIASWARN (ftell); #endif #if @GNULIB_FTELLO@ # if !@GNULIB_FTELL@ && !defined _GL_NO_LARGE_FILES # define _GL_FTELL_WARN /* Category 3, above. */ # undef ftell # endif # if @REPLACE_FTELLO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ftello # define ftello rpl_ftello # endif _GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp)); # else # if ! @HAVE_DECL_FTELLO@ _GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp)); # endif _GL_CXXALIASWARN (ftello); #elif defined GNULIB_POSIXCHECK # define _GL_FTELL_WARN /* Category 1, above. */ # undef ftell # undef ftello # if HAVE_RAW_DECL_FTELLO _GL_WARN_ON_USE (ftello, "ftello is unportable - " "use gnulib module ftello for portability"); # endif #endif #ifdef _GL_FTELL_WARN # undef _GL_FTELL_WARN /* Here, either ftell is undefined (but C89 guarantees that it is declared), or it is defined as rpl_ftell (declared above). */ _GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB " "on 32-bit platforms - " "use ftello function for handling of large files"); #endif #if @GNULIB_FWRITE@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fwrite # define fwrite rpl_fwrite # endif _GL_FUNCDECL_RPL (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream) _GL_ARG_NONNULL ((1, 4))); _GL_CXXALIAS_RPL (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); # else _GL_CXXALIAS_SYS (fwrite, size_t, (const void *ptr, size_t s, size_t n, FILE *stream)); /* Work around bug 11959 when fortifying glibc 2.4 through 2.15 <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>, which sometimes causes an unwanted diagnostic for fwrite calls. This affects only function declaration attributes under certain versions of gcc, and is not needed for C++. */ # if (0 < __USE_FORTIFY_LEVEL \ && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \ && 3 < __GNUC__ + (4 <= __GNUC_MINOR__) \ && !defined __cplusplus) # undef fwrite # define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; }) # endif # endif _GL_CXXALIASWARN (fwrite); #endif #if @GNULIB_GETC@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getc # define getc rpl_fgetc # endif _GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream)); # else _GL_CXXALIAS_SYS (getc, int, (FILE *stream)); # endif _GL_CXXALIASWARN (getc); #endif #if @GNULIB_GETCHAR@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getchar # define getchar rpl_getchar # endif _GL_FUNCDECL_RPL (getchar, int, (void)); _GL_CXXALIAS_RPL (getchar, int, (void)); # else _GL_CXXALIAS_SYS (getchar, int, (void)); # endif _GL_CXXALIASWARN (getchar); #endif #if @GNULIB_GETDELIM@ /* Read input, up to (and including) the next occurrence of DELIMITER, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ # if @REPLACE_GETDELIM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getdelim # define getdelim rpl_getdelim # endif _GL_FUNCDECL_RPL (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream) _GL_ARG_NONNULL ((1, 2, 4))); _GL_CXXALIAS_RPL (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream)); # else # if !@HAVE_DECL_GETDELIM@ _GL_FUNCDECL_SYS (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream) _GL_ARG_NONNULL ((1, 2, 4))); # endif _GL_CXXALIAS_SYS (getdelim, ssize_t, (char **lineptr, size_t *linesize, int delimiter, FILE *stream)); # endif _GL_CXXALIASWARN (getdelim); #elif defined GNULIB_POSIXCHECK # undef getdelim # if HAVE_RAW_DECL_GETDELIM _GL_WARN_ON_USE (getdelim, "getdelim is unportable - " "use gnulib module getdelim for portability"); # endif #endif #if @GNULIB_GETLINE@ /* Read a line, up to (and including) the next newline, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ # if @REPLACE_GETLINE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getline # define getline rpl_getline # endif _GL_FUNCDECL_RPL (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream) _GL_ARG_NONNULL ((1, 2, 3))); _GL_CXXALIAS_RPL (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream)); # else # if !@HAVE_DECL_GETLINE@ _GL_FUNCDECL_SYS (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream) _GL_ARG_NONNULL ((1, 2, 3))); # endif _GL_CXXALIAS_SYS (getline, ssize_t, (char **lineptr, size_t *linesize, FILE *stream)); # endif # if @HAVE_DECL_GETLINE@ _GL_CXXALIASWARN (getline); # endif #elif defined GNULIB_POSIXCHECK # undef getline # if HAVE_RAW_DECL_GETLINE _GL_WARN_ON_USE (getline, "getline is unportable - " "use gnulib module getline for portability"); # endif #endif /* It is very rare that the developer ever has full control of stdin, so any use of gets warrants an unconditional warning; besides, C11 removed it. */ #undef gets #if HAVE_RAW_DECL_GETS _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ struct obstack; /* Grow an obstack with formatted output. Return the number of bytes added to OBS. No trailing nul byte is added, and the object should be closed with obstack_finish before use. Upon memory allocation error, call obstack_alloc_failed_handler. Upon other error, return -1. */ # if @REPLACE_OBSTACK_PRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define obstack_printf rpl_obstack_printf # endif _GL_FUNCDECL_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_printf, int, (struct obstack *obs, const char *format, ...)); # else # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_printf, int, (struct obstack *obs, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_printf, int, (struct obstack *obs, const char *format, ...)); # endif _GL_CXXALIASWARN (obstack_printf); # if @REPLACE_OBSTACK_PRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define obstack_vprintf rpl_obstack_vprintf # endif _GL_FUNCDECL_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args)); # else # if !@HAVE_DECL_OBSTACK_PRINTF@ _GL_FUNCDECL_SYS (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (obstack_vprintf, int, (struct obstack *obs, const char *format, va_list args)); # endif _GL_CXXALIASWARN (obstack_vprintf); #endif #if @GNULIB_PCLOSE@ # if !@HAVE_PCLOSE@ _GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (pclose, int, (FILE *stream)); _GL_CXXALIASWARN (pclose); #elif defined GNULIB_POSIXCHECK # undef pclose # if HAVE_RAW_DECL_PCLOSE _GL_WARN_ON_USE (pclose, "pclose is unportable - " "use gnulib module pclose for more portability"); # endif #endif #if @GNULIB_PERROR@ /* Print a message to standard error, describing the value of ERRNO, (if STRING is not NULL and not empty) prefixed with STRING and ": ", and terminated with a newline. */ # if @REPLACE_PERROR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define perror rpl_perror # endif _GL_FUNCDECL_RPL (perror, void, (const char *string)); _GL_CXXALIAS_RPL (perror, void, (const char *string)); # else _GL_CXXALIAS_SYS (perror, void, (const char *string)); # endif _GL_CXXALIASWARN (perror); #elif defined GNULIB_POSIXCHECK # undef perror /* Assume perror is always declared. */ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - " "use gnulib module perror for portability"); #endif #if @GNULIB_POPEN@ # if @REPLACE_POPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef popen # define popen rpl_popen # endif _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else # if !@HAVE_POPEN@ _GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif _GL_CXXALIASWARN (popen); #elif defined GNULIB_POSIXCHECK # undef popen # if HAVE_RAW_DECL_POPEN _GL_WARN_ON_USE (popen, "popen is buggy on some platforms - " "use gnulib module popen or pipe for more portability"); # endif #endif #if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@ # if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \ || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if defined __GNUC__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ # endif # if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL_1 (__printf__, int, (const char *format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2) _GL_ARG_NONNULL ((1))); # else _GL_FUNCDECL_RPL_1 (__printf__, int, (const char *format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf)) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...)); # else # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define printf rpl_printf # endif _GL_FUNCDECL_RPL (printf, int, (const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (printf, int, (const char *format, ...)); # endif # define GNULIB_overrides_printf 1 # else _GL_CXXALIAS_SYS (printf, int, (const char *format, ...)); # endif _GL_CXXALIASWARN (printf); #endif #if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_printf # undef printf # endif /* Assume printf is always declared. */ _GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - " "use gnulib module printf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_PUTC@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putc # define putc rpl_fputc # endif _GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL_1 (putc, rpl_fputc, int, (int c, FILE *stream)); # else _GL_CXXALIAS_SYS (putc, int, (int c, FILE *stream)); # endif _GL_CXXALIASWARN (putc); #endif #if @GNULIB_PUTCHAR@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef putchar # define putchar rpl_putchar # endif _GL_FUNCDECL_RPL (putchar, int, (int c)); _GL_CXXALIAS_RPL (putchar, int, (int c)); # else _GL_CXXALIAS_SYS (putchar, int, (int c)); # endif _GL_CXXALIASWARN (putchar); #endif #if @GNULIB_PUTS@ # if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef puts # define puts rpl_puts # endif _GL_FUNCDECL_RPL (puts, int, (const char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (puts, int, (const char *string)); # else _GL_CXXALIAS_SYS (puts, int, (const char *string)); # endif _GL_CXXALIASWARN (puts); #endif #if @GNULIB_REMOVE@ # if @REPLACE_REMOVE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef remove # define remove rpl_remove # endif _GL_FUNCDECL_RPL (remove, int, (const char *name) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (remove, int, (const char *name)); # else _GL_CXXALIAS_SYS (remove, int, (const char *name)); # endif _GL_CXXALIASWARN (remove); #elif defined GNULIB_POSIXCHECK # undef remove /* Assume remove is always declared. */ _GL_WARN_ON_USE (remove, "remove cannot handle directories on some platforms - " "use gnulib module remove for more portability"); #endif #if @GNULIB_RENAME@ # if @REPLACE_RENAME@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef rename # define rename rpl_rename # endif _GL_FUNCDECL_RPL (rename, int, (const char *old_filename, const char *new_filename) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (rename, int, (const char *old_filename, const char *new_filename)); # else _GL_CXXALIAS_SYS (rename, int, (const char *old_filename, const char *new_filename)); # endif _GL_CXXALIASWARN (rename); #elif defined GNULIB_POSIXCHECK # undef rename /* Assume rename is always declared. */ _GL_WARN_ON_USE (rename, "rename is buggy on some platforms - " "use gnulib module rename for more portability"); #endif #if @GNULIB_RENAMEAT@ # if @REPLACE_RENAMEAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef renameat # define renameat rpl_renameat # endif _GL_FUNCDECL_RPL (renameat, int, (int fd1, char const *file1, int fd2, char const *file2) _GL_ARG_NONNULL ((2, 4))); _GL_CXXALIAS_RPL (renameat, int, (int fd1, char const *file1, int fd2, char const *file2)); # else # if !@HAVE_RENAMEAT@ _GL_FUNCDECL_SYS (renameat, int, (int fd1, char const *file1, int fd2, char const *file2) _GL_ARG_NONNULL ((2, 4))); # endif _GL_CXXALIAS_SYS (renameat, int, (int fd1, char const *file1, int fd2, char const *file2)); # endif _GL_CXXALIASWARN (renameat); #elif defined GNULIB_POSIXCHECK # undef renameat # if HAVE_RAW_DECL_RENAMEAT _GL_WARN_ON_USE (renameat, "renameat is not portable - " "use gnulib module renameat for portability"); # endif #endif #if @GNULIB_SCANF@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if defined __GNUC__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef scanf /* Don't break __attribute__((format(scanf,M,N))). */ # define scanf __scanf__ # endif _GL_FUNCDECL_RPL_1 (__scanf__, int, (const char *format, ...) __asm__ (@ASM_SYMBOL_PREFIX@ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf)) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...)); # else # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef scanf # define scanf rpl_scanf # endif _GL_FUNCDECL_RPL (scanf, int, (const char *format, ...) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (scanf, int, (const char *format, ...)); # endif # else _GL_CXXALIAS_SYS (scanf, int, (const char *format, ...)); # endif _GL_CXXALIASWARN (scanf); #endif #if @GNULIB_SNPRINTF@ # if @REPLACE_SNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define snprintf rpl_snprintf # endif _GL_FUNCDECL_RPL (snprintf, int, (char *str, size_t size, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (snprintf, int, (char *str, size_t size, const char *format, ...)); # else # if !@HAVE_DECL_SNPRINTF@ _GL_FUNCDECL_SYS (snprintf, int, (char *str, size_t size, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (snprintf, int, (char *str, size_t size, const char *format, ...)); # endif _GL_CXXALIASWARN (snprintf); #elif defined GNULIB_POSIXCHECK # undef snprintf # if HAVE_RAW_DECL_SNPRINTF _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " "use gnulib module snprintf for portability"); # endif #endif /* Some people would argue that all sprintf uses should be warned about (for example, OpenBSD issues a link warning for it), since it can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more efficient than snprintf in those safe cases; and as proof of our belief, we use sprintf in several gnulib modules. So this header intentionally avoids adding a warning to sprintf except when GNULIB_POSIXCHECK is defined. */ #if @GNULIB_SPRINTF_POSIX@ # if @REPLACE_SPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define sprintf rpl_sprintf # endif _GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...)); # else _GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...)); # endif _GL_CXXALIASWARN (sprintf); #elif defined GNULIB_POSIXCHECK # undef sprintf /* Assume sprintf is always declared. */ _GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - " "use gnulib module sprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_TMPFILE@ # if @REPLACE_TMPFILE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define tmpfile rpl_tmpfile # endif _GL_FUNCDECL_RPL (tmpfile, FILE *, (void)); _GL_CXXALIAS_RPL (tmpfile, FILE *, (void)); # else _GL_CXXALIAS_SYS (tmpfile, FILE *, (void)); # endif _GL_CXXALIASWARN (tmpfile); #elif defined GNULIB_POSIXCHECK # undef tmpfile # if HAVE_RAW_DECL_TMPFILE _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - " "use gnulib module tmpfile for portability"); # endif #endif #if @GNULIB_VASPRINTF@ /* Write formatted output to a string dynamically allocated with malloc(). If the memory allocation succeeds, store the address of the string in *RESULT and return the number of resulting bytes, excluding the trailing NUL. Upon memory allocation error, or some other error, return -1. */ # if @REPLACE_VASPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define asprintf rpl_asprintf # endif _GL_FUNCDECL_RPL (asprintf, int, (char **result, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (asprintf, int, (char **result, const char *format, ...)); # else # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (asprintf, int, (char **result, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (asprintf, int, (char **result, const char *format, ...)); # endif _GL_CXXALIASWARN (asprintf); # if @REPLACE_VASPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vasprintf rpl_vasprintf # endif _GL_FUNCDECL_RPL (vasprintf, int, (char **result, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vasprintf, int, (char **result, const char *format, va_list args)); # else # if !@HAVE_VASPRINTF@ _GL_FUNCDECL_SYS (vasprintf, int, (char **result, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (vasprintf, int, (char **result, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vasprintf); #endif #if @GNULIB_VDPRINTF@ # if @REPLACE_VDPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vdprintf rpl_vdprintf # endif _GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args)); # else # if !@HAVE_VDPRINTF@ _GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((2))); # endif /* Need to cast, because on Solaris, the third parameter will likely be __va_list args. */ _GL_CXXALIAS_SYS_CAST (vdprintf, int, (int fd, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vdprintf); #elif defined GNULIB_POSIXCHECK # undef vdprintf # if HAVE_RAW_DECL_VDPRINTF _GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - " "use gnulib module vdprintf for portability"); # endif #endif #if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@ # if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \ || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vfprintf rpl_vfprintf # endif # define GNULIB_overrides_vfprintf 1 # if @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); # else _GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vfprintf, int, (FILE *fp, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vfprintf); #endif #if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_vfprintf # undef vfprintf # endif /* Assume vfprintf is always declared. */ _GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - " "use gnulib module vfprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_VFSCANF@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef vfscanf # define vfscanf rpl_vfscanf # endif _GL_FUNCDECL_RPL (vfscanf, int, (FILE *stream, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vfscanf, int, (FILE *stream, const char *format, va_list args)); # else _GL_CXXALIAS_SYS (vfscanf, int, (FILE *stream, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vfscanf); #endif #if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@ # if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \ || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vprintf rpl_vprintf # endif # define GNULIB_overrides_vprintf 1 # if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@ _GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0) _GL_ARG_NONNULL ((1))); # else _GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args)); # else /* Need to cast, because on Solaris, the second parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args)); # endif _GL_CXXALIASWARN (vprintf); #endif #if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK # if !GNULIB_overrides_vprintf # undef vprintf # endif /* Assume vprintf is always declared. */ _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - " "use gnulib module vprintf-posix for portable " "POSIX compliance"); #endif #if @GNULIB_VSCANF@ # if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef vscanf # define vscanf rpl_vscanf # endif _GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args)); # else _GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args)); # endif _GL_CXXALIASWARN (vscanf); #endif #if @GNULIB_VSNPRINTF@ # if @REPLACE_VSNPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsnprintf rpl_vsnprintf # endif _GL_FUNCDECL_RPL (vsnprintf, int, (char *str, size_t size, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3))); _GL_CXXALIAS_RPL (vsnprintf, int, (char *str, size_t size, const char *format, va_list args)); # else # if !@HAVE_DECL_VSNPRINTF@ _GL_FUNCDECL_SYS (vsnprintf, int, (char *str, size_t size, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3))); # endif _GL_CXXALIAS_SYS (vsnprintf, int, (char *str, size_t size, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vsnprintf); #elif defined GNULIB_POSIXCHECK # undef vsnprintf # if HAVE_RAW_DECL_VSNPRINTF _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - " "use gnulib module vsnprintf for portability"); # endif #endif #if @GNULIB_VSPRINTF_POSIX@ # if @REPLACE_VSPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsprintf rpl_vsprintf # endif _GL_FUNCDECL_RPL (vsprintf, int, (char *str, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (vsprintf, int, (char *str, const char *format, va_list args)); # else /* Need to cast, because on Solaris, the third parameter is __va_list args and GCC's fixincludes did not change this to __gnuc_va_list. */ _GL_CXXALIAS_SYS_CAST (vsprintf, int, (char *str, const char *format, va_list args)); # endif _GL_CXXALIASWARN (vsprintf); #elif defined GNULIB_POSIXCHECK # undef vsprintf /* Assume vsprintf is always declared. */ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - " "use gnulib module vsprintf-posix for portable " "POSIX compliance"); #endif #endif /* _@GUARD_PREFIX@_STDIO_H */ #endif /* _@GUARD_PREFIX@_STDIO_H */ #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdint.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000044610�12100641466�013204� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* * ISO C 99 <stdint.h> for platforms that lack it. * <http://www.opengroup.org/susv3xbd/stdint.h.html> */ #ifndef _@GUARD_PREFIX@_STDINT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* When including a system file that in turn includes <inttypes.h>, use the system <inttypes.h>, not our substitute. This avoids problems with (for example) VMS, whose <sys/bitypes.h> includes <inttypes.h>. */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* On Android (Bionic libc), <sys/types.h> includes this file before having defined 'time_t'. Therefore in this case avoid including other system header files; just include the system's <stdint.h>. Ideally we should test __BIONIC__ here, but it is only defined after <sys/cdefs.h> has been included; hence test __ANDROID__ instead. */ #if defined __ANDROID__ \ && defined _SYS_TYPES_H_ && !defined __need_size_t # @INCLUDE_NEXT@ @NEXT_STDINT_H@ #else /* Get those types that are already defined in other system include files, so that we can "#define int8_t signed char" below without worrying about a later system include file containing a "typedef signed char int8_t;" that will get messed up by our macro. Our macros should all be consistent with the system versions, except for the "fast" types and macros, which we recommend against using in public interfaces due to compiler differences. */ #if @HAVE_STDINT_H@ # if defined __sgi && ! defined __c99 /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users with "This header file is to be used only for c99 mode compilations" diagnostics. */ # define __STDINT_H__ # endif /* Some pre-C++11 <stdint.h> implementations need this. */ # ifdef __cplusplus # ifndef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS 1 # endif # ifndef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 # endif # endif /* Other systems may have an incomplete or buggy <stdint.h>. Include it before <inttypes.h>, since any "#include <stdint.h>" in <inttypes.h> would reinclude us, skipping our contents because _@GUARD_PREFIX@_STDINT_H is defined. The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDINT_H@ #endif #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H #define _@GUARD_PREFIX@_STDINT_H /* <sys/types.h> defines some of the stdint.h types as well, on glibc, IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>). AIX 5.2 <sys/types.h> isn't needed and causes troubles. Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but relies on the system <stdint.h> definitions, so include <sys/types.h> after @NEXT_STDINT_H@. */ #if @HAVE_SYS_TYPES_H@ && ! defined _AIX # include <sys/types.h> #endif /* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX. */ #include <limits.h> #if @HAVE_INTTYPES_H@ /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. <inttypes.h> also defines intptr_t and uintptr_t. */ # include <inttypes.h> #elif @HAVE_SYS_INTTYPES_H@ /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ # include <sys/inttypes.h> #endif #if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is included by <sys/types.h>. */ # include <sys/bitypes.h> #endif #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* Minimum and maximum values for an integer type under the usual assumption. Return an unspecified value if BITS == 0, adding a check to pacify picky compilers. */ #define _STDINT_MIN(signed, bits, zero) \ ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) #define _STDINT_MAX(signed, bits, zero) \ ((signed) \ ? ~ _STDINT_MIN (signed, bits, zero) \ : /* The expression for the unsigned case. The subtraction of (signed) \ is a nop in the unsigned case and avoids "signed integer overflow" \ warnings in the signed case. */ \ ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) #if !GNULIB_defined_stdint_types /* 7.18.1.1. Exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef int8_t #undef uint8_t typedef signed char gl_int8_t; typedef unsigned char gl_uint8_t; #define int8_t gl_int8_t #define uint8_t gl_uint8_t #undef int16_t #undef uint16_t typedef short int gl_int16_t; typedef unsigned short int gl_uint16_t; #define int16_t gl_int16_t #define uint16_t gl_uint16_t #undef int32_t #undef uint32_t typedef int gl_int32_t; typedef unsigned int gl_uint32_t; #define int32_t gl_int32_t #define uint32_t gl_uint32_t /* If the system defines INT64_MAX, assume int64_t works. That way, if the underlying platform defines int64_t to be a 64-bit long long int, the code below won't mistakenly define it to be a 64-bit long int, which would mess up C++ name mangling. We must use #ifdef rather than #if, to avoid an error with HP-UX 10.20 cc. */ #ifdef INT64_MAX # define GL_INT64_T #else /* Do not undefine int64_t if gnulib is not being used with 64-bit types, since otherwise it breaks platforms like Tandem/NSK. */ # if LONG_MAX >> 31 >> 31 == 1 # undef int64_t typedef long int gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T # elif defined _MSC_VER # undef int64_t typedef __int64 gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T # elif @HAVE_LONG_LONG_INT@ # undef int64_t typedef long long int gl_int64_t; # define int64_t gl_int64_t # define GL_INT64_T # endif #endif #ifdef UINT64_MAX # define GL_UINT64_T #else # if ULONG_MAX >> 31 >> 31 >> 1 == 1 # undef uint64_t typedef unsigned long int gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T # elif defined _MSC_VER # undef uint64_t typedef unsigned __int64 gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T # elif @HAVE_UNSIGNED_LONG_LONG_INT@ # undef uint64_t typedef unsigned long long int gl_uint64_t; # define uint64_t gl_uint64_t # define GL_UINT64_T # endif #endif /* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */ #define _UINT8_T #define _UINT32_T #define _UINT64_T /* 7.18.1.2. Minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef int_least8_t #undef uint_least8_t #undef int_least16_t #undef uint_least16_t #undef int_least32_t #undef uint_least32_t #undef int_least64_t #undef uint_least64_t #define int_least8_t int8_t #define uint_least8_t uint8_t #define int_least16_t int16_t #define uint_least16_t uint16_t #define int_least32_t int32_t #define uint_least32_t uint32_t #ifdef GL_INT64_T # define int_least64_t int64_t #endif #ifdef GL_UINT64_T # define uint_least64_t uint64_t #endif /* 7.18.1.3. Fastest minimum-width integer types */ /* Note: Other <stdint.h> substitutes may define these types differently. It is not recommended to use these types in public header files. */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. The following code normally uses types consistent with glibc, as that lessens the chance of incompatibility with older GNU hosts. */ #undef int_fast8_t #undef uint_fast8_t #undef int_fast16_t #undef uint_fast16_t #undef int_fast32_t #undef uint_fast32_t #undef int_fast64_t #undef uint_fast64_t typedef signed char gl_int_fast8_t; typedef unsigned char gl_uint_fast8_t; #ifdef __sun /* Define types compatible with SunOS 5.10, so that code compiled under earlier SunOS versions works with code compiled under SunOS 5.10. */ typedef int gl_int_fast32_t; typedef unsigned int gl_uint_fast32_t; #else typedef long int gl_int_fast32_t; typedef unsigned long int gl_uint_fast32_t; #endif typedef gl_int_fast32_t gl_int_fast16_t; typedef gl_uint_fast32_t gl_uint_fast16_t; #define int_fast8_t gl_int_fast8_t #define uint_fast8_t gl_uint_fast8_t #define int_fast16_t gl_int_fast16_t #define uint_fast16_t gl_uint_fast16_t #define int_fast32_t gl_int_fast32_t #define uint_fast32_t gl_uint_fast32_t #ifdef GL_INT64_T # define int_fast64_t int64_t #endif #ifdef GL_UINT64_T # define uint_fast64_t uint64_t #endif /* 7.18.1.4. Integer types capable of holding object pointers */ #undef intptr_t #undef uintptr_t typedef long int gl_intptr_t; typedef unsigned long int gl_uintptr_t; #define intptr_t gl_intptr_t #define uintptr_t gl_uintptr_t /* 7.18.1.5. Greatest-width integer types */ /* Note: These types are compiler dependent. It may be unwise to use them in public header files. */ /* If the system defines INTMAX_MAX, assume that intmax_t works, and similarly for UINTMAX_MAX and uintmax_t. This avoids problems with assuming one type where another is used by the system. */ #ifndef INTMAX_MAX # undef INTMAX_C # undef intmax_t # if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 typedef long long int gl_intmax_t; # define intmax_t gl_intmax_t # elif defined GL_INT64_T # define intmax_t int64_t # else typedef long int gl_intmax_t; # define intmax_t gl_intmax_t # endif #endif #ifndef UINTMAX_MAX # undef UINTMAX_C # undef uintmax_t # if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 typedef unsigned long long int gl_uintmax_t; # define uintmax_t gl_uintmax_t # elif defined GL_UINT64_T # define uintmax_t uint64_t # else typedef unsigned long int gl_uintmax_t; # define uintmax_t gl_uintmax_t # endif #endif /* Verify that intmax_t and uintmax_t have the same size. Too much code breaks if this is not the case. If this check fails, the reason is likely to be found in the autoconf macros. */ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) ? 1 : -1]; #define GNULIB_defined_stdint_types 1 #endif /* !GNULIB_defined_stdint_types */ /* 7.18.2. Limits of specified-width integer types */ /* 7.18.2.1. Limits of exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef INT8_MIN #undef INT8_MAX #undef UINT8_MAX #define INT8_MIN (~ INT8_MAX) #define INT8_MAX 127 #define UINT8_MAX 255 #undef INT16_MIN #undef INT16_MAX #undef UINT16_MAX #define INT16_MIN (~ INT16_MAX) #define INT16_MAX 32767 #define UINT16_MAX 65535 #undef INT32_MIN #undef INT32_MAX #undef UINT32_MAX #define INT32_MIN (~ INT32_MAX) #define INT32_MAX 2147483647 #define UINT32_MAX 4294967295U #if defined GL_INT64_T && ! defined INT64_MAX /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 evaluates the latter incorrectly in preprocessor expressions. */ # define INT64_MIN (- INTMAX_C (1) << 63) # define INT64_MAX INTMAX_C (9223372036854775807) #endif #if defined GL_UINT64_T && ! defined UINT64_MAX # define UINT64_MAX UINTMAX_C (18446744073709551615) #endif /* 7.18.2.2. Limits of minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef INT_LEAST8_MIN #undef INT_LEAST8_MAX #undef UINT_LEAST8_MAX #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MAX INT8_MAX #define UINT_LEAST8_MAX UINT8_MAX #undef INT_LEAST16_MIN #undef INT_LEAST16_MAX #undef UINT_LEAST16_MAX #define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MAX INT16_MAX #define UINT_LEAST16_MAX UINT16_MAX #undef INT_LEAST32_MIN #undef INT_LEAST32_MAX #undef UINT_LEAST32_MAX #define INT_LEAST32_MIN INT32_MIN #define INT_LEAST32_MAX INT32_MAX #define UINT_LEAST32_MAX UINT32_MAX #undef INT_LEAST64_MIN #undef INT_LEAST64_MAX #ifdef GL_INT64_T # define INT_LEAST64_MIN INT64_MIN # define INT_LEAST64_MAX INT64_MAX #endif #undef UINT_LEAST64_MAX #ifdef GL_UINT64_T # define UINT_LEAST64_MAX UINT64_MAX #endif /* 7.18.2.3. Limits of fastest minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. */ #undef INT_FAST8_MIN #undef INT_FAST8_MAX #undef UINT_FAST8_MAX #define INT_FAST8_MIN SCHAR_MIN #define INT_FAST8_MAX SCHAR_MAX #define UINT_FAST8_MAX UCHAR_MAX #undef INT_FAST16_MIN #undef INT_FAST16_MAX #undef UINT_FAST16_MAX #define INT_FAST16_MIN INT_FAST32_MIN #define INT_FAST16_MAX INT_FAST32_MAX #define UINT_FAST16_MAX UINT_FAST32_MAX #undef INT_FAST32_MIN #undef INT_FAST32_MAX #undef UINT_FAST32_MAX #ifdef __sun # define INT_FAST32_MIN INT_MIN # define INT_FAST32_MAX INT_MAX # define UINT_FAST32_MAX UINT_MAX #else # define INT_FAST32_MIN LONG_MIN # define INT_FAST32_MAX LONG_MAX # define UINT_FAST32_MAX ULONG_MAX #endif #undef INT_FAST64_MIN #undef INT_FAST64_MAX #ifdef GL_INT64_T # define INT_FAST64_MIN INT64_MIN # define INT_FAST64_MAX INT64_MAX #endif #undef UINT_FAST64_MAX #ifdef GL_UINT64_T # define UINT_FAST64_MAX UINT64_MAX #endif /* 7.18.2.4. Limits of integer types capable of holding object pointers */ #undef INTPTR_MIN #undef INTPTR_MAX #undef UINTPTR_MAX #define INTPTR_MIN LONG_MIN #define INTPTR_MAX LONG_MAX #define UINTPTR_MAX ULONG_MAX /* 7.18.2.5. Limits of greatest-width integer types */ #ifndef INTMAX_MAX # undef INTMAX_MIN # ifdef INT64_MAX # define INTMAX_MIN INT64_MIN # define INTMAX_MAX INT64_MAX # else # define INTMAX_MIN INT32_MIN # define INTMAX_MAX INT32_MAX # endif #endif #ifndef UINTMAX_MAX # ifdef UINT64_MAX # define UINTMAX_MAX UINT64_MAX # else # define UINTMAX_MAX UINT32_MAX # endif #endif /* 7.18.3. Limits of other integer types */ /* ptrdiff_t limits */ #undef PTRDIFF_MIN #undef PTRDIFF_MAX #if @APPLE_UNIVERSAL_BUILD@ # ifdef _LP64 # define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) # define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) # else # define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) # define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) # endif #else # define PTRDIFF_MIN \ _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) # define PTRDIFF_MAX \ _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) #endif /* sig_atomic_t limits */ #undef SIG_ATOMIC_MIN #undef SIG_ATOMIC_MAX #define SIG_ATOMIC_MIN \ _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) #define SIG_ATOMIC_MAX \ _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) /* size_t limit */ #undef SIZE_MAX #if @APPLE_UNIVERSAL_BUILD@ # ifdef _LP64 # define SIZE_MAX _STDINT_MAX (0, 64, 0ul) # else # define SIZE_MAX _STDINT_MAX (0, 32, 0ul) # endif #else # define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) #endif /* wchar_t limits */ /* Get WCHAR_MIN, WCHAR_MAX. This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes <stdint.h> and assumes its types are already defined. */ #if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX) /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ # include <stddef.h> # include <stdio.h> # include <time.h> # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H # include <wchar.h> # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H #endif #undef WCHAR_MIN #undef WCHAR_MAX #define WCHAR_MIN \ _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) #define WCHAR_MAX \ _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) /* wint_t limits */ #undef WINT_MIN #undef WINT_MAX #define WINT_MIN \ _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) #define WINT_MAX \ _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) /* 7.18.4. Macros for integer constants */ /* 7.18.4.1. Macros for minimum-width integer constants */ /* According to ISO C 99 Technical Corrigendum 1 */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ #undef INT8_C #undef UINT8_C #define INT8_C(x) x #define UINT8_C(x) x #undef INT16_C #undef UINT16_C #define INT16_C(x) x #define UINT16_C(x) x #undef INT32_C #undef UINT32_C #define INT32_C(x) x #define UINT32_C(x) x ## U #undef INT64_C #undef UINT64_C #if LONG_MAX >> 31 >> 31 == 1 # define INT64_C(x) x##L #elif defined _MSC_VER # define INT64_C(x) x##i64 #elif @HAVE_LONG_LONG_INT@ # define INT64_C(x) x##LL #endif #if ULONG_MAX >> 31 >> 31 >> 1 == 1 # define UINT64_C(x) x##UL #elif defined _MSC_VER # define UINT64_C(x) x##ui64 #elif @HAVE_UNSIGNED_LONG_LONG_INT@ # define UINT64_C(x) x##ULL #endif /* 7.18.4.2. Macros for greatest-width integer constants */ #ifndef INTMAX_C # if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define INTMAX_C(x) x##LL # elif defined GL_INT64_T # define INTMAX_C(x) INT64_C(x) # else # define INTMAX_C(x) x##L # endif #endif #ifndef UINTMAX_C # if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define UINTMAX_C(x) x##ULL # elif defined GL_UINT64_T # define UINTMAX_C(x) UINT64_C(x) # else # define UINTMAX_C(x) x##UL # endif #endif #endif /* _@GUARD_PREFIX@_STDINT_H */ #endif /* !(defined __ANDROID__ && ...) */ #endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ ������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/physmem.c������������������������������������������������������������������������0000664�0000000�0000000�00000016664�12071024546�012760� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Calculate the size of physical memory. Copyright (C) 2000-2001, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "physmem.h" #include <unistd.h> #if HAVE_SYS_PSTAT_H # include <sys/pstat.h> #endif #if HAVE_SYS_SYSMP_H # include <sys/sysmp.h> #endif #if HAVE_SYS_SYSINFO_H && HAVE_MACHINE_HAL_SYSINFO_H # include <sys/sysinfo.h> # include <machine/hal_sysinfo.h> #endif #if HAVE_SYS_TABLE_H # include <sys/table.h> #endif #include <sys/types.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if HAVE_SYS_SYSCTL_H # include <sys/sysctl.h> #endif #if HAVE_SYS_SYSTEMCFG_H # include <sys/systemcfg.h> #endif #ifdef _WIN32 # define WIN32_LEAN_AND_MEAN # include <windows.h> /* MEMORYSTATUSEX is missing from older windows headers, so define a local replacement. */ typedef struct { DWORD dwLength; DWORD dwMemoryLoad; DWORDLONG ullTotalPhys; DWORDLONG ullAvailPhys; DWORDLONG ullTotalPageFile; DWORDLONG ullAvailPageFile; DWORDLONG ullTotalVirtual; DWORDLONG ullAvailVirtual; DWORDLONG ullAvailExtendedVirtual; } lMEMORYSTATUSEX; typedef WINBOOL (WINAPI *PFN_MS_EX) (lMEMORYSTATUSEX*); #endif #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) /* Return the total amount of physical memory. */ double physmem_total (void) { #if defined _SC_PHYS_PAGES && defined _SC_PAGESIZE { /* This works on linux-gnu, solaris2 and cygwin. */ double pages = sysconf (_SC_PHYS_PAGES); double pagesize = sysconf (_SC_PAGESIZE); if (0 <= pages && 0 <= pagesize) return pages * pagesize; } #endif #if HAVE_PSTAT_GETSTATIC { /* This works on hpux11. */ struct pst_static pss; if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0)) { double pages = pss.physical_memory; double pagesize = pss.page_size; if (0 <= pages && 0 <= pagesize) return pages * pagesize; } } #endif #if HAVE_SYSMP && defined MP_SAGET && defined MPSA_RMINFO && defined _SC_PAGESIZE { /* This works on irix6. */ struct rminfo realmem; if (sysmp (MP_SAGET, MPSA_RMINFO, &realmem, sizeof realmem) == 0) { double pagesize = sysconf (_SC_PAGESIZE); double pages = realmem.physmem; if (0 <= pages && 0 <= pagesize) return pages * pagesize; } } #endif #if HAVE_GETSYSINFO && defined GSI_PHYSMEM { /* This works on Tru64 UNIX V4/5. */ int physmem; if (getsysinfo (GSI_PHYSMEM, (caddr_t) &physmem, sizeof (physmem), NULL, NULL, NULL) == 1) { double kbytes = physmem; if (0 <= kbytes) return kbytes * 1024.0; } } #endif #if HAVE_SYSCTL && defined HW_PHYSMEM { /* This works on *bsd and darwin. */ unsigned int physmem; size_t len = sizeof physmem; static int mib[2] = { CTL_HW, HW_PHYSMEM }; if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0 && len == sizeof (physmem)) return (double) physmem; } #endif #if HAVE__SYSTEM_CONFIGURATION /* This works on AIX. */ return _system_configuration.physmem; #endif #if defined _WIN32 { /* this works on windows */ PFN_MS_EX pfnex; HMODULE h = GetModuleHandle ("kernel32.dll"); if (!h) return 0.0; /* Use GlobalMemoryStatusEx if available. */ if ((pfnex = (PFN_MS_EX) GetProcAddress (h, "GlobalMemoryStatusEx"))) { lMEMORYSTATUSEX lms_ex; lms_ex.dwLength = sizeof lms_ex; if (!pfnex (&lms_ex)) return 0.0; return (double) lms_ex.ullTotalPhys; } /* Fall back to GlobalMemoryStatus which is always available. but returns wrong results for physical memory > 4GB. */ else { MEMORYSTATUS ms; GlobalMemoryStatus (&ms); return (double) ms.dwTotalPhys; } } #endif /* Guess 64 MB. It's probably an older host, so guess small. */ return 64 * 1024 * 1024; } /* Return the amount of physical memory available. */ double physmem_available (void) { #if defined _SC_AVPHYS_PAGES && defined _SC_PAGESIZE { /* This works on linux-gnu, solaris2 and cygwin. */ double pages = sysconf (_SC_AVPHYS_PAGES); double pagesize = sysconf (_SC_PAGESIZE); if (0 <= pages && 0 <= pagesize) return pages * pagesize; } #endif #if HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC { /* This works on hpux11. */ struct pst_static pss; struct pst_dynamic psd; if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0) && 0 <= pstat_getdynamic (&psd, sizeof psd, 1, 0)) { double pages = psd.psd_free; double pagesize = pss.page_size; if (0 <= pages && 0 <= pagesize) return pages * pagesize; } } #endif #if HAVE_SYSMP && defined MP_SAGET && defined MPSA_RMINFO && defined _SC_PAGESIZE { /* This works on irix6. */ struct rminfo realmem; if (sysmp (MP_SAGET, MPSA_RMINFO, &realmem, sizeof realmem) == 0) { double pagesize = sysconf (_SC_PAGESIZE); double pages = realmem.availrmem; if (0 <= pages && 0 <= pagesize) return pages * pagesize; } } #endif #if HAVE_TABLE && defined TBL_VMSTATS { /* This works on Tru64 UNIX V4/5. */ struct tbl_vmstats vmstats; if (table (TBL_VMSTATS, 0, &vmstats, 1, sizeof (vmstats)) == 1) { double pages = vmstats.free_count; double pagesize = vmstats.pagesize; if (0 <= pages && 0 <= pagesize) return pages * pagesize; } } #endif #if HAVE_SYSCTL && defined HW_USERMEM { /* This works on *bsd and darwin. */ unsigned int usermem; size_t len = sizeof usermem; static int mib[2] = { CTL_HW, HW_USERMEM }; if (sysctl (mib, ARRAY_SIZE (mib), &usermem, &len, NULL, 0) == 0 && len == sizeof (usermem)) return (double) usermem; } #endif #if defined _WIN32 { /* this works on windows */ PFN_MS_EX pfnex; HMODULE h = GetModuleHandle ("kernel32.dll"); if (!h) return 0.0; /* Use GlobalMemoryStatusEx if available. */ if ((pfnex = (PFN_MS_EX) GetProcAddress (h, "GlobalMemoryStatusEx"))) { lMEMORYSTATUSEX lms_ex; lms_ex.dwLength = sizeof lms_ex; if (!pfnex (&lms_ex)) return 0.0; return (double) lms_ex.ullAvailPhys; } /* Fall back to GlobalMemoryStatus which is always available. but returns wrong results for physical memory > 4GB */ else { MEMORYSTATUS ms; GlobalMemoryStatus (&ms); return (double) ms.dwAvailPhys; } } #endif /* Guess 25% of physical memory. */ return physmem_total () / 4; } #if DEBUG # include <stdio.h> # include <stdlib.h> int main (void) { printf ("%12.f %12.f\n", physmem_total (), physmem_available ()); exit (0); } #endif /* DEBUG */ /* Local Variables: compile-command: "gcc -DDEBUG -g -O -Wall -W physmem.c" End: */ ����������������������������������������������������������������������������coreutils-8.21/lib/trim.c���������������������������������������������������������������������������0000664�0000000�0000000�00000006160�12071024546�012237� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Removes leading and/or trailing whitespaces Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Davide Angelocola <davide.angelocola@gmail.com> */ #include <config.h> /* Specification. */ #include "trim.h" #include <ctype.h> #include <string.h> #include <stddef.h> #include <stdlib.h> #include "mbchar.h" #include "mbiter.h" #include "xalloc.h" /* Use this to suppress gcc's "...may be used before initialized" warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif char * trim2 (const char *s, int how) { char *d; d = strdup (s); if (!d) xalloc_die (); if (MB_CUR_MAX > 1) { mbi_iterator_t i; /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) { mbi_init (i, d, strlen (d)); for (; mbi_avail (i) && mb_isspace (mbi_cur (i)); mbi_advance (i)) ; memmove (d, mbi_cur_ptr (i), strlen (mbi_cur_ptr (i)) + 1); } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) { unsigned int state = 0; char *r IF_LINT (= NULL); /* used only while state = 2 */ mbi_init (i, d, strlen (d)); for (; mbi_avail (i); mbi_advance (i)) { if (state == 0 && mb_isspace (mbi_cur (i))) continue; if (state == 0 && !mb_isspace (mbi_cur (i))) { state = 1; continue; } if (state == 1 && !mb_isspace (mbi_cur (i))) continue; if (state == 1 && mb_isspace (mbi_cur (i))) { state = 2; r = (char *) mbi_cur_ptr (i); } else if (state == 2 && mb_isspace (mbi_cur (i))) { /* empty */ } else { state = 1; } } if (state == 2) *r = '\0'; } } else { char *p; /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) { for (p = d; *p && isspace ((unsigned char) *p); p++) ; memmove (d, p, strlen (p) + 1); } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) { for (p = d + strlen (d) - 1; p >= d && isspace ((unsigned char) *p); p--) *p = '\0'; } } return d; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/inttypes.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000063752�12071024546�013567� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2006-2013 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* * ISO C 99 <inttypes.h> for platforms that lack it. * <http://www.opengroup.org/susv3xbd/inttypes.h.html> */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* Include the original <inttypes.h> if it exists, and if this file has not been included yet or if this file includes gnulib stdint.h which in turn includes this file. The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ /* Some pre-C++11 <stdint.h> implementations need this. */ # if defined __cplusplus && ! defined __STDC_FORMAT_MACROS # define __STDC_FORMAT_MACROS 1 # endif # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H #define INTTYPES_H /* Include <stdint.h> or the gnulib replacement. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include <stdint.h> #endif /* Get CHAR_BIT. */ #include <limits.h> #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>." #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* 7.8.1 Macros for format specifiers */ #if defined _TNS_R_TARGET /* Tandem NonStop R series and compatible platforms released before July 2005 support %Ld but not %lld. */ # define _LONG_LONG_FORMAT_PREFIX "L" #else # define _LONG_LONG_FORMAT_PREFIX "ll" #endif #if !defined PRId8 || @PRI_MACROS_BROKEN@ # undef PRId8 # ifdef INT8_MAX # define PRId8 "d" # endif #endif #if !defined PRIi8 || @PRI_MACROS_BROKEN@ # undef PRIi8 # ifdef INT8_MAX # define PRIi8 "i" # endif #endif #if !defined PRIo8 || @PRI_MACROS_BROKEN@ # undef PRIo8 # ifdef UINT8_MAX # define PRIo8 "o" # endif #endif #if !defined PRIu8 || @PRI_MACROS_BROKEN@ # undef PRIu8 # ifdef UINT8_MAX # define PRIu8 "u" # endif #endif #if !defined PRIx8 || @PRI_MACROS_BROKEN@ # undef PRIx8 # ifdef UINT8_MAX # define PRIx8 "x" # endif #endif #if !defined PRIX8 || @PRI_MACROS_BROKEN@ # undef PRIX8 # ifdef UINT8_MAX # define PRIX8 "X" # endif #endif #if !defined PRId16 || @PRI_MACROS_BROKEN@ # undef PRId16 # ifdef INT16_MAX # define PRId16 "d" # endif #endif #if !defined PRIi16 || @PRI_MACROS_BROKEN@ # undef PRIi16 # ifdef INT16_MAX # define PRIi16 "i" # endif #endif #if !defined PRIo16 || @PRI_MACROS_BROKEN@ # undef PRIo16 # ifdef UINT16_MAX # define PRIo16 "o" # endif #endif #if !defined PRIu16 || @PRI_MACROS_BROKEN@ # undef PRIu16 # ifdef UINT16_MAX # define PRIu16 "u" # endif #endif #if !defined PRIx16 || @PRI_MACROS_BROKEN@ # undef PRIx16 # ifdef UINT16_MAX # define PRIx16 "x" # endif #endif #if !defined PRIX16 || @PRI_MACROS_BROKEN@ # undef PRIX16 # ifdef UINT16_MAX # define PRIX16 "X" # endif #endif #if !defined PRId32 || @PRI_MACROS_BROKEN@ # undef PRId32 # ifdef INT32_MAX # define PRId32 "d" # endif #endif #if !defined PRIi32 || @PRI_MACROS_BROKEN@ # undef PRIi32 # ifdef INT32_MAX # define PRIi32 "i" # endif #endif #if !defined PRIo32 || @PRI_MACROS_BROKEN@ # undef PRIo32 # ifdef UINT32_MAX # define PRIo32 "o" # endif #endif #if !defined PRIu32 || @PRI_MACROS_BROKEN@ # undef PRIu32 # ifdef UINT32_MAX # define PRIu32 "u" # endif #endif #if !defined PRIx32 || @PRI_MACROS_BROKEN@ # undef PRIx32 # ifdef UINT32_MAX # define PRIx32 "x" # endif #endif #if !defined PRIX32 || @PRI_MACROS_BROKEN@ # undef PRIX32 # ifdef UINT32_MAX # define PRIX32 "X" # endif #endif #ifdef INT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _PRI64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRI64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRId64 || @PRI_MACROS_BROKEN@ # undef PRId64 # define PRId64 _PRI64_PREFIX "d" # endif # if !defined PRIi64 || @PRI_MACROS_BROKEN@ # undef PRIi64 # define PRIi64 _PRI64_PREFIX "i" # endif #endif #ifdef UINT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _PRIu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRIu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRIo64 || @PRI_MACROS_BROKEN@ # undef PRIo64 # define PRIo64 _PRIu64_PREFIX "o" # endif # if !defined PRIu64 || @PRI_MACROS_BROKEN@ # undef PRIu64 # define PRIu64 _PRIu64_PREFIX "u" # endif # if !defined PRIx64 || @PRI_MACROS_BROKEN@ # undef PRIx64 # define PRIx64 _PRIu64_PREFIX "x" # endif # if !defined PRIX64 || @PRI_MACROS_BROKEN@ # undef PRIX64 # define PRIX64 _PRIu64_PREFIX "X" # endif #endif #if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST8 # define PRIdLEAST8 "d" #endif #if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST8 # define PRIiLEAST8 "i" #endif #if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST8 # define PRIoLEAST8 "o" #endif #if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST8 # define PRIuLEAST8 "u" #endif #if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST8 # define PRIxLEAST8 "x" #endif #if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST8 # define PRIXLEAST8 "X" #endif #if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST16 # define PRIdLEAST16 "d" #endif #if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST16 # define PRIiLEAST16 "i" #endif #if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST16 # define PRIoLEAST16 "o" #endif #if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST16 # define PRIuLEAST16 "u" #endif #if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST16 # define PRIxLEAST16 "x" #endif #if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST16 # define PRIXLEAST16 "X" #endif #if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST32 # define PRIdLEAST32 "d" #endif #if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST32 # define PRIiLEAST32 "i" #endif #if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST32 # define PRIoLEAST32 "o" #endif #if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST32 # define PRIuLEAST32 "u" #endif #if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST32 # define PRIxLEAST32 "x" #endif #if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST32 # define PRIXLEAST32 "X" #endif #ifdef INT64_MAX # if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 # endif # if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 # endif #endif #ifdef UINT64_MAX # if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 # endif # if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 # endif # if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 # endif # if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 # endif #endif #if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ # undef PRIdFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIdFAST8 PRId64 # else # define PRIdFAST8 "d" # endif #endif #if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ # undef PRIiFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIiFAST8 PRIi64 # else # define PRIiFAST8 "i" # endif #endif #if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ # undef PRIoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIoFAST8 PRIo64 # else # define PRIoFAST8 "o" # endif #endif #if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ # undef PRIuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIuFAST8 PRIu64 # else # define PRIuFAST8 "u" # endif #endif #if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ # undef PRIxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIxFAST8 PRIx64 # else # define PRIxFAST8 "x" # endif #endif #if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ # undef PRIXFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIXFAST8 PRIX64 # else # define PRIXFAST8 "X" # endif #endif #if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ # undef PRIdFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIdFAST16 PRId64 # else # define PRIdFAST16 "d" # endif #endif #if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ # undef PRIiFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIiFAST16 PRIi64 # else # define PRIiFAST16 "i" # endif #endif #if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ # undef PRIoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIoFAST16 PRIo64 # else # define PRIoFAST16 "o" # endif #endif #if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ # undef PRIuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIuFAST16 PRIu64 # else # define PRIuFAST16 "u" # endif #endif #if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ # undef PRIxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIxFAST16 PRIx64 # else # define PRIxFAST16 "x" # endif #endif #if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ # undef PRIXFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIXFAST16 PRIX64 # else # define PRIXFAST16 "X" # endif #endif #if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ # undef PRIdFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIdFAST32 PRId64 # else # define PRIdFAST32 "d" # endif #endif #if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ # undef PRIiFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIiFAST32 PRIi64 # else # define PRIiFAST32 "i" # endif #endif #if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ # undef PRIoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIoFAST32 PRIo64 # else # define PRIoFAST32 "o" # endif #endif #if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ # undef PRIuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIuFAST32 PRIu64 # else # define PRIuFAST32 "u" # endif #endif #if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ # undef PRIxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIxFAST32 PRIx64 # else # define PRIxFAST32 "x" # endif #endif #if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ # undef PRIXFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIXFAST32 PRIX64 # else # define PRIXFAST32 "X" # endif #endif #ifdef INT64_MAX # if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ # undef PRIdFAST64 # define PRIdFAST64 PRId64 # endif # if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ # undef PRIiFAST64 # define PRIiFAST64 PRIi64 # endif #endif #ifdef UINT64_MAX # if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ # undef PRIoFAST64 # define PRIoFAST64 PRIo64 # endif # if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ # undef PRIuFAST64 # define PRIuFAST64 PRIu64 # endif # if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ # undef PRIxFAST64 # define PRIxFAST64 PRIx64 # endif # if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ # undef PRIXFAST64 # define PRIXFAST64 PRIX64 # endif #endif #if !defined PRIdMAX || @PRI_MACROS_BROKEN@ # undef PRIdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIdMAX PRId64 # else # define PRIdMAX "ld" # endif #endif #if !defined PRIiMAX || @PRI_MACROS_BROKEN@ # undef PRIiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIiMAX PRIi64 # else # define PRIiMAX "li" # endif #endif #if !defined PRIoMAX || @PRI_MACROS_BROKEN@ # undef PRIoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIoMAX PRIo64 # else # define PRIoMAX "lo" # endif #endif #if !defined PRIuMAX || @PRI_MACROS_BROKEN@ # undef PRIuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIuMAX PRIu64 # else # define PRIuMAX "lu" # endif #endif #if !defined PRIxMAX || @PRI_MACROS_BROKEN@ # undef PRIxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIxMAX PRIx64 # else # define PRIxMAX "lx" # endif #endif #if !defined PRIXMAX || @PRI_MACROS_BROKEN@ # undef PRIXMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIXMAX PRIX64 # else # define PRIXMAX "lX" # endif #endif #if !defined PRIdPTR || @PRI_MACROS_BROKEN@ # undef PRIdPTR # ifdef INTPTR_MAX # define PRIdPTR @PRIPTR_PREFIX@ "d" # endif #endif #if !defined PRIiPTR || @PRI_MACROS_BROKEN@ # undef PRIiPTR # ifdef INTPTR_MAX # define PRIiPTR @PRIPTR_PREFIX@ "i" # endif #endif #if !defined PRIoPTR || @PRI_MACROS_BROKEN@ # undef PRIoPTR # ifdef UINTPTR_MAX # define PRIoPTR @PRIPTR_PREFIX@ "o" # endif #endif #if !defined PRIuPTR || @PRI_MACROS_BROKEN@ # undef PRIuPTR # ifdef UINTPTR_MAX # define PRIuPTR @PRIPTR_PREFIX@ "u" # endif #endif #if !defined PRIxPTR || @PRI_MACROS_BROKEN@ # undef PRIxPTR # ifdef UINTPTR_MAX # define PRIxPTR @PRIPTR_PREFIX@ "x" # endif #endif #if !defined PRIXPTR || @PRI_MACROS_BROKEN@ # undef PRIXPTR # ifdef UINTPTR_MAX # define PRIXPTR @PRIPTR_PREFIX@ "X" # endif #endif #if !defined SCNd8 || @PRI_MACROS_BROKEN@ # undef SCNd8 # ifdef INT8_MAX # define SCNd8 "hhd" # endif #endif #if !defined SCNi8 || @PRI_MACROS_BROKEN@ # undef SCNi8 # ifdef INT8_MAX # define SCNi8 "hhi" # endif #endif #if !defined SCNo8 || @PRI_MACROS_BROKEN@ # undef SCNo8 # ifdef UINT8_MAX # define SCNo8 "hho" # endif #endif #if !defined SCNu8 || @PRI_MACROS_BROKEN@ # undef SCNu8 # ifdef UINT8_MAX # define SCNu8 "hhu" # endif #endif #if !defined SCNx8 || @PRI_MACROS_BROKEN@ # undef SCNx8 # ifdef UINT8_MAX # define SCNx8 "hhx" # endif #endif #if !defined SCNd16 || @PRI_MACROS_BROKEN@ # undef SCNd16 # ifdef INT16_MAX # define SCNd16 "hd" # endif #endif #if !defined SCNi16 || @PRI_MACROS_BROKEN@ # undef SCNi16 # ifdef INT16_MAX # define SCNi16 "hi" # endif #endif #if !defined SCNo16 || @PRI_MACROS_BROKEN@ # undef SCNo16 # ifdef UINT16_MAX # define SCNo16 "ho" # endif #endif #if !defined SCNu16 || @PRI_MACROS_BROKEN@ # undef SCNu16 # ifdef UINT16_MAX # define SCNu16 "hu" # endif #endif #if !defined SCNx16 || @PRI_MACROS_BROKEN@ # undef SCNx16 # ifdef UINT16_MAX # define SCNx16 "hx" # endif #endif #if !defined SCNd32 || @PRI_MACROS_BROKEN@ # undef SCNd32 # ifdef INT32_MAX # define SCNd32 "d" # endif #endif #if !defined SCNi32 || @PRI_MACROS_BROKEN@ # undef SCNi32 # ifdef INT32_MAX # define SCNi32 "i" # endif #endif #if !defined SCNo32 || @PRI_MACROS_BROKEN@ # undef SCNo32 # ifdef UINT32_MAX # define SCNo32 "o" # endif #endif #if !defined SCNu32 || @PRI_MACROS_BROKEN@ # undef SCNu32 # ifdef UINT32_MAX # define SCNu32 "u" # endif #endif #if !defined SCNx32 || @PRI_MACROS_BROKEN@ # undef SCNx32 # ifdef UINT32_MAX # define SCNx32 "x" # endif #endif #ifdef INT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _SCN64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCN64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNd64 || @PRI_MACROS_BROKEN@ # undef SCNd64 # define SCNd64 _SCN64_PREFIX "d" # endif # if !defined SCNi64 || @PRI_MACROS_BROKEN@ # undef SCNi64 # define SCNi64 _SCN64_PREFIX "i" # endif #endif #ifdef UINT64_MAX # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _SCNu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCNu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNo64 || @PRI_MACROS_BROKEN@ # undef SCNo64 # define SCNo64 _SCNu64_PREFIX "o" # endif # if !defined SCNu64 || @PRI_MACROS_BROKEN@ # undef SCNu64 # define SCNu64 _SCNu64_PREFIX "u" # endif # if !defined SCNx64 || @PRI_MACROS_BROKEN@ # undef SCNx64 # define SCNx64 _SCNu64_PREFIX "x" # endif #endif #if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST8 # define SCNdLEAST8 "hhd" #endif #if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST8 # define SCNiLEAST8 "hhi" #endif #if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST8 # define SCNoLEAST8 "hho" #endif #if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST8 # define SCNuLEAST8 "hhu" #endif #if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST8 # define SCNxLEAST8 "hhx" #endif #if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST16 # define SCNdLEAST16 "hd" #endif #if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST16 # define SCNiLEAST16 "hi" #endif #if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST16 # define SCNoLEAST16 "ho" #endif #if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST16 # define SCNuLEAST16 "hu" #endif #if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST16 # define SCNxLEAST16 "hx" #endif #if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST32 # define SCNdLEAST32 "d" #endif #if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST32 # define SCNiLEAST32 "i" #endif #if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST32 # define SCNoLEAST32 "o" #endif #if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST32 # define SCNuLEAST32 "u" #endif #if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST32 # define SCNxLEAST32 "x" #endif #ifdef INT64_MAX # if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST64 # define SCNdLEAST64 SCNd64 # endif # if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST64 # define SCNiLEAST64 SCNi64 # endif #endif #ifdef UINT64_MAX # if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST64 # define SCNoLEAST64 SCNo64 # endif # if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST64 # define SCNuLEAST64 SCNu64 # endif # if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST64 # define SCNxLEAST64 SCNx64 # endif #endif #if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ # undef SCNdFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNdFAST8 SCNd64 # elif INT_FAST8_MAX == 0x7fff # define SCNdFAST8 "hd" # elif INT_FAST8_MAX == 0x7f # define SCNdFAST8 "hhd" # else # define SCNdFAST8 "d" # endif #endif #if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ # undef SCNiFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNiFAST8 SCNi64 # elif INT_FAST8_MAX == 0x7fff # define SCNiFAST8 "hi" # elif INT_FAST8_MAX == 0x7f # define SCNiFAST8 "hhi" # else # define SCNiFAST8 "i" # endif #endif #if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ # undef SCNoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNoFAST8 SCNo64 # elif UINT_FAST8_MAX == 0xffff # define SCNoFAST8 "ho" # elif UINT_FAST8_MAX == 0xff # define SCNoFAST8 "hho" # else # define SCNoFAST8 "o" # endif #endif #if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ # undef SCNuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNuFAST8 SCNu64 # elif UINT_FAST8_MAX == 0xffff # define SCNuFAST8 "hu" # elif UINT_FAST8_MAX == 0xff # define SCNuFAST8 "hhu" # else # define SCNuFAST8 "u" # endif #endif #if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ # undef SCNxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNxFAST8 SCNx64 # elif UINT_FAST8_MAX == 0xffff # define SCNxFAST8 "hx" # elif UINT_FAST8_MAX == 0xff # define SCNxFAST8 "hhx" # else # define SCNxFAST8 "x" # endif #endif #if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ # undef SCNdFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNdFAST16 SCNd64 # elif INT_FAST16_MAX == 0x7fff # define SCNdFAST16 "hd" # else # define SCNdFAST16 "d" # endif #endif #if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ # undef SCNiFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNiFAST16 SCNi64 # elif INT_FAST16_MAX == 0x7fff # define SCNiFAST16 "hi" # else # define SCNiFAST16 "i" # endif #endif #if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ # undef SCNoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNoFAST16 SCNo64 # elif UINT_FAST16_MAX == 0xffff # define SCNoFAST16 "ho" # else # define SCNoFAST16 "o" # endif #endif #if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ # undef SCNuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNuFAST16 SCNu64 # elif UINT_FAST16_MAX == 0xffff # define SCNuFAST16 "hu" # else # define SCNuFAST16 "u" # endif #endif #if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ # undef SCNxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNxFAST16 SCNx64 # elif UINT_FAST16_MAX == 0xffff # define SCNxFAST16 "hx" # else # define SCNxFAST16 "x" # endif #endif #if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ # undef SCNdFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNdFAST32 SCNd64 # else # define SCNdFAST32 "d" # endif #endif #if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ # undef SCNiFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNiFAST32 SCNi64 # else # define SCNiFAST32 "i" # endif #endif #if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ # undef SCNoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNoFAST32 SCNo64 # else # define SCNoFAST32 "o" # endif #endif #if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ # undef SCNuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNuFAST32 SCNu64 # else # define SCNuFAST32 "u" # endif #endif #if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ # undef SCNxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNxFAST32 SCNx64 # else # define SCNxFAST32 "x" # endif #endif #ifdef INT64_MAX # if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ # undef SCNdFAST64 # define SCNdFAST64 SCNd64 # endif # if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ # undef SCNiFAST64 # define SCNiFAST64 SCNi64 # endif #endif #ifdef UINT64_MAX # if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ # undef SCNoFAST64 # define SCNoFAST64 SCNo64 # endif # if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ # undef SCNuFAST64 # define SCNuFAST64 SCNu64 # endif # if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ # undef SCNxFAST64 # define SCNxFAST64 SCNx64 # endif #endif #if !defined SCNdMAX || @PRI_MACROS_BROKEN@ # undef SCNdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNdMAX SCNd64 # else # define SCNdMAX "ld" # endif #endif #if !defined SCNiMAX || @PRI_MACROS_BROKEN@ # undef SCNiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNiMAX SCNi64 # else # define SCNiMAX "li" # endif #endif #if !defined SCNoMAX || @PRI_MACROS_BROKEN@ # undef SCNoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNoMAX SCNo64 # else # define SCNoMAX "lo" # endif #endif #if !defined SCNuMAX || @PRI_MACROS_BROKEN@ # undef SCNuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNuMAX SCNu64 # else # define SCNuMAX "lu" # endif #endif #if !defined SCNxMAX || @PRI_MACROS_BROKEN@ # undef SCNxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNxMAX SCNx64 # else # define SCNxMAX "lx" # endif #endif #if !defined SCNdPTR || @PRI_MACROS_BROKEN@ # undef SCNdPTR # ifdef INTPTR_MAX # define SCNdPTR @PRIPTR_PREFIX@ "d" # endif #endif #if !defined SCNiPTR || @PRI_MACROS_BROKEN@ # undef SCNiPTR # ifdef INTPTR_MAX # define SCNiPTR @PRIPTR_PREFIX@ "i" # endif #endif #if !defined SCNoPTR || @PRI_MACROS_BROKEN@ # undef SCNoPTR # ifdef UINTPTR_MAX # define SCNoPTR @PRIPTR_PREFIX@ "o" # endif #endif #if !defined SCNuPTR || @PRI_MACROS_BROKEN@ # undef SCNuPTR # ifdef UINTPTR_MAX # define SCNuPTR @PRIPTR_PREFIX@ "u" # endif #endif #if !defined SCNxPTR || @PRI_MACROS_BROKEN@ # undef SCNxPTR # ifdef UINTPTR_MAX # define SCNxPTR @PRIPTR_PREFIX@ "x" # endif #endif /* 7.8.2 Functions for greatest-width integer types */ #ifdef __cplusplus extern "C" { #endif #if @GNULIB_IMAXABS@ # if !@HAVE_DECL_IMAXABS@ extern intmax_t imaxabs (intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxabs # if HAVE_RAW_DECL_IMAXABS _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " "use gnulib module imaxabs for portability"); # endif #endif #if @GNULIB_IMAXDIV@ # if !@HAVE_DECL_IMAXDIV@ # if !GNULIB_defined_imaxdiv_t typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; # define GNULIB_defined_imaxdiv_t 1 # endif extern imaxdiv_t imaxdiv (intmax_t, intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxdiv # if HAVE_RAW_DECL_IMAXDIV _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " "use gnulib module imaxdiv for portability"); # endif #endif #if @GNULIB_STRTOIMAX@ # if @REPLACE_STRTOIMAX@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strtoimax # define strtoimax rpl_strtoimax # endif _GL_FUNCDECL_RPL (strtoimax, intmax_t, (const char *, char **, int) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); # else # if !@HAVE_DECL_STRTOIMAX@ # undef strtoimax _GL_FUNCDECL_SYS (strtoimax, intmax_t, (const char *, char **, int) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); # endif _GL_CXXALIASWARN (strtoimax); #elif defined GNULIB_POSIXCHECK # undef strtoimax # if HAVE_RAW_DECL_STRTOIMAX _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " "use gnulib module strtoimax for portability"); # endif #endif #if @GNULIB_STRTOUMAX@ # if !@HAVE_DECL_STRTOUMAX@ # undef strtoumax _GL_FUNCDECL_SYS (strtoumax, uintmax_t, (const char *, char **, int) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); _GL_CXXALIASWARN (strtoumax); #elif defined GNULIB_POSIXCHECK # undef strtoumax # if HAVE_RAW_DECL_STRTOUMAX _GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " "use gnulib module strtoumax for portability"); # endif #endif /* Don't bother defining or declaring wcstoimax and wcstoumax, since wide-character functions like this are hardly ever useful. */ #ifdef __cplusplus } #endif #endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ ����������������������coreutils-8.21/lib/isnanl-nolibm.h������������������������������������������������������������������0000664�0000000�0000000�00000002307�12071024546�014032� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if HAVE_ISNANL_IN_LIBC /* Get declaration of isnan macro or (older) isnanl function. */ # include <math.h> # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) # elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) # endif #else /* Test whether X is a NaN. */ # undef isnanl # define isnanl rpl_isnanl extern int isnanl (long double x); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regex_internal.h�����������������������������������������������������������������0000664�0000000�0000000�00000056727�12100641465�014313� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Extended regular expression matching and search library. Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _REGEX_INTERNAL_H #define _REGEX_INTERNAL_H 1 #include <assert.h> #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <langinfo.h> #include <locale.h> #include <wchar.h> #include <wctype.h> #include <stdbool.h> #include <stdint.h> #if defined _LIBC # include <bits/libc-lock.h> #else # define __libc_lock_init(NAME) do { } while (0) # define __libc_lock_lock(NAME) do { } while (0) # define __libc_lock_unlock(NAME) do { } while (0) #endif /* In case that the system doesn't have isblank(). */ #if !defined _LIBC && ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK)) # define isblank(ch) ((ch) == ' ' || (ch) == '\t') #endif #ifdef _LIBC # ifndef _RE_DEFINE_LOCALE_FUNCTIONS # define _RE_DEFINE_LOCALE_FUNCTIONS 1 # include <locale/localeinfo.h> # include <locale/elem-hash.h> # include <locale/coll-lookup.h> # endif #endif /* This is for other GNU distributions with internationalized messages. */ #if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include <libintl.h> # ifdef _LIBC # undef gettext # define gettext(msgid) \ __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES) # endif #else # define gettext(msgid) (msgid) #endif #ifndef gettext_noop /* This define is so xgettext can find the internationalizable strings. */ # define gettext_noop(String) String #endif #if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC # define RE_ENABLE_I18N #endif #if __GNUC__ >= 3 # define BE(expr, val) __builtin_expect (expr, val) #else # define BE(expr, val) (expr) #endif /* Number of ASCII characters. */ #define ASCII_CHARS 0x80 /* Number of single byte characters. */ #define SBC_MAX (UCHAR_MAX + 1) #define COLL_ELEM_LEN_MAX 8 /* The character which represents newline. */ #define NEWLINE_CHAR '\n' #define WIDE_NEWLINE_CHAR L'\n' /* Rename to standard API for using out of glibc. */ #ifndef _LIBC # undef __wctype # undef __iswctype # define __wctype wctype # define __iswctype iswctype # define __btowc btowc # define __mbrtowc mbrtowc # define __wcrtomb wcrtomb # define __regfree regfree # define attribute_hidden #endif /* not _LIBC */ #if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) # define __attribute(arg) __attribute__ (arg) #else # define __attribute(arg) #endif typedef __re_idx_t Idx; #ifdef _REGEX_LARGE_OFFSETS # define IDX_MAX (SIZE_MAX - 2) #else # define IDX_MAX INT_MAX #endif /* Special return value for failure to match. */ #define REG_MISSING ((Idx) -1) /* Special return value for internal error. */ #define REG_ERROR ((Idx) -2) /* Test whether N is a valid index, and is not one of the above. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_INDEX(n) ((Idx) (n) < REG_ERROR) #else # define REG_VALID_INDEX(n) (0 <= (n)) #endif /* Test whether N is a valid nonzero index. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_NONZERO_INDEX(n) ((Idx) ((n) - 1) < (Idx) (REG_ERROR - 1)) #else # define REG_VALID_NONZERO_INDEX(n) (0 < (n)) #endif /* A hash value, suitable for computing hash tables. */ typedef __re_size_t re_hashval_t; /* An integer used to represent a set of bits. It must be unsigned, and must be at least as wide as unsigned int. */ typedef unsigned long int bitset_word_t; /* All bits set in a bitset_word_t. */ #define BITSET_WORD_MAX ULONG_MAX /* Number of bits in a bitset_word_t. For portability to hosts with padding bits, do not use '(sizeof (bitset_word_t) * CHAR_BIT)'; instead, deduce it directly from BITSET_WORD_MAX. Avoid greater-than-32-bit integers and unconditional shifts by more than 31 bits, as they're not portable. */ #if BITSET_WORD_MAX == 0xffffffffUL # define BITSET_WORD_BITS 32 #elif BITSET_WORD_MAX >> 31 >> 4 == 1 # define BITSET_WORD_BITS 36 #elif BITSET_WORD_MAX >> 31 >> 16 == 1 # define BITSET_WORD_BITS 48 #elif BITSET_WORD_MAX >> 31 >> 28 == 1 # define BITSET_WORD_BITS 60 #elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1 # define BITSET_WORD_BITS 64 #elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1 # define BITSET_WORD_BITS 72 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 == 1 # define BITSET_WORD_BITS 128 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 == 1 # define BITSET_WORD_BITS 256 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 > 1 # define BITSET_WORD_BITS 257 /* any value > SBC_MAX will do here */ # if BITSET_WORD_BITS <= SBC_MAX # error "Invalid SBC_MAX" # endif #else # error "Add case for new bitset_word_t size" #endif /* Number of bitset_word_t values in a bitset_t. */ #define BITSET_WORDS ((SBC_MAX + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS) typedef bitset_word_t bitset_t[BITSET_WORDS]; typedef bitset_word_t *re_bitset_ptr_t; typedef const bitset_word_t *re_const_bitset_ptr_t; #define PREV_WORD_CONSTRAINT 0x0001 #define PREV_NOTWORD_CONSTRAINT 0x0002 #define NEXT_WORD_CONSTRAINT 0x0004 #define NEXT_NOTWORD_CONSTRAINT 0x0008 #define PREV_NEWLINE_CONSTRAINT 0x0010 #define NEXT_NEWLINE_CONSTRAINT 0x0020 #define PREV_BEGBUF_CONSTRAINT 0x0040 #define NEXT_ENDBUF_CONSTRAINT 0x0080 #define WORD_DELIM_CONSTRAINT 0x0100 #define NOT_WORD_DELIM_CONSTRAINT 0x0200 typedef enum { INSIDE_WORD = PREV_WORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_FIRST = PREV_NOTWORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_LAST = PREV_WORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, INSIDE_NOTWORD = PREV_NOTWORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, LINE_FIRST = PREV_NEWLINE_CONSTRAINT, LINE_LAST = NEXT_NEWLINE_CONSTRAINT, BUF_FIRST = PREV_BEGBUF_CONSTRAINT, BUF_LAST = NEXT_ENDBUF_CONSTRAINT, WORD_DELIM = WORD_DELIM_CONSTRAINT, NOT_WORD_DELIM = NOT_WORD_DELIM_CONSTRAINT } re_context_type; typedef struct { Idx alloc; Idx nelem; Idx *elems; } re_node_set; typedef enum { NON_TYPE = 0, /* Node type, These are used by token, node, tree. */ CHARACTER = 1, END_OF_RE = 2, SIMPLE_BRACKET = 3, OP_BACK_REF = 4, OP_PERIOD = 5, #ifdef RE_ENABLE_I18N COMPLEX_BRACKET = 6, OP_UTF8_PERIOD = 7, #endif /* RE_ENABLE_I18N */ /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used when the debugger shows values of this enum type. */ #define EPSILON_BIT 8 OP_OPEN_SUBEXP = EPSILON_BIT | 0, OP_CLOSE_SUBEXP = EPSILON_BIT | 1, OP_ALT = EPSILON_BIT | 2, OP_DUP_ASTERISK = EPSILON_BIT | 3, ANCHOR = EPSILON_BIT | 4, /* Tree type, these are used only by tree. */ CONCAT = 16, SUBEXP = 17, /* Token type, these are used only by token. */ OP_DUP_PLUS = 18, OP_DUP_QUESTION, OP_OPEN_BRACKET, OP_CLOSE_BRACKET, OP_CHARSET_RANGE, OP_OPEN_DUP_NUM, OP_CLOSE_DUP_NUM, OP_NON_MATCH_LIST, OP_OPEN_COLL_ELEM, OP_CLOSE_COLL_ELEM, OP_OPEN_EQUIV_CLASS, OP_CLOSE_EQUIV_CLASS, OP_OPEN_CHAR_CLASS, OP_CLOSE_CHAR_CLASS, OP_WORD, OP_NOTWORD, OP_SPACE, OP_NOTSPACE, BACK_SLASH } re_token_type_t; #ifdef RE_ENABLE_I18N typedef struct { /* Multibyte characters. */ wchar_t *mbchars; /* Collating symbols. */ # ifdef _LIBC int32_t *coll_syms; # endif /* Equivalence classes. */ # ifdef _LIBC int32_t *equiv_classes; # endif /* Range expressions. */ # ifdef _LIBC uint32_t *range_starts; uint32_t *range_ends; # else /* not _LIBC */ wchar_t *range_starts; wchar_t *range_ends; # endif /* not _LIBC */ /* Character classes. */ wctype_t *char_classes; /* If this character set is the non-matching list. */ unsigned int non_match : 1; /* # of multibyte characters. */ Idx nmbchars; /* # of collating symbols. */ Idx ncoll_syms; /* # of equivalence classes. */ Idx nequiv_classes; /* # of range expressions. */ Idx nranges; /* # of character classes. */ Idx nchar_classes; } re_charset_t; #endif /* RE_ENABLE_I18N */ typedef struct { union { unsigned char c; /* for CHARACTER */ re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ #ifdef RE_ENABLE_I18N re_charset_t *mbcset; /* for COMPLEX_BRACKET */ #endif /* RE_ENABLE_I18N */ Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; #if __GNUC__ >= 2 && !defined __STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; #endif unsigned int constraint : 10; /* context constraint */ unsigned int duplicated : 1; unsigned int opt_subexp : 1; #ifdef RE_ENABLE_I18N unsigned int accept_mb : 1; /* These 2 bits can be moved into the union if needed (e.g. if running out of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ unsigned int mb_partial : 1; #endif unsigned int word_char : 1; } re_token_t; #define IS_EPSILON_NODE(type) ((type) & EPSILON_BIT) struct re_string_t { /* Indicate the raw buffer which is the original string passed as an argument of regexec(), re_search(), etc.. */ const unsigned char *raw_mbs; /* Store the multibyte string. In case of "case insensitive mode" like REG_ICASE, upper cases of the string are stored, otherwise MBS points the same address that RAW_MBS points. */ unsigned char *mbs; #ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ wint_t *wcs; Idx *offsets; mbstate_t cur_state; #endif /* Index in RAW_MBS. Each character mbs[i] corresponds to raw_mbs[raw_mbs_idx + i]. */ Idx raw_mbs_idx; /* The length of the valid characters in the buffers. */ Idx valid_len; /* The corresponding number of bytes in raw_mbs array. */ Idx valid_raw_len; /* The length of the buffers MBS and WCS. */ Idx bufs_len; /* The index in MBS, which is updated by re_string_fetch_byte. */ Idx cur_idx; /* length of RAW_MBS array. */ Idx raw_len; /* This is RAW_LEN - RAW_MBS_IDX + VALID_LEN - VALID_RAW_LEN. */ Idx len; /* End of the buffer may be shorter than its length in the cases such as re_match_2, re_search_2. Then, we use STOP for end of the buffer instead of LEN. */ Idx raw_stop; /* This is RAW_STOP - RAW_MBS_IDX adjusted through OFFSETS. */ Idx stop; /* The context of mbs[0]. We store the context independently, since the context of mbs[0] may be different from raw_mbs[0], which is the beginning of the input string. */ unsigned int tip_context; /* The translation passed as a part of an argument of re_compile_pattern. */ RE_TRANSLATE_TYPE trans; /* Copy of re_dfa_t's word_char. */ re_const_bitset_ptr_t word_char; /* true if REG_ICASE. */ unsigned char icase; unsigned char is_utf8; unsigned char map_notascii; unsigned char mbs_allocated; unsigned char offsets_needed; unsigned char newline_anchor; unsigned char word_ops_used; int mb_cur_max; }; typedef struct re_string_t re_string_t; struct re_dfa_t; typedef struct re_dfa_t re_dfa_t; #ifndef _LIBC # define internal_function #endif #ifndef NOT_IN_libc static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) internal_function; # ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function; # endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; static unsigned int re_string_context_at (const re_string_t *input, Idx idx, int eflags) internal_function __attribute ((pure)); #endif #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ ((pstr)->mbs[(pstr)->cur_idx++]) #define re_string_first_byte(pstr, idx) \ ((idx) == (pstr)->valid_len || (pstr)->wcs[idx] != WEOF) #define re_string_is_single_byte_char(pstr, idx) \ ((pstr)->wcs[idx] != WEOF && ((pstr)->valid_len == (idx) + 1 \ || (pstr)->wcs[(idx) + 1] != WEOF)) #define re_string_eoi(pstr) ((pstr)->stop <= (pstr)->cur_idx) #define re_string_cur_idx(pstr) ((pstr)->cur_idx) #define re_string_get_buffer(pstr) ((pstr)->mbs) #define re_string_length(pstr) ((pstr)->len) #define re_string_byte_at(pstr,idx) ((pstr)->mbs[idx]) #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx)) #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx)) #if defined _LIBC || HAVE_ALLOCA # include <alloca.h> #endif #ifndef _LIBC # if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. */ # define __libc_use_alloca(n) ((n) < 4032) # else /* alloca is implemented with malloc, so just use malloc. */ # define __libc_use_alloca(n) 0 # undef alloca # define alloca(n) malloc (n) # endif #endif #ifdef _LIBC # define MALLOC_0_IS_NONNULL 1 #elif !defined MALLOC_0_IS_NONNULL # define MALLOC_0_IS_NONNULL 0 #endif #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif #ifndef MIN # define MIN(a,b) ((a) < (b) ? (a) : (b)) #endif #define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t))) #define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t))) #define re_free(p) free (p) struct bin_tree_t { struct bin_tree_t *parent; struct bin_tree_t *left; struct bin_tree_t *right; struct bin_tree_t *first; struct bin_tree_t *next; re_token_t token; /* 'node_idx' is the index in dfa->nodes, if 'type' == 0. Otherwise 'type' indicate the type of this node. */ Idx node_idx; }; typedef struct bin_tree_t bin_tree_t; #define BIN_TREE_STORAGE_SIZE \ ((1024 - sizeof (void *)) / sizeof (bin_tree_t)) struct bin_tree_storage_t { struct bin_tree_storage_t *next; bin_tree_t data[BIN_TREE_STORAGE_SIZE]; }; typedef struct bin_tree_storage_t bin_tree_storage_t; #define CONTEXT_WORD 1 #define CONTEXT_NEWLINE (CONTEXT_WORD << 1) #define CONTEXT_BEGBUF (CONTEXT_NEWLINE << 1) #define CONTEXT_ENDBUF (CONTEXT_BEGBUF << 1) #define IS_WORD_CONTEXT(c) ((c) & CONTEXT_WORD) #define IS_NEWLINE_CONTEXT(c) ((c) & CONTEXT_NEWLINE) #define IS_BEGBUF_CONTEXT(c) ((c) & CONTEXT_BEGBUF) #define IS_ENDBUF_CONTEXT(c) ((c) & CONTEXT_ENDBUF) #define IS_ORDINARY_CONTEXT(c) ((c) == 0) #define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_') #define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR) #define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_') #define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR) #define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \ ((((constraint) & PREV_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context))\ || ((constraint & PREV_BEGBUF_CONSTRAINT) && !IS_BEGBUF_CONTEXT (context))) #define NOT_SATISFY_NEXT_CONSTRAINT(constraint,context) \ ((((constraint) & NEXT_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context)) \ || (((constraint) & NEXT_ENDBUF_CONSTRAINT) && !IS_ENDBUF_CONTEXT (context))) struct re_dfastate_t { re_hashval_t hash; re_node_set nodes; re_node_set non_eps_nodes; re_node_set inveclosure; re_node_set *entrance_nodes; struct re_dfastate_t **trtable, **word_trtable; unsigned int context : 4; unsigned int halt : 1; /* If this state can accept "multi byte". Note that we refer to multibyte characters, and multi character collating elements as "multi byte". */ unsigned int accept_mb : 1; /* If this state has backreference node(s). */ unsigned int has_backref : 1; unsigned int has_constraint : 1; }; typedef struct re_dfastate_t re_dfastate_t; struct re_state_table_entry { Idx num; Idx alloc; re_dfastate_t **array; }; /* Array type used in re_sub_match_last_t and re_sub_match_top_t. */ typedef struct { Idx next_idx; Idx alloc; re_dfastate_t **array; } state_array_t; /* Store information about the node NODE whose type is OP_CLOSE_SUBEXP. */ typedef struct { Idx node; Idx str_idx; /* The position NODE match at. */ state_array_t path; } re_sub_match_last_t; /* Store information about the node NODE whose type is OP_OPEN_SUBEXP. And information about the node, whose type is OP_CLOSE_SUBEXP, corresponding to NODE is stored in LASTS. */ typedef struct { Idx str_idx; Idx node; state_array_t *path; Idx alasts; /* Allocation size of LASTS. */ Idx nlasts; /* The number of LASTS. */ re_sub_match_last_t **lasts; } re_sub_match_top_t; struct re_backref_cache_entry { Idx node; Idx str_idx; Idx subexp_from; Idx subexp_to; char more; char unused; unsigned short int eps_reachable_subexps_map; }; typedef struct { /* The string object corresponding to the input string. */ re_string_t input; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) const re_dfa_t *const dfa; #else const re_dfa_t *dfa; #endif /* EFLAGS of the argument of regexec. */ int eflags; /* Where the matching ends. */ Idx match_last; Idx last_node; /* The state log used by the matcher. */ re_dfastate_t **state_log; Idx state_log_top; /* Back reference cache. */ Idx nbkref_ents; Idx abkref_ents; struct re_backref_cache_entry *bkref_ents; int max_mb_elem_len; Idx nsub_tops; Idx asub_tops; re_sub_match_top_t **sub_tops; } re_match_context_t; typedef struct { re_dfastate_t **sifted_states; re_dfastate_t **limited_states; Idx last_node; Idx last_str_idx; re_node_set limits; } re_sift_context_t; struct re_fail_stack_ent_t { Idx idx; Idx node; regmatch_t *regs; re_node_set eps_via_nodes; }; struct re_fail_stack_t { Idx num; Idx alloc; struct re_fail_stack_ent_t *stack; }; struct re_dfa_t { re_token_t *nodes; size_t nodes_alloc; size_t nodes_len; Idx *nexts; Idx *org_indices; re_node_set *edests; re_node_set *eclosures; re_node_set *inveclosures; struct re_state_table_entry *state_table; re_dfastate_t *init_state; re_dfastate_t *init_state_word; re_dfastate_t *init_state_nl; re_dfastate_t *init_state_begbuf; bin_tree_t *str_tree; bin_tree_storage_t *str_tree_storage; re_bitset_ptr_t sb_char; int str_tree_storage_idx; /* number of subexpressions 're_nsub' is in regex_t. */ re_hashval_t state_hash_mask; Idx init_node; Idx nbackref; /* The number of backreference in this dfa. */ /* Bitmap expressing which backreference is used. */ bitset_word_t used_bkref_map; bitset_word_t completed_bkref_map; unsigned int has_plural_match : 1; /* If this dfa has "multibyte node", which is a backreference or a node which can accept multibyte character or multi character collating element. */ unsigned int has_mb_node : 1; unsigned int is_utf8 : 1; unsigned int map_notascii : 1; unsigned int word_ops_used : 1; int mb_cur_max; bitset_t word_char; reg_syntax_t syntax; Idx *subexp_map; #ifdef DEBUG char* re_str; #endif #ifdef _LIBC __libc_lock_define (, lock) #endif }; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) #define re_node_set_remove(set,id) \ (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) #define re_node_set_empty(p) ((p)->nelem = 0) #define re_node_set_free(set) re_free ((set)->elems) typedef enum { SB_CHAR, MB_CHAR, EQUIV_CLASS, COLL_SYM, CHAR_CLASS } bracket_elem_type; typedef struct { bracket_elem_type type; union { unsigned char ch; unsigned char *name; wchar_t wch; } opr; } bracket_elem_t; /* Functions for bitset_t operation. */ static void bitset_set (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS; } static void bitset_clear (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS); } static bool bitset_contain (const bitset_t set, Idx i) { return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1; } static void bitset_empty (bitset_t set) { memset (set, '\0', sizeof (bitset_t)); } static void bitset_set_all (bitset_t set) { memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS)); if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1; } static void bitset_copy (bitset_t dest, const bitset_t src) { memcpy (dest, src, sizeof (bitset_t)); } static void bitset_not (bitset_t set) { int bitset_i; for (bitset_i = 0; bitset_i < SBC_MAX / BITSET_WORD_BITS; ++bitset_i) set[bitset_i] = ~set[bitset_i]; if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1) & ~set[BITSET_WORDS - 1]); } static void bitset_merge (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] |= src[bitset_i]; } static void bitset_mask (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] &= src[bitset_i]; } #ifdef RE_ENABLE_I18N /* Functions for re_string. */ static int internal_function __attribute ((pure)) re_string_char_size_at (const re_string_t *pstr, Idx idx) { int byte_idx; if (pstr->mb_cur_max == 1) return 1; for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx) if (pstr->wcs[idx + byte_idx] != WEOF) break; return byte_idx; } static wint_t internal_function __attribute ((pure)) re_string_wchar_at (const re_string_t *pstr, Idx idx) { if (pstr->mb_cur_max == 1) return (wint_t) pstr->mbs[idx]; return (wint_t) pstr->wcs[idx]; } # ifndef NOT_IN_libc static int internal_function __attribute ((pure)) re_string_elem_size_at (const re_string_t *pstr _UNUSED_PARAMETER_, Idx idx _UNUSED_PARAMETER_) { # ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; # include <locale/weight.h> uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; findidx (&p, pstr->len - idx); return p - pstr->mbs - idx; } else # endif /* _LIBC */ return 1; } # endif #endif /* RE_ENABLE_I18N */ #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #if __GNUC_PREREQ (3,4) # undef __attribute_warn_unused_result__ # define __attribute_warn_unused_result__ \ __attribute__ ((__warn_unused_result__)) #else # define __attribute_warn_unused_result__ /* empty */ #endif #endif /* _REGEX_INTERNAL_H */ �����������������������������������������coreutils-8.21/lib/fchdir.c�������������������������������������������������������������������������0000664�0000000�0000000�00000013376�12071024546�012532� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fchdir replacement. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <assert.h> #include <dirent.h> #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include "dosname.h" #include "filenamecat.h" #ifndef REPLACE_OPEN_DIRECTORY # define REPLACE_OPEN_DIRECTORY 0 #endif /* This replacement assumes that a directory is not renamed while opened through a file descriptor. FIXME: On mingw, this would be possible to enforce if we were to also open a HANDLE to each directory currently visited by a file descriptor, since mingw refuses to rename any in-use file system object. */ /* Array of file descriptors opened. If REPLACE_OPEN_DIRECTORY or if it points to a directory, it stores info about this directory. */ typedef struct { char *name; /* Absolute name of the directory, or NULL. */ /* FIXME - add a DIR* member to make dirfd possible on mingw? */ } dir_info_t; static dir_info_t *dirs; static size_t dirs_allocated; /* Try to ensure dirs has enough room for a slot at index fd; free any contents already in that slot. Return false and set errno to ENOMEM on allocation failure. */ static bool ensure_dirs_slot (size_t fd) { if (fd < dirs_allocated) free (dirs[fd].name); else { size_t new_allocated; dir_info_t *new_dirs; new_allocated = 2 * dirs_allocated + 1; if (new_allocated <= fd) new_allocated = fd + 1; new_dirs = (dirs != NULL ? (dir_info_t *) realloc (dirs, new_allocated * sizeof *dirs) : (dir_info_t *) malloc (new_allocated * sizeof *dirs)); if (new_dirs == NULL) return false; memset (new_dirs + dirs_allocated, 0, (new_allocated - dirs_allocated) * sizeof *dirs); dirs = new_dirs; dirs_allocated = new_allocated; } return true; } /* Return an absolute name of DIR in malloc'd storage. */ static char * get_name (char const *dir) { char *cwd; char *result; int saved_errno; if (IS_ABSOLUTE_FILE_NAME (dir)) return strdup (dir); /* We often encounter "."; treat it as a special case. */ cwd = getcwd (NULL, 0); if (!cwd || (dir[0] == '.' && dir[1] == '\0')) return cwd; result = mfile_name_concat (cwd, dir, NULL); saved_errno = errno; free (cwd); errno = saved_errno; return result; } /* Hook into the gnulib replacements for open() and close() to keep track of the open file descriptors. */ /* Close FD, cleaning up any fd to name mapping if fd was visiting a directory. */ void _gl_unregister_fd (int fd) { if (fd >= 0 && fd < dirs_allocated) { free (dirs[fd].name); dirs[fd].name = NULL; } } /* Mark FD as visiting FILENAME. FD must be non-negative, and refer to an open file descriptor. If REPLACE_OPEN_DIRECTORY is non-zero, this should only be called if FD is visiting a directory. Close FD and return -1 if there is insufficient memory to track the directory name; otherwise return FD. */ int _gl_register_fd (int fd, const char *filename) { struct stat statbuf; assert (0 <= fd); if (REPLACE_OPEN_DIRECTORY || (fstat (fd, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))) { if (!ensure_dirs_slot (fd) || (dirs[fd].name = get_name (filename)) == NULL) { int saved_errno = errno; close (fd); errno = saved_errno; return -1; } } return fd; } /* Mark NEWFD as a duplicate of OLDFD; useful from dup, dup2, dup3, and fcntl. Both arguments must be valid and distinct file descriptors. Close NEWFD and return -1 if OLDFD is tracking a directory, but there is insufficient memory to track the same directory in NEWFD; otherwise return NEWFD. */ int _gl_register_dup (int oldfd, int newfd) { assert (0 <= oldfd && 0 <= newfd && oldfd != newfd); if (oldfd < dirs_allocated && dirs[oldfd].name) { /* Duplicated a directory; must ensure newfd is allocated. */ if (!ensure_dirs_slot (newfd) || (dirs[newfd].name = strdup (dirs[oldfd].name)) == NULL) { int saved_errno = errno; close (newfd); errno = saved_errno; newfd = -1; } } else if (newfd < dirs_allocated) { /* Duplicated a non-directory; ensure newfd is cleared. */ free (dirs[newfd].name); dirs[newfd].name = NULL; } return newfd; } /* If FD is currently visiting a directory, then return the name of that directory. Otherwise, return NULL and set errno. */ const char * _gl_directory_name (int fd) { if (0 <= fd && fd < dirs_allocated && dirs[fd].name != NULL) return dirs[fd].name; /* At this point, fd is either invalid, or open but not a directory. If dup2 fails, errno is correctly EBADF. */ if (0 <= fd) { if (dup2 (fd, fd) == fd) errno = ENOTDIR; } else errno = EBADF; return NULL; } /* Implement fchdir() in terms of chdir(). */ int fchdir (int fd) { const char *name = _gl_directory_name (fd); return name ? chdir (name) : -1; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/config.hin�����������������������������������������������������������������������0000664�0000000�0000000�00000311132�12107175566�013074� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* lib/config.hin. Generated from configure.ac by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define to the function xargmatch calls on failures. */ #undef ARGMATCH_DIE /* Define to the declaration of the xargmatch failure function. */ #undef ARGMATCH_DIE_DECL /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T /* Define to the number of bits in type 'sig_atomic_t'. */ #undef BITSIZEOF_SIG_ATOMIC_T /* Define to the number of bits in type 'size_t'. */ #undef BITSIZEOF_SIZE_T /* Define to the number of bits in type 'wchar_t'. */ #undef BITSIZEOF_WCHAR_T /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T /* Define if you wish *printf() functions that have a safe handling of non-IEEE-754 'long double' values. */ #undef CHECK_PRINTF_SAFE /* Define to 1 if chown fails to change ctime when at least one argument was not -1. */ #undef CHOWN_CHANGE_TIME_BUG /* Define if chown is not POSIX compliant regarding IDs of -1. */ #undef CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE /* Define if chown modifies symlinks. */ #undef CHOWN_MODIFIES_SYMLINK /* Define to 1 if chown mishandles trailing slash. */ #undef CHOWN_TRAILING_SLASH_BUG /* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP systems. This function is required for 'alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using 'alloca.c'. */ #undef C_ALLOCA /* Define as the bit index in the word where to find bit 0 of the exponent of 'double'. */ #undef DBL_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'double'. */ #undef DBL_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'double'. */ #undef DBL_SIGNBIT_BIT /* Define as the word index where to find the sign of 'double'. */ #undef DBL_SIGNBIT_WORD /* Define the default level of POSIX conformance. The value is of the form YYYYMM, specifying the year and month the standard was adopted. If not defined here, it defaults to the value of _POSIX2_VERSION in <unistd.h>. Define to 199209 to default to POSIX 1003.2-1992, which makes standard programs like 'head', 'tail', and 'sort' accept obsolete options like '+10' and '-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes these standard programs treat leading-'+' operands as file names and require modern usages like '-n 10' instead of '-10'. Whether defined here or not, the default can be overridden at run time via the _POSIX2_VERSION environment variable. */ #undef DEFAULT_POSIX2_VERSION /* Define to 1 for DGUX with <sys/dg_sys_info.h>. */ #undef DGUX /* the name of the file descriptor member of DIR */ #undef DIR_FD_MEMBER_NAME #ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif /* Define to 1 if // is a file system root distinct from /. */ #undef DOUBLE_SLASH_IS_DISTINCT_ROOT /* Define if struct dirent has a member d_ino that actually works. */ #undef D_INO_IN_DIRENT /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if your platform has fchownat, but it does not reject an empty file name. */ #undef FCHOWNAT_EMPTY_FILENAME_BUG /* Define to 1 if your platform has fchownat, but it cannot perform lchown tasks. */ #undef FCHOWNAT_NOFOLLOW_BUG /* Define this to 1 if F_DUPFD behavior does not match POSIX */ #undef FCNTL_DUPFD_BUGGY /* Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like 'struct s { int n; double d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99 compilers. When computing the size of such an object, don't use 'sizeof (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with MSVC and with C++ compilers. */ #undef FLEXIBLE_ARRAY_MEMBER /* Define as the bit index in the word where to find bit 0 of the exponent of 'float'. */ #undef FLT_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'float'. */ #undef FLT_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'float'. */ #undef FLT_SIGNBIT_BIT /* Define as the word index where to find the sign of 'float'. */ #undef FLT_SIGNBIT_WORD /* Define to 1 if fopen() fails to recognize a trailing slash. */ #undef FOPEN_TRAILING_SLASH_BUG /* Enable compile-time and run-time bounds-checking, and some warnings, without upsetting glibc 2.15+. */ #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ # define _FORTIFY_SOURCE 2 #endif /* Define to 1 if the system's ftello function has the Solaris bug. */ #undef FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE /* Define to 1 if mkdir mistakenly creates a directory given with a trailing dot component. */ #undef FUNC_MKDIR_DOT_BUG /* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */ #undef FUNC_NL_LANGINFO_YESEXPR_WORKS /* Define to 1 if realpath() can malloc memory, always gives an absolute path, and handles trailing slash correctly. */ #undef FUNC_REALPATH_WORKS /* Define to 1 if ungetc is broken when used on arbitrary bytes. */ #undef FUNC_UNGETC_BROKEN /* Define to 1 if futimesat mishandles a NULL file name. */ #undef FUTIMESAT_NULL_BUG /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #undef GETGROUPS_T /* Define this to 1 if getgroups(0,NULL) does not return the number of groups. */ #undef GETGROUPS_ZERO_BUG /* Define if gettimeofday clobbers the localtime buffer. */ #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Define this to 'void' or 'struct timezone' to match the system's declaration of the second argument to gettimeofday. */ #undef GETTIMEOFDAY_TIMEZONE /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module areadlinkat shall be considered present. */ #undef GNULIB_AREADLINKAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module calloc-gnu shall be considered present. */ #undef GNULIB_CALLOC_GNU /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module canonicalize shall be considered present. */ #undef GNULIB_CANONICALIZE /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module close-stream shall be considered present. */ #undef GNULIB_CLOSE_STREAM /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module dirent-safer shall be considered present. */ #undef GNULIB_DIRENT_SAFER /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module dirname shall be considered present. */ #undef GNULIB_DIRNAME /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module faccessat shall be considered present. */ #undef GNULIB_FACCESSAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fchmodat shall be considered present. */ #undef GNULIB_FCHMODAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fchownat shall be considered present. */ #undef GNULIB_FCHOWNAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fcntl-safer shall be considered present. */ #undef GNULIB_FCNTL_SAFER /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fdopendir shall be considered present. */ #undef GNULIB_FDOPENDIR /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fdutimensat shall be considered present. */ #undef GNULIB_FDUTIMENSAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fd-safer-flag shall be considered present. */ #undef GNULIB_FD_SAFER_FLAG /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fflush shall be considered present. */ #undef GNULIB_FFLUSH /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module filenamecat shall be considered present. */ #undef GNULIB_FILENAMECAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fopen-safer shall be considered present. */ #undef GNULIB_FOPEN_SAFER /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module freopen-safer shall be considered present. */ #undef GNULIB_FREOPEN_SAFER /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fscanf shall be considered present. */ #undef GNULIB_FSCANF /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module getcwd shall be considered present. */ #undef GNULIB_GETCWD /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module malloc-gnu shall be considered present. */ #undef GNULIB_MALLOC_GNU /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module openat shall be considered present. */ #undef GNULIB_OPENAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module openat-safer shall be considered present. */ #undef GNULIB_OPENAT_SAFER /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module pipe2-safer shall be considered present. */ #undef GNULIB_PIPE2_SAFER /* enable some gnulib portability checks */ #undef GNULIB_PORTCHECK /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module realloc-gnu shall be considered present. */ #undef GNULIB_REALLOC_GNU /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module scanf shall be considered present. */ #undef GNULIB_SCANF /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module snprintf shall be considered present. */ #undef GNULIB_SNPRINTF /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module statat shall be considered present. */ #undef GNULIB_STATAT /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module strerror shall be considered present. */ #undef GNULIB_STRERROR /* Define to 1 when the gnulib module accept should be tested. */ #undef GNULIB_TEST_ACCEPT /* Define to 1 when the gnulib module bind should be tested. */ #undef GNULIB_TEST_BIND /* Define to 1 when the gnulib module btowc should be tested. */ #undef GNULIB_TEST_BTOWC /* Define to 1 when the gnulib module calloc-posix should be tested. */ #undef GNULIB_TEST_CALLOC_POSIX /* Define to 1 when the gnulib module canonicalize should be tested. */ #undef GNULIB_TEST_CANONICALIZE /* Define to 1 when the gnulib module canonicalize_file_name should be tested. */ #undef GNULIB_TEST_CANONICALIZE_FILE_NAME /* Define to 1 when the gnulib module chdir should be tested. */ #undef GNULIB_TEST_CHDIR /* Define to 1 when the gnulib module chown should be tested. */ #undef GNULIB_TEST_CHOWN /* Define to 1 when the gnulib module cloexec should be tested. */ #undef GNULIB_TEST_CLOEXEC /* Define to 1 when the gnulib module close should be tested. */ #undef GNULIB_TEST_CLOSE /* Define to 1 when the gnulib module closedir should be tested. */ #undef GNULIB_TEST_CLOSEDIR /* Define to 1 when the gnulib module connect should be tested. */ #undef GNULIB_TEST_CONNECT /* Define to 1 when the gnulib module dirfd should be tested. */ #undef GNULIB_TEST_DIRFD /* Define to 1 when the gnulib module dup should be tested. */ #undef GNULIB_TEST_DUP /* Define to 1 when the gnulib module dup2 should be tested. */ #undef GNULIB_TEST_DUP2 /* Define to 1 when the gnulib module environ should be tested. */ #undef GNULIB_TEST_ENVIRON /* Define to 1 when the gnulib module euidaccess should be tested. */ #undef GNULIB_TEST_EUIDACCESS /* Define to 1 when the gnulib module faccessat should be tested. */ #undef GNULIB_TEST_FACCESSAT /* Define to 1 when the gnulib module fchdir should be tested. */ #undef GNULIB_TEST_FCHDIR /* Define to 1 when the gnulib module fchmodat should be tested. */ #undef GNULIB_TEST_FCHMODAT /* Define to 1 when the gnulib module fchownat should be tested. */ #undef GNULIB_TEST_FCHOWNAT /* Define to 1 when the gnulib module fclose should be tested. */ #undef GNULIB_TEST_FCLOSE /* Define to 1 when the gnulib module fcntl should be tested. */ #undef GNULIB_TEST_FCNTL /* Define to 1 when the gnulib module fdatasync should be tested. */ #undef GNULIB_TEST_FDATASYNC /* Define to 1 when the gnulib module fdopen should be tested. */ #undef GNULIB_TEST_FDOPEN /* Define to 1 when the gnulib module fdopendir should be tested. */ #undef GNULIB_TEST_FDOPENDIR /* Define to 1 when the gnulib module fflush should be tested. */ #undef GNULIB_TEST_FFLUSH /* Define to 1 when the gnulib module fopen should be tested. */ #undef GNULIB_TEST_FOPEN /* Define to 1 when the gnulib module fpurge should be tested. */ #undef GNULIB_TEST_FPURGE /* Define to 1 when the gnulib module freopen should be tested. */ #undef GNULIB_TEST_FREOPEN /* Define to 1 when the gnulib module frexp should be tested. */ #undef GNULIB_TEST_FREXP /* Define to 1 when the gnulib module frexpl should be tested. */ #undef GNULIB_TEST_FREXPL /* Define to 1 when the gnulib module fseek should be tested. */ #undef GNULIB_TEST_FSEEK /* Define to 1 when the gnulib module fseeko should be tested. */ #undef GNULIB_TEST_FSEEKO /* Define to 1 when the gnulib module fstat should be tested. */ #undef GNULIB_TEST_FSTAT /* Define to 1 when the gnulib module fstatat should be tested. */ #undef GNULIB_TEST_FSTATAT /* Define to 1 when the gnulib module fsync should be tested. */ #undef GNULIB_TEST_FSYNC /* Define to 1 when the gnulib module ftell should be tested. */ #undef GNULIB_TEST_FTELL /* Define to 1 when the gnulib module ftello should be tested. */ #undef GNULIB_TEST_FTELLO /* Define to 1 when the gnulib module ftruncate should be tested. */ #undef GNULIB_TEST_FTRUNCATE /* Define to 1 when the gnulib module futimens should be tested. */ #undef GNULIB_TEST_FUTIMENS /* Define to 1 when the gnulib module getaddrinfo should be tested. */ #undef GNULIB_TEST_GETADDRINFO /* Define to 1 when the gnulib module getcwd should be tested. */ #undef GNULIB_TEST_GETCWD /* Define to 1 when the gnulib module getdelim should be tested. */ #undef GNULIB_TEST_GETDELIM /* Define to 1 when the gnulib module getdtablesize should be tested. */ #undef GNULIB_TEST_GETDTABLESIZE /* Define to 1 when the gnulib module getgroups should be tested. */ #undef GNULIB_TEST_GETGROUPS /* Define to 1 when the gnulib module gethostname should be tested. */ #undef GNULIB_TEST_GETHOSTNAME /* Define to 1 when the gnulib module getline should be tested. */ #undef GNULIB_TEST_GETLINE /* Define to 1 when the gnulib module getloadavg should be tested. */ #undef GNULIB_TEST_GETLOADAVG /* Define to 1 when the gnulib module getlogin should be tested. */ #undef GNULIB_TEST_GETLOGIN /* Define to 1 when the gnulib module getopt-gnu should be tested. */ #undef GNULIB_TEST_GETOPT_GNU /* Define to 1 when the gnulib module getpagesize should be tested. */ #undef GNULIB_TEST_GETPAGESIZE /* Define to 1 when the gnulib module gettimeofday should be tested. */ #undef GNULIB_TEST_GETTIMEOFDAY /* Define to 1 when the gnulib module getusershell should be tested. */ #undef GNULIB_TEST_GETUSERSHELL /* Define to 1 when the gnulib module group-member should be tested. */ #undef GNULIB_TEST_GROUP_MEMBER /* Define to 1 when the gnulib module ioctl should be tested. */ #undef GNULIB_TEST_IOCTL /* Define to 1 when the gnulib module isatty should be tested. */ #undef GNULIB_TEST_ISATTY /* Define to 1 when the gnulib module iswblank should be tested. */ #undef GNULIB_TEST_ISWBLANK /* Define to 1 when the gnulib module lchmod should be tested. */ #undef GNULIB_TEST_LCHMOD /* Define to 1 when the gnulib module lchown should be tested. */ #undef GNULIB_TEST_LCHOWN /* Define to 1 when the gnulib module link should be tested. */ #undef GNULIB_TEST_LINK /* Define to 1 when the gnulib module linkat should be tested. */ #undef GNULIB_TEST_LINKAT /* Define to 1 when the gnulib module listen should be tested. */ #undef GNULIB_TEST_LISTEN /* Define to 1 when the gnulib module localeconv should be tested. */ #undef GNULIB_TEST_LOCALECONV /* Define to 1 when the gnulib module lseek should be tested. */ #undef GNULIB_TEST_LSEEK /* Define to 1 when the gnulib module lstat should be tested. */ #undef GNULIB_TEST_LSTAT /* Define to 1 when the gnulib module malloc-posix should be tested. */ #undef GNULIB_TEST_MALLOC_POSIX /* Define to 1 when the gnulib module mbrlen should be tested. */ #undef GNULIB_TEST_MBRLEN /* Define to 1 when the gnulib module mbrtowc should be tested. */ #undef GNULIB_TEST_MBRTOWC /* Define to 1 when the gnulib module mbscasecmp should be tested. */ #undef GNULIB_TEST_MBSCASECMP /* Define to 1 when the gnulib module mbsinit should be tested. */ #undef GNULIB_TEST_MBSINIT /* Define to 1 when the gnulib module mbslen should be tested. */ #undef GNULIB_TEST_MBSLEN /* Define to 1 when the gnulib module mbsrtowcs should be tested. */ #undef GNULIB_TEST_MBSRTOWCS /* Define to 1 when the gnulib module mbsstr should be tested. */ #undef GNULIB_TEST_MBSSTR /* Define to 1 when the gnulib module mbtowc should be tested. */ #undef GNULIB_TEST_MBTOWC /* Define to 1 when the gnulib module memchr should be tested. */ #undef GNULIB_TEST_MEMCHR /* Define to 1 when the gnulib module mempcpy should be tested. */ #undef GNULIB_TEST_MEMPCPY /* Define to 1 when the gnulib module memrchr should be tested. */ #undef GNULIB_TEST_MEMRCHR /* Define to 1 when the gnulib module mkfifo should be tested. */ #undef GNULIB_TEST_MKFIFO /* Define to 1 when the gnulib module mknod should be tested. */ #undef GNULIB_TEST_MKNOD /* Define to 1 when the gnulib module mkstemp should be tested. */ #undef GNULIB_TEST_MKSTEMP /* Define to 1 when the gnulib module mktime should be tested. */ #undef GNULIB_TEST_MKTIME /* Define to 1 when the gnulib module nanosleep should be tested. */ #undef GNULIB_TEST_NANOSLEEP /* Define to 1 when the gnulib module nl_langinfo should be tested. */ #undef GNULIB_TEST_NL_LANGINFO /* Define to 1 when the gnulib module open should be tested. */ #undef GNULIB_TEST_OPEN /* Define to 1 when the gnulib module openat should be tested. */ #undef GNULIB_TEST_OPENAT /* Define to 1 when the gnulib module opendir should be tested. */ #undef GNULIB_TEST_OPENDIR /* Define to 1 when the gnulib module perror should be tested. */ #undef GNULIB_TEST_PERROR /* Define to 1 when the gnulib module pipe should be tested. */ #undef GNULIB_TEST_PIPE /* Define to 1 when the gnulib module pipe2 should be tested. */ #undef GNULIB_TEST_PIPE2 /* Define to 1 when the gnulib module posix_spawnattr_destroy should be tested. */ #undef GNULIB_TEST_POSIX_SPAWNATTR_DESTROY /* Define to 1 when the gnulib module posix_spawnattr_init should be tested. */ #undef GNULIB_TEST_POSIX_SPAWNATTR_INIT /* Define to 1 when the gnulib module posix_spawnattr_setflags should be tested. */ #undef GNULIB_TEST_POSIX_SPAWNATTR_SETFLAGS /* Define to 1 when the gnulib module posix_spawnattr_setsigmask should be tested. */ #undef GNULIB_TEST_POSIX_SPAWNATTR_SETSIGMASK /* Define to 1 when the gnulib module posix_spawnp should be tested. */ #undef GNULIB_TEST_POSIX_SPAWNP /* Define to 1 when the gnulib module posix_spawn_file_actions_addclose should be tested. */ #undef GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE /* Define to 1 when the gnulib module posix_spawn_file_actions_adddup2 should be tested. */ #undef GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 /* Define to 1 when the gnulib module posix_spawn_file_actions_addopen should be tested. */ #undef GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN /* Define to 1 when the gnulib module posix_spawn_file_actions_destroy should be tested. */ #undef GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_DESTROY /* Define to 1 when the gnulib module posix_spawn_file_actions_init should be tested. */ #undef GNULIB_TEST_POSIX_SPAWN_FILE_ACTIONS_INIT /* Define to 1 when the gnulib module putenv should be tested. */ #undef GNULIB_TEST_PUTENV /* Define to 1 when the gnulib module raise should be tested. */ #undef GNULIB_TEST_RAISE /* Define to 1 when the gnulib module rawmemchr should be tested. */ #undef GNULIB_TEST_RAWMEMCHR /* Define to 1 when the gnulib module read should be tested. */ #undef GNULIB_TEST_READ /* Define to 1 when the gnulib module readdir should be tested. */ #undef GNULIB_TEST_READDIR /* Define to 1 when the gnulib module readlink should be tested. */ #undef GNULIB_TEST_READLINK /* Define to 1 when the gnulib module readlinkat should be tested. */ #undef GNULIB_TEST_READLINKAT /* Define to 1 when the gnulib module realloc-posix should be tested. */ #undef GNULIB_TEST_REALLOC_POSIX /* Define to 1 when the gnulib module remove should be tested. */ #undef GNULIB_TEST_REMOVE /* Define to 1 when the gnulib module rename should be tested. */ #undef GNULIB_TEST_RENAME /* Define to 1 when the gnulib module rewinddir should be tested. */ #undef GNULIB_TEST_REWINDDIR /* Define to 1 when the gnulib module rmdir should be tested. */ #undef GNULIB_TEST_RMDIR /* Define to 1 when the gnulib module rpmatch should be tested. */ #undef GNULIB_TEST_RPMATCH /* Define to 1 when the gnulib module select should be tested. */ #undef GNULIB_TEST_SELECT /* Define to 1 when the gnulib module setenv should be tested. */ #undef GNULIB_TEST_SETENV /* Define to 1 when the gnulib module setlocale should be tested. */ #undef GNULIB_TEST_SETLOCALE /* Define to 1 when the gnulib module setsockopt should be tested. */ #undef GNULIB_TEST_SETSOCKOPT /* Define to 1 when the gnulib module sigaction should be tested. */ #undef GNULIB_TEST_SIGACTION /* Define to 1 when the gnulib module signbit should be tested. */ #undef GNULIB_TEST_SIGNBIT /* Define to 1 when the gnulib module sigprocmask should be tested. */ #undef GNULIB_TEST_SIGPROCMASK /* Define to 1 when the gnulib module sleep should be tested. */ #undef GNULIB_TEST_SLEEP /* Define to 1 when the gnulib module snprintf should be tested. */ #undef GNULIB_TEST_SNPRINTF /* Define to 1 when the gnulib module socket should be tested. */ #undef GNULIB_TEST_SOCKET /* Define to 1 when the gnulib module stat should be tested. */ #undef GNULIB_TEST_STAT /* Define to 1 when the gnulib module stpcpy should be tested. */ #undef GNULIB_TEST_STPCPY /* Define to 1 when the gnulib module stpncpy should be tested. */ #undef GNULIB_TEST_STPNCPY /* Define to 1 when the gnulib module strchrnul should be tested. */ #undef GNULIB_TEST_STRCHRNUL /* Define to 1 when the gnulib module strdup should be tested. */ #undef GNULIB_TEST_STRDUP /* Define to 1 when the gnulib module strerror should be tested. */ #undef GNULIB_TEST_STRERROR /* Define to 1 when the gnulib module strerror_r should be tested. */ #undef GNULIB_TEST_STRERROR_R /* Define to 1 when the gnulib module strncat should be tested. */ #undef GNULIB_TEST_STRNCAT /* Define to 1 when the gnulib module strndup should be tested. */ #undef GNULIB_TEST_STRNDUP /* Define to 1 when the gnulib module strnlen should be tested. */ #undef GNULIB_TEST_STRNLEN /* Define to 1 when the gnulib module strpbrk should be tested. */ #undef GNULIB_TEST_STRPBRK /* Define to 1 when the gnulib module strsignal should be tested. */ #undef GNULIB_TEST_STRSIGNAL /* Define to 1 when the gnulib module strstr should be tested. */ #undef GNULIB_TEST_STRSTR /* Define to 1 when the gnulib module strtod should be tested. */ #undef GNULIB_TEST_STRTOD /* Define to 1 when the gnulib module strtoll should be tested. */ #undef GNULIB_TEST_STRTOLL /* Define to 1 when the gnulib module strtoull should be tested. */ #undef GNULIB_TEST_STRTOULL /* Define to 1 when the gnulib module symlink should be tested. */ #undef GNULIB_TEST_SYMLINK /* Define to 1 when the gnulib module symlinkat should be tested. */ #undef GNULIB_TEST_SYMLINKAT /* Define to 1 when the gnulib module time_r should be tested. */ #undef GNULIB_TEST_TIME_R /* Define to 1 when the gnulib module unlink should be tested. */ #undef GNULIB_TEST_UNLINK /* Define to 1 when the gnulib module unlinkat should be tested. */ #undef GNULIB_TEST_UNLINKAT /* Define to 1 when the gnulib module unsetenv should be tested. */ #undef GNULIB_TEST_UNSETENV /* Define to 1 when the gnulib module usleep should be tested. */ #undef GNULIB_TEST_USLEEP /* Define to 1 when the gnulib module utimensat should be tested. */ #undef GNULIB_TEST_UTIMENSAT /* Define to 1 when the gnulib module vasprintf should be tested. */ #undef GNULIB_TEST_VASPRINTF /* Define to 1 when the gnulib module vfprintf-posix should be tested. */ #undef GNULIB_TEST_VFPRINTF_POSIX /* Define to 1 when the gnulib module vprintf-posix should be tested. */ #undef GNULIB_TEST_VPRINTF_POSIX /* Define to 1 when the gnulib module waitpid should be tested. */ #undef GNULIB_TEST_WAITPID /* Define to 1 when the gnulib module wcrtomb should be tested. */ #undef GNULIB_TEST_WCRTOMB /* Define to 1 when the gnulib module wcswidth should be tested. */ #undef GNULIB_TEST_WCSWIDTH /* Define to 1 when the gnulib module wctob should be tested. */ #undef GNULIB_TEST_WCTOB /* Define to 1 when the gnulib module wctomb should be tested. */ #undef GNULIB_TEST_WCTOMB /* Define to 1 when the gnulib module wcwidth should be tested. */ #undef GNULIB_TEST_WCWIDTH /* Define to 1 when the gnulib module write should be tested. */ #undef GNULIB_TEST_WRITE /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ #undef GNULIB_UNISTR_U8_MBTOUCR /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module unistr/u8-uctomb shall be considered present. */ #undef GNULIB_UNISTR_U8_UCTOMB /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module xgetgroups shall be considered present. */ #undef GNULIB_XGETGROUPS /* Define if your system defines TIOCGWINSZ in sys/ioctl.h. */ #undef GWINSZ_IN_SYS_IOCTL /* Define if your system defines TIOCGWINSZ in sys/pty.h. */ #undef GWINSZ_IN_SYS_PTY /* Define to 1 if you have the `access' function. */ #undef HAVE_ACCESS /* Define to 1 if you have the `aclsort' function. */ #undef HAVE_ACLSORT /* Define to 1 if you have the <aclv.h> header file. */ #undef HAVE_ACLV_H /* Define to 1 if you have the `aclx_get' function. */ #undef HAVE_ACLX_GET /* Define to 1 if you have the `acl_copy_ext_native' function. */ #undef HAVE_ACL_COPY_EXT_NATIVE /* Define to 1 if you have the `acl_create_entry_np' function. */ #undef HAVE_ACL_CREATE_ENTRY_NP /* Define to 1 if you have the `acl_delete_def_file' function. */ #undef HAVE_ACL_DELETE_DEF_FILE /* Define to 1 if you have the `acl_delete_fd_np' function. */ #undef HAVE_ACL_DELETE_FD_NP /* Define to 1 if you have the `acl_delete_file_np' function. */ #undef HAVE_ACL_DELETE_FILE_NP /* Define to 1 if you have the `acl_entries' function. */ #undef HAVE_ACL_ENTRIES /* Define to 1 if you have the `acl_extended_file' function. */ #undef HAVE_ACL_EXTENDED_FILE /* Define to 1 if the constant ACL_FIRST_ENTRY exists. */ #undef HAVE_ACL_FIRST_ENTRY /* Define to 1 if you have the `acl_free' function. */ #undef HAVE_ACL_FREE /* Define to 1 if you have the `acl_free_text' function. */ #undef HAVE_ACL_FREE_TEXT /* Define to 1 if you have the `acl_from_mode' function. */ #undef HAVE_ACL_FROM_MODE /* Define to 1 if you have the `acl_from_text' function. */ #undef HAVE_ACL_FROM_TEXT /* Define to 1 if you have the `acl_get_fd' function. */ #undef HAVE_ACL_GET_FD /* Define to 1 if you have the `acl_get_file' function. */ #undef HAVE_ACL_GET_FILE /* Define to 1 if you have the <acl/libacl.h> header file. */ #undef HAVE_ACL_LIBACL_H /* Define to 1 if you have the `acl_set_fd' function. */ #undef HAVE_ACL_SET_FD /* Define to 1 if you have the `acl_set_file' function. */ #undef HAVE_ACL_SET_FILE /* Define to 1 if you have the `acl_to_short_text' function. */ #undef HAVE_ACL_TO_SHORT_TEXT /* Define to 1 if you have the `acl_trivial' function. */ #undef HAVE_ACL_TRIVIAL /* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */ #undef HAVE_ACL_TYPE_EXTENDED /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM /* Define to 1 if you have 'alloca' after including <alloca.h>, a header that may be supplied by this distribution. */ #undef HAVE_ALLOCA /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define if you have an arithmetic hrtime_t type. */ #undef HAVE_ARITHMETIC_HRTIME_T /* Define to 1 if you have the <arpa/inet.h> header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the `attr_copy_file' function. */ #undef HAVE_ATTR_COPY_FILE /* Define to 1 if you have the <attr/error_context.h> header file. */ #undef HAVE_ATTR_ERROR_CONTEXT_H /* Define to 1 if you have the <attr/libattr.h> header file. */ #undef HAVE_ATTR_LIBATTR_H /* Define to 1 if you have the <bp-sym.h> header file. */ #undef HAVE_BP_SYM_H /* Define to 1 if you have the `btowc' function. */ #undef HAVE_BTOWC /* Define to 1 if nanosleep mishandles large arguments. */ #undef HAVE_BUG_BIG_NANOSLEEP /* Define to 1 if strtold conforms to C99. */ #undef HAVE_C99_STRTOLD /* Define to 1 if your system has a GNU libc compatible 'calloc' function, and to 0 otherwise. */ #undef HAVE_CALLOC_GNU /* Define if the 'calloc' function is POSIX compliant. */ #undef HAVE_CALLOC_POSIX /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME /* libcap usability */ #undef HAVE_CAP /* Define to 1 if you have the `catgets' function. */ #undef HAVE_CATGETS /* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `chown' function. */ #undef HAVE_CHOWN /* Define to 1 if you have the `chroot' function. */ #undef HAVE_CHROOT /* Define to 1 if you have the `chsize' function. */ #undef HAVE_CHSIZE /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME /* Define to 1 if you have the `clock_settime' function. */ #undef HAVE_CLOCK_SETTIME /* Define to 1 if you have the `closedir' function. */ #undef HAVE_CLOSEDIR /* Define if you have compound literals. */ #undef HAVE_COMPOUND_LITERALS /* Define to 1 if you have the `confstr' function. */ #undef HAVE_CONFSTR /* Define if the copysignf function is declared in <math.h> and available in libc. */ #undef HAVE_COPYSIGNF_IN_LIBC /* Define if the copysignl function is declared in <math.h> and available in libc. */ #undef HAVE_COPYSIGNL_IN_LIBC /* Define if the copysign function is declared in <math.h> and available in libc. */ #undef HAVE_COPYSIGN_IN_LIBC /* FIXME */ #undef HAVE_C_LINE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. */ #undef HAVE_DECL_ALARM /* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_CLEARERR_UNLOCKED /* Define to 1 if you have the declaration of `copysign', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGN /* Define to 1 if you have the declaration of `copysignf', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGNF /* Define to 1 if you have the declaration of `copysignl', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGNL /* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't. */ #undef HAVE_DECL_DIRFD /* Define to 1 if you have the declaration of `fchdir', and to 0 if you don't. */ #undef HAVE_DECL_FCHDIR /* Define to 1 if you have the declaration of `fdatasync', and to 0 if you don't. */ #undef HAVE_DECL_FDATASYNC /* Define to 1 if you have the declaration of `fdopendir', and to 0 if you don't. */ #undef HAVE_DECL_FDOPENDIR /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED /* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FERROR_UNLOCKED /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED /* Define to 1 if you have the declaration of `flockfile', and to 0 if you don't. */ #undef HAVE_DECL_FLOCKFILE /* Define to 1 if you have the declaration of `fpurge', and to 0 if you don't. */ #undef HAVE_DECL_FPURGE /* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTC_UNLOCKED /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTS_UNLOCKED /* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FREAD_UNLOCKED /* Define to 1 if you have the declaration of `freeaddrinfo', and to 0 if you don't. */ #undef HAVE_DECL_FREEADDRINFO /* Define to 1 if you have the declaration of `fseeko', and to 0 if you don't. */ #undef HAVE_DECL_FSEEKO /* Define to 1 if you have the declaration of `ftello', and to 0 if you don't. */ #undef HAVE_DECL_FTELLO /* Define to 1 if you have the declaration of `funlockfile', and to 0 if you don't. */ #undef HAVE_DECL_FUNLOCKFILE /* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FWRITE_UNLOCKED /* Define to 1 if you have the declaration of `gai_strerror', and to 0 if you don't. */ #undef HAVE_DECL_GAI_STRERROR /* Define to 1 if you have the declaration of `gai_strerrorA', and to 0 if you don't. */ #undef HAVE_DECL_GAI_STRERRORA /* Define to 1 if you have the declaration of `getaddrinfo', and to 0 if you don't. */ #undef HAVE_DECL_GETADDRINFO /* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETCHAR_UNLOCKED /* Define to 1 if you have the declaration of `getcwd', and to 0 if you don't. */ #undef HAVE_DECL_GETCWD /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `getdelim', and to 0 if you don't. */ #undef HAVE_DECL_GETDELIM /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV /* Define to 1 if you have the declaration of `geteuid', and to 0 if you don't. */ #undef HAVE_DECL_GETEUID /* Define to 1 if you have the declaration of `getgrgid', and to 0 if you don't. */ #undef HAVE_DECL_GETGRGID /* Define to 1 if you have the declaration of `gethrtime', and to 0 if you don't. */ #undef HAVE_DECL_GETHRTIME /* Define to 1 if you have the declaration of `getline', and to 0 if you don't. */ #undef HAVE_DECL_GETLINE /* Define to 1 if you have the declaration of `getlogin', and to 0 if you don't. */ #undef HAVE_DECL_GETLOGIN /* Define to 1 if you have the declaration of `getnameinfo', and to 0 if you don't. */ #undef HAVE_DECL_GETNAMEINFO /* Define to 1 if you have the declaration of `getpass', and to 0 if you don't. */ #undef HAVE_DECL_GETPASS /* Define to 1 if you have the declaration of `getpwuid', and to 0 if you don't. */ #undef HAVE_DECL_GETPWUID /* Define to 1 if you have the declaration of `getuid', and to 0 if you don't. */ #undef HAVE_DECL_GETUID /* Define to 1 if you have the declaration of `getusershell', and to 0 if you don't. */ #undef HAVE_DECL_GETUSERSHELL /* Define to 1 if you have the declaration of `getutent', and to 0 if you don't. */ #undef HAVE_DECL_GETUTENT /* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you don't. */ #undef HAVE_DECL_INET_NTOP /* Define to 1 if you have the declaration of `inet_pton', and to 0 if you don't. */ #undef HAVE_DECL_INET_PTON /* Define to 1 if you have the declaration of `isblank', and to 0 if you don't. */ #undef HAVE_DECL_ISBLANK /* Define to 1 if you have the declaration of `iswblank', and to 0 if you don't. */ #undef HAVE_DECL_ISWBLANK /* Define to 1 if you have the declaration of `localtime_r', and to 0 if you don't. */ #undef HAVE_DECL_LOCALTIME_R /* Define to 1 if you have the declaration of `mbrlen', and to 0 if you don't. */ #undef HAVE_DECL_MBRLEN /* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you don't. */ #undef HAVE_DECL_MBRTOWC /* Define to 1 if you have the declaration of `mbsinit', and to 0 if you don't. */ #undef HAVE_DECL_MBSINIT /* Define to 1 if you have the declaration of `mbsrtowcs', and to 0 if you don't. */ #undef HAVE_DECL_MBSRTOWCS /* Define to 1 if you have a declaration of mbswidth() in <wchar.h>, and to 0 otherwise. */ #undef HAVE_DECL_MBSWIDTH_IN_WCHAR_H /* Define to 1 if you have the declaration of `memrchr', and to 0 if you don't. */ #undef HAVE_DECL_MEMRCHR /* Define to 1 if you have the declaration of `mpz_inits', and to 0 if you don't. */ #undef HAVE_DECL_MPZ_INITS /* Define to 1 if you have the declaration of `program_invocation_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_NAME /* Define to 1 if you have the declaration of `program_invocation_short_name', and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME /* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTCHAR_UNLOCKED /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED /* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. */ #undef HAVE_DECL_SETENV /* Define to 1 if you have the declaration of `setregid', and to 0 if you don't. */ #undef HAVE_DECL_SETREGID /* Define to 1 if you have the declaration of `sleep', and to 0 if you don't. */ #undef HAVE_DECL_SLEEP /* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ #undef HAVE_DECL_SNPRINTF /* Define to 1 if you have the declaration of `stpncpy', and to 0 if you don't. */ #undef HAVE_DECL_STPNCPY /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. */ #undef HAVE_DECL_STRDUP /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R /* Define to 1 if you have the declaration of `strmode', and to 0 if you don't. */ #undef HAVE_DECL_STRMODE /* Define to 1 if you have the declaration of `strndup', and to 0 if you don't. */ #undef HAVE_DECL_STRNDUP /* Define to 1 if you have the declaration of `strnlen', and to 0 if you don't. */ #undef HAVE_DECL_STRNLEN /* Define to 1 if you have the declaration of `strsignal', and to 0 if you don't. */ #undef HAVE_DECL_STRSIGNAL /* Define to 1 if you have the declaration of `strtoimax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOIMAX /* Define to 1 if you have the declaration of `strtoll', and to 0 if you don't. */ #undef HAVE_DECL_STRTOLL /* Define to 1 if you have the declaration of `strtoull', and to 0 if you don't. */ #undef HAVE_DECL_STRTOULL /* Define to 1 if you have the declaration of `strtoumax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOUMAX /* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL_SYS_SIGLIST /* Define to 1 if you have the declaration of `towlower', and to 0 if you don't. */ #undef HAVE_DECL_TOWLOWER /* Define to 1 if you have the declaration of `ttyname', and to 0 if you don't. */ #undef HAVE_DECL_TTYNAME /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME /* Define to 1 if you have the declaration of `unsetenv', and to 0 if you don't. */ #undef HAVE_DECL_UNSETENV /* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you don't. */ #undef HAVE_DECL_WCRTOMB /* Define to 1 if you have the declaration of `wctob', and to 0 if you don't. */ #undef HAVE_DECL_WCTOB /* Define to 1 if you have the declaration of `wcwidth', and to 0 if you don't. */ #undef HAVE_DECL_WCWIDTH /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF /* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL__SYS_SIGLIST /* Define to 1 if you have the declaration of `__fpending', and to 0 if you don't. */ #undef HAVE_DECL___FPENDING /* Define to 1 if you have the declaration of `__fsetlocking', and to 0 if you don't. */ #undef HAVE_DECL___FSETLOCKING /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL___SYS_SIGLIST /* Define to 1 if you have the `directio' function. */ #undef HAVE_DIRECTIO /* Define to 1 if you have the <dirent.h> header file. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the `dirfd' function. */ #undef HAVE_DIRFD /* Define to 1 if you have the 'dup2' function. */ #undef HAVE_DUP2 /* Define to 1 if you have the <dustat.h> header file. */ #undef HAVE_DUSTAT_H /* Define to 1 if you have the `eaccess' function. */ #undef HAVE_EACCESS /* Define to 1 if you have the `endgrent' function. */ #undef HAVE_ENDGRENT /* Define to 1 if you have the `endpwent' function. */ #undef HAVE_ENDPWENT /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL /* Define to 1 if you have the `euidaccess' function. */ #undef HAVE_EUIDACCESS /* Define to 1 if you have the `faccessat' function. */ #undef HAVE_FACCESSAT /* Define to 1 if you have the `facl' function. */ #undef HAVE_FACL /* Define to 1 if you have the `fchdir' function. */ #undef HAVE_FCHDIR /* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD /* Define to 1 if you have the `fchmodat' function. */ #undef HAVE_FCHMODAT /* Define to 1 if you have the `fchown' function. */ #undef HAVE_FCHOWN /* Define to 1 if you have the `fcntl' function. */ #undef HAVE_FCNTL /* Define to 1 if you have the `fdatasync' function. */ #undef HAVE_FDATASYNC /* Define to 1 if you have the `fdopendir' function. */ #undef HAVE_FDOPENDIR /* Define to 1 if you have the <features.h> header file. */ #undef HAVE_FEATURES_H /* Define to 1 if pipes are FIFOs, 0 if sockets. Leave undefined if not known. */ #undef HAVE_FIFO_PIPES /* Define to 1 if you have the `flockfile' function. */ #undef HAVE_FLOCKFILE /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Define to 1 if you have the `fpurge' function. */ #undef HAVE_FPURGE /* Define if the frexpl function is available in libc. */ #undef HAVE_FREXPL_IN_LIBC /* Define if the frexp function is available in libc. */ #undef HAVE_FREXP_IN_LIBC /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO /* Define to 1 if you have the `fstatat' function. */ #undef HAVE_FSTATAT /* Define to 1 if you have the `fstatfs' function. */ #undef HAVE_FSTATFS /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC /* Define to 1 if you have the <fs_info.h> header file. */ #undef HAVE_FS_INFO_H /* Define to 1 if you have the `fs_stat_dev' function. */ #undef HAVE_FS_STAT_DEV /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE /* Define to 1 if you have the `funlockfile' function. */ #undef HAVE_FUNLOCKFILE /* Define to 1 if you have the `futimens' function. */ #undef HAVE_FUTIMENS /* Define to 1 if you have the `futimes' function. */ #undef HAVE_FUTIMES /* Define to 1 if you have the `futimesat' function. */ #undef HAVE_FUTIMESAT /* Define to 1 if you have the `getacl' function. */ #undef HAVE_GETACL /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM /* Define to 1 if you have the `getdtablesize' function. */ #undef HAVE_GETDTABLESIZE /* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID /* Define to 1 if you have the `getgrent_nomembers' function. */ #undef HAVE_GETGRENT_NOMEMBERS /* Define to 1 if you have the `getgrgid_nomembers' function. */ #undef HAVE_GETGRGID_NOMEMBERS /* Define to 1 if you have the `getgrnam_nomembers' function. */ #undef HAVE_GETGRNAM_NOMEMBERS /* Define to 1 if you have the `getgrouplist' function. */ #undef HAVE_GETGROUPLIST /* Define to 1 if your system has a working `getgroups' function. */ #undef HAVE_GETGROUPS /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME /* Define to 1 if you have the `gethostid' function. */ #undef HAVE_GETHOSTID /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define to 1 if you have the `getlogin' function. */ #undef HAVE_GETLOGIN /* Define to 1 if you have the `getmntent' function. */ #undef HAVE_GETMNTENT /* Define to 1 if you have the `getmntinfo' function. */ #undef HAVE_GETMNTINFO /* Define to 1 if you have the <getopt.h> header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long_only' function. */ #undef HAVE_GETOPT_LONG_ONLY /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the `getppriv' function. */ #undef HAVE_GETPPRIV /* Define to 1 if you have the `getservbyname' function. */ #undef HAVE_GETSERVBYNAME /* Define to 1 if you have the `getsysinfo' function. */ #undef HAVE_GETSYSINFO /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `getusershell' function. */ #undef HAVE_GETUSERSHELL /* Define if you have GNU libgmp (or replacement) */ #undef HAVE_GMP /* Define to 1 if you have the <grp.h> header file. */ #undef HAVE_GRP_H /* Define to 1 if you have the `hasmntopt' function. */ #undef HAVE_HASMNTOPT /* Define to 1 if you have the <hurd.h> header file. */ #undef HAVE_HURD_H /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the <iconv.h> header file. */ #undef HAVE_ICONV_H /* Define to 1 if you have the `inet_ntop' function. */ #undef HAVE_INET_NTOP /* Define to 1 if you have the `inet_pton' function. */ #undef HAVE_INET_PTON /* Define to 1 if you have the `initgroups' function. */ #undef HAVE_INITGROUPS /* Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such. */ #undef HAVE_INLINE /* Define to 1 if you have usable inotify support. */ #undef HAVE_INOTIFY /* Define to 1 if you have the `inotify_init' function. */ #undef HAVE_INOTIFY_INIT /* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ #undef HAVE_INTMAX_T /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX /* Define to 1 if you have the `ioctl' function. */ #undef HAVE_IOCTL /* Define to 1 if <sys/socket.h> defines AF_INET. */ #undef HAVE_IPV4 /* Define to 1 if <sys/socket.h> defines AF_INET6. */ #undef HAVE_IPV6 /* Define to 1 if you have the `isapipe' function. */ #undef HAVE_ISAPIPE /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII /* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK /* Define if the isnan(double) function is available in libc. */ #undef HAVE_ISNAND_IN_LIBC /* Define if the isnan(float) function is available in libc. */ #undef HAVE_ISNANF_IN_LIBC /* Define if the isnan(long double) function is available in libc. */ #undef HAVE_ISNANL_IN_LIBC /* Define to 1 if you have the `iswblank' function. */ #undef HAVE_ISWBLANK /* Define to 1 if you have the `iswcntrl' function. */ #undef HAVE_ISWCNTRL /* Define to 1 if you have the `iswctype' function. */ #undef HAVE_ISWCTYPE /* Define to 1 if you have the `iswspace' function. */ #undef HAVE_ISWSPACE /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define to 1 if you have the <langinfo.h> header file. */ #undef HAVE_LANGINFO_H /* Define if you have <langinfo.h> and nl_langinfo(YESEXPR). */ #undef HAVE_LANGINFO_YESEXPR /* Define to 1 if you have the `lchmod' function. */ #undef HAVE_LCHMOD /* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN /* Define if your <locale.h> file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define if the ldexpl function is available in libc. */ #undef HAVE_LDEXPL_IN_LIBC /* Define if the ldexp function is available in libc. */ #undef HAVE_LDEXP_IN_LIBC /* Define to 1 if you have the `dgc' library (-ldgc). */ #undef HAVE_LIBDGC /* Define to 1 if you have the <libgen.h> header file. */ #undef HAVE_LIBGEN_H /* Define to 1 if you have the <libintl.h> header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the `kstat' library (-lkstat). */ #undef HAVE_LIBKSTAT /* Define to 1 if you have the `os' library (-los). */ #undef HAVE_LIBOS /* Define to 1 if you have the `perfstat' library (-lperfstat). */ #undef HAVE_LIBPERFSTAT /* Define to 1 if you have the `link' function. */ #undef HAVE_LINK /* Define to 1 if you have the `linkat' function. */ #undef HAVE_LINKAT /* Define to 1 if you have the `listmntent' function. */ #undef HAVE_LISTMNTENT /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define to 1 if you support file names longer than 14 characters. */ #undef HAVE_LONG_FILE_NAMES /* Define to 1 if the system has the type 'long long int'. */ #undef HAVE_LONG_LONG_INT /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if you have the `lutimes' function. */ #undef HAVE_LUTIMES /* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */ #undef HAVE_MACHINE_HAL_SYSINFO_H /* Define to 1 if you have the <mach/mach.h> header file. */ #undef HAVE_MACH_MACH_H /* Define to 1 if your system has a GNU libc compatible 'malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC_GNU /* Define if the 'malloc' function is POSIX compliant. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including config.h and <sys/mman.h>. */ #undef HAVE_MAP_ANONYMOUS /* Define to 1 if you have the `matchpathcon_init_prefix' function. */ #undef HAVE_MATCHPATHCON_INIT_PREFIX /* Define to 1 if you have the <math.h> header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the `mbrlen' function. */ #undef HAVE_MBRLEN /* Define to 1 if you have the `mbrtowc' function. */ #undef HAVE_MBRTOWC /* Define to 1 if you have the `mbsinit' function. */ #undef HAVE_MBSINIT /* Define to 1 if you have the `mbslen' function. */ #undef HAVE_MBSLEN /* Define to 1 if you have the `mbsrtowcs' function. */ #undef HAVE_MBSRTOWCS /* Define to 1 if <wchar.h> declares mbstate_t. */ #undef HAVE_MBSTATE_T /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mempcpy' function. */ #undef HAVE_MEMPCPY /* Define to 1 if you have the `memrchr' function. */ #undef HAVE_MEMRCHR /* Define to 1 if you have the `microuptime' function. */ #undef HAVE_MICROUPTIME /* Define to 1 if getcwd minimally works, that is, its result can be trusted when it succeeds. */ #undef HAVE_MINIMALLY_WORKING_GETCWD /* Define to 1 if you have the `mkfifo' function. */ #undef HAVE_MKFIFO /* Define to 1 if you have the `mknod' function. */ #undef HAVE_MKNOD /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP /* Define to 1 if you have the <mntent.h> header file. */ #undef HAVE_MNTENT_H /* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT /* Define to 1 on MSVC platforms that have the "invalid parameter handler" concept. */ #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME /* Define to 1 if you have the `nanouptime' function. */ #undef HAVE_NANOUPTIME /* Define to 1 if you have the <netdb.h> header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the <netinet/in.h> header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the `newlocale' function. */ #undef HAVE_NEWLOCALE /* Define to 1 if you have the `next_dev' function. */ #undef HAVE_NEXT_DEV /* Define to 1 if you have the <nfs/nfs_client.h> header file. */ #undef HAVE_NFS_NFS_CLIENT_H /* Define to 1 if you have the <nfs/vfs.h> header file. */ #undef HAVE_NFS_VFS_H /* Define to 1 if you have the `nice' function. */ #undef HAVE_NICE /* Define to 1 if you have the <nlist.h> header file. */ #undef HAVE_NLIST_H /* Define to 1 if you have the `nl_langinfo' function. */ #undef HAVE_NL_LANGINFO /* Define to 1 if libc includes obstacks. */ #undef HAVE_OBSTACK /* Define to 1 if you have the `openat' function. */ #undef HAVE_OPENAT /* Define to 1 if you have the `opendir' function. */ #undef HAVE_OPENDIR /* Define to 1 if you have the <OS.h> header file. */ #undef HAVE_OS_H /* Define to 1 if getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */ #undef HAVE_PARTLY_WORKING_GETCWD /* Define to 1 if you have the `pathconf' function. */ #undef HAVE_PATHCONF /* Define to 1 if you have the <paths.h> header file. */ #undef HAVE_PATHS_H /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE /* Define to 1 if you have the `pipe2' function. */ #undef HAVE_PIPE2 /* Define to 1 if you have the `posix_fadvise' function. */ #undef HAVE_POSIX_FADVISE /* Define to 1 if you have the `posix_spawn' function. */ #undef HAVE_POSIX_SPAWN /* Define to 1 if the system has the type `posix_spawnattr_t'. */ #undef HAVE_POSIX_SPAWNATTR_T /* Define to 1 if the system has the type `posix_spawn_file_actions_t'. */ #undef HAVE_POSIX_SPAWN_FILE_ACTIONS_T /* Define to 1 if you have the `prctl' function. */ #undef HAVE_PRCTL /* Define to 1 if you have the <priv.h> header file. */ #undef HAVE_PRIV_H /* Define if your system has the /proc/uptime special file. */ #undef HAVE_PROC_UPTIME /* Define to 1 if you have the `pstat_getdynamic' function. */ #undef HAVE_PSTAT_GETDYNAMIC /* Define to 1 if you have the `pstat_getstatic' function. */ #undef HAVE_PSTAT_GETSTATIC /* Define to 1 if you have the `pthread_atfork' function. */ #undef HAVE_PTHREAD_ATFORK /* Define to 1 if you have the <pthread.h> header file. */ #undef HAVE_PTHREAD_H /* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE /* Define if the POSIX multithreading library has read/write locks. */ #undef HAVE_PTHREAD_RWLOCK /* Define to 1 if the system has the type `pthread_spinlock_t'. */ #undef HAVE_PTHREAD_SPINLOCK_T /* Define to 1 if the system has the type `pthread_t'. */ #undef HAVE_PTHREAD_T /* Define to 1 if you have the <pwd.h> header file. */ #undef HAVE_PWD_H /* Define to 1 if you have the `raise' function. */ #undef HAVE_RAISE /* Define to 1 if you have the `rawmemchr' function. */ #undef HAVE_RAWMEMCHR /* Define to 1 if you have the `readdir' function. */ #undef HAVE_READDIR /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK /* Define to 1 if you have the `readlinkat' function. */ #undef HAVE_READLINKAT /* Define to 1 if your system has a GNU libc compatible 'realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC_GNU /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX /* Define to 1 if you have the `realpath' function. */ #undef HAVE_REALPATH /* Define to 1 if you have the `rewinddir' function. */ #undef HAVE_REWINDDIR /* Define to 1 if you have the `rpmatch' function. */ #undef HAVE_RPMATCH /* Define to 1 if you have run the test for working tzset. */ #undef HAVE_RUN_TZSET_TEST /* Define to 1 if 'long double' and 'double' have the same representation. */ #undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Define to 1 if the system has the type `sa_family_t'. */ #undef HAVE_SA_FAMILY_T /* Define to 1 if you have the `sched_getaffinity' function. */ #undef HAVE_SCHED_GETAFFINITY /* Define to 1 if sched_getaffinity has a glibc compatible declaration. */ #undef HAVE_SCHED_GETAFFINITY_LIKE_GLIBC /* Define to 1 if you have the `sched_getaffinity_np' function. */ #undef HAVE_SCHED_GETAFFINITY_NP /* Define to 1 if you have the <sched.h> header file. */ #undef HAVE_SCHED_H /* Define to 1 if you have the `sched_setparam' function. */ #undef HAVE_SCHED_SETPARAM /* Define to 1 if you have the `sched_setscheduler' function. */ #undef HAVE_SCHED_SETSCHEDULER /* Define to 1 if you have the <search.h> header file. */ #undef HAVE_SEARCH_H /* Define to 1 if you have the <selinux/context.h> header file. */ #undef HAVE_SELINUX_CONTEXT_H /* Define to 1 if you have the <selinux/flask.h> header file. */ #undef HAVE_SELINUX_FLASK_H /* Define to 1 if you have the <selinux/selinux.h> header file. */ #undef HAVE_SELINUX_SELINUX_H /* Define to 1 if you have the `setegid' function. */ #undef HAVE_SETEGID /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `seteuid' function. */ #undef HAVE_SETEUID /* Define to 1 if you have the `setgroups' function. */ #undef HAVE_SETGROUPS /* Define to 1 if you have the `sethostname' function. */ #undef HAVE_SETHOSTNAME /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT /* Define to 1 if you have the `settimeofday' function. */ #undef HAVE_SETTIMEOFDAY /* Define to 1 if you have the `shutdown' function. */ #undef HAVE_SHUTDOWN /* Define to 1 if you have the `sig2str' function. */ #undef HAVE_SIG2STR /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define to 1 if you have the `sigaltstack' function. */ #undef HAVE_SIGALTSTACK /* Define to 1 if the system has the type `siginfo_t'. */ #undef HAVE_SIGINFO_T /* Define to 1 if you have the `siginterrupt' function. */ #undef HAVE_SIGINTERRUPT /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T /* Define to 1 if 'wchar_t' is a signed integer type. */ #undef HAVE_SIGNED_WCHAR_T /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T /* Define to 1 if the system has the type `sigset_t'. */ #undef HAVE_SIGSET_T /* Define to 1 if the system has the type `sig_atomic_t'. */ #undef HAVE_SIG_ATOMIC_T /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define if the return value of the snprintf function is the number of of bytes (excluding the terminating NUL) that would have been produced if the buffer had been large enough. */ #undef HAVE_SNPRINTF_RETVAL_C99 /* Define to 1 if you have the <spawn.h> header file. */ #undef HAVE_SPAWN_H /* Define to 1 if you have the `statacl' function. */ #undef HAVE_STATACL /* Define to 1 if you have the `statvfs' function. */ #undef HAVE_STATVFS /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares uintmax_t. */ #undef HAVE_STDINT_H_WITH_UINTMAX /* Define to 1 if you have the <stdio_ext.h> header file. */ #undef HAVE_STDIO_EXT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stime' function. */ #undef HAVE_STIME /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define if you have the stpncpy() function and it works. */ #undef HAVE_STPNCPY /* Define to 1 if you have the `strchrnul' function. */ #undef HAVE_STRCHRNUL /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the `strerror_r' function. */ #undef HAVE_STRERROR_R /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strndup' function. */ #undef HAVE_STRNDUP /* Define to 1 if you have the `strnlen' function. */ #undef HAVE_STRNLEN /* Define to 1 if you have the <stropts.h> header file. */ #undef HAVE_STROPTS_H /* Define to 1 if you have the `strpbrk' function. */ #undef HAVE_STRPBRK /* Define to 1 if you have the `strsignal' function. */ #undef HAVE_STRSIGNAL /* Define to 1 if you have the `strtod_l' function. */ #undef HAVE_STRTOD_L /* Define to 1 if you have the `strtof' function. */ #undef HAVE_STRTOF /* Define to 1 if you have the `strtoimax' function. */ #undef HAVE_STRTOIMAX /* Define to 1 if you have the `strtold_l' function. */ #undef HAVE_STRTOLD_L /* Define to 1 if you have the `strtoll' function. */ #undef HAVE_STRTOLL /* Define to 1 if you have the `strtoull' function. */ #undef HAVE_STRTOULL /* Define to 1 if you have the `strtoumax' function. */ #undef HAVE_STRTOUMAX /* Define to 1 if the system has the type `struct addrinfo'. */ #undef HAVE_STRUCT_ADDRINFO /* Define if there is a member named d_type in the struct describing directory headers. */ #undef HAVE_STRUCT_DIRENT_D_TYPE /* Define to 1 if `f_fstypename' is a member of `struct fsstat'. */ #undef HAVE_STRUCT_FSSTAT_F_FSTYPENAME /* Define to 1 if `decimal_point' is a member of `struct lconv'. */ #undef HAVE_STRUCT_LCONV_DECIMAL_POINT /* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */ #undef HAVE_STRUCT_NLIST_N_UN_N_NAME /* Define to 1 if `sa_sigaction' is a member of `struct sigaction'. */ #undef HAVE_STRUCT_SIGACTION_SA_SIGACTION /* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ #undef HAVE_STRUCT_SOCKADDR_SA_LEN /* Define to 1 if the system has the type `struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE /* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY /* Define to 1 if `f_frsize' is a member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_FRSIZE /* Define to 1 if `f_fstypename' is a member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_FSTYPENAME /* Define to 1 if `f_namelen' is a member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_NAMELEN /* Define to 1 if `f_type' is a member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_TYPE /* Define to 1 if `f_basetype' is a member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_BASETYPE /* Define to 1 if `f_fstypename' is a member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME /* Define to 1 if `f_namemax' is a member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_NAMEMAX /* Define to 1 if `f_type' is a member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_TYPE /* Define to 1 if `st_atimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMENSEC /* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC /* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC /* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC /* Define to 1 if `st_author' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_AUTHOR /* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC /* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC /* Define to 1 if `st_blocks' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLOCKS /* Define to 1 if `tm_zone' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define if struct utimbuf is declared -- usually in <utime.h>. Some systems have utime.h but don't declare the struct anywhere. */ #undef HAVE_STRUCT_UTIMBUF /* Define to 1 if `ut_exit' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT /* Define to 1 if `ut_exit.e_exit' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT /* Define to 1 if `ut_exit.e_termination' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION /* Define to 1 if `ut_exit.ut_exit' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT /* Define to 1 if `ut_exit.ut_termination' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION /* Define to 1 if `ut_id' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_ID /* Define to 1 if `ut_name' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_NAME /* Define to 1 if `ut_pid' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_PID /* Define to 1 if `ut_type' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_TYPE /* Define to 1 if `ut_user' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_USER /* Define to 1 if `ut_exit' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT /* Define to 1 if `ut_exit.e_exit' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT /* Define to 1 if `ut_exit.e_termination' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION /* Define to 1 if `ut_exit.ut_exit' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT /* Define to 1 if `ut_exit.ut_termination' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION /* Define to 1 if `ut_id' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_ID /* Define to 1 if `ut_name' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_NAME /* Define to 1 if `ut_pid' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_PID /* Define to 1 if `ut_type' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_TYPE /* Define to 1 if `ut_user' is a member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_USER /* Define to 1 if the system has the type `struct utsname'. */ #undef HAVE_STRUCT_UTSNAME /* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */ #undef HAVE_ST_BLOCKS /* Define if struct stat has an st_dm_mode member. */ #undef HAVE_ST_DM_MODE /* Define to 1 if you have the `symlink' function. */ #undef HAVE_SYMLINK /* Define to 1 if you have the `symlinkat' function. */ #undef HAVE_SYMLINKAT /* Define to 1 if you have the `sync' function. */ #undef HAVE_SYNC /* Define to 1 if you have the `sysctl' function. */ #undef HAVE_SYSCTL /* Define to 1 if you have the `sysinfo' function. */ #undef HAVE_SYSINFO /* FIXME */ #undef HAVE_SYSLOG /* Define to 1 if you have the <syslog.h> header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the `sysmp' function. */ #undef HAVE_SYSMP /* Define to 1 if you have the <sys/acl.h> header file. */ #undef HAVE_SYS_ACL_H /* Define to 1 if you have the <sys/bitypes.h> header file. */ #undef HAVE_SYS_BITYPES_H /* Define to 1 if you have the <sys/filsys.h> header file. */ #undef HAVE_SYS_FILSYS_H /* Define to 1 if you have the <sys/fs/s5param.h> header file. */ #undef HAVE_SYS_FS_S5PARAM_H /* Define to 1 if you have the <sys/fs_types.h> header file. */ #undef HAVE_SYS_FS_TYPES_H /* Define to 1 if you have the <sys/inttypes.h> header file. */ #undef HAVE_SYS_INTTYPES_H /* Define to 1 if you have the <sys/ioctl.h> header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the <sys/loadavg.h> header file. */ #undef HAVE_SYS_LOADAVG_H /* Define to 1 if you have the <sys/mman.h> header file. */ #undef HAVE_SYS_MMAN_H /* Define to 1 if you have the <sys/mntent.h> header file. */ #undef HAVE_SYS_MNTENT_H /* Define to 1 if you have the <sys/mount.h> header file. */ #undef HAVE_SYS_MOUNT_H /* Define to 1 if you have the <sys/param.h> header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the <sys/pstat.h> header file. */ #undef HAVE_SYS_PSTAT_H /* Define to 1 if you have the <sys/resource.h> header file. */ #undef HAVE_SYS_RESOURCE_H /* Define to 1 if you have the <sys/select.h> header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the <sys/socket.h> header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the <sys/statfs.h> header file. */ #undef HAVE_SYS_STATFS_H /* Define to 1 if you have the <sys/statvfs.h> header file. */ #undef HAVE_SYS_STATVFS_H /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the <sys/sysctl.h> header file. */ #undef HAVE_SYS_SYSCTL_H /* Define to 1 if you have the <sys/sysinfo.h> header file. */ #undef HAVE_SYS_SYSINFO_H /* Define to 1 if you have the <sys/sysmp.h> header file. */ #undef HAVE_SYS_SYSMP_H /* Define to 1 if you have the <sys/systemcfg.h> header file. */ #undef HAVE_SYS_SYSTEMCFG_H /* Define to 1 if you have the <sys/systeminfo.h> header file. */ #undef HAVE_SYS_SYSTEMINFO_H /* Define to 1 if you have the <sys/table.h> header file. */ #undef HAVE_SYS_TABLE_H /* Define to 1 if you have the <sys/timeb.h> header file. */ #undef HAVE_SYS_TIMEB_H /* Define to 1 if you have the <sys/time.h> header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the <sys/ucred.h> header file. */ #undef HAVE_SYS_UCRED_H /* Define to 1 if you have the <sys/uio.h> header file. */ #undef HAVE_SYS_UIO_H /* Define to 1 if you have the <sys/utsname.h> header file. */ #undef HAVE_SYS_UTSNAME_H /* Define to 1 if you have the <sys/vfs.h> header file. */ #undef HAVE_SYS_VFS_H /* Define to 1 if you have the <sys/wait.h> header file. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the `table' function. */ #undef HAVE_TABLE /* Define to 1 if you have the `tcgetattr' function. */ #undef HAVE_TCGETATTR /* Define to 1 if you have the `tcgetpgrp' function. */ #undef HAVE_TCGETPGRP /* Define to 1 if you have the `tcsetattr' function. */ #undef HAVE_TCSETATTR /* Define to 1 if you have the <termios.h> header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the `timer_settime' function. */ #undef HAVE_TIMER_SETTIME /* Define if struct tm has the tm_gmtoff member. */ #undef HAVE_TM_GMTOFF /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ #undef HAVE_TM_ZONE /* Define to 1 if you have the `towlower' function. */ #undef HAVE_TOWLOWER /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ #undef HAVE_TZNAME /* Define to 1 if you have the `tzset' function. */ #undef HAVE_TZSET /* Define to 1 if you have the `uname' function. */ #undef HAVE_UNAME /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `unlinkat' function. */ #undef HAVE_UNLINKAT /* Define to 1 if you have the `unsetenv' function. */ #undef HAVE_UNSETENV /* Define to 1 if the system has the type 'unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `uselocale' function. */ #undef HAVE_USELOCALE /* Define to 1 if you have the `usleep' function. */ #undef HAVE_USLEEP /* Define to 1 if you have the `utimensat' function. */ #undef HAVE_UTIMENSAT /* Define to 1 if you have the <utime.h> header file. */ #undef HAVE_UTIME_H /* Define to 1 if you have the `utmpname' function. */ #undef HAVE_UTMPNAME /* Define to 1 if you have the `utmpxname' function. */ #undef HAVE_UTMPXNAME /* Define to 1 if you have the <utmpx.h> header file. */ #undef HAVE_UTMPX_H /* Define to 1 if you have the <utmp.h> header file. */ #undef HAVE_UTMP_H /* FIXME */ #undef HAVE_UT_HOST /* Define to 1 if you have the `vasnprintf' function. */ #undef HAVE_VASNPRINTF /* Define to 1 if you have the `vasprintf' function. */ #undef HAVE_VASPRINTF /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the <vfork.h> header file. */ #undef HAVE_VFORK_H /* Define to 1 if you have the `waitid' function. */ #undef HAVE_WAITID /* Define to 1 if you have the <wchar.h> header file. */ #undef HAVE_WCHAR_H /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcrtomb' function. */ #undef HAVE_WCRTOMB /* Define to 1 if you have the `wcscoll' function. */ #undef HAVE_WCSCOLL /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN /* Define to 1 if you have the `wcsnlen' function. */ #undef HAVE_WCSNLEN /* Define to 1 if you have the `wcswidth' function. */ #undef HAVE_WCSWIDTH /* Define to 1 if you have the `wctob' function. */ #undef HAVE_WCTOB /* Define to 1 if you have the <wctype.h> header file. */ #undef HAVE_WCTYPE_H /* Define to 1 if you have the `wcwidth' function. */ #undef HAVE_WCWIDTH /* Define to 1 if you have the <winsock2.h> header file. */ #undef HAVE_WINSOCK2_H /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if you have the `wmemchr' function. */ #undef HAVE_WMEMCHR /* Define to 1 if you have the `wmemcpy' function. */ #undef HAVE_WMEMCPY /* Define to 1 if you have the `wmempcpy' function. */ #undef HAVE_WMEMPCPY /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX 7.1. */ #undef HAVE_WORKING_FSTATAT_ZERO_FLAG /* Define to 1 if O_NOATIME works. */ #undef HAVE_WORKING_O_NOATIME /* Define to 1 if O_NOFOLLOW works. */ #undef HAVE_WORKING_O_NOFOLLOW /* Define if you have the posix_spawn and posix_spawnp functions and they work. */ #undef HAVE_WORKING_POSIX_SPAWN /* Define if utimes works properly. */ #undef HAVE_WORKING_UTIMES /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to 1 if you have the <ws2tcpip.h> header file. */ #undef HAVE_WS2TCPIP_H /* Define to 1 if you have the <xlocale.h> header file. */ #undef HAVE_XLOCALE_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if you have the `_fseeki64' function. */ #undef HAVE__FSEEKI64 /* Define to 1 if you have the `_ftelli64' function. */ #undef HAVE__FTELLI64 /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ #undef HAVE__SET_INVALID_PARAMETER_HANDLER /* Define to 1 if you have the external variable, _system_configuration with a member named physmem. */ #undef HAVE__SYSTEM_CONFIGURATION /* Define to 1 if you have the `__fpending' function. */ #undef HAVE___FPENDING /* Define to 1 if you have the `__fpurge' function. */ #undef HAVE___FPURGE /* Define to 1 if you have the `__freadahead' function. */ #undef HAVE___FREADAHEAD /* Define to 1 if you have the `__freading' function. */ #undef HAVE___FREADING /* Define to 1 if you have the `__freadptr' function. */ #undef HAVE___FREADPTR /* Define to 1 if you have the `__freadptrinc' function. */ #undef HAVE___FREADPTRINC /* Define to 1 if you have the `__fseterr' function. */ #undef HAVE___FSETERR /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* Define to 1 if you have the `__xpg_strerror_r' function. */ #undef HAVE___XPG_STRERROR_R /* Define HOST_NAME_MAX when <limits.h> does not define it. */ #undef HOST_NAME_MAX /* The host operating system. */ #undef HOST_OPERATING_SYSTEM /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define to a symbolic name denoting the flavor of iconv_open() implementation. */ #undef ICONV_FLAVOR /* Define as the bit index in the word where to find bit 0 of the exponent of 'long double'. */ #undef LDBL_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'long double'. */ #undef LDBL_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'long double'. */ #undef LDBL_SIGNBIT_BIT /* Define as the word index where to find the sign of 'long double'. */ #undef LDBL_SIGNBIT_WORD /* Define to 1 if linkat fails to recognize a trailing slash. */ #undef LINKAT_TRAILING_SLASH_BUG /* Define to 1 if 'link(2)' dereferences symbolic links, 0 if it creates hard links to symlinks, -1 if it depends on the variable __xpg4, and -2 if unknown. */ #undef LINK_FOLLOWS_SYMLINKS /* FIXME */ #undef LOCALTIME_CACHE /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN /* Define to 1 if 'lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>. */ #undef MAJOR_IN_MKDEV /* Define to 1 if `major', `minor', and `makedev' are declared in <sysmacros.h>. */ #undef MAJOR_IN_SYSMACROS /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ #undef MALLOC_0_IS_NONNULL /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ #undef MAP_ANONYMOUS /* Define if the mbrtowc function has the NULL pwc argument bug. */ #undef MBRTOWC_NULL_ARG1_BUG /* Define if the mbrtowc function has the NULL string argument bug. */ #undef MBRTOWC_NULL_ARG2_BUG /* Define if the mbrtowc function does not return 0 for a NUL character. */ #undef MBRTOWC_NUL_RETVAL_BUG /* Define if the mbrtowc function returns a wrong return value. */ #undef MBRTOWC_RETVAL_BUG /* Define to 1 if mkfifo does not reject trailing slash */ #undef MKFIFO_TRAILING_SLASH_BUG /* Define to 1 if mknod cannot create a fifo without super-user privileges */ #undef MKNOD_FIFO_BUG /* Define if there is no specific function for reading the list of mounted file systems. fread will be used to read /etc/mnttab. (SVR2) */ #undef MOUNTED_FREAD /* Define if (like SVR2) there is no specific function for reading the list of mounted file systems, and your system has these header files: <sys/fstyp.h> and <sys/statfs.h>. (SVR3) */ #undef MOUNTED_FREAD_FSTYP /* Define if there are functions named next_dev and fs_stat_dev for reading the list of mounted file systems. (BeOS) */ #undef MOUNTED_FS_STAT_DEV /* Define if there is a function named getfsstat for reading the list of mounted file systems. (DEC Alpha running OSF/1) */ #undef MOUNTED_GETFSSTAT /* Define if there is a function named getmnt for reading the list of mounted file systems. (Ultrix) */ #undef MOUNTED_GETMNT /* Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix) */ #undef MOUNTED_GETMNTENT1 /* Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes two arguments. (SVR4) */ #undef MOUNTED_GETMNTENT2 /* Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statfs'. (4.4BSD, Darwin) */ #undef MOUNTED_GETMNTINFO /* Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statvfs'. (NetBSD 3.0) */ #undef MOUNTED_GETMNTINFO2 /* Define if we are on interix, and ought to use statvfs plus some special knowledge on where mounted file systems can be found. (Interix) */ #undef MOUNTED_INTERIX_STATVFS /* Define if there is a function named listmntent that can be used to list all mounted file systems. (UNICOS) */ #undef MOUNTED_LISTMNTENT /* Define if there is a function named mntctl that can be used to read the list of mounted file systems, and there is a system header file that declares 'struct vmount'. (AIX) */ #undef MOUNTED_VMOUNT /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define if the vasnprintf implementation needs special code for the 'a' and 'A' directives. */ #undef NEED_PRINTF_DIRECTIVE_A /* Define if the vasnprintf implementation needs special code for the 'F' directive. */ #undef NEED_PRINTF_DIRECTIVE_F /* Define if the vasnprintf implementation needs special code for the 'ls' directive. */ #undef NEED_PRINTF_DIRECTIVE_LS /* Define if the vasnprintf implementation needs special code for 'double' arguments. */ #undef NEED_PRINTF_DOUBLE /* Define if the vasnprintf implementation needs special code for surviving out-of-memory conditions. */ #undef NEED_PRINTF_ENOMEM /* Define if the vasnprintf implementation needs special code for the ' flag. */ #undef NEED_PRINTF_FLAG_GROUPING /* Define if the vasnprintf implementation needs special code for the '-' flag. */ #undef NEED_PRINTF_FLAG_LEFTADJUST /* Define if the vasnprintf implementation needs special code for the 0 flag. */ #undef NEED_PRINTF_FLAG_ZERO /* Define if the vasnprintf implementation needs special code for infinite 'double' arguments. */ #undef NEED_PRINTF_INFINITE_DOUBLE /* Define if the vasnprintf implementation needs special code for infinite 'long double' arguments. */ #undef NEED_PRINTF_INFINITE_LONG_DOUBLE /* Define if the vasnprintf implementation needs special code for 'long double' arguments. */ #undef NEED_PRINTF_LONG_DOUBLE /* Define if the vasnprintf implementation needs special code for supporting large precisions without arbitrary bounds. */ #undef NEED_PRINTF_UNBOUNDED_PRECISION /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Define to 1 if the nlist n_name member is a pointer */ #undef N_NAME_POINTER /* Define to 1 if open() fails to recognize a trailing slash. */ #undef OPEN_TRAILING_SLASH_BUG /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* String identifying the packager of this software */ #undef PACKAGE_PACKAGER /* Packager info for bug reports (URL/e-mail/...) */ #undef PACKAGE_PACKAGER_BUG_REPORTS /* Packager-specific version information */ #undef PACKAGE_PACKAGER_VERSION /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* the number of pending output bytes on stream 'fp' */ #undef PENDING_OUTPUT_N_BYTES /* Define to the maximum link count that a true pipe can have. */ #undef PIPE_LINK_COUNT_MAX /* Define this if you prefer euidaccess to return the correct result even if this would make it nonreentrant. Define this only if your entire application is safe even if the uid or gid might temporarily change. If your application uses signal handlers or threads it is probably not safe. */ #undef PREFER_NONREENTRANT_EUIDACCESS /* Define if <inttypes.h> exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define to the type that is the result of default argument promotions of type mode_t. */ #undef PROMOTED_MODE_T /* Define if the pthread_in_use() detection is hard. */ #undef PTHREAD_IN_USE_DETECTION_HARD /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX /* Define to 1 if readlink fails to recognize a trailing slash. */ #undef READLINK_TRAILING_SLASH_BUG /* Define if rename does not work when the destination file exists, as on Cygwin 1.5 or Windows. */ #undef RENAME_DEST_EXISTS_BUG /* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or Cygwin 1.5. */ #undef RENAME_HARD_LINK_BUG /* Define if rename does not correctly handle slashes on the destination argument, such as on Solaris 10 or NetBSD 1.6. */ #undef RENAME_TRAILING_SLASH_DEST_BUG /* Define if rename does not correctly handle slashes on the source argument, such as on Solaris 9 or cygwin 1.5. */ #undef RENAME_TRAILING_SLASH_SOURCE_BUG /* Define to 1 if gnulib's fchdir() replacement is used. */ #undef REPLACE_FCHDIR /* Define to 1 if stat needs help when passed a directory name with a trailing slash */ #undef REPLACE_FUNC_STAT_DIR /* Define to 1 if stat needs help when passed a file name with a trailing slash */ #undef REPLACE_FUNC_STAT_FILE /* Define if nl_langinfo exists but is overridden by gnulib. */ #undef REPLACE_NL_LANGINFO /* Define to 1 if open() should work around the inability to open a directory. */ #undef REPLACE_OPEN_DIRECTORY /* Define to 1 if strerror(0) does not return a message implying success. */ #undef REPLACE_STRERROR_0 /* Define if vasnprintf exists but is overridden by gnulib. */ #undef REPLACE_VASNPRINTF /* Define if vfprintf is overridden by a POSIX compliant gnulib implementation. */ #undef REPLACE_VFPRINTF_POSIX /* Define if vprintf is overridden by a POSIX compliant gnulib implementation. */ #undef REPLACE_VPRINTF_POSIX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'sig_atomic_t'. */ #undef SIG_ATOMIC_T_SUFFIX /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #ifndef SIZE_MAX # undef SIZE_MAX #endif /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ #undef SIZE_T_SUFFIX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.) */ #undef STATFS_TRUNCATES_BLOCK_COUNTS /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ #undef STAT_MACROS_BROKEN /* Define if there is no specific function for reading file systems usage information and you have the <sys/filsys.h> header file. (SVR2) */ #undef STAT_READ_FILSYS /* Define if statfs takes 2 args and struct statfs has a field named f_bsize. (4.3BSD, SunOS 4, HP-UX, AIX PS/2) */ #undef STAT_STATFS2_BSIZE /* Define if statfs takes 2 args and struct statfs has a field named f_frsize. (glibc/Linux > 2.6) */ #undef STAT_STATFS2_FRSIZE /* Define if statfs takes 2 args and struct statfs has a field named f_fsize. (4.4BSD, NetBSD) */ #undef STAT_STATFS2_FSIZE /* Define if statfs takes 2 args and the second argument has type struct fs_data. (Ultrix) */ #undef STAT_STATFS2_FS_DATA /* Define if statfs takes 3 args. (DEC Alpha running OSF/1) */ #undef STAT_STATFS3_OSF1 /* Define if statfs takes 4 args. (SVR3, Dynix, old Irix, old AIX, Dolphin) */ #undef STAT_STATFS4 /* Define if there is a function named statvfs. (SVR4) */ #undef STAT_STATVFS /* Define if statvfs64 should be preferred over statvfs. */ #undef STAT_STATVFS64 /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P /* Define to 1 if the f_fsid member of struct statfs is an integer. */ #undef STRUCT_STATFS_F_FSID_IS_INTEGER /* Define to 1 if the f_fsid member of struct statvfs is an integer. */ #undef STRUCT_STATVFS_F_FSID_IS_INTEGER /* Define to 1 on System V Release 4. */ #undef SVR4 /* FIXME */ #undef TERMIOS_NEEDS_XOPEN_SOURCE /* Define to 1 if all 'time_t' values fit in a 'long int'. */ #undef TIME_T_FITS_IN_LONG_INT /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your <sys/time.h> declares `struct tm'. */ #undef TM_IN_SYS_TIME /* group used by system for TTYs */ #undef TTY_GROUP_NAME /* Define to 1 if the type of the st_atim member of a struct stat is struct timespec. */ #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC /* Define if tzset clobbers localtime's static buffer. */ #undef TZSET_CLOBBERS_LOCALTIME /* Define to 1 for Encore UMAX. */ #undef UMAX /* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of <sys/cpustats.h>. */ #undef UMAX4_3 /* Define to 1 if unlink (dir) cannot possibly succeed. */ #undef UNLINK_CANNOT_UNLINK_DIR /* Define to 1 if unlink() on a parent directory may succeed */ #undef UNLINK_PARENT_BUG /* Define to nonzero if you want access control list support. */ #undef USE_ACL /* Define if the POSIX multithreading library can be used. */ #undef USE_POSIX_THREADS /* Define if references to the POSIX multithreading library should be made weak. */ #undef USE_POSIX_THREADS_WEAK /* Define if the GNU Pth multithreading library can be used. */ #undef USE_PTH_THREADS /* Define if references to the GNU Pth multithreading library should be made weak. */ #undef USE_PTH_THREADS_WEAK /* Define if the old Solaris multithreading library can be used. */ #undef USE_SOLARIS_THREADS /* Define if references to the old Solaris multithreading library should be made weak. */ #undef USE_SOLARIS_THREADS_WEAK /* Define to 1 if you want getc etc. to use unlocked I/O if available. Unlocked I/O can improve performance in unithreaded apps, but it is not safe for multithreaded apps. */ #undef USE_UNLOCKED_IO /* Define if the native Windows multithreading API can be used. */ #undef USE_WINDOWS_THREADS /* Define if you want extended attribute support. */ #undef USE_XATTR /* Version number of package */ #undef VERSION /* Define to 1 if unsetenv returns void instead of int. */ #undef VOID_UNSETENV /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wchar_t'. */ #undef WCHAR_T_SUFFIX /* Define if WSAStartup is needed. */ #undef WINDOWS_SOCKETS /* Define if sys/ptem.h is required for struct winsize. */ #undef WINSIZE_IN_PTEM /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wint_t'. */ #undef WINT_T_SUFFIX /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Enable large inode numbers on Mac OS X 10.5. */ #undef _DARWIN_USE_64_BIT_INODE /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct stat.st_size becomes 64-bit. */ #undef _GL_WINDOWS_64_BIT_ST_SIZE /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define to 1 on Solaris. */ #undef _LCONV_C99 /* Define to 1 if on MINIX. */ #undef _MINIX /* The _Noreturn keyword of C11. */ #if ! (defined _Noreturn \ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn # endif #endif /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 in order to get the POSIX compatible declarations of socket functions. */ #undef _POSIX_PII_SOCKET /* Define to 1 if you need to in order for 'stat' and other things to work. */ #undef _POSIX_SOURCE /* Define if you want <regex.h> to include <limits.h>, so that it consistently overrides <limits.h>'s RE_DUP_MAX. */ #undef _REGEX_INCLUDE_LIMITS_H /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS /* Define to 500 only on HP-UX. */ #undef _XOPEN_SOURCE /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable general extensions on Mac OS X. */ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX /* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. _GL_INLINE_HEADER_BEGIN contains useful stuff to put in an include file, before uses of _GL_INLINE. It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, when FOO is an inline function in the header; see <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>. _GL_INLINE_HEADER_END contains useful stuff to put in the same include file, after uses of _GL_INLINE. Suppress the use of extern inline on Apple's platforms, as Libc-825.25 (2012-09-19) is incompatible with it; see <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>. Perhaps Apple will fix this some day. */ #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ : 199901L <= __STDC_VERSION__) \ && !defined __APPLE__) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline #elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ # if __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) # else # define _GL_INLINE extern inline # endif # define _GL_EXTERN_INLINE extern #else # define _GL_INLINE static _GL_UNUSED # define _GL_EXTERN_INLINE static _GL_UNUSED #endif #if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ # define _GL_INLINE_HEADER_CONST_PRAGMA # else # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ _GL_INLINE_HEADER_CONST_PRAGMA # define _GL_INLINE_HEADER_END \ _Pragma ("GCC diagnostic pop") #else # define _GL_INLINE_HEADER_BEGIN # define _GL_INLINE_HEADER_END #endif /* Always use our fgetfilecon wrapper. */ #undef fgetfilecon /* Define to a replacement function name for fnmatch(). */ #undef fnmatch /* Always use our getfilecon wrapper. */ #undef getfilecon /* Define to a replacement function name for getpass(). */ #undef getpass /* Define to `int' if <sys/types.h> doesn't define. */ #undef gid_t /* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b)) /* Define to rpl_gmtime if the replacement function should be used. */ #undef gmtime /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to `unsigned long int' if <sys/types.h> does not define. */ #undef ino_t /* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */ #undef intmax_t /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for Mac OS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif /* Always use our lgetfilecon wrapper. */ #undef lgetfilecon /* Define to 1 if the compiler is checking for lint. */ #undef lint /* Define to rpl_localtime if the replacement function should be used. */ #undef localtime /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef major_t /* Define to a type if <wchar.h> does not define. */ #undef mbstate_t /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef minor_t /* Define to `int' if <sys/types.h> does not define. */ #undef mode_t /* Define to the name of the strftime replacement function. */ #undef my_strftime /* Define to the type of st_nlink in struct stat, or a supertype. */ #undef nlink_t /* Define to `long int' if <sys/types.h> does not define. */ #undef off_t /* Define to `int' if <sys/types.h> does not define. */ #undef pid_t /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ #undef ptrdiff_t /* Define to rpl_re_comp if the replacement should be used. */ #undef re_comp /* Define to rpl_re_compile_fastmap if the replacement should be used. */ #undef re_compile_fastmap /* Define to rpl_re_compile_pattern if the replacement should be used. */ #undef re_compile_pattern /* Define to rpl_re_exec if the replacement should be used. */ #undef re_exec /* Define to rpl_re_match if the replacement should be used. */ #undef re_match /* Define to rpl_re_match_2 if the replacement should be used. */ #undef re_match_2 /* Define to rpl_re_search if the replacement should be used. */ #undef re_search /* Define to rpl_re_search_2 if the replacement should be used. */ #undef re_search_2 /* Define to rpl_re_set_registers if the replacement should be used. */ #undef re_set_registers /* Define to rpl_re_set_syntax if the replacement should be used. */ #undef re_set_syntax /* Define to rpl_re_syntax_options if the replacement should be used. */ #undef re_syntax_options /* Define to rpl_regcomp if the replacement should be used. */ #undef regcomp /* Define to rpl_regerror if the replacement should be used. */ #undef regerror /* Define to rpl_regexec if the replacement should be used. */ #undef regexec /* Define to rpl_regfree if the replacement should be used. */ #undef regfree /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict or __restrict__, even though the corresponding Sun C compiler ends up with "#define restrict _Restrict" or "#define restrict __restrict__" in the previous line. Perhaps some future version of Sun C++ will work with restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict # define __restrict__ #endif /* Define as an integer type suitable for memory locations that can be accessed atomically even in the presence of asynchronous signals. */ #undef sig_atomic_t /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t /* type to use in place of socklen_t if not defined */ #undef socklen_t /* Define as a signed type of the same size as size_t. */ #undef ssize_t /* Define to rpl_tzset if the wrapper function should be used. */ #undef tzset /* Define to `int' if <sys/types.h> doesn't define. */ #undef uid_t /* Define as a marker that can be attached to declarations that might not be used. This helps to reduce warnings, such as from GCC -Wunused-parameter. */ #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_UNUSED __attribute__ ((__unused__)) #else # define _GL_UNUSED #endif /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED /* The __pure__ attribute was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* The __const__ attribute was added in gcc 2.95. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) #else # define _GL_ATTRIBUTE_CONST /* empty */ #endif /* Define to an unsigned 32-bit type if <sys/types.h> lacks this type. */ #undef useconds_t /* Define as a macro for copying va_list variables. */ #undef va_copy /* Define as `fork' if `vfork' does not work. */ #undef vfork /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/setenv.c�������������������������������������������������������������������������0000664�0000000�0000000�00000025025�12071024546�012571� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if !_LIBC # define _GL_USE_STDLIB_ALLOC 1 # include <config.h> #endif /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ #define _GL_ARG_NONNULL(params) #include <alloca.h> /* Specification. */ #include <stdlib.h> #include <errno.h> #ifndef __set_errno # define __set_errno(ev) ((errno) = (ev)) #endif #include <string.h> #if _LIBC || HAVE_UNISTD_H # include <unistd.h> #endif #if !_LIBC # include "malloca.h" #endif #if _LIBC || !HAVE_SETENV #if !_LIBC # define __environ environ #endif #if _LIBC /* This lock protects against simultaneous modifications of 'environ'. */ # include <bits/libc-lock.h> __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif /* In the GNU C library we must keep the namespace clean. */ #ifdef _LIBC # define setenv __setenv # define clearenv __clearenv # define tfind __tfind # define tsearch __tsearch #endif /* In the GNU C library implementation we try to be more clever and allow arbitrarily many changes of the environment given that the used values are from a small set. Outside glibc this will eat up all memory after a while. */ #if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ && defined __GNUC__) # define USE_TSEARCH 1 # include <search.h> typedef int (*compar_fn_t) (const void *, const void *); /* This is a pointer to the root of the search tree with the known values. */ static void *known_values; # define KNOWN_VALUE(Str) \ ({ \ void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \ value != NULL ? *(char **) value : NULL; \ }) # define STORE_VALUE(Str) \ tsearch (Str, &known_values, (compar_fn_t) strcmp) #else # undef USE_TSEARCH # define KNOWN_VALUE(Str) NULL # define STORE_VALUE(Str) do { } while (0) #endif /* If this variable is not a null pointer we allocated the current environment. */ static char **last_environ; /* This function is used by 'setenv' and 'putenv'. The difference between the two functions is that for the former must create a new string which is then placed in the environment, while the argument of 'putenv' must be used directly. This is all complicated by the fact that we try to reuse values once generated for a 'setenv' call since we can never free the strings. */ int __add_to_environ (const char *name, const char *value, const char *combined, int replace) { char **ep; size_t size; const size_t namelen = strlen (name); const size_t vallen = value != NULL ? strlen (value) + 1 : 0; LOCK; /* We have to get the pointer now that we have the lock and not earlier since another thread might have created a new environment. */ ep = __environ; size = 0; if (ep != NULL) { for (; *ep != NULL; ++ep) if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=') break; else ++size; } if (ep == NULL || *ep == NULL) { char **new_environ; #ifdef USE_TSEARCH char *new_value; #endif /* We allocated this space; we can extend it. */ new_environ = (char **) (last_environ == NULL ? malloc ((size + 2) * sizeof (char *)) : realloc (last_environ, (size + 2) * sizeof (char *))); if (new_environ == NULL) { /* It's easier to set errno to ENOMEM than to rely on the 'malloc-posix' and 'realloc-posix' gnulib modules. */ __set_errno (ENOMEM); UNLOCK; return -1; } /* If the whole entry is given add it. */ if (combined != NULL) /* We must not add the string to the search tree since it belongs to the user. */ new_environ[size] = (char *) combined; else { /* See whether the value is already known. */ #ifdef USE_TSEARCH # ifdef _LIBC new_value = (char *) alloca (namelen + 1 + vallen); __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), value, vallen); # else new_value = (char *) malloca (namelen + 1 + vallen); if (new_value == NULL) { __set_errno (ENOMEM); UNLOCK; return -1; } memcpy (new_value, name, namelen); new_value[namelen] = '='; memcpy (&new_value[namelen + 1], value, vallen); # endif new_environ[size] = KNOWN_VALUE (new_value); if (new_environ[size] == NULL) #endif { new_environ[size] = (char *) malloc (namelen + 1 + vallen); if (new_environ[size] == NULL) { #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif __set_errno (ENOMEM); UNLOCK; return -1; } #ifdef USE_TSEARCH memcpy (new_environ[size], new_value, namelen + 1 + vallen); #else memcpy (new_environ[size], name, namelen); new_environ[size][namelen] = '='; memcpy (&new_environ[size][namelen + 1], value, vallen); #endif /* And save the value now. We cannot do this when we remove the string since then we cannot decide whether it is a user string or not. */ STORE_VALUE (new_environ[size]); } #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif } if (__environ != last_environ) memcpy ((char *) new_environ, (char *) __environ, size * sizeof (char *)); new_environ[size + 1] = NULL; last_environ = __environ = new_environ; } else if (replace) { char *np; /* Use the user string if given. */ if (combined != NULL) np = (char *) combined; else { #ifdef USE_TSEARCH char *new_value; # ifdef _LIBC new_value = alloca (namelen + 1 + vallen); __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), value, vallen); # else new_value = malloca (namelen + 1 + vallen); if (new_value == NULL) { __set_errno (ENOMEM); UNLOCK; return -1; } memcpy (new_value, name, namelen); new_value[namelen] = '='; memcpy (&new_value[namelen + 1], value, vallen); # endif np = KNOWN_VALUE (new_value); if (np == NULL) #endif { np = (char *) malloc (namelen + 1 + vallen); if (np == NULL) { #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif __set_errno (ENOMEM); UNLOCK; return -1; } #ifdef USE_TSEARCH memcpy (np, new_value, namelen + 1 + vallen); #else memcpy (np, name, namelen); np[namelen] = '='; memcpy (&np[namelen + 1], value, vallen); #endif /* And remember the value. */ STORE_VALUE (np); } #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif } *ep = np; } UNLOCK; return 0; } int setenv (const char *name, const char *value, int replace) { if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) { __set_errno (EINVAL); return -1; } return __add_to_environ (name, value, NULL, replace); } /* The 'clearenv' was planned to be added to POSIX.1 but probably never made it. Nevertheless the POSIX.9 standard (POSIX bindings for Fortran 77) requires this function. */ int clearenv (void) { LOCK; if (__environ == last_environ && __environ != NULL) { /* We allocated this environment so we can free it. */ free (__environ); last_environ = NULL; } /* Clear the environment pointer removes the whole environment. */ __environ = NULL; UNLOCK; return 0; } #ifdef _LIBC static void free_mem (void) { /* Remove all traces. */ clearenv (); /* Now remove the search tree. */ __tdestroy (known_values, free); known_values = NULL; } text_set_element (__libc_subfreeres, free_mem); # undef setenv # undef clearenv weak_alias (__setenv, setenv) weak_alias (__clearenv, clearenv) #endif #endif /* _LIBC || !HAVE_SETENV */ /* The rest of this file is called into use when replacing an existing but buggy setenv. Known bugs include failure to diagnose invalid name, and consuming a leading '=' from value. */ #if HAVE_SETENV # undef setenv # if !HAVE_DECL_SETENV extern int setenv (const char *, const char *, int); # endif # define STREQ(a, b) (strcmp (a, b) == 0) int rpl_setenv (const char *name, const char *value, int replace) { int result; if (!name || !*name || strchr (name, '=')) { errno = EINVAL; return -1; } /* Call the real setenv even if replace is 0, in case implementation has underlying data to update, such as when environ changes. */ result = setenv (name, value, replace); if (result == 0 && replace && *value == '=') { char *tmp = getenv (name); if (!STREQ (tmp, value)) { int saved_errno; size_t len = strlen (value); tmp = malloca (len + 2); /* Since leading '=' is eaten, double it up. */ *tmp = '='; memcpy (tmp + 1, value, len + 1); result = setenv (name, tmp, replace); saved_errno = errno; freea (tmp); errno = saved_errno; } } return result; } #endif /* HAVE_SETENV */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/base64.c�������������������������������������������������������������������������0000664�0000000�0000000�00000045500�12071561006�012346� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* base64.c -- Encode binary data using printable characters. Copyright (C) 1999-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Simon Josefsson. Partially adapted from GNU MailUtils * (mailbox/filter_trans.c, as of 2004-11-28). Improved by review * from Paul Eggert, Bruno Haible, and Stepan Kasal. * * See also RFC 4648 <http://www.ietf.org/rfc/rfc4648.txt>. * * Be careful with error checking. Here is how you would typically * use these functions: * * bool ok = base64_decode_alloc (in, inlen, &out, &outlen); * if (!ok) * FAIL: input was not valid base64 * if (out == NULL) * FAIL: memory allocation error * OK: data in OUT/OUTLEN * * size_t outlen = base64_encode_alloc (in, inlen, &out); * if (out == NULL && outlen == 0 && inlen != 0) * FAIL: input too long * if (out == NULL) * FAIL: memory allocation error * OK: data in OUT/OUTLEN. * */ #include <config.h> /* Get prototype. */ #include "base64.h" /* Get malloc. */ #include <stdlib.h> /* Get UCHAR_MAX. */ #include <limits.h> #include <string.h> /* C89 compliant way to cast 'char' to 'unsigned char'. */ static unsigned char to_uchar (char ch) { return ch; } /* Base64 encode IN array of size INLEN into OUT array of size OUTLEN. If OUTLEN is less than BASE64_LENGTH(INLEN), write as many bytes as possible. If OUTLEN is larger than BASE64_LENGTH(INLEN), also zero terminate the output buffer. */ void base64_encode (const char *restrict in, size_t inlen, char *restrict out, size_t outlen) { static const char b64str[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; while (inlen && outlen) { *out++ = b64str[(to_uchar (in[0]) >> 2) & 0x3f]; if (!--outlen) break; *out++ = b64str[((to_uchar (in[0]) << 4) + (--inlen ? to_uchar (in[1]) >> 4 : 0)) & 0x3f]; if (!--outlen) break; *out++ = (inlen ? b64str[((to_uchar (in[1]) << 2) + (--inlen ? to_uchar (in[2]) >> 6 : 0)) & 0x3f] : '='); if (!--outlen) break; *out++ = inlen ? b64str[to_uchar (in[2]) & 0x3f] : '='; if (!--outlen) break; if (inlen) inlen--; if (inlen) in += 3; } if (outlen) *out = '\0'; } /* Allocate a buffer and store zero terminated base64 encoded data from array IN of size INLEN, returning BASE64_LENGTH(INLEN), i.e., the length of the encoded data, excluding the terminating zero. On return, the OUT variable will hold a pointer to newly allocated memory that must be deallocated by the caller. If output string length would overflow, 0 is returned and OUT is set to NULL. If memory allocation failed, OUT is set to NULL, and the return value indicates length of the requested memory block, i.e., BASE64_LENGTH(inlen) + 1. */ size_t base64_encode_alloc (const char *in, size_t inlen, char **out) { size_t outlen = 1 + BASE64_LENGTH (inlen); /* Check for overflow in outlen computation. * * If there is no overflow, outlen >= inlen. * * If the operation (inlen + 2) overflows then it yields at most +1, so * outlen is 0. * * If the multiplication overflows, we lose at least half of the * correct value, so the result is < ((inlen + 2) / 3) * 2, which is * less than (inlen + 2) * 0.66667, which is less than inlen as soon as * (inlen > 4). */ if (inlen > outlen) { *out = NULL; return 0; } *out = malloc (outlen); if (!*out) return outlen; base64_encode (in, inlen, *out, outlen); return outlen - 1; } /* With this approach this file works independent of the charset used (think EBCDIC). However, it does assume that the characters in the Base64 alphabet (A-Za-z0-9+/) are encoded in 0..255. POSIX 1003.1-2001 require that char and unsigned char are 8-bit quantities, though, taking care of that problem. But this may be a potential problem on non-POSIX C99 platforms. IBM C V6 for AIX mishandles "#define B64(x) ...'x'...", so use "_" as the formal parameter rather than "x". */ #define B64(_) \ ((_) == 'A' ? 0 \ : (_) == 'B' ? 1 \ : (_) == 'C' ? 2 \ : (_) == 'D' ? 3 \ : (_) == 'E' ? 4 \ : (_) == 'F' ? 5 \ : (_) == 'G' ? 6 \ : (_) == 'H' ? 7 \ : (_) == 'I' ? 8 \ : (_) == 'J' ? 9 \ : (_) == 'K' ? 10 \ : (_) == 'L' ? 11 \ : (_) == 'M' ? 12 \ : (_) == 'N' ? 13 \ : (_) == 'O' ? 14 \ : (_) == 'P' ? 15 \ : (_) == 'Q' ? 16 \ : (_) == 'R' ? 17 \ : (_) == 'S' ? 18 \ : (_) == 'T' ? 19 \ : (_) == 'U' ? 20 \ : (_) == 'V' ? 21 \ : (_) == 'W' ? 22 \ : (_) == 'X' ? 23 \ : (_) == 'Y' ? 24 \ : (_) == 'Z' ? 25 \ : (_) == 'a' ? 26 \ : (_) == 'b' ? 27 \ : (_) == 'c' ? 28 \ : (_) == 'd' ? 29 \ : (_) == 'e' ? 30 \ : (_) == 'f' ? 31 \ : (_) == 'g' ? 32 \ : (_) == 'h' ? 33 \ : (_) == 'i' ? 34 \ : (_) == 'j' ? 35 \ : (_) == 'k' ? 36 \ : (_) == 'l' ? 37 \ : (_) == 'm' ? 38 \ : (_) == 'n' ? 39 \ : (_) == 'o' ? 40 \ : (_) == 'p' ? 41 \ : (_) == 'q' ? 42 \ : (_) == 'r' ? 43 \ : (_) == 's' ? 44 \ : (_) == 't' ? 45 \ : (_) == 'u' ? 46 \ : (_) == 'v' ? 47 \ : (_) == 'w' ? 48 \ : (_) == 'x' ? 49 \ : (_) == 'y' ? 50 \ : (_) == 'z' ? 51 \ : (_) == '0' ? 52 \ : (_) == '1' ? 53 \ : (_) == '2' ? 54 \ : (_) == '3' ? 55 \ : (_) == '4' ? 56 \ : (_) == '5' ? 57 \ : (_) == '6' ? 58 \ : (_) == '7' ? 59 \ : (_) == '8' ? 60 \ : (_) == '9' ? 61 \ : (_) == '+' ? 62 \ : (_) == '/' ? 63 \ : -1) static const signed char b64[0x100] = { B64 (0), B64 (1), B64 (2), B64 (3), B64 (4), B64 (5), B64 (6), B64 (7), B64 (8), B64 (9), B64 (10), B64 (11), B64 (12), B64 (13), B64 (14), B64 (15), B64 (16), B64 (17), B64 (18), B64 (19), B64 (20), B64 (21), B64 (22), B64 (23), B64 (24), B64 (25), B64 (26), B64 (27), B64 (28), B64 (29), B64 (30), B64 (31), B64 (32), B64 (33), B64 (34), B64 (35), B64 (36), B64 (37), B64 (38), B64 (39), B64 (40), B64 (41), B64 (42), B64 (43), B64 (44), B64 (45), B64 (46), B64 (47), B64 (48), B64 (49), B64 (50), B64 (51), B64 (52), B64 (53), B64 (54), B64 (55), B64 (56), B64 (57), B64 (58), B64 (59), B64 (60), B64 (61), B64 (62), B64 (63), B64 (64), B64 (65), B64 (66), B64 (67), B64 (68), B64 (69), B64 (70), B64 (71), B64 (72), B64 (73), B64 (74), B64 (75), B64 (76), B64 (77), B64 (78), B64 (79), B64 (80), B64 (81), B64 (82), B64 (83), B64 (84), B64 (85), B64 (86), B64 (87), B64 (88), B64 (89), B64 (90), B64 (91), B64 (92), B64 (93), B64 (94), B64 (95), B64 (96), B64 (97), B64 (98), B64 (99), B64 (100), B64 (101), B64 (102), B64 (103), B64 (104), B64 (105), B64 (106), B64 (107), B64 (108), B64 (109), B64 (110), B64 (111), B64 (112), B64 (113), B64 (114), B64 (115), B64 (116), B64 (117), B64 (118), B64 (119), B64 (120), B64 (121), B64 (122), B64 (123), B64 (124), B64 (125), B64 (126), B64 (127), B64 (128), B64 (129), B64 (130), B64 (131), B64 (132), B64 (133), B64 (134), B64 (135), B64 (136), B64 (137), B64 (138), B64 (139), B64 (140), B64 (141), B64 (142), B64 (143), B64 (144), B64 (145), B64 (146), B64 (147), B64 (148), B64 (149), B64 (150), B64 (151), B64 (152), B64 (153), B64 (154), B64 (155), B64 (156), B64 (157), B64 (158), B64 (159), B64 (160), B64 (161), B64 (162), B64 (163), B64 (164), B64 (165), B64 (166), B64 (167), B64 (168), B64 (169), B64 (170), B64 (171), B64 (172), B64 (173), B64 (174), B64 (175), B64 (176), B64 (177), B64 (178), B64 (179), B64 (180), B64 (181), B64 (182), B64 (183), B64 (184), B64 (185), B64 (186), B64 (187), B64 (188), B64 (189), B64 (190), B64 (191), B64 (192), B64 (193), B64 (194), B64 (195), B64 (196), B64 (197), B64 (198), B64 (199), B64 (200), B64 (201), B64 (202), B64 (203), B64 (204), B64 (205), B64 (206), B64 (207), B64 (208), B64 (209), B64 (210), B64 (211), B64 (212), B64 (213), B64 (214), B64 (215), B64 (216), B64 (217), B64 (218), B64 (219), B64 (220), B64 (221), B64 (222), B64 (223), B64 (224), B64 (225), B64 (226), B64 (227), B64 (228), B64 (229), B64 (230), B64 (231), B64 (232), B64 (233), B64 (234), B64 (235), B64 (236), B64 (237), B64 (238), B64 (239), B64 (240), B64 (241), B64 (242), B64 (243), B64 (244), B64 (245), B64 (246), B64 (247), B64 (248), B64 (249), B64 (250), B64 (251), B64 (252), B64 (253), B64 (254), B64 (255) }; #if UCHAR_MAX == 255 # define uchar_in_range(c) true #else # define uchar_in_range(c) ((c) <= 255) #endif /* Return true if CH is a character from the Base64 alphabet, and false otherwise. Note that '=' is padding and not considered to be part of the alphabet. */ bool isbase64 (char ch) { return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)]; } /* Initialize decode-context buffer, CTX. */ void base64_decode_ctx_init (struct base64_decode_context *ctx) { ctx->i = 0; } /* If CTX->i is 0 or 4, there are four or more bytes in [*IN..IN_END), and none of those four is a newline, then return *IN. Otherwise, copy up to 4 - CTX->i non-newline bytes from that range into CTX->buf, starting at index CTX->i and setting CTX->i to reflect the number of bytes copied, and return CTX->buf. In either case, advance *IN to point to the byte after the last one processed, and set *N_NON_NEWLINE to the number of verified non-newline bytes accessible through the returned pointer. */ static char * get_4 (struct base64_decode_context *ctx, char const *restrict *in, char const *restrict in_end, size_t *n_non_newline) { if (ctx->i == 4) ctx->i = 0; if (ctx->i == 0) { char const *t = *in; if (4 <= in_end - *in && memchr (t, '\n', 4) == NULL) { /* This is the common case: no newline. */ *in += 4; *n_non_newline = 4; return (char *) t; } } { /* Copy non-newline bytes into BUF. */ char const *p = *in; while (p < in_end) { char c = *p++; if (c != '\n') { ctx->buf[ctx->i++] = c; if (ctx->i == 4) break; } } *in = p; *n_non_newline = ctx->i; return ctx->buf; } } #define return_false \ do \ { \ *outp = out; \ return false; \ } \ while (false) /* Decode up to four bytes of base64-encoded data, IN, of length INLEN into the output buffer, *OUT, of size *OUTLEN bytes. Return true if decoding is successful, false otherwise. If *OUTLEN is too small, as many bytes as possible are written to *OUT. On return, advance *OUT to point to the byte after the last one written, and decrement *OUTLEN to reflect the number of bytes remaining in *OUT. */ static bool decode_4 (char const *restrict in, size_t inlen, char *restrict *outp, size_t *outleft) { char *out = *outp; if (inlen < 2) return false; if (!isbase64 (in[0]) || !isbase64 (in[1])) return false; if (*outleft) { *out++ = ((b64[to_uchar (in[0])] << 2) | (b64[to_uchar (in[1])] >> 4)); --*outleft; } if (inlen == 2) return_false; if (in[2] == '=') { if (inlen != 4) return_false; if (in[3] != '=') return_false; } else { if (!isbase64 (in[2])) return_false; if (*outleft) { *out++ = (((b64[to_uchar (in[1])] << 4) & 0xf0) | (b64[to_uchar (in[2])] >> 2)); --*outleft; } if (inlen == 3) return_false; if (in[3] == '=') { if (inlen != 4) return_false; } else { if (!isbase64 (in[3])) return_false; if (*outleft) { *out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0) | b64[to_uchar (in[3])]); --*outleft; } } } *outp = out; return true; } /* Decode base64-encoded input array IN of length INLEN to output array OUT that can hold *OUTLEN bytes. The input data may be interspersed with newlines. Return true if decoding was successful, i.e. if the input was valid base64 data, false otherwise. If *OUTLEN is too small, as many bytes as possible will be written to OUT. On return, *OUTLEN holds the length of decoded bytes in OUT. Note that as soon as any non-alphabet, non-newline character is encountered, decoding is stopped and false is returned. If INLEN is zero, then process only whatever data is stored in CTX. Initially, CTX must have been initialized via base64_decode_ctx_init. Subsequent calls to this function must reuse whatever state is recorded in that buffer. It is necessary for when a quadruple of base64 input bytes spans two input buffers. If CTX is NULL then newlines are treated as garbage and the input buffer is processed as a unit. */ bool base64_decode_ctx (struct base64_decode_context *ctx, const char *restrict in, size_t inlen, char *restrict out, size_t *outlen) { size_t outleft = *outlen; bool ignore_newlines = ctx != NULL; bool flush_ctx = false; unsigned int ctx_i = 0; if (ignore_newlines) { ctx_i = ctx->i; flush_ctx = inlen == 0; } while (true) { size_t outleft_save = outleft; if (ctx_i == 0 && !flush_ctx) { while (true) { /* Save a copy of outleft, in case we need to re-parse this block of four bytes. */ outleft_save = outleft; if (!decode_4 (in, inlen, &out, &outleft)) break; in += 4; inlen -= 4; } } if (inlen == 0 && !flush_ctx) break; /* Handle the common case of 72-byte wrapped lines. This also handles any other multiple-of-4-byte wrapping. */ if (inlen && *in == '\n' && ignore_newlines) { ++in; --inlen; continue; } /* Restore OUT and OUTLEFT. */ out -= outleft_save - outleft; outleft = outleft_save; { char const *in_end = in + inlen; char const *non_nl; if (ignore_newlines) non_nl = get_4 (ctx, &in, in_end, &inlen); else non_nl = in; /* Might have nl in this case. */ /* If the input is empty or consists solely of newlines (0 non-newlines), then we're done. Likewise if there are fewer than 4 bytes when not flushing context and not treating newlines as garbage. */ if (inlen == 0 || (inlen < 4 && !flush_ctx && ignore_newlines)) { inlen = 0; break; } if (!decode_4 (non_nl, inlen, &out, &outleft)) break; inlen = in_end - in; } } *outlen -= outleft; return inlen == 0; } /* Allocate an output buffer in *OUT, and decode the base64 encoded data stored in IN of size INLEN to the *OUT buffer. On return, the size of the decoded data is stored in *OUTLEN. OUTLEN may be NULL, if the caller is not interested in the decoded length. *OUT may be NULL to indicate an out of memory error, in which case *OUTLEN contains the size of the memory block needed. The function returns true on successful decoding and memory allocation errors. (Use the *OUT and *OUTLEN parameters to differentiate between successful decoding and memory error.) The function returns false if the input was invalid, in which case *OUT is NULL and *OUTLEN is undefined. */ bool base64_decode_alloc_ctx (struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen) { /* This may allocate a few bytes too many, depending on input, but it's not worth the extra CPU time to compute the exact size. The exact size is 3 * (inlen + (ctx ? ctx->i : 0)) / 4, minus 1 if the input ends with "=" and minus another 1 if the input ends with "==". Dividing before multiplying avoids the possibility of overflow. */ size_t needlen = 3 * (inlen / 4) + 3; *out = malloc (needlen); if (!*out) return true; if (!base64_decode_ctx (ctx, in, inlen, *out, &needlen)) { free (*out); *out = NULL; return false; } if (outlen) *outlen = needlen; return true; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wctype-h.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000233�12071024546�013017� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Normally this would be wctype.c, but that name's already taken. */ #include <config.h> #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE #include "wctype.h" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xfts.h���������������������������������������������������������������������������0000664�0000000�0000000�00000000345�12050450171�012246� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdbool.h> #include "fts_.h" FTS * xfts_open (char * const *, int options, int (*) (const FTSENT **, const FTSENT **)); bool cycle_warning_required (FTS const *fts, FTSENT const *ent) _GL_ATTRIBUTE_PURE; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/openat.h�������������������������������������������������������������������������0000664�0000000�0000000�00000005643�12100637437�012566� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide a replacement openat function Copyright (C) 2004-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #ifndef _GL_HEADER_OPENAT #define _GL_HEADER_OPENAT #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <stdbool.h> _GL_INLINE_HEADER_BEGIN #if !HAVE_OPENAT int openat_permissive (int fd, char const *file, int flags, mode_t mode, int *cwd_errno); bool openat_needs_fchdir (void); #else # define openat_permissive(Fd, File, Flags, Mode, Cwd_errno) \ openat (Fd, File, Flags, Mode) # define openat_needs_fchdir() false #endif _Noreturn void openat_restore_fail (int); _Noreturn void openat_save_fail (int); /* Using these function names makes application code slightly more readable than it would be with fchownat (..., 0) or fchownat (..., AT_SYMLINK_NOFOLLOW). */ #if GNULIB_FCHOWNAT # ifndef FCHOWNAT_INLINE # define FCHOWNAT_INLINE _GL_INLINE # endif FCHOWNAT_INLINE int chownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, 0); } FCHOWNAT_INLINE int lchownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, AT_SYMLINK_NOFOLLOW); } #endif #if GNULIB_FCHMODAT # ifndef FCHMODAT_INLINE # define FCHMODAT_INLINE _GL_INLINE # endif FCHMODAT_INLINE int chmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, 0); } FCHMODAT_INLINE int lchmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, AT_SYMLINK_NOFOLLOW); } #endif #if GNULIB_STATAT # ifndef STATAT_INLINE # define STATAT_INLINE _GL_INLINE # endif STATAT_INLINE int statat (int fd, char const *name, struct stat *st) { return fstatat (fd, name, st, 0); } STATAT_INLINE int lstatat (int fd, char const *name, struct stat *st) { return fstatat (fd, name, st, AT_SYMLINK_NOFOLLOW); } #endif /* For now, there are no wrappers named laccessat or leuidaccessat, since gnulib doesn't support faccessat(,AT_SYMLINK_NOFOLLOW) and since access rights on symlinks are of limited utility. Likewise, wrappers are not provided for accessat or euidaccessat, so as to avoid dragging in -lgen on some platforms. */ _GL_INLINE_HEADER_END #endif /* _GL_HEADER_OPENAT */ ���������������������������������������������������������������������������������������������coreutils-8.21/lib/openat.c�������������������������������������������������������������������������0000664�0000000�0000000�00000020725�12071024546�012555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide a replacement openat function Copyright (C) 2004-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ /* If the user's config.h happens to include <fcntl.h>, let it include only the system's <fcntl.h> here, so that orig_openat doesn't recurse to rpl_openat. */ #define __need_system_fcntl_h #include <config.h> /* Get the original definition of open. It might be defined as a macro. */ #include <fcntl.h> #include <sys/types.h> #undef __need_system_fcntl_h #if HAVE_OPENAT static int orig_openat (int fd, char const *filename, int flags, mode_t mode) { return openat (fd, filename, flags, mode); } #endif /* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <fcntl.h> above. */ #include "fcntl.h" #include "openat.h" #include <stdarg.h> #include <stdbool.h> #include <stddef.h> #include <string.h> #include <sys/stat.h> #include <errno.h> #if HAVE_OPENAT /* Like openat, but work around Solaris 9 bugs with trailing slash. */ int rpl_openat (int dfd, char const *filename, int flags, ...) { mode_t mode; int fd; mode = 0; if (flags & O_CREAT) { va_list arg; va_start (arg, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (arg, PROMOTED_MODE_T); va_end (arg); } # if OPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and one of O_CREAT, O_WRONLY, O_RDWR is specified, then fail. Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html> says that "A pathname that contains at least one non-slash character and that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname." and "The special filename dot shall refer to the directory specified by its predecessor." If the named file already exists as a directory, then - if O_CREAT is specified, open() must fail because of the semantics of O_CREAT, - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX <http://www.opengroup.org/susv3/functions/open.html> says that it fails with errno = EISDIR in this case. If the named file does not exist or does not name a directory, then - if O_CREAT is specified, open() must fail since open() cannot create directories, - if O_WRONLY or O_RDWR is specified, open() must fail because the file does not contain a '.' directory. */ if (flags & (O_CREAT | O_WRONLY | O_RDWR)) { size_t len = strlen (filename); if (len > 0 && filename[len - 1] == '/') { errno = EISDIR; return -1; } } # endif fd = orig_openat (dfd, filename, flags, mode); # if OPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and fd does not refer to a directory, then fail. Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html> says that "A pathname that contains at least one non-slash character and that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname." and "The special filename dot shall refer to the directory specified by its predecessor." If the named file without the slash is not a directory, open() must fail with ENOTDIR. */ if (fd >= 0) { /* We know len is positive, since open did not fail with ENOENT. */ size_t len = strlen (filename); if (filename[len - 1] == '/') { struct stat statbuf; if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) { close (fd); errno = ENOTDIR; return -1; } } } # endif return fd; } #else /* !HAVE_OPENAT */ # include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ # include "openat-priv.h" # include "save-cwd.h" /* Replacement for Solaris' openat function. <http://www.google.com/search?q=openat+site:docs.sun.com> First, try to simulate it via open ("/proc/self/fd/FD/FILE"). Failing that, simulate it by doing save_cwd/fchdir/open/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, upon failure, set errno and return -1, as openat does. Upon successful completion, return a file descriptor. */ int openat (int fd, char const *file, int flags, ...) { mode_t mode = 0; if (flags & O_CREAT) { va_list arg; va_start (arg, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (arg, PROMOTED_MODE_T); va_end (arg); } return openat_permissive (fd, file, flags, mode, NULL); } /* Like openat (FD, FILE, FLAGS, MODE), but if CWD_ERRNO is nonnull, set *CWD_ERRNO to an errno value if unable to save or restore the initial working directory. This is needed only the first time remove.c's remove_dir opens a command-line directory argument. If a previous attempt to restore the current working directory failed, then we must not even try to access a '.'-relative name. It is the caller's responsibility not to call this function in that case. */ int openat_permissive (int fd, char const *file, int flags, mode_t mode, int *cwd_errno) { struct saved_cwd saved_cwd; int saved_errno; int err; bool save_ok; if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) return open (file, flags, mode); { char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, file); if (proc_file) { int open_result = open (proc_file, flags, mode); int open_errno = errno; if (proc_file != buf) free (proc_file); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (0 <= open_result || ! EXPECTED_ERRNO (open_errno)) { errno = open_errno; return open_result; } } } save_ok = (save_cwd (&saved_cwd) == 0); if (! save_ok) { if (! cwd_errno) openat_save_fail (errno); *cwd_errno = errno; } if (0 <= fd && fd == saved_cwd.desc) { /* If saving the working directory collides with the user's requested fd, then the user's fd must have been closed to begin with. */ free_cwd (&saved_cwd); errno = EBADF; return -1; } err = fchdir (fd); saved_errno = errno; if (! err) { err = open (file, flags, mode); saved_errno = errno; if (save_ok && restore_cwd (&saved_cwd) != 0) { if (! cwd_errno) { /* Don't write a message to just-created fd 2. */ saved_errno = errno; if (err == STDERR_FILENO) close (err); openat_restore_fail (saved_errno); } *cwd_errno = errno; } } free_cwd (&saved_cwd); errno = saved_errno; return err; } /* Return true if our openat implementation must resort to using save_cwd and restore_cwd. */ bool openat_needs_fchdir (void) { bool needs_fchdir = true; int fd = open ("/", O_SEARCH); if (0 <= fd) { char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, "."); if (proc_file) { needs_fchdir = false; if (proc_file != buf) free (proc_file); } close (fd); } return needs_fchdir; } #endif /* !HAVE_OPENAT */ �������������������������������������������coreutils-8.21/lib/time_r.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002273�12071561014�012540� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Reentrant time functions like localtime_r. Copyright (C) 2003, 2006-2007, 2010-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include <time.h> static struct tm * copy_tm_result (struct tm *dest, struct tm const *src) { if (! src) return 0; *dest = *src; return dest; } struct tm * gmtime_r (time_t const * restrict t, struct tm * restrict tp) { return copy_tm_result (tp, gmtime (t)); } struct tm * localtime_r (time_t const * restrict t, struct tm * restrict tp) { return copy_tm_result (tp, localtime (t)); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrndup.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002245�12071024546�013153� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "xstrndup.h" #include <string.h> #include "xalloc.h" /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ char * xstrndup (const char *string, size_t n) { char *s = strndup (string, n); if (! s) xalloc_die (); return s; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnlen1.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002307�12071024546�013036� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Find the length of STRING + 1, but scan at most MAXLEN bytes. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _STRNLEN1_H #define _STRNLEN1_H #include <stddef.h> #ifdef __cplusplus extern "C" { #endif /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ extern size_t strnlen1 (const char *string, size_t maxlen) _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } #endif #endif /* _STRNLEN1_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sigaction.c����������������������������������������������������������������������0000664�0000000�0000000�00000016143�12071024546�013246� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* POSIX compatible signal blocking. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Eric Blake <ebb9@byu.net>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <signal.h> #include <errno.h> #include <stdint.h> #include <stdlib.h> /* This implementation of sigaction is tailored to native Windows behavior: signal() has SysV semantics (ie. the handler is uninstalled before it is invoked). This is an inherent data race if an asynchronous signal is sent twice in a row before we can reinstall our handler, but there's nothing we can do about it. Meanwhile, sigprocmask() is not present, and while we can use the gnulib replacement to provide critical sections, it too suffers from potential data races in the face of an ill-timed asynchronous signal. And we compound the situation by reading static storage in a signal handler, which POSIX warns is not generically async-signal-safe. Oh well. Additionally: - We don't implement SA_NOCLDSTOP or SA_NOCLDWAIT, because SIGCHLD is not defined. - We don't implement SA_ONSTACK, because sigaltstack() is not present. - We ignore SA_RESTART, because blocking native Windows API calls are not interrupted anyway when an asynchronous signal occurs, and the MSVCRT runtime never sets errno to EINTR. - We don't implement SA_SIGINFO because it is impossible to do so portably. POSIX states that an application should not mix signal() and sigaction(). We support the use of signal() within the gnulib sigprocmask() substitute, but all other application code linked with this module should stick with only sigaction(). */ /* Check some of our assumptions. */ #if defined SIGCHLD || defined HAVE_SIGALTSTACK || defined HAVE_SIGINTERRUPT # error "Revisit the assumptions made in the sigaction module" #endif /* Out-of-range substitutes make a good fallback for uncatchable signals. */ #ifndef SIGKILL # define SIGKILL (-1) #endif #ifndef SIGSTOP # define SIGSTOP (-1) #endif /* On native Windows, as of 2008, the signal SIGABRT_COMPAT is an alias for the signal SIGABRT. Only one signal handler is stored for both SIGABRT and SIGABRT_COMPAT. SIGABRT_COMPAT is not a signal of its own. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # undef SIGABRT_COMPAT # define SIGABRT_COMPAT 6 #endif /* A signal handler. */ typedef void (*handler_t) (int signal); /* Set of current actions. If sa_handler for an entry is NULL, then that signal is not currently handled by the sigaction handler. */ static struct sigaction volatile action_array[NSIG] /* = 0 */; /* Signal handler that is installed for signals. */ static void sigaction_handler (int sig) { handler_t handler; sigset_t mask; sigset_t oldmask; int saved_errno = errno; if (sig < 0 || NSIG <= sig || !action_array[sig].sa_handler) { /* Unexpected situation; be careful to avoid recursive abort. */ if (sig == SIGABRT) signal (SIGABRT, SIG_DFL); abort (); } /* Reinstall the signal handler when required; otherwise update the bookkeeping so that the user's handler may call sigaction and get accurate results. We know the signal isn't currently blocked, or we wouldn't be in its handler, therefore we know that we are not interrupting a sigaction() call. There is a race where any asynchronous instance of the same signal occurring before we reinstall the handler will trigger the default handler; oh well. */ handler = action_array[sig].sa_handler; if ((action_array[sig].sa_flags & SA_RESETHAND) == 0) signal (sig, sigaction_handler); else action_array[sig].sa_handler = NULL; /* Block appropriate signals. */ mask = action_array[sig].sa_mask; if ((action_array[sig].sa_flags & SA_NODEFER) == 0) sigaddset (&mask, sig); sigprocmask (SIG_BLOCK, &mask, &oldmask); /* Invoke the user's handler, then restore prior mask. */ errno = saved_errno; handler (sig); saved_errno = errno; sigprocmask (SIG_SETMASK, &oldmask, NULL); errno = saved_errno; } /* Change and/or query the action that will be taken on delivery of signal SIG. If not NULL, ACT describes the new behavior. If not NULL, OACT is set to the prior behavior. Return 0 on success, or set errno and return -1 on failure. */ int sigaction (int sig, const struct sigaction *restrict act, struct sigaction *restrict oact) { sigset_t mask; sigset_t oldmask; int saved_errno; if (sig < 0 || NSIG <= sig || sig == SIGKILL || sig == SIGSTOP || (act && act->sa_handler == SIG_ERR)) { errno = EINVAL; return -1; } #ifdef SIGABRT_COMPAT if (sig == SIGABRT_COMPAT) sig = SIGABRT; #endif /* POSIX requires sigaction() to be async-signal-safe. In other words, if an asynchronous signal can occur while we are anywhere inside this function, the user's handler could then call sigaction() recursively and expect consistent results. We meet this rule by using sigprocmask to block all signals before modifying any data structure that could be read from a signal handler; this works since we know that the gnulib sigprocmask replacement does not try to use sigaction() from its handler. */ if (!act && !oact) return 0; sigfillset (&mask); sigprocmask (SIG_BLOCK, &mask, &oldmask); if (oact) { if (action_array[sig].sa_handler) *oact = action_array[sig]; else { /* Safe to change the handler at will here, since all signals are currently blocked. */ oact->sa_handler = signal (sig, SIG_DFL); if (oact->sa_handler == SIG_ERR) goto failure; signal (sig, oact->sa_handler); oact->sa_flags = SA_RESETHAND | SA_NODEFER; sigemptyset (&oact->sa_mask); } } if (act) { /* Safe to install the handler before updating action_array, since all signals are currently blocked. */ if (act->sa_handler == SIG_DFL || act->sa_handler == SIG_IGN) { if (signal (sig, act->sa_handler) == SIG_ERR) goto failure; action_array[sig].sa_handler = NULL; } else { if (signal (sig, sigaction_handler) == SIG_ERR) goto failure; action_array[sig] = *act; } } sigprocmask (SIG_SETMASK, &oldmask, NULL); return 0; failure: saved_errno = errno; sigprocmask (SIG_SETMASK, &oldmask, NULL); errno = saved_errno; return -1; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/msvc-nothrow.c�������������������������������������������������������������������0000664�0000000�0000000�00000002434�12071561011�013723� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "msvc-nothrow.h" /* Get declarations of the native Windows API functions. */ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include "msvc-inval.h" #undef _get_osfhandle #if HAVE_MSVC_INVALID_PARAMETER_HANDLER intptr_t _gl_nothrow_get_osfhandle (int fd) { intptr_t result; TRY_MSVC_INVAL { result = _get_osfhandle (fd); } CATCH_MSVC_INVAL { result = (intptr_t) INVALID_HANDLE_VALUE; } DONE_MSVC_INVAL; return result; } #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/alloca.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000003724�12071561006�013131� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Memory allocation on the stack. Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ #ifndef _GL_ALLOCA_H #define _GL_ALLOCA_H /* alloca (N) returns a pointer to N bytes of memory allocated on the stack, which will last until the function returns. Use of alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns, - for huge N (say, N >= 65536) - you never know how large (or small) the stack is, and when the stack cannot fulfill the memory allocation request, the program just crashes. */ #ifndef alloca # ifdef __GNUC__ # define alloca __builtin_alloca # elif defined _AIX # define alloca __alloca # elif defined _MSC_VER # include <malloc.h> # define alloca _alloca # elif defined __DECC && defined __VMS # define alloca __ALLOCA # elif defined __TANDEM && defined _TNS_E_TARGET # ifdef __cplusplus extern "C" # endif void *_alloca (unsigned short); # pragma intrinsic (_alloca) # define alloca _alloca # else # include <stddef.h> # ifdef __cplusplus extern "C" # endif void *alloca (size_t); # endif #endif #endif /* _GL_ALLOCA_H */ ��������������������������������������������coreutils-8.21/lib/pthread.in.h���������������������������������������������������������������������0000664�0000000�0000000�00000014762�12100641465�013332� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Implement a trivial subset of POSIX 1003.1-2008 pthread.h. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Glen Lenker. */ #ifndef _@GUARD_PREFIX@_PTHREAD_H_ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_PTHREAD_H@ # @INCLUDE_NEXT@ @NEXT_PTHREAD_H@ #endif #ifndef _@GUARD_PREFIX@_PTHREAD_H_ #define _@GUARD_PREFIX@_PTHREAD_H_ #define __need_system_stdlib_h #include <stdlib.h> #undef __need_system_stdlib_h #include <errno.h> #include <sched.h> #include <sys/types.h> #include <time.h> _GL_INLINE_HEADER_BEGIN #ifndef _GL_PTHREAD_INLINE # define _GL_PTHREAD_INLINE _GL_INLINE #endif #if ! @HAVE_PTHREAD_T@ # if !GNULIB_defined_pthread_types typedef int pthread_t; typedef int pthread_attr_t; typedef int pthread_barrier_t; typedef int pthread_barrierattr_t; typedef int pthread_cond_t; typedef int pthread_condattr_t; typedef int pthread_key_t; typedef int pthread_mutex_t; typedef int pthread_mutexattr_t; typedef int pthread_once_t; typedef int pthread_rwlock_t; typedef int pthread_rwlockattr_t; # define GNULIB_defined_pthread_types 1 # endif #endif #ifndef PTHREAD_COND_INITIALIZER #define PTHREAD_COND_INITIALIZER { 0 } #define PTHREAD_MUTEX_INITIALIZER { 0 } #define PTHREAD_ONCE_INIT { 0 } #define PTHREAD_RWLOCK_INITIALIZER { 0 } #define PTHREAD_BARRIER_SERIAL_THREAD (-1) #define PTHREAD_CANCEL_DEFERRED 0 #define PTHREAD_CANCEL_ASYNCHRONOUS 1 #define PTHREAD_CANCEL_ENABLE 0 #define PTHREAD_CANCEL_DISABLE 1 #define PTHREAD_CANCELED ((void *) -1) #define PTHREAD_CREATE_JOINABLE 0 #define PTHREAD_CREATE_DETACHED 1 #define PTHREAD_INHERIT_SCHED 0 #define PTHREAD_EXPLICIT_SCHED 1 #define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL #define PTHREAD_MUTEX_NORMAL 0 #define PTHREAD_MUTEX_ERRORCHECK 1 #define PTHREAD_MUTEX_RECURSIVE 2 #define PTHREAD_MUTEX_STALLED 0 #define PTHREAD_MUTEX_ROBUST 1 #define PTHREAD_PRIO_NONE 0 #define PTHREAD_PRIO_INHERIT 1 #define PTHREAD_PRIO_PROTECT 2 #define PTHREAD_PROCESS_PRIVATE 0 #define PTHREAD_PROCESS_SHARED 1 #define PTHREAD_SCOPE_SYSTEM 0 #define PTHREAD_SCOPE_PROCESS 1 #endif #if ! @HAVE_PTHREAD_T@ # if !GNULIB_defined_pthread_functions /* Provide substitutes for the thread functions that should work adequately on a single-threaded implementation, where pthread_create always fails. The goal is to let programs compile on non-pthread hosts with minimal runtime overhead. Omit interfaces that have not been analyzed and for which we do not know what to do, so that they elicit a compile-time error for now. */ _GL_PTHREAD_INLINE int pthread_cond_destroy (pthread_cond_t *cond) { /* COND is never seriously used. */ return 0; } _GL_PTHREAD_INLINE int pthread_cond_init (pthread_cond_t *restrict cond, pthread_condattr_t const *restrict attr) { /* COND is never seriously used. */ return 0; } _GL_PTHREAD_INLINE int pthread_cond_signal (pthread_cond_t *cond) { /* No threads can currently be blocked on COND. */ return 0; } _GL_PTHREAD_INLINE int pthread_cond_wait (pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex) { /* Properly-written applications never come here. */ abort (); return 0; } _GL_PTHREAD_INLINE int pthread_create (pthread_t *restrict thread, pthread_attr_t const *restrict attr, void * (*start_routine) (void*), void *restrict arg) { /* Do not create a thread. */ return EAGAIN; } _GL_PTHREAD_INLINE void pthread_exit (void *value) { /* There is just one thread, so the process exits. */ exit (0); } _GL_PTHREAD_INLINE int pthread_join (pthread_t thread, void **pvalue) { /* Properly-written applications never come here. */ abort (); return 0; } _GL_PTHREAD_INLINE int pthread_mutexattr_destroy (pthread_mutexattr_t *attr) { return 0; } _GL_PTHREAD_INLINE int pthread_mutexattr_init (pthread_mutexattr_t *attr) { return 0; } _GL_PTHREAD_INLINE int pthread_mutexattr_settype (pthread_mutexattr_t *attr, int attr_type) { return 0; } _GL_PTHREAD_INLINE int pthread_mutex_destroy (pthread_mutex_t *mutex) { /* MUTEX is never seriously used. */ return 0; } _GL_PTHREAD_INLINE int pthread_mutex_init (pthread_mutex_t *restrict mutex, pthread_mutexattr_t const *restrict attr) { /* MUTEX is never seriously used. */ return 0; } _GL_PTHREAD_INLINE int pthread_mutex_lock (pthread_mutex_t *mutex) { /* There is only one thread, so it always gets the lock. This implementation does not support PTHREAD_MUTEX_ERRORCHECK. */ return 0; } _GL_PTHREAD_INLINE int pthread_mutex_trylock (pthread_mutex_t *mutex) { return pthread_mutex_lock (mutex); } _GL_PTHREAD_INLINE int pthread_mutex_unlock (pthread_mutex_t *mutex) { /* There is only one thread, so it always unlocks successfully. This implementation does not support robust mutexes or PTHREAD_MUTEX_ERRORCHECK. */ return 0; } # define GNULIB_defined_pthread_functions 1 # endif #endif #if ! @HAVE_PTHREAD_SPINLOCK_T@ # if !GNULIB_defined_pthread_spinlock_t /* Approximate spinlocks with mutexes. */ typedef pthread_mutex_t pthread_spinlock_t; _GL_PTHREAD_INLINE int pthread_spin_init (pthread_spinlock_t *lock, int pshared) { return pthread_mutex_init (lock, NULL); } _GL_PTHREAD_INLINE int pthread_spin_destroy (pthread_spinlock_t *lock) { return pthread_mutex_destroy (lock); } _GL_PTHREAD_INLINE int pthread_spin_lock (pthread_spinlock_t *lock) { return pthread_mutex_lock (lock); } _GL_PTHREAD_INLINE int pthread_spin_trylock (pthread_spinlock_t *lock) { return pthread_mutex_trylock (lock); } _GL_PTHREAD_INLINE int pthread_spin_unlock (pthread_spinlock_t *lock) { return pthread_mutex_unlock (lock); } # define GNULIB_defined_pthread_spinlock_t 1 # endif #endif _GL_INLINE_HEADER_END #endif /* _@GUARD_PREFIX@_PTHREAD_H_ */ #endif /* _@GUARD_PREFIX@_PTHREAD_H_ */ ��������������coreutils-8.21/lib/progname.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003737�12071024546�013110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Program name management. Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _PROGNAME_H #define _PROGNAME_H /* Programs using this file should do the following in main(): set_program_name (argv[0]); */ #ifdef __cplusplus extern "C" { #endif /* String containing name the program is called with. */ extern const char *program_name; /* Set program_name, based on argv[0]. argv0 must be a string allocated with indefinite extent, and must not be modified after this call. */ extern void set_program_name (const char *argv0); #if ENABLE_RELOCATABLE /* Set program_name, based on argv[0], and original installation prefix and directory, for relocatability. */ extern void set_program_name_and_installdir (const char *argv0, const char *orig_installprefix, const char *orig_installdir); #undef set_program_name #define set_program_name(ARG0) \ set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR) /* Return the full pathname of the current executable, based on the earlier call to set_program_name_and_installdir. Return NULL if unknown. */ extern char *get_full_program_name (void); #endif #ifdef __cplusplus } #endif #endif /* _PROGNAME_H */ ���������������������������������coreutils-8.21/lib/at-func2.c�����������������������������������������������������������������������0000664�0000000�0000000�00000021437�12071024545�012706� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Define 2-FD at-style functions like linkat or renameat. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Eric Blake */ #include <config.h> #include "openat-priv.h" #include <errno.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "filenamecat.h" #include "openat.h" #include "same-inode.h" #include "save-cwd.h" /* Call FUNC to operate on a pair of files, where FILE1 is relative to FD1, and FILE2 is relative to FD2. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, FUNC, restore_cwd (up to two times). If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ int at_func2 (int fd1, char const *file1, int fd2, char const *file2, int (*func) (char const *file1, char const *file2)) { struct saved_cwd saved_cwd; int saved_errno; int err; char *file1_alt; char *file2_alt; struct stat st1; struct stat st2; /* There are 16 possible scenarios, based on whether an fd is AT_FDCWD or real, and whether a file is absolute or relative: fd1 file1 fd2 file2 action 0 cwd abs cwd abs direct call 1 cwd abs cwd rel direct call 2 cwd abs fd abs direct call 3 cwd abs fd rel chdir to fd2 4 cwd rel cwd abs direct call 5 cwd rel cwd rel direct call 6 cwd rel fd abs direct call 7 cwd rel fd rel convert file1 to abs, then case 3 8 fd abs cwd abs direct call 9 fd abs cwd rel direct call 10 fd abs fd abs direct call 11 fd abs fd rel chdir to fd2 12 fd rel cwd abs chdir to fd1 13 fd rel cwd rel convert file2 to abs, then case 12 14 fd rel fd abs chdir to fd1 15a fd1 rel fd1 rel chdir to fd1 15b fd1 rel fd2 rel chdir to fd1, then case 7 Try some optimizations to reduce fd to AT_FDCWD, or to at least avoid converting an absolute name or doing a double chdir. */ if ((fd1 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file1)) && (fd2 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file2))) return func (file1, file2); /* Case 0-2, 4-6, 8-10. */ /* If /proc/self/fd works, we don't need any stat or chdir. */ { char proc_buf1[OPENAT_BUFFER_SIZE]; char *proc_file1 = ((fd1 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file1)) ? (char *) file1 : openat_proc_name (proc_buf1, fd1, file1)); if (proc_file1) { char proc_buf2[OPENAT_BUFFER_SIZE]; char *proc_file2 = ((fd2 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file2)) ? (char *) file2 : openat_proc_name (proc_buf2, fd2, file2)); if (proc_file2) { int proc_result = func (proc_file1, proc_file2); int proc_errno = errno; if (proc_file1 != proc_buf1 && proc_file1 != file1) free (proc_file1); if (proc_file2 != proc_buf2 && proc_file2 != file2) free (proc_file2); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (0 <= proc_result) return proc_result; if (! EXPECTED_ERRNO (proc_errno)) { errno = proc_errno; return proc_result; } } else if (proc_file1 != proc_buf1 && proc_file1 != file1) free (proc_file1); } } /* Cases 3, 7, 11-15 remain. Time to normalize directory fds, if possible. */ if (IS_ABSOLUTE_FILE_NAME (file1)) fd1 = AT_FDCWD; /* Case 11 reduced to 3. */ else if (IS_ABSOLUTE_FILE_NAME (file2)) fd2 = AT_FDCWD; /* Case 14 reduced to 12. */ /* Cases 3, 7, 12, 13, 15 remain. */ if (fd1 == AT_FDCWD) /* Cases 3, 7. */ { if (stat (".", &st1) == -1 || fstat (fd2, &st2) == -1) return -1; if (!S_ISDIR (st2.st_mode)) { errno = ENOTDIR; return -1; } if (SAME_INODE (st1, st2)) /* Reduced to cases 1, 5. */ return func (file1, file2); } else if (fd2 == AT_FDCWD) /* Cases 12, 13. */ { if (stat (".", &st2) == -1 || fstat (fd1, &st1) == -1) return -1; if (!S_ISDIR (st1.st_mode)) { errno = ENOTDIR; return -1; } if (SAME_INODE (st1, st2)) /* Reduced to cases 4, 5. */ return func (file1, file2); } else if (fd1 != fd2) /* Case 15b. */ { if (fstat (fd1, &st1) == -1 || fstat (fd2, &st2) == -1) return -1; if (!S_ISDIR (st1.st_mode) || !S_ISDIR (st2.st_mode)) { errno = ENOTDIR; return -1; } if (SAME_INODE (st1, st2)) /* Reduced to case 15a. */ { fd2 = fd1; if (stat (".", &st1) == 0 && SAME_INODE (st1, st2)) return func (file1, file2); /* Further reduced to case 5. */ } } else /* Case 15a. */ { if (fstat (fd1, &st1) == -1) return -1; if (!S_ISDIR (st1.st_mode)) { errno = ENOTDIR; return -1; } if (stat (".", &st2) == 0 && SAME_INODE (st1, st2)) return func (file1, file2); /* Reduced to case 5. */ } /* Cases 3, 7, 12, 13, 15a, 15b remain. With all reductions in place, it is time to start changing directories. */ if (save_cwd (&saved_cwd) != 0) openat_save_fail (errno); if (fd1 != AT_FDCWD && fd2 != AT_FDCWD && fd1 != fd2) /* Case 15b. */ { if (fchdir (fd1) != 0) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return -1; } fd1 = AT_FDCWD; /* Reduced to case 7. */ } /* Cases 3, 7, 12, 13, 15a remain. Convert one relative name to absolute, if necessary. */ file1_alt = (char *) file1; file2_alt = (char *) file2; if (fd1 == AT_FDCWD && !IS_ABSOLUTE_FILE_NAME (file1)) /* Case 7. */ { /* It would be nicer to use: file1_alt = file_name_concat (xgetcwd (), file1, NULL); but libraries should not call xalloc_die. */ char *cwd = getcwd (NULL, 0); if (!cwd) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return -1; } file1_alt = mfile_name_concat (cwd, file1, NULL); if (!file1_alt) { saved_errno = errno; free (cwd); free_cwd (&saved_cwd); errno = saved_errno; return -1; } free (cwd); /* Reduced to case 3. */ } else if (fd2 == AT_FDCWD && !IS_ABSOLUTE_FILE_NAME (file2)) /* Case 13. */ { char *cwd = getcwd (NULL, 0); if (!cwd) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return -1; } file2_alt = mfile_name_concat (cwd, file2, NULL); if (!file2_alt) { saved_errno = errno; free (cwd); free_cwd (&saved_cwd); errno = saved_errno; return -1; } free (cwd); /* Reduced to case 12. */ } /* Cases 3, 12, 15a remain. Change to the correct directory. */ if (fchdir (fd1 == AT_FDCWD ? fd2 : fd1) != 0) { saved_errno = errno; free_cwd (&saved_cwd); if (file1 != file1_alt) free (file1_alt); else if (file2 != file2_alt) free (file2_alt); errno = saved_errno; return -1; } /* Finally safe to perform the user's function, then clean up. */ err = func (file1_alt, file2_alt); saved_errno = (err < 0 ? errno : 0); if (file1 != file1_alt) free (file1_alt); else if (file2 != file2_alt) free (file2_alt); if (restore_cwd (&saved_cwd) != 0) openat_restore_fail (errno); free_cwd (&saved_cwd); if (saved_errno) errno = saved_errno; return err; } #undef CALL_FUNC #undef FUNC_RESULT ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-strcasecmp.c�������������������������������������������������������������������0000664�0000000�0000000�00000003044�12071561006�013643� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* c-strcasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "c-strcase.h" #include <limits.h> #include "c-ctype.h" int c_strcasecmp (const char *s1, const char *s2) { register const unsigned char *p1 = (const unsigned char *) s1; register const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; if (p1 == p2) return 0; do { c1 = c_tolower (*p1); c2 = c_tolower (*p2); if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/se-selinux.in.h������������������������������������������������������������������0000664�0000000�0000000�00000007576�12071024546�014006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Replacement <selinux/selinux.h> for platforms that lack it. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SELINUX_SELINUX_H # define _@GUARD_PREFIX@_SELINUX_SELINUX_H # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ # endif @PRAGMA_COLUMNS@ # if HAVE_SELINUX_SELINUX_H #@INCLUDE_NEXT@ @NEXT_SELINUX_SELINUX_H@ # else # include <sys/types.h> # include <errno.h> _GL_INLINE_HEADER_BEGIN # ifndef SE_SELINUX_INLINE # define SE_SELINUX_INLINE _GL_INLINE # endif /* The definition of _GL_UNUSED_PARAMETER is copied here. */ # if !GNULIB_defined_security_types typedef unsigned short security_class_t; # define security_context_t char* # define is_selinux_enabled() 0 SE_SELINUX_INLINE int getcon (security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE void freecon (security_context_t con _GL_UNUSED_PARAMETER) {} SE_SELINUX_INLINE int getfscreatecon (security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int setfscreatecon (security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int matchpathcon (char const *file _GL_UNUSED_PARAMETER, mode_t m _GL_UNUSED_PARAMETER, security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int getfilecon (char const *file _GL_UNUSED_PARAMETER, security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int lgetfilecon (char const *file _GL_UNUSED_PARAMETER, security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int fgetfilecon (int fd, security_context_t *con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int setfilecon (char const *file _GL_UNUSED_PARAMETER, security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int lsetfilecon (char const *file _GL_UNUSED_PARAMETER, security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int fsetfilecon (int fd _GL_UNUSED_PARAMETER, security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int security_check_context (security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int security_check_context_raw (security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int setexeccon (security_context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER, security_context_t tcon _GL_UNUSED_PARAMETER, security_class_t tclass _GL_UNUSED_PARAMETER, security_context_t *newcon _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_SELINUX_INLINE int matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER, char const *prefix _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } # define GNULIB_defined_security_types 1 # endif _GL_INLINE_HEADER_BEGIN # endif #endif /* _@GUARD_PREFIX@_SELINUX_SELINUX_H */ ����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/termios.in.h���������������������������������������������������������������������0000664�0000000�0000000�00000004365�12071561014�013361� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for and wrapper around <termios.h>. Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_TERMIOS_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* On HP-UX 11.00, some of the function declarations in <sys/termio.h>, included by <termios.h>, are not protected by extern "C". Enforce "C" linkage for these functions nevertheless. */ #if defined __hpux && defined __cplusplus # include <sys/types.h> # include <sys/ioctl.h> extern "C" { # include <sys/termio.h> } #endif /* The include_next requires a split double-inclusion guard. */ #if @HAVE_TERMIOS_H@ # @INCLUDE_NEXT@ @NEXT_TERMIOS_H@ #endif #ifndef _@GUARD_PREFIX@_TERMIOS_H #define _@GUARD_PREFIX@_TERMIOS_H /* Get pid_t. */ #include <sys/types.h> /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ #if @GNULIB_TCGETSID@ /* Return the session ID of the controlling terminal of the current process. The argument is a descriptor if this controlling terminal. Return -1, with errno set, upon failure. errno = ENOSYS means that the function is unsupported. */ # if !@HAVE_DECL_TCGETSID@ _GL_FUNCDECL_SYS (tcgetsid, pid_t, (int fd)); # endif _GL_CXXALIAS_SYS (tcgetsid, pid_t, (int fd)); _GL_CXXALIASWARN (tcgetsid); #elif defined GNULIB_POSIXCHECK # undef tcgetsid # if HAVE_RAW_DECL_TCGETSID _GL_WARN_ON_USE (tcgetsid, "tcgetsid is not portable - " "use gnulib module tcgetsid for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_TERMIOS_H */ #endif /* _@GUARD_PREFIX@_TERMIOS_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/version-etc.h��������������������������������������������������������������������0000664�0000000�0000000�00000005555�12071024546�013536� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Print --version and bug-reporting information in a consistent format. Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #ifndef VERSION_ETC_H # define VERSION_ETC_H 1 # include <stdarg.h> # include <stdio.h> /* The 'sentinel' attribute was added in gcc 4.0. */ #ifndef _GL_ATTRIBUTE_SENTINEL # if 4 <= __GNUC__ # define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) # else # define _GL_ATTRIBUTE_SENTINEL /* empty */ # endif #endif extern const char version_etc_copyright[]; /* The three functions below display the --version information in the standard way: command and package names, package version, followed by a short GPLv3+ notice and a list of up to 10 author names. If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The functions differ in the way they are passed author names: */ /* N_AUTHORS names are supplied in array AUTHORS. */ extern void version_etc_arn (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors, size_t n_authors); /* Names are passed in the NULL-terminated array AUTHORS. */ extern void version_etc_ar (FILE *stream, const char *command_name, const char *package, const char *version, const char * const * authors); /* Names are passed in the NULL-terminated va_list. */ extern void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors); /* Names are passed as separate arguments, with an additional NULL argument at the end. */ extern void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ..., NULL */ ...) _GL_ATTRIBUTE_SENTINEL; /* Display the usual "Report bugs to" stanza. */ extern void emit_bug_reporting_address (void); #endif /* VERSION_ETC_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirname.c������������������������������������������������������������������������0000664�0000000�0000000�00000002263�12071024546�012703� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* dirname.c -- return all but the last element in a file name Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "dirname.h" #include <stdlib.h> #include <string.h> #include "xalloc.h" /* Just like mdir_name (dirname-lgpl.c), except, rather than returning NULL upon malloc failure, here, we report the "memory exhausted" condition and exit. */ char * dir_name (char const *file) { char *result = mdir_name (file); if (!result) xalloc_die (); return result; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stat-size.h����������������������������������������������������������������������0000664�0000000�0000000�00000007647�12071024546�013227� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* macros useful in interpreting size-related values in struct stat. Copyright (C) 1989, 1991-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Macros defined by this file (s is an rvalue of type struct stat): DEV_BSIZE: The device blocksize. But use ST_NBLOCKSIZE instead. ST_BLKSIZE(s): Preferred (in the sense of best performance) I/O blocksize for the file, in bytes. ST_NBLOCKS(s): Number of blocks in the file, including indirect blocks. ST_NBLOCKSIZE: Size of blocks used when calculating ST_NBLOCKS. */ #ifndef STAT_SIZE_H #define STAT_SIZE_H /* sys/param.h may define DEV_BSIZE */ #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif /* Get or fake the disk device blocksize. Usually defined by sys/param.h (if at all). */ #if !defined DEV_BSIZE && defined BSIZE # define DEV_BSIZE BSIZE #endif #if !defined DEV_BSIZE && defined BBSIZE /* SGI sys/param.h */ # define DEV_BSIZE BBSIZE #endif #ifndef DEV_BSIZE # define DEV_BSIZE 4096 #endif /* Extract or fake data from a 'struct stat'. ST_BLKSIZE: Preferred I/O blocksize for the file, in bytes. ST_NBLOCKS: Number of blocks in the file, including indirect blocks. ST_NBLOCKSIZE: Size of blocks used when calculating ST_NBLOCKS. */ #ifndef HAVE_STRUCT_STAT_ST_BLOCKS # define ST_BLKSIZE(statbuf) DEV_BSIZE /* coreutils' fileblocks.c also uses BSIZE. */ # if defined _POSIX_SOURCE || !defined BSIZE # define ST_NBLOCKS(statbuf) \ ((statbuf).st_size / ST_NBLOCKSIZE + ((statbuf).st_size % ST_NBLOCKSIZE != 0)) # else /* This definition calls st_blocks, which is in the fileblocks module. */ # define ST_NBLOCKS(statbuf) \ (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) ? \ st_blocks ((statbuf).st_size) : 0) # endif #else /* Some systems, like Sequents, return st_blksize of 0 on pipes. Also, when running 'rsh hpux11-system cat any-file', cat would determine that the output stream had an st_blksize of 2147421096. Conversely st_blksize can be 2 GiB (or maybe even larger) with XFS on 64-bit hosts. Somewhat arbitrarily, limit the "optimal" block size to SIZE_MAX / 8 + 1. (Dividing SIZE_MAX by only 4 wouldn't suffice, since "cat" sometimes multiplies the result by 4.) If anyone knows of a system for which this limit is too small, please report it as a bug in this code. */ # define ST_BLKSIZE(statbuf) ((0 < (statbuf).st_blksize \ && (statbuf).st_blksize <= ((size_t)-1) / 8 + 1) \ ? (statbuf).st_blksize : DEV_BSIZE) # if defined hpux || defined __hpux__ || defined __hpux /* HP-UX counts st_blocks in 1024-byte units. This loses when mixing HP-UX and BSD file systems with NFS. */ # define ST_NBLOCKSIZE 1024 # else /* !hpux */ # if defined _AIX && defined _I386 /* AIX PS/2 counts st_blocks in 4K units. */ # define ST_NBLOCKSIZE (4 * 1024) # else # if defined _CRAY # define ST_NBLOCKS(statbuf) \ (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) \ ? (statbuf).st_blocks * ST_BLKSIZE (statbuf) / ST_NBLOCKSIZE : 0) # endif # endif # endif #endif #ifndef ST_NBLOCKS # define ST_NBLOCKS(statbuf) ((statbuf).st_blocks) #endif #ifndef ST_NBLOCKSIZE # ifdef S_BLKSIZE # define ST_NBLOCKSIZE S_BLKSIZE # else # define ST_NBLOCKSIZE 512 # endif #endif #endif /* STAT_SIZE_H */ �����������������������������������������������������������������������������������������coreutils-8.21/lib/freadptr.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003002�12071024546�013070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> #include <stdio.h> /* Assuming the stream STREAM is open for reading: Return a pointer to the input buffer of STREAM, or NULL. If the returned pointer is non-NULL, *SIZEP is set to the (positive) size of the input buffer. If the returned pointer is NULL, you should use getc (STREAM), fgetc (STREAM), or fread (..., STREAM) to access the input from STREAM. The resulting pointer becomes invalid upon any operation on STREAM. STREAM must not be wide-character oriented. */ #if HAVE___FREADPTR /* musl libc */ # include <stdio_ext.h> # define freadptr(stream,sizep) __freadptr (stream, sizep) #else # ifdef __cplusplus extern "C" { # endif extern const char * freadptr (FILE *stream, size_t *sizep); # ifdef __cplusplus } # endif #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/vasnprintf.c���������������������������������������������������������������������0000664�0000000�0000000�00000664642�12071561015�013472� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. FCHAR_T The element type of the format string. DCHAR_T The element type of the destination (result) string. FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. MUST be set if FCHAR_T and DCHAR_T are not the same type. DIRECTIVE Structure denoting a format directive. Depends on FCHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on FCHAR_T. PRINTF_PARSE Function that parses a format string. Depends on FCHAR_T. DCHAR_CPY memcpy like function for DCHAR_T[] arrays. DCHAR_SET memset like function for DCHAR_T[] arrays. DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. SNPRINTF The system's snprintf (or similar) function. This may be either snprintf or swprintf. TCHAR_T The element type of the argument and result string of the said SNPRINTF function. This may be either char or wchar_t. The code exploits that sizeof (TCHAR_T) | sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ /* Tell glibc's <stdio.h> to provide a prototype for snprintf(). This must come before <config.h> because <config.h> may include <features.h>, and once <features.h> has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifndef VASNPRINTF # include <config.h> #endif #ifndef IN_LIBINTL # include <alloca.h> #endif /* Specification. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "vasnwprintf.h" # else # include "vasnprintf.h" # endif #endif #include <locale.h> /* localeconv() */ #include <stdio.h> /* snprintf(), sprintf() */ #include <stdlib.h> /* abort(), malloc(), realloc(), free() */ #include <string.h> /* memcpy(), strlen() */ #include <errno.h> /* errno */ #include <limits.h> /* CHAR_BIT */ #include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */ #if HAVE_NL_LANGINFO # include <langinfo.h> #endif #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "wprintf-parse.h" # else # include "printf-parse.h" # endif #endif /* Checked size_t computations. */ #include "xsize.h" #include "verify.h" #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include <math.h> # include "float+.h" #endif #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL # include <math.h> # include "isnand-nolibm.h" #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL # include <math.h> # include "isnanl-nolibm.h" # include "fpucw.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL # include <math.h> # include "isnand-nolibm.h" # include "printf-frexp.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include <math.h> # include "isnanl-nolibm.h" # include "printf-frexpl.h" # include "fpucw.h" #endif /* Default parameters. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # define VASNPRINTF vasnwprintf # define FCHAR_T wchar_t # define DCHAR_T wchar_t # define TCHAR_T wchar_t # define DCHAR_IS_TCHAR 1 # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives # define PRINTF_PARSE wprintf_parse # define DCHAR_CPY wmemcpy # define DCHAR_SET wmemset # else # define VASNPRINTF vasnprintf # define FCHAR_T char # define DCHAR_T char # define TCHAR_T char # define DCHAR_IS_TCHAR 1 # define DIRECTIVE char_directive # define DIRECTIVES char_directives # define PRINTF_PARSE printf_parse # define DCHAR_CPY memcpy # define DCHAR_SET memset # endif #endif #if WIDE_CHAR_VERSION /* TCHAR_T is wchar_t. */ # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF /* On Windows, the function swprintf() has a different signature than on Unix; we use the function _snwprintf() or - on mingw - snwprintf() instead. The mingw function snwprintf() has fewer bugs than the MSVCRT function _snwprintf(), so prefer that. */ # if defined __MINGW32__ # define SNPRINTF snwprintf # else # define SNPRINTF _snwprintf # endif # else /* Unix. */ # define SNPRINTF swprintf # endif #else /* TCHAR_T is char. */ /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. But don't use it on BeOS, since BeOS snprintf produces no output if the size argument is >= 0x3000000. Also don't use it on Linux libc5, since there snprintf with size = 1 writes any output without bounds, like sprintf. */ # if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1) # define USE_SNPRINTF 1 # else # define USE_SNPRINTF 0 # endif # if HAVE_DECL__SNPRINTF /* Windows. The mingw function snprintf() has fewer bugs than the MSVCRT function _snprintf(), so prefer that. */ # if defined __MINGW32__ # define SNPRINTF snprintf /* Here we need to call the native snprintf, not rpl_snprintf. */ # undef snprintf # else # define SNPRINTF _snprintf # endif # else /* Unix. */ # define SNPRINTF snprintf /* Here we need to call the native snprintf, not rpl_snprintf. */ # undef snprintf # endif #endif /* Here we need to call the native sprintf, not rpl_sprintf. */ #undef sprintf /* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized" warnings in this file. Use -Dlint to suppress them. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif /* Avoid some warnings from "gcc -Wshadow". This file doesn't use the exp() and remainder() functions. */ #undef exp #define exp expo #undef remainder #define remainder rem #if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && !WIDE_CHAR_VERSION # if (HAVE_STRNLEN && !defined _AIX) # define local_strnlen strnlen # else # ifndef local_strnlen_defined # define local_strnlen_defined 1 static size_t local_strnlen (const char *string, size_t maxlen) { const char *end = memchr (string, '\0', maxlen); return end ? (size_t) (end - string) : maxlen; } # endif # endif #endif #if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && WIDE_CHAR_VERSION) || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T # if HAVE_WCSLEN # define local_wcslen wcslen # else /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid a dependency towards this library, here is a local substitute. Define this substitute only once, even if this file is included twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t local_wcslen (const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) ; return ptr - s; } # endif # endif #endif #if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && HAVE_WCHAR_T && WIDE_CHAR_VERSION # if HAVE_WCSNLEN # define local_wcsnlen wcsnlen # else # ifndef local_wcsnlen_defined # define local_wcsnlen_defined 1 static size_t local_wcsnlen (const wchar_t *s, size_t maxlen) { const wchar_t *ptr; for (ptr = s; maxlen > 0 && *ptr != (wchar_t) 0; ptr++, maxlen--) ; return ptr - s; } # endif # endif #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL /* Determine the decimal-point character according to the current locale. */ # ifndef decimal_point_char_defined # define decimal_point_char_defined 1 static char decimal_point_char (void) { const char *point; /* Determine it in a multithread-safe way. We know nl_langinfo is multithread-safe on glibc systems and Mac OS X systems, but is not required to be multithread-safe by POSIX. sprintf(), however, is multithread-safe. localeconv() is rarely multithread-safe. */ # if HAVE_NL_LANGINFO && (__GLIBC__ || defined __UCLIBC__ || (defined __APPLE__ && defined __MACH__)) point = nl_langinfo (RADIXCHAR); # elif 1 char pointbuf[5]; sprintf (pointbuf, "%#.0f", 1.0); point = &pointbuf[1]; # else point = localeconv () -> decimal_point; # endif /* The decimal point is always a single byte: either '.' or ','. */ return (point[0] != '\0' ? point[0] : '.'); } # endif #endif #if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ static int is_infinite_or_zero (double x) { return isnand (x) || x + x == x; } #endif #if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ static int is_infinite_or_zerol (long double x) { return isnanl (x) || x + x == x; } #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL /* Converting 'long double' to decimal without rare rounding bugs requires real bignums. We use the naming conventions of GNU gmp, but vastly simpler (and slower) algorithms. */ typedef unsigned int mp_limb_t; # define GMP_LIMB_BITS 32 verify (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS); typedef unsigned long long mp_twolimb_t; # define GMP_TWOLIMB_BITS 64 verify (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS); /* Representation of a bignum >= 0. */ typedef struct { size_t nlimbs; mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ } mpn_t; /* Compute the product of two bignums >= 0. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * multiply (mpn_t src1, mpn_t src2, mpn_t *dest) { const mp_limb_t *p1; const mp_limb_t *p2; size_t len1; size_t len2; if (src1.nlimbs <= src2.nlimbs) { len1 = src1.nlimbs; p1 = src1.limbs; len2 = src2.nlimbs; p2 = src2.limbs; } else { len1 = src2.nlimbs; p1 = src2.limbs; len2 = src1.nlimbs; p2 = src1.limbs; } /* Now 0 <= len1 <= len2. */ if (len1 == 0) { /* src1 or src2 is zero. */ dest->nlimbs = 0; dest->limbs = (mp_limb_t *) malloc (1); } else { /* Here 1 <= len1 <= len2. */ size_t dlen; mp_limb_t *dp; size_t k, i, j; dlen = len1 + len2; dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); if (dp == NULL) return NULL; for (k = len2; k > 0; ) dp[--k] = 0; for (i = 0; i < len1; i++) { mp_limb_t digit1 = p1[i]; mp_twolimb_t carry = 0; for (j = 0; j < len2; j++) { mp_limb_t digit2 = p2[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; carry += dp[i + j]; dp[i + j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } dp[i + len2] = (mp_limb_t) carry; } /* Normalise. */ while (dlen > 0 && dp[dlen - 1] == 0) dlen--; dest->nlimbs = dlen; dest->limbs = dp; } return dest->limbs; } /* Compute the quotient of a bignum a >= 0 and a bignum b > 0. a is written as a = q * b + r with 0 <= r < b. q is the quotient, r the remainder. Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, q is incremented. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * divide (mpn_t a, mpn_t b, mpn_t *q) { /* Algorithm: First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). If m<n, then q:=0 and r:=a. If m>=n=1, perform a single-precision division: r:=0, j:=m, while j>0 do {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r<b[0]<beta} j:=j-1, r:=r*beta+a[j], q[j]:=floor(r/b[0]), r:=r-b[0]*q[j]. Normalise [q[m-1],...,q[0]], yields q. If m>=n>1, perform a multiple-precision division: We have a/b < beta^(m-n+1). s:=intDsize-1-(highest bit in b[n-1]), 0<=s<intDsize. Shift a and b left by s bits, copying them. r:=a. r=[r[m],...,r[0]], b=[b[n-1],...,b[0]] with b[n-1]>=beta/2. For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} Compute q* : q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). In case of overflow (q* >= beta) set q* := beta-1. Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] and c3 := b[n-2] * q*. {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow occurred. Furthermore 0 <= c3 < beta^2. If there was overflow and r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, the next test can be skipped.} While c3 > c2, {Here 0 <= c2 < c3 < beta^2} Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. If q* > 0: Put r := r - b * q* * beta^j. In detail: [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. hence: u:=0, for i:=0 to n-1 do u := u + q* * b[i], r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), u:=u div beta (+ 1, if carry in subtraction) r[n+j]:=r[n+j]-u. {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 < q* + 1 <= beta, the carry u does not overflow.} If a negative carry occurs, put q* := q* - 1 and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. Set q[j] := q*. Normalise [q[m-n],..,q[0]]; this yields the quotient q. Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the rest r. The room for q[j] can be allocated at the memory location of r[n+j]. Finally, round-to-even: Shift r left by 1 bit. If r > b or if r = b and q[0] is odd, q := q+1. */ const mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; const mp_limb_t *b_ptr = b.limbs; size_t b_len = b.nlimbs; mp_limb_t *roomptr; mp_limb_t *tmp_roomptr = NULL; mp_limb_t *q_ptr; size_t q_len; mp_limb_t *r_ptr; size_t r_len; /* Allocate room for a_len+2 digits. (Need a_len+1 digits for the real division and 1 more digit for the final rounding of q.) */ roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); if (roomptr == NULL) return NULL; /* Normalise a. */ while (a_len > 0 && a_ptr[a_len - 1] == 0) a_len--; /* Normalise b. */ for (;;) { if (b_len == 0) /* Division by zero. */ abort (); if (b_ptr[b_len - 1] == 0) b_len--; else break; } /* Here m = a_len >= 0 and n = b_len > 0. */ if (a_len < b_len) { /* m<n: trivial case. q=0, r := copy of a. */ r_ptr = roomptr; r_len = a_len; memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); q_ptr = roomptr + a_len; q_len = 0; } else if (b_len == 1) { /* n=1: single precision division. beta^(m-1) <= a < beta^m ==> beta^(m-2) <= a/b < beta^m */ r_ptr = roomptr; q_ptr = roomptr + 1; { mp_limb_t den = b_ptr[0]; mp_limb_t remainder = 0; const mp_limb_t *sourceptr = a_ptr + a_len; mp_limb_t *destptr = q_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; *--destptr = num / den; remainder = num % den; } /* Normalise and store r. */ if (remainder > 0) { r_ptr[0] = remainder; r_len = 1; } else r_len = 0; /* Normalise q. */ q_len = a_len; if (q_ptr[q_len - 1] == 0) q_len--; } } else { /* n>1: multiple precision division. beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> beta^(m-n-1) <= a/b < beta^(m-n+1). */ /* Determine s. */ size_t s; { mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ /* Determine s = GMP_LIMB_BITS - integer_length (msd). Code copied from gnulib's integer_length.c. */ # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) s = __builtin_clz (msd); # else # if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT if (GMP_LIMB_BITS <= DBL_MANT_BIT) { /* Use 'double' operations. Assumes an IEEE 754 'double' implementation. */ # define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) # define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1) # define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { double value; unsigned int word[NWORDS]; } m; /* Use a single integer to floating-point conversion. */ m.value = msd; s = GMP_LIMB_BITS - (((m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & DBL_EXP_MASK) - DBL_EXP_BIAS); } else # undef NWORDS # endif { s = 31; if (msd >= 0x10000) { msd = msd >> 16; s -= 16; } if (msd >= 0x100) { msd = msd >> 8; s -= 8; } if (msd >= 0x10) { msd = msd >> 4; s -= 4; } if (msd >= 0x4) { msd = msd >> 2; s -= 2; } if (msd >= 0x2) { msd = msd >> 1; s -= 1; } } # endif } /* 0 <= s < GMP_LIMB_BITS. Copy b, shifting it left by s bits. */ if (s > 0) { tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); if (tmp_roomptr == NULL) { free (roomptr); return NULL; } { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = tmp_roomptr; mp_twolimb_t accu = 0; size_t count; for (count = b_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } /* accu must be zero, since that was how s was determined. */ if (accu != 0) abort (); } b_ptr = tmp_roomptr; } /* Copy a, shifting it left by s bits, yields r. Memory layout: At the beginning: r = roomptr[0..a_len], at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ r_ptr = roomptr; if (s == 0) { memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); r_ptr[a_len] = 0; } else { const mp_limb_t *sourceptr = a_ptr; mp_limb_t *destptr = r_ptr; mp_twolimb_t accu = 0; size_t count; for (count = a_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } *destptr++ = (mp_limb_t) accu; } q_ptr = roomptr + b_len; q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ { size_t j = a_len - b_len; /* m-n */ mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; /* Division loop, traversed m-n+1 times. j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ for (;;) { mp_limb_t q_star; mp_limb_t c1; if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ { /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ mp_twolimb_t num = ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) | r_ptr[j + b_len - 1]; q_star = num / b_msd; c1 = num % b_msd; } else { /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) {<= beta !}. If yes, jump directly to the subtraction loop. (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ if (r_ptr[j + b_len] > b_msd || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) /* r[j+n] >= b[n-1]+1 or r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a carry. */ goto subtract; } /* q_star = q*, c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, <beta). */ { mp_twolimb_t c2 = /* c1*beta+r[j+n-2] */ ((mp_twolimb_t) c1 << GMP_LIMB_BITS) | r_ptr[j + b_len - 2]; mp_twolimb_t c3 = /* b[n-2] * q* */ (mp_twolimb_t) b_2msd * (mp_twolimb_t) q_star; /* While c2 < c3, increase c2 and decrease c3. Consider c3-c2. While it is > 0, decrease it by b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 this can happen only twice. */ if (c3 > c2) { q_star = q_star - 1; /* q* := q* - 1 */ if (c3 - c2 > b_msdd) q_star = q_star - 1; /* q* := q* - 1 */ } } if (q_star > 0) subtract: { /* Subtract r := r - b * q* * beta^j. */ mp_limb_t cr; { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_twolimb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { /* Here 0 <= carry <= q*. */ carry = carry + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ + (mp_limb_t) ~(*destptr); /* Here 0 <= carry <= beta*q* + beta-1. */ *destptr++ = ~(mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; /* <= q* */ } cr = (mp_limb_t) carry; } /* Subtract cr from r_ptr[j + b_len], then forget about r_ptr[j + b_len]. */ if (cr > r_ptr[j + b_len]) { /* Subtraction gave a carry. */ q_star = q_star - 1; /* q* := q* - 1 */ /* Add b back. */ { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_limb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { mp_limb_t source1 = *sourceptr++; mp_limb_t source2 = *destptr; *destptr++ = source1 + source2 + carry; carry = (carry ? source1 >= (mp_limb_t) ~source2 : source1 > (mp_limb_t) ~source2); } } /* Forget about the carry and about r[j+n]. */ } } /* q* is determined. Store it as q[j]. */ q_ptr[j] = q_star; if (j == 0) break; j--; } } r_len = b_len; /* Normalise q. */ if (q_ptr[q_len - 1] == 0) q_len--; # if 0 /* Not needed here, since we need r only to compare it with b/2, and b is shifted left by s bits. */ /* Shift r right by s bits. */ if (s > 0) { mp_limb_t ptr = r_ptr + r_len; mp_twolimb_t accu = 0; size_t count; for (count = r_len; count > 0; count--) { accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); } } # endif /* Normalise r. */ while (r_len > 0 && r_ptr[r_len - 1] == 0) r_len--; } /* Compare r << 1 with b. */ if (r_len > b_len) goto increment_q; { size_t i; for (i = b_len;;) { mp_limb_t r_i = (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) | (i < r_len ? r_ptr[i] << 1 : 0); mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); if (r_i > b_i) goto increment_q; if (r_i < b_i) goto keep_q; if (i == 0) break; i--; } } if (q_len > 0 && ((q_ptr[0] & 1) != 0)) /* q is odd. */ increment_q: { size_t i; for (i = 0; i < q_len; i++) if (++(q_ptr[i]) != 0) goto keep_q; q_ptr[q_len++] = 1; } keep_q: if (tmp_roomptr != NULL) free (tmp_roomptr); q->limbs = q_ptr; q->nlimbs = q_len; return roomptr; } /* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal representation. Destroys the contents of a. Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * convert_to_decimal (mpn_t a, size_t extra_zeroes) { mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); if (c_ptr != NULL) { char *d_ptr = c_ptr; for (; extra_zeroes > 0; extra_zeroes--) *d_ptr++ = '0'; while (a_len > 0) { /* Divide a by 10^9, in-place. */ mp_limb_t remainder = 0; mp_limb_t *ptr = a_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; *ptr = num / 1000000000; remainder = num % 1000000000; } /* Store the remainder as 9 decimal digits. */ for (count = 9; count > 0; count--) { *d_ptr++ = '0' + (remainder % 10); remainder = remainder / 10; } /* Normalize a. */ if (a_ptr[a_len - 1] == 0) a_len--; } /* Remove leading zeroes. */ while (d_ptr > c_ptr && d_ptr[-1] == '0') d_ptr--; /* But keep at least one zero. */ if (d_ptr == c_ptr) *d_ptr++ = '0'; /* Terminate the string. */ *d_ptr = '\0'; } return c_ptr; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_long_double (long double x, int *ep, mpn_t *mp) { mpn_t m; int exp; long double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * 2^LDBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * 2^LDBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'long double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess precision. */ if (!(y == 0.0L)) abort (); # endif /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - LDBL_MANT_BIT; return m.limbs; } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_double (double x, int *ep, mpn_t *mp) { mpn_t m; int exp; double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * 2^DBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * 2^DBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } if (!(y == 0.0)) abort (); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - DBL_MANT_BIT; return m.limbs; } # endif /* Assuming x = 2^e * m is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) { int s; size_t extra_zeroes; unsigned int abs_n; unsigned int abs_s; mp_limb_t *pow5_ptr; size_t pow5_len; unsigned int s_limbs; unsigned int s_bits; mpn_t pow5; mpn_t z; void *z_memory; char *digits; if (memory == NULL) return NULL; /* x = 2^e * m, hence y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) = round (2^s * 5^n * m). */ s = e + n; extra_zeroes = 0; /* Factor out a common power of 10 if possible. */ if (s > 0 && n > 0) { extra_zeroes = (s < n ? s : n); s -= extra_zeroes; n -= extra_zeroes; } /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. Before converting to decimal, we need to compute z = round (2^s * 5^n * m). */ /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same sign. 2.322 is slightly larger than log(5)/log(2). */ abs_n = (n >= 0 ? n : -n); abs_s = (s >= 0 ? s : -s); pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 + abs_s / GMP_LIMB_BITS + 1) * sizeof (mp_limb_t)); if (pow5_ptr == NULL) { free (memory); return NULL; } /* Initialize with 1. */ pow5_ptr[0] = 1; pow5_len = 1; /* Multiply with 5^|n|. */ if (abs_n > 0) { static mp_limb_t const small_pow5[13 + 1] = { 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125 }; unsigned int n13; for (n13 = 0; n13 <= abs_n; n13 += 13) { mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; size_t j; mp_twolimb_t carry = 0; for (j = 0; j < pow5_len; j++) { mp_limb_t digit2 = pow5_ptr[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; pow5_ptr[j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } if (carry > 0) pow5_ptr[pow5_len++] = (mp_limb_t) carry; } } s_limbs = abs_s / GMP_LIMB_BITS; s_bits = abs_s % GMP_LIMB_BITS; if (n >= 0 ? s >= 0 : s <= 0) { /* Multiply with 2^|s|. */ if (s_bits > 0) { mp_limb_t *ptr = pow5_ptr; mp_twolimb_t accu = 0; size_t count; for (count = pow5_len; count > 0; count--) { accu += (mp_twolimb_t) *ptr << s_bits; *ptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) { *ptr = (mp_limb_t) accu; pow5_len++; } } if (s_limbs > 0) { size_t count; for (count = pow5_len; count > 0;) { count--; pow5_ptr[s_limbs + count] = pow5_ptr[count]; } for (count = s_limbs; count > 0;) { count--; pow5_ptr[count] = 0; } pow5_len += s_limbs; } pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* Multiply m with pow5. No division needed. */ z_memory = multiply (m, pow5, &z); } else { /* Divide m by pow5 and round. */ z_memory = divide (m, pow5, &z); } } else { pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* n >= 0, s < 0. Multiply m with pow5, then divide by 2^|s|. */ mpn_t numerator; mpn_t denominator; void *tmp_memory; tmp_memory = multiply (m, pow5, &numerator); if (tmp_memory == NULL) { free (pow5_ptr); free (memory); return NULL; } /* Construct 2^|s|. */ { mp_limb_t *ptr = pow5_ptr + pow5_len; size_t i; for (i = 0; i < s_limbs; i++) ptr[i] = 0; ptr[s_limbs] = (mp_limb_t) 1 << s_bits; denominator.limbs = ptr; denominator.nlimbs = s_limbs + 1; } z_memory = divide (numerator, denominator, &z); free (tmp_memory); } else { /* n < 0, s > 0. Multiply m with 2^s, then divide by pow5. */ mpn_t numerator; mp_limb_t *num_ptr; num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) * sizeof (mp_limb_t)); if (num_ptr == NULL) { free (pow5_ptr); free (memory); return NULL; } { mp_limb_t *destptr = num_ptr; { size_t i; for (i = 0; i < s_limbs; i++) *destptr++ = 0; } if (s_bits > 0) { const mp_limb_t *sourceptr = m.limbs; mp_twolimb_t accu = 0; size_t count; for (count = m.nlimbs; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s_bits; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) *destptr++ = (mp_limb_t) accu; } else { const mp_limb_t *sourceptr = m.limbs; size_t count; for (count = m.nlimbs; count > 0; count--) *destptr++ = *sourceptr++; } numerator.limbs = num_ptr; numerator.nlimbs = destptr - num_ptr; } z_memory = divide (numerator, pow5, &z); free (num_ptr); } } free (pow5_ptr); free (memory); /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ if (z_memory == NULL) return NULL; digits = convert_to_decimal (z, extra_zeroes); free (z_memory); return digits; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_long_double (long double x, int n) { int e IF_LINT(= 0); mpn_t m; void *memory = decode_long_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_double (double x, int n) { int e IF_LINT(= 0); mpn_t m; void *memory = decode_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10l (long double x) { int exp; long double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); if (y == 0.0L) return INT_MIN; if (y < 0.5L) { while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0L / (1 << 16))) { y *= 1.0L * (1 << 16); exp -= 16; } if (y < (1.0L / (1 << 8))) { y *= 1.0L * (1 << 8); exp -= 8; } if (y < (1.0L / (1 << 4))) { y *= 1.0L * (1 << 4); exp -= 4; } if (y < (1.0L / (1 << 2))) { y *= 1.0L * (1 << 2); exp -= 2; } if (y < (1.0L / (1 << 1))) { y *= 1.0L * (1 << 1); exp -= 1; } } if (!(y >= 0.5L && y < 1.0L)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) Four terms are enough to get an approximation with error < 10^-7. */ l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10 (double x) { int exp; double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); if (y == 0.0) return INT_MIN; if (y < 0.5) { while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0 / (1 << 16))) { y *= 1.0 * (1 << 16); exp -= 16; } if (y < (1.0 / (1 << 8))) { y *= 1.0 * (1 << 8); exp -= 8; } if (y < (1.0 / (1 << 4))) { y *= 1.0 * (1 << 4); exp -= 4; } if (y < (1.0 / (1 << 2))) { y *= 1.0 * (1 << 2); exp -= 2; } if (y < (1.0 / (1 << 1))) { y *= 1.0 * (1 << 1); exp -= 1; } } if (!(y >= 0.5 && y < 1.0)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) Four terms are enough to get an approximation with error < 10^-7. */ l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif /* Tests whether a string of digits consists of exactly PRECISION zeroes and a single '1' digit. */ static int is_borderline (const char *digits, size_t precision) { for (; precision > 0; precision--, digits++) if (*digits != '0') return 0; if (*digits != '1') return 0; digits++; return *digits == '\0'; } #endif #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 /* Use a different function name, to make it possible that the 'wchar_t' parametrization and the 'char' parametrization get compiled in the same translation unit. */ # if WIDE_CHAR_VERSION # define MAX_ROOM_NEEDED wmax_room_needed # else # define MAX_ROOM_NEEDED max_room_needed # endif /* Returns the number of TCHAR_T units needed as temporary space for the result of sprintf or SNPRINTF of a single conversion directive. */ static size_t MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion, arg_type type, int flags, size_t width, int has_precision, size_t precision, int pad_ourselves) { size_t tmp_length; switch (conversion) { case 'd': case 'i': case 'u': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Multiply by 2, as an estimate for FLAG_GROUP. */ tmp_length = xsum (tmp_length, tmp_length); /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'o': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'x': case 'X': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 2, to account for a leading sign or alternate form. */ tmp_length = xsum (tmp_length, 2); break; case 'f': case 'F': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ else tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ tmp_length = xsum (tmp_length, precision); break; case 'e': case 'E': case 'g': case 'G': tmp_length = 12; /* sign, decimal point, exponent etc. */ tmp_length = xsum (tmp_length, precision); break; case 'a': case 'A': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (DBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); break; case 'c': # if HAVE_WINT_T && !WIDE_CHAR_VERSION if (type == TYPE_WIDE_CHAR) tmp_length = MB_CUR_MAX; else # endif tmp_length = 1; break; case 's': # if HAVE_WCHAR_T if (type == TYPE_WIDE_STRING) { # if WIDE_CHAR_VERSION /* ISO C says about %ls in fwprintf: "If the precision is not specified or is greater than the size of the array, the array shall contain a null wide character." So if there is a precision, we must not use wcslen. */ const wchar_t *arg = ap->arg[arg_index].a.a_wide_string; if (has_precision) tmp_length = local_wcsnlen (arg, precision); else tmp_length = local_wcslen (arg); # else /* ISO C says about %ls in fprintf: "If a precision is specified, no more than that many bytes are written (including shift sequences, if any), and the array shall contain a null wide character if, to equal the multibyte character sequence length given by the precision, the function would need to access a wide character one past the end of the array." So if there is a precision, we must not use wcslen. */ /* This case has already been handled separately in VASNPRINTF. */ abort (); # endif } else # endif { # if WIDE_CHAR_VERSION /* ISO C says about %s in fwprintf: "If the precision is not specified or is greater than the size of the converted array, the converted array shall contain a null wide character." So if there is a precision, we must not use strlen. */ /* This case has already been handled separately in VASNPRINTF. */ abort (); # else /* ISO C says about %s in fprintf: "If the precision is not specified or greater than the size of the array, the array shall contain a null character." So if there is a precision, we must not use strlen. */ const char *arg = ap->arg[arg_index].a.a_string; if (has_precision) tmp_length = local_strnlen (arg, precision); else tmp_length = strlen (arg); # endif } break; case 'p': tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1 /* turn floor into ceil */ + 2; /* account for leading 0x */ break; default: abort (); } if (!pad_ourselves) { # if ENABLE_UNISTDIO /* Padding considers the number of characters, therefore the number of elements after padding may be > max (tmp_length, width) but is certainly <= tmp_length + width. */ tmp_length = xsum (tmp_length, width); # else /* Padding considers the number of elements, says POSIX. */ if (tmp_length < width) tmp_length = width; # endif } tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ return tmp_length; } #endif DCHAR_T * VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, const FCHAR_T *format, va_list args) { DIRECTIVES d; arguments a; if (PRINTF_PARSE (format, &d, &a) < 0) /* errno is already set. */ return NULL; #define CLEANUP() \ if (d.dir != d.direct_alloc_dir) \ free (d.dir); \ if (a.arg != a.direct_alloc_arg) \ free (a.arg); if (PRINTF_FETCHARGS (args, &a) < 0) { CLEANUP (); errno = EINVAL; return NULL; } { size_t buf_neededlength; TCHAR_T *buf; TCHAR_T *buf_malloced; const FCHAR_T *cp; size_t i; DIRECTIVE *dp; /* Output string accumulator. */ DCHAR_T *result; size_t allocated; size_t length; /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = xsum4 (7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA if (buf_neededlength < 4000 / sizeof (TCHAR_T)) { buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); buf_malloced = NULL; } else #endif { size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); if (size_overflow_p (buf_memsize)) goto out_of_memory_1; buf = (TCHAR_T *) malloc (buf_memsize); if (buf == NULL) goto out_of_memory_1; buf_malloced = buf; } if (resultbuf != NULL) { result = resultbuf; allocated = *lengthp; } else { result = NULL; allocated = 0; } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. If length > 0, then result != NULL. */ /* Ensures that allocated >= needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ #define ENSURE_ALLOCATION(needed) \ if ((needed) > allocated) \ { \ size_t memory_size; \ DCHAR_T *memory; \ \ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ if ((needed) > allocated) \ allocated = (needed); \ memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ if (size_overflow_p (memory_size)) \ goto out_of_memory; \ if (result == resultbuf || result == NULL) \ memory = (DCHAR_T *) malloc (memory_size); \ else \ memory = (DCHAR_T *) realloc (result, memory_size); \ if (memory == NULL) \ goto out_of_memory; \ if (result == resultbuf && length > 0) \ DCHAR_CPY (memory, result, length); \ result = memory; \ } for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { if (cp != dp->dir_start) { size_t n = dp->dir_start - cp; size_t augmented_length = xsum (length, n); ENSURE_ALLOCATION (augmented_length); /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we need that the format string contains only ASCII characters if FCHAR_T and DCHAR_T are not the same type. */ if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) { DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); length = augmented_length; } else { do result[length++] = (unsigned char) *cp++; while (--n > 0); } } if (i == d.count) break; /* Execute a single directive. */ if (dp->conversion == '%') { size_t augmented_length; if (!(dp->arg_index == ARG_NONE)) abort (); augmented_length = xsum (length, 1); ENSURE_ALLOCATION (augmented_length); result[length] = '%'; length = augmented_length; } else { if (!(dp->arg_index != ARG_NONE)) abort (); if (dp->conversion == 'n') { switch (a.arg[dp->arg_index].type) { case TYPE_COUNT_SCHAR_POINTER: *a.arg[dp->arg_index].a.a_count_schar_pointer = length; break; case TYPE_COUNT_SHORT_POINTER: *a.arg[dp->arg_index].a.a_count_short_pointer = length; break; case TYPE_COUNT_INT_POINTER: *a.arg[dp->arg_index].a.a_count_int_pointer = length; break; case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; #endif default: abort (); } } #if ENABLE_UNISTDIO /* The unistdio extensions. */ else if (dp->conversion == 'U') { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } switch (type) { case TYPE_U8_STRING: { const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; const uint8_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u8_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT8_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-8 to locale encoding. */ converted = u8_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, converted, &converted_len); # else /* Convert from UTF-8 to UTF-16/UTF-32. */ converted = U8_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); # endif if (converted == NULL) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U16_STRING: { const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; const uint16_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u16_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT16_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-16 to locale encoding. */ converted = u16_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, converted, &converted_len); # else /* Convert from UTF-16 to UTF-8/UTF-32. */ converted = U16_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); # endif if (converted == NULL) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U32_STRING: { const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; const uint32_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u32_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT32_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-32 to locale encoding. */ converted = u32_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, converted, &converted_len); # else /* Convert from UTF-32 to UTF-8/UTF-16. */ converted = U32_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); # endif if (converted == NULL) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; default: abort (); } } #endif #if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T else if (dp->conversion == 's' # if WIDE_CHAR_VERSION && a.arg[dp->arg_index].type != TYPE_WIDE_STRING # else && a.arg[dp->arg_index].type == TYPE_WIDE_STRING # endif ) { /* The normal handling of the 's' directive below requires allocating a temporary buffer. The determination of its length (tmp_length), in the case when a precision is specified, below requires a conversion between a char[] string and a wchar_t[] wide string. It could be done, but we have no guarantee that the implementation of sprintf will use the exactly same algorithm. Without this guarantee, it is possible to have buffer overrun bugs. In order to avoid such bugs, we implement the entire processing of the 's' directive ourselves. */ int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } # if WIDE_CHAR_VERSION /* %s in vasnwprintf. See the specification of fwprintf. */ { const char *arg = a.arg[dp->arg_index].a.a_string; const char *arg_end; size_t characters; if (has_precision) { /* Use only as many bytes as needed to produce PRECISION wide characters, from the left. */ # if HAVE_MBRTOWC mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count; # if HAVE_MBRTOWC count = mbrlen (arg_end, MB_CUR_MAX, &state); # else count = mblen (arg_end, MB_CUR_MAX); # endif if (count == 0) /* Found the terminating NUL. */ break; if (count < 0) { /* Invalid or incomplete multibyte character. */ if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of wide characters. */ # if HAVE_MBRTOWC mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif arg_end = arg; characters = 0; for (;;) { int count; # if HAVE_MBRTOWC count = mbrlen (arg_end, MB_CUR_MAX, &state); # else count = mblen (arg_end, MB_CUR_MAX); # endif if (count == 0) /* Found the terminating NUL. */ break; if (count < 0) { /* Invalid or incomplete multibyte character. */ if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } if (has_precision || has_width) { /* We know the number of wide characters in advance. */ size_t remaining; # if HAVE_MBRTOWC mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif ENSURE_ALLOCATION (xsum (length, characters)); for (remaining = characters; remaining > 0; remaining--) { wchar_t wc; int count; # if HAVE_MBRTOWC count = mbrtowc (&wc, arg, arg_end - arg, &state); # else count = mbtowc (&wc, arg, arg_end - arg); # endif if (count <= 0) /* mbrtowc not consistent with mbrlen, or mbtowc not consistent with mblen. */ abort (); result[length++] = wc; arg += count; } if (!(arg == arg_end)) abort (); } else { # if HAVE_MBRTOWC mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif while (arg < arg_end) { wchar_t wc; int count; # if HAVE_MBRTOWC count = mbrtowc (&wc, arg, arg_end - arg, &state); # else count = mbtowc (&wc, arg, arg_end - arg); # endif if (count <= 0) /* mbrtowc not consistent with mbrlen, or mbtowc not consistent with mblen. */ abort (); ENSURE_ALLOCATION (xsum (length, 1)); result[length++] = wc; arg += count; } } if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } # else /* %ls in vasnprintf. See the specification of fprintf. */ { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; const wchar_t *arg_end; size_t characters; # if !DCHAR_IS_TCHAR /* This code assumes that TCHAR_T is 'char'. */ verify (sizeof (TCHAR_T) == 1); TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t tmpdst_len; # endif size_t w; if (has_precision) { /* Use only as many wide characters as needed to produce at most PRECISION bytes, from the left. */ # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif arg_end = arg; characters = 0; while (precision > 0) { char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */ int count; if (*arg_end == 0) /* Found the terminating null wide character. */ break; # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t count = wcrtomb (cbuf, *arg_end, &state); # else count = wctomb (cbuf, *arg_end); # endif if (count < 0) { /* Cannot convert. */ if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } if (precision < count) break; arg_end++; characters += count; precision -= count; } } # if DCHAR_IS_TCHAR else if (has_width) # else else # endif { /* Use the entire string, and count the number of bytes. */ # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif arg_end = arg; characters = 0; for (;;) { char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */ int count; if (*arg_end == 0) /* Found the terminating null wide character. */ break; # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t count = wcrtomb (cbuf, *arg_end, &state); # else count = wctomb (cbuf, *arg_end); # endif if (count < 0) { /* Cannot convert. */ if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end++; characters += count; } } # if DCHAR_IS_TCHAR else { /* Use the entire string. */ arg_end = arg + local_wcslen (arg); /* The number of bytes doesn't matter. */ characters = 0; } # endif # if !DCHAR_IS_TCHAR /* Convert the string into a piece of temporary memory. */ tmpsrc = (TCHAR_T *) malloc (characters * sizeof (TCHAR_T)); if (tmpsrc == NULL) goto out_of_memory; { TCHAR_T *tmpptr = tmpsrc; size_t remaining; # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif for (remaining = characters; remaining > 0; ) { char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */ int count; if (*arg == 0) abort (); # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t count = wcrtomb (cbuf, *arg, &state); # else count = wctomb (cbuf, *arg); # endif if (count <= 0) /* Inconsistency. */ abort (); memcpy (tmpptr, cbuf, count); tmpptr += count; arg++; remaining -= count; } if (!(arg == arg_end)) abort (); } /* Convert from TCHAR_T[] to DCHAR_T[]. */ tmpdst = DCHAR_CONV_FROM_ENCODING (locale_charset (), iconveh_question_mark, tmpsrc, characters, NULL, NULL, &tmpdst_len); if (tmpdst == NULL) { int saved_errno = errno; free (tmpsrc); if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } free (tmpsrc); # endif if (has_width) { # if ENABLE_UNISTDIO /* Outside POSIX, it's preferable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, characters); # else /* The width is compared against the number of _bytes_ of the converted value, says POSIX. */ w = characters; # endif } else /* w doesn't matter. */ w = 0; if (has_width && width > w && !(dp->flags & FLAG_LEFT)) { size_t n = width - w; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_TCHAR if (has_precision || has_width) { /* We know the number of bytes in advance. */ size_t remaining; # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif ENSURE_ALLOCATION (xsum (length, characters)); for (remaining = characters; remaining > 0; ) { char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */ int count; if (*arg == 0) abort (); # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t count = wcrtomb (cbuf, *arg, &state); # else count = wctomb (cbuf, *arg); # endif if (count <= 0) /* Inconsistency. */ abort (); memcpy (result + length, cbuf, count); length += count; arg++; remaining -= count; } if (!(arg == arg_end)) abort (); } else { # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t mbstate_t state; memset (&state, '\0', sizeof (mbstate_t)); # endif while (arg < arg_end) { char cbuf[64]; /* Assume MB_CUR_MAX <= 64. */ int count; if (*arg == 0) abort (); # if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t count = wcrtomb (cbuf, *arg, &state); # else count = wctomb (cbuf, *arg); # endif if (count <= 0) { /* Cannot convert. */ if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } ENSURE_ALLOCATION (xsum (length, count)); memcpy (result + length, cbuf, count); length += count; arg++; } } # else ENSURE_ALLOCATION (xsum (length, tmpdst_len)); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); length += tmpdst_len; # endif if (has_width && width > w && (dp->flags & FLAG_LEFT)) { size_t n = width - w; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } # endif } #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'a' || dp->conversion == 'A') # if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # endif ) # endif ) { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* Allocate a temporary buffer of sufficient size. */ if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) ((LDBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) ((DBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; if (type == TYPE_LONGDOUBLE) { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; long double mantissa; if (arg > 0.0L) mantissa = printf_frexpl (arg, &exponent); else { exponent = 0; mantissa = 0.0L; } if (has_precision && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ long double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5L : tail > 0.5L) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0L; } if (tail != 0.0L) for (q = precision; q > 0; q--) tail *= 0.0625L; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0L || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0L) { mantissa *= 16.0L; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } END_LONG_DOUBLE_ROUNDING (); } # else abort (); # endif } else { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE double arg = a.arg[dp->arg_index].a.a_double; if (isnand (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; double mantissa; if (arg > 0.0) mantissa = printf_frexp (arg, &exponent); else { exponent = 0; mantissa = 0.0; } if (has_precision && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5 : tail > 0.5) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0; } if (tail != 0.0) for (q = precision; q > 0; q--) tail *= 0.0625; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0 || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0) { mantissa *= 16.0; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } } # else abort (); # endif } /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'f' || dp->conversion == 'F' || dp->conversion == 'e' || dp->conversion == 'E' || dp->conversion == 'g' || dp->conversion == 'G' || dp->conversion == 'a' || dp->conversion == 'A') && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # elif NEED_PRINTF_INFINITE_DOUBLE || (a.arg[dp->arg_index].type == TYPE_DOUBLE /* The systems (mingw) which produce wrong output for Inf, -Inf, and NaN also do so for -0.0. Therefore we treat this case here as well. */ && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # elif NEED_PRINTF_INFINITE_LONG_DOUBLE || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE /* Some systems produce wrong output for Inf, -Inf, and NaN. Some systems in this category (IRIX 5.3) also do so for -0.0. Therefore we treat this case here as well. */ && is_infinite_or_zerol (a.arg[dp->arg_index].a.a_longdouble)) # endif )) { # if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) arg_type type = a.arg[dp->arg_index].type; # endif int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* POSIX specifies the default precision to be 6 for %f, %F, %e, %E, but not for %g, %G. Implementations appear to use the same default precision also for %g, %G. But for %a, %A, the default precision is 0. */ if (!has_precision) if (!(dp->conversion == 'a' || dp->conversion == 'A')) precision = 6; /* Allocate a temporary buffer of sufficient size. */ # if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); # elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); # elif NEED_PRINTF_LONG_DOUBLE tmp_length = LDBL_DIG + 1; # elif NEED_PRINTF_DOUBLE tmp_length = DBL_DIG + 1; # else tmp_length = 0; # endif if (tmp_length < precision) tmp_length = precision; # if NEED_PRINTF_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (!(isnanl (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10l (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif # if NEED_PRINTF_DOUBLE # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE if (type == TYPE_DOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { double arg = a.arg[dp->arg_index].a.a_double; if (!(isnand (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10 (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_LONG_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_long_double (arg, precision); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0L) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0L. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)precision - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ if (is_borderline (digits, precision)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_long_double (arg, (int)precision - exponent + 1); if (digits2 == NULL) { free (digits); END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } if (strlen (digits2) == precision + 1) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0L) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0L. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ if (is_borderline (digits, precision - 1)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_long_double (arg, (int)(precision - 1) - exponent + 1); if (digits2 == NULL) { free (digits); END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } if (strlen (digits2) == precision) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } free (digits); } } else abort (); # else /* arg is finite. */ if (!(arg == 0.0L)) abort (); pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else if (dp->conversion == 'e' || dp->conversion == 'E') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } *p++ = dp->conversion; /* 'e' or 'E' */ *p++ = '+'; *p++ = '0'; *p++ = '0'; } else if (dp->conversion == 'g' || dp->conversion == 'G') { *p++ = '0'; if (flags & FLAG_ALT) { size_t ndigits = (precision > 0 ? precision - 1 : 0); *p++ = decimal_point_char (); for (; ndigits > 0; --ndigits) *p++ = '0'; } } else if (dp->conversion == 'a' || dp->conversion == 'A') { *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } *p++ = dp->conversion - 'A' + 'P'; *p++ = '+'; *p++ = '0'; } else abort (); # endif } END_LONG_DOUBLE_ROUNDING (); } } # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE else # endif # endif # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE { double arg = a.arg[dp->arg_index].a.a_double; if (isnand (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_double (arg, precision); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)precision - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ if (is_borderline (digits, precision)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_double (arg, (int)precision - exponent + 1); if (digits2 == NULL) { free (digits); goto out_of_memory; } if (strlen (digits2) == precision + 1) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ if (is_borderline (digits, precision - 1)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_double (arg, (int)(precision - 1) - exponent + 1); if (digits2 == NULL) { free (digits); goto out_of_memory; } if (strlen (digits2) == precision) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } free (digits); } } else abort (); # else /* arg is finite. */ if (!(arg == 0.0)) abort (); pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else if (dp->conversion == 'e' || dp->conversion == 'E') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } *p++ = dp->conversion; /* 'e' or 'E' */ *p++ = '+'; /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *p++ = '0'; # endif *p++ = '0'; *p++ = '0'; } else if (dp->conversion == 'g' || dp->conversion == 'G') { *p++ = '0'; if (flags & FLAG_ALT) { size_t ndigits = (precision > 0 ? precision - 1 : 0); *p++ = decimal_point_char (); for (; ndigits > 0; --ndigits) *p++ = '0'; } } else abort (); # endif } } } # endif /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif else { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int has_width; size_t width; #endif #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION int has_precision; size_t precision; #endif #if NEED_PRINTF_UNBOUNDED_PRECISION int prec_ourselves; #else # define prec_ourselves 0 #endif #if NEED_PRINTF_FLAG_LEFTADJUST # define pad_ourselves 1 #elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int pad_ourselves; #else # define pad_ourselves 0 #endif TCHAR_T *fbp; unsigned int prefix_count; int prefixes[2] IF_LINT (= { 0 }); int orig_errno; #if !USE_SNPRINTF size_t tmp_length; TCHAR_T tmpbuf[700]; TCHAR_T *tmp; #endif #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } #endif #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION has_precision = 0; precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } #endif /* Decide whether to handle the precision ourselves. */ #if NEED_PRINTF_UNBOUNDED_PRECISION switch (dp->conversion) { case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': prec_ourselves = has_precision && (precision > 0); break; default: prec_ourselves = 0; break; } #endif /* Decide whether to perform the padding ourselves. */ #if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION) switch (dp->conversion) { # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need to perform the padding after this conversion. Functions with unistdio extensions perform the padding based on character count rather than element count. */ case 'c': case 's': # endif # if NEED_PRINTF_FLAG_ZERO case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': # endif pad_ourselves = 1; break; default: pad_ourselves = prec_ourselves; break; } #endif #if !USE_SNPRINTF /* Allocate a temporary buffer of sufficient size for calling sprintf. */ tmp_length = MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type, flags, width, has_precision, precision, pad_ourselves); if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (TCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } #endif /* Construct the format string for calling snprintf or sprintf. */ fbp = buf; *fbp++ = '%'; #if NEED_PRINTF_FLAG_GROUPING /* The underlying implementation doesn't support the ' flag. Produce no grouping characters in this case; this is acceptable because the grouping is locale dependent. */ #else if (flags & FLAG_GROUP) *fbp++ = '\''; #endif if (flags & FLAG_LEFT) *fbp++ = '-'; if (flags & FLAG_SHOWSIGN) *fbp++ = '+'; if (flags & FLAG_SPACE) *fbp++ = ' '; if (flags & FLAG_ALT) *fbp++ = '#'; #if __GLIBC__ >= 2 && !defined __UCLIBC__ if (flags & FLAG_LOCALIZED) *fbp++ = 'I'; #endif if (!pad_ourselves) { if (flags & FLAG_ZERO) *fbp++ = '0'; if (dp->width_start != dp->width_end) { size_t n = dp->width_end - dp->width_start; /* The width specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->width_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } if (!prec_ourselves) { if (dp->precision_start != dp->precision_end) { size_t n = dp->precision_end - dp->precision_start; /* The precision specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->precision_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } switch (type) { #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *fbp++ = 'I'; *fbp++ = '6'; *fbp++ = '4'; break; # else *fbp++ = 'l'; /*FALLTHROUGH*/ # endif #endif case TYPE_LONGINT: case TYPE_ULONGINT: #if HAVE_WINT_T case TYPE_WIDE_CHAR: #endif #if HAVE_WCHAR_T case TYPE_WIDE_STRING: #endif *fbp++ = 'l'; break; case TYPE_LONGDOUBLE: *fbp++ = 'L'; break; default: break; } #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') *fbp = 'f'; else #endif *fbp = dp->conversion; #if USE_SNPRINTF # if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) fbp[1] = '%'; fbp[2] = 'n'; fbp[3] = '\0'; # else /* On glibc2 systems from glibc >= 2.3 - probably also older ones - we know that snprintf's return value conforms to ISO C 99: the tests gl_SNPRINTF_RETVAL_C99 and gl_SNPRINTF_TRUNCATION_C99 pass. Therefore we can avoid using %n in this situation. On glibc2 systems from 2004-10-18 or newer, the use of %n in format strings in writable memory may crash the program (if compiled with _FORTIFY_SOURCE=2), so we should avoid it in this situation. */ /* On native Windows systems (such as mingw), we can avoid using %n because: - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, snprintf does not write more than the specified number of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes '4', '5', '6' into buf, not '4', '5', '\0'.) - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf allows us to recognize the case of an insufficient buffer size: it returns -1 in this case. On native Windows systems (such as mingw) where the OS is Windows Vista, the use of %n in format strings by default crashes the program. See <http://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and <http://msdn2.microsoft.com/en-us/library/ms175782(VS.80).aspx> So we should avoid %n in this situation. */ fbp[1] = '\0'; # endif #else fbp[1] = '\0'; #endif /* Construct the arguments for calling snprintf or sprintf. */ prefix_count = 0; if (!pad_ourselves && dp->width_arg_index != ARG_NONE) { if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; } if (!prec_ourselves && dp->precision_arg_index != ARG_NONE) { if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; } #if USE_SNPRINTF /* The SNPRINTF result is appended after result[0..length]. The latter is an array of DCHAR_T; SNPRINTF appends an array of TCHAR_T to it. This is possible because sizeof (TCHAR_T) divides sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). */ # define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) /* Ensure that maxlen below will be >= 2. Needed on BeOS, where an snprintf() with maxlen==1 acts like sprintf(). */ ENSURE_ALLOCATION (xsum (length, (2 + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR)); /* Prepare checking whether snprintf returns the count via %n. */ *(TCHAR_T *) (result + length) = '\0'; #endif orig_errno = errno; for (;;) { int count = -1; #if USE_SNPRINTF int retcount = 0; size_t maxlen = allocated - length; /* SNPRINTF can fail if its second argument is > INT_MAX. */ if (maxlen > INT_MAX / TCHARS_PER_DCHAR) maxlen = INT_MAX / TCHARS_PER_DCHAR; maxlen = maxlen * TCHARS_PER_DCHAR; # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ arg, &count); \ break; \ case 1: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], arg, &count); \ break; \ case 2: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], prefixes[1], arg, \ &count); \ break; \ default: \ abort (); \ } #else # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ count = sprintf (tmp, buf, arg); \ break; \ case 1: \ count = sprintf (tmp, buf, prefixes[0], arg); \ break; \ case 2: \ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ arg); \ break; \ default: \ abort (); \ } #endif errno = 0; switch (type) { case TYPE_SCHAR: { int arg = a.arg[dp->arg_index].a.a_schar; SNPRINTF_BUF (arg); } break; case TYPE_UCHAR: { unsigned int arg = a.arg[dp->arg_index].a.a_uchar; SNPRINTF_BUF (arg); } break; case TYPE_SHORT: { int arg = a.arg[dp->arg_index].a.a_short; SNPRINTF_BUF (arg); } break; case TYPE_USHORT: { unsigned int arg = a.arg[dp->arg_index].a.a_ushort; SNPRINTF_BUF (arg); } break; case TYPE_INT: { int arg = a.arg[dp->arg_index].a.a_int; SNPRINTF_BUF (arg); } break; case TYPE_UINT: { unsigned int arg = a.arg[dp->arg_index].a.a_uint; SNPRINTF_BUF (arg); } break; case TYPE_LONGINT: { long int arg = a.arg[dp->arg_index].a.a_longint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGINT: { unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; SNPRINTF_BUF (arg); } break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGLONGINT: { unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; SNPRINTF_BUF (arg); } break; #endif case TYPE_DOUBLE: { double arg = a.arg[dp->arg_index].a.a_double; SNPRINTF_BUF (arg); } break; case TYPE_LONGDOUBLE: { long double arg = a.arg[dp->arg_index].a.a_longdouble; SNPRINTF_BUF (arg); } break; case TYPE_CHAR: { int arg = a.arg[dp->arg_index].a.a_char; SNPRINTF_BUF (arg); } break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: { wint_t arg = a.arg[dp->arg_index].a.a_wide_char; SNPRINTF_BUF (arg); } break; #endif case TYPE_STRING: { const char *arg = a.arg[dp->arg_index].a.a_string; SNPRINTF_BUF (arg); } break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; SNPRINTF_BUF (arg); } break; #endif case TYPE_POINTER: { void *arg = a.arg[dp->arg_index].a.a_pointer; SNPRINTF_BUF (arg); } break; default: abort (); } #if USE_SNPRINTF /* Portability: Not all implementations of snprintf() are ISO C 99 compliant. Determine the number of bytes that snprintf() has produced or would have produced. */ if (count >= 0) { /* Verify that snprintf() has NUL-terminated its result. */ if (count < maxlen && ((TCHAR_T *) (result + length)) [count] != '\0') abort (); /* Portability hack. */ if (retcount > count) count = retcount; } else { /* snprintf() doesn't understand the '%n' directive. */ if (fbp[1] != '\0') { /* Don't use the '%n' directive; instead, look at the snprintf() return value. */ fbp[1] = '\0'; continue; } else { /* Look at the snprintf() return value. */ if (retcount < 0) { # if !HAVE_SNPRINTF_RETVAL_C99 /* HP-UX 10.20 snprintf() is doubly deficient: It doesn't understand the '%n' directive, *and* it returns -1 (rather than the length that would have been required) when the buffer is too small. But a failure at this point can also come from other reasons than a too small buffer, such as an invalid wide string argument to the %ls directive, or possibly an invalid floating-point argument. */ size_t tmp_length = MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type, flags, width, has_precision, precision, pad_ourselves); if (maxlen < tmp_length) { /* Make more room. But try to do through this reallocation only once. */ size_t bigger_need = xsum (length, xsum (tmp_length, TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR); /* And always grow proportionally. (There may be several arguments, each needing a little more room than the previous one.) */ size_t bigger_need2 = xsum (xtimes (allocated, 2), 12); if (bigger_need < bigger_need2) bigger_need = bigger_need2; ENSURE_ALLOCATION (bigger_need); continue; } # endif } else count = retcount; } } #endif /* Attempt to handle failure. */ if (count < 0) { /* SNPRINTF or sprintf failed. Save and use the errno that it has set, if any. */ int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = (saved_errno != 0 ? saved_errno : (dp->conversion == 'c' || dp->conversion == 's' ? EILSEQ : EINVAL)); return NULL; } #if USE_SNPRINTF /* Handle overflow of the allocated buffer. If such an overflow occurs, a C99 compliant snprintf() returns a count >= maxlen. However, a non-compliant snprintf() function returns only count = maxlen - 1. To cover both cases, test whether count >= maxlen - 1. */ if ((unsigned int) count + 1 >= maxlen) { /* If maxlen already has attained its allowed maximum, allocating more memory will not increase maxlen. Instead of looping, bail out. */ if (maxlen == INT_MAX / TCHARS_PER_DCHAR) goto overflow; else { /* Need at least (count + 1) * sizeof (TCHAR_T) bytes. (The +1 is for the trailing NUL.) But ask for (count + 2) * sizeof (TCHAR_T) bytes, so that in the next round, we likely get maxlen > (unsigned int) count + 1 and so we don't get here again. And allocate proportionally, to avoid looping eternally if snprintf() reports a too small count. */ size_t n = xmax (xsum (length, ((unsigned int) count + 2 + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); continue; } } #endif #if NEED_PRINTF_UNBOUNDED_PRECISION if (prec_ourselves) { /* Handle the precision. */ TCHAR_T *prec_ptr = # if USE_SNPRINTF (TCHAR_T *) (result + length); # else tmp; # endif size_t prefix_count; size_t move; prefix_count = 0; /* Put the additional zeroes after the sign. */ if (count >= 1 && (*prec_ptr == '-' || *prec_ptr == '+' || *prec_ptr == ' ')) prefix_count = 1; /* Put the additional zeroes after the 0x prefix if (flags & FLAG_ALT) || (dp->conversion == 'p'). */ else if (count >= 2 && prec_ptr[0] == '0' && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) prefix_count = 2; move = count - prefix_count; if (precision > move) { /* Insert zeroes. */ size_t insert = precision - move; TCHAR_T *prec_end; # if USE_SNPRINTF size_t n = xsum (length, (count + insert + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR); length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; ENSURE_ALLOCATION (n); length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; prec_ptr = (TCHAR_T *) (result + length); # endif prec_end = prec_ptr + count; prec_ptr += prefix_count; while (prec_end > prec_ptr) { prec_end--; prec_end[insert] = prec_end[0]; } prec_end += insert; do *--prec_end = '0'; while (prec_end > prec_ptr); count += insert; } } #endif #if !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); #endif #if !DCHAR_IS_TCHAR /* Convert from TCHAR_T[] to DCHAR_T[]. */ if (dp->conversion == 'c' || dp->conversion == 's') { /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING TYPE_WIDE_STRING. The result string is not certainly ASCII. */ const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t tmpdst_len; /* This code assumes that TCHAR_T is 'char'. */ verify (sizeof (TCHAR_T) == 1); # if USE_SNPRINTF tmpsrc = (TCHAR_T *) (result + length); # else tmpsrc = tmp; # endif tmpdst = DCHAR_CONV_FROM_ENCODING (locale_charset (), iconveh_question_mark, tmpsrc, count, NULL, NULL, &tmpdst_len); if (tmpdst == NULL) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } ENSURE_ALLOCATION (xsum (length, tmpdst_len)); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); count = tmpdst_len; } else { /* The result string is ASCII. Simple 1:1 conversion. */ # if USE_SNPRINTF /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a no-op conversion, in-place on the array starting at (result + length). */ if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) # endif { const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t n; # if USE_SNPRINTF if (result == resultbuf) { tmpsrc = (TCHAR_T *) (result + length); /* ENSURE_ALLOCATION will not move tmpsrc (because it's part of resultbuf). */ ENSURE_ALLOCATION (xsum (length, count)); } else { /* ENSURE_ALLOCATION will move the array (because it uses realloc(). */ ENSURE_ALLOCATION (xsum (length, count)); tmpsrc = (TCHAR_T *) (result + length); } # else tmpsrc = tmp; ENSURE_ALLOCATION (xsum (length, count)); # endif tmpdst = result + length; /* Copy backwards, because of overlapping. */ tmpsrc += count; tmpdst += count; for (n = count; n > 0; n--) *--tmpdst = (unsigned char) *--tmpsrc; } } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF /* Make room for the result. */ if (count > allocated - length) { /* Need at least count elements. But allocate proportionally. */ size_t n = xmax (xsum (length, count), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); } #endif /* Here count <= allocated - length. */ /* Perform padding. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION if (pad_ourselves && has_width) { size_t w; # if ENABLE_UNISTDIO /* Outside POSIX, it's preferable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, count); # else /* The width is compared against the number of _bytes_ of the converted value, says POSIX. */ w = count; # endif if (w < width) { size_t pad = width - w; /* Make room for the result. */ if (xsum (count, pad) > allocated - length) { /* Need at least count + pad elements. But allocate proportionally. */ size_t n = xmax (xsum3 (length, count, pad), xtimes (allocated, 2)); # if USE_SNPRINTF length += count; ENSURE_ALLOCATION (n); length -= count; # else ENSURE_ALLOCATION (n); # endif } /* Here count + pad <= allocated - length. */ { # if !DCHAR_IS_TCHAR || USE_SNPRINTF DCHAR_T * const rp = result + length; # else DCHAR_T * const rp = tmp; # endif DCHAR_T *p = rp + count; DCHAR_T *end = p + pad; DCHAR_T *pad_ptr; # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO if (dp->conversion == 'c' || dp->conversion == 's') /* No zero-padding for string directives. */ pad_ptr = NULL; else # endif { pad_ptr = (*rp == '-' ? rp + 1 : rp); /* No zero-padding of "inf" and "nan". */ if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) pad_ptr = NULL; } /* The generated string now extends from rp to p, with the zero padding insertion point being at pad_ptr. */ count = count + pad; /* = end - rp */ if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > rp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } } } } #endif /* Here still count <= allocated - length. */ #if !DCHAR_IS_TCHAR || USE_SNPRINTF /* The snprintf() result did fit. */ #else /* Append the sprintf() result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); #endif #if !USE_SNPRINTF if (tmp != tmpbuf) free (tmp); #endif #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') { /* Convert the %f result to upper case for %F. */ DCHAR_T *rp = result + length; size_t rc; for (rc = count; rc > 0; rc--, rp++) if (*rp >= 'a' && *rp <= 'z') *rp = *rp - 'a' + 'A'; } #endif length += count; break; } errno = orig_errno; #undef pad_ourselves #undef prec_ourselves } } } /* Add the final NUL. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; if (result != resultbuf && length + 1 < allocated) { /* Shrink the allocated memory if possible. */ DCHAR_T *memory; memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); if (memory != NULL) result = memory; } if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but that's only because snprintf() returns an 'int'. This function does not have this limitation. */ return result; #if USE_SNPRINTF overflow: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EOVERFLOW; return NULL; #endif out_of_memory: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); out_of_memory_1: CLEANUP (); errno = ENOMEM; return NULL; } } #undef MAX_ROOM_NEEDED #undef TCHARS_PER_DCHAR #undef SNPRINTF #undef USE_SNPRINTF #undef DCHAR_SET #undef DCHAR_CPY #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef DCHAR_IS_TCHAR #undef TCHAR_T #undef DCHAR_T #undef FCHAR_T #undef VASNPRINTF ����������������������������������������������������������������������������������������������coreutils-8.21/lib/wcswidth.c�����������������������������������������������������������������������0000664�0000000�0000000�00000001662�12071024546�013122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine number of screen columns needed for a size-bounded wide string. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #include <limits.h> #include "wcswidth-impl.h" ������������������������������������������������������������������������������coreutils-8.21/lib/backupfile.c���������������������������������������������������������������������0000664�0000000�0000000�00000024607�12071024545�013376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* backupfile.c -- make Emacs style backup file names Copyright (C) 1990-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and David MacKenzie. Some algorithms adapted from GNU Emacs. */ #include <config.h> #include "backupfile.h" #include "argmatch.h" #include "dirname.h" #include "xalloc.h" #include <errno.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #include <limits.h> #include <unistd.h> #include "dirent--.h" #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif #if D_INO_IN_DIRENT # define REAL_DIR_ENTRY(dp) ((dp)->d_ino != 0) #else # define REAL_DIR_ENTRY(dp) 1 #endif #if ! (HAVE_PATHCONF && defined _PC_NAME_MAX) # define pathconf(file, option) (errno = -1) #endif #ifndef _POSIX_NAME_MAX # define _POSIX_NAME_MAX 14 #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #if defined _XOPEN_NAME_MAX # define NAME_MAX_MINIMUM _XOPEN_NAME_MAX #else # define NAME_MAX_MINIMUM _POSIX_NAME_MAX #endif #ifndef HAVE_DOS_FILE_NAMES # define HAVE_DOS_FILE_NAMES 0 #endif #ifndef HAVE_LONG_FILE_NAMES # define HAVE_LONG_FILE_NAMES 0 #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* The extension added to file names to produce a simple (as opposed to numbered) backup file name. */ char const *simple_backup_suffix = "~"; /* If FILE (which was of length FILELEN before an extension was appended to it) is too long, replace the extension with the single char E. If the result is still too long, remove the char just before E. */ static void check_extension (char *file, size_t filelen, char e) { char *base = last_component (file); size_t baselen = base_len (base); size_t baselen_max = HAVE_LONG_FILE_NAMES ? 255 : NAME_MAX_MINIMUM; if (HAVE_DOS_FILE_NAMES || NAME_MAX_MINIMUM < baselen) { /* The new base name is long enough to require a pathconf check. */ long name_max; /* Temporarily modify the buffer into its parent directory name, invoke pathconf on the directory, and then restore the buffer. */ char tmp[sizeof "."]; memcpy (tmp, base, sizeof "."); strcpy (base, "."); errno = 0; name_max = pathconf (file, _PC_NAME_MAX); if (0 <= name_max || errno == 0) { long size = baselen_max = name_max; if (name_max != size) baselen_max = SIZE_MAX; } memcpy (base, tmp, sizeof "."); } if (HAVE_DOS_FILE_NAMES && baselen_max <= 12) { /* Live within DOS's 8.3 limit. */ char *dot = strchr (base, '.'); if (!dot) baselen_max = 8; else { char const *second_dot = strchr (dot + 1, '.'); baselen_max = (second_dot ? second_dot - base : dot + 1 - base + 3); } } if (baselen_max < baselen) { baselen = file + filelen - base; if (baselen_max <= baselen) baselen = baselen_max - 1; base[baselen] = e; base[baselen + 1] = '\0'; } } /* Returned values for NUMBERED_BACKUP. */ enum numbered_backup_result { /* The new backup name is the same length as an existing backup name, so it's valid for that directory. */ BACKUP_IS_SAME_LENGTH, /* Some backup names already exist, but the returned name is longer than any of them, and its length should be checked. */ BACKUP_IS_LONGER, /* There are no existing backup names. The new name's length should be checked. */ BACKUP_IS_NEW }; /* *BUFFER contains a file name. Store into *BUFFER the next backup name for the named file, with a version number greater than all the existing numbered backups. Reallocate *BUFFER as necessary; its initial allocated size is BUFFER_SIZE, which must be at least 4 bytes longer than the file name to make room for the initially appended ".~1". FILELEN is the length of the original file name. The returned value indicates what kind of backup was found. If an I/O or other read error occurs, use the highest backup number that was found. */ static enum numbered_backup_result numbered_backup (char **buffer, size_t buffer_size, size_t filelen) { enum numbered_backup_result result = BACKUP_IS_NEW; DIR *dirp; struct dirent *dp; char *buf = *buffer; size_t versionlenmax = 1; char *base = last_component (buf); size_t base_offset = base - buf; size_t baselen = base_len (base); /* Temporarily modify the buffer into its parent directory name, open the directory, and then restore the buffer. */ char tmp[sizeof "."]; memcpy (tmp, base, sizeof "."); strcpy (base, "."); dirp = opendir (buf); memcpy (base, tmp, sizeof "."); strcpy (base + baselen, ".~1~"); if (!dirp) return result; while ((dp = readdir (dirp)) != NULL) { char const *p; char *q; bool all_9s; size_t versionlen; size_t new_buflen; if (! REAL_DIR_ENTRY (dp) || _D_EXACT_NAMLEN (dp) < baselen + 4) continue; if (memcmp (buf + base_offset, dp->d_name, baselen + 2) != 0) continue; p = dp->d_name + baselen + 2; /* Check whether this file has a version number and if so, whether it is larger. Use string operations rather than integer arithmetic, to avoid problems with integer overflow. */ if (! ('1' <= *p && *p <= '9')) continue; all_9s = (*p == '9'); for (versionlen = 1; ISDIGIT (p[versionlen]); versionlen++) all_9s &= (p[versionlen] == '9'); if (! (p[versionlen] == '~' && !p[versionlen + 1] && (versionlenmax < versionlen || (versionlenmax == versionlen && memcmp (buf + filelen + 2, p, versionlen) <= 0)))) continue; /* This directory has the largest version number seen so far. Append this highest numbered extension to the file name, prepending '0' to the number if it is all 9s. */ versionlenmax = all_9s + versionlen; result = (all_9s ? BACKUP_IS_LONGER : BACKUP_IS_SAME_LENGTH); new_buflen = filelen + 2 + versionlenmax + 1; if (buffer_size <= new_buflen) { buf = xnrealloc (buf, 2, new_buflen); buffer_size = new_buflen * 2; } q = buf + filelen; *q++ = '.'; *q++ = '~'; *q = '0'; q += all_9s; memcpy (q, p, versionlen + 2); /* Add 1 to the version number. */ q += versionlen; while (*--q == '9') *q = '0'; ++*q; } closedir (dirp); *buffer = buf; return result; } /* Return the name of the new backup file for the existing file FILE, allocated with malloc. Report an error and fail if out of memory. Do not call this function if backup_type == no_backups. */ char * find_backup_file_name (char const *file, enum backup_type backup_type) { size_t filelen = strlen (file); char *s; size_t ssize; bool simple = true; /* Allow room for simple or ".~N~" backups. The guess must be at least sizeof ".~1~", but otherwise will be adjusted as needed. */ size_t simple_backup_suffix_size = strlen (simple_backup_suffix) + 1; size_t backup_suffix_size_guess = simple_backup_suffix_size; enum { GUESS = sizeof ".~12345~" }; if (backup_suffix_size_guess < GUESS) backup_suffix_size_guess = GUESS; ssize = filelen + backup_suffix_size_guess + 1; s = xmalloc (ssize); memcpy (s, file, filelen + 1); if (backup_type != simple_backups) switch (numbered_backup (&s, ssize, filelen)) { case BACKUP_IS_SAME_LENGTH: return s; case BACKUP_IS_LONGER: simple = false; break; case BACKUP_IS_NEW: simple = (backup_type == numbered_existing_backups); break; } if (simple) memcpy (s + filelen, simple_backup_suffix, simple_backup_suffix_size); check_extension (s, filelen, '~'); return s; } static char const * const backup_args[] = { /* In a series of synonyms, present the most meaningful first, so that argmatch_valid be more readable. */ "none", "off", "simple", "never", "existing", "nil", "numbered", "t", NULL }; static const enum backup_type backup_types[] = { no_backups, no_backups, simple_backups, simple_backups, numbered_existing_backups, numbered_existing_backups, numbered_backups, numbered_backups }; /* Ensure that these two vectors have the same number of elements, not counting the final NULL in the first one. */ ARGMATCH_VERIFY (backup_args, backup_types); /* Return the type of backup specified by VERSION. If VERSION is NULL or the empty string, return numbered_existing_backups. If VERSION is invalid or ambiguous, fail with a diagnostic appropriate for the specified CONTEXT. Unambiguous abbreviations are accepted. */ enum backup_type get_version (char const *context, char const *version) { if (version == 0 || *version == 0) return numbered_existing_backups; else return XARGMATCH (context, version, backup_args, backup_types); } /* Return the type of backup specified by VERSION. If VERSION is NULL, use the value of the envvar VERSION_CONTROL. If the specified string is invalid or ambiguous, fail with a diagnostic appropriate for the specified CONTEXT. Unambiguous abbreviations are accepted. */ enum backup_type xget_version (char const *context, char const *version) { if (version && *version) return get_version (context, version); else return get_version ("$VERSION_CONTROL", getenv ("VERSION_CONTROL")); } �������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/write-any-file.c�����������������������������������������������������������������0000664�0000000�0000000�00000002617�12071024546�014123� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether we can write any file. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "write-any-file.h" #include "priv-set.h" #include "root-uid.h" #include <unistd.h> /* Return true if we know that we can write any file, including writing directories. */ bool can_write_any_file (void) { static bool initialized; static bool can_write; if (! initialized) { bool can = false; #if defined PRIV_FILE_DAC_WRITE can = (priv_set_ismember (PRIV_FILE_DAC_WRITE) == 1); #else /* In traditional Unix, only root can unlink directories. */ can = (geteuid () == ROOT_UID); #endif can_write = can; initialized = true; } return can_write; } �����������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/msvc-inval.c���������������������������������������������������������������������0000664�0000000�0000000�00000007503�12071561011�013336� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invalid parameter handler for MSVC runtime libraries. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "msvc-inval.h" #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) /* Get _invalid_parameter_handler type and _set_invalid_parameter_handler declaration. */ # include <stdlib.h> # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING static void cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t dummy) { } # else /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> # if defined _MSC_VER static void cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t dummy) { RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); } # else /* An index to thread-local storage. */ static DWORD tls_index; static int tls_initialized /* = 0 */; /* Used as a fallback only. */ static struct gl_msvc_inval_per_thread not_per_thread; struct gl_msvc_inval_per_thread * gl_msvc_inval_current (void) { if (!tls_initialized) { tls_index = TlsAlloc (); tls_initialized = 1; } if (tls_index == TLS_OUT_OF_INDEXES) /* TlsAlloc had failed. */ return ¬_per_thread; else { struct gl_msvc_inval_per_thread *pointer = (struct gl_msvc_inval_per_thread *) TlsGetValue (tls_index); if (pointer == NULL) { /* First call. Allocate a new 'struct gl_msvc_inval_per_thread'. */ pointer = (struct gl_msvc_inval_per_thread *) malloc (sizeof (struct gl_msvc_inval_per_thread)); if (pointer == NULL) /* Could not allocate memory. Use the global storage. */ pointer = ¬_per_thread; TlsSetValue (tls_index, pointer); } return pointer; } } static void cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned int line, uintptr_t dummy) { struct gl_msvc_inval_per_thread *current = gl_msvc_inval_current (); if (current->restart_valid) longjmp (current->restart, 1); else /* An invalid parameter notification from outside the gnulib code. Give the caller a chance to intervene. */ RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL); } # endif # endif static int gl_msvc_inval_initialized /* = 0 */; void gl_msvc_inval_ensure_handler (void) { if (gl_msvc_inval_initialized == 0) { _set_invalid_parameter_handler (gl_msvc_invalid_parameter_handler); gl_msvc_inval_initialized = 1; } } #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wcswidth-impl.h������������������������������������������������������������������0000664�0000000�0000000�00000002401�12071024546�014056� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine number of screen columns needed for a size-bounded wide string. Copyright (C) 1999, 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 1999. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ int wcswidth (const wchar_t *s, size_t n) { int count = 0; for (; n > 0; s++, n--) { wchar_t c = *s; if (c == (wchar_t)'\0') break; { int width = wcwidth (c); if (width < 0) goto found_nonprinting; if (width > INT_MAX - count) goto overflow; count += width; } } return count; found_nonprinting: return -1; overflow: return INT_MAX; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xfreopen.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002636�12071024546�013116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* a wrapper for frepoen Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "xfreopen.h" #include <errno.h> #include "error.h" #include "exitfail.h" #include "quote.h" #include "stdio--.h" #include "gettext.h" #define _(msgid) gettext (msgid) void xfreopen (char const *filename, char const *mode, FILE *fp) { if (!freopen (filename, mode, fp)) { char const *f = (filename ? filename : (fp == stdin ? _("stdin") : (fp == stdout ? _("stdout") : (fp == stderr ? _("stderr") : _("unknown stream"))))); error (exit_failure, errno, _("failed to reopen %s with mode %s"), quote_n (0, f), quote_n (1, mode)); } } ��������������������������������������������������������������������������������������������������coreutils-8.21/lib/stpcpy.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002542�12071024546�012606� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* stpcpy.c -- copy a string and return pointer to end of new string Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <string.h> #undef __stpcpy #ifdef _LIBC # undef stpcpy #endif #ifndef weak_alias # define __stpcpy stpcpy #endif /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ char * __stpcpy (char *dest, const char *src) { register char *d = dest; register const char *s = src; do *d++ = *s; while (*s++ != '\0'); return d - 1; } #ifdef weak_alias weak_alias (__stpcpy, stpcpy) #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbiter.c�������������������������������������������������������������������������0000664�0000000�0000000�00000000120�12041503563�012532� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define MBITER_INLINE _GL_EXTERN_INLINE #include "mbiter.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fprintftime.h��������������������������������������������������������������������0000664�0000000�0000000�00000002345�12071024546�013621� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate time strings directly to the output. */ /* Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdio.h> #include <time.h> /* A cross between fprintf and nstrftime, that prints directly to the output stream, without the need for the potentially large buffer that nstrftime would require. Output to stream FP the result of formatting (according to the nstrftime format string, FMT) the time data, *TM, and the UTC and NANOSECONDS values. */ size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, int utc, int nanoseconds); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsalign.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003457�12102337340�013065� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Align/Truncate a string in a given screen width Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> typedef enum { MBS_ALIGN_LEFT, MBS_ALIGN_RIGHT, MBS_ALIGN_CENTER } mbs_align_t; enum { /* Use unibyte mode for invalid multibyte strings or when heap memory is exhausted. */ MBA_UNIBYTE_FALLBACK = 0x0001, /* As an optimization, don't do multibyte processing when we know no multibyte characters are present. */ MBA_UNIBYTE_ONLY = 0x0002, /* Don't add leading padding. */ MBA_NO_LEFT_PAD = 0x0004, /* Don't add trailing padding. */ MBA_NO_RIGHT_PAD = 0x0008 #if 0 /* Other possible options. */ /* Skip invalid multibyte chars rather than failing. */ MBA_IGNORE_INVALID /* Align multibyte strings using "figure space" (\u2007). */ MBA_USE_FIGURE_SPACE /* Don't truncate. */ MBA_NO_TRUNCATE /* Ensure no leading whitespace. */ MBA_LSTRIP /* Ensure no trailing whitespace. */ MBA_RSTRIP #endif }; size_t mbsalign (const char *src, char *dest, size_t dest_size, size_t *width, mbs_align_t align, int flags); char * ambsalign (const char *src, size_t *width, mbs_align_t align, int flags); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/se-context.in.h������������������������������������������������������������������0000664�0000000�0000000�00000002462�12071024546�013770� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef SELINUX_CONTEXT_H # define SELINUX_CONTEXT_H # include <errno.h> _GL_INLINE_HEADER_BEGIN #ifndef SE_CONTEXT_INLINE # define SE_CONTEXT_INLINE _GL_INLINE #endif /* The definition of _GL_UNUSED_PARAMETER is copied here. */ typedef int context_t; SE_CONTEXT_INLINE context_t context_new (char const *s _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return 0; } SE_CONTEXT_INLINE char *context_str (context_t con _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return (void *) 0; } SE_CONTEXT_INLINE void context_free (context_t c _GL_UNUSED_PARAMETER) {} SE_CONTEXT_INLINE int context_user_set (context_t sc _GL_UNUSED_PARAMETER, char const *s _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_CONTEXT_INLINE int context_role_set (context_t sc _GL_UNUSED_PARAMETER, char const *s _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_CONTEXT_INLINE int context_range_set (context_t sc _GL_UNUSED_PARAMETER, char const *s _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } SE_CONTEXT_INLINE int context_type_set (context_t sc _GL_UNUSED_PARAMETER, char const *s _GL_UNUSED_PARAMETER) { errno = ENOTSUP; return -1; } _GL_INLINE_HEADER_END #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isnand.c�������������������������������������������������������������������������0000664�0000000�0000000�00000001467�12071024546�012545� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2008. */ #include "isnan.c" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fopen-safer.c��������������������������������������������������������������������0000664�0000000�0000000�00000003076�12071024546�013474� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke fopen, but avoid some glitches. Copyright (C) 2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "stdio-safer.h" #include <errno.h> #include <unistd.h> #include "unistd-safer.h" /* Like fopen, but do not return stdin, stdout, or stderr. */ FILE * fopen_safer (char const *file, char const *mode) { FILE *fp = fopen (file, mode); if (fp) { int fd = fileno (fp); if (0 <= fd && fd <= STDERR_FILENO) { int f = dup_safer (fd); if (f < 0) { int e = errno; fclose (fp); errno = e; return NULL; } if (fclose (fp) != 0 || ! (fp = fdopen (f, mode))) { int e = errno; close (f); errno = e; return NULL; } } } return fp; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mountlist.h����������������������������������������������������������������������0000664�0000000�0000000�00000002770�12071024546�013332� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* mountlist.h -- declarations for list of mounted file systems Copyright (C) 1991-1992, 1998, 2000-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef MOUNTLIST_H_ # define MOUNTLIST_H_ # include <stdbool.h> # include <sys/types.h> /* A mount table entry. */ struct mount_entry { char *me_devname; /* Device node name, including "/dev/". */ char *me_mountdir; /* Mount point directory name. */ char *me_type; /* "nfs", "4.2", etc. */ dev_t me_dev; /* Device number of me_mountdir. */ unsigned int me_dummy : 1; /* Nonzero for dummy file systems. */ unsigned int me_remote : 1; /* Nonzero for remote fileystems. */ unsigned int me_type_malloced : 1; /* Nonzero if me_type was malloced. */ struct mount_entry *me_next; }; struct mount_entry *read_file_system_list (bool need_fs_type); #endif ��������coreutils-8.21/lib/mbtowc.c�������������������������������������������������������������������������0000664�0000000�0000000�00000001646�12071024546�012563� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert multibyte character to wide character. Copyright (C) 2011-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <wchar.h> #include "mbtowc-impl.h" ������������������������������������������������������������������������������������������coreutils-8.21/lib/fclose.c�������������������������������������������������������������������������0000664�0000000�0000000�00000005512�12071024546�012537� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fclose replacement. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> #include <errno.h> #include <unistd.h> #include "freading.h" #include "msvc-inval.h" #undef fclose #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int fclose_nothrow (FILE *fp) { int result; TRY_MSVC_INVAL { result = fclose (fp); } CATCH_MSVC_INVAL { result = EOF; errno = EBADF; } DONE_MSVC_INVAL; return result; } #else # define fclose_nothrow fclose #endif /* Override fclose() to call the overridden fflush() or close(). */ int rpl_fclose (FILE *fp) { int saved_errno = 0; int fd; int result = 0; /* Don't change behavior on memstreams. */ fd = fileno (fp); if (fd < 0) return fclose_nothrow (fp); /* We only need to flush the file if it is not reading or if it is seekable. This only guarantees the file position of input files if the fflush module is also in use. */ if ((!freading (fp) || lseek (fileno (fp), 0, SEEK_CUR) != -1) && fflush (fp)) saved_errno = errno; /* fclose() calls close(), but we need to also invoke all hooks that our overridden close() function invokes. See lib/close.c. */ #if WINDOWS_SOCKETS /* Call the overridden close(), then the original fclose(). Note about multithread-safety: There is a race condition where some other thread could open fd between our close and fclose. */ if (close (fd) < 0 && saved_errno == 0) saved_errno = errno; fclose_nothrow (fp); /* will fail with errno = EBADF, if we did not lose a race */ #else /* !WINDOWS_SOCKETS */ /* Call fclose() and invoke all hooks of the overridden close(). */ # if REPLACE_FCHDIR /* Note about multithread-safety: There is a race condition here as well. Some other thread could open fd between our calls to fclose and _gl_unregister_fd. */ result = fclose_nothrow (fp); if (result == 0) _gl_unregister_fd (fd); # else /* No race condition here. */ result = fclose_nothrow (fp); # endif #endif /* !WINDOWS_SOCKETS */ if (saved_errno != 0) { errno = saved_errno; result = EOF; } return result; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/open.c���������������������������������������������������������������������������0000664�0000000�0000000�00000013755�12071024546�012235� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Open a descriptor to a file. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ /* If the user's config.h happens to include <fcntl.h>, let it include only the system's <fcntl.h> here, so that orig_open doesn't recurse to rpl_open. */ #define __need_system_fcntl_h #include <config.h> /* Get the original definition of open. It might be defined as a macro. */ #include <fcntl.h> #include <sys/types.h> #undef __need_system_fcntl_h static int orig_open (const char *filename, int flags, mode_t mode) { return open (filename, flags, mode); } /* Specification. */ /* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <fcntl.h> above. */ #include "fcntl.h" #include <errno.h> #include <stdarg.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #ifndef REPLACE_OPEN_DIRECTORY # define REPLACE_OPEN_DIRECTORY 0 #endif int open (const char *filename, int flags, ...) { mode_t mode; int fd; mode = 0; if (flags & O_CREAT) { va_list arg; va_start (arg, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (arg, PROMOTED_MODE_T); va_end (arg); } #if GNULIB_defined_O_NONBLOCK /* The only known platform that lacks O_NONBLOCK is mingw, but it also lacks named pipes and Unix sockets, which are the only two file types that require non-blocking handling in open(). Therefore, it is safe to ignore O_NONBLOCK here. It is handy that mingw also lacks openat(), so that is also covered here. */ flags &= ~O_NONBLOCK; #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ if (strcmp (filename, "/dev/null") == 0) filename = "NUL"; #endif #if OPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and one of O_CREAT, O_WRONLY, O_RDWR is specified, then fail. Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html> says that "A pathname that contains at least one non-slash character and that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname." and "The special filename dot shall refer to the directory specified by its predecessor." If the named file already exists as a directory, then - if O_CREAT is specified, open() must fail because of the semantics of O_CREAT, - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX <http://www.opengroup.org/susv3/functions/open.html> says that it fails with errno = EISDIR in this case. If the named file does not exist or does not name a directory, then - if O_CREAT is specified, open() must fail since open() cannot create directories, - if O_WRONLY or O_RDWR is specified, open() must fail because the file does not contain a '.' directory. */ if (flags & (O_CREAT | O_WRONLY | O_RDWR)) { size_t len = strlen (filename); if (len > 0 && filename[len - 1] == '/') { errno = EISDIR; return -1; } } #endif fd = orig_open (filename, flags, mode); #if REPLACE_FCHDIR /* Implementing fchdir and fdopendir requires the ability to open a directory file descriptor. If open doesn't support that (as on mingw), we use a dummy file that behaves the same as directories on Linux (ie. always reports EOF on attempts to read()), and override fstat() in fchdir.c to hide the fact that we have a dummy. */ if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES && ((flags & O_ACCMODE) == O_RDONLY || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH))) { struct stat statbuf; if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode)) { /* Maximum recursion depth of 1. */ fd = open ("/dev/null", flags, mode); if (0 <= fd) fd = _gl_register_fd (fd, filename); } else errno = EACCES; } #endif #if OPEN_TRAILING_SLASH_BUG /* If the filename ends in a slash and fd does not refer to a directory, then fail. Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html> says that "A pathname that contains at least one non-slash character and that ends with one or more trailing slashes shall be resolved as if a single dot character ( '.' ) were appended to the pathname." and "The special filename dot shall refer to the directory specified by its predecessor." If the named file without the slash is not a directory, open() must fail with ENOTDIR. */ if (fd >= 0) { /* We know len is positive, since open did not fail with ENOENT. */ size_t len = strlen (filename); if (filename[len - 1] == '/') { struct stat statbuf; if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode)) { close (fd); errno = ENOTDIR; return -1; } } } #endif #if REPLACE_FCHDIR if (!REPLACE_OPEN_DIRECTORY && 0 <= fd) fd = _gl_register_fd (fd, filename); #endif return fd; } �������������������coreutils-8.21/lib/xprintf.c������������������������������������������������������������������������0000664�0000000�0000000�00000004303�12071024546�012753� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* printf wrappers that fail immediately for non-file-related errors Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "xprintf.h" #include <errno.h> #include "error.h" #include "exitfail.h" #include "gettext.h" /* written by Jim Meyering */ /* Just like printf, but call error if it fails without setting the stream's error indicator. */ int xprintf (char const *restrict format, ...) { va_list args; int retval; va_start (args, format); retval = xvprintf (format, args); va_end (args); return retval; } /* Just like vprintf, but call error if it fails without setting the stream's error indicator. */ int xvprintf (char const *restrict format, va_list args) { int retval = vprintf (format, args); if (retval < 0 && ! ferror (stdout)) error (exit_failure, errno, gettext ("cannot perform formatted output")); return retval; } /* Just like fprintf, but call error if it fails without setting the stream's error indicator. */ int xfprintf (FILE *restrict stream, char const *restrict format, ...) { va_list args; int retval; va_start (args, format); retval = xvfprintf (stream, format, args); va_end (args); return retval; } /* Just like vfprintf, but call error if it fails without setting the stream's error indicator. */ int xvfprintf (FILE *restrict stream, char const *restrict format, va_list args) { int retval = vfprintf (stream, format, args); if (retval < 0 && ! ferror (stream)) error (exit_failure, errno, gettext ("cannot perform formatted output")); return retval; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/chmodat.c������������������������������������������������������������������������0000664�0000000�0000000�00000000122�12041503563�012671� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define FCHMODAT_INLINE _GL_EXTERN_INLINE #include "openat.h" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/root-uid.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001755�12071024546�013040� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* The user ID that always has appropriate privileges in the POSIX sense. Copyright 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert. */ #ifndef ROOT_UID_H_ #define ROOT_UID_H_ /* The user ID that always has appropriate privileges in the POSIX sense. */ #ifdef __TANDEM # define ROOT_UID 65535 #else # define ROOT_UID 0 #endif #endif �������������������coreutils-8.21/lib/areadlink-with-size.c������������������������������������������������������������0000664�0000000�0000000�00000006273�12071024545�015143� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* readlink wrapper to return the link name in malloc'd storage. Unlike xreadlink and xreadlink_with_size, don't ever call exit. Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net> */ #include <config.h> #include "areadlink.h" #include <errno.h> #include <limits.h> #include <stdint.h> #include <stdlib.h> #include <unistd.h> #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif /* SYMLINK_MAX is used only for an initial memory-allocation sanity check, so it's OK to guess too small on hosts where there is no arbitrary limit to symbolic link length. */ #ifndef SYMLINK_MAX # define SYMLINK_MAX 1024 #endif #define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX) /* Call readlink to get the symbolic link value of FILE. SIZE is a hint as to how long the link is expected to be; typically it is taken from st_size. It need not be correct. Return a pointer to that NUL-terminated string in malloc'd storage. If readlink fails, malloc fails, or if the link value is longer than SSIZE_MAX, return NULL (caller may use errno to diagnose). */ char * areadlink_with_size (char const *file, size_t size) { /* Some buggy file systems report garbage in st_size. Defend against them by ignoring outlandish st_size values in the initial memory allocation. */ size_t symlink_max = SYMLINK_MAX; size_t INITIAL_LIMIT_BOUND = 8 * 1024; size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND ? symlink_max + 1 : INITIAL_LIMIT_BOUND); /* The initial buffer size for the link value. */ size_t buf_size = size < initial_limit ? size + 1 : initial_limit; while (1) { ssize_t r; size_t link_length; char *buffer = malloc (buf_size); if (buffer == NULL) return NULL; r = readlink (file, buffer, buf_size); link_length = r; /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 with errno == ERANGE if the buffer is too small. */ if (r < 0 && errno != ERANGE) { int saved_errno = errno; free (buffer); errno = saved_errno; return NULL; } if (link_length < buf_size) { buffer[link_length] = 0; return buffer; } free (buffer); if (buf_size <= MAXSIZE / 2) buf_size *= 2; else if (buf_size < MAXSIZE) buf_size = MAXSIZE; else { errno = ENOMEM; return NULL; } } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unlink.c�������������������������������������������������������������������������0000664�0000000�0000000�00000006527�12071024546�012573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around unlink bugs. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <unistd.h> #include <errno.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include "dosname.h" #undef unlink /* Remove file NAME. Return 0 if successful, -1 if not. */ int rpl_unlink (char const *name) { /* Work around Solaris 9 bug where unlink("file/") succeeds. */ size_t len = strlen (name); int result = 0; if (len && ISSLASH (name[len - 1])) { /* We can't unlink(2) something if it doesn't exist. If it does exist, then it resolved to a directory, due to the trailing slash, and POSIX requires that the unlink attempt to remove that directory (which would leave the symlink dangling). Unfortunately, Solaris 9 is one of the platforms where the root user can unlink directories, and we don't want to cripple this behavior on real directories, even if it is seldom needed (at any rate, it's nicer to let coreutils' unlink(1) give the correct errno for non-root users). But we don't know whether name was an actual directory, or a symlink to a directory; and due to the bug of ignoring trailing slash, Solaris 9 would end up successfully unlinking the symlink instead of the directory. Technically, we could use realpath to find the canonical directory name to attempt deletion on. But that is a lot of work for a corner case; so we instead just use an lstat on the shortened name, and reject symlinks with trailing slashes. The root user of unlink(1) will just have to live with the rule that they can't delete a directory via a symlink. */ struct stat st; result = lstat (name, &st); if (result == 0) { /* Trailing NUL will overwrite the trailing slash. */ char *short_name = malloc (len); if (!short_name) { errno = EPERM; return -1; } memcpy (short_name, name, len); while (len && ISSLASH (short_name[len - 1])) short_name[--len] = '\0'; if (len && (lstat (short_name, &st) || S_ISLNK (st.st_mode))) { free (short_name); errno = EPERM; return -1; } free (short_name); } } if (!result) { #if UNLINK_PARENT_BUG if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.' && (len == 2 || ISSLASH (name[len - 3]))) { errno = EISDIR; /* could also use EPERM */ return -1; } #endif result = unlink (name); } return result; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/quotearg.h�����������������������������������������������������������������������0000664�0000000�0000000�00000037074�12071024546�013130� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* quotearg.h - quote arguments for output Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert <eggert@twinsun.com> */ #ifndef QUOTEARG_H_ # define QUOTEARG_H_ 1 # include <stddef.h> /* Basic quoting styles. For each style, an example is given on the input strings "simple", "\0 \t\n'\"\033?""?/\\", and "a:b", using quotearg_buffer, quotearg_mem, and quotearg_colon_mem with that style and the default flags and quoted characters. Note that the examples are shown here as valid C strings rather than what displays on a terminal (with "??/" as a trigraph for "\\"). */ enum quoting_style { /* Output names as-is (ls --quoting-style=literal). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "\0 \t\n'\"\033??/\\", "a:b" quotearg: "simple", " \t\n'\"\033??/\\", "a:b" quotearg_colon: "simple", " \t\n'\"\033??/\\", "a:b" */ literal_quoting_style, /* Quote names for the shell if they contain shell metacharacters or would cause ambiguous output (ls --quoting-style=shell). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "'\0 \t\n'\\''\"\033??/\\'", "a:b" quotearg: "simple", "' \t\n'\\''\"\033??/\\'", "a:b" quotearg_colon: "simple", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_quoting_style, /* Quote names for the shell, even if they would normally not require quoting (ls --quoting-style=shell-always). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. Behaves like shell_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. quotearg_buffer: "'simple'", "'\0 \t\n'\\''\"\033??/\\'", "'a:b'" quotearg: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" quotearg_colon: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_always_quoting_style, /* Quote names as for a C language string (ls --quoting-style=c). Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. Split into consecutive strings if QA_SPLIT_TRIGRAPHS. quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" */ c_quoting_style, /* Like c_quoting_style except omit the surrounding double-quote characters if no quoted characters are encountered. quotearg_buffer: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg_colon: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" */ c_maybe_quoting_style, /* Like c_quoting_style except always omit the surrounding double-quote characters and ignore QA_SPLIT_TRIGRAPHS (ls --quoting-style=escape). quotearg_buffer: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg_colon: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a\\:b" */ escape_quoting_style, /* Like clocale_quoting_style, but use single quotes in the default C locale or if the program does not use gettext (ls --quoting-style=locale). For UTF-8 locales, quote characters will use Unicode. LC_MESSAGES=C quotearg_buffer: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg_colon: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a\\:b'" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ locale_quoting_style, /* Like c_quoting_style except use quotation marks appropriate for the locale and ignore QA_SPLIT_TRIGRAPHS (ls --quoting-style=clocale). LC_MESSAGES=C quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ clocale_quoting_style, /* Like clocale_quoting_style except use the custom quotation marks set by set_custom_quoting. If custom quotation marks are not set, the behavior is undefined. left_quote = right_quote = "'" quotearg_buffer: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a:b'" quotearg: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a:b'" quotearg_colon: "'simple'", "'\\0 \\t\\n\\'\"\\033??/\\\\'", "'a\\:b'" left_quote = "(" and right_quote = ")" quotearg_buffer: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a:b)" quotearg: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a:b)" quotearg_colon: "(simple)", "(\\0 \\t\\n'\"\\033??/\\\\)", "(a\\:b)" left_quote = ":" and right_quote = " " quotearg_buffer: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a:b " quotearg: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a:b " quotearg_colon: ":simple ", ":\\0\\ \\t\\n'\"\\033??/\\\\ ", ":a\\:b " left_quote = "\"'" and right_quote = "'\"" Notice that this is treated as a single level of quotes or two levels where the outer quote need not be escaped within the inner quotes. For two levels where the outer quote must be escaped within the inner quotes, you must use separate quotearg invocations. quotearg_buffer: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a:b'\"" quotearg: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a:b'\"" quotearg_colon: "\"'simple'\"", "\"'\\0 \\t\\n\\'\"\\033??/\\\\'\"", "\"'a\\:b'\"" */ custom_quoting_style }; /* Flags for use in set_quoting_flags. */ enum quoting_flags { /* Always elide null bytes from styles that do not quote them, even when the length of the result is available to the caller. */ QA_ELIDE_NULL_BYTES = 0x01, /* Omit the surrounding quote characters if no escaped characters are encountered. Note that if no other character needs escaping, then neither does the escape character. */ QA_ELIDE_OUTER_QUOTES = 0x02, /* In the c_quoting_style and c_maybe_quoting_style, split ANSI trigraph sequences into concatenated strings (for example, "?""?/" rather than "??/", which could be confused with "\\"). */ QA_SPLIT_TRIGRAPHS = 0x04 }; /* For now, --quoting-style=literal is the default, but this may change. */ # ifndef DEFAULT_QUOTING_STYLE # define DEFAULT_QUOTING_STYLE literal_quoting_style # endif /* Names of quoting styles and their corresponding values. */ extern char const *const quoting_style_args[]; extern enum quoting_style const quoting_style_vals[]; struct quoting_options; /* The functions listed below set and use a hidden variable that contains the default quoting style options. */ /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options *clone_quoting_options (struct quoting_options *o); /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o); /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s); /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). C must never be a digit or a letter that has special meaning after a backslash (for example, "\t" for tab). */ int set_char_quoting (struct quoting_options *o, char c, int i); /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i); /* In O (or in the default if O is null), set the value of the quoting style to custom_quoting_style, set the left quote to LEFT_QUOTE, and set the right quote to RIGHT_QUOTE. Each of LEFT_QUOTE and RIGHT_QUOTE must be null-terminated and can be the empty string. Because backslashes are used for escaping, it does not make sense for RIGHT_QUOTE to contain a backslash. RIGHT_QUOTE must not begin with a digit or a letter that has special meaning after a backslash (for example, "\t" for tab). */ void set_custom_quoting (struct quoting_options *o, char const *left_quote, char const *right_quote); /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is -1, use the string length of the argument for ARGSIZE. On output, BUFFER might contain embedded null bytes if ARGSIZE was not -1, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_buffer, except return the result in a newly allocated buffer. It is the caller's responsibility to free the result. The result will not contain embedded null bytes. */ char *quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_alloc, except that the length of the result, excluding the terminating null byte, is stored into SIZE if it is non-NULL. The result might contain embedded null bytes if ARGSIZE was not -1, SIZE was not NULL, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ char *quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o); /* Use storage slot N to return a quoted version of the string ARG. Use the default quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. The output of all functions in the quotearg_n family are guaranteed to not contain embedded null bytes.*/ char *quotearg_n (int n, char const *arg); /* Equivalent to quotearg_n (0, ARG). */ char *quotearg (char const *arg); /* Use storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n (N, ARG), except it can quote null bytes. */ char *quotearg_n_mem (int n, char const *arg, size_t argsize); /* Equivalent to quotearg_n_mem (0, ARG, ARGSIZE). */ char *quotearg_mem (char const *arg, size_t argsize); /* Use style S and storage slot N to return a quoted version of the string ARG. This is like quotearg_n (N, ARG), except that it uses S with no other options to specify the quoting method. */ char *quotearg_n_style (int n, enum quoting_style s, char const *arg); /* Use style S and storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n_style (N, S, ARG), except it can quote null bytes. */ char *quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize); /* Equivalent to quotearg_n_style (0, S, ARG). */ char *quotearg_style (enum quoting_style s, char const *arg); /* Equivalent to quotearg_n_style_mem (0, S, ARG, ARGSIZE). */ char *quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize); /* Like quotearg (ARG), except also quote any instances of CH. See set_char_quoting for a description of acceptable CH values. */ char *quotearg_char (char const *arg, char ch); /* Like quotearg_char (ARG, CH), except it can quote null bytes. */ char *quotearg_char_mem (char const *arg, size_t argsize, char ch); /* Equivalent to quotearg_char (ARG, ':'). */ char *quotearg_colon (char const *arg); /* Like quotearg_colon (ARG), except it can quote null bytes. */ char *quotearg_colon_mem (char const *arg, size_t argsize); /* Like quotearg_n_style (N, S, ARG) but with S as custom_quoting_style with left quote as LEFT_QUOTE and right quote as RIGHT_QUOTE. See set_custom_quoting for a description of acceptable LEFT_QUOTE and RIGHT_QUOTE values. */ char *quotearg_n_custom (int n, char const *left_quote, char const *right_quote, char const *arg); /* Like quotearg_n_custom (N, LEFT_QUOTE, RIGHT_QUOTE, ARG) except it can quote null bytes. */ char *quotearg_n_custom_mem (int n, char const *left_quote, char const *right_quote, char const *arg, size_t argsize); /* Equivalent to quotearg_n_custom (0, LEFT_QUOTE, RIGHT_QUOTE, ARG). */ char *quotearg_custom (char const *left_quote, char const *right_quote, char const *arg); /* Equivalent to quotearg_n_custom_mem (0, LEFT_QUOTE, RIGHT_QUOTE, ARG, ARGSIZE). */ char *quotearg_custom_mem (char const *left_quote, char const *right_quote, char const *arg, size_t argsize); /* Free any dynamically allocated memory. */ void quotearg_free (void); #endif /* !QUOTEARG_H_ */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawnattr_setflags.c�������������������������������������������������������������0000664�0000000�0000000�00000003200�12071024546�015167� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <errno.h> #include <string.h> #define ALL_FLAGS (POSIX_SPAWN_RESETIDS \ | POSIX_SPAWN_SETPGROUP \ | POSIX_SPAWN_SETSIGDEF \ | POSIX_SPAWN_SETSIGMASK \ | POSIX_SPAWN_SETSCHEDPARAM \ | POSIX_SPAWN_SETSCHEDULER \ | POSIX_SPAWN_USEVFORK) /* Store flags in the attribute structure. */ int posix_spawnattr_setflags (posix_spawnattr_t *attr, short int flags) { /* Check no invalid bits are set. */ if (flags & ~ALL_FLAGS) return EINVAL; /* Store the flag word. */ attr->_flags = flags; return 0; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mgetgroups.h���������������������������������������������������������������������0000664�0000000�0000000�00000001705�12071024546�013465� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Get a list of all group IDs associated with a specified user ID. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <sys/types.h> int mgetgroups (const char *username, gid_t gid, gid_t **groups); #if GNULIB_XGETGROUPS int xgetgroups (const char *username, gid_t gid, gid_t **groups); #endif �����������������������������������������������������������coreutils-8.21/lib/mgetgroups.c���������������������������������������������������������������������0000664�0000000�0000000�00000013774�12071024546�013471� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* mgetgroups.c -- return a list of the groups a user or current process is in Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Extracted from coreutils' src/id.c. */ #include <config.h> #include "mgetgroups.h" #include <stdlib.h> #include <unistd.h> #include <stdint.h> #include <string.h> #include <errno.h> #if HAVE_GETGROUPLIST # include <grp.h> #endif #include "getugroups.h" #include "xalloc-oversized.h" static gid_t * realloc_groupbuf (gid_t *g, size_t num) { if (xalloc_oversized (num, sizeof *g)) { errno = ENOMEM; return NULL; } return realloc (g, num * sizeof *g); } /* Like getugroups, but store the result in malloc'd storage. Set *GROUPS to the malloc'd list of all group IDs of which USERNAME is a member. If GID is not -1, store it first. GID should be the group ID (pw_gid) obtained from getpwuid, in case USERNAME is not listed in the groups database (e.g., /etc/groups). If USERNAME is NULL, store the supplementary groups of the current process, and GID should be -1 or the effective group ID (getegid). Upon failure, don't modify *GROUPS, set errno, and return -1. Otherwise, return the number of groups. The resulting list may contain duplicates, but adjacent members will be distinct. */ int mgetgroups (char const *username, gid_t gid, gid_t **groups) { int max_n_groups; int ng; gid_t *g; #if HAVE_GETGROUPLIST /* We prefer to use getgrouplist if available, because it has better performance characteristics. In glibc 2.3.2, getgrouplist is buggy. If you pass a zero as the length of the output buffer, getgrouplist will still write to the buffer. Contrary to what some versions of the getgrouplist manpage say, this doesn't happen with nonzero buffer sizes. Therefore our usage here just avoids a zero sized buffer. */ if (username) { enum { N_GROUPS_INIT = 10 }; max_n_groups = N_GROUPS_INIT; g = realloc_groupbuf (NULL, max_n_groups); if (g == NULL) return -1; while (1) { gid_t *h; int last_n_groups = max_n_groups; /* getgrouplist updates max_n_groups to num required. */ ng = getgrouplist (username, gid, g, &max_n_groups); /* Some systems (like Darwin) have a bug where they never increase max_n_groups. */ if (ng < 0 && last_n_groups == max_n_groups) max_n_groups *= 2; if ((h = realloc_groupbuf (g, max_n_groups)) == NULL) { int saved_errno = errno; free (g); errno = saved_errno; return -1; } g = h; if (0 <= ng) { *groups = g; /* On success some systems just return 0 from getgrouplist, so return max_n_groups rather than ng. */ return max_n_groups; } } } /* else no username, so fall through and use getgroups. */ #endif max_n_groups = (username ? getugroups (0, NULL, username, gid) : getgroups (0, NULL)); /* If we failed to count groups because there is no supplemental group support, then return an array containing just GID. Otherwise, we fail for the same reason. */ if (max_n_groups < 0) { if (errno == ENOSYS && (g = realloc_groupbuf (NULL, 1))) { *groups = g; *g = gid; return gid != (gid_t) -1; } return -1; } if (!username && gid != (gid_t) -1) max_n_groups++; g = realloc_groupbuf (NULL, max_n_groups); if (g == NULL) return -1; ng = (username ? getugroups (max_n_groups, g, username, gid) : getgroups (max_n_groups - (gid != (gid_t) -1), g + (gid != (gid_t) -1))); if (ng < 0) { /* Failure is unexpected, but handle it anyway. */ int saved_errno = errno; free (g); errno = saved_errno; return -1; } if (!username && gid != (gid_t) -1) { *g = gid; ng++; } *groups = g; /* Reduce the number of duplicates. On some systems, getgroups returns the effective gid twice: once as the first element, and once in its position within the supplementary groups. On other systems, getgroups does not return the effective gid at all, which is why we provide a GID argument. Meanwhile, the GID argument, if provided, is typically any member of the supplementary groups, and not necessarily the effective gid. So, the most likely duplicates are the first element with an arbitrary other element, or pair-wise duplication between the first and second elements returned by getgroups. It is possible that this O(n) pass will not remove all duplicates, but it is not worth the effort to slow down to an O(n log n) algorithm that sorts the array in place, nor the extra memory needed for duplicate removal via an O(n) hash-table. Hence, this function is only documented as guaranteeing no pair-wise duplicates, rather than returning the minimal set. */ if (1 < ng) { gid_t first = *g; gid_t *next; gid_t *groups_end = g + ng; for (next = g + 1; next < groups_end; next++) { if (*next == first || *next == *g) ng--; else *++g = *next; } } return ng; } ����coreutils-8.21/lib/memchr.valgrind������������������������������������������������������������������0000664�0000000�0000000�00000000652�11624727634�014136� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Suppress a valgrind message about use of uninitialized memory in memchr(). # POSIX states that when the character is found, memchr must not read extra # bytes in an overestimated length (for example, where memchr is used to # implement strnlen). However, we use a safe word read to provide a speedup. { memchr-value4 Memcheck:Value4 fun:rpl_memchr } { memchr-value8 Memcheck:Value8 fun:rpl_memchr } ��������������������������������������������������������������������������������������coreutils-8.21/lib/local.mk�������������������������������������������������������������������������0000664�0000000�0000000�00000000205�12050450171�012527� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������include lib/gnulib.mk # Allow "make distdir" to succeed before "make all" has run. dist-hook: $(noinst_LIBRARIES) .PHONY: dist-hook �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getugroups.h���������������������������������������������������������������������0000664�0000000�0000000�00000001601�12071024546�013470� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Get a list of group IDs associated with a specified user ID. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <sys/types.h> int getugroups (int maxcount, gid_t *grouplist, char const *username, gid_t gid); �������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gethrxtime.h���������������������������������������������������������������������0000664�0000000�0000000�00000002652�12071024546�013453� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* gethrxtime -- get high resolution real time Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef GETHRXTIME_H_ #define GETHRXTIME_H_ 1 #include "xtime.h" _GL_INLINE_HEADER_BEGIN #ifndef GETHRXTIME_INLINE # define GETHRXTIME_INLINE _GL_INLINE #endif #ifdef __cplusplus extern "C" { #endif /* Get the current time, as a count of the number of nanoseconds since an arbitrary epoch (e.g., the system boot time). Prefer a high-resolution clock that is not subject to resetting or drifting. */ #if HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME # include <time.h> GETHRXTIME_INLINE xtime_t gethrxtime (void) { return gethrtime (); } # else xtime_t gethrxtime (void); #endif _GL_INLINE_HEADER_END #ifdef __cplusplus } #endif #endif ��������������������������������������������������������������������������������������coreutils-8.21/lib/uniwidth/������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207523�013026� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/uniwidth/width.c�����������������������������������������������������������������0000664�0000000�0000000�00000050540�12071561014�014233� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine display width of Unicode character. Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "uniwidth.h" #include "cjk.h" /* * Non-spacing attribute table. * Consists of: * - Non-spacing characters; generated from PropList.txt or * "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" * - Format control characters; generated from * "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" * - Zero width characters; generated from * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" */ static const unsigned char nonspacing_table_data[27*64] = { /* 0x0000-0x01ff */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ /* 0x0200-0x03ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ /* 0x0400-0x05ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ /* 0x0600-0x07ff */ 0x0f, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */ /* 0x0800-0x09ff */ 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */ /* 0x0a00-0x0bff */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ 0x86, 0x39, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, /* 0x0a40-0x0a7f */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0ac0-0x0aff */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ 0x1e, 0x20, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ /* 0x0c00-0x0dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ /* 0x0e00-0x0fff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1b, /* 0x0e80-0x0ebf */ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ 0xdf, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ /* 0x1000-0x11ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */ 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */ 0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1180-0x11bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c0-0x11ff */ /* 0x1200-0x13ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ /* 0x1600-0x17ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, /* 0x1700-0x173f */ 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ /* 0x1800-0x19ff */ 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ /* 0x1a00-0x1bff */ 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ 0x03, 0x00, 0x00, 0x00, 0x3c, 0x03, 0x00, 0x00, /* 0x1b80-0x1bbf */ 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ /* 0x1c00-0x1dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf0, /* 0x1dc0-0x1dff */ /* 0x2000-0x21ff */ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ /* 0x2c00-0x2dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x2d40-0x2d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ /* 0x3000-0x31ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ /* 0xa600-0xa7ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa7c0-0xa7ff */ /* 0xa800-0xa9ff */ 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ /* 0xaa00-0xabff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ 0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */ /* 0xfa00-0xfbff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ /* 0xfe00-0xffff */ 0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ /* 0x10000-0x101ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10000-0x1003f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10040-0x1007f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10080-0x100bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x100c0-0x100ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10100-0x1013f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ /* 0x10a00-0x10bff */ 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ /* 0x11000-0x111ff */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ /* 0x1d000-0x1d1ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xf8, 0xff, /* 0x1d140-0x1d17f */ 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ /* 0x1d200-0x1d3ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1d3c0-0x1d3ff */ }; static const signed char nonspacing_table_ind[240] = { 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ 16, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ -1, -1, -1, 17, 18, 19, -1, -1, /* 0xa000-0xafff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ 22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */ 24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ 25, 26, -1, -1, -1, -1, -1, -1 /* 0x1d000-0x1dfff */ }; /* Determine number of column positions required for UC. */ int uc_width (ucs4_t uc, const char *encoding) { /* Test for non-spacing or control character. */ if ((uc >> 9) < 240) { int ind = nonspacing_table_ind[uc >> 9]; if (ind >= 0) if ((nonspacing_table_data[64*ind + ((uc >> 3) & 63)] >> (uc & 7)) & 1) { if (uc > 0 && uc < 0xa0) return -1; else return 0; } } else if ((uc >> 9) == (0xe0000 >> 9)) { if (uc >= 0xe0100) { if (uc <= 0xe01ef) return 0; } else { if (uc >= 0xe0020 ? uc <= 0xe007f : uc == 0xe0001) return 0; } } /* Test for double-width character. * Generated from "grep '^[^;]\{4,5\};[WF]' EastAsianWidth.txt" * and "grep '^[^;]\{4,5\};[^WF]' EastAsianWidth.txt" */ if (uc >= 0x1100 && ((uc < 0x1160) /* Hangul Jamo */ || (uc >= 0x2329 && uc < 0x232b) /* Angle Brackets */ || (uc >= 0x2e80 && uc < 0xa4d0 /* CJK ... Yi */ && !(uc == 0x303f) && !(uc >= 0x4dc0 && uc < 0x4e00)) || (uc >= 0xac00 && uc < 0xd7a4) /* Hangul Syllables */ || (uc >= 0xf900 && uc < 0xfb00) /* CJK Compatibility Ideographs */ || (uc >= 0xfe10 && uc < 0xfe20) /* Presentation Forms for Vertical */ || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */ || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */ || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */ || (uc >= 0x20000 && uc <= 0x2ffff) /* Supplementary Ideographic Plane */ || (uc >= 0x30000 && uc <= 0x3ffff) /* Tertiary Ideographic Plane */ ) ) return 2; /* In ancient CJK encodings, Cyrillic and most other characters are double-width as well. */ if (uc >= 0x00A1 && uc < 0xFF61 && uc != 0x20A9 && is_cjk_encoding (encoding)) return 2; return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/uniwidth/cjk.h�������������������������������������������������������������������0000664�0000000�0000000�00000003145�12071561014�013667� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for CJK encoding. Copyright (C) 2001-2002, 2005-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "streq.h" static int is_cjk_encoding (const char *encoding) { if (0 /* Legacy Japanese encodings */ || STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) /* Legacy Chinese encodings */ || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) || STREQ_OPT (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) || STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) /* Legacy Korean encodings */ || STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) || STREQ_OPT (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) || STREQ_OPT (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) return 1; return 0; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/binary-io.c����������������������������������������������������������������������0000664�0000000�0000000�00000000126�12041503563�013147� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define BINARY_IO_INLINE _GL_EXTERN_INLINE #include "binary-io.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readlinkat.c���������������������������������������������������������������������0000664�0000000�0000000�00000003600�12071024546�013376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Read a symlink relative to an open directory. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <unistd.h> /* Gnulib provides a readlink stub for mingw; use it for distinction between EINVAL and ENOENT, rather than always failing with ENOSYS. */ /* POSIX 2008 says that unlike readlink, readlinkat returns 0 for success instead of the buffer length. But this would render readlinkat worthless since readlink does not guarantee a NUL-terminated buffer. Assume this was a bug in POSIX. */ /* Read the contents of symlink FILE into buffer BUF of size LEN, in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then readlink/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ #define AT_FUNC_NAME readlinkat #define AT_FUNC_F1 readlink #define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len #define AT_FUNC_POST_FILE_ARGS , buf, len #define AT_FUNC_RESULT ssize_t #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS #undef AT_FUNC_RESULT ��������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/buffer-lcm.c���������������������������������������������������������������������0000664�0000000�0000000�00000003250�12102337340�013275� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* buffer-lcm.c - compute a good buffer size for dealing with two files Copyright (C) 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "buffer-lcm.h" /* Return a buffer size suitable for doing I/O with files whose block sizes are A and B. However, never return a value greater than LCM_MAX. */ size_t buffer_lcm (size_t a, size_t b, size_t lcm_max) { size_t size; /* Use reasonable values if buffer sizes are zero. */ if (!a) size = b ? b : 8 * 1024; else { if (b) { /* Return lcm (A, B) if it is in range; otherwise, fall back on A. */ size_t lcm, m, n, q, r; /* N = gcd (A, B). */ for (m = a, n = b; (r = m % n) != 0; m = n, n = r) continue; /* LCM = lcm (A, B), if in range. */ q = a / n; lcm = q * b; if (lcm <= lcm_max && lcm / b == q) return lcm; } size = a; } return size <= lcm_max ? size : lcm_max; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readtokens.c���������������������������������������������������������������������0000664�0000000�0000000�00000011642�12071024546�013424� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* readtokens.c -- Functions for reading tokens from an input stream. Copyright (C) 1990-1991, 1999-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Jim Meyering. */ /* This almost supersedes xreadline stuff -- using delim="\n" gives the same functionality, except that these functions would never return empty lines. */ #include <config.h> #include "readtokens.h" #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Initialize a tokenbuffer. */ void init_tokenbuffer (token_buffer *tokenbuffer) { tokenbuffer->size = 0; tokenbuffer->buffer = NULL; } typedef size_t word; enum { bits_per_word = sizeof (word) * CHAR_BIT }; static bool get_nth_bit (size_t n, word const *bitset) { return bitset[n / bits_per_word] >> n % bits_per_word & 1; } static void set_nth_bit (size_t n, word *bitset) { size_t one = 1; bitset[n / bits_per_word] |= one << n % bits_per_word; } /* Read a token from STREAM into TOKENBUFFER. A token is delimited by any of the N_DELIM bytes in DELIM. Upon return, the token is in tokenbuffer->buffer and has a trailing '\0' instead of any original delimiter. The function value is the length of the token not including the final '\0'. Upon EOF (i.e. on the call after the last token is read) or error, return -1 without modifying tokenbuffer. The EOF and error conditions may be distinguished in the caller by testing ferror (STREAM). This function works properly on lines containing NUL bytes and on files that do not end with a delimiter. */ size_t readtoken (FILE *stream, const char *delim, size_t n_delim, token_buffer *tokenbuffer) { char *p; int c; size_t i, n; word isdelim[(UCHAR_MAX + bits_per_word) / bits_per_word]; memset (isdelim, 0, sizeof isdelim); for (i = 0; i < n_delim; i++) { unsigned char ch = delim[i]; set_nth_bit (ch, isdelim); } /* skip over any leading delimiters */ for (c = getc (stream); c >= 0 && get_nth_bit (c, isdelim); c = getc (stream)) { /* empty */ } p = tokenbuffer->buffer; n = tokenbuffer->size; i = 0; for (;;) { if (c < 0 && i == 0) return -1; if (i == n) p = x2nrealloc (p, &n, sizeof *p); if (c < 0) { p[i] = 0; break; } if (get_nth_bit (c, isdelim)) { p[i] = 0; break; } p[i++] = c; c = getc (stream); } tokenbuffer->buffer = p; tokenbuffer->size = n; return i; } /* Build a NULL-terminated array of pointers to tokens read from STREAM. Return the number of tokens read. All storage is obtained through calls to xmalloc-like functions. %%% Question: is it worth it to do a single %%% realloc() of 'tokens' just before returning? */ size_t readtokens (FILE *stream, size_t projected_n_tokens, const char *delim, size_t n_delim, char ***tokens_out, size_t **token_lengths) { token_buffer tb, *token = &tb; char **tokens; size_t *lengths; size_t sz; size_t n_tokens; if (projected_n_tokens == 0) projected_n_tokens = 64; else projected_n_tokens++; /* add one for trailing NULL pointer */ sz = projected_n_tokens; tokens = xnmalloc (sz, sizeof *tokens); lengths = xnmalloc (sz, sizeof *lengths); n_tokens = 0; init_tokenbuffer (token); for (;;) { char *tmp; size_t token_length = readtoken (stream, delim, n_delim, token); if (n_tokens >= sz) { tokens = x2nrealloc (tokens, &sz, sizeof *tokens); lengths = xnrealloc (lengths, sz, sizeof *lengths); } if (token_length == (size_t) -1) { /* don't increment n_tokens for NULL entry */ tokens[n_tokens] = NULL; lengths[n_tokens] = 0; break; } tmp = xnmalloc (token_length + 1, sizeof *tmp); lengths[n_tokens] = token_length; tokens[n_tokens] = memcpy (tmp, token->buffer, token_length + 1); n_tokens++; } free (token->buffer); *tokens_out = tokens; if (token_lengths != NULL) *token_lengths = lengths; else free (lengths); return n_tokens; } ����������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_socket.c���������������������������������������������������������������������0000664�0000000�0000000�00000000134�12071024546�013445� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_SYS_SOCKET_INLINE _GL_EXTERN_INLINE #include "sys/socket.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stpncpy.c������������������������������������������������������������������������0000664�0000000�0000000�00000004124�12100637437�012764� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2013 Free Software * Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* This is almost copied from strncpy.c, written by Torbjorn Granlund. */ #include <config.h> /* Specification. */ #include <string.h> #ifndef weak_alias # define __stpncpy stpncpy #endif /* Copy no more than N bytes of SRC to DST, returning a pointer past the last non-NUL byte written into DST. */ char * (__stpncpy) (char *dest, const char *src, size_t n) { char c; char *s = dest; if (n >= 4) { size_t n4 = n >> 2; for (;;) { c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; if (--n4 == 0) goto last_chars; } n -= dest - s; goto zero_fill; } last_chars: n &= 3; if (n == 0) return dest; for (;;) { c = *src++; --n; *dest++ = c; if (c == '\0') break; if (n == 0) return dest; } zero_fill: while (n-- > 0) dest[n] = '\0'; return dest - 1; } #ifdef weak_alias weak_alias (__stpncpy, stpncpy) #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strstr.c�������������������������������������������������������������������������0000664�0000000�0000000�00000005777�12071561014�012636� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This particular implementation was written by Eric Blake, 2008. */ #ifndef _LIBC # include <config.h> #endif /* Specification of strstr. */ #include <string.h> #include <stdbool.h> #ifndef _LIBC # define __builtin_expect(expr, val) (expr) #endif #define RETURN_TYPE char * #define AVAILABLE(h, h_l, j, n_l) \ (!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \ && ((h_l) = (j) + (n_l))) #include "str-two-way.h" /* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK if NEEDLE is empty, otherwise NULL if NEEDLE is not found in HAYSTACK. */ char * strstr (const char *haystack_start, const char *needle_start) { const char *haystack = haystack_start; const char *needle = needle_start; size_t needle_len; /* Length of NEEDLE. */ size_t haystack_len; /* Known minimum length of HAYSTACK. */ bool ok = true; /* True if NEEDLE is prefix of HAYSTACK. */ /* Determine length of NEEDLE, and in the process, make sure HAYSTACK is at least as long (no point processing all of a long NEEDLE if HAYSTACK is too short). */ while (*haystack && *needle) ok &= *haystack++ == *needle++; if (*needle) return NULL; if (ok) return (char *) haystack_start; /* Reduce the size of haystack using strchr, since it has a smaller linear coefficient than the Two-Way algorithm. */ needle_len = needle - needle_start; haystack = strchr (haystack_start + 1, *needle_start); if (!haystack || __builtin_expect (needle_len == 1, 0)) return (char *) haystack; needle -= needle_len; haystack_len = (haystack > haystack_start + needle_len ? 1 : needle_len + haystack_start - haystack); /* Perform the search. Abstract memory is considered to be an array of 'unsigned char' values, not an array of 'char' values. See ISO C 99 section 6.2.6.1. */ if (needle_len < LONG_NEEDLE_THRESHOLD) return two_way_short_needle ((const unsigned char *) haystack, haystack_len, (const unsigned char *) needle, needle_len); return two_way_long_needle ((const unsigned char *) haystack, haystack_len, (const unsigned char *) needle, needle_len); } #undef LONG_NEEDLE_THRESHOLD �coreutils-8.21/lib/xmalloc.c������������������������������������������������������������������������0000664�0000000�0000000�00000006467�12071024546�012735� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xmalloc.c -- malloc with out of memory checking Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #define XALLOC_INLINE _GL_EXTERN_INLINE #include "xalloc.h" #include <stdlib.h> #include <string.h> /* 1 if calloc is known to be compatible with GNU calloc. This matters if we are not also using the calloc module, which defines HAVE_CALLOC_GNU and supports the GNU API even on non-GNU platforms. */ #if defined HAVE_CALLOC_GNU || (defined __GLIBC__ && !defined __UCLIBC__) enum { HAVE_GNU_CALLOC = 1 }; #else enum { HAVE_GNU_CALLOC = 0 }; #endif /* Allocate N bytes of memory dynamically, with error checking. */ void * xmalloc (size_t n) { void *p = malloc (n); if (!p && n != 0) xalloc_die (); return p; } /* Change the size of an allocated block of memory P to N bytes, with error checking. */ void * xrealloc (void *p, size_t n) { if (!n && p) { /* The GNU and C99 realloc behaviors disagree here. Act like GNU, even if the underlying realloc is C99. */ free (p); return NULL; } p = realloc (p, n); if (!p && n) xalloc_die (); return p; } /* If P is null, allocate a block of at least *PN bytes; otherwise, reallocate P so that it contains more than *PN bytes. *PN must be nonzero unless P is null. Set *PN to the new block's size, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. */ void * x2realloc (void *p, size_t *pn) { return x2nrealloc (p, pn, 1); } /* Allocate S bytes of zeroed memory dynamically, with error checking. There's no need for xnzalloc (N, S), since it would be equivalent to xcalloc (N, S). */ void * xzalloc (size_t s) { return memset (xmalloc (s), 0, s); } /* Allocate zeroed memory for N elements of S bytes, with error checking. S must be nonzero. */ void * xcalloc (size_t n, size_t s) { void *p; /* Test for overflow, since some calloc implementations don't have proper overflow checks. But omit overflow and size-zero tests if HAVE_GNU_CALLOC, since GNU calloc catches overflow and never returns NULL if successful. */ if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s)) || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) xalloc_die (); return p; } /* Clone an object P of size S, with error checking. There's no need for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any need for an arithmetic overflow check. */ void * xmemdup (void const *p, size_t s) { return memcpy (xmalloc (s), p, s); } /* Clone STRING. */ char * xstrdup (char const *string) { return xmemdup (string, strlen (string) + 1); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_types.in.h�������������������������������������������������������������������0000664�0000000�0000000�00000003175�12071561014�013737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a more complete sys/types.h. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #ifndef _@GUARD_PREFIX@_SYS_TYPES_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@ #ifndef _@GUARD_PREFIX@_SYS_TYPES_H #define _@GUARD_PREFIX@_SYS_TYPES_H /* Override off_t if Large File Support is requested on native Windows. */ #if @WINDOWS_64_BIT_OFF_T@ /* Same as int64_t in <stdint.h>. */ # if defined _MSC_VER # define off_t __int64 # else # define off_t long long int # endif /* Indicator, for gnulib internal purposes. */ # define _GL_WINDOWS_64_BIT_OFF_T 1 #endif /* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>. */ /* But avoid namespace pollution on glibc systems. */ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ && ! defined __GLIBC__ # include <stddef.h> #endif #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/openat-priv.h��������������������������������������������������������������������0000664�0000000�0000000�00000005063�12071024546�013536� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Internals for openat-like functions. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #ifndef _GL_HEADER_OPENAT_PRIV #define _GL_HEADER_OPENAT_PRIV #include <errno.h> #include <limits.h> #include <stdlib.h> /* Maximum number of bytes that it is safe to allocate as a single array on the stack, and that is known as a compile-time constant. The assumption is that we'll touch the array very quickly, or a temporary very near the array, provoking an out-of-memory trap. On some operating systems, there is only one guard page for the stack, and a page size can be as small as 4096 bytes. Subtract 64 in the hope that this will let the compiler touch a nearby temporary and provoke a trap. */ #define SAFER_ALLOCA_MAX (4096 - 64) #define SAFER_ALLOCA(m) ((m) < SAFER_ALLOCA_MAX ? (m) : SAFER_ALLOCA_MAX) #if defined PATH_MAX # define OPENAT_BUFFER_SIZE SAFER_ALLOCA (PATH_MAX) #elif defined _XOPEN_PATH_MAX # define OPENAT_BUFFER_SIZE SAFER_ALLOCA (_XOPEN_PATH_MAX) #else # define OPENAT_BUFFER_SIZE SAFER_ALLOCA (1024) #endif char *openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file); /* Trying to access a BUILD_PROC_NAME file will fail on systems without /proc support, and even on systems *with* ProcFS support. Return nonzero if the failure may be legitimate, e.g., because /proc is not readable, or the particular .../fd/N directory is not present. */ #define EXPECTED_ERRNO(Errno) \ ((Errno) == ENOTDIR || (Errno) == ENOENT \ || (Errno) == EPERM || (Errno) == EACCES \ || (Errno) == ENOSYS /* Solaris 8 */ \ || (Errno) == EOPNOTSUPP /* FreeBSD */) /* Wrapper function shared among linkat and renameat. */ int at_func2 (int fd1, char const *file1, int fd2, char const *file2, int (*func) (char const *file1, char const *file2)); #endif /* _GL_HEADER_OPENAT_PRIV */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirchownmod.h��������������������������������������������������������������������0000664�0000000�0000000�00000000142�11624727634�013613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <sys/types.h> int dirchownmod (int, char const *, mode_t, uid_t, gid_t, mode_t, mode_t); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkdir-p.h������������������������������������������������������������������������0000664�0000000�0000000�00000002626�12071024546�012637� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* mkdir-p.h -- Ensure that a directory and its parents exist. Copyright (C) 1994-1997, 2000, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert, David MacKenzie, and Jim Meyering. */ #include <stdbool.h> #include <sys/types.h> struct savewd; bool make_dir_parents (char *dir, struct savewd *wd, int (*make_ancestor) (char const *, char const *, void *), void *options, mode_t mode, void (*announce) (char const *, void *), mode_t mode_bits, uid_t owner, gid_t group, bool preserve_existing); ����������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbswidth.h�����������������������������������������������������������������������0000664�0000000�0000000�00000004176�12071024546�013117� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine the number of screen columns needed for a string. Copyright (C) 2000-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> /* Avoid a clash of our mbswidth() with a function of the same name defined in UnixWare 7.1.1 <wchar.h>. We need this #include before the #define below. However, we don't want to #include <wchar.h> on all platforms because - Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. - BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before <wchar.h>. */ #if HAVE_DECL_MBSWIDTH_IN_WCHAR_H # include <wchar.h> #endif #ifdef __cplusplus extern "C" { #endif /* Optional flags to influence mbswidth/mbsnwidth behavior. */ /* If this bit is set, return -1 upon finding an invalid or incomplete character. Otherwise, assume invalid characters have width 1. */ #define MBSW_REJECT_INVALID 1 /* If this bit is set, return -1 upon finding a non-printable character. Otherwise, assume unprintable characters have width 0 if they are control characters and 1 otherwise. */ #define MBSW_REJECT_UNPRINTABLE 2 /* Returns the number of screen columns needed for STRING. */ #define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */ extern int mbswidth (const char *string, int flags); /* Returns the number of screen columns needed for the NBYTES bytes starting at BUF. */ extern int mbsnwidth (const char *buf, size_t nbytes, int flags); #ifdef __cplusplus } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xmemcoll.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000177�11624727635�013127� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stddef.h> int xmemcoll (char *, size_t, char *, size_t); int xmemcoll0 (char const *, size_t, char const *, size_t); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-osf.gperf�������������������������������������������������������������0000664�0000000�0000000�00000002002�11624727634�015073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On OSF/1 5.1, look in /usr/lib/nls/loc/iconv. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" CP437, "cp437" CP775, "cp775" CP850, "cp850" CP852, "cp852" CP855, "cp855" CP857, "cp857" CP861, "cp861" CP862, "cp862" CP865, "cp865" CP866, "cp866" CP869, "cp869" CP874, "cp874" CP949, "KSC5601" CP1250, "cp1250" CP1251, "cp1251" CP1252, "cp1252" CP1253, "cp1253" CP1254, "cp1254" CP1255, "cp1255" CP1256, "cp1256" CP1257, "cp1257" CP1258, "cp1258" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" BIG5, "big5" SHIFT_JIS, "SJIS" TIS-620, "TACTIS" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strftime.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002306�12071024546�013124� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* declarations for strftime.c Copyright (C) 2002, 2004, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <time.h> #ifdef __cplusplus extern "C" { #endif /* Just like strftime, but with two more arguments: POSIX requires that strftime use the local timezone information. When __UTC is nonzero and tm->tm_zone is NULL or the empty string, use UTC instead. Use __NS as the number of nanoseconds in the %N directive. */ size_t nstrftime (char *, size_t, char const *, struct tm const *, int __utc, int __ns); #ifdef __cplusplus } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_utsname.in.h�����������������������������������������������������������������0000664�0000000�0000000�00000005613�12071561014�014246� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for <sys/utsname.h>. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SYS_UTSNAME_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if @HAVE_SYS_UTSNAME_H@ /* Minix 3.1.8 has a bug: <stddef.h> must be included before <sys/utsname.h>. But avoid namespace pollution on glibc systems. */ # if defined __minix && !defined __GLIBC__ # include <stddef.h> # endif # @INCLUDE_NEXT@ @NEXT_SYS_UTSNAME_H@ #endif #define _@GUARD_PREFIX@_SYS_UTSNAME_H /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #ifdef __cplusplus extern "C" { #endif #if !@HAVE_STRUCT_UTSNAME@ /* Length of the entries in 'struct utsname' is 256. */ # define _UTSNAME_LENGTH 256 # ifndef _UTSNAME_NODENAME_LENGTH # define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH # endif # ifndef _UTSNAME_SYSNAME_LENGTH # define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH # endif # ifndef _UTSNAME_RELEASE_LENGTH # define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH # endif # ifndef _UTSNAME_VERSION_LENGTH # define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH # endif # ifndef _UTSNAME_MACHINE_LENGTH # define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH # endif # if !GNULIB_defined_struct_utsname /* Structure describing the system and machine. */ struct utsname { /* Name of this node on the network. */ char nodename[_UTSNAME_NODENAME_LENGTH]; /* Name of the implementation of the operating system. */ char sysname[_UTSNAME_SYSNAME_LENGTH]; /* Current release level of this implementation. */ char release[_UTSNAME_RELEASE_LENGTH]; /* Current version level of this release. */ char version[_UTSNAME_VERSION_LENGTH]; /* Name of the hardware type the system is running on. */ char machine[_UTSNAME_MACHINE_LENGTH]; }; # define GNULIB_defined_struct_utsname 1 # endif #endif /* !@HAVE_STRUCT_UTSNAME@ */ #if @GNULIB_UNAME@ # if !@HAVE_UNAME@ extern int uname (struct utsname *buf) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef uname # if HAVE_RAW_DECL_UNAME _GL_WARN_ON_USE (uname, "uname is unportable - " "use gnulib module uname for portability"); # endif #endif #ifdef __cplusplus } #endif #endif /* _@GUARD_PREFIX@_SYS_UTSNAME_H */ ���������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regcomp.c������������������������������������������������������������������������0000664�0000000�0000000�00000335454�12100641465�012731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Extended regular expression matching and search library. Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap); static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset); #endif /* RE_ENABLE_I18N */ static void free_workarea_compile (regex_t *preg); static reg_errcode_t create_initial_state (re_dfa_t *dfa); #ifdef RE_ENABLE_I18N static void optimize_utf8 (re_dfa_t *dfa); #endif static reg_errcode_t analyze (regex_t *preg); static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node); static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node); static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node); static reg_errcode_t calc_first (void *extra, bin_tree_t *node); static reg_errcode_t calc_next (void *extra, bin_tree_t *node); static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node); static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint); static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint); static reg_errcode_t calc_eclosure (re_dfa_t *dfa); static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root); static reg_errcode_t calc_inveclosure (re_dfa_t *dfa); static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax); static int peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) internal_function; static bin_tree_t *parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_dup_op (bin_tree_t *dup_elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen); static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token); #ifdef RE_ENABLE_I18N static reg_errcode_t build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const char *class_name, reg_syntax_t syntax); #else /* not RE_ENABLE_I18N */ static reg_errcode_t build_equiv_class (bitset_t sbcset, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const char *class_name, reg_syntax_t syntax); #endif /* not RE_ENABLE_I18N */ static bin_tree_t *build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const char *class_name, const char *extra, bool non_match, reg_errcode_t *err); static bin_tree_t *create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type); static bin_tree_t *create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token); static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa); static void free_token (re_token_t *node); static reg_errcode_t free_tree (void *extra, bin_tree_t *node); static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node); /* This table gives an error message for each of the error codes listed in regex.h. Obviously the order here has to be same as there. POSIX doesn't require that we do anything for REG_NOERROR, but why not be nice? */ static const char __re_error_msgid[] = { #define REG_NOERROR_IDX 0 gettext_noop ("Success") /* REG_NOERROR */ "\0" #define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") gettext_noop ("No match") /* REG_NOMATCH */ "\0" #define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") gettext_noop ("Invalid regular expression") /* REG_BADPAT */ "\0" #define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression") gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ "\0" #define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character") gettext_noop ("Invalid character class name") /* REG_ECTYPE */ "\0" #define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name") gettext_noop ("Trailing backslash") /* REG_EESCAPE */ "\0" #define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash") gettext_noop ("Invalid back reference") /* REG_ESUBREG */ "\0" #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference") gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ "\0" #define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ "\0" #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") gettext_noop ("Unmatched \\{") /* REG_EBRACE */ "\0" #define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ "\0" #define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}") gettext_noop ("Invalid range end") /* REG_ERANGE */ "\0" #define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") gettext_noop ("Memory exhausted") /* REG_ESPACE */ "\0" #define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */ "\0" #define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression") gettext_noop ("Premature end of regular expression") /* REG_EEND */ "\0" #define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression") gettext_noop ("Regular expression too big") /* REG_ESIZE */ "\0" #define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big") gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ }; static const size_t __re_error_msgid_idx[] = { REG_NOERROR_IDX, REG_NOMATCH_IDX, REG_BADPAT_IDX, REG_ECOLLATE_IDX, REG_ECTYPE_IDX, REG_EESCAPE_IDX, REG_ESUBREG_IDX, REG_EBRACK_IDX, REG_EPAREN_IDX, REG_EBRACE_IDX, REG_BADBR_IDX, REG_ERANGE_IDX, REG_ESPACE_IDX, REG_BADRPT_IDX, REG_EEND_IDX, REG_ESIZE_IDX, REG_ERPAREN_IDX }; /* Entry points for GNU code. */ /* re_compile_pattern is the GNU regular expression compiler: it compiles PATTERN (of length LENGTH) and puts the result in BUFP. Returns 0 if the pattern was valid, otherwise an error string. Assumes the 'allocated' (and perhaps 'buffer') and 'translate' fields are set in BUFP on entry. */ #ifdef _LIBC const char * re_compile_pattern (pattern, length, bufp) const char *pattern; size_t length; struct re_pattern_buffer *bufp; #else /* size_t might promote */ const char * re_compile_pattern (const char *pattern, size_t length, struct re_pattern_buffer *bufp) #endif { reg_errcode_t ret; /* And GNU code determines whether or not to get register information by passing null for the REGS argument to re_match, etc., not by setting no_sub, unless RE_NO_SUB is set. */ bufp->no_sub = !!(re_syntax_options & RE_NO_SUB); /* Match anchors at newline. */ bufp->newline_anchor = 1; ret = re_compile_internal (bufp, pattern, length, re_syntax_options); if (!ret) return NULL; return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC weak_alias (__re_compile_pattern, re_compile_pattern) #endif /* Set by 're_set_syntax' to the current regexp syntax to recognize. Can also be assigned to arbitrarily: each pattern buffer stores its own syntax, so it can be changed between regex compilations. */ /* This has no initializer because initialized variables in Emacs become read-only after dumping. */ reg_syntax_t re_syntax_options; /* Specify the precise syntax of regexps for compilation. This provides for compatibility for various utilities which historically have different, incompatible syntaxes. The argument SYNTAX is a bit mask comprised of the various bits defined in regex.h. We return the old syntax. */ reg_syntax_t re_set_syntax (syntax) reg_syntax_t syntax; { reg_syntax_t ret = re_syntax_options; re_syntax_options = syntax; return ret; } #ifdef _LIBC weak_alias (__re_set_syntax, re_set_syntax) #endif int re_compile_fastmap (bufp) struct re_pattern_buffer *bufp; { re_dfa_t *dfa = bufp->buffer; char *fastmap = bufp->fastmap; memset (fastmap, '\0', sizeof (char) * SBC_MAX); re_compile_fastmap_iter (bufp, dfa->init_state, fastmap); if (dfa->init_state != dfa->init_state_word) re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap); if (dfa->init_state != dfa->init_state_nl) re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap); if (dfa->init_state != dfa->init_state_begbuf) re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap); bufp->fastmap_accurate = 1; return 0; } #ifdef _LIBC weak_alias (__re_compile_fastmap, re_compile_fastmap) #endif static inline void __attribute ((always_inline)) re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; if (icase) fastmap[tolower (ch)] = 1; } /* Helper function for re_compile_fastmap. Compile fastmap for the initial_state INIT_STATE. */ static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap) { re_dfa_t *dfa = bufp->buffer; Idx node_cnt; bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) { Idx node = init_state->nodes.elems[node_cnt]; re_token_type_t type = dfa->nodes[node].type; if (type == CHARACTER) { re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); #ifdef RE_ENABLE_I18N if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { unsigned char buf[MB_LEN_MAX]; unsigned char *p; wchar_t wc; mbstate_t state; p = buf; *p++ = dfa->nodes[node].opr.c; while (++node < dfa->nodes_len && dfa->nodes[node].type == CHARACTER && dfa->nodes[node].mb_partial) *p++ = dfa->nodes[node].opr.c; memset (&state, '\0', sizeof (state)); if (__mbrtowc (&wc, (const char *) buf, p - buf, &state) == p - buf && (__wcrtomb ((char *) buf, towlower (wc), &state) != (size_t) -1)) re_set_fastmap (fastmap, false, buf[0]); } #endif } else if (type == SIMPLE_BRACKET) { int i, ch; for (i = 0, ch = 0; i < BITSET_WORDS; ++i) { int j; bitset_word_t w = dfa->nodes[node].opr.sbcset[i]; for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (w & ((bitset_word_t) 1 << j)) re_set_fastmap (fastmap, icase, ch); } } #ifdef RE_ENABLE_I18N else if (type == COMPLEX_BRACKET) { re_charset_t *cset = dfa->nodes[node].opr.mbcset; Idx i; # ifdef _LIBC /* See if we have to try all bytes which start multiple collation elements. e.g. In da_DK, we want to catch 'a' since "aa" is a valid collation element, and don't catch 'b' since 'b' is the only collation element which starts from 'b' (and it is caught by SIMPLE_BRACKET). */ if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0 && (cset->ncoll_syms || cset->nranges)) { const int32_t *table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); for (i = 0; i < SBC_MAX; ++i) if (table[i] < 0) re_set_fastmap (fastmap, icase, i); } # endif /* _LIBC */ /* See if we have to start the match at all multibyte characters, i.e. where we would not find an invalid sequence. This only applies to multibyte character sets; for single byte character sets, the SIMPLE_BRACKET again suffices. */ if (dfa->mb_cur_max > 1 && (cset->nchar_classes || cset->non_match || cset->nranges # ifdef _LIBC || cset->nequiv_classes # endif /* _LIBC */ )) { unsigned char c = 0; do { mbstate_t mbs; memset (&mbs, 0, sizeof (mbs)); if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2) re_set_fastmap (fastmap, false, (int) c); } while (++c != 0); } else { /* ... Else catch all bytes which can start the mbchars. */ for (i = 0; i < cset->nmbchars; ++i) { char buf[256]; mbstate_t state; memset (&state, '\0', sizeof (state)); if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) re_set_fastmap (fastmap, icase, *(unsigned char *) buf); if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) != (size_t) -1) re_set_fastmap (fastmap, false, *(unsigned char *) buf); } } } } #endif /* RE_ENABLE_I18N */ else if (type == OP_PERIOD #ifdef RE_ENABLE_I18N || type == OP_UTF8_PERIOD #endif /* RE_ENABLE_I18N */ || type == END_OF_RE) { memset (fastmap, '\1', sizeof (char) * SBC_MAX); if (type == END_OF_RE) bufp->can_be_null = 1; return; } } } /* Entry point for POSIX code. */ /* regcomp takes a regular expression as a string and compiles it. PREG is a regex_t *. We do not expect any fields to be initialized, since POSIX says we shouldn't. Thus, we set 'buffer' to the compiled pattern; 'used' to the length of the compiled pattern; 'syntax' to RE_SYNTAX_POSIX_EXTENDED if the REG_EXTENDED bit in CFLAGS is set; otherwise, to RE_SYNTAX_POSIX_BASIC; 'newline_anchor' to REG_NEWLINE being set in CFLAGS; 'fastmap' to an allocated space for the fastmap; 'fastmap_accurate' to zero; 're_nsub' to the number of subexpressions in PATTERN. PATTERN is the address of the pattern string. CFLAGS is a series of bits which affect compilation. If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we use POSIX basic syntax. If REG_NEWLINE is set, then . and [^...] don't match newline. Also, regexec will try a match beginning after every newline. If REG_ICASE is set, then we considers upper- and lowercase versions of letters to be equivalent when matching. If REG_NOSUB is set, then when PREG is passed to regexec, that routine will report only success or failure, and nothing about the registers. It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for the return codes and their meanings.) */ int regcomp (preg, pattern, cflags) regex_t *_Restrict_ preg; const char *_Restrict_ pattern; int cflags; { reg_errcode_t ret; reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC); preg->buffer = NULL; preg->allocated = 0; preg->used = 0; /* Try to allocate space for the fastmap. */ preg->fastmap = re_malloc (char, SBC_MAX); if (BE (preg->fastmap == NULL, 0)) return REG_ESPACE; syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0; /* If REG_NEWLINE is set, newlines are treated differently. */ if (cflags & REG_NEWLINE) { /* REG_NEWLINE implies neither . nor [^...] match newline. */ syntax &= ~RE_DOT_NEWLINE; syntax |= RE_HAT_LISTS_NOT_NEWLINE; /* It also changes the matching behavior. */ preg->newline_anchor = 1; } else preg->newline_anchor = 0; preg->no_sub = !!(cflags & REG_NOSUB); preg->translate = NULL; ret = re_compile_internal (preg, pattern, strlen (pattern), syntax); /* POSIX doesn't distinguish between an unmatched open-group and an unmatched close-group: both are REG_EPAREN. */ if (ret == REG_ERPAREN) ret = REG_EPAREN; /* We have already checked preg->fastmap != NULL. */ if (BE (ret == REG_NOERROR, 1)) /* Compute the fastmap now, since regexec cannot modify the pattern buffer. This function never fails in this implementation. */ (void) re_compile_fastmap (preg); else { /* Some error occurred while compiling the expression. */ re_free (preg->fastmap); preg->fastmap = NULL; } return (int) ret; } #ifdef _LIBC weak_alias (__regcomp, regcomp) #endif /* Returns a message corresponding to an error code, ERRCODE, returned from either regcomp or regexec. We don't use PREG here. */ #ifdef _LIBC size_t regerror (errcode, preg, errbuf, errbuf_size) int errcode; const regex_t *_Restrict_ preg; char *_Restrict_ errbuf; size_t errbuf_size; #else /* size_t might promote */ size_t regerror (int errcode, const regex_t *_Restrict_ preg _UNUSED_PARAMETER_, char *_Restrict_ errbuf, size_t errbuf_size) #endif { const char *msg; size_t msg_size; if (BE (errcode < 0 || errcode >= (int) (sizeof (__re_error_msgid_idx) / sizeof (__re_error_msgid_idx[0])), 0)) /* Only error codes returned by the rest of the code should be passed to this routine. If we are given anything else, or if other regex code generates an invalid error code, then the program has a bug. Dump core so we can fix it. */ abort (); msg = gettext (__re_error_msgid + __re_error_msgid_idx[errcode]); msg_size = strlen (msg) + 1; /* Includes the null. */ if (BE (errbuf_size != 0, 1)) { size_t cpy_size = msg_size; if (BE (msg_size > errbuf_size, 0)) { cpy_size = errbuf_size - 1; errbuf[cpy_size] = '\0'; } memcpy (errbuf, msg, cpy_size); } return msg_size; } #ifdef _LIBC weak_alias (__regerror, regerror) #endif #ifdef RE_ENABLE_I18N /* This static array is used for the map to single-byte characters when UTF-8 is used. Otherwise we would allocate memory just to initialize it the same all the time. UTF-8 is the preferred encoding so this is a worthwhile optimization. */ static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ # ifdef __GNUC__ [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX # else # if 4 * BITSET_WORD_BITS < ASCII_CHARS # error "bitset_word_t is narrower than 32 bits" # elif 3 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 2 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 1 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, # endif (BITSET_WORD_MAX >> (SBC_MAX % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) # endif }; #endif static void free_dfa_content (re_dfa_t *dfa) { Idx i, j; if (dfa->nodes) for (i = 0; i < dfa->nodes_len; ++i) free_token (dfa->nodes + i); re_free (dfa->nexts); for (i = 0; i < dfa->nodes_len; ++i) { if (dfa->eclosures != NULL) re_node_set_free (dfa->eclosures + i); if (dfa->inveclosures != NULL) re_node_set_free (dfa->inveclosures + i); if (dfa->edests != NULL) re_node_set_free (dfa->edests + i); } re_free (dfa->edests); re_free (dfa->eclosures); re_free (dfa->inveclosures); re_free (dfa->nodes); if (dfa->state_table) for (i = 0; i <= dfa->state_hash_mask; ++i) { struct re_state_table_entry *entry = dfa->state_table + i; for (j = 0; j < entry->num; ++j) { re_dfastate_t *state = entry->array[j]; free_state (state); } re_free (entry->array); } re_free (dfa->state_table); #ifdef RE_ENABLE_I18N if (dfa->sb_char != utf8_sb_map) re_free (dfa->sb_char); #endif re_free (dfa->subexp_map); #ifdef DEBUG re_free (dfa->re_str); #endif re_free (dfa); } /* Free dynamically allocated space used by PREG. */ void regfree (preg) regex_t *preg; { re_dfa_t *dfa = preg->buffer; if (BE (dfa != NULL, 1)) free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; re_free (preg->fastmap); preg->fastmap = NULL; re_free (preg->translate); preg->translate = NULL; } #ifdef _LIBC weak_alias (__regfree, regfree) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC /* BSD has one and only one pattern buffer. */ static struct re_pattern_buffer re_comp_buf; char * # ifdef _LIBC /* Make these definitions weak in libc, so POSIX programs can redefine these names if they don't use our functions, and still use regcomp/regexec above without link errors. */ weak_function # endif re_comp (s) const char *s; { reg_errcode_t ret; char *fastmap; if (!s) { if (!re_comp_buf.buffer) return gettext ("No previous regular expression"); return 0; } if (re_comp_buf.buffer) { fastmap = re_comp_buf.fastmap; re_comp_buf.fastmap = NULL; __regfree (&re_comp_buf); memset (&re_comp_buf, '\0', sizeof (re_comp_buf)); re_comp_buf.fastmap = fastmap; } if (re_comp_buf.fastmap == NULL) { re_comp_buf.fastmap = (char *) malloc (SBC_MAX); if (re_comp_buf.fastmap == NULL) return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) REG_ESPACE]); } /* Since 're_exec' always passes NULL for the 'regs' argument, we don't need to initialize the pattern buffer fields which affect it. */ /* Match anchors at newlines. */ re_comp_buf.newline_anchor = 1; ret = re_compile_internal (&re_comp_buf, s, strlen (s), re_syntax_options); if (!ret) return NULL; /* Yes, we're discarding 'const' here if !HAVE_LIBINTL. */ return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC libc_freeres_fn (free_mem) { __regfree (&re_comp_buf); } #endif #endif /* _REGEX_RE_COMP */ /* Internal entry point. Compile the regular expression PATTERN, whose length is LENGTH. SYNTAX indicate regular expression's syntax. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax) { reg_errcode_t err = REG_NOERROR; re_dfa_t *dfa; re_string_t regexp; /* Initialize the pattern buffer. */ preg->fastmap_accurate = 0; preg->syntax = syntax; preg->not_bol = preg->not_eol = 0; preg->used = 0; preg->re_nsub = 0; preg->can_be_null = 0; preg->regs_allocated = REGS_UNALLOCATED; /* Initialize the dfa. */ dfa = preg->buffer; if (BE (preg->allocated < sizeof (re_dfa_t), 0)) { /* If zero allocated, but buffer is non-null, try to realloc enough space. This loses if buffer's address is bogus, but that is the user's responsibility. If ->buffer is NULL this is a simple allocation. */ dfa = re_realloc (preg->buffer, re_dfa_t, 1); if (dfa == NULL) return REG_ESPACE; preg->allocated = sizeof (re_dfa_t); preg->buffer = dfa; } preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } #ifdef DEBUG /* Note: length+1 will not overflow since it is checked in init_dfa. */ dfa->re_str = re_malloc (char, length + 1); strncpy (dfa->re_str, pattern, length + 1); #endif __libc_lock_init (dfa->lock); err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) { re_compile_internal_free_return: free_workarea_compile (preg); re_string_destruct (®exp); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } /* Parse the regular expression, and build a structure tree. */ preg->re_nsub = 0; dfa->str_tree = parse (®exp, preg, syntax, &err); if (BE (dfa->str_tree == NULL, 0)) goto re_compile_internal_free_return; /* Analyze the tree and create the nfa. */ err = analyze (preg); if (BE (err != REG_NOERROR, 0)) goto re_compile_internal_free_return; #ifdef RE_ENABLE_I18N /* If possible, do searching in single byte encoding to speed things up. */ if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) optimize_utf8 (dfa); #endif /* Then create the initial state of the dfa. */ err = create_initial_state (dfa); /* Release work areas. */ free_workarea_compile (preg); re_string_destruct (®exp); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; } return err; } /* Initialize DFA. We use the length of the regular expression PAT_LEN as the initial length of some arrays. */ static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len) { __re_size_t table_size; #ifndef _LIBC const char *codeset_name; #endif #ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); #else size_t max_i18n_object_size = 0; #endif size_t max_object_size = MAX (sizeof (struct re_state_table_entry), MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), MAX (sizeof (regmatch_t), max_i18n_object_size)))); memset (dfa, '\0', sizeof (re_dfa_t)); /* Force allocation of str_tree_storage the first time. */ dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; /* Avoid overflows. The extra "/ 2" is for the table_size doubling calculation below, and for similar doubling calculations elsewhere. And it's <= rather than <, because some of the doubling calculations add 1 afterwards. */ if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0)) return REG_ESPACE; dfa->nodes_alloc = pat_len + 1; dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc); /* table_size = 2 ^ ceil(log pat_len) */ for (table_size = 1; ; table_size <<= 1) if (table_size > pat_len) break; dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size); dfa->state_hash_mask = table_size - 1; dfa->mb_cur_max = MB_CUR_MAX; #ifdef _LIBC if (dfa->mb_cur_max == 6 && strcmp (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_CODESET_NAME), "UTF-8") == 0) dfa->is_utf8 = 1; dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII) != 0); #else codeset_name = nl_langinfo (CODESET); if ((codeset_name[0] == 'U' || codeset_name[0] == 'u') && (codeset_name[1] == 'T' || codeset_name[1] == 't') && (codeset_name[2] == 'F' || codeset_name[2] == 'f') && strcmp (codeset_name + 3 + (codeset_name[3] == '-'), "8") == 0) dfa->is_utf8 = 1; /* We check exhaustively in the loop below if this charset is a superset of ASCII. */ dfa->map_notascii = 0; #endif #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { if (dfa->is_utf8) dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; else { int i, j, ch; dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); if (BE (dfa->sb_char == NULL, 0)) return REG_ESPACE; /* Set the bits corresponding to single byte chars. */ for (i = 0, ch = 0; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) { wint_t wch = __btowc (ch); if (wch != WEOF) dfa->sb_char[i] |= (bitset_word_t) 1 << j; # ifndef _LIBC if (isascii (ch) && wch != ch) dfa->map_notascii = 1; # endif } } } #endif if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) return REG_ESPACE; return REG_NOERROR; } /* Initialize WORD_CHAR table, which indicate which character is "word". In this case "word" means that it is the word construction character used by some operators like "\<", "\>", etc. */ static void internal_function init_word_char (re_dfa_t *dfa) { int i = 0; int j; int ch = 0; dfa->word_ops_used = 1; if (BE (dfa->map_notascii == 0, 1)) { bitset_word_t bits0 = 0x00000000; bitset_word_t bits1 = 0x03ff0000; bitset_word_t bits2 = 0x87fffffe; bitset_word_t bits3 = 0x07fffffe; if (BITSET_WORD_BITS == 64) { dfa->word_char[0] = bits1 << 31 << 1 | bits0; dfa->word_char[1] = bits3 << 31 << 1 | bits2; i = 2; } else if (BITSET_WORD_BITS == 32) { dfa->word_char[0] = bits0; dfa->word_char[1] = bits1; dfa->word_char[2] = bits2; dfa->word_char[3] = bits3; i = 4; } else goto general_case; ch = 128; if (BE (dfa->is_utf8, 1)) { memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8); return; } } general_case: for (; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (isalnum (ch) || ch == '_') dfa->word_char[i] |= (bitset_word_t) 1 << j; } /* Free the work area which are only used while compiling. */ static void free_workarea_compile (regex_t *preg) { re_dfa_t *dfa = preg->buffer; bin_tree_storage_t *storage, *next; for (storage = dfa->str_tree_storage; storage; storage = next) { next = storage->next; re_free (storage); } dfa->str_tree_storage = NULL; dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; dfa->str_tree = NULL; re_free (dfa->org_indices); dfa->org_indices = NULL; } /* Create initial states for all contexts. */ static reg_errcode_t create_initial_state (re_dfa_t *dfa) { Idx first, i; reg_errcode_t err; re_node_set init_nodes; /* Initial states have the epsilon closure of the node which is the first node of the regular expression. */ first = dfa->str_tree->first->node_idx; dfa->init_node = first; err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); if (BE (err != REG_NOERROR, 0)) return err; /* The back-references which are in initial states can epsilon transit, since in this case all of the subexpressions can be null. Then we add epsilon closures of the nodes which are the next nodes of the back-references. */ if (dfa->nbackref > 0) for (i = 0; i < init_nodes.nelem; ++i) { Idx node_idx = init_nodes.elems[i]; re_token_type_t type = dfa->nodes[node_idx].type; Idx clexp_idx; if (type != OP_BACK_REF) continue; for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx) { re_token_t *clexp_node; clexp_node = dfa->nodes + init_nodes.elems[clexp_idx]; if (clexp_node->type == OP_CLOSE_SUBEXP && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx) break; } if (clexp_idx == init_nodes.nelem) continue; if (type == OP_BACK_REF) { Idx dest_idx = dfa->edests[node_idx].elems[0]; if (!re_node_set_contains (&init_nodes, dest_idx)) { reg_errcode_t merge_err = re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx); if (merge_err != REG_NOERROR) return merge_err; i = 0; } } } /* It must be the first time to invoke acquire_state. */ dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0); /* We don't check ERR here, since the initial state must not be NULL. */ if (BE (dfa->init_state == NULL, 0)) return err; if (dfa->init_state->has_constraint) { dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_WORD); dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE); dfa->init_state_begbuf = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return err; } else dfa->init_state_word = dfa->init_state_nl = dfa->init_state_begbuf = dfa->init_state; re_node_set_free (&init_nodes); return REG_NOERROR; } #ifdef RE_ENABLE_I18N /* If it is possible to do searching in single byte encoding instead of UTF-8 to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change DFA nodes where needed. */ static void optimize_utf8 (re_dfa_t *dfa) { Idx node; int i; bool mb_chars = false; bool has_period = false; for (node = 0; node < dfa->nodes_len; ++node) switch (dfa->nodes[node].type) { case CHARACTER: if (dfa->nodes[node].opr.c >= ASCII_CHARS) mb_chars = true; break; case ANCHOR: switch (dfa->nodes[node].opr.ctx_type) { case LINE_FIRST: case LINE_LAST: case BUF_FIRST: case BUF_LAST: break; default: /* Word anchors etc. cannot be handled. It's okay to test opr.ctx_type since constraints (for all DFA nodes) are created by ORing one or more opr.ctx_type values. */ return; } break; case OP_PERIOD: has_period = true; break; case OP_BACK_REF: case OP_ALT: case END_OF_RE: case OP_DUP_ASTERISK: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: break; case COMPLEX_BRACKET: return; case SIMPLE_BRACKET: /* Just double check. */ { int rshift = (ASCII_CHARS % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - ASCII_CHARS % BITSET_WORD_BITS); for (i = ASCII_CHARS / BITSET_WORD_BITS; i < BITSET_WORDS; ++i) { if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0) return; rshift = 0; } } break; default: abort (); } if (mb_chars || has_period) for (node = 0; node < dfa->nodes_len; ++node) { if (dfa->nodes[node].type == CHARACTER && dfa->nodes[node].opr.c >= ASCII_CHARS) dfa->nodes[node].mb_partial = 0; else if (dfa->nodes[node].type == OP_PERIOD) dfa->nodes[node].type = OP_UTF8_PERIOD; } /* The search can be in single byte locale. */ dfa->mb_cur_max = 1; dfa->is_utf8 = 0; dfa->has_mb_node = dfa->nbackref > 0 || has_period; } #endif /* Analyze the structure tree, and calculate "first", "next", "edest", "eclosure", and "inveclosure". */ static reg_errcode_t analyze (regex_t *preg) { re_dfa_t *dfa = preg->buffer; reg_errcode_t ret; /* Allocate arrays. */ dfa->nexts = re_malloc (Idx, dfa->nodes_alloc); dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc); dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc); dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc); if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL || dfa->eclosures == NULL, 0)) return REG_ESPACE; dfa->subexp_map = re_malloc (Idx, preg->re_nsub); if (dfa->subexp_map != NULL) { Idx i; for (i = 0; i < preg->re_nsub; i++) dfa->subexp_map[i] = i; preorder (dfa->str_tree, optimize_subexps, dfa); for (i = 0; i < preg->re_nsub; i++) if (dfa->subexp_map[i] != i) break; if (i == preg->re_nsub) { free (dfa->subexp_map); dfa->subexp_map = NULL; } } ret = postorder (dfa->str_tree, lower_subexps, preg); if (BE (ret != REG_NOERROR, 0)) return ret; ret = postorder (dfa->str_tree, calc_first, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; preorder (dfa->str_tree, calc_next, dfa); ret = preorder (dfa->str_tree, link_nfa_nodes, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; ret = calc_eclosure (dfa); if (BE (ret != REG_NOERROR, 0)) return ret; /* We only need this during the prune_impossible_nodes pass in regexec.c; skip it if p_i_n will not run, as calc_inveclosure can be quadratic. */ if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) || dfa->nbackref) { dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len); if (BE (dfa->inveclosures == NULL, 0)) return REG_ESPACE; ret = calc_inveclosure (dfa); } return ret; } /* Our parse trees are very unbalanced, so we cannot use a stack to implement parse tree visits. Instead, we use parent pointers and some hairy code in these two functions. */ static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node, *prev; for (node = root; ; ) { /* Descend down the tree, preferably to the left (or to the right if that's the only child). */ while (node->left || node->right) if (node->left) node = node->left; else node = node->right; do { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; if (node->parent == NULL) return REG_NOERROR; prev = node; node = node->parent; } /* Go up while we have a node that is reached from the right. */ while (node->right == prev || node->right == NULL); node = node->right; } } static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node; for (node = root; ; ) { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; /* Go to the left node, or up and to the right. */ if (node->left) node = node->left; else { bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; if (!node) return REG_NOERROR; } node = node->right; } } } /* Optimization pass: if a SUBEXP is entirely contained, strip it and tell re_search_internal to map the inner one's opr.idx to this one's. Adjust backreferences as well. Requires a preorder visit. */ static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == OP_BACK_REF && dfa->subexp_map) { int idx = node->token.opr.idx; node->token.opr.idx = dfa->subexp_map[idx]; dfa->used_bkref_map |= 1 << node->token.opr.idx; } else if (node->token.type == SUBEXP && node->left && node->left->token.type == SUBEXP) { Idx other_idx = node->left->token.opr.idx; node->left = node->left->left; if (node->left) node->left->parent = node; dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx]; if (other_idx < BITSET_WORD_BITS) dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx); } return REG_NOERROR; } /* Lowering pass: Turn each SUBEXP node into the appropriate concatenation of OP_OPEN_SUBEXP, the body of the SUBEXP (if any) and OP_CLOSE_SUBEXP. */ static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node) { regex_t *preg = (regex_t *) extra; reg_errcode_t err = REG_NOERROR; if (node->left && node->left->token.type == SUBEXP) { node->left = lower_subexp (&err, preg, node->left); if (node->left) node->left->parent = node; } if (node->right && node->right->token.type == SUBEXP) { node->right = lower_subexp (&err, preg, node->right); if (node->right) node->right->parent = node; } return err; } static bin_tree_t * lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node) { re_dfa_t *dfa = preg->buffer; bin_tree_t *body = node->left; bin_tree_t *op, *cls, *tree1, *tree; if (preg->no_sub /* We do not optimize empty subexpressions, because otherwise we may have bad CONCAT nodes with NULL children. This is obviously not very common, so we do not lose much. An example that triggers this case is the sed "script" /\(\)/x. */ && node->left != NULL && (node->token.opr.idx >= BITSET_WORD_BITS || !(dfa->used_bkref_map & ((bitset_word_t) 1 << node->token.opr.idx)))) return node->left; /* Convert the SUBEXP node to the concatenation of an OP_OPEN_SUBEXP, the contents, and an OP_CLOSE_SUBEXP. */ op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP); cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP); tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls; tree = create_tree (dfa, op, tree1, CONCAT); if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) { *err = REG_ESPACE; return NULL; } op->token.opr.idx = cls->token.opr.idx = node->token.opr.idx; op->token.opt_subexp = cls->token.opt_subexp = node->token.opt_subexp; return tree; } /* Pass 1 in building the NFA: compute FIRST and create unlinked automaton nodes. Requires a postorder visit. */ static reg_errcode_t calc_first (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == CONCAT) { node->first = node->left->first; node->node_idx = node->left->node_idx; } else { node->first = node; node->node_idx = re_dfa_add_node (dfa, node->token); if (BE (node->node_idx == REG_MISSING, 0)) return REG_ESPACE; if (node->token.type == ANCHOR) dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type; } return REG_NOERROR; } /* Pass 2: compute NEXT on the tree. Preorder visit. */ static reg_errcode_t calc_next (void *extra _UNUSED_PARAMETER_, bin_tree_t *node) { switch (node->token.type) { case OP_DUP_ASTERISK: node->left->next = node; break; case CONCAT: node->left->next = node->right->first; node->right->next = node->next; break; default: if (node->left) node->left->next = node->next; if (node->right) node->right->next = node->next; break; } return REG_NOERROR; } /* Pass 3: link all DFA nodes to their NEXT node (any order will do). */ static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; Idx idx = node->node_idx; reg_errcode_t err = REG_NOERROR; switch (node->token.type) { case CONCAT: break; case END_OF_RE: assert (node->next == NULL); break; case OP_DUP_ASTERISK: case OP_ALT: { Idx left, right; dfa->has_plural_match = 1; if (node->left != NULL) left = node->left->first->node_idx; else left = node->next->node_idx; if (node->right != NULL) right = node->right->first->node_idx; else right = node->next->node_idx; assert (REG_VALID_INDEX (left)); assert (REG_VALID_INDEX (right)); err = re_node_set_init_2 (dfa->edests + idx, left, right); } break; case ANCHOR: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx); break; case OP_BACK_REF: dfa->nexts[idx] = node->next->node_idx; if (node->token.type == OP_BACK_REF) err = re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]); break; default: assert (!IS_EPSILON_NODE (node->token.type)); dfa->nexts[idx] = node->next->node_idx; break; } return err; } /* Duplicate the epsilon closure of the node ROOT_NODE. Note that duplicated nodes have constraint INIT_CONSTRAINT in addition to their own constraint. */ static reg_errcode_t internal_function duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node, Idx root_node, unsigned int init_constraint) { Idx org_node, clone_node; bool ok; unsigned int constraint = init_constraint; for (org_node = top_org_node, clone_node = top_clone_node;;) { Idx org_dest, clone_dest; if (dfa->nodes[org_node].type == OP_BACK_REF) { /* If the back reference epsilon-transit, its destination must also have the constraint. Then duplicate the epsilon closure of the destination of the back reference, and store it in edests of the back reference. */ org_dest = dfa->nexts[org_node]; re_node_set_empty (dfa->edests + clone_node); clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; dfa->nexts[clone_node] = dfa->nexts[org_node]; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else if (dfa->edests[org_node].nelem == 0) { /* In case of the node can't epsilon-transit, don't duplicate the destination and store the original destination as the destination of the node. */ dfa->nexts[clone_node] = dfa->nexts[org_node]; break; } else if (dfa->edests[org_node].nelem == 1) { /* In case of the node can epsilon-transit, and it has only one destination. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); /* If the node is root_node itself, it means the epsilon closure has a loop. Then tie it to the destination of the root_node. */ if (org_node == root_node && clone_node != org_node) { ok = re_node_set_insert (dfa->edests + clone_node, org_dest); if (BE (! ok, 0)) return REG_ESPACE; break; } /* In case the node has another constraint, append it. */ constraint |= dfa->nodes[org_node].constraint; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else /* dfa->edests[org_node].nelem == 2 */ { /* In case of the node can epsilon-transit, and it has two destinations. In the bin_tree_t and DFA, that's '|' and '*'. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); /* Search for a duplicated node which satisfies the constraint. */ clone_dest = search_duplicated_node (dfa, org_dest, constraint); if (clone_dest == REG_MISSING) { /* There is no such duplicated node, create a new one. */ reg_errcode_t err; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; err = duplicate_node_closure (dfa, org_dest, clone_dest, root_node, constraint); if (BE (err != REG_NOERROR, 0)) return err; } else { /* There is a duplicated node which satisfies the constraint, use it to avoid infinite loop. */ ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_dest = dfa->edests[org_node].elems[1]; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_node = org_dest; clone_node = clone_dest; } return REG_NOERROR; } /* Search for a node which is duplicated from the node ORG_NODE, and satisfies the constraint CONSTRAINT. */ static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint) { Idx idx; for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) { if (org_node == dfa->org_indices[idx] && constraint == dfa->nodes[idx].constraint) return idx; /* Found. */ } return REG_MISSING; /* Not found. */ } /* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT. Return the index of the new node, or REG_MISSING if insufficient storage is available. */ static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint) { Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]); if (BE (dup_idx != REG_MISSING, 1)) { dfa->nodes[dup_idx].constraint = constraint; dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint; dfa->nodes[dup_idx].duplicated = 1; /* Store the index of the original node. */ dfa->org_indices[dup_idx] = org_idx; } return dup_idx; } static reg_errcode_t calc_inveclosure (re_dfa_t *dfa) { Idx src, idx; bool ok; for (idx = 0; idx < dfa->nodes_len; ++idx) re_node_set_init_empty (dfa->inveclosures + idx); for (src = 0; src < dfa->nodes_len; ++src) { Idx *elems = dfa->eclosures[src].elems; for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) { ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src); if (BE (! ok, 0)) return REG_ESPACE; } } return REG_NOERROR; } /* Calculate "eclosure" for all the node in DFA. */ static reg_errcode_t calc_eclosure (re_dfa_t *dfa) { Idx node_idx; bool incomplete; #ifdef DEBUG assert (dfa->nodes_len > 0); #endif incomplete = false; /* For each nodes, calculate epsilon closure. */ for (node_idx = 0; ; ++node_idx) { reg_errcode_t err; re_node_set eclosure_elem; if (node_idx == dfa->nodes_len) { if (!incomplete) break; incomplete = false; node_idx = 0; } #ifdef DEBUG assert (dfa->eclosures[node_idx].nelem != REG_MISSING); #endif /* If we have already calculated, skip it. */ if (dfa->eclosures[node_idx].nelem != 0) continue; /* Calculate epsilon closure of 'node_idx'. */ err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); if (BE (err != REG_NOERROR, 0)) return err; if (dfa->eclosures[node_idx].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } return REG_NOERROR; } /* Calculate epsilon closure of NODE. */ static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) { reg_errcode_t err; Idx i; re_node_set eclosure; bool ok; bool incomplete = false; err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); if (BE (err != REG_NOERROR, 0)) return err; /* This indicates that we are calculating this node now. We reference this value to avoid infinite loop. */ dfa->eclosures[node].nelem = REG_MISSING; /* If the current node has constraints, duplicate all nodes since they must inherit the constraints. */ if (dfa->nodes[node].constraint && dfa->edests[node].nelem && !dfa->nodes[dfa->edests[node].elems[0]].duplicated) { err = duplicate_node_closure (dfa, node, node, node, dfa->nodes[node].constraint); if (BE (err != REG_NOERROR, 0)) return err; } /* Expand each epsilon destination nodes. */ if (IS_EPSILON_NODE(dfa->nodes[node].type)) for (i = 0; i < dfa->edests[node].nelem; ++i) { re_node_set eclosure_elem; Idx edest = dfa->edests[node].elems[i]; /* If calculating the epsilon closure of 'edest' is in progress, return intermediate result. */ if (dfa->eclosures[edest].nelem == REG_MISSING) { incomplete = true; continue; } /* If we haven't calculated the epsilon closure of 'edest' yet, calculate now. Otherwise use calculated epsilon closure. */ if (dfa->eclosures[edest].nelem == 0) { err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false); if (BE (err != REG_NOERROR, 0)) return err; } else eclosure_elem = dfa->eclosures[edest]; /* Merge the epsilon closure of 'edest'. */ err = re_node_set_merge (&eclosure, &eclosure_elem); if (BE (err != REG_NOERROR, 0)) return err; /* If the epsilon closure of 'edest' is incomplete, the epsilon closure of this node is also incomplete. */ if (dfa->eclosures[edest].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } /* An epsilon closure includes itself. */ ok = re_node_set_insert (&eclosure, node); if (BE (! ok, 0)) return REG_ESPACE; if (incomplete && !root) dfa->eclosures[node].nelem = 0; else dfa->eclosures[node] = eclosure; *new_set = eclosure; return REG_NOERROR; } /* Functions for token which are used in the parser. */ /* Fetch a token from INPUT. We must not use this function inside bracket expressions. */ static void internal_function fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax) { re_string_skip_bytes (input, peek_token (result, input, syntax)); } /* Peek a token from INPUT, and return the length of the token. We must not use this function inside bracket expressions. */ static int internal_function peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; token->word_char = 0; #ifdef RE_ENABLE_I18N token->mb_partial = 0; if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; token->mb_partial = 1; return 1; } #endif if (c == '\\') { unsigned char c2; if (re_string_cur_idx (input) + 1 >= re_string_length (input)) { token->type = BACK_SLASH; return 1; } c2 = re_string_peek_byte_case (input, 1); token->opr.c = c2; token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input) + 1); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (c2) != 0; switch (c2) { case '|': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (!(syntax & RE_NO_BK_REFS)) { token->type = OP_BACK_REF; token->opr.idx = c2 - '1'; } break; case '<': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_FIRST; } break; case '>': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_LAST; } break; case 'b': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_DELIM; } break; case 'B': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = NOT_WORD_DELIM; } break; case 'w': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_WORD; break; case 'W': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTWORD; break; case 's': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_SPACE; break; case 'S': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTSPACE; break; case '`': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_FIRST; } break; case '\'': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_LAST; } break; case '(': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_OPEN_SUBEXP; break; case ')': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_CLOSE_SUBEXP; break; case '+': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_CLOSE_DUP_NUM; break; default: break; } return 2; } token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (token->opr.c); switch (c) { case '\n': if (syntax & RE_NEWLINE_ALT) token->type = OP_ALT; break; case '|': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '*': token->type = OP_DUP_ASTERISK; break; case '+': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_CLOSE_DUP_NUM; break; case '(': if (syntax & RE_NO_BK_PARENS) token->type = OP_OPEN_SUBEXP; break; case ')': if (syntax & RE_NO_BK_PARENS) token->type = OP_CLOSE_SUBEXP; break; case '[': token->type = OP_OPEN_BRACKET; break; case '.': token->type = OP_PERIOD; break; case '^': if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && re_string_cur_idx (input) != 0) { char prev = re_string_peek_byte (input, -1); if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') break; } token->type = ANCHOR; token->opr.ctx_type = LINE_FIRST; break; case '$': if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && re_string_cur_idx (input) + 1 != re_string_length (input)) { re_token_t next; re_string_skip_bytes (input, 1); peek_token (&next, input, syntax); re_string_skip_bytes (input, -1); if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP) break; } token->type = ANCHOR; token->opr.ctx_type = LINE_LAST; break; default: break; } return 1; } /* Peek a token from INPUT, and return the length of the token. We must not use this function out of bracket expressions. */ static int internal_function peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; return 1; } #endif /* RE_ENABLE_I18N */ if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && re_string_cur_idx (input) + 1 < re_string_length (input)) { /* In this case, '\' escape a character. */ unsigned char c2; re_string_skip_bytes (input, 1); c2 = re_string_peek_byte (input, 0); token->opr.c = c2; token->type = CHARACTER; return 1; } if (c == '[') /* '[' is a special char in a bracket exps. */ { unsigned char c2; int token_len; if (re_string_cur_idx (input) + 1 < re_string_length (input)) c2 = re_string_peek_byte (input, 1); else c2 = 0; token->opr.c = c2; token_len = 2; switch (c2) { case '.': token->type = OP_OPEN_COLL_ELEM; break; case '=': token->type = OP_OPEN_EQUIV_CLASS; break; case ':': if (syntax & RE_CHAR_CLASSES) { token->type = OP_OPEN_CHAR_CLASS; break; } /* else fall through. */ default: token->type = CHARACTER; token->opr.c = c; token_len = 1; break; } return token_len; } switch (c) { case '-': token->type = OP_CHARSET_RANGE; break; case ']': token->type = OP_CLOSE_BRACKET; break; case '^': token->type = OP_NON_MATCH_LIST; break; default: token->type = CHARACTER; } return 1; } /* Functions for parser. */ /* Entry point of the parser. Parse the regular expression REGEXP and return the structure tree. If an error occurs, ERR is set by error code, and return NULL. This function build the following tree, from regular expression <reg_exp>: CAT / \ / \ <reg_exp> EOR CAT means concatenation. EOR means end of regular expression. */ static bin_tree_t * parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err) { re_dfa_t *dfa = preg->buffer; bin_tree_t *tree, *eor, *root; re_token_t current_token; dfa->syntax = syntax; fetch_token (¤t_token, regexp, syntax | RE_CARET_ANCHORS_HERE); tree = parse_reg_exp (regexp, preg, ¤t_token, syntax, 0, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; eor = create_tree (dfa, NULL, NULL, END_OF_RE); if (tree != NULL) root = create_tree (dfa, tree, eor, CONCAT); else root = eor; if (BE (eor == NULL || root == NULL, 0)) { *err = REG_ESPACE; return NULL; } return root; } /* This function build the following tree, from regular expression <branch1>|<branch2>: ALT / \ / \ <branch1> <branch2> ALT means alternative, which represents the operator '|'. */ static bin_tree_t * parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = preg->buffer; bin_tree_t *tree, *branch = NULL; tree = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type == OP_ALT) { fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); if (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { branch = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && branch == NULL, 0)) return NULL; } else branch = NULL; tree = create_tree (dfa, tree, branch, OP_ALT); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } return tree; } /* This function build the following tree, from regular expression <exp1><exp2>: CAT / \ / \ <exp1> <exp2> CAT means concatenation. */ static bin_tree_t * parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { bin_tree_t *tree, *expr; re_dfa_t *dfa = preg->buffer; tree = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { expr = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && expr == NULL, 0)) { if (tree != NULL) postorder (tree, free_tree, NULL); return NULL; } if (tree != NULL && expr != NULL) { bin_tree_t *newtree = create_tree (dfa, tree, expr, CONCAT); if (newtree == NULL) { postorder (expr, free_tree, NULL); postorder (tree, free_tree, NULL); *err = REG_ESPACE; return NULL; } tree = newtree; } else if (tree == NULL) tree = expr; /* Otherwise expr == NULL, we don't need to create new tree. */ } return tree; } /* This function build the following tree, from regular expression a*: * | a */ static bin_tree_t * parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = preg->buffer; bin_tree_t *tree; switch (token->type) { case CHARACTER: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (!re_string_eoi (regexp) && !re_string_first_byte (regexp, re_string_cur_idx (regexp))) { bin_tree_t *mbc_remain; fetch_token (token, regexp, syntax); mbc_remain = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree, mbc_remain, CONCAT); if (BE (mbc_remain == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } } #endif break; case OP_OPEN_SUBEXP: tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_OPEN_BRACKET: tree = parse_bracket_exp (regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_BACK_REF: if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1)) { *err = REG_ESUBREG; return NULL; } dfa->used_bkref_map |= 1 << token->opr.idx; tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } ++dfa->nbackref; dfa->has_mb_node = 1; break; case OP_OPEN_DUP_NUM: if (syntax & RE_CONTEXT_INVALID_DUP) { *err = REG_BADRPT; return NULL; } /* FALLTHROUGH */ case OP_DUP_ASTERISK: case OP_DUP_PLUS: case OP_DUP_QUESTION: if (syntax & RE_CONTEXT_INVALID_OPS) { *err = REG_BADRPT; return NULL; } else if (syntax & RE_CONTEXT_INDEP_OPS) { fetch_token (token, regexp, syntax); return parse_expression (regexp, preg, token, syntax, nest, err); } /* else fall through */ case OP_CLOSE_SUBEXP: if ((token->type == OP_CLOSE_SUBEXP) && !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) { *err = REG_ERPAREN; return NULL; } /* else fall through */ case OP_CLOSE_DUP_NUM: /* We treat it as a normal character. */ /* Then we can these characters as normal characters. */ token->type = CHARACTER; /* mb_partial and word_char bits should be initialized already by peek_token. */ tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } break; case ANCHOR: if ((token->opr.ctx_type & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST)) && dfa->word_ops_used == 0) init_word_char (dfa); if (token->opr.ctx_type == WORD_DELIM || token->opr.ctx_type == NOT_WORD_DELIM) { bin_tree_t *tree_first, *tree_last; if (token->opr.ctx_type == WORD_DELIM) { token->opr.ctx_type = WORD_FIRST; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = WORD_LAST; } else { token->opr.ctx_type = INSIDE_WORD; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = INSIDE_NOTWORD; } tree_last = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree_first, tree_last, OP_ALT); if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } else { tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } /* We must return here, since ANCHORs can't be followed by repetition operators. eg. RE"^*" is invalid or "<ANCHOR(^)><CHAR(*)>", it must not be "<ANCHOR(^)><REPEAT(*)>". */ fetch_token (token, regexp, syntax); return tree; case OP_PERIOD: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } if (dfa->mb_cur_max > 1) dfa->has_mb_node = 1; break; case OP_WORD: case OP_NOTWORD: tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", token->type == OP_NOTWORD, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_SPACE: case OP_NOTSPACE: tree = build_charclass_op (dfa, regexp->trans, "space", "", token->type == OP_NOTSPACE, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_ALT: case END_OF_RE: return NULL; case BACK_SLASH: *err = REG_EESCAPE; return NULL; default: /* Must not happen? */ #ifdef DEBUG assert (0); #endif return NULL; } fetch_token (token, regexp, syntax); while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) { tree = parse_dup_op (tree, regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; /* In BRE consecutive duplications are not allowed. */ if ((syntax & RE_CONTEXT_INVALID_DUP) && (token->type == OP_DUP_ASTERISK || token->type == OP_OPEN_DUP_NUM)) { *err = REG_BADRPT; return NULL; } } return tree; } /* This function build the following tree, from regular expression (<reg_exp>): SUBEXP | <reg_exp> */ static bin_tree_t * parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = preg->buffer; bin_tree_t *tree; size_t cur_nsub; cur_nsub = preg->re_nsub++; fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); /* The subexpression may be a null string. */ if (token->type == OP_CLOSE_SUBEXP) tree = NULL; else { tree = parse_reg_exp (regexp, preg, token, syntax, nest, err); if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) { if (tree != NULL) postorder (tree, free_tree, NULL); *err = REG_EPAREN; } if (BE (*err != REG_NOERROR, 0)) return NULL; } if (cur_nsub <= '9' - '1') dfa->completed_bkref_map |= 1 << cur_nsub; tree = create_tree (dfa, tree, NULL, SUBEXP); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } tree->token.opr.idx = cur_nsub; return tree; } /* This function parse repetition operators like "*", "+", "{1,3}" etc. */ static bin_tree_t * parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { bin_tree_t *tree = NULL, *old_tree = NULL; Idx i, start, end, start_idx = re_string_cur_idx (regexp); re_token_t start_token = *token; if (token->type == OP_OPEN_DUP_NUM) { end = 0; start = fetch_number (regexp, token, syntax); if (start == REG_MISSING) { if (token->type == CHARACTER && token->opr.c == ',') start = 0; /* We treat "{,m}" as "{0,m}". */ else { *err = REG_BADBR; /* <re>{} is invalid. */ return NULL; } } if (BE (start != REG_ERROR, 1)) { /* We treat "{n}" as "{n,n}". */ end = ((token->type == OP_CLOSE_DUP_NUM) ? start : ((token->type == CHARACTER && token->opr.c == ',') ? fetch_number (regexp, token, syntax) : REG_ERROR)); } if (BE (start == REG_ERROR || end == REG_ERROR, 0)) { /* Invalid sequence. */ if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0)) { if (token->type == END_OF_RE) *err = REG_EBRACE; else *err = REG_BADBR; return NULL; } /* If the syntax bit is set, rollback. */ re_string_set_index (regexp, start_idx); *token = start_token; token->type = CHARACTER; /* mb_partial and word_char bits should be already initialized by peek_token. */ return elem; } if (BE ((end != REG_MISSING && start > end) || token->type != OP_CLOSE_DUP_NUM, 0)) { /* First number greater than second. */ *err = REG_BADBR; return NULL; } if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0)) { *err = REG_ESIZE; return NULL; } } else { start = (token->type == OP_DUP_PLUS) ? 1 : 0; end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING; } fetch_token (token, regexp, syntax); if (BE (elem == NULL, 0)) return NULL; if (BE (start == 0 && end == 0, 0)) { postorder (elem, free_tree, NULL); return NULL; } /* Extract "<re>{n,m}" to "<re><re>...<re><re>{0,<m-n>}". */ if (BE (start > 0, 0)) { tree = elem; for (i = 2; i <= start; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; } if (start == end) return tree; /* Duplicate ELEM before it is marked optional. */ elem = duplicate_tree (elem, dfa); old_tree = tree; } else old_tree = NULL; if (elem->token.type == SUBEXP) { uintptr_t subidx = elem->token.opr.idx; postorder (elem, mark_opt_subexp, (void *) subidx); } tree = create_tree (dfa, elem, NULL, (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT)); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; /* From gnulib's "intprops.h": True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* This loop is actually executed only when end != REG_MISSING, to rewrite <re>{0,n} as (<re>(<re>...<re>?)?)?... We have already created the start+1-th copy. */ if (TYPE_SIGNED (Idx) || end != REG_MISSING) for (i = start + 2; i <= end; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; tree = create_tree (dfa, tree, NULL, OP_ALT); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; } if (old_tree) tree = create_tree (dfa, old_tree, tree, CONCAT); return tree; parse_dup_op_espace: *err = REG_ESPACE; return NULL; } /* Size of the names for collating symbol/equivalence_class/character_class. I'm not sure, but maybe enough. */ #define BRACKET_NAME_BUF_SIZE 32 #ifndef _LIBC /* Local function for parse_bracket_exp only used in case of NOT _LIBC. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument since we may update it. */ static reg_errcode_t internal_function # ifdef RE_ENABLE_I18N build_range_exp (const reg_syntax_t syntax, bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, const bracket_elem_t *start_elem, const bracket_elem_t *end_elem) # else /* not RE_ENABLE_I18N */ build_range_exp (const reg_syntax_t syntax, bitset_t sbcset, const bracket_elem_t *start_elem, const bracket_elem_t *end_elem) # endif /* not RE_ENABLE_I18N */ { unsigned int start_ch, end_ch; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; /* We can handle no multi character collating elements without libc support. */ if (BE ((start_elem->type == COLL_SYM && strlen ((char *) start_elem->opr.name) > 1) || (end_elem->type == COLL_SYM && strlen ((char *) end_elem->opr.name) > 1), 0)) return REG_ECOLLATE; # ifdef RE_ENABLE_I18N { wchar_t wc; wint_t start_wc; wint_t end_wc; start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) ? __btowc (start_ch) : start_elem->opr.wch); end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) ? __btowc (end_ch) : end_elem->opr.wch); if (start_wc == WEOF || end_wc == WEOF) return REG_ECOLLATE; else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, for !_LIBC we have no collation elements: if the character set is single byte, the single byte character set that we build below suffices. parse_bracket_exp passes no MBCSET if dfa->mb_cur_max == 1. */ if (mbcset) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ wchar_t *new_array_start, *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; /* Use realloc since mbcset->range_starts and mbcset->range_ends are NULL if *range_alloc == 0. */ new_array_start = re_realloc (mbcset->range_starts, wchar_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, wchar_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_wc; mbcset->range_ends[mbcset->nranges++] = end_wc; } /* Build the table for single byte characters. */ for (wc = 0; wc < SBC_MAX; ++wc) { if (start_wc <= wc && wc <= end_wc) bitset_set (sbcset, wc); } } # else /* not RE_ENABLE_I18N */ { unsigned int ch; start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); if (start_ch > end_ch) return REG_ERANGE; /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ++ch) if (start_ch <= ch && ch <= end_ch) bitset_set (sbcset, ch); } # endif /* not RE_ENABLE_I18N */ return REG_NOERROR; } #endif /* not _LIBC */ #ifndef _LIBC /* Helper function for parse_bracket_exp only used in case of NOT _LIBC.. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument since we may update it. */ static reg_errcode_t internal_function # ifdef RE_ENABLE_I18N build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset _UNUSED_PARAMETER_, Idx *coll_sym_alloc _UNUSED_PARAMETER_, const unsigned char *name) # else /* not RE_ENABLE_I18N */ build_collating_symbol (bitset_t sbcset, const unsigned char *name) # endif /* not RE_ENABLE_I18N */ { size_t name_len = strlen ((const char *) name); if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } #endif /* not _LIBC */ /* This function parse bracket expression like "[abc]", "[a-c]", "[[.a-a.]]" etc. */ static bin_tree_t * parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { #ifdef _LIBC const unsigned char *collseqmb; const char *collseqwc; uint32_t nrules; int32_t table_size; const int32_t *symb_table; const unsigned char *extra; /* Local function for parse_bracket_exp used in _LIBC environment. Seek the collating symbol entry corresponding to NAME. Return the index of the symbol in the SYMB_TABLE. */ auto inline int32_t __attribute ((always_inline)) seek_collating_symbol_entry (name, name_len) const unsigned char *name; size_t name_len; { int32_t hash = elem_hash ((const char *) name, name_len); int32_t elem = hash % table_size; if (symb_table[2 * elem] != 0) { int32_t second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash /* Compare the length of the name. */ && name_len == extra[symb_table[2 * elem + 1]] /* Compare the name. */ && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], name_len) == 0) { /* Yep, this is the entry. */ break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } return elem; } /* Local function for parse_bracket_exp used in _LIBC environment. Look up the collation sequence value of BR_ELEM. Return the value if succeeded, UINT_MAX otherwise. */ auto inline unsigned int __attribute ((always_inline)) lookup_collation_sequence_value (br_elem) bracket_elem_t *br_elem; { if (br_elem->type == SB_CHAR) { /* if (MB_CUR_MAX == 1) */ if (nrules == 0) return collseqmb[br_elem->opr.ch]; else { wint_t wc = __btowc (br_elem->opr.ch); return __collseq_table_lookup (collseqwc, wc); } } else if (br_elem->type == MB_CHAR) { if (nrules != 0) return __collseq_table_lookup (collseqwc, br_elem->opr.wch); } else if (br_elem->type == COLL_SYM) { size_t sym_name_len = strlen ((char *) br_elem->opr.name); if (nrules != 0) { int32_t elem, idx; elem = seek_collating_symbol_entry (br_elem->opr.name, sym_name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; /* Skip the byte sequence of the collating element. */ idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the multibyte collation sequence value. */ idx += sizeof (unsigned int); /* Skip the wide char sequence of the collating element. */ idx += sizeof (unsigned int) * (1 + *(unsigned int *) (extra + idx)); /* Return the collation sequence value. */ return *(unsigned int *) (extra + idx); } else if (symb_table[2 * elem] == 0 && sym_name_len == 1) { /* No valid character. Match it as a single byte character. */ return collseqmb[br_elem->opr.name[0]]; } } else if (sym_name_len == 1) return collseqmb[br_elem->opr.name[0]]; } return UINT_MAX; } /* Local function for parse_bracket_exp used in _LIBC environment. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument since we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) re_charset_t *mbcset; Idx *range_alloc; bitset_t sbcset; bracket_elem_t *start_elem, *end_elem; { unsigned int ch; uint32_t start_collseq; uint32_t end_collseq; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; /* FIXME: Implement rational ranges here, too. */ start_collseq = lookup_collation_sequence_value (start_elem); end_collseq = lookup_collation_sequence_value (end_elem); /* Check start/end collation sequence values. */ if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0)) return REG_ECOLLATE; if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, if we have no collation elements, and the character set is single byte, the single byte character set that we build below suffices. */ if (nrules > 0 || dfa->mb_cur_max > 1) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ uint32_t *new_array_start; uint32_t *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; new_array_start = re_realloc (mbcset->range_starts, uint32_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, uint32_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_collseq; mbcset->range_ends[mbcset->nranges++] = end_collseq; } /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ch++) { uint32_t ch_collseq; /* if (MB_CUR_MAX == 1) */ if (nrules == 0) ch_collseq = collseqmb[ch]; else ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) bitset_set (sbcset, ch); } return REG_NOERROR; } /* Local function for parse_bracket_exp used in _LIBC environment. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument since we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) re_charset_t *mbcset; Idx *coll_sym_alloc; bitset_t sbcset; const unsigned char *name; { int32_t elem, idx; size_t name_len = strlen ((const char *) name); if (nrules != 0) { elem = seek_collating_symbol_entry (name, name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; } else if (symb_table[2 * elem] == 0 && name_len == 1) { /* No valid character, treat it as a normal character. */ bitset_set (sbcset, name[0]); return REG_NOERROR; } else return REG_ECOLLATE; /* Got valid collation sequence, add it as a new entry. */ /* Check the space of the arrays. */ if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->ncoll_syms is 0. */ Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; /* Use realloc since mbcset->coll_syms is NULL if *alloc == 0. */ int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, new_coll_sym_alloc); if (BE (new_coll_syms == NULL, 0)) return REG_ESPACE; mbcset->coll_syms = new_coll_syms; *coll_sym_alloc = new_coll_sym_alloc; } mbcset->coll_syms[mbcset->ncoll_syms++] = idx; return REG_NOERROR; } else { if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } } #endif re_token_t br_token; re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; Idx equiv_class_alloc = 0, char_class_alloc = 0; #endif /* not RE_ENABLE_I18N */ bool non_match = false; bin_tree_t *work_tree; int token_len; bool first_round = true; #ifdef _LIBC collseqmb = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules) { /* if (MB_CUR_MAX > 1) */ collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); } #endif sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else if (BE (sbcset == NULL, 0)) #endif /* RE_ENABLE_I18N */ { re_free (sbcset); #ifdef RE_ENABLE_I18N re_free (mbcset); #endif *err = REG_ESPACE; return NULL; } token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } if (token->type == OP_NON_MATCH_LIST) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ non_match = true; if (syntax & RE_HAT_LISTS_NOT_NEWLINE) bitset_set (sbcset, '\n'); re_string_skip_bytes (regexp, token_len); /* Skip a token. */ token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } } /* We treat the first ']' as a normal character. */ if (token->type == OP_CLOSE_BRACKET) token->type = CHARACTER; while (1) { bracket_elem_t start_elem, end_elem; unsigned char start_name_buf[BRACKET_NAME_BUF_SIZE]; unsigned char end_name_buf[BRACKET_NAME_BUF_SIZE]; reg_errcode_t ret; int token_len2 = 0; bool is_range_exp = false; re_token_t token2; start_elem.opr.name = start_name_buf; ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa, syntax, first_round); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } first_round = false; /* Get information about the next token. We need it in any case. */ token_len = peek_token_bracket (token, regexp, syntax); /* Do not check for ranges if we know they are not allowed. */ if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) { if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CHARSET_RANGE) { re_string_skip_bytes (regexp, token_len); /* Skip '-'. */ token_len2 = peek_token_bracket (&token2, regexp, syntax); if (BE (token2.type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token2.type == OP_CLOSE_BRACKET) { /* We treat the last '-' as a normal character. */ re_string_skip_bytes (regexp, -token_len); token->type = CHARACTER; } else is_range_exp = true; } } if (is_range_exp == true) { end_elem.opr.name = end_name_buf; ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2, dfa, syntax, true); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } token_len = peek_token_bracket (token, regexp, syntax); #ifdef _LIBC *err = build_range_exp (sbcset, mbcset, &range_alloc, &start_elem, &end_elem); #else # ifdef RE_ENABLE_I18N *err = build_range_exp (syntax, sbcset, dfa->mb_cur_max > 1 ? mbcset : NULL, &range_alloc, &start_elem, &end_elem); # else *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem); # endif #endif /* RE_ENABLE_I18N */ if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; } else { switch (start_elem.type) { case SB_CHAR: bitset_set (sbcset, start_elem.opr.ch); break; #ifdef RE_ENABLE_I18N case MB_CHAR: /* Check whether the array has enough space. */ if (BE (mbchar_alloc == mbcset->nmbchars, 0)) { wchar_t *new_mbchars; /* Not enough, realloc it. */ /* +1 in case of mbcset->nmbchars is 0. */ mbchar_alloc = 2 * mbcset->nmbchars + 1; /* Use realloc since array is NULL if *alloc == 0. */ new_mbchars = re_realloc (mbcset->mbchars, wchar_t, mbchar_alloc); if (BE (new_mbchars == NULL, 0)) goto parse_bracket_exp_espace; mbcset->mbchars = new_mbchars; } mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; break; #endif /* RE_ENABLE_I18N */ case EQUIV_CLASS: *err = build_equiv_class (sbcset, #ifdef RE_ENABLE_I18N mbcset, &equiv_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case COLL_SYM: *err = build_collating_symbol (sbcset, #ifdef RE_ENABLE_I18N mbcset, &coll_sym_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: *err = build_charclass (regexp->trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &char_class_alloc, #endif /* RE_ENABLE_I18N */ (const char *) start_elem.opr.name, syntax); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; default: assert (0); break; } } if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CLOSE_BRACKET) break; } re_string_skip_bytes (regexp, token_len); /* Skip a token. */ /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes || mbcset->non_match))) { bin_tree_t *mbc_tree; int sbc_idx; /* Build a tree for complex bracket. */ dfa->has_mb_node = 1; br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto parse_bracket_exp_espace; for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx) if (sbcset[sbc_idx]) break; /* If there are no bits set in sbcset, there is no point of having both SIMPLE_BRACKET and COMPLEX_BRACKET. */ if (sbc_idx < BITSET_WORDS) { /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; /* Then join them by ALT node. */ work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } else { re_free (sbcset); work_tree = mbc_tree; } } else #endif /* not RE_ENABLE_I18N */ { #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } return work_tree; parse_bracket_exp_espace: *err = REG_ESPACE; parse_bracket_exp_free_return: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ return NULL; } /* Parse an element in the bracket expression. */ static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa _UNUSED_PARAMETER_, reg_syntax_t syntax, bool accept_hyphen) { #ifdef RE_ENABLE_I18N int cur_char_size; cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); if (cur_char_size > 1) { elem->type = MB_CHAR; elem->opr.wch = re_string_wchar_at (regexp, re_string_cur_idx (regexp)); re_string_skip_bytes (regexp, cur_char_size); return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ re_string_skip_bytes (regexp, token_len); /* Skip a token. */ if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS || token->type == OP_OPEN_EQUIV_CLASS) return parse_bracket_symbol (elem, regexp, token); if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) { /* A '-' must only appear as anything but a range indicator before the closing bracket. Everything else is an error. */ re_token_t token2; (void) peek_token_bracket (&token2, regexp, syntax); if (token2.type != OP_CLOSE_BRACKET) /* The actual error value is not standardized since this whole case is undefined. But ERANGE makes good sense. */ return REG_ERANGE; } elem->type = SB_CHAR; elem->opr.ch = token->opr.c; return REG_NOERROR; } /* Parse a bracket symbol in the bracket expression. Bracket symbols are such as [:<character_class>:], [.<collating_element>.], and [=<equivalent_class>=]. */ static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token) { unsigned char ch, delim = token->opr.c; int i = 0; if (re_string_eoi(regexp)) return REG_EBRACK; for (;; ++i) { if (i >= BRACKET_NAME_BUF_SIZE) return REG_EBRACK; if (token->type == OP_OPEN_CHAR_CLASS) ch = re_string_fetch_byte_case (regexp); else ch = re_string_fetch_byte (regexp); if (re_string_eoi(regexp)) return REG_EBRACK; if (ch == delim && re_string_peek_byte (regexp, 0) == ']') break; elem->opr.name[i] = ch; } re_string_skip_bytes (regexp, 1); elem->opr.name[i] = '\0'; switch (token->type) { case OP_OPEN_COLL_ELEM: elem->type = COLL_SYM; break; case OP_OPEN_EQUIV_CLASS: elem->type = EQUIV_CLASS; break; case OP_OPEN_CHAR_CLASS: elem->type = CHAR_CLASS; break; default: break; } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the equivalence class which is represented by NAME. The result are written to MBCSET and SBCSET. EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes, is a pointer argument since we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_equiv_class (bitset_t sbcset, re_charset_t *mbcset _UNUSED_PARAMETER_, Idx *equiv_class_alloc _UNUSED_PARAMETER_, const unsigned char *name) #else /* not RE_ENABLE_I18N */ build_equiv_class (bitset_t sbcset, const unsigned char *name) #endif /* not RE_ENABLE_I18N */ { #ifdef _LIBC uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { const int32_t *table, *indirect; const unsigned char *weights, *extra, *cp; unsigned char char_buf[2]; int32_t idx1, idx2; unsigned int ch; size_t len; /* This #include defines a local function! */ # include <locale/weight.h> /* Calculate the index for equivalence class. */ cp = name; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx1 = findidx (&cp, -1); if (BE (idx1 == 0 || *cp != '\0', 0)) /* This isn't a valid character. */ return REG_ECOLLATE; /* Build single byte matching table for this equivalence class. */ len = weights[idx1 & 0xffffff]; for (ch = 0; ch < SBC_MAX; ++ch) { char_buf[0] = ch; cp = char_buf; idx2 = findidx (&cp, 1); /* idx2 = table[ch]; */ if (idx2 == 0) /* This isn't a valid character. */ continue; /* Compare only if the length matches and the collation rule index is the same. */ if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24)) { int cnt = 0; while (cnt <= len && weights[(idx1 & 0xffffff) + 1 + cnt] == weights[(idx2 & 0xffffff) + 1 + cnt]) ++cnt; if (cnt > len) bitset_set (sbcset, ch); } } /* Check whether the array has enough space. */ if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nequiv_classes is 0. */ Idx new_equiv_class_alloc = 2 * mbcset->nequiv_classes + 1; /* Use realloc since the array is NULL if *alloc == 0. */ int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes, int32_t, new_equiv_class_alloc); if (BE (new_equiv_classes == NULL, 0)) return REG_ESPACE; mbcset->equiv_classes = new_equiv_classes; *equiv_class_alloc = new_equiv_class_alloc; } mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1; } else #endif /* _LIBC */ { if (BE (strlen ((const char *) name) != 1, 0)) return REG_ECOLLATE; bitset_set (sbcset, *name); } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the character class which is represented by NAME. The result are written to MBCSET and SBCSET. CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes, is a pointer argument since we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const char *class_name, reg_syntax_t syntax) #else /* not RE_ENABLE_I18N */ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const char *class_name, reg_syntax_t syntax) #endif /* not RE_ENABLE_I18N */ { int i; const char *name = class_name; /* In case of REG_ICASE "upper" and "lower" match the both of upper and lower cases. */ if ((syntax & RE_ICASE) && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) name = "alpha"; #ifdef RE_ENABLE_I18N /* Check the space of the arrays. */ if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nchar_classes is 0. */ Idx new_char_class_alloc = 2 * mbcset->nchar_classes + 1; /* Use realloc since array is NULL if *alloc == 0. */ wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t, new_char_class_alloc); if (BE (new_char_classes == NULL, 0)) return REG_ESPACE; mbcset->char_classes = new_char_classes; *char_class_alloc = new_char_class_alloc; } mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); #endif /* RE_ENABLE_I18N */ #define BUILD_CHARCLASS_LOOP(ctype_func) \ do { \ if (BE (trans != NULL, 0)) \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, trans[i]); \ } \ else \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, i); \ } \ } while (0) if (strcmp (name, "alnum") == 0) BUILD_CHARCLASS_LOOP (isalnum); else if (strcmp (name, "cntrl") == 0) BUILD_CHARCLASS_LOOP (iscntrl); else if (strcmp (name, "lower") == 0) BUILD_CHARCLASS_LOOP (islower); else if (strcmp (name, "space") == 0) BUILD_CHARCLASS_LOOP (isspace); else if (strcmp (name, "alpha") == 0) BUILD_CHARCLASS_LOOP (isalpha); else if (strcmp (name, "digit") == 0) BUILD_CHARCLASS_LOOP (isdigit); else if (strcmp (name, "print") == 0) BUILD_CHARCLASS_LOOP (isprint); else if (strcmp (name, "upper") == 0) BUILD_CHARCLASS_LOOP (isupper); else if (strcmp (name, "blank") == 0) BUILD_CHARCLASS_LOOP (isblank); else if (strcmp (name, "graph") == 0) BUILD_CHARCLASS_LOOP (isgraph); else if (strcmp (name, "punct") == 0) BUILD_CHARCLASS_LOOP (ispunct); else if (strcmp (name, "xdigit") == 0) BUILD_CHARCLASS_LOOP (isxdigit); else return REG_ECTYPE; return REG_NOERROR; } static bin_tree_t * build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const char *class_name, const char *extra, bool non_match, reg_errcode_t *err) { re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx alloc = 0; #endif /* not RE_ENABLE_I18N */ reg_errcode_t ret; re_token_t br_token; bin_tree_t *tree; sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else /* not RE_ENABLE_I18N */ if (BE (sbcset == NULL, 0)) #endif /* not RE_ENABLE_I18N */ { *err = REG_ESPACE; return NULL; } if (non_match) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ } /* We don't care the syntax in this case. */ ret = build_charclass (trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &alloc, #endif /* RE_ENABLE_I18N */ class_name, 0); if (BE (ret != REG_NOERROR, 0)) { re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = ret; return NULL; } /* \w match '_' also. */ for (; *extra; extra++) bitset_set (sbcset, *extra); /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (tree == NULL, 0)) goto build_word_op_espace; #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { bin_tree_t *mbc_tree; /* Build a tree for complex bracket. */ br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; dfa->has_mb_node = 1; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto build_word_op_espace; /* Then join them by ALT node. */ tree = create_tree (dfa, tree, mbc_tree, OP_ALT); if (BE (mbc_tree != NULL, 1)) return tree; } else { free_charset (mbcset); return tree; } #else /* not RE_ENABLE_I18N */ return tree; #endif /* not RE_ENABLE_I18N */ build_word_op_espace: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = REG_ESPACE; return NULL; } /* This is intended for the expressions like "a{1,3}". Fetch a number from 'input', and return the number. Return REG_MISSING if the number field is empty like "{,1}". Return RE_DUP_MAX + 1 if the number field is too large. Return REG_ERROR if an error occurred. */ static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) { Idx num = REG_MISSING; unsigned char c; while (1) { fetch_token (token, input, syntax); c = token->opr.c; if (BE (token->type == END_OF_RE, 0)) return REG_ERROR; if (token->type == OP_CLOSE_DUP_NUM || c == ',') break; num = ((token->type != CHARACTER || c < '0' || '9' < c || num == REG_ERROR) ? REG_ERROR : num == REG_MISSING ? c - '0' : MIN (RE_DUP_MAX + 1, num * 10 + c - '0')); } return num; } #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset) { re_free (cset->mbchars); # ifdef _LIBC re_free (cset->coll_syms); re_free (cset->equiv_classes); re_free (cset->range_starts); re_free (cset->range_ends); # endif re_free (cset->char_classes); re_free (cset); } #endif /* RE_ENABLE_I18N */ /* Functions for binary tree operation. */ /* Create a tree node. */ static bin_tree_t * create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type) { re_token_t t; t.type = type; return create_token_tree (dfa, left, right, &t); } static bin_tree_t * create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token) { bin_tree_t *tree; if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0)) { bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1); if (storage == NULL) return NULL; storage->next = dfa->str_tree_storage; dfa->str_tree_storage = storage; dfa->str_tree_storage_idx = 0; } tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++]; tree->parent = NULL; tree->left = left; tree->right = right; tree->token = *token; tree->token.duplicated = 0; tree->token.opt_subexp = 0; tree->first = NULL; tree->next = NULL; tree->node_idx = REG_MISSING; if (left != NULL) left->parent = tree; if (right != NULL) right->parent = tree; return tree; } /* Mark the tree SRC as an optional subexpression. To be called from preorder or postorder. */ static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node) { Idx idx = (uintptr_t) extra; if (node->token.type == SUBEXP && node->token.opr.idx == idx) node->token.opt_subexp = 1; return REG_NOERROR; } /* Free the allocated memory inside NODE. */ static void free_token (re_token_t *node) { #ifdef RE_ENABLE_I18N if (node->type == COMPLEX_BRACKET && node->duplicated == 0) free_charset (node->opr.mbcset); else #endif /* RE_ENABLE_I18N */ if (node->type == SIMPLE_BRACKET && node->duplicated == 0) re_free (node->opr.sbcset); } /* Worker function for tree walking. Free the allocated memory inside NODE and its children. */ static reg_errcode_t free_tree (void *extra _UNUSED_PARAMETER_, bin_tree_t *node) { free_token (&node->token); return REG_NOERROR; } /* Duplicate the node SRC, and return new node. This is a preorder visit similar to the one implemented by the generic visitor, but we need more infrastructure to maintain two parallel trees --- so, it's easier to duplicate. */ static bin_tree_t * duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa) { const bin_tree_t *node; bin_tree_t *dup_root; bin_tree_t **p_new = &dup_root, *dup_node = root->parent; for (node = root; ; ) { /* Create a new tree and link it back to the current parent. */ *p_new = create_token_tree (dfa, NULL, NULL, &node->token); if (*p_new == NULL) return NULL; (*p_new)->parent = dup_node; (*p_new)->token.duplicated = 1; dup_node = *p_new; /* Go to the left node, or up and to the right. */ if (node->left) { node = node->left; p_new = &dup_node->left; } else { const bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; dup_node = dup_node->parent; if (!node) return dup_root; } node = node->right; p_new = &dup_node->right; } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn-pipe.h���������������������������������������������������������������������0000664�0000000�0000000�00000014316�12071024546�013356� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Creation of subprocesses, communicating via pipes. Copyright (C) 2001-2003, 2006, 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <haible@clisp.cons.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _SPAWN_PIPE_H #define _SPAWN_PIPE_H /* Get pid_t. */ #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <stdbool.h> #ifdef __cplusplus extern "C" { #endif /* All these functions create a subprocess and don't wait for its termination. They return the process id of the subprocess. They also return in fd[] one or two file descriptors for communication with the subprocess. If the subprocess creation fails: if exit_on_error is true, the main process exits with an error message; otherwise, an error message is given if null_stderr is false, then -1 is returned, with errno set, and fd[] remain uninitialized. After finishing communication, the caller should call wait_subprocess() to get rid of the subprocess in the process table. If slave_process is true, the child process will be terminated when its creator receives a catchable fatal signal or exits normally. If slave_process is false, the child process will continue running in this case, until it is lucky enough to attempt to communicate with its creator and thus get a SIGPIPE signal. If exit_on_error is false, a child process id of -1 should be treated the same way as a subprocess which accepts no input, produces no output and terminates with exit code 127. Why? Some errors during posix_spawnp() cause the function posix_spawnp() to return an error code; some other errors cause the subprocess to exit with return code 127. It is implementation dependent which error is reported which way. The caller must treat both cases as equivalent. It is recommended that no signal is blocked or ignored (i.e. have a signal handler with value SIG_IGN) while any of these functions is called. The reason is that child processes inherit the mask of blocked signals from their parent (both through posix_spawn() and fork()/exec()); likewise, signals ignored in the parent are also ignored in the child (except possibly for SIGCHLD). And POSIX:2001 says [in the description of exec()]: "it should be noted that many existing applications wrongly assume that they start with certain signals set to the default action and/or unblocked. In particular, applications written with a simpler signal model that does not include blocking of signals, such as the one in the ISO C standard, may not behave properly if invoked with some signals blocked. Therefore, it is best not to block or ignore signals across execs without explicit reason to do so, and especially not to block signals across execs of arbitrary (not closely co-operating) programs." */ /* Open a pipe for output to a child process. * The child's stdout goes to a file. * * write system read * parent -> fd[0] -> STDIN_FILENO -> child * * Note: When writing to a child process, it is useful to ignore the SIGPIPE * signal and the EPIPE error code. */ extern pid_t create_pipe_out (const char *progname, const char *prog_path, char **prog_argv, const char *prog_stdout, bool null_stderr, bool slave_process, bool exit_on_error, int fd[1]); /* Open a pipe for input from a child process. * The child's stdin comes from a file. * * read system write * parent <- fd[0] <- STDOUT_FILENO <- child * */ extern pid_t create_pipe_in (const char *progname, const char *prog_path, char **prog_argv, const char *prog_stdin, bool null_stderr, bool slave_process, bool exit_on_error, int fd[1]); /* Open a bidirectional pipe. * * write system read * parent -> fd[1] -> STDIN_FILENO -> child * parent <- fd[0] <- STDOUT_FILENO <- child * read system write * * Note: When writing to a child process, it is useful to ignore the SIGPIPE * signal and the EPIPE error code. * * Note: The parent process must be careful to avoid deadlock. * 1) If you write more than PIPE_MAX bytes or, more generally, if you write * more bytes than the subprocess can handle at once, the subprocess * may write its data and wait on you to read it, but you are currently * busy writing. * 2) When you don't know ahead of time how many bytes the subprocess * will produce, the usual technique of calling read (fd, buf, BUFSIZ) * with a fixed BUFSIZ will, on Linux 2.2.17 and on BSD systems, cause * the read() call to block until *all* of the buffer has been filled. * But the subprocess cannot produce more data until you gave it more * input. But you are currently busy reading from it. */ extern pid_t create_pipe_bidi (const char *progname, const char *prog_path, char **prog_argv, bool null_stderr, bool slave_process, bool exit_on_error, int fd[2]); /* The name of the "always silent" device. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ # define DEV_NULL "NUL" #else /* Unix API. */ # define DEV_NULL "/dev/null" #endif #ifdef __cplusplus } #endif #endif /* _SPAWN_PIPE_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/idcache.h������������������������������������������������������������������������0000664�0000000�0000000�00000000355�11624727634�012664� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef IDCACHE_H # define IDCACHE_H 1 # include <sys/types.h> extern char *getuser (uid_t uid); extern char *getgroup (gid_t gid); extern uid_t *getuidbyname (const char *user); extern gid_t *getgidbyname (const char *group); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mpsort.c�������������������������������������������������������������������������0000664�0000000�0000000�00000007351�12071024546�012613� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Sort a vector of pointers to data. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "mpsort.h" #include <string.h> /* The type of qsort-style comparison functions. */ typedef int (*comparison_function) (void const *, void const *); static void mpsort_with_tmp (void const **restrict, size_t, void const **restrict, comparison_function); /* Sort a vector BASE containing N pointers, placing the sorted array into TMP. Compare pointers with CMP. N must be at least 2. */ static void mpsort_into_tmp (void const **restrict base, size_t n, void const **restrict tmp, comparison_function cmp) { size_t n1 = n / 2; size_t n2 = n - n1; size_t a = 0; size_t alim = n1; size_t b = n1; size_t blim = n; void const *ba; void const *bb; mpsort_with_tmp (base + n1, n2, tmp, cmp); mpsort_with_tmp (base, n1, tmp, cmp); ba = base[a]; bb = base[b]; for (;;) if (cmp (ba, bb) <= 0) { *tmp++ = ba; a++; if (a == alim) { a = b; alim = blim; break; } ba = base[a]; } else { *tmp++ = bb; b++; if (b == blim) break; bb = base[b]; } memcpy (tmp, base + a, (alim - a) * sizeof *base); } /* Sort a vector BASE containing N pointers, in place. Use TMP (containing N / 2 pointers) for temporary storage. Compare pointers with CMP. */ static void mpsort_with_tmp (void const **restrict base, size_t n, void const **restrict tmp, comparison_function cmp) { if (n <= 2) { if (n == 2) { void const *p0 = base[0]; void const *p1 = base[1]; if (! (cmp (p0, p1) <= 0)) { base[0] = p1; base[1] = p0; } } } else { size_t n1 = n / 2; size_t n2 = n - n1; size_t i; size_t t = 0; size_t tlim = n1; size_t b = n1; size_t blim = n; void const *bb; void const *tt; mpsort_with_tmp (base + n1, n2, tmp, cmp); if (n1 < 2) tmp[0] = base[0]; else mpsort_into_tmp (base, n1, tmp, cmp); tt = tmp[t]; bb = base[b]; for (i = 0; ; ) if (cmp (tt, bb) <= 0) { base[i++] = tt; t++; if (t == tlim) break; tt = tmp[t]; } else { base[i++] = bb; b++; if (b == blim) { memcpy (base + i, tmp + t, (tlim - t) * sizeof *base); break; } bb = base[b]; } } } /* Sort a vector BASE containing N pointers, in place. BASE must contain enough storage to hold N + N / 2 vectors; the trailing vectors are used for temporaries. Compare pointers with CMP. */ void mpsort (void const **base, size_t n, comparison_function cmp) { mpsort_with_tmp (base, n, base + n, cmp); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/group-member.c�������������������������������������������������������������������0000664�0000000�0000000�00000005266�12071024546�013673� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* group-member.c -- determine whether group id is in calling user's group list Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include "xalloc-oversized.h" /* Most processes have no more than this many groups, and for these processes we can avoid using malloc. */ enum { GROUPBUF_SIZE = 100 }; struct group_info { gid_t *group; gid_t groupbuf[GROUPBUF_SIZE]; }; static void free_group_info (struct group_info const *g) { if (g->group != g->groupbuf) free (g->group); } static int get_group_info (struct group_info *gi) { int n_groups = getgroups (GROUPBUF_SIZE, gi->groupbuf); gi->group = gi->groupbuf; if (n_groups < 0) { int n_group_slots = getgroups (0, NULL); if (0 <= n_group_slots && ! xalloc_oversized (n_group_slots, sizeof *gi->group)) { gi->group = malloc (n_group_slots * sizeof *gi->group); if (gi->group) n_groups = getgroups (n_group_slots, gi->group); } } /* In case of error, the user loses. */ return n_groups; } /* Return non-zero if GID is one that we have in our groups list. Note that the groups list is not guaranteed to contain the current or effective group ID, so they should generally be checked separately. */ int group_member (gid_t gid) { int i; int found; struct group_info gi; int n_groups = get_group_info (&gi); /* Search through the list looking for GID. */ found = 0; for (i = 0; i < n_groups; i++) { if (gid == gi.group[i]) { found = 1; break; } } free_group_info (&gi); return found; } #ifdef TEST char *program_name; int main (int argc, char **argv) { int i; program_name = argv[0]; for (i = 1; i < argc; i++) { gid_t gid; gid = atoi (argv[i]); printf ("%d: %s\n", gid, group_member (gid) ? "yes" : "no"); } exit (0); } #endif /* TEST */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stripslash.c���������������������������������������������������������������������0000664�0000000�0000000�00000003041�12071024546�013453� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* stripslash.c -- remove redundant trailing slashes from a file name Copyright (C) 1990, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "dirname.h" /* Remove trailing slashes from FILE. Return true if a trailing slash was removed. This is useful when using file name completion from a shell that adds a "/" after directory names (such as tcsh and bash), because on symlinks to directories, several system calls have different semantics according to whether a trailing slash is present. */ bool strip_trailing_slashes (char *file) { char *base = last_component (file); char *base_lim; bool had_slash; /* last_component returns "" for file system roots, but we need to turn "///" into "/". */ if (! *base) base = file; base_lim = base + base_len (base); had_slash = (*base_lim != '\0'); *base_lim = '\0'; return had_slash; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/selinux-at.h���������������������������������������������������������������������0000664�0000000�0000000�00000005454�12071024546�013367� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Prototypes for openat-style fd-relative SELinux functions Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <selinux/selinux.h> #include <selinux/context.h> /* These are the dir-fd-relative variants of the functions without the "at" suffix. For example, getfileconat (AT_FDCWD, file, &c) is usually equivalent to getfilecon (file, &c). The emulation is accomplished by first attempting getfilecon ("/proc/self/fd/DIR_FD/FILE", &c). Failing that, simulate it via save_cwd/fchdir/getfilecon/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. */ /* dir-fd-relative getfilecon. Set *CON to the SELinux security context of the file specified by DIR_FD and FILE and return the length of *CON. DIR_FD and FILE are interpreted as for fstatat[*]. A non-NULL *CON must be freed with freecon. Upon error, set *CON to NULL, set errno and return -1. [*] with flags=0 here, with flags=AT_SYMLINK_NOFOLLOW for lgetfileconat */ int getfileconat (int dir_fd, char const *file, security_context_t *con); /* dir-fd-relative lgetfilecon. This function is just like getfileconat, except when DIR_FD and FILE specify a symlink: lgetfileconat operates on the symlink, while getfileconat operates on the referent of the symlink. */ int lgetfileconat (int dir_fd, char const *file, security_context_t *con); /* dir-fd-relative setfilecon. Set the SELinux security context of the file specified by DIR_FD and FILE to CON. DIR_FD and FILE are interpreted as for fstatat[*]. Upon success, return 0. Otherwise, return -1 and set errno. */ int setfileconat (int dir_fd, char const *file, security_context_t con); /* dir-fd-relative lsetfilecon. This function is just like setfileconat, except that rather than dereferencing a symlink, this function affects it. */ /* dir-fd-relative lsetfilecon. This function is just like setfileconat, except when DIR_FD and FILE specify a symlink: lsetfileconat operates on the symlink, while setfileconat operates on the referent of the symlink. */ int lsetfileconat (int dir_fd, char const *file, security_context_t con); ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/cycle-check.h��������������������������������������������������������������������0000664�0000000�0000000�00000003712�12071024546�013443� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* help detect directory cycles efficiently Copyright (C) 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering */ #ifndef CYCLE_CHECK_H # define CYCLE_CHECK_H 1 # include <stdint.h> # include <stdbool.h> # include "dev-ino.h" # include "same-inode.h" struct cycle_check_state { struct dev_ino dev_ino; uintmax_t chdir_counter; int magic; }; void cycle_check_init (struct cycle_check_state *state); bool cycle_check (struct cycle_check_state *state, struct stat const *sb); # define CYCLE_CHECK_REFLECT_CHDIR_UP(State, SB_dir, SB_subdir) \ do \ { \ /* You must call cycle_check at least once before using this macro. */ \ if ((State)->chdir_counter == 0) \ abort (); \ if (SAME_INODE ((State)->dev_ino, SB_subdir)) \ { \ (State)->dev_ino.st_dev = (SB_dir).st_dev; \ (State)->dev_ino.st_ino = (SB_dir).st_ino; \ } \ } \ while (0) #endif ������������������������������������������������������coreutils-8.21/lib/ChangeLog-2007�������������������������������������������������������������������0000664�0000000�0000000�00001151670�12102337340�013262� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2007-05-31 Jim Meyering <jim@meyering.net> * printf-parse.c, vasnprintf.c, unicodeio.c: Remove local copies, so we now get these files from gnulib. 2007-03-20 Jim Meyering <jim@meyering.net> Fix a typo in the handling of %x and %X. * vasnprintf.c (VASNPRINTF): When adding 2 to buffer length, don't double it. 2007-03-04 Jim Meyering <jim@meyering.net> * vasnprintf.c (VASNPRINTF): Add missing semicolon. 2007-03-02 Jim Meyering <jim@meyering.net> * vasnprintf.c (VASNPRINTF): Remove cast of alloca return value. 2007-03-01 Jim Meyering <jim@meyering.net> Merge in changes from gnulib: * vasnprintf.c: Add a comment explaining why coreutils has its own version of this file. Include <stdint.h>. (SIZE_MAX): Remove definition (now, stdint.h covers that). (EOVERFLOW): Remove definition (now done via the eoverflow module). Update some #ifdef to #if. Use HAVE_LONG_LONG_INT, not HAVE_LONG_LONG. * printf-parse.c: Likewise. 2007-02-28 Jim Meyering <jim@meyering.net> * tsearch.c: Remove unused file. 2007-02-23 Jim Meyering <jim@meyering.net> * randperm.c (randperm_new): Comment: say that this function returns a pointer to malloc'd storage. 2007-02-18 Jim Meyering <jim@meyering.net> * xfts.c: Include <stdlib.h> rather than exit.h, now that stdlib.h is guaranteed to provide a valid definition of EXIT_FAILURE. 2007-01-19 Jim Meyering <jim@meyering.net> * .cvsignore, .gitignore: Add sys, as well as more bootstrap-inserted file names. 2007-01-14 Jim Meyering <jim@meyering.net> * fchdir-stub.c: Remove file. No longer needed. 2006-12-03 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove xmemcoll.c and xmemcoll.h. Now, they're handled by the gnulib xmemcoll module. 2006-11-22 Paul Eggert <eggert@cs.ucla.edu> * randread.c (__attribute__): Don't define if __attribute__ is already defined. Otherwise, the code won't conform to C99, since the macro arg is spelled differently by some include file, and the compilation fails with pedantic GCC. 2006-11-22 Jim Meyering <jim@meyering.net> * .cvsignore, .gitignore: Add fstat.c. 2006-11-14 Jim Meyering <jim@meyering.net> * readlink-stub.c, lstat-stub.c: Remove now-unused files. 2006-10-14 Paul Eggert <eggert@cs.ucla.edu> Port sha512sum to hosts where uintmax_t is only 32 bits, e.g., HP/Tandom NonStop OSS circa 2005 has 32-bit uintmax_t, 64-bit intmax_t. * u64.h: New file. * sha512.c (SWAP, sha512_init_ctx, sha384_init_ctx, sha512_read_ctx): (sha384_read_ctx, sha512_conclude_ctx, sha512_process_bytes): (sha512_round_constants, F2, F1, sha512_process_block): (S0, S1, SS0, SS1, M, R): Rewrite to use u64.h instead of assuming uint64_t. * sha512.h: Include u64.h rather than stdint.h. (rol64): Remove; moved to u64.h and renamed to u64rol. 2006-10-12 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_LIBADD): Append $(LIBOBJS), to accommodate the latest version of gnulib-tool. (libcoreutils_a_DEPENDENCIES): Likewise. From Bruno Haible. 2006-10-06 Jim Meyering <jim@meyering.net> Avoid a compiler warning: const'ify and remove a cast. * randread.c (struct randread_source) [handler]: Make parameter "const". [handler_arg]: Add "const" attribute. (randread_error): Make parameter "const". (simple_new, randread_set_handler, randread_set_handler_arg): Likewise. (randread_new): Remove now-unnecessary cast. * randread.h: Adjust prototypes. 2006-09-29 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add openat-proc.c. 2006-09-25 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add fchmodat.c. 2006-09-25 Jim Meyering <jim@meyering.net> * fchmodat.c: Remove file. gnulib's copy is identical. 2006-09-01 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add fcntl.h, fcntl_.h, inttypes_.h, isapipe.c, isapipe.h. 2006-08-25 Paul Eggert <eggert@cs.ucla.edu> * euidaccess-stat.c: Include <config.h> unconditionally, since we now assume config.h exists. * fchmodat.c: Likewise. * fd-reopen.c: Likewise. * fdopendir-glibc.c: Likewise. * memxfrm.c: Likewise. * printf-parse.c: Likewise. * rand-isaac.c: Likewise. * randint.c: Likewise. * randperm.c: Likewise. * randread.c: Likewise. * root-dev-ino.c: Likewise. * sha256.c: Likewise. * sha512.c: Likewise. * stdopen.c: Likewise. * strintcmp.c: Likewise. * strnumcmp.c: Likewise. * t-chdir-long: Likewise. * tsearch.c: Likewise. * unicodeio.c: Likewise. * vasnprintf.c: Likewise. * xfts.c: Likewise. * xmemxfrm.c: Likewise. * .cvsignore: Add configmake.h, stamp-h1. 2006-08-23 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add config.h, config.hin. * Makefile.am (AM_CPPFLAGS): Remove; we no longer need '-I..'. 2006-08-22 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add Makefile.in, getdate.tab.h. Remove stat.c, sysexit.h. 2006-08-22 Jim Meyering <jim@meyering.net> * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-21 Eric Blake <ebb9@byu.net> * Makefile.am (LDADD): Restore this line; it is still needed for t-fpending on platforms without __fpending. 2006-08-20 Paul Eggert <eggert@cs.ucla.edu> Add a bootstrap procedure, so that the CVS version contains fewer files and we bootstrap the rest from gnulib, gettext, etc. * Makefile.am: include gnulib.mk, so that we can remove most of this file. (AM_CPPFLAGS): Don't mention -I$(srcdir), since that's now done for us. (noinst_LIBRARIES, LDDADD, DEFS): Remove. (libcoreutils_a_SOURCES): Trim down greatly, just to the files that aren't in gnulib. (libcoreutils_a_LIBADD, lib_OBJECTS, BUILT_SOURCES, CLEANFILES): (MAINTAINERCLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES): (SUFFIXES, EXTRA_DIST, all-local, charset_alias, charset_tmp): (install-exec-local, uninstall-local, charset.alias, .sin.sed): (stdbool.h, stdint.h, fnmatch.h, arpa/inet.h, netinet/in.h): (sys/socket.h, getopt.h): Remove. * Makefile.in, README, __fpending.c, __fpending.h, acl.c, acl.h: * alloca.c, alloca_.h, allocsa.c, allocsa.h, argmatch.c, argmatch.h: * asnprintf.c, asprintf.c, at-func.c, atexit.c, backupfile.c: * backupfile.h, base64.c, base64.h, basename.c, bcopy.c, c-strtod.c: * c-strtod.h, c-strtold.c, calloc.c, canon-host.c, canon-host.h: * canonicalize.c, canonicalize.h, chdir-long.c, chdir-long.h: * chdir-safer.c, chdir-safer.h, chown.c, cloexec.c, cloexec.h: * close-stream.c, close-stream.h, closeout.c, closeout.h: * config.charset, creat-safer.c, cycle-check.c, cycle-check.h: * dev-ino.h, diacrit.c, diacrit.h, dirchownmod.c, dirchownmod.h: * dirfd.c, dirfd.h, dirname.c, dirname.h, dup-safer.c, dup2.c: * error.c, error.h, euidaccess.c, euidaccess.h, exclude.c: * exclude.h, exit.h, exitfail.c, exitfail.h, fchown-stub.c: * fcntl--.h, fcntl-safer.h, fd-safer.c, file-type.c, file-type.h: * fileblocks.c, filemode.c, filemode.h, filenamecat.c: * filenamecat.h, fnmatch.c, fnmatch_.h, fnmatch_loop.c: * fopen-safer.c, fprintftime.c, fprintftime.h, free.c, fsusage.c: * fsusage.h, ftruncate.c, fts-cycle.c, fts.c, fts_.h, full-read.c: * full-read.h, full-write.c, full-write.h, gai_strerror.c: * getaddrinfo.c, getaddrinfo.h, getcwd.c, getcwd.h, getdate.h: * getdate.y, getdelim.c, getdelim.h, getgroups.c, gethostname.c: * gethrxtime.c, gethrxtime.h, getline.c, getline.h, getloadavg.c: * getndelim2.c, getndelim2.h, getopt.c, getopt1.c, getopt_.h: * getopt_int.h, getpagesize.h, getpass.c, getpass.h, gettext.h: * gettime.c, gettimeofday.c, getugroups.c, getusershell.c: * group-member.c, group-member.h, hard-locale.c, hard-locale.h: * hash-pjw.c, hash-pjw.h, hash.c, hash.h, human.c, human.h: * idcache.c, imaxtostr.c, inet_ntop.c, inet_ntop.h, intprops.h: * inttostr.c, inttostr.h, lchmod.h, lchown.c, lchown.h: * linebuffer.c, linebuffer.h, localcharset.c, localcharset.h: * long-options.c, long-options.h, lstat.c, lstat.h, malloc.c: * mbchar.c, mbchar.h, mbswidth.c, mbswidth.h, mbuiter.h, md5.c: * md5.h, memcasecmp.c, memcasecmp.h, memchr.c, memcmp.c, memcoll.c: * memcoll.h, memcpy.c, memmove.c, mempcpy.c, mempcpy.h, memrchr.c: * memrchr.h, memset.c, mkancesdirs.c, mkancesdirs.h, mkdir-p.c: * mkdir-p.h, mkdir.c, mkdirat.c, mkstemp-safer.c, mkstemp.c: * mktime.c, modechange.c, modechange.h, mountlist.c, mountlist.h: * nanosleep.c, obstack.c, obstack.h, offtostr.c, open-safer.c: * openat-die.c, openat-priv.h, openat.c, openat.h, pathmax.h: * physmem.c, physmem.h, pipe-safer.c, posixtm.c, posixtm.h: * posixver.c, posixver.h, printf-args.c, printf-args.h: * printf-parse.h, putenv.c, quote.c, quote.h, quotearg.c: * quotearg.h, raise.c, readlink.c, readtokens.c, readtokens.h: * readtokens0.c, readtokens0.h, readutmp.c, readutmp.h, realloc.c: * ref-add.sin, ref-del.sin, regcomp.c, regex.c, regex.h: * regex_internal.c, regex_internal.h, regexec.c, rename.c, rmdir.c: * rpmatch.c, safe-read.c, safe-read.h, safe-write.c, safe-write.h: * same-inode.h, same.c, same.h, save-cwd.c, save-cwd.h, savedir.c: * savedir.h, setenv.c, setenv.h, settime.c, sha1.c, sha1.h: * sig2str.c, sig2str.h, snprintf.c, snprintf.h, socket_.h: * stat-macros.h, stat-time.h, stdbool_.h, stdint_.h, stdio--.h: * stdio-safer.h, stdlib--.h, stdlib-safer.h, stpcpy.c, strcase.h: * strcasecmp.c, strcspn.c, strdup.c, strdup.h, strftime.c: * strftime.h, stripslash.c, strncasecmp.c, strndup.c, strndup.h: * strnlen.c, strnlen.h, strnlen1.c, strnlen1.h, strpbrk.c, strstr.c: * strstr.h, strtod.c, strtoimax.c, strtol.c, strtoll.c, strtoul.c: * strtoull.c, strtoumax.c, strverscmp.c, strverscmp.h, tempname.c: * time_r.c, time_r.h, timespec.h, umaxtostr.c, unicodeio.h: * unistd--.h, unistd-safer.h, unlinkdir.c, unlinkdir.h: * unlocked-io.h, unsetenv.c, userspec.c, userspec.h, utime.c: * utimecmp.c, utimecmp.h, utimens.c, utimens.h, vasnprintf.h: * vasprintf.c, vasprintf.h, verify.h, version-etc-fsf.c: * version-etc.c, version-etc.h, wcwidth.h, xalloc-die.c, xalloc.h: * xgetcwd.c, xgetcwd.h, xgethostname.c, xgethostname.h, xmalloc.c: * xmemcoll.c, xmemcoll.h, xnanosleep.c, xnanosleep.h, xreadlink.c: * xreadlink.h, xstrndup.c, xstrndup.h, xstrtod.c, xstrtod.h: * xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtold.c, xstrtoul.c: * xstrtoumax.c, xtime.h, yesno.c, yesno.h: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-18 Bruno Haible <bruno@clisp.org> * mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h. (ME_DUMMY): Treat "kernfs" as a dummy. (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement. 2006-08-17 Paul Eggert <eggert@cs.ucla.edu> * ChangeLog: Add copyright notice. * .gdb-history: Likewise. * TODO: Likewise. * __fpending.h: Likewise. * fdopendir-glibc.c: Likewise. * fprintftime.h: Likewise. * root-dev-ino.h: Likewise. * search_.h: Likewise. * t-chdir-long: Likewise. * t-fpending.c: Likewise. * savedir.c: Use (C) in copyright notice. * savedir.h: Likewise. 2006-08-16 Paul Eggert <eggert@cs.ucla.edu> * memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. Problem and fix reported by Pádraig Brady in <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>. 2006-08-16 Jim Meyering <jim@meyering.net> * fts.c (fts_children): Remove obsolete "// FIXME ..." comment. Reported by Bruno Haible. 2006-08-15 Jim Meyering <jim@meyering.net> * at-func.c: New file, with the logic of all emulated at-functions. * openat-priv.h: Include <errno.h> and define ENOSYS, in support of the EXPECTED_ERRNO macro. * openat.c (fstatat, unlinkat, fchownat): Remove function definitions. Instead, define the appropriate symbols and include "at-func.c". * mkdirat.c (mkdirat): Likewise. * fchmodat.c (fchmodat): Likewise. (ENOSYS): Remove definition. * openat.c: Don't include <errno.h>, now that "openat-priv.h" does it. Don't include "unistd--.h" -- it wasn't ever used. 2006-08-14 Paul Eggert <eggert@cs.ucla.edu> * memcoll.c (memcoll): Optimize for the common case where the arguments are bytewise equal. 2006-08-11 Paul Eggert <eggert@cs.ucla.edu> * pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE -> HAVE_PIPE. Fix a file descriptor leak when fd_safer fails. * regex_internal.c (re_string_skip_chars): Don't assume WEOF fits in wchar_t. Problem reported by Eric Blake. * snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when LEN is smaller than SIZE. Suggested by Bruno Haible. Also, help the compiler to keep LEN in a register. 2006-08-10 Paul Eggert <eggert@cs.ucla.edu> Import the following changes from libc: 2006-06-02 Jakub Jelinek <jakub@redhat.com> * posix/regex_internal.c (re_string_skip_chars): If no character has been converted at all, set *last_wc to WEOF. If mbrtowc failed, set wc to the byte which couldn't be converted. (re_string_reconstruct): Don't clear valid_raw_len before calling re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set tip_context using re_string_context_at. 2006-05-02 Ulrich Drepper <drepper@redhat.com> * posix/regex.h: g++ still cannot handled [restrict]. 2006-04-21 Ulrich Drepper <drepper@redhat.com> * posix/regex.h: Remove special handling for VMS. Accommodate new getaddrinfo implementation in gnulib. * inet_ntop.c, inet_ntop.h, snprintf.c, snprintf.h, socket_.h: New files, from gnulib. * .cppi-disable: Add snprintf.h, socket_.h. * Makefile.am (libcoreutils_a_SOURCES): Add inet_ntop.h, snprintf.h. (MOSTLYCLEANDIRS): New macro. (BUILT_SOURCES): Add $(ARPA_INET_H), $(SYS_SOCKET_H), $(NETINET_IN_H). (arpa/inet.h, netinet/in.h, sys/socket.h): New rules. (MOSTLYCLEANFILES): Add arpa/inet.h, arpa/inet.h-t, netinet/in.h, netinet/in.h-t, sys/socket.h, sys/socket.h-t. (EXTRA_DIST): Add socket_.h. 2006-08-09 Paul Eggert <eggert@cs.ucla.edu> * allocsa.h, config.charset, error.c, error.h, exitfail.c, full-write.c: * getaddrinfo.c, getaddrinfo.h, gettext.h, localcharset.c, mbchar.h: * mbswidth.c, mkstemp-safer.c, pipe-safer.c, printf-args.c, quote.c: * readlink.c, regex_internal.h, setenv.c, stdint_.h, stdio--.h: * stdio-safer.h, stpcpy.c, strcspn.c, strtoimax.c, vasnprintf.h: * version-etc.c, wcwidth.h: Update from gnulib. 2006-08-09 Jim Meyering <jim@meyering.net> * rand-isaac.c: Include <config.h>. 2006-08-08 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libcoreutils_a_SOURCES): Add xmemxfrm.c, xmemxfrm.h. * memxfrm.c, memxfrm.h, randint.c, randint.h, randperm.c, randperm.h: * randread.c, randread.h, xmemxfrm.c, xmemxfrm.h: New files. * rand-isaac.h: New file. * rand-isaac.c: New file, mostly taken from ../src/rand-isaac.c. 2006-07-28 Paul Eggert <eggert@cs.ucla.edu> * modechange.c (mode_compile): Numeric modes now affect setuid and setgid on directories only if they set these bits. * modechange.h: Remove obsolete comment about masks. 2006-07-22 Paul Eggert <eggert@cs.ucla.edu> * close-stream.c, close-stream.h: New files. * closeout.c (close_stdout): Use new function close_stream. 2006-07-19 Mike Frysinger <vapier@gentoo.org> * mountlist.c [ME_REMOTE]: Filter out cifs. Reported by Toralf Förster in <http://bugs.gentoo.org/141012>. 2006-07-20 Jim Meyering <jim@meyering.net> * mountlist.c (ME_REMOTE): Compare strchr's result to NULL, not 0, for better readability. 2006-07-16 Paul Eggert <eggert@cs.ucla.edu> * dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h: New files. * mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h, unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h, save-cwd.h. Instead, include dirchownmod.h and mkancesdirs.h. (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE, MODE_BITS. Remove options VERBOSE_FMT_STRING, CWD_ERRNO. All callers changed. Revamp internals significantly, by not attempting to create directories that are temporarily more permissive than the final results. Do not attempt to use save_cwd/restore_cwd; it isn't worth it for mkdir and install. This removes some race conditions, fixes some bugs, and simplifies things. Use new dirchownmod function to do owner and mode changes. * mkdir-p.h: Likewise. * modechange.c (octal_to_mode): New function. (struct mode_change): New member mentioned. (make_node_op_equals): New arg mentioned. All callers changed. (mode_compile): Keep track of which mode bits the user has explicitly mentioned. (mode_adjust): New arg DIR, so that we implement the X op correctly. New arg PMODE_BITS, to keep track of which mode bits the user mentioned; it treats S_ISUID and S_ISGID speciall. All callers changed. * modechange.h: Likewise. 2006-07-16 Jim Meyering <jim@meyering.net> * userspec.c (parse_with_separator): Say "invalid spec" rather than the sometimes erroneous "cannot get the login group of a numeric UID" for a spec like "not-a-username:" or "1:". Reported by suckfish@ihug.co.nz in https://bugzilla.redhat.com/bugzilla/199027. 2006-07-10 Derek R. Price <derek@ximbiot.com> * backupfile.c, dirfd.h, fts.c, getcwd.c: Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN macros into the GNU _D_EXACT_NAMLEN. * savedir.c: Likewise. (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen. 2006-07-08 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (stdint.h): FULL_PATH_STDINT_H -> ABSOLUTE_STDINT_H, to accommodate update from gnulib. Update from gnulib, as follows: 2006-07-06 Jim Hyslop <jhyslop@dreampossible.ca> (tiny change) * getaddrinfo.c: Changes to compile under MSVC6: changed '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside brackets. Other minor changes to suppress some compiler warnings. 2006-07-06 Paul Eggert <eggert@cs.ucla.edu> * getloadavg.c: Use __VMS, not VMS. * getopt.c: Likewise. * getpagesize.h: Likewise. 2006-07-06 Derek R. Price <derek@ximbiot.com> and Paul Eggert <eggert@cs.ucla.edu> * backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't worry about this obsolete case any more. (HAVE_DIR): Remove. All uses removed; we now assume you can read directories. * dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't worry about this obsolete case any more. * fts.c: Likewise. * getcwd.c: Likewise. * savedir.c: Likewise. 2006-07-06 Paul Eggert <eggert@cs.ucla.edu> * fnmatch.c (ISBLANK): Remove. All uses changed to isblank. (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro. (ISGRAPH): Remove. All uses changed to isgraph. (FOLD) [!defined _LIBC]: Remove special case. * getdate.y (lookup_word): Remove no-longer-needed call to islower. * regext_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not HAVE_ISBLANK. * strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special case. 2006-07-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * strtod.c (strtod): cast the argument of tolower to unsigned char. 2006-07-05 Paul Eggert <eggert@cs.ucla.edu> * memcasecmp.c: Include <limits.h>. (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. * strtod.c (strtod): Don't assume isspace works on negative chars. Don't assume isdigit succeeds only on '0' through '9'. 2006-07-05 Derek R. Price <derek@ximbiot.com> * exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. All uses of is_space replaced by isspace. * exit.h: Don't talk about STDC_HEADERS. * fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses replaced by isprint etc. * getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. * getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. * memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. * strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. * strtol.c (IN_CTYPE_DOMAIN): Likewise. * xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. 2006-07-05 Eric Blake <ebb9@byu.net> * getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if missing from netdb.h. * getaddrinfo.c (includes): Include inet_ntop and snprintf. 2006-06-27 Bruno Haible <bruno@clisp.org> Assume ANSI C header files and <ctype.h> functions. * mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. (mbsnwidth): Use isprint, iscntrl instead. 2006-07-08 Jim Meyering <jim@meyering.net> * getndelim2.h (getndelim2): Remove doubled "after" in comment. 2006-07-03 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libcoreutils_a_SOURCES): Add setenv.h, wcwidth.h, to accommodate sync from gnulib. Sync from gnulib. 2006-06-30 Jim Hyslop <jhyslop@dreampossible.ca> (tiny change) * getaddrinfo.c: fixed typo 2006-06-28 Bruno Haible <bruno@clisp.org> * getaddrinfo.h: Fix POSIX URL. * getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of _WIN32. (use_win32_p): Make static. (getaddrinfo): Reject service name if it is empty or does not consist solely of decimal digits, or if its value is > 65535. (getnameinfo): Remove useless casts. 2006-06-28 Eric Blake <ebb9@byu.net> * mbchar.h (wcwidth): Include wcwidth.h. * mbswidth.c (wcwidth): Move from here... * wcwidth.h: ...to this new file. 2006-06-28 Simon Josefsson <jas@extundo.com> * getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the functions there. It will succeed on Windows XP, but on Windows 2000 and (presumably) earlier, it will fail, and use the internal re-implementation. (use_win32_p): New function. (getaddrinfo): Use strtoul on servname, to support numeric ports. Support AI_NUMERICSERV to disable getservbyname. (getnameinfo): New function, only supports NI_NUMERICHOST|NI_NUMERICSERV for now. * getaddrinfo.h: Test and check for AI_* flags separately, MinGW only have some of them. Add AI_NUMERICSERV. Add prototype for getnameinfo. 2006-06-26 Paul Eggert <eggert@cs.ucla.edu> * base64.c (B64): Use _ as the formal parameter, not x, to avoid bug in IBM C V6 for AIX. Problem reported by Larry Jones in <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>. 2006-06-21 Simon Josefsson <jas@extundo.com> * getaddrinfo.c (getaddrinfo): Set ai_family in the return variable. 2006-06-19 Paul Eggert <eggert@cs.ucla.edu> * alloca_.h (alloca) [defined alloca]: Don't define or declare. 2006-06-16 Eric Blake <ebb9@byu.net> * unsetenv.c [!defined errno]: Assume errno.h declares errno. * unicodeio.c [!defined errno]: Likewise. * strtol.c [!defined errno]: Likewise. * strtod.c [!defined errno]: Likewise. 2006-05-26 Martin Lambers <marlam@marlam.de> * getpass.c: Updates the test for the native W32 API, and adds missing includes, thus fixing compilation warnings. 2006-05-25 Sergey Poznyakoff <gray@gnu.org.ua> * exclude.c (exclude_fnmatch): New function. (excluded_file_name): Call exclude_fnmatch. * exclude.h (excluded_file_name): New prototype 2006-05-19 Jim Meyering <jim@meyering.net> * getugroups.c: Correct an outdated comment. From Bruno Haible. 2006-05-10 Paul Eggert <eggert@cs.ucla.edu> * sha1.c (rol): Cast right-shift arg to uint32_t to prevent unwanted sign propagation, e.g., on hosts with 64-bit int. There still are some problems with reeelly weird theoretical hosts (e.g., 33-bit int) but it's not worth worrying about now. (K1, K2, K3, K4): Remove unnecessary L suffix. 2006-03-24 Simon Josefsson <jas@extundo.com> * base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>, including some doc fixes. (base64_encode_alloc): Fix +1 bug on allocation failures. 2006-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * base64.c (base64_encode): Do not read past end of array with unsanitized input on systems with CHAR_BIT > 8. 2006-03-24 Eric Blake <ebb9@byu.net> * time_r.c (copy_string_result): Remove, as it is no longer used. 2006-07-03 Paul Eggert <eggert@cs.ucla.edu> * stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for MacOS X 10.4.6. Don't mention <sys/int_types.h>. Problems reported by Mark D. Baushke, one in <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>. 2006-07-03 Jim Meyering <jim@meyering.net> * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this macro is used before the first cycle_check call. 2006-07-02 Paul Eggert <eggert@cs.ucla.edu> * stdint_.h (intmax_t, uintmax_t): Prefer long to long long if both are 64 bits, since this seems to be the tradition, and this prevents gcc -Wformat from warning about usages with PRIuMAX. If we ever run into a host that prefers long long to long in this case, we'll need another configure-time test. Problem reported by Jim Meyering. 2006-07-02 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (stdint.h): Sync from gnulib. * stdint_.h: Sync from gnulib. 2006-06-30 Paul Eggert <eggert@cs.ucla.edu> * xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support both double and long double versions. (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally. * xstrtold.c: New file. * xstrtod.h (xstrtold): New decl. 2006-06-29 Derek R. Price <derek@ximbiot.com> * strftime.c: Assume strftime exists. 2006-06-28 Derek R. Price <derek@ximbiot.com> * savedir.c (CLOSEDIR): Remove. All uses changed to closedir. Autoconf 2.60 says this stuff was obsolete. 2006-06-20 Paul Eggert <eggert@cs.ucla.edu> * openat.c (openat): Use ?:, not if, to work around GCC bug 4210 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>. Problem reported by Denis Excoffier in <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>. 2006-06-19 Jim Meyering <jim@meyering.net> Apply this change from gnulib: 2006-06-16 Eric Blake <ebb9@byu.net> * unsetenv.c [!defined errno]: Assume errno.h declares errno. 2006-06-11 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (__attribute__): Don't define if already defined. Problem reported by Larry Jones. * utimens.c (__attribute__): Likewise. 2006-06-10 Jim Meyering <jim@meyering.net> Apply this change from gnulib: 2006-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bruno Haible <bruno@clisp.org> * strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. 2006-06-04 Paul Eggert <eggert@cs.ucla.edu> * regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun reported by Andreas Schwab. 2006-05-25 Paul Eggert <eggert@cs.ucla.edu> * tempname.c (small_open, large_open): New macros. (__open, __open64) [!_LIBC]: Remove. (__gen_tempname): Use small_open and large_open instead of __open and __open64. This fixes a portability bug on HP-UX 11.11i reported by Simon Wing-Tang in <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>. 2006-05-23 Paul Eggert <eggert@cs.ucla.edu> * filemode.c: Don't include <string.h>; this include was inadvertently put into the previous patch. Problem noted by Jim Meyering. 2006-05-22 Paul Eggert <eggert@cs.ucla.edu> * filemode.c (setst): Remove. (strmode): Rewrite to avoid setst. This makes the code shorter, (arguably) clearer, and the generated code is a bit smaller on my Debian GNU/Linux stable x86 host. Import from gnulib. * verify.h: Document the internals better. Most of this change was written by Bruno Haible. 2006-05-21 Jim Meyering <jim@meyering.net> * fts.c (fts_open): Fail with EINVAL if a caller violates this rule: Either FTS_LOGICAL or FTS_PHYSICAL must be provided to the fts_open() function. 2006-05-19 Paul Eggert <eggert@cs.ucla.edu> * nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>. Use the usual Autoconf way to include <time.h> and/or sys/time.h. (my_usleep): Don't mishandle maximum value. 2006-05-15 Jim Meyering <jim@meyering.net> Avoid the expense of an fstat, when possible. * fts.c (O_NOFOLLOW, STREQ): Define. (diropen_fd): Remove function. Merge it into sole caller... (diropen): ...here. Use O_NOFOLLOW when appropriate. (fts_safe_changedir): Call fstat for dev/inode check, only if the previous open/openat call may have opened the wrong directory. 2006-05-13 Jim Meyering <jim@meyering.net> * xfts.c (xfts_open): Always use FTS_CWDFD. Restore the parts of fts that were removed on 2006-01-17, so that it's easier for legacy applications designed for the version of fts in glibc or BSD to convert to this more robust version. Add a new mode, FTS_CWDFD, by which to enable the improved (openat- based -- aka no-chdir) semantics. * fts_.h (FTS_CWDFD): Define. Callers must use this fts_open option to enable the more robust behavior. (FTS_OPTIONMASK): Widen accordingly. * fts.c: Restore removed code, reverting the default behavior. 2006-05-11 Jim Meyering <jim@meyering.net> * sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From James Lemley. 2006-04-25 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (get_date): When adding relative date, start with the initial time, not with the result of the first mktime call. 2006-04-17 Paul Eggert <eggert@cs.ucla.edu> * filemode.c: Include "filemode.h" first, to test the interface. Assume that filemode.h includes sys/types.h and sys/stat.h. (HAVE_ST_DM_MODE): New macro, moved here from ls.c. (ftypelet): Reorder to put common cases first, for efficiency. Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility to do 'M'. (strmode): Renamed from mode_string, and now stores 12 bytes instead of 10, for compatibility with FreeBSD. All callers changed. (filemodestring): Now stores 12 bytes instead of 10, and sets file types that can't be deduced solely from st_mode. First arg is now a const pointer. * filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode. (strmode): Renamed from mode_string. (filemodestring): New decl. * stat-macros.h: Don't undef S_ISDOOR, since it's never buggy. (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never needed. (S_ISPORT, S_ISWHT): New macros, if not already defined. * openat.h (openat_needs_fchdir) [ ! defined __OPENAT_PREFIX]: Turn this into a macro that always returns false. 2006-04-15 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (futimens): glibc futimesat messes up if /proc isn't mounted. Problem reported by Kir Kolyshkin. 2006-04-14 Jim Meyering <jim@meyering.net> Remove unreachable code and plug leaks in code that handles degenerate input and some failure cases. * fts.c (fts_build): #if-0-out a block of unused code. Patch from glibc. (fts_build): Remove just-#if-0'd code and the code that declares and sets cderrno. (fts_build): Free `head' before returning NULL, in two places, to avoid leaks. Patch from glibc. (fts_open): Don't allocate parent if *argv==NULL. Patch from glibc. 2006-04-13 Paul Eggert <eggert@cs.ucla.edu> * regcomp.c (init_dfa): Don't use wchar_t or wctype_t if RE_ENABLE_I18N is not defined. Problem reported by Mark D. Baushke via Derek R. Price. * regex.h (RE_DUP_MAX): Update comment to match current implementation. 2006-04-12 Paul Eggert <eggert@cs.ucla.edu> * fsusage.c: Don't include <inttypes.h> or <stdint.h>, since fsusage.h now does that. Include fsusage.h first, to test interface. Prefer statvfs if it works, since it's blessed by POSIX. Attempt at most one method (the old code could have generated decls that didn't conform to C89, not that this was ever exercised). * fsusage.h: Include <inttypes.h> and <stdint.h> if they exist. 2006-04-09 Paul Eggert <eggert@cs.ucla.edu> Merge regex changes from libc, removing some of our POSIX-conformance changes that were rejected and redoing them in a less-intrusive way. * regcomp.c (re_compile_internal, init_dfa): Length arg is now size_t, not Idx. All uses changed. (peek_token): Forward decl now says internal_function. (__re_error_msgid, __re_error_msgid_idx): Now static rather than extern with attribute_hidden. (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn. For some reason libc prefers K&R style defns for external functions. (regerror) [!defined _LIBC]: Likewise. (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp): (seek_collating_symbol_entry, lookup_collation_sequence_value): (build_range_exp, build_collating_symbol): Use K&R-style defn. (re_compile_fastmap): Use '\0' to memset, not 0. (utf8_sb_map): Make the calculations more obvious. (init_dfa, parse_bracket_exp, build_charclass_op): Call calloc and cast result, as glibc does. (init_word_char, fetch_token, peek_token, peek_token_bracket): (build_range_exp, build_collating_symbol): Now internal functions. * regex.c [!defined _LIBC]: Allow compiling with C++ compilers. * regex.h (__USE_GNU_REGEX): New macro. Don't depend on _REGEX_SOURCE any more; depend on _GNU_SOURCE instead. Don't depend on VMS; depend on __VMS instead, for POSIX namespace cleanness. (regoff_t): Define to ssize_t, not long int. Remove the REG_ macros named below. Instead, make the old names (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if __USE_GNU_REGEX. (REG_BACKSLASH_ESCAPE_IN_LISTS): (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS): (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS): (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE): (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT): (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS): (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES): (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING): (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD): (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE): (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS): (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK): (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP): (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON): (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC): (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED): (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED): (REG_NREGS): Remove. All uses replaced by the old RE_* names. (RE_BACKSLASH_ESCAPE_IN_LISTS): (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS): (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS): (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE): (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT): (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS): (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES): (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING): (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD): (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE): (RE_CONTEXT_INVALID_DUP, RE_NO_SUB): Don't bother having these macros be independent of each others' values, since they no longer exist in the POSIX name space. Rename the following member names back to their old names, unless !__USE_GNU_REGEX. All uses changed back. (buffer): Renamed from re_buffer. (allocated): Renamed from re_allocated. (used): Renamed from re_used. (syntax): Renamed from re_syntax. (fastmap): Renamed from re_fastmap. (translate): Renamed from re_translate. (can_be_null): Renamed from re_can_be_null. (regs_allocated): Renamed from re_regs_allocated. (fastmap_accurate): Renamed from re_fastmap_accurate. (no_sub): Renamed from re_no_sub. (not_bol): Renamed from re_not_bol. (not_eol): Renamed from re_not_eol. (newline_anchor): Renamed from re_newline_anchor. (num_regs): Renamed from rm_num_regs. (start): Renamed from rm_start. (end): Renamed from rm_end. (free_state): Move up a bit. * regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]: #define to be empty. (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2 when that is what is intended. (SBC_MAX): Define to UCHAR_MAX + 1, not 256. (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed. (MAX): New macro. (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove. All uses changed back to re_malloc, etc. It's now the caller's responsibility to check for overflow; all callers changed. (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc): (re_x2nrealloc): Remove. (free_state): Remove decl. * regexc.c (regexec, re_match, re_search, re_match_2, re_search_2): (re_set_registers, re_exec): Use K&R-style defn. 2006-01-31 Roland McGrath <roland@redhat.com> * regcomp.c (calc_eclosure_iter): Remove dead variables. Reported by Mike Frysinger <vapier@gentoo.org>. 2006-01-15 Andreas Jaeger <aj@suse.de> [BZ #1950] * regex_internal.c (re_string_reconstruct): Adjust for build_wcs_upper_buffer change. (build_wcs_upper_buffer): Change return type. 2005-12-10 Ulrich Drepper <drepper@redhat.com> * regex_internal.h: Include <stdint.h> if available. 2005-12-06 Paolo Bonzini <bonzini@gnu.org> * regex_internal.h (SIZE_MAX): Provide a default definition. 2005-10-14 Ulrich Drepper <drepper@redhat.com> * regcomp.c: Adjust for changed secondary hash function. 2005-09-30 Ulrich Drepper <drepper@redhat.com> * regex.h: Pretty printing. Clean up namespace a bit. 2005-09-30 Jakub Jelinek <jakub@redhat.com> * regexec.c (update_cur_sifted_state, check_arrival, check_arrival_add_next_nodes): Avoid using uninitialized variable. 2005-09-06 Paul Eggert <eggert@cs.ucla.edu> Ulrich Drepper <drepper@redhat.com> [BZ #1302] * regex_internal.h (bitset_t): Renamed from bitset. All uses changed. (bitset_word_t): Renamed from bitset_word. All uses changed. 2005-09-22 Ulrich Drepper <drepper@redhat.com> [BZ #281] * regex.h: Define RE_TRANSLATE_TYPE as unsigned char *. * regcomp.c: Remove unnecessary uses of unsigned RE_TRANSLATE_TYPE. * regex_internal.h: Likewise. * regex_internal.c: Likewise. * regexec.c: Likewise. Based on a patch by Stepan Kasal <kasal@ucw.cz>. 2005-09-07 Ulrich Drepper <drepper@redhat.com> * regexec.c (find_recover_state): Remove unnecessary initialization. (transit_state_bkref): Make DFA a const pointer. (get_subexp): Likewise. (check_arrival): Likewise. (update_cur_sifted_state): Likewise. (re_search_internal): Likewise. (prune_impossible_nodes): Likewise. (acquire_init_state_context): Likewise. (proceed_next_node): Likewise. (set_regs): Likewise. (free_fail_stack_return): Likewise. (check_arrival_expand_ecl): Mark DFA parameter as const. (check_arrival_expand_ecl_sub): Likewise. (check_subexp_limits): Likewise. (sub_epsilon_src_nodes): Likewise. (add_epsilon_src_nodes): Likewise. (merge_state_array): Likewise. (update_regs): Likewise. (build_trtable): Likewise. (sift_states_backward): Mark MCTX parameter as const. (build_sifted_states): Likewise. (update_cur_sifted_state): Likewise. (sift_states_mkref): Likewise. (check_arrival_expand_ecl): Mark eclosure as const. (check_dst_limits_calc_pos_1): Likewise. * regex_internal.h (re_match_context_t): Make dfa a const pointer. 2005-09-06 Ulrich Drepper <drepper@redhat.com> * regexec.c (merge_state_with_log): Define dfa as const pointer. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (sift_states_iter_mb): Likewise. (check_arrival_add_next_nodes): Likewise. (check_node_accept_bytes): Change first parameter to pointer-to-const. [_LIBC] (re_search_2_stub): Use mempcpy. * regex_internal.c (re_string_reconstruct): Avoid calling mbrtowc for very simple UTF-8 case. * regex_internal.c (re_acquire_state): Make DFA pointer arg a pointer-to-const. (re_acquire_state_context): Likewise. * regex_internal.h: Adjust prototypes. * regex.c: Prevent using C++ compilers. * regex_internal.c (re_acquire_state): Minor code rearrangement. (re_acquire_state_context): Likewise. 2006-03-11 Eric Blake <ebb9@byu.net> * same.c (same_name): s/base_name/last_component/ * backupfile.c (check_extension, numbered_backup): Likewise. * filenamecat.c (file_name_concat): Likewise. 2006-03-11 Eric Blake <ebb9@byu.net>, Paul Eggert <eggert@cs.ucla.edu> * dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4. [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a drive prefix. (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE. (last_component): New method. * dirname.c (dir_len): Determine when drive letters need a subsequent slash. Preserve // when it is special. (dir_name): Don't append dot when drive letter is absolute. [TEST_DIRNAME]: Move into a full-blown gnulib test. * basename.c (base_name): New semantics - malloc the result. Preserve // when it is special. Preserve relative files that look like drive letters. (base_len): Preserve // when it is special. (last_component): New method, similar to old base_name semantics. * stripslash.c (strip_trailing_slashes): Use last_component, not base_name. Strip redundant slashes from ///. 2006-03-19 Jim Meyering <jim@meyering.net> Work even in a chroot where d_ino values for entries in "/" don't match the stat.st_ino values for the same names. * getcwd.c (__getcwd): When no d_ino value matches the target inode number, iterate through all entries again, using lstat instead. Reported by Kenshi Muto in http://bugs.debian.org/355810, and by Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656. * getcwd.c (__getcwd): Clarify a comment. Use memcpy in place of a call to strcpy. 2006-03-16 Paul Eggert <eggert@cs.ucla.edu> * regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Typedef to long int, not to off_, as POSIX will likely change in that direction. 2006-03-12 Jim Meyering <jim@meyering.net> * fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair matches that of the current directory (which we're about to chdir ".." out of), then save the dev-ino of the parent, instead. * same-inode.h (SAME_INODE): New file/macro. * chdir-safer.c (SAME_INODE): Remove definition. Include "same-inode.h", instead. * same.c: Likewise. * cycle-check.h: Include "same-inode.h". (CYCLE_CHECK_REFLECT_CHDIR_UP): Define. * cycle-check.c (SAME_INODE): Remove definition. * root-dev-ino.h: Include "same-inode.h". 2006-03-12 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libcoreutils_a_SOURCES): Remove time_r.c, time_r.h, as this is now done in m4. * time_r.h (asctime_r, ctime_r): Remove. These functions can overrun buffers and shouldn't be used (much as gets shouldn't be used). * time_r.c (asctime_r, ctime_r): Likewise. 2006-02-17 Simon Josefsson <jas@extundo.com> * base64.h, base64.c: New files. * Makefile.am (libcoreutils_a_SOURCES): Add base64.h and base64.c. 2006-02-20 Paul Eggert <eggert@cs.ucla.edu> * getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where AT_FDCWD exceeds INT_MAX. * openat.h (AT_FDCWD): Likewise. 2006-02-17 Jim Meyering <jim@meyering.net> * openat.c: Include lstat.h, so that uses of lstat are converted to uses of rpl_lstat, e.g., on Solaris 9. Otherwise, programs like du (which now uses the openat-enabled fts and hence fstatat) would mistakenly fail to dereference a symlink-to-directory specified with a trailing slash. 2006-02-14 Paul Eggert <eggert@cs.ucla.edu> * vasnprintf.c (VASNPRINTF): Rewrite the computation so that we need not use xsum. 2006-02-14 Bruno Haible <bruno@clisp.org> Sync from gnulib. * vasnprintf.c (VASNPRINTF): In the computation of the size of the temporary buffer for sprintf, take into account the precision also for 'd', 'i', 'u', 'o', 'x', 'X'. 2006-02-14 Simon Josefsson <jas@extundo.com> Sync from gnulib. * getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set, for mingw32. * gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for mingw32). 2006-02-07 Paul Eggert <eggert@cs.ucla.edu> * closeout.c (close_stdout): Don't assume 'bool' converts nonzero ints to 0 or 1, as this isn't true for the stdbool.h substitute. 2006-02-02 Jim Meyering <jim@meyering.net> Eliminate the unwelcome (albeit unlikely) possibility of xmalloc failure on deficient systems, and simplify gnulib lgpl dependencies. * lstat.c (rpl_lstat): Rewrite to use stat() in place of the xmalloc/lstat combination. Based on a patch from Bruno Haible. 2006-01-27 Paul Eggert <eggert@cs.ucla.edu> * fnmatch.c (L_): Renamed from L, to work around a bug in Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>. All uses changed. 2006-01-26 Paul Eggert <eggert@cs.ucla.edu> * stdbool_.h: Sync from gnulib. Use signed char with all non-GCC compilers. 2006-01-25 Paul Eggert <eggert@cs.ucla.edu> * stdbool_.h: Merge from gnulib; we still don't quite match exactly, but we're getting closer. (true, false) [defined __BEOS__]: undef, as before. (_Bool) [!@HAVE__BOOL@ && defined __GNUC__]: Use an enum rather than a #define. 2006-01-25 Jim Meyering <jim@meyering.net> * fileblocks.c: Remove useless parentheses in cpp directive. * readutmp.h: Likewise. 2006-01-23 Paul Eggert <eggert@cs.ucla.edu> Work around porting bugs reported by Dieter in <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>. * getopt.c (_NOPROTO): Remove; no longer needed. Include <stdlib.h> and <unistd.h> in all environments; it's safe now. Include "getopt.h" first, to check interface. (getenv): Declare only if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV. * strndup.c [!_LIBC]: Include "strndup.h" to get prototype. (__strndup): Revert to K&R-style function dfns, the glibc style. * strnlen.c: Don't claim it's taken from glibc; it's not. (strnlen, __strnlen): Remove #defines and #undefs; not needed. Include strnlen.h first, to get prototype properly. (strnlen): Renamed from __strnlen. Remove weak alias. 2006-01-23 Ulrich Drepper <drepper@redhat.com> These changes imported from libc. * getopt.c: Use __fxprintf instead of inline stream orientation test and two separate function calls. * strndup.c (__strndup): Add libc_hidden_def. 2006-01-23 Jim Meyering <jim@meyering.net> * xalloc-die.c: Remove unused definition of N_. 2006-01-22 Paul Eggert <eggert@cs.ucla.edu> * quotearg.c (quotearg_buffer_restyled): Add "default: break;" to pacify gcc -Wswitch-default. 2006-01-17 Jim Meyering <jim@meyering.net> Rewrite fts.c not to change the current working directory, by using openat, fstatat, fdopendir, etc.. * fts.c [! _LIBC]: Include "openat.h" and "unistd--.h". (HAVE_OPENAT_SUPPORT): Define. [_LIBC] (fchdir): Don't undef or define; no longer used. (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. Now, this `function' always succeeds, and consumes its file descriptor parameter -- so callers must not close such FDs. Update callers. (diropen_fd, opendirat, cwd_advance_fd): New functions. (diropen): Add parameter, SP. Adjust all callers. Implement using diropen_fd, rather than open. (fts_open): Initialize new member, fts_cwd_fd. Remove fts_rft-setting code. (fts_close): Close fts_cwd_fd, if necessary. (__opendir2): Define in terms of opendir or opendirat, depending on whether the FST_NOCHDIR flag is set. (fts_build): Since fts_safe_changedir consumes its FD, and since this code must do `closedir(dirp)', dup the dirfd(dirp) argument, and close the dup'd file descriptor upon failure. (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. (fts_safe_changedir): Tweak semantics to reflect that this function now calls cwd_advance_fd and hence consumes its FD argument. * fts_.h [struct FTS] (fts_cwd_fd): New member. [struct FTS] (fts_rft): Remove now-unused member. [struct FTS] (fts_cycle.state): Improve comment. * openat.c (openat_needs_fchdir): New function. * openat.h (openat_needs_fchdir): Declare it. 2006-01-12 Jim Meyering <jim@meyering.net> * stdint_.h: Remove useless parentheses in cpp directives, so that this file passes coreutils' `make syntax-check' tests. 2006-01-11 Paul Eggert <eggert@cs.ucla.edu> * .cvsignore: Add stdint.h. * Makefile.am (BUILT_SOURCES, EXTRA_DIST, stdint.h, MOSTLYCLEANFILES): Add gnulib snippet. * md5.c: Fix commentary typos. (alignof, UNALIGNED_P): No need for a GCC-specific version. * md5.h (__attribute__): Remove; unused. * sha1.c, sha256.c, sha256.c: Fix commentary to match md5 better. * sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer, so that we don't need to worry about alignment. All uses changed. This merges the 2005-10-28 md5 change into sha1. * sha256.h (struct sha256_ctx): Likewise. * sha512.h (struct sha512_ctx): Likewise. * sha256.h: Include stdint.h rather than md5.h. * sha512.h: Include stdint.h uniformly, since we now have the stdint module. * stdint_.h: New file, from gnulib. 2006-01-11 Jim Meyering <jim@meyering.net> * fts.c (fts_stat): When following a symlink-to-directory, don't necessarily interpret stat-fails+lstat-succeeds as indicating a dangling symlink. That can also happen at least for ELOOP. The fix: return FTS_SLNONE only when the stat errno is ENOENT. FYI, this bug predates the inclusion of fts.c in coreutils. 2006-01-11 Jim Meyering <jim@meyering.net> * fts.c [!_LIBC]: Include "fcntl--.h", to map open to open_safer. (fts_open): Put new (2006-01-04) maxarglen declaration and uses in their own block, so pre-c99 compilers don't object. * openat.c (fchownat): New function. * openat.h (fchmodat, fchownat): Declare. (chmodat, lchmodat): Define convenience functions. (chownat, lchownat): Likewise. * fchmodat.c (fchmodat): New file and function. * md5.c (OP): Remove useless space-before-TAB. 2006-01-10 Paul Eggert <eggert@cs.ucla.edu> * localcharset.c, md5.c, md5.h, savedir.c, savedir.h, sha1.c, sha1.h * strcasecmp.c, strncasecmp.c, verify.h, regex_internal.h: Sync from gnulib. * sha256.c, sha256.h, sha512.c, sha512.h: Replace all instances of md5_uint32_t with uint32_t, to accommodate gnulib change. 2006-01-10 Jim Meyering <jim@meyering.net> Avoid the double-free (first in fts_read, second in fts_close) that would occur when an `active' directory is made inaccessible (e.g., via chmod a-x) during a traversal. * fts.c (fts_read): After a failed fchdir, update sp->fts_cur before returning. Reproduce this failure by mkdir -p a/b; cd a; chmod a-x . b Reported by Stavros Passas. 2006-01-06 Jim Meyering <jim@meyering.net> * version-etc.c (COPYRIGHT_YEAR): Update to 2006. 2006-01-04 Paul Eggert <eggert@cs.ucla.edu> * strftime.c (tzname): Don't declare if it is already #defined. Problem reported for Mingw by Mark Junker. 2006-01-04 Jim Meyering <jim@meyering.net> Merge from glibc. * fts.c (fts_open): Avoid function call in MAX macro use. 2006-01-03 Paul Eggert <eggert@cs.ucla.edu> * xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use long int, not int, for nanosecond counts, so that people who are used to POSIX struct timespec won't be surprised. Reported by Jim Meyering. 2006-01-01 Paul Eggert <eggert@cs.ucla.edu> * chmod-safer.c, chmod-safer.h: Remove. * lchmod.h: New file. * mkdir-p.c: Include lchmod.h, lchown.h. (make_dir_parents): Use lchown rather than chown, and lchmod rather than chmod. 2005-12-26 Paul Eggert <eggert@cs.ucla.edu> * chdir-long.c (cdb_free): Don't bother trying to open directory for write access: POSIX says that must fail. * chdir-safer.c (chdir_no_follow): Likewise. * fts.c (diropen): Likewise. * save-cwd.c (save_cwd): Likewise. * chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as well, for minor improvements on hosts that lack O_DIRECTORY. * chmod-safer.c (defined_S_IFMT): New macro. Include stat-macros.h. Include stdlib.h, for abort(). Don't include stdio.h or assert.h; no longer needed. (same_file_type): Don't assume S_IFMT is defined, as POSIX does not require this. Don't assume S_IFCHR and S_IFBLK have their usual sort of bit pattern. (fchmod_new): Open with O_NOCTTY for as well, for minor improvement on hosts where that matters. Don't bother to assert, since the caller (in this source file) checks the same thing. Discard any errno from a close failure, for consistency with other code. * chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: Don't try O_WRONLY unless O_RDONLY failed wth EACCES. Fall back on chown if open failed with EACCES. 2005-12-26 Jim Meyering <jim@meyering.net> * chdir-safer.c (chdir_no_follow): Move declaration of local, sb2, `down' into the scope where it is used. Note that on some systems this function also fails when DIR is a writable-yet-unreadable directory. 2005-12-25 Paul Eggert <eggert@cs.ucla.edu> * chdir-safer.h (FCHMOD_SAFER_H): Remove: it was misnamed, and wasn't needed anyay. * chdir-safer.c (chdir_no_follow): Don't include stdio.h, assert.h, fcntl--.h; not needed. (O_DIRECTORY): Define if not already defined. (chdir_no_follow): Revamp describing comment to match code more closely. Redo use of internal vars to avoid lint complaints. Work even if directory is writeable but not readable. Open with O_DIRECTORY | O_NOCTTY, for benefit of hosts that don't have O_NOFOLLOW. Use O_NONBLOCK (POSIX spelling) rather than O_NDELAY. Don't bother invoking fstat if open does not dereference symlink, since the result isn't used then. Don't assume file descriptor is positive; it might be zero now that we no longer include fcntl--.h (we don't need fcntl--.h since we immediately close the descriptor). 2005-12-25 Jim Meyering <jim@meyering.net> * chdir-safer.c (chdir_no_follow): Remove unnecessary test of S_ISDIR (sb_init.st_mode). 2005-12-23 Jim Meyering <jim@meyering.net> * mkdir-p.c (make_dir_parents): Use chdir_no_follow only if we've just created the directory. * chdir-safer.c (chdir_no_follow): Rewrite to use fchdir even when O_NOFOLLOW is not defined. Suggested by James Youngman. * chmod-safer.c (O_NOFOLLOW): Define, if necessary. * chdir-safer.c (O_NOFOLLOW): Likewise. Reported by Eric Blake. 2005-12-22 Jim Meyering <jim@meyering.net> * openat.c: Include "fcntl--.h" and "unistd--.h", to map open and dup to open_safer and dup_safer, respectively. (openat_permissive): Fix typo in comment. 2005-12-21 Jim Meyering <jim@meyering.net> Like chdir(2), but safer, if possible. * chdir-safer.c, chdir-safer.h: New files. 2005-12-20 Jim Meyering <jim@meyering.net> * mkdir-p.c (RW_USR): Remove definition. (make_dir_parents): Use S_IRWXU, now that read access is also required. Avoid a race condition, on systems where open honors O_NOFOLLOW. * mkdir-p.c (make_dir_parents): Include chdir-safer.h. Use chdir_no_follow in place of chdir. * mkdir-p.c (make_dir_parents): Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). * chmod-safer.c (fchmod_new): Don't try to close fd if it's < 0. 2005-12-19 Jim Meyering <jim@meyering.net> * chmod-safer.c, chmod-safer.h: New files. 2005-12-05 Andreas Gruenbacher <agruen@suse.de> Add POSIX ACL support * acl.h (copy_acl, set_acl): Add declarations. * acl.c (acl_entries): Add fallback implementation for POSIX ACL systems other than Linux. (chmod_or_fchmod): New function: use fchmod when possible, and chmod otherwise. (file_has_acl): Add a POSIX ACL implementation, with a Linux-specific subcase. (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and S_ISVTX from one file to another. Fall back to fchmod/chmod when acls are unsupported. (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and S_ISVTX to a defined value. Fall back to fchmod/chmod when acls are unsupported. 2005-12-16 Paul Eggert <eggert@cs.ucla.edu> * openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>, "gettext.h"; either no longer needed or are guaranteed by openat.h. (_): Remove; no longer needed. (openat): Renamed from rpl_openat; no need for rpl_openat since openat.h renames openat for us. Replace most of the body with a call to openat_permissive, to avoid duplicate code. Port to (probably hypothetical) environments were mode_t is wider than int. (openat_permissive): Require mode arg, so that we can check types better. Put it just after flags. Change cwd failure indicator from pointer-to-bool to pointer-to-errno-value. All callers changed. Invoke openat_save_fail and/or openat_restore_fail if cwd_errno is null, so that openat can call us. (openat_permissive, fdopendir, fstatat, unlinkat): Simplify errno handling to avoid some duplicate code, as it's OK to set errno on success. * openat.h: Revamp code so that function macros depend on __OPENAT_PREFIX only, not also on AT_FDCWD. (openat_ro): Remove. Caller changed to use openat_permissive. (openat_permissive): Now a macro, if not a function. (openat_restore_fail, openat_save_fail): Now always functions, since mkdirat needs them even if __OPENAT_PREFIX is defined. 2005-12-14 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove fprintftime.c and fprintftime.h. Now they're pulled in via the .m4 file. 2005-12-13 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (stdbool.h): Resurrect the 'sed' that goes along with '#if !@HAVE_BOOL@". * stdbool_.h (_Bool): Resurrect the "#if !@HAVE__BOOL@" check, to work around compilers that have a (possibly-broken) _Bool but lack a working <stdbool.h>. 2005-12-07 Paul Eggert <eggert@cs.ucla.edu> * stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 porting problem reported by Georg Schwarz in <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>. 2005-12-04 Jim Meyering <jim@meyering.net> * openat-priv.h (EXPECTED_ERRNO): Add ENOSYS, for Solaris 8. Paul Eggert reported that unlink/rmdir vs. e.g., /proc/self/fd/N/FILE fails with ENOSYS. This makes openat revert to using save-cwd.c functions in that case. 2005-12-01 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * exclude.c: Include verify.h. (verify): Remove. All callers changed to use verify.h's version. * strtoimax.c: Likewise. * utimecmp.c: Likewis.e * obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't include <wchar.h>; no longer needed. 2005-12-01 Jim Meyering <jim@meyering.net> Sync from gnulib. * intprops.h (signed_type_or_expr__): Define. (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound for unsigned types. 2005-12-01 Jakub Jelinek <jakub@redhat.com> and Ulrich Drepper <drepper@redhat.com> Import from libc via gnulib. * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf instead of inline stream orientation test and two separate function calls. Pay no attention to USE_IN_LIBIO. 2005-12-01 Roland McGrath <roland@redhat.com> Import from libc via gnulib. [BZ #1331] * obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed macro argument. Reported by Matej Vela <vela@debian.org>. 2005-11-30 Jim Meyering <jim@meyering.net> * openat-priv.h: New file, defining macros used by mkdirat.c and openat.c. * mkdirat.c: Include openat-priv.h. Remove definitions of macros defined therein. * openat.c: Likewise. * mkdirat.c (mkdirat): New file and function. * openat.h (mkdirat): Declare. 2005-11-25 Paul Eggert <eggert@cs.ucla.edu> * mountlist.c (ME_DUMMY): "none" and "proc" file systems are dummies too. Problem with "none" reported by Bob Proulx. Problem with "proc" reported by n0dalus. * mountlist.c: Include <limits.h>. (dev_from_mount_options) [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: New function. It no longer assumes "dev=" has the System V meaning on Linux (since it doesn't). It also parses "dev=" more carefully. (read_file_system_list) [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. MOUNTED_GETMNTENT2 is new here; the code didn't used to look for dev= in that case. * Makefile.am (stdbool.h): Just copy stdbool_.h; no need to sed any more. * stdbool_.h: Simplify greatly, under the assumption that these days most people use C99-compatible compilers to debug, so it's not worth worrying about catering to older compilers for that. This works around some porting problems with HP-UX compilers. (false, true) [defined __BEOS__]: Don't #undef; no longer needed. (_Bool): typedef to bool if C++ or BeOS, and #define to signed char otherwise. * gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: Report an error at compile-time if only a 1-second nominal clock resolution is found. 2005-11-23 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libcoreutils_a_SOURCES): Add buffer-lcm.c, buffer-lcm.h. * buffer-lcm.c, buffer-lcm.h: New files, from diffutils. 2005-11-23 Jim Meyering <jim@meyering.net> * openat.c (fdopendir): Don't change errno when returning non-NULL. 2005-11-22 Jim Meyering <jim@meyering.net> * openat.h (openat_permissive): Declare. (openat_ro): Define. * openat.c (EXPECTED_ERRNO): New macro. (openat_permissive): New function -- used in remove.c rewrite. (all functions): Set errno just before returning, only if there was an actual failure. Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. 2005-11-20 Jim Meyering <jim@meyering.net> * euidaccess-stat.c: New file, mostly from euidaccess.c. * euidaccess-stat.h: New file. 2005-11-15 Paul Eggert <eggert@cs.ucla.edu> * xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as coreutils no longer futzes with rounding modes. 2005-11-08 Eric Blake <ebb9@byu.net> * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. 2005-11-13 Jim Meyering <jim@meyering.net> * mkstemp-safer.c: Include <config.h>, required for possible replacement of mkstemp. 2005-11-12 Jim Meyering <jim@meyering.net> Emulate openat-family functions using Linux's procfs, if possible. Idea and some code based on Ulrich Drepper's glibc changes. * openat.c: (BUILD_PROC_NAME): New macro. Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h". (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, before falling back on save_cwd and restore_cwd. (fdopendir, fstatat, unlinkat): Likewise. 2005-11-11 Jim Meyering <jim@meyering.net> * openat.c (fstatat, unlinkat): Perform the syscall directly, skipping the save_cwd...restore_cwd overhead, if FILE is absolute. 2005-11-10 Paul Eggert <eggert@cs.ucla.edu> * gethrxtime.c: Include "timespec.h" rather than the sys/time / time business. (gethrxtime) [! (HAVE_NANOUPTIME || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling our own approximation. 2005-11-01 Paul Eggert <eggert@cs.ucla.edu> * posixtm.h (PDS_PRE_2000): New macro. * posixtm.c (year): Arg is now syntax_bits rather than allow_century. All usages changed. Reject dates outside the range 1969-1999 if PDS_PRE_2000 is used. 2005-10-30 Paul Eggert <eggert@cs.ucla.edu> Fix porting problems reported by Theodoros V. Kalamatianos. * fd-reopen.c [defined HAVE_CONFIG_H]: Include <config.h>, so that large files can be opened. * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: Don't assume that futimes failing means we must fail. 2005-10-29 Paul Eggert <eggert@cs.ucla.edu> * getcwd.c (__getcwd): Don't assume that system calls after readdir leave errno alone. Problem reported by Dmitry V. Levin. 2005-10-28 Paul Eggert <eggert@cs.ucla.edu> * savedir.c (savedir): Don't assume that xrealloc etc. leave errno alone. Problem reported by Frederic Jolliton. 2005-10-24 Jim Meyering <jim@meyering.net> * mkdir-p.c (make_dir_parents): Like the code above, don't rely on mkdir failing with a particular errno value (EEXIST). Based on a patch by Dmitry V. Levin. * mkdir-p.c (make_dir_parents): Make the preceding fix a little more robust, e.g., when the final component is created as a non- directory by another process just before `mkdir -p's final mkdir. A command like `mkdir -p nonexistent/.' would create the directory but exit nonzero with a diagnostic. This could also be triggered with a non-`.' component, e.g., in a race with another process running the same `mkdir -p nonexistent/sub' command. * mkdir-p.c (make_dir_parents): Handle the case of an existing final component. Reported by Matthias Andree here: http://savannah.gnu.org/bugs/?func=detailitem&item_id=14848 2005-10-23 Jim Meyering <jim@meyering.net> * sha512.h: Remove no-longer-relevant comment. 2005-08-27 David Madore <david.madore@ens.fr> * sha256.h, sha256.c, sha512.h, sha512.c: New files - sha-2 implementation. 2005-10-20 Jim Meyering <jim@meyering.net> * modechange.c (mode_compile): Reject an invalid mode string that starts with an octal digit. From Andreas Gruenbacher. 2005-10-13 Paul Eggert <eggert@cs.ucla.edu> * mkdir-p.c (make_dir_parents): Don't report an error if an intermediate directory is in a read-only file system. Problem reported by Eric Blake. 2005-10-08 Jim Meyering <jim@meyering.net> * openat.c (rpl_openat): Use the promoted type (int), not mode_t, as second argument to va_arg. Otherwise, some versions of gcc warn that `if this code is reached, the program will abort'. Update from gnulib. * getdelim.c: (SIZE_MAX): New macro, if not already defined. 2005-10-05 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_DEPENDENCIES): Remove definition. Once it's gone, automake generates an equivalent one. Suggestion from Stepan Kasal. * getaddrinfo.h: Merge from gnulib. 2005-10-04 Jim Meyering <jim@meyering.net> Merge from gnulib. * getaddrinfo.h: Include sys/types.h before other headers. 2005-10-02 Paul Eggert <eggert@cs.ucla.edu> * getdelim.c: Import from gnulib (to fix unused var warnings) then apply the following fixes: Include getdelim.h first. Include <limits.h>. (SSIZE_MAX): New macro, if not already defined. (getdelim): Fix buffer overrun on 64-bit hosts with lines longer than 2 GiB. 2005-10-01 Simon Josefsson <jas@extundo.com> * getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect AI_* and EAI_* definitions. Protect function declarations. 2005-09-29 Paul Eggert <eggert@cs.ucla.edu> * openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. Remove AT_FDCWD test. Do not consume the fd unless successful. * openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. 2005-09-29 Paul Eggert <eggert@cs.ucla.edu> * xtime.h (XTIME_PRECISION): Now of type int, not long long int, so that the code works even with ancient cpp. Portability problem with GCC 2.7.2.1 reported by Thomas M.Ott. * settime.c (settime): Fix { typo in previous patch. Also, don't bother returning ENOSYS if settimeofday or stime fails; just let them return whatever errno they want to return. 2005-09-29 Jim Meyering <jim@meyering.net> * settime.c (settime): Move the HAVE_STIME block `up' into an #elif block, so that we don't even try to compile it if settimeofday is available. This works around a compilation failure on OSF1 V5.1, due to stime requiring a `long int*' while tv_sec is `int'. 2005-09-27 Jim Meyering <jim@meyering.net> * fprintftime.c [HAVE_CONFIG_H]: Include <config.h> conditionally, to be consistent with gnulib. * getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef HAVE_CONFIG_H. * fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>. * strnumcmp.c [HAVE_CONFIG_H]: Include <config.h> here, now that strnumcmp-in.h no longer includes it. 2005-09-26 Paul Eggert <eggert@cs.ucla.edu> * utimens.c: Include unistd.h, for dup2. (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. 2005-09-25 Jim Meyering <jim@meyering.net> * strnumcmp-in.h: Protect against multiple inclusion. 2005-09-24 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (ENOSYS): Define if not already defined. (futimens): Support having a null PATH if the file descriptor is nonnegative. * Makefile.am (libcoreutils_a_SOURCES): Remove mbchar.c, since it doesn't build in OpenBSD 3.4. See <http://lists.gnu.org/archive/html/bug-gnulib/2005-09/msg00242.html>. * regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): Remove. (__attribute): Define to empty unless GCC 3.1 or later. This works around a core dump on OpenBSD 3.4, which has GCC 2.95.3, which dumps core when given __attribute__(()). It also simplifies other tests, since we really don't want to bother with worrying about which ancient version of GCC supported what. Original problem reported by Yoann Vandoorselaere, with part of the fix suggested by Derek Price. 2005-09-24 Jim Meyering <jim@meyering.net> * openat-die.c, root-dev-ino.c, setenv.c, stdopen.c: * tsearch.c, unsetenv.c, xfts.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H', for consistency with gnulib. * strintcmp.c: Include <config.h> here, ... * strnumcmp-in.h: ..., not here. Sync from gnulib. * verify.h (verify_type__): Use `unsigned int' as the bitfield type so we can once again use a positive bitfield width of 1 -- now we don't have to explain why we were using a bitfield width of 2. 2005-09-23 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (futimens): Use futimesat if available. Prefer it to futimes since it doesn't have the futimes bug. * verify.h (GL_CONCAT0, GL_CONCAT): Remove. (verify): Don't use the __LINE__ trick, as it doesn't work in general. Instead, declare a function that returns a pointer to an array, and use verify_type__ to declare the size of the array. Problem and germ of a solution reported by Bruno Haible. (verify_type__): Use 2, not 1, for bitfield size, to avoid a warning with Irix 6.5 cc. Problem reported by Bruno Haible. 2005-09-23 Jim Meyering <jim@meyering.net> * strnumcmp-in.h: Include <config.h>. Otherwise builds with strict C89 (e.g., Sun's /opt/SUNWspro/bin/c89) would fail due to the use of `inline'. 2005-09-22 Paul Eggert <eggert@cs.ucla.edu> * getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>. Problem reported by Eric Blake. (getaddrinfo): Initialize se so that it's not garbage. Redo internal storage allocation so that it doesn't make unportable assumptions about alignment. Fix a memory leak. 2005-09-21 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * Makefile.am (libcoreutils_a_SOURCES): Add getaddrinfo.h, mbchar.c, mbchar.h, mbuiter.h, strcase.h, strlen1.c, strnlen1.h, strstr.h. * argmatch.h (GL_CONCAT): Remove. Include "verify.h" instead. (ARGMATCH_CONSTRAINT, ARGMATCH_ASSERT): Remove. (ARGMATCH_VERIFY): Rewrite in terms of new verify macros. * xalloc.h (VERIFY_EXPR, X2NREALLOC, X2REALLOC): Remove. The latter two macros are moving to ../src/system.h for now. This reverts this file to the gnulib version. * xanstrftime.c, xanstrftime.h: Remove; no longer used. * .cppi-disable: Add getaddrinfo.h, getdelim.h, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. * canon-host.h, gai_strerror.c, getaddrinfo.c, getaddrinfo.h: * getdelim.c, getdelim.h, mbchar.c, mbchar.h, mbuiter.h: * strcase.h, strnlen.h, strnlen1.c, strnlen1.h, strstr.h: New files, from gnulib. * __fpending.c, __fpending.h, acl.c, argmatch.c, atexit.c: * backupfile.c, basename.c, calloc.c, canonicalize.c: * chdir-long.c, chown.c, cloexec.c, closeout.c, creat-safer.c: * cycle-check.c, dirfd.c, dirfd.h, dirname.c, dup-safer.c: * dup2.c, euidaccess.c, exclude.c, exitfail.c, fchown-stub.c: * fd-safer.c, file-type.c, fileblocks.c, filemode.c: * filenamecat.c, fnmatch.c, fopen-safer.c, free.c, fsusage.c: * ftruncate.c, full-write.c, getcwd.c, getcwd.h, getdate.h: * getgroups.c, getndelim2.c, getopt1.c, getopt_.h: * gettimeofday.c, getugroups.c, group-member.c, hard-locale.c: * hash-pjw.c, hash.c, human.c, human.h, idcache.c, inttostr.c: * inttostr.h, lchown.c, long-options.c, lstat.c, malloc.c: * memcasecmp.c, memchr.c, memcmp.c, memcoll.c, memcpy.c: * memmove.c, mkdir.c, mkstemp.c, mktime.c, modechange.c: * mountlist.c, nanosleep.c, open-safer.c, openat.c, physmem.c: * pipe-safer.c, posixtm.c, posixver.c, putenv.c, quote.c: * quotearg.c, raise.c, readlink.c, readtokens0.c, readutmp.c: * realloc.c, regex.c, regex_internal.h, rename.c, rmdir.c: * rpmatch.c, safe-read.c, same.c, save-cwd.c, savedir.c: * settime.c, sig2str.c, strcspn.c, stripslash.c, strndup.c: * strnlen.c, strtod.c, strtoimax.c, strtol.c, strverscmp.c: * tempname.c, time_r.c, time_r.h, timespec.h, unicodeio.h: * unistd--.h, unlinkdir.c, userspec.c, utimecmp.c: * version-etc-fsf.c, version-etc.c, xalloc-die.c, xgetcwd.c: * xgethostname.c, xmalloc.c, xmemcoll.c, xnanosleep.c: * xreadlink.c, xstrndup.c, xstrtoimax.c, xstrtol.c: * xstrtoumax.c, yesno.c: Sync from gnulib. * canon-host.c, getline.c, getline.h, getpass.c, strcasecmp.c: * strncasecmp.c, strstr.c: Nontrivial sync from gnulib. * .cvsignore: Sort entries. * mkdir-p.c (ENOSYS): Define to EEXIST if not defined. (make_dir_parents): Treat ENOSYS like EEXIST. 2005-09-20 Jim Meyering <jim@meyering.net> * openat.c (fdopendir): Be sure to close the supplied file descriptor before returning. This makes our replacement implementation a little closer to Solaris's, where fdopendir ties the file descriptor to the returned DIR* pointer. 2005-09-19 Jim Meyering <jim@meyering.net> * openat.c (unlinkat): New function. * openat.h (unlinkat): Add prototype. 2005-09-16 Paul Eggert <eggert@cs.ucla.edu> Import from gnulib. * stat-time.h: New file. * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, in a different way. (timespec_cmp): New function. * utimecmp.c: Include stat-time.h. (SYSCALL_RESOLUTION): Depend on whether various struct stat members exist, not on the obsolescent ST_MTIM_NSEC. (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. * .cppi-disable: Add stat-time.h. 2005-09-16 Jim Meyering <jim@meyering.net> * strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, int utc, int nanoseconds); Background: date should not have to allocate a megabyte of virtual memory to handle a format argument like +%1048575T. When implemented with strftime, it must allocate such a buffer, use strftime to fill it in, print it, then free it. With fprintftime, it simply prints everything and exits. With no need for memory allocation, that's one fewer way to fail. * fprintftime.c, fprintftime.h: New files. * Makefile.am (libcoreutils_a_SOURCES): Add fprintftime.c and fprintftime.h. 2005-09-15 Paul Eggert <eggert@cs.ucla.edu> * strftime.c (my_strftime): Rewrite the previous change slightly, to make it a bit faster and (I hope) clearer. 2005-09-14 Jim Meyering <jim@meyering.net> * strftime.c (my_strftime): Parse the colons of %:::z *after* the optional field width, not before, so we accept %9:z, not %:9z. (my_strftime): Be sure to use L_('x') for literals. 2005-09-13 Paul Eggert <eggert@cs.ucla.edu> Merge md5 from libc, and clean up some sha1 glitches. * md5.h (__GNUC_PREREQ, __THROW, __attribute__): New macros. (__md5_buffer): Renamed from md5_buffer. Add a macro undoing this if _LIBC is not defined. Add __THROW. (__md5_finish_ctx, __md5_init_ctx, __md5_process_block): (__md5_process_bytes, __md5_read_ctx, __md5_stream): Likewise. (struct md5_ctx): Mark buffer as being aligned. (rol): Remove; all uses changed to CYCLIC. * md5.c (CYCLIC): New macro. All uses of rol changed to use CYCLIC. Redo comment to minimize changes from libc. * sha1.h (struct sha1_ctx): Mark buffer as being aligned. * sha1.c (SWAP): Renamed from NOTSWAP, to avoid a horrible misnaming. All uses changed. Remove the old SWAP. Remove obvious comment about BLOCKSIZE. (rol): New macro, moved here from md5.h. (sha1_process_block): Remove an incoherent FIXME comment. * strftime.c (my_strftime): Add support for %:z, %::z, %:::z. Fix bug in formats like %2N. 2005-09-13 Jim Meyering <jim@meyering.net> * xalloc.h: Revert unintended change that removed definitions of X2REALLOC and X2NREALLOC. * backupfile.c: Use ARGMATCH_VERIFY, just in case. 2005-09-09 Paul Eggert <eggert@cs.ucla.edu> * regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h: * regexec.c: Import from gnulib, to fix some 64-bit bugs. 2005-09-06 Paul Eggert <eggert@cs.ucla.edu> * verify.h (__builtin_constant_p): Remove, undoing previous change. (verify_type__): Solve the problem by using a bit-field rather than an array. 2005-09-05 Jim Meyering <jim@meyering.net> * verify.h (__builtin_constant_p) [__GNUC__ <= 2]: Define to 1. (verify_type__) [verify_error_if_non_const__]: New member/test, to help detect when verify or verify_expr is mistakenly passed a non-constant argument within a function. 2005-08-31 Jim Meyering <jim@meyering.net> * quotearg.c (quotearg_n_options): Change code to be suboptimal, in order to avoid an unsuppressible warning from gcc on 64-bit systems. * localcharset.c (get_charset_aliases): Add `void' in parameter list to placate gcc's -Wstrict-prototypes. 2005-08-27 Jim Meyering <jim@meyering.net> * md5.c: Use `#error' rather than a string literal to provoke failure. * sha1.c: Likewise. 2005-08-25 Jim Meyering <jim@meyering.net> * open-safer.c: Include <config.h>. Otherwise, we'd lose LARGEFILE support in any file using e.g. "fcntl--.h" 2005-08-24 Jim Meyering <jim@meyering.net> * stdopen.c (stdopen): Revert to iterating over descriptors, but rather than using fstat, use fcntl with its F_GETFD flag, which is more efficient. Unlike the 2-syscall dup-close approach, this one doesn't apply any unnecessary pressure on the file descriptor pool -- thus there is one fewer way to fail. 2005-08-23 Jim Meyering <jim@meyering.net> * regcomp.c, regex.c, regex.h, regex_internal.c: Update from gnulib. * regex_internal.h, regexec.c: Likewise. 2005-08-19 Jim Meyering <jim@meyering.net> * stdopen.c (stdopen): Return `bool' so caller can detect failure. 2005-08-17 Jim Meyering <jim@meyering.net> Make the %s format (seconds since the epoch) work for a negative number and when used with a zero-padded field width, e.g. %015s. * strftime.c (my_strftime): Move the `do_number_sign_and_padding' label so that it precedes the code to set `digits'. Otherwise, %0Ns wouldn't work. Before this change, `date -d @-22 +%05s' would print `00-22'. Now, it prints `-0022', as it should. 2005-08-15 Bruno Haible <bruno@clisp.org> Import from gnulib. * regex.h (__restrict_arr): Don't define to __restrict if __cplusplus is defined. 2005-08-13 Jim Meyering <jim@meyering.net> * getdate.y (get_date): Undo part of the 2005-04-04 change, so that the command "date -d'2005-03-27 +1 day'" succeeds once again, even when run in a time zone for which daylight savings time is in effect for the starting date. 2005-08-12 Jim Meyering <jim@meyering.net> * regcomp.c (duplicate_node) [lint]: Set *new_idx to -1, to avoid warnings (unfounded) in caller that it may be used uninitialized. * regex.c (IF_LINT): Define. * regex_internal.c (re_string_realloc_buffers): Rename local-shadowed variable: s/new_array/offsets/. (re_acquire_state) [lint]: Set *err, to avoid warnings in caller. * regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration of unused local, dfa. (proceed_next_node): Remove outer declaration and unnecessary initialization of local-shadowed `dest_node'. Declare it in inner scopes, nearer its uses instead. * regex.h (RE_SYNTAX_POSIX_AWK): Remove useless space-before-TAB. * fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir): Use the hash-table-based cycle-detection code not just when FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL. Reported by James Youngman in <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>. * fts_.h: Mention that with FTS_LOGICAL, we use FTS_TIGHT_CYCLE_CHECK. * fts.c (fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG, once again. 2005-08-02 Jim Meyering <jim@meyering.net> * xanstrftime.c, xanstrftime.h: New files. 2005-07-21 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (relative_time): New type. (RELATIVE_TIME_0): New constant. (parser_control): Use relative_time instead of doing it ourselves. (%union): Add new relative_time rel member. (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): Now typeless. (relunit, relunit_snumber): Now of type rel. (zone, rel, relunit, get_date): Adjust to above changes. 2005-07-12 Jim Meyering <jim@meyering.net> * xalloc.h (X2NREALLOC): Define. 2005-07-11 Paul Eggert <eggert@cs.ucla.edu> * verify.h (verify_expr): Use ((verify_type__ (R) *) 0), not sizeof (verify_type__ (R)), to pacify C++ compilers. Problem reported by Bruno Haible. * version-etc-fsf.c (version_etc_copyright): Parameterize the copyright symbol and the year. * version-etc.c (COPYRIGHT_YEAR): New constant. (version_etc_va): Use parameterized copyright notice. Reword to conform to the current GNU coding standards. 2005-07-08 Eric Blake <ebb9@byu.net> (tiny change) * getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. [__linux__]: Allocate a big enough buffer for /proc/loadavg. [!LDAV_DONE]: Avoid unused variable warning. 2005-07-08 Eric Blake <ebb9@byu.net> (tiny change) and Paul Eggert <eggert@cs.ucla.edu> * regcomp.c (init_dfa, build_range_exp): Store __btowc value in wint_t, not wchar_t. Remove now-unnecessary cast. 2005-07-07 Paul Eggert <eggert@cs.ucla.edu> Switch to Isamu Hasegawa's implementation of regex, which is now in gnulib. * regcomp.c, regex_internal.c, regex_internal.h, regexec.c: New files, from gnulib. * regex.h, regex.c: Sync from gnulib. * Makefile.am (libcoreutils_a_SOURCES): Remove regex.h; gnulib now does this automatically for us. * .cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h. 2005-07-04 Paul Eggert <eggert@cs.ucla.edu> * verify.h (GL_CONCAT0, GL_CONCAT): Define unconditionally; don't depend on whether verify_decl is defined. (verify): Renamed from verify_decl. All uses changed. Use an extern function decl, as it can't possibly collide with other decls. (verify_expr): Renamed from verify. All uses changed. (verify_type__): New private macro. (verify, verify_expr): Use it. 2005-07-04 Jim Meyering <jim@meyering.net> * verify.h (verify, verify_decl): New file/macros. * Makefile.am (libcoreutils_a_SOURCES): Add verify.h here, temporarily. Eventually, it'll be pulled in via AC_LIBSOURCES. * argmatch.h (verify_dcl): Rename from VERIFY. Update use. 2005-07-03 Paul Eggert <eggert@cs.ucla.edu> Remove the dependency of the strftime module on the tzset module. * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]: Copy the input structure, to work around some of the bug with Solaris 2.5.1 and Solaris 2.6. 2005-07-03 Jim Meyering <jim@meyering.net> * posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just the .tm_year member, since otherwise gcc-4.0 would now warn about tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. 2005-07-03 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libcoreutils_a_SOURCES): Undo previous change. * Makefile.am (libcoreutils_a_SOURCES): Add fcntl--.h, stdio--h, stdlib--.h, unistd--.h. * fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own. * lstat.c: Sync from gnulib. * lstat.h: New file, from gnulib. * stat.c: Remove. 2005-07-03 Jim Meyering <jim@meyering.net> * fd-reopen.c: Include <unistd.h> for declaration of close. 2005-07-02 Paul Eggert <eggert@cs.ucla.edu> Cleanup to isolate "safer" functions to a small part of the code. * fcntl--.h, stdio--.h, stdlib--.h, unistd--.h, fcntl-safer.h: * open-safer.c, stdlib-safer.h, mkstemp-safer.c, fd-reopen.h: * fd-reopen.c: New files. * fopen-safer.c: Include stdio-safer.h first, to check interface. Don't bother including stdio.h, since stdio-safer.h does. * fts.c (fd_safer): Remove decl. Include fcntl--.h rather than unistd-safer.h (fts_safe_changedir): Don't call fd_safer; no longer needed now that we include fcntl--.h. * getloadavg.c: Include fcntl--.h rather than fcntl.h. Do not include unistd-safer.h. (getloadavg): Don't call fd_safer; no longer needed now that we include fcntl--.h. * getusershell.c: Include stdio--.h rather than stdio.h and stdio-safer.h. (getusershell): Call fopen, not fopen_safer. * save-cwd.c: Include fcntl--.h rather than fcntl.h. Do not include unistd-safer.h. (save_cwd): Don't call fd_safer; no longer needed now that we include fcntl--.h. 2005-07-02 Jim Meyering <jim@meyering.net> * getopt_.h: Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally. * fnmatch.c: Update from gnulib. * backupfile.c, canon-host.c, canonicalize.c, chown.c, cloexec.c: * dup-safer.c, dup2.c, euidaccess.c, fd-safer.c, fileblocks.c: * fopen-safer.c, fsusage.c, ftruncate.c, getcwd.c, getcwd.h: * getloadavg.c, getopt_.h, getpagesize.h, getugroups.c, group-member.c: * human.h, idcache.c, mkdir-p.c, mountlist.c, nanosleep.c, pathmax.h: * physmem.c, posixver.c, putenv.c, raise.c, safe-read.c, same.c: * save-cwd.c, setenv.c, settime.c, tempname.c, unlinkdir.c: * unsetenv.c, userspec.c, xgethostname.c, xreadlink.c: Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally. 2005-07-01 Jim Meyering <jim@meyering.net> * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: * getloadavg.c, mountlist.c, openat.h, save-cwd.c, tempname.c: Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally, and don't include <sys/file.h>). 2005-07-01 Paul Eggert <eggert@cs.ucla.edu> * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h> declares only 'struct timespec;' (!). 2005-06-30 Jim Meyering <jim@meyering.net> * stdopen.c: Add copyright. Include <fcntl.h> and <unistd.h> unconditionally -- it seems to be ok to do this, these days. * stdopen.c: Rewritten by Paul Eggert. Now, the minimum overhead is just two system calls: dup and close. * stdopen.c: New file. As yet unused. The minimum overhead is three fstat calls. * stdopen.h: New file. * argmatch.h [!VERIFY] (VERIFY): Define. (ARGMATCH_VERIFY): Use it, so this macro may be used more than once in any given scope. * xalloc.h (VERIFY_EXPR): Undef before defining, and add a comment. 2005-06-29 Jim Meyering <jim@meyering.net> * mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded type name. Use the variable name instead. * idcache.c (getuser, getuidbyname, getgroup, getgidbyname): Likewise. * xalloc.h (VERIFY_EXPR): Define. (X2REALLOC): New macro, to make using x2realloc a little safer. 2005-06-26 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove diacrit.c and diacrit.h. 2005-06-25 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove root-dev-ino.c and root-dev-ino.h. (libcoreutils_a_SOURCES): Remove dev-ino.h too, now that we get it via root-dev-ino.m4 (libcoreutils_a_SOURCES): Remove version-etc.c version-etc.h and version-etc-fsf.c. 2005-06-24 Paul Eggert <eggert@cs.ucla.edu> * canon-host.c (canon_host) [HAVE_GETADDRINFO]: Use `= { 0, };' to initialize local `hint'. This undoes the previous change, and syncs with gnulib. 2005-06-23 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove xreadlink.c and xreadlink.h. (libcoreutils_a_SOURCES): Remove xstrtod.c and xstrtod.h. * backupfile.c (backup_args): Change a `0' to NULL. 2005-06-22 Paul Eggert <eggert@cs.ucla.edu> * mktime.c: Include <string.h> even if !DEBUG. (From glibc.) (ranged_convert): Don't save conversion in a temporary struct. This causes a warning with GCC 4.0.0, and anyway in the typical case it's not worth the extra 100 bytes or so of code. (ranged_convert, __mktime_internal): When calling a function via a pointer P, use P () rather than (*P) (), as we now assume C89 or better. * readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and "who -r" failed to give output. Problem reported by Tim Waugh. 2005-06-22 Jim Meyering <jim@meyering.net> * xmalloc.c: Update from gnulib. 2005-06-19 Jim Meyering <jim@meyering.net> * Makefile.am (libcoreutils_a_SOURCES): Remove xgetcwd.c, xgetcwd.h, xfts.c and xfts.h. 2005-06-16 Jim Meyering <jim@meyering.net> * calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1) when either N or S is zero. 2005-06-15 Jim Meyering <jim@meyering.net> * mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) stop us from restricting permissions of just-created absolute-named directories. 2005-06-14 Paul Eggert <eggert@cs.ucla.edu> Improve quality of diagnostics on restore_cwd failure. * mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. (make_dir_parents): Last arg is now int * (for errno), not bool *. * mkdir-p.c (make_dir, make_dir_parents): Likewise. Rewrite "mkdir -p" algorithm to avoid the need for "stat" each time through the loop. Do not diagnose restore_cwd failure; that is the caller's job (and perhaps the caller does not care). * mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. If the file already exists but is not a directory, don't bother to try to make its parents. Close potential file descriptor leak if we can't chdir("/") (!). Don't always return true if chdir($PWD) fails; return true only if the requested action was done successfully (except for the chdir($PWD)). Don't log final directory unless we actually made it. Refactor to avoid duplicate code to fix up permissions. Don't attempt to fix up parent permissions if chdir($PWD) fails. 2005-06-14 Jim Meyering <jim@meyering.net> * openat-die.c (openat_save_fail): Rename from openat_save_die. (openat_restore_fail): Rename from openat_restore_die. * openat.c, openat.h: Reflect s/_die/_fail/ renaming. * mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing to restore initial working directory. Provide an alternative to exiting immediately upon save_cwd or restore_cwd failure. Now, an application can arrange e.g., to perform a longjump in that case. * openat.c: Include dirname.h. Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. (rpl_openat, fdopendir, fstatat): Call openat_save_die and openat_restore_die rather than calling error directly. Don't include "error.h" or "exitfail.h"; they're no longer needed. * openat-die.c (openat_save_die, openat_restore_die): New file. * openat.h (openat_save_die, openat_restore_die): Declare and define. 2005-06-13 Jim Meyering <jim@meyering.net> * mkdir-p.c (make_dir_parents): New parameter: different_working_dir, to tell caller if/when we change the working directory and are unable to return to the initial one. * mkdir-p.h (make_dir_parents): Update prototype. 2005-06-12 Jim Meyering <jim@meyering.net> * mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to `return false'. This fixes a bug introduced on 2004-07-30. 2005-06-01 Paul Eggert <eggert@cs.ucla.edu> Use "file name" when talking about file names, instead of "filename" or "path", as per the GNU coding standards. * mkdir-p.c: Renamed from makepath.c. (make_dir_parents): Renamed from make_path. All callers changed. * mkdir-p.h: Likewise. All includers changed. * filenamecat.c: Renamed from path-concat.c. (file_name_concat): Renamed from path_concat. All callers changed. [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT. * filenamecat.h: Likewise. All includers changed. * acl.c: Don't use "path" or "filename" to mean "file name" in comments or local variable names. * basename.c: Likewise. * canonicalize.c, canonicalize.h: Likewise. * dirname.c, dirname.h: Likewise. * euidaccess.c: Likewise. * exclude.c: Likewise * fnmatch_.h, fnmatch_loop.c: Likewise. * fsusage.c, fsuage.h: Likewise. * fts.c, fts_.h: Likewise. * getcwd.c: Likewise. * getloadavg.c: Likewise. * mkstemp.c: Likewise. * mountlist.c, mountlist.h: Likewise. * openat.c, openat.h: Likewise. * readlink-stub.c: Likewise. * readutmp.c, readutmp.h: Likewise. * rename.c: Likewise. * rmdir.c: Likewise. * same.c: Likewise. * savedir.c: Likewise. * stripslash.c: Likewise. * tempname.c: Likewise. * xreadlink.c: Likewise. * exclude.c (excluded_file_name): Renamed from excluded_filename. All uses changed. * exclude.h: Likewise. 2005-05-30 Paul Eggert <eggert@cs.ucla.edu> * euidaccess.c (getuid, getgid, getuid, getegid) [!defined _POSIX_VERSION]: Remove decls; not needed these days. * idcache.c (getpwuid, getpwnam, getgrgid, getgrnam) [!defined _POSIX_VERSION]: Remove decls; not needed these days. * pathmax.h: Include <limits.h> unconditionally, since other files have been getting away with it for years (MORE/BSD 4.3 is extinct now). * userspec.c (getpwnam, getgrnam, getgrgid) [!defined _POSIX_VERSION]: Remove decls; not needed these days. 2005-05-29 Paul Eggert <eggert@cs.ucla.edu> * pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: Define to 256, not 255, as per modern POSIX. 2005-05-27 Paul Eggert <eggert@cs.ucla.edu> * fts.c: Don't worry about debugging on pre-C99-comopatible hosts; the configuration hassle isn't worth it. Include inttypes.h and stdint.h unconditionally if FTS_DEBUG. (LONGEST_MODIFIER, PRIuMAX): Remove. * strnumcmp.c, strnumcmp.h, strnumcmp-in.h, strintcmp.c: New files. 2005-05-22 Paul Eggert <eggert@cs.ucla.edu> * fts.c (fd_safer) [_LGPL_PACKAGE]: New static function, so that unistd-safer.h (GPL'ed code) need not be included. 2005-05-20 Paul Eggert <eggert@cs.ucla.edu> Split the fts code into GPL'ed and LGPL'ed parts, and fix some minor memory-allocation bugs. * fts.c: Don't include "cycle-check.h" or "hash.h". (setup_dir, free_dir): New functions. (enter_dir, leave_dir): Define trivial alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): Move to fts-cycle.c. (fts_open): Use setup_dir. (fts_close): Use free_dir. (fts_read): Have just one copy of the ENTER_DIR code rather than three. This adds a label and some gotos, but the alternatives were messier. Check for memory allocation failure when entering a dir. (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. * fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. (FTS): New member fts_cycle, that is a union that contains the old active_dir_ht and cycle_state. All uses changed to mention fts_cycle.ht and fts_cycle.state. * fts-cycle.c: New file, containing GPL'ed code migrated out of fts.c, with the following changes: (setup_dir, free_dir): New functions. (enter_dir): Now returns bool. Return true if successful, false if memory exhausted. All callers changed. Do not bother partly cleaning up on memory allocation failure; that is free_dir's job. However, free ad if hash_insert fails, to avoid memory leak. (enter_dir, leave_dir): Accommodate change to FTS by inspecting fts->fts_options to see which union member to use. 2005-05-20 Eric Blake <ebb9@byu.net> (tiny change) * chown.c (rpl_chown): Return -1 on failure. 2005-05-20 Jim Meyering <jim@meyering.net> * fts.c (fts_open): Remove useless but otherwise harmless malloc call. Spotted by Paul Eggert. 2005-05-19 Jim Meyering <jim@meyering.net> * unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: Use #define rather than a static function, to avoid a warning when the function was not used. 2005-05-18 Paul Eggert <eggert@cs.ucla.edu> * canonicalize.c: Include canonicalize.h first, to test interface. Include <stddef.h> unconditionally, since we assume C89 now. All uses of PTR_INT_TYPE replaced by ptrdiff_t. * fts.c: Include fts_.h first, to check interface. Do not include intprops.h; no longer needed. Include cycle-check.h and hash.h, since fts_.h no longer does. Remove unnecessary casts of closedir to void. (fts_build): Use a simpler method (not involving TYPE_SIGNED) to decide whether to decrement nlinks. * fts_.h: Do not include hash.h or cycle-check.h; no longer needed. (FTS): Use struct hash_table * instead of Hash_table, so that we no longer need to include hash.h here. 2005-05-14 Paul Eggert <eggert@cs.ucla.edu> * unlinkdir.c, unlinkdir.h: New files. 2005-05-14 Jim Meyering <jim@meyering.net> * unlocked-io.h, gethrxtime.c, gethrxtime.h, mountlist.h, * xtime.h, path-concat.c: Correct cpp indentation. 2005-05-14 Jim Meyering <jim@meyering.net> Update FSF postal mail address everywhere. 2005-05-09 Paul Eggert <eggert@cs.ucla.edu> * fts_.h (FTS): Use correct type for fts_compar member. (FTSENT): New member fts_fts. Remove members fts_ino, fts_dev, fts_nlink; no longer needed now that fts_statp is always there. All uses changed to use fts_statp instead. * fts.c (__P): Remove. All uses rewritten to assume C89 or better. (fts_open): Don't cast a function value in a possibly-unsafe way. (fts_compar): New function. (fts_sort): Use it. But optimize the common case where all pointers smell the same. 2005-05-08 Paul Eggert <eggert@cs.ucla.edu> * yesno.c: Include getline.h, not ctype.h. (yesno): Don't remove leading white space; POSIX doesn't allow it. Use getline to remove arbitrary restriction on response length. 2005-05-05 Paul Eggert <eggert@cs.ucla.edu> * makepath.c (make_path): chdir to "//", not "/", if the file name starts with exactly two slashes. This doesn't solve the problem in general but it's better than nothing. Problem reported by Pierre A. Humblet via Eric Blake. 2005-05-01 Paul Eggert <eggert@cs.ucla.edu> * modechange.h (mode_free): Remove; all callers changed to invoke 'free'. * modechange.c: Likewise. xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed. (MODE_DONE): New constant. (struct mode_change): Remove 'next' member. (make_node_op_equals): New function; like the old one of the same name, except it allocates an array. (mode_compile, mode_create_from_ref): Use it. (mode_compile): Allocate result as an array, not a linked list. Parse octal string ourself, so that we catch mistakes like "+0". (mode_adjust): Arg is an array, not a linked list. * mbswidth.c, regex.c, strtol.c: Sync from gnulib. 2005-04-28 Paul Eggert <eggert@cs.ucla.edu> * tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove. [!_LIBC] Include "stat-macros.h" instead. * file-type.c: Include file-type.h first. * filetype.h: Don't assume <sys/stat.h> was included first. * modechange.c: Include stat-macros.h, xalloc.h. (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR): (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU): (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS): Remove. This is now stat-macros.h's job. (talloc): Remove. All callers replaced by xalloc, so that our invokers don't have to worry about reporting memory failures. (make_node_op_equals): Remove. (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING): New constants. (struct mode_change): Moved here from modechange.h. (mode_append_entry): Remove. (mode_compile): Remove MASKED_OPS arg, since it encouraged apps to have incorrect behavior. Use simpler algorithm for head and tail. Don't futz with umask; that's now the job of mode_adjust. Detect more invalid usages rather than having somewhat-random behavior. Don't insert an "a=" action, as that leads to incorrect behavior. (mode_compile, mode_create_from_ref): Return NULL on error instead of an enum, since now there's only one way to have an error. All callers changed. (mode_adjust): Accept new arg UMASK_VALUE, and interpret it at the correct time. Simplify calculation of "+u" and its ilk. Don't mishandle "+X". (mode_free): Remove "register" and localize decls. * modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING): (struct mode_change): Move to modechange.c; callers don't need to see this stuff. (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL): (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove. (mode_change, mode_adjust): Reflect the new signatures noted above. 2005-04-18 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (noinst_LIBRARIES): fetish -> coreutils. (libcoreutils_a_SOURCES): Renamed from libfetish_a_SOURCES. All uses changed. (libcoreutils_a_LIBADD): Renamed from libfetish_a_LIBADD. All uses changed. (libcoreutils_a_DEPENDENCIES): Renamed from libfetish_a_DEPENDENCIES. All uses changed. * chdir-long.c: fetish->coreutils in comment. * t-chdir-long: fetish->coreutils in compilation command. 2005-04-13 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (zone): Allow relunit_snumber after tZONE, so that "UTC +1 second" continues to work. Problem reported by Dmitry V. Levin. (relunit_snumber): New rule. (relunit): Use it. 2005-04-12 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (universal_time_zone_table): New constant. (time_zone_table): Remove GMT, UT, UTC entries; they're now in universal_time_zone_table. (lookup_zone): Prefer universal_time_zone_table to local_time_zone_table, so that "GMT" time stamps are allowed in London during the summer. Problem reported by Ian Abbott. 2005-04-11 Paul Eggert <eggert@cs.ucla.edu> Add bulletproofing for cases where stdin, stdout, or stderr are closed. * fcntl-safer.h, open-safer.c: Remove. * fd-safer.c: New file. * dup-safer.c: Include unistd-safer.h first, to test interface. (dup_safer) [!deefined F_DUPD]: Use new fd_safer function instead of rolling our own code. * fts.c: Include unistd-safer.h. (fts_safe_changedir): Use fd_safer. * getloadavg.c: Include unistd-safer.h. (getloadavg): Use fd_safer. * getusershell.c: Include stdio-safer.h. (getusershell): Use fopen_safer. * save-cwd.c: Include unistd-safer.h. (save_cwd): Use fd_safer. * unistd-safer.h (fd_safer): New decl. * Makefile.am (libfetish_a_SOURCES): Remove dup-safer.c, fcntl-safer.h, fopen-safer.c, open-safer.c, stdio-safer.h, unistd-safer.h. 2005-04-09 Jim Meyering <jim@meyering.net> * fts.c (__attribute__, ATTRIBUTE_UNUSED): Define. Mark parameter `sp' with ATTRIBUTE_UNUSED. Avoid warnings from gcc-4. * canon-host.c (canon_host) [HAVE_GETADDRINFO]: Use memset rather than `= { 0 };' to initialize local `hint'. * unicodeio.c (__attribute__, ATTRIBUTE_UNUSED): Define. (exit_failure_callback, fallback_failure_callback): Mark unused parameters with ATTRIBUTE_UNUSED. * posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's -Wuninitialized: initialize tm0.tm_year. * human.c (humblock): Set *options even when returning due to xstrtoumax conversion failure. Thanks to a used-uninitialized warning from gcc-4. 2005-04-08 Paul Eggert <eggert@cs.ucla.edu> * nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros that might redefine system include files. (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. (my_usleep): Use NULL rather than (void *) 0. (rpl_nanosleep) [!defined SA_NOCLDSTOP]: Use siginterrupt to specify that system calls should be interrupted. (rpl_nanosleep): Move initialization of suspended closer to call of my_usleep. 2005-04-04 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (parser_control): rels_seen is now a boolean, not a count, since there's no maximum. All uses changed. Add member dsts_seen. (local_zone): Accumulate dsts_seen rather than relying on tm_isdst not being INT_MAX. (get_date): Initialize dsts_seen, and check that it doesn't go over 1. Use pc_rels_seen to decide whether a date is absolute. * getdate.y (number): Don't overwrite year. (get_date): Initialize pc.year.digits to 0, not 4, to enable above check. 2005-03-30 Paul Eggert <eggert@cs.ucla.edu> * readutmp.h (read_utmp): New arg OPTIONS. All uses changed. * readutmp.c: Likewise. Include signal.h, stdbool.h. (desirable_utmp_entry): New function. (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation using x2nrealloc, to simplify logic. (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in size calculation. Do not assume utmp file is a regular file. * readutmp.h (UT_PID): Moved here from ../src/who.c. (READ_UTMP_CHECK_PIDS): New constant. 2005-03-29 Jim Meyering <jim@meyering.net> * long-options.c (long_options): Use NULL, not `0'. 2005-03-27 Jim Meyering <jim@meyering.net> * argmatch.c: Clarify comment: null-terminated -> NULL-terminated. 2005-03-26 Paul Eggert <eggert@cs.ucla.edu> * intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): "one's complement" -> "ones' complement" in comment, as per Knuth. "value of type" -> "type or expression" in comment. * mktime.c, strftime.c: Propagate intprops.h comment nits. 2005-03-26 Jim Meyering <jim@meyering.net> Comment nits. * intprops.h: Add the apostrophe in `(one|two)'s complement'. Correct typos: s/or/of/. 2005-03-23 Jim Meyering <jim@meyering.net> * canonicalize.c: Remove duplicate `#include "stat-macros.h"'. 2005-03-21 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libfetish_a_SOURCES): Remove stat-macros.h, xstrtoul.c, as they are now done by Autoconf macros. 2005-03-20 Paul Eggert <eggert@cs.ucla.edu> * gettext.h, regex.c, setenv.c, vasprintf.c: Sync from gnulib. * vasnprintf.c (EOVERFLOW): Define if not already defined. This merges a change from gnulib. 2005-03-18 Paul Eggert <eggert@cs.ucla.edu> * strftime.c (my_strftime): If the underlying strftime returns 0 (which shouldn't happen), generate nothing instead of returning 0 immediately, so that nstrftime (NULL, ...) doesn't return 0. 2005-03-15 Paul Eggert <eggert@cs.ucla.edu> * strftime.c (my_strftime): Prepend space to format so that we can reliably distinguish strftime failure from empty output on POSIX hosts. 2005-03-14 Paul Eggert <eggert@cs.ucla.edu> * mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from intprops.h. * strtol.c: Likewise. 2005-03-14 Jim Meyering <jim@meyering.net> * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[] to be nonzero so that we (and caller) can detect the difference between a valid zero-length expansion and an error return, even when the underlying strftime fails before writing anything into that location. 2005-03-11 Jim Meyering <jim@meyering.net> * getdate.c: Regenerate using bison-2.0. 2005-03-10 Jim Meyering <jim@meyering.net> * save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long so that this module works on systems without fchdir. * Makefile.am (libfetish_a_SOURCES): Remove xstrtol.c and xstrtol.h. 2005-03-09 Paul Eggert <eggert@cs.ucla.edu> Factor int-properties macros into a single file, except for glibc-related files. * intprops.h: New file. * getloadavg.c: Include it instead of limits.h. (INT_STRLEN_BOUND): Remove. * human.c: Include intprops.h. (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself. * human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000. * inttostr.h: Include intprops.h instead of limits.h. (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove. * mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros, for consistency with intprops.h. (time_t_is_integer, twos_complement_arithmetic): Use them. * sig2str.h: Include <signal.h>, intprops.h. (INT_STRLEN_BOUND): Remove. * strftime.c (TYPE_SIGNED): Remove. (INT_STRLEN_BOUND): Switch to same implementation as intprops.h. * strtol.c: Adjust comments to match intprops.h. * userspec.c: Include intprops.h. (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. * utimecmp.c, xnanosleep.c, xstrtol.c: Likewise. * utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT instead of rolling our own expressions. * xstrtol.c: Include xstrtol.h first, to test interface. * fts.c: Include intprops.h. (TYPE_SIGNED): Remove. 2005-03-09 Jim Meyering <jim@meyering.net> More migration to AC_LIBSOURCES/AC_LIBOBJ. * Makefile.am (libfetish_a_SOURCES): Remove two more pairs of files: cycle-check.c, cycle-check.h and argmatch.c, argmatch.h. * cycle-check.c: Don't include "xalloc.h". It's not used. 2005-03-01 Paul Eggert <eggert@cs.ucla.edu> Remove workaround for bug in Linux kernel 2.6.8 or thereabouts. The workaround isn't strictly needed for POSIX conformance, and it's too much of a pain to configure and maintain. We'll ask people to fix their kernels instead. * xnanosleep.c: Don't include gethrxtime.h or xtime.h. (NANOSLEEP_BUG_WORKAROUND): Remove. (xnanosleep): Remove the workaround. 2005-02-27 Jim Meyering <jim@meyering.net> * xnanosleep.c (xnanosleep): Work around bug in Linux-2.6.8.1's nanosleep whereby it fails without setting errno upon being resumed after being suspended. 2005-02-25 Paul Eggert <eggert@cs.ucla.edu> * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for integer overflow again. Actually, neither this nor the 2005-01-23 change fixes any bug on any plausible platform; it's more of a code-clarity thing. * config.charset, gettext.h, localcharset.c: Sync from gnulib. 2005-02-23 Paul Eggert <eggert@cs.ucla.edu> * strftime.c: Include <stdbool.h>. Use bool where appropriate, instead of int. (my_strftime): Do not mishandle years close to INT_MAX, by doing the right thing even if adding 1900 would overflow. Similarly for tm_mon + 1 and tm_yday + 1. Make %Y always equivalent to %C%y, and similarly for %G and %g. (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional. (DO_SIGNED_NUMBER): New macro. (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1. 2005-02-21 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libfetish_a_SOURCES): Remove xnanosleep.c, xnanosleep.h; now done by ../m4/xnanosleep.m4 automatically. 2005-02-20 Paul Eggert <eggert@cs.ucla.edu> * gethrxtime.h, gethrxtime.c, xtime.h: New files. * timespec.h (gettime): Return void, since it always succeeds now. All uses changed. * gettime.c (gettime) Likewise. [HAVE_NANOTIME]: Prefer nanotime. Assume gettimeofday succeeds, as POSIX requires. Assime time () succeeds, since other code already does. * xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h. (timespec_subtract): Remove. (NANOSLEEP_BUG_WORKAROUND): New constant. (xnanosleep): Use gethrxtime rather than gettime; this simplifies things considerably. Use it only on GNU/Linux hosts, since the workaround shouldn't be needed elsewhere. 2005-02-20 Neil Conway <neilc@samurai.com> * xgethostname.c (xgethostname): Check for ENOMEM, which is returned by OSX/Darwin if the specified buffer is not large enough for the hostname. 2005-02-20 Jim Meyering <jim@meyering.net> More of the same. * Makefile.am (libfetish_a_SOURCES): Remove linebuffer.[ch] and stripslash.c. 2005-02-11 Jim Meyering <jim@meyering.net> Remove names of files that are now mentioned in AC_LIBSOURCES and AC_LIBOBJ uses in inttostr.m4. * Makefile.am (libfetish_a_SOURCES): Remove imaxtostr.c, offtostr.c, and umaxtostr.c. (EXTRA_DIST): Remove inttostr.c and inttostr.h. 2005-02-08 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Remove memcasecmp.c and memcasecmp.h. 2005-02-07 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Remove fts.c, fts_.h, and getcwd.h now that they're mentioned in AC_LIBSOURCES and AC_LIBOBJ uses in the corresponding ../m4/*.m4. 2005-02-03 Paul Eggert <eggert@cs.ucla.edu> * memrchr.h: New file. * chdir-long.c: Include it. * memrchr.c [!defined _LIBC]: Include it rather than <string.h>. Don't bother including stddef.h. 2005-02-01 Paul Eggert <eggert@cs.ucla.edu> * mountlist.h (MOUNTLIST_H_): New macro, to protect against double inclusion. Include <sys/types.h>, for dev_t. (ME_DUMMY, ME_REMOTE): Move from here.... * mountlist.c (ME_DUMMY, ME_REMOTE): To here. (ME_DUMMY): Count "subfs" as a dummy. Problem reported by Dmitry V. Levin. Include mountlist.h first, to test the interface. 2005-01-29 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Remove many files from this list, now that automake determines their names automatically, thanks to the new AC_LIBSOURCES and AC_LIBOBJ uses in the corresponding ../m4/*.m4 files. (EXTRA_DIST): Add getdate.c here, so that we continue to distribute it. 2005-01-25 Jim Meyering <jim@meyering.net> * path-concat.c: Don't include assert.h. (path_concat): Remove assertion that would have triggered for ABASE starting with more than one slash. Reported by Andreas Schwab. * path-concat.c (path_concat): Set *BASE_IN_RESULT properly when ABASE is an absolute file name. Correct the description of this function. Include <assert.h>. Add an assertion and a test driver. This fixes a bug introduced on 2004-07-02. Andreas Schwab reported the resulting failure of cp --parents: http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html 2005-01-23 Jim Meyering <jim@meyering.net> * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for integer overflow. 2005-01-21 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h"; not needed. This removes a dependency on the gettext module. [defined _LIBC]: Do not include <libintl.h>; not needed. 2005-01-20 Paul Eggert <eggert@cs.ucla.edu> * save-cwd.c (save_cwd): Remove code to support the case where fchdir is missing or flaky. * Makefile.am (libfetish_a_SOURCES): Add version-etc-fsf.c. 2005-01-20 Simon Josefsson <jas@extundo.com> * version-etc-fsf.c: New file, with version_etc_copyright. * version-etc.c: Remove version_etc_copyright. * version-etc.h (version_etc_copyright): Use [] instead of * in prototype, suggested by Paul Eggert. 2005-01-19 Jim Meyering <jim@meyering.net> * openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the same value as for Solaris 9. * chdir-long.c (chdir_long): Rewrite to remove limitation on component length. This included changing the parameter to be of type `char *' rather than `char const *'. * chdir-long.h (chdir_long): Update prototype. * t-chdir-long: A test harness to exercize chdir-long.c's sample main program. * openat.c (fdopendir, fstatat): New functions. * openat.h: Include headers required for use of DIR and struct stat. [AT_SYMLINK_NOFOLLOW]: Define. (fdopendir, fstatat): Add prototypes. 2005-01-04 Paul Eggert <eggert@cs.ucla.edu> * human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional definitions to be after all include files, to avoid collisions. Problem reported by Bob Proulx. 2005-01-04 Bob Proulx <bob@proulx.com> * obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify offsetof() macro construct to avoid compile failure with native HP-UX 11.0 ANSI C compiler. 2005-01-03 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (futimens): Robustify the previous patch, by checking for known valid error numbers rather than observed invalid ones. 2005-01-03 Jim Meyering <jim@meyering.net> * utimens.c (futimens): Account for the fact that futimes can also fail with errno == ENOSYS in that case. Patch from Dmitry V. Levin. 2005-01-03 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (futimens) [HAVE_FUTIMES]: Fall back on utimes if futimes fails with errno == ENOENT. Problem reported by Dmitry V. Levin. 2005-01-02 Jim Meyering <jim@meyering.net> * version-etc.c (version_etc_copyright): Update copyright date. 2004-12-31 Jim Meyering <jim@meyering.net> * openat.c (rpl_openat): Correct comment. Call free_cwd, to avoid leaking a file descriptor. 2004-12-23 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no need to extend the stack. (YYINITDEPTH): New macro, so that the initial stack isn't overly large. 2004-12-19 Paul Eggert <eggert@cs.ucla.edu> * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not HAVE_DECL_STRTOLD. * alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. Remove now-obsolete comment about AIX. * getdate.y: Include <alloca.h> only if HAVE_ALLOCA. (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. (YYMAXDEPTH): New macro. 2004-12-11 Jim Meyering <jim@meyering.net> * chdir-long.c: Fail via #error if PATH_MAX is not defined, since this file is now compiled only on systems that define PATH_MAX. 2004-12-08 Paul Eggert <eggert@cs.ucla.edu> * getdate.y (textint): New member "negative". (time_zone_hhmm): New function. Expect 14 shift-reduce conflicts, not 13. (o_colon_minutes): New rule. (time, zone): Use it to add support for +HH:MM, UTC+HH:MM. (yylex): Set the "negative" member of signed numbers. 2004-12-06 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Begin removing .c and .h file names, as they are added to AC_LIBSOURCES directives in the corresponding m4/*.m4 files. 2004-12-05 Jim Meyering <jim@meyering.net> Currently, fpending.m4 punts (by defining PENDING_OUTPUT_N_BYTES to 1) if it doesn't find a valid expression for the replacement function. Before this change, that might have gone undetected for some time. Now, we'll catch it close to the source. * t-fpending.c: New file. Test the __fpending function. This ensures that if there is an error in the definition of the PENDING_OUTPUT_N_BYTES expression, we'll find about it right away; that value is used only in the rare event that close_stdout's fclose fails with EBADF. * Makefile.am (unit-test): New target. (check): Depend on it. (noinst_PROGRAMS): Define. (LDADD): Define. * Makefile.am (unit-test): Depend on t-fpending. Make the target .PHONY. 2004-12-02 Paul Eggert <eggert@cs.ucla.edu> * openat.c: Include "openat.h" before other include files. Include "exitfail.h". (openat): Remove #undef; no longer needed now that we include openat.h first. (rpl_openat): Add comment about mode_t promotion. Simplify code a bit by moving initializations around. Use exit_failure rather than EXIT_FAILURE. * openat.h: Add copyright and authorship notice. (AT_FDCWD): Use the same value Solaris 9 uses, except of type 'int' not 'unsigned int'. * save-cwd.c: Include "save-cwd.h" before other include files. (O_DIRECTORY): Remove; not needed here, since "." must be a directory. All uses removed. (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is universal on Suns, and we also need to test for IRIX. Revamp code to use 'if' rather than '#if'. Avoid unnecessary comparison of cwd->desc to 0. 2004-12-01 Paul Eggert <eggert@cs.ucla.edu> * hard-locale.c: Assume <locale.h> exists. Include "strdup.h". (GLIBC_VERSION): New macro. (hard_locale): Assume setlocale exists. Rewrite to avoid #ifdef. Use strdup rather than malloc + strcpy. * human.c: Assume <locale.h> exists. (human_readable): Assume localeconv exists. 2004-11-30 Paul Eggert <eggert@cs.ucla.edu> * getcwd.c (is_ENAMETOOLONG): New macro. (__getcwd.c): Don't restore errno; glibc doesn't. [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd first, falling back to our code only if its results look suspicious. Ensure that the resulting buffer is only as large as necessary. * readutmp.c: Include readutmp.h first. Include <errno.h>, since readutmp.h no longer does that. * readutmp.h: Don't include <errno.h>, <sys/param.h>, <time.h>; not needed to establish interface. (errno): Remove decl. (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed. (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros. 2004-11-30 Jim Meyering <jim@meyering.net> Change the name of the robust chdir function from chdir to chdir_long. * save-cwd.c: Include chdir-long.h rather than chdir.h. (restore_cwd): Use chdir_long, not chdir. * chdir-long.c: Renamed from chdir.c. * chdir-long.h: Renamed from chdir.h. [!defined PATH_MAX]: Define chdir_long to chdir on systems like the Hurd. * Makefile.am (libfetish_a_SOURCES): Reflect name changes. * chdir.c (O_DIRECTORY): Define, if necessary. (memchrcspn): Tiny wrapper around memchr. (rpl_chdir): Use memchrcspn rather than strcspn. 2004-11-28 Jim Meyering <jim@meyering.net> * openat.c (rpl_openat): Also accept optional mode parameter. * openat.h (rpl_openat): Adjust prototype. * save-cwd.c: Include "chdir.h", so that if save_cwd/getcwd saves a name longer than PATH_MAX, restore_cwd's chdir can use it. * Makefile.am (libfetish_a_SOURCES): Add chdir.h and openat.h. This is a robust version of chdir, in that it can handle directory names longer than PATH_MAX. * chdir.c, chdir.h: New file. * openat.c, openat.h: New files. 2004-11-25 Paul Eggert <eggert@cs.ucla.edu> Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using HP's ANSI C compiler. * fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl. Declaring int functions causes warnings on some modern systems and shouldn't be needed to compile on ancient ones. * same.c (MIN) [defined MIN]: Don't define, since it's already defined. * mempcpy.c, mempcpy.h: New files, taken from gnulib. * Makefile.am: (libfetish_a_SOURCES): Add getcwd.h, mempcpy.h. * getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but with the following changes. (__set_errno): Parenthesize properly. Include <stdbool.h>. (MIN, MAX, MATCHING_INO): New macros. (__getcwd): Define with prototype, not K&R form. Use heuristics to allocate default buffer on stack if possible. If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2) behavior, and to avoid the PATH_MAX limit when computing ../../../../... Use MATCHING_INO to compare inode number to file. Check for arithmetic overflow in size calculations. Fix bug in reallocation of dot array that caused getcwd to fail on directories nested deeper than 75. Be more careful about saving errno on error. Do not use realloc; use only free+malloc, as this is a bit more flexible and avoids a needless copy operation. Do not inspect st_dev and st_ino for symbolic links; POSIX doesn't specify the latter. Check for closedir errors. Avoid needless casts. Use "#ifdef weak_alias" around weak_alias, to be like other glibc code. The following changes to getcwd.c have effect only when used in gnulib; they have no effect inside glibc proper. (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove, as alloca isn't used. (alloca, __alloca): Likewise. [!_LIBC]: Include "getcwd.h", "mempcpy.h". Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h> unconditionally, as gnulib assumes C89 or better. Do not include <sys/param.h>. (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or better. (NULL) [!defined NULL]: Remove; we assume C89 or better. Include <dirent.h> in a way that is compatible with modern Autoconf. (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): New macros, if not already defined. Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__. Use "_LIBC", not "defined _LIBC", for consistency. (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has a mempcpy module. (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros. (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *. * xgetcwd.c: David MacKenzie's old code was removed, so give credit only to Jim Meyering and adjust the copyright dates. Do not include <limits.h>, <stdio.h>, <sys/types.h>, <stdlib.h>, <unistd.h>, "pathmax.h". Instead, include "xgetcwd.h" (first) and "getcwd.h". (INITIAL_BUFFER_SIZE): Remove. (xgetcwd): Rely on getcwd, since we now depend on a reliable one. 2004-11-23 Paul Eggert <eggert@cs.ucla.edu> * utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros. (futimens): New function, which uses futimes if available. (futimens, utimens): Support timespec==NULL, with same semantics as utime and utimens. * utimens.h (futimens): New decl. 2004-11-23 Sergey Poznyakoff <gray@Mirddin.farlep.net> * getopt_.h: Re-addition of __getopt_argv_const caused redefinition warnings. To avoid them, include the defines in `#if !defined __need_getopt ... #endif'. The only place where __getopt_argv_const is used is in definitions of getopt_long and getopt_long_only below, which are as well protected by `#ifndef __need_getopt'. [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef __need_getopt after including <stdio.h> and <unistd.h> These headers might have defined it. 2004-11-23 Jim Meyering <jim@meyering.net> * closeout.c: Revert last change, since it seems EBADF is always defined. 2004-11-22 Jim Meyering <jim@meyering.net> * closeout.c (EBADF): Fail with `#error ...' if it's not defined, asking the user to report the problem. 2004-11-17 Paul Eggert <eggert@cs.ucla.edu> * realloc.c (rpl_realloc): Call 'free' if n==0, since realloc might fail. Problem reported by Yoann Vandoorselaere. * calloc.c (rpl_calloc): Defend against buggy calloc implementations that mishandle size_t overflow. 2004-11-16 Paul Eggert <eggert@cs.ucla.edu> * xgetcwd.c: Include <limits.h>, for PATH_MAX. (xgetcwd): Set errno correctly when failing. Work around Solaris 9 bug: getcwd sets errno==ERANGE even though the failure is actually due to a PATH_MAX problem. Further getopt changes to make it more likely that glibc will buy the changes back. * getopt.c (POSIXLY_CORRECT): New constant. (getopt): Use it, so to preserve glibc semantic * getopt1.c (getopt_long, getopt_long_only): Arg is char * const * when compiling for libc. * getopt_.h (__getopt_argv_const): Bring it back. (getopt_long, getopt_long_only): Use it. * getopt.c (_getopt_initialize, _getopt_internal_r, _getopt_internal): New arg POSIXLY_CORRECT. All callers changed. (getopt): Argv is now char * const *, as per standard. (_getopt_internal_r, _getopt_internal): Argv is now char **, not char *__getopt_argv_const *. * getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, _getopt_long_only_r): Likewise. * getopt_.h (getopt, getopt_long, geopt_long_only): Likewise. * getopt_int.h (_getopt_internal, _getopt_internal_r, _getopt_long_r, _getopt_long_only_r): Likewise. * getopt_.h (__getopt_argv_const): Remove. (getopt): Argv is now char * const *, as per standard. * canon-host.c: Include "strdup.h". (canon_host): Use getaddrinfo if available, so that IPv6 works. Use strdup instead of malloc/strcpy to duplicate strings. * getdate.y (tORDINAL): New token. (day, relunit): Allow it for relative times. (relative_time_table): Use tORDINAL for ordinals. 2004-11-15 Paul Eggert <eggert@cs.ucla.edu> * human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit. (human_space_before_unit): New constant. * human.c (human_readable): Support it. 2004-11-14 Jim Meyering <jim@meyering.net> * closeout.c (close_stdout): Don't fail just because stdout was closed initially, since some programs don't write to stdout in the normal course of operation (other than --version and --help), and we don't want this function to make e.g. `cp 1 2 >&-' fail. But do fail if it was closed and someone has tried to write to it. E.g., printf foo >&- * __fpending.c, __fpending.h: Restore these files. They're useful after all. * Makefile.am (libfetish_a_SOURCES): Add __fpending.h. 2004-11-11 Paul Eggert <eggert@cs.ucla.edu> * getopt.c, getopt1.c, getopt_.h, getopt_int.h: Sync from gnulib. 2004-11-10 Paul Eggert <eggert@cs.ucla.edu> * allocsa.h, mbswidth.c, mktime.c, readlink.c, getdate.y, quotearg.c, strftime.c: Sync from gnulib. 2004-11-06 Jim Meyering <jim@meyering.net> * __fpending.c, __fpending.h: Remove files. * Makefile.am (libfetish_a_SOURCES): Remove __fpending.h, now that it's no longer used. Ensure that no close failure goes unreported. * closeout.c (close_stdout): Always close stdout. I.e., don't return early when it seems there's nothing to flush. Don't include __fpending.h. 2004-11-03 Paul Eggert <eggert@cs.ucla.edu> * unsetenv.c: New file, from gnulib. Needed for new getdate.y. * Makefile.am (libfetish_a_SOURCES): Remove setenv.c. * xreadlink.c: Sync from gnulib. 2004-11-03 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add setenv.c and setenv.h. 2004-11-02 Paul Eggert <eggert@cs.ucla.edu> * getdate.y, getpass.c, setenv.h: Sync from gnulib. 2004-10-29 Paul Eggert <eggert@cs.ucla.edu> * getdate.y, getpagesize.h, mktime.c: Sync from gnulib. 2004-10-24 Paul Eggert <eggert@cs.ucla.edu> * mktime.c (leapyear): Arg is long int, not int. Change imported from gnulib. 2004-10-17 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * diacrit.c, diacrit.h: Add copyright notice. * getpass.c (fflush_unlocked, flockfile, funlockfile) (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map to real functions. 2004-10-13 Jim Meyering <jim@meyering.net> * fts.c (fts_read): When about to fail (by returning NULL) due to a failed fchdir or failed fts_safe_changedir call, set `sp->fts_cur = p'. Do this by removing the explicit `return NULL;' statements and setting p->fts_errno so execution falls through to the common-case code below. Otherwise, after such a failure, calling fts_close would attempt to free an already-freed buffer. Reported by Luis Lopez Lopez in http://bugs.debian.org/276352. 2004-10-04 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * xalloc.h (xmemdup): Renamed from xclone. * xmalloc.c (xmemdup): Likewise. * xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC, XFREE): Remove these long-obsolescent macros. * xmalloc.c (xstrdup): Implementation moved here from xstrdup.c * xstrdup.c: Remove. * argmatch.c, closeout.c, error.c, exclude.c, getdate.y, getndelim2.c, getpass.c, getusershell.c, linebuffer.c, md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c, regex.c, sha1.c, version-etc.c, yesno.c: Include "unlocked-io.h" only if USE_UNLOCKED_IO. * unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now the includer's responsibility. 2004-10-03 Paul Eggert <eggert@cs.ucla.edu> Sync from gnulib. * dirfd.h, getpagesize.h: Add copyright notice. * vasnprintf.c: (VASNPRINTF): Set errno=EOVERFLOW if the output is too long. * vasnprintf.h: Doc fix. * vasprintf.c: Don't include <limits.h>. (vasprintf): Rely on vasnprintf to set errno=EOVERFLOW. 2004-09-23 Paul Eggert <eggert@cs.ucla.edu> * modechange.c (mode_compile): Don't decrement a pointer that points to the start of a string, as the C Standard says the resulting behavior is undefined. 2004-09-22 Jim Meyering <jim@meyering.net> * getopt.c: Remove extraneous spaces before TAB. * getopt_.h: Likewise. * backupfile.c: Remove trailing blanks. * euidaccess.c: Likewise. 2004-09-13 Paul Eggert <eggert@cs.ucla.edu> * backupfile.h (enum backuptype): Rename none -> no_backups, simple -> simple_backups, numbered_existing -> numbered_existing_backups, numbered -> numbered_backups to avoid shadowing problems. All uses changed. * argmatch.c (enum backuptype): Likewise. * backupfile.c (check_extension, numbered_backup): Rename locals to avoid shadowing 'basename'. * backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than once. 2004-09-02 Paul Eggert <eggert@cs.ucla.edu> Port to diet libc. Problem reported by Felix von Leitner in <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00171.html> * fts.c (fts_stat, fts_open, fts_read): Use "unsigned short int" rather than the unportable "u_short", and similarly for u_int. * fts_.h (FTSENT): Likewise. 2004-08-19 Paul Eggert <eggert@cs.ucla.edu> * getopt.c, getopt1.c: Sync from gnulib. * getopt_.h: Renamed from getopt.h (this syncs from gnulib). * Makefile.am (libfetish_a_SOURCES): Remove getopt.c, getopt.h, getopt1.c, getopt_int.h. (BUILT_SOURCES, EXTRA_DIST, all-local, $(lib_OBJECTS), getopt.h, MOSTLYCLEANFILES): Add current gnulib snippet for getopt. * .cppi-disable: Add getopt_.h, getopt_int.h. * .cvsignore: Add getopt.h. 2004-08-18 Paul Eggert <eggert@cs.ucla.edu> * userspec.c: Don't use <alloca.h>, so that we don't use alloca on strings on unbounded length. alloca's performance benefits aren't that important here. (V_STRDUP): Remove. (parse_with_separator): New function, with most of the internals of the old parse_user_spec. Allow user to omit both user and group, for compatibility with FreeBSD. Clone only the user name, not the entire spec. Do not set *uid, *gid unless entirely successful. Avoid memory leak in some failing cases. Fix regression for USER.GROUP reported by Dmitry V. Levin in <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html> (parse_user_spec): Rewrite to use parse_with_separator. 2004-08-11 Paul Eggert <eggert@cs.ucla.edu> * fts.c (O_DIRECTORY): Define to 0 if the system doesn't define. * settime.c (settime): Recode to avoid warning with Sun Forte C 6U2. * obstack.c: Include <inttypes.h> and <stdint.h> if available. (union fooround): Use uintmax_t, not long int. The rest is a merge from libc: [defined _LIBC]: Include <shlib-compat.h>. (_obstack) [defined _LIBC]: Remove after 2.3.4. * xgethostname.c: Do not include error.h. (merge from gnulib). * fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing wmemchr or wmemcpy. Problem reported by Robert Dahlem for Reliant Unix 5.43. 2004-08-09 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libfetish_a_SOURCES): Add getpass.h. * getpass.h: New file. * .cpp-disable: Add it. * getpass.c [!_LIBC]: Include it. * obstack.h (obstack_empty_p): Don't assume that chunk->contents is suitably aligned. * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk): Likewise. Problem reported by Benno in <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>. * chown.c (rpl_chown): Work even if the file is writeable but not readable. This could be improved further but it'd take some work. * fts.c (diropen): New function. (fts_open, fts_read, fts_children, fts_safe_changedir): Use it, so that the code works even if the directory is writeable but not readable. We'd like it to work even if the directory is merely executable, but I don't know how to do that portably. * xalloc-die.c: New file. * xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove. All uses removed. * xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): Likewise. Move inclusions of gettext.h, error.h, exitfail.h to xalloc-die.c. (_, N_, xalloc_die): Move to xalloc-die.c. * userspec.c (parse_user_spaec): Use xstrdup rather than strdup, so that we needn't mess with xalloc_msg_memory_exhausted. * sha1.h (sha1_ctx): Renamed from sha_ctx. (sha1_init_ctx): Renamed from sha_init_ctx. (sha1_process_block): Renamed from sha_process_block. (sha1_process_bytes): Renamed from sha_process_bytes. (sha1_finish_ctx): Renamed from sha_finish_ctx. (sha1_read_ctx): Renamed from sha_read_ctx. (sha1_stream): Renamed from sha_stream. (sha1_buffer): Renamed from sha_buffer. * sha1.c: Likewise. 2004-08-07 Paul Eggert <eggert@cs.ucla.edu> * canonicalize.h, cycle-check.h, stat-macros.h, strdup.h, strftime.h, xnanosleep.c: Merge from gnulib. 2004-08-05 Paul Eggert <eggert@cs.ucla.edu> Merge with gnulib and deal with some minor cleanups resulting. * .cppi-disable: Change fnmatch.h to fnmatch_.h. * .cvsignore: Add fnmatch.h, poll.h, stdbool.h, sysexit.h. Remove safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h. * backupfile.h, closeout.h, full-write.h, mbswidth.h, xalloc.h: Add extern "C" wrappers for C++. * dirname.h (IS_ABSOLUTE_FILE_NAME): Port to DOS. * gettime.c (gettime): Fall back on `time' if `gettimeofday' doesn't work. * settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway). (ENOSYS): Define if not defined. (settime): Fall back on stime if it exists and settimeofday fails. But don't bother with fallbacks if a method fails with errno == EPERM. * obstack.h: Add white space. * printf-parse.c, printf-parse.h, vasnprintf.c: Merge changes from gnulib, but rewrite to avoid "xsize.h". 2004-08-04 Paul Eggert <eggert@cs.ucla.edu> * mountlist.c (SIZE_MAX): Define after including files, to avoid a collision on OpenBSD 3.4. * fts.c (LONGEST_MODIFIER): New macro. (PRIuMAX) [!PRI_MACROS_BROKEN && !defined PRIuMAX]: New macro. (find_matching_ancestor): Use it for dev_t and ino_t. * getndelim2.c: Sync from gnulib. * error.c: Work around bug in OpenBSD 3.4 sterror_r: it sometimes returns a positive errno value even when it succeeds. (print_errno_message) [!LIBC]: Fall back on strerror if __strerror_r fails. 2004-08-02 Paul Eggert <eggert@cs.ucla.edu> * canonicalize.c (errno): Remove decl; we now assume C89 or better. * chown.c (errno): Likewise. * closeout.c (errno): Likewise. * dup-safer.c (errno): Likewise. * dup2.c (errno): Likewise. * exclude.c (errno): Likewise. * fopen-safer.c (errno): Likewise. * ftruncate.c (errno): Likewise. * full-write.c (errno): Likewise. * getcwd.c (errno): Likewise. * lchown.c (errno): Likewise. * memcoll.c (errno): Likewise. * nanosleep.c (errno): Likewise. * putenv.c (errno): Likewise. * rmdir.c (errno): Likewise. * same.c (errno): Likewise. * savedir.c (errno): Likewise. * setenv.c (errno): Likewise. * stat.c (errno): Likewise. * utime.c (errno): Likewise. * xgetcwd.c (errno): Likewise. * xmemcoll.c (errno): Likewise. * xreadlink.c (errno): Likewise. * xstrtol.c (errno): Likewise. * canonicalize.h (enum canonicalize_mode_t): Reformat comments to fit in 80 columns. * fileblocks.c (textutils_fileblocks_unused): Make it a typedef instead of an int, to save a few bytes in the object file. * getdate.y (lookup_word): Rewrite to avoid cast. * getloadavg.c: Include <stdbool.h>. (getloadavg_initialized): Use bool for booleans. * hard-locale.c (hard_locale): Return bool, not int. * hard-locale.h (hard_locale): Likewise. Include <stdbool.h>. * hash.c (hash_string): Rewrite to avoid cast. * human.h: Use Autoconf-suggested pattern for inttypes and stdint. * strtiomax.c: Likewise. * xstrtol.h: Likewise. * nanosleep.c: Include stdbool.h. (rpl_nanosleep): Usee bool for booleans. * quotearg.c: Include stdbool.h. (quotearg_buffer_restyled): Use bool for booleans. * readtokens.c (readtoken): Rewrite to avoid casts. * same.c (same_name): Return bool, not int. * same.h (same_name): Likewise. Include <stdbool.h>. * version-etc.c (version_etc_va): Use size_t for sizes. * xnanosleep.c: Include limits.h, stdbool.h. (CHAR_BIT): Remove. (timespec_subtract, xnanosleep): Use bool for booleans. * xstrtoimax.c: Just include xstrtol.h rather than rolling our own include pattern. * xstrtoumax.c: Likewise. * xstrtol.c (__xstrtol): Rewrite to avoid casts. * yesno.c: Include yesno.h first. (yesno): Return bool, not int. * yesno.h (yesno): Likewise. Include <stdbool.h>. * xstrtod.h (xstrtod): Return bool, not int. Invert the sense of the boolean. All uses changed. * xstrtod.c (xstrtod): Likewise. * nanosleep.c: Include stdbool.h. Use bool for booleans. * xgethostname.c: Don't include <sys/types.h> or "exit.h"; no longer needed. (errno): Remove decl; we now assume C89 or better. Include unistd.h if available, for gethostname. (ENAMETOOLONG): Define to 0, not 9999, to avoid colliding with existing errno values if any. (gethostname): Remove decl, since unistd.h declares it (or doesn't, in which case it's an older system and it should just work). (xgethostname): Don't assume host name length is less than INT_MAX. Exit if malloc fails, just as the comment says. * save-cwd.c: Include <stdbool.h>. (errno): Remove decl; we now assume C89 or better. (save_cwd): Use bool for booleans. (save_cwd, restore_cwd): Return -1 on failure, not 1, since we set errno on failure. * readutmp.h (UT_USER): Parenthesize properly. (UT_USER_SIZE): New constant. (read_utmp): Don't assume that the number of users is less than INT_MAX. * readutmp.c (read_utmp): Likewise. Check for integer overflow in size calculations. Return -1 (not 1) on failure, since we set errno in that case. * posixtm.c (posix_time_parse): Don't assume that the length of the string being parsed is <= UINT_MAX. * mountlist.h (read_file_system_list): Accept bool flag, not int. * mountlist.c (read_file_system_list): Likewise. * mountlist.h: Include <stdbool.h>. * mountlist.c (errno): Remove decl; we now assume C89 or better. (xatoi): Remove; replaced by strtoul. Hence device numbers can now go up to ULONG_MAX. * isdir.c: Remove; no longer needed. * Makefile.am (libfetish_a_SOURCES): Remove isdir.c. * fts_.h: Add an FSF copyright notice, since our changes are becoming nontrivial. * fts.c: Likewise. * fts_.h: Include stddef.h, for ptrdiff_t. (FTS.fts_nitems): Now size_t, not int, for hosts that allow more than INT_MAX entries in a directory. (FTS_ROOTPARENTLEVEL): Parenthesize properly. (FTSENT.fts_level): Now ptrdiff_t, not int, to allow recursing more than INT_MAX levels deep on 64-bit hosts. (FTSENT.fts_namelen): Now size_t, not u_short, to support hosts like the Hurd that don't have arbitrary limits on directory entry lengths. (FTSENT.fts_statp): Now an array, not a pointer, so that we don't have to play unportable games with pointer arithmetic. Keep it array for the benefit of user code that assumes it is a pointer. * fts.c: Include stdint.h if available, as Autoconf suggests. (ALIGNBYTES, ALIGN): Remove; no longer needed now that fts_statp is an array. (fts_alloc, fts_palloc, fts_sort, fts_load, fts_build): Use size_t for sizes. (fts_stat, fts_safe_changedir, fts_debug, fts_read, fts_build, fts_palloc): Use bool when appropriate. (SIZE_MAX, TYPE_SIGNED): New macros. (fts_read): Use u_short for instructions. (fts_build): Use ptrdiff_t for levels. Don't assume file name lengths fit into int. Don't assume nlink_t is signed. (find_matching_ancestor): Don't assume dev, ino fit in int. (fts_stat): Use function prototype; required for bool arg. (fts_sort): Detect integer overflow in size calculations. (fts_alloc): Simplify allocation code, now that fts_statp is an array and not a pointer. * fsusage.h: Include <stdbool.h>. (struct fs_usage): Use uintmax_t for block sizes, so that they're not limited to INT_MAX. Use bool for booleans. * fsusage.c: Use Autoconf-suggested pattern for inttypes and stdint. Include unistd.h, for lseek. * fnmatch.c: Include <stdbool.h>. (errno): Remove decl; we now assume C89 or better. * fnmatch_loop.c (EXT, FCT): Use bool when appropriate. (FCT): Use size_t, not unsigned int, for sizes. (EXT): Use size_t, not int, for sizes. * stripslash.c (strip_trailing_slashes): Now returns bool. * dirname.h (strip_trailing_slashes): Likewise. Include <stdbool.h>. * dirname.c (dir_name): Use bool when appropriate. * argmatch.h (argmatch, __xargmatch_internal, argmatch_invalid): Use ptrdiff_t, not int, when counting arguments, to allow more than INT_MAX arguments. * argmatch.c: Likewise. Use bool when appropriate. 2004-08-01 Paul Eggert <eggert@cs.ucla.edu> * safe-read.c (errno): Remove decl; we now assume C89 or better. (safe_rw): Don't work around Tru64 bug unless the bug symptoms manifest themselves. This allows us to do proper reads and writes on other hosts, e.g., "dd" with a block size greater than 2**31. * md5.c (UNALIGNED_P): Use size_t; in practice, this is just as good as uintptr_t in checking for alignments, and has fewer configuration hassles. * sha1.c (UNALIGNED_P): Likewise. * md5.h: Don't include <limits.h>. Include <inttypes.h> if available, as it defines symbols like UINT32_MAX on Solaris 8. (md5_uint32): Assume uint32_t exists; Autoconf will define it otherwise (if the host has a 32-bit unsigned type, anyway). * memchr.c: Don't include inttypes.h or stdint.h. (UNALIGNED_P): Remove. (__memchr): Use size_t, not uintptr_t, to test alignment. * memrchr.c: Likewise, for __memrchr. 2004-07-30 Paul Eggert <eggert@cs.ucla.edu> * makepath.h: Include <stdbool.h>. (make_path, make_dir): Use bool, not int, since we're not setting errno. Use mode_t for modes, not int. All uses changed. * makepath.c: Likewise. (errno): Remove decl; no longer needed since we assume C89. 2004-07-29 Paul Eggert <eggert@cs.ucla.edu> * modechange.c: Include <stdbool.h>. (mode_compile): Use bool when appropriate. * memchr.c (UNALIGNED_P): Use sizeof, not alignof, for better performance on m68k-linux. Reported by Andreas Schwab in <http://lists.gnu.org/archive/html/bug-coreutils/2004-07/msg00104.html>. * memrchr.c (UNALIGNED_P): Likewise. 2004-07-28 Paul Eggert <eggert@cs.ucla.edu> * userspec.c: Include <stdbool.h>, "inttostr.h". (V_STRDUP): Don't assume the string's length fits in int. (ISDIGIT): unsigned -> unsigned int (is_number): Define only ifdef __DJGPP__; not needed elsewhere. Use bool instead of int where appropriate. Do not allow empty strings. (parse_user_spec): Parse numbers as decimal integers, even if they have a leading 0. Don't assume uids and gids fit in int. * memchr.c: Include <stddef.h>, not <stdlib.h> and <sys/types.h>. (LONG_MAX_32_BITS): Remove. Include <inttypes.h> and <stdint.h> if available. (alignof, UNALIGNEDP): New macro, portable to all C89 hosts. (__memchr): Don't assume unsigned long int is either 4 or 8 bytes; let it be any number of bytes greater than or equal to 4. * memrchr.c: Likewise, with __memrchr. * md5.h: Include <stdint.h> if HAVE_STDINT_H || _LIBC, not ifdef _LIBC. (md5_uint32): Use uint32_t if available. Simplify fallback ifdefs. * md5.c: Don't include <sys/types.h> or <stdlib.h>; <stddef.h> suffices with C89 or better. (alignof): New macro, portable to all C89 hosts. (UNALIGNED): Use it. Use uintptr_t if available, and assume everything is unaligned otherwise; this is more portable than assuming 'unsigned long int' will always work. * sha1.c: Likewise. * getugroups.c: Include <errno.h>. (EOVERFLOW): Define if not defined. (getgroups): Return -1 with errno=EOVERFLOW if an integer overflow occurs. 2004-07-27 Paul Eggert <eggert@cs.ucla.edu> * euidaccess.c [HAVE_LIBGEN_H]: Include <libgen.h>, for eaccess on Solaris and SVR4-like systems. (euidaccess): Use HAVE_EACCESS, not HAVE_DECL_EACCESS. cycle-check integer overflow fixup. * cycle-check.h: Remove now-inaccurate comment about the files you need to include first. You don't need to include any files other than the usual config.h. Include <inttypes.h> and <stdint.h> if available, for uintmax_t. Remove 'struct stat;' not needed since we know sys/stat.h has been included by dev-ino.h. (struct cycle_check_state): Change chdir_counter to uintmax_t, not size_t, since it isn't limited by object sizes. Change magic from long unsigned int to int; that's good enough for our use. * cycle-check.c (is_zero_or_power_of_two): Renamed from is_power_of_two, to reflect better what it really does. All uses changed. Arg is now uintmax_t, not unsigned int (it should have been unsigned long int -- that was a bug). (cycle_check): Check for integer overflow in cycle count, and report a cycle if that happens, as it must be a cycle by this point. backupfile.c rewrite to avoid arbitrary limits on lengths of numeric backup extensions. * addext.c: Remove; no longer needed. * Makefile.am (libfetish_a_SOURCES): Remove addext.c. * backupfile.h (addext): Remove decl. * backupfile.c: Include "backupfile.h" first. Include errno.h, stdbool.h, limits.h, unistd.h, xalloc.h. (CLOSEDIR, INT_STRLEN_BOUND): Remove. (pathconf) [! (HAVE_PATHCONF && defined _PC_NAME_MAX)]: New macro. (_POSIX_NAME_MAX) [!defined _POSIX_NAME_MAX]: New macro. (NAME_MAX_MAXIMUM): New macro. Unlike the old addext.c, we also look at _XOPEN_NAME_MAX, for better performance on modern hosts that support only file names of length 255 or more. (ISDIGIT): unsigned -> unsigned int (max_backup_version, version_number): Remove. (check_extension): New function. Similar to the old addext, but static, assumes that the extension has already been added, and a bit more careful on DOS hosts. (numbered_backup): New function. It does what max_backup_version and version_number used to do, but it doesn't use integer arithmetic to calculate extensions so it doesn't overflow. (find_backup_file_name): Rewrite to use these new functions. This has a new optimization: we needn't call pathconf if the new numbered backup name has the same length as the old. Also, use xmalloc rather than malloc, so that the caller needn't worry about memory exhaustion. 2004-07-25 Paul Eggert <eggert@cs.ucla.edu> * euidaccess.c [!defined LIBC]: Included group-member.h, stat-macros.h. (S_IXUSR, S_IXGRP, S_IXOTH, S_IROTH, S_IWOTH, S_IXOTH): Remove; now done by stat-macros.h. (NGROUPS_MAX, group_member): Remove; now done by group-member.h. No need to include <limits.h>. (errno): Remove decl; we now assume C89 or better. (access, getuid, getgid, geteuid, getegid, stat) [defined _LIBC]: New macros. (uid, gid, have_ids): Remove these static variables. They weren't accurate for programs that also invoked setreuid etc. (euidaccess) [defined EFF_ONLY_OK || defined ACC_SELF || HAVE_DECL_EACCSS]: Use builtin substitutes. [defined _LIBC]: Ignore __libc_enable_secure; it's not a correct optimization for programs run as root that later invoke setreuid. [no builtin substitutes && HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS]: Use setreuid+setregid to get the correct answer. [no builtin substitutes && ! (HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS)]: Don't assume that the stat macros have their historical values, as POSIX doesn't require this. [defined TEST]: Include <stdlib.h>; don't include errno.h twice; include <error.h> rather than "error.h". 2004-07-23 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libfetish_a_SOURCES): Add fcntl-safer.h, open-safer.c. * fcntl-safer.h, open-safer.c: New files. 2004-07-12 Paul Eggert <eggert@cs.ucla.edu> * c-strtod.c (STRTOD_L): New macro. (C_STRTOD) [defined LC_ALL_MASK]: Use it, so that the code is reentrant on platforms that have strtod_l. * getloadavg.c: Include <errno.h>, <stdio.h>, <stdlib.h> even if HAVE_GETLOADAVG is defined, so that the test program can work. (errno): Remove declaration; not needed in C89 or later. Include "c-strtod.h". Do not include locale.h or define setlocale; no longer needed. Include <limits.h>. (INT_STRLEN_BOUND): New macro. (getloadavg): Use it to compute buffer size. Don't assume that buffer will be properly terminated by 'read'. Use c_strtod instead of setlocale. (main) [defined TEST]: Return int, not void. 2004-07-11 Paul Eggert <eggert@cs.ucla.edu> * Makefile.am (libfetish_a_SOURCES): Add c-strtold.c. * c-strtold.c: New file. * c-strtod.c: Include <config.h> first. (C_STRTOD, DOUBLE, STRTOD): New macros. (c_strtod): Use them. * c-strtod.h (c_strtold): New decl. 2004-07-07 Jim Meyering <jim@meyering.net> Don't infloop when MAXSYMLINKS is not defined. Detect symlink loops much earlier (albeit lazily) on systems with MAXSYMLINKS defined to a large value. * canonicalize.c: Include "cycle-check.h". (canonicalize_filename_mode): Don't try to detect loops by counting symlink-hops. Instead, use the cycle-check module. * cycle-check.h: Include stdbool.h. Forward-declare `struct stat'. * canonicalize.c (canonicalize_filename_mode): Remove do-while(0) loop. Replace each corresponding `break' stmt with `continue'. 2004-07-06 Jim Meyering <jim@meyering.net> * canonicalize.c: Include "stat-macros.h". (canonicalize_filename_mode): Remove #ifdef S_ISLNK, now that S_ISLNK is guaranteed to be defined (via stat-macros.h). 2004-04-03 Dmitry V. Levin <ldv@altlinux.org> * Makefile.am (libfetish_a_SOURCES): Add canonicalize.c unconditionally. * canonicalize.h (canonicalize_mode_t): New type. * canonicalize.c: Include "file-type.h". (canonicalize_filename_mode): New function, based on canonicalize_file_name, supports three canonicalize modes. (canonicalize_file_name) [!HAVE_CANONICALIZE_FILE_NAME && !HAVE_RESOLVEPATH]: Use it. 2004-07-05 Jim Meyering <jim@meyering.net> * path-concat.c (path_concat): Improve comment. From Paul Eggert. 2004-07-02 Paul Eggert <eggert@cs.ucla.edu> * canonicalize.c (canonicalize_file_name): Assume that path_concat never returns NULL. * path-concat.c (mempcpy): Don't define if a system header defines it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h. (longest_relative_suffix): New function. (path_concat): Use it. Assume first argument is not NULL. Port to DOS. Omit redundant separators. Report an error instead of returning NULL. Use mempcpy instead of memcpy. (xpath_concat): Remove: not declared or used. 2004-06-30 Paul Eggert <eggert@cs.ucla.edu> * dirname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN. All uses changed. * mountlist.h (read_file_system_list): Renamed from read_filesystem_list. All definitions and uses changed. 2004-06-24 Jim Meyering <jim@meyering.net> * obstack.h (obstack_base): Fix parentheses. From Paul Eggert. 2004-06-20 Jim Meyering <jim@meyering.net> * obstack.h (obstack_base): Cast to (void *), per documentation. * yesno.h: New file. * yesno.c: Include "yesno.h". * Makefile.am (libfetish_a_SOURCES): Add yesno.h. 2004-06-19 Jim Meyering <jim@meyering.net> * filemode.c: Remove all S_IS* and S_IF* definitions. Instead, just include "stat-macros.h". * stat.c: Likewise. * rmdir.c: Likewise. * makepath.c: Likewise. * lchown.c: Likewise. * isdir.c: Likewise. * canonicalize.c: Likewise. Add S_IS* definitions from filemode.c. * stat-macros.h (S_ISCTG): Define to zero if not already defined. (S_ISOFD): Likewise. (S_ISOFL): Likewise. 2004-06-11 Paul Eggert <eggert@cs.ucla.edu> * readutmp.c (extract_trimmed_name): Don't apply strchr to a non-string; this leads to undefined behavior. 2004-05-18 Paul Eggert <eggert@cs.ucla.edu> * fts.c (fts_stat, fts_alloc): Always allocate and use a struct stat, even if the user isn't interested in the results. This prevents a core dump in cycle_check when FTS_NOSTAT is set. * lchown.c (lchown): Return EOPNOTSUPP if not supported; this is what POSIX-2004 specifies. * lchown.h (EOPNOTSUPP): Define if not defined. (ENOSYS): Remove. 2004-06-06 Jim Meyering <jim@meyering.net> * getdate.y: Update from gnulib. 2004-05-25 Paul Eggert <eggert@cs.ucla.edu> * xreadlink.c: Include xreadlink.h first, to catch .h file dependency problems. (xreadlink): Accept new arg SIZE, for efficiency. All decls and uses changed. * xreadlink.h: Include <stddef.h>, for size_t. * canonicalize.c (canonicalize_file_name): Update use of xreadlink. 2004-06-01 Jim Meyering <jim@meyering.net> * xmalloc.c: Update from gnulib. 2004-05-30 Jim Meyering <jim@meyering.net> * alloca_.h: Remove trailing blank. 2004-05-29 Jim Meyering <jim@meyering.net> * dirname.h (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Define. * calloc.c: New file. 2004-05-21 Jim Meyering <jim@meyering.net> * alloca.c, alloca_.h, fnmatch.c: Update from gnulib. * localcharset.c, regex.c: Likewise. 2004-05-20 Jim Meyering <jim@meyering.net> * obstack.c, obstack.h: Update from gnulib. 2004-05-16 Paul Eggert <eggert@cs.ucla.edu> * getline.c, getndelim2.c, getndelim2.h: Sync with gnulib. 2004-05-11 Jim Meyering <jim@meyering.net> Prior to this change, rm required read access to the current directory on most systems (ones with the fchdir function). * save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only fails, try write-only, and finally, resort to using xgetcwd. 2004-05-07 Jim Meyering <jim@meyering.net> Update from gnulib. * obstack.c (_): Define only if not already defined. * obstack.h (obstack_finish): Rename local: s/value/__value/. 2004-05-03 Jim Meyering <jim@meyering.net> * lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. 2004-05-01 Jim Meyering <jim@meyering.net> * chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]: Wrap old code with this conditional. [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown function that does not dereference symlinks. 2004-04-18 Paul Eggert <eggert@twinsun.com> * nanosleep.c (suspended): Change its type from int to sig_atomic_t volatile. (first_call): Make it private to rpl_nanosleep, and have it be zero initially as that's a bit faster. (my_usleep): Round up fractional times instead of truncating them, as this is the usual meaning for 'sleep'. 2004-04-20 Jim Meyering <jim@meyering.net> * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory. 2004-04-18 Jim Meyering <jim@meyering.net> * readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure, don't leak memory and do call END_UTMP_ENT. 2004-04-13 Jim Meyering <jim@meyering.net> * quotearg.c, quotearg.h: Remove trailing blanks. 2004-04-12 Jim Meyering <jim@meyering.net> * inttostr.h: Update from gnulib. 2004-03-27 Paul Eggert <eggert@twinsun.com> * utimecmp.c, utimecmp.h: New files. * Makefile.am (libfetish_a_SOURCES): Add utimecmp.c, utimecmp.h. 2004-04-09 Jim Meyering <jim@meyering.net> * stat-macros.h: New file, with contents from file-type.h and coreutils' system.h. * Makefile.am (libfetish_a_SOURCES): Add stat-macros.h. * file-type.c: Include "stat-macros.h". * file-type.h (file_type): Move all macro defiitions to new file, stat-macros.h. 2004-03-30 Paul Eggert <eggert@twinsun.com> * cloexec.c, cloexec.h, config.charset, file-type.c, file-type.h: * getloadavg.c, getndelim2.c, getusershell.c, group-member.c: * human.c, path-concat.c, printf-args.c, printf-args.h: * quotearg.c, quotearg.h, setenv.c, strdup.c: * userspec.c, userspec.h, vasprintf.c: Sync from gnulib. * allocsa.c, allocsa.h, strdup.h: New files, from gnulib. * Makefile.am (libfetish_a_SOURCES): Add allocsa.c, allocsa.h, and strdup.h. 2004-03-30 Jim Meyering <jim@meyering.net> * getloadavg.c: Merge changes from emacs (via gnulib). 2004-03-28 Paul Eggert <eggert@twinsun.com> Fix some gotchas encountered when porting to Solaris 8, using the Forte 6u2 compiler. * canonicalize.c [HAVE_UNISTD_H]: Include <unistd.h>, for resolvepath declaration. * fts.c: Include dirfd.h, for dirfd. 2004-02-25 Paul Eggert <eggert@twinsun.com> * human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE. 2004-03-23 Paul Eggert <eggert@twinsun.com> * readtokens0.c (readtokens0): Return true on success rather than on failure. All callers changed. This also happens to fix a portability bug on pre-C99 hosts, where (bool) INTEGER sometimes returns false even when INTEGER is nonzero. 2004-03-23 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add getopt_int.h. * getopt_int.h: New file, from gnulib. * getopt.c, getopt.h, getopt1.c: Sync from gnulib. * getopt.c, getopt.h: Remove space(s) before TAB. * mbswidth.c, mbswidth.h: Sync from gnulib. 2004-03-21 Jim Meyering <jim@meyering.net> * readtokens0.c, readtokens0.h: New files. * Makefile.am (libfetish_a_SOURCES): Add readtokens0.c and readtokens0.h * readtokens.c (readtoken): Don't leak 64 bytes when reading an empty input stream. * readtokens.c: Include <stdbool.h>. (readtoken): Use `size_t' rather than int/long. All callers adjusted. Use `bool' rather than `int' where appropriate. Use memset rather than an explicit loop. Use x2nrealloc rather than xrealloc. Allow the use of `\0' as a delimiter. (readtokens): Likewise. * readtokens.h (readtoken, readtokens): Update prototypes. 2004-02-29 Paul Eggert <eggert@twinsun.com> * getdate.h: Include stdbool.h, and timespec.h instead of the usual <time.h> dance. (get_date): Change signature to support fractional time stamps. All callers changed. * getdate.y: Include "getdate.h" first, as we can now assume C89 and don't need to worry about 'const'. Similarly, include "unlocked-io.h" near start, not in middle. Include <limits.h>. (textint.value): Use long int rather than int. (textint.digits): Use size_t rather than int. (BILLION, LOG10_BILLION): New constants. (parser_control): New member rel_ns. Members day_ordinal, time_zone, month, day, hour, minutes, rel_year, rel_month, rel_day, rel_hour, rel_minutes, rel_seconds are now long int, not int. Member seconds is now struct timespec, not int. New member timespec_seen. Members dates_seen, days_seen, local_zones_seen, rels_seen, times_seen, zones_seen are now size_t, not int. (%union.intval): Now long int, not int. New member timespec. (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens. (seconds, signed_seconds, unsigned_seconds): New nonterminals. (spec): Now is a timespec or an item list. (timespec, items): New nonterminals. (time, rel, relunit, number, get_date): Add support for fractional seconds. (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax. (gmtime, localtime, mktime): Remove decls; not needed with C89. (to_hour): First arg is now long int, not int. (to_year): Returns long int, not int. Don't treat year -70 like 70. (tm_diff): Returns long int, not int. (lookup_word): Use bool instead of int when appropriate. (yylex): Use size_t for count, not int. Detect overflow when parsing large integer constants. Add support for fractions. (get_date): Make pointers 'const' if possible. Use more-portable code to detect integer overflow. (main) [TEST]: Adjust to above changes. Test for localtime failure. Don't use ctime; it's not reliable if the year has >4 digits. 2004-03-15 Jim Meyering <jim@meyering.net> `date --date="21:04 +0100" +%S' would print the seconds value from the current time, rather than `00'. * getdate.y: For a date string like `10:23 +0100', set the number of seconds to zero. Reported by Marc Haber. 2004-03-04 Jim Meyering <jim@meyering.net> * cloexec.c (set_cloexec_flag) [ ! (F_GETFD && F_SETFD)]: Return true, not false. 2004-03-03 Paul Eggert <eggert@twinsun.com> * cloexec.c: Include "cloexec.h" first, and <unistd.h> before <fcntl.h>. (set_cloexec_flag): Use bool for booleans. All uses changed. If F_GETFD returns a negative number (not just -1), report a failure. Don't use F_SETFD if the flags are already right. Don't report a failure with F_SETFD unless it returns -1. * cloexec.h: Include <stdbool.h>. Adjust signature to use `bool' rather than `int'. * getloadavg.c (getloadavg): Use `true', not `1'. 2004-03-02 Dmitry V. Levin <ldv@altlinux.org> * cloexec.c: New file. The set_cloexec_flag implementation imported from GNU C Library Reference Manual. * cloexec.h: New file. * getloadavg.c: Include "cloexec.h". (getloadavg): Use set_cloexec_flag instead of manual fcntl call. * Makefile.am (libfetish_a_SOURCES): Add cloexec.c, cloexec.h. 2004-02-23 Paul Eggert <eggert@twinsun.com> * userspec.c: Don't include "posixver.h". (parse_user_spec): Fall back on USER.GROUP parsing, regardless of POSIX version, as POSIX 1003.1-2001 allows that behavior as a compatible extension. Simplify code by removing a boolean int that was always nonzero if a string was nonnull. 2004-02-05 Jim Meyering <jim@meyering.net> * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define. (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. From coreutils' system.h. 2004-01-29 Jim Meyering <jim@meyering.net> * mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. 2004-01-21 Paul Eggert <eggert@twinsun.com> * argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]: Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE. * argmatch.h: Comment fix to match the above. * long-options.c (parse_long_options): Use prototype for usage function arg. Pass it EXIT_SUCCESS rather than 0, for clarity. * obstack.c (obstack_exit_failure) [!defined _LIBC]: Now a macro referring to exit_failure, instead of a separate variable. Include "exitfail.h" to get it. * xstrtol.h: Include "exitfail.h". (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2. 2004-01-21 Jim Meyering <jim@meyering.net> * mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal so as not to conflict with a different-sized __mktime_internal function in GNU libc. 2004-01-16 Jim Meyering <jim@meyering.net> Merge from gnulib. * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, rather than HAVE_GETC_UNLOCKED. 2003-10-08 Paul Eggert <eggert@twinsun.com> Merge from gnulib. * unlocked-io.h: Include <stdio.h>, so that the caller doesn't have to include <stdio.h> before us. (clearerr_unlocked, feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked): Define to the unlocked counterpart if not declared, so that we can use getpass.c code from libc without rewriting it. (flockfile, ftrylockfile, funlockfile): New macros. 2004-01-14 Paul Eggert <eggert@twinsun.com> Merge from gnulib. * fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided with like-named macro in fnmatch.c. (EXT): Use an internal constant instead. Merge fnmatch patches from glibc. * fnmatch.c (mbsinit): Remove define. Add libc_hidden_ver (__fnmatch, fnmatch). * fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. 2003-11-24 Paul Eggert <eggert@twinsun.com> Merge from gnulib. * alloca.c: Remove dependency on xalloc module. (xalloc_die): Remove. (memory_full) [!defined emacs]: New macro. [!defined emacs]: Don't include xalloc.h. (alloca): Invoke memory_full, not xalloc_die, if malloc fails or address arithmetic overflows. Change datatypes a bit to avoid unnecessary casts. 2004-01-14 Paul Eggert <eggert@twinsun.com> * posixver.c: Include posixver.h. 2004-01-12 Jim Meyering <jim@meyering.net> * posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, optional configure-time default. 2004-01-10 Jim Meyering <jim@meyering.net> * version-etc.c (version_etc_copyright): Update copyright date. 2003-12-20 Jim Meyering <jim@meyering.net> * fts.c [!_LIBC]: Undefine, then define-away __P. 2003-12-19 Jim Meyering <jim@meyering.net> Rewrite fts to use a hash table or O(1)-mem cycle-detection code rather than the tree-based tsearch functions. * fts_.h: Include hash.h and cycle-check.h. (FTS_TIGHT_CYCLE_CHECK): New value. (FTS_OPTIONMASK): Adjust to include the new value. (FTS_NAMEONLY, FTS_STOP): Increase to allow room for new value. (struct FTS) [active_dir_ht]: New member. Replaces fts_dir_signatures. (struct FTS) [cycle_state]: New member. * fts.c: Don't include <search.h>. [HAVE_INTTYPES_H]: Include <inttypes.h>. (tdestroy, tfind, tsearch): Remove definitions. (struct Active_dir): Rename from `known_object'. (AD_compare, AD_hash): New functions. (enter_dir, leave_dir): Rewrite to manipulate a hash table rather than a tree. (fts_open): Initialize hash table or cycle_state buffer. (free_node): Remove function. (find_matching_ancestor): Renamed/rewritten from look_up_active_dir. (fts_cross_check): Adapt to use new data structure. * Makefile.am (libfetish_a_SOURCES): Remove search_.h. (DISTCLEANFILES): Remove definition. 2003-12-18 Jim Meyering <jim@meyering.net> Rewrite cycle detection code to work properly. Add some framework (compiled out by default) to test it. * fts.c (Dprintf, ENTER_DIR, LEAVE_DIR): Define. (add_object): Remove function. Rewritten as... (enter_dir): New function. (leave_dir, free_node): New functions. (fts_read): Ensure that we call ENTER_DIR or LEAVE_DIR, as appropriate, before returning. (look_up_active_dir, fts_cross_check) [FTS_DEBUG]: New functions. (fts_stat): Don't perform the cycle check here. Now it's done via enter_dir. 2003-12-12 Jim Meyering <jim@meyering.net> * fts_.h (FTS) [fts_dir_signatures]: Add comment. 2003-12-03 Paul Eggert <eggert@twinsun.com> * getgroups.c (getgroups): xmalloc takes one argument, not two. Bug reported by Alfred M. Szmidt. 2003-12-02 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Reflect sha -> sha1 renaming. * sha1.c: File renamed from sha.c. * sha1.h: File renamed from sha.h. Use SHA1_H, not _SHA_H in #ifndef condition. * sha.c: Add FSF Copyright. * sha.h: Correct stale references to MD5 and `16 bytes'. Patch by Ulrich Drepper. * sha.h: Add FSF Copyright. Remove reference to Scott Miller, since this file is now nearly identical to md5.h. * md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These days, gcc-3.x does better all by itself. Patch from Dean Gaudet: http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html 2003-11-29 Jim Meyering <jim@meyering.net> * c-strtod.c (c_strtod): Save and restore original LC_NUMERIC setting, in case it was different from the environment-derived value. Patch by Paul Eggert. Include "xalloc.h" for declaration of xstrdup. 2003-11-24 Paul Eggert <eggert@twinsun.com> Parse floating-point operands and options in the C locale. POSIX requires this for printf, and we might as well be consistent elsewhere (tail, sleep, seq). * Makefile.am (libfetish_a_SOURCES): Add c-strtod.c, c-strtod.h. * c-strtod.c, c-strtod.h: New files. * xstrtod.h (xstrtod): Accept an extra arg, specifying the conversion function. * xstrtod.c (xstrtod): Likewise. All callers changed to include c-strtod.h and use c_strtod. Don't include stdlib.h; no longer needed. * xnanosleep.c: Don't include xstrtod.h; it's not needed. 2003-11-22 Jim Meyering <jim@meyering.net> * xmalloc.c (x2nrealloc_inline): Fix typos in comments: s/size/size_t/. 2003-11-21 Jim Meyering <jim@meyering.net> * xreadlink.c (xreadlink): Correct outdated comment. 2003-11-17 Jim Meyering <jim@meyering.net> On systems without utime and without a utimes function capable of dealing with a NULL struct utimbuf* argument, this utime replacement could -- in unusual circumstances -- leak a file descriptor. * utime.c: Include <unistd.h> and <errno.h>. (utime_null): Be sure to close `fd' and to preserve errno. Reported by Geoff Collyer via Arnold Robbins. 2003-11-13 Jim Meyering <jim@meyering.net> * xalloc.h, xstrtol.c: Update from gnulib. 2003-11-11 Jim Meyering <jim@meyering.net> * ftw.c, ftw_.h: Remove files. No longer used. 2003-11-09 Jim Meyering <jim@meyering.net> * root-dev-ino.c, root-dev-ino.h: New files. * Makefile.am (libfetish_a_SOURCES): Add root-dev-ino.c root-dev-ino.h. * dev-ino.h: Include <sys/types.h> and <sys/stat.h>. 2003-11-06 Jim Meyering <jim@meyering.net> * free.c: New file, from gnulib. 2003-10-31 Paul Eggert <eggert@twinsun.com> * mountlist.h (struct mount_entry.me_type_malloced): New member. * mountlist.c (SIZE_MAX): Define if not defined already. (read_filesystem_list): Set and use me_type_malloced. Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or whatever the type happens to be), for brevity and consistency. Check for size calculation overflow on Alphas running OSF/1. 2003-10-31 Jim Meyering <jim@meyering.net> * hash.c: Include "xalloc.h" for use of xalloc_oversized. * linebuffer.c: Include <string.h> for declaration of memset. * alloca.c, linebuffer.c, xmalloc.c, xalloc.h: Update from gnulib. * exclude.c, getgroups.c, quotearg.c, stdbool_.h: Update from gnulib. * hash.c, hash-pjw.h: Update from gnulib. 2003-10-25 Jim Meyering <jim@meyering.net> * hash.c, hash.h: Update from gnulib. * hash-pjw.c, hash-pjw.h: Likewise. * obstack.c, obstack.h: Likewise. 2003-10-25 Jim Meyering <meyering@lucent.com> * fts_.h: Include <features.h> only if _LIBC. [!_LIBC]: Define-away __THROW, __BEGIN_DECLS, __END_DECLS. 2003-10-19 Jim Meyering <jim@meyering.net> * vasnprintf.c (vasnprintf): Work around losing snprintf on e.g. HPUX 10.20. 2003-09-25 Jim Meyering <jim@meyering.net> Bruno Haible <bruno@clisp.org> [Update from gnulib] This lets translators provide better translations for the "Written by ..." part of --version output. * version-etc.h: Include stdarg.h. (version_etc_copyright): Declare as readonly. (version_etc): Make this function variadic with a NULL-terminated list of author name strings. (version_etc_va): New declaration. * version-etc.c: Include stdarg.h, stdlib.h. (version_etc_copyright): Declare as readonly. (version_etc_va): New function. Provide a different translatable string for each possible number of authors < 10. Abbreviate when there are 10 authors or more. (version_etc): Make this function variadic. Call version_etc_va. Suggestion from Gary V. Vaughan. * long-options.h (parse_long_options): Change prototype: the authors string is moved to the end and becomes variadic. * long-options.c: Include stdarg.h. (parse_long_options): Make this function variadic, too. Call version_etc_va, not version_etc. 2003-10-17 Jim Meyering <jim@meyering.net> * xfts.c, xfts.h: New files. This factors out code used by du.c, chmod.c, and chown-core.c. * Makefile.am (libfetish_a_SOURCES): Add xfts.c and xfts.h. * error.h: Update from gnulib. * getpass.c: Likewise. * fnmatch.c: Likewise. * fnmatch_loop.c: Likewise. 2003-10-16 Jim Meyering <jim@meyering.net> * xmalloc.c: Include <string.h>, for declarations of memset and memcpy. * getgroups.c: Update from gnulib. * readutmp.c: Fix indentation, from gnulib. * exclude.c: Update from gnulib. * xgethostname.c: Include xgethostname.h. * xgethostname.h: New file, from gnulib. * Makefile.am (libfetish_a_SOURCES): Add xgethostname.h. 2003-10-15 Jim Meyering <jim@meyering.net> * userspec.h: New file. * userspec.c: Include "userspec.h". * Makefile.am (libfetish_a_SOURCES): Add userspec.h. 2003-10-14 Paul Eggert <eggert@twinsun.com> Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't properly diagnosed. * human.c, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoul.c, xstrtoumax.c: Sync with gnulib. 2003-10-13 Paul Eggert <eggert@twinsun.com> * xalloc.h, xmalloc.c, xstrdup.c: Import latest version from gnulib. 2003-09-29 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. 2003-10-02 Jim Meyering <jim@meyering.net> Don't require that the maximum length of a file name encountered in a traversal fit in an `unsigned short', and fix some portability bugs (don't depend on gcc). * fts.c: Include "fts_.h", not <fts.h>. (ALIGNBYTES) [!(__GNUC__ >= 2)]: Add a definition that works with compilers that don't have __alignof__. (MAX): Use a definition that doesn't depend on gcc. (fts_build): Make `len' and `maxlen' be of type size_t, not int. Test for overflow in a less type-dependent manner. Test HAVE_STRUCT_DIRENT_D_TYPE, rather than defined DT_DIR && defined _DIRENT_HAVE_D_TYPE. (fts_palloc): Test for overflow in a less type-dependent manner. (fts_safe_changedir): Use stat, not stat64. Use fstat, not __fxstat64(_STAT_VER. * fts_.h [FTS] (fts_pathlen): Change type from int to size_t. [FTSENT] (fts_pathlen): Change type from u_short to size_t. (fts_level): Change type from u_short to int. * Makefile.am (libfetish_a_SOURCES): Add fts.c fts_.h. Remove ftw_.h. 2003-09-29 Paul Eggert <eggert@twinsun.com> * strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: Fix arg typo in previous patch. 2003-09-28 Jim Meyering <jim@meyering.net> * error.c: Update from gnulib. 2003-09-19 Jim Meyering <jim@meyering.net> * version-etc.h: (version_etc): Rename parameter, authors, to written_by. * version-etc.c: (version_etc): Likewise. Combine fprintf and following putc('\n'. * version-etc.c, version-etc.h: Revert yesterday's changes. * long-options.c, long-options.h: Likewise. 2003-09-18 Jim Meyering <jim@meyering.net> This lets translators provide better translations for the `Written by ...' part of --version output. * version-etc.c: Include stdarg.h, stdlib.h, string.h, and xalloc.h. (version_etc): Make this function variadic, with a NULL-terminated list of author name strings. (version_etc_va): New function. Suggestion from Gary V. Vaughan. * version-etc.h (version_etc_va): Declare it. * long-options.c: Include stdarg.h. (parse_long_options): Make this function variadic (authors), too. Call version_etc_va, not version_etc. * long-options.h (parse_long_options): Update prototype. 2003-09-16 Paul Eggert <eggert@twinsun.com> * linebuffer.c (readlinebuffer): Return NULL immediately upon input error, instead of returning NULL the next time we are called (and therefore losing track of errno). 2003-09-15 Paul Eggert <eggert@twinsun.com> * getndelim2.c (getndelim2): Don't trash errno when a read fails, so that the caller gets the proper errno. * readutmp.c (read_utmp): Likewise. Check for fstat error. Close stream and free storage when failing. 2003-09-14 Jim Meyering <jim@meyering.net> * argmatch.c: Update from gnulib. * Makefile.am (libfetish_a_SOURCES): Add exit.h, strndup.h, time_r.c, time_r.h. 2003-09-13 Jim Meyering <jim@meyering.net> * setenv.c, strcspn.c, strdup.c, strndup.c, strnlen.c, strpbrk.c: * strstr.c, strtod.c, strtoimax.c, tempname.c, unicodeio.c, userspec.c: * vasprintf.h, xgethostname.c, xreadlink.c, xstrdup.c, xstrndup.c: * xstrndup.h, xstrtod.c, xstrtol.c, yesno.c: Update from gnulib. * strndup.h: New file, from gnulib. * exit.h: New file, from GNU gettext, via gnulib. 2003-09-06 Paul Eggert <eggert@twinsun.com> * time_r.c, time_r.h: New files. * mktime.c (my_mktime_localtime_r): Remove; all uses changed to __localtime_r. (__localtime_r) [!defined _LIBC]: New macro. Include <time_r.h>. (__mktime_internal) [!defined _LIBC]: Now extern, not static. * strftime.c (my_strftime_gmtime_r): Remove; all uses changed to __gmtime_r. (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. Include <time_r.h>. 2003-09-13 Jim Meyering <jim@meyering.net> * strtol.c: Update from gnulib. 2003-09-12 Paul Eggert <eggert@twinsun.com> * argmatch.c, xgethostname.c, xmalloc.c: Include exit.h. * obstack.c [!defined _LIBC]: Likewise. * argmatch.c (EXIT_FAILURE): Remove; now done by exit.h * exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise. * exitfail.c: Don't include stdlib.h; no longer needed. 2003-09-12 Paul Eggert <eggert@twinsun.com> * error.c (error_tail): Assume vprintf. 2003-09-09 Paul Eggert <eggert@twinsun.com> More K&R removal. * getloadavg.c (getloadavg, main): Define via prototypes. * getopt.h (struct option.name): Assume C89, and use 'const'. (getopt, etopt_long, getopt_long_only, _getopt_internal) [defined __GNU_LIBRARY__]: Assume C89, so we can always declare with a prototype. * getopt.c (const): Remove macro. Include <string.h> unconditionally. (my_index): Remove; all uses changed to strchr. (strlen): Remove decl. (exchange): Remove forward decl; no longer needed. (exchange, _getopt_initialize, _getopt_internal, getopt, main): Define with prototype. * getopt1.c (const): Remove macro. (getopt_long, getopt_long_only, main): Define with prototype. * getugroups.c: Include <string.h> unconditionally. * getusershell.c: Include <stdlib.h> unconditionally. (getusershell, setusershell, endusershell, readname, main): Define with prototypes. * group-member.c: Include group-member.h first. Include <stdlib.h> unconditionally. * hard-locale.c: Include hard-locale.h first. Include <stdlib.h>, <string.h> unconditionally. * hash.c (free, malloc): Remove decls. Include <stdlib.h> unconditionally. * human.c: Include <stdlib.h>, <string.h> unconditionally. (getenv): Do not declare. * idcache.c: Include <string.h> unconditionally. * long-options.c: Include long-options.h first, to test interface. Include <stdlib.h> unconditionally. * makepath.c: Include makepath.h first, to test interface. Include <stdlib.h> and <string.h> unconditionally. * linebuffer.c: Include <stdlib.h>. (free): Remove decl. * malloc.c: Include <stdlib.h>, for malloc; don't bother with stddef.h. rpl_malloc returns void *, not char *. * realloc.c (rpl_realloc): Likewise. Also, define with a prototype. * md5.h: Include <limits.h> unconditionally. (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. (__P): Remove; all uses removed. * md5.c: Include "md5.h" first. (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, md5_buffer, md5_process_bytes, md5_process_block): Define with prototypes. * sha.h (__P): Remove all uses. (It wasn't defined??) * sha.c: Include "sha.h" first. Include <stdlib.h>, <string.h> unconditionally. * memchr.c (__ptr_t): Remove; all uses changed to void *. * memcmp.c (__ptr_t): Likewise. * memrchr.c (__ptr_t): Likewise. * memchr.c, memcmp.c, memcoll.c, memrchr.c: Include <string.h> unconditionally. * memchr.c, memrchr.c: Include <limits.h> unconditionally. * memchr.c: Include <stdlib.h> unconditionally. * memchr.c (LONG_MAX): Remove. * memrchr.c (LONG_MAX): Likewise. * memchr.c (__memchr): Define via a prototype. * memrchr.c (__memrchr): Likewise. * memcmp.c (__P): Remove, and remove all uses. (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): Remove forward decls; no longer needed. * memcpy.c, memmove.c, memset.c: Include <stddef.h>. Use types required by C89 in prototype. * mkdir.c: Include <stdlib.h>, <string.h> unconditionally. * savedir.c: Likewise. * mkdir.c (free): Remove decl. * rmdir.c (rmdir): Define with a prototype. * savedir.c: Include savedir.h first, to test interface. * mktime.c (STDC_HEADERS): Remove. Include <stdlib.h>, <string.h> unconditionally. * modechange.c: Include <stdlib.h> unconditionally. (malloc): Remove decl. * mountlist.c: Include <stdlib.h>, <string.h> unconditionally. (free): Remove decl. * obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. (This type really should be intptr_t, but that's a C99ism.) (_obstack_memcpy): Remove: all uses changed to memcpy. Include <string.h> unconditionally. (struct obstack): Assume __STDC__ for types of members chunkfun, freefun, extra_arg. (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, obstack_begin, obstack_specify_allocation, obstack_specify_allocation_with_arg, obstack_chunkfun, obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: Remove unprototyped decls and the macros that use them. * obstack.c (POINTER): Remove. All uses changed to void *. (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, _obstack_begin, _obstack_begin_1, _obstack_allocated_p) (defined __STDC__ && __STDC__)]: Remove nonprototyped code. Include <stdlib.h> unconditionally. (_obstack_begin, _obstack_begin_1, _obstack_newchunk, _obstack_allocated_p, _obstack_free, obstack_free, _obstack_memory_used, print_and_abort): Define using prototypes. (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, obstack_next_free, obstack_object_size, obstack_room) [0]: Remove unused, unprototyped code. * path-concat.c: Include <stdlib.h>, <string.h> unconditionally. * physmem.c (physmem_total, physmem_available, main): Define with prototypes. * posixtm.c: Include <stdlib.h>, <string.h> unconditionally. (main): Define with a prototype. * posixver.c (getenv): Remove decl. * putenv.c (malloc): Returns void *, not char *. Include <string.h> unconditionally. (strchr, memcpy, NULL): Do not define. * readtokens.c: Include readtokens.h first, to test interface. Include <stdlib.h>, <string.h> unconditionally. (init_tokenbuffer): Define with a prototype. * regex.c (PARAMS): Remove. All uses removed. All uses of _RE_ARGS removed, too. Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h> unconditionally. (bzero): Assume memset exists. (memcmp, memcpy, NULL): Remove. (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed char, or assignments to local vars of type signed char. (init_syntax_once, PREFIX(extract_number_and_incr), PREFIX(print_partial_compiled_pattern), PREFIX(print_compiled_pattern), PREFIX(print_double_string), convert_mbs_to_wcs, print_fastmap, re_set_syntax, PREFIX(regex_grow_registers), PREFIX(regex_compile), PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1), PREFIX(insert_op2), PREFIX(at_begline_loc_p), PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space, wcs_compile_range, byte_compile_range, truncate_wchar, PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers, re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2, count_mbs_length, wcs_re_match_2_internal, byte_re_match_2_internal, PREFIX(group_match_null_string_p), PREFIX(alt_match_null_string_p), PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate), re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror, regfree, PREFIX(extract_number)): Define with prototype. Remove now-unnecessary declaration, if any. (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec, regcomp, regexec): Remove now-unnecessary casts among pointer types. * regex.h (_RE_ARGS): Remove. All uses removed. * rename.c: Include <stdlib.h>, <string.h> unconditionally. (free): Remove decl. * rpmatch.c: Include <stdlib.h> unconditionally. * save-cwd.c: Include <stdlib.h> unconditionally. * xgetcwd.c: Likewise. * stat.c: Include <stdlib.h>, <string.h> unconditionally. (free): Remove decl. The following changes are not K&R related: * group-member.h: Include <sys/types.h>, so that this file is self-contained. * makepath.h: Likewise. * getusershell.c (readname, default_index, line_size, readname): Use size_t, not int, for sizes. (readname): If the size overflows, report an error instead of looping forever. 2003-09-09 Derek Robert Price <derek@ximbiot.com> * getndelim2.c: Assume stdlib.h per the C89 spec. 2003-09-08 Paul Eggert <eggert@twinsun.com> Assume C89 or better; remove K&R cruft. A few of these changes were first proposed by Derek Robert Price in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>. * addext.c: Include <string.h> unconditionally. * backupfile.c: Include <string.h>, <stdlib.h> unconditionally. Don't declare getenv or malloc. * alloca.c: Include <string.h>, <stdlib.h> unconditionally. (POINTER_TYPE, pointer): Remove; all uses changed to void *. (NULL): Remove. (find_stack_direction, alloca): Use prototypes. * atexit.c (atexit): Define using a prototype. * basename.c, dirname.c, stripslash.c: Include <string.h> unconditionally. * bcopy.c: Include <stddef.h>. (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. * canon-host.c: Include <stdlib.h>, <string.h> unconditionally. * error.h (error, error_at_line, error_print_progname) [! (defined (__STDC__) && __STDC__)]: Remove decls. * error.c: Include error.h first, to check interface. Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally. (VA_START): Remove; all uses changeed to va_start. (exit, strerror): Remove decls. (error_print_progname): Prototype uncondionally. Don't include <errno.h>; no longer needed. (private_strerror): Remove. (error_tail): Always define. (error, error_at_line): Assume C89 or better; always use prototypes. * euidaccess.c (main): Define with a prototype. * exclude.c: Include <stdlib.h>, <string.h> unconditionally. * exitfail.c: Include <stdlib.h> unconditionally. * fnmatch_.h (__P): Remove. All uses changed to assume prototypes. * fnmatch.c: Include fnmatch.h first, to test interface. Include <string.h>, <stddef.h>, <stdlib.h> unconditionally. (getenv): Remove decl. (fnmatch): Define using a prototype. * fnmatch_loop.c (FCT): Remove forward decl; no longer needed. (FCT): Define using a prototype. * getdate.y: Include <stdlib.h>, <string.h> unconditionally. * gethostname.c: Include <stddef.h>. (gethostname): Define with prototype. Length is size_t, not int. 2003-09-08 Paul Eggert <eggert@twinsun.com> * utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>. (utime_null): Fix typo: 'st' was sometimes called 'sb'. 2003-09-09 Jim Meyering <jim@meyering.net> * getversion.c: Remove unused file. Reported by Paul Eggert. 2003-09-03 Paul Eggert <eggert@twinsun.com> * human.c (human_readable): Fix bug that rounded 10501 to 10k. Bug reported by Lute Kamstra in <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>. * getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of course with correspondingly smaller numbers for tomorrow and yesterday. From Tadayoshi Funaba. Originally installed into sh-utils on 1999-08-07, but the patch was mistakenly reverted by the next change to that shared file (but this time in fileutils) on 1999-08-29. 2003-08-18 Paul Eggert <eggert@twinsun.com> * same.c: Include <stdlib.h> and <string.h> unconditionally, as we're now assuming that part of hosted C89. (free) [!HAVE_DECL_FREE]: Remove decl; no longer needed. (same_name): Invoke pathconf on destination, not source, as that's a bit clearer even if they are the same dir. 2003-08-18 Jim Meyering <jim@meyering.net> * getopt.h: Remove space before TAB. 2003-08-17 Paul Eggert <eggert@twinsun.com> * same.c: Include <stdbool.h>, <limits.h>. (_POSIX_NAME_MAX): Define if not defined. (MIN): New macro. (same_name): If file names are silently truncated, report that the file names are the same if they are the same after the silent truncation. 2003-08-16 Paul Eggert <eggert@twinsun.com> Merge from gnulib. * Makefile.am (libfetish_a_SOURCES): Remove getndelim2.c, getndelim2.h, xstrtoimax.c. Add localcharset.h. (CLEANFILES, SUFFIXES): Initialize to empty. (EXTRA_DIST): Add getndelim2.c, getndelim2.h. (install-exec-local): Use $(GLIBC21), not @GLIBC21@. Do not mkdir libdir if not glibc21. (charset.alias): @host@ -> $(host). (SUFFIXES, .sin.sed, CLEANFILES): Reorder rules to match gnulib module suggestions. * localcharset.h, readlink.c: New files, from gnulib. * asnprintf.c, asnprintf.c, asprintf.c, backupfile.h, canon-host.c, config.charset, dirname.h, euidaccess.c, exclude.c, fsusage.h, full-write.c, getloadavg.c, getndelim2.h, gettext.h, group-member.h, hard-locale.h, hash.c, hash.h, hash-pjw.c, localcharset.c, long-options.h, makepath.h, malloc.c, mbswidth.c, mbswidth.h, md5.h, memcasecmp.c, memcasecmp.h, memcoll.h, mkstemp.c, modechange.h, mountlist.h, path-concat.h, pathmax.h, physmem.h, posixtm.h, printf-args.c, printf-args.h, printf-parse.c, printf-parse.h, putenv.c, quote.h, readutmp.h, ref-add.sin, ref-del.sin, safe-read.c, savedir.h, setenv.c, setenv.h, stdbool_.h, strnlen.c, strpbrk.c, strtoimax.c, strverscmp.h, tempname.c, unicodeio.c, unicodeio.h, unistd-safer.h, unlocked-io.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h, version-etc.h, xgethostname.c, xmemcoll.c, xstrtoimax.c, xstrtoumax.c: Sync with gnulib. 2003-08-15 Paul Eggert <eggert@twinsun.com> * physmem.c: Include "physmem.h" before system includes. 2003-08-10 Jim Meyering <jim@meyering.net> * utimens.c (utimens): Revert most of last change. Test HAVE_WORKING_UTIMES instead of HAVE_UTIMES. 2003-08-09 Jim Meyering <jim@meyering.net> * utimens.c (utimens): Test HAVE_UTIME, not HAVE_UTIMES. Prefer utime, since it works and utimes doesn't on some systems. FIXME: Revert the above change once we have a working utimes replacement function. 2003-08-06 Paul Eggert <eggert@twinsun.com> * Makefile.am (libeftish_a_SOURCES): Add utimens.c, utimens.h. * utimens.c, utimens.h: New files. 2003-08-09 Jim Meyering <jim@meyering.net> * unicodeio.c (unicode_to_mb): Change to `Solaris 5.7' in comment. * putenv.c: Likewise. * fatal.c, fatal.h: Remove unused files. * Makefile.am: Use the e.g., `$(FNMATCH_H)' notation for AC_SUBST'd variable names, rather than @FNMATCH_H@. Likewise for $(ALLOCA_H). (fnmatch.h): Use `$@' in the commands, in place of the three copies of the literal target, `fnmatch.h'. (alloca.h): Likewise. 2003-08-08 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Remove fnmatch_.h. (lib_OBJECTS): New macro, for convenience when cutting and pasting Makefile.am templates from gnulib. (EXTRA_DIST): Remove fnmatch_loop.c. (BUILT_SOURCES): Append $(FNMATCH_H). * Makefile.am: Import the following changes from gnulib templates for alloca and fnmatch): (all-local $(lib_OBJECTS)): New dependencies. (alloca.h): Use alloca.h-t for temporary. (EXTRA_DIST): Append fnmatch_.h, fnmatch_loop.c. (fnmatch.h): New rule. (MOSTLYCLEANFILES): Add fnmatch.h, fnmatch.h-t. (DISTCLEANFILES): Remove fnmatch.h 2003-08-08 Jim Meyering <jim@meyering.net> * mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]: Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could hang on OSF/1 5.1 for DIR on both local and remote file systems. Reported by (and fix confirmed by) Nelson H. F. Beebe. 2003-08-07 Jim Meyering <jim@meyering.net> * regex.h (RE_SYNTAX_POSIX_AWK): Remove SPACE in SPACE-TAB sequence. 2003-08-05 Paul Eggert <eggert@twinsun.com> Merge getline from gnulib. * getline.h, getline.c: Merge from gnulib. * getndelim2.h, getndelim2.c: New files, from gnulib. * getdelim2.c, getdelim2.h: Remove. * Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and getdelim2.h to getndelim2.c and getndelim2.h. 2003-08-04 Paul Eggert <eggert@twinsun.com> * regex.c, regex.h: Sync with gnulib. 2003-08-03 Paul Eggert <eggert@twinsun.com> * stdbool_.h (_Bool): Use a #define, not a typedef. 2003-07-31 Paul Eggert <eggert@twinsun.com> * bumpalloc.h: Remove. * Makefile.am (libfetish_a_SOURCES): Remove bumpalloc.h. 2003-07-28 Jim Meyering <jim@meyering.net> * stdbool_.h: Renamed from stdbool.hin. * Makefile.am: Reflect renaming: stdbool.hin -> stdbool_.h. * stdbool.hin: Remove file. 2003-07-28 Paul Eggert <eggert@twinsun.com> * stdbool.hin (_Bool): Make it signed char, instead of an enum type, so that it's guaranteed to promote to int. 2003-07-23 Jim Meyering <jim@meyering.net> * xstrndup.h: New file. * xstrndup.c: New file, factored out of dircolors.c from coreutils. * Makefile.am (libfetish_a_SOURCES): Add xstrndup.c and xstrndup.h. 2003-07-23 Jim Meyering <jim@meyering.net> * lstat.c, save-cwd.c, stat.c, utime.c, xgethostname.c: Normalize naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4, Solaris5.9 -> Solaris 9. From Paul Eggert. 2003-07-22 Paul Eggert <eggert@twinsun.com> * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and over-parenthesization in macros. 2003-07-18 Paul Eggert <eggert@twinsun.com> * closeout.h (close_stdout_set_status, close_stdout_status): Remove. * closeout.c: Likewise. Include "closeout.h" right after config.h, to test that it can stand by itself. Include "exitfail.h". Clients should set exit_failure instead. (EXIT_FAILURE): Remove; no longer needed. Do not include <stdlib.h>. 2003-07-18 Andreas Schwab <schwab@suse.de> * memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. 2003-07-17 Paul Eggert <eggert@twinsun.com> * xalloca.h, xmalloc.c, xmemcoll.c, xmemcoll.h: Merge with gnulib. Use a single exit_failure variable rather than a separate one for each module. 2003-07-16 Jim Meyering <jim@meyering.net> * Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-14 Jim Meyering <jim@meyering.net> * save-cwd.h: Add copyright. 2003-07-13 Jim Meyering <jim@meyering.net> * xgethostname.c: Include <stdlib.h> for declaration of free. (xgethostname): Return NULL, rather than exiting, upon any non-malloc/realloc error. 2003-07-12 Jim Meyering <jim@meyering.net> * Makefile.am (BUILT_SOURCES): Use `BUILT_SOURCES += $(STDBOOL_H)' rather than `all-local: $(STDBOOL_H)'. The latter didn't force creation of stdbool.h before most other targets. Likewise for $(ALLOCA_H). Don't emit diagnostics. Let callers do that. * save-cwd.c: Don't include "error.h". (save_cwd): Don't call error. Ensure that errno is valid when returning nonzero. * obstack.h: Update from gnulib. * makepath.c (make_path): Enclose diagnostic in _(...). 2003-07-10 Jim Meyering <jim@meyering.net> * userspec.c: Include "posixver.h". (parse_user_spec): Accept `.' as a separator only in pre-POSIX-200112 mode. * Makefile.am (libfetish_a_SOURCES): Add these: printf-args.h, printf-parse.h, vasprintf.h, vasnprintf.h. Now that a program (`who') uses asprintf, we need all of these: * asnprintf.c, asprintf.c, printf-args.c, printf-args.h, printf-parse.c: * printf-parse.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h: New files, from gnulib. * alloca_.h, getpass.c, memrchr.c, obstack.h, posixver.c, strftime.c, strnlen.c, strverscmp.c: Switch from LGPL to GPL. 2003-07-09 Jim Meyering <jim@meyering.net> * mktime.c: Update from gnulib. FIXME: but still need to adjust m4/mktime.c so that this fixed version is used when needed. Fix the bug that would make `du /' omit the `/' on the last line. E.g., `du --exclude '[^/]*' -x /' would print only "4\t\n" for me. * ftw.c (ftw_dir): Don't clobber the leading `/'. Reported by Chris Lesniewski as http://bugs.debian.org/200542. 2003-07-04 Jim Meyering <jim@meyering.net> Update from gnulib. * xreadlink.c: Include <sys/types.h> unconditionally, instead of having it depend on HAVE_SYS_TYPES_H. 2003-06-18 Jim Meyering <jim@meyering.net> * inttostr.h (PARAMS): Remove. All uses removed. Merge in change from gnulib. * makepath.c: Remove block of alloca-related code in favor of an unconditional `#include <alloca.h>'. * xalloc.h: Include <stddef.h>. Remove unnecessary parentheses. Use `1990-2000' notation in Copyright line until Emacs' copyright-update function learns how to handle a comma-separated list of years that spans a line boundary. * Makefile.am (libfetish_a_SOURCES): Add getdelim2.c and getdelim2.h. * getline.c (getdelim2): Move this function into its own file. * getdelim2.c: Extracted from getline.c. * linebuffer.c, linebuffer.h: Update from gnulib. * getdelim2.c, getdelim2.h: New files. * getstr.c, getstr.h: Remove files. * same.h: Update from gnulib. * xstrtol.h: Update from gnulib. 2003-06-17 Paul Eggert <eggert@twinsun.com> Assume C89, so PARAMS isn't needed. * backupfile.h (PARAMS): Remove. All uses removed. * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h, group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h, makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h, path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h, save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h, unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h, xstrtol.h: Likewise. * filemode.h, hard-locale.h, memcoll.h, modechange.h, physmem.h, same.h, * strverscmp.h: Do not include config.h; no longer needed. Anyway, config.h should always be included before any other file. 2003-06-17 Jim Meyering <jim@meyering.net> * getline.c: Update from gnulib. Merge in changes from gnulib. * hash.c: Include <stdbool.h> unconditionally. Include <limits.h>. (CHAR_BIT): Don't define. 2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * acl.c: Include <sys/types.h> before <sys/stat.h>. Required on Ultrix 4.3. 2003-05-20 Derek Price <derek@ximbiot.com> * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary. 2003-06-10 Jim Meyering <jim@meyering.net> * getdate.y: Also accept dates of the form May-23-2003. Suggestion from Karl Berry. 2003-06-09 Jim Meyering <jim@meyering.net> * gettimeofday.c: Also undefine gmtime. (rpl_gmtime): New function. Suggestion from Paul Eggert. 2003-06-08 Jim Meyering <jim@meyering.net> * getline.h: Update from gnulib. Clean up, as part of merge with emacs version of strftime.c. * strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: Remove function, now that we can rely on a working tzset function. [!_LIBC]: Ensure that the required autoconf test has been run. * gettimeofday.c: Also undef tzset. (rpl_tzset): New function, for use by new macro, gl_FUNC_TZSET_CLOBBER. 2003-06-07 Jim Meyering <jim@meyering.net> * readtokens.h: Add copyright notice. Include <stdio.h>. Remove definition and uses of __P. * readtokens.c: Put `Free Software Foundation, Inc.' in place of my name in the copyright comment. (init_tokenbuffer): Remove unnecessary parentheses around malloc. Update from gnulib. * getdate.y: Include alloca.h unconditionally. * xmemcoll.h: Include <stddef.h>. * Makefile.am (MOSTLYCLEANFILES): Add alloca.h and alloca.ht. (MOSTLYCLEANFILES): Add stdbool.ht. * human.c: Include <stdio.h>, once again, for declaration of sprintf. Update from gnulib. * tempname.c: Include <stddef.h> unconditionally. Include <inttypes.h> as an alternative to <stdint.h>. * strtoimax.c: Include <stdint.h> as an alternative to <inttypes.h>. * xstrtol.h: Likewise. * xstrtoimax.c: Likewise. * xstrtoumax.c: Likewise. Update from gnulib. * strcasecmp.c: Include <stddef.h>, not <sys/types.h>. * savedir.c: Include <stddef.h>. (NULL): Don't define, since <stddef.h> does that. 2003-06-06 Jim Meyering <jim@meyering.net> Update from gnulib. * rpmatch.c: Include <limits.h> without checking for HAVE_LIMITS_H. Include <stddefs.h> unconditionally. (NULL): Don't define, since <stddef.h> does that. * rename.c: #undef rename before defining rpl_rename. [HAVE_CONFIG_H]: Guard inclusion of config.h. * putenv.c: Include <stddef.h> rather than <sys/types.h>, as we merely need size_t. * realloc.c: Likewise. * quote.c: Don't include <stddef.h> or <sys/types.h>; not needed. * modechange.c: Include <stddef.h>. (NULL): Don't define, since <stddef.h> does that. * memcoll.h: Include <stddef.h>, to get size_t. * memcoll.c: Include "memcoll.h", which gets us size_t and checks our interface, instead of including <sys/types.h> (memcoll): Fall back on a simple algorithm using memcmp if strcoll doesn't work. * memcasecmp.h: Include <stddef.h>. * memcasecmp.c: Don't include <sys/types.h>. From gnulib. * alloca_.h: New file. * Makefile.am (EXTRA_DIST): Add alloca_.h. (all-local $(lib_OBJECTS)): Depend on $(ALLOCA_H). (alloca.h): New rule. * addext.c: Update from gnulib. * backupfile.c: Likewise. * config.charset: Likewise. * dirname.h: Likewise. * fsusage.c: Likewise. * userspec.c: Likewise. * xreadlink.c: Likewise. * xstrtol.c: Likewise. * __fpending.h: Likewise. * md5.c: Include <string.h> and <stdlib.h> unconditionally. (memcpy): Remove definition. * posixtm.c: Include <stdbool.h> unconditionally. 2003-06-05 Jim Meyering <jim@meyering.net> From gnulib. * mktime.c: Assume freestanding C89 or better. (HAVE_LIMITS_H): Remove. Assume it's 1. (__P): Remove; not used. (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them. (mktime, not_equal_tm, print_tm, check_result, main): Use prototypes. Use const * where appropriate. (main): Fix typo in testing code that uncovered by above changes. (Local Variables): Remove -DHAVE_LIMITS_H from compile-command. 2003-06-04 Paul Eggert <eggert@twinsun.com> Merge human.c etc. from gnulib. * exclude.c, human.c, human.h: Merge from gnulib. * cycle-check.c, cycle-check.h, src/system.h: Include <stdbool.h> unconditionally. 2003-06-02 Jim Meyering <jim@meyering.net> * stdbool.hin: New file. From gnulib. * Makefile.am (MOSTLYCLEANFILES): Initialize. (stdbool.h): New rule. (all-local $(lib_OBJECTS)): Depend on $(STDBOOL_H) (MOSTLYCLEANFILES): Add stdbool.h. (EXTRA_DIST): Add stdbool.h. 2003-05-30 Jim Meyering <jim@meyering.net> * addext.c: Update from gnulib. * mktime.c: Likewise. 2003-05-29 Jim Meyering <jim@meyering.net> Make the %r format directive honor any locale setting. * strftime.c: (my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]: Use underlying_strftime for %r. 2003-05-15 Jim Meyering <jim@meyering.net> * getopt.h: Remove a space before a TAB. 2003-05-13 Jim Meyering <jim@meyering.net> * setenv.c (setenv): Don't apply cast to argument of free. * putenv.c (rpl_putenv): Likewise. * alloca.c (alloca): Likewise. 2003-05-12 Jim Meyering <jim@meyering.net> * ftw.c (ftw_startup): Always call free_cwd after restore_cwd. Reported by Matti Aarnio as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=90563. Forwarded by Tim Waugh. * strftime.c (my_strftime): Let the `-' (no-pad) flag affect the space-padded-by-default conversion specifiers, %e, %k, %l. 2003-05-07 Paul Eggert <eggert@twinsun.com> * xnanosleep.c (timespec_subtract): Don't modify the 2nd arg. Work even if X-Y overflows when subtracting. Make explicit the assumption that tv_nsec must be in range. (clock_get_realtime): Remove. All callers changed to invoke gettime, for simplicity. (xnanosleep): Check for gettime failure every time. 2003-05-06 Jim Meyering <jim@meyering.net> * xnanosleep.c (clock_get_realtime): Use gettime.c's gettime function, rather than an inferior, open-coded version that would fail on AIX systems due to clock_gettime failing with errno == ENOSYS. Reported by Jérôme Zago. 2003-05-05 Jim Meyering <jim@meyering.net> Avoid array overrun. * ftw.c (nftw_arr): Update to reflect complete list of members. (ftw_arr): Likewise Reported by Olatunji Oluwabukunmi Ruwase. Make it less likely that the above can happen again. * ftw.c (struct dummy): Ensure that at least the number of initializers matches the number of members in the corresponding enum. * ftw_.h (enum Ftw_option): Name this previously-anonymous enum. (enum Ftw_option) [FTW_N_MEMBERS]: New member. 2003-05-04 Jim Meyering <jim@meyering.net> * setenv.c (__set_errno, LOCK, UNLOCK): Define. (unsetenv): Update from GNU libc. Ifdef-out this function, since the only caller is putenv.c and that file now has its own copy. This avoids a core dump on systems without GNU putenv, when running `env -u SOME_ALREADY_UNSET_VARIABLE'. * putenv.c (__set_errno, LOCK, UNLOCK): Define. (unsetenv): New static function, from GNU libc. (rpl_putenv): Use it. 2003-05-02 Jim Meyering <jim@meyering.net> * canonicalize.c (canonicalize_file_name) [!HAVE_RESOLVEPATH]: A memory-allocation error could result in heap corruption. Fix it by also updating `dest' when rpath may be changed by xrealloc. 2003-04-15 Jim Meyering <jim@meyering.net> * getloadavg.c: Remove (or replace-with-TAB(s) to retain alignment) each sequence of spaces before a TAB character. * md5.c, getopt.c, getopt.h, obstack.h, strftime.c: Likewise. 2003-04-11 Jim Meyering <jim@meyering.net> * readutmp.c: Include <string.h> and <stdlib.h> unconditionally. * canonicalize.c, exclude.c, getgroups.c, getusershell.c: * group-member.c, idcache.c, mountlist.c, readtokens.c, readutmp.c: * bumpalloc.h: Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values. * xalloc.h (PARAMS): Remove definitions and uses. (XMALLOC, XCALLOC, XREALLOC): Remove unnecessary casts. * xmalloc.c: Remove use of PARAMS. 2003-04-10 Jim Meyering <jim@meyering.net> * canonicalize.c (canonicalize_file_name) [HAVE_RESOLVEPATH]: Remove stray semicolon that caused `readlink --canonical RELATIVE_NAME' to fail on e.g., Solaris systems. Reported by Bruce Korb. (canonicalize_file_name): Return NULL immediately if resolvepath fails. Otherwise, `readlink --canonical /no-such-file' would exhaust virtual memory on some systems (e.g. Solaris). (canonicalize_file_name): Always free `extra_buf' before returning. (canonicalize_file_name): NUL-terminate the result. 2003-04-05 Jim Meyering <jim@meyering.net> * Makefile.am (DEFS): Use += notation rather than `DEFS = ... @DEFS@'. Use $(VAR) rather than @VAR@, now that we can rely on automake to emit a definition for each substituted variable. 2003-03-26 Richard Dawe <rich@phekda.freeserve.co.uk> * dirname.c [TEST_DIRNAME]: Update build instructions for test. Add test-cases for DOS filenames. Declare program_name. (main): Set up program_name. 2003-03-22 Jim Meyering <jim@meyering.net> * strftime.c (widen): Cast alloca return value to proper type. * fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper type. Otherwise, it wouldn't compile with at least /bin/cc on ymp-cray-unicos9.0.2.X. Combine two mostly-identical uses of alloca into one. Thanks to the Cray-Cyber project for access to a Cray Y-MP. 2003-03-19 Jim Meyering <jim@meyering.net> DJGPP doesn't have S_ISLNK, so provide a replacement. * ftw.c (S_IFMT): Define, if necessary. [STAT_MACROS_BROKEN]: Undefine S_ISLNK. (S_ISLNK): Define, if necessary. Based on a patch from Rich Dawe. * exclude.h (PARAMS): Remove definition and uses. * exclude.c: Remove uses of `PARAMS'. * fnmatch_.h: Don't define __const. (fnmatch): Use const, not __const in prototype. From Paul Eggert. 2003-03-17 Richard Dawe <rich@phekda.freeserve.co.uk> * fchdir-stub.c: New file: trivial stub for fchdir. 2003-03-18 Jim Meyering <jim@meyering.net> * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any error from mntctl. Use mntctl's return value to drive the entry-processing loop, since we can't rely on the value of the vmt_length member in the last entry. On some systems doing so could result in exhausting virtual memory. Based in part on a patch from Mike Jetzer. * quote.c (quote_n): Fix typo in comment. 2003-03-17 Jim Meyering <jim@meyering.net> * raise.c (raise): Rename from rpl_raise. Without that change, systems lacking raise (SunOS 4) would not be able to link programs using raise. Reported by Volker Borchert. * ftw.c (FTW_STAT): Rename from `STAT', to avoid conflict with STAT definition from <sys/dir.h> on AIX 5.1. Suggestion from Mike Jetzer and Petter Reinholdtsen. * fchown-stub.c (fchown): Put function type on its own line. * readlink-stub.c (readlink): Likewise. * lstat-stub.c (lstat): Likewise. 2003-03-14 Jim Meyering <jim@meyering.net> * Makefile.am (AUTOMAKE_OPTIONS): Remove definition -- before it pointed to ../src/ansi2knr. Some of these files have required an ANSI (c89) compiler for a year or two. (libfetish_a_SOURCES): Remove unused files: c-stack.c, c-stack.h. 2003-02-04 Dmitry V. Levin <ldv@altlinux.org> * stat.c: Include "xalloc.h". 2003-03-13 Paul Eggert <eggert@twinsun.com> Merge changes from Bison. * obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 when compiling Bison 1.875's `bitset bset = obstack_alloc (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. 2003-01-30 Richard Dawe <rich@phekda.freeserve.co.uk> * fchown-stub.c: New file: trivial stub for fchown. * lstat-stub.c: New file: trivial stub for lstat. * readlink-stub.c: New file: trivial stub for readlink. 2003-03-09 Paul Eggert <eggert@twinsun.com> * argmatch.c (EXIT_FAILURE): Define if the system doesn't. Reported by Bruce Becker; see: http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html 2003-03-03 Paul Eggert <eggert@twinsun.com> Bruno Haible <bruno@clisp.org> * mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1. Reported by John Hughes, see http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html 2003-03-09 Jim Meyering <jim@meyering.net> * ftw.c: Include "save-cwd.h". (ftw_startup): Avoid use of getcwd, if possible. Instead, use fopen/fchdir via save_cwd/restore_cwd. 2003-03-08 Jim Meyering <jim@meyering.net> * xnanosleep.c: Don't use `defined' in a #define directive. 2003-03-07 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Remove mmap-stack.h. * mmap-stack.c, mmap-stack.h: Remove files. * getcwd.c: #undef getcwd only after *all* included header files. Declare getcwd unconditionally. The problem was that same.h included config.h, and that defined getcwd to rpl_getcwd a second time (after the original #undef), and led to the rpl_getcwd function calling itself endlessly. This was the cause of at least the `du' test failures on IRIX 6.5, reported by Nelson Beebe. * same.h (same_name): Remove unnecessary inclusion of config.h. It also happened to lead to infinite recursion in getcwd.c. (PARAMS): Remove definition and use. 2003-03-06 Jim Meyering <jim@meyering.net> * ftw.c (ftw_startup): Declare `func' parameter to be of type NFTW_FUNC_T, not void* which may be smaller on 64-bit systems. Remove now-unnecessary cast. (FTW_NAME): Cast func argument to type `NFTW_FUNC_T'. 2003-03-05 Jim Meyering <jim@meyering.net> * physmem.c (ARRAY_SIZE): Define it. 2003-03-04 Jim Meyering <jim@meyering.net> * makepath.c (CLEANUP_CWD): Call error here, now that restore_cwd no longer does it. * save-cwd.h (restore_cwd): Update prototype. * save-cwd.c (restore_cwd): Remove two parameters. Simplify. Don't call error upon failure. Let callers do that. (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 when auditing is enabled. But don't bother updating the #if. * xgetcwd.c (xgetcwd): Improve comment. * getcwd.c: New file. 2003-02-28 Jim Meyering <jim@meyering.net> * ftw.c (ftw_startup): Return -1 if alloca fails. 2003-02-28 Jim Meyering <jim@meyering.net> * fts.c (fts_children): If opening `.' fails, set the fts_child member to NULL before returning. From NetBSD. * fts.c (fts_children): If fchdir fails, close file descriptor before returning. From NetBSD. 2003-02-27 Jim Meyering <jim@meyering.net> * physmem.c (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. * physmem.c: Merge in portability changes from gcc/libiberty to support AIX, Tru64, and Windows. See the ChangeLog there for credits and details. Thanks to Kaveh Ghazi for helping to keep these files in sync. 2003-02-24 Jim Meyering <jim@meyering.net> * fts_.h [__USE_FILE_OFFSET64]: Remove #error directive. (fts_open): Initialize local, tmp, to pacify gcc. * fts_.h [struct FTS] (fts_dir_signatures): New, opaque member. * fts.c: Include <search.h>. (struct known_object): Define. (object_compare, add_object, find_object): New functions, like those in ftw.c. (fts_open): Initialize new member. (fts_close): Free memory allocated for new member. (fts_stat): Detect a cycle in O(logN) time per directory processed. * fts.c [HAVE_CONFIG_H]: Include <config.h>. Conditionalize inclusion of <sys/param.h>. Conditionalize inclusion of <include/sys/stat.h> vs <sys/stat.h>. Include autoconf-recommended block of dirent/NAMELEN-related definitions and includes. Use NAMLEN throughout, rather than _D_EXACT_NAMLEN. [_LIBC] (close, closedir, fchdir, open, opendir): Define. [_LIBC] (readdir, tdestroy, tfind, tsearch): Define. Remove `__' prefix from all uses of the above. This will help to merge *BSD changes. [!_LIBC] (internal_function): Define. [! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define lstat. (__set_errno): Define if not already defined. * fts.c: (fts_open): If fts_alloc returns NULL, don't dereference it. (fts_read): If fts_safe_changedir fails because it is not able to chdir into a subdirectory, then inform the caller. * fts.c, fts_.h: New files, directly from glibc. 2003-02-23 Jim Meyering <jim@meyering.net> * fts_.h (struct _ftsent) [fts_level]: Change type from short to int, so it can handle a root-relative file name longer than 32K bytes. [fts_pathlen, fts_namelen]: Rearrange members to decrease size of this struct from 84 to 80 bytes. 2003-02-21 Jim Meyering <jim@meyering.net> * mmap-stack.h: Undefine HAVE_MMAP_STACK, thus disabling this code on all systems. Merge in some changes from GNU libc. * md5.h (md5_uintptr): Define. * ftw.c: Include <sys/types.h> before <dirent.h>. This is required for Apple Darwin 6.3 (MacOS 10.2.3). Patch by Nelson Beebe. 2003-02-19 Jim Meyering <jim@meyering.net> * md5.c: Merge in some clean-up and optimization changes from glibc. * sha.c: Apply those same changes here, too. 2003-02-18 Jim Meyering <jim@meyering.net> * md5.c (md5_stream) [BLOCKSIZE]: Move definition to top of file. Ensure that it is a multiple of 64. Rearrange loop exit tests so as to avoid performing an additional fread after encountering an error or EOF. * sha.c (sha_stream): Likewise. Reported by Michael Bacarella. * Makefile.am (CLEANFILES): Remove ftw.h and search.h. (DISTCLEANFILES): Add them here. Add fnmatch.h, too. * sha.c (sha_stream): Rearrange loop exit tests so as to avoid performing an additional fread after encountering an error or EOF. 2003-02-17 Jim Meyering <jim@meyering.net> * mmap-stack.h (RUN_WITH_BIG_STACK_4): Define. * physmem.c: Undo most of last change. Use sysmp instead, since it provides a cleaner interface. From Kaveh Ghazi. 2003-02-16 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add mmap-stack.h. * mmap-stack.c (MAP_ANONYMOUS): Use MAP_ANON, if possible. Initialize `fd' to -1, so Solaris' mmap works with MAP_ANON. 2003-02-15 Jim Meyering <jim@meyering.net> * mmap-stack.c, mmap-stack.h: New files. Let the caller run a function with a larger (mmap'd) stack. Add Irix6 support to physmem.c. * physmem.c (irix_sysget): New function. (IRIX_SYSGET_TOTAL, IRIX_SYSGET_AVAILABLE): New macros. (physmem_total, physmem_available): Use them. (main) [DEBUG]: New function. 2003-02-11 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add euidaccess.h. * euidaccess.c: Include "euidaccess.h". * euidaccess.h: New file. 2003-02-08 Jim Meyering <jim@meyering.net> * ftw.c (ftw_startup): Don't shadow outer declaration of save_err. Merge inconsequential changes from libc. * ftw.c (ftw_startup): When using FTW_CHDIR, always remember the current directory, not just when DIR contains a slash. Reported by Manoj Srivastava via Michael Stone as Debian bug #180228. 2003-02-07 Jim Meyering <jim@meyering.net> Merge inconsequential changes from libc. * ftw.c: Include limits.h earlier. Move PATH_MAX definition `down' a little; add comment. Rename local, saved_errno to save_err. 2003-02-06 Jim Meyering <jim@meyering.net> Support for pruning. * ftw_.h (FTW_DPRE) [enum]: New member and definition. (struct FTW) [skip]: New member. * search_.h (__restrict): Define to `restrict' or to nothing. * fsusage.c: Remove declaration of statfs. It conflicted with one from OSF/1 5.1 in <sys/mount.h>. Reported by Nelson Beebe. 2003-02-05 Jim Meyering <jim@meyering.net> Fix a heap-corruption bug that affected Solaris systems. * ftw.c: Include <limits.h>. (PATH_MAX): Define to 1024, if not already defined. (process_entry): Allocate enough space to hold the resulting file name. Don't presume that 2*dirbufsize is enough. (ftw_startup): Always use PATH_MAX to compute buffer size, now that it is guaranteed to be defined. Nelson Beebe reported that du would sometimes segfault on Solaris. * ftw.c (process_entry): When using FTW_DEPTH, call `func', the user-supplied callback, once for the current directory before calling ftw_dir, in case that part of the hierarchy should be pruned. `func' does that by setting `data->skip'. (ftw_startup): Likewise. 2003-02-02 Jim Meyering <jim@meyering.net> * ftw.c (lstat) [!_LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat. 2003-01-25 Jim Meyering <jim@meyering.net> * ftw.c (ISSLASH, FILESYSTEM_PREFIX_LEN) [_LIBC]: Define. (base_name): New function. (ftw_startup): Don't strip trailing slashes. Use base_name to find the offset of the basename. 2003-01-25 Jim Meyering <jim@meyering.net> * ftw.c (object_compare): Compare inode numbers before device numbers. The former is much more likely to differ for any two given file objects. 2003-01-23 Jim Meyering <jim@meyering.net> * tsearch.c [HAVE_CONFIG_H]: Include <config.h>. Add autoconf-recommended block of alloca-related code. Cast each use of alloca to the required type, (node**). * ftw.c: Add autoconf-recommended block of alloca-related code. [!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd. 2003-01-22 Jim Meyering <jim@meyering.net> * ftw.c (find_object): Don't use c99-style struct initializer. * ftw_.h: Change all uses of __const to const. * search_.h: Likewise. * Makefile.am (CLEANFILES): Add generated files: ftw.h search.h. * ftw.c (process_entry): Handle FTW_DCHP. (ftw_dir): Handle FTW_DCH. * ftw_.h [!_LIBC && !__USE_XOPEN_EXTENDED]: Define __USE_XOPEN_EXTENDED and FTW_H_STANDALONE. [anon enum] (FTW_DCH, FTW_DCHP): New members. (FTW_DCH, FTW_DCHP): Define. * ftw.c: Include autoconf-recommended block of dirent/NAMELEN related definitions and includes. Use NAMELEN throughout, rather than _D_EXACT_NAMLEN. [_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN. (stpcpy): Declare, if necessary. (mempcpy): Define, if necessary. [!_LIBC] (__stpcpy, __mempcpy): Define. [!_LIBC] (LXSTAT, XSTAT): Define. 2003-01-21 Jim Meyering <jim@meyering.net> * tsearch.c: New file, from GNU libc. [! weak_alias]: Define __-prefixed names to publicized ones. [! defined _LIBC] (weak_alias, internal_function): Define-away. [defined weak_alias]: Guard each use of weak_alias. 2003-01-20 Jim Meyering <jim@meyering.net> * canonicalize.c: Include "path-concat.h". * search_.h: New file, from GNU libc. * Makefile.am (libfetish_a_SOURCES): Use ftw_.h here, too. (libfetish_a_SOURCES): Add search_.h. * ftw_.h: Rename from ftw.h. * obstack.h (obstack_object_size): Declare temporary, __o, to be const, in order to avoid warnings. (obstack_room): Likewise. (obstack_empty_p): Likewise. Merge in changes from GNU libc * error.c: Eliminate many `#ifdef USE_IN_LIBIO' conditionals. 2003-01-19 Ulrich Drepper <drepper@redhat.com> From GNU libc. * strftime.c (my_strftime): Handle very large width specifications for numeric values correctly. Improve checks for overflow. 2003-01-19 Jim Meyering <jim@meyering.net> * strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical definitions. (nl_get_alt_digit) [! defined my_strftime]: Define. (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of _nl_get_alt_digit and _nl_get_walt_digit. * strftime.c (my_strftime): Merge in locale-related changes from libc. These changes have no effect outside of _LIBC. 2003-01-14 Jim Meyering <jim@meyering.net> * same.c (same_name): Declare *_basename locals to be `const'. Consolidate declarations and initializations of *_base* locals. 2003-01-11 Bruno Haible <bruno@clisp.org> * same.c (same_name): Reorder tests so as to avoid calling stat() when a string comparison is sufficient. 2003-01-11 Bruno Haible <bruno@clisp.org> * readtokens.c (readtoken): Cast character to 'unsigned char', not 'unsigned int'. 2003-01-14 Jim Meyering <jim@meyering.net> * ftw.c: Merge in Ulrich's and my changes from libc. 2003-01-12 Jim Meyering <jim@meyering.net> * ftw.c (ftw_startup): Rename local-shadowing local to pacify gcc. Also work on systems that have `struct direct', using autoconf's AC_HEADER_DIRENT. Tweak comments. * ftw.h, ftw.c: New files, from glibc/io. * Makefile.am (libfetish_a_SOURCES): Add ftw.h. 2003-01-11 Jim Meyering <jim@meyering.net> * makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. * canonicalize.c: Don't test HAVE_ERRNO_H. It's not necessary. Don't test HAVE_STDDEF_H. It's not necessary. Use definition of PTR_INT_TYPE from obstack.h. 2002-12-01 Dmitry V. Levin <ldv@altlinux.org> * canonicalize.c: New file. The readlink-based implementation imported from GNU C Library. The resolveip-based implementation imported from src/df.c (show_point). * canonicalize.h: New file. * Makefile.am (libfetish_a_SOURCES): Add canonicalize.h. 2003-01-10 Jim Meyering <jim@meyering.net> * save-cwd.h: Remove uses of PARAMS. 2002-11-30 Dmitry V. Levin <ldv@altlinux.org> * xgetcwd.h: New file. * Makefile.am (libfetish_a_SOURCES): Add xgetcwd.h. * save-cwd.c: Include "xgetcwd.h". * xgetcwd.c: Likewise. 2002-11-30 Dmitry V. Levin <ldv@altlinux.org> * getgroups.c: Don't declare functions declared by xalloc.h. Include "xalloc.h" instead. * group-member.c: Likewise. * idcache.c: Likewise. * readutmp.c: Likewise. 2003-01-08 Jim Meyering <jim@meyering.net> * full-write.c: Undefine and define-away `const' after inclusion of errno.h, not before. Suggestion from Bruno Haible. 2003-01-06 Jim Meyering <jim@meyering.net> * full-write.c: Rework so that it may serve to define full_read, too. * full-read.c: Simply #define FULL_READ and include full-write.c. * Makefile.am (libfetish_a_SOURCES): Add full-read.c and full-read.h. * full-read.c, full-read.h: New files. Update from gnulib. 2002-12-10 Paul Eggert <eggert@twinsun.com> Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS): Choose values that are less likely to collide with system fnmatch options. * exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not defined (e.g., a pure POSIX system). (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME instead of FNM_FILE_NAME, for compatibility with pure POSIX systems. Update from gnulib. * utime.c (utime_null): Use SAFE_READ_ERROR. (utime_null): No need to call ftruncate if the file was nonempty. * getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE. * canon-host.c (strdup): Remove unused declaration. * fsusage.c: Include full_read.h. (get_fs_usage): Use full_read instead of safe_read. Patches by Bruno Haible. 2003-01-04 Jim Meyering <jim@meyering.net> * version-etc.c: Update copyright date. 2002-12-31 Jim Meyering <meyering@lucent.com> * dev-ino.h: New file. * cycle-check.c: New file. * cycle-check.h: New file. * Makefile.am (libfetish_a_SOURCES): Add cycle-check.c, cycle-check.h, and dev-ino.h. 2002-12-21 Jim Meyering <jim@meyering.net> * stime.c: Remove file (for real, this time). 2002-12-15 Jim Meyering <jim@meyering.net> * strftime.h: New file, for declaration of nstrftime. * Makefile.am (libfetish_a_SOURCES): Add strftime.h. 2002-12-09 Jim Meyering <jim@meyering.net> * unlocked-io.h: Sync from gnulib. 2002-12-06 Jim Meyering <jim@meyering.net> * unlocked-io.h: New file, but with proper copyright notice and attribution. Note: this is *not* the same as the file in gnulib. This uses #if HAVE_FUNC_UNLOCKED for each `FUNC', rather than HAVE_DECL_FUNC_UNLOCKED. This usage is consistent with the autoconf macro in ../m4/jm-glibc-io.m4. Modulo comments, this file still contains exactly what was generated by gen-uio. 2002-12-04 Paul Eggert <eggert@twinsun.com> Do not generate unlocked-io.h automatically, since it's easier to maintain it by hand. * gen-uio: Remove. * Makefile.am: Add copyright notice. (libfetish_a_SOURCES): Add unlocked-io.h. (BUILT_SOURCES, all-local): Remove unlocked-io.h. (DISTCLEANFILES, io_functions): Remove macros. (EXTRA_DIST): Remove gen_uio. (unlocked-io.h): Remove rule. 2002-12-05 Paul Eggert <eggert@twinsun.com> * alloca.c [defined emacs]: Include "lisp.h". (xalloc_die) [defined emacs]: New macro. (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE. [! defined emacs]: Include <xalloc.h>. (POINTER_TYPE) [!defined POINTER_TYPE]: New macro. (pointer): Typedef to POINTER_TYPE *. (malloc): Remove decl; we now always use xmalloc. (alloca): Use old-style definition, since Emacs needs this. Check for arithmetic overflow when computing combined size. 2002-12-04 Jim Meyering <jim@meyering.net> Reflect the fact that stat.c and lstat.c are no longer generated. * Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c. (DISTCLEANFILES): Likewise. (EXTRA_DIST): Likewise. (all_local): Don't depend on stat.c or lstat.c. (stat.c, lstat.c): Remove rules. (EXTRA_DIST): Remove xstat.in. * xstat.in: Remove file. Contents moved into stat.c. * stat.c: Rework so that it may serve to define rpl_lstat, too. * lstat.c: Simply #define LSTAT and include stat.c. * safe-read.c: Rework so that it may serve to define safe_write, too. * safe-write.c: Simply #define SAFE_WRITE and include safe-read.c. 2002-12-03 Jim Meyering <jim@meyering.net> * safe-read.h: Update from gnulib (add comments, include stddef.h). 2002-12-02 Jim Meyering <jim@meyering.net> * safe-read.c (EINTR): Define. (safe_read): Rewrite to iterate IFF the read fails with EINTR. 2002-12-01 Jim Meyering <jim@meyering.net> * safe-read.c: Merge from gnulib. (safe_read): Also exit the loop when read returns zero. (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. * Makefile.am (libfetish_a_SOURCES): Add safe-write.c and safe-write.h. * strtoll.c: Update from gnulib (trivial changes). * strdup.c: Likewise. * strpbrk.c: Likewise. * strstr.c: Likewise. * tempname.c: Likewise. * obstack.c: Likewise. * getopt.c: Likewise. * getopt1.c: Likewise. * getopt.h: Likewise. * quote.h: Update from gnulib: add Copyright comment. * quote.c: Likewise. 2002-11-28 Jim Meyering <jim@meyering.net> * mktime.c: Merge from gnulib/libc, for a slightly uglier solution. Merge some more, in preparation for merge back into libc. * error.c (_): Define only if not already defined. Move definition to follow all #include directives. Include unlocked-io.h only if !_LIBC. Merge in changes from libc. * error.c [_LIBC]: Include <libio/libioP.h>. [USE_IN_LIBIO]: Include <libio/iolibio.h> (fflush): Tweak definition to use INTUSE. (putc): Define. 2002-11-23 Jim Meyering <jim@meyering.net> From gnulib, by Bruno Haible * closeout.c: Include gettext.h instead of <libintl.h>. * makepath.c: Likewise. * rpmatch.c: Likewise. * userspec.c: Likewise. * version-etc.c: Likewise. * xmemcoll.c: Likewise. * error.c [!_LIBC]: Include gettext.h instead of <libintl.h>. * mbswidth.h: Update from gnulib. * mbswidth.c: Likewise. * localcharset.c: Likewise. * config.charset: Likewise. * unicodeio.c: Likewise. 2002-11-22 Paul Eggert <eggert@twinsun.com> * quotearg.h: Allow multiple inclusion by surrounding with "#ifndef QUOTEARG_H_". Include <stddef.h>, for size_t, so that we can be included first. (PARAMS): Remove; we now assume C89 or later. All uses removed. * quotearg.c: Include quotearg.h immediately after config.h. No need to include stddef.h or sys/types.h any more. Surround local include files with "", not "<>". Assume HAVE_LIMITS_H unconditionally, as we assume C89. Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX, HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS. (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC. (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT. (ISPRINT): Remove; no longer needed now that we assume C89. (clone_quoting_options, quotearg_buffer, quotearg_n_options): Preserve errno. (quotearg_buffer_restyled, quotearg_n, quotearg_n_style, quotearg_char): Use SIZE_MAX rather than (size_t) -1 when we are talking about "infinity". (quotearg_buffer_restyled): Fix bug when quoting trigraphs. 2002-11-22 Jim Meyering <jim@meyering.net> From gnulib. * strstr.c: Don't include <sys/types.h>. It's unnecessary. 2002-11-21 Bruno Haible <bruno@clisp.org> Remove case insensitive option matching. * argmatch.h (argcasematch): Remove declaration. (ARGCASEMATCH): Remove macro. (__xargmatch_internal): Remove case_sensitive argument. (XARGMATCH): Update. (XARGCASEMATCH): Remove macro. * argmatch.c (argmatch): Renamed from __argmatch_internal. Remove case_sensitive argument. (argcasematch): Remove function. (__xargmatch_internal): Remove case_sensitive argument. (main): Use XARGMATCH instead of XARGCASEMATCH. * argmatch.c: Include gettext.h instead of <locale.h> and <libintl.h>. 2002-11-21 Bruno Haible <bruno@clisp.org> * xmalloc.c: Change compile-time error message. Add comment about required autoconf version. * xmalloc.c: Include gettext.h instead of <libintl.h>. (textdomain): Remove definition. 2002-11-21 Jim Meyering <jim@meyering.net> * strdup.c (strdup): Merge in changes from gnulib; mainly to use memcpy rather than strcpy. * strcspn.c: Update from gnulib. * sig2str.c (str2signum): Use unsigned, not size_t, for type of index. * quotearg.c: Use `"'s when including quotearg.h and xalloc.h, not the `<...>' notation. Include <errno.h> and declare errno if necessary. * README: Update from gnulib. 2002-11-20 Paul Eggert <eggert@twinsun.com> Merge argmatch cleanups from Bison. Assume C89. * argmatch.c: Include config.h here, not in argmatch.h. Include stdlib.h, for EXIT_FAILURE. Always include <string.h>, since we assume C89. (EXIT_FAILURE): Remove pre-C89 bug workaround. * argmatch.h: Do not include <config.h> or <sys/types.h>. Include <stddef.h> instead, since it's all we need for size_t. (PARAMS): Remove. All uses removed. (ARRAY_CARDINALITY): Do not bother to #undef. (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg, ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): Remove unnecessary parentheses. (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): Insert necessary parentheses. (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros. (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT. 2002-11-19 Jim Meyering <jim@meyering.net> Be careful not to clobber errno. * quotearg.c (quotearg_buffer_restyled): If mbrtowc returns `(size_t) -1' (at which point it would also set errno to EILSEQ), then restore errno to its previous value. Reported by Phillip Jones via Tim Waugh as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76334. Avoid a link-time failure on some Linux systems. * mktime.c (STATIC): Define to be empty (_LIBC) or `static' (otherwise). (__mon_yday): Declare with the STATIC attribute. (__mktime_internal): Likewise. Based on a report from Greg Schafer. 2002-11-14 Jim Meyering <jim@meyering.net> * long-options.c: Don't include libintl.h, and don't define `_' -- they're not used. * same.c: Likewise. 2002-11-10 Jim Meyering <jim@meyering.net> * raise.c: New file. 2002-11-08 Paul Eggert <eggert@twinsun.com> * human.c (human_readable): Revamp to avoid warning about unused variable 'amt'. Unfortunately this means using some gotos. 2002-11-08 Jim Meyering <jim@meyering.net> * human.c (human_readable): Avoid warnings from gcc -Wshadow. 2002-11-06 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add inttostr.h. 2002-10-07 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c, umaxtostr.c. (EXTRA_DIST): Add inttostr.c. * inttostr.c, inttostr.h, imaxtostr.c, offtostr.c, umaxtostr.c: New files, taken from GNU tar. * human.c, human.h: Rewrite to support locale-specific notations like thousands separators. Specify what includer of include.h must include beforehand. (human_group_digits, human_suppress_point_zero, human_autoscale, human_base_1024, human_SI, human_B): New enum values. (human_readable): Rename from human_readable_inexact; put the options before the sizes. All uses changed. The old human_readable function has been removed; use inttostr.h instead. (human_options): Renamed from human_block_size, with new signature that allows block sizes up to UINTMAX_MAX. All callers changed. 2002-10-13 Jim Meyering <jim@meyering.net> * xnanosleep.c (initialized): Remove declaration now that it's unused. 2002-10-12 Paul Eggert <eggert@twinsun.com> * xnanosleep.c: There's no need to futz with the rounding mode, since the code should work properly even in the default rounding mode. (<fenv.h>): Do not include. (#pragma STDC FENV_ACCESS ON): Remove. (xnanosleep): Don't futz with rounding state. 2002-10-06 Jim Meyering <jim@meyering.net> * safe-read.c (safe_read): Change type of function from ssize_t to size_t. * safe-read.h: Update prototype. (SAFE_READ_ERROR): Define. 2002-09-28 Jim Meyering <jim@meyering.net> * makepath.c (make_path): Restore umask *before* creating the final component. 2002-09-25 Paul Eggert <eggert@twinsun.com> * fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include <stdint.h>. (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro. (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than int. Work more efficiently if X is the same width as uintmax_t. Do not compare X to -1, to avoid bogus compiler warning. (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast. Don't assume that f_frsize and f_bsize are the same type. 2002-09-25 Jim Meyering <jim@meyering.net> * fsusage.c: Remove unneeded parentheses around operands of `defined'. * safe-read.c (safe_read): Make comment more precise: upon error, it returns -1. 2002-09-22 Jim Meyering <jim@meyering.net> * makepath.c (make_path): Minor reformatting. 2002-09-14 Paul Eggert <eggert@twinsun.com> * xnanosleep (xnanosleep): Return -1 on failure, not 1, for consistency with nanosleep. Check errno after nanosleep returns -1. 2002-09-11 Jim Meyering <jim@meyering.net> * xnanosleep.c, xnanosleep.h: New files, factored out of sleep.c. * Makefile.am (libfetish_a_SOURCES): Add them. 2002-09-04 Jim Meyering <jim@meyering.net> * addext.c (addext): Add a cast to avoid gcc's warning about `comparison between signed and unsigned'. * sig2str.c (str2signum, sig2str): Declare loop index variables to be of type size_t so that they match type of upper bound, thus avoiding warning about `comparison between signed and unsigned'. 2002-08-31 Jim Meyering <jim@meyering.net> * mktime.c: Update from GNU libc. * obstack.c: Likewise. * getopt.c: Likewise. * getopt1.c: Likewise. 2002-08-05 Paul Eggert <eggert@twinsun.com> Fix some minor time-related bugs with POSIX time arguments. Some valid time stamps were being rejected (notably -1, and time stamps before 1900 on 64-bit hosts). And some invalid time stamps were being accepted, e.g. September 31. * posixtm.h (posixtime): Return bool instead of time_t, so that we can return (time_t) -1 successfully. * posixtm.c: Likewise. [HAVE_STDBOOL_H]: Include <stdbool.h>. (bool, false, true) [!HAVE_STDBOOL_H]: New type. (t): Remove static var. (year, posix_time_parse): Now takes struct tm * arg to modify, instead of static var. All uses changed. (year): Do not reject years before 1900; they can occur with 64-bit time_t. (posix_time_parse): Do not check for out-of-range components; that is now the caller's responsibility, since our checks were only approximations. (posixtime): Use mktime to check for out-of-range components, since it knows them exactly. If mktime returns (time_t) -1, check whether an error actually occurred by invoking localtime on -1. (main) [TEST_POSIXTIME]: Check for input data errors, and report posixtime failures better. Improve the test data (in comments only). 2002-07-27 Jim Meyering <jim@meyering.net> * readutmp.h: If we have both utmpx.h and utmp.h, and there exists the utmp.ut_exit member, but not the utmpx.ut_exit member, then undefine HAVE_UTMPX_H. For AIX 4.3.3. Doing all this in cpp is a big kludge; someday we'll put the brains in an autoconf macro. (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. 2002-07-20 Jim Meyering <jim@meyering.net> * xmalloc.c: Adjust to work with new autoconf macros, AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC. * gettext.h: Upgrade to gettext-0.11.3. 2002-07-13 Bruno Haible <bruno@clisp.org> * xstat.in: Include <string.h>. * mountlist.c: #undef MNT_IGNORE before defining it, to avoid warning on FreeBSD. 2002-07-09 Jim Meyering <jim@meyering.net> * mountlist.h (ME_DUMMY): Don't count entries of type `auto' as dummy ones. At least on GNU/Linux systems, `auto' means something else. From Michael Stone. 2002-07-01 Jim Meyering <jim@meyering.net> * c-stack.c: Include sys/time.h. From Volker Borchert. 2002-06-11 Paul Eggert <eggert@twinsun.com> * fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT): New macro. Use it uniformly instead of (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 reported by Vin Shelton. 2002-06-22 Jim Meyering <jim@meyering.net> * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. 2002-06-22 Paul Eggert <eggert@twinsun.com> * c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]: Do not assume SA_SIGINFO behavior. Bug reported by Jim Meyering on NetBSD 1.5.2. 2002-06-22 Jim Meyering <jim@meyering.net> * c-stack.c, c-stack.h: New files, from diffutils-2.8.2. * exitfail.c, exitfail.h: Likewise. * Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. * Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place of fnmatch.h. (EXTRA_DIST): Add fnmatch_loop.c. (libfetish_a_SOURCES): Add c-stack.c and c-stack.h. * fnmatch_loop.c: New file, from diffutils-2.8.2. * fnmatch.c: Update from diffutils-2.8.2. * fnmatch_.h: New file. From diffutils-2.8.2. * fnmatch.h: Remove file. 2002-06-18 Paul Eggert <eggert@twinsun.com> * file-type.h: Report an error if neither S_ISREG nor S_IFREG is defined, instead of using a test specific to glibc 2.2. This should be safe, since POSIX requires S_ISREG and Unix Version 7 had S_IFREG. We don't need to check for <sys/types.h> since we don't use any symbols that it defines. 2002-06-15 Jim Meyering <jim@meyering.net> * file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h> have been included before this file. 2002-06-13 Richard Dawe <richdawe@bigfoot.com> * Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t, so that each temporary file name is unique and valid in the first 8 characters, for operation under DOS. 2002-06-15 Jim Meyering <jim@meyering.net> Work even with DJGPP 2.03, which lacks support for symlinks. From Richard Dawe. * xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. * lchown.c (S_ISLNK): Likewise. 2002-06-14 Jim Meyering <jim@meyering.net> * file-type.h: Use the version from diffutils-2.8.2. * file-type.c: Likewise. 2002-05-27 Jim Meyering <jim@meyering.net> Fix a problem seen only on nonconforming systems whereby ls.c's use of localtime, and then of gettimeofday would cause trouble: the localtime call used to initialize rpl_gettimeofday's save mechanism would clobber ls's current local time information so that in any long listing the first file would always be listed with date 1970-01-01. Analysis by Volker Borchert. * gettimeofday.c (localtime): Undefine. (rpl_localtime): New function. 2002-05-22 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add file-type.c and file-type.h. * file-type.h: New file. * file-type.c (file_type): New file/function. Extracted from diffutils. 2002-04-29 Paul Eggert <eggert@twinsun.com> * hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. 2002-04-28 Paul Eggert <eggert@twinsun.com> * sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid depending on <sys/wait.h> and WTERMSIG. Default to 64 instead of 127, since 64 is the largest conceivable number for ancient nonstandard hosts. * sig2str.c: Do not include <sys/wait.h>; no longer needed. 2002-04-28 Jim Meyering <jim@meyering.net> * sig2str.c (WTERMSIG): Remove definition (unused). 2002-04-28 Paul Eggert <eggert@twinsun.com> * sig2str.h, sig2str.c: New files. * Makefile.am (libfetish_a_SOURCES): Add sig2str.h. 2002-04-24 Jim Meyering <jim@meyering.net> * gettext.h: New file, from Gettext. * Makefile.am (INCLUDES): Remove -I../intl. (libfetish_a_SOURCES): Add gettext.h. 2002-04-16 Jim Meyering <jim@meyering.net> * readutmp.h (UT_TYPE): Remove definition (now in who.c). (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define. (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define. 2002-04-12 Jim Meyering <jim@meyering.net> * dirfd.h (dirfd): Elide prototype if dirfd is a macro. 2002-03-10 Jim Meyering <jim@meyering.net> * makepath.c (make_path): Remove a comma from a diagnostic. Suggestion from Santiago Vila. 2002-03-08 Jim Meyering <jim@meyering.net> * rename.c: Mention that this wrapper is needed also on mips-dec-ultrix4.4 systems. 2002-03-02 Jim Meyering <jim@meyering.net> * gettime.c (gettime): Test HAVE_CLOCK_GETTIME, not HAVE_CLOCK_SETTIME. 2002-02-27 Paul Eggert <eggert@twinsun.com> * nanosleep.h: Rename to.... * timespec.h: New name for nanosleep.h. All uses changed. * gettime.c: New file. * settime.c: New file. * stime.c: Remove. * Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c, timespec.h. Remove nanosleep.h. 2002-02-25 Paul Eggert <eggert@twinsun.com> * acl.c, acl.h: New files. * Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. 2002-02-24 Jim Meyering <jim@meyering.net> * strnlen.c (strnlen): Define-away/undef so that an inconsistent prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't cause trouble. Reported by Nelson Beebe. 2002-02-23 Paul Eggert <eggert@twinsun.com> * path-concat.c (xpath_concat): Reorder code to pacify compilers that don't know that xalloc_die never returns. 2002-02-20 Jim Meyering <jim@meyering.net> * getdate.c: Regenerate using bison-1.33. 2002-02-15 Paul Eggert <eggert@twinsun.com> * posixver.c, posixver.h: New files. * Makefile.am (libfetish_a_SOURCES): Add them. 2002-02-02 Paul Eggert <eggert@twinsun.com> Bruno Haible <bruno@clisp.org> * unicodeio.h (print_unicode_char): Add exit_on_error argument. (fwrite_success_callback): New declaration. * unicodeio.c (unicode_to_mb): New function, extracted from print_unicode_char. Call failure callback instead of error. (fwrite_success_callback): New function. (exit_failure_callback): New function. (fallback_failure_callback): New function. (print_unicode_char): Call unicode_to_mb. 2002-01-26 Jim Meyering <jim@meyering.net> * Makefile.am (getdate$U.o): Depend on unlocked-io.h. 2002-01-22 Jim Meyering <jim@meyering.net> * Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). Otherwise, some versions of automake would omit the rule that makes Makefile from Makefile.in. 2001-01-21 Paul Eggert <eggert@twinsun.com> * xmemcoll.h, xmemcoll.c: New files. * Makefile.am (libfetish_a_SOURCES): Add them. * memcoll.c: Include errno.h, and declare errno if not defined. (memcoll): Set errno to zero if there is no error. * quotearg.c (quotearg_buffer_restyled): Fix bug with quoting buffers containing NUL when backslashing escapes. This bug was exposed by the other changes in this patch. (quotearg_n_options): New arg ARGSIZE. All callers changed. (quoting_options_from_style): New function. (quotearg_n_style): Use it. (quotearg_n_style_mem): New function. * quotearg.h (quotearg_n_style_mem): New function. 2002-01-16 Jim Meyering <jim@meyering.net> * getdate.y: Add three semicolons, each just before a closing brace. Bison (as of version 1.31) no longer papers over that mistake. 2002-02-14 Paul Eggert <eggert@twinsun.com> * backupfile.c (ISDIGIT): Comment fix. * getdate.y (ISDIGIT): Likewise. * posixtm.c (ISDIGIT, year): Likewise. * strverscmp.c (ISDIGIT): Likewise. * userspec.c (ISDIGIT): Likewise. 2002-01-05 Jim Meyering <jim@meyering.net> * version-etc.c (version_etc_copyright): Update copyright year. 2001-01-19 Paul Eggert <eggert@twinsun.com> * closeout.c (close_stdout_status): If ferror (stdout), do not silently exit merely because the output buffer happens to have nothing pending. 2001-12-18 Paul Eggert <eggert@twinsun.com> See the big note in ../ChangeLog. * human.c (suffixes): Prefer K to k for 1024. (generate_suffix_backwards): New function. (human_readable_inexact): Use it. * xstrtol.c (__xstrtol): If there is no number but there is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. Accept 'K' as well as 'k'. 2001-12-15 Jim Meyering <jim@meyering.net> * regex.h (__restrict_arr): Update from libc. * mountlist.h (ME_REMOTE): Recognize file systems of type smbfs as `remote' if the name starts with `//'. Suggested by Michael Stone. (STREQ): Define. 2001-12-10 Jim Meyering <jim@meyering.net> * linebuffer.c: Remove explicit declarations of xmalloc and xrealloc, Instead, include "xalloc.h". (initbuffer): Don't cast xmalloc return value to char*. (readline): Reword comment. Don't cast xrealloc return value to char* Return NULL, not 0. 2001-12-09 Jim Meyering <jim@meyering.net> * modechange.c (mode_compile): Add cast to avoid pedantic warning about `signed and unsigned type in conditional expression'. * posixtm.c (posix_time_parse): Likewise. * xreadlink.c (xreadlink): Add cast to avoid a pedantic warning. * readtokens.c (readtoken): Declare an index to be of type unsigned to avoid a pedantic warning. * getstr.c: Don't include assert.h. (getstr): Remove warning-evoking assertions. Return -1 if offset parameter is out of bounds. Change the type of a local from int to size_t. * strftime.c (my_strftime_localtime_r): Include this function definition in the `#if ! HAVE_TM_GMTOFF' block. * xgethostname.c: Remove declarations of xmalloc and xrealloc. Include xalloc.h instead. 2001-12-02 Jim Meyering <jim@meyering.net> * tempname.c: Don't declare getenv, thus reverting the change of 2001-11-18. It's no longer necessary, now that stdlib.h is always included. * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. 2001-11-30 Akim Demaille <akim@epita.fr> * xstrdup.c: Include xalloc.h, so that xstrdup is declared before being defined. 2001-11-27 Paul Eggert <eggert@twinsun.com> * quotearg.h (quotearg_n, quotearg_n_style): First arg is int, not unsigned. * quotearg.c (quotearg_n, quotearg_n_style): Likewise. (SIZE_MAX, UINT_MAX): New macros. (quotearg_n_options): Abort if N is negative. Avoid overflow check on hosts where size_t is 64 bits and int is 32 bits, as overflow is impossible there. Fix off-by-one typo that caused unnecessary reallocation. 2001-11-27 Jim Meyering <jim@meyering.net> * tempname.c: Merge with version from libc. * regex.c: Likewise. * tempname.c: Include stdlib.h unconditionally. On some old systems for which STDC_HEADERS is 0, it was not included, resulting in a warning about an integer-to-pointer conversion problem with getenv. Reported by Volker Borchert. 2001-11-26 Jim Meyering <jim@meyering.net> * gtod.h: Remove file. * Makefile.am (libfetish_a_SOURCES): Remove gtod.h. * gettimeofday.c: Don't include gtod.h. (GTOD_init): Remove function. (rpl_gettimeofday): Do its job here instead, rather than aborting. Suggestion from Volker Borchert. 2001-11-23 Jim Meyering <jim@meyering.net> * hash.h (struct hash_table): Don't define here. Merely declare it. * hash.c (struct hash_table): Define it here instead. 2001-11-22 Jim Meyering <jim@meyering.net> * hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. 2001-11-18 Paul Eggert <eggert@twinsun.com> * tempname.c (TMP_MAX): Remove; no longer needed. (TEMPORARIES): New macro. (__gen_tempname): Use TEMPORARIES rather than TMP_MAX. This removes an artificial limitation (e.g. HP-UX 10.20, where TMP_MAX is 17576). 2001-11-18 Jim Meyering <jim@meyering.net> * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning on SunOS 4. * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those files will be created before anything else. 2001-11-17 Jim Meyering <jim@meyering.net> * modechange.c (mode_adjust): Fix error introduced on 1999-04-26 that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable rather than group writable. Patch by Juan F. Codagnone. * readtokens.c: Remove explicit declarations of xmalloc and xrealloc, Instead, include "xalloc.h". * mountlist.c: Include unlocked-io.h after all system headers. Remove explicit declarations of xmalloc, xrealloc, and xstrdup. Instead, include "xalloc.h". * argmatch.c, closeout.c, error.c, exclude.c: Include unlocked-io.h. * fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: Likewise. * mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise. * regex.c, sha.c, version-etc.c, yesno.c: Likewise. Reported by Padraig Brady. * mkstemp.c: #undef mkstemp. Include config.h. (rpl_mkstemp): Rename from mkstemp. Protoize. 2001-11-16 Jim Meyering <jim@meyering.net> * physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>. (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to determine the amount of total physical memory, use pstat_getstatic. HPUX-11 doesn't define _SC_PHYS_PAGES. (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]: If sysconf couldn't be used to determine the amount of available physical memory, use both pstat_getstatic and pstat_getdynamic. Based on a patch from Bob Proulx. 2001-11-05 Jim Meyering <jim@meyering.net> * xstat.in (slash_aware_lstat): Correct a misleading comment. 2001-11-03 Jim Meyering <jim@meyering.net> * argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args in argmatch_to_argument call. * dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an argument. * hash.c (hash_clear): Fix a bug that could lead to an infloop or e.g., a fault due to an attempt to free a NULL pointer. 2001-11-01 Jim Meyering <jim@meyering.net> * dirfd.c, dirfd.h: New files. * Makefile.am (libfetish_a_SOURCES): Add dirfd.h. * hash.c (hash_print) [TESTING]: Clean up. 2001-10-22 Paul Eggert <eggert@twinsun.com> * hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, to avoid a warning if -Wall. 2001-10-21 Paul Eggert <eggert@twinsun.com> * regex.c (uintptr_t): Remove macro and decl; it's config.h's job. 2001-10-21 Jim Meyering <jim@meyering.net> * obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, this code would end up calling gettext even in packages built with --disable-nls. * getopt.c (_): Likewise. * regex.c (_): Likewise. 2001-10-20 Paul Eggert <eggert@twinsun.com> * error.c (strerror_r): Do not declare unless !_LIBC. Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. Use strerror_r that is only a macro, even if it is not a function. (strerror): Check for HAVE_DECL_STRERROR before declaring. (private_strerror): Use prototypes, not old-style function definition. (print_errno_message): New function. Support the POSIX 'int'-flavored strerror_r, as well as the traditional char*-flavored one. (error_tail, error, error_at_line): Use it. 2001-10-11 Jim Meyering <jim@meyering.net> * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... and quote_n (1, ... to avoid clobbering a buffer. 2001-10-05 Jim Meyering <jim@meyering.net> * Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h. * hash-pjw.c: New file (factored out of fileutils' remove.c). * hash-pjw.h: New file. 2001-09-30 Jim Meyering <jim@meyering.net> * mountlist.c [MOUNTED_GETFSSTAT]: Include <sys/ucred.h>, for Apple Darwin. Include sys/mount.h and sys/fs_types.h only if available. (FS_TYPE): Define. (read_filesystem_list): Use FS_TYPE. 2001-09-29 Paul Eggert <eggert@twinsun.com> * exclude.c (excluded_filename): 0 -> false, since it's a boolean context. 2001-09-28 Paul Eggert <eggert@twinsun.com> Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which #defines strtoimax. Also treat the other strto* functions like strtoimax. * xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL. (strtoul): Do not declare if HAVE_DECL_STRTOUL. (strtoimax, strtoumax): Do not declare if already defined as a macro. 2001-09-26 Jim Meyering <jim@meyering.net> Most macros in unlocked-io.h had the wrong number of arguments. * gen-uio: New script. (USE_UNLOCKED_IO): Define to 1 if not already defined. * unlocked-io.hin: Remove file. * Makefile.am (unlocked-io.h): Rewrite to use a separate script, rather than trying to embed it here. (EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin Reported by Padraig Brady. 2001-09-25 Volker Borchert <bt@teknon.de> * gettimeofday.c (rpl_gettimeofday): Declare local variable `result'. 2001-09-23 Jim Meyering <jim@meyering.net> * mountlist.c: Remove useless parentheses in #if directives. (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when the deprecated MOUNTED symbol is no longer defined in mntent.h. 2001-09-22 Jim Meyering <jim@meyering.net> * localcharset.c: Update from latest gettext. * config.charset: Likewise. 2001-09-20 Jim Meyering <jim@meyering.net> * xstrtol.c (strtoimax): Guard declaration with `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'. The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0) have their own, conflicting declaration of strtoimax in sys/inttypes.h. (strtoumax): Likewise, for completeness (it wasn't necessary). 2001-09-06 Paul Eggert <eggert@twinsun.com> * strtoimax.c (HAVE_LONG_LONG): Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned. (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base), to work around bug in IBM C compiler. 2001-09-16 Jim Meyering <jim@meyering.net> * mkdir.c: New file. 2001-09-04 Paul Eggert <eggert@twinsun.com> * xgetcwd.c: Revert some of the previous change; intead, fix the HAVE_GETCWD_NULL code to behave more like the !HAVE_GETCWD_NULL code used to. Include "xalloc.h". (xgetcwd): Do not return NULL when memory is exhausted; instead, invoke xalloc_die. 2001-09-04 Paul Eggert <eggert@twinsun.com> * xreadlink.c (xreadlink): Omit size_t* arg. All uses changed. Use ssize_t, not int, to store result of readlink. Check for ssize_t overflow as well as size_t overflow, as POSIX says the result of readlink is implementation-defined when ssize_t overflows. Remove unnecessary cast to char*. Use free+malloc instead of realloc, as the storage doesn't need to be preserved and it's clearer and can be more efficient that way. (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare. * xreadlink.h (xreadlink): Update prototype. 2001-09-03 Paul Eggert <eggert@twinsun.com> * exclude.c (fnmatch_no_wildcards): Fix confusion between usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was spotted by Jim Meyering. 2001-09-03 Jim Meyering <jim@meyering.net> * xreadlink.c (xreadlink): Preserve errno around `free' during failure. 2001-09-03 Paul Eggert <eggert@twinsun.com> * xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more like the HAVE_GETCWD_NULL code. Include pathmax.h if not HAVE_GETCWD. Do not include xalloc.h. (INITIAL_BUFFER_SIZE): New symbol. Do not use xmalloc / xrealloc, since the caller is responsible for handling errors. Preserve errno around `free' during failure. Do not overrun buffer when using getwd. 2001-09-03 Paul Eggert <eggert@twinsun.com> * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0). 2001-09-02 Jim Meyering <jim@meyering.net> * error.c: Update from GNU libc. 2001-09-01 Jim Meyering <jim@meyering.net> * xreadlink.c: New file. * xreadlink.h: New file. * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h. * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it doesn't conflict with sparc Solaris 7's definition in /usr/include/sys/int_types.h. * exclude.c: Use `""', not `<>' to #include non-system header files. (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp and strncasecmp as r-values. Unixware didn't have declarations. 2001-08-31 Jim Meyering <jim@meyering.net> * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication. Use an initial, malloc'd, buffer of length 128 rather than a statically allocated one of length 1024. 2001-08-30 Paul Eggert <eggert@twinsun.com> * xgetcwd.c: Don't include pathmax.h. Include stdlib.h and unistd.h if available. Include xalloc.h. (xmalloc, xstrdup, free): Remove decls. (xgetcwd): Don't assume sizes fit in unsigned. Check for overflow when computing sizes. Simplify reallocation code. 2001-08-28 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c. * strtoimax.c: Renamed from strtoxmax.c, removing the old strtoimax.c. Also, make the following further changes to make this file's configuration more similar to that of strtol.c: (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed. (strtoumax, uintmax_t, strtoull, strtol): Remove. (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED. (strtoimax): Renamed from strtoumax. All uses of unsigned values changed to signed values. And make the following changes as well: Fix copyright notice, as 1999 was missing. (verify): New macro. (strtoimax): Check sizes at compile-time, not run-time. Prefer strtol to strtoll if both work. (main): Remove; it was not that useful and was a pain to maintain. * strtoumax.c: Include strtoimax.c, not strtouxmax.c. 2001-08-30 Paul Eggert <eggert@twinsun.com> * savedir.c (savedir): Remove size parameter, as POSIX says that a directory's st_size can have an arbitrary value, so the old usage could waste an arbitrary amount of memory. All uses changed. * savedir.h: Update prototype. 2001-08-30 Paul Eggert <eggert@twinsun.com> * xstrtol.c (strtoimax): New decl. 2001-08-28 Paul Eggert <eggert@twinsun.com> * xstrtol.h: Add copyright notice. (_DECLARE_XSTRTOL): Improve quality of diagnostic for LONGINT_INVALID_SUFFIX_CHAR. 2001-08-30 Paul Eggert <eggert@twinsun.com> * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. 2001-08-30 Paul Eggert <eggert@twinsun.com> * hash.c: Remove '2001' from copyright notice. 2001-08-30 Paul Eggert <eggert@twinsun.com> * full-write.h: New file. * Makefile.am (libfetish_a_SOURCES): Add full-write.h. * full-write.c: Correct credits, as cccp.c no longer exists and anyway it was so heavily changed from the old cccp code as to be unrecognizable. Include full-write.h. (full_write) Return size_t, with short writes meaning failure. All callers changed. This fixes a bug with large buffers on 64-bit hosts. * utime.c: Include full-write.h. 2001-08-30 Paul Eggert <eggert@twinsun.com> Merge 'exclude' changes from tar 1.13.22. This fixes one or two unlikely storage allocation overflow bugs, but doesn't change user-visible behavior otherwise. 2001-08-30 Paul Eggert <eggert@twinsun.com> * exclude.c (bool): Declare, perhaps by including stdbool.h. (<sys/types.h>): Include only if HAVE_SYS_TYPES_H. (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>): Include if available. (<xalloc.h>): Include (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't. (verify): New macro. Use it to verify that EXCLUDE macros do not collide with FNM macros. (struct patopts): New struct. (struct exclude): Use it, as exclude patterns now come with options. (new_exclude): Support above changes. (new_exclude, add_exclude_file): Initial size must now be a power of two to simplify overflow checking. (free_exclude, fnmatch_no_wildcards): New function. (excluded_filename): No longer requires options arg, as the options are determined by add_exclude. Now returns bool, not int. (excluded_filename, add_exclude): Add support for the fancy new exclusion options. (add_exclude, add_exclude_file): Now takes int options arg. Check for arithmetic overflow when computing sizes. (add_exclude_file): xrealloc might modify errno, so don't realloc until after errno might be used. * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): New macros. (free_exclude): New decl. (add_exclude, add_exclude_file): Now takes int options arg. (excluded_filename): No longer requires options arg, as the options are determined by add_exclude. Now returns bool, not int. 2001-08-30 Paul Eggert <eggert@twinsun.com> * alloca.c (alloca): Arg is of type size_t, not unsigned. 2001-08-27 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c * version-etc.c (N_): Remove definition. Revert most of last change. Instead, simply don't mark the `Copyright...' string for translation. Based on advice from Paul Eggert. * strtoxmax.c: Tweak comment. 2001-08-26 Jim Meyering <jim@meyering.net> * version-etc.c (version_etc_copyright_fmt): Replace literal year of copyright with `%s' so translators don't get an untranslated message in 2002. (COPYRIGHT_YEAR): Define. (version_etc): Use fprintf rather than fputs. Suggestion from Ulrich Drepper. * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. * strtoll.c: New file, from GNU libc. * xstrtoimax.c: New file. * xstrtol.h: Add xstrtoimax. * strtoumax.c: New file. Simply include "strtoumax.c". * strtoimax.c: New file. Likewise, but first define STRTOUXMAX_SIGNED. * strtoumax.c: Factor to work both for unsigned and signed types, ... * strtoxmax.c: ... then renamed to this. 2001-08-13 Paul Eggert <eggert@twinsun.com> * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice. Port to Solaris 8, where 'sed' requires a space after the 'r' command, and where sh dislikes "$/". Clean up the spacing a bit. Redirect output to $tmp just once. 2001-08-12 Paul Eggert <eggert@sic.twinsun.com> * addext.c (<errno.h>): Include. (errno): Declare if not defined. (addext): Work correctly when pathconf returns -1 and leaves errno alone because there is no limit. Also, work even if pathconf returns a value greater than SIZE_MAX. 2001-08-12 Jim Meyering <jim@meyering.net> * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: Simply `return getcwd (NULL, 0);'. [! (defined __GLIBC__ && __GLIBC__ >= 2)]: Use 1300 as initial value for length, not PATH_MAX. * pathmax.h: Clean up cpp syntax. 2001-08-12 Jim Meyering <jim@meyering.net> * gettimeofday.c: New file. * gtod.h: New file. * Makefile.am (libfetish_a_SOURCES): Add gtod.h. 2001-08-04 Jim Meyering <jim@meyering.net> * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt, to get in sync with glibc. 2001-08-03 Paul Eggert <eggert@twinsun.com> The following changes are from gettext 0.10.39 as maintained by Bruno Haible. * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID): Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID with inverted sense. All uses changed. * mbswidth.c: Don't include <limits.h>. Include <stdlib.h> and <string.h> unconditionally. (iswcntrl, mbsinit, ISCNTRL): New macros. (mbsnwidth): Use K&R style function declarations. Don't bother checking for MB_LEN_MAX == 1, since the compiler can optimize it when MB_CUR_MAX == 1. The width of control characters is zero, not 1. 2001-07-15 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add unlocked-io.hin. (BUILT_SOURCES): Add unlocked-io.h. (io_functions): Define. (unlocked-io.h): New rule. (DISTCLEANFILES): Add unlocked-io.h. (all-local): Depend on unlocked-io.h, to ensure it is created. * unlocked-io.hin: New file * regex.c: Update from glibc. 2001-07-05 Jim Meyering <jim@meyering.net> * Makefile.am (noinst_HEADERS): Remove definition, per new automake recommendation. (libfetish_a_SOURCES): Put all .h files here instead. Remove a thus-exposed (better checks in automake) duplicate and two unnecessary .h files. 2001-06-11 Jim Meyering <jim@meyering.net> * regex.c: Update from GNU libc. 2001-05-27 Jim Meyering <jim@meyering.net> * readutmp.h (UT_TYPE): Define. 2001-05-24 Jim Meyering <jim@meyering.net> * argmatch.c: Include "quote.h". (argmatch_invalid): Remove explicit `' quotes. Instead, use the quote function. Reported by Göran Uddeborg. 2001-05-20 Alexandre Duret-Lutz <duret_g@epita.fr> * dirname.c (dir_name): Compute append_dot using path, not newpath which is not yet declared. 2001-05-11 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Add strftime.c, since we now compile it on all hosts. * strftime.c (my_strftime): Define to nstrftime if emacs, but only if my_strftime is not defined. (extra_args, extra_args_spec, extra_args_spec_iso): Rename from ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively. Add one more extra argument: a nanoseconds value. All uses changed. (ns): New macro. (my_strftime function): Add %N format. (emacs_strftimeu): Renamed from emacs_strftime, with extra ut argument. 2001-05-11 Paul Eggert <eggert@twinsun.com> dirname code cleanup. base_name now behaves more compatibly with POSIX basename when given file names that have trailing slashes, and similarly for dir_name. Add new primitives base_len and dir_len. Put the directory-name-related decls into dirname.h. * addext.c (ISSLASH, base_name): Remove; now in dirname.h. * backupfile.c (base_name): Likewise. * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise. * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. * makepath.c (strip_trailing_slashes): Likewise. * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. * rename.c (strip_trailing_slashes): Likewise. * same.c (base_name): Likewise. * stripslash.c (ISSLASH): Likewise. * addext.c: Include <dirname.h> after size_t is defined. * backupfile.c: Likewise. * addext.c (addext): Use base_len to trim redundant trailing slashes instead of doing it ourselves. But do not trim the last slash if it is not redundant. * backupfile.c (find_backup_file_name, max_backup_version): Use base_len instead of rolling it ourselves. Handle the case of "" and (on DOS) "C:" correctly. * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed. Include <string.h>, <dirname.h>. (base_name): Allow file names ending in slashes, other than names that are all slashes. In this case, return the basename followed by the slashes. This is more general, and can be used in places where the original base_name purposely had an assertion failure. (base_len): New function. * dirname.c: Include <string.h> instead of <stdlib.h>. Do not include <assert.h>; no longer needed. Include xalloc.h. (memrchr): Remove decl. (dir_name_r): Remove. (dir_len): Renamed from dirlen. All callers changed. Rewrite in terms of base_name, for simplicity and consistency. (dir_name): Never return NULL. All callers changed. Do not include <stdlib.h> in test program; no longer needed. return 0; is fine for test program. * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): New macros. (base_name, base_len, dir_len, strip_trailing_slashes): New decls. * path-concat.c (path_concat): Use base_len to compute base length, not strlen; this means we cannot rely on memcpy to null-terminate. * same.c (STREQ): Remove. (same_name): Handle the case where the basename ends in trailing '/'. * stripslash.c (strip_trailing_slashes): Return nonzero if a slash was stripped. Do not strip the last slash after a file system prefix. 2001-04-08 Jim Meyering <jim@meyering.net> * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is recomputed; that's necessary when the offset spans a DST transition. Patch by David J. MacKenzie. Reported by Hon-Yin Kok. 2001-04-02 Jim Meyering <jim@meyering.net> * regex.h, regex.c: Update from GNU libc. 2001-03-19 Paul Eggert <eggert@twinsun.com> * version-etc.c (version_etc_copyright): Update to 2001. 2001-03-16 Paul Eggert <eggert@twinsun.com> * tempname.c (uint64_t): Define to uintmax_t if not defined, and if UINT64_MAX is not defined. Required at least for Vax Ultrix4.3, which doesn't define uint64_t. Reported by John David Anglin. 2001-03-10 Bruno Haible <haible@clisp.cons.org> * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve alias if codeset is empty. * config.charset (BeOS): Use wildcard syntax. 2001-03-13 Jim Meyering <jim@meyering.net> * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when concatenating e.g., `C:' and `foo'. From Bruno Haible. 2001-03-06 Bruno Haible <haible@clisp.cons.org> * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL). Don't return NULL. * unicodeio.c (print_unicode_char): Simplify accordingly. 2001-03-06 Bruno Haible <haible@clisp.cons.org> * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add support for DOS/DJGPP. 2001-02-28 Paul Eggert <eggert@twinsun.com> * Makefile.am (libfetish_a_SOURCES): Add dup-safer.c, fopen-safer.c. (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h. * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files. 2001-02-25 Paul Eggert <eggert@twinsun.com> The mkstemp replacement is taken from glibc 2.2.2, with some portability fixes for use outside glibc, as follows: * tempname.c (struct_stat64): New macro. (direxists, __gen_tempname): Use it. This avoids a portability problem with Solaris 8. * tempname.c (<config.h>): Include if HAVE_CONFIG_H. (<stddef.h>, <stdint.h>, <string.h>): Include only if STDC_HEADERS || _LIBC. (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC. (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC. (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC. (__set_errno): Define this macro if <errno.h> doesn't. (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): Define these macros if <stdio.h> doesn't. (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): Define these macros if <sys/stat.h> doesn't. Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN. (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, __xstat64): Define if not _LIBC. (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). (__gen_tempname): Invoke gettimeofday only if HAVE_GETTIMEOFDAY || _LIBC; otherwise, fall back on plain "time". Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. * mkstemp.c (__GT_FILE): Define to zero if not defined. * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2. 2001-02-17 Jim Meyering <jim@meyering.net> * strtoul.c: Sync from GNU libc. Use double quotes, not <...> around included file name. * strnlen.c (__strnlen): Merge in a change from GNU libc. * strftime.c: Update from GNU libc (the only changes were to comments). 2001-02-13 Bruno Haible <haible@clisp.cons.org> * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash. 2001-02-17 Paul Eggert <eggert@twinsun.com> * mbswidth.c, quotearg.c (mbrtowc, mbsinit): Remove workaround macros for hosts that have mbrtowc but not mbstate_t, as we now insist on proper declarations for both before using mbrtowc. 2001-02-17 Jim Meyering <jim@meyering.net> * regex.c: Update from libc. 2001-02-16 Paul Eggert <eggert@twinsun.com> * alloca.c (malloc): Undef before defining, since stdlib.h may have defined it. Needed for Encore Umax-3.0.9.16b systems. Reported by Mark Hounschell via Paul Eggert. 2001-01-30 Bruno Haible <haible@clisp.cons.org> * config.charset: Update for FreeBSD 4.2. 2001-01-26 Jim Meyering <jim@meyering.net> * quotearg.c: Include stddef.h. * quote.c: Include stddef.h. Reported by Axel Kittenberger. * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking line in double quotes so that it evokes a better diagnostic. [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise. Reported by Axel Kittenberger. 2001-01-15 Bruno Haible <haible@clisp.cons.org> * unicodeio.c (print_unicode_char): Cast the second iconv() arg, to avoid a warning. Add back 'const' to inptr. 2001-01-16 Jim Meyering <jim@meyering.net> * basename.c: Include <stdio.h>, needed by assert on SunOS 4. From Bruno Haible. 2001-01-14 Jim Meyering <jim@meyering.net> * rename.c: New file. From Volker Borchert. Include stdlib.h, string.h or strings.h, and xalloc.h. Use strip_trailing_slashes rather than open-coding it. 2001-01-03 Paul Eggert <eggert@twinsun.com> * strftime.c: Sync with glibc time/strftime.c 1.81. 2001-01-03 Jim Meyering <jim@meyering.net> * unicodeio.c (print_unicode_char): Remove `const' from declaration of local `inptr' to avoid warning with some system declarations of iconv. 2000-12-29 Paul Eggert <eggert@twinsun.com> * modechange.c: Do not assume that mode_t uses the traditional octal encoding. E.g. "chmod 1 FOO" should set the other-execute bit of FOO even if S_IXOTH != 1. (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH, WOTH, XOTH, ALLM): New macros. (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): Use them. (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID. (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above. (mode_compile): No need to use uintmax_t; unsigned long is long enough. Don't bother to get suffix since we don't use it. 2000-12-24 Jim Meyering <jim@meyering.net> * hash.c (is_prime): Return explicit boolean values. (hash_get_first): Return NULL to appease Irix5.6's 89. Reported by Nelson Beebe. 2000-10-31 Bruno Haible <haible@clisp.cons.org> * localcharset.c (locale_charset): Add support for Win32. 2000-12-18 Paul Eggert <eggert@twinsun.com> * physmem.h, physmem.c: New files. * Makefile.am (libfetish_a_SOURCES): Add physmem.c. (noinst_HEADERS): Add physmem.h. * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and 't' for compatibility with Solaris 8 sort. 2000-12-18 Bruno Haible <haible@clisp.cons.org> * config.charset: Add support for BeOS. 2000-12-16 Jim Meyering <jim@meyering.net> * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define SHELLS_FILE to a file name that's useful on djgpp systems. Include stdlib.h. (ADDITIONAL_DEFAULT_SHELLS): Define. (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS. Based mostly on a patch from Prashant TR. 2000-12-16 Jim Meyering <jim@meyering.net> This bug had a serious impact on chown: `chown N:M FILE' (for integer N and M) would have treated it like `chown N:N FILE'. * userspec.c (parse_user_spec): Fix typo: s/u/g/. 2000-10-31 Bruno Haible <haible@clisp.cons.org> * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312. 2000-12-08 Andreas Schwab <schwab@suse.de> * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set. 2000-12-07 Jim Meyering <jim@meyering.net> * stripslash.c (ISSLASH): Define. (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'. From Prashant TR. * dirname.c (FILESYSTEM_PREFIX_LEN): Define. (dir_name_r): Declare this function as static. [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd manifest itself on a name containing a mix of slashes and backslashes. Make this function work with names starting with a DOS-style drive letter and colon prefix. (dir_name): Append `.' if necessary. Based mostly on patches from Prashant TR and Eli Zaretskii. * dirname.h (dir_name_r): Remove prototype. 2000-12-05 Jim Meyering <jim@meyering.net> * dirname.c (dir_name_r): Add `const' in a few local declarations. 2000-12-04 Jim Meyering <jim@meyering.net> * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc. Also include memory.h, stdlib.h, unistd.h if appropriate. Reported by Andreas Jaeger (conflicting declaration of malloc). 2000-12-02 Jim Meyering <jim@meyering.net> * closeout.h: Make idempotent, to avoid some obscure warnings. 2000-12-01 Paul Eggert <eggert@twinsun.com> * memrchr.c: Include <config.h> before any system include file. 2000-11-29 Paul Eggert <eggert@twinsun.com> * dirname.c (dir_name_r): Fix typo: int -> size_t. 2000-11-26 Jim Meyering <jim@meyering.net> * memcoll.c: Include sys/types.h. From Werner Almesberger. 2000-11-22 Paul Eggert <eggert@twinsun.com> * strftime.c (my_strftime): Do not invoke mbrlen with a size of (size_t) -1; it's not portable. 2000-11-17 Akim Demaille <akim@epita.fr> * obstack.h: Formatting changes. (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would prevent type checking. (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't cast the value to (void *): assigning a `foo *' to a `void *' variable is valid. (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. 2000-11-17 Jim Meyering <jim@meyering.net> * strstr.c: Update from GNU libc. 2000-11-16 Jim Meyering <jim@meyering.net> * strverscmp.c: Incorporate weak-alias-related changes from glibc. 2000-11-11 Jim Meyering <jim@meyering.net> * error.c: Add a couple #includes, merging from GNU libc version. 2000-11-10 Jim Meyering <jim@meyering.net> * obstack.h: Update from GNU libc. * obstack.c: Likewise. 2000-11-06 Paul Eggert <eggert@twinsun.com> * getusershell.c (setusershell): Use rewind rather than fseek/fseeko, to avoid configuration hassles with fseeko. Don't bother opening SHELLS_FILE if shellstream is NULL; it's not necessary. 2000-11-05 Jim Meyering <jim@meyering.net> * makepath.h (make_dir): Declare. * makepath.c (make_dir): Remove `static' attribute. Tweak a comment. 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr> * hash.c (hash_get_next): Fix a thinko: when ENTRY is the last one in a bucket, advance to the next bucket. 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg> * fnmatch.c: Do not comment out all the code if we are using the GNU C library, because in some cases we are replacing buggy code in the GNU C library itself. 2000-10-30 Paul Eggert <eggert@twinsun.com> * error.h, getline.h, modechange.h: Remove "2000" from Copyright line, as the file hasn't been changed this year other than in the copyright notice. * xalloc.h: Add "2000" to Copyright line, as this file was changed this year. 2000-10-30 Paul Eggert <eggert@twinsun.com> * fnmatch.c (FOLD): Do not assume that characters are unsigned. (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs, e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero. 2000-10-29 Greg Louis <glouis@dynamicro.on.ca> * regex.h (__restrict_arr): Move definition out of #ifndef block. Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but doesn't define __restrict_arr. 2000-10-29 Jim Meyering <jim@meyering.net> * xstat.in: Fix grammar in comment. 2000-10-28 Jim Meyering <jim@meyering.net> * memchr.c: Update from libc. Adjust for portability: [HAVE_STDLIB_H]: Include stdlib.h. [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h. Undef __memchr, too. [!weak_alias]: Define __memchr to memchr. * regex.c: Update from libc. * regex.h: Likewise. * getopt1.c: Likewise. * memcmp.c: Likewise. * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko. Avoid using fseek, when possible -- it's broken by design. Patch by Ulrich Drepper. 2000-10-26 Jim Meyering <jim@meyering.net> * strftime.c: Update from libc. 2000-10-25 Jim Meyering <jim@meyering.net> * obstack.c: Update from libc. 2000-10-23 Jim Meyering <jim@meyering.net> * hard-locale.c (hard_locale): Revert last change -- it was simply wrong. That set_locale call must not have any side effects. From Paul Eggert. 2000-10-22 Jim Meyering <jim@meyering.net> * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC. [CYCLIC]: Remove now-unused definition. * save-cwd.c (O_DIRECTORY): Define, if needed. (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".". Suggestion from Ulrich Drepper. 2000-10-21 Jim Meyering <jim@meyering.net> * dirname.c (dir_name_r): New function, factored out of dir_name. (dir_name): Use dir_name_r. * dirname.h (dir_name_r): Declare it. 2000-10-21 Jim Meyering <jim@meyering.net> * dirname.c (memrchr): Declare if necessary. (dir_name): Remove the restriction that there be no trailing slashes. Now, this code skips past them, effectively ignoring them. [TEST_DIRNAME] (main): New unit tests. * memrchr.c: New file from GNU libc. Undef __memrchr, too. [!weak_alias]: Define __memrchr to memrchr. Guard weak_alias use with `#ifdef weak_alias'. 2000-10-17 Jim Meyering <jim@meyering.net> * quote.h (PARAMS): Define and use. Reported by Akim Demaille. * getopt.c: Update from libc. 2000-10-16 Jim Meyering <jim@meyering.net> * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale. From Jan Fedak. 2000-09-25 Jim Meyering <jim@meyering.net> * md5.h (rol): Define (from GnuPG). * sha.c: Give credit (GnuPG) where due. (M): Use rol rather than open-coding it. Add a FIXME comment. 2000-09-21 Jim Meyering <jim@meyering.net> * userspec.c (parse_user_spec): Remove debugging printf I'd added. Reported by Michael Stone. 2000-09-20 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add sha.c. (noinst_HEADERS): Add sha.h. Based on code from Scott G. Miller and from GnuPG. 2000-09-15 Jim Meyering <jim@meyering.net> * regex.c: Update from libc. 2000-09-10 Jim Meyering <jim@meyering.net> * getopt.c (_getopt_internal): Update from glibc. 2000-09-09 Jim Meyering <jim@meyering.net> * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't think it should be used as a general replacement for isascii. * fnmatch.c: Likewise. * mbswidth.c: Likewise * regex.c: Likewise. Don't use atoi. * userspec.c: Include sys/param.h and limits.h. Include xstrtol.h. (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define. (parse_user_spec): Use xstrtoul, not atoi when converting numeric UID, GID. Check range. 2000-09-06 Jim Meyering <jim@meyering.net> * getopt.c (_getopt_internal): Update from glibc. 2000-08-30 Jim Meyering <jim@meyering.net> * strftime.c: Merge in changes from GNU libc. 2000-08-26 Jim Meyering <jim@meyering.net> * closeout.c: Include "__fpending.h". (close_stdout_status): Return right away if there's nothing to flush. * Makefile.am (noinst_HEADERS): Add __fpending.h. * __fpending.c: New file. * __fpending.h: New file. 2000-08-07 Paul Eggert <eggert@twinsun.com> Standardize on "memory exhausted" instead of "Memory exhausted" or "virtual memory exhausted". * obstack.c (print_and_abort): Use "memory exhausted", not "virtual memory exhausted". * same.c (same_name): Invoke xalloc_die instead of printing our own message. * userspec.c (parse_user_spec): Likewise. * bumpalloc.h: comment fix * same.c, userspec.c: Include xalloc.h. * xalloc.h (xalloc_msg_memory_exhausted): Now char const[], not char *const and pointing to a constant array. * xmalloc.c (xalloc_msg_memory_exhausted): Likewise. (xrealloc): Comment fix. * userspec.c (parse_user_spec): Don't translate a message until just before returning, to avoid unnecessary translation. 2000-08-07 Jim Meyering <jim@meyering.net> * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h, chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c, fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h, getgroups.c, gethostname.c, getopt.h, group-member.c, hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c, linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c, memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h, pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c, stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c, strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c, utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c, yesno.c: Back out Copyright date changes for each file with no change this year. This eases coordination with other programs using the same source code modules. From Paul Eggert. 2000-08-03 Greg McGary <greg@mcgary.org> * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros. (EXTEND_BUFFER): Use them. 2000-08-01 Jim Meyering <jim@meyering.net> * dirname.c (ISSLASH): Define. (BACKSLASH_IS_PATH_SEPARATOR): Define. (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which both `\' and `/' may be use as path separators. Based on a patch from Prashant TR. 2000-07-31 Paul Eggert <eggert@twinsun.com> * quotearg.c (quotearg_n_options): Don't make the initial slot vector a constant, since it might get modified. 2000-07-31 Jim Meyering <jim@meyering.net> * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'. * obstack.c (print_and_abort): Likewise. 2000-07-30 Paul Eggert <eggert@twinsun.com> * quotearg.c (quotearg_n_options): Preallocate a slot 0 buffer, so that the caller can always quote one small component of a "memory exhausted" message in slot 0. From a suggestion by Jim Meyering. 2000-07-30 Jim Meyering <jim@meyering.net> * makepath.c (make_path): Quote the other instance, too. * quotearg.c (N_STATIC_SLOTVECS): Define. (STATIC_BUF_SIZE): Define. (quotearg_n_options): Use only statically allocated storage when N < N_STATIC_SLOTVECS and the length of the quoted result is smaller than STATIC_BUF_SIZE. 2000-07-29 Jim Meyering <jim@meyering.net> * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS. * dirname.c (dir_name): Likewise. * basename.c (base_name): Use ISSLASH rather than comparing against `/'. * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const. (dir_name): Assert that there are no trailing slashes. 2000-07-18 Bruno Haible <haible@clisp.cons.org> * mbswidth.h (mbswidth): Add a flags argument. (mbswidth): New declaration. (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros. * mbswidth.c (mbswidth): Add a flags argument. (mbsnwidth): New function. 2000-07-24 Jim Meyering <jim@meyering.net> * mbswidth.c: Remove useless #else. From Bruno Haible. 2000-07-23 Paul Eggert <eggert@twinsun.com> * mbswidth.c (_XOPEN_SOURCE): Don't define; this causes problems on Solaris 7. (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. 2000-07-23 Paul Eggert <eggert@twinsun.com> * quotearg.c: Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX), so that mbstate_t is always defined. Do not inspect MB_LEN_MAX, since it's incorrectly defined to be 1 in at least one GCC installation, and this configuration error is likely to be common. Ignoring MB_LEN_MAX hurts performance on hosts that have mbrtowc but have only unibyte locales, but I assume these hosts are rare. 2000-07-23 Paul Eggert <eggert@twinsun.com> * quotearg.c: Streamline by invoking multibyte code only if needed. <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX. (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX). (quotearg_buffer_restyled): If a unibyte locale, don't bother to invoke multibyte primitives. 2000-07-23 Jim Meyering <jim@meyering.net> * basename.c (base_name): Add an assertion. 2000-07-15 Bruno Haible <clisp.cons.org> * quotearg.c: When the system forces us to redefine mbstate_t, shadow its mbsinit function. 2000-07-16 Bruno Haible <haible@clisp.cons.org> * mbswidth.h: New file. * mbswidth.c: New file. * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c. (noinst_HEADERS): Add mbswidth.h. 2000-07-17 Bruno Haible <haible@clisp.cons.org> * config.charset: Add support for FreeBSD. Improve support for HP-UX and IRIX 6. 2000-07-15 Jim Meyering <jim@meyering.net> * makepath.c: Include quote.h. (make_path): Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. Give better diagnostics. * Makefile.am (libfetish_a_SOURCES): Add quote.c. (noinst_HEADERS): Add quote.h. * quote.c (quote, quote_n): New file. Two functions taken verbatim from tar's src/misc.c. * quote.h: New file. Prototypes for same. 2000-07-10 Paul Eggert <eggert@twinsun.com> From a suggestion by Bruno Haible. * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition. Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT, to decide whether to define the BeOS workaround macro; this adjusts to the change to AC_MBSTATE_T. 2000-07-13 Paul Eggert <eggert@twinsun.com> * quotearg.h (enum quoting style): New enum clocale_quoting_style. * quotearg.c (quoting_style_args, quoting_style_vals, quotearg_buffer_restyled): Add support for clocale_quoting_style. Undo previous change to locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}" and "{RIGHT QUOTATION MARK}" msgids. 2000-07-05 Paul Eggert <eggert@twinsun.com> The old behavior of quoting `like this' doesn't look good with newer, ISO-style fonts. See: http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html Instead, quote "like this" by default. Let the translator tailor the locale-specific quoting behavior by providing translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}. * quotearg.c (N_): New macro. (gettext_default): New function. (quotearg_buffer_restyled): Use gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote. 2000-07-09 Jim Meyering <jim@meyering.net> * Most files: Update copyright dates to include 2000. 2000-07-08 Jim Meyering <jim@meyering.net> * xgethostname.c (ENAMETOOLONG): Define to an unlikely value if not defined. (xgethostname): Remove now-unnecessary #ifdef. Move declaration of `err' into loop where it's used. 2000-07-05 Bruno Haible <haible@clisp.cons.org> * xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug by allocating a larger buffer. Test the gethostname return value for being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname returns an error and ENAMETOOLONG isn't defined. 2000-07-05 Paul Eggert <eggert@twinsun.com> and Bruno Haible <haible@clisp.cons.org> * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. 2000-07-05 Bruno Haible <haible@clisp.cons.org> * quotearg.c (struct quoting_options): Simplify quote_these_too dimension. 2000-07-03 Jim Meyering <jim@meyering.net> * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. Reported by Bruno Haible. 2000-07-04 Jim Meyering <jim@meyering.net> * quotearg.c: Make inclusion of <wchar.h> independent of whether HAVE_MBRTOWC is set. Required at least for irix-5.6, which lacks mbrtowc. 2000-07-03 Paul Eggert <eggert@twinsun.com> and Bruno Haible <haible@clisp.cons.org> * quotearg.c (mbrtowc): Assign to *pwc, and return 1 only if result is nonzero. (iswprint): Use ISPRINT when substituting our own mbrtowc. 2000-07-03 Jim Meyering <jim@meyering.net> * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H. This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20. From Bob Proulx. 2000-07-02 Jim Meyering <jim@meyering.net> * quotearg.c (mbstate_t): Don't define here. 2000-07-02 Jim Meyering <jim@meyering.net> * nanosleep.c (SIGCONT): Define if not already defined. 2000-06-17 Bruno Haible <haible@clisp.cons.org> * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV, per change in ../m4/ls-mntd-fs.m4. (read_filesystem_list): Ignore symbolic links. 2000-06-29 Jim Meyering <jim@meyering.net> * same.c: Include <string.h> or <strings.h>, as appropriate, for declaration of strcmp. * long-options.c: Include <stdlib.h>, for declaration of exit. * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]: Avoid warning by casting result to `char *' to remove `const'. 2000-06-17 Bruno Haible <haible@clisp.cons.org> * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. 2000-06-26 Paul Eggert <eggert@twinsun.com> savedir now sets errno on failure and invokes xmalloc to get memory. Fix a couple of other minor bugs while we're at it. * savedir.c (<unistd.h>): Do not include; there's no need. (NAMLEN): Remove macro. (malloc, realloc): Remove decls. (stpcpy): Likewise. ("xalloc.h"): Include. (NAME_SIZE_DEFAULT): New macro. (savedir): Use xmalloc / xrealloc to allocate memory. Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero. Skip "" directory entries. Use strlen to calculate directory entry length, since the old method is rarely used these days and isn't worth supporting. Don't use a pointer after freeing it. Check for integer overflow when calculating allocation size. Use memcpy to copy entries, instead of stpcpy. Set errno properly when returning NULL. Check for readdir error. 2000-06-26 Jim Meyering <jim@meyering.net> * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. 2000-06-17 Bruno Haible <haible@clisp.cons.org> * getusershell.c (xmalloc, xrealloc): Remove functions. Include xalloc.h. Don't include <stdlib.h>. Don't declare malloc, realloc. 2000-06-23 Bruno Haible <haible@clisp.cons.org> * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency. 2000-06-24 Jim Meyering <jim@meyering.net> * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. 2000-06-21 Jim Meyering <jim@meyering.net> * getpass.c: New file, from Bruno Haible. Required for BeOS. 2000-06-19 Paul Eggert <eggert@twinsun.com> * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5. (mbrtowc, mbstate_t): Define substitutes if HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT. (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT, not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). 2000-06-17 Bruno Haible <haible@clisp.cons.org> * xgetcwd.c (xgetcwd): If the required pathname length is smaller than 1024, return a memory chunk of least possible size, instead of size PATH_MAX + 2. In the loop, increment the size proportionally. Use free/xmalloc instead of xrealloc to avoid copying for very long paths. 2000-06-17 Bruno Haible <haible@clisp.cons.org> * canon-host.c (canon_host): Use malloc and memcpy to copy an address, not strdup. Include <stdlib.h> and don't declare free(). 2000-06-17 Bruno Haible <haible@clisp.cons.org> * path-concat.c (path_concat): Don't access dir[-1] if dir is the empty string. 2000-06-21 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Add getstr.c. (noinst_HEADERS): Add getstr.h. * getline.c (getstr): Move into a separate file. * getstr.c (getstr): New file, extracted from getline.c, with the following changes: new parameter, delim2; both delim[12] parameters have type `int', not `char'. The latter would lose with 8-bit delimiters. * getstr.h: New file. 2000-06-19 Jim Meyering <jim@meyering.net> * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. 2000-06-18 Jim Meyering <jim@meyering.net> * mkdir.c: Remove file, due mainly to copyright incompatibility. Besides, these days every porting target provides a mkdir function. * strnlen.c: Include memory.h, string.h, and/or strings.h as needed. (this snippet comes from src/system.h). 2000-06-15 Paul Eggert <eggert@twinsun.com> * human.c (adjust_value): New function. (human_readable_inexact): Apply rounding style even when printing approximate values. 2000-06-14 Paul Eggert <eggert@twinsun.com> * human.c (human_readable_inexact): Allow an input block size that is not a multiple of the output block size, and vice versa. Reported by Piergiorgio Sartor. 2000-06-14 Paul Eggert <eggert@twinsun.com> * getdate.y (get_date): Apply relative times after time zone indicator, not before. Reported by Todd A. Jacobs. 2000-06-13 Jim Meyering <jim@meyering.net> * Makefile.am (all-local): Depend on lstat.c and stat.c. * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c. 2000-06-12 Paul Eggert <eggert@twinsun.com> * xstat.in: Include <stdlib.h> in lstat, to declare "free". 2000-06-04 Paul Eggert <eggert@twinsun.com> * strnlen.c: Include <config.h> if HAVE_CONFIG_H. 2000-06-04 Jim Meyering <jim@meyering.net> * getugroups.c (getugroups): Cast -1 to gid_t, for systems like SunOS 4.1.4 for which gid_t is an unsigned type. 2000-06-03 Jim Meyering <jim@meyering.net> * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr. 2000-05-26 Bruno Haible <haible@clisp.cons.org> * Makefile.am (install-exec-local): On systems with glibc-2.1 or newer, don't install charset.alias. * config.charset: Change the Linux/glibc rules so they become empty on glibc-2.1 or newer. 2000-06-02 Jim Meyering <jim@meyering.net> * mountlist.c: Back out last change. Instead, do this... * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy member using the same `ignore'-testing code. * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored fs_type strings. From Mark D. Roth. 2000-05-29 Jim Meyering <jim@meyering.net> * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts with the `ignore' attribute. Based on a patch from Mark D. Roth. 2000-05-22 Jim Meyering <jim@meyering.net> * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block. 2000-05-18 Jim Meyering <jim@meyering.net> * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list back, too, since it may have been modified by allocate_entry. (hash_delete): Rewrite to use neither the assignment operator nor the comma operator in an if-expression. 2000-05-15 Paul Eggert <eggert@twinsun.com> * closeout.c: <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO): Remove; no longer needed. "quotearg.h": Add include. (file_name): Do not bother to explicitly initialize to NULL; it's less efficient on some hosts. (close_stdout_status): Remove test as to whether stdout was already closed; it breaks for the case "echo x | sort >&-". Quote file name colons. Do not assume that _("write error") lacks format strings. 2000-05-15 Jim Meyering <jim@meyering.net> * version-etc.c (version_etc_copyright): Update the copyright string used in all --version output. 2000-05-14 Jim Meyering <jim@meyering.net> * closeout.c (close_stdout_set_file_name): New function. (close_stdout_status): Use new file-scoped global. Return right away if fstat says the stdout file descriptor is invalid. * closeout.h (close_stdout_set_file_name): Declare. 2000-05-10 Jim Meyering <jim@meyering.net> * closeout.c [default_exit_status]: New file-scoped variable. (close_stdout_set_status): New function. * closeout.h (close_stdout_set_status): Declare. 2000-05-08 Jim Meyering <jim@meyering.net> * long-options.c: Don't include closeout.h. (parse_long_options): Don't call close_stdout for --version. 2000-05-06 Jim Meyering <jim@meyering.net> * strnlen.c: Undefine __strnlen and strnlen. [!weak_alias]: Define __strnlen to strnlen. * atexit.c: New file, from libiberty. 2000-05-06 Jim Meyering <jim@meyering.net> * closeout.c (close_stdout_status): Also check for errors on the stderr stream. 2000-05-05 Bruno Haible <haible@clisp.cons.org> * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy instead of xmalloc, xrealloc, path_concat. (locale_charset): Treat empty environment variables as absent. (DIRECTORY_SEPARATOR, ISSLASH): New macros. 2000-05-04 Jim Meyering <jim@meyering.net> * getopt.c: Update from glibc. * obstack.c: Likewise. * obstack.h: Likewise. * regex.c: Likewise. NB: K&R compiler support is dropped for this file * regex.h: Likewise. * strndup.c: Likewise. * strnlen.c: New file, from glibc. 2000-05-01 Jim Meyering <jim@meyering.net> * full-write.c (full_write): Remove `FIXME' part of comment. 2000-04-29 Jim Meyering <jim@meyering.net> * path-concat.c: Declare strdup only if it's not defined. * canon-host.c: Likewise. 2000-04-28 Jim Meyering <jim@meyering.net> * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid redefinition warning on some systems (HPUX). Otherwise, regex.h is included first, then limits.h is included by locale.h by libintl.h. From John David Anglin. 2000-04-25 Jim Meyering <jim@meyering.net> * makepath.c (S_IRWXUGO): Define. (make_path): Always perform explicit chmod if MODE specifies any of the `special' permission bits. Prompted by a bug report against install from Mate Wierdl and Joost van Baal. 2000-04-18 Jim Meyering <jim@meyering.net> * README: New file. * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define getpagesize. For BeOS. Based on a patch from Bruno Haible. 2000-04-17 Jim Meyering <jim@meyering.net> * strftime.c (my_strftime) [strftime]: Declare strftime here, since the definition of it to rpl_strftime also defined-away the system's declaration. 2000-04-15 Jim Meyering <jim@meyering.net> Use `C' to denote so-called `contiguous' files, the same way that tar does. * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define. (ftypelet): Use S_ISCTG. From Michael Deutschmann. 2000-04-14 Jim Meyering <jim@meyering.net> * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime. 2000-04-08 Jim Meyering <jim@meyering.net> * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3 names don't conflict. Reported by Eli Zaretskii. 2000-03-28 Bruno Haible <haible@clisp.cons.org> * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv bug. Deal with the different error behavior of Irix iconv. 2000-04-07 Jim Meyering <jim@meyering.net> * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h, to work around system header problems on AIX 3.2.5. From Bruno Haible. 2000-04-05 Jim Meyering <jim@meyering.net> Portability tweaks required for ultrix4.3. * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent. * readutmp.c: Include sys/types.h before sys/stat.h. * canon-host.c: Declare strdup. * path-concat.c: Likewise. From John David Anglin. 2000-04-04 Jim Meyering <jim@meyering.net> Be more DOS 8.3-friendly. * ref-add.sin: Renamed from ref-add.sed.in. * ref-del.sin: Renamed from ref-del.sed.in. * Makefile.am: Reflect renaming. Reported by Eli Zaretskii. Use a temporary file name that won't clash with `charset.alias' in the DOS 8.3 name space. * Makefile.am (charset_tmp): Define. (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t. (uninstall-local): Likewise. Reported by Eli Zaretskii. 2000-03-29 Paul Eggert <eggert@twinsun.com> * time/strftime.c (my_strftime): Make sure we call the system strftime, not ourselves, when invoking the underlying strftime. 2000-03-24 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in. (charset_alias): Define. (install-exec-local): Factor out common code. (uninstall-local): Split lines longer than 80. (ref-add.sed, ref-del.sed): Remove rules... (do the following instead) (SUFFIXES): Define. (.sed.in.sed): New rule. Don't redirect directly to $@. (CLEANFILES): Add ref-add.sed and ref-del.sed. 2000-03-19 Bruno Haible <haible@clisp.cons.org> * config.charset: Output a line containing "Packages using this file". * ref-add.sed.in, ref-del.sed.in: New files. * Makefile.am (install-exec-local, uninstall-local, ref-add.sed, ref-del.sed): New rules. 2000-03-17 Jim Meyering <jim@meyering.net> * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H. Otherwise, include <strings.h> 2000-03-17 Bruno Haible <haible@clisp.cons.org> * unicodeio.c (utf8_wctomb): New function. (print_unicode_char): Pass the Unicode character to iconv in UTF-8 format instead of in UCS-4 with platform dependent endianness. 2000-03-07 Paul Eggert <eggert@twinsun.com> * savedir.c (savedir): Work even if directory size is negative; this can happen with some screwy NFS configurations. 2000-03-06 Jim Meyering <jim@meyering.net> * localcharset.c (get_charset_aliases): Don't try to free file_name if it's NULL (because we ran out of memory). From Bruno Haible. 2000-03-05 Jim Meyering <jim@meyering.net> * localcharset.c ("path-concat.h"): Include. (get_charset_aliases): Use path_concat instead of ANSI string concatenation. * unicodeio.h (PARAMS): Define. Use it to guard prototype. 2000-03-04 Jim Meyering <jim@meyering.net> * Makefile.am (install-exec-local): Create $(libdir) before installing into it. (uninstall-local): Uncomment this rule so `make distcheck' works once again. * unicodeio.c (<errno.h>): Include it. (errno): Declare if not defined. * localcharset.c: Add Bruno's comment justifying use of volatile. * config.charset: New version, incorporating remarks from a linux i18n mailing list. From Bruno Haible. 2000-03-02 Jim Meyering <jim@meyering.net> * Makefile.am (EXTRA_DIST): Add config.charset. 2000-03-01 Jim Meyering <jim@meyering.net> * localcharset.c: Guard some #includes with `#if HAVE_...'. * unicodeio.c: Likewise. 2000-02-02 Bruno Haible <haible@clisp.cons.org> * config.charset: New file. * localcharset.c: New file. * unicodeio.h, unicodeio.c: New files. * Makefile.am (DEFS): Add -DLIBDIR=... (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c. (noinst_HEADERS): Add unicodeio.h. (all-local, install-exec-local, charset.alias): New targets. 2000-02-28 Paul Eggert <eggert@twinsun.com> * quotearg.c (ALERT_CHAR): New macro. (quotearg_buffer_restyled): Use it. 2000-02-27 Jim Meyering <jim@meyering.net> * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/. Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'. Declare malloc if needed. * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..' now that autoconf always defines the HAVE_DECL_ symbols. * human.c: Likewise. * same.c: Likewise. * strtoumax.c: Likewise. * backupfile.c: Arrange for cpp to fail if the configure-time declaration check was not run. * hash.c: Likewise. * human.c: Likewise. * same.c: Likewise. * strtoumax.c: Likewise. * userspec.c (parse_user_spec): If there is no `:' but there is a `.', then first look up the entire `.'-containing string as a login name. 2000-02-18 Paul Eggert <eggert@twinsun.com> * getdate.y: Handle two-digit years with leading zeros correctly. (textint): New typedef. (parser_control): Member year changed from int to textint. All uses changed. (YYSTYPE): Removed; replaced by %union with int and textint members. (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN, tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER, tYEAR_UNIT, tZONE, o_merid): Now of type <intval>. (tSNUMBER, tUNUMBER): Now of type <textintval>. (date, number, to_year): Use width of number in digits, not its value, to determine whether it's a 2-digit year, or a 2-digit time. (yylex): Store number of digits of numeric tokens. Reported by John Kendall. (parser_control): Changed from struct parser_control to typedef (for consistency). All uses changed. (tID): Removed; not used. (yylex): Return '?' for unknown identifiers, rather than (unused) tID. 2000-02-14 Paul Eggert <eggert@twinsun.com> * getpagesize.h (getpagesize): Port to VMS for Alpha; adapted from changes to grep getpagesize.h by Martin P.J. Zinser. 2000-02-12 Jim Meyering <jim@meyering.net> * userspec.c (ISDIGIT): Define it. (isdigit): Remove definition. (is_number): Use ISDIGIT, not isdigit. <libintl.h>: Include. (_ and N_): Define. (parse_user_spec): Mark translatable strings. 2000-02-10 Jim Meyering <jim@meyering.net> With these changes, nanosleep.[ch] are finally enough like the other lib/* replacement files to compile on a few more losing systems. * nanosleep.h: Don't include config.h. Remove prototype from declaration of nanosleep. (PARAMS): Remove now-unneeded definition. * nanosleep.c: #undef nanosleep. (rpl_nanosleep): Rename from nanosleep. 2000-02-03 Jim Meyering <jim@meyering.net> * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION', rather than with `#if HAVE_UTMPNAME'. 2000-02-01 Jim Meyering <jim@meyering.net> * readutmp.h (UT_USER): Add parens. From Andreas Schwab. 2000-01-31 Jim Meyering <jim@meyering.net> * nanosleep.h (nanosleep): Guard declaration with `#if ! HAVE_DECL_NANOSLEEP'. Without this, OFS gets a redeclaration error for rpl_nanosleep, due to the declaration in that vendor's sys/timers.h. Reported by Christian Krackowizer. * quotearg.c (ISASCII): Add #undef and move definition to follow inclusion of wctype.h to work around Solaris 2.6 namespace pollution. (ISPRINT): Likewise. Reported by Tom Tromey. 2000-01-30 Jim Meyering <jim@meyering.net> * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding uses of ->ut_name. The latter doesn't work with new Linux header files where only utmpx.ut_user is declared. * readutmp.h (UT_USER): Define. 2000-01-23 Jim Meyering <jim@meyering.net> * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of obstack.c. 2000-01-22 Jim Meyering <jim@meyering.net> * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul. [! HAVE_DECL_STRTOULL]: Declare strtoull. Required for some AIX systems. Reported by Christian Krackowizer. [TESTING] (main): New function. 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il> * dirname.c (dir_name): Support for DOS-style file names with drive letters. * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint. * strverscmp.c (ISDIGIT): Define. (strverscmp): Use ISDIGIT, not isdigit. 2000-01-17 Paul Eggert <eggert@twinsun.com> * nanosleep.c (nanosleep): Don't use SA_INTERRUPT to decide whether to call sigaction, as POSIX.1 doesn't require SA_INTERRUPT and some systems (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead; it's been part of POSIX.1 since day 1 (in 1988). 2000-01-17 Jim Meyering <jim@meyering.net> * interlock: Remove unused file. Reported by François Pinard. 2000-01-16 Paul Eggert <eggert@twinsun.com> * quotearg.c (quotearg_buffer_restyled): Do not quote alert, backslash, formfeed, and vertical tab unnecessarily in shell quoting style. ----- Copyright (C) 2000-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. ������������������������������������������������������������������������coreutils-8.21/lib/euidaccess.c���������������������������������������������������������������������0000664�0000000�0000000�00000013557�12071024546�013404� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* euidaccess -- check if effective user id can access file Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie and Torbjorn Granlund. Adapted for GNU C library by Roland McGrath. */ #ifndef _LIBC # include <config.h> #endif #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include "root-uid.h" #if HAVE_LIBGEN_H # include <libgen.h> #endif #include <errno.h> #ifndef __set_errno # define __set_errno(val) errno = (val) #endif #if defined EACCES && !defined EACCESS # define EACCESS EACCES #endif #ifndef F_OK # define F_OK 0 # define X_OK 1 # define W_OK 2 # define R_OK 4 #endif #ifdef _LIBC # define access __access # define getuid __getuid # define getgid __getgid # define geteuid __geteuid # define getegid __getegid # define group_member __group_member # define euidaccess __euidaccess # undef stat # define stat stat64 #endif /* Return 0 if the user has permission of type MODE on FILE; otherwise, return -1 and set 'errno'. Like access, except that it uses the effective user and group id's instead of the real ones, and it does not always check for read-only file system, text busy, etc. */ int euidaccess (const char *file, int mode) { #if HAVE_FACCESSAT /* glibc, AIX 7, Solaris 11, Cygwin 1.7 */ return faccessat (AT_FDCWD, file, mode, AT_EACCESS); #elif defined EFF_ONLY_OK /* IRIX, OSF/1, Interix */ return access (file, mode | EFF_ONLY_OK); #elif defined ACC_SELF /* AIX */ return accessx (file, mode, ACC_SELF); #elif HAVE_EACCESS /* FreeBSD */ return eaccess (file, mode); #else /* Mac OS X, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, mingw, BeOS */ uid_t uid = getuid (); gid_t gid = getgid (); uid_t euid = geteuid (); gid_t egid = getegid (); struct stat stats; # if HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS /* Define PREFER_NONREENTRANT_EUIDACCESS if you prefer euidaccess to return the correct result even if this would make it nonreentrant. Define this only if your entire application is safe even if the uid or gid might temporarily change. If your application uses signal handlers or threads it is probably not safe. */ if (mode == F_OK) return stat (file, &stats); else { int result; int saved_errno; if (uid != euid) setreuid (euid, uid); if (gid != egid) setregid (egid, gid); result = access (file, mode); saved_errno = errno; /* Restore them. */ if (uid != euid) setreuid (uid, euid); if (gid != egid) setregid (gid, egid); errno = saved_errno; return result; } # else /* The following code assumes the traditional Unix model, and is not correct on systems that have ACLs or the like. However, it's better than nothing, and it is reentrant. */ unsigned int granted; if (uid == euid && gid == egid) /* If we are not set-uid or set-gid, access does the same. */ return access (file, mode); if (stat (file, &stats) != 0) return -1; /* The super-user can read and write any file, and execute any file that anyone can execute. */ if (euid == ROOT_UID && ((mode & X_OK) == 0 || (stats.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))) return 0; /* Convert the mode to traditional form, clearing any bogus bits. */ if (R_OK == 4 && W_OK == 2 && X_OK == 1 && F_OK == 0) mode &= 7; else mode = ((mode & R_OK ? 4 : 0) + (mode & W_OK ? 2 : 0) + (mode & X_OK ? 1 : 0)); if (mode == 0) return 0; /* The file exists. */ /* Convert the file's permission bits to traditional form. */ if (S_IRUSR == (4 << 6) && S_IWUSR == (2 << 6) && S_IXUSR == (1 << 6) && S_IRGRP == (4 << 3) && S_IWGRP == (2 << 3) && S_IXGRP == (1 << 3) && S_IROTH == (4 << 0) && S_IWOTH == (2 << 0) && S_IXOTH == (1 << 0)) granted = stats.st_mode; else granted = ((stats.st_mode & S_IRUSR ? 4 << 6 : 0) + (stats.st_mode & S_IWUSR ? 2 << 6 : 0) + (stats.st_mode & S_IXUSR ? 1 << 6 : 0) + (stats.st_mode & S_IRGRP ? 4 << 3 : 0) + (stats.st_mode & S_IWGRP ? 2 << 3 : 0) + (stats.st_mode & S_IXGRP ? 1 << 3 : 0) + (stats.st_mode & S_IROTH ? 4 << 0 : 0) + (stats.st_mode & S_IWOTH ? 2 << 0 : 0) + (stats.st_mode & S_IXOTH ? 1 << 0 : 0)); if (euid == stats.st_uid) granted >>= 6; else if (egid == stats.st_gid || group_member (stats.st_gid)) granted >>= 3; if ((mode & ~granted) == 0) return 0; __set_errno (EACCESS); return -1; # endif #endif } #undef euidaccess #ifdef weak_alias weak_alias (__euidaccess, euidaccess) #endif #ifdef TEST # include <error.h> # include <stdio.h> # include <stdlib.h> char *program_name; int main (int argc, char **argv) { char *file; int mode; int err; program_name = argv[0]; if (argc < 3) abort (); file = argv[1]; mode = atoi (argv[2]); err = euidaccess (file, mode); printf ("%d\n", err); if (err != 0) error (0, errno, "%s", file); exit (0); } #endif �������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/safe-read.h����������������������������������������������������������������������0000664�0000000�0000000�00000003434�12071024546�013121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to read() that retries after interrupts. Copyright (C) 2002, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Some system calls may be interrupted and fail with errno = EINTR in the following situations: - The process is stopped and restarted (signal SIGSTOP and SIGCONT, user types Ctrl-Z) on some platforms: Mac OS X. - The process receives a signal for which a signal handler was installed with sigaction() with an sa_flags field that does not contain SA_RESTART. - The process receives a signal for which a signal handler was installed with signal() and for which no call to siginterrupt(sig,0) was done, on some platforms: AIX, HP-UX, IRIX, OSF/1, Solaris. This module provides a wrapper around read() that handles EINTR. */ #include <stddef.h> #ifdef __cplusplus extern "C" { #endif #define SAFE_READ_ERROR ((size_t) -1) /* Read up to COUNT bytes at BUF from descriptor FD, retrying if interrupted. Return the actual number of bytes read, zero for EOF, or SAFE_READ_ERROR upon error. */ extern size_t safe_read (int fd, void *buf, size_t count); #ifdef __cplusplus } #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/localcharset.h�������������������������������������������������������������������0000664�0000000�0000000�00000002432�12071561010�013723� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/backupfile.h���������������������������������������������������������������������0000664�0000000�0000000�00000003255�12071024545�013377� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* backupfile.h -- declarations for making Emacs style backup file names Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef BACKUPFILE_H_ # define BACKUPFILE_H_ # ifdef __cplusplus extern "C" { # endif /* When to make backup files. */ enum backup_type { /* Never make backups. */ no_backups, /* Make simple backups of every file. */ simple_backups, /* Make numbered backups of files that already have numbered backups, and simple backups of the others. */ numbered_existing_backups, /* Make numbered backups of every file. */ numbered_backups }; # define VALID_BACKUP_TYPE(Type) \ ((unsigned int) (Type) <= numbered_backups) extern char const *simple_backup_suffix; char *find_backup_file_name (char const *, enum backup_type); enum backup_type get_version (char const *context, char const *arg); enum backup_type xget_version (char const *context, char const *arg); void addext (char *, char const *, int); # ifdef __cplusplus } # endif #endif /* ! BACKUPFILE_H_ */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/read-file.h����������������������������������������������������������������������0000664�0000000�0000000�00000002135�12071561012�013111� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* read-file.h -- read file contents into a string Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef READ_FILE_H #define READ_FILE_H /* Get size_t. */ #include <stddef.h> /* Get FILE. */ #include <stdio.h> extern char *fread_file (FILE * stream, size_t * length); extern char *read_file (const char *filename, size_t * length); extern char *read_binary_file (const char *filename, size_t * length); #endif /* READ_FILE_H */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unlinkat.c�����������������������������������������������������������������������0000664�0000000�0000000�00000006325�12071024546�013114� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around unlinkat bugs on Solaris 9 and Hurd. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <string.h> #include <sys/stat.h> #include <stdlib.h> #include "dosname.h" #include "openat.h" #if HAVE_UNLINKAT # undef unlinkat /* unlinkat without AT_REMOVEDIR does not honor trailing / on Solaris 9. Solve it in a similar manner to unlink. Hurd has the same issue. */ int rpl_unlinkat (int fd, char const *name, int flag) { size_t len; int result = 0; /* rmdir behavior has no problems with trailing slash. */ if (flag & AT_REMOVEDIR) return unlinkat (fd, name, flag); len = strlen (name); if (len && ISSLASH (name[len - 1])) { /* See the lengthy comment in unlink.c why we disobey the POSIX rule of letting unlink("link-to-dir/") attempt to unlink a directory. */ struct stat st; result = lstatat (fd, name, &st); if (result == 0) { /* Trailing NUL will overwrite the trailing slash. */ char *short_name = malloc (len); if (!short_name) { errno = EPERM; return -1; } memcpy (short_name, name, len); while (len && ISSLASH (short_name[len - 1])) short_name[--len] = '\0'; if (len && (lstatat (fd, short_name, &st) || S_ISLNK (st.st_mode))) { free (short_name); errno = EPERM; return -1; } free (short_name); } } if (!result) result = unlinkat (fd, name, flag); return result; } #else /* !HAVE_UNLINKAT */ /* Replacement for Solaris' function by the same name. <http://www.google.com/search?q=unlinkat+site:docs.sun.com> First, try to simulate it via (unlink|rmdir) ("/proc/self/fd/FD/FILE"). Failing that, simulate it via save_cwd/fchdir/(unlink|rmdir)/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' unlinkat. */ # define AT_FUNC_NAME unlinkat # define AT_FUNC_F1 rmdir # define AT_FUNC_F2 unlink # define AT_FUNC_USE_F1_COND AT_REMOVEDIR # define AT_FUNC_POST_FILE_PARAM_DECLS , int flag # define AT_FUNC_POST_FILE_ARGS /* empty */ # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_F2 # undef AT_FUNC_USE_F1_COND # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS #endif /* !HAVE_UNLINKAT */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/tempname.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003665�12071561014�013102� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create a temporary file or directory. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* header written by Eric Blake */ #ifndef GL_TEMPNAME_H # define GL_TEMPNAME_H # include <stdio.h> # ifdef __GT_FILE # define GT_FILE __GT_FILE # define GT_DIR __GT_DIR # define GT_NOCREATE __GT_NOCREATE # else # define GT_FILE 0 # define GT_DIR 1 # define GT_NOCREATE 2 # endif /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix). The name constructed does not exist at the time of the call to gen_tempname. TMPL is overwritten with the result. KIND may be one of: GT_NOCREATE: simply verify that the name does not exist at the time of the call. GT_FILE: create a large file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind); extern int gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind, size_t x_suffix_len); #endif /* GL_TEMPNAME_H */ ���������������������������������������������������������������������������coreutils-8.21/lib/closeout.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002042�12071024546�013121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Close standard output and standard error. Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef CLOSEOUT_H # define CLOSEOUT_H 1 # include <stdbool.h> # ifdef __cplusplus extern "C" { # endif void close_stdout_set_file_name (const char *file); void close_stdout_set_ignore_EPIPE (bool ignore); void close_stdout (void); # ifdef __cplusplus } # endif #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/canon-host.c���������������������������������������������������������������������0000664�0000000�0000000�00000006272�12071024545�013340� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Host name canonicalization Copyright (C) 2005-2013 Free Software Foundation, Inc. Written by Derek Price <derek@ximbiot.com>. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "canon-host.h" #include <string.h> #include <netdb.h> /* Store the last error for the single-threaded version of this function. */ static int last_cherror; /* Single-threaded of wrapper for canon_host_r. After a NULL return, error messages may be retrieved via ch_strerror(). */ char * canon_host (const char *host) { return canon_host_r (host, &last_cherror); } /* Return a malloc'd string containing the canonical hostname associated with HOST, or NULL if a canonical name cannot be determined. On NULL return, if CHERROR is not NULL, set *CHERROR to an error code as returned by getaddrinfo(). Use ch_strerror_r() or gai_strerror() to convert a *CHERROR value to a string suitable for error messages. WARNINGS HOST must be a string representation of a resolvable name for this host. Strings containing an IP address in dotted decimal notation will be returned as-is, without further resolution. The use of the word "canonical" in this context is unfortunate but entrenched. The value returned by this function will be the end result of the resolution of any CNAME chains in the DNS. There may only be one such value for any given hostname, though the actual IP address referenced by this value and the device using that IP address may each actually have any number of such "canonical" hostnames. See the POSIX getaddrinfo spec <http://www.opengroup.org/susv3xsh/getaddrinfo.html">, RFC 1034 <http://www.faqs.org/rfcs/rfc1034.html>, & RFC 2181 <http://www.faqs.org/rfcs/rfc2181.html> for more on what this confusing term really refers to. */ char * canon_host_r (char const *host, int *cherror) { char *retval = NULL; static struct addrinfo hints; struct addrinfo *res = NULL; int status; hints.ai_flags = AI_CANONNAME; status = getaddrinfo (host, NULL, &hints, &res); if (!status) { /* http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00300.html says Darwin 7.9.0 getaddrinfo returns 0 but sets res->ai_canonname to NULL. */ retval = strdup (res->ai_canonname ? res->ai_canonname : host); if (!retval && cherror) *cherror = EAI_MEMORY; freeaddrinfo (res); } else if (cherror) *cherror = status; return retval; } /* Return a string describing the last error encountered by canon_host. */ const char * ch_strerror (void) { return gai_strerror (last_cherror); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/frexpl.c�������������������������������������������������������������������������0000664�0000000�0000000�00000001756�12071024546�012572� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a 'long double' into fraction and mantissa. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE /* Specification. */ # include <math.h> long double frexpl (long double x, int *expptr) { return frexp (x, expptr); } #else # define USE_LONG_DOUBLE # include "frexp.c" #endif ������������������coreutils-8.21/lib/iswblank.c�����������������������������������������������������������������������0000664�0000000�0000000�00000001531�12071561010�013063� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test wide character for being blank. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wctype.h> int iswblank (wint_t wc) { return wc == ' ' || wc == '\t'; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dup-safer-flag.c�����������������������������������������������������������������0000664�0000000�0000000�00000002443�12071024546�014061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Duplicate a file descriptor result, avoiding clobbering STD{IN,OUT,ERR}_FILENO, with specific flags. Copyright (C) 2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Eric Blake. */ #include <config.h> /* Specification. */ #include "unistd-safer.h" #include <fcntl.h> #include <unistd.h> /* Like dup, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. If FLAG contains O_CLOEXEC, behave like fcntl(F_DUPFD_CLOEXEC) rather than fcntl(F_DUPFD). */ int dup_safer_flag (int fd, int flag) { return fcntl (fd, (flag & O_CLOEXEC) ? F_DUPFD_CLOEXEC : F_DUPFD, STDERR_FILENO + 1); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stddef.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000005232�12071561013�013141� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ /* * POSIX 2008 <stddef.h> for platforms that have issues. * <http://www.opengroup.org/susv3xbd/stddef.h.html> */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_wchar_t || defined __need_size_t \ || defined __need_ptrdiff_t || defined __need_NULL \ || defined __need_wint_t /* Special invocation convention inside gcc header files. In particular, gcc provides a version of <stddef.h> that blindly redefines NULL even when __need_wint_t was defined, even though wint_t is not normally provided by <stddef.h>. Hence, we must remember if special invocation has ever been used to obtain wint_t, in which case we need to clean up NULL yet again. */ # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) # ifdef __need_wint_t # undef _@GUARD_PREFIX@_STDDEF_H # define _GL_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ # endif #else /* Normal invocation convention. */ # ifndef _@GUARD_PREFIX@_STDDEF_H /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ # ifndef _@GUARD_PREFIX@_STDDEF_H # define _@GUARD_PREFIX@_STDDEF_H /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ #if @REPLACE_NULL@ # undef NULL # ifdef __cplusplus /* ISO C++ says that the macro NULL must expand to an integer constant expression, hence '((void *) 0)' is not allowed in C++. */ # if __GNUG__ >= 3 /* GNU C++ has a __null macro that behaves like an integer ('int' or 'long') but has the same size as a pointer. Use that, to avoid warnings. */ # define NULL __null # else # define NULL 0L # endif # else # define NULL ((void *) 0) # endif #endif /* Some platforms lack wchar_t. */ #if !@HAVE_WCHAR_T@ # define wchar_t int #endif # endif /* _@GUARD_PREFIX@_STDDEF_H */ # endif /* _@GUARD_PREFIX@_STDDEF_H */ #endif /* __need_XXX */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistr.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000055175�12071561014�013230� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Elementary Unicode string functions. Copyright (C) 2001-2002, 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _UNISTR_H #define _UNISTR_H #include "unitypes.h" /* Get common macros for C. */ #include "unused-parameter.h" /* Get bool. */ #include <stdbool.h> /* Get size_t. */ #include <stddef.h> #ifdef __cplusplus extern "C" { #endif /* Conventions: All functions prefixed with u8_ operate on UTF-8 encoded strings. Their unit is an uint8_t (1 byte). All functions prefixed with u16_ operate on UTF-16 encoded strings. Their unit is an uint16_t (a 2-byte word). All functions prefixed with u32_ operate on UCS-4 encoded strings. Their unit is an uint32_t (a 4-byte word). All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly n units. All arguments starting with "str" and the arguments of functions starting with u8_str/u16_str/u32_str denote a NUL terminated string, i.e. a string which terminates at the first NUL unit. This termination unit is considered part of the string for all memory allocation purposes, but is not considered part of the string for all other logical purposes. Functions returning a string result take a (resultbuf, lengthp) argument pair. If resultbuf is not NULL and the result fits into *lengthp units, it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly allocated string is returned. In both cases, *lengthp is set to the length (number of units) of the returned string. In case of error, NULL is returned and errno is set. */ /* Elementary string checks. */ /* Check whether an UTF-8 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint8_t * u8_check (const uint8_t *s, size_t n) _UC_ATTRIBUTE_PURE; /* Check whether an UTF-16 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint16_t * u16_check (const uint16_t *s, size_t n) _UC_ATTRIBUTE_PURE; /* Check whether an UCS-4 string is well-formed. Return NULL if valid, or a pointer to the first invalid unit otherwise. */ extern const uint32_t * u32_check (const uint32_t *s, size_t n) _UC_ATTRIBUTE_PURE; /* Elementary string conversions. */ /* Convert an UTF-8 string to an UTF-16 string. */ extern uint16_t * u8_to_u16 (const uint8_t *s, size_t n, uint16_t *resultbuf, size_t *lengthp); /* Convert an UTF-8 string to an UCS-4 string. */ extern uint32_t * u8_to_u32 (const uint8_t *s, size_t n, uint32_t *resultbuf, size_t *lengthp); /* Convert an UTF-16 string to an UTF-8 string. */ extern uint8_t * u16_to_u8 (const uint16_t *s, size_t n, uint8_t *resultbuf, size_t *lengthp); /* Convert an UTF-16 string to an UCS-4 string. */ extern uint32_t * u16_to_u32 (const uint16_t *s, size_t n, uint32_t *resultbuf, size_t *lengthp); /* Convert an UCS-4 string to an UTF-8 string. */ extern uint8_t * u32_to_u8 (const uint32_t *s, size_t n, uint8_t *resultbuf, size_t *lengthp); /* Convert an UCS-4 string to an UTF-16 string. */ extern uint16_t * u32_to_u16 (const uint32_t *s, size_t n, uint16_t *resultbuf, size_t *lengthp); /* Elementary string functions. */ /* Return the length (number of units) of the first character in S, which is no longer than N. Return 0 if it is the NUL character. Return -1 upon failure. */ /* Similar to mblen(), except that s must not be NULL. */ extern int u8_mblen (const uint8_t *s, size_t n) _UC_ATTRIBUTE_PURE; extern int u16_mblen (const uint16_t *s, size_t n) _UC_ATTRIBUTE_PURE; extern int u32_mblen (const uint32_t *s, size_t n) _UC_ATTRIBUTE_PURE; /* Return the length (number of units) of the first character in S, putting its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, and an appropriate number of units is returned. The number of available units, N, must be > 0. */ /* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0, and the NUL character is not treated specially. */ /* The variants with _safe suffix are safe, even if the library is compiled without --enable-safety. */ #if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n); # else extern int u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n); static inline int u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n) { uint8_t c = *s; if (c < 0x80) { *puc = c; return 1; } else return u8_mbtouc_unsafe_aux (puc, s, n); } # endif #endif #if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n); # else extern int u16_mbtouc_unsafe_aux (ucs4_t *puc, const uint16_t *s, size_t n); static inline int u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n) { uint16_t c = *s; if (c < 0xd800 || c >= 0xe000) { *puc = c; return 1; } else return u16_mbtouc_unsafe_aux (puc, s, n); } # endif #endif #if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n); # else static inline int u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) { uint32_t c = *s; # if CONFIG_UNICODE_SAFETY if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) # endif *puc = c; # if CONFIG_UNICODE_SAFETY else /* invalid multibyte character */ *puc = 0xfffd; # endif return 1; } # endif #endif #if GNULIB_UNISTR_U8_MBTOUC || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n); # else extern int u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n); static inline int u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n) { uint8_t c = *s; if (c < 0x80) { *puc = c; return 1; } else return u8_mbtouc_aux (puc, s, n); } # endif #endif #if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n); # else extern int u16_mbtouc_aux (ucs4_t *puc, const uint16_t *s, size_t n); static inline int u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n) { uint16_t c = *s; if (c < 0xd800 || c >= 0xe000) { *puc = c; return 1; } else return u16_mbtouc_aux (puc, s, n); } # endif #endif #if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n); # else static inline int u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) { uint32_t c = *s; if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) *puc = c; else /* invalid multibyte character */ *puc = 0xfffd; return 1; } # endif #endif /* Return the length (number of units) of the first character in S, putting its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, and -1 is returned for an invalid sequence of units, -2 is returned for an incomplete sequence of units. The number of available units, N, must be > 0. */ /* Similar to u*_mbtouc(), except that the return value gives more details about the failure, similar to mbrtowc(). */ #if GNULIB_UNISTR_U8_MBTOUCR || HAVE_LIBUNISTRING extern int u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n); #endif #if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING extern int u16_mbtoucr (ucs4_t *puc, const uint16_t *s, size_t n); #endif #if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING extern int u32_mbtoucr (ucs4_t *puc, const uint32_t *s, size_t n); #endif /* Put the multibyte character represented by UC in S, returning its length. Return -1 upon failure, -2 if the number of available units, N, is too small. The latter case cannot occur if N >= 6/2/1, respectively. */ /* Similar to wctomb(), except that s must not be NULL, and the argument n must be specified. */ #if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING /* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr. */ extern int u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n); # if !HAVE_INLINE extern int u8_uctomb (uint8_t *s, ucs4_t uc, int n); # else static inline int u8_uctomb (uint8_t *s, ucs4_t uc, int n) { if (uc < 0x80 && n > 0) { s[0] = uc; return 1; } else return u8_uctomb_aux (s, uc, n); } # endif #endif #if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING /* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr. */ extern int u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n); # if !HAVE_INLINE extern int u16_uctomb (uint16_t *s, ucs4_t uc, int n); # else static inline int u16_uctomb (uint16_t *s, ucs4_t uc, int n) { if (uc < 0xd800 && n > 0) { s[0] = uc; return 1; } else return u16_uctomb_aux (s, uc, n); } # endif #endif #if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING # if !HAVE_INLINE extern int u32_uctomb (uint32_t *s, ucs4_t uc, int n); # else static inline int u32_uctomb (uint32_t *s, ucs4_t uc, int n) { if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000)) { if (n > 0) { *s = uc; return 1; } else return -2; } else return -1; } # endif #endif /* Copy N units from SRC to DEST. */ /* Similar to memcpy(). */ extern uint8_t * u8_cpy (uint8_t *dest, const uint8_t *src, size_t n); extern uint16_t * u16_cpy (uint16_t *dest, const uint16_t *src, size_t n); extern uint32_t * u32_cpy (uint32_t *dest, const uint32_t *src, size_t n); /* Copy N units from SRC to DEST, guaranteeing correct behavior for overlapping memory areas. */ /* Similar to memmove(). */ extern uint8_t * u8_move (uint8_t *dest, const uint8_t *src, size_t n); extern uint16_t * u16_move (uint16_t *dest, const uint16_t *src, size_t n); extern uint32_t * u32_move (uint32_t *dest, const uint32_t *src, size_t n); /* Set the first N characters of S to UC. UC should be a character that occupies only 1 unit. */ /* Similar to memset(). */ extern uint8_t * u8_set (uint8_t *s, ucs4_t uc, size_t n); extern uint16_t * u16_set (uint16_t *s, ucs4_t uc, size_t n); extern uint32_t * u32_set (uint32_t *s, ucs4_t uc, size_t n); /* Compare S1 and S2, each of length N. */ /* Similar to memcmp(). */ extern int u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n) _UC_ATTRIBUTE_PURE; extern int u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n) _UC_ATTRIBUTE_PURE; extern int u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n) _UC_ATTRIBUTE_PURE; /* Compare S1 and S2. */ /* Similar to the gnulib function memcmp2(). */ extern int u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2) _UC_ATTRIBUTE_PURE; extern int u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2) _UC_ATTRIBUTE_PURE; extern int u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2) _UC_ATTRIBUTE_PURE; /* Search the string at S for UC. */ /* Similar to memchr(). */ extern uint8_t * u8_chr (const uint8_t *s, size_t n, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint16_t * u16_chr (const uint16_t *s, size_t n, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint32_t * u32_chr (const uint32_t *s, size_t n, ucs4_t uc) _UC_ATTRIBUTE_PURE; /* Count the number of Unicode characters in the N units from S. */ /* Similar to mbsnlen(). */ extern size_t u8_mbsnlen (const uint8_t *s, size_t n) _UC_ATTRIBUTE_PURE; extern size_t u16_mbsnlen (const uint16_t *s, size_t n) _UC_ATTRIBUTE_PURE; extern size_t u32_mbsnlen (const uint32_t *s, size_t n) _UC_ATTRIBUTE_PURE; /* Elementary string functions with memory allocation. */ /* Make a freshly allocated copy of S, of length N. */ extern uint8_t * u8_cpy_alloc (const uint8_t *s, size_t n); extern uint16_t * u16_cpy_alloc (const uint16_t *s, size_t n); extern uint32_t * u32_cpy_alloc (const uint32_t *s, size_t n); /* Elementary string functions on NUL terminated strings. */ /* Return the length (number of units) of the first character in S. Return 0 if it is the NUL character. Return -1 upon failure. */ extern int u8_strmblen (const uint8_t *s) _UC_ATTRIBUTE_PURE; extern int u16_strmblen (const uint16_t *s) _UC_ATTRIBUTE_PURE; extern int u32_strmblen (const uint32_t *s) _UC_ATTRIBUTE_PURE; /* Return the length (number of units) of the first character in S, putting its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL character. Return -1 upon failure. */ extern int u8_strmbtouc (ucs4_t *puc, const uint8_t *s); extern int u16_strmbtouc (ucs4_t *puc, const uint16_t *s); extern int u32_strmbtouc (ucs4_t *puc, const uint32_t *s); /* Forward iteration step. Advances the pointer past the next character, or returns NULL if the end of the string has been reached. Puts the character's 'ucs4_t' representation in *PUC. */ extern const uint8_t * u8_next (ucs4_t *puc, const uint8_t *s); extern const uint16_t * u16_next (ucs4_t *puc, const uint16_t *s); extern const uint32_t * u32_next (ucs4_t *puc, const uint32_t *s); /* Backward iteration step. Advances the pointer to point to the previous character, or returns NULL if the beginning of the string had been reached. Puts the character's 'ucs4_t' representation in *PUC. */ extern const uint8_t * u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start); extern const uint16_t * u16_prev (ucs4_t *puc, const uint16_t *s, const uint16_t *start); extern const uint32_t * u32_prev (ucs4_t *puc, const uint32_t *s, const uint32_t *start); /* Return the number of units in S. */ /* Similar to strlen(), wcslen(). */ extern size_t u8_strlen (const uint8_t *s) _UC_ATTRIBUTE_PURE; extern size_t u16_strlen (const uint16_t *s) _UC_ATTRIBUTE_PURE; extern size_t u32_strlen (const uint32_t *s) _UC_ATTRIBUTE_PURE; /* Return the number of units in S, but at most MAXLEN. */ /* Similar to strnlen(), wcsnlen(). */ extern size_t u8_strnlen (const uint8_t *s, size_t maxlen) _UC_ATTRIBUTE_PURE; extern size_t u16_strnlen (const uint16_t *s, size_t maxlen) _UC_ATTRIBUTE_PURE; extern size_t u32_strnlen (const uint32_t *s, size_t maxlen) _UC_ATTRIBUTE_PURE; /* Copy SRC to DEST. */ /* Similar to strcpy(), wcscpy(). */ extern uint8_t * u8_strcpy (uint8_t *dest, const uint8_t *src); extern uint16_t * u16_strcpy (uint16_t *dest, const uint16_t *src); extern uint32_t * u32_strcpy (uint32_t *dest, const uint32_t *src); /* Copy SRC to DEST, returning the address of the terminating NUL in DEST. */ /* Similar to stpcpy(). */ extern uint8_t * u8_stpcpy (uint8_t *dest, const uint8_t *src); extern uint16_t * u16_stpcpy (uint16_t *dest, const uint16_t *src); extern uint32_t * u32_stpcpy (uint32_t *dest, const uint32_t *src); /* Copy no more than N units of SRC to DEST. */ /* Similar to strncpy(), wcsncpy(). */ extern uint8_t * u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n); extern uint16_t * u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n); extern uint32_t * u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n); /* Copy no more than N units of SRC to DEST. Return a pointer past the last non-NUL unit written into DEST. */ /* Similar to stpncpy(). */ extern uint8_t * u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n); extern uint16_t * u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n); extern uint32_t * u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n); /* Append SRC onto DEST. */ /* Similar to strcat(), wcscat(). */ extern uint8_t * u8_strcat (uint8_t *dest, const uint8_t *src); extern uint16_t * u16_strcat (uint16_t *dest, const uint16_t *src); extern uint32_t * u32_strcat (uint32_t *dest, const uint32_t *src); /* Append no more than N units of SRC onto DEST. */ /* Similar to strncat(), wcsncat(). */ extern uint8_t * u8_strncat (uint8_t *dest, const uint8_t *src, size_t n); extern uint16_t * u16_strncat (uint16_t *dest, const uint16_t *src, size_t n); extern uint32_t * u32_strncat (uint32_t *dest, const uint32_t *src, size_t n); /* Compare S1 and S2. */ /* Similar to strcmp(), wcscmp(). */ #ifdef __sun /* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */ extern int u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2) _UC_ATTRIBUTE_PURE; # define u8_strcmp u8_strcmp_gnu #else extern int u8_strcmp (const uint8_t *s1, const uint8_t *s2) _UC_ATTRIBUTE_PURE; #endif extern int u16_strcmp (const uint16_t *s1, const uint16_t *s2) _UC_ATTRIBUTE_PURE; extern int u32_strcmp (const uint32_t *s1, const uint32_t *s2) _UC_ATTRIBUTE_PURE; /* Compare S1 and S2 using the collation rules of the current locale. Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2. Upon failure, set errno and return any value. */ /* Similar to strcoll(), wcscoll(). */ extern int u8_strcoll (const uint8_t *s1, const uint8_t *s2); extern int u16_strcoll (const uint16_t *s1, const uint16_t *s2); extern int u32_strcoll (const uint32_t *s1, const uint32_t *s2); /* Compare no more than N units of S1 and S2. */ /* Similar to strncmp(), wcsncmp(). */ extern int u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n) _UC_ATTRIBUTE_PURE; extern int u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n) _UC_ATTRIBUTE_PURE; extern int u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n) _UC_ATTRIBUTE_PURE; /* Duplicate S, returning an identical malloc'd string. */ /* Similar to strdup(), wcsdup(). */ extern uint8_t * u8_strdup (const uint8_t *s); extern uint16_t * u16_strdup (const uint16_t *s); extern uint32_t * u32_strdup (const uint32_t *s); /* Find the first occurrence of UC in STR. */ /* Similar to strchr(), wcschr(). */ extern uint8_t * u8_strchr (const uint8_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint16_t * u16_strchr (const uint16_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint32_t * u32_strchr (const uint32_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; /* Find the last occurrence of UC in STR. */ /* Similar to strrchr(), wcsrchr(). */ extern uint8_t * u8_strrchr (const uint8_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint16_t * u16_strrchr (const uint16_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; extern uint32_t * u32_strrchr (const uint32_t *str, ucs4_t uc) _UC_ATTRIBUTE_PURE; /* Return the length of the initial segment of STR which consists entirely of Unicode characters not in REJECT. */ /* Similar to strcspn(), wcscspn(). */ extern size_t u8_strcspn (const uint8_t *str, const uint8_t *reject) _UC_ATTRIBUTE_PURE; extern size_t u16_strcspn (const uint16_t *str, const uint16_t *reject) _UC_ATTRIBUTE_PURE; extern size_t u32_strcspn (const uint32_t *str, const uint32_t *reject) _UC_ATTRIBUTE_PURE; /* Return the length of the initial segment of STR which consists entirely of Unicode characters in ACCEPT. */ /* Similar to strspn(), wcsspn(). */ extern size_t u8_strspn (const uint8_t *str, const uint8_t *accept) _UC_ATTRIBUTE_PURE; extern size_t u16_strspn (const uint16_t *str, const uint16_t *accept) _UC_ATTRIBUTE_PURE; extern size_t u32_strspn (const uint32_t *str, const uint32_t *accept) _UC_ATTRIBUTE_PURE; /* Find the first occurrence in STR of any character in ACCEPT. */ /* Similar to strpbrk(), wcspbrk(). */ extern uint8_t * u8_strpbrk (const uint8_t *str, const uint8_t *accept) _UC_ATTRIBUTE_PURE; extern uint16_t * u16_strpbrk (const uint16_t *str, const uint16_t *accept) _UC_ATTRIBUTE_PURE; extern uint32_t * u32_strpbrk (const uint32_t *str, const uint32_t *accept) _UC_ATTRIBUTE_PURE; /* Find the first occurrence of NEEDLE in HAYSTACK. */ /* Similar to strstr(), wcsstr(). */ extern uint8_t * u8_strstr (const uint8_t *haystack, const uint8_t *needle) _UC_ATTRIBUTE_PURE; extern uint16_t * u16_strstr (const uint16_t *haystack, const uint16_t *needle) _UC_ATTRIBUTE_PURE; extern uint32_t * u32_strstr (const uint32_t *haystack, const uint32_t *needle) _UC_ATTRIBUTE_PURE; /* Test whether STR starts with PREFIX. */ extern bool u8_startswith (const uint8_t *str, const uint8_t *prefix) _UC_ATTRIBUTE_PURE; extern bool u16_startswith (const uint16_t *str, const uint16_t *prefix) _UC_ATTRIBUTE_PURE; extern bool u32_startswith (const uint32_t *str, const uint32_t *prefix) _UC_ATTRIBUTE_PURE; /* Test whether STR ends with SUFFIX. */ extern bool u8_endswith (const uint8_t *str, const uint8_t *suffix) _UC_ATTRIBUTE_PURE; extern bool u16_endswith (const uint16_t *str, const uint16_t *suffix) _UC_ATTRIBUTE_PURE; extern bool u32_endswith (const uint32_t *str, const uint32_t *suffix) _UC_ATTRIBUTE_PURE; /* Divide STR into tokens separated by characters in DELIM. This interface is actually more similar to wcstok than to strtok. */ /* Similar to strtok_r(), wcstok(). */ extern uint8_t * u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr); extern uint16_t * u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr); extern uint32_t * u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr); #ifdef __cplusplus } #endif #endif /* _UNISTR_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/verify.h�������������������������������������������������������������������������0000664�0000000�0000000�00000023132�12071024546�012573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compile-time assert-like macros. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #ifndef _GL_VERIFY_H # define _GL_VERIFY_H /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. This is supported by GCC 4.6.0 and later, in C mode, and its use here generates easier-to-read diagnostics when verify (R) fails. Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11. This will likely be supported by future GCC versions, in C++ mode. Use this only with GCC. If we were willing to slow 'configure' down we could also use it with other compilers, but since this affects only the quality of diagnostics, why bother? */ # if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus # define _GL_HAVE__STATIC_ASSERT 1 # endif /* The condition (99 < __GNUC__) is temporary, until we know about the first G++ release that supports static_assert. */ # if (99 < __GNUC__) && defined __cplusplus # define _GL_HAVE_STATIC_ASSERT 1 # endif /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike assert (R), there is no run-time overhead. If _Static_assert works, verify (R) uses it directly. Similarly, _GL_VERIFY_TRUE works by packaging a _Static_assert inside a struct that is an operand of sizeof. The code below uses several ideas for C++ compilers, and for C compilers that do not support _Static_assert: * The first step is ((R) ? 1 : -1). Given an expression R, of integral or boolean or floating-point type, this yields an expression of integral type, whose value is later verified to be constant and nonnegative. * Next this expression W is wrapped in a type struct _gl_verify_type { unsigned int _gl_verify_error_if_negative: W; }. If W is negative, this yields a compile-time error. No compiler can deal with a bit-field of negative size. One might think that an array size check would have the same effect, that is, that the type struct { unsigned int dummy[W]; } would work as well. However, inside a function, some compilers (such as C++ compilers and GNU C) allow local parameters and variables inside array size expressions. With these compilers, an array size check would not properly diagnose this misuse of the verify macro: void function (int n) { verify (n < 0); } * For the verify macro, the struct _gl_verify_type will need to somehow be embedded into a declaration. To be portable, this declaration must declare an object, a constant, a function, or a typedef name. If the declared entity uses the type directly, such as in struct dummy {...}; typedef struct {...} dummy; extern struct {...} *dummy; extern void dummy (struct {...} *); extern struct {...} *dummy (void); two uses of the verify macro would yield colliding declarations if the entity names are not disambiguated. A workaround is to attach the current line number to the entity name: #define _GL_CONCAT0(x, y) x##y #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) extern struct {...} * _GL_CONCAT (dummy, __LINE__); But this has the problem that two invocations of verify from within the same macro would collide, since the __LINE__ value would be the same for both invocations. (The GCC __COUNTER__ macro solves this problem, but is not portable.) A solution is to use the sizeof operator. It yields a number, getting rid of the identity of the type. Declarations like extern int dummy [sizeof (struct {...})]; extern void dummy (int [sizeof (struct {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; can be repeated. * Should the implementation use a named struct or an unnamed struct? Which of the following alternatives can be used? extern int dummy [sizeof (struct {...})]; extern int dummy [sizeof (struct _gl_verify_type {...})]; extern void dummy (int [sizeof (struct {...})]); extern void dummy (int [sizeof (struct _gl_verify_type {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; extern int (*dummy (void)) [sizeof (struct _gl_verify_type {...})]; In the second and sixth case, the struct type is exported to the outer scope; two such declarations therefore collide. GCC warns about the first, third, and fourth cases. So the only remaining possibility is the fifth case: extern int (*dummy (void)) [sizeof (struct {...})]; * GCC warns about duplicate declarations of the dummy function if -Wredundant-decls is used. GCC 4.3 and later have a builtin __COUNTER__ macro that can let us generate unique identifiers for each dummy function, to suppress this warning. * This implementation exploits the fact that older versions of GCC, which do not support _Static_assert, also do not warn about the last declaration mentioned above. * GCC warns if -Wnested-externs is enabled and verify() is used within a function body; but inside a function, you can always arrange to use verify_expr() instead. * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ /* Concatenate two preprocessor tokens. */ # define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) # define _GL_CONCAT0(x, y) x##y /* _GL_COUNTER is an integer, preferably one that changes each time we use it. Use __COUNTER__ if it works, falling back on __LINE__ otherwise. __LINE__ isn't perfect, but it's better than a constant. */ # if defined __COUNTER__ && __COUNTER__ != __COUNTER__ # define _GL_COUNTER __COUNTER__ # else # define _GL_COUNTER __LINE__ # endif /* Generate a symbol with the given prefix, making it unique if possible. */ # define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) /* Verify requirement R at compile-time, as an integer constant expression that returns 1. If R is false, fail at compile-time, preferably with a diagnostic that includes the string-literal DIAGNOSTIC. */ # define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) # ifdef __cplusplus # if !GNULIB_defined_struct__gl_verify_type template <int w> struct _gl_verify_type { unsigned int _gl_verify_error_if_negative: w; }; # define GNULIB_defined_struct__gl_verify_type 1 # endif # define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ _gl_verify_type<(R) ? 1 : -1> # elif defined _GL_HAVE__STATIC_ASSERT # define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ struct { \ _Static_assert (R, DIAGNOSTIC); \ int _gl_dummy; \ } # else # define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } # endif /* Verify requirement R at compile-time, as a declaration without a trailing ';'. If R is false, fail at compile-time, preferably with a diagnostic that includes the string-literal DIAGNOSTIC. Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ # ifdef _GL_HAVE__STATIC_ASSERT # define _GL_VERIFY _Static_assert # else # define _GL_VERIFY(R, DIAGNOSTIC) \ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] # endif /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ # ifdef _GL_STATIC_ASSERT_H # if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert # define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) # endif # if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert # define static_assert _Static_assert /* C11 requires this #define. */ # endif # endif /* @assert.h omit start@ */ /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike assert (R), there is no run-time overhead. There are two macros, since no single macro can be used in all contexts in C. verify_true (R) is for scalar contexts, including integer constant expression contexts. verify (R) is for declaration contexts, e.g., the top level. */ /* Verify requirement R at compile-time, as an integer constant expression. Return 1. This is equivalent to verify_expr (R, 1). verify_true is obsolescent; please use verify_expr instead. */ # define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") /* Verify requirement R at compile-time. Return the value of the expression E. */ # define verify_expr(R, E) \ (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */ # define verify(R) _GL_VERIFY (R, "verify (" #R ")") /* @assert.h omit end@ */ #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdlib-safer.h�������������������������������������������������������������������0000664�0000000�0000000�00000001775�12071024546�013657� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke stdlib.h functions, but avoid some glitches. Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ int mkstemp_safer (char *); #if GNULIB_MKOSTEMP int mkostemp_safer (char *, int); #endif #if GNULIB_MKOSTEMPS int mkostemps_safer (char *, int, int); #endif #if GNULIB_MKSTEMPS int mkstemps_safer (char *, int); #endif ���coreutils-8.21/lib/memrchr.c������������������������������������������������������������������������0000664�0000000�0000000�00000013101�12071024546�012712� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* memrchr -- find the last occurrence of a byte in a memory block Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2013 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if defined _LIBC # include <memcopy.h> #else # include <config.h> # define reg_char char #endif #include <string.h> #include <limits.h> #undef __memrchr #ifdef _LIBC # undef memrchr #endif #ifndef weak_alias # define __memrchr memrchr #endif /* Search no more than N bytes of S for C. */ void * __memrchr (void const *s, int c_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned reg_char c; c = (unsigned char) c_in; /* Handle the last few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s + n; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n) if (*--char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. So, the test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *--longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) { longword_ptr++; break; } n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ while (n-- > 0) { if (*--char_ptr == c) return (void *) char_ptr; } return NULL; } #ifdef weak_alias weak_alias (__memrchr, memrchr) #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strtod.c�������������������������������������������������������������������������0000664�0000000�0000000�00000025003�12071024546�012600� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1992, 1997, 1999, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <stdlib.h> #include <ctype.h> #include <errno.h> #include <float.h> #include <limits.h> #include <math.h> #include <stdbool.h> #include <string.h> #include "c-ctype.h" #ifndef HAVE_LDEXP_IN_LIBC #define HAVE_LDEXP_IN_LIBC 0 #endif #ifndef HAVE_RAW_DECL_STRTOD #define HAVE_RAW_DECL_STRTOD 0 #endif /* Return true if C is a space in the current locale, avoiding problems with signed char and isspace. */ static bool locale_isspace (char c) { unsigned char uc = c; return isspace (uc) != 0; } #if !HAVE_LDEXP_IN_LIBC #define ldexp dummy_ldexp /* A dummy definition that will never be invoked. */ static double ldexp (double x _GL_UNUSED, int exponent _GL_UNUSED) { abort (); return 0.0; } #endif /* Return X * BASE**EXPONENT. Return an extreme value and set errno to ERANGE if underflow or overflow occurs. */ static double scale_radix_exp (double x, int radix, long int exponent) { /* If RADIX == 10, this code is neither precise nor fast; it is merely a straightforward and relatively portable approximation. If N == 2, this code is precise on a radix-2 implementation, albeit perhaps not fast if ldexp is not in libc. */ long int e = exponent; if (HAVE_LDEXP_IN_LIBC && radix == 2) return ldexp (x, e < INT_MIN ? INT_MIN : INT_MAX < e ? INT_MAX : e); else { double r = x; if (r != 0) { if (e < 0) { while (e++ != 0) { r /= radix; if (r == 0 && x != 0) { errno = ERANGE; break; } } } else { while (e-- != 0) { if (r < -DBL_MAX / radix) { errno = ERANGE; return -HUGE_VAL; } else if (DBL_MAX / radix < r) { errno = ERANGE; return HUGE_VAL; } else r *= radix; } } } return r; } } /* Parse a number at NPTR; this is a bit like strtol (NPTR, ENDPTR) except there are no leading spaces or signs or "0x", and ENDPTR is nonnull. The number uses a base BASE (either 10 or 16) fraction, a radix RADIX (either 10 or 2) exponent, and exponent character EXPCHAR. To convert from a number of digits to a radix exponent, multiply by RADIX_MULTIPLIER (either 1 or 4). */ static double parse_number (const char *nptr, int base, int radix, int radix_multiplier, char expchar, char **endptr) { const char *s = nptr; bool got_dot = false; long int exponent = 0; double num = 0; for (;; ++s) { int digit; if (c_isdigit (*s)) digit = *s - '0'; else if (base == 16 && c_isxdigit (*s)) digit = c_tolower (*s) - ('a' - 10); else if (! got_dot && *s == '.') { /* Record that we have found the decimal point. */ got_dot = true; continue; } else /* Any other character terminates the number. */ break; /* Make sure that multiplication by base will not overflow. */ if (num <= DBL_MAX / base) num = num * base + digit; else { /* The value of the digit doesn't matter, since we have already gotten as many digits as can be represented in a 'double'. This doesn't necessarily mean the result will overflow. The exponent may reduce it to within range. We just need to record that there was another digit so that we can multiply by 10 later. */ exponent += radix_multiplier; } /* Keep track of the number of digits after the decimal point. If we just divided by base here, we might lose precision. */ if (got_dot) exponent -= radix_multiplier; } if (c_tolower (*s) == expchar && ! locale_isspace (s[1])) { /* Add any given exponent to the implicit one. */ int save = errno; char *end; long int value = strtol (s + 1, &end, 10); errno = save; if (s + 1 != end) { /* Skip past the exponent, and add in the implicit exponent, resulting in an extreme value on overflow. */ s = end; exponent = (exponent < 0 ? (value < LONG_MIN - exponent ? LONG_MIN : exponent + value) : (LONG_MAX - exponent < value ? LONG_MAX : exponent + value)); } } *endptr = (char *) s; return scale_radix_exp (num, radix, exponent); } static double underlying_strtod (const char *, char **); /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zero (void) { return -DBL_MIN * DBL_MIN; } # define minus_zero compute_minus_zero () #else double minus_zero = -0.0; #endif /* Convert NPTR to a double. If ENDPTR is not NULL, a pointer to the character after the last one used in the number is put in *ENDPTR. */ double strtod (const char *nptr, char **endptr) { bool negative = false; /* The number so far. */ double num; const char *s = nptr; const char *end; char *endbuf; int saved_errno; /* Eat whitespace. */ while (locale_isspace (*s)) ++s; /* Get the sign. */ negative = *s == '-'; if (*s == '-' || *s == '+') ++s; saved_errno = errno; num = underlying_strtod (s, &endbuf); end = endbuf; if (c_isdigit (s[*s == '.'])) { /* If a hex float was converted incorrectly, do it ourselves. If the string starts with "0x" but does not contain digits, consume the "0" ourselves. If a hex float is followed by a 'p' but no exponent, then adjust the end pointer. */ if (*s == '0' && c_tolower (s[1]) == 'x') { if (! c_isxdigit (s[2 + (s[2] == '.')])) end = s + 1; else if (end <= s + 2) { num = parse_number (s + 2, 16, 2, 4, 'p', &endbuf); end = endbuf; } else { const char *p = s + 2; while (p < end && c_tolower (*p) != 'p') p++; if (p < end && ! c_isdigit (p[1 + (p[1] == '-' || p[1] == '+')])) end = p; } } else { /* If "1e 1" was misparsed as 10.0 instead of 1.0, re-do the underlying strtod on a copy of the original string truncated to avoid the bug. */ const char *e = s + 1; while (e < end && c_tolower (*e) != 'e') e++; if (e < end && ! c_isdigit (e[1 + (e[1] == '-' || e[1] == '+')])) { char *dup = strdup (s); errno = saved_errno; if (!dup) { /* Not really our day, is it. Rounding errors are better than outright failure. */ num = parse_number (s, 10, 10, 1, 'e', &endbuf); } else { dup[e - s] = '\0'; num = underlying_strtod (dup, &endbuf); saved_errno = errno; free (dup); errno = saved_errno; } end = e; } } s = end; } /* Check for infinities and NaNs. */ else if (c_tolower (*s) == 'i' && c_tolower (s[1]) == 'n' && c_tolower (s[2]) == 'f') { s += 3; if (c_tolower (*s) == 'i' && c_tolower (s[1]) == 'n' && c_tolower (s[2]) == 'i' && c_tolower (s[3]) == 't' && c_tolower (s[4]) == 'y') s += 5; num = HUGE_VAL; errno = saved_errno; } else if (c_tolower (*s) == 'n' && c_tolower (s[1]) == 'a' && c_tolower (s[2]) == 'n') { s += 3; if (*s == '(') { const char *p = s + 1; while (c_isalnum (*p)) p++; if (*p == ')') s = p + 1; } /* If the underlying implementation misparsed the NaN, assume its result is incorrect, and return a NaN. Normally it's better to use the underlying implementation's result, since a nice implementation populates the bits of the NaN according to interpreting n-char-sequence as a hexadecimal number. */ if (s != end) num = NAN; errno = saved_errno; } else { /* No conversion could be performed. */ errno = EINVAL; s = nptr; } if (endptr != NULL) *endptr = (char *) s; /* Special case -0.0, since at least ICC miscompiles negation. We can't use copysign(), as that drags in -lm on some platforms. */ if (!num && negative) return minus_zero; return negative ? -num : num; } /* The "underlying" strtod implementation. This must be defined after strtod because it #undefs strtod. */ static double underlying_strtod (const char *nptr, char **endptr) { if (HAVE_RAW_DECL_STRTOD) { /* Prefer the native strtod if available. Usually it should work and it should give more-accurate results than our approximation. */ #undef strtod return strtod (nptr, endptr); } else { /* Approximate strtod well enough for this module. There's no need to handle anything but finite unsigned decimal numbers with nonnull ENDPTR. */ return parse_number (nptr, 10, 10, 1, 'e', endptr); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdarg.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000002162�12071561013�013153� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for and wrapper around <stdarg.h>. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_STDARG_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDARG_H@ #ifndef _@GUARD_PREFIX@_STDARG_H #define _@GUARD_PREFIX@_STDARG_H #ifndef va_copy # define va_copy(a,b) ((a) = (b)) #endif #endif /* _@GUARD_PREFIX@_STDARG_H */ #endif /* _@GUARD_PREFIX@_STDARG_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistr/��������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207521�012515� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistr/u8-mbtoucr.c��������������������������������������������������������������0000664�0000000�0000000�00000024344�12071561014�014615� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Look at first character in UTF-8 string, returning an error code. Copyright (C) 1999-2002, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "unistr.h" int u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n) { uint8_t c = *s; if (c < 0x80) { *puc = c; return 1; } else if (c >= 0xc2) { if (c < 0xe0) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40) { *puc = ((unsigned int) (c & 0x1f) << 6) | (unsigned int) (s[1] ^ 0x80); return 2; } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } else if (c < 0xf0) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40 && (c >= 0xe1 || s[1] >= 0xa0) && (c != 0xed || s[1] < 0xa0)) { if (n >= 3) { if ((s[2] ^ 0x80) < 0x40) { *puc = ((unsigned int) (c & 0x0f) << 12) | ((unsigned int) (s[1] ^ 0x80) << 6) | (unsigned int) (s[2] ^ 0x80); return 3; } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } else if (c < 0xf8) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40 && (c >= 0xf1 || s[1] >= 0x90) #if 1 && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90)) #endif ) { if (n >= 3) { if ((s[2] ^ 0x80) < 0x40) { if (n >= 4) { if ((s[3] ^ 0x80) < 0x40) { *puc = ((unsigned int) (c & 0x07) << 18) | ((unsigned int) (s[1] ^ 0x80) << 12) | ((unsigned int) (s[2] ^ 0x80) << 6) | (unsigned int) (s[3] ^ 0x80); return 4; } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } #if 0 else if (c < 0xfc) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40 && (c >= 0xf9 || s[1] >= 0x88)) { if (n >= 3) { if ((s[2] ^ 0x80) < 0x40) { if (n >= 4) { if ((s[3] ^ 0x80) < 0x40) { if (n >= 5) { if ((s[4] ^ 0x80) < 0x40) { *puc = ((unsigned int) (c & 0x03) << 24) | ((unsigned int) (s[1] ^ 0x80) << 18) | ((unsigned int) (s[2] ^ 0x80) << 12) | ((unsigned int) (s[3] ^ 0x80) << 6) | (unsigned int) (s[4] ^ 0x80); return 5; } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } else if (c < 0xfe) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40 && (c >= 0xfd || s[1] >= 0x84)) { if (n >= 3) { if ((s[2] ^ 0x80) < 0x40) { if (n >= 4) { if ((s[3] ^ 0x80) < 0x40) { if (n >= 5) { if ((s[4] ^ 0x80) < 0x40) { if (n >= 6) { if ((s[5] ^ 0x80) < 0x40) { *puc = ((unsigned int) (c & 0x01) << 30) | ((unsigned int) (s[1] ^ 0x80) << 24) | ((unsigned int) (s[2] ^ 0x80) << 18) | ((unsigned int) (s[3] ^ 0x80) << 12) | ((unsigned int) (s[4] ^ 0x80) << 6) | (unsigned int) (s[5] ^ 0x80); return 6; } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } /* invalid multibyte character */ } else { /* incomplete multibyte character */ *puc = 0xfffd; return -2; } } #endif } /* invalid multibyte character */ *puc = 0xfffd; return -1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistr/u8-uctomb-aux.c�����������������������������������������������������������0000664�0000000�0000000�00000003546�12071561014�015227� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Conversion UCS-4 to UTF-8. Copyright (C) 2002, 2006-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "unistr.h" int u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n) { int count; if (uc < 0x80) /* The case n >= 1 is already handled by the caller. */ return -2; else if (uc < 0x800) count = 2; else if (uc < 0x10000) { if (uc < 0xd800 || uc >= 0xe000) count = 3; else return -1; } #if 0 else if (uc < 0x200000) count = 4; else if (uc < 0x4000000) count = 5; else if (uc <= 0x7fffffff) count = 6; #else else if (uc < 0x110000) count = 4; #endif else return -1; if (n < count) return -2; switch (count) /* note: code falls through cases! */ { #if 0 case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000; case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000; #endif case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000; case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800; case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0; /*case 1:*/ s[0] = uc; } return count; } ����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistr/u8-uctomb.c���������������������������������������������������������������0000664�0000000�0000000�00000004414�12071561014�014427� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Store a character in UTF-8 string. Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #if defined IN_LIBUNISTRING /* Tell unistr.h to declare u8_uctomb as 'extern', not 'static inline'. */ # include "unistring-notinline.h" #endif /* Specification. */ #include "unistr.h" #if !HAVE_INLINE int u8_uctomb (uint8_t *s, ucs4_t uc, int n) { if (uc < 0x80) { if (n > 0) { s[0] = uc; return 1; } /* else return -2, below. */ } else { int count; if (uc < 0x800) count = 2; else if (uc < 0x10000) { if (uc < 0xd800 || uc >= 0xe000) count = 3; else return -1; } #if 0 else if (uc < 0x200000) count = 4; else if (uc < 0x4000000) count = 5; else if (uc <= 0x7fffffff) count = 6; #else else if (uc < 0x110000) count = 4; #endif else return -1; if (n >= count) { switch (count) /* note: code falls through cases! */ { #if 0 case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000; case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000; #endif case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000; case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800; case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0; /*case 1:*/ s[0] = uc; } return count; } } return -2; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strncat.c������������������������������������������������������������������������0000664�0000000�0000000�00000002100�12071561014�012724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Concatenate strings. Copyright (C) 1999, 2002, 2006, 2010-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> char * strncat (char *dest, const char *src, size_t n) { char *destptr = dest + strlen (dest); for (; n > 0 && (*destptr = *src) != '\0'; src++, destptr++, n--) ; if (n == 0) *destptr = '\0'; return dest; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/errno.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000016463�12071561007�013030� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A POSIX-like <errno.h>. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_ERRNO_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_ERRNO_H@ #ifndef _@GUARD_PREFIX@_ERRNO_H #define _@GUARD_PREFIX@_ERRNO_H /* On native Windows platforms, many macros are not defined. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* These are the same values as defined by MSVC 10, for interoperability. */ # ifndef ENOMSG # define ENOMSG 122 # define GNULIB_defined_ENOMSG 1 # endif # ifndef EIDRM # define EIDRM 111 # define GNULIB_defined_EIDRM 1 # endif # ifndef ENOLINK # define ENOLINK 121 # define GNULIB_defined_ENOLINK 1 # endif # ifndef EPROTO # define EPROTO 134 # define GNULIB_defined_EPROTO 1 # endif # ifndef EBADMSG # define EBADMSG 104 # define GNULIB_defined_EBADMSG 1 # endif # ifndef EOVERFLOW # define EOVERFLOW 132 # define GNULIB_defined_EOVERFLOW 1 # endif # ifndef ENOTSUP # define ENOTSUP 129 # define GNULIB_defined_ENOTSUP 1 # endif # ifndef ENETRESET # define ENETRESET 117 # define GNULIB_defined_ENETRESET 1 # endif # ifndef ECONNABORTED # define ECONNABORTED 106 # define GNULIB_defined_ECONNABORTED 1 # endif # ifndef ECANCELED # define ECANCELED 105 # define GNULIB_defined_ECANCELED 1 # endif # ifndef EOWNERDEAD # define EOWNERDEAD 133 # define GNULIB_defined_EOWNERDEAD 1 # endif # ifndef ENOTRECOVERABLE # define ENOTRECOVERABLE 127 # define GNULIB_defined_ENOTRECOVERABLE 1 # endif # ifndef EINPROGRESS # define EINPROGRESS 112 # define EALREADY 103 # define ENOTSOCK 128 # define EDESTADDRREQ 109 # define EMSGSIZE 115 # define EPROTOTYPE 136 # define ENOPROTOOPT 123 # define EPROTONOSUPPORT 135 # define EOPNOTSUPP 130 # define EAFNOSUPPORT 102 # define EADDRINUSE 100 # define EADDRNOTAVAIL 101 # define ENETDOWN 116 # define ENETUNREACH 118 # define ECONNRESET 108 # define ENOBUFS 119 # define EISCONN 113 # define ENOTCONN 126 # define ETIMEDOUT 138 # define ECONNREFUSED 107 # define ELOOP 114 # define EHOSTUNREACH 110 # define EWOULDBLOCK 140 # define GNULIB_defined_ESOCK 1 # endif # ifndef ETXTBSY # define ETXTBSY 139 # define ENODATA 120 /* not required by POSIX */ # define ENOSR 124 /* not required by POSIX */ # define ENOSTR 125 /* not required by POSIX */ # define ETIME 137 /* not required by POSIX */ # define EOTHER 131 /* not required by POSIX */ # define GNULIB_defined_ESTREAMS 1 # endif /* These are intentionally the same values as the WSA* error numbers, defined in <winsock2.h>. */ # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ # define EPFNOSUPPORT 10046 /* not required by POSIX */ # define ESHUTDOWN 10058 /* not required by POSIX */ # define ETOOMANYREFS 10059 /* not required by POSIX */ # define EHOSTDOWN 10064 /* not required by POSIX */ # define EPROCLIM 10067 /* not required by POSIX */ # define EUSERS 10068 /* not required by POSIX */ # define EDQUOT 10069 # define ESTALE 10070 # define EREMOTE 10071 /* not required by POSIX */ # define GNULIB_defined_EWINSOCK 1 # endif /* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ # if @EMULTIHOP_HIDDEN@ # define EMULTIHOP @EMULTIHOP_VALUE@ # define GNULIB_defined_EMULTIHOP 1 # endif # if @ENOLINK_HIDDEN@ # define ENOLINK @ENOLINK_VALUE@ # define GNULIB_defined_ENOLINK 1 # endif # if @EOVERFLOW_HIDDEN@ # define EOVERFLOW @EOVERFLOW_VALUE@ # define GNULIB_defined_EOVERFLOW 1 # endif /* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. Likewise, on NonStop Kernel, EDQUOT is not defined. Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. Note: When one of these systems defines some of these macros some day, binaries will have to be recompiled so that they recognizes the new errno values from the system. */ # ifndef ENOMSG # define ENOMSG 2000 # define GNULIB_defined_ENOMSG 1 # endif # ifndef EIDRM # define EIDRM 2001 # define GNULIB_defined_EIDRM 1 # endif # ifndef ENOLINK # define ENOLINK 2002 # define GNULIB_defined_ENOLINK 1 # endif # ifndef EPROTO # define EPROTO 2003 # define GNULIB_defined_EPROTO 1 # endif # ifndef EMULTIHOP # define EMULTIHOP 2004 # define GNULIB_defined_EMULTIHOP 1 # endif # ifndef EBADMSG # define EBADMSG 2005 # define GNULIB_defined_EBADMSG 1 # endif # ifndef EOVERFLOW # define EOVERFLOW 2006 # define GNULIB_defined_EOVERFLOW 1 # endif # ifndef ENOTSUP # define ENOTSUP 2007 # define GNULIB_defined_ENOTSUP 1 # endif # ifndef ENETRESET # define ENETRESET 2011 # define GNULIB_defined_ENETRESET 1 # endif # ifndef ECONNABORTED # define ECONNABORTED 2012 # define GNULIB_defined_ECONNABORTED 1 # endif # ifndef ESTALE # define ESTALE 2009 # define GNULIB_defined_ESTALE 1 # endif # ifndef EDQUOT # define EDQUOT 2010 # define GNULIB_defined_EDQUOT 1 # endif # ifndef ECANCELED # define ECANCELED 2008 # define GNULIB_defined_ECANCELED 1 # endif /* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not defined. */ # ifndef EOWNERDEAD # if defined __sun /* Use the same values as defined for Solaris >= 8, for interoperability. */ # define EOWNERDEAD 58 # define ENOTRECOVERABLE 59 # elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* We have a conflict here: pthreads-win32 defines these values differently than MSVC 10. It's hairy to decide which one to use. */ # if defined __MINGW32__ && !defined USE_WINDOWS_THREADS /* Use the same values as defined by pthreads-win32, for interoperability. */ # define EOWNERDEAD 43 # define ENOTRECOVERABLE 44 # else /* Use the same values as defined by MSVC 10, for interoperability. */ # define EOWNERDEAD 133 # define ENOTRECOVERABLE 127 # endif # else # define EOWNERDEAD 2013 # define ENOTRECOVERABLE 2014 # endif # define GNULIB_defined_EOWNERDEAD 1 # define GNULIB_defined_ENOTRECOVERABLE 1 # endif # ifndef EILSEQ # define EILSEQ 2015 # define GNULIB_defined_EILSEQ 1 # endif #endif /* _@GUARD_PREFIX@_ERRNO_H */ #endif /* _@GUARD_PREFIX@_ERRNO_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hard-locale.c��������������������������������������������������������������������0000664�0000000�0000000�00000004145�12071024546�013440� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* hard-locale.c -- Determine whether a locale is hard. Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "hard-locale.h" #include <locale.h> #include <stdlib.h> #include <string.h> #ifdef __GLIBC__ # define GLIBC_VERSION __GLIBC__ #elif defined __UCLIBC__ # define GLIBC_VERSION 2 #else # define GLIBC_VERSION 0 #endif /* Return true if the current CATEGORY locale is hard, i.e. if you can't get away with assuming traditional C or POSIX behavior. */ bool hard_locale (int category) { bool hard = true; char const *p = setlocale (category, NULL); if (p) { if (2 <= GLIBC_VERSION) { if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0) hard = false; } else { char *locale = strdup (p); if (locale) { /* Temporarily set the locale to the "C" and "POSIX" locales to find their names, so that we can determine whether one or the other is the caller's locale. */ if (((p = setlocale (category, "C")) && strcmp (p, locale) == 0) || ((p = setlocale (category, "POSIX")) && strcmp (p, locale) == 0)) hard = false; /* Restore the caller's locale. */ setlocale (category, locale); free (locale); } } } return hard; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xreadlink.h����������������������������������������������������������������������0000664�0000000�0000000�00000001712�12071024546�013250� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Reading symbolic links without size limitation. Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net> */ extern char *xreadlink (char const *filename); #if GNULIB_XREADLINKAT extern char *xreadlinkat (int fd, char const *filename); #endif ������������������������������������������������������coreutils-8.21/lib/dtotimespec.c��������������������������������������������������������������������0000664�0000000�0000000�00000003363�12071024546�013606� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert double to timespec. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Paul Eggert */ /* Convert the double value SEC to a struct timespec. Round toward positive infinity. On overflow, return an extremal value. */ #include <config.h> #include "timespec.h" #include "intprops.h" struct timespec dtotimespec (double sec) { enum { BILLION = 1000 * 1000 * 1000 }; double min_representable = TYPE_MINIMUM (time_t); double max_representable = ((TYPE_MAXIMUM (time_t) * (double) BILLION + (BILLION - 1)) / BILLION); struct timespec r; if (! (min_representable < sec)) { r.tv_sec = TYPE_MINIMUM (time_t); r.tv_nsec = 0; } else if (! (sec < max_representable)) { r.tv_sec = TYPE_MAXIMUM (time_t); r.tv_nsec = BILLION - 1; } else { time_t s = sec; double frac = BILLION * (sec - s); long ns = frac; ns += ns < frac; s += ns / BILLION; ns %= BILLION; if (ns < 0) { s--; ns += BILLION; } r.tv_sec = s; r.tv_nsec = ns; } return r; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/di-set.c�������������������������������������������������������������������������0000664�0000000�0000000�00000016301�12071024546�012447� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set operations for device-inode pairs stored in a space-efficient manner. Copyright 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Paul Eggert and Jim Meyering */ #include <config.h> #include "di-set.h" #include "hash.h" #include "ino-map.h" #include <limits.h> #include <stdlib.h> /* The hash package hashes "void *", but this package wants to hash integers. Use integers that are as large as possible, but no larger than void *, so that they can be cast to void * and back without losing information. */ typedef size_t hashint; #define HASHINT_MAX ((hashint) -1) /* Integers represent inode numbers. Integers in the range 1..(LARGE_INO_MIN-1) represent inode numbers directly. (The hash package does not work with null pointers, so inode 0 cannot be used as a key.) To find the representations of other inode numbers, map them through INO_MAP. */ #define LARGE_INO_MIN (HASHINT_MAX / 2) /* Set operations for device-inode pairs stored in a space-efficient manner. Use a two-level hash table. The top level hashes by device number, as there are typically a small number of devices. The lower level hashes by mapped inode numbers. In the typical case where the inode number is positive and small, the inode number maps to itself, masquerading as a void * value; otherwise, its value is the result of hashing the inode value through INO_MAP. */ /* A pair that maps a device number to a set of inode numbers. */ struct di_ent { dev_t dev; struct hash_table *ino_set; }; /* A two-level hash table that manages and indexes these pairs. */ struct di_set { /* Map device numbers to sets of inode number representatives. */ struct hash_table *dev_map; /* If nonnull, map large inode numbers to their small representatives. If null, there are no large inode numbers in this set. */ struct ino_map *ino_map; /* Cache of the most recently allocated and otherwise-unused storage for probing this table. */ struct di_ent *probe; }; /* Hash a device-inode-set entry. */ static size_t di_ent_hash (void const *x, size_t table_size) { struct di_ent const *p = x; dev_t dev = p->dev; /* When DEV is wider than size_t, exclusive-OR the words of DEV into H. This avoids loss of info, without applying % to the wider type, which could be quite slow on some systems. */ size_t h = dev; unsigned int i; unsigned int n_words = sizeof dev / sizeof h + (sizeof dev % sizeof h != 0); for (i = 1; i < n_words; i++) h ^= dev >> CHAR_BIT * sizeof h * i; return h % table_size; } /* Return true if two device-inode-set entries are the same. */ static bool di_ent_compare (void const *x, void const *y) { struct di_ent const *a = x; struct di_ent const *b = y; return a->dev == b->dev; } /* Free a device-inode-set entry. */ static void di_ent_free (void *v) { struct di_ent *a = v; hash_free (a->ino_set); free (a); } /* Create a set of device-inode pairs. Return NULL on allocation failure. */ struct di_set * di_set_alloc (void) { struct di_set *dis = malloc (sizeof *dis); if (dis) { enum { INITIAL_DEV_MAP_SIZE = 11 }; dis->dev_map = hash_initialize (INITIAL_DEV_MAP_SIZE, NULL, di_ent_hash, di_ent_compare, di_ent_free); if (! dis->dev_map) { free (dis); return NULL; } dis->ino_map = NULL; dis->probe = NULL; } return dis; } /* Free a set of device-inode pairs. */ void di_set_free (struct di_set *dis) { hash_free (dis->dev_map); free (dis->ino_map); free (dis->probe); free (dis); } /* Hash an encoded inode number I. */ static size_t di_ino_hash (void const *i, size_t table_size) { return (hashint) i % table_size; } /* Using the DIS table, map a device to a hash table that represents a set of inode numbers. Return NULL on error. */ static struct hash_table * map_device (struct di_set *dis, dev_t dev) { /* Find space for the probe, reusing the cache if available. */ struct di_ent *ent; struct di_ent *probe = dis->probe; if (probe) { /* If repeating a recent query, return the cached result. */ if (probe->dev == dev) return probe->ino_set; } else { dis->probe = probe = malloc (sizeof *probe); if (! probe) return NULL; } /* Probe for the device. */ probe->dev = dev; ent = hash_insert (dis->dev_map, probe); if (! ent) return NULL; if (ent != probe) { /* Use the existing entry. */ probe->ino_set = ent->ino_set; } else { enum { INITIAL_INO_SET_SIZE = 1021 }; /* Prepare to allocate a new probe next time; this one is in use. */ dis->probe = NULL; /* DEV is new; allocate an inode set for it. */ probe->ino_set = hash_initialize (INITIAL_INO_SET_SIZE, NULL, di_ino_hash, NULL, NULL); } return probe->ino_set; } /* Using the DIS table, map an inode number to a mapped value. Return INO_MAP_INSERT_FAILURE on error. */ static hashint map_inode_number (struct di_set *dis, ino_t ino) { if (0 < ino && ino < LARGE_INO_MIN) return ino; if (! dis->ino_map) { dis->ino_map = ino_map_alloc (LARGE_INO_MIN); if (! dis->ino_map) return INO_MAP_INSERT_FAILURE; } return ino_map_insert (dis->ino_map, ino); } /* Attempt to insert the DEV,INO pair into the set DIS. If it matches a pair already in DIS, keep that pair and return 0. Otherwise, if insertion is successful, return 1. Upon any failure return -1. */ int di_set_insert (struct di_set *dis, dev_t dev, ino_t ino) { hashint i; /* Map the device number to a set of inodes. */ struct hash_table *ino_set = map_device (dis, dev); if (! ino_set) return -1; /* Map the inode number to a small representative I. */ i = map_inode_number (dis, ino); if (i == INO_MAP_INSERT_FAILURE) return -1; /* Put I into the inode set. */ return hash_insert_if_absent (ino_set, (void const *) i, NULL); } /* Look up the DEV,INO pair in the set DIS. If found, return 1; if not found, return 0. Upon any failure return -1. */ int di_set_lookup (struct di_set *dis, dev_t dev, ino_t ino) { hashint i; /* Map the device number to a set of inodes. */ struct hash_table *ino_set = map_device (dis, dev); if (! ino_set) return -1; /* Map the inode number to a small representative I. */ i = map_inode_number (dis, ino); if (i == INO_MAP_INSERT_FAILURE) return -1; /* Perform the look-up. */ return !!hash_lookup (ino_set, (void const *) i); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/same.c���������������������������������������������������������������������������0000664�0000000�0000000�00000007201�12071024546�012206� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether two file names refer to the same file. Copyright (C) 1997-2000, 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <stdbool.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <ctype.h> #include <errno.h> #include <string.h> #include <limits.h> #ifndef _POSIX_NAME_MAX # define _POSIX_NAME_MAX 14 #endif #include "same.h" #include "dirname.h" #include "error.h" #include "same-inode.h" #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif /* Return nonzero if SOURCE and DEST point to the same name in the same directory. */ bool same_name (const char *source, const char *dest) { /* Compare the basenames. */ char const *source_basename = last_component (source); char const *dest_basename = last_component (dest); size_t source_baselen = base_len (source_basename); size_t dest_baselen = base_len (dest_basename); bool identical_basenames = (source_baselen == dest_baselen && memcmp (source_basename, dest_basename, dest_baselen) == 0); bool compare_dirs = identical_basenames; bool same = false; #if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX /* This implementation silently truncates components of file names. If the base names might be truncated, check whether the truncated base names are the same, while checking the directories. */ size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX; size_t min_baselen = MIN (source_baselen, dest_baselen); if (slen_max <= min_baselen && memcmp (source_basename, dest_basename, slen_max) == 0) compare_dirs = true; #endif if (compare_dirs) { struct stat source_dir_stats; struct stat dest_dir_stats; char *source_dirname, *dest_dirname; /* Compare the parent directories (via the device and inode numbers). */ source_dirname = dir_name (source); dest_dirname = dir_name (dest); if (stat (source_dirname, &source_dir_stats)) { /* Shouldn't happen. */ error (1, errno, "%s", source_dirname); } if (stat (dest_dirname, &dest_dir_stats)) { /* Shouldn't happen. */ error (1, errno, "%s", dest_dirname); } same = SAME_INODE (source_dir_stats, dest_dir_stats); #if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX if (same && ! identical_basenames) { long name_max = (errno = 0, pathconf (dest_dirname, _PC_NAME_MAX)); if (name_max < 0) { if (errno) { /* Shouldn't happen. */ error (1, errno, "%s", dest_dirname); } same = false; } else same = (name_max <= min_baselen && memcmp (source_basename, dest_basename, name_max) == 0); } #endif free (source_dirname); free (dest_dirname); } return same; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/faccessat.c����������������������������������������������������������������������0000664�0000000�0000000�00000003371�12071024546�013221� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Check the access rights of a file relative to an open directory. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <unistd.h> #include <fcntl.h> #ifndef HAVE_ACCESS /* Mingw lacks access, but it also lacks real vs. effective ids, so the gnulib euidaccess module is good enough. */ # undef access # define access euidaccess #endif /* Invoke access or euidaccess on file, FILE, using mode MODE, in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then (access|euidaccess)/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. Note that this implementation only supports AT_EACCESS, although some native versions also support AT_SYMLINK_NOFOLLOW. */ #define AT_FUNC_NAME faccessat #define AT_FUNC_F1 euidaccess #define AT_FUNC_F2 access #define AT_FUNC_USE_F1_COND AT_EACCESS #define AT_FUNC_POST_FILE_PARAM_DECLS , int mode, int flag #define AT_FUNC_POST_FILE_ARGS , mode #include "at-func.c" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filemode.c�����������������������������������������������������������������������0000664�0000000�0000000�00000012035�12071024546�013046� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* filemode.c -- make a string describing file modes Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "filemode.h" /* The following is for Cray DMF (Data Migration Facility), which is a HSM file system. A migrated file has a 'st_dm_mode' that is different from the normal 'st_mode', so any tests for migrated files should use the former. */ #if HAVE_ST_DM_MODE # define IS_MIGRATED_FILE(statp) \ (S_ISOFD (statp->st_dm_mode) || S_ISOFL (statp->st_dm_mode)) #else # define IS_MIGRATED_FILE(statp) 0 #endif #if ! HAVE_DECL_STRMODE /* Return a character indicating the type of file described by file mode BITS: '-' regular file 'b' block special file 'c' character special file 'C' high performance ("contiguous data") file 'd' directory 'D' door 'l' symbolic link 'm' multiplexed file (7th edition Unix; obsolete) 'n' network special file (HP-UX) 'p' fifo (named pipe) 'P' port 's' socket 'w' whiteout (4.4BSD) '?' some other file type */ static char ftypelet (mode_t bits) { /* These are the most common, so test for them first. */ if (S_ISREG (bits)) return '-'; if (S_ISDIR (bits)) return 'd'; /* Other letters standardized by POSIX 1003.1-2004. */ if (S_ISBLK (bits)) return 'b'; if (S_ISCHR (bits)) return 'c'; if (S_ISLNK (bits)) return 'l'; if (S_ISFIFO (bits)) return 'p'; /* Other file types (though not letters) standardized by POSIX. */ if (S_ISSOCK (bits)) return 's'; /* Nonstandard file types. */ if (S_ISCTG (bits)) return 'C'; if (S_ISDOOR (bits)) return 'D'; if (S_ISMPB (bits) || S_ISMPC (bits) || S_ISMPX (bits)) return 'm'; if (S_ISNWK (bits)) return 'n'; if (S_ISPORT (bits)) return 'P'; if (S_ISWHT (bits)) return 'w'; return '?'; } /* Like filemodestring, but rely only on MODE. */ void strmode (mode_t mode, char *str) { str[0] = ftypelet (mode); str[1] = mode & S_IRUSR ? 'r' : '-'; str[2] = mode & S_IWUSR ? 'w' : '-'; str[3] = (mode & S_ISUID ? (mode & S_IXUSR ? 's' : 'S') : (mode & S_IXUSR ? 'x' : '-')); str[4] = mode & S_IRGRP ? 'r' : '-'; str[5] = mode & S_IWGRP ? 'w' : '-'; str[6] = (mode & S_ISGID ? (mode & S_IXGRP ? 's' : 'S') : (mode & S_IXGRP ? 'x' : '-')); str[7] = mode & S_IROTH ? 'r' : '-'; str[8] = mode & S_IWOTH ? 'w' : '-'; str[9] = (mode & S_ISVTX ? (mode & S_IXOTH ? 't' : 'T') : (mode & S_IXOTH ? 'x' : '-')); str[10] = ' '; str[11] = '\0'; } #endif /* ! HAVE_DECL_STRMODE */ /* filemodestring - fill in string STR with an ls-style ASCII representation of the st_mode field of file stats block STATP. 12 characters are stored in STR. The characters stored in STR are: 0 File type, as in ftypelet above, except that other letters are used for files whose type cannot be determined solely from st_mode: 'F' semaphore 'M' migrated file (Cray DMF) 'Q' message queue 'S' shared memory object 'T' typed memory object 1 'r' if the owner may read, '-' otherwise. 2 'w' if the owner may write, '-' otherwise. 3 'x' if the owner may execute, 's' if the file is set-user-id, '-' otherwise. 'S' if the file is set-user-id, but the execute bit isn't set. 4 'r' if group members may read, '-' otherwise. 5 'w' if group members may write, '-' otherwise. 6 'x' if group members may execute, 's' if the file is set-group-id, '-' otherwise. 'S' if it is set-group-id but not executable. 7 'r' if any user may read, '-' otherwise. 8 'w' if any user may write, '-' otherwise. 9 'x' if any user may execute, 't' if the file is "sticky" (will be retained in swap space after execution), '-' otherwise. 'T' if the file is sticky but not executable. 10 ' ' for compatibility with 4.4BSD strmode, since this interface does not support ACLs. 11 '\0'. */ void filemodestring (struct stat const *statp, char *str) { strmode (statp->st_mode, str); if (S_TYPEISSEM (statp)) str[0] = 'F'; else if (IS_MIGRATED_FILE (statp)) str[0] = 'M'; else if (S_TYPEISMQ (statp)) str[0] = 'Q'; else if (S_TYPEISSHM (statp)) str[0] = 'S'; else if (S_TYPEISTMO (statp)) str[0] = 'T'; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/openat-safer.c�������������������������������������������������������������������0000664�0000000�0000000�00000002541�12071024546�013647� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke openat, but avoid some glitches. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert for open, ported by Eric Blake for openat. */ #include <config.h> #include "fcntl-safer.h" #include <fcntl.h> #include <stdarg.h> #include "unistd-safer.h" int openat_safer (int fd, char const *file, int flags, ...) { mode_t mode = 0; if (flags & O_CREAT) { va_list ap; va_start (ap, flags); /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4 creates crashing code when 'mode_t' is smaller than 'int'. */ mode = va_arg (ap, PROMOTED_MODE_T); va_end (ap); } return fd_safer (openat (fd, file, flags, mode)); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/striconv.c�����������������������������������������������������������������������0000664�0000000�0000000�00000031177�12071561014�013135� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Charset conversion. Copyright (C) 2001-2007, 2010-2013 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "striconv.h" #include <errno.h> #include <stdlib.h> #include <string.h> #if HAVE_ICONV # include <iconv.h> /* Get MB_LEN_MAX, CHAR_BIT. */ # include <limits.h> #endif #include "c-strcase.h" #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #if HAVE_ICONV int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp) { # define tmpbufsize 4096 size_t length; char *result; /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) /* Set to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Determine the length we need. */ { size_t count = 0; /* The alignment is needed when converting e.g. to glibc's WCHAR_T or libiconv's UCS-4-INTERNAL encoding. */ union { unsigned int align; char buf[tmpbufsize]; } tmp; # define tmpbuf tmp.buf const char *inptr = src; size_t insize = srclen; while (insize > 0) { char *outptr = tmpbuf; size_t outsize = tmpbufsize; size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &insize, &outptr, &outsize); if (res == (size_t)(-1)) { if (errno == E2BIG) ; else if (errno == EINVAL) break; else return -1; } # if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__) /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. */ else if (res > 0) { errno = EILSEQ; return -1; } # endif count += outptr - tmpbuf; } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) { char *outptr = tmpbuf; size_t outsize = tmpbufsize; size_t res = iconv (cd, NULL, NULL, &outptr, &outsize); if (res == (size_t)(-1)) return -1; count += outptr - tmpbuf; } # endif length = count; # undef tmpbuf } if (length == 0) { *lengthp = 0; return 0; } if (*resultp != NULL && *lengthp >= length) result = *resultp; else { result = (char *) malloc (length); if (result == NULL) { errno = ENOMEM; return -1; } } /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) /* Return to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Do the conversion for real. */ { const char *inptr = src; size_t insize = srclen; char *outptr = result; size_t outsize = length; while (insize > 0) { size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &insize, &outptr, &outsize); if (res == (size_t)(-1)) { if (errno == EINVAL) break; else goto fail; } # if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__) /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. */ else if (res > 0) { errno = EILSEQ; goto fail; } # endif } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) { size_t res = iconv (cd, NULL, NULL, &outptr, &outsize); if (res == (size_t)(-1)) goto fail; } # endif if (outsize != 0) abort (); } *resultp = result; *lengthp = length; return 0; fail: { if (result != *resultp) { int saved_errno = errno; free (result); errno = saved_errno; } return -1; } # undef tmpbufsize } char * str_cd_iconv (const char *src, iconv_t cd) { /* For most encodings, a trailing NUL byte in the input will be converted to a trailing NUL byte in the output. But not for UTF-7. So that this function is usable for UTF-7, we have to exclude the NUL byte from the conversion and add it by hand afterwards. */ # if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__) /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. For other iconv() implementations, we have to look at the number of irreversible conversions returned; but this information is lost when iconv() returns for an E2BIG reason. Therefore we cannot use the second, faster algorithm. */ char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (src, strlen (src), cd, &result, &length); char *final_result; if (retval < 0) { if (result != NULL) abort (); return NULL; } /* Add the terminating NUL byte. */ final_result = (result != NULL ? realloc (result, length + 1) : malloc (length + 1)); if (final_result == NULL) { free (result); errno = ENOMEM; return NULL; } final_result[length] = '\0'; return final_result; # else /* This algorithm is likely faster than the one above. But it may produce iconv() returns for an E2BIG reason, when the output size guess is too small. Therefore it can only be used when we don't need the number of irreversible conversions performed. */ char *result; size_t result_size; size_t length; const char *inptr = src; size_t inbytes_remaining = strlen (src); /* Make a guess for the worst-case output size, in order to avoid a realloc. It's OK if the guess is wrong as long as it is not zero and doesn't lead to an integer overflow. */ result_size = inbytes_remaining; { size_t approx_sqrt_SIZE_MAX = SIZE_MAX >> (sizeof (size_t) * CHAR_BIT / 2); if (result_size <= approx_sqrt_SIZE_MAX / MB_LEN_MAX) result_size *= MB_LEN_MAX; } result_size += 1; /* for the terminating NUL */ result = (char *) malloc (result_size); if (result == NULL) { errno = ENOMEM; return NULL; } /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) /* Set to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Do the conversion. */ { char *outptr = result; size_t outbytes_remaining = result_size - 1; for (;;) { /* Here inptr + inbytes_remaining = src + strlen (src), outptr + outbytes_remaining = result + result_size - 1. */ size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytes_remaining, &outptr, &outbytes_remaining); if (res == (size_t)(-1)) { if (errno == EINVAL) break; else if (errno == E2BIG) { size_t used = outptr - result; size_t newsize = result_size * 2; char *newresult; if (!(newsize > result_size)) { errno = ENOMEM; goto failed; } newresult = (char *) realloc (result, newsize); if (newresult == NULL) { errno = ENOMEM; goto failed; } result = newresult; result_size = newsize; outptr = result + used; outbytes_remaining = result_size - 1 - used; } else goto failed; } else break; } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ || defined __sun) for (;;) { /* Here outptr + outbytes_remaining = result + result_size - 1. */ size_t res = iconv (cd, NULL, NULL, &outptr, &outbytes_remaining); if (res == (size_t)(-1)) { if (errno == E2BIG) { size_t used = outptr - result; size_t newsize = result_size * 2; char *newresult; if (!(newsize > result_size)) { errno = ENOMEM; goto failed; } newresult = (char *) realloc (result, newsize); if (newresult == NULL) { errno = ENOMEM; goto failed; } result = newresult; result_size = newsize; outptr = result + used; outbytes_remaining = result_size - 1 - used; } else goto failed; } else break; } # endif /* Add the terminating NUL byte. */ *outptr++ = '\0'; length = outptr - result; } /* Give away unused memory. */ if (length < result_size) { char *smaller_result = (char *) realloc (result, length); if (smaller_result != NULL) result = smaller_result; } return result; failed: { int saved_errno = errno; free (result); errno = saved_errno; return NULL; } # endif } #endif char * str_iconv (const char *src, const char *from_codeset, const char *to_codeset) { if (*src == '\0' || c_strcasecmp (from_codeset, to_codeset) == 0) { char *result = strdup (src); if (result == NULL) errno = ENOMEM; return result; } else { #if HAVE_ICONV iconv_t cd; char *result; /* Avoid glibc-2.1 bug with EUC-KR. */ # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \ && !defined _LIBICONV_VERSION if (c_strcasecmp (from_codeset, "EUC-KR") == 0 || c_strcasecmp (to_codeset, "EUC-KR") == 0) { errno = EINVAL; return NULL; } # endif cd = iconv_open (to_codeset, from_codeset); if (cd == (iconv_t) -1) return NULL; result = str_cd_iconv (src, cd); if (result == NULL) { /* Close cd, but preserve the errno from str_cd_iconv. */ int saved_errno = errno; iconv_close (cd); errno = saved_errno; } else { if (iconv_close (cd) < 0) { /* Return NULL, but free the allocated memory, and while doing that, preserve the errno from iconv_close. */ int saved_errno = errno; free (result); errno = saved_errno; return NULL; } } return result; #else /* This is a different error code than if iconv_open existed but didn't support from_codeset and to_codeset, so that the caller can emit an error message such as "iconv() is not supported. Installing GNU libiconv and then reinstalling this package would fix this." */ errno = ENOSYS; return NULL; #endif } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mpsort.h�������������������������������������������������������������������������0000664�0000000�0000000�00000000137�11624727634�012626� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stddef.h> void mpsort (void const **, size_t, int (*) (void const *, void const *)); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/malloca.h������������������������������������������������������������������������0000664�0000000�0000000�00000011037�12071561011�012671� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Safe automatic memory allocation. Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _MALLOCA_H #define _MALLOCA_H #include <alloca.h> #include <stddef.h> #include <stdlib.h> #ifdef __cplusplus extern "C" { #endif /* safe_alloca(N) is equivalent to alloca(N) when it is safe to call alloca(N); otherwise it returns NULL. It either returns N bytes of memory allocated on the stack, that lasts until the function returns, or NULL. Use of safe_alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns. */ #if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. This must be a macro, not a function. */ # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL) #else # define safe_alloca(N) ((void) (N), NULL) #endif /* malloca(N) is a safe variant of alloca(N). It allocates N bytes of memory allocated on the stack, that must be freed using freea() before the function returns. Upon failure, it returns NULL. */ #if HAVE_ALLOCA # define malloca(N) \ ((N) < 4032 - sa_increment \ ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \ : mmalloca (N)) #else # define malloca(N) \ mmalloca (N) #endif extern void * mmalloca (size_t n); /* Free a block of memory allocated through malloca(). */ #if HAVE_ALLOCA extern void freea (void *p); #else # define freea free #endif /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). It allocates an array of N objects, each with S bytes of memory, on the stack. S must be positive and N must be nonnegative. The array must be freed using freea() before the function returns. */ #if 1 /* Cf. the definition of xalloc_oversized. */ # define nmalloca(n, s) \ ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \ ? NULL \ : malloca ((n) * (s))) #else extern void * nmalloca (size_t n, size_t s); #endif #ifdef __cplusplus } #endif /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ #if defined __GNUC__ # define sa_alignof __alignof__ #elif defined __cplusplus template <class type> struct sa_alignof_helper { char __slot1; type __slot2; }; # define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2) #elif defined __hpux /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #elif defined _AIX /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #else # define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif enum { /* The desired alignment of memory allocations is the maximum alignment among all elementary types. */ sa_alignment_long = sa_alignof (long), sa_alignment_double = sa_alignof (double), #if HAVE_LONG_LONG_INT sa_alignment_longlong = sa_alignof (long long), #endif sa_alignment_longdouble = sa_alignof (long double), sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1) #if HAVE_LONG_LONG_INT | (sa_alignment_longlong - 1) #endif | (sa_alignment_longdouble - 1) ) + 1, /* The increment that guarantees room for a magic word must be >= sizeof (int) and a multiple of sa_alignment_max. */ sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max }; #endif /* _MALLOCA_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/netinet_in.in.h������������������������������������������������������������������0000664�0000000�0000000�00000002474�12071561011�014027� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for <netinet/in.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_NETINET_IN_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if @HAVE_NETINET_IN_H@ /* On many platforms, <netinet/in.h> assumes prior inclusion of <sys/types.h>. */ # include <sys/types.h> /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_NETINET_IN_H@ #endif #ifndef _@GUARD_PREFIX@_NETINET_IN_H #define _@GUARD_PREFIX@_NETINET_IN_H #if !@HAVE_NETINET_IN_H@ /* A platform that lacks <netinet/in.h>. */ # include <sys/socket.h> #endif #endif /* _@GUARD_PREFIX@_NETINET_IN_H */ #endif /* _@GUARD_PREFIX@_NETINET_IN_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regexec.c������������������������������������������������������������������������0000664�0000000�0000000�00000400306�12104756363�012714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Extended regular expression matching and search library. Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #include "verify.h" #include "intprops.h" static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, Idx n) internal_function; static void match_ctx_clean (re_match_context_t *mctx) internal_function; static void match_ctx_free (re_match_context_t *cache) internal_function; static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node, Idx str_idx, Idx from, Idx to) internal_function; static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) internal_function; static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) internal_function; static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) internal_function; static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) internal_function; static reg_errcode_t re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) internal_function; static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) internal_function; static regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) internal_function; static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) internal_function; static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx) internal_function; static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) internal_function; static Idx check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) internal_function; static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) internal_function; static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) internal_function; static reg_errcode_t set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) internal_function; static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs) internal_function; #ifdef RE_ENABLE_I18N static int sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) internal_function; static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) internal_function; static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) internal_function; static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) internal_function; static bool check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) internal_function; static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) internal_function; static int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx node, Idx str_idx, Idx bkref_idx) internal_function; static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) internal_function; static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) internal_function; static reg_errcode_t merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) internal_function; static re_dfastate_t *find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) internal_function; static re_dfastate_t *transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) internal_function; static re_dfastate_t *merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) internal_function; static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) internal_function; #if 0 static re_dfastate_t *transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif #ifdef RE_ENABLE_I18N static reg_errcode_t transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) internal_function; static reg_errcode_t get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) internal_function; static reg_errcode_t get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) internal_function; static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) internal_function; static reg_errcode_t check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) internal_function; static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) internal_function; static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) internal_function; static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) internal_function; static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) internal_function; static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) internal_function; #ifdef RE_ENABLE_I18N static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx idx) internal_function; # ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, size_t name_len) internal_function; # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, bitset_t *states_ch) internal_function; static bool check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) internal_function; static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len) internal_function; /* Entry point for POSIX code. */ /* regexec searches for a given pattern, specified by PREG, in the string STRING. If NMATCH is zero or REG_NOSUB was set in the cflags argument to 'regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at least NMATCH elements, and we set them to the offsets of the corresponding matched substrings. EFLAGS specifies "execution flags" which affect matching: if REG_NOTBOL is set, then ^ does not match at the beginning of the string; if REG_NOTEOL is set, then $ does not match at the end. We return 0 if we find a match and REG_NOMATCH if not. */ int regexec (preg, string, nmatch, pmatch, eflags) const regex_t *_Restrict_ preg; const char *_Restrict_ string; size_t nmatch; regmatch_t pmatch[_Restrict_arr_]; int eflags; { reg_errcode_t err; Idx start, length; #ifdef _LIBC re_dfa_t *dfa = preg->buffer; #endif if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND)) return REG_BADPAT; if (eflags & REG_STARTEND) { start = pmatch[0].rm_so; length = pmatch[0].rm_eo; } else { start = 0; length = strlen (string); } __libc_lock_lock (dfa->lock); if (preg->no_sub) err = re_search_internal (preg, string, length, start, length, length, 0, NULL, eflags); else err = re_search_internal (preg, string, length, start, length, length, nmatch, pmatch, eflags); __libc_lock_unlock (dfa->lock); return err != REG_NOERROR; } #ifdef _LIBC # include <shlib-compat.h> versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4); # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) __typeof__ (__regexec) __compat_regexec; int attribute_compat_text_section __compat_regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string, size_t nmatch, regmatch_t pmatch[], int eflags) { return regexec (preg, string, nmatch, pmatch, eflags & (REG_NOTBOL | REG_NOTEOL)); } compat_symbol (libc, __compat_regexec, regexec, GLIBC_2_0); # endif #endif /* Entry points for GNU code. */ /* re_match, re_search, re_match_2, re_search_2 The former two functions operate on STRING with length LENGTH, while the later two operate on concatenation of STRING1 and STRING2 with lengths LENGTH1 and LENGTH2, respectively. re_match() matches the compiled pattern in BUFP against the string, starting at index START. re_search() first tries matching at index START, then it tries to match starting from index START + 1, and so on. The last start position tried is START + RANGE. (Thus RANGE = 0 forces re_search to operate the same way as re_match().) The parameter STOP of re_{match,search}_2 specifies that no match exceeding the first STOP characters of the concatenation of the strings should be concerned. If REGS is not NULL, and BUFP->no_sub is not set, the offsets of the match and all groups is stored in REGS. (For the "_2" variants, the offsets are computed relative to the concatenation, not relative to the individual strings.) On success, re_match* functions return the length of the match, re_search* return the position of the start of the match. Return value -1 means no match was found and -2 indicates an internal error. */ regoff_t re_match (bufp, string, length, start, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, 0, length, regs, true); } #ifdef _LIBC weak_alias (__re_match, re_match) #endif regoff_t re_search (bufp, string, length, start, range, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; regoff_t range; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, range, length, regs, false); } #ifdef _LIBC weak_alias (__re_search, re_search) #endif regoff_t re_match_2 (bufp, string1, length1, string2, length2, start, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, 0, regs, stop, true); } #ifdef _LIBC weak_alias (__re_match_2, re_match_2) #endif regoff_t re_search_2 (bufp, string1, length1, string2, length2, start, range, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; regoff_t range; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, stop, false); } #ifdef _LIBC weak_alias (__re_search_2, re_search_2) #endif static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) { const char *str; regoff_t rval; Idx len = length1 + length2; char *s = NULL; verify (! TYPE_SIGNED (Idx)); if (BE (len < length1, 0)) return -2; /* if (BE (length1 < 0 || length2 < 0 || stop < 0, 0)) return -2; */ /* Concatenate the strings. */ if (length2 > 0) if (length1 > 0) { s = re_malloc (char, len); if (BE (s == NULL, 0)) return -2; #ifdef _LIBC memcpy (__mempcpy (s, string1, length1), string2, length2); #else memcpy (s, string1, length1); memcpy (s + length1, string2, length2); #endif str = s; } else str = string2; else str = string1; rval = re_search_stub (bufp, str, len, start, range, stop, regs, ret_len); re_free (s); return rval; } /* The parameters have the same meaning as those of re_search. Additional parameters: If RET_LEN is true the length of the match is returned (re_match style); otherwise the position of the match is returned. */ static regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) { reg_errcode_t result; regmatch_t *pmatch; Idx nregs; regoff_t rval; int eflags = 0; #ifdef _LIBC re_dfa_t *dfa = bufp->buffer; #endif Idx last_start = start + range; /* Check for out-of-range. */ verify (! TYPE_SIGNED (Idx)); /* if (BE (start < 0, 0)) return -1; */ if (BE (start > length, 0)) return -1; if (BE (length < last_start || (0 <= range && last_start < start), 0)) last_start = length; else if (BE (/* last_start < 0 || */ (range < 0 && start <= last_start), 0)) last_start = 0; __libc_lock_lock (dfa->lock); eflags |= (bufp->not_bol) ? REG_NOTBOL : 0; eflags |= (bufp->not_eol) ? REG_NOTEOL : 0; /* Compile fastmap if we haven't yet. */ if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate) re_compile_fastmap (bufp); if (BE (bufp->no_sub, 0)) regs = NULL; /* We need at least 1 register. */ if (regs == NULL) nregs = 1; else if (BE (bufp->regs_allocated == REGS_FIXED && regs->num_regs <= bufp->re_nsub, 0)) { nregs = regs->num_regs; if (BE (nregs < 1, 0)) { /* Nothing can be copied to regs. */ regs = NULL; nregs = 1; } } else nregs = bufp->re_nsub + 1; pmatch = re_malloc (regmatch_t, nregs); if (BE (pmatch == NULL, 0)) { rval = -2; goto out; } result = re_search_internal (bufp, string, length, start, last_start, stop, nregs, pmatch, eflags); rval = 0; /* I hope we needn't fill their regs with -1's when no match was found. */ if (result != REG_NOERROR) rval = result == REG_NOMATCH ? -1 : -2; else if (regs != NULL) { /* If caller wants register contents data back, copy them. */ bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs, bufp->regs_allocated); if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0)) rval = -2; } if (BE (rval == 0, 1)) { if (ret_len) { assert (pmatch[0].rm_so == start); rval = pmatch[0].rm_eo - start; } else rval = pmatch[0].rm_so; } re_free (pmatch); out: __libc_lock_unlock (dfa->lock); return rval; } static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) { int rval = REGS_REALLOCATE; Idx i; Idx need_regs = nregs + 1; /* We need one extra element beyond 'num_regs' for the '-1' marker GNU code uses. */ /* Have the register data arrays been allocated? */ if (regs_allocated == REGS_UNALLOCATED) { /* No. So allocate them with malloc. */ regs->start = re_malloc (regoff_t, need_regs); if (BE (regs->start == NULL, 0)) return REGS_UNALLOCATED; regs->end = re_malloc (regoff_t, need_regs); if (BE (regs->end == NULL, 0)) { re_free (regs->start); return REGS_UNALLOCATED; } regs->num_regs = need_regs; } else if (regs_allocated == REGS_REALLOCATE) { /* Yes. If we need more elements than were already allocated, reallocate them. If we need fewer, just leave it alone. */ if (BE (need_regs > regs->num_regs, 0)) { regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs); regoff_t *new_end; if (BE (new_start == NULL, 0)) return REGS_UNALLOCATED; new_end = re_realloc (regs->end, regoff_t, need_regs); if (BE (new_end == NULL, 0)) { re_free (new_start); return REGS_UNALLOCATED; } regs->start = new_start; regs->end = new_end; regs->num_regs = need_regs; } } else { assert (regs_allocated == REGS_FIXED); /* This function may not be called with REGS_FIXED and nregs too big. */ assert (regs->num_regs >= nregs); rval = REGS_FIXED; } /* Copy the regs. */ for (i = 0; i < nregs; ++i) { regs->start[i] = pmatch[i].rm_so; regs->end[i] = pmatch[i].rm_eo; } for ( ; i < regs->num_regs; ++i) regs->start[i] = regs->end[i] = -1; return rval; } /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated using the malloc library routine, and must each be at least NUM_REGS * sizeof (regoff_t) bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ void re_set_registers (bufp, regs, num_regs, starts, ends) struct re_pattern_buffer *bufp; struct re_registers *regs; __re_size_t num_regs; regoff_t *starts, *ends; { if (num_regs) { bufp->regs_allocated = REGS_REALLOCATE; regs->num_regs = num_regs; regs->start = starts; regs->end = ends; } else { bufp->regs_allocated = REGS_UNALLOCATED; regs->num_regs = 0; regs->start = regs->end = NULL; } } #ifdef _LIBC weak_alias (__re_set_registers, re_set_registers) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC int # ifdef _LIBC weak_function # endif re_exec (s) const char *s; { return 0 == regexec (&re_comp_buf, s, 0, NULL, 0); } #endif /* _REGEX_RE_COMP */ /* Internal entry point. */ /* Searches for a compiled pattern PREG in the string STRING, whose length is LENGTH. NMATCH, PMATCH, and EFLAGS have the same meaning as with regexec. LAST_START is START + RANGE, where START and RANGE have the same meaning as with re_search. Return REG_NOERROR if we find a match, and REG_NOMATCH if not, otherwise return the error code. Note: We assume front end functions already check ranges. (0 <= LAST_START && LAST_START <= LENGTH) */ static reg_errcode_t __attribute_warn_unused_result__ re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) { reg_errcode_t err; const re_dfa_t *dfa = preg->buffer; Idx left_lim, right_lim; int incr; bool fl_longest_match; int match_kind; Idx match_first; Idx match_last = REG_MISSING; Idx extra_nmatch; bool sb; int ch; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) re_match_context_t mctx = { .dfa = dfa }; #else re_match_context_t mctx; #endif char *fastmap = ((preg->fastmap != NULL && preg->fastmap_accurate && start != last_start && !preg->can_be_null) ? preg->fastmap : NULL); RE_TRANSLATE_TYPE t = preg->translate; #if !(defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) memset (&mctx, '\0', sizeof (re_match_context_t)); mctx.dfa = dfa; #endif extra_nmatch = (nmatch > preg->re_nsub) ? nmatch - (preg->re_nsub + 1) : 0; nmatch -= extra_nmatch; /* Check if the DFA haven't been compiled. */ if (BE (preg->used == 0 || dfa->init_state == NULL || dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return REG_NOMATCH; #ifdef DEBUG /* We assume front-end functions already check them. */ assert (0 <= last_start && last_start <= length); #endif /* If initial states with non-begbuf contexts have no elements, the regex must be anchored. If preg->newline_anchor is set, we'll never use init_state_nl, so do not check it. */ if (dfa->init_state->nodes.nelem == 0 && dfa->init_state_word->nodes.nelem == 0 && (dfa->init_state_nl->nodes.nelem == 0 || !preg->newline_anchor)) { if (start != 0 && last_start != 0) return REG_NOMATCH; start = last_start = 0; } /* We must check the longest matching, if nmatch > 0. */ fl_longest_match = (nmatch != 0 || dfa->nbackref); err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1, preg->translate, (preg->syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) goto free_return; mctx.input.stop = stop; mctx.input.raw_stop = stop; mctx.input.newline_anchor = preg->newline_anchor; err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2); if (BE (err != REG_NOERROR, 0)) goto free_return; /* We will log all the DFA states through which the dfa pass, if nmatch > 1, or this dfa has "multibyte node", which is a back-reference or a node which can accept multibyte character or multi character collating element. */ if (nmatch > 1 || dfa->has_mb_node) { /* Avoid overflow. */ if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= mctx.input.bufs_len), 0)) { err = REG_ESPACE; goto free_return; } mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1); if (BE (mctx.state_log == NULL, 0)) { err = REG_ESPACE; goto free_return; } } else mctx.state_log = NULL; match_first = start; mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF; /* Check incrementally whether the input string matches. */ incr = (last_start < start) ? -1 : 1; left_lim = (last_start < start) ? last_start : start; right_lim = (last_start < start) ? start : last_start; sb = dfa->mb_cur_max == 1; match_kind = (fastmap ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0) | (start <= last_start ? 2 : 0) | (t != NULL ? 1 : 0)) : 8); for (;; match_first += incr) { err = REG_NOMATCH; if (match_first < left_lim || right_lim < match_first) goto free_return; /* Advance as rapidly as possible through the string, until we find a plausible place to start matching. This may be done with varying efficiency, so there are various possibilities: only the most common of them are specialized, in order to save on code size. We use a switch statement for speed. */ switch (match_kind) { case 8: /* No fastmap. */ break; case 7: /* Fastmap with single-byte translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[t[(unsigned char) string[match_first]]]) ++match_first; goto forward_match_found_start_or_reached_end; case 6: /* Fastmap without translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[(unsigned char) string[match_first]]) ++match_first; forward_match_found_start_or_reached_end: if (BE (match_first == right_lim, 0)) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (!fastmap[t ? t[ch] : ch]) goto free_return; } break; case 4: case 5: /* Fastmap without multi-byte translation, match backwards. */ while (match_first >= left_lim) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (fastmap[t ? t[ch] : ch]) break; --match_first; } if (match_first < left_lim) goto free_return; break; default: /* In this case, we can't determine easily the current byte, since it might be a component byte of a multibyte character. Then we use the constructed buffer instead. */ for (;;) { /* If MATCH_FIRST is out of the valid range, reconstruct the buffers. */ __re_size_t offset = match_first - mctx.input.raw_mbs_idx; if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0)) { err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; offset = match_first - mctx.input.raw_mbs_idx; } /* If MATCH_FIRST is out of the buffer, leave it as '\0'. Note that MATCH_FIRST must not be smaller than 0. */ ch = (match_first >= length ? 0 : re_string_byte_at (&mctx.input, offset)); if (fastmap[ch]) break; match_first += incr; if (match_first < left_lim || match_first > right_lim) { err = REG_NOMATCH; goto free_return; } } break; } /* Reconstruct the buffers so that the matcher can assume that the matching starts from the beginning of the buffer. */ err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; #ifdef RE_ENABLE_I18N /* Don't consider this char as a possible match start if it part, yet isn't the head, of a multibyte character. */ if (!sb && !re_string_first_byte (&mctx.input, 0)) continue; #endif /* It seems to be appropriate one, then use the matcher. */ /* We assume that the matching starts from 0. */ mctx.state_log_top = mctx.nbkref_ents = mctx.max_mb_elem_len = 0; match_last = check_matching (&mctx, fl_longest_match, start <= last_start ? &match_first : NULL); if (match_last != REG_MISSING) { if (BE (match_last == REG_ERROR, 0)) { err = REG_ESPACE; goto free_return; } else { mctx.match_last = match_last; if ((!preg->no_sub && nmatch > 1) || dfa->nbackref) { re_dfastate_t *pstate = mctx.state_log[match_last]; mctx.last_node = check_halt_state_context (&mctx, pstate, match_last); } if ((!preg->no_sub && nmatch > 1 && dfa->has_plural_match) || dfa->nbackref) { err = prune_impossible_nodes (&mctx); if (err == REG_NOERROR) break; if (BE (err != REG_NOMATCH, 0)) goto free_return; match_last = REG_MISSING; } else break; /* We found a match. */ } } match_ctx_clean (&mctx); } #ifdef DEBUG assert (match_last != REG_MISSING); assert (err == REG_NOERROR); #endif /* Set pmatch[] if we need. */ if (nmatch > 0) { Idx reg_idx; /* Initialize registers. */ for (reg_idx = 1; reg_idx < nmatch; ++reg_idx) pmatch[reg_idx].rm_so = pmatch[reg_idx].rm_eo = -1; /* Set the points where matching start/end. */ pmatch[0].rm_so = 0; pmatch[0].rm_eo = mctx.match_last; /* FIXME: This function should fail if mctx.match_last exceeds the maximum possible regoff_t value. We need a new error code REG_OVERFLOW. */ if (!preg->no_sub && nmatch > 1) { err = set_regs (preg, &mctx, nmatch, pmatch, dfa->has_plural_match && dfa->nbackref > 0); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* At last, add the offset to each register, since we slid the buffers so that we could assume that the matching starts from 0. */ for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so != -1) { #ifdef RE_ENABLE_I18N if (BE (mctx.input.offsets_needed != 0, 0)) { pmatch[reg_idx].rm_so = (pmatch[reg_idx].rm_so == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_so]); pmatch[reg_idx].rm_eo = (pmatch[reg_idx].rm_eo == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_eo]); } #else assert (mctx.input.offsets_needed == 0); #endif pmatch[reg_idx].rm_so += match_first; pmatch[reg_idx].rm_eo += match_first; } for (reg_idx = 0; reg_idx < extra_nmatch; ++reg_idx) { pmatch[nmatch + reg_idx].rm_so = -1; pmatch[nmatch + reg_idx].rm_eo = -1; } if (dfa->subexp_map) for (reg_idx = 0; reg_idx + 1 < nmatch; reg_idx++) if (dfa->subexp_map[reg_idx] != reg_idx) { pmatch[reg_idx + 1].rm_so = pmatch[dfa->subexp_map[reg_idx] + 1].rm_so; pmatch[reg_idx + 1].rm_eo = pmatch[dfa->subexp_map[reg_idx] + 1].rm_eo; } } free_return: re_free (mctx.state_log); if (dfa->nbackref) match_ctx_free (&mctx); re_string_destruct (&mctx.input); return err; } static reg_errcode_t __attribute_warn_unused_result__ prune_impossible_nodes (re_match_context_t *mctx) { const re_dfa_t *const dfa = mctx->dfa; Idx halt_node, match_last; reg_errcode_t ret; re_dfastate_t **sifted_states; re_dfastate_t **lim_states = NULL; re_sift_context_t sctx; #ifdef DEBUG assert (mctx->state_log != NULL); #endif match_last = mctx->match_last; halt_node = mctx->last_node; /* Avoid overflow. */ if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0)) return REG_ESPACE; sifted_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (sifted_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } if (dfa->nbackref) { lim_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (lim_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } while (1) { memset (lim_states, '\0', sizeof (re_dfastate_t *) * (match_last + 1)); sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; if (sifted_states[0] != NULL || lim_states[0] != NULL) break; do { --match_last; if (! REG_VALID_INDEX (match_last)) { ret = REG_NOMATCH; goto free_return; } } while (mctx->state_log[match_last] == NULL || !mctx->state_log[match_last]->halt); halt_node = check_halt_state_context (mctx, mctx->state_log[match_last], match_last); } ret = merge_state_array (dfa, sifted_states, lim_states, match_last + 1); re_free (lim_states); lim_states = NULL; if (BE (ret != REG_NOERROR, 0)) goto free_return; } else { sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; if (sifted_states[0] == NULL) { ret = REG_NOMATCH; goto free_return; } } re_free (mctx->state_log); mctx->state_log = sifted_states; sifted_states = NULL; mctx->last_node = halt_node; mctx->match_last = match_last; ret = REG_NOERROR; free_return: re_free (sifted_states); re_free (lim_states); return ret; } /* Acquire an initial state and return it. We must select appropriate initial state depending on the context, since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * __attribute ((always_inline)) internal_function acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { const re_dfa_t *const dfa = mctx->dfa; if (dfa->init_state->has_constraint) { unsigned int context; context = re_string_context_at (&mctx->input, idx - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return dfa->init_state_word; else if (IS_ORDINARY_CONTEXT (context)) return dfa->init_state; else if (IS_BEGBUF_CONTEXT (context) && IS_NEWLINE_CONTEXT (context)) return dfa->init_state_begbuf; else if (IS_NEWLINE_CONTEXT (context)) return dfa->init_state_nl; else if (IS_BEGBUF_CONTEXT (context)) { /* It is relatively rare case, then calculate on demand. */ return re_acquire_state_context (err, dfa, dfa->init_state->entrance_nodes, context); } else /* Must not happen? */ return dfa->init_state; } else return dfa->init_state; } /* Check whether the regular expression match input string INPUT or not, and return the index where the matching end. Return REG_MISSING if there is no match, and return REG_ERROR in case of an error. FL_LONGEST_MATCH means we want the POSIX longest matching. If P_MATCH_FIRST is not NULL, and the match fails, it is set to the next place where we may want to try matching. Note that the matcher assumes that the matching starts from the current index of the buffer. */ static Idx internal_function __attribute_warn_unused_result__ check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx match = 0; Idx match_last = REG_MISSING; Idx cur_str_idx = re_string_cur_idx (&mctx->input); re_dfastate_t *cur_state; bool at_init_state = p_match_first != NULL; Idx next_start_idx = cur_str_idx; err = REG_NOERROR; cur_state = acquire_init_state_context (&err, mctx, cur_str_idx); /* An initial state must not be NULL (invalid). */ if (BE (cur_state == NULL, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } if (mctx->state_log != NULL) { mctx->state_log[cur_str_idx] = cur_state; /* Check OP_OPEN_SUBEXP in the initial state in case that we use them later. E.g. Processing back references. */ if (BE (dfa->nbackref, 0)) { at_init_state = false; err = check_subexp_matching_top (mctx, &cur_state->nodes, 0); if (BE (err != REG_NOERROR, 0)) return err; if (cur_state->has_backref) { err = transit_state_bkref (mctx, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } } } /* If the RE accepts NULL string. */ if (BE (cur_state->halt, 0)) { if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, cur_str_idx)) { if (!fl_longest_match) return cur_str_idx; else { match_last = cur_str_idx; match = 1; } } } while (!re_string_eoi (&mctx->input)) { re_dfastate_t *old_state = cur_state; Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1; if ((BE (next_char_idx >= mctx->input.bufs_len, 0) && mctx->input.bufs_len < mctx->input.len) || (BE (next_char_idx >= mctx->input.valid_len, 0) && mctx->input.valid_len < mctx->input.len)) { err = extend_buffers (mctx, next_char_idx + 1); if (BE (err != REG_NOERROR, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } } cur_state = transit_state (&err, mctx, cur_state); if (mctx->state_log != NULL) cur_state = merge_state_with_log (&err, mctx, cur_state); if (cur_state == NULL) { /* Reached the invalid state or an error. Try to recover a valid state using the state log, if available and if we have not already found a valid (even if not the longest) match. */ if (BE (err != REG_NOERROR, 0)) return REG_ERROR; if (mctx->state_log == NULL || (match && !fl_longest_match) || (cur_state = find_recover_state (&err, mctx)) == NULL) break; } if (BE (at_init_state, 0)) { if (old_state == cur_state) next_start_idx = next_char_idx; else at_init_state = false; } if (cur_state->halt) { /* Reached a halt state. Check the halt state can satisfy the current context. */ if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, re_string_cur_idx (&mctx->input))) { /* We found an appropriate halt state. */ match_last = re_string_cur_idx (&mctx->input); match = 1; /* We found a match, do not modify match_first below. */ p_match_first = NULL; if (!fl_longest_match) break; } } } if (p_match_first) *p_match_first += next_start_idx; return match_last; } /* Check NODE match the current context. */ static bool internal_function check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context) { re_token_type_t type = dfa->nodes[node].type; unsigned int constraint = dfa->nodes[node].constraint; if (type != END_OF_RE) return false; if (!constraint) return true; if (NOT_SATISFY_NEXT_CONSTRAINT (constraint, context)) return false; return true; } /* Check the halt state STATE match the current context. Return 0 if not match, if the node, STATE has, is a halt node and match the context, return the node. */ static Idx internal_function check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) { Idx i; unsigned int context; #ifdef DEBUG assert (state->halt); #endif context = re_string_context_at (&mctx->input, idx, mctx->eflags); for (i = 0; i < state->nodes.nelem; ++i) if (check_halt_node_context (mctx->dfa, state->nodes.elems[i], context)) return state->nodes.elems[i]; return 0; } /* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA corresponding to the DFA). Return the destination node, and update EPS_VIA_NODES; return REG_MISSING in case of errors. */ static Idx internal_function proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, Idx *pidx, Idx node, re_node_set *eps_via_nodes, struct re_fail_stack_t *fs) { const re_dfa_t *const dfa = mctx->dfa; Idx i; bool ok; if (IS_EPSILON_NODE (dfa->nodes[node].type)) { re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; re_node_set *edests = &dfa->edests[node]; Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; /* Pick up a valid destination, or return REG_MISSING if none is found. */ for (dest_node = REG_MISSING, i = 0; i < edests->nelem; ++i) { Idx candidate = edests->elems[i]; if (!re_node_set_contains (cur_nodes, candidate)) continue; if (dest_node == REG_MISSING) dest_node = candidate; else { /* In order to avoid infinite loop like "(a*)*", return the second epsilon-transition if the first was already considered. */ if (re_node_set_contains (eps_via_nodes, dest_node)) return candidate; /* Otherwise, push the second epsilon-transition on the fail stack. */ else if (fs != NULL && push_fail_stack (fs, *pidx, candidate, nregs, regs, eps_via_nodes)) return REG_ERROR; /* We know we are going to exit. */ break; } } return dest_node; } else { Idx naccepted = 0; re_token_type_t type = dfa->nodes[node].type; #ifdef RE_ENABLE_I18N if (dfa->nodes[node].accept_mb) naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); else #endif /* RE_ENABLE_I18N */ if (type == OP_BACK_REF) { Idx subexp_idx = dfa->nodes[node].opr.idx + 1; naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so; if (fs != NULL) { if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1) return REG_MISSING; else if (naccepted) { char *buf = (char *) re_string_get_buffer (&mctx->input); if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, naccepted) != 0) return REG_MISSING; } } if (naccepted == 0) { Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; dest_node = dfa->edests[node].elems[0]; if (re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node)) return dest_node; } } if (naccepted != 0 || check_node_accept (mctx, dfa->nodes + node, *pidx)) { Idx dest_node = dfa->nexts[node]; *pidx = (naccepted == 0) ? *pidx + 1 : *pidx + naccepted; if (fs && (*pidx > mctx->match_last || mctx->state_log[*pidx] == NULL || !re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node))) return REG_MISSING; re_node_set_empty (eps_via_nodes); return dest_node; } } return REG_MISSING; } static reg_errcode_t internal_function __attribute_warn_unused_result__ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { reg_errcode_t err; Idx num = fs->num++; if (fs->num == fs->alloc) { struct re_fail_stack_ent_t *new_array; new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t) * fs->alloc * 2)); if (new_array == NULL) return REG_ESPACE; fs->alloc *= 2; fs->stack = new_array; } fs->stack[num].idx = str_idx; fs->stack[num].node = dest_node; fs->stack[num].regs = re_malloc (regmatch_t, nregs); if (fs->stack[num].regs == NULL) return REG_ESPACE; memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); return err; } static Idx internal_function pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { Idx num = --fs->num; assert (REG_VALID_INDEX (num)); *pidx = fs->stack[num].idx; memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs); re_node_set_free (eps_via_nodes); re_free (fs->stack[num].regs); *eps_via_nodes = fs->stack[num].eps_via_nodes; return fs->stack[num].node; } /* Set the positions where the subexpressions are starts/ends to registers PMATCH. Note: We assume that pmatch[0] is already set, and pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) { const re_dfa_t *dfa = preg->buffer; Idx idx, cur_node; re_node_set eps_via_nodes; struct re_fail_stack_t *fs; struct re_fail_stack_t fs_body = { 0, 2, NULL }; regmatch_t *prev_idx_match; bool prev_idx_match_malloced = false; #ifdef DEBUG assert (nmatch > 1); assert (mctx->state_log != NULL); #endif if (fl_backtrack) { fs = &fs_body; fs->stack = re_malloc (struct re_fail_stack_ent_t, fs->alloc); if (fs->stack == NULL) return REG_ESPACE; } else fs = NULL; cur_node = dfa->init_node; re_node_set_init_empty (&eps_via_nodes); if (__libc_use_alloca (nmatch * sizeof (regmatch_t))) prev_idx_match = (regmatch_t *) alloca (nmatch * sizeof (regmatch_t)); else { prev_idx_match = re_malloc (regmatch_t, nmatch); if (prev_idx_match == NULL) { free_fail_stack_return (fs); return REG_ESPACE; } prev_idx_match_malloced = true; } memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;) { update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node) { Idx reg_idx; if (fs) { for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so > -1 && pmatch[reg_idx].rm_eo == -1) break; if (reg_idx == nmatch) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); } else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOERROR; } } /* Proceed to next node. */ cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node, &eps_via_nodes, fs); if (BE (! REG_VALID_INDEX (cur_node), 0)) { if (BE (cur_node == REG_ERROR, 0)) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); free_fail_stack_return (fs); return REG_ESPACE; } if (fs) cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOMATCH; } } } re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } static reg_errcode_t internal_function free_fail_stack_return (struct re_fail_stack_t *fs) { if (fs) { Idx fs_idx; for (fs_idx = 0; fs_idx < fs->num; ++fs_idx) { re_node_set_free (&fs->stack[fs_idx].eps_via_nodes); re_free (fs->stack[fs_idx].regs); } re_free (fs->stack); } return REG_NOERROR; } static void internal_function update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) { int type = dfa->nodes[cur_node].type; if (type == OP_OPEN_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; /* We are at the first node of this sub expression. */ if (reg_num < nmatch) { pmatch[reg_num].rm_so = cur_idx; pmatch[reg_num].rm_eo = -1; } } else if (type == OP_CLOSE_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; if (reg_num < nmatch) { /* We are at the last node of this sub expression. */ if (pmatch[reg_num].rm_so < cur_idx) { pmatch[reg_num].rm_eo = cur_idx; /* This is a non-empty match or we are not inside an optional subexpression. Accept this right away. */ memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); } else { if (dfa->nodes[cur_node].opt_subexp && prev_idx_match[reg_num].rm_so != -1) /* We transited through an empty match for an optional subexpression, like (a?)*, and this is not the subexp's first match. Copy back the old content of the registers so that matches of an inner subexpression are undone as well, like in ((a?))*. */ memcpy (pmatch, prev_idx_match, sizeof (regmatch_t) * nmatch); else /* We completed a subexpression, but it may be part of an optional one, so do not update PREV_IDX_MATCH. */ pmatch[reg_num].rm_eo = cur_idx; } } } } /* This function checks the STATE_LOG from the SCTX->last_str_idx to 0 and sift the nodes in each states according to the following rules. Updated state_log will be wrote to STATE_LOG. Rules: We throw away the Node 'a' in the STATE_LOG[STR_IDX] if... 1. When STR_IDX == MATCH_LAST(the last index in the state_log): If 'a' isn't the LAST_NODE and 'a' can't epsilon transit to the LAST_NODE, we throw away the node 'a'. 2. When 0 <= STR_IDX < MATCH_LAST and 'a' accepts string 's' and transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw away the node 'a'. ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is thrown away, we throw away the node 'a'. 3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the node 'a'. ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away, we throw away the node 'a'. */ #define STATE_NODE_CONTAINS(state,node) \ ((state) != NULL && re_node_set_contains (&(state)->nodes, node)) static reg_errcode_t internal_function sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) { reg_errcode_t err; int null_cnt = 0; Idx str_idx = sctx->last_str_idx; re_node_set cur_dest; #ifdef DEBUG assert (mctx->state_log != NULL && mctx->state_log[str_idx] != NULL); #endif /* Build sifted state_log[str_idx]. It has the nodes which can epsilon transit to the last_node and the last_node itself. */ err = re_node_set_init_1 (&cur_dest, sctx->last_node); if (BE (err != REG_NOERROR, 0)) return err; err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; /* Then check each states in the state_log. */ while (str_idx > 0) { /* Update counters. */ null_cnt = (sctx->sifted_states[str_idx] == NULL) ? null_cnt + 1 : 0; if (null_cnt > mctx->max_mb_elem_len) { memset (sctx->sifted_states, '\0', sizeof (re_dfastate_t *) * str_idx); re_node_set_free (&cur_dest); return REG_NOERROR; } re_node_set_empty (&cur_dest); --str_idx; if (mctx->state_log[str_idx]) { err = build_sifted_states (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* Add all the nodes which satisfy the following conditions: - It can epsilon transit to a node in CUR_DEST. - It is in CUR_SRC. And update state_log. */ err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } err = REG_NOERROR; free_return: re_node_set_free (&cur_dest); return err; } static reg_errcode_t internal_function __attribute_warn_unused_result__ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *cur_src = &mctx->state_log[str_idx]->non_eps_nodes; Idx i; /* Then build the next sifted state. We build the next sifted state on 'cur_dest', and update 'sifted_states[str_idx]' with 'cur_dest'. Note: 'cur_dest' is the sifted state from 'state_log[str_idx + 1]'. 'cur_src' points the node_set of the old 'state_log[str_idx]' (with the epsilon nodes pre-filtered out). */ for (i = 0; i < cur_src->nelem; i++) { Idx prev_node = cur_src->elems[i]; int naccepted = 0; bool ok; #ifdef DEBUG re_token_type_t type = dfa->nodes[prev_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept "multi byte". */ if (dfa->nodes[prev_node].accept_mb) naccepted = sift_states_iter_mb (mctx, sctx, prev_node, str_idx, sctx->last_str_idx); #endif /* RE_ENABLE_I18N */ /* We don't check backreferences here. See update_cur_sifted_state(). */ if (!naccepted && check_node_accept (mctx, dfa->nodes + prev_node, str_idx) && STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + 1], dfa->nexts[prev_node])) naccepted = 1; if (naccepted == 0) continue; if (sctx->limits.nelem) { Idx to_idx = str_idx + naccepted; if (check_dst_limits (mctx, &sctx->limits, dfa->nexts[prev_node], to_idx, prev_node, str_idx)) continue; } ok = re_node_set_insert (cur_dest, prev_node); if (BE (! ok, 0)) return REG_ESPACE; } return REG_NOERROR; } /* Helper functions. */ static reg_errcode_t internal_function clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) { Idx top = mctx->state_log_top; if ((next_state_log_idx >= mctx->input.bufs_len && mctx->input.bufs_len < mctx->input.len) || (next_state_log_idx >= mctx->input.valid_len && mctx->input.valid_len < mctx->input.len)) { reg_errcode_t err; err = extend_buffers (mctx, next_state_log_idx + 1); if (BE (err != REG_NOERROR, 0)) return err; } if (top < next_state_log_idx) { memset (mctx->state_log + top + 1, '\0', sizeof (re_dfastate_t *) * (next_state_log_idx - top)); mctx->state_log_top = next_state_log_idx; } return REG_NOERROR; } static reg_errcode_t internal_function merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) { Idx st_idx; reg_errcode_t err; for (st_idx = 0; st_idx < num; ++st_idx) { if (dst[st_idx] == NULL) dst[st_idx] = src[st_idx]; else if (src[st_idx] != NULL) { re_node_set merged_set; err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes, &src[st_idx]->nodes); if (BE (err != REG_NOERROR, 0)) return err; dst[st_idx] = re_acquire_state (&err, dfa, &merged_set); re_node_set_free (&merged_set); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } static reg_errcode_t internal_function update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; const re_node_set *candidates; candidates = ((mctx->state_log[str_idx] == NULL) ? NULL : &mctx->state_log[str_idx]->nodes); if (dest_nodes->nelem == 0) sctx->sifted_states[str_idx] = NULL; else { if (candidates) { /* At first, add the nodes which can epsilon transit to a node in DEST_NODE. */ err = add_epsilon_src_nodes (dfa, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; /* Then, check the limitations in the current sift_context. */ if (sctx->limits.nelem) { err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits, mctx->bkref_ents, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; } if (candidates && mctx->state_log[str_idx]->has_backref) { err = sift_states_bkref (mctx, sctx, str_idx, candidates); if (BE (err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) { reg_errcode_t err = REG_NOERROR; Idx i; re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; if (!state->inveclosure.alloc) { err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < dest_nodes->nelem; i++) { err = re_node_set_merge (&state->inveclosure, dfa->inveclosures + dest_nodes->elems[i]); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; } } return re_node_set_add_intersect (dest_nodes, candidates, &state->inveclosure); } static reg_errcode_t internal_function sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes, const re_node_set *candidates) { Idx ecl_idx; reg_errcode_t err; re_node_set *inv_eclosure = dfa->inveclosures + node; re_node_set except_nodes; re_node_set_init_empty (&except_nodes); for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (cur_node == node) continue; if (IS_EPSILON_NODE (dfa->nodes[cur_node].type)) { Idx edst1 = dfa->edests[cur_node].elems[0]; Idx edst2 = ((dfa->edests[cur_node].nelem > 1) ? dfa->edests[cur_node].elems[1] : REG_MISSING); if ((!re_node_set_contains (inv_eclosure, edst1) && re_node_set_contains (dest_nodes, edst1)) || (REG_VALID_NONZERO_INDEX (edst2) && !re_node_set_contains (inv_eclosure, edst2) && re_node_set_contains (dest_nodes, edst2))) { err = re_node_set_add_intersect (&except_nodes, candidates, dfa->inveclosures + cur_node); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&except_nodes); return err; } } } } for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (!re_node_set_contains (&except_nodes, cur_node)) { Idx idx = re_node_set_contains (dest_nodes, cur_node) - 1; re_node_set_remove_at (dest_nodes, idx); } } re_node_set_free (&except_nodes); return REG_NOERROR; } static bool internal_function check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx lim_idx, src_pos, dst_pos; Idx dst_bkref_idx = search_cur_bkref_entry (mctx, dst_idx); Idx src_bkref_idx = search_cur_bkref_entry (mctx, src_idx); for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = mctx->bkref_ents + limits->elems[lim_idx]; subexp_idx = dfa->nodes[ent->node].opr.idx; dst_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, dst_node, dst_idx, dst_bkref_idx); src_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, src_node, src_idx, src_bkref_idx); /* In case of: <src> <dst> ( <subexp> ) ( <subexp> ) <src> <dst> ( <subexp1> <src> <subexp2> <dst> <subexp3> ) */ if (src_pos == dst_pos) continue; /* This is unrelated limitation. */ else return true; } return false; } static int internal_function check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *eclosures = dfa->eclosures + from_node; Idx node_idx; /* Else, we are on the boundary: examine the nodes on the epsilon closure. */ for (node_idx = 0; node_idx < eclosures->nelem; ++node_idx) { Idx node = eclosures->elems[node_idx]; switch (dfa->nodes[node].type) { case OP_BACK_REF: if (bkref_idx != REG_MISSING) { struct re_backref_cache_entry *ent = mctx->bkref_ents + bkref_idx; do { Idx dst; int cpos; if (ent->node != node) continue; if (subexp_idx < BITSET_WORD_BITS && !(ent->eps_reachable_subexps_map & ((bitset_word_t) 1 << subexp_idx))) continue; /* Recurse trying to reach the OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP cases below. But, if the destination node is the same node as the source node, don't recurse because it would cause an infinite loop: a regex that exhibits this behavior is ()\1*\1* */ dst = dfa->edests[node].elems[0]; if (dst == from_node) { if (boundaries & 1) return -1; else /* if (boundaries & 2) */ return 0; } cpos = check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, dst, bkref_idx); if (cpos == -1 /* && (boundaries & 1) */) return -1; if (cpos == 0 && (boundaries & 2)) return 0; if (subexp_idx < BITSET_WORD_BITS) ent->eps_reachable_subexps_map &= ~((bitset_word_t) 1 << subexp_idx); } while (ent++->more); } break; case OP_OPEN_SUBEXP: if ((boundaries & 1) && subexp_idx == dfa->nodes[node].opr.idx) return -1; break; case OP_CLOSE_SUBEXP: if ((boundaries & 2) && subexp_idx == dfa->nodes[node].opr.idx) return 0; break; default: break; } } return (boundaries & 2) ? 1 : 0; } static int internal_function check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx from_node, Idx str_idx, Idx bkref_idx) { struct re_backref_cache_entry *lim = mctx->bkref_ents + limit; int boundaries; /* If we are outside the range of the subexpression, return -1 or 1. */ if (str_idx < lim->subexp_from) return -1; if (lim->subexp_to < str_idx) return 1; /* If we are within the subexpression, return 0. */ boundaries = (str_idx == lim->subexp_from); boundaries |= (str_idx == lim->subexp_to) << 1; if (boundaries == 0) return 0; /* Else, examine epsilon closure. */ return check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, from_node, bkref_idx); } /* Check the limitations of sub expressions LIMITS, and remove the nodes which are against limitations from DEST_NODES. */ static reg_errcode_t internal_function check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) { reg_errcode_t err; Idx node_idx, lim_idx; for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = bkref_ents + limits->elems[lim_idx]; if (str_idx <= ent->subexp_from || ent->str_idx < str_idx) continue; /* This is unrelated limitation. */ subexp_idx = dfa->nodes[ent->node].opr.idx; if (ent->subexp_to == str_idx) { Idx ops_node = REG_MISSING; Idx cls_node = REG_MISSING; for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_OPEN_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) ops_node = node; else if (type == OP_CLOSE_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) cls_node = node; } /* Check the limitation of the open subexpression. */ /* Note that (ent->subexp_to = str_idx != ent->subexp_from). */ if (REG_VALID_INDEX (ops_node)) { err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } /* Check the limitation of the close subexpression. */ if (REG_VALID_INDEX (cls_node)) for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; if (!re_node_set_contains (dfa->inveclosures + node, cls_node) && !re_node_set_contains (dfa->eclosures + node, cls_node)) { /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; --node_idx; } } } else /* (ent->subexp_to != str_idx) */ { for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_CLOSE_SUBEXP || type == OP_OPEN_SUBEXP) { if (subexp_idx != dfa->nodes[node].opr.idx) continue; /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } } } } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx node_idx, node; re_sift_context_t local_sctx; Idx first_idx = search_cur_bkref_entry (mctx, str_idx); if (first_idx == REG_MISSING) return REG_NOERROR; local_sctx.sifted_states = NULL; /* Mark that it hasn't been initialized. */ for (node_idx = 0; node_idx < candidates->nelem; ++node_idx) { Idx enabled_idx; re_token_type_t type; struct re_backref_cache_entry *entry; node = candidates->elems[node_idx]; type = dfa->nodes[node].type; /* Avoid infinite loop for the REs like "()\1+". */ if (node == sctx->last_node && str_idx == sctx->last_str_idx) continue; if (type != OP_BACK_REF) continue; entry = mctx->bkref_ents + first_idx; enabled_idx = first_idx; do { Idx subexp_len; Idx to_idx; Idx dst_node; bool ok; re_dfastate_t *cur_state; if (entry->node != node) continue; subexp_len = entry->subexp_to - entry->subexp_from; to_idx = str_idx + subexp_len; dst_node = (subexp_len ? dfa->nexts[node] : dfa->edests[node].elems[0]); if (to_idx > sctx->last_str_idx || sctx->sifted_states[to_idx] == NULL || !STATE_NODE_CONTAINS (sctx->sifted_states[to_idx], dst_node) || check_dst_limits (mctx, &sctx->limits, node, str_idx, dst_node, to_idx)) continue; if (local_sctx.sifted_states == NULL) { local_sctx = *sctx; err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.last_node = node; local_sctx.last_str_idx = str_idx; ok = re_node_set_insert (&local_sctx.limits, enabled_idx); if (BE (! ok, 0)) { err = REG_ESPACE; goto free_return; } cur_state = local_sctx.sifted_states[str_idx]; err = sift_states_backward (mctx, &local_sctx); if (BE (err != REG_NOERROR, 0)) goto free_return; if (sctx->limited_states != NULL) { err = merge_state_array (dfa, sctx->limited_states, local_sctx.sifted_states, str_idx + 1); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.sifted_states[str_idx] = cur_state; re_node_set_remove (&local_sctx.limits, enabled_idx); /* mctx->bkref_ents may have changed, reload the pointer. */ entry = mctx->bkref_ents + enabled_idx; } while (enabled_idx++, entry++->more); } err = REG_NOERROR; free_return: if (local_sctx.sifted_states != NULL) { re_node_set_free (&local_sctx.limits); } return err; } #ifdef RE_ENABLE_I18N static int internal_function sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) { const re_dfa_t *const dfa = mctx->dfa; int naccepted; /* Check the node can accept "multi byte". */ naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); if (naccepted > 0 && str_idx + naccepted <= max_str_idx && !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], dfa->nexts[node_idx])) /* The node can't accept the "multi byte", or the destination was already thrown away, then the node could't accept the current input "multi byte". */ naccepted = 0; /* Otherwise, it is sure that the node could accept 'naccepted' bytes input. */ return naccepted; } #endif /* RE_ENABLE_I18N */ /* Functions for state transition. */ /* Return the next state to which the current state STATE will transit by accepting the current input byte, and update STATE_LOG if necessary. If STATE can accept a multibyte char/collating element/back reference update the destination of STATE_LOG. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { re_dfastate_t **trtable; unsigned char ch; #ifdef RE_ENABLE_I18N /* If the current state can accept multibyte. */ if (BE (state->accept_mb, 0)) { *err = transit_state_mb (mctx, state); if (BE (*err != REG_NOERROR, 0)) return NULL; } #endif /* RE_ENABLE_I18N */ /* Then decide the next state with the single byte. */ #if 0 if (0) /* don't use transition table */ return transit_state_sb (err, mctx, state); #endif /* Use transition table */ ch = re_string_fetch_byte (&mctx->input); for (;;) { trtable = state->trtable; if (BE (trtable != NULL, 1)) return trtable[ch]; trtable = state->word_trtable; if (BE (trtable != NULL, 1)) { unsigned int context; context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return trtable[ch + SBC_MAX]; else return trtable[ch]; } if (!build_trtable (mctx->dfa, state)) { *err = REG_ESPACE; return NULL; } /* Retry, we now have a transition table. */ } } /* Update the state_log if we need */ static re_dfastate_t * internal_function merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) { const re_dfa_t *const dfa = mctx->dfa; Idx cur_idx = re_string_cur_idx (&mctx->input); if (cur_idx > mctx->state_log_top) { mctx->state_log[cur_idx] = next_state; mctx->state_log_top = cur_idx; } else if (mctx->state_log[cur_idx] == 0) { mctx->state_log[cur_idx] = next_state; } else { re_dfastate_t *pstate; unsigned int context; re_node_set next_nodes, *log_nodes, *table_nodes = NULL; /* If (state_log[cur_idx] != 0), it implies that cur_idx is the destination of a multibyte char/collating element/ back reference. Then the next state is the union set of these destinations and the results of the transition table. */ pstate = mctx->state_log[cur_idx]; log_nodes = pstate->entrance_nodes; if (next_state != NULL) { table_nodes = next_state->entrance_nodes; *err = re_node_set_init_union (&next_nodes, table_nodes, log_nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; } else next_nodes = *log_nodes; /* Note: We already add the nodes of the initial state, then we don't need to add them here. */ context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); next_state = mctx->state_log[cur_idx] = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ if (table_nodes != NULL) re_node_set_free (&next_nodes); } if (BE (dfa->nbackref, 0) && next_state != NULL) { /* Check OP_OPEN_SUBEXP in the current state in case that we use them later. We must check them here, since the back references in the next state might use them. */ *err = check_subexp_matching_top (mctx, &next_state->nodes, cur_idx); if (BE (*err != REG_NOERROR, 0)) return NULL; /* If the next state has back references. */ if (next_state->has_backref) { *err = transit_state_bkref (mctx, &next_state->nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; next_state = mctx->state_log[cur_idx]; } } return next_state; } /* Skip bytes in the input that correspond to part of a multi-byte match, then look in the log for a state from which to restart matching. */ static re_dfastate_t * internal_function find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) { re_dfastate_t *cur_state; do { Idx max = mctx->state_log_top; Idx cur_str_idx = re_string_cur_idx (&mctx->input); do { if (++cur_str_idx > max) return NULL; re_string_skip_bytes (&mctx->input, 1); } while (mctx->state_log[cur_str_idx] == NULL); cur_state = merge_state_with_log (err, mctx, NULL); } while (*err == REG_NOERROR && cur_state == NULL); return cur_state; } /* Helper functions for transit_state. */ /* From the node set CUR_NODES, pick up the nodes whose types are OP_OPEN_SUBEXP and which have corresponding back references in the regular expression. And register them to use them later for evaluating the corresponding back references. */ static reg_errcode_t internal_function check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx node_idx; reg_errcode_t err; /* TODO: This isn't efficient. Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ for (node_idx = 0; node_idx < cur_nodes->nelem; ++node_idx) { Idx node = cur_nodes->elems[node_idx]; if (dfa->nodes[node].type == OP_OPEN_SUBEXP && dfa->nodes[node].opr.idx < BITSET_WORD_BITS && (dfa->used_bkref_map & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx))) { err = match_ctx_add_subtop (mctx, node, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } #if 0 /* Return the next state to which the current state STATE will transit by accepting the current input byte. */ static re_dfastate_t * transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { const re_dfa_t *const dfa = mctx->dfa; re_node_set next_nodes; re_dfastate_t *next_state; Idx node_cnt, cur_str_idx = re_string_cur_idx (&mctx->input); unsigned int context; *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1); if (BE (*err != REG_NOERROR, 0)) return NULL; for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt) { Idx cur_node = state->nodes.elems[node_cnt]; if (check_node_accept (mctx, dfa->nodes + cur_node, cur_str_idx)) { *err = re_node_set_merge (&next_nodes, dfa->eclosures + dfa->nexts[cur_node]); if (BE (*err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return NULL; } } } context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); next_state = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ re_node_set_free (&next_nodes); re_string_skip_bytes (&mctx->input, 1); return next_state; } #endif #ifdef RE_ENABLE_I18N static reg_errcode_t internal_function transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; for (i = 0; i < pstate->nodes.nelem; ++i) { re_node_set dest_nodes, *new_nodes; Idx cur_node_idx = pstate->nodes.elems[i]; int naccepted; Idx dest_idx; unsigned int context; re_dfastate_t *dest_state; if (!dfa->nodes[cur_node_idx].accept_mb) continue; if (dfa->nodes[cur_node_idx].constraint) { context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input), mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (dfa->nodes[cur_node_idx].constraint, context)) continue; } /* How many bytes the node can accept? */ naccepted = check_node_accept_bytes (dfa, cur_node_idx, &mctx->input, re_string_cur_idx (&mctx->input)); if (naccepted == 0) continue; /* The node can accepts 'naccepted' bytes. */ dest_idx = re_string_cur_idx (&mctx->input) + naccepted; mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted : mctx->max_mb_elem_len); err = clean_state_log_if_needed (mctx, dest_idx); if (BE (err != REG_NOERROR, 0)) return err; #ifdef DEBUG assert (dfa->nexts[cur_node_idx] != REG_MISSING); #endif new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx]; dest_state = mctx->state_log[dest_idx]; if (dest_state == NULL) dest_nodes = *new_nodes; else { err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_nodes); if (BE (err != REG_NOERROR, 0)) return err; } context = re_string_context_at (&mctx->input, dest_idx - 1, mctx->eflags); mctx->state_log[dest_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); if (dest_state != NULL) re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ static reg_errcode_t internal_function transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; Idx cur_str_idx = re_string_cur_idx (&mctx->input); for (i = 0; i < nodes->nelem; ++i) { Idx dest_str_idx, prev_nelem, bkc_idx; Idx node_idx = nodes->elems[i]; unsigned int context; const re_token_t *node = dfa->nodes + node_idx; re_node_set *new_dest_nodes; /* Check whether 'node' is a backreference or not. */ if (node->type != OP_BACK_REF) continue; if (node->constraint) { context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) continue; } /* 'node' is a backreference. Check the substring which the substring matched. */ bkc_idx = mctx->nbkref_ents; err = get_subexp (mctx, node_idx, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; /* And add the epsilon closures (which is 'new_dest_nodes') of the backreference to appropriate state_log. */ #ifdef DEBUG assert (dfa->nexts[node_idx] != REG_MISSING); #endif for (; bkc_idx < mctx->nbkref_ents; ++bkc_idx) { Idx subexp_len; re_dfastate_t *dest_state; struct re_backref_cache_entry *bkref_ent; bkref_ent = mctx->bkref_ents + bkc_idx; if (bkref_ent->node != node_idx || bkref_ent->str_idx != cur_str_idx) continue; subexp_len = bkref_ent->subexp_to - bkref_ent->subexp_from; new_dest_nodes = (subexp_len == 0 ? dfa->eclosures + dfa->edests[node_idx].elems[0] : dfa->eclosures + dfa->nexts[node_idx]); dest_str_idx = (cur_str_idx + bkref_ent->subexp_to - bkref_ent->subexp_from); context = re_string_context_at (&mctx->input, dest_str_idx - 1, mctx->eflags); dest_state = mctx->state_log[dest_str_idx]; prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0 : mctx->state_log[cur_str_idx]->nodes.nelem); /* Add 'new_dest_node' to state_log. */ if (dest_state == NULL) { mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, new_dest_nodes, context); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } else { re_node_set dest_nodes; err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&dest_nodes); goto free_return; } mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } /* We need to check recursively if the backreference can epsilon transit. */ if (subexp_len == 0 && mctx->state_log[cur_str_idx]->nodes.nelem > prev_nelem) { err = check_subexp_matching_top (mctx, new_dest_nodes, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; err = transit_state_bkref (mctx, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) goto free_return; } } } err = REG_NOERROR; free_return: return err; } /* Enumerate all the candidates which the backreference BKREF_NODE can match at BKREF_STR_IDX, and register them by match_ctx_add_entry(). Note that we might collect inappropriate candidates here. However, the cost of checking them strictly here is too high, then we delay these checking for prune_impossible_nodes(). */ static reg_errcode_t internal_function __attribute_warn_unused_result__ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx subexp_num, sub_top_idx; const char *buf = (const char *) re_string_get_buffer (&mctx->input); /* Return if we have already checked BKREF_NODE at BKREF_STR_IDX. */ Idx cache_idx = search_cur_bkref_entry (mctx, bkref_str_idx); if (cache_idx != REG_MISSING) { const struct re_backref_cache_entry *entry = mctx->bkref_ents + cache_idx; do if (entry->node == bkref_node) return REG_NOERROR; /* We already checked it. */ while (entry++->more); } subexp_num = dfa->nodes[bkref_node].opr.idx; /* For each sub expression */ for (sub_top_idx = 0; sub_top_idx < mctx->nsub_tops; ++sub_top_idx) { reg_errcode_t err; re_sub_match_top_t *sub_top = mctx->sub_tops[sub_top_idx]; re_sub_match_last_t *sub_last; Idx sub_last_idx, sl_str, bkref_str_off; if (dfa->nodes[sub_top->node].opr.idx != subexp_num) continue; /* It isn't related. */ sl_str = sub_top->str_idx; bkref_str_off = bkref_str_idx; /* At first, check the last node of sub expressions we already evaluated. */ for (sub_last_idx = 0; sub_last_idx < sub_top->nlasts; ++sub_last_idx) { regoff_t sl_str_diff; sub_last = sub_top->lasts[sub_last_idx]; sl_str_diff = sub_last->str_idx - sl_str; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_diff > 0) { if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0)) { /* Not enough chars for a successful match. */ if (bkref_str_off + sl_str_diff > mctx->input.len) break; err = clean_state_log_if_needed (mctx, bkref_str_off + sl_str_diff); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (memcmp (buf + bkref_str_off, buf + sl_str, sl_str_diff) != 0) /* We don't need to search this sub expression any more. */ break; } bkref_str_off += sl_str_diff; sl_str += sl_str_diff; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); /* Reload buf, since the preceding call might have reallocated the buffer. */ buf = (const char *) re_string_get_buffer (&mctx->input); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; } if (sub_last_idx < sub_top->nlasts) continue; if (sub_last_idx > 0) ++sl_str; /* Then, search for the other last nodes of the sub expression. */ for (; sl_str <= bkref_str_idx; ++sl_str) { Idx cls_node; regoff_t sl_str_off; const re_node_set *nodes; sl_str_off = sl_str - sub_top->str_idx; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_off > 0) { if (BE (bkref_str_off >= mctx->input.valid_len, 0)) { /* If we are at the end of the input, we cannot match. */ if (bkref_str_off >= mctx->input.len) break; err = extend_buffers (mctx, bkref_str_off + 1); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (buf [bkref_str_off++] != buf[sl_str - 1]) break; /* We don't need to search this sub expression any more. */ } if (mctx->state_log[sl_str] == NULL) continue; /* Does this state have a ')' of the sub expression? */ nodes = &mctx->state_log[sl_str]->nodes; cls_node = find_subexp_node (dfa, nodes, subexp_num, OP_CLOSE_SUBEXP); if (cls_node == REG_MISSING) continue; /* No. */ if (sub_top->path == NULL) { sub_top->path = calloc (sizeof (state_array_t), sl_str - sub_top->str_idx + 1); if (sub_top->path == NULL) return REG_ESPACE; } /* Can the OP_OPEN_SUBEXP node arrive the OP_CLOSE_SUBEXP node in the current context? */ err = check_arrival (mctx, sub_top->path, sub_top->node, sub_top->str_idx, cls_node, sl_str, OP_CLOSE_SUBEXP); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str); if (BE (sub_last == NULL, 0)) return REG_ESPACE; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); if (err == REG_NOMATCH) continue; } } return REG_NOERROR; } /* Helper functions for get_subexp(). */ /* Check SUB_LAST can arrive to the back reference BKREF_NODE at BKREF_STR. If it can arrive, register the sub expression expressed with SUB_TOP and SUB_LAST. */ static reg_errcode_t internal_function get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) { reg_errcode_t err; Idx to_idx; /* Can the subexpression arrive the back reference? */ err = check_arrival (mctx, &sub_last->path, sub_last->node, sub_last->str_idx, bkref_node, bkref_str, OP_OPEN_SUBEXP); if (err != REG_NOERROR) return err; err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx, sub_last->str_idx); if (BE (err != REG_NOERROR, 0)) return err; to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx; return clean_state_log_if_needed (mctx, to_idx); } /* Find the first node which is '(' or ')' and whose index is SUBEXP_IDX. Search '(' if FL_OPEN, or search ')' otherwise. TODO: This function isn't efficient... Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ static Idx internal_function find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) { Idx cls_idx; for (cls_idx = 0; cls_idx < nodes->nelem; ++cls_idx) { Idx cls_node = nodes->elems[cls_idx]; const re_token_t *node = dfa->nodes + cls_node; if (node->type == type && node->opr.idx == subexp_idx) return cls_node; } return REG_MISSING; } /* Check whether the node TOP_NODE at TOP_STR can arrive to the node LAST_NODE at LAST_STR. We record the path onto PATH since it will be heavily reused. Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; Idx subexp_num, backup_cur_idx, str_idx, null_cnt; re_dfastate_t *cur_state = NULL; re_node_set *cur_nodes, next_nodes; re_dfastate_t **backup_state_log; unsigned int context; subexp_num = dfa->nodes[top_node].opr.idx; /* Extend the buffer if we need. */ if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0)) { re_dfastate_t **new_array; Idx old_alloc = path->alloc; Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1; Idx new_alloc; if (BE (IDX_MAX - old_alloc < incr_alloc, 0)) return REG_ESPACE; new_alloc = old_alloc + incr_alloc; if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) return REG_ESPACE; new_array = re_realloc (path->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; path->array = new_array; path->alloc = new_alloc; memset (new_array + old_alloc, '\0', sizeof (re_dfastate_t *) * (path->alloc - old_alloc)); } str_idx = path->next_idx ? path->next_idx : top_str; /* Temporary modify MCTX. */ backup_state_log = mctx->state_log; backup_cur_idx = mctx->input.cur_idx; mctx->state_log = path->array; mctx->input.cur_idx = str_idx; /* Setup initial node set. */ context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); if (str_idx == top_str) { err = re_node_set_init_1 (&next_nodes, top_node); if (BE (err != REG_NOERROR, 0)) return err; err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } else { cur_state = mctx->state_log[str_idx]; if (cur_state && cur_state->has_backref) { err = re_node_set_init_copy (&next_nodes, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } else re_node_set_init_empty (&next_nodes); } if (str_idx == top_str || (cur_state && cur_state->has_backref)) { if (next_nodes.nelem) { err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; } for (null_cnt = 0; str_idx < last_str && null_cnt <= mctx->max_mb_elem_len;) { re_node_set_empty (&next_nodes); if (mctx->state_log[str_idx + 1]) { err = re_node_set_merge (&next_nodes, &mctx->state_log[str_idx + 1]->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } if (cur_state) { err = check_arrival_add_next_nodes (mctx, str_idx, &cur_state->non_eps_nodes, &next_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } ++str_idx; if (next_nodes.nelem) { err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; null_cnt = cur_state == NULL ? null_cnt + 1 : 0; } re_node_set_free (&next_nodes); cur_nodes = (mctx->state_log[last_str] == NULL ? NULL : &mctx->state_log[last_str]->nodes); path->next_idx = str_idx; /* Fix MCTX. */ mctx->state_log = backup_state_log; mctx->input.cur_idx = backup_cur_idx; /* Then check the current node set has the node LAST_NODE. */ if (cur_nodes != NULL && re_node_set_contains (cur_nodes, last_node)) return REG_NOERROR; return REG_NOMATCH; } /* Helper functions for check_arrival. */ /* Calculate the destination nodes of CUR_NODES at STR_IDX, and append them to NEXT_NODES. TODO: This function is similar to the functions transit_state*(), however this function has many additional works. Can't we unify them? */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) { const re_dfa_t *const dfa = mctx->dfa; bool ok; Idx cur_idx; #ifdef RE_ENABLE_I18N reg_errcode_t err = REG_NOERROR; #endif re_node_set union_set; re_node_set_init_empty (&union_set); for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) { int naccepted = 0; Idx cur_node = cur_nodes->elems[cur_idx]; #ifdef DEBUG re_token_type_t type = dfa->nodes[cur_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept "multi byte". */ if (dfa->nodes[cur_node].accept_mb) { naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input, str_idx); if (naccepted > 1) { re_dfastate_t *dest_state; Idx next_node = dfa->nexts[cur_node]; Idx next_idx = str_idx + naccepted; dest_state = mctx->state_log[next_idx]; re_node_set_empty (&union_set); if (dest_state) { err = re_node_set_merge (&union_set, &dest_state->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } ok = re_node_set_insert (&union_set, next_node); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } mctx->state_log[next_idx] = re_acquire_state (&err, dfa, &union_set); if (BE (mctx->state_log[next_idx] == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } } #endif /* RE_ENABLE_I18N */ if (naccepted || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) { ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } } } re_node_set_free (&union_set); return REG_NOERROR; } /* For all the nodes in CUR_NODES, add the epsilon closures of them to CUR_NODES, however exclude the nodes which are: - inside the sub expression whose number is EX_SUBEXP, if FL_OPEN. - out of the sub expression whose number is EX_SUBEXP, if !FL_OPEN. */ static reg_errcode_t internal_function check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) { reg_errcode_t err; Idx idx, outside_node; re_node_set new_nodes; #ifdef DEBUG assert (cur_nodes->nelem); #endif err = re_node_set_alloc (&new_nodes, cur_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return err; /* Create a new node set NEW_NODES with the nodes which are epsilon closures of the node in CUR_NODES. */ for (idx = 0; idx < cur_nodes->nelem; ++idx) { Idx cur_node = cur_nodes->elems[idx]; const re_node_set *eclosure = dfa->eclosures + cur_node; outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type); if (outside_node == REG_MISSING) { /* There are no problematic nodes, just merge them. */ err = re_node_set_merge (&new_nodes, eclosure); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } else { /* There are problematic nodes, re-calculate incrementally. */ err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node, ex_subexp, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } } re_node_set_free (cur_nodes); *cur_nodes = new_nodes; return REG_NOERROR; } /* Helper function for check_arrival_expand_ecl. Check incrementally the epsilon closure of TARGET, and if it isn't problematic append it to DST_NODES. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) { Idx cur_node; for (cur_node = target; !re_node_set_contains (dst_nodes, cur_node);) { bool ok; if (dfa->nodes[cur_node].type == type && dfa->nodes[cur_node].opr.idx == ex_subexp) { if (type == OP_CLOSE_SUBEXP) { ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; } break; } ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; if (dfa->edests[cur_node].nelem == 0) break; if (dfa->edests[cur_node].nelem == 2) { reg_errcode_t err; err = check_arrival_expand_ecl_sub (dfa, dst_nodes, dfa->edests[cur_node].elems[1], ex_subexp, type); if (BE (err != REG_NOERROR, 0)) return err; } cur_node = dfa->edests[cur_node].elems[0]; } return REG_NOERROR; } /* For all the back references in the current state, calculate the destination of the back references by the appropriate entry in MCTX->BKREF_ENTS. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx cache_idx_start = search_cur_bkref_entry (mctx, cur_str); struct re_backref_cache_entry *ent; if (cache_idx_start == REG_MISSING) return REG_NOERROR; restart: ent = mctx->bkref_ents + cache_idx_start; do { Idx to_idx, next_node; /* Is this entry ENT is appropriate? */ if (!re_node_set_contains (cur_nodes, ent->node)) continue; /* No. */ to_idx = cur_str + ent->subexp_to - ent->subexp_from; /* Calculate the destination of the back reference, and append it to MCTX->STATE_LOG. */ if (to_idx == cur_str) { /* The backreference did epsilon transit, we must re-check all the node in the current state. */ re_node_set new_dests; reg_errcode_t err2, err3; next_node = dfa->edests[ent->node].elems[0]; if (re_node_set_contains (cur_nodes, next_node)) continue; err = re_node_set_init_1 (&new_dests, next_node); err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type); err3 = re_node_set_merge (cur_nodes, &new_dests); re_node_set_free (&new_dests); if (BE (err != REG_NOERROR || err2 != REG_NOERROR || err3 != REG_NOERROR, 0)) { err = (err != REG_NOERROR ? err : (err2 != REG_NOERROR ? err2 : err3)); return err; } /* TODO: It is still inefficient... */ goto restart; } else { re_node_set union_set; next_node = dfa->nexts[ent->node]; if (mctx->state_log[to_idx]) { bool ok; if (re_node_set_contains (&mctx->state_log[to_idx]->nodes, next_node)) continue; err = re_node_set_init_copy (&union_set, &mctx->state_log[to_idx]->nodes); ok = re_node_set_insert (&union_set, next_node); if (BE (err != REG_NOERROR || ! ok, 0)) { re_node_set_free (&union_set); err = err != REG_NOERROR ? err : REG_ESPACE; return err; } } else { err = re_node_set_init_1 (&union_set, next_node); if (BE (err != REG_NOERROR, 0)) return err; } mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set); re_node_set_free (&union_set); if (BE (mctx->state_log[to_idx] == NULL && err != REG_NOERROR, 0)) return err; } } while (ent++->more); return REG_NOERROR; } /* Build transition table for the state. Return true if successful. */ static bool internal_function build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { reg_errcode_t err; Idx i, j; int ch; bool need_word_trtable = false; bitset_word_t elem, mask; bool dests_node_malloced = false; bool dest_states_malloced = false; Idx ndests; /* Number of the destination states from 'state'. */ re_dfastate_t **trtable; re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; re_node_set follows, *dests_node; bitset_t *dests_ch; bitset_t acceptable; struct dests_alloc { re_node_set dests_node[SBC_MAX]; bitset_t dests_ch[SBC_MAX]; } *dests_alloc; /* We build DFA states which corresponds to the destination nodes from 'state'. 'dests_node[i]' represents the nodes which i-th destination state contains, and 'dests_ch[i]' represents the characters which i-th destination state accepts. */ if (__libc_use_alloca (sizeof (struct dests_alloc))) dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc)); else { dests_alloc = re_malloc (struct dests_alloc, 1); if (BE (dests_alloc == NULL, 0)) return false; dests_node_malloced = true; } dests_node = dests_alloc->dests_node; dests_ch = dests_alloc->dests_ch; /* Initialize transition table. */ state->word_trtable = state->trtable = NULL; /* At first, group all nodes belonging to 'state' into several destinations. */ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0)) { if (dests_node_malloced) free (dests_alloc); /* Return false in case of an error, true otherwise. */ if (ndests == 0) { state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); if (BE (state->trtable == NULL, 0)) return false; return true; } return false; } err = re_node_set_alloc (&follows, ndests + 1); if (BE (err != REG_NOERROR, 0)) goto out_free; /* Avoid arithmetic overflow in size calculation. */ if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) / (3 * sizeof (re_dfastate_t *))) < ndests), 0)) goto out_free; if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX + ndests * 3 * sizeof (re_dfastate_t *))) dest_states = (re_dfastate_t **) alloca (ndests * 3 * sizeof (re_dfastate_t *)); else { dest_states = (re_dfastate_t **) malloc (ndests * 3 * sizeof (re_dfastate_t *)); if (BE (dest_states == NULL, 0)) { out_free: if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return false; } dest_states_malloced = true; } dest_states_word = dest_states + ndests; dest_states_nl = dest_states_word + ndests; bitset_empty (acceptable); /* Then build the states for all destinations. */ for (i = 0; i < ndests; ++i) { Idx next_node; re_node_set_empty (&follows); /* Merge the follows of this destination states. */ for (j = 0; j < dests_node[i].nelem; ++j) { next_node = dfa->nexts[dests_node[i].elems[j]]; if (next_node != REG_MISSING) { err = re_node_set_merge (&follows, dfa->eclosures + next_node); if (BE (err != REG_NOERROR, 0)) goto out_free; } } dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0); if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0)) goto out_free; /* If the new state has context constraint, build appropriate states for these contexts. */ if (dest_states[i]->has_constraint) { dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_WORD); if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) goto out_free; if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1) need_word_trtable = true; dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_NEWLINE); if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0)) goto out_free; } else { dest_states_word[i] = dest_states[i]; dest_states_nl[i] = dest_states[i]; } bitset_merge (acceptable, dests_ch[i]); } if (!BE (need_word_trtable, 0)) { /* We don't care about whether the following character is a word character, or we are in a single-byte character set so we can discern by looking at the character code: allocate a 256-entry transition table. */ trtable = state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ if (dfa->word_char[i] & mask) trtable[ch] = dest_states_word[j]; else trtable[ch] = dest_states[j]; } } else { /* We care about whether the following character is a word character, and we are in a multi-byte character set: discern by looking at the character code: build two 256-entry transition tables, one starting at trtable[0] and one starting at trtable[SBC_MAX]. */ trtable = state->word_trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ trtable[ch] = dest_states[j]; trtable[ch + SBC_MAX] = dest_states_word[j]; } } /* new line */ if (bitset_contain (acceptable, NEWLINE_CHAR)) { /* The current state accepts newline character. */ for (j = 0; j < ndests; ++j) if (bitset_contain (dests_ch[j], NEWLINE_CHAR)) { /* k-th destination accepts newline character. */ trtable[NEWLINE_CHAR] = dest_states_nl[j]; if (need_word_trtable) trtable[NEWLINE_CHAR + SBC_MAX] = dest_states_nl[j]; /* There must be only one destination which accepts newline. See group_nodes_into_DFAstates. */ break; } } if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return true; } /* Group all nodes belonging to STATE into several destinations. Then for all destinations, set the nodes belonging to the destination to DESTS_NODE[i] and set the characters accepted by the destination to DEST_CH[i]. This function return the number of destinations. */ static Idx internal_function group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *dests_node, bitset_t *dests_ch) { reg_errcode_t err; bool ok; Idx i, j, k; Idx ndests; /* Number of the destinations from 'state'. */ bitset_t accepts; /* Characters a node can accept. */ const re_node_set *cur_nodes = &state->nodes; bitset_empty (accepts); ndests = 0; /* For all the nodes belonging to 'state', */ for (i = 0; i < cur_nodes->nelem; ++i) { re_token_t *node = &dfa->nodes[cur_nodes->elems[i]]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; /* Enumerate all single byte character this node can accept. */ if (type == CHARACTER) bitset_set (accepts, node->opr.c); else if (type == SIMPLE_BRACKET) { bitset_merge (accepts, node->opr.sbcset); } else if (type == OP_PERIOD) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) bitset_merge (accepts, dfa->sb_char); else #endif bitset_set_all (accepts); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #ifdef RE_ENABLE_I18N else if (type == OP_UTF8_PERIOD) { if (ASCII_CHARS % BITSET_WORD_BITS == 0) memset (accepts, -1, ASCII_CHARS / CHAR_BIT); else bitset_merge (accepts, utf8_sb_map); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #endif else continue; /* Check the 'accepts' and sift the characters which are not match it the context. */ if (constraint) { if (constraint & NEXT_NEWLINE_CONSTRAINT) { bool accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); bitset_empty (accepts); if (accepts_newline) bitset_set (accepts, NEWLINE_CHAR); else continue; } if (constraint & NEXT_ENDBUF_CONSTRAINT) { bitset_empty (accepts); continue; } if (constraint & NEXT_WORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && !node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= dfa->word_char[j]); if (!any_set) continue; } if (constraint & NEXT_NOTWORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~dfa->word_char[j]); if (!any_set) continue; } } /* Then divide 'accepts' into DFA states, or create a new state. Above, we make sure that accepts is not empty. */ for (j = 0; j < ndests; ++j) { bitset_t intersec; /* Intersection sets, see below. */ bitset_t remains; /* Flags, see below. */ bitset_word_t has_intersec, not_subset, not_consumed; /* Optimization, skip if this state doesn't accept the character. */ if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c)) continue; /* Enumerate the intersection set of this state and 'accepts'. */ has_intersec = 0; for (k = 0; k < BITSET_WORDS; ++k) has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k]; /* And skip if the intersection set is empty. */ if (!has_intersec) continue; /* Then check if this state is a subset of 'accepts'. */ not_subset = not_consumed = 0; for (k = 0; k < BITSET_WORDS; ++k) { not_subset |= remains[k] = ~accepts[k] & dests_ch[j][k]; not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k]; } /* If this state isn't a subset of 'accepts', create a new group state, which has the 'remains'. */ if (not_subset) { bitset_copy (dests_ch[ndests], remains); bitset_copy (dests_ch[j], intersec); err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; } /* Put the position in the current group. */ ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]); if (BE (! ok, 0)) goto error_return; /* If all characters are consumed, go to next node. */ if (!not_consumed) break; } /* Some characters remain, create a new group. */ if (j == ndests) { bitset_copy (dests_ch[ndests], accepts); err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; bitset_empty (accepts); } } return ndests; error_return: for (j = 0; j < ndests; ++j) re_node_set_free (dests_node + j); return REG_MISSING; } #ifdef RE_ENABLE_I18N /* Check how many bytes the node 'dfa->nodes[node_idx]' accepts. Return the number of the bytes the node accepts. STR_IDX is the current index of the input string. This function handles the nodes which can accept one character, or one collating element like '.', '[a-z]', opposite to the other nodes can only accept one byte. */ static int internal_function check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx str_idx) { const re_token_t *node = dfa->nodes + node_idx; int char_len, elem_len; Idx i; if (BE (node->type == OP_UTF8_PERIOD, 0)) { unsigned char c = re_string_byte_at (input, str_idx), d; if (BE (c < 0xc2, 1)) return 0; if (str_idx + 2 > input->len) return 0; d = re_string_byte_at (input, str_idx + 1); if (c < 0xe0) return (d < 0x80 || d > 0xbf) ? 0 : 2; else if (c < 0xf0) { char_len = 3; if (c == 0xe0 && d < 0xa0) return 0; } else if (c < 0xf8) { char_len = 4; if (c == 0xf0 && d < 0x90) return 0; } else if (c < 0xfc) { char_len = 5; if (c == 0xf8 && d < 0x88) return 0; } else if (c < 0xfe) { char_len = 6; if (c == 0xfc && d < 0x84) return 0; } else return 0; if (str_idx + char_len > input->len) return 0; for (i = 1; i < char_len; ++i) { d = re_string_byte_at (input, str_idx + i); if (d < 0x80 || d > 0xbf) return 0; } return char_len; } char_len = re_string_char_size_at (input, str_idx); if (node->type == OP_PERIOD) { if (char_len <= 1) return 0; /* FIXME: I don't think this if is needed, as both '\n' and '\0' are char_len == 1. */ /* '.' accepts any one character except the following two cases. */ if ((!(dfa->syntax & RE_DOT_NEWLINE) && re_string_byte_at (input, str_idx) == '\n') || ((dfa->syntax & RE_DOT_NOT_NULL) && re_string_byte_at (input, str_idx) == '\0')) return 0; return char_len; } elem_len = re_string_elem_size_at (input, str_idx); if ((elem_len <= 1 && char_len <= 1) || char_len == 0) return 0; if (node->type == COMPLEX_BRACKET) { const re_charset_t *cset = node->opr.mbcset; # ifdef _LIBC const unsigned char *pin = ((const unsigned char *) re_string_get_buffer (input) + str_idx); Idx j; uint32_t nrules; # endif /* _LIBC */ int match_len = 0; wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) ? re_string_wchar_at (input, str_idx) : 0); /* match with multibyte character? */ for (i = 0; i < cset->nmbchars; ++i) if (wc == cset->mbchars[i]) { match_len = char_len; goto check_node_accept_bytes_match; } /* match with character_class? */ for (i = 0; i < cset->nchar_classes; ++i) { wctype_t wt = cset->char_classes[i]; if (__iswctype (wc, wt)) { match_len = char_len; goto check_node_accept_bytes_match; } } # ifdef _LIBC nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { unsigned int in_collseq = 0; const int32_t *table, *indirect; const unsigned char *weights, *extra; const char *collseqwc; /* This #include defines a local function! */ # include <locale/weight.h> /* match with collating_symbol? */ if (cset->ncoll_syms) extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); for (i = 0; i < cset->ncoll_syms; ++i) { const unsigned char *coll_sym = extra + cset->coll_syms[i]; /* Compare the length of input collating element and the length of current collating element. */ if (*coll_sym != elem_len) continue; /* Compare each bytes. */ for (j = 0; j < *coll_sym; j++) if (pin[j] != coll_sym[1 + j]) break; if (j == *coll_sym) { /* Match if every bytes is equal. */ match_len = j; goto check_node_accept_bytes_match; } } if (cset->nranges) { if (elem_len <= char_len) { collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); in_collseq = __collseq_table_lookup (collseqwc, wc); } else in_collseq = find_collation_sequence_value (pin, elem_len); } /* match with range expression? */ /* FIXME: Implement rational ranges here, too. */ for (i = 0; i < cset->nranges; ++i) if (cset->range_starts[i] <= in_collseq && in_collseq <= cset->range_ends[i]) { match_len = elem_len; goto check_node_accept_bytes_match; } /* match with equivalence_class? */ if (cset->nequiv_classes) { const unsigned char *cp = pin; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); int32_t idx = findidx (&cp, elem_len); if (idx > 0) for (i = 0; i < cset->nequiv_classes; ++i) { int32_t equiv_class_idx = cset->equiv_classes[i]; size_t weight_len = weights[idx & 0xffffff]; if (weight_len == weights[equiv_class_idx & 0xffffff] && (idx >> 24) == (equiv_class_idx >> 24)) { Idx cnt = 0; idx &= 0xffffff; equiv_class_idx &= 0xffffff; while (cnt <= weight_len && (weights[equiv_class_idx + 1 + cnt] == weights[idx + 1 + cnt])) ++cnt; if (cnt > weight_len) { match_len = elem_len; goto check_node_accept_bytes_match; } } } } } else # endif /* _LIBC */ { /* match with range expression? */ for (i = 0; i < cset->nranges; ++i) { if (cset->range_starts[i] <= wc && wc <= cset->range_ends[i]) { match_len = char_len; goto check_node_accept_bytes_match; } } } check_node_accept_bytes_match: if (!cset->non_match) return match_len; else { if (match_len > 0) return 0; else return (elem_len > char_len) ? elem_len : char_len; } } return 0; } # ifdef _LIBC static unsigned int internal_function find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules == 0) { if (mbs_len == 1) { /* No valid character. Match it as a single byte character. */ const unsigned char *collseq = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); return collseq[mbs[0]]; } return UINT_MAX; } else { int32_t idx; const unsigned char *extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); int32_t extrasize = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB + 1) - extra; for (idx = 0; idx < extrasize;) { int mbs_cnt; bool found = false; int32_t elem_mbs_len; /* Skip the name of collating element name. */ idx = idx + extra[idx] + 1; elem_mbs_len = extra[idx++]; if (mbs_len == elem_mbs_len) { for (mbs_cnt = 0; mbs_cnt < elem_mbs_len; ++mbs_cnt) if (extra[idx + mbs_cnt] != mbs[mbs_cnt]) break; if (mbs_cnt == elem_mbs_len) /* Found the entry. */ found = true; } /* Skip the byte sequence of the collating element. */ idx += elem_mbs_len; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the collation sequence value. */ idx += sizeof (uint32_t); /* Skip the wide char sequence of the collating element. */ idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1); /* If we found the entry, return the sequence value. */ if (found) return *(uint32_t *) (extra + idx); /* Skip the collation sequence value. */ idx += sizeof (uint32_t); } return UINT_MAX; } } # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ /* Check whether the node accepts the byte which is IDX-th byte of the INPUT. */ static bool internal_function check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) { unsigned char ch; ch = re_string_byte_at (&mctx->input, idx); switch (node->type) { case CHARACTER: if (node->opr.c != ch) return false; break; case SIMPLE_BRACKET: if (!bitset_contain (node->opr.sbcset, ch)) return false; break; #ifdef RE_ENABLE_I18N case OP_UTF8_PERIOD: if (ch >= ASCII_CHARS) return false; /* FALLTHROUGH */ #endif case OP_PERIOD: if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) return false; break; default: return false; } if (node->constraint) { /* The node has constraints. Check whether the current context satisfies the constraints. */ unsigned int context = re_string_context_at (&mctx->input, idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) return false; } return true; } /* Extend the buffers, if the buffers have run out. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ extend_buffers (re_match_context_t *mctx, int min_len) { reg_errcode_t ret; re_string_t *pstr = &mctx->input; /* Avoid overflow. */ if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2 <= pstr->bufs_len, 0)) return REG_ESPACE; /* Double the lengths of the buffers, but allocate at least MIN_LEN. */ ret = re_string_realloc_buffers (pstr, MAX (min_len, MIN (pstr->len, pstr->bufs_len * 2))); if (BE (ret != REG_NOERROR, 0)) return ret; if (mctx->state_log != NULL) { /* And double the length of state_log. */ /* XXX We have no indication of the size of this buffer. If this allocation fail we have no indication that the state_log array does not have the right size. */ re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *, pstr->bufs_len + 1); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->state_log = new_array; } /* Then reconstruct the buffers. */ if (pstr->icase) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (pstr->trans != NULL) re_string_translate_buffer (pstr); } } return REG_NOERROR; } /* Functions for matching context. */ /* Initialize MCTX. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n) { mctx->eflags = eflags; mctx->match_last = REG_MISSING; if (n > 0) { /* Avoid overflow. */ size_t max_object_size = MAX (sizeof (struct re_backref_cache_entry), sizeof (re_sub_match_top_t *)); if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0)) return REG_ESPACE; mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n); mctx->sub_tops = re_malloc (re_sub_match_top_t *, n); if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0)) return REG_ESPACE; } /* Already zero-ed by the caller. else mctx->bkref_ents = NULL; mctx->nbkref_ents = 0; mctx->nsub_tops = 0; */ mctx->abkref_ents = n; mctx->max_mb_elem_len = 1; mctx->asub_tops = n; return REG_NOERROR; } /* Clean the entries which depend on the current input in MCTX. This function must be invoked when the matcher changes the start index of the input, or changes the input string. */ static void internal_function match_ctx_clean (re_match_context_t *mctx) { Idx st_idx; for (st_idx = 0; st_idx < mctx->nsub_tops; ++st_idx) { Idx sl_idx; re_sub_match_top_t *top = mctx->sub_tops[st_idx]; for (sl_idx = 0; sl_idx < top->nlasts; ++sl_idx) { re_sub_match_last_t *last = top->lasts[sl_idx]; re_free (last->path.array); re_free (last); } re_free (top->lasts); if (top->path) { re_free (top->path->array); re_free (top->path); } free (top); } mctx->nsub_tops = 0; mctx->nbkref_ents = 0; } /* Free all the memory associated with MCTX. */ static void internal_function match_ctx_free (re_match_context_t *mctx) { /* First, free all the memory associated with MCTX->SUB_TOPS. */ match_ctx_clean (mctx); re_free (mctx->sub_tops); re_free (mctx->bkref_ents); } /* Add a new backreference entry to MCTX. Note that we assume that caller never call this function with duplicate entry, and call with STR_IDX which isn't smaller than any existing entry. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from, Idx to) { if (mctx->nbkref_ents >= mctx->abkref_ents) { struct re_backref_cache_entry* new_entry; new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry, mctx->abkref_ents * 2); if (BE (new_entry == NULL, 0)) { re_free (mctx->bkref_ents); return REG_ESPACE; } mctx->bkref_ents = new_entry; memset (mctx->bkref_ents + mctx->nbkref_ents, '\0', sizeof (struct re_backref_cache_entry) * mctx->abkref_ents); mctx->abkref_ents *= 2; } if (mctx->nbkref_ents > 0 && mctx->bkref_ents[mctx->nbkref_ents - 1].str_idx == str_idx) mctx->bkref_ents[mctx->nbkref_ents - 1].more = 1; mctx->bkref_ents[mctx->nbkref_ents].node = node; mctx->bkref_ents[mctx->nbkref_ents].str_idx = str_idx; mctx->bkref_ents[mctx->nbkref_ents].subexp_from = from; mctx->bkref_ents[mctx->nbkref_ents].subexp_to = to; /* This is a cache that saves negative results of check_dst_limits_calc_pos. If bit N is clear, means that this entry won't epsilon-transition to an OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP for the N+1-th subexpression. If it is set, check_dst_limits_calc_pos_1 will recurse and try to find one such node. A backreference does not epsilon-transition unless it is empty, so set to all zeros if FROM != TO. */ mctx->bkref_ents[mctx->nbkref_ents].eps_reachable_subexps_map = (from == to ? -1 : 0); mctx->bkref_ents[mctx->nbkref_ents++].more = 0; if (mctx->max_mb_elem_len < to - from) mctx->max_mb_elem_len = to - from; return REG_NOERROR; } /* Return the first entry with the same str_idx, or REG_MISSING if none is found. Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX. */ static Idx internal_function search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) { Idx left, right, mid, last; last = right = mctx->nbkref_ents; for (left = 0; left < right;) { mid = (left + right) / 2; if (mctx->bkref_ents[mid].str_idx < str_idx) left = mid + 1; else right = mid; } if (left < last && mctx->bkref_ents[left].str_idx == str_idx) return left; else return REG_MISSING; } /* Register the node NODE, whose type is OP_OPEN_SUBEXP, and which matches at STR_IDX. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) { #ifdef DEBUG assert (mctx->sub_tops != NULL); assert (mctx->asub_tops > 0); #endif if (BE (mctx->nsub_tops == mctx->asub_tops, 0)) { Idx new_asub_tops = mctx->asub_tops * 2; re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops, re_sub_match_top_t *, new_asub_tops); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->sub_tops = new_array; mctx->asub_tops = new_asub_tops; } mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t)); if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0)) return REG_ESPACE; mctx->sub_tops[mctx->nsub_tops]->node = node; mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx; return REG_NOERROR; } /* Register the node NODE, whose type is OP_CLOSE_SUBEXP, and which matches at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */ static re_sub_match_last_t * internal_function match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) { re_sub_match_last_t *new_entry; if (BE (subtop->nlasts == subtop->alasts, 0)) { Idx new_alasts = 2 * subtop->alasts + 1; re_sub_match_last_t **new_array = re_realloc (subtop->lasts, re_sub_match_last_t *, new_alasts); if (BE (new_array == NULL, 0)) return NULL; subtop->lasts = new_array; subtop->alasts = new_alasts; } new_entry = calloc (1, sizeof (re_sub_match_last_t)); if (BE (new_entry != NULL, 1)) { subtop->lasts[subtop->nlasts] = new_entry; new_entry->node = node; new_entry->str_idx = str_idx; ++subtop->nlasts; } return new_entry; } static void internal_function sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) { sctx->sifted_states = sifted_sts; sctx->limited_states = limited_sts; sctx->last_node = last_node; sctx->last_str_idx = last_str_idx; re_node_set_init_empty (&sctx->limits); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strintcmp.c����������������������������������������������������������������������0000664�0000000�0000000�00000002051�12102337340�013274� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Compare integer strings. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "strnumcmp-in.h" /* Compare strings A and B as integers without explicitly converting them to machine numbers, to avoid overflow problems and perhaps improve performance. */ int strintcmp (char const *a, char const *b) { return numcompare (a, b, -1, -1); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/savewd.h�������������������������������������������������������������������������0000664�0000000�0000000�00000012546�12071024546�012567� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Save and restore the working directory, possibly using a subprocess. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef SAVEWD_H # define SAVEWD_H 1 #include <stdbool.h> #include <sys/types.h> _GL_INLINE_HEADER_BEGIN #ifndef SAVEWD_INLINE # define SAVEWD_INLINE _GL_INLINE #endif /* A saved working directory. The member names and constants defined by this structure are private to the savewd module. */ struct savewd { /* The state of this object. */ enum { /* This object has been created but does not yet represent the working directory. */ INITIAL_STATE, /* val.fd is the original working directory's file descriptor. It is still the working directory. */ FD_STATE, /* Like FD_STATE, but the working directory has changed, so restoring it will require a fchdir. */ FD_POST_CHDIR_STATE, /* Fork and let the subprocess do the work. val.child is 0 in a child, negative in a childless parent, and the child process ID in a parent with a child. */ FORKING_STATE, /* A serious problem argues against further efforts. val.errnum contains the error number (e.g., EIO). */ ERROR_STATE, /* savewd_finish has been called, so the application no longer cares whether the working directory is saved, and there is no more work to do. */ FINAL_STATE } state; /* The object's value. */ union { int fd; int errnum; pid_t child; } val; }; /* Initialize a saved working directory object. */ SAVEWD_INLINE void savewd_init (struct savewd *wd) { wd->state = INITIAL_STATE; } /* Options for savewd_chdir. */ enum { /* Do not follow symbolic links, if supported. */ SAVEWD_CHDIR_NOFOLLOW = 1, /* The directory should be readable, so fail if it happens to be discovered that the directory is not readable. (Unreadable directories are not necessarily diagnosed, though.) */ SAVEWD_CHDIR_READABLE = 2, /* Do not chdir if the directory is readable; simply succeed without invoking chdir if the directory was opened. */ SAVEWD_CHDIR_SKIP_READABLE = 4 }; /* Change the directory, and if successful, record into *WD the fact that the process chdired into DIR. A process using this module should use savewd_chdir rather than chdir or fchdir. Obey the options specified in OPTIONS. If OPEN_RESULT is not null, store into OPEN_RESULT[0] a file descriptor that accesses DIR if a file descriptor is successfully obtained. Store -1 otherwise, setting OPEN_RESULT[1] to the error number. Store through OPEN_RESULT regardless of whether the chdir is successful. However, when -2 is returned, the contents of OPEN_RESULT are indeterminate since the file descriptor is closed in the parent. Return -2 if a subprocess was spun off to do the real work, -1 (setting errno) if unsuccessful, 0 if successful. */ int savewd_chdir (struct savewd *wd, char const *dir, int options, int open_result[2]); /* Restore the working directory from *WD. STATUS indicates the exit status corresponding to the work done since the last save; this is used when the caller is in a subprocess. Return 0 if successful, -1 (setting errno) on our failure, a positive subprocess exit status if the working directory was restored in the parent but the subprocess failed. */ int savewd_restore (struct savewd *wd, int status); /* Return WD's error number, or 0 if WD is not in an error state. */ SAVEWD_INLINE int savewd_errno (struct savewd const *wd) { return (wd->state == ERROR_STATE ? wd->val.errnum : 0); } /* Deallocate any resources associated with WD. A program that chdirs should restore before finishing. */ void savewd_finish (struct savewd *wd); /* Process N_FILES file names, FILE[0] through FILE[N_FILES - 1]. For each file name F, call ACT (F, WD, OPTIONS); ACT should invoke savewd_chdir as needed, and should return an exit status. WD represents the working directory; it may be in an error state when ACT is called. Save and restore the working directory as needed by the file name vector; assume that ACT does not require access to any relative file names other than its first argument, and that it is OK if the working directory is changed when this function returns. Some actions may be applied in a subprocess. Return the maximum exit status that any call to ACT returned, or EXIT_SUCCESS (i.e., 0) if no calls were made. */ int savewd_process_files (int n_files, char **file, int (*act) (char *, struct savewd *, void *), void *options); _GL_INLINE_HEADER_END #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mktime-internal.h����������������������������������������������������������������0000664�0000000�0000000�00000000241�11624727634�014376� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <time.h> time_t mktime_internal (struct tm *, struct tm * (*) (time_t const *, struct tm *), time_t *); ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regex.c��������������������������������������������������������������������������0000664�0000000�0000000�00000006061�12071561013�012371� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Extended regular expression matching and search library. Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> # if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" # endif # if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wtype-limits" # endif #endif /* Make sure no one compiles this code with a C++ compiler. */ #if defined __cplusplus && defined _LIBC # error "This is C code, use a C compiler" #endif #ifdef _LIBC /* We have to keep the namespace clean. */ # define regfree(preg) __regfree (preg) # define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef) # define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags) # define regerror(errcode, preg, errbuf, errbuf_size) \ __regerror(errcode, preg, errbuf, errbuf_size) # define re_set_registers(bu, re, nu, st, en) \ __re_set_registers (bu, re, nu, st, en) # define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \ __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) # define re_match(bufp, string, size, pos, regs) \ __re_match (bufp, string, size, pos, regs) # define re_search(bufp, string, size, startpos, range, regs) \ __re_search (bufp, string, size, startpos, range, regs) # define re_compile_pattern(pattern, length, bufp) \ __re_compile_pattern (pattern, length, bufp) # define re_set_syntax(syntax) __re_set_syntax (syntax) # define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \ __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop) # define re_compile_fastmap(bufp) __re_compile_fastmap (bufp) # include "../locale/localeinfo.h" #endif /* On some systems, limits.h sets RE_DUP_MAX to a lower value than GNU regex allows. Include it before <regex.h>, which correctly #undefs RE_DUP_MAX and sets it to the right value. */ #include <limits.h> #include <regex.h> #include "regex_internal.h" #include "regex_internal.c" #include "regcomp.c" #include "regexec.c" /* Binary backward compatibility. */ #if _LIBC # include <shlib-compat.h> # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3) link_warning (re_max_failures, "the 're_max_failures' variable is obsolete and will go away.") int re_max_failures = 2000; # endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/exitfail.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001402�12071024546�013070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Failure exit status Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ extern int volatile exit_failure; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-parse.h�������������������������������������������������������������������0000664�0000000�0000000�00000012163�12071561012�013675� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Parse printf format string. Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. STATIC Set to 'static' to declare the function static. */ #if HAVE_FEATURES_H # include <features.h> /* for __GLIBC__, __UCLIBC__ */ #endif #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 #if __GLIBC__ >= 2 && !defined __UCLIBC__ # define FLAG_LOCALIZED 64 /* I flag, uses localized digits */ #endif /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* xxx_directive: A parsed directive. xxx_directives: A parsed format string. */ /* Number of directly allocated directives (no malloc() needed). */ #define N_DIRECT_ALLOC_DIRECTIVES 7 /* A parsed directive. */ typedef struct { const char* dir_start; const char* dir_end; int flags; const char* width_start; const char* width_end; size_t width_arg_index; const char* precision_start; const char* precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } char_directive; /* A parsed format string. */ typedef struct { size_t count; char_directive *dir; size_t max_width_length; size_t max_precision_length; char_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES]; } char_directives; #if ENABLE_UNISTDIO /* A parsed directive. */ typedef struct { const uint8_t* dir_start; const uint8_t* dir_end; int flags; const uint8_t* width_start; const uint8_t* width_end; size_t width_arg_index; const uint8_t* precision_start; const uint8_t* precision_end; size_t precision_arg_index; uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u8_directive; /* A parsed format string. */ typedef struct { size_t count; u8_directive *dir; size_t max_width_length; size_t max_precision_length; u8_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES]; } u8_directives; /* A parsed directive. */ typedef struct { const uint16_t* dir_start; const uint16_t* dir_end; int flags; const uint16_t* width_start; const uint16_t* width_end; size_t width_arg_index; const uint16_t* precision_start; const uint16_t* precision_end; size_t precision_arg_index; uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u16_directive; /* A parsed format string. */ typedef struct { size_t count; u16_directive *dir; size_t max_width_length; size_t max_precision_length; u16_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES]; } u16_directives; /* A parsed directive. */ typedef struct { const uint32_t* dir_start; const uint32_t* dir_end; int flags; const uint32_t* width_start; const uint32_t* width_end; size_t width_arg_index; const uint32_t* precision_start; const uint32_t* precision_end; size_t precision_arg_index; uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u32_directive; /* A parsed format string. */ typedef struct { size_t count; u32_directive *dir; size_t max_width_length; size_t max_precision_length; u32_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES]; } u32_directives; #endif /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #if ENABLE_UNISTDIO extern int ulc_printf_parse (const char *format, char_directives *d, arguments *a); extern int u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a); extern int u16_printf_parse (const uint16_t *format, u16_directives *d, arguments *a); extern int u32_printf_parse (const uint32_t *format, u32_directives *d, arguments *a); #else # ifdef STATIC STATIC # else extern # endif int printf_parse (const char *format, char_directives *d, arguments *a); #endif #endif /* _PRINTF_PARSE_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gethrxtime.c���������������������������������������������������������������������0000664�0000000�0000000�00000003651�12071024546�013446� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* gethrxtime -- get high resolution real time Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #define GETHRXTIME_INLINE _GL_EXTERN_INLINE #include "gethrxtime.h" #if ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME) #include <sys/time.h> #include "timespec.h" /* Get the current time, as a count of the number of nanoseconds since an arbitrary epoch (e.g., the system boot time). Prefer a high-resolution clock that is not subject to resetting or drifting. */ xtime_t gethrxtime (void) { # if HAVE_NANOUPTIME { struct timespec ts; nanouptime (&ts); return xtime_make (ts.tv_sec, ts.tv_nsec); } # else # if defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME { struct timespec ts; if (clock_gettime (CLOCK_MONOTONIC, &ts) == 0) return xtime_make (ts.tv_sec, ts.tv_nsec); } # endif # if HAVE_MICROUPTIME { struct timeval tv; microuptime (&tv); return xtime_make (tv.tv_sec, 1000 * tv.tv_usec); } # else /* No monotonically increasing clocks are available; fall back on a clock that might jump backwards, since it's the best we can do. */ { struct timespec ts; gettime (&ts); return xtime_make (ts.tv_sec, ts.tv_nsec); } # endif # endif } #endif ���������������������������������������������������������������������������������������coreutils-8.21/lib/long-options.c�������������������������������������������������������������������0000664�0000000�0000000�00000004615�12071024546�013717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Utility to accept --help and --version options as unobtrusively as possible. Copyright (C) 1993-1994, 1998-2000, 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> /* Specification. */ #include "long-options.h" #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <getopt.h> #include "version-etc.h" static struct option const long_options[] = { {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0} }; /* Process long options --help and --version, but only if argc == 2. Be careful not to gobble up "--". */ void parse_long_options (int argc, char **argv, const char *command_name, const char *package, const char *version, void (*usage_func) (int), /* const char *author1, ...*/ ...) { int c; int saved_opterr; saved_opterr = opterr; /* Don't print an error message for unrecognized options. */ opterr = 0; if (argc == 2 && (c = getopt_long (argc, argv, "+", long_options, NULL)) != -1) { switch (c) { case 'h': (*usage_func) (EXIT_SUCCESS); case 'v': { va_list authors; va_start (authors, usage_func); version_etc_va (stdout, command_name, package, version, authors); exit (0); } default: /* Don't process any other long-named options. */ break; } } /* Restore previous value. */ opterr = saved_opterr; /* Reset this to zero so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. */ optind = 0; } �������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-ctype.c������������������������������������������������������������������������0000664�0000000�0000000�00000025341�12071561006�012627� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Character handling in C locale. Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #define NO_C_CTYPE_MACROS #include "c-ctype.h" /* The function isascii is not locale dependent. Its use in EBCDIC is questionable. */ bool c_isascii (int c) { return (c >= 0x00 && c <= 0x7f); } bool c_isalnum (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')); #else return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); #endif #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isalpha (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'); #else return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); #endif #else switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isblank (int c) { return (c == ' ' || c == '\t'); } bool c_iscntrl (int c) { #if C_CTYPE_ASCII return ((c & ~0x1f) == 0 || c == 0x7f); #else switch (c) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 0; default: return 1; } #endif } bool c_isdigit (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS return (c >= '0' && c <= '9'); #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return 1; default: return 0; } #endif } bool c_islower (int c) { #if C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'a' && c <= 'z'); #else switch (c) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isgraph (int c) { #if C_CTYPE_ASCII return (c >= '!' && c <= '~'); #else switch (c) { case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_isprint (int c) { #if C_CTYPE_ASCII return (c >= ' ' && c <= '~'); #else switch (c) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_ispunct (int c) { #if C_CTYPE_ASCII return ((c >= '!' && c <= '~') && !((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'))); #else switch (c) { case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case '[': case '\\': case ']': case '^': case '_': case '`': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_isspace (int c) { return (c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'); } bool c_isupper (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE return (c >= 'A' && c <= 'Z'); #else switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': return 1; default: return 0; } #endif } bool c_isxdigit (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F')); #else return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); #endif #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': return 1; default: return 0; } #endif } int c_tolower (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c); #else switch (c) { case 'A': return 'a'; case 'B': return 'b'; case 'C': return 'c'; case 'D': return 'd'; case 'E': return 'e'; case 'F': return 'f'; case 'G': return 'g'; case 'H': return 'h'; case 'I': return 'i'; case 'J': return 'j'; case 'K': return 'k'; case 'L': return 'l'; case 'M': return 'm'; case 'N': return 'n'; case 'O': return 'o'; case 'P': return 'p'; case 'Q': return 'q'; case 'R': return 'r'; case 'S': return 's'; case 'T': return 't'; case 'U': return 'u'; case 'V': return 'v'; case 'W': return 'w'; case 'X': return 'x'; case 'Y': return 'y'; case 'Z': return 'z'; default: return c; } #endif } int c_toupper (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); #else switch (c) { case 'a': return 'A'; case 'b': return 'B'; case 'c': return 'C'; case 'd': return 'D'; case 'e': return 'E'; case 'f': return 'F'; case 'g': return 'G'; case 'h': return 'H'; case 'i': return 'I'; case 'j': return 'J'; case 'k': return 'K'; case 'l': return 'L'; case 'm': return 'M'; case 'n': return 'N'; case 'o': return 'O'; case 'p': return 'P'; case 'q': return 'Q'; case 'r': return 'R'; case 's': return 'S'; case 't': return 'T'; case 'u': return 'U'; case 'v': return 'V'; case 'w': return 'W'; case 'x': return 'X'; case 'y': return 'Y'; case 'z': return 'Z'; default: return c; } #endif } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mountlist.c����������������������������������������������������������������������0000664�0000000�0000000�00000064071�12104754777�013344� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* mountlist.c -- return a list of mounted file systems Copyright (C) 1991-1992, 1997-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "mountlist.h" #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include "xalloc.h" #include <errno.h> #include <fcntl.h> #include <unistd.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ # if HAVE_SYS_UCRED_H # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS, NGROUPS is used as an array dimension in ucred.h */ # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */ # endif # if HAVE_SYS_MOUNT_H # include <sys/mount.h> # endif # if HAVE_SYS_FS_TYPES_H # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */ # endif # if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) # else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] # endif #endif /* MOUNTED_GETFSSTAT */ #ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */ # include <mntent.h> # if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif # endif #endif #ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ # include <sys/mount.h> #endif #ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ # include <sys/statvfs.h> #endif #ifdef MOUNTED_GETMNT /* Ultrix. */ # include <sys/mount.h> # include <sys/fs_types.h> #endif #ifdef MOUNTED_FS_STAT_DEV /* BeOS. */ # include <fs_info.h> # include <dirent.h> #endif #ifdef MOUNTED_FREAD /* SVR2. */ # include <mnttab.h> #endif #ifdef MOUNTED_FREAD_FSTYP /* SVR3. */ # include <mnttab.h> # include <sys/fstyp.h> # include <sys/statfs.h> #endif #ifdef MOUNTED_LISTMNTENT # include <mntent.h> #endif #ifdef MOUNTED_GETMNTENT2 /* SVR4. */ # include <sys/mnttab.h> #endif #ifdef MOUNTED_VMOUNT /* AIX. */ # include <fshelp.h> # include <sys/vfs.h> #endif #ifdef MOUNTED_INTERIX_STATVFS /* Interix. */ # include <sys/statvfs.h> # include <dirent.h> #endif #ifdef DOLPHIN /* So special that it's not worth putting this in autoconf. */ # undef MOUNTED_FREAD_FSTYP # define MOUNTED_GETMNTTBL #endif #if HAVE_SYS_MNTENT_H /* This is to get MNTOPT_IGNORE on e.g. SVR4. */ # include <sys/mntent.h> #endif #undef MNT_IGNORE #if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT # define MNT_IGNORE(M) hasmntopt (M, MNTOPT_IGNORE) #else # define MNT_IGNORE(M) 0 #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* The results of opendir() in this file are not used with dirfd and fchdir, therefore save some unnecessary work in fchdir.c. */ #undef opendir #undef closedir #define ME_DUMMY_0(Fs_name, Fs_type) \ (strcmp (Fs_type, "autofs") == 0 \ || strcmp (Fs_type, "proc") == 0 \ || strcmp (Fs_type, "subfs") == 0 \ /* for Linux 2.6/3.x */ \ || strcmp (Fs_type, "debugfs") == 0 \ || strcmp (Fs_type, "devpts") == 0 \ || strcmp (Fs_type, "fusectl") == 0 \ || strcmp (Fs_type, "mqueue") == 0 \ || strcmp (Fs_type, "rpc_pipefs") == 0 \ || strcmp (Fs_type, "sysfs") == 0 \ /* FreeBSD, Linux 2.4 */ \ || strcmp (Fs_type, "devfs") == 0 \ /* for NetBSD 3.0 */ \ || strcmp (Fs_type, "kernfs") == 0 \ /* for Irix 6.5 */ \ || strcmp (Fs_type, "ignore") == 0) /* Historically, we have marked as "dummy" any file system of type "none", but now that programs like du need to know about bind-mounted directories, we grant an exception to any with "bind" in its list of mount options. I.e., those are *not* dummy entries. */ #ifdef MOUNTED_GETMNTENT1 # define ME_DUMMY(Fs_name, Fs_type, Fs_ent) \ (ME_DUMMY_0 (Fs_name, Fs_type) \ || (strcmp (Fs_type, "none") == 0 \ && !hasmntopt (Fs_ent, "bind"))) #else # define ME_DUMMY(Fs_name, Fs_type) \ (ME_DUMMY_0 (Fs_name, Fs_type) || strcmp (Fs_type, "none") == 0) #endif #ifdef __CYGWIN__ # include <windows.h> # define ME_REMOTE me_remote /* All cygwin mount points include ':' or start with '//'; so it requires a native Windows call to determine remote disks. */ static bool me_remote (char const *fs_name, char const *fs_type _GL_UNUSED) { if (fs_name[0] && fs_name[1] == ':') { char drive[4]; sprintf (drive, "%c:\\", fs_name[0]); switch (GetDriveType (drive)) { case DRIVE_REMOVABLE: case DRIVE_FIXED: case DRIVE_CDROM: case DRIVE_RAMDISK: return false; } } return true; } #endif #ifndef ME_REMOTE /* A file system is "remote" if its Fs_name contains a ':' or if (it is of type (smbfs or cifs) and its Fs_name starts with '//'). */ # define ME_REMOTE(Fs_name, Fs_type) \ (strchr (Fs_name, ':') != NULL \ || ((Fs_name)[0] == '/' \ && (Fs_name)[1] == '/' \ && (strcmp (Fs_type, "smbfs") == 0 \ || strcmp (Fs_type, "cifs") == 0))) #endif #if MOUNTED_GETMNTINFO # if ! HAVE_STRUCT_STATFS_F_FSTYPENAME static char * fstype_to_string (short int t) { switch (t) { # ifdef MOUNT_PC case MOUNT_PC: return "pc"; # endif # ifdef MOUNT_MFS case MOUNT_MFS: return "mfs"; # endif # ifdef MOUNT_LO case MOUNT_LO: return "lo"; # endif # ifdef MOUNT_TFS case MOUNT_TFS: return "tfs"; # endif # ifdef MOUNT_TMP case MOUNT_TMP: return "tmp"; # endif # ifdef MOUNT_UFS case MOUNT_UFS: return "ufs" ; # endif # ifdef MOUNT_NFS case MOUNT_NFS: return "nfs" ; # endif # ifdef MOUNT_MSDOS case MOUNT_MSDOS: return "msdos" ; # endif # ifdef MOUNT_LFS case MOUNT_LFS: return "lfs" ; # endif # ifdef MOUNT_LOFS case MOUNT_LOFS: return "lofs" ; # endif # ifdef MOUNT_FDESC case MOUNT_FDESC: return "fdesc" ; # endif # ifdef MOUNT_PORTAL case MOUNT_PORTAL: return "portal" ; # endif # ifdef MOUNT_NULL case MOUNT_NULL: return "null" ; # endif # ifdef MOUNT_UMAP case MOUNT_UMAP: return "umap" ; # endif # ifdef MOUNT_KERNFS case MOUNT_KERNFS: return "kernfs" ; # endif # ifdef MOUNT_PROCFS case MOUNT_PROCFS: return "procfs" ; # endif # ifdef MOUNT_AFS case MOUNT_AFS: return "afs" ; # endif # ifdef MOUNT_CD9660 case MOUNT_CD9660: return "cd9660" ; # endif # ifdef MOUNT_UNION case MOUNT_UNION: return "union" ; # endif # ifdef MOUNT_DEVFS case MOUNT_DEVFS: return "devfs" ; # endif # ifdef MOUNT_EXT2FS case MOUNT_EXT2FS: return "ext2fs" ; # endif default: return "?"; } } # endif static char * fsp_to_string (const struct statfs *fsp) { # if HAVE_STRUCT_STATFS_F_FSTYPENAME return (char *) (fsp->f_fstypename); # else return fstype_to_string (fsp->f_type); # endif } #endif /* MOUNTED_GETMNTINFO */ #ifdef MOUNTED_VMOUNT /* AIX. */ static char * fstype_to_string (int t) { struct vfs_ent *e; e = getvfsbytype (t); if (!e || !e->vfsent_name) return "none"; else return e->vfsent_name; } #endif /* MOUNTED_VMOUNT */ #if defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2 /* Return the device number from MOUNT_OPTIONS, if possible. Otherwise return (dev_t) -1. */ static dev_t dev_from_mount_options (char const *mount_options) { /* GNU/Linux allows file system implementations to define their own meaning for "dev=" mount options, so don't trust the meaning here. */ # ifndef __linux__ static char const dev_pattern[] = ",dev="; char const *devopt = strstr (mount_options, dev_pattern); if (devopt) { char const *optval = devopt + sizeof dev_pattern - 1; char *optvalend; unsigned long int dev; errno = 0; dev = strtoul (optval, &optvalend, 16); if (optval != optvalend && (*optvalend == '\0' || *optvalend == ',') && ! (dev == ULONG_MAX && errno == ERANGE) && dev == (dev_t) dev) return dev; } # endif (void) mount_options; return -1; } #endif /* Return a list of the currently mounted file systems, or NULL on error. Add each entry to the tail of the list so that they stay in order. If NEED_FS_TYPE is true, ensure that the file system type fields in the returned list are valid. Otherwise, they might not be. */ struct mount_entry * read_file_system_list (bool need_fs_type) { struct mount_entry *mount_list; struct mount_entry *me; struct mount_entry **mtail = &mount_list; (void) need_fs_type; #ifdef MOUNTED_LISTMNTENT { struct tabmntent *mntlist, *p; struct mntent *mnt; struct mount_entry *me; /* the third and fourth arguments could be used to filter mounts, but Crays doesn't seem to have any mounts that we want to remove. Specifically, automount create normal NFS mounts. */ if (listmntent (&mntlist, KMTAB, NULL, NULL) < 0) return NULL; for (p = mntlist; p; p = p->next) { mnt = p->ment; me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt->mnt_fsname); me->me_mountdir = xstrdup (mnt->mnt_dir); me->me_type = xstrdup (mnt->mnt_type); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = -1; *mtail = me; mtail = &me->me_next; } freemntlist (mntlist); } #endif #ifdef MOUNTED_GETMNTENT1 /* GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix. */ { struct mntent *mnt; char const *table = MOUNTED; FILE *fp; fp = setmntent (table, "r"); if (fp == NULL) return NULL; while ((mnt = getmntent (fp))) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt->mnt_fsname); me->me_mountdir = xstrdup (mnt->mnt_dir); me->me_type = xstrdup (mnt->mnt_type); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type, mnt); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = dev_from_mount_options (mnt->mnt_opts); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (endmntent (fp) == 0) goto free_then_fail; } #endif /* MOUNTED_GETMNTENT1. */ #ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ { struct statfs *fsp; int entries; entries = getmntinfo (&fsp, MNT_NOWAIT); if (entries < 0) return NULL; for (; entries-- > 0; fsp++) { char *fs_type = fsp_to_string (fsp); me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsp->f_mntfromname); me->me_mountdir = xstrdup (fsp->f_mntonname); me->me_type = fs_type; me->me_type_malloced = 0; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } } #endif /* MOUNTED_GETMNTINFO */ #ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ { struct statvfs *fsp; int entries; entries = getmntinfo (&fsp, MNT_NOWAIT); if (entries < 0) return NULL; for (; entries-- > 0; fsp++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsp->f_mntfromname); me->me_mountdir = xstrdup (fsp->f_mntonname); me->me_type = xstrdup (fsp->f_fstypename); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } } #endif /* MOUNTED_GETMNTINFO2 */ #ifdef MOUNTED_GETMNT /* Ultrix. */ { int offset = 0; int val; struct fs_data fsd; while (errno = 0, 0 < (val = getmnt (&offset, &fsd, sizeof (fsd), NOSTAT_MANY, (char *) 0))) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsd.fd_req.devname); me->me_mountdir = xstrdup (fsd.fd_req.path); me->me_type = gt_names[fsd.fd_req.fstype]; me->me_type_malloced = 0; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = fsd.fd_req.dev; /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (val < 0) goto free_then_fail; } #endif /* MOUNTED_GETMNT. */ #if defined MOUNTED_FS_STAT_DEV /* BeOS */ { /* The next_dev() and fs_stat_dev() system calls give the list of all file systems, including the information returned by statvfs() (fs type, total blocks, free blocks etc.), but without the mount point. But on BeOS all file systems except / are mounted in the rootfs, directly under /. The directory name of the mount point is often, but not always, identical to the volume name of the device. We therefore get the list of subdirectories of /, and the list of all file systems, and match the two lists. */ DIR *dirp; struct rootdir_entry { char *name; dev_t dev; ino_t ino; struct rootdir_entry *next; }; struct rootdir_entry *rootdir_list; struct rootdir_entry **rootdir_tail; int32 pos; dev_t dev; fs_info fi; /* All volumes are mounted in the rootfs, directly under /. */ rootdir_list = NULL; rootdir_tail = &rootdir_list; dirp = opendir ("/"); if (dirp) { struct dirent *d; while ((d = readdir (dirp)) != NULL) { char *name; struct stat statbuf; if (strcmp (d->d_name, "..") == 0) continue; if (strcmp (d->d_name, ".") == 0) name = xstrdup ("/"); else { name = xmalloc (1 + strlen (d->d_name) + 1); name[0] = '/'; strcpy (name + 1, d->d_name); } if (lstat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode)) { struct rootdir_entry *re = xmalloc (sizeof *re); re->name = name; re->dev = statbuf.st_dev; re->ino = statbuf.st_ino; /* Add to the linked list. */ *rootdir_tail = re; rootdir_tail = &re->next; } else free (name); } closedir (dirp); } *rootdir_tail = NULL; for (pos = 0; (dev = next_dev (&pos)) >= 0; ) if (fs_stat_dev (dev, &fi) >= 0) { /* Note: fi.dev == dev. */ struct rootdir_entry *re; for (re = rootdir_list; re; re = re->next) if (re->dev == fi.dev && re->ino == fi.root) break; me = xmalloc (sizeof *me); me->me_devname = xstrdup (fi.device_name[0] != '\0' ? fi.device_name : fi.fsh_name); me->me_mountdir = xstrdup (re != NULL ? re->name : fi.fsh_name); me->me_type = xstrdup (fi.fsh_name); me->me_type_malloced = 1; me->me_dev = fi.dev; me->me_dummy = 0; me->me_remote = (fi.flags & B_FS_IS_SHARED) != 0; /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } *mtail = NULL; while (rootdir_list != NULL) { struct rootdir_entry *re = rootdir_list; rootdir_list = re->next; free (re->name); free (re); } } #endif /* MOUNTED_FS_STAT_DEV */ #if defined MOUNTED_GETFSSTAT /* __alpha running OSF_1 */ { int numsys, counter; size_t bufsize; struct statfs *stats; numsys = getfsstat (NULL, 0L, MNT_NOWAIT); if (numsys < 0) return NULL; if (SIZE_MAX / sizeof *stats <= numsys) xalloc_die (); bufsize = (1 + numsys) * sizeof *stats; stats = xmalloc (bufsize); numsys = getfsstat (stats, bufsize, MNT_NOWAIT); if (numsys < 0) { free (stats); return NULL; } for (counter = 0; counter < numsys; counter++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (stats[counter].f_mntfromname); me->me_mountdir = xstrdup (stats[counter].f_mntonname); me->me_type = xstrdup (FS_TYPE (stats[counter])); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } free (stats); } #endif /* MOUNTED_GETFSSTAT */ #if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */ { struct mnttab mnt; char *table = "/etc/mnttab"; FILE *fp; fp = fopen (table, "r"); if (fp == NULL) return NULL; while (fread (&mnt, sizeof mnt, 1, fp) > 0) { me = xmalloc (sizeof *me); # ifdef GETFSTYP /* SVR3. */ me->me_devname = xstrdup (mnt.mt_dev); # else me->me_devname = xmalloc (strlen (mnt.mt_dev) + 6); strcpy (me->me_devname, "/dev/"); strcpy (me->me_devname + 5, mnt.mt_dev); # endif me->me_mountdir = xstrdup (mnt.mt_filsys); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ me->me_type = ""; me->me_type_malloced = 0; # ifdef GETFSTYP /* SVR3. */ if (need_fs_type) { struct statfs fsd; char typebuf[FSTYPSZ]; if (statfs (me->me_mountdir, &fsd, sizeof fsd, 0) != -1 && sysfs (GETFSTYP, fsd.f_fstyp, typebuf) != -1) { me->me_type = xstrdup (typebuf); me->me_type_malloced = 1; } } # endif me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (ferror (fp)) { /* The last fread() call must have failed. */ int saved_errno = errno; fclose (fp); errno = saved_errno; goto free_then_fail; } if (fclose (fp) == EOF) goto free_then_fail; } #endif /* MOUNTED_FREAD || MOUNTED_FREAD_FSTYP. */ #ifdef MOUNTED_GETMNTTBL /* DolphinOS goes its own way. */ { struct mntent **mnttbl = getmnttbl (), **ent; for (ent = mnttbl; *ent; ent++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup ((*ent)->mt_resource); me->me_mountdir = xstrdup ((*ent)->mt_directory); me->me_type = xstrdup ((*ent)->mt_fstype); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } endmnttbl (); } #endif #ifdef MOUNTED_GETMNTENT2 /* SVR4. */ { struct mnttab mnt; char *table = MNTTAB; FILE *fp; int ret; int lockfd = -1; # if defined F_RDLCK && defined F_SETLKW /* MNTTAB_LOCK is a macro name of our own invention; it's not present in e.g. Solaris 2.6. If the SVR4 folks ever define a macro for this file name, we should use their macro name instead. (Why not just lock MNTTAB directly? We don't know.) */ # ifndef MNTTAB_LOCK # define MNTTAB_LOCK "/etc/.mnttab.lock" # endif lockfd = open (MNTTAB_LOCK, O_RDONLY); if (0 <= lockfd) { struct flock flock; flock.l_type = F_RDLCK; flock.l_whence = SEEK_SET; flock.l_start = 0; flock.l_len = 0; while (fcntl (lockfd, F_SETLKW, &flock) == -1) if (errno != EINTR) { int saved_errno = errno; close (lockfd); errno = saved_errno; return NULL; } } else if (errno != ENOENT) return NULL; # endif errno = 0; fp = fopen (table, "r"); if (fp == NULL) ret = errno; else { while ((ret = getmntent (fp, &mnt)) == 0) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt.mnt_special); me->me_mountdir = xstrdup (mnt.mnt_mountp); me->me_type = xstrdup (mnt.mnt_fstype); me->me_type_malloced = 1; me->me_dummy = MNT_IGNORE (&mnt) != 0; me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = dev_from_mount_options (mnt.mnt_mntopts); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1; } if (0 <= lockfd && close (lockfd) != 0) ret = errno; if (0 <= ret) { errno = ret; goto free_then_fail; } } #endif /* MOUNTED_GETMNTENT2. */ #ifdef MOUNTED_VMOUNT /* AIX. */ { int bufsize; char *entries, *thisent; struct vmount *vmp; int n_entries; int i; /* Ask how many bytes to allocate for the mounted file system info. */ if (mntctl (MCTL_QUERY, sizeof bufsize, (struct vmount *) &bufsize) != 0) return NULL; entries = xmalloc (bufsize); /* Get the list of mounted file systems. */ n_entries = mntctl (MCTL_QUERY, bufsize, (struct vmount *) entries); if (n_entries < 0) { int saved_errno = errno; free (entries); errno = saved_errno; return NULL; } for (i = 0, thisent = entries; i < n_entries; i++, thisent += vmp->vmt_length) { char *options, *ignore; vmp = (struct vmount *) thisent; me = xmalloc (sizeof *me); if (vmp->vmt_flags & MNT_REMOTE) { char *host, *dir; me->me_remote = 1; /* Prepend the remote dirname. */ host = thisent + vmp->vmt_data[VMT_HOSTNAME].vmt_off; dir = thisent + vmp->vmt_data[VMT_OBJECT].vmt_off; me->me_devname = xmalloc (strlen (host) + strlen (dir) + 2); strcpy (me->me_devname, host); strcat (me->me_devname, ":"); strcat (me->me_devname, dir); } else { me->me_remote = 0; me->me_devname = xstrdup (thisent + vmp->vmt_data[VMT_OBJECT].vmt_off); } me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off); me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype)); me->me_type_malloced = 1; options = thisent + vmp->vmt_data[VMT_ARGS].vmt_off; ignore = strstr (options, "ignore"); me->me_dummy = (ignore && (ignore == options || ignore[-1] == ',') && (ignore[sizeof "ignore" - 1] == ',' || ignore[sizeof "ignore" - 1] == '\0')); me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } free (entries); } #endif /* MOUNTED_VMOUNT. */ #ifdef MOUNTED_INTERIX_STATVFS { DIR *dirp = opendir ("/dev/fs"); char node[9 + NAME_MAX]; if (!dirp) goto free_then_fail; while (1) { struct statvfs dev; struct dirent entry; struct dirent *result; if (readdir_r (dirp, &entry, &result) || result == NULL) break; strcpy (node, "/dev/fs/"); strcat (node, entry.d_name); if (statvfs (node, &dev) == 0) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (dev.f_mntfromname); me->me_mountdir = xstrdup (dev.f_mntonname); me->me_type = xstrdup (dev.f_fstypename); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } } } #endif /* MOUNTED_INTERIX_STATVFS */ *mtail = NULL; return mount_list; free_then_fail: { int saved_errno = errno; *mtail = NULL; while (mount_list) { me = mount_list->me_next; free (mount_list->me_devname); free (mount_list->me_mountdir); if (mount_list->me_type_malloced) free (mount_list->me_type); free (mount_list); mount_list = me; } errno = saved_errno; return NULL; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/regex_internal.c�����������������������������������������������������������������0000664�0000000�0000000�00000137161�12071561013�014273� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Extended regular expression matching and search library. Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #include "verify.h" #include "intprops.h" static void re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) internal_function; static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) internal_function; static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) internal_function; /* Functions for string operation. */ /* This function allocate the buffers. It is necessary to call re_string_reconstruct before using the object. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; Idx init_buf_len; /* Ensure at least one character fits into the buffers. */ if (init_len < dfa->mb_cur_max) init_len = dfa->mb_cur_max; init_buf_len = (len + 1 < init_len) ? len + 1: init_len; re_string_construct_common (str, len, pstr, trans, icase, dfa); ret = re_string_realloc_buffers (pstr, init_buf_len); if (BE (ret != REG_NOERROR, 0)) return ret; pstr->word_char = dfa->word_char; pstr->word_ops_used = dfa->word_ops_used; pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; pstr->valid_len = (pstr->mbs_allocated || dfa->mb_cur_max > 1) ? 0 : len; pstr->valid_raw_len = pstr->valid_len; return REG_NOERROR; } /* This function allocate the buffers, and initialize them. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_construct (re_string_t *pstr, const char *str, Idx len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; memset (pstr, '\0', sizeof (re_string_t)); re_string_construct_common (str, len, pstr, trans, icase, dfa); if (len > 0) { ret = re_string_realloc_buffers (pstr, len + 1); if (BE (ret != REG_NOERROR, 0)) return ret; } pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; if (icase) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; if (pstr->valid_raw_len >= len) break; if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max) break; ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); if (BE (ret != REG_NOERROR, 0)) return ret; } } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (trans != NULL) re_string_translate_buffer (pstr); else { pstr->valid_len = pstr->bufs_len; pstr->valid_raw_len = pstr->bufs_len; } } } return REG_NOERROR; } /* Helper functions for re_string_allocate, and re_string_construct. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { wint_t *new_wcs; /* Avoid overflow in realloc. */ const size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_buf_len, 0)) return REG_ESPACE; new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len); if (BE (new_wcs == NULL, 0)) return REG_ESPACE; pstr->wcs = new_wcs; if (pstr->offsets != NULL) { Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len); if (BE (new_offsets == NULL, 0)) return REG_ESPACE; pstr->offsets = new_offsets; } } #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) { unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, new_buf_len); if (BE (new_mbs == NULL, 0)) return REG_ESPACE; pstr->mbs = new_mbs; } pstr->bufs_len = new_buf_len; return REG_NOERROR; } static void internal_function re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { pstr->raw_mbs = (const unsigned char *) str; pstr->len = len; pstr->raw_len = len; pstr->trans = trans; pstr->icase = icase; pstr->mbs_allocated = (trans != NULL || icase); pstr->mb_cur_max = dfa->mb_cur_max; pstr->is_utf8 = dfa->is_utf8; pstr->map_notascii = dfa->map_notascii; pstr->stop = pstr->len; pstr->raw_stop = pstr->stop; } #ifdef RE_ENABLE_I18N /* Build wide character buffer PSTR->WCS. If the byte sequence of the string are: <mb1>(0), <mb1>(1), <mb2>(0), <mb2>(1), <sb3> Then wide character buffer will be: <wc1> , WEOF , <wc2> , WEOF , <wc3> We use WEOF for padding, they indicate that the position isn't a first byte of a multibyte character. Note that this function assumes PSTR->VALID_LEN elements are already built and starts from PSTR->VALID_LEN. */ static void internal_function build_wcs_buffer (re_string_t *pstr) { #ifdef _LIBC unsigned char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else unsigned char buf[64]; #endif mbstate_t prev_st; Idx byte_idx, end_idx, remain_len; size_t mbclen; /* Build the buffers from pstr->valid_len to either pstr->len or pstr->bufs_len. */ end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (byte_idx = pstr->valid_len; byte_idx < end_idx;) { wchar_t wc; const char *p; remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; /* Apply the translation if we need. */ if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i]; buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -1 || mbclen == 0 || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0)) { /* We treat these cases as a singlebyte character. */ mbclen = 1; wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; if (BE (pstr->trans != NULL, 0)) wc = pstr->trans[wc]; pstr->cur_state = prev_st; } else if (BE (mbclen == (size_t) -2, 0)) { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } /* Write wide character and padding. */ pstr->wcs[byte_idx++] = wc; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; } /* Build wide character buffer PSTR->WCS like build_wcs_buffer, but for REG_ICASE. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ build_wcs_upper_buffer (re_string_t *pstr) { mbstate_t prev_st; Idx src_idx, byte_idx, end_idx, remain_len; size_t mbclen; #ifdef _LIBC char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else char buf[64]; #endif byte_idx = pstr->valid_len; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; /* The following optimization assumes that ASCII characters can be mapped to wide characters with a simple cast. */ if (! pstr->map_notascii && pstr->trans == NULL && !pstr->offsets_needed) { while (byte_idx < end_idx) { wchar_t wc; if (isascii (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]) && mbsinit (&pstr->cur_state)) { /* In case of a singlebyte character. */ pstr->mbs[byte_idx] = toupper (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]); /* The next step uses the assumption that wchar_t is encoded ASCII-safe: all ASCII values can be converted like this. */ pstr->wcs[byte_idx] = (wchar_t) pstr->mbs[byte_idx]; ++byte_idx; continue; } remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc, ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx), remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb (buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else { src_idx = byte_idx; goto offsets_needed; } } else memcpy (pstr->mbs + byte_idx, pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx, mbclen); pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0 || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len)) { /* It is an invalid character, an incomplete character at the end of the string, or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; return REG_NOERROR; } else for (src_idx = pstr->valid_raw_len; byte_idx < end_idx;) { wchar_t wc; const char *p; offsets_needed: remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i]; buf[i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else if (mbcdlen != (size_t) -1) { size_t i; if (byte_idx + mbcdlen > pstr->bufs_len) { pstr->cur_state = prev_st; break; } if (pstr->offsets == NULL) { pstr->offsets = re_malloc (Idx, pstr->bufs_len); if (pstr->offsets == NULL) return REG_ESPACE; } if (!pstr->offsets_needed) { for (i = 0; i < (size_t) byte_idx; ++i) pstr->offsets[i] = i; pstr->offsets_needed = 1; } memcpy (pstr->mbs + byte_idx, buf, mbcdlen); pstr->wcs[byte_idx] = wcu; pstr->offsets[byte_idx] = src_idx; for (i = 1; i < mbcdlen; ++i) { pstr->offsets[byte_idx + i] = src_idx + (i < mbclen ? i : mbclen - 1); pstr->wcs[byte_idx + i] = WEOF; } pstr->len += mbcdlen - mbclen; if (pstr->raw_stop > src_idx) pstr->stop += mbcdlen - mbclen; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; byte_idx += mbcdlen; src_idx += mbclen; continue; } else memcpy (pstr->mbs + byte_idx, p, mbclen); } else memcpy (pstr->mbs + byte_idx, p, mbclen); if (BE (pstr->offsets_needed != 0, 0)) { size_t i; for (i = 0; i < mbclen; ++i) pstr->offsets[byte_idx + i] = src_idx + i; } src_idx += mbclen; pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0 || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len)) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans [ch]; pstr->mbs[byte_idx] = ch; if (BE (pstr->offsets_needed != 0, 0)) pstr->offsets[byte_idx] = src_idx; ++src_idx; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = src_idx; return REG_NOERROR; } /* Skip characters until the index becomes greater than NEW_RAW_IDX. Return the index. */ static Idx internal_function re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) { mbstate_t prev_st; Idx rawbuf_idx; size_t mbclen; wint_t wc = WEOF; /* Skip the characters which are not necessary to check. */ for (rawbuf_idx = pstr->raw_mbs_idx + pstr->valid_raw_len; rawbuf_idx < new_raw_idx;) { wchar_t wc2; Idx remain_len = pstr->raw_len - rawbuf_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0)) { /* We treat these cases as a single byte character. */ if (mbclen == 0 || remain_len == 0) wc = L'\0'; else wc = *(unsigned char *) (pstr->raw_mbs + rawbuf_idx); mbclen = 1; pstr->cur_state = prev_st; } else wc = wc2; /* Then proceed the next character. */ rawbuf_idx += mbclen; } *last_wc = wc; return rawbuf_idx; } #endif /* RE_ENABLE_I18N */ /* Build the buffer PSTR->MBS, and apply the translation if we need. This function is used in case of REG_ICASE. */ static void internal_function build_upper_buffer (re_string_t *pstr) { Idx char_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans[ch]; if (islower (ch)) pstr->mbs[char_idx] = toupper (ch); else pstr->mbs[char_idx] = ch; } pstr->valid_len = char_idx; pstr->valid_raw_len = char_idx; } /* Apply TRANS to the buffer in PSTR. */ static void internal_function re_string_translate_buffer (re_string_t *pstr) { Idx buf_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (buf_idx = pstr->valid_len; buf_idx < end_idx; ++buf_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + buf_idx]; pstr->mbs[buf_idx] = pstr->trans[ch]; } pstr->valid_len = buf_idx; pstr->valid_raw_len = buf_idx; } /* This function re-construct the buffers. Concretely, convert to wide character in case of pstr->mb_cur_max > 1, convert to upper case in case of REG_ICASE, apply translation. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) { Idx offset; if (BE (pstr->raw_mbs_idx <= idx, 0)) offset = idx - pstr->raw_mbs_idx; else { /* Reset buffer. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); #endif /* RE_ENABLE_I18N */ pstr->len = pstr->raw_len; pstr->stop = pstr->raw_stop; pstr->valid_len = 0; pstr->raw_mbs_idx = 0; pstr->valid_raw_len = 0; pstr->offsets_needed = 0; pstr->tip_context = ((eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (!pstr->mbs_allocated) pstr->mbs = (unsigned char *) pstr->raw_mbs; offset = idx; } if (BE (offset != 0, 1)) { /* Should the already checked characters be kept? */ if (BE (offset < pstr->valid_raw_len, 1)) { /* Yes, move them to the front of the buffer. */ #ifdef RE_ENABLE_I18N if (BE (pstr->offsets_needed, 0)) { Idx low = 0, high = pstr->valid_len, mid; do { mid = (high + low) / 2; if (pstr->offsets[mid] > offset) high = mid; else if (pstr->offsets[mid] < offset) low = mid + 1; else break; } while (low < high); if (pstr->offsets[mid] < offset) ++mid; pstr->tip_context = re_string_context_at (pstr, mid - 1, eflags); /* This can be quite complicated, so handle specially only the common and easy case where the character with different length representation of lower and upper case is present at or after offset. */ if (pstr->valid_len > offset && mid == offset && pstr->offsets[mid] == offset) { memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; for (low = 0; low < pstr->valid_len; low++) pstr->offsets[low] = pstr->offsets[low + offset] - offset; } else { /* Otherwise, just find out how long the partial multibyte character at offset is and fill it with WEOF/255. */ pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; while (mid > 0 && pstr->offsets[mid - 1] == offset) --mid; while (mid < pstr->valid_len) if (pstr->wcs[mid] != WEOF) break; else ++mid; if (mid == pstr->valid_len) pstr->valid_len = 0; else { pstr->valid_len = pstr->offsets[mid] - offset; if (pstr->valid_len) { for (low = 0; low < pstr->valid_len; ++low) pstr->wcs[low] = WEOF; memset (pstr->mbs, 255, pstr->valid_len); } } pstr->valid_raw_len = pstr->valid_len; } } else #endif { pstr->tip_context = re_string_context_at (pstr, offset - 1, eflags); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; #if DEBUG assert (pstr->valid_len > 0); #endif } } else { #ifdef RE_ENABLE_I18N /* No, skip all characters until IDX. */ Idx prev_valid_len = pstr->valid_len; if (BE (pstr->offsets_needed, 0)) { pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; } #endif pstr->valid_len = 0; #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { Idx wcs_idx; wint_t wc = WEOF; if (pstr->is_utf8) { const unsigned char *raw, *p, *end; /* Special case UTF-8. Multi-byte chars start with any byte other than 0x80 - 0xbf. */ raw = pstr->raw_mbs + pstr->raw_mbs_idx; end = raw + (offset - pstr->mb_cur_max); if (end < pstr->raw_mbs) end = pstr->raw_mbs; p = raw + offset - 1; #ifdef _LIBC /* We know the wchar_t encoding is UCS4, so for the simple case, ASCII characters, skip the conversion step. */ if (isascii (*p) && BE (pstr->trans == NULL, 1)) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); /* pstr->valid_len = 0; */ wc = (wchar_t) *p; } else #endif for (; p >= end; --p) if ((*p & 0xc0) != 0x80) { mbstate_t cur_state; wchar_t wc2; Idx mlen = raw + pstr->len - p; unsigned char buf[6]; size_t mbclen; const unsigned char *pp = p; if (BE (pstr->trans != NULL, 0)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) buf[i] = pstr->trans[p[i]]; pp = buf; } /* XXX Don't use mbrtowc, we know which conversion to use (UTF-8 -> UCS4). */ memset (&cur_state, 0, sizeof (cur_state)); mbclen = __mbrtowc (&wc2, (const char *) pp, mlen, &cur_state); if (raw + offset - p <= mbclen && mbclen < (size_t) -2) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); pstr->valid_len = mbclen - (raw + offset - p); wc = wc2; } break; } } if (wc == WEOF) pstr->valid_len = re_string_skip_chars (pstr, idx, &wc) - idx; if (wc == WEOF) pstr->tip_context = re_string_context_at (pstr, prev_valid_len - 1, eflags); else pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) ? CONTEXT_WORD : ((IS_WIDE_NEWLINE (wc) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); if (BE (pstr->valid_len, 0)) { for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx) pstr->wcs[wcs_idx] = WEOF; if (pstr->mbs_allocated) memset (pstr->mbs, 255, pstr->valid_len); } pstr->valid_raw_len = pstr->valid_len; } else #endif /* RE_ENABLE_I18N */ { int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; pstr->valid_raw_len = 0; if (pstr->trans) c = pstr->trans[c]; pstr->tip_context = (bitset_contain (pstr->word_char, c) ? CONTEXT_WORD : ((IS_NEWLINE (c) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); } } if (!BE (pstr->mbs_allocated, 0)) pstr->mbs += offset; } pstr->raw_mbs_idx = idx; pstr->len -= offset; pstr->stop -= offset; /* Then build the buffers. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { if (pstr->icase) { reg_errcode_t ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else build_wcs_buffer (pstr); } else #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) { if (pstr->icase) build_upper_buffer (pstr); else if (pstr->trans != NULL) re_string_translate_buffer (pstr); } else pstr->valid_len = pstr->len; pstr->cur_idx = 0; return REG_NOERROR; } static unsigned char internal_function __attribute ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; Idx off; /* Handle the common (easiest) cases first. */ if (BE (!pstr->mbs_allocated, 1)) return re_string_peek_byte (pstr, idx); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1 && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) return re_string_peek_byte (pstr, idx); #endif off = pstr->cur_idx + idx; #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) off = pstr->offsets[off]; #endif ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; #ifdef RE_ENABLE_I18N /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I this function returns CAPITAL LETTER I instead of first byte of DOTLESS SMALL LETTER I. The latter would confuse the parser, since peek_byte_case doesn't advance cur_idx in any way. */ if (pstr->offsets_needed && !isascii (ch)) return re_string_peek_byte (pstr, idx); #endif return ch; } static unsigned char internal_function re_string_fetch_byte_case (re_string_t *pstr) { if (BE (!pstr->mbs_allocated, 1)) return re_string_fetch_byte (pstr); #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) { Idx off; int ch; /* For tr_TR.UTF-8 [[:islower:]] there is [[: CAPITAL LETTER I WITH DOT lower:]] in mbs. Skip in that case the whole multi-byte character and return the original letter. On the other side, with [[: DOTLESS SMALL LETTER I return [[:I, as doing anything else would complicate things too much. */ if (!re_string_first_byte (pstr, pstr->cur_idx)) return re_string_fetch_byte (pstr); off = pstr->offsets[pstr->cur_idx]; ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; if (! isascii (ch)) return re_string_fetch_byte (pstr); re_string_skip_bytes (pstr, re_string_char_size_at (pstr, pstr->cur_idx)); return ch; } #endif return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; } static void internal_function re_string_destruct (re_string_t *pstr) { #ifdef RE_ENABLE_I18N re_free (pstr->wcs); re_free (pstr->offsets); #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) re_free (pstr->mbs); } /* Return the context at IDX in INPUT. */ static unsigned int internal_function re_string_context_at (const re_string_t *input, Idx idx, int eflags) { int c; if (BE (! REG_VALID_INDEX (idx), 0)) /* In this case, we use the value stored in input->tip_context, since we can't know the character in input->mbs[-1] here. */ return input->tip_context; if (BE (idx == input->len, 0)) return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF : CONTEXT_NEWLINE | CONTEXT_ENDBUF); #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc; Idx wc_idx = idx; while(input->wcs[wc_idx] == WEOF) { #ifdef DEBUG /* It must not happen. */ assert (REG_VALID_INDEX (wc_idx)); #endif --wc_idx; if (! REG_VALID_INDEX (wc_idx)) return input->tip_context; } wc = input->wcs[wc_idx]; if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) return CONTEXT_WORD; return (IS_WIDE_NEWLINE (wc) && input->newline_anchor ? CONTEXT_NEWLINE : 0); } else #endif { c = re_string_byte_at (input, idx); if (bitset_contain (input->word_char, c)) return CONTEXT_WORD; return IS_NEWLINE (c) && input->newline_anchor ? CONTEXT_NEWLINE : 0; } } /* Functions for set operation. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_alloc (re_node_set *set, Idx size) { set->alloc = size; set->nelem = 0; set->elems = re_malloc (Idx, size); if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0)) return REG_ESPACE; return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_1 (re_node_set *set, Idx elem) { set->alloc = 1; set->nelem = 1; set->elems = re_malloc (Idx, 1); if (BE (set->elems == NULL, 0)) { set->alloc = set->nelem = 0; return REG_ESPACE; } set->elems[0] = elem; return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) { set->alloc = 2; set->elems = re_malloc (Idx, 2); if (BE (set->elems == NULL, 0)) return REG_ESPACE; if (elem1 == elem2) { set->nelem = 1; set->elems[0] = elem1; } else { set->nelem = 2; if (elem1 < elem2) { set->elems[0] = elem1; set->elems[1] = elem2; } else { set->elems[0] = elem2; set->elems[1] = elem1; } } return REG_NOERROR; } static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_copy (re_node_set *dest, const re_node_set *src) { dest->nelem = src->nelem; if (src->nelem > 0) { dest->alloc = dest->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) { dest->alloc = dest->nelem = 0; return REG_ESPACE; } memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); } else re_node_set_init_empty (dest); return REG_NOERROR; } /* Calculate the intersection of the sets SRC1 and SRC2. And merge it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. Note: We assume dest->elems is NULL, when dest->alloc is 0. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, is, id, delta, sbase; if (src1->nelem == 0 || src2->nelem == 0) return REG_NOERROR; /* We need dest->nelem + 2 * elems_in_intersection; this is a conservative estimate. */ if (src1->nelem + src2->nelem + dest->nelem > dest->alloc) { Idx new_alloc = src1->nelem + src2->nelem + dest->alloc; Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_elems == NULL, 0)) return REG_ESPACE; dest->elems = new_elems; dest->alloc = new_alloc; } /* Find the items in the intersection of SRC1 and SRC2, and copy into the top of DEST those that are not already in DEST itself. */ sbase = dest->nelem + src1->nelem + src2->nelem; i1 = src1->nelem - 1; i2 = src2->nelem - 1; id = dest->nelem - 1; for (;;) { if (src1->elems[i1] == src2->elems[i2]) { /* Try to find the item in DEST. Maybe we could binary search? */ while (REG_VALID_INDEX (id) && dest->elems[id] > src1->elems[i1]) --id; if (! REG_VALID_INDEX (id) || dest->elems[id] != src1->elems[i1]) dest->elems[--sbase] = src1->elems[i1]; if (! REG_VALID_INDEX (--i1) || ! REG_VALID_INDEX (--i2)) break; } /* Lower the highest of the two items. */ else if (src1->elems[i1] < src2->elems[i2]) { if (! REG_VALID_INDEX (--i2)) break; } else { if (! REG_VALID_INDEX (--i1)) break; } } id = dest->nelem - 1; is = dest->nelem + src1->nelem + src2->nelem - 1; delta = is - sbase + 1; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place; this is more or less the same loop that is in re_node_set_merge. */ dest->nelem += delta; if (delta > 0 && REG_VALID_INDEX (id)) for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) break; } } /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); return REG_NOERROR; } /* Calculate the union set of the sets SRC1 and SRC2. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_init_union (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, id; if (src1 != NULL && src1->nelem > 0 && src2 != NULL && src2->nelem > 0) { dest->alloc = src1->nelem + src2->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) return REG_ESPACE; } else { if (src1 != NULL && src1->nelem > 0) return re_node_set_init_copy (dest, src1); else if (src2 != NULL && src2->nelem > 0) return re_node_set_init_copy (dest, src2); else re_node_set_init_empty (dest); return REG_NOERROR; } for (i1 = i2 = id = 0 ; i1 < src1->nelem && i2 < src2->nelem ;) { if (src1->elems[i1] > src2->elems[i2]) { dest->elems[id++] = src2->elems[i2++]; continue; } if (src1->elems[i1] == src2->elems[i2]) ++i2; dest->elems[id++] = src1->elems[i1++]; } if (i1 < src1->nelem) { memcpy (dest->elems + id, src1->elems + i1, (src1->nelem - i1) * sizeof (Idx)); id += src1->nelem - i1; } else if (i2 < src2->nelem) { memcpy (dest->elems + id, src2->elems + i2, (src2->nelem - i2) * sizeof (Idx)); id += src2->nelem - i2; } dest->nelem = id; return REG_NOERROR; } /* Calculate the union set of the sets DEST and SRC. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function __attribute_warn_unused_result__ re_node_set_merge (re_node_set *dest, const re_node_set *src) { Idx is, id, sbase, delta; if (src == NULL || src->nelem == 0) return REG_NOERROR; if (dest->alloc < 2 * src->nelem + dest->nelem) { Idx new_alloc = 2 * (src->nelem + dest->alloc); Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_buffer == NULL, 0)) return REG_ESPACE; dest->elems = new_buffer; dest->alloc = new_alloc; } if (BE (dest->nelem == 0, 0)) { dest->nelem = src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); return REG_NOERROR; } /* Copy into the top of DEST the items of SRC that are not found in DEST. Maybe we could binary search in DEST? */ for (sbase = dest->nelem + 2 * src->nelem, is = src->nelem - 1, id = dest->nelem - 1; REG_VALID_INDEX (is) && REG_VALID_INDEX (id); ) { if (dest->elems[id] == src->elems[is]) is--, id--; else if (dest->elems[id] < src->elems[is]) dest->elems[--sbase] = src->elems[is--]; else /* if (dest->elems[id] > src->elems[is]) */ --id; } if (REG_VALID_INDEX (is)) { /* If DEST is exhausted, the remaining items of SRC must be unique. */ sbase -= is + 1; memcpy (dest->elems + sbase, src->elems, (is + 1) * sizeof (Idx)); } id = dest->nelem - 1; is = dest->nelem + 2 * src->nelem - 1; delta = is - sbase + 1; if (delta == 0) return REG_NOERROR; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place. */ dest->nelem += delta; for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) { /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); break; } } } return REG_NOERROR; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have ELEM. Return true if successful. */ static bool internal_function __attribute_warn_unused_result__ re_node_set_insert (re_node_set *set, Idx elem) { Idx idx; /* In case the set is empty. */ if (set->alloc == 0) return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1); if (BE (set->nelem, 0) == 0) { /* We already guaranteed above that set->alloc != 0. */ set->elems[0] = elem; ++set->nelem; return true; } /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = set->alloc * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Move the elements which follows the new element. Test the first element separately to skip a check in the inner loop. */ if (elem < set->elems[0]) { idx = 0; for (idx = set->nelem; idx > 0; idx--) set->elems[idx] = set->elems[idx - 1]; } else { for (idx = set->nelem; set->elems[idx - 1] > elem; idx--) set->elems[idx] = set->elems[idx - 1]; } /* Insert the new element. */ set->elems[idx] = elem; ++set->nelem; return true; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have any element greater than or equal to ELEM. Return true if successful. */ static bool internal_function __attribute_warn_unused_result__ re_node_set_insert_last (re_node_set *set, Idx elem) { /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = (set->alloc + 1) * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Insert the new element. */ set->elems[set->nelem++] = elem; return true; } /* Compare two node sets SET1 and SET2. Return true if SET1 and SET2 are equivalent. */ static bool internal_function __attribute ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; if (set1 == NULL || set2 == NULL || set1->nelem != set2->nelem) return false; for (i = set1->nelem ; REG_VALID_INDEX (--i) ; ) if (set1->elems[i] != set2->elems[i]) return false; return true; } /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx internal_function __attribute ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; if (! REG_VALID_NONZERO_INDEX (set->nelem)) return 0; /* Binary search the element. */ idx = 0; right = set->nelem - 1; while (idx < right) { mid = (idx + right) / 2; if (set->elems[mid] < elem) idx = mid + 1; else right = mid; } return set->elems[idx] == elem ? idx + 1 : 0; } static void internal_function re_node_set_remove_at (re_node_set *set, Idx idx) { verify (! TYPE_SIGNED (Idx)); /* if (idx < 0) return; */ if (idx >= set->nelem) return; --set->nelem; for (; idx < set->nelem; idx++) set->elems[idx] = set->elems[idx + 1]; } /* Add the token TOKEN to dfa->nodes, and return the index of the token. Or return REG_MISSING if an error occurred. */ static Idx internal_function re_dfa_add_node (re_dfa_t *dfa, re_token_t token) { if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0)) { size_t new_nodes_alloc = dfa->nodes_alloc * 2; Idx *new_nexts, *new_indices; re_node_set *new_edests, *new_eclosures; re_token_t *new_nodes; /* Avoid overflows in realloc. */ const size_t max_object_size = MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), sizeof (Idx))); if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_nodes_alloc, 0)) return REG_MISSING; new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); if (BE (new_nodes == NULL, 0)) return REG_MISSING; dfa->nodes = new_nodes; new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); if (BE (new_nexts == NULL || new_indices == NULL || new_edests == NULL || new_eclosures == NULL, 0)) return REG_MISSING; dfa->nexts = new_nexts; dfa->org_indices = new_indices; dfa->edests = new_edests; dfa->eclosures = new_eclosures; dfa->nodes_alloc = new_nodes_alloc; } dfa->nodes[dfa->nodes_len] = token; dfa->nodes[dfa->nodes_len].constraint = 0; #ifdef RE_ENABLE_I18N dfa->nodes[dfa->nodes_len].accept_mb = ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) || token.type == COMPLEX_BRACKET); #endif dfa->nexts[dfa->nodes_len] = REG_MISSING; re_node_set_init_empty (dfa->edests + dfa->nodes_len); re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); return dfa->nodes_len++; } static re_hashval_t internal_function calc_state_hash (const re_node_set *nodes, unsigned int context) { re_hashval_t hash = nodes->nelem + context; Idx i; for (i = 0 ; i < nodes->nelem ; i++) hash += nodes->elems[i]; return hash; } /* Search for the state whose node_set is equivalent to NODES. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (BE (nodes->nelem == 0, 0)) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, 0); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (hash != state->hash) continue; if (re_node_set_compare (&state->nodes, nodes)) return state; } /* There are no appropriate state in the dfa, create the new one. */ new_state = create_ci_newstate (dfa, nodes, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Search for the state whose node_set is equivalent to NODES and whose context is equivalent to CONTEXT. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (nodes->nelem == 0) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, context); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (state->hash == hash && state->context == context && re_node_set_compare (state->entrance_nodes, nodes)) return state; } /* There are no appropriate state in 'dfa', create the new one. */ new_state = create_cd_newstate (dfa, nodes, context, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Finish initialization of the new state NEWSTATE, and using its hash value HASH put in the appropriate bucket of DFA's state table. Return value indicates the error code if failed. */ static reg_errcode_t __attribute_warn_unused_result__ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, re_hashval_t hash) { struct re_state_table_entry *spot; reg_errcode_t err; Idx i; newstate->hash = hash; err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < newstate->nodes.nelem; i++) { Idx elem = newstate->nodes.elems[i]; if (!IS_EPSILON_NODE (dfa->nodes[elem].type)) if (! re_node_set_insert_last (&newstate->non_eps_nodes, elem)) return REG_ESPACE; } spot = dfa->state_table + (hash & dfa->state_hash_mask); if (BE (spot->alloc <= spot->num, 0)) { Idx new_alloc = 2 * spot->num + 2; re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; spot->array = new_array; spot->alloc = new_alloc; } spot->array[spot->num++] = newstate; return REG_NOERROR; } static void free_state (re_dfastate_t *state) { re_node_set_free (&state->non_eps_nodes); re_node_set_free (&state->inveclosure); if (state->entrance_nodes != &state->nodes) { re_node_set_free (state->entrance_nodes); re_free (state->entrance_nodes); } re_node_set_free (&state->nodes); re_free (state->word_trtable); re_free (state->trtable); re_free (state); } /* Create the new state which is independent of contexts. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) { Idx i; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; if (type == CHARACTER && !node->constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; else if (type == ANCHOR || node->constraint) newstate->has_constraint = 1; } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } /* Create the new state which is depend on the context CONTEXT. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function __attribute_warn_unused_result__ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) { Idx i, nctx_nodes = 0; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->context = context; newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; if (type == CHARACTER && !constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; if (constraint) { if (newstate->entrance_nodes == &newstate->nodes) { newstate->entrance_nodes = re_malloc (re_node_set, 1); if (BE (newstate->entrance_nodes == NULL, 0)) { free_state (newstate); return NULL; } if (re_node_set_init_copy (newstate->entrance_nodes, nodes) != REG_NOERROR) return NULL; nctx_nodes = 0; newstate->has_constraint = 1; } if (NOT_SATISFY_PREV_CONSTRAINT (constraint,context)) { re_node_set_remove_at (&newstate->nodes, i - nctx_nodes); ++nctx_nodes; } } } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-hpux.h����������������������������������������������������������������0000664�0000000�0000000�00000027775�12107176112�014426� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./lib/iconv_open-hpux.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "./lib/iconv_open-hpux.gperf" struct mapping { int standard_name; const char vendor_name[9 + 1]; }; #define TOTAL_KEYWORDS 44 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 49 /* maximum key range = 44, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 1, 2, 24, 43, 5, 10, 0, 13, 32, 3, 19, 18, 50, 50, 50, 50, 50, 50, 50, 50, 50, 5, 50, 50, 50, 50, 14, 5, 0, 50, 50, 0, 27, 50, 12, 14, 50, 50, 0, 5, 2, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }; return len + asso_values[(unsigned char)str[3]+4] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("CP1256")]; char stringpool_str7[sizeof("CP1250")]; char stringpool_str8[sizeof("CP1251")]; char stringpool_str9[sizeof("CP850")]; char stringpool_str10[sizeof("TIS-620")]; char stringpool_str11[sizeof("CP1254")]; char stringpool_str12[sizeof("ISO-8859-6")]; char stringpool_str13[sizeof("EUC-TW")]; char stringpool_str14[sizeof("ISO-8859-1")]; char stringpool_str15[sizeof("ISO-8859-9")]; char stringpool_str16[sizeof("CP1255")]; char stringpool_str17[sizeof("BIG5")]; char stringpool_str18[sizeof("CP855")]; char stringpool_str19[sizeof("CP1257")]; char stringpool_str20[sizeof("EUC-KR")]; char stringpool_str21[sizeof("CP857")]; char stringpool_str22[sizeof("ISO-8859-5")]; char stringpool_str23[sizeof("ISO-8859-15")]; char stringpool_str24[sizeof("CP866")]; char stringpool_str25[sizeof("ISO-8859-7")]; char stringpool_str26[sizeof("CP861")]; char stringpool_str27[sizeof("CP869")]; char stringpool_str28[sizeof("CP874")]; char stringpool_str29[sizeof("CP864")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("CP437")]; char stringpool_str32[sizeof("CP852")]; char stringpool_str33[sizeof("CP775")]; char stringpool_str34[sizeof("CP865")]; char stringpool_str35[sizeof("EUC-JP")]; char stringpool_str36[sizeof("ISO-8859-2")]; char stringpool_str37[sizeof("SHIFT_JIS")]; char stringpool_str38[sizeof("CP1258")]; char stringpool_str39[sizeof("UTF-8")]; char stringpool_str40[sizeof("HP-KANA8")]; char stringpool_str41[sizeof("HP-ROMAN8")]; char stringpool_str42[sizeof("HP-HEBREW8")]; char stringpool_str43[sizeof("GB2312")]; char stringpool_str44[sizeof("ISO-8859-8")]; char stringpool_str45[sizeof("HP-TURKISH8")]; char stringpool_str46[sizeof("HP-GREEK8")]; char stringpool_str47[sizeof("HP-ARABIC8")]; char stringpool_str48[sizeof("CP862")]; char stringpool_str49[sizeof("CP1253")]; }; static const struct stringpool_t stringpool_contents = { "CP1256", "CP1250", "CP1251", "CP850", "TIS-620", "CP1254", "ISO-8859-6", "EUC-TW", "ISO-8859-1", "ISO-8859-9", "CP1255", "BIG5", "CP855", "CP1257", "EUC-KR", "CP857", "ISO-8859-5", "ISO-8859-15", "CP866", "ISO-8859-7", "CP861", "CP869", "CP874", "CP864", "CP1252", "CP437", "CP852", "CP775", "CP865", "EUC-JP", "ISO-8859-2", "SHIFT_JIS", "CP1258", "UTF-8", "HP-KANA8", "HP-ROMAN8", "HP-HEBREW8", "GB2312", "ISO-8859-8", "HP-TURKISH8", "HP-GREEK8", "HP-ARABIC8", "CP862", "CP1253" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 40 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"}, #line 34 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"}, #line 35 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"}, #line 23 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "cp850"}, #line 49 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "tis620"}, #line 38 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"}, #line 16 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"}, #line 53 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"}, #line 13 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"}, #line 19 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"}, #line 39 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"}, #line 54 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "big5"}, #line 25 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp855"}, #line 41 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"}, #line 52 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"}, #line 26 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp857"}, #line 15 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"}, #line 20 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"}, #line 31 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "cp866"}, #line 17 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"}, #line 27 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "cp861"}, #line 32 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "cp869"}, #line 33 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "cp874"}, #line 29 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp864"}, #line 36 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 21 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp437"}, #line 24 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "cp852"}, #line 22 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp775"}, #line 30 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp865"}, #line 51 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"}, #line 14 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"}, #line 55 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "sjis"}, #line 42 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"}, #line 56 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "utf8"}, #line 48 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "kana8"}, #line 43 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "roman8"}, #line 46 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"}, #line 50 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"}, #line 18 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"}, #line 47 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"}, #line 45 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "greek8"}, #line 44 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"}, #line 28 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, "cp862"}, #line 37 "./lib/iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } ���coreutils-8.21/lib/realloc.c������������������������������������������������������������������������0000664�0000000�0000000�00000004070�12071024546�012703� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* realloc() function that is glibc compatible. Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Bruno Haible */ #define _GL_USE_STDLIB_ALLOC 1 #include <config.h> /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ #ifdef realloc # define NEED_REALLOC_GNU 1 /* Whereas the gnulib module 'realloc-gnu' defines HAVE_REALLOC_GNU. */ #elif GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU # define NEED_REALLOC_GNU 1 #endif /* Infer the properties of the system's malloc function. The gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ #if GNULIB_MALLOC_GNU && HAVE_MALLOC_GNU # define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 #endif #include <stdlib.h> #include <errno.h> /* Change the size of an allocated block of memory P to N bytes, with error checking. If N is zero, change it to 1. If P is NULL, use malloc. */ void * rpl_realloc (void *p, size_t n) { void *result; #if NEED_REALLOC_GNU if (n == 0) { n = 1; /* In theory realloc might fail, so don't rely on it to free. */ free (p); p = NULL; } #endif if (p == NULL) { #if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE if (n == 0) n = 1; #endif result = malloc (n); } else result = realloc (p, n); #if !HAVE_REALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn_int.h����������������������������������������������������������������������0000664�0000000�0000000�00000003314�12071024546�013271� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <sys/types.h> /* Data structure to contain the action information. */ struct __spawn_action { enum { spawn_do_close, spawn_do_dup2, spawn_do_open } tag; union { struct { int fd; } close_action; struct { int fd; int newfd; } dup2_action; struct { int fd; const char *path; int oflag; mode_t mode; } open_action; } action; }; #if !_LIBC # define __posix_spawn_file_actions_realloc gl_posix_spawn_file_actions_realloc #endif extern int __posix_spawn_file_actions_realloc (posix_spawn_file_actions_t * file_actions); #if !_LIBC # define __spawni gl_posix_spawn_internal #endif extern int __spawni (pid_t *pid, const char *path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *attrp, char *const argv[], char *const envp[], int use_path); ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn_faction_adddup2.c����������������������������������������������������������0000664�0000000�0000000�00000004134�12071024546�015521� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <errno.h> #include <unistd.h> #if !_LIBC # define __sysconf(open_max) getdtablesize () #endif #if !HAVE_WORKING_POSIX_SPAWN # include "spawn_int.h" #endif /* Add an action to FILE-ACTIONS which tells the implementation to call 'dup2' for the given file descriptors during the 'spawn' call. */ int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *file_actions, int fd, int newfd) #undef posix_spawn_file_actions_adddup2 { int maxfd = __sysconf (_SC_OPEN_MAX); /* Test for the validity of the file descriptor. */ if (fd < 0 || newfd < 0 || fd >= maxfd || newfd >= maxfd) return EBADF; #if HAVE_WORKING_POSIX_SPAWN return posix_spawn_file_actions_adddup2 (file_actions, fd, newfd); #else /* Allocate more memory if needed. */ if (file_actions->_used == file_actions->_allocated && __posix_spawn_file_actions_realloc (file_actions) != 0) /* This can only mean we ran out of memory. */ return ENOMEM; { struct __spawn_action *rec; /* Add the new value. */ rec = &file_actions->_actions[file_actions->_used]; rec->tag = spawn_do_dup2; rec->action.dup2_action.fd = fd; rec->action.dup2_action.newfd = newfd; /* Account for the new entry. */ ++file_actions->_used; return 0; } #endif } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-irix.h����������������������������������������������������������������0000664�0000000�0000000�00000017466�12107176112�014411� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./lib/iconv_open-irix.gperf */ /* Computed positions: -k'1,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "./lib/iconv_open-irix.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 19 #define MIN_WORD_LENGTH 5 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 5 #define MAX_HASH_VALUE 23 /* maximum key range = 19, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 8, 2, 5, 12, 11, 0, 10, 9, 8, 7, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 0, 24, 5, 24, 0, 24, 7, 24, 24, 24, 24, 7, 24, 1, 0, 8, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 }; return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]]; } struct stringpool_t { char stringpool_str5[sizeof("CP855")]; char stringpool_str6[sizeof("EUC-TW")]; char stringpool_str7[sizeof("EUC-KR")]; char stringpool_str8[sizeof("CP1251")]; char stringpool_str9[sizeof("SHIFT_JIS")]; char stringpool_str10[sizeof("ISO-8859-5")]; char stringpool_str11[sizeof("ISO-8859-15")]; char stringpool_str12[sizeof("ISO-8859-1")]; char stringpool_str13[sizeof("EUC-JP")]; char stringpool_str14[sizeof("KOI8-R")]; char stringpool_str15[sizeof("ISO-8859-2")]; char stringpool_str16[sizeof("GB2312")]; char stringpool_str17[sizeof("ISO-8859-9")]; char stringpool_str18[sizeof("ISO-8859-8")]; char stringpool_str19[sizeof("ISO-8859-7")]; char stringpool_str20[sizeof("ISO-8859-6")]; char stringpool_str21[sizeof("ISO-8859-4")]; char stringpool_str22[sizeof("ISO-8859-3")]; char stringpool_str23[sizeof("TIS-620")]; }; static const struct stringpool_t stringpool_contents = { "CP855", "EUC-TW", "EUC-KR", "CP1251", "SHIFT_JIS", "ISO-8859-5", "ISO-8859-15", "ISO-8859-1", "EUC-JP", "KOI8-R", "ISO-8859-2", "GB2312", "ISO-8859-9", "ISO-8859-8", "ISO-8859-7", "ISO-8859-6", "ISO-8859-4", "ISO-8859-3", "TIS-620" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, #line 24 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"}, #line 29 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"}, #line 28 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"}, #line 25 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"}, #line 30 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "sjis"}, #line 17 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"}, #line 22 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, #line 13 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"}, #line 27 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"}, #line 23 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"}, #line 14 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"}, #line 26 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"}, #line 21 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"}, #line 20 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"}, #line 19 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"}, #line 18 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"}, #line 16 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"}, #line 15 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"}, #line 31 "./lib/iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getopt_int.h���������������������������������������������������������������������0000664�0000000�0000000�00000011742�12071024546�013447� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Internal declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _GETOPT_INT_H #define _GETOPT_INT_H 1 #include <getopt.h> extern int _getopt_internal (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, int __posixly_correct); /* Reentrant versions which can handle parsing multiple argument vectors at the same time. */ /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using '+' as the first character of the list of option characters, or by calling getopt. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using '-' as the first character of the list of option characters selects this mode of operation. The special argument '--' forces an end of option-scanning regardless of the value of 'ordering'. In the case of RETURN_IN_ORDER, only '--' can cause 'getopt' to return -1 with 'optind' != ARGC. */ enum __ord { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER }; /* Data type for reentrant functions. */ struct _getopt_data { /* These have exactly the same meaning as the corresponding global variables, except that they are used for the reentrant versions of getopt. */ int optind; int opterr; int optopt; char *optarg; /* Internal members. */ /* True if the internal members have been initialized. */ int __initialized; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ char *__nextchar; /* See __ord above. */ enum __ord __ordering; /* If the POSIXLY_CORRECT environment variable is set or getopt was called. */ int __posixly_correct; /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. 'first_nonopt' is the index in ARGV of the first of them; 'last_nonopt' is the index after the last of them. */ int __first_nonopt; int __last_nonopt; #if defined _LIBC && defined USE_NONOPTION_FLAGS int __nonoption_flags_max_len; int __nonoption_flags_len; #endif }; /* The initializer is necessary to set OPTIND and OPTERR to their default values and to clear the initialization flag. */ #define _GETOPT_DATA_INITIALIZER { 1, 1 } extern int _getopt_internal_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, struct _getopt_data *__data, int __posixly_correct); extern int _getopt_long_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); extern int _getopt_long_only_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); #endif /* getopt_int.h */ ������������������������������coreutils-8.21/lib/spawn_faction_init.c�������������������������������������������������������������0000664�0000000�0000000�00000003272�12071024546�015143� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <errno.h> #include <stdlib.h> #include <string.h> #include "spawn_int.h" /* Function used to increase the size of the allocated array. This function is called from the 'add'-functions. */ int __posix_spawn_file_actions_realloc (posix_spawn_file_actions_t *file_actions) { int newalloc = file_actions->_allocated + 8; void *newmem = realloc (file_actions->_actions, newalloc * sizeof (struct __spawn_action)); if (newmem == NULL) /* Not enough memory. */ return ENOMEM; file_actions->_actions = (struct __spawn_action *) newmem; file_actions->_allocated = newalloc; return 0; } /* Initialize data structure for file attribute for 'spawn' call. */ int posix_spawn_file_actions_init (posix_spawn_file_actions_t *file_actions) { /* Simply clear all the elements. */ memset (file_actions, '\0', sizeof (*file_actions)); return 0; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/linebuffer.h���������������������������������������������������������������������0000664�0000000�0000000�00000004075�12071024546�013415� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* linebuffer.h -- declarations for reading arbitrarily long lines Copyright (C) 1986, 1991, 1998-1999, 2002-2003, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if !defined LINEBUFFER_H # define LINEBUFFER_H # include <stdio.h> /* A 'struct linebuffer' holds a line of text. */ struct linebuffer { size_t size; /* Allocated. */ size_t length; /* Used. */ char *buffer; }; /* Initialize linebuffer LINEBUFFER for use. */ void initbuffer (struct linebuffer *linebuffer); /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Consider lines to be terminated by DELIMITER. Keep the delimiter; append DELIMITER if we reach EOF and it wasn't the last character in the file. Do not NUL-terminate. Return LINEBUFFER, except at end of file return NULL. */ struct linebuffer *readlinebuffer_delim (struct linebuffer *linebuffer, FILE *stream, char delimiter); /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Keep the newline; append a newline if it's the last line of a file that ends in a non-newline character. Do not NUL-terminate. Return LINEBUFFER, except at end of file return NULL. */ struct linebuffer *readlinebuffer (struct linebuffer *linebuffer, FILE *stream); /* Free linebuffer LINEBUFFER and its data, all allocated with malloc. */ void freebuffer (struct linebuffer *); #endif /* LINEBUFFER_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/chdir-long.h���������������������������������������������������������������������0000664�0000000�0000000�00000002067�12071024546�013321� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide a chdir function that tries not to fail due to ENAMETOOLONG Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <unistd.h> #include <limits.h> #include "pathmax.h" /* On systems without PATH_MAX, presume that chdir accepts arbitrarily long directory names. */ #ifndef PATH_MAX # define chdir_long(Dir) chdir (Dir) #else int chdir_long (char *dir); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/safe-read.c����������������������������������������������������������������������0000664�0000000�0000000�00000004147�12071024546�013116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to read and write that retries after interrupts. Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #ifdef SAFE_WRITE # include "safe-write.h" #else # include "safe-read.h" #endif /* Get ssize_t. */ #include <sys/types.h> #include <unistd.h> #include <errno.h> #ifdef EINTR # define IS_EINTR(x) ((x) == EINTR) #else # define IS_EINTR(x) 0 #endif #include <limits.h> #ifdef SAFE_WRITE # define safe_rw safe_write # define rw write #else # define safe_rw safe_read # define rw read # undef const # define const /* empty */ #endif /* Read(write) up to COUNT bytes at BUF from(to) descriptor FD, retrying if interrupted. Return the actual number of bytes read(written), zero for EOF, or SAFE_READ_ERROR(SAFE_WRITE_ERROR) upon error. */ size_t safe_rw (int fd, void const *buf, size_t count) { /* Work around a bug in Tru64 5.1. Attempting to read more than INT_MAX bytes fails with errno == EINVAL. See <http://lists.gnu.org/archive/html/bug-gnu-utils/2002-04/msg00010.html>. When decreasing COUNT, keep it block-aligned. */ enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 }; for (;;) { ssize_t result = rw (fd, buf, count); if (0 <= result) return result; else if (IS_EINTR (errno)) continue; else if (errno == EINVAL && BUGGY_READ_MAXIMUM < count) count = BUGGY_READ_MAXIMUM; else return result; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randperm.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000245�12050450171�013071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include "randint.h" #include <stddef.h> size_t randperm_bound (size_t, size_t) _GL_ATTRIBUTE_CONST; size_t *randperm_new (struct randint_source *, size_t, size_t); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/allocator.c����������������������������������������������������������������������0000664�0000000�0000000�00000000251�11624727634�013252� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define _GL_USE_STDLIB_ALLOC 1 #include <config.h> #include "allocator.h" #include <stdlib.h> struct allocator const stdlib_allocator = { malloc, realloc, free, NULL }; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/linebuffer.c���������������������������������������������������������������������0000664�0000000�0000000�00000005635�12071024546�013413� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* linebuffer.c -- read arbitrarily long lines Copyright (C) 1986, 1991, 1998-1999, 2001, 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Richard Stallman. */ #include <config.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include "linebuffer.h" #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Initialize linebuffer LINEBUFFER for use. */ void initbuffer (struct linebuffer *linebuffer) { memset (linebuffer, 0, sizeof *linebuffer); } struct linebuffer * readlinebuffer (struct linebuffer *linebuffer, FILE *stream) { return readlinebuffer_delim (linebuffer, stream, '\n'); } /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Consider lines to be terminated by DELIMITER. Keep the delimiter; append DELIMITER if it's the last line of a file that ends in a character other than DELIMITER. Do not NUL-terminate. Therefore the stream can contain NUL bytes, and the length (including the delimiter) is returned in linebuffer->length. Return NULL when stream is empty. Return NULL and set errno upon error; callers can distinguish this case from the empty case by invoking ferror (stream). Otherwise, return LINEBUFFER. */ struct linebuffer * readlinebuffer_delim (struct linebuffer *linebuffer, FILE *stream, char delimiter) { int c; char *buffer = linebuffer->buffer; char *p = linebuffer->buffer; char *end = buffer + linebuffer->size; /* Sentinel. */ if (feof (stream)) return NULL; do { c = getc (stream); if (c == EOF) { if (p == buffer || ferror (stream)) return NULL; if (p[-1] == delimiter) break; c = delimiter; } if (p == end) { size_t oldsize = linebuffer->size; buffer = x2realloc (buffer, &linebuffer->size); p = buffer + oldsize; linebuffer->buffer = buffer; end = buffer + linebuffer->size; } *p++ = c; } while (c != delimiter); linebuffer->length = p - buffer; return linebuffer; } /* Free the buffer that was allocated for linebuffer LINEBUFFER. */ void freebuffer (struct linebuffer *linebuffer) { free (linebuffer->buffer); } ���������������������������������������������������������������������������������������������������coreutils-8.21/lib/read.c���������������������������������������������������������������������������0000664�0000000�0000000�00000004100�12071024546�012167� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* POSIX compatible read() function. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2011. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include <errno.h> # include <io.h> # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> # include "msvc-inval.h" # include "msvc-nothrow.h" # undef read # if HAVE_MSVC_INVALID_PARAMETER_HANDLER static ssize_t read_nothrow (int fd, void *buf, size_t count) { ssize_t result; TRY_MSVC_INVAL { result = read (fd, buf, count); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } # else # define read_nothrow read # endif ssize_t rpl_read (int fd, void *buf, size_t count) { ssize_t ret = read_nothrow (fd, buf, count); # if GNULIB_NONBLOCKING if (ret < 0 && GetLastError () == ERROR_NO_DATA) { HANDLE h = (HANDLE) _get_osfhandle (fd); if (GetFileType (h) == FILE_TYPE_PIPE) { /* h is a pipe or socket. */ DWORD state; if (GetNamedPipeHandleState (h, &state, NULL, NULL, NULL, NULL, 0) && (state & PIPE_NOWAIT) != 0) /* h is a pipe in non-blocking mode. Change errno from EINVAL to EAGAIN. */ errno = EAGAIN; } } # endif return ret; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/asprintf.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002101�12071561006�013076� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to strings. Copyright (C) 1999, 2002, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #ifdef IN_LIBASPRINTF # include "vasprintf.h" #else # include <stdio.h> #endif #include <stdarg.h> int asprintf (char **resultp, const char *format, ...) { va_list args; int result; va_start (args, format); result = vasprintf (resultp, format, args); va_end (args); return result; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ino-map.c������������������������������������������������������������������������0000664�0000000�0000000�00000010675�12071024546�012632� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Map an ino_t inode number to a small integer. Copyright 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Paul Eggert and Jim Meyering */ #include <config.h> #include "ino-map.h" #include "hash.h" #include "verify.h" #include <limits.h> #include <stdlib.h> /* A pair that maps an inode number to a mapped inode number; the latter is a small unique ID for the former. */ struct ino_map_ent { ino_t ino; size_t mapped_ino; }; /* A table that manages and indexes these pairs. */ struct ino_map { /* A table of KEY,VAL pairs, where KEY is the raw ino_t value and VAL is the small number that it maps to. */ struct hash_table *map; /* The next mapped inode number to hand out. */ size_t next_mapped_ino; /* Cache of the most recently allocated and otherwise-unused storage for probing the table. */ struct ino_map_ent *probe; }; /* Hash an inode map entry. */ static size_t ino_hash (void const *x, size_t table_size) { struct ino_map_ent const *p = x; ino_t ino = p->ino; /* When INO is wider than size_t, exclusive-OR the words of INO into H. This avoids loss of info, without applying % to the wider type, which could be quite slow on some systems. */ size_t h = ino; unsigned int i; unsigned int n_words = sizeof ino / sizeof h + (sizeof ino % sizeof h != 0); for (i = 1; i < n_words; i++) h ^= ino >> CHAR_BIT * sizeof h * i; return h % table_size; } /* Return true if two inode map entries are the same. */ static bool ino_compare (void const *x, void const *y) { struct ino_map_ent const *a = x; struct ino_map_ent const *b = y; return a->ino == b->ino; } /* Allocate an inode map that will hand out integers starting with NEXT_MAPPED_INO. Return NULL if memory is exhausted. */ struct ino_map * ino_map_alloc (size_t next_mapped_ino) { struct ino_map *im = malloc (sizeof *im); if (im) { enum { INITIAL_INO_MAP_TABLE_SIZE = 1021 }; im->map = hash_initialize (INITIAL_INO_MAP_TABLE_SIZE, NULL, ino_hash, ino_compare, free); if (! im->map) { free (im); return NULL; } im->next_mapped_ino = next_mapped_ino; im->probe = NULL; } return im; } /* Free an inode map. */ void ino_map_free (struct ino_map *map) { hash_free (map->map); free (map->probe); free (map); } /* Insert into MAP the inode number INO if it's not there already, and return its nonnegative mapped inode number. If INO is already in MAP, return the existing mapped inode number. Return INO_MAP_INSERT_FAILURE on memory or counter exhaustion. */ size_t ino_map_insert (struct ino_map *im, ino_t ino) { struct ino_map_ent *ent; /* Find space for the probe, reusing the cache if available. */ struct ino_map_ent *probe = im->probe; if (probe) { /* If repeating a recent query, return the cached result. */ if (probe->ino == ino) return probe->mapped_ino; } else { im->probe = probe = malloc (sizeof *probe); if (! probe) return INO_MAP_INSERT_FAILURE; } probe->ino = ino; ent = hash_insert (im->map, probe); if (! ent) return INO_MAP_INSERT_FAILURE; if (ent != probe) { /* Use the existing entry. */ probe->mapped_ino = ent->mapped_ino; } else { /* If adding 1 to map->next_mapped_ino would cause it to overflow to zero, then it must equal INO_MAP_INSERT_FAILURE, which is the value that should be returned in that case. Verify that this works. */ verify (INO_MAP_INSERT_FAILURE + 1 == 0); /* Prepare to allocate a new probe next time; this one is in use. */ im->probe = NULL; /* INO is new; allocate a mapped inode number for it. */ probe->mapped_ino = im->next_mapped_ino++; } return probe->mapped_ino; } �������������������������������������������������������������������coreutils-8.21/lib/filevercmp.h���������������������������������������������������������������������0000664�0000000�0000000�00000003361�12071024546�013425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1995 Ian Jackson <iwj10@cus.cam.ac.uk> Copyright (C) 2001 Anthony Towns <aj@azure.humbug.org.au> Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef FILEVERCMP_H #define FILEVERCMP_H /* Compare version strings: This function compares strings S1 and S2: 1) By PREFIX in the same way as strcmp. 2) Then by VERSION (most similarly to version compare of Debian's dpkg). Leading zeros in version numbers are ignored. 3) If both (PREFIX and VERSION) are equal, strcmp function is used for comparison. So this function can return 0 if (and only if) strings S1 and S2 are identical. It returns number >0 for S1 > S2, 0 for S1 == S2 and number <0 for S1 < S2. This function compares strings, in a way that if VER1 and VER2 are version numbers and PREFIX and SUFFIX (SUFFIX defined as (\.[A-Za-z~][A-Za-z0-9~]*)*) are strings then VER1 < VER2 implies filevercmp (PREFIX VER1 SUFFIX, PREFIX VER2 SUFFIX) < 0. This function is intended to be a replacement for strverscmp. */ int filevercmp (const char *s1, const char *s2); #endif /* FILEVERCMP_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sha256.h�������������������������������������������������������������������������0000664�0000000�0000000�00000006732�12071024546�012306� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declarations of functions and data types used for SHA256 and SHA224 sum library functions. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef SHA256_H # define SHA256_H 1 # include <stdio.h> # include <stdint.h> # ifdef __cplusplus extern "C" { # endif /* Structure to save state of computation between the single steps. */ struct sha256_ctx { uint32_t state[8]; uint32_t total[2]; size_t buflen; uint32_t buffer[32]; }; enum { SHA224_DIGEST_SIZE = 224 / 8 }; enum { SHA256_DIGEST_SIZE = 256 / 8 }; /* Initialize structure containing state of computation. */ extern void sha256_init_ctx (struct sha256_ctx *ctx); extern void sha224_init_ctx (struct sha256_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 32 (28) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf); extern void *sha224_finish_ctx (struct sha256_ctx *ctx, void *resbuf); /* Put result from CTX in first 32 (28) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_read_ctx (const struct sha256_ctx *ctx, void *resbuf); extern void *sha224_read_ctx (const struct sha256_ctx *ctx, void *resbuf); /* Compute SHA256 (SHA224) message digest for bytes read from STREAM. The resulting message digest number will be written into the 32 (28) bytes beginning at RESBLOCK. */ extern int sha256_stream (FILE *stream, void *resblock); extern int sha224_stream (FILE *stream, void *resblock); /* Compute SHA256 (SHA224) message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_buffer (const char *buffer, size_t len, void *resblock); extern void *sha224_buffer (const char *buffer, size_t len, void *resblock); # ifdef __cplusplus } # endif #endif ��������������������������������������coreutils-8.21/lib/link.c���������������������������������������������������������������������������0000664�0000000�0000000�00000013063�12071561010�012211� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emulate link on platforms that lack it, namely native Windows platforms. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <unistd.h> #include <errno.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #if !HAVE_LINK # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include <windows.h> /* CreateHardLink was introduced only in Windows 2000. */ typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCTSTR lpFileName, LPCTSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); static CreateHardLinkFuncType CreateHardLinkFunc = NULL; static BOOL initialized = FALSE; static void initialize (void) { HMODULE kernel32 = GetModuleHandle ("kernel32.dll"); if (kernel32 != NULL) { CreateHardLinkFunc = (CreateHardLinkFuncType) GetProcAddress (kernel32, "CreateHardLinkA"); } initialized = TRUE; } int link (const char *file1, const char *file2) { char *dir; size_t len1 = strlen (file1); size_t len2 = strlen (file2); if (!initialized) initialize (); if (CreateHardLinkFunc == NULL) { /* System does not support hard links. */ errno = EPERM; return -1; } /* Reject trailing slashes on non-directories; mingw does not support hard-linking directories. */ if ((len1 && (file1[len1 - 1] == '/' || file1[len1 - 1] == '\\')) || (len2 && (file2[len2 - 1] == '/' || file2[len2 - 1] == '\\'))) { struct stat st; if (stat (file1, &st) == 0 && S_ISDIR (st.st_mode)) errno = EPERM; else errno = ENOTDIR; return -1; } /* CreateHardLink("b/.","a",NULL) creates file "b", so we must check that dirname(file2) exists. */ dir = strdup (file2); if (!dir) return -1; { struct stat st; char *p = strchr (dir, '\0'); while (dir < p && (*--p != '/' && *p != '\\')); *p = '\0'; if (p != dir && stat (dir, &st) == -1) { int saved_errno = errno; free (dir); errno = saved_errno; return -1; } free (dir); } /* Now create the link. */ if (CreateHardLinkFunc (file2, file1, NULL) == 0) { /* It is not documented which errors CreateHardLink() can produce. * The following conversions are based on tests on a Windows XP SP2 * system. */ DWORD err = GetLastError (); switch (err) { case ERROR_ACCESS_DENIED: errno = EACCES; break; case ERROR_INVALID_FUNCTION: /* fs does not support hard links */ errno = EPERM; break; case ERROR_NOT_SAME_DEVICE: errno = EXDEV; break; case ERROR_PATH_NOT_FOUND: case ERROR_FILE_NOT_FOUND: errno = ENOENT; break; case ERROR_INVALID_PARAMETER: errno = ENAMETOOLONG; break; case ERROR_TOO_MANY_LINKS: errno = EMLINK; break; case ERROR_ALREADY_EXISTS: errno = EEXIST; break; default: errno = EIO; } return -1; } return 0; } # else /* !Windows */ # error "This platform lacks a link function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." # endif /* !Windows */ #else /* HAVE_LINK */ # undef link /* Create a hard link from FILE1 to FILE2, working around platform bugs. */ int rpl_link (char const *file1, char const *file2) { size_t len1; size_t len2; struct stat st; /* Don't allow IRIX to dereference dangling file2 symlink. */ if (!lstat (file2, &st)) { errno = EEXIST; return -1; } /* Reject trailing slashes on non-directories. */ len1 = strlen (file1); len2 = strlen (file2); if ((len1 && file1[len1 - 1] == '/') || (len2 && file2[len2 - 1] == '/')) { /* Let link() decide whether hard-linking directories is legal. If stat() fails, then link() should fail for the same reason (although on Solaris 9, link("file/","oops") mistakenly succeeds); if stat() succeeds, require a directory. */ if (stat (file1, &st)) return -1; if (!S_ISDIR (st.st_mode)) { errno = ENOTDIR; return -1; } } else { /* Fix Cygwin 1.5.x bug where link("a","b/.") creates file "b". */ char *dir = strdup (file2); char *p; if (!dir) return -1; /* We already know file2 does not end in slash. Strip off the basename, then check that the dirname exists. */ p = strrchr (dir, '/'); if (p) { *p = '\0'; if (stat (dir, &st) == -1) { int saved_errno = errno; free (dir); errno = saved_errno; return -1; } } free (dir); } return link (file1, file2); } #endif /* HAVE_LINK */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getdelim.c�����������������������������������������������������������������������0000664�0000000�0000000�00000007044�12071561007�013056� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getdelim.c --- Implementation of replacement getdelim function. Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Ported from glibc by Simon Josefsson. */ #include <config.h> /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the lineptr == NULL || n == NULL || fp == NULL tests below. */ #define _GL_ARG_NONNULL(params) #include <stdio.h> #include <limits.h> #include <stdint.h> #include <stdlib.h> #include <errno.h> #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" # define getc_maybe_unlocked(fp) getc(fp) #elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED # undef flockfile # undef funlockfile # define flockfile(x) ((void) 0) # define funlockfile(x) ((void) 0) # define getc_maybe_unlocked(fp) getc(fp) #else # define getc_maybe_unlocked(fp) getc_unlocked(fp) #endif /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *N characters of space. It is realloc'ed as necessary. Returns the number of characters read (not including the null terminator), or -1 on error or EOF. */ ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) { ssize_t result; size_t cur_len = 0; if (lineptr == NULL || n == NULL || fp == NULL) { errno = EINVAL; return -1; } flockfile (fp); if (*lineptr == NULL || *n == 0) { char *new_lineptr; *n = 120; new_lineptr = (char *) realloc (*lineptr, *n); if (new_lineptr == NULL) { result = -1; goto unlock_return; } *lineptr = new_lineptr; } for (;;) { int i; i = getc_maybe_unlocked (fp); if (i == EOF) { result = -1; break; } /* Make enough space for len+1 (for final NUL) bytes. */ if (cur_len + 1 >= *n) { size_t needed_max = SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; size_t needed = 2 * *n + 1; /* Be generous. */ char *new_lineptr; if (needed_max < needed) needed = needed_max; if (cur_len + 1 >= needed) { result = -1; errno = EOVERFLOW; goto unlock_return; } new_lineptr = (char *) realloc (*lineptr, needed); if (new_lineptr == NULL) { result = -1; goto unlock_return; } *lineptr = new_lineptr; *n = needed; } (*lineptr)[cur_len] = i; cur_len++; if (i == delimiter) break; } (*lineptr)[cur_len] = '\0'; result = cur_len ? cur_len : result; unlock_return: funlockfile (fp); /* doesn't set errno */ return result; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stat-macros.h��������������������������������������������������������������������0000664�0000000�0000000�00000000220�11624727634�013530� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* All the mode bits that can be affected by chmod. */ #define CHMOD_MODE_BITS \ (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freadseek.h����������������������������������������������������������������������0000664�0000000�0000000�00000002550�12071024546�013221� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Skipping input from a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> #include <stdio.h> #ifdef __cplusplus extern "C" { #endif /* Assuming the stream STREAM is open for reading: Read and discard OFFSET bytes from STREAM. freadseek (STREAM, OFFSET) is the same as fseek (STREAM, OFFSET, SEEK_CUR), except that the latter does not work on non-seekable input streams (such as pipes). Upon success, return 0. Upon premature end of stream, return 0 (like fseek does). Upon error, set the error indicator in the stream and return EOF. STREAM must not be wide-character oriented. */ extern int freadseek (FILE *stream, size_t offset); #ifdef __cplusplus } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdalign.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000006524�12071561013�013502� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A substitute for ISO C11 <stdalign.h>. Copyright 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Bruno Haible. */ #ifndef _GL_STDALIGN_H #define _GL_STDALIGN_H /* ISO C11 <stdalign.h> for platforms that lack it. References: ISO C11 (latest free draft <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>) sections 6.5.3.4, 6.7.5, 7.15. C++11 (latest free draft <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>) section 18.10. */ /* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment requirement of a structure member (i.e., slot or field) that is of type TYPE, as an integer constant expression. This differs from GCC's __alignof__ operator, which can yield a better-performing alignment for an object of that type. For example, on x86 with GCC, __alignof__ (double) and __alignof__ (long long) are 8, whereas alignof (double) and alignof (long long) are 4 unless the option '-malign-double' is used. The result cannot be used as a value for an 'enum' constant, if you want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #include <stddef.h> #if defined __cplusplus template <class __t> struct __alignof_helper { char __a; __t __b; }; # define _Alignof(type) offsetof (__alignof_helper<type>, __b) #else # define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) #endif #define alignof _Alignof #define __alignof_is_defined 1 /* alignas (A), also known as _Alignas (A), aligns a variable or type to the alignment A, where A is an integer constant expression. For example: int alignas (8) foo; struct s { int a; int alignas (8) bar; }; aligns the address of FOO and the offset of BAR to be multiples of 8. A should be a power of two that is at least the type's alignment and at most the implementation's alignment limit. This limit is 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable to MSVC through at least version 10.0, A should be an integer constant, as MSVC does not support expressions such as 1 << 3. To be portable to Sun C 5.11, do not align auto variables to anything stricter than their default alignment. The following C11 requirements are not supported here: - If A is zero, alignas has no effect. - alignas can be used multiple times; the strictest one wins. - alignas (TYPE) is equivalent to alignas (alignof (TYPE)). */ #if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C # define _Alignas(a) __attribute__ ((__aligned__ (a))) #elif 1300 <= _MSC_VER # define _Alignas(a) __declspec (align (a)) #endif #ifdef _Alignas # define alignas _Alignas # define __alignas_is_defined 1 #endif #endif /* _GL_STDALIGN_H */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ref-del.sin����������������������������������������������������������������������0000664�0000000�0000000�00000001675�12071561012�013151� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, see <http://www.gnu.org/licenses/>. # # Written by Bruno Haible <haible@clisp.cons.org>. # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } �������������������������������������������������������������������coreutils-8.21/lib/dtoastr.c������������������������������������������������������������������������0000664�0000000�0000000�00000000046�11624727634�012754� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define LENGTH 2 #include "ftoastr.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/pipe2.c��������������������������������������������������������������������������0000664�0000000�0000000�00000010301�12071561012�012265� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create a pipe, with specific opening flags. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include <fcntl.h> #include "binary-io.h" #include "verify.h" #if GNULIB_defined_O_NONBLOCK # include "nonblocking.h" #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ # include <io.h> #endif int pipe2 (int fd[2], int flags) { /* Mingw _pipe() corrupts fd on failure; also, if we succeed at creating the pipe but later fail at changing fcntl, we want to leave fd unchanged: http://austingroupbugs.net/view.php?id=467 */ int tmp[2]; tmp[0] = fd[0]; tmp[1] = fd[1]; #if HAVE_PIPE2 # undef pipe2 /* Try the system call first, if it exists. (We may be running with a glibc that has the function but with an older kernel that lacks it.) */ { /* Cache the information whether the system call really exists. */ static int have_pipe2_really; /* 0 = unknown, 1 = yes, -1 = no */ if (have_pipe2_really >= 0) { int result = pipe2 (fd, flags); if (!(result < 0 && errno == ENOSYS)) { have_pipe2_really = 1; return result; } have_pipe2_really = -1; } } #endif /* Check the supported flags. */ if ((flags & ~(O_CLOEXEC | O_NONBLOCK | O_BINARY | O_TEXT)) != 0) { errno = EINVAL; return -1; } #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ if (_pipe (fd, 4096, flags & ~O_NONBLOCK) < 0) { fd[0] = tmp[0]; fd[1] = tmp[1]; return -1; } /* O_NONBLOCK handling. On native Windows platforms, O_NONBLOCK is defined by gnulib. Use the functions defined by the gnulib module 'nonblocking'. */ # if GNULIB_defined_O_NONBLOCK if (flags & O_NONBLOCK) { if (set_nonblocking_flag (fd[0], true) != 0 || set_nonblocking_flag (fd[1], true) != 0) goto fail; } # else { verify (O_NONBLOCK == 0); } # endif return 0; #else /* Unix API. */ if (pipe (fd) < 0) return -1; /* POSIX <http://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html> says that initially, the O_NONBLOCK and FD_CLOEXEC flags are cleared on both fd[0] and fd[1]. */ /* O_NONBLOCK handling. On Unix platforms, O_NONBLOCK is defined by the system. Use fcntl(). */ if (flags & O_NONBLOCK) { int fcntl_flags; if ((fcntl_flags = fcntl (fd[1], F_GETFL, 0)) < 0 || fcntl (fd[1], F_SETFL, fcntl_flags | O_NONBLOCK) == -1 || (fcntl_flags = fcntl (fd[0], F_GETFL, 0)) < 0 || fcntl (fd[0], F_SETFL, fcntl_flags | O_NONBLOCK) == -1) goto fail; } if (flags & O_CLOEXEC) { int fcntl_flags; if ((fcntl_flags = fcntl (fd[1], F_GETFD, 0)) < 0 || fcntl (fd[1], F_SETFD, fcntl_flags | FD_CLOEXEC) == -1 || (fcntl_flags = fcntl (fd[0], F_GETFD, 0)) < 0 || fcntl (fd[0], F_SETFD, fcntl_flags | FD_CLOEXEC) == -1) goto fail; } # if O_BINARY if (flags & O_BINARY) { setmode (fd[1], O_BINARY); setmode (fd[0], O_BINARY); } else if (flags & O_TEXT) { setmode (fd[1], O_TEXT); setmode (fd[0], O_TEXT); } # endif return 0; #endif #if GNULIB_defined_O_NONBLOCK || \ !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) fail: { int saved_errno = errno; close (fd[0]); close (fd[1]); fd[0] = tmp[0]; fd[1] = tmp[1]; errno = saved_errno; return -1; } #endif } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirent-private.h�����������������������������������������������������������������0000664�0000000�0000000�00000002755�12071024546�014234� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Private details of the DIR type. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _DIRENT_PRIVATE_H #define _DIRENT_PRIVATE_H 1 #define WIN32_LEAN_AND_MEAN #include <windows.h> struct gl_directory { /* Status, or error code to produce in next readdir() call. -2 means the end of the directory is already reached, -1 means the entry was already filled by FindFirstFile, 0 means the entry needs to be filled using FindNextFile. A positive value is an error code. */ int status; /* Handle, reading the directory, at current position. */ HANDLE current; /* Found directory entry. */ WIN32_FIND_DATA entry; /* Argument to pass to FindFirstFile. It consists of the absolutized directory name, followed by a directory separator and the wildcards. */ char dir_name_mask[1]; }; #endif /* _DIRENT_PRIVATE_H */ �������������������coreutils-8.21/lib/stdio-impl.h���������������������������������������������������������������������0000664�0000000�0000000�00000010221�12071024546�013343� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Implementation details of FILE streams. Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Many stdio implementations have the same logic and therefore can share the same implementation of stdio extension API, except that some fields have different naming conventions, or their access requires some casts. */ /* BSD stdio derived implementations. */ #if defined __NetBSD__ /* NetBSD */ /* Get __NetBSD_Version__. */ # include <sys/param.h> #endif #include <errno.h> /* For detecting Plan9. */ #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ # if defined __DragonFly__ /* DragonFly */ /* See <http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/priv_stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>. */ # define fp_ ((struct { struct __FILE_public pub; \ struct { unsigned char *_base; int _size; } _bf; \ void *cookie; \ void *_close; \ void *_read; \ void *_seek; \ void *_write; \ struct { unsigned char *_base; int _size; } _ub; \ int _ur; \ unsigned char _ubuf[3]; \ unsigned char _nbuf[1]; \ struct { unsigned char *_base; int _size; } _lb; \ int _blksize; \ fpos_t _offset; \ /* More fields, not relevant here. */ \ } *) fp) /* See <http://www.dragonflybsd.org/cvsweb/src/include/stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>. */ # define _p pub._p # define _flags pub._flags # define _r pub._r # define _w pub._w # else # define fp_ fp # endif # if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ /* NetBSD >= 1.5ZA, OpenBSD */ /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> and <http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */ struct __sfileext { struct __sbuf _ub; /* ungetc buffer */ /* More fields, not relevant here. */ }; # define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub # else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */ # define fp_ub fp_->_ub # endif # define HASUB(fp) (fp_ub._base != NULL) #endif /* SystemV derived implementations. */ #ifdef __TANDEM /* NonStop Kernel */ # ifndef _IOERR /* These values were determined by the program 'stdioext-flags' at <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00165.html>. */ # define _IOERR 0x40 # define _IOREAD 0x80 # define _IOWRT 0x4 # define _IORW 0x100 # endif #endif #if defined _IOERR # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ # define fp_ ((struct { unsigned char *_ptr; \ unsigned char *_base; \ unsigned char *_end; \ long _cnt; \ int _file; \ unsigned int _flag; \ } *) fp) # else # define fp_ fp # endif # if defined _SCO_DS /* OpenServer */ # define _cnt __cnt # define _ptr __ptr # define _base __base # define _flag __flag # endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn_faction_destroy.c����������������������������������������������������������0000664�0000000�0000000�00000002062�12071024546�015665� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <stdlib.h> /* Initialize data structure for file attribute for 'spawn' call. */ int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *file_actions) { /* Free the memory allocated. */ free (file_actions->_actions); return 0; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/creat-safer.c��������������������������������������������������������������������0000664�0000000�0000000�00000001722�12071024546�013457� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke creat, but avoid some glitches. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "fcntl-safer.h" #include <fcntl.h> #include "unistd-safer.h" int creat_safer (char const *file, mode_t mode) { return fd_safer (creat (file, mode)); } ����������������������������������������������coreutils-8.21/lib/parse-datetime.h�����������������������������������������������������������������0000664�0000000�0000000�00000001617�12071024546�014177� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Parse a string into an internal time stamp. Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> #include <time.h> bool parse_datetime (struct timespec *, char const *, struct timespec const *); �����������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/verror.c�������������������������������������������������������������������������0000664�0000000�0000000�00000005105�12071024546�012601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* va_list error handler for noninteractive utilities Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> #include "verror.h" #include "xvasprintf.h" #include <errno.h> #include <stdarg.h> #include <stdlib.h> #if ENABLE_NLS # include "gettext.h" # define _(msgid) gettext (msgid) #endif #ifndef _ # define _(String) String #endif /* Print a message with 'vfprintf (stderr, FORMAT, ARGS)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with 'exit (STATUS)'. Use the globals error_print_progname and error_message_count similarly to error(). */ void verror (int status, int errnum, const char *format, va_list args) { verror_at_line (status, errnum, NULL, 0, format, args); } /* Print a message with 'vfprintf (stderr, FORMAT, ARGS)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with 'exit (STATUS)'. If FNAME is not NULL, prepend the message with "FNAME:LINENO:". Use the globals error_print_progname, error_message_count, and error_one_per_line similarly to error_at_line(). */ void verror_at_line (int status, int errnum, const char *file, unsigned int line_number, const char *format, va_list args) { char *message = xvasprintf (format, args); if (message) { /* Until http://sourceware.org/bugzilla/show_bug.cgi?id=2997 is fixed, glibc violates GNU Coding Standards when the file argument to error_at_line is NULL. */ if (file) error_at_line (status, errnum, file, line_number, "%s", message); else error (status, errnum, "%s", message); } else { /* EOVERFLOW, EINVAL, and EILSEQ from xvasprintf are signs of serious programmer errors. */ error (0, errno, _("unable to display error message")); abort (); } free (message); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkdir.c��������������������������������������������������������������������������0000664�0000000�0000000�00000005216�12071024546�012373� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. On those systems, this wrapper removes the trailing slash. Copyright (C) 2001, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> /* Specification. */ #include <sys/stat.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "dirname.h" /* Disable the definition of mkdir to rpl_mkdir (from the <sys/stat.h> substitute) in this file. Otherwise, we'd get an endless recursion. */ #undef mkdir /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard includes <direct.h> and <io.h>, which are included in the <sys/stat.h> override. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define mkdir(name,mode) _mkdir (name) # define maybe_unused _GL_UNUSED #else # define maybe_unused /* empty */ #endif /* This function is required at least for NetBSD 1.5.2. */ int rpl_mkdir (char const *dir, mode_t mode maybe_unused) { int ret_val; char *tmp_dir; size_t len = strlen (dir); if (len && dir[len - 1] == '/') { tmp_dir = strdup (dir); if (!tmp_dir) { /* Rather than rely on strdup-posix, we set errno ourselves. */ errno = ENOMEM; return -1; } strip_trailing_slashes (tmp_dir); } else { tmp_dir = (char *) dir; } #if FUNC_MKDIR_DOT_BUG /* Additionally, cygwin 1.5 mistakenly creates a directory "d/./". */ { char *last = last_component (tmp_dir); if (*last == '.' && (last[1] == '\0' || (last[1] == '.' && last[2] == '\0'))) { struct stat st; if (stat (tmp_dir, &st) == 0) errno = EEXIST; return -1; } } #endif /* FUNC_MKDIR_DOT_BUG */ ret_val = mkdir (tmp_dir, mode); if (tmp_dir != dir) free (tmp_dir); return ret_val; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-strtold.c����������������������������������������������������������������������0000664�0000000�0000000�00000000045�11624727634�013206� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define LONG 1 #include "c-strtod.c" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/string.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000116461�12071561014�013206� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A GNU-like <string.h>. Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_STRING_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STRING_H@ #ifndef _@GUARD_PREFIX@_STRING_H #define _@GUARD_PREFIX@_STRING_H /* NetBSD 5.0 mis-defines NULL. */ #include <stddef.h> /* MirBSD defines mbslen as a macro. */ #if @GNULIB_MBSLEN@ && defined __MirBSD__ # include <wchar.h> #endif /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>. */ /* But in any case avoid namespace pollution on glibc systems. */ #if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \ && ! defined __GLIBC__ # include <unistd.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Find the index of the least-significant set bit. */ #if @GNULIB_FFSL@ # if !@HAVE_FFSL@ _GL_FUNCDECL_SYS (ffsl, int, (long int i)); # endif _GL_CXXALIAS_SYS (ffsl, int, (long int i)); _GL_CXXALIASWARN (ffsl); #elif defined GNULIB_POSIXCHECK # undef ffsl # if HAVE_RAW_DECL_FFSL _GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module"); # endif #endif /* Find the index of the least-significant set bit. */ #if @GNULIB_FFSLL@ # if !@HAVE_FFSLL@ _GL_FUNCDECL_SYS (ffsll, int, (long long int i)); # endif _GL_CXXALIAS_SYS (ffsll, int, (long long int i)); _GL_CXXALIASWARN (ffsll); #elif defined GNULIB_POSIXCHECK # undef ffsll # if HAVE_RAW_DECL_FFSLL _GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module"); # endif #endif /* Return the first instance of C within N bytes of S, or NULL. */ #if @GNULIB_MEMCHR@ # if @REPLACE_MEMCHR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define memchr rpl_memchr # endif _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n)); # else # if ! @HAVE_MEMCHR@ _GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C" { const void * std::memchr (const void *, int, size_t); } extern "C++" { void * std::memchr (void *, int, size_t); } */ _GL_CXXALIAS_SYS_CAST2 (memchr, void *, (void const *__s, int __c, size_t __n), void const *, (void const *__s, int __c, size_t __n)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n)); _GL_CXXALIASWARN1 (memchr, void const *, (void const *__s, int __c, size_t __n)); # else _GL_CXXALIASWARN (memchr); # endif #elif defined GNULIB_POSIXCHECK # undef memchr /* Assume memchr is always declared. */ _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " "use gnulib module memchr for portability" ); #endif /* Return the first occurrence of NEEDLE in HAYSTACK. */ #if @GNULIB_MEMMEM@ # if @REPLACE_MEMMEM@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define memmem rpl_memmem # endif _GL_FUNCDECL_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len)); # else # if ! @HAVE_DECL_MEMMEM@ _GL_FUNCDECL_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len)); # endif _GL_CXXALIASWARN (memmem); #elif defined GNULIB_POSIXCHECK # undef memmem # if HAVE_RAW_DECL_MEMMEM _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - " "use gnulib module memmem-simple for portability, " "and module memmem for speed" ); # endif #endif /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ #if @GNULIB_MEMPCPY@ # if ! @HAVE_MEMPCPY@ _GL_FUNCDECL_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n)); _GL_CXXALIASWARN (mempcpy); #elif defined GNULIB_POSIXCHECK # undef mempcpy # if HAVE_RAW_DECL_MEMPCPY _GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - " "use gnulib module mempcpy for portability"); # endif #endif /* Search backwards through a block for a byte (specified as an int). */ #if @GNULIB_MEMRCHR@ # if ! @HAVE_DECL_MEMRCHR@ _GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const void * std::memrchr (const void *, int, size_t); } extern "C++" { void * std::memrchr (void *, int, size_t); } */ _GL_CXXALIAS_SYS_CAST2 (memrchr, void *, (void const *, int, size_t), void const *, (void const *, int, size_t)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t)); _GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t)); # else _GL_CXXALIASWARN (memrchr); # endif #elif defined GNULIB_POSIXCHECK # undef memrchr # if HAVE_RAW_DECL_MEMRCHR _GL_WARN_ON_USE (memrchr, "memrchr is unportable - " "use gnulib module memrchr for portability"); # endif #endif /* Find the first occurrence of C in S. More efficient than memchr(S,C,N), at the expense of undefined behavior if C does not occur within N bytes. */ #if @GNULIB_RAWMEMCHR@ # if ! @HAVE_RAWMEMCHR@ _GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const void * std::rawmemchr (const void *, int); } extern "C++" { void * std::rawmemchr (void *, int); } */ _GL_CXXALIAS_SYS_CAST2 (rawmemchr, void *, (void const *__s, int __c_in), void const *, (void const *__s, int __c_in)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in)); _GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in)); # else _GL_CXXALIASWARN (rawmemchr); # endif #elif defined GNULIB_POSIXCHECK # undef rawmemchr # if HAVE_RAW_DECL_RAWMEMCHR _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - " "use gnulib module rawmemchr for portability"); # endif #endif /* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ #if @GNULIB_STPCPY@ # if ! @HAVE_STPCPY@ _GL_FUNCDECL_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src)); _GL_CXXALIASWARN (stpcpy); #elif defined GNULIB_POSIXCHECK # undef stpcpy # if HAVE_RAW_DECL_STPCPY _GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - " "use gnulib module stpcpy for portability"); # endif #endif /* Copy no more than N bytes of SRC to DST, returning a pointer past the last non-NUL byte written into DST. */ #if @GNULIB_STPNCPY@ # if @REPLACE_STPNCPY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef stpncpy # define stpncpy rpl_stpncpy # endif _GL_FUNCDECL_RPL (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n)); # else # if ! @HAVE_STPNCPY@ _GL_FUNCDECL_SYS (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n)); # endif _GL_CXXALIASWARN (stpncpy); #elif defined GNULIB_POSIXCHECK # undef stpncpy # if HAVE_RAW_DECL_STPNCPY _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " "use gnulib module stpncpy for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strchr /* Assume strchr is always declared. */ _GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings " "in some multibyte locales - " "use mbschr if you care about internationalization"); #endif /* Find the first occurrence of C in S or the final NUL byte. */ #if @GNULIB_STRCHRNUL@ # if @REPLACE_STRCHRNUL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strchrnul rpl_strchrnul # endif _GL_FUNCDECL_RPL (strchrnul, char *, (const char *__s, int __c_in) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strchrnul, char *, (const char *str, int ch)); # else # if ! @HAVE_STRCHRNUL@ _GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * std::strchrnul (const char *, int); } extern "C++" { char * std::strchrnul (char *, int); } */ _GL_CXXALIAS_SYS_CAST2 (strchrnul, char *, (char const *__s, int __c_in), char const *, (char const *__s, int __c_in)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); _GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in)); # else _GL_CXXALIASWARN (strchrnul); # endif #elif defined GNULIB_POSIXCHECK # undef strchrnul # if HAVE_RAW_DECL_STRCHRNUL _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - " "use gnulib module strchrnul for portability"); # endif #endif /* Duplicate S, returning an identical malloc'd string. */ #if @GNULIB_STRDUP@ # if @REPLACE_STRDUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strdup # define strdup rpl_strdup # endif _GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strdup, char *, (char const *__s)); # else # if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup /* strdup exists as a function and as a macro. Get rid of the macro. */ # undef strdup # endif # if !(@HAVE_DECL_STRDUP@ || defined strdup) _GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); # endif _GL_CXXALIASWARN (strdup); #elif defined GNULIB_POSIXCHECK # undef strdup # if HAVE_RAW_DECL_STRDUP _GL_WARN_ON_USE (strdup, "strdup is unportable - " "use gnulib module strdup for portability"); # endif #endif /* Append no more than N characters from SRC onto DEST. */ #if @GNULIB_STRNCAT@ # if @REPLACE_STRNCAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strncat # define strncat rpl_strncat # endif _GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n)); # else _GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n)); # endif _GL_CXXALIASWARN (strncat); #elif defined GNULIB_POSIXCHECK # undef strncat # if HAVE_RAW_DECL_STRNCAT _GL_WARN_ON_USE (strncat, "strncat is unportable - " "use gnulib module strncat for portability"); # endif #endif /* Return a newly allocated copy of at most N bytes of STRING. */ #if @GNULIB_STRNDUP@ # if @REPLACE_STRNDUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strndup # define strndup rpl_strndup # endif _GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n)); # else # if ! @HAVE_DECL_STRNDUP@ _GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n)); # endif _GL_CXXALIASWARN (strndup); #elif defined GNULIB_POSIXCHECK # undef strndup # if HAVE_RAW_DECL_STRNDUP _GL_WARN_ON_USE (strndup, "strndup is unportable - " "use gnulib module strndup for portability"); # endif #endif /* Find the length (number of bytes) of STRING, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many bytes, return MAXLEN. */ #if @GNULIB_STRNLEN@ # if @REPLACE_STRNLEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strnlen # define strnlen rpl_strnlen # endif _GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)); # else # if ! @HAVE_DECL_STRNLEN@ _GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)); # endif _GL_CXXALIASWARN (strnlen); #elif defined GNULIB_POSIXCHECK # undef strnlen # if HAVE_RAW_DECL_STRNLEN _GL_WARN_ON_USE (strnlen, "strnlen is unportable - " "use gnulib module strnlen for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strcspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strcspn /* Assume strcspn is always declared. */ _GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings " "in multibyte locales - " "use mbscspn if you care about internationalization"); #endif /* Find the first occurrence in S of any character in ACCEPT. */ #if @GNULIB_STRPBRK@ # if ! @HAVE_STRPBRK@ _GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: extern "C" { const char * strpbrk (const char *, const char *); } extern "C++" { char * strpbrk (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strpbrk, char *, (char const *__s, char const *__accept), const char *, (char const *__s, char const *__accept)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept)); _GL_CXXALIASWARN1 (strpbrk, char const *, (char const *__s, char const *__accept)); # else _GL_CXXALIASWARN (strpbrk); # endif # if defined GNULIB_POSIXCHECK /* strpbrk() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strpbrk _GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings " "in multibyte locales - " "use mbspbrk if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strpbrk # if HAVE_RAW_DECL_STRPBRK _GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - " "use gnulib module strpbrk for portability"); # endif #endif #if defined GNULIB_POSIXCHECK /* strspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it cannot work with multibyte strings. */ # undef strspn /* Assume strspn is always declared. */ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " "in multibyte locales - " "use mbsspn if you care about internationalization"); #endif #if defined GNULIB_POSIXCHECK /* strrchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strrchr /* Assume strrchr is always declared. */ _GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings " "in some multibyte locales - " "use mbsrchr if you care about internationalization"); #endif /* Search the next delimiter (char listed in DELIM) starting at *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next char after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of strtok() that is multithread-safe and supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strtok_r(). */ #if @GNULIB_STRSEP@ # if ! @HAVE_STRSEP@ _GL_FUNCDECL_SYS (strsep, char *, (char **restrict __stringp, char const *restrict __delim) _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strsep, char *, (char **restrict __stringp, char const *restrict __delim)); _GL_CXXALIASWARN (strsep); # if defined GNULIB_POSIXCHECK # undef strsep _GL_WARN_ON_USE (strsep, "strsep cannot work correctly on character strings " "in multibyte locales - " "use mbssep if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strsep # if HAVE_RAW_DECL_STRSEP _GL_WARN_ON_USE (strsep, "strsep is unportable - " "use gnulib module strsep for portability"); # endif #endif #if @GNULIB_STRSTR@ # if @REPLACE_STRSTR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strstr rpl_strstr # endif _GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle)); # else /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * strstr (const char *, const char *); } extern "C++" { char * strstr (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strstr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strstr, const char *, (const char *haystack, const char *needle)); # else _GL_CXXALIASWARN (strstr); # endif #elif defined GNULIB_POSIXCHECK /* strstr() does not work with multibyte strings if the locale encoding is different from UTF-8: POSIX says that it operates on "strings", and "string" in POSIX is defined as a sequence of bytes, not of characters. */ # undef strstr /* Assume strstr is always declared. */ _GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot " "work correctly on character strings in most " "multibyte locales - " "use mbsstr if you care about internationalization, " "or use strstr if you care about speed"); #endif /* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive comparison. */ #if @GNULIB_STRCASESTR@ # if @REPLACE_STRCASESTR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strcasestr rpl_strcasestr # endif _GL_FUNCDECL_RPL (strcasestr, char *, (const char *haystack, const char *needle) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strcasestr, char *, (const char *haystack, const char *needle)); # else # if ! @HAVE_STRCASESTR@ _GL_FUNCDECL_SYS (strcasestr, char *, (const char *haystack, const char *needle) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * strcasestr (const char *, const char *); } extern "C++" { char * strcasestr (char *, const char *); } */ _GL_CXXALIAS_SYS_CAST2 (strcasestr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strcasestr, const char *, (const char *haystack, const char *needle)); # else _GL_CXXALIASWARN (strcasestr); # endif #elif defined GNULIB_POSIXCHECK /* strcasestr() does not work with multibyte strings: It is a glibc extension, and glibc implements it only for unibyte locales. */ # undef strcasestr # if HAVE_RAW_DECL_STRCASESTR _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character " "strings in multibyte locales - " "use mbscasestr if you care about " "internationalization, or use c-strcasestr if you want " "a locale independent function"); # endif #endif /* Parse S into tokens separated by characters in DELIM. If S is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = strtok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" This is a variant of strtok() that is multithread-safe. For the POSIX documentation for this function, see: http://www.opengroup.org/susv3xsh/strtok.html Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strsep(). */ #if @GNULIB_STRTOK_R@ # if @REPLACE_STRTOK_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strtok_r # define strtok_r rpl_strtok_r # endif _GL_FUNCDECL_RPL (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr)); # else # if @UNDEFINE_STRTOK_R@ || defined GNULIB_POSIXCHECK # undef strtok_r # endif # if ! @HAVE_DECL_STRTOK_R@ _GL_FUNCDECL_SYS (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (strtok_r, char *, (char *restrict s, char const *restrict delim, char **restrict save_ptr)); # endif _GL_CXXALIASWARN (strtok_r); # if defined GNULIB_POSIXCHECK _GL_WARN_ON_USE (strtok_r, "strtok_r cannot work correctly on character " "strings in multibyte locales - " "use mbstok_r if you care about internationalization"); # endif #elif defined GNULIB_POSIXCHECK # undef strtok_r # if HAVE_RAW_DECL_STRTOK_R _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - " "use gnulib module strtok_r for portability"); # endif #endif /* The following functions are not specified by POSIX. They are gnulib extensions. */ #if @GNULIB_MBSLEN@ /* Return the number of multibyte characters in the character string STRING. This considers multibyte characters, unlike strlen, which counts bytes. */ # ifdef __MirBSD__ /* MirBSD defines mbslen as a macro. Override it. */ # undef mbslen # endif # if @HAVE_MBSLEN@ /* AIX, OSF/1, MirBSD define mbslen already in libc. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbslen rpl_mbslen # endif _GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbslen, size_t, (const char *string)); # else _GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif _GL_CXXALIASWARN (mbslen); #endif #if @GNULIB_MBSNLEN@ /* Return the number of multibyte characters in the character string starting at STRING and ending at STRING + LEN. */ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1)); #endif #if @GNULIB_MBSCHR@ /* Locate the first single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # if defined __hpux # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbschr rpl_mbschr /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c)); # endif _GL_CXXALIASWARN (mbschr); #endif #if @GNULIB_MBSRCHR@ /* Locate the last single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # if defined __hpux || defined __INTERIX # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbsrchr rpl_mbsrchr /* avoid collision with system function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c)); # else _GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c)); # endif _GL_CXXALIASWARN (mbsrchr); #endif #if @GNULIB_MBSSTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. Unlike strstr(), this function works correctly in multibyte locales with encodings different from UTF-8. */ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCASECMP@ /* Compare the character strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. Note: This function may, in multibyte locales, return 0 for strings of different lengths! Unlike strcasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSNCASECMP@ /* Compare the initial segment of the character string S1 consisting of at most N characters with the initial segment of the character string S2 consisting of at most N characters, ignoring case, returning less than, equal to or greater than zero if the initial segment of S1 is lexicographically less than, equal to or greater than the initial segment of S2. Note: This function may, in multibyte locales, return 0 for initial segments of different lengths! Unlike strncasecmp(), this function works correctly in multibyte locales. But beware that N is not a byte count but a character count! */ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSPCASECMP@ /* Compare the initial segment of the character string STRING consisting of at most mbslen (PREFIX) characters with the character string PREFIX, ignoring case. If the two match, return a pointer to the first byte after this prefix in STRING. Otherwise, return NULL. Note: This function may, in multibyte locales, return non-NULL if STRING is of smaller length than PREFIX! Unlike strncasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCASESTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK, using case-insensitive comparison. Note: This function may, in multibyte locales, return success even if strlen (haystack) < strlen (needle) ! Unlike strcasestr(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSCSPN@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strcspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSPBRK@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the pointer to it, or NULL if none exists. Unlike strpbrk(), this function works correctly in multibyte locales. */ # if defined __hpux # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ # endif _GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept)); # else _GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept)); # endif _GL_CXXALIASWARN (mbspbrk); #endif #if @GNULIB_MBSSPN@ /* Find the first occurrence in the character string STRING of any character not in the character string REJECT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strspn(), this function works correctly in multibyte locales. */ _GL_EXTERN_C size_t mbsspn (const char *string, const char *reject) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSSEP@ /* Search the next delimiter (multibyte character listed in the character string DELIM) starting at the character string *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next multibyte character after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of mbstok_r() that supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbstok_r(). */ _GL_EXTERN_C char * mbssep (char **stringp, const char *delim) _GL_ARG_NONNULL ((1, 2)); #endif #if @GNULIB_MBSTOK_R@ /* Parse the character string STRING into tokens separated by characters in the character string DELIM. If STRING is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = mbstok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbssep(). */ _GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr) _GL_ARG_NONNULL ((2, 3)); #endif /* Map any int, typically from errno, into an error message. */ #if @GNULIB_STRERROR@ # if @REPLACE_STRERROR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strerror # define strerror rpl_strerror # endif _GL_FUNCDECL_RPL (strerror, char *, (int)); _GL_CXXALIAS_RPL (strerror, char *, (int)); # else _GL_CXXALIAS_SYS (strerror, char *, (int)); # endif _GL_CXXALIASWARN (strerror); #elif defined GNULIB_POSIXCHECK # undef strerror /* Assume strerror is always declared. */ _GL_WARN_ON_USE (strerror, "strerror is unportable - " "use gnulib module strerror to guarantee non-NULL result"); #endif /* Map any int, typically from errno, into an error message. Multithread-safe. Uses the POSIX declaration, not the glibc declaration. */ #if @GNULIB_STRERROR_R@ # if @REPLACE_STRERROR_R@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strerror_r # define strerror_r rpl_strerror_r # endif _GL_FUNCDECL_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen)); # else # if !@HAVE_DECL_STRERROR_R@ _GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)); # endif # if @HAVE_DECL_STRERROR_R@ _GL_CXXALIASWARN (strerror_r); # endif #elif defined GNULIB_POSIXCHECK # undef strerror_r # if HAVE_RAW_DECL_STRERROR_R _GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - " "use gnulib module strerror_r-posix for portability"); # endif #endif #if @GNULIB_STRSIGNAL@ # if @REPLACE_STRSIGNAL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strsignal rpl_strsignal # endif _GL_FUNCDECL_RPL (strsignal, char *, (int __sig)); _GL_CXXALIAS_RPL (strsignal, char *, (int __sig)); # else # if ! @HAVE_DECL_STRSIGNAL@ _GL_FUNCDECL_SYS (strsignal, char *, (int __sig)); # endif /* Need to cast, because on Cygwin 1.5.x systems, the return type is 'const char *'. */ _GL_CXXALIAS_SYS_CAST (strsignal, char *, (int __sig)); # endif _GL_CXXALIASWARN (strsignal); #elif defined GNULIB_POSIXCHECK # undef strsignal # if HAVE_RAW_DECL_STRSIGNAL _GL_WARN_ON_USE (strsignal, "strsignal is unportable - " "use gnulib module strsignal for portability"); # endif #endif #if @GNULIB_STRVERSCMP@ # if !@HAVE_STRVERSCMP@ _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *)); _GL_CXXALIASWARN (strverscmp); #elif defined GNULIB_POSIXCHECK # undef strverscmp # if HAVE_RAW_DECL_STRVERSCMP _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - " "use gnulib module strverscmp for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_STRING_H */ #endif /* _@GUARD_PREFIX@_STRING_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtoimax.c���������������������������������������������������������������������0000664�0000000�0000000�00000000261�11624727635�013516� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define __strtol strtoimax #define __strtol_t intmax_t #define __xstrtol xstrtoimax #define STRTOL_T_MINIMUM INTMAX_MIN #define STRTOL_T_MAXIMUM INTMAX_MAX #include "xstrtol.c" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/rawmemchr.c����������������������������������������������������������������������0000664�0000000�0000000�00000012201�12071024546�013242� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Searching in a string. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <string.h> /* Find the first occurrence of C in S. */ void * rawmemchr (const void *s, int c_in) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned char c; c = (unsigned char) c_in; /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; (size_t) char_ptr % sizeof (longword) != 0; ++char_ptr) if (*char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to NUL or c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. The test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. This test can read beyond the end of a string, depending on where C_IN is encountered. However, this is considered safe since the initialization phase ensured that the read will be aligned, therefore, the read will not cross page boundaries and will not cause a fault. */ while (1) { longword longword1 = *longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) break; longword_ptr++; } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ char_ptr = (unsigned char *) longword_ptr; while (*char_ptr != c) char_ptr++; return (void *) char_ptr; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gai_strerror.c�������������������������������������������������������������������0000664�0000000�0000000�00000005243�12071561007�013765� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Philip Blundell <pjb27@cam.ac.uk>, 1997. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif #include <stdio.h> #include <netdb.h> #ifdef _LIBC # include <libintl.h> #else # include "gettext.h" # define _(String) gettext (String) # define N_(String) String #endif #if HAVE_DECL_GAI_STRERROR # include <sys/socket.h> # undef gai_strerror # if HAVE_DECL_GAI_STRERRORA # define gai_strerror gai_strerrorA # endif const char * rpl_gai_strerror (int code) { return gai_strerror (code); } #else /* !HAVE_DECL_GAI_STRERROR */ static struct { int code; const char *msg; } values[] = { { EAI_ADDRFAMILY, N_("Address family for hostname not supported") }, { EAI_AGAIN, N_("Temporary failure in name resolution") }, { EAI_BADFLAGS, N_("Bad value for ai_flags") }, { EAI_FAIL, N_("Non-recoverable failure in name resolution") }, { EAI_FAMILY, N_("ai_family not supported") }, { EAI_MEMORY, N_("Memory allocation failure") }, { EAI_NODATA, N_("No address associated with hostname") }, { EAI_NONAME, N_("Name or service not known") }, { EAI_SERVICE, N_("Servname not supported for ai_socktype") }, { EAI_SOCKTYPE, N_("ai_socktype not supported") }, { EAI_SYSTEM, N_("System error") }, { EAI_OVERFLOW, N_("Argument buffer too small") }, #ifdef EAI_INPROGRESS { EAI_INPROGRESS, N_("Processing request in progress") }, { EAI_CANCELED, N_("Request canceled") }, { EAI_NOTCANCELED, N_("Request not canceled") }, { EAI_ALLDONE, N_("All requests done") }, { EAI_INTR, N_("Interrupted by a signal") }, { EAI_IDN_ENCODE, N_("Parameter string not correctly encoded") } #endif }; const char * gai_strerror (int code) { size_t i; for (i = 0; i < sizeof (values) / sizeof (values[0]); ++i) if (values[i].code == code) return _(values[i].msg); return _("Unknown error"); } # ifdef _LIBC libc_hidden_def (gai_strerror) # endif #endif /* !HAVE_DECL_GAI_STRERROR */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/quote.h��������������������������������������������������������������������������0000664�0000000�0000000�00000003502�12071024546�012423� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* quote.h - prototypes for quote.c Copyright (C) 1998-2001, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef QUOTE_H_ # define QUOTE_H_ 1 # include <stddef.h> /* The quoting options used by quote_n and quote. Its type is incomplete, so it's useful only in expressions like '"e_quoting_options'. */ extern struct quoting_options quote_quoting_options; /* Return an unambiguous printable representation of ARG (of size ARGSIZE), allocated in slot N, suitable for diagnostics. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. */ char const *quote_n_mem (int n, char const *arg, size_t argsize); /* Return an unambiguous printable representation of ARG (of size ARGSIZE), suitable for diagnostics. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. */ char const *quote_mem (char const *arg, size_t argsize); /* Return an unambiguous printable representation of ARG, allocated in slot N, suitable for diagnostics. */ char const *quote_n (int n, char const *arg); /* Return an unambiguous printable representation of ARG, suitable for diagnostics. */ char const *quote (char const *arg); #endif /* !QUOTE_H_ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getcwd.c�������������������������������������������������������������������������0000664�0000000�0000000�00000030566�12104754777�012565� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-1999, 2004-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if !_LIBC # include <config.h> # include <unistd.h> #endif #include <errno.h> #include <sys/types.h> #include <sys/stat.h> #include <stdbool.h> #include <stddef.h> #include <fcntl.h> /* For AT_FDCWD on Solaris 9. */ /* If this host provides the openat function or if we're using the gnulib replacement function with a native fdopendir, then enable code below to make getcwd more efficient and robust. */ #if defined HAVE_OPENAT || (defined GNULIB_OPENAT && defined HAVE_FDOPENDIR) # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 #endif #ifndef __set_errno # define __set_errno(val) (errno = (val)) #endif #include <dirent.h> #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(d) strlen ((d)->d_name) #endif #ifndef _D_ALLOC_NAMLEN # define _D_ALLOC_NAMLEN(d) (_D_EXACT_NAMLEN (d) + 1) #endif #include <unistd.h> #include <stdlib.h> #include <string.h> #if _LIBC # ifndef mempcpy # define mempcpy __mempcpy # endif #endif #ifndef MAX # define MAX(a, b) ((a) < (b) ? (b) : (a)) #endif #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #include "pathmax.h" /* In this file, PATH_MAX only serves as a threshold for choosing among two algorithms. */ #ifndef PATH_MAX # define PATH_MAX 8192 #endif #if D_INO_IN_DIRENT # define MATCHING_INO(dp, ino) ((dp)->d_ino == (ino)) #else # define MATCHING_INO(dp, ino) true #endif #if !_LIBC # define __getcwd rpl_getcwd # define __lstat lstat # define __closedir closedir # define __opendir opendir # define __readdir readdir #endif /* The results of opendir() in this file are not used with dirfd and fchdir, and we do not leak fds to any single-threaded code that could use stdio, therefore save some unnecessary recursion in fchdir.c. FIXME - if the kernel ever adds support for multi-thread safety for avoiding standard fds, then we should use opendir_safer and openat_safer. */ #undef opendir #undef closedir /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined or SIZE was too small. If successful, returns BUF. In GNU, if BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ char * __getcwd (char *buf, size_t size) { /* Lengths of big file name components and entire file names, and a deep level of file name nesting. These numbers are not upper bounds; they are merely large values suitable for initial allocations, designed to be large enough for most real-world uses. */ enum { BIG_FILE_NAME_COMPONENT_LENGTH = 255, BIG_FILE_NAME_LENGTH = MIN (4095, PATH_MAX - 1), DEEP_NESTING = 100 }; #if HAVE_OPENAT_SUPPORT int fd = AT_FDCWD; bool fd_needs_closing = false; #else char dots[DEEP_NESTING * sizeof ".." + BIG_FILE_NAME_COMPONENT_LENGTH + 1]; char *dotlist = dots; size_t dotsize = sizeof dots; size_t dotlen = 0; #endif DIR *dirstream = NULL; dev_t rootdev, thisdev; ino_t rootino, thisino; char *dir; register char *dirp; struct stat st; size_t allocated = size; size_t used; #if HAVE_RAW_DECL_GETCWD && HAVE_MINIMALLY_WORKING_GETCWD /* If AT_FDCWD is not defined, the algorithm below is O(N**2) and this is much slower than the system getcwd (at least on GNU/Linux). So trust the system getcwd's results unless they look suspicious. Use the system getcwd even if we have openat support, since the system getcwd works even when a parent is unreadable, while the openat-based approach does not. But on AIX 5.1..7.1, the system getcwd is not even minimally working: If the current directory name is slightly longer than PATH_MAX, it omits the first directory component and returns this wrong result with errno = 0. */ # undef getcwd dir = getcwd (buf, size); if (dir || (size && errno == ERANGE)) return dir; /* Solaris getcwd (NULL, 0) fails with errno == EINVAL, but it has internal magic that lets it work even if an ancestor directory is inaccessible, which is better in many cases. So in this case try again with a buffer that's almost always big enough. */ if (errno == EINVAL && buf == NULL && size == 0) { char big_buffer[BIG_FILE_NAME_LENGTH + 1]; dir = getcwd (big_buffer, sizeof big_buffer); if (dir) return strdup (dir); } # if HAVE_PARTLY_WORKING_GETCWD /* The system getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */ if (errno != ERANGE && errno != ENAMETOOLONG && errno != ENOENT) return NULL; # endif #endif if (size == 0) { if (buf != NULL) { __set_errno (EINVAL); return NULL; } allocated = BIG_FILE_NAME_LENGTH + 1; } if (buf == NULL) { dir = malloc (allocated); if (dir == NULL) return NULL; } else dir = buf; dirp = dir + allocated; *--dirp = '\0'; if (__lstat (".", &st) < 0) goto lose; thisdev = st.st_dev; thisino = st.st_ino; if (__lstat ("/", &st) < 0) goto lose; rootdev = st.st_dev; rootino = st.st_ino; while (!(thisdev == rootdev && thisino == rootino)) { struct dirent *d; dev_t dotdev; ino_t dotino; bool mount_point; int parent_status; size_t dirroom; size_t namlen; bool use_d_ino = true; /* Look at the parent directory. */ #if HAVE_OPENAT_SUPPORT fd = openat (fd, "..", O_RDONLY); if (fd < 0) goto lose; fd_needs_closing = true; parent_status = fstat (fd, &st); #else dotlist[dotlen++] = '.'; dotlist[dotlen++] = '.'; dotlist[dotlen] = '\0'; parent_status = __lstat (dotlist, &st); #endif if (parent_status != 0) goto lose; if (dirstream && __closedir (dirstream) != 0) { dirstream = NULL; goto lose; } /* Figure out if this directory is a mount point. */ dotdev = st.st_dev; dotino = st.st_ino; mount_point = dotdev != thisdev; /* Search for the last directory. */ #if HAVE_OPENAT_SUPPORT dirstream = fdopendir (fd); if (dirstream == NULL) goto lose; fd_needs_closing = false; #else dirstream = __opendir (dotlist); if (dirstream == NULL) goto lose; dotlist[dotlen++] = '/'; #endif for (;;) { /* Clear errno to distinguish EOF from error if readdir returns NULL. */ __set_errno (0); d = __readdir (dirstream); /* When we've iterated through all directory entries without finding one with a matching d_ino, rewind the stream and consider each name again, but this time, using lstat. This is necessary in a chroot on at least one system (glibc-2.3.6 + linux 2.6.12), where .., ../.., ../../.., etc. all had the same device number, yet the d_ino values for entries in / did not match those obtained via lstat. */ if (d == NULL && errno == 0 && use_d_ino) { use_d_ino = false; rewinddir (dirstream); d = __readdir (dirstream); } if (d == NULL) { if (errno == 0) /* EOF on dirstream, which can mean e.g., that the current directory has been removed. */ __set_errno (ENOENT); goto lose; } if (d->d_name[0] == '.' && (d->d_name[1] == '\0' || (d->d_name[1] == '.' && d->d_name[2] == '\0'))) continue; if (use_d_ino) { bool match = (MATCHING_INO (d, thisino) || mount_point); if (! match) continue; } { int entry_status; #if HAVE_OPENAT_SUPPORT entry_status = fstatat (fd, d->d_name, &st, AT_SYMLINK_NOFOLLOW); #else /* Compute size needed for this file name, or for the file name ".." in the same directory, whichever is larger. Room for ".." might be needed the next time through the outer loop. */ size_t name_alloc = _D_ALLOC_NAMLEN (d); size_t filesize = dotlen + MAX (sizeof "..", name_alloc); if (filesize < dotlen) goto memory_exhausted; if (dotsize < filesize) { /* My, what a deep directory tree you have, Grandma. */ size_t newsize = MAX (filesize, dotsize * 2); size_t i; if (newsize < dotsize) goto memory_exhausted; if (dotlist != dots) free (dotlist); dotlist = malloc (newsize); if (dotlist == NULL) goto lose; dotsize = newsize; i = 0; do { dotlist[i++] = '.'; dotlist[i++] = '.'; dotlist[i++] = '/'; } while (i < dotlen); } memcpy (dotlist + dotlen, d->d_name, _D_ALLOC_NAMLEN (d)); entry_status = __lstat (dotlist, &st); #endif /* We don't fail here if we cannot stat() a directory entry. This can happen when (network) file systems fail. If this entry is in fact the one we are looking for we will find out soon as we reach the end of the directory without having found anything. */ if (entry_status == 0 && S_ISDIR (st.st_mode) && st.st_dev == thisdev && st.st_ino == thisino) break; } } dirroom = dirp - dir; namlen = _D_EXACT_NAMLEN (d); if (dirroom <= namlen) { if (size != 0) { __set_errno (ERANGE); goto lose; } else { char *tmp; size_t oldsize = allocated; allocated += MAX (allocated, namlen); if (allocated < oldsize || ! (tmp = realloc (dir, allocated))) goto memory_exhausted; /* Move current contents up to the end of the buffer. This is guaranteed to be non-overlapping. */ dirp = memcpy (tmp + allocated - (oldsize - dirroom), tmp + dirroom, oldsize - dirroom); dir = tmp; } } dirp -= namlen; memcpy (dirp, d->d_name, namlen); *--dirp = '/'; thisdev = dotdev; thisino = dotino; } if (dirstream && __closedir (dirstream) != 0) { dirstream = NULL; goto lose; } if (dirp == &dir[allocated - 1]) *--dirp = '/'; #if ! HAVE_OPENAT_SUPPORT if (dotlist != dots) free (dotlist); #endif used = dir + allocated - dirp; memmove (dir, dirp, used); if (size == 0) /* Ensure that the buffer is only as large as necessary. */ buf = realloc (dir, used); if (buf == NULL) /* Either buf was NULL all along, or 'realloc' failed but we still have the original string. */ buf = dir; return buf; memory_exhausted: __set_errno (ENOMEM); lose: { int save = errno; if (dirstream) __closedir (dirstream); #if HAVE_OPENAT_SUPPORT if (fd_needs_closing) close (fd); #else if (dotlist != dots) free (dotlist); #endif if (buf == NULL) free (dir); __set_errno (save); } return NULL; } #ifdef weak_alias weak_alias (__getcwd, getcwd) #endif ������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv.c��������������������������������������������������������������������������0000664�0000000�0000000�00000026275�12071561010�012403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Character set conversion. Copyright (C) 1999-2001, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <iconv.h> #include <stddef.h> #if REPLACE_ICONV_UTF # include <errno.h> # include <stdint.h> # include <stdlib.h> # include "unistr.h" # ifndef uintptr_t # define uintptr_t unsigned long # endif #endif #if REPLACE_ICONV_UTF /* UTF-{16,32}{BE,LE} converters taken from GNU libiconv 1.11. */ /* Return code if invalid. (xxx_mbtowc) */ # define RET_ILSEQ -1 /* Return code if no bytes were read. (xxx_mbtowc) */ # define RET_TOOFEW -2 /* Return code if invalid. (xxx_wctomb) */ # define RET_ILUNI -1 /* Return code if output buffer is too small. (xxx_wctomb, xxx_reset) */ # define RET_TOOSMALL -2 /* * UTF-16BE */ /* Specification: RFC 2781 */ static int utf16be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 2) { ucs4_t wc = (s[0] << 8) + s[1]; if (wc >= 0xd800 && wc < 0xdc00) { if (n >= 4) { ucs4_t wc2 = (s[2] << 8) + s[3]; if (!(wc2 >= 0xdc00 && wc2 < 0xe000)) return RET_ILSEQ; *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00); return 4; } } else if (wc >= 0xdc00 && wc < 0xe000) { return RET_ILSEQ; } else { *pwc = wc; return 2; } } return RET_TOOFEW; } static int utf16be_wctomb (unsigned char *r, ucs4_t wc, size_t n) { if (!(wc >= 0xd800 && wc < 0xe000)) { if (wc < 0x10000) { if (n >= 2) { r[0] = (unsigned char) (wc >> 8); r[1] = (unsigned char) wc; return 2; } else return RET_TOOSMALL; } else if (wc < 0x110000) { if (n >= 4) { ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10); ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff); r[0] = (unsigned char) (wc1 >> 8); r[1] = (unsigned char) wc1; r[2] = (unsigned char) (wc2 >> 8); r[3] = (unsigned char) wc2; return 4; } else return RET_TOOSMALL; } } return RET_ILUNI; } /* * UTF-16LE */ /* Specification: RFC 2781 */ static int utf16le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 2) { ucs4_t wc = s[0] + (s[1] << 8); if (wc >= 0xd800 && wc < 0xdc00) { if (n >= 4) { ucs4_t wc2 = s[2] + (s[3] << 8); if (!(wc2 >= 0xdc00 && wc2 < 0xe000)) return RET_ILSEQ; *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00); return 4; } } else if (wc >= 0xdc00 && wc < 0xe000) { return RET_ILSEQ; } else { *pwc = wc; return 2; } } return RET_TOOFEW; } static int utf16le_wctomb (unsigned char *r, ucs4_t wc, size_t n) { if (!(wc >= 0xd800 && wc < 0xe000)) { if (wc < 0x10000) { if (n >= 2) { r[0] = (unsigned char) wc; r[1] = (unsigned char) (wc >> 8); return 2; } else return RET_TOOSMALL; } else if (wc < 0x110000) { if (n >= 4) { ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10); ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff); r[0] = (unsigned char) wc1; r[1] = (unsigned char) (wc1 >> 8); r[2] = (unsigned char) wc2; r[3] = (unsigned char) (wc2 >> 8); return 4; } else return RET_TOOSMALL; } } return RET_ILUNI; } /* * UTF-32BE */ /* Specification: Unicode 3.1 Standard Annex #19 */ static int utf32be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { ucs4_t wc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]; if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { *pwc = wc; return 4; } else return RET_ILSEQ; } return RET_TOOFEW; } static int utf32be_wctomb (unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 4) { r[0] = 0; r[1] = (unsigned char) (wc >> 16); r[2] = (unsigned char) (wc >> 8); r[3] = (unsigned char) wc; return 4; } else return RET_TOOSMALL; } return RET_ILUNI; } /* * UTF-32LE */ /* Specification: Unicode 3.1 Standard Annex #19 */ static int utf32le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n) { if (n >= 4) { ucs4_t wc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24); if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { *pwc = wc; return 4; } else return RET_ILSEQ; } return RET_TOOFEW; } static int utf32le_wctomb (unsigned char *r, ucs4_t wc, size_t n) { if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000)) { if (n >= 4) { r[0] = (unsigned char) wc; r[1] = (unsigned char) (wc >> 8); r[2] = (unsigned char) (wc >> 16); r[3] = 0; return 4; } else return RET_TOOSMALL; } return RET_ILUNI; } #endif size_t rpl_iconv (iconv_t cd, ICONV_CONST char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) #undef iconv { #if REPLACE_ICONV_UTF switch ((uintptr_t) cd) { { int (*xxx_wctomb) (unsigned char *, ucs4_t, size_t); case (uintptr_t) _ICONV_UTF8_UTF16BE: xxx_wctomb = utf16be_wctomb; goto loop_from_utf8; case (uintptr_t) _ICONV_UTF8_UTF16LE: xxx_wctomb = utf16le_wctomb; goto loop_from_utf8; case (uintptr_t) _ICONV_UTF8_UTF32BE: xxx_wctomb = utf32be_wctomb; goto loop_from_utf8; case (uintptr_t) _ICONV_UTF8_UTF32LE: xxx_wctomb = utf32le_wctomb; goto loop_from_utf8; loop_from_utf8: if (inbuf == NULL || *inbuf == NULL) return 0; { ICONV_CONST char *inptr = *inbuf; size_t inleft = *inbytesleft; char *outptr = *outbuf; size_t outleft = *outbytesleft; size_t res = 0; while (inleft > 0) { ucs4_t uc; int m = u8_mbtoucr (&uc, (const uint8_t *) inptr, inleft); if (m <= 0) { if (m == -1) { errno = EILSEQ; res = (size_t)(-1); break; } if (m == -2) { errno = EINVAL; res = (size_t)(-1); break; } abort (); } else { int n = xxx_wctomb ((uint8_t *) outptr, uc, outleft); if (n < 0) { if (n == RET_ILUNI) { errno = EILSEQ; res = (size_t)(-1); break; } if (n == RET_TOOSMALL) { errno = E2BIG; res = (size_t)(-1); break; } abort (); } else { inptr += m; inleft -= m; outptr += n; outleft -= n; } } } *inbuf = inptr; *inbytesleft = inleft; *outbuf = outptr; *outbytesleft = outleft; return res; } } { int (*xxx_mbtowc) (ucs4_t *, const unsigned char *, size_t); case (uintptr_t) _ICONV_UTF16BE_UTF8: xxx_mbtowc = utf16be_mbtowc; goto loop_to_utf8; case (uintptr_t) _ICONV_UTF16LE_UTF8: xxx_mbtowc = utf16le_mbtowc; goto loop_to_utf8; case (uintptr_t) _ICONV_UTF32BE_UTF8: xxx_mbtowc = utf32be_mbtowc; goto loop_to_utf8; case (uintptr_t) _ICONV_UTF32LE_UTF8: xxx_mbtowc = utf32le_mbtowc; goto loop_to_utf8; loop_to_utf8: if (inbuf == NULL || *inbuf == NULL) return 0; { ICONV_CONST char *inptr = *inbuf; size_t inleft = *inbytesleft; char *outptr = *outbuf; size_t outleft = *outbytesleft; size_t res = 0; while (inleft > 0) { ucs4_t uc; int m = xxx_mbtowc (&uc, (const uint8_t *) inptr, inleft); if (m <= 0) { if (m == RET_ILSEQ) { errno = EILSEQ; res = (size_t)(-1); break; } if (m == RET_TOOFEW) { errno = EINVAL; res = (size_t)(-1); break; } abort (); } else { int n = u8_uctomb ((uint8_t *) outptr, uc, outleft); if (n < 0) { if (n == -1) { errno = EILSEQ; res = (size_t)(-1); break; } if (n == -2) { errno = E2BIG; res = (size_t)(-1); break; } abort (); } else { inptr += m; inleft -= m; outptr += n; outleft -= n; } } } *inbuf = inptr; *inbytesleft = inleft; *outbuf = outptr; *outbytesleft = outleft; return res; } } } #endif return iconv (cd, inbuf, inbytesleft, outbuf, outbytesleft); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isnanf.c�������������������������������������������������������������������������0000664�0000000�0000000�00000001517�12071024546�012543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ #define USE_FLOAT #include "isnan.c" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/str-kmp.h������������������������������������������������������������������������0000664�0000000�0000000�00000012460�12071561013�012661� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substring search in a NUL terminated string of UNIT elements, using the Knuth-Morris-Pratt algorithm. Copyright (C) 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2005. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Before including this file, you need to define: UNIT The element type of the needle and haystack. CANON_ELEMENT(c) A macro that canonicalizes an element right after it has been fetched from needle or haystack. The argument is of type UNIT; the result must be of type UNIT as well. */ /* Knuth-Morris-Pratt algorithm. See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm HAYSTACK is the NUL terminated string in which to search for. NEEDLE is the string to search for in HAYSTACK, consisting of NEEDLE_LEN units. Return a boolean indicating success: Return true and set *RESULTP if the search was completed. Return false if it was aborted because not enough memory was available. */ static bool knuth_morris_pratt (const UNIT *haystack, const UNIT *needle, size_t needle_len, const UNIT **resultp) { size_t m = needle_len; /* Allocate the table. */ size_t *table = (size_t *) nmalloca (m, sizeof (size_t)); if (table == NULL) return false; /* Fill the table. For 0 < i < m: 0 < table[i] <= i is defined such that forall 0 < x < table[i]: needle[x..i-1] != needle[0..i-1-x], and table[i] is as large as possible with this property. This implies: 1) For 0 < i < m: If table[i] < i, needle[table[i]..i-1] = needle[0..i-1-table[i]]. 2) For 0 < i < m: rhaystack[0..i-1] == needle[0..i-1] and exists h, i <= h < m: rhaystack[h] != needle[h] implies forall 0 <= x < table[i]: rhaystack[x..x+m-1] != needle[0..m-1]. table[0] remains uninitialized. */ { size_t i, j; /* i = 1: Nothing to verify for x = 0. */ table[1] = 1; j = 0; for (i = 2; i < m; i++) { /* Here: j = i-1 - table[i-1]. The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < table[i-1], by induction. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ UNIT b = CANON_ELEMENT (needle[i - 1]); for (;;) { /* Invariants: The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < i-1-j. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ if (b == CANON_ELEMENT (needle[j])) { /* Set table[i] := i-1-j. */ table[i] = i - ++j; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for x = i-1-j, because needle[i-1] != needle[j] = needle[i-1-x]. */ if (j == 0) { /* The inequality holds for all possible x. */ table[i] = i; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for i-1-j < x < i-1-j+table[j], because for these x: needle[x..i-2] = needle[x-(i-1-j)..j-1] != needle[0..j-1-(x-(i-1-j))] (by definition of table[j]) = needle[0..i-2-x], hence needle[x..i-1] != needle[0..i-1-x]. Furthermore needle[i-1-j+table[j]..i-2] = needle[table[j]..j-1] = needle[0..j-1-table[j]] (by definition of table[j]). */ j = j - table[j]; } /* Here: j = i - table[i]. */ } } /* Search, using the table to accelerate the processing. */ { size_t j; const UNIT *rhaystack; const UNIT *phaystack; *resultp = NULL; j = 0; rhaystack = haystack; phaystack = haystack; /* Invariant: phaystack = rhaystack + j. */ while (*phaystack != 0) if (CANON_ELEMENT (needle[j]) == CANON_ELEMENT (*phaystack)) { j++; phaystack++; if (j == m) { /* The entire needle has been found. */ *resultp = rhaystack; break; } } else if (j > 0) { /* Found a match of needle[0..j-1], mismatch at needle[j]. */ rhaystack += table[j]; j -= table[j]; } else { /* Found a mismatch at needle[0] already. */ rhaystack++; phaystack++; } } freea (table); return true; } #undef CANON_ELEMENT ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fd-reopen.c����������������������������������������������������������������������0000664�0000000�0000000�00000002524�12102337340�013135� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke open, but return either a desired file descriptor or -1. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "fd-reopen.h" #include <errno.h> #include <fcntl.h> #include <unistd.h> /* Open a file to a particular file descriptor. This is like standard 'open', except it always returns DESIRED_FD if successful. */ int fd_reopen (int desired_fd, char const *file, int flags, mode_t mode) { int fd = open (file, flags, mode); if (fd == desired_fd || fd < 0) return fd; else { int fd2 = dup2 (fd, desired_fd); int saved_errno = errno; close (fd); errno = saved_errno; return fd2; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawnattr_init.c�����������������������������������������������������������������0000664�0000000�0000000�00000002131�12071024546�014324� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <string.h> /* Initialize data structure for file attribute for 'spawn' call. */ int posix_spawnattr_init (posix_spawnattr_t *attr) { /* All elements have to be initialized to the default values which is generally zero. */ memset (attr, '\0', sizeof (*attr)); return 0; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/signbitf.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004077�12071024546�013076� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <math.h> #include <string.h> #include "isnanf-nolibm.h" #include "float+.h" #ifdef gl_signbitf_OPTIMIZED_MACRO # undef gl_signbitf #endif int gl_signbitf (float arg) { #if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { float value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGNF_IN_LIBC return copysignf (1.0f, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnanf (arg)) return 0; if (arg < 0.0f) return 1; else if (arg == 0.0f) { /* Distinguish 0.0f and -0.0f. */ static float plus_zero = 0.0f; float arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_FLT) != 0); } else return 0; #endif } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randread.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002244�12102337340�013042� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate buffers of random data. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef RANDREAD_H # define RANDREAD_H 1 # include <stddef.h> struct randread_source; struct randread_source *randread_new (char const *, size_t); void randread (struct randread_source *, void *, size_t); void randread_set_handler (struct randread_source *, void (*) (void const *)); void randread_set_handler_arg (struct randread_source *, void const *); int randread_free (struct randread_source *); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/printf-args.c��������������������������������������������������������������������0000664�0000000�0000000�00000014632�12071561012�013515� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be defined. STATIC Set to 'static' to declare the function static. */ #ifndef PRINTF_FETCHARGS # include <config.h> #endif /* Specification. */ #ifndef PRINTF_FETCHARGS # include "printf-args.h" #endif #ifdef STATIC STATIC #endif int PRINTF_FETCHARGS (va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) switch (ap->type) { case TYPE_SCHAR: ap->a.a_schar = va_arg (args, /*signed char*/ int); break; case TYPE_UCHAR: ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); break; case TYPE_SHORT: ap->a.a_short = va_arg (args, /*short*/ int); break; case TYPE_USHORT: ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); break; case TYPE_INT: ap->a.a_int = va_arg (args, int); break; case TYPE_UINT: ap->a.a_uint = va_arg (args, unsigned int); break; case TYPE_LONGINT: ap->a.a_longint = va_arg (args, long int); break; case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; case TYPE_ULONGLONGINT: ap->a.a_ulonglongint = va_arg (args, unsigned long long int); break; #endif case TYPE_DOUBLE: ap->a.a_double = va_arg (args, double); break; case TYPE_LONGDOUBLE: ap->a.a_longdouble = va_arg (args, long double); break; case TYPE_CHAR: ap->a.a_char = va_arg (args, int); break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by default argument promotions", this is not the case in mingw32, where wint_t is 'unsigned short'. */ ap->a.a_wide_char = (sizeof (wint_t) < sizeof (int) ? (wint_t) va_arg (args, int) : va_arg (args, wint_t)); break; #endif case TYPE_STRING: ap->a.a_string = va_arg (args, const char *); /* A null pointer is an invalid argument for "%s", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_string == NULL) ap->a.a_string = "(NULL)"; break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: ap->a.a_wide_string = va_arg (args, const wchar_t *); /* A null pointer is an invalid argument for "%ls", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_wide_string == NULL) { static const wchar_t wide_null_string[] = { (wchar_t)'(', (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', (wchar_t)')', (wchar_t)0 }; ap->a.a_wide_string = wide_null_string; } break; #endif case TYPE_POINTER: ap->a.a_pointer = va_arg (args, void *); break; case TYPE_COUNT_SCHAR_POINTER: ap->a.a_count_schar_pointer = va_arg (args, signed char *); break; case TYPE_COUNT_SHORT_POINTER: ap->a.a_count_short_pointer = va_arg (args, short *); break; case TYPE_COUNT_INT_POINTER: ap->a.a_count_int_pointer = va_arg (args, int *); break; case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ case TYPE_U8_STRING: ap->a.a_u8_string = va_arg (args, const uint8_t *); /* A null pointer is an invalid argument for "%U", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u8_string == NULL) { static const uint8_t u8_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u8_string = u8_null_string; } break; case TYPE_U16_STRING: ap->a.a_u16_string = va_arg (args, const uint16_t *); /* A null pointer is an invalid argument for "%lU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u16_string == NULL) { static const uint16_t u16_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u16_string = u16_null_string; } break; case TYPE_U32_STRING: ap->a.a_u32_string = va_arg (args, const uint32_t *); /* A null pointer is an invalid argument for "%llU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u32_string == NULL) { static const uint32_t u32_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u32_string = u32_null_string; } break; #endif default: /* Unknown type. */ return -1; } return 0; } ������������������������������������������������������������������������������������������������������coreutils-8.21/lib/priv-set.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002635�12071024546�013045� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Query, remove, or restore a Solaris privilege. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by David Bartley. */ _GL_INLINE_HEADER_BEGIN #ifndef PRIV_SET_INLINE # define PRIV_SET_INLINE _GL_INLINE #endif #if HAVE_GETPPRIV && HAVE_PRIV_H # include <priv.h> int priv_set_ismember (const char *priv); int priv_set_remove (const char *priv); int priv_set_restore (const char *priv); PRIV_SET_INLINE int priv_set_remove_linkdir (void) { return priv_set_remove (PRIV_SYS_LINKDIR); } PRIV_SET_INLINE int priv_set_restore_linkdir (void) { return priv_set_restore (PRIV_SYS_LINKDIR); } #else PRIV_SET_INLINE int priv_set_remove_linkdir (void) { return -1; } PRIV_SET_INLINE int priv_set_restore_linkdir (void) { return -1; } #endif _GL_INLINE_HEADER_END ���������������������������������������������������������������������������������������������������coreutils-8.21/lib/stdio-safer.h��������������������������������������������������������������������0000664�0000000�0000000�00000002162�12071024546�013507� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke stdio functions, but avoid some glitches. Copyright (C) 2001, 2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <stdio.h> #if GNULIB_FOPEN_SAFER FILE *fopen_safer (char const *, char const *); #endif #if GNULIB_FREOPEN_SAFER FILE *freopen_safer (char const *, char const *, FILE *); #endif #if GNULIB_POPEN_SAFER FILE *popen_safer (char const *, char const *); #endif #if GNULIB_TMPFILE_SAFER FILE *tmpfile_safer (void); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getloadavg.c���������������������������������������������������������������������0000664�0000000�0000000�00000066766�12071024546�013423� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Get the system load averages. Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with gnulib. Bugs can be reported to bug-gnulib@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Compile-time symbols that this file uses: HAVE_PSTAT_GETDYNAMIC Define this if your system has the pstat_getdynamic function. I think it is unique to HPUX9. The best way to get the definition is through the AC_FUNC_GETLOADAVG macro that comes with autoconf 2.13 or newer. If that isn't an option, then just put AC_CHECK_FUNCS(pstat_getdynamic) in your configure.ac file. HAVE_LIBPERFSTAT Define this if your system has the perfstat_cpu_total function in libperfstat (AIX). FIXUP_KERNEL_SYMBOL_ADDR() Adjust address in returned struct nlist. KERNEL_FILE Name of the kernel file to nlist. LDAV_CVT() Scale the load average from the kernel. Returns a double. LDAV_SYMBOL Name of kernel symbol giving load average. LOAD_AVE_TYPE Type of the load average array in the kernel. Must be defined unless one of apollo, DGUX, NeXT, or UMAX is defined; or we have libkstat; otherwise, no load average is available. HAVE_NLIST_H nlist.h is available. NLIST_STRUCT defaults to this. NLIST_STRUCT Include nlist.h, not a.out.h. N_NAME_POINTER The nlist n_name element is a pointer, not an array. HAVE_STRUCT_NLIST_N_UN_N_NAME 'n_un.n_name' is member of 'struct nlist'. LINUX_LDAV_FILE [__linux__, __CYGWIN__]: File containing load averages. Specific system predefines this file uses, aside from setting default values if not emacs: apollo BSD Real BSD, not just BSD-like. convex DGUX eunice UNIX emulator under VMS. hpux __MSDOS__ No-op for MSDOS. NeXT sgi sequent Sequent Dynix 3.x.x (BSD) _SEQUENT_ Sequent DYNIX/ptx 1.x.x (SYSV) sony_news NEWS-OS (works at least for 4.1C) UMAX UMAX4_3 VMS WINDOWS32 No-op for Windows95/NT. __linux__ Linux: assumes /proc file system mounted. Support from Michael K. Johnson. __CYGWIN__ Cygwin emulates linux /proc/loadavg. __NetBSD__ NetBSD: assumes /kern file system mounted. In addition, to avoid nesting many #ifdefs, we internally set LDAV_DONE to indicate that the load average has been computed. We also #define LDAV_PRIVILEGED if a program will require special installation to be able to call getloadavg. */ #include <config.h> /* Specification. */ #include <stdlib.h> #include <errno.h> #include <stdbool.h> #include <stdio.h> # include <sys/types.h> # if HAVE_SYS_PARAM_H # include <sys/param.h> # endif # include "intprops.h" # if !defined (BSD) && defined (ultrix) /* Ultrix behaves like BSD on Vaxen. */ # define BSD # endif # ifdef NeXT /* NeXT in the 2.{0,1,2} releases defines BSD in <sys/param.h>, which conflicts with the definition understood in this file, that this really is BSD. */ # undef BSD /* NeXT defines FSCALE in <sys/param.h>. However, we take FSCALE being defined to mean that the nlist method should be used, which is not true. */ # undef FSCALE # endif /* Same issues as for NeXT apply to the HURD-based GNU system. */ # ifdef __GNU__ # undef BSD # undef FSCALE # endif /* __GNU__ */ /* Set values that are different from the defaults, which are set a little farther down with #ifndef. */ /* Some shorthands. */ # if defined (HPUX) && !defined (hpux) # define hpux # endif # if defined (__hpux) && !defined (hpux) # define hpux # endif # if defined (__sun) && !defined (sun) # define sun # endif # if defined (hp300) && !defined (hpux) # define MORE_BSD # endif # if defined (ultrix) && defined (mips) # define decstation # endif # if defined (__SVR4) && !defined (SVR4) # define SVR4 # endif # if (defined (sun) && defined (SVR4)) || defined (SOLARIS2) # define SUNOS_5 # endif # if defined (__osf__) && (defined (__alpha) || defined (__alpha__)) # define OSF_ALPHA # include <sys/mbuf.h> # include <sys/socket.h> # include <net/route.h> # include <sys/table.h> /* Tru64 4.0D's table.h redefines sys */ # undef sys # endif # if defined (__osf__) && (defined (mips) || defined (__mips__)) # define OSF_MIPS # include <sys/table.h> # endif /* UTek's /bin/cc on the 4300 has no architecture specific cpp define by default, but _MACH_IND_SYS_TYPES is defined in <sys/types.h>. Combine that with a couple of other things and we'll have a unique match. */ # if !defined (tek4300) && defined (unix) && defined (m68k) && defined (mc68000) && defined (mc68020) && defined (_MACH_IND_SYS_TYPES) # define tek4300 /* Define by emacs, but not by other users. */ # endif /* VAX C can't handle multi-line #ifs, or lines longer than 256 chars. */ # ifndef LOAD_AVE_TYPE # ifdef MORE_BSD # define LOAD_AVE_TYPE long # endif # ifdef sun # define LOAD_AVE_TYPE long # endif # ifdef decstation # define LOAD_AVE_TYPE long # endif # ifdef _SEQUENT_ # define LOAD_AVE_TYPE long # endif # ifdef sgi # define LOAD_AVE_TYPE long # endif # ifdef SVR4 # define LOAD_AVE_TYPE long # endif # ifdef sony_news # define LOAD_AVE_TYPE long # endif # ifdef sequent # define LOAD_AVE_TYPE long # endif # ifdef OSF_ALPHA # define LOAD_AVE_TYPE long # endif # if defined (ardent) && defined (titan) # define LOAD_AVE_TYPE long # endif # ifdef tek4300 # define LOAD_AVE_TYPE long # endif # if defined (alliant) && defined (i860) /* Alliant FX/2800 */ # define LOAD_AVE_TYPE long # endif # if defined _AIX && ! defined HAVE_LIBPERFSTAT # define LOAD_AVE_TYPE long # endif # ifdef convex # define LOAD_AVE_TYPE double # ifndef LDAV_CVT # define LDAV_CVT(n) (n) # endif # endif # endif /* No LOAD_AVE_TYPE. */ # ifdef OSF_ALPHA /* <sys/param.h> defines an incorrect value for FSCALE on Alpha OSF/1, according to ghazi@noc.rutgers.edu. */ # undef FSCALE # define FSCALE 1024.0 # endif # if defined (alliant) && defined (i860) /* Alliant FX/2800 */ /* <sys/param.h> defines an incorrect value for FSCALE on an Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu. */ # undef FSCALE # define FSCALE 100.0 # endif # ifndef FSCALE /* SunOS and some others define FSCALE in sys/param.h. */ # ifdef MORE_BSD # define FSCALE 2048.0 # endif # if defined (MIPS) || defined (SVR4) || defined (decstation) # define FSCALE 256 # endif # if defined (sgi) || defined (sequent) /* Sometimes both MIPS and sgi are defined, so FSCALE was just defined above under #ifdef MIPS. But we want the sgi value. */ # undef FSCALE # define FSCALE 1000.0 # endif # if defined (ardent) && defined (titan) # define FSCALE 65536.0 # endif # ifdef tek4300 # define FSCALE 100.0 # endif # if defined _AIX && !defined HAVE_LIBPERFSTAT # define FSCALE 65536.0 # endif # endif /* Not FSCALE. */ # if !defined (LDAV_CVT) && defined (FSCALE) # define LDAV_CVT(n) (((double) (n)) / FSCALE) # endif # ifndef NLIST_STRUCT # if HAVE_NLIST_H # define NLIST_STRUCT # endif # endif # if defined (sgi) || (defined (mips) && !defined (BSD)) # define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31)) # endif # if !defined (KERNEL_FILE) && defined (sequent) # define KERNEL_FILE "/dynix" # endif # if !defined (KERNEL_FILE) && defined (hpux) # define KERNEL_FILE "/hp-ux" # endif # if !defined (KERNEL_FILE) && (defined (_SEQUENT_) || defined (MIPS) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan))) # define KERNEL_FILE "/unix" # endif # if !defined (LDAV_SYMBOL) && defined (alliant) # define LDAV_SYMBOL "_Loadavg" # endif # if !defined (LDAV_SYMBOL) && ((defined (hpux) && !defined (hp9000s300)) || defined (_SEQUENT_) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)) || (defined (_AIX) && !defined(HAVE_LIBPERFSTAT))) # define LDAV_SYMBOL "avenrun" # endif # include <unistd.h> /* LOAD_AVE_TYPE should only get defined if we're going to use the nlist method. */ # if !defined (LOAD_AVE_TYPE) && (defined (BSD) || defined (LDAV_CVT) || defined (KERNEL_FILE) || defined (LDAV_SYMBOL)) # define LOAD_AVE_TYPE double # endif # ifdef LOAD_AVE_TYPE # ifndef __VMS # ifndef __linux__ # ifndef NLIST_STRUCT # include <a.out.h> # else /* NLIST_STRUCT */ # include <nlist.h> # endif /* NLIST_STRUCT */ # ifdef SUNOS_5 # include <kvm.h> # include <kstat.h> # endif # if defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC) # include <sys/pstat.h> # endif # ifndef KERNEL_FILE # define KERNEL_FILE "/vmunix" # endif /* KERNEL_FILE */ # ifndef LDAV_SYMBOL # define LDAV_SYMBOL "_avenrun" # endif /* LDAV_SYMBOL */ # endif /* __linux__ */ # else /* __VMS */ # ifndef eunice # include <iodef.h> # include <descrip.h> # else /* eunice */ # include <vms/iodef.h> # endif /* eunice */ # endif /* __VMS */ # ifndef LDAV_CVT # define LDAV_CVT(n) ((double) (n)) # endif /* !LDAV_CVT */ # endif /* LOAD_AVE_TYPE */ # if defined HAVE_LIBPERFSTAT # include <sys/protosw.h> # include <libperfstat.h> # include <sys/proc.h> # ifndef SBITS # define SBITS 16 # endif # endif # if defined (__GNU__) && !defined (NeXT) /* Note that NeXT Openstep defines __GNU__ even though it should not. */ /* GNU system acts much like NeXT, for load average purposes, but not exactly. */ # define NeXT # define host_self mach_host_self # endif # ifdef NeXT # ifdef HAVE_MACH_MACH_H # include <mach/mach.h> # else # include <mach.h> # endif # endif /* NeXT */ # ifdef sgi # include <sys/sysmp.h> # endif /* sgi */ # ifdef UMAX # include <signal.h> # include <sys/time.h> # include <sys/wait.h> # include <sys/syscall.h> # ifdef UMAX_43 # include <machine/cpu.h> # include <inq_stats/statistics.h> # include <inq_stats/sysstats.h> # include <inq_stats/cpustats.h> # include <inq_stats/procstats.h> # else /* Not UMAX_43. */ # include <sys/sysdefs.h> # include <sys/statistics.h> # include <sys/sysstats.h> # include <sys/cpudefs.h> # include <sys/cpustats.h> # include <sys/procstats.h> # endif /* Not UMAX_43. */ # endif /* UMAX */ # ifdef DGUX # include <sys/dg_sys_info.h> # endif # if (defined __linux__ || defined __CYGWIN__ || defined SUNOS_5 \ || (defined LOAD_AVE_TYPE && ! defined __VMS)) # include <fcntl.h> # endif /* Avoid static vars inside a function since in HPUX they dump as pure. */ # ifdef NeXT static processor_set_t default_set; static bool getloadavg_initialized; # endif /* NeXT */ # ifdef UMAX static unsigned int cpus = 0; static unsigned int samples; # endif /* UMAX */ # ifdef DGUX static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */ # endif /* DGUX */ # if !defined (HAVE_LIBKSTAT) && defined (LOAD_AVE_TYPE) /* File descriptor open to /dev/kmem or VMS load ave driver. */ static int channel; /* True if channel is valid. */ static bool getloadavg_initialized; /* Offset in kmem to seek to read load average, or 0 means invalid. */ static long offset; # if ! defined __VMS && ! defined sgi && ! defined __linux__ static struct nlist name_list[2]; # endif # ifdef SUNOS_5 static kvm_t *kd; # endif /* SUNOS_5 */ # endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */ /* Put the 1 minute, 5 minute and 15 minute load averages into the first NELEM elements of LOADAVG. Return the number written (never more than 3, but may be less than NELEM), or -1 (setting errno) if an error occurred. */ int getloadavg (double loadavg[], int nelem) { int elem = 0; /* Return value. */ # ifdef NO_GET_LOAD_AVG # define LDAV_DONE errno = ENOSYS; elem = -1; # endif # if !defined (LDAV_DONE) && defined (HAVE_LIBKSTAT) /* Solaris <= 2.6 */ /* Use libkstat because we don't have to be root. */ # define LDAV_DONE kstat_ctl_t *kc; kstat_t *ksp; kstat_named_t *kn; int saved_errno; kc = kstat_open (); if (kc == 0) return -1; ksp = kstat_lookup (kc, "unix", 0, "system_misc"); if (ksp == 0) return -1; if (kstat_read (kc, ksp, 0) == -1) return -1; kn = kstat_data_lookup (ksp, "avenrun_1min"); if (kn == 0) { /* Return -1 if no load average information is available. */ nelem = 0; elem = -1; } if (nelem >= 1) loadavg[elem++] = (double) kn->value.ul / FSCALE; if (nelem >= 2) { kn = kstat_data_lookup (ksp, "avenrun_5min"); if (kn != 0) { loadavg[elem++] = (double) kn->value.ul / FSCALE; if (nelem >= 3) { kn = kstat_data_lookup (ksp, "avenrun_15min"); if (kn != 0) loadavg[elem++] = (double) kn->value.ul / FSCALE; } } } saved_errno = errno; kstat_close (kc); errno = saved_errno; # endif /* HAVE_LIBKSTAT */ # if !defined (LDAV_DONE) && defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC) /* HP-UX */ /* Use pstat_getdynamic() because we don't have to be root. */ # define LDAV_DONE # undef LOAD_AVE_TYPE struct pst_dynamic dyn_info; if (pstat_getdynamic (&dyn_info, sizeof (dyn_info), 0, 0) < 0) return -1; if (nelem > 0) loadavg[elem++] = dyn_info.psd_avg_1_min; if (nelem > 1) loadavg[elem++] = dyn_info.psd_avg_5_min; if (nelem > 2) loadavg[elem++] = dyn_info.psd_avg_15_min; # endif /* hpux && HAVE_PSTAT_GETDYNAMIC */ # if ! defined LDAV_DONE && defined HAVE_LIBPERFSTAT /* AIX */ # define LDAV_DONE # undef LOAD_AVE_TYPE /* Use perfstat_cpu_total because we don't have to be root. */ { perfstat_cpu_total_t cpu_stats; int result = perfstat_cpu_total (NULL, &cpu_stats, sizeof cpu_stats, 1); if (result == -1) return result; loadavg[0] = cpu_stats.loadavg[0] / (double)(1 << SBITS); loadavg[1] = cpu_stats.loadavg[1] / (double)(1 << SBITS); loadavg[2] = cpu_stats.loadavg[2] / (double)(1 << SBITS); elem = 3; } # endif # if !defined (LDAV_DONE) && (defined (__linux__) || defined (__CYGWIN__)) /* Linux without glibc, Cygwin */ # define LDAV_DONE # undef LOAD_AVE_TYPE # ifndef LINUX_LDAV_FILE # define LINUX_LDAV_FILE "/proc/loadavg" # endif char ldavgbuf[3 * (INT_STRLEN_BOUND (int) + sizeof ".00 ")]; char const *ptr = ldavgbuf; int fd, count, saved_errno; fd = open (LINUX_LDAV_FILE, O_RDONLY); if (fd == -1) return -1; count = read (fd, ldavgbuf, sizeof ldavgbuf - 1); saved_errno = errno; (void) close (fd); errno = saved_errno; if (count <= 0) return -1; ldavgbuf[count] = '\0'; for (elem = 0; elem < nelem; elem++) { double numerator = 0; double denominator = 1; while (*ptr == ' ') ptr++; /* Finish if this number is missing, and report an error if all were missing. */ if (! ('0' <= *ptr && *ptr <= '9')) { if (elem == 0) { errno = ENOTSUP; return -1; } break; } while ('0' <= *ptr && *ptr <= '9') numerator = 10 * numerator + (*ptr++ - '0'); if (*ptr == '.') for (ptr++; '0' <= *ptr && *ptr <= '9'; ptr++) numerator = 10 * numerator + (*ptr - '0'), denominator *= 10; loadavg[elem++] = numerator / denominator; } return elem; # endif /* __linux__ || __CYGWIN__ */ # if !defined (LDAV_DONE) && defined (__NetBSD__) /* NetBSD < 0.9 */ # define LDAV_DONE # undef LOAD_AVE_TYPE # ifndef NETBSD_LDAV_FILE # define NETBSD_LDAV_FILE "/kern/loadavg" # endif unsigned long int load_ave[3], scale; int count; FILE *fp; fp = fopen (NETBSD_LDAV_FILE, "r"); if (fp == NULL) return -1; count = fscanf (fp, "%lu %lu %lu %lu\n", &load_ave[0], &load_ave[1], &load_ave[2], &scale); (void) fclose (fp); if (count != 4) { errno = ENOTSUP; return -1; } for (elem = 0; elem < nelem; elem++) loadavg[elem] = (double) load_ave[elem] / (double) scale; return elem; # endif /* __NetBSD__ */ # if !defined (LDAV_DONE) && defined (NeXT) /* NeXTStep */ # define LDAV_DONE /* The NeXT code was adapted from iscreen 3.2. */ host_t host; struct processor_set_basic_info info; unsigned int info_count; /* We only know how to get the 1-minute average for this system, so even if the caller asks for more than 1, we only return 1. */ if (!getloadavg_initialized) { if (processor_set_default (host_self (), &default_set) == KERN_SUCCESS) getloadavg_initialized = true; } if (getloadavg_initialized) { info_count = PROCESSOR_SET_BASIC_INFO_COUNT; if (processor_set_info (default_set, PROCESSOR_SET_BASIC_INFO, &host, (processor_set_info_t) &info, &info_count) != KERN_SUCCESS) getloadavg_initialized = false; else { if (nelem > 0) loadavg[elem++] = (double) info.load_average / LOAD_SCALE; } } if (!getloadavg_initialized) { errno = ENOTSUP; return -1; } # endif /* NeXT */ # if !defined (LDAV_DONE) && defined (UMAX) # define LDAV_DONE /* UMAX 4.2, which runs on the Encore Multimax multiprocessor, does not have a /dev/kmem. Information about the workings of the running kernel can be gathered with inq_stats system calls. We only know how to get the 1-minute average for this system. */ struct proc_summary proc_sum_data; struct stat_descr proc_info; double load; register unsigned int i, j; if (cpus == 0) { register unsigned int c, i; struct cpu_config conf; struct stat_descr desc; desc.sd_next = 0; desc.sd_subsys = SUBSYS_CPU; desc.sd_type = CPUTYPE_CONFIG; desc.sd_addr = (char *) &conf; desc.sd_size = sizeof conf; if (inq_stats (1, &desc)) return -1; c = 0; for (i = 0; i < conf.config_maxclass; ++i) { struct class_stats stats; memset (&stats, 0, sizeof stats); desc.sd_type = CPUTYPE_CLASS; desc.sd_objid = i; desc.sd_addr = (char *) &stats; desc.sd_size = sizeof stats; if (inq_stats (1, &desc)) return -1; c += stats.class_numcpus; } cpus = c; samples = cpus < 2 ? 3 : (2 * cpus / 3); } proc_info.sd_next = 0; proc_info.sd_subsys = SUBSYS_PROC; proc_info.sd_type = PROCTYPE_SUMMARY; proc_info.sd_addr = (char *) &proc_sum_data; proc_info.sd_size = sizeof (struct proc_summary); proc_info.sd_sizeused = 0; if (inq_stats (1, &proc_info) != 0) return -1; load = proc_sum_data.ps_nrunnable; j = 0; for (i = samples - 1; i > 0; --i) { load += proc_sum_data.ps_nrun[j]; if (j++ == PS_NRUNSIZE) j = 0; } if (nelem > 0) loadavg[elem++] = load / samples / cpus; # endif /* UMAX */ # if !defined (LDAV_DONE) && defined (DGUX) # define LDAV_DONE /* This call can return -1 for an error, but with good args it's not supposed to fail. The first argument is for no apparent reason of type 'long int *'. */ dg_sys_info ((long int *) &load_info, DG_SYS_INFO_LOAD_INFO_TYPE, DG_SYS_INFO_LOAD_VERSION_0); if (nelem > 0) loadavg[elem++] = load_info.one_minute; if (nelem > 1) loadavg[elem++] = load_info.five_minute; if (nelem > 2) loadavg[elem++] = load_info.fifteen_minute; # endif /* DGUX */ # if !defined (LDAV_DONE) && defined (apollo) # define LDAV_DONE /* Apollo code from lisch@mentorg.com (Ray Lischner). This system call is not documented. The load average is obtained as three long integers, for the load average over the past minute, five minutes, and fifteen minutes. Each value is a scaled integer, with 16 bits of integer part and 16 bits of fraction part. I'm not sure which operating system first supported this system call, but I know that SR10.2 supports it. */ extern void proc1_$get_loadav (); unsigned long load_ave[3]; proc1_$get_loadav (load_ave); if (nelem > 0) loadavg[elem++] = load_ave[0] / 65536.0; if (nelem > 1) loadavg[elem++] = load_ave[1] / 65536.0; if (nelem > 2) loadavg[elem++] = load_ave[2] / 65536.0; # endif /* apollo */ # if !defined (LDAV_DONE) && defined (OSF_MIPS) # define LDAV_DONE struct tbl_loadavg load_ave; table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave)); loadavg[elem++] = (load_ave.tl_lscale == 0 ? load_ave.tl_avenrun.d[0] : (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale)); # endif /* OSF_MIPS */ # if !defined (LDAV_DONE) && (defined (__MSDOS__) || defined (WINDOWS32)) /* DJGPP */ # define LDAV_DONE /* A faithful emulation is going to have to be saved for a rainy day. */ for ( ; elem < nelem; elem++) { loadavg[elem] = 0.0; } # endif /* __MSDOS__ || WINDOWS32 */ # if !defined (LDAV_DONE) && defined (OSF_ALPHA) /* OSF/1 */ # define LDAV_DONE struct tbl_loadavg load_ave; table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave)); for (elem = 0; elem < nelem; elem++) loadavg[elem] = (load_ave.tl_lscale == 0 ? load_ave.tl_avenrun.d[elem] : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale)); # endif /* OSF_ALPHA */ # if ! defined LDAV_DONE && defined __VMS /* VMS */ /* VMS specific code -- read from the Load Ave driver. */ LOAD_AVE_TYPE load_ave[3]; static bool getloadavg_initialized; # ifdef eunice struct { int dsc$w_length; char *dsc$a_pointer; } descriptor; # endif /* Ensure that there is a channel open to the load ave device. */ if (!getloadavg_initialized) { /* Attempt to open the channel. */ # ifdef eunice descriptor.dsc$w_length = 18; descriptor.dsc$a_pointer = "$$VMS_LOAD_AVERAGE"; # else $DESCRIPTOR (descriptor, "LAV0:"); # endif if (sys$assign (&descriptor, &channel, 0, 0) & 1) getloadavg_initialized = true; } /* Read the load average vector. */ if (getloadavg_initialized && !(sys$qiow (0, channel, IO$_READVBLK, 0, 0, 0, load_ave, 12, 0, 0, 0, 0) & 1)) { sys$dassgn (channel); getloadavg_initialized = false; } if (!getloadavg_initialized) { errno = ENOTSUP; return -1; } # endif /* ! defined LDAV_DONE && defined __VMS */ # if ! defined LDAV_DONE && defined LOAD_AVE_TYPE && ! defined __VMS /* IRIX, other old systems */ /* UNIX-specific code -- read the average from /dev/kmem. */ # define LDAV_PRIVILEGED /* This code requires special installation. */ LOAD_AVE_TYPE load_ave[3]; /* Get the address of LDAV_SYMBOL. */ if (offset == 0) { # ifndef sgi # if ! defined NLIST_STRUCT || ! defined N_NAME_POINTER strcpy (name_list[0].n_name, LDAV_SYMBOL); strcpy (name_list[1].n_name, ""); # else /* NLIST_STRUCT */ # ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME name_list[0].n_un.n_name = LDAV_SYMBOL; name_list[1].n_un.n_name = 0; # else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */ name_list[0].n_name = LDAV_SYMBOL; name_list[1].n_name = 0; # endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */ # endif /* NLIST_STRUCT */ # ifndef SUNOS_5 if ( # if !(defined (_AIX) && !defined (ps2)) nlist (KERNEL_FILE, name_list) # else /* _AIX */ knlist (name_list, 1, sizeof (name_list[0])) # endif >= 0) /* Omit "&& name_list[0].n_type != 0 " -- it breaks on Sun386i. */ { # ifdef FIXUP_KERNEL_SYMBOL_ADDR FIXUP_KERNEL_SYMBOL_ADDR (name_list); # endif offset = name_list[0].n_value; } # endif /* !SUNOS_5 */ # else /* sgi */ ptrdiff_t ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN); if (ldav_off != -1) offset = (long int) ldav_off & 0x7fffffff; # endif /* sgi */ } /* Make sure we have /dev/kmem open. */ if (!getloadavg_initialized) { # ifndef SUNOS_5 /* Set the channel to close on exec, so it does not litter any child's descriptor table. */ # ifndef O_CLOEXEC # define O_CLOEXEC 0 # endif int fd = open ("/dev/kmem", O_RDONLY | O_CLOEXEC); if (0 <= fd) { # if F_DUPFD_CLOEXEC if (fd <= STDERR_FILENO) { int fd1 = fcntl (fd, F_DUPFD_CLOEXEC, STDERR_FILENO + 1); close (fd); fd = fd1; } # endif if (0 <= fd) { channel = fd; getloadavg_initialized = true; } } # else /* SUNOS_5 */ /* We pass 0 for the kernel, corefile, and swapfile names to use the currently running kernel. */ kd = kvm_open (0, 0, 0, O_RDONLY, 0); if (kd != 0) { /* nlist the currently running kernel. */ kvm_nlist (kd, name_list); offset = name_list[0].n_value; getloadavg_initialized = true; } # endif /* SUNOS_5 */ } /* If we can, get the load average values. */ if (offset && getloadavg_initialized) { /* Try to read the load. */ # ifndef SUNOS_5 if (lseek (channel, offset, 0) == -1L || read (channel, (char *) load_ave, sizeof (load_ave)) != sizeof (load_ave)) { close (channel); getloadavg_initialized = false; } # else /* SUNOS_5 */ if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave)) != sizeof (load_ave)) { kvm_close (kd); getloadavg_initialized = false; } # endif /* SUNOS_5 */ } if (offset == 0 || !getloadavg_initialized) { errno = ENOTSUP; return -1; } # endif /* ! defined LDAV_DONE && defined LOAD_AVE_TYPE && ! defined __VMS */ # if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) /* Including VMS. */ if (nelem > 0) loadavg[elem++] = LDAV_CVT (load_ave[0]); if (nelem > 1) loadavg[elem++] = LDAV_CVT (load_ave[1]); if (nelem > 2) loadavg[elem++] = LDAV_CVT (load_ave[2]); # define LDAV_DONE # endif /* !LDAV_DONE && LOAD_AVE_TYPE */ # if !defined LDAV_DONE errno = ENOSYS; elem = -1; # endif return elem; } ����������coreutils-8.21/lib/fd-hook.c������������������������������������������������������������������������0000664�0000000�0000000�00000007012�12071561007�012606� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Hook for making making file descriptor functions close(), ioctl() extensible. Copyright (C) 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2009. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "fd-hook.h" #include <stdlib.h> /* Currently, this entire code is only needed for the handling of sockets on native Windows platforms. */ #if WINDOWS_SOCKETS /* The first and last link in the doubly linked list. Initially the list is empty. */ static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL }; int execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, int fd) { if (remaining_list == &anchor) /* End of list reached. */ return primary (fd); else return remaining_list->private_close_fn (remaining_list->private_next, primary, fd); } int execute_all_close_hooks (gl_close_fn primary, int fd) { return execute_close_hooks (anchor.private_next, primary, fd); } int execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, int fd, int request, void *arg) { if (remaining_list == &anchor) /* End of list reached. */ return primary (fd, request, arg); else return remaining_list->private_ioctl_fn (remaining_list->private_next, primary, fd, request, arg); } int execute_all_ioctl_hooks (gl_ioctl_fn primary, int fd, int request, void *arg) { return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg); } void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link) { if (close_hook == NULL) close_hook = execute_close_hooks; if (ioctl_hook == NULL) ioctl_hook = execute_ioctl_hooks; if (link->private_next == NULL && link->private_prev == NULL) { /* Add the link to the doubly linked list. */ link->private_next = anchor.private_next; link->private_prev = &anchor; link->private_close_fn = close_hook; link->private_ioctl_fn = ioctl_hook; anchor.private_next->private_prev = link; anchor.private_next = link; } else { /* The link is already in use. */ if (link->private_close_fn != close_hook || link->private_ioctl_fn != ioctl_hook) abort (); } } void unregister_fd_hook (struct fd_hook *link) { struct fd_hook *next = link->private_next; struct fd_hook *prev = link->private_prev; if (next != NULL && prev != NULL) { /* The link is in use. Remove it from the doubly linked list. */ prev->private_next = next; next->private_prev = prev; /* Clear the link, to mark it unused. */ link->private_next = NULL; link->private_prev = NULL; link->private_close_fn = NULL; link->private_ioctl_fn = NULL; } } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbiter.h�������������������������������������������������������������������������0000664�0000000�0000000�00000016633�12071024546�012561� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Iterating through multibyte strings: macros for multi-byte encodings. Copyright (C) 2001, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ /* The macros in this file implement forward iteration through a multi-byte string. With these macros, an iteration loop that looks like char *iter; for (iter = buf; iter < buf + buflen; iter++) { do_something (*iter); } becomes mbi_iterator_t iter; for (mbi_init (iter, buf, buflen); mbi_avail (iter); mbi_advance (iter)) { do_something (mbi_cur_ptr (iter), mb_len (mbi_cur (iter))); } The benefit of these macros over plain use of mbrtowc is: - Handling of invalid multibyte sequences is possible without making the code more complicated, while still preserving the invalid multibyte sequences. mbi_iterator_t is a type usable for variable declarations. mbi_init (iter, startptr, length) initializes the iterator, starting at startptr and crossing length bytes. mbi_avail (iter) returns true if there are more multibyte characters available before the end of string is reached. In this case, mbi_cur (iter) is initialized to the next multibyte character. mbi_advance (iter) advances the iterator by one multibyte character. mbi_cur (iter) returns the current multibyte character, of type mbchar_t. All the macros defined in mbchar.h can be used on it. mbi_cur_ptr (iter) return a pointer to the beginning of the current multibyte character. mbi_reloc (iter, ptrdiff) relocates iterator when the string is moved by ptrdiff bytes. mbi_copy (&destiter, &srciter) copies srciter to destiter. Here are the function prototypes of the macros. extern void mbi_init (mbi_iterator_t iter, const char *startptr, size_t length); extern bool mbi_avail (mbi_iterator_t iter); extern void mbi_advance (mbi_iterator_t iter); extern mbchar_t mbi_cur (mbi_iterator_t iter); extern const char * mbi_cur_ptr (mbi_iterator_t iter); extern void mbi_reloc (mbi_iterator_t iter, ptrdiff_t ptrdiff); extern void mbi_copy (mbi_iterator_t *new, const mbi_iterator_t *old); */ #ifndef _MBITER_H #define _MBITER_H 1 #include <assert.h> #include <stdbool.h> #include <stddef.h> #include <string.h> /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before <wchar.h>. */ #include <stdio.h> #include <time.h> #include <wchar.h> #include "mbchar.h" _GL_INLINE_HEADER_BEGIN #ifndef MBITER_INLINE # define MBITER_INLINE _GL_INLINE #endif struct mbiter_multi { const char *limit; /* pointer to end of string */ bool in_shift; /* true if next byte may not be interpreted as ASCII */ mbstate_t state; /* if in_shift: current shift state */ bool next_done; /* true if mbi_avail has already filled the following */ struct mbchar cur; /* the current character: const char *cur.ptr pointer to current character The following are only valid after mbi_avail. size_t cur.bytes number of bytes of current character bool cur.wc_valid true if wc is a valid wide character wchar_t cur.wc if wc_valid: the current character */ }; MBITER_INLINE void mbiter_multi_next (struct mbiter_multi *iter) { if (iter->next_done) return; if (iter->in_shift) goto with_shift; /* Handle most ASCII characters quickly, without calling mbrtowc(). */ if (is_basic (*iter->cur.ptr)) { /* These characters are part of the basic character set. ISO C 99 guarantees that their wide character code is identical to their char code. */ iter->cur.bytes = 1; iter->cur.wc = *iter->cur.ptr; iter->cur.wc_valid = true; } else { assert (mbsinit (&iter->state)); iter->in_shift = true; with_shift: iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr, iter->limit - iter->cur.ptr, &iter->state); if (iter->cur.bytes == (size_t) -1) { /* An invalid multibyte sequence was encountered. */ iter->cur.bytes = 1; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not very important; the string is bogus anyway. */ } else if (iter->cur.bytes == (size_t) -2) { /* An incomplete multibyte character at the end. */ iter->cur.bytes = iter->limit - iter->cur.ptr; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not important; the string end is reached anyway. */ } else { if (iter->cur.bytes == 0) { /* A null wide character was encountered. */ iter->cur.bytes = 1; assert (*iter->cur.ptr == '\0'); assert (iter->cur.wc == 0); } iter->cur.wc_valid = true; /* When in the initial state, we can go back treating ASCII characters more quickly. */ if (mbsinit (&iter->state)) iter->in_shift = false; } } iter->next_done = true; } MBITER_INLINE void mbiter_multi_reloc (struct mbiter_multi *iter, ptrdiff_t ptrdiff) { iter->cur.ptr += ptrdiff; iter->limit += ptrdiff; } MBITER_INLINE void mbiter_multi_copy (struct mbiter_multi *new_iter, const struct mbiter_multi *old_iter) { new_iter->limit = old_iter->limit; if ((new_iter->in_shift = old_iter->in_shift)) memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t)); else memset (&new_iter->state, 0, sizeof (mbstate_t)); new_iter->next_done = old_iter->next_done; mb_copy (&new_iter->cur, &old_iter->cur); } /* Iteration macros. */ typedef struct mbiter_multi mbi_iterator_t; #define mbi_init(iter, startptr, length) \ ((iter).cur.ptr = (startptr), (iter).limit = (iter).cur.ptr + (length), \ (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \ (iter).next_done = false) #define mbi_avail(iter) \ ((iter).cur.ptr < (iter).limit && (mbiter_multi_next (&(iter)), true)) #define mbi_advance(iter) \ ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false) /* Access to the current character. */ #define mbi_cur(iter) (iter).cur #define mbi_cur_ptr(iter) (iter).cur.ptr /* Relocation. */ #define mbi_reloc(iter, ptrdiff) mbiter_multi_reloc (&iter, ptrdiff) /* Copying an iterator. */ #define mbi_copy mbiter_multi_copy _GL_INLINE_HEADER_END #endif /* _MBITER_H */ �����������������������������������������������������������������������������������������������������coreutils-8.21/lib/xalloc.h�������������������������������������������������������������������������0000664�0000000�0000000�00000016702�12071024546�012556� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xalloc.h -- malloc with out-of-memory checking Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef XALLOC_H_ #define XALLOC_H_ #include <stddef.h> #include "xalloc-oversized.h" _GL_INLINE_HEADER_BEGIN #ifndef XALLOC_INLINE # define XALLOC_INLINE _GL_INLINE #endif #ifdef __cplusplus extern "C" { #endif #if __GNUC__ >= 3 # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) #else # define _GL_ATTRIBUTE_MALLOC #endif #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) #else # define _GL_ATTRIBUTE_ALLOC_SIZE(args) #endif /* This function is always triggered when memory is exhausted. It must be defined by the application, either explicitly or by using gnulib's xalloc-die module. This is the function to call when one wants the program to die because of a memory allocation failure. */ extern _Noreturn void xalloc_die (void); void *xmalloc (size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); void *xzalloc (size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); void *xcalloc (size_t n, size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); void *xrealloc (void *p, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); void *x2realloc (void *p, size_t *pn); void *xmemdup (void const *p, size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((2)); char *xstrdup (char const *str) _GL_ATTRIBUTE_MALLOC; /* In the following macros, T must be an elementary or structure/union or typedef'ed type, or a pointer to such a type. To apply one of the following macros to a function pointer or array type, you need to typedef it first and use the typedef name. */ /* Allocate an object of type T dynamically, with error checking. */ /* extern t *XMALLOC (typename t); */ #define XMALLOC(t) ((t *) xmalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking. */ /* extern t *XNMALLOC (size_t n, typename t); */ #define XNMALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) /* Allocate an object of type T dynamically, with error checking, and zero it. */ /* extern t *XZALLOC (typename t); */ #define XZALLOC(t) ((t *) xzalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking, and zero it. */ /* extern t *XCALLOC (size_t n, typename t); */ #define XCALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ XALLOC_INLINE void *xnmalloc (size_t n, size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); XALLOC_INLINE void * xnmalloc (size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xmalloc (n * s); } /* Change the size of an allocated block of memory P to an array of N objects each of S bytes, with error checking. S must be nonzero. */ XALLOC_INLINE void *xnrealloc (void *p, size_t n, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); XALLOC_INLINE void * xnrealloc (void *p, size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xrealloc (p, n * s); } /* If P is null, allocate a block of at least *PN such objects; otherwise, reallocate P so that it contains more than *PN objects each of S bytes. *PN must be nonzero unless P is null, and S must be nonzero. Set *PN to the new number of objects, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. Repeated reallocations are guaranteed to make progress, either by allocating an initial block with a nonzero size, or by allocating a larger block. In the following implementation, nonzero sizes are increased by a factor of approximately 1.5 so that repeated reallocations have O(N) overall cost rather than O(N**2) cost, but the specification for this function does not guarantee that rate. Here is an example of use: int *p = NULL; size_t used = 0; size_t allocated = 0; void append_int (int value) { if (used == allocated) p = x2nrealloc (p, &allocated, sizeof *p); p[used++] = value; } This causes x2nrealloc to allocate a block of some nonzero size the first time it is called. To have finer-grained control over the initial size, set *PN to a nonzero value before calling this function with P == NULL. For example: int *p = NULL; size_t used = 0; size_t allocated = 0; size_t allocated1 = 1000; void append_int (int value) { if (used == allocated) { p = x2nrealloc (p, &allocated1, sizeof *p); allocated = allocated1; } p[used++] = value; } */ XALLOC_INLINE void * x2nrealloc (void *p, size_t *pn, size_t s) { size_t n = *pn; if (! p) { if (! n) { /* The approximate size to use for initial small allocation requests, when the invoking code specifies an old size of zero. This is the largest "small" request for the GNU C library malloc. */ enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; n = DEFAULT_MXFAST / s; n += !n; } } else { /* Set N = ceil (1.5 * N) so that progress is made if N == 1. Check for overflow, so that N * S stays in size_t range. The check is slightly conservative, but an exact check isn't worth the trouble. */ if ((size_t) -1 / 3 * 2 / s <= n) xalloc_die (); n += (n + 1) / 2; } *pn = n; return xrealloc (p, n * s); } /* Return a pointer to a new buffer of N bytes. This is like xmalloc, except it returns char *. */ XALLOC_INLINE char *xcharalloc (size_t n) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); XALLOC_INLINE char * xcharalloc (size_t n) { return XNMALLOC (n, char); } #ifdef __cplusplus } /* C++ does not allow conversions from void * to other pointer types without a cast. Use templates to work around the problem when possible. */ template <typename T> inline T * xrealloc (T *p, size_t s) { return (T *) xrealloc ((void *) p, s); } template <typename T> inline T * xnrealloc (T *p, size_t n, size_t s) { return (T *) xnrealloc ((void *) p, n, s); } template <typename T> inline T * x2realloc (T *p, size_t *pn) { return (T *) x2realloc ((void *) p, pn); } template <typename T> inline T * x2nrealloc (T *p, size_t *pn, size_t s) { return (T *) x2nrealloc ((void *) p, pn, s); } template <typename T> inline T * xmemdup (T const *p, size_t s) { return (T *) xmemdup ((void const *) p, s); } #endif #endif /* !XALLOC_H_ */ ��������������������������������������������������������������coreutils-8.21/lib/savewd.c�������������������������������������������������������������������������0000664�0000000�0000000�00000016614�12071024546�012562� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Save and restore the working directory, possibly using a child process. Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #define SAVEWD_INLINE _GL_EXTERN_INLINE #include "savewd.h" #include <assert.h> #include <errno.h> #include <fcntl.h> #include <signal.h> #include <stdbool.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include "dosname.h" #include "fcntl-safer.h" /* Save the working directory into *WD, if it hasn't been saved already. Return true if a child has been forked to do the real work. */ static bool savewd_save (struct savewd *wd) { switch (wd->state) { case INITIAL_STATE: /* Save the working directory, or prepare to fall back if possible. */ { int fd = open_safer (".", O_SEARCH); if (0 <= fd) { wd->state = FD_STATE; wd->val.fd = fd; break; } if (errno != EACCES && errno != ESTALE) { wd->state = ERROR_STATE; wd->val.errnum = errno; break; } } wd->state = FORKING_STATE; wd->val.child = -1; /* Fall through. */ case FORKING_STATE: if (wd->val.child < 0) { /* "Save" the initial working directory by forking a new subprocess that will attempt all the work from the chdir until until the next savewd_restore. */ wd->val.child = fork (); if (wd->val.child != 0) { if (0 < wd->val.child) return true; wd->state = ERROR_STATE; wd->val.errnum = errno; } } break; case FD_STATE: case FD_POST_CHDIR_STATE: case ERROR_STATE: case FINAL_STATE: break; default: assert (false); } return false; } int savewd_chdir (struct savewd *wd, char const *dir, int options, int open_result[2]) { int fd = -1; int result = 0; /* Open the directory if requested, or if avoiding a race condition is requested and possible. */ if (open_result || (options & (HAVE_WORKING_O_NOFOLLOW ? SAVEWD_CHDIR_NOFOLLOW : 0))) { fd = open (dir, (O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK | (options & SAVEWD_CHDIR_NOFOLLOW ? O_NOFOLLOW : 0))); if (open_result) { open_result[0] = fd; open_result[1] = errno; } if (fd < 0 && (errno != EACCES || (options & SAVEWD_CHDIR_READABLE))) result = -1; } if (result == 0 && ! (0 <= fd && options & SAVEWD_CHDIR_SKIP_READABLE)) { if (savewd_save (wd)) { open_result = NULL; result = -2; } else { result = (fd < 0 ? chdir (dir) : fchdir (fd)); if (result == 0) switch (wd->state) { case FD_STATE: wd->state = FD_POST_CHDIR_STATE; break; case ERROR_STATE: case FD_POST_CHDIR_STATE: case FINAL_STATE: break; case FORKING_STATE: assert (wd->val.child == 0); break; default: assert (false); } } } if (0 <= fd && ! open_result) { int e = errno; close (fd); errno = e; } return result; } int savewd_restore (struct savewd *wd, int status) { switch (wd->state) { case INITIAL_STATE: case FD_STATE: /* The working directory is the desired directory, so there's no work to do. */ break; case FD_POST_CHDIR_STATE: /* Restore the working directory using fchdir. */ if (fchdir (wd->val.fd) == 0) { wd->state = FD_STATE; break; } else { int chdir_errno = errno; close (wd->val.fd); wd->state = ERROR_STATE; wd->val.errnum = chdir_errno; } /* Fall through. */ case ERROR_STATE: /* Report an error if asked to restore the working directory. */ errno = wd->val.errnum; return -1; case FORKING_STATE: /* "Restore" the working directory by waiting for the subprocess to finish. */ { pid_t child = wd->val.child; if (child == 0) _exit (status); if (0 < child) { int child_status; while (waitpid (child, &child_status, 0) < 0) assert (errno == EINTR); wd->val.child = -1; if (! WIFEXITED (child_status)) raise (WTERMSIG (child_status)); return WEXITSTATUS (child_status); } } break; default: assert (false); } return 0; } void savewd_finish (struct savewd *wd) { switch (wd->state) { case INITIAL_STATE: case ERROR_STATE: break; case FD_STATE: case FD_POST_CHDIR_STATE: close (wd->val.fd); break; case FORKING_STATE: assert (wd->val.child < 0); break; default: assert (false); } wd->state = FINAL_STATE; } /* Return true if the actual work is currently being done by a subprocess. A true return means that the caller and the subprocess should resynchronize later with savewd_restore, using only their own memory to decide when to resynchronize; they should not consult the file system to decide, because that might lead to race conditions. This is why savewd_chdir is broken out into another function; savewd_chdir's callers _can_ inspect the file system to decide whether to call savewd_chdir. */ static bool savewd_delegating (struct savewd const *wd) { return wd->state == FORKING_STATE && 0 < wd->val.child; } int savewd_process_files (int n_files, char **file, int (*act) (char *, struct savewd *, void *), void *options) { int i = 0; int last_relative; int exit_status = EXIT_SUCCESS; struct savewd wd; savewd_init (&wd); for (last_relative = n_files - 1; 0 <= last_relative; last_relative--) if (! IS_ABSOLUTE_FILE_NAME (file[last_relative])) break; for (; i < last_relative; i++) { if (! savewd_delegating (&wd)) { int s = act (file[i], &wd, options); if (exit_status < s) exit_status = s; } if (! IS_ABSOLUTE_FILE_NAME (file[i + 1])) { int r = savewd_restore (&wd, exit_status); if (exit_status < r) exit_status = r; } } savewd_finish (&wd); for (; i < n_files; i++) { int s = act (file[i], &wd, options); if (exit_status < s) exit_status = s; } return exit_status; } ��������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-strtod.c�����������������������������������������������������������������������0000664�0000000�0000000�00000005105�12071024545�013020� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string to double, using the C locale. Copyright (C) 2003-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "c-strtod.h" #include <errno.h> #include <locale.h> #include <stdlib.h> #include <string.h> #if LONG # define C_STRTOD c_strtold # define DOUBLE long double # define STRTOD_L strtold_l #else # define C_STRTOD c_strtod # define DOUBLE double # define STRTOD_L strtod_l #endif /* c_strtold falls back on strtod if strtold doesn't conform to C99. */ #if LONG && HAVE_C99_STRTOLD # define STRTOD strtold #else # define STRTOD strtod #endif #if defined LC_ALL_MASK && (LONG ? HAVE_STRTOLD_L : HAVE_STRTOD_L) /* Cache for the C locale object. Marked volatile so that different threads see the same value (avoids locking). */ static volatile locale_t c_locale_cache; /* Return the C locale object, or (locale_t) 0 with errno set if it cannot be created. */ static locale_t c_locale (void) { if (!c_locale_cache) c_locale_cache = newlocale (LC_ALL_MASK, "C", (locale_t) 0); return c_locale_cache; } #endif DOUBLE C_STRTOD (char const *nptr, char **endptr) { DOUBLE r; #if defined LC_ALL_MASK && (LONG ? HAVE_STRTOLD_L : HAVE_STRTOD_L) locale_t locale = c_locale (); if (!locale) { if (endptr) *endptr = (char *) nptr; return 0; /* errno is set here */ } r = STRTOD_L (nptr, endptr, locale); #else char *saved_locale = setlocale (LC_NUMERIC, NULL); if (saved_locale) { saved_locale = strdup (saved_locale); if (saved_locale == NULL) { if (endptr) *endptr = (char *) nptr; return 0; /* errno is set here */ } setlocale (LC_NUMERIC, "C"); } r = STRTOD (nptr, endptr); if (saved_locale) { int saved_errno = errno; setlocale (LC_NUMERIC, saved_locale); free (saved_locale); errno = saved_errno; } #endif return r; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_stat.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000047671�12071561014�013557� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a more complete sys/stat header file. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ /* This file is supposed to be used on platforms where <sys/stat.h> is incomplete. It is intended to provide definitions and prototypes needed by an application. Start with what the system provides. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_system_sys_stat_h /* Special invocation convention. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_SYS_STAT_H /* Get nlink_t. May also define off_t to a 64-bit type on native Windows. */ #include <sys/types.h> /* Get struct timespec. */ #include <time.h> /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ #ifndef _@GUARD_PREFIX@_SYS_STAT_H #define _@GUARD_PREFIX@_SYS_STAT_H /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). Native Windows platforms declare mkdir in <io.h> and/or <direct.h>, not in <unistd.h>. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include <io.h> /* mingw32, mingw64 */ # include <direct.h> /* mingw64, MSVC 9 */ #endif /* Native Windows platforms declare umask() in <io.h>. */ #if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # include <io.h> #endif /* Large File Support on native Windows. */ #if @WINDOWS_64_BIT_ST_SIZE@ # define stat _stati64 #endif #ifndef S_IFIFO # ifdef _S_IFIFO # define S_IFIFO _S_IFIFO # endif #endif #ifndef S_IFMT # define S_IFMT 0170000 #endif #if STAT_MACROS_BROKEN # undef S_ISBLK # undef S_ISCHR # undef S_ISDIR # undef S_ISFIFO # undef S_ISLNK # undef S_ISNAM # undef S_ISMPB # undef S_ISMPC # undef S_ISNWK # undef S_ISREG # undef S_ISSOCK #endif #ifndef S_ISBLK # ifdef S_IFBLK # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) # else # define S_ISBLK(m) 0 # endif #endif #ifndef S_ISCHR # ifdef S_IFCHR # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) # else # define S_ISCHR(m) 0 # endif #endif #ifndef S_ISDIR # ifdef S_IFDIR # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) # else # define S_ISDIR(m) 0 # endif #endif #ifndef S_ISDOOR /* Solaris 2.5 and up */ # define S_ISDOOR(m) 0 #endif #ifndef S_ISFIFO # ifdef S_IFIFO # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) # else # define S_ISFIFO(m) 0 # endif #endif #ifndef S_ISLNK # ifdef S_IFLNK # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) # else # define S_ISLNK(m) 0 # endif #endif #ifndef S_ISMPB /* V7 */ # ifdef S_IFMPB # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) # else # define S_ISMPB(m) 0 # define S_ISMPC(m) 0 # endif #endif #ifndef S_ISMPX /* AIX */ # define S_ISMPX(m) 0 #endif #ifndef S_ISNAM /* Xenix */ # ifdef S_IFNAM # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) # else # define S_ISNAM(m) 0 # endif #endif #ifndef S_ISNWK /* HP/UX */ # ifdef S_IFNWK # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) # else # define S_ISNWK(m) 0 # endif #endif #ifndef S_ISPORT /* Solaris 10 and up */ # define S_ISPORT(m) 0 #endif #ifndef S_ISREG # ifdef S_IFREG # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) # else # define S_ISREG(m) 0 # endif #endif #ifndef S_ISSOCK # ifdef S_IFSOCK # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) # else # define S_ISSOCK(m) 0 # endif #endif #ifndef S_TYPEISMQ # define S_TYPEISMQ(p) 0 #endif #ifndef S_TYPEISTMO # define S_TYPEISTMO(p) 0 #endif #ifndef S_TYPEISSEM # ifdef S_INSEM # define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) # else # define S_TYPEISSEM(p) 0 # endif #endif #ifndef S_TYPEISSHM # ifdef S_INSHD # define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) # else # define S_TYPEISSHM(p) 0 # endif #endif /* high performance ("contiguous data") */ #ifndef S_ISCTG # define S_ISCTG(p) 0 #endif /* Cray DMF (data migration facility): off line, with data */ #ifndef S_ISOFD # define S_ISOFD(p) 0 #endif /* Cray DMF (data migration facility): off line, with no data */ #ifndef S_ISOFL # define S_ISOFL(p) 0 #endif /* 4.4BSD whiteout */ #ifndef S_ISWHT # define S_ISWHT(m) 0 #endif /* If any of the following are undefined, define them to their de facto standard values. */ #if !S_ISUID # define S_ISUID 04000 #endif #if !S_ISGID # define S_ISGID 02000 #endif /* S_ISVTX is a common extension to POSIX. */ #ifndef S_ISVTX # define S_ISVTX 01000 #endif #if !S_IRUSR && S_IREAD # define S_IRUSR S_IREAD #endif #if !S_IRUSR # define S_IRUSR 00400 #endif #if !S_IRGRP # define S_IRGRP (S_IRUSR >> 3) #endif #if !S_IROTH # define S_IROTH (S_IRUSR >> 6) #endif #if !S_IWUSR && S_IWRITE # define S_IWUSR S_IWRITE #endif #if !S_IWUSR # define S_IWUSR 00200 #endif #if !S_IWGRP # define S_IWGRP (S_IWUSR >> 3) #endif #if !S_IWOTH # define S_IWOTH (S_IWUSR >> 6) #endif #if !S_IXUSR && S_IEXEC # define S_IXUSR S_IEXEC #endif #if !S_IXUSR # define S_IXUSR 00100 #endif #if !S_IXGRP # define S_IXGRP (S_IXUSR >> 3) #endif #if !S_IXOTH # define S_IXOTH (S_IXUSR >> 6) #endif #if !S_IRWXU # define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) #endif #if !S_IRWXG # define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) #endif #if !S_IRWXO # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) #endif /* S_IXUGO is a common extension to POSIX. */ #if !S_IXUGO # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) #endif #ifndef S_IRWXUGO # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) #endif /* Macros for futimens and utimensat. */ #ifndef UTIME_NOW # define UTIME_NOW (-1) # define UTIME_OMIT (-2) #endif #if @GNULIB_FCHMODAT@ # if !@HAVE_FCHMODAT@ _GL_FUNCDECL_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (fchmodat, int, (int fd, char const *file, mode_t mode, int flag)); _GL_CXXALIASWARN (fchmodat); #elif defined GNULIB_POSIXCHECK # undef fchmodat # if HAVE_RAW_DECL_FCHMODAT _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_FSTAT@ # if @REPLACE_FSTAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fstat # define fstat rpl_fstat # endif _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf)); # else _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf)); # endif _GL_CXXALIASWARN (fstat); #elif @WINDOWS_64_BIT_ST_SIZE@ /* Above, we define stat to _stati64. */ # define fstat _fstati64 #elif defined GNULIB_POSIXCHECK # undef fstat # if HAVE_RAW_DECL_FSTAT _GL_WARN_ON_USE (fstat, "fstat has portability problems - " "use gnulib module fstat for portability"); # endif #endif #if @GNULIB_FSTATAT@ # if @REPLACE_FSTATAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef fstatat # define fstatat rpl_fstatat # endif _GL_FUNCDECL_RPL (fstatat, int, (int fd, char const *name, struct stat *st, int flags) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (fstatat, int, (int fd, char const *name, struct stat *st, int flags)); # else # if !@HAVE_FSTATAT@ _GL_FUNCDECL_SYS (fstatat, int, (int fd, char const *name, struct stat *st, int flags) _GL_ARG_NONNULL ((2, 3))); # endif _GL_CXXALIAS_SYS (fstatat, int, (int fd, char const *name, struct stat *st, int flags)); # endif _GL_CXXALIASWARN (fstatat); #elif defined GNULIB_POSIXCHECK # undef fstatat # if HAVE_RAW_DECL_FSTATAT _GL_WARN_ON_USE (fstatat, "fstatat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_FUTIMENS@ /* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our futimens implementation relies on futimesat, which on Solaris 10 makes an invocation to futimens that is meant to invoke the libc's futimens(), not gnulib's futimens(). */ # if @REPLACE_FUTIMENS@ || (!@HAVE_FUTIMENS@ && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef futimens # define futimens rpl_futimens # endif _GL_FUNCDECL_RPL (futimens, int, (int fd, struct timespec const times[2])); _GL_CXXALIAS_RPL (futimens, int, (int fd, struct timespec const times[2])); # else # if !@HAVE_FUTIMENS@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif # if @HAVE_FUTIMENS@ _GL_CXXALIASWARN (futimens); # endif #elif defined GNULIB_POSIXCHECK # undef futimens # if HAVE_RAW_DECL_FUTIMENS _GL_WARN_ON_USE (futimens, "futimens is not portable - " "use gnulib module futimens for portability"); # endif #endif #if @GNULIB_LCHMOD@ /* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME denotes a symbolic link. */ # if !@HAVE_LCHMOD@ /* The lchmod replacement follows symbolic links. Callers should take this into account; lchmod should be applied only to arguments that are known to not be symbolic links. On hosts that lack lchmod, this can lead to race conditions between the check and the invocation of lchmod, but we know of no workarounds that are reliable in general. You might try requesting support for lchmod from your operating system supplier. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lchmod chmod # endif /* Need to cast, because on mingw, the second parameter of chmod is int mode. */ _GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int, (const char *filename, mode_t mode)); # else # if 0 /* assume already declared */ _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode)); # endif # if @HAVE_LCHMOD@ _GL_CXXALIASWARN (lchmod); # endif #elif defined GNULIB_POSIXCHECK # undef lchmod # if HAVE_RAW_DECL_LCHMOD _GL_WARN_ON_USE (lchmod, "lchmod is unportable - " "use gnulib module lchmod for portability"); # endif #endif #if @GNULIB_LSTAT@ # if ! @HAVE_LSTAT@ /* mingw does not support symlinks, therefore it does not have lstat. But without links, stat does just fine. */ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define lstat stat # endif _GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf)); # elif @REPLACE_LSTAT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef lstat # define lstat rpl_lstat # endif _GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf)); # else _GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf)); # endif # if @HAVE_LSTAT@ _GL_CXXALIASWARN (lstat); # endif #elif defined GNULIB_POSIXCHECK # undef lstat # if HAVE_RAW_DECL_LSTAT _GL_WARN_ON_USE (lstat, "lstat is unportable - " "use gnulib module lstat for portability"); # endif #endif #if @REPLACE_MKDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mkdir # define mkdir rpl_mkdir # endif _GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); #else /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard includes <direct.h> and <io.h>, which are included above. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # if !GNULIB_defined_rpl_mkdir static int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); } # define GNULIB_defined_rpl_mkdir 1 # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mkdir rpl_mkdir # endif _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); # else _GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode)); # endif #endif _GL_CXXALIASWARN (mkdir); #if @GNULIB_MKDIRAT@ # if !@HAVE_MKDIRAT@ _GL_FUNCDECL_SYS (mkdirat, int, (int fd, char const *file, mode_t mode) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mkdirat, int, (int fd, char const *file, mode_t mode)); _GL_CXXALIASWARN (mkdirat); #elif defined GNULIB_POSIXCHECK # undef mkdirat # if HAVE_RAW_DECL_MKDIRAT _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - " "use gnulib module openat for portability"); # endif #endif #if @GNULIB_MKFIFO@ # if @REPLACE_MKFIFO@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mkfifo # define mkfifo rpl_mkfifo # endif _GL_FUNCDECL_RPL (mkfifo, int, (char const *file, mode_t mode) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mkfifo, int, (char const *file, mode_t mode)); # else # if !@HAVE_MKFIFO@ _GL_FUNCDECL_SYS (mkfifo, int, (char const *file, mode_t mode) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (mkfifo, int, (char const *file, mode_t mode)); # endif _GL_CXXALIASWARN (mkfifo); #elif defined GNULIB_POSIXCHECK # undef mkfifo # if HAVE_RAW_DECL_MKFIFO _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - " "use gnulib module mkfifo for portability"); # endif #endif #if @GNULIB_MKFIFOAT@ # if !@HAVE_MKFIFOAT@ _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)); _GL_CXXALIASWARN (mkfifoat); #elif defined GNULIB_POSIXCHECK # undef mkfifoat # if HAVE_RAW_DECL_MKFIFOAT _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - " "use gnulib module mkfifoat for portability"); # endif #endif #if @GNULIB_MKNOD@ # if @REPLACE_MKNOD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mknod # define mknod rpl_mknod # endif _GL_FUNCDECL_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev)); # else # if !@HAVE_MKNOD@ _GL_FUNCDECL_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on OSF/1 5.1, the third parameter is '...'. */ _GL_CXXALIAS_SYS_CAST (mknod, int, (char const *file, mode_t mode, dev_t dev)); # endif _GL_CXXALIASWARN (mknod); #elif defined GNULIB_POSIXCHECK # undef mknod # if HAVE_RAW_DECL_MKNOD _GL_WARN_ON_USE (mknod, "mknod is not portable - " "use gnulib module mknod for portability"); # endif #endif #if @GNULIB_MKNODAT@ # if !@HAVE_MKNODAT@ _GL_FUNCDECL_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev)); _GL_CXXALIASWARN (mknodat); #elif defined GNULIB_POSIXCHECK # undef mknodat # if HAVE_RAW_DECL_MKNODAT _GL_WARN_ON_USE (mknodat, "mknodat is not portable - " "use gnulib module mkfifoat for portability"); # endif #endif #if @GNULIB_STAT@ # if @REPLACE_STAT@ /* We can't use the object-like #define stat rpl_stat, because of struct stat. This means that rpl_stat will not be used if the user does (stat)(a,b). Oh well. */ # if defined _AIX && defined stat && defined _LARGE_FILES /* With _LARGE_FILES defined, AIX (only) defines stat to stat64, so we have to replace stat64() instead of stat(). */ # undef stat64 # define stat64(name, st) rpl_stat (name, st) # elif @WINDOWS_64_BIT_ST_SIZE@ /* Above, we define stat to _stati64. */ # if defined __MINGW32__ && defined _stati64 # ifndef _USE_32BIT_TIME_T /* The system headers define _stati64 to _stat64. */ # undef _stat64 # define _stat64(name, st) rpl_stat (name, st) # endif # elif defined _MSC_VER && defined _stati64 # ifdef _USE_32BIT_TIME_T /* The system headers define _stati64 to _stat32i64. */ # undef _stat32i64 # define _stat32i64(name, st) rpl_stat (name, st) # else /* The system headers define _stati64 to _stat64. */ # undef _stat64 # define _stat64(name, st) rpl_stat (name, st) # endif # else # undef _stati64 # define _stati64(name, st) rpl_stat (name, st) # endif # elif defined __MINGW32__ && defined stat # ifdef _USE_32BIT_TIME_T /* The system headers define stat to _stat32i64. */ # undef _stat32i64 # define _stat32i64(name, st) rpl_stat (name, st) # else /* The system headers define stat to _stat64. */ # undef _stat64 # define _stat64(name, st) rpl_stat (name, st) # endif # elif defined _MSC_VER && defined stat # ifdef _USE_32BIT_TIME_T /* The system headers define stat to _stat32. */ # undef _stat32 # define _stat32(name, st) rpl_stat (name, st) # else /* The system headers define stat to _stat64i32. */ # undef _stat64i32 # define _stat64i32(name, st) rpl_stat (name, st) # endif # else /* !(_AIX ||__MINGW32__ || _MSC_VER) */ # undef stat # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ _GL_EXTERN_C int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2)); # endif #elif defined GNULIB_POSIXCHECK # undef stat # if HAVE_RAW_DECL_STAT _GL_WARN_ON_USE (stat, "stat is unportable - " "use gnulib module stat for portability"); # endif #endif #if @GNULIB_UTIMENSAT@ /* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat implementation relies on futimesat, which on Solaris 10 makes an invocation to utimensat that is meant to invoke the libc's utimensat(), not gnulib's utimensat(). */ # if @REPLACE_UTIMENSAT@ || (!@HAVE_UTIMENSAT@ && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef utimensat # define utimensat rpl_utimensat # endif _GL_FUNCDECL_RPL (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # else # if !@HAVE_UTIMENSAT@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # endif # if @HAVE_UTIMENSAT@ _GL_CXXALIASWARN (utimensat); # endif #elif defined GNULIB_POSIXCHECK # undef utimensat # if HAVE_RAW_DECL_UTIMENSAT _GL_WARN_ON_USE (utimensat, "utimensat is not portable - " "use gnulib module utimensat for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SYS_STAT_H */ #endif /* _@GUARD_PREFIX@_SYS_STAT_H */ #endif �����������������������������������������������������������������������coreutils-8.21/lib/fsusage.c������������������������������������������������������������������������0000664�0000000�0000000�00000024310�12071024546�012716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* fsusage.c -- return space usage of mounted file systems Copyright (C) 1991-1992, 1996, 1998-1999, 2002-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "fsusage.h" #include <limits.h> #include <sys/types.h> #if STAT_STATVFS || STAT_STATVFS64 /* POSIX 1003.1-2001 (and later) with XSI */ # include <sys/statvfs.h> #else /* Don't include backward-compatibility files unless they're needed. Eventually we'd like to remove all this cruft. */ # include <fcntl.h> # include <unistd.h> # include <sys/stat.h> #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if HAVE_SYS_MOUNT_H # include <sys/mount.h> #endif #if HAVE_SYS_VFS_H # include <sys/vfs.h> #endif # if HAVE_SYS_FS_S5PARAM_H /* Fujitsu UXP/V */ # include <sys/fs/s5param.h> # endif # if defined HAVE_SYS_FILSYS_H && !defined _CRAY # include <sys/filsys.h> /* SVR2 */ # endif # if HAVE_SYS_STATFS_H # include <sys/statfs.h> # endif # if HAVE_DUSTAT_H /* AIX PS/2 */ # include <sys/dustat.h> # endif # include "full-read.h" #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* Many space usage primitives use all 1 bits to denote a value that is not applicable or unknown. Propagate this information by returning a uintmax_t value that is all 1 bits if X is all 1 bits, even if X is unsigned and narrower than uintmax_t. */ #define PROPAGATE_ALL_ONES(x) \ ((sizeof (x) < sizeof (uintmax_t) \ && (~ (x) == (sizeof (x) < sizeof (int) \ ? - (1 << (sizeof (x) * CHAR_BIT)) \ : 0))) \ ? UINTMAX_MAX : (uintmax_t) (x)) /* Extract the top bit of X as an uintmax_t value. */ #define EXTRACT_TOP_BIT(x) ((x) \ & ((uintmax_t) 1 << (sizeof (x) * CHAR_BIT - 1))) /* If a value is negative, many space usage primitives store it into an integer variable by assignment, even if the variable's type is unsigned. So, if a space usage variable X's top bit is set, convert X to the uintmax_t value V such that (- (uintmax_t) V) is the negative of the original value. If X's top bit is clear, just yield X. Use PROPAGATE_TOP_BIT if the original value might be negative; otherwise, use PROPAGATE_ALL_ONES. */ #define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1)) #ifdef STAT_STATVFS /* Return true if statvfs works. This is false for statvfs on systems with GNU libc on Linux kernels before 2.6.36, which stats all preceding entries in /proc/mounts; that makes df hang if even one of the corresponding file systems is hard-mounted but not available. */ # if ! (__linux__ && (__GLIBC__ || __UCLIBC__)) /* The FRSIZE fallback is not required in this case. */ # undef STAT_STATFS2_FRSIZE static int statvfs_works (void) { return 1; } # else # include <string.h> /* for strverscmp */ # include <sys/utsname.h> # include <sys/statfs.h> # define STAT_STATFS2_BSIZE 1 static int statvfs_works (void) { static int statvfs_works_cache = -1; struct utsname name; if (statvfs_works_cache < 0) statvfs_works_cache = (uname (&name) == 0 && 0 <= strverscmp (name.release, "2.6.36")); return statvfs_works_cache; } # endif #endif /* Fill in the fields of FSP with information about space usage for the file system on which FILE resides. DISK is the device on which FILE is mounted, for space-getting methods that need to know it. Return 0 if successful, -1 if not. When returning -1, ensure that ERRNO is either a system error value, or zero if DISK is NULL on a system that requires a non-NULL value. */ int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) { #ifdef STAT_STATVFS /* POSIX, except pre-2.6.36 glibc/Linux */ if (statvfs_works ()) { struct statvfs vfsd; if (statvfs (file, &vfsd) < 0) return -1; /* f_frsize isn't guaranteed to be supported. */ fsp->fsu_blocksize = (vfsd.f_frsize ? PROPAGATE_ALL_ONES (vfsd.f_frsize) : PROPAGATE_ALL_ONES (vfsd.f_bsize)); fsp->fsu_blocks = PROPAGATE_ALL_ONES (vfsd.f_blocks); fsp->fsu_bfree = PROPAGATE_ALL_ONES (vfsd.f_bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (vfsd.f_bavail); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (vfsd.f_bavail) != 0; fsp->fsu_files = PROPAGATE_ALL_ONES (vfsd.f_files); fsp->fsu_ffree = PROPAGATE_ALL_ONES (vfsd.f_ffree); return 0; } #endif #if defined STAT_STATVFS64 /* AIX */ struct statvfs64 fsd; if (statvfs64 (file, &fsd) < 0) return -1; /* f_frsize isn't guaranteed to be supported. */ fsp->fsu_blocksize = (fsd.f_frsize ? PROPAGATE_ALL_ONES (fsd.f_frsize) : PROPAGATE_ALL_ONES (fsd.f_bsize)); #elif defined STAT_STATFS2_FS_DATA /* Ultrix */ struct fs_data fsd; if (statfs (file, &fsd) != 1) return -1; fsp->fsu_blocksize = 1024; fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.fd_req.btot); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.fd_req.bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.fd_req.bfreen); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0; fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree); #elif defined STAT_READ_FILSYS /* SVR2 */ # ifndef SUPERBOFF # define SUPERBOFF (SUPERB * 512) # endif struct filsys fsd; int fd; if (! disk) { errno = 0; return -1; } fd = open (disk, O_RDONLY); if (fd < 0) return -1; lseek (fd, (off_t) SUPERBOFF, 0); if (full_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd) { close (fd); return -1; } close (fd); fsp->fsu_blocksize = (fsd.s_type == Fs2b ? 1024 : 512); fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.s_fsize); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.s_tfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.s_tfree); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.s_tfree) != 0; fsp->fsu_files = (fsd.s_isize == -1 ? UINTMAX_MAX : (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1)); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode); #elif defined STAT_STATFS3_OSF1 /* OSF/1 */ struct statfs fsd; if (statfs (file, &fsd, sizeof (struct statfs)) != 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize); #elif defined STAT_STATFS2_FRSIZE /* 2.6 < glibc/Linux < 2.6.36 */ struct statfs fsd; if (statfs (file, &fsd) < 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_frsize); #elif defined STAT_STATFS2_BSIZE /* glibc/Linux < 2.6, 4.3BSD, SunOS 4, \ Mac OS X < 10.4, FreeBSD < 5.0, \ NetBSD < 3.0, OpenBSD < 4.4 */ struct statfs fsd; if (statfs (file, &fsd) < 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize); # ifdef STATFS_TRUNCATES_BLOCK_COUNTS /* In SunOS 4.1.2, 4.1.3, and 4.1.3_U1, the block counts in the struct statfs are truncated to 2GB. These conditions detect that truncation, presumably without botching the 4.1.1 case, in which the values are not truncated. The correct counts are stored in undocumented spare fields. */ if (fsd.f_blocks == 0x7fffffff / fsd.f_bsize && fsd.f_spare[0] > 0) { fsd.f_blocks = fsd.f_spare[0]; fsd.f_bfree = fsd.f_spare[1]; fsd.f_bavail = fsd.f_spare[2]; } # endif /* STATFS_TRUNCATES_BLOCK_COUNTS */ #elif defined STAT_STATFS2_FSIZE /* 4.4BSD and older NetBSD */ struct statfs fsd; if (statfs (file, &fsd) < 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize); #elif defined STAT_STATFS4 /* SVR3, Dynix, old Irix, old AIX, \ Dolphin */ # if !_AIX && !defined _SEQUENT_ && !defined DOLPHIN # define f_bavail f_bfree # endif struct statfs fsd; if (statfs (file, &fsd, sizeof fsd, 0) < 0) return -1; /* Empirically, the block counts on most SVR3 and SVR3-derived systems seem to always be in terms of 512-byte blocks, no matter what value f_bsize has. */ # if _AIX || defined _CRAY fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize); # else fsp->fsu_blocksize = 512; # endif #endif #if (defined STAT_STATVFS64 || defined STAT_STATFS3_OSF1 \ || defined STAT_STATFS2_FRSIZE || defined STAT_STATFS2_BSIZE \ || defined STAT_STATFS2_FSIZE || defined STAT_STATFS4) fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.f_bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.f_bavail); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0; fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree); #endif (void) disk; /* avoid argument-unused warning */ return 0; } #if defined _AIX && defined _I386 /* AIX PS/2 does not supply statfs. */ int statfs (char *file, struct statfs *fsb) { struct stat stats; struct dustat fsd; if (stat (file, &stats) != 0) return -1; if (dustat (stats.st_dev, 0, &fsd, sizeof (fsd))) return -1; fsb->f_type = 0; fsb->f_bsize = fsd.du_bsize; fsb->f_blocks = fsd.du_fsize - fsd.du_isize; fsb->f_bfree = fsd.du_tfree; fsb->f_bavail = fsd.du_tfree; fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb; fsb->f_ffree = fsd.du_tinode; fsb->f_fsid.val[0] = fsd.du_site; fsb->f_fsid.val[1] = fsd.du_pckno; return 0; } #endif /* _AIX && _I386 */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/opendir-safer.c������������������������������������������������������������������0000664�0000000�0000000�00000004301�12071024546�014015� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke opendir, but avoid some glitches. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> #include "dirent-safer.h" #include <errno.h> #include <unistd.h> #include "unistd-safer.h" /* Like opendir, but do not clobber stdin, stdout, or stderr. */ DIR * opendir_safer (char const *name) { DIR *dp = opendir (name); if (dp) { int fd = dirfd (dp); if (0 <= fd && fd <= STDERR_FILENO) { /* If fdopendir is native (as on Linux), then it is safe to assume dirfd(fdopendir(n))==n. If we are using the gnulib module fdopendir, then this guarantee is not met, but fdopendir recursively calls opendir_safer up to 3 times to at least get a safe fd. If fdopendir is not present but dirfd is accurate (as on cygwin 1.5.x), then we recurse up to 3 times ourselves. Finally, if dirfd always fails (as on mingw), then we are already safe. */ DIR *newdp; int e; #if HAVE_FDOPENDIR || GNULIB_FDOPENDIR int f = dup_safer (fd); if (f < 0) { e = errno; newdp = NULL; } else { newdp = fdopendir (f); e = errno; if (! newdp) close (f); } #else /* !FDOPENDIR */ newdp = opendir_safer (name); e = errno; #endif closedir (dp); errno = e; dp = newdp; } } return dp; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/closedir.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002642�12071024546�013071� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Stop reading the entries of a directory. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <dirent.h> #if REPLACE_FCHDIR # include <unistd.h> #endif #if HAVE_CLOSEDIR /* Override closedir(), to keep track of the open file descriptors. Needed because there is a function dirfd(). */ #else # include <stdlib.h> # include "dirent-private.h" #endif int closedir (DIR *dirp) { # if REPLACE_FCHDIR int fd = dirfd (dirp); # endif int retval; #if HAVE_CLOSEDIR # undef closedir retval = closedir (dirp); #else if (dirp->current != INVALID_HANDLE_VALUE) FindClose (dirp->current); free (dirp); retval = 0; #endif #if REPLACE_FCHDIR if (retval >= 0) _gl_unregister_fd (fd); #endif return retval; } ����������������������������������������������������������������������������������������������coreutils-8.21/lib/u64.h����������������������������������������������������������������������������0000664�0000000�0000000�00000007063�12071024546�011712� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* uint64_t-like operations that work even on hosts lacking uint64_t Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <stdint.h> _GL_INLINE_HEADER_BEGIN #ifndef _GL_U64_INLINE # define _GL_U64_INLINE _GL_INLINE #endif /* Return X rotated left by N bits, where 0 < N < 64. */ #define u64rol(x, n) u64or (u64shl (x, n), u64shr (x, 64 - n)) #ifdef UINT64_MAX /* Native implementations are trivial. See below for comments on what these operations do. */ typedef uint64_t u64; # define u64hilo(hi, lo) ((u64) (((u64) (hi) << 32) + (lo))) # define u64init(hi, lo) u64hilo (hi, lo) # define u64lo(x) ((u64) (x)) # define u64size(x) u64lo (x) # define u64lt(x, y) ((x) < (y)) # define u64and(x, y) ((x) & (y)) # define u64or(x, y) ((x) | (y)) # define u64xor(x, y) ((x) ^ (y)) # define u64plus(x, y) ((x) + (y)) # define u64shl(x, n) ((x) << (n)) # define u64shr(x, n) ((x) >> (n)) #else /* u64 is a 64-bit unsigned integer value. u64init (HI, LO), is like u64hilo (HI, LO), but for use in initializer contexts. */ # ifdef WORDS_BIGENDIAN typedef struct { uint32_t hi, lo; } u64; # define u64init(hi, lo) { hi, lo } # else typedef struct { uint32_t lo, hi; } u64; # define u64init(hi, lo) { lo, hi } # endif /* Given the high and low-order 32-bit quantities HI and LO, return a u64 value representing (HI << 32) + LO. */ _GL_U64_INLINE u64 u64hilo (uint32_t hi, uint32_t lo) { u64 r; r.hi = hi; r.lo = lo; return r; } /* Return a u64 value representing LO. */ _GL_U64_INLINE u64 u64lo (uint32_t lo) { u64 r; r.hi = 0; r.lo = lo; return r; } /* Return a u64 value representing SIZE. */ _GL_U64_INLINE u64 u64size (size_t size) { u64 r; r.hi = size >> 31 >> 1; r.lo = size; return r; } /* Return X < Y. */ _GL_U64_INLINE int u64lt (u64 x, u64 y) { return x.hi < y.hi || (x.hi == y.hi && x.lo < y.lo); } /* Return X & Y. */ _GL_U64_INLINE u64 u64and (u64 x, u64 y) { u64 r; r.hi = x.hi & y.hi; r.lo = x.lo & y.lo; return r; } /* Return X | Y. */ _GL_U64_INLINE u64 u64or (u64 x, u64 y) { u64 r; r.hi = x.hi | y.hi; r.lo = x.lo | y.lo; return r; } /* Return X ^ Y. */ _GL_U64_INLINE u64 u64xor (u64 x, u64 y) { u64 r; r.hi = x.hi ^ y.hi; r.lo = x.lo ^ y.lo; return r; } /* Return X + Y. */ _GL_U64_INLINE u64 u64plus (u64 x, u64 y) { u64 r; r.lo = x.lo + y.lo; r.hi = x.hi + y.hi + (r.lo < x.lo); return r; } /* Return X << N. */ _GL_U64_INLINE u64 u64shl (u64 x, int n) { u64 r; if (n < 32) { r.hi = (x.hi << n) | (x.lo >> (32 - n)); r.lo = x.lo << n; } else { r.hi = x.lo << (n - 32); r.lo = 0; } return r; } /* Return X >> N. */ _GL_U64_INLINE u64 u64shr (u64 x, int n) { u64 r; if (n < 32) { r.hi = x.hi >> n; r.lo = (x.hi << (32 - n)) | (x.lo >> n); } else { r.hi = 0; r.lo = x.hi >> (n - 32); } return r; } #endif _GL_INLINE_HEADER_END �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/file-set.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004060�12071024546�012771� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Specialized functions to manipulate a set of files. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include "file-set.h" #include "hash-triple.h" #include "xalloc.h" /* Record file, FILE, and dev/ino from *STATS, in the hash table, HT. If HT is NULL, return immediately. If memory allocation fails, exit immediately. */ void record_file (Hash_table *ht, char const *file, struct stat const *stats) { struct F_triple *ent; if (ht == NULL) return; ent = xmalloc (sizeof *ent); ent->name = xstrdup (file); ent->st_ino = stats->st_ino; ent->st_dev = stats->st_dev; { struct F_triple *ent_from_table = hash_insert (ht, ent); if (ent_from_table == NULL) { /* Insertion failed due to lack of memory. */ xalloc_die (); } if (ent_from_table != ent) { /* There was alread a matching entry in the table, so ENT was not inserted. Free it. */ triple_free (ent); } } } /* Return true if there is an entry in hash table, HT, for the file described by FILE and STATS. */ bool seen_file (Hash_table const *ht, char const *file, struct stat const *stats) { struct F_triple new_ent; if (ht == NULL) return false; new_ent.name = (char *) file; new_ent.st_ino = stats->st_ino; new_ent.st_dev = stats->st_dev; return !!hash_lookup (ht, &new_ent); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirname-lgpl.c�������������������������������������������������������������������0000664�0000000�0000000�00000006120�12071024546�013633� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* dirname.c -- return all but the last element in a file name Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "dirname.h" #include <stdlib.h> #include <string.h> /* Return the length of the prefix of FILE that will be used by dir_name. If FILE is in the working directory, this returns zero even though 'dir_name (FILE)' will return ".". Works properly even if there are trailing slashes (by effectively ignoring them). */ size_t dir_len (char const *file) { size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file); size_t length; /* Advance prefix_length beyond important leading slashes. */ prefix_length += (prefix_length != 0 ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && ISSLASH (file[prefix_length])) : (ISSLASH (file[0]) ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT && ISSLASH (file[1]) && ! ISSLASH (file[2]) ? 2 : 1)) : 0)); /* Strip the basename and any redundant slashes before it. */ for (length = last_component (file) - file; prefix_length < length; length--) if (! ISSLASH (file[length - 1])) break; return length; } /* In general, we can't use the builtin 'dirname' function if available, since it has different meanings in different environments. In some environments the builtin 'dirname' modifies its argument. Return the leading directories part of FILE, allocated with malloc. Works properly even if there are trailing slashes (by effectively ignoring them). Return NULL on failure. If lstat (FILE) would succeed, then { chdir (dir_name (FILE)); lstat (base_name (FILE)); } will access the same file. Likewise, if the sequence { chdir (dir_name (FILE)); rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE to "foo" in the same directory FILE was in. */ char * mdir_name (char const *file) { size_t length = dir_len (file); bool append_dot = (length == 0 || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && length == FILE_SYSTEM_PREFIX_LEN (file) && file[2] != '\0' && ! ISSLASH (file[2]))); char *dir = malloc (length + append_dot + 1); if (!dir) return NULL; memcpy (dir, file, length); if (append_dot) dir[length++] = '.'; dir[length] = '\0'; return dir; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xgetcwd.h������������������������������������������������������������������������0000664�0000000�0000000�00000001412�12071024546�012731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* prototype for xgetcwd Copyright (C) 1995, 2001, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ extern char *xgetcwd (void); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_ioctl.in.h�������������������������������������������������������������������0000664�0000000�0000000�00000004707�12071561014�013707� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for and wrapper around <sys/ioctl.h>. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SYS_IOCTL_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SYS_IOCTL_H@ # @INCLUDE_NEXT@ @NEXT_SYS_IOCTL_H@ #endif #ifndef _@GUARD_PREFIX@_SYS_IOCTL_H #define _@GUARD_PREFIX@_SYS_IOCTL_H /* AIX 5.1 and Solaris 10 declare ioctl() in <unistd.h> and in <stropts.h>, but not in <sys/ioctl.h>. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ # include <unistd.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declare overridden functions. */ #if @GNULIB_IOCTL@ # if @REPLACE_IOCTL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef ioctl # define ioctl rpl_ioctl # endif _GL_FUNCDECL_RPL (ioctl, int, (int fd, int request, ... /* {void *,char *} arg */)); _GL_CXXALIAS_RPL (ioctl, int, (int fd, int request, ... /* {void *,char *} arg */)); # else # if @SYS_IOCTL_H_HAVE_WINSOCK2_H@ || 1 _GL_FUNCDECL_SYS (ioctl, int, (int fd, int request, ... /* {void *,char *} arg */)); # endif _GL_CXXALIAS_SYS (ioctl, int, (int fd, int request, ... /* {void *,char *} arg */)); # endif _GL_CXXALIASWARN (ioctl); #elif @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ # undef ioctl # define ioctl ioctl_used_without_requesting_gnulib_module_ioctl #elif defined GNULIB_POSIXCHECK # undef ioctl # if HAVE_RAW_DECL_IOCTL _GL_WARN_ON_USE (ioctl, "ioctl does not portably work on sockets - " "use gnulib module ioctl for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SYS_IOCTL_H */ #endif /* _@GUARD_PREFIX@_SYS_IOCTL_H */ ���������������������������������������������������������coreutils-8.21/lib/strtol.c�������������������������������������������������������������������������0000664�0000000�0000000�00000025666�12071024546�012627� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string representation of a number into an integer value. Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef _LIBC # define USE_NUMBER_GROUPING #else # include <config.h> #endif #include <ctype.h> #include <errno.h> #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include <limits.h> #include <stddef.h> #include <stdlib.h> #include <string.h> #ifdef USE_NUMBER_GROUPING # include "../locale/localeinfo.h" #endif /* Nonzero if we are defining 'strtoul' or 'strtoull', operating on unsigned integers. */ #ifndef UNSIGNED # define UNSIGNED 0 # define INT LONG int #else # define INT unsigned LONG int #endif /* Determine the name. */ #ifdef USE_IN_EXTENDED_LOCALE_MODEL # if UNSIGNED # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol __wcstoull_l # else # define strtol __wcstoul_l # endif # else # ifdef QUAD # define strtol __strtoull_l # else # define strtol __strtoul_l # endif # endif # else # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol __wcstoll_l # else # define strtol __wcstol_l # endif # else # ifdef QUAD # define strtol __strtoll_l # else # define strtol __strtol_l # endif # endif # endif #else # if UNSIGNED # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol wcstoull # else # define strtol wcstoul # endif # else # ifdef QUAD # define strtol strtoull # else # define strtol strtoul # endif # endif # else # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol wcstoll # else # define strtol wcstol # endif # else # ifdef QUAD # define strtol strtoll # endif # endif # endif #endif /* If QUAD is defined, we are defining 'strtoll' or 'strtoull', operating on 'long long int's. */ #ifdef QUAD # define LONG long long # define STRTOL_LONG_MIN LLONG_MIN # define STRTOL_LONG_MAX LLONG_MAX # define STRTOL_ULONG_MAX ULLONG_MAX /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ # define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) # define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) # define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the arithmetic type T is signed. */ # define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ # define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ TYPE_MAXIMUM (t))) # define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) # ifndef ULLONG_MAX # define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) # endif # ifndef LLONG_MAX # define LLONG_MAX TYPE_MAXIMUM (long long int) # endif # ifndef LLONG_MIN # define LLONG_MIN TYPE_MINIMUM (long long int) # endif # if __GNUC__ == 2 && __GNUC_MINOR__ < 7 /* Work around gcc bug with using this constant. */ static const unsigned long long int maxquad = ULLONG_MAX; # undef STRTOL_ULONG_MAX # define STRTOL_ULONG_MAX maxquad # endif #else # define LONG long # define STRTOL_LONG_MIN LONG_MIN # define STRTOL_LONG_MAX LONG_MAX # define STRTOL_ULONG_MAX ULONG_MAX #endif /* We use this code also for the extended locale handling where the function gets as an additional argument the locale which has to be used. To access the values we have to redefine the _NL_CURRENT macro. */ #ifdef USE_IN_EXTENDED_LOCALE_MODEL # undef _NL_CURRENT # define _NL_CURRENT(category, item) \ (current->values[_NL_ITEM_INDEX (item)].string) # define LOCALE_PARAM , loc # define LOCALE_PARAM_PROTO , __locale_t loc #else # define LOCALE_PARAM # define LOCALE_PARAM_PROTO #endif #ifdef USE_WIDE_CHAR # include <wchar.h> # include <wctype.h> # define L_(Ch) L##Ch # define UCHAR_TYPE wint_t # define STRING_TYPE wchar_t # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define ISSPACE(Ch) __iswspace_l ((Ch), loc) # define ISALPHA(Ch) __iswalpha_l ((Ch), loc) # define TOUPPER(Ch) __towupper_l ((Ch), loc) # else # define ISSPACE(Ch) iswspace (Ch) # define ISALPHA(Ch) iswalpha (Ch) # define TOUPPER(Ch) towupper (Ch) # endif #else # define L_(Ch) Ch # define UCHAR_TYPE unsigned char # define STRING_TYPE char # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define ISSPACE(Ch) __isspace_l ((Ch), loc) # define ISALPHA(Ch) __isalpha_l ((Ch), loc) # define TOUPPER(Ch) __toupper_l ((Ch), loc) # else # define ISSPACE(Ch) isspace (Ch) # define ISALPHA(Ch) isalpha (Ch) # define TOUPPER(Ch) toupper (Ch) # endif #endif #define INTERNAL(X) INTERNAL1(X) #define INTERNAL1(X) __##X##_internal #define WEAKNAME(X) WEAKNAME1(X) #ifdef USE_NUMBER_GROUPING /* This file defines a function to check for correct grouping. */ # include "grouping.h" #endif /* Convert NPTR to an 'unsigned long int' or 'long int' in base BASE. If BASE is 0 the base is determined by the presence of a leading zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal. If BASE is < 2 or > 36, it is reset to 10. If ENDPTR is not NULL, a pointer to the character after the last one converted is stored in *ENDPTR. */ INT INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr, int base, int group LOCALE_PARAM_PROTO) { int negative; register unsigned LONG int cutoff; register unsigned int cutlim; register unsigned LONG int i; register const STRING_TYPE *s; register UCHAR_TYPE c; const STRING_TYPE *save, *end; int overflow; #ifdef USE_NUMBER_GROUPING # ifdef USE_IN_EXTENDED_LOCALE_MODEL struct locale_data *current = loc->__locales[LC_NUMERIC]; # endif /* The thousands character of the current locale. */ wchar_t thousands = L'\0'; /* The numeric grouping specification of the current locale, in the format described in <locale.h>. */ const char *grouping; if (group) { grouping = _NL_CURRENT (LC_NUMERIC, GROUPING); if (*grouping <= 0 || *grouping == CHAR_MAX) grouping = NULL; else { /* Figure out the thousands separator character. */ # if defined _LIBC || defined _HAVE_BTOWC thousands = __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP)); if (thousands == WEOF) thousands = L'\0'; # endif if (thousands == L'\0') grouping = NULL; } } else grouping = NULL; #endif if (base < 0 || base == 1 || base > 36) { __set_errno (EINVAL); return 0; } save = s = nptr; /* Skip white space. */ while (ISSPACE (*s)) ++s; if (*s == L_('\0')) goto noconv; /* Check for a sign. */ if (*s == L_('-')) { negative = 1; ++s; } else if (*s == L_('+')) { negative = 0; ++s; } else negative = 0; /* Recognize number prefix and if BASE is zero, figure it out ourselves. */ if (*s == L_('0')) { if ((base == 0 || base == 16) && TOUPPER (s[1]) == L_('X')) { s += 2; base = 16; } else if (base == 0) base = 8; } else if (base == 0) base = 10; /* Save the pointer so we can check later if anything happened. */ save = s; #ifdef USE_NUMBER_GROUPING if (group) { /* Find the end of the digit string and check its grouping. */ end = s; for (c = *end; c != L_('\0'); c = *++end) if ((wchar_t) c != thousands && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9')) && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base)) break; if (*s == thousands) end = s; else end = correctly_grouped_prefix (s, end, thousands, grouping); } else #endif end = NULL; cutoff = STRTOL_ULONG_MAX / (unsigned LONG int) base; cutlim = STRTOL_ULONG_MAX % (unsigned LONG int) base; overflow = 0; i = 0; for (c = *s; c != L_('\0'); c = *++s) { if (s == end) break; if (c >= L_('0') && c <= L_('9')) c -= L_('0'); else if (ISALPHA (c)) c = TOUPPER (c) - L_('A') + 10; else break; if ((int) c >= base) break; /* Check for overflow. */ if (i > cutoff || (i == cutoff && c > cutlim)) overflow = 1; else { i *= (unsigned LONG int) base; i += c; } } /* Check if anything actually happened. */ if (s == save) goto noconv; /* Store in ENDPTR the address of one character past the last character we converted. */ if (endptr != NULL) *endptr = (STRING_TYPE *) s; #if !UNSIGNED /* Check for a value that is within the range of 'unsigned LONG int', but outside the range of 'LONG int'. */ if (overflow == 0 && i > (negative ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1 : (unsigned LONG int) STRTOL_LONG_MAX)) overflow = 1; #endif if (overflow) { __set_errno (ERANGE); #if UNSIGNED return STRTOL_ULONG_MAX; #else return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX; #endif } /* Return the result of the appropriate sign. */ return negative ? -i : i; noconv: /* We must handle a special case here: the base is 0 or 16 and the first two characters are '0' and 'x', but the rest are no hexadecimal digits. This is no error case. We return 0 and ENDPTR points to the 'x'. */ if (endptr != NULL) { if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X') && save[-2] == L_('0')) *endptr = (STRING_TYPE *) &save[-1]; else /* There was no number to convert. */ *endptr = (STRING_TYPE *) nptr; } return 0L; } /* External user entry point. */ INT #ifdef weak_function weak_function #endif strtol (const STRING_TYPE *nptr, STRING_TYPE **endptr, int base LOCALE_PARAM_PROTO) { return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM); } ��������������������������������������������������������������������������coreutils-8.21/lib/isnand-nolibm.h������������������������������������������������������������������0000664�0000000�0000000�00000002216�12071024546�014021� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for NaN that does not need libm. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if HAVE_ISNAND_IN_LIBC /* Get declaration of isnan macro. */ # include <math.h> # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) # else # undef isnand # define isnand(x) isnan ((double)(x)) # endif #else /* Test whether X is a NaN. */ # undef isnand # define isnand rpl_isnand extern int isnand (double x); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randread.c�����������������������������������������������������������������������0000664�0000000�0000000�00000023120�12102337340�013031� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate buffers of random data. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ /* FIXME: Improve performance by adding support for the RDRAND machine instruction if available (e.g., Ivy Bridge processors). */ #include <config.h> #include "randread.h" #include <errno.h> #include <error.h> #include <exitfail.h> #include <fcntl.h> #include <quotearg.h> #include <stdalign.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/time.h> #include <unistd.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "rand-isaac.h" #include "stdio-safer.h" #include "unlocked-io.h" #include "xalloc.h" #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) /* empty */ # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #if _STRING_ARCH_unaligned # define ALIGNED_POINTER(ptr, type) true #else # define ALIGNED_POINTER(ptr, type) ((size_t) (ptr) % alignof (type) == 0) #endif #ifndef NAME_OF_NONCE_DEVICE # define NAME_OF_NONCE_DEVICE "/dev/urandom" #endif /* The maximum buffer size used for reads of random data. Using the value 2 * ISAAC_BYTES makes this the largest power of two that would not otherwise cause struct randread_source to grow. */ #define RANDREAD_BUFFER_SIZE (2 * ISAAC_BYTES) /* A source of random data for generating random buffers. */ struct randread_source { /* Stream to read random bytes from. If null, the current implementation uses an internal PRNG (ISAAC). */ FILE *source; /* Function to call, and its argument, if there is an input error or end of file when reading from the stream; errno is nonzero if there was an error. If this function returns, it should fix the problem before returning. The default handler assumes that handler_arg is the file name of the source. */ void (*handler) (void const *); void const *handler_arg; /* The buffer for SOURCE. It's kept here to simplify storage allocation and to make it easier to clear out buffered random data. */ union { /* The stream buffer, if SOURCE is not null. */ char c[RANDREAD_BUFFER_SIZE]; /* The buffered ISAAC pseudorandom buffer, if SOURCE is null. */ struct isaac { /* The number of bytes that are buffered at the end of data.b. */ size_t buffered; /* State of the ISAAC generator. */ struct isaac_state state; /* Up to a buffer's worth of pseudorandom data. */ union { isaac_word w[ISAAC_WORDS]; unsigned char b[ISAAC_BYTES]; } data; } isaac; } buf; }; /* The default error handler. */ static void ATTRIBUTE_NORETURN randread_error (void const *file_name) { if (file_name) error (exit_failure, errno, _(errno == 0 ? "%s: end of file" : "%s: read error"), quotearg_colon (file_name)); abort (); } /* Simply return a new randread_source object with the default error handler. */ static struct randread_source * simple_new (FILE *source, void const *handler_arg) { struct randread_source *s = xmalloc (sizeof *s); s->source = source; s->handler = randread_error; s->handler_arg = handler_arg; return s; } /* Put a nonce value into BUFFER, with size BUFSIZE, but do not get more than BYTES_BOUND bytes' worth of random information from any nonce device. */ static void get_nonce (void *buffer, size_t bufsize, size_t bytes_bound) { char *buf = buffer; ssize_t seeded = 0; /* Get some data from FD if available. */ int fd = open (NAME_OF_NONCE_DEVICE, O_RDONLY | O_BINARY); if (0 <= fd) { seeded = read (fd, buf, MIN (bufsize, bytes_bound)); if (seeded < 0) seeded = 0; close (fd); } /* If there's no nonce device, use a poor approximation by getting the time of day, etc. */ #define ISAAC_SEED(type, initialize_v) \ if (seeded < bufsize) \ { \ type v; \ size_t nbytes = MIN (sizeof v, bufsize - seeded); \ initialize_v; \ memcpy (buf + seeded, &v, nbytes); \ seeded += nbytes; \ } ISAAC_SEED (struct timeval, gettimeofday (&v, NULL)); ISAAC_SEED (pid_t, v = getpid ()); ISAAC_SEED (pid_t, v = getppid ()); ISAAC_SEED (uid_t, v = getuid ()); ISAAC_SEED (uid_t, v = getgid ()); #ifdef lint /* Normally we like having the extra randomness from uninitialized parts of BUFFER. However, omit this randomness if we want to avoid false-positives from memory-checking debugging tools. */ memset (buf + seeded, 0, bufsize - seeded); #endif } /* Create and initialize a random data source from NAME, or use a reasonable default source if NAME is null. BYTES_BOUND is an upper bound on the number of bytes that will be needed. If zero, it is a hard bound; otherwise it is just an estimate. If NAME is not null, NAME is saved for use as the argument of the default handler. Unless a non-default handler is used, NAME's lifetime should be at least that of the returned value. Return NULL (setting errno) on failure. */ struct randread_source * randread_new (char const *name, size_t bytes_bound) { if (bytes_bound == 0) return simple_new (NULL, NULL); else { FILE *source = NULL; struct randread_source *s; if (name) if (! (source = fopen_safer (name, "rb"))) return NULL; s = simple_new (source, name); if (source) setvbuf (source, s->buf.c, _IOFBF, MIN (sizeof s->buf.c, bytes_bound)); else { s->buf.isaac.buffered = 0; get_nonce (s->buf.isaac.state.m, sizeof s->buf.isaac.state.m, bytes_bound); isaac_seed (&s->buf.isaac.state); } return s; } } /* Set S's handler and its argument. HANDLER (HANDLER_ARG) is called when there is a read error or end of file from the random data source; errno is nonzero if there was an error. If HANDLER returns, it should fix the problem before returning. The default handler assumes that handler_arg is the file name of the source; it does not return. */ void randread_set_handler (struct randread_source *s, void (*handler) (void const *)) { s->handler = handler; } void randread_set_handler_arg (struct randread_source *s, void const *handler_arg) { s->handler_arg = handler_arg; } /* Place SIZE random bytes into the buffer beginning at P, using the stream in S. */ static void readsource (struct randread_source *s, unsigned char *p, size_t size) { while (true) { size_t inbytes = fread (p, sizeof *p, size, s->source); int fread_errno = errno; p += inbytes; size -= inbytes; if (size == 0) break; errno = (ferror (s->source) ? fread_errno : 0); s->handler (s->handler_arg); } } /* Place SIZE pseudorandom bytes into the buffer beginning at P, using the buffered ISAAC generator in ISAAC. */ static void readisaac (struct isaac *isaac, unsigned char *p, size_t size) { size_t inbytes = isaac->buffered; while (true) { if (size <= inbytes) { memcpy (p, isaac->data.b + ISAAC_BYTES - inbytes, size); isaac->buffered = inbytes - size; return; } memcpy (p, isaac->data.b + ISAAC_BYTES - inbytes, inbytes); p += inbytes; size -= inbytes; /* If P is aligned, write to *P directly to avoid the overhead of copying from the buffer. */ if (ALIGNED_POINTER (p, isaac_word)) { isaac_word *wp = (isaac_word *) p; while (ISAAC_BYTES <= size) { isaac_refill (&isaac->state, wp); wp += ISAAC_WORDS; size -= ISAAC_BYTES; if (size == 0) { isaac->buffered = 0; return; } } p = (unsigned char *) wp; } isaac_refill (&isaac->state, isaac->data.w); inbytes = ISAAC_BYTES; } } /* Consume random data from *S to generate a random buffer BUF of size SIZE. */ void randread (struct randread_source *s, void *buf, size_t size) { if (s->source) readsource (s, buf, size); else readisaac (&s->buf.isaac, buf, size); } /* Clear *S so that it no longer contains undelivered random data, and deallocate any system resources associated with *S. Return 0 if successful, a negative number (setting errno) if not (this is rare, but can occur in theory if there is an input error). */ int randread_free (struct randread_source *s) { FILE *source = s->source; memset (s, 0, sizeof *s); free (s); return (source ? fclose (source) : 0); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unsetenv.c�����������������������������������������������������������������������0000664�0000000�0000000�00000005472�12071024546�013140� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the name == NULL test below. */ #define _GL_ARG_NONNULL(params) /* Specification. */ #include <stdlib.h> #include <errno.h> #if !_LIBC # define __set_errno(ev) ((errno) = (ev)) #endif #include <string.h> #include <unistd.h> #if !_LIBC # define __environ environ #endif #if _LIBC /* This lock protects against simultaneous modifications of 'environ'. */ # include <bits/libc-lock.h> __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif /* In the GNU C library we must keep the namespace clean. */ #ifdef _LIBC # define unsetenv __unsetenv #endif #if _LIBC || !HAVE_UNSETENV int unsetenv (const char *name) { size_t len; char **ep; if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) { __set_errno (EINVAL); return -1; } len = strlen (name); LOCK; ep = __environ; while (*ep != NULL) if (!strncmp (*ep, name, len) && (*ep)[len] == '=') { /* Found it. Remove this pointer by moving later ones back. */ char **dp = ep; do dp[0] = dp[1]; while (*dp++); /* Continue the loop in case NAME appears again. */ } else ++ep; UNLOCK; return 0; } #ifdef _LIBC # undef unsetenv weak_alias (__unsetenv, unsetenv) #endif #else /* HAVE_UNSETENV */ # undef unsetenv # if !HAVE_DECL_UNSETENV # if VOID_UNSETENV extern void unsetenv (const char *); # else extern int unsetenv (const char *); # endif # endif /* Call the underlying unsetenv, in case there is hidden bookkeeping that needs updating beyond just modifying environ. */ int rpl_unsetenv (const char *name) { int result = 0; if (!name || !*name || strchr (name, '=')) { errno = EINVAL; return -1; } while (getenv (name)) # if !VOID_UNSETENV result = # endif unsetenv (name); return result; } #endif /* HAVE_UNSETENV */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/symlink.c������������������������������������������������������������������������0000664�0000000�0000000�00000002631�12071024546�012751� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Stub for symlink(). Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/stat.h> #if HAVE_SYMLINK # undef symlink /* Create a symlink, but reject trailing slash. */ int rpl_symlink (char const *contents, char const *name) { size_t len = strlen (name); if (len && name[len - 1] == '/') { struct stat st; if (lstat (name, &st) == 0) errno = EEXIST; return -1; } return symlink (contents, name); } #else /* !HAVE_SYMLINK */ /* The system does not support symlinks. */ int symlink (char const *contents _GL_UNUSED, char const *name _GL_UNUSED) { errno = ENOSYS; return -1; } #endif /* !HAVE_SYMLINK */ �������������������������������������������������������������������������������������������������������coreutils-8.21/lib/human.h��������������������������������������������������������������������������0000664�0000000�0000000�00000005372�12071024546�012405� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* human.h -- print human readable file size Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Larry McVoy. */ #ifndef HUMAN_H_ # define HUMAN_H_ 1 # include <limits.h> # include <stdbool.h> # include <stdint.h> # include <unistd.h> # include <xstrtol.h> /* A conservative bound on the maximum length of a human-readable string. The output can be the square of the largest uintmax_t, so double its size before converting to a bound. log10 (2.0) < 146/485. Add 1 for integer division truncation. Also, the output can have a thousands separator between every digit, so multiply by MB_LEN_MAX + 1 and then subtract MB_LEN_MAX. Append 1 for a space before the suffix. Finally, append 3, the maximum length of a suffix. */ # define LONGEST_HUMAN_READABLE \ ((2 * sizeof (uintmax_t) * CHAR_BIT * 146 / 485 + 1) * (MB_LEN_MAX + 1) \ - MB_LEN_MAX + 1 + 3) /* Options for human_readable. */ enum { /* Unless otherwise specified these options may be ORed together. */ /* The following three options are mutually exclusive. */ /* Round to plus infinity (default). */ human_ceiling = 0, /* Round to nearest, ties to even. */ human_round_to_nearest = 1, /* Round to minus infinity. */ human_floor = 2, /* Group digits together, e.g. "1,000,000". This uses the locale-defined grouping; the traditional C locale does not group, so this has effect only if some other locale is in use. */ human_group_digits = 4, /* When autoscaling, suppress ".0" at end. */ human_suppress_point_zero = 8, /* Scale output and use SI-style units, ignoring the output block size. */ human_autoscale = 16, /* Prefer base 1024 to base 1000. */ human_base_1024 = 32, /* Prepend " " before unit symbol. */ human_space_before_unit = 64, /* Append SI prefix, e.g. "k" or "M". */ human_SI = 128, /* Append "B" (if base 1000) or "iB" (if base 1024) to SI prefix. */ human_B = 256 }; char *human_readable (uintmax_t, char *, int, uintmax_t, uintmax_t); enum strtol_error human_options (char const *, int *, uintmax_t *); #endif /* HUMAN_H_ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbrtowc.c������������������������������������������������������������������������0000664�0000000�0000000�00000025143�12071024546�012743� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert multibyte character to wide character. Copyright (C) 1999-2002, 2005-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #if GNULIB_defined_mbstate_t /* Implement mbrtowc() on top of mbtowc(). */ # include <errno.h> # include <stdlib.h> # include "localcharset.h" # include "streq.h" # include "verify.h" verify (sizeof (mbstate_t) >= 4); static char internal_state[4]; size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { char *pstate = (char *)ps; if (s == NULL) { pwc = NULL; s = ""; n = 1; } if (n == 0) return (size_t)(-2); /* Here n > 0. */ if (pstate == NULL) pstate = internal_state; { size_t nstate = pstate[0]; char buf[4]; const char *p; size_t m; switch (nstate) { case 0: p = s; m = n; break; case 3: buf[2] = pstate[3]; /*FALLTHROUGH*/ case 2: buf[1] = pstate[2]; /*FALLTHROUGH*/ case 1: buf[0] = pstate[1]; p = buf; m = nstate; buf[m++] = s[0]; if (n >= 2 && m < 4) { buf[m++] = s[1]; if (n >= 3 && m < 4) buf[m++] = s[2]; } break; default: errno = EINVAL; return (size_t)(-1); } /* Here m > 0. */ # if __GLIBC__ || defined __UCLIBC__ /* Work around bug <http://sourceware.org/bugzilla/show_bug.cgi?id=9674> */ mbtowc (NULL, NULL, 0); # endif { int res = mbtowc (pwc, p, m); if (res >= 0) { if (pwc != NULL && ((*pwc == 0) != (res == 0))) abort (); if (nstate >= (res > 0 ? res : 1)) abort (); res -= nstate; pstate[0] = 0; return res; } /* mbtowc does not distinguish between invalid and incomplete multibyte sequences. But mbrtowc needs to make this distinction. There are two possible approaches: - Use iconv() and its return value. - Use built-in knowledge about the possible encodings. Given the low quality of implementation of iconv() on the systems that lack mbrtowc(), we use the second approach. The possible encodings are: - 8-bit encodings, - EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS, - UTF-8. Use specialized code for each. */ if (m >= 4 || m >= MB_CUR_MAX) goto invalid; /* Here MB_CUR_MAX > 1 and 0 < m < 4. */ { const char *encoding = locale_charset (); if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0)) { /* Cf. unistr/u8-mblen.c. */ unsigned char c = (unsigned char) p[0]; if (c >= 0xc2) { if (c < 0xe0) { if (m == 1) goto incomplete; } else if (c < 0xf0) { if (m == 1) goto incomplete; if (m == 2) { unsigned char c2 = (unsigned char) p[1]; if ((c2 ^ 0x80) < 0x40 && (c >= 0xe1 || c2 >= 0xa0) && (c != 0xed || c2 < 0xa0)) goto incomplete; } } else if (c <= 0xf4) { if (m == 1) goto incomplete; else /* m == 2 || m == 3 */ { unsigned char c2 = (unsigned char) p[1]; if ((c2 ^ 0x80) < 0x40 && (c >= 0xf1 || c2 >= 0x90) && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) { if (m == 2) goto incomplete; else /* m == 3 */ { unsigned char c3 = (unsigned char) p[2]; if ((c3 ^ 0x80) < 0x40) goto incomplete; } } } } } goto invalid; } /* As a reference for this code, you can use the GNU libiconv implementation. Look for uses of the RET_TOOFEW macro. */ if (STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0xa1 && c < 0xff) || c == 0x8e || c == 0x8f) goto incomplete; } if (m == 2) { unsigned char c = (unsigned char) p[0]; if (c == 0x8f) { unsigned char c2 = (unsigned char) p[1]; if (c2 >= 0xa1 && c2 < 0xff) goto incomplete; } } goto invalid; } if (STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if (c >= 0xa1 && c < 0xff) goto incomplete; } goto invalid; } if (STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0xa1 && c < 0xff) || c == 0x8e) goto incomplete; } else /* m == 2 || m == 3 */ { unsigned char c = (unsigned char) p[0]; if (c == 0x8e) goto incomplete; } goto invalid; } if (STREQ_OPT (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0x90 && c <= 0xe3) || (c >= 0xf8 && c <= 0xfe)) goto incomplete; } else /* m == 2 || m == 3 */ { unsigned char c = (unsigned char) p[0]; if (c >= 0x90 && c <= 0xe3) { unsigned char c2 = (unsigned char) p[1]; if (c2 >= 0x30 && c2 <= 0x39) { if (m == 2) goto incomplete; else /* m == 3 */ { unsigned char c3 = (unsigned char) p[2]; if (c3 >= 0x81 && c3 <= 0xfe) goto incomplete; } } } } goto invalid; } if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0)) { if (m == 1) { unsigned char c = (unsigned char) p[0]; if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea) || (c >= 0xf0 && c <= 0xf9)) goto incomplete; } goto invalid; } /* An unknown multibyte encoding. */ goto incomplete; } incomplete: { size_t k = nstate; /* Here 0 <= k < m < 4. */ pstate[++k] = s[0]; if (k < m) { pstate[++k] = s[1]; if (k < m) pstate[++k] = s[2]; } if (k != m) abort (); } pstate[0] = m; return (size_t)(-2); invalid: errno = EILSEQ; /* The conversion state is undefined, says POSIX. */ return (size_t)(-1); } } } #else /* Override the system's mbrtowc() function. */ # undef mbrtowc size_t rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { # if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG if (s == NULL) { pwc = NULL; s = ""; n = 1; } # endif # if MBRTOWC_RETVAL_BUG { static mbstate_t internal_state; /* Override mbrtowc's internal state. We cannot call mbsinit() on the hidden internal state, but we can call it on our variable. */ if (ps == NULL) ps = &internal_state; if (!mbsinit (ps)) { /* Parse the rest of the multibyte character byte for byte. */ size_t count = 0; for (; n > 0; s++, n--) { wchar_t wc; size_t ret = mbrtowc (&wc, s, 1, ps); if (ret == (size_t)(-1)) return (size_t)(-1); count++; if (ret != (size_t)(-2)) { /* The multibyte character has been completed. */ if (pwc != NULL) *pwc = wc; return (wc == 0 ? 0 : count); } } return (size_t)(-2); } } # endif # if MBRTOWC_NUL_RETVAL_BUG { wchar_t wc; size_t ret = mbrtowc (&wc, s, n, ps); if (ret != (size_t)(-1) && ret != (size_t)(-2)) { if (pwc != NULL) *pwc = wc; if (wc == 0) ret = 0; } return ret; } # else { # if MBRTOWC_NULL_ARG1_BUG wchar_t dummy; if (pwc == NULL) pwc = &dummy; # endif return mbrtowc (pwc, s, n, ps); } # endif } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fd-hook.h������������������������������������������������������������������������0000664�0000000�0000000�00000011351�12071561007�012614� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Hook for making making file descriptor functions close(), ioctl() extensible. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef FD_HOOK_H #define FD_HOOK_H #ifdef __cplusplus extern "C" { #endif /* Currently, this entire code is only needed for the handling of sockets on native Windows platforms. */ #if WINDOWS_SOCKETS /* Type of function that closes FD. */ typedef int (*gl_close_fn) (int fd); /* Type of function that applies a control request to FD. */ typedef int (*gl_ioctl_fn) (int fd, int request, void *arg); /* An element of the list of file descriptor hooks. In CLOS (Common Lisp Object System) speak, it consists of an "around" method for the close() function and an "around" method for the ioctl() function. The fields of this structure are considered private. */ struct fd_hook { /* Doubly linked list. */ struct fd_hook *private_next; struct fd_hook *private_prev; /* Function that treats the types of FD that it knows about and calls execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */ int (*private_close_fn) (const struct fd_hook *remaining_list, gl_close_fn primary, int fd); /* Function that treats the types of FD that it knows about and calls execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a fallback. */ int (*private_ioctl_fn) (const struct fd_hook *remaining_list, gl_ioctl_fn primary, int fd, int request, void *arg); }; /* This type of function closes FD, applying special knowledge for the FD types it knows about, and calls execute_close_hooks (REMAINING_LIST, PRIMARY, FD) for the other FD types. In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, and PRIMARY is the "primary" method for close(). */ typedef int (*close_hook_fn) (const struct fd_hook *remaining_list, gl_close_fn primary, int fd); /* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method. Return 0 or -1, like close() would do. */ extern int execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary, int fd); /* Execute all close hooks, with PRIMARY as "primary" method. Return 0 or -1, like close() would do. */ extern int execute_all_close_hooks (gl_close_fn primary, int fd); /* This type of function applies a control request to FD, applying special knowledge for the FD types it knows about, and calls execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) for the other FD types. In CLOS speak, REMAINING_LIST is the remaining list of "around" methods, and PRIMARY is the "primary" method for ioctl(). */ typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list, gl_ioctl_fn primary, int fd, int request, void *arg); /* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method. Return 0 or -1, like ioctl() would do. */ extern int execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary, int fd, int request, void *arg); /* Execute all ioctl hooks, with PRIMARY as "primary" method. Return 0 or -1, like ioctl() would do. */ extern int execute_all_ioctl_hooks (gl_ioctl_fn primary, int fd, int request, void *arg); /* Add a function pair to the list of file descriptor hooks. CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change. The LINK variable points to a piece of memory which is guaranteed to be accessible until the corresponding call to unregister_fd_hook. */ extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link); /* Removes a hook from the list of file descriptor hooks. */ extern void unregister_fd_hook (struct fd_hook *link); #endif #ifdef __cplusplus } #endif #endif /* FD_HOOK_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sig2str.h������������������������������������������������������������������������0000664�0000000�0000000�00000002533�12071024546�012666� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sig2str.h -- convert between signal names and numbers Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <signal.h> /* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */ #ifndef SIG2STR_MAX # include "intprops.h" /* Size of a buffer needed to hold a signal name like "HUP". */ # define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1) int sig2str (int, char *); int str2sig (char const *, int *); #endif /* An upper bound on signal numbers allowed by the system. */ #if defined _sys_nsig # define SIGNUM_BOUND (_sys_nsig - 1) #elif defined NSIG # define SIGNUM_BOUND (NSIG - 1) #else # define SIGNUM_BOUND 64 #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strsignal.c����������������������������������������������������������������������0000664�0000000�0000000�00000012136�12071024546�013272� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1994-2002, 2005, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif /* Specification. */ #include <string.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #ifdef _LIBC # include <libintl.h> #else /* !_LIBC */ # include "gettext.h" # define _(msgid) gettext (msgid) # define N_(msgid) gettext_noop (msgid) #endif /* _LIBC */ #ifdef _LIBC # include <bits/libc-lock.h> #else /* !_LIBC */ # include "glthread/lock.h" # include "glthread/tls.h" # define __libc_once_define(CLASS, NAME) gl_once_define (CLASS, NAME) # define __libc_once(NAME, INIT) gl_once ((NAME), (INIT)) # define __libc_key_t gl_tls_key_t # define __libc_getspecific(NAME) gl_tls_get ((NAME)) # define __libc_setspecific(NAME, POINTER) gl_tls_set ((NAME), (POINTER)) # define __snprintf snprintf #endif /* _LIBC */ #ifdef _LIBC /* Defined in siglist.c. */ extern const char *const _sys_siglist[]; extern const char *const _sys_siglist_internal[] attribute_hidden; #else /* !_LIBC */ /* NetBSD declares sys_siglist in unistd.h. */ # if HAVE_UNISTD_H # include <unistd.h> # endif # define INTUSE(x) (x) # if HAVE_DECL_SYS_SIGLIST # undef _sys_siglist # define _sys_siglist sys_siglist # else /* !HAVE_DECL_SYS_SIGLIST */ # ifndef NSIG # define NSIG 32 # endif /* NSIG */ # if !HAVE_DECL__SYS_SIGLIST static const char *_sys_siglist[NSIG]; # endif # endif /* !HAVE_DECL_SYS_SIGLIST */ #endif /* _LIBC */ static __libc_key_t key; /* If nonzero the key allocation failed and we should better use a static buffer than fail. */ #define BUFFERSIZ 100 static char local_buf[BUFFERSIZ]; static char *static_buf; /* Destructor for the thread-specific data. */ static void init (void); static void free_key_mem (void *mem); static char *getbuffer (void); /* Return a string describing the meaning of the signal number SIGNUM. */ char * strsignal (int signum) { const char *desc; __libc_once_define (static, once); /* If we have not yet initialized the buffer do it now. */ __libc_once (once, init); if ( #ifdef SIGRTMIN (signum >= SIGRTMIN && signum <= SIGRTMAX) || #endif signum < 0 || signum >= NSIG || (desc = INTUSE(_sys_siglist)[signum]) == NULL) { char *buffer = getbuffer (); int len; #ifdef SIGRTMIN if (signum >= SIGRTMIN && signum <= SIGRTMAX) len = __snprintf (buffer, BUFFERSIZ - 1, _("Real-time signal %d"), signum - (int) SIGRTMIN); else #endif len = __snprintf (buffer, BUFFERSIZ - 1, _("Unknown signal %d"), signum); if (len >= BUFFERSIZ) buffer = NULL; else buffer[len] = '\0'; return buffer; } return (char *) _(desc); } /* Initialize buffer. */ static void init (void) { #ifdef _LIBC if (__libc_key_create (&key, free_key_mem)) /* Creating the key failed. This means something really went wrong. In any case use a static buffer which is better than nothing. */ static_buf = local_buf; #else /* !_LIBC */ gl_tls_key_init (key, free_key_mem); # if !HAVE_DECL_SYS_SIGLIST memset (_sys_siglist, 0, NSIG * sizeof *_sys_siglist); /* No need to use a do {} while (0) here since init_sig(...) must expand to a complete statement. (We cannot use the ISO C99 designated array initializer syntax since it is not supported by ANSI C compilers and since some signal numbers might exceed NSIG.) */ # define init_sig(sig, abbrev, desc) \ if (sig >= 0 && sig < NSIG) \ _sys_siglist[sig] = desc; # include "siglist.h" # undef init_sig # endif /* !HAVE_DECL_SYS_SIGLIST */ #endif /* !_LIBC */ } /* Free the thread specific data, this is done if a thread terminates. */ static void free_key_mem (void *mem) { free (mem); __libc_setspecific (key, NULL); } /* Return the buffer to be used. */ static char * getbuffer (void) { char *result; if (static_buf != NULL) result = static_buf; else { /* We don't use the static buffer and so we have a key. Use it to get the thread-specific buffer. */ result = __libc_getspecific (key); if (result == NULL) { /* No buffer allocated so far. */ result = malloc (BUFFERSIZ); if (result == NULL) /* No more memory available. We use the static buffer. */ result = local_buf; else __libc_setspecific (key, result); } } return result; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/math.c���������������������������������������������������������������������������0000664�0000000�0000000�00000000120�12071024546�012203� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_MATH_INLINE _GL_EXTERN_INLINE #include "math.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fchmodat.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003567�12071024546�013061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Change the protections of file relative to an open directory. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <sys/stat.h> #include <errno.h> #ifndef HAVE_LCHMOD /* Use a different name, to avoid conflicting with any system-supplied declaration. */ # undef lchmod # define lchmod lchmod_rpl static int lchmod (char const *f _GL_UNUSED, mode_t m _GL_UNUSED) { errno = ENOSYS; return -1; } #endif /* Solaris 10 has no function like this. Invoke chmod or lchmod on file, FILE, using mode MODE, in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then (chmod|lchmod)/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. Note that an attempt to use a FLAG value of AT_SYMLINK_NOFOLLOW on a system without lchmod support causes this function to fail. */ #define AT_FUNC_NAME fchmodat #define AT_FUNC_F1 lchmod #define AT_FUNC_F2 chmod #define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW #define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode, int flag #define AT_FUNC_POST_FILE_ARGS , mode #include "at-func.c" �����������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sha1.c���������������������������������������������������������������������������0000664�0000000�0000000�00000031776�12071561013�012126� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sha1.c - Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1. Copyright (C) 2000-2001, 2003-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Scott G. Miller Credits: Robert Klep <robert@ilse.nl> -- Expansion function fix */ #include <config.h> #include "sha1.h" #include <stdalign.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #endif #define BLOCKSIZE 32768 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. (RFC 1321, 3.1: Step 1) */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Take a pointer to a 160 bit block of data (five 32 bit ints) and initialize it to the start constants of the SHA1 algorithm. This must be called before using hash in the call to sha1_hash. */ void sha1_init_ctx (struct sha1_ctx *ctx) { ctx->A = 0x67452301; ctx->B = 0xefcdab89; ctx->C = 0x98badcfe; ctx->D = 0x10325476; ctx->E = 0xc3d2e1f0; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the 4 byte value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 20 bytes following RESBUF. The result must be in little endian byte order. */ void * sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf) { char *r = resbuf; set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); set_uint32 (r + 4 * sizeof ctx->E, SWAP (ctx->E)); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ void * sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf) { /* Take yet unprocessed bytes into account. */ uint32_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. */ ctx->buffer[size - 2] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); ctx->buffer[size - 1] = SWAP (ctx->total[0] << 3); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ sha1_process_block (ctx->buffer, size * 4, ctx); return sha1_read_ctx (ctx, resbuf); } /* Compute SHA1 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ int sha1_stream (FILE *stream, void *resblock) { struct sha1_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ sha1_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha1_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha1_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha1_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha1_buffer (const char *buffer, size_t len, void *resblock) { struct sha1_ctx ctx; /* Initialize the computation context. */ sha1_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha1_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha1_finish_ctx (&ctx, resblock); } void sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { sha1_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { sha1_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { sha1_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { sha1_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between md5.c and sha1.c --- */ /* SHA1 round constants */ #define K1 0x5a827999 #define K2 0x6ed9eba1 #define K3 0x8f1bbcdc #define K4 0xca62c1d6 /* Round functions. Note that F2 is the same as F4. */ #define F1(B,C,D) ( D ^ ( B & ( C ^ D ) ) ) #define F2(B,C,D) (B ^ C ^ D) #define F3(B,C,D) ( ( B & C ) | ( D & ( B | C ) ) ) #define F4(B,C,D) (B ^ C ^ D) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx) { const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t x[16]; uint32_t a = ctx->A; uint32_t b = ctx->B; uint32_t c = ctx->C; uint32_t d = ctx->D; uint32_t e = ctx->E; uint32_t lolen = len; /* First increment the byte count. RFC 1321 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += lolen; ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen); #define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n)))) #define M(I) ( tm = x[I&0x0f] ^ x[(I-14)&0x0f] \ ^ x[(I-8)&0x0f] ^ x[(I-3)&0x0f] \ , (x[I&0x0f] = rol(tm, 1)) ) #define R(A,B,C,D,E,F,K,M) do { E += rol( A, 5 ) \ + F( B, C, D ) \ + K \ + M; \ B = rol( B, 30 ); \ } while(0) while (words < endp) { uint32_t tm; int t; for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, F1, K1, x[ 0] ); R( e, a, b, c, d, F1, K1, x[ 1] ); R( d, e, a, b, c, F1, K1, x[ 2] ); R( c, d, e, a, b, F1, K1, x[ 3] ); R( b, c, d, e, a, F1, K1, x[ 4] ); R( a, b, c, d, e, F1, K1, x[ 5] ); R( e, a, b, c, d, F1, K1, x[ 6] ); R( d, e, a, b, c, F1, K1, x[ 7] ); R( c, d, e, a, b, F1, K1, x[ 8] ); R( b, c, d, e, a, F1, K1, x[ 9] ); R( a, b, c, d, e, F1, K1, x[10] ); R( e, a, b, c, d, F1, K1, x[11] ); R( d, e, a, b, c, F1, K1, x[12] ); R( c, d, e, a, b, F1, K1, x[13] ); R( b, c, d, e, a, F1, K1, x[14] ); R( a, b, c, d, e, F1, K1, x[15] ); R( e, a, b, c, d, F1, K1, M(16) ); R( d, e, a, b, c, F1, K1, M(17) ); R( c, d, e, a, b, F1, K1, M(18) ); R( b, c, d, e, a, F1, K1, M(19) ); R( a, b, c, d, e, F2, K2, M(20) ); R( e, a, b, c, d, F2, K2, M(21) ); R( d, e, a, b, c, F2, K2, M(22) ); R( c, d, e, a, b, F2, K2, M(23) ); R( b, c, d, e, a, F2, K2, M(24) ); R( a, b, c, d, e, F2, K2, M(25) ); R( e, a, b, c, d, F2, K2, M(26) ); R( d, e, a, b, c, F2, K2, M(27) ); R( c, d, e, a, b, F2, K2, M(28) ); R( b, c, d, e, a, F2, K2, M(29) ); R( a, b, c, d, e, F2, K2, M(30) ); R( e, a, b, c, d, F2, K2, M(31) ); R( d, e, a, b, c, F2, K2, M(32) ); R( c, d, e, a, b, F2, K2, M(33) ); R( b, c, d, e, a, F2, K2, M(34) ); R( a, b, c, d, e, F2, K2, M(35) ); R( e, a, b, c, d, F2, K2, M(36) ); R( d, e, a, b, c, F2, K2, M(37) ); R( c, d, e, a, b, F2, K2, M(38) ); R( b, c, d, e, a, F2, K2, M(39) ); R( a, b, c, d, e, F3, K3, M(40) ); R( e, a, b, c, d, F3, K3, M(41) ); R( d, e, a, b, c, F3, K3, M(42) ); R( c, d, e, a, b, F3, K3, M(43) ); R( b, c, d, e, a, F3, K3, M(44) ); R( a, b, c, d, e, F3, K3, M(45) ); R( e, a, b, c, d, F3, K3, M(46) ); R( d, e, a, b, c, F3, K3, M(47) ); R( c, d, e, a, b, F3, K3, M(48) ); R( b, c, d, e, a, F3, K3, M(49) ); R( a, b, c, d, e, F3, K3, M(50) ); R( e, a, b, c, d, F3, K3, M(51) ); R( d, e, a, b, c, F3, K3, M(52) ); R( c, d, e, a, b, F3, K3, M(53) ); R( b, c, d, e, a, F3, K3, M(54) ); R( a, b, c, d, e, F3, K3, M(55) ); R( e, a, b, c, d, F3, K3, M(56) ); R( d, e, a, b, c, F3, K3, M(57) ); R( c, d, e, a, b, F3, K3, M(58) ); R( b, c, d, e, a, F3, K3, M(59) ); R( a, b, c, d, e, F4, K4, M(60) ); R( e, a, b, c, d, F4, K4, M(61) ); R( d, e, a, b, c, F4, K4, M(62) ); R( c, d, e, a, b, F4, K4, M(63) ); R( b, c, d, e, a, F4, K4, M(64) ); R( a, b, c, d, e, F4, K4, M(65) ); R( e, a, b, c, d, F4, K4, M(66) ); R( d, e, a, b, c, F4, K4, M(67) ); R( c, d, e, a, b, F4, K4, M(68) ); R( b, c, d, e, a, F4, K4, M(69) ); R( a, b, c, d, e, F4, K4, M(70) ); R( e, a, b, c, d, F4, K4, M(71) ); R( d, e, a, b, c, F4, K4, M(72) ); R( c, d, e, a, b, F4, K4, M(73) ); R( b, c, d, e, a, F4, K4, M(74) ); R( a, b, c, d, e, F4, K4, M(75) ); R( e, a, b, c, d, F4, K4, M(76) ); R( d, e, a, b, c, F4, K4, M(77) ); R( c, d, e, a, b, F4, K4, M(78) ); R( b, c, d, e, a, F4, K4, M(79) ); a = ctx->A += a; b = ctx->B += b; c = ctx->C += c; d = ctx->D += d; e = ctx->E += e; } } ��coreutils-8.21/lib/xmemcoll.c�����������������������������������������������������������������������0000664�0000000�0000000�00000005061�12071024546�013103� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Locale-specific memory comparison. Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Contributed by Paul Eggert <eggert@twinsun.com>. */ #include <config.h> #include <errno.h> #include <stdlib.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "exitfail.h" #include "memcoll.h" #include "quotearg.h" #include "xmemcoll.h" static void collate_error (int collation_errno, char const *s1, size_t s1len, char const *s2, size_t s2len) { error (0, collation_errno, _("string comparison failed")); error (0, 0, _("Set LC_ALL='C' to work around the problem.")); error (exit_failure, 0, _("The strings compared were %s and %s."), quotearg_n_style_mem (0, locale_quoting_style, s1, s1len), quotearg_n_style_mem (1, locale_quoting_style, s2, s2len)); } /* Compare S1 (with length S1LEN) and S2 (with length S2LEN) according to the LC_COLLATE locale. S1 and S2 do not overlap, and are not adjacent. Temporarily modify the bytes after S1 and S2, but restore their original contents before returning. Report an error and exit if there is an error. */ int xmemcoll (char *s1, size_t s1len, char *s2, size_t s2len) { int diff = memcoll (s1, s1len, s2, s2len); int collation_errno = errno; if (collation_errno) collate_error (collation_errno, s1, s1len, s2, s2len); return diff; } /* Compare S1 (a memory block of size S1SIZE, with a NUL as last byte) and S2 (a memory block of size S2SIZE, with a NUL as last byte) according to the LC_COLLATE locale. S1SIZE and S2SIZE must be > 0. Report an error and exit if there is an error. */ int xmemcoll0 (char const *s1, size_t s1size, char const *s2, size_t s2size) { int diff = memcoll0 (s1, s1size, s2, s2size); int collation_errno = errno; if (collation_errno) collate_error (collation_errno, s1, s1size - 1, s2, s2size - 1); return diff; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/msvc-nothrow.h�������������������������������������������������������������������0000664�0000000�0000000�00000003010�12071561011�013717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Wrappers that don't throw invalid parameter notifications with MSVC runtime libraries. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _MSVC_NOTHROW_H #define _MSVC_NOTHROW_H /* With MSVC runtime libraries with the "invalid parameter handler" concept, functions like fprintf(), dup2(), or close() crash when the caller passes an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF) instead. This file defines wrappers that turn such an invalid parameter notification into an error code. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get original declaration of _get_osfhandle. */ # include <io.h> # if HAVE_MSVC_INVALID_PARAMETER_HANDLER /* Override _get_osfhandle. */ extern intptr_t _gl_nothrow_get_osfhandle (int fd); # define _get_osfhandle _gl_nothrow_get_osfhandle # endif #endif #endif /* _MSVC_NOTHROW_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strtoimax.c����������������������������������������������������������������������0000664�0000000�0000000�00000004024�12071024546�013313� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convert string representation of a number into an intmax_t value. Copyright (C) 1999, 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> /* Verify interface. */ #include <inttypes.h> #include <stdlib.h> #include "verify.h" #ifdef UNSIGNED # ifndef HAVE_DECL_STRTOULL "this configure-time declaration test was not run" # endif # if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG_INT unsigned long long int strtoull (char const *, char **, int); # endif #else # ifndef HAVE_DECL_STRTOLL "this configure-time declaration test was not run" # endif # if !HAVE_DECL_STRTOLL && HAVE_LONG_LONG_INT long long int strtoll (char const *, char **, int); # endif #endif #ifdef UNSIGNED # define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT # define Int uintmax_t # define Unsigned unsigned # define strtoimax strtoumax # define strtol strtoul # define strtoll strtoull #else # define Have_long_long HAVE_LONG_LONG_INT # define Int intmax_t # define Unsigned #endif Int strtoimax (char const *ptr, char **endptr, int base) { #if Have_long_long verify (sizeof (Int) == sizeof (Unsigned long int) || sizeof (Int) == sizeof (Unsigned long long int)); if (sizeof (Int) != sizeof (Unsigned long int)) return strtoll (ptr, endptr, base); #else verify (sizeof (Int) == sizeof (Unsigned long int)); #endif return strtol (ptr, endptr, base); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freopen-safer.c������������������������������������������������������������������0000664�0000000�0000000�00000006225�12071024546�014022� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke freopen, but avoid some glitches. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <config.h> #include "stdio-safer.h" #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <unistd.h> /* Guarantee that FD is open; all smaller FDs must already be open. Return true if successful. */ static bool protect_fd (int fd) { int value = open ("/dev/null", O_RDONLY); if (value != fd) { if (0 <= value) { close (value); errno = EBADF; /* Unexpected; this is as good as anything else. */ } return false; } return true; } /* Like freopen, but guarantee that reopening stdin, stdout, or stderr preserves the invariant that STDxxx_FILENO==fileno(stdxxx), and that no other stream will interfere with the standard streams. This is necessary because most freopen implementations will change the associated fd of a stream to the lowest available slot. */ FILE * freopen_safer (char const *name, char const *mode, FILE *f) { /* Unfortunately, we cannot use the fopen_safer approach of using fdopen (dup_safer (fileno (freopen (cmd, mode, f)))), because we need to return f itself. The implementation of freopen(NULL,m,f) is system-dependent, so the best we can do is guarantee that all lower-valued standard fds are open prior to the freopen call, even though this puts more pressure on open fds. */ bool protect_in = false; bool protect_out = false; bool protect_err = false; int saved_errno; switch (fileno (f)) { default: /* -1 or not a standard stream. */ if (dup2 (STDERR_FILENO, STDERR_FILENO) != STDERR_FILENO) protect_err = true; /* fall through */ case STDERR_FILENO: if (dup2 (STDOUT_FILENO, STDOUT_FILENO) != STDOUT_FILENO) protect_out = true; /* fall through */ case STDOUT_FILENO: if (dup2 (STDIN_FILENO, STDIN_FILENO) != STDIN_FILENO) protect_in = true; /* fall through */ case STDIN_FILENO: /* Nothing left to protect. */ break; } if (protect_in && !protect_fd (STDIN_FILENO)) f = NULL; else if (protect_out && !protect_fd (STDOUT_FILENO)) f = NULL; else if (protect_err && !protect_fd (STDERR_FILENO)) f = NULL; else f = freopen (name, mode, f); saved_errno = errno; if (protect_err) close (STDERR_FILENO); if (protect_out) close (STDOUT_FILENO); if (protect_in) close (STDIN_FILENO); if (!f) errno = saved_errno; return f; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawnp.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002402�12071024546�012567� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include "spawn_int.h" /* Spawn a new process executing FILE with the attributes describes in *ATTRP. Before running the process perform the actions described in FILE-ACTIONS. */ int posix_spawnp (pid_t *pid, const char *file, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *attrp, char *const argv[], char *const envp[]) { return __spawni (pid, file, file_actions, attrp, argv, envp, 1); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkstemp.c������������������������������������������������������������������������0000664�0000000�0000000�00000003005�12071024546�012737� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2013 Free Software Foundation, Inc. This file is derived from the one in the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if !_LIBC # include <config.h> #endif #include <stdlib.h> #if !_LIBC # include "tempname.h" # define __gen_tempname gen_tempname # ifndef __GT_FILE # define __GT_FILE GT_FILE # endif #endif #include <stdio.h> #ifndef __GT_FILE # define __GT_FILE 0 #endif /* Generate a unique temporary file name from XTEMPLATE. The last six characters of XTEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. Then open the file and return a fd. If you are creating temporary files which will later be removed, consider using the clean-temp module, which avoids several pitfalls of using mkstemp directly. */ int mkstemp (char *xtemplate) { return __gen_tempname (xtemplate, 0, 0, __GT_FILE); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/yesno.c��������������������������������������������������������������������������0000664�0000000�0000000�00000003167�12071024546�012425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* yesno.c -- read a yes/no response from stdin Copyright (C) 1990, 1998, 2001, 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "yesno.h" #include <stdlib.h> #include <stdio.h> /* Return true if we read an affirmative line from standard input. Since this function uses stdin, it is suggested that the caller not use STDIN_FILENO directly, and also that the line atexit(close_stdin) be added to main(). */ bool yesno (void) { bool yes; #if ENABLE_NLS char *response = NULL; size_t response_size = 0; ssize_t response_len = getline (&response, &response_size, stdin); if (response_len <= 0) yes = false; else { response[response_len - 1] = '\0'; yes = (0 < rpmatch (response)); } free (response); #else /* Test against "^[yY]", hardcoded to avoid requiring getline, regex, and rpmatch. */ int c = getchar (); yes = (c == 'y' || c == 'Y'); while (c != '\n' && c != EOF) c = getchar (); #endif return yes; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/inet_ntop.c����������������������������������������������������������������������0000664�0000000�0000000�00000015315�12071561010�013255� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* * Copyright (c) 1996-1999 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. */ #include <config.h> /* Specification. */ #include <arpa/inet.h> /* Use this to suppress gcc's "...may be used before initialized" warnings. Beware: The Code argument must not contain commas. */ #ifndef IF_LINT # ifdef lint # define IF_LINT(Code) Code # else # define IF_LINT(Code) /* empty */ # endif #endif #if HAVE_DECL_INET_NTOP # undef inet_ntop const char * rpl_inet_ntop (int af, const void *restrict src, char *restrict dst, socklen_t cnt) { return inet_ntop (af, src, dst, cnt); } #else # include <stdio.h> # include <string.h> # include <errno.h> # define NS_IN6ADDRSZ 16 # define NS_INT16SZ 2 /* * WARNING: Don't even consider trying to compile this on a system where * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. */ typedef int verify_int_size[4 <= sizeof (int) ? 1 : -1]; static const char *inet_ntop4 (const unsigned char *src, char *dst, socklen_t size); # if HAVE_IPV6 static const char *inet_ntop6 (const unsigned char *src, char *dst, socklen_t size); # endif /* char * * inet_ntop(af, src, dst, size) * convert a network format address to presentation format. * return: * pointer to presentation format address ('dst'), or NULL (see errno). * author: * Paul Vixie, 1996. */ const char * inet_ntop (int af, const void *restrict src, char *restrict dst, socklen_t cnt) { switch (af) { # if HAVE_IPV4 case AF_INET: return (inet_ntop4 (src, dst, cnt)); # endif # if HAVE_IPV6 case AF_INET6: return (inet_ntop6 (src, dst, cnt)); # endif default: errno = EAFNOSUPPORT; return (NULL); } /* NOTREACHED */ } /* const char * * inet_ntop4(src, dst, size) * format an IPv4 address * return: * 'dst' (as a const) * notes: * (1) uses no statics * (2) takes a u_char* not an in_addr as input * author: * Paul Vixie, 1996. */ static const char * inet_ntop4 (const unsigned char *src, char *dst, socklen_t size) { char tmp[sizeof "255.255.255.255"]; int len; len = sprintf (tmp, "%u.%u.%u.%u", src[0], src[1], src[2], src[3]); if (len < 0) return NULL; if (len > size) { errno = ENOSPC; return NULL; } return strcpy (dst, tmp); } # if HAVE_IPV6 /* const char * * inet_ntop6(src, dst, size) * convert IPv6 binary address into presentation (printable) format * author: * Paul Vixie, 1996. */ static const char * inet_ntop6 (const unsigned char *src, char *dst, socklen_t size) { /* * Note that int32_t and int16_t need only be "at least" large enough * to contain a value of the specified size. On some systems, like * Crays, there is no such thing as an integer variable with 16 bits. * Keep this in mind if you think this function should have been coded * to use pointer overlays. All the world's not a VAX. */ char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp; struct { int base, len; } best, cur; unsigned int words[NS_IN6ADDRSZ / NS_INT16SZ]; int i; /* * Preprocess: * Copy the input (bytewise) array into a wordwise array. * Find the longest run of 0x00's in src[] for :: shorthanding. */ memset (words, '\0', sizeof words); for (i = 0; i < NS_IN6ADDRSZ; i += 2) words[i / 2] = (src[i] << 8) | src[i + 1]; best.base = -1; cur.base = -1; IF_LINT(best.len = 0); IF_LINT(cur.len = 0); for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) { if (words[i] == 0) { if (cur.base == -1) cur.base = i, cur.len = 1; else cur.len++; } else { if (cur.base != -1) { if (best.base == -1 || cur.len > best.len) best = cur; cur.base = -1; } } } if (cur.base != -1) { if (best.base == -1 || cur.len > best.len) best = cur; } if (best.base != -1 && best.len < 2) best.base = -1; /* * Format the result. */ tp = tmp; for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) { /* Are we inside the best run of 0x00's? */ if (best.base != -1 && i >= best.base && i < (best.base + best.len)) { if (i == best.base) *tp++ = ':'; continue; } /* Are we following an initial run of 0x00s or any real hex? */ if (i != 0) *tp++ = ':'; /* Is this address an encapsulated IPv4? */ if (i == 6 && best.base == 0 && (best.len == 6 || (best.len == 5 && words[5] == 0xffff))) { if (!inet_ntop4 (src + 12, tp, sizeof tmp - (tp - tmp))) return (NULL); tp += strlen (tp); break; } { int len = sprintf (tp, "%x", words[i]); if (len < 0) return NULL; tp += len; } } /* Was it a trailing run of 0x00's? */ if (best.base != -1 && (best.base + best.len) == (NS_IN6ADDRSZ / NS_INT16SZ)) *tp++ = ':'; *tp++ = '\0'; /* * Check for overflow, copy, and we're done. */ if ((socklen_t) (tp - tmp) > size) { errno = ENOSPC; return NULL; } return strcpy (dst, tmp); } # endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isapipe.c������������������������������������������������������������������������0000664�0000000�0000000�00000006556�12071024546�012727� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test whether a file descriptor is a pipe. Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "isapipe.h" #include <errno.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ /* Get GetFileType. */ # include <windows.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" int isapipe (int fd) { HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } return (GetFileType (h) == FILE_TYPE_PIPE); } #else /* Unix platforms. */ # include <stdbool.h> # include <sys/types.h> # include <sys/stat.h> # include <unistd.h> /* The maximum link count for pipes; (nlink_t) -1 if not known. */ # ifndef PIPE_LINK_COUNT_MAX # define PIPE_LINK_COUNT_MAX ((nlink_t) (-1)) # endif /* Return 1 if FD is a pipe, 0 if not, -1 (setting errno) on error. Test fairly strictly whether FD is a pipe. lseek and checking for ESPIPE does not suffice, since many non-pipe files cause lseek to fail with errno == ESPIPE. */ int isapipe (int fd) { nlink_t pipe_link_count_max = PIPE_LINK_COUNT_MAX; bool check_for_fifo = (HAVE_FIFO_PIPES == 1); struct stat st; int fstat_result = fstat (fd, &st); if (fstat_result != 0) return fstat_result; /* We want something that succeeds only for pipes, but on POSIX-conforming hosts S_ISFIFO succeeds for both FIFOs and pipes and we know of no portable, reliable way to distinguish them in general. However, in practice pipes always have a link count <= PIPE_LINK_COUNT_MAX (unless someone attaches them to the file system name space using fattach, in which case they're not really pipes any more), so test for that as well. On Darwin 7.7, pipes are sockets, so check for those instead. */ if (! ((HAVE_FIFO_PIPES == 0 || HAVE_FIFO_PIPES == 1) && PIPE_LINK_COUNT_MAX != (nlink_t) -1) && (S_ISFIFO (st.st_mode) | S_ISSOCK (st.st_mode))) { int fd_pair[2]; int pipe_result = pipe (fd_pair); if (pipe_result != 0) return pipe_result; else { struct stat pipe_st; int fstat_pipe_result = fstat (fd_pair[0], &pipe_st); int fstat_pipe_errno = errno; close (fd_pair[0]); close (fd_pair[1]); if (fstat_pipe_result != 0) { errno = fstat_pipe_errno; return fstat_pipe_result; } check_for_fifo = (S_ISFIFO (pipe_st.st_mode) != 0); pipe_link_count_max = pipe_st.st_nlink; } } return (st.st_nlink <= pipe_link_count_max && (check_for_fifo ? S_ISFIFO (st.st_mode) : S_ISSOCK (st.st_mode))); } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unitypes.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000003163�12071561014�013552� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Elementary types and macros for the GNU UniString library. Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _UNITYPES_H #define _UNITYPES_H /* Get uint8_t, uint16_t, uint32_t. */ #include <stdint.h> /* Type representing a Unicode character. */ typedef uint32_t ucs4_t; /* Attribute of a function whose result depends only on the arguments (not pointers!) and which has no side effects. */ #ifndef _UC_ATTRIBUTE_CONST # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) # define _UC_ATTRIBUTE_CONST __attribute__ ((__const__)) # else # define _UC_ATTRIBUTE_CONST # endif #endif /* Attribute of a function whose result depends only on the arguments (possibly pointers) and global memory, and which has no side effects. */ #ifndef _UC_ATTRIBUTE_PURE # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__)) # else # define _UC_ATTRIBUTE_PURE # endif #endif #endif /* _UNITYPES_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000107567�12071024546�013043� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Definitions for POSIX spawn interface. Copyright (C) 2000, 2003-2004, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SPAWN_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SPAWN_H@ # @INCLUDE_NEXT@ @NEXT_SPAWN_H@ #endif #ifndef _@GUARD_PREFIX@_SPAWN_H #define _@GUARD_PREFIX@_SPAWN_H /* Get definitions of 'struct sched_param' and 'sigset_t'. But avoid namespace pollution on glibc systems. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include <sched.h> # include <signal.h> #endif #include <sys/types.h> #ifndef __THROW # define __THROW #endif /* GCC 2.95 and later have "__restrict"; C99 compilers have "restrict", and "configure" may have defined "restrict". Other compilers use __restrict, __restrict__, and _Restrict, and 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ # if 199901L <= __STDC_VERSION__ # define _Restrict_ restrict # elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) # define _Restrict_ __restrict # else # define _Restrict_ # endif #endif /* gcc 3.1 and up support the [restrict] syntax. Don't trust sys/cdefs.h's definition of __restrict_arr, though, as it mishandles gcc -ansi -pedantic. */ #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ && !defined __STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Data structure to contain attributes for thread creation. */ #if @REPLACE_POSIX_SPAWN@ # define posix_spawnattr_t rpl_posix_spawnattr_t #endif #if @REPLACE_POSIX_SPAWN@ || !@HAVE_POSIX_SPAWNATTR_T@ # if !GNULIB_defined_posix_spawnattr_t typedef struct { short int _flags; pid_t _pgrp; sigset_t _sd; sigset_t _ss; struct sched_param _sp; int _policy; int __pad[16]; } posix_spawnattr_t; # define GNULIB_defined_posix_spawnattr_t 1 # endif #endif /* Data structure to contain information about the actions to be performed in the new process with respect to file descriptors. */ #if @REPLACE_POSIX_SPAWN@ # define posix_spawn_file_actions_t rpl_posix_spawn_file_actions_t #endif #if @REPLACE_POSIX_SPAWN@ || !@HAVE_POSIX_SPAWN_FILE_ACTIONS_T@ # if !GNULIB_defined_posix_spawn_file_actions_t typedef struct { int _allocated; int _used; struct __spawn_action *_actions; int __pad[16]; } posix_spawn_file_actions_t; # define GNULIB_defined_posix_spawn_file_actions_t 1 # endif #endif /* Flags to be set in the 'posix_spawnattr_t'. */ #if @HAVE_POSIX_SPAWN@ /* Use the values from the system, but provide the missing ones. */ # ifndef POSIX_SPAWN_SETSCHEDPARAM # define POSIX_SPAWN_SETSCHEDPARAM 0 # endif # ifndef POSIX_SPAWN_SETSCHEDULER # define POSIX_SPAWN_SETSCHEDULER 0 # endif #else # if @REPLACE_POSIX_SPAWN@ /* Use the values from the system, for better compatibility. */ /* But this implementation does not support AIX extensions. */ # undef POSIX_SPAWN_FORK_HANDLERS # else # define POSIX_SPAWN_RESETIDS 0x01 # define POSIX_SPAWN_SETPGROUP 0x02 # define POSIX_SPAWN_SETSIGDEF 0x04 # define POSIX_SPAWN_SETSIGMASK 0x08 # define POSIX_SPAWN_SETSCHEDPARAM 0x10 # define POSIX_SPAWN_SETSCHEDULER 0x20 # endif #endif /* A GNU extension. Use the next free bit position. */ #define POSIX_SPAWN_USEVFORK \ ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \ | POSIX_SPAWN_SETPGROUP | (POSIX_SPAWN_SETPGROUP - 1) \ | POSIX_SPAWN_SETSIGDEF | (POSIX_SPAWN_SETSIGDEF - 1) \ | POSIX_SPAWN_SETSIGMASK | (POSIX_SPAWN_SETSIGMASK - 1) \ | POSIX_SPAWN_SETSCHEDPARAM \ | (POSIX_SPAWN_SETSCHEDPARAM > 0 ? POSIX_SPAWN_SETSCHEDPARAM - 1 : 0) \ | POSIX_SPAWN_SETSCHEDULER \ | (POSIX_SPAWN_SETSCHEDULER > 0 ? POSIX_SPAWN_SETSCHEDULER - 1 : 0)) \ + 1) #if !GNULIB_defined_verify_POSIX_SPAWN_USEVFORK_no_overlap typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap [(((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER) & POSIX_SPAWN_USEVFORK) == 0) ? 1 : -1]; # define GNULIB_defined_verify_POSIX_SPAWN_USEVFORK_no_overlap 1 #endif #if @GNULIB_POSIX_SPAWN@ /* Spawn a new process executing PATH with the attributes describes in *ATTRP. Before running the process perform the actions described in FILE-ACTIONS. This function is a possible cancellation points and therefore not marked with __THROW. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn rpl_posix_spawn # endif _GL_FUNCDECL_RPL (posix_spawn, int, (pid_t *_Restrict_ __pid, const char *_Restrict_ __path, const posix_spawn_file_actions_t *_Restrict_ __file_actions, const posix_spawnattr_t *_Restrict_ __attrp, char *const argv[_Restrict_arr_], char *const envp[_Restrict_arr_]) _GL_ARG_NONNULL ((2, 5, 6))); _GL_CXXALIAS_RPL (posix_spawn, int, (pid_t *_Restrict_ __pid, const char *_Restrict_ __path, const posix_spawn_file_actions_t *_Restrict_ __file_actions, const posix_spawnattr_t *_Restrict_ __attrp, char *const argv[_Restrict_arr_], char *const envp[_Restrict_arr_])); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn, int, (pid_t *_Restrict_ __pid, const char *_Restrict_ __path, const posix_spawn_file_actions_t *_Restrict_ __file_actions, const posix_spawnattr_t *_Restrict_ __attrp, char *const argv[_Restrict_arr_], char *const envp[_Restrict_arr_]) _GL_ARG_NONNULL ((2, 5, 6))); # endif _GL_CXXALIAS_SYS (posix_spawn, int, (pid_t *_Restrict_ __pid, const char *_Restrict_ __path, const posix_spawn_file_actions_t *_Restrict_ __file_actions, const posix_spawnattr_t *_Restrict_ __attrp, char *const argv[_Restrict_arr_], char *const envp[_Restrict_arr_])); # endif _GL_CXXALIASWARN (posix_spawn); #elif defined GNULIB_POSIXCHECK # undef posix_spawn # if HAVE_RAW_DECL_POSIX_SPAWN _GL_WARN_ON_USE (posix_spawn, "posix_spawn is unportable - " "use gnulib module posix_spawn for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNP@ /* Similar to 'posix_spawn' but search for FILE in the PATH. This function is a possible cancellation points and therefore not marked with __THROW. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnp rpl_posix_spawnp # endif _GL_FUNCDECL_RPL (posix_spawnp, int, (pid_t *__pid, const char *__file, const posix_spawn_file_actions_t *__file_actions, const posix_spawnattr_t *__attrp, char *const argv[], char *const envp[]) _GL_ARG_NONNULL ((2, 5, 6))); _GL_CXXALIAS_RPL (posix_spawnp, int, (pid_t *__pid, const char *__file, const posix_spawn_file_actions_t *__file_actions, const posix_spawnattr_t *__attrp, char *const argv[], char *const envp[])); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnp, int, (pid_t *__pid, const char *__file, const posix_spawn_file_actions_t *__file_actions, const posix_spawnattr_t *__attrp, char *const argv[], char *const envp[]) _GL_ARG_NONNULL ((2, 5, 6))); # endif _GL_CXXALIAS_SYS (posix_spawnp, int, (pid_t *__pid, const char *__file, const posix_spawn_file_actions_t *__file_actions, const posix_spawnattr_t *__attrp, char *const argv[], char *const envp[])); # endif _GL_CXXALIASWARN (posix_spawnp); #elif defined GNULIB_POSIXCHECK # undef posix_spawnp # if HAVE_RAW_DECL_POSIX_SPAWNP _GL_WARN_ON_USE (posix_spawnp, "posix_spawnp is unportable - " "use gnulib module posix_spawnp for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_INIT@ /* Initialize data structure with attributes for 'spawn' to default values. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_init rpl_posix_spawnattr_init # endif _GL_FUNCDECL_RPL (posix_spawnattr_init, int, (posix_spawnattr_t *__attr) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawnattr_init, int, (posix_spawnattr_t *__attr)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_init, int, (posix_spawnattr_t *__attr) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_init, int, (posix_spawnattr_t *__attr)); # endif _GL_CXXALIASWARN (posix_spawnattr_init); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_init # if HAVE_RAW_DECL_POSIX_SPAWNATTR_INIT _GL_WARN_ON_USE (posix_spawnattr_init, "posix_spawnattr_init is unportable - " "use gnulib module posix_spawnattr_init for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_DESTROY@ /* Free resources associated with ATTR. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_destroy rpl_posix_spawnattr_destroy # endif _GL_FUNCDECL_RPL (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_destroy, int, (posix_spawnattr_t *__attr)); # endif _GL_CXXALIASWARN (posix_spawnattr_destroy); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_destroy # if HAVE_RAW_DECL_POSIX_SPAWNATTR_DESTROY _GL_WARN_ON_USE (posix_spawnattr_destroy, "posix_spawnattr_destroy is unportable - " "use gnulib module posix_spawnattr_destroy for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@ /* Store signal mask for signals with default handling from ATTR in SIGDEFAULT. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getsigdefault rpl_posix_spawnattr_getsigdefault # endif _GL_FUNCDECL_RPL (posix_spawnattr_getsigdefault, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigdefault) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getsigdefault, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigdefault)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_getsigdefault, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigdefault) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getsigdefault, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigdefault)); # endif _GL_CXXALIASWARN (posix_spawnattr_getsigdefault); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getsigdefault # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSIGDEFAULT _GL_WARN_ON_USE (posix_spawnattr_getsigdefault, "posix_spawnattr_getsigdefault is unportable - " "use gnulib module posix_spawnattr_getsigdefault for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@ /* Set signal mask for signals with default handling in ATTR to SIGDEFAULT. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setsigdefault rpl_posix_spawnattr_setsigdefault # endif _GL_FUNCDECL_RPL (posix_spawnattr_setsigdefault, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigdefault) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_setsigdefault, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigdefault)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_setsigdefault, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigdefault) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setsigdefault, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigdefault)); # endif _GL_CXXALIASWARN (posix_spawnattr_setsigdefault); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setsigdefault # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSIGDEFAULT _GL_WARN_ON_USE (posix_spawnattr_setsigdefault, "posix_spawnattr_setsigdefault is unportable - " "use gnulib module posix_spawnattr_setsigdefault for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@ /* Store signal mask for the new process from ATTR in SIGMASK. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getsigmask rpl_posix_spawnattr_getsigmask # endif _GL_FUNCDECL_RPL (posix_spawnattr_getsigmask, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigmask) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getsigmask, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigmask)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_getsigmask, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigmask) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getsigmask, int, (const posix_spawnattr_t *_Restrict_ __attr, sigset_t *_Restrict_ __sigmask)); # endif _GL_CXXALIASWARN (posix_spawnattr_getsigmask); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getsigmask # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSIGMASK _GL_WARN_ON_USE (posix_spawnattr_getsigmask, "posix_spawnattr_getsigmask is unportable - " "use gnulib module posix_spawnattr_getsigmask for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@ /* Set signal mask for the new process in ATTR to SIGMASK. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setsigmask rpl_posix_spawnattr_setsigmask # endif _GL_FUNCDECL_RPL (posix_spawnattr_setsigmask, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigmask) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_setsigmask, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigmask)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_setsigmask, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigmask) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setsigmask, int, (posix_spawnattr_t *_Restrict_ __attr, const sigset_t *_Restrict_ __sigmask)); # endif _GL_CXXALIASWARN (posix_spawnattr_setsigmask); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setsigmask # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSIGMASK _GL_WARN_ON_USE (posix_spawnattr_setsigmask, "posix_spawnattr_setsigmask is unportable - " "use gnulib module posix_spawnattr_setsigmask for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETFLAGS@ /* Get flag word from the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getflags rpl_posix_spawnattr_getflags # endif _GL_FUNCDECL_RPL (posix_spawnattr_getflags, int, (const posix_spawnattr_t *_Restrict_ __attr, short int *_Restrict_ __flags) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getflags, int, (const posix_spawnattr_t *_Restrict_ __attr, short int *_Restrict_ __flags)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_getflags, int, (const posix_spawnattr_t *_Restrict_ __attr, short int *_Restrict_ __flags) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getflags, int, (const posix_spawnattr_t *_Restrict_ __attr, short int *_Restrict_ __flags)); # endif _GL_CXXALIASWARN (posix_spawnattr_getflags); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getflags # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETFLAGS _GL_WARN_ON_USE (posix_spawnattr_getflags, "posix_spawnattr_getflags is unportable - " "use gnulib module posix_spawnattr_getflags for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETFLAGS@ /* Store flags in the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setflags rpl_posix_spawnattr_setflags # endif _GL_FUNCDECL_RPL (posix_spawnattr_setflags, int, (posix_spawnattr_t *__attr, short int __flags) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawnattr_setflags, int, (posix_spawnattr_t *__attr, short int __flags)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_setflags, int, (posix_spawnattr_t *__attr, short int __flags) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setflags, int, (posix_spawnattr_t *__attr, short int __flags)); # endif _GL_CXXALIASWARN (posix_spawnattr_setflags); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setflags # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETFLAGS _GL_WARN_ON_USE (posix_spawnattr_setflags, "posix_spawnattr_setflags is unportable - " "use gnulib module posix_spawnattr_setflags for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETPGROUP@ /* Get process group ID from the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getpgroup rpl_posix_spawnattr_getpgroup # endif _GL_FUNCDECL_RPL (posix_spawnattr_getpgroup, int, (const posix_spawnattr_t *_Restrict_ __attr, pid_t *_Restrict_ __pgroup) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getpgroup, int, (const posix_spawnattr_t *_Restrict_ __attr, pid_t *_Restrict_ __pgroup)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_getpgroup, int, (const posix_spawnattr_t *_Restrict_ __attr, pid_t *_Restrict_ __pgroup) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getpgroup, int, (const posix_spawnattr_t *_Restrict_ __attr, pid_t *_Restrict_ __pgroup)); # endif _GL_CXXALIASWARN (posix_spawnattr_getpgroup); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getpgroup # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETPGROUP _GL_WARN_ON_USE (posix_spawnattr_getpgroup, "posix_spawnattr_getpgroup is unportable - " "use gnulib module posix_spawnattr_getpgroup for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETPGROUP@ /* Store process group ID in the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setpgroup rpl_posix_spawnattr_setpgroup # endif _GL_FUNCDECL_RPL (posix_spawnattr_setpgroup, int, (posix_spawnattr_t *__attr, pid_t __pgroup) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawnattr_setpgroup, int, (posix_spawnattr_t *__attr, pid_t __pgroup)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawnattr_setpgroup, int, (posix_spawnattr_t *__attr, pid_t __pgroup) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setpgroup, int, (posix_spawnattr_t *__attr, pid_t __pgroup)); # endif _GL_CXXALIASWARN (posix_spawnattr_setpgroup); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setpgroup # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETPGROUP _GL_WARN_ON_USE (posix_spawnattr_setpgroup, "posix_spawnattr_setpgroup is unportable - " "use gnulib module posix_spawnattr_setpgroup for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY@ /* Get scheduling policy from the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getschedpolicy rpl_posix_spawnattr_getschedpolicy # endif _GL_FUNCDECL_RPL (posix_spawnattr_getschedpolicy, int, (const posix_spawnattr_t *_Restrict_ __attr, int *_Restrict_ __schedpolicy) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getschedpolicy, int, (const posix_spawnattr_t *_Restrict_ __attr, int *_Restrict_ __schedpolicy)); # else # if !@HAVE_POSIX_SPAWN@ || POSIX_SPAWN_SETSCHEDULER == 0 _GL_FUNCDECL_SYS (posix_spawnattr_getschedpolicy, int, (const posix_spawnattr_t *_Restrict_ __attr, int *_Restrict_ __schedpolicy) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getschedpolicy, int, (const posix_spawnattr_t *_Restrict_ __attr, int *_Restrict_ __schedpolicy)); # endif _GL_CXXALIASWARN (posix_spawnattr_getschedpolicy); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getschedpolicy # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSCHEDPOLICY _GL_WARN_ON_USE (posix_spawnattr_getschedpolicy, "posix_spawnattr_getschedpolicy is unportable - " "use gnulib module posix_spawnattr_getschedpolicy for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@ /* Store scheduling policy in the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setschedpolicy rpl_posix_spawnattr_setschedpolicy # endif _GL_FUNCDECL_RPL (posix_spawnattr_setschedpolicy, int, (posix_spawnattr_t *__attr, int __schedpolicy) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawnattr_setschedpolicy, int, (posix_spawnattr_t *__attr, int __schedpolicy)); # else # if !@HAVE_POSIX_SPAWN@ || POSIX_SPAWN_SETSCHEDULER == 0 _GL_FUNCDECL_SYS (posix_spawnattr_setschedpolicy, int, (posix_spawnattr_t *__attr, int __schedpolicy) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setschedpolicy, int, (posix_spawnattr_t *__attr, int __schedpolicy)); # endif _GL_CXXALIASWARN (posix_spawnattr_setschedpolicy); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setschedpolicy # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSCHEDPOLICY _GL_WARN_ON_USE (posix_spawnattr_setschedpolicy, "posix_spawnattr_setschedpolicy is unportable - " "use gnulib module posix_spawnattr_setschedpolicy for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@ /* Get scheduling parameters from the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_getschedparam rpl_posix_spawnattr_getschedparam # endif _GL_FUNCDECL_RPL (posix_spawnattr_getschedparam, int, (const posix_spawnattr_t *_Restrict_ __attr, struct sched_param *_Restrict_ __schedparam) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_getschedparam, int, (const posix_spawnattr_t *_Restrict_ __attr, struct sched_param *_Restrict_ __schedparam)); # else # if !@HAVE_POSIX_SPAWN@ || POSIX_SPAWN_SETSCHEDPARAM == 0 _GL_FUNCDECL_SYS (posix_spawnattr_getschedparam, int, (const posix_spawnattr_t *_Restrict_ __attr, struct sched_param *_Restrict_ __schedparam) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_getschedparam, int, (const posix_spawnattr_t *_Restrict_ __attr, struct sched_param *_Restrict_ __schedparam)); # endif _GL_CXXALIASWARN (posix_spawnattr_getschedparam); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_getschedparam # if HAVE_RAW_DECL_POSIX_SPAWNATTR_GETSCHEDPARAM _GL_WARN_ON_USE (posix_spawnattr_getschedparam, "posix_spawnattr_getschedparam is unportable - " "use gnulib module posix_spawnattr_getschedparam for portability"); # endif #endif #if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@ /* Store scheduling parameters in the attribute structure. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawnattr_setschedparam rpl_posix_spawnattr_setschedparam # endif _GL_FUNCDECL_RPL (posix_spawnattr_setschedparam, int, (posix_spawnattr_t *_Restrict_ __attr, const struct sched_param *_Restrict_ __schedparam) __THROW _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (posix_spawnattr_setschedparam, int, (posix_spawnattr_t *_Restrict_ __attr, const struct sched_param *_Restrict_ __schedparam)); # else # if !@HAVE_POSIX_SPAWN@ || POSIX_SPAWN_SETSCHEDPARAM == 0 _GL_FUNCDECL_SYS (posix_spawnattr_setschedparam, int, (posix_spawnattr_t *_Restrict_ __attr, const struct sched_param *_Restrict_ __schedparam) __THROW _GL_ARG_NONNULL ((1, 2))); # endif _GL_CXXALIAS_SYS (posix_spawnattr_setschedparam, int, (posix_spawnattr_t *_Restrict_ __attr, const struct sched_param *_Restrict_ __schedparam)); # endif _GL_CXXALIASWARN (posix_spawnattr_setschedparam); #elif defined GNULIB_POSIXCHECK # undef posix_spawnattr_setschedparam # if HAVE_RAW_DECL_POSIX_SPAWNATTR_SETSCHEDPARAM _GL_WARN_ON_USE (posix_spawnattr_setschedparam, "posix_spawnattr_setschedparam is unportable - " "use gnulib module posix_spawnattr_setschedparam for portability"); # endif #endif #if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@ /* Initialize data structure for file attribute for 'spawn' call. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn_file_actions_init rpl_posix_spawn_file_actions_init # endif _GL_FUNCDECL_RPL (posix_spawn_file_actions_init, int, (posix_spawn_file_actions_t *__file_actions) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawn_file_actions_init, int, (posix_spawn_file_actions_t *__file_actions)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn_file_actions_init, int, (posix_spawn_file_actions_t *__file_actions) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawn_file_actions_init, int, (posix_spawn_file_actions_t *__file_actions)); # endif _GL_CXXALIASWARN (posix_spawn_file_actions_init); #elif defined GNULIB_POSIXCHECK # undef posix_spawn_file_actions_init # if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_INIT _GL_WARN_ON_USE (posix_spawn_file_actions_init, "posix_spawn_file_actions_init is unportable - " "use gnulib module posix_spawn_file_actions_init for portability"); # endif #endif #if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@ /* Free resources associated with FILE-ACTIONS. */ # if @REPLACE_POSIX_SPAWN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn_file_actions_destroy rpl_posix_spawn_file_actions_destroy # endif _GL_FUNCDECL_RPL (posix_spawn_file_actions_destroy, int, (posix_spawn_file_actions_t *__file_actions) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawn_file_actions_destroy, int, (posix_spawn_file_actions_t *__file_actions)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn_file_actions_destroy, int, (posix_spawn_file_actions_t *__file_actions) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawn_file_actions_destroy, int, (posix_spawn_file_actions_t *__file_actions)); # endif _GL_CXXALIASWARN (posix_spawn_file_actions_destroy); #elif defined GNULIB_POSIXCHECK # undef posix_spawn_file_actions_destroy # if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_DESTROY _GL_WARN_ON_USE (posix_spawn_file_actions_destroy, "posix_spawn_file_actions_destroy is unportable - " "use gnulib module posix_spawn_file_actions_destroy for portability"); # endif #endif #if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ /* Add an action to FILE-ACTIONS which tells the implementation to call 'open' for the given file during the 'spawn' call. */ # if @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn_file_actions_addopen rpl_posix_spawn_file_actions_addopen # endif _GL_FUNCDECL_RPL (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *_Restrict_ __file_actions, int __fd, const char *_Restrict_ __path, int __oflag, mode_t __mode) __THROW _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *_Restrict_ __file_actions, int __fd, const char *_Restrict_ __path, int __oflag, mode_t __mode)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *_Restrict_ __file_actions, int __fd, const char *_Restrict_ __path, int __oflag, mode_t __mode) __THROW _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (posix_spawn_file_actions_addopen, int, (posix_spawn_file_actions_t *_Restrict_ __file_actions, int __fd, const char *_Restrict_ __path, int __oflag, mode_t __mode)); # endif _GL_CXXALIASWARN (posix_spawn_file_actions_addopen); #elif defined GNULIB_POSIXCHECK # undef posix_spawn_file_actions_addopen # if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN _GL_WARN_ON_USE (posix_spawn_file_actions_addopen, "posix_spawn_file_actions_addopen is unportable - " "use gnulib module posix_spawn_file_actions_addopen for portability"); # endif #endif #if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ /* Add an action to FILE-ACTIONS which tells the implementation to call 'close' for the given file descriptor during the 'spawn' call. */ # if @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn_file_actions_addclose rpl_posix_spawn_file_actions_addclose # endif _GL_FUNCDECL_RPL (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *__file_actions, int __fd) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *__file_actions, int __fd)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *__file_actions, int __fd) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawn_file_actions_addclose, int, (posix_spawn_file_actions_t *__file_actions, int __fd)); # endif _GL_CXXALIASWARN (posix_spawn_file_actions_addclose); #elif defined GNULIB_POSIXCHECK # undef posix_spawn_file_actions_addclose # if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE _GL_WARN_ON_USE (posix_spawn_file_actions_addclose, "posix_spawn_file_actions_addclose is unportable - " "use gnulib module posix_spawn_file_actions_addclose for portability"); # endif #endif #if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ /* Add an action to FILE-ACTIONS which tells the implementation to call 'dup2' for the given file descriptors during the 'spawn' call. */ # if @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define posix_spawn_file_actions_adddup2 rpl_posix_spawn_file_actions_adddup2 # endif _GL_FUNCDECL_RPL (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *__file_actions, int __fd, int __newfd) __THROW _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *__file_actions, int __fd, int __newfd)); # else # if !@HAVE_POSIX_SPAWN@ _GL_FUNCDECL_SYS (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *__file_actions, int __fd, int __newfd) __THROW _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (posix_spawn_file_actions_adddup2, int, (posix_spawn_file_actions_t *__file_actions, int __fd, int __newfd)); # endif _GL_CXXALIASWARN (posix_spawn_file_actions_adddup2); #elif defined GNULIB_POSIXCHECK # undef posix_spawn_file_actions_adddup2 # if HAVE_RAW_DECL_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 _GL_WARN_ON_USE (posix_spawn_file_actions_adddup2, "posix_spawn_file_actions_adddup2 is unportable - " "use gnulib module posix_spawn_file_actions_adddup2 for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SPAWN_H */ #endif /* _@GUARD_PREFIX@_SPAWN_H */ �����������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/posixtm.h������������������������������������������������������������������������0000664�0000000�0000000�00000002235�12071024546�012773� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Parse dates for touch and date. Copyright (C) 1998, 2003, 2005, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Yacc-based version written by Jim Kingdon and David MacKenzie. Rewritten by Jim Meyering. */ #ifndef POSIXTM_H_ # define POSIXTM_H_ # include <stdbool.h> # include <time.h> /* POSIX Date Syntax flags. */ # define PDS_LEADING_YEAR 1 # define PDS_TRAILING_YEAR 2 # define PDS_CENTURY 4 # define PDS_SECONDS 8 # define PDS_PRE_2000 16 bool posixtime (time_t *p, const char *s, unsigned int syntax_bits); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbswidth.c�����������������������������������������������������������������������0000664�0000000�0000000�00000014250�12071024546�013104� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine the number of screen columns needed for a string. Copyright (C) 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <haible@clisp.cons.org>. */ #include <config.h> /* Specification. */ #include "mbswidth.h" /* Get MB_CUR_MAX. */ #include <stdlib.h> #include <string.h> /* Get isprint(). */ #include <ctype.h> /* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */ #include <wchar.h> /* Get iswcntrl(). */ #include <wctype.h> /* Get INT_MAX. */ #include <limits.h> /* Returns the number of columns needed to represent the multibyte character string pointed to by STRING. If a non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned. With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is the multibyte analogue of the wcswidth function. */ int mbswidth (const char *string, int flags) { return mbsnwidth (string, strlen (string), flags); } /* Returns the number of columns needed to represent the multibyte character string pointed to by STRING of length NBYTES. If a non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned. */ int mbsnwidth (const char *string, size_t nbytes, int flags) { const char *p = string; const char *plimit = p + nbytes; int width; width = 0; if (MB_CUR_MAX > 1) { while (p < plimit) switch (*p) { case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* These characters are printable ASCII characters. */ p++; width++; break; default: /* If we have a multibyte sequence, scan it up to its end. */ { mbstate_t mbstate; memset (&mbstate, 0, sizeof mbstate); do { wchar_t wc; size_t bytes; int w; bytes = mbrtowc (&wc, p, plimit - p, &mbstate); if (bytes == (size_t) -1) /* An invalid multibyte sequence was encountered. */ { if (!(flags & MBSW_REJECT_INVALID)) { p++; width++; break; } else return -1; } if (bytes == (size_t) -2) /* An incomplete multibyte character at the end. */ { if (!(flags & MBSW_REJECT_INVALID)) { p = plimit; width++; break; } else return -1; } if (bytes == 0) /* A null wide character was encountered. */ bytes = 1; w = wcwidth (wc); if (w >= 0) /* A printable multibyte character. */ { if (w > INT_MAX - width) goto overflow; width += w; } else /* An unprintable multibyte character. */ if (!(flags & MBSW_REJECT_UNPRINTABLE)) { if (!iswcntrl (wc)) { if (width == INT_MAX) goto overflow; width++; } } else return -1; p += bytes; } while (! mbsinit (&mbstate)); } break; } return width; } while (p < plimit) { unsigned char c = (unsigned char) *p++; if (isprint (c)) { if (width == INT_MAX) goto overflow; width++; } else if (!(flags & MBSW_REJECT_UNPRINTABLE)) { if (!iscntrl (c)) { if (width == INT_MAX) goto overflow; width++; } } else return -1; } return width; overflow: return INT_MAX; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readtokens0.c��������������������������������������������������������������������0000664�0000000�0000000�00000005445�12071024546�013510� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* readtokens0.c -- Read NUL-separated tokens from an input stream. Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Jim Meyering. */ #include <config.h> #include <stdlib.h> #include "readtokens0.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free void readtokens0_init (struct Tokens *t) { t->n_tok = 0; t->tok = NULL; t->tok_len = NULL; obstack_init (&t->o_data); obstack_init (&t->o_tok); obstack_init (&t->o_tok_len); } void readtokens0_free (struct Tokens *t) { obstack_free (&t->o_data, NULL); obstack_free (&t->o_tok, NULL); obstack_free (&t->o_tok_len, NULL); } /* Finalize (in the obstack_finish sense) the current token and record its pointer and length. */ static void save_token (struct Tokens *t) { /* Don't count the trailing NUL byte in the length. */ size_t len = obstack_object_size (&t->o_data) - 1; char const *s = obstack_finish (&t->o_data); obstack_ptr_grow (&t->o_tok, s); obstack_grow (&t->o_tok_len, &len, sizeof len); t->n_tok++; } /* Read NUL-separated tokens from stream IN into T until EOF or error. The final NUL is optional. Always append a NULL pointer to the resulting list of token pointers, but that pointer isn't counted via t->n_tok. Return true if successful. */ bool readtokens0 (FILE *in, struct Tokens *t) { while (1) { int c = fgetc (in); if (c == EOF) { size_t len = obstack_object_size (&t->o_data); /* If the current object has nonzero length, then there was no NUL byte at EOF -- or maybe there was an error, in which case, we need to append a NUL byte to our buffer. */ if (len) { obstack_1grow (&t->o_data, '\0'); save_token (t); } break; } obstack_1grow (&t->o_data, c); if (c == '\0') save_token (t); } /* Add a NULL pointer at the end, in case the caller (like du) requires an argv-style array of strings. */ obstack_ptr_grow (&t->o_tok, NULL); t->tok = obstack_finish (&t->o_tok); t->tok_len = obstack_finish (&t->o_tok_len); return ! ferror (in); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fseek.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002035�12071024546�012356� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An fseek() function that, together with fflush(), is POSIX compliant. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> /* Get off_t. */ #include <unistd.h> int fseek (FILE *fp, long offset, int whence) { /* Use the replacement fseeko function with all its workarounds. */ return fseeko (fp, (off_t)offset, whence); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memchr2.h������������������������������������������������������������������������0000664�0000000�0000000�00000002113�12071024546�012620� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Scan memory for the first of two bytes. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> #ifdef __cplusplus extern "C" { #endif /* Return the first address of either C1 or C2 (treated as unsigned char) that occurs within N bytes of the memory region S. If neither byte appears, return NULL. */ extern void *memchr2 (void const *s, int c1, int c2, size_t n) _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getaddrinfo.c��������������������������������������������������������������������0000664�0000000�0000000�00000024221�12071561007�013546� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Get address information (partial implementation). Copyright (C) 1997, 2001-2002, 2004-2013 Free Software Foundation, Inc. Contributed by Simon Josefsson <simon@josefsson.org>. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc optimizes away the sa == NULL test below. */ #define _GL_ARG_NONNULL(params) #include <netdb.h> #if HAVE_NETINET_IN_H # include <netinet/in.h> #endif /* Get inet_ntop. */ #include <arpa/inet.h> /* Get calloc. */ #include <stdlib.h> /* Get memcpy, strdup. */ #include <string.h> /* Get snprintf. */ #include <stdio.h> #include <stdbool.h> #include "gettext.h" #define _(String) gettext (String) #define N_(String) String /* BeOS has AF_INET, but not PF_INET. */ #ifndef PF_INET # define PF_INET AF_INET #endif /* BeOS also lacks PF_UNSPEC. */ #ifndef PF_UNSPEC # define PF_UNSPEC 0 #endif #if defined _WIN32 || defined __WIN32__ # define WINDOWS_NATIVE #endif /* gl_sockets_startup */ #include "sockets.h" #ifdef WINDOWS_NATIVE typedef int (WSAAPI *getaddrinfo_func) (const char*, const char*, const struct addrinfo*, struct addrinfo**); typedef void (WSAAPI *freeaddrinfo_func) (struct addrinfo*); typedef int (WSAAPI *getnameinfo_func) (const struct sockaddr*, socklen_t, char*, DWORD, char*, DWORD, int); static getaddrinfo_func getaddrinfo_ptr = NULL; static freeaddrinfo_func freeaddrinfo_ptr = NULL; static getnameinfo_func getnameinfo_ptr = NULL; static int use_win32_p (void) { static int done = 0; HMODULE h; if (done) return getaddrinfo_ptr ? 1 : 0; done = 1; h = GetModuleHandle ("ws2_32.dll"); if (h) { getaddrinfo_ptr = (getaddrinfo_func) GetProcAddress (h, "getaddrinfo"); freeaddrinfo_ptr = (freeaddrinfo_func) GetProcAddress (h, "freeaddrinfo"); getnameinfo_ptr = (getnameinfo_func) GetProcAddress (h, "getnameinfo"); } /* If either is missing, something is odd. */ if (!getaddrinfo_ptr || !freeaddrinfo_ptr || !getnameinfo_ptr) { getaddrinfo_ptr = NULL; freeaddrinfo_ptr = NULL; getnameinfo_ptr = NULL; return 0; } gl_sockets_startup (SOCKETS_1_1); return 1; } #endif static bool validate_family (int family) { /* FIXME: Support more families. */ #if HAVE_IPV4 if (family == PF_INET) return true; #endif #if HAVE_IPV6 if (family == PF_INET6) return true; #endif if (family == PF_UNSPEC) return true; return false; } /* Translate name of a service location and/or a service name to set of socket addresses. */ int getaddrinfo (const char *restrict nodename, const char *restrict servname, const struct addrinfo *restrict hints, struct addrinfo **restrict res) { struct addrinfo *tmp; int port = 0; struct hostent *he; void *storage; size_t size; #if HAVE_IPV6 struct v6_pair { struct addrinfo addrinfo; struct sockaddr_in6 sockaddr_in6; }; #endif #if HAVE_IPV4 struct v4_pair { struct addrinfo addrinfo; struct sockaddr_in sockaddr_in; }; #endif #ifdef WINDOWS_NATIVE if (use_win32_p ()) return getaddrinfo_ptr (nodename, servname, hints, res); #endif if (hints && (hints->ai_flags & ~(AI_CANONNAME|AI_PASSIVE))) /* FIXME: Support more flags. */ return EAI_BADFLAGS; if (hints && !validate_family (hints->ai_family)) return EAI_FAMILY; if (hints && hints->ai_socktype != SOCK_STREAM && hints->ai_socktype != SOCK_DGRAM) /* FIXME: Support other socktype. */ return EAI_SOCKTYPE; /* FIXME: Better return code? */ if (!nodename) { if (!(hints->ai_flags & AI_PASSIVE)) return EAI_NONAME; #ifdef HAVE_IPV6 nodename = (hints->ai_family == AF_INET6) ? "::" : "0.0.0.0"; #else nodename = "0.0.0.0"; #endif } if (servname) { struct servent *se = NULL; const char *proto = (hints && hints->ai_socktype == SOCK_DGRAM) ? "udp" : "tcp"; if (hints == NULL || !(hints->ai_flags & AI_NUMERICSERV)) /* FIXME: Use getservbyname_r if available. */ se = getservbyname (servname, proto); if (!se) { char *c; if (!(*servname >= '0' && *servname <= '9')) return EAI_NONAME; port = strtoul (servname, &c, 10); if (*c || port > 0xffff) return EAI_NONAME; port = htons (port); } else port = se->s_port; } /* FIXME: Use gethostbyname_r if available. */ he = gethostbyname (nodename); if (!he || he->h_addr_list[0] == NULL) return EAI_NONAME; switch (he->h_addrtype) { #if HAVE_IPV6 case PF_INET6: size = sizeof (struct v6_pair); break; #endif #if HAVE_IPV4 case PF_INET: size = sizeof (struct v4_pair); break; #endif default: return EAI_NODATA; } storage = calloc (1, size); if (!storage) return EAI_MEMORY; switch (he->h_addrtype) { #if HAVE_IPV6 case PF_INET6: { struct v6_pair *p = storage; struct sockaddr_in6 *sinp = &p->sockaddr_in6; tmp = &p->addrinfo; if (port) sinp->sin6_port = port; if (he->h_length != sizeof (sinp->sin6_addr)) { free (storage); return EAI_SYSTEM; /* FIXME: Better return code? Set errno? */ } memcpy (&sinp->sin6_addr, he->h_addr_list[0], sizeof sinp->sin6_addr); tmp->ai_addr = (struct sockaddr *) sinp; tmp->ai_addrlen = sizeof *sinp; } break; #endif #if HAVE_IPV4 case PF_INET: { struct v4_pair *p = storage; struct sockaddr_in *sinp = &p->sockaddr_in; tmp = &p->addrinfo; if (port) sinp->sin_port = port; if (he->h_length != sizeof (sinp->sin_addr)) { free (storage); return EAI_SYSTEM; /* FIXME: Better return code? Set errno? */ } memcpy (&sinp->sin_addr, he->h_addr_list[0], sizeof sinp->sin_addr); tmp->ai_addr = (struct sockaddr *) sinp; tmp->ai_addrlen = sizeof *sinp; } break; #endif default: free (storage); return EAI_NODATA; } if (hints && hints->ai_flags & AI_CANONNAME) { const char *cn; if (he->h_name) cn = he->h_name; else cn = nodename; tmp->ai_canonname = strdup (cn); if (!tmp->ai_canonname) { free (storage); return EAI_MEMORY; } } tmp->ai_protocol = (hints) ? hints->ai_protocol : 0; tmp->ai_socktype = (hints) ? hints->ai_socktype : 0; tmp->ai_addr->sa_family = he->h_addrtype; tmp->ai_family = he->h_addrtype; #ifdef HAVE_STRUCT_SOCKADDR_SA_LEN switch (he->h_addrtype) { #if HAVE_IPV4 case AF_INET: tmp->ai_addr->sa_len = sizeof (struct sockaddr_in); break; #endif #if HAVE_IPV6 case AF_INET6: tmp->ai_addr->sa_len = sizeof (struct sockaddr_in6); break; #endif } #endif /* FIXME: If more than one address, create linked list of addrinfo's. */ *res = tmp; return 0; } /* Free 'addrinfo' structure AI including associated storage. */ void freeaddrinfo (struct addrinfo *ai) { #ifdef WINDOWS_NATIVE if (use_win32_p ()) { freeaddrinfo_ptr (ai); return; } #endif while (ai) { struct addrinfo *cur; cur = ai; ai = ai->ai_next; free (cur->ai_canonname); free (cur); } } int getnameinfo (const struct sockaddr *restrict sa, socklen_t salen, char *restrict node, socklen_t nodelen, char *restrict service, socklen_t servicelen, int flags) { #ifdef WINDOWS_NATIVE if (use_win32_p ()) return getnameinfo_ptr (sa, salen, node, nodelen, service, servicelen, flags); #endif /* FIXME: Support other flags. */ if ((node && nodelen > 0 && !(flags & NI_NUMERICHOST)) || (service && servicelen > 0 && !(flags & NI_NUMERICHOST)) || (flags & ~(NI_NUMERICHOST|NI_NUMERICSERV))) return EAI_BADFLAGS; if (sa == NULL || salen < sizeof (sa->sa_family)) return EAI_FAMILY; switch (sa->sa_family) { #if HAVE_IPV4 case AF_INET: if (salen < sizeof (struct sockaddr_in)) return EAI_FAMILY; break; #endif #if HAVE_IPV6 case AF_INET6: if (salen < sizeof (struct sockaddr_in6)) return EAI_FAMILY; break; #endif default: return EAI_FAMILY; } if (node && nodelen > 0 && flags & NI_NUMERICHOST) { switch (sa->sa_family) { #if HAVE_IPV4 case AF_INET: if (!inet_ntop (AF_INET, &(((const struct sockaddr_in *) sa)->sin_addr), node, nodelen)) return EAI_SYSTEM; break; #endif #if HAVE_IPV6 case AF_INET6: if (!inet_ntop (AF_INET6, &(((const struct sockaddr_in6 *) sa)->sin6_addr), node, nodelen)) return EAI_SYSTEM; break; #endif default: return EAI_FAMILY; } } if (service && servicelen > 0 && flags & NI_NUMERICSERV) switch (sa->sa_family) { #if HAVE_IPV4 case AF_INET: #endif #if HAVE_IPV6 case AF_INET6: #endif { unsigned short int port = ntohs (((const struct sockaddr_in *) sa)->sin_port); if (servicelen <= snprintf (service, servicelen, "%u", port)) return EAI_OVERFLOW; } break; } return 0; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ftell.c��������������������������������������������������������������������������0000664�0000000�0000000�00000002155�12071024546�012372� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An ftell() function that works around platform bugs. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> #include <errno.h> #include <limits.h> long ftell (FILE *fp) { /* Use the replacement ftello function with all its workarounds. */ off_t offset = ftello (fp); if (LONG_MIN <= offset && offset <= LONG_MAX) return /* (long) */ offset; else { errno = EOVERFLOW; return -1; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/netdb.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000022606�12071561011�012766� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a netdb.h header file for systems lacking it (read: MinGW). Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This file is supposed to be used on platforms that lack <netdb.h>. It is intended to provide definitions and prototypes needed by an application. */ #ifndef _@GUARD_PREFIX@_NETDB_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if @HAVE_NETDB_H@ /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_NETDB_H@ #endif #ifndef _@GUARD_PREFIX@_NETDB_H #define _@GUARD_PREFIX@_NETDB_H /* Get <netdb.h> definitions such as 'socklen_t' on IRIX 6.5 and OSF/1 4.0 and 'struct hostent' on MinGW. */ #include <sys/socket.h> /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Declarations for a platform that lacks <netdb.h>, or where it is incomplete. */ #if @GNULIB_GETADDRINFO@ # if !@HAVE_STRUCT_ADDRINFO@ # ifdef __cplusplus extern "C" { # endif # if !GNULIB_defined_struct_addrinfo /* Structure to contain information about address of a service provider. */ struct addrinfo { int ai_flags; /* Input flags. */ int ai_family; /* Protocol family for socket. */ int ai_socktype; /* Socket type. */ int ai_protocol; /* Protocol for socket. */ socklen_t ai_addrlen; /* Length of socket address. */ struct sockaddr *ai_addr; /* Socket address for socket. */ char *ai_canonname; /* Canonical name for service location. */ struct addrinfo *ai_next; /* Pointer to next in list. */ }; # define GNULIB_defined_struct_addrinfo 1 # endif # ifdef __cplusplus } # endif # endif /* Possible values for 'ai_flags' field in 'addrinfo' structure. */ # ifndef AI_PASSIVE # define AI_PASSIVE 0x0001 /* Socket address is intended for 'bind'. */ # endif # ifndef AI_CANONNAME # define AI_CANONNAME 0x0002 /* Request for canonical name. */ # endif # ifndef AI_NUMERICSERV # define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ # endif # if 0 # define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ # endif /* These symbolic constants are required to be present by POSIX, but our getaddrinfo replacement doesn't use them (yet). Setting them to 0 on systems that doesn't have them avoids causing problems for system getaddrinfo implementations that would be confused by unknown values. */ # ifndef AI_V4MAPPED # define AI_V4MAPPED 0 /* 0x0008: IPv4 mapped addresses are acceptable. */ # endif # ifndef AI_ALL # define AI_ALL 0 /* 0x0010: Return IPv4 mapped and IPv6 addresses. */ # endif # ifndef AI_ADDRCONFIG # define AI_ADDRCONFIG 0 /* 0x0020: Use configuration of this host to choose returned address type. */ # endif /* Error values for 'getaddrinfo' function. */ # ifndef EAI_BADFLAGS # define EAI_BADFLAGS -1 /* Invalid value for 'ai_flags' field. */ # define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ # define EAI_AGAIN -3 /* Temporary failure in name resolution. */ # define EAI_FAIL -4 /* Non-recoverable failure in name res. */ # define EAI_NODATA -5 /* No address associated with NAME. */ # define EAI_FAMILY -6 /* 'ai_family' not supported. */ # define EAI_SOCKTYPE -7 /* 'ai_socktype' not supported. */ # define EAI_SERVICE -8 /* SERVICE not supported for 'ai_socktype'. */ # define EAI_MEMORY -10 /* Memory allocation failure. */ # endif /* Since EAI_NODATA is deprecated by RFC3493, some systems (at least FreeBSD, which does define EAI_BADFLAGS) have removed the definition in favor of EAI_NONAME. */ # if !defined EAI_NODATA && defined EAI_NONAME # define EAI_NODATA EAI_NONAME # endif # ifndef EAI_OVERFLOW /* Not defined on mingw32 and Haiku. */ # define EAI_OVERFLOW -12 /* Argument buffer overflow. */ # endif # ifndef EAI_ADDRFAMILY /* Not defined on mingw32. */ # define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ # endif # ifndef EAI_SYSTEM /* Not defined on mingw32. */ # define EAI_SYSTEM -11 /* System error returned in 'errno'. */ # endif # if 0 /* The commented out definitions below are not yet implemented in the GNULIB getaddrinfo() replacement, so are not yet needed. If they are restored, be sure to protect the definitions with #ifndef. */ # ifndef EAI_INPROGRESS # define EAI_INPROGRESS -100 /* Processing request in progress. */ # define EAI_CANCELED -101 /* Request canceled. */ # define EAI_NOTCANCELED -102 /* Request not canceled. */ # define EAI_ALLDONE -103 /* All requests done. */ # define EAI_INTR -104 /* Interrupted by a signal. */ # define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ # endif # endif # if !@HAVE_DECL_GETADDRINFO@ /* Translate name of a service location and/or a service name to set of socket addresses. For more details, see the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/getaddrinfo.html>. */ _GL_FUNCDECL_SYS (getaddrinfo, int, (const char *restrict nodename, const char *restrict servname, const struct addrinfo *restrict hints, struct addrinfo **restrict res) _GL_ARG_NONNULL ((4))); # endif _GL_CXXALIAS_SYS (getaddrinfo, int, (const char *restrict nodename, const char *restrict servname, const struct addrinfo *restrict hints, struct addrinfo **restrict res)); _GL_CXXALIASWARN (getaddrinfo); # if !@HAVE_DECL_FREEADDRINFO@ /* Free 'addrinfo' structure AI including associated storage. For more details, see the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/getaddrinfo.html>. */ _GL_FUNCDECL_SYS (freeaddrinfo, void, (struct addrinfo *ai) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (freeaddrinfo, void, (struct addrinfo *ai)); _GL_CXXALIASWARN (freeaddrinfo); # if @REPLACE_GAI_STRERROR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gai_strerror # define gai_strerror rpl_gai_strerror # endif _GL_FUNCDECL_RPL (gai_strerror, const char *, (int ecode)); _GL_CXXALIAS_RPL (gai_strerror, const char *, (int ecode)); # else # if !@HAVE_DECL_GAI_STRERROR@ /* Convert error return from getaddrinfo() to a string. For more details, see the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/gai_strerror.html>. */ _GL_FUNCDECL_SYS (gai_strerror, const char *, (int ecode)); # endif _GL_CXXALIAS_SYS (gai_strerror, const char *, (int ecode)); # endif _GL_CXXALIASWARN (gai_strerror); # if !@HAVE_DECL_GETNAMEINFO@ /* Convert socket address to printable node and service names. For more details, see the POSIX:2001 specification <http://www.opengroup.org/susv3xsh/getnameinfo.html>. */ _GL_FUNCDECL_SYS (getnameinfo, int, (const struct sockaddr *restrict sa, socklen_t salen, char *restrict node, socklen_t nodelen, char *restrict service, socklen_t servicelen, int flags) _GL_ARG_NONNULL ((1))); # endif /* Need to cast, because on glibc systems, the seventh parameter is unsigned int flags. */ _GL_CXXALIAS_SYS_CAST (getnameinfo, int, (const struct sockaddr *restrict sa, socklen_t salen, char *restrict node, socklen_t nodelen, char *restrict service, socklen_t servicelen, int flags)); _GL_CXXALIASWARN (getnameinfo); /* Possible flags for getnameinfo. */ # ifndef NI_NUMERICHOST # define NI_NUMERICHOST 1 # endif # ifndef NI_NUMERICSERV # define NI_NUMERICSERV 2 # endif #elif defined GNULIB_POSIXCHECK # undef getaddrinfo # if HAVE_RAW_DECL_GETADDRINFO _GL_WARN_ON_USE (getaddrinfo, "getaddrinfo is unportable - " "use gnulib module getaddrinfo for portability"); # endif # undef freeaddrinfo # if HAVE_RAW_DECL_FREEADDRINFO _GL_WARN_ON_USE (freeaddrinfo, "freeaddrinfo is unportable - " "use gnulib module getaddrinfo for portability"); # endif # undef gai_strerror # if HAVE_RAW_DECL_GAI_STRERROR _GL_WARN_ON_USE (gai_strerror, "gai_strerror is unportable - " "use gnulib module getaddrinfo for portability"); # endif # undef getnameinfo # if HAVE_RAW_DECL_GETNAMEINFO _GL_WARN_ON_USE (getnameinfo, "getnameinfo is unportable - " "use gnulib module getaddrinfo for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_NETDB_H */ #endif /* _@GUARD_PREFIX@_NETDB_H */ ��������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/savedir.c������������������������������������������������������������������������0000664�0000000�0000000�00000007357�12071024546�012732� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* savedir.c -- save the list of files in a directory in a string Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */ #include <config.h> #include "savedir.h" #include <sys/types.h> #include <errno.h> #include "dirent--.h" #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif #include <stddef.h> #include <stdlib.h> #include <string.h> #include "xalloc.h" #ifndef NAME_SIZE_DEFAULT # define NAME_SIZE_DEFAULT 512 #endif /* Return a freshly allocated string containing the file names in directory DIRP, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if DIRP cannot be read. If DIRP is NULL, return NULL without affecting errno. */ char * streamsavedir (DIR *dirp) { char *name_space; size_t allocated = NAME_SIZE_DEFAULT; size_t used = 0; int save_errno; if (dirp == NULL) return NULL; name_space = xmalloc (allocated); for (;;) { struct dirent const *dp; char const *entry; errno = 0; dp = readdir (dirp); if (! dp) break; /* Skip "", ".", and "..". "" is returned by at least one buggy implementation: Solaris 2.4 readdir on NFS file systems. */ entry = dp->d_name; if (entry[entry[0] != '.' ? 0 : entry[1] != '.' ? 1 : 2] != '\0') { size_t entry_size = _D_EXACT_NAMLEN (dp) + 1; if (used + entry_size < used) xalloc_die (); if (allocated <= used + entry_size) { do { if (2 * allocated < allocated) xalloc_die (); allocated *= 2; } while (allocated <= used + entry_size); name_space = xrealloc (name_space, allocated); } memcpy (name_space + used, entry, entry_size); used += entry_size; } } name_space[used] = '\0'; save_errno = errno; if (save_errno != 0) { free (name_space); errno = save_errno; return NULL; } return name_space; } /* Like streamsavedir (DIRP), except also close DIRP. */ static char * savedirstream (DIR *dirp) { char *name_space = streamsavedir (dirp); if (dirp && closedir (dirp) != 0) { int save_errno = errno; free (name_space); errno = save_errno; return NULL; } return name_space; } /* Return a freshly allocated string containing the file names in directory DIR, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if DIR cannot be opened, read, or closed. */ char * savedir (char const *dir) { return savedirstream (opendir (dir)); } /* Return a freshly allocated string containing the file names in directory FD, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if FD cannot be read or closed. */ /* deprecated */ char * fdsavedir (int fd) { return savedirstream (fdopendir (fd)); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randint.c������������������������������������������������������������������������0000664�0000000�0000000�00000014127�12102337340�012717� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate random integers. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "randint.h" #include <errno.h> #include <limits.h> #include <stdlib.h> #include <string.h> #if TEST # include <inttypes.h> # include <stdio.h> int main (int argc, char **argv) { randint i; randint n = strtoumax (argv[1], NULL, 10); randint choices = strtoumax (argv[2], NULL, 10); char const *name = argv[3]; struct randint_source *ints = randint_all_new (name, SIZE_MAX); for (i = 0; i < n; i++) printf ("%"PRIuMAX"\n", randint_choose (ints, choices)); return (randint_all_free (ints) == 0 ? EXIT_SUCCESS : EXIT_FAILURE); } #endif #include "xalloc.h" /* A source of random data for generating random integers. */ struct randint_source { /* The source of random bytes. */ struct randread_source *source; /* RANDNUM is a buffered random integer, whose information has not yet been delivered to the caller. It is uniformly distributed in the range 0 <= RANDNUM <= RANDMAX. If RANDMAX is zero, then RANDNUM must be zero (and in some sense it is not really "random"). */ randint randnum; randint randmax; }; /* Create a new randint_source from SOURCE. */ struct randint_source * randint_new (struct randread_source *source) { struct randint_source *s = xmalloc (sizeof *s); s->source = source; s->randnum = s->randmax = 0; return s; } /* Create a new randint_source by creating a randread_source from NAME and ESTIMATED_BYTES. Return NULL (setting errno) if unsuccessful. */ struct randint_source * randint_all_new (char const *name, size_t bytes_bound) { struct randread_source *source = randread_new (name, bytes_bound); return (source ? randint_new (source) : NULL); } /* Return the random data source of *S. */ struct randread_source * randint_get_source (struct randint_source const *s) { return s->source; } /* HUGE_BYTES is true on hosts hosts where randint and unsigned char have the same width and where shifting by the word size therefore has undefined behavior. */ enum { HUGE_BYTES = RANDINT_MAX == UCHAR_MAX }; /* Return X shifted left by CHAR_BIT bits. */ static inline randint shift_left (randint x) { return HUGE_BYTES ? 0 : x << CHAR_BIT; } /* Return X shifted right by CHAR_BIT bits. */ static inline randint shift_right (randint x) { return HUGE_BYTES ? 0 : x >> CHAR_BIT; } /* Consume random data from *S to generate a random number in the range 0 .. GENMAX. */ randint randint_genmax (struct randint_source *s, randint genmax) { struct randread_source *source = s->source; randint randnum = s->randnum; randint randmax = s->randmax; randint choices = genmax + 1; while (1) { if (randmax < genmax) { /* Calculate how many input bytes will be needed, and read the bytes. */ size_t i = 0; randint rmax = randmax; unsigned char buf[sizeof randnum]; do { rmax = shift_left (rmax) + UCHAR_MAX; i++; } while (rmax < genmax); randread (source, buf, i); /* Increase RANDMAX by appending random bytes to RANDNUM and UCHAR_MAX to RANDMAX until RANDMAX is no less than GENMAX. This may lose up to CHAR_BIT bits of information if shift_right (RANDINT_MAX) < GENMAX, but it is not worth the programming hassle of saving these bits since GENMAX is rarely that large in practice. */ i = 0; do { randnum = shift_left (randnum) + buf[i]; randmax = shift_left (randmax) + UCHAR_MAX; i++; } while (randmax < genmax); } if (randmax == genmax) { s->randnum = s->randmax = 0; return randnum; } else { /* GENMAX < RANDMAX, so attempt to generate a random number by taking RANDNUM modulo GENMAX+1. This will choose fairly so long as RANDNUM falls within an integral multiple of GENMAX+1; otherwise, LAST_USABLE_CHOICE < RANDNUM, so discard this attempt and try again. Since GENMAX cannot be RANDINT_MAX, CHOICES cannot be zero and there is no need to worry about dividing by zero. */ randint excess_choices = randmax - genmax; randint unusable_choices = excess_choices % choices; randint last_usable_choice = randmax - unusable_choices; randint reduced_randnum = randnum % choices; if (randnum <= last_usable_choice) { s->randnum = randnum / choices; s->randmax = excess_choices / choices; return reduced_randnum; } /* Retry, but retain the randomness from the fact that RANDNUM fell into the range LAST_USABLE_CHOICE+1 .. RANDMAX. */ randnum = reduced_randnum; randmax = unusable_choices - 1; } } } /* Clear *S so that it no longer contains undelivered random data. */ void randint_free (struct randint_source *s) { memset (s, 0, sizeof *s); free (s); } /* Likewise, but also clear the underlying randread object. Return 0 if successful, -1 (setting errno) otherwise. */ int randint_all_free (struct randint_source *s) { int r = randread_free (s->source); int e = errno; randint_free (s); errno = e; return r; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filemode.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002315�12071024546�013053� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Make a string describing file modes. Copyright (C) 1998-1999, 2003, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef FILEMODE_H_ # include <sys/types.h> # include <sys/stat.h> /* Get the declaration of strmode. */ # if HAVE_DECL_STRMODE # include <string.h> /* Mac OS X, FreeBSD, OpenBSD */ # include <unistd.h> /* NetBSD */ # endif # ifdef __cplusplus extern "C" { # endif # if !HAVE_DECL_STRMODE extern void strmode (mode_t mode, char *str); # endif extern void filemodestring (struct stat const *statp, char *str); # ifdef __cplusplus } # endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ftoastr.h������������������������������������������������������������������������0000664�0000000�0000000�00000014067�12071024546�012760� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* floating point to accurate string Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef _GL_FTOASTR_H #include "intprops.h" #include <float.h> #include <stddef.h> /* Store into BUF (of size BUFSIZE) an accurate minimal-precision string representation of a floating point number. FLAGS affect the formatting of the number. Pad the output string with spaces as necessary to width WIDTH bytes, in the style of printf. WIDTH must be nonnegative. X is the floating-point number to be converted. Return the number of bytes stored into BUF, not counting the terminating null. However, do not overrun BUF: if BUF is too small, return a fairly tight (but not necessarily exact) upper bound on the value that would have been returned if BUF had been big enough. If SIZE is zero, BUF may be a null pointer. On error (e.g., returned value would exceed INT_MAX), return -1 and set errno. Example: char buf[DBL_BUFSIZE_BOUND]; int r = dtoastr (buf, sizeof buf, 0, 0, 0.1); In the C locale, this sets R to 3 and stores "0.1" into BUF. */ int ftoastr (char *buf, size_t bufsize, int flags, int width, float x); int dtoastr (char *buf, size_t bufsize, int flags, int width, double x); int ldtoastr (char *buf, size_t bufsize, int flags, int width, long double x); /* Flag values for ftoastr etc. These can be ORed together. */ enum { /* Left justify within the width; the default is right justification. */ FTOASTR_LEFT_JUSTIFY = 1, /* Output "+" before positive numbers; the default outputs nothing. */ FTOASTR_ALWAYS_SIGNED = 2, /* Output " " before positive numbers; ignored if FTOASTR_ALWAYS_SIGNED is also given. */ FTOASTR_SPACE_POSITIVE = 4, /* Pad with zeros instead of spaces; ignored if FTOASTR_LEFT_JUSTIFY is also given. */ FTOASTR_ZERO_PAD = 8, /* Use 'E' instead of 'e' before the exponent. */ FTOASTR_UPPER_E = 16 }; /* _GL_FLT_PREC_BOUND is an upper bound on the precision needed to represent a float value without losing information. Likewise for _GL_DBL_PREC_BOUND and double, and _GL_LDBL_PREC_BOUND and long double. */ #if FLT_RADIX == 10 /* decimal floating point */ enum { _GL_FLT_PREC_BOUND = FLT_MANT_DIG }; enum { _GL_DBL_PREC_BOUND = DBL_MANT_DIG }; enum { _GL_LDBL_PREC_BOUND = LDBL_MANT_DIG }; #else /* An upper bound on the number of bits needed to represent a single digit in a floating-point fraction. */ # if FLT_RADIX == 2 /* IEEE 754 floating point, VAX floating point, etc. */ # define _GL_FLOAT_DIG_BITS_BOUND 1 # elif FLT_RADIX <= 16 /* IBM hex floating point has FLT_RADIX == 16. */ # define _GL_FLOAT_DIG_BITS_BOUND 4 # else /* no machine is this bad, but let's be complete */ # define _GL_FLOAT_DIG_BITS_BOUND (CHAR_BIT * (int) sizeof (int) - 1) # endif /* An upper bound on the number of decimal digits needed to represent a floating point number accurately, assuming a fraction contains DIG digits. For why the "+ 1" is needed, see "Binary to Decimal Conversion" in David Goldberg's paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic" <http://docs.sun.com/source/806-3568/ncg_goldberg.html>. */ # define _GL_FLOAT_PREC_BOUND(dig) \ (INT_BITS_STRLEN_BOUND ((dig) * _GL_FLOAT_DIG_BITS_BOUND) + 1) enum { _GL_FLT_PREC_BOUND = _GL_FLOAT_PREC_BOUND ( FLT_MANT_DIG) }; enum { _GL_DBL_PREC_BOUND = _GL_FLOAT_PREC_BOUND ( DBL_MANT_DIG) }; enum { _GL_LDBL_PREC_BOUND = _GL_FLOAT_PREC_BOUND (LDBL_MANT_DIG) }; #endif /* Bound on the number of bytes printed for an exponent in the range MIN..MAX, where MIN < 0 < MAX; printf always prints a sign and at least 2 digits. Although the maximum known exponent is 4932 for IEEE 754 binary128, support tight bounds for exponents up to a million, just in case. */ #define _GL_FLOAT_EXPONENT_STRLEN_BOUND(min, max) \ ( -100 < (min) && (max) < 100 ? 3 \ : -1000 < (min) && (max) < 1000 ? 4 \ : -10000 < (min) && (max) < 10000 ? 5 \ : -100000 < (min) && (max) < 100000 ? 6 \ : -1000000 < (min) && (max) < 1000000 ? 7 \ : INT_STRLEN_BOUND (int) /* not a tight bound */) /* A reasonably tight bound on the length of a type-T floating value formatted with ftoastr etc. Room is needed for sign, fraction digits, decimal point, "e", and exponent. POINTLEN should be a reasonably tight bound on the string length of the decimal point. */ #define _GL_FLOAT_STRLEN_BOUND_L(t, pointlen) \ (1 + _GL_##t##_PREC_BOUND + pointlen + 1 \ + _GL_FLOAT_EXPONENT_STRLEN_BOUND (t##_MIN_10_EXP, t##_MAX_10_EXP)) #define FLT_STRLEN_BOUND_L(pointlen) _GL_FLOAT_STRLEN_BOUND_L ( FLT, pointlen) #define DBL_STRLEN_BOUND_L(pointlen) _GL_FLOAT_STRLEN_BOUND_L ( DBL, pointlen) #define LDBL_STRLEN_BOUND_L(pointlen) _GL_FLOAT_STRLEN_BOUND_L (LDBL, pointlen) /* Looser bounds that are locale-independent and are integral constant expressions. */ #define FLT_STRLEN_BOUND FLT_STRLEN_BOUND_L (MB_LEN_MAX) #define DBL_STRLEN_BOUND DBL_STRLEN_BOUND_L (MB_LEN_MAX) #define LDBL_STRLEN_BOUND LDBL_STRLEN_BOUND_L (MB_LEN_MAX) /* Looser, locale-independent bounds that include the trailing null byte. */ #define FLT_BUFSIZE_BOUND ( FLT_STRLEN_BOUND + 1) #define DBL_BUFSIZE_BOUND ( DBL_STRLEN_BOUND + 1) #define LDBL_BUFSIZE_BOUND (LDBL_STRLEN_BOUND + 1) #endif /* _GL_FTOASTR_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dosname.h������������������������������������������������������������������������0000664�0000000�0000000�00000003733�12071024546�012722� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* File names on MS-DOS/Windows systems. Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. From Paul Eggert and Jim Meyering. */ #ifndef _DOSNAME_H #define _DOSNAME_H #if (defined _WIN32 || defined __WIN32__ || \ defined __MSDOS__ || defined __CYGWIN__ || \ defined __EMX__ || defined __DJGPP__) /* This internal macro assumes ASCII, but all hosts that support drive letters use ASCII. */ # define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a' \ <= 'z' - 'a') # define FILE_SYSTEM_PREFIX_LEN(Filename) \ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0) # ifndef __CYGWIN__ # define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1 # endif # define ISSLASH(C) ((C) == '/' || (C) == '\\') #else # define FILE_SYSTEM_PREFIX_LEN(Filename) 0 # define ISSLASH(C) ((C) == '/') #endif #ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 #endif #if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)]) # else # define IS_ABSOLUTE_FILE_NAME(F) \ (ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0) #endif #define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F)) #endif /* DOSNAME_H_ */ �������������������������������������coreutils-8.21/lib/getdtablesize.c������������������������������������������������������������������0000664�0000000�0000000�00000004763�12071024546�014121� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getdtablesize() function for platforms that don't have it. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ #include <stdio.h> #include "msvc-inval.h" #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int _setmaxstdio_nothrow (int newmax) { int result; TRY_MSVC_INVAL { result = _setmaxstdio (newmax); } CATCH_MSVC_INVAL { result = -1; } DONE_MSVC_INVAL; return result; } # define _setmaxstdio _setmaxstdio_nothrow #endif /* Cache for the previous getdtablesize () result. */ static int dtablesize; int getdtablesize (void) { if (dtablesize == 0) { /* We are looking for the number N such that the valid file descriptors are 0..N-1. It can be obtained through a loop as follows: { int fd; for (fd = 3; fd < 65536; fd++) if (dup2 (0, fd) == -1) break; return fd; } On Windows XP, the result is 2048. The drawback of this loop is that it allocates memory for a libc internal array that is never freed. The number N can also be obtained as the upper bound for _getmaxstdio (). _getmaxstdio () returns the maximum number of open FILE objects. The sanity check in _setmaxstdio reveals the maximum number of file descriptors. This too allocates memory, but it is freed when we call _setmaxstdio with the original value. */ int orig_max_stdio = _getmaxstdio (); unsigned int bound; for (bound = 0x10000; _setmaxstdio (bound) < 0; bound = bound / 2) ; _setmaxstdio (orig_max_stdio); dtablesize = bound; } return dtablesize; } #endif �������������coreutils-8.21/lib/strftime.c�����������������������������������������������������������������������0000664�0000000�0000000�00000133415�12100637437�013127� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef _LIBC # define HAVE_STRUCT_ERA_ENTRY 1 # define HAVE_TM_GMTOFF 1 # define HAVE_TM_ZONE 1 # define HAVE_TZNAME 1 # define HAVE_TZSET 1 # include "../locale/localeinfo.h" #else # include <config.h> # if FPRINTFTIME # include "fprintftime.h" # else # include "strftime.h" # endif #endif #include <ctype.h> #include <time.h> #if HAVE_TZNAME && !HAVE_DECL_TZNAME extern char *tzname[]; #endif /* Do multibyte processing if multibyte encodings are supported, unless multibyte sequences are safe in formats. Multibyte sequences are safe if they cannot contain byte sequences that look like format conversion specifications. The multibyte encodings used by the C library on the various platforms (UTF-8, GB2312, GBK, CP936, GB18030, EUC-TW, BIG5, BIG5-HKSCS, CP950, EUC-JP, EUC-KR, CP949, SHIFT_JIS, CP932, JOHAB) are safe for formats, because the byte '%' cannot occur in a multibyte character except in the first byte. The DEC-HANYU encoding used on OSF/1 is not safe for formats, but this encoding has never been seen in real-life use, so we ignore it. */ #if !(defined __osf__ && 0) # define MULTIBYTE_IS_FORMAT_SAFE 1 #endif #define DO_MULTIBYTE (! MULTIBYTE_IS_FORMAT_SAFE) #if DO_MULTIBYTE # include <wchar.h> static const mbstate_t mbstate_zero; #endif #include <limits.h> #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include <string.h> #ifdef COMPILE_WIDE # include <endian.h> # define CHAR_T wchar_t # define UCHAR_T unsigned int # define L_(Str) L##Str # define NLW(Sym) _NL_W##Sym # define MEMCPY(d, s, n) __wmemcpy (d, s, n) # define STRLEN(s) __wcslen (s) #else # define CHAR_T char # define UCHAR_T unsigned char # define L_(Str) Str # define NLW(Sym) Sym # define MEMCPY(d, s, n) memcpy (d, s, n) # define STRLEN(s) strlen (s) #endif /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if t is signed; log10 (2.0) < 146/485; add 1 for integer division truncation; add 1 more for a minus sign if needed. */ #define INT_STRLEN_BOUND(t) \ ((sizeof (t) * CHAR_BIT - 1) * 146 / 485 + 2) #define TM_YEAR_BASE 1900 #ifndef __isleap /* Nonzero if YEAR is a leap year (every 4 years, except every 100th isn't, and every 400th is). */ # define __isleap(year) \ ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) #endif #ifdef _LIBC # define tzname __tzname # define tzset __tzset #endif #if !HAVE_TM_GMTOFF /* Portable standalone applications should supply a "time.h" that declares a POSIX-compliant localtime_r, for the benefit of older implementations that lack localtime_r or have a nonstandard one. See the gnulib time_r module for one way to implement this. */ # undef __gmtime_r # undef __localtime_r # define __gmtime_r gmtime_r # define __localtime_r localtime_r #endif #ifndef FPRINTFTIME # define FPRINTFTIME 0 #endif #if FPRINTFTIME # define STREAM_OR_CHAR_T FILE # define STRFTIME_ARG(x) /* empty */ #else # define STREAM_OR_CHAR_T CHAR_T # define STRFTIME_ARG(x) x, #endif #if FPRINTFTIME # define memset_byte(P, Len, Byte) \ do { size_t _i; for (_i = 0; _i < Len; _i++) fputc (Byte, P); } while (0) # define memset_space(P, Len) memset_byte (P, Len, ' ') # define memset_zero(P, Len) memset_byte (P, Len, '0') #elif defined COMPILE_WIDE # define memset_space(P, Len) (wmemset (P, L' ', Len), (P) += (Len)) # define memset_zero(P, Len) (wmemset (P, L'0', Len), (P) += (Len)) #else # define memset_space(P, Len) (memset (P, ' ', Len), (P) += (Len)) # define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) #endif #if FPRINTFTIME # define advance(P, N) #else # define advance(P, N) ((P) += (N)) #endif #define add(n, f) \ do \ { \ size_t _n = (n); \ size_t _w = (width < 0 ? 0 : width); \ size_t _incr = _n < _w ? _w : _n; \ if (_incr >= maxsize - i) \ return 0; \ if (p) \ { \ if (digits == 0 && _n < _w) \ { \ size_t _delta = width - _n; \ if (pad == L_('0')) \ memset_zero (p, _delta); \ else \ memset_space (p, _delta); \ } \ f; \ advance (p, _n); \ } \ i += _incr; \ } while (0) #if FPRINTFTIME # define add1(C) add (1, fputc (C, p)) #else # define add1(C) add (1, *p = C) #endif #if FPRINTFTIME # define cpy(n, s) \ add ((n), \ do \ { \ if (to_lowcase) \ fwrite_lowcase (p, (s), _n); \ else if (to_uppcase) \ fwrite_uppcase (p, (s), _n); \ else \ { \ /* Ignore the value of fwrite. The caller can determine whether \ an error occurred by inspecting ferror (P). All known fwrite \ implementations set the stream's error indicator when they \ fail due to ENOMEM etc., even though C11 and POSIX.1-2008 do \ not require this. */ \ fwrite (s, _n, 1, p); \ } \ } \ while (0) \ ) #else # define cpy(n, s) \ add ((n), \ if (to_lowcase) \ memcpy_lowcase (p, (s), _n LOCALE_ARG); \ else if (to_uppcase) \ memcpy_uppcase (p, (s), _n LOCALE_ARG); \ else \ MEMCPY ((void *) p, (void const *) (s), _n)) #endif #ifdef COMPILE_WIDE # ifndef USE_IN_EXTENDED_LOCALE_MODEL # undef __mbsrtowcs_l # define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st) # endif # define widen(os, ws, l) \ { \ mbstate_t __st; \ const char *__s = os; \ memset (&__st, '\0', sizeof (__st)); \ l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \ ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \ (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \ } #endif #if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL /* We use this code also for the extended locale handling where the function gets as an additional argument the locale which has to be used. To access the values we have to redefine the _NL_CURRENT macro. */ # define strftime __strftime_l # define wcsftime __wcsftime_l # undef _NL_CURRENT # define _NL_CURRENT(category, item) \ (current->values[_NL_ITEM_INDEX (item)].string) # define LOCALE_ARG , loc # define LOCALE_PARAM_PROTO , __locale_t loc # define HELPER_LOCALE_ARG , current #else # define LOCALE_PARAM_PROTO # define LOCALE_ARG # ifdef _LIBC # define HELPER_LOCALE_ARG , _NL_CURRENT_DATA (LC_TIME) # else # define HELPER_LOCALE_ARG # endif #endif #ifdef COMPILE_WIDE # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define TOUPPER(Ch, L) __towupper_l (Ch, L) # define TOLOWER(Ch, L) __towlower_l (Ch, L) # else # define TOUPPER(Ch, L) towupper (Ch) # define TOLOWER(Ch, L) towlower (Ch) # endif #else # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define TOUPPER(Ch, L) __toupper_l (Ch, L) # define TOLOWER(Ch, L) __tolower_l (Ch, L) # else # define TOUPPER(Ch, L) toupper (Ch) # define TOLOWER(Ch, L) tolower (Ch) # endif #endif /* We don't use 'isdigit' here since the locale dependent interpretation is not what we want here. We only need to accept the arabic digits in the ASCII range. One day there is perhaps a more reliable way to accept other sets of digits. */ #define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9) #if FPRINTFTIME static void fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len) { while (len-- > 0) { fputc (TOLOWER ((UCHAR_T) *src, loc), fp); ++src; } } static void fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len) { while (len-- > 0) { fputc (TOUPPER ((UCHAR_T) *src, loc), fp); ++src; } } #else static CHAR_T * memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM_PROTO) { while (len-- > 0) dest[len] = TOLOWER ((UCHAR_T) src[len], loc); return dest; } static CHAR_T * memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM_PROTO) { while (len-- > 0) dest[len] = TOUPPER ((UCHAR_T) src[len], loc); return dest; } #endif #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. */ # define tm_diff ftime_tm_diff static int tm_diff (const struct tm *a, const struct tm *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations, but it's OK to assume that A and B are close to each other. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); int years = a->tm_year - b->tm_year; int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ /* The number of days from the first day of the first ISO week of this year to the year day YDAY with week day WDAY. ISO weeks start on Monday; the first ISO week has the year's first Thursday. YDAY may be as small as YDAY_MINIMUM. */ #define ISO_WEEK_START_WDAY 1 /* Monday */ #define ISO_WEEK1_WDAY 4 /* Thursday */ #define YDAY_MINIMUM (-366) #ifdef __GNUC__ __inline__ #endif static int iso_week_days (int yday, int wday) { /* Add enough to the first operand of % to make it nonnegative. */ int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7; return (yday - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7 + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY); } /* When compiling this file, GNU applications can #define my_strftime to a symbol (typically nstrftime) to get an extended strftime with extra arguments UT and NS. Emacs is a special case for now, but this Emacs-specific code can be removed once Emacs's config.h defines my_strftime. */ #if defined emacs && !defined my_strftime # define my_strftime nstrftime #endif #if FPRINTFTIME # undef my_strftime # define my_strftime fprintftime #endif #ifdef my_strftime # define extra_args , ut, ns # define extra_args_spec , int ut, int ns #else # if defined COMPILE_WIDE # define my_strftime wcsftime # define nl_get_alt_digit _nl_get_walt_digit # else # define my_strftime strftime # define nl_get_alt_digit _nl_get_alt_digit # endif # define extra_args # define extra_args_spec /* We don't have this information in general. */ # define ut 0 # define ns 0 #endif /* Just like my_strftime, below, but with one more parameter, UPCASE, to indicate that the result should be converted to upper case. */ static size_t strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) const CHAR_T *format, const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO) { #if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL struct locale_data *const current = loc->__locales[LC_TIME]; #endif #if FPRINTFTIME size_t maxsize = (size_t) -1; #endif int hour12 = tp->tm_hour; #ifdef _NL_CURRENT /* We cannot make the following values variables since we must delay the evaluation of these values until really needed since some expressions might not be valid in every situation. The 'struct tm' might be generated by a strptime() call that initialized only a few elements. Dereference the pointers only if the format requires this. Then it is ok to fail if the pointers are invalid. */ # define a_wkday \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday)) # define f_wkday \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday)) # define a_month \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon)) # define f_month \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon)) # define ampm \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \ ? NLW(PM_STR) : NLW(AM_STR))) # define aw_len STRLEN (a_wkday) # define am_len STRLEN (a_month) # define ap_len STRLEN (ampm) #endif const char *zone; size_t i = 0; STREAM_OR_CHAR_T *p = s; const CHAR_T *f; #if DO_MULTIBYTE && !defined COMPILE_WIDE const char *format_end = NULL; #endif #if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned by localtime. On such systems, we must either use the tzset and localtime wrappers to work around the bug (which sets HAVE_RUN_TZSET_TEST) or make a copy of the structure. */ struct tm copy = *tp; tp = © #endif zone = NULL; #if HAVE_TM_ZONE /* The POSIX test suite assumes that setting the environment variable TZ to a new value before calling strftime() will influence the result (the %Z format) even if the information in TP is computed with a totally different time zone. This is bogus: though POSIX allows bad behavior like this, POSIX does not require it. Do the right thing instead. */ zone = (const char *) tp->tm_zone; #endif #if HAVE_TZNAME if (ut) { if (! (zone && *zone)) zone = "GMT"; } else { /* POSIX.1 requires that local time zone information be used as though strftime called tzset. */ # if HAVE_TZSET tzset (); # endif } #endif if (hour12 > 12) hour12 -= 12; else if (hour12 == 0) hour12 = 12; for (f = format; *f != '\0'; ++f) { int pad = 0; /* Padding for number ('-', '_', or 0). */ int modifier; /* Field modifier ('E', 'O', or 0). */ int digits = 0; /* Max digits for numeric format. */ int number_value; /* Numeric value to be printed. */ unsigned int u_number_value; /* (unsigned int) number_value. */ bool negative_number; /* The number is negative. */ bool always_output_a_sign; /* +/- should always be output. */ int tz_colon_mask; /* Bitmask of where ':' should appear. */ const CHAR_T *subfmt; CHAR_T sign_char; CHAR_T *bufp; CHAR_T buf[1 + 2 /* for the two colons in a %::z or %:::z time zone */ + (sizeof (int) < sizeof (time_t) ? INT_STRLEN_BOUND (time_t) : INT_STRLEN_BOUND (int))]; int width = -1; bool to_lowcase = false; bool to_uppcase = upcase; size_t colons; bool change_case = false; int format_char; #if DO_MULTIBYTE && !defined COMPILE_WIDE switch (*f) { case L_('%'): break; case L_('\b'): case L_('\t'): case L_('\n'): case L_('\v'): case L_('\f'): case L_('\r'): case L_(' '): case L_('!'): case L_('"'): case L_('#'): case L_('&'): case L_('\''): case L_('('): case L_(')'): case L_('*'): case L_('+'): case L_(','): case L_('-'): case L_('.'): case L_('/'): case L_('0'): case L_('1'): case L_('2'): case L_('3'): case L_('4'): case L_('5'): case L_('6'): case L_('7'): case L_('8'): case L_('9'): case L_(':'): case L_(';'): case L_('<'): case L_('='): case L_('>'): case L_('?'): case L_('A'): case L_('B'): case L_('C'): case L_('D'): case L_('E'): case L_('F'): case L_('G'): case L_('H'): case L_('I'): case L_('J'): case L_('K'): case L_('L'): case L_('M'): case L_('N'): case L_('O'): case L_('P'): case L_('Q'): case L_('R'): case L_('S'): case L_('T'): case L_('U'): case L_('V'): case L_('W'): case L_('X'): case L_('Y'): case L_('Z'): case L_('['): case L_('\\'): case L_(']'): case L_('^'): case L_('_'): case L_('a'): case L_('b'): case L_('c'): case L_('d'): case L_('e'): case L_('f'): case L_('g'): case L_('h'): case L_('i'): case L_('j'): case L_('k'): case L_('l'): case L_('m'): case L_('n'): case L_('o'): case L_('p'): case L_('q'): case L_('r'): case L_('s'): case L_('t'): case L_('u'): case L_('v'): case L_('w'): case L_('x'): case L_('y'): case L_('z'): case L_('{'): case L_('|'): case L_('}'): case L_('~'): /* The C Standard requires these 98 characters (plus '%') to be in the basic execution character set. None of these characters can start a multibyte sequence, so they need not be analyzed further. */ add1 (*f); continue; default: /* Copy this multibyte sequence until we reach its end, find an error, or come back to the initial shift state. */ { mbstate_t mbstate = mbstate_zero; size_t len = 0; size_t fsize; if (! format_end) format_end = f + strlen (f) + 1; fsize = format_end - f; do { size_t bytes = mbrlen (f + len, fsize - len, &mbstate); if (bytes == 0) break; if (bytes == (size_t) -2) { len += strlen (f + len); break; } if (bytes == (size_t) -1) { len++; break; } len += bytes; } while (! mbsinit (&mbstate)); cpy (len, f); f += len - 1; continue; } } #else /* ! DO_MULTIBYTE */ /* Either multibyte encodings are not supported, they are safe for formats, so any non-'%' byte can be copied through, or this is the wide character version. */ if (*f != L_('%')) { add1 (*f); continue; } #endif /* ! DO_MULTIBYTE */ /* Check for flags that can modify a format. */ while (1) { switch (*++f) { /* This influences the number formats. */ case L_('_'): case L_('-'): case L_('0'): pad = *f; continue; /* This changes textual output. */ case L_('^'): to_uppcase = true; continue; case L_('#'): change_case = true; continue; default: break; } break; } /* As a GNU extension we allow to specify the field width. */ if (ISDIGIT (*f)) { width = 0; do { if (width > INT_MAX / 10 || (width == INT_MAX / 10 && *f - L_('0') > INT_MAX % 10)) /* Avoid overflow. */ width = INT_MAX; else { width *= 10; width += *f - L_('0'); } ++f; } while (ISDIGIT (*f)); } /* Check for modifiers. */ switch (*f) { case L_('E'): case L_('O'): modifier = *f++; break; default: modifier = 0; break; } /* Now do the specified format. */ format_char = *f; switch (format_char) { #define DO_NUMBER(d, v) \ digits = d; \ number_value = v; goto do_number #define DO_SIGNED_NUMBER(d, negative, v) \ digits = d; \ negative_number = negative; \ u_number_value = v; goto do_signed_number /* The mask is not what you might think. When the ordinal i'th bit is set, insert a colon before the i'th digit of the time zone representation. */ #define DO_TZ_OFFSET(d, negative, mask, v) \ digits = d; \ negative_number = negative; \ tz_colon_mask = mask; \ u_number_value = v; goto do_tz_offset #define DO_NUMBER_SPACEPAD(d, v) \ digits = d; \ number_value = v; goto do_number_spacepad case L_('%'): if (modifier != 0) goto bad_format; add1 (*f); break; case L_('a'): if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (aw_len, a_wkday); break; #else goto underlying_strftime; #endif case 'A': if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (STRLEN (f_wkday), f_wkday); break; #else goto underlying_strftime; #endif case L_('b'): case L_('h'): if (change_case) { to_uppcase = true; to_lowcase = false; } if (modifier != 0) goto bad_format; #ifdef _NL_CURRENT cpy (am_len, a_month); break; #else goto underlying_strftime; #endif case L_('B'): if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (STRLEN (f_month), f_month); break; #else goto underlying_strftime; #endif case L_('c'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == 'E' && (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_D_T_FMT))) != '\0'))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_T_FMT)); #else goto underlying_strftime; #endif subformat: { size_t len = strftime_case_ (to_uppcase, NULL, STRFTIME_ARG ((size_t) -1) subfmt, tp extra_args LOCALE_ARG); add (len, strftime_case_ (to_uppcase, p, STRFTIME_ARG (maxsize - i) subfmt, tp extra_args LOCALE_ARG)); } break; #if !(defined _NL_CURRENT && HAVE_STRUCT_ERA_ENTRY) underlying_strftime: { /* The relevant information is available only via the underlying strftime implementation, so use that. */ char ufmt[5]; char *u = ufmt; char ubuf[1024]; /* enough for any single format in practice */ size_t len; /* Make sure we're calling the actual underlying strftime. In some cases, config.h contains something like "#define strftime rpl_strftime". */ # ifdef strftime # undef strftime size_t strftime (); # endif /* The space helps distinguish strftime failure from empty output. */ *u++ = ' '; *u++ = '%'; if (modifier != 0) *u++ = modifier; *u++ = format_char; *u = '\0'; len = strftime (ubuf, sizeof ubuf, ufmt, tp); if (len != 0) cpy (len - 1, ubuf + 1); } break; #endif case L_('C'): if (modifier == L_('O')) goto bad_format; if (modifier == L_('E')) { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { # ifdef COMPILE_WIDE size_t len = __wcslen (era->era_wname); cpy (len, era->era_wname); # else size_t len = strlen (era->era_name); cpy (len, era->era_name); # endif break; } #else goto underlying_strftime; #endif } { int century = tp->tm_year / 100 + TM_YEAR_BASE / 100; century -= tp->tm_year % 100 < 0 && 0 < century; DO_SIGNED_NUMBER (2, tp->tm_year < - TM_YEAR_BASE, century); } case L_('x'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == L_('E') && (*(subfmt = (const CHAR_T *)_NL_CURRENT (LC_TIME, NLW(ERA_D_FMT))) != L_('\0')))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_FMT)); goto subformat; #else goto underlying_strftime; #endif case L_('D'): if (modifier != 0) goto bad_format; subfmt = L_("%m/%d/%y"); goto subformat; case L_('d'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_mday); case L_('e'): if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, tp->tm_mday); /* All numeric formats set DIGITS and NUMBER_VALUE (or U_NUMBER_VALUE) and then jump to one of these labels. */ do_tz_offset: always_output_a_sign = true; goto do_number_body; do_number_spacepad: /* Force '_' flag unless overridden by '0' or '-' flag. */ if (pad != L_('0') && pad != L_('-')) pad = L_('_'); do_number: /* Format NUMBER_VALUE according to the MODIFIER flag. */ negative_number = number_value < 0; u_number_value = number_value; do_signed_number: always_output_a_sign = false; tz_colon_mask = 0; do_number_body: /* Format U_NUMBER_VALUE according to the MODIFIER flag. NEGATIVE_NUMBER is nonzero if the original number was negative; in this case it was converted directly to unsigned int (i.e., modulo (UINT_MAX + 1)) without negating it. */ if (modifier == L_('O') && !negative_number) { #ifdef _NL_CURRENT /* Get the locale specific alternate representation of the number. If none exist NULL is returned. */ const CHAR_T *cp = nl_get_alt_digit (u_number_value HELPER_LOCALE_ARG); if (cp != NULL) { size_t digitlen = STRLEN (cp); if (digitlen != 0) { cpy (digitlen, cp); break; } } #else goto underlying_strftime; #endif } bufp = buf + sizeof (buf) / sizeof (buf[0]); if (negative_number) u_number_value = - u_number_value; do { if (tz_colon_mask & 1) *--bufp = ':'; tz_colon_mask >>= 1; *--bufp = u_number_value % 10 + L_('0'); u_number_value /= 10; } while (u_number_value != 0 || tz_colon_mask != 0); do_number_sign_and_padding: if (digits < width) digits = width; sign_char = (negative_number ? L_('-') : always_output_a_sign ? L_('+') : 0); if (pad == L_('-')) { if (sign_char) add1 (sign_char); } else { int padding = digits - (buf + (sizeof (buf) / sizeof (buf[0])) - bufp) - !!sign_char; if (padding > 0) { if (pad == L_('_')) { if ((size_t) padding >= maxsize - i) return 0; if (p) memset_space (p, padding); i += padding; width = width > padding ? width - padding : 0; if (sign_char) add1 (sign_char); } else { if ((size_t) digits >= maxsize - i) return 0; if (sign_char) add1 (sign_char); if (p) memset_zero (p, padding); i += padding; width = 0; } } else { if (sign_char) add1 (sign_char); } } cpy (buf + sizeof (buf) / sizeof (buf[0]) - bufp, bufp); break; case L_('F'): if (modifier != 0) goto bad_format; subfmt = L_("%Y-%m-%d"); goto subformat; case L_('H'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_hour); case L_('I'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, hour12); case L_('k'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, tp->tm_hour); case L_('l'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, hour12); case L_('j'): if (modifier == L_('E')) goto bad_format; DO_SIGNED_NUMBER (3, tp->tm_yday < -1, tp->tm_yday + 1U); case L_('M'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_min); case L_('m'): if (modifier == L_('E')) goto bad_format; DO_SIGNED_NUMBER (2, tp->tm_mon < -1, tp->tm_mon + 1U); #ifndef _LIBC case L_('N'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; number_value = ns; if (width == -1) width = 9; else { /* Take an explicit width less than 9 as a precision. */ int j; for (j = width; j < 9; j++) number_value /= 10; } DO_NUMBER (width, number_value); #endif case L_('n'): add1 (L_('\n')); break; case L_('P'): to_lowcase = true; #ifndef _NL_CURRENT format_char = L_('p'); #endif /* FALLTHROUGH */ case L_('p'): if (change_case) { to_uppcase = false; to_lowcase = true; } #ifdef _NL_CURRENT cpy (ap_len, ampm); break; #else goto underlying_strftime; #endif case L_('R'): subfmt = L_("%H:%M"); goto subformat; case L_('r'): #ifdef _NL_CURRENT if (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT_AMPM))) == L_('\0')) subfmt = L_("%I:%M:%S %p"); goto subformat; #else goto underlying_strftime; #endif case L_('S'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_sec); case L_('s'): /* GNU extension. */ { struct tm ltm; time_t t; ltm = *tp; t = mktime (<m); /* Generate string value for T using time_t arithmetic; this works even if sizeof (long) < sizeof (time_t). */ bufp = buf + sizeof (buf) / sizeof (buf[0]); negative_number = t < 0; do { int d = t % 10; t /= 10; *--bufp = (negative_number ? -d : d) + L_('0'); } while (t != 0); digits = 1; always_output_a_sign = false; goto do_number_sign_and_padding; } case L_('X'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == L_('E') && (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_T_FMT))) != L_('\0')))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT)); goto subformat; #else goto underlying_strftime; #endif case L_('T'): subfmt = L_("%H:%M:%S"); goto subformat; case L_('t'): add1 (L_('\t')); break; case L_('u'): DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1); case L_('U'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, (tp->tm_yday - tp->tm_wday + 7) / 7); case L_('V'): case L_('g'): case L_('G'): if (modifier == L_('E')) goto bad_format; { /* YEAR is a leap year if and only if (tp->tm_year + TM_YEAR_BASE) is a leap year, except that YEAR and YEAR - 1 both work correctly even when (tp->tm_year + TM_YEAR_BASE) would overflow. */ int year = (tp->tm_year + (tp->tm_year < 0 ? TM_YEAR_BASE % 400 : TM_YEAR_BASE % 400 - 400)); int year_adjust = 0; int days = iso_week_days (tp->tm_yday, tp->tm_wday); if (days < 0) { /* This ISO week belongs to the previous year. */ year_adjust = -1; days = iso_week_days (tp->tm_yday + (365 + __isleap (year - 1)), tp->tm_wday); } else { int d = iso_week_days (tp->tm_yday - (365 + __isleap (year)), tp->tm_wday); if (0 <= d) { /* This ISO week belongs to the next year. */ year_adjust = 1; days = d; } } switch (*f) { case L_('g'): { int yy = (tp->tm_year % 100 + year_adjust) % 100; DO_NUMBER (2, (0 <= yy ? yy : tp->tm_year < -TM_YEAR_BASE - year_adjust ? -yy : yy + 100)); } case L_('G'): DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE - year_adjust, (tp->tm_year + (unsigned int) TM_YEAR_BASE + year_adjust)); default: DO_NUMBER (2, days / 7 + 1); } } case L_('W'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, (tp->tm_yday - (tp->tm_wday - 1 + 7) % 7 + 7) / 7); case L_('w'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (1, tp->tm_wday); case L_('Y'): if (modifier == 'E') { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { # ifdef COMPILE_WIDE subfmt = era->era_wformat; # else subfmt = era->era_format; # endif goto subformat; } #else goto underlying_strftime; #endif } if (modifier == L_('O')) goto bad_format; else DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE, tp->tm_year + (unsigned int) TM_YEAR_BASE); case L_('y'): if (modifier == L_('E')) { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { int delta = tp->tm_year - era->start_date[0]; DO_NUMBER (1, (era->offset + delta * era->absolute_direction)); } #else goto underlying_strftime; #endif } { int yy = tp->tm_year % 100; if (yy < 0) yy = tp->tm_year < - TM_YEAR_BASE ? -yy : yy + 100; DO_NUMBER (2, yy); } case L_('Z'): if (change_case) { to_uppcase = false; to_lowcase = true; } #if HAVE_TZNAME /* The tzset() call might have changed the value. */ if (!(zone && *zone) && tp->tm_isdst >= 0) zone = tzname[tp->tm_isdst != 0]; #endif if (! zone) zone = ""; #ifdef COMPILE_WIDE { /* The zone string is always given in multibyte form. We have to transform it first. */ wchar_t *wczone; size_t len; widen (zone, wczone, len); cpy (len, wczone); } #else cpy (strlen (zone), zone); #endif break; case L_(':'): /* :, ::, and ::: are valid only just before 'z'. :::: etc. are rejected later. */ for (colons = 1; f[colons] == L_(':'); colons++) continue; if (f[colons] != L_('z')) goto bad_format; f += colons; goto do_z_conversion; case L_('z'): colons = 0; do_z_conversion: if (tp->tm_isdst < 0) break; { int diff; int hour_diff; int min_diff; int sec_diff; #if HAVE_TM_GMTOFF diff = tp->tm_gmtoff; #else if (ut) diff = 0; else { struct tm gtm; struct tm ltm; time_t lt; ltm = *tp; lt = mktime (<m); if (lt == (time_t) -1) { /* mktime returns -1 for errors, but -1 is also a valid time_t value. Check whether an error really occurred. */ struct tm tm; if (! __localtime_r (<, &tm) || ((ltm.tm_sec ^ tm.tm_sec) | (ltm.tm_min ^ tm.tm_min) | (ltm.tm_hour ^ tm.tm_hour) | (ltm.tm_mday ^ tm.tm_mday) | (ltm.tm_mon ^ tm.tm_mon) | (ltm.tm_year ^ tm.tm_year))) break; } if (! __gmtime_r (<, >m)) break; diff = tm_diff (<m, >m); } #endif hour_diff = diff / 60 / 60; min_diff = diff / 60 % 60; sec_diff = diff % 60; switch (colons) { case 0: /* +hhmm */ DO_TZ_OFFSET (5, diff < 0, 0, hour_diff * 100 + min_diff); case 1: tz_hh_mm: /* +hh:mm */ DO_TZ_OFFSET (6, diff < 0, 04, hour_diff * 100 + min_diff); case 2: tz_hh_mm_ss: /* +hh:mm:ss */ DO_TZ_OFFSET (9, diff < 0, 024, hour_diff * 10000 + min_diff * 100 + sec_diff); case 3: /* +hh if possible, else +hh:mm, else +hh:mm:ss */ if (sec_diff != 0) goto tz_hh_mm_ss; if (min_diff != 0) goto tz_hh_mm; DO_TZ_OFFSET (3, diff < 0, 0, hour_diff); default: goto bad_format; } } case L_('\0'): /* GNU extension: % at end of format. */ --f; /* Fall through. */ default: /* Unknown format; output the format, including the '%', since this is most likely the right thing to do if a multibyte string has been misparsed. */ bad_format: { int flen; for (flen = 1; f[1 - flen] != L_('%'); flen++) continue; cpy (flen, &f[1 - flen]); } break; } } #if ! FPRINTFTIME if (p && maxsize != 0) *p = L_('\0'); #endif return i; } /* Write information from TP into S according to the format string FORMAT, writing no more that MAXSIZE characters (including the terminating '\0') and returning number of characters written. If S is NULL, nothing will be written anywhere, so to determine how many characters would be written, use NULL for S and (size_t) -1 for MAXSIZE. */ size_t my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) const CHAR_T *format, const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO) { return strftime_case_ (false, s, STRFTIME_ARG (maxsize) format, tp extra_args LOCALE_ARG); } #if defined _LIBC && ! FPRINTFTIME libc_hidden_def (my_strftime) #endif #if defined emacs && ! FPRINTFTIME /* For Emacs we have a separate interface which corresponds to the normal strftime function plus the ut argument, but without the ns argument. */ size_t emacs_strftimeu (char *s, size_t maxsize, const char *format, const struct tm *tp, int ut) { return my_strftime (s, maxsize, format, tp, ut, 0); } #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/offtostr.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000106�11624727634�013137� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define anytostr offtostr #define inttype off_t #include "anytostr.c" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/at-func.c������������������������������������������������������������������������0000664�0000000�0000000�00000010466�12071024545�012624� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Define at-style functions like fstatat, unlinkat, fchownat, etc. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include "dosname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD # include <errno.h> # ifndef ENOTSUP # define ENOTSUP EINVAL # endif #else # include "openat.h" # include "openat-priv.h" # include "save-cwd.h" #endif #ifdef AT_FUNC_USE_F1_COND # define CALL_FUNC(F) \ (flag == AT_FUNC_USE_F1_COND \ ? AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS) \ : AT_FUNC_F2 (F AT_FUNC_POST_FILE_ARGS)) # define VALIDATE_FLAG(F) \ if (flag & ~AT_FUNC_USE_F1_COND) \ { \ errno = EINVAL; \ return FUNC_FAIL; \ } #else # define CALL_FUNC(F) (AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS)) # define VALIDATE_FLAG(F) /* empty */ #endif #ifdef AT_FUNC_RESULT # define FUNC_RESULT AT_FUNC_RESULT #else # define FUNC_RESULT int #endif #ifdef AT_FUNC_FAIL # define FUNC_FAIL AT_FUNC_FAIL #else # define FUNC_FAIL -1 #endif /* Call AT_FUNC_F1 to operate on FILE, which is in the directory open on descriptor FD. If AT_FUNC_USE_F1_COND is defined to a value, AT_FUNC_POST_FILE_PARAM_DECLS must include a parameter named flag; call AT_FUNC_F2 if FLAG is 0 or fail if FLAG contains more bits than AT_FUNC_USE_F1_COND. Return int and fail with -1 unless AT_FUNC_RESULT or AT_FUNC_FAIL are defined. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then AT_FUNC_F?/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ FUNC_RESULT AT_FUNC_NAME (int fd, char const *file AT_FUNC_POST_FILE_PARAM_DECLS) { VALIDATE_FLAG (flag); if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) return CALL_FUNC (file); #ifdef GNULIB_SUPPORT_ONLY_AT_FDCWD errno = ENOTSUP; return FUNC_FAIL; #else { /* Be careful to choose names unlikely to conflict with AT_FUNC_POST_FILE_PARAM_DECLS. */ struct saved_cwd saved_cwd; int saved_errno; FUNC_RESULT err; { char proc_buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (proc_buf, fd, file); if (proc_file) { FUNC_RESULT proc_result = CALL_FUNC (proc_file); int proc_errno = errno; if (proc_file != proc_buf) free (proc_file); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (FUNC_FAIL != proc_result) return proc_result; if (! EXPECTED_ERRNO (proc_errno)) { errno = proc_errno; return proc_result; } } } if (save_cwd (&saved_cwd) != 0) openat_save_fail (errno); if (0 <= fd && fd == saved_cwd.desc) { /* If saving the working directory collides with the user's requested fd, then the user's fd must have been closed to begin with. */ free_cwd (&saved_cwd); errno = EBADF; return FUNC_FAIL; } if (fchdir (fd) != 0) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return FUNC_FAIL; } err = CALL_FUNC (file); saved_errno = (err == FUNC_FAIL ? errno : 0); if (restore_cwd (&saved_cwd) != 0) openat_restore_fail (errno); free_cwd (&saved_cwd); if (saved_errno) errno = saved_errno; return err; } #endif } #undef CALL_FUNC #undef FUNC_RESULT #undef FUNC_FAIL ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawnattr_setsigmask.c�����������������������������������������������������������0000664�0000000�0000000�00000002154�12071024546�015540� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <string.h> /* Set signal mask for the new process in ATTR to SIGMASK. */ int posix_spawnattr_setsigmask (posix_spawnattr_t *attr, const sigset_t *sigmask) { /* Copy the sigset_t data to the user buffer. */ memcpy (&attr->_ss, sigmask, sizeof (sigset_t)); return 0; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/float+.h�������������������������������������������������������������������������0000664�0000000�0000000�00000012745�12071561007�012455� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Supplemental information about the floating-point formats. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2007. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _FLOATPLUS_H #define _FLOATPLUS_H #include <float.h> #include <limits.h> /* Number of bits in the mantissa of a floating-point number, including the "hidden bit". */ #if FLT_RADIX == 2 # define FLT_MANT_BIT FLT_MANT_DIG # define DBL_MANT_BIT DBL_MANT_DIG # define LDBL_MANT_BIT LDBL_MANT_DIG #elif FLT_RADIX == 4 # define FLT_MANT_BIT (FLT_MANT_DIG * 2) # define DBL_MANT_BIT (DBL_MANT_DIG * 2) # define LDBL_MANT_BIT (LDBL_MANT_DIG * 2) #elif FLT_RADIX == 16 # define FLT_MANT_BIT (FLT_MANT_DIG * 4) # define DBL_MANT_BIT (DBL_MANT_DIG * 4) # define LDBL_MANT_BIT (LDBL_MANT_DIG * 4) #endif /* Bit mask that can be used to mask the exponent, as an unsigned number. */ #define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7) #define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) #define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7) /* Number of bits used for the exponent of a floating-point number, including the exponent's sign. */ #define FLT_EXP_BIT \ (FLT_EXP_MASK < 0x100 ? 8 : \ FLT_EXP_MASK < 0x200 ? 9 : \ FLT_EXP_MASK < 0x400 ? 10 : \ FLT_EXP_MASK < 0x800 ? 11 : \ FLT_EXP_MASK < 0x1000 ? 12 : \ FLT_EXP_MASK < 0x2000 ? 13 : \ FLT_EXP_MASK < 0x4000 ? 14 : \ FLT_EXP_MASK < 0x8000 ? 15 : \ FLT_EXP_MASK < 0x10000 ? 16 : \ FLT_EXP_MASK < 0x20000 ? 17 : \ FLT_EXP_MASK < 0x40000 ? 18 : \ FLT_EXP_MASK < 0x80000 ? 19 : \ FLT_EXP_MASK < 0x100000 ? 20 : \ FLT_EXP_MASK < 0x200000 ? 21 : \ FLT_EXP_MASK < 0x400000 ? 22 : \ FLT_EXP_MASK < 0x800000 ? 23 : \ FLT_EXP_MASK < 0x1000000 ? 24 : \ FLT_EXP_MASK < 0x2000000 ? 25 : \ FLT_EXP_MASK < 0x4000000 ? 26 : \ FLT_EXP_MASK < 0x8000000 ? 27 : \ FLT_EXP_MASK < 0x10000000 ? 28 : \ FLT_EXP_MASK < 0x20000000 ? 29 : \ FLT_EXP_MASK < 0x40000000 ? 30 : \ FLT_EXP_MASK <= 0x7fffffff ? 31 : \ 32) #define DBL_EXP_BIT \ (DBL_EXP_MASK < 0x100 ? 8 : \ DBL_EXP_MASK < 0x200 ? 9 : \ DBL_EXP_MASK < 0x400 ? 10 : \ DBL_EXP_MASK < 0x800 ? 11 : \ DBL_EXP_MASK < 0x1000 ? 12 : \ DBL_EXP_MASK < 0x2000 ? 13 : \ DBL_EXP_MASK < 0x4000 ? 14 : \ DBL_EXP_MASK < 0x8000 ? 15 : \ DBL_EXP_MASK < 0x10000 ? 16 : \ DBL_EXP_MASK < 0x20000 ? 17 : \ DBL_EXP_MASK < 0x40000 ? 18 : \ DBL_EXP_MASK < 0x80000 ? 19 : \ DBL_EXP_MASK < 0x100000 ? 20 : \ DBL_EXP_MASK < 0x200000 ? 21 : \ DBL_EXP_MASK < 0x400000 ? 22 : \ DBL_EXP_MASK < 0x800000 ? 23 : \ DBL_EXP_MASK < 0x1000000 ? 24 : \ DBL_EXP_MASK < 0x2000000 ? 25 : \ DBL_EXP_MASK < 0x4000000 ? 26 : \ DBL_EXP_MASK < 0x8000000 ? 27 : \ DBL_EXP_MASK < 0x10000000 ? 28 : \ DBL_EXP_MASK < 0x20000000 ? 29 : \ DBL_EXP_MASK < 0x40000000 ? 30 : \ DBL_EXP_MASK <= 0x7fffffff ? 31 : \ 32) #define LDBL_EXP_BIT \ (LDBL_EXP_MASK < 0x100 ? 8 : \ LDBL_EXP_MASK < 0x200 ? 9 : \ LDBL_EXP_MASK < 0x400 ? 10 : \ LDBL_EXP_MASK < 0x800 ? 11 : \ LDBL_EXP_MASK < 0x1000 ? 12 : \ LDBL_EXP_MASK < 0x2000 ? 13 : \ LDBL_EXP_MASK < 0x4000 ? 14 : \ LDBL_EXP_MASK < 0x8000 ? 15 : \ LDBL_EXP_MASK < 0x10000 ? 16 : \ LDBL_EXP_MASK < 0x20000 ? 17 : \ LDBL_EXP_MASK < 0x40000 ? 18 : \ LDBL_EXP_MASK < 0x80000 ? 19 : \ LDBL_EXP_MASK < 0x100000 ? 20 : \ LDBL_EXP_MASK < 0x200000 ? 21 : \ LDBL_EXP_MASK < 0x400000 ? 22 : \ LDBL_EXP_MASK < 0x800000 ? 23 : \ LDBL_EXP_MASK < 0x1000000 ? 24 : \ LDBL_EXP_MASK < 0x2000000 ? 25 : \ LDBL_EXP_MASK < 0x4000000 ? 26 : \ LDBL_EXP_MASK < 0x8000000 ? 27 : \ LDBL_EXP_MASK < 0x10000000 ? 28 : \ LDBL_EXP_MASK < 0x20000000 ? 29 : \ LDBL_EXP_MASK < 0x40000000 ? 30 : \ LDBL_EXP_MASK <= 0x7fffffff ? 31 : \ 32) /* Number of bits used for a floating-point number: the mantissa (not counting the "hidden bit", since it may or may not be explicit), the exponent, and the sign. */ #define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1) #define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1) #define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1) /* Number of bytes used for a floating-point number. This can be smaller than the 'sizeof'. For example, on i386 systems, 'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but sizeof (long double) = 12 or = 16. */ #define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) #define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) #define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) /* Verify that SIZEOF_FLT <= sizeof (float) etc. */ typedef int verify_sizeof_flt[SIZEOF_FLT <= sizeof (float) ? 1 : -1]; typedef int verify_sizeof_dbl[SIZEOF_DBL <= sizeof (double) ? 1 : - 1]; typedef int verify_sizeof_ldbl[SIZEOF_LDBL <= sizeof (long double) ? 1 : - 1]; #endif /* _FLOATPLUS_H */ ���������������������������coreutils-8.21/lib/acl.h����������������������������������������������������������������������������0000664�0000000�0000000�00000002150�12071024545�012022� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* acl.c - access control lists Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Paul Eggert. */ #include <sys/types.h> #include <sys/stat.h> int file_has_acl (char const *, struct stat const *); int qset_acl (char const *, int, mode_t); int set_acl (char const *, int, mode_t); int qcopy_acl (char const *, int, char const *, int, mode_t); int copy_acl (char const *, int, char const *, int, mode_t); int chmod_or_fchmod (char const *, int, mode_t); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xtime.h��������������������������������������������������������������������������0000664�0000000�0000000�00000004715�12071024546�012423� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xtime -- extended-resolution integer time stamps Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef XTIME_H_ #define XTIME_H_ 1 _GL_INLINE_HEADER_BEGIN #ifndef XTIME_INLINE # define XTIME_INLINE _GL_INLINE #endif /* xtime_t is a signed type used for time stamps. It is an integer type that is a count of nanoseconds -- except for obsolescent hosts without sufficiently-wide integers, where it is a count of seconds. */ #if HAVE_LONG_LONG_INT typedef long long int xtime_t; # define XTIME_PRECISION 1000000000 #else # include <limits.h> typedef long int xtime_t; # if LONG_MAX >> 31 >> 31 == 0 # define XTIME_PRECISION 1 # else # define XTIME_PRECISION 1000000000 # endif #endif #ifdef __cplusplus extern "C" { #endif /* Return an extended time value that contains S seconds and NS nanoseconds, without any overflow checking. */ XTIME_INLINE xtime_t xtime_make (xtime_t s, long int ns) { if (XTIME_PRECISION == 1) return s; else return XTIME_PRECISION * s + ns; } /* Return the number of seconds in T, which must be nonnegative. */ XTIME_INLINE xtime_t xtime_nonnegative_sec (xtime_t t) { return t / XTIME_PRECISION; } /* Return the number of seconds in T. */ XTIME_INLINE xtime_t xtime_sec (xtime_t t) { return (XTIME_PRECISION == 1 ? t : t < 0 ? (t + XTIME_PRECISION - 1) / XTIME_PRECISION - 1 : xtime_nonnegative_sec (t)); } /* Return the number of nanoseconds in T, which must be nonnegative. */ XTIME_INLINE long int xtime_nonnegative_nsec (xtime_t t) { return t % XTIME_PRECISION; } /* Return the number of nanoseconds in T. */ XTIME_INLINE long int xtime_nsec (xtime_t t) { long int ns = t % XTIME_PRECISION; if (ns < 0) ns += XTIME_PRECISION; return ns; } #ifdef __cplusplus } #endif #endif ���������������������������������������������������coreutils-8.21/lib/xgetgroups.c���������������������������������������������������������������������0000664�0000000�0000000�00000002233�12071024546�013470� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xgetgroups.c -- return a list of the groups a user or current process is in Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Extracted from coreutils' src/id.c. */ #include <config.h> #include "mgetgroups.h" #include <errno.h> #include "xalloc.h" /* Like mgetgroups, but call xalloc_die on allocation failure. */ int xgetgroups (char const *username, gid_t gid, gid_t **groups) { int result = mgetgroups (username, gid, groups); if (result == -1 && errno == ENOMEM) xalloc_die (); return result; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/float.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000016734�12071024546�013013� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A correct <float.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_FLOAT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FLOAT_H@ #ifndef _@GUARD_PREFIX@_FLOAT_H #define _@GUARD_PREFIX@_FLOAT_H /* 'long double' properties. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) /* Number of mantissa units, in base FLT_RADIX. */ # undef LDBL_MANT_DIG # define LDBL_MANT_DIG 64 /* Number of decimal digits that is sufficient for representing a number. */ # undef LDBL_DIG # define LDBL_DIG 18 /* x-1 where x is the smallest representable number > 1. */ # undef LDBL_EPSILON # define LDBL_EPSILON 1.0842021724855044340E-19L /* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) /* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ # undef LDBL_MAX_EXP # define LDBL_MAX_EXP 16384 /* Minimum positive normalized number. */ # undef LDBL_MIN # define LDBL_MIN 3.3621031431120935063E-4932L /* Maximum representable finite number. */ # undef LDBL_MAX # define LDBL_MAX 1.1897314953572317650E+4932L /* Minimum e such that 10^e is in the range of normalized numbers. */ # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP (-4931) /* Maximum e such that 10^e is in the range of representable finite numbers. */ # undef LDBL_MAX_10_EXP # define LDBL_MAX_10_EXP 4932 #endif /* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of precision in the compiler but 64 bits of precision at runtime. See <http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00063.html>. */ #if defined __i386__ && defined __FreeBSD__ /* Number of mantissa units, in base FLT_RADIX. */ # undef LDBL_MANT_DIG # define LDBL_MANT_DIG 64 /* Number of decimal digits that is sufficient for representing a number. */ # undef LDBL_DIG # define LDBL_DIG 18 /* x-1 where x is the smallest representable number > 1. */ # undef LDBL_EPSILON # define LDBL_EPSILON 1.084202172485504434007452800869941711426e-19L /* 2^-63 */ /* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) /* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ # undef LDBL_MAX_EXP # define LDBL_MAX_EXP 16384 /* Minimum positive normalized number. */ # undef LDBL_MIN # define LDBL_MIN 3.3621031431120935E-4932L /* = 0x1p-16382L */ /* Maximum representable finite number. */ # undef LDBL_MAX /* LDBL_MAX is represented as { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }. But the largest literal that GCC allows us to write is 0x0.fffffffffffff8p16384L = { 0xFFFFF800, 0xFFFFFFFF, 32766 }. So, define it like this through a reference to an external variable const unsigned int LDBL_MAX[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }; extern const long double LDBL_MAX; Unfortunately, this is not a constant expression. */ union gl_long_double_union { struct { unsigned int lo; unsigned int hi; unsigned int exponent; } xd; long double ld; }; extern const union gl_long_double_union gl_LDBL_MAX; # define LDBL_MAX (gl_LDBL_MAX.ld) /* Minimum e such that 10^e is in the range of normalized numbers. */ # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP (-4931) /* Maximum e such that 10^e is in the range of representable finite numbers. */ # undef LDBL_MAX_10_EXP # define LDBL_MAX_10_EXP 4932 #endif /* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are wrong. On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */ #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP DBL_MIN_10_EXP # undef LDBL_MIN # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ #endif #if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__ # undef LDBL_MAX /* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }. It is not easy to define: #define LDBL_MAX 1.79769313486231580793728971405302307166e308L is too small, whereas #define LDBL_MAX 1.79769313486231580793728971405302307167e308L is too large. Apparently a bug in GCC decimal-to-binary conversion. Also, I can't get values larger than #define LDBL63 ((long double) (1ULL << 63)) #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63) #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL) which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }. So, define it like this through a reference to an external variable const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }; extern const long double LDBL_MAX; or through a pointer cast #define LDBL_MAX \ (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL }) Unfortunately, this is not a constant expression, and the latter expression does not work well when GCC is optimizing.. */ union gl_long_double_union { struct { double hi; double lo; } dd; long double ld; }; extern const union gl_long_double_union gl_LDBL_MAX; # define LDBL_MAX (gl_LDBL_MAX.ld) #endif /* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong. On IRIX 6.5, with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_EPSILON are wrong. */ #if defined __sgi && (LDBL_MANT_DIG >= 106) # undef LDBL_MANT_DIG # define LDBL_MANT_DIG 106 # if defined __GNUC__ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP DBL_MIN_EXP # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP DBL_MIN_10_EXP # undef LDBL_MIN # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */ # undef LDBL_EPSILON # define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 */ # endif #endif #if @REPLACE_ITOLD@ /* Pull in a function that fixes the 'int' to 'long double' conversion of glibc 2.7. */ extern # ifdef __cplusplus "C" # endif void _Qp_itoq (long double *, int); static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq; #endif #endif /* _@GUARD_PREFIX@_FLOAT_H */ #endif /* _@GUARD_PREFIX@_FLOAT_H */ ������������������������������������coreutils-8.21/lib/xprintf.h������������������������������������������������������������������������0000664�0000000�0000000�00000003605�12071024546�012764� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* printf wrappers that fail immediately for non-file-related errors Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _XPRINTF_H #define _XPRINTF_H #include <stdarg.h> #include <stdio.h> /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif extern int xprintf (char const *restrict format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 2)); extern int xvprintf (char const *restrict format, va_list args) _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 0)); extern int xfprintf (FILE *restrict stream, char const *restrict format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 3)); extern int xvfprintf (FILE *restrict stream, char const *restrict format, va_list args) _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 0)); #endif ���������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_wait.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000007423�12071561014�013537� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A POSIX-like <sys/wait.h>. Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SYS_WAIT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) # @INCLUDE_NEXT@ @NEXT_SYS_WAIT_H@ #endif #ifndef _@GUARD_PREFIX@_SYS_WAIT_H #define _@GUARD_PREFIX@_SYS_WAIT_H /* Get pid_t. */ #include <sys/types.h> /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) /* Unix API. */ /* The following macros apply to an argument x, that is a status of a process, as returned by waitpid(). On nearly all systems, including Linux/x86, WEXITSTATUS are bits 15..8 and WTERMSIG are bits 7..0, while BeOS uses the opposite. Therefore programs have to use the abstract macros. */ /* For valid x, exactly one of WIFSIGNALED(x), WIFEXITED(x), WIFSTOPPED(x) is true. */ # ifndef WIFSIGNALED # define WIFSIGNALED(x) (WTERMSIG (x) != 0 && WTERMSIG(x) != 0x7f) # endif # ifndef WIFEXITED # define WIFEXITED(x) (WTERMSIG (x) == 0) # endif # ifndef WIFSTOPPED # define WIFSTOPPED(x) (WTERMSIG (x) == 0x7f) # endif /* The termination signal. Only to be accessed if WIFSIGNALED(x) is true. */ # ifndef WTERMSIG # define WTERMSIG(x) ((x) & 0x7f) # endif /* The exit status. Only to be accessed if WIFEXITED(x) is true. */ # ifndef WEXITSTATUS # define WEXITSTATUS(x) (((x) >> 8) & 0xff) # endif /* The stopping signal. Only to be accessed if WIFSTOPPED(x) is true. */ # ifndef WSTOPSIG # define WSTOPSIG(x) (((x) >> 8) & 0x7f) # endif /* True if the process dumped core. Not standardized by POSIX. */ # ifndef WCOREDUMP # define WCOREDUMP(x) ((x) & 0x80) # endif #else /* Native Windows API. */ # include <signal.h> /* for SIGTERM */ /* The following macros apply to an argument x, that is a status of a process, as returned by waitpid() or, equivalently, _cwait() or GetExitCodeProcess(). This value is simply an 'int', not composed of bit fields. */ /* When an unhandled fatal signal terminates a process, the exit code is 3. */ # define WIFSIGNALED(x) ((x) == 3) # define WIFEXITED(x) ((x) != 3) # define WIFSTOPPED(x) 0 /* The signal that terminated a process is not known posthum. */ # define WTERMSIG(x) SIGTERM # define WEXITSTATUS(x) (x) /* There are no stopping signals. */ # define WSTOPSIG(x) 0 /* There are no core dumps. */ # define WCOREDUMP(x) 0 #endif /* Declarations of functions. */ #if @GNULIB_WAITPID@ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ _GL_FUNCDECL_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options)); # endif _GL_CXXALIAS_SYS (waitpid, pid_t, (pid_t pid, int *statusp, int options)); _GL_CXXALIASWARN (waitpid); #elif defined GNULIB_POSIXCHECK # undef waitpid # if HAVE_RAW_DECL_WAITPID _GL_WARN_ON_USE (waitpid, "waitpid is unportable - " "use gnulib module sys_wait for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SYS_WAIT_H */ #endif /* _@GUARD_PREFIX@_SYS_WAIT_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readdir.c������������������������������������������������������������������������0000664�0000000�0000000�00000005676�12071024546�012711� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Read the next entry of a directory. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <dirent.h> #include <errno.h> #include <stddef.h> #include "dirent-private.h" struct dirent * readdir (DIR *dirp) { char type; struct dirent *result; /* There is no need to add code to produce entries for "." and "..". According to the POSIX:2008 section "4.12 Pathname Resolution" <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html> "." and ".." are syntactic entities. POSIX also says: "If entries for dot or dot-dot exist, one entry shall be returned for dot and one entry shall be returned for dot-dot; otherwise, they shall not be returned." */ switch (dirp->status) { case -2: /* End of directory already reached. */ return NULL; case -1: break; case 0: if (!FindNextFile (dirp->current, &dirp->entry)) { switch (GetLastError ()) { case ERROR_NO_MORE_FILES: dirp->status = -2; return NULL; default: errno = EIO; return NULL; } } break; default: errno = dirp->status; return NULL; } dirp->status = 0; if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) type = DT_DIR; else if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) type = DT_LNK; else if ((dirp->entry.dwFileAttributes & ~(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_TEMPORARY | FILE_ATTRIBUTE_SPARSE_FILE | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | FILE_ATTRIBUTE_ENCRYPTED)) == 0) /* Devices like COM1, LPT1, NUL would also have the attributes 0x20 but they cannot occur here. */ type = DT_REG; else type = DT_UNKNOWN; /* Reuse the memory of dirp->entry for the result. */ result = (struct dirent *) ((char *) dirp->entry.cFileName - offsetof (struct dirent, d_name[0])); result->d_type = type; return result; } ������������������������������������������������������������������coreutils-8.21/lib/exclude.h������������������������������������������������������������������������0000664�0000000�0000000�00000003615�12071024546�012724� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* exclude.h -- declarations for excluding file names Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _GL_EXCLUDE_H #define _GL_EXCLUDE_H 1 #include <stdbool.h> /* Written by Paul Eggert <eggert@twinsun.com> and Sergey Poznyakoff <gray@gnu.org> */ /* Exclude options, which can be ORed with fnmatch options. */ /* Patterns must match the start of file names, instead of matching anywhere after a '/'. */ #define EXCLUDE_ANCHORED (1 << 30) /* Include instead of exclude. */ #define EXCLUDE_INCLUDE (1 << 29) /* '?', '*', '[', and '\\' are special in patterns. Without this option, these characters are ordinary and fnmatch is not used. */ #define EXCLUDE_WILDCARDS (1 << 28) struct exclude; bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE; struct exclude *new_exclude (void); void free_exclude (struct exclude *); void add_exclude (struct exclude *, char const *, int); int add_exclude_file (void (*) (struct exclude *, char const *, int), struct exclude *, char const *, int, char); bool excluded_file_name (struct exclude const *, char const *); bool exclude_fnmatch (char const *pattern, char const *f, int options); #endif /* _GL_EXCLUDE_H */ �������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/same-inode.h���������������������������������������������������������������������0000664�0000000�0000000�00000002202�12071024546�013303� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether two stat buffers refer to the same file. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef SAME_INODE_H # define SAME_INODE_H 1 # ifdef __VMS # define SAME_INODE(a, b) \ ((a).st_ino[0] == (b).st_ino[0] \ && (a).st_ino[1] == (b).st_ino[1] \ && (a).st_ino[2] == (b).st_ino[2] \ && (a).st_dev == (b).st_dev) # else # define SAME_INODE(a, b) \ ((a).st_ino == (b).st_ino \ && (a).st_dev == (b).st_dev) # endif #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn_faction_addopen.c����������������������������������������������������������0000664�0000000�0000000�00000004320�12071024546�015605� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <errno.h> #include <unistd.h> #if !_LIBC # define __sysconf(open_max) getdtablesize () #endif #if !HAVE_WORKING_POSIX_SPAWN # include "spawn_int.h" #endif /* Add an action to FILE-ACTIONS which tells the implementation to call 'open' for the given file during the 'spawn' call. */ int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *file_actions, int fd, const char *path, int oflag, mode_t mode) #undef posix_spawn_file_actions_addopen { int maxfd = __sysconf (_SC_OPEN_MAX); /* Test for the validity of the file descriptor. */ if (fd < 0 || fd >= maxfd) return EBADF; #if HAVE_WORKING_POSIX_SPAWN return posix_spawn_file_actions_addopen (file_actions, fd, path, oflag, mode); #else /* Allocate more memory if needed. */ if (file_actions->_used == file_actions->_allocated && __posix_spawn_file_actions_realloc (file_actions) != 0) /* This can only mean we ran out of memory. */ return ENOMEM; { struct __spawn_action *rec; /* Add the new value. */ rec = &file_actions->_actions[file_actions->_used]; rec->tag = spawn_do_open; rec->action.open_action.fd = fd; rec->action.open_action.path = path; rec->action.open_action.oflag = oflag; rec->action.open_action.mode = mode; /* Account for the new entry. */ ++file_actions->_used; return 0; } #endif } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fstatat.c������������������������������������������������������������������������0000664�0000000�0000000�00000010547�12071024546�012736� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around an fstatat bug on Solaris 9. Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Jim Meyering. */ /* If the user's config.h happens to include <sys/stat.h>, let it include only the system's <sys/stat.h> here, so that orig_fstatat doesn't recurse to rpl_fstatat. */ #define __need_system_sys_stat_h #include <config.h> /* Get the original definition of fstatat. It might be defined as a macro. */ #include <sys/types.h> #include <sys/stat.h> #undef __need_system_sys_stat_h #if HAVE_FSTATAT static int orig_fstatat (int fd, char const *filename, struct stat *buf, int flags) { return fstatat (fd, filename, buf, flags); } #endif /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ #include "sys/stat.h" #include <errno.h> #include <fcntl.h> #include <string.h> #if HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG # ifndef LSTAT_FOLLOWS_SLASHED_SYMLINK # define LSTAT_FOLLOWS_SLASHED_SYMLINK 0 # endif /* fstatat should always follow symbolic links that end in /, but on Solaris 9 it doesn't if AT_SYMLINK_NOFOLLOW is specified. Likewise, trailing slash on a non-directory should be an error. These are the same problems that lstat.c and stat.c address, so solve it in a similar way. AIX 7.1 fstatat (AT_FDCWD, ..., 0) always fails, which is a bug. Work around this bug if FSTATAT_AT_FDCWD_0_BROKEN is nonzero. */ int rpl_fstatat (int fd, char const *file, struct stat *st, int flag) { int result = orig_fstatat (fd, file, st, flag); size_t len; if (LSTAT_FOLLOWS_SLASHED_SYMLINK || result != 0) return result; len = strlen (file); if (flag & AT_SYMLINK_NOFOLLOW) { /* Fix lstat behavior. */ if (file[len - 1] != '/' || S_ISDIR (st->st_mode)) return 0; if (!S_ISLNK (st->st_mode)) { errno = ENOTDIR; return -1; } result = orig_fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW); } /* Fix stat behavior. */ if (result == 0 && !S_ISDIR (st->st_mode) && file[len - 1] == '/') { errno = ENOTDIR; return -1; } return result; } #else /* ! (HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG) */ /* On mingw, the gnulib <sys/stat.h> defines 'stat' as a function-like macro; but using it in AT_FUNC_F2 causes compilation failure because the preprocessor sees a use of a macro that requires two arguments but is only given one. Hence, we need an inline forwarder to get past the preprocessor. */ static int stat_func (char const *name, struct stat *st) { return stat (name, st); } /* Likewise, if there is no native 'lstat', then the gnulib <sys/stat.h> defined it as stat, which also needs adjustment. */ # if !HAVE_LSTAT # undef lstat # define lstat stat_func # endif /* Replacement for Solaris' function by the same name. <http://www.google.com/search?q=fstatat+site:docs.sun.com> First, try to simulate it via l?stat ("/proc/self/fd/FD/FILE"). Failing that, simulate it via save_cwd/fchdir/(stat|lstat)/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' fstatat. */ # define AT_FUNC_NAME fstatat # define AT_FUNC_F1 lstat # define AT_FUNC_F2 stat_func # define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW # define AT_FUNC_POST_FILE_PARAM_DECLS , struct stat *st, int flag # define AT_FUNC_POST_FILE_ARGS , st # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_F2 # undef AT_FUNC_USE_F1_COND # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS #endif /* !HAVE_FSTATAT */ ���������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/utimens.c������������������������������������������������������������������������0000664�0000000�0000000�00000043053�12071024546�012752� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set file access and modification times. Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ /* derived from a function in touch.c */ #include <config.h> #define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE #include "utimens.h" #include <assert.h> #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <sys/stat.h> #include <sys/time.h> #include <unistd.h> #include "stat-time.h" #include "timespec.h" #if HAVE_UTIME_H # include <utime.h> #endif /* Some systems (even some that do have <utime.h>) don't declare this structure anywhere. */ #ifndef HAVE_STRUCT_UTIMBUF struct utimbuf { long actime; long modtime; }; #endif /* Avoid recursion with rpl_futimens or rpl_utimensat. */ #undef futimens #undef utimensat /* Solaris 9 mistakenly succeeds when given a non-directory with a trailing slash. Force the use of rpl_stat for a fix. */ #ifndef REPLACE_FUNC_STAT_FILE # define REPLACE_FUNC_STAT_FILE 0 #endif #if HAVE_UTIMENSAT || HAVE_FUTIMENS /* Cache variables for whether the utimensat syscall works; used to avoid calling the syscall if we know it will just fail with ENOSYS, and to avoid unnecessary work in massaging timestamps if the syscall will work. Multiple variables are needed, to distinguish between the following scenarios on Linux: utimensat doesn't exist, or is in glibc but kernel 2.6.18 fails with ENOSYS kernel 2.6.22 and earlier rejects AT_SYMLINK_NOFOLLOW kernel 2.6.25 and earlier reject UTIME_NOW/UTIME_OMIT with non-zero tv_sec kernel 2.6.32 used with xfs or ntfs-3g fail to honor UTIME_OMIT utimensat completely works For each cache variable: 0 = unknown, 1 = yes, -1 = no. */ static int utimensat_works_really; static int lutimensat_works_really; #endif /* HAVE_UTIMENSAT || HAVE_FUTIMENS */ /* Validate the requested timestamps. Return 0 if the resulting timespec can be used for utimensat (after possibly modifying it to work around bugs in utimensat). Return a positive value if the timespec needs further adjustment based on stat results: 1 if any adjustment is needed for utimes, and 2 if any adjustment is needed for Linux utimensat. Return -1, with errno set to EINVAL, if timespec is out of range. */ static int validate_timespec (struct timespec timespec[2]) { int result = 0; int utime_omit_count = 0; assert (timespec); if ((timespec[0].tv_nsec != UTIME_NOW && timespec[0].tv_nsec != UTIME_OMIT && (timespec[0].tv_nsec < 0 || 1000000000 <= timespec[0].tv_nsec)) || (timespec[1].tv_nsec != UTIME_NOW && timespec[1].tv_nsec != UTIME_OMIT && (timespec[1].tv_nsec < 0 || 1000000000 <= timespec[1].tv_nsec))) { errno = EINVAL; return -1; } /* Work around Linux kernel 2.6.25 bug, where utimensat fails with EINVAL if tv_sec is not 0 when using the flag values of tv_nsec. Flag a Linux kernel 2.6.32 bug, where an mtime of UTIME_OMIT fails to bump ctime. */ if (timespec[0].tv_nsec == UTIME_NOW || timespec[0].tv_nsec == UTIME_OMIT) { timespec[0].tv_sec = 0; result = 1; if (timespec[0].tv_nsec == UTIME_OMIT) utime_omit_count++; } if (timespec[1].tv_nsec == UTIME_NOW || timespec[1].tv_nsec == UTIME_OMIT) { timespec[1].tv_sec = 0; result = 1; if (timespec[1].tv_nsec == UTIME_OMIT) utime_omit_count++; } return result + (utime_omit_count == 1); } /* Normalize any UTIME_NOW or UTIME_OMIT values in *TS, using stat buffer STATBUF to obtain the current timestamps of the file. If both times are UTIME_NOW, set *TS to NULL (as this can avoid some permissions issues). If both times are UTIME_OMIT, return true (nothing further beyond the prior collection of STATBUF is necessary); otherwise return false. */ static bool update_timespec (struct stat const *statbuf, struct timespec *ts[2]) { struct timespec *timespec = *ts; if (timespec[0].tv_nsec == UTIME_OMIT && timespec[1].tv_nsec == UTIME_OMIT) return true; if (timespec[0].tv_nsec == UTIME_NOW && timespec[1].tv_nsec == UTIME_NOW) { *ts = NULL; return false; } if (timespec[0].tv_nsec == UTIME_OMIT) timespec[0] = get_stat_atime (statbuf); else if (timespec[0].tv_nsec == UTIME_NOW) gettime (×pec[0]); if (timespec[1].tv_nsec == UTIME_OMIT) timespec[1] = get_stat_mtime (statbuf); else if (timespec[1].tv_nsec == UTIME_NOW) gettime (×pec[1]); return false; } /* Set the access and modification time stamps of FD (a.k.a. FILE) to be TIMESPEC[0] and TIMESPEC[1], respectively. FD must be either negative -- in which case it is ignored -- or a file descriptor that is open on FILE. If FD is nonnegative, then FILE can be NULL, which means use just futimes (or equivalent) instead of utimes (or equivalent), and fail if on an old system without futimes (or equivalent). If TIMESPEC is null, set the time stamps to the current time. Return 0 on success, -1 (setting errno) on failure. */ int fdutimens (int fd, char const *file, struct timespec const timespec[2]) { struct timespec adjusted_timespec[2]; struct timespec *ts = timespec ? adjusted_timespec : NULL; int adjustment_needed = 0; struct stat st; if (ts) { adjusted_timespec[0] = timespec[0]; adjusted_timespec[1] = timespec[1]; adjustment_needed = validate_timespec (ts); } if (adjustment_needed < 0) return -1; /* Require that at least one of FD or FILE are potentially valid, to avoid a Linux bug where futimens (AT_FDCWD, NULL) changes "." rather than failing. */ if (fd < 0 && !file) { errno = EBADF; return -1; } /* Some Linux-based NFS clients are buggy, and mishandle time stamps of files in NFS file systems in some cases. We have no configure-time test for this, but please see <http://bugs.gentoo.org/show_bug.cgi?id=132673> for references to some of the problems with Linux 2.6.16. If this affects you, compile with -DHAVE_BUGGY_NFS_TIME_STAMPS; this is reported to help in some cases, albeit at a cost in performance. But you really should upgrade your kernel to a fixed version, since the problem affects many applications. */ #if HAVE_BUGGY_NFS_TIME_STAMPS if (fd < 0) sync (); else fsync (fd); #endif /* POSIX 2008 added two interfaces to set file timestamps with nanosecond resolution; newer Linux implements both functions via a single syscall. We provide a fallback for ENOSYS (for example, compiling against Linux 2.6.25 kernel headers and glibc 2.7, but running on Linux 2.6.18 kernel). */ #if HAVE_UTIMENSAT || HAVE_FUTIMENS if (0 <= utimensat_works_really) { int result; # if __linux__ /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory [f]stat prior to calling futimens/utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems where UTIME_OMIT would have worked. FIXME: Simplify this in 2012, when file system bugs are no longer common. */ if (adjustment_needed == 2) { if (fd < 0 ? stat (file, &st) : fstat (fd, &st)) return -1; if (ts[0].tv_nsec == UTIME_OMIT) ts[0] = get_stat_atime (&st); else if (ts[1].tv_nsec == UTIME_OMIT) ts[1] = get_stat_mtime (&st); /* Note that st is good, in case utimensat gives ENOSYS. */ adjustment_needed++; } # endif /* __linux__ */ # if HAVE_UTIMENSAT if (fd < 0) { result = utimensat (AT_FDCWD, file, ts, 0); # ifdef __linux__ /* Work around a kernel bug: http://bugzilla.redhat.com/442352 http://bugzilla.redhat.com/449910 It appears that utimensat can mistakenly return 280 rather than -1 upon ENOSYS failure. FIXME: remove in 2010 or whenever the offending kernels are no longer in common use. */ if (0 < result) errno = ENOSYS; # endif /* __linux__ */ if (result == 0 || errno != ENOSYS) { utimensat_works_really = 1; return result; } } # endif /* HAVE_UTIMENSAT */ # if HAVE_FUTIMENS if (0 <= fd) { result = futimens (fd, ts); # ifdef __linux__ /* Work around the same bug as above. */ if (0 < result) errno = ENOSYS; # endif /* __linux__ */ if (result == 0 || errno != ENOSYS) { utimensat_works_really = 1; return result; } } # endif /* HAVE_FUTIMENS */ } utimensat_works_really = -1; lutimensat_works_really = -1; #endif /* HAVE_UTIMENSAT || HAVE_FUTIMENS */ /* The platform lacks an interface to set file timestamps with nanosecond resolution, so do the best we can, discarding any fractional part of the timestamp. */ if (adjustment_needed || (REPLACE_FUNC_STAT_FILE && fd < 0)) { if (adjustment_needed != 3 && (fd < 0 ? stat (file, &st) : fstat (fd, &st))) return -1; if (ts && update_timespec (&st, &ts)) return 0; } { #if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES struct timeval timeval[2]; struct timeval *t; if (ts) { timeval[0].tv_sec = ts[0].tv_sec; timeval[0].tv_usec = ts[0].tv_nsec / 1000; timeval[1].tv_sec = ts[1].tv_sec; timeval[1].tv_usec = ts[1].tv_nsec / 1000; t = timeval; } else t = NULL; if (fd < 0) { # if HAVE_FUTIMESAT return futimesat (AT_FDCWD, file, t); # endif } else { /* If futimesat or futimes fails here, don't try to speed things up by returning right away. glibc can incorrectly fail with errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0 in high security mode doesn't allow ordinary users to read /proc/self, so glibc incorrectly fails with errno == EACCES. If errno == EIO, EPERM, or EROFS, it's probably safe to fail right away, but these cases are rare enough that they're not worth optimizing, and who knows what other messed-up systems are out there? So play it safe and fall back on the code below. */ # if (HAVE_FUTIMESAT && !FUTIMESAT_NULL_BUG) || HAVE_FUTIMES # if HAVE_FUTIMESAT && !FUTIMESAT_NULL_BUG # undef futimes # define futimes(fd, t) futimesat (fd, NULL, t) # endif if (futimes (fd, t) == 0) { # if __linux__ && __GLIBC__ /* Work around a longstanding glibc bug, still present as of 2010-12-27. On older Linux kernels that lack both utimensat and utimes, glibc's futimes rounds instead of truncating when falling back on utime. The same bug occurs in futimesat with a null 2nd arg. */ if (t) { bool abig = 500000 <= t[0].tv_usec; bool mbig = 500000 <= t[1].tv_usec; if ((abig | mbig) && fstat (fd, &st) == 0) { /* If these two subtractions overflow, they'll track the overflows inside the buggy glibc. */ time_t adiff = st.st_atime - t[0].tv_sec; time_t mdiff = st.st_mtime - t[1].tv_sec; struct timeval *tt = NULL; struct timeval truncated_timeval[2]; truncated_timeval[0] = t[0]; truncated_timeval[1] = t[1]; if (abig && adiff == 1 && get_stat_atime_ns (&st) == 0) { tt = truncated_timeval; tt[0].tv_usec = 0; } if (mbig && mdiff == 1 && get_stat_mtime_ns (&st) == 0) { tt = truncated_timeval; tt[1].tv_usec = 0; } if (tt) futimes (fd, tt); } } # endif return 0; } # endif } #endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */ if (!file) { #if ! ((HAVE_FUTIMESAT && !FUTIMESAT_NULL_BUG) \ || (HAVE_WORKING_UTIMES && HAVE_FUTIMES)) errno = ENOSYS; #endif return -1; } #if HAVE_WORKING_UTIMES return utimes (file, t); #else { struct utimbuf utimbuf; struct utimbuf *ut; if (ts) { utimbuf.actime = ts[0].tv_sec; utimbuf.modtime = ts[1].tv_sec; ut = &utimbuf; } else ut = NULL; return utime (file, ut); } #endif /* !HAVE_WORKING_UTIMES */ } } /* Set the access and modification time stamps of FILE to be TIMESPEC[0] and TIMESPEC[1], respectively. */ int utimens (char const *file, struct timespec const timespec[2]) { return fdutimens (-1, file, timespec); } /* Set the access and modification time stamps of FILE to be TIMESPEC[0] and TIMESPEC[1], respectively, without dereferencing symlinks. Fail with ENOSYS if the platform does not support changing symlink timestamps, but FILE was a symlink. */ int lutimens (char const *file, struct timespec const timespec[2]) { struct timespec adjusted_timespec[2]; struct timespec *ts = timespec ? adjusted_timespec : NULL; int adjustment_needed = 0; struct stat st; if (ts) { adjusted_timespec[0] = timespec[0]; adjusted_timespec[1] = timespec[1]; adjustment_needed = validate_timespec (ts); } if (adjustment_needed < 0) return -1; /* The Linux kernel did not support symlink timestamps until utimensat, in version 2.6.22, so we don't need to mimic fdutimens' worry about buggy NFS clients. But we do have to worry about bogus return values. */ #if HAVE_UTIMENSAT if (0 <= lutimensat_works_really) { int result; # if __linux__ /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory lstat prior to calling utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems where UTIME_OMIT would have worked. FIXME: Simplify this in 2012, when file system bugs are no longer common. */ if (adjustment_needed == 2) { if (lstat (file, &st)) return -1; if (ts[0].tv_nsec == UTIME_OMIT) ts[0] = get_stat_atime (&st); else if (ts[1].tv_nsec == UTIME_OMIT) ts[1] = get_stat_mtime (&st); /* Note that st is good, in case utimensat gives ENOSYS. */ adjustment_needed++; } # endif /* __linux__ */ result = utimensat (AT_FDCWD, file, ts, AT_SYMLINK_NOFOLLOW); # ifdef __linux__ /* Work around a kernel bug: http://bugzilla.redhat.com/442352 http://bugzilla.redhat.com/449910 It appears that utimensat can mistakenly return 280 rather than -1 upon ENOSYS failure. FIXME: remove in 2010 or whenever the offending kernels are no longer in common use. */ if (0 < result) errno = ENOSYS; # endif if (result == 0 || errno != ENOSYS) { utimensat_works_really = 1; lutimensat_works_really = 1; return result; } } lutimensat_works_really = -1; #endif /* HAVE_UTIMENSAT */ /* The platform lacks an interface to set file timestamps with nanosecond resolution, so do the best we can, discarding any fractional part of the timestamp. */ if (adjustment_needed || REPLACE_FUNC_STAT_FILE) { if (adjustment_needed != 3 && lstat (file, &st)) return -1; if (ts && update_timespec (&st, &ts)) return 0; } /* On Linux, lutimes is a thin wrapper around utimensat, so there is no point trying lutimes if utimensat failed with ENOSYS. */ #if HAVE_LUTIMES && !HAVE_UTIMENSAT { struct timeval timeval[2]; struct timeval *t; int result; if (ts) { timeval[0].tv_sec = ts[0].tv_sec; timeval[0].tv_usec = ts[0].tv_nsec / 1000; timeval[1].tv_sec = ts[1].tv_sec; timeval[1].tv_usec = ts[1].tv_nsec / 1000; t = timeval; } else t = NULL; result = lutimes (file, t); if (result == 0 || errno != ENOSYS) return result; } #endif /* HAVE_LUTIMES && !HAVE_UTIMENSAT */ /* Out of luck for symlinks, but we still handle regular files. */ if (!(adjustment_needed || REPLACE_FUNC_STAT_FILE) && lstat (file, &st)) return -1; if (!S_ISLNK (st.st_mode)) return fdutimens (-1, file, ts); errno = ENOSYS; return -1; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fsync.c��������������������������������������������������������������������������0000664�0000000�0000000�00000004341�12071561007�012403� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Emulate fsync on platforms that lack it, primarily Windows and cross-compilers like MinGW. This is derived from sqlite3 sources. http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/os_win.c http://www.sqlite.org/copyright.html Written by Richard W.M. Jones <rjones.at.redhat.com> Copyright (C) 2008-2013 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include <unistd.h> #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* FlushFileBuffers */ # define WIN32_LEAN_AND_MEAN # include <windows.h> # include <errno.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" int fsync (int fd) { HANDLE h = (HANDLE) _get_osfhandle (fd); DWORD err; if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (!FlushFileBuffers (h)) { /* Translate some Windows errors into rough approximations of Unix * errors. MSDN is useless as usual - in this case it doesn't * document the full range of errors. */ err = GetLastError (); switch (err) { case ERROR_ACCESS_DENIED: /* For a read-only handle, fsync should succeed, even though we have no way to sync the access-time changes. */ return 0; /* eg. Trying to fsync a tty. */ case ERROR_INVALID_HANDLE: errno = EINVAL; break; default: errno = EIO; } return -1; } return 0; } #else /* !Windows */ # error "This platform lacks fsync function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." #endif /* !Windows */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/snprintf.c�����������������������������������������������������������������������0000664�0000000�0000000�00000003523�12071561013�013122� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Formatted output to strings. Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> #include <errno.h> #include <limits.h> #include <stdarg.h> #include <stdlib.h> #include <string.h> #include "vasnprintf.h" /* Print formatted output to string STR. Similar to sprintf, but additional length SIZE limit how much is written into STR. Returns string length of formatted string (which may be larger than SIZE). STR may be NULL, in which case nothing will be written. On error, return a negative value. */ int snprintf (char *str, size_t size, const char *format, ...) { char *output; size_t len; size_t lenbuf = size; va_list args; va_start (args, format); output = vasnprintf (str, &lenbuf, format, args); len = lenbuf; va_end (args); if (!output) return -1; if (output != str) { if (size) { size_t pruned_len = (len < size ? len : size - 1); memcpy (str, output, pruned_len); str[pruned_len] = '\0'; } free (output); } if (INT_MAX < len) { errno = EOVERFLOW; return -1; } return len; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/localeconv.c���������������������������������������������������������������������0000664�0000000�0000000�00000006562�12071024546�013417� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Query locale dependent information for formatting numbers. Copyright (C) 2012-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <locale.h> #if HAVE_STRUCT_LCONV_DECIMAL_POINT /* Override for platforms where 'struct lconv' lacks the int_p_*, int_n_* members. */ struct lconv * localeconv (void) { static struct lconv result; # undef lconv # undef localeconv struct lconv *sys_result = localeconv (); result.decimal_point = sys_result->decimal_point; result.thousands_sep = sys_result->thousands_sep; result.grouping = sys_result->grouping; result.mon_decimal_point = sys_result->mon_decimal_point; result.mon_thousands_sep = sys_result->mon_thousands_sep; result.mon_grouping = sys_result->mon_grouping; result.positive_sign = sys_result->positive_sign; result.negative_sign = sys_result->negative_sign; result.currency_symbol = sys_result->currency_symbol; result.frac_digits = sys_result->frac_digits; result.p_cs_precedes = sys_result->p_cs_precedes; result.p_sign_posn = sys_result->p_sign_posn; result.p_sep_by_space = sys_result->p_sep_by_space; result.n_cs_precedes = sys_result->n_cs_precedes; result.n_sign_posn = sys_result->n_sign_posn; result.n_sep_by_space = sys_result->n_sep_by_space; result.int_curr_symbol = sys_result->int_curr_symbol; result.int_frac_digits = sys_result->int_frac_digits; result.int_p_cs_precedes = sys_result->p_cs_precedes; result.int_p_sign_posn = sys_result->p_sign_posn; result.int_p_sep_by_space = sys_result->p_sep_by_space; result.int_n_cs_precedes = sys_result->n_cs_precedes; result.int_n_sign_posn = sys_result->n_sign_posn; result.int_n_sep_by_space = sys_result->n_sep_by_space; return &result; } #else /* Override for platforms where 'struct lconv' is a dummy. */ # include <limits.h> struct lconv * localeconv (void) { static /*const*/ struct lconv result = { /* decimal_point */ ".", /* thousands_sep */ "", /* grouping */ "", /* mon_decimal_point */ "", /* mon_thousands_sep */ "", /* mon_grouping */ "", /* positive_sign */ "", /* negative_sign */ "", /* currency_symbol */ "", /* frac_digits */ CHAR_MAX, /* p_cs_precedes */ CHAR_MAX, /* p_sign_posn */ CHAR_MAX, /* p_sep_by_space */ CHAR_MAX, /* n_cs_precedes */ CHAR_MAX, /* n_sign_posn */ CHAR_MAX, /* n_sep_by_space */ CHAR_MAX, /* int_curr_symbol */ "", /* int_frac_digits */ CHAR_MAX, /* int_p_cs_precedes */ CHAR_MAX, /* int_p_sign_posn */ CHAR_MAX, /* int_p_sep_by_space */ CHAR_MAX, /* int_n_cs_precedes */ CHAR_MAX, /* int_n_sign_posn */ CHAR_MAX, /* int_n_sep_by_space */ CHAR_MAX }; return &result; } #endif ����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/isblank.c������������������������������������������������������������������������0000664�0000000�0000000�00000002466�12071024546�012714� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test whether a character is a blank. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <ctype.h> int isblank (int c) { /* On all known platforms, in all predefined locales, isblank(c) is likely equivalent with (c == ' ' || c == '\t'). Look at the glibc definition (in glibc/localedata/locales/i18n): The "blank" characters are '\t', ' ', U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+205F, U+3000, and none except the first two is present in a common 8-bit encoding. Therefore the substitute for other platforms is not more complicated than this. */ return (c == ' ' || c == '\t'); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getopt.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000021621�12100637437�013201� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_GETOPT_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. We must also inform the replacement unistd.h to not recursively use <getopt.h>; our definitions will be present soon enough. */ #if @HAVE_GETOPT_H@ # define _GL_SYSTEM_GETOPT # @INCLUDE_NEXT@ @NEXT_GETOPT_H@ # undef _GL_SYSTEM_GETOPT #endif #ifndef _@GUARD_PREFIX@_GETOPT_H #ifndef __need_getopt # define _@GUARD_PREFIX@_GETOPT_H 1 #endif /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables defined in this header. When this happens, include the headers that might declare getopt so that they will not cause confusion if included after this file (if the system had <getopt.h>, we have already included it). Then systematically rename identifiers so that they do not collide with the system functions and variables. Renaming avoids problems with some compilers and linkers. */ #if defined __GETOPT_PREFIX && !defined __need_getopt # if !@HAVE_GETOPT_H@ # define __need_system_stdlib_h # include <stdlib.h> # undef __need_system_stdlib_h # include <stdio.h> # include <unistd.h> # endif # undef __need_getopt # undef getopt # undef getopt_long # undef getopt_long_only # undef optarg # undef opterr # undef optind # undef optopt # undef option # define __GETOPT_CONCAT(x, y) x ## y # define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) # define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) # define getopt __GETOPT_ID (getopt) # define getopt_long __GETOPT_ID (getopt_long) # define getopt_long_only __GETOPT_ID (getopt_long_only) # define optarg __GETOPT_ID (optarg) # define opterr __GETOPT_ID (opterr) # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) # define option __GETOPT_ID (option) # define _getopt_internal __GETOPT_ID (getopt_internal) #endif /* Standalone applications get correct prototypes for getopt_long and getopt_long_only; they declare "char **argv". libc uses prototypes with "char *const *argv" that are incorrect because getopt_long and getopt_long_only can permute argv; this is required for backward compatibility (e.g., for LSB 2.0.1). This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt', but it caused redefinition warnings if both unistd.h and getopt.h were included, since unistd.h includes getopt.h having previously defined __need_getopt. The only place where __getopt_argv_const is used is in definitions of getopt_long and getopt_long_only below, but these are visible only if __need_getopt is not defined, so it is quite safe to rewrite the conditional as follows: */ #if !defined __need_getopt # if defined __GETOPT_PREFIX # define __getopt_argv_const /* empty */ # else # define __getopt_argv_const const # endif #endif /* If __GNU_LIBRARY__ is not already defined, either we are being used standalone, or this is the first header included in the source file. If we are being used with glibc, we need to include <features.h>, but that does not exist if we are standalone. So: if __GNU_LIBRARY__ is not defined, include <ctype.h>, which will pull in <features.h> for us if it's from glibc. (Why ctype.h? It's guaranteed to exist and it doesn't flood the namespace with stuff the way some other headers do.) */ #if !defined __GNU_LIBRARY__ # include <ctype.h> #endif #ifndef __THROW # ifndef __GNUC_PREREQ # define __GNUC_PREREQ(maj, min) (0) # endif # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () # else # define __THROW # endif #endif /* The definition of _GL_ARG_NONNULL is copied here. */ #ifdef __cplusplus extern "C" { #endif /* For communication from 'getopt' to the caller. When 'getopt' finds an option that takes an argument, the argument value is returned here. Also, when 'ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to 'getopt'. On entry to 'getopt', zero means this is the first call; initialize. When 'getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, 'optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message 'getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of 'struct option' terminated by an element containing a name which is zero. The field 'has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field 'flag' is not NULL, it points to a variable that is set to the value given in the field 'val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an 'int' to a compiled-in constant, such as set a value from 'optarg', set the option's 'flag' field to zero and its 'val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero 'flag' field, 'getopt' returns the contents of the 'val' field. */ # if !GNULIB_defined_struct_option struct option { const char *name; /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; # define GNULIB_defined_struct_option 1 # endif /* Names for the values of the 'has_arg' field of 'struct option'. */ # define no_argument 0 # define required_argument 1 # define optional_argument 2 #endif /* need getopt */ /* Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, 'optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in 'optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU 'getopt'. The argument '--' causes premature termination of argument scanning, explicitly telling 'getopt' that there are no more options. If OPTS begins with '-', then non-option arguments are treated as arguments to the option '\1'. This behavior is specific to the GNU 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in the environment, then do not permute arguments. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __THROW _GL_ARG_NONNULL ((2, 3)); #ifndef __need_getopt extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW _GL_ARG_NONNULL ((2, 3)); extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW _GL_ARG_NONNULL ((2, 3)); #endif #ifdef __cplusplus } #endif /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt #endif /* _@GUARD_PREFIX@_GETOPT_H */ #endif /* _@GUARD_PREFIX@_GETOPT_H */ ���������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fdutimensat.c��������������������������������������������������������������������0000664�0000000�0000000�00000003710�12071024546�013605� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set file access and modification times. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ /* derived from a function in utimens.c */ #include <config.h> #include "utimens.h" #include <errno.h> #include <fcntl.h> #include <sys/stat.h> /* Set the access and modification time stamps of FD (a.k.a. FILE) to be TIMESPEC[0] and TIMESPEC[1], respectively; relative to directory DIR. FD must be either negative -- in which case it is ignored -- or a file descriptor that is open on FILE. If FD is nonnegative, then FILE can be NULL, which means use just futimes (or equivalent) instead of utimes (or equivalent), and fail if on an old system without futimes (or equivalent). If TIMESPEC is null, set the time stamps to the current time. ATFLAG is passed to utimensat if FD is negative or futimens was unsupported, which can allow operation on FILE as a symlink. Return 0 on success, -1 (setting errno) on failure. */ int fdutimensat (int fd, int dir, char const *file, struct timespec const ts[2], int atflag) { int result = 1; if (0 <= fd) result = futimens (fd, ts); if (file && (fd < 0 || (result == -1 && errno == ENOSYS))) result = utimensat (dir, file, ts, atflag); if (result == 1) { errno = EBADF; result = -1; } return result; } ��������������������������������������������������������coreutils-8.21/lib/freading.c�����������������������������������������������������������������������0000664�0000000�0000000�00000005766�12071024546�013056� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "freading.h" #include "stdio-impl.h" /* Don't use glibc's __freading function in glibc < 2.7, see <http://sourceware.org/bugzilla/show_bug.cgi?id=4359> */ #if !(HAVE___FREADING && (!defined __GLIBC__ || defined __UCLIBC__ || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 7))) bool freading (FILE *fp) { /* Most systems provide FILE as a struct and the necessary bitmask in <stdio.h>, because they need it for implementing getc() and putc() as fast macros. */ # if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ return ((fp->_flags & _IO_NO_WRITES) != 0 || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 && fp->_IO_read_base != NULL)); # elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ return (fp_->_flags & __SRD) != 0; # elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOREAD) != 0; # elif defined __minix /* Minix */ return (fp->_flags & _IOREADING) != 0; # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ # if defined __sun /* Solaris */ return (fp->_flag & _IOREAD) != 0 && (fp->_flag & _IOWRT) == 0; # else return (fp->_flag & _IOREAD) != 0; # endif # elif defined __UCLIBC__ /* uClibc */ return (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) != 0; # elif defined __QNX__ /* QNX */ return ((fp->_Mode & 0x2 /* _MOPENW */) == 0 || (fp->_Mode & 0x1000 /* _MREAD */) != 0); # elif defined __MINT__ /* Atari FreeMiNT */ if (!fp->__mode.__write) return 1; if (!fp->__mode.__read) return 0; # ifdef _IO_CURRENTLY_GETTING /* Flag added on 2009-02-28 */ return (fp->__flags & _IO_CURRENTLY_GETTING) != 0; # else return (fp->__buffer < fp->__get_limit /*|| fp->__bufp == fp->__put_limit ??*/); # endif # elif defined EPLAN9 /* Plan9 */ if (fp->state == 0 /* CLOSED */ || fp->state == 4 /* WR */) return 0; return (fp->state == 3 /* RD */ && (fp->bufl == 0 || fp->rp < fp->wp)); # else # error "Please port gnulib freading.c to your platform!" # endif } #endif ����������coreutils-8.21/lib/timespec.c�����������������������������������������������������������������������0000664�0000000�0000000�00000000130�12010513757�013064� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE #include "timespec.h" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-solaris.gperf���������������������������������������������������������0000664�0000000�0000000�00000001543�11624727634�015771� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On Solaris 10, look in the "iconv -l" output. Some aliases are advertised but # not actually supported by the iconv() function and by the 'iconv' program. # For example: # $ echo abc | iconv -f 646 -t ISO-8859-1 # Not supported 646 to ISO-8859-1 # $ echo abc | iconv -f 646 -t ISO8859-1 $ abc ASCII, "646" ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" CP1251, "ansi-1251" �������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbchar.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002340�12071024546�012514� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2001, 2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #define MBCHAR_INLINE _GL_EXTERN_INLINE #include <limits.h> #include "mbchar.h" #if IS_BASIC_ASCII /* Bit table of characters in the ISO C "basic character set". */ const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] = { 0x00001a00, /* '\t' '\v' '\f' */ 0xffffffef, /* ' '...'#' '%'...'?' */ 0xfffffffe, /* 'A'...'Z' '[' '\\' ']' '^' '_' */ 0x7ffffffe /* 'a'...'z' '{' '|' '}' '~' */ /* The remaining bits are 0. */ }; #endif /* IS_BASIC_ASCII */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/vasnprintf.h���������������������������������������������������������������������0000664�0000000�0000000�00000005600�12071561015�013456� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* vsprintf with automatic memory allocation. Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H /* Get va_list. */ #include <stdarg.h> /* Get size_t. */ #include <stddef.h> /* The __attribute__ feature is available in gcc versions 2.5 and later. The __-protected variants of the attributes 'format' and 'printf' are accepted by gcc versions 2.6.4 (effectively 2.7) and later. We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because gnulib and libintl do '#define printf __printf__' when they override the 'printf' function. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) #else # define _GL_ATTRIBUTE_FORMAT(spec) /* empty */ #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. When dynamic memory allocation occurs, the preallocated buffer is left alone (with possibly modified contents). This makes it possible to use a statically allocated or stack-allocated buffer, like this: char buf[100]; size_t len = sizeof (buf); char *output = vasnprintf (buf, &len, format, args); if (output == NULL) ... error handling ...; else { ... use the output string ...; if (output != buf) free (output); } */ #if REPLACE_VASNPRINTF # define asnprintf rpl_asnprintf # define vasnprintf rpl_vasnprintf #endif extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4)); extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 0)); #ifdef __cplusplus } #endif #endif /* _VASNPRINTF_H */ ��������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtol-error.c������������������������������������������������������������������0000664�0000000�0000000�00000005370�12071024546�014134� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "xstrtol.h" #include <stdlib.h> #include "error.h" #include "exitfail.h" #include "gettext.h" #define N_(msgid) msgid /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with status EXIT_STATUS if it is nonzero. */ static void xstrtol_error (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg, int exit_status) { char const *hyphens = "--"; char const *msgid; char const *option; char option_buffer[2]; switch (err) { default: abort (); case LONGINT_INVALID: msgid = N_("invalid %s%s argument '%s'"); break; case LONGINT_INVALID_SUFFIX_CHAR: case LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW: msgid = N_("invalid suffix in %s%s argument '%s'"); break; case LONGINT_OVERFLOW: msgid = N_("%s%s argument '%s' too large"); break; } if (opt_idx < 0) { hyphens -= opt_idx; option_buffer[0] = c; option_buffer[1] = '\0'; option = option_buffer; } else option = long_options[opt_idx].name; error (exit_status, 0, gettext (msgid), hyphens, option, arg); } /* Like xstrtol_error, except exit with a failure status. */ void xstrtol_fatal (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg) { xstrtol_error (err, opt_idx, c, long_options, arg, exit_failure); abort (); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/imaxtostr.c����������������������������������������������������������������������0000664�0000000�0000000�00000000112�11624727634�013320� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#define anytostr imaxtostr #define inttype intmax_t #include "anytostr.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkdir-p.c������������������������������������������������������������������������0000664�0000000�0000000�00000017042�12071024546�012630� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* mkdir-p.c -- Ensure that a directory and its parents exist. Copyright (C) 1990, 1997-2000, 2002-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert, David MacKenzie, and Jim Meyering. */ #include <config.h> #include "mkdir-p.h" #include <errno.h> #include <sys/stat.h> #include <unistd.h> #include "gettext.h" #define _(msgid) gettext (msgid) #include "dirchownmod.h" #include "dirname.h" #include "error.h" #include "quote.h" #include "mkancesdirs.h" #include "savewd.h" #ifndef HAVE_FCHMOD # define HAVE_FCHMOD false #endif /* Ensure that the directory DIR exists. WD is the working directory, as in savewd.c. If MAKE_ANCESTOR is not null, create any ancestor directories that don't already exist, by invoking MAKE_ANCESTOR (DIR, ANCESTOR, OPTIONS). This function should return zero if successful, -1 (setting errno) otherwise. In this case, DIR may be modified by storing '\0' bytes into it, to access the ancestor directories, and this modification is retained on return if the ancestor directories could not be created. Create DIR as a new directory with using mkdir with permissions MODE. It is also OK if MAKE_ANCESTOR is not null and a directory DIR already exists. Call ANNOUNCE (DIR, OPTIONS) just after successfully making DIR, even if some of the following actions fail. Set DIR's owner to OWNER and group to GROUP, but leave the owner alone if OWNER is (uid_t) -1, and similarly for GROUP. Set DIR's mode bits to MODE, except preserve any of the bits that correspond to zero bits in MODE_BITS. In other words, MODE_BITS is a mask that specifies which of DIR's mode bits should be set or cleared. MODE should be a subset of MODE_BITS, which in turn should be a subset of CHMOD_MODE_BITS. Changing the mode in this way is necessary if DIR already existed or if MODE and MODE_BITS specify non-permissions bits like S_ISUID. However, if PRESERVE_EXISTING is true and DIR already exists, do not attempt to set DIR's ownership and file mode bits. This implementation assumes the current umask is zero. Return true if DIR exists as a directory with the proper ownership and file mode bits when done, or if a child process has been dispatched to do the real work (though the child process may not have finished yet -- it is the caller's responsibility to handle this). Report a diagnostic and return false on failure, storing '\0' into *DIR if an ancestor directory had problems. */ bool make_dir_parents (char *dir, struct savewd *wd, int (*make_ancestor) (char const *, char const *, void *), void *options, mode_t mode, void (*announce) (char const *, void *), mode_t mode_bits, uid_t owner, gid_t group, bool preserve_existing) { int mkdir_errno = (IS_ABSOLUTE_FILE_NAME (dir) ? 0 : savewd_errno (wd)); if (mkdir_errno == 0) { ptrdiff_t prefix_len = 0; int savewd_chdir_options = (HAVE_FCHMOD ? SAVEWD_CHDIR_SKIP_READABLE : 0); if (make_ancestor) { prefix_len = mkancesdirs (dir, wd, make_ancestor, options); if (prefix_len < 0) { if (prefix_len < -1) return true; mkdir_errno = errno; } } if (0 <= prefix_len) { /* If the ownership might change, or if the directory will be writable to other users and its special mode bits may change after the directory is created, create it with more restrictive permissions at first, so unauthorized users cannot nip in before the directory is ready. */ bool keep_owner = owner == (uid_t) -1 && group == (gid_t) -1; bool keep_special_mode_bits = ((mode_bits & (S_ISUID | S_ISGID)) | (mode & S_ISVTX)) == 0; mode_t mkdir_mode = mode; if (! keep_owner) mkdir_mode &= ~ (S_IRWXG | S_IRWXO); else if (! keep_special_mode_bits) mkdir_mode &= ~ (S_IWGRP | S_IWOTH); if (mkdir (dir + prefix_len, mkdir_mode) == 0) { announce (dir, options); preserve_existing = keep_owner & keep_special_mode_bits; savewd_chdir_options |= (SAVEWD_CHDIR_NOFOLLOW | (mode & S_IRUSR ? SAVEWD_CHDIR_READABLE : 0)); } else { mkdir_errno = errno; mkdir_mode = -1; } if (preserve_existing) { struct stat st; if (mkdir_errno == 0 || (mkdir_errno != ENOENT && make_ancestor && stat (dir + prefix_len, &st) == 0 && S_ISDIR (st.st_mode))) return true; } else { int open_result[2]; int chdir_result = savewd_chdir (wd, dir + prefix_len, savewd_chdir_options, open_result); if (chdir_result < -1) return true; else { bool chdir_ok = (chdir_result == 0); int chdir_errno = errno; int fd = open_result[0]; bool chdir_failed_unexpectedly = (mkdir_errno == 0 && ((! chdir_ok && (mode & S_IXUSR)) || (fd < 0 && (mode & S_IRUSR)))); if (chdir_failed_unexpectedly) { /* No need to save errno here; it's irrelevant. */ if (0 <= fd) close (fd); } else { char const *subdir = (chdir_ok ? "." : dir + prefix_len); if (dirchownmod (fd, subdir, mkdir_mode, owner, group, mode, mode_bits) == 0) return true; } if (mkdir_errno == 0 || (mkdir_errno != ENOENT && make_ancestor && errno != ENOTDIR)) { error (0, (! chdir_failed_unexpectedly ? errno : ! chdir_ok && (mode & S_IXUSR) ? chdir_errno : open_result[1]), _(keep_owner ? "cannot change permissions of %s" : "cannot change owner and permissions of %s"), quote (dir)); return false; } } } } } error (0, mkdir_errno, _("cannot create directory %s"), quote (dir)); return false; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/close-stream.c�������������������������������������������������������������������0000664�0000000�0000000�00000005746�12071024546�013673� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Close a stream, with nicer error checking than fclose's. Copyright (C) 1998-2002, 2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "close-stream.h" #include <errno.h> #include <stdbool.h> #include "fpending.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Close STREAM. Return 0 if successful, EOF (setting errno) otherwise. A failure might set errno to 0 if the error number cannot be determined. A failure with errno set to EPIPE may or may not indicate an error situation worth signaling to the user. See the documentation of the close_stdout_set_ignore_EPIPE function for details. If a program writes *anything* to STREAM, that program should close STREAM and make sure that it succeeds before exiting. Otherwise, suppose that you go to the extreme of checking the return status of every function that does an explicit write to STREAM. The last printf can succeed in writing to the internal stream buffer, and yet the fclose(STREAM) could still fail (due e.g., to a disk full error) when it tries to write out that buffered data. Thus, you would be left with an incomplete output file and the offending program would exit successfully. Even calling fflush is not always sufficient, since some file systems (NFS and CODA) buffer written/flushed data until an actual close call. Besides, it's wasteful to check the return value from every call that writes to STREAM -- just let the internal stream state record the failure. That's what the ferror test is checking below. */ int close_stream (FILE *stream) { const bool some_pending = (__fpending (stream) != 0); const bool prev_fail = (ferror (stream) != 0); const bool fclose_fail = (fclose (stream) != 0); /* Return an error indication if there was a previous failure or if fclose failed, with one exception: ignore an fclose failure if there was no previous error, no data remains to be flushed, and fclose failed with EBADF. That can happen when a program like cp is invoked like this 'cp a b >&-' (i.e., with standard output closed) and doesn't generate any output (hence no previous error and nothing to be flushed). */ if (prev_fail || (fclose_fail && (some_pending || errno != EBADF))) { if (! fclose_fail) errno = 0; return EOF; } return 0; } ��������������������������coreutils-8.21/lib/getgroups.c����������������������������������������������������������������������0000664�0000000�0000000�00000005667�12071024546�013316� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* provide consistent interface to getgroups for systems that don't allow N==0 Copyright (C) 1996, 1999, 2003, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <unistd.h> #include <errno.h> #include <stdlib.h> #include <stdint.h> #if !HAVE_GETGROUPS /* Provide a stub that fails with ENOSYS, since there is no group information available on mingw. */ int getgroups (int n _GL_UNUSED, GETGROUPS_T *groups _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_GETGROUPS */ # undef getgroups # ifndef GETGROUPS_ZERO_BUG # define GETGROUPS_ZERO_BUG 0 # endif /* On at least Ultrix 4.3 and NextStep 3.2, getgroups (0, NULL) always fails. On other systems, it returns the number of supplemental groups for the process. This function handles that special case and lets the system-provided function handle all others. However, it can fail with ENOMEM if memory is tight. It is unspecified whether the effective group id is included in the list. */ int rpl_getgroups (int n, gid_t *group) { int n_groups; GETGROUPS_T *gbuf; int saved_errno; if (n < 0) { errno = EINVAL; return -1; } if (n != 0 || !GETGROUPS_ZERO_BUG) { int result; if (sizeof *group == sizeof *gbuf) return getgroups (n, (GETGROUPS_T *) group); if (SIZE_MAX / sizeof *gbuf <= n) { errno = ENOMEM; return -1; } gbuf = malloc (n * sizeof *gbuf); if (!gbuf) return -1; result = getgroups (n, gbuf); if (0 <= result) { n = result; while (n--) group[n] = gbuf[n]; } saved_errno = errno; free (gbuf); errno == saved_errno; return result; } n = 20; while (1) { /* No need to worry about address arithmetic overflow here, since the ancient systems that we're running on have low limits on the number of secondary groups. */ gbuf = malloc (n * sizeof *gbuf); if (!gbuf) return -1; n_groups = getgroups (n, gbuf); if (n_groups == -1 ? errno != EINVAL : n_groups < n) break; free (gbuf); n *= 2; } saved_errno = errno; free (gbuf); errno = saved_errno; return n_groups; } #endif /* HAVE_GETGROUPS */ �������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-osf.h�����������������������������������������������������������������0000664�0000000�0000000�00000025745�12107176112�014224� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./lib/iconv_open-osf.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "./lib/iconv_open-osf.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 38 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 47 /* maximum key range = 42, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 2, 29, 24, 34, 31, 0, 15, 14, 10, 13, 2, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 7, 48, 48, 48, 48, 48, 48, 11, 48, 2, 7, 48, 48, 48, 1, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 }; return len + asso_values[(unsigned char)str[3]+3] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("CP1255")]; char stringpool_str7[sizeof("CP775")]; char stringpool_str8[sizeof("CP1250")]; char stringpool_str9[sizeof("EUC-TW")]; char stringpool_str10[sizeof("EUC-KR")]; char stringpool_str11[sizeof("TIS-620")]; char stringpool_str12[sizeof("ISO-8859-5")]; char stringpool_str13[sizeof("ISO-8859-15")]; char stringpool_str14[sizeof("BIG5")]; char stringpool_str15[sizeof("CP855")]; char stringpool_str16[sizeof("CP1258")]; char stringpool_str17[sizeof("CP850")]; char stringpool_str18[sizeof("CP865")]; char stringpool_str19[sizeof("EUC-JP")]; char stringpool_str20[sizeof("CP1257")]; char stringpool_str21[sizeof("CP1256")]; char stringpool_str22[sizeof("ISO-8859-8")]; char stringpool_str23[sizeof("SHIFT_JIS")]; char stringpool_str25[sizeof("ISO-8859-9")]; char stringpool_str26[sizeof("ISO-8859-7")]; char stringpool_str27[sizeof("ISO-8859-6")]; char stringpool_str29[sizeof("CP857")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("CP869")]; char stringpool_str32[sizeof("CP949")]; char stringpool_str33[sizeof("CP866")]; char stringpool_str34[sizeof("CP437")]; char stringpool_str35[sizeof("CP1251")]; char stringpool_str36[sizeof("ISO-8859-2")]; char stringpool_str37[sizeof("CP1254")]; char stringpool_str38[sizeof("CP874")]; char stringpool_str39[sizeof("CP852")]; char stringpool_str40[sizeof("CP1253")]; char stringpool_str41[sizeof("ISO-8859-1")]; char stringpool_str42[sizeof("CP862")]; char stringpool_str43[sizeof("ISO-8859-4")]; char stringpool_str46[sizeof("ISO-8859-3")]; char stringpool_str47[sizeof("CP861")]; }; static const struct stringpool_t stringpool_contents = { "CP1255", "CP775", "CP1250", "EUC-TW", "EUC-KR", "TIS-620", "ISO-8859-5", "ISO-8859-15", "BIG5", "CP855", "CP1258", "CP850", "CP865", "EUC-JP", "CP1257", "CP1256", "ISO-8859-8", "SHIFT_JIS", "ISO-8859-9", "ISO-8859-7", "ISO-8859-6", "CP857", "CP1252", "CP869", "CP949", "CP866", "CP437", "CP1251", "ISO-8859-2", "CP1254", "CP874", "CP852", "CP1253", "ISO-8859-1", "CP862", "ISO-8859-4", "ISO-8859-3", "CP861" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 41 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"}, #line 24 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp775"}, #line 36 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"}, #line 47 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"}, #line 46 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"}, #line 50 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"}, #line 17 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"}, #line 22 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"}, #line 48 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "big5"}, #line 27 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "cp855"}, #line 44 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"}, #line 25 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "cp850"}, #line 31 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp865"}, #line 45 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"}, #line 43 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"}, #line 42 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"}, #line 20 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"}, #line 49 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"}, {-1}, #line 21 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"}, #line 19 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"}, #line 18 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, {-1}, #line 28 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp857"}, #line 38 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 33 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp869"}, #line 35 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"}, #line 32 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp866"}, #line 23 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp437"}, #line 37 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"}, #line 14 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"}, #line 40 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"}, #line 34 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp874"}, #line 26 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "cp852"}, #line 39 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"}, #line 13 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"}, #line 30 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "cp862"}, #line 16 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"}, {-1}, {-1}, #line 15 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"}, #line 29 "./lib/iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "cp861"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } ���������������������������coreutils-8.21/lib/root-dev-ino.h�������������������������������������������������������������������0000664�0000000�0000000�00000003213�12102337340�013601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Root device and inode number checking. Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef ROOT_DEV_INO_H # define ROOT_DEV_INO_H 1 # include "dev-ino.h" # include "same-inode.h" struct dev_ino * get_root_dev_ino (struct dev_ino *root_d_i); /* These macros are common to the programs that support the --preserve-root and --no-preserve-root options. */ # define ROOT_DEV_INO_CHECK(Root_dev_ino, Dir_statbuf) \ (Root_dev_ino && SAME_INODE (*Dir_statbuf, *Root_dev_ino)) # define ROOT_DEV_INO_WARN(Dirname) \ do \ { \ if (STREQ (Dirname, "/")) \ error (0, 0, _("it is dangerous to operate recursively on %s"), \ quote (Dirname)); \ else \ error (0, 0, \ _("it is dangerous to operate recursively on %s (same as %s)"), \ quote_n (0, Dirname), quote_n (1, "/")); \ error (0, 0, _("use --no-preserve-root to override this failsafe")); \ } \ while (0) #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_close.c��������������������������������������������������������������������0000664�0000000�0000000�00000002531�12071561010�013555� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Character set conversion. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <iconv.h> #include <stdint.h> #ifndef uintptr_t # define uintptr_t unsigned long #endif int rpl_iconv_close (iconv_t cd) #undef iconv_close { #if REPLACE_ICONV_UTF switch ((uintptr_t) cd) { case (uintptr_t) _ICONV_UTF8_UTF16BE: case (uintptr_t) _ICONV_UTF8_UTF16LE: case (uintptr_t) _ICONV_UTF8_UTF32BE: case (uintptr_t) _ICONV_UTF8_UTF32LE: case (uintptr_t) _ICONV_UTF16BE_UTF8: case (uintptr_t) _ICONV_UTF16LE_UTF8: case (uintptr_t) _ICONV_UTF32BE_UTF8: case (uintptr_t) _ICONV_UTF32LE_UTF8: return 0; } #endif return iconv_close (cd); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dup.c����������������������������������������������������������������������������0000664�0000000�0000000�00000002452�12071024546�012054� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Duplicate an open file descriptor. Copyright (C) 2011-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include "msvc-inval.h" #undef dup #if HAVE_MSVC_INVALID_PARAMETER_HANDLER static int dup_nothrow (int fd) { int result; TRY_MSVC_INVAL { result = dup (fd); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } #else # define dup_nothrow dup #endif int rpl_dup (int fd) { int result = dup_nothrow (fd); #if REPLACE_FCHDIR if (result >= 0) result = _gl_register_dup (fd, result); #endif return result; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/human.c��������������������������������������������������������������������������0000664�0000000�0000000�00000032354�12071024546�012400� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* human.c -- print human readable file size Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Larry McVoy. */ #include <config.h> #include "human.h" #include <locale.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <argmatch.h> #include <error.h> #include <intprops.h> /* The maximum length of a suffix like "KiB". */ #define HUMAN_READABLE_SUFFIX_LENGTH_MAX 3 static const char power_letter[] = { 0, /* not used */ 'K', /* kibi ('k' for kilo is a special case) */ 'M', /* mega or mebi */ 'G', /* giga or gibi */ 'T', /* tera or tebi */ 'P', /* peta or pebi */ 'E', /* exa or exbi */ 'Z', /* zetta or 2**70 */ 'Y' /* yotta or 2**80 */ }; /* If INEXACT_STYLE is not human_round_to_nearest, and if easily possible, adjust VALUE according to the style. */ static long double adjust_value (int inexact_style, long double value) { /* Do not use the floorl or ceill functions, as that would mean checking for their presence and possibly linking with the standard math library, which is a porting pain. So leave the value alone if it is too large to easily round. */ if (inexact_style != human_round_to_nearest && value < UINTMAX_MAX) { uintmax_t u = value; value = u + (inexact_style == human_ceiling && u != value); } return value; } /* Group the digits of NUMBER according to the grouping rules of the current locale. NUMBER contains NUMBERLEN digits. Modify the bytes pointed to by NUMBER in place, subtracting 1 from NUMBER for each byte inserted. Return the starting address of the modified number. To group the digits, use GROUPING and THOUSANDS_SEP as in 'struct lconv' from <locale.h>. */ static char * group_number (char *number, size_t numberlen, char const *grouping, char const *thousands_sep) { register char *d; size_t grouplen = SIZE_MAX; size_t thousands_seplen = strlen (thousands_sep); size_t i = numberlen; /* The maximum possible value for NUMBERLEN is the number of digits in the square of the largest uintmax_t, so double the size needed. */ char buf[2 * INT_STRLEN_BOUND (uintmax_t) + 1]; memcpy (buf, number, numberlen); d = number + numberlen; for (;;) { unsigned char g = *grouping; if (g) { grouplen = g < CHAR_MAX ? g : i; grouping++; } if (i < grouplen) grouplen = i; d -= grouplen; i -= grouplen; memcpy (d, buf + i, grouplen); if (i == 0) return d; d -= thousands_seplen; memcpy (d, thousands_sep, thousands_seplen); } } /* Convert N to a human readable format in BUF, using the options OPTS. N is expressed in units of FROM_BLOCK_SIZE. FROM_BLOCK_SIZE must be nonnegative. Use units of TO_BLOCK_SIZE in the output number. TO_BLOCK_SIZE must be positive. Use (OPTS & (human_round_to_nearest | human_floor | human_ceiling)) to determine whether to take the ceiling or floor of any result that cannot be expressed exactly. If (OPTS & human_group_digits), group the thousands digits according to the locale, e.g., "1,000,000" in an American English locale. If (OPTS & human_autoscale), deduce the output block size automatically; TO_BLOCK_SIZE must be 1 but it has no effect on the output. Use powers of 1024 if (OPTS & human_base_1024), and powers of 1000 otherwise. For example, assuming powers of 1024, 8500 would be converted to 8.3, 133456345 to 127, 56990456345 to 53, and so on. Numbers smaller than the power aren't modified. human_autoscale is normally used together with human_SI. If (OPTS & human_space_before_unit), use a space to separate the number from any suffix that is appended as described below. If (OPTS & human_SI), append an SI prefix indicating which power is being used. If in addition (OPTS & human_B), append "B" (if base 1000) or "iB" (if base 1024) to the SI prefix. When ((OPTS & human_SI) && ! (OPTS & human_autoscale)), TO_BLOCK_SIZE must be a power of 1024 or of 1000, depending on (OPTS & human_base_1024). */ char * human_readable (uintmax_t n, char *buf, int opts, uintmax_t from_block_size, uintmax_t to_block_size) { int inexact_style = opts & (human_round_to_nearest | human_floor | human_ceiling); unsigned int base = opts & human_base_1024 ? 1024 : 1000; uintmax_t amt; int tenths; int exponent = -1; int exponent_max = sizeof power_letter - 1; char *p; char *psuffix; char const *integerlim; /* 0 means adjusted N == AMT.TENTHS; 1 means AMT.TENTHS < adjusted N < AMT.TENTHS + 0.05; 2 means adjusted N == AMT.TENTHS + 0.05; 3 means AMT.TENTHS + 0.05 < adjusted N < AMT.TENTHS + 0.1. */ int rounding; char const *decimal_point = "."; size_t decimal_pointlen = 1; char const *grouping = ""; char const *thousands_sep = ""; struct lconv const *l = localeconv (); size_t pointlen = strlen (l->decimal_point); if (0 < pointlen && pointlen <= MB_LEN_MAX) { decimal_point = l->decimal_point; decimal_pointlen = pointlen; } grouping = l->grouping; if (strlen (l->thousands_sep) <= MB_LEN_MAX) thousands_sep = l->thousands_sep; psuffix = buf + LONGEST_HUMAN_READABLE - HUMAN_READABLE_SUFFIX_LENGTH_MAX; p = psuffix; /* Adjust AMT out of FROM_BLOCK_SIZE units and into TO_BLOCK_SIZE units. If this can be done exactly with integer arithmetic, do not use floating point operations. */ if (to_block_size <= from_block_size) { if (from_block_size % to_block_size == 0) { uintmax_t multiplier = from_block_size / to_block_size; amt = n * multiplier; if (amt / multiplier == n) { tenths = 0; rounding = 0; goto use_integer_arithmetic; } } } else if (from_block_size != 0 && to_block_size % from_block_size == 0) { uintmax_t divisor = to_block_size / from_block_size; uintmax_t r10 = (n % divisor) * 10; uintmax_t r2 = (r10 % divisor) * 2; amt = n / divisor; tenths = r10 / divisor; rounding = r2 < divisor ? 0 < r2 : 2 + (divisor < r2); goto use_integer_arithmetic; } { /* Either the result cannot be computed easily using uintmax_t, or from_block_size is zero. Fall back on floating point. FIXME: This can yield answers that are slightly off. */ long double dto_block_size = to_block_size; long double damt = n * (from_block_size / dto_block_size); size_t buflen; size_t nonintegerlen; if (! (opts & human_autoscale)) { sprintf (buf, "%.0Lf", adjust_value (inexact_style, damt)); buflen = strlen (buf); nonintegerlen = 0; } else { long double e = 1; exponent = 0; do { e *= base; exponent++; } while (e * base <= damt && exponent < exponent_max); damt /= e; sprintf (buf, "%.1Lf", adjust_value (inexact_style, damt)); buflen = strlen (buf); nonintegerlen = decimal_pointlen + 1; if (1 + nonintegerlen + ! (opts & human_base_1024) < buflen || ((opts & human_suppress_point_zero) && buf[buflen - 1] == '0')) { sprintf (buf, "%.0Lf", adjust_value (inexact_style, damt * 10) / 10); buflen = strlen (buf); nonintegerlen = 0; } } p = psuffix - buflen; memmove (p, buf, buflen); integerlim = p + buflen - nonintegerlen; } goto do_grouping; use_integer_arithmetic: { /* The computation can be done exactly, with integer arithmetic. Use power of BASE notation if requested and if adjusted AMT is large enough. */ if (opts & human_autoscale) { exponent = 0; if (base <= amt) { do { unsigned int r10 = (amt % base) * 10 + tenths; unsigned int r2 = (r10 % base) * 2 + (rounding >> 1); amt /= base; tenths = r10 / base; rounding = (r2 < base ? (r2 + rounding) != 0 : 2 + (base < r2 + rounding)); exponent++; } while (base <= amt && exponent < exponent_max); if (amt < 10) { if (inexact_style == human_round_to_nearest ? 2 < rounding + (tenths & 1) : inexact_style == human_ceiling && 0 < rounding) { tenths++; rounding = 0; if (tenths == 10) { amt++; tenths = 0; } } if (amt < 10 && (tenths || ! (opts & human_suppress_point_zero))) { *--p = '0' + tenths; p -= decimal_pointlen; memcpy (p, decimal_point, decimal_pointlen); tenths = rounding = 0; } } } } if (inexact_style == human_round_to_nearest ? 5 < tenths + (0 < rounding + (amt & 1)) : inexact_style == human_ceiling && 0 < tenths + rounding) { amt++; if ((opts & human_autoscale) && amt == base && exponent < exponent_max) { exponent++; if (! (opts & human_suppress_point_zero)) { *--p = '0'; p -= decimal_pointlen; memcpy (p, decimal_point, decimal_pointlen); } amt = 1; } } integerlim = p; do { int digit = amt % 10; *--p = digit + '0'; } while ((amt /= 10) != 0); } do_grouping: if (opts & human_group_digits) p = group_number (p, integerlim - p, grouping, thousands_sep); if (opts & human_SI) { if (exponent < 0) { uintmax_t power; exponent = 0; for (power = 1; power < to_block_size; power *= base) if (++exponent == exponent_max) break; } if ((exponent | (opts & human_B)) && (opts & human_space_before_unit)) *psuffix++ = ' '; if (exponent) *psuffix++ = (! (opts & human_base_1024) && exponent == 1 ? 'k' : power_letter[exponent]); if (opts & human_B) { if ((opts & human_base_1024) && exponent) *psuffix++ = 'i'; *psuffix++ = 'B'; } } *psuffix = '\0'; return p; } /* The default block size used for output. This number may change in the future as disks get larger. */ #ifndef DEFAULT_BLOCK_SIZE # define DEFAULT_BLOCK_SIZE 1024 #endif static char const *const block_size_args[] = { "human-readable", "si", 0 }; static int const block_size_opts[] = { human_autoscale + human_SI + human_base_1024, human_autoscale + human_SI }; static uintmax_t default_block_size (void) { return getenv ("POSIXLY_CORRECT") ? 512 : DEFAULT_BLOCK_SIZE; } static strtol_error humblock (char const *spec, uintmax_t *block_size, int *options) { int i; int opts = 0; if (! spec && ! (spec = getenv ("BLOCK_SIZE")) && ! (spec = getenv ("BLOCKSIZE"))) *block_size = default_block_size (); else { if (*spec == '\'') { opts |= human_group_digits; spec++; } if (0 <= (i = ARGMATCH (spec, block_size_args, block_size_opts))) { opts |= block_size_opts[i]; *block_size = 1; } else { char *ptr; strtol_error e = xstrtoumax (spec, &ptr, 0, block_size, "eEgGkKmMpPtTyYzZ0"); if (e != LONGINT_OK) { *options = 0; return e; } for (; ! ('0' <= *spec && *spec <= '9'); spec++) if (spec == ptr) { opts |= human_SI; if (ptr[-1] == 'B') opts |= human_B; if (ptr[-1] != 'B' || ptr[-2] == 'i') opts |= human_base_1024; break; } } } *options = opts; return LONGINT_OK; } enum strtol_error human_options (char const *spec, int *opts, uintmax_t *block_size) { strtol_error e = humblock (spec, block_size, opts); if (*block_size == 0) { *block_size = default_block_size (); e = LONGINT_INVALID; } return e; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wait-process.h�������������������������������������������������������������������0000664�0000000�0000000�00000005706�12071024546�013716� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Waiting for a subprocess to finish. Copyright (C) 2001-2003, 2006, 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <haible@clisp.cons.org>, 2001. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _WAIT_PROCESS_H #define _WAIT_PROCESS_H /* Get pid_t. */ #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <stdbool.h> #ifdef __cplusplus extern "C" { #endif /* Wait for a subprocess to finish. Return its exit code. If it didn't terminate correctly, exit if exit_on_error is true, otherwise return 127. Arguments: - child is the pid of the subprocess. - progname is the name of the program executed by the subprocess, used for error messages. - If ignore_sigpipe is true, consider a subprocess termination due to SIGPIPE as equivalent to a success. This is suitable for processes whose only purpose is to write to standard output. This flag can be safely set to false when the process' standard output is known to go to DEV_NULL. - If null_stderr is true, the usual error message to stderr will be omitted. This is suitable when the subprocess does not fulfill an important task. - slave_process should be set to true if the process has been launched as a slave process. - If exit_on_error is true, any error will cause the main process to exit with an error status. - If termsigp is not NULL: *termsig will be set to the signal that terminated the subprocess (if supported by the platform: not on native Windows platforms), otherwise 0, and the error message about the signal that terminated the subprocess will be omitted. Prerequisites: The signal handler for SIGCHLD should not be set to SIG_IGN, otherwise this function will not work. */ extern int wait_subprocess (pid_t child, const char *progname, bool ignore_sigpipe, bool null_stderr, bool slave_process, bool exit_on_error, int *termsigp); /* Register a subprocess as being a slave process. This means that the subprocess will be terminated when its creator receives a catchable fatal signal or exits normally. Registration ends when wait_subprocess() notices that the subprocess has exited. */ extern void register_slave_subprocess (pid_t child); #ifdef __cplusplus } #endif #endif /* _WAIT_PROCESS_H */ ����������������������������������������������������������coreutils-8.21/lib/argv-iter.h����������������������������������������������������������������������0000664�0000000�0000000�00000002565�12071024545�013175� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Iterate over arguments from argv or --files0-from=FILE Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdio.h> #include <stdbool.h> /* Definition of _GL_ARG_NONNULL. */ #include "arg-nonnull.h" struct argv_iterator; enum argv_iter_err { AI_ERR_OK = 1, AI_ERR_EOF, AI_ERR_MEM, AI_ERR_READ }; struct argv_iterator *argv_iter_init_argv (char **argv) _GL_ARG_NONNULL ((1)); struct argv_iterator *argv_iter_init_stream (FILE *fp) _GL_ARG_NONNULL ((1)); char *argv_iter (struct argv_iterator *, enum argv_iter_err *) _GL_ARG_NONNULL ((1, 2)); size_t argv_iter_n_args (struct argv_iterator const *) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1)); void argv_iter_free (struct argv_iterator *) _GL_ARG_NONNULL ((1)); �������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirent-safer.h�������������������������������������������������������������������0000664�0000000�0000000�00000001530�12071024546�013650� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke dirent-like functions, but avoid some glitches. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ #include <dirent.h> DIR *opendir_safer (const char *name); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/basename-lgpl.c������������������������������������������������������������������0000664�0000000�0000000�00000004061�12071024545�013770� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* basename.c -- return the last element in a file name Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "dirname.h" #include <string.h> /* Return the address of the last file name component of NAME. If NAME has no relative file name components because it is a file system root, return the empty string. */ char * last_component (char const *name) { char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); char const *p; bool saw_slash = false; while (ISSLASH (*base)) base++; for (p = base; *p; p++) { if (ISSLASH (*p)) saw_slash = true; else if (saw_slash) { base = p; saw_slash = false; } } return (char *) base; } /* Return the length of the basename NAME. Typically NAME is the value returned by base_name or last_component. Act like strlen (NAME), except omit all trailing slashes. */ size_t base_len (char const *name) { size_t len; size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name); for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1 && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2]) return 2; if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len && len == prefix_len && ISSLASH (name[prefix_len])) return prefix_len + 1; return len; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/lstat.c��������������������������������������������������������������������������0000664�0000000�0000000�00000006674�12071024546�012425� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Work around a bug of lstat on some systems Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ /* If the user's config.h happens to include <sys/stat.h>, let it include only the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to rpl_lstat. */ #define __need_system_sys_stat_h #include <config.h> #if !HAVE_LSTAT /* On systems that lack symlinks, our replacement <sys/stat.h> already defined lstat as stat, so there is nothing further to do other than avoid an empty file. */ typedef int dummy; #else /* HAVE_LSTAT */ /* Get the original definition of lstat. It might be defined as a macro. */ # include <sys/types.h> # include <sys/stat.h> # undef __need_system_sys_stat_h static int orig_lstat (const char *filename, struct stat *buf) { return lstat (filename, buf); } /* Specification. */ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ # include "sys/stat.h" # include <string.h> # include <errno.h> /* lstat works differently on Linux and Solaris systems. POSIX (see "pathname resolution" in the glossary) requires that programs like 'ls' take into consideration the fact that FILE has a trailing slash when FILE is a symbolic link. On Linux and Solaris 10 systems, the lstat function already has the desired semantics (in treating 'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)', but on Solaris 9 and earlier it does not. If FILE has a trailing slash and specifies a symbolic link, then use stat() to get more info on the referent of FILE. If the referent is a non-directory, then set errno to ENOTDIR and return -1. Otherwise, return stat's result. */ int rpl_lstat (const char *file, struct stat *sbuf) { size_t len; int lstat_result = orig_lstat (file, sbuf); if (lstat_result != 0) return lstat_result; /* This replacement file can blindly check against '/' rather than using the ISSLASH macro, because all platforms with '\\' either lack symlinks (mingw) or have working lstat (cygwin) and thus do not compile this file. 0 len should have already been filtered out above, with a failure return of ENOENT. */ len = strlen (file); if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode)) return 0; /* At this point, a trailing slash is only permitted on symlink-to-dir; but it should have found information on the directory, not the symlink. Call stat() to get info about the link's referent. Our replacement stat guarantees valid results, even if the symlink is not pointing to a directory. */ if (!S_ISLNK (sbuf->st_mode)) { errno = ENOTDIR; return -1; } return stat (file, sbuf); } #endif /* HAVE_LSTAT */ ��������������������������������������������������������������������coreutils-8.21/lib/diacrit.c������������������������������������������������������������������������0000664�0000000�0000000�00000017405�12071024546�012707� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Diacritics processing for a few character codes. Copyright (C) 1990-1993, 2000, 2006, 2009-2013 Free Software Foundation, Inc. François Pinard <pinard@iro.umontreal.ca>, 1988. All this file is a temporary hack, waiting for locales in GNU. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "diacrit.h" /* ISO 8859-1 Latin-1 code is used as the underlying character set. If MSDOS is defined, IBM-PC's character set code is used instead. */ /*--------------------------------------------------------------------. | For each alphabetic character, returns what it would be without its | | possible diacritic symbol. | `--------------------------------------------------------------------*/ const char diacrit_base[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 0, 0, 0, 0, 0, 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0, 0, 0, 0, 0, #ifdef __MSDOS__ 'C', 'u', 'e', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'i', 'i', 'i', 'A', 'A', 'E', 'e', 'E', 'o', 'o', 'o', 'u', 'u', 'y', 'O', 'U', 0, 0, 0, 0, 0, 'a', 'i', 'o', 'u', 'n', 'N', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 0, 'N', 'O', 'O', 'O', 'O', 'O', 0, 'O', 'U', 'U', 'U', 'U', 'Y', 0, 0, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 0, 'n', 'o', 'o', 'o', 'o', 'o', 0, 'o', 'u', 'u', 'u', 'u', 'y', 0, 'y', #endif }; /*------------------------------------------------------------------------. | For each alphabetic character, returns a code of what its diacritic is, | | according to the following codes: 1 (eE) over aA for latin diphthongs; | | 2 (') acute accent; 3 (`) grave accent; 4 (^) circumflex accent; 5 (") | | umlaut or diaeresis; 6 (~) tilda; 7 (,) cedilla; 8 (o) covering degree | | symbol; 9 (|) slashed character. | `------------------------------------------------------------------------*/ const char diacrit_diac[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, #ifdef __MSDOS__ 7, 5, 2, 4, 5, 3, 8, 7, 4, 5, 3, 5, 4, 3, 5, 8, 2, 1, 1, 4, 5, 3, 4, 3, 5, 5, 5, 0, 0, 0, 0, 0, 2, 2, 2, 2, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 6, 5, 8, 1, 7, 3, 2, 4, 5, 3, 2, 4, 5, 0, 6, 3, 2, 4, 6, 5, 0, 9, 3, 2, 4, 5, 2, 0, 0, 3, 2, 4, 6, 5, 8, 1, 7, 3, 2, 4, 5, 3, 2, 4, 5, 0, 6, 3, 2, 4, 6, 5, 0, 9, 3, 2, 4, 5, 2, 0, 0, #endif }; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ftello.c�������������������������������������������������������������������������0000664�0000000�0000000�00000004610�12071024546�012547� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An ftello() function that works around platform bugs. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <stdio.h> /* Get lseek. */ #include <unistd.h> #include "stdio-impl.h" off_t ftello (FILE *fp) #undef ftello #if !HAVE_FTELLO # undef ftell # define ftello ftell #endif #if _GL_WINDOWS_64_BIT_OFF_T # undef ftello # if HAVE__FTELLI64 /* msvc, mingw64 */ # define ftello _ftelli64 # else /* mingw */ # define ftello ftello64 # endif #endif { #if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ if (lseek (fileno (fp), 0, SEEK_CUR) == -1) return -1; #endif #if FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE /* Solaris */ /* The Solaris stdio leaves the _IOREAD flag set after reading from a file reaches EOF and the program then starts writing to the file. ftello gets confused by this. */ if (fp_->_flag & _IOWRT) { off_t pos; /* Call ftello nevertheless, for the side effects that it does on fp. */ ftello (fp); /* Compute the file position ourselves. */ pos = lseek (fileno (fp), (off_t) 0, SEEK_CUR); if (pos >= 0) { if ((fp_->_flag & _IONBF) == 0 && fp_->_base != NULL) pos += fp_->_ptr - fp_->_base; } return pos; } #endif #if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit mode; but has an ftello that requires 64-bit mode. */ FILE *tmp = fopen ("/dev/null", "r"); if (!tmp) return -1; fp->_flags |= __SL64; fp->_seek64 = tmp->_seek64; fclose (tmp); } #endif return ftello (fp); } ������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wcwidth.c������������������������������������������������������������������������0000664�0000000�0000000�00000002777�12071024546�012747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine the number of screen columns needed for a character. Copyright (C) 2006-2007, 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> /* Get iswprint. */ #include <wctype.h> #include "localcharset.h" #include "streq.h" #include "uniwidth.h" int wcwidth (wchar_t wc) #undef wcwidth { /* In UTF-8 locales, use a Unicode aware width function. */ const char *encoding = locale_charset (); if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0)) { /* We assume that in a UTF-8 locale, a wide character is the same as a Unicode character. */ return uc_width (wc, encoding); } else { /* Otherwise, fall back to the system's wcwidth function. */ #if HAVE_WCWIDTH return wcwidth (wc); #else return wc == 0 ? 0 : iswprint (wc) ? 1 : -1; #endif } } �coreutils-8.21/lib/getline.c������������������������������������������������������������������������0000664�0000000�0000000�00000001666�12071561010�012711� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getline.c --- Implementation of replacement getline function. Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Simon Josefsson. */ #include <config.h> #include <stdio.h> ssize_t getline (char **lineptr, size_t *n, FILE *stream) { return getdelim (lineptr, n, '\n', stream); } ��������������������������������������������������������������������������coreutils-8.21/lib/spawnattr_destroy.c��������������������������������������������������������������0000664�0000000�0000000�00000001744�12071024546�015063� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> /* Initialize data structure for file attribute for 'spawn' call. */ int posix_spawnattr_destroy (posix_spawnattr_t *attr) { /* Nothing to do in the moment. */ return 0; } ����������������������������coreutils-8.21/lib/cycle-check.c��������������������������������������������������������������������0000664�0000000�0000000�00000005200�12071024546�013430� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* help detect directory cycles efficiently Copyright (C) 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering */ #include <config.h> #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <assert.h> #include <stdlib.h> #include <stdbool.h> #include "cycle-check.h" #define CC_MAGIC 9827862 /* Return true if I is a power of 2, or is zero. */ static bool is_zero_or_power_of_two (uintmax_t i) { return (i & (i - 1)) == 0; } void cycle_check_init (struct cycle_check_state *state) { state->chdir_counter = 0; state->magic = CC_MAGIC; } /* In traversing a directory hierarchy, call this function once for each descending chdir call, with SB corresponding to the chdir operand. If SB corresponds to a directory that has already been seen, return true to indicate that there is a directory cycle. Note that this is done "lazily", which means that some of the directories in the cycle may be processed twice before the cycle is detected. */ bool cycle_check (struct cycle_check_state *state, struct stat const *sb) { assert (state->magic == CC_MAGIC); /* If the current directory ever happens to be the same as the one we last recorded for the cycle detection, then it's obviously part of a cycle. */ if (state->chdir_counter && SAME_INODE (*sb, state->dev_ino)) return true; /* If the number of "descending" chdir calls is a power of two, record the dev/ino of the current directory. */ if (is_zero_or_power_of_two (++(state->chdir_counter))) { /* On all architectures that we know about, if the counter overflows then there is a directory cycle here somewhere, even if we haven't detected it yet. Typically this happens only after the counter is incremented 2**64 times, so it's a fairly theoretical point. */ if (state->chdir_counter == 0) return true; state->dev_ino.st_dev = sb->st_dev; state->dev_ino.st_ino = sb->st_ino; } return false; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/modechange.c���������������������������������������������������������������������0000664�0000000�0000000�00000031432�12071024546�013356� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* modechange.c -- file mode manipulation Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@ai.mit.edu> */ /* The ASCII mode string is compiled into an array of 'struct modechange', which can then be applied to each file to be changed. We do this instead of re-parsing the ASCII string for each file because the compiled form requires less computation to use; when changing the mode of many files, this probably results in a performance gain. */ #include <config.h> #include "modechange.h" #include <sys/stat.h> #include "stat-macros.h" #include "xalloc.h" #include <stdlib.h> /* The traditional octal values corresponding to each mode bit. */ #define SUID 04000 #define SGID 02000 #define SVTX 01000 #define RUSR 00400 #define WUSR 00200 #define XUSR 00100 #define RGRP 00040 #define WGRP 00020 #define XGRP 00010 #define ROTH 00004 #define WOTH 00002 #define XOTH 00001 #define ALLM 07777 /* all octal mode bits */ /* Convert OCTAL, which uses one of the traditional octal values, to an internal mode_t value. */ static mode_t octal_to_mode (unsigned int octal) { /* Help the compiler optimize the usual case where mode_t uses the traditional octal representation. */ return ((S_ISUID == SUID && S_ISGID == SGID && S_ISVTX == SVTX && S_IRUSR == RUSR && S_IWUSR == WUSR && S_IXUSR == XUSR && S_IRGRP == RGRP && S_IWGRP == WGRP && S_IXGRP == XGRP && S_IROTH == ROTH && S_IWOTH == WOTH && S_IXOTH == XOTH) ? octal : (mode_t) ((octal & SUID ? S_ISUID : 0) | (octal & SGID ? S_ISGID : 0) | (octal & SVTX ? S_ISVTX : 0) | (octal & RUSR ? S_IRUSR : 0) | (octal & WUSR ? S_IWUSR : 0) | (octal & XUSR ? S_IXUSR : 0) | (octal & RGRP ? S_IRGRP : 0) | (octal & WGRP ? S_IWGRP : 0) | (octal & XGRP ? S_IXGRP : 0) | (octal & ROTH ? S_IROTH : 0) | (octal & WOTH ? S_IWOTH : 0) | (octal & XOTH ? S_IXOTH : 0))); } /* Special operations flags. */ enum { /* For the sentinel at the end of the mode changes array. */ MODE_DONE, /* The typical case. */ MODE_ORDINARY_CHANGE, /* In addition to the typical case, affect the execute bits if at least one execute bit is set already, or if the file is a directory. */ MODE_X_IF_ANY_X, /* Instead of the typical case, copy some existing permissions for u, g, or o onto the other two. Which of u, g, or o is copied is determined by which bits are set in the 'value' field. */ MODE_COPY_EXISTING }; /* Description of a mode change. */ struct mode_change { char op; /* One of "=+-". */ char flag; /* Special operations flag. */ mode_t affected; /* Set for u, g, o, or a. */ mode_t value; /* Bits to add/remove. */ mode_t mentioned; /* Bits explicitly mentioned. */ }; /* Return a mode_change array with the specified "=ddd"-style mode change operation, where NEW_MODE is "ddd" and MENTIONED contains the bits explicitly mentioned in the mode are MENTIONED. */ static struct mode_change * make_node_op_equals (mode_t new_mode, mode_t mentioned) { struct mode_change *p = xmalloc (2 * sizeof *p); p->op = '='; p->flag = MODE_ORDINARY_CHANGE; p->affected = CHMOD_MODE_BITS; p->value = new_mode; p->mentioned = mentioned; p[1].flag = MODE_DONE; return p; } /* Return a pointer to an array of file mode change operations created from MODE_STRING, an ASCII string that contains either an octal number specifying an absolute mode, or symbolic mode change operations with the form: [ugoa...][[+-=][rwxXstugo...]...][,...] Return NULL if 'mode_string' does not contain a valid representation of file mode change operations. */ struct mode_change * mode_compile (char const *mode_string) { /* The array of mode-change directives to be returned. */ struct mode_change *mc; size_t used = 0; char const *p; if ('0' <= *mode_string && *mode_string < '8') { unsigned int octal_mode = 0; mode_t mode; mode_t mentioned; p = mode_string; do { octal_mode = 8 * octal_mode + *p++ - '0'; if (ALLM < octal_mode) return NULL; } while ('0' <= *p && *p < '8'); if (*p) return NULL; mode = octal_to_mode (octal_mode); mentioned = (p - mode_string < 5 ? (mode & (S_ISUID | S_ISGID)) | S_ISVTX | S_IRWXUGO : CHMOD_MODE_BITS); return make_node_op_equals (mode, mentioned); } /* Allocate enough space to hold the result. */ { size_t needed = 1; for (p = mode_string; *p; p++) needed += (*p == '=' || *p == '+' || *p == '-'); mc = xnmalloc (needed, sizeof *mc); } /* One loop iteration for each '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. */ for (p = mode_string; ; p++) { /* Which bits in the mode are operated on. */ mode_t affected = 0; /* Turn on all the bits in 'affected' for each group given. */ for (;; p++) switch (*p) { default: goto invalid; case 'u': affected |= S_ISUID | S_IRWXU; break; case 'g': affected |= S_ISGID | S_IRWXG; break; case 'o': affected |= S_ISVTX | S_IRWXO; break; case 'a': affected |= CHMOD_MODE_BITS; break; case '=': case '+': case '-': goto no_more_affected; } no_more_affected:; do { char op = *p++; mode_t value; mode_t mentioned = 0; char flag = MODE_COPY_EXISTING; struct mode_change *change; switch (*p) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': { unsigned int octal_mode = 0; do { octal_mode = 8 * octal_mode + *p++ - '0'; if (ALLM < octal_mode) return NULL; } while ('0' <= *p && *p < '8'); if (affected || (*p && *p != ',')) return NULL; affected = mentioned = CHMOD_MODE_BITS; value = octal_to_mode (octal_mode); flag = MODE_ORDINARY_CHANGE; break; } case 'u': /* Set the affected bits to the value of the "u" bits on the same file. */ value = S_IRWXU; p++; break; case 'g': /* Set the affected bits to the value of the "g" bits on the same file. */ value = S_IRWXG; p++; break; case 'o': /* Set the affected bits to the value of the "o" bits on the same file. */ value = S_IRWXO; p++; break; default: value = 0; flag = MODE_ORDINARY_CHANGE; for (;; p++) switch (*p) { case 'r': value |= S_IRUSR | S_IRGRP | S_IROTH; break; case 'w': value |= S_IWUSR | S_IWGRP | S_IWOTH; break; case 'x': value |= S_IXUSR | S_IXGRP | S_IXOTH; break; case 'X': flag = MODE_X_IF_ANY_X; break; case 's': /* Set the setuid/gid bits if 'u' or 'g' is selected. */ value |= S_ISUID | S_ISGID; break; case 't': /* Set the "save text image" bit if 'o' is selected. */ value |= S_ISVTX; break; default: goto no_more_values; } no_more_values:; } change = &mc[used++]; change->op = op; change->flag = flag; change->affected = affected; change->value = value; change->mentioned = (mentioned ? mentioned : affected ? affected & value : value); } while (*p == '=' || *p == '+' || *p == '-'); if (*p != ',') break; } if (*p == 0) { mc[used].flag = MODE_DONE; return mc; } invalid: free (mc); return NULL; } /* Return a file mode change operation that sets permissions to match those of REF_FILE. Return NULL (setting errno) if REF_FILE can't be accessed. */ struct mode_change * mode_create_from_ref (const char *ref_file) { struct stat ref_stats; if (stat (ref_file, &ref_stats) != 0) return NULL; return make_node_op_equals (ref_stats.st_mode, CHMOD_MODE_BITS); } /* Return the file mode bits of OLDMODE (which is the mode of a directory if DIR), assuming the umask is UMASK_VALUE, adjusted as indicated by the list of change operations CHANGES. If DIR, the type 'X' change affects the returned value even if no execute bits were set in OLDMODE, and set user and group ID bits are preserved unless CHANGES mentioned them. If PMODE_BITS is not null, store into *PMODE_BITS a mask denoting file mode bits that are affected by CHANGES. The returned value and *PMODE_BITS contain only file mode bits. For example, they have the S_IFMT bits cleared on a standard Unix-like host. */ mode_t mode_adjust (mode_t oldmode, bool dir, mode_t umask_value, struct mode_change const *changes, mode_t *pmode_bits) { /* The adjusted mode. */ mode_t newmode = oldmode & CHMOD_MODE_BITS; /* File mode bits that CHANGES cares about. */ mode_t mode_bits = 0; for (; changes->flag != MODE_DONE; changes++) { mode_t affected = changes->affected; mode_t omit_change = (dir ? S_ISUID | S_ISGID : 0) & ~ changes->mentioned; mode_t value = changes->value; switch (changes->flag) { case MODE_ORDINARY_CHANGE: break; case MODE_COPY_EXISTING: /* Isolate in 'value' the bits in 'newmode' to copy. */ value &= newmode; /* Copy the isolated bits to the other two parts. */ value |= ((value & (S_IRUSR | S_IRGRP | S_IROTH) ? S_IRUSR | S_IRGRP | S_IROTH : 0) | (value & (S_IWUSR | S_IWGRP | S_IWOTH) ? S_IWUSR | S_IWGRP | S_IWOTH : 0) | (value & (S_IXUSR | S_IXGRP | S_IXOTH) ? S_IXUSR | S_IXGRP | S_IXOTH : 0)); break; case MODE_X_IF_ANY_X: /* Affect the execute bits if execute bits are already set or if the file is a directory. */ if ((newmode & (S_IXUSR | S_IXGRP | S_IXOTH)) | dir) value |= S_IXUSR | S_IXGRP | S_IXOTH; break; } /* If WHO was specified, limit the change to the affected bits. Otherwise, apply the umask. Either way, omit changes as requested. */ value &= (affected ? affected : ~umask_value) & ~ omit_change; switch (changes->op) { case '=': /* If WHO was specified, preserve the previous values of bits that are not affected by this change operation. Otherwise, clear all the bits. */ { mode_t preserved = (affected ? ~affected : 0) | omit_change; mode_bits |= CHMOD_MODE_BITS & ~preserved; newmode = (newmode & preserved) | value; break; } case '+': mode_bits |= value; newmode |= value; break; case '-': mode_bits |= value; newmode &= ~value; break; } } if (pmode_bits) *pmode_bits = mode_bits; return newmode; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xgetcwd.c������������������������������������������������������������������������0000664�0000000�0000000�00000002273�12071024546�012732� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xgetcwd.c -- return current directory with unlimited length Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "xgetcwd.h" #include <errno.h> #include <unistd.h> #include "xalloc.h" /* Return the current directory, newly allocated. Upon an out-of-memory error, call xalloc_die. Upon any other type of error, return NULL. */ char * xgetcwd (void) { char *cwd = getcwd (NULL, 0); if (! cwd && errno == ENOMEM) xalloc_die (); return cwd; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtol.h������������������������������������������������������������������������0000664�0000000�0000000�00000004735�12071024546�013016� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef XSTRTOL_H_ # define XSTRTOL_H_ 1 # include <getopt.h> # include <inttypes.h> # ifndef _STRTOL_ERROR enum strtol_error { LONGINT_OK = 0, /* These two values can be ORed together, to indicate that both errors occurred. */ LONGINT_OVERFLOW = 1, LONGINT_INVALID_SUFFIX_CHAR = 2, LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW = (LONGINT_INVALID_SUFFIX_CHAR | LONGINT_OVERFLOW), LONGINT_INVALID = 4 }; typedef enum strtol_error strtol_error; # endif # define _DECLARE_XSTRTOL(name, type) \ strtol_error name (const char *, char **, int, type *, const char *); _DECLARE_XSTRTOL (xstrtol, long int) _DECLARE_XSTRTOL (xstrtoul, unsigned long int) _DECLARE_XSTRTOL (xstrtoimax, intmax_t) _DECLARE_XSTRTOL (xstrtoumax, uintmax_t) #if HAVE_LONG_LONG_INT _DECLARE_XSTRTOL (xstrtoll, long long int) _DECLARE_XSTRTOL (xstrtoull, unsigned long long int) #endif /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with a failure status. */ _Noreturn void xstrtol_fatal (enum strtol_error, int, char, struct option const *, char const *); #endif /* not XSTRTOL_H_ */ �����������������������������������coreutils-8.21/lib/areadlinkat.c��������������������������������������������������������������������0000664�0000000�0000000�00000004253�12071024545�013543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* areadlinkat.c -- readlinkat wrapper to return malloc'd link name Unlike xreadlinkat, only call exit on failure to change directory. Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net>, and Bruno Haible <bruno@clisp.org>, and Eric Blake <ebb9@byu.net>. */ #include <config.h> /* Specification. */ #include "areadlink.h" #include "careadlinkat.h" #if HAVE_READLINKAT /* Call readlinkat to get the symbolic link value of FILENAME relative to FD. Return a pointer to that NUL-terminated string in malloc'd storage. If readlinkat fails, return NULL and set errno (although failure to change directory will issue a diagnostic and exit). If allocation fails, or if the link value is longer than SIZE_MAX :-), return NULL and set errno to ENOMEM. */ char * areadlinkat (int fd, char const *filename) { return careadlinkat (fd, filename, NULL, 0, NULL, readlinkat); } #else /* !HAVE_READLINKAT */ /* It is more efficient to change directories only once and call areadlink, rather than repeatedly call the replacement readlinkat. */ # define AT_FUNC_NAME areadlinkat # define AT_FUNC_F1 areadlink # define AT_FUNC_POST_FILE_PARAM_DECLS /* empty */ # define AT_FUNC_POST_FILE_ARGS /* empty */ # define AT_FUNC_RESULT char * # define AT_FUNC_FAIL NULL # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS # undef AT_FUNC_RESULT # undef AT_FUNC_FAIL #endif /* !HAVE_READLINKAT */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fchownat.c�����������������������������������������������������������������������0000664�0000000�0000000�00000007044�12071024546�013077� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* This function serves as replacement for a missing fchownat function, as well as a work around for the fchownat bug in glibc-2.4: <http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html> when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it mistakenly affects the symlink referent, rather than the symlink itself. Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <unistd.h> #include <errno.h> #include <string.h> #include "openat.h" #if !HAVE_FCHOWNAT /* Replacement for Solaris' function by the same name. Invoke chown or lchown on file, FILE, using OWNER and GROUP, in the directory open on descriptor FD. If FLAG is AT_SYMLINK_NOFOLLOW, then use lchown, otherwise, use chown. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then (chown|lchown)/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ # define AT_FUNC_NAME fchownat # define AT_FUNC_F1 lchown # define AT_FUNC_F2 chown # define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW # define AT_FUNC_POST_FILE_PARAM_DECLS , uid_t owner, gid_t group, int flag # define AT_FUNC_POST_FILE_ARGS , owner, group # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_F2 # undef AT_FUNC_USE_F1_COND # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS #else /* HAVE_FCHOWNAT */ # undef fchownat # if FCHOWNAT_NOFOLLOW_BUG /* Failure to handle AT_SYMLINK_NOFOLLOW requires the /proc/self/fd or fchdir workaround to call lchown for lchownat, but there is no need to penalize chownat. */ static int local_lchownat (int fd, char const *file, uid_t owner, gid_t group); # define AT_FUNC_NAME local_lchownat # define AT_FUNC_F1 lchown # define AT_FUNC_POST_FILE_PARAM_DECLS , uid_t owner, gid_t group # define AT_FUNC_POST_FILE_ARGS , owner, group # include "at-func.c" # undef AT_FUNC_NAME # undef AT_FUNC_F1 # undef AT_FUNC_POST_FILE_PARAM_DECLS # undef AT_FUNC_POST_FILE_ARGS # endif /* Work around bugs with trailing slash, using the same workarounds as chown and lchown. */ int rpl_fchownat (int fd, char const *file, uid_t owner, gid_t group, int flag) { # if FCHOWNAT_NOFOLLOW_BUG if (flag == AT_SYMLINK_NOFOLLOW) return local_lchownat (fd, file, owner, group); # endif # if FCHOWNAT_EMPTY_FILENAME_BUG if (file[0] == '\0') { errno = ENOENT; return -1; } # endif # if CHOWN_TRAILING_SLASH_BUG { size_t len = strlen (file); struct stat st; if (len && file[len - 1] == '/') { if (statat (fd, file, &st)) return -1; if (flag == AT_SYMLINK_NOFOLLOW) return fchownat (fd, file, owner, group, 0); } } # endif return fchownat (fd, file, owner, group, flag); } #endif /* HAVE_FCHOWNAT */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wchar.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000101675�12071561015�013006� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A substitute for ISO C99 <wchar.h>, for platforms that have issues. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Eric Blake. */ /* * ISO C 99 <wchar.h> for platforms that have issues. * <http://www.opengroup.org/susv3xbd/wchar.h.html> * * For now, this just ensures proper prerequisite inclusion order and * the declaration of wcwidth(). */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H /* Special invocation convention: - Inside glibc and uClibc header files. - On HP-UX 11.00 we have a sequence of nested includes <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>, once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h> and once directly. In both situations 'wint_t' is not yet defined, therefore we cannot provide the function overrides; instead include only the system's <wchar.h>. - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and the latter includes <wchar.h>. But here, we have no way to detect whether <wctype.h> is completely included or is still being included. */ #@INCLUDE_NEXT@ @NEXT_WCHAR_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_WCHAR_H #define _GL_ALREADY_INCLUDING_WCHAR_H #if @HAVE_FEATURES_H@ # include <features.h> /* for __GLIBC__ */ #endif /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined by <stddef.h>. But avoid namespace pollution on glibc systems. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include <stddef.h> #endif #ifndef __GLIBC__ # include <stdio.h> # include <time.h> #endif /* Include the original <wchar.h> if it exists. Some builds of uClibc lack it. */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCHAR_H@ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ #endif #undef _GL_ALREADY_INCLUDING_WCHAR_H #ifndef _@GUARD_PREFIX@_WCHAR_H #define _@GUARD_PREFIX@_WCHAR_H /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) #else # define _GL_ATTRIBUTE_PURE /* empty */ #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Define wint_t and WEOF. (Also done in wctype.in.h.) */ #if !@HAVE_WINT_T@ && !defined wint_t # define wint_t int # ifndef WEOF # define WEOF -1 # endif #else /* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>. This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it. */ # if defined _MSC_VER # if !GNULIB_defined_wint_t # include <crtdefs.h> typedef unsigned int rpl_wint_t; # undef wint_t # define wint_t rpl_wint_t # define GNULIB_defined_wint_t 1 # endif # endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif #endif /* Override mbstate_t if it is too small. On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for implementing mbrtowc for encodings like UTF-8. */ #if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@ # if !GNULIB_defined_mbstate_t typedef int rpl_mbstate_t; # undef mbstate_t # define mbstate_t rpl_mbstate_t # define GNULIB_defined_mbstate_t 1 # endif #endif /* Convert a single-byte character to a wide character. */ #if @GNULIB_BTOWC@ # if @REPLACE_BTOWC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef btowc # define btowc rpl_btowc # endif _GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (btowc, wint_t, (int c)); # else # if !@HAVE_BTOWC@ _GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (btowc, wint_t, (int c)); # endif _GL_CXXALIASWARN (btowc); #elif defined GNULIB_POSIXCHECK # undef btowc # if HAVE_RAW_DECL_BTOWC _GL_WARN_ON_USE (btowc, "btowc is unportable - " "use gnulib module btowc for portability"); # endif #endif /* Convert a wide character to a single-byte character. */ #if @GNULIB_WCTOB@ # if @REPLACE_WCTOB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wctob # define wctob rpl_wctob # endif _GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wctob, int, (wint_t wc)); # else # if !defined wctob && !@HAVE_DECL_WCTOB@ /* wctob is provided by gnulib, or wctob exists but is not declared. */ _GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wctob, int, (wint_t wc)); # endif _GL_CXXALIASWARN (wctob); #elif defined GNULIB_POSIXCHECK # undef wctob # if HAVE_RAW_DECL_WCTOB _GL_WARN_ON_USE (wctob, "wctob is unportable - " "use gnulib module wctob for portability"); # endif #endif /* Test whether *PS is in the initial state. */ #if @GNULIB_MBSINIT@ # if @REPLACE_MBSINIT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsinit # define mbsinit rpl_mbsinit # endif _GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps)); _GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps)); # else # if !@HAVE_MBSINIT@ _GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsinit); #elif defined GNULIB_POSIXCHECK # undef mbsinit # if HAVE_RAW_DECL_MBSINIT _GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - " "use gnulib module mbsinit for portability"); # endif #endif /* Convert a multibyte character to a wide character. */ #if @GNULIB_MBRTOWC@ # if @REPLACE_MBRTOWC@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbrtowc # define mbrtowc rpl_mbrtowc # endif _GL_FUNCDECL_RPL (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); _GL_CXXALIAS_RPL (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # else # if !@HAVE_MBRTOWC@ _GL_FUNCDECL_SYS (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbrtowc, size_t, (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbrtowc); #elif defined GNULIB_POSIXCHECK # undef mbrtowc # if HAVE_RAW_DECL_MBRTOWC _GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - " "use gnulib module mbrtowc for portability"); # endif #endif /* Recognize a multibyte character. */ #if @GNULIB_MBRLEN@ # if @REPLACE_MBRLEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbrlen # define mbrlen rpl_mbrlen # endif _GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); _GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # else # if !@HAVE_MBRLEN@ _GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbrlen); #elif defined GNULIB_POSIXCHECK # undef mbrlen # if HAVE_RAW_DECL_MBRLEN _GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - " "use gnulib module mbrlen for portability"); # endif #endif /* Convert a string to a wide string. */ #if @GNULIB_MBSRTOWCS@ # if @REPLACE_MBSRTOWCS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsrtowcs # define mbsrtowcs rpl_mbsrtowcs # endif _GL_FUNCDECL_RPL (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)); # else # if !@HAVE_MBSRTOWCS@ _GL_FUNCDECL_SYS (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsrtowcs); #elif defined GNULIB_POSIXCHECK # undef mbsrtowcs # if HAVE_RAW_DECL_MBSRTOWCS _GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - " "use gnulib module mbsrtowcs for portability"); # endif #endif /* Convert a string to a wide string. */ #if @GNULIB_MBSNRTOWCS@ # if @REPLACE_MBSNRTOWCS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef mbsnrtowcs # define mbsnrtowcs rpl_mbsnrtowcs # endif _GL_FUNCDECL_RPL (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps)); # else # if !@HAVE_MBSNRTOWCS@ _GL_FUNCDECL_SYS (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (mbsnrtowcs, size_t, (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (mbsnrtowcs); #elif defined GNULIB_POSIXCHECK # undef mbsnrtowcs # if HAVE_RAW_DECL_MBSNRTOWCS _GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - " "use gnulib module mbsnrtowcs for portability"); # endif #endif /* Convert a wide character to a multibyte character. */ #if @GNULIB_WCRTOMB@ # if @REPLACE_WCRTOMB@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcrtomb # define wcrtomb rpl_wcrtomb # endif _GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); _GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # else # if !@HAVE_WCRTOMB@ _GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # endif _GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcrtomb); #elif defined GNULIB_POSIXCHECK # undef wcrtomb # if HAVE_RAW_DECL_WCRTOMB _GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - " "use gnulib module wcrtomb for portability"); # endif #endif /* Convert a wide string to a string. */ #if @GNULIB_WCSRTOMBS@ # if @REPLACE_WCSRTOMBS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcsrtombs # define wcsrtombs rpl_wcsrtombs # endif _GL_FUNCDECL_RPL (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)); # else # if !@HAVE_WCSRTOMBS@ _GL_FUNCDECL_SYS (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsrtombs, size_t, (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcsrtombs); #elif defined GNULIB_POSIXCHECK # undef wcsrtombs # if HAVE_RAW_DECL_WCSRTOMBS _GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - " "use gnulib module wcsrtombs for portability"); # endif #endif /* Convert a wide string to a string. */ #if @GNULIB_WCSNRTOMBS@ # if @REPLACE_WCSNRTOMBS@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcsnrtombs # define wcsnrtombs rpl_wcsnrtombs # endif _GL_FUNCDECL_RPL (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps)); # else # if !@HAVE_WCSNRTOMBS@ _GL_FUNCDECL_SYS (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps) _GL_ARG_NONNULL ((2))); # endif _GL_CXXALIAS_SYS (wcsnrtombs, size_t, (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps)); # endif _GL_CXXALIASWARN (wcsnrtombs); #elif defined GNULIB_POSIXCHECK # undef wcsnrtombs # if HAVE_RAW_DECL_WCSNRTOMBS _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - " "use gnulib module wcsnrtombs for portability"); # endif #endif /* Return the number of screen columns needed for WC. */ #if @GNULIB_WCWIDTH@ # if @REPLACE_WCWIDTH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcwidth # define wcwidth rpl_wcwidth # endif _GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t)); # else # if !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ _GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t)); # endif _GL_CXXALIASWARN (wcwidth); #elif defined GNULIB_POSIXCHECK # undef wcwidth # if HAVE_RAW_DECL_WCWIDTH _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - " "use gnulib module wcwidth for portability"); # endif #endif /* Search N wide characters of S for C. */ #if @GNULIB_WMEMCHR@ # if !@HAVE_WMEMCHR@ _GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t); wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t); } */ _GL_CXXALIAS_SYS_CAST2 (wmemchr, wchar_t *, (const wchar_t *, wchar_t, size_t), const wchar_t *, (const wchar_t *, wchar_t, size_t)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n)); _GL_CXXALIASWARN1 (wmemchr, const wchar_t *, (const wchar_t *s, wchar_t c, size_t n)); # else _GL_CXXALIASWARN (wmemchr); # endif #elif defined GNULIB_POSIXCHECK # undef wmemchr # if HAVE_RAW_DECL_WMEMCHR _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - " "use gnulib module wmemchr for portability"); # endif #endif /* Compare N wide characters of S1 and S2. */ #if @GNULIB_WMEMCMP@ # if !@HAVE_WMEMCMP@ _GL_FUNCDECL_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); _GL_CXXALIASWARN (wmemcmp); #elif defined GNULIB_POSIXCHECK # undef wmemcmp # if HAVE_RAW_DECL_WMEMCMP _GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - " "use gnulib module wmemcmp for portability"); # endif #endif /* Copy N wide characters of SRC to DEST. */ #if @GNULIB_WMEMCPY@ # if !@HAVE_WMEMCPY@ _GL_FUNCDECL_SYS (wmemcpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); # endif _GL_CXXALIAS_SYS (wmemcpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); _GL_CXXALIASWARN (wmemcpy); #elif defined GNULIB_POSIXCHECK # undef wmemcpy # if HAVE_RAW_DECL_WMEMCPY _GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - " "use gnulib module wmemcpy for portability"); # endif #endif /* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for overlapping memory areas. */ #if @GNULIB_WMEMMOVE@ # if !@HAVE_WMEMMOVE@ _GL_FUNCDECL_SYS (wmemmove, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); # endif _GL_CXXALIAS_SYS (wmemmove, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); _GL_CXXALIASWARN (wmemmove); #elif defined GNULIB_POSIXCHECK # undef wmemmove # if HAVE_RAW_DECL_WMEMMOVE _GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - " "use gnulib module wmemmove for portability"); # endif #endif /* Set N wide characters of S to C. */ #if @GNULIB_WMEMSET@ # if !@HAVE_WMEMSET@ _GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n)); # endif _GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n)); _GL_CXXALIASWARN (wmemset); #elif defined GNULIB_POSIXCHECK # undef wmemset # if HAVE_RAW_DECL_WMEMSET _GL_WARN_ON_USE (wmemset, "wmemset is unportable - " "use gnulib module wmemset for portability"); # endif #endif /* Return the number of wide characters in S. */ #if @GNULIB_WCSLEN@ # if !@HAVE_WCSLEN@ _GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s)); _GL_CXXALIASWARN (wcslen); #elif defined GNULIB_POSIXCHECK # undef wcslen # if HAVE_RAW_DECL_WCSLEN _GL_WARN_ON_USE (wcslen, "wcslen is unportable - " "use gnulib module wcslen for portability"); # endif #endif /* Return the number of wide characters in S, but at most MAXLEN. */ #if @GNULIB_WCSNLEN@ # if !@HAVE_WCSNLEN@ _GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)); _GL_CXXALIASWARN (wcsnlen); #elif defined GNULIB_POSIXCHECK # undef wcsnlen # if HAVE_RAW_DECL_WCSNLEN _GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - " "use gnulib module wcsnlen for portability"); # endif #endif /* Copy SRC to DEST. */ #if @GNULIB_WCSCPY@ # if !@HAVE_WCSCPY@ _GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); # endif _GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); _GL_CXXALIASWARN (wcscpy); #elif defined GNULIB_POSIXCHECK # undef wcscpy # if HAVE_RAW_DECL_WCSCPY _GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - " "use gnulib module wcscpy for portability"); # endif #endif /* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */ #if @GNULIB_WCPCPY@ # if !@HAVE_WCPCPY@ _GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); # endif _GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src)); _GL_CXXALIASWARN (wcpcpy); #elif defined GNULIB_POSIXCHECK # undef wcpcpy # if HAVE_RAW_DECL_WCPCPY _GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - " "use gnulib module wcpcpy for portability"); # endif #endif /* Copy no more than N wide characters of SRC to DEST. */ #if @GNULIB_WCSNCPY@ # if !@HAVE_WCSNCPY@ _GL_FUNCDECL_SYS (wcsncpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); # endif _GL_CXXALIAS_SYS (wcsncpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); _GL_CXXALIASWARN (wcsncpy); #elif defined GNULIB_POSIXCHECK # undef wcsncpy # if HAVE_RAW_DECL_WCSNCPY _GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - " "use gnulib module wcsncpy for portability"); # endif #endif /* Copy no more than N characters of SRC to DEST, returning the address of the last character written into DEST. */ #if @GNULIB_WCPNCPY@ # if !@HAVE_WCPNCPY@ _GL_FUNCDECL_SYS (wcpncpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); # endif _GL_CXXALIAS_SYS (wcpncpy, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); _GL_CXXALIASWARN (wcpncpy); #elif defined GNULIB_POSIXCHECK # undef wcpncpy # if HAVE_RAW_DECL_WCPNCPY _GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - " "use gnulib module wcpncpy for portability"); # endif #endif /* Append SRC onto DEST. */ #if @GNULIB_WCSCAT@ # if !@HAVE_WCSCAT@ _GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src)); # endif _GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src)); _GL_CXXALIASWARN (wcscat); #elif defined GNULIB_POSIXCHECK # undef wcscat # if HAVE_RAW_DECL_WCSCAT _GL_WARN_ON_USE (wcscat, "wcscat is unportable - " "use gnulib module wcscat for portability"); # endif #endif /* Append no more than N wide characters of SRC onto DEST. */ #if @GNULIB_WCSNCAT@ # if !@HAVE_WCSNCAT@ _GL_FUNCDECL_SYS (wcsncat, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); # endif _GL_CXXALIAS_SYS (wcsncat, wchar_t *, (wchar_t *dest, const wchar_t *src, size_t n)); _GL_CXXALIASWARN (wcsncat); #elif defined GNULIB_POSIXCHECK # undef wcsncat # if HAVE_RAW_DECL_WCSNCAT _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - " "use gnulib module wcsncat for portability"); # endif #endif /* Compare S1 and S2. */ #if @GNULIB_WCSCMP@ # if !@HAVE_WCSCMP@ _GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscmp); #elif defined GNULIB_POSIXCHECK # undef wcscmp # if HAVE_RAW_DECL_WCSCMP _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - " "use gnulib module wcscmp for portability"); # endif #endif /* Compare no more than N wide characters of S1 and S2. */ #if @GNULIB_WCSNCMP@ # if !@HAVE_WCSNCMP@ _GL_FUNCDECL_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); _GL_CXXALIASWARN (wcsncmp); #elif defined GNULIB_POSIXCHECK # undef wcsncmp # if HAVE_RAW_DECL_WCSNCMP _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - " "use gnulib module wcsncmp for portability"); # endif #endif /* Compare S1 and S2, ignoring case. */ #if @GNULIB_WCSCASECMP@ # if !@HAVE_WCSCASECMP@ _GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscasecmp); #elif defined GNULIB_POSIXCHECK # undef wcscasecmp # if HAVE_RAW_DECL_WCSCASECMP _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - " "use gnulib module wcscasecmp for portability"); # endif #endif /* Compare no more than N chars of S1 and S2, ignoring case. */ #if @GNULIB_WCSNCASECMP@ # if !@HAVE_WCSNCASECMP@ _GL_FUNCDECL_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); _GL_CXXALIASWARN (wcsncasecmp); #elif defined GNULIB_POSIXCHECK # undef wcsncasecmp # if HAVE_RAW_DECL_WCSNCASECMP _GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - " "use gnulib module wcsncasecmp for portability"); # endif #endif /* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE category of the current locale. */ #if @GNULIB_WCSCOLL@ # if !@HAVE_WCSCOLL@ _GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2)); # endif _GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2)); _GL_CXXALIASWARN (wcscoll); #elif defined GNULIB_POSIXCHECK # undef wcscoll # if HAVE_RAW_DECL_WCSCOLL _GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - " "use gnulib module wcscoll for portability"); # endif #endif /* Transform S2 into array pointed to by S1 such that if wcscmp is applied to two transformed strings the result is the as applying 'wcscoll' to the original strings. */ #if @GNULIB_WCSXFRM@ # if !@HAVE_WCSXFRM@ _GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n)); # endif _GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n)); _GL_CXXALIASWARN (wcsxfrm); #elif defined GNULIB_POSIXCHECK # undef wcsxfrm # if HAVE_RAW_DECL_WCSXFRM _GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - " "use gnulib module wcsxfrm for portability"); # endif #endif /* Duplicate S, returning an identical malloc'd string. */ #if @GNULIB_WCSDUP@ # if !@HAVE_WCSDUP@ _GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s)); # endif _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); _GL_CXXALIASWARN (wcsdup); #elif defined GNULIB_POSIXCHECK # undef wcsdup # if HAVE_RAW_DECL_WCSDUP _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " "use gnulib module wcsdup for portability"); # endif #endif /* Find the first occurrence of WC in WCS. */ #if @GNULIB_WCSCHR@ # if !@HAVE_WCSCHR@ _GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wcschr (const wchar_t *, wchar_t); wchar_t * std::wcschr (wchar_t *, wchar_t); } */ _GL_CXXALIAS_SYS_CAST2 (wcschr, wchar_t *, (const wchar_t *, wchar_t), const wchar_t *, (const wchar_t *, wchar_t)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc)); _GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc)); # else _GL_CXXALIASWARN (wcschr); # endif #elif defined GNULIB_POSIXCHECK # undef wcschr # if HAVE_RAW_DECL_WCSCHR _GL_WARN_ON_USE (wcschr, "wcschr is unportable - " "use gnulib module wcschr for portability"); # endif #endif /* Find the last occurrence of WC in WCS. */ #if @GNULIB_WCSRCHR@ # if !@HAVE_WCSRCHR@ _GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wcsrchr (const wchar_t *, wchar_t); wchar_t * std::wcsrchr (wchar_t *, wchar_t); } */ _GL_CXXALIAS_SYS_CAST2 (wcsrchr, wchar_t *, (const wchar_t *, wchar_t), const wchar_t *, (const wchar_t *, wchar_t)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc)); _GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc)); # else _GL_CXXALIASWARN (wcsrchr); # endif #elif defined GNULIB_POSIXCHECK # undef wcsrchr # if HAVE_RAW_DECL_WCSRCHR _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - " "use gnulib module wcsrchr for portability"); # endif #endif /* Return the length of the initial segmet of WCS which consists entirely of wide characters not in REJECT. */ #if @GNULIB_WCSCSPN@ # if !@HAVE_WCSCSPN@ _GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)); _GL_CXXALIASWARN (wcscspn); #elif defined GNULIB_POSIXCHECK # undef wcscspn # if HAVE_RAW_DECL_WCSCSPN _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - " "use gnulib module wcscspn for portability"); # endif #endif /* Return the length of the initial segmet of WCS which consists entirely of wide characters in ACCEPT. */ #if @GNULIB_WCSSPN@ # if !@HAVE_WCSSPN@ _GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)); _GL_CXXALIASWARN (wcsspn); #elif defined GNULIB_POSIXCHECK # undef wcsspn # if HAVE_RAW_DECL_WCSSPN _GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - " "use gnulib module wcsspn for portability"); # endif #endif /* Find the first occurrence in WCS of any character in ACCEPT. */ #if @GNULIB_WCSPBRK@ # if !@HAVE_WCSPBRK@ _GL_FUNCDECL_SYS (wcspbrk, wchar_t *, (const wchar_t *wcs, const wchar_t *accept) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *); wchar_t * std::wcspbrk (wchar_t *, const wchar_t *); } */ _GL_CXXALIAS_SYS_CAST2 (wcspbrk, wchar_t *, (const wchar_t *, const wchar_t *), const wchar_t *, (const wchar_t *, const wchar_t *)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcspbrk, wchar_t *, (wchar_t *wcs, const wchar_t *accept)); _GL_CXXALIASWARN1 (wcspbrk, const wchar_t *, (const wchar_t *wcs, const wchar_t *accept)); # else _GL_CXXALIASWARN (wcspbrk); # endif #elif defined GNULIB_POSIXCHECK # undef wcspbrk # if HAVE_RAW_DECL_WCSPBRK _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - " "use gnulib module wcspbrk for portability"); # endif #endif /* Find the first occurrence of NEEDLE in HAYSTACK. */ #if @GNULIB_WCSSTR@ # if !@HAVE_WCSSTR@ _GL_FUNCDECL_SYS (wcsstr, wchar_t *, (const wchar_t *haystack, const wchar_t *needle) _GL_ATTRIBUTE_PURE); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *); wchar_t * std::wcsstr (wchar_t *, const wchar_t *); } */ _GL_CXXALIAS_SYS_CAST2 (wcsstr, wchar_t *, (const wchar_t *, const wchar_t *), const wchar_t *, (const wchar_t *, const wchar_t *)); # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcsstr, wchar_t *, (wchar_t *haystack, const wchar_t *needle)); _GL_CXXALIASWARN1 (wcsstr, const wchar_t *, (const wchar_t *haystack, const wchar_t *needle)); # else _GL_CXXALIASWARN (wcsstr); # endif #elif defined GNULIB_POSIXCHECK # undef wcsstr # if HAVE_RAW_DECL_WCSSTR _GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - " "use gnulib module wcsstr for portability"); # endif #endif /* Divide WCS into tokens separated by characters in DELIM. */ #if @GNULIB_WCSTOK@ # if !@HAVE_WCSTOK@ _GL_FUNCDECL_SYS (wcstok, wchar_t *, (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); # endif _GL_CXXALIAS_SYS (wcstok, wchar_t *, (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr)); _GL_CXXALIASWARN (wcstok); #elif defined GNULIB_POSIXCHECK # undef wcstok # if HAVE_RAW_DECL_WCSTOK _GL_WARN_ON_USE (wcstok, "wcstok is unportable - " "use gnulib module wcstok for portability"); # endif #endif /* Determine number of column positions required for first N wide characters (or fewer if S ends before this) in S. */ #if @GNULIB_WCSWIDTH@ # if @REPLACE_WCSWIDTH@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef wcswidth # define wcswidth rpl_wcswidth # endif _GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n) _GL_ATTRIBUTE_PURE); _GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n)); # else # if !@HAVE_WCSWIDTH@ _GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n) _GL_ATTRIBUTE_PURE); # endif _GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n)); # endif _GL_CXXALIASWARN (wcswidth); #elif defined GNULIB_POSIXCHECK # undef wcswidth # if HAVE_RAW_DECL_WCSWIDTH _GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - " "use gnulib module wcswidth for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_WCHAR_H */ #endif /* _@GUARD_PREFIX@_WCHAR_H */ #endif �������������������������������������������������������������������coreutils-8.21/lib/careadlinkat.c�������������������������������������������������������������������0000664�0000000�0000000�00000012300�12071024546�013677� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Read symbolic links into a buffer without size limitation, relative to fd. Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #include <config.h> #include "careadlinkat.h" #include <errno.h> #include <limits.h> #include <stdlib.h> #include <string.h> #include <unistd.h> /* Define this independently so that stdint.h is not a prerequisite. */ #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif #include "allocator.h" /* Get the symbolic link value of FILENAME and put it into BUFFER, with size BUFFER_SIZE. This function acts like readlink but has readlinkat's signature. */ ssize_t careadlinkatcwd (int fd, char const *filename, char *buffer, size_t buffer_size) { /* FD must be AT_FDCWD here, otherwise the caller is using this function in contexts for which it was not meant for. */ if (fd != AT_FDCWD) abort (); return readlink (filename, buffer, buffer_size); } /* Assuming the current directory is FD, get the symbolic link value of FILENAME as a null-terminated string and put it into a buffer. If FD is AT_FDCWD, FILENAME is interpreted relative to the current working directory, as in openat. If the link is small enough to fit into BUFFER put it there. BUFFER's size is BUFFER_SIZE, and BUFFER can be null if BUFFER_SIZE is zero. If the link is not small, put it into a dynamically allocated buffer managed by ALLOC. It is the caller's responsibility to free the returned value if it is nonnull and is not BUFFER. A null ALLOC stands for the standard allocator. The PREADLINKAT function specifies how to read links. It operates like POSIX readlinkat() <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html> but can assume that its first argument is the same as FD. If successful, return the buffer address; otherwise return NULL and set errno. */ char * careadlinkat (int fd, char const *filename, char *buffer, size_t buffer_size, struct allocator const *alloc, ssize_t (*preadlinkat) (int, char const *, char *, size_t)) { char *buf; size_t buf_size; size_t buf_size_max = SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; char stack_buf[1024]; if (! alloc) alloc = &stdlib_allocator; if (! buffer_size) { /* Allocate the initial buffer on the stack. This way, in the common case of a symlink of small size, we get away with a single small malloc() instead of a big malloc() followed by a shrinking realloc(). */ buffer = stack_buf; buffer_size = sizeof stack_buf; } buf = buffer; buf_size = buffer_size; do { /* Attempt to read the link into the current buffer. */ ssize_t link_length = preadlinkat (fd, filename, buf, buf_size); size_t link_size; if (link_length < 0) { /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 with errno == ERANGE if the buffer is too small. */ int readlinkat_errno = errno; if (readlinkat_errno != ERANGE) { if (buf != buffer) { alloc->free (buf); errno = readlinkat_errno; } return NULL; } } link_size = link_length; if (link_size < buf_size) { buf[link_size++] = '\0'; if (buf == stack_buf) { char *b = (char *) alloc->allocate (link_size); buf_size = link_size; if (! b) break; memcpy (b, buf, link_size); buf = b; } else if (link_size < buf_size && buf != buffer && alloc->reallocate) { /* Shrink BUF before returning it. */ char *b = (char *) alloc->reallocate (buf, link_size); if (b) buf = b; } return buf; } if (buf != buffer) alloc->free (buf); if (buf_size <= buf_size_max / 2) buf_size *= 2; else if (buf_size < buf_size_max) buf_size = buf_size_max; else if (buf_size_max < SIZE_MAX) { errno = ENAMETOOLONG; return NULL; } else break; buf = (char *) alloc->allocate (buf_size); } while (buf); if (alloc->die) alloc->die (buf_size); errno = ENOMEM; return NULL; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readutmp.h�����������������������������������������������������������������������0000664�0000000�0000000�00000013232�12071024546�013110� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declarations for GNU's read utmp module. Copyright (C) 1992-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by jla; revised by djm */ #ifndef __READUTMP_H__ # define __READUTMP_H__ # include <sys/types.h> /* AIX 4.3.3 has both utmp.h and utmpx.h, but only struct utmp has the ut_exit member. */ # if (HAVE_UTMPX_H && HAVE_UTMP_H && HAVE_STRUCT_UTMP_UT_EXIT \ && ! HAVE_STRUCT_UTMPX_UT_EXIT) # undef HAVE_UTMPX_H # endif # if HAVE_UTMPX_H # if HAVE_UTMP_H /* HPUX 10.20 needs utmp.h, for the definition of e.g., UTMP_FILE. */ # include <utmp.h> # endif # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include <utmpx.h> # define UTMP_STRUCT_NAME utmpx # define UT_TIME_MEMBER(UT_PTR) ((UT_PTR)->ut_tv.tv_sec) # define SET_UTMP_ENT setutxent # define GET_UTMP_ENT getutxent # define END_UTMP_ENT endutxent # ifdef HAVE_UTMPXNAME # define UTMP_NAME_FUNCTION utmpxname # endif # if HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.e_termination) # else # if HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.ut_termination) # else # define UT_EXIT_E_TERMINATION(U) 0 # endif # endif # if HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.e_exit) # else # if HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.ut_exit) # else # define UT_EXIT_E_EXIT(U) 0 # endif # endif # elif HAVE_UTMP_H # include <utmp.h> # if !HAVE_DECL_GETUTENT struct utmp *getutent (void); # endif # define UTMP_STRUCT_NAME utmp # define UT_TIME_MEMBER(UT_PTR) ((UT_PTR)->ut_time) # define SET_UTMP_ENT setutent # define GET_UTMP_ENT getutent # define END_UTMP_ENT endutent # ifdef HAVE_UTMPNAME # define UTMP_NAME_FUNCTION utmpname # endif # if HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.e_termination) # else # if HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.ut_termination) # else # define UT_EXIT_E_TERMINATION(U) 0 # endif # endif # if HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.e_exit) # else # if HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.ut_exit) # else # define UT_EXIT_E_EXIT(U) 0 # endif # endif # endif /* Accessor macro for the member named ut_user or ut_name. */ # if HAVE_UTMPX_H # if HAVE_STRUCT_UTMPX_UT_USER # define UT_USER(Utmp) ((Utmp)->ut_user) # endif # if HAVE_STRUCT_UTMPX_UT_NAME # undef UT_USER # define UT_USER(Utmp) ((Utmp)->ut_name) # endif # elif HAVE_UTMP_H # if HAVE_STRUCT_UTMP_UT_USER # define UT_USER(Utmp) ((Utmp)->ut_user) # endif # if HAVE_STRUCT_UTMP_UT_NAME # undef UT_USER # define UT_USER(Utmp) ((Utmp)->ut_name) # endif # endif # define HAVE_STRUCT_XTMP_UT_EXIT \ (HAVE_STRUCT_UTMP_UT_EXIT \ || HAVE_STRUCT_UTMPX_UT_EXIT) # define HAVE_STRUCT_XTMP_UT_ID \ (HAVE_STRUCT_UTMP_UT_ID \ || HAVE_STRUCT_UTMPX_UT_ID) # define HAVE_STRUCT_XTMP_UT_PID \ (HAVE_STRUCT_UTMP_UT_PID \ || HAVE_STRUCT_UTMPX_UT_PID) typedef struct UTMP_STRUCT_NAME STRUCT_UTMP; enum { UT_USER_SIZE = sizeof UT_USER ((STRUCT_UTMP *) 0) }; # if !defined UTMP_FILE && defined _PATH_UTMP # define UTMP_FILE _PATH_UTMP # endif # if !defined WTMP_FILE && defined _PATH_WTMP # define WTMP_FILE _PATH_WTMP # endif # ifdef UTMPX_FILE /* Solaris, SysVr4 */ # undef UTMP_FILE # define UTMP_FILE UTMPX_FILE # endif # ifdef WTMPX_FILE /* Solaris, SysVr4 */ # undef WTMP_FILE # define WTMP_FILE WTMPX_FILE # endif # ifndef UTMP_FILE # define UTMP_FILE "/etc/utmp" # endif # ifndef WTMP_FILE # define WTMP_FILE "/etc/wtmp" # endif # if HAVE_STRUCT_XTMP_UT_PID # define UT_PID(U) ((U)->ut_pid) # else # define UT_PID(U) 0 # endif # if HAVE_STRUCT_UTMP_UT_TYPE || HAVE_STRUCT_UTMPX_UT_TYPE # define UT_TYPE_EQ(U, V) ((U)->ut_type == (V)) # define UT_TYPE_NOT_DEFINED 0 # else # define UT_TYPE_EQ(U, V) 0 # define UT_TYPE_NOT_DEFINED 1 # endif # ifdef BOOT_TIME # define UT_TYPE_BOOT_TIME(U) UT_TYPE_EQ (U, BOOT_TIME) # else # define UT_TYPE_BOOT_TIME(U) 0 # endif # ifdef USER_PROCESS # define UT_TYPE_USER_PROCESS(U) UT_TYPE_EQ (U, USER_PROCESS) # else # define UT_TYPE_USER_PROCESS(U) 0 # endif # define IS_USER_PROCESS(U) \ (UT_USER (U)[0] \ && (UT_TYPE_USER_PROCESS (U) \ || (UT_TYPE_NOT_DEFINED && UT_TIME_MEMBER (U) != 0))) /* Options for read_utmp. */ enum { READ_UTMP_CHECK_PIDS = 1, READ_UTMP_USER_PROCESS = 2 }; char *extract_trimmed_name (const STRUCT_UTMP *ut); int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options); #endif /* __READUTMP_H__ */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/unistd-safer.h�������������������������������������������������������������������0000664�0000000�0000000�00000002034�12071024546�013671� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke unistd-like functions, but avoid some glitches. Copyright (C) 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert and Eric Blake. */ int dup_safer (int); int fd_safer (int); int pipe_safer (int[2]); #if GNULIB_FD_SAFER_FLAG int dup_safer_flag (int, int); int fd_safer_flag (int, int); #endif #if GNULIB_PIPE2_SAFER int pipe2_safer (int[2], int); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/posixver.h�����������������������������������������������������������������������0000664�0000000�0000000�00000000033�11624727634�013154� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������int posix2_version (void); �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/iconv_open-solaris.h�������������������������������������������������������������0000664�0000000�0000000�00000015774�12107176112�015112� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./lib/iconv_open-solaris.gperf */ /* Computed positions: -k'10' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "./lib/iconv_open-solaris.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 13 #define MIN_WORD_LENGTH 5 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 5 #define MAX_HASH_VALUE 19 /* maximum key range = 15, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 9, 8, 7, 6, 5, 4, 3, 2, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; register int hval = len; switch (hval) { default: hval += asso_values[(unsigned char)str[9]]; /*FALLTHROUGH*/ case 9: case 8: case 7: case 6: case 5: break; } return hval; } struct stringpool_t { char stringpool_str5[sizeof("ASCII")]; char stringpool_str6[sizeof("CP1251")]; char stringpool_str7[sizeof("$ abc")]; char stringpool_str10[sizeof("ISO-8859-1")]; char stringpool_str11[sizeof("ISO-8859-15")]; char stringpool_str12[sizeof("ISO-8859-9")]; char stringpool_str13[sizeof("ISO-8859-8")]; char stringpool_str14[sizeof("ISO-8859-7")]; char stringpool_str15[sizeof("ISO-8859-6")]; char stringpool_str16[sizeof("ISO-8859-5")]; char stringpool_str17[sizeof("ISO-8859-4")]; char stringpool_str18[sizeof("ISO-8859-3")]; char stringpool_str19[sizeof("ISO-8859-2")]; }; static const struct stringpool_t stringpool_contents = { "ASCII", "CP1251", "$ abc", "ISO-8859-1", "ISO-8859-15", "ISO-8859-9", "ISO-8859-8", "ISO-8859-7", "ISO-8859-6", "ISO-8859-5", "ISO-8859-4", "ISO-8859-3", "ISO-8859-2" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, #line 19 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "646"}, #line 30 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"}, #line 18 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7}, {-1}, {-1}, #line 20 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"}, #line 29 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, #line 28 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"}, #line 27 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"}, #line 26 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"}, #line 25 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"}, #line 24 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"}, #line 23 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"}, #line 22 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"}, #line 21 "./lib/iconv_open-solaris.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } ����coreutils-8.21/lib/full-write.h���������������������������������������������������������������������0000664�0000000�0000000�00000002166�12071024546�013365� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to write() that writes all it is asked to write. Copyright (C) 2002-2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stddef.h> #ifdef __cplusplus extern "C" { #endif /* Write COUNT bytes at BUF to descriptor FD, retrying if interrupted or if partial writes occur. Return the number of bytes successfully written, setting errno if that is less than COUNT. */ extern size_t full_write (int fd, const void *buf, size_t count); #ifdef __cplusplus } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/idcache.c������������������������������������������������������������������������0000664�0000000�0000000�00000013561�12071024546�012647� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* idcache.c -- map user and group IDs, cached for speed Copyright (C) 1985, 1988-1990, 1997-1998, 2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "idcache.h" #include <stddef.h> #include <stdio.h> #include <string.h> #include <pwd.h> #include <grp.h> #include <unistd.h> #include "xalloc.h" #ifdef __DJGPP__ static char digits[] = "0123456789"; #endif struct userid { union { uid_t u; gid_t g; } id; struct userid *next; char name[FLEXIBLE_ARRAY_MEMBER]; }; /* FIXME: provide a function to free any malloc'd storage and reset lists, so that an application can use code like this just before exiting: #ifdef lint idcache_clear (); #endif */ static struct userid *user_alist; /* Each entry on list is a user name for which the first lookup failed. */ static struct userid *nouser_alist; /* Use the same struct as for userids. */ static struct userid *group_alist; /* Each entry on list is a group name for which the first lookup failed. */ static struct userid *nogroup_alist; /* Translate UID to a login name, with cache, or NULL if unresolved. */ char * getuser (uid_t uid) { struct userid *tail; struct userid *match = NULL; for (tail = user_alist; tail; tail = tail->next) { if (tail->id.u == uid) { match = tail; break; } } if (match == NULL) { struct passwd *pwent = getpwuid (uid); char const *name = pwent ? pwent->pw_name : ""; match = xmalloc (offsetof (struct userid, name) + strlen (name) + 1); match->id.u = uid; strcpy (match->name, name); /* Add to the head of the list, so most recently used is first. */ match->next = user_alist; user_alist = match; } return match->name[0] ? match->name : NULL; } /* Translate USER to a UID, with cache. Return NULL if there is no such user. (We also cache which user names have no passwd entry, so we don't keep looking them up.) */ uid_t * getuidbyname (const char *user) { struct userid *tail; struct passwd *pwent; for (tail = user_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *user && !strcmp (tail->name, user)) return &tail->id.u; for (tail = nouser_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *user && !strcmp (tail->name, user)) return NULL; pwent = getpwnam (user); #ifdef __DJGPP__ /* We need to pretend to be the user USER, to make pwd functions know about an arbitrary user name. */ if (!pwent && strspn (user, digits) < strlen (user)) { setenv ("USER", user, 1); pwent = getpwnam (user); /* now it will succeed */ } #endif tail = xmalloc (offsetof (struct userid, name) + strlen (user) + 1); strcpy (tail->name, user); /* Add to the head of the list, so most recently used is first. */ if (pwent) { tail->id.u = pwent->pw_uid; tail->next = user_alist; user_alist = tail; return &tail->id.u; } tail->next = nouser_alist; nouser_alist = tail; return NULL; } /* Translate GID to a group name, with cache, or NULL if unresolved. */ char * getgroup (gid_t gid) { struct userid *tail; struct userid *match = NULL; for (tail = group_alist; tail; tail = tail->next) { if (tail->id.g == gid) { match = tail; break; } } if (match == NULL) { struct group *grent = getgrgid (gid); char const *name = grent ? grent->gr_name : ""; match = xmalloc (offsetof (struct userid, name) + strlen (name) + 1); match->id.g = gid; strcpy (match->name, name); /* Add to the head of the list, so most recently used is first. */ match->next = group_alist; group_alist = match; } return match->name[0] ? match->name : NULL; } /* Translate GROUP to a GID, with cache. Return NULL if there is no such group. (We also cache which group names have no group entry, so we don't keep looking them up.) */ gid_t * getgidbyname (const char *group) { struct userid *tail; struct group *grent; for (tail = group_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *group && !strcmp (tail->name, group)) return &tail->id.g; for (tail = nogroup_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *group && !strcmp (tail->name, group)) return NULL; grent = getgrnam (group); #ifdef __DJGPP__ /* We need to pretend to belong to group GROUP, to make grp functions know about an arbitrary group name. */ if (!grent && strspn (group, digits) < strlen (group)) { setenv ("GROUP", group, 1); grent = getgrnam (group); /* now it will succeed */ } #endif tail = xmalloc (offsetof (struct userid, name) + strlen (group) + 1); strcpy (tail->name, group); /* Add to the head of the list, so most recently used is first. */ if (grent) { tail->id.g = grent->gr_gid; tail->next = group_alist; group_alist = tail; return &tail->id.g; } tail->next = nogroup_alist; nogroup_alist = tail; return NULL; } �����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memchr2.valgrind�����������������������������������������������������������������0000664�0000000�0000000�00000000633�11624727634�014217� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Suppress a valgrind message about use of uninitialized memory in memchr2(). # Like memchr, it is safe to overestimate the length when the terminator # is guaranteed to be found. In this case, we may end up reading a word # that is partially uninitialized, but this use is OK for a speedup. { memchr2-value4 Memcheck:Value4 fun:memchr2 } { memchr2-value8 Memcheck:Value8 fun:memchr2 } �����������������������������������������������������������������������������������������������������coreutils-8.21/lib/calloc.c�������������������������������������������������������������������������0000664�0000000�0000000�00000003633�12071024545�012522� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* calloc() function that is glibc compatible. This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering and Bruno Haible */ #include <config.h> /* Only the AC_FUNC_CALLOC macro defines 'calloc' already in config.h. */ #ifdef calloc # define NEED_CALLOC_GNU 1 # undef calloc /* Whereas the gnulib module 'calloc-gnu' defines HAVE_CALLOC_GNU. */ #elif GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU # define NEED_CALLOC_GNU 1 #endif /* Specification. */ #include <stdlib.h> #include <errno.h> /* Call the system's calloc below. */ #undef calloc /* Allocate and zero-fill an NxS-byte block of memory from the heap. If N or S is zero, allocate and zero-fill a 1-byte block. */ void * rpl_calloc (size_t n, size_t s) { void *result; #if NEED_CALLOC_GNU if (n == 0 || s == 0) { n = 1; s = 1; } else { /* Defend against buggy calloc implementations that mishandle size_t overflow. */ size_t bytes = n * s; if (bytes / s != n) { errno = ENOMEM; return NULL; } } #endif result = calloc (n, s); #if !HAVE_CALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } �����������������������������������������������������������������������������������������������������coreutils-8.21/lib/pathmax.h������������������������������������������������������������������������0000664�0000000�0000000�00000005556�12071561012�012735� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Define PATH_MAX somehow. Requires sys/types.h. Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _PATHMAX_H # define _PATHMAX_H /* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename, including the terminating NUL byte. <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html> PATH_MAX is not defined on systems which have no limit on filename length, such as GNU/Hurd. This file does *not* define PATH_MAX always. Programs that use this file can handle the GNU/Hurd case in several ways: - Either with a package-wide handling, or with a per-file handling, - Either through a #ifdef PATH_MAX or through a fallback like #ifndef PATH_MAX # define PATH_MAX 8192 #endif or through a fallback like #ifndef PATH_MAX # define PATH_MAX pathconf ("/", _PC_PATH_MAX) #endif */ # include <unistd.h> # include <limits.h> # ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 256 # endif /* Don't include sys/param.h if it already has been. */ # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include <sys/param.h> # endif # if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN # endif # ifdef __hpux /* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename, *not* including the terminating NUL byte, and is set to 1023. Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is not defined at all any more. */ # undef PATH_MAX # define PATH_MAX 1024 # endif # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com, section "Maximum Path Length Limitation", <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath> explains that the maximum size of a filename, including the terminating NUL byte, is 260 = 3 + 256 + 1. This is the same value as - FILENAME_MAX in <stdio.h>, - _MAX_PATH in <stdlib.h>, - MAX_PATH in <windef.h>. Undefine the original value, because mingw's <limits.h> gets it wrong. */ # undef PATH_MAX # define PATH_MAX 260 # endif #endif /* _PATHMAX_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xstrtol.c������������������������������������������������������������������������0000664�0000000�0000000�00000014030�12071024546�012776� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A more useful interface to strtol. Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #ifndef __strtol # define __strtol strtol # define __strtol_t long int # define __xstrtol xstrtol # define STRTOL_T_MINIMUM LONG_MIN # define STRTOL_T_MAXIMUM LONG_MAX #endif #include <config.h> #include "xstrtol.h" /* Some pre-ANSI implementations (e.g. SunOS 4) need stderr defined if assertion checking is enabled. */ #include <stdio.h> #include <assert.h> #include <ctype.h> #include <errno.h> #include <limits.h> #include <stdlib.h> #include <string.h> #include "intprops.h" /* xstrtoll.c and xstrtoull.c, which include this file, require that ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but <limits.h> does not define them on all platforms. */ #ifndef ULLONG_MAX # define ULLONG_MAX TYPE_MAXIMUM (unsigned long long) #endif #ifndef LLONG_MAX # define LLONG_MAX TYPE_MAXIMUM (long long int) #endif #ifndef LLONG_MIN # define LLONG_MIN TYPE_MINIMUM (long long int) #endif static strtol_error bkm_scale (__strtol_t *x, int scale_factor) { if (TYPE_SIGNED (__strtol_t) && *x < STRTOL_T_MINIMUM / scale_factor) { *x = STRTOL_T_MINIMUM; return LONGINT_OVERFLOW; } if (STRTOL_T_MAXIMUM / scale_factor < *x) { *x = STRTOL_T_MAXIMUM; return LONGINT_OVERFLOW; } *x *= scale_factor; return LONGINT_OK; } static strtol_error bkm_scale_by_power (__strtol_t *x, int base, int power) { strtol_error err = LONGINT_OK; while (power--) err |= bkm_scale (x, base); return err; } /* FIXME: comment. */ strtol_error __xstrtol (const char *s, char **ptr, int strtol_base, __strtol_t *val, const char *valid_suffixes) { char *t_ptr; char **p; __strtol_t tmp; strtol_error err = LONGINT_OK; assert (0 <= strtol_base && strtol_base <= 36); p = (ptr ? ptr : &t_ptr); if (! TYPE_SIGNED (__strtol_t)) { const char *q = s; unsigned char ch = *q; while (isspace (ch)) ch = *++q; if (ch == '-') return LONGINT_INVALID; } errno = 0; tmp = __strtol (s, p, strtol_base); if (*p == s) { /* If there is no number but there is a valid suffix, assume the number is 1. The string is invalid otherwise. */ if (valid_suffixes && **p && strchr (valid_suffixes, **p)) tmp = 1; else return LONGINT_INVALID; } else if (errno != 0) { if (errno != ERANGE) return LONGINT_INVALID; err = LONGINT_OVERFLOW; } /* Let valid_suffixes == NULL mean "allow any suffix". */ /* FIXME: update all callers except the ones that allow suffixes after the number, changing last parameter NULL to "". */ if (!valid_suffixes) { *val = tmp; return err; } if (**p != '\0') { int base = 1024; int suffixes = 1; strtol_error overflow; if (!strchr (valid_suffixes, **p)) { *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } if (strchr (valid_suffixes, '0')) { /* The "valid suffix" '0' is a special flag meaning that an optional second suffix is allowed, which can change the base. A suffix "B" (e.g. "100MB") stands for a power of 1000, whereas a suffix "iB" (e.g. "100MiB") stands for a power of 1024. If no suffix (e.g. "100M"), assume power-of-1024. */ switch (p[0][1]) { case 'i': if (p[0][2] == 'B') suffixes += 2; break; case 'B': case 'D': /* 'D' is obsolescent */ base = 1000; suffixes++; break; } } switch (**p) { case 'b': overflow = bkm_scale (&tmp, 512); break; case 'B': overflow = bkm_scale (&tmp, 1024); break; case 'c': overflow = 0; break; case 'E': /* exa or exbi */ overflow = bkm_scale_by_power (&tmp, base, 6); break; case 'G': /* giga or gibi */ case 'g': /* 'g' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 3); break; case 'k': /* kilo */ case 'K': /* kibi */ overflow = bkm_scale_by_power (&tmp, base, 1); break; case 'M': /* mega or mebi */ case 'm': /* 'm' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 2); break; case 'P': /* peta or pebi */ overflow = bkm_scale_by_power (&tmp, base, 5); break; case 'T': /* tera or tebi */ case 't': /* 't' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 4); break; case 'w': overflow = bkm_scale (&tmp, 2); break; case 'Y': /* yotta or 2**80 */ overflow = bkm_scale_by_power (&tmp, base, 8); break; case 'Z': /* zetta or 2**70 */ overflow = bkm_scale_by_power (&tmp, base, 7); break; default: *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } err |= overflow; *p += suffixes; if (**p) err |= LONGINT_INVALID_SUFFIX_CHAR; } *val = tmp; return err; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/filevercmp.c���������������������������������������������������������������������0000664�0000000�0000000�00000011620�12071024546�013415� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1995 Ian Jackson <iwj10@cus.cam.ac.uk> Copyright (C) 2001 Anthony Towns <aj@azure.humbug.org.au> Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> #include "filevercmp.h" #include <sys/types.h> #include <stdlib.h> #include <stdbool.h> #include <string.h> #include <c-ctype.h> #include <limits.h> /* Match a file suffix defined by this regular expression: /(\.[A-Za-z~][A-Za-z0-9~]*)*$/ Scan the string *STR and return a pointer to the matching suffix, or NULL if not found. Upon return, *STR points to terminating NUL. */ static const char * match_suffix (const char **str) { const char *match = NULL; bool read_alpha = false; while (**str) { if (read_alpha) { read_alpha = false; if (!c_isalpha (**str) && '~' != **str) match = NULL; } else if ('.' == **str) { read_alpha = true; if (!match) match = *str; } else if (!c_isalnum (**str) && '~' != **str) match = NULL; (*str)++; } return match; } /* verrevcmp helper function */ static int order (unsigned char c) { if (c_isdigit (c)) return 0; else if (c_isalpha (c)) return c; else if (c == '~') return -1; else return (int) c + UCHAR_MAX + 1; } /* slightly modified verrevcmp function from dpkg S1, S2 - compared string S1_LEN, S2_LEN - length of strings to be scanned This implements the algorithm for comparison of version strings specified by Debian and now widely adopted. The detailed specification can be found in the Debian Policy Manual in the section on the 'Version' control field. This version of the code implements that from s5.6.12 of Debian Policy v3.8.0.1 http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version */ static int _GL_ATTRIBUTE_PURE verrevcmp (const char *s1, size_t s1_len, const char *s2, size_t s2_len) { size_t s1_pos = 0; size_t s2_pos = 0; while (s1_pos < s1_len || s2_pos < s2_len) { int first_diff = 0; while ((s1_pos < s1_len && !c_isdigit (s1[s1_pos])) || (s2_pos < s2_len && !c_isdigit (s2[s2_pos]))) { int s1_c = (s1_pos == s1_len) ? 0 : order (s1[s1_pos]); int s2_c = (s2_pos == s2_len) ? 0 : order (s2[s2_pos]); if (s1_c != s2_c) return s1_c - s2_c; s1_pos++; s2_pos++; } while (s1[s1_pos] == '0') s1_pos++; while (s2[s2_pos] == '0') s2_pos++; while (c_isdigit (s1[s1_pos]) && c_isdigit (s2[s2_pos])) { if (!first_diff) first_diff = s1[s1_pos] - s2[s2_pos]; s1_pos++; s2_pos++; } if (c_isdigit (s1[s1_pos])) return 1; if (c_isdigit (s2[s2_pos])) return -1; if (first_diff) return first_diff; } return 0; } /* Compare version strings S1 and S2. See filevercmp.h for function description. */ int filevercmp (const char *s1, const char *s2) { const char *s1_pos; const char *s2_pos; const char *s1_suffix, *s2_suffix; size_t s1_len, s2_len; int result; /* easy comparison to see if strings are identical */ int simple_cmp = strcmp (s1, s2); if (simple_cmp == 0) return 0; /* special handle for "", "." and ".." */ if (!*s1) return -1; if (!*s2) return 1; if (0 == strcmp (".", s1)) return -1; if (0 == strcmp (".", s2)) return 1; if (0 == strcmp ("..", s1)) return -1; if (0 == strcmp ("..", s2)) return 1; /* special handle for other hidden files */ if (*s1 == '.' && *s2 != '.') return -1; if (*s1 != '.' && *s2 == '.') return 1; if (*s1 == '.' && *s2 == '.') { s1++; s2++; } /* "cut" file suffixes */ s1_pos = s1; s2_pos = s2; s1_suffix = match_suffix (&s1_pos); s2_suffix = match_suffix (&s2_pos); s1_len = (s1_suffix ? s1_suffix : s1_pos) - s1; s2_len = (s2_suffix ? s2_suffix : s2_pos) - s2; /* restore file suffixes if strings are identical after "cut" */ if ((s1_suffix || s2_suffix) && (s1_len == s2_len) && 0 == strncmp (s1, s2, s1_len)) { s1_len = s1_pos - s1; s2_len = s2_pos - s2; } result = verrevcmp (s1, s1_len, s2, s2_len); return result == 0 ? simple_cmp : result; } ����������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freadahead.c���������������������������������������������������������������������0000664�0000000�0000000�00000006561�12071024546�013335� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "freadahead.h" #include <stdlib.h> #include "stdio-impl.h" size_t freadahead (FILE *fp) { #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ if (fp->_IO_write_ptr > fp->_IO_write_base) return 0; return (fp->_IO_read_end - fp->_IO_read_ptr) + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end - fp->_IO_save_base : 0); #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return 0; # if defined __DragonFly__ return __sreadahead (fp); # else return fp_->_r + (HASUB (fp) ? fp_->_ur : 0); # endif #elif defined __EMX__ /* emx+gcc */ if ((fp->_flags & _IOWRT) != 0) return 0; /* Note: fp->_ungetc_count > 0 implies fp->_rcount <= 0, fp->_ungetc_count = 0 implies fp->_rcount >= 0. */ /* equivalent to (fp->_ungetc_count == 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount) */ return (fp->_rcount > 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount); #elif defined __minix /* Minix */ if ((fp_->_flags & _IOWRITING) != 0) return 0; return fp_->_count; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if ((fp_->_flag & _IOWRT) != 0) return 0; return fp_->_cnt; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) return 0; return (fp->__bufread - fp->__bufpos) + (fp->__modeflags & __FLAG_UNGOT ? 1 : 0); # else return 0; # endif #elif defined __QNX__ /* QNX */ if ((fp->_Mode & 0x2000 /* _MWRITE */) != 0) return 0; /* fp->_Buf <= fp->_Next <= fp->_Rend, and fp->_Rend may be overridden by fp->_Rsave. */ return ((fp->_Rsave ? fp->_Rsave : fp->_Rend) - fp->_Next) + (fp->_Mode & 0x4000 /* _MBYTE */ ? (fp->_Back + sizeof (fp->_Back)) - fp->_Rback : 0); #elif defined __MINT__ /* Atari FreeMiNT */ if (!fp->__mode.__read) return 0; return (fp->__pushed_back ? fp->__get_limit - fp->__pushback_bufp + 1 : fp->__get_limit - fp->__bufp); #elif defined EPLAN9 /* Plan9 */ if (fp->state == 4 /* WR */ || fp->rp >= fp->wp) return 0; return fp->wp - fp->rp; #elif defined SLOW_BUT_NO_HACKS /* users can define this */ abort (); return 0; #else #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." #endif } �����������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/close-stream.h�������������������������������������������������������������������0000664�0000000�0000000�00000000064�11624727634�013677� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdio.h> int close_stream (FILE *stream); ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memcasecmp.h���������������������������������������������������������������������0000664�0000000�0000000�00000001602�12071024546�013377� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Case-insensitive buffer comparator. Copyright (C) 1996, 1998, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <stddef.h> int memcasecmp (const void *vs1, const void *vs2, size_t n) _GL_ATTRIBUTE_PURE; ������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/xalloc-oversized.h���������������������������������������������������������������0000664�0000000�0000000�00000003227�12071024546�014564� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* xalloc-oversized.h -- memory allocation size checking Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef XALLOC_OVERSIZED_H_ # define XALLOC_OVERSIZED_H_ # include <stddef.h> /* Return 1 if an array of N objects, each of size S, cannot exist due to size arithmetic overflow. S must be positive and N must be nonnegative. This is a macro, not a function, so that it works correctly even when SIZE_MAX < N. By gnulib convention, SIZE_MAX represents overflow in size calculations, so the conservative dividend to use here is SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. However, malloc (SIZE_MAX) fails on all known hosts where sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for exactly-SIZE_MAX allocations on such hosts; this avoids a test and branch when S is known to be 1. */ # define xalloc_oversized(n, s) \ ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) #endif /* !XALLOC_OVERSIZED_H_ */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawn_faction_addclose.c���������������������������������������������������������0000664�0000000�0000000�00000004005�12071024546�015751� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include <errno.h> #include <unistd.h> #if !_LIBC # define __sysconf(open_max) getdtablesize () #endif #if !HAVE_WORKING_POSIX_SPAWN # include "spawn_int.h" #endif /* Add an action to FILE-ACTIONS which tells the implementation to call 'close' for the given file descriptor during the 'spawn' call. */ int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *file_actions, int fd) #undef posix_spawn_file_actions_addclose { int maxfd = __sysconf (_SC_OPEN_MAX); /* Test for the validity of the file descriptor. */ if (fd < 0 || fd >= maxfd) return EBADF; #if HAVE_WORKING_POSIX_SPAWN return posix_spawn_file_actions_addclose (file_actions, fd); #else /* Allocate more memory if needed. */ if (file_actions->_used == file_actions->_allocated && __posix_spawn_file_actions_realloc (file_actions) != 0) /* This can only mean we ran out of memory. */ return ENOMEM; { struct __spawn_action *rec; /* Add the new value. */ rec = &file_actions->_actions[file_actions->_used]; rec->tag = spawn_do_close; rec->action.open_action.fd = fd; /* Account for the new entry. */ ++file_actions->_used; return 0; } #endif } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sha512.c�������������������������������������������������������������������������0000664�0000000�0000000�00000053576�12071024546�012304� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sha512.c - Functions to compute SHA512 and SHA384 message digest of files or memory blocks according to the NIST specification FIPS-180-2. Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David Madore, considerably copypasting from Scott G. Miller's sha1.c */ #include <config.h> #include "sha512.h" #include <stdalign.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ u64or (u64or (u64or (u64shl (n, 56), \ u64shl (u64and (n, u64lo (0x0000ff00)), 40)), \ u64or (u64shl (u64and (n, u64lo (0x00ff0000)), 24), \ u64shl (u64and (n, u64lo (0xff000000)), 8))), \ u64or (u64or (u64and (u64shr (n, 8), u64lo (0xff000000)), \ u64and (u64shr (n, 24), u64lo (0x00ff0000))), \ u64or (u64and (u64shr (n, 40), u64lo (0x0000ff00)), \ u64shr (n, 56)))) #endif #define BLOCKSIZE 32768 #if BLOCKSIZE % 128 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 128-byte boundary. */ static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ }; /* Takes a pointer to a 512 bit block of data (eight 64 bit ints) and initializes it to the start constants of the SHA512 algorithm. This must be called before using hash in the call to sha512_hash */ void sha512_init_ctx (struct sha512_ctx *ctx) { ctx->state[0] = u64hilo (0x6a09e667, 0xf3bcc908); ctx->state[1] = u64hilo (0xbb67ae85, 0x84caa73b); ctx->state[2] = u64hilo (0x3c6ef372, 0xfe94f82b); ctx->state[3] = u64hilo (0xa54ff53a, 0x5f1d36f1); ctx->state[4] = u64hilo (0x510e527f, 0xade682d1); ctx->state[5] = u64hilo (0x9b05688c, 0x2b3e6c1f); ctx->state[6] = u64hilo (0x1f83d9ab, 0xfb41bd6b); ctx->state[7] = u64hilo (0x5be0cd19, 0x137e2179); ctx->total[0] = ctx->total[1] = u64lo (0); ctx->buflen = 0; } void sha384_init_ctx (struct sha512_ctx *ctx) { ctx->state[0] = u64hilo (0xcbbb9d5d, 0xc1059ed8); ctx->state[1] = u64hilo (0x629a292a, 0x367cd507); ctx->state[2] = u64hilo (0x9159015a, 0x3070dd17); ctx->state[3] = u64hilo (0x152fecd8, 0xf70e5939); ctx->state[4] = u64hilo (0x67332667, 0xffc00b31); ctx->state[5] = u64hilo (0x8eb44a87, 0x68581511); ctx->state[6] = u64hilo (0xdb0c2e0d, 0x64f98fa7); ctx->state[7] = u64hilo (0x47b5481d, 0xbefa4fa4); ctx->total[0] = ctx->total[1] = u64lo (0); ctx->buflen = 0; } /* Copy the value from V into the memory location pointed to by *CP, If your architecture allows unaligned access, this is equivalent to * (__typeof__ (v) *) cp = v */ static void set_uint64 (char *cp, u64 v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 64 bytes following RESBUF. The result must be in little endian byte order. */ void * sha512_read_ctx (const struct sha512_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 8; i++) set_uint64 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } void * sha384_read_ctx (const struct sha512_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 6; i++) set_uint64 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ static void sha512_conclude_ctx (struct sha512_ctx *ctx) { /* Take yet unprocessed bytes into account. */ size_t bytes = ctx->buflen; size_t size = (bytes < 112) ? 128 / 8 : 128 * 2 / 8; /* Now count remaining bytes. */ ctx->total[0] = u64plus (ctx->total[0], u64lo (bytes)); if (u64lt (ctx->total[0], u64lo (bytes))) ctx->total[1] = u64plus (ctx->total[1], u64lo (1)); /* Put the 128-bit file length in *bits* at the end of the buffer. Use set_uint64 rather than a simple assignment, to avoid risk of unaligned access. */ set_uint64 ((char *) &ctx->buffer[size - 2], SWAP (u64or (u64shl (ctx->total[1], 3), u64shr (ctx->total[0], 61)))); set_uint64 ((char *) &ctx->buffer[size - 1], SWAP (u64shl (ctx->total[0], 3))); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 8 - bytes); /* Process last bytes. */ sha512_process_block (ctx->buffer, size * 8, ctx); } void * sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf) { sha512_conclude_ctx (ctx); return sha512_read_ctx (ctx, resbuf); } void * sha384_finish_ctx (struct sha512_ctx *ctx, void *resbuf) { sha512_conclude_ctx (ctx); return sha384_read_ctx (ctx, resbuf); } /* Compute SHA512 message digest for bytes read from STREAM. The resulting message digest number will be written into the 64 bytes beginning at RESBLOCK. */ int sha512_stream (FILE *stream, void *resblock) { struct sha512_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ sha512_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 128 == 0 */ sha512_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha512_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha512_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* FIXME: Avoid code duplication */ int sha384_stream (FILE *stream, void *resblock) { struct sha512_ctx ctx; size_t sum; char *buffer = malloc (BLOCKSIZE + 72); if (!buffer) return 1; /* Initialize the computation context. */ sha384_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) { free (buffer); return 1; } goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 128 == 0 */ sha512_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha512_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha384_finish_ctx (&ctx, resblock); free (buffer); return 0; } /* Compute SHA512 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha512_buffer (const char *buffer, size_t len, void *resblock) { struct sha512_ctx ctx; /* Initialize the computation context. */ sha512_init_ctx (&ctx); /* Process whole buffer but last len % 128 bytes. */ sha512_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha512_finish_ctx (&ctx, resblock); } void * sha384_buffer (const char *buffer, size_t len, void *resblock) { struct sha512_ctx ctx; /* Initialize the computation context. */ sha384_init_ctx (&ctx); /* Process whole buffer but last len % 128 bytes. */ sha512_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha384_finish_ctx (&ctx, resblock); } void sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 256 - left_over > len ? len : 256 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 128) { sha512_process_block (ctx->buffer, ctx->buflen & ~127, ctx); ctx->buflen &= 127; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~127], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 128) { #if !_STRING_ARCH_unaligned # define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (u64) != 0) if (UNALIGNED_P (buffer)) while (len > 128) { sha512_process_block (memcpy (ctx->buffer, buffer, 128), 128, ctx); buffer = (const char *) buffer + 128; len -= 128; } else #endif { sha512_process_block (buffer, len & ~127, ctx); buffer = (const char *) buffer + (len & ~127); len &= 127; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 128) { sha512_process_block (ctx->buffer, 128, ctx); left_over -= 128; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between sha1.c and sha512.c --- */ /* SHA512 round constants */ #define K(I) sha512_round_constants[I] static u64 const sha512_round_constants[80] = { u64init (0x428a2f98, 0xd728ae22), u64init (0x71374491, 0x23ef65cd), u64init (0xb5c0fbcf, 0xec4d3b2f), u64init (0xe9b5dba5, 0x8189dbbc), u64init (0x3956c25b, 0xf348b538), u64init (0x59f111f1, 0xb605d019), u64init (0x923f82a4, 0xaf194f9b), u64init (0xab1c5ed5, 0xda6d8118), u64init (0xd807aa98, 0xa3030242), u64init (0x12835b01, 0x45706fbe), u64init (0x243185be, 0x4ee4b28c), u64init (0x550c7dc3, 0xd5ffb4e2), u64init (0x72be5d74, 0xf27b896f), u64init (0x80deb1fe, 0x3b1696b1), u64init (0x9bdc06a7, 0x25c71235), u64init (0xc19bf174, 0xcf692694), u64init (0xe49b69c1, 0x9ef14ad2), u64init (0xefbe4786, 0x384f25e3), u64init (0x0fc19dc6, 0x8b8cd5b5), u64init (0x240ca1cc, 0x77ac9c65), u64init (0x2de92c6f, 0x592b0275), u64init (0x4a7484aa, 0x6ea6e483), u64init (0x5cb0a9dc, 0xbd41fbd4), u64init (0x76f988da, 0x831153b5), u64init (0x983e5152, 0xee66dfab), u64init (0xa831c66d, 0x2db43210), u64init (0xb00327c8, 0x98fb213f), u64init (0xbf597fc7, 0xbeef0ee4), u64init (0xc6e00bf3, 0x3da88fc2), u64init (0xd5a79147, 0x930aa725), u64init (0x06ca6351, 0xe003826f), u64init (0x14292967, 0x0a0e6e70), u64init (0x27b70a85, 0x46d22ffc), u64init (0x2e1b2138, 0x5c26c926), u64init (0x4d2c6dfc, 0x5ac42aed), u64init (0x53380d13, 0x9d95b3df), u64init (0x650a7354, 0x8baf63de), u64init (0x766a0abb, 0x3c77b2a8), u64init (0x81c2c92e, 0x47edaee6), u64init (0x92722c85, 0x1482353b), u64init (0xa2bfe8a1, 0x4cf10364), u64init (0xa81a664b, 0xbc423001), u64init (0xc24b8b70, 0xd0f89791), u64init (0xc76c51a3, 0x0654be30), u64init (0xd192e819, 0xd6ef5218), u64init (0xd6990624, 0x5565a910), u64init (0xf40e3585, 0x5771202a), u64init (0x106aa070, 0x32bbd1b8), u64init (0x19a4c116, 0xb8d2d0c8), u64init (0x1e376c08, 0x5141ab53), u64init (0x2748774c, 0xdf8eeb99), u64init (0x34b0bcb5, 0xe19b48a8), u64init (0x391c0cb3, 0xc5c95a63), u64init (0x4ed8aa4a, 0xe3418acb), u64init (0x5b9cca4f, 0x7763e373), u64init (0x682e6ff3, 0xd6b2b8a3), u64init (0x748f82ee, 0x5defb2fc), u64init (0x78a5636f, 0x43172f60), u64init (0x84c87814, 0xa1f0ab72), u64init (0x8cc70208, 0x1a6439ec), u64init (0x90befffa, 0x23631e28), u64init (0xa4506ceb, 0xde82bde9), u64init (0xbef9a3f7, 0xb2c67915), u64init (0xc67178f2, 0xe372532b), u64init (0xca273ece, 0xea26619c), u64init (0xd186b8c7, 0x21c0c207), u64init (0xeada7dd6, 0xcde0eb1e), u64init (0xf57d4f7f, 0xee6ed178), u64init (0x06f067aa, 0x72176fba), u64init (0x0a637dc5, 0xa2c898a6), u64init (0x113f9804, 0xbef90dae), u64init (0x1b710b35, 0x131c471b), u64init (0x28db77f5, 0x23047d84), u64init (0x32caab7b, 0x40c72493), u64init (0x3c9ebe0a, 0x15c9bebc), u64init (0x431d67c4, 0x9c100d4c), u64init (0x4cc5d4be, 0xcb3e42b6), u64init (0x597f299c, 0xfc657e2a), u64init (0x5fcb6fab, 0x3ad6faec), u64init (0x6c44198c, 0x4a475817), }; /* Round functions. */ #define F2(A, B, C) u64or (u64and (A, B), u64and (C, u64or (A, B))) #define F1(E, F, G) u64xor (G, u64and (E, u64xor (F, G))) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 128 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx) { u64 const *words = buffer; u64 const *endp = words + len / sizeof (u64); u64 x[16]; u64 a = ctx->state[0]; u64 b = ctx->state[1]; u64 c = ctx->state[2]; u64 d = ctx->state[3]; u64 e = ctx->state[4]; u64 f = ctx->state[5]; u64 g = ctx->state[6]; u64 h = ctx->state[7]; u64 lolen = u64size (len); /* First increment the byte count. FIPS PUB 180-2 specifies the possible length of the file up to 2^128 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] = u64plus (ctx->total[0], lolen); ctx->total[1] = u64plus (ctx->total[1], u64plus (u64size (len >> 31 >> 31 >> 2), u64lo (u64lt (ctx->total[0], lolen)))); #define S0(x) u64xor (u64rol(x, 63), u64xor (u64rol (x, 56), u64shr (x, 7))) #define S1(x) u64xor (u64rol (x, 45), u64xor (u64rol (x, 3), u64shr (x, 6))) #define SS0(x) u64xor (u64rol (x, 36), u64xor (u64rol (x, 30), u64rol (x, 25))) #define SS1(x) u64xor (u64rol(x, 50), u64xor (u64rol (x, 46), u64rol (x, 23))) #define M(I) (x[(I) & 15] \ = u64plus (x[(I) & 15], \ u64plus (S1 (x[((I) - 2) & 15]), \ u64plus (x[((I) - 7) & 15], \ S0 (x[((I) - 15) & 15]))))) #define R(A, B, C, D, E, F, G, H, K, M) \ do \ { \ u64 t0 = u64plus (SS0 (A), F2 (A, B, C)); \ u64 t1 = \ u64plus (H, u64plus (SS1 (E), \ u64plus (F1 (E, F, G), u64plus (K, M)))); \ D = u64plus (D, t1); \ H = u64plus (t0, t1); \ } \ while (0) while (words < endp) { int t; /* FIXME: see sha1.c for a better implementation. */ for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, f, g, h, K( 0), x[ 0] ); R( h, a, b, c, d, e, f, g, K( 1), x[ 1] ); R( g, h, a, b, c, d, e, f, K( 2), x[ 2] ); R( f, g, h, a, b, c, d, e, K( 3), x[ 3] ); R( e, f, g, h, a, b, c, d, K( 4), x[ 4] ); R( d, e, f, g, h, a, b, c, K( 5), x[ 5] ); R( c, d, e, f, g, h, a, b, K( 6), x[ 6] ); R( b, c, d, e, f, g, h, a, K( 7), x[ 7] ); R( a, b, c, d, e, f, g, h, K( 8), x[ 8] ); R( h, a, b, c, d, e, f, g, K( 9), x[ 9] ); R( g, h, a, b, c, d, e, f, K(10), x[10] ); R( f, g, h, a, b, c, d, e, K(11), x[11] ); R( e, f, g, h, a, b, c, d, K(12), x[12] ); R( d, e, f, g, h, a, b, c, K(13), x[13] ); R( c, d, e, f, g, h, a, b, K(14), x[14] ); R( b, c, d, e, f, g, h, a, K(15), x[15] ); R( a, b, c, d, e, f, g, h, K(16), M(16) ); R( h, a, b, c, d, e, f, g, K(17), M(17) ); R( g, h, a, b, c, d, e, f, K(18), M(18) ); R( f, g, h, a, b, c, d, e, K(19), M(19) ); R( e, f, g, h, a, b, c, d, K(20), M(20) ); R( d, e, f, g, h, a, b, c, K(21), M(21) ); R( c, d, e, f, g, h, a, b, K(22), M(22) ); R( b, c, d, e, f, g, h, a, K(23), M(23) ); R( a, b, c, d, e, f, g, h, K(24), M(24) ); R( h, a, b, c, d, e, f, g, K(25), M(25) ); R( g, h, a, b, c, d, e, f, K(26), M(26) ); R( f, g, h, a, b, c, d, e, K(27), M(27) ); R( e, f, g, h, a, b, c, d, K(28), M(28) ); R( d, e, f, g, h, a, b, c, K(29), M(29) ); R( c, d, e, f, g, h, a, b, K(30), M(30) ); R( b, c, d, e, f, g, h, a, K(31), M(31) ); R( a, b, c, d, e, f, g, h, K(32), M(32) ); R( h, a, b, c, d, e, f, g, K(33), M(33) ); R( g, h, a, b, c, d, e, f, K(34), M(34) ); R( f, g, h, a, b, c, d, e, K(35), M(35) ); R( e, f, g, h, a, b, c, d, K(36), M(36) ); R( d, e, f, g, h, a, b, c, K(37), M(37) ); R( c, d, e, f, g, h, a, b, K(38), M(38) ); R( b, c, d, e, f, g, h, a, K(39), M(39) ); R( a, b, c, d, e, f, g, h, K(40), M(40) ); R( h, a, b, c, d, e, f, g, K(41), M(41) ); R( g, h, a, b, c, d, e, f, K(42), M(42) ); R( f, g, h, a, b, c, d, e, K(43), M(43) ); R( e, f, g, h, a, b, c, d, K(44), M(44) ); R( d, e, f, g, h, a, b, c, K(45), M(45) ); R( c, d, e, f, g, h, a, b, K(46), M(46) ); R( b, c, d, e, f, g, h, a, K(47), M(47) ); R( a, b, c, d, e, f, g, h, K(48), M(48) ); R( h, a, b, c, d, e, f, g, K(49), M(49) ); R( g, h, a, b, c, d, e, f, K(50), M(50) ); R( f, g, h, a, b, c, d, e, K(51), M(51) ); R( e, f, g, h, a, b, c, d, K(52), M(52) ); R( d, e, f, g, h, a, b, c, K(53), M(53) ); R( c, d, e, f, g, h, a, b, K(54), M(54) ); R( b, c, d, e, f, g, h, a, K(55), M(55) ); R( a, b, c, d, e, f, g, h, K(56), M(56) ); R( h, a, b, c, d, e, f, g, K(57), M(57) ); R( g, h, a, b, c, d, e, f, K(58), M(58) ); R( f, g, h, a, b, c, d, e, K(59), M(59) ); R( e, f, g, h, a, b, c, d, K(60), M(60) ); R( d, e, f, g, h, a, b, c, K(61), M(61) ); R( c, d, e, f, g, h, a, b, K(62), M(62) ); R( b, c, d, e, f, g, h, a, K(63), M(63) ); R( a, b, c, d, e, f, g, h, K(64), M(64) ); R( h, a, b, c, d, e, f, g, K(65), M(65) ); R( g, h, a, b, c, d, e, f, K(66), M(66) ); R( f, g, h, a, b, c, d, e, K(67), M(67) ); R( e, f, g, h, a, b, c, d, K(68), M(68) ); R( d, e, f, g, h, a, b, c, K(69), M(69) ); R( c, d, e, f, g, h, a, b, K(70), M(70) ); R( b, c, d, e, f, g, h, a, K(71), M(71) ); R( a, b, c, d, e, f, g, h, K(72), M(72) ); R( h, a, b, c, d, e, f, g, K(73), M(73) ); R( g, h, a, b, c, d, e, f, K(74), M(74) ); R( f, g, h, a, b, c, d, e, K(75), M(75) ); R( e, f, g, h, a, b, c, d, K(76), M(76) ); R( d, e, f, g, h, a, b, c, K(77), M(77) ); R( c, d, e, f, g, h, a, b, K(78), M(78) ); R( b, c, d, e, f, g, h, a, K(79), M(79) ); a = ctx->state[0] = u64plus (ctx->state[0], a); b = ctx->state[1] = u64plus (ctx->state[1], b); c = ctx->state[2] = u64plus (ctx->state[2], c); d = ctx->state[3] = u64plus (ctx->state[3], d); e = ctx->state[4] = u64plus (ctx->state[4], e); f = ctx->state[5] = u64plus (ctx->state[5], f); g = ctx->state[6] = u64plus (ctx->state[6], g); h = ctx->state[7] = u64plus (ctx->state[7], h); } } ����������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getugroups.c���������������������������������������������������������������������0000664�0000000�0000000�00000006175�12071024546�013476� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* getugroups.c -- return a list of the groups a user is in Copyright (C) 1990-1991, 1998-2000, 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie. */ #include <config.h> #include "getugroups.h" #include <errno.h> #include <limits.h> #include <stdio.h> /* grp.h on alpha OSF1 V2.0 uses "FILE *". */ #include <string.h> #include <unistd.h> #if !HAVE_GRP_H /* Mingw lacks all things related to group management. The best we can do is fail with ENOSYS. */ int getugroups (int maxcount _GL_UNUSED, gid_t *grouplist _GL_UNUSED, char const *username _GL_UNUSED, gid_t gid _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_GRP_H */ # include <grp.h> # define STREQ(a, b) (strcmp (a, b) == 0) /* Like 'getgroups', but for user USERNAME instead of for the current process. Store at most MAXCOUNT group IDs in the GROUPLIST array. If GID is not -1, store it first (if possible). GID should be the group ID (pw_gid) obtained from getpwuid, in case USERNAME is not listed in /etc/groups. Upon failure, set errno and return -1. Otherwise, return the number of IDs we've written into GROUPLIST. */ int getugroups (int maxcount, gid_t *grouplist, char const *username, gid_t gid) { int count = 0; if (gid != (gid_t) -1) { if (maxcount != 0) grouplist[count] = gid; ++count; } setgrent (); while (1) { char **cp; struct group *grp; errno = 0; grp = getgrent (); if (grp == NULL) break; for (cp = grp->gr_mem; *cp; ++cp) { int n; if ( ! STREQ (username, *cp)) continue; /* See if this group number is already on the list. */ for (n = 0; n < count; ++n) if (grouplist && grouplist[n] == grp->gr_gid) break; /* If it's a new group number, then try to add it to the list. */ if (n == count) { if (maxcount != 0) { if (count >= maxcount) goto done; grouplist[count] = grp->gr_gid; } if (count == INT_MAX) { errno = EOVERFLOW; goto done; } count++; } } } if (errno != 0) count = -1; done: { int saved_errno = errno; endgrent (); errno = saved_errno; } return count; } #endif /* HAVE_GRP_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkfifo.c�������������������������������������������������������������������������0000664�0000000�0000000�00000002702�12071024546�012535� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Create a named fifo. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <sys/stat.h> #include <errno.h> #include <string.h> #if !HAVE_MKFIFO /* Mingw lacks mkfifo; always fail with ENOSYS. */ int mkfifo (char const *name _GL_UNUSED, mode_t mode _GL_UNUSED) { errno = ENOSYS; return -1; } #else /* HAVE_MKFIFO */ # undef mkfifo /* Create a named fifo FILE, with access permissions in MODE. Work around trailing slash bugs. */ int rpl_mkfifo (char const *name, mode_t mode) { # if MKFIFO_TRAILING_SLASH_BUG size_t len = strlen (name); if (len && name[len - 1] == '/') { struct stat st; if (stat (name, &st) == 0) errno = EEXIST; return -1; } # endif return mkfifo (name, mode); } #endif /* HAVE_MKFIFO */ ��������������������������������������������������������������coreutils-8.21/lib/sched.in.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003125�12071024546�012762� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Replacement <sched.h> for platforms that lack it. Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _@GUARD_PREFIX@_SCHED_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SCHED_H@ # @INCLUDE_NEXT@ @NEXT_SCHED_H@ #endif #ifndef _@GUARD_PREFIX@_SCHED_H #define _@GUARD_PREFIX@_SCHED_H /* Get pid_t. This is needed on glibc 2.11 (see glibc bug <http://sourceware.org/bugzilla/show_bug.cgi?id=13198>) and Mac OS X 10.5. */ #include <sys/types.h> #if !@HAVE_STRUCT_SCHED_PARAM@ # if !GNULIB_defined_struct_sched_param struct sched_param { int sched_priority; }; # define GNULIB_defined_struct_sched_param 1 # endif #endif #if !(defined SCHED_FIFO && defined SCHED_RR && defined SCHED_OTHER) # define SCHED_FIFO 1 # define SCHED_RR 2 # define SCHED_OTHER 0 #endif #endif /* _@GUARD_PREFIX@_SCHED_H */ #endif /* _@GUARD_PREFIX@_SCHED_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getopt.c�������������������������������������������������������������������������0000664�0000000�0000000�00000117504�12071024546�012573� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Getopt for GNU. NOTE: getopt is part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif #include "getopt.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #ifdef _LIBC # include <libintl.h> #else # include "gettext.h" # define _(msgid) gettext (msgid) #endif #if defined _LIBC && defined USE_IN_LIBIO # include <wchar.h> #endif /* This version of 'getopt' appears to the caller like standard Unix 'getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As 'getopt_long' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Using 'getopt' or setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt_int.h" /* For communication from 'getopt' to the caller. When 'getopt' finds an option that takes an argument, the argument value is returned here. Also, when 'ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to 'getopt'. On entry to 'getopt', zero means this is the first call; initialize. When 'getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, 'optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Keep a global copy of all internal members of getopt_data. */ static struct _getopt_data getopt_data; #if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV extern char *getenv (); #endif #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (d->__nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. 'first_nonopt' and 'last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ static void exchange (char **argv, struct _getopt_data *d) { int bottom = d->__first_nonopt; int middle = d->__last_nonopt; int top = d->optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the '__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, d->__nonoption_flags_max_len), '\0', top + 1 - d->__nonoption_flags_max_len); d->__nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ d->__first_nonopt += (d->optind - d->__last_nonopt); d->__last_nonopt = d->optind; } /* Initialize the internal data when the first call is made. */ static const char * _getopt_initialize (int argc _GL_UNUSED, char **argv _GL_UNUSED, const char *optstring, struct _getopt_data *d, int posixly_correct) { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ d->__first_nonopt = d->__last_nonopt = d->optind; d->__nextchar = NULL; d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { d->__ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { d->__ordering = REQUIRE_ORDER; ++optstring; } else if (d->__posixly_correct) d->__ordering = REQUIRE_ORDER; else d->__ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (!d->__posixly_correct && argc == __libc_argc && argv == __libc_argv) { if (d->__nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') d->__nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = d->__nonoption_flags_max_len = strlen (orig_str); if (d->__nonoption_flags_max_len < argc) d->__nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (d->__nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) d->__nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', d->__nonoption_flags_max_len - len); } } d->__nonoption_flags_len = d->__nonoption_flags_max_len; } else d->__nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If 'getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If 'getopt' finds another option character, it returns that character, updating 'optind' and 'nextchar' so that the next call to 'getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, 'getopt' returns -1. Then 'optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set 'opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in 'optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in 'optarg', otherwise 'optarg' is set to zero. If OPTSTRING starts with '-' or '+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with '--' instead of '-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a '=', or else the in next ARGV-element. When 'getopt' finds a long-named option, it returns 0 if that option's 'flag' field is nonzero, the value of the option's 'val' field if the 'flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of 'struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal_r (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, struct _getopt_data *d, int posixly_correct) { int print_errors = d->opterr; if (argc < 1) return -1; d->optarg = NULL; if (d->optind == 0 || !d->__initialized) { if (d->optind == 0) d->optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct); d->__initialized = 1; } else if (optstring[0] == '-' || optstring[0] == '+') optstring++; if (optstring[0] == ':') print_errors = 0; /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \ || (d->optind < d->__nonoption_flags_len \ && __getopt_nonoption_flags[d->optind] == '1')) #else # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') #endif if (d->__nextchar == NULL || *d->__nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (d->__last_nonopt > d->optind) d->__last_nonopt = d->optind; if (d->__first_nonopt > d->optind) d->__first_nonopt = d->optind; if (d->__ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__last_nonopt != d->optind) d->__first_nonopt = d->optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (d->optind < argc && NONOPTION_P) d->optind++; d->__last_nonopt = d->optind; } /* The special ARGV-element '--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (d->optind != argc && !strcmp (argv[d->optind], "--")) { d->optind++; if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__first_nonopt == d->__last_nonopt) d->__first_nonopt = d->optind; d->__last_nonopt = argc; d->optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (d->optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (d->__first_nonopt != d->__last_nonopt) d->optind = d->__first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (d->__ordering == REQUIRE_ORDER) return -1; d->optarg = argv[d->optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ d->__nextchar = (argv[d->optind] + 1 + (longopts != NULL && argv[d->optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[d->optind][1] == '-' || (long_only && (argv[d->optind][2] || !strchr (optstring, argv[d->optind][1]))))) { char *nameend; unsigned int namelen; const struct option *p; const struct option *pfound = NULL; struct option_list { const struct option *p; struct option_list *next; } *ambig_list = NULL; int exact = 0; int indfound = -1; int option_index; for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; namelen = nameend - d->__nextchar; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, namelen)) { if (namelen == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) { /* Second or later nonexact match found. */ struct option_list *newp = malloc (sizeof (*newp)); newp->p = p; newp->next = ambig_list; ambig_list = newp; } } if (ambig_list != NULL && !exact) { if (print_errors) { struct option_list first; first.p = pfound; first.next = ambig_list; ambig_list = &first; #if defined _LIBC && defined USE_IN_LIBIO char *buf = NULL; size_t buflen = 0; FILE *fp = open_memstream (&buf, &buflen); if (fp != NULL) { fprintf (fp, _("%s: option '%s' is ambiguous; possibilities:"), argv[0], argv[d->optind]); do { fprintf (fp, " '--%s'", ambig_list->p->name); ambig_list = ambig_list->next; } while (ambig_list != NULL); fputc_unlocked ('\n', fp); if (__builtin_expect (fclose (fp) != EOF, 1)) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } } #else fprintf (stderr, _("%s: option '%s' is ambiguous; possibilities:"), argv[0], argv[d->optind]); do { fprintf (stderr, " '--%s'", ambig_list->p->name); ambig_list = ambig_list->next; } while (ambig_list != NULL); fputc ('\n', stderr); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; d->optopt = 0; return '?'; } while (ambig_list != NULL) { struct option_list *pn = ambig_list->next; free (ambig_list); ambig_list = pn; } if (pfound != NULL) { option_index = indfound; d->optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option '--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, _("\ %s: option '--%s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option '%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #else fprintf (stderr, _("\ %s: option '%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '--%s' requires an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option '--%s' requires an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[d->optind][1] == '-' || strchr (optstring, *d->__nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"), argv[0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option '--%s'\n"), argv[0], d->__nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option '%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar = (char *) ""; d->optind++; d->optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *d->__nextchar++; const char *temp = strchr (optstring, c); /* Increment 'optind' when we start to process its last character. */ if (*d->__nextchar == '\0') ++d->optind; if (temp == NULL || c == ':' || c == ';') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"), argv[0], c); #else fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); #endif #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->optopt = c; return '?'; } /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; if (longopts == NULL) goto no_longs; /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- '%c'\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- '%c'\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented 'd->optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) { if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"), argv[0], d->optarg) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"), argv[0], d->optarg); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("\ %s: option '-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option '-W %s' requires an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("\ %s: option '-W %s' requires an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); return optstring[0] == ':' ? ':' : '?'; } } else d->optarg = NULL; d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } no_longs: d->__nextchar = NULL; return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; d->optind++; } else d->optarg = NULL; d->__nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- '%c'\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- '%c'\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented 'optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; d->__nextchar = NULL; } } return c; } } int _getopt_internal (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, int posixly_correct) { int result; getopt_data.optind = optind; getopt_data.opterr = opterr; result = _getopt_internal_r (argc, argv, optstring, longopts, longind, long_only, &getopt_data, posixly_correct); optind = getopt_data.optind; optarg = getopt_data.optarg; optopt = getopt_data.optopt; return result; } /* glibc gets a LSB-compliant getopt. Standalone applications get a POSIX-compliant getopt. */ #if _LIBC enum { POSIXLY_CORRECT = 0 }; #else enum { POSIXLY_CORRECT = 1 }; #endif int getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, (char **) argv, optstring, (const struct option *) 0, (int *) 0, 0, POSIXLY_CORRECT); } #ifdef _LIBC int __posix_getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0, 1); } #endif #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of 'getopt'. */ int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value '%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/freading.h�����������������������������������������������������������������������0000664�0000000�0000000�00000003616�12071024546�013053� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Retrieve information about a FILE stream. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> #include <stdio.h> /* Return true if the stream STREAM is opened read-only, or if the last operation on the stream was a read operation. Return false if the stream is opened write-only or append-only, or if it supports writing and there is no current read operation (such as fgetc). freading and fwriting will never both be true. If STREAM supports both reads and writes, then: - both freading and fwriting might be false when the stream is first opened, after read encounters EOF, or after fflush, - freading might be false or true and fwriting might be false after repositioning (such as fseek, fsetpos, or rewind), depending on the underlying implementation. STREAM must not be wide-character oriented. */ #if HAVE___FREADING && (!defined __GLIBC__ || defined __UCLIBC__ || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 7)) /* Solaris >= 7, not glibc >= 2.2, but glibc >= 2.7, or musl libc */ # include <stdio_ext.h> # define freading(stream) (__freading (stream) != 0) #else # ifdef __cplusplus extern "C" { # endif extern bool freading (FILE *stream); # ifdef __cplusplus } # endif #endif ������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/randperm.c�����������������������������������������������������������������������0000664�0000000�0000000�00000013635�12102337340�013073� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Generate random permutations. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "hash.h" #include "randperm.h" #include <limits.h> #include <stdlib.h> #include "xalloc.h" /* Return the ceiling of the log base 2 of N. If N is zero, return an unspecified value. */ static size_t _GL_ATTRIBUTE_CONST ceil_lg (size_t n) { size_t b = 0; for (n--; n != 0; n /= 2) b++; return b; } /* Return an upper bound on the number of random bytes needed to generate the first H elements of a random permutation of N elements. H must not exceed N. */ size_t randperm_bound (size_t h, size_t n) { /* Upper bound on number of bits needed to generate the first number of the permutation. */ size_t lg_n = ceil_lg (n); /* Upper bound on number of bits needed to generated the first H elements. */ size_t ar = lg_n * h; /* Convert the bit count to a byte count. */ size_t bound = (ar + CHAR_BIT - 1) / CHAR_BIT; return bound; } /* Swap elements I and J in array V. */ static void swap (size_t *v, size_t i, size_t j) { size_t t = v[i]; v[i] = v[j]; v[j] = t; } /* Structures and functions for a sparse_map abstract data type that's used to effectively swap elements I and J in array V like swap(), but in a more memory efficient manner (when the number of permutations performed is significantly less than the size of the input). */ struct sparse_ent_ { size_t index; size_t val; }; static size_t sparse_hash_ (void const *x, size_t table_size) { struct sparse_ent_ const *ent = x; return ent->index % table_size; } static bool sparse_cmp_ (void const *x, void const *y) { struct sparse_ent_ const *ent1 = x; struct sparse_ent_ const *ent2 = y; return ent1->index == ent2->index; } typedef Hash_table sparse_map; /* Initialize the structure for the sparse map, when a best guess as to the number of entries specified with SIZE_HINT. */ static sparse_map * sparse_new (size_t size_hint) { return hash_initialize (size_hint, NULL, sparse_hash_, sparse_cmp_, free); } /* Swap the values for I and J. If a value is not already present then assume it's equal to the index. Update the value for index I in array V. */ static void sparse_swap (sparse_map *sv, size_t* v, size_t i, size_t j) { struct sparse_ent_ *v1 = hash_delete (sv, &(struct sparse_ent_) {i,0}); struct sparse_ent_ *v2 = hash_delete (sv, &(struct sparse_ent_) {j,0}); /* FIXME: reduce the frequency of these mallocs. */ if (!v1) { v1 = xmalloc (sizeof *v1); v1->index = v1->val = i; } if (!v2) { v2 = xmalloc (sizeof *v2); v2->index = v2->val = j; } size_t t = v1->val; v1->val = v2->val; v2->val = t; if (!hash_insert (sv, v1)) xalloc_die (); if (!hash_insert (sv, v2)) xalloc_die (); v[i] = v1->val; } static void sparse_free (sparse_map *sv) { hash_free (sv); } /* From R, allocate and return a malloc'd array of the first H elements of a random permutation of N elements. H must not exceed N. Return NULL if H is zero. */ size_t * randperm_new (struct randint_source *r, size_t h, size_t n) { size_t *v; switch (h) { case 0: v = NULL; break; case 1: v = xmalloc (sizeof *v); v[0] = randint_choose (r, n); break; default: { /* The algorithm is essentially the same in both the sparse and non sparse case. In the sparse case we use a hash to implement sparse storage for the set of n numbers we're shuffling. When to use the sparse method was determined with the help of this script: #!/bin/sh for n in $(seq 2 32); do for h in $(seq 2 32); do test $h -gt $n && continue for s in o n; do test $s = o && shuf=shuf || shuf=./shuf num=$(env time -f "$s:${h},${n} = %e,%M" \ $shuf -i0-$((2**$n-2)) -n$((2**$h-2)) | wc -l) test $num = $((2**$h-2)) || echo "$s:${h},${n} = failed" >&2 done done done This showed that if sparseness = n/h, then: sparseness = 128 => .125 mem used, and about same speed sparseness = 64 => .25 mem used, but 1.5 times slower sparseness = 32 => .5 mem used, but 2 times slower Also the memory usage was only significant when n > 128Ki */ bool sparse = (n >= (128 * 1024)) && (n / h >= 32); size_t i; sparse_map *sv; if (sparse) { sv = sparse_new (h * 2); if (sv == NULL) xalloc_die (); v = xnmalloc (h, sizeof *v); } else { sv = NULL; /* To placate GCC's -Wuninitialized. */ v = xnmalloc (n, sizeof *v); for (i = 0; i < n; i++) v[i] = i; } for (i = 0; i < h; i++) { size_t j = i + randint_choose (r, n - i); if (sparse) sparse_swap (sv, v, i, j); else swap (v, i, j); } if (sparse) sparse_free (sv); else v = xnrealloc (v, h, sizeof *v); } break; } return v; } ���������������������������������������������������������������������������������������������������coreutils-8.21/lib/bitrotate.c����������������������������������������������������������������������0000664�0000000�0000000�00000000126�12071024545�013254� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <config.h> #define BITROTATE_INLINE _GL_EXTERN_INLINE #include "bitrotate.h" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/propername.c���������������������������������������������������������������������0000664�0000000�0000000�00000023441�12071024546�013435� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Localization of proper names. Copyright (C) 2006-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2006. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that the proper_name function might be candidate for attribute 'const' */ #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ # pragma GCC diagnostic ignored "-Wsuggest-attribute=const" #endif #include <config.h> /* Specification. */ #include "propername.h" #include <ctype.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #if HAVE_ICONV # include <iconv.h> #endif #include "trim.h" #include "mbchar.h" #include "mbuiter.h" #include "localcharset.h" #include "c-strcase.h" #include "xstriconv.h" #include "xalloc.h" #include "gettext.h" /* Tests whether STRING contains trim (SUB), starting and ending at word boundaries. Here, instead of implementing Unicode Standard Annex #29 for determining word boundaries, we assume that trim (SUB) starts and ends with words and only test whether the part before it ends with a non-word and the part after it starts with a non-word. */ static bool mbsstr_trimmed_wordbounded (const char *string, const char *sub) { char *tsub = trim (sub); bool found = false; for (; *string != '\0';) { const char *tsub_in_string = mbsstr (string, tsub); if (tsub_in_string == NULL) break; else { if (MB_CUR_MAX > 1) { mbui_iterator_t string_iter; bool word_boundary_before; bool word_boundary_after; mbui_init (string_iter, string); word_boundary_before = true; if (mbui_cur_ptr (string_iter) < tsub_in_string) { mbchar_t last_char_before_tsub; do { if (!mbui_avail (string_iter)) abort (); last_char_before_tsub = mbui_cur (string_iter); mbui_advance (string_iter); } while (mbui_cur_ptr (string_iter) < tsub_in_string); if (mb_isalnum (last_char_before_tsub)) word_boundary_before = false; } mbui_init (string_iter, tsub_in_string); { mbui_iterator_t tsub_iter; for (mbui_init (tsub_iter, tsub); mbui_avail (tsub_iter); mbui_advance (tsub_iter)) { if (!mbui_avail (string_iter)) abort (); mbui_advance (string_iter); } } word_boundary_after = true; if (mbui_avail (string_iter)) { mbchar_t first_char_after_tsub = mbui_cur (string_iter); if (mb_isalnum (first_char_after_tsub)) word_boundary_after = false; } if (word_boundary_before && word_boundary_after) { found = true; break; } mbui_init (string_iter, tsub_in_string); if (!mbui_avail (string_iter)) break; string = tsub_in_string + mb_len (mbui_cur (string_iter)); } else { bool word_boundary_before; const char *p; bool word_boundary_after; word_boundary_before = true; if (string < tsub_in_string) if (isalnum ((unsigned char) tsub_in_string[-1])) word_boundary_before = false; p = tsub_in_string + strlen (tsub); word_boundary_after = true; if (*p != '\0') if (isalnum ((unsigned char) *p)) word_boundary_after = false; if (word_boundary_before && word_boundary_after) { found = true; break; } if (*tsub_in_string == '\0') break; string = tsub_in_string + 1; } } } free (tsub); return found; } /* Return the localization of NAME. NAME is written in ASCII. */ const char * proper_name (const char *name) { /* See whether there is a translation. */ const char *translation = gettext (name); if (translation != name) { /* See whether the translation contains the original name. */ if (mbsstr_trimmed_wordbounded (translation, name)) return translation; else { /* Return "TRANSLATION (NAME)". */ char *result = XNMALLOC (strlen (translation) + 2 + strlen (name) + 1 + 1, char); sprintf (result, "%s (%s)", translation, name); return result; } } else return name; } /* Return the localization of a name whose original writing is not ASCII. NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal escape sequences. NAME_ASCII is a fallback written only with ASCII characters. */ const char * proper_name_utf8 (const char *name_ascii, const char *name_utf8) { /* See whether there is a translation. */ const char *translation = gettext (name_ascii); /* Try to convert NAME_UTF8 to the locale encoding. */ const char *locale_code = locale_charset (); char *alloc_name_converted = NULL; char *alloc_name_converted_translit = NULL; const char *name_converted = NULL; const char *name_converted_translit = NULL; const char *name; if (c_strcasecmp (locale_code, "UTF-8") != 0) { #if HAVE_ICONV name_converted = alloc_name_converted = xstr_iconv (name_utf8, "UTF-8", locale_code); # if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \ && !defined __UCLIBC__) \ || _LIBICONV_VERSION >= 0x0105 { char *converted_translit; size_t len = strlen (locale_code); char *locale_code_translit = XNMALLOC (len + 10 + 1, char); memcpy (locale_code_translit, locale_code, len); memcpy (locale_code_translit + len, "//TRANSLIT", 10 + 1); converted_translit = xstr_iconv (name_utf8, "UTF-8", locale_code_translit); free (locale_code_translit); if (converted_translit != NULL) { # if !_LIBICONV_VERSION /* Don't use the transliteration if it added question marks. glibc's transliteration falls back to question marks; libiconv's transliteration does not. mbschr is equivalent to strchr in this case. */ if (strchr (converted_translit, '?') != NULL) free (converted_translit); else # endif name_converted_translit = alloc_name_converted_translit = converted_translit; } } # endif #endif } else { name_converted = name_utf8; name_converted_translit = name_utf8; } /* The name in locale encoding. */ name = (name_converted != NULL ? name_converted : name_converted_translit != NULL ? name_converted_translit : name_ascii); /* See whether we have a translation. Some translators have not understood that they should use the UTF-8 form of the name, if possible. So if the translator provided a no-op translation, we ignore it. */ if (strcmp (translation, name_ascii) != 0) { /* See whether the translation contains the original name. */ if (mbsstr_trimmed_wordbounded (translation, name_ascii) || (name_converted != NULL && mbsstr_trimmed_wordbounded (translation, name_converted)) || (name_converted_translit != NULL && mbsstr_trimmed_wordbounded (translation, name_converted_translit))) { if (alloc_name_converted != NULL) free (alloc_name_converted); if (alloc_name_converted_translit != NULL) free (alloc_name_converted_translit); return translation; } else { /* Return "TRANSLATION (NAME)". */ char *result = XNMALLOC (strlen (translation) + 2 + strlen (name) + 1 + 1, char); sprintf (result, "%s (%s)", translation, name); if (alloc_name_converted != NULL) free (alloc_name_converted); if (alloc_name_converted_translit != NULL) free (alloc_name_converted_translit); return result; } } else { if (alloc_name_converted != NULL && alloc_name_converted != name) free (alloc_name_converted); if (alloc_name_converted_translit != NULL && alloc_name_converted_translit != name) free (alloc_name_converted_translit); return name; } } #ifdef TEST1 # include <locale.h> int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); if (mbsstr_trimmed_wordbounded (argv[1], argv[2])) printf("found\n"); return 0; } #endif #ifdef TEST2 # include <locale.h> # include <stdio.h> int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); printf ("%s\n", proper_name_utf8 ("Franc,ois Pinard", "Fran\303\247ois Pinard")); return 0; } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fpending.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001662�12071024546�013065� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Declare __fpending. Copyright (C) 2000, 2003, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Written by Jim Meyering. */ #include <stddef.h> #include <stdio.h> #if HAVE_DECL___FPENDING # if HAVE_STDIO_EXT_H # include <stdio_ext.h> # endif #else size_t __fpending (FILE *); #endif ������������������������������������������������������������������������������coreutils-8.21/lib/same.h���������������������������������������������������������������������������0000664�0000000�0000000�00000001635�12071024546�012220� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine whether two file names refer to the same file. Copyright (C) 1997-2000, 2003-2004, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef SAME_H_ # define SAME_H_ 1 # include <stdbool.h> bool same_name (const char *source, const char *dest); #endif /* SAME_H_ */ ���������������������������������������������������������������������������������������������������coreutils-8.21/lib/strtoll.c������������������������������������������������������������������������0000664�0000000�0000000�00000002110�12071024546�012756� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Function to parse a 'long long int' from text. Copyright (C) 1995-1997, 1999, 2001, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define QUAD 1 #include <strtol.c> #ifdef _LIBC # ifdef SHARED # include <shlib-compat.h> # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) compat_symbol (libc, __strtoll_internal, __strtoq_internal, GLIBC_2_0); # endif # endif weak_alias (strtoll, strtoq) #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sockets.h������������������������������������������������������������������������0000664�0000000�0000000�00000003175�12071024546�012747� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sockets.h - wrappers for Windows socket functions Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Simon Josefsson */ #ifndef SOCKETS_H # define SOCKETS_H 1 #define SOCKETS_1_0 0x100 /* don't use - does not work on Windows XP */ #define SOCKETS_1_1 0x101 #define SOCKETS_2_0 0x200 /* don't use - does not work on Windows XP */ #define SOCKETS_2_1 0x201 #define SOCKETS_2_2 0x202 int gl_sockets_startup (int version) #if !WINDOWS_SOCKETS _GL_ATTRIBUTE_CONST #endif ; int gl_sockets_cleanup (void) #if !WINDOWS_SOCKETS _GL_ATTRIBUTE_CONST #endif ; /* This function is useful it you create a socket using gnulib's Winsock wrappers but needs to pass on the socket handle to some other library that only accepts sockets. */ #if WINDOWS_SOCKETS #include <sys/socket.h> #include "msvc-nothrow.h" static inline SOCKET gl_fd_to_handle (int fd) { return _get_osfhandle (fd); } #else #define gl_fd_to_handle(x) (x) #endif /* WINDOWS_SOCKETS */ #endif /* SOCKETS_H */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/ftruncate.c����������������������������������������������������������������������0000664�0000000�0000000�00000011461�12071024546�013257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ftruncate emulations for native Windows. Copyright (C) 1992-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #if HAVE_CHSIZE /* A native Windows platform. */ # include <errno.h> # if _GL_WINDOWS_64_BIT_OFF_T /* Large File Support: off_t is 64-bit, but chsize() takes only a 32-bit argument. So, define a 64-bit safe SetFileSize function ourselves. */ /* Ensure that <windows.h> declares GetFileSizeEx. */ # undef _WIN32_WINNT # define _WIN32_WINNT 0x500 /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" static BOOL SetFileSize (HANDLE h, LONGLONG size) { LARGE_INTEGER old_size; if (!GetFileSizeEx (h, &old_size)) return FALSE; if (size != old_size.QuadPart) { /* Duplicate the handle, so we are free to modify its file position. */ HANDLE curr_process = GetCurrentProcess (); HANDLE tmph; if (!DuplicateHandle (curr_process, /* SourceProcessHandle */ h, /* SourceHandle */ curr_process, /* TargetProcessHandle */ (PHANDLE) &tmph, /* TargetHandle */ (DWORD) 0, /* DesiredAccess */ FALSE, /* InheritHandle */ DUPLICATE_SAME_ACCESS)) /* Options */ return FALSE; if (size < old_size.QuadPart) { /* Reduce the size. */ LONG size_hi = (LONG) (size >> 32); if (SetFilePointer (tmph, (LONG) size, &size_hi, FILE_BEGIN) == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { CloseHandle (tmph); return FALSE; } if (!SetEndOfFile (tmph)) { CloseHandle (tmph); return FALSE; } } else { /* Increase the size by adding zero bytes at the end. */ static char zero_bytes[1024]; LONG pos_hi = 0; LONG pos_lo = SetFilePointer (tmph, (LONG) 0, &pos_hi, FILE_END); LONGLONG pos; if (pos_lo == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) { CloseHandle (tmph); return FALSE; } pos = ((LONGLONG) pos_hi << 32) | (ULONGLONG) (ULONG) pos_lo; while (pos < size) { DWORD written; LONGLONG count = size - pos; if (count > sizeof (zero_bytes)) count = sizeof (zero_bytes); if (!WriteFile (tmph, zero_bytes, (DWORD) count, &written, NULL) || written == 0) { CloseHandle (tmph); return FALSE; } pos += (ULONGLONG) (ULONG) written; } } /* Close the handle. */ CloseHandle (tmph); } return TRUE; } int ftruncate (int fd, off_t length) { HANDLE handle = (HANDLE) _get_osfhandle (fd); if (handle == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (length < 0) { errno = EINVAL; return -1; } if (!SetFileSize (handle, length)) { switch (GetLastError ()) { case ERROR_ACCESS_DENIED: errno = EACCES; break; case ERROR_HANDLE_DISK_FULL: case ERROR_DISK_FULL: case ERROR_DISK_TOO_FRAGMENTED: errno = ENOSPC; break; default: errno = EIO; break; } return -1; } return 0; } # else # include <io.h> # if HAVE_MSVC_INVALID_PARAMETER_HANDLER # include "msvc-inval.h" static int chsize_nothrow (int fd, long length) { int result; TRY_MSVC_INVAL { result = chsize (fd, length); } CATCH_MSVC_INVAL { result = -1; errno = EBADF; } DONE_MSVC_INVAL; return result; } # define chsize chsize_nothrow # endif int ftruncate (int fd, off_t length) { return chsize (fd, length); } # endif #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/intprops.h�����������������������������������������������������������������������0000664�0000000�0000000�00000035006�12071024546�013150� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* intprops.h -- properties of integer types Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef _GL_INTPROPS_H #define _GL_INTPROPS_H #include <limits.h> /* Return an integer value, converted to the same type as the integer expression E after integer type promotion. V is the unconverted value. */ #define _GL_INT_CONVERT(e, v) (0 * (e) + (v)) /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. */ #define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v)) /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ #define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) #define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) #define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the signed integer expression E uses two's complement. */ #define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1) /* True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* Return 1 if the integer expression E, after integer promotion, has a signed type. */ #define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) /* Minimum and maximum values for integer types and expressions. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ /* The maximum and minimum values for the integer type T. */ #define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ TYPE_MAXIMUM (t))) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) /* The maximum and minimum values for the type of the expression E, after integer promotion. E should not have side effects. */ #define _GL_INT_MINIMUM(e) \ (_GL_INT_SIGNED (e) \ ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \ : _GL_INT_CONVERT (e, 0)) #define _GL_INT_MAXIMUM(e) \ (_GL_INT_SIGNED (e) \ ? _GL_SIGNED_INT_MAXIMUM (e) \ : _GL_INT_NEGATE_CONVERT (e, 1)) #define _GL_SIGNED_INT_MAXIMUM(e) \ (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) /* Return 1 if the __typeof__ keyword works. This could be done by 'configure', but for now it's easier to do it by hand. */ #if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C # define _GL_HAVE___TYPEOF__ 1 #else # define _GL_HAVE___TYPEOF__ 0 #endif /* Return 1 if the integer type or expression T might be signed. Return 0 if it is definitely unsigned. This macro does not evaluate its argument, and expands to an integer constant expression. */ #if _GL_HAVE___TYPEOF__ # define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t)) #else # define _GL_SIGNED_TYPE_OR_EXPR(t) 1 #endif /* Bound on length of the string representing an unsigned integer value representable in B bits. log10 (2.0) < 146/485. The smallest value of B where this bound is not tight is 2621. */ #define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485) /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if T is signed, and then add 1 more for a minus sign if needed. Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is signed, this macro may overestimate the true bound by one byte when applied to unsigned types of size 2, 4, 16, ... bytes. */ #define INT_STRLEN_BOUND(t) \ (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ - _GL_SIGNED_TYPE_OR_EXPR (t)) \ + _GL_SIGNED_TYPE_OR_EXPR (t)) /* Bound on buffer size needed to represent an integer type or expression T, including the terminating null. */ #define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) /* Range overflow checks. The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. They do not rely on undefined or implementation-defined behavior. Their implementations are simple and straightforward, but they are a bit harder to use than the INT_<op>_OVERFLOW macros described below. Example usage: long int i = ...; long int j = ...; if (INT_MULTIPLY_RANGE_OVERFLOW (i, j, LONG_MIN, LONG_MAX)) printf ("multiply would overflow"); else printf ("product is %ld", i * j); Restrictions on *_RANGE_OVERFLOW macros: These macros do not check for all possible numerical problems or undefined or unspecified behavior: they do not check for division by zero, for bad shift counts, or for shifting negative numbers. These macros may evaluate their arguments zero or multiple times, so the arguments should not have side effects. The arithmetic arguments (including the MIN and MAX arguments) must be of the same integer type after the usual arithmetic conversions, and the type must have minimum value MIN and maximum MAX. Unsigned types should use a zero MIN of the proper type. These macros are tuned for constant MIN and MAX. For commutative operations such as A + B, they are also tuned for constant B. */ /* Return 1 if A + B would overflow in [MIN,MAX] arithmetic. See above for restrictions. */ #define INT_ADD_RANGE_OVERFLOW(a, b, min, max) \ ((b) < 0 \ ? (a) < (min) - (b) \ : (max) - (b) < (a)) /* Return 1 if A - B would overflow in [MIN,MAX] arithmetic. See above for restrictions. */ #define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max) \ ((b) < 0 \ ? (max) + (b) < (a) \ : (a) < (min) + (b)) /* Return 1 if - A would overflow in [MIN,MAX] arithmetic. See above for restrictions. */ #define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ ((min) < 0 \ ? (a) < - (max) \ : 0 < (a)) /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Avoid && and || as they tickle bugs in Sun C 5.11 2010/08/13 and other compilers; see <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */ #define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \ ((b) < 0 \ ? ((a) < 0 \ ? (a) < (max) / (b) \ : (b) == -1 \ ? 0 \ : (min) / (b) < (a)) \ : (b) == 0 \ ? 0 \ : ((a) < 0 \ ? (a) < (min) / (b) \ : (max) / (b) < (a))) /* Return 1 if A / B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Do not check for division by zero. */ #define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max) \ ((min) < 0 && (b) == -1 && (a) < - (max)) /* Return 1 if A % B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Do not check for division by zero. Mathematically, % should never overflow, but on x86-like hosts INT_MIN % -1 traps, and the C standard permits this, so treat this as an overflow too. */ #define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max) \ INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max) /* Return 1 if A << B would overflow in [MIN,MAX] arithmetic. See above for restrictions. Here, MIN and MAX are for A only, and B need not be of the same type as the other arguments. The C standard says that behavior is undefined for shifts unless 0 <= B < wordwidth, and that when A is negative then A << B has undefined behavior and A >> B has implementation-defined behavior, but do not check these other restrictions. */ #define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max) \ ((a) < 0 \ ? (a) < (min) >> (b) \ : (max) >> (b) < (a)) /* The _GL*_OVERFLOW macros have the same restrictions as the *_RANGE_OVERFLOW macros, except that they do not assume that operands (e.g., A and B) have the same type as MIN and MAX. Instead, they assume that the result (e.g., A + B) has that type. */ #define _GL_ADD_OVERFLOW(a, b, min, max) \ ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ : (a) < 0 ? (b) <= (a) + (b) \ : (b) < 0 ? (a) <= (a) + (b) \ : (a) + (b) < (b)) #define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max) \ : (a) < 0 ? 1 \ : (b) < 0 ? (a) - (b) <= (a) \ : (a) < (b)) #define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \ || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max)) #define _GL_DIVIDE_OVERFLOW(a, b, min, max) \ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \ : (a) < 0 ? (b) <= (a) + (b) - 1 \ : (b) < 0 && (a) + (b) <= (a)) #define _GL_REMAINDER_OVERFLOW(a, b, min, max) \ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \ : (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \ : (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max)) /* Return a nonzero value if A is a mathematical multiple of B, where A is unsigned, B is negative, and MAX is the maximum value of A's type. A's type must be the same as (A % B)'s type. Normally (A % -B == 0) suffices, but things get tricky if -B would overflow. */ #define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max) \ (((b) < -_GL_SIGNED_INT_MAXIMUM (b) \ ? (_GL_SIGNED_INT_MAXIMUM (b) == (max) \ ? (a) \ : (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1)) \ : (a) % - (b)) \ == 0) /* Integer overflow checks. The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. They work correctly on all known practical hosts, and do not rely on undefined behavior due to signed arithmetic overflow. Example usage: long int i = ...; long int j = ...; if (INT_MULTIPLY_OVERFLOW (i, j)) printf ("multiply would overflow"); else printf ("product is %ld", i * j); These macros do not check for all possible numerical problems or undefined or unspecified behavior: they do not check for division by zero, for bad shift counts, or for shifting negative numbers. These macros may evaluate their arguments zero or multiple times, so the arguments should not have side effects. These macros are tuned for their last argument being a constant. Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, A % B, and A << B would overflow, respectively. */ #define INT_ADD_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) #define INT_SUBTRACT_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) #define INT_NEGATE_OVERFLOW(a) \ INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) #define INT_MULTIPLY_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW) #define INT_DIVIDE_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW) #define INT_REMAINDER_OVERFLOW(a, b) \ _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW) #define INT_LEFT_SHIFT_OVERFLOW(a, b) \ INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, \ _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) /* Return 1 if the expression A <op> B would overflow, where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test, assuming MIN and MAX are the minimum and maximum for the result type. Arguments should be free of side effects. */ #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \ op_result_overflow (a, b, \ _GL_INT_MINIMUM (0 * (b) + (a)), \ _GL_INT_MAXIMUM (0 * (b) + (a))) #endif /* _GL_INTPROPS_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/nproc.c��������������������������������������������������������������������������0000664�0000000�0000000�00000023356�12071561011�012404� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Detect the number of processors. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Glen Lenker and Bruno Haible. */ #include <config.h> #include "nproc.h" #include <stdlib.h> #include <unistd.h> #if HAVE_PTHREAD_GETAFFINITY_NP && 0 # include <pthread.h> # include <sched.h> #endif #if HAVE_SCHED_GETAFFINITY_LIKE_GLIBC || HAVE_SCHED_GETAFFINITY_NP # include <sched.h> #endif #include <sys/types.h> #if HAVE_SYS_PSTAT_H # include <sys/pstat.h> #endif #if HAVE_SYS_SYSMP_H # include <sys/sysmp.h> #endif #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif #if HAVE_SYS_SYSCTL_H # include <sys/sysctl.h> #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include <windows.h> #endif #include "c-ctype.h" #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) /* Return the number of processors available to the current process, based on a modern system call that returns the "affinity" between the current process and each CPU. Return 0 if unknown or if such a system call does not exist. */ static unsigned long num_processors_via_affinity_mask (void) { /* glibc >= 2.3.3 with NPTL and NetBSD 5 have pthread_getaffinity_np, but with different APIs. Also it requires linking with -lpthread. Therefore this code is not enabled. glibc >= 2.3.4 has sched_getaffinity whereas NetBSD 5 has sched_getaffinity_np. */ #if HAVE_PTHREAD_GETAFFINITY_NP && defined __GLIBC__ && 0 { cpu_set_t set; if (pthread_getaffinity_np (pthread_self (), sizeof (set), &set) == 0) { unsigned long count; # ifdef CPU_COUNT /* glibc >= 2.6 has the CPU_COUNT macro. */ count = CPU_COUNT (&set); # else size_t i; count = 0; for (i = 0; i < CPU_SETSIZE; i++) if (CPU_ISSET (i, &set)) count++; # endif if (count > 0) return count; } } #elif HAVE_PTHREAD_GETAFFINITY_NP && defined __NetBSD__ && 0 { cpuset_t *set; set = cpuset_create (); if (set != NULL) { unsigned long count = 0; if (pthread_getaffinity_np (pthread_self (), cpuset_size (set), set) == 0) { cpuid_t i; for (i = 0;; i++) { int ret = cpuset_isset (i, set); if (ret < 0) break; if (ret > 0) count++; } } cpuset_destroy (set); if (count > 0) return count; } } #elif HAVE_SCHED_GETAFFINITY_LIKE_GLIBC /* glibc >= 2.3.4 */ { cpu_set_t set; if (sched_getaffinity (0, sizeof (set), &set) == 0) { unsigned long count; # ifdef CPU_COUNT /* glibc >= 2.6 has the CPU_COUNT macro. */ count = CPU_COUNT (&set); # else size_t i; count = 0; for (i = 0; i < CPU_SETSIZE; i++) if (CPU_ISSET (i, &set)) count++; # endif if (count > 0) return count; } } #elif HAVE_SCHED_GETAFFINITY_NP /* NetBSD >= 5 */ { cpuset_t *set; set = cpuset_create (); if (set != NULL) { unsigned long count = 0; if (sched_getaffinity_np (getpid (), cpuset_size (set), set) == 0) { cpuid_t i; for (i = 0;; i++) { int ret = cpuset_isset (i, set); if (ret < 0) break; if (ret > 0) count++; } } cpuset_destroy (set); if (count > 0) return count; } } #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { /* This works on native Windows platforms. */ DWORD_PTR process_mask; DWORD_PTR system_mask; if (GetProcessAffinityMask (GetCurrentProcess (), &process_mask, &system_mask)) { DWORD_PTR mask = process_mask; unsigned long count = 0; for (; mask != 0; mask = mask >> 1) if (mask & 1) count++; if (count > 0) return count; } } #endif return 0; } unsigned long int num_processors (enum nproc_query query) { if (query == NPROC_CURRENT_OVERRIDABLE) { /* Test the environment variable OMP_NUM_THREADS, recognized also by all programs that are based on OpenMP. The OpenMP spec says that the value assigned to the environment variable "may have leading and trailing white space". */ const char *envvalue = getenv ("OMP_NUM_THREADS"); if (envvalue != NULL) { while (*envvalue != '\0' && c_isspace (*envvalue)) envvalue++; /* Convert it from decimal to 'unsigned long'. */ if (c_isdigit (*envvalue)) { char *endptr = NULL; unsigned long int value = strtoul (envvalue, &endptr, 10); if (endptr != NULL) { while (*endptr != '\0' && c_isspace (*endptr)) endptr++; if (*endptr == '\0') return (value > 0 ? value : 1); } } } query = NPROC_CURRENT; } /* Here query is one of NPROC_ALL, NPROC_CURRENT. */ /* On systems with a modern affinity mask system call, we have sysconf (_SC_NPROCESSORS_CONF) >= sysconf (_SC_NPROCESSORS_ONLN) >= num_processors_via_affinity_mask () The first number is the number of CPUs configured in the system. The second number is the number of CPUs available to the scheduler. The third number is the number of CPUs available to the current process. Note! On Linux systems with glibc, the first and second number come from the /sys and /proc file systems (see glibc/sysdeps/unix/sysv/linux/getsysstats.c). In some situations these file systems are not mounted, and the sysconf call returns 1, which does not reflect the reality. */ if (query == NPROC_CURRENT) { /* Try the modern affinity mask system call. */ { unsigned long nprocs = num_processors_via_affinity_mask (); if (nprocs > 0) return nprocs; } #if defined _SC_NPROCESSORS_ONLN { /* This works on glibc, Mac OS X 10.5, FreeBSD, AIX, OSF/1, Solaris, Cygwin, Haiku. */ long int nprocs = sysconf (_SC_NPROCESSORS_ONLN); if (nprocs > 0) return nprocs; } #endif } else /* query == NPROC_ALL */ { #if defined _SC_NPROCESSORS_CONF { /* This works on glibc, Mac OS X 10.5, FreeBSD, AIX, OSF/1, Solaris, Cygwin, Haiku. */ long int nprocs = sysconf (_SC_NPROCESSORS_CONF); # if __GLIBC__ >= 2 && defined __linux__ /* On Linux systems with glibc, this information comes from the /sys and /proc file systems (see glibc/sysdeps/unix/sysv/linux/getsysstats.c). In some situations these file systems are not mounted, and the sysconf call returns 1. But we wish to guarantee that num_processors (NPROC_ALL) >= num_processors (NPROC_CURRENT). */ if (nprocs == 1) { unsigned long nprocs_current = num_processors_via_affinity_mask (); if (nprocs_current > 0) nprocs = nprocs_current; } # endif if (nprocs > 0) return nprocs; } #endif } #if HAVE_PSTAT_GETDYNAMIC { /* This works on HP-UX. */ struct pst_dynamic psd; if (pstat_getdynamic (&psd, sizeof psd, 1, 0) >= 0) { /* The field psd_proc_cnt contains the number of active processors. In newer releases of HP-UX 11, the field psd_max_proc_cnt includes deactivated processors. */ if (query == NPROC_CURRENT) { if (psd.psd_proc_cnt > 0) return psd.psd_proc_cnt; } else { if (psd.psd_max_proc_cnt > 0) return psd.psd_max_proc_cnt; } } } #endif #if HAVE_SYSMP && defined MP_NAPROCS && defined MP_NPROCS { /* This works on IRIX. */ /* MP_NPROCS yields the number of installed processors. MP_NAPROCS yields the number of processors available to unprivileged processes. */ int nprocs = sysmp (query == NPROC_CURRENT && getpid () != 0 ? MP_NAPROCS : MP_NPROCS); if (nprocs > 0) return nprocs; } #endif /* Finally, as fallback, use the APIs that don't distinguish between NPROC_CURRENT and NPROC_ALL. */ #if HAVE_SYSCTL && defined HW_NCPU { /* This works on Mac OS X, FreeBSD, NetBSD, OpenBSD. */ int nprocs; size_t len = sizeof (nprocs); static int mib[2] = { CTL_HW, HW_NCPU }; if (sysctl (mib, ARRAY_SIZE (mib), &nprocs, &len, NULL, 0) == 0 && len == sizeof (nprocs) && 0 < nprocs) return nprocs; } #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { /* This works on native Windows platforms. */ SYSTEM_INFO system_info; GetSystemInfo (&system_info); if (0 < system_info.dwNumberOfProcessors) return system_info.dwNumberOfProcessors; } #endif return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/gethostname.c��������������������������������������������������������������������0000664�0000000�0000000�00000005371�12071024546�013605� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* gethostname emulation for SysV and POSIX.1. Copyright (C) 1992, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* David MacKenzie <djm@gnu.ai.mit.edu> Windows port by Simon Josefsson <simon@josefsson.org> */ #include <config.h> #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) /* Unix API. */ /* Specification. */ #include <unistd.h> #ifdef HAVE_UNAME # include <sys/utsname.h> #endif #include <string.h> /* Put up to LEN chars of the host name into NAME. Null terminate it if the name is shorter than LEN. Return 0 if ok, -1 if error. */ #include <stddef.h> int gethostname (char *name, size_t len) { #ifdef HAVE_UNAME struct utsname uts; if (uname (&uts) == -1) return -1; if (len > sizeof (uts.nodename)) { /* More space than we need is available. */ name[sizeof (uts.nodename)] = '\0'; len = sizeof (uts.nodename); } strncpy (name, uts.nodename, len); #else strcpy (name, ""); /* Hardcode your system name if you want. */ #endif return 0; } #else /* Native Windows API. Which primitive to choose? - gethostname() requires linking with -lws2_32. - GetComputerName() does not return the right kind of hostname. - GetComputerNameEx(ComputerNameDnsHostname,...) returns the right hostname, but it is hard to use portably: - It requires defining _WIN32_WINNT to at least 0x0500. - With mingw, it also requires "#define GetComputerNameEx GetComputerNameExA". - With older versions of mingw, none of the declarations are present at all, not even of the enum value ComputerNameDnsHostname. So we use gethostname(). Linking with -lws2_32 is the least evil. */ #define WIN32_LEAN_AND_MEAN /* Get winsock2.h. */ #include <unistd.h> /* Get INT_MAX. */ #include <limits.h> /* Get set_winsock_errno. */ #include "w32sock.h" #include "sockets.h" #undef gethostname int rpl_gethostname (char *name, size_t len) { int r; if (len > INT_MAX) len = INT_MAX; gl_sockets_startup (SOCKETS_1_1); r = gethostname (name, (int) len); if (r < 0) set_winsock_errno (); return r; } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_socket.in.h������������������������������������������������������������������0000664�0000000�0000000�00000054372�12071561014�014070� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Provide a sys/socket header file for systems lacking it (read: MinGW) and for systems where it is incomplete. Copyright (C) 2005-2013 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* This file is supposed to be used on platforms that lack <sys/socket.h>, on platforms where <sys/socket.h> cannot be included standalone, and on platforms where <sys/socket.h> does not provide all necessary definitions. It is intended to provide definitions and prototypes needed by an application. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if defined _GL_ALREADY_INCLUDING_SYS_SOCKET_H /* Special invocation convention: - On Cygwin 1.5.x we have a sequence of nested includes <sys/socket.h> -> <cygwin/socket.h> -> <asm/socket.h> -> <cygwin/if.h>, and the latter includes <sys/socket.h>. In this situation, the functions are not yet declared, therefore we cannot provide the C++ aliases. */ #@INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_SYS_SOCKET_H #if @HAVE_SYS_SOCKET_H@ # define _GL_ALREADY_INCLUDING_SYS_SOCKET_H /* On many platforms, <sys/socket.h> assumes prior inclusion of <sys/types.h>. */ # include <sys/types.h> /* On FreeBSD 6.4, <sys/socket.h> defines some macros that assume that NULL is defined. */ # include <stddef.h> /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ # undef _GL_ALREADY_INCLUDING_SYS_SOCKET_H #endif #ifndef _@GUARD_PREFIX@_SYS_SOCKET_H #define _@GUARD_PREFIX@_SYS_SOCKET_H _GL_INLINE_HEADER_BEGIN #ifndef _GL_SYS_SOCKET_INLINE # define _GL_SYS_SOCKET_INLINE _GL_INLINE #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ #if !@HAVE_SA_FAMILY_T@ # if !GNULIB_defined_sa_family_t typedef unsigned short sa_family_t; # define GNULIB_defined_sa_family_t 1 # endif #endif #if @HAVE_STRUCT_SOCKADDR_STORAGE@ /* Make the 'struct sockaddr_storage' field 'ss_family' visible on AIX 7.1. */ # if !@HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@ # ifndef ss_family # define ss_family __ss_family # endif # endif #else # include <stdalign.h> /* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on 2009-05-08, licensed under LGPLv2.1+, plus portability fixes. */ # define __ss_aligntype unsigned long int # define _SS_SIZE 256 # define _SS_PADSIZE \ (_SS_SIZE - ((sizeof (sa_family_t) >= alignof (__ss_aligntype) \ ? sizeof (sa_family_t) \ : alignof (__ss_aligntype)) \ + sizeof (__ss_aligntype))) # if !GNULIB_defined_struct_sockaddr_storage struct sockaddr_storage { sa_family_t ss_family; /* Address family, etc. */ __ss_aligntype __ss_align; /* Force desired alignment. */ char __ss_padding[_SS_PADSIZE]; }; # define GNULIB_defined_struct_sockaddr_storage 1 # endif #endif /* Get struct iovec. */ /* But avoid namespace pollution on glibc systems. */ #if ! defined __GLIBC__ # include <sys/uio.h> #endif #if @HAVE_SYS_SOCKET_H@ /* A platform that has <sys/socket.h>. */ /* For shutdown(). */ # if !defined SHUT_RD # define SHUT_RD 0 # endif # if !defined SHUT_WR # define SHUT_WR 1 # endif # if !defined SHUT_RDWR # define SHUT_RDWR 2 # endif #else # ifdef __CYGWIN__ # error "Cygwin does have a sys/socket.h, doesn't it?!?" # endif /* A platform that lacks <sys/socket.h>. Currently only MinGW is supported. See the gnulib manual regarding Windows sockets. MinGW has the header files winsock2.h and ws2tcpip.h that declare the sys/socket.h definitions we need. Note that you can influence which definitions you get by setting the WINVER symbol before including these two files. For example, getaddrinfo is only available if _WIN32_WINNT >= 0x0501 (that symbol is set indirectly through WINVER). You can set this by adding AC_DEFINE(WINVER, 0x0501) to configure.ac. Note that your code may not run on older Windows releases then. My Windows 2000 box was not able to run the code, for example. The situation is slightly confusing because <http://msdn.microsoft.com/en-us/library/ms738520> suggests that getaddrinfo should be available on all Windows releases. */ # if @HAVE_WINSOCK2_H@ # include <winsock2.h> # endif # if @HAVE_WS2TCPIP_H@ # include <ws2tcpip.h> # endif /* For shutdown(). */ # if !defined SHUT_RD && defined SD_RECEIVE # define SHUT_RD SD_RECEIVE # endif # if !defined SHUT_WR && defined SD_SEND # define SHUT_WR SD_SEND # endif # if !defined SHUT_RDWR && defined SD_BOTH # define SHUT_RDWR SD_BOTH # endif # if @HAVE_WINSOCK2_H@ /* Include headers needed by the emulation code. */ # include <sys/types.h> # include <io.h> # if !GNULIB_defined_socklen_t typedef int socklen_t; # define GNULIB_defined_socklen_t 1 # endif # endif /* Rudimentary 'struct msghdr'; this works as long as you don't try to access msg_control or msg_controllen. */ struct msghdr { void *msg_name; socklen_t msg_namelen; struct iovec *msg_iov; int msg_iovlen; int msg_flags; }; #endif /* Fix some definitions from <winsock2.h>. */ #if @HAVE_WINSOCK2_H@ # if !GNULIB_defined_rpl_fd_isset /* Re-define FD_ISSET to avoid a WSA call while we are not using network sockets. */ _GL_SYS_SOCKET_INLINE int rpl_fd_isset (SOCKET fd, fd_set * set) { u_int i; if (set == NULL) return 0; for (i = 0; i < set->fd_count; i++) if (set->fd_array[i] == fd) return 1; return 0; } # define GNULIB_defined_rpl_fd_isset 1 # endif # undef FD_ISSET # define FD_ISSET(fd, set) rpl_fd_isset(fd, set) #endif /* Hide some function declarations from <winsock2.h>. */ #if @HAVE_WINSOCK2_H@ # if !defined _@GUARD_PREFIX@_UNISTD_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close close_used_without_including_unistd_h # else _GL_WARN_ON_USE (close, "close() used without including <unistd.h>"); # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname gethostname_used_without_including_unistd_h # else _GL_WARN_ON_USE (gethostname, "gethostname() used without including <unistd.h>"); # endif # endif # if !defined _@GUARD_PREFIX@_SYS_SELECT_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef select # define select select_used_without_including_sys_select_h # else _GL_WARN_ON_USE (select, "select() used without including <sys/select.h>"); # endif # endif #endif /* Wrap everything else to use libc file descriptors for sockets. */ #if @GNULIB_SOCKET@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef socket # define socket rpl_socket # endif _GL_FUNCDECL_RPL (socket, int, (int domain, int type, int protocol)); _GL_CXXALIAS_RPL (socket, int, (int domain, int type, int protocol)); # else _GL_CXXALIAS_SYS (socket, int, (int domain, int type, int protocol)); # endif _GL_CXXALIASWARN (socket); #elif @HAVE_WINSOCK2_H@ # undef socket # define socket socket_used_without_requesting_gnulib_module_socket #elif defined GNULIB_POSIXCHECK # undef socket # if HAVE_RAW_DECL_SOCKET _GL_WARN_ON_USE (socket, "socket is not always POSIX compliant - " "use gnulib module socket for portability"); # endif #endif #if @GNULIB_CONNECT@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef connect # define connect rpl_connect # endif _GL_FUNCDECL_RPL (connect, int, (int fd, const struct sockaddr *addr, socklen_t addrlen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (connect, int, (int fd, const struct sockaddr *addr, socklen_t addrlen)); # else /* Need to cast, because on NonStop Kernel, the third parameter is size_t addrlen. */ _GL_CXXALIAS_SYS_CAST (connect, int, (int fd, const struct sockaddr *addr, socklen_t addrlen)); # endif _GL_CXXALIASWARN (connect); #elif @HAVE_WINSOCK2_H@ # undef connect # define connect socket_used_without_requesting_gnulib_module_connect #elif defined GNULIB_POSIXCHECK # undef connect # if HAVE_RAW_DECL_CONNECT _GL_WARN_ON_USE (connect, "connect is not always POSIX compliant - " "use gnulib module connect for portability"); # endif #endif #if @GNULIB_ACCEPT@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef accept # define accept rpl_accept # endif _GL_FUNCDECL_RPL (accept, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); _GL_CXXALIAS_RPL (accept, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is void *addrlen. */ _GL_CXXALIAS_SYS_CAST (accept, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # endif _GL_CXXALIASWARN (accept); #elif @HAVE_WINSOCK2_H@ # undef accept # define accept accept_used_without_requesting_gnulib_module_accept #elif defined GNULIB_POSIXCHECK # undef accept # if HAVE_RAW_DECL_ACCEPT _GL_WARN_ON_USE (accept, "accept is not always POSIX compliant - " "use gnulib module accept for portability"); # endif #endif #if @GNULIB_BIND@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef bind # define bind rpl_bind # endif _GL_FUNCDECL_RPL (bind, int, (int fd, const struct sockaddr *addr, socklen_t addrlen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (bind, int, (int fd, const struct sockaddr *addr, socklen_t addrlen)); # else /* Need to cast, because on NonStop Kernel, the third parameter is size_t addrlen. */ _GL_CXXALIAS_SYS_CAST (bind, int, (int fd, const struct sockaddr *addr, socklen_t addrlen)); # endif _GL_CXXALIASWARN (bind); #elif @HAVE_WINSOCK2_H@ # undef bind # define bind bind_used_without_requesting_gnulib_module_bind #elif defined GNULIB_POSIXCHECK # undef bind # if HAVE_RAW_DECL_BIND _GL_WARN_ON_USE (bind, "bind is not always POSIX compliant - " "use gnulib module bind for portability"); # endif #endif #if @GNULIB_GETPEERNAME@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getpeername # define getpeername rpl_getpeername # endif _GL_FUNCDECL_RPL (getpeername, int, (int fd, struct sockaddr *addr, socklen_t *addrlen) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (getpeername, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is void *addrlen. */ _GL_CXXALIAS_SYS_CAST (getpeername, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # endif _GL_CXXALIASWARN (getpeername); #elif @HAVE_WINSOCK2_H@ # undef getpeername # define getpeername getpeername_used_without_requesting_gnulib_module_getpeername #elif defined GNULIB_POSIXCHECK # undef getpeername # if HAVE_RAW_DECL_GETPEERNAME _GL_WARN_ON_USE (getpeername, "getpeername is not always POSIX compliant - " "use gnulib module getpeername for portability"); # endif #endif #if @GNULIB_GETSOCKNAME@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getsockname # define getsockname rpl_getsockname # endif _GL_FUNCDECL_RPL (getsockname, int, (int fd, struct sockaddr *addr, socklen_t *addrlen) _GL_ARG_NONNULL ((2, 3))); _GL_CXXALIAS_RPL (getsockname, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # else /* Need to cast, because on Solaris 10 systems, the third parameter is void *addrlen. */ _GL_CXXALIAS_SYS_CAST (getsockname, int, (int fd, struct sockaddr *addr, socklen_t *addrlen)); # endif _GL_CXXALIASWARN (getsockname); #elif @HAVE_WINSOCK2_H@ # undef getsockname # define getsockname getsockname_used_without_requesting_gnulib_module_getsockname #elif defined GNULIB_POSIXCHECK # undef getsockname # if HAVE_RAW_DECL_GETSOCKNAME _GL_WARN_ON_USE (getsockname, "getsockname is not always POSIX compliant - " "use gnulib module getsockname for portability"); # endif #endif #if @GNULIB_GETSOCKOPT@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef getsockopt # define getsockopt rpl_getsockopt # endif _GL_FUNCDECL_RPL (getsockopt, int, (int fd, int level, int optname, void *optval, socklen_t *optlen) _GL_ARG_NONNULL ((4, 5))); _GL_CXXALIAS_RPL (getsockopt, int, (int fd, int level, int optname, void *optval, socklen_t *optlen)); # else /* Need to cast, because on Solaris 10 systems, the fifth parameter is void *optlen. */ _GL_CXXALIAS_SYS_CAST (getsockopt, int, (int fd, int level, int optname, void *optval, socklen_t *optlen)); # endif _GL_CXXALIASWARN (getsockopt); #elif @HAVE_WINSOCK2_H@ # undef getsockopt # define getsockopt getsockopt_used_without_requesting_gnulib_module_getsockopt #elif defined GNULIB_POSIXCHECK # undef getsockopt # if HAVE_RAW_DECL_GETSOCKOPT _GL_WARN_ON_USE (getsockopt, "getsockopt is not always POSIX compliant - " "use gnulib module getsockopt for portability"); # endif #endif #if @GNULIB_LISTEN@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef listen # define listen rpl_listen # endif _GL_FUNCDECL_RPL (listen, int, (int fd, int backlog)); _GL_CXXALIAS_RPL (listen, int, (int fd, int backlog)); # else _GL_CXXALIAS_SYS (listen, int, (int fd, int backlog)); # endif _GL_CXXALIASWARN (listen); #elif @HAVE_WINSOCK2_H@ # undef listen # define listen listen_used_without_requesting_gnulib_module_listen #elif defined GNULIB_POSIXCHECK # undef listen # if HAVE_RAW_DECL_LISTEN _GL_WARN_ON_USE (listen, "listen is not always POSIX compliant - " "use gnulib module listen for portability"); # endif #endif #if @GNULIB_RECV@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef recv # define recv rpl_recv # endif _GL_FUNCDECL_RPL (recv, ssize_t, (int fd, void *buf, size_t len, int flags) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (recv, ssize_t, (int fd, void *buf, size_t len, int flags)); # else _GL_CXXALIAS_SYS (recv, ssize_t, (int fd, void *buf, size_t len, int flags)); # endif _GL_CXXALIASWARN (recv); #elif @HAVE_WINSOCK2_H@ # undef recv # define recv recv_used_without_requesting_gnulib_module_recv #elif defined GNULIB_POSIXCHECK # undef recv # if HAVE_RAW_DECL_RECV _GL_WARN_ON_USE (recv, "recv is not always POSIX compliant - " "use gnulib module recv for portability"); # endif #endif #if @GNULIB_SEND@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef send # define send rpl_send # endif _GL_FUNCDECL_RPL (send, ssize_t, (int fd, const void *buf, size_t len, int flags) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (send, ssize_t, (int fd, const void *buf, size_t len, int flags)); # else _GL_CXXALIAS_SYS (send, ssize_t, (int fd, const void *buf, size_t len, int flags)); # endif _GL_CXXALIASWARN (send); #elif @HAVE_WINSOCK2_H@ # undef send # define send send_used_without_requesting_gnulib_module_send #elif defined GNULIB_POSIXCHECK # undef send # if HAVE_RAW_DECL_SEND _GL_WARN_ON_USE (send, "send is not always POSIX compliant - " "use gnulib module send for portability"); # endif #endif #if @GNULIB_RECVFROM@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef recvfrom # define recvfrom rpl_recvfrom # endif _GL_FUNCDECL_RPL (recvfrom, ssize_t, (int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (recvfrom, ssize_t, (int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)); # else /* Need to cast, because on Solaris 10 systems, the sixth parameter is void *fromlen. */ _GL_CXXALIAS_SYS_CAST (recvfrom, ssize_t, (int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)); # endif _GL_CXXALIASWARN (recvfrom); #elif @HAVE_WINSOCK2_H@ # undef recvfrom # define recvfrom recvfrom_used_without_requesting_gnulib_module_recvfrom #elif defined GNULIB_POSIXCHECK # undef recvfrom # if HAVE_RAW_DECL_RECVFROM _GL_WARN_ON_USE (recvfrom, "recvfrom is not always POSIX compliant - " "use gnulib module recvfrom for portability"); # endif #endif #if @GNULIB_SENDTO@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef sendto # define sendto rpl_sendto # endif _GL_FUNCDECL_RPL (sendto, ssize_t, (int fd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) _GL_ARG_NONNULL ((2))); _GL_CXXALIAS_RPL (sendto, ssize_t, (int fd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen)); # else /* Need to cast, because on NonStop Kernel, the sixth parameter is size_t tolen. */ _GL_CXXALIAS_SYS_CAST (sendto, ssize_t, (int fd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen)); # endif _GL_CXXALIASWARN (sendto); #elif @HAVE_WINSOCK2_H@ # undef sendto # define sendto sendto_used_without_requesting_gnulib_module_sendto #elif defined GNULIB_POSIXCHECK # undef sendto # if HAVE_RAW_DECL_SENDTO _GL_WARN_ON_USE (sendto, "sendto is not always POSIX compliant - " "use gnulib module sendto for portability"); # endif #endif #if @GNULIB_SETSOCKOPT@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef setsockopt # define setsockopt rpl_setsockopt # endif _GL_FUNCDECL_RPL (setsockopt, int, (int fd, int level, int optname, const void * optval, socklen_t optlen) _GL_ARG_NONNULL ((4))); _GL_CXXALIAS_RPL (setsockopt, int, (int fd, int level, int optname, const void * optval, socklen_t optlen)); # else /* Need to cast, because on NonStop Kernel, the fifth parameter is size_t optlen. */ _GL_CXXALIAS_SYS_CAST (setsockopt, int, (int fd, int level, int optname, const void * optval, socklen_t optlen)); # endif _GL_CXXALIASWARN (setsockopt); #elif @HAVE_WINSOCK2_H@ # undef setsockopt # define setsockopt setsockopt_used_without_requesting_gnulib_module_setsockopt #elif defined GNULIB_POSIXCHECK # undef setsockopt # if HAVE_RAW_DECL_SETSOCKOPT _GL_WARN_ON_USE (setsockopt, "setsockopt is not always POSIX compliant - " "use gnulib module setsockopt for portability"); # endif #endif #if @GNULIB_SHUTDOWN@ # if @HAVE_WINSOCK2_H@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef shutdown # define shutdown rpl_shutdown # endif _GL_FUNCDECL_RPL (shutdown, int, (int fd, int how)); _GL_CXXALIAS_RPL (shutdown, int, (int fd, int how)); # else _GL_CXXALIAS_SYS (shutdown, int, (int fd, int how)); # endif _GL_CXXALIASWARN (shutdown); #elif @HAVE_WINSOCK2_H@ # undef shutdown # define shutdown shutdown_used_without_requesting_gnulib_module_shutdown #elif defined GNULIB_POSIXCHECK # undef shutdown # if HAVE_RAW_DECL_SHUTDOWN _GL_WARN_ON_USE (shutdown, "shutdown is not always POSIX compliant - " "use gnulib module shutdown for portability"); # endif #endif #if @GNULIB_ACCEPT4@ /* Accept a connection on a socket, with specific opening flags. The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>) and O_TEXT, O_BINARY (defined in "binary-io.h"). See also the Linux man page at <http://www.kernel.org/doc/man-pages/online/pages/man2/accept4.2.html>. */ # if @HAVE_ACCEPT4@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define accept4 rpl_accept4 # endif _GL_FUNCDECL_RPL (accept4, int, (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)); _GL_CXXALIAS_RPL (accept4, int, (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)); # else _GL_FUNCDECL_SYS (accept4, int, (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)); _GL_CXXALIAS_SYS (accept4, int, (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)); # endif _GL_CXXALIASWARN (accept4); #elif defined GNULIB_POSIXCHECK # undef accept4 # if HAVE_RAW_DECL_ACCEPT4 _GL_WARN_ON_USE (accept4, "accept4 is unportable - " "use gnulib module accept4 for portability"); # endif #endif _GL_INLINE_HEADER_END #endif /* _@GUARD_PREFIX@_SYS_SOCKET_H */ #endif /* _@GUARD_PREFIX@_SYS_SOCKET_H */ #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/spawni.c�������������������������������������������������������������������������0000664�0000000�0000000�00000025106�12071024546�012566� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Guts of POSIX spawn interface. Generic POSIX.1 version. Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <spawn.h> #include "spawn_int.h" #include <alloca.h> #include <errno.h> #include <fcntl.h> #ifndef O_LARGEFILE # define O_LARGEFILE 0 #endif #if _LIBC || HAVE_PATHS_H # include <paths.h> #else # define _PATH_BSHELL "/bin/sh" #endif #include <signal.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #if _LIBC # include <not-cancel.h> #else # define close_not_cancel close # define open_not_cancel open #endif #if _LIBC # include <local-setxid.h> #else # if !HAVE_SETEUID # define seteuid(id) setresuid (-1, id, -1) # endif # if !HAVE_SETEGID # define setegid(id) setresgid (-1, id, -1) # endif # define local_seteuid(id) seteuid (id) # define local_setegid(id) setegid (id) #endif #if _LIBC # define alloca __alloca # define execve __execve # define dup2 __dup2 # define fork __fork # define getgid __getgid # define getuid __getuid # define sched_setparam __sched_setparam # define sched_setscheduler __sched_setscheduler # define setpgid __setpgid # define sigaction __sigaction # define sigismember __sigismember # define sigprocmask __sigprocmask # define strchrnul __strchrnul # define vfork __vfork #else # undef internal_function # define internal_function /* empty */ #endif /* The Unix standard contains a long explanation of the way to signal an error after the fork() was successful. Since no new wait status was wanted there is no way to signal an error using one of the available methods. The committee chose to signal an error by a normal program exit with the exit code 127. */ #define SPAWN_ERROR 127 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Native Windows API. */ int __spawni (pid_t *pid, const char *file, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *attrp, char *const argv[], char *const envp[], int use_path) { /* Not yet implemented. */ return ENOSYS; } #else /* The file is accessible but it is not an executable file. Invoke the shell to interpret it as a script. */ static void internal_function script_execute (const char *file, char *const argv[], char *const envp[]) { /* Count the arguments. */ int argc = 0; while (argv[argc++]) ; /* Construct an argument list for the shell. */ { char **new_argv = (char **) alloca ((argc + 1) * sizeof (char *)); new_argv[0] = (char *) _PATH_BSHELL; new_argv[1] = (char *) file; while (argc > 1) { new_argv[argc] = argv[argc - 1]; --argc; } /* Execute the shell. */ execve (new_argv[0], new_argv, envp); } } /* Spawn a new process executing PATH with the attributes describes in *ATTRP. Before running the process perform the actions described in FILE-ACTIONS. */ int __spawni (pid_t *pid, const char *file, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *attrp, char *const argv[], char *const envp[], int use_path) { pid_t new_pid; char *path, *p, *name; size_t len; size_t pathlen; /* Do this once. */ short int flags = attrp == NULL ? 0 : attrp->_flags; /* Avoid gcc warning "variable 'flags' might be clobbered by 'longjmp' or 'vfork'" */ (void) &flags; /* Generate the new process. */ #if HAVE_VFORK if ((flags & POSIX_SPAWN_USEVFORK) != 0 /* If no major work is done, allow using vfork. Note that we might perform the path searching. But this would be done by a call to execvp(), too, and such a call must be OK according to POSIX. */ || ((flags & (POSIX_SPAWN_SETSIGMASK | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER | POSIX_SPAWN_SETPGROUP | POSIX_SPAWN_RESETIDS)) == 0 && file_actions == NULL)) new_pid = vfork (); else #endif new_pid = fork (); if (new_pid != 0) { if (new_pid < 0) return errno; /* The call was successful. Store the PID if necessary. */ if (pid != NULL) *pid = new_pid; return 0; } /* Set signal mask. */ if ((flags & POSIX_SPAWN_SETSIGMASK) != 0 && sigprocmask (SIG_SETMASK, &attrp->_ss, NULL) != 0) _exit (SPAWN_ERROR); /* Set signal default action. */ if ((flags & POSIX_SPAWN_SETSIGDEF) != 0) { /* We have to iterate over all signals. This could possibly be done better but it requires system specific solutions since the sigset_t data type can be very different on different architectures. */ int sig; struct sigaction sa; memset (&sa, '\0', sizeof (sa)); sa.sa_handler = SIG_DFL; for (sig = 1; sig <= NSIG; ++sig) if (sigismember (&attrp->_sd, sig) != 0 && sigaction (sig, &sa, NULL) != 0) _exit (SPAWN_ERROR); } #if (_LIBC ? defined _POSIX_PRIORITY_SCHEDULING : HAVE_SCHED_SETPARAM && HAVE_SCHED_SETSCHEDULER) /* Set the scheduling algorithm and parameters. */ if ((flags & (POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER)) == POSIX_SPAWN_SETSCHEDPARAM) { if (sched_setparam (0, &attrp->_sp) == -1) _exit (SPAWN_ERROR); } else if ((flags & POSIX_SPAWN_SETSCHEDULER) != 0) { if (sched_setscheduler (0, attrp->_policy, (flags & POSIX_SPAWN_SETSCHEDPARAM) != 0 ? &attrp->_sp : NULL) == -1) _exit (SPAWN_ERROR); } #endif /* Set the process group ID. */ if ((flags & POSIX_SPAWN_SETPGROUP) != 0 && setpgid (0, attrp->_pgrp) != 0) _exit (SPAWN_ERROR); /* Set the effective user and group IDs. */ if ((flags & POSIX_SPAWN_RESETIDS) != 0 && (local_seteuid (getuid ()) != 0 || local_setegid (getgid ()) != 0)) _exit (SPAWN_ERROR); /* Execute the file actions. */ if (file_actions != NULL) { int cnt; for (cnt = 0; cnt < file_actions->_used; ++cnt) { struct __spawn_action *action = &file_actions->_actions[cnt]; switch (action->tag) { case spawn_do_close: if (close_not_cancel (action->action.close_action.fd) != 0) /* Signal the error. */ _exit (SPAWN_ERROR); break; case spawn_do_open: { int new_fd = open_not_cancel (action->action.open_action.path, action->action.open_action.oflag | O_LARGEFILE, action->action.open_action.mode); if (new_fd == -1) /* The 'open' call failed. */ _exit (SPAWN_ERROR); /* Make sure the desired file descriptor is used. */ if (new_fd != action->action.open_action.fd) { if (dup2 (new_fd, action->action.open_action.fd) != action->action.open_action.fd) /* The 'dup2' call failed. */ _exit (SPAWN_ERROR); if (close_not_cancel (new_fd) != 0) /* The 'close' call failed. */ _exit (SPAWN_ERROR); } } break; case spawn_do_dup2: if (dup2 (action->action.dup2_action.fd, action->action.dup2_action.newfd) != action->action.dup2_action.newfd) /* The 'dup2' call failed. */ _exit (SPAWN_ERROR); break; } } } if (! use_path || strchr (file, '/') != NULL) { /* The FILE parameter is actually a path. */ execve (file, argv, envp); if (errno == ENOEXEC) script_execute (file, argv, envp); /* Oh, oh. 'execve' returns. This is bad. */ _exit (SPAWN_ERROR); } /* We have to search for FILE on the path. */ path = getenv ("PATH"); if (path == NULL) { #if HAVE_CONFSTR /* There is no 'PATH' in the environment. The default search path is the current directory followed by the path 'confstr' returns for '_CS_PATH'. */ len = confstr (_CS_PATH, (char *) NULL, 0); path = (char *) alloca (1 + len); path[0] = ':'; (void) confstr (_CS_PATH, path + 1, len); #else /* Pretend that the PATH contains only the current directory. */ path = ""; #endif } len = strlen (file) + 1; pathlen = strlen (path); name = alloca (pathlen + len + 1); /* Copy the file name at the top. */ name = (char *) memcpy (name + pathlen + 1, file, len); /* And add the slash. */ *--name = '/'; p = path; do { char *startp; path = p; p = strchrnul (path, ':'); if (p == path) /* Two adjacent colons, or a colon at the beginning or the end of 'PATH' means to search the current directory. */ startp = name + 1; else startp = (char *) memcpy (name - (p - path), path, p - path); /* Try to execute this name. If it works, execv will not return. */ execve (startp, argv, envp); if (errno == ENOEXEC) script_execute (startp, argv, envp); switch (errno) { case EACCES: case ENOENT: case ESTALE: case ENOTDIR: /* Those errors indicate the file is missing or not executable by us, in which case we want to just try the next path directory. */ break; default: /* Some other error means we found an executable file, but something went wrong executing it; return the error to our caller. */ _exit (SPAWN_ERROR); } } while (*p++ != '\0'); /* Return with an error. */ _exit (SPAWN_ERROR); } #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/localcharset.c�������������������������������������������������������������������0000664�0000000�0000000�00000043354�12071561010�013726� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>. */ #include <config.h> /* Specification. */ #include "localcharset.h" #include <fcntl.h> #include <stddef.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET # define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */ #endif #if defined _WIN32 || defined __WIN32__ # define WINDOWS_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # ifndef OS2 # define OS2 # endif #endif #if !defined WINDOWS_NATIVE # include <unistd.h> # if HAVE_LANGINFO_CODESET # include <langinfo.h> # else # if 0 /* see comment below */ # include <locale.h> # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include <windows.h> # endif #elif defined WINDOWS_NATIVE # define WIN32_LEAN_AND_MEAN # include <windows.h> #endif #if defined OS2 # define INCL_DOS # include <os2.h> #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif /* Define O_NOFOLLOW to 0 on platforms where it does not exist. */ #ifndef O_NOFOLLOW # define O_NOFOLLOW 0 #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Native Windows, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__) const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL) /* Out of memory. Treat the file as empty. */ cp = ""; else { int fd; /* Open the file. Reject symbolic links on platforms that support O_NOFOLLOW. This is a security feature. Without it, an attacker could retrieve parts of the contents (namely, the tail of the first line that starts with "* ") of an arbitrary file by placing a symbolic link to that file under the name "charset.alias" in some writable directory and defining the environment variable CHARSETALIASDIR to point to that directory. */ fd = open (file_name, O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0)); if (fd < 0) /* File not found. Treat it as empty. */ cp = ""; else { FILE *fp; fp = fdopen (fd, "r"); if (fp == NULL) { /* Out of memory. Treat the file as empty. */ close (fd); cp = ""; } else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } } free (file_name); } #else # if defined DARWIN7 /* To avoid the trouble of installing a file that is shared by many GNU packages -- many packaging systems have problems with this --, simply inline the aliases here. */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-4" "\0" "ISO-8859-4" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" "ISO8859-13" "\0" "ISO-8859-13" "\0" "ISO8859-15" "\0" "ISO-8859-15" "\0" "KOI8-R" "\0" "KOI8-R" "\0" "KOI8-U" "\0" "KOI8-U" "\0" "CP866" "\0" "CP866" "\0" "CP949" "\0" "CP949" "\0" "CP1131" "\0" "CP1131" "\0" "CP1251" "\0" "CP1251" "\0" "eucCN" "\0" "GB2312" "\0" "GB2312" "\0" "GB2312" "\0" "eucJP" "\0" "EUC-JP" "\0" "eucKR" "\0" "EUC-KR" "\0" "Big5" "\0" "BIG5" "\0" "Big5HKSCS" "\0" "BIG5-HKSCS" "\0" "GBK" "\0" "GBK" "\0" "GB18030" "\0" "GB18030" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "ARMSCII-8" "\0" "ARMSCII-8" "\0" "PT154" "\0" "PT154" "\0" /*"ISCII-DEV" "\0" "?" "\0"*/ "*" "\0" "UTF-8" "\0"; # endif # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WINDOWS_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WINDOWS_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin < 1.7 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". Return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* The Windows API has a function returning the locale's codepage as a number: GetACP(). This encoding is used by Cygwin, unless the user has set the environment variable CYGWIN=codepage:oem (which very few people do). Output directed to console windows needs to be converted (to GetOEMCP() if the console is using a raster font, or to GetConsoleOutputCP() if it is using a TrueType font). Cygwin does this conversion transparently (see winsup/cygwin/fhandler_console.cc), converting to GetConsoleOutputCP(). This leads to correct results, except when SetConsoleOutputCP has been called and a raster font is in use. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WINDOWS_NATIVE static char buf[2 + 10 + 1]; /* The Windows API has a function returning the locale's codepage as a number: GetACP(). When the output goes to a console window, it needs to be provided in GetOEMCP() encoding if the console is using a raster font, or in GetConsoleOutputCP() encoding if it is using a TrueType font. But in GUI programs and for output sent to files and pipes, GetACP() encoding is the best bet. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { sprintf (buf, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; #ifdef DARWIN7 /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" (the default codeset) does not work when MB_CUR_MAX is 1. */ if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1) codeset = "ASCII"; #endif return codeset; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mkstemp-safer.c������������������������������������������������������������������0000664�0000000�0000000�00000003323�12071024546�014040� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke mkstemp, but avoid some glitches. Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "stdlib-safer.h" #include <stdlib.h> #include "unistd-safer.h" /* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int mkstemp_safer (char *templ) { return fd_safer (mkstemp (templ)); } #if GNULIB_MKOSTEMP /* Like mkostemp, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int mkostemp_safer (char *templ, int flags) { return fd_safer_flag (mkostemp (templ, flags), flags); } #endif #if GNULIB_MKOSTEMPS /* Like mkostemps, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int mkostemps_safer (char *templ, int suffixlen, int flags) { return fd_safer_flag (mkostemps (templ, suffixlen, flags), flags); } #endif #if GNULIB_MKSTEMPS /* Like mkstemps, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int mkstemps_safer (char *templ, int suffixlen) { return fd_safer (mkstemps (templ, suffixlen)); } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/readlink.c�����������������������������������������������������������������������0000664�0000000�0000000�00000004463�12071024546�013061� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Stub for readlink(). Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/stat.h> #if !HAVE_READLINK /* readlink() substitute for systems that don't have a readlink() function, such as DJGPP 2.03 and mingw32. */ ssize_t readlink (const char *name, char *buf _GL_UNUSED, size_t bufsize _GL_UNUSED) { struct stat statbuf; /* In general we should use lstat() here, not stat(). But on platforms without symbolic links, lstat() - if it exists - would be equivalent to stat(), therefore we can use stat(). This saves us a configure check. */ if (stat (name, &statbuf) >= 0) errno = EINVAL; return -1; } #else /* HAVE_READLINK */ # undef readlink /* readlink() wrapper that uses correct types, for systems like cygwin 1.5.x where readlink returns int, and which rejects trailing slash, for Solaris 9. */ ssize_t rpl_readlink (const char *name, char *buf, size_t bufsize) { # if READLINK_TRAILING_SLASH_BUG size_t len = strlen (name); if (len && name[len - 1] == '/') { /* Even if name without the slash is a symlink to a directory, both lstat() and stat() must resolve the trailing slash to the directory rather than the symlink. We can therefore safely use stat() to distinguish between EINVAL and ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat(). */ struct stat st; if (stat (name, &st) == 0) errno = EINVAL; return -1; } # endif /* READLINK_TRAILING_SLASH_BUG */ return readlink (name, buf, bufsize); } #endif /* HAVE_READLINK */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/sys_select.in.h������������������������������������������������������������������0000664�0000000�0000000�00000026410�12104756365�014063� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Substitute for <sys/select.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ # if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ # endif @PRAGMA_COLUMNS@ /* On OSF/1 and Solaris 2.6, <sys/types.h> and <sys/time.h> both include <sys/select.h>. Simply delegate to the system's header in this case. */ #if (@HAVE_SYS_SELECT_H@ \ && ((defined __osf__ && defined _SYS_TYPES_H_ && defined _OSF_SOURCE) \ || (defined __sun && defined _SYS_TYPES_H \ && (! (defined _XOPEN_SOURCE || defined _POSIX_C_SOURCE) \ || defined __EXTENSIONS__))) \ && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H) # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ #elif (@HAVE_SYS_SELECT_H@ \ && ((defined __osf__ && defined _SYS_TIME_H_ && defined _OSF_SOURCE) \ || (defined __sun && defined _SYS_TIME_H \ && (! (defined _XOPEN_SOURCE || defined _POSIX_C_SOURCE) \ || defined __EXTENSIONS__))) \ && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H) # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ /* On IRIX 6.5, <sys/timespec.h> includes <sys/types.h>, which includes <sys/bsd_types.h>, which includes <sys/select.h>. At this point we cannot include <signal.h>, because that includes <internal/signal_core.h>, which gives a syntax error because <sys/timespec.h> has not been completely processed. Simply delegate to the system's header in this case. */ #elif @HAVE_SYS_SELECT_H@ && defined __sgi && (defined _SYS_BSD_TYPES_H && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H) # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ /* On OpenBSD 5.0, <pthread.h> includes <sys/types.h>, which includes <sys/select.h>. At this point we cannot include <signal.h>, because that includes gnulib's pthread.h override, which gives a syntax error because /usr/include/pthread.h has not been completely processed. Simply delegate to the system's header in this case. */ #elif @HAVE_SYS_SELECT_H@ && defined __OpenBSD__ && (defined _PTHREAD_H_ && !defined PTHREAD_MUTEX_INITIALIZER) # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ #else #ifndef _@GUARD_PREFIX@_SYS_SELECT_H /* On many platforms, <sys/select.h> assumes prior inclusion of <sys/types.h>. Also, mingw defines sigset_t there, instead of in <signal.h> where it belongs. */ #include <sys/types.h> #if @HAVE_SYS_SELECT_H@ /* On OSF/1 4.0, <sys/select.h> provides only a forward declaration of 'struct timeval', and no definition of this type. Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select() in <sys/time.h>. But avoid namespace pollution on glibc systems. */ # ifndef __GLIBC__ # include <sys/time.h> # endif /* On AIX 7 and Solaris 10, <sys/select.h> provides an FD_ZERO implementation that relies on memset(), but without including <string.h>. But in any case avoid namespace pollution on glibc systems. */ # if (defined __OpenBSD__ || defined _AIX || defined __sun || defined __osf__ || defined __BEOS__) \ && ! defined __GLIBC__ # include <string.h> # endif /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ #endif /* Get definition of 'sigset_t'. But avoid namespace pollution on glibc systems. Do this after the include_next (for the sake of OpenBSD 5.0) but before the split double-inclusion guard (for the sake of Solaris). */ #if !(defined __GLIBC__ && !defined __UCLIBC__) # include <signal.h> #endif #ifndef _@GUARD_PREFIX@_SYS_SELECT_H #define _@GUARD_PREFIX@_SYS_SELECT_H #if !@HAVE_SYS_SELECT_H@ /* A platform that lacks <sys/select.h>. */ /* Get the 'struct timeval' and 'fd_set' types and the FD_* macros on most platforms. */ # include <sys/time.h> /* On HP-UX 11, <sys/time.h> provides an FD_ZERO implementation that relies on memset(), but without including <string.h>. */ # if defined __hpux # include <string.h> # endif /* On native Windows platforms: Get the 'fd_set' type. Get the close() declaration before we override it. */ # if @HAVE_WINSOCK2_H@ # if !defined _GL_INCLUDING_WINSOCK2_H # define _GL_INCLUDING_WINSOCK2_H # include <winsock2.h> # undef _GL_INCLUDING_WINSOCK2_H # endif # include <io.h> # endif #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Fix some definitions from <winsock2.h>. */ #if @HAVE_WINSOCK2_H@ # if !GNULIB_defined_rpl_fd_isset /* Re-define FD_ISSET to avoid a WSA call while we are not using network sockets. */ static int rpl_fd_isset (SOCKET fd, fd_set * set) { u_int i; if (set == NULL) return 0; for (i = 0; i < set->fd_count; i++) if (set->fd_array[i] == fd) return 1; return 0; } # define GNULIB_defined_rpl_fd_isset 1 # endif # undef FD_ISSET # define FD_ISSET(fd, set) rpl_fd_isset(fd, set) #endif /* Hide some function declarations from <winsock2.h>. */ #if @HAVE_WINSOCK2_H@ # if !defined _@GUARD_PREFIX@_UNISTD_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef close # define close close_used_without_including_unistd_h # else _GL_WARN_ON_USE (close, "close() used without including <unistd.h>"); # endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef gethostname # define gethostname gethostname_used_without_including_unistd_h # else _GL_WARN_ON_USE (gethostname, "gethostname() used without including <unistd.h>"); # endif # endif # if !defined _@GUARD_PREFIX@_SYS_SOCKET_H # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef socket # define socket socket_used_without_including_sys_socket_h # undef connect # define connect connect_used_without_including_sys_socket_h # undef accept # define accept accept_used_without_including_sys_socket_h # undef bind # define bind bind_used_without_including_sys_socket_h # undef getpeername # define getpeername getpeername_used_without_including_sys_socket_h # undef getsockname # define getsockname getsockname_used_without_including_sys_socket_h # undef getsockopt # define getsockopt getsockopt_used_without_including_sys_socket_h # undef listen # define listen listen_used_without_including_sys_socket_h # undef recv # define recv recv_used_without_including_sys_socket_h # undef send # define send send_used_without_including_sys_socket_h # undef recvfrom # define recvfrom recvfrom_used_without_including_sys_socket_h # undef sendto # define sendto sendto_used_without_including_sys_socket_h # undef setsockopt # define setsockopt setsockopt_used_without_including_sys_socket_h # undef shutdown # define shutdown shutdown_used_without_including_sys_socket_h # else _GL_WARN_ON_USE (socket, "socket() used without including <sys/socket.h>"); _GL_WARN_ON_USE (connect, "connect() used without including <sys/socket.h>"); _GL_WARN_ON_USE (accept, "accept() used without including <sys/socket.h>"); _GL_WARN_ON_USE (bind, "bind() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getpeername, "getpeername() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockname, "getsockname() used without including <sys/socket.h>"); _GL_WARN_ON_USE (getsockopt, "getsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (listen, "listen() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recv, "recv() used without including <sys/socket.h>"); _GL_WARN_ON_USE (send, "send() used without including <sys/socket.h>"); _GL_WARN_ON_USE (recvfrom, "recvfrom() used without including <sys/socket.h>"); _GL_WARN_ON_USE (sendto, "sendto() used without including <sys/socket.h>"); _GL_WARN_ON_USE (setsockopt, "setsockopt() used without including <sys/socket.h>"); _GL_WARN_ON_USE (shutdown, "shutdown() used without including <sys/socket.h>"); # endif # endif #endif #if @GNULIB_PSELECT@ # if @REPLACE_PSELECT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef pselect # define pselect rpl_pselect # endif _GL_FUNCDECL_RPL (pselect, int, (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timespec const *restrict, const sigset_t *restrict)); _GL_CXXALIAS_RPL (pselect, int, (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timespec const *restrict, const sigset_t *restrict)); # else # if !@HAVE_PSELECT@ _GL_FUNCDECL_SYS (pselect, int, (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timespec const *restrict, const sigset_t *restrict)); # endif _GL_CXXALIAS_SYS (pselect, int, (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timespec const *restrict, const sigset_t *restrict)); # endif _GL_CXXALIASWARN (pselect); #elif defined GNULIB_POSIXCHECK # undef pselect # if HAVE_RAW_DECL_PSELECT _GL_WARN_ON_USE (pselect, "pselect is not portable - " "use gnulib module pselect for portability"); # endif #endif #if @GNULIB_SELECT@ # if @REPLACE_SELECT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef select # define select rpl_select # endif _GL_FUNCDECL_RPL (select, int, (int, fd_set *, fd_set *, fd_set *, struct timeval *)); _GL_CXXALIAS_RPL (select, int, (int, fd_set *, fd_set *, fd_set *, struct timeval *)); # else _GL_CXXALIAS_SYS (select, int, (int, fd_set *, fd_set *, fd_set *, struct timeval *)); # endif _GL_CXXALIASWARN (select); #elif @HAVE_WINSOCK2_H@ # undef select # define select select_used_without_requesting_gnulib_module_select #elif defined GNULIB_POSIXCHECK # undef select # if HAVE_RAW_DECL_SELECT _GL_WARN_ON_USE (select, "select is not always POSIX compliant - " "use gnulib module select for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_SYS_SELECT_H */ #endif /* _@GUARD_PREFIX@_SYS_SELECT_H */ #endif /* OSF/1 */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/getfilecon.c���������������������������������������������������������������������0000664�0000000�0000000�00000004633�12071024546�013406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* wrap getfilecon, lgetfilecon, and fgetfilecon Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include <selinux/selinux.h> #include <sys/types.h> #include <errno.h> #include <string.h> /* FIXME: remove this once there is an errno-gnu module that guarantees the definition of ENODATA. */ #ifndef ENODATA # define ENODATA ENOTSUP #endif #undef getfilecon #undef lgetfilecon #undef fgetfilecon int getfilecon (char const *file, security_context_t *con); int lgetfilecon (char const *file, security_context_t *con); int fgetfilecon (int fd, security_context_t *con); /* getfilecon, lgetfilecon, and fgetfilecon can all misbehave, be it via an old version of libselinux where these would return 0 and set the result context to NULL, or via a modern kernel+lib operating on a file from a disk whose attributes were set by a kernel from around 2006. In that latter case, the functions return a length of 10 for the "unlabeled" context. Map both failures to a return value of -1, and set errno to ENOTSUP in the first case, and ENODATA in the latter. */ static int map_to_failure (int ret, security_context_t *con) { if (ret == 0) { errno = ENOTSUP; return -1; } if (ret == 10 && strcmp (*con, "unlabeled") == 0) { freecon (*con); errno = ENODATA; return -1; } return ret; } int rpl_getfilecon (char const *file, security_context_t *con) { int ret = getfilecon (file, con); return map_to_failure (ret, con); } int rpl_lgetfilecon (char const *file, security_context_t *con) { int ret = lgetfilecon (file, con); return map_to_failure (ret, con); } int rpl_fgetfilecon (int fd, security_context_t *con) { int ret = fgetfilecon (fd, con); return map_to_failure (ret, con); } �����������������������������������������������������������������������������������������������������coreutils-8.21/lib/utimensat.c����������������������������������������������������������������������0000664�0000000�0000000�00000013334�12071024546�013276� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set the access and modification time of a file relative to directory fd. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <sys/stat.h> #include <errno.h> #include <fcntl.h> #include "stat-time.h" #include "timespec.h" #include "utimens.h" #if HAVE_UTIMENSAT # undef utimensat /* If we have a native utimensat, but are compiling this file, then utimensat was defined to rpl_utimensat by our replacement sys/stat.h. We assume the native version might fail with ENOSYS, or succeed without properly affecting ctime (as is the case when using newer glibc but older Linux kernel). In this scenario, rpl_utimensat checks whether the native version is usable, and local_utimensat provides the fallback manipulation. */ static int local_utimensat (int, char const *, struct timespec const[2], int); # define AT_FUNC_NAME local_utimensat /* Like utimensat, but work around native bugs. */ int rpl_utimensat (int fd, char const *file, struct timespec const times[2], int flag) { # ifdef __linux__ struct timespec ts[2]; # endif /* See comments in utimens.c for details. */ static int utimensat_works_really; /* 0 = unknown, 1 = yes, -1 = no. */ if (0 <= utimensat_works_really) { int result; # ifdef __linux__ struct stat st; /* As recently as Linux kernel 2.6.32 (Dec 2009), several file systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT, but work if both times are either explicitly specified or UTIME_NOW. Work around it with a preparatory [l]stat prior to calling utimensat; fortunately, there is not much timing impact due to the extra syscall even on file systems where UTIME_OMIT would have worked. FIXME: Simplify this in 2012, when file system bugs are no longer common. */ if (times && (times[0].tv_nsec == UTIME_OMIT || times[1].tv_nsec == UTIME_OMIT)) { if (fstatat (fd, file, &st, flag)) return -1; if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT) return 0; if (times[0].tv_nsec == UTIME_OMIT) ts[0] = get_stat_atime (&st); else ts[0] = times[0]; if (times[1].tv_nsec == UTIME_OMIT) ts[1] = get_stat_mtime (&st); else ts[1] = times[1]; times = ts; } # ifdef __hppa__ /* Linux kernel 2.6.22.19 on hppa does not reject invalid tv_nsec values. */ else if (times && ((times[0].tv_nsec != UTIME_NOW && (times[0].tv_nsec < 0 || times[0].tv_nsec >= 1000000000)) || (times[1].tv_nsec != UTIME_NOW && (times[1].tv_nsec < 0 || times[1].tv_nsec >= 1000000000)))) { errno = EINVAL; return -1; } # endif # endif /* __linux__ */ result = utimensat (fd, file, times, flag); /* Linux kernel 2.6.25 has a bug where it returns EINVAL for UTIME_NOW or UTIME_OMIT with non-zero tv_sec, which local_utimensat works around. Meanwhile, EINVAL for a bad flag is indeterminate whether the native utimensat works, but local_utimensat will also reject it. */ if (result == -1 && errno == EINVAL && (flag & ~AT_SYMLINK_NOFOLLOW)) return result; if (result == 0 || (errno != ENOSYS && errno != EINVAL)) { utimensat_works_really = 1; return result; } } /* No point in trying openat/futimens, since on Linux, futimens is implemented with the same syscall as utimensat. Only avoid the native utimensat due to an ENOSYS failure; an EINVAL error was data-dependent, and the next caller may pass valid data. */ if (0 <= utimensat_works_really && errno == ENOSYS) utimensat_works_really = -1; return local_utimensat (fd, file, times, flag); } #else /* !HAVE_UTIMENSAT */ # define AT_FUNC_NAME utimensat #endif /* !HAVE_UTIMENSAT */ /* Set the access and modification time stamps of FILE to be TIMESPEC[0] and TIMESPEC[1], respectively; relative to directory FD. If flag is AT_SYMLINK_NOFOLLOW, change the times of a symlink, or fail with ENOSYS if not possible. If TIMESPEC is null, set the time stamps to the current time. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then utimens/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. Return 0 on success, -1 (setting errno) on failure. */ /* AT_FUNC_NAME is now utimensat or local_utimensat. */ #define AT_FUNC_F1 lutimens #define AT_FUNC_F2 utimens #define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW #define AT_FUNC_POST_FILE_PARAM_DECLS , struct timespec const ts[2], int flag #define AT_FUNC_POST_FILE_ARGS , ts #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_F2 #undef AT_FUNC_USE_F1_COND #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/futimens.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002605�12071024546�013116� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Set the access and modification time of an open fd. Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Eric Blake */ #include <config.h> #include <sys/stat.h> #include "utimens.h" /* Set the access and modification time stamps of FD to be TIMESPEC[0] and TIMESPEC[1], respectively. Fail with ENOSYS on systems without futimes (or equivalent). If TIMESPEC is null, set the time stamps to the current time. Return 0 on success, -1 (setting errno) on failure. */ int futimens (int fd, struct timespec const times[2]) { /* fdutimens also works around bugs in native futimens, when running with glibc compiled against newer headers but on a Linux kernel older than 2.6.32. */ return fdutimens (fd, NULL, times); } ���������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/tempname.c�����������������������������������������������������������������������0000664�0000000�0000000�00000022460�12071561014�013067� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* tempname.c - generate the name of a temporary file. Copyright (C) 1991-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */ #if !_LIBC # include <config.h> # include "tempname.h" # include "randint.h" #endif #include <sys/types.h> #include <assert.h> #include <errno.h> #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include <stdio.h> #ifndef P_tmpdir # define P_tmpdir "/tmp" #endif #ifndef TMP_MAX # define TMP_MAX 238328 #endif #ifndef __GT_FILE # define __GT_FILE 0 # define __GT_DIR 1 # define __GT_NOCREATE 2 #endif #if !_LIBC && (GT_FILE != __GT_FILE || GT_DIR != __GT_DIR \ || GT_NOCREATE != __GT_NOCREATE) # error report this to bug-gnulib@gnu.org #endif #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/time.h> #include <stdint.h> #include <unistd.h> #include <sys/stat.h> #if _LIBC # define struct_stat64 struct stat64 #else # define struct_stat64 struct stat # define __gen_tempname gen_tempname # define __getpid getpid # define __gettimeofday gettimeofday # define __mkdir mkdir # define __open open # define __lxstat64(version, file, buf) lstat (file, buf) #endif #if ! (HAVE___SECURE_GETENV || _LIBC) # define __secure_getenv getenv #endif #ifdef _LIBC # include <hp-timing.h> # if HP_TIMING_AVAIL # define RANDOM_BITS(Var) \ if (__builtin_expect (value == UINT64_C (0), 0)) \ { \ /* If this is the first time this function is used initialize \ the variable we accumulate the value in to some somewhat \ random value. If we'd not do this programs at startup time \ might have a reduced set of possible names, at least on slow \ machines. */ \ struct timeval tv; \ __gettimeofday (&tv, NULL); \ value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; \ } \ HP_TIMING_NOW (Var) # endif #endif /* Use the widest available unsigned type if uint64_t is not available. The algorithm below extracts a number less than 62**6 (approximately 2**35.725) from uint64_t, so ancient hosts where uintmax_t is only 32 bits lose about 3.725 bits of randomness, which is better than not having mkstemp at all. */ #if !defined UINT64_MAX && !defined uint64_t # define uint64_t uintmax_t #endif #if _LIBC /* Return nonzero if DIR is an existent directory. */ static int direxists (const char *dir) { struct_stat64 buf; return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode); } /* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is non-null and exists, uses it; otherwise uses the first of $TMPDIR, P_tmpdir, /tmp that exists. Copies into TMPL a template suitable for use with mk[s]temp. Will fail (-1) if DIR is non-null and doesn't exist, none of the searched dirs exists, or there's not enough space in TMPL. */ int __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx, int try_tmpdir) { const char *d; size_t dlen, plen; if (!pfx || !pfx[0]) { pfx = "file"; plen = 4; } else { plen = strlen (pfx); if (plen > 5) plen = 5; } if (try_tmpdir) { d = __secure_getenv ("TMPDIR"); if (d != NULL && direxists (d)) dir = d; else if (dir != NULL && direxists (dir)) /* nothing */ ; else dir = NULL; } if (dir == NULL) { if (direxists (P_tmpdir)) dir = P_tmpdir; else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp")) dir = "/tmp"; else { __set_errno (ENOENT); return -1; } } dlen = strlen (dir); while (dlen > 1 && dir[dlen - 1] == '/') dlen--; /* remove trailing slashes */ /* check we have room for "${dir}/${pfx}XXXXXX\0" */ if (tmpl_len < dlen + 1 + plen + 6 + 1) { __set_errno (EINVAL); return -1; } sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx); return 0; } #endif /* _LIBC */ static inline bool _GL_ATTRIBUTE_PURE check_x_suffix (char const *s, size_t len) { return len <= strspn (s, "X"); } /* These are the characters used in temporary file names. */ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in at least X_SUFFIX_LEN "X"s, possibly with a suffix). The name constructed does not exist at the time of the call to this function. TMPL is overwritten with the result. KIND may be one of: __GT_NOCREATE: simply verify that the name does not exist at the time of the call. __GT_FILE: create the file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. __GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ int gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind, size_t x_suffix_len) { size_t len; char *XXXXXX; unsigned int count; int fd = -1; int save_errno = errno; struct_stat64 st; struct randint_source *rand_src; /* A lower bound on the number of temporary files to attempt to generate. The maximum total number of temporary file names that can exist for a given template is 62**6. It should never be necessary to try all of these combinations. Instead if a reasonable number of names is tried (we define reasonable as 62**3) fail to give the system administrator the chance to remove the problems. This value requires that X_SUFFIX_LEN be at least 3. */ #define ATTEMPTS_MIN (62 * 62 * 62) /* The number of times to attempt to generate a temporary file. To conform to POSIX, this must be no smaller than TMP_MAX. */ #if ATTEMPTS_MIN < TMP_MAX unsigned int attempts = TMP_MAX; #else unsigned int attempts = ATTEMPTS_MIN; #endif len = strlen (tmpl); if (len < x_suffix_len + suffixlen || ! check_x_suffix (&tmpl[len - x_suffix_len - suffixlen], x_suffix_len)) { __set_errno (EINVAL); return -1; } /* This is where the Xs start. */ XXXXXX = &tmpl[len - x_suffix_len - suffixlen]; /* Get some more or less random data. */ rand_src = randint_all_new (NULL, x_suffix_len); if (! rand_src) return -1; for (count = 0; count < attempts; ++count) { size_t i; for (i = 0; i < x_suffix_len; i++) XXXXXX[i] = letters[randint_genmax (rand_src, sizeof letters - 2)]; switch (kind) { case __GT_FILE: fd = __open (tmpl, (flags & ~O_ACCMODE) | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; case __GT_DIR: fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); break; case __GT_NOCREATE: /* This case is backward from the other three. This function succeeds if __xstat fails because the name does not exist. Note the continue to bypass the common logic at the bottom of the loop. */ if (__lxstat64 (_STAT_VER, tmpl, &st) < 0) { if (errno == ENOENT) { __set_errno (save_errno); fd = 0; goto done; } else { /* Give up now. */ fd = -1; goto done; } } continue; default: assert (! "invalid KIND in __gen_tempname"); abort (); } if (fd >= 0) { __set_errno (save_errno); goto done; } else if (errno != EEXIST) { fd = -1; goto done; } } randint_all_free (rand_src); /* We got out of the loop because we ran out of combinations to try. */ __set_errno (EEXIST); return -1; done: { int saved_errno = errno; randint_all_free (rand_src); __set_errno (saved_errno); } return fd; } int __gen_tempname (char *tmpl, int suffixlen, int flags, int kind) { return gen_tempname_len (tmpl, suffixlen, flags, kind, 6); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/full-read.c����������������������������������������������������������������������0000664�0000000�0000000�00000001500�12071024546�013130� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to read that retries after partial reads and interrupts. Copyright (C) 2002-2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define FULL_READ #include "full-write.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/dirfd.c��������������������������������������������������������������������������0000664�0000000�0000000�00000001735�12071024546�012357� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* dirfd.c -- return the file descriptor associated with an open DIR* Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include <dirent.h> #include <errno.h> int dirfd (DIR *dir_p) { int fd = DIR_TO_FD (dir_p); if (fd == -1) errno = ENOTSUP; return fd; } �����������������������������������coreutils-8.21/lib/settime.c������������������������������������������������������������������������0000664�0000000�0000000�00000002777�12071024546�012750� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* settime -- set the system clock Copyright (C) 2002, 2004-2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <config.h> #include "timespec.h" #include <sys/time.h> #include <unistd.h> #include <errno.h> /* Set the system time. */ int settime (struct timespec const *ts) { #if defined CLOCK_REALTIME && HAVE_CLOCK_SETTIME { int r = clock_settime (CLOCK_REALTIME, ts); if (r == 0 || errno == EPERM) return r; } #endif #if HAVE_SETTIMEOFDAY { struct timeval tv; tv.tv_sec = ts->tv_sec; tv.tv_usec = ts->tv_nsec / 1000; return settimeofday (&tv, 0); } #elif HAVE_STIME /* This fails to compile on OSF1 V5.1, due to stime requiring a 'long int*' and tv_sec is 'int'. But that system does provide settimeofday. */ return stime (&ts->tv_sec); #else errno = ENOSYS; return -1; #endif } �coreutils-8.21/lib/locale.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000016002�12100637437�013133� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A POSIX <locale.h>. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #ifdef _GL_ALREADY_INCLUDING_LOCALE_H /* Special invocation conventions to handle Solaris header files (through Solaris 10) when combined with gettext's libintl.h. */ #@INCLUDE_NEXT@ @NEXT_LOCALE_H@ #else /* Normal invocation convention. */ #ifndef _@GUARD_PREFIX@_LOCALE_H #define _GL_ALREADY_INCLUDING_LOCALE_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_LOCALE_H@ #undef _GL_ALREADY_INCLUDING_LOCALE_H #ifndef _@GUARD_PREFIX@_LOCALE_H #define _@GUARD_PREFIX@_LOCALE_H /* NetBSD 5.0 mis-defines NULL. */ #include <stddef.h> /* Mac OS X 10.5 defines the locale_t type in <xlocale.h>. */ #if @HAVE_XLOCALE_H@ # include <xlocale.h> #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C. On systems that don't define it, use the same value as GNU libintl. */ #if !defined LC_MESSAGES # define LC_MESSAGES 1729 #endif /* Bionic libc's 'struct lconv' is just a dummy. */ #if @REPLACE_STRUCT_LCONV@ # define lconv rpl_lconv struct lconv { /* All 'char *' are actually 'const char *'. */ /* Members that depend on the LC_NUMERIC category of the locale. See <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */ /* Symbol used as decimal point. */ char *decimal_point; /* Symbol used to separate groups of digits to the left of the decimal point. */ char *thousands_sep; /* Definition of the size of groups of digits to the left of the decimal point. */ char *grouping; /* Members that depend on the LC_MONETARY category of the locale. See <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */ /* Symbol used as decimal point. */ char *mon_decimal_point; /* Symbol used to separate groups of digits to the left of the decimal point. */ char *mon_thousands_sep; /* Definition of the size of groups of digits to the left of the decimal point. */ char *mon_grouping; /* Sign used to indicate a value >= 0. */ char *positive_sign; /* Sign used to indicate a value < 0. */ char *negative_sign; /* For formatting local currency. */ /* Currency symbol (3 characters) followed by separator (1 character). */ char *currency_symbol; /* Number of digits after the decimal point. */ char frac_digits; /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it comes after the number. */ char p_cs_precedes; /* For values >= 0: Position of the sign. */ char p_sign_posn; /* For values >= 0: Placement of spaces between currency symbol, sign, and number. */ char p_sep_by_space; /* For values < 0: 1 if the currency symbol precedes the number, 0 if it comes after the number. */ char n_cs_precedes; /* For values < 0: Position of the sign. */ char n_sign_posn; /* For values < 0: Placement of spaces between currency symbol, sign, and number. */ char n_sep_by_space; /* For formatting international currency. */ /* Currency symbol (3 characters) followed by separator (1 character). */ char *int_curr_symbol; /* Number of digits after the decimal point. */ char int_frac_digits; /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it comes after the number. */ char int_p_cs_precedes; /* For values >= 0: Position of the sign. */ char int_p_sign_posn; /* For values >= 0: Placement of spaces between currency symbol, sign, and number. */ char int_p_sep_by_space; /* For values < 0: 1 if the currency symbol precedes the number, 0 if it comes after the number. */ char int_n_cs_precedes; /* For values < 0: Position of the sign. */ char int_n_sign_posn; /* For values < 0: Placement of spaces between currency symbol, sign, and number. */ char int_n_sep_by_space; }; #endif #if @GNULIB_LOCALECONV@ # if @REPLACE_LOCALECONV@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef localeconv # define localeconv rpl_localeconv # endif _GL_FUNCDECL_RPL (localeconv, struct lconv *, (void)); _GL_CXXALIAS_RPL (localeconv, struct lconv *, (void)); # else _GL_CXXALIAS_SYS (localeconv, struct lconv *, (void)); # endif _GL_CXXALIASWARN (localeconv); #elif @REPLACE_STRUCT_LCONV@ # undef localeconv # define localeconv localeconv_used_without_requesting_gnulib_module_localeconv #elif defined GNULIB_POSIXCHECK # undef localeconv # if HAVE_RAW_DECL_LOCALECONV _GL_WARN_ON_USE (localeconv, "localeconv returns too few information on some platforms - " "use gnulib module localeconv for portability"); # endif #endif #if @GNULIB_SETLOCALE@ # if @REPLACE_SETLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef setlocale # define setlocale rpl_setlocale # define GNULIB_defined_setlocale 1 # endif _GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale)); _GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale)); # else _GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale)); # endif _GL_CXXALIASWARN (setlocale); #elif defined GNULIB_POSIXCHECK # undef setlocale # if HAVE_RAW_DECL_SETLOCALE _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - " "use gnulib module setlocale for portability"); # endif #endif #if @GNULIB_DUPLOCALE@ # if @REPLACE_DUPLOCALE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef duplocale # define duplocale rpl_duplocale # endif _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale)); # else # if @HAVE_DUPLOCALE@ _GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale)); # endif # endif # if @HAVE_DUPLOCALE@ _GL_CXXALIASWARN (duplocale); # endif #elif defined GNULIB_POSIXCHECK # undef duplocale # if HAVE_RAW_DECL_DUPLOCALE _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - " "use gnulib module duplocale for portability"); # endif #endif #endif /* _@GUARD_PREFIX@_LOCALE_H */ #endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */ #endif /* _@GUARD_PREFIX@_LOCALE_H */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/root-dev-ino.c�������������������������������������������������������������������0000664�0000000�0000000�00000002363�12102337340�013601� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* root-dev-ino.c -- get the device and inode numbers for '/'. Copyright (C) 2003-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #include <config.h> #include "root-dev-ino.h" #include <stdlib.h> /* Call lstat to get the device and inode numbers for '/'. Upon failure, return NULL. Otherwise, set the members of *ROOT_D_I accordingly and return ROOT_D_I. */ struct dev_ino * get_root_dev_ino (struct dev_ino *root_d_i) { struct stat statbuf; if (lstat ("/", &statbuf)) return NULL; root_d_i->st_ino = statbuf.st_ino; root_d_i->st_dev = statbuf.st_dev; return root_d_i; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-strncasecmp.c������������������������������������������������������������������0000664�0000000�0000000�00000003106�12071561006�014020� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* c-strncasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "c-strcase.h" #include <limits.h> #include "c-ctype.h" int c_strncasecmp (const char *s1, const char *s2, size_t n) { register const unsigned char *p1 = (const unsigned char *) s1; register const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; if (p1 == p2 || n == 0) return 0; do { c1 = c_tolower (*p1); c2 = c_tolower (*p2); if (--n == 0 || c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/physmem.h������������������������������������������������������������������������0000664�0000000�0000000�00000001632�12071024546�012752� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Calculate the size of physical memory. Copyright (C) 2000, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #ifndef PHYSMEM_H_ # define PHYSMEM_H_ 1 double physmem_total (void); double physmem_available (void); #endif /* PHYSMEM_H_ */ ������������������������������������������������������������������������������������������������������coreutils-8.21/lib/safe-write.h���������������������������������������������������������������������0000664�0000000�0000000�00000003334�12071024546�013337� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* An interface to write() that retries after interrupts. Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Some system calls may be interrupted and fail with errno = EINTR in the following situations: - The process is stopped and restarted (signal SIGSTOP and SIGCONT, user types Ctrl-Z) on some platforms: Mac OS X. - The process receives a signal for which a signal handler was installed with sigaction() with an sa_flags field that does not contain SA_RESTART. - The process receives a signal for which a signal handler was installed with signal() and for which no call to siginterrupt(sig,0) was done, on some platforms: AIX, HP-UX, IRIX, OSF/1, Solaris. This module provides a wrapper around write() that handles EINTR. */ #include <stddef.h> #define SAFE_WRITE_ERROR ((size_t) -1) /* Write up to COUNT bytes at BUF to descriptor FD, retrying if interrupted. Return the actual number of bytes written, zero for EOF, or SAFE_WRITE_ERROR upon error. */ extern size_t safe_write (int fd, const void *buf, size_t count); ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/mbsinit.c������������������������������������������������������������������������0000664�0000000�0000000�00000003703�12071024546�012731� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Test for initial conversion state. Copyright (C) 2008-2013 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include <wchar.h> #include "verify.h" #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* On native Windows, 'mbstate_t' is defined as 'int'. */ int mbsinit (const mbstate_t *ps) { return ps == NULL || *ps == 0; } #else /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs() and wcrtomb(), wcsrtombs(). We assume that - sizeof (mbstate_t) >= 4, - only stateless encodings are supported (such as UTF-8 and EUC-JP, but not ISO-2022 variants), - for each encoding, the number of bytes for a wide character is <= 4. (This maximum is attained for UTF-8, GB18030, EUC-TW.) We define the meaning of mbstate_t as follows: - In mb -> wc direction, mbstate_t's first byte contains the number of buffered bytes (in the range 0..3), followed by up to 3 buffered bytes. - In wc -> mb direction, mbstate_t contains no information. In other words, it is always in the initial state. */ verify (sizeof (mbstate_t) >= 4); int mbsinit (const mbstate_t *ps) { const char *pstate = (const char *)ps; return pstate == NULL || pstate[0] == 0; } #endif �������������������������������������������������������������coreutils-8.21/lib/save-cwd.h�����������������������������������������������������������������������0000664�0000000�0000000�00000002045�12071024546�013000� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Save and restore current working directory. Copyright (C) 1995, 1997-1998, 2003, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering. */ #ifndef SAVE_CWD_H # define SAVE_CWD_H 1 struct saved_cwd { int desc; char *name; }; int save_cwd (struct saved_cwd *cwd); int restore_cwd (const struct saved_cwd *cwd); void free_cwd (struct saved_cwd *cwd); #endif /* SAVE_CWD_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/������������������������������������������������������������������������0000775�0000000�0000000�00000000000�12107207521�012763� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/tls.c�������������������������������������������������������������������0000664�0000000�0000000�00000003206�12071024546�013656� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Thread-local storage in multithreaded situations. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. */ #include <config.h> #include "glthread/tls.h" /* ========================================================================= */ #if USE_POSIX_THREADS #endif /* ========================================================================= */ #if USE_PTH_THREADS #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ /* ------------------------- gl_tls_key_t datatype ------------------------- */ void * glthread_tls_get_multithreaded (thread_key_t key) { void *value; if (thr_getspecific (key, &value) != 0) abort (); return value; } #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS #endif /* ========================================================================= */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/lock.c������������������������������������������������������������������0000664�0000000�0000000�00000064170�12071561010�014003� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Locking in multithreaded situations. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ #include <config.h> #include "glthread/lock.h" /* ========================================================================= */ #if USE_POSIX_THREADS /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # if !defined PTHREAD_RWLOCK_INITIALIZER int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_rwlock_init (&lock->rwlock, NULL); if (err != 0) return err; lock->initialized = 1; return 0; } int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock) { if (!lock->initialized) { int err; err = pthread_mutex_lock (&lock->guard); if (err != 0) return err; if (!lock->initialized) { err = glthread_rwlock_init_multithreaded (lock); if (err != 0) { pthread_mutex_unlock (&lock->guard); return err; } } err = pthread_mutex_unlock (&lock->guard); if (err != 0) return err; } return pthread_rwlock_rdlock (&lock->rwlock); } int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock) { if (!lock->initialized) { int err; err = pthread_mutex_lock (&lock->guard); if (err != 0) return err; if (!lock->initialized) { err = glthread_rwlock_init_multithreaded (lock); if (err != 0) { pthread_mutex_unlock (&lock->guard); return err; } } err = pthread_mutex_unlock (&lock->guard); if (err != 0) return err; } return pthread_rwlock_wrlock (&lock->rwlock); } int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock) { if (!lock->initialized) return EINVAL; return pthread_rwlock_unlock (&lock->rwlock); } int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock) { int err; if (!lock->initialized) return EINVAL; err = pthread_rwlock_destroy (&lock->rwlock); if (err != 0) return err; lock->initialized = 0; return 0; } # endif # else int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_mutex_init (&lock->lock, NULL); if (err != 0) return err; err = pthread_cond_init (&lock->waiting_readers, NULL); if (err != 0) return err; err = pthread_cond_init (&lock->waiting_writers, NULL); if (err != 0) return err; lock->waiting_writers_count = 0; lock->runcount = 0; return 0; } int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_mutex_lock (&lock->lock); if (err != 0) return err; /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ /* POSIX says: "It is implementation-defined whether the calling thread acquires the lock when a writer does not hold the lock and there are writers blocked on the lock." Let's say, no: give the writers a higher priority. */ while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ err = pthread_cond_wait (&lock->waiting_readers, &lock->lock); if (err != 0) { pthread_mutex_unlock (&lock->lock); return err; } } lock->runcount++; return pthread_mutex_unlock (&lock->lock); } int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_mutex_lock (&lock->lock); if (err != 0) return err; /* Test whether no readers or writers are currently running. */ while (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ lock->waiting_writers_count++; err = pthread_cond_wait (&lock->waiting_writers, &lock->lock); if (err != 0) { lock->waiting_writers_count--; pthread_mutex_unlock (&lock->lock); return err; } lock->waiting_writers_count--; } lock->runcount--; /* runcount becomes -1 */ return pthread_mutex_unlock (&lock->lock); } int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_mutex_lock (&lock->lock); if (err != 0) return err; if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) { pthread_mutex_unlock (&lock->lock); return EINVAL; } lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) { pthread_mutex_unlock (&lock->lock); return EINVAL; } lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers_count > 0) { /* Wake up one of the waiting writers. */ err = pthread_cond_signal (&lock->waiting_writers); if (err != 0) { pthread_mutex_unlock (&lock->lock); return err; } } else { /* Wake up all waiting readers. */ err = pthread_cond_broadcast (&lock->waiting_readers); if (err != 0) { pthread_mutex_unlock (&lock->lock); return err; } } } return pthread_mutex_unlock (&lock->lock); } int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock) { int err; err = pthread_mutex_destroy (&lock->lock); if (err != 0) return err; err = pthread_cond_destroy (&lock->waiting_readers); if (err != 0) return err; err = pthread_cond_destroy (&lock->waiting_writers); if (err != 0) return err; return 0; } # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; int err; err = pthread_mutexattr_init (&attributes); if (err != 0) return err; err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE); if (err != 0) { pthread_mutexattr_destroy (&attributes); return err; } err = pthread_mutex_init (lock, &attributes); if (err != 0) { pthread_mutexattr_destroy (&attributes); return err; } err = pthread_mutexattr_destroy (&attributes); if (err != 0) return err; return 0; } # else int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; int err; err = pthread_mutexattr_init (&attributes); if (err != 0) return err; err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE); if (err != 0) { pthread_mutexattr_destroy (&attributes); return err; } err = pthread_mutex_init (&lock->recmutex, &attributes); if (err != 0) { pthread_mutexattr_destroy (&attributes); return err; } err = pthread_mutexattr_destroy (&attributes); if (err != 0) return err; lock->initialized = 1; return 0; } int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) { if (!lock->initialized) { int err; err = pthread_mutex_lock (&lock->guard); if (err != 0) return err; if (!lock->initialized) { err = glthread_recursive_lock_init_multithreaded (lock); if (err != 0) { pthread_mutex_unlock (&lock->guard); return err; } } err = pthread_mutex_unlock (&lock->guard); if (err != 0) return err; } return pthread_mutex_lock (&lock->recmutex); } int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) { if (!lock->initialized) return EINVAL; return pthread_mutex_unlock (&lock->recmutex); } int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) { int err; if (!lock->initialized) return EINVAL; err = pthread_mutex_destroy (&lock->recmutex); if (err != 0) return err; lock->initialized = 0; return 0; } # endif # else int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) { int err; err = pthread_mutex_init (&lock->mutex, NULL); if (err != 0) return err; lock->owner = (pthread_t) 0; lock->depth = 0; return 0; } int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) { pthread_t self = pthread_self (); if (lock->owner != self) { int err; err = pthread_mutex_lock (&lock->mutex); if (err != 0) return err; lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ { lock->depth--; return EAGAIN; } return 0; } int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) { if (lock->owner != pthread_self ()) return EPERM; if (lock->depth == 0) return EINVAL; if (--(lock->depth) == 0) { lock->owner = (pthread_t) 0; return pthread_mutex_unlock (&lock->mutex); } else return 0; } int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) { if (lock->owner != (pthread_t) 0) return EBUSY; return pthread_mutex_destroy (&lock->mutex); } # endif /* -------------------------- gl_once_t datatype -------------------------- */ static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; int glthread_once_singlethreaded (pthread_once_t *once_control) { /* We don't know whether pthread_once_t is an integer type, a floating-point type, a pointer type, or a structure type. */ char *firstbyte = (char *)once_control; if (*firstbyte == *(const char *)&fresh_once) { /* First time use of once_control. Invert the first byte. */ *firstbyte = ~ *(const char *)&fresh_once; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* -------------------------- gl_once_t datatype -------------------------- */ static void glthread_once_call (void *arg) { void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; void (*initfunction) (void) = *gl_once_temp_addr; initfunction (); } int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)) { void (*temp) (void) = initfunction; return (!pth_once (once_control, glthread_once_call, &temp) ? errno : 0); } int glthread_once_singlethreaded (pth_once_t *once_control) { /* We know that pth_once_t is an integer type. */ if (*once_control == PTH_ONCE_INIT) { /* First time use of once_control. Invert the marker. */ *once_control = ~ PTH_ONCE_INIT; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) { int err; err = mutex_init (&lock->mutex, USYNC_THREAD, NULL); if (err != 0) return err; lock->owner = (thread_t) 0; lock->depth = 0; return 0; } int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) { thread_t self = thr_self (); if (lock->owner != self) { int err; err = mutex_lock (&lock->mutex); if (err != 0) return err; lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ { lock->depth--; return EAGAIN; } return 0; } int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) { if (lock->owner != thr_self ()) return EPERM; if (lock->depth == 0) return EINVAL; if (--(lock->depth) == 0) { lock->owner = (thread_t) 0; return mutex_unlock (&lock->mutex); } else return 0; } int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) { if (lock->owner != (thread_t) 0) return EBUSY; return mutex_destroy (&lock->mutex); } /* -------------------------- gl_once_t datatype -------------------------- */ int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)) { if (!once_control->inited) { int err; /* Use the mutex to guarantee that if another thread is already calling the initfunction, this thread waits until it's finished. */ err = mutex_lock (&once_control->mutex); if (err != 0) return err; if (!once_control->inited) { once_control->inited = 1; initfunction (); } return mutex_unlock (&once_control->mutex); } else return 0; } int glthread_once_singlethreaded (gl_once_t *once_control) { /* We know that gl_once_t contains an integer type. */ if (!once_control->inited) { /* First time use of once_control. Invert the marker. */ once_control->inited = ~ 0; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS /* -------------------------- gl_lock_t datatype -------------------------- */ void glthread_lock_init_func (gl_lock_t *lock) { InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } int glthread_lock_lock_func (gl_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); return 0; } int glthread_lock_unlock_func (gl_lock_t *lock) { if (!lock->guard.done) return EINVAL; LeaveCriticalSection (&lock->lock); return 0; } int glthread_lock_destroy_func (gl_lock_t *lock) { if (!lock->guard.done) return EINVAL; DeleteCriticalSection (&lock->lock); lock->guard.done = 0; return 0; } /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* In this file, the waitqueues are implemented as circular arrays. */ #define gl_waitqueue_t gl_carray_waitqueue_t static void gl_waitqueue_init (gl_waitqueue_t *wq) { wq->array = NULL; wq->count = 0; wq->alloc = 0; wq->offset = 0; } /* Enqueues the current thread, represented by an event, in a wait queue. Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ static HANDLE gl_waitqueue_add (gl_waitqueue_t *wq) { HANDLE event; unsigned int index; if (wq->count == wq->alloc) { unsigned int new_alloc = 2 * wq->alloc + 1; HANDLE *new_array = (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); if (new_array == NULL) /* No more memory. */ return INVALID_HANDLE_VALUE; /* Now is a good opportunity to rotate the array so that its contents starts at offset 0. */ if (wq->offset > 0) { unsigned int old_count = wq->count; unsigned int old_alloc = wq->alloc; unsigned int old_offset = wq->offset; unsigned int i; if (old_offset + old_count > old_alloc) { unsigned int limit = old_offset + old_count - old_alloc; for (i = 0; i < limit; i++) new_array[old_alloc + i] = new_array[i]; } for (i = 0; i < old_count; i++) new_array[i] = new_array[old_offset + i]; wq->offset = 0; } wq->array = new_array; wq->alloc = new_alloc; } /* Whether the created event is a manual-reset one or an auto-reset one, does not matter, since we will wait on it only once. */ event = CreateEvent (NULL, TRUE, FALSE, NULL); if (event == INVALID_HANDLE_VALUE) /* No way to allocate an event. */ return INVALID_HANDLE_VALUE; index = wq->offset + wq->count; if (index >= wq->alloc) index -= wq->alloc; wq->array[index] = event; wq->count++; return event; } /* Notifies the first thread from a wait queue and dequeues it. */ static void gl_waitqueue_notify_first (gl_waitqueue_t *wq) { SetEvent (wq->array[wq->offset + 0]); wq->offset++; wq->count--; if (wq->count == 0 || wq->offset == wq->alloc) wq->offset = 0; } /* Notifies all threads from a wait queue and dequeues them all. */ static void gl_waitqueue_notify_all (gl_waitqueue_t *wq) { unsigned int i; for (i = 0; i < wq->count; i++) { unsigned int index = wq->offset + i; if (index >= wq->alloc) index -= wq->alloc; SetEvent (wq->array[index]); } wq->count = 0; wq->offset = 0; } void glthread_rwlock_init_func (gl_rwlock_t *lock) { InitializeCriticalSection (&lock->lock); gl_waitqueue_init (&lock->waiting_readers); gl_waitqueue_init (&lock->waiting_writers); lock->runcount = 0; lock->guard.done = 1; } int glthread_rwlock_rdlock_func (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ if (!(lock->runcount + 1 > 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_readers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_readers, incremented lock->runcount. */ if (!(lock->runcount > 0)) abort (); return 0; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount + 1 > 0)); } } lock->runcount++; LeaveCriticalSection (&lock->lock); return 0; } int glthread_rwlock_wrlock_func (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether no readers or writers are currently running. */ if (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_writers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_writers, set lock->runcount = -1. */ if (!(lock->runcount == -1)) abort (); return 0; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount == 0)); } } lock->runcount--; /* runcount becomes -1 */ LeaveCriticalSection (&lock->lock); return 0; } int glthread_rwlock_unlock_func (gl_rwlock_t *lock) { if (!lock->guard.done) return EINVAL; EnterCriticalSection (&lock->lock); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) { LeaveCriticalSection (&lock->lock); return EPERM; } lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers.count > 0) { /* Wake up one of the waiting writers. */ lock->runcount--; gl_waitqueue_notify_first (&lock->waiting_writers); } else { /* Wake up all waiting readers. */ lock->runcount += lock->waiting_readers.count; gl_waitqueue_notify_all (&lock->waiting_readers); } } LeaveCriticalSection (&lock->lock); return 0; } int glthread_rwlock_destroy_func (gl_rwlock_t *lock) { if (!lock->guard.done) return EINVAL; if (lock->runcount != 0) return EBUSY; DeleteCriticalSection (&lock->lock); if (lock->waiting_readers.array != NULL) free (lock->waiting_readers.array); if (lock->waiting_writers.array != NULL) free (lock->waiting_writers.array); lock->guard.done = 0; return 0; } /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock) { lock->owner = 0; lock->depth = 0; InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_recursive_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } { DWORD self = GetCurrentThreadId (); if (lock->owner != self) { EnterCriticalSection (&lock->lock); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ { lock->depth--; return EAGAIN; } } return 0; } int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock) { if (lock->owner != GetCurrentThreadId ()) return EPERM; if (lock->depth == 0) return EINVAL; if (--(lock->depth) == 0) { lock->owner = 0; LeaveCriticalSection (&lock->lock); } return 0; } int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock) { if (lock->owner != 0) return EBUSY; DeleteCriticalSection (&lock->lock); lock->guard.done = 0; return 0; } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)) { if (once_control->inited <= 0) { if (InterlockedIncrement (&once_control->started) == 0) { /* This thread is the first one to come to this once_control. */ InitializeCriticalSection (&once_control->lock); EnterCriticalSection (&once_control->lock); once_control->inited = 0; initfunction (); once_control->inited = 1; LeaveCriticalSection (&once_control->lock); } else { /* Undo last operation. */ InterlockedDecrement (&once_control->started); /* Some other thread has already started the initialization. Yield the CPU while waiting for the other thread to finish initializing and taking the lock. */ while (once_control->inited < 0) Sleep (0); if (once_control->inited <= 0) { /* Take the lock. This blocks until the other thread has finished calling the initfunction. */ EnterCriticalSection (&once_control->lock); LeaveCriticalSection (&once_control->lock); if (!(once_control->inited > 0)) abort (); } } } } #endif /* ========================================================================= */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/tls.h�������������������������������������������������������������������0000664�0000000�0000000�00000022037�12071024546�013666� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Thread-local storage in multithreaded situations. Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. */ /* This file contains thread-local storage primitives for use with a given thread library. It does not contain primitives for creating threads or for other multithreading primitives. Type: gl_tls_key_t Initialization: gl_tls_key_init (name, destructor); Getting per-thread value: gl_tls_get (name) Setting per-thread value: gl_tls_set (name, pointer); De-initialization: gl_tls_key_destroy (name); Equivalent functions with control of error handling: Initialization: err = glthread_tls_key_init (&name, destructor); Setting per-thread value: err = glthread_tls_set (&name, pointer); De-initialization: err = glthread_tls_key_destroy (&name); A per-thread value is of type 'void *'. A destructor is a function pointer of type 'void (*) (void *)', called when a thread exits, and taking the last per-thread value as argument. It is unspecified whether the destructor function is called when the last per-thread value is NULL. On some platforms, the destructor function is not called at all. */ #ifndef _TLS_H #define _TLS_H #include <errno.h> #include <stdlib.h> /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include <pthread.h> # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ # pragma weak pthread_key_create # pragma weak pthread_getspecific # pragma weak pthread_setspecific # pragma weak pthread_key_delete # ifndef pthread_self # pragma weak pthread_self # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* ------------------------- gl_tls_key_t datatype ------------------------- */ typedef union { void *singlethread_value; pthread_key_t key; } gl_tls_key_t; # define glthread_tls_key_init(KEY, DESTRUCTOR) \ (pthread_in_use () \ ? pthread_key_create (&(KEY)->key, DESTRUCTOR) \ : ((KEY)->singlethread_value = NULL, 0)) # define gl_tls_get(NAME) \ (pthread_in_use () \ ? pthread_getspecific ((NAME).key) \ : (NAME).singlethread_value) # define glthread_tls_set(KEY, POINTER) \ (pthread_in_use () \ ? pthread_setspecific ((KEY)->key, (POINTER)) \ : ((KEY)->singlethread_value = (POINTER), 0)) # define glthread_tls_key_destroy(KEY) \ (pthread_in_use () ? pthread_key_delete ((KEY)->key) : 0) #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include <pth.h> # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_key_create # pragma weak pth_key_getdata # pragma weak pth_key_setdata # pragma weak pth_key_delete # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* ------------------------- gl_tls_key_t datatype ------------------------- */ typedef union { void *singlethread_value; pth_key_t key; } gl_tls_key_t; # define glthread_tls_key_init(KEY, DESTRUCTOR) \ (pth_in_use () \ ? (!pth_key_create (&(KEY)->key, DESTRUCTOR) ? errno : 0) \ : ((KEY)->singlethread_value = NULL, 0)) # define gl_tls_get(NAME) \ (pth_in_use () \ ? pth_key_getdata ((NAME).key) \ : (NAME).singlethread_value) # define glthread_tls_set(KEY, POINTER) \ (pth_in_use () \ ? (!pth_key_setdata ((KEY)->key, (POINTER)) ? errno : 0) \ : ((KEY)->singlethread_value = (POINTER), 0)) # define glthread_tls_key_destroy(KEY) \ (pth_in_use () \ ? (!pth_key_delete ((KEY)->key) ? errno : 0) \ : 0) #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include <thread.h> # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak thr_keycreate # pragma weak thr_getspecific # pragma weak thr_setspecific # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* ------------------------- gl_tls_key_t datatype ------------------------- */ typedef union { void *singlethread_value; thread_key_t key; } gl_tls_key_t; # define glthread_tls_key_init(KEY, DESTRUCTOR) \ (thread_in_use () \ ? thr_keycreate (&(KEY)->key, DESTRUCTOR) \ : ((KEY)->singlethread_value = NULL, 0)) # define gl_tls_get(NAME) \ (thread_in_use () \ ? glthread_tls_get_multithreaded ((NAME).key) \ : (NAME).singlethread_value) extern void *glthread_tls_get_multithreaded (thread_key_t key); # define glthread_tls_set(KEY, POINTER) \ (thread_in_use () \ ? thr_setspecific ((KEY)->key, (POINTER)) \ : ((KEY)->singlethread_value = (POINTER), 0)) # define glthread_tls_key_destroy(KEY) \ /* Unsupported. */ \ 0 #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> /* ------------------------- gl_tls_key_t datatype ------------------------- */ typedef DWORD gl_tls_key_t; # define glthread_tls_key_init(KEY, DESTRUCTOR) \ /* The destructor is unsupported. */ \ ((*(KEY) = TlsAlloc ()) == (DWORD)-1 ? EAGAIN : ((void) (DESTRUCTOR), 0)) # define gl_tls_get(NAME) \ TlsGetValue (NAME) # define glthread_tls_set(KEY, POINTER) \ (!TlsSetValue (*(KEY), POINTER) ? EINVAL : 0) # define glthread_tls_key_destroy(KEY) \ (!TlsFree (*(KEY)) ? EINVAL : 0) #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) /* Provide dummy implementation if threads are not supported. */ /* ------------------------- gl_tls_key_t datatype ------------------------- */ typedef struct { void *singlethread_value; } gl_tls_key_t; # define glthread_tls_key_init(KEY, DESTRUCTOR) \ ((KEY)->singlethread_value = NULL, \ (void) (DESTRUCTOR), \ 0) # define gl_tls_get(NAME) \ (NAME).singlethread_value # define glthread_tls_set(KEY, POINTER) \ ((KEY)->singlethread_value = (POINTER), 0) # define glthread_tls_key_destroy(KEY) \ 0 #endif /* ========================================================================= */ /* Macros with built-in error handling. */ /* ------------------------- gl_tls_key_t datatype ------------------------- */ #define gl_tls_key_init(NAME, DESTRUCTOR) \ do \ { \ if (glthread_tls_key_init (&NAME, DESTRUCTOR)) \ abort (); \ } \ while (0) #define gl_tls_set(NAME, POINTER) \ do \ { \ if (glthread_tls_set (&NAME, POINTER)) \ abort (); \ } \ while (0) #define gl_tls_key_destroy(NAME) \ do \ { \ if (glthread_tls_key_destroy (&NAME)) \ abort (); \ } \ while (0) /* ========================================================================= */ #endif /* _TLS_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/lock.h������������������������������������������������������������������0000664�0000000�0000000�00000106652�12071561010�014012� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Locking in multithreaded situations. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ /* This file contains locking primitives for use with a given thread library. It does not contain primitives for creating threads or for other synchronization primitives. Normal (non-recursive) locks: Type: gl_lock_t Declaration: gl_lock_define(extern, name) Initializer: gl_lock_define_initialized(, name) Initialization: gl_lock_init (name); Taking the lock: gl_lock_lock (name); Releasing the lock: gl_lock_unlock (name); De-initialization: gl_lock_destroy (name); Equivalent functions with control of error handling: Initialization: err = glthread_lock_init (&name); Taking the lock: err = glthread_lock_lock (&name); Releasing the lock: err = glthread_lock_unlock (&name); De-initialization: err = glthread_lock_destroy (&name); Read-Write (non-recursive) locks: Type: gl_rwlock_t Declaration: gl_rwlock_define(extern, name) Initializer: gl_rwlock_define_initialized(, name) Initialization: gl_rwlock_init (name); Taking the lock: gl_rwlock_rdlock (name); gl_rwlock_wrlock (name); Releasing the lock: gl_rwlock_unlock (name); De-initialization: gl_rwlock_destroy (name); Equivalent functions with control of error handling: Initialization: err = glthread_rwlock_init (&name); Taking the lock: err = glthread_rwlock_rdlock (&name); err = glthread_rwlock_wrlock (&name); Releasing the lock: err = glthread_rwlock_unlock (&name); De-initialization: err = glthread_rwlock_destroy (&name); Recursive locks: Type: gl_recursive_lock_t Declaration: gl_recursive_lock_define(extern, name) Initializer: gl_recursive_lock_define_initialized(, name) Initialization: gl_recursive_lock_init (name); Taking the lock: gl_recursive_lock_lock (name); Releasing the lock: gl_recursive_lock_unlock (name); De-initialization: gl_recursive_lock_destroy (name); Equivalent functions with control of error handling: Initialization: err = glthread_recursive_lock_init (&name); Taking the lock: err = glthread_recursive_lock_lock (&name); Releasing the lock: err = glthread_recursive_lock_unlock (&name); De-initialization: err = glthread_recursive_lock_destroy (&name); Once-only execution: Type: gl_once_t Initializer: gl_once_define(extern, name) Execution: gl_once (name, initfunction); Equivalent functions with control of error handling: Execution: err = glthread_once (&name, initfunction); */ #ifndef _LOCK_H #define _LOCK_H #include <errno.h> #include <stdlib.h> /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include <pthread.h> # ifdef __cplusplus extern "C" { # endif # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ /* Weak references avoid dragging in external libraries if the other parts of the program don't use them. Here we use them, because we don't want every program that uses libintl to depend on libpthread. This assumes that libpthread would not be loaded after libintl; i.e. if libintl is loaded first, by an executable that does not depend on libpthread, and then a module is dynamically loaded that depends on libpthread, libintl will not be multithread-safe. */ /* The way to test at runtime whether libpthread is present is to test whether a function pointer's value, such as &pthread_mutex_init, is non-NULL. However, some versions of GCC have a bug through which, in PIC mode, &foo != NULL always evaluates to true if there is a direct call to foo(...) in the same function. To avoid this, we test the address of a function in libpthread that we don't use. */ # pragma weak pthread_mutex_init # pragma weak pthread_mutex_lock # pragma weak pthread_mutex_unlock # pragma weak pthread_mutex_destroy # pragma weak pthread_rwlock_init # pragma weak pthread_rwlock_rdlock # pragma weak pthread_rwlock_wrlock # pragma weak pthread_rwlock_unlock # pragma weak pthread_rwlock_destroy # pragma weak pthread_once # pragma weak pthread_cond_init # pragma weak pthread_cond_wait # pragma weak pthread_cond_signal # pragma weak pthread_cond_broadcast # pragma weak pthread_cond_destroy # pragma weak pthread_mutexattr_init # pragma weak pthread_mutexattr_settype # pragma weak pthread_mutexattr_destroy # ifndef pthread_self # pragma weak pthread_self # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pthread_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTHREAD_MUTEX_INITIALIZER # define glthread_lock_init(LOCK) \ (pthread_in_use () ? pthread_mutex_init (LOCK, NULL) : 0) # define glthread_lock_lock(LOCK) \ (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0) # define glthread_lock_unlock(LOCK) \ (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0) # define glthread_lock_destroy(LOCK) \ (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # ifdef PTHREAD_RWLOCK_INITIALIZER typedef pthread_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTHREAD_RWLOCK_INITIALIZER # define glthread_rwlock_init(LOCK) \ (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0) # define glthread_rwlock_rdlock(LOCK) \ (pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0) # define glthread_rwlock_wrlock(LOCK) \ (pthread_in_use () ? pthread_rwlock_wrlock (LOCK) : 0) # define glthread_rwlock_unlock(LOCK) \ (pthread_in_use () ? pthread_rwlock_unlock (LOCK) : 0) # define glthread_rwlock_destroy(LOCK) \ (pthread_in_use () ? pthread_rwlock_destroy (LOCK) : 0) # else typedef struct { int initialized; pthread_mutex_t guard; /* protects the initialization */ pthread_rwlock_t rwlock; /* read-write lock */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { 0, PTHREAD_MUTEX_INITIALIZER } # define glthread_rwlock_init(LOCK) \ (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0) # define glthread_rwlock_rdlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0) # define glthread_rwlock_wrlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0) # define glthread_rwlock_unlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0) # define glthread_rwlock_destroy(LOCK) \ (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0) extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock); # endif # else typedef struct { pthread_mutex_t lock; /* protects the remaining fields */ pthread_cond_t waiting_readers; /* waiting readers */ pthread_cond_t waiting_writers; /* waiting writers */ unsigned int waiting_writers_count; /* number of waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } # define glthread_rwlock_init(LOCK) \ (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0) # define glthread_rwlock_rdlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0) # define glthread_rwlock_wrlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0) # define glthread_rwlock_unlock(LOCK) \ (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0) # define glthread_rwlock_destroy(LOCK) \ (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0) extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock); extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock); # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP typedef pthread_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; # ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER # else # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP # endif # define glthread_recursive_lock_init(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) # define glthread_recursive_lock_lock(LOCK) \ (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0) # define glthread_recursive_lock_unlock(LOCK) \ (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0) # define glthread_recursive_lock_destroy(LOCK) \ (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0) extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); # else typedef struct { pthread_mutex_t recmutex; /* recursive mutex */ pthread_mutex_t guard; /* protects the initialization */ int initialized; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } # define glthread_recursive_lock_init(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) # define glthread_recursive_lock_lock(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_unlock(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_destroy(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); # endif # else /* Old versions of POSIX threads on Solaris did not have recursive locks. We have to implement them ourselves. */ typedef struct { pthread_mutex_t mutex; pthread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } # define glthread_recursive_lock_init(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) # define glthread_recursive_lock_lock(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_unlock(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_destroy(LOCK) \ (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); # endif /* -------------------------- gl_once_t datatype -------------------------- */ typedef pthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ (pthread_in_use () \ ? pthread_once (ONCE_CONTROL, INITFUNCTION) \ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) extern int glthread_once_singlethreaded (pthread_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include <pth.h> # ifdef __cplusplus extern "C" { # endif # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_mutex_init # pragma weak pth_mutex_acquire # pragma weak pth_mutex_release # pragma weak pth_rwlock_init # pragma weak pth_rwlock_acquire # pragma weak pth_rwlock_release # pragma weak pth_once # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pth_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTH_MUTEX_INIT # define glthread_lock_init(LOCK) \ (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) # define glthread_lock_lock(LOCK) \ (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) # define glthread_lock_unlock(LOCK) \ (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) # define glthread_lock_destroy(LOCK) \ ((void)(LOCK), 0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef pth_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTH_RWLOCK_INIT # define glthread_rwlock_init(LOCK) \ (pth_in_use () && !pth_rwlock_init (LOCK) ? errno : 0) # define glthread_rwlock_rdlock(LOCK) \ (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RD, 0, NULL) ? errno : 0) # define glthread_rwlock_wrlock(LOCK) \ (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RW, 0, NULL) ? errno : 0) # define glthread_rwlock_unlock(LOCK) \ (pth_in_use () && !pth_rwlock_release (LOCK) ? errno : 0) # define glthread_rwlock_destroy(LOCK) \ ((void)(LOCK), 0) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* In Pth, mutexes are recursive by default. */ typedef pth_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ PTH_MUTEX_INIT # define glthread_recursive_lock_init(LOCK) \ (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) # define glthread_recursive_lock_lock(LOCK) \ (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) # define glthread_recursive_lock_unlock(LOCK) \ (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) # define glthread_recursive_lock_destroy(LOCK) \ ((void)(LOCK), 0) /* -------------------------- gl_once_t datatype -------------------------- */ typedef pth_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ (pth_in_use () \ ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) extern int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)); extern int glthread_once_singlethreaded (pth_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include <thread.h> # include <synch.h> # ifdef __cplusplus extern "C" { # endif # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak mutex_init # pragma weak mutex_lock # pragma weak mutex_unlock # pragma weak mutex_destroy # pragma weak rwlock_init # pragma weak rw_rdlock # pragma weak rw_wrlock # pragma weak rw_unlock # pragma weak rwlock_destroy # pragma weak thr_self # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ DEFAULTMUTEX # define glthread_lock_init(LOCK) \ (thread_in_use () ? mutex_init (LOCK, USYNC_THREAD, NULL) : 0) # define glthread_lock_lock(LOCK) \ (thread_in_use () ? mutex_lock (LOCK) : 0) # define glthread_lock_unlock(LOCK) \ (thread_in_use () ? mutex_unlock (LOCK) : 0) # define glthread_lock_destroy(LOCK) \ (thread_in_use () ? mutex_destroy (LOCK) : 0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ DEFAULTRWLOCK # define glthread_rwlock_init(LOCK) \ (thread_in_use () ? rwlock_init (LOCK, USYNC_THREAD, NULL) : 0) # define glthread_rwlock_rdlock(LOCK) \ (thread_in_use () ? rw_rdlock (LOCK) : 0) # define glthread_rwlock_wrlock(LOCK) \ (thread_in_use () ? rw_wrlock (LOCK) : 0) # define glthread_rwlock_unlock(LOCK) \ (thread_in_use () ? rw_unlock (LOCK) : 0) # define glthread_rwlock_destroy(LOCK) \ (thread_in_use () ? rwlock_destroy (LOCK) : 0) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* Old Solaris threads did not have recursive locks. We have to implement them ourselves. */ typedef struct { mutex_t mutex; thread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { DEFAULTMUTEX, (thread_t) 0, 0 } # define glthread_recursive_lock_init(LOCK) \ (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) # define glthread_recursive_lock_lock(LOCK) \ (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_unlock(LOCK) \ (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) # define glthread_recursive_lock_destroy(LOCK) \ (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; mutex_t mutex; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ (thread_in_use () \ ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) extern int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)); extern int glthread_once_singlethreaded (gl_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WINDOWS_THREADS # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> # ifdef __cplusplus extern "C" { # endif /* We can use CRITICAL_SECTION directly, rather than the native Windows Event, Mutex, Semaphore types, because - we need only to synchronize inside a single process (address space), not inter-process locking, - we don't need to support trylock operations. (TryEnterCriticalSection does not work on Windows 95/98/ME. Packages that need trylock usually define their own mutex type.) */ /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ typedef struct { volatile int done; volatile long started; } gl_spinlock_t; /* -------------------------- gl_lock_t datatype -------------------------- */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; } gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME = gl_lock_initializer; # define gl_lock_initializer \ { { 0, -1 } } # define glthread_lock_init(LOCK) \ (glthread_lock_init_func (LOCK), 0) # define glthread_lock_lock(LOCK) \ glthread_lock_lock_func (LOCK) # define glthread_lock_unlock(LOCK) \ glthread_lock_unlock_func (LOCK) # define glthread_lock_destroy(LOCK) \ glthread_lock_destroy_func (LOCK) extern void glthread_lock_init_func (gl_lock_t *lock); extern int glthread_lock_lock_func (gl_lock_t *lock); extern int glthread_lock_unlock_func (gl_lock_t *lock); extern int glthread_lock_destroy_func (gl_lock_t *lock); /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* It is impossible to implement read-write locks using plain locks, without introducing an extra thread dedicated to managing read-write locks. Therefore here we need to use the low-level Event type. */ typedef struct { HANDLE *array; /* array of waiting threads, each represented by an event */ unsigned int count; /* number of waiting threads */ unsigned int alloc; /* length of allocated array */ unsigned int offset; /* index of first waiting thread in array */ } gl_carray_waitqueue_t; typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; /* protects the remaining fields */ gl_carray_waitqueue_t waiting_readers; /* waiting readers */ gl_carray_waitqueue_t waiting_writers; /* waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { { 0, -1 } } # define glthread_rwlock_init(LOCK) \ (glthread_rwlock_init_func (LOCK), 0) # define glthread_rwlock_rdlock(LOCK) \ glthread_rwlock_rdlock_func (LOCK) # define glthread_rwlock_wrlock(LOCK) \ glthread_rwlock_wrlock_func (LOCK) # define glthread_rwlock_unlock(LOCK) \ glthread_rwlock_unlock_func (LOCK) # define glthread_rwlock_destroy(LOCK) \ glthread_rwlock_destroy_func (LOCK) extern void glthread_rwlock_init_func (gl_rwlock_t *lock); extern int glthread_rwlock_rdlock_func (gl_rwlock_t *lock); extern int glthread_rwlock_wrlock_func (gl_rwlock_t *lock); extern int glthread_rwlock_unlock_func (gl_rwlock_t *lock); extern int glthread_rwlock_destroy_func (gl_rwlock_t *lock); /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* The native Windows documentation says that CRITICAL_SECTION already implements a recursive lock. But we need not rely on it: It's easy to implement a recursive lock without this assumption. */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ DWORD owner; unsigned long depth; CRITICAL_SECTION lock; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { { 0, -1 }, 0, 0 } # define glthread_recursive_lock_init(LOCK) \ (glthread_recursive_lock_init_func (LOCK), 0) # define glthread_recursive_lock_lock(LOCK) \ glthread_recursive_lock_lock_func (LOCK) # define glthread_recursive_lock_unlock(LOCK) \ glthread_recursive_lock_unlock_func (LOCK) # define glthread_recursive_lock_destroy(LOCK) \ glthread_recursive_lock_destroy_func (LOCK) extern void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock); extern int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; volatile long started; CRITICAL_SECTION lock; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { -1, -1 }; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ (glthread_once_func (ONCE_CONTROL, INITFUNCTION), 0) extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) /* Provide dummy implementation if threads are not supported. */ /* -------------------------- gl_lock_t datatype -------------------------- */ typedef int gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) # define gl_lock_define_initialized(STORAGECLASS, NAME) # define glthread_lock_init(NAME) 0 # define glthread_lock_lock(NAME) 0 # define glthread_lock_unlock(NAME) 0 # define glthread_lock_destroy(NAME) 0 /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef int gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) # define gl_rwlock_define_initialized(STORAGECLASS, NAME) # define glthread_rwlock_init(NAME) 0 # define glthread_rwlock_rdlock(NAME) 0 # define glthread_rwlock_wrlock(NAME) 0 # define glthread_rwlock_unlock(NAME) 0 # define glthread_rwlock_destroy(NAME) 0 /* --------------------- gl_recursive_lock_t datatype --------------------- */ typedef int gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) # define glthread_recursive_lock_init(NAME) 0 # define glthread_recursive_lock_lock(NAME) 0 # define glthread_recursive_lock_unlock(NAME) 0 # define glthread_recursive_lock_destroy(NAME) 0 /* -------------------------- gl_once_t datatype -------------------------- */ typedef int gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = 0; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ (*(ONCE_CONTROL) == 0 ? (*(ONCE_CONTROL) = ~ 0, INITFUNCTION (), 0) : 0) #endif /* ========================================================================= */ /* Macros with built-in error handling. */ /* -------------------------- gl_lock_t datatype -------------------------- */ #define gl_lock_init(NAME) \ do \ { \ if (glthread_lock_init (&NAME)) \ abort (); \ } \ while (0) #define gl_lock_lock(NAME) \ do \ { \ if (glthread_lock_lock (&NAME)) \ abort (); \ } \ while (0) #define gl_lock_unlock(NAME) \ do \ { \ if (glthread_lock_unlock (&NAME)) \ abort (); \ } \ while (0) #define gl_lock_destroy(NAME) \ do \ { \ if (glthread_lock_destroy (&NAME)) \ abort (); \ } \ while (0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ #define gl_rwlock_init(NAME) \ do \ { \ if (glthread_rwlock_init (&NAME)) \ abort (); \ } \ while (0) #define gl_rwlock_rdlock(NAME) \ do \ { \ if (glthread_rwlock_rdlock (&NAME)) \ abort (); \ } \ while (0) #define gl_rwlock_wrlock(NAME) \ do \ { \ if (glthread_rwlock_wrlock (&NAME)) \ abort (); \ } \ while (0) #define gl_rwlock_unlock(NAME) \ do \ { \ if (glthread_rwlock_unlock (&NAME)) \ abort (); \ } \ while (0) #define gl_rwlock_destroy(NAME) \ do \ { \ if (glthread_rwlock_destroy (&NAME)) \ abort (); \ } \ while (0) /* --------------------- gl_recursive_lock_t datatype --------------------- */ #define gl_recursive_lock_init(NAME) \ do \ { \ if (glthread_recursive_lock_init (&NAME)) \ abort (); \ } \ while (0) #define gl_recursive_lock_lock(NAME) \ do \ { \ if (glthread_recursive_lock_lock (&NAME)) \ abort (); \ } \ while (0) #define gl_recursive_lock_unlock(NAME) \ do \ { \ if (glthread_recursive_lock_unlock (&NAME)) \ abort (); \ } \ while (0) #define gl_recursive_lock_destroy(NAME) \ do \ { \ if (glthread_recursive_lock_destroy (&NAME)) \ abort (); \ } \ while (0) /* -------------------------- gl_once_t datatype -------------------------- */ #define gl_once(NAME, INITFUNCTION) \ do \ { \ if (glthread_once (&NAME, INITFUNCTION)) \ abort (); \ } \ while (0) /* ========================================================================= */ #endif /* _LOCK_H */ ��������������������������������������������������������������������������������������coreutils-8.21/lib/glthread/threadlib.c�������������������������������������������������������������0000664�0000000�0000000�00000003536�12071561010�015010� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Multithreading primitives. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. */ #include <config.h> /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include <pthread.h> # include <stdlib.h> # if PTHREAD_IN_USE_DETECTION_HARD /* The function to be executed by a dummy thread. */ static void * dummy_thread_func (void *arg) { return arg; } int glthread_in_use (void) { static int tested; static int result; /* 1: linked with -lpthread, 0: only with libc */ if (!tested) { pthread_t thread; if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) /* Thread creation failed. */ result = 0; else { /* Thread creation works. */ void *retval; if (pthread_join (thread, &retval) != 0) abort (); result = 1; } tested = 1; } return result; } # endif #endif /* ========================================================================= */ /* This declaration is solely to ensure that after preprocessing this file is never empty. */ typedef int dummy; ������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strnlen1.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002365�12071024546�013035� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Find the length of STRING + 1, but scan at most MAXLEN bytes. Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <config.h> /* Specification. */ #include "strnlen1.h" #include <string.h> /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ size_t strnlen1 (const char *string, size_t maxlen) { const char *end = (const char *) memchr (string, '\0', maxlen); if (end != NULL) return end - string + 1; else return maxlen; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/fd-reopen.h����������������������������������������������������������������������0000664�0000000�0000000�00000001556�12102337340�013146� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Invoke open, but return either a desired file descriptor or -1. Copyright (C) 2005-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paul Eggert. */ #include <sys/types.h> int fd_reopen (int, char const *, int, mode_t); ��������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/error.c��������������������������������������������������������������������������0000664�0000000�0000000�00000024070�12071024546�012415� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Error handler for noninteractive utilities Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */ #if !_LIBC # include <config.h> #endif #include "error.h" #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #if !_LIBC && ENABLE_NLS # include "gettext.h" # define _(msgid) gettext (msgid) #endif #ifdef _LIBC # include <libintl.h> # include <stdbool.h> # include <stdint.h> # include <wchar.h> # define mbsrtowcs __mbsrtowcs #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifndef _ # define _(String) String #endif /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ void (*error_print_progname) (void); /* This variable is incremented each time 'error' is called. */ unsigned int error_message_count; #ifdef _LIBC /* In the GNU C library, there is a predefined variable for this. */ # define program_name program_invocation_name # include <errno.h> # include <limits.h> # include <libio/libioP.h> /* In GNU libc we want do not want to use the common name 'error' directly. Instead make it a weak alias. */ extern void __error (int status, int errnum, const char *message, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void __error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) __attribute__ ((__format__ (__printf__, 5, 6)));; # define error __error # define error_at_line __error_at_line # include <libio/iolibio.h> # define fflush(s) INTUSE(_IO_fflush) (s) # undef putc # define putc(c, fp) INTUSE(_IO_putc) (c, fp) # include <bits/libc-lock.h> #else /* not _LIBC */ # include <fcntl.h> # include <unistd.h> # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the native Windows API functions. */ # define WIN32_LEAN_AND_MEAN # include <windows.h> /* Get _get_osfhandle. */ # include "msvc-nothrow.h" # endif /* The gnulib override of fcntl is not needed in this file. */ # undef fcntl # if !HAVE_DECL_STRERROR_R # ifndef HAVE_DECL_STRERROR_R "this configure-time declaration test was not run" # endif # if STRERROR_R_CHAR_P char *strerror_r (); # else int strerror_r (); # endif # endif /* The calling program should define program_name and set it to the name of the executing program. */ extern char *program_name; # if HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r # endif /* HAVE_STRERROR_R || defined strerror_r */ #endif /* not _LIBC */ #if !_LIBC /* Return non-zero if FD is open. */ static int is_open (int fd) { # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Windows: The initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE. There is no fcntl, and the gnulib replacement fcntl does not support F_GETFL. */ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE; # else # ifndef F_GETFL # error Please port fcntl to your platform # endif return 0 <= fcntl (fd, F_GETFL); # endif } #endif static void flush_stdout (void) { #if !_LIBC int stdout_fd; # if GNULIB_FREOPEN_SAFER /* Use of gnulib's freopen-safer module normally ensures that fileno (stdout) == 1 whenever stdout is open. */ stdout_fd = STDOUT_FILENO; # else /* POSIX states that fileno (stdout) after fclose is unspecified. But in practice it is not a problem, because stdout is statically allocated and the fd of a FILE stream is stored as a field in its allocated memory. */ stdout_fd = fileno (stdout); # endif /* POSIX states that fflush (stdout) after fclose is unspecified; it is safe in glibc, but not on all other platforms. fflush (NULL) is always defined, but too draconian. */ if (0 <= stdout_fd && is_open (stdout_fd)) #endif fflush (stdout); } static void print_errno_message (int errnum) { char const *s; #if defined HAVE_STRERROR_R || _LIBC char errbuf[1024]; # if STRERROR_R_CHAR_P || _LIBC s = __strerror_r (errnum, errbuf, sizeof errbuf); # else if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) s = errbuf; else s = 0; # endif #else s = strerror (errnum); #endif #if !_LIBC if (! s) s = _("Unknown system error"); #endif #if _LIBC __fxprintf (NULL, ": %s", s); #else fprintf (stderr, ": %s", s); #endif } static void error_tail (int status, int errnum, const char *message, va_list args) { #if _LIBC if (_IO_fwide (stderr, 0) > 0) { # define ALLOCA_LIMIT 2000 size_t len = strlen (message) + 1; wchar_t *wmessage = NULL; mbstate_t st; size_t res; const char *tmp; bool use_malloc = false; while (1) { if (__libc_use_alloca (len * sizeof (wchar_t))) wmessage = (wchar_t *) alloca (len * sizeof (wchar_t)); else { if (!use_malloc) wmessage = NULL; wchar_t *p = (wchar_t *) realloc (wmessage, len * sizeof (wchar_t)); if (p == NULL) { free (wmessage); fputws_unlocked (L"out of memory\n", stderr); return; } wmessage = p; use_malloc = true; } memset (&st, '\0', sizeof (st)); tmp = message; res = mbsrtowcs (wmessage, &tmp, len, &st); if (res != len) break; if (__builtin_expect (len >= SIZE_MAX / 2, 0)) { /* This really should not happen if everything is fine. */ res = (size_t) -1; break; } len *= 2; } if (res == (size_t) -1) { /* The string cannot be converted. */ if (use_malloc) { free (wmessage); use_malloc = false; } wmessage = (wchar_t *) L"???"; } __vfwprintf (stderr, wmessage, args); if (use_malloc) free (wmessage); } else #endif vfprintf (stderr, message, args); va_end (args); ++error_message_count; if (errnum) print_errno_message (errnum); #if _LIBC __fxprintf (NULL, "\n"); #else putc ('\n', stderr); #endif fflush (stderr); if (status) exit (status); } /* Print the program name and error message MESSAGE, which is a printf-style format string with optional args. If ERRNUM is nonzero, print its corresponding system error message. Exit with status STATUS if it is nonzero. */ void error (int status, int errnum, const char *message, ...) { va_list args; #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif flush_stdout (); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s: ", program_name); #else fprintf (stderr, "%s: ", program_name); #endif } va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ int error_one_per_line; void error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) { va_list args; if (error_one_per_line) { static const char *old_file_name; static unsigned int old_line_number; if (old_line_number == line_number && (file_name == old_file_name || strcmp (old_file_name, file_name) == 0)) /* Simply return and print nothing. */ return; old_file_name = file_name; old_line_number = line_number; } #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif flush_stdout (); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s:", program_name); #else fprintf (stderr, "%s:", program_name); #endif } #if _LIBC __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #else fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #endif va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } #ifdef _LIBC /* Make the weak alias. */ # undef error # undef error_at_line weak_alias (__error, error) weak_alias (__error_at_line, error_at_line) #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/wctype.in.h����������������������������������������������������������������������0000664�0000000�0000000�00000031421�12071561015�013204� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* A substitute for ISO C99 <wctype.h>, for platforms that lack it. Copyright (C) 2006-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ /* Written by Bruno Haible and Paul Eggert. */ /* * ISO C 99 <wctype.h> for platforms that lack it. * <http://www.opengroup.org/susv3xbd/wctype.h.html> * * iswctype, towctrans, towlower, towupper, wctrans, wctype, * wctrans_t, and wctype_t are not yet implemented. */ #ifndef _@GUARD_PREFIX@_WCTYPE_H #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ #if @HAVE_WINT_T@ /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included before <wchar.h>. */ # include <stddef.h> # include <stdio.h> # include <time.h> # include <wchar.h> #endif /* Include the original <wctype.h> if it exists. BeOS 5 has the functions but no <wctype.h>. */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCTYPE_H@ # @INCLUDE_NEXT@ @NEXT_WCTYPE_H@ #endif #ifndef _@GUARD_PREFIX@_WCTYPE_H #define _@GUARD_PREFIX@_WCTYPE_H _GL_INLINE_HEADER_BEGIN #ifndef _GL_WCTYPE_INLINE # define _GL_WCTYPE_INLINE _GL_INLINE #endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ /* Solaris 2.6 <wctype.h> includes <widec.h> which includes <euc.h> which #defines a number of identifiers in the application namespace. Revert these #defines. */ #ifdef __sun # undef multibyte # undef eucw1 # undef eucw2 # undef eucw3 # undef scrw1 # undef scrw2 # undef scrw3 #endif /* Define wint_t and WEOF. (Also done in wchar.in.h.) */ #if !@HAVE_WINT_T@ && !defined wint_t # define wint_t int # ifndef WEOF # define WEOF -1 # endif #else /* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>. This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it. */ # if defined _MSC_VER # if !GNULIB_defined_wint_t # include <crtdefs.h> typedef unsigned int rpl_wint_t; # undef wint_t # define wint_t rpl_wint_t # define GNULIB_defined_wint_t 1 # endif # endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif #endif #if !GNULIB_defined_wctype_functions /* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions. Linux libc5 has <wctype.h> and the functions but they are broken. Assume all 11 functions (all isw* except iswblank) are implemented the same way, or not at all. */ # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ /* IRIX 5.3 has macros but no functions, its isw* macros refer to an undefined variable _ctmp_ and to <ctype.h> macros like _P, and they refer to system functions like _iswctype that are not in the standard C library. Rather than try to get ancient buggy implementations like this to work, just disable them. */ # undef iswalnum # undef iswalpha # undef iswblank # undef iswcntrl # undef iswdigit # undef iswgraph # undef iswlower # undef iswprint # undef iswpunct # undef iswspace # undef iswupper # undef iswxdigit # undef towlower # undef towupper /* Linux libc5 has <wctype.h> and the functions but they are broken. */ # if @REPLACE_ISWCNTRL@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iswalnum rpl_iswalnum # define iswalpha rpl_iswalpha # define iswblank rpl_iswblank # define iswcntrl rpl_iswcntrl # define iswdigit rpl_iswdigit # define iswgraph rpl_iswgraph # define iswlower rpl_iswlower # define iswprint rpl_iswprint # define iswpunct rpl_iswpunct # define iswspace rpl_iswspace # define iswupper rpl_iswupper # define iswxdigit rpl_iswxdigit # endif # endif # if @REPLACE_TOWLOWER@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towlower rpl_towlower # define towupper rpl_towupper # endif # endif _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswalnum # else iswalnum # endif (wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')); } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswalpha # else iswalpha # endif (wint_t wc) { return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswblank # else iswblank # endif (wint_t wc) { return wc == ' ' || wc == '\t'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswcntrl # else iswcntrl # endif (wint_t wc) { return (wc & ~0x1f) == 0 || wc == 0x7f; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswdigit # else iswdigit # endif (wint_t wc) { return wc >= '0' && wc <= '9'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswgraph # else iswgraph # endif (wint_t wc) { return wc >= '!' && wc <= '~'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswlower # else iswlower # endif (wint_t wc) { return wc >= 'a' && wc <= 'z'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswprint # else iswprint # endif (wint_t wc) { return wc >= ' ' && wc <= '~'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswpunct # else iswpunct # endif (wint_t wc) { return (wc >= '!' && wc <= '~' && !((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'))); } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswspace # else iswspace # endif (wint_t wc) { return (wc == ' ' || wc == '\t' || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r'); } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswupper # else iswupper # endif (wint_t wc) { return wc >= 'A' && wc <= 'Z'; } _GL_WCTYPE_INLINE int # if @REPLACE_ISWCNTRL@ rpl_iswxdigit # else iswxdigit # endif (wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F')); } _GL_WCTYPE_INLINE wint_t # if @REPLACE_TOWLOWER@ rpl_towlower # else towlower # endif (wint_t wc) { return (wc >= 'A' && wc <= 'Z' ? wc - 'A' + 'a' : wc); } _GL_WCTYPE_INLINE wint_t # if @REPLACE_TOWLOWER@ rpl_towupper # else towupper # endif (wint_t wc) { return (wc >= 'a' && wc <= 'z' ? wc - 'a' + 'A' : wc); } # elif @GNULIB_ISWBLANK@ && (! @HAVE_ISWBLANK@ || @REPLACE_ISWBLANK@) /* Only the iswblank function is missing. */ # if @REPLACE_ISWBLANK@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iswblank rpl_iswblank # endif _GL_FUNCDECL_RPL (iswblank, int, (wint_t wc)); # else _GL_FUNCDECL_SYS (iswblank, int, (wint_t wc)); # endif # endif # if defined __MINGW32__ /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. The functions towlower and towupper are implemented in the MSVCRT library to take a wchar_t argument and return a wchar_t result. mingw declares these functions to take a wint_t argument and return a wint_t result. This means that: 1. When the user passes an argument outside the range 0x0000..0xFFFF, the function will look only at the lower 16 bits. This is allowed according to POSIX. 2. The return value is returned in the lower 16 bits of the result register. The upper 16 bits are random: whatever happened to be in that part of the result register. We need to fix this by adding a zero-extend from wchar_t to wint_t after the call. */ _GL_WCTYPE_INLINE wint_t rpl_towlower (wint_t wc) { return (wint_t) (wchar_t) towlower (wc); } # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towlower rpl_towlower # endif _GL_WCTYPE_INLINE wint_t rpl_towupper (wint_t wc) { return (wint_t) (wchar_t) towupper (wc); } # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define towupper rpl_towupper # endif # endif /* __MINGW32__ */ # define GNULIB_defined_wctype_functions 1 #endif #if @REPLACE_ISWCNTRL@ _GL_CXXALIAS_RPL (iswalnum, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswalpha, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswcntrl, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswdigit, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswgraph, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswlower, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswprint, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswpunct, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswspace, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswupper, int, (wint_t wc)); _GL_CXXALIAS_RPL (iswxdigit, int, (wint_t wc)); #else _GL_CXXALIAS_SYS (iswalnum, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswalpha, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswcntrl, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswdigit, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswgraph, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswlower, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswprint, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswpunct, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswspace, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswupper, int, (wint_t wc)); _GL_CXXALIAS_SYS (iswxdigit, int, (wint_t wc)); #endif _GL_CXXALIASWARN (iswalnum); _GL_CXXALIASWARN (iswalpha); _GL_CXXALIASWARN (iswcntrl); _GL_CXXALIASWARN (iswdigit); _GL_CXXALIASWARN (iswgraph); _GL_CXXALIASWARN (iswlower); _GL_CXXALIASWARN (iswprint); _GL_CXXALIASWARN (iswpunct); _GL_CXXALIASWARN (iswspace); _GL_CXXALIASWARN (iswupper); _GL_CXXALIASWARN (iswxdigit); #if @GNULIB_ISWBLANK@ # if @REPLACE_ISWCNTRL@ || @REPLACE_ISWBLANK@ _GL_CXXALIAS_RPL (iswblank, int, (wint_t wc)); # else _GL_CXXALIAS_SYS (iswblank, int, (wint_t wc)); # endif _GL_CXXALIASWARN (iswblank); #endif #if !@HAVE_WCTYPE_T@ # if !GNULIB_defined_wctype_t typedef void * wctype_t; # define GNULIB_defined_wctype_t 1 # endif #endif /* Get a descriptor for a wide character property. */ #if @GNULIB_WCTYPE@ # if !@HAVE_WCTYPE_T@ _GL_FUNCDECL_SYS (wctype, wctype_t, (const char *name)); # endif _GL_CXXALIAS_SYS (wctype, wctype_t, (const char *name)); _GL_CXXALIASWARN (wctype); #elif defined GNULIB_POSIXCHECK # undef wctype # if HAVE_RAW_DECL_WCTYPE _GL_WARN_ON_USE (wctype, "wctype is unportable - " "use gnulib module wctype for portability"); # endif #endif /* Test whether a wide character has a given property. The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctype() function. */ #if @GNULIB_ISWCTYPE@ # if !@HAVE_WCTYPE_T@ _GL_FUNCDECL_SYS (iswctype, int, (wint_t wc, wctype_t desc)); # endif _GL_CXXALIAS_SYS (iswctype, int, (wint_t wc, wctype_t desc)); _GL_CXXALIASWARN (iswctype); #elif defined GNULIB_POSIXCHECK # undef iswctype # if HAVE_RAW_DECL_ISWCTYPE _GL_WARN_ON_USE (iswctype, "iswctype is unportable - " "use gnulib module iswctype for portability"); # endif #endif #if @REPLACE_TOWLOWER@ || defined __MINGW32__ _GL_CXXALIAS_RPL (towlower, wint_t, (wint_t wc)); _GL_CXXALIAS_RPL (towupper, wint_t, (wint_t wc)); #else _GL_CXXALIAS_SYS (towlower, wint_t, (wint_t wc)); _GL_CXXALIAS_SYS (towupper, wint_t, (wint_t wc)); #endif _GL_CXXALIASWARN (towlower); _GL_CXXALIASWARN (towupper); #if !@HAVE_WCTRANS_T@ # if !GNULIB_defined_wctrans_t typedef void * wctrans_t; # define GNULIB_defined_wctrans_t 1 # endif #endif /* Get a descriptor for a wide character case conversion. */ #if @GNULIB_WCTRANS@ # if !@HAVE_WCTRANS_T@ _GL_FUNCDECL_SYS (wctrans, wctrans_t, (const char *name)); # endif _GL_CXXALIAS_SYS (wctrans, wctrans_t, (const char *name)); _GL_CXXALIASWARN (wctrans); #elif defined GNULIB_POSIXCHECK # undef wctrans # if HAVE_RAW_DECL_WCTRANS _GL_WARN_ON_USE (wctrans, "wctrans is unportable - " "use gnulib module wctrans for portability"); # endif #endif /* Perform a given case conversion on a wide character. The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctrans() function. */ #if @GNULIB_TOWCTRANS@ # if !@HAVE_WCTRANS_T@ _GL_FUNCDECL_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc)); # endif _GL_CXXALIAS_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc)); _GL_CXXALIASWARN (towctrans); #elif defined GNULIB_POSIXCHECK # undef towctrans # if HAVE_RAW_DECL_TOWCTRANS _GL_WARN_ON_USE (towctrans, "towctrans is unportable - " "use gnulib module towctrans for portability"); # endif #endif _GL_INLINE_HEADER_END #endif /* _@GUARD_PREFIX@_WCTYPE_H */ #endif /* _@GUARD_PREFIX@_WCTYPE_H */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/uniwidth.in.h��������������������������������������������������������������������0000664�0000000�0000000�00000004111�12071561014�013517� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Display width functions. Copyright (C) 2001-2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _UNIWIDTH_H #define _UNIWIDTH_H #include "unitypes.h" /* Get size_t. */ #include <stddef.h> /* Get locale_charset() declaration. */ #include "localcharset.h" #ifdef __cplusplus extern "C" { #endif /* Display width. */ /* These functions are locale dependent. The encoding argument identifies the encoding (e.g. "ISO-8859-2" for Polish). */ /* Determine number of column positions required for UC. */ extern int uc_width (ucs4_t uc, const char *encoding) _UC_ATTRIBUTE_PURE; /* Determine number of column positions required for first N units (or fewer if S ends before this) in S. */ extern int u8_width (const uint8_t *s, size_t n, const char *encoding) _UC_ATTRIBUTE_PURE; extern int u16_width (const uint16_t *s, size_t n, const char *encoding) _UC_ATTRIBUTE_PURE; extern int u32_width (const uint32_t *s, size_t n, const char *encoding) _UC_ATTRIBUTE_PURE; /* Determine number of column positions required for S. */ extern int u8_strwidth (const uint8_t *s, const char *encoding) _UC_ATTRIBUTE_PURE; extern int u16_strwidth (const uint16_t *s, const char *encoding) _UC_ATTRIBUTE_PURE; extern int u32_strwidth (const uint32_t *s, const char *encoding) _UC_ATTRIBUTE_PURE; #ifdef __cplusplus } #endif #endif /* _UNIWIDTH_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/memchr.c�������������������������������������������������������������������������0000664�0000000�0000000�00000013346�12071024546�012543� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _LIBC # include <config.h> #endif #include <string.h> #include <stddef.h> #if defined _LIBC # include <memcopy.h> #else # define reg_char char #endif #include <limits.h> #if HAVE_BP_SYM_H || defined _LIBC # include <bp-sym.h> #else # define BP_SYM(sym) sym #endif #undef __memchr #ifdef _LIBC # undef memchr #endif #ifndef weak_alias # define __memchr memchr #endif /* Search no more than N bytes of S for C. */ void * __memchr (void const *s, int c_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned reg_char c; c = (unsigned char) c_in; /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n, ++char_ptr) if (*char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. So, the test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) break; longword_ptr++; n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ for (; n > 0; --n, ++char_ptr) { if (*char_ptr == c) return (void *) char_ptr; } return NULL; } #ifdef weak_alias weak_alias (__memchr, BP_SYM (memchr)) #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/hash-triple.c��������������������������������������������������������������������0000664�0000000�0000000�00000004063�12071024546�013504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Hash functions for file-related triples: name, device, inode. Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* written by Jim Meyering */ #include <config.h> #include "hash-triple.h" #include <stdlib.h> #include <string.h> #include "hash-pjw.h" #include "same.h" #include "same-inode.h" #define STREQ(a, b) (strcmp (a, b) == 0) /* Hash an F_triple, and *do* consider the file name. */ size_t triple_hash (void const *x, size_t table_size) { struct F_triple const *p = x; size_t tmp = hash_pjw (p->name, table_size); /* Ignoring the device number here should be fine. */ return (tmp ^ p->st_ino) % table_size; } /* Hash an F_triple, without considering the file name. */ size_t triple_hash_no_name (void const *x, size_t table_size) { struct F_triple const *p = x; /* Ignoring the device number here should be fine. */ return p->st_ino % table_size; } /* Compare two F_triple structs. */ bool triple_compare (void const *x, void const *y) { struct F_triple const *a = x; struct F_triple const *b = y; return (SAME_INODE (*a, *b) && same_name (a->name, b->name)) ? true : false; } bool triple_compare_ino_str (void const *x, void const *y) { struct F_triple const *a = x; struct F_triple const *b = y; return (SAME_INODE (*a, *b) && STREQ (a->name, b->name)) ? true : false; } /* Free an F_triple. */ void triple_free (void *x) { struct F_triple *a = x; free (a->name); free (a); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/strtoul.c������������������������������������������������������������������������0000664�0000000�0000000�00000001450�12071024546�012775� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Copyright (C) 1991, 1997, 2009-2013 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define UNSIGNED 1 #include "strtol.c" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/frexp.c��������������������������������������������������������������������������0000664�0000000�0000000�00000010361�12071024546�012406� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Split a double into fraction and mantissa. Copyright (C) 2007-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Paolo Bonzini <bonzini@gnu.org>, 2003, and Bruno Haible <bruno@clisp.org>, 2007. */ #if ! defined USE_LONG_DOUBLE # include <config.h> #endif /* Specification. */ #include <math.h> #include <float.h> #ifdef USE_LONG_DOUBLE # include "isnanl-nolibm.h" # include "fpucw.h" #else # include "isnand-nolibm.h" #endif /* This file assumes FLT_RADIX = 2. If FLT_RADIX is a power of 2 greater than 2, or not even a power of 2, some rounding errors can occur, so that then the returned mantissa is only guaranteed to be <= 1.0, not < 1.0. */ #ifdef USE_LONG_DOUBLE # define FUNC frexpl # define DOUBLE long double # define ISNAN isnanl # define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING # define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING () # define END_ROUNDING() END_LONG_DOUBLE_ROUNDING () # define L_(literal) literal##L #else # define FUNC frexp # define DOUBLE double # define ISNAN isnand # define DECL_ROUNDING # define BEGIN_ROUNDING() # define END_ROUNDING() # define L_(literal) literal #endif DOUBLE FUNC (DOUBLE x, int *expptr) { int sign; int exponent; DECL_ROUNDING /* Test for NaN, infinity, and zero. */ if (ISNAN (x) || x + x == x) { *expptr = 0; return x; } sign = 0; if (x < 0) { x = - x; sign = -1; } BEGIN_ROUNDING (); { /* Since the exponent is an 'int', it fits in 64 bits. Therefore the loops are executed no more than 64 times. */ DOUBLE pow2[64]; /* pow2[i] = 2^2^i */ DOUBLE powh[64]; /* powh[i] = 2^-2^i */ int i; exponent = 0; if (x >= L_(1.0)) { /* A positive exponent. */ DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x >= 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x >= pow2_i) { exponent += (1 << i); x *= powh_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } /* Avoid making x too small, as it could become a denormalized number and thus lose precision. */ while (i > 0 && x < pow2[i - 1]) { i--; powh_i = powh[i]; } exponent += (1 << i); x *= powh_i; /* Here 2^-2^i <= x < 1.0. */ } else { /* A negative or zero exponent. */ DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x < 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x < powh_i) { exponent -= (1 << i); x *= pow2_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } /* Here 2^-2^i <= x < 1.0. */ } /* Invariants: x * 2^exponent = argument, and 2^-2^i <= x < 1.0. */ while (i > 0) { i--; if (x < powh[i]) { exponent -= (1 << i); x *= pow2[i]; } } /* Here 0.5 <= x < 1.0. */ } if (sign < 0) x = - x; END_ROUNDING (); *expptr = exponent; return x; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/areadlink.h����������������������������������������������������������������������0000664�0000000�0000000�00000002311�12071024545�013214� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Read symbolic links without size limitation. Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Written by Jim Meyering <jim@meyering.net> */ #include <stddef.h> extern char *areadlink (char const *filename); extern char *areadlink_with_size (char const *filename, size_t size_hint); #if GNULIB_AREADLINKAT extern char *areadlinkat (int fd, char const *filename); #endif #if GNULIB_AREADLINKAT_WITH_SIZE extern char *areadlinkat_with_size (int fd, char const *filename, size_t size_hint); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/c-strcase.h����������������������������������������������������������������������0000664�0000000�0000000�00000004014�12071561006�013146� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Case-insensitive string comparison functions in C locale. Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ #ifndef C_STRCASE_H #define C_STRCASE_H #include <stddef.h> /* The functions defined in this file assume the "C" locale and a character set without diacritics (ASCII-US or EBCDIC-US or something like that). Even if the "C" locale on a particular system is an extension of the ASCII character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it is ISO-8859-1), the functions in this file recognize only the ASCII characters. More precisely, one of the string arguments must be an ASCII string; the other one can also contain non-ASCII characters (but then the comparison result will be nonzero). */ #ifdef __cplusplus extern "C" { #endif /* Compare strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE; /* Compare no more than N characters of strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ extern int c_strncasecmp (const char *s1, const char *s2, size_t n) _GL_ATTRIBUTE_PURE; #ifdef __cplusplus } #endif #endif /* C_STRCASE_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������coreutils-8.21/lib/parse-datetime.y�����������������������������������������������������������������0000664�0000000�0000000�00000133551�12071024546�014223� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������%{ /* Parse a string into an internal time stamp. Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* Originally written by Steven M. Bellovin <smb@research.att.com> while at the University of North Carolina at Chapel Hill. Later tweaked by a couple of people on Usenet. Completely overhauled by Rich $alz <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990. Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do the right thing about local DST. Also modified by Paul Eggert <eggert@cs.ucla.edu> in February 2004 to support nanosecond-resolution time stamps, and in October 2004 to support TZ strings in dates. */ /* FIXME: Check for arithmetic overflow in all cases, not just some of them. */ #include <config.h> #include "parse-datetime.h" #include "intprops.h" #include "timespec.h" #include "verify.h" /* There's no need to extend the stack, so there's no need to involve alloca. */ #define YYSTACK_USE_ALLOCA 0 /* Tell Bison how much stack space is needed. 20 should be plenty for this grammar, which is not right recursive. Beware setting it too high, since that might cause problems on machines whose implementations have lame stack-overflow checking. */ #define YYMAXDEPTH 20 #define YYINITDEPTH YYMAXDEPTH /* Since the code of parse-datetime.y is not included in the Emacs executable itself, there is no need to #define static in this file. Even if the code were included in the Emacs executable, it probably wouldn't do any harm to #undef it here; this will only cause problems if we try to write to a static variable, which I don't think this code needs to do. */ #ifdef emacs # undef static #endif #include <c-ctype.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "xalloc.h" /* Bison's skeleton tests _STDLIB_H, while some stdlib.h headers use _STDLIB_H_ as witness. Map the latter to the one bison uses. */ /* FIXME: this is temporary. Remove when we have a mechanism to ensure that the version we're using is fixed, too. */ #ifdef _STDLIB_H_ # undef _STDLIB_H # define _STDLIB_H 1 #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 #define HOUR(x) ((x) * 60) /* long_time_t is a signed integer type that contains all time_t values. */ verify (TYPE_IS_INTEGER (time_t)); #if TIME_T_FITS_IN_LONG_INT typedef long int long_time_t; #else typedef time_t long_time_t; #endif /* Convert a possibly-signed character to an unsigned character. This is a bit safer than casting to unsigned char, since it catches some type errors that the cast doesn't. */ static unsigned char to_uchar (char ch) { return ch; } /* Lots of this code assumes time_t and time_t-like values fit into long_time_t. */ verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t)); /* FIXME: It also assumes that signed integer overflow silently wraps around, but this is not true any more with recent versions of GCC 4. */ /* An integer value, and the number of digits in its textual representation. */ typedef struct { bool negative; long int value; size_t digits; } textint; /* An entry in the lexical lookup table. */ typedef struct { char const *name; int type; int value; } table; /* Meridian: am, pm, or 24-hour style. */ enum { MERam, MERpm, MER24 }; enum { BILLION = 1000000000, LOG10_BILLION = 9 }; /* Relative times. */ typedef struct { /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ long int year; long int month; long int day; long int hour; long int minutes; long_time_t seconds; long int ns; } relative_time; #if HAVE_COMPOUND_LITERALS # define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 }) #else static relative_time const RELATIVE_TIME_0; #endif /* Information passed to and from the parser. */ typedef struct { /* The input string remaining to be parsed. */ const char *input; /* N, if this is the Nth Tuesday. */ long int day_ordinal; /* Day of week; Sunday is 0. */ int day_number; /* tm_isdst flag for the local zone. */ int local_isdst; /* Time zone, in minutes east of UTC. */ long int time_zone; /* Style used for time. */ int meridian; /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */ textint year; long int month; long int day; long int hour; long int minutes; struct timespec seconds; /* includes nanoseconds */ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ relative_time rel; /* Presence or counts of nonterminals of various flavors parsed so far. */ bool timespec_seen; bool rels_seen; size_t dates_seen; size_t days_seen; size_t local_zones_seen; size_t dsts_seen; size_t times_seen; size_t zones_seen; /* Table of local time zone abbreviations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; union YYSTYPE; static int yylex (union YYSTYPE *, parser_control *); static int yyerror (parser_control const *, char const *); static long int time_zone_hhmm (parser_control *, textint, long int); /* Extract into *PC any date and time info from a string of digits of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY, YYYY, ...). */ static void digits_to_date_time (parser_control *pc, textint text_int) { if (pc->dates_seen && ! pc->year.digits && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits)) pc->year = text_int; else { if (4 < text_int.digits) { pc->dates_seen++; pc->day = text_int.value % 100; pc->month = (text_int.value / 100) % 100; pc->year.value = text_int.value / 10000; pc->year.digits = text_int.digits - 4; } else { pc->times_seen++; if (text_int.digits <= 2) { pc->hour = text_int.value; pc->minutes = 0; } else { pc->hour = text_int.value / 100; pc->minutes = text_int.value % 100; } pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; } } } /* Increment PC->rel by FACTOR * REL (FACTOR is 1 or -1). */ static void apply_relative_time (parser_control *pc, relative_time rel, int factor) { pc->rel.ns += factor * rel.ns; pc->rel.seconds += factor * rel.seconds; pc->rel.minutes += factor * rel.minutes; pc->rel.hour += factor * rel.hour; pc->rel.day += factor * rel.day; pc->rel.month += factor * rel.month; pc->rel.year += factor * rel.year; pc->rels_seen = true; } /* Set PC-> hour, minutes, seconds and nanoseconds members from arguments. */ static void set_hhmmss (parser_control *pc, long int hour, long int minutes, time_t sec, long int nsec) { pc->hour = hour; pc->minutes = minutes; pc->seconds.tv_sec = sec; pc->seconds.tv_nsec = nsec; } %} /* We want a reentrant parser, even if the TZ manipulation and the calls to localtime and gmtime are not reentrant. */ %pure-parser %parse-param { parser_control *pc } %lex-param { parser_control *pc } /* This grammar has 31 shift/reduce conflicts. */ %expect 31 %union { long int intval; textint textintval; struct timespec timespec; relative_time rel; } %token <intval> tAGO %token tDST %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT %token <intval> tDAY_UNIT tDAY_SHIFT %token <intval> tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN %token <intval> tMONTH tORDINAL tZONE %token <textintval> tSNUMBER tUNUMBER %token <timespec> tSDECIMAL_NUMBER tUDECIMAL_NUMBER %type <intval> o_colon_minutes %type <timespec> seconds signed_seconds unsigned_seconds %type <rel> relunit relunit_snumber dayshift %% spec: timespec | items ; timespec: '@' seconds { pc->seconds = $2; pc->timespec_seen = true; } ; items: /* empty */ | items item ; item: datetime { pc->times_seen++; pc->dates_seen++; } | time { pc->times_seen++; } | local_zone { pc->local_zones_seen++; } | zone { pc->zones_seen++; } | date { pc->dates_seen++; } | day { pc->days_seen++; } | rel | number | hybrid ; datetime: iso_8601_datetime ; iso_8601_datetime: iso_8601_date 'T' iso_8601_time ; time: tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = $2; } | tUNUMBER ':' tUNUMBER tMERIDIAN { set_hhmmss (pc, $1.value, $3.value, 0, 0); pc->meridian = $4; } | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN { set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); pc->meridian = $6; } | iso_8601_time ; iso_8601_time: tUNUMBER zone_offset { set_hhmmss (pc, $1.value, 0, 0, 0); pc->meridian = MER24; } | tUNUMBER ':' tUNUMBER o_zone_offset { set_hhmmss (pc, $1.value, $3.value, 0, 0); pc->meridian = MER24; } | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset { set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); pc->meridian = MER24; } ; o_zone_offset: /* empty */ | zone_offset ; zone_offset: tSNUMBER o_colon_minutes { pc->zones_seen++; pc->time_zone = time_zone_hhmm (pc, $1, $2); } ; local_zone: tLOCAL_ZONE { pc->local_isdst = $1; pc->dsts_seen += (0 < $1); } | tLOCAL_ZONE tDST { pc->local_isdst = 1; pc->dsts_seen += (0 < $1) + 1; } ; /* Note 'T' is a special case, as it is used as the separator in ISO 8601 date and time of day representation. */ zone: tZONE { pc->time_zone = $1; } | 'T' { pc->time_zone = HOUR(7); } | tZONE relunit_snumber { pc->time_zone = $1; apply_relative_time (pc, $2, 1); } | 'T' relunit_snumber { pc->time_zone = HOUR(7); apply_relative_time (pc, $2, 1); } | tZONE tSNUMBER o_colon_minutes { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); } | tDAYZONE { pc->time_zone = $1 + 60; } | tZONE tDST { pc->time_zone = $1 + 60; } ; day: tDAY { pc->day_ordinal = 0; pc->day_number = $1; } | tDAY ',' { pc->day_ordinal = 0; pc->day_number = $1; } | tORDINAL tDAY { pc->day_ordinal = $1; pc->day_number = $2; } | tUNUMBER tDAY { pc->day_ordinal = $1.value; pc->day_number = $2; } ; date: tUNUMBER '/' tUNUMBER { pc->month = $1.value; pc->day = $3.value; } | tUNUMBER '/' tUNUMBER '/' tUNUMBER { /* Interpret as YYYY/MM/DD if the first value has 4 or more digits, otherwise as MM/DD/YY. The goal in recognizing YYYY/MM/DD is solely to support legacy machine-generated dates like those in an RCS log listing. If you want portability, use the ISO 8601 format. */ if (4 <= $1.digits) { pc->year = $1; pc->month = $3.value; pc->day = $5.value; } else { pc->month = $1.value; pc->day = $3.value; pc->year = $5; } } | tUNUMBER tMONTH tSNUMBER { /* e.g. 17-JUN-1992. */ pc->day = $1.value; pc->month = $2; pc->year.value = -$3.value; pc->year.digits = $3.digits; } | tMONTH tSNUMBER tSNUMBER { /* e.g. JUN-17-1992. */ pc->month = $1; pc->day = -$2.value; pc->year.value = -$3.value; pc->year.digits = $3.digits; } | tMONTH tUNUMBER { pc->month = $1; pc->day = $2.value; } | tMONTH tUNUMBER ',' tUNUMBER { pc->month = $1; pc->day = $2.value; pc->year = $4; } | tUNUMBER tMONTH { pc->day = $1.value; pc->month = $2; } | tUNUMBER tMONTH tUNUMBER { pc->day = $1.value; pc->month = $2; pc->year = $3; } | iso_8601_date ; iso_8601_date: tUNUMBER tSNUMBER tSNUMBER { /* ISO 8601 format. YYYY-MM-DD. */ pc->year = $1; pc->month = -$2.value; pc->day = -$3.value; } ; rel: relunit tAGO { apply_relative_time (pc, $1, $2); } | relunit { apply_relative_time (pc, $1, 1); } | dayshift { apply_relative_time (pc, $1, 1); } ; relunit: tORDINAL tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1; } | tUNUMBER tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = 1; } | tORDINAL tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1; } | tUNUMBER tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = 1; } | tORDINAL tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1 * $2; } | tUNUMBER tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; } | tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1; } | tORDINAL tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1; } | tUNUMBER tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = 1; } | tORDINAL tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | tUNUMBER tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = 1; } | tORDINAL tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | tUNUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | tSDECIMAL_NUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | tUDECIMAL_NUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = 1; } | relunit_snumber ; relunit_snumber: tSNUMBER tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | tSNUMBER tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | tSNUMBER tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; } | tSNUMBER tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | tSNUMBER tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | tSNUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } ; dayshift: tDAY_SHIFT { $$ = RELATIVE_TIME_0; $$.day = $1; } ; seconds: signed_seconds | unsigned_seconds; signed_seconds: tSDECIMAL_NUMBER | tSNUMBER { $$.tv_sec = $1.value; $$.tv_nsec = 0; } ; unsigned_seconds: tUDECIMAL_NUMBER | tUNUMBER { $$.tv_sec = $1.value; $$.tv_nsec = 0; } ; number: tUNUMBER { digits_to_date_time (pc, $1); } ; hybrid: tUNUMBER relunit_snumber { /* Hybrid all-digit and relative offset, so that we accept e.g., "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ digits_to_date_time (pc, $1); apply_relative_time (pc, $2, 1); } ; o_colon_minutes: /* empty */ { $$ = -1; } | ':' tUNUMBER { $$ = $2.value; } ; %% static table const meridian_table[] = { { "AM", tMERIDIAN, MERam }, { "A.M.", tMERIDIAN, MERam }, { "PM", tMERIDIAN, MERpm }, { "P.M.", tMERIDIAN, MERpm }, { NULL, 0, 0 } }; static table const dst_table[] = { { "DST", tDST, 0 } }; static table const month_and_day_table[] = { { "JANUARY", tMONTH, 1 }, { "FEBRUARY", tMONTH, 2 }, { "MARCH", tMONTH, 3 }, { "APRIL", tMONTH, 4 }, { "MAY", tMONTH, 5 }, { "JUNE", tMONTH, 6 }, { "JULY", tMONTH, 7 }, { "AUGUST", tMONTH, 8 }, { "SEPTEMBER",tMONTH, 9 }, { "SEPT", tMONTH, 9 }, { "OCTOBER", tMONTH, 10 }, { "NOVEMBER", tMONTH, 11 }, { "DECEMBER", tMONTH, 12 }, { "SUNDAY", tDAY, 0 }, { "MONDAY", tDAY, 1 }, { "TUESDAY", tDAY, 2 }, { "TUES", tDAY, 2 }, { "WEDNESDAY",tDAY, 3 }, { "WEDNES", tDAY, 3 }, { "THURSDAY", tDAY, 4 }, { "THUR", tDAY, 4 }, { "THURS", tDAY, 4 }, { "FRIDAY", tDAY, 5 }, { "SATURDAY", tDAY, 6 }, { NULL, 0, 0 } }; static table const time_units_table[] = { { "YEAR", tYEAR_UNIT, 1 }, { "MONTH", tMONTH_UNIT, 1 }, { "FORTNIGHT",tDAY_UNIT, 14 }, { "WEEK", tDAY_UNIT, 7 }, { "DAY", tDAY_UNIT, 1 }, { "HOUR", tHOUR_UNIT, 1 }, { "MINUTE", tMINUTE_UNIT, 1 }, { "MIN", tMINUTE_UNIT, 1 }, { "SECOND", tSEC_UNIT, 1 }, { "SEC", tSEC_UNIT, 1 }, { NULL, 0, 0 } }; /* Assorted relative-time words. */ static table const relative_time_table[] = { { "TOMORROW", tDAY_SHIFT, 1 }, { "YESTERDAY",tDAY_SHIFT, -1 }, { "TODAY", tDAY_SHIFT, 0 }, { "NOW", tDAY_SHIFT, 0 }, { "LAST", tORDINAL, -1 }, { "THIS", tORDINAL, 0 }, { "NEXT", tORDINAL, 1 }, { "FIRST", tORDINAL, 1 }, /*{ "SECOND", tORDINAL, 2 }, */ { "THIRD", tORDINAL, 3 }, { "FOURTH", tORDINAL, 4 }, { "FIFTH", tORDINAL, 5 }, { "SIXTH", tORDINAL, 6 }, { "SEVENTH", tORDINAL, 7 }, { "EIGHTH", tORDINAL, 8 }, { "NINTH", tORDINAL, 9 }, { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, { "AGO", tAGO, -1 }, { "HENCE", tAGO, 1 }, { NULL, 0, 0 } }; /* The universal time zone table. These labels can be used even for time stamps that would not otherwise be valid, e.g., GMT time stamps in London during summer. */ static table const universal_time_zone_table[] = { { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ { "UTC", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* The time zone table. This table is necessarily incomplete, as time zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on parse_datetime to handle arbitrary time zone abbreviations; use numeric abbreviations like "-0500" instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */ { "CET", tZONE, HOUR ( 1) }, /* Central European */ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */ { "MET", tZONE, HOUR ( 1) }, /* Middle European */ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */ { "GST", tZONE, HOUR (10) }, /* Guam Standard */ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */ { NULL, 0, 0 } }; /* Military time zone table. Note 'T' is a special case, as it is used as the separator in ISO 8601 date and time of day representation. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, { "B", tZONE, -HOUR ( 2) }, { "C", tZONE, -HOUR ( 3) }, { "D", tZONE, -HOUR ( 4) }, { "E", tZONE, -HOUR ( 5) }, { "F", tZONE, -HOUR ( 6) }, { "G", tZONE, -HOUR ( 7) }, { "H", tZONE, -HOUR ( 8) }, { "I", tZONE, -HOUR ( 9) }, { "K", tZONE, -HOUR (10) }, { "L", tZONE, -HOUR (11) }, { "M", tZONE, -HOUR (12) }, { "N", tZONE, HOUR ( 1) }, { "O", tZONE, HOUR ( 2) }, { "P", tZONE, HOUR ( 3) }, { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, { "T", 'T', 0 }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, { "X", tZONE, HOUR (11) }, { "Y", tZONE, HOUR (12) }, { "Z", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* Convert a time zone expressed as HH:MM into an integer count of minutes. If MM is negative, then S is of the form HHMM and needs to be picked apart; otherwise, S is of the form HH. As specified in http://www.opengroup.org/susv3xbd/xbd_chap08.html#tag_08_03, allow only valid TZ range, and consider first two digits as hours, if no minutes specified. */ static long int time_zone_hhmm (parser_control *pc, textint s, long int mm) { long int n_minutes; /* If the length of S is 1 or 2 and no minutes are specified, interpret it as a number of hours. */ if (s.digits <= 2 && mm < 0) s.value *= 100; if (mm < 0) n_minutes = (s.value / 100) * 60 + s.value % 100; else n_minutes = s.value * 60 + (s.negative ? -mm : mm); /* If the absolute number of minutes is larger than 24 hours, arrange to reject it by incrementing pc->zones_seen. Thus, we allow only values in the range UTC-24:00 to UTC+24:00. */ if (24 * 60 < abs (n_minutes)) pc->zones_seen++; return n_minutes; } static int to_hour (long int hours, int meridian) { switch (meridian) { default: /* Pacify GCC. */ case MER24: return 0 <= hours && hours < 24 ? hours : -1; case MERam: return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1; case MERpm: return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1; } } static long int to_year (textint textyear) { long int year = textyear.value; if (year < 0) year = -year; /* XPG4 suggests that years 00-68 map to 2000-2068, and years 69-99 map to 1969-1999. */ else if (textyear.digits == 2) year += year < 69 ? 2000 : 1900; return year; } static table const * _GL_ATTRIBUTE_PURE lookup_zone (parser_control const *pc, char const *name) { table const *tp; for (tp = universal_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; /* Try local zone abbreviations before those in time_zone_table, as the local ones are more likely to be right. */ for (tp = pc->local_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; for (tp = time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; return NULL; } #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. The body of this function is taken directly from the GNU C Library; see src/strftime.c. */ static long int tm_diff (struct tm const *a, struct tm const *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); long int ayear = a->tm_year; long int years = ayear - b->tm_year; long int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ static table const * lookup_word (parser_control const *pc, char *word) { char *p; char *q; size_t wordlen; table const *tp; bool period_found; bool abbrev; /* Make it uppercase. */ for (p = word; *p; p++) { unsigned char ch = *p; *p = c_toupper (ch); } for (tp = meridian_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* See if we have an abbreviation for a month. */ wordlen = strlen (word); abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.'); for (tp = month_and_day_table; tp->name; tp++) if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0) return tp; if ((tp = lookup_zone (pc, word))) return tp; if (strcmp (word, dst_table[0].name) == 0) return dst_table; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Strip off any plural and try the units table again. */ if (word[wordlen - 1] == 'S') { word[wordlen - 1] = '\0'; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */ } for (tp = relative_time_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Military time zones. */ if (wordlen == 1) for (tp = military_table; tp->name; tp++) if (word[0] == tp->name[0]) return tp; /* Drop out any periods and try the time zone table again. */ for (period_found = false, p = q = word; (*p = *q); q++) if (*q == '.') period_found = true; else p++; if (period_found && (tp = lookup_zone (pc, word))) return tp; return NULL; } static int yylex (YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; for (;;) { while (c = *pc->input, c_isspace (c)) pc->input++; if (ISDIGIT (c) || c == '-' || c == '+') { char const *p; int sign; unsigned long int value; if (c == '-' || c == '+') { sign = c == '-' ? -1 : 1; while (c = *++pc->input, c_isspace (c)) continue; if (! ISDIGIT (c)) /* skip the '-' sign */ continue; } else sign = 0; p = pc->input; for (value = 0; ; value *= 10) { unsigned long int value1 = value + (c - '0'); if (value1 < value) return '?'; value = value1; c = *++p; if (! ISDIGIT (c)) break; if (ULONG_MAX / 10 < value) return '?'; } if ((c == '.' || c == ',') && ISDIGIT (p[1])) { time_t s; int ns; int digits; unsigned long int value1; /* Check for overflow when converting value to time_t. */ if (sign < 0) { s = - value; if (0 < s) return '?'; value1 = -s; } else { s = value; if (s < 0) return '?'; value1 = s; } if (value != value1) return '?'; /* Accumulate fraction, to ns precision. */ p++; ns = *p++ - '0'; for (digits = 2; digits <= LOG10_BILLION; digits++) { ns *= 10; if (ISDIGIT (*p)) ns += *p++ - '0'; } /* Skip excess digits, truncating toward -Infinity. */ if (sign < 0) for (; ISDIGIT (*p); p++) if (*p != '0') { ns++; break; } while (ISDIGIT (*p)) p++; /* Adjust to the timespec convention, which is that tv_nsec is always a positive offset even if tv_sec is negative. */ if (sign < 0 && ns) { s--; if (! (s < 0)) return '?'; ns = BILLION - ns; } lvalp->timespec.tv_sec = s; lvalp->timespec.tv_nsec = ns; pc->input = p; return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER; } else { lvalp->textintval.negative = sign < 0; if (sign < 0) { lvalp->textintval.value = - value; if (0 < lvalp->textintval.value) return '?'; } else { lvalp->textintval.value = value; if (lvalp->textintval.value < 0) return '?'; } lvalp->textintval.digits = p - pc->input; pc->input = p; return sign ? tSNUMBER : tUNUMBER; } } if (c_isalpha (c)) { char buff[20]; char *p = buff; table const *tp; do { if (p - buff < sizeof buff - 1) *p++ = c; c = *++pc->input; } while (c_isalpha (c) || c == '.'); *p = '\0'; tp = lookup_word (pc, buff); if (! tp) return '?'; lvalp->intval = tp->value; return tp->type; } if (c != '(') return to_uchar (*pc->input++); count = 0; do { c = *pc->input++; if (c == '\0') return c; if (c == '(') count++; else if (c == ')') count--; } while (count != 0); } } /* Do nothing if the parser reports an error. */ static int yyerror (parser_control const *pc _GL_UNUSED, char const *s _GL_UNUSED) { return 0; } /* If *TM0 is the old and *TM1 is the new value of a struct tm after passing it to mktime, return true if it's OK that mktime returned T. It's not OK if *TM0 has out-of-range members. */ static bool mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t) { if (t == (time_t) -1) { /* Guard against falsely reporting an error when parsing a time stamp that happens to equal (time_t) -1, on a host that supports such a time stamp. */ tm1 = localtime (&t); if (!tm1) return false; } return ! ((tm0->tm_sec ^ tm1->tm_sec) | (tm0->tm_min ^ tm1->tm_min) | (tm0->tm_hour ^ tm1->tm_hour) | (tm0->tm_mday ^ tm1->tm_mday) | (tm0->tm_mon ^ tm1->tm_mon) | (tm0->tm_year ^ tm1->tm_year)); } /* A reasonable upper bound for the size of ordinary TZ strings. Use heap allocation if TZ's length exceeds this. */ enum { TZBUFSIZE = 100 }; /* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated otherwise. */ static char * get_tz (char tzbuf[TZBUFSIZE]) { char *tz = getenv ("TZ"); if (tz) { size_t tzsize = strlen (tz) + 1; tz = (tzsize <= TZBUFSIZE ? memcpy (tzbuf, tz, tzsize) : xmemdup (tz, tzsize)); } return tz; } /* Parse a date/time string, storing the resulting time value into *RESULT. The string itself is pointed to by P. Return true if successful. P can be an incomplete or relative time specification; if so, use *NOW as the basis for the returned time. */ bool parse_datetime (struct timespec *result, char const *p, struct timespec const *now) { time_t Start; long int Start_ns; struct tm const *tmp; struct tm tm; struct tm tm0; parser_control pc; struct timespec gettime_buffer; unsigned char c; bool tz_was_altered = false; char *tz0 = NULL; char tz0buf[TZBUFSIZE]; bool ok = true; if (! now) { gettime (&gettime_buffer); now = &gettime_buffer; } Start = now->tv_sec; Start_ns = now->tv_nsec; tmp = localtime (&now->tv_sec); if (! tmp) return false; while (c = *p, c_isspace (c)) p++; if (strncmp (p, "TZ=\"", 4) == 0) { char const *tzbase = p + 4; size_t tzsize = 1; char const *s; for (s = tzbase; *s; s++, tzsize++) if (*s == '\\') { s++; if (! (*s == '\\' || *s == '"')) break; } else if (*s == '"') { char *z; char *tz1; char tz1buf[TZBUFSIZE]; bool large_tz = TZBUFSIZE < tzsize; bool setenv_ok; /* Free tz0, in case this is the 2nd or subsequent time through. */ free (tz0); tz0 = get_tz (tz0buf); z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf; for (s = tzbase; *s != '"'; s++) *z++ = *(s += *s == '\\'); *z = '\0'; setenv_ok = setenv ("TZ", tz1, 1) == 0; if (large_tz) free (tz1); if (!setenv_ok) goto fail; tz_was_altered = true; p = s + 1; } } /* As documented, be careful to treat the empty string just like a date string of "0". Without this, an empty string would be declared invalid when parsed during a DST transition. */ if (*p == '\0') p = "0"; pc.input = p; pc.year.value = tmp->tm_year; pc.year.value += TM_YEAR_BASE; pc.year.digits = 0; pc.month = tmp->tm_mon + 1; pc.day = tmp->tm_mday; pc.hour = tmp->tm_hour; pc.minutes = tmp->tm_min; pc.seconds.tv_sec = tmp->tm_sec; pc.seconds.tv_nsec = Start_ns; tm.tm_isdst = tmp->tm_isdst; pc.meridian = MER24; pc.rel = RELATIVE_TIME_0; pc.timespec_seen = false; pc.rels_seen = false; pc.dates_seen = 0; pc.days_seen = 0; pc.times_seen = 0; pc.local_zones_seen = 0; pc.dsts_seen = 0; pc.zones_seen = 0; #if HAVE_STRUCT_TM_TM_ZONE pc.local_time_zone_table[0].name = tmp->tm_zone; pc.local_time_zone_table[0].type = tLOCAL_ZONE; pc.local_time_zone_table[0].value = tmp->tm_isdst; pc.local_time_zone_table[1].name = NULL; /* Probe the names used in the next three calendar quarters, looking for a tm_isdst different from the one we already have. */ { int quarter; for (quarter = 1; quarter <= 3; quarter++) { time_t probe = Start + quarter * (90 * 24 * 60 * 60); struct tm const *probe_tm = localtime (&probe); if (probe_tm && probe_tm->tm_zone && probe_tm->tm_isdst != pc.local_time_zone_table[0].value) { { pc.local_time_zone_table[1].name = probe_tm->tm_zone; pc.local_time_zone_table[1].type = tLOCAL_ZONE; pc.local_time_zone_table[1].value = probe_tm->tm_isdst; pc.local_time_zone_table[2].name = NULL; } break; } } } #else #if HAVE_TZNAME { # if !HAVE_DECL_TZNAME extern char *tzname[]; # endif int i; for (i = 0; i < 2; i++) { pc.local_time_zone_table[i].name = tzname[i]; pc.local_time_zone_table[i].type = tLOCAL_ZONE; pc.local_time_zone_table[i].value = i; } pc.local_time_zone_table[i].name = NULL; } #else pc.local_time_zone_table[0].name = NULL; #endif #endif if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { /* This locale uses the same abbreviation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; pc.local_time_zone_table[1].name = NULL; } if (yyparse (&pc) != 0) goto fail; if (pc.timespec_seen) *result = pc.seconds; else { if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen | (pc.local_zones_seen + pc.zones_seen))) goto fail; tm.tm_year = to_year (pc.year) - TM_YEAR_BASE; tm.tm_mon = pc.month - 1; tm.tm_mday = pc.day; if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen)) { tm.tm_hour = to_hour (pc.hour, pc.meridian); if (tm.tm_hour < 0) goto fail; tm.tm_min = pc.minutes; tm.tm_sec = pc.seconds.tv_sec; } else { tm.tm_hour = tm.tm_min = tm.tm_sec = 0; pc.seconds.tv_nsec = 0; } /* Let mktime deduce tm_isdst if we have an absolute time stamp. */ if (pc.dates_seen | pc.days_seen | pc.times_seen) tm.tm_isdst = -1; /* But if the input explicitly specifies local time with or without DST, give mktime that information. */ if (pc.local_zones_seen) tm.tm_isdst = pc.local_isdst; tm0 = tm; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) { if (! pc.zones_seen) goto fail; else { /* Guard against falsely reporting errors near the time_t boundaries when parsing times in other time zones. For example, suppose the input string "1969-12-31 23:00:00 -0100", the current time zone is 8 hours ahead of UTC, and the min time_t value is 1970-01-01 00:00:00 UTC. Then the min localtime value is 1970-01-01 08:00:00, and mktime will therefore fail on 1969-12-31 23:00:00. To work around the problem, set the time zone to 1 hour behind UTC temporarily by setting TZ="XXX1:00" and try mktime again. */ long int time_zone = pc.time_zone; long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone; long int abs_time_zone_hour = abs_time_zone / 60; int abs_time_zone_min = abs_time_zone % 60; char tz1buf[sizeof "XXX+0:00" + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; tz_was_altered = true; tm = tm0; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) goto fail; } } if (pc.days_seen && ! pc.dates_seen) { tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 + 7 * (pc.day_ordinal - (0 < pc.day_ordinal && tm.tm_wday != pc.day_number))); tm.tm_isdst = -1; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* Add relative date. */ if (pc.rel.year | pc.rel.month | pc.rel.day) { int year = tm.tm_year + pc.rel.year; int month = tm.tm_mon + pc.rel.month; int day = tm.tm_mday + pc.rel.day; if (((year < tm.tm_year) ^ (pc.rel.year < 0)) | ((month < tm.tm_mon) ^ (pc.rel.month < 0)) | ((day < tm.tm_mday) ^ (pc.rel.day < 0))) goto fail; tm.tm_year = year; tm.tm_mon = month; tm.tm_mday = day; tm.tm_hour = tm0.tm_hour; tm.tm_min = tm0.tm_min; tm.tm_sec = tm0.tm_sec; tm.tm_isdst = tm0.tm_isdst; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* The only "output" of this if-block is an updated Start value, so this block must follow others that clobber Start. */ if (pc.zones_seen) { long int delta = pc.time_zone * 60; time_t t1; #ifdef HAVE_TM_GMTOFF delta -= tm.tm_gmtoff; #else time_t t = Start; struct tm const *gmt = gmtime (&t); if (! gmt) goto fail; delta -= tm_diff (&tm, gmt); #endif t1 = Start - delta; if ((Start < t1) != (delta < 0)) goto fail; /* time_t overflow */ Start = t1; } /* Add relative hours, minutes, and seconds. On hosts that support leap seconds, ignore the possibility of leap seconds; e.g., "+ 10 minutes" adds 600 seconds, even if one of them is a leap second. Typically this is not what the user wants, but it's too hard to do it the other way, because the time zone indicator must be applied before relative times, and if mktime is applied again the time zone will be lost. */ { long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns; long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION; time_t t0 = Start; long int d1 = 60 * 60 * pc.rel.hour; time_t t1 = t0 + d1; long int d2 = 60 * pc.rel.minutes; time_t t2 = t1 + d2; long_time_t d3 = pc.rel.seconds; long_time_t t3 = t2 + d3; long int d4 = (sum_ns - normalized_ns) / BILLION; long_time_t t4 = t3 + d4; time_t t5 = t4; if ((d1 / (60 * 60) ^ pc.rel.hour) | (d2 / 60 ^ pc.rel.minutes) | ((t1 < t0) ^ (d1 < 0)) | ((t2 < t1) ^ (d2 < 0)) | ((t3 < t2) ^ (d3 < 0)) | ((t4 < t3) ^ (d4 < 0)) | (t5 != t4)) goto fail; result->tv_sec = t5; result->tv_nsec = normalized_ns; } } goto done; fail: ok = false; done: if (tz_was_altered) ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0; if (tz0 != tz0buf) free (tz0); return ok; } #if TEST int main (int ac, char **av) { char buff[BUFSIZ]; printf ("Enter date, or blank line to exit.\n\t> "); fflush (stdout); buff[BUFSIZ - 1] = '\0'; while (fgets (buff, BUFSIZ - 1, stdin) && buff[0]) { struct timespec d; struct tm const *tm; if (! parse_datetime (&d, buff, NULL)) printf ("Bad format - couldn't convert.\n"); else if (! (tm = localtime (&d.tv_sec))) { long int sec = d.tv_sec; printf ("localtime (%ld) failed\n", sec); } else { int ns = d.tv_nsec; printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n", tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, ns); } printf ("\t> "); fflush (stdout); } return 0; } #endif /* TEST */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������